ZGlmZiAtLWdpdCBhLy5jbGFuZy1mb3JtYXQgYi8uY2xhbmctZm9ybWF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMWFiNDcKLS0tIC9kZXYvbnVsbAorKysgYi8uY2xhbmctZm9ybWF0CkBAIC0wLDAgKzEsMTY5IEBACisjIFRoaXMgZmlsZSBpcyBhbiBleGFtcGxlIGNvbmZpZ3VyYXRpb24gZm9yIGNsYW5nLWZvcm1hdCA1LjAuCisjCisjIE5vdGUgdGhhdCB0aGlzIHN0eWxlIGRlZmluaXRpb24gc2hvdWxkIG9ubHkgYmUgdW5kZXJzdG9vZCBhcyBhIGhpbnQKKyMgZm9yIHdyaXRpbmcgbmV3IGNvZGUuIFRoZSBydWxlcyBhcmUgc3RpbGwgd29yay1pbi1wcm9ncmVzcyBhbmQgZG9lcworIyBub3QgeWV0IGV4YWN0bHkgbWF0Y2ggdGhlIHN0eWxlIHdlIGhhdmUgaW4gdGhlIGV4aXN0aW5nIGNvZGUuCisKKyMgVXNlIHRhYnMgd2hlbmV2ZXIgd2UgbmVlZCB0byBmaWxsIHdoaXRlc3BhY2UgdGhhdCBzcGFucyBhdCBsZWFzdCBmcm9tIG9uZSB0YWIKKyMgc3RvcCB0byB0aGUgbmV4dCBvbmUuCitVc2VUYWI6IEFsd2F5cworVGFiV2lkdGg6IDgKK0luZGVudFdpZHRoOiA4CitDb250aW51YXRpb25JbmRlbnRXaWR0aDogOAorQ29sdW1uTGltaXQ6IDgwCisKKyMgQyBMYW5ndWFnZSBzcGVjaWZpY3MKK0xhbmd1YWdlOiBDcHAKKworIyBBbGlnbiBwYXJhbWV0ZXJzIG9uIHRoZSBvcGVuIGJyYWNrZXQKKyMgc29tZUxvbmdGdW5jdGlvbihhcmd1bWVudDEsCisjICAgICAgICAgICAgICAgICAgYXJndW1lbnQyKTsKK0FsaWduQWZ0ZXJPcGVuQnJhY2tldDogQWxpZ24KKworIyBEb24ndCBhbGlnbiBjb25zZWN1dGl2ZSBhc3NpZ25tZW50cworIyBpbnQgYWFhYSA9IDEyOworIyBpbnQgYiA9IDE0OworQWxpZ25Db25zZWN1dGl2ZUFzc2lnbm1lbnRzOiBmYWxzZQorCisjIERvbid0IGFsaWduIGNvbnNlY3V0aXZlIGRlY2xhcmF0aW9ucworIyBpbnQgYWFhYSA9IDEyOworIyBkb3VibGUgYiA9IDMuMTQ7CitBbGlnbkNvbnNlY3V0aXZlRGVjbGFyYXRpb25zOiBmYWxzZQorCisjIEFsaWduIGVzY2FwZWQgbmV3bGluZXMgYXMgZmFyIGxlZnQgYXMgcG9zc2libGUKKyMgI2RlZmluZSBBICAgXAorIyAgIGludCBhYWFhOyBcCisjICAgaW50IGI7ICAgIFwKKyMgICBpbnQgY2NjY2NjY2M7CitBbGlnbkVzY2FwZWROZXdsaW5lczogTGVmdAorCisjIEFsaWduIG9wZXJhbmRzIG9mIGJpbmFyeSBhbmQgdGVybmFyeSBleHByZXNzaW9ucworIyBpbnQgYWFhID0gYmJiYmJiYmJiYmIgKworIyAgICAgICAgICAgY2NjY2NjOworQWxpZ25PcGVyYW5kczogdHJ1ZQorCisjIERvbid0IGFsaWduIHRyYWlsaW5nIGNvbW1lbnRzCisjIGludCBhOyAvLyBDb21tZW50IGEKKyMgaW50IGIgPSAyOyAvLyBDb21tZW50IGIKK0FsaWduVHJhaWxpbmdDb21tZW50czogZmFsc2UKKworIyBCeSBkZWZhdWx0IGRvbid0IGFsbG93IHB1dHRpbmcgcGFyYW1ldGVycyBvbnRvIHRoZSBuZXh0IGxpbmUKKyMgbXlGdW5jdGlvbihmb28sIGJhciwgYmF6KTsKK0FsbG93QWxsUGFyYW1ldGVyc09mRGVjbGFyYXRpb25Pbk5leHRMaW5lOiBmYWxzZQorCisjIERvbid0IGFsbG93IHNob3J0IGJyYWNlZCBzdGF0ZW1lbnRzIHRvIGJlIG9uIGEgc2luZ2xlIGxpbmUKKyMgaWYgKGEpICAgICAgICAgICBub3QgICAgICAgaWYgKGEpIHJldHVybjsKKyMgICByZXR1cm47CitBbGxvd1Nob3J0QmxvY2tzT25BU2luZ2xlTGluZTogZmFsc2UKK0FsbG93U2hvcnRDYXNlTGFiZWxzT25BU2luZ2xlTGluZTogZmFsc2UKK0FsbG93U2hvcnRGdW5jdGlvbnNPbkFTaW5nbGVMaW5lOiBmYWxzZQorQWxsb3dTaG9ydElmU3RhdGVtZW50c09uQVNpbmdsZUxpbmU6IGZhbHNlCitBbGxvd1Nob3J0TG9vcHNPbkFTaW5nbGVMaW5lOiBmYWxzZQorCisjIEJ5IGRlZmF1bHQgZG9uJ3QgYWRkIGEgbGluZSBicmVhayBhZnRlciB0aGUgcmV0dXJuIHR5cGUgb2YgdG9wLWxldmVsIGZ1bmN0aW9ucworIyBpbnQgZm9vKCk7CitBbHdheXNCcmVha0FmdGVyUmV0dXJuVHlwZTogTm9uZQorCisjIFBhY2sgYXMgbWFueSBwYXJhbWV0ZXJzIG9yIGFyZ3VtZW50cyBvbnRvIHRoZSBzYW1lIGxpbmUgYXMgcG9zc2libGUKKyMgaW50IG15RnVuY3Rpb24oaW50IGFhYWFhYWFhYWFhYSwgaW50IGJiYmJiYmJiLAorIyAgICAgICAgICAgICAgICBpbnQgY2NjYyk7CitCaW5QYWNrQXJndW1lbnRzOiB0cnVlCitCaW5QYWNrUGFyYW1ldGVyczogdHJ1ZQorCisjIEF0dGFjaCBicmFjZXMgdG8gc3Vycm91bmRpbmcgY29udGV4dCBleGNlcHQgYnJlYWsgYmVmb3JlIGJyYWNlcyBvbiBmdW5jdGlvbgorIyBkZWZpbml0aW9ucy4KKyMgdm9pZCBmb28oKQorIyB7CisjICAgIGlmICh0cnVlKSB7CisjICAgIH0gZWxzZSB7CisjICAgIH0KKyMgfTsKK0JyZWFrQmVmb3JlQnJhY2VzOiBMaW51eAorCisjIEJyZWFrIGFmdGVyIG9wZXJhdG9ycworIyBpbnQgdmFsdXZlID0gYWFhYWFhYWFhYWFhYSArCisjICAgICAgICAgICAgICBiYmJiYmIgLQorIyAgICAgICAgICAgICAgY2NjY2NjY2NjY2M7CitCcmVha0JlZm9yZUJpbmFyeU9wZXJhdG9yczogTm9uZQorQnJlYWtCZWZvcmVUZXJuYXJ5T3BlcmF0b3JzOiBmYWxzZQorCisjIERvbid0IGJyZWFrIHN0cmluZyBsaXRlcmFscworQnJlYWtTdHJpbmdMaXRlcmFsczogZmFsc2UKKworIyBVc2UgdGhlIHNhbWUgaW5kZW50YXRpb24gbGV2ZWwgYXMgZm9yIHRoZSBzd2l0Y2ggc3RhdGVtZW50LgorIyBTd2l0Y2ggc3RhdGVtZW50IGJvZHkgaXMgYWx3YXlzIGluZGVudGVkIG9uZSBsZXZlbCBtb3JlIHRoYW4gY2FzZSBsYWJlbHMuCitJbmRlbnRDYXNlTGFiZWxzOiBmYWxzZQorCisjIERvbid0IGluZGVudCBhIGZ1bmN0aW9uIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gaWYgaXQgaXMgd3JhcHBlZCBhZnRlciB0aGUKKyMgdHlwZQorSW5kZW50V3JhcHBlZEZ1bmN0aW9uTmFtZXM6IGZhbHNlCisKKyMgQWxpZ24gcG9pbnRlciB0byB0aGUgcmlnaHQKKyMgaW50ICphOworUG9pbnRlckFsaWdubWVudDogUmlnaHQKKworIyBEb24ndCBpbnNlcnQgYSBzcGFjZSBhZnRlciBhIGNhc3QKKyMgeCA9IChpbnQzMil5OyAgICBub3QgICAgeCA9IChpbnQzMikgeTsKK1NwYWNlQWZ0ZXJDU3R5bGVDYXN0OiBmYWxzZQorCisjIEluc2VydCBzcGFjZXMgYmVmb3JlIGFuZCBhZnRlciBhc3NpZ25tZW50IG9wZXJhdG9ycworIyBpbnQgYSA9IDU7ICAgIG5vdCAgICBpbnQgYT01OworIyBhICs9IDQyOyAgICAgICAgICAgICBhKz00MjsKK1NwYWNlQmVmb3JlQXNzaWdubWVudE9wZXJhdG9yczogdHJ1ZQorCisjIFB1dCBhIHNwYWNlIGJlZm9yZSBvcGVuaW5nIHBhcmVudGhlc2VzIG9ubHkgYWZ0ZXIgY29udHJvbCBzdGF0ZW1lbnQga2V5d29yZHMuCisjIHZvaWQgZigpIHsKKyMgICBpZiAodHJ1ZSkgeworIyAgICAgZigpOworIyAgIH0KKyMgfQorU3BhY2VCZWZvcmVQYXJlbnM6IENvbnRyb2xTdGF0ZW1lbnRzCisKKyMgRG9uJ3QgaW5zZXJ0IHNwYWNlcyBpbnNpZGUgZW1wdHkgJygpJworU3BhY2VJbkVtcHR5UGFyZW50aGVzZXM6IGZhbHNlCisKKyMgVGhlIG51bWJlciBvZiBzcGFjZXMgYmVmb3JlIHRyYWlsaW5nIGxpbmUgY29tbWVudHMgKC8vIC0gY29tbWVudHMpLgorIyBUaGlzIGRvZXMgbm90IGFmZmVjdCB0cmFpbGluZyBibG9jayBjb21tZW50cyAoLyogLSBjb21tZW50cykuCitTcGFjZXNCZWZvcmVUcmFpbGluZ0NvbW1lbnRzOiAxCisKKyMgRG9uJ3QgaW5zZXJ0IHNwYWNlcyBpbiBjYXN0cworIyB4ID0gKGludDMyKSB5OyAgICBub3QgICAgeCA9ICggaW50MzIgKSB5OworU3BhY2VzSW5DU3R5bGVDYXN0UGFyZW50aGVzZXM6IGZhbHNlCisKKyMgRG9uJ3QgaW5zZXJ0IHNwYWNlcyBpbnNpZGUgY29udGFpbmVyIGxpdGVyYWxzCisjIHZhciBhcnIgPSBbMSwgMiwgM107ICAgIG5vdCAgICB2YXIgYXJyID0gWyAxLCAyLCAzIF07CitTcGFjZXNJbkNvbnRhaW5lckxpdGVyYWxzOiBmYWxzZQorCisjIERvbid0IGluc2VydCBzcGFjZXMgYWZ0ZXIgJygnIG9yIGJlZm9yZSAnKScKKyMgZihhcmcpOyAgICBub3QgICAgZiggYXJnICk7CitTcGFjZXNJblBhcmVudGhlc2VzOiBmYWxzZQorCisjIERvbid0IGluc2VydCBzcGFjZXMgYWZ0ZXIgJ1snIG9yIGJlZm9yZSAnXScKKyMgaW50IGFbNV07ICAgIG5vdCAgICBpbnQgYVsgNSBdOworU3BhY2VzSW5TcXVhcmVCcmFja2V0czogZmFsc2UKKworIyBJbnNlcnQgYSBzcGFjZSBhZnRlciAneycgYW5kIGJlZm9yZSAnfScgaW4gc3RydWN0IGluaXRpYWxpemVycworQ3BwMTFCcmFjZWRMaXN0U3R5bGU6IGZhbHNlCisKKyMgQSBsaXN0IG9mIG1hY3JvcyB0aGF0IHNob3VsZCBiZSBpbnRlcnByZXRlZCBhcyBmb3JlYWNoIGxvb3BzIGluc3RlYWQgb2YgYXMKKyMgZnVuY3Rpb24gY2FsbHMuCitGb3JFYWNoTWFjcm9zOiBbJ2Zvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0nXQorCisjIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25zZWN1dGl2ZSBlbXB0eSBsaW5lcyB0byBrZWVwLgorTWF4RW1wdHlMaW5lc1RvS2VlcDogMQorCisjIE5vIGVtcHR5IGxpbmUgYXQgdGhlIHN0YXJ0IG9mIGEgYmxvY2suCitLZWVwRW1wdHlMaW5lc0F0VGhlU3RhcnRPZkJsb2NrczogZmFsc2UKKworIyBQZW5hbHRpZXMKKyMgVGhpcyBkZWNpZGVzIHdoYXQgb3JkZXIgdGhpbmdzIHNob3VsZCBiZSBkb25lIGlmIGEgbGluZSBpcyB0b28gbG9uZworUGVuYWx0eUJyZWFrQXNzaWdubWVudDogMTAKK1BlbmFsdHlCcmVha0JlZm9yZUZpcnN0Q2FsbFBhcmFtZXRlcjogMzAKK1BlbmFsdHlCcmVha0NvbW1lbnQ6IDEwCitQZW5hbHR5QnJlYWtGaXJzdExlc3NMZXNzOiAwCitQZW5hbHR5QnJlYWtTdHJpbmc6IDEwCitQZW5hbHR5RXhjZXNzQ2hhcmFjdGVyOiAxMDAKK1BlbmFsdHlSZXR1cm5UeXBlT25JdHNPd25MaW5lOiA1CisKKyMgRG9uJ3Qgc29ydCAjaW5jbHVkZSdzCitTb3J0SW5jbHVkZXM6IGZhbHNlCmRpZmYgLS1naXQgYS8uZ2l0YXR0cmlidXRlcyBiLy5naXRhdHRyaWJ1dGVzCmluZGV4IDMyMGUzM2MuLjhjZTljNmIgMTAwNjQ0Ci0tLSBhLy5naXRhdHRyaWJ1dGVzCisrKyBiLy5naXRhdHRyaWJ1dGVzCkBAIC0xLDMgKzEsOSBAQAogKiB3aGl0ZXNwYWNlPSFpbmRlbnQsdHJhaWwsc3BhY2UKICouW2NoXSB3aGl0ZXNwYWNlPWluZGVudCx0cmFpbCxzcGFjZSBkaWZmPWNwcAotKi5zaCB3aGl0ZXNwYWNlPWluZGVudCx0cmFpbCxzcGFjZQorKi5zaCB3aGl0ZXNwYWNlPWluZGVudCx0cmFpbCxzcGFjZSBlb2w9bGYKKyoucGVybCBlb2w9bGYKKyoucG0gZW9sPWxmCisvRG9jdW1lbnRhdGlvbi9naXQtKi50eHQgZW9sPWxmCisvY29tbWFuZC1saXN0LnR4dCBlb2w9bGYKKy9HSVQtVkVSU0lPTi1HRU4gZW9sPWxmCisvbWVyZ2V0b29scy8qIGVvbD1sZgpkaWZmIC0tZ2l0IGEvLmdpdGh1Yi9DT05UUklCVVRJTkcubWQgYi8uZ2l0aHViL0NPTlRSSUJVVElORy5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGU2MDVhCi0tLSAvZGV2L251bGwKKysrIGIvLmdpdGh1Yi9DT05UUklCVVRJTkcubWQKQEAgLTAsMCArMSwxOSBAQAorIyMgQ29udHJpYnV0aW5nIHRvIEdpdAorCitUaGFua3MgZm9yIHRha2luZyB0aGUgdGltZSB0byBjb250cmlidXRlIHRvIEdpdCEgUGxlYXNlIGJlIGFkdmlzZWQgdGhhdCB0aGUKK0dpdCBjb21tdW5pdHkgZG9lcyBub3QgdXNlIGdpdGh1Yi5jb20gZm9yIHRoZWlyIGNvbnRyaWJ1dGlvbnMuIEluc3RlYWQsIHdlIHVzZQorYSBtYWlsaW5nIGxpc3QgKGdpdEB2Z2VyLmtlcm5lbC5vcmcpIGZvciBjb2RlIHN1Ym1pc3Npb25zLCBjb2RlCityZXZpZXdzLCBhbmQgYnVnIHJlcG9ydHMuCisKK05ldmVydGhlbGVzcywgeW91IGNhbiB1c2UgW3N1Ym1pdEdpdF0oaHR0cDovL3N1Ym1pdGdpdC5oZXJva3VhcHAuY29tLykgdG8KK2NvbnZlbmllbnRseSBzZW5kIHlvdXIgUHVsbCBSZXF1ZXN0cyBjb21taXRzIHRvIG91ciBtYWlsaW5nIGxpc3QuCisKK1BsZWFzZSByZWFkIFsiQSBub3RlIGZyb20gdGhlIG1haW50YWluZXIiXShodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vZ2l0L2dpdC5naXQvcGxhaW4vTWFpbnROb3Rlcz9oPXRvZG8pCit0byBsZWFybiBob3cgdGhlIEdpdCBwcm9qZWN0IGlzIG1hbmFnZWQsIGFuZCBob3cgeW91IGNhbiB3b3JrIHdpdGggaXQuCitJbiBhZGRpdGlvbiwgd2UgaGlnaGx5IHJlY29tbWVuZCB5b3UgdG8gcmVhZCBbb3VyIHN1Ym1pc3Npb24gZ3VpZGVsaW5lc10oLi4vRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcykuCisKK0lmIHlvdSBwcmVmZXIgdmlkZW8sIHRoZW4gW3RoaXMgdGFsa10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1RN2lfcVFXX19xNCZmZWF0dXJlPXlvdXR1LmJlJnQ9Nm00cykKK21pZ2h0IGJlIHVzZWZ1bCB0byB5b3UgYXMgdGhlIHByZXNlbnRlciB3YWxrcyB5b3UgdGhyb3VnaCB0aGUgY29udHJpYnV0aW9uCitwcm9jZXNzIGJ5IGV4YW1wbGUuCisKK1lvdXIgZnJpZW5kbHkgR2l0IGNvbW11bml0eSEKZGlmZiAtLWdpdCBhLy5naXRodWIvUFVMTF9SRVFVRVNUX1RFTVBMQVRFLm1kIGIvLmdpdGh1Yi9QVUxMX1JFUVVFU1RfVEVNUExBVEUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRiYTEzZQotLS0gL2Rldi9udWxsCisrKyBiLy5naXRodWIvUFVMTF9SRVFVRVNUX1RFTVBMQVRFLm1kCkBAIC0wLDAgKzEsNyBAQAorVGhhbmtzIGZvciB0YWtpbmcgdGhlIHRpbWUgdG8gY29udHJpYnV0ZSB0byBHaXQhIFBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgdGhlCitHaXQgY29tbXVuaXR5IGRvZXMgbm90IHVzZSBnaXRodWIuY29tIGZvciB0aGVpciBjb250cmlidXRpb25zLiBJbnN0ZWFkLCB3ZSB1c2UKK2EgbWFpbGluZyBsaXN0IChnaXRAdmdlci5rZXJuZWwub3JnKSBmb3IgY29kZSBzdWJtaXNzaW9ucywgY29kZSByZXZpZXdzLCBhbmQKK2J1ZyByZXBvcnRzLiBOZXZlcnRoZWxlc3MsIHlvdSBjYW4gdXNlIHN1Ym1pdEdpdCB0byBjb252ZW5pZW50bHkgc2VuZCB5b3VyIFB1bGwKK1JlcXVlc3RzIGNvbW1pdHMgdG8gb3VyIG1haWxpbmcgbGlzdC4KKworUGxlYXNlIHJlYWQgdGhlICJndWlkZWxpbmVzIGZvciBjb250cmlidXRpbmciIGxpbmtlZCBhYm92ZSEKZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGIxMDIwYjguLjgzM2VmM2IgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMTE0LDYgKzExNCw3IEBACiAvZ2l0LXJlYWQtdHJlZQogL2dpdC1yZWJhc2UKIC9naXQtcmViYXNlLS1hbQorL2dpdC1yZWJhc2UtLWhlbHBlcgogL2dpdC1yZWJhc2UtLWludGVyYWN0aXZlCiAvZ2l0LXJlYmFzZS0tbWVyZ2UKIC9naXQtcmVjZWl2ZS1wYWNrCmRpZmYgLS1naXQgYS8uZ2l0bW9kdWxlcyBiLy5naXRtb2R1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiZWViZGEKLS0tIC9kZXYvbnVsbAorKysgYi8uZ2l0bW9kdWxlcwpAQCAtMCwwICsxLDQgQEAKK1tzdWJtb2R1bGUgInNoYTFjb2xsaXNpb25kZXRlY3Rpb24iXQorCXBhdGggPSBzaGExY29sbGlzaW9uZGV0ZWN0aW9uCisJdXJsID0gaHR0cHM6Ly9naXRodWIuY29tL2NyLW1hcmNzdGV2ZW5zL3NoYTFjb2xsaXNpb25kZXRlY3Rpb24uZ2l0CisJYnJhbmNoID0gbWFzdGVyCmRpZmYgLS1naXQgYS8ubWFpbG1hcCBiLy5tYWlsbWFwCmluZGV4IGM0NGNmNjcuLmFiODVlMGQgMTAwNjQ0Ci0tLSBhLy5tYWlsbWFwCisrKyBiLy5tYWlsbWFwCkBAIC0xNzgsNiArMTc4LDcgQEAKIFBhc2NhbCBPYnJ5IDxwYXNjYWxAb2JyeS5uZXQ+IDxwYXNjYWwub2JyeUBnbWFpbC5jb20+CiBQYXNjYWwgT2JyeSA8cGFzY2FsQG9icnkubmV0PiA8cGFzY2FsLm9icnlAd2FuYWRvby5mcj4KIFBhdCBOb3R6IDxwYXRub3R6QGdtYWlsLmNvbT4gPHBrbm90ekBzYW5kaWEuZ292PgorUGF0cmljayBTdGVpbmhhcmR0IDxwc0Bwa3MuaW0+IDxwYXRyaWNrLnN0ZWluaGFyZHRAZWxlZ28uZGU+CiBQYXVsIE1hY2tlcnJhcyA8cGF1bHVzQHNhbWJhLm9yZz4gPHBhdWx1c0Bkb3JyaWdvLihub25lKT4KIFBhdWwgTWFja2VycmFzIDxwYXVsdXNAc2FtYmEub3JnPiA8cGF1bHVzQHBvZ28uKG5vbmUpPgogUGV0ZXIgQmF1bWFubiA8d2FzdGUubWFuYWdlckBnbXguZGU+IDxQZXRlci5CLkJhdW1hbm5Ac3R1ZC5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55bWwKaW5kZXggNTkxY2M1Ny4uZmVhZDk5NSAxMDA2NDQKLS0tIGEvLnRyYXZpcy55bWwKKysrIGIvLnRyYXZpcy55bWwKQEAgLTM5LDMwICszOSw0NCBAQAogCiBtYXRyaXg6CiAgIGluY2x1ZGU6Ci0gICAgLSBlbnY6IExpbnV4MzIKKyAgICAtIGVudjogR0VUVEVYVF9QT0lTT049WWVzUGxlYXNlCiAgICAgICBvczogbGludXgKLSAgICAgIHNlcnZpY2VzOgotICAgICAgICAtIGRvY2tlcgorICAgICAgY29tcGlsZXI6CisgICAgICBhZGRvbnM6CiAgICAgICBiZWZvcmVfaW5zdGFsbDoKLSAgICAgICAgLSBkb2NrZXIgcHVsbCBkYWFsZC91YnVudHUzMjp4ZW5pYWwKKyAgICAtIGVudjogV2luZG93cworICAgICAgb3M6IGxpbnV4CisgICAgICBjb21waWxlcjoKKyAgICAgIGFkZG9uczoKKyAgICAgIGJlZm9yZV9pbnN0YWxsOgogICAgICAgYmVmb3JlX3NjcmlwdDoKICAgICAgIHNjcmlwdDoKICAgICAgICAgLSA+Ci0gICAgICAgICAgZG9ja2VyIHJ1bgotICAgICAgICAgIC0taW50ZXJhY3RpdmUKLSAgICAgICAgICAtLWVudiBERUZBVUxUX1RFU1RfVEFSR0VUCi0gICAgICAgICAgLS1lbnYgR0lUX1BST1ZFX09QVFMKLSAgICAgICAgICAtLWVudiBHSVRfVEVTVF9PUFRTCi0gICAgICAgICAgLS1lbnYgR0lUX1RFU1RfQ0xPTkVfMkdCCi0gICAgICAgICAgLS12b2x1bWUgIiR7UFdEfTovdXNyL3NyYy9naXQiCi0gICAgICAgICAgZGFhbGQvdWJ1bnR1MzI6eGVuaWFsCi0gICAgICAgICAgL3Vzci9zcmMvZ2l0L2NpL3J1bi1saW51eDMyLWJ1aWxkLnNoICQoaWQgLXUgJFVTRVIpCi0gICAgICAgICMgVXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZCB0byBkZWJ1ZyB0aGUgZG9ja2VyIGJ1aWxkIGxvY2FsbHk6Ci0gICAgICAgICMgJCBkb2NrZXIgcnVuIC1pdHYgIiR7UFdEfTovdXNyL3NyYy9naXQiIC0tZW50cnlwb2ludCAvYmluL2Jhc2ggZGFhbGQvdWJ1bnR1MzI6eGVuaWFsCi0gICAgICAgICMgcm9vdEBjb250YWluZXI6LyMgL3Vzci9zcmMvZ2l0L2NpL3J1bi1saW51eDMyLWJ1aWxkLnNoCisgICAgICAgICAgdGVzdCAiJFRSQVZJU19SRVBPX1NMVUciICE9ICJnaXQvZ2l0IiB8fAorICAgICAgICAgIGNpL3J1bi13aW5kb3dzLWJ1aWxkLnNoICRUUkFWSVNfQlJBTkNIICQoZ2l0IHJldi1wYXJzZSBIRUFEKQorICAgICAgYWZ0ZXJfZmFpbHVyZToKKyAgICAtIGVudjogTGludXgzMgorICAgICAgb3M6IGxpbnV4CisgICAgICBjb21waWxlcjoKKyAgICAgIHNlcnZpY2VzOgorICAgICAgICAtIGRvY2tlcgorICAgICAgYmVmb3JlX2luc3RhbGw6CisgICAgICBiZWZvcmVfc2NyaXB0OgorICAgICAgc2NyaXB0OiBjaS9ydW4tbGludXgzMi1kb2NrZXIuc2gKKyAgICAtIGVudjogU3RhdGljIEFuYWx5c2lzCisgICAgICBvczogbGludXgKKyAgICAgIGNvbXBpbGVyOgorICAgICAgYWRkb25zOgorICAgICAgICBhcHQ6CisgICAgICAgICAgcGFja2FnZXM6CisgICAgICAgICAgLSBjb2NjaW5lbGxlCisgICAgICBiZWZvcmVfaW5zdGFsbDoKKyAgICAgICMgImJlZm9yZV9zY3JpcHQiIHRoYXQgYnVpbGRzIEdpdCBpcyBpbmhlcml0ZWQgZnJvbSBiYXNlIGpvYgorICAgICAgc2NyaXB0OiBjaS9ydW4tc3RhdGljLWFuYWx5c2lzLnNoCisgICAgICBhZnRlcl9mYWlsdXJlOgogICAgIC0gZW52OiBEb2N1bWVudGF0aW9uCiAgICAgICBvczogbGludXgKLSAgICAgIGNvbXBpbGVyOiBjbGFuZworICAgICAgY29tcGlsZXI6CiAgICAgICBhZGRvbnM6CiAgICAgICAgIGFwdDoKICAgICAgICAgICBwYWNrYWdlczoKQEAgLTczLDY0ICs4NywxMCBAQAogICAgICAgc2NyaXB0OiBjaS90ZXN0LWRvY3VtZW50YXRpb24uc2gKICAgICAgIGFmdGVyX2ZhaWx1cmU6CiAKLWJlZm9yZV9pbnN0YWxsOgotICAtID4KLSAgICBjYXNlICIke1RSQVZJU19PU19OQU1FOi1saW51eH0iIGluCi0gICAgbGludXgpCi0gICAgICBleHBvcnQgR0lUX1RFU1RfSFRUUEQ9WWVzUGxlYXNlCi0KLSAgICAgIG1rZGlyIC0tcGFyZW50cyBjdXN0b20vcDQKLSAgICAgIHB1c2hkIGN1c3RvbS9wNAotICAgICAgICB3Z2V0IC0tcXVpZXQgaHR0cDovL2ZpbGVob3N0LnBlcmZvcmNlLmNvbS9wZXJmb3JjZS9yJExJTlVYX1A0X1ZFUlNJT04vYmluLmxpbnV4MjZ4ODZfNjQvcDRkCi0gICAgICAgIHdnZXQgLS1xdWlldCBodHRwOi8vZmlsZWhvc3QucGVyZm9yY2UuY29tL3BlcmZvcmNlL3IkTElOVVhfUDRfVkVSU0lPTi9iaW4ubGludXgyNng4Nl82NC9wNAotICAgICAgICBjaG1vZCB1K3ggcDRkCi0gICAgICAgIGNobW9kIHUreCBwNAotICAgICAgICBleHBvcnQgUEFUSD0iJChwd2QpOiRQQVRIIgotICAgICAgcG9wZAotICAgICAgbWtkaXIgLS1wYXJlbnRzIGN1c3RvbS9naXQtbGZzCi0gICAgICBwdXNoZCBjdXN0b20vZ2l0LWxmcwotICAgICAgICB3Z2V0IC0tcXVpZXQgaHR0cHM6Ly9naXRodWIuY29tL2dpdGh1Yi9naXQtbGZzL3JlbGVhc2VzL2Rvd25sb2FkL3YkTElOVVhfR0lUX0xGU19WRVJTSU9OL2dpdC1sZnMtbGludXgtYW1kNjQtJExJTlVYX0dJVF9MRlNfVkVSU0lPTi50YXIuZ3oKLSAgICAgICAgdGFyIC0tZXh0cmFjdCAtLWd1bnppcCAtLWZpbGUgImdpdC1sZnMtbGludXgtYW1kNjQtJExJTlVYX0dJVF9MRlNfVkVSU0lPTi50YXIuZ3oiCi0gICAgICAgIGNwIGdpdC1sZnMtJExJTlVYX0dJVF9MRlNfVkVSU0lPTi9naXQtbGZzIC4KLSAgICAgICAgZXhwb3J0IFBBVEg9IiQocHdkKTokUEFUSCIKLSAgICAgIHBvcGQKLSAgICAgIDs7Ci0gICAgb3N4KQotICAgICAgYnJldyB1cGRhdGUgLS1xdWlldAotICAgICAgIyBVbmNvbW1lbnQgdGhpcyBpZiB5b3Ugd2FudCB0byBydW4gcGVyZiB0ZXN0czoKLSAgICAgICMgYnJldyBpbnN0YWxsIGdudS10aW1lCi0gICAgICBicmV3IGluc3RhbGwgZ2l0LWxmcyBnZXR0ZXh0Ci0gICAgICBicmV3IGxpbmsgLS1mb3JjZSBnZXR0ZXh0Ci0gICAgICBicmV3IGluc3RhbGwgY2Fza3Jvb20vY2Fzay9wZXJmb3JjZQotICAgICAgOzsKLSAgICBlc2FjOwotICAgIGVjaG8gIiQodHB1dCBzZXRhZiA2KVBlcmZvcmNlIFNlcnZlciBWZXJzaW9uJCh0cHV0IHNncjApIjsKLSAgICBwNGQgLVYgfCBncmVwIFJldi47Ci0gICAgZWNobyAiJCh0cHV0IHNldGFmIDYpUGVyZm9yY2UgQ2xpZW50IFZlcnNpb24kKHRwdXQgc2dyMCkiOwotICAgIHA0IC1WIHwgZ3JlcCBSZXYuOwotICAgIGVjaG8gIiQodHB1dCBzZXRhZiA2KUdpdC1MRlMgVmVyc2lvbiQodHB1dCBzZ3IwKSI7Ci0gICAgZ2l0LWxmcyB2ZXJzaW9uOwotICAgIG1rZGlyIC1wICRIT01FL3RyYXZpcy1jYWNoZTsKLSAgICBsbiAtcyAkSE9NRS90cmF2aXMtY2FjaGUvLnByb3ZlIHQvLnByb3ZlOwotCi1iZWZvcmVfc2NyaXB0OiBtYWtlIC0tam9icz0yCi0KLXNjcmlwdDogbWFrZSAtLXF1aWV0IHRlc3QKLQotYWZ0ZXJfZmFpbHVyZToKLSAgLSA+Ci0gICAgOiAnPC0tIENsaWNrIGhlcmUgdG8gc2VlIGRldGFpbGVkIHRlc3Qgb3V0cHV0ISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzsKLSAgICBmb3IgVEVTVF9FWElUIGluIHQvdGVzdC1yZXN1bHRzLyouZXhpdDsKLSAgICBkbwotICAgICAgaWYgWyAiJChjYXQgIiRURVNUX0VYSVQiKSIgIT0gIjAiIF07Ci0gICAgICB0aGVuCi0gICAgICAgIFRFU1RfT1VUPSIke1RFU1RfRVhJVCVleGl0fW91dCI7Ci0gICAgICAgIGVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSI7Ci0gICAgICAgIGVjaG8gIiQodHB1dCBzZXRhZiAxKSR7VEVTVF9PVVR9Li4uJCh0cHV0IHNncjApIjsKLSAgICAgICAgZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIjsKLSAgICAgICAgY2F0ICIke1RFU1RfT1VUfSI7Ci0gICAgICBmaTsKLSAgICBkb25lOworYmVmb3JlX2luc3RhbGw6IGNpL2luc3RhbGwtZGVwZW5kZW5jaWVzLnNoCitiZWZvcmVfc2NyaXB0OiBjaS9ydW4tYnVpbGQuc2gKK3NjcmlwdDogY2kvcnVuLXRlc3RzLnNoCithZnRlcl9mYWlsdXJlOiBjaS9wcmludC10ZXN0LWZhaWx1cmVzLnNoCiAKIG5vdGlmaWNhdGlvbnM6CiAgIGVtYWlsOiBmYWxzZQpkaWZmIC0tZ2l0IGEvLnRzYW4tc3VwcHJlc3Npb25zIGIvLnRzYW4tc3VwcHJlc3Npb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjODUwMTQKLS0tIC9kZXYvbnVsbAorKysgYi8udHNhbi1zdXBwcmVzc2lvbnMKQEAgLTAsMCArMSwxMCBAQAorIyBTdXBwcmVzc2lvbnMgZm9yIFRocmVhZFNhbml0aXplciAodHNhbikuCisjCisjIFRoaXMgZmlsZSBpcyB1c2VkIGJ5IHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFRTQU5fT1BUSU9OUyB0bywgZS5nLiwKKyMgInN1cHByZXNzaW9ucz0kKHB3ZCkvLnRzYW4tc3VwcHJlc3Npb25zIi4gT2JzZXJ2ZSB0aGF0IHJlbGF0aXZlIHBhdGhzIHN1Y2ggYXMKKyMgIi50c2FuLXN1cHByZXNzaW9ucyIgbWlnaHQgbm90IHdvcmsuCisKKyMgQSBzdGF0aWMgdmFyaWFibGUgaXMgd3JpdHRlbiB0byByYWNpbHksIGJ1dCB3ZSBhbHdheXMgd3JpdGUgdGhlIHNhbWUgdmFsdWUsIHNvCisjIGluIHByYWN0aWNlIGl0IChob3BlZnVsbHkhKSBkb2Vzbid0IG1hdHRlci4KK3JhY2U6XndhbnRfY29sb3IkCityYWNlOl50cmFuc2Zlcl9kZWJ1ZyQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQ29kaW5nR3VpZGVsaW5lcyBiL0RvY3VtZW50YXRpb24vQ29kaW5nR3VpZGVsaW5lcwppbmRleCBhNDE5MWFhLi5jNGNiNWZmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0NvZGluZ0d1aWRlbGluZXMKKysrIGIvRG9jdW1lbnRhdGlvbi9Db2RpbmdHdWlkZWxpbmVzCkBAIC0yNCw3ICsyNCw3IEBACiAKICAgICJPbmNlIGl0IF9pc18gaW4gdGhlIHRyZWUsIGl0J3Mgbm90IHJlYWxseSB3b3J0aCB0aGUgcGF0Y2ggbm9pc2UgdG8KICAgIGdvIGFuZCBmaXggaXQgdXAuIgotICAgQ2YuIGh0dHA6Ly9hcnRpY2xlLmdtYW5lLm9yZy9nbWFuZS5saW51eC5rZXJuZWwvOTQzMDIwCisgICBDZi4gaHR0cDovL2xrbWwuaXUuZWR1L2h5cGVybWFpbC9saW51eC9rZXJuZWwvMTAwMS4zLzAxMDY5Lmh0bWwKIAogTWFrZSB5b3VyIGNvZGUgcmVhZGFibGUgYW5kIHNlbnNpYmxlLCBhbmQgZG9uJ3QgdHJ5IHRvIGJlIGNsZXZlci4KIApAQCAtMjU2LDEyICsyNTYsMTIgQEAKIAogICAgTm90ZSBob3dldmVyIHRoYXQgYSBjb21tZW50IHRoYXQgZXhwbGFpbnMgYSB0cmFuc2xhdGFibGUgc3RyaW5nIHRvCiAgICB0cmFuc2xhdG9ycyB1c2VzIGEgY29udmVudGlvbiBvZiBzdGFydGluZyB3aXRoIGEgbWFnaWMgdG9rZW4KLSAgICJUUkFOU0xBVE9SUzogIiBpbW1lZGlhdGVseSBhZnRlciB0aGUgb3BlbmluZyBkZWxpbWl0ZXIsIGV2ZW4gd2hlbgotICAgaXQgc3BhbnMgbXVsdGlwbGUgbGluZXMuICBXZSBkbyBub3QgYWRkIGFuIGFzdGVyaXNrIGF0IHRoZSBiZWdpbm5pbmcKLSAgIG9mIGVhY2ggbGluZSwgZWl0aGVyLiAgRS5nLgorICAgIlRSQU5TTEFUT1JTOiAiLCBlLmcuCiAKLQkvKiBUUkFOU0xBVE9SUzogaGVyZSBpcyBhIGNvbW1lbnQgdGhhdCBleHBsYWlucyB0aGUgc3RyaW5nCi0JICAgdG8gYmUgdHJhbnNsYXRlZCwgdGhhdCBmb2xsb3dzIGltbWVkaWF0ZWx5IGFmdGVyIGl0ICovCisJLyoKKwkgKiBUUkFOU0xBVE9SUzogaGVyZSBpcyBhIGNvbW1lbnQgdGhhdCBleHBsYWlucyB0aGUgc3RyaW5nIHRvCisJICogYmUgdHJhbnNsYXRlZCwgdGhhdCBmb2xsb3dzIGltbWVkaWF0ZWx5IGFmdGVyIGl0LgorCSAqLwogCV8oIkhlcmUgaXMgYSB0cmFuc2xhdGFibGUgc3RyaW5nIGV4cGxhaW5lZCBieSB0aGUgYWJvdmUuIik7CiAKICAtIERvdWJsZSBuZWdhdGlvbiBpcyBvZnRlbiBoYXJkZXIgdG8gdW5kZXJzdGFuZCB0aGFuIG5vIG5lZ2F0aW9uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL01ha2VmaWxlIGIvRG9jdW1lbnRhdGlvbi9NYWtlZmlsZQppbmRleCBiNWJlMmUyLi4yNDE1ZTBkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL01ha2VmaWxlCisrKyBiL0RvY3VtZW50YXRpb24vTWFrZWZpbGUKQEAgLTMxLDYgKzMxLDcgQEAKIE1BTjdfVFhUICs9IGdpdGdsb3NzYXJ5LnR4dAogTUFON19UWFQgKz0gZ2l0bmFtZXNwYWNlcy50eHQKIE1BTjdfVFhUICs9IGdpdHJldmlzaW9ucy50eHQKK01BTjdfVFhUICs9IGdpdHN1Ym1vZHVsZXMudHh0CiBNQU43X1RYVCArPSBnaXR0dXRvcmlhbC0yLnR4dAogTUFON19UWFQgKz0gZ2l0dHV0b3JpYWwudHh0CiBNQU43X1RYVCArPSBnaXR3b3JrZmxvd3MudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4xMC4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS43LjEwLjEudHh0CmluZGV4IGJlNjg1MjQuLjcxYTg2Y2IgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS43LjEwLjEudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS43LjEwLjEudHh0CkBAIC02OSw3ICs2OSw3IEBACiAgKiBUaGUgJ3B1c2ggdG8gdXBzdHJlYW0nIGltcGxlbWVudGF0aW9uIHdhcyBicm9rZW4gaW4gc29tZSBjb3JuZXIKICAgIGNhc2VzLiAiZ2l0IHB1c2ggJHRoZXJlIiB3aXRob3V0IHJlZnNwZWMsIHdoZW4gdGhlIGN1cnJlbnQgYnJhbmNoCiAgICBpcyBzZXQgdG8gcHVzaCB0byBhIHJlbW90ZSBkaWZmZXJlbnQgZnJvbSAkdGhlcmUsIHVzZWQgdG8gcHVzaCB0bwotICAgJHRoZXJlIHVzaW5nIHRoZSB1cHN0cmVhbSBpbmZvcm1hdGlvbiB0byBhIHJlbW90ZSB1bnJlbGVhdGVkIHRvCisgICAkdGhlcmUgdXNpbmcgdGhlIHVwc3RyZWFtIGluZm9ybWF0aW9uIHRvIGEgcmVtb3RlIHVucmVsYXRlZCB0bwogICAgJHRoZXJlLgogCiAgKiBHaXZpbmcgIi0tY29udGludWUiIHRvIGEgY29uZmxpY3RlZCAicmViYXNlIC1pIiBzZXNzaW9uIHNraXBwZWQgYQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEyLjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEyLjAudHh0CmluZGV4IDI5MTU0ODAuLmVmOGI5N2QgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMi4wLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTIuMC50eHQKQEAgLTI2NCw3ICsyNjQsNyBAQAogICAgbmVlZGVkIGl0IHNvIGZhci4KIAogICogR2l0IDIuMTEgaGFkIGEgbWlub3IgcmVncmVzc2lvbiBpbiAibWVyZ2UgLS1mZi1vbmx5IiB0aGF0IGNvbXBldGVkCi0gICB3aXRoIGFub3RoZXIgcHJvY2VzcyB0aGF0IHNpbXVsdGFub3VzbHkgYXR0ZW1wdGVkIHRvIHVwZGF0ZSB0aGUKKyAgIHdpdGggYW5vdGhlciBwcm9jZXNzIHRoYXQgc2ltdWx0YW5lb3VzbHkgYXR0ZW1wdGVkIHRvIHVwZGF0ZSB0aGUKICAgIGluZGV4LiBXZSB1c2VkIHRvIGV4cGxhaW4gd2hhdCB3ZW50IHdyb25nIHdpdGggYW4gZXJyb3IgbWVzc2FnZSwKICAgIGJ1dCB0aGUgbmV3IGNvZGUgc2lsZW50bHkgZmFpbGVkLiAgVGhlIGVycm9yIG1lc3NhZ2UgaGFzIGJlZW4KICAgIHJlc3VycmVjdGVkLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhOTlkNGIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTMuMC50eHQKQEAgLTAsMCArMSw2MTggQEAKK0dpdCAyLjEzIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT0KKworQmFja3dhcmQgY29tcGF0aWJpbGl0eSBub3Rlcy4KKworICogVXNlIG9mIGFuIGVtcHR5IHN0cmluZyBhcyBhIHBhdGhzcGVjIGVsZW1lbnQgdGhhdCBpcyB1c2VkIGZvcgorICAgJ2V2ZXJ5dGhpbmcgbWF0Y2hlcycgaXMgc3RpbGwgd2FybmVkIGFuZCBHaXQgYXNrcyB1c2VycyB0byB1c2UgYQorICAgbW9yZSBleHBsaWNpdCAnLicgZm9yIHRoYXQgaW5zdGVhZC4gIFRoZSBob3BlIGlzIHRoYXQgZXhpc3RpbmcKKyAgIHVzZXJzIHdpbGwgbm90IG1pbmQgdGhpcyBjaGFuZ2UsIGFuZCBldmVudHVhbGx5IHRoZSB3YXJuaW5nIGNhbiBiZQorICAgdHVybmVkIGludG8gYSBoYXJkIGVycm9yLCB1cGdyYWRpbmcgdGhlIGRlcHJlY2F0aW9uIGludG8gcmVtb3ZhbCBvZgorICAgdGhpcyAobWlzKWZlYXR1cmUuICBUaGF0IGlzIG5vdCBzY2hlZHVsZWQgdG8gaGFwcGVuIGluIHRoZSB1cGNvbWluZworICAgcmVsZWFzZSAoeWV0KS4KKworICogVGhlIGhpc3RvcmljYWwgYXJndW1lbnQgb3JkZXIgImdpdCBtZXJnZSA8bXNnPiBIRUFEIDxjb21taXQ+Li4uIgorICAgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgcXVpdGUgc29tZSB0aW1lLCBhbmQgaXMgbm93IHJlbW92ZWQuCisKKyAqIFRoZSBkZWZhdWx0IGxvY2F0aW9uICJ+Ly5naXQtY3JlZGVudGlhbC1jYWNoZS9zb2NrZXQiIGZvciB0aGUKKyAgIHNvY2tldCB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGNyZWRlbnRpYWwtY2FjaGUgZGFlbW9uIGhhcworICAgYmVlbiBtb3ZlZCB0byAifi8uY2FjaGUvZ2l0L2NyZWRlbnRpYWwvc29ja2V0Ii4KKworICogR2l0IG5vdyBhdm9pZHMgYmxpbmRseSBmYWxsaW5nIGJhY2sgdG8gIi5naXQiIHdoZW4gdGhlIHNldHVwCisgICBzZXF1ZW5jZSBzYWlkIHdlIGFyZSBfbm90XyBpbiBHaXQgcmVwb3NpdG9yeS4gIEEgY29ybmVyIGNhc2UgdGhhdAorICAgaGFwcGVucyB0byB3b3JrIHJpZ2h0IG5vdyBtYXkgYmUgYnJva2VuIGJ5IGEgY2FsbCB0byBkaWUoIkJVRyIpLgorICAgV2UndmUgdHJpZWQgaGFyZCB0byBsb2NhdGUgc3VjaCBjYXNlcyBhbmQgZml4ZWQgdGhlbSwgYnV0IHRoZXJlCisgICBtaWdodCBzdGlsbCBiZSBjYXNlcyB0aGF0IG5lZWQgdG8gYmUgYWRkcmVzc2VkLS1idWcgcmVwb3J0cyBhcmUKKyAgIGdyZWF0bHkgYXBwcmVjaWF0ZWQuCisKKworVXBkYXRlcyBzaW5jZSB2Mi4xMgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitVSSwgV29ya2Zsb3dzICYgRmVhdHVyZXMKKworICogImdpdCBkZXNjcmliZSIgYW5kICJnaXQgbmFtZS1yZXYiIGhhdmUgYmVlbiB0YXVnaHQgdG8gdGFrZSBtb3JlCisgICB0aGFuIG9uZSByZWZuYW1lIHBhdHRlcm5zIHRvIHJlc3RyaWN0IHRoZSBzZXQgb2YgcmVmcyB0byBiYXNlIHRoZWlyCisgICBuYW1pbmcgb3V0cHV0IG9uLCBhbmQgYWxzbyBsZWFybmVkIHRvIHRha2UgbmVnYXRpdmUgcGF0dGVybnMgdG8KKyAgIG5hbWUgcmVmcyBub3QgdG8gYmUgdXNlZCBmb3IgbmFtaW5nIHZpYSB0aGVpciAiLS1leGNsdWRlIiBvcHRpb24uCisKKyAqIERlbGV0aW9uIG9mIGEgYnJhbmNoICJmb28vYmFyIiBjb3VsZCByZW1vdmUgLmdpdC9yZWZzL2hlYWRzL2ZvbworICAgb25jZSB0aGVyZSBubyBsb25nZXIgaXMgYW55IG90aGVyIGJyYW5jaCB3aG9zZSBuYW1lIGJlZ2lucyB3aXRoCisgICAiZm9vLyIsIGJ1dCB3ZSBkaWRuJ3QgZG8gc28gc28gZmFyLiAgTm93IHdlIGRvLgorCisgKiBXaGVuICJnaXQgbWVyZ2UiIGRldGVjdHMgYSBwYXRoIHRoYXQgaXMgcmVuYW1lZCBpbiBvbmUgaGlzdG9yeQorICAgd2hpbGUgdGhlIG90aGVyIGhpc3RvcnkgZGVsZXRlZCAob3IgbW9kaWZpZWQpIGl0LCBpdCBub3cgcmVwb3J0cworICAgYm90aCBwYXRocyB0byBoZWxwIHRoZSB1c2VyIHVuZGVyc3RhbmQgd2hhdCBpcyBnb2luZyBvbiBpbiB0aGUgdHdvCisgICBoaXN0b3JpZXMgYmVpbmcgbWVyZ2VkLgorCisgKiBUaGUgPHVybD4gcGFydCBpbiAiaHR0cC48dXJsPi48dmFyaWFibGU+IiBjb25maWd1cmF0aW9uIHZhcmlhYmxlCisgICBjYW4gbm93IGJlIHNwZWxsZWQgd2l0aCAnKicgdGhhdCBzZXJ2ZXMgYXMgd2lsZGNhcmQuCisgICBFLmcuICJodHRwLmh0dHBzOi8vKi5leGFtcGxlLmNvbS5wcm94eSIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUKKyAgIHByb3h5IHVzZWQgZm9yIGh0dHBzOi8vYS5leGFtcGxlLmNvbSwgaHR0cHM6Ly9iLmV4YW1wbGUuY29tLCBldGMuLAorICAgaS5lLiBhbnkgaG9zdCBpbiB0aGUgZXhhbXBsZS5jb20gZG9tYWluLgorCisgKiAiZ2l0IHRhZyIgZGlkIG5vdCBsZWF2ZSB1c2VmdWwgbWVzc2FnZSB3aGVuIGFkZGluZyBhIG5ldyBlbnRyeSB0bworICAgcmVmbG9nOyB0aGlzIHdhcyBsZWZ0IHVubm90aWNlZCBmb3IgYSBsb25nIHRpbWUgYmVjYXVzZSByZWZzL3RhZ3MvKgorICAgZG9lc24ndCBrZWVwIHJlZmxvZyBieSBkZWZhdWx0LgorCisgKiBUaGUgIm5lZ2F0aXZlIiBwYXRoc3BlYyBmZWF0dXJlIHdhcyBzb21ld2hhdCBtb3JlIGN1bWJlcnNvbWUgdG8gdXNlCisgICB0aGFuIG5lY2Vzc2FyeSBpbiB0aGF0IGl0cyBzaG9ydC1oYW5kIHVzZWQgIiEiIHdoaWNoIG5lZWRlZCB0byBiZQorICAgZXNjYXBlZCBmcm9tIHNoZWxscywgYW5kIGl0IHJlcXVpcmVkICJleGNsdWRlIGZyb20gd2hhdD8iIHNwZWNpZmllZC4KKworICogVGhlIGNvbW1hbmQgbGluZSBvcHRpb25zIGZvciBzc2ggaW52b2NhdGlvbiBuZWVkcyB0byBiZSB0d2Vha2VkIGZvcgorICAgc29tZSBpbXBsZW1lbnRhdGlvbnMgb2YgU1NIIChlLmcuIFB1VFRZIHBsaW5rIHdhbnRzICItUCA8cG9ydD4iCisgICB3aGlsZSBPcGVuU1NIIHdhbnRzICItcCA8cG9ydD4iIHRvIHNwZWNpZnkgcG9ydCB0byBjb25uZWN0IHRvKSwgYW5kCisgICB0aGUgdmFyaWFudCB3YXMgZ3Vlc3NlZCB3aGVuIEdJVF9TU0ggZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgdXNlZAorICAgdG8gc3BlY2lmeSBpdC4gIFRoZSBsb2dpYyB0byBndWVzcyBub3cgYXBwbGllcyB0byB0aGUgY29tbWFuZAorICAgc3BlY2lmaWVkIGJ5IHRoZSBuZXdlciBHSVRfU1NIX0NPTU1BTkQgYW5kIGFsc28gY29yZS5zc2hjb21tYW5kCisgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCBhbmQgY29tZXMgd2l0aCBhbiBlc2NhcGUgaGF0Y2ggZm9yIHVzZXJzIHRvCisgICBkZWFsIHdpdGggbWlzZGV0ZWN0ZWQgY2FzZXMuCisKKyAqIFRoZSAiLS1naXQtcGF0aCIsICItLWdpdC1jb21tb24tZGlyIiwgYW5kICItLXNoYXJlZC1pbmRleC1wYXRoIgorICAgb3B0aW9ucyBvZiAiZ2l0IHJldi1wYXJzZSIgZGlkIG5vdCBwcm9kdWNlIHVzYWJsZSBvdXRwdXQuICBUaGV5IGFyZQorICAgbm93IHVwZGF0ZWQgdG8gc2hvdyB0aGUgcGF0aCB0byB0aGUgY29ycmVjdCBmaWxlLCByZWxhdGl2ZSB0byB3aGVyZQorICAgdGhlIGNhbGxlciBpcy4KKworICogImdpdCBkaWZmIC1XIiBoYXMgYmVlbiB0YXVnaHQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIGEgbmV3CisgICBmdW5jdGlvbiBpcyBhZGRlZCBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlIGJldHRlci4KKworICogImdpdCB1cGRhdGUtcmVmIC1kIiBhbmQgb3RoZXIgb3BlcmF0aW9ucyB0byBkZWxldGUgcmVmZXJlbmNlcyBkaWQKKyAgIG5vdCBsZWF2ZSBhbnkgZW50cnkgaW4gSEVBRCdzIHJlZmxvZyB3aGVuIHRoZSByZWZlcmVuY2UgYmVpbmcKKyAgIGRlbGV0ZWQgd2FzIHRoZSBjdXJyZW50IGJyYW5jaC4gIFRoaXMgaXMgbm90IGEgcHJvYmxlbSBpbiBwcmFjdGljZQorICAgYmVjYXVzZSB5b3UgZG8gbm90IHdhbnQgdG8gZGVsZXRlIHRoZSBicmFuY2ggeW91IGFyZSBjdXJyZW50bHkgb24sCisgICBidXQgY2F1c2VkIHJlbmFtaW5nIG9mIHRoZSBjdXJyZW50IGJyYW5jaCB0byBzb21ldGhpbmcgZWxzZSBub3QgdG8KKyAgIGJlIGxvZ2dlZCBpbiBhIHVzZWZ1bCB3YXkuCisKKyAqICJDYzoiIG9uIHRoZSB0cmFpbGVyIHBhcnQgZG9lcyBub3QgaGF2ZSB0byBjb25mb3JtIHRvIFJGQyBzdHJpY3RseSwKKyAgIHVubGlrZSBpbiB0aGUgZS1tYWlsIGhlYWRlci4gICJnaXQgc2VuZC1lbWFpbCIgaGFzIGJlZW4gdXBkYXRlZCB0bworICAgaWdub3JlIGFueXRoaW5nIGFmdGVyICc+JyB3aGVuIHBpY2tpbmcgYWRkcmVzc2VzLCB0byBhbGxvdyBub24tYWRkcmVzcworICAgY3J1ZnQgbGlrZSAiICMgc3RhYmxlIDQuNCIgYWZ0ZXIgdGhlIGFkZHJlc3MuCisKKyAqIFdoZW4gImdpdCBzdWJtb2R1bGUgaW5pdCIgZGVjaWRlcyB0aGF0IHRoZSBzdWJtb2R1bGUgaW4gdGhlIHdvcmtpbmcKKyAgIHRyZWUgaXMgaXRzIHVwc3RyZWFtLCBpdCBub3cgZ2l2ZXMgYSB3YXJuaW5nIGFzIGl0IGlzIG5vdCBhIHZlcnkKKyAgIGNvbW1vbiBzZXR1cC4KKworICogImdpdCBzdGFzaCBwdXNoIiB0YWtlcyBhIHBhdGhzcGVjIHNvIHRoYXQgdGhlIGxvY2FsIGNoYW5nZXMgY2FuIGJlCisgICBzdGFzaGVkIGF3YXkgb25seSBwYXJ0aWFsbHkuCisKKyAqIERvY3VtZW50YXRpb24gZm9yICJnaXQgbHMtZmlsZXMiIGRpZCBub3QgcmVmZXIgdG8gY29yZS5xdW90ZVBhdGguCisKKyAqIFRoZSBleHBlcmltZW50YWwgInNwbGl0IGluZGV4IiBmZWF0dXJlIGhhcyBnYWluZWQgYSBmZXcKKyAgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHVzZS4KKworICogRnJvbSBhIHdvcmtpbmcgdHJlZSBvZiBhIHJlcG9zaXRvcnksIGEgbmV3IG9wdGlvbiBvZiAicmV2LXBhcnNlIgorICAgbGV0cyB5b3UgYXNrIGlmIHRoZSByZXBvc2l0b3J5IGlzIHVzZWQgYXMgYSBzdWJtb2R1bGUgb2YgYW5vdGhlcgorICAgcHJvamVjdCwgYW5kIHdoZXJlIHRoZSByb290IGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUgb2YgdGhhdAorICAgcHJvamVjdCAoaS5lLiB5b3VyIHN1cGVycHJvamVjdCkgaXMuCisKKyAqIFRoZSBwYXRoc3BlYyBtZWNoYW5pc20gbGVhcm5lZCB0byBmdXJ0aGVyIGxpbWl0IHRoZSBwYXRocyB0aGF0CisgICBtYXRjaCB0aGUgcGF0dGVybiB0byB0aG9zZSB0aGF0IGhhdmUgc3BlY2lmaWVkIGF0dHJpYnV0ZXMgYXR0YWNoZWQKKyAgIHZpYSB0aGUgZ2l0YXR0cmlidXRlcyBtZWNoYW5pc20uCisKKyAqIE91ciBzb3VyY2UgY29kZSBoYXMgdXNlZCB0aGUgU0hBMV9IRUFERVIgY3BwIG1hY3JvIGFmdGVyICIjaW5jbHVkZSIKKyAgIGluIHRoZSBDIGNvZGUgdG8gc3dpdGNoIGFtb25nIHRoZSBTSEEtMSBpbXBsZW1lbnRhdGlvbnMuIEluc3RlYWQsCisgICBsaXN0IHRoZSBleGFjdCBoZWFkZXIgZmlsZSBuYW1lcyBhbmQgc3dpdGNoIGFtb25nIGltcGxlbWVudGF0aW9ucworICAgdXNpbmcgIiNpZmRlZiBCTEtfU0hBMS8jaW5jbHVkZSAiYmxvY2stc2hhMS9zaGExLmgiLy4uLi8jZW5kaWYiOworICAgdGhpcyBoZWxwcyBzb21lIElERSB0b29scy4KKworICogVGhlIHN0YXJ0LXVwIHNlcXVlbmNlIG9mICJnaXQiIG5lZWRzIHRvIGZpZ3VyZSBvdXQgc29tZSBjb25maWd1cmVkCisgICBzZXR0aW5ncyBiZWZvcmUgaXQgZmluZHMgYW5kIHNldCBpdHNlbGYgdXAgaW4gdGhlIGxvY2F0aW9uIG9mIHRoZQorICAgcmVwb3NpdG9yeSBhbmQgd2FzIHF1aXRlIG1lc3N5IGR1ZSB0byBpdHMgImNoaWNrZW4tYW5kLWVnZyIgbmF0dXJlLgorICAgVGhlIGNvZGUgaGFzIGJlZW4gcmVzdHJ1Y3R1cmVkLgorCisgKiBUaGUgY29tbWFuZCBsaW5lIHByb21wdCAoaW4gY29udHJpYi8pIGxlYXJuZWQgYSBuZXcgJ3RhZycgc3R5bGUKKyAgIHRoYXQgY2FuIGJlIHNwZWNpZmllZCB3aXRoIEdJVF9QUzFfREVTQ1JJQkVfU1RZTEUsIHRvIGRlc2NyaWJlIGEKKyAgIGRldGFjaGVkIEhFQUQgd2l0aCAiZ2l0IGRlc2NyaWJlIC0tdGFncyIuCisKKyAqIFRoZSBjb25maWd1cmF0aW9uIGZpbGUgbGVhcm5lZCBhIG5ldyAiaW5jbHVkZUlmLjxjb25kaXRpb24+LnBhdGgiCisgICB0aGF0IGluY2x1ZGVzIHRoZSBjb250ZW50cyBvZiB0aGUgZ2l2ZW4gcGF0aCBvbmx5IHdoZW4gdGhlCisgICBjb25kaXRpb24gaG9sZHMuICBUaGlzIGFsbG93cyB5b3UgdG8gc2F5ICJpbmNsdWRlIHRoaXMgd29yay1yZWxhdGVkCisgICBiaXQgb25seSBpbiB0aGUgcmVwb3NpdG9yaWVzIHVuZGVyIG15IH4vd29yay8gZGlyZWN0b3J5Ii4KKworICogUmVjZW50IHVwZGF0ZSB0byAicmViYXNlIC1pIiBzdGFydGVkIHNob3dpbmcgYSBtZXNzYWdlIHRoYXQgaXMgbm90CisgICBhIHdhcm5pbmcgd2l0aCAid2FybmluZzoiIHByZWZpeCBieSBtaXN0YWtlLiAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KKworICogUmVjZW50bHkgd2Ugc3RhcnRlZCBwYXNzaW5nIHRoZSAiLS1wdXNoLW9wdGlvbnMiIHRocm91Z2ggdGhlCisgICBleHRlcm5hbCByZW1vdGUgaGVscGVyIGludGVyZmFjZTsgbm93IHRoZSAic21hcnQgSFRUUCIgcmVtb3RlCisgICBoZWxwZXIgdW5kZXJzdGFuZHMgd2hhdCB0byBkbyB3aXRoIHRoZSBwYXNzZWQgaW5mb3JtYXRpb24uCisKKyAqICJnaXQgZGVzY3JpYmUgLS1kaXJ0eSIgZGllcyB3aGVuIGl0IGNhbm5vdCBiZSBkZXRlcm1pbmVkIGlmIHRoZQorICAgc3RhdGUgaW4gdGhlIHdvcmtpbmcgdHJlZSBtYXRjaGVzIHRoYXQgb2YgSEVBRCAoZS5nLiBicm9rZW4KKyAgIHJlcG9zaXRvcnkgb3IgYnJva2VuIHN1Ym1vZHVsZSkuICBUaGUgY29tbWFuZCBsZWFybmVkIGEgbmV3IG9wdGlvbgorICAgImdpdCBkZXNjcmliZSAtLWJyb2tlbiIgdG8gZ2l2ZSAiJG5hbWUtYnJva2VuIiAod2hlcmUgJG5hbWUgaXMgdGhlCisgICBkZXNjcmlwdGlvbiBvZiBIRUFEKSBpbiBzdWNoIGEgY2FzZS4KKworICogImdpdCBjaGVja291dCIgaXMgdGF1Z2h0IHRoZSAiLS1yZWN1cnNlLXN1Ym1vZHVsZXMiIG9wdGlvbi4KKworICogUmVjZW50IGVuaGFuY2VtZW50IHRvICJnaXQgc3Rhc2ggcHVzaCIgY29tbWFuZCB0byBzdXBwb3J0IHBhdGhzcGVjCisgICB0byBhbGxvdyBvbmx5IGEgc3Vic2V0IG9mIHdvcmtpbmcgdHJlZSBjaGFuZ2VzIHRvIGJlIHN0YXNoZWQgYXdheQorICAgd2FzIGZvdW5kIHRvIGJlIHRvbyBjaGF0dHkgYW5kIGV4cG9zZWQgdGhlIGludGVybmFsIGltcGxlbWVudGF0aW9uCisgICBkZXRhaWwgKGUuZy4gd2hlbiBpdCB1c2VzIHJlc2V0IHRvIG1hdGNoIHRoZSBpbmRleCB0byBIRUFEIGJlZm9yZQorICAgZG9pbmcgb3RoZXIgdGhpbmdzLCBvdXRwdXQgZnJvbSByZXNldCBzZWVwZWQgb3V0KS4gIFRoZXNlLCBhbmQKKyAgIG90aGVyIGNoYXR0eW5lc3MgaGFzIGJlZW4gZml4ZWQuCisKKyAqICJnaXQgbWVyZ2UgPG1lc3NhZ2U+IEhFQUQgPGNvbW1pdD4iIHN5bnRheCB0aGF0IGhhcyBiZWVuIGRlcHJlY2F0ZWQKKyAgIHNpbmNlIE9jdG9iZXIgMjAwNyBoYXMgYmVlbiByZW1vdmVkLgorCisgKiBUaGUgcmVmcyBjb21wbGV0aW9uIGZvciBsYXJnZSBudW1iZXIgb2YgcmVmcyBoYXMgYmVlbiBzcGVkIHVwLAorICAgcGFydGx5IGJ5IGdpdmluZyB1cCBkaXNhbWJpZ3VhdGluZyBhbWJpZ3VvdXMgcmVmcyBhbmQgcGFydGx5IGJ5CisgICBlbGltaW5hdGluZyBtb3N0IG9mIHRoZSBzaGVsbCBwcm9jZXNzaW5nIGJldHdlZW4gJ2dpdCBmb3ItZWFjaC1yZWYnCisgICBhbmQgJ2xzLXJlbW90ZScgYW5kIEJhc2gncyBjb21wbGV0aW9uIGZhY2lsaXR5LgorCisgKiBPbiBtYW55IGtleWJvYXJkcywgdHlwaW5nICJAeyIgaW52b2x2ZXMgaG9sZGluZyBkb3duIFNISUZUIGtleSBhbmQKKyAgIG9uZSBjYW4gZWFzaWx5IGVuZCB1cCB3aXRoICJAe1VwLi4uIiB3aGVuIHR5cGluZyAiQHt1cHN0cmVhbX0iLiAgQXMKKyAgIHRoZSB1cHN0cmVhbS9wdXNoIGtleXdvcmRzIGRvIG5vdCBhcHBlYXIgYW55d2hlcmUgZWxzZSBpbiB0aGUgc3ludGF4LAorICAgd2UgY2FuIHNhZmVseSBhY2NlcHQgdGhlbSBjYXNlIGluc2Vuc2l0aXZlbHkgd2l0aG91dCBpbnRyb2R1Y2luZworICAgYW1iaWd1aXR5IG9yIGNvbmZ1c2lvbiB0byBzb2x2ZSB0aGlzLgorCisgKiAiZ2l0IHRhZy9icmFuY2gvZm9yLWVhY2gtcmVmIiBmYW1pbHkgb2YgY29tbWFuZHMgbG9uZyBhbGxvd2VkIHRvCisgICBmaWx0ZXIgdGhlIHJlZnMgYnkgIi0tY29udGFpbnMgWCIgKHNob3cgb25seSB0aGUgcmVmcyB0aGF0IGFyZQorICAgZGVzY2VuZGFudHMgb2YgWCksICItLW1lcmdlZCBYIiAoc2hvdyBvbmx5IHRoZSByZWZzIHRoYXQgYXJlCisgICBhbmNlc3RvcnMgb2YgWCksICItLW5vLW1lcmdlZCBYIiAoc2hvdyBvbmx5IHRoZSByZWZzIHRoYXQgYXJlIG5vdAorICAgYW5jZXN0b3JzIG9mIFgpLiAgT25lIGN1cmlvdXMgb21pc3Npb24sICItLW5vLWNvbnRhaW5zIFgiIChzaG93CisgICBvbmx5IHRoZSByZWZzIHRoYXQgYXJlIG5vdCBkZXNjZW5kYW50cyBvZiBYKSBoYXMgYmVlbiBhZGRlZCB0bworICAgdGhlbS4KKworICogVGhlIGRlZmF1bHQgYmVoYXZpb3VyIG9mICJnaXQgbG9nIiBpbiBhbiBpbnRlcmFjdGl2ZSBzZXNzaW9uIGhhcworICAgYmVlbiBjaGFuZ2VkIHRvIGVuYWJsZSAiLS1kZWNvcmF0ZSIuCisKKyAqIFRoZSBvdXRwdXQgZnJvbSAiZ2l0IHN0YXR1cyAtLXNob3J0IiBoYXMgYmVlbiBleHRlbmRlZCB0byBzaG93CisgICB2YXJpb3VzIGtpbmRzIG9mIGRpcnR5bmVzcyBpbiBzdWJtb2R1bGVzIGRpZmZlcmVudGx5OyBpbnN0ZWFkIG9mIHRvCisgICAiTSIgZm9yIG1vZGlmaWVkLCAnbScgYW5kICc/JyBjYW4gYmUgc2hvd24gdG8gc2lnbmFsIGNoYW5nZXMgb25seQorICAgdG8gdGhlIHdvcmtpbmcgdHJlZSBvZiB0aGUgc3VibW9kdWxlIGJ1dCBub3QgdGhlIGNvbW1pdCB0aGF0IGlzCisgICBjaGVja2VkIG91dC4KKworICogQWxsb3cgdGhlIGh0dHAucG9zdGJ1ZmZlciBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvIGJlIHNldCB0byBhCisgICBzaXplIHRoYXQgY2FuIGJlIGV4cHJlc3NlZCBpbiBzaXplX3QsIHdoaWNoIGNhbiBiZSBsYXJnZXIgdGhhbgorICAgdWxvbmcgb24gc29tZSBwbGF0Zm9ybXMuCisKKyAqICJnaXQgcmViYXNlIiBsZWFybnMgIi0tc2lnbm9mZiIgb3B0aW9uLgorCisgKiBUaGUgY29tcGxldGlvbiBzY3JpcHQgKGluIGNvbnRyaWIvKSBsZWFybmVkIHRvIGNvbXBsZXRlICJnaXQgcHVzaAorICAgLS1kZWxldGUgYjxUQUI+IiB0byBjb21wbGV0ZSBicmFuY2ggbmFtZSB0byBiZSBkZWxldGVkLgorCisgKiAiZ2l0IHdvcmt0cmVlIGFkZCAtLWxvY2siIGFsbG93cyB0byBsb2NrIGEgd29ya3RyZWUgaW1tZWRpYXRlbHkKKyAgIGFmdGVyIGl0J3MgY3JlYXRlZC4gVGhpcyBoZWxwcyBwcmV2ZW50IGEgcmFjZSBiZXR3ZWVuICJnaXQgd29ya3RyZWUKKyAgIGFkZDsgZ2l0IHdvcmt0cmVlIGxvY2siIGFuZCAiZ2l0IHdvcmt0cmVlIHBydW5lIi4KKworICogQ29tcGxldGlvbiBmb3IgImdpdCBjaGVja291dCA8YnJhbmNoPiIgdGhhdCBhdXRvLWNyZWF0ZXMgdGhlIGJyYW5jaAorICAgb3V0IG9mIGEgcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBjYW4gbm93IGJlIGRpc2FibGVkLCBhcyB0aGlzCisgICBjb21wbGV0aW9uIG9mdGVuIGdldHMgaW4gdGhlIHdheSB3aGVuIGNvbXBsZXRpbmcgdG8gY2hlY2tvdXQgYW4KKyAgIGV4aXN0aW5nIGxvY2FsIGJyYW5jaCB0aGF0IGhhcHBlbnMgdG8gc2hhcmUgdGhlIHNhbWUgcHJlZml4IHdpdGgKKyAgIGJ1bmNoIG9mIHJlbW90ZSB0cmFja2luZyBicmFuY2hlcy4KKworCitQZXJmb3JtYW5jZSwgSW50ZXJuYWwgSW1wbGVtZW50YXRpb24sIERldmVsb3BtZW50IFN1cHBvcnQgZXRjLgorCisgKiBUaGUgY29kZSB0byBsaXN0IGJyYW5jaGVzIGluICJnaXQgYnJhbmNoIiBoYXMgYmVlbiBjb25zb2xpZGF0ZWQKKyAgIHdpdGggdGhlIG1vcmUgZ2VuZXJpYyByZWYtZmlsdGVyIEFQSS4KKworICogUmVzb3VyY2UgdXNhZ2Ugd2hpbGUgZW51bWVyYXRpbmcgcmVmcyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUKKyAgIGhhcyBiZWVuIG9wdGltaXplZCB0byBoZWxwIHJlY2VpdmluZyBlbmQgb2YgInB1c2giIHRoYXQgaG9zdHMgYQorICAgcmVwb3NpdG9yeSB3aXRoIG1hbnkgImZvcmtzIi4KKworICogVGhlIGdpdGF0dHJpYnV0ZXMgbWFjaGluZXJ5IGlzIGJlaW5nIHRhdWdodCB0byB3b3JrIGJldHRlciBpbiBhCisgICBtdWx0aS10aHJlYWRlZCBlbnZpcm9ubWVudC4KKworICogImdpdCByZWJhc2UgLWkiIHN0YXJ0cyB1c2luZyB0aGUgcmVjZW50bHkgdXBkYXRlZCAic2VxdWVuY2VyIiBjb2RlLgorCisgKiBDb2RlIGFuZCBkZXNpZ24gY2xlYW4tdXAgZm9yIHRoZSByZWZzIEFQSS4KKworICogVGhlIHByZWxvYWQtaW5kZXggY29kZSBoYXMgYmVlbiB0YXVnaHQgbm90IHRvIGJvdGhlciB3aXRoIHRoZSBpbmRleAorICAgZW50cmllcyB0aGF0IGFyZSBwYXRocyB0aGF0IGFyZSBub3QgY2hlY2tlZCBvdXQgYnkgInNwYXJzZSBjaGVja291dCIuCisKKyAqIFNvbWUgd2FybmluZygpIG1lc3NhZ2VzIGZyb20gImdpdCBjbGVhbiIgd2VyZSB1cGRhdGVkIHRvIHNob3cgdGhlCisgICBlcnJubyBmcm9tIGZhaWxlZCBzeXN0ZW0gY2FsbHMuCisKKyAqIFRoZSAicGFyc2VfY29uZmlnX2tleSgpIiBBUEkgZnVuY3Rpb24gaGFzIGJlZW4gY2xlYW5lZCB1cC4KKworICogQSB0ZXN0IHRoYXQgY3JlYXRlcyBhIGNvbmZ1c2luZyBicmFuY2ggd2hvc2UgbmFtZSBpcyBIRUFEIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQgbm90IHRvIGRvIHNvLgorCisgKiBUaGUgY29kZSB0aGF0IHBhcnNlcyBoZWFkZXIgZmllbGRzIGluIHRoZSBjb21taXQgb2JqZWN0IGhhcyBiZWVuCisgICB1cGRhdGVkIGZvciAobWljcm8pcGVyZm9ybWFuY2UgYW5kIGNvZGUgaHlnaWVuZS4KKworICogQW4gaGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGFwcGVuZCB0aGUgcmVzdWx0IGZyb20KKyAgIHJlYWxfcGF0aCgpIHRvIGEgc3RyYnVmIGhhcyBiZWVuIGFkZGVkLgorCisgKiBSZWR1Y2UgYXV0aGVudGljYXRpb24gcm91bmQtdHJpcCBvdmVyIEhUVFAgd2hlbiB0aGUgc2VydmVyIHN1cHBvcnRzCisgICBqdXN0IGEgc2luZ2xlIGF1dGhlbnRpY2F0aW9uIG1ldGhvZC4gIFRoaXMgYWxzbyBpbXByb3ZlcyB0aGUKKyAgIGJlaGF2aW91ciB3aGVuIEdpdCBpcyBtaXNjb25maWd1cmVkIHRvIGVuYWJsZSBodHRwLmVtcHR5QXV0aAorICAgYWdhaW5zdCBhIHNlcnZlciB0aGF0IGRvZXMgbm90IGF1dGhlbnRpY2F0ZSB3aXRob3V0IGEgdXNlcm5hbWUKKyAgIChpLmUuIG5vdCB1c2luZyBLZXJiZXJvcyBldGMuLCB3aGljaCBtYWtlcyBodHRwLmVtcHR5QXV0aAorICAgcG9pbnRsZXNzKS4KKworICogV2luZG93cyBwb3J0IHdhbnRzIHRvIHVzZSBPcGVuU1NMJ3MgaW1wbGVtZW50YXRpb24gb2YgU0hBLTEKKyAgIHJvdXRpbmVzLCBzbyBsZXQgdGhlbS4KKworICogVGhlIHQvcGVyZiBwZXJmb3JtYW5jZSB0ZXN0IHN1aXRlIHdhcyBub3QgcHJlcGFyZWQgdG8gdGVzdCBub3Qgc28KKyAgIG9sZCB2ZXJzaW9ucyBvZiBHaXQsIGJ1dCBub3cgaXQgY292ZXJzIHZlcnNpb25zIG9mIEdpdCB0aGF0IGFyZSBub3QKKyAgIHNvIGFuY2llbnQuCisKKyAqIEFkZCAzMi1iaXQgTGludXggdmFyaWFudCB0byB0aGUgc2V0IG9mIHBsYXRmb3JtcyB0byBiZSB0ZXN0ZWQgd2l0aAorICAgVHJhdmlzIENJLgorCisgKiAiZ2l0IGJyYW5jaCAtLWxpc3QiIHRha2VzIHRoZSAiLS1hYmJyZXYiIGFuZCAiLS1uby1hYmJyZXYiIG9wdGlvbnMKKyAgIHRvIGNvbnRyb2wgdGhlIG91dHB1dCBvZiB0aGUgb2JqZWN0IG5hbWUgaW4gaXRzICItdiIoZXJib3NlKQorICAgb3V0cHV0LCBidXQgYSByZWNlbnQgdXBkYXRlIHN0YXJ0ZWQgaWdub3JpbmcgdGhlbTsgZml4IGl0IGJlZm9yZQorICAgdGhlIGJyZWFrYWdlIHJlYWNoZXMgdG8gYW55IHJlbGVhc2VkIHZlcnNpb24uCisKKyAqIFBpY2tpbmcgdHdvIHZlcnNpb25zIG9mIEdpdCBhbmQgcnVubmluZyB0ZXN0cyB0byBtYWtlIHN1cmUgdGhlCisgICBvbGRlciBvbmUgYW5kIHRoZSBuZXdlciBvbmUgaW50ZXJvcGVyYXRlIGhhcHBpbHkgaGFzIG5vdyBiZWNvbWUKKyAgIHBvc3NpYmxlLgorCisgKiAiZ2l0IHRhZyAtLWNvbnRhaW5zIiB1c2VkIHRvIChhYil1c2UgdGhlIG9iamVjdCBiaXRzIHRvIGtlZXAgdHJhY2sKKyAgIG9mIHRoZSBzdGF0ZSBvZiBvYmplY3QgcmVhY2hhYmlsaXR5IHdpdGhvdXQgY2xlYXJpbmcgdGhlbSBhZnRlcgorICAgdXNlOyB0aGlzIGhhcyBiZWVuIGNsZWFuZWQgdXAgYW5kIG1hZGUgdG8gdXNlIHRoZSBuZXdlciBjb21taXQtc2xhYgorICAgZmFjaWxpdHkuCisKKyAqIFRoZSAiZGVidWciIGhlbHBlciB1c2VkIGluIHRoZSB0ZXN0IGZyYW1ld29yayBsZWFybmVkIHRvIHJ1bgorICAgYSBjb21tYW5kIHVuZGVyICJnZGIiIGludGVyYWN0aXZlbHkuCisKKyAqIFRoZSAiZGV0ZWN0IGF0dGVtcHQgdG8gY3JlYXRlIGNvbGxpc2lvbnMiIHZhcmlhbnQgb2YgU0hBLTEKKyAgIGltcGxlbWVudGF0aW9uIGJ5IE1hcmMgU3RldmVucyAoQ1dJKSBhbmQgRGFuIFNodW1vdyAoTWljcm9zb2Z0KQorICAgaGFzIGJlZW4gaW50ZWdyYXRlZCBhbmQgbWFkZSB0aGUgZGVmYXVsdC4KKworICogVGhlIHRlc3QgZnJhbWV3b3JrIGxlYXJuZWQgdG8gZGV0ZWN0IHVudGVybWluYXRlZCBoZXJlIGRvY3VtZW50cy4KKworICogVGhlIG5hbWUtaGFzaCB1c2VkIGZvciBkZXRlY3RpbmcgcGF0aHMgdGhhdCBhcmUgZGlmZmVyZW50IG9ubHkgaW4KKyAgIGNhc2VzICh3aGljaCBtYXR0ZXIgb24gY2FzZSBpbnNlbnNpdGl2ZSBmaWxlc3lzdGVtcykgaGFzIGJlZW4KKyAgIG9wdGltaXplZCB0byB0YWtlIGFkdmFudGFnZSBvZiBtdWx0aS10aHJlYWRpbmcgd2hlbiBpdCBtYWtlcyBzZW5zZS4KKworICogQW4gZWFybGllciB2ZXJzaW9uIG9mIHNoYTFkYy9zaGExLmMgdGhhdCB3YXMgbWVyZ2VkIHRvICdtYXN0ZXInCisgICBjb21waWxlZCBpbmNvcnJlY3RseSBvbiBXaW5kb3dzLCB3aGljaCBoYXMgYmVlbiBmaXhlZC4KKworICogIndoYXQgVVJMIGRvIHdlIHdhbnQgdG8gdXBkYXRlIHRoaXMgc3VibW9kdWxlPyIgYW5kICJhcmUgd2UKKyAgIGludGVyZXN0ZWQgaW4gdGhpcyBzdWJtb2R1bGU/IiBhcmUgc3BsaXQgaW50byB0d28gZGlzdGluY3QKKyAgIGNvbmNlcHRzLCBhbmQgdGhlbiB0aGUgd2F5IHVzZWQgdG8gZXhwcmVzcyB0aGUgbGF0dGVyIGdvdCBleHRlbmRlZCwKKyAgIHBhdmluZyBhIHdheSB0byBtYWtlIGl0IGVhc2llciB0byBtYW5hZ2UgYSBwcm9qZWN0IHdpdGggbWFueQorICAgc3VibW9kdWxlcyBhbmQgbWFrZSBpdCBwb3NzaWJsZSB0byBsYXRlciBleHRlbmQgdXNlIG9mIG11bHRpcGxlCisgICB3b3JrdHJlZXMgZm9yIGEgcHJvamVjdCB3aXRoIHN1Ym1vZHVsZXMuCisKKyAqIFNvbWUgZGVidWdnaW5nIG91dHB1dCBmcm9tICJnaXQgZGVzY3JpYmUiIHdlcmUgbWFya2VkIGZvciBsMTBuLAorICAgYnV0IHNvbWUgd2VyZW4ndC4gIE1hcmsgbWlzc2luZyBvbmVzIGZvciBsMTBuLgorCisgKiBEZWZpbmUgYSBuZXcgdGFzayBpbiAudHJhdmlzLnltbCB0aGF0IHRyaWdnZXJzIGEgdGVzdCBzZXNzaW9uIG9uCisgICBXaW5kb3dzIHJ1biBlbHNld2hlcmUuCisKKyAqIENvbnZlcnNpb24gZnJvbSB1Y2hhclsyMF0gdG8gc3RydWN0IG9iamVjdF9pZCBjb250aW51ZXMuCisKKyAqIFRoZSAic3VibW9kdWxlIiBzcGVjaWZpYyBmaWVsZCBpbiB0aGUgcmVmX3N0b3JlIHN0cnVjdHVyZSBpcworICAgcmVwbGFjZWQgd2l0aCBhIG1vcmUgZ2VuZXJpYyAiZ2l0ZGlyIiB0aGF0IGNhbiBsYXRlciBiZSB1c2VkIGFsc28KKyAgIHdoZW4gZGVhbGluZyB3aXRoIHJlZl9zdG9yZSB0aGF0IHJlcHJlc2VudHMgdGhlIHNldCBvZiByZWZzIHZpc2libGUKKyAgIGZyb20gdGhlIG90aGVyIHdvcmt0cmVlcy4KKworICogVGhlIHN0cmluZy1saXN0IEFQSSB1c2VkIGEgY3VzdG9tIHJlYWxsb2NhdGlvbiBzdHJhdGVneSB0aGF0IHdhcworICAgdmVyeSBpbmVmZmljaWVudCwgaW5zdGVhZCBvZiB1c2luZyB0aGUgdXN1YWwgQUxMT0NfR1JPVygpIG1hY3JvLAorICAgd2hpY2ggaGFzIGJlZW4gZml4ZWQuCisgICAobWVyZ2UgOTUwYTIzNGNiZCBqaC9zdHJpbmctbGlzdC1taWNyby1vcHRpbSBsYXRlciB0byBtYWludCkuCisKKyAqIEluIGEgMi0gYW5kIDMtd2F5IG1lcmdlIG9mIHRyZWVzLCBtb3JlIHRoYW4gb25lIHNvdXJjZSB0cmVlcyBvZnRlbgorICAgZW5kIHVwIHNoYXJpbmcgYW4gaWRlbnRpY2FsIHN1YnRyZWU7IG9wdGltaXplIGJ5IG5vdCByZWFkaW5nIHRoZQorICAgc2FtZSB0cmVlIG11bHRpcGxlIHRpbWVzIGluIHN1Y2ggYSBjYXNlLgorICAgKG1lcmdlIGQxMmE4Y2YwYWYgamgvdW5wYWNrLXRyZWVzLW1pY3JvLW9wdGltIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGluZGV4IGZpbGUgaGFzIGEgdHJhaWxpbmcgU0hBLTEgY2hlY2tzdW0gdG8gZGV0ZWN0IGZpbGUKKyAgIGNvcnJ1cHRpb24sIGFuZCBoaXN0b3JpY2FsbHkgd2UgY2hlY2tlZCBpdCBldmVyeSB0aW1lIHRoZSBpbmRleAorICAgZmlsZSBpcyB1c2VkLiAgT21pdCB0aGUgdmFsaWRhdGlvbiBkdXJpbmcgbm9ybWFsIHVzZSwgYW5kIGluc3RlYWQKKyAgIHZlcmlmeSBvbmx5IGluICJnaXQgZnNjayIuCisKKyAqIEhhdmluZyBhIGdpdCBjb21tYW5kIG9uIHRoZSB1cHN0cmVhbSBzaWRlIG9mIGEgcGlwZSBpbiBhIHRlc3QKKyAgIHNjcmlwdCB3aWxsIGhpZGUgdGhlIGV4aXQgc3RhdHVzIGZyb20gdGhlIGNvbW1hbmQsIHdoaWNoIG1heSBjYXVzZQorICAgdXMgdG8gZmFpbCB0byBub3RpY2UgYSBicmVha2FnZTsgcmV3cml0ZSB0ZXN0cyBpbiBhIHNjcmlwdCB0byBhdm9pZAorICAgdGhpcyBpc3N1ZS4KKworICogVHJhdmlzIENJIGxlYXJucyB0byBydW4gY29jY2ljaGVjay4KKworICogImdpdCBjaGVja291dCIgdGhhdCBoYW5kbGVzIGEgbG90IG9mIHBhdGhzIGhhcyBiZWVuIG9wdGltaXplZCBieQorICAgcmVkdWNpbmcgdGhlIG51bWJlciBvZiB1bm5lY2Vzc2FyeSBjaGVja3Mgb2YgcGF0aHMgaW4gdGhlCisgICBoYXNfZGlyX25hbWUoKSBmdW5jdGlvbi4KKworICogVGhlIGludGVybmFscyBvZiB0aGUgcmVmcyBBUEkgYXJvdW5kIHRoZSBjYWNoZWQgcmVmcyBoYXMgYmVlbgorICAgc3RyZWFtbGluZWQuCisKKyAqIE91dHB1dCBmcm9tIHBlcmYgdGVzdHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gYWxpZ24gdGhlaXIgdGl0bGVzLgorCitBbHNvIGNvbnRhaW5zIHZhcmlvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KKworCitGaXhlcyBzaW5jZSB2Mi4xMgorLS0tLS0tLS0tLS0tLS0tLS0KKworVW5sZXNzIG90aGVyd2lzZSBub3RlZCwgYWxsIHRoZSBmaXhlcyBzaW5jZSB2Mi4xMiBpbiB0aGUgbWFpbnRlbmFuY2UKK3RyYWNrIGFyZSBjb250YWluZWQgaW4gdGhpcyByZWxlYXNlIChzZWUgdGhlIG1haW50ZW5hbmNlIHJlbGVhc2VzJworbm90ZXMgZm9yIGRldGFpbHMpLgorCisgKiAiZ2l0IHJlcGFjayAtLWRlcHRoPTxuPiIgZm9yIGEgbG9uZyB0aW1lIGJ1c3RlZCB0aGUgc3BlY2lmaWVkIGRlcHRoCisgICB3aGVuIHJldXNpbmcgZGVsdGEgZnJvbSBleGlzdGluZyBwYWNrcy4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgY29kZSB0byBwYXJzZSB0aGUgY29tbWFuZCBsaW5lICJnaXQgZ3JlcCA8cGF0dGVybnM+Li4uIDxyZXY+CisgICBbWy0tXSA8cGF0aHNwZWM+Li4uXSIgaGFzIGJlZW4gY2xlYW5lZCB1cCwgYW5kIGEgaGFuZGZ1bCBvZiBidWdzCisgICBoYXZlIGJlZW4gZml4ZWQgKGUuZy4gd2UgdXNlZCB0byBjaGVjayAiLS0iIGlmIGl0IGlzIGEgcmV2KS4KKworICogImdpdCBscy1yZW1vdGUiIGFuZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUiIGFyZSBkZXNpZ25lZCB0byB3b3JrCisgICB3aXRob3V0IGJlaW5nIGluIGEgZGlyZWN0b3J5IHVuZGVyIEdpdCdzIGNvbnRyb2wuICBIb3dldmVyLCByZWNlbnQKKyAgIHVwZGF0ZXMgcmV2ZWFsZWQgdGhhdCB3ZSByYW5kb21seSBsb29rIGludG8gYSBkaXJlY3RvcnkgY2FsbGVkCisgICAuZ2l0LyB3aXRob3V0IGFjdHVhbGx5IGRvaW5nIG5lY2Vzc2FyeSBzZXQtdXAgd2hlbiB3b3JraW5nIGluIGEKKyAgIHJlcG9zaXRvcnkuICBTdG9wIGRvaW5nIHNvLgorCisgKiAiZ2l0IHNob3ctYnJhbmNoIiBleHBlY3RlZCB0aGVyZSB3ZXJlIG9ubHkgdmVyeSBzaG9ydCBicmFuY2ggbmFtZXMKKyAgIGluIHRoZSByZXBvc2l0b3J5IGFuZCB1c2VkIGEgZml4ZWQtbGVuZ3RoIGJ1ZmZlciB0byBob2xkIHRoZW0KKyAgIHdpdGhvdXQgY2hlY2tpbmcgZm9yIG92ZXJmbG93LgorCisgKiBBIGNhbGxlciBvZiB0ZW1wZmlsZSBBUEkgdGhhdCB1c2VzIHN0ZGlvIGludGVyZmFjZSB0byB3cml0ZSB0bworICAgZmlsZXMgbWF5IGlnbm9yZSBlcnJvcnMgd2hpbGUgd3JpdGluZywgd2hpY2ggaXMgZGV0ZWN0ZWQgd2hlbgorICAgdGVtcGZpbGUgaXMgY2xvc2VkICh3aXRoIGEgY2FsbCB0byBmZXJyb3IoKSkuICBCeSB0aGF0IHRpbWUsIHRoZQorICAgb3JpZ2luYWwgZXJybm8gdGhhdCBtYXkgaGF2ZSB0b2xkIHVzIHdoYXQgd2VudCB3cm9uZyBpcyBsaWtlbHkgdG8KKyAgIGJlIGxvbmcgZ29uZSBhbmQgd2FzIG92ZXJ3cml0dGVuIGJ5IGFuIGlycmVsZXZhbnQgdmFsdWUuCisgICBjbG9zZV90ZW1wZmlsZSgpIG5vdyByZXNldHMgZXJybm8gdG8gRUlPIHRvIG1ha2UgZXJybm8gYXQgbGVhc3QKKyAgIHByZWRpY3RhYmxlLgorCisgKiAiZ2l0IHJlbW90ZSBybSBYIiwgd2hlbiBhIGJyYW5jaCBoYXMgcmVtb3RlIFggY29uZmlndXJlZCBhcyB0aGUKKyAgIHZhbHVlIG9mIGl0cyBicmFuY2guKi5yZW1vdGUsIHRyaWVkIHRvIHJlbW92ZSBicmFuY2guKi5yZW1vdGUgYW5kCisgICBicmFuY2guKi5tZXJnZSBhbmQgZmFpbGVkIGlmIGVpdGhlciBpcyB1bnNldC4KKworICogQSAiZ2MubG9nIiBmaWxlIGxlZnQgYnkgYSBiYWNrZ3JvdW5kZWQgImdjIC0tYXV0byIgZGlzYWJsZXMgZnVydGhlcgorICAgYXV0b21hdGljIGdjOyBpdCBoYXMgYmVlbiB0YXVnaHQgdG8gcnVuIGF0IGxlYXN0IG9uY2UgYSBkYXkgKGJ5CisgICBkZWZhdWx0KSBieSBpZ25vcmluZyBhIHN0YWxlICJnYy5sb2ciIGZpbGUgdGhhdCBpcyB0b28gb2xkLgorCisgKiBUaGUgY29kZSB0byBwYXJzZSAiZ2l0IC1jIFZBUj1WQUwgY21kIiBhbmQgc2V0IGNvbmZpZ3VyYXRpb24KKyAgIHZhcmlhYmxlIGZvciB0aGUgZHVyYXRpb24gb2YgY21kIGhhZCB0d28gc21hbGwgYnVncywgd2hpY2ggaGF2ZQorICAgYmVlbiBmaXhlZC4KKworICogdXNlci5lbWFpbCB0aGF0IGNvbnNpc3RzIG9mIG9ubHkgY3J1ZnQgY2hhcnMgc2hvdWxkIGNvbnNpc3RlbnRseQorICAgZXJyb3Igb3V0LCBidXQgZGlkbid0LgorCisgKiAiZ2l0IHVwbG9hZC1wYWNrIiwgd2hpY2ggaXMgYSBjb3VudGVyLXBhcnQgb2YgImdpdCBmZXRjaCIsIGRpZCBub3QKKyAgIHJlcG9ydCBhIHJlcXVlc3QgZm9yIGEgcmVmIHRoYXQgd2FzIG5vdCBhZHZlcnRpc2VkIGFzIGludmFsaWQuCisgICBUaGlzIGlzIGdlbmVyYWxseSBub3QgYSBwcm9ibGVtIChiZWNhdXNlICJnaXQgZmV0Y2giIHdpbGwgc3RvcAorICAgYmVmb3JlIG1ha2luZyBzdWNoIGEgcmVxdWVzdCksIGJ1dCBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8uCisKKyAqIEEgbGVhayBpbiBhIGNvZGVwYXRoIHRvIHJlYWQgZnJvbSBhIHBhY2tlZCBvYmplY3QgaW4gKHJhcmUpIGNhc2VzCisgICBoYXMgYmVlbiBwbHVnZ2VkLgorCisgKiBXaGVuIGEgcmVkaXJlY3RlZCBodHRwIHRyYW5zcG9ydCBnZXRzIGFuIGVycm9yIGR1cmluZyB0aGUKKyAgIHJlZGlyZWN0ZWQgcmVxdWVzdCwgd2UgaWdub3JlZCB0aGUgZXJyb3Igd2UgZ290IGZyb20gdGhlIHNlcnZlciwKKyAgIGFuZCBlbmRlZCB1cCBnaXZpbmcgYSBub3Qtc28tdXNlZnVsIGVycm9yIG1lc3NhZ2UuCisKKyAqIFRoZSBwYXRjaCBzdWJjb21tYW5kIG9mICJnaXQgYWRkIC1pIiB3YXMgbWVhbnQgdG8gaGF2ZSBwYXRocworICAgc2VsZWN0aW9uIHByb21wdCBqdXN0IGxpa2Ugb3RoZXIgc3ViY29tbWFuZCwgdW5saWtlICJnaXQgYWRkIC1wIgorICAgZGlyZWN0bHkganVtcHMgdG8gaHVuayBzZWxlY3Rpb24uICBSZWNlbnRseSwgdGhpcyB3YXMgYnJva2VuIGFuZAorICAgImFkZCAtaSIgbG9zdCB0aGUgcGF0aHMgc2VsZWN0aW9uIGRpYWxvZywgYnV0IGl0IG5vdyBoYXMgYmVlbgorICAgZml4ZWQuCisKKyAqIEdpdCB2Mi4xMiB3YXMgc2hpcHBlZCB3aXRoIGFuIGVtYmFycmFzc2luZyBicmVha2FnZSB3aGVyZSB2YXJpb3VzCisgICBvcGVyYXRpb25zIHRoYXQgdmVyaWZ5IHBhdGhzIGdpdmVuIGZyb20gdGhlIHVzZXIgc3RvcHBlZCBkeWluZyB3aGVuCisgICBzZWVpbmcgYW4gaXNzdWUsIGFuZCBpbnN0ZWFkIGxhdGVyIHRyaWdnZXJpbmcgc2VnZmF1bHQuCisKKyAqIFRoZXJlIGlzIG5vIG5lZWQgZm9yIFB5dGhvbiBvbmx5IHRvIGdpdmUgYSBmZXcgbWVzc2FnZXMgdG8gdGhlCisgICBzdGFuZGFyZCBlcnJvciBzdHJlYW0sIGJ1dCB3ZSBzb21laG93IGRpZC4KKworICogVGhlIGNvZGUgdG8gcGFyc2UgImdpdCBsb2cgLUwuLi4iIGNvbW1hbmQgbGluZSB3YXMgYnVnZ3kgd2hlbiB0aGVyZQorICAgYXJlIG1hbnkgcmFuZ2VzIHNwZWNpZmllZCB3aXRoIC1MOyBvdmVycnVuIG9mIHRoZSBhbGxvY2F0ZWQgYnVmZmVyCisgICBoYXMgYmVlbiBmaXhlZC4KKworICogVGhlIGNvbW1hbmQtbGluZSBwYXJzaW5nIG9mICJnaXQgbG9nIC1MIiBjb3BpZWQgaW50ZXJuYWwgZGF0YQorICAgc3RydWN0dXJlcyB1c2luZyBpbmNvcnJlY3Qgc2l6ZSBvbiBJTFAzMiBzeXN0ZW1zLgorCisgKiAiZ2l0IGRpZmYgLS1xdWlldCIgcmVsaWVzIG9uIHRoZSBzaXplIGZpZWxkIGluIGRpZmZfZmlsZXNwZWMgdG8gYmUKKyAgIGNvcnJlY3RseSBwb3B1bGF0ZWQsIGJ1dCBkaWZmX3BvcHVsYXRlX2ZpbGVzcGVjKCkgaGVscGVyIGZ1bmN0aW9uCisgICBtYWRlIGFuIGluY29ycmVjdCBzaG9ydC1jdXQgd2hlbiBhc2tlZCBvbmx5IHRvIHBvcHVsYXRlIHRoZSBzaXplCisgICBmaWVsZCBmb3IgcGF0aHMgdGhhdCBuZWVkIHRvIGdvIHRocm91Z2ggY29udmVydF90b19naXQoKSAoZS5nLiBDUkxGCisgICBjb252ZXJzaW9uKS4KKworICogQSBmZXcgdGVzdHMgd2VyZSBydW4gY29uZGl0aW9uYWxseSB1bmRlciAocmFyZSkgY29uZGl0aW9ucyB3aGVyZQorICAgdGhleSBjYW5ub3QgYmUgcnVuIChsaWtlIHJ1bm5pbmcgY3ZzIHRlc3RzIHVuZGVyICdyb290JyBhY2NvdW50KS4KKworICogImdpdCBicmFuY2ggQCIgY3JlYXRlZCByZWZzL2hlYWRzL0AgYXMgYSBicmFuY2gsIGFuZCBpbiBnZW5lcmFsIHRoZQorICAgY29kZSB0aGF0IGhhbmRsZWQgQHstMX0gYW5kIEB7dXBzdHJlYW19IHdhcyBhIGJpdCB0b28gbG9vc2UgaW4KKyAgIGRpc2FtYmlndWF0aW5nLgorCisgKiAiZ2l0IGZldGNoIiB0aGF0IHJlcXVlc3RzIGEgY29tbWl0IGJ5IG9iamVjdCBuYW1lLCB3aGVuIHRoZSBvdGhlcgorICAgc2lkZSBkb2VzIG5vdCBhbGxvdyBzdWNoIGFuIHJlcXVlc3QsIGZhaWxlZCB3aXRob3V0IG11Y2gKKyAgIGV4cGxhbmF0aW9uLgorCisgKiAiZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSIgZHJvcHMgYSBzaW5nbGUtcGFyZW50IGNvbW1pdCB0aGF0CisgICBiZWNvbWVzIGEgbm8tb3AsIGJ1dCBkaWQgbm90IGRyb3AgYSByb290IGNvbW1pdCB3aG9zZSB0cmVlIGlzIGVtcHR5LgorCisgKiBSZWNlbnQgdmVyc2lvbnMgb2YgR2l0IHRyZWF0cyBodHRwIGFsdGVybmF0ZXMgKHVzZWQgaW4gZHVtYiBodHRwCisgICB0cmFuc3BvcnQpIGp1c3QgbGlrZSBIVFRQIHJlZGlyZWN0cyBhbmQgcmVxdWlyZXMgdGhlIGNsaWVudCB0bworICAgZW5hYmxlIGZvbGxvd2luZyBpdCwgZHVlIHRvIHNlY3VyaXR5IGNvbmNlcm5zLiAgQnV0IHdlIGZvcmdvdCB0bworICAgZ2l2ZSBhIHdhcm5pbmcgd2hlbiB3ZSBkZWNpZGUgbm90IHRvIGhvbm9yIHRoZSBhbHRlcm5hdGVzLgorCisgKiAiZ2l0IHB1c2giIGhhZCBhIGhhbmRmdWwgb2YgY29kZXBhdGhzIHRoYXQgY291bGQgbGVhZCB0byBhIGRlYWRsb2NrCisgICB3aGVuIHVuZXhwZWN0ZWQgZXJyb3IgaGFwcGVuZWQsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiAiRHVtYiBodHRwIiB0cmFuc3BvcnQgdXNlZCB0byBtaXNwYXJzZSBhIG5vbnNlbnNlIGh0dHAtYWx0ZXJuYXRlcworICAgcmVzcG9uc2UsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiAiZ2l0IGFkZCAtcCA8cGF0aHNwZWM+IiB1bm5lY2Vzc2FyaWx5IGV4cGFuZGVkIHRoZSBwYXRoc3BlYyB0byBhCisgICBsaXN0IG9mIGluZGl2aWR1YWwgZmlsZXMgdGhhdCBtYXRjaGVzIHRoZSBwYXRoc3BlYyBieSBydW5uaW5nICJnaXQKKyAgIGxzLWZpbGVzIDxwYXRoc3BlYz4iLCBiZWZvcmUgZmVlZGluZyBpdCB0byAiZ2l0IGRpZmYtaW5kZXgiIHRvIHNlZQorICAgd2hpY2ggcGF0aHMgaGF2ZSBjaGFuZ2VzLCBiZWNhdXNlIGhpc3RvcmljYWxseSB0aGUgcGF0aHNwZWMKKyAgIGxhbmd1YWdlIHN1cHBvcnRlZCBieSAiZGlmZi1pbmRleCIgd2FzIHdlYWtlci4gIFRoZXNlIGRheXMgdGhleSBhcmUKKyAgIGVxdWl2YWxlbnQgYW5kIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBpbnRlcm5hbGx5IGV4cGFuZCBpdC4gIFRoaXMKKyAgIGhlbHBzIGJvdGggcGVyZm9ybWFuY2UgYW5kIGF2b2lkcyBjb21tYW5kIGxpbmUgYXJndW1lbnQgbGltaXQgb24KKyAgIHNvbWUgcGxhdGZvcm1zLgorICAgKG1lcmdlIDcyODhlMTJjY2UgamsvYWRkLWktdXNlLXBhdGhzcGVjcyBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgc3RhdHVzIC0tcG9yY2VsYWluIiBpcyBzdXBwb3NlZCB0byBnaXZlIGEgc3RhYmxlIG91dHB1dCwgYnV0IGEKKyAgIGZldyBzdHJpbmdzIHdlcmUgbGVmdCBhcyB0cmFuc2xhdGFibGUgYnkgbWlzdGFrZS4KKworICogImdpdCByZXZlcnQgLW0gMCAkbWVyZ2VfY29tbWl0IiBjb21wbGFpbmVkIHRoYXQgcmV2ZXJ0aW5nIGEgbWVyZ2UKKyAgIG5lZWRzIHRvIHNheSByZWxhdGl2ZSB0byB3aGljaCBwYXJlbnQgdGhlIHJldmVyc2lvbiBuZWVkcyB0bworICAgaGFwcGVuLCBhcyBpZiAiLW0gMCIgd2VyZW4ndCBnaXZlbi4gIFRoZSBjb3JyZWN0IGRpYWdub3NpcyBpcyB0aGF0CisgICAiLW0gMCIgZG9lcyBub3QgcmVmZXIgdG8gdGhlIGZpcnN0IHBhcmVudCAoIi1tIDEiIGRvZXMpLiAgVGhpcyBoYXMKKyAgIGJlZW4gZml4ZWQuCisKKyAqIENvZGUgdG8gcmVhZCBzdWJtb2R1bGUuPG5hbWU+Lmlnbm9yZSBjb25maWcgZGlkIG5vdCBzdGF0ZSB0aGUKKyAgIHZhcmlhYmxlIG5hbWUgY29ycmVjdGx5IHdoZW4gZ2l2aW5nIGFuIGVycm9yIG1lc3NhZ2UgZGlhZ25vc2luZworICAgbWlzY29uZmlndXJhdGlvbi4KKworICogRml4IGZvciBOT19QVEhSRUFEUyBidWlsZC4KKworICogRml4IGZvciBwb3RlbnRpYWwgc2VndiBpbnRyb2R1Y2VkIGluIHYyLjExLjAgYW5kIGxhdGVyIChhbHNvCisgICB2Mi4xMC4yKSB0byAiZ2l0IGxvZyAtLXBpY2theGUtcmVnZXggLVMiLgorCisgKiBBIGZldyB1bnRlcm1pbmF0ZWQgaGVyZSBkb2N1bWVudHMgaW4gdGVzdHMgd2VyZSBmaXhlZCwgd2hpY2ggaW4KKyAgIHR1cm4gcmV2ZWFsZWQgaW5jb3JyZWN0IGV4cGVjdGF0aW9ucyB0aGUgdGVzdHMgbWFrZS4gVGhlc2UgdGVzdHMKKyAgIGhhdmUgYmVlbiB1cGRhdGVkLgorCisgKiBGaXggZm9yIE5PX1BUSFJFQURTIG9wdGlvbi4KKyAgIChtZXJnZSAyMjI1ZTFlYTIwIGJ3L2dyZXAtcmVjdXJzZS1zdWJtb2R1bGVzIGxhdGVyIHRvIG1haW50KS4KKworICogR2l0IG5vdyBhdm9pZHMgYmxpbmRseSBmYWxsaW5nIGJhY2sgdG8gIi5naXQiIHdoZW4gdGhlIHNldHVwCisgICBzZXF1ZW5jZSBzYWlkIHdlIGFyZSBfbm90XyBpbiBHaXQgcmVwb3NpdG9yeS4gIEEgY29ybmVyIGNhc2UgdGhhdAorICAgaGFwcGVucyB0byB3b3JrIHJpZ2h0IG5vdyBtYXkgYmUgYnJva2VuIGJ5IGEgY2FsbCB0byBkaWUoIkJVRyIpLgorICAgKG1lcmdlIGIxZWY0MDBlZWMgamsvbm8tbG9va2luZy1hdC1kb3RnaXQtb3V0c2lkZS1yZXBvLWZpbmFsIGxhdGVyIHRvIG1haW50KS4KKworICogQSBmZXcgY29tbWFuZHMgdGhhdCByZWNlbnRseSBsZWFybmVkIHRoZSAiLS1yZWN1cnNlLXN1Ym1vZHVsZSIKKyAgIG9wdGlvbiBtaXNiZWhhdmVkIHdoZW4gc3RhcnRlZCBmcm9tIGEgc3ViZGlyZWN0b3J5IG9mIHRoZQorICAgc3VwZXJwcm9qZWN0LgorICAgKG1lcmdlIGIyZGZlYjdjMDAgYncvcmVjdXJzZS1zdWJtb2R1bGVzLXJlbGF0aXZlLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIEZyZWVCU0QgaW1wbGVtZW50YXRpb24gb2YgZ2V0Y3dkKDMpIGJlaGF2ZWQgZGlmZmVyZW50bHkgd2hlbiBhbgorICAgaW50ZXJtZWRpYXRlIGRpcmVjdG9yeSBpcyB1bnJlYWRhYmxlL3Vuc2VhcmNoYWJsZSBkZXBlbmRpbmcgb24gdGhlCisgICBsZW5ndGggb2YgdGhlIGJ1ZmZlciBwcm92aWRlZCwgd2hpY2ggb3VyIHN0cmJ1Zl9nZXRjd2QoKSB3YXMgbm90CisgICBhd2FyZSBvZi4gIHN0cmJ1Zl9nZXRjd2QoKSBoYXMgYmVlbiB0YXVnaHQgdG8gY29wZSB3aXRoIGl0IGJldHRlci4KKyAgIChtZXJnZSBhNTRlOTM4ZTViIHJzL2ZyZWVic2QtZ2V0Y3dkLXdvcmthcm91bmQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBBIHJlY2VudCB1cGRhdGUgdG8gInJlYmFzZSAtaSIgc3RvcHBlZCBydW5uaW5nIGhvb2tzIGZvciB0aGUgImdpdAorICAgY29tbWl0IiBjb21tYW5kIGR1cmluZyAicmV3b3JkIiBhY3Rpb24sIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBSZW1vdmluZyBhbiBlbnRyeSBmcm9tIGEgbm90ZXMgdHJlZSBhbmQgdGhlbiBsb29raW5nIGFub3RoZXIgbm90ZQorICAgZW50cnkgZnJvbSB0aGUgcmVzdWx0aW5nIHRyZWUgdXNpbmcgdGhlIGludGVybmFsIG5vdGVzIEFQSQorICAgZnVuY3Rpb25zIGRpZCBub3Qgd29yayBhcyBleHBlY3RlZC4gIE5vIGluLXRyZWUgdXNlcnMgb2YgdGhlIEFQSQorICAgaGFzIHN1Y2ggYWNjZXNzIHBhdHRlcm4sIGJ1dCBpdCBzdGlsbCBpcyB3b3J0aCBmaXhpbmcuCisKKyAqICJnaXQgcmVjZWl2ZS1wYWNrIiBjb3VsZCBoYXZlIGJlZW4gZm9yY2VkIHRvIGRpZSBieSBhdHRlbXB0aW5nCisgICBhbGxvY2F0ZSBhbiB1bnJlYXNvbmFibHkgbGFyZ2UgYW1vdW50IG9mIG1lbW9yeSB3aXRoIGEgY3JhZnRlZCBwdXNoCisgICBjZXJ0aWZpY2F0ZTsgdGhpcyBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSBmMjIxNGRlZGU5IGJjL3B1c2gtY2VydC1yZWNlaXZlLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFVwZGF0ZSBlcnJvciBoYW5kbGluZyBmb3IgY29kZXBhdGggdGhhdCBkZWFscyB3aXRoIGNvcnJ1cHQgbG9vc2UKKyAgIG9iamVjdHMuCisgICAobWVyZ2UgNTEwNTQxNzdiMyBqay9sb29zZS1vYmplY3QtaW5mby1yZXBvcnQtZXJyb3IgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGRpZmYgLS1zdWJtb2R1bGU9ZGlmZiIgbGVhcm5lZCB0byB3b3JrIGJldHRlciBpbiBhIHByb2plY3QKKyAgIHdpdGggYSBzdWJtb2R1bGUgdGhhdCBpbiB0dXJuIGhhcyBpdHMgb3duIHN1Ym1vZHVsZXMuCisgICAobWVyZ2UgMTdiMjU0Y2RhNiBzYi9zaG93LWRpZmYtZm9yLXN1Ym1vZHVsZS1pbi1kaWZmLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFVwZGF0ZSB0aGUgYnVpbGQgZGVwZW5kZW5jeSBzbyB0aGF0IGFuIHVwZGF0ZSB0byAvdXNyL2Jpbi9wZXJsCisgICBldGMuIHJlc3VsdCBpbiByZWNvbXB1dGF0aW9uIG9mIHBlcmwubWFrIGZpbGUuCisgICAobWVyZ2UgYzU5YzQ5MzljMiBhYi9yZWdlbi1wZXJsLW1hay13aXRoLWRpZmZlcmVudC1wZXJsIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tcHVzaC1vcHRpb249PHN0cmluZz4iIGxlYXJuZWQgdG8KKyAgIHByb3BhZ2F0ZSB0aGUgcHVzaCBvcHRpb24gcmVjdXJzaXZlbHkgZG93biB0byBwdXNoZXMgaW4gc3VibW9kdWxlcy4KKworICogSWYgYSBwYXRjaCBlLW1haWwgaGFkIGl0cyBmaXJzdCBwYXJhZ3JhcGggYWZ0ZXIgYW4gaW4tYm9keSBoZWFkZXIKKyAgIGluZGVudGVkIChldmVuIGFmdGVyIGEgYmxhbmsgbGluZSBhZnRlciB0aGUgaW4tYm9keSBoZWFkZXIgbGluZSksCisgICB0aGUgaW5kZW50ZWQgbGluZSB3YXMgbWlzdG9vayBhcyBhIGNvbnRpbnVhdGlvbiBvZiB0aGUgaW4tYm9keQorICAgaGVhZGVyLiAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSBmZDEwNjJlNTJlIGx0L21haWxpbmZvLWluLWJvZHktaGVhZGVyLWNvbnRpbnVhdGlvbiBsYXRlciB0byBtYWludCkuCisKKyAqIENsZWFuIHVwIGZhbGxvdXRzIGZyb20gcmVjZW50IHRpZ2h0ZW5pbmcgb2YgdGhlIHNldC11cCBzZXF1ZW5jZSwKKyAgIHdoZXJlIEdpdCBiYXJmcyB3aGVuIHJlcG9zaXRvcnkgaW5mb3JtYXRpb24gaXMgYWNjZXNzZWQgd2l0aG91dAorICAgZmlyc3QgZW5zdXJpbmcgdGhhdCBpdCB3YXMgc3RhcnRlZCBpbiBhIHJlcG9zaXRvcnkuCisgICAobWVyZ2UgYmNjYjIyY2JiMSBqay9uby1sb29raW5nLWF0LWRvdGdpdC1vdXRzaWRlLXJlcG8gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHA0IiB1c2VkICJuYW1lLXJldiBIRUFEIiB3aGVuIGl0IHdhbnRzIHRvIGxlYXJuIHdoYXQgYnJhbmNoIGlzCisgICBjaGVja2VkIG91dDsgaXQgc2hvdWxkIHVzZSAic3ltYm9saWMtcmVmIEhFQUQiLgorICAgKG1lcmdlIGVmZjQ1MTEwMWQgbGQvcDQtY3VycmVudC1icmFuY2gtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImh0dHAucHJveHkiIHNldCB0byBhbiBlbXB0eSBzdHJpbmcgaXMgdXNlZCB0byBkaXNhYmxlIHRoZSB1c2FnZSBvZgorICAgcHJveHkuICBXZSBicm9rZSB0aGlzIGVhcmx5IGxhc3QgeWVhci4KKyAgIChtZXJnZSBhZTUxZDkxMTA1IHNyL2h0dHAtcHJveHktY29uZmlndXJhdGlvbi1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAkR0lUX0RJUiBtYXkgaW4gc29tZSBjYXNlcyBiZSBub3JtYWxpemVkIHdpdGggYWxsIHN5bWxpbmtzIHJlc29sdmVkCisgICB3aGlsZSAiZ2l0ZGlyIiBwYXRoIGV4cGFuc2lvbiBpbiB0aGUgcGF0dGVybiBkb2VzIG5vdCByZWNlaXZlIHRoZQorICAgc2FtZSB0cmVhdG1lbnQsIGxlYWRpbmcgdG8gaW5jb3JyZWN0IG1pc21hdGNoLiAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KKworICogImdpdCBzdWJtb2R1bGUiIHNjcmlwdCBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBzdHJhbmdlIHBhdGhuYW1lcy4KKyAgIFByb3RlY3QgaXQgZnJvbSBhIHBhdGggd2l0aCBzbGFzaGVzIGluIHRoZW0sIGF0IGxlYXN0LgorCisgKiAiZ2l0IGZldGNoLXBhY2siIHdhcyBub3QgcHJlcGFyZWQgdG8gYWNjZXB0IEVSUiBwYWNrZXQgdGhhdCB0aGUKKyAgIHVwbG9hZC1wYWNrIGNhbiBzZW5kIHdpdGggYSBodW1hbi1yZWFkYWJsZSBlcnJvciBtZXNzYWdlLiAgSXQKKyAgIHNob3dlZCB0aGUgcGFja2V0IGNvbnRlbnRzIHdpdGggRVJSIHByZWZpeCwgc28gdGhlcmUgd2FzIG5vIGRhdGEKKyAgIGxvc3MsIGJ1dCBpdCB3YXMgcmVkdW5kYW50IHRvIHNheSAiRVJSIiBpbiBhbiBlcnJvciBtZXNzYWdlLgorICAgKG1lcmdlIDhlMmM3YmVmMDMganQvZmV0Y2gtcGFjay1lcnJvci1yZXBvcnRpbmcgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAibHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMiIGRpZCBub3QgcXVpdGUgd29yayB3ZWxsIGluIGEKKyAgIHByb2plY3Qgd2l0aCBuZXN0ZWQgc3VibW9kdWxlcy4KKworICogZ2V0aG9zdG5hbWUoMikgbWF5IG5vdCBOVUwgdGVybWluYXRlIHRoZSBidWZmZXIgaWYgaG9zdG5hbWUgZG9lcworICAgbm90IGZpdDsgdW5mb3J0dW5hdGVseSB0aGVyZSBpcyBubyBlYXN5IHdheSB0byBzZWUgaWYgb3VyIGJ1ZmZlcgorICAgd2FzIHRvbyBzbWFsbCwgYnV0IGF0IGxlYXN0IHRoaXMgd2lsbCBtYWtlIHN1cmUgd2Ugd2lsbCBub3QgZW5kIHVwCisgICB1c2luZyBnYXJiYWdlIHBhc3QgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgorICAgKG1lcmdlIDU3ODFhOWEyNzAgZHQveGdldGhvc3RuYW1lLW51bC10ZXJtaW5hdGlvbiBsYXRlciB0byBtYWludCkuCisKKyAqIEEgcmVjZW50IHVwZGF0ZSBicm9rZSAiZ2l0IGFkZCAtcCAuLi9mb28iIGZyb20gYSBzdWJkaXJlY3RvcnkuCisKKyAqIFdoaWxlIGhhbmR5LCAiZ2l0X3BhdGgoKSIgaXMgYSBkYW5nZXJvdXMgZnVuY3Rpb24gdG8gdXNlIGFzIGEKKyAgIGNhbGxzaXRlIHRoYXQgdXNlcyBpdCBzYWZlbHkgb25lIGRheSBjYW4gYmUgYnJva2VuIGJ5IGNoYW5nZXMKKyAgIHRvIG90aGVyIGNvZGUgdGhhdCBjYWxscyBpdC4gIFJlZHVjdGlvbiBvZiBpdHMgdXNlIGNvbnRpbnVlcy4KKyAgIChtZXJnZSAxNmQyNjc2YzllIGprL3dhci1vbi1naXQtcGF0aCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBzcGxpdC1pbmRleCBjb2RlIGNvbmZpZ3VyYXRpb24gY29kZSB1c2VkIGFuIHVuc2FmZSBnaXRfcGF0aCgpCisgICBmdW5jdGlvbiB3aXRob3V0IGNvcHlpbmcgaXRzIHJlc3VsdCBvdXQuCisKKyAqIE1hbnkgc3RhbGUgSFRUUChzKSBsaW5rcyBoYXZlIGJlZW4gdXBkYXRlZCBpbiBvdXIgZG9jdW1lbnRhdGlvbi4KKyAgIChtZXJnZSA2MTM0MTZmMGJlIGprL3VwZGF0ZS1saW5rcy1pbi1kb2NzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdC1zaGVsbCIgcmVqZWN0cyBhIHJlcXVlc3QgdG8gc2VydmUgYSByZXBvc2l0b3J5IHdob3NlIG5hbWUKKyAgIGJlZ2lucyB3aXRoIGEgZGFzaCwgd2hpY2ggbWFrZXMgaXQgbm8gbG9uZ2VyIHBvc3NpYmxlIHRvIGdldCBpdAorICAgY29uZnVzZWQgaW50byBzcGF3bmluZyBzZXJ2aWNlIHByb2dyYW1zIGxpa2UgImdpdC11cGxvYWQtcGFjayIgd2l0aAorICAgYW4gb3B0aW9uIGxpa2UgIi0taGVscCIsIHdoaWNoIGluIHR1cm4gd291bGQgc3Bhd24gYW4gaW50ZXJhY3RpdmUKKyAgIHBhZ2VyLCBpbnN0ZWFkIG9mIHdvcmtpbmcgd2l0aCB0aGUgcmVwb3NpdG9yeSB1c2VyIGFza2VkIHRvIGFjY2VzcworICAgKGkuZS4gdGhlIG9uZSB3aG9zZSBuYW1lIGlzICItLWhlbHAiKS4KKworICogT3RoZXIgbWlub3IgZG9jLCB0ZXN0IGFuZCBidWlsZCB1cGRhdGVzIGFuZCBjb2RlIGNsZWFudXBzLgorICAgKG1lcmdlIGRmMmE2ZTM4YjcgamsvcGFnZXItaW4tdXNlIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3NWVjNGE2Y2IwIGFiL2JyYW5jaC1saXN0LWRvYyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgM2U1YjM2YzYzNyBzZy9za2lwLXByZWZpeC1pbi1wcmV0dGlmeS1yZWZuYW1lIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAyYzVlMjg2NWNjIGprL2Zhc3QtaW1wb3J0LWNsZWFudXAgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDQ0NzMwNjBiYzIgYWIvdGVzdC1yZWFkbWUtdXBkYXRlcyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNDhhOTY5NzJmZCBhYi9kb2Mtc3VibWl0dGluZyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZjVjMmJjMmI5NiBqay9tYWtlLWNvY2NpY2hlY2stZGV0ZWN0LWVycm9ycyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYzEwNWY1NjNkMSBjYy91bnRyYWNrZWQgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDg2Njg5NzZiNTMgamMvdW51c2VkLXN5bWJvbHMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGZiYTI3NWRjOTMgamMvYnMtdC1pcy1ub3QtYS10YWItZm9yLXNlZCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYmU2ZWQxNDVkZSBtbS9scy1maWxlcy1zLWRvYyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNjBiMDkxYzY3OSBxcC9iaXNlY3QtZG9jZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA0NzI0MmNkMTAzIGFoL2RpZmYtZmlsZXMtb3Vycy10aGVpcnMtZG9jIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAzNWFkNDRjYmQ4IHNiL3N1Ym1vZHVsZS1ybS1hYnNvcmIgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDAzMDFmMWZkOTIgdmEvaTE4bi1wZXJsLXNjcmlwdHMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDczM2UwNjRkOTggdm4vcmV2aXNpb24tc2hvcnRoYW5kLWZvci1zaWRlLWJyYW5jaC1sb2cgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDg1OTk5NzQzZTcgdGIvZG9jLWVvbC1ub3JtYWxpemF0aW9uIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAwNzQ3ZmI0OWZkIGprL2xvb3NlLW9iamVjdC1mc2NrIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkOGY0NDgxYzRmIGprL3F1YXJhbnRpbmUtcmVjZWl2ZWQtb2JqZWN0cyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgN2JhMWNlZWY5NSB4eS9mb3JtYXQtcGF0Y2gtYmFzZSBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZmExOTEyYzg5YSBycy9taXNjLWNwcGNoZWNrLWZpeGVzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmMTdkNjQyZDNiIGFiL3B1c2gtY2FzLWRvYy1uLXRlc3QgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDYxZTI4MjQyNWEgc3MvZ2l0bW9kdWxlcy1pZ25vcmUtZG9jIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA4ZDMwNDdjZDViIHNzL3N1Ym1vZHVsZS1zaGFsbG93LWRvYyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMWY5ZTE4Yjc3MiBqay9wcmlvLXF1ZXVlLWF2b2lkLXN3YXAtd2l0aC1zZWxmIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA2MjdmZGUxMDI1IGprL3N1Ym1vZHVsZS1pbml0LXNlZ3YtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkMzk1NzQ1ZDgxIHJnL2RvYy1wdWxsLXR5cG9maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDAxZTYwYTlhMjIgcmcvZG9jLXN1Ym1pdHRpbmdwYXRjaGVzLXdvcmRmaXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDUwMWQzY2Q3Yjggc3IvaG9va3MtY3dkLWRvYyBsYXRlciB0byBtYWludCkuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTMuMS50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTMuMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ3Y2Q5NwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy4xLnR4dApAQCAtMCwwICsxLDExNCBAQAorR2l0IHYyLjEzLjEgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXhlcyBzaW5jZSB2Mi4xMworLS0tLS0tLS0tLS0tLS0tLS0KKworICogVGhlIFdlYiBpbnRlcmZhY2UgdG8gZ21hbmUgbmV3cyBhcmNoaXZlIGlzIGxvbmcgZ29uZSwgZXZlbiB0aG91Z2gKKyAgIHRoZSBhcnRpY2xlcyBhcmUgc3RpbGwgYWNjZXNzaWJsZSB2aWEgTlRUUC4gIFJlcGxhY2UgdGhlIGxpbmtzIHdpdGgKKyAgIG9uZXMgdG8gcHVibGljLWluYm94Lm9yZy4gIEJlY2F1c2UgdGhlaXIgbWVzc2FnZSBpZGVudGlmaWNhdGlvbiBpcworICAgYmFzZWQgb24gdGhlIGFjdHVhbCBtZXNzYWdlLWlkLCBpdCBpcyBsaWtlbHkgdGhhdCBpdCB3aWxsIGJlIGVhc2llcgorICAgdG8gbWlncmF0ZSBhd2F5IGZyb20gaXQgaWYvd2hlbiBuZWNlc3NhcnkuCisKKyAqIFVwZGF0ZSB0ZXN0cyB0byBwYXNzIHVuZGVyIEdFVFRFWFRfUE9JU09OIChhIG1lY2hhbmlzbSB0byBlbnN1cmUKKyAgIHRoYXQgb3V0cHV0IHN0cmluZ3MgdGhhdCBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXJlIG5vdAorICAgdHJhbnNsYXRlZCBieSBtaXN0YWtlKSwgYW5kIHRlbGwgVHJhdmlzQ0kgdG8gcnVuIHRoZW0uCisKKyAqIFNldHRpbmcgImxvZy5kZWNvcmF0ZT1mYWxzZSIgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBkaWQgbm90IHRha2UKKyAgIGVmZmVjdCBpbiB2Mi4xMywgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBBbiBlYXJsaWVyIHVwZGF0ZSB0byB0ZXN0IDc0MDAgbmVlZGVkIHRvIGJlIHNraXBwZWQgb24gQ1lHV0lOLgorCisgKiBHaXQgc29tZXRpbWVzIGdpdmVzIGFuIGFkdmljZSBpbiBhIHJoZXRvcmljYWwgcXVlc3Rpb24gdGhhdCBkb2VzCisgICBub3QgcmVxdWlyZSBhbiBhbnN3ZXIsIHdoaWNoIGNhbiBjb25mdXNlIG5ldyB1c2VycyBhbmQgbm9uIG5hdGl2ZQorICAgc3BlYWtlcnMuICBBdHRlbXB0IHRvIHJlcGhyYXNlIHRoZW0uCisKKyAqICJnaXQgcmVhZC10cmVlIC1tIiAobm8gdHJlZS1pc2gpIGdhdmUgYSBub25zZW5zZSBzdWdnZXN0aW9uICJ1c2UKKyAgIC0tZW1wdHkgaWYgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGluZGV4Ii4gIFdpdGggIi1tIiwgc3VjaCBhIHJlcXVlc3QKKyAgIHdpbGwgc3RpbGwgZmFpbCBhbnl3YXksIGFzIHlvdSdkIG5lZWQgdG8gbmFtZSBhdCBsZWFzdCBvbmUgdHJlZS1pc2gKKyAgIHRvIGJlIG1lcmdlZC4KKworICogVGhlIGNvZGVwYXRoIGluICJnaXQgYW0iIHRoYXQgaXMgdXNlZCB3aGVuIHJ1bm5pbmcgImdpdCByZWJhc2UiCisgICBsZWFrZWQgbWVtb3J5IGhlbGQgZm9yIHRoZSBsb2cgbWVzc2FnZSBvZiB0aGUgY29tbWl0cyBiZWluZyByZWJhc2VkLgorCisgKiAicGFjay1vYmplY3RzIiBjYW4gc3RyZWFtIGEgc2xpY2Ugb2YgYW4gZXhpc3RpbmcgcGFja2ZpbGUgb3V0IHdoZW4KKyAgIHRoZSBwYWNrIGJpdG1hcCBjYW4gdGVsbCB0aGF0IHRoZSByZWFjaGFibGUgb2JqZWN0cyBhcmUgYWxsIG5lZWRlZAorICAgaW4gdGhlIG91dHB1dCwgd2l0aG91dCBpbnNwZWN0aW5nIGluZGl2aWR1YWwgb2JqZWN0cy4gIFRoaXMKKyAgIHN0cmF0ZWd5IGhvd2V2ZXIgd291bGQgbm90IHdvcmsgd2VsbCB3aGVuICItLWxvY2FsIiBhbmQgb3RoZXIKKyAgIG9wdGlvbnMgYXJlIGluIHVzZSwgYW5kIG5lZWQgdG8gYmUgZGlzYWJsZWQuCisKKyAqIENsYXJpZnkgZG9jdW1lbnRhdGlvbiBmb3IgaW5jbHVkZS5wYXRoIGFuZCBpbmNsdWRlSWYuPGNvbmRpdGlvbj4ucGF0aAorICAgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMuCisKKyAqIFRhZyBvYmplY3RzLCB3aGljaCBhcmUgbm90IHJlYWNoYWJsZSBmcm9tIGFueSByZWYsIHRoYXQgcG9pbnQgYXQKKyAgIG1pc3Npbmcgb2JqZWN0cyB3ZXJlIG1pc2hhbmRsZWQgYnkgImdpdCBnYyIgYW5kIGZyaWVuZHMgKHRoZXkKKyAgIHNob3VsZCBzaWxlbnRseSBiZSBpZ25vcmVkIGluc3RlYWQpCisKKyAqIEEgZmV3IGh0dHA6Ly8gbGlua3MgdGhhdCBhcmUgcmVkaXJlY3RlZCB0byBodHRwczovLyBpbiB0aGUKKyAgIGRvY3VtZW50YXRpb24gaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gaHR0cHM6Ly8gbGlua3MuCisKKyAqIE1ha2Ugc3VyZSBvdXIgdGVzdHMgd291bGQgcGFzcyB3aGVuIHRoZSBzb3VyY2VzIGFyZSBjaGVja2VkIG91dAorICAgd2l0aCAicGxhdGZvcm0gbmF0aXZlIiBsaW5lIGVuZGluZyBjb252ZW50aW9uIGJ5IGRlZmF1bHQgb24KKyAgIFdpbmRvd3MuICBTb21lICJ0ZXh0IiBmaWxlcyBvdXQgdGVzdHMgdXNlIGFuZCB0aGUgdGVzdCBzY3JpcHRzCisgICB0aGVtc2VsdmVzIHRoYXQgYXJlIG1lYW50IHRvIGJlIHJ1biB3aXRoIC9iaW4vc2gsIG91Z2h0IHRvIGJlCisgICBjaGVja2VkIG91dCB3aXRoIGVvbD1MRiBldmVuIG9uIFdpbmRvd3MuCisKKyAqIEZpeCBtZW1vcnkgbGVha3MgcG9pbnRlZCBvdXQgYnkgQ292ZXJpdHkgKGFuZCBwZW9wbGUpLgorCisgKiBUaGUgcmVjZWl2ZS1wYWNrIHByb2dyYW0gbm93IG1ha2VzIHN1cmUgdGhhdCB0aGUgcHVzaCBjZXJ0aWZpY2F0ZQorICAgcmVjb3JkcyB0aGUgc2FtZSBzZXQgb2YgcHVzaCBvcHRpb25zIHVzZWQgZm9yIHB1c2hpbmcuCisKKyAqICJnaXQgY2hlcnJ5LXBpY2siIGFuZCBvdGhlciB1c2VzIG9mIHRoZSBzZXF1ZW5jZXIgbWFjaGluZXJ5CisgICBtaXNoYW5kbGVkIGEgdHJhaWxlciBibG9jayB3aG9zZSBsYXN0IGxpbmUgaXMgYW4gaW5jb21wbGV0ZSBsaW5lLgorICAgVGhpcyBoYXMgYmVlbiBmaXhlZCBzbyB0aGF0IGFuIGFkZGl0aW9uYWwgc2lnbi1vZmYgZXRjLiBhcmUgYWRkZWQKKyAgIGFmdGVyIGNvbXBsZXRpbmcgdGhlIGV4aXN0aW5nIGluY29tcGxldGUgbGluZS4KKworICogVGhlIHNoZWxsIGNvbXBsZXRpb24gc2NyaXB0IChpbiBjb250cmliLykgbGVhcm5lZCAiZ2l0IHN0YXNoIiBoYXMKKyAgIGEgbmV3ICJwdXNoIiBzdWJjb21tYW5kLgorCisgKiBUcmF2aXMgQ0kgZ2FpbmVkIGEgdGFzayB0byBmb3JtYXQgdGhlIGRvY3VtZW50YXRpb24gd2l0aCBib3RoCisgICBBc2NpaURvYyBhbmQgQXNjaWlEb2N0b3IuCisKKyAqIFVwZGF0ZSB0aGUgQyBzdHlsZSByZWNvbW1lbmRhdGlvbiBmb3Igbm90ZXMgZm9yIHRyYW5zbGF0b3JzLCBhcworICAgcmVjZW50IHZlcnNpb25zIG9mIGdldHRleHQgdG9vbHMgY2FuIHdvcmsgd2l0aCBvdXIgc3R5bGUgb2YKKyAgIG11bHRpLWxpbmUgY29tbWVudHMuCisKKyAqICJnaXQgY2xvbmUgLS1jb25maWcgdmFyPXZhbCIgaXMgYSB3YXkgdG8gcG9wdWxhdGUgdGhlCisgICBwZXItcmVwb3NpdG9yeSBjb25maWd1cmF0aW9uIGZpbGUgb2YgdGhlIG5ldyByZXBvc2l0b3J5LCBidXQgaXQgZGlkCisgICBub3Qgd29yayB3ZWxsIHdoZW4gdmFsIGlzIGFuIGVtcHR5IHN0cmluZy4gIFRoaXMgaGFzIGJlZW4gZml4ZWQuCisKKyAqIEEgZmV3IGNvZGVwYXRocyBpbiAiY2hlY2tvdXQiIGFuZCAiYW0iIHdvcmtpbmcgb24gYW4gdW5ib3JuIGJyYW5jaAorICAgdHJpZWQgdG8gYWNjZXNzIGFuIHVuaW5pdGlhbGl6ZWQgcGllY2Ugb2YgbWVtb3J5LgorCisgKiAiZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0uLi4iIHdpdGggJShIRUFEKSBpbiB0aGUgZm9ybWF0IHVzZWQgdG8KKyAgIHJlc29sdmUgdGhlIEhFQUQgc3ltcmVmIGFzIG1hbnkgdGltZXMgYXMgaXQgaGFkIHByb2Nlc3NlZCByZWZzLAorICAgd2hpY2ggd2FzIHdhc3RlZnVsLCBhbmQgImdpdCBicmFuY2giIHNoYXJlZCB0aGUgc2FtZSBwcm9ibGVtLgorCisgKiAiZ2l0IGludGVycHJldC10cmFpbGVycyIsIHdoZW4gdXNlZCBhcyBHSVRfRURJVE9SIGZvciAiZ2l0IGNvbW1pdAorICAgLXYiLCBsb29rZWQgZm9yIGFuZCBhcHBlbmRlZCB0byBhIHRyYWlsZXIgYmxvY2sgYXQgdGhlIHZlcnkgZW5kLAorICAgaS5lLiBhdCB0aGUgZW5kIG9mIHRoZSAiZGlmZiIgb3V0cHV0LiAgVGhlIGNvbW1hbmQgaGFzIGJlZW4KKyAgIGNvcnJlY3RlZCB0byBwYXkgYXR0ZW50aW9uIHRvIHRoZSBjdXQtbWFyayBsaW5lICJjb21taXQgLXYiIGFkZHMgdG8KKyAgIHRoZSBidWZmZXItLS10aGUgcmVhbCB0cmFpbGVyIGJsb2NrIHNob3VsZCBhcHBlYXIganVzdCBiZWZvcmUgaXQuCisKKyAqIEEgdGVzdCBhbGxvd2VkIGJvdGggImdpdCBwdXNoIiBhbmQgImdpdCByZWNlaXZlLXBhY2siIG9uIHRoZSBvdGhlcgorICAgZW5kIHdyaXRlIHRoZWlyIHRyYWNlcyBpbnRvIHRoZSBzYW1lIGZpbGUuICBUaGlzIGlzIE9LIG9uIHBsYXRmb3JtcworICAgdGhhdCBhbGxvd3MgYXRvbWljYWxseSBhcHBlbmRpbmcgdG8gYSBmaWxlIG9wZW5lZCB3aXRoIE9fQVBQRU5ELAorICAgYnV0IG9uIG90aGVyIHBsYXRmb3JtcyBsZWQgdG8gYSBtYW5nbGVkIG91dHB1dCwgY2F1c2luZworICAgaW50ZXJtaXR0ZW50IHRlc3QgZmFpbHVyZXMuICBUaGlzIGhhcyBiZWVuIGZpeGVkIGJ5IGRpc2FibGluZworICAgdHJhY2VzIGZyb20gInJlY2VpdmUtcGFjayIgaW4gdGhlIHRlc3QuCisKKyAqICJmb29cYmFyXGJheiIgaW4gImdpdCBmZXRjaCBmb29cYmFyXGJheiIsIGV2ZW4gdGhvdWdoIHRoZXJlIGlzIG5vCisgICBzbGFzaGVzIGluIGl0LCBjYW5ub3QgYmUgYSBuaWNrbmFtZSBmb3IgYSByZW1vdGUgb24gV2luZG93cywgYXMKKyAgIHRoYXQgaXMgbGlrZWx5IHRvIGJlIGEgcGF0aG5hbWUgb24gYSBsb2NhbCBmaWxlc3lzdGVtLgorCisgKiBUaGUgImNvbGxpc2lvbiBkZXRlY3RpbmciIFNIQS0xIGltcGxlbWVudGF0aW9uIHNoaXBwZWQgd2l0aCAyLjEzCisgICB3YXMgcXVpdGUgYnJva2VuIG9uIHNvbWUgYmlnLWVuZGlhbiBwbGF0Zm9ybXMgYW5kL29yIHBsYXRmb3JtcyB0aGF0CisgICBkbyBub3QgbGlrZSB1bmFsaWduZWQgZmV0Y2hlcy4gIFVwZGF0ZSB0byB0aGUgdXBzdHJlYW0gY29kZSB3aGljaAorICAgaGFzIGFscmVhZHkgZml4ZWQgdGhlc2UgaXNzdWVzLgorCisgKiAiZ2l0IGFtIC1oIiB0cmlnZ2VyZWQgYSBCVUcoKS4KKworICogVGhlIGludGVyYWN0aW9uIG9mICJ1cmwuKi5pbnN0ZWFkT2YiIGFuZCBjdXN0b20gVVJMIHNjaGVtZSdzCisgICB3aGl0ZWxpc3RpbmcgaXMgbm93IGRvY3VtZW50ZWQgYmV0dGVyLgorCitBbHNvIGNvbnRhaW5zIHZhcmlvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy4yLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy4yLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzJiMjAwCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjIudHh0CkBAIC0wLDAgKzEsNTQgQEAKK0dpdCB2Mi4xMy4yIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT0KKworRml4ZXMgc2luY2UgdjIuMTMuMQorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiBUaGUgImNvbGxpc2lvbiBkZXRlY3RpbmciIFNIQS0xIGltcGxlbWVudGF0aW9uIHNoaXBwZWQgd2l0aCAyLjEzLjEKKyAgIHdhcyBzdGlsbCBicm9rZW4gb24gc29tZSBwbGF0Zm9ybXMuICBVcGRhdGUgdG8gdGhlIHVwc3RyZWFtIGNvZGUKKyAgIGFnYWluIHRvIHRha2UgdGhlaXIgZml4LgorCisgKiAiZ2l0IGNoZWNrb3V0IC0tcmVjdXJzZS1zdWJtb2R1bGVzIiBkaWQgbm90IHF1aXRlIHdvcmsgd2l0aCBhCisgICBzdWJtb2R1bGUgdGhhdCBpdHNlbGYgaGFzIHN1Ym1vZHVsZXMuCisKKyAqIEludHJvZHVjZSB0aGUgQlVHKCkgbWFjcm8gdG8gaW1wcm92ZSBkaWUoIkJVRzogLi4uIikuCisKKyAqIFRoZSAicnVuLWNvbW1hbmQiIEFQSSBpbXBsZW1lbnRhdGlvbiBoYXMgYmVlbiBtYWRlIG1vcmUgcm9idXN0CisgICBhZ2FpbnN0IGRlYWQtbG9ja2luZyBpbiBhIHRocmVhZGVkIGVudmlyb25tZW50LgorCisgKiBBIHJlY2VudCB1cGRhdGUgdG8gdDU1NDUtcHVzaC1vcHRpb25zLnNoIHN0YXJ0ZWQgc2tpcHBpbmcgYWxsIHRoZQorICAgdGVzdHMgaW4gdGhlIHNjcmlwdCB3aGVuIGEgd2ViIHNlcnZlciB0ZXN0aW5nIGlzIGRpc2FibGVkIG9yCisgICB1bmF2YWlsYWJsZSwgbm90IGp1c3QgdGhlIG9uZXMgdGhhdCByZXF1aXJlIGEgd2ViIHNlcnZlci4gIE5vbiBIVFRQCisgICB0ZXN0cyBoYXZlIGJlZW4gc2FsdmFnZWQgdG8gYWx3YXlzIHJ1biBpbiB0aGlzIHNjcmlwdC4KKworICogImdpdCBjbGVhbiAtZCIgdXNlZCB0byBjbGVhbiBkaXJlY3RvcmllcyB0aGF0IGhhcyBpZ25vcmVkIGZpbGVzLAorICAgZXZlbiB0aG91Z2ggdGhlIGNvbW1hbmQgc2hvdWxkIG5vdCBsb3NlIGlnbm9yZWQgb25lcyB3aXRob3V0ICIteCIuCisgICAiZ2l0IHN0YXR1cyAtLWlnbm9yZWQiICBkaWQgbm90IGxpc3QgaWdub3JlZCBhbmQgdW50cmFja2VkIGZpbGVzCisgICB3aXRob3V0ICItdWFsbCIuICBUaGVzZSBoYXZlIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgdGltZXN0YW1wIG9mIHRoZSBpbmRleCBmaWxlIGlzIG5vdyB0YWtlbiBhZnRlciB0aGUgZmlsZSBpcworICAgY2xvc2VkLCB0byBoZWxwIFdpbmRvd3MsIG9uIHdoaWNoIGEgc3RhbGUgdGltZXN0YW1wIGlzIHJlcG9ydGVkIGJ5CisgICBmc3RhdCgpIG9uIGEgZmlsZSB0aGF0IGlzIG9wZW5lZCBmb3Igd3JpdGluZyBhbmQgZGF0YSB3YXMgd3JpdHRlbgorICAgYnV0IG5vdCB5ZXQgY2xvc2VkLgorCisgKiAiZ2l0IHB1bGwgLS1yZWJhc2UgLS1hdXRvc3Rhc2giIGRpZG4ndCBhdXRvLXN0YXNoIHdoZW4gdGhlIGxvY2FsIGhpc3RvcnkKKyAgIGZhc3QtZm9yd2FyZHMgdG8gdGhlIHVwc3RyZWFtLgorCisgKiAiZ2l0IGRlc2NyaWJlIC0tY29udGFpbnMiIHBlbmFsaXplZCBsaWdodC13ZWlnaHQgdGFncyBzbyBtdWNoIHRoYXQKKyAgIHRoZXkgd2VyZSBhbG1vc3QgbmV2ZXIgY29uc2lkZXJlZC4gIEluc3RlYWQsIGdpdmUgdGhlbSBhYm91dCB0aGUKKyAgIHNhbWUgY2hhbmNlIHRvIGJlIGNvbnNpZGVyZWQgYXMgYW4gYW5ub3RhdGVkIHRhZyB0aGF0IGlzIHRoZSBzYW1lCisgICBhZ2UgYXMgdGhlIHVuZGVybHlpbmcgY29tbWl0IHdvdWxkLgorCisgKiBUaGUgcmVzdWx0IGZyb20gImdpdCBkaWZmIiB0aGF0IGNvbXBhcmVzIHR3byBibG9icywgZS5nLiAiZ2l0IGRpZmYKKyAgICRjb21taXQxOiRwYXRoICRjb21taXQyOiRwYXRoIiwgdXNlZCB0byBiZSBzaG93biB3aXRoIHRoZSBmdWxsCisgICBvYmplY3QgbmFtZSBhcyBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lLCBidXQgaXQgaXMgbW9yZSBuYXR1cmFsIHRvCisgICB1c2UgdGhlICRwYXRoIGluIHRoZSBvdXRwdXQgYW5kIHVzZSBpdCB0byBsb29rIHVwIC5naXRhdHRyaWJ1dGVzLgorCisgKiBBIGZsYWt5IHRlc3QgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBIZWxwIGNvbnRyaWJ1dG9ycyB0aGF0IHZpc2l0IHVzIGF0IEdpdEh1Yi4KKworICogImdpdCBzdGFzaCBwdXNoIDxwYXRoc3BlYz4iIGRpZCBub3Qgd29yayBmcm9tIGEgc3ViZGlyZWN0b3J5IGF0IGFsbC4KKyAgIEJ1Z2ZpeCBmb3IgYSB0b3BpYyBpbiB2Mi4xMworCitBbHNvIGNvbnRhaW5zIHZhcmlvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy4zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDc2YWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjMudHh0CkBAIC0wLDAgKzEsNjIgQEAKK0dpdCB2Mi4xMy4zIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT0KKworRml4ZXMgc2luY2UgdjIuMTMuMgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiBUaGUgImNvbGxpc2lvbiBkZXRlY3RpbmciIFNIQS0xIGltcGxlbWVudGF0aW9uIHNoaXBwZWQgd2l0aCAyLjEzLjIKKyAgIHdhcyBzdGlsbCBicm9rZW4gb24gc29tZSBwbGF0Zm9ybXMuICBVcGRhdGUgdG8gdGhlIHVwc3RyZWFtIGNvZGUKKyAgIGFnYWluIHRvIHRha2UgdGhlaXIgZml4LgorCisgKiBUaGUgJ2RpZmYtaGlnaGxpZ2h0JyBwcm9ncmFtIChpbiBjb250cmliLykgaGFzIGJlZW4gcmVzdHJ1Y3R1cmVkCisgICBmb3IgZWFzaWVyIHJldXNlIGJ5IGFuIGV4dGVybmFsIHByb2plY3QgJ2RpZmYtc28tZmFuY3knLgorCisgKiAiZ2l0IG1lcmdldG9vbCIgbGVhcm5lZCB0byB3b3JrIGFyb3VuZCBhIHdyYXBwZXIgTWFjT1MgWCBhZGRzCisgICBhcm91bmQgdW5kZXJseWluZyBtZWxkLgorCisgKiBBbiBleGFtcGxlIGluIGRvY3VtZW50YXRpb24gdGhhdCBkb2VzIG5vdCB3b3JrIGluIG11bHRpIHdvcmt0cmVlCisgICBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlIHByZXR0eS1mb3JtYXQgc3BlY2lmaWVycyBsaWtlICclaCcsICcldCcsIGV0Yy4gaGFkIGFuCisgICBvcHRpbWl6YXRpb24gdGhhdCBubyBsb25nZXIgd29ya3MgY29ycmVjdGx5LiAgSW4gcHJlcGFyYXRpb24vaG9wZQorICAgb2YgZ2V0dGluZyBpdCBjb3JyZWN0bHkgaW1wbGVtZW50ZWQsIGZpcnN0IGRpc2NhcmQgdGhlIG9wdGltaXphdGlvbgorICAgdGhhdCBpcyBicm9rZW4uCisKKyAqIFRoZSBjb2RlIHRvIHBpY2sgdXAgYW5kIGV4ZWN1dGUgY29tbWFuZCBhbGlhcyBkZWZpbml0aW9uIGZyb20gdGhlCisgICBjb25maWd1cmF0aW9uIHVzZWQgdG8gc3dpdGNoIHRvIHRoZSB0b3Agb2YgdGhlIHdvcmtpbmcgdHJlZSBhbmQKKyAgIHRoZW4gY29tZSBiYWNrIHdoZW4gdGhlIGV4cGFuZGVkIGFsaWFzIHdhcyBleGVjdXRlZCwgd2hpY2ggd2FzCisgICB1bm5lY2Vzc2FyaWx5bCBjb21wbGV4LiAgQXR0ZW1wdCB0byBzaW1wbGlmeSB0aGUgbG9naWMgYnkgdXNpbmcgdGhlCisgICBlYXJseS1jb25maWcgbWVjaGFuaXNtIHRoYXQgZG9lcyBub3QgY2hkaXIgYXJvdW5kLgorCisgKiAiZ2l0IGFkZCAtcCIgd2VyZSB1cGRhdGVkIGluIDIuMTIgdGltZWZyYW1lIHRvIGNvcGUgd2l0aCBjdXN0b20KKyAgIGNvcmUuY29tbWVudGNoYXIgYnV0IHRoZSBpbXBsZW1lbnRhdGlvbiB3YXMgYnVnZ3kgYW5kIGEKKyAgIG1ldGFjaGFyYWN0ZXIgbGlrZSAkIGFuZCAqIGRpZCBub3Qgd29yay4KKworICogRml4IGEgcmVjZW50IHJlZ3Jlc3Npb24gdG8gImdpdCByZWJhc2UgLWkiIGFuZCBhZGQgdGVzdHMgdGhhdCB3b3VsZAorICAgaGF2ZSBjYXVnaHQgaXQgYW5kIG90aGVycy4KKworICogQW4gdW5hbGlnbmVkIDMyLWJpdCBhY2Nlc3MgaW4gcGFjay1iaXRtYXAgY29kZSBhaHMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRpZ2h0ZW4gZXJyb3IgY2hlY2tzIGZvciBpbnZhbGlkICJnaXQgYXBwbHkiIGlucHV0LgorCisgKiBUaGUgc3BsaXQgaW5kZXggY29kZSBkaWQgbm90IGhvbm9yIGNvcmUuc2hhcmVkcmVwb3NpdG9yeSBzZXR0aW5nCisgICBjb3JyZWN0bHkuCisKKyAqIFRoZSBNYWtlZmlsZSBydWxlIGluIGNvbnRyaWIvc3VidHJlZSBmb3IgYnVpbGRpbmcgZG9jdW1lbnRhdGlvbgorICAgbGVhcm5lZCB0byBob25vdXIgVVNFX0FTQ0lJRE9DVE9SIGp1c3QgbGlrZSB0aGUgbWFpbiBkb2N1bWVudGF0aW9uCisgICBzZXQgZG9lcy4KKworICogQSBmZXcgdGVzdHMgdGhhdCB0cmllZCB0byB2ZXJpZnkgdGhlIGNvbnRlbnRzIG9mIHB1c2ggY2VydGlmaWNhdGVzCisgICBkaWQgbm90IHVzZSAnZ2l0IHJldi1wYXJzZScgdG8gZm9ybXVsYXRlIHRoZSBsaW5lIHRvIGxvb2sgZm9yIGluCisgICB0aGUgY2VydGlmaWNhdGUgY29ycmVjdGx5LgorCisgKiBBZnRlciAiZ2l0IGJyYW5jaCAtLW1vdmUiIG9mIHRoZSBjdXJyZW50bHkgY2hlY2tlZCBvdXQgYnJhbmNoLCB0aGUKKyAgIGNvZGUgdG8gd2FsayB0aGUgcmVmbG9nIG9mIEhFQUQgdmlhICJsb2cgLWciIGFuZCBmcmllbmRzCisgICBpbmNvcnJlY3RseSBzdG9wcGVkIGF0IHRoZSByZWZsb2cgZW50cnkgdGhhdCByZWNvcmRzIHRoZSByZW5hbWluZworICAgb2YgdGhlIGJyYW5jaC4KKworICogVGhlIHJld3JpdGUgb2YgImdpdCBicmFuY2ggLS1saXN0IiB1c2luZyBmb3ItZWFjaC1yZWYncyBpbnRlcm5hbHMKKyAgIHRoYXQgaGFwcGVuZWQgaW4gdjIuMTMgcmVncmVzc2VkIGl0cyBoYW5kbGluZyBvZiBjb2xvci5icmFuY2gubG9jYWw7CisgICB0aGlzIGhhcyBiZWVuIGZpeGVkLgorCitBbHNvIGNvbnRhaW5zIHZhcmlvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy40LnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy40LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTlmOGY5Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjQudHh0CkBAIC0wLDAgKzEsMjggQEAKK0dpdCB2Mi4xMy40IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT0KKworRml4ZXMgc2luY2UgdjIuMTMuMworLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiBVcGRhdGUgdGhlIGNoYXJhY3RlciB3aWR0aCB0YWJsZXMuCisKKyAqIEEgcmVjZW50IHVwZGF0ZSBicm9rZSBhbiBhbGlhcyB0aGF0IGNvbnRhaW5lZCBhbiB1cHBlcmNhc2UgbGV0dGVyLAorICAgd2hpY2ggaGFzIGJlZW4gZml4ZWQuCisKKyAqIE9uIEN5Z3dpbiwgc2ltaWxhciB0byBXaW5kb3dzLCAiZ2l0IHB1c2ggLy9zZXJ2ZXIvc2hhcmUvcmVwb3NpdG9yeSIKKyAgIG91Z2h0IHRvIG1lYW4gYSByZXBvc2l0b3J5IG9uIGEgbmV0d29yayBzaGFyZSB0aGF0IGNhbiBiZSBhY2Nlc3NlZAorICAgbG9jYWxseSwgYnV0IHRoaXMgZGlkIG5vdCB3b3JrIGNvcnJlY3RseSBkdWUgdG8gc3RyaXBwaW5nIHRoZSBkb3VibGUKKyAgIHNsYXNoZXMgYXQgdGhlIGJlZ2lubmluZy4KKworICogVGhlIHByb2dyZXNzIG1ldGVyIGRpZCBub3QgZ2l2ZSBhIHVzZWZ1bCBvdXRwdXQgd2hlbiB3ZSBoYXZlbid0IGhhZAorICAgMC41IHNlY29uZHMgdG8gbWVhc3VyZSB0aGUgdGhyb3VnaHB1dCBkdXJpbmcgdGhlIGludGVydmFsLiAgSW5zdGVhZAorICAgc2hvdyB0aGUgb3ZlcmFsbCB0aHJvdWdocHV0IHJhdGUgYXQgdGhlIGVuZCwgd2hpY2ggaXMgYSBtdWNoIG1vcmUKKyAgIHVzZWZ1bCBudW1iZXIuCisKKyAqIFdlIHJ1biBhbiBlYXJseSBwYXJ0IG9mICJnaXQgZ2MiIHRoYXQgZGVhbHMgd2l0aCByZWZzIGJlZm9yZQorICAgZGFlbW9uaXNpbmcgKGFuZCBub3QgdW5kZXIgbG9jaykgZXZlbiB3aGVuIHJ1bm5pbmcgYSBiYWNrZ3JvdW5kCisgICBhdXRvLWdjLCB3aGljaCBjYXVzZWQgbXVsdGlwbGUgZ2MgcHJvY2Vzc2VzIGF0dGVtcHRpbmcgdG8gcnVuIHRoZQorICAgZWFybHkgcGFydCBhdCB0aGUgc2FtZSB0aW1lLiAgVGhpcyBpcyBub3cgcHJldmVudGVkIGJ5IHJ1bm5pbmcgdGhlCisgICBlYXJseSBwYXJ0IGFsc28gdW5kZXIgdGhlIEdDIGxvY2suCisKK0Fsc28gY29udGFpbnMgYSBoYW5kZnVsIG9mIHNtYWxsIGNvZGUgYW5kIGRvY3VtZW50YXRpb24gY2xlYW4tdXBzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjUudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5NDlmY2QKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTMuNS50eHQKQEAgLTAsMCArMSw0IEBACitHaXQgdjIuMTMuNSBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoaXMgcmVsZWFzZSBmb3J3YXJkLXBvcnRzIHRoZSBmaXggZm9yICJzc2g6Ly8uLi4iIFVSTCBmcm9tIEdpdCB2Mi43LjYKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy42LnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy42LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmNhZTljCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjYudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0dpdCB2Mi4xMy42IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT0KKworRml4ZXMgc2luY2UgdjIuMTMuNQorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiAiZ2l0IGN2c3NlcnZlciIgbm8gbG9uZ2VyIGlzIGludm9rZWQgYnkgImdpdCBkYWVtb24iIGJ5IGRlZmF1bHQsCisgICBhcyBpdCBpcyBvbGQgYW5kIGxhcmdlbHkgdW5tYWludGFpbmVkLgorCisgKiBWYXJpb3VzIFBlcmwgc2NyaXB0cyBkaWQgbm90IHVzZSBzYWZlX3BpcGVfY2FwdHVyZSgpIGluc3RlYWQgb2YKKyAgIGJhY2t0aWNrcywgbGVhdmluZyB0aGVtIHN1c2NlcHRpYmxlIHRvIGVuZC11c2VyIGlucHV0LiAgVGhleSBoYXZlCisgICBiZWVuIGNvcnJlY3RlZC4KKworQ3JlZGl0cyBnbyB0byBqb2VybmNoZW4gPGpvZXJuY2hlbkBwaGVub2VsaXQuZGU+IGZvciBmaW5kaW5nIHRoZQordW5zYWZlIGNvbnN0cnVjdHMgaW4gImdpdCBjdnNzZXJ2ZXIiLCBhbmQgdG8gSmVmZiBLaW5nIGF0IEdpdEh1YiBmb3IKK2ZpbmRpbmcgYW5kIGZpeGluZyBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgaXNzdWUgaW4gb3RoZXIgc2NyaXB0cy4KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE0LjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE0LjAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyNDZjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTQuMC50eHQKQEAgLTAsMCArMSw1MTcgQEAKK0dpdCAyLjE0IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT0KKworQmFja3dhcmQgY29tcGF0aWJpbGl0eSBub3RlcyBhbmQgb3RoZXIgbm90YWJsZSBjaGFuZ2VzLgorCisgKiBVc2Ugb2YgYW4gZW1wdHkgc3RyaW5nIGFzIGEgcGF0aHNwZWMgZWxlbWVudCB0aGF0IGlzIHVzZWQgZm9yCisgICAnZXZlcnl0aGluZyBtYXRjaGVzJyBpcyBzdGlsbCB3YXJuZWQgYW5kIEdpdCBhc2tzIHVzZXJzIHRvIHVzZSBhCisgICBtb3JlIGV4cGxpY2l0ICcuJyBmb3IgdGhhdCBpbnN0ZWFkLiAgVGhlIGhvcGUgaXMgdGhhdCBleGlzdGluZworICAgdXNlcnMgd2lsbCBub3QgbWluZCB0aGlzIGNoYW5nZSwgYW5kIGV2ZW50dWFsbHkgdGhlIHdhcm5pbmcgY2FuIGJlCisgICB0dXJuZWQgaW50byBhIGhhcmQgZXJyb3IsIHVwZ3JhZGluZyB0aGUgZGVwcmVjYXRpb24gaW50byByZW1vdmFsIG9mCisgICB0aGlzIChtaXMpZmVhdHVyZS4gIFRoYXQgaXMgbm90IHNjaGVkdWxlZCB0byBoYXBwZW4gaW4gdGhlIHVwY29taW5nCisgICByZWxlYXNlICh5ZXQpLgorCisgKiBHaXQgbm93IGF2b2lkcyBibGluZGx5IGZhbGxpbmcgYmFjayB0byAiLmdpdCIgd2hlbiB0aGUgc2V0dXAKKyAgIHNlcXVlbmNlIHNhaWQgd2UgYXJlIF9ub3RfIGluIEdpdCByZXBvc2l0b3J5LiAgQSBjb3JuZXIgY2FzZSB0aGF0CisgICBoYXBwZW5zIHRvIHdvcmsgcmlnaHQgbm93IG1heSBiZSBicm9rZW4gYnkgYSBjYWxsIHRvIGRpZSgiQlVHIikuCisgICBXZSd2ZSB0cmllZCBoYXJkIHRvIGxvY2F0ZSBzdWNoIGNhc2VzIGFuZCBmaXhlZCB0aGVtLCBidXQgdGhlcmUKKyAgIG1pZ2h0IHN0aWxsIGJlIGNhc2VzIHRoYXQgbmVlZCB0byBiZSBhZGRyZXNzZWQtLWJ1ZyByZXBvcnRzIGFyZQorICAgZ3JlYXRseSBhcHByZWNpYXRlZC4KKworICogVGhlIGV4cGVyaW1lbnQgdG8gaW1wcm92ZSB0aGUgaHVuay1ib3VuZGFyeSBzZWxlY3Rpb24gb2YgdGV4dHVhbAorICAgZGlmZiBvdXRwdXQgaGFzIGZpbmlzaGVkLCBhbmQgdGhlICJpbmRlbnQgaGV1cmlzdGljcyIgaGFzIG5vdworICAgYmVjb21lIHRoZSBkZWZhdWx0LgorCisgKiBHaXQgY2FuIG5vdyBiZSBidWlsdCB3aXRoIFBDUkUgdjIgaW5zdGVhZCBvZiB2MSBvZiB0aGUgUENSRQorICAgbGlicmFyeS4gUmVwbGFjZSBVU0VfTElCUENSRT1ZZXNQbGVhc2Ugd2l0aCBVU0VfTElCUENSRTI9WWVzUGxlYXNlCisgICBpbiBleGlzdGluZyBidWlsZCBzY3JpcHRzIHRvIGJ1aWxkIGFnYWluc3QgdGhlIG5ldyB2ZXJzaW9uLiAgQXMgdGhlCisgICB1cHN0cmVhbSBQQ1JFIG1haW50YWluZXIgaGFzIGFiYW5kb25lZCB2MSBtYWludGVuYW5jZSBmb3IgYWxsIGJ1dAorICAgdGhlIG1vc3QgY3JpdGljYWwgYnVnIGZpeGVzLCB1c2Ugb2YgdjIgaXMgcmVjb21tZW5kZWQuCisKKworVXBkYXRlcyBzaW5jZSB2Mi4xMworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitVSSwgV29ya2Zsb3dzICYgRmVhdHVyZXMKKworICogVGhlIGNvbG9ycyBpbiB3aGljaCAiZ2l0IHN0YXR1cyAtLXNob3J0IC0tYnJhbmNoIiBzaG93ZWQgdGhlIG5hbWVzCisgICBvZiB0aGUgY3VycmVudCBicmFuY2ggYW5kIGl0cyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGFyZSBub3cKKyAgIGNvbmZpZ3VyYWJsZS4KKworICogImdpdCBjbG9uZSIgbGVhcm5lZCB0aGUgIi0tbm8tdGFncyIgb3B0aW9uIG5vdCB0byBmZXRjaCBhbGwgdGFncworICAgaW5pdGlhbGx5LCBhbmQgYWxzbyBzZXQgdXAgdGhlIHRhZ29wdCBub3QgdG8gZm9sbG93IGFueSB0YWdzIGluCisgICBzdWJzZXF1ZW50IGZldGNoZXMuCisKKyAqICJnaXQgYXJjaGl2ZSAtLWZvcm1hdD16aXAiIGxlYXJuZWQgdG8gdXNlIHppcDY0IGV4dGVuc2lvbiB3aGVuCisgICBuZWNlc3NhcnkgdG8gZ28gYmV5b25kIHRoZSA0R0IgbGltaXQuCisKKyAqICJnaXQgcmVzZXQiIGxlYXJuZWQgIi0tcmVjdXJzZS1zdWJtb2R1bGVzIiBvcHRpb24uCisKKyAqICJnaXQgZGlmZiAtLXN1Ym1vZHVsZT1kaWZmIiBub3cgcmVjdXJzZXMgaW50byBuZXN0ZWQgc3VibW9kdWxlcy4KKworICogImdpdCByZXBhY2siIGxlYXJuZWQgdG8gYWNjZXB0IHRoZSAtLXRocmVhZHM9PG4+IG9wdGlvbiBhbmQgcGFzcyBpdAorICAgdG8gcGFjay1vYmplY3RzLgorCisgKiAiZ2l0IHNlbmQtZW1haWwiIGxlYXJuZWQgdG8gcnVuIHNlbmRlbWFpbC12YWxpZGF0ZSBob29rIHRvIGluc3BlY3QKKyAgIGFuZCByZWplY3QgYSBtZXNzYWdlIGJlZm9yZSBzZW5kaW5nIGl0IG91dC4KKworICogVGhlcmUgaXMgbm8gZ29vZCByZWFzb24gd2h5ICJnaXQgZmV0Y2ggJHRoZXJlICRzaGExIiBzaG91bGQgZmFpbAorICAgd2hlbiB0aGUgJHNoYTEgbmFtZXMgYW4gb2JqZWN0IGF0IHRoZSB0aXAgb2YgYW4gYWR2ZXJ0aXNlZCByZWYsCisgICBldmVuIHdoZW4gdGhlIG90aGVyIHNpZGUgaGFzbid0IGVuYWJsZWQgYWxsb3dUaXBTSEExSW5XYW50LgorCisgKiBUaGUgIltpbmNsdWRlSWYgImdpdGRpcjokZGlyIl0gcGF0aD0uLi4iIG1lY2hhbmlzbSBpbnRyb2R1Y2VkIGluCisgICAyLjEzLjAgd291bGQgY2Fub25pY2FsaXplIHRoZSBwYXRoIG9mIHRoZSBnaXRkaXIgYmVpbmcgbWF0Y2hlZCwKKyAgIGFuZCBkaWQgbm90IG1hdGNoIGUuZy4gImdpdGRpcjp+L3dvcmsvKiIgYWdhaW5zdCBhIHJlcG8gaW4KKyAgICJ+L3dvcmsvbWFpbiIgaWYgIn4vd29yayIgd2FzIGEgc3ltbGluayB0byAiL21udC9zdG9yYWdlL3dvcmsiLgorICAgTm93IHdlIG1hdGNoIGJvdGggdGhlIHJlc29sdmVkIGNhbm9uaWNhbCBwYXRoIGFuZCB3aGF0ICJwd2QiIHdvdWxkCisgICBzaG93LiBUaGUgaW5jbHVkZSB3aWxsIGhhcHBlbiBpZiBlaXRoZXIgb25lIG1hdGNoZXMuCisKKyAqIFRoZSAiaW5kZW50IiBoZXVyaXN0aWNzIGlzIG5vdyB0aGUgZGVmYXVsdCBpbiAiZGlmZiIuIFRoZQorICAgZGlmZi5pbmRlbnRIZXVyaXN0aWMgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBjYW4gYmUgc2V0IHRvICJmYWxzZSIKKyAgIGZvciB0aG9zZSB3aG8gZG8gbm90IHdhbnQgaXQuCisKKyAqIE1hbnkgY29tbWFuZHMgbGVhcm5lZCB0byBwYXkgYXR0ZW50aW9uIHRvIHN1Ym1vZHVsZS5yZWN1cnNlCisgICBjb25maWd1cmF0aW9uLgorCisgKiBUaGUgY29udmVudGlvbiBmb3IgYSBjb21tYW5kIGxpbmUgaXMgdG8gZm9sbG93ICJnaXQgY21kbmFtZQorICAgLS1vcHRpb25zIiB3aXRoIHJldmlzaW9ucyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCAiLS0iCisgICBkaXNhbWJpZ3VhdG9yIGFuZCB0aGVuIGZpbmFsbHkgcGF0aHNwZWNzLiAgV2hlbiAiLS0iIGlzIG5vdCB0aGVyZSwKKyAgIHdlIG1ha2Ugc3VyZSBlYXJseSBvbmVzIGFyZSBhbGwgaW50ZXJwcmV0YWJsZSBhcyByZXZzIChhbmQgZG8gbm90CisgICBsb29rIGxpa2UgcGF0aHMpIGFuZCBsYXRlciBvbmVzIGFyZSB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gIEEKKyAgIHBhdGhzcGVjIHdpdGggIm1hZ2ljIiAoZS5nLiAiOi9wL2EvdC9oIiB0aGF0IG1hdGNoZXMgcC9hL3QvaCBmcm9tCisgICB0aGUgdG9wLWxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUsIG5vIG1hdHRlciB3aGF0IHN1YmRpcmVjdG9yeSB5b3UKKyAgIGFyZSB3b3JraW5nIGZyb20pIGFyZSBjb25zZXJ2YXRpdmVseSBqdWRnZWQgYXMgIm5vdCBhIHBhdGgiLCB3aGljaAorICAgcmVxdWlyZWQgZGlzYW1iaWd1YXRpb24gbW9yZSBvZnRlbi4gIFRoZSBjb21tYW5kIGxpbmUgcGFyc2VyCisgICBsZWFybmVkIHRvIHNheSAiaXQncyBhIHBhdGhzcGVjIiBhIGJpdCBtb3JlIG9mdGVuIHdoZW4gdGhlIHN5bnRheAorICAgbG9va3MgbGlrZSBzby4KKworICogVXBkYXRlICJwZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9uIiBzdXBwb3J0IHRvIGVuYWJsZSBKSVQKKyAgIGFuZCBhbHNvIGFsbG93IGxpbmtpbmcgd2l0aCB0aGUgbmV3ZXIgUENSRSB2MiBsaWJyYXJ5LgorCisgKiAiZmlsdGVyLWJyYW5jaCIgbGVhcm5lZCBhIHBzZXVkbyBmaWx0ZXIgIi0tc2V0dXAiIHRoYXQgY2FuIGJlIHVzZWQKKyAgIHRvIGRlZmluZSBjb21tb24gZnVuY3Rpb25zL3ZhcmlhYmxlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IG90aGVyCisgICBmaWx0ZXJzLgorCisgKiBVc2luZyAiZ2l0IGFkZCBkL2kvciIgd2hlbiBkL2kvciBpcyB0aGUgdG9wIG9mIHRoZSB3b3JraW5nIHRyZWUgb2YKKyAgIGEgc2VwYXJhdGUgcmVwb3NpdG9yeSB3b3VsZCBjcmVhdGUgYSBnaXRsaW5rIGluIHRoZSBpbmRleCwgd2hpY2gKKyAgIHdvdWxkIGFwcGVhciBhcyBhIG5vdC1xdWl0ZS1pbml0aWFsaXplZCBzdWJtb2R1bGUgdG8gb3RoZXJzLiAgV2UKKyAgIGxlYXJuZWQgdG8gZ2l2ZSB3YXJuaW5ncyB3aGVuIHRoaXMgaGFwcGVucy4KKworICogImdpdCBzdGF0dXMiIGxlYXJuZWQgdG8gb3B0aW9uYWxseSBnaXZlIGhvdyBtYW55IHN0YXNoIGVudHJpZXMgdGhlcmUKKyAgIGFyZSBpbiBpdHMgb3V0cHV0LgorCisgKiAiZ2l0IHN0YXR1cyIgaGFzIGxvbmcgc2hvd24gZXNzZW50aWFsbHkgdGhlIHNhbWUgbWVzc2FnZSBhcyAiZ2l0CisgICBjb21taXQiOyB0aGUgbWVzc2FnZSBpdCBnaXZlcyB3aGlsZSBwcmVwYXJpbmcgZm9yIHRoZSByb290IGNvbW1pdCwKKyAgIGkuZS4gIkluaXRpYWwgY29tbWl0Iiwgd2FzIGhhcmQgdG8gdW5kZXJzdGFuZCBmb3Igc29tZSBuZXcgdXNlcnMuCisgICBOb3cgaXQgc2F5cyAiTm8gY29tbWl0cyB5ZXQiIHRvIHN0cmVzcyBtb3JlIG9uIHRoZSBjdXJyZW50IHN0YXR1cworICAgKHJhdGhlciB0aGFuIHRoZSBjb21taXQgdGhlIHVzZXIgaXMgcHJlcGFyaW5nIGZvciwgd2hpY2ggaXMgbW9yZSBpbgorICAgbGluZSB3aXRoIHRoZSBmb2N1cyBvZiAiZ2l0IGNvbW1pdCIpLgorCisgKiAiZ2l0IHNlbmQtZW1haWwiIG5vdyBoYXMgLS1iYXRjaC1zaXplIGFuZCAtLXJlbG9naW4tZGVsYXkgb3B0aW9ucworICAgIHdoaWNoIGNhbiBiZSB1c2VkIHRvIG92ZXJjb21lIGxpbWl0YXRpb25zIG9uIFNNVFAgc2VydmVycyB0aGF0CisgICAgcmVzdHJpY3Qgb24gaG93IG1hbnkgb2YgZS1tYWlscyBjYW4gYmUgc2VudCBpbiBhIHNpbmdsZSBzZXNzaW9uLgorCisgKiBBbiBvbGQgbWVzc2FnZSBzaG93biBpbiB0aGUgY29tbWl0IGxvZyB0ZW1wbGF0ZSB3YXMgcmVtb3ZlZCwgYXMgaXQKKyAgIGhhcyBvdXRsaXZlZCBpdHMgdXNlZnVsbmVzcy4KKworICogImdpdCBwdWxsIC0tcmViYXNlIC0tcmVjdXJzZS1zdWJtb2R1bGVzIiBsZWFybnMgdG8gcmViYXNlIHRoZQorICAgYnJhbmNoIGluIHRoZSBzdWJtb2R1bGVzIHRvIGFuIHVwZGF0ZWQgYmFzZS4KKworICogImdpdCBsb2ciIGxlYXJuZWQgLVAgYXMgYSBzeW5vbnltIGZvciAtLXBlcmwtcmVnZXhwLCAiZ2l0IGdyZXAiCisgICBhbHJlYWR5IGhhZCBzdWNoIGEgc3lub255bS4KKworICogImdpdCBsb2ciIGRpZG4ndCB1bmRlcnN0YW5kIC0tcmVnZXhwLWlnbm9yZS1jYXNlIHdoZW4gY29tYmluZWQgd2l0aAorICAgLS1wZXJsLXJlZ2V4cC4gVGhpcyBoYXMgYmVlbiBmaXhlZC4KKworUGVyZm9ybWFuY2UsIEludGVybmFsIEltcGxlbWVudGF0aW9uLCBEZXZlbG9wbWVudCBTdXBwb3J0IGV0Yy4KKworICogVGhlIGRlZmF1bHQgcGFja2VkLWdpdCBsaW1pdCB2YWx1ZSBoYXMgYmVlbiByYWlzZWQgb24gbGFyZ2VyCisgICBwbGF0Zm9ybXMgdG8gc2F2ZSAiZ2l0IGZldGNoIiBmcm9tIGEgKHJlY292ZXJhYmxlKSBmYWlsdXJlIHdoaWxlCisgICAiZ2MiIGlzIHJ1bm5pbmcgaW4gcGFyYWxsZWwuCisKKyAqIENvZGUgdG8gdXBkYXRlIHRoZSBjYWNoZS10cmVlIGhhcyBiZWVuIHRpZ2h0ZW5lZCBzbyB0aGF0IHdlIHdvbid0CisgICBhY2NpZGVudGFsbHkgd3JpdGUgb3V0IGFueSAwezQwfSBlbnRyeSBpbiB0aGUgdHJlZSBvYmplY3QuCisKKyAqIEF0dGVtcHQgdG8gYWxsb3cgdXMgbm90aWNlICJmaXNoeSIgc2l0dWF0aW9uIHdoZXJlIHdlIGZhaWwgdG8KKyAgIHJlbW92ZSB0aGUgdGVtcG9yYXJ5IGRpcmVjdG9yeSB1c2VkIGR1cmluZyB0aGUgdGVzdC4KKworICogVHJhdmlzIENJIGdhaW5lZCBhIHRhc2sgdG8gZm9ybWF0IHRoZSBkb2N1bWVudGF0aW9uIHdpdGggYm90aAorICAgQXNjaWlEb2MgYW5kIEFzY2lpRG9jdG9yLgorCisgKiBTb21lIHBsYXRmb3JtcyBoYXZlIHVsb25nIHRoYXQgaXMgc21hbGxlciB0aGFuIHRpbWVfdCwgYW5kIG91cgorICAgaGlzdG9yaWNhbCB1c2Ugb2YgdWxvbmcgZm9yIHRpbWVzdGFtcCB3b3VsZCBtZWFuIHRoZXkgY2Fubm90CisgICByZXByZXNlbnQgc29tZSB0aW1lc3RhbXAgdGhhdCB0aGUgcGxhdGZvcm0gYWxsb3dzLiAgSW52ZW50IGEKKyAgIHNlcGFyYXRlIGFuZCBkZWRpY2F0ZWQgdGltZXN0YW1wX3QgKHNvIHRoYXQgd2UgY2FuIGRpc3RpbmdpdWlzaAorICAgdGltZXN0YW1wcyBhbmQgYSB2YW5pbGxhIHVsb25ncywgd2hpY2ggYWxvbmcgaXMgYWxyZWFkeSBhIGdvb2QKKyAgIG1vdmUpLCBhbmQgdGhlbiBkZWNsYXJlIHVpbnRtYXhfdCBpcyB0aGUgdHlwZSB0byBiZSB1c2VkIGFzIHRoZQorICAgdGltZXN0YW1wX3QuCisKKyAqIFdlIGNhbiB0cmlnZ2VyIFdpbmRvd3MgYXV0by1idWlsZCB0ZXN0ZXIgKGNyZWRpdHM6IERzY2hvICYKKyAgIE1pY3Jvc29mdCkgZnJvbSBvdXIgZXhpc3RpbmcgVHJhdmlzIENJIHRlc3RlciBub3cuCisKKyAqIENvbnZlcnNpb24gZnJvbSB1Y2hhclsyMF0gdG8gc3RydWN0IG9iamVjdF9pZCBjb250aW51ZXMuCisKKyAqIFNpbXBsaWZ5IHBhcnNlX3BhdGhzcGVjKCkgY29kZXBhdGggYW5kIHN0b3AgaXQgZnJvbSBsb29raW5nIGF0IHRoZQorICAgZGVmYXVsdCBpbi1jb3JlIGluZGV4LgorCisgKiBBZGQgcGVyZi10ZXN0IGZvciB3aWxkbWF0Y2guCisKKyAqIENvZGUgZnJvbSAiY29udmVyc2lvbiB1c2luZyBleHRlcm5hbCBwcm9jZXNzIiBjb2RlcGF0aCBoYXMgYmVlbgorICAgZXh0cmFjdGVkIHRvIGEgc2VwYXJhdGUgc3ViLXByb2Nlc3MuW2NoXSBtb2R1bGUuCisKKyAqIFdoZW4gImdpdCBjaGVja291dCIsICJnaXQgbWVyZ2UiLCBldGMuIG1hbmlwdWxhdGVzIHRoZSBpbi1jb3JlCisgICBpbmRleCwgdmFyaW91cyBwaWVjZXMgb2YgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGV4dGVuc2lvbnMgYXJlCisgICBkaXNjYXJkZWQgZnJvbSB0aGUgb3JpZ2luYWwgc3RhdGUsIGFzIGl0IGlzIHVzdWFsbHkgbm90IHRoZSBjYXNlCisgICB0aGF0IHRoZXkgYXJlIGtlcHQgdXAtdG8tZGF0ZSBhbmQgaW4tc3luYyB3aXRoIHRoZSBvcGVyYXRpb24gb24gdGhlCisgICBtYWluIGluZGV4LiAgVGhlIHVudHJhY2tlZCBjYWNoZSBleHRlbnNpb24gaXMgY29waWVkIGFjcm9zcyB0aGVzZQorICAgb3BlcmF0aW9ucyBub3csIHdoaWNoIHdvdWxkIHNwZWVkIHVwICJnaXQgc3RhdHVzIiAoYXMgbG9uZyBhcyB0aGUKKyAgIGNhY2hlIGlzIHByb3Blcmx5IGludmFsaWRhdGVkKS4KKworICogVGhlIGludGVybmFsIGltcGxlbWVudGF0aW9uIG9mICJnaXQgZ3JlcCIgaGFzIHNlZW4gc29tZSBjbGVhbi11cC4KKworICogVXBkYXRlIHRoZSBDIHN0eWxlIHJlY29tbWVuZGF0aW9uIGZvciBub3RlcyBmb3IgdHJhbnNsYXRvcnMsIGFzCisgICByZWNlbnQgdmVyc2lvbnMgb2YgZ2V0dGV4dCB0b29scyBjYW4gd29yayB3aXRoIG91ciBzdHlsZSBvZgorICAgbXVsdGktbGluZSBjb21tZW50cy4KKworICogVGhlIGltcGxlbWVudGF0aW9uIG9mICJyZWYiIEFQSSBhcm91bmQgdGhlICJwYWNrZWQgcmVmcyIgaGF2ZSBiZWVuCisgICBjbGVhbmVkIHVwLCBpbiBwcmVwYXJhdGlvbiBmb3IgZnVydGhlciBjaGFuZ2VzLgorCisgKiBUaGUgaW50ZXJuYWwgbG9naWMgdXNlZCBpbiAiZ2l0IGJsYW1lIiBoYXMgYmVlbiBsaWJpZmllZCB0byBtYWtlIGl0CisgICBlYXNpZXIgdG8gdXNlIGJ5IGNnaXQuCisKKyAqIE91ciBjb2RlIG9mdGVuIG9wZW5zIGEgcGF0aCB0byBhbiBvcHRpb25hbCBmaWxlLCB0byB3b3JrIG9uIGl0cworICAgY29udGVudHMgd2hlbiB3ZSBjYW4gc3VjY2Vzc2Z1bGx5IG9wZW4gaXQuICBXZSBjYW4gaWdub3JlIGEgZmFpbHVyZQorICAgdG8gb3BlbiBpZiBzdWNoIGFuIG9wdGlvbmFsIGZpbGUgZG9lcyBub3QgZXhpc3QsIGJ1dCB3ZSBkbyB3YW50IHRvCisgICByZXBvcnQgYSBmYWlsdXJlIGluIG9wZW5pbmcgZm9yIG90aGVyIHJlYXNvbnMgKGUuZy4gd2UgZ290IGFuIEkvTworICAgZXJyb3IsIG9yIHRoZSBmaWxlIGlzIHRoZXJlLCBidXQgd2UgbGFjayB0aGUgcGVybWlzc2lvbiB0byBvcGVuKS4KKworICAgVGhlIGV4YWN0IGVycm9ycyB3ZSBuZWVkIHRvIGlnbm9yZSBhcmUgRU5PRU5UIChvYnZpb3VzbHkpIGFuZAorICAgRU5PVERJUiAobGVzcyBvYnZpb3VzKS4gIEluc3RlYWQgb2YgcmVwZWF0aW5nIGNvbXBhcmlzb24gb2YgZXJybm8KKyAgIHdpdGggdGhlc2UgdHdvIGNvbnN0YW50cywgaW50cm9kdWNlIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGRvIHNvLgorCisgKiBXZSBvZnRlbiB0cnkgdG8gb3BlbiBhIGZpbGUgZm9yIHJlYWRpbmcgd2hvc2UgZXhpc3RlbmNlIGlzCisgICBvcHRpb25hbCwgYW5kIHNpbGVudGx5IGlnbm9yZSBlcnJvcnMgZnJvbSBvcGVuL2ZvcGVuOyByZXBvcnQgc3VjaAorICAgZXJyb3JzIGlmIHRoZXkgYXJlIG5vdCBkdWUgdG8gbWlzc2luZyBmaWxlcy4KKworICogV2hlbiBhbiBleGlzdGluZyByZXBvc2l0b3J5IGlzIHVzZWQgZm9yIHQvcGVyZiB0ZXN0aW5nLCB3ZSBmaXJzdAorICAgY3JlYXRlIGJpdC1mb3ItYml0IGNvcHkgb2YgaXQsIHdoaWNoIG1heSBncmFiIGEgdHJhbnNpZW50IHN0YXRlIG9mCisgICB0aGUgcmVwb3NpdG9yeSBhbmQgZnJlZXplIGl0IGludG8gdGhlIHJlcG9zaXRvcnkgdXNlZCBmb3IgdGVzdGluZywKKyAgIHdoaWNoIHRoZW4gbWF5IGNhdXNlIEdpdCBvcGVyYXRpb25zIHRvIGZhaWwuICBTaW5nbGUgb3V0ICJ0aGUgaW5kZXgKKyAgIGJlaW5nIGxvY2tlZCIgY2FzZSBhbmQgZm9yY2libHkgZHJvcCB0aGUgbG9jayBmcm9tIHRoZSBjb3B5LgorCisgKiBUaHJlZSBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgaGVscGVyIGZ1bmN0aW9uIGhhdmUgYmVlbiBjb25zb2xpZGF0ZWQKKyAgIHRvIG9uZS4KKworICogImZhc3QtaW1wb3J0IiB1c2VzIGEgZGVmYXVsdCBwYWNrIGNoYWluIGRlcHRoIHRoYXQgaXMgY29uc2lzdGVudAorICAgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUgc3lzdGVtLgorCisgKiBBIG5ldyB0ZXN0IHRvIHNob3cgdGhlIGludGVyYWN0aW9uIGJldHdlZW4gdGhlIHBhdHRlcm4gW15hLXpdCisgICAod2hpY2ggbWF0Y2hlcyAnLycpIGFuZCBhIHNsYXNoIGluIGEgcGF0aCBoYXMgYmVlbiBhZGRlZC4gIFRoZQorICAgcGF0dGVybiBzaG91bGQgbm90IG1hdGNoIHRoZSBzbGFzaCB3aXRoICJwYXRobWF0Y2giLCBidXQgc2hvdWxkCisgICB3aXRoICJ3aWxkbWF0Y2giLgorCisgKiBUaGUgJ2RpZmYtaGlnaGxpZ2h0JyBwcm9ncmFtIChpbiBjb250cmliLykgaGFzIGJlZW4gcmVzdHJ1Y3R1cmVkCisgICBmb3IgZWFzaWVyIHJldXNlIGJ5IGFuIGV4dGVybmFsIHByb2plY3QgJ2RpZmYtc28tZmFuY3knLgorCisgKiBBIGNvbW1vbiBwYXR0ZXJuIHRvIGZyZWUgYSBwaWVjZSBvZiBtZW1vcnkgYW5kIGFzc2lnbiBOVUxMIHRvIHRoZQorICAgcG9pbnRlciB0aGF0IHVzZWQgdG8gcG9pbnQgYXQgaXQgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCBhIG5ldworICAgRlJFRV9BTkRfTlVMTCgpIG1hY3JvLgorCisgKiBUcmFkaXRpb25hbGx5LCB0aGUgZGVmYXVsdCBkaWUoKSByb3V0aW5lIGhhZCBhIGNvZGUgdG8gcHJldmVudCBpdAorICAgZnJvbSBnZXR0aW5nIGNhbGxlZCBtdWx0aXBsZSB0aW1lcywgd2hpY2ggaW50ZXJhY3RlZCBiYWRseSB3aGVuIGEKKyAgIHRocmVhZGVkIHByb2dyYW0gdXNlZCBpdCAob25lIGRvd25zaWRlIGlzIHRoYXQgdGhlIHJlYWwgZXJyb3IgbWF5CisgICBiZSBoaWRkZW4gYW5kIGluc3RlYWQgdGhlIG9ubHkgZXJyb3IgbWVzc2FnZSBnaXZlbiB0byB0aGUgdXNlciBtYXkKKyAgIGVuZCB1cCBiZWluZyAiZGllIHJlY3Vyc2lvbiBkZXRlY3RlZCIsIHdoaWNoIGlzIG5vdCB2ZXJ5IHVzZWZ1bCkuCisKKyAqIEludHJvZHVjZSBhICJyZXBvc2l0b3J5IiBvYmplY3QgdG8gZXZlbnR1YWxseSBtYWtlIGl0IGVhc2llciB0bworICAgd29yayBpbiBtdWx0aXBsZSByZXBvc2l0b3JpZXMgKHRoZSBwcmltYXJ5IGZvY3VzIGlzIHRvIHdvcmsgd2l0aAorICAgdGhlIHN1cGVycHJvamVjdCBhbmQgaXRzIHN1Ym1vZHVsZXMpIGluIGEgc2luZ2xlIHByb2Nlc3MuCisKKyAqIE9wdGltaXplICJ3aGF0IGFyZSB0aGUgb2JqZWN0IG5hbWVzIGFscmVhZHkgdGFrZW4gaW4gYW4gYWx0ZXJuYXRlCisgICBvYmplY3QgZGF0YWJhc2U/IiBxdWVyeSB0aGF0IGlzIHVzZWQgdG8gZGVyaXZlIHRoZSBsZW5ndGggb2YgcHJlZml4CisgICBhbiBvYmplY3QgbmFtZSBpcyB1bmlxdWVseSBhYmJyZXZpYXRlZCB0by4KKworICogVGhlIGhhc2htYXAgQVBJIGhhcyBiZWVuIHVwZGF0ZWQgc28gdGhhdCBkYXRhIHRvIGN1c3RvbWl6ZSB0aGUKKyAgIGJlaGF2aW91ciBvZiB0aGUgY29tcGFyaXNvbiBmdW5jdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGF0IHRoZSB0aW1lIGEKKyAgIGhhc2htYXAgaXMgaW5pdGlhbGl6ZWQuCisKKyAqIFRoZSAiY29sbGlzaW9uIGRldGVjdGluZyIgU0hBLTEgaW1wbGVtZW50YXRpb24gc2hpcHBlZCB3aXRoIDIuMTMgaXMKKyAgIG5vdyBpbnRlZ3JhdGVkIGludG8gZ2l0LmdpdCBhcyBhIHN1Ym1vZHVsZSAodGhlIGZpcnN0IHN1Ym1vZHVsZSB0bworICAgc2hpcCB3aXRoIGdpdC5naXQpLiBDbG9uZSBnaXQuZ2l0IHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMgdG8gZ2V0CisgICBpdC4gRm9yIG5vdyBhIG5vbi1zdWJtb2R1bGUgY29weSBvZiB0aGUgc2FtZSBjb2RlIGlzIGFsc28gc2hpcHBlZAorICAgYXMgcGFydCBvZiB0aGUgdHJlZS4KKworICogQSByZWNlbnQgdXBkYXRlIG1hZGUgaXQgZWFzaWVyIHRvIHVzZSAiLWZzYW5pdGl6ZT0iIG9wdGlvbiB3aGlsZQorICAgY29tcGlsaW5nIGJ1dCBzdXBwb3J0ZWQgb25seSBvbmUgc2FuaXRpemUgb3B0aW9uLiAgQWxsb3cgbW9yZSB0aGFuCisgICBvbmUgdG8gYmUgY29tYmluZWQsIGpvaW5lZCB3aXRoIGEgY29tbWEsIGxpa2UgIm1ha2UgU0FOSVRJWkU9Zm9vLGJhciIuCisKKyAqIFVzZSAicDQgLUciIHRvIG1ha2UgInA0IGNoYW5nZXMiIG91dHB1dCBtb3JlIFB5dGhvbi1mcmllbmRseQorICAgdG8gcGFyc2UuCisKKyAqIFdlIHN0YXJ0ZWQgdXNpbmcgIiUiIFBSSXRpbWUsIGltaXRhdGluZyAiJSIgUFJJdU1BWCBhbmQgZnJpZW5kcywgYXMKKyAgIGEgd2F5IHRvIGZvcm1hdCB0aGUgaW50ZXJuYWwgdGltZXN0YW1wIHZhbHVlLCBidXQgdGhpcyBkb2VzIG5vdAorICAgcGxheSB3ZWxsIHdpdGggZ2V0dGV4dCgxKSBpMThuIGZyYW1ld29yaywgYW5kIGNhdXNlcyAibWFrZSBwb3QiCisgICB0aGF0IGlzIHJ1biBieSB0aGUgbDEwbiBjb29yZGluYXRvciB0byBjcmVhdGUgYSBicm9rZW4gcG8vZ2l0LnBvdAorICAgZmlsZS4gIFRoaXMgaXMgYSBwb3NzaWJsZSB3b3JrYXJvdW5kIGZvciB0aGF0IHByb2JsZW0uCisKKyAqIEl0IHR1cm5zIG91dCB0aGF0IEN5Z3dpbiBhbHNvIG5lZWRzIHRoZSBmb3BlbigpIHdyYXBwZXIgdGhhdAorICAgcmV0dXJucyBmYWlsdXJlIHdoZW4gYSBkaXJlY3RvcnkgaXMgb3BlbmVkIGZvciByZWFkaW5nLgorCitBbHNvIGNvbnRhaW5zIHZhcmlvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KKworCitGaXhlcyBzaW5jZSB2Mi4xMworLS0tLS0tLS0tLS0tLS0tLS0KKworVW5sZXNzIG90aGVyd2lzZSBub3RlZCwgYWxsIHRoZSBmaXhlcyBzaW5jZSB2Mi4xMyBpbiB0aGUgbWFpbnRlbmFuY2UKK3RyYWNrIGFyZSBjb250YWluZWQgaW4gdGhpcyByZWxlYXNlIChzZWUgdGhlIG1haW50ZW5hbmNlIHJlbGVhc2VzJworbm90ZXMgZm9yIGRldGFpbHMpLgorCisgKiAiZ2l0IGdjIiBkaWQgbm90IGludGVyYWN0IHdlbGwgd2l0aCAiZ2l0IHdvcmt0cmVlIi1tYW5hZ2VkCisgICBwZXItd29ya3RyZWUgcmVmcy4KKworICogImdpdCBjaGVycnktcGljayIgYW5kIG90aGVyIHVzZXMgb2YgdGhlIHNlcXVlbmNlciBtYWNoaW5lcnkKKyAgIG1pc2hhbmRsZWQgYSB0cmFpbGVyIGJsb2NrIHdob3NlIGxhc3QgbGluZSBpcyBhbiBpbmNvbXBsZXRlIGxpbmUuCisgICBUaGlzIGhhcyBiZWVuIGZpeGVkIHNvIHRoYXQgYW4gYWRkaXRpb25hbCBzaWduLW9mZiBldGMuIGFyZSBhZGRlZAorICAgYWZ0ZXIgY29tcGxldGluZyB0aGUgZXhpc3RpbmcgaW5jb21wbGV0ZSBsaW5lLgorCisgKiBUaGUgY29kZXBhdGggaW4gImdpdCBhbSIgdGhhdCBpcyB1c2VkIHdoZW4gcnVubmluZyAiZ2l0IHJlYmFzZSIKKyAgIGxlYWtlZCBtZW1vcnkgaGVsZCBmb3IgdGhlIGxvZyBtZXNzYWdlIG9mIHRoZSBjb21taXRzIGJlaW5nIHJlYmFzZWQuCisKKyAqICJnaXQgY2xvbmUgLS1jb25maWcgdmFyPXZhbCIgaXMgYSB3YXkgdG8gcG9wdWxhdGUgdGhlCisgICBwZXItcmVwb3NpdG9yeSBjb25maWd1cmF0aW9uIGZpbGUgb2YgdGhlIG5ldyByZXBvc2l0b3J5LCBidXQgaXQgZGlkCisgICBub3Qgd29yayB3ZWxsIHdoZW4gdmFsIGlzIGFuIGVtcHR5IHN0cmluZy4gIFRoaXMgaGFzIGJlZW4gZml4ZWQuCisKKyAqIFNldHRpbmcgImxvZy5kZWNvcmF0ZT1mYWxzZSIgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBkaWQgbm90IHRha2UKKyAgIGVmZmVjdCBpbiB2Mi4xMywgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBBIGZldyBjb2RlcGF0aHMgaW4gImNoZWNrb3V0IiBhbmQgImFtIiB3b3JraW5nIG9uIGFuIHVuYm9ybiBicmFuY2gKKyAgIHRyaWVkIHRvIGFjY2VzcyBhbiB1bmluaXRpYWxpemVkIHBpZWNlIG9mIG1lbW9yeS4KKworICogVGhlIFdlYiBpbnRlcmZhY2UgdG8gZ21hbmUgbmV3cyBhcmNoaXZlIGlzIGxvbmcgZ29uZSwgZXZlbiB0aG91Z2gKKyAgIHRoZSBhcnRpY2xlcyBhcmUgc3RpbGwgYWNjZXNzaWJsZSB2aWEgTlRUUC4gIFJlcGxhY2UgdGhlIGxpbmtzIHdpdGgKKyAgIG9uZXMgdG8gcHVibGljLWluYm94Lm9yZy4gIEJlY2F1c2UgdGhlaXIgbWVzc2FnZSBpZGVudGlmaWNhdGlvbiBpcworICAgYmFzZWQgb24gdGhlIGFjdHVhbCBtZXNzYWdlLWlkLCBpdCBpcyBsaWtlbHkgdGhhdCBpdCB3aWxsIGJlIGVhc2llcgorICAgdG8gbWlncmF0ZSBhd2F5IGZyb20gaXQgaWYvd2hlbiBuZWNlc3NhcnkuCisKKyAqIFRoZSByZWNlaXZlLXBhY2sgcHJvZ3JhbSBub3cgbWFrZXMgc3VyZSB0aGF0IHRoZSBwdXNoIGNlcnRpZmljYXRlCisgICByZWNvcmRzIHRoZSBzYW1lIHNldCBvZiBwdXNoIG9wdGlvbnMgdXNlZCBmb3IgcHVzaGluZy4KKworICogVGVzdHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gcGFzcyB1bmRlciBHRVRURVhUX1BPSVNPTiAoYSBtZWNoYW5pc20KKyAgIHRvIGVuc3VyZSB0aGF0IG91dHB1dCBzdHJpbmdzIHRoYXQgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFyZQorICAgbm90IHRyYW5zbGF0ZWQgYnkgbWlzdGFrZSksIGFuZCBUcmF2aXNDSSBpcyB0b2xkIHRvIHJ1biB0aGVtLgorCisgKiAiZ2l0IGNoZWNrb3V0IC0tcmVjdXJzZS1zdWJtb2R1bGVzIiBkaWQgbm90IHF1aXRlIHdvcmsgd2l0aCBhCisgICBzdWJtb2R1bGUgdGhhdCBpdHNlbGYgaGFzIHN1Ym1vZHVsZXMuCisKKyAqICJwYWNrLW9iamVjdHMiIGNhbiBzdHJlYW0gYSBzbGljZSBvZiBhbiBleGlzdGluZyBwYWNrZmlsZSBvdXQgd2hlbgorICAgdGhlIHBhY2sgYml0bWFwIGNhbiB0ZWxsIHRoYXQgdGhlIHJlYWNoYWJsZSBvYmplY3RzIGFyZSBhbGwgbmVlZGVkCisgICBpbiB0aGUgb3V0cHV0LCB3aXRob3V0IGluc3BlY3RpbmcgaW5kaXZpZHVhbCBvYmplY3RzLiAgVGhpcworICAgc3RyYXRlZ3kgaG93ZXZlciB3b3VsZCBub3Qgd29yayB3ZWxsIHdoZW4gIi0tbG9jYWwiIGFuZCBvdGhlcgorICAgb3B0aW9ucyBhcmUgaW4gdXNlLCBhbmQgbmVlZCB0byBiZSBkaXNhYmxlZC4KKworICogRml4IG1lbW9yeSBsZWFrcyBwb2ludGVkIG91dCBieSBDb3Zlcml0eSAoYW5kIHBlb3BsZSkuCisKKyAqICJnaXQgcmVhZC10cmVlIC1tIiAobm8gdHJlZS1pc2gpIGdhdmUgYSBub25zZW5zZSBzdWdnZXN0aW9uICJ1c2UKKyAgIC0tZW1wdHkgaWYgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGluZGV4Ii4gIFdpdGggIi1tIiwgc3VjaCBhIHJlcXVlc3QKKyAgIHdpbGwgc3RpbGwgZmFpbCBhbnl3YXksIGFzIHlvdSdkIG5lZWQgdG8gbmFtZSBhdCBsZWFzdCBvbmUgdHJlZS1pc2gKKyAgIHRvIGJlIG1lcmdlZC4KKworICogTWFrZSBzdXJlIG91ciB0ZXN0cyB3b3VsZCBwYXNzIHdoZW4gdGhlIHNvdXJjZXMgYXJlIGNoZWNrZWQgb3V0CisgICB3aXRoICJwbGF0Zm9ybSBuYXRpdmUiIGxpbmUgZW5kaW5nIGNvbnZlbnRpb24gYnkgZGVmYXVsdCBvbgorICAgV2luZG93cy4gIFNvbWUgInRleHQiIGZpbGVzIG91dCB0ZXN0cyB1c2UgYW5kIHRoZSB0ZXN0IHNjcmlwdHMKKyAgIHRoZW1zZWx2ZXMgdGhhdCBhcmUgbWVhbnQgdG8gYmUgcnVuIHdpdGggL2Jpbi9zaCwgb3VnaHQgdG8gYmUKKyAgIGNoZWNrZWQgb3V0IHdpdGggZW9sPUxGIGV2ZW4gb24gV2luZG93cy4KKworICogSW50cm9kdWNlIHRoZSBCVUcoKSBtYWNybyB0byBpbXByb3ZlIGRpZSgiQlVHOiAuLi4iKS4KKworICogQ2xhcmlmeSBkb2N1bWVudGF0aW9uIGZvciBpbmNsdWRlLnBhdGggYW5kIGluY2x1ZGVJZi48Y29uZGl0aW9uPi5wYXRoCisgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4KKworICogR2l0IHNvbWV0aW1lcyBnaXZlcyBhbiBhZHZpY2UgaW4gYSByaGV0b3JpY2FsIHF1ZXN0aW9uIHRoYXQgZG9lcworICAgbm90IHJlcXVpcmUgYW4gYW5zd2VyLCB3aGljaCBjYW4gY29uZnVzZSBuZXcgdXNlcnMgYW5kIG5vbiBuYXRpdmUKKyAgIHNwZWFrZXJzLiAgQXR0ZW1wdCB0byByZXBocmFzZSB0aGVtLgorCisgKiBBIGZldyBodHRwOi8vIGxpbmtzIHRoYXQgYXJlIHJlZGlyZWN0ZWQgdG8gaHR0cHM6Ly8gaW4gdGhlCisgICBkb2N1bWVudGF0aW9uIGhhdmUgYmVlbiB1cGRhdGVkIHRvIGh0dHBzOi8vIGxpbmtzLgorCisgKiAiZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0uLi4iIHdpdGggJShIRUFEKSBpbiB0aGUgZm9ybWF0IHVzZWQgdG8KKyAgIHJlc29sdmUgdGhlIEhFQUQgc3ltcmVmIGFzIG1hbnkgdGltZXMgYXMgaXQgaGFkIHByb2Nlc3NlZCByZWZzLAorICAgd2hpY2ggd2FzIHdhc3RlZnVsLCBhbmQgImdpdCBicmFuY2giIHNoYXJlZCB0aGUgc2FtZSBwcm9ibGVtLgorCisgKiBSZWdyZXNzaW9uIGZpeCB0byB0b3BpYyByZWNlbnRseSBtZXJnZWQgdG8gJ21hc3RlcicuCisKKyAqIFRoZSBzaGVsbCBjb21wbGV0aW9uIHNjcmlwdCAoaW4gY29udHJpYi8pIGxlYXJuZWQgImdpdCBzdGFzaCIgaGFzCisgICBhIG5ldyAicHVzaCIgc3ViY29tbWFuZC4KKworICogImdpdCBpbnRlcnByZXQtdHJhaWxlcnMiLCB3aGVuIHVzZWQgYXMgR0lUX0VESVRPUiBmb3IgImdpdCBjb21taXQKKyAgIC12IiwgbG9va2VkIGZvciBhbmQgYXBwZW5kZWQgdG8gYSB0cmFpbGVyIGJsb2NrIGF0IHRoZSB2ZXJ5IGVuZCwKKyAgIGkuZS4gYXQgdGhlIGVuZCBvZiB0aGUgImRpZmYiIG91dHB1dC4gIFRoZSBjb21tYW5kIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQgdG8gcGF5IGF0dGVudGlvbiB0byB0aGUgY3V0LW1hcmsgbGluZSAiY29tbWl0IC12IiBhZGRzIHRvCisgICB0aGUgYnVmZmVyLS0tdGhlIHJlYWwgdHJhaWxlciBibG9jayBzaG91bGQgYXBwZWFyIGp1c3QgYmVmb3JlIGl0LgorCisgKiBBIHRlc3QgYWxsb3dlZCBib3RoICJnaXQgcHVzaCIgYW5kICJnaXQgcmVjZWl2ZS1wYWNrIiBvbiB0aGUgb3RoZXIKKyAgIGVuZCB3cml0ZSB0aGVpciB0cmFjZXMgaW50byB0aGUgc2FtZSBmaWxlLiAgVGhpcyBpcyBPSyBvbiBwbGF0Zm9ybXMKKyAgIHRoYXQgYWxsb3dzIGF0b21pY2FsbHkgYXBwZW5kaW5nIHRvIGEgZmlsZSBvcGVuZWQgd2l0aCBPX0FQUEVORCwKKyAgIGJ1dCBvbiBvdGhlciBwbGF0Zm9ybXMgbGVkIHRvIGEgbWFuZ2xlZCBvdXRwdXQsIGNhdXNpbmcKKyAgIGludGVybWl0dGVudCB0ZXN0IGZhaWx1cmVzLiAgVGhpcyBoYXMgYmVlbiBmaXhlZCBieSBkaXNhYmxpbmcKKyAgIHRyYWNlcyBmcm9tICJyZWNlaXZlLXBhY2siIGluIHRoZSB0ZXN0LgorCisgKiBUYWcgb2JqZWN0cywgd2hpY2ggYXJlIG5vdCByZWFjaGFibGUgZnJvbSBhbnkgcmVmLCB0aGF0IHBvaW50IGF0CisgICBtaXNzaW5nIG9iamVjdHMgd2VyZSBtaXNoYW5kbGVkIGJ5ICJnaXQgZ2MiIGFuZCBmcmllbmRzICh0aGV5CisgICBzaG91bGQgc2lsZW50bHkgYmUgaWdub3JlZCBpbnN0ZWFkKQorCisgKiAiZ2l0IGRlc2NyaWJlIC0tY29udGFpbnMiIHBlbmFsaXplZCBsaWdodC13ZWlnaHQgdGFncyBzbyBtdWNoIHRoYXQKKyAgIHRoZXkgd2VyZSBhbG1vc3QgbmV2ZXIgY29uc2lkZXJlZC4gIEluc3RlYWQsIGdpdmUgdGhlbSBhYm91dCB0aGUKKyAgIHNhbWUgY2hhbmNlIHRvIGJlIGNvbnNpZGVyZWQgYXMgYW4gYW5ub3RhdGVkIHRhZyB0aGF0IGlzIHRoZSBzYW1lCisgICBhZ2UgYXMgdGhlIHVuZGVybHlpbmcgY29tbWl0IHdvdWxkLgorCisgKiBUaGUgInJ1bi1jb21tYW5kIiBBUEkgaW1wbGVtZW50YXRpb24gaGFzIGJlZW4gbWFkZSBtb3JlIHJvYnVzdAorICAgYWdhaW5zdCBkZWFkLWxvY2tpbmcgaW4gYSB0aHJlYWRlZCBlbnZpcm9ubWVudC4KKworICogQSByZWNlbnQgdXBkYXRlIHRvIHQ1NTQ1LXB1c2gtb3B0aW9ucy5zaCBzdGFydGVkIHNraXBwaW5nIGFsbCB0aGUKKyAgIHRlc3RzIGluIHRoZSBzY3JpcHQgd2hlbiBhIHdlYiBzZXJ2ZXIgdGVzdGluZyBpcyBkaXNhYmxlZCBvcgorICAgdW5hdmFpbGFibGUsIG5vdCBqdXN0IHRoZSBvbmVzIHRoYXQgcmVxdWlyZSBhIHdlYiBzZXJ2ZXIuICBOb24gSFRUUAorICAgdGVzdHMgaGF2ZSBiZWVuIHNhbHZhZ2VkIHRvIGFsd2F5cyBydW4gaW4gdGhpcyBzY3JpcHQuCisKKyAqICJnaXQgc2VuZC1lbWFpbCIgbm93IHVzZXMgTmV0OjpTTVRQOjpTU0wsIHdoaWNoIGlzIG9ic29sZXRlLCBvbmx5CisgICB3aGVuIG5lZWRlZC4gIFJlY2VudCB2ZXJzaW9ucyBvZiBOZXQ6OlNNVFAgY2FuIGRvIFRMUyBuYXRpdmVseS4KKworICogImZvb1xiYXJcYmF6IiBpbiAiZ2l0IGZldGNoIGZvb1xiYXJcYmF6IiwgZXZlbiB0aG91Z2ggdGhlcmUgaXMgbm8KKyAgIHNsYXNoZXMgaW4gaXQsIGNhbm5vdCBiZSBhIG5pY2tuYW1lIGZvciBhIHJlbW90ZSBvbiBXaW5kb3dzLCBhcworICAgdGhhdCBpcyBsaWtlbHkgdG8gYmUgYSBwYXRobmFtZSBvbiBhIGxvY2FsIGZpbGVzeXN0ZW0uCisKKyAqICJnaXQgY2xlYW4gLWQiIHVzZWQgdG8gY2xlYW4gZGlyZWN0b3JpZXMgdGhhdCBoYXMgaWdub3JlZCBmaWxlcywKKyAgIGV2ZW4gdGhvdWdoIHRoZSBjb21tYW5kIHNob3VsZCBub3QgbG9zZSBpZ25vcmVkIG9uZXMgd2l0aG91dCAiLXgiLgorICAgImdpdCBzdGF0dXMgLS1pZ25vcmVkIiAgZGlkIG5vdCBsaXN0IGlnbm9yZWQgYW5kIHVudHJhY2tlZCBmaWxlcworICAgd2l0aG91dCAiLXVhbGwiLiAgVGhlc2UgaGF2ZSBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlIHJlc3VsdCBmcm9tICJnaXQgZGlmZiIgdGhhdCBjb21wYXJlcyB0d28gYmxvYnMsIGUuZy4gImdpdCBkaWZmCisgICAkY29tbWl0MTokcGF0aCAkY29tbWl0MjokcGF0aCIsIHVzZWQgdG8gYmUgc2hvd24gd2l0aCB0aGUgZnVsbAorICAgb2JqZWN0IG5hbWUgYXMgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSwgYnV0IGl0IGlzIG1vcmUgbmF0dXJhbCB0bworICAgdXNlIHRoZSAkcGF0aCBpbiB0aGUgb3V0cHV0IGFuZCB1c2UgaXQgdG8gbG9vayB1cCAuZ2l0YXR0cmlidXRlcy4KKworICogVGhlICJjb2xsaXNpb24gZGV0ZWN0aW5nIiBTSEEtMSBpbXBsZW1lbnRhdGlvbiBzaGlwcGVkIHdpdGggMi4xMworICAgd2FzIHF1aXRlIGJyb2tlbiBvbiBzb21lIGJpZy1lbmRpYW4gcGxhdGZvcm1zIGFuZC9vciBwbGF0Zm9ybXMgdGhhdAorICAgZG8gbm90IGxpa2UgdW5hbGlnbmVkIGZldGNoZXMuICBVcGRhdGUgdG8gdGhlIHVwc3RyZWFtIGNvZGUgd2hpY2gKKyAgIGhhcyBhbHJlYWR5IGZpeGVkIHRoZXNlIGlzc3Vlcy4KKworICogImdpdCBhbSAtaCIgdHJpZ2dlcmVkIGEgQlVHKCkuCisKKyAqIFRoZSBpbnRlcmFjdGlvbiBvZiAidXJsLiouaW5zdGVhZE9mIiBhbmQgY3VzdG9tIFVSTCBzY2hlbWUncworICAgd2hpdGVsaXN0aW5nIGlzIG5vdyBkb2N1bWVudGVkIGJldHRlci4KKworICogVGhlIHRpbWVzdGFtcCBvZiB0aGUgaW5kZXggZmlsZSBpcyBub3cgdGFrZW4gYWZ0ZXIgdGhlIGZpbGUgaXMKKyAgIGNsb3NlZCwgdG8gaGVscCBXaW5kb3dzLCBvbiB3aGljaCBhIHN0YWxlIHRpbWVzdGFtcCBpcyByZXBvcnRlZCBieQorICAgZnN0YXQoKSBvbiBhIGZpbGUgdGhhdCBpcyBvcGVuZWQgZm9yIHdyaXRpbmcgYW5kIGRhdGEgd2FzIHdyaXR0ZW4KKyAgIGJ1dCBub3QgeWV0IGNsb3NlZC4KKworICogImdpdCBwdWxsIC0tcmViYXNlIC0tYXV0b3N0YXNoIiBkaWRuJ3QgYXV0by1zdGFzaCB3aGVuIHRoZSBsb2NhbCBoaXN0b3J5CisgICBmYXN0LWZvcndhcmRzIHRvIHRoZSB1cHN0cmVhbS4KKworICogQSBmbGFreSB0ZXN0IGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCAkY21kIC1oIiBmb3IgYnVpbHRpbiBjb21tYW5kcyBjYWxscyB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlCisgICBjb21tYW5kIChpLmUuIGNtZF8kY21kKCkgZnVuY3Rpb24pIHdpdGhvdXQgZG9pbmcgYW55IHJlcG9zaXRvcnkKKyAgIHNldC11cCwgYW5kIHRoZSBjb21tYW5kcyB0aGF0IGV4cGVjdCBSVU5fU0VUVVAgaXMgZG9uZSBieSB0aGUgR2l0CisgICBwb3R0eSBuZWVkcyB0byBiZSBwcmVwYXJlZCB0byBzaG93IHRoZSBoZWxwIHRleHQgd2l0aG91dCBiYXJmaW5nLgorICAgKG1lcmdlIGQ2OTE1NTExOTIgamsvY29uc2lzdGVudC1oIGxhdGVyIHRvIG1haW50KS4KKworICogSGVscCBjb250cmlidXRvcnMgdGhhdCB2aXNpdCB1cyBhdCBHaXRIdWIuCisKKyAqICJnaXQgc3Rhc2ggcHVzaCA8cGF0aHNwZWM+IiBkaWQgbm90IHdvcmsgZnJvbSBhIHN1YmRpcmVjdG9yeSBhdCBhbGwuCisgICBCdWdmaXggZm9yIGEgdG9waWMgaW4gdjIuMTMKKworICogQXMgdGhlcmUgaXMgbm8gcG9ydGFibGUgd2F5IHRvIHBhc3MgdGltZXpvbmUgaW5mb3JtYXRpb24gdG8KKyAgIHN0cmZ0aW1lLCBzb21lIG91dHB1dCBmb3JtYXQgZnJvbSAiZ2l0IGxvZyIgYW5kIGZyaWVuZHMgYXJlCisgICBpbXBvc3NpYmxlIHRvIHByb2R1Y2UuICBUZWFjaCBvdXIgb3duIHN0cmJ1Zl9hZGRmdGltZSB0byByZXBsYWNlICV6CisgICBhbmQgJVogd2l0aCBjYWxsZXItc3VwcGxpZWQgdmFsdWVzIHRvIGhlbHAgd29ya2luZyBhcm91bmQgdGhpcy4KKyAgIChtZXJnZSA2ZWNlZDNlYzVlIHJzL3N0cmJ1Zi1hZGRmdGltZS16WiBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgbWVyZ2V0b29sIiBsZWFybmVkIHRvIHdvcmsgYXJvdW5kIGEgd3JhcHBlciBNYWNPUyBYIGFkZHMKKyAgIGFyb3VuZCB1bmRlcmx5aW5nIG1lbGQuCisKKyAqIEFuIGV4YW1wbGUgaW4gZG9jdW1lbnRhdGlvbiB0aGF0IGRvZXMgbm90IHdvcmsgaW4gbXVsdGkgd29ya3RyZWUKKyAgIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgcHJldHR5LWZvcm1hdCBzcGVjaWZpZXJzIGxpa2UgJyVoJywgJyV0JywgZXRjLiBoYWQgYW4KKyAgIG9wdGltaXphdGlvbiB0aGF0IG5vIGxvbmdlciB3b3JrcyBjb3JyZWN0bHkuICBJbiBwcmVwYXJhdGlvbi9ob3BlCisgICBvZiBnZXR0aW5nIGl0IGNvcnJlY3RseSBpbXBsZW1lbnRlZCwgZmlyc3QgZGlzY2FyZCB0aGUgb3B0aW1pemF0aW9uCisgICB0aGF0IGlzIGJyb2tlbi4KKworICogVGhlIGNvZGUgdG8gcGljayB1cCBhbmQgZXhlY3V0ZSBjb21tYW5kIGFsaWFzIGRlZmluaXRpb24gZnJvbSB0aGUKKyAgIGNvbmZpZ3VyYXRpb24gdXNlZCB0byBzd2l0Y2ggdG8gdGhlIHRvcCBvZiB0aGUgd29ya2luZyB0cmVlIGFuZAorICAgdGhlbiBjb21lIGJhY2sgd2hlbiB0aGUgZXhwYW5kZWQgYWxpYXMgd2FzIGV4ZWN1dGVkLCB3aGljaCB3YXMKKyAgIHVubmVjZXNzYXJpbHlsIGNvbXBsZXguICBBdHRlbXB0IHRvIHNpbXBsaWZ5IHRoZSBsb2dpYyBieSB1c2luZyB0aGUKKyAgIGVhcmx5LWNvbmZpZyBtZWNoYW5pc20gdGhhdCBkb2VzIG5vdCBjaGRpciBhcm91bmQuCisKKyAqIEZpeCBjb25maWd1cmF0aW9uIGNvZGVwYXRoIHRvIHBheSBwcm9wZXIgYXR0ZW50aW9uIHRvIGNvbW1vbmRpcgorICAgdGhhdCBpcyB1c2VkIGluIG11bHRpLXdvcmt0cmVlIHNpdHVhdGlvbiwgYW5kIGlzb2xhdGUgY29uZmlnIEFQSQorICAgaW50byBpdHMgb3duIGhlYWRlciBmaWxlLgorICAgKG1lcmdlIGRjODQ0MWZkYjQgYncvY29uZmlnLWggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGFkZCAtcCIgd2VyZSB1cGRhdGVkIGluIDIuMTIgdGltZWZyYW1lIHRvIGNvcGUgd2l0aCBjdXN0b20KKyAgIGNvcmUuY29tbWVudGNoYXIgYnV0IHRoZSBpbXBsZW1lbnRhdGlvbiB3YXMgYnVnZ3kgYW5kIGEKKyAgIG1ldGFjaGFyYWN0ZXIgbGlrZSAkIGFuZCAqIGRpZCBub3Qgd29yay4KKworICogQSByZWNlbnQgcmVncmVzc2lvbiBpbiAiZ2l0IHJlYmFzZSAtaSIgaGFzIGJlZW4gZml4ZWQgYW5kIHRlc3RzCisgICB0aGF0IHdvdWxkIGhhdmUgY2F1Z2h0IGl0IGFuZCBvdGhlcnMgaGF2ZSBiZWVuIGFkZGVkLgorCisgKiBBbiB1bmFsaWduZWQgMzItYml0IGFjY2VzcyBpbiBwYWNrLWJpdG1hcCBjb2RlIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGlnaHRlbiBlcnJvciBjaGVja3MgZm9yIGludmFsaWQgImdpdCBhcHBseSIgaW5wdXQuCisKKyAqIFRoZSBzcGxpdCBpbmRleCBjb2RlIGRpZCBub3QgaG9ub3IgY29yZS5zaGFyZWRSZXBvc2l0b3J5IHNldHRpbmcKKyAgIGNvcnJlY3RseS4KKworICogVGhlIE1ha2VmaWxlIHJ1bGUgaW4gY29udHJpYi9zdWJ0cmVlIGZvciBidWlsZGluZyBkb2N1bWVudGF0aW9uCisgICBsZWFybmVkIHRvIGhvbm91ciBVU0VfQVNDSUlET0NUT1IganVzdCBsaWtlIHRoZSBtYWluIGRvY3VtZW50YXRpb24KKyAgIHNldCBkb2VzLgorCisgKiBDb2RlIGNsZWFuLXVwIHRvIGZpeCBwb3NzaWJsZSBidWZmZXIgb3Zlci1yZWFkaW5nLgorCisgKiBBIGZldyB0ZXN0cyB0aGF0IHRyaWVkIHRvIHZlcmlmeSB0aGUgY29udGVudHMgb2YgcHVzaCBjZXJ0aWZpY2F0ZXMKKyAgIGRpZCBub3QgdXNlICdnaXQgcmV2LXBhcnNlJyB0byBmb3JtdWxhdGUgdGhlIGxpbmUgdG8gbG9vayBmb3IgaW4KKyAgIHRoZSBjZXJ0aWZpY2F0ZSBjb3JyZWN0bHkuCisKKyAqIFVwZGF0ZSB0aGUgY2hhcmFjdGVyIHdpZHRoIHRhYmxlcy4KKworICogQWZ0ZXIgImdpdCBicmFuY2ggLS1tb3ZlIiBvZiB0aGUgY3VycmVudGx5IGNoZWNrZWQgb3V0IGJyYW5jaCwgdGhlCisgICBjb2RlIHRvIHdhbGsgdGhlIHJlZmxvZyBvZiBIRUFEIHZpYSAibG9nIC1nIiBhbmQgZnJpZW5kcworICAgaW5jb3JyZWN0bHkgc3RvcHBlZCBhdCB0aGUgcmVmbG9nIGVudHJ5IHRoYXQgcmVjb3JkcyB0aGUgcmVuYW1pbmcKKyAgIG9mIHRoZSBicmFuY2guCisKKyAqIFRoZSByZXdyaXRlIG9mICJnaXQgYnJhbmNoIC0tbGlzdCIgdXNpbmcgZm9yLWVhY2gtcmVmJ3MgaW50ZXJuYWxzCisgICB0aGF0IGhhcHBlbmVkIGluIHYyLjEzIHJlZ3Jlc3NlZCBpdHMgaGFuZGxpbmcgb2YgY29sb3IuYnJhbmNoLmxvY2FsOworICAgdGhpcyBoYXMgYmVlbiBmaXhlZC4KKworICogVGhlIGJ1aWxkIHByb2NlZHVyZSBoYXMgYmVlbiBpbXByb3ZlZCB0byBhbGxvdyBidWlsZGluZyBhbmQgdGVzdGluZworICAgR2l0IHdpdGggYWRkcmVzcyBzYW5pdGl6ZXIgbW9yZSBlYXNpbHkuCisgICAobWVyZ2UgNDI1Y2E2NzEwYiBqay9idWlsZC13aXRoLWFzYW4gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBPbiBDeWd3aW4sIHNpbWlsYXIgdG8gV2luZG93cywgImdpdCBwdXNoIC8vc2VydmVyL3NoYXJlL3JlcG9zaXRvcnkiCisgICBvdWdodCB0byBtZWFuIGEgcmVwb3NpdG9yeSBvbiBhIG5ldHdvcmsgc2hhcmUgdGhhdCBjYW4gYmUgYWNjZXNzZWQKKyAgIGxvY2FsbHksIGJ1dCB0aGlzIGRpZCBub3Qgd29yayBjb3JyZWN0bHkgZHVlIHRvIHN0cmlwcGluZyB0aGUgZG91YmxlCisgICBzbGFzaGVzIGF0IHRoZSBiZWdpbm5pbmcuCisKKyAqIFRoZSBwcm9ncmVzcyBtZXRlciBkaWQgbm90IGdpdmUgYSB1c2VmdWwgb3V0cHV0IHdoZW4gd2UgaGF2ZW4ndCBoYWQKKyAgIDAuNSBzZWNvbmRzIHRvIG1lYXN1cmUgdGhlIHRocm91Z2hwdXQgZHVyaW5nIHRoZSBpbnRlcnZhbC4gIEluc3RlYWQKKyAgIHNob3cgdGhlIG92ZXJhbGwgdGhyb3VnaHB1dCByYXRlIGF0IHRoZSBlbmQsIHdoaWNoIGlzIGEgbXVjaCBtb3JlCisgICB1c2VmdWwgbnVtYmVyLgorCisgKiBDb2RlIGNsZWFuLXVwLCB0aGF0IG1ha2VzIHVzIGluIHN5bmMgd2l0aCBEZWJpYW4gYnkgb25lIHBhdGNoLgorCisgKiBXZSBydW4gYW4gZWFybHkgcGFydCBvZiAiZ2l0IGdjIiB0aGF0IGRlYWxzIHdpdGggcmVmcyBiZWZvcmUKKyAgIGRhZW1vbmlzaW5nIChhbmQgbm90IHVuZGVyIGxvY2spIGV2ZW4gd2hlbiBydW5uaW5nIGEgYmFja2dyb3VuZAorICAgYXV0by1nYywgd2hpY2ggY2F1c2VkIG11bHRpcGxlIGdjIHByb2Nlc3NlcyBhdHRlbXB0aW5nIHRvIHJ1biB0aGUKKyAgIGVhcmx5IHBhcnQgYXQgdGhlIHNhbWUgdGltZS4gIFRoaXMgaXMgbm93IHByZXZlbnRlZCBieSBydW5uaW5nIHRoZQorICAgZWFybHkgcGFydCBhbHNvIHVuZGVyIHRoZSBHQyBsb2NrLgorCisgKiBBIHJlY2VudCB1cGRhdGUgYnJva2UgYW4gYWxpYXMgdGhhdCBjb250YWluZWQgYW4gdXBwZXJjYXNlIGxldHRlci4KKworICogT3RoZXIgbWlub3IgZG9jLCB0ZXN0IGFuZCBidWlsZCB1cGRhdGVzIGFuZCBjb2RlIGNsZWFudXBzLgorICAgKG1lcmdlIDUwNTMzMTM1NjIgcnMvdXJsbWF0Y2gtY2xlYW51cCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNDJjNzhhMjE2ZSBycy91c2UtZGl2LXJvdW5kLXVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1ZThkMjcyOWFlIHJzL3d0LXN0YXR1cy1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBiYzliN2UyMDdmIGFzL2RpZmYtb3B0aW9ucy1ncmFtbW9maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGFjMDUyMjJiMzEgYWgvcGF0Y2gtaWQtZG9jIGxhdGVyIHRvIG1haW50KS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNC4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNC4xLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDAzMzQwCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE0LjEudHh0CkBAIC0wLDAgKzEsNCBAQAorR2l0IHYyLjE0LjEgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIHJlbGVhc2UgZm9yd2FyZC1wb3J0cyB0aGUgZml4IGZvciAic3NoOi8vLi4uIiBVUkwgZnJvbSBHaXQgdjIuNy42CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTQuMi50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTQuMi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVjOTE4NgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNC4yLnR4dApAQCAtMCwwICsxLDEwNSBAQAorR2l0IHYyLjE0LjIgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXhlcyBzaW5jZSB2Mi4xNC4xCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAqIEJlY2F1c2UgcmVjZW50IEdpdCBmb3IgV2luZG93cyBkbyBjb21lIHdpdGggYSByZWFsIG1zZ2ZtdCwgdGhlCisgICBidWlsZCBwcm9jZWR1cmUgZm9yIGdpdC1ndWkgaGFzIGJlZW4gdXBkYXRlZCB0byB1c2UgaXQgaW5zdGVhZCBvZiBhCisgICBoYW5kLXJvbGxlZCBzdWJzdGl0dXRlLgorCisgKiAiJUMoY29sb3IgbmFtZSkiIGluIHRoZSBwcmV0dHkgcHJpbnQgZm9ybWF0IGFsd2F5cyBwcm9kdWNlZCBBTlNJCisgICBjb2xvciBlc2NhcGUgY29kZXMsIHdoaWNoIHdhcyBhbiBlYXJseSBkZXNpZ24gbWlzdGFrZS4gIFRoZXkgbm93CisgICBob25vciB0aGUgY29uZmlndXJhdGlvbiAoZS5nLiAiY29sb3IudWkgPSBuZXZlciIpIGFuZCBhbHNvIHR0eS1uZXNzCisgICBvZiB0aGUgb3V0cHV0IG1lZGl1bS4KKworICogVGhlIGh0dHAue3NzbGtleSxzc2xDZXJ0fSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBhcmUgdG8gYmUKKyAgIGludGVycHJldGVkIGFzIGEgcGF0aG5hbWUgdGhhdCBob25vcnMgIn5bdXNlcm5hbWVdLyIgcHJlZml4LCBidXQKKyAgIHdlcmVuJ3QsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBOdW1lcm91cyBidWdzIGluIHdhbGtpbmcgb2YgcmVmbG9ncyB2aWEgImxvZyAtZyIgYW5kIGZyaWVuZHMgaGF2ZQorICAgYmVlbiBmaXhlZC4KKworICogImdpdCBjb21taXQiIHdoZW4gc2VlaW5nIGFuIHRvdGFsbHkgZW1wdHkgbWVzc2FnZSBzYWlkICJ5b3UgZGlkIG5vdAorICAgZWRpdCB0aGUgbWVzc2FnZSIsIHdoaWNoIGlzIGNsZWFybHkgd3JvbmcuICBUaGUgbWVzc2FnZSBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiBXaGVuIGEgZGlyZWN0b3J5IGlzIG5vdCByZWFkYWJsZSwgImdpdHdlYiIgZmFpbHMgdG8gYnVpbGQgdGhlCisgICBwcm9qZWN0IGxpc3QuICBXb3JrIHRoaXMgYXJvdW5kIGJ5IHNraXBwaW5nIHN1Y2ggYSBkaXJlY3RvcnkuCisKKyAqIEEgcmVjZW50bHkgYWRkZWQgdGVzdCBmb3IgdGhlICJjcmVkZW50aWFsLWNhY2hlIiBoZWxwZXIgcmV2ZWFsZWQKKyAgIHRoYXQgRU9GIGRldGVjdGlvbiBkb25lIGFyb3VuZCB0aGUgdGltZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgY2FjaGUKKyAgIGRhZW1vbiBpcyB0b3JuIGRvd24gd2VyZSBmbGFreS4gIFRoaXMgd2FzIGZpeGVkIGJ5IHJlYWN0aW5nIHRvCisgICBFQ09OTlJFU0VUIGFuZCBiZWhhdmluZyBhcyBpZiB3ZSBnb3QgYW4gRU9GLgorCisgKiBTb21lIHZlcnNpb25zIG9mIEdudVBHIGZhaWwgdG8ga2lsbCBncGctYWdlbnQgaXQgYXV0by1zcGF3bmVkCisgICBhbmQgc3VjaCBhIGxlZnQtb3ZlciBhZ2VudCBjYW4gaW50ZXJmZXJlIHdpdGggYSB0ZXN0LiAgV29yayBpdAorICAgYXJvdW5kIGJ5IGF0dGVtcHRpbmcgdG8ga2lsbCBvbmUgYmVmb3JlIHN0YXJ0aW5nIGEgbmV3IHRlc3QuCisKKyAqICJnaXQgbG9nIC0tdGFnPW5vLXN1Y2gtdGFnIiBzaG93ZWQgbG9nIHN0YXJ0aW5nIGZyb20gSEVBRCwgd2hpY2gKKyAgIGhhcyBiZWVuIGZpeGVkLS0taXQgbm93IHNob3dzIG5vdGhpbmcuCisKKyAqIFRoZSAidGFnLnBhZ2VyIiBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHdhcyB1c2VsZXNzIGZvciB0aG9zZSB3aG8KKyAgIGFjdHVhbGx5IGNyZWF0ZSB0YWcgb2JqZWN0cywgYXMgaXQgaW50ZXJmZXJlZCB3aXRoIHRoZSB1c2Ugb2YgYW4KKyAgIGVkaXRvci4gIEEgbmV3IG1lY2hhbmlzbSBoYXMgYmVlbiBpbnRyb2R1Y2VkIGZvciBjb21tYW5kcyB0byBlbmFibGUKKyAgIHBhZ2VyIGRlcGVuZGluZyBvbiB3aGF0IG9wZXJhdGlvbiBpcyBiZWluZyBjYXJyaWVkIG91dCB0byBmaXggdGhpcywKKyAgIGFuZCB0aGVuICJnaXQgdGFnIC1sIiBpcyBtYWRlIHRvIHJ1biBwYWdlciBieSBkZWZhdWx0LgorCisgKiAiZ2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXMgJHRoZXJlIEhFQUQ6JHRhcmdldCIgd2FzIG5vdAorICAgcHJvcGFnYXRlZCBkb3duIHRvIHRoZSBzdWJtb2R1bGVzLCBidXQgbm93IGl0IGlzLgorCisgKiBDb21tYW5kcyBsaWtlICJnaXQgcmViYXNlIiBhY2NlcHRlZCB0aGUgLS1yZXJlcmUtYXV0b3VwZGF0ZSBvcHRpb24KKyAgIGZyb20gdGhlIGNvbW1hbmQgbGluZSwgYnV0IGRpZCBub3QgYWx3YXlzIHVzZSBpdC4gIFRoaXMgaGFzIGJlZW4KKyAgIGZpeGVkLgorCisgKiAiZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tcXVpZXQiIGRpZCBub3QgcGFzcyB0aGUgcXVpZXQKKyAgIG9wdGlvbiBkb3duIHRvIHN1Ym1vZHVsZXMuCisKKyAqICJnaXQgYW0gLXMiIGhhcyBiZWVuIHRhdWdodCB0aGF0IHNvbWUgaW5wdXQgbWF5IGVuZCB3aXRoIGEgdHJhaWxlcgorICAgYmxvY2sgdGhhdCBpcyBub3QgU2lnbmVkLW9mZi1ieTogYW5kIGl0IHNob3VsZCByZWZyYWluIGZyb20gYWRkaW5nCisgICBhbiBleHRyYSBibGFuayBsaW5lIGJlZm9yZSBhZGRpbmcgYSBuZXcgc2lnbi1vZmYgaW4gc3VjaCBhIGNhc2UuCisKKyAqICJnaXQgc3ZuIiB1c2VkIHdpdGggIi0tbG9jYWx0aW1lIiBvcHRpb24gZGlkIG5vdCBjb21wdXRlIHRoZSB0egorICAgb2Zmc2V0IGZvciB0aGUgdGltZXN0YW1wIGluIHF1ZXN0aW9uIGFuZCBpbnN0ZWFkIGFsd2F5cyB1c2VkIHRoZQorICAgY3VycmVudCB0aW1lLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIE1lbW9yeSBsZWFrcyBpbiBhIGZldyBlcnJvciBjb2RlcGF0aHMgaGF2ZSBiZWVuIHBsdWdnZWQuCisKKyAqIGJhc2ggNC40IG9yIG5ld2VyIGdhdmUgYSB3YXJuaW5nIG9uIE5VTCBieXRlIGluIGNvbW1hbmQKKyAgIHN1YnN0aXR1dGlvbiBkb25lIGluICJnaXQgc3Rhc2giOyB0aGlzIGhhcyBiZWVuIHNxdWVsY2hlZC4KKworICogImdpdCBncmVwIC1MIiBhbmQgImdpdCBncmVwIC0tcXVpZXQgLUwiIHJlcG9ydGVkIGRpZmZlcmVudCBleGl0CisgICBjb2RlczsgdGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFdoZW4gaGFuZHNoYWtlIHdpdGggYSBzdWJwcm9jZXNzIGZpbHRlciBub3RpY2VzIHRoYXQgdGhlIHByb2Nlc3MKKyAgIGFza2VkIGZvciBhbiB1bmtub3duIGNhcGFiaWxpdHksIEdpdCBkaWQgbm90IHJlcG9ydCB3aGF0IHByb2dyYW0KKyAgIHRoZSBvZmZlbmRpbmcgc3VicHJvY2VzcyB3YXMgcnVubmluZy4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IGFwcGx5IiB0aGF0IGlzIHVzZWQgYXMgYSBiZXR0ZXIgInBhdGNoIC1wMSIgZmFpbGVkIHRvIGFwcGx5IGEKKyAgIHRha2VuIGZyb20gYSBmaWxlIHdpdGggQ1JMRiBsaW5lIGVuZGluZ3MgdG8gYSBmaWxlIHdpdGggQ1JMRiBsaW5lCisgICBlbmRpbmdzLiAgVGhlIHJvb3QgY2F1c2Ugd2FzIGJlY2F1c2UgaXQgbWlzdXNlZCBjb252ZXJ0X3RvX2dpdCgpCisgICB0aGF0IHRyaWVkIHRvIGRvICJzYWZlLWNybGYiIHByb2Nlc3NpbmcgYnkgbG9va2luZyBhdCB0aGUgaW5kZXgKKyAgIGVudHJ5IGF0IHRoZSBzYW1lIHBhdGgsIHdoaWNoIGlzIGEgbm9uc2Vuc2UtLS1pbiB0aGF0IG1vZGUsICJhcHBseSIKKyAgIGlzIG5vdCB3b3JraW5nIG9uIHRoZSBkYXRhIGluIChvciBkZXJpdmVkIGZyb20pIHRoZSBpbmRleCBhdCBhbGwuCisgICBUaGlzIGhhcyBiZWVuIGZpeGVkLgorCisgKiBLaWxsaW5nICJnaXQgbWVyZ2UgLS1lZGl0IiBiZWZvcmUgdGhlIGVkaXRvciByZXR1cm5zIGNvbnRyb2wgbGVmdAorICAgdGhlIHJlcG9zaXRvcnkgaW4gYSBzdGF0ZSB3aXRoIE1FUkdFX01TRyBidXQgd2l0aG91dCBNRVJHRV9IRUFELAorICAgd2hpY2ggaW5jb3JyZWN0bHkgdGVsbHMgdGhlIHN1YnNlcXVlbnQgImdpdCBjb21taXQiIHRoYXQgdGhlcmUgd2FzCisgICBhIHNxdWFzaCBtZXJnZSBpbiBwcm9ncmVzcy4gIFRoaXMgaGFzIGJlZW4gZml4ZWQuCisKKyAqICJnaXQgYXJjaGl2ZSIgZGlkIG5vdCB3b3JrIHdlbGwgd2l0aCBwYXRoc3BlY3MgYW5kIHRoZQorICAgZXhwb3J0LWlnbm9yZSBhdHRyaWJ1dGUuCisKKyAqICJnaXQgY3Zzc2VydmVyIiBubyBsb25nZXIgaXMgaW52b2tlZCBieSAiZ2l0IGRhZW1vbiIgYnkgZGVmYXVsdCwKKyAgIGFzIGl0IGlzIG9sZCBhbmQgbGFyZ2VseSB1bm1haW50YWluZWQuCisKKyAqIFZhcmlvdXMgUGVybCBzY3JpcHRzIGRpZCBub3QgdXNlIHNhZmVfcGlwZV9jYXB0dXJlKCkgaW5zdGVhZCBvZgorICAgYmFja3RpY2tzLCBsZWF2aW5nIHRoZW0gc3VzY2VwdGlibGUgdG8gZW5kLXVzZXIgaW5wdXQuICBUaGV5IGhhdmUKKyAgIGJlZW4gY29ycmVjdGVkLgorCitBbHNvIGNvbnRhaW5zIHZhcmlvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KKworQ3JlZGl0cyBnbyB0byBqb2VybmNoZW4gPGpvZXJuY2hlbkBwaGVub2VsaXQuZGU+IGZvciBmaW5kaW5nIHRoZQordW5zYWZlIGNvbnN0cnVjdHMgaW4gImdpdCBjdnNzZXJ2ZXIiLCBhbmQgdG8gSmVmZiBLaW5nIGF0IEdpdEh1YiBmb3IKK2ZpbmRpbmcgYW5kIGZpeGluZyBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgaXNzdWUgaW4gb3RoZXIgc2NyaXB0cy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNS4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNS4wLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWNlNWUwCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE1LjAudHh0CkBAIC0wLDAgKzEsNDY3IEBACitHaXQgMi4xNSBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09CisKK0JhY2t3YXJkIGNvbXBhdGliaWxpdHkgbm90ZXMgYW5kIG90aGVyIG5vdGFibGUgY2hhbmdlcy4KKworICogVXNlIG9mIGFuIGVtcHR5IHN0cmluZyBhcyBhIHBhdGhzcGVjIGVsZW1lbnQgdGhhdCBpcyB1c2VkIGZvcgorICAgJ2V2ZXJ5dGhpbmcgbWF0Y2hlcycgaXMgc3RpbGwgd2FybmVkIGFuZCBHaXQgYXNrcyB1c2VycyB0byB1c2UgYQorICAgbW9yZSBleHBsaWNpdCAnLicgZm9yIHRoYXQgaW5zdGVhZC4gIFRoZSBob3BlIGlzIHRoYXQgZXhpc3RpbmcKKyAgIHVzZXJzIHdpbGwgbm90IG1pbmQgdGhpcyBjaGFuZ2UsIGFuZCBldmVudHVhbGx5IHRoZSB3YXJuaW5nIGNhbiBiZQorICAgdHVybmVkIGludG8gYSBoYXJkIGVycm9yLCB1cGdyYWRpbmcgdGhlIGRlcHJlY2F0aW9uIGludG8gcmVtb3ZhbCBvZgorICAgdGhpcyAobWlzKWZlYXR1cmUuICBUaGF0IGlzIG5vdyBzY2hlZHVsZWQgdG8gaGFwcGVuIGluIHRoZSB1cGNvbWluZworICAgcmVsZWFzZS4KKworICogR2l0IG5vdyBhdm9pZHMgYmxpbmRseSBmYWxsaW5nIGJhY2sgdG8gIi5naXQiIHdoZW4gdGhlIHNldHVwCisgICBzZXF1ZW5jZSBzYWlkIHdlIGFyZSBfbm90XyBpbiBHaXQgcmVwb3NpdG9yeS4gIEEgY29ybmVyIGNhc2UgdGhhdAorICAgaGFwcGVucyB0byB3b3JrIHJpZ2h0IG5vdyBtYXkgYmUgYnJva2VuIGJ5IGEgY2FsbCB0byBkaWUoIkJVRyIpLgorICAgV2UndmUgdHJpZWQgaGFyZCB0byBsb2NhdGUgc3VjaCBjYXNlcyBhbmQgZml4ZWQgdGhlbSwgYnV0IHRoZXJlCisgICBtaWdodCBzdGlsbCBiZSBjYXNlcyB0aGF0IG5lZWQgdG8gYmUgYWRkcmVzc2VkLS1idWcgcmVwb3J0cyBhcmUKKyAgIGdyZWF0bHkgYXBwcmVjaWF0ZWQuCisKKyAqICJicmFuY2ggLS1zZXQtdXBzdHJlYW0iIHRoYXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBHaXQgMS44IGhhcworICAgZmluYWxseSBiZWVuIHJldGlyZWQuCisKKworVXBkYXRlcyBzaW5jZSB2Mi4xNAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitVSSwgV29ya2Zsb3dzICYgRmVhdHVyZXMKKworICogQW4gZXhhbXBsZSB0aGF0IGlzIG5vdyBvYnNvbGV0ZSBoYXMgYmVlbiByZW1vdmVkIGZyb20gYSBzYW1wbGUgaG9vaywKKyAgIGFuZCBhbiBvbGQgZXhhbXBsZSBpbiBpdCB0aGF0IGFkZGVkIGEgc2lnbi1vZmYgbWFudWFsbHkgaGFzIGJlZW4KKyAgIGltcHJvdmVkIHRvIHVzZSB0aGUgaW50ZXJwcmV0LXRyYWlsZXJzIGNvbW1hbmQuCisKKyAqIFRoZSBhZHZpY2UgbWVzc2FnZSBnaXZlbiB3aGVuICJnaXQgcmViYXNlIiBzdG9wcyBmb3IgY29uZmxpY3RpbmcKKyAgIGNoYW5nZXMgaGFzIGJlZW4gaW1wcm92ZWQuCisKKyAqIFRoZSAicmVyZXJlLXRyYWluIiBzY3JpcHQgKGluIGNvbnRyaWIvKSBsZWFybmVkIHRoZSAiLS1vdmVyd3JpdGUiCisgICBvcHRpb24gdG8gYWxsb3cgb3ZlcndyaXRpbmcgZXhpc3RpbmcgcmVjb3JkZWQgcmVzb2x1dGlvbnMuCisKKyAqICJnaXQgY29udGFjdHMiIChpbiBjb250cmliLykgbm93IGxpc3RzIHRoZSBhZGRyZXNzIG9uIHRoZQorICAgIlJlcG9ydGVkLWJ5OiIgdHJhaWxlciB0byBpdHMgb3V0cHV0LCBpbiBhZGRpdGlvbiB0byB0aG9zZSBvbgorICAgUy1vLWI6IGFuZCBvdGhlciB0cmFpbGVycywgdG8gbWFrZSBpdCBlYXNpZXIgdG8gbm90aWZ5IChhbmQgdGhhbmspCisgICB0aGUgb3JpZ2luYWwgYnVnIHJlcG9ydGVyLgorCisgKiAiZ2l0IHJlYmFzZSIsIGVzcGVjaWFsbHkgd2hlbiBpdCBpcyBydW4gYnkgbWlzdGFrZSBhbmQgZW5kcyB1cAorICAgdHJ5aW5nIHRvIHJlcGxheSBtYW55IGNoYW5nZXMsIHNwZW50IGxvbmcgdGltZSBpbiBzaWxlbmNlLiAgVGhlCisgICBjb21tYW5kIGhhcyBiZWVuIHRhdWdodCB0byBzaG93IHByb2dyZXNzIHJlcG9ydCB3aGVuIGl0IHNwZW5kcworICAgbG9uZyB0aW1lIHByZXBhcmluZyB0aGVzZSBtYW55IGNoYW5nZXMgdG8gcmVwbGF5ICh3aGljaCB3b3VsZCBnaXZlCisgICB0aGUgdXNlciBhIGNoYW5jZSB0byBhYm9ydCB3aXRoIF5DKS4KKworICogImdpdCBtZXJnZSIgbGVhcm5lZCBhICItLXNpZ25vZmYiIG9wdGlvbiB0byBhZGQgdGhlIFNpZ25lZC1vZmYtYnk6CisgICB0cmFpbGVyIHdpdGggdGhlIGNvbW1pdHRlcidzIG5hbWUuCisKKyAqICJnaXQgZGlmZiIgbGVhcm5lZCB0byBvcHRpb25hbGx5IHBhaW50IG5ldyBsaW5lcyB0aGF0IGFyZSB0aGUgc2FtZQorICAgYXMgZGVsZXRlZCBsaW5lcyBlbHNld2hlcmUgZGlmZmVyZW50bHkgZnJvbSBnZW51aW5lbHkgbmV3IGxpbmVzLgorCisgKiAiZ2l0IGludGVycHJldC10cmFpbGVycyIgbGVhcm5lZCB0byB0YWtlIHRoZSB0cmFpbGVyIHNwZWNpZmljYXRpb25zCisgICBmcm9tIHRoZSBjb21tYW5kIGxpbmUgdGhhdCBvdmVycmlkZXMgdGhlIGNvbmZpZ3VyZWQgdmFsdWVzLgorCisgKiAiZ2l0IGludGVycHJldC10cmFpbGVycyIgaGFzIGJlZW4gdGF1Z2h0IGEgIi0tcGFyc2UiIGFuZCBhIGZldworICAgb3RoZXIgb3B0aW9ucyB0byBtYWtlIGl0IGVhc2llciBmb3Igc2NyaXB0cyB0byBncmFiIGV4aXN0aW5nCisgICB0cmFpbGVyIGxpbmVzIGZyb20gYSBjb21taXQgbG9nIG1lc3NhZ2UuCisKKyAqICJnaXR3ZWIiIHNob3dzIGEgbGluayB0byB2aXNpdCB0aGUgJ3JhdycgY29udGVudHMgb2YgYmxib3MgaW4gdGhlCisgICBoaXN0b3J5IG92ZXJ2aWV3IHBhZ2UuCisKKyAqICJbZ2NdIHJlcmVyZVJlc29sdmVkID0gNS5kYXlzIiB1c2VkIHRvIGJlIGludmFsaWQsIGFzIHRoZSB2YXJpYWJsZQorICAgaXMgZGVmaW5lZCB0byB0YWtlIGFuIGludGVnZXIgY291bnRpbmcgdGhlIG51bWJlciBvZiBkYXlzLiAgSXQgbm93CisgICBpcyBhbGxvd2VkLgorCisgKiBUaGUgY29kZSB0byBhY3F1aXJlIGEgbG9jayBvbiBhIHJlZmVyZW5jZSAoZS5nLiB3aGlsZSBhY2NlcHRpbmcgYQorICAgcHVzaCBmcm9tIGEgY2xpZW50KSB1c2VkIHRvIGltbWVkaWF0ZWx5IGZhaWwgd2hlbiB0aGUgcmVmZXJlbmNlIGlzCisgICBhbHJlYWR5IGxvY2tlZC0tLW5vdyBpdCB3YWl0cyBmb3IgYSB2ZXJ5IHNob3J0IHdoaWxlIGFuZCByZXRyaWVzLAorICAgd2hpY2ggY2FuIG1ha2UgaXQgc3VjY2VlZCBpZiB0aGUgbG9jayBob2xkZXIgd2FzIGhvbGRpbmcgaXQgZHVyaW5nCisgICBhIHJlYWQtb25seSBvcGVyYXRpb24uCisKKyAqICJicmFuY2ggLS1zZXQtdXBzdHJlYW0iIHRoYXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBHaXQgMS44IGhhcworICAgZmluYWxseSBiZWVuIHJldGlyZWQuCisKKyAqIFRoZSBjb2RlcGF0aCB0byBjYWxsIGV4dGVybmFsIHByb2Nlc3MgZmlsdGVyIGZvciBzbXVkZ2UvY2xlYW4KKyAgIG9wZXJhdGlvbiBsZWFybmVkIHRvIHNob3cgdGhlIHByb2dyZXNzIG1ldGVyLgorCisgKiAiZ2l0IHJldi1wYXJzZSIgbGVhcm5lZCAiLS1pcy1zaGFsbG93LXJlcG9zaXRvcnkiLCB0aGF0IGlzIHRvIGJlCisgICB1c2VkIGluIGEgd2F5IHNpbWlsYXIgdG8gZXhpc3RpbmcgIi0taXMtYmFyZS1yZXBvc2l0b3J5IiBhbmQKKyAgIGZyaWVuZHMuCisKKyAqICJnaXQgZGVzY3JpYmUgLS1tYXRjaCA8cGF0dGVybj4iIGhhcyBiZWVuIHRhdWdodCB0byBwbGF5IHdlbGwgd2l0aAorICAgdGhlICItLWFsbCIgb3B0aW9uLgorCisgKiAiZ2l0IGJyYW5jaCIgbGVhcm5lZCAiLWMvLUMiIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgY29weWluZyBhbgorICAgZXhpc3Rpbmcgb25lLgorCisgKiBTb21lIGNvbW1hbmRzIChtb3N0IG5vdGFibHkgImdpdCBzdGF0dXMiKSBtYWtlcyBhbiBvcHBvcnR1bmlzdGljCisgICB1cGRhdGUgd2hlbiBwZXJmb3JtaW5nIGEgcmVhZC1vbmx5IG9wZXJhdGlvbiB0byBoZWxwIG9wdGltaXplIGxhdGVyCisgICBvcGVyYXRpb25zIGluIHRoZSBzYW1lIHJlcG9zaXRvcnkuICBUaGUgbmV3ICItLW5vLW9wdGlvbmFsLWxvY2tzIgorICAgb3B0aW9uIGNhbiBiZSBwYXNzZWQgdG8gR2l0IHRvIGRpc2FibGUgdGhlbS4KKworCitQZXJmb3JtYW5jZSwgSW50ZXJuYWwgSW1wbGVtZW50YXRpb24sIERldmVsb3BtZW50IFN1cHBvcnQgZXRjLgorCisgKiBDb252ZXJzaW9uIGZyb20gdWNoYXJbMjBdIHRvIHN0cnVjdCBvYmplY3RfaWQgY29udGludWVzLgorCisgKiBTdGFydCB1c2luZyBzZWxlY3RlZCBjOTkgY29uc3RydWN0cyBpbiBzbWFsbCwgc3RhYmxlIGFuZAorICAgZXNzZW50aWFscGFydCBvZiB0aGUgc3lzdGVtIHRvIGNhdGNoIHBlb3BsZSB3aG8gY2FyZSBhYm91dAorICAgb2xkZXIgY29tcGlsZXJzIHRoYXQgZG8gbm90IGdyb2sgdGhlbS4KKworICogVGhlIGZpbHRlci1wcm9jZXNzIGludGVyZmFjZSBsZWFybmVkIHRvIGFsbG93IGEgcHJvY2VzcyB3aXRoIGxvbmcKKyAgIGxhdGVuY3kgZ2l2ZSBhICJkZWxheWVkIiByZXNwb25zZS4KKworICogTWFueSB1c2VzIG9mIGNvbXBhcmlzaW9uIGNhbGxiYWNrIGZ1bmN0aW9uIHRoZSBoYXNobWFwIEFQSSB1c2VzCisgICBjYXN0IHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0eXBlIHdoZW4gcmVnaXN0ZXJpbmcgaXQgdG8KKyAgIGhhc2htYXBfaW5pdCgpLCB3aGljaCBkZWZlYXRzIHRoZSBjb21waWxlIHRpbWUgdHlwZSBjaGVja2luZyB3aGVuCisgICB0aGUgY2FsbGJhY2sgaW50ZXJmYWNlIGNoYW5nZXMgKGUuZy4gZ2FpbmluZyBtb3JlIHBhcmFtZXRlcnMpLgorICAgVGhlIGNhbGxiYWNrIGltcGxlbWVudGF0aW9ucyBoYXZlIGJlZW4gdXBkYXRlZCB0byB0YWtlICJ2b2lkICoiCisgICBwb2ludGVycyBhbmQgY2FzdCB0aGVtIHRvIHRoZSB0eXBlIHRoZXkgZXhwZWN0IGluc3RlYWQuCisKKyAqIEJlY2F1c2UgcmVjZW50IEdpdCBmb3IgV2luZG93cyBkbyBjb21lIHdpdGggYSByZWFsIG1zZ2ZtdCwgdGhlCisgICBidWlsZCBwcm9jZWR1cmUgZm9yIGdpdC1ndWkgaGFzIGJlZW4gdXBkYXRlZCB0byB1c2UgaXQgaW5zdGVhZCBvZiBhCisgICBoYW5kLXJvbGxlZCBzdWJzdGl0dXRlLgorCisgKiAiZ2l0IGdyZXAgLS1yZWN1cnNlLXN1Ym1vZHVsZXMiIGhhcyBiZWVuIHJld29ya2VkIHRvIGdpdmUgYSBtb3JlCisgICBjb25zaXN0ZW50IG91dHB1dCBhY3Jvc3Mgc3VibW9kdWxlIGJvdW5kYXJ5IChhbmQgZG8gaXRzIHRoaW5nCisgICB3aXRob3V0IGhhdmluZyB0byBmb3JrIGEgc2VwYXJhdGUgcHJvY2VzcykuCisKKyAqIEEgaGVscGVyIGZ1bmN0aW9uIHRvIHJlYWQgYSBzaW5nbGUgd2hvbGUgbGluZSBpbnRvIHN0cmJ1ZgorICAgbWlzdGFrZW5seSB0cmlnZ2VyZWQgT09NIGVycm9yIGF0IEVPRiB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMsCisgICB3aGljaCBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSA2NDI5NTZjZjQ1IHJzL3N0cmJ1Zi1nZXR3aG9sZWxpbmUtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogVGhlICJyZWYtc3RvcmUiIGNvZGUgcmVvcmdhbml6YXRpb24gY29udGludWVzLgorCisgKiAiZ2l0IGNvbW1pdCIgdXNlZCB0byBkaXNjYXJkIHRoZSBpbmRleCBhbmQgcmUtcmVhZCBmcm9tIHRoZSBmaWxlc3lzdGVtCisgICBqdXN0IGluIGNhc2UgdGhlIHByZS1jb21taXQgaG9vayBoYXMgdXBkYXRlZCBpdCBpbiB0aGUgbWlkZGxlOyB0aGlzCisgICBoYXMgYmVlbiBvcHRpbWl6ZWQgb3V0IHdoZW4gd2Uga25vdyB3ZSBkbyBub3QgcnVuIHRoZSBwcmUtY29tbWl0IGhvb2suCisgICAobWVyZ2UgNjgwZWU1NTBkNyBrdy9jb21taXQta2VlcC1pbmRleC13aGVuLXByZS1jb21taXQtaXMtbm90LXJ1biBsYXRlciB0byBtYWludCkuCisKKyAqIFVwZGF0ZXMgdG8gdGhlIEhUVFAgbGF5ZXIgd2UgbWFkZSByZWNlbnRseSB1bmNvbmRpdGlvbmFsbHkgdXNlZAorICAgZmVhdHVyZXMgb2YgbGliQ3VybCB3aXRob3V0IGNoZWNraW5nIHRoZSBleGlzdGVuY2Ugb2YgdGhlbSwgY2F1c2luZworICAgY29tcGlsYXRpb24gZXJyb3JzLCB3aGljaCBoYXMgYmVlbiBmaXhlZC4gIEFsc28gbWlncmF0ZSB0aGUgY29kZSB0bworICAgY2hlY2sgZmVhdHVyZSBtYWNyb3MsIG5vdCB2ZXJzaW9uIG51bWJlcnMsIHRvIGNvcGUgYmV0dGVyIHdpdGgKKyAgIGxpYkN1cmwgdGhhdCB2ZW5kb3Igc2hpcHMgd2l0aCBiYWNrcG9ydGVkIGZlYXR1cmVzLgorCisgKiBUaGUgQVBJIHRvIHN0YXJ0IHNob3dpbmcgcHJvZ3Jlc3MgbWV0ZXIgYWZ0ZXIgYSBzaG9ydCBkZWxheSBoYXMKKyAgIGJlZW4gc2ltcGxpZmllZC4KKyAgIChtZXJnZSA4YWFkZTEwN2RkIGpjL3NpbXBsaWZ5LXByb2dyZXNzIGxhdGVyIHRvIG1haW50KS4KKworICogQ29kZSBjbGVhbi11cCB0byBhdm9pZCBtaXhpbmcgdmFsdWVzIHJlYWQgZnJvbSB0aGUgLmdpdG1vZHVsZXMgZmlsZQorICAgYW5kIHZhbHVlcyByZWFkIGZyb20gdGhlIC5naXQvY29uZmlnIGZpbGUuCisKKyAqIFdlIHVzZWQgdG8gc3BlbmQgbW9yZSB0aGFuIG5lY2Vzc2FyeSBjeWNsZXMgYWxsb2NhdGluZyBhbmQgZnJlZWluZworICAgcGllY2Ugb2YgbWVtb3J5IHdoaWxlIHdyaXRpbmcgZWFjaCBpbmRleCBlbnRyeSBvdXQuICBUaGlzIGhhcyBiZWVuCisgICBvcHRpbWl6ZWQuCisKKyAqIFBsYXRmb3JtcyB0aGF0IHNoaXAgd2l0aCBhIHNlcGFyYXRlIHNoYTEgd2l0aCBjb2xsaXNpb24gZGV0ZWN0aW9uCisgICBsaWJyYXJ5IGNhbiBsaW5rIHRvIGl0IGluc3RlYWQgb2YgdXNpbmcgdGhlIGNvcHkgd2Ugc2hpcCBhcyBwYXJ0IG9mCisgICBvdXIgc291cmNlIHRyZWUuCisKKyAqIENvZGUgYXJvdW5kICJub3RlcyIgaGF2ZSBiZWVuIGNsZWFuZWQgdXAuCisgICAobWVyZ2UgMzk2NDI4MTUyNCBtaC9ub3Rlcy1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGxvbmctc3RhbmRpbmcgcnVsZSB0aGF0IGFuIGluLWNvcmUgbG9ja2ZpbGUgaW5zdGFuY2UsIG9uY2UgaXQKKyAgIGlzIHVzZWQsIG11c3Qgbm90IGJlIGZyZWVkLCBoYXMgYmVlbiBsaWZ0ZWQgYW5kIHRoZSBsb2NrZmlsZSBhbmQKKyAgIHRlbXBmaWxlIEFQSXMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gcmVkdWNlIHRoZSBjaGFuY2Ugb2YgcHJvZ3JhbW1pbmcKKyAgIGVycm9ycy4KKworICogT3VyIGhhc2htYXAgaW1wbGVtZW50YXRpb24gaW4gaGFzaG1hcC5bY2hdIGlzIG5vdCB0aHJlYWQtc2FmZSB3aGVuCisgICBhZGRpbmcgYSBuZXcgaXRlbSBuZWVkcyB0byBleHBhbmQgdGhlIGhhc2h0YWJsZSBieSByZWhhc2hpbmc7IGFkZAorICAgYW4gQVBJIHRvIGRpc2FibGUgdGhlIGF1dG9tYXRpYyByZWhhc2hpbmcgdG8gd29yayBpdCBhcm91bmQuCisKKyAqIE1hbnkgb2Ygb3VyIHByb2dyYW1zIGNvbnNpZGVyIHRoYXQgaXQgaXMgT0sgdG8gcmVsZWFzZSBkeW5hbWljCisgICBzdG9yYWdlIHRoYXQgaXMgdXNlZCB0aHJvdWdob3V0IHRoZSBsaWZlIG9mIHRoZSBwcm9ncmFtIGJ5IHNpbXBseQorICAgZXhpdGluZywgYnV0IHRoaXMgbWFrZXMgaXQgaGFyZGVyIHRvIGxlYWsgZGV0ZWN0aW9uIHRvb2xzIHRvIGF2b2lkCisgICByZXBvcnRpbmcgZmFsc2UgcG9zaXRpdmVzLiAgUGx1ZyBtYW55IGV4aXN0aW5nIGxlYWtzIGFuZCBpbnRyb2R1Y2UKKyAgIGEgbWVjaGFuaXNtIGZvciBkZXZlbG9wZXJzIHRvIG1hcmsgdGhhdCB0aGUgcmVnaW9uIG9mIG1lbW9yeQorICAgcG9pbnRlZCBieSBhIHBvaW50ZXIgaXMgbm90IGxvc3QvbGVha2luZyB0byBoZWxwIHRoZXNlIHRvb2xzLgorCisgKiBBcyAiZ2l0IGNvbW1pdCIgdG8gY29uY2x1ZGUgYSBjb25mbGljdGVkICJnaXQgbWVyZ2UiIGhvbm9ycyB0aGUKKyAgIGNvbW1pdC1tc2cgaG9vaywgImdpdCBtZXJnZSIgdGhhdCByZWNvcmRzIGEgbWVyZ2UgY29tbWl0IHRoYXQKKyAgIGNsZWFubHkgYXV0by1tZXJnZXMgc2hvdWxkLCBidXQgaXQgZGlkbid0LgorCisgKiBUaGUgY29kZXBhdGggZm9yICJnaXQgbWVyZ2UtcmVjdXJzaXZlIiBoYXMgYmVlbiBjbGVhbmVkIHVwLgorCisgKiBNYW55IGxlYWtzIG9mIHN0cmJ1ZiBoYXZlIGJlZW4gZml4ZWQuCisKKyAqICJnaXQgaW1hcC1zZW5kIiBoYXMgb3VyIG93biBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcHJvdG9jb2wgYW5kIGFsc28KKyAgIGNhbiB1c2UgbW9yZSByZWNlbnQgbGliQ3VybCB3aXRoIHRoZSBpbWFwIHByb3RvY29sIHN1cHBvcnQuICBVcGRhdGUKKyAgIHRoZSBsYXR0ZXIgc28gdGhhdCBpdCBjYW4gdXNlIHRoZSBjcmVkZW50aWFsIHN1YnN5c3RlbSwgYW5kIHRoZW4KKyAgIG1ha2UgaXQgdGhlIGRlZmF1bHQgb3B0aW9uIHRvIHVzZSwgc28gdGhhdCB3ZSBjYW4gZXZlbnR1YWxseQorICAgZGVwcmVjYXRlIGFuZCByZW1vdmUgdGhlIGZvcm1lci4KKworICogIm1ha2Ugc3R5bGUiIHJ1bnMgZ2l0LWNsYW5nLWZvcm1hdCB0byBoZWxwIGRldmVsb3BlcnMgYnkgcG9pbnRpbmcKKyAgIG91dCBjb2Rpbmcgc3R5bGUgaXNzdWVzLgorCisgKiBBIHRlc3QgdG8gZGVtb25zdHJhdGUgImdpdCBtdiIgZmFpbGluZyB0byBhZGp1c3QgbmVzdGVkIHN1Ym1vZHVsZXMKKyAgIGhhcyBiZWVuIGFkZGVkLgorICAgKG1lcmdlIGM1MTQxNjdkZjIgaHYvbXYtbmVzdGVkLXN1Ym1vZHVsZXMtdGVzdCBsYXRlciB0byBtYWludCkuCisKKyAqIE9uIEN5Z3dpbiwgInVsaW1pdCAtcyIgZG9lcyBub3QgcmVwb3J0IGZhaWx1cmUgYnV0IGl0IGRvZXMgbm90IHdvcmsKKyAgIGF0IGFsbCwgd2hpY2ggY2F1c2VzIGFuIHVuZXhwZWN0ZWQgc3VjY2VzcyBvZiBzb21lIHRlc3RzIHRoYXQKKyAgIGV4cGVjdCBmYWlsdXJlcyB1bmRlciBhIGxpbWl0ZWQgc3RhY2sgc2l0dWF0aW9uLiAgVGhpcyBoYXMgYmVlbgorICAgZml4ZWQuCisKKyAqIE1hbnkgY29kZXBhdGhzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHNxdWVsY2ggLVdpbXBsaWNpdC1mYWxsdGhyb3VnaAorICAgd2FybmluZ3MgZnJvbSBHY2MgNyAod2hpY2ggaXMgYSBnb29kIGNvZGUgaHlnaWVuZSkuCisKKyAqIEFkZCBhIGhlbHBlciBmb3IgRExMIGxvYWRpbmcgaW4gYW50aWNpcGF0aW9uIGZvciBpdHMgbmVlZCBpbiBhCisgICBmdXR1cmUgdG9waWMgUlNOLgorCisgKiAiZ2l0IHN0YXR1cyAtLWlnbm9yZWQiLCB3aGVuIG5vdGljaW5nIHRoYXQgYSBkaXJlY3Rvcnkgd2l0aG91dCBhbnkKKyAgIHRyYWNrZWQgcGF0aCBpcyBpZ25vcmVkLCBzdGlsbCBlbnVtZXJhdGVkIGFsbCB0aGUgaWdub3JlZCBwYXRocyBpbgorICAgdGhlIGRpcmVjdG9yeSwgd2hpY2ggaXMgdW5uZWNlc3NhcnkuICBUaGUgY29kZXBhdGggaGFzIGJlZW4KKyAgIG9wdGltaXplZCB0byBhdm9pZCB0aGlzIG92ZXJoZWFkLgorCisgKiBUaGUgZmluYWwgYmF0Y2ggdG8gImdpdCByZWJhc2UgLWkiIHVwZGF0ZXMgdG8gbW92ZSBtb3JlIGNvZGUgZnJvbQorICAgdGhlIHNoZWxsIHNjcmlwdCB0byBDIGhhcyBiZWVuIG1lcmdlZC4KKworICogT3BlcmF0aW9ucyB0aGF0IGRvIG5vdCB0b3VjaCAobWFqb3JpdHkgb2YpIHBhY2tlZCByZWZzIGhhdmUgYmVlbgorICAgb3B0aW1pemVkIGJ5IG1ha2luZyBhY2Nlc3NlcyB0byBwYWNrZWQtcmVmcyBmaWxlIGxhenk7IHdlIG5vIGxvbmdlcgorICAgcHJlLXBhcnNlIGV2ZXJ5dGhpbmcsIGFuZCBhbiBhY2Nlc3MgdG8gYSBzaW5nbGUgcmVmIGluIHRoZQorICAgcGFja2VkLXJlZnMgZG9lcyBub3QgdG91Y2ggbWFqb3JpdHkgb2YgaXJyZWxldmFudCByZWZzLCBlaXRoZXIuCisKK0Fsc28gY29udGFpbnMgdmFyaW91cyBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgYW5kIGNvZGUgY2xlYW4tdXBzLgorCisKK0ZpeGVzIHNpbmNlIHYyLjE0CistLS0tLS0tLS0tLS0tLS0tLQorCisgKiAiJUMoY29sb3IgbmFtZSkiIGluIHRoZSBwcmV0dHkgcHJpbnQgZm9ybWF0IGFsd2F5cyBwcm9kdWNlZCBBTlNJCisgICBjb2xvciBlc2NhcGUgY29kZXMsIHdoaWNoIHdhcyBhbiBlYXJseSBkZXNpZ24gbWlzdGFrZS4gIFRoZXkgbm93CisgICBob25vciB0aGUgY29uZmlndXJhdGlvbiAoZS5nLiAiY29sb3IudWkgPSBuZXZlciIpIGFuZCBhbHNvIHR0eS1uZXNzCisgICBvZiB0aGUgb3V0cHV0IG1lZGl1bS4KKworICogVGhlIGh0dHAue3NzbGtleSxzc2xDZXJ0fSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBhcmUgdG8gYmUKKyAgIGludGVycHJldGVkIGFzIGEgcGF0aG5hbWUgdGhhdCBob25vcnMgIn5bdXNlcm5hbWVdLyIgcHJlZml4LCBidXQKKyAgIHdlcmVuJ3QsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBOdW1lcm91cyBidWdzIGluIHdhbGtpbmcgb2YgcmVmbG9ncyB2aWEgImxvZyAtZyIgYW5kIGZyaWVuZHMgaGF2ZQorICAgYmVlbiBmaXhlZC4KKworICogImdpdCBjb21taXQiIHdoZW4gc2VlaW5nIGFuIHRvdGFsbHkgZW1wdHkgbWVzc2FnZSBzYWlkICJ5b3UgZGlkIG5vdAorICAgZWRpdCB0aGUgbWVzc2FnZSIsIHdoaWNoIGlzIGNsZWFybHkgd3JvbmcuICBUaGUgbWVzc2FnZSBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiBXaGVuIGEgZGlyZWN0b3J5IGlzIG5vdCByZWFkYWJsZSwgImdpdHdlYiIgZmFpbHMgdG8gYnVpbGQgdGhlCisgICBwcm9qZWN0IGxpc3QuICBXb3JrIHRoaXMgYXJvdW5kIGJ5IHNraXBwaW5nIHN1Y2ggYSBkaXJlY3RvcnkuCisKKyAqIFNvbWUgdmVyc2lvbnMgb2YgR251UEcgZmFpbHMgdG8ga2lsbCBncGctYWdlbnQgaXQgYXV0by1zcGF3bmVkCisgICBhbmQgc3VjaCBhIGxlZnQtb3ZlciBhZ2VudCBjYW4gaW50ZXJmZXJlIHdpdGggYSB0ZXN0LiAgV29yayBpdAorICAgYXJvdW5kIGJ5IGF0dGVtcHRpbmcgdG8ga2lsbCBvbmUgYmVmb3JlIHN0YXJ0aW5nIGEgbmV3IHRlc3QuCisKKyAqIEEgcmVjZW50bHkgYWRkZWQgdGVzdCBmb3IgdGhlICJjcmVkZW50aWFsLWNhY2hlIiBoZWxwZXIgcmV2ZWFsZWQKKyAgIHRoYXQgRU9GIGRldGVjdGlvbiBkb25lIGFyb3VuZCB0aGUgdGltZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgY2FjaGUKKyAgIGRhZW1vbiBpcyB0b3JuIGRvd24gd2VyZSBmbGFreS4gIFRoaXMgd2FzIGZpeGVkIGJ5IHJlYWN0aW5nIHRvCisgICBFQ09OTlJFU0VUIGFuZCBiZWhhdmluZyBhcyBpZiB3ZSBnb3QgYW4gRU9GLgorCisgKiAiZ2l0IGxvZyAtLXRhZz1uby1zdWNoLXRhZyIgc2hvd2VkIGxvZyBzdGFydGluZyBmcm9tIEhFQUQsIHdoaWNoCisgICBoYXMgYmVlbiBmaXhlZC0tLWl0IG5vdyBzaG93cyBub3RoaW5nLgorCisgKiBUaGUgInRhZy5wYWdlciIgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB3YXMgdXNlbGVzcyBmb3IgdGhvc2Ugd2hvCisgICBhY3R1YWxseSBjcmVhdGUgdGFnIG9iamVjdHMsIGFzIGl0IGludGVyZmVyZWQgd2l0aCB0aGUgdXNlIG9mIGFuCisgICBlZGl0b3IuICBBIG5ldyBtZWNoYW5pc20gaGFzIGJlZW4gaW50cm9kdWNlZCBmb3IgY29tbWFuZHMgdG8gZW5hYmxlCisgICBwYWdlciBkZXBlbmRpbmcgb24gd2hhdCBvcGVyYXRpb24gaXMgYmVpbmcgY2FycmllZCBvdXQgdG8gZml4IHRoaXMsCisgICBhbmQgdGhlbiAiZ2l0IHRhZyAtbCIgaXMgbWFkZSB0byBydW4gcGFnZXIgYnkgZGVmYXVsdC4KKworICogImdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzICR0aGVyZSBIRUFEOiR0YXJnZXQiIHdhcyBub3QKKyAgIHByb3BhZ2F0ZWQgZG93biB0byB0aGUgc3VibW9kdWxlcywgYnV0IG5vdyBpdCBpcy4KKworICogQ29tbWFuZHMgbGlrZSAiZ2l0IHJlYmFzZSIgYWNjZXB0ZWQgdGhlIC0tcmVyZXJlLWF1dG91cGRhdGUgb3B0aW9uCisgICBmcm9tIHRoZSBjb21tYW5kIGxpbmUsIGJ1dCBkaWQgbm90IGFsd2F5cyB1c2UgaXQuICBUaGlzIGhhcyBiZWVuCisgICBmaXhlZC4KKworICogImdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtLXF1aWV0IiBkaWQgbm90IHBhc3MgdGhlIHF1aWV0CisgICBvcHRpb24gZG93biB0byBzdWJtb2R1bGVzLgorCisgKiBUZXN0IHBvcnRhYmlsaXR5IGZpeCBmb3IgT0JTRC4KKworICogUG9ydGFiaWxpdHkgZml4IGZvciBPQlNELgorCisgKiAiZ2l0IGFtIC1zIiBoYXMgYmVlbiB0YXVnaHQgdGhhdCBzb21lIGlucHV0IG1heSBlbmQgd2l0aCBhIHRyYWlsZXIKKyAgIGJsb2NrIHRoYXQgaXMgbm90IFNpZ25lZC1vZmYtYnk6IGFuZCBpdCBzaG91bGQgcmVmcmFpbiBmcm9tIGFkZGluZworICAgYW4gZXh0cmEgYmxhbmsgbGluZSBiZWZvcmUgYWRkaW5nIGEgbmV3IHNpZ24tb2ZmIGluIHN1Y2ggYSBjYXNlLgorCisgKiAiZ2l0IHN2biIgdXNlZCB3aXRoICItLWxvY2FsdGltZSIgb3B0aW9uIGRpZCBub3QgY29tcHV0ZSB0aGUgdHoKKyAgIG9mZnNldCBmb3IgdGhlIHRpbWVzdGFtcCBpbiBxdWVzdGlvbiBhbmQgaW5zdGVhZCBhbHdheXMgdXNlZCB0aGUKKyAgIGN1cnJlbnQgdGltZSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBNZW1vcnkgbGVhayBpbiBhbiBlcnJvciBjb2RlcGF0aCBoYXMgYmVlbiBwbHVnZ2VkLgorCisgKiAiZ2l0IHN0YXNoIC11IiB1c2VkIHRoZSBjb250ZW50cyBvZiB0aGUgY29tbWl0dGVkIHZlcnNpb24gb2YgdGhlCisgICAiLmdpdGlnbm9yZSIgZmlsZSB0byBkZWNpZGUgd2hpY2ggcGF0aHMgYXJlIGlnbm9yZWQsIGV2ZW4gd2hlbiB0aGUKKyAgIGZpbGUgaGFzIGxvY2FsIGNoYW5nZXMuICBUaGUgY29tbWFuZCBoYXMgYmVlbiB0YXVnaHQgdG8gaW5zdGVhZCB1c2UKKyAgIHRoZSBsb2NhbGx5IG1vZGlmaWVkIGNvbnRlbnRzLgorCisgKiBiYXNoIDQuNCBvciBuZXdlciBnYXZlIGEgd2FybmluZyBvbiBOVUwgYnl0ZSBpbiBjb21tYW5kCisgICBzdWJzdGl0dXRpb24gZG9uZSBpbiAiZ2l0IHN0YXNoIjsgdGhpcyBoYXMgYmVlbiBzcXVlbGNoZWQuCisKKyAqICJnaXQgZ3JlcCAtTCIgYW5kICJnaXQgZ3JlcCAtLXF1aWV0IC1MIiByZXBvcnRlZCBkaWZmZXJlbnQgZXhpdAorICAgY29kZXM7IHRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBXaGVuIGhhbmRzaGFrZSB3aXRoIGEgc3VicHJvY2VzcyBmaWx0ZXIgbm90aWNlcyB0aGF0IHRoZSBwcm9jZXNzCisgICBhc2tlZCBmb3IgYW4gdW5rbm93biBjYXBhYmlsaXR5LCBHaXQgZGlkIG5vdCByZXBvcnQgd2hhdCBwcm9ncmFtCisgICB0aGUgb2ZmZW5kaW5nIHN1YnByb2Nlc3Mgd2FzIHJ1bm5pbmcuICBUaGlzIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCBhcHBseSIgdGhhdCBpcyB1c2VkIGFzIGEgYmV0dGVyICJwYXRjaCAtcDEiIGZhaWxlZCB0byBhcHBseSBhCisgICB0YWtlbiBmcm9tIGEgZmlsZSB3aXRoIENSTEYgbGluZSBlbmRpbmdzIHRvIGEgZmlsZSB3aXRoIENSTEYgbGluZQorICAgZW5kaW5ncy4gIFRoZSByb290IGNhdXNlIHdhcyBiZWNhdXNlIGl0IG1pc3VzZWQgY29udmVydF90b19naXQoKQorICAgdGhhdCB0cmllZCB0byBkbyAic2FmZS1jcmxmIiBwcm9jZXNzaW5nIGJ5IGxvb2tpbmcgYXQgdGhlIGluZGV4CisgICBlbnRyeSBhdCB0aGUgc2FtZSBwYXRoLCB3aGljaCBpcyBhIG5vbnNlbnNlLS0taW4gdGhhdCBtb2RlLCAiYXBwbHkiCisgICBpcyBub3Qgd29ya2luZyBvbiB0aGUgZGF0YSBpbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgaW5kZXggYXQgYWxsLgorICAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KKworICogS2lsbGluZyAiZ2l0IG1lcmdlIC0tZWRpdCIgYmVmb3JlIHRoZSBlZGl0b3IgcmV0dXJucyBjb250cm9sIGxlZnQKKyAgIHRoZSByZXBvc2l0b3J5IGluIGEgc3RhdGUgd2l0aCBNRVJHRV9NU0cgYnV0IHdpdGhvdXQgTUVSR0VfSEVBRCwKKyAgIHdoaWNoIGluY29ycmVjdGx5IHRlbGxzIHRoZSBzdWJzZXF1ZW50ICJnaXQgY29tbWl0IiB0aGF0IHRoZXJlIHdhcworICAgYSBzcXVhc2ggbWVyZ2UgaW4gcHJvZ3Jlc3MuICBUaGlzIGhhcyBiZWVuIGZpeGVkLgorCisgKiAiZ2l0IGFyY2hpdmUiIGRpZCBub3Qgd29yayB3ZWxsIHdpdGggcGF0aHNwZWNzIGFuZCB0aGUKKyAgIGV4cG9ydC1pZ25vcmUgYXR0cmlidXRlLgorCisgKiBJbiBhZGRpdGlvbiB0byAiY2M6IDxhQGRkLnJlLnNzPiAjIGNydWZ0IiwgImNjOiBhQGRkLnJlLnNzICMgY3J1ZnQiCisgICB3YXMgdGF1Z2h0IHRvICJnaXQgc2VuZC1lbWFpbCIgYXMgYSB2YWxpZCB3YXkgdG8gdGVsbCBpdCB0aGF0IGl0CisgICBuZWVkcyB0byBhbHNvIHNlbmQgYSBjYXJib24gY29weSB0byA8YUBkZC5yZS5zcz4gaW4gdGhlIHRyYWlsZXIKKyAgIHNlY3Rpb24uCisgICAobWVyZ2UgY2M5MDc1MDY3NyBtbS9zZW5kLWVtYWlsLWNjLWNydWZ0IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBicmFuY2ggLU0gYSBiIiB3aGlsZSBvbiBhIGJyYW5jaCB0aGF0IGlzIGNvbXBsZXRlbHkgdW5yZWxhdGVkCisgICB0byBlaXRoZXIgYnJhbmNoIGEgb3IgYnJhbmNoIGIgbWlzYmVoYXZlZCB3aGVuIG11bHRpcGxlIHdvcmt0cmVlCisgICB3YXMgaW4gdXNlLiAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSAzMTgyNGQxODBkIG5kL3dvcmt0cmVlLWtpbGwtcGFyc2UtcmVmIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBnYyIgYW5kIGZyaWVuZHMgd2hlbiBtdWx0aXBsZSB3b3JrdHJlZXMgYXJlIHVzZWQgb2ZmIG9mIGEKKyAgIHNpbmdsZSByZXBvc2l0b3J5IGRpZCBub3QgY29uc2lkZXIgdGhlIGluZGV4IGFuZCBwZXItd29ya3RyZWUgcmVmcworICAgb2Ygb3RoZXIgd29ya3RyZWVzIGFzIHRoZSByb290IGZvciByZWFjaGFiaWxpdHkgdHJhdmVyc2FsLCBtYWtpbmcKKyAgIG9iamVjdHMgdGhhdCBhcmUgaW4gdXNlIG9ubHkgaW4gb3RoZXIgd29ya3RyZWVzIHRvIGJlIHN1YmplY3QgdG8KKyAgIGdhcmJhZ2UgY29sbGVjdGlvbi4KKworICogQSByZWdyZXNzaW9uIHRvICJnaXRrIC0tYmlzZWN0IiBieSBhIHJlY2VudCB1cGRhdGUgaGFzIGJlZW4gZml4ZWQuCisgICAobWVyZ2UgMWQwNTM4ZTQ4NiBtaC9wYWNrZWQtcmVmLXN0b3JlLXByZXAgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IC1jIHN1Ym1vZHVsZS5yZWN1cnNlPXllcyBwdWxsIiBkaWQgbm90IHdvcmsgYXMgaWYgdGhlCisgICAiLS1yZWN1cnNlLXN1Ym1vZHVsZXMiIG9wdGlvbiB3YXMgZ2l2ZW4gZnJvbSB0aGUgY29tbWFuZCBsaW5lLgorICAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFVubGlrZSAiZ2l0IGNvbW1pdC10cmVlIDwgZmlsZSIsICJnaXQgY29tbWl0LXRyZWUgLUYgZmlsZSIgZGlkIG5vdAorICAgcGFzcyB0aGUgY29udGVudHMgb2YgdGhlIGZpbGUgdmVyYmF0aW0gYW5kIGluc3RlYWQgY29tcGxldGVkIGFuCisgICBpbmNvbXBsZXRlIGxpbmUgYXQgdGhlIGVuZCwgaWYgZXhpc3RzLiAgVGhlIGxhdHRlciBoYXMgYmVlbiB1cGRhdGVkCisgICB0byBtYXRjaCB0aGUgYmVoYXZpb3VyIG9mIHRoZSBmb3JtZXIuCisgICAobWVyZ2UgYzgxOGU3NDMzMiByay9jb21taXQtdHJlZS1tYWtlLUYtdmVyYmF0aW0gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBNYW55IGNvZGVwYXRocyBkaWQgbm90IGRpYWdub3NlIHdyaXRlIGZhaWx1cmVzIGNvcnJlY3RseSB3aGVuIGRpc2tzCisgICBnbyBmdWxsLCBkdWUgdG8gdGhlaXIgbWlzdXNlIG9mIHdyaXRlX2luX2Z1bGwoKSBoZWxwZXIgZnVuY3Rpb24sCisgICB3aGljaCBoYXZlIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIGY0OGVjZDM4Y2Igamsvd3JpdGUtaW4tZnVsbC1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGhlbHAgY28iIG5vdyBzYXlzICJjbyBpcyBhbGlhc2VkIHRvIC4uLiIsIG5vdCAiZ2l0IGNvIGlzIi4KKyAgIChtZXJnZSBiM2E4MDc2ZTBkIGtzL2hlbHAtYWxpYXMtbGFiZWwgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGFyY2hpdmUiLCBlc3BlY2lhbGx5IHdoZW4gdXNlZCB3aXRoIHBhdGhzcGVjLCBzdG9yZWQgYW4gZW1wdHkKKyAgIGRpcmVjdG9yeSBpbiBpdHMgb3V0cHV0LCBldmVuIHRob3VnaCBHaXQgaXRzZWxmIG5ldmVyIGRvZXMgc28uCisgICBUaGlzIGhhcyBiZWVuIGZpeGVkLgorICAgKG1lcmdlIDQzMTgwOTQwNDcgcnMvYXJjaGl2ZS1leGNsdWRlZC1kaXJlY3RvcnkgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBBUEkgZXJyb3ItcHJvb2Zpbmcgd2hpY2ggaGFwcGVucyB0byBhbHNvIHNxdWVsY2ggd2FybmluZ3MgZnJvbSBHQ0MuCisgICAobWVyZ2UgYzc4OGM1NGNkZSB0Zy9yZWZzLWFsbG93ZWQtZmxhZ3MgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgZXhwbGFuYXRpb24gb2YgdGhlIGN1dC1saW5lIGluIHRoZSBjb21taXQgbG9nIGVkaXRvciBoYXMgYmVlbgorICAgc2xpZ2h0bHkgdHdlYWtlZC4KKyAgIChtZXJnZSA4YzRiMWEzNTkzIGtzL2NvbW1pdC1kby1ub3QtdG91Y2gtY3V0LWxpbmUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGdjIiB0cmllcyB0byBhdm9pZCBydW5uaW5nIHR3byBpbnN0YW5jZXMgYXQgdGhlIHNhbWUgdGltZSBieQorICAgcmVhZGluZyBhbmQgd3JpdGluZyBwaWQvaG9zdCBmcm9tIGFuZCB0byBhIGxvY2sgZmlsZTsgaXQgdXNlZCB0bworICAgdXNlIGFuIGluY29ycmVjdCBmc2NhbmYoKSBmb3JtYXQgd2hlbiByZWFkaW5nLCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorICAgKG1lcmdlIGFmZTJmYWI3MmMgYXcvZ2MtbG9ja2ZpbGUtZnNjYW5mLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBzY3JpcHRzIHRvIGRyaXZlIFRyYXZpc0NJIGhhcyBiZWVuIHJlb3JnYW5pemVkIGFuZCB0aGVuIGFuCisgICBvcHRpbWl6YXRpb24gdG8gYXZvaWQgc3BlbmRpbmcgY3ljbGVzIG9uIGEgYnJhbmNoIHdob3NlIHRpcCBpcworICAgdGFnZ2VkIGhhcyBiZWVuIGltcGxlbWVudGVkLgorICAgKG1lcmdlIDgzNzZlYjRhOGYgbHMvdHJhdmlzLXNjcmlwdGlmeSBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSB0ZXN0IGxpbnRlciBoYXMgYmVlbiB0YXVnaHQgdGhhdCB3ZSBkbyBub3QgbGlrZSAiZWNobyAtZSIuCisgICAobWVyZ2UgMWE2ZDQ2ODk1ZCB0Yi90ZXN0LWxpbnQtZWNoby1lIGxhdGVyIHRvIG1haW50KS4KKworICogQ29kZSBjbXAuc3RkLmMgbml0cGljay4KKyAgIChtZXJnZSBhYzdkYTc4ZWRlIG1oL2Zvci1lYWNoLXN0cmluZy1saXN0LWl0ZW0tZW1wdHktZml4IGxhdGVyIHRvIG1haW50KS4KKworICogQSByZWdyZXNzaW9uIGZpeCBmb3IgMi4xMSB0aGF0IG1hZGUgdGhlIGNvZGUgdG8gcmVhZCB0aGUgbGlzdCBvZgorICAgYWx0ZXJuYXRlIG9iamVjdCBzdG9yZXMgb3ZlcnJ1biB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuCisgICAobWVyZ2UgZjBmN2JlYmVmNyBqay9pbmZvLWFsdGVybmF0ZXMtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBkZXNjcmliZSAtLW1hdGNoIiBsZWFybmVkIHRvIHRha2UgbXVsdGlwbGUgcGF0dGVybnMgaW4gdjIuMTMKKyAgIHNlcmllcywgYnV0IHRoZSBmZWF0dXJlIGlnbm9yZWQgdGhlIHBhdHRlcm5zIGFmdGVyIHRoZSBmaXJzdCBvbmUKKyAgIGFuZCBkaWQgbm90IHdvcmsgYXQgYWxsLiAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSBkYTc2OWQyOTg2IGprL2Rlc2NyaWJlLW9taXQtc29tZS1yZWZzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBmaWx0ZXItYnJhbmNoIiBjYW5ub3QgcmVwcm9kdWNlIGEgaGlzdG9yeSB3aXRoIGEgdGFnIHdpdGhvdXQKKyAgIHRoZSB0YWdnZXIgZmllbGQsIHdoaWNoIG9ubHkgYW5jaWVudCB2ZXJzaW9ucyBvZiBHaXQgYWxsb3dlZCB0byBiZQorICAgY3JlYXRlZC4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIGIyYzFjYTZiNGIgaWMvZml4LWZpbHRlci1icmFuY2gtdG8taGFuZGxlLXRhZy13aXRob3V0LXRhZ2dlciBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiIgc3RhcnRlZCBzZWdmYXVsdGluZyByZWNlbnRseSwgd2hpY2gKKyAgIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSBjYzBlYTdjOWU1IGprL2RpZmYtYmxvYiBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBidWlsdC1pbiBwYXR0ZXJuIHRvIGRldGVjdCB0aGUgImZ1bmN0aW9uIGhlYWRlciIgZm9yIEhUTUwgZGlkCisgICBub3QgbWF0Y2ggPEgxPi4uPEg2PiBlbGVtZW50cyB3aXRob3V0IGFueSBhdHRyaWJ1dGVzLCB3aGljaCBoYXMKKyAgIGJlZW4gZml4ZWQuCisgICAobWVyZ2UgOWMwM2NhY2EyYyBpay91c2VyZGlmZi1odG1sLWgtZWxlbWVudC1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IG1haWxpbmZvIiB3YXMgbG9vc2UgaW4gZGVjb2RpbmcgcXVvdGVkIHByaW50YWJsZSBhbmQgcHJvZHVjZWQKKyAgIGdhcmJhZ2Ugd2hlbiB0aGUgdHdvIGxldHRlcnMgYWZ0ZXIgdGhlIGVxdWFsIHNpZ24gYXJlIG5vdAorICAgaGV4YWRlY2ltYWwuICBUaGlzIGhhcyBiZWVuIGZpeGVkLgorICAgKG1lcmdlIGM4Y2Y0MjNlYWIgcnMvbWFpbGluZm8tcXAtZGVjb2RlLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBtYWNoaW5lcnkgdG8gY3JlYXRlIHhkZWx0YSB1c2VkIGluIHBhY2sgZmlsZXMgcmVjZWl2ZWQgdGhlCisgICBzaXplcyBvZiB0aGUgZGF0YSBpbiBzaXplX3QsIGJ1dCBsb3N0IHRoZSBoaWdoZXIgYml0cyBvZiB0aGVtIGJ5CisgICBzdG9yaW5nIHRoZW0gaW4gInVuc2lnbmVkIGludCIgZHVyaW5nIHRoZSBjb21wdXRhdGlvbiwgd2hpY2ggaXMKKyAgIGZpeGVkLgorCisgKiBUaGUgZGVsdGEgZm9ybWF0IHVzZWQgaW4gdGhlIHBhY2tmaWxlIGNhbm5vdCByZWZlcmVuY2UgZGF0YSBhdAorICAgb2Zmc2V0IGxhcmdlciB0aGFuIHdoYXQgY2FuIGJlIGV4cHJlc3NlZCBpbiA0LWJ5dGUsIGJ1dCB0aGUKKyAgIGdlbmVyYXRvciBmb3IgdGhlIGRhdGEgZmFpbGVkIHRvIG1ha2Ugc3VyZSB0aGUgb2Zmc2V0IGRvZXMgbm90CisgICBvdmVyZmxvdy4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgZG9jdW1lbnRhdGlvbiBmb3IgJy1YPG9wdGlvbj4nIGZvciBtZXJnZXMgd2FzIG1pc2xlYWRpbmdseQorICAgd3JpdHRlbiB0byBzdWdnZXN0IHRoYXQgIi1zIHRoZWlycyIgZXhpc3RzLCB3aGljaCBpcyBub3QgdGhlIGNhc2UuCisgICAobWVyZ2UgYzI1ZDk4YjJhNyBqYy9tZXJnZS14LXRoZWlycy1kb2NmaXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGZhc3QtZXhwb3J0IiB3aXRoIC1NLy1DIG9wdGlvbiBpc3N1ZWQgImNvcHkiIGluc3RydWN0aW9uIG9uIGEKKyAgIHBhdGggdGhhdCBpcyBzaW11bHRhbmVvdXNseSBtb2RpZmllZCwgd2hpY2ggd2FzIGluY29ycmVjdC4KKyAgIChtZXJnZSBiM2U4Y2E4OWNmIGp0L2Zhc3QtZXhwb3J0LWNvcHktbW9kaWZ5LWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIE1hbnkgY29kZXBhdGhzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHNxdWVsY2ggLVdzaWduLWNvbXBhcmUKKyAgIHdhcm5pbmdzLgorICAgKG1lcmdlIDA3MWJjYWFiNjQgcmovbm8tc2lnbi1jb21wYXJlIGxhdGVyIHRvIG1haW50KS4KKworICogTWVtb3J5IGxlYWtzIGluIHZhcmlvdXMgY29kZXBhdGhzIGhhdmUgYmVlbiBwbHVnZ2VkLgorICAgKG1lcmdlIDRkMDFhN2ZhNjUgbWEvbGVha3BsdWdzIGxhdGVyIHRvIG1haW50KS4KKworICogUmVjZW50IHZlcnNpb25zIG9mICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQiIGRpZCBub3QgcGFyc2UgdGhlCisgICBvcHRpb24gc3BlY2lmaWNhdGlvbiB0aGF0IGRvZXMgbm90IGhhdmUgdGhlIG9wdGlvbmFsIGZsYWdzICgqPT8hKQorICAgY29ycmVjdGx5LCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgYTYzMDRmYTRjMiBiYy9yZXYtcGFyc2UtcGFyc2VvcHQtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogT3RoZXIgbWlub3IgZG9jLCB0ZXN0IGFuZCBidWlsZCB1cGRhdGVzIGFuZCBjb2RlIGNsZWFudXBzLgorICAgKG1lcmdlIGYwOTRiODlhNGQgbWEvcGFyc2UtbWF5YmUtYm9vbCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMzliMDBmYTRkNCBqay9kcm9wLXNoYTEtZW50cnktcG9zIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA2Y2RmOGE3OTI5IG1hL3RzLWNsZWFudXBzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3NTYwZjU0N2U2IG1hL3VwLXRvLWRhdGUgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDBkYjNkYzc1ZjMgcnMvYXBwbHktZXBvY2ggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDc0ZjFiZDkxMmIgZHcvZGlmZi1oaWdobGlnaHQtbWFrZWZpbGUtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmOTkxNzYxZWI4IGprL2NvbmZpZy1sb2NrZmlsZS1sZWFrLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMTUwZWZlZjFlNyBtYS9wa3QtbGluZS1sZWFrZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1NTU0NDUxZGU2IG1nL3RpbWVzdGFtcC10LWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMjc2ZDBlMzVjMCBtYS9zcGxpdC1zeW1yZWYtdXBkYXRlLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgM2JjNGI4ZjdjNyBiYi9kb2MtZW9sLWRpcnR5IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBjMWJiMzNjOTljIGprL3N5c3RlbS1wYXRoLWNsZWFudXAgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGFiNDZlNmZjNzIgY2Mvc3VicHJvY2Vzcy1oYW5kc2hha2UtbWlzc2luZy1jYXBhYmlsaXRpZXMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGY3YTMyZGQ5N2Yga2QvZG9jLWZvci1lYWNoLXJlZiBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYmU5NDU2OGJjNyBlei9kb2MtZHVwbGljYXRlZC13b3Jkcy1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDAxZTRiZTZjM2Qga3MvdGVzdC1yZWFkbWUtcGhyYXNvZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAyMTdiYjU2ZDRmIGhuL3R5cG9maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGMwOGZkNjM4OGMgamsvZG9jLXJlYWQtdHJlZS10YWJsZS1hc2NpaWRvY3Rvci1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGMzMzQyYjM2MmUga3MvZG9jLXVzZS1jYW1lbGNhc2UtZm9yLWNvbmZpZy1uYW1lIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAwYmNhMTY1ZmRiIGprL3ZhbGlkYXRlLWhlYWRyZWYtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA5M2RiZWZiMzg5IG1yL2RvYy1uZWdhdGl2ZS1wYXRoc3BlYyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNWU2MzMzMjZlNCBhZC9kb2MtbWFya3VwLWZpeCBsYXRlciB0byBtYWludCkuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzIGIvRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcwppbmRleCAzZmFmN2ViLi41NThkNDY1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzCisrKyBiL0RvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXMKQEAgLTUxLDcgKzUxLDcgQEAKIHByb2JhYmx5IG5lZWQgdG8gc3BsaXQgdXAgeW91ciBjb21taXQgdG8gZmluZXIgZ3JhaW5lZCBwaWVjZXMuCiBUaGF0IGJlaW5nIHNhaWQsIHBhdGNoZXMgd2hpY2ggcGxhaW5seSBkZXNjcmliZSB0aGUgdGhpbmdzIHRoYXQKIGhlbHAgcmV2aWV3ZXJzIGNoZWNrIHRoZSBwYXRjaCwgYW5kIGZ1dHVyZSBtYWludGFpbmVycyB1bmRlcnN0YW5kCi10aGUgY29kZSwgYXJlIHRoZSBtb3N0IGJlYXV0aWZ1bCBwYXRjaGVzLiAgRGVzY3JpcHRpb25zIHRoYXQgc3VtbWFyaXNlCit0aGUgY29kZSwgYXJlIHRoZSBtb3N0IGJlYXV0aWZ1bCBwYXRjaGVzLiAgRGVzY3JpcHRpb25zIHRoYXQgc3VtbWFyaXplCiB0aGUgcG9pbnQgaW4gdGhlIHN1YmplY3Qgd2VsbCwgYW5kIGRlc2NyaWJlIHRoZSBtb3RpdmF0aW9uIGZvciB0aGUKIGNoYW5nZSwgdGhlIGFwcHJvYWNoIHRha2VuIGJ5IHRoZSBjaGFuZ2UsIGFuZCBpZiByZWxldmFudCBob3cgdGhpcwogZGlmZmVycyBzdWJzdGFudGlhbGx5IGZyb20gdGhlIHByaW9yIHZlcnNpb24sIGFyZSBhbGwgZ29vZCB0aGluZ3MKQEAgLTg3LDcgKzg3LDcgQEAKIE9oLCBhbm90aGVyIHRoaW5nLiAgV2UgYXJlIHBpY2t5IGFib3V0IHdoaXRlc3BhY2VzLiAgTWFrZSBzdXJlIHlvdXIKIGNoYW5nZXMgZG8gbm90IHRyaWdnZXIgZXJyb3JzIHdpdGggdGhlIHNhbXBsZSBwcmUtY29tbWl0IGhvb2sgc2hpcHBlZAogaW4gdGVtcGxhdGVzL2hvb2tzLS1wcmUtY29tbWl0LiAgVG8gaGVscCBlbnN1cmUgdGhpcyBkb2VzIG5vdCBoYXBwZW4sCi1ydW4gZ2l0IGRpZmYgLS1jaGVjayBvbiB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjb21taXQuCitydW4gImdpdCBkaWZmIC0tY2hlY2siIG9uIHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IGNvbW1pdC4KIAogCiAoMikgRGVzY3JpYmUgeW91ciBjaGFuZ2VzIHdlbGwuCkBAIC05OCwxOCArOTgsMjMgQEAKIHByZWZpeCB0aGUgZmlyc3QgbGluZSB3aXRoICJhcmVhOiAiIHdoZXJlIHRoZSBhcmVhIGlzIGEgZmlsZW5hbWUgb3IKIGlkZW50aWZpZXIgZm9yIHRoZSBnZW5lcmFsIGFyZWEgb2YgdGhlIGNvZGUgYmVpbmcgbW9kaWZpZWQsIGUuZy4KIAotICAuIGFyY2hpdmU6IHVzdGFyIGhlYWRlciBjaGVja3N1bSBpcyBjb21wdXRlZCB1bnNpZ25lZAotICAuIGdpdC1jaGVycnktcGljay50eHQ6IGNsYXJpZnkgdGhlIHVzZSBvZiByZXZpc2lvbiByYW5nZSBub3RhdGlvbgorICAuIGRvYzogY2xhcmlmeSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHNpZ24tb2ZmIGFuZCBwZ3Atc2lnbmluZworICAuIGdpdGhvb2tzLnR4dDogaW1wcm92ZSB0aGUgaW50cm8gc2VjdGlvbgogCiBJZiBpbiBkb3VidCB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSwgcnVuICJnaXQgbG9nIC0tbm8tbWVyZ2VzIiBvbiB0aGUKIGZpbGVzIHlvdSBhcmUgbW9kaWZ5aW5nIHRvIHNlZSB0aGUgY3VycmVudCBjb252ZW50aW9ucy4KIAorSXQncyBjdXN0b21hcnkgdG8gc3RhcnQgdGhlIHJlbWFpbmRlciBvZiB0aGUgZmlyc3QgbGluZSBhZnRlciAiYXJlYTogIgord2l0aCBhIGxvd2VyLWNhc2UgbGV0dGVyLiBFLmcuICJkb2M6IGNsYXJpZnkuLi4iLCBub3QgImRvYzoKK0NsYXJpZnkuLi4iLCBvciAiZ2l0aG9va3MudHh0OiBpbXByb3ZlLi4uIiwgbm90ICJnaXRob29rcy50eHQ6CitJbXByb3ZlLi4uIi4KKwogVGhlIGJvZHkgc2hvdWxkIHByb3ZpZGUgYSBtZWFuaW5nZnVsIGNvbW1pdCBtZXNzYWdlLCB3aGljaDoKIAotICAuIGV4cGxhaW5zIHRoZSBwcm9ibGVtIHRoZSBjaGFuZ2UgdHJpZXMgdG8gc29sdmUsIGlvdywgd2hhdCBpcyB3cm9uZworICAuIGV4cGxhaW5zIHRoZSBwcm9ibGVtIHRoZSBjaGFuZ2UgdHJpZXMgdG8gc29sdmUsIGkuZS4gd2hhdCBpcyB3cm9uZwogICAgIHdpdGggdGhlIGN1cnJlbnQgY29kZSB3aXRob3V0IHRoZSBjaGFuZ2UuCiAKLSAgLiBqdXN0aWZpZXMgdGhlIHdheSB0aGUgY2hhbmdlIHNvbHZlcyB0aGUgcHJvYmxlbSwgaW93LCB3aHkgdGhlCisgIC4ganVzdGlmaWVzIHRoZSB3YXkgdGhlIGNoYW5nZSBzb2x2ZXMgdGhlIHByb2JsZW0sIGkuZS4gd2h5IHRoZQogICAgIHJlc3VsdCB3aXRoIHRoZSBjaGFuZ2UgaXMgYmV0dGVyLgogCiAgIC4gYWx0ZXJuYXRlIHNvbHV0aW9ucyBjb25zaWRlcmVkIGJ1dCBkaXNjYXJkZWQsIGlmIGFueS4KQEAgLTExNyw3ICsxMjIsNyBAQAogRGVzY3JpYmUgeW91ciBjaGFuZ2VzIGluIGltcGVyYXRpdmUgbW9vZCwgZS5nLiAibWFrZSB4eXp6eSBkbyBmcm90eiIKIGluc3RlYWQgb2YgIltUaGlzIHBhdGNoXSBtYWtlcyB4eXp6eSBkbyBmcm90eiIgb3IgIltJXSBjaGFuZ2VkIHh5enp5CiB0byBkbyBmcm90eiIsIGFzIGlmIHlvdSBhcmUgZ2l2aW5nIG9yZGVycyB0byB0aGUgY29kZWJhc2UgdG8gY2hhbmdlCi1pdHMgYmVoYXZpb3VyLiAgVHJ5IHRvIG1ha2Ugc3VyZSB5b3VyIGV4cGxhbmF0aW9uIGNhbiBiZSB1bmRlcnN0b29kCitpdHMgYmVoYXZpb3IuICBUcnkgdG8gbWFrZSBzdXJlIHlvdXIgZXhwbGFuYXRpb24gY2FuIGJlIHVuZGVyc3Rvb2QKIHdpdGhvdXQgZXh0ZXJuYWwgcmVzb3VyY2VzLiBJbnN0ZWFkIG9mIGdpdmluZyBhIFVSTCB0byBhIG1haWxpbmcgbGlzdAogYXJjaGl2ZSwgc3VtbWFyaXplIHRoZSByZWxldmFudCBwb2ludHMgb2YgdGhlIGRpc2N1c3Npb24uCiAKQEAgLTEyOSw4ICsxMzQsOSBAQAogICAgIG5vdGljZWQgdGhhdCAuLi4KIAogVGhlICJDb3B5IGNvbW1pdCBzdW1tYXJ5IiBjb21tYW5kIG9mIGdpdGsgY2FuIGJlIHVzZWQgdG8gb2J0YWluIHRoaXMKLWZvcm1hdC4KK2Zvcm1hdCwgb3IgdGhpcyBpbnZvY2F0aW9uIG9mICJnaXQgc2hvdyI6CiAKKyAgICBnaXQgc2hvdyAtcyAtLWRhdGU9c2hvcnQgLS1wcmV0dHk9J2Zvcm1hdDolaCAoIiVzIiwgJWFkKScgPGNvbW1pdD4KIAogKDMpIEdlbmVyYXRlIHlvdXIgcGF0Y2ggdXNpbmcgR2l0IHRvb2xzIG91dCBvZiB5b3VyIGNvbW1pdHMuCiAKQEAgLTI1NSw3ICsyNjEsNyBAQAogVGhlIHNpZ24tb2ZmIGlzIGEgc2ltcGxlIGxpbmUgYXQgdGhlIGVuZCBvZiB0aGUgZXhwbGFuYXRpb24gZm9yCiB0aGUgcGF0Y2gsIHdoaWNoIGNlcnRpZmllcyB0aGF0IHlvdSB3cm90ZSBpdCBvciBvdGhlcndpc2UgaGF2ZQogdGhlIHJpZ2h0IHRvIHBhc3MgaXQgb24gYXMgYSBvcGVuLXNvdXJjZSBwYXRjaC4gIFRoZSBydWxlcyBhcmUKLXByZXR0eSBzaW1wbGU6IGlmIHlvdSBjYW4gY2VydGlmeSB0aGUgYmVsb3c6CitwcmV0dHkgc2ltcGxlOiBpZiB5b3UgY2FuIGNlcnRpZnkgdGhlIGJlbG93IEQtQy1POgogCiAgICAgICAgIERldmVsb3BlcidzIENlcnRpZmljYXRlIG9mIE9yaWdpbiAxLjEKIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0CmluZGV4IGU0M2QxNDcuLjFhYzBhZTYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy50eHQKQEAgLTc5LDE4ICs3OSw4NCBAQAogSW5jbHVkZXMKIH5+fn5+fn5+CiAKLVlvdSBjYW4gaW5jbHVkZSBvbmUgY29uZmlnIGZpbGUgZnJvbSBhbm90aGVyIGJ5IHNldHRpbmcgdGhlIHNwZWNpYWwKLWBpbmNsdWRlLnBhdGhgIHZhcmlhYmxlIHRvIHRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGluY2x1ZGVkLiBUaGUKLXZhcmlhYmxlIHRha2VzIGEgcGF0aG5hbWUgYXMgaXRzIHZhbHVlLCBhbmQgaXMgc3ViamVjdCB0byB0aWxkZQotZXhwYW5zaW9uLgorVGhlIGBpbmNsdWRlYCBhbmQgYGluY2x1ZGVJZmAgc2VjdGlvbnMgYWxsb3cgeW91IHRvIGluY2x1ZGUgY29uZmlnCitkaXJlY3RpdmVzIGZyb20gYW5vdGhlciBzb3VyY2UuIFRoZXNlIHNlY3Rpb25zIGJlaGF2ZSBpZGVudGljYWxseSB0bworZWFjaCBvdGhlciB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCBgaW5jbHVkZUlmYCBzZWN0aW9ucyBtYXkgYmUgaWdub3JlZAoraWYgdGhlaXIgY29uZGl0aW9uIGRvZXMgbm90IGV2YWx1YXRlIHRvIHRydWU7IHNlZSAiQ29uZGl0aW9uYWwgaW5jbHVkZXMiCitiZWxvdy4KIAotVGhlCi1pbmNsdWRlZCBmaWxlIGlzIGV4cGFuZGVkIGltbWVkaWF0ZWx5LCBhcyBpZiBpdHMgY29udGVudHMgaGFkIGJlZW4KLWZvdW5kIGF0IHRoZSBsb2NhdGlvbiBvZiB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuIElmIHRoZSB2YWx1ZSBvZiB0aGUKLWBpbmNsdWRlLnBhdGhgIHZhcmlhYmxlIGlzIGEgcmVsYXRpdmUgcGF0aCwgdGhlIHBhdGggaXMgY29uc2lkZXJlZCB0byBiZQotcmVsYXRpdmUgdG8gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBpbiB3aGljaCB0aGUgaW5jbHVkZSBkaXJlY3RpdmUgd2FzCi1mb3VuZC4gIFNlZSBiZWxvdyBmb3IgZXhhbXBsZXMuCitZb3UgY2FuIGluY2x1ZGUgYSBjb25maWcgZmlsZSBmcm9tIGFub3RoZXIgYnkgc2V0dGluZyB0aGUgc3BlY2lhbAorYGluY2x1ZGUucGF0aGAgKG9yIGBpbmNsdWRlSWYuKi5wYXRoYCkgdmFyaWFibGUgdG8gdGhlIG5hbWUgb2YgdGhlIGZpbGUKK3RvIGJlIGluY2x1ZGVkLiBUaGUgdmFyaWFibGUgdGFrZXMgYSBwYXRobmFtZSBhcyBpdHMgdmFsdWUsIGFuZCBpcworc3ViamVjdCB0byB0aWxkZSBleHBhbnNpb24uIFRoZXNlIHZhcmlhYmxlcyBjYW4gYmUgZ2l2ZW4gbXVsdGlwbGUgdGltZXMuCiAKK1RoZSBjb250ZW50cyBvZiB0aGUgaW5jbHVkZWQgZmlsZSBhcmUgaW5zZXJ0ZWQgaW1tZWRpYXRlbHksIGFzIGlmIHRoZXkKK2hhZCBiZWVuIGZvdW5kIGF0IHRoZSBsb2NhdGlvbiBvZiB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuIElmIHRoZSB2YWx1ZSBvZiB0aGUKK3ZhcmlhYmxlIGlzIGEgcmVsYXRpdmUgcGF0aCwgdGhlIHBhdGggaXMgY29uc2lkZXJlZCB0bworYmUgcmVsYXRpdmUgdG8gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBpbiB3aGljaCB0aGUgaW5jbHVkZSBkaXJlY3RpdmUKK3dhcyBmb3VuZC4gIFNlZSBiZWxvdyBmb3IgZXhhbXBsZXMuCisKK0NvbmRpdGlvbmFsIGluY2x1ZGVzCit+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitZb3UgY2FuIGluY2x1ZGUgYSBjb25maWcgZmlsZSBmcm9tIGFub3RoZXIgY29uZGl0aW9uYWxseSBieSBzZXR0aW5nIGEKK2BpbmNsdWRlSWYuPGNvbmRpdGlvbj4ucGF0aGAgdmFyaWFibGUgdG8gdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUKK2luY2x1ZGVkLgorCitUaGUgY29uZGl0aW9uIHN0YXJ0cyB3aXRoIGEga2V5d29yZCBmb2xsb3dlZCBieSBhIGNvbG9uIGFuZCBzb21lIGRhdGEKK3dob3NlIGZvcm1hdCBhbmQgbWVhbmluZyBkZXBlbmRzIG9uIHRoZSBrZXl3b3JkLiBTdXBwb3J0ZWQga2V5d29yZHMKK2FyZToKKworYGdpdGRpcmA6OgorCisJVGhlIGRhdGEgdGhhdCBmb2xsb3dzIHRoZSBrZXl3b3JkIGBnaXRkaXI6YCBpcyB1c2VkIGFzIGEgZ2xvYgorCXBhdHRlcm4uIElmIHRoZSBsb2NhdGlvbiBvZiB0aGUgLmdpdCBkaXJlY3RvcnkgbWF0Y2hlcyB0aGUKKwlwYXR0ZXJuLCB0aGUgaW5jbHVkZSBjb25kaXRpb24gaXMgbWV0LgorKworVGhlIC5naXQgbG9jYXRpb24gbWF5IGJlIGF1dG8tZGlzY292ZXJlZCwgb3IgY29tZSBmcm9tIGAkR0lUX0RJUmAKK2Vudmlyb25tZW50IHZhcmlhYmxlLiBJZiB0aGUgcmVwb3NpdG9yeSBpcyBhdXRvIGRpc2NvdmVyZWQgdmlhIGEgLmdpdAorZmlsZSAoZS5nLiBmcm9tIHN1Ym1vZHVsZXMsIG9yIGEgbGlua2VkIHdvcmt0cmVlKSwgdGhlIC5naXQgbG9jYXRpb24KK3dvdWxkIGJlIHRoZSBmaW5hbCBsb2NhdGlvbiB3aGVyZSB0aGUgLmdpdCBkaXJlY3RvcnkgaXMsIG5vdCB3aGVyZSB0aGUKKy5naXQgZmlsZSBpcy4KKysKK1RoZSBwYXR0ZXJuIGNhbiBjb250YWluIHN0YW5kYXJkIGdsb2JiaW5nIHdpbGRjYXJkcyBhbmQgdHdvIGFkZGl0aW9uYWwKK29uZXMsIGAqKi9gIGFuZCBgLyoqYCwgdGhhdCBjYW4gbWF0Y2ggbXVsdGlwbGUgcGF0aCBjb21wb25lbnRzLiBQbGVhc2UKK3JlZmVyIHRvIGxpbmtnaXQ6Z2l0aWdub3JlWzVdIGZvciBkZXRhaWxzLiBGb3IgY29udmVuaWVuY2U6CisKKyAqIElmIHRoZSBwYXR0ZXJuIHN0YXJ0cyB3aXRoIGB+L2AsIGB+YCB3aWxsIGJlIHN1YnN0aXR1dGVkIHdpdGggdGhlCisgICBjb250ZW50IG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBgSE9NRWAuCisKKyAqIElmIHRoZSBwYXR0ZXJuIHN0YXJ0cyB3aXRoIGAuL2AsIGl0IGlzIHJlcGxhY2VkIHdpdGggdGhlIGRpcmVjdG9yeQorICAgY29udGFpbmluZyB0aGUgY3VycmVudCBjb25maWcgZmlsZS4KKworICogSWYgdGhlIHBhdHRlcm4gZG9lcyBub3Qgc3RhcnQgd2l0aCBlaXRoZXIgYH4vYCwgYC4vYCBvciBgL2AsIGAqKi9gCisgICB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcHJlcGVuZGVkLiBGb3IgZXhhbXBsZSwgdGhlIHBhdHRlcm4gYGZvby9iYXJgCisgICBiZWNvbWVzIGAqKi9mb28vYmFyYCBhbmQgd291bGQgbWF0Y2ggYC9hbnkvcGF0aC90by9mb28vYmFyYC4KKworICogSWYgdGhlIHBhdHRlcm4gZW5kcyB3aXRoIGAvYCwgYCoqYCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgYWRkZWQuIEZvcgorICAgZXhhbXBsZSwgdGhlIHBhdHRlcm4gYGZvby9gIGJlY29tZXMgYGZvby8qKmAuIEluIG90aGVyIHdvcmRzLCBpdAorICAgbWF0Y2hlcyAiZm9vIiBhbmQgZXZlcnl0aGluZyBpbnNpZGUsIHJlY3Vyc2l2ZWx5LgorCitgZ2l0ZGlyL2lgOjoKKwlUaGlzIGlzIHRoZSBzYW1lIGFzIGBnaXRkaXJgIGV4Y2VwdCB0aGF0IG1hdGNoaW5nIGlzIGRvbmUKKwljYXNlLWluc2Vuc2l0aXZlbHkgKGUuZy4gb24gY2FzZS1pbnNlbnNpdGl2ZSBmaWxlIHN5dGVtcykKKworQSBmZXcgbW9yZSBub3RlcyBvbiBtYXRjaGluZyB2aWEgYGdpdGRpcmAgYW5kIGBnaXRkaXIvaWA6CisKKyAqIFN5bWxpbmtzIGluIGAkR0lUX0RJUmAgYXJlIG5vdCByZXNvbHZlZCBiZWZvcmUgbWF0Y2hpbmcuCisKKyAqIEJvdGggdGhlIHN5bWxpbmsgJiByZWFscGF0aCB2ZXJzaW9ucyBvZiBwYXRocyB3aWxsIGJlIG1hdGNoZWQKKyAgIG91dHNpZGUgb2YgYCRHSVRfRElSYC4gRS5nLiBpZiB+L2dpdCBpcyBhIHN5bWxpbmsgdG8KKyAgIC9tbnQvc3RvcmFnZS9naXQsIGJvdGggYGdpdGRpcjp+L2dpdGAgYW5kIGBnaXRkaXI6L21udC9zdG9yYWdlL2dpdGAKKyAgIHdpbGwgbWF0Y2guCisrCitUaGlzIHdhcyBub3QgdGhlIGNhc2UgaW4gdGhlIGluaXRpYWwgcmVsZWFzZSBvZiB0aGlzIGZlYXR1cmUgaW4KK3YyLjEzLjAsIHdoaWNoIG9ubHkgbWF0Y2hlZCB0aGUgcmVhbHBhdGggdmVyc2lvbi4gQ29uZmlndXJhdGlvbiB0aGF0Cit3YW50cyB0byBiZSBjb21wYXRpYmxlIHdpdGggdGhlIGluaXRpYWwgcmVsZWFzZSBvZiB0aGlzIGZlYXR1cmUgbmVlZHMKK3RvIGVpdGhlciBzcGVjaWZ5IG9ubHkgdGhlIHJlYWxwYXRoIHZlcnNpb24sIG9yIGJvdGggdmVyc2lvbnMuCisKKyAqIE5vdGUgdGhhdCAiLi4vIiBpcyBub3Qgc3BlY2lhbCBhbmQgd2lsbCBtYXRjaCBsaXRlcmFsbHksIHdoaWNoIGlzCisgICB1bmxpa2VseSB3aGF0IHlvdSB3YW50LgogCiBFeGFtcGxlCiB+fn5+fn5+CkBAIC0xMTYsOSArMTgyLDI2IEBACiAKIAlbaW5jbHVkZV0KIAkJcGF0aCA9IC9wYXRoL3RvL2Zvby5pbmMgOyBpbmNsdWRlIGJ5IGFic29sdXRlIHBhdGgKLQkJcGF0aCA9IGZvbyA7IGV4cGFuZCAiZm9vIiByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBmaWxlCi0JCXBhdGggPSB+L2ZvbyA7IGV4cGFuZCAiZm9vIiBpbiB5b3VyIGAkSE9NRWAgZGlyZWN0b3J5CisJCXBhdGggPSBmb28uaW5jIDsgZmluZCAiZm9vLmluYyIgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgZmlsZQorCQlwYXRoID0gfi9mb28uaW5jIDsgZmluZCAiZm9vLmluYyIgaW4geW91ciBgJEhPTUVgIGRpcmVjdG9yeQogCisJOyBpbmNsdWRlIGlmICRHSVRfRElSIGlzIC9wYXRoL3RvL2Zvby8uZ2l0CisJW2luY2x1ZGVJZiAiZ2l0ZGlyOi9wYXRoL3RvL2Zvby8uZ2l0Il0KKwkJcGF0aCA9IC9wYXRoL3RvL2Zvby5pbmMKKworCTsgaW5jbHVkZSBmb3IgYWxsIHJlcG9zaXRvcmllcyBpbnNpZGUgL3BhdGgvdG8vZ3JvdXAKKwlbaW5jbHVkZUlmICJnaXRkaXI6L3BhdGgvdG8vZ3JvdXAvIl0KKwkJcGF0aCA9IC9wYXRoL3RvL2Zvby5pbmMKKworCTsgaW5jbHVkZSBmb3IgYWxsIHJlcG9zaXRvcmllcyBpbnNpZGUgJEhPTUUvdG8vZ3JvdXAKKwlbaW5jbHVkZUlmICJnaXRkaXI6fi90by9ncm91cC8iXQorCQlwYXRoID0gL3BhdGgvdG8vZm9vLmluYworCisJOyByZWxhdGl2ZSBwYXRocyBhcmUgYWx3YXlzIHJlbGF0aXZlIHRvIHRoZSBpbmNsdWRpbmcKKwk7IGZpbGUgKGlmIHRoZSBjb25kaXRpb24gaXMgdHJ1ZSk7IHRoZWlyIGxvY2F0aW9uIGlzIG5vdAorCTsgYWZmZWN0ZWQgYnkgdGhlIGNvbmRpdGlvbgorCVtpbmNsdWRlSWYgImdpdGRpcjovcGF0aC90by9ncm91cC8iXQorCQlwYXRoID0gZm9vLmluYwogCiBWYWx1ZXMKIH5+fn5+fgpAQCAtMTMzLDE1ICsyMTYsMTUgQEAKICAgICAgICBzeW5vbnltcyBhcmUgYWNjZXB0ZWQgZm9yICd0cnVlJyBhbmQgJ2ZhbHNlJzsgdGhlc2UgYXJlIGFsbAogICAgICAgIGNhc2UtaW5zZW5zaXRpdmUuCiAKLSAgICAgICB0cnVlOzsgQm9vbGVhbiB0cnVlIGNhbiBiZSBzcGVsbGVkIGFzIGB5ZXNgLCBgb25gLCBgdHJ1ZWAsCi0JCW9yIGAxYC4gIEFsc28sIGEgdmFyaWFibGUgZGVmaW5lZCB3aXRob3V0IGA9IDx2YWx1ZT5gCisJdHJ1ZTs7IEJvb2xlYW4gdHJ1ZSBsaXRlcmFscyBhcmUgYHllc2AsIGBvbmAsIGB0cnVlYCwKKwkJYW5kIGAxYC4gIEFsc28sIGEgdmFyaWFibGUgZGVmaW5lZCB3aXRob3V0IGA9IDx2YWx1ZT5gCiAJCWlzIHRha2VuIGFzIHRydWUuCiAKLSAgICAgICBmYWxzZTs7IEJvb2xlYW4gZmFsc2UgY2FuIGJlIHNwZWxsZWQgYXMgYG5vYCwgYG9mZmAsCi0JCWBmYWxzZWAsIG9yIGAwYC4KKwlmYWxzZTs7IEJvb2xlYW4gZmFsc2UgbGl0ZXJhbHMgYXJlIGBub2AsIGBvZmZgLCBgZmFsc2VgLAorCQlgMGAgYW5kIHRoZSBlbXB0eSBzdHJpbmcuCiArCiBXaGVuIGNvbnZlcnRpbmcgdmFsdWUgdG8gdGhlIGNhbm9uaWNhbCBmb3JtIHVzaW5nIGAtLWJvb2xgIHR5cGUKLXNwZWNpZmllcjsgJ2dpdCBjb25maWcnIHdpbGwgZW5zdXJlIHRoYXQgdGhlIG91dHB1dCBpcyAidHJ1ZSIgb3IKK3NwZWNpZmllciwgJ2dpdCBjb25maWcnIHdpbGwgZW5zdXJlIHRoYXQgdGhlIG91dHB1dCBpcyAidHJ1ZSIgb3IKICJmYWxzZSIgKHNwZWxsZWQgaW4gbG93ZXJjYXNlKS4KIAogaW50ZWdlcjo6CkBAIC0yNjUsNiArMzQ4LDkgQEAKIAlybUhpbnRzOjoKIAkJSW4gY2FzZSBvZiBmYWlsdXJlIGluIHRoZSBvdXRwdXQgb2YgbGlua2dpdDpnaXQtcm1bMV0sCiAJCXNob3cgZGlyZWN0aW9ucyBvbiBob3cgdG8gcHJvY2VlZCBmcm9tIHRoZSBjdXJyZW50IHN0YXRlLgorCWFkZEVtYmVkZGVkUmVwbzo6CisJCUFkdmljZSBvbiB3aGF0IHRvIGRvIHdoZW4geW91J3ZlIGFjY2lkZW50YWxseSBhZGRlZCBvbmUKKwkJZ2l0IHJlcG8gaW5zaWRlIG9mIGFub3RoZXIuCiAtLQogCiBjb3JlLmZpbGVNb2RlOjoKQEAgLTI3Miw3ICszNTgsNyBAQAogCWlzIHRvIGJlIGhvbm9yZWQuCiArCiBTb21lIGZpbGVzeXN0ZW1zIGxvc2UgdGhlIGV4ZWN1dGFibGUgYml0IHdoZW4gYSBmaWxlIHRoYXQgaXMKLW1hcmtlZCBhcyBleGVjdXRhYmxlIGlzIGNoZWNrZWQgb3V0LCBvciBjaGVja3Mgb3V0IGFuCittYXJrZWQgYXMgZXhlY3V0YWJsZSBpcyBjaGVja2VkIG91dCwgb3IgY2hlY2tzIG91dCBhCiBub24tZXhlY3V0YWJsZSBmaWxlIHdpdGggZXhlY3V0YWJsZSBiaXQgb24uCiBsaW5rZ2l0OmdpdC1jbG9uZVsxXSBvciBsaW5rZ2l0OmdpdC1pbml0WzFdIHByb2JlIHRoZSBmaWxlc3lzdGVtCiB0byBzZWUgaWYgaXQgaGFuZGxlcyB0aGUgZXhlY3V0YWJsZSBiaXQgY29ycmVjdGx5CkBAIC0zMzQsNiArNDIwLDEwIEBACiAJY3Jhd2xlcnMgYW5kIHNvbWUgYmFja3VwIHN5c3RlbXMpLgogCVNlZSBsaW5rZ2l0OmdpdC11cGRhdGUtaW5kZXhbMV0uIFRydWUgYnkgZGVmYXVsdC4KIAorY29yZS5zcGxpdEluZGV4OjoKKwlJZiB0cnVlLCB0aGUgc3BsaXQtaW5kZXggZmVhdHVyZSBvZiB0aGUgaW5kZXggd2lsbCBiZSB1c2VkLgorCVNlZSBsaW5rZ2l0OmdpdC11cGRhdGUtaW5kZXhbMV0uIEZhbHNlIGJ5IGRlZmF1bHQuCisKIGNvcmUudW50cmFja2VkQ2FjaGU6OgogCURldGVybWluZXMgd2hhdCB0byBkbyBhYm91dCB0aGUgdW50cmFja2VkIGNhY2hlIGZlYXR1cmUgb2YgdGhlCiAJaW5kZXguIEl0IHdpbGwgYmUga2VwdCwgaWYgdGhpcyB2YXJpYWJsZSBpcyB1bnNldCBvciBzZXQgdG8KQEAgLTM1MCwxNiArNDQwLDE5IEBACiAJYWxsIGZpZWxkcywgaW5jbHVkaW5nIHRoZSBzdWItc2Vjb25kIHBhcnQgb2YgbXRpbWUgYW5kIGN0aW1lLgogCiBjb3JlLnF1b3RlUGF0aDo6Ci0JVGhlIGNvbW1hbmRzIHRoYXQgb3V0cHV0IHBhdGhzIChlLmcuICdscy1maWxlcycsCi0JJ2RpZmYnKSwgd2hlbiBub3QgZ2l2ZW4gdGhlIGAtemAgb3B0aW9uLCB3aWxsIHF1b3RlCi0JInVudXN1YWwiIGNoYXJhY3RlcnMgaW4gdGhlIHBhdGhuYW1lIGJ5IGVuY2xvc2luZyB0aGUKLQlwYXRobmFtZSBpbiBhIGRvdWJsZS1xdW90ZSBwYWlyIGFuZCB3aXRoIGJhY2tzbGFzaGVzIHRoZQotCXNhbWUgd2F5IHN0cmluZ3MgaW4gQyBzb3VyY2UgY29kZSBhcmUgcXVvdGVkLiAgSWYgdGhpcwotCXZhcmlhYmxlIGlzIHNldCB0byBmYWxzZSwgdGhlIGJ5dGVzIGhpZ2hlciB0aGFuIDB4ODAgYXJlCi0Jbm90IHF1b3RlZCBidXQgb3V0cHV0IGFzIHZlcmJhdGltLiAgTm90ZSB0aGF0IGRvdWJsZQotCXF1b3RlLCBiYWNrc2xhc2ggYW5kIGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgYWx3YXlzCi0JcXVvdGVkIHdpdGhvdXQgYC16YCByZWdhcmRsZXNzIG9mIHRoZSBzZXR0aW5nIG9mIHRoaXMKLQl2YXJpYWJsZS4KKwlDb21tYW5kcyB0aGF0IG91dHB1dCBwYXRocyAoZS5nLiAnbHMtZmlsZXMnLCAnZGlmZicpLCB3aWxsCisJcXVvdGUgInVudXN1YWwiIGNoYXJhY3RlcnMgaW4gdGhlIHBhdGhuYW1lIGJ5IGVuY2xvc2luZyB0aGUKKwlwYXRobmFtZSBpbiBkb3VibGUtcXVvdGVzIGFuZCBlc2NhcGluZyB0aG9zZSBjaGFyYWN0ZXJzIHdpdGgKKwliYWNrc2xhc2hlcyBpbiB0aGUgc2FtZSB3YXkgQyBlc2NhcGVzIGNvbnRyb2wgY2hhcmFjdGVycyAoZS5nLgorCWBcdGAgZm9yIFRBQiwgYFxuYCBmb3IgTEYsIGBcXGAgZm9yIGJhY2tzbGFzaCkgb3IgYnl0ZXMgd2l0aAorCXZhbHVlcyBsYXJnZXIgdGhhbiAweDgwIChlLmcuIG9jdGFsIGBcMzAyXDI2NWAgZm9yICJtaWNybyIgaW4KKwlVVEYtOCkuICBJZiB0aGlzIHZhcmlhYmxlIGlzIHNldCB0byBmYWxzZSwgYnl0ZXMgaGlnaGVyIHRoYW4KKwkweDgwIGFyZSBub3QgY29uc2lkZXJlZCAidW51c3VhbCIgYW55IG1vcmUuIERvdWJsZS1xdW90ZXMsCisJYmFja3NsYXNoIGFuZCBjb250cm9sIGNoYXJhY3RlcnMgYXJlIGFsd2F5cyBlc2NhcGVkIHJlZ2FyZGxlc3MKKwlvZiB0aGUgc2V0dGluZyBvZiB0aGlzIHZhcmlhYmxlLiAgQSBzaW1wbGUgc3BhY2UgY2hhcmFjdGVyIGlzCisJbm90IGNvbnNpZGVyZWQgInVudXN1YWwiLiAgTWFueSBjb21tYW5kcyBjYW4gb3V0cHV0IHBhdGhuYW1lcworCWNvbXBsZXRlbHkgdmVyYmF0aW0gdXNpbmcgdGhlIGAtemAgb3B0aW9uLiBUaGUgZGVmYXVsdCB2YWx1ZQorCWlzIHRydWUuCiAKIGNvcmUuZW9sOjoKIAlTZXRzIHRoZSBsaW5lIGVuZGluZyB0eXBlIHRvIHVzZSBpbiB0aGUgd29ya2luZyBkaXJlY3RvcnkgZm9yCkBAIC01OTMsNyArNjg2LDggQEAKIAlieXRlcyBhdCBvbmNlIHRvIGNvbXBsZXRlIGFuIG9wZXJhdGlvbiBpdCB3aWxsIHVubWFwIGV4aXN0aW5nCiAJcmVnaW9ucyB0byByZWNsYWltIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSB3aXRoaW4gdGhlIHByb2Nlc3MuCiArCi1EZWZhdWx0IGlzIDI1NiBNaUIgb24gMzIgYml0IHBsYXRmb3JtcyBhbmQgOCBHaUIgb24gNjQgYml0IHBsYXRmb3Jtcy4KK0RlZmF1bHQgaXMgMjU2IE1pQiBvbiAzMiBiaXQgcGxhdGZvcm1zIGFuZCAzMiBUaUIgKGVmZmVjdGl2ZWx5Cit1bmxpbWl0ZWQpIG9uIDY0IGJpdCBwbGF0Zm9ybXMuCiBUaGlzIHNob3VsZCBiZSByZWFzb25hYmxlIGZvciBhbGwgdXNlcnMvb3BlcmF0aW5nIHN5c3RlbXMsIGV4Y2VwdCBvbgogdGhlIGxhcmdlc3QgcHJvamVjdHMuICBZb3UgcHJvYmFibHkgZG8gbm90IG5lZWQgdG8gYWRqdXN0IHRoaXMgdmFsdWUuCiArCkBAIC02ODIsNiArNzc2LDEyIEBACiBJZiBzZXQgdG8gImF1dG8iLCBgZ2l0LWNvbW1pdGAgd291bGQgc2VsZWN0IGEgY2hhcmFjdGVyIHRoYXQgaXMgbm90CiB0aGUgYmVnaW5uaW5nIGNoYXJhY3RlciBvZiBhbnkgbGluZSBpbiBleGlzdGluZyBjb21taXQgbWVzc2FnZXMuCiAKK2NvcmUuZmlsZXNSZWZMb2NrVGltZW91dDo6CisJVGhlIGxlbmd0aCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHRvIHJldHJ5IHdoZW4gdHJ5aW5nIHRvCisJbG9jayBhbiBpbmRpdmlkdWFsIHJlZmVyZW5jZS4gVmFsdWUgMCBtZWFucyBub3QgdG8gcmV0cnkgYXQKKwlhbGw7IC0xIG1lYW5zIHRvIHRyeSBpbmRlZmluaXRlbHkuIERlZmF1bHQgaXMgMTAwIChpLmUuLAorCXJldHJ5IGZvciAxMDBtcykuCisKIGNvcmUucGFja2VkUmVmc1RpbWVvdXQ6OgogCVRoZSBsZW5ndGggb2YgdGltZSwgaW4gbWlsbGlzZWNvbmRzLCB0byByZXRyeSB3aGVuIHRyeWluZyB0bwogCWxvY2sgdGhlIGBwYWNrZWQtcmVmc2AgZmlsZS4gVmFsdWUgMCBtZWFucyBub3QgdG8gcmV0cnkgYXQKQEAgLTc5Myw2ICs4OTMsNyBAQAogCWNvbXB1dGVkIGJhc2VkIG9uIHRoZSBhcHByb3hpbWF0ZSBudW1iZXIgb2YgcGFja2VkIG9iamVjdHMKIAlpbiB5b3VyIHJlcG9zaXRvcnksIHdoaWNoIGhvcGVmdWxseSBpcyBlbm91Z2ggZm9yCiAJYWJicmV2aWF0ZWQgb2JqZWN0IG5hbWVzIHRvIHN0YXkgdW5pcXVlIGZvciBzb21lIHRpbWUuCisJVGhlIG1pbmltdW0gbGVuZ3RoIGlzIDQuCiAKIGFkZC5pZ25vcmVFcnJvcnM6OgogYWRkLmlnbm9yZS1lcnJvcnMgKGRlcHJlY2F0ZWQpOjoKQEAgLTk4MiwxNCArMTA4MywyNSBAQAogJ2dpdC1kaWZmLXthc3Rlcmlza30nIHBsdW1iaW5nIGNvbW1hbmRzLiAgQ2FuIGJlIG92ZXJyaWRkZW4gb24gdGhlCiBjb21tYW5kIGxpbmUgd2l0aCB0aGUgYC0tY29sb3JbPTx3aGVuPl1gIG9wdGlvbi4KIAorZGlmZi5jb2xvck1vdmVkOjoKKwlJZiBzZXQgdG8gZWl0aGVyIGEgdmFsaWQgYDxtb2RlPmAgb3IgYSB0cnVlIHZhbHVlLCBtb3ZlZCBsaW5lcworCWluIGEgZGlmZiBhcmUgY29sb3JlZCBkaWZmZXJlbnRseSwgZm9yIGRldGFpbHMgb2YgdmFsaWQgbW9kZXMKKwlzZWUgJy0tY29sb3ItbW92ZWQnIGluIGxpbmtnaXQ6Z2l0LWRpZmZbMV0uIElmIHNpbXBseSBzZXQgdG8KKwl0cnVlIHRoZSBkZWZhdWx0IGNvbG9yIG1vZGUgd2lsbCBiZSB1c2VkLiBXaGVuIHNldCB0byBmYWxzZSwKKwltb3ZlZCBsaW5lcyBhcmUgbm90IGNvbG9yZWQuCisKIGNvbG9yLmRpZmYuPHNsb3Q+OjoKIAlVc2UgY3VzdG9taXplZCBjb2xvciBmb3IgZGlmZiBjb2xvcml6YXRpb24uICBgPHNsb3Q+YCBzcGVjaWZpZXMKIAl3aGljaCBwYXJ0IG9mIHRoZSBwYXRjaCB0byB1c2UgdGhlIHNwZWNpZmllZCBjb2xvciwgYW5kIGlzIG9uZQogCW9mIGBjb250ZXh0YCAoY29udGV4dCB0ZXh0IC0gYHBsYWluYCBpcyBhIGhpc3RvcmljYWwgc3lub255bSksCiAJYG1ldGFgIChtZXRhaW5mb3JtYXRpb24pLCBgZnJhZ2AKIAkoaHVuayBoZWFkZXIpLCAnZnVuYycgKGZ1bmN0aW9uIGluIGh1bmsgaGVhZGVyKSwgYG9sZGAgKHJlbW92ZWQgbGluZXMpLAotCWBuZXdgIChhZGRlZCBsaW5lcyksIGBjb21taXRgIChjb21taXQgaGVhZGVycyksIG9yIGB3aGl0ZXNwYWNlYAotCShoaWdobGlnaHRpbmcgd2hpdGVzcGFjZSBlcnJvcnMpLgorCWBuZXdgIChhZGRlZCBsaW5lcyksIGBjb21taXRgIChjb21taXQgaGVhZGVycyksIGB3aGl0ZXNwYWNlYAorCShoaWdobGlnaHRpbmcgd2hpdGVzcGFjZSBlcnJvcnMpLCBgb2xkTW92ZWRgIChkZWxldGVkIGxpbmVzKSwKKwlgbmV3TW92ZWRgIChhZGRlZCBsaW5lcyksIGBvbGRNb3ZlZERpbW1lZGAsIGBvbGRNb3ZlZEFsdGVybmF0aXZlYCwKKwlgb2xkTW92ZWRBbHRlcm5hdGl2ZURpbW1lZGAsIGBuZXdNb3ZlZERpbW1lZGAsIGBuZXdNb3ZlZEFsdGVybmF0aXZlYAorCWFuZCBgbmV3TW92ZWRBbHRlcm5hdGl2ZURpbW1lZGAgKFNlZSB0aGUgJzxtb2RlPicKKwlzZXR0aW5nIG9mICctLWNvbG9yLW1vdmVkJyBpbiBsaW5rZ2l0OmdpdC1kaWZmWzFdIGZvciBkZXRhaWxzKS4KIAogY29sb3IuZGVjb3JhdGUuPHNsb3Q+OjoKIAlVc2UgY3VzdG9taXplZCBjb2xvciBmb3IgJ2dpdCBsb2cgLS1kZWNvcmF0ZScgb3V0cHV0LiAgYDxzbG90PmAgaXMgb25lCkBAIC0xMDY4LDcgKzExODAsMTAgQEAKIAlgdW50cmFja2VkYCAoZmlsZXMgd2hpY2ggYXJlIG5vdCB0cmFja2VkIGJ5IEdpdCksCiAJYGJyYW5jaGAgKHRoZSBjdXJyZW50IGJyYW5jaCksCiAJYG5vYnJhbmNoYCAodGhlIGNvbG9yIHRoZSAnbm8gYnJhbmNoJyB3YXJuaW5nIGlzIHNob3duIGluLCBkZWZhdWx0aW5nCi0JdG8gcmVkKSwgb3IKKwl0byByZWQpLAorCWBsb2NhbEJyYW5jaGAgb3IgYHJlbW90ZUJyYW5jaGAgKHRoZSBsb2NhbCBhbmQgcmVtb3RlIGJyYW5jaCBuYW1lcywKKwlyZXNwZWN0aXZlbHksIHdoZW4gYnJhbmNoIGFuZCB0cmFja2luZyBpbmZvcm1hdGlvbiBpcyBkaXNwbGF5ZWQgaW4gdGhlCisJc3RhdHVzIHNob3J0LWZvcm1hdCksIG9yCiAJYHVubWVyZ2VkYCAoZmlsZXMgd2hpY2ggaGF2ZSB1bm1lcmdlZCBjaGFuZ2VzKS4KIAogY29sb3IudWk6OgpAQCAtMTQ1NSwxMSArMTU3MCwxMyBAQAogZ2MucmVyZXJlUmVzb2x2ZWQ6OgogCVJlY29yZHMgb2YgY29uZmxpY3RlZCBtZXJnZSB5b3UgcmVzb2x2ZWQgZWFybGllciBhcmUKIAlrZXB0IGZvciB0aGlzIG1hbnkgZGF5cyB3aGVuICdnaXQgcmVyZXJlIGdjJyBpcyBydW4uCisJWW91IGNhbiBhbHNvIHVzZSBtb3JlIGh1bWFuLXJlYWRhYmxlICIxLm1vbnRoLmFnbyIsIGV0Yy4KIAlUaGUgZGVmYXVsdCBpcyA2MCBkYXlzLiAgU2VlIGxpbmtnaXQ6Z2l0LXJlcmVyZVsxXS4KIAogZ2MucmVyZXJlVW5yZXNvbHZlZDo6CiAJUmVjb3JkcyBvZiBjb25mbGljdGVkIG1lcmdlIHlvdSBoYXZlIG5vdCByZXNvbHZlZCBhcmUKIAlrZXB0IGZvciB0aGlzIG1hbnkgZGF5cyB3aGVuICdnaXQgcmVyZXJlIGdjJyBpcyBydW4uCisJWW91IGNhbiBhbHNvIHVzZSBtb3JlIGh1bWFuLXJlYWRhYmxlICIxLm1vbnRoLmFnbyIsIGV0Yy4KIAlUaGUgZGVmYXVsdCBpcyAxNSBkYXlzLiAgU2VlIGxpbmtnaXQ6Z2l0LXJlcmVyZVsxXS4KIAogZ2l0Y3ZzLmNvbW1pdE1zZ0Fubm90YXRpb246OgpAQCAtMTkyNSw3ICsyMDQyLDEwIEBACiAgIG11c3QgbWF0Y2ggZXhhY3RseSBiZXR3ZWVuIHRoZSBjb25maWcga2V5IGFuZCB0aGUgVVJMLgogCiAuIEhvc3QvZG9tYWluIG5hbWUgKGUuZy4sIGBleGFtcGxlLmNvbWAgaW4gYGh0dHBzOi8vZXhhbXBsZS5jb20vYCkuCi0gIFRoaXMgZmllbGQgbXVzdCBtYXRjaCBleGFjdGx5IGJldHdlZW4gdGhlIGNvbmZpZyBrZXkgYW5kIHRoZSBVUkwuCisgIFRoaXMgZmllbGQgbXVzdCBtYXRjaCBiZXR3ZWVuIHRoZSBjb25maWcga2V5IGFuZCB0aGUgVVJMLiBJdCBpcworICBwb3NzaWJsZSB0byBzcGVjaWZ5IGEgYCpgIGFzIHBhcnQgb2YgdGhlIGhvc3QgbmFtZSB0byBtYXRjaCBhbGwgc3ViZG9tYWlucworICBhdCB0aGlzIGxldmVsLiBgaHR0cHM6Ly8qLmV4YW1wbGUuY29tL2AgZm9yIGV4YW1wbGUgd291bGQgbWF0Y2gKKyAgYGh0dHBzOi8vZm9vLmV4YW1wbGUuY29tL2AsIGJ1dCBub3QgYGh0dHBzOi8vZm9vLmJhci5leGFtcGxlLmNvbS9gLgogCiAuIFBvcnQgbnVtYmVyIChlLmcuLCBgODA4MGAgaW4gYGh0dHA6Ly9leGFtcGxlLmNvbTo4MDgwL2ApLgogICBUaGlzIGZpZWxkIG11c3QgbWF0Y2ggZXhhY3RseSBiZXR3ZWVuIHRoZSBjb25maWcga2V5IGFuZCB0aGUgVVJMLgpAQCAtMTk2MCw2ICsyMDgwLDE3IEBACiBtYXRjaGVkIGFnYWluc3QgYXJlIHRob3NlIGdpdmVuIGRpcmVjdGx5IHRvIEdpdCBjb21tYW5kcy4gIFRoaXMgbWVhbnMgYW55IFVSTHMKIHZpc2l0ZWQgYXMgYSByZXN1bHQgb2YgYSByZWRpcmVjdGlvbiBkbyBub3QgcGFydGljaXBhdGUgaW4gbWF0Y2hpbmcuCiAKK3NzaC52YXJpYW50OjoKKwlEZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYEdJVF9TU0hgIG9yCisJYEdJVF9TU0hfQ09NTUFORGAsIG9yIHRoZSBjb25maWcgc2V0dGluZyBgY29yZS5zc2hDb21tYW5kYCwgR2l0CisJYXV0by1kZXRlY3RzIHdoZXRoZXIgdG8gYWRqdXN0IGl0cyBjb21tYW5kLWxpbmUgcGFyYW1ldGVycyBmb3IgdXNlCisJd2l0aCBwbGluayBvciB0b3J0b2lzZXBsaW5rLCBhcyBvcHBvc2VkIHRvIHRoZSBkZWZhdWx0IChPcGVuU1NIKS4KKysKK1RoZSBjb25maWcgdmFyaWFibGUgYHNzaC52YXJpYW50YCBjYW4gYmUgc2V0IHRvIG92ZXJyaWRlIHRoaXMgYXV0by1kZXRlY3Rpb247Cit2YWxpZCB2YWx1ZXMgYXJlIGBzc2hgLCBgcGxpbmtgLCBgcHV0dHlgIG9yIGB0b3J0b2lzZXBsaW5rYC4gQW55IG90aGVyIHZhbHVlCit3aWxsIGJlIHRyZWF0ZWQgYXMgbm9ybWFsIHNzaC4gVGhpcyBzZXR0aW5nIGNhbiBiZSBvdmVycmlkZGVuIHZpYSB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlIGBHSVRfU1NIX1ZBUklBTlRgLgorCiBpMThuLmNvbW1pdEVuY29kaW5nOjoKIAlDaGFyYWN0ZXIgZW5jb2RpbmcgdGhlIGNvbW1pdCBtZXNzYWdlcyBhcmUgc3RvcmVkIGluOyBHaXQgaXRzZWxmCiAJZG9lcyBub3QgY2FyZSBwZXIgc2UsIGJ1dCB0aGlzIGluZm9ybWF0aW9uIGlzIG5lY2Vzc2FyeSBlLmcuIHdoZW4KQEAgLTIwNTcsNiArMjE4OCwxMCBAQAogCVRvb2xzIGxpa2UgbGlua2dpdDpnaXQtbG9nWzFdIG9yIGxpbmtnaXQ6Z2l0LXdoYXRjaGFuZ2VkWzFdLCB3aGljaAogCW5vcm1hbGx5IGhpZGUgdGhlIHJvb3QgY29tbWl0IHdpbGwgbm93IHNob3cgaXQuIFRydWUgYnkgZGVmYXVsdC4KIAorbG9nLnNob3dTaWduYXR1cmU6OgorCUlmIHRydWUsIG1ha2VzIGxpbmtnaXQ6Z2l0LWxvZ1sxXSwgbGlua2dpdDpnaXQtc2hvd1sxXSwgYW5kCisJbGlua2dpdDpnaXQtd2hhdGNoYW5nZWRbMV0gYXNzdW1lIGAtLXNob3ctc2lnbmF0dXJlYC4KKwogbG9nLm1haWxtYXA6OgogCUlmIHRydWUsIG1ha2VzIGxpbmtnaXQ6Z2l0LWxvZ1sxXSwgbGlua2dpdDpnaXQtc2hvd1sxXSwgYW5kCiAJbGlua2dpdDpnaXQtd2hhdGNoYW5nZWRbMV0gYXNzdW1lIGAtLXVzZS1tYWlsbWFwYC4KQEAgLTI1MDgsNyArMjY0Myw3IEBACiAJSWYgc2V0IHRvIHRydWUgZW5hYmxlIGAtLWF1dG9zcXVhc2hgIG9wdGlvbiBieSBkZWZhdWx0LgogCiByZWJhc2UuYXV0b1N0YXNoOjoKLQlXaGVuIHNldCB0byB0cnVlLCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIHRlbXBvcmFyeSBzdGFzaAorCVdoZW4gc2V0IHRvIHRydWUsIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgdGVtcG9yYXJ5IHN0YXNoIGVudHJ5CiAJYmVmb3JlIHRoZSBvcGVyYXRpb24gYmVnaW5zLCBhbmQgYXBwbHkgaXQgYWZ0ZXIgdGhlIG9wZXJhdGlvbgogCWVuZHMuICBUaGlzIG1lYW5zIHRoYXQgeW91IGNhbiBydW4gcmViYXNlIG9uIGEgZGlydHkgd29ya3RyZWUuCiAJSG93ZXZlciwgdXNlIHdpdGggY2FyZTogdGhlIGZpbmFsIHN0YXNoIGFwcGxpY2F0aW9uIGFmdGVyIGEKQEAgLTI1MzcsOSArMjY3Miw4IEBACiAJY2FwYWJpbGl0eSwgc2V0IHRoaXMgdmFyaWFibGUgdG8gZmFsc2UuCiAKIHJlY2VpdmUuYWR2ZXJ0aXNlUHVzaE9wdGlvbnM6OgotCUJ5IGRlZmF1bHQsIGdpdC1yZWNlaXZlLXBhY2sgd2lsbCBhZHZlcnRpc2UgdGhlIHB1c2ggb3B0aW9ucwotCWNhcGFiaWxpdHkgdG8gaXRzIGNsaWVudHMuIElmIHlvdSBkb24ndCB3YW50IHRvIGFkdmVydGlzZSB0aGlzCi0JY2FwYWJpbGl0eSwgc2V0IHRoaXMgdmFyaWFibGUgdG8gZmFsc2UuCisJV2hlbiBzZXQgdG8gdHJ1ZSwgZ2l0LXJlY2VpdmUtcGFjayB3aWxsIGFkdmVydGlzZSB0aGUgcHVzaCBvcHRpb25zCisJY2FwYWJpbGl0eSB0byBpdHMgY2xpZW50cy4gRmFsc2UgYnkgZGVmYXVsdC4KIAogcmVjZWl2ZS5hdXRvZ2M6OgogCUJ5IGRlZmF1bHQsIGdpdC1yZWNlaXZlLXBhY2sgd2lsbCBydW4gImdpdC1nYyAtLWF1dG8iIGFmdGVyCkBAIC0yNzk3LDggKzI5MzEsOCBAQAogCiBzZW5kZW1haWwuPGlkZW50aXR5Pi4qOjoKIAlJZGVudGl0eS1zcGVjaWZpYyB2ZXJzaW9ucyBvZiB0aGUgJ3NlbmRlbWFpbC4qJyBwYXJhbWV0ZXJzCi0JZm91bmQgYmVsb3csIHRha2luZyBwcmVjZWRlbmNlIG92ZXIgdGhvc2Ugd2hlbiB0aGUgdGhpcwotCWlkZW50aXR5IGlzIHNlbGVjdGVkLCB0aHJvdWdoIGNvbW1hbmQtbGluZSBvcgorCWZvdW5kIGJlbG93LCB0YWtpbmcgcHJlY2VkZW5jZSBvdmVyIHRob3NlIHdoZW4gdGhpcworCWlkZW50aXR5IGlzIHNlbGVjdGVkLCB0aHJvdWdoIGVpdGhlciB0aGUgY29tbWFuZC1saW5lIG9yCiAJYHNlbmRlbWFpbC5pZGVudGl0eWAuCiAKIHNlbmRlbWFpbC5hbGlhc2VzRmlsZTo6CkBAIC0yODMxLDEwICsyOTY1LDQ1IEBACiBzZW5kZW1haWwuc2lnbmVkb2ZmY2MgKGRlcHJlY2F0ZWQpOjoKIAlEZXByZWNhdGVkIGFsaWFzIGZvciBgc2VuZGVtYWlsLnNpZ25lZG9mZmJ5Y2NgLgogCitzZW5kZW1haWwuc210cEJhdGNoU2l6ZTo6CisJTnVtYmVyIG9mIG1lc3NhZ2VzIHRvIGJlIHNlbnQgcGVyIGNvbm5lY3Rpb24sIGFmdGVyIHRoYXQgYSByZWxvZ2luCisJd2lsbCBoYXBwZW4uICBJZiB0aGUgdmFsdWUgaXMgMCBvciB1bmRlZmluZWQsIHNlbmQgYWxsIG1lc3NhZ2VzIGluCisJb25lIGNvbm5lY3Rpb24uCisJU2VlIGFsc28gdGhlIGAtLWJhdGNoLXNpemVgIG9wdGlvbiBvZiBsaW5rZ2l0OmdpdC1zZW5kLWVtYWlsWzFdLgorCitzZW5kZW1haWwuc210cFJlbG9naW5EZWxheTo6CisJU2Vjb25kcyB3YWl0IGJlZm9yZSByZWNvbm5lY3RpbmcgdG8gc210cCBzZXJ2ZXIuCisJU2VlIGFsc28gdGhlIGAtLXJlbG9naW4tZGVsYXlgIG9wdGlvbiBvZiBsaW5rZ2l0OmdpdC1zZW5kLWVtYWlsWzFdLgorCiBzaG93YnJhbmNoLmRlZmF1bHQ6OgogCVRoZSBkZWZhdWx0IHNldCBvZiBicmFuY2hlcyBmb3IgbGlua2dpdDpnaXQtc2hvdy1icmFuY2hbMV0uCiAJU2VlIGxpbmtnaXQ6Z2l0LXNob3ctYnJhbmNoWzFdLgogCitzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2U6OgorCVdoZW4gdGhlIHNwbGl0IGluZGV4IGZlYXR1cmUgaXMgdXNlZCwgdGhpcyBzcGVjaWZpZXMgdGhlCisJcGVyY2VudCBvZiBlbnRyaWVzIHRoZSBzcGxpdCBpbmRleCBjYW4gY29udGFpbiBjb21wYXJlZCB0byB0aGUKKwl0b3RhbCBudW1iZXIgb2YgZW50cmllcyBpbiBib3RoIHRoZSBzcGxpdCBpbmRleCBhbmQgdGhlIHNoYXJlZAorCWluZGV4IGJlZm9yZSBhIG5ldyBzaGFyZWQgaW5kZXggaXMgd3JpdHRlbi4KKwlUaGUgdmFsdWUgc2hvdWxkIGJlIGJldHdlZW4gMCBhbmQgMTAwLiBJZiB0aGUgdmFsdWUgaXMgMCB0aGVuCisJYSBuZXcgc2hhcmVkIGluZGV4IGlzIGFsd2F5cyB3cml0dGVuLCBpZiBpdCBpcyAxMDAgYSBuZXcKKwlzaGFyZWQgaW5kZXggaXMgbmV2ZXIgd3JpdHRlbi4KKwlCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyAyMCwgc28gYSBuZXcgc2hhcmVkIGluZGV4IGlzIHdyaXR0ZW4KKwlpZiB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIHNwbGl0IGluZGV4IHdvdWxkIGJlIGdyZWF0ZXIKKwl0aGFuIDIwIHBlcmNlbnQgb2YgdGhlIHRvdGFsIG51bWJlciBvZiBlbnRyaWVzLgorCVNlZSBsaW5rZ2l0OmdpdC11cGRhdGUtaW5kZXhbMV0uCisKK3NwbGl0SW5kZXguc2hhcmVkSW5kZXhFeHBpcmU6OgorCVdoZW4gdGhlIHNwbGl0IGluZGV4IGZlYXR1cmUgaXMgdXNlZCwgc2hhcmVkIGluZGV4IGZpbGVzIHRoYXQKKwl3ZXJlIG5vdCBtb2RpZmllZCBzaW5jZSB0aGUgdGltZSB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyB3aWxsCisJYmUgcmVtb3ZlZCB3aGVuIGEgbmV3IHNoYXJlZCBpbmRleCBmaWxlIGlzIGNyZWF0ZWQuIFRoZSB2YWx1ZQorCSJub3ciIGV4cGlyZXMgYWxsIGVudHJpZXMgaW1tZWRpYXRlbHksIGFuZCAibmV2ZXIiIHN1cHByZXNzZXMKKwlleHBpcmF0aW9uIGFsdG9nZXRoZXIuCisJVGhlIGRlZmF1bHQgdmFsdWUgaXMgIjIud2Vla3MuYWdvIi4KKwlOb3RlIHRoYXQgYSBzaGFyZWQgaW5kZXggZmlsZSBpcyBjb25zaWRlcmVkIG1vZGlmaWVkIChmb3IgdGhlCisJcHVycG9zZSBvZiBleHBpcmF0aW9uKSBlYWNoIHRpbWUgYSBuZXcgc3BsaXQtaW5kZXggZmlsZSBpcworCWVpdGhlciBjcmVhdGVkIGJhc2VkIG9uIGl0IG9yIHJlYWQgZnJvbSBpdC4KKwlTZWUgbGlua2dpdDpnaXQtdXBkYXRlLWluZGV4WzFdLgorCiBzdGF0dXMucmVsYXRpdmVQYXRoczo6CiAJQnkgZGVmYXVsdCwgbGlua2dpdDpnaXQtc3RhdHVzWzFdIHNob3dzIHBhdGhzIHJlbGF0aXZlIHRvIHRoZQogCWN1cnJlbnQgZGlyZWN0b3J5LiBTZXR0aW5nIHRoaXMgdmFyaWFibGUgdG8gYGZhbHNlYCBzaG93cyBwYXRocwpAQCAtMjg1Niw2ICszMDI1LDExIEBACiAJYmVoYXZpb3Igb2YgbGlua2dpdDpnaXQtc3RhdHVzWzFdIGluIEdpdCAxLjguNCBhbmQgcHJldmlvdXMuCiAJRGVmYXVsdHMgdG8gZmFsc2UuCiAKK3N0YXR1cy5zaG93U3Rhc2g6OgorCUlmIHNldCB0byB0cnVlLCBsaW5rZ2l0OmdpdC1zdGF0dXNbMV0gd2lsbCBkaXNwbGF5IHRoZSBudW1iZXIgb2YKKwllbnRyaWVzIGN1cnJlbnRseSBzdGFzaGVkIGF3YXkuCisJRGVmYXVsdHMgdG8gZmFsc2UuCisKIHN0YXR1cy5zaG93VW50cmFja2VkRmlsZXM6OgogCUJ5IGRlZmF1bHQsIGxpbmtnaXQ6Z2l0LXN0YXR1c1sxXSBhbmQgbGlua2dpdDpnaXQtY29tbWl0WzFdIHNob3cKIAlmaWxlcyB3aGljaCBhcmUgbm90IGN1cnJlbnRseSB0cmFja2VkIGJ5IEdpdC4gRGlyZWN0b3JpZXMgd2hpY2gKQEAgLTI4OTMsMjcgKzMwNjcsMzIgQEAKIAogc3Rhc2guc2hvd1BhdGNoOjoKIAlJZiB0aGlzIGlzIHNldCB0byB0cnVlLCB0aGUgYGdpdCBzdGFzaCBzaG93YCBjb21tYW5kIHdpdGhvdXQgYW4KLQlvcHRpb24gd2lsbCBzaG93IHRoZSBzdGFzaCBpbiBwYXRjaCBmb3JtLiAgRGVmYXVsdHMgdG8gZmFsc2UuCisJb3B0aW9uIHdpbGwgc2hvdyB0aGUgc3Rhc2ggZW50cnkgaW4gcGF0Y2ggZm9ybS4gIERlZmF1bHRzIHRvIGZhbHNlLgogCVNlZSBkZXNjcmlwdGlvbiBvZiAnc2hvdycgY29tbWFuZCBpbiBsaW5rZ2l0OmdpdC1zdGFzaFsxXS4KIAogc3Rhc2guc2hvd1N0YXQ6OgogCUlmIHRoaXMgaXMgc2V0IHRvIHRydWUsIHRoZSBgZ2l0IHN0YXNoIHNob3dgIGNvbW1hbmQgd2l0aG91dCBhbgotCW9wdGlvbiB3aWxsIHNob3cgZGlmZnN0YXQgb2YgdGhlIHN0YXNoLiAgRGVmYXVsdHMgdG8gdHJ1ZS4KKwlvcHRpb24gd2lsbCBzaG93IGRpZmZzdGF0IG9mIHRoZSBzdGFzaCBlbnRyeS4gIERlZmF1bHRzIHRvIHRydWUuCiAJU2VlIGRlc2NyaXB0aW9uIG9mICdzaG93JyBjb21tYW5kIGluIGxpbmtnaXQ6Z2l0LXN0YXNoWzFdLgogCiBzdWJtb2R1bGUuPG5hbWU+LnVybDo6CiAJVGhlIFVSTCBmb3IgYSBzdWJtb2R1bGUuIFRoaXMgdmFyaWFibGUgaXMgY29waWVkIGZyb20gdGhlIC5naXRtb2R1bGVzCiAJZmlsZSB0byB0aGUgZ2l0IGNvbmZpZyB2aWEgJ2dpdCBzdWJtb2R1bGUgaW5pdCcuIFRoZSB1c2VyIGNhbiBjaGFuZ2UKIAl0aGUgY29uZmlndXJlZCBVUkwgYmVmb3JlIG9idGFpbmluZyB0aGUgc3VibW9kdWxlIHZpYSAnZ2l0IHN1Ym1vZHVsZQotCXVwZGF0ZScuIEFmdGVyIG9idGFpbmluZyB0aGUgc3VibW9kdWxlLCB0aGUgcHJlc2VuY2Ugb2YgdGhpcyB2YXJpYWJsZQotCWlzIHVzZWQgYXMgYSBzaWduIHdoZXRoZXIgdGhlIHN1Ym1vZHVsZSBpcyBvZiBpbnRlcmVzdCB0byBnaXQgY29tbWFuZHMuCisJdXBkYXRlJy4gSWYgbmVpdGhlciBzdWJtb2R1bGUuPG5hbWU+LmFjdGl2ZSBvciBzdWJtb2R1bGUuYWN0aXZlIGFyZQorCXNldCwgdGhlIHByZXNlbmNlIG9mIHRoaXMgdmFyaWFibGUgaXMgdXNlZCBhcyBhIGZhbGxiYWNrIHRvIGluZGljYXRlCisJd2hldGhlciB0aGUgc3VibW9kdWxlIGlzIG9mIGludGVyZXN0IHRvIGdpdCBjb21tYW5kcy4KIAlTZWUgbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdIGFuZCBsaW5rZ2l0OmdpdG1vZHVsZXNbNV0gZm9yIGRldGFpbHMuCiAKIHN1Ym1vZHVsZS48bmFtZT4udXBkYXRlOjoKLQlUaGUgZGVmYXVsdCB1cGRhdGUgcHJvY2VkdXJlIGZvciBhIHN1Ym1vZHVsZS4gVGhpcyB2YXJpYWJsZQotCWlzIHBvcHVsYXRlZCBieSBgZ2l0IHN1Ym1vZHVsZSBpbml0YCBmcm9tIHRoZQotCWxpbmtnaXQ6Z2l0bW9kdWxlc1s1XSBmaWxlLiBTZWUgZGVzY3JpcHRpb24gb2YgJ3VwZGF0ZScKLQljb21tYW5kIGluIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXS4KKwlUaGUgbWV0aG9kIGJ5IHdoaWNoIGEgc3VibW9kdWxlIGlzIHVwZGF0ZWQgYnkgJ2dpdCBzdWJtb2R1bGUgdXBkYXRlJywKKwl3aGljaCBpcyB0aGUgb25seSBhZmZlY3RlZCBjb21tYW5kLCBvdGhlcnMgc3VjaCBhcworCSdnaXQgY2hlY2tvdXQgLS1yZWN1cnNlLXN1Ym1vZHVsZXMnIGFyZSB1bmFmZmVjdGVkLiBJdCBleGlzdHMgZm9yCisJaGlzdG9yaWNhbCByZWFzb25zLCB3aGVuICdnaXQgc3VibW9kdWxlJyB3YXMgdGhlIG9ubHkgY29tbWFuZCB0bworCWludGVyYWN0IHdpdGggc3VibW9kdWxlczsgc2V0dGluZ3MgbGlrZSBgc3VibW9kdWxlLmFjdGl2ZWAKKwlhbmQgYHB1bGwucmViYXNlYCBhcmUgbW9yZSBzcGVjaWZpYy4gSXQgaXMgcG9wdWxhdGVkIGJ5CisJYGdpdCBzdWJtb2R1bGUgaW5pdGAgZnJvbSB0aGUgbGlua2dpdDpnaXRtb2R1bGVzWzVdIGZpbGUuCisJU2VlIGRlc2NyaXB0aW9uIG9mICd1cGRhdGUnIGNvbW1hbmQgaW4gbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdLgogCiBzdWJtb2R1bGUuPG5hbWU+LmJyYW5jaDo6CiAJVGhlIHJlbW90ZSBicmFuY2ggbmFtZSBmb3IgYSBzdWJtb2R1bGUsIHVzZWQgYnkgYGdpdCBzdWJtb2R1bGUKQEAgLTI5NDQsNiArMzEyMywyMSBAQAogCSItLWlnbm9yZS1zdWJtb2R1bGVzIiBvcHRpb24uIFRoZSAnZ2l0IHN1Ym1vZHVsZScgY29tbWFuZHMgYXJlIG5vdAogCWFmZmVjdGVkIGJ5IHRoaXMgc2V0dGluZy4KIAorc3VibW9kdWxlLjxuYW1lPi5hY3RpdmU6OgorCUJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyBpZiB0aGUgc3VibW9kdWxlIGlzIG9mIGludGVyZXN0IHRvIGdpdAorCWNvbW1hbmRzLiAgVGhpcyBjb25maWcgb3B0aW9uIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUKKwlzdWJtb2R1bGUuYWN0aXZlIGNvbmZpZyBvcHRpb24uCisKK3N1Ym1vZHVsZS5hY3RpdmU6OgorCUEgcmVwZWF0ZWQgZmllbGQgd2hpY2ggY29udGFpbnMgYSBwYXRoc3BlYyB1c2VkIHRvIG1hdGNoIGFnYWluc3QgYQorCXN1Ym1vZHVsZSdzIHBhdGggdG8gZGV0ZXJtaW5lIGlmIHRoZSBzdWJtb2R1bGUgaXMgb2YgaW50ZXJlc3QgdG8gZ2l0CisJY29tbWFuZHMuCisKK3N1Ym1vZHVsZS5yZWN1cnNlOjoKKwlTcGVjaWZpZXMgaWYgY29tbWFuZHMgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMgYnkgZGVmYXVsdC4gVGhpcworCWFwcGxpZXMgdG8gYWxsIGNvbW1hbmRzIHRoYXQgaGF2ZSBhIGAtLXJlY3Vyc2Utc3VibW9kdWxlc2Agb3B0aW9uLgorCURlZmF1bHRzIHRvIGZhbHNlLgorCiBzdWJtb2R1bGUuZmV0Y2hKb2JzOjoKIAlTcGVjaWZpZXMgaG93IG1hbnkgc3VibW9kdWxlcyBhcmUgZmV0Y2hlZC9jbG9uZWQgYXQgdGhlIHNhbWUgdGltZS4KIAlBIHBvc2l0aXZlIGludGVnZXIgYWxsb3dzIHVwIHRvIHRoYXQgbnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZApAQCAtMzA4OSw2ICszMjgzLDEzIEBACiAJdGhlIGJlc3QgYWx0ZXJuYXRpdmUgZm9yIHRoZSBwYXJ0aWN1bGFyIHVzZXIsIGV2ZW4gZm9yIGEKIAluZXZlci1iZWZvcmUtc2VlbiByZXBvc2l0b3J5IG9uIHRoZSBzaXRlLiAgV2hlbiBtb3JlIHRoYW4gb25lCiAJaW5zdGVhZE9mIHN0cmluZ3MgbWF0Y2ggYSBnaXZlbiBVUkwsIHRoZSBsb25nZXN0IG1hdGNoIGlzIHVzZWQuCisrCitOb3RlIHRoYXQgYW55IHByb3RvY29sIHJlc3RyaWN0aW9ucyB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHJld3JpdHRlbgorVVJMLiBJZiB0aGUgcmV3cml0ZSBjaGFuZ2VzIHRoZSBVUkwgdG8gdXNlIGEgY3VzdG9tIHByb3RvY29sIG9yIHJlbW90ZQoraGVscGVyLCB5b3UgbWF5IG5lZWQgdG8gYWRqdXN0IHRoZSBgcHJvdG9jb2wuKi5hbGxvd2AgY29uZmlnIHRvIHBlcm1pdAordGhlIHJlcXVlc3QuICBJbiBwYXJ0aWN1bGFyLCBwcm90b2NvbHMgeW91IGV4cGVjdCB0byB1c2UgZm9yIHN1Ym1vZHVsZXMKK211c3QgYmUgc2V0IHRvIGBhbHdheXNgIHJhdGhlciB0aGFuIHRoZSBkZWZhdWx0IG9mIGB1c2VyYC4gU2VlIHRoZQorZGVzY3JpcHRpb24gb2YgYHByb3RvY29sLmFsbG93YCBhYm92ZS4KIAogdXJsLjxiYXNlPi5wdXNoSW5zdGVhZE9mOjoKIAlBbnkgVVJMIHRoYXQgc3RhcnRzIHdpdGggdGhpcyB2YWx1ZSB3aWxsIG5vdCBiZSBwdXNoZWQgdG87CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RpZmYtY29uZmlnLnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1jb25maWcudHh0CmluZGV4IGNiY2U4ZWMuLjVjYTk0MmEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGlmZi1jb25maWcudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZGlmZi1jb25maWcudHh0CkBAIC0yMDAsNyArMjAwLDEwIEBACiArCiAKIGRpZmYud3NFcnJvckhpZ2hsaWdodDo6Ci0JQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBgb2xkYCwgYG5ld2AsIGBjb250ZXh0YCwgdGhhdAotCXNwZWNpZmllcyBob3cgd2hpdGVzcGFjZSBlcnJvcnMgb24gbGluZXMgYXJlIGhpZ2hsaWdodGVkCi0Jd2l0aCBgY29sb3IuZGlmZi53aGl0ZXNwYWNlYC4gIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZQotCWNvbW1hbmQgbGluZSBvcHRpb24gYC0td3MtZXJyb3ItaGlnaGxpZ2h0PTxraW5kPmAKKwlIaWdobGlnaHQgd2hpdGVzcGFjZSBlcnJvcnMgaW4gdGhlIGBjb250ZXh0YCwgYG9sZGAgb3IgYG5ld2AKKwlsaW5lcyBvZiB0aGUgZGlmZi4gIE11bHRpcGxlIHZhbHVlcyBhcmUgc2VwYXJhdGVkIGJ5IGNvbW1hLAorCWBub25lYCByZXNldHMgcHJldmlvdXMgdmFsdWVzLCBgZGVmYXVsdGAgcmVzZXQgdGhlIGxpc3QgdG8KKwlgbmV3YCBhbmQgYGFsbGAgaXMgYSBzaG9ydGhhbmQgZm9yIGBvbGQsbmV3LGNvbnRleHRgLiAgVGhlCisJd2hpdGVzcGFjZSBlcnJvcnMgYXJlIGNvbG9yZWQgd2l0aCBgY29sb3IuZGlmZi53aGl0ZXNwYWNlYC4KKwlUaGUgY29tbWFuZCBsaW5lIG9wdGlvbiBgLS13cy1lcnJvci1oaWdobGlnaHQ9PGtpbmQ+YAorCW92ZXJyaWRlcyB0aGlzIHNldHRpbmcuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RpZmYtZm9ybWF0LnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1mb3JtYXQudHh0CmluZGV4IGNmNTI2MjYuLjcwNjkxNmMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGlmZi1mb3JtYXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZGlmZi1mb3JtYXQudHh0CkBAIC03OCw5ICs3OCwxMCBAQAogOjEwMDY0NCAxMDA2NDQgNWJlNGE0Li4uLi4uIDAwMDAwMC4uLi4uLiBNIGZpbGUuYwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdoZW4gYC16YCBvcHRpb24gaXMgbm90IHVzZWQsIFRBQiwgTEYsIGFuZCBiYWNrc2xhc2ggY2hhcmFjdGVycwotaW4gcGF0aG5hbWVzIGFyZSByZXByZXNlbnRlZCBhcyBgXHRgLCBgXG5gLCBhbmQgYFxcYCwKLXJlc3BlY3RpdmVseS4KK1dpdGhvdXQgdGhlIGAtemAgb3B0aW9uLCBwYXRobmFtZXMgd2l0aCAidW51c3VhbCIgY2hhcmFjdGVycyBhcmUKK3F1b3RlZCBhcyBleHBsYWluZWQgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBjb3JlLnF1b3RlUGF0aGAKKyhzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4gIFVzaW5nIGAtemAgdGhlIGZpbGVuYW1lIGlzIG91dHB1dAordmVyYmF0aW0gYW5kIHRoZSBsaW5lIGlzIHRlcm1pbmF0ZWQgYnkgYSBOVUwgYnl0ZS4KIAogZGlmZiBmb3JtYXQgZm9yIG1lcmdlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kaWZmLWdlbmVyYXRlLXBhdGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1nZW5lcmF0ZS1wYXRjaC50eHQKaW5kZXggZDJhN2ZmNS4uMjMxMTA1YyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kaWZmLWdlbmVyYXRlLXBhdGNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RpZmYtZ2VuZXJhdGUtcGF0Y2gudHh0CkBAIC01MywxMCArNTMsOSBAQAogVGhlIDxtb2RlPiBpcyBpbmNsdWRlZCBpZiB0aGUgZmlsZSBtb2RlIGRvZXMgbm90IGNoYW5nZTsgb3RoZXJ3aXNlLAogc2VwYXJhdGUgbGluZXMgaW5kaWNhdGUgdGhlIG9sZCBhbmQgdGhlIG5ldyBtb2RlLgogCi0zLiAgVEFCLCBMRiwgZG91YmxlIHF1b3RlIGFuZCBiYWNrc2xhc2ggY2hhcmFjdGVycyBpbiBwYXRobmFtZXMKLSAgICBhcmUgcmVwcmVzZW50ZWQgYXMgYFx0YCwgYFxuYCwgYFwiYCBhbmQgYFxcYCwgcmVzcGVjdGl2ZWx5LgotICAgIElmIHRoZXJlIGlzIG5lZWQgZm9yIHN1Y2ggc3Vic3RpdHV0aW9uIHRoZW4gdGhlIHdob2xlCi0gICAgcGF0aG5hbWUgaXMgcHV0IGluIGRvdWJsZSBxdW90ZXMuCiszLiAgUGF0aG5hbWVzIHdpdGggInVudXN1YWwiIGNoYXJhY3RlcnMgYXJlIHF1b3RlZCBhcyBleHBsYWluZWQgZm9yCisgICAgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGNvcmUucXVvdGVQYXRoYCAoc2VlCisgICAgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4KIAogNC4gIEFsbCB0aGUgYGZpbGUxYCBmaWxlcyBpbiB0aGUgb3V0cHV0IHJlZmVyIHRvIGZpbGVzIGJlZm9yZSB0aGUKICAgICBjb21taXQsIGFuZCBhbGwgdGhlIGBmaWxlMmAgZmlsZXMgcmVmZXIgdG8gZmlsZXMgYWZ0ZXIgdGhlIGNvbW1pdC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGlmZi1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1vcHRpb25zLnR4dAppbmRleCBkOTFkZGJkLi5hODhjNzY3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2RpZmYtb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kaWZmLW9wdGlvbnMudHh0CkBAIC0xOTIsMTAgKzE5Miw5IEBACiAJZ2l2ZW4sIGRvIG5vdCBtdW5nZSBwYXRobmFtZXMgYW5kIHVzZSBOVUxzIGFzIG91dHB1dCBmaWVsZCB0ZXJtaW5hdG9ycy4KIGVuZGlmOjpnaXQtbG9nW10KICsKLVdpdGhvdXQgdGhpcyBvcHRpb24sIGVhY2ggcGF0aG5hbWUgb3V0cHV0IHdpbGwgaGF2ZSBUQUIsIExGLCBkb3VibGUgcXVvdGVzLAotYW5kIGJhY2tzbGFzaCBjaGFyYWN0ZXJzIHJlcGxhY2VkIHdpdGggYFx0YCwgYFxuYCwgYFwiYCwgYW5kIGBcXGAsCi1yZXNwZWN0aXZlbHksIGFuZCB0aGUgcGF0aG5hbWUgd2lsbCBiZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzIGlmCi1hbnkgb2YgdGhvc2UgcmVwbGFjZW1lbnRzIG9jY3VycmVkLgorV2l0aG91dCB0aGlzIG9wdGlvbiwgcGF0aG5hbWVzIHdpdGggInVudXN1YWwiIGNoYXJhY3RlcnMgYXJlIHF1b3RlZCBhcworZXhwbGFpbmVkIGZvciB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgY29yZS5xdW90ZVBhdGhgIChzZWUKK2xpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuCiAKIC0tbmFtZS1vbmx5OjoKIAlTaG93IG9ubHkgbmFtZXMgb2YgY2hhbmdlZCBmaWxlcy4KQEAgLTIzMiw2ICsyMzEsNDAgQEAKIGVuZGlmOjpnaXQtZGlmZltdCiAJSXQgaXMgdGhlIHNhbWUgYXMgYC0tY29sb3I9bmV2ZXJgLgogCistLWNvbG9yLW1vdmVkWz08bW9kZT5dOjoKKwlNb3ZlZCBsaW5lcyBvZiBjb2RlIGFyZSBjb2xvcmVkIGRpZmZlcmVudGx5LgoraWZkZWY6OmdpdC1kaWZmW10KKwlJdCBjYW4gYmUgY2hhbmdlZCBieSB0aGUgYGRpZmYuY29sb3JNb3ZlZGAgY29uZmlndXJhdGlvbiBzZXR0aW5nLgorZW5kaWY6OmdpdC1kaWZmW10KKwlUaGUgPG1vZGU+IGRlZmF1bHRzIHRvICdubycgaWYgdGhlIG9wdGlvbiBpcyBub3QgZ2l2ZW4KKwlhbmQgdG8gJ3plYnJhJyBpZiB0aGUgb3B0aW9uIHdpdGggbm8gbW9kZSBpcyBnaXZlbi4KKwlUaGUgbW9kZSBtdXN0IGJlIG9uZSBvZjoKKysKKy0tCitubzo6CisJTW92ZWQgbGluZXMgYXJlIG5vdCBoaWdobGlnaHRlZC4KK2RlZmF1bHQ6OgorCUlzIGEgc3lub255bSBmb3IgYHplYnJhYC4gVGhpcyBtYXkgY2hhbmdlIHRvIGEgbW9yZSBzZW5zaWJsZSBtb2RlCisJaW4gdGhlIGZ1dHVyZS4KK3BsYWluOjoKKwlBbnkgbGluZSB0aGF0IGlzIGFkZGVkIGluIG9uZSBsb2NhdGlvbiBhbmQgd2FzIHJlbW92ZWQKKwlpbiBhbm90aGVyIGxvY2F0aW9uIHdpbGwgYmUgY29sb3JlZCB3aXRoICdjb2xvci5kaWZmLm5ld01vdmVkJy4KKwlTaW1pbGFybHkgJ2NvbG9yLmRpZmYub2xkTW92ZWQnIHdpbGwgYmUgdXNlZCBmb3IgcmVtb3ZlZCBsaW5lcworCXRoYXQgYXJlIGFkZGVkIHNvbWV3aGVyZSBlbHNlIGluIHRoZSBkaWZmLiBUaGlzIG1vZGUgcGlja3MgdXAgYW55CisJbW92ZWQgbGluZSwgYnV0IGl0IGlzIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBhIHJldmlldyB0byBkZXRlcm1pbmUKKwlpZiBhIGJsb2NrIG9mIGNvZGUgd2FzIG1vdmVkIHdpdGhvdXQgcGVybXV0YXRpb24uCit6ZWJyYTo6CisJQmxvY2tzIG9mIG1vdmVkIHRleHQgb2YgYXQgbGVhc3QgMjAgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMKKwlhcmUgZGV0ZWN0ZWQgZ3JlZWRpbHkuIFRoZSBkZXRlY3RlZCBibG9ja3MgYXJlCisJcGFpbnRlZCB1c2luZyBlaXRoZXIgdGhlICdjb2xvci5kaWZmLntvbGQsbmV3fU1vdmVkJyBjb2xvciBvcgorCSdjb2xvci5kaWZmLntvbGQsbmV3fU1vdmVkQWx0ZXJuYXRpdmUnLiBUaGUgY2hhbmdlIGJldHdlZW4KKwl0aGUgdHdvIGNvbG9ycyBpbmRpY2F0ZXMgdGhhdCBhIG5ldyBibG9jayB3YXMgZGV0ZWN0ZWQuCitkaW1tZWRfemVicmE6OgorCVNpbWlsYXIgdG8gJ3plYnJhJywgYnV0IGFkZGl0aW9uYWwgZGltbWluZyBvZiB1bmludGVyZXN0aW5nIHBhcnRzCisJb2YgbW92ZWQgY29kZSBpcyBwZXJmb3JtZWQuIFRoZSBib3JkZXJpbmcgbGluZXMgb2YgdHdvIGFkamFjZW50CisJYmxvY2tzIGFyZSBjb25zaWRlcmVkIGludGVyZXN0aW5nLCB0aGUgcmVzdCBpcyB1bmludGVyZXN0aW5nLgorLS0KKwogLS13b3JkLWRpZmZbPTxtb2RlPl06OgogCVNob3cgYSB3b3JkIGRpZmYsIHVzaW5nIHRoZSA8bW9kZT4gdG8gZGVsaW1pdCBjaGFuZ2VkIHdvcmRzLgogCUJ5IGRlZmF1bHQsIHdvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgd2hpdGVzcGFjZTsgc2VlCkBAIC0zMDEsMTUgKzMzNCwxNCBAQAogCXdpdGggLS1leGl0LWNvZGUuCiAKIC0td3MtZXJyb3ItaGlnaGxpZ2h0PTxraW5kPjo6Ci0JSGlnaGxpZ2h0IHdoaXRlc3BhY2UgZXJyb3JzIG9uIGxpbmVzIHNwZWNpZmllZCBieSA8a2luZD4KLQlpbiB0aGUgY29sb3Igc3BlY2lmaWVkIGJ5IGBjb2xvci5kaWZmLndoaXRlc3BhY2VgLiAgPGtpbmQ+Ci0JaXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBgb2xkYCwgYG5ld2AsIGBjb250ZXh0YC4gIFdoZW4KLQl0aGlzIG9wdGlvbiBpcyBub3QgZ2l2ZW4sIG9ubHkgd2hpdGVzcGFjZSBlcnJvcnMgaW4gYG5ld2AKLQlsaW5lcyBhcmUgaGlnaGxpZ2h0ZWQuICBFLmcuIGAtLXdzLWVycm9yLWhpZ2hsaWdodD1uZXcsb2xkYAotCWhpZ2hsaWdodHMgd2hpdGVzcGFjZSBlcnJvcnMgb24gYm90aCBkZWxldGVkIGFuZCBhZGRlZCBsaW5lcy4KLQlgYWxsYCBjYW4gYmUgdXNlZCBhcyBhIHNob3J0LWhhbmQgZm9yIGBvbGQsbmV3LGNvbnRleHRgLgotCVRoZSBgZGlmZi53c0Vycm9ySGlnaGxpZ2h0YCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGNhbiBiZQotCXVzZWQgdG8gc3BlY2lmeSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIuCisJSGlnaGxpZ2h0IHdoaXRlc3BhY2UgZXJyb3JzIGluIHRoZSBgY29udGV4dGAsIGBvbGRgIG9yIGBuZXdgCisJbGluZXMgb2YgdGhlIGRpZmYuICBNdWx0aXBsZSB2YWx1ZXMgYXJlIHNlcGFyYXRlZCBieSBjb21tYSwKKwlgbm9uZWAgcmVzZXRzIHByZXZpb3VzIHZhbHVlcywgYGRlZmF1bHRgIHJlc2V0IHRoZSBsaXN0IHRvCisJYG5ld2AgYW5kIGBhbGxgIGlzIGEgc2hvcnRoYW5kIGZvciBgb2xkLG5ldyxjb250ZXh0YC4gIFdoZW4KKwl0aGlzIG9wdGlvbiBpcyBub3QgZ2l2ZW4sIGFuZCB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZQorCWBkaWZmLndzRXJyb3JIaWdobGlnaHRgIGlzIG5vdCBzZXQsIG9ubHkgd2hpdGVzcGFjZSBlcnJvcnMgaW4KKwlgbmV3YCBsaW5lcyBhcmUgaGlnaGxpZ2h0ZWQuIFRoZSB3aGl0ZXNwYWNlIGVycm9ycyBhcmUgY29sb3JlZAorCXdoaXRoIGBjb2xvci5kaWZmLndoaXRlc3BhY2VgLgogCiBlbmRpZjo6Z2l0LWZvcm1hdC1wYXRjaFtdCiAKQEAgLTM5Myw3ICs0MjUsNyBAQAogCXRoZSBkaWZmIGJldHdlZW4gdGhlIHByZWltYWdlIGFuZCBgL2Rldi9udWxsYC4gVGhlIHJlc3VsdGluZyBwYXRjaAogCWlzIG5vdCBtZWFudCB0byBiZSBhcHBsaWVkIHdpdGggYHBhdGNoYCBvciBgZ2l0IGFwcGx5YDsgdGhpcyBpcwogCXNvbGVseSBmb3IgcGVvcGxlIHdobyB3YW50IHRvIGp1c3QgY29uY2VudHJhdGUgb24gcmV2aWV3aW5nIHRoZQotCXRleHQgYWZ0ZXIgdGhlIGNoYW5nZS4gSW4gYWRkaXRpb24sIHRoZSBvdXRwdXQgb2J2aW91c2x5IGxhY2sKKwl0ZXh0IGFmdGVyIHRoZSBjaGFuZ2UuIEluIGFkZGl0aW9uLCB0aGUgb3V0cHV0IG9idmlvdXNseSBsYWNrcwogCWVub3VnaCBpbmZvcm1hdGlvbiB0byBhcHBseSBzdWNoIGEgcGF0Y2ggaW4gcmV2ZXJzZSwgZXZlbiBtYW51YWxseSwKIAloZW5jZSB0aGUgbmFtZSBvZiB0aGUgb3B0aW9uLgogKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtYWRkLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWFkZC50eHQKaW5kZXggN2VkNjNkYy4uYjcwMGJlYSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYWRkLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1hZGQudHh0CkBAIC02MSw2ICs2MSw5IEBACiAJdGhlIHdvcmtpbmcgdHJlZS4gIE5vdGUgdGhhdCBvbGRlciB2ZXJzaW9ucyBvZiBHaXQgdXNlZAogCXRvIGlnbm9yZSByZW1vdmVkIGZpbGVzOyB1c2UgYC0tbm8tYWxsYCBvcHRpb24gaWYgeW91IHdhbnQKIAl0byBhZGQgbW9kaWZpZWQgb3IgbmV3IGZpbGVzIGJ1dCBpZ25vcmUgcmVtb3ZlZAlvbmVzLgorKworRm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgPHBhdGhzcGVjPiBzeW50YXgsIHNlZSB0aGUgJ3BhdGhzcGVjJyBlbnRyeQoraW4gbGlua2dpdDpnaXRnbG9zc2FyeVs3XS4KIAogLW46OgogLS1kcnktcnVuOjoKQEAgLTE2NSw2ICsxNjgsMTMgQEAKIAliZSBpZ25vcmVkLCBubyBtYXR0ZXIgaWYgdGhleSBhcmUgYWxyZWFkeSBwcmVzZW50IGluIHRoZSB3b3JrCiAJdHJlZSBvciBub3QuCiAKKy0tbm8td2Fybi1lbWJlZGRlZC1yZXBvOjoKKwlCeSBkZWZhdWx0LCBgZ2l0IGFkZGAgd2lsbCB3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkCisJcmVwb3NpdG9yeSB0byB0aGUgaW5kZXggd2l0aG91dCB1c2luZyBgZ2l0IHN1Ym1vZHVsZSBhZGRgIHRvCisJY3JlYXRlIGFuIGVudHJ5IGluIGAuZ2l0bW9kdWxlc2AuIFRoaXMgb3B0aW9uIHdpbGwgc3VwcHJlc3MgdGhlCisJd2FybmluZyAoZS5nLiwgaWYgeW91IGFyZSBtYW51YWxseSBwZXJmb3JtaW5nIG9wZXJhdGlvbnMgb24KKwlzdWJtb2R1bGVzKS4KKwogLS1jaG1vZD0oK3wtKXg6OgogCU92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgYWRkZWQgZmlsZXMuICBUaGUgZXhlY3V0YWJsZQogCWJpdCBpcyBvbmx5IGNoYW5nZWQgaW4gdGhlIGluZGV4LCB0aGUgZmlsZXMgb24gZGlzayBhcmUgbGVmdApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtYXBwbHkudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtYXBwbHkudHh0CmluZGV4IDhkZGIyMDcuLjRlYmMzZDMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWFwcGx5LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1hcHBseS50eHQKQEAgLTY2LDcgKzY2LDcgQEAKIAlkaXNhYmxlcyBpdCBpcyBpbiBlZmZlY3QpLCBtYWtlIHN1cmUgdGhlIHBhdGNoIGlzCiAJYXBwbGljYWJsZSB0byB3aGF0IHRoZSBjdXJyZW50IGluZGV4IGZpbGUgcmVjb3Jkcy4gIElmCiAJdGhlIGZpbGUgdG8gYmUgcGF0Y2hlZCBpbiB0aGUgd29ya2luZyB0cmVlIGlzIG5vdAotCXVwLXRvLWRhdGUsIGl0IGlzIGZsYWdnZWQgYXMgYW4gZXJyb3IuICBUaGlzIGZsYWcgYWxzbworCXVwIHRvIGRhdGUsIGl0IGlzIGZsYWdnZWQgYXMgYW4gZXJyb3IuICBUaGlzIGZsYWcgYWxzbwogCWNhdXNlcyB0aGUgaW5kZXggZmlsZSB0byBiZSB1cGRhdGVkLgogCiAtLWNhY2hlZDo6CkBAIC0xMDgsMTAgKzEwOCw5IEBACiAJV2hlbiBgLS1udW1zdGF0YCBoYXMgYmVlbiBnaXZlbiwgZG8gbm90IG11bmdlIHBhdGhuYW1lcywKIAlidXQgdXNlIGEgTlVMLXRlcm1pbmF0ZWQgbWFjaGluZS1yZWFkYWJsZSBmb3JtYXQuCiArCi1XaXRob3V0IHRoaXMgb3B0aW9uLCBlYWNoIHBhdGhuYW1lIG91dHB1dCB3aWxsIGhhdmUgVEFCLCBMRiwgZG91YmxlIHF1b3RlcywKLWFuZCBiYWNrc2xhc2ggY2hhcmFjdGVycyByZXBsYWNlZCB3aXRoIGBcdGAsIGBcbmAsIGBcImAsIGFuZCBgXFxgLAotcmVzcGVjdGl2ZWx5LCBhbmQgdGhlIHBhdGhuYW1lIHdpbGwgYmUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcyBpZgotYW55IG9mIHRob3NlIHJlcGxhY2VtZW50cyBvY2N1cnJlZC4KK1dpdGhvdXQgdGhpcyBvcHRpb24sIHBhdGhuYW1lcyB3aXRoICJ1bnVzdWFsIiBjaGFyYWN0ZXJzIGFyZSBxdW90ZWQgYXMKK2V4cGxhaW5lZCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGNvcmUucXVvdGVQYXRoYCAoc2VlCitsaW5rZ2l0OmdpdC1jb25maWdbMV0pLgogCiAtcDxuPjo6CiAJUmVtb3ZlIDxuPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzLiBUaGUKQEAgLTI2MCw3ICsyNTksNyBAQAogSWYgYC0taW5kZXhgIGlzIHNwZWNpZmllZCAoZXhwbGljaXRseSBvciBpbXBsaWNpdGx5KSwgdGhlbiB0aGUgc3VibW9kdWxlCiBjb21taXRzIG11c3QgbWF0Y2ggdGhlIGluZGV4IGV4YWN0bHkgZm9yIHRoZSBwYXRjaCB0byBhcHBseS4gIElmIGFueQogb2YgdGhlIHN1Ym1vZHVsZXMgYXJlIGNoZWNrZWQtb3V0LCB0aGVuIHRoZXNlIGNoZWNrLW91dHMgYXJlIGNvbXBsZXRlbHkKLWlnbm9yZWQsIGkuZS4sIHRoZXkgYXJlIG5vdCByZXF1aXJlZCB0byBiZSB1cC10by1kYXRlIG9yIGNsZWFuIGFuZCB0aGV5CitpZ25vcmVkLCBpLmUuLCB0aGV5IGFyZSBub3QgcmVxdWlyZWQgdG8gYmUgdXAgdG8gZGF0ZSBvciBjbGVhbiBhbmQgdGhleQogYXJlIG5vdCB1cGRhdGVkLgogCiBJZiBgLS1pbmRleGAgaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0aGUgc3VibW9kdWxlIGNvbW1pdHMgaW4gdGhlIHBhdGNoCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1hcmNoaW1wb3J0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWFyY2hpbXBvcnQudHh0CmluZGV4IDE2M2I5ZjYuLmVhNzA2NTMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWFyY2hpbXBvcnQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWFyY2hpbXBvcnQudHh0CkBAIC05Niw3ICs5Niw3IEBACiAJcHJ1bmVkLgogCiAtYTo6Ci0JQXR0ZW1wdCB0byBhdXRvLXJlZ2lzdGVyIGFyY2hpdmVzIGF0IGh0dHA6Ly9taXJyb3JzLnNvdXJjZWNvbnRyb2wubmV0CisJQXR0ZW1wdCB0byBhdXRvLXJlZ2lzdGVyIGFyY2hpdmVzIGF0IGBodHRwOi8vbWlycm9ycy5zb3VyY2Vjb250cm9sLm5ldGAKIAlUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgd2l0aCB0aGUgLUQgb3B0aW9uLgogCiAtdCA8dG1wZGlyPjo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1iaXNlY3QtbGsyMDA5LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC1sazIwMDkudHh0CmluZGV4IGUwMTVmNWIuLjc4NDc5YjAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC1sazIwMDkudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC1sazIwMDkudHh0CkBAIC0xMzQ3LDEyICsxMzQ3LDEyIEBACiBSZWZlcmVuY2VzCiAtLS0tLS0tLS0tCiAKLS0gW1tbMV1dXSBodHRwOi8vd3d3Lm5pc3QuZ292L3B1YmxpY19hZmZhaXJzL3JlbGVhc2VzL24wMi0xMC5odG1bJ1NvZnR3YXJlIEVycm9ycyBDb3N0IFUuUy4gRWNvbm9teSAkNTkuNSBCaWxsaW9uIEFubnVhbGx5Jy4gTmlzdCBOZXdzIFJlbGVhc2UuXQotLSBbW1syXV1dIGh0dHA6Ly9qYXZhLnN1bi5jb20vZG9jcy9jb2RlY29udi9odG1sL0NvZGVDb252ZW50aW9ucy5kb2MuaHRtbCMxNjcxMlsnQ29kZSBDb252ZW50aW9ucyBmb3IgdGhlIEphdmEgUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UnLiBTdW4gTWljcm9zeXN0ZW1zLl0KLS0gW1tbM11dXSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NvZnR3YXJlX21haW50ZW5hbmNlWydTb2Z0d2FyZSBtYWludGVuYW5jZScuIFdpa2lwZWRpYS5dCi0tIFtbWzRdXV0gaHR0cDovL2FydGljbGUuZ21hbmUub3JnL2dtYW5lLmNvbXAudmVyc2lvbi1jb250cm9sLmdpdC80NTE5NS9bSnVuaW8gQyBIYW1hbm8uICdBdXRvbWF0ZWQgYmlzZWN0IHN1Y2Nlc3Mgc3RvcnknLiBHbWFuZS5dCi0tIFtbWzVdXV0gaHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMzE3MTU0L1tDaHJpc3RpYW4gQ291ZGVyLiAnRnVsbHkgYXV0b21hdGVkIGJpc2VjdGluZyB3aXRoICJnaXQgYmlzZWN0IHJ1biInLiBMV04ubmV0Ll0KLS0gW1tbNl1dXSBodHRwOi8vbHduLm5ldC9BcnRpY2xlcy8yNzc4NzIvW0pvbmF0aGFuIENvcmJldC4gJ0Jpc2VjdGlvbiBkaXZpZGVzIHVzZXJzIGFuZCBkZXZlbG9wZXJzJy4gTFdOLm5ldC5dCi0tIFtbWzddXV0gaHR0cDovL2FydGljbGUuZ21hbmUub3JnL2dtYW5lLmxpbnV4LnNjc2kvMzY2NTIvW0luZ28gTW9sbmFyLiAnUmU6IEJVRyAyLjYuMjMtcmMzIGNhbid0IHNlZSBzZCBwYXJ0aXRpb25zIG9uIEFscGhhJy4gR21hbmUuXQotLSBbW1s4XV1dIGh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvc2NtL2dpdC9kb2NzL2dpdC1iaXNlY3QuaHRtbFtKdW5pbyBDIEhhbWFubyBhbmQgdGhlIGdpdC1saXN0LiAnZ2l0LWJpc2VjdCgxKSBNYW51YWwgUGFnZScuIExpbnV4IEtlcm5lbCBBcmNoaXZlcy5dCi0tIFtbWzldXV0gaHR0cDovL2dpdGh1Yi5jb20vRWFsZHd1bGYvYmJjaG9wW0VhbGR3dWxmLiAnYmJjaG9wJy4gR2l0SHViLl0KKy0gW1tbMV1dXSBodHRwczovL3d3dy5uaXN0Lmdvdi9zaXRlcy9kZWZhdWx0L2ZpbGVzL2RvY3VtZW50cy9kaXJlY3Rvci9wbGFubmluZy9yZXBvcnQwMi0zLnBkZlsnVGhlIEVjb25vbWljIEltcGFjdHMgb2YgSW5hZGVxdWF0ZSBJbmZyYXRydWN0dXJlIGZvciBTb2Z0d2FyZSBUZXN0aW5nJy4gIE5pc3QgUGxhbm5pbmcgUmVwb3J0IDAyLTNdLCBzZWUgRXhlY3V0aXZlIFN1bW1hcnkgYW5kIENoYXB0ZXIgOC4KKy0gW1tbMl1dXSBodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5ldHdvcmsvamF2YS9jb2RlY29udnRvYy0xMzYwNTcuaHRtbFsnQ29kZSBDb252ZW50aW9ucyBmb3IgdGhlIEphdmEgUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UnLiBTdW4gTWljcm9zeXN0ZW1zLl0KKy0gW1tbM11dXSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Tb2Z0d2FyZV9tYWludGVuYW5jZVsnU29mdHdhcmUgbWFpbnRlbmFuY2UnLiBXaWtpcGVkaWEuXQorLSBbW1s0XV1dIGh0dHBzOi8vcHVibGljLWluYm94Lm9yZy9naXQvN3ZwczV4c2J3cC5mc2ZfLV9AYXNzaWduZWQtYnktZGhjcC5jb3gubmV0L1tKdW5pbyBDIEhhbWFuby4gJ0F1dG9tYXRlZCBiaXNlY3Qgc3VjY2VzcyBzdG9yeScuXQorLSBbW1s1XV1dIGh0dHBzOi8vbHduLm5ldC9BcnRpY2xlcy8zMTcxNTQvW0NocmlzdGlhbiBDb3VkZXIuICdGdWxseSBhdXRvbWF0ZWQgYmlzZWN0aW5nIHdpdGggImdpdCBiaXNlY3QgcnVuIicuIExXTi5uZXQuXQorLSBbW1s2XV1dIGh0dHBzOi8vbHduLm5ldC9BcnRpY2xlcy8yNzc4NzIvW0pvbmF0aGFuIENvcmJldC4gJ0Jpc2VjdGlvbiBkaXZpZGVzIHVzZXJzIGFuZCBkZXZlbG9wZXJzJy4gTFdOLm5ldC5dCistIFtbWzddXV0gaHR0cDovL21hcmMuaW5mby8/bD1saW51eC1rZXJuZWwmbT0xMTk3MDI3NTM0MTE2ODAmdz0yW0luZ28gTW9sbmFyLiAnUmU6IEJVRyAyLjYuMjMtcmMzIGNhbid0IHNlZSBzZCBwYXJ0aXRpb25zIG9uIEFscGhhJy4gTGludXgta2VybmVsIG1haWxpbmcgbGlzdC5dCistIFtbWzhdXV0gaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvc2NtL2dpdC9kb2NzL2dpdC1iaXNlY3QuaHRtbFtKdW5pbyBDIEhhbWFubyBhbmQgdGhlIGdpdC1saXN0LiAnZ2l0LWJpc2VjdCgxKSBNYW51YWwgUGFnZScuIExpbnV4IEtlcm5lbCBBcmNoaXZlcy5dCistIFtbWzldXV0gaHR0cHM6Ly9naXRodWIuY29tL0VhbGR3dWxmL2JiY2hvcFtFYWxkd3VsZi4gJ2JiY2hvcCcuIEdpdEh1Yi5dCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1iaXNlY3QudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtYmlzZWN0LnR4dAppbmRleCBiZGQ5MTVhLi42YzQyYWJmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1iaXNlY3QudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC50eHQKQEAgLTEzNyw3ICsxMzcsNyBAQAogbWl4ICJnb29kIiBhbmQgImJhZCIgd2l0aCAib2xkIiBhbmQgIm5ldyIgaW4gYSBzaW5nbGUgc2Vzc2lvbi4pCiAKIEluIHRoaXMgbW9yZSBnZW5lcmFsIHVzYWdlLCB5b3UgcHJvdmlkZSBgZ2l0IGJpc2VjdGAgd2l0aCBhICJuZXciCi1jb21taXQgaGFzIHNvbWUgcHJvcGVydHkgYW5kIGFuICJvbGQiIGNvbW1pdCB0aGF0IGRvZXNuJ3QgaGF2ZSB0aGF0Citjb21taXQgdGhhdCBoYXMgc29tZSBwcm9wZXJ0eSBhbmQgYW4gIm9sZCIgY29tbWl0IHRoYXQgZG9lc24ndCBoYXZlIHRoYXQKIHByb3BlcnR5LiBFYWNoIHRpbWUgYGdpdCBiaXNlY3RgIGNoZWNrcyBvdXQgYSBjb21taXQsIHlvdSB0ZXN0IGlmIHRoYXQKIGNvbW1pdCBoYXMgdGhlIHByb3BlcnR5LiBJZiBpdCBkb2VzLCBtYXJrIHRoZSBjb21taXQgYXMgIm5ldyI7CiBvdGhlcndpc2UsIG1hcmsgaXQgYXMgIm9sZCIuIFdoZW4gdGhlIGJpc2VjdGlvbiBpcyBkb25lLCBgZ2l0IGJpc2VjdGAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWJyYW5jaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1icmFuY2gudHh0CmluZGV4IDI4ZDQ2Y2MuLmZlMDI5YWMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWJyYW5jaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtYnJhbmNoLnR4dApAQCAtMTAsMTMgKzEwLDE1IEBACiBbdmVyc2VdCiAnZ2l0IGJyYW5jaCcgWy0tY29sb3JbPTx3aGVuPl0gfCAtLW5vLWNvbG9yXSBbLXIgfCAtYV0KIAlbLS1saXN0XSBbLXYgWy0tYWJicmV2PTxsZW5ndGg+IHwgLS1uby1hYmJyZXZdXQotCVstLWNvbHVtbls9PG9wdGlvbnM+XSB8IC0tbm8tY29sdW1uXQotCVsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCB8IC0tY29udGFpbnMpIFs8Y29tbWl0Pl1dIFstLXNvcnQ9PGtleT5dCi0JWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSBbPHBhdHRlcm4+Li4uXQorCVstLWNvbHVtbls9PG9wdGlvbnM+XSB8IC0tbm8tY29sdW1uXSBbLS1zb3J0PTxrZXk+XQorCVsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0KKwlbLS1jb250YWlucyBbPGNvbW1pdF1dIFstLW5vLWNvbnRhaW5zIFs8Y29tbWl0Pl1dCisJWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFs8cGF0dGVybj4uLi5dCiAnZ2l0IGJyYW5jaCcgWy0tc2V0LXVwc3RyZWFtIHwgLS10cmFjayB8IC0tbm8tdHJhY2tdIFstbF0gWy1mXSA8YnJhbmNobmFtZT4gWzxzdGFydC1wb2ludD5dCiAnZ2l0IGJyYW5jaCcgKC0tc2V0LXVwc3RyZWFtLXRvPTx1cHN0cmVhbT4gfCAtdSA8dXBzdHJlYW0+KSBbPGJyYW5jaG5hbWU+XQogJ2dpdCBicmFuY2gnIC0tdW5zZXQtdXBzdHJlYW0gWzxicmFuY2huYW1lPl0KICdnaXQgYnJhbmNoJyAoLW0gfCAtTSkgWzxvbGRicmFuY2g+XSA8bmV3YnJhbmNoPgorJ2dpdCBicmFuY2gnICgtYyB8IC1DKSBbPG9sZGJyYW5jaD5dIDxuZXdicmFuY2g+CiAnZ2l0IGJyYW5jaCcgKC1kIHwgLUQpIFstcl0gPGJyYW5jaG5hbWU+Li4uCiAnZ2l0IGJyYW5jaCcgLS1lZGl0LWRlc2NyaXB0aW9uIFs8YnJhbmNobmFtZT5dCiAKQEAgLTM1LDExICszNywxMiBAQAogCiBXaXRoIGAtLWNvbnRhaW5zYCwgc2hvd3Mgb25seSB0aGUgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBuYW1lZCBjb21taXQKIChpbiBvdGhlciB3b3JkcywgdGhlIGJyYW5jaGVzIHdob3NlIHRpcCBjb21taXRzIGFyZSBkZXNjZW5kYW50cyBvZiB0aGUKLW5hbWVkIGNvbW1pdCkuICBXaXRoIGAtLW1lcmdlZGAsIG9ubHkgYnJhbmNoZXMgbWVyZ2VkIGludG8gdGhlIG5hbWVkCi1jb21taXQgKGkuZS4gdGhlIGJyYW5jaGVzIHdob3NlIHRpcCBjb21taXRzIGFyZSByZWFjaGFibGUgZnJvbSB0aGUgbmFtZWQKLWNvbW1pdCkgd2lsbCBiZSBsaXN0ZWQuICBXaXRoIGAtLW5vLW1lcmdlZGAgb25seSBicmFuY2hlcyBub3QgbWVyZ2VkIGludG8KLXRoZSBuYW1lZCBjb21taXQgd2lsbCBiZSBsaXN0ZWQuICBJZiB0aGUgPGNvbW1pdD4gYXJndW1lbnQgaXMgbWlzc2luZyBpdAotZGVmYXVsdHMgdG8gYEhFQURgIChpLmUuIHRoZSB0aXAgb2YgdGhlIGN1cnJlbnQgYnJhbmNoKS4KK25hbWVkIGNvbW1pdCksIGAtLW5vLWNvbnRhaW5zYCBpbnZlcnRzIGl0LiBXaXRoIGAtLW1lcmdlZGAsIG9ubHkgYnJhbmNoZXMKK21lcmdlZCBpbnRvIHRoZSBuYW1lZCBjb21taXQgKGkuZS4gdGhlIGJyYW5jaGVzIHdob3NlIHRpcCBjb21taXRzIGFyZQorcmVhY2hhYmxlIGZyb20gdGhlIG5hbWVkIGNvbW1pdCkgd2lsbCBiZSBsaXN0ZWQuICBXaXRoIGAtLW5vLW1lcmdlZGAgb25seQorYnJhbmNoZXMgbm90IG1lcmdlZCBpbnRvIHRoZSBuYW1lZCBjb21taXQgd2lsbCBiZSBsaXN0ZWQuICBJZiB0aGUgPGNvbW1pdD4KK2FyZ3VtZW50IGlzIG1pc3NpbmcgaXQgZGVmYXVsdHMgdG8gYEhFQURgIChpLmUuIHRoZSB0aXAgb2YgdGhlIGN1cnJlbnQKK2JyYW5jaCkuCiAKIFRoZSBjb21tYW5kJ3Mgc2Vjb25kIGZvcm0gY3JlYXRlcyBhIG5ldyBicmFuY2ggaGVhZCBuYW1lZCA8YnJhbmNobmFtZT4KIHdoaWNoIHBvaW50cyB0byB0aGUgY3VycmVudCBgSEVBRGAsIG9yIDxzdGFydC1wb2ludD4gaWYgZ2l2ZW4uCkBAIC02Miw2ICs2NSwxMCBAQAogcmVuYW1pbmcuIElmIDxuZXdicmFuY2g+IGV4aXN0cywgLU0gbXVzdCBiZSB1c2VkIHRvIGZvcmNlIHRoZSByZW5hbWUKIHRvIGhhcHBlbi4KIAorVGhlIGAtY2AgYW5kIGAtQ2Agb3B0aW9ucyBoYXZlIHRoZSBleGFjdCBzYW1lIHNlbWFudGljcyBhcyBgLW1gIGFuZAorYC1NYCwgZXhjZXB0IGluc3RlYWQgb2YgdGhlIGJyYW5jaCBiZWluZyByZW5hbWVkIGl0IGFsb25nIHdpdGggaXRzCitjb25maWcgYW5kIHJlZmxvZyB3aWxsIGJlIGNvcGllZCB0byBhIG5ldyBuYW1lLgorCiBXaXRoIGEgYC1kYCBvciBgLURgIG9wdGlvbiwgYDxicmFuY2huYW1lPmAgd2lsbCBiZSBkZWxldGVkLiAgWW91IG1heQogc3BlY2lmeSBtb3JlIHRoYW4gb25lIGJyYW5jaCBmb3IgZGVsZXRpb24uICBJZiB0aGUgYnJhbmNoIGN1cnJlbnRseQogaGFzIGEgcmVmbG9nIHRoZW4gdGhlIHJlZmxvZyB3aWxsIGFsc28gYmUgZGVsZXRlZC4KQEAgLTkwLDEwICs5NywxMCBAQAogCWFsbCBjaGFuZ2VzIG1hZGUgdG8gdGhlIGJyYW5jaCByZWYsIGVuYWJsaW5nIHVzZSBvZiBkYXRlCiAJYmFzZWQgc2hhMSBleHByZXNzaW9ucyBzdWNoIGFzICI8YnJhbmNobmFtZT5AXHt5ZXN0ZXJkYXl9Ii4KIAlOb3RlIHRoYXQgaW4gbm9uLWJhcmUgcmVwb3NpdG9yaWVzLCByZWZsb2dzIGFyZSB1c3VhbGx5Ci0JZW5hYmxlZCBieSBkZWZhdWx0IGJ5IHRoZSBgY29yZS5sb2dhbGxyZWZ1cGRhdGVzYCBjb25maWcgb3B0aW9uLgorCWVuYWJsZWQgYnkgZGVmYXVsdCBieSB0aGUgYGNvcmUubG9nQWxsUmVmVXBkYXRlc2AgY29uZmlnIG9wdGlvbi4KIAlUaGUgbmVnYXRlZCBmb3JtIGAtLW5vLWNyZWF0ZS1yZWZsb2dgIG9ubHkgb3ZlcnJpZGVzIGFuIGVhcmxpZXIKIAlgLS1jcmVhdGUtcmVmbG9nYCwgYnV0IGN1cnJlbnRseSBkb2VzIG5vdCBuZWdhdGUgdGhlIHNldHRpbmcgb2YKLQlgY29yZS5sb2dhbGxyZWZ1cGRhdGVzYC4KKwlgY29yZS5sb2dBbGxSZWZVcGRhdGVzYC4KIAogLWY6OgogLS1mb3JjZTo6CkBAIC0xMDIsNyArMTA5LDcgQEAKIAlJbiBjb21iaW5hdGlvbiB3aXRoIGAtZGAgKG9yIGAtLWRlbGV0ZWApLCBhbGxvdyBkZWxldGluZyB0aGUKIAlicmFuY2ggaXJyZXNwZWN0aXZlIG9mIGl0cyBtZXJnZWQgc3RhdHVzLiBJbiBjb21iaW5hdGlvbiB3aXRoCiAJYC1tYCAob3IgYC0tbW92ZWApLCBhbGxvdyByZW5hbWluZyB0aGUgYnJhbmNoIGV2ZW4gaWYgdGhlIG5ldwotCWJyYW5jaCBuYW1lIGFscmVhZHkgZXhpc3RzLgorCWJyYW5jaCBuYW1lIGFscmVhZHkgZXhpc3RzLCB0aGUgc2FtZSBhcHBsaWVzIGZvciBgLWNgIChvciBgLS1jb3B5YCkuCiAKIC1tOjoKIC0tbW92ZTo6CkBAIC0xMTEsNiArMTE4LDEzIEBACiAtTTo6CiAJU2hvcnRjdXQgZm9yIGAtLW1vdmUgLS1mb3JjZWAuCiAKKy1jOjoKKy0tY29weTo6CisJQ29weSBhIGJyYW5jaCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgcmVmbG9nLgorCistQzo6CisJU2hvcnRjdXQgZm9yIGAtLWNvcHkgLS1mb3JjZWAuCisKIC0tY29sb3JbPTx3aGVuPl06OgogCUNvbG9yIGJyYW5jaGVzIHRvIGhpZ2hsaWdodCBjdXJyZW50LCBsb2NhbCwgYW5kCiAJcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzLgpAQCAtMTQyLDggKzE1NiwxMyBAQAogCUxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgYW5kIGxvY2FsIGJyYW5jaGVzLgogCiAtLWxpc3Q6OgotCUFjdGl2YXRlIHRoZSBsaXN0IG1vZGUuIGBnaXQgYnJhbmNoIDxwYXR0ZXJuPmAgd291bGQgdHJ5IHRvIGNyZWF0ZSBhIGJyYW5jaCwKLQl1c2UgYGdpdCBicmFuY2ggLS1saXN0IDxwYXR0ZXJuPmAgdG8gbGlzdCBtYXRjaGluZyBicmFuY2hlcy4KKwlMaXN0IGJyYW5jaGVzLiAgV2l0aCBvcHRpb25hbCBgPHBhdHRlcm4+Li4uYCwgZS5nLiBgZ2l0CisJYnJhbmNoIC0tbGlzdCAnbWFpbnQtKidgLCBsaXN0IG9ubHkgdGhlIGJyYW5jaGVzIHRoYXQgbWF0Y2gKKwl0aGUgcGF0dGVybihzKS4KKysKK1RoaXMgc2hvdWxkIG5vdCBiZSBjb25mdXNlZCB3aXRoIGBnaXQgYnJhbmNoIC1sIDxicmFuY2huYW1lPmAsCit3aGljaCBjcmVhdGVzIGEgYnJhbmNoIG5hbWVkIGA8YnJhbmNobmFtZT5gIHdpdGggYSByZWZsb2cuCitTZWUgYC0tY3JlYXRlLXJlZmxvZ2AgYWJvdmUgZm9yIGRldGFpbHMuCiAKIC12OjoKIC12djo6CkBAIC0xODgsMTAgKzIwNyw4IEBACiAJYnJhbmNoLmF1dG9TZXR1cE1lcmdlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgaXMgdHJ1ZS4KIAogLS1zZXQtdXBzdHJlYW06OgotCUlmIHNwZWNpZmllZCBicmFuY2ggZG9lcyBub3QgZXhpc3QgeWV0IG9yIGlmIGAtLWZvcmNlYCBoYXMgYmVlbgotCWdpdmVuLCBhY3RzIGV4YWN0bHkgbGlrZSBgLS10cmFja2AuIE90aGVyd2lzZSBzZXRzIHVwIGNvbmZpZ3VyYXRpb24KLQlsaWtlIGAtLXRyYWNrYCB3b3VsZCB3aGVuIGNyZWF0aW5nIHRoZSBicmFuY2gsIGV4Y2VwdCB0aGF0IHdoZXJlCi0JYnJhbmNoIHBvaW50cyB0byBpcyBub3QgY2hhbmdlZC4KKwlBcyB0aGlzIG9wdGlvbiBoYWQgY29uZnVzaW5nIHN5bnRheCwgaXQgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKwlQbGVhc2UgdXNlIGAtLXRyYWNrYCBvciBgLS1zZXQtdXBzdHJlYW0tdG9gIGluc3RlYWQuCiAKIC11IDx1cHN0cmVhbT46OgogLS1zZXQtdXBzdHJlYW0tdG89PHVwc3RyZWFtPjo6CkBAIC0yMTMsMTMgKzIzMCwxOSBAQAogCU9ubHkgbGlzdCBicmFuY2hlcyB3aGljaCBjb250YWluIHRoZSBzcGVjaWZpZWQgY29tbWl0IChIRUFECiAJaWYgbm90IHNwZWNpZmllZCkuIEltcGxpZXMgYC0tbGlzdGAuCiAKKy0tbm8tY29udGFpbnMgWzxjb21taXQ+XTo6CisJT25seSBsaXN0IGJyYW5jaGVzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIHNwZWNpZmllZCBjb21taXQKKwkoSEVBRCBpZiBub3Qgc3BlY2lmaWVkKS4gSW1wbGllcyBgLS1saXN0YC4KKwogLS1tZXJnZWQgWzxjb21taXQ+XTo6CiAJT25seSBsaXN0IGJyYW5jaGVzIHdob3NlIHRpcHMgYXJlIHJlYWNoYWJsZSBmcm9tIHRoZQotCXNwZWNpZmllZCBjb21taXQgKEhFQUQgaWYgbm90IHNwZWNpZmllZCkuIEltcGxpZXMgYC0tbGlzdGAuCisJc3BlY2lmaWVkIGNvbW1pdCAoSEVBRCBpZiBub3Qgc3BlY2lmaWVkKS4gSW1wbGllcyBgLS1saXN0YCwKKwlpbmNvbXBhdGlibGUgd2l0aCBgLS1uby1tZXJnZWRgLgogCiAtLW5vLW1lcmdlZCBbPGNvbW1pdD5dOjoKIAlPbmx5IGxpc3QgYnJhbmNoZXMgd2hvc2UgdGlwcyBhcmUgbm90IHJlYWNoYWJsZSBmcm9tIHRoZQotCXNwZWNpZmllZCBjb21taXQgKEhFQUQgaWYgbm90IHNwZWNpZmllZCkuIEltcGxpZXMgYC0tbGlzdGAuCisJc3BlY2lmaWVkIGNvbW1pdCAoSEVBRCBpZiBub3Qgc3BlY2lmaWVkKS4gSW1wbGllcyBgLS1saXN0YCwKKwlpbmNvbXBhdGlibGUgd2l0aCBgLS1tZXJnZWRgLgogCiA8YnJhbmNobmFtZT46OgogCVRoZSBuYW1lIG9mIHRoZSBicmFuY2ggdG8gY3JlYXRlIG9yIGRlbGV0ZS4KQEAgLTI1Myw2ICsyNzYsMTEgQEAKIC0tcG9pbnRzLWF0IDxvYmplY3Q+OjoKIAlPbmx5IGxpc3QgYnJhbmNoZXMgb2YgdGhlIGdpdmVuIG9iamVjdC4KIAorLS1mb3JtYXQgPGZvcm1hdD46OgorCUEgc3RyaW5nIHRoYXQgaW50ZXJwb2xhdGVzIGAlKGZpZWxkbmFtZSlgIGZyb20gYSBicmFuY2ggcmVmIGJlaW5nIHNob3duCisJYW5kIHRoZSBvYmplY3QgaXQgcG9pbnRzIGF0LiAgVGhlIGZvcm1hdCBpcyB0aGUgc2FtZSBhcworCXRoYXQgb2YgbGlua2dpdDpnaXQtZm9yLWVhY2gtcmVmWzFdLgorCiBFeGFtcGxlcwogLS0tLS0tLS0KIApAQCAtMjkxLDEzICszMTksMTYgQEAKIGVhc2llciB0byB1c2UgdGhlIGdpdCBjaGVja291dCBjb21tYW5kIHdpdGggaXRzIGAtYmAgb3B0aW9uIHRvIGNyZWF0ZQogYSBicmFuY2ggYW5kIGNoZWNrIGl0IG91dCB3aXRoIGEgc2luZ2xlIGNvbW1hbmQuCiAKLVRoZSBvcHRpb25zIGAtLWNvbnRhaW5zYCwgYC0tbWVyZ2VkYCBhbmQgYC0tbm8tbWVyZ2VkYCBzZXJ2ZSB0aHJlZSByZWxhdGVkCi1idXQgZGlmZmVyZW50IHB1cnBvc2VzOgorVGhlIG9wdGlvbnMgYC0tY29udGFpbnNgLCBgLS1uby1jb250YWluc2AsIGAtLW1lcmdlZGAgYW5kIGAtLW5vLW1lcmdlZGAKK3NlcnZlIGZvdXIgcmVsYXRlZCBidXQgZGlmZmVyZW50IHB1cnBvc2VzOgogCiAtIGAtLWNvbnRhaW5zIDxjb21taXQ+YCBpcyB1c2VkIHRvIGZpbmQgYWxsIGJyYW5jaGVzIHdoaWNoIHdpbGwgbmVlZAogICBzcGVjaWFsIGF0dGVudGlvbiBpZiA8Y29tbWl0PiB3ZXJlIHRvIGJlIHJlYmFzZWQgb3IgYW1lbmRlZCwgc2luY2UgdGhvc2UKICAgYnJhbmNoZXMgY29udGFpbiB0aGUgc3BlY2lmaWVkIDxjb21taXQ+LgogCistIGAtLW5vLWNvbnRhaW5zIDxjb21taXQ+YCBpcyB0aGUgaW52ZXJzZSBvZiB0aGF0LCBpLmUuIGJyYW5jaGVzIHRoYXQgZG9uJ3QKKyAgY29udGFpbiB0aGUgc3BlY2lmaWVkIDxjb21taXQ+LgorCiAtIGAtLW1lcmdlZGAgaXMgdXNlZCB0byBmaW5kIGFsbCBicmFuY2hlcyB3aGljaCBjYW4gYmUgc2FmZWx5IGRlbGV0ZWQsCiAgIHNpbmNlIHRob3NlIGJyYW5jaGVzIGFyZSBmdWxseSBjb250YWluZWQgYnkgSEVBRC4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY2F0LWZpbGUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY2F0LWZpbGUudHh0CmluZGV4IDIwNDU0MWMuLmZiMDljZDYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNhdC1maWxlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jYXQtZmlsZS50eHQKQEAgLTE5Miw3ICsxOTIsNyBAQAogCVRoZSA0MC1oZXggb2JqZWN0IG5hbWUgb2YgdGhlIG9iamVjdC4KIAogYG9iamVjdHR5cGVgOjoKLQlUaGUgdHlwZSBvZiBvZiB0aGUgb2JqZWN0ICh0aGUgc2FtZSBhcyBgY2F0LWZpbGUgLXRgIHJlcG9ydHMpLgorCVRoZSB0eXBlIG9mIHRoZSBvYmplY3QgKHRoZSBzYW1lIGFzIGBjYXQtZmlsZSAtdGAgcmVwb3J0cykuCiAKIGBvYmplY3RzaXplYDo6CiAJVGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgb2JqZWN0ICh0aGUgc2FtZSBhcyBgY2F0LWZpbGUgLXNgCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVja291dC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVja291dC50eHQKaW5kZXggOGUyYzA2Ni4uYmQyNjhhOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2tvdXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrb3V0LnR4dApAQCAtMzgsNyArMzgsNyBAQAogLS0tLS0tLS0tLS0tCiArCiBZb3UgY291bGQgb21pdCA8YnJhbmNoPiwgaW4gd2hpY2ggY2FzZSB0aGUgY29tbWFuZCBkZWdlbmVyYXRlcyB0bwotImNoZWNrIG91dCB0aGUgY3VycmVudCBicmFuY2giLCB3aGljaCBpcyBhIGdsb3JpZmllZCBuby1vcCB3aXRoIGEKKyJjaGVjayBvdXQgdGhlIGN1cnJlbnQgYnJhbmNoIiwgd2hpY2ggaXMgYSBnbG9yaWZpZWQgbm8tb3Agd2l0aAogcmF0aGVyIGV4cGVuc2l2ZSBzaWRlLWVmZmVjdHMgdG8gc2hvdyBvbmx5IHRoZSB0cmFja2luZyBpbmZvcm1hdGlvbiwKIGlmIGV4aXN0cywgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4KIApAQCAtMjU2LDYgKzI1NiwxMyBAQAogCW91dCBhbnl3YXkuIEluIG90aGVyIHdvcmRzLCB0aGUgcmVmIGNhbiBiZSBoZWxkIGJ5IG1vcmUgdGhhbiBvbmUKIAl3b3JrdHJlZS4KIAorLS1bbm8tXXJlY3Vyc2Utc3VibW9kdWxlczo6CisJVXNpbmcgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgd2lsbCB1cGRhdGUgdGhlIGNvbnRlbnQgb2YgYWxsIGluaXRpYWxpemVkCisJc3VibW9kdWxlcyBhY2NvcmRpbmcgdG8gdGhlIGNvbW1pdCByZWNvcmRlZCBpbiB0aGUgc3VwZXJwcm9qZWN0LiBJZgorCWxvY2FsIG1vZGlmaWNhdGlvbnMgaW4gYSBzdWJtb2R1bGUgd291bGQgYmUgb3ZlcndyaXR0ZW4gdGhlIGNoZWNrb3V0CisJd2lsbCBmYWlsIHVubGVzcyBgLWZgIGlzIHVzZWQuIElmIG5vdGhpbmcgKG9yIC0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzKQorCWlzIHVzZWQsIHRoZSB3b3JrIHRyZWVzIG9mIHN1Ym1vZHVsZXMgd2lsbCBub3QgYmUgdXBkYXRlZC4KKwogPGJyYW5jaD46OgogCUJyYW5jaCB0byBjaGVja291dDsgaWYgaXQgcmVmZXJzIHRvIGEgYnJhbmNoIChpLmUuLCBhIG5hbWUgdGhhdCwKIAl3aGVuIHByZXBlbmRlZCB3aXRoICJyZWZzL2hlYWRzLyIsIGlzIGEgdmFsaWQgcmVmKSwgdGhlbiB0aGF0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jbG9uZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jbG9uZS50eHQKaW5kZXggMzVjYzM0Yi4uODNjOGU5YjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNsb25lLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jbG9uZS50eHQKQEAgLTEzLDggKzEzLDggQEAKIAkgIFstbF0gWy1zXSBbLS1uby1oYXJkbGlua3NdIFstcV0gWy1uXSBbLS1iYXJlXSBbLS1taXJyb3JdCiAJICBbLW8gPG5hbWU+XSBbLWIgPG5hbWU+XSBbLXUgPHVwbG9hZC1wYWNrPl0gWy0tcmVmZXJlbmNlIDxyZXBvc2l0b3J5Pl0KIAkgIFstLWRpc3NvY2lhdGVdIFstLXNlcGFyYXRlLWdpdC1kaXIgPGdpdCBkaXI+XQotCSAgWy0tZGVwdGggPGRlcHRoPl0gWy0tW25vLV1zaW5nbGUtYnJhbmNoXQotCSAgWy0tcmVjdXJzaXZlIHwgLS1yZWN1cnNlLXN1Ym1vZHVsZXNdIFstLVtuby1dc2hhbGxvdy1zdWJtb2R1bGVzXQorCSAgWy0tZGVwdGggPGRlcHRoPl0gWy0tW25vLV1zaW5nbGUtYnJhbmNoXSBbLS1uby10YWdzXQorCSAgWy0tcmVjdXJzZS1zdWJtb2R1bGVzXSBbLS1bbm8tXXNoYWxsb3ctc3VibW9kdWxlc10KIAkgIFstLWpvYnMgPG4+XSBbLS1dIDxyZXBvc2l0b3J5PiBbPGRpcmVjdG9yeT5dCiAKIERFU0NSSVBUSU9OCkBAIC0yMTUsMTAgKzIxNSwyNiBAQAogCWJyYW5jaCB3aGVuIGAtLXNpbmdsZS1icmFuY2hgIGNsb25lIHdhcyBtYWRlLCBubyByZW1vdGUtdHJhY2tpbmcKIAlicmFuY2ggaXMgY3JlYXRlZC4KIAotLS1yZWN1cnNpdmU6OgotLS1yZWN1cnNlLXN1Ym1vZHVsZXM6OgotCUFmdGVyIHRoZSBjbG9uZSBpcyBjcmVhdGVkLCBpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIHdpdGhpbiwKLQl1c2luZyB0aGVpciBkZWZhdWx0IHNldHRpbmdzLiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gcnVubmluZworLS1uby10YWdzOjoKKwlEb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIHNldAorCWByZW1vdGUuPHJlbW90ZT4udGFnT3B0PS0tbm8tdGFnc2AgaW4gdGhlIGNvbmZpZywgZW5zdXJpbmcKKwl0aGF0IGZ1dHVyZSBgZ2l0IHB1bGxgIGFuZCBgZ2l0IGZldGNoYCBvcGVyYXRpb25zIHdvbid0IGZvbGxvdworCWFueSB0YWdzLiBTdWJzZXF1ZW50IGV4cGxpY2l0IHRhZyBmZXRjaGVzIHdpbGwgc3RpbGwgd29yaywKKwkoc2VlIGxpbmtnaXQ6Z2l0LWZldGNoWzFdKS4KKysKK0NhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYC0tc2luZ2xlLWJyYW5jaGAgdG8gY2xvbmUgYW5kCittYWludGFpbiBhIGJyYW5jaCB3aXRoIG5vIHJlZmVyZW5jZXMgb3RoZXIgdGhhbiBhIHNpbmdsZSBjbG9uZWQKK2JyYW5jaC4gVGhpcyBpcyB1c2VmdWwgZS5nLiB0byBtYWludGFpbiBtaW5pbWFsIGNsb25lcyBvZiB0aGUgZGVmYXVsdAorYnJhbmNoIG9mIHNvbWUgcmVwb3NpdG9yeSBmb3Igc2VhcmNoIGluZGV4aW5nLgorCistLXJlY3Vyc2Utc3VibW9kdWxlc1s9PHBhdGhzcGVjXTo6CisJQWZ0ZXIgdGhlIGNsb25lIGlzIGNyZWF0ZWQsIGluaXRpYWxpemUgYW5kIGNsb25lIHN1Ym1vZHVsZXMKKwl3aXRoaW4gYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGhzcGVjLiAgSWYgbm8gcGF0aHNwZWMgaXMKKwlwcm92aWRlZCwgYWxsIHN1Ym1vZHVsZXMgYXJlIGluaXRpYWxpemVkIGFuZCBjbG9uZWQuCisJU3VibW9kdWxlcyBhcmUgaW5pdGlhbGl6ZWQgYW5kIGNsb25lZCB1c2luZyB0aGVpciBkZWZhdWx0CisJc2V0dGluZ3MuICBUaGUgcmVzdWx0aW5nIGNsb25lIGhhcyBgc3VibW9kdWxlLmFjdGl2ZWAgc2V0IHRvCisJdGhlIHByb3ZpZGVkIHBhdGhzcGVjLCBvciAiLiIgKG1lYW5pbmcgYWxsIHN1Ym1vZHVsZXMpIGlmIG5vCisJcGF0aHNwZWMgaXMgcHJvdmlkZWQuICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gcnVubmluZwogCWBnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgLS1yZWN1cnNpdmVgIGltbWVkaWF0ZWx5IGFmdGVyCiAJdGhlIGNsb25lIGlzIGZpbmlzaGVkLiBUaGlzIG9wdGlvbiBpcyBpZ25vcmVkIGlmIHRoZSBjbG9uZWQKIAlyZXBvc2l0b3J5IGRvZXMgbm90IGhhdmUgYSB3b3JrdHJlZS9jaGVja291dCAoaS5lLiBpZiBhbnkgb2YKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNvbW1pdC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb21taXQudHh0CmluZGV4IDI3NjNlZGIuLjhjNzRhMmMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNvbW1pdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY29tbWl0LnR4dApAQCAtOTUsNyArOTUsNyBAQAogCiAtLXJlc2V0LWF1dGhvcjo6CiAJV2hlbiB1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCBvcHRpb25zLCBvciB3aGVuIGNvbW1pdHRpbmcgYWZ0ZXIgYQotCWEgY29uZmxpY3RpbmcgY2hlcnJ5LXBpY2ssIGRlY2xhcmUgdGhhdCB0aGUgYXV0aG9yc2hpcCBvZiB0aGUKKwljb25mbGljdGluZyBjaGVycnktcGljaywgZGVjbGFyZSB0aGF0IHRoZSBhdXRob3JzaGlwIG9mIHRoZQogCXJlc3VsdGluZyBjb21taXQgbm93IGJlbG9uZ3MgdG8gdGhlIGNvbW1pdHRlci4gVGhpcyBhbHNvIHJlbmV3cwogCXRoZSBhdXRob3IgdGltZXN0YW1wLgogCkBAIC0xMTIsMTQgKzExMiwxNyBAQAogCWAtLWRyeS1ydW5gLgogCiAtLWxvbmc6OgotCVdoZW4gZG9pbmcgYSBkcnktcnVuLCBnaXZlIHRoZSBvdXRwdXQgaW4gYSB0aGUgbG9uZy1mb3JtYXQuCisJV2hlbiBkb2luZyBhIGRyeS1ydW4sIGdpdmUgdGhlIG91dHB1dCBpbiB0aGUgbG9uZy1mb3JtYXQuCiAJSW1wbGllcyBgLS1kcnktcnVuYC4KIAogLXo6OgogLS1udWxsOjoKLQlXaGVuIHNob3dpbmcgYHNob3J0YCBvciBgcG9yY2VsYWluYCBzdGF0dXMgb3V0cHV0LCB0ZXJtaW5hdGUKLQllbnRyaWVzIGluIHRoZSBzdGF0dXMgb3V0cHV0IHdpdGggTlVMLCBpbnN0ZWFkIG9mIExGLiBJZiBubwotCWZvcm1hdCBpcyBnaXZlbiwgaW1wbGllcyB0aGUgYC0tcG9yY2VsYWluYCBvdXRwdXQgZm9ybWF0LgorCVdoZW4gc2hvd2luZyBgc2hvcnRgIG9yIGBwb3JjZWxhaW5gIHN0YXR1cyBvdXRwdXQsIHByaW50IHRoZQorCWZpbGVuYW1lIHZlcmJhdGltIGFuZCB0ZXJtaW5hdGUgdGhlIGVudHJpZXMgd2l0aCBOVUwsIGluc3RlYWQgb2YgTEYuCisJSWYgbm8gZm9ybWF0IGlzIGdpdmVuLCBpbXBsaWVzIHRoZSBgLS1wb3JjZWxhaW5gIG91dHB1dCBmb3JtYXQuCisJV2l0aG91dCB0aGUgYC16YCBvcHRpb24sIGZpbGVuYW1lcyB3aXRoICJ1bnVzdWFsIiBjaGFyYWN0ZXJzIGFyZQorCXF1b3RlZCBhcyBleHBsYWluZWQgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBjb3JlLnF1b3RlUGF0aGAKKwkoc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuCiAKIC1GIDxmaWxlPjo6CiAtLWZpbGU9PGZpbGU+OjoKQEAgLTE5MywxMSArMTk2LDEyIEBACiB2ZXJiYXRpbTo6CiAJRG8gbm90IGNoYW5nZSB0aGUgbWVzc2FnZSBhdCBhbGwuCiBzY2lzc29yczo6Ci0JU2FtZSBhcyBgd2hpdGVzcGFjZWAsIGV4Y2VwdCB0aGF0IGV2ZXJ5dGhpbmcgZnJvbSAoYW5kCi0JaW5jbHVkaW5nKSB0aGUgbGluZQotCSJgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tYCIKLQlpcyB0cnVuY2F0ZWQgaWYgdGhlIG1lc3NhZ2UgaXMgdG8gYmUgZWRpdGVkLiAiYCNgIiBjYW4gYmUKLQljdXN0b21pemVkIHdpdGggY29yZS5jb21tZW50Q2hhci4KKwlTYW1lIGFzIGB3aGl0ZXNwYWNlYCBleGNlcHQgdGhhdCBldmVyeXRoaW5nIGZyb20gKGFuZCBpbmNsdWRpbmcpCisJdGhlIGxpbmUgZm91bmQgYmVsb3cgaXMgdHJ1bmNhdGVkLCBpZiB0aGUgbWVzc2FnZSBpcyB0byBiZSBlZGl0ZWQuCisJImAjYCIgY2FuIGJlIGN1c3RvbWl6ZWQgd2l0aCBjb3JlLmNvbW1lbnRDaGFyLgorCisJCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiBkZWZhdWx0OjoKIAlTYW1lIGFzIGBzdHJpcGAgaWYgdGhlIG1lc3NhZ2UgaXMgdG8gYmUgZWRpdGVkLgogCU90aGVyd2lzZSBgd2hpdGVzcGFjZWAuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLWNhY2hlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwtY2FjaGUudHh0CmluZGV4IDk2MjA4ZjguLjJiODU4MjYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwtY2FjaGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwtY2FjaGUudHh0CkBAIC0zMywxMCArMzMsMTMgQEAKIC0tc29ja2V0IDxwYXRoPjo6CiAKIAlVc2UgYDxwYXRoPmAgdG8gY29udGFjdCBhIHJ1bm5pbmcgY2FjaGUgZGFlbW9uIChvciBzdGFydCBhIG5ldwotCWNhY2hlIGRhZW1vbiBpZiBvbmUgaXMgbm90IHN0YXJ0ZWQpLiBEZWZhdWx0cyB0bwotCWB+Ly5naXQtY3JlZGVudGlhbC1jYWNoZS9zb2NrZXRgLiBJZiB5b3VyIGhvbWUgZGlyZWN0b3J5IGlzIG9uIGEKLQluZXR3b3JrLW1vdW50ZWQgZmlsZXN5c3RlbSwgeW91IG1heSBuZWVkIHRvIGNoYW5nZSB0aGlzIHRvIGEKLQlsb2NhbCBmaWxlc3lzdGVtLiBZb3UgbXVzdCBzcGVjaWZ5IGFuIGFic29sdXRlIHBhdGguCisJY2FjaGUgZGFlbW9uIGlmIG9uZSBpcyBub3Qgc3RhcnRlZCkuCisJRGVmYXVsdHMgdG8gYCRYREdfQ0FDSEVfSE9NRS9naXQvY3JlZGVudGlhbC9zb2NrZXRgIHVubGVzcworCWB+Ly5naXQtY3JlZGVudGlhbC1jYWNoZS9gIGV4aXN0cyBpbiB3aGljaCBjYXNlCisJYH4vLmdpdC1jcmVkZW50aWFsLWNhY2hlL3NvY2tldGAgaXMgdXNlZCBpbnN0ZWFkLgorCUlmIHlvdXIgaG9tZSBkaXJlY3RvcnkgaXMgb24gYSBuZXR3b3JrLW1vdW50ZWQgZmlsZXN5c3RlbSwgeW91CisJbWF5IG5lZWQgdG8gY2hhbmdlIHRoaXMgdG8gYSBsb2NhbCBmaWxlc3lzdGVtLiBZb3UgbXVzdCBzcGVjaWZ5CisJYW4gYWJzb2x1dGUgcGF0aC4KIAogQ09OVFJPTExJTkcgVEhFIERBRU1PTgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY3Zzc2VydmVyLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWN2c3NlcnZlci50eHQKaW5kZXggYTMzNmFlNS4uYmE5MDA2NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY3Zzc2VydmVyLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jdnNzZXJ2ZXIudHh0CkBAIC0yMjMsNyArMjIzLDcgQEAKIFRoYXQgbWVhbnMgdGhhdCBldmVuIGlmIHlvdSBvZmZlciBvbmx5IHJlYWQgYWNjZXNzIChlLmcuIGJ5IHVzaW5nCiB0aGUgcHNlcnZlciBtZXRob2QpLCAnZ2l0LWN2c3NlcnZlcicgc2hvdWxkIGhhdmUgd3JpdGUgYWNjZXNzIHRvCiB0aGUgZGF0YWJhc2UgdG8gd29yayByZWxpYWJseSAob3RoZXJ3aXNlIHlvdSBuZWVkIHRvIG1ha2Ugc3VyZQotdGhhdCB0aGUgZGF0YWJhc2UgaXMgdXAtdG8tZGF0ZSBhbnkgdGltZSAnZ2l0LWN2c3NlcnZlcicgaXMgZXhlY3V0ZWQpLgordGhhdCB0aGUgZGF0YWJhc2UgaXMgdXAgdG8gZGF0ZSBhbnkgdGltZSAnZ2l0LWN2c3NlcnZlcicgaXMgZXhlY3V0ZWQpLgogCiBCeSBkZWZhdWx0IGl0IHVzZXMgU1FMaXRlIGRhdGFiYXNlcyBpbiB0aGUgR2l0IGRpcmVjdG9yeSwgbmFtZWQKIGBnaXRjdnMuPG1vZHVsZV9uYW1lPi5zcWxpdGVgLiBOb3RlIHRoYXQgdGhlIFNRTGl0ZSBiYWNrZW5kIGNyZWF0ZXMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWRlc2NyaWJlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWRlc2NyaWJlLnR4dAppbmRleCBlNGFjNDQ4Li5jOTI0Yzk0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1kZXNjcmliZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZGVzY3JpYmUudHh0CkBAIC0zMCw5ICszMCwxNCBAQAogCUNvbW1pdC1pc2ggb2JqZWN0IG5hbWVzIHRvIGRlc2NyaWJlLiAgRGVmYXVsdHMgdG8gSEVBRCBpZiBvbWl0dGVkLgogCiAtLWRpcnR5Wz08bWFyaz5dOjoKLQlEZXNjcmliZSB0aGUgd29ya2luZyB0cmVlLgotCUl0IG1lYW5zIGRlc2NyaWJlIEhFQUQgYW5kIGFwcGVuZHMgPG1hcms+IChgLWRpcnR5YCBieQotCWRlZmF1bHQpIGlmIHRoZSB3b3JraW5nIHRyZWUgaXMgZGlydHkuCistLWJyb2tlbls9PG1hcms+XTo6CisJRGVzY3JpYmUgdGhlIHN0YXRlIG9mIHRoZSB3b3JraW5nIHRyZWUuICBXaGVuIHRoZSB3b3JraW5nCisJdHJlZSBtYXRjaGVzIEhFQUQsIHRoZSBvdXRwdXQgaXMgdGhlIHNhbWUgYXMgImdpdCBkZXNjcmliZQorCUhFQUQiLiAgSWYgdGhlIHdvcmtpbmcgdHJlZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uICItZGlydHkiCisJaXMgYXBwZW5kZWQgdG8gaXQuICBJZiBhIHJlcG9zaXRvcnkgaXMgY29ycnVwdCBhbmQgR2l0CisJY2Fubm90IGRldGVybWluZSBpZiB0aGVyZSBpcyBsb2NhbCBtb2RpZmljYXRpb24sIEdpdCB3aWxsCisJZXJyb3Igb3V0LCB1bmxlc3MgYC0tYnJva2VuJyBpcyBnaXZlbiwgd2hpY2ggYXBwZW5kcworCXRoZSBzdWZmaXggIi1icm9rZW4iIGluc3RlYWQuCiAKIC0tYWxsOjoKIAlJbnN0ZWFkIG9mIHVzaW5nIG9ubHkgdGhlIGFubm90YXRlZCB0YWdzLCB1c2UgYW55IHJlZgpAQCAtODIsOCArODcsMjUgQEAKIAogLS1tYXRjaCA8cGF0dGVybj46OgogCU9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyB0aGUgZ2l2ZW4gYGdsb2IoNylgIHBhdHRlcm4sCi0JZXhjbHVkaW5nIHRoZSAicmVmcy90YWdzLyIgcHJlZml4LiAgVGhpcyBjYW4gYmUgdXNlZCB0byBhdm9pZAotCWxlYWtpbmcgcHJpdmF0ZSB0YWdzIGZyb20gdGhlIHJlcG9zaXRvcnkuCisJZXhjbHVkaW5nIHRoZSAicmVmcy90YWdzLyIgcHJlZml4LiBJZiB1c2VkIHdpdGggYC0tYWxsYCwgaXQgYWxzbworCWNvbnNpZGVycyBsb2NhbCBicmFuY2hlcyBhbmQgcmVtb3RlLXRyYWNraW5nIHJlZmVyZW5jZXMgbWF0Y2hpbmcgdGhlCisJcGF0dGVybiwgZXhjbHVkaW5nIHJlc3BlY3RpdmVseSAicmVmcy9oZWFkcy8iIGFuZCAicmVmcy9yZW1vdGVzLyIKKwlwcmVmaXg7IHJlZmVyZW5jZXMgb2Ygb3RoZXIgdHlwZXMgYXJlIG5ldmVyIGNvbnNpZGVyZWQuIElmIGdpdmVuCisJbXVsdGlwbGUgdGltZXMsIGEgbGlzdCBvZiBwYXR0ZXJucyB3aWxsIGJlIGFjY3VtdWxhdGVkLCBhbmQgdGFncworCW1hdGNoaW5nIGFueSBvZiB0aGUgcGF0dGVybnMgd2lsbCBiZSBjb25zaWRlcmVkLiAgVXNlIGAtLW5vLW1hdGNoYCB0bworCWNsZWFyIGFuZCByZXNldCB0aGUgbGlzdCBvZiBwYXR0ZXJucy4KKworLS1leGNsdWRlIDxwYXR0ZXJuPjo6CisJRG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgdGhlIGdpdmVuIGBnbG9iKDcpYCBwYXR0ZXJuLCBleGNsdWRpbmcKKwl0aGUgInJlZnMvdGFncy8iIHByZWZpeC4gSWYgdXNlZCB3aXRoIGAtLWFsbGAsIGl0IGFsc28gZG9lcyBub3QgY29uc2lkZXIKKwlsb2NhbCBicmFuY2hlcyBhbmQgcmVtb3RlLXRyYWNraW5nIHJlZmVyZW5jZXMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4sCisJZXhjbHVkaW5nIHJlc3BlY3RpdmVseSAicmVmcy9oZWFkcy8iIGFuZCAicmVmcy9yZW1vdGVzLyIgcHJlZml4OworCXJlZmVyZW5jZXMgb2Ygb3RoZXIgdHlwZXMgYXJlIG5ldmVyIGNvbnNpZGVyZWQuIElmIGdpdmVuIG11bHRpcGxlIHRpbWVzLAorCWEgbGlzdCBvZiBwYXR0ZXJucyB3aWxsIGJlIGFjY3VtdWxhdGVkIGFuZCB0YWdzIG1hdGNoaW5nIGFueSBvZiB0aGUKKwlwYXR0ZXJucyB3aWxsIGJlIGV4Y2x1ZGVkLiBXaGVuIGNvbWJpbmVkIHdpdGggLS1tYXRjaCBhIHRhZyB3aWxsIGJlCisJY29uc2lkZXJlZCB3aGVuIGl0IG1hdGNoZXMgYXQgbGVhc3Qgb25lIC0tbWF0Y2ggcGF0dGVybiBhbmQgZG9lcyBub3QKKwltYXRjaCBhbnkgb2YgdGhlIC0tZXhjbHVkZSBwYXR0ZXJucy4gVXNlIGAtLW5vLWV4Y2x1ZGVgIHRvIGNsZWFyIGFuZAorCXJlc2V0IHRoZSBsaXN0IG9mIHBhdHRlcm5zLgogCiAtLWFsd2F5czo6CiAJU2hvdyB1bmlxdWVseSBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZGlmZi1pbmRleC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLWluZGV4LnR4dAppbmRleCBhMTcxNTA2Li5iMzgwNjc3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLWluZGV4LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLWluZGV4LnR4dApAQCAtODUsNyArODUsNyBAQAogVGhlIG5vbi1jYWNoZWQgdmVyc2lvbiBhc2tzIHRoZSBxdWVzdGlvbjoKIAogICBzaG93IG1lIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIEhFQUQgYW5kIHRoZSBjdXJyZW50bHkgY2hlY2tlZCBvdXQKLSAgdHJlZSAtIGluZGV4IGNvbnRlbnRzIF9hbmRfIGZpbGVzIHRoYXQgYXJlbid0IHVwLXRvLWRhdGUKKyAgdHJlZSAtIGluZGV4IGNvbnRlbnRzIF9hbmRfIGZpbGVzIHRoYXQgYXJlbid0IHVwIHRvIGRhdGUKIAogd2hpY2ggaXMgb2J2aW91c2x5IGEgdmVyeSB1c2VmdWwgcXVlc3Rpb24gdG9vLCBzaW5jZSB0aGF0IHRlbGxzIHlvdSB3aGF0CiB5b3UgKmNvdWxkKiBjb21taXQuIEFnYWluLCB0aGUgb3V0cHV0IG1hdGNoZXMgdGhlICdnaXQgZGlmZi10cmVlIC1yJwpAQCAtMTAwLDggKzEwMCw4IEBACiAgIHRvcnZhbGRzQHBwYzk3MDp+L3YyLjYvbGludXg+IGdpdCBkaWZmLWluZGV4IC0tYWJicmV2IEhFQUQKICAgOjEwMDY0NCAxMDA2NjQgNzQ3NmJiLi4uIDAwMDAwMC4uLiAgICAgIGtlcm5lbC9zY2hlZC5jCiAKLWkuZS4sIGl0IHNob3dzIHRoYXQgdGhlIHRyZWUgaGFzIGNoYW5nZWQsIGFuZCB0aGF0IGBrZXJuZWwvc2NoZWQuY2AgaGFzIGlzCi1ub3QgdXAtdG8tZGF0ZSBhbmQgbWF5IGNvbnRhaW4gbmV3IHN0dWZmLiBUaGUgYWxsLXplcm8gc2hhMSBtZWFucyB0aGF0IHRvCitpLmUuLCBpdCBzaG93cyB0aGF0IHRoZSB0cmVlIGhhcyBjaGFuZ2VkLCBhbmQgdGhhdCBga2VybmVsL3NjaGVkLmNgIGlzCitub3QgdXAgdG8gZGF0ZSBhbmQgbWF5IGNvbnRhaW4gbmV3IHN0dWZmLiBUaGUgYWxsLXplcm8gc2hhMSBtZWFucyB0aGF0IHRvCiBnZXQgdGhlIHJlYWwgZGlmZiwgeW91IG5lZWQgdG8gbG9vayBhdCB0aGUgb2JqZWN0IGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeQogZGlyZWN0bHkgcmF0aGVyIHRoYW4gZG8gYW4gb2JqZWN0LXRvLW9iamVjdCBkaWZmLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CmluZGV4IGJiYWIzNWYuLmIwYzFiYjkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CkBAIC05Nyw2ICs5NywyMCBAQAogOmdpdC1kaWZmOiAxCiBpbmNsdWRlOjpkaWZmLW9wdGlvbnMudHh0W10KIAorLTEgLS1iYXNlOjoKKy0yIC0tb3Vyczo6CistMyAtLXRoZWlyczo6CisJQ29tcGFyZSB0aGUgd29ya2luZyB0cmVlIHdpdGggdGhlICJiYXNlIiB2ZXJzaW9uIChzdGFnZSAjMSksCisJIm91ciBicmFuY2giIChzdGFnZSAjMikgb3IgInRoZWlyIGJyYW5jaCIgKHN0YWdlICMzKS4gIFRoZQorCWluZGV4IGNvbnRhaW5zIHRoZXNlIHN0YWdlcyBvbmx5IGZvciB1bm1lcmdlZCBlbnRyaWVzIGkuZS4KKwl3aGlsZSByZXNvbHZpbmcgY29uZmxpY3RzLiAgU2VlIGxpbmtnaXQ6Z2l0LXJlYWQtdHJlZVsxXQorCXNlY3Rpb24gIjMtV2F5IE1lcmdlIiBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24uCisKKy0wOjoKKwlPbWl0IGRpZmYgb3V0cHV0IGZvciB1bm1lcmdlZCBlbnRyaWVzIGFuZCBqdXN0IHNob3cKKwkiVW5tZXJnZWQiLiAgQ2FuIGJlIHVzZWQgb25seSB3aGVuIGNvbXBhcmluZyB0aGUgd29ya2luZyB0cmVlCisJd2l0aCB0aGUgaW5kZXguCisKIDxwYXRoPi4uLjo6CiAJVGhlIDxwYXRocz4gcGFyYW1ldGVycywgd2hlbiBnaXZlbiwgYXJlIHVzZWQgdG8gbGltaXQKIAl0aGUgZGlmZiB0byB0aGUgbmFtZWQgcGF0aHMgKHlvdSBjYW4gZ2l2ZSBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dAppbmRleCAyYjc2MjY1Li4zZDNkMjE5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mYXN0LWltcG9ydC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZmFzdC1pbXBvcnQudHh0CkBAIC0xMjEsNyArMTIxLDcgQEAKIAogLS1kZXB0aD08bj46OgogCU1heGltdW0gZGVsdGEgZGVwdGgsIGZvciBibG9iIGFuZCB0cmVlIGRlbHRpZmljYXRpb24uCi0JRGVmYXVsdCBpcyAxMC4KKwlEZWZhdWx0IGlzIDUwLgogCiAtLWV4cG9ydC1wYWNrLWVkZ2VzPTxmaWxlPjo6CiAJQWZ0ZXIgY3JlYXRpbmcgYSBwYWNrZmlsZSwgcHJpbnQgYSBsaW5lIG9mIGRhdGEgdG8KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZpbHRlci1icmFuY2gudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZmlsdGVyLWJyYW5jaC50eHQKaW5kZXggNmU0YmIwMi4uYmViZGNkZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZmlsdGVyLWJyYW5jaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZmlsdGVyLWJyYW5jaC50eHQKQEAgLTgsMTMgKzgsMTMgQEAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCBmaWx0ZXItYnJhbmNoJyBbLS1lbnYtZmlsdGVyIDxjb21tYW5kPl0gWy0tdHJlZS1maWx0ZXIgPGNvbW1hbmQ+XQotCVstLWluZGV4LWZpbHRlciA8Y29tbWFuZD5dIFstLXBhcmVudC1maWx0ZXIgPGNvbW1hbmQ+XQotCVstLW1zZy1maWx0ZXIgPGNvbW1hbmQ+XSBbLS1jb21taXQtZmlsdGVyIDxjb21tYW5kPl0KLQlbLS10YWctbmFtZS1maWx0ZXIgPGNvbW1hbmQ+XSBbLS1zdWJkaXJlY3RvcnktZmlsdGVyIDxkaXJlY3Rvcnk+XQotCVstLXBydW5lLWVtcHR5XQorJ2dpdCBmaWx0ZXItYnJhbmNoJyBbLS1zZXR1cCA8Y29tbWFuZD5dIFstLWVudi1maWx0ZXIgPGNvbW1hbmQ+XQorCVstLXRyZWUtZmlsdGVyIDxjb21tYW5kPl0gWy0taW5kZXgtZmlsdGVyIDxjb21tYW5kPl0KKwlbLS1wYXJlbnQtZmlsdGVyIDxjb21tYW5kPl0gWy0tbXNnLWZpbHRlciA8Y29tbWFuZD5dCisJWy0tY29tbWl0LWZpbHRlciA8Y29tbWFuZD5dIFstLXRhZy1uYW1lLWZpbHRlciA8Y29tbWFuZD5dCisJWy0tc3ViZGlyZWN0b3J5LWZpbHRlciA8ZGlyZWN0b3J5Pl0gWy0tcHJ1bmUtZW1wdHldCiAJWy0tb3JpZ2luYWwgPG5hbWVzcGFjZT5dIFstZCA8ZGlyZWN0b3J5Pl0gWy1mIHwgLS1mb3JjZV0KLQlbLS1dIFs8cmV2LWxpc3Qgb3B0aW9ucz4uLi5dCisJWy0tc3RhdGUtYnJhbmNoIDxicmFuY2g+XSBbLS1dIFs8cmV2LWxpc3Qgb3B0aW9ucz4uLi5dCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtODIsMTIgKzgyLDE4IEBACiBPUFRJT05TCiAtLS0tLS0tCiAKKy0tc2V0dXAgPGNvbW1hbmQ+OjoKKwlUaGlzIGlzIG5vdCBhIHJlYWwgZmlsdGVyIGV4ZWN1dGVkIGZvciBlYWNoIGNvbW1pdCBidXQgYSBvbmUKKwl0aW1lIHNldHVwIGp1c3QgYmVmb3JlIHRoZSBsb29wLiBUaGVyZWZvcmUgbm8gY29tbWl0LXNwZWNpZmljCisJdmFyaWFibGVzIGFyZSBkZWZpbmVkIHlldC4gIEZ1bmN0aW9ucyBvciB2YXJpYWJsZXMgZGVmaW5lZCBoZXJlCisJY2FuIGJlIHVzZWQgb3IgbW9kaWZpZWQgaW4gdGhlIGZvbGxvd2luZyBmaWx0ZXIgc3RlcHMgZXhjZXB0CisJdGhlIGNvbW1pdCBmaWx0ZXIsIGZvciB0ZWNobmljYWwgcmVhc29ucy4KKwogLS1lbnYtZmlsdGVyIDxjb21tYW5kPjo6CiAJVGhpcyBmaWx0ZXIgbWF5IGJlIHVzZWQgaWYgeW91IG9ubHkgbmVlZCB0byBtb2RpZnkgdGhlIGVudmlyb25tZW50CiAJaW4gd2hpY2ggdGhlIGNvbW1pdCB3aWxsIGJlIHBlcmZvcm1lZC4gIFNwZWNpZmljYWxseSwgeW91IG1pZ2h0CiAJd2FudCB0byByZXdyaXRlIHRoZSBhdXRob3IvY29tbWl0dGVyIG5hbWUvZW1haWwvdGltZSBlbnZpcm9ubWVudAotCXZhcmlhYmxlcyAoc2VlIGxpbmtnaXQ6Z2l0LWNvbW1pdC10cmVlWzFdIGZvciBkZXRhaWxzKS4gIERvIG5vdCBmb3JnZXQKLQl0byByZS1leHBvcnQgdGhlIHZhcmlhYmxlcy4KKwl2YXJpYWJsZXMgKHNlZSBsaW5rZ2l0OmdpdC1jb21taXQtdHJlZVsxXSBmb3IgZGV0YWlscykuCiAKIC0tdHJlZS1maWx0ZXIgPGNvbW1hbmQ+OjoKIAlUaGlzIGlzIHRoZSBmaWx0ZXIgZm9yIHJld3JpdGluZyB0aGUgdHJlZSBhbmQgaXRzIGNvbnRlbnRzLgpAQCAtMTkyLDYgKzE5OCwxMiBAQAogCWRpcmVjdG9yeSBvciB3aGVuIHRoZXJlIGFyZSBhbHJlYWR5IHJlZnMgc3RhcnRpbmcgd2l0aAogCSdyZWZzL29yaWdpbmFsLycsIHVubGVzcyBmb3JjZWQuCiAKKy0tc3RhdGUtYnJhbmNoIDxicmFuY2g+OjoKKwlUaGlzIG9wdGlvbiB3aWxsIGNhdXNlIHRoZSBtYXBwaW5nIGZyb20gb2xkIHRvIG5ldyBvYmplY3RzIHRvCisJYmUgbG9hZGVkIGZyb20gbmFtZWQgYnJhbmNoIHVwb24gc3RhcnR1cCBhbmQgc2F2ZWQgYXMgYSBuZXcKKwljb21taXQgdG8gdGhhdCBicmFuY2ggdXBvbiBleGl0LCBlbmFibGluZyBpbmNyZW1lbnRhbCBvZiBsYXJnZQorCXRyZWVzLiBJZiAnPGJyYW5jaD4nIGRvZXMgbm90IGV4aXN0IGl0IHdpbGwgYmUgY3JlYXRlZC4KKwogPHJldi1saXN0IG9wdGlvbnM+Li4uOjoKIAlBcmd1bWVudHMgZm9yICdnaXQgcmV2LWxpc3QnLiAgQWxsIHBvc2l0aXZlIHJlZnMgaW5jbHVkZWQgYnkKIAl0aGVzZSBvcHRpb25zIGFyZSByZXdyaXR0ZW4uICBZb3UgbWF5IGFsc28gc3BlY2lmeSBvcHRpb25zCkBAIC0zNDAsMTIgKzM1MiwxMCBAQAogCWlmIHRlc3QgIiRHSVRfQVVUSE9SX0VNQUlMIiA9ICJyb290QGxvY2FsaG9zdCIKIAl0aGVuCiAJCUdJVF9BVVRIT1JfRU1BSUw9am9obkBleGFtcGxlLmNvbQotCQlleHBvcnQgR0lUX0FVVEhPUl9FTUFJTAogCWZpCiAJaWYgdGVzdCAiJEdJVF9DT01NSVRURVJfRU1BSUwiID0gInJvb3RAbG9jYWxob3N0IgogCXRoZW4KIAkJR0lUX0NPTU1JVFRFUl9FTUFJTD1qb2huQGV4YW1wbGUuY29tCi0JCWV4cG9ydCBHSVRfQ09NTUlUVEVSX0VNQUlMCiAJZmkKICcgLS0gLS1hbGwKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1mb3ItZWFjaC1yZWYudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZm9yLWVhY2gtcmVmLnR4dAppbmRleCBhYmUxM2YzLi42NmI0ZTBhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mb3ItZWFjaC1yZWYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZvci1lYWNoLXJlZi50eHQKQEAgLTEwLDggKzEwLDkgQEAKIFt2ZXJzZV0KICdnaXQgZm9yLWVhY2gtcmVmJyBbLS1jb3VudD08Y291bnQ+XSBbLS1zaGVsbHwtLXBlcmx8LS1weXRob258LS10Y2xdCiAJCSAgIFsoLS1zb3J0PTxrZXk+KS4uLl0gWy0tZm9ybWF0PTxmb3JtYXQ+XSBbPHBhdHRlcm4+Li4uXQotCQkgICBbLS1wb2ludHMtYXQgPG9iamVjdD5dIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxvYmplY3Q+XV0KLQkJICAgWy0tY29udGFpbnMgWzxvYmplY3Q+XV0KKwkJICAgWy0tcG9pbnRzLWF0PTxvYmplY3Q+XQorCQkgICAoLS1tZXJnZWRbPTxvYmplY3Q+XSB8IC0tbm8tbWVyZ2VkWz08b2JqZWN0Pl0pCisJCSAgIFstLWNvbnRhaW5zWz08b2JqZWN0Pl1dIFstLW5vLWNvbnRhaW5zWz08b2JqZWN0Pl1dCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtMjUsMzYgKzI2LDM3IEBACiAKIE9QVElPTlMKIC0tLS0tLS0KLTxjb3VudD46OgorPHBhdHRlcm4+Li4uOjoKKwlJZiBvbmUgb3IgbW9yZSBwYXR0ZXJucyBhcmUgZ2l2ZW4sIG9ubHkgcmVmcyBhcmUgc2hvd24gdGhhdAorCW1hdGNoIGFnYWluc3QgYXQgbGVhc3Qgb25lIHBhdHRlcm4sIGVpdGhlciB1c2luZyBmbm1hdGNoKDMpIG9yCisJbGl0ZXJhbGx5LCBpbiB0aGUgbGF0dGVyIGNhc2UgbWF0Y2hpbmcgY29tcGxldGVseSBvciBmcm9tIHRoZQorCWJlZ2lubmluZyB1cCB0byBhIHNsYXNoLgorCistLWNvdW50PTxjb3VudD46OgogCUJ5IGRlZmF1bHQgdGhlIGNvbW1hbmQgc2hvd3MgYWxsIHJlZnMgdGhhdCBtYXRjaAogCWA8cGF0dGVybj5gLiAgVGhpcyBvcHRpb24gbWFrZXMgaXQgc3RvcCBhZnRlciBzaG93aW5nCiAJdGhhdCBtYW55IHJlZnMuCiAKLTxrZXk+OjoKKy0tc29ydD08a2V5Pjo6CiAJQSBmaWVsZCBuYW1lIHRvIHNvcnQgb24uICBQcmVmaXggYC1gIHRvIHNvcnQgaW4KIAlkZXNjZW5kaW5nIG9yZGVyIG9mIHRoZSB2YWx1ZS4gIFdoZW4gdW5zcGVjaWZpZWQsCiAJYHJlZm5hbWVgIGlzIHVzZWQuICBZb3UgbWF5IHVzZSB0aGUgLS1zb3J0PTxrZXk+IG9wdGlvbgogCW11bHRpcGxlIHRpbWVzLCBpbiB3aGljaCBjYXNlIHRoZSBsYXN0IGtleSBiZWNvbWVzIHRoZSBwcmltYXJ5CiAJa2V5LgogCi08Zm9ybWF0Pjo6Ci0JQSBzdHJpbmcgdGhhdCBpbnRlcnBvbGF0ZXMgYCUoZmllbGRuYW1lKWAgZnJvbSB0aGUKLQlvYmplY3QgcG9pbnRlZCBhdCBieSBhIHJlZiBiZWluZyBzaG93bi4gIElmIGBmaWVsZG5hbWVgCistLWZvcm1hdD08Zm9ybWF0Pjo6CisJQSBzdHJpbmcgdGhhdCBpbnRlcnBvbGF0ZXMgYCUoZmllbGRuYW1lKWAgZnJvbSBhIHJlZiBiZWluZyBzaG93bgorCWFuZCB0aGUgb2JqZWN0IGl0IHBvaW50cyBhdC4gIElmIGBmaWVsZG5hbWVgCiAJaXMgcHJlZml4ZWQgd2l0aCBhbiBhc3RlcmlzayAoYCpgKSBhbmQgdGhlIHJlZiBwb2ludHMKLQlhdCBhIHRhZyBvYmplY3QsIHRoZSB2YWx1ZSBmb3IgdGhlIGZpZWxkIGluIHRoZSBvYmplY3QKLQl0YWcgcmVmZXJzIGlzIHVzZWQuICBXaGVuIHVuc3BlY2lmaWVkLCBkZWZhdWx0cyB0bworCWF0IGEgdGFnIG9iamVjdCwgdXNlIHRoZSB2YWx1ZSBmb3IgdGhlIGZpZWxkIGluIHRoZSBvYmplY3QKKwl3aGljaCB0aGUgdGFnIG9iamVjdCByZWZlcnMgdG8gKGluc3RlYWQgb2YgdGhlIGZpZWxkIGluIHRoZSB0YWcgb2JqZWN0KS4KKwlXaGVuIHVuc3BlY2lmaWVkLCBgPGZvcm1hdD5gIGRlZmF1bHRzIHRvCiAJYCUob2JqZWN0bmFtZSkgU1BDICUob2JqZWN0dHlwZSkgVEFCICUocmVmbmFtZSlgLgogCUl0IGFsc28gaW50ZXJwb2xhdGVzIGAlJWAgdG8gYCVgLCBhbmQgYCV4eGAgd2hlcmUgYHh4YAogCWFyZSBoZXggZGlnaXRzIGludGVycG9sYXRlcyB0byBjaGFyYWN0ZXIgd2l0aCBoZXggY29kZQogCWB4eGA7IGZvciBleGFtcGxlIGAlMDBgIGludGVycG9sYXRlcyB0byBgXDBgIChOVUwpLAogCWAlMDlgIHRvIGBcdGAgKFRBQikgYW5kIGAlMGFgIHRvIGBcbmAgKExGKS4KIAotPHBhdHRlcm4+Li4uOjoKLQlJZiBvbmUgb3IgbW9yZSBwYXR0ZXJucyBhcmUgZ2l2ZW4sIG9ubHkgcmVmcyBhcmUgc2hvd24gdGhhdAotCW1hdGNoIGFnYWluc3QgYXQgbGVhc3Qgb25lIHBhdHRlcm4sIGVpdGhlciB1c2luZyBmbm1hdGNoKDMpIG9yCi0JbGl0ZXJhbGx5LCBpbiB0aGUgbGF0dGVyIGNhc2UgbWF0Y2hpbmcgY29tcGxldGVseSBvciBmcm9tIHRoZQotCWJlZ2lubmluZyB1cCB0byBhIHNsYXNoLgotCiAtLXNoZWxsOjoKIC0tcGVybDo6CiAtLXB5dGhvbjo6CkBAIC02NCwyMSArNjYsMjcgQEAKIAl0aGUgc3BlY2lmaWVkIGhvc3QgbGFuZ3VhZ2UuICBUaGlzIGlzIG1lYW50IHRvIHByb2R1Y2UKIAlhIHNjcmlwdGxldCB0aGF0IGNhbiBkaXJlY3RseSBiZSBgZXZhbGBlZC4KIAotLS1wb2ludHMtYXQgPG9iamVjdD46OgorLS1wb2ludHMtYXQ9PG9iamVjdD46OgogCU9ubHkgbGlzdCByZWZzIHdoaWNoIHBvaW50cyBhdCB0aGUgZ2l2ZW4gb2JqZWN0LgogCi0tLW1lcmdlZCBbPG9iamVjdD5dOjoKKy0tbWVyZ2VkWz08b2JqZWN0Pl06OgogCU9ubHkgbGlzdCByZWZzIHdob3NlIHRpcHMgYXJlIHJlYWNoYWJsZSBmcm9tIHRoZQotCXNwZWNpZmllZCBjb21taXQgKEhFQUQgaWYgbm90IHNwZWNpZmllZCkuCisJc3BlY2lmaWVkIGNvbW1pdCAoSEVBRCBpZiBub3Qgc3BlY2lmaWVkKSwKKwlpbmNvbXBhdGlibGUgd2l0aCBgLS1uby1tZXJnZWRgLgogCi0tLW5vLW1lcmdlZCBbPG9iamVjdD5dOjoKKy0tbm8tbWVyZ2VkWz08b2JqZWN0Pl06OgogCU9ubHkgbGlzdCByZWZzIHdob3NlIHRpcHMgYXJlIG5vdCByZWFjaGFibGUgZnJvbSB0aGUKLQlzcGVjaWZpZWQgY29tbWl0IChIRUFEIGlmIG5vdCBzcGVjaWZpZWQpLgorCXNwZWNpZmllZCBjb21taXQgKEhFQUQgaWYgbm90IHNwZWNpZmllZCksCisJaW5jb21wYXRpYmxlIHdpdGggYC0tbWVyZ2VkYC4KIAotLS1jb250YWlucyBbPG9iamVjdD5dOjoKKy0tY29udGFpbnNbPTxvYmplY3Q+XTo6CiAJT25seSBsaXN0IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgc3BlY2lmaWVkIGNvbW1pdCAoSEVBRCBpZiBub3QKIAlzcGVjaWZpZWQpLgogCistLW5vLWNvbnRhaW5zWz08b2JqZWN0Pl06OgorCU9ubHkgbGlzdCByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIHNwZWNpZmllZCBjb21taXQgKEhFQUQKKwlpZiBub3Qgc3BlY2lmaWVkKS4KKwogLS1pZ25vcmUtY2FzZTo6CiAJU29ydGluZyBhbmQgZmlsdGVyaW5nIHJlZnMgYXJlIGNhc2UgaW5zZW5zaXRpdmUuCiAKQEAgLTk1LDExICsxMDMsMjAgQEAKIAlUaGUgbmFtZSBvZiB0aGUgcmVmICh0aGUgcGFydCBhZnRlciAkR0lUX0RJUi8pLgogCUZvciBhIG5vbi1hbWJpZ3VvdXMgc2hvcnQgbmFtZSBvZiB0aGUgcmVmIGFwcGVuZCBgOnNob3J0YC4KIAlUaGUgb3B0aW9uIGNvcmUud2FybkFtYmlndW91c1JlZnMgaXMgdXNlZCB0byBzZWxlY3QgdGhlIHN0cmljdAotCWFiYnJldmlhdGlvbiBtb2RlLiBJZiBgc3RyaXA9PE4+YCBpcyBhcHBlbmRlZCwgc3RyaXBzIGA8Tj5gCi0Jc2xhc2gtc2VwYXJhdGVkIHBhdGggY29tcG9uZW50cyBmcm9tIHRoZSBmcm9udCBvZiB0aGUgcmVmbmFtZQotCShlLmcuLCBgJShyZWZuYW1lOnN0cmlwPTIpYCB0dXJucyBgcmVmcy90YWdzL2Zvb2AgaW50byBgZm9vYC4KLQlgPE4+YCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci4gIElmIGEgZGlzcGxheWVkIHJlZiBoYXMgZmV3ZXIKLQljb21wb25lbnRzIHRoYW4gYDxOPmAsIHRoZSBjb21tYW5kIGFib3J0cyB3aXRoIGFuIGVycm9yLgorCWFiYnJldmlhdGlvbiBtb2RlLiBJZiBgbHN0cmlwPTxOPmAgKGByc3RyaXA9PE4+YCkgaXMgYXBwZW5kZWQsIHN0cmlwcyBgPE4+YAorCXNsYXNoLXNlcGFyYXRlZCBwYXRoIGNvbXBvbmVudHMgZnJvbSB0aGUgZnJvbnQgKGJhY2spIG9mIHRoZSByZWZuYW1lCisJKGUuZy4gYCUocmVmbmFtZTpsc3RyaXA9MilgIHR1cm5zIGByZWZzL3RhZ3MvZm9vYCBpbnRvIGBmb29gIGFuZAorCWAlKHJlZm5hbWU6cnN0cmlwPTIpYCB0dXJucyBgcmVmcy90YWdzL2Zvb2AgaW50byBgcmVmc2ApLgorCUlmIGA8Tj5gIGlzIGEgbmVnYXRpdmUgbnVtYmVyLCBzdHJpcCBhcyBtYW55IHBhdGggY29tcG9uZW50cyBhcworCW5lY2Vzc2FyeSBmcm9tIHRoZSBzcGVjaWZpZWQgZW5kIHRvIGxlYXZlIGAtPE4+YCBwYXRoIGNvbXBvbmVudHMKKwkoZS5nLiBgJShyZWZuYW1lOmxzdHJpcD0tMilgIHR1cm5zCisJYHJlZnMvdGFncy9mb29gIGludG8gYHRhZ3MvZm9vYCBhbmQgYCUocmVmbmFtZTpyc3RyaXA9LTEpYAorCXR1cm5zIGByZWZzL3RhZ3MvZm9vYCBpbnRvIGByZWZzYCkuIFdoZW4gdGhlIHJlZiBkb2VzIG5vdCBoYXZlCisJZW5vdWdoIGNvbXBvbmVudHMsIHRoZSByZXN1bHQgYmVjb21lcyBhbiBlbXB0eSBzdHJpbmcgaWYKKwlzdHJpcHBpbmcgd2l0aCBwb3NpdGl2ZSA8Tj4sIG9yIGl0IGJlY29tZXMgdGhlIGZ1bGwgcmVmbmFtZSBpZgorCXN0cmlwcGluZyB3aXRoIG5lZ2F0aXZlIDxOPi4gIE5laXRoZXIgaXMgYW4gZXJyb3IuCisrCitgc3RyaXBgIGNhbiBiZSB1c2VkIGFzIGEgc3lub215bSB0byBgbHN0cmlwYC4KIAogb2JqZWN0dHlwZTo6CiAJVGhlIHR5cGUgb2YgdGhlIG9iamVjdCAoYGJsb2JgLCBgdHJlZWAsIGBjb21taXRgLCBgdGFnYCkuCkBAIC0xMTAsMjkgKzEyNyw0MSBAQAogb2JqZWN0bmFtZTo6CiAJVGhlIG9iamVjdCBuYW1lIChha2EgU0hBLTEpLgogCUZvciBhIG5vbi1hbWJpZ3VvdXMgYWJicmV2aWF0aW9uIG9mIHRoZSBvYmplY3QgbmFtZSBhcHBlbmQgYDpzaG9ydGAuCisJRm9yIGFuIGFiYnJldmlhdGlvbiBvZiB0aGUgb2JqZWN0IG5hbWUgd2l0aCBkZXNpcmVkIGxlbmd0aCBhcHBlbmQKKwlgOnNob3J0PTxsZW5ndGg+YCwgd2hlcmUgdGhlIG1pbmltdW0gbGVuZ3RoIGlzIE1JTklNVU1fQUJCUkVWLiBUaGUKKwlsZW5ndGggbWF5IGJlIGV4Y2VlZGVkIHRvIGVuc3VyZSB1bmlxdWUgb2JqZWN0IG5hbWVzLgogCiB1cHN0cmVhbTo6CiAJVGhlIG5hbWUgb2YgYSBsb2NhbCByZWYgd2hpY2ggY2FuIGJlIGNvbnNpZGVyZWQgYGB1cHN0cmVhbScnCi0JZnJvbSB0aGUgZGlzcGxheWVkIHJlZi4gUmVzcGVjdHMgYDpzaG9ydGAgaW4gdGhlIHNhbWUgd2F5IGFzCi0JYHJlZm5hbWVgIGFib3ZlLiAgQWRkaXRpb25hbGx5IHJlc3BlY3RzIGA6dHJhY2tgIHRvIHNob3cKLQkiW2FoZWFkIE4sIGJlaGluZCBNXSIgYW5kIGA6dHJhY2tzaG9ydGAgdG8gc2hvdyB0aGUgdGVyc2UKLQl2ZXJzaW9uOiAiPiIgKGFoZWFkKSwgIjwiIChiZWhpbmQpLCAiPD4iIChhaGVhZCBhbmQgYmVoaW5kKSwKLQlvciAiPSIgKGluIHN5bmMpLiAgSGFzIG5vIGVmZmVjdCBpZiB0aGUgcmVmIGRvZXMgbm90IGhhdmUKLQl0cmFja2luZyBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggaXQuCisJZnJvbSB0aGUgZGlzcGxheWVkIHJlZi4gUmVzcGVjdHMgYDpzaG9ydGAsIGA6bHN0cmlwYCBhbmQKKwlgOnJzdHJpcGAgaW4gdGhlIHNhbWUgd2F5IGFzIGByZWZuYW1lYCBhYm92ZS4gIEFkZGl0aW9uYWxseQorCXJlc3BlY3RzIGA6dHJhY2tgIHRvIHNob3cgIlthaGVhZCBOLCBiZWhpbmQgTV0iIGFuZAorCWA6dHJhY2tzaG9ydGAgdG8gc2hvdyB0aGUgdGVyc2UgdmVyc2lvbjogIj4iIChhaGVhZCksICI8IgorCShiZWhpbmQpLCAiPD4iIChhaGVhZCBhbmQgYmVoaW5kKSwgb3IgIj0iIChpbiBzeW5jKS4gYDp0cmFja2AKKwlhbHNvIHByaW50cyAiW2dvbmVdIiB3aGVuZXZlciB1bmtub3duIHVwc3RyZWFtIHJlZiBpcworCWVuY291bnRlcmVkLiBBcHBlbmQgYDp0cmFjayxub2JyYWNrZXRgIHRvIHNob3cgdHJhY2tpbmcKKwlpbmZvcm1hdGlvbiB3aXRob3V0IGJyYWNrZXRzIChpLmUgImFoZWFkIE4sIGJlaGluZCBNIikuICBIYXMKKwlubyBlZmZlY3QgaWYgdGhlIHJlZiBkb2VzIG5vdCBoYXZlIHRyYWNraW5nIGluZm9ybWF0aW9uCisJYXNzb2NpYXRlZCB3aXRoIGl0LiAgQWxsIHRoZSBvcHRpb25zIGFwYXJ0IGZyb20gYG5vYnJhY2tldGAKKwlhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBidXQgaWYgdXNlZCB0b2dldGhlciB0aGUgbGFzdCBvcHRpb24KKwlpcyBzZWxlY3RlZC4KIAogcHVzaDo6Ci0JVGhlIG5hbWUgb2YgYSBsb2NhbCByZWYgd2hpY2ggcmVwcmVzZW50cyB0aGUgYEB7cHVzaH1gIGxvY2F0aW9uCi0JZm9yIHRoZSBkaXNwbGF5ZWQgcmVmLiBSZXNwZWN0cyBgOnNob3J0YCwgYDp0cmFja2AsIGFuZAotCWA6dHJhY2tzaG9ydGAgb3B0aW9ucyBhcyBgdXBzdHJlYW1gIGRvZXMuIFByb2R1Y2VzIGFuIGVtcHR5Ci0Jc3RyaW5nIGlmIG5vIGBAe3B1c2h9YCByZWYgaXMgY29uZmlndXJlZC4KKwlUaGUgbmFtZSBvZiBhIGxvY2FsIHJlZiB3aGljaCByZXByZXNlbnRzIHRoZSBgQHtwdXNofWAKKwlsb2NhdGlvbiBmb3IgdGhlIGRpc3BsYXllZCByZWYuIFJlc3BlY3RzIGA6c2hvcnRgLCBgOmxzdHJpcGAsCisJYDpyc3RyaXBgLCBgOnRyYWNrYCwgYW5kIGA6dHJhY2tzaG9ydGAgb3B0aW9ucyBhcyBgdXBzdHJlYW1gCisJZG9lcy4gUHJvZHVjZXMgYW4gZW1wdHkgc3RyaW5nIGlmIG5vIGBAe3B1c2h9YCByZWYgaXMKKwljb25maWd1cmVkLgogCiBIRUFEOjoKIAknKicgaWYgSEVBRCBtYXRjaGVzIGN1cnJlbnQgcmVmICh0aGUgY2hlY2tlZCBvdXQgYnJhbmNoKSwgJyAnCiAJb3RoZXJ3aXNlLgogCiBjb2xvcjo6Ci0JQ2hhbmdlIG91dHB1dCBjb2xvci4gIEZvbGxvd2VkIGJ5IGA6PGNvbG9ybmFtZT5gLCB3aGVyZSBuYW1lcwotCWFyZSBkZXNjcmliZWQgaW4gYGNvbG9yLmJyYW5jaC4qYC4KKwlDaGFuZ2Ugb3V0cHV0IGNvbG9yLiBGb2xsb3dlZCBieSBgOjxjb2xvcm5hbWU+YCwgd2hlcmUgY29sb3IKKwluYW1lcyBhcmUgZGVzY3JpYmVkIHVuZGVyIFZhbHVlcyBpbiB0aGUgIkNPTkZJR1VSQVRJT04gRklMRSIKKwlzZWN0aW9uIG9mIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4gIEZvciBleGFtcGxlLAorCWAlKGNvbG9yOmJvbGQgcmVkKWAuCiAKIGFsaWduOjoKIAlMZWZ0LSwgbWlkZGxlLSwgb3IgcmlnaHQtYWxpZ24gdGhlIGNvbnRlbnQgYmV0d2VlbgpAQCAtMTQ5LDYgKzE3OCwyNSBAQAogCXF1b3RlZCwgYnV0IGlmIG5lc3RlZCB0aGVuIG9ubHkgdGhlIHRvcG1vc3QgbGV2ZWwgcGVyZm9ybXMKIAlxdW90aW5nLgogCitpZjo6CisJVXNlZCBhcyAlKGlmKS4uLiUodGhlbikuLi4lKGVuZCkgb3IKKwklKGlmKS4uLiUodGhlbikuLi4lKGVsc2UpLi4uJShlbmQpLiAgSWYgdGhlcmUgaXMgYW4gYXRvbSB3aXRoCisJdmFsdWUgb3Igc3RyaW5nIGxpdGVyYWwgYWZ0ZXIgdGhlICUoaWYpIHRoZW4gZXZlcnl0aGluZyBhZnRlcgorCXRoZSAlKHRoZW4pIGlzIHByaW50ZWQsIGVsc2UgaWYgdGhlICUoZWxzZSkgYXRvbSBpcyB1c2VkLCB0aGVuCisJZXZlcnl0aGluZyBhZnRlciAlKGVsc2UpIGlzIHByaW50ZWQuIFdlIGlnbm9yZSBzcGFjZSB3aGVuCisJZXZhbHVhdGluZyB0aGUgc3RyaW5nIGJlZm9yZSAlKHRoZW4pLCB0aGlzIGlzIHVzZWZ1bCB3aGVuIHdlCisJdXNlIHRoZSAlKEhFQUQpIGF0b20gd2hpY2ggcHJpbnRzIGVpdGhlciAiKiIgb3IgIiAiIGFuZCB3ZQorCXdhbnQgdG8gYXBwbHkgdGhlICdpZicgY29uZGl0aW9uIG9ubHkgb24gdGhlICdIRUFEJyByZWYuCisJQXBwZW5kICI6ZXF1YWxzPTxzdHJpbmc+IiBvciAiOm5vdGVxdWFscz08c3RyaW5nPiIgdG8gY29tcGFyZQorCXRoZSB2YWx1ZSBiZXR3ZWVuIHRoZSAlKGlmOi4uLikgYW5kICUodGhlbikgYXRvbXMgd2l0aCB0aGUKKwlnaXZlbiBzdHJpbmcuCisKK3N5bXJlZjo6CisJVGhlIHJlZiB3aGljaCB0aGUgZ2l2ZW4gc3ltYm9saWMgcmVmIHJlZmVycyB0by4gSWYgbm90IGEKKwlzeW1ib2xpYyByZWYsIG5vdGhpbmcgaXMgcHJpbnRlZC4gUmVzcGVjdHMgdGhlIGA6c2hvcnRgLAorCWA6bHN0cmlwYCBhbmQgYDpyc3RyaXBgIG9wdGlvbnMgaW4gdGhlIHNhbWUgd2F5IGFzIGByZWZuYW1lYAorCWFib3ZlLgorCiBJbiBhZGRpdGlvbiB0byB0aGUgYWJvdmUsIGZvciBjb21taXQgYW5kIHRhZyBvYmplY3RzLCB0aGUgaGVhZGVyCiBmaWVsZCBuYW1lcyAoYHRyZWVgLCBgcGFyZW50YCwgYG9iamVjdGAsIGB0eXBlYCwgYW5kIGB0YWdgKSBjYW4KIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgdmFsdWUgaW4gdGhlIGhlYWRlciBmaWVsZC4KQEAgLTE4Niw2ICsyMzQsMTQgQEAKIHRoZSBkYXRlIGJ5IGFkZGluZyBgOmAgZm9sbG93ZWQgYnkgZGF0ZSBmb3JtYXQgbmFtZSAoc2VlIHRoZQogdmFsdWVzIHRoZSBgLS1kYXRlYCBvcHRpb24gdG8gbGlua2dpdDpnaXQtcmV2LWxpc3RbMV0gdGFrZXMpLgogCitTb21lIGF0b21zIGxpa2UgJShhbGlnbikgYW5kICUoaWYpIGFsd2F5cyByZXF1aXJlIGEgbWF0Y2hpbmcgJShlbmQpLgorV2UgY2FsbCB0aGVtICJvcGVuaW5nIGF0b21zIiBhbmQgc29tZXRpbWVzIGRlbm90ZSB0aGVtIGFzICUoJG9wZW4pLgorCitXaGVuIGEgc2NyaXB0aW5nIGxhbmd1YWdlIHNwZWNpZmljIHF1b3RpbmcgaXMgaW4gZWZmZWN0LCBldmVyeXRoaW5nCitiZXR3ZWVuIGEgdG9wLWxldmVsIG9wZW5pbmcgYXRvbSBhbmQgaXRzIG1hdGNoaW5nICUoZW5kKSBpcyBldmFsdWF0ZWQKK2FjY29yZGluZyB0byB0aGUgc2VtYW50aWNzIG9mIHRoZSBvcGVuaW5nIGF0b20gYW5kIG9ubHkgaXRzIHJlc3VsdAorZnJvbSB0aGUgdG9wLWxldmVsIGlzIHF1b3RlZC4KKwogCiBFWEFNUExFUwogLS0tLS0tLS0KQEAgLTI3Myw2ICszMjksMjIgQEAKIGV2YWwgIiRldmFsIgogLS0tLS0tLS0tLS0tCiAKKworQW4gZXhhbXBsZSB0byBzaG93IHRoZSB1c2FnZSBvZiAlKGlmKS4uLiUodGhlbikuLi4lKGVsc2UpLi4uJShlbmQpLgorVGhpcyBwcmVmaXhlcyB0aGUgY3VycmVudCBicmFuY2ggd2l0aCBhIHN0YXIuCisKKy0tLS0tLS0tLS0tLQorZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShpZiklKEhFQUQpJSh0aGVuKSogJShlbHNlKSAgJShlbmQpJShyZWZuYW1lOnNob3J0KSIgcmVmcy9oZWFkcy8KKy0tLS0tLS0tLS0tLQorCisKK0FuIGV4YW1wbGUgdG8gc2hvdyB0aGUgdXNhZ2Ugb2YgJShpZikuLi4lKHRoZW4pLi4uJShlbmQpLgorVGhpcyBwcmludHMgdGhlIGF1dGhvcm5hbWUsIGlmIHByZXNlbnQuCisKKy0tLS0tLS0tLS0tLQorZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShyZWZuYW1lKSUoaWYpJShhdXRob3JuYW1lKSUodGhlbikgQXV0aG9yZWQgYnk6ICUoYXV0aG9ybmFtZSklKGVuZCkiCistLS0tLS0tLS0tLS0KKwogU0VFIEFMU08KIC0tLS0tLS0tCiBsaW5rZ2l0OmdpdC1zaG93LXJlZlsxXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZvcm1hdC1wYXRjaC50eHQKaW5kZXggZjdhMDY5Yi4uNmNiZTQ2MiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1mb3JtYXQtcGF0Y2gudHh0CkBAIC0yMyw2ICsyMyw3IEBACiAJCSAgIFsoLS1yZXJvbGwtY291bnR8LXYpIDxuPl0KIAkJICAgWy0tdG89PGVtYWlsPl0gWy0tY2M9PGVtYWlsPl0KIAkJICAgWy0tW25vLV1jb3Zlci1sZXR0ZXJdIFstLXF1aWV0XSBbLS1ub3Rlc1s9PHJlZj5dXQorCQkgICBbLS1wcm9ncmVzc10KIAkJICAgWzxjb21tb24gZGlmZiBvcHRpb25zPl0KIAkJICAgWyA8c2luY2U+IHwgPHJldmlzaW9uIHJhbmdlPiBdCiAKQEAgLTI4Myw2ICsyODQsOSBAQAogCXJhbmdlIGFyZSBhbHdheXMgZm9ybWF0dGVkIGFzIGNyZWF0aW9uIHBhdGNoZXMsIGluZGVwZW5kZW50bHkKIAlvZiB0aGlzIGZsYWcuCiAKKy0tcHJvZ3Jlc3M6OgorCVNob3cgcHJvZ3Jlc3MgcmVwb3J0cyBvbiBzdGRlcnIgYXMgcGF0Y2hlcyBhcmUgZ2VuZXJhdGVkLgorCiBDT05GSUdVUkFUSU9OCiAtLS0tLS0tLS0tLS0tCiBZb3UgY2FuIHNwZWNpZnkgZXh0cmEgbWFpbCBoZWFkZXIgbGluZXMgdG8gYmUgYWRkZWQgdG8gZWFjaCBtZXNzYWdlLApAQCAtNTU3LDcgKzU2MSw3IEBACiAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KIAogV2l0aCBgZ2l0IGZvcm1hdC1wYXRjaCAtLWJhc2U9UCAtMyBDYCAob3IgdmFyaWFudHMgdGhlcmVvZiwgZS5nLiB3aXRoCi1gLS1jb3Zlci1sZXR0ZXJgIG9mIHVzaW5nIGBaLi5DYCBpbnN0ZWFkIG9mIGAtMyBDYCB0byBzcGVjaWZ5IHRoZQorYC0tY292ZXItbGV0dGVyYCBvciB1c2luZyBgWi4uQ2AgaW5zdGVhZCBvZiBgLTMgQ2AgdG8gc3BlY2lmeSB0aGUKIHJhbmdlKSwgdGhlIGJhc2UgdHJlZSBpbmZvcm1hdGlvbiBibG9jayBpcyBzaG93biBhdCB0aGUgZW5kIG9mIHRoZQogZmlyc3QgbWVzc2FnZSB0aGUgY29tbWFuZCBvdXRwdXRzIChlaXRoZXIgdGhlIGZpcnN0IHBhdGNoLCBvciB0aGUKIGNvdmVyIGxldHRlciksIGxpa2UgdGhpczoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWdyZXAudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKaW5kZXggNzFmMzJmMy4uMThiNDk0NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKQEAgLTk1LDEzICs5NSw2IEBACiAJPHRyZWU+IG9wdGlvbiB0aGUgcHJlZml4IG9mIGFsbCBzdWJtb2R1bGUgb3V0cHV0IHdpbGwgYmUgdGhlIG5hbWUgb2YKIAl0aGUgcGFyZW50IHByb2plY3QncyA8dHJlZT4gb2JqZWN0LgogCi0tLXBhcmVudC1iYXNlbmFtZSA8YmFzZW5hbWU+OjoKLQlGb3IgaW50ZXJuYWwgdXNlIG9ubHkuICBJbiBvcmRlciB0byBwcm9kdWNlIHVuaWZvcm0gb3V0cHV0IHdpdGggdGhlCi0JLS1yZWN1cnNlLXN1Ym1vZHVsZXMgb3B0aW9uLCB0aGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBwcm92aWRlIHRoZQotCWJhc2VuYW1lIG9mIGEgcGFyZW50J3MgPHRyZWU+IG9iamVjdCB0byBhIHN1Ym1vZHVsZSBzbyB0aGUgc3VibW9kdWxlCi0JY2FuIHByZWZpeCBpdHMgb3V0cHV0IHdpdGggdGhlIHBhcmVudCdzIG5hbWUgcmF0aGVyIHRoYW4gdGhlIFNIQTEgb2YKLQl0aGUgc3VibW9kdWxlLgotCiAtYTo6CiAtLXRleHQ6OgogCVByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIGlmIHRoZXkgd2VyZSB0ZXh0LgpAQCAtMTYxLDggKzE1NCwxMSBAQAogCiAtUDo6CiAtLXBlcmwtcmVnZXhwOjoKLQlVc2UgUGVybC1jb21wYXRpYmxlIHJlZ2V4cCBmb3IgcGF0dGVybnMuIFJlcXVpcmVzIGxpYnBjcmUgdG8gYmUKLQljb21waWxlZCBpbi4KKwlVc2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgZm9yIHBhdHRlcm5zLgorKworU3VwcG9ydCBmb3IgdGhlc2UgdHlwZXMgb2YgcmVndWxhciBleHByZXNzaW9ucyBpcyBhbiBvcHRpb25hbAorY29tcGlsZS10aW1lIGRlcGVuZGVuY3kuIElmIEdpdCB3YXNuJ3QgY29tcGlsZWQgd2l0aCBzdXBwb3J0IGZvciB0aGVtCitwcm92aWRpbmcgdGhpcyBvcHRpb24gd2lsbCBjYXVzZSBpdCB0byBkaWUuCiAKIC1GOjoKIC0tZml4ZWQtc3RyaW5nczo6CkBAIC0yOTMsNiArMjg5LDkgQEAKIDxwYXRoc3BlYz4uLi46OgogCUlmIGdpdmVuLCBsaW1pdCB0aGUgc2VhcmNoIHRvIHBhdGhzIG1hdGNoaW5nIGF0IGxlYXN0IG9uZSBwYXR0ZXJuLgogCUJvdGggbGVhZGluZyBwYXRocyBtYXRjaCBhbmQgZ2xvYig3KSBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLgorKworRm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgPHBhdGhzcGVjPiBzeW50YXgsIHNlZSB0aGUgJ3BhdGhzcGVjJyBlbnRyeQoraW4gbGlua2dpdDpnaXRnbG9zc2FyeVs3XS4KIAogRXhhbXBsZXMKIC0tLS0tLS0tCkBAIC0zMDksNiArMzA4LDkgQEAKIAlMb29rcyBmb3IgYSBsaW5lIHRoYXQgaGFzIGBOT0RFYCBvciBgVW5leHBlY3RlZGAgaW4KIAlmaWxlcyB0aGF0IGhhdmUgbGluZXMgdGhhdCBtYXRjaCBib3RoLgogCitgZ2l0IGdyZXAgc29sdXRpb24gLS0gOl5Eb2N1bWVudGF0aW9uYDo6CisJTG9va3MgZm9yIGBzb2x1dGlvbmAsIGV4Y2x1ZGluZyBmaWxlcyBpbiBgRG9jdW1lbnRhdGlvbmAuCisKIEdJVAogLS0tCiBQYXJ0IG9mIHRoZSBsaW5rZ2l0OmdpdFsxXSBzdWl0ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtaW50ZXJwcmV0LXRyYWlsZXJzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWludGVycHJldC10cmFpbGVycy50eHQKaW5kZXggMDkwNzRjNy4uOWRkMTlhMSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtaW50ZXJwcmV0LXRyYWlsZXJzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1pbnRlcnByZXQtdHJhaWxlcnMudHh0CkBAIC0zLDI0ICszLDI3IEBACiAKIE5BTUUKIC0tLS0KLWdpdC1pbnRlcnByZXQtdHJhaWxlcnMgLSBoZWxwIGFkZCBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIGludG8gY29tbWl0IG1lc3NhZ2VzCitnaXQtaW50ZXJwcmV0LXRyYWlsZXJzIC0gYWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzCiAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCBpbnRlcnByZXQtdHJhaWxlcnMnIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciA8dG9rZW4+Wyg9fDopPHZhbHVlPl0pLi4uXSBbPGZpbGU+Li4uXQorJ2dpdCBpbnRlcnByZXQtdHJhaWxlcnMnIFtvcHRpb25zXSBbKC0tdHJhaWxlciA8dG9rZW4+Wyg9fDopPHZhbHVlPl0pLi4uXSBbPGZpbGU+Li4uXQorJ2dpdCBpbnRlcnByZXQtdHJhaWxlcnMnIFtvcHRpb25zXSBbLS1wYXJzZV0gWzxmaWxlPi4uLl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCi1IZWxwIGFkZGluZyAndHJhaWxlcnMnIGxpbmVzLCB0aGF0IGxvb2sgc2ltaWxhciB0byBSRkMgODIyIGUtbWFpbAorSGVscCBwYXJzaW5nIG9yIGFkZGluZyAndHJhaWxlcnMnIGxpbmVzLCB0aGF0IGxvb2sgc2ltaWxhciB0byBSRkMgODIyIGUtbWFpbAogaGVhZGVycywgYXQgdGhlIGVuZCBvZiB0aGUgb3RoZXJ3aXNlIGZyZWUtZm9ybSBwYXJ0IG9mIGEgY29tbWl0CiBtZXNzYWdlLgogCiBUaGlzIGNvbW1hbmQgcmVhZHMgc29tZSBwYXRjaGVzIG9yIGNvbW1pdCBtZXNzYWdlcyBmcm9tIGVpdGhlciB0aGUKLTxmaWxlPiBhcmd1bWVudHMgb3IgdGhlIHN0YW5kYXJkIGlucHV0IGlmIG5vIDxmaWxlPiBpcyBzcGVjaWZpZWQuIFRoZW4KLXRoaXMgY29tbWFuZCBhcHBsaWVzIHRoZSBhcmd1bWVudHMgcGFzc2VkIHVzaW5nIHRoZSBgLS10cmFpbGVyYAotb3B0aW9uLCBpZiBhbnksIHRvIHRoZSBjb21taXQgbWVzc2FnZSBwYXJ0IG9mIGVhY2ggaW5wdXQgZmlsZS4gVGhlCi1yZXN1bHQgaXMgZW1pdHRlZCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0LgorPGZpbGU+IGFyZ3VtZW50cyBvciB0aGUgc3RhbmRhcmQgaW5wdXQgaWYgbm8gPGZpbGU+IGlzIHNwZWNpZmllZC4gSWYKK2AtLXBhcnNlYCBpcyBzcGVjaWZpZWQsIHRoZSBvdXRwdXQgY29uc2lzdHMgb2YgdGhlIHBhcnNlZCB0cmFpbGVycy4KKworT3RoZXJ3aXNlLCB0aGlzIGNvbW1hbmQgYXBwbGllcyB0aGUgYXJndW1lbnRzIHBhc3NlZCB1c2luZyB0aGUKK2AtLXRyYWlsZXJgIG9wdGlvbiwgaWYgYW55LCB0byB0aGUgY29tbWl0IG1lc3NhZ2UgcGFydCBvZiBlYWNoIGlucHV0CitmaWxlLiBUaGUgcmVzdWx0IGlzIGVtaXR0ZWQgb24gdGhlIHN0YW5kYXJkIG91dHB1dC4KIAogU29tZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBjb250cm9sIHRoZSB3YXkgdGhlIGAtLXRyYWlsZXJgIGFyZ3VtZW50cwogYXJlIGFwcGxpZWQgdG8gZWFjaCBjb21taXQgbWVzc2FnZSBhbmQgdGhlIHdheSBhbnkgZXhpc3RpbmcgdHJhaWxlciBpbgpAQCAtODAsNiArODMsNDUgQEAKIAl0cmFpbGVyIHRvIHRoZSBpbnB1dCBtZXNzYWdlcy4gU2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzCiAJY29tbWFuZC4KIAorLS13aGVyZSA8cGxhY2VtZW50Pjo6CistLW5vLXdoZXJlOjoKKwlTcGVjaWZ5IHdoZXJlIGFsbCBuZXcgdHJhaWxlcnMgd2lsbCBiZSBhZGRlZC4gIEEgc2V0dGluZworCXByb3ZpZGVkIHdpdGggJy0td2hlcmUnIG92ZXJyaWRlcyBhbGwgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKKwlhbmQgYXBwbGllcyB0byBhbGwgJy0tdHJhaWxlcicgb3B0aW9ucyB1bnRpbCB0aGUgbmV4dCBvY2N1cnJlbmNlIG9mCisJJy0td2hlcmUnIG9yICctLW5vLXdoZXJlJy4KKworLS1pZi1leGlzdHMgPGFjdGlvbj46OgorLS1uby1pZi1leGlzdHM6OgorCVNwZWNpZnkgd2hhdCBhY3Rpb24gd2lsbCBiZSBwZXJmb3JtZWQgd2hlbiB0aGVyZSBpcyBhbHJlYWR5IGF0CisJbGVhc3Qgb25lIHRyYWlsZXIgd2l0aCB0aGUgc2FtZSA8dG9rZW4+IGluIHRoZSBtZXNzYWdlLiAgQSBzZXR0aW5nCisJcHJvdmlkZWQgd2l0aCAnLS1pZi1leGlzdHMnIG92ZXJyaWRlcyBhbGwgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKKwlhbmQgYXBwbGllcyB0byBhbGwgJy0tdHJhaWxlcicgb3B0aW9ucyB1bnRpbCB0aGUgbmV4dCBvY2N1cnJlbmNlIG9mCisJJy0taWYtZXhpc3RzJyBvciAnLS1uby1pZi1leGlzdHMnLgorCistLWlmLW1pc3NpbmcgPGFjdGlvbj46OgorLS1uby1pZi1taXNzaW5nOjoKKwlTcGVjaWZ5IHdoYXQgYWN0aW9uIHdpbGwgYmUgcGVyZm9ybWVkIHdoZW4gdGhlcmUgaXMgbm8gb3RoZXIKKwl0cmFpbGVyIHdpdGggdGhlIHNhbWUgPHRva2VuPiBpbiB0aGUgbWVzc2FnZS4gIEEgc2V0dGluZworCXByb3ZpZGVkIHdpdGggJy0taWYtbWlzc2luZycgb3ZlcnJpZGVzIGFsbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcworCWFuZCBhcHBsaWVzIHRvIGFsbCAnLS10cmFpbGVyJyBvcHRpb25zIHVudGlsIHRoZSBuZXh0IG9jY3VycmVuY2Ugb2YKKwknLS1pZi1taXNzaW5nJyBvciAnLS1uby1pZi1taXNzaW5nJy4KKworLS1vbmx5LXRyYWlsZXJzOjoKKwlPdXRwdXQgb25seSB0aGUgdHJhaWxlcnMsIG5vdCBhbnkgb3RoZXIgcGFydHMgb2YgdGhlIGlucHV0LgorCistLW9ubHktaW5wdXQ6OgorCU91dHB1dCBvbmx5IHRyYWlsZXJzIHRoYXQgZXhpc3QgaW4gdGhlIGlucHV0OyBkbyBub3QgYWRkIGFueQorCWZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBieSBmb2xsb3dpbmcgY29uZmlndXJlZCBgdHJhaWxlci4qYAorCXJ1bGVzLgorCistLXVuZm9sZDo6CisJUmVtb3ZlIGFueSB3aGl0ZXNwYWNlLWNvbnRpbnVhdGlvbiBpbiB0cmFpbGVycywgc28gdGhhdCBlYWNoCisJdHJhaWxlciBhcHBlYXJzIG9uIGEgbGluZSBieSBpdHNlbGYgd2l0aCBpdHMgZnVsbCBjb250ZW50LgorCistLXBhcnNlOjoKKwlBIGNvbnZlbmllbmNlIGFsaWFzIGZvciBgLS1vbmx5LXRyYWlsZXJzIC0tb25seS1pbnB1dAorCS0tdW5mb2xkYC4KKwogQ09ORklHVVJBVElPTiBWQVJJQUJMRVMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTEyMyw3ICsxNjUsNyBAQAogCXNhbWUgPHRva2VuPiBpbiB0aGUgbWVzc2FnZS4KICsKIFRoZSB2YWxpZCB2YWx1ZXMgZm9yIHRoaXMgb3B0aW9uIGFyZTogYGFkZElmRGlmZmVyZW50TmVpZ2hib3JgICh0aGlzCi1pcyB0aGUgZGVmYXVsdCksIGBhZGRJZkRpZmZlcmVudGAsIGBhZGRgLCBgb3ZlcndyaXRlYCBvciBgZG9Ob3RoaW5nYC4KK2lzIHRoZSBkZWZhdWx0KSwgYGFkZElmRGlmZmVyZW50YCwgYGFkZGAsIGByZXBsYWNlYCBvciBgZG9Ob3RoaW5nYC4KICsKIFdpdGggYGFkZElmRGlmZmVyZW50TmVpZ2hib3JgLCBhIG5ldyB0cmFpbGVyIHdpbGwgYmUgYWRkZWQgb25seSBpZiBubwogdHJhaWxlciB3aXRoIHRoZSBzYW1lICg8dG9rZW4+LCA8dmFsdWU+KSBwYWlyIGlzIGFib3ZlIG9yIGJlbG93IHRoZSBsaW5lCkBAIC0xNzAsOCArMjEyLDggQEAKIAljb25maWd1cmF0aW9uIHZhcmlhYmxlIGFuZCBpdCBvdmVycmlkZXMgd2hhdCBpcyBzcGVjaWZpZWQgYnkKIAl0aGF0IG9wdGlvbiBmb3IgdHJhaWxlcnMgd2l0aCB0aGUgc3BlY2lmaWVkIDx0b2tlbj4uCiAKLXRyYWlsZXIuPHRva2VuPi5pZmV4aXN0OjoKLQlUaGlzIG9wdGlvbiB0YWtlcyB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlICd0cmFpbGVyLmlmZXhpc3QnCit0cmFpbGVyLjx0b2tlbj4uaWZleGlzdHM6OgorCVRoaXMgb3B0aW9uIHRha2VzIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgJ3RyYWlsZXIuaWZleGlzdHMnCiAJY29uZmlndXJhdGlvbiB2YXJpYWJsZSBhbmQgaXQgb3ZlcnJpZGVzIHdoYXQgaXMgc3BlY2lmaWVkIGJ5CiAJdGhhdCBvcHRpb24gZm9yIHRyYWlsZXJzIHdpdGggdGhlIHNwZWNpZmllZCA8dG9rZW4+LgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1scy1maWxlcy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1scy1maWxlcy50eHQKaW5kZXggNDQ2MjA5ZS4uZDE1M2MxNyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbHMtZmlsZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWxzLWZpbGVzLnR4dApAQCAtNTcsNyArNTcsNyBAQAogCiAtczo6CiAtLXN0YWdlOjoKLQlTaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUsIG1vZGUgYml0cyBhbmQgc3RhZ2UgbnVtYmVyIGluIHRoZSBvdXRwdXQuCisJU2hvdyBzdGFnZWQgY29udGVudHMnIG1vZGUgYml0cywgb2JqZWN0IG5hbWUgYW5kIHN0YWdlIG51bWJlciBpbiB0aGUgb3V0cHV0LgogCiAtLWRpcmVjdG9yeTo6CiAJSWYgYSB3aG9sZSBkaXJlY3RvcnkgaXMgY2xhc3NpZmllZCBhcyAib3RoZXIiLCBzaG93IGp1c3QgaXRzCkBAIC03Nyw3ICs3Nyw4IEBACiAJc3VjY2VlZC4KIAogLXo6OgotCVwwIGxpbmUgdGVybWluYXRpb24gb24gb3V0cHV0LgorCVwwIGxpbmUgdGVybWluYXRpb24gb24gb3V0cHV0IGFuZCBkbyBub3QgcXVvdGUgZmlsZW5hbWVzLgorCVNlZSBPVVRQVVQgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKIC14IDxwYXR0ZXJuPjo6CiAtLWV4Y2x1ZGU9PHBhdHRlcm4+OjoKQEAgLTE5Niw5ICsxOTcsMTAgQEAKIHRoZSB1c2VyIChvciB0aGUgcG9yY2VsYWluKSB0byBzZWUgd2hhdCBzaG91bGQgZXZlbnR1YWxseSBiZSByZWNvcmRlZCBhdCB0aGUKIHBhdGguIChzZWUgbGlua2dpdDpnaXQtcmVhZC10cmVlWzFdIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHN0YXRlKQogCi1XaGVuIGAtemAgb3B0aW9uIGlzIG5vdCB1c2VkLCBUQUIsIExGLCBhbmQgYmFja3NsYXNoIGNoYXJhY3RlcnMKLWluIHBhdGhuYW1lcyBhcmUgcmVwcmVzZW50ZWQgYXMgYFx0YCwgYFxuYCwgYW5kIGBcXGAsCi1yZXNwZWN0aXZlbHkuCitXaXRob3V0IHRoZSBgLXpgIG9wdGlvbiwgcGF0aG5hbWVzIHdpdGggInVudXN1YWwiIGNoYXJhY3RlcnMgYXJlCitxdW90ZWQgYXMgZXhwbGFpbmVkIGZvciB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgY29yZS5xdW90ZVBhdGhgCisoc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuICBVc2luZyBgLXpgIHRoZSBmaWxlbmFtZSBpcyBvdXRwdXQKK3ZlcmJhdGltIGFuZCB0aGUgbGluZSBpcyB0ZXJtaW5hdGVkIGJ5IGEgTlVMIGJ5dGUuCiAKIAogRXhjbHVkZSBQYXR0ZXJucwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbHMtdHJlZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1scy10cmVlLnR4dAppbmRleCBkYmM5MWY5Li45ZGVlN2JlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1scy10cmVlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1scy10cmVlLnR4dApAQCAtNTMsNyArNTMsOCBAQAogCVNob3cgb2JqZWN0IHNpemUgb2YgYmxvYiAoZmlsZSkgZW50cmllcy4KIAogLXo6OgotCVwwIGxpbmUgdGVybWluYXRpb24gb24gb3V0cHV0LgorCVwwIGxpbmUgdGVybWluYXRpb24gb24gb3V0cHV0IGFuZCBkbyBub3QgcXVvdGUgZmlsZW5hbWVzLgorCVNlZSBPVVRQVVQgRk9STUFUIGJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uLgogCiAtLW5hbWUtb25seTo6CiAtLW5hbWUtc3RhdHVzOjoKQEAgLTgyLDggKzgzLDYgQEAKIC0tLS0tLS0tLS0tLS0KICAgICAgICAgPG1vZGU+IFNQIDx0eXBlPiBTUCA8b2JqZWN0PiBUQUIgPGZpbGU+CiAKLVVubGVzcyB0aGUgYC16YCBvcHRpb24gaXMgdXNlZCwgVEFCLCBMRiwgYW5kIGJhY2tzbGFzaCBjaGFyYWN0ZXJzCi1pbiBwYXRobmFtZXMgYXJlIHJlcHJlc2VudGVkIGFzIGBcdGAsIGBcbmAsIGFuZCBgXFxgLCByZXNwZWN0aXZlbHkuCiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgY29tcGF0aWJsZSB3aXRoIHdoYXQgYC0taW5kZXgtaW5mbyAtLXN0ZGluYCBvZgogJ2dpdCB1cGRhdGUtaW5kZXgnIGV4cGVjdHMuCiAKQEAgLTk1LDYgKzk0LDExIEBACiB3aXRoIG1pbmltdW0gd2lkdGggb2YgNyBjaGFyYWN0ZXJzLiAgT2JqZWN0IHNpemUgaXMgZ2l2ZW4gb25seSBmb3IgYmxvYnMKIChmaWxlKSBlbnRyaWVzOyBmb3Igb3RoZXIgZW50cmllcyBgLWAgY2hhcmFjdGVyIGlzIHVzZWQgaW4gcGxhY2Ugb2Ygc2l6ZS4KIAorV2l0aG91dCB0aGUgYC16YCBvcHRpb24sIHBhdGhuYW1lcyB3aXRoICJ1bnVzdWFsIiBjaGFyYWN0ZXJzIGFyZQorcXVvdGVkIGFzIGV4cGxhaW5lZCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGNvcmUucXVvdGVQYXRoYAorKHNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0pLiAgVXNpbmcgYC16YCB0aGUgZmlsZW5hbWUgaXMgb3V0cHV0Cit2ZXJiYXRpbSBhbmQgdGhlIGxpbmUgaXMgdGVybWluYXRlZCBieSBhIE5VTCBieXRlLgorCiBHSVQKIC0tLQogUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLnR4dAppbmRleCBjYTNjMjdiLi40ZGY2NDMxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UudHh0CkBAIC0xMyw3ICsxMyw2IEBACiAJWy1zIDxzdHJhdGVneT5dIFstWCA8c3RyYXRlZ3ktb3B0aW9uPl0gWy1TWzxrZXlpZD5dXQogCVstLVtuby1dYWxsb3ctdW5yZWxhdGVkLWhpc3Rvcmllc10KIAlbLS1bbm8tXXJlcmVyZS1hdXRvdXBkYXRlXSBbLW0gPG1zZz5dIFs8Y29tbWl0Pi4uLl0KLSdnaXQgbWVyZ2UnIDxtc2c+IEhFQUQgPGNvbW1pdD4uLi4KICdnaXQgbWVyZ2UnIC0tYWJvcnQKICdnaXQgbWVyZ2UnIC0tY29udGludWUKIApAQCAtNDYsMTEgKzQ1LDcgQEAKICAgICBELS0tRS0tLUYtLS1HLS0tSCBtYXN0ZXIKIC0tLS0tLS0tLS0tLQogCi1UaGUgc2Vjb25kIHN5bnRheCAoPG1zZz4gYEhFQURgIDxjb21taXQ+Li4uKSBpcyBzdXBwb3J0ZWQgZm9yCi1oaXN0b3JpY2FsIHJlYXNvbnMuICBEbyBub3QgdXNlIGl0IGZyb20gdGhlIGNvbW1hbmQgbGluZSBvciBpbgotbmV3IHNjcmlwdHMuICBJdCBpcyB0aGUgc2FtZSBhcyBgZ2l0IG1lcmdlIC1tIDxtc2c+IDxjb21taXQ+Li4uYC4KLQotVGhlIHRoaXJkIHN5bnRheCAoImBnaXQgbWVyZ2UgLS1hYm9ydGAiKSBjYW4gb25seSBiZSBydW4gYWZ0ZXIgdGhlCitUaGUgc2Vjb25kIHN5bnRheCAoImBnaXQgbWVyZ2UgLS1hYm9ydGAiKSBjYW4gb25seSBiZSBydW4gYWZ0ZXIgdGhlCiBtZXJnZSBoYXMgcmVzdWx0ZWQgaW4gY29uZmxpY3RzLiAnZ2l0IG1lcmdlIC0tYWJvcnQnIHdpbGwgYWJvcnQgdGhlCiBtZXJnZSBwcm9jZXNzIGFuZCB0cnkgdG8gcmVjb25zdHJ1Y3QgdGhlIHByZS1tZXJnZSBzdGF0ZS4gSG93ZXZlciwKIGlmIHRoZXJlIHdlcmUgdW5jb21taXR0ZWQgY2hhbmdlcyB3aGVuIHRoZSBtZXJnZSBzdGFydGVkIChhbmQKQEAgLTY5LDYgKzY0LDE0IEBACiAtLS0tLS0tCiBpbmNsdWRlOjptZXJnZS1vcHRpb25zLnR4dFtdCiAKKy0tc2lnbm9mZjo6CisJQWRkIFNpZ25lZC1vZmYtYnkgbGluZSBieSB0aGUgY29tbWl0dGVyIGF0IHRoZSBlbmQgb2YgdGhlIGNvbW1pdAorCWxvZyBtZXNzYWdlLiAgVGhlIG1lYW5pbmcgb2YgYSBzaWdub2ZmIGRlcGVuZHMgb24gdGhlIHByb2plY3QsCisJYnV0IGl0IHR5cGljYWxseSBjZXJ0aWZpZXMgdGhhdCBjb21taXR0ZXIgaGFzCisJdGhlIHJpZ2h0cyB0byBzdWJtaXQgdGhpcyB3b3JrIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYW5kCisJYWdyZWVzIHRvIGEgRGV2ZWxvcGVyIENlcnRpZmljYXRlIG9mIE9yaWdpbgorCShzZWUgaHR0cDovL2RldmVsb3BlcmNlcnRpZmljYXRlLm9yZy8gZm9yIG1vcmUgaW5mb3JtYXRpb24pLgorCiAtU1s8a2V5aWQ+XTo6CiAtLWdwZy1zaWduWz08a2V5aWQ+XTo6CiAJR1BHLXNpZ24gdGhlIHJlc3VsdGluZyBtZXJnZSBjb21taXQuIFRoZSBga2V5aWRgIGFyZ3VtZW50IGlzCkBAIC0xMzgsNyArMTQxLDcgQEAKIHdvdWxkIHJlc3VsdCBmcm9tIHRoZSBtZXJnZSBhbHJlYWR5LikKIAogSWYgYWxsIG5hbWVkIGNvbW1pdHMgYXJlIGFscmVhZHkgYW5jZXN0b3JzIG9mIGBIRUFEYCwgJ2dpdCBtZXJnZScKLXdpbGwgZXhpdCBlYXJseSB3aXRoIHRoZSBtZXNzYWdlICJBbHJlYWR5IHVwLXRvLWRhdGUuIgord2lsbCBleGl0IGVhcmx5IHdpdGggdGhlIG1lc3NhZ2UgIkFscmVhZHkgdXAgdG8gZGF0ZS4iCiAKIEZBU1QtRk9SV0FSRCBNRVJHRQogLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yODUsNyArMjg4LDEwIEBACiAKICAqIFJlc29sdmUgdGhlIGNvbmZsaWN0cy4gIEdpdCB3aWxsIG1hcmsgdGhlIGNvbmZsaWN0cyBpbgogICAgdGhlIHdvcmtpbmcgdHJlZS4gIEVkaXQgdGhlIGZpbGVzIGludG8gc2hhcGUgYW5kCi0gICAnZ2l0IGFkZCcgdGhlbSB0byB0aGUgaW5kZXguICBVc2UgJ2dpdCBjb21taXQnIHRvIHNlYWwgdGhlIGRlYWwuCisgICAnZ2l0IGFkZCcgdGhlbSB0byB0aGUgaW5kZXguICBVc2UgJ2dpdCBjb21taXQnIG9yCisgICAnZ2l0IG1lcmdlIC0tY29udGludWUnIHRvIHNlYWwgdGhlIGRlYWwuIFRoZSBsYXR0ZXIgY29tbWFuZAorICAgY2hlY2tzIHdoZXRoZXIgdGhlcmUgaXMgYSAoaW50ZXJydXB0ZWQpIG1lcmdlIGluIHByb2dyZXNzCisgICBiZWZvcmUgY2FsbGluZyAnZ2l0IGNvbW1pdCcuCiAKIFlvdSBjYW4gd29yayB0aHJvdWdoIHRoZSBjb25mbGljdCB3aXRoIGEgbnVtYmVyIG9mIHRvb2xzOgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1uYW1lLXJldi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1uYW1lLXJldi50eHQKaW5kZXggY2EyOGZiOC4uZThlNjhmNSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbmFtZS1yZXYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW5hbWUtcmV2LnR4dApAQCAtMjYsNyArMjYsMTggQEAKIAogLS1yZWZzPTxwYXR0ZXJuPjo6CiAJT25seSB1c2UgcmVmcyB3aG9zZSBuYW1lcyBtYXRjaCBhIGdpdmVuIHNoZWxsIHBhdHRlcm4uICBUaGUgcGF0dGVybgotCWNhbiBiZSBvbmUgb2YgYnJhbmNoIG5hbWUsIHRhZyBuYW1lIG9yIGZ1bGx5IHF1YWxpZmllZCByZWYgbmFtZS4KKwljYW4gYmUgb25lIG9mIGJyYW5jaCBuYW1lLCB0YWcgbmFtZSBvciBmdWxseSBxdWFsaWZpZWQgcmVmIG5hbWUuIElmCisJZ2l2ZW4gbXVsdGlwbGUgdGltZXMsIHVzZSByZWZzIHdob3NlIG5hbWVzIG1hdGNoIGFueSBvZiB0aGUgZ2l2ZW4gc2hlbGwKKwlwYXR0ZXJucy4gVXNlIGAtLW5vLXJlZnNgIHRvIGNsZWFyIGFueSBwcmV2aW91cyByZWYgcGF0dGVybnMgZ2l2ZW4uCisKKy0tZXhjbHVkZT08cGF0dGVybj46OgorCURvIG5vdCB1c2UgYW55IHJlZiB3aG9zZSBuYW1lIG1hdGNoZXMgYSBnaXZlbiBzaGVsbCBwYXR0ZXJuLiBUaGUKKwlwYXR0ZXJuIGNhbiBiZSBvbmUgb2YgYnJhbmNoIG5hbWUsIHRhZyBuYW1lIG9yIGZ1bGx5IHF1YWxpZmllZCByZWYKKwluYW1lLiBJZiBnaXZlbiBtdWx0aXBsZSB0aW1lcywgYSByZWYgd2lsbCBiZSBleGNsdWRlZCB3aGVuIGl0IG1hdGNoZXMKKwlhbnkgb2YgdGhlIGdpdmVuIHBhdHRlcm5zLiBXaGVuIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlZnMsIGEgcmVmIHdpbGwKKwliZSB1c2VkIGFzIGEgbWF0Y2ggb25seSB3aGVuIGl0IG1hdGNoZXMgYXQgbGVhc3Qgb25lIC0tcmVmcyBwYXR0ZXJuIGFuZAorCWRvZXMgbm90IG1hdGNoIGFueSAtLWV4Y2x1ZGUgcGF0dGVybnMuIFVzZSBgLS1uby1leGNsdWRlYCB0byBjbGVhciB0aGUKKwlsaXN0IG9mIGV4Y2x1ZGUgcGF0dGVybnMuCiAKIC0tYWxsOjoKIAlMaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ub3Rlcy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1ub3Rlcy50eHQKaW5kZXggYmU3ZGIzMC4uNDM2NzcyOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbm90ZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW5vdGVzLnR4dApAQCAtMTcxLDcgKzE3MSw3IEBACiAJb2JqZWN0IHRoYXQgZG9lcyBub3QgaGF2ZSBub3RlcyBhdHRhY2hlZCB0byBpdC4KIAogLS1zdGRpbjo6Ci0JQWxzbyByZWFkIHRoZSBvYmplY3QgbmFtZXMgdG8gcmVtb3ZlIG5vdGVzIGZyb20gZnJvbSB0aGUgc3RhbmRhcmQKKwlBbHNvIHJlYWQgdGhlIG9iamVjdCBuYW1lcyB0byByZW1vdmUgbm90ZXMgZnJvbSB0aGUgc3RhbmRhcmQKIAlpbnB1dCAodGhlcmUgaXMgbm8gcmVhc29uIHlvdSBjYW5ub3QgY29tYmluZSB0aGlzIHdpdGggb2JqZWN0CiAJbmFtZXMgZnJvbSB0aGUgY29tbWFuZCBsaW5lKS4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcGFjay1vYmplY3RzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXBhY2stb2JqZWN0cy50eHQKaW5kZXggODk3MzUxMC4uNDczYTE2MSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcGFjay1vYmplY3RzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1wYWNrLW9iamVjdHMudHh0CkBAIC0xOCw4ICsxOCw5IEBACiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQotUmVhZHMgbGlzdCBvZiBvYmplY3RzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LCBhbmQgd3JpdGVzIGEgcGFja2VkCi1hcmNoaXZlIHdpdGggc3BlY2lmaWVkIGJhc2UtbmFtZSwgb3IgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4KK1JlYWRzIGxpc3Qgb2Ygb2JqZWN0cyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCwgYW5kIHdyaXRlcyBlaXRoZXIgb25lIG9yCittb3JlIHBhY2tlZCBhcmNoaXZlcyB3aXRoIHRoZSBzcGVjaWZpZWQgYmFzZS1uYW1lIHRvIGRpc2ssIG9yIGEgcGFja2VkCithcmNoaXZlIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuCiAKIEEgcGFja2VkIGFyY2hpdmUgaXMgYW4gZWZmaWNpZW50IHdheSB0byB0cmFuc2ZlciBhIHNldCBvZiBvYmplY3RzCiBiZXR3ZWVuIHR3byByZXBvc2l0b3JpZXMgYXMgd2VsbCBhcyBhbiBhY2Nlc3MgZWZmaWNpZW50IGFyY2hpdmFsCkBAIC00Nyw5ICs0OCw5IEBACiBPUFRJT05TCiAtLS0tLS0tCiBiYXNlLW5hbWU6OgotCVdyaXRlIGludG8gYSBwYWlyIG9mIGZpbGVzICgucGFjayBhbmQgLmlkeCksIHVzaW5nCisJV3JpdGUgaW50byBwYWlycyBvZiBmaWxlcyAoLnBhY2sgYW5kIC5pZHgpLCB1c2luZwogCTxiYXNlLW5hbWU+IHRvIGRldGVybWluZSB0aGUgbmFtZSBvZiB0aGUgY3JlYXRlZCBmaWxlLgotCVdoZW4gdGhpcyBvcHRpb24gaXMgdXNlZCwgdGhlIHR3byBmaWxlcyBhcmUgd3JpdHRlbiBpbgorCVdoZW4gdGhpcyBvcHRpb24gaXMgdXNlZCwgdGhlIHR3byBmaWxlcyBpbiBhIHBhaXIgYXJlIHdyaXR0ZW4gaW4KIAk8YmFzZS1uYW1lPi08U0hBLTE+LntwYWNrLGlkeH0gZmlsZXMuICA8U0hBLTE+IGlzIGEgaGFzaAogCWJhc2VkIG9uIHRoZSBwYWNrIGNvbnRlbnQgYW5kIGlzIHdyaXR0ZW4gdG8gdGhlIHN0YW5kYXJkCiAJb3V0cHV0IG9mIHRoZSBjb21tYW5kLgpAQCAtMTA4LDkgKzEwOSwxMyBAQAogCWlzIHRha2VuIGZyb20gdGhlIGBwYWNrLndpbmRvd01lbW9yeWAgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KIAogLS1tYXgtcGFjay1zaXplPTxuPjo6Ci0JTWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZS4gVGhlIHNpemUgY2FuIGJlIHN1ZmZpeGVkIHdpdGgKKwlJbiB1bnVzdWFsIHNjZW5hcmlvcywgeW91IG1heSBub3QgYmUgYWJsZSB0byBjcmVhdGUgZmlsZXMKKwlsYXJnZXIgdGhhbiBhIGNlcnRhaW4gc2l6ZSBvbiB5b3VyIGZpbGVzeXN0ZW0sIGFuZCB0aGlzIG9wdGlvbgorCWNhbiBiZSB1c2VkIHRvIHRlbGwgdGhlIGNvbW1hbmQgdG8gc3BsaXQgdGhlIG91dHB1dCBwYWNrZmlsZQorCWludG8gbXVsdGlwbGUgaW5kZXBlbmRlbnQgcGFja2ZpbGVzLCBlYWNoIG5vdCBsYXJnZXIgdGhhbiB0aGUKKwlnaXZlbiBzaXplLiBUaGUgc2l6ZSBjYW4gYmUgc3VmZml4ZWQgd2l0aAogCSJrIiwgIm0iLCBvciAiZyIuIFRoZSBtaW5pbXVtIHNpemUgYWxsb3dlZCBpcyBsaW1pdGVkIHRvIDEgTWlCLgotCUlmIHNwZWNpZmllZCwgbXVsdGlwbGUgcGFja2ZpbGVzIG1heSBiZSBjcmVhdGVkLCB3aGljaCBhbHNvCisJVGhpcyBvcHRpb24KIAlwcmV2ZW50cyB0aGUgY3JlYXRpb24gb2YgYSBiaXRtYXAgaW5kZXguCiAJVGhlIGRlZmF1bHQgaXMgdW5saW1pdGVkLCB1bmxlc3MgdGhlIGNvbmZpZyB2YXJpYWJsZQogCWBwYWNrLnBhY2tTaXplTGltaXRgIGlzIHNldC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXBhdGNoLWlkLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXBhdGNoLWlkLnR4dAppbmRleCBjZjcxZmJhLi40NDJjYWZmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1wYXRjaC1pZC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcGF0Y2gtaWQudHh0CkBAIC01Niw5ICs1Niw2IEBACiAKIAlUaGlzIGlzIHRoZSBkZWZhdWx0LgogCi08cGF0Y2g+OjoKLQlUaGUgZGlmZiB0byBjcmVhdGUgdGhlIElEIG9mLgotCiBHSVQKIC0tLQogUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXB1bGwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcHVsbC50eHQKaW5kZXggNDQ3MGU0Yi4uY2UwNWI3YSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcHVsbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcHVsbC50eHQKQEAgLTY3LDcgKzY3LDcgQEAKIGluIGEgc3RhdGUgdGhhdCBtYXkgYmUgaGFyZCB0byBiYWNrIG91dCBvZiBpbiB0aGUgY2FzZSBvZiBhIGNvbmZsaWN0LgogCiBJZiBhbnkgb2YgdGhlIHJlbW90ZSBjaGFuZ2VzIG92ZXJsYXAgd2l0aCBsb2NhbCB1bmNvbW1pdHRlZCBjaGFuZ2VzLAotdGhlIG1lcmdlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYW5jZWxsZWQgYW5kIHRoZSB3b3JrIHRyZWUgdW50b3VjaGVkLgordGhlIG1lcmdlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYW5jZWxlZCBhbmQgdGhlIHdvcmsgdHJlZSB1bnRvdWNoZWQuCiBJdCBpcyBnZW5lcmFsbHkgYmVzdCB0byBnZXQgYW55IGxvY2FsIGNoYW5nZXMgaW4gd29ya2luZyBvcmRlciBiZWZvcmUKIHB1bGxpbmcgb3Igc3Rhc2ggdGhlbSBhd2F5IHdpdGggbGlua2dpdDpnaXQtc3Rhc2hbMV0uCiAKQEAgLTg2LDEyICs4NiwxMiBAQAogCiAtLVtuby1dcmVjdXJzZS1zdWJtb2R1bGVzWz15ZXN8b24tZGVtYW5kfG5vXTo6CiAJVGhpcyBvcHRpb24gY29udHJvbHMgaWYgbmV3IGNvbW1pdHMgb2YgYWxsIHBvcHVsYXRlZCBzdWJtb2R1bGVzIHNob3VsZAotCWJlIGZldGNoZWQgdG9vIChzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdIGFuZCBsaW5rZ2l0OmdpdG1vZHVsZXNbNV0pLgotCVRoYXQgbWlnaHQgYmUgbmVjZXNzYXJ5IHRvIGdldCB0aGUgZGF0YSBuZWVkZWQgZm9yIG1lcmdpbmcgc3VibW9kdWxlCi0JY29tbWl0cywgYSBmZWF0dXJlIEdpdCBsZWFybmVkIGluIDEuNy4zLiBOb3RpY2UgdGhhdCB0aGUgcmVzdWx0IG9mIGEKLQltZXJnZSB3aWxsIG5vdCBiZSBjaGVja2VkIG91dCBpbiB0aGUgc3VibW9kdWxlLCAiZ2l0IHN1Ym1vZHVsZSB1cGRhdGUiCi0JaGFzIHRvIGJlIGNhbGxlZCBhZnRlcndhcmRzIHRvIGJyaW5nIHRoZSB3b3JrIHRyZWUgdXAgdG8gZGF0ZSB3aXRoIHRoZQotCW1lcmdlIHJlc3VsdC4KKwliZSBmZXRjaGVkIGFuZCB1cGRhdGVkLCB0b28gKHNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0gYW5kCisJbGlua2dpdDpnaXRtb2R1bGVzWzVdKS4KKysKK0lmIHRoZSBjaGVja291dCBpcyBkb25lIHZpYSByZWJhc2UsIGxvY2FsIHN1Ym1vZHVsZSBjb21taXRzIGFyZSByZWJhc2VkIGFzIHdlbGwuCisrCitJZiB0aGUgdXBkYXRlIGlzIGRvbmUgdmlhIG1lcmdlLCB0aGUgc3VibW9kdWxlIGNvbmZsaWN0cyBhcmUgcmVzb2x2ZWQgYW5kIGNoZWNrZWQgb3V0LgogCiBPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZwogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KQEAgLTEzMSw3ICsxMzEsNyBAQAogLS1hdXRvc3Rhc2g6OgogLS1uby1hdXRvc3Rhc2g6OgogCUJlZm9yZSBzdGFydGluZyByZWJhc2UsIHN0YXNoIGxvY2FsIG1vZGlmaWNhdGlvbnMgYXdheSAoc2VlCi0JbGlua2dpdDpnaXQtc3Rhc2hbMV0pIGlmIG5lZWRlZCwgYW5kIGFwcGx5IHRoZSBzdGFzaCB3aGVuCisJbGlua2dpdDpnaXQtc3Rhc2hbMV0pIGlmIG5lZWRlZCwgYW5kIGFwcGx5IHRoZSBzdGFzaCBlbnRyeSB3aGVuCiAJZG9uZS4gYC0tbm8tYXV0b3N0YXNoYCBpcyB1c2VmdWwgdG8gb3ZlcnJpZGUgdGhlIGByZWJhc2UuYXV0b1N0YXNoYAogCWNvbmZpZ3VyYXRpb24gdmFyaWFibGUgKHNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0pLgogKwpAQCAtMTU5LDE1ICsxNTksMTUgQEAKIAogSW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHdoYXQgVVJMIHRvIHVzZSB0byBmZXRjaCBmcm9tLCB0aGUgdmFsdWUKIG9mIHRoZSBjb25maWd1cmF0aW9uIGByZW1vdGUuPG9yaWdpbj4udXJsYCBpcyBjb25zdWx0ZWQKLWFuZCBpZiB0aGVyZSBpcyBub3QgYW55IHN1Y2ggdmFyaWFibGUsIHRoZSB2YWx1ZSBvbiBgVVJMOiBgIGxpbmUKLWluIGAkR0lUX0RJUi9yZW1vdGVzLzxvcmlnaW4+YCBmaWxlIGlzIHVzZWQuCithbmQgaWYgdGhlcmUgaXMgbm90IGFueSBzdWNoIHZhcmlhYmxlLCB0aGUgdmFsdWUgb24gdGhlIGBVUkw6YCBsaW5lCitpbiBgJEdJVF9ESVIvcmVtb3Rlcy88b3JpZ2luPmAgaXMgdXNlZC4KIAogSW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHdoYXQgcmVtb3RlIGJyYW5jaGVzIHRvIGZldGNoIChhbmQKIG9wdGlvbmFsbHkgc3RvcmUgaW4gdGhlIHJlbW90ZS10cmFja2luZyBicmFuY2hlcykgd2hlbiB0aGUgY29tbWFuZCBpcwogcnVuIHdpdGhvdXQgYW55IHJlZnNwZWMgcGFyYW1ldGVycyBvbiB0aGUgY29tbWFuZCBsaW5lLCB2YWx1ZXMKIG9mIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGByZW1vdGUuPG9yaWdpbj4uZmV0Y2hgIGFyZQogY29uc3VsdGVkLCBhbmQgaWYgdGhlcmUgYXJlbid0IGFueSwgYCRHSVRfRElSL3JlbW90ZXMvPG9yaWdpbj5gCi1maWxlIGlzIGNvbnN1bHRlZCBhbmQgaXRzIGBQdWxsOiBgIGxpbmVzIGFyZSB1c2VkLgoraXMgY29uc3VsdGVkIGFuZCBpdHMgYFB1bGw6YCBsaW5lcyBhcmUgdXNlZC4KIEluIGFkZGl0aW9uIHRvIHRoZSByZWZzcGVjIGZvcm1hdHMgZGVzY3JpYmVkIGluIHRoZSBPUFRJT05TCiBzZWN0aW9uLCB5b3UgY2FuIGhhdmUgYSBnbG9iYmluZyByZWZzcGVjIHRoYXQgbG9va3MgbGlrZSB0aGlzOgogCkBAIC0yMTAsNyArMjEwLDggQEAKICAgY3VycmVudCBicmFuY2g6CiArCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IHB1bGwsIGdpdCBwdWxsIG9yaWdpbgorJCBnaXQgcHVsbAorJCBnaXQgcHVsbCBvcmlnaW4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKwogTm9ybWFsbHkgdGhlIGJyYW5jaCBtZXJnZWQgaW4gaXMgdGhlIEhFQUQgb2YgdGhlIHJlbW90ZSByZXBvc2l0b3J5LApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1wdXNoLnR4dAppbmRleCAxNjI0YTM1Li4zZTc2ZTk5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1wdXNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1wdXNoLnR4dApAQCAtMTIsNyArMTIsNyBAQAogJ2dpdCBwdXNoJyBbLS1hbGwgfCAtLW1pcnJvciB8IC0tdGFnc10gWy0tZm9sbG93LXRhZ3NdIFstLWF0b21pY10gWy1uIHwgLS1kcnktcnVuXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC1yZWNlaXZlLXBhY2s+XQogCSAgIFstLXJlcG89PHJlcG9zaXRvcnk+XSBbLWYgfCAtLWZvcmNlXSBbLWQgfCAtLWRlbGV0ZV0gWy0tcHJ1bmVdIFstdiB8IC0tdmVyYm9zZV0KIAkgICBbLXUgfCAtLXNldC11cHN0cmVhbV0gWy0tcHVzaC1vcHRpb249PHN0cmluZz5dCi0JICAgWy0tW25vLV1zaWduZWR8LS1zaWduPSh0cnVlfGZhbHNlfGlmLWFza2VkKV0KKwkgICBbLS1bbm8tXXNpZ25lZHwtLXNpZ25lZD0odHJ1ZXxmYWxzZXxpZi1hc2tlZCldCiAJICAgWy0tZm9yY2Utd2l0aC1sZWFzZVs9PHJlZm5hbWU+Wzo8ZXhwZWN0Pl1dXQogCSAgIFstLW5vLXZlcmlmeV0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0KIApAQCAtMTQxLDcgKzE0MSw3IEBACiAJaW5mb3JtYXRpb24sIHNlZSBgcHVzaC5mb2xsb3dUYWdzYCBpbiBsaW5rZ2l0OmdpdC1jb25maWdbMV0uCiAKIC0tW25vLV1zaWduZWQ6OgotLS1zaWduPSh0cnVlfGZhbHNlfGlmLWFza2VkKTo6CistLXNpZ25lZD0odHJ1ZXxmYWxzZXxpZi1hc2tlZCk6OgogCUdQRy1zaWduIHRoZSBwdXNoIHJlcXVlc3QgdG8gdXBkYXRlIHJlZnMgb24gdGhlIHJlY2VpdmluZwogCXNpZGUsIHRvIGFsbG93IGl0IHRvIGJlIGNoZWNrZWQgYnkgdGhlIGhvb2tzIGFuZC9vciBiZQogCWxvZ2dlZC4gIElmIGBmYWxzZWAgb3IgYC0tbm8tc2lnbmVkYCwgbm8gc2lnbmluZyB3aWxsIGJlCkBAIC0yMTcsNiArMjE3LDQ3IEBACiArCiAiLS1uby1mb3JjZS13aXRoLWxlYXNlIiB3aWxsIGNhbmNlbCBhbGwgdGhlIHByZXZpb3VzIC0tZm9yY2Utd2l0aC1sZWFzZSBvbiB0aGUKIGNvbW1hbmQgbGluZS4KKysKK0EgZ2VuZXJhbCBub3RlIG9uIHNhZmV0eTogc3VwcGx5aW5nIHRoaXMgb3B0aW9uIHdpdGhvdXQgYW4gZXhwZWN0ZWQKK3ZhbHVlLCBpLmUuIGFzIGAtLWZvcmNlLXdpdGgtbGVhc2VgIG9yIGAtLWZvcmNlLXdpdGgtbGVhc2U9PHJlZm5hbWU+YAoraW50ZXJhY3RzIHZlcnkgYmFkbHkgd2l0aCBhbnl0aGluZyB0aGF0IGltcGxpY2l0bHkgcnVucyBgZ2l0IGZldGNoYCBvbgordGhlIHJlbW90ZSB0byBiZSBwdXNoZWQgdG8gaW4gdGhlIGJhY2tncm91bmQsIGUuZy4gYGdpdCBmZXRjaCBvcmlnaW5gCitvbiB5b3VyIHJlcG9zaXRvcnkgaW4gYSBjcm9uam9iLgorKworVGhlIHByb3RlY3Rpb24gaXQgb2ZmZXJzIG92ZXIgYC0tZm9yY2VgIGlzIGVuc3VyaW5nIHRoYXQgc3Vic2VxdWVudAorY2hhbmdlcyB5b3VyIHdvcmsgd2Fzbid0IGJhc2VkIG9uIGFyZW4ndCBjbG9iYmVyZWQsIGJ1dCB0aGlzIGlzCit0cml2aWFsbHkgZGVmZWF0ZWQgaWYgc29tZSBiYWNrZ3JvdW5kIHByb2Nlc3MgaXMgdXBkYXRpbmcgcmVmcyBpbiB0aGUKK2JhY2tncm91bmQuIFdlIGRvbid0IGhhdmUgYW55dGhpbmcgZXhjZXB0IHRoZSByZW1vdGUgdHJhY2tpbmcgaW5mbyB0bworZ28gYnkgYXMgYSBoZXVyaXN0aWMgZm9yIHJlZnMgeW91J3JlIGV4cGVjdGVkIHRvIGhhdmUgc2VlbiAmIGFyZQord2lsbGluZyB0byBjbG9iYmVyLgorKworSWYgeW91ciBlZGl0b3Igb3Igc29tZSBvdGhlciBzeXN0ZW0gaXMgcnVubmluZyBgZ2l0IGZldGNoYCBpbiB0aGUKK2JhY2tncm91bmQgZm9yIHlvdSBhIHdheSB0byBtaXRpZ2F0ZSB0aGlzIGlzIHRvIHNpbXBseSBzZXQgdXAgYW5vdGhlcgorcmVtb3RlOgorKworCWdpdCByZW1vdGUgYWRkIG9yaWdpbi1wdXNoICQoZ2l0IGNvbmZpZyByZW1vdGUub3JpZ2luLnVybCkKKwlnaXQgZmV0Y2ggb3JpZ2luLXB1c2gKKysKK05vdyB3aGVuIHRoZSBiYWNrZ3JvdW5kIHByb2Nlc3MgcnVucyBgZ2l0IGZldGNoIG9yaWdpbmAgdGhlIHJlZmVyZW5jZXMKK29uIGBvcmlnaW4tcHVzaGAgd29uJ3QgYmUgdXBkYXRlZCwgYW5kIHRodXMgY29tbWFuZHMgbGlrZToKKysKKwlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2Ugb3JpZ2luLXB1c2gKKysKK1dpbGwgZmFpbCB1bmxlc3MgeW91IG1hbnVhbGx5IHJ1biBgZ2l0IGZldGNoIG9yaWdpbi1wdXNoYC4gVGhpcyBtZXRob2QKK2lzIG9mIGNvdXJzZSBlbnRpcmVseSBkZWZlYXRlZCBieSBzb21ldGhpbmcgdGhhdCBydW5zIGBnaXQgZmV0Y2gKKy0tYWxsYCwgaW4gdGhhdCBjYXNlIHlvdSdkIG5lZWQgdG8gZWl0aGVyIGRpc2FibGUgaXQgb3IgZG8gc29tZXRoaW5nCittb3JlIHRlZGlvdXMgbGlrZToKKysKKwlnaXQgZmV0Y2ggICAgICAgICAgICAgICMgdXBkYXRlICdtYXN0ZXInIGZyb20gcmVtb3RlCisJZ2l0IHRhZyBiYXNlIG1hc3RlciAgICAjIG1hcmsgb3VyIGJhc2UgcG9pbnQKKwlnaXQgcmViYXNlIC1pIG1hc3RlciAgICMgcmV3cml0ZSBzb21lIGNvbW1pdHMKKwlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2U9bWFzdGVyOmJhc2UgbWFzdGVyOm1hc3RlcgorKworSS5lLiBjcmVhdGUgYSBgYmFzZWAgdGFnIGZvciB2ZXJzaW9ucyBvZiB0aGUgdXBzdHJlYW0gY29kZSB0aGF0IHlvdSd2ZQorc2VlbiBhbmQgYXJlIHdpbGxpbmcgdG8gb3ZlcndyaXRlLCB0aGVuIHJld3JpdGUgaGlzdG9yeSwgYW5kIGZpbmFsbHkKK2ZvcmNlIHB1c2ggY2hhbmdlcyB0byBgbWFzdGVyYCBpZiB0aGUgcmVtb3RlIHZlcnNpb24gaXMgc3RpbGwgYXQKK2BiYXNlYCwgcmVnYXJkbGVzcyBvZiB3aGF0IHlvdXIgbG9jYWwgYHJlbW90ZXMvb3JpZ2luL21hc3RlcmAgaGFzIGJlZW4KK3VwZGF0ZWQgdG8gaW4gdGhlIGJhY2tncm91bmQuCiAKIC1mOjoKIC0tZm9yY2U6OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVhZC10cmVlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlYWQtdHJlZS50eHQKaW5kZXggZmExZDU1Ny4uNzJiZDgwOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVhZC10cmVlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZWFkLXRyZWUudHh0CkBAIC0xMTUsNiArMTE1LDEyIEBACiAJZGlyZWN0b3JpZXMgdGhlIGluZGV4IGZpbGUgYW5kIGluZGV4IG91dHB1dCBmaWxlIGFyZQogCWxvY2F0ZWQgaW4uCiAKKy0tW25vLV1yZWN1cnNlLXN1Ym1vZHVsZXM6OgorCVVzaW5nIC0tcmVjdXJzZS1zdWJtb2R1bGVzIHdpbGwgdXBkYXRlIHRoZSBjb250ZW50IG9mIGFsbCBpbml0aWFsaXplZAorCXN1Ym1vZHVsZXMgYWNjb3JkaW5nIHRvIHRoZSBjb21taXQgcmVjb3JkZWQgaW4gdGhlIHN1cGVycHJvamVjdCBieQorCWNhbGxpbmcgcmVhZC10cmVlIHJlY3Vyc2l2ZWx5LCBhbHNvIHNldHRpbmcgdGhlIHN1Ym1vZHVsZXMgSEVBRCB0byBiZQorCWRldGFjaGVkIGF0IHRoYXQgY29tbWl0LgorCiAtLW5vLXNwYXJzZS1jaGVja291dDo6CiAJRGlzYWJsZSBzcGFyc2UgY2hlY2tvdXQgc3VwcG9ydCBldmVuIGlmIGBjb3JlLnNwYXJzZUNoZWNrb3V0YAogCWlzIHRydWUuCkBAIC0xMzEsNyArMTM3LDcgQEAKIC0tLS0tLS0KIElmIGAtbWAgaXMgc3BlY2lmaWVkLCAnZ2l0IHJlYWQtdHJlZScgY2FuIHBlcmZvcm0gMyBraW5kcyBvZgogbWVyZ2UsIGEgc2luZ2xlIHRyZWUgbWVyZ2UgaWYgb25seSAxIHRyZWUgaXMgZ2l2ZW4sIGEKLWZhc3QtZm9yd2FyZCBtZXJnZSB3aXRoIDIgdHJlZXMsIG9yIGEgMy13YXkgbWVyZ2UgaWYgMyB0cmVlcyBhcmUKK2Zhc3QtZm9yd2FyZCBtZXJnZSB3aXRoIDIgdHJlZXMsIG9yIGEgMy13YXkgbWVyZ2UgaWYgMyBvciBtb3JlIHRyZWVzIGFyZQogcHJvdmlkZWQuCiAKIApAQCAtMTczLDYgKzE3OSw3IEBACiAiY2xlYW4iIG1lYW5zIHRoYXQgaW5kZXggYW5kIHdvcmsgdHJlZSBjb2luY2lkZSwgYW5kICJleGlzdHMiLyJub3RoaW5nIgogcmVmZXIgdG8gdGhlIHByZXNlbmNlIG9mIGEgcGF0aCBpbiB0aGUgc3BlY2lmaWVkIGNvbW1pdDoKIAorLi4uLgogCUkgICAgICAgICAgICAgICAgICAgSCAgICAgICAgTSAgICAgICAgUmVzdWx0CiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAwICBub3RoaW5nICAgICAgICAgICAgIG5vdGhpbmcgIG5vdGhpbmcgIChkb2VzIG5vdCBoYXBwZW4pCkBAIC0yMTEsNiArMjE4LDcgQEAKICAgICAgMTkgbm8gICAgbm8gICAgeWVzICAgICBleGlzdHMgICBleGlzdHMgICBrZWVwIGluZGV4CiAgICAgIDIwIHllcyAgIHllcyAgIG5vICAgICAgZXhpc3RzICAgZXhpc3RzICAgdXNlIE0KICAgICAgMjEgbm8gICAgeWVzICAgbm8gICAgICBleGlzdHMgICBleGlzdHMgICBmYWlsCisuLi4uCiAKIEluIGFsbCAia2VlcCBpbmRleCIgY2FzZXMsIHRoZSBpbmRleCBlbnRyeSBzdGF5cyBhcyBpbiB0aGUKIG9yaWdpbmFsIGluZGV4IGZpbGUuICBJZiB0aGUgZW50cnkgaXMgbm90IHVwIHRvIGRhdGUsCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZWJhc2UudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dAppbmRleCA2N2Q0OGU2Li4zY2VkZmIwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZWJhc2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlYmFzZS50eHQKQEAgLTMzNCw3ICszMzQsNyBAQAogCiAtZjo6CiAtLWZvcmNlLXJlYmFzZTo6Ci0JRm9yY2UgYSByZWJhc2UgZXZlbiBpZiB0aGUgY3VycmVudCBicmFuY2ggaXMgdXAtdG8tZGF0ZSBhbmQKKwlGb3JjZSBhIHJlYmFzZSBldmVuIGlmIHRoZSBjdXJyZW50IGJyYW5jaCBpcyB1cCB0byBkYXRlIGFuZAogCXRoZSBjb21tYW5kIHdpdGhvdXQgYC0tZm9yY2VgIHdvdWxkIHJldHVybiB3aXRob3V0IGRvaW5nIGFueXRoaW5nLgogKwogWW91IG1heSBmaW5kIHRoaXMgKG9yIC0tbm8tZmYgd2l0aCBhbiBpbnRlcmFjdGl2ZSByZWJhc2UpIGhlbHBmdWwgYWZ0ZXIKQEAgLTM3MCw2ICszNzAsMTEgQEAKIAlvZiB0aGUgcmViYXNlZCBjb21taXRzIChzZWUgbGlua2dpdDpnaXQtYW1bMV0pLgogCUluY29tcGF0aWJsZSB3aXRoIHRoZSAtLWludGVyYWN0aXZlIG9wdGlvbi4KIAorLS1zaWdub2ZmOjoKKwlUaGlzIGZsYWcgaXMgcGFzc2VkIHRvICdnaXQgYW0nIHRvIHNpZ24gb2ZmIGFsbCB0aGUgcmViYXNlZAorCWNvbW1pdHMgKHNlZSBsaW5rZ2l0OmdpdC1hbVsxXSkuIEluY29tcGF0aWJsZSB3aXRoIHRoZQorCS0taW50ZXJhY3RpdmUgb3B0aW9uLgorCiAtaTo6CiAtLWludGVyYWN0aXZlOjoKIAlNYWtlIGEgbGlzdCBvZiB0aGUgY29tbWl0cyB3aGljaCBhcmUgYWJvdXQgdG8gYmUgcmViYXNlZC4gIExldCB0aGUKQEAgLTQyNSwxMyArNDMwLDE1IEBACiAtLWF1dG9zcXVhc2g6OgogLS1uby1hdXRvc3F1YXNoOjoKIAlXaGVuIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UgYmVnaW5zIHdpdGggInNxdWFzaCEgLi4uIiAob3IKLQkiZml4dXAhIC4uLiIpLCBhbmQgdGhlcmUgaXMgYSBjb21taXQgd2hvc2UgdGl0bGUgYmVnaW5zIHdpdGgKLQl0aGUgc2FtZSAuLi4sIGF1dG9tYXRpY2FsbHkgbW9kaWZ5IHRoZSB0b2RvIGxpc3Qgb2YgcmViYXNlIC1pCi0Jc28gdGhhdCB0aGUgY29tbWl0IG1hcmtlZCBmb3Igc3F1YXNoaW5nIGNvbWVzIHJpZ2h0IGFmdGVyIHRoZQotCWNvbW1pdCB0byBiZSBtb2RpZmllZCwgYW5kIGNoYW5nZSB0aGUgYWN0aW9uIG9mIHRoZSBtb3ZlZAotCWNvbW1pdCBmcm9tIGBwaWNrYCB0byBgc3F1YXNoYCAob3IgYGZpeHVwYCkuICBJZ25vcmVzIHN1YnNlcXVlbnQKLQkiZml4dXAhICIgb3IgInNxdWFzaCEgIiBhZnRlciB0aGUgZmlyc3QsIGluIGNhc2UgeW91IHJlZmVycmVkIHRvIGFuCi0JZWFybGllciBmaXh1cC9zcXVhc2ggd2l0aCBgZ2l0IGNvbW1pdCAtLWZpeHVwLy0tc3F1YXNoYC4KKwkiZml4dXAhIC4uLiIpLCBhbmQgdGhlcmUgaXMgYWxyZWFkeSBhIGNvbW1pdCBpbiB0aGUgdG9kbyBsaXN0IHRoYXQKKwltYXRjaGVzIHRoZSBzYW1lIGAuLi5gLCBhdXRvbWF0aWNhbGx5IG1vZGlmeSB0aGUgdG9kbyBsaXN0IG9mIHJlYmFzZQorCS1pIHNvIHRoYXQgdGhlIGNvbW1pdCBtYXJrZWQgZm9yIHNxdWFzaGluZyBjb21lcyByaWdodCBhZnRlciB0aGUKKwljb21taXQgdG8gYmUgbW9kaWZpZWQsIGFuZCBjaGFuZ2UgdGhlIGFjdGlvbiBvZiB0aGUgbW92ZWQgY29tbWl0CisJZnJvbSBgcGlja2AgdG8gYHNxdWFzaGAgKG9yIGBmaXh1cGApLiAgQSBjb21taXQgbWF0Y2hlcyB0aGUgYC4uLmAgaWYKKwl0aGUgY29tbWl0IHN1YmplY3QgbWF0Y2hlcywgb3IgaWYgdGhlIGAuLi5gIHJlZmVycyB0byB0aGUgY29tbWl0J3MKKwloYXNoLiBBcyBhIGZhbGwtYmFjaywgcGFydGlhbCBtYXRjaGVzIG9mIHRoZSBjb21taXQgc3ViamVjdCB3b3JrLAorCXRvby4gIFRoZSByZWNvbW1lbmRlZCB3YXkgdG8gY3JlYXRlIGZpeHVwL3NxdWFzaCBjb21taXRzIGlzIGJ5IHVzaW5nCisJdGhlIGAtLWZpeHVwYC9gLS1zcXVhc2hgIG9wdGlvbnMgb2YgbGlua2dpdDpnaXQtY29tbWl0WzFdLgogKwogVGhpcyBvcHRpb24gaXMgb25seSB2YWxpZCB3aGVuIHRoZSBgLS1pbnRlcmFjdGl2ZWAgb3B0aW9uIGlzIHVzZWQuCiArCkBAIC00NDEsNyArNDQ4LDcgQEAKIAogLS1hdXRvc3Rhc2g6OgogLS1uby1hdXRvc3Rhc2g6OgotCUF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgdGVtcG9yYXJ5IHN0YXNoIGJlZm9yZSB0aGUgb3BlcmF0aW9uCisJQXV0b21hdGljYWxseSBjcmVhdGUgYSB0ZW1wb3Jhcnkgc3Rhc2ggZW50cnkgYmVmb3JlIHRoZSBvcGVyYXRpb24KIAliZWdpbnMsIGFuZCBhcHBseSBpdCBhZnRlciB0aGUgb3BlcmF0aW9uIGVuZHMuICBUaGlzIG1lYW5zCiAJdGhhdCB5b3UgY2FuIHJ1biByZWJhc2Ugb24gYSBkaXJ0eSB3b3JrdHJlZS4gIEhvd2V2ZXIsIHVzZQogCXdpdGggY2FyZTogdGhlIGZpbmFsIHN0YXNoIGFwcGxpY2F0aW9uIGFmdGVyIGEgc3VjY2Vzc2Z1bApAQCAtNjcwLDcgKzY3Nyw3IEBACiBmb2xsb3dpbmc6CiAKIC0tLS0tLS0tLS0tLQotICAgIG8tLS1vLS0tby0tLW8tLS1vLS0tby0tLW8tLS1vLS0tbyAgbWFzdGVyCisgICAgby0tLW8tLS1vLS0tby0tLW8tLS1vLS0tby0tLW8gIG1hc3RlcgogCSBcCiAJICBvLS0tby0tLW8tLS1vLS0tbyAgc3Vic3lzdGVtCiAJCQkgICBcCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZWNlaXZlLXBhY2sudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVjZWl2ZS1wYWNrLnR4dAppbmRleCAwY2NkNWZiLi44NmE0YjMyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZWNlaXZlLXBhY2sudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlY2VpdmUtcGFjay50eHQKQEAgLTExNCw2ICsxMTQsOCBAQAogaG9va3Mgd2lsbCBub3QgYmUgaW52b2tlZCBlaXRoZXIuICBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gcXVpY2tseQogYmFpbCBvdXQgaWYgdGhlIHVwZGF0ZSBpcyBub3QgdG8gYmUgc3VwcG9ydGVkLgogCitTZWUgdGhlIG5vdGVzIG9uIHRoZSBxdWFyYW50aW5lIGVudmlyb25tZW50IGJlbG93LgorCiB1cGRhdGUgSG9vawogLS0tLS0tLS0tLS0KIEJlZm9yZSBlYWNoIHJlZiBpcyB1cGRhdGVkLCBpZiAkR0lUX0RJUi9ob29rcy91cGRhdGUgZmlsZSBleGlzdHMKQEAgLTIxNCw2ICsyMTYsMzMgQEAKIAlleGVjIGdpdCB1cGRhdGUtc2VydmVyLWluZm8KIAogCitRdWFyYW50aW5lIEVudmlyb25tZW50CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doZW4gYHJlY2VpdmUtcGFja2AgdGFrZXMgaW4gb2JqZWN0cywgdGhleSBhcmUgcGxhY2VkIGludG8gYSB0ZW1wb3JhcnkKKyJxdWFyYW50aW5lIiBkaXJlY3Rvcnkgd2l0aGluIHRoZSBgJEdJVF9ESVIvb2JqZWN0c2AgZGlyZWN0b3J5IGFuZAorbWlncmF0ZWQgaW50byB0aGUgbWFpbiBvYmplY3Qgc3RvcmUgb25seSBhZnRlciB0aGUgYHByZS1yZWNlaXZlYCBob29rCitoYXMgY29tcGxldGVkLiBJZiB0aGUgcHVzaCBmYWlscyBiZWZvcmUgdGhlbiwgdGhlIHRlbXBvcmFyeSBkaXJlY3RvcnkgaXMKK3JlbW92ZWQgZW50aXJlbHkuCisKK1RoaXMgaGFzIGEgZmV3IHVzZXItdmlzaWJsZSBlZmZlY3RzIGFuZCBjYXZlYXRzOgorCisgIDEuIFB1c2hlcyB3aGljaCBmYWlsIGR1ZSB0byBwcm9ibGVtcyB3aXRoIHRoZSBpbmNvbWluZyBwYWNrLCBtaXNzaW5nCisgICAgIG9iamVjdHMsIG9yIGR1ZSB0byB0aGUgYHByZS1yZWNlaXZlYCBob29rIHdpbGwgbm90IGxlYXZlIGFueQorICAgICBvbi1kaXNrIGRhdGEuIFRoaXMgaXMgdXN1YWxseSBoZWxwZnVsIHRvIHByZXZlbnQgcmVwZWF0ZWQgZmFpbGVkCisgICAgIHB1c2hlcyBmcm9tIGZpbGxpbmcgdXAgeW91ciBkaXNrLCBidXQgY2FuIG1ha2UgZGVidWdnaW5nIG1vcmUKKyAgICAgY2hhbGxlbmdpbmcuCisKKyAgMi4gQW55IG9iamVjdHMgY3JlYXRlZCBieSB0aGUgYHByZS1yZWNlaXZlYCBob29rIHdpbGwgYmUgY3JlYXRlZCBpbgorICAgICB0aGUgcXVhcmFudGluZSBkaXJlY3RvcnkgKGFuZCBtaWdyYXRlZCBvbmx5IGlmIGl0IHN1Y2NlZWRzKS4KKworICAzLiBUaGUgYHByZS1yZWNlaXZlYCBob29rIE1VU1QgTk9UIHVwZGF0ZSBhbnkgcmVmcyB0byBwb2ludCB0bworICAgICBxdWFyYW50aW5lZCBvYmplY3RzLiBPdGhlciBwcm9ncmFtcyBhY2Nlc3NpbmcgdGhlIHJlcG9zaXRvcnkgd2lsbAorICAgICBub3QgYmUgYWJsZSB0byBzZWUgdGhlIG9iamVjdHMgKGFuZCBpZiB0aGUgcHJlLXJlY2VpdmUgaG9vayBmYWlscywKKyAgICAgdGhvc2UgcmVmcyB3b3VsZCBiZWNvbWUgY29ycnVwdGVkKS4gRm9yIHNhZmV0eSwgYW55IHJlZiB1cGRhdGVzCisgICAgIGZyb20gd2l0aGluIGBwcmUtcmVjZWl2ZWAgYXJlIGF1dG9tYXRpY2FsbHkgcmVqZWN0ZWQuCisKKwogU0VFIEFMU08KIC0tLS0tLS0tCiBsaW5rZ2l0OmdpdC1zZW5kLXBhY2tbMV0sIGxpbmtnaXQ6Z2l0bmFtZXNwYWNlc1s3XQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwYWNrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcGFjay50eHQKaW5kZXggMjZhZmU2ZS4uYWU3NTBlOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBhY2sudHh0CkBAIC05LDcgKzksNyBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCi0nZ2l0IHJlcGFjaycgWy1hXSBbLUFdIFstZF0gWy1mXSBbLUZdIFstbF0gWy1uXSBbLXFdIFstYl0gWy0td2luZG93PTxuPl0gWy0tZGVwdGg9PG4+XQorJ2dpdCByZXBhY2snIFstYV0gWy1BXSBbLWRdIFstZl0gWy1GXSBbLWxdIFstbl0gWy1xXSBbLWJdIFstLXdpbmRvdz08bj5dIFstLWRlcHRoPTxuPl0gWy0tdGhyZWFkcz08bj5dCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtOTIsNiArOTIsOSBAQAogCXRvIGJlIGFwcGxpZWQgdGhhdCBtYW55IHRpbWVzIHRvIGdldCB0byB0aGUgbmVjZXNzYXJ5IG9iamVjdC4KIAlUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgLS13aW5kb3cgaXMgMTAgYW5kIC0tZGVwdGggaXMgNTAuCiAKKy0tdGhyZWFkcz08bj46OgorCVRoaXMgb3B0aW9uIGlzIHBhc3NlZCB0aHJvdWdoIHRvIGBnaXQgcGFjay1vYmplY3RzYC4KKwogLS13aW5kb3ctbWVtb3J5PTxuPjo6CiAJVGhpcyBvcHRpb24gcHJvdmlkZXMgYW4gYWRkaXRpb25hbCBsaW1pdCBvbiB0b3Agb2YgYC0td2luZG93YDsKIAl0aGUgd2luZG93IHNpemUgd2lsbCBkeW5hbWljYWxseSBzY2FsZSBkb3duIHNvIGFzIHRvIG5vdCB0YWtlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXJlcmUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVyZXJlLnR4dAppbmRleCA5ZWUwODNjLi4wMzFmMzFmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXJlcmUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcmVyZS50eHQKQEAgLTIwNSw3ICsyMDUsNyBAQAogLS0tLS0tLS0tLS0tCiAKIHlvdSBjb3VsZCBydW4gYGdpdCByZWJhc2UgbWFzdGVyIHRvcGljYCwgdG8gYnJpbmcgeW91cnNlbGYKLXVwLXRvLWRhdGUgYmVmb3JlIHlvdXIgdG9waWMgaXMgcmVhZHkgdG8gYmUgc2VudCB1cHN0cmVhbS4KK3VwIHRvIGRhdGUgYmVmb3JlIHlvdXIgdG9waWMgaXMgcmVhZHkgdG8gYmUgc2VudCB1cHN0cmVhbS4KIFRoaXMgd291bGQgcmVzdWx0IGluIGZhbGxpbmcgYmFjayB0byBhIHRocmVlLXdheSBtZXJnZSwgYW5kIGl0CiB3b3VsZCBjb25mbGljdCB0aGUgc2FtZSB3YXkgYXMgdGhlIHRlc3QgbWVyZ2UgeW91IHJlc29sdmVkIGVhcmxpZXIuCiAnZ2l0IHJlcmVyZScgd2lsbCBiZSBydW4gYnkgJ2dpdCByZWJhc2UnIHRvIGhlbHAgeW91IHJlc29sdmUgdGhpcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVzZXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVzZXQudHh0CmluZGV4IDhhMjExOTguLjFkNjk3ZDkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlc2V0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXNldC50eHQKQEAgLTExNSw3ICsxMTUsNyBAQAogaW4gdGhlc2UgZmlsZXMgYXJlIGluIGdvb2Qgb3JkZXIuICBZb3UgZG8gbm90IHdhbnQgdG8gc2VlIHRoZW0KIHdoZW4geW91IHJ1biAiZ2l0IGRpZmYiLCBiZWNhdXNlIHlvdSBwbGFuIHRvIHdvcmsgb24gb3RoZXIgZmlsZXMKIGFuZCBjaGFuZ2VzIHdpdGggdGhlc2UgZmlsZXMgYXJlIGRpc3RyYWN0aW5nLgotPDI+IFNvbWVib2R5IGFza3MgeW91IHRvIHB1bGwsIGFuZCB0aGUgY2hhbmdlcyBzb3VuZHMgd29ydGh5IG9mIG1lcmdpbmcuCis8Mj4gU29tZWJvZHkgYXNrcyB5b3UgdG8gcHVsbCwgYW5kIHRoZSBjaGFuZ2VzIHNvdW5kIHdvcnRoeSBvZiBtZXJnaW5nLgogPDM+IEhvd2V2ZXIsIHlvdSBhbHJlYWR5IGRpcnRpZWQgdGhlIGluZGV4IChpLmUuIHlvdXIgaW5kZXggZG9lcwogbm90IG1hdGNoIHRoZSBIRUFEIGNvbW1pdCkuICBCdXQgeW91IGtub3cgdGhlIHB1bGwgeW91IGFyZSBnb2luZwogdG8gbWFrZSBkb2VzIG5vdCBhZmZlY3QgZnJvdHouYyBvciBmaWxmcmUuYywgc28geW91IHJldmVydCB0aGUKQEAgLTI5NCw3ICsyOTQsNyBAQAogCiBTcGxpdCBhIGNvbW1pdCBhcGFydCBpbnRvIGEgc2VxdWVuY2Ugb2YgY29tbWl0czo6CiArCi1TdXBwb3NlIHRoYXQgeW91IGhhdmUgY3JlYXRlZCBsb3RzIG9mIGxvZ2ljYWxseSBzZXBhcmF0ZSBjaGFuZ2VzIGFuZCBjb21taXRlZAorU3VwcG9zZSB0aGF0IHlvdSBoYXZlIGNyZWF0ZWQgbG90cyBvZiBsb2dpY2FsbHkgc2VwYXJhdGUgY2hhbmdlcyBhbmQgY29tbWl0dGVkCiB0aGVtIHRvZ2V0aGVyLiBUaGVuLCBsYXRlciB5b3UgZGVjaWRlIHRoYXQgaXQgbWlnaHQgYmUgYmV0dGVyIHRvIGhhdmUgZWFjaAogbG9naWNhbCBjaHVuayBhc3NvY2lhdGVkIHdpdGggaXRzIG93biBjb21taXQuIFlvdSBjYW4gdXNlIGdpdCByZXNldCB0byByZXdpbmQKIGhpc3Rvcnkgd2l0aG91dCBjaGFuZ2luZyB0aGUgY29udGVudHMgb2YgeW91ciBsb2NhbCBmaWxlcywgYW5kIHRoZW4gc3VjY2Vzc2l2ZWx5CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtcGFyc2UudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmV2LXBhcnNlLnR4dAppbmRleCA3MjQxZTk2Li4wOTE3YjgyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtcGFyc2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJldi1wYXJzZS50eHQKQEAgLTEyNiw2ICsxMjYsMTIgQEAKIAknZ2l0IGRpZmYte2FzdGVyaXNrfScpLiBJbiBjb250cmFzdCB0byB0aGUgYC0tc3EtcXVvdGVgIG9wdGlvbiwKIAl0aGUgY29tbWFuZCBpbnB1dCBpcyBzdGlsbCBpbnRlcnByZXRlZCBhcyB1c3VhbC4KIAorLS1zaG9ydFs9bGVuZ3RoXTo6CisJU2FtZSBhcyBgLS12ZXJpZnlgIGJ1dCBzaG9ydGVucyB0aGUgb2JqZWN0IG5hbWUgdG8gYSB1bmlxdWUKKwlwcmVmaXggd2l0aCBhdCBsZWFzdCBgbGVuZ3RoYCBjaGFyYWN0ZXJzLiBUaGUgbWluaW11bSBsZW5ndGgKKwlpcyA0LCB0aGUgZGVmYXVsdCBpcyB0aGUgZWZmZWN0aXZlIHZhbHVlIG9mIHRoZSBgY29yZS5hYmJyZXZgCisJY29uZmlndXJhdGlvbiB2YXJpYWJsZSAoc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuCisKIC0tbm90OjoKIAlXaGVuIHNob3dpbmcgb2JqZWN0IG5hbWVzLCBwcmVmaXggdGhlbSB3aXRoICd7Y2FyZXR9JyBhbmQKIAlzdHJpcCAne2NhcmV0fScgcHJlZml4IGZyb20gdGhlIG9iamVjdCBuYW1lcyB0aGF0IGFscmVhZHkgaGF2ZQpAQCAtMTM2LDEyICsxNDIsNiBAQAogCVRoZSBvcHRpb24gY29yZS53YXJuQW1iaWd1b3VzUmVmcyBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgc3RyaWN0CiAJYWJicmV2aWF0aW9uIG1vZGUuCiAKLS0tc2hvcnQ6OgotLS1zaG9ydD1udW1iZXI6OgotCUluc3RlYWQgb2Ygb3V0cHV0dGluZyB0aGUgZnVsbCBTSEEtMSB2YWx1ZXMgb2Ygb2JqZWN0IG5hbWVzIHRyeSB0bwotCWFiYnJldmlhdGUgdGhlbSB0byBhIHNob3J0ZXIgdW5pcXVlIG5hbWUuIFdoZW4gbm8gbGVuZ3RoIGlzIHNwZWNpZmllZAotCTcgaXMgdXNlZC4gVGhlIG1pbmltdW0gbGVuZ3RoIGlzIDQuCi0KIC0tc3ltYm9saWM6OgogCVVzdWFsbHkgdGhlIG9iamVjdCBuYW1lcyBhcmUgb3V0cHV0IGluIFNIQS0xIGZvcm0gKHdpdGgKIAlwb3NzaWJsZSAne2NhcmV0fScgcHJlZml4KTsgdGhpcyBvcHRpb24gbWFrZXMgdGhlbSBvdXRwdXQgaW4gYQpAQCAtMjE3LDYgKzIxNywxMCBAQAogaXMgbm90IGRldGVjdGVkIHRvIGxpZSBpbiBhIEdpdCByZXBvc2l0b3J5IG9yIHdvcmsgdHJlZQogcHJpbnQgYSBtZXNzYWdlIHRvIHN0ZGVyciBhbmQgZXhpdCB3aXRoIG5vbnplcm8gc3RhdHVzLgogCistLWFic29sdXRlLWdpdC1kaXI6OgorCUxpa2UgYC0tZ2l0LWRpcmAsIGJ1dCBpdHMgb3V0cHV0IGlzIGFsd2F5cyB0aGUgY2Fub25pY2FsaXplZAorCWFic29sdXRlIHBhdGguCisKIC0tZ2l0LWNvbW1vbi1kaXI6OgogCVNob3cgYCRHSVRfQ09NTU9OX0RJUmAgaWYgZGVmaW5lZCwgZWxzZSBgJEdJVF9ESVJgLgogCkBAIC0yMzEsNiArMjM1LDkgQEAKIC0taXMtYmFyZS1yZXBvc2l0b3J5OjoKIAlXaGVuIHRoZSByZXBvc2l0b3J5IGlzIGJhcmUgcHJpbnQgInRydWUiLCBvdGhlcndpc2UgImZhbHNlIi4KIAorLS1pcy1zaGFsbG93LXJlcG9zaXRvcnk6OgorCVdoZW4gdGhlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdyBwcmludCAidHJ1ZSIsIG90aGVyd2lzZSAiZmFsc2UiLgorCiAtLXJlc29sdmUtZ2l0LWRpciA8cGF0aD46OgogCUNoZWNrIGlmIDxwYXRoPiBpcyBhIHZhbGlkIHJlcG9zaXRvcnkgb3IgYSBnaXRmaWxlIHRoYXQKIAlwb2ludHMgYXQgYSB2YWxpZCByZXBvc2l0b3J5LCBhbmQgcHJpbnQgdGhlIGxvY2F0aW9uIG9mIHRoZQpAQCAtMjU3LDYgKzI2NCwxMiBAQAogLS1zaG93LXRvcGxldmVsOjoKIAlTaG93IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgogCistLXNob3ctc3VwZXJwcm9qZWN0LXdvcmtpbmctdHJlZQorCVNob3cgdGhlIGFic29sdXRlIHBhdGggb2YgdGhlIHJvb3Qgb2YgdGhlIHN1cGVycHJvamVjdCdzCisJd29ya2luZyB0cmVlIChpZiBleGlzdHMpIHRoYXQgdXNlcyB0aGUgY3VycmVudCByZXBvc2l0b3J5IGFzCisJaXRzIHN1Ym1vZHVsZS4gIE91dHB1dHMgbm90aGluZyBpZiB0aGUgY3VycmVudCByZXBvc2l0b3J5IGlzCisJbm90IHVzZWQgYXMgYSBzdWJtb2R1bGUgYnkgYW55IHByb2plY3QuCisKIC0tc2hhcmVkLWluZGV4LXBhdGg6OgogCVNob3cgdGhlIHBhdGggdG8gdGhlIHNoYXJlZCBpbmRleCBmaWxlIGluIHNwbGl0IGluZGV4IG1vZGUsIG9yCiAJZW1wdHkgaWYgbm90IGluIHNwbGl0LWluZGV4IG1vZGUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ybS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1ybS50eHQKaW5kZXggZjFlZmMxMS4uYjVjNDYyMiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcm0udHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJtLnR4dApAQCAtMTQwLDIwICsxNDAsMjEgQEAKIHdpdGggYSBHaXQgdmVyc2lvbiAxLjcuOCBvciBuZXdlcikgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIHdvcmsKIHRyZWUsIGFzIHRoZWlyIHJlcG9zaXRvcnkgbGl2ZXMgaW5zaWRlIHRoZSAuZ2l0IGRpcmVjdG9yeSBvZiB0aGUKIHN1cGVycHJvamVjdC4gSWYgYSBzdWJtb2R1bGUgKG9yIG9uZSBvZiB0aG9zZSBuZXN0ZWQgaW5zaWRlIGl0KQotc3RpbGwgdXNlcyBhIC5naXQgZGlyZWN0b3J5LCBgZ2l0IHJtYCB3aWxsIGZhaWwgLSBubyBtYXR0ZXIgaWYgZm9yY2VkCi1vciBub3QgLSB0byBwcm90ZWN0IHRoZSBzdWJtb2R1bGUncyBoaXN0b3J5LiBJZiBpdCBleGlzdHMgdGhlCi1zdWJtb2R1bGUuPG5hbWU+IHNlY3Rpb24gaW4gdGhlIGxpbmtnaXQ6Z2l0bW9kdWxlc1s1XSBmaWxlIHdpbGwgYWxzbwotYmUgcmVtb3ZlZCBhbmQgdGhhdCBmaWxlIHdpbGwgYmUgc3RhZ2VkICh1bmxlc3MgLS1jYWNoZWQgb3IgLW4gYXJlIHVzZWQpLgorc3RpbGwgdXNlcyBhIC5naXQgZGlyZWN0b3J5LCBgZ2l0IHJtYCB3aWxsIG1vdmUgdGhlIHN1Ym1vZHVsZXMKK2dpdCBkaXJlY3RvcnkgaW50byB0aGUgc3VwZXJwcm9qZWN0cyBnaXQgZGlyZWN0b3J5IHRvIHByb3RlY3QKK3RoZSBzdWJtb2R1bGUncyBoaXN0b3J5LiBJZiBpdCBleGlzdHMgdGhlIHN1Ym1vZHVsZS48bmFtZT4gc2VjdGlvbgoraW4gdGhlIGxpbmtnaXQ6Z2l0bW9kdWxlc1s1XSBmaWxlIHdpbGwgYWxzbyBiZSByZW1vdmVkIGFuZCB0aGF0IGZpbGUKK3dpbGwgYmUgc3RhZ2VkICh1bmxlc3MgLS1jYWNoZWQgb3IgLW4gYXJlIHVzZWQpLgogCi1BIHN1Ym1vZHVsZSBpcyBjb25zaWRlcmVkIHVwLXRvLWRhdGUgd2hlbiB0aGUgSEVBRCBpcyB0aGUgc2FtZSBhcworQSBzdWJtb2R1bGUgaXMgY29uc2lkZXJlZCB1cCB0byBkYXRlIHdoZW4gdGhlIEhFQUQgaXMgdGhlIHNhbWUgYXMKIHJlY29yZGVkIGluIHRoZSBpbmRleCwgbm8gdHJhY2tlZCBmaWxlcyBhcmUgbW9kaWZpZWQgYW5kIG5vIHVudHJhY2tlZAogZmlsZXMgdGhhdCBhcmVuJ3QgaWdub3JlZCBhcmUgcHJlc2VudCBpbiB0aGUgc3VibW9kdWxlcyB3b3JrIHRyZWUuCiBJZ25vcmVkIGZpbGVzIGFyZSBkZWVtZWQgZXhwZW5kYWJsZSBhbmQgd29uJ3Qgc3RvcCBhIHN1Ym1vZHVsZSdzIHdvcmsKIHRyZWUgZnJvbSBiZWluZyByZW1vdmVkLgogCiBJZiB5b3Ugb25seSB3YW50IHRvIHJlbW92ZSB0aGUgbG9jYWwgY2hlY2tvdXQgb2YgYSBzdWJtb2R1bGUgZnJvbSB5b3VyCi13b3JrIHRyZWUgd2l0aG91dCBjb21taXR0aW5nIHRoZSByZW1vdmFsLAotdXNlIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSBgZGVpbml0YCBpbnN0ZWFkLgord29yayB0cmVlIHdpdGhvdXQgY29tbWl0dGluZyB0aGUgcmVtb3ZhbCwgdXNlIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSBgZGVpbml0YAoraW5zdGVhZC4gQWxzbyBzZWUgbGlua2dpdDpnaXRzdWJtb2R1bGVzWzddIGZvciBkZXRhaWxzIG9uIHN1Ym1vZHVsZSByZW1vdmFsLgogCiBFWEFNUExFUwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXNlbmQtZW1haWwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKaW5kZXggOWQ2NjE2Ni4uYmFjOTAxNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKQEAgLTI0OCw2ICsyNDgsMjEgQEAKIAljb21tYW5kcyBhbmQgcmVwbGllcyB3aWxsIGJlIHByaW50ZWQuIFVzZWZ1bCB0byBkZWJ1ZyBUTFMKIAljb25uZWN0aW9uIGFuZCBhdXRoZW50aWNhdGlvbiBwcm9ibGVtcy4KIAorLS1iYXRjaC1zaXplPTxudW0+OjoKKwlTb21lIGVtYWlsIHNlcnZlcnMgKGUuZy4gc210cC4xNjMuY29tKSBsaW1pdCB0aGUgbnVtYmVyIGVtYWlscyB0byBiZQorCXNlbnQgcGVyIHNlc3Npb24gKGNvbm5lY3Rpb24pIGFuZCB0aGlzIHdpbGwgbGVhZCB0byBhIGZhbGl1cmUgd2hlbgorCXNlbmRpbmcgbWFueSBtZXNzYWdlcy4gIFdpdGggdGhpcyBvcHRpb24sIHNlbmQtZW1haWwgd2lsbCBkaXNjb25uZWN0IGFmdGVyCisJc2VuZGluZyAkPG51bT4gbWVzc2FnZXMgYW5kIHdhaXQgZm9yIGEgZmV3IHNlY29uZHMgKHNlZSAtLXJlbG9naW4tZGVsYXkpCisJYW5kIHJlY29ubmVjdCwgdG8gd29yayBhcm91bmQgc3VjaCBhIGxpbWl0LiAgWW91IG1heSB3YW50IHRvCisJdXNlIHNvbWUgZm9ybSBvZiBjcmVkZW50aWFsIGhlbHBlciB0byBhdm9pZCBoYXZpbmcgdG8gcmV0eXBlCisJeW91ciBwYXNzd29yZCBldmVyeSB0aW1lIHRoaXMgaGFwcGVucy4gIERlZmF1bHRzIHRvIHRoZQorCWBzZW5kZW1haWwuc210cEJhdGNoU2l6ZWAgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KKworLS1yZWxvZ2luLWRlbGF5PTxpbnQ+OjoKKwlXYWl0aW5nICQ8aW50PiBzZWNvbmRzIGJlZm9yZSByZWNvbm5lY3RpbmcgdG8gU01UUCBzZXJ2ZXIuIFVzZWQgdG9nZXRoZXIKKwl3aXRoIC0tYmF0Y2gtc2l6ZSBvcHRpb24uICBEZWZhdWx0cyB0byB0aGUgYHNlbmRlbWFpbC5zbXRwUmVsb2dpbkRlbGF5YAorCWNvbmZpZ3VyYXRpb24gdmFyaWFibGUuCisKIEF1dG9tYXRpbmcKIH5+fn5+fn5+fn4KIApAQCAtMzc3LDYgKzM5Miw3IEBACiAJQ3VycmVudGx5LCB2YWxpZGF0aW9uIG1lYW5zIHRoZSBmb2xsb3dpbmc6CiArCiAtLQorCQkqCUludm9rZSB0aGUgc2VuZGVtYWlsLXZhbGlkYXRlIGhvb2sgaWYgcHJlc2VudCAoc2VlIGxpbmtnaXQ6Z2l0aG9va3NbNV0pLgogCQkqCVdhcm4gb2YgcGF0Y2hlcyB0aGF0IGNvbnRhaW4gbGluZXMgbG9uZ2VyIHRoYW4gOTk4IGNoYXJhY3RlcnM7IHRoaXMKIAkJCWlzIGR1ZSB0byBTTVRQIGxpbWl0cyBhcyBkZXNjcmliZWQgYnkgaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjgyMS50eHQuCiAtLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1wYWNrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXNlbmQtcGFjay50eHQKaW5kZXggYTgzMWRkMC4uZjUxYzY0OSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1wYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zZW5kLXBhY2sudHh0CkBAIC0xMSw3ICsxMSw3IEBACiBbdmVyc2VdCiAnZ2l0IHNlbmQtcGFjaycgWy0tYWxsXSBbLS1kcnktcnVuXSBbLS1mb3JjZV0gWy0tcmVjZWl2ZS1wYWNrPTxnaXQtcmVjZWl2ZS1wYWNrPl0KIAkJWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXQotCQlbLS1bbm8tXXNpZ25lZHwtLXNpZ249KHRydWV8ZmFsc2V8aWYtYXNrZWQpXQorCQlbLS1bbm8tXXNpZ25lZHwtLXNpZ25lZD0odHJ1ZXxmYWxzZXxpZi1hc2tlZCldCiAJCVs8aG9zdD46XTxkaXJlY3Rvcnk+IFs8cmVmPi4uLl0KIAogREVTQ1JJUFRJT04KQEAgLTcxLDcgKzcxLDcgQEAKIAlyZWZzLgogCiAtLVtuby1dc2lnbmVkOjoKLS0tc2lnbj0odHJ1ZXxmYWxzZXxpZi1hc2tlZCk6OgorLS1zaWduZWQ9KHRydWV8ZmFsc2V8aWYtYXNrZWQpOjoKIAlHUEctc2lnbiB0aGUgcHVzaCByZXF1ZXN0IHRvIHVwZGF0ZSByZWZzIG9uIHRoZSByZWNlaXZpbmcKIAlzaWRlLCB0byBhbGxvdyBpdCB0byBiZSBjaGVja2VkIGJ5IHRoZSBob29rcyBhbmQvb3IgYmUKIAlsb2dnZWQuICBJZiBgZmFsc2VgIG9yIGAtLW5vLXNpZ25lZGAsIG5vIHNpZ25pbmcgd2lsbCBiZQpAQCAtODEsNiArODEsMTIgQEAKIAl3aWxsIGFsc28gZmFpbCBpZiB0aGUgYWN0dWFsIGNhbGwgdG8gYGdwZyAtLXNpZ25gIGZhaWxzLiAgU2VlCiAJbGlua2dpdDpnaXQtcmVjZWl2ZS1wYWNrWzFdIGZvciB0aGUgZGV0YWlscyBvbiB0aGUgcmVjZWl2aW5nIGVuZC4KIAorLS1wdXNoLW9wdGlvbj08c3RyaW5nPjo6CisJUGFzcyB0aGUgc3BlY2lmaWVkIHN0cmluZyBhcyBhIHB1c2ggb3B0aW9uIGZvciBjb25zdW1wdGlvbiBieQorCWhvb2tzIG9uIHRoZSBzZXJ2ZXIgc2lkZS4gIElmIHRoZSBzZXJ2ZXIgZG9lc24ndCBzdXBwb3J0IHB1c2gKKwlvcHRpb25zLCBlcnJvciBvdXQuICBTZWUgbGlua2dpdDpnaXQtcHVzaFsxXSBhbmQKKwlsaW5rZ2l0OmdpdGhvb2tzWzVdIGZvciBkZXRhaWxzLgorCiA8aG9zdD46OgogCUEgcmVtb3RlIGhvc3QgdG8gaG91c2UgdGhlIHJlcG9zaXRvcnkuICBXaGVuIHRoaXMKIAlwYXJ0IGlzIHNwZWNpZmllZCwgJ2dpdC1yZWNlaXZlLXBhY2snIGlzIGludm9rZWQgdmlhCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1zdGFzaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdGFzaC50eHQKaW5kZXggMmU5ZTM0NC4uMDBmOTVmZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc3Rhc2gudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXN0YXNoLnR4dApAQCAtMTMsOCArMTMsMTEgQEAKICdnaXQgc3Rhc2gnIGRyb3AgWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XQogJ2dpdCBzdGFzaCcgKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dCiAnZ2l0IHN0YXNoJyBicmFuY2ggPGJyYW5jaG5hbWU+IFs8c3Rhc2g+XQotJ2dpdCBzdGFzaCcgW3NhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdCi0JICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbPG1lc3NhZ2U+XV0KKydnaXQgc3Rhc2gnIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdCisJICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbPG1lc3NhZ2U+XQorJ2dpdCBzdGFzaCcgW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdCisJICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl1dCisJICAgICBbLS1dIFs8cGF0aHNwZWM+Li4uXV0KICdnaXQgc3Rhc2gnIGNsZWFyCiAnZ2l0IHN0YXNoJyBjcmVhdGUgWzxtZXNzYWdlPl0KICdnaXQgc3Rhc2gnIHN0b3JlIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XSBbLXF8LS1xdWlldF0gPGNvbW1pdD4KQEAgLTQ2LDE0ICs0OSwyNCBAQAogLS0tLS0tLQogCiBzYXZlIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstcXwtLXF1aWV0XSBbPG1lc3NhZ2U+XTo6CitwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstcXwtLXF1aWV0XSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy0tXSBbPHBhdGhzcGVjPi4uLl06OgogCi0JU2F2ZSB5b3VyIGxvY2FsIG1vZGlmaWNhdGlvbnMgdG8gYSBuZXcgJ3N0YXNoJyBhbmQgcm9sbCB0aGVtCisJU2F2ZSB5b3VyIGxvY2FsIG1vZGlmaWNhdGlvbnMgdG8gYSBuZXcgJ3N0YXNoIGVudHJ5JyBhbmQgcm9sbCB0aGVtCiAJYmFjayB0byBIRUFEIChpbiB0aGUgd29ya2luZyB0cmVlIGFuZCBpbiB0aGUgaW5kZXgpLgogCVRoZSA8bWVzc2FnZT4gcGFydCBpcyBvcHRpb25hbCBhbmQgZ2l2ZXMKLQl0aGUgZGVzY3JpcHRpb24gYWxvbmcgd2l0aCB0aGUgc3Rhc2hlZCBzdGF0ZS4gIEZvciBxdWlja2x5IG1ha2luZwotCWEgc25hcHNob3QsIHlvdSBjYW4gb21pdCBfYm90aF8gInNhdmUiIGFuZCA8bWVzc2FnZT4sIGJ1dCBnaXZpbmcKLQlvbmx5IDxtZXNzYWdlPiBkb2VzIG5vdCB0cmlnZ2VyIHRoaXMgYWN0aW9uIHRvIHByZXZlbnQgYSBtaXNzcGVsbGVkCi0Jc3ViY29tbWFuZCBmcm9tIG1ha2luZyBhbiB1bndhbnRlZCBzdGFzaC4KKwl0aGUgZGVzY3JpcHRpb24gYWxvbmcgd2l0aCB0aGUgc3Rhc2hlZCBzdGF0ZS4KKysKK0ZvciBxdWlja2x5IG1ha2luZyBhIHNuYXBzaG90LCB5b3UgY2FuIG9taXQgInB1c2giLiAgSW4gdGhpcyBtb2RlLAorbm9uLW9wdGlvbiBhcmd1bWVudHMgYXJlIG5vdCBhbGxvd2VkIHRvIHByZXZlbnQgYSBtaXNzcGVsbGVkCitzdWJjb21tYW5kIGZyb20gbWFraW5nIGFuIHVud2FudGVkIHN0YXNoIGVudHJ5LiAgVGhlIHR3byBleGNlcHRpb25zIHRvIHRoaXMKK2FyZSBgc3Rhc2ggLXBgIHdoaWNoIGFjdHMgYXMgYWxpYXMgZm9yIGBzdGFzaCBwdXNoIC1wYCBhbmQgcGF0aHNwZWNzLAord2hpY2ggYXJlIGFsbG93ZWQgYWZ0ZXIgYSBkb3VibGUgaHlwaGVuIGAtLWAgZm9yIGRpc2FtYmlndWF0aW9uLgorKworV2hlbiBwYXRoc3BlYyBpcyBnaXZlbiB0byAnZ2l0IHN0YXNoIHB1c2gnLCB0aGUgbmV3IHN0YXNoIGVudHJ5IHJlY29yZHMgdGhlCittb2RpZmllZCBzdGF0ZXMgb25seSBmb3IgdGhlIGZpbGVzIHRoYXQgbWF0Y2ggdGhlIHBhdGhzcGVjLiAgVGhlIGluZGV4CitlbnRyaWVzIGFuZCB3b3JraW5nIHRyZWUgZmlsZXMgYXJlIHRoZW4gcm9sbGVkIGJhY2sgdG8gdGhlIHN0YXRlIGluCitIRUFEIG9ubHkgZm9yIHRoZXNlIGZpbGVzLCB0b28sIGxlYXZpbmcgZmlsZXMgdGhhdCBkbyBub3QgbWF0Y2ggdGhlCitwYXRoc3BlYyBpbnRhY3QuCiArCiBJZiB0aGUgYC0ta2VlcC1pbmRleGAgb3B0aW9uIGlzIHVzZWQsIGFsbCBjaGFuZ2VzIGFscmVhZHkgYWRkZWQgdG8gdGhlCiBpbmRleCBhcmUgbGVmdCBpbnRhY3QuCkBAIC03NiwxMCArODksMTAgQEAKIAogbGlzdCBbPG9wdGlvbnM+XTo6CiAKLQlMaXN0IHRoZSBzdGFzaGVzIHRoYXQgeW91IGN1cnJlbnRseSBoYXZlLiAgRWFjaCAnc3Rhc2gnIGlzIGxpc3RlZAotCXdpdGggaXRzIG5hbWUgKGUuZy4gYHN0YXNoQHswfWAgaXMgdGhlIGxhdGVzdCBzdGFzaCwgYHN0YXNoQHsxfWAgaXMKKwlMaXN0IHRoZSBzdGFzaCBlbnRyaWVzIHRoYXQgeW91IGN1cnJlbnRseSBoYXZlLiAgRWFjaCAnc3Rhc2ggZW50cnknIGlzCisJbGlzdGVkIHdpdGggaXRzIG5hbWUgKGUuZy4gYHN0YXNoQHswfWAgaXMgdGhlIGxhdGVzdCBlbnRyeSwgYHN0YXNoQHsxfWAgaXMKIAl0aGUgb25lIGJlZm9yZSwgZXRjLiksIHRoZSBuYW1lIG9mIHRoZSBicmFuY2ggdGhhdCB3YXMgY3VycmVudCB3aGVuIHRoZQotCXN0YXNoIHdhcyBtYWRlLCBhbmQgYSBzaG9ydCBkZXNjcmlwdGlvbiBvZiB0aGUgY29tbWl0IHRoZSBzdGFzaCB3YXMKKwllbnRyeSB3YXMgbWFkZSwgYW5kIGEgc2hvcnQgZGVzY3JpcHRpb24gb2YgdGhlIGNvbW1pdCB0aGUgZW50cnkgd2FzCiAJYmFzZWQgb24uCiArCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05MiwxMSArMTA1LDEyIEBACiAKIHNob3cgWzxzdGFzaD5dOjoKIAotCVNob3cgdGhlIGNoYW5nZXMgcmVjb3JkZWQgaW4gdGhlIHN0YXNoIGFzIGEgZGlmZiBiZXR3ZWVuIHRoZQotCXN0YXNoZWQgc3RhdGUgYW5kIGl0cyBvcmlnaW5hbCBwYXJlbnQuIFdoZW4gbm8gYDxzdGFzaD5gIGlzIGdpdmVuLAotCXNob3dzIHRoZSBsYXRlc3Qgb25lLiBCeSBkZWZhdWx0LCB0aGUgY29tbWFuZCBzaG93cyB0aGUgZGlmZnN0YXQsIGJ1dAotCWl0IHdpbGwgYWNjZXB0IGFueSBmb3JtYXQga25vd24gdG8gJ2dpdCBkaWZmJyAoZS5nLiwgYGdpdCBzdGFzaCBzaG93Ci0JLXAgc3Rhc2hAezF9YCB0byB2aWV3IHRoZSBzZWNvbmQgbW9zdCByZWNlbnQgc3Rhc2ggaW4gcGF0Y2ggZm9ybSkuCisJU2hvdyB0aGUgY2hhbmdlcyByZWNvcmRlZCBpbiB0aGUgc3Rhc2ggZW50cnkgYXMgYSBkaWZmIGJldHdlZW4gdGhlCisJc3Rhc2hlZCBjb250ZW50cyBhbmQgdGhlIGNvbW1pdCBiYWNrIHdoZW4gdGhlIHN0YXNoIGVudHJ5IHdhcyBmaXJzdAorCWNyZWF0ZWQuIFdoZW4gbm8gYDxzdGFzaD5gIGlzIGdpdmVuLCBpdCBzaG93cyB0aGUgbGF0ZXN0IG9uZS4KKwlCeSBkZWZhdWx0LCB0aGUgY29tbWFuZCBzaG93cyB0aGUgZGlmZnN0YXQsIGJ1dCBpdCB3aWxsIGFjY2VwdCBhbnkKKwlmb3JtYXQga25vd24gdG8gJ2dpdCBkaWZmJyAoZS5nLiwgYGdpdCBzdGFzaCBzaG93IC1wIHN0YXNoQHsxfWAKKwl0byB2aWV3IHRoZSBzZWNvbmQgbW9zdCByZWNlbnQgZW50cnkgaW4gcGF0Y2ggZm9ybSkuCiAJWW91IGNhbiB1c2Ugc3Rhc2guc2hvd1N0YXQgYW5kL29yIHN0YXNoLnNob3dQYXRjaCBjb25maWcgdmFyaWFibGVzCiAJdG8gY2hhbmdlIHRoZSBkZWZhdWx0IGJlaGF2aW9yLgogCkBAIC0xMzYsMjYgKzE1MCwyNyBAQAogKwogVGhpcyBpcyB1c2VmdWwgaWYgdGhlIGJyYW5jaCBvbiB3aGljaCB5b3UgcmFuIGBnaXQgc3Rhc2ggc2F2ZWAgaGFzCiBjaGFuZ2VkIGVub3VnaCB0aGF0IGBnaXQgc3Rhc2ggYXBwbHlgIGZhaWxzIGR1ZSB0byBjb25mbGljdHMuIFNpbmNlCi10aGUgc3Rhc2ggaXMgYXBwbGllZCBvbiB0b3Agb2YgdGhlIGNvbW1pdCB0aGF0IHdhcyBIRUFEIGF0IHRoZSB0aW1lCi1gZ2l0IHN0YXNoYCB3YXMgcnVuLCBpdCByZXN0b3JlcyB0aGUgb3JpZ2luYWxseSBzdGFzaGVkIHN0YXRlIHdpdGgKLW5vIGNvbmZsaWN0cy4KK3RoZSBzdGFzaCBlbnRyeSBpcyBhcHBsaWVkIG9uIHRvcCBvZiB0aGUgY29tbWl0IHRoYXQgd2FzIEhFQUQgYXQgdGhlCit0aW1lIGBnaXQgc3Rhc2hgIHdhcyBydW4sIGl0IHJlc3RvcmVzIHRoZSBvcmlnaW5hbGx5IHN0YXNoZWQgc3RhdGUKK3dpdGggbm8gY29uZmxpY3RzLgogCiBjbGVhcjo6Ci0JUmVtb3ZlIGFsbCB0aGUgc3Rhc2hlZCBzdGF0ZXMuIE5vdGUgdGhhdCB0aG9zZSBzdGF0ZXMgd2lsbCB0aGVuCisJUmVtb3ZlIGFsbCB0aGUgc3Rhc2ggZW50cmllcy4gTm90ZSB0aGF0IHRob3NlIGVudHJpZXMgd2lsbCB0aGVuCiAJYmUgc3ViamVjdCB0byBwcnVuaW5nLCBhbmQgbWF5IGJlIGltcG9zc2libGUgdG8gcmVjb3ZlciAoc2VlCiAJJ0V4YW1wbGVzJyBiZWxvdyBmb3IgYSBwb3NzaWJsZSBzdHJhdGVneSkuCiAKIGRyb3AgWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XTo6CiAKLQlSZW1vdmUgYSBzaW5nbGUgc3Rhc2hlZCBzdGF0ZSBmcm9tIHRoZSBzdGFzaCBsaXN0LiBXaGVuIG5vIGA8c3Rhc2g+YAotCWlzIGdpdmVuLCBpdCByZW1vdmVzIHRoZSBsYXRlc3Qgb25lLiBpLmUuIGBzdGFzaEB7MH1gLCBvdGhlcndpc2UKLQlgPHN0YXNoPmAgbXVzdCBiZSBhIHZhbGlkIHN0YXNoIGxvZyByZWZlcmVuY2Ugb2YgdGhlIGZvcm0KLQlgc3Rhc2hAezxyZXZpc2lvbj59YC4KKwlSZW1vdmUgYSBzaW5nbGUgc3Rhc2ggZW50cnkgZnJvbSB0aGUgbGlzdCBvZiBzdGFzaCBlbnRyaWVzLgorCVdoZW4gbm8gYDxzdGFzaD5gIGlzIGdpdmVuLCBpdCByZW1vdmVzIHRoZSBsYXRlc3Qgb25lLgorCWkuZS4gYHN0YXNoQHswfWAsIG90aGVyd2lzZSBgPHN0YXNoPmAgbXVzdCBiZSBhIHZhbGlkIHN0YXNoCisJbG9nIHJlZmVyZW5jZSBvZiB0aGUgZm9ybSBgc3Rhc2hAezxyZXZpc2lvbj59YC4KIAogY3JlYXRlOjoKIAotCUNyZWF0ZSBhIHN0YXNoICh3aGljaCBpcyBhIHJlZ3VsYXIgY29tbWl0IG9iamVjdCkgYW5kIHJldHVybiBpdHMKLQlvYmplY3QgbmFtZSwgd2l0aG91dCBzdG9yaW5nIGl0IGFueXdoZXJlIGluIHRoZSByZWYgbmFtZXNwYWNlLgorCUNyZWF0ZSBhIHN0YXNoIGVudHJ5ICh3aGljaCBpcyBhIHJlZ3VsYXIgY29tbWl0IG9iamVjdCkgYW5kCisJcmV0dXJuIGl0cyBvYmplY3QgbmFtZSwgd2l0aG91dCBzdG9yaW5nIGl0IGFueXdoZXJlIGluIHRoZSByZWYKKwluYW1lc3BhY2UuCiAJVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VmdWwgZm9yIHNjcmlwdHMuICBJdCBpcyBwcm9iYWJseSBub3QKIAl0aGUgY29tbWFuZCB5b3Ugd2FudCB0byB1c2U7IHNlZSAic2F2ZSIgYWJvdmUuCiAKQEAgLTE2OSwxMCArMTg0LDEwIEBACiBESVNDVVNTSU9OCiAtLS0tLS0tLS0tCiAKLUEgc3Rhc2ggaXMgcmVwcmVzZW50ZWQgYXMgYSBjb21taXQgd2hvc2UgdHJlZSByZWNvcmRzIHRoZSBzdGF0ZSBvZiB0aGUKLXdvcmtpbmcgZGlyZWN0b3J5LCBhbmQgaXRzIGZpcnN0IHBhcmVudCBpcyB0aGUgY29tbWl0IGF0IGBIRUFEYCB3aGVuCi10aGUgc3Rhc2ggd2FzIGNyZWF0ZWQuICBUaGUgdHJlZSBvZiB0aGUgc2Vjb25kIHBhcmVudCByZWNvcmRzIHRoZQotc3RhdGUgb2YgdGhlIGluZGV4IHdoZW4gdGhlIHN0YXNoIGlzIG1hZGUsIGFuZCBpdCBpcyBtYWRlIGEgY2hpbGQgb2YKK0Egc3Rhc2ggZW50cnkgaXMgcmVwcmVzZW50ZWQgYXMgYSBjb21taXQgd2hvc2UgdHJlZSByZWNvcmRzIHRoZSBzdGF0ZQorb2YgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBhbmQgaXRzIGZpcnN0IHBhcmVudCBpcyB0aGUgY29tbWl0IGF0IGBIRUFEYAord2hlbiB0aGUgZW50cnkgd2FzIGNyZWF0ZWQuICBUaGUgdHJlZSBvZiB0aGUgc2Vjb25kIHBhcmVudCByZWNvcmRzIHRoZQorc3RhdGUgb2YgdGhlIGluZGV4IHdoZW4gdGhlIGVudHJ5IGlzIG1hZGUsIGFuZCBpdCBpcyBtYWRlIGEgY2hpbGQgb2YKIHRoZSBgSEVBRGAgY29tbWl0LiAgVGhlIGFuY2VzdHJ5IGdyYXBoIGxvb2tzIGxpa2UgdGhpczoKIAogICAgICAgICAgICAgLi0tLS1XCkBAIC0yNTYsMTIgKzI3MSwxMiBAQAogJCBnaXQgY29tbWl0IGZvbyAtbSAnUmVtYWluaW5nIHBhcnRzJwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1SZWNvdmVyaW5nIHN0YXNoZXMgdGhhdCB3ZXJlIGNsZWFyZWQvZHJvcHBlZCBlcnJvbmVvdXNseTo6CitSZWNvdmVyaW5nIHN0YXNoIGVudHJpZXMgdGhhdCB3ZXJlIGNsZWFyZWQvZHJvcHBlZCBlcnJvbmVvdXNseTo6CiAKLUlmIHlvdSBtaXN0YWtlbmx5IGRyb3Agb3IgY2xlYXIgc3Rhc2hlcywgdGhleSBjYW5ub3QgYmUgcmVjb3ZlcmVkCitJZiB5b3UgbWlzdGFrZW5seSBkcm9wIG9yIGNsZWFyIHN0YXNoIGVudHJpZXMsIHRoZXkgY2Fubm90IGJlIHJlY292ZXJlZAogdGhyb3VnaCB0aGUgbm9ybWFsIHNhZmV0eSBtZWNoYW5pc21zLiAgSG93ZXZlciwgeW91IGNhbiB0cnkgdGhlCi1mb2xsb3dpbmcgaW5jYW50YXRpb24gdG8gZ2V0IGEgbGlzdCBvZiBzdGFzaGVzIHRoYXQgYXJlIHN0aWxsIGluIHlvdXIKLXJlcG9zaXRvcnksIGJ1dCBub3QgcmVhY2hhYmxlIGFueSBtb3JlOgorZm9sbG93aW5nIGluY2FudGF0aW9uIHRvIGdldCBhIGxpc3Qgb2Ygc3Rhc2ggZW50cmllcyB0aGF0IGFyZSBzdGlsbCBpbgoreW91ciByZXBvc2l0b3J5LCBidXQgbm90IHJlYWNoYWJsZSBhbnkgbW9yZToKICsKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGdpdCBmc2NrIC0tdW5yZWFjaGFibGUgfApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc3RhdHVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXN0YXR1cy50eHQKaW5kZXggNzI1MDY1ZS4uOWYzYTc4YSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc3RhdHVzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdGF0dXMudHh0CkBAIC0zMiw2ICszMiw5IEBACiAtLWJyYW5jaDo6CiAJU2hvdyB0aGUgYnJhbmNoIGFuZCB0cmFja2luZyBpbmZvIGV2ZW4gaW4gc2hvcnQtZm9ybWF0LgogCistLXNob3ctc3Rhc2g6OgorCVNob3cgdGhlIG51bWJlciBvZiBlbnRyaWVzIGN1cnJlbnRseSBzdGFzaGVkIGF3YXkuCisKIC0tcG9yY2VsYWluWz08dmVyc2lvbj5dOjoKIAlHaXZlIHRoZSBvdXRwdXQgaW4gYW4gZWFzeS10by1wYXJzZSBmb3JtYXQgZm9yIHNjcmlwdHMuCiAJVGhpcyBpcyBzaW1pbGFyIHRvIHRoZSBzaG9ydCBvdXRwdXQsIGJ1dCB3aWxsIHJlbWFpbiBzdGFibGUKQEAgLTEwOCw2ICsxMTEsOCBAQAogCXdpdGhvdXQgb3B0aW9ucyBhcmUgZXF1aXZhbGVudCB0byAnYWx3YXlzJyBhbmQgJ25ldmVyJwogCXJlc3BlY3RpdmVseS4KIAorPHBhdGhzcGVjPi4uLjo6CisJU2VlIHRoZSAncGF0aHNwZWMnIGVudHJ5IGluIGxpbmtnaXQ6Z2l0Z2xvc3NhcnlbN10uCiAKIE9VVFBVVAogLS0tLS0tCkBAIC0xODEsNiArMTg2LDE3IEBACiAgICAgISAgICAgICAgICAgISAgICBpZ25vcmVkCiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCitTdWJtb2R1bGVzIGhhdmUgbW9yZSBzdGF0ZSBhbmQgaW5zdGVhZCByZXBvcnQKKwkJTSAgICB0aGUgc3VibW9kdWxlIGhhcyBhIGRpZmZlcmVudCBIRUFEIHRoYW4KKwkJICAgICByZWNvcmRlZCBpbiB0aGUgaW5kZXgKKwkJbSAgICB0aGUgc3VibW9kdWxlIGhhcyBtb2RpZmllZCBjb250ZW50CisJCT8gICAgdGhlIHN1Ym1vZHVsZSBoYXMgdW50cmFja2VkIGZpbGVzCitzaW5jZSBtb2RpZmllZCBjb250ZW50IG9yIHVudHJhY2tlZCBmaWxlcyBpbiBhIHN1Ym1vZHVsZSBjYW5ub3QgYmUgYWRkZWQKK3ZpYSBgZ2l0IGFkZGAgaW4gdGhlIHN1cGVycHJvamVjdCB0byBwcmVwYXJlIGEgY29tbWl0LgorCisnbScgYW5kICc/JyBhcmUgYXBwbGllZCByZWN1cnNpdmVseS4gRm9yIGV4YW1wbGUgaWYgYSBuZXN0ZWQgc3VibW9kdWxlCitpbiBhIHN1Ym1vZHVsZSBjb250YWlucyBhbiB1bnRyYWNrZWQgZmlsZSwgdGhpcyBpcyByZXBvcnRlZCBhcyAnPycgYXMgd2VsbC4KKwogSWYgLWIgaXMgdXNlZCB0aGUgc2hvcnQtZm9ybWF0IHN0YXR1cyBpcyBwcmVjZWRlZCBieSBhIGxpbmUKIAogICAgICMjIGJyYW5jaG5hbWUgdHJhY2tpbmcgaW5mbwpAQCAtMjEwLDYgKzIyNiw4IEBACiBjaGFyYWN0ZXJzIGFyZSBub3Qgc3BlY2lhbGx5IGZvcm1hdHRlZDsgbm8gcXVvdGluZyBvcgogYmFja3NsYXNoLWVzY2FwaW5nIGlzIHBlcmZvcm1lZC4KIAorQW55IHN1Ym1vZHVsZSBjaGFuZ2VzIGFyZSByZXBvcnRlZCBhcyBtb2RpZmllZCBgTWAgaW5zdGVhZCBvZiBgbWAgb3Igc2luZ2xlIGA/YC4KKwogUG9yY2VsYWluIEZvcm1hdCBWZXJzaW9uIDIKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKQEAgLTMyMiwxMCArMzQwLDkgQEAKIHdpdGhvdXQgYW55IHF1b3RpbmcgYW5kIGxpbmVzIGFyZSB0ZXJtaW5hdGVkIHdpdGggYSBOVUwgKEFTQ0lJIDB4MDApCiBieXRlLgogCi1PdGhlcndpc2UsIGFsbCBwYXRobmFtZXMgd2lsbCBiZSAiQy1xdW90ZWQiIGlmIHRoZXkgY29udGFpbiBhbnkgdGFiLAotbGluZWZlZWQsIGRvdWJsZSBxdW90ZSwgb3IgYmFja3NsYXNoIGNoYXJhY3RlcnMuIEluIEMtcXVvdGluZywgdGhlc2UKLWNoYXJhY3RlcnMgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIEMtc3R5bGUgZXNjYXBlCi1zZXF1ZW5jZXMgYW5kIHRoZSByZXN1bHRpbmcgcGF0aG5hbWUgd2lsbCBiZSBkb3VibGUgcXVvdGVkLgorV2l0aG91dCB0aGUgYC16YCBvcHRpb24sIHBhdGhuYW1lcyB3aXRoICJ1bnVzdWFsIiBjaGFyYWN0ZXJzIGFyZQorcXVvdGVkIGFzIGV4cGxhaW5lZCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGNvcmUucXVvdGVQYXRoYAorKHNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0pLgogCiAKIENPTkZJR1VSQVRJT04KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXN1Ym1vZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdWJtb2R1bGUudHh0CmluZGV4IDhhY2M3MmUuLmZmNjEyMDAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXN1Ym1vZHVsZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc3VibW9kdWxlLnR4dApAQCAtMjQsMzcgKzI0LDcgQEAKIC0tLS0tLS0tLS0tCiBJbnNwZWN0cywgdXBkYXRlcyBhbmQgbWFuYWdlcyBzdWJtb2R1bGVzLgogCi1BIHN1Ym1vZHVsZSBhbGxvd3MgeW91IHRvIGtlZXAgYW5vdGhlciBHaXQgcmVwb3NpdG9yeSBpbiBhIHN1YmRpcmVjdG9yeQotb2YgeW91ciByZXBvc2l0b3J5LiBUaGUgb3RoZXIgcmVwb3NpdG9yeSBoYXMgaXRzIG93biBoaXN0b3J5LCB3aGljaCBkb2VzIG5vdAotaW50ZXJmZXJlIHdpdGggdGhlIGhpc3Rvcnkgb2YgdGhlIGN1cnJlbnQgcmVwb3NpdG9yeS4gVGhpcyBjYW4gYmUgdXNlZCB0bwotaGF2ZSBleHRlcm5hbCBkZXBlbmRlbmNpZXMgc3VjaCBhcyB0aGlyZCBwYXJ0eSBsaWJyYXJpZXMgZm9yIGV4YW1wbGUuCi0KLVdoZW4gY2xvbmluZyBvciBwdWxsaW5nIGEgcmVwb3NpdG9yeSBjb250YWluaW5nIHN1Ym1vZHVsZXMgaG93ZXZlciwKLXRoZXNlIHdpbGwgbm90IGJlIGNoZWNrZWQgb3V0IGJ5IGRlZmF1bHQ7IHRoZSAnaW5pdCcgYW5kICd1cGRhdGUnCi1zdWJjb21tYW5kcyB3aWxsIG1haW50YWluIHN1Ym1vZHVsZXMgY2hlY2tlZCBvdXQgYW5kIGF0Ci1hcHByb3ByaWF0ZSByZXZpc2lvbiBpbiB5b3VyIHdvcmtpbmcgdHJlZS4KLQotU3VibW9kdWxlcyBhcmUgY29tcG9zZWQgZnJvbSBhIHNvLWNhbGxlZCBgZ2l0bGlua2AgdHJlZSBlbnRyeQotaW4gdGhlIG1haW4gcmVwb3NpdG9yeSB0aGF0IHJlZmVycyB0byBhIHBhcnRpY3VsYXIgY29tbWl0IG9iamVjdAotd2l0aGluIHRoZSBpbm5lciByZXBvc2l0b3J5IHRoYXQgaXMgY29tcGxldGVseSBzZXBhcmF0ZS4KLUEgcmVjb3JkIGluIHRoZSBgLmdpdG1vZHVsZXNgIChzZWUgbGlua2dpdDpnaXRtb2R1bGVzWzVdKSBmaWxlIGF0IHRoZQotcm9vdCBvZiB0aGUgc291cmNlIHRyZWUgYXNzaWducyBhIGxvZ2ljYWwgbmFtZSB0byB0aGUgc3VibW9kdWxlIGFuZAotZGVzY3JpYmVzIHRoZSBkZWZhdWx0IFVSTCB0aGUgc3VibW9kdWxlIHNoYWxsIGJlIGNsb25lZCBmcm9tLgotVGhlIGxvZ2ljYWwgbmFtZSBjYW4gYmUgdXNlZCBmb3Igb3ZlcnJpZGluZyB0aGlzIFVSTCB3aXRoaW4geW91cgotbG9jYWwgcmVwb3NpdG9yeSBjb25maWd1cmF0aW9uIChzZWUgJ3N1Ym1vZHVsZSBpbml0JykuCi0KLVN1Ym1vZHVsZXMgYXJlIG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIHJlbW90ZXMsIHdoaWNoIGFyZSBvdGhlcgotcmVwb3NpdG9yaWVzIG9mIHRoZSBzYW1lIHByb2plY3Q7IHN1Ym1vZHVsZXMgYXJlIG1lYW50IGZvcgotZGlmZmVyZW50IHByb2plY3RzIHlvdSB3b3VsZCBsaWtlIHRvIG1ha2UgcGFydCBvZiB5b3VyIHNvdXJjZSB0cmVlLAotd2hpbGUgdGhlIGhpc3Rvcnkgb2YgdGhlIHR3byBwcm9qZWN0cyBzdGlsbCBzdGF5cyBjb21wbGV0ZWx5Ci1pbmRlcGVuZGVudCBhbmQgeW91IGNhbm5vdCBtb2RpZnkgdGhlIGNvbnRlbnRzIG9mIHRoZSBzdWJtb2R1bGUKLWZyb20gd2l0aGluIHRoZSBtYWluIHByb2plY3QuCi1JZiB5b3Ugd2FudCB0byBtZXJnZSB0aGUgcHJvamVjdCBoaXN0b3JpZXMgYW5kIHdhbnQgdG8gdHJlYXQgdGhlCi1hZ2dyZWdhdGVkIHdob2xlIGFzIGEgc2luZ2xlIHByb2plY3QgZnJvbSB0aGVuIG9uLCB5b3UgbWF5IHdhbnQgdG8KLWFkZCBhIHJlbW90ZSBmb3IgdGhlIG90aGVyIHByb2plY3QgYW5kIHVzZSB0aGUgJ3N1YnRyZWUnIG1lcmdlIHN0cmF0ZWd5LAotaW5zdGVhZCBvZiB0cmVhdGluZyB0aGUgb3RoZXIgcHJvamVjdCBhcyBhIHN1Ym1vZHVsZS4gRGlyZWN0b3JpZXMKLXRoYXQgY29tZSBmcm9tIGJvdGggcHJvamVjdHMgY2FuIGJlIGNsb25lZCBhbmQgY2hlY2tlZCBvdXQgYXMgYSB3aG9sZQotaWYgeW91IGNob29zZSB0byBnbyB0aGF0IHJvdXRlLgorRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc3VibW9kdWxlcywgc2VlIGxpbmtnaXQ6Z2l0c3VibW9kdWxlc1s3XS4KIAogQ09NTUFORFMKIC0tLS0tLS0tCkBAIC02Myw0MSArMzMsMzggQEAKIAl0byB0aGUgY2hhbmdlc2V0IHRvIGJlIGNvbW1pdHRlZCBuZXh0IHRvIHRoZSBjdXJyZW50CiAJcHJvamVjdDogdGhlIGN1cnJlbnQgcHJvamVjdCBpcyB0ZXJtZWQgdGhlICJzdXBlcnByb2plY3QiLgogKwotVGhpcyByZXF1aXJlcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQ6IDxyZXBvc2l0b3J5Pi4gVGhlIG9wdGlvbmFsCi1hcmd1bWVudCA8cGF0aD4gaXMgdGhlIHJlbGF0aXZlIGxvY2F0aW9uIGZvciB0aGUgY2xvbmVkIHN1Ym1vZHVsZQotdG8gZXhpc3QgaW4gdGhlIHN1cGVycHJvamVjdC4gSWYgPHBhdGg+IGlzIG5vdCBnaXZlbiwgdGhlCi0iaHVtYW5pc2giIHBhcnQgb2YgdGhlIHNvdXJjZSByZXBvc2l0b3J5IGlzIHVzZWQgKCJyZXBvIiBmb3IKLSIvcGF0aC90by9yZXBvLmdpdCIgYW5kICJmb28iIGZvciAiaG9zdC54ejpmb28vLmdpdCIpLgotVGhlIDxwYXRoPiBpcyBhbHNvIHVzZWQgYXMgdGhlIHN1Ym1vZHVsZSdzIGxvZ2ljYWwgbmFtZSBpbiBpdHMKLWNvbmZpZ3VyYXRpb24gZW50cmllcyB1bmxlc3MgYC0tbmFtZWAgaXMgdXNlZCB0byBzcGVjaWZ5IGEgbG9naWNhbCBuYW1lLgotKwogPHJlcG9zaXRvcnk+IGlzIHRoZSBVUkwgb2YgdGhlIG5ldyBzdWJtb2R1bGUncyBvcmlnaW4gcmVwb3NpdG9yeS4KIFRoaXMgbWF5IGJlIGVpdGhlciBhbiBhYnNvbHV0ZSBVUkwsIG9yIChpZiBpdCBiZWdpbnMgd2l0aCAuLwotb3IgLi4vKSwgdGhlIGxvY2F0aW9uIHJlbGF0aXZlIHRvIHRoZSBzdXBlcnByb2plY3QncyBvcmlnaW4KK29yIC4uLyksIHRoZSBsb2NhdGlvbiByZWxhdGl2ZSB0byB0aGUgc3VwZXJwcm9qZWN0J3MgZGVmYXVsdCByZW1vdGUKIHJlcG9zaXRvcnkgKFBsZWFzZSBub3RlIHRoYXQgdG8gc3BlY2lmeSBhIHJlcG9zaXRvcnkgJ2Zvby5naXQnCiB3aGljaCBpcyBsb2NhdGVkIHJpZ2h0IG5leHQgdG8gYSBzdXBlcnByb2plY3QgJ2Jhci5naXQnLCB5b3UnbGwKIGhhdmUgdG8gdXNlICcuLi9mb28uZ2l0JyBpbnN0ZWFkIG9mICcuL2Zvby5naXQnIC0gYXMgb25lIG1pZ2h0IGV4cGVjdAogd2hlbiBmb2xsb3dpbmcgdGhlIHJ1bGVzIGZvciByZWxhdGl2ZSBVUkxzIC0gYmVjYXVzZSB0aGUgZXZhbHVhdGlvbgogb2YgcmVsYXRpdmUgVVJMcyBpbiBHaXQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgb2YgcmVsYXRpdmUgZGlyZWN0b3JpZXMpLgotSWYgdGhlIHN1cGVycHJvamVjdCBkb2Vzbid0IGhhdmUgYW4gb3JpZ2luIGNvbmZpZ3VyZWQKKysKK1RoZSBkZWZhdWx0IHJlbW90ZSBpcyB0aGUgcmVtb3RlIG9mIHRoZSByZW1vdGUgdHJhY2tpbmcgYnJhbmNoCitvZiB0aGUgY3VycmVudCBicmFuY2guIElmIG5vIHN1Y2ggcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBleGlzdHMgb3IKK3RoZSBIRUFEIGlzIGRldGFjaGVkLCAib3JpZ2luIiBpcyBhc3N1bWVkIHRvIGJlIHRoZSBkZWZhdWx0IHJlbW90ZS4KK0lmIHRoZSBzdXBlcnByb2plY3QgZG9lc24ndCBoYXZlIGEgZGVmYXVsdCByZW1vdGUgY29uZmlndXJlZAogdGhlIHN1cGVycHJvamVjdCBpcyBpdHMgb3duIGF1dGhvcml0YXRpdmUgdXBzdHJlYW0gYW5kIHRoZSBjdXJyZW50CiB3b3JraW5nIGRpcmVjdG9yeSBpcyB1c2VkIGluc3RlYWQuCiArCi08cGF0aD4gaXMgdGhlIHJlbGF0aXZlIGxvY2F0aW9uIGZvciB0aGUgY2xvbmVkIHN1Ym1vZHVsZSB0bwotZXhpc3QgaW4gdGhlIHN1cGVycHJvamVjdC4gSWYgPHBhdGg+IGRvZXMgbm90IGV4aXN0LCB0aGVuIHRoZQotc3VibW9kdWxlIGlzIGNyZWF0ZWQgYnkgY2xvbmluZyBmcm9tIHRoZSBuYW1lZCBVUkwuIElmIDxwYXRoPiBkb2VzCi1leGlzdCBhbmQgaXMgYWxyZWFkeSBhIHZhbGlkIEdpdCByZXBvc2l0b3J5LCB0aGVuIHRoaXMgaXMgYWRkZWQKLXRvIHRoZSBjaGFuZ2VzZXQgd2l0aG91dCBjbG9uaW5nLiBUaGlzIHNlY29uZCBmb3JtIGlzIHByb3ZpZGVkCi10byBlYXNlIGNyZWF0aW5nIGEgbmV3IHN1Ym1vZHVsZSBmcm9tIHNjcmF0Y2gsIGFuZCBwcmVzdW1lcwotdGhlIHVzZXIgd2lsbCBsYXRlciBwdXNoIHRoZSBzdWJtb2R1bGUgdG8gdGhlIGdpdmVuIFVSTC4KK1RoZSBvcHRpb25hbCBhcmd1bWVudCA8cGF0aD4gaXMgdGhlIHJlbGF0aXZlIGxvY2F0aW9uIGZvciB0aGUgY2xvbmVkCitzdWJtb2R1bGUgdG8gZXhpc3QgaW4gdGhlIHN1cGVycHJvamVjdC4gSWYgPHBhdGg+IGlzIG5vdCBnaXZlbiwgdGhlCitjYW5vbmljYWwgcGFydCBvZiB0aGUgc291cmNlIHJlcG9zaXRvcnkgaXMgdXNlZCAoInJlcG8iIGZvcgorIi9wYXRoL3RvL3JlcG8uZ2l0IiBhbmQgImZvbyIgZm9yICJob3N0Lnh6OmZvby8uZ2l0IikuIElmIDxwYXRoPgorZXhpc3RzIGFuZCBpcyBhbHJlYWR5IGEgdmFsaWQgR2l0IHJlcG9zaXRvcnksIHRoZW4gaXQgaXMgc3RhZ2VkCitmb3IgY29tbWl0IHdpdGhvdXQgY2xvbmluZy4gVGhlIDxwYXRoPiBpcyBhbHNvIHVzZWQgYXMgdGhlIHN1Ym1vZHVsZSdzCitsb2dpY2FsIG5hbWUgaW4gaXRzIGNvbmZpZ3VyYXRpb24gZW50cmllcyB1bmxlc3MgYC0tbmFtZWAgaXMgdXNlZAordG8gc3BlY2lmeSBhIGxvZ2ljYWwgbmFtZS4KICsKLUluIGVpdGhlciBjYXNlLCB0aGUgZ2l2ZW4gVVJMIGlzIHJlY29yZGVkIGludG8gLmdpdG1vZHVsZXMgZm9yCi11c2UgYnkgc3Vic2VxdWVudCB1c2VycyBjbG9uaW5nIHRoZSBzdXBlcnByb2plY3QuIElmIHRoZSBVUkwgaXMKLWdpdmVuIHJlbGF0aXZlIHRvIHRoZSBzdXBlcnByb2plY3QncyByZXBvc2l0b3J5LCB0aGUgcHJlc3VtcHRpb24KLWlzIHRoZSBzdXBlcnByb2plY3QgYW5kIHN1Ym1vZHVsZSByZXBvc2l0b3JpZXMgd2lsbCBiZSBrZXB0Ci10b2dldGhlciBpbiB0aGUgc2FtZSByZWxhdGl2ZSBsb2NhdGlvbiwgYW5kIG9ubHkgdGhlCi1zdXBlcnByb2plY3QncyBVUkwgbmVlZHMgdG8gYmUgcHJvdmlkZWQ6IGdpdC1zdWJtb2R1bGUgd2lsbCBjb3JyZWN0bHkKLWxvY2F0ZSB0aGUgc3VibW9kdWxlIHVzaW5nIHRoZSByZWxhdGl2ZSBVUkwgaW4gLmdpdG1vZHVsZXMuCitUaGUgZ2l2ZW4gVVJMIGlzIHJlY29yZGVkIGludG8gYC5naXRtb2R1bGVzYCBmb3IgdXNlIGJ5IHN1YnNlcXVlbnQgdXNlcnMKK2Nsb25pbmcgdGhlIHN1cGVycHJvamVjdC4gSWYgdGhlIFVSTCBpcyBnaXZlbiByZWxhdGl2ZSB0byB0aGUKK3N1cGVycHJvamVjdCdzIHJlcG9zaXRvcnksIHRoZSBwcmVzdW1wdGlvbiBpcyB0aGUgc3VwZXJwcm9qZWN0IGFuZAorc3VibW9kdWxlIHJlcG9zaXRvcmllcyB3aWxsIGJlIGtlcHQgdG9nZXRoZXIgaW4gdGhlIHNhbWUgcmVsYXRpdmUKK2xvY2F0aW9uLCBhbmQgb25seSB0aGUgc3VwZXJwcm9qZWN0J3MgVVJMIG5lZWRzIHRvIGJlIHByb3ZpZGVkLgorZ2l0LXN1Ym1vZHVsZSB3aWxsIGNvcnJlY3RseSBsb2NhdGUgdGhlIHN1Ym1vZHVsZSB1c2luZyB0aGUgcmVsYXRpdmUKK1VSTCBpbiBgLmdpdG1vZHVsZXNgLgogCiBzdGF0dXMgWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFstLV0gWzxwYXRoPi4uLl06OgogCVNob3cgdGhlIHN0YXR1cyBvZiB0aGUgc3VibW9kdWxlcy4gVGhpcyB3aWxsIHByaW50IHRoZSBTSEEtMSBvZiB0aGUKQEAgLTExOCwxOCArODUsMjYgQEAKIAogaW5pdCBbLS1dIFs8cGF0aD4uLi5dOjoKIAlJbml0aWFsaXplIHRoZSBzdWJtb2R1bGVzIHJlY29yZGVkIGluIHRoZSBpbmRleCAod2hpY2ggd2VyZQotCWFkZGVkIGFuZCBjb21taXR0ZWQgZWxzZXdoZXJlKSBieSBjb3B5aW5nIHN1Ym1vZHVsZQotCW5hbWVzIGFuZCB1cmxzIGZyb20gLmdpdG1vZHVsZXMgdG8gLmdpdC9jb25maWcuCi0JT3B0aW9uYWwgPHBhdGg+IGFyZ3VtZW50cyBsaW1pdCB3aGljaCBzdWJtb2R1bGVzIHdpbGwgYmUgaW5pdGlhbGl6ZWQuCi0JSXQgd2lsbCBhbHNvIGNvcHkgdGhlIHZhbHVlIG9mIGBzdWJtb2R1bGUuJG5hbWUudXBkYXRlYCBpbnRvCi0JLmdpdC9jb25maWcuCi0JVGhlIGtleSB1c2VkIGluIC5naXQvY29uZmlnIGlzIGBzdWJtb2R1bGUuJG5hbWUudXJsYC4KLQlUaGlzIGNvbW1hbmQgZG9lcyBub3QgYWx0ZXIgZXhpc3RpbmcgaW5mb3JtYXRpb24gaW4gLmdpdC9jb25maWcuCi0JWW91IGNhbiB0aGVuIGN1c3RvbWl6ZSB0aGUgc3VibW9kdWxlIGNsb25lIFVSTHMgaW4gLmdpdC9jb25maWcKLQlmb3IgeW91ciBsb2NhbCBzZXR1cCBhbmQgcHJvY2VlZCB0byBgZ2l0IHN1Ym1vZHVsZSB1cGRhdGVgOwotCXlvdSBjYW4gYWxzbyBqdXN0IHVzZSBgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0YCB3aXRob3V0Ci0JdGhlIGV4cGxpY2l0ICdpbml0JyBzdGVwIGlmIHlvdSBkbyBub3QgaW50ZW5kIHRvIGN1c3RvbWl6ZQotCWFueSBzdWJtb2R1bGUgbG9jYXRpb25zLgorCWFkZGVkIGFuZCBjb21taXR0ZWQgZWxzZXdoZXJlKSBieSBzZXR0aW5nIGBzdWJtb2R1bGUuJG5hbWUudXJsYAorCWluIC5naXQvY29uZmlnLiBJdCB1c2VzIHRoZSBzYW1lIHNldHRpbmcgZnJvbSBgLmdpdG1vZHVsZXNgIGFzCisJYSB0ZW1wbGF0ZS4gSWYgdGhlIFVSTCBpcyByZWxhdGl2ZSwgaXQgd2lsbCBiZSByZXNvbHZlZCB1c2luZworCXRoZSBkZWZhdWx0IHJlbW90ZS4gSWYgdGhlcmUgaXMgbm8gZGVmYXVsdCByZW1vdGUsIHRoZSBjdXJyZW50CisJcmVwb3NpdG9yeSB3aWxsIGJlIGFzc3VtZWQgdG8gYmUgdXBzdHJlYW0uCisrCitPcHRpb25hbCA8cGF0aD4gYXJndW1lbnRzIGxpbWl0IHdoaWNoIHN1Ym1vZHVsZXMgd2lsbCBiZSBpbml0aWFsaXplZC4KK0lmIG5vIHBhdGggaXMgc3BlY2lmaWVkIGFuZCBzdWJtb2R1bGUuYWN0aXZlIGhhcyBiZWVuIGNvbmZpZ3VyZWQsIHN1Ym1vZHVsZXMKK2NvbmZpZ3VyZWQgdG8gYmUgYWN0aXZlIHdpbGwgYmUgaW5pdGlhbGl6ZWQsIG90aGVyd2lzZSBhbGwgc3VibW9kdWxlcyBhcmUKK2luaXRpYWxpemVkLgorKworV2hlbiBwcmVzZW50LCBpdCB3aWxsIGFsc28gY29weSB0aGUgdmFsdWUgb2YgYHN1Ym1vZHVsZS4kbmFtZS51cGRhdGVgLgorVGhpcyBjb21tYW5kIGRvZXMgbm90IGFsdGVyIGV4aXN0aW5nIGluZm9ybWF0aW9uIGluIC5naXQvY29uZmlnLgorWW91IGNhbiB0aGVuIGN1c3RvbWl6ZSB0aGUgc3VibW9kdWxlIGNsb25lIFVSTHMgaW4gLmdpdC9jb25maWcKK2ZvciB5b3VyIGxvY2FsIHNldHVwIGFuZCBwcm9jZWVkIHRvIGBnaXQgc3VibW9kdWxlIHVwZGF0ZWA7Cit5b3UgY2FuIGFsc28ganVzdCB1c2UgYGdpdCBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdGAgd2l0aG91dAordGhlIGV4cGxpY2l0ICdpbml0JyBzdGVwIGlmIHlvdSBkbyBub3QgaW50ZW5kIHRvIGN1c3RvbWl6ZQorYW55IHN1Ym1vZHVsZSBsb2NhdGlvbnMuCisrCitTZWUgdGhlIGFkZCBzdWJjb21tYW5kIGZvciB0aGUgZGVmaW5pdGlvbiBvZiBkZWZhdWx0IHJlbW90ZS4KIAogZGVpbml0IFstZnwtLWZvcmNlXSAoLS1hbGx8Wy0tXSA8cGF0aD4uLi4pOjoKIAlVbnJlZ2lzdGVyIHRoZSBnaXZlbiBzdWJtb2R1bGVzLCBpLmUuIHJlbW92ZSB0aGUgd2hvbGUKQEAgLTEzNywxNSArMTEyLDE3IEBACiAJdHJlZS4gRnVydGhlciBjYWxscyB0byBgZ2l0IHN1Ym1vZHVsZSB1cGRhdGVgLCBgZ2l0IHN1Ym1vZHVsZSBmb3JlYWNoYAogCWFuZCBgZ2l0IHN1Ym1vZHVsZSBzeW5jYCB3aWxsIHNraXAgYW55IHVucmVnaXN0ZXJlZCBzdWJtb2R1bGVzIHVudGlsCiAJdGhleSBhcmUgaW5pdGlhbGl6ZWQgYWdhaW4sIHNvIHVzZSB0aGlzIGNvbW1hbmQgaWYgeW91IGRvbid0IHdhbnQgdG8KLQloYXZlIGEgbG9jYWwgY2hlY2tvdXQgb2YgdGhlIHN1Ym1vZHVsZSBpbiB5b3VyIHdvcmtpbmcgdHJlZSBhbnltb3JlLiBJZgotCXlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgYSBzdWJtb2R1bGUgZnJvbSB0aGUgcmVwb3NpdG9yeSBhbmQgY29tbWl0Ci0JdGhhdCB1c2UgbGlua2dpdDpnaXQtcm1bMV0gaW5zdGVhZC4KKwloYXZlIGEgbG9jYWwgY2hlY2tvdXQgb2YgdGhlIHN1Ym1vZHVsZSBpbiB5b3VyIHdvcmtpbmcgdHJlZSBhbnltb3JlLgogKwogV2hlbiB0aGUgY29tbWFuZCBpcyBydW4gd2l0aG91dCBwYXRoc3BlYywgaXQgZXJyb3JzIG91dCwKIGluc3RlYWQgb2YgZGVpbml0LWluZyBldmVyeXRoaW5nLCB0byBwcmV2ZW50IG1pc3Rha2VzLgogKwogSWYgYC0tZm9yY2VgIGlzIHNwZWNpZmllZCwgdGhlIHN1Ym1vZHVsZSdzIHdvcmtpbmcgdHJlZSB3aWxsCiBiZSByZW1vdmVkIGV2ZW4gaWYgaXQgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9ucy4KKysKK0lmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgYSBzdWJtb2R1bGUgZnJvbSB0aGUgcmVwb3NpdG9yeSBhbmQgY29tbWl0Cit0aGF0IHVzZSBsaW5rZ2l0OmdpdC1ybVsxXSBpbnN0ZWFkLiBTZWUgbGlua2dpdDpnaXRzdWJtb2R1bGVzWzddIGZvciByZW1vdmFsCitvcHRpb25zLgogCiB1cGRhdGUgWy0taW5pdF0gWy0tcmVtb3RlXSBbLU58LS1uby1mZXRjaF0gWy0tW25vLV1yZWNvbW1lbmQtc2hhbGxvd10gWy1mfC0tZm9yY2VdIFstLWNoZWNrb3V0fC0tcmViYXNlfC0tbWVyZ2VdIFstLXJlZmVyZW5jZSA8cmVwb3NpdG9yeT5dIFstLWRlcHRoIDxkZXB0aD5dIFstLXJlY3Vyc2l2ZV0gWy0tam9icyA8bj5dIFstLV0gWzxwYXRoPi4uLl06OgogKwpAQCAtMTg1LDcgKzE2Miw3IEBACiAJbm9uZTs7IHRoZSBzdWJtb2R1bGUgaXMgbm90IHVwZGF0ZWQuCiAKIElmIHRoZSBzdWJtb2R1bGUgaXMgbm90IHlldCBpbml0aWFsaXplZCwgYW5kIHlvdSBqdXN0IHdhbnQgdG8gdXNlIHRoZQotc2V0dGluZyBhcyBzdG9yZWQgaW4gLmdpdG1vZHVsZXMsIHlvdSBjYW4gYXV0b21hdGljYWxseSBpbml0aWFsaXplIHRoZQorc2V0dGluZyBhcyBzdG9yZWQgaW4gYC5naXRtb2R1bGVzYCwgeW91IGNhbiBhdXRvbWF0aWNhbGx5IGluaXRpYWxpemUgdGhlCiBzdWJtb2R1bGUgd2l0aCB0aGUgYC0taW5pdGAgb3B0aW9uLgogCiBJZiBgLS1yZWN1cnNpdmVgIGlzIHNwZWNpZmllZCwgdGhpcyBjb21tYW5kIHdpbGwgcmVjdXJzZSBpbnRvIHRoZQpAQCAtMjA4LDcgKzE4NSw3IEBACiAJRXZhbHVhdGVzIGFuIGFyYml0cmFyeSBzaGVsbCBjb21tYW5kIGluIGVhY2ggY2hlY2tlZCBvdXQgc3VibW9kdWxlLgogCVRoZSBjb21tYW5kIGhhcyBhY2Nlc3MgdG8gdGhlIHZhcmlhYmxlcyAkbmFtZSwgJHBhdGgsICRzaGExIGFuZAogCSR0b3BsZXZlbDoKLQkkbmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgcmVsZXZhbnQgc3VibW9kdWxlIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMsCisJJG5hbWUgaXMgdGhlIG5hbWUgb2YgdGhlIHJlbGV2YW50IHN1Ym1vZHVsZSBzZWN0aW9uIGluIGAuZ2l0bW9kdWxlc2AsCiAJJHBhdGggaXMgdGhlIG5hbWUgb2YgdGhlIHN1Ym1vZHVsZSBkaXJlY3RvcnkgcmVsYXRpdmUgdG8gdGhlCiAJc3VwZXJwcm9qZWN0LCAkc2hhMSBpcyB0aGUgY29tbWl0IGFzIHJlY29yZGVkIGluIHRoZSBzdXBlcnByb2plY3QsCiAJYW5kICR0b3BsZXZlbCBpcyB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgdG9wLWxldmVsIG9mIHRoZSBzdXBlcnByb2plY3QuCkBAIC0yMzAsNyArMjA3LDcgQEAKIAogc3luYyBbLS1yZWN1cnNpdmVdIFstLV0gWzxwYXRoPi4uLl06OgogCVN5bmNocm9uaXplcyBzdWJtb2R1bGVzJyByZW1vdGUgVVJMIGNvbmZpZ3VyYXRpb24gc2V0dGluZwotCXRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgaW4gLmdpdG1vZHVsZXMuIEl0IHdpbGwgb25seSBhZmZlY3QgdGhvc2UKKwl0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGluIGAuZ2l0bW9kdWxlc2AuIEl0IHdpbGwgb25seSBhZmZlY3QgdGhvc2UKIAlzdWJtb2R1bGVzIHdoaWNoIGFscmVhZHkgaGF2ZSBhIFVSTCBlbnRyeSBpbiAuZ2l0L2NvbmZpZyAodGhhdCBpcyB0aGUKIAljYXNlIHdoZW4gdGhleSBhcmUgaW5pdGlhbGl6ZWQgb3IgZnJlc2hseSBhZGRlZCkuIFRoaXMgaXMgdXNlZnVsIHdoZW4KIAlzdWJtb2R1bGUgVVJMcyBjaGFuZ2UgdXBzdHJlYW0gYW5kIHlvdSBuZWVkIHRvIHVwZGF0ZSB5b3VyIGxvY2FsCkBAIC00MDEsNyArMzc4LDcgQEAKIC0tW25vLV1yZWNvbW1lbmQtc2hhbGxvdzo6CiAJVGhpcyBvcHRpb24gaXMgb25seSB2YWxpZCBmb3IgdGhlIHVwZGF0ZSBjb21tYW5kLgogCVRoZSBpbml0aWFsIGNsb25lIG9mIGEgc3VibW9kdWxlIHdpbGwgdXNlIHRoZSByZWNvbW1lbmRlZAotCWBzdWJtb2R1bGUuPG5hbWU+LnNoYWxsb3dgIGFzIHByb3ZpZGVkIGJ5IHRoZSAuZ2l0bW9kdWxlcyBmaWxlCisJYHN1Ym1vZHVsZS48bmFtZT4uc2hhbGxvd2AgYXMgcHJvdmlkZWQgYnkgdGhlIGAuZ2l0bW9kdWxlc2AgZmlsZQogCWJ5IGRlZmF1bHQuIFRvIGlnbm9yZSB0aGUgc3VnZ2VzdGlvbnMgdXNlIGAtLW5vLXJlY29tbWVuZC1zaGFsbG93YC4KIAogLWogPG4+OjoKQEAgLTQxNywxMiArMzk0LDE2IEBACiAKIEZJTEVTCiAtLS0tLQotV2hlbiBpbml0aWFsaXppbmcgc3VibW9kdWxlcywgYSAuZ2l0bW9kdWxlcyBmaWxlIGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5CitXaGVuIGluaXRpYWxpemluZyBzdWJtb2R1bGVzLCBhIGAuZ2l0bW9kdWxlc2AgZmlsZSBpbiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeQogb2YgdGhlIGNvbnRhaW5pbmcgcmVwb3NpdG9yeSBpcyB1c2VkIHRvIGZpbmQgdGhlIHVybCBvZiBlYWNoIHN1Ym1vZHVsZS4KIFRoaXMgZmlsZSBzaG91bGQgYmUgZm9ybWF0dGVkIGluIHRoZSBzYW1lIHdheSBhcyBgJEdJVF9ESVIvY29uZmlnYC4gVGhlIGtleQogdG8gZWFjaCBzdWJtb2R1bGUgdXJsIGlzICJzdWJtb2R1bGUuJG5hbWUudXJsIi4gIFNlZSBsaW5rZ2l0OmdpdG1vZHVsZXNbNV0KIGZvciBkZXRhaWxzLgogCitTRUUgQUxTTworLS0tLS0tLS0KK2xpbmtnaXQ6Z2l0c3VibW9kdWxlc1s3XSwgbGlua2dpdDpnaXRtb2R1bGVzWzVdLgorCiBHSVQKIC0tLQogUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdm4udHh0CmluZGV4IDliZWU5YjAuLjYzNmUwOTAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc3ZuLnR4dApAQCAtOTUsNiArOTUsMTAgQEAKIGAtLXByZWZpeCAiImAgb24gdGhlIGNvbW1hbmQgbGluZSAoYC0tcHJlZml4PSIiYCBtYXkgbm90IHdvcmsgaWYKIHlvdXIgUGVybCdzIEdldG9wdDo6TG9uZyBpcyA8IHYyLjM3KS4KIAorLS1pZ25vcmUtcmVmcz08cmVnZXg+OzsKKwlXaGVuIHBhc3NlZCB0byAnaW5pdCcgb3IgJ2Nsb25lJyB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aWxsCisJYmUgcHJlc2VydmVkIGFzIGEgY29uZmlnIGtleS4gIFNlZSAnZmV0Y2gnIGZvciBhIGRlc2NyaXB0aW9uCisJb2YgYC0taWdub3JlLXJlZnNgLgogLS1pZ25vcmUtcGF0aHM9PHJlZ2V4Pjs7CiAJV2hlbiBwYXNzZWQgdG8gJ2luaXQnIG9yICdjbG9uZScgdGhpcyByZWd1bGFyIGV4cHJlc3Npb24gd2lsbAogCWJlIHByZXNlcnZlZCBhcyBhIGNvbmZpZyBrZXkuICBTZWUgJ2ZldGNoJyBmb3IgYSBkZXNjcmlwdGlvbgpAQCAtMTM4LDYgKzE0MiwxOCBAQAogLS1wYXJlbnQ7OwogCUZldGNoIG9ubHkgZnJvbSB0aGUgU1ZOIHBhcmVudCBvZiB0aGUgY3VycmVudCBIRUFELgogCistLWlnbm9yZS1yZWZzPTxyZWdleD47OworCUlnbm9yZSByZWZzIGZvciBicmFuY2hlcyBvciB0YWdzIG1hdGNoaW5nIHRoZSBQZXJsIHJlZ3VsYXIKKwlleHByZXNzaW9uLiBBICJuZWdhdGl2ZSBsb29rLWFoZWFkIGFzc2VydGlvbiIgbGlrZQorCWBecmVmcy9yZW1vdGVzL29yaWdpbi8oPyF0YWdzL3dhbnRlZC10YWd8d2FudGVkLWJyYW5jaCkuKiRgCisJY2FuIGJlIHVzZWQgdG8gYWxsb3cgb25seSBjZXJ0YWluIHJlZnMuCisrCitbdmVyc2VdCitjb25maWcga2V5OiBzdm4tcmVtb3RlLjxuYW1lPi5pZ25vcmUtcmVmcworKworSWYgdGhlIGlnbm9yZS1yZWZzIGNvbmZpZ3VyYXRpb24ga2V5IGlzIHNldCwgYW5kIHRoZSBjb21tYW5kLWxpbmUKK29wdGlvbiBpcyBhbHNvIGdpdmVuLCBib3RoIHJlZ3VsYXIgZXhwcmVzc2lvbnMgd2lsbCBiZSB1c2VkLgorCiAtLWlnbm9yZS1wYXRocz08cmVnZXg+OzsKIAlUaGlzIGFsbG93cyBvbmUgdG8gc3BlY2lmeSBhIFBlcmwgcmVndWxhciBleHByZXNzaW9uIHRoYXQgd2lsbAogCWNhdXNlIHNraXBwaW5nIG9mIGFsbCBtYXRjaGluZyBwYXRocyBmcm9tIGNoZWNrb3V0IGZyb20gU1ZOLgpAQCAtNDA4LDcgKzQyNCw3IEBACiAnc2V0LXRyZWUnOjoKIAlZb3Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nICdkY29tbWl0JyBpbnN0ZWFkIG9mIHRoaXMgY29tbWFuZC4KIAlDb21taXQgc3BlY2lmaWVkIGNvbW1pdCBvciB0cmVlIG9iamVjdHMgdG8gU1ZOLiAgVGhpcyByZWxpZXMgb24KLQl5b3VyIGltcG9ydGVkIGZldGNoIGRhdGEgYmVpbmcgdXAtdG8tZGF0ZS4gIFRoaXMgbWFrZXMKKwl5b3VyIGltcG9ydGVkIGZldGNoIGRhdGEgYmVpbmcgdXAgdG8gZGF0ZS4gIFRoaXMgbWFrZXMKIAlhYnNvbHV0ZWx5IG5vIGF0dGVtcHRzIHRvIGRvIHBhdGNoaW5nIHdoZW4gY29tbWl0dGluZyB0byBTVk4sIGl0CiAJc2ltcGx5IG92ZXJ3cml0ZXMgZmlsZXMgd2l0aCB0aG9zZSBzcGVjaWZpZWQgaW4gdGhlIHRyZWUgb3IKIAljb21taXQuICBBbGwgbWVyZ2luZyBpcyBhc3N1bWVkIHRvIGhhdmUgdGFrZW4gcGxhY2UKQEAgLTQ0Myw2ICs0NTksMjEgQEAKIAkoVVJMKSBtYXkgYmUgb21pdHRlZCBpZiB5b3UgYXJlIHdvcmtpbmcgZnJvbSBhICdnaXQgc3ZuJy1hd2FyZQogCXJlcG9zaXRvcnkgKHRoYXQgaGFzIGJlZW4gYGluaXRgLWVkIHdpdGggJ2dpdCBzdm4nKS4KIAlUaGUgLXI8cmV2aXNpb24+IG9wdGlvbiBpcyByZXF1aXJlZCBmb3IgdGhpcy4KKysKK1RoZSBjb21taXQgbWVzc2FnZSBpcyBzdXBwbGllZCBlaXRoZXIgZGlyZWN0bHkgd2l0aCB0aGUgYC1tYCBvciBgLUZgCitvcHRpb24sIG9yIGluZGlyZWN0bHkgZnJvbSB0aGUgdGFnIG9yIGNvbW1pdCB3aGVuIHRoZSBzZWNvbmQgdHJlZS1pc2gKK2Rlbm90ZXMgc3VjaCBhbiBvYmplY3QsIG9yIGl0IGlzIHJlcXVlc3RlZCBieSBpbnZva2luZyBhbiBlZGl0b3IgKHNlZQorYC0tZWRpdGAgb3B0aW9uIGJlbG93KS4KKworLW0gPG1zZz47OworLS1tZXNzYWdlPTxtc2c+OzsKKwlVc2UgdGhlIGdpdmVuIGBtc2dgIGFzIHRoZSBjb21taXQgbWVzc2FnZS4gVGhpcyBvcHRpb24KKwlkaXNhYmxlcyB0aGUgYC0tZWRpdGAgb3B0aW9uLgorCistRiA8ZmlsZW5hbWU+OzsKKy0tZmlsZT08ZmlsZW5hbWU+OzsKKwlUYWtlIHRoZSBjb21taXQgbWVzc2FnZSBmcm9tIHRoZSBnaXZlbiBmaWxlLiBUaGlzIG9wdGlvbgorCWRpc2FibGVzIHRoZSBgLS1lZGl0YCBvcHRpb24uCiAKICdpbmZvJzo6CiAJU2hvd3MgaW5mb3JtYXRpb24gYWJvdXQgYSBmaWxlIG9yIGRpcmVjdG9yeSBzaW1pbGFyIHRvIHdoYXQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXRhZy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC10YWcudHh0CmluZGV4IDUyNTczN2EuLjk1ZTlmMzkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXRhZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtdGFnLnR4dApAQCAtMTIsOSArMTIsMTAgQEAKICdnaXQgdGFnJyBbLWEgfCAtcyB8IC11IDxrZXlpZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XQogCTx0YWduYW1lPiBbPGNvbW1pdD4gfCA8b2JqZWN0Pl0KICdnaXQgdGFnJyAtZCA8dGFnbmFtZT4uLi4KLSdnaXQgdGFnJyBbLW5bPG51bT5dXSAtbCBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tcG9pbnRzLWF0IDxvYmplY3Q+XQotCVstLWNvbHVtbls9PG9wdGlvbnM+XSB8IC0tbm8tY29sdW1uXSBbLS1jcmVhdGUtcmVmbG9nXSBbLS1zb3J0PTxrZXk+XQotCVstLWZvcm1hdD08Zm9ybWF0Pl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXR0ZXJuPi4uLl0KKydnaXQgdGFnJyBbLW5bPG51bT5dXSAtbCBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dCisJWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSBbLS1jb2x1bW5bPTxvcHRpb25zPl0gfCAtLW5vLWNvbHVtbl0KKwlbLS1jcmVhdGUtcmVmbG9nXSBbLS1zb3J0PTxrZXk+XSBbLS1mb3JtYXQ9PGZvcm1hdD5dCisJWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXR0ZXJuPi4uLl0KICdnaXQgdGFnJyAtdiBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWduYW1lPi4uLgogCiBERVNDUklQVElPTgpAQCAtODIsMTggKzgzLDI0IEBACiAKIC1uPG51bT46OgogCTxudW0+IHNwZWNpZmllcyBob3cgbWFueSBsaW5lcyBmcm9tIHRoZSBhbm5vdGF0aW9uLCBpZiBhbnksCi0JYXJlIHByaW50ZWQgd2hlbiB1c2luZyAtbC4KLQlUaGUgZGVmYXVsdCBpcyBub3QgdG8gcHJpbnQgYW55IGFubm90YXRpb24gbGluZXMuCi0JSWYgbm8gbnVtYmVyIGlzIGdpdmVuIHRvIGAtbmAsIG9ubHkgdGhlIGZpcnN0IGxpbmUgaXMgcHJpbnRlZC4KLQlJZiB0aGUgdGFnIGlzIG5vdCBhbm5vdGF0ZWQsIHRoZSBjb21taXQgbWVzc2FnZSBpcyBkaXNwbGF5ZWQgaW5zdGVhZC4KKwlhcmUgcHJpbnRlZCB3aGVuIHVzaW5nIC1sLiBJbXBsaWVzIGAtLWxpc3RgLgorKworVGhlIGRlZmF1bHQgaXMgbm90IHRvIHByaW50IGFueSBhbm5vdGF0aW9uIGxpbmVzLgorSWYgbm8gbnVtYmVyIGlzIGdpdmVuIHRvIGAtbmAsIG9ubHkgdGhlIGZpcnN0IGxpbmUgaXMgcHJpbnRlZC4KK0lmIHRoZSB0YWcgaXMgbm90IGFubm90YXRlZCwgdGhlIGNvbW1pdCBtZXNzYWdlIGlzIGRpc3BsYXllZCBpbnN0ZWFkLgogCi0tbCA8cGF0dGVybj46OgotLS1saXN0IDxwYXR0ZXJuPjo6Ci0JTGlzdCB0YWdzIHdpdGggbmFtZXMgdGhhdCBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybiAob3IgYWxsIGlmIG5vCi0JcGF0dGVybiBpcyBnaXZlbikuICBSdW5uaW5nICJnaXQgdGFnIiB3aXRob3V0IGFyZ3VtZW50cyBhbHNvCi0JbGlzdHMgYWxsIHRhZ3MuIFRoZSBwYXR0ZXJuIGlzIGEgc2hlbGwgd2lsZGNhcmQgKGkuZS4sIG1hdGNoZWQKLQl1c2luZyBmbm1hdGNoKDMpKS4gIE11bHRpcGxlIHBhdHRlcm5zIG1heSBiZSBnaXZlbjsgaWYgYW55IG9mCi0JdGhlbSBtYXRjaGVzLCB0aGUgdGFnIGlzIHNob3duLgorLWw6OgorLS1saXN0OjoKKwlMaXN0IHRhZ3MuIFdpdGggb3B0aW9uYWwgYDxwYXR0ZXJuPi4uLmAsIGUuZy4gYGdpdCB0YWcgLS1saXN0CisJJ3YtKidgLCBsaXN0IG9ubHkgdGhlIHRhZ3MgdGhhdCBtYXRjaCB0aGUgcGF0dGVybihzKS4KKysKK1J1bm5pbmcgImdpdCB0YWciIHdpdGhvdXQgYXJndW1lbnRzIGFsc28gbGlzdHMgYWxsIHRhZ3MuIFRoZSBwYXR0ZXJuCitpcyBhIHNoZWxsIHdpbGRjYXJkIChpLmUuLCBtYXRjaGVkIHVzaW5nIGZubWF0Y2goMykpLiBNdWx0aXBsZQorcGF0dGVybnMgbWF5IGJlIGdpdmVuOyBpZiBhbnkgb2YgdGhlbSBtYXRjaGVzLCB0aGUgdGFnIGlzIHNob3duLgorKworVGhpcyBvcHRpb24gaXMgaW1wbGljaXRseSBzdXBwbGllZCBpZiBhbnkgb3RoZXIgbGlzdC1saWtlIG9wdGlvbiBzdWNoCithcyBgLS1jb250YWluc2AgaXMgcHJvdmlkZWQuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgZWFjaCBvZiB0aG9zZQorb3B0aW9ucyBmb3IgZGV0YWlscy4KIAogLS1zb3J0PTxrZXk+OjoKIAlTb3J0IGJhc2VkIG9uIHRoZSBrZXkgZ2l2ZW4uICBQcmVmaXggYC1gIHRvIHNvcnQgaW4KQEAgLTEyMiwxMCArMTI5LDIzIEBACiAKIC0tY29udGFpbnMgWzxjb21taXQ+XTo6CiAJT25seSBsaXN0IHRhZ3Mgd2hpY2ggY29udGFpbiB0aGUgc3BlY2lmaWVkIGNvbW1pdCAoSEVBRCBpZiBub3QKLQlzcGVjaWZpZWQpLgorCXNwZWNpZmllZCkuIEltcGxpZXMgYC0tbGlzdGAuCisKKy0tbm8tY29udGFpbnMgWzxjb21taXQ+XTo6CisJT25seSBsaXN0IHRhZ3Mgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgc3BlY2lmaWVkIGNvbW1pdCAoSEVBRCBpZgorCW5vdCBzcGVjaWZpZWQpLiBJbXBsaWVzIGAtLWxpc3RgLgorCistLW1lcmdlZCBbPGNvbW1pdD5dOjoKKwlPbmx5IGxpc3QgdGFncyB3aG9zZSBjb21taXRzIGFyZSByZWFjaGFibGUgZnJvbSB0aGUgc3BlY2lmaWVkCisJY29tbWl0IChgSEVBRGAgaWYgbm90IHNwZWNpZmllZCksIGluY29tcGF0aWJsZSB3aXRoIGAtLW5vLW1lcmdlZGAuCisKKy0tbm8tbWVyZ2VkIFs8Y29tbWl0Pl06OgorCU9ubHkgbGlzdCB0YWdzIHdob3NlIGNvbW1pdHMgYXJlIG5vdCByZWFjaGFibGUgZnJvbSB0aGUgc3BlY2lmaWVkCisJY29tbWl0IChgSEVBRGAgaWYgbm90IHNwZWNpZmllZCksIGluY29tcGF0aWJsZSB3aXRoIGAtLW1lcmdlZGAuCiAKIC0tcG9pbnRzLWF0IDxvYmplY3Q+OjoKLQlPbmx5IGxpc3QgdGFncyBvZiB0aGUgZ2l2ZW4gb2JqZWN0LgorCU9ubHkgbGlzdCB0YWdzIG9mIHRoZSBnaXZlbiBvYmplY3QgKEhFQUQgaWYgbm90CisJc3BlY2lmaWVkKS4gSW1wbGllcyBgLS1saXN0YC4KIAogLW0gPG1zZz46OgogLS1tZXNzYWdlPTxtc2c+OjoKQEAgLTE1NCw3ICsxNzQsNyBAQAogCWBjb3JlLmxvZ0FsbFJlZlVwZGF0ZXNgIGluIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KIAlUaGUgbmVnYXRlZCBmb3JtIGAtLW5vLWNyZWF0ZS1yZWZsb2dgIG9ubHkgb3ZlcnJpZGVzIGFuIGVhcmxpZXIKIAlgLS1jcmVhdGUtcmVmbG9nYCwgYnV0IGN1cnJlbnRseSBkb2VzIG5vdCBuZWdhdGUgdGhlIHNldHRpbmcgb2YKLQlgY29yZS5sb2dhbGxyZWZ1cGRhdGVzYC4KKwlgY29yZS5sb2dBbGxSZWZVcGRhdGVzYC4KIAogPHRhZ25hbWU+OjoKIAlUaGUgbmFtZSBvZiB0aGUgdGFnIHRvIGNyZWF0ZSwgZGVsZXRlLCBvciBkZXNjcmliZS4KQEAgLTE2OCwxNiArMTg4LDExIEBACiAJRGVmYXVsdHMgdG8gSEVBRC4KIAogPGZvcm1hdD46OgotCUEgc3RyaW5nIHRoYXQgaW50ZXJwb2xhdGVzIGAlKGZpZWxkbmFtZSlgIGZyb20gdGhlIG9iamVjdAotCXBvaW50ZWQgYXQgYnkgYSByZWYgYmVpbmcgc2hvd24uICBUaGUgZm9ybWF0IGlzIHRoZSBzYW1lIGFzCisJQSBzdHJpbmcgdGhhdCBpbnRlcnBvbGF0ZXMgYCUoZmllbGRuYW1lKWAgZnJvbSBhIHRhZyByZWYgYmVpbmcgc2hvd24KKwlhbmQgdGhlIG9iamVjdCBpdCBwb2ludHMgYXQuICBUaGUgZm9ybWF0IGlzIHRoZSBzYW1lIGFzCiAJdGhhdCBvZiBsaW5rZ2l0OmdpdC1mb3ItZWFjaC1yZWZbMV0uICBXaGVuIHVuc3BlY2lmaWVkLAogCWRlZmF1bHRzIHRvIGAlKHJlZm5hbWU6c3RyaXA9MilgLgogCi0tLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl06OgotCU9ubHkgbGlzdCB0YWdzIHdob3NlIHRpcHMgYXJlIHJlYWNoYWJsZSwgb3Igbm90IHJlYWNoYWJsZQotCWlmIGAtLW5vLW1lcmdlZGAgaXMgdXNlZCwgZnJvbSB0aGUgc3BlY2lmaWVkIGNvbW1pdCAoYEhFQURgCi0JaWYgbm90IHNwZWNpZmllZCkuCi0KIENPTkZJR1VSQVRJT04KIC0tLS0tLS0tLS0tLS0KIEJ5IGRlZmF1bHQsICdnaXQgdGFnJyBpbiBzaWduLXdpdGgtZGVmYXVsdCBtb2RlICgtcykgd2lsbCB1c2UgeW91cgpAQCAtMTkwLDYgKzIwNSw5IEBACiAgICAgc2lnbmluZ0tleSA9IDxncGcta2V5aWQ+CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKK2BwYWdlci50YWdgIGlzIG9ubHkgcmVzcGVjdGVkIHdoZW4gbGlzdGluZyB0YWdzLCBpLmUuLCB3aGVuIGAtbGAgaXMKK3VzZWQgb3IgaW1wbGllZC4gVGhlIGRlZmF1bHQgaXMgdG8gdXNlIGEgcGFnZXIuCitTZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdLgogCiBESVNDVVNTSU9OCiAtLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC10b29scy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC10b29scy50eHQKaW5kZXggMmY0ZmY1MC4uZDBmZWM0YyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtdG9vbHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXRvb2xzLnR4dApAQCAtNyw0ICs3LDQgQEAKIG1vcmUgZWZmaWNpZW50bHksIHNvIHRoaXMgbWFudWFsbHktbWFpbnRhaW5lZCBsaXN0IGhhcyBiZWVuIHJldGlyZWQuCiAKIFNlZSBhbHNvIHRoZSBgY29udHJpYi9gIGFyZWEsIGFuZCB0aGUgR2l0IHdpa2k6Ci1odHRwOi8vZ2l0Lm9yLmN6L2dpdHdpa2kvSW50ZXJmYWNlc0Zyb250ZW5kc0FuZFRvb2xzCitodHRwczovL2dpdC53aWtpLmtlcm5lbC5vcmcvaW5kZXgucGhwL0ludGVyZmFjZXNGcm9udGVuZHNBbmRUb29scwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtdXBkYXRlLWluZGV4LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1pbmRleC50eHQKaW5kZXggNzM4NmM5My4uNzVjN2RkOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtdXBkYXRlLWluZGV4LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC11cGRhdGUtaW5kZXgudHh0CkBAIC0xNTMsNyArMTUzLDcgQEAKICsKIFZlcnNpb24gNCBwZXJmb3JtcyBhIHNpbXBsZSBwYXRobmFtZSBjb21wcmVzc2lvbiB0aGF0IHJlZHVjZXMgaW5kZXgKIHNpemUgYnkgMzAlLTUwJSBvbiBsYXJnZSByZXBvc2l0b3JpZXMsIHdoaWNoIHJlc3VsdHMgaW4gZmFzdGVyIGxvYWQKLXRpbWUuIFZlcnNpb24gNCBpcyByZWxhdGl2ZWx5IHlvdW5nIChmaXJzdCByZWxlYXNlZCBpbiBpbiAxLjguMCBpbgordGltZS4gVmVyc2lvbiA0IGlzIHJlbGF0aXZlbHkgeW91bmcgKGZpcnN0IHJlbGVhc2VkIGluIDEuOC4wIGluCiBPY3RvYmVyIDIwMTIpLiBPdGhlciBHaXQgaW1wbGVtZW50YXRpb25zIHN1Y2ggYXMgSkdpdCBhbmQgbGliZ2l0MgogbWF5IG5vdCBzdXBwb3J0IGl0IHlldC4KIApAQCAtMTYzLDE0ICsxNjMsMTYgQEAKIAogLS1zcGxpdC1pbmRleDo6CiAtLW5vLXNwbGl0LWluZGV4OjoKLQlFbmFibGUgb3IgZGlzYWJsZSBzcGxpdCBpbmRleCBtb2RlLiBJZiBlbmFibGVkLCB0aGUgaW5kZXggaXMKLQlzcGxpdCBpbnRvIHR3byBmaWxlcywgJEdJVF9ESVIvaW5kZXggYW5kICRHSVRfRElSL3NoYXJlZGluZGV4LjxTSEEtMT4uCi0JQ2hhbmdlcyBhcmUgYWNjdW11bGF0ZWQgaW4gJEdJVF9ESVIvaW5kZXggd2hpbGUgdGhlIHNoYXJlZAotCWluZGV4IGZpbGUgY29udGFpbnMgYWxsIGluZGV4IGVudHJpZXMgc3RheXMgdW5jaGFuZ2VkLiBJZgotCXNwbGl0LWluZGV4IG1vZGUgaXMgYWxyZWFkeSBlbmFibGVkIGFuZCBgLS1zcGxpdC1pbmRleGAgaXMKLQlnaXZlbiBhZ2FpbiwgYWxsIGNoYW5nZXMgaW4gJEdJVF9ESVIvaW5kZXggYXJlIHB1c2hlZCBiYWNrIHRvCi0JdGhlIHNoYXJlZCBpbmRleCBmaWxlLiBUaGlzIG1vZGUgaXMgZGVzaWduZWQgZm9yIHZlcnkgbGFyZ2UKLQlpbmRleGVzIHRoYXQgdGFrZSBhIHNpZ25pZmljYW50IGFtb3VudCBvZiB0aW1lIHRvIHJlYWQgb3Igd3JpdGUuCisJRW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXggbW9kZS4gSWYgc3BsaXQtaW5kZXggbW9kZSBpcworCWFscmVhZHkgZW5hYmxlZCBhbmQgYC0tc3BsaXQtaW5kZXhgIGlzIGdpdmVuIGFnYWluLCBhbGwKKwljaGFuZ2VzIGluICRHSVRfRElSL2luZGV4IGFyZSBwdXNoZWQgYmFjayB0byB0aGUgc2hhcmVkIGluZGV4CisJZmlsZS4KKysKK1RoZXNlIG9wdGlvbnMgdGFrZSBlZmZlY3Qgd2hhdGV2ZXIgdGhlIHZhbHVlIG9mIHRoZSBgY29yZS5zcGxpdEluZGV4YAorY29uZmlndXJhdGlvbiB2YXJpYWJsZSAoc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuIEJ1dCBhIHdhcm5pbmcgaXMKK2VtaXR0ZWQgd2hlbiB0aGUgY2hhbmdlIGdvZXMgYWdhaW5zdCB0aGUgY29uZmlndXJlZCB2YWx1ZSwgYXMgdGhlCitjb25maWd1cmVkIHZhbHVlIHdpbGwgdGFrZSBlZmZlY3QgbmV4dCB0aW1lIHRoZSBpbmRleCBpcyByZWFkIGFuZCB0aGlzCit3aWxsIHJlbW92ZSB0aGUgaW50ZW5kZWQgZWZmZWN0IG9mIHRoZSBvcHRpb24uCiAKIC0tdW50cmFja2VkLWNhY2hlOjoKIC0tbm8tdW50cmFja2VkLWNhY2hlOjoKQEAgLTIxMiw3ICsyMTQsNyBAQAogVXNpbmcgLS1yZWZyZXNoCiAtLS0tLS0tLS0tLS0tLS0KIGAtLXJlZnJlc2hgIGRvZXMgbm90IGNhbGN1bGF0ZSBhIG5ldyBzaGExIGZpbGUgb3IgYnJpbmcgdGhlIGluZGV4Ci11cC10by1kYXRlIGZvciBtb2RlL2NvbnRlbnQgY2hhbmdlcy4gQnV0IHdoYXQgaXQgKmRvZXMqIGRvIGlzIHRvCit1cCB0byBkYXRlIGZvciBtb2RlL2NvbnRlbnQgY2hhbmdlcy4gQnV0IHdoYXQgaXQgKmRvZXMqIGRvIGlzIHRvCiAicmUtbWF0Y2giIHRoZSBzdGF0IGluZm9ybWF0aW9uIG9mIGEgZmlsZSB3aXRoIHRoZSBpbmRleCwgc28gdGhhdCB5b3UKIGNhbiByZWZyZXNoIHRoZSBpbmRleCBmb3IgYSBmaWxlIHRoYXQgaGFzbid0IGJlZW4gY2hhbmdlZCBidXQgd2hlcmUKIHRoZSBzdGF0IGVudHJ5IGlzIG91dCBvZiBkYXRlLgpAQCAtMzg4LDYgKzM5MCwzMSBAQAogZGlmZmVyZW50IGZyb20gYXNzdW1lLXVuY2hhbmdlZCBiaXQncy4gU2tpcC13b3JrdHJlZSBhbHNvIHRha2VzCiBwcmVjZWRlbmNlIG92ZXIgYXNzdW1lLXVuY2hhbmdlZCBiaXQgd2hlbiBib3RoIGFyZSBzZXQuCiAKK1NwbGl0IGluZGV4CistLS0tLS0tLS0tLQorCitUaGlzIG1vZGUgaXMgZGVzaWduZWQgZm9yIHJlcG9zaXRvcmllcyB3aXRoIHZlcnkgbGFyZ2UgaW5kZXhlcywgYW5kCithaW1zIGF0IHJlZHVjaW5nIHRoZSB0aW1lIGl0IHRha2VzIHRvIHJlcGVhdGVkbHkgd3JpdGUgdGhlc2UgaW5kZXhlcy4KKworSW4gdGhpcyBtb2RlLCB0aGUgaW5kZXggaXMgc3BsaXQgaW50byB0d28gZmlsZXMsICRHSVRfRElSL2luZGV4IGFuZAorJEdJVF9ESVIvc2hhcmVkaW5kZXguPFNIQS0xPi4gQ2hhbmdlcyBhcmUgYWNjdW11bGF0ZWQgaW4KKyRHSVRfRElSL2luZGV4LCB0aGUgc3BsaXQgaW5kZXgsIHdoaWxlIHRoZSBzaGFyZWQgaW5kZXggZmlsZSBjb250YWlucworYWxsIGluZGV4IGVudHJpZXMgYW5kIHN0YXlzIHVuY2hhbmdlZC4KKworQWxsIGNoYW5nZXMgaW4gdGhlIHNwbGl0IGluZGV4IGFyZSBwdXNoZWQgYmFjayB0byB0aGUgc2hhcmVkIGluZGV4CitmaWxlIHdoZW4gdGhlIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBzcGxpdCBpbmRleCByZWFjaGVzIGEgbGV2ZWwKK3NwZWNpZmllZCBieSB0aGUgc3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIGNvbmZpZyB2YXJpYWJsZSAoc2VlCitsaW5rZ2l0OmdpdC1jb25maWdbMV0pLgorCitFYWNoIHRpbWUgYSBuZXcgc2hhcmVkIGluZGV4IGZpbGUgaXMgY3JlYXRlZCwgdGhlIG9sZCBzaGFyZWQgaW5kZXgKK2ZpbGVzIGFyZSBkZWxldGVkIGlmIHRoZWlyIG1vZGlmaWNhdGlvbiB0aW1lIGlzIG9sZGVyIHRoYW4gd2hhdCBpcworc3BlY2lmaWVkIGJ5IHRoZSBzcGxpdEluZGV4LnNoYXJlZEluZGV4RXhwaXJlIGNvbmZpZyB2YXJpYWJsZSAoc2VlCitsaW5rZ2l0OmdpdC1jb25maWdbMV0pLgorCitUbyBhdm9pZCBkZWxldGluZyBhIHNoYXJlZCBpbmRleCBmaWxlIHRoYXQgaXMgc3RpbGwgdXNlZCwgaXRzCittb2RpZmljYXRpb24gdGltZSBpcyB1cGRhdGVkIHRvIHRoZSBjdXJyZW50IHRpbWUgZXZlcnl0aW1lIGEgbmV3IHNwbGl0CitpbmRleCBiYXNlZCBvbiB0aGUgc2hhcmVkIGluZGV4IGZpbGUgaXMgZWl0aGVyIGNyZWF0ZWQgb3IgcmVhZCBmcm9tLgorCiBVbnRyYWNrZWQgY2FjaGUKIC0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC13b3JrdHJlZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC13b3JrdHJlZS50eHQKaW5kZXggNTUzY2Y4NC4uYjQ3MmFjYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtd29ya3RyZWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXdvcmt0cmVlLnR4dApAQCAtOSw3ICs5LDcgQEAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCB3b3JrdHJlZSBhZGQnIFstZl0gWy0tZGV0YWNoXSBbLS1jaGVja291dF0gWy1iIDxuZXctYnJhbmNoPl0gPHBhdGg+IFs8YnJhbmNoPl0KKydnaXQgd29ya3RyZWUgYWRkJyBbLWZdIFstLWRldGFjaF0gWy0tY2hlY2tvdXRdIFstLWxvY2tdIFstYiA8bmV3LWJyYW5jaD5dIDxwYXRoPiBbPGJyYW5jaD5dCiAnZ2l0IHdvcmt0cmVlIGxpc3QnIFstLXBvcmNlbGFpbl0KICdnaXQgd29ya3RyZWUgbG9jaycgWy0tcmVhc29uIDxzdHJpbmc+XSA8d29ya3RyZWU+CiAnZ2l0IHdvcmt0cmVlIHBydW5lJyBbLW5dIFstdl0gWy0tZXhwaXJlIDxleHBpcmU+XQpAQCAtMTA3LDYgKzEwNywxMSBAQAogCXN1Y2ggYXMgY29uZmlndXJpbmcgc3BhcnNlLWNoZWNrb3V0LiBTZWUgIlNwYXJzZSBjaGVja291dCIKIAlpbiBsaW5rZ2l0OmdpdC1yZWFkLXRyZWVbMV0uCiAKKy0tbG9jazo6CisJS2VlcCB0aGUgd29ya2luZyB0cmVlIGxvY2tlZCBhZnRlciBjcmVhdGlvbi4gVGhpcyBpcyB0aGUKKwllcXVpdmFsZW50IG9mIGBnaXQgd29ya3RyZWUgbG9ja2AgYWZ0ZXIgYGdpdCB3b3JrdHJlZSBhZGRgLAorCWJ1dCB3aXRob3V0IHJhY2UgY29uZGl0aW9uLgorCiAtbjo6CiAtLWRyeS1ydW46OgogCVdpdGggYHBydW5lYCwgZG8gbm90IHJlbW92ZSBhbnl0aGluZzsganVzdCByZXBvcnQgd2hhdCBpdCB3b3VsZApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQudHh0CmluZGV4IGE1MmIxNTUuLjdhMWQ2MjkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC50eHQKQEAgLTM1LDUxMCArMzUsNiBAQAogQSBmb3JtYXR0ZWQgYW5kIGh5cGVybGlua2VkIGNvcHkgb2YgdGhlIGxhdGVzdCBHaXQgZG9jdW1lbnRhdGlvbgogY2FuIGJlIHZpZXdlZCBhdCBgaHR0cHM6Ly9naXQuZ2l0aHViLmlvL2h0bWxkb2NzL2dpdC5odG1sYC4KIAotaWZkZWY6OnN0YWxlbm90ZXNbXQotW05PVEVdCi09PT09PT09PT09PT0KLQotWW91IGFyZSByZWFkaW5nIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgbGF0ZXN0IChwb3NzaWJseQotdW5yZWxlYXNlZCkgdmVyc2lvbiBvZiBHaXQsIHRoYXQgaXMgYXZhaWxhYmxlIGZyb20gdGhlICdtYXN0ZXInCi1icmFuY2ggb2YgdGhlIGBnaXQuZ2l0YCByZXBvc2l0b3J5LgotRG9jdW1lbnRhdGlvbiBmb3Igb2xkZXIgcmVsZWFzZXMgYXJlIGF2YWlsYWJsZSBoZXJlOgotCi0qIGxpbms6djIuMTIuMy9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDIuMTIuM10KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzIuMTIuMy50eHRbMi4xMi4zXSwKLSAgbGluazpSZWxOb3Rlcy8yLjEyLjIudHh0WzIuMTIuMl0sCi0gIGxpbms6UmVsTm90ZXMvMi4xMi4xLnR4dFsyLjEyLjFdLAotICBsaW5rOlJlbE5vdGVzLzIuMTIuMC50eHRbMi4xMl0uCi0KLSogbGluazp2Mi4xMS4xL2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMi4xMS4xXQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMi4xMS4yLnR4dFsyLjExLjJdLAotICBsaW5rOlJlbE5vdGVzLzIuMTEuMS50eHRbMi4xMS4xXSwKLSAgbGluazpSZWxOb3Rlcy8yLjExLjAudHh0WzIuMTFdLgotCi0qIGxpbms6djIuMTAuMy9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDIuMTAuM10KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzIuMTAuMy50eHRbMi4xMC4zXSwKLSAgbGluazpSZWxOb3Rlcy8yLjEwLjIudHh0WzIuMTAuMl0sCi0gIGxpbms6UmVsTm90ZXMvMi4xMC4xLnR4dFsyLjEwLjFdLAotICBsaW5rOlJlbE5vdGVzLzIuMTAuMC50eHRbMi4xMF0uCi0KLSogbGluazp2Mi45LjQvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAyLjkuNF0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzIuOS40LnR4dFsyLjkuNF0sCi0gIGxpbms6UmVsTm90ZXMvMi45LjMudHh0WzIuOS4zXSwKLSAgbGluazpSZWxOb3Rlcy8yLjkuMi50eHRbMi45LjJdLAotICBsaW5rOlJlbE5vdGVzLzIuOS4xLnR4dFsyLjkuMV0sCi0gIGxpbms6UmVsTm90ZXMvMi45LjAudHh0WzIuOV0uCi0KLSogbGluazp2Mi44LjUvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAyLjguNV0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzIuOC41LnR4dFsyLjguNV0sCi0gIGxpbms6UmVsTm90ZXMvMi44LjQudHh0WzIuOC40XSwKLSAgbGluazpSZWxOb3Rlcy8yLjguMy50eHRbMi44LjNdLAotICBsaW5rOlJlbE5vdGVzLzIuOC4yLnR4dFsyLjguMl0sCi0gIGxpbms6UmVsTm90ZXMvMi44LjEudHh0WzIuOC4xXSwKLSAgbGluazpSZWxOb3Rlcy8yLjguMC50eHRbMi44XS4KLQotKiBsaW5rOnYyLjcuNS9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDIuNy41XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMi43LjUudHh0WzIuNy41XSwKLSAgbGluazpSZWxOb3Rlcy8yLjcuNC50eHRbMi43LjRdLAotICBsaW5rOlJlbE5vdGVzLzIuNy4zLnR4dFsyLjcuM10sCi0gIGxpbms6UmVsTm90ZXMvMi43LjIudHh0WzIuNy4yXSwKLSAgbGluazpSZWxOb3Rlcy8yLjcuMS50eHRbMi43LjFdLAotICBsaW5rOlJlbE5vdGVzLzIuNy4wLnR4dFsyLjddLgotCi0qIGxpbms6djIuNi43L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMi42LjddCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8yLjYuNy50eHRbMi42LjddLAotICBsaW5rOlJlbE5vdGVzLzIuNi42LnR4dFsyLjYuNl0sCi0gIGxpbms6UmVsTm90ZXMvMi42LjUudHh0WzIuNi41XSwKLSAgbGluazpSZWxOb3Rlcy8yLjYuNC50eHRbMi42LjRdLAotICBsaW5rOlJlbE5vdGVzLzIuNi4zLnR4dFsyLjYuM10sCi0gIGxpbms6UmVsTm90ZXMvMi42LjIudHh0WzIuNi4yXSwKLSAgbGluazpSZWxOb3Rlcy8yLjYuMS50eHRbMi42LjFdLAotICBsaW5rOlJlbE5vdGVzLzIuNi4wLnR4dFsyLjZdLgotCi0qIGxpbms6djIuNS42L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMi41LjZdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8yLjUuNi50eHRbMi41LjZdLAotICBsaW5rOlJlbE5vdGVzLzIuNS41LnR4dFsyLjUuNV0sCi0gIGxpbms6UmVsTm90ZXMvMi41LjQudHh0WzIuNS40XSwKLSAgbGluazpSZWxOb3Rlcy8yLjUuMy50eHRbMi41LjNdLAotICBsaW5rOlJlbE5vdGVzLzIuNS4yLnR4dFsyLjUuMl0sCi0gIGxpbms6UmVsTm90ZXMvMi41LjEudHh0WzIuNS4xXSwKLSAgbGluazpSZWxOb3Rlcy8yLjUuMC50eHRbMi41XS4KLQotKiBsaW5rOnYyLjQuMTIvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAyLjQuMTJdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8yLjQuMTIudHh0WzIuNC4xMl0sCi0gIGxpbms6UmVsTm90ZXMvMi40LjExLnR4dFsyLjQuMTFdLAotICBsaW5rOlJlbE5vdGVzLzIuNC4xMC50eHRbMi40LjEwXSwKLSAgbGluazpSZWxOb3Rlcy8yLjQuOS50eHRbMi40LjldLAotICBsaW5rOlJlbE5vdGVzLzIuNC44LnR4dFsyLjQuOF0sCi0gIGxpbms6UmVsTm90ZXMvMi40LjcudHh0WzIuNC43XSwKLSAgbGluazpSZWxOb3Rlcy8yLjQuNi50eHRbMi40LjZdLAotICBsaW5rOlJlbE5vdGVzLzIuNC41LnR4dFsyLjQuNV0sCi0gIGxpbms6UmVsTm90ZXMvMi40LjQudHh0WzIuNC40XSwKLSAgbGluazpSZWxOb3Rlcy8yLjQuMy50eHRbMi40LjNdLAotICBsaW5rOlJlbE5vdGVzLzIuNC4yLnR4dFsyLjQuMl0sCi0gIGxpbms6UmVsTm90ZXMvMi40LjEudHh0WzIuNC4xXSwKLSAgbGluazpSZWxOb3Rlcy8yLjQuMC50eHRbMi40XS4KLQotKiBsaW5rOnYyLjMuMTAvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAyLjMuMTBdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8yLjMuMTAudHh0WzIuMy4xMF0sCi0gIGxpbms6UmVsTm90ZXMvMi4zLjkudHh0WzIuMy45XSwKLSAgbGluazpSZWxOb3Rlcy8yLjMuOC50eHRbMi4zLjhdLAotICBsaW5rOlJlbE5vdGVzLzIuMy43LnR4dFsyLjMuN10sCi0gIGxpbms6UmVsTm90ZXMvMi4zLjYudHh0WzIuMy42XSwKLSAgbGluazpSZWxOb3Rlcy8yLjMuNS50eHRbMi4zLjVdLAotICBsaW5rOlJlbE5vdGVzLzIuMy40LnR4dFsyLjMuNF0sCi0gIGxpbms6UmVsTm90ZXMvMi4zLjMudHh0WzIuMy4zXSwKLSAgbGluazpSZWxOb3Rlcy8yLjMuMi50eHRbMi4zLjJdLAotICBsaW5rOlJlbE5vdGVzLzIuMy4xLnR4dFsyLjMuMV0sCi0gIGxpbms6UmVsTm90ZXMvMi4zLjAudHh0WzIuM10uCi0KLSogbGluazp2Mi4yLjMvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAyLjIuM10KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzIuMi4zLnR4dFsyLjIuM10sCi0gIGxpbms6UmVsTm90ZXMvMi4yLjIudHh0WzIuMi4yXSwKLSAgbGluazpSZWxOb3Rlcy8yLjIuMS50eHRbMi4yLjFdLAotICBsaW5rOlJlbE5vdGVzLzIuMi4wLnR4dFsyLjJdLgotCi0qIGxpbms6djIuMS40L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMi4xLjRdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8yLjEuNC50eHRbMi4xLjRdLAotICBsaW5rOlJlbE5vdGVzLzIuMS4zLnR4dFsyLjEuM10sCi0gIGxpbms6UmVsTm90ZXMvMi4xLjIudHh0WzIuMS4yXSwKLSAgbGluazpSZWxOb3Rlcy8yLjEuMS50eHRbMi4xLjFdLAotICBsaW5rOlJlbE5vdGVzLzIuMS4wLnR4dFsyLjFdLgotCi0qIGxpbms6djIuMC41L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMi4wLjVdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8yLjAuNS50eHRbMi4wLjVdLAotICBsaW5rOlJlbE5vdGVzLzIuMC40LnR4dFsyLjAuNF0sCi0gIGxpbms6UmVsTm90ZXMvMi4wLjMudHh0WzIuMC4zXSwKLSAgbGluazpSZWxOb3Rlcy8yLjAuMi50eHRbMi4wLjJdLAotICBsaW5rOlJlbE5vdGVzLzIuMC4xLnR4dFsyLjAuMV0sCi0gIGxpbms6UmVsTm90ZXMvMi4wLjAudHh0WzIuMC4wXS4KLQotKiBsaW5rOnYxLjkuNS9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuOS41XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS45LjUudHh0WzEuOS41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjkuNC50eHRbMS45LjRdLAotICBsaW5rOlJlbE5vdGVzLzEuOS4zLnR4dFsxLjkuM10sCi0gIGxpbms6UmVsTm90ZXMvMS45LjIudHh0WzEuOS4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjkuMS50eHRbMS45LjFdLAotICBsaW5rOlJlbE5vdGVzLzEuOS4wLnR4dFsxLjkuMF0uCi0KLSogbGluazp2MS44LjUuNi9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuOC41LjZdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjguNS42LnR4dFsxLjguNS42XSwKLSAgbGluazpSZWxOb3Rlcy8xLjguNS41LnR4dFsxLjguNS41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjguNS40LnR4dFsxLjguNS40XSwKLSAgbGluazpSZWxOb3Rlcy8xLjguNS4zLnR4dFsxLjguNS4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjguNS4yLnR4dFsxLjguNS4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjguNS4xLnR4dFsxLjguNS4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjguNS50eHRbMS44LjVdLgotCi0qIGxpbms6djEuOC40LjUvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjguNC41XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS44LjQuNS50eHRbMS44LjQuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjQuNC50eHRbMS44LjQuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjQuMy50eHRbMS44LjQuM10sCi0gIGxpbms6UmVsTm90ZXMvMS44LjQuMi50eHRbMS44LjQuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjQuMS50eHRbMS44LjQuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjQudHh0WzEuOC40XS4KLQotKiBsaW5rOnYxLjguMy40L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS44LjMuNF0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuOC4zLjQudHh0WzEuOC4zLjRdLAotICBsaW5rOlJlbE5vdGVzLzEuOC4zLjMudHh0WzEuOC4zLjNdLAotICBsaW5rOlJlbE5vdGVzLzEuOC4zLjIudHh0WzEuOC4zLjJdLAotICBsaW5rOlJlbE5vdGVzLzEuOC4zLjEudHh0WzEuOC4zLjFdLAotICBsaW5rOlJlbE5vdGVzLzEuOC4zLnR4dFsxLjguM10uCi0KLSogbGluazp2MS44LjIuMy9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuOC4yLjNdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjguMi4zLnR4dFsxLjguMi4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjguMi4yLnR4dFsxLjguMi4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjguMi4xLnR4dFsxLjguMi4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjguMi50eHRbMS44LjJdLgotCi0qIGxpbms6djEuOC4xLjYvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjguMS42XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS44LjEuNi50eHRbMS44LjEuNl0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjEuNS50eHRbMS44LjEuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjEuNC50eHRbMS44LjEuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjEuMy50eHRbMS44LjEuM10sCi0gIGxpbms6UmVsTm90ZXMvMS44LjEuMi50eHRbMS44LjEuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjEuMS50eHRbMS44LjEuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS44LjEudHh0WzEuOC4xXS4KLQotKiBsaW5rOnYxLjguMC4zL2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS44LjAuM10KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuOC4wLjMudHh0WzEuOC4wLjNdLAotICBsaW5rOlJlbE5vdGVzLzEuOC4wLjIudHh0WzEuOC4wLjJdLAotICBsaW5rOlJlbE5vdGVzLzEuOC4wLjEudHh0WzEuOC4wLjFdLAotICBsaW5rOlJlbE5vdGVzLzEuOC4wLnR4dFsxLjguMF0uCi0KLSogbGluazp2MS43LjEyLjQvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjcuMTIuNF0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNy4xMi40LnR4dFsxLjcuMTIuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjEyLjMudHh0WzEuNy4xMi4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMTIuMi50eHRbMS43LjEyLjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4xMi4xLnR4dFsxLjcuMTIuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjEyLnR4dFsxLjcuMTJdLgotCi0qIGxpbms6djEuNy4xMS43L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS43LjExLjddCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjcuMTEuNy50eHRbMS43LjExLjddLAotICBsaW5rOlJlbE5vdGVzLzEuNy4xMS42LnR4dFsxLjcuMTEuNl0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjExLjUudHh0WzEuNy4xMS41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMTEuNC50eHRbMS43LjExLjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4xMS4zLnR4dFsxLjcuMTEuM10sCi0gIGxpbms6UmVsTm90ZXMvMS43LjExLjIudHh0WzEuNy4xMS4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMTEuMS50eHRbMS43LjExLjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4xMS50eHRbMS43LjExXS4KLQotKiBsaW5rOnYxLjcuMTAuNS9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNy4xMC41XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS43LjEwLjUudHh0WzEuNy4xMC41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMTAuNC50eHRbMS43LjEwLjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4xMC4zLnR4dFsxLjcuMTAuM10sCi0gIGxpbms6UmVsTm90ZXMvMS43LjEwLjIudHh0WzEuNy4xMC4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMTAuMS50eHRbMS43LjEwLjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4xMC50eHRbMS43LjEwXS4KLQotKiBsaW5rOnYxLjcuOS43L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS43LjkuN10KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNy45LjcudHh0WzEuNy45LjddLAotICBsaW5rOlJlbE5vdGVzLzEuNy45LjYudHh0WzEuNy45LjZdLAotICBsaW5rOlJlbE5vdGVzLzEuNy45LjUudHh0WzEuNy45LjVdLAotICBsaW5rOlJlbE5vdGVzLzEuNy45LjQudHh0WzEuNy45LjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNy45LjMudHh0WzEuNy45LjNdLAotICBsaW5rOlJlbE5vdGVzLzEuNy45LjIudHh0WzEuNy45LjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNy45LjEudHh0WzEuNy45LjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNy45LnR4dFsxLjcuOV0uCi0KLSogbGluazp2MS43LjguNi9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNy44LjZdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjcuOC42LnR4dFsxLjcuOC42XSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuOC41LnR4dFsxLjcuOC41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuOC40LnR4dFsxLjcuOC40XSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuOC4zLnR4dFsxLjcuOC4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuOC4yLnR4dFsxLjcuOC4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuOC4xLnR4dFsxLjcuOC4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuOC50eHRbMS43LjhdLgotCi0qIGxpbms6djEuNy43LjcvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjcuNy43XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS43LjcuNy50eHRbMS43LjcuN10sCi0gIGxpbms6UmVsTm90ZXMvMS43LjcuNi50eHRbMS43LjcuNl0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjcuNS50eHRbMS43LjcuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjcuNC50eHRbMS43LjcuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjcuMy50eHRbMS43LjcuM10sCi0gIGxpbms6UmVsTm90ZXMvMS43LjcuMi50eHRbMS43LjcuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjcuMS50eHRbMS43LjcuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjcudHh0WzEuNy43XS4KLQotKiBsaW5rOnYxLjcuNi42L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS43LjYuNl0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNy42LjYudHh0WzEuNy42LjZdLAotICBsaW5rOlJlbE5vdGVzLzEuNy42LjUudHh0WzEuNy42LjVdLAotICBsaW5rOlJlbE5vdGVzLzEuNy42LjQudHh0WzEuNy42LjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNy42LjMudHh0WzEuNy42LjNdLAotICBsaW5rOlJlbE5vdGVzLzEuNy42LjIudHh0WzEuNy42LjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNy42LjEudHh0WzEuNy42LjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNy42LnR4dFsxLjcuNl0uCi0KLSogbGluazp2MS43LjUuNC9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNy41LjRdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjcuNS40LnR4dFsxLjcuNS40XSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuNS4zLnR4dFsxLjcuNS4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuNS4yLnR4dFsxLjcuNS4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuNS4xLnR4dFsxLjcuNS4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuNS50eHRbMS43LjVdLgotCi0qIGxpbms6djEuNy40LjUvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjcuNC41XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS43LjQuNS50eHRbMS43LjQuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjQuNC50eHRbMS43LjQuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjQuMy50eHRbMS43LjQuM10sCi0gIGxpbms6UmVsTm90ZXMvMS43LjQuMi50eHRbMS43LjQuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjQuMS50eHRbMS43LjQuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjQudHh0WzEuNy40XS4KLQotKiBsaW5rOnYxLjcuMy41L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS43LjMuNV0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNy4zLjUudHh0WzEuNy4zLjVdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4zLjQudHh0WzEuNy4zLjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4zLjMudHh0WzEuNy4zLjNdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4zLjIudHh0WzEuNy4zLjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4zLjEudHh0WzEuNy4zLjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4zLnR4dFsxLjcuM10uCi0KLSogbGluazp2MS43LjIuNS9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNy4yLjVdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjcuMi41LnR4dFsxLjcuMi41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMi40LnR4dFsxLjcuMi40XSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMi4zLnR4dFsxLjcuMi4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMi4yLnR4dFsxLjcuMi4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMi4xLnR4dFsxLjcuMi4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjcuMi50eHRbMS43LjJdLgotCi0qIGxpbms6djEuNy4xLjQvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjcuMS40XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS43LjEuNC50eHRbMS43LjEuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjEuMy50eHRbMS43LjEuM10sCi0gIGxpbms6UmVsTm90ZXMvMS43LjEuMi50eHRbMS43LjEuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjEuMS50eHRbMS43LjEuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS43LjEudHh0WzEuNy4xXS4KLQotKiBsaW5rOnYxLjcuMC45L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS43LjAuOV0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjkudHh0WzEuNy4wLjldLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjgudHh0WzEuNy4wLjhdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjcudHh0WzEuNy4wLjddLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjYudHh0WzEuNy4wLjZdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjUudHh0WzEuNy4wLjVdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjQudHh0WzEuNy4wLjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjMudHh0WzEuNy4wLjNdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjIudHh0WzEuNy4wLjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLjEudHh0WzEuNy4wLjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNy4wLnR4dFsxLjcuMF0uCi0KLSogbGluazp2MS42LjYuMy9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNi42LjNdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjYuNi4zLnR4dFsxLjYuNi4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuNi4yLnR4dFsxLjYuNi4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuNi4xLnR4dFsxLjYuNi4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuNi50eHRbMS42LjZdLgotCi0qIGxpbms6djEuNi41LjkvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjYuNS45XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuOS50eHRbMS42LjUuOV0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuOC50eHRbMS42LjUuOF0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuNy50eHRbMS42LjUuN10sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuNi50eHRbMS42LjUuNl0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuNS50eHRbMS42LjUuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuNC50eHRbMS42LjUuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuMy50eHRbMS42LjUuM10sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuMi50eHRbMS42LjUuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUuMS50eHRbMS42LjUuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjUudHh0WzEuNi41XS4KLQotKiBsaW5rOnYxLjYuNC41L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS42LjQuNV0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNi40LjUudHh0WzEuNi40LjVdLAotICBsaW5rOlJlbE5vdGVzLzEuNi40LjQudHh0WzEuNi40LjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNi40LjMudHh0WzEuNi40LjNdLAotICBsaW5rOlJlbE5vdGVzLzEuNi40LjIudHh0WzEuNi40LjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNi40LjEudHh0WzEuNi40LjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNi40LnR4dFsxLjYuNF0uCi0KLSogbGluazp2MS42LjMuNC9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNi4zLjRdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjYuMy40LnR4dFsxLjYuMy40XSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMy4zLnR4dFsxLjYuMy4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMy4yLnR4dFsxLjYuMy4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMy4xLnR4dFsxLjYuMy4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMy50eHRbMS42LjNdLgotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS42LjIuNS50eHRbMS42LjIuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjIuNC50eHRbMS42LjIuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjIuMy50eHRbMS42LjIuM10sCi0gIGxpbms6UmVsTm90ZXMvMS42LjIuMi50eHRbMS42LjIuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjIuMS50eHRbMS42LjIuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS42LjIudHh0WzEuNi4yXS4KLQotKiBsaW5rOnYxLjYuMS4zL2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS42LjEuM10KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNi4xLjMudHh0WzEuNi4xLjNdLAotICBsaW5rOlJlbE5vdGVzLzEuNi4xLjIudHh0WzEuNi4xLjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNi4xLjEudHh0WzEuNi4xLjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNi4xLnR4dFsxLjYuMV0uCi0KLSogbGluazp2MS42LjAuNi9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNi4wLjZdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjYuMC42LnR4dFsxLjYuMC42XSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMC41LnR4dFsxLjYuMC41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMC40LnR4dFsxLjYuMC40XSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMC4zLnR4dFsxLjYuMC4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMC4yLnR4dFsxLjYuMC4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMC4xLnR4dFsxLjYuMC4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjYuMC50eHRbMS42LjBdLgotCi0qIGxpbms6djEuNS42LjYvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjUuNi42XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS41LjYuNi50eHRbMS41LjYuNl0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjYuNS50eHRbMS41LjYuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjYuNC50eHRbMS41LjYuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjYuMy50eHRbMS41LjYuM10sCi0gIGxpbms6UmVsTm90ZXMvMS41LjYuMi50eHRbMS41LjYuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjYuMS50eHRbMS41LjYuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjYudHh0WzEuNS42XS4KLQotKiBsaW5rOnYxLjUuNS42L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS41LjUuNl0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNS41LjYudHh0WzEuNS41LjZdLAotICBsaW5rOlJlbE5vdGVzLzEuNS41LjUudHh0WzEuNS41LjVdLAotICBsaW5rOlJlbE5vdGVzLzEuNS41LjQudHh0WzEuNS41LjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNS41LjMudHh0WzEuNS41LjNdLAotICBsaW5rOlJlbE5vdGVzLzEuNS41LjIudHh0WzEuNS41LjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNS41LjEudHh0WzEuNS41LjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNS41LnR4dFsxLjUuNV0uCi0KLSogbGluazp2MS41LjQuNy9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNS40LjddCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjUuNC43LnR4dFsxLjUuNC43XSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuNC42LnR4dFsxLjUuNC42XSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuNC41LnR4dFsxLjUuNC41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuNC40LnR4dFsxLjUuNC40XSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuNC4zLnR4dFsxLjUuNC4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuNC4yLnR4dFsxLjUuNC4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuNC4xLnR4dFsxLjUuNC4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuNC50eHRbMS41LjRdLgotCi0qIGxpbms6djEuNS4zLjgvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjUuMy44XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS41LjMuOC50eHRbMS41LjMuOF0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjMuNy50eHRbMS41LjMuN10sCi0gIGxpbms6UmVsTm90ZXMvMS41LjMuNi50eHRbMS41LjMuNl0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjMuNS50eHRbMS41LjMuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjMuNC50eHRbMS41LjMuNF0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjMuMy50eHRbMS41LjMuM10sCi0gIGxpbms6UmVsTm90ZXMvMS41LjMuMi50eHRbMS41LjMuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjMuMS50eHRbMS41LjMuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjMudHh0WzEuNS4zXS4KLQotKiBsaW5rOnYxLjUuMi41L2dpdC5odG1sW2RvY3VtZW50YXRpb24gZm9yIHJlbGVhc2UgMS41LjIuNV0KLQotKiByZWxlYXNlIG5vdGVzIGZvcgotICBsaW5rOlJlbE5vdGVzLzEuNS4yLjUudHh0WzEuNS4yLjVdLAotICBsaW5rOlJlbE5vdGVzLzEuNS4yLjQudHh0WzEuNS4yLjRdLAotICBsaW5rOlJlbE5vdGVzLzEuNS4yLjMudHh0WzEuNS4yLjNdLAotICBsaW5rOlJlbE5vdGVzLzEuNS4yLjIudHh0WzEuNS4yLjJdLAotICBsaW5rOlJlbE5vdGVzLzEuNS4yLjEudHh0WzEuNS4yLjFdLAotICBsaW5rOlJlbE5vdGVzLzEuNS4yLnR4dFsxLjUuMl0uCi0KLSogbGluazp2MS41LjEuNi9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDEuNS4xLjZdCi0KLSogcmVsZWFzZSBub3RlcyBmb3IKLSAgbGluazpSZWxOb3Rlcy8xLjUuMS42LnR4dFsxLjUuMS42XSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuMS41LnR4dFsxLjUuMS41XSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuMS40LnR4dFsxLjUuMS40XSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuMS4zLnR4dFsxLjUuMS4zXSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuMS4yLnR4dFsxLjUuMS4yXSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuMS4xLnR4dFsxLjUuMS4xXSwKLSAgbGluazpSZWxOb3Rlcy8xLjUuMS50eHRbMS41LjFdLgotCi0qIGxpbms6djEuNS4wLjcvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAxLjUuMC43XQotCi0qIHJlbGVhc2Ugbm90ZXMgZm9yCi0gIGxpbms6UmVsTm90ZXMvMS41LjAuNy50eHRbMS41LjAuN10sCi0gIGxpbms6UmVsTm90ZXMvMS41LjAuNi50eHRbMS41LjAuNl0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjAuNS50eHRbMS41LjAuNV0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjAuMy50eHRbMS41LjAuM10sCi0gIGxpbms6UmVsTm90ZXMvMS41LjAuMi50eHRbMS41LjAuMl0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjAuMS50eHRbMS41LjAuMV0sCi0gIGxpbms6UmVsTm90ZXMvMS41LjAudHh0WzEuNS4wXS4KLQotKiBkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIGxpbms6djEuNC40LjQvZ2l0Lmh0bWxbMS40LjQuNF0sCi0gIGxpbms6djEuMy4zL2dpdC5odG1sWzEuMy4zXSwKLSAgbGluazp2MS4yLjYvZ2l0Lmh0bWxbMS4yLjZdLAotICBsaW5rOnYxLjAuMTMvZ2l0Lmh0bWxbMS4wLjEzXS4KLQotPT09PT09PT09PT09Ci0KLWVuZGlmOjpzdGFsZW5vdGVzW10KIAogT1BUSU9OUwogLS0tLS0tLQpAQCAtNTc5LDcgKzc1LDggQEAKIE5vdGUgdGhhdCBvbWl0dGluZyB0aGUgYD1gIGluIGBnaXQgLWMgZm9vLmJhciAuLi5gIGlzIGFsbG93ZWQgYW5kIHNldHMKIGBmb28uYmFyYCB0byB0aGUgYm9vbGVhbiB0cnVlIHZhbHVlIChqdXN0IGxpa2UgYFtmb29dYmFyYCB3b3VsZCBpbiBhCiBjb25maWcgZmlsZSkuIEluY2x1ZGluZyB0aGUgZXF1YWxzIGJ1dCB3aXRoIGFuIGVtcHR5IHZhbHVlIChsaWtlIGBnaXQgLWMKLWZvby5iYXI9IC4uLmApIHNldHMgYGZvby5iYXJgIHRvIHRoZSBlbXB0eSBzdHJpbmcuCitmb28uYmFyPSAuLi5gKSBzZXRzIGBmb28uYmFyYCB0byB0aGUgZW1wdHkgc3RyaW5nIHdoaWNoIGBnaXQgY29uZmlnCistLWJvb2xgIHdpbGwgY29udmVydCB0byBgZmFsc2VgLgogCiAtLWV4ZWMtcGF0aFs9PHBhdGg+XTo6CiAJUGF0aCB0byB3aGVyZXZlciB5b3VyIGNvcmUgR2l0IHByb2dyYW1zIGFyZSBpbnN0YWxsZWQuCkBAIC02NjIsNiArMTU5LDEwIEBACiAJQWRkICJpY2FzZSIgbWFnaWMgdG8gYWxsIHBhdGhzcGVjLiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gc2V0dGluZwogCXRoZSBgR0lUX0lDQVNFX1BBVEhTUEVDU2AgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYDFgLgogCistLW5vLW9wdGlvbmFsLWxvY2tzOjoKKwlEbyBub3QgcGVyZm9ybSBvcHRpb25hbCBvcGVyYXRpb25zIHRoYXQgcmVxdWlyZSBsb2Nrcy4gVGhpcyBpcworCWVxdWl2YWxlbnQgdG8gc2V0dGluZyB0aGUgYEdJVF9PUFRJT05BTF9MT0NLU2AgdG8gYDBgLgorCiBHSVQgQ09NTUFORFMKIC0tLS0tLS0tLS0tLQogCkBAIC0xMDM3LDYgKzUzOCwxMiBAQAogcGVyc29uYWwgYC5zc2gvY29uZmlnYCBmaWxlLiAgUGxlYXNlIGNvbnN1bHQgeW91ciBzc2ggZG9jdW1lbnRhdGlvbgogZm9yIGZ1cnRoZXIgZGV0YWlscy4KIAorYEdJVF9TU0hfVkFSSUFOVGA6OgorCUlmIHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LCBpdCBvdmVycmlkZXMgR2l0J3MgYXV0b2RldGVjdGlvbgorCXdoZXRoZXIgYEdJVF9TU0hgL2BHSVRfU1NIX0NPTU1BTkRgL2Bjb3JlLnNzaENvbW1hbmRgIHJlZmVyIHRvIE9wZW5TU0gsCisJcGxpbmsgb3IgdG9ydG9pc2VwbGluay4gVGhpcyB2YXJpYWJsZSBvdmVycmlkZXMgdGhlIGNvbmZpZyBzZXR0aW5nCisJYHNzaC52YXJpYW50YCB0aGF0IHNlcnZlcyB0aGUgc2FtZSBwdXJwb3NlLgorCiBgR0lUX0FTS1BBU1NgOjoKIAlJZiB0aGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCwgdGhlbiBHaXQgY29tbWFuZHMgd2hpY2ggbmVlZCB0bwogCWFjcXVpcmUgcGFzc3dvcmRzIG9yIHBhc3NwaHJhc2VzIChlLmcuIGZvciBIVFRQIG9yIElNQVAgYXV0aGVudGljYXRpb24pCkBAIC0xMTk0LDYgKzcwMSwxNCBAQAogCXdoaWNoIGZlZWQgcG90ZW50aWFsbHktdW50cnVzdGVkIFVSTFMgdG8gZ2l0IGNvbW1hbmRzLiAgU2VlCiAJbGlua2dpdDpnaXQtY29uZmlnWzFdIGZvciBtb3JlIGRldGFpbHMuCiAKK2BHSVRfT1BUSU9OQUxfTE9DS1NgOjoKKwlJZiBzZXQgdG8gYDBgLCBHaXQgd2lsbCBjb21wbGV0ZSBhbnkgcmVxdWVzdGVkIG9wZXJhdGlvbiB3aXRob3V0CisJcGVyZm9ybWluZyBhbnkgb3B0aW9uYWwgc3ViLW9wZXJhdGlvbnMgdGhhdCByZXF1aXJlIHRha2luZyBhIGxvY2suCisJRm9yIGV4YW1wbGUsIHRoaXMgd2lsbCBwcmV2ZW50IGBnaXQgc3RhdHVzYCBmcm9tIHJlZnJlc2hpbmcgdGhlCisJaW5kZXggYXMgYSBzaWRlIGVmZmVjdC4gVGhpcyBpcyB1c2VmdWwgZm9yIHByb2Nlc3NlcyBydW5uaW5nIGluCisJdGhlIGJhY2tncm91bmQgd2hpY2ggZG8gbm90IHdhbnQgdG8gY2F1c2UgbG9jayBjb250ZW50aW9uIHdpdGgKKwlvdGhlciBvcGVyYXRpb25zIG9uIHRoZSByZXBvc2l0b3J5LiAgRGVmYXVsdHMgdG8gYDFgLgorCiBEaXNjdXNzaW9uW1tEaXNjdXNzaW9uXV0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGF0dHJpYnV0ZXMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRhdHRyaWJ1dGVzLnR4dAppbmRleCBlMGI2NmMxLi40YzY4YmMxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGF0dHJpYnV0ZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0YXR0cmlidXRlcy50eHQKQEAgLTIxLDkgKzIxLDExIEBACiAJcGF0dGVybglhdHRyMSBhdHRyMiAuLi4KIAogVGhhdCBpcywgYSBwYXR0ZXJuIGZvbGxvd2VkIGJ5IGFuIGF0dHJpYnV0ZXMgbGlzdCwKLXNlcGFyYXRlZCBieSB3aGl0ZXNwYWNlcy4gIFdoZW4gdGhlIHBhdHRlcm4gbWF0Y2hlcyB0aGUKLXBhdGggaW4gcXVlc3Rpb24sIHRoZSBhdHRyaWJ1dGVzIGxpc3RlZCBvbiB0aGUgbGluZSBhcmUgZ2l2ZW4gdG8KLXRoZSBwYXRoLgorc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2VzLiBMZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlcyBhcmUKK2lnbm9yZWQuIExpbmVzIHRoYXQgYmVnaW4gd2l0aCAnIycgYXJlIGlnbm9yZWQuIFBhdHRlcm5zCit0aGF0IGJlZ2luIHdpdGggYSBkb3VibGUgcXVvdGUgYXJlIHF1b3RlZCBpbiBDIHN0eWxlLgorV2hlbiB0aGUgcGF0dGVybiBtYXRjaGVzIHRoZSBwYXRoIGluIHF1ZXN0aW9uLCB0aGUgYXR0cmlidXRlcworbGlzdGVkIG9uIHRoZSBsaW5lIGFyZSBnaXZlbiB0byB0aGUgcGF0aC4KIAogRWFjaCBhdHRyaWJ1dGUgY2FuIGJlIGluIG9uZSBvZiB0aGVzZSBzdGF0ZXMgZm9yIGEgZ2l2ZW4gcGF0aDoKIApAQCAtODYsNyArODgsNyBAQAogQXR0cmlidXRlcyBmb3IgYWxsIHVzZXJzIG9uIGEgc3lzdGVtIHNob3VsZCBiZSBwbGFjZWQgaW4gdGhlCiBgJChwcmVmaXgpL2V0Yy9naXRhdHRyaWJ1dGVzYCBmaWxlLgogCi1Tb21ldGltZXMgeW91IHdvdWxkIG5lZWQgdG8gb3ZlcnJpZGUgYW4gc2V0dGluZyBvZiBhbiBhdHRyaWJ1dGUKK1NvbWV0aW1lcyB5b3Ugd291bGQgbmVlZCB0byBvdmVycmlkZSBhIHNldHRpbmcgb2YgYW4gYXR0cmlidXRlCiBmb3IgYSBwYXRoIHRvIGBVbnNwZWNpZmllZGAgc3RhdGUuICBUaGlzIGNhbiBiZSBkb25lIGJ5IGxpc3RpbmcKIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgcHJlZml4ZWQgd2l0aCBhbiBleGNsYW1hdGlvbiBwb2ludCBgIWAuCiAKQEAgLTE0OSw3ICsxNTEsMTAgQEAKIAogVGhpcyBhdHRyaWJ1dGUgc2V0cyBhIHNwZWNpZmljIGxpbmUtZW5kaW5nIHN0eWxlIHRvIGJlIHVzZWQgaW4gdGhlCiB3b3JraW5nIGRpcmVjdG9yeS4gIEl0IGVuYWJsZXMgZW5kLW9mLWxpbmUgY29udmVyc2lvbiB3aXRob3V0IGFueQotY29udGVudCBjaGVja3MsIGVmZmVjdGl2ZWx5IHNldHRpbmcgdGhlIGB0ZXh0YCBhdHRyaWJ1dGUuCitjb250ZW50IGNoZWNrcywgZWZmZWN0aXZlbHkgc2V0dGluZyB0aGUgYHRleHRgIGF0dHJpYnV0ZS4gIE5vdGUgdGhhdAorc2V0dGluZyB0aGlzIGF0dHJpYnV0ZSBvbiBwYXRocyB3aGljaCBhcmUgaW4gdGhlIGluZGV4IHdpdGggQ1JMRiBsaW5lCitlbmRpbmdzIG1heSBtYWtlIHRoZSBwYXRocyB0byBiZSBjb25zaWRlcmVkIGRpcnR5LiAgQWRkaW5nIHRoZSBwYXRoIHRvCit0aGUgaW5kZXggYWdhaW4gd2lsbCBub3JtYWxpemUgdGhlIGxpbmUgZW5kaW5ncyBpbiB0aGUgaW5kZXguCiAKIFNldCB0byBzdHJpbmcgdmFsdWUgImNybGYiOjoKIApAQCAtMjI3LDExICsyMzIsOSBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkIGVjaG8gIiogdGV4dD1hdXRvIiA+LmdpdGF0dHJpYnV0ZXMKLSQgcm0gLmdpdC9pbmRleCAgICAgIyBSZW1vdmUgdGhlIGluZGV4IHRvIGZvcmNlIEdpdCB0bwotJCBnaXQgcmVzZXQgICAgICAgICAjIHJlLXNjYW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5CiskIGdpdCByZWFkLXRyZWUgLS1lbXB0eSAgICMgQ2xlYW4gaW5kZXgsIGZvcmNlIHJlLXNjYW4gb2Ygd29ya2luZyBkaXJlY3RvcnkKKyQgZ2l0IGFkZCAuCiAkIGdpdCBzdGF0dXMgICAgICAgICMgU2hvdyBmaWxlcyB0aGF0IHdpbGwgYmUgbm9ybWFsaXplZAotJCBnaXQgYWRkIC11Ci0kIGdpdCBhZGQgLmdpdGF0dHJpYnV0ZXMKICQgZ2l0IGNvbW1pdCAtbSAiSW50cm9kdWNlIGVuZC1vZi1saW5lIG5vcm1hbGl6YXRpb24iCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTQyNSw4ICs0MjgsOCBAQAogcGFja2V0OiAgICAgICAgICBnaXQ8IGNhcGFiaWxpdHk9c211ZGdlCiBwYWNrZXQ6ICAgICAgICAgIGdpdDwgMDAwMAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1TdXBwb3J0ZWQgZmlsdGVyIGNhcGFiaWxpdGllcyBpbiB2ZXJzaW9uIDIgYXJlICJjbGVhbiIgYW5kCi0ic211ZGdlIi4KK1N1cHBvcnRlZCBmaWx0ZXIgY2FwYWJpbGl0aWVzIGluIHZlcnNpb24gMiBhcmUgImNsZWFuIiwgInNtdWRnZSIsCithbmQgImRlbGF5Ii4KIAogQWZ0ZXJ3YXJkcyBHaXQgc2VuZHMgYSBsaXN0IG9mICJrZXk9dmFsdWUiIHBhaXJzIHRlcm1pbmF0ZWQgd2l0aAogYSBmbHVzaCBwYWNrZXQuIFRoZSBsaXN0IHdpbGwgY29udGFpbiBhdCBsZWFzdCB0aGUgZmlsdGVyIGNvbW1hbmQKQEAgLTUxMiwxMiArNTE1LDczIEBACiB3aXRoIHRoZSBuZXh0IGZpbGUgdGhhdCBuZWVkcyB0byBiZSBwcm9jZXNzZWQuIERlcGVuZGluZyBvbiB0aGUKIGBmaWx0ZXIuPGRyaXZlcj4ucmVxdWlyZWRgIGZsYWcgR2l0IHdpbGwgaW50ZXJwcmV0IHRoYXQgYXMgZXJyb3IuCiAKLUFmdGVyIHRoZSBmaWx0ZXIgaGFzIHByb2Nlc3NlZCBhIGJsb2IgaXQgaXMgZXhwZWN0ZWQgdG8gd2FpdCBmb3IKLXRoZSBuZXh0ICJrZXk9dmFsdWUiIGxpc3QgY29udGFpbmluZyBhIGNvbW1hbmQuIEdpdCB3aWxsIGNsb3NlCitBZnRlciB0aGUgZmlsdGVyIGhhcyBwcm9jZXNzZWQgYSBjb21tYW5kIGl0IGlzIGV4cGVjdGVkIHRvIHdhaXQgZm9yCithICJrZXk9dmFsdWUiIGxpc3QgY29udGFpbmluZyB0aGUgbmV4dCBjb21tYW5kLiBHaXQgd2lsbCBjbG9zZQogdGhlIGNvbW1hbmQgcGlwZSBvbiBleGl0LiBUaGUgZmlsdGVyIGlzIGV4cGVjdGVkIHRvIGRldGVjdCBFT0YKIGFuZCBleGl0IGdyYWNlZnVsbHkgb24gaXRzIG93bi4gR2l0IHdpbGwgd2FpdCB1bnRpbCB0aGUgZmlsdGVyCiBwcm9jZXNzIGhhcyBzdG9wcGVkLgogCitEZWxheQorXl5eXl4KKworSWYgdGhlIGZpbHRlciBzdXBwb3J0cyB0aGUgImRlbGF5IiBjYXBhYmlsaXR5LCB0aGVuIEdpdCBjYW4gc2VuZCB0aGUKK2ZsYWcgImNhbi1kZWxheSIgYWZ0ZXIgdGhlIGZpbHRlciBjb21tYW5kIGFuZCBwYXRobmFtZS4gVGhpcyBmbGFnCitkZW5vdGVzIHRoYXQgdGhlIGZpbHRlciBjYW4gZGVsYXkgZmlsdGVyaW5nIHRoZSBjdXJyZW50IGJsb2IgKGUuZy4gdG8KK2NvbXBlbnNhdGUgbmV0d29yayBsYXRlbmNpZXMpIGJ5IHJlc3BvbmRpbmcgd2l0aCBubyBjb250ZW50IGJ1dCB3aXRoCit0aGUgc3RhdHVzICJkZWxheWVkIiBhbmQgYSBmbHVzaCBwYWNrZXQuCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3BhY2tldDogICAgICAgICAgZ2l0PiBjb21tYW5kPXNtdWRnZQorcGFja2V0OiAgICAgICAgICBnaXQ+IHBhdGhuYW1lPXBhdGgvdGVzdGZpbGUuZGF0CitwYWNrZXQ6ICAgICAgICAgIGdpdD4gY2FuLWRlbGF5PTEKK3BhY2tldDogICAgICAgICAgZ2l0PiAwMDAwCitwYWNrZXQ6ICAgICAgICAgIGdpdD4gQ09OVEVOVAorcGFja2V0OiAgICAgICAgICBnaXQ+IDAwMDAKK3BhY2tldDogICAgICAgICAgZ2l0PCBzdGF0dXM9ZGVsYXllZAorcGFja2V0OiAgICAgICAgICBnaXQ8IDAwMDAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJZiB0aGUgZmlsdGVyIHN1cHBvcnRzIHRoZSAiZGVsYXkiIGNhcGFiaWxpdHkgdGhlbiBpdCBtdXN0IHN1cHBvcnQgdGhlCisibGlzdF9hdmFpbGFibGVfYmxvYnMiIGNvbW1hbmQuIElmIEdpdCBzZW5kcyB0aGlzIGNvbW1hbmQsIHRoZW4gdGhlCitmaWx0ZXIgaXMgZXhwZWN0ZWQgdG8gcmV0dXJuIGEgbGlzdCBvZiBwYXRobmFtZXMgcmVwcmVzZW50aW5nIGJsb2JzCit0aGF0IGhhdmUgYmVlbiBkZWxheWVkIGVhcmxpZXIgYW5kIGFyZSBub3cgYXZhaWxhYmxlLgorVGhlIGxpc3QgbXVzdCBiZSB0ZXJtaW5hdGVkIHdpdGggYSBmbHVzaCBwYWNrZXQgZm9sbG93ZWQKK2J5IGEgInN1Y2Nlc3MiIHN0YXR1cyB0aGF0IGlzIGFsc28gdGVybWluYXRlZCB3aXRoIGEgZmx1c2ggcGFja2V0LiBJZgorbm8gYmxvYnMgZm9yIHRoZSBkZWxheWVkIHBhdGhzIGFyZSBhdmFpbGFibGUsIHlldCwgdGhlbiB0aGUgZmlsdGVyIGlzCitleHBlY3RlZCB0byBibG9jayB0aGUgcmVzcG9uc2UgdW50aWwgYXQgbGVhc3Qgb25lIGJsb2IgYmVjb21lcworYXZhaWxhYmxlLiBUaGUgZmlsdGVyIGNhbiB0ZWxsIEdpdCB0aGF0IGl0IGhhcyBubyBtb3JlIGRlbGF5ZWQgYmxvYnMKK2J5IHNlbmRpbmcgYW4gZW1wdHkgbGlzdC4gQXMgc29vbiBhcyB0aGUgZmlsdGVyIHJlc3BvbmRzIHdpdGggYW4gZW1wdHkKK2xpc3QsIEdpdCBzdG9wcyBhc2tpbmcuIEFsbCBibG9icyB0aGF0IEdpdCBoYXMgbm90IHJlY2VpdmVkIGF0IHRoaXMKK3BvaW50IGFyZSBjb25zaWRlcmVkIG1pc3NpbmcgYW5kIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3BhY2tldDogICAgICAgICAgZ2l0PiBjb21tYW5kPWxpc3RfYXZhaWxhYmxlX2Jsb2JzCitwYWNrZXQ6ICAgICAgICAgIGdpdD4gMDAwMAorcGFja2V0OiAgICAgICAgICBnaXQ8IHBhdGhuYW1lPXBhdGgvdGVzdGZpbGUuZGF0CitwYWNrZXQ6ICAgICAgICAgIGdpdDwgcGF0aG5hbWU9cGF0aC9vdGhlcmZpbGUuZGF0CitwYWNrZXQ6ICAgICAgICAgIGdpdDwgMDAwMAorcGFja2V0OiAgICAgICAgICBnaXQ8IHN0YXR1cz1zdWNjZXNzCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgMDAwMAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FmdGVyIEdpdCByZWNlaXZlZCB0aGUgcGF0aG5hbWVzLCBpdCB3aWxsIHJlcXVlc3QgdGhlIGNvcnJlc3BvbmRpbmcKK2Jsb2JzIGFnYWluLiBUaGVzZSByZXF1ZXN0cyBjb250YWluIGEgcGF0aG5hbWUgYW5kIGFuIGVtcHR5IGNvbnRlbnQKK3NlY3Rpb24uIFRoZSBmaWx0ZXIgaXMgZXhwZWN0ZWQgdG8gcmVzcG9uZCB3aXRoIHRoZSBzbXVkZ2VkIGNvbnRlbnQKK2luIHRoZSB1c3VhbCB3YXkgYXMgZXhwbGFpbmVkIGFib3ZlLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitwYWNrZXQ6ICAgICAgICAgIGdpdD4gY29tbWFuZD1zbXVkZ2UKK3BhY2tldDogICAgICAgICAgZ2l0PiBwYXRobmFtZT1wYXRoL3Rlc3RmaWxlLmRhdAorcGFja2V0OiAgICAgICAgICBnaXQ+IDAwMDAKK3BhY2tldDogICAgICAgICAgZ2l0PiAwMDAwICAjIGVtcHR5IGNvbnRlbnQhCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgc3RhdHVzPXN1Y2Nlc3MKK3BhY2tldDogICAgICAgICAgZ2l0PCAwMDAwCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgU01VREdFRF9DT05URU5UCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgMDAwMAorcGFja2V0OiAgICAgICAgICBnaXQ8IDAwMDAgICMgZW1wdHkgbGlzdCwga2VlcCAic3RhdHVzPXN1Y2Nlc3MiIHVuY2hhbmdlZCEKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitFeGFtcGxlCiteXl5eXl5eCisKIEEgbG9uZyBydW5uaW5nIGZpbHRlciBkZW1vIGltcGxlbWVudGF0aW9uIGNhbiBiZSBmb3VuZCBpbgogYGNvbnRyaWIvbG9uZy1ydW5uaW5nLWZpbHRlci9leGFtcGxlLnBsYCBsb2NhdGVkIGluIHRoZSBHaXQKIGNvcmUgcmVwb3NpdG9yeS4gSWYgeW91IGRldmVsb3AgeW91ciBvd24gbG9uZyBydW5uaW5nIGZpbHRlcgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRjbGkudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRjbGkudHh0CmluZGV4IGRmZTdkODMuLjlmMTMyNjYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0Y2xpLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdGNsaS50eHQKQEAgLTE5NCw3ICsxOTQsNyBAQAogICogVGhlIGAtLWluZGV4YCBvcHRpb24gaXMgdXNlZCB0byBhc2sgYSBjb21tYW5kIHRoYXQKICAgIHVzdWFsbHkgd29ya3Mgb24gZmlsZXMgaW4gdGhlIHdvcmtpbmcgdHJlZSB0byAqYWxzbyoKICAgIGFmZmVjdCB0aGUgaW5kZXguICBGb3IgZXhhbXBsZSwgYGdpdCBzdGFzaCBhcHBseWAgdXN1YWxseQotICAgbWVyZ2VzIGNoYW5nZXMgcmVjb3JkZWQgaW4gYSBzdGFzaCB0byB0aGUgd29ya2luZyB0cmVlLAorICAgbWVyZ2VzIGNoYW5nZXMgcmVjb3JkZWQgaW4gYSBzdGFzaCBlbnRyeSB0byB0aGUgd29ya2luZyB0cmVlLAogICAgYnV0IHdpdGggdGhlIGAtLWluZGV4YCBvcHRpb24sIGl0IGFsc28gbWVyZ2VzIGNoYW5nZXMgdG8KICAgIHRoZSBpbmRleCBhcyB3ZWxsLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGNvcmUtdHV0b3JpYWwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRjb3JlLXR1dG9yaWFsLnR4dAppbmRleCAzYTBlYzhjLi5lMjlhOWVmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGNvcmUtdHV0b3JpYWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0Y29yZS10dXRvcmlhbC50eHQKQEAgLTYzMSw3ICs2MzEsNyBAQAogJCBnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaAogLS0tLS0tLS0tLS0tLS0tLQogKwotaW4gdGhlIG5ldyByZXBvc2l0b3J5IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBpbmRleCBmaWxlIGlzIHVwLXRvLWRhdGUuCitpbiB0aGUgbmV3IHJlcG9zaXRvcnkgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGluZGV4IGZpbGUgaXMgdXAgdG8gZGF0ZS4KIAogTm90ZSB0aGF0IHRoZSBzZWNvbmQgcG9pbnQgaXMgdHJ1ZSBldmVuIGFjcm9zcyBtYWNoaW5lcy4gWW91IGNhbgogZHVwbGljYXRlIGEgcmVtb3RlIEdpdCByZXBvc2l0b3J5IHdpdGggKmFueSogcmVndWxhciBjb3B5IG1lY2hhbmlzbSwgYmUgaXQKQEAgLTcwMSw3ICs3MDEsNyBAQAogLS0tLS0tLS0tLS0tLS0tLQogCiB3aGVyZSB0aGUgYC11YCBmbGFnIG1lYW5zIHRoYXQgeW91IHdhbnQgdGhlIGNoZWNrb3V0IHRvIGtlZXAgdGhlIGluZGV4Ci11cC10by1kYXRlIChzbyB0aGF0IHlvdSBkb24ndCBoYXZlIHRvIHJlZnJlc2ggaXQgYWZ0ZXJ3YXJkKSwgYW5kIHRoZQordXAgdG8gZGF0ZSAoc28gdGhhdCB5b3UgZG9uJ3QgaGF2ZSB0byByZWZyZXNoIGl0IGFmdGVyd2FyZCksIGFuZCB0aGUKIGAtYWAgZmxhZyBtZWFucyAiY2hlY2sgb3V0IGFsbCBmaWxlcyIgKGlmIHlvdSBoYXZlIGEgc3RhbGUgY29weSBvciBhbgogb2xkZXIgdmVyc2lvbiBvZiBhIGNoZWNrZWQgb3V0IHRyZWUgeW91IG1heSBhbHNvIG5lZWQgdG8gYWRkIHRoZSBgLWZgCiBmbGFnIGZpcnN0LCB0byB0ZWxsICdnaXQgY2hlY2tvdXQtaW5kZXgnIHRvICpmb3JjZSogb3ZlcndyaXRpbmcgb2YgYW55IG9sZApAQCAtMTI4Myw3ICsxMjgzLDcgQEAKIAogRmlyc3QsIHlvdSBuZWVkIHRvIGNyZWF0ZSBhbiBlbXB0eSByZXBvc2l0b3J5IG9uIHRoZSByZW1vdGUKIG1hY2hpbmUgdGhhdCB3aWxsIGhvdXNlIHlvdXIgcHVibGljIHJlcG9zaXRvcnkuIFRoaXMgZW1wdHkKLXJlcG9zaXRvcnkgd2lsbCBiZSBwb3B1bGF0ZWQgYW5kIGJlIGtlcHQgdXAtdG8tZGF0ZSBieSBwdXNoaW5nCityZXBvc2l0b3J5IHdpbGwgYmUgcG9wdWxhdGVkIGFuZCBiZSBrZXB0IHVwIHRvIGRhdGUgYnkgcHVzaGluZwogaW50byBpdCBsYXRlci4gT2J2aW91c2x5LCB0aGlzIHJlcG9zaXRvcnkgY3JlYXRpb24gbmVlZHMgdG8gYmUKIGRvbmUgb25seSBvbmNlLgogCkBAIC0xNDI5LDcgKzE0MjksNyBAQAogY29udmVuaWVudCB0byBvcmdhbml6ZSB5b3VyIHByb2plY3Qgd2l0aCBhbiBpbmZvcm1hbCBoaWVyYXJjaHkKIG9mIGRldmVsb3BlcnMuIExpbnV4IGtlcm5lbCBkZXZlbG9wbWVudCBpcyBydW4gdGhpcyB3YXkuIFRoZXJlCiBpcyBhIG5pY2UgaWxsdXN0cmF0aW9uIChwYWdlIDE3LCAiTWVyZ2VzIHRvIE1haW5saW5lIikgaW4KLWh0dHA6Ly93d3cueGVub3RpbWUubmV0L2xpbnV4L21lbnRvci9saW51eC1tZW50b3JpbmctMjAwNi5wZGZbUmFuZHkgRHVubGFwJ3MgcHJlc2VudGF0aW9uXS4KK2h0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDEyMDkxNTIwMzYwOS9odHRwOi8vd3d3Lnhlbm90aW1lLm5ldC9saW51eC9tZW50b3IvbGludXgtbWVudG9yaW5nLTIwMDYucGRmW1JhbmR5IER1bmxhcCdzIHByZXNlbnRhdGlvbl0uCiAKIEl0IHNob3VsZCBiZSBzdHJlc3NlZCB0aGF0IHRoaXMgaGllcmFyY2h5IGlzIHB1cmVseSAqaW5mb3JtYWwqLgogVGhlcmUgaXMgbm90aGluZyBmdW5kYW1lbnRhbCBpbiBHaXQgdGhhdCBlbmZvcmNlcyB0aGUgImNoYWluIG9mCkBAIC0xNDUwLDcgKzE0NTAsNyBAQAogd291bGQgY29udGFpbiBhIGNhbGwgdG8gJ2dpdCB1cGRhdGUtc2VydmVyLWluZm8nCiBidXQgeW91IG5lZWQgdG8gbWFudWFsbHkgZW5hYmxlIHRoZSBob29rIHdpdGgKIGBtdiBwb3N0LXVwZGF0ZS5zYW1wbGUgcG9zdC11cGRhdGVgLiAgVGhpcyBtYWtlcyBzdXJlCi0nZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbycga2VlcHMgdGhlIG5lY2Vzc2FyeSBmaWxlcyB1cC10by1kYXRlLgorJ2dpdCB1cGRhdGUtc2VydmVyLWluZm8nIGtlZXBzIHRoZSBuZWNlc3NhcnkgZmlsZXMgdXAgdG8gZGF0ZS4KIAogMy4gUHVzaCBpbnRvIHRoZSBwdWJsaWMgcmVwb3NpdG9yeSBmcm9tIHlvdXIgcHJpbWFyeQogICAgcmVwb3NpdG9yeS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0Y3JlZGVudGlhbHMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRjcmVkZW50aWFscy50eHQKaW5kZXggZjNhNzVkMS4uZjk3MDE5NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRjcmVkZW50aWFscy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRjcmVkZW50aWFscy50eHQKQEAgLTEwMSwxNiArMTAxLDYgQEAKICQgZ2l0IGNvbmZpZyAtLWdsb2JhbCBjcmVkZW50aWFsLmhlbHBlciBmb28KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotSWYgdGhlcmUgYXJlIG11bHRpcGxlIGluc3RhbmNlcyBvZiB0aGUgYGNyZWRlbnRpYWwuaGVscGVyYCBjb25maWd1cmF0aW9uCi12YXJpYWJsZSwgZWFjaCBoZWxwZXIgd2lsbCBiZSB0cmllZCBpbiB0dXJuLCBhbmQgbWF5IHByb3ZpZGUgYSB1c2VybmFtZSwKLXBhc3N3b3JkLCBvciBub3RoaW5nLiBPbmNlIEdpdCBoYXMgYWNxdWlyZWQgYm90aCBhIHVzZXJuYW1lIGFuZCBhCi1wYXNzd29yZCwgbm8gbW9yZSBoZWxwZXJzIHdpbGwgYmUgdHJpZWQuCi0KLUlmIGBjcmVkZW50aWFsLmhlbHBlcmAgaXMgY29uZmlndXJlZCB0byB0aGUgZW1wdHkgc3RyaW5nLCB0aGlzIHJlc2V0cwotdGhlIGhlbHBlciBsaXN0IHRvIGVtcHR5IChzbyB5b3UgbWF5IG92ZXJyaWRlIGEgaGVscGVyIHNldCBieSBhCi1sb3dlci1wcmlvcml0eSBjb25maWcgZmlsZSBieSBjb25maWd1cmluZyB0aGUgZW1wdHktc3RyaW5nIGhlbHBlciwKLWZvbGxvd2VkIGJ5IHdoYXRldmVyIHNldCBvZiBoZWxwZXJzIHlvdSB3b3VsZCBsaWtlKS4KLQogCiBDUkVERU5USUFMIENPTlRFWFRTCiAtLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xNjIsNiArMTUyLDE2IEBACiAJc2hlbGwgKHNvLCBmb3IgZXhhbXBsZSwgc2V0dGluZyB0aGlzIHRvIGBmb28gLS1vcHRpb249YmFyYCB3aWxsIGV4ZWN1dGUKIAlgZ2l0IGNyZWRlbnRpYWwtZm9vIC0tb3B0aW9uPWJhcmAgdmlhIHRoZSBzaGVsbC4gU2VlIHRoZSBtYW51YWwgb2YKIAlzcGVjaWZpYyBoZWxwZXJzIGZvciBleGFtcGxlcyBvZiB0aGVpciB1c2UuCisrCitJZiB0aGVyZSBhcmUgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIHRoZSBgY3JlZGVudGlhbC5oZWxwZXJgIGNvbmZpZ3VyYXRpb24KK3ZhcmlhYmxlLCBlYWNoIGhlbHBlciB3aWxsIGJlIHRyaWVkIGluIHR1cm4sIGFuZCBtYXkgcHJvdmlkZSBhIHVzZXJuYW1lLAorcGFzc3dvcmQsIG9yIG5vdGhpbmcuIE9uY2UgR2l0IGhhcyBhY3F1aXJlZCBib3RoIGEgdXNlcm5hbWUgYW5kIGEKK3Bhc3N3b3JkLCBubyBtb3JlIGhlbHBlcnMgd2lsbCBiZSB0cmllZC4KKysKK0lmIGBjcmVkZW50aWFsLmhlbHBlcmAgaXMgY29uZmlndXJlZCB0byB0aGUgZW1wdHkgc3RyaW5nLCB0aGlzIHJlc2V0cwordGhlIGhlbHBlciBsaXN0IHRvIGVtcHR5IChzbyB5b3UgbWF5IG92ZXJyaWRlIGEgaGVscGVyIHNldCBieSBhCitsb3dlci1wcmlvcml0eSBjb25maWcgZmlsZSBieSBjb25maWd1cmluZyB0aGUgZW1wdHktc3RyaW5nIGhlbHBlciwKK2ZvbGxvd2VkIGJ5IHdoYXRldmVyIHNldCBvZiBoZWxwZXJzIHlvdSB3b3VsZCBsaWtlKS4KIAogdXNlcm5hbWU6OgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGhvb2tzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0aG9va3MudHh0CmluZGV4IDk1NjVkYzMuLjVkM2Y0NTUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0aG9va3MudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0aG9va3MudHh0CkBAIC0yMiw4ICsyMiwxMCBAQAogbGlua2dpdDpnaXQtY29uZmlnWzFdKS4KIAogQmVmb3JlIEdpdCBpbnZva2VzIGEgaG9vaywgaXQgY2hhbmdlcyBpdHMgd29ya2luZyBkaXJlY3RvcnkgdG8gZWl0aGVyCi10aGUgcm9vdCBvZiB0aGUgd29ya2luZyB0cmVlIGluIGEgbm9uLWJhcmUgcmVwb3NpdG9yeSwgb3IgdG8gdGhlCi0kR0lUX0RJUiBpbiBhIGJhcmUgcmVwb3NpdG9yeS4KKyRHSVRfRElSIGluIGEgYmFyZSByZXBvc2l0b3J5IG9yIHRoZSByb290IG9mIHRoZSB3b3JraW5nIHRyZWUgaW4gYSBub24tYmFyZQorcmVwb3NpdG9yeS4gQW4gZXhjZXB0aW9uIGFyZSBob29rcyB0cmlnZ2VyZWQgZHVyaW5nIGEgcHVzaCAoJ3ByZS1yZWNlaXZlJywKKyd1cGRhdGUnLCAncG9zdC1yZWNlaXZlJywgJ3Bvc3QtdXBkYXRlJywgJ3B1c2gtdG8tY2hlY2tvdXQnKSB3aGljaCBhcmUgYWx3YXlzCitleGVjdXRlZCBpbiAkR0lUX0RJUi4KIAogSG9va3MgY2FuIGdldCB0aGVpciBhcmd1bWVudHMgdmlhIHRoZSBlbnZpcm9ubWVudCwgY29tbWFuZC1saW5lCiBhcmd1bWVudHMsIGFuZCBzdGRpbi4gU2VlIHRoZSBkb2N1bWVudGF0aW9uIGZvciBlYWNoIGhvb2sgYmVsb3cgZm9yCkBAIC0xMTksMTcgKzEyMSwxNiBAQAogbWVhbnMgYSBmYWlsdXJlIG9mIHRoZSBob29rIGFuZCBhYm9ydHMgdGhlIGNvbW1pdC4gIEl0IHNob3VsZCBub3QKIGJlIHVzZWQgYXMgcmVwbGFjZW1lbnQgZm9yIHByZS1jb21taXQgaG9vay4KIAotVGhlIHNhbXBsZSBgcHJlcGFyZS1jb21taXQtbXNnYCBob29rIHRoYXQgY29tZXMgd2l0aCBHaXQgY29tbWVudHMKLW91dCB0aGUgYENvbmZsaWN0czpgIHBhcnQgb2YgYSBtZXJnZSdzIGNvbW1pdCBtZXNzYWdlLgorVGhlIHNhbXBsZSBgcHJlcGFyZS1jb21taXQtbXNnYCBob29rIHRoYXQgY29tZXMgd2l0aCBHaXQgcmVtb3ZlcyB0aGUKK2hlbHAgbWVzc2FnZSBmb3VuZCBpbiB0aGUgY29tbWVudGVkIHBvcnRpb24gb2YgdGhlIGNvbW1pdCB0ZW1wbGF0ZS4KIAogY29tbWl0LW1zZwogfn5+fn5+fn5+fgogCi1UaGlzIGhvb2sgaXMgaW52b2tlZCBieSAnZ2l0IGNvbW1pdCcsIGFuZCBjYW4gYmUgYnlwYXNzZWQKLXdpdGggdGhlIGAtLW5vLXZlcmlmeWAgb3B0aW9uLiAgSXQgdGFrZXMgYSBzaW5nbGUgcGFyYW1ldGVyLCB0aGUKLW5hbWUgb2YgdGhlIGZpbGUgdGhhdCBob2xkcyB0aGUgcHJvcG9zZWQgY29tbWl0IGxvZyBtZXNzYWdlLgotRXhpdGluZyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzIGNhdXNlcyB0aGUgJ2dpdCBjb21taXQnIHRvCi1hYm9ydC4KK1RoaXMgaG9vayBpcyBpbnZva2VkIGJ5ICdnaXQgY29tbWl0JyBhbmQgJ2dpdCBtZXJnZScsIGFuZCBjYW4gYmUKK2J5cGFzc2VkIHdpdGggdGhlIGAtLW5vLXZlcmlmeWAgb3B0aW9uLiAgSXQgdGFrZXMgYSBzaW5nbGUgcGFyYW1ldGVyLAordGhlIG5hbWUgb2YgdGhlIGZpbGUgdGhhdCBob2xkcyB0aGUgcHJvcG9zZWQgY29tbWl0IGxvZyBtZXNzYWdlLgorRXhpdGluZyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzIGNhdXNlcyB0aGUgY29tbWFuZCB0byBhYm9ydC4KIAogVGhlIGhvb2sgaXMgYWxsb3dlZCB0byBlZGl0IHRoZSBtZXNzYWdlIGZpbGUgaW4gcGxhY2UsIGFuZCBjYW4gYmUgdXNlZAogdG8gbm9ybWFsaXplIHRoZSBtZXNzYWdlIGludG8gc29tZSBwcm9qZWN0IHN0YW5kYXJkIGZvcm1hdC4gSXQKQEAgLTI1Niw2ICsyNTcsOSBAQAogdG8gdXNlIHB1c2ggb3B0aW9ucywgYnV0IGRvZXNuJ3QgdHJhbnNtaXQgYW55LCB0aGUgY291bnQgdmFyaWFibGUKIHdpbGwgYmUgc2V0IHRvIHplcm8sIGBHSVRfUFVTSF9PUFRJT05fQ09VTlQ9MGAuCiAKK1NlZSB0aGUgc2VjdGlvbiBvbiAiUXVhcmFudGluZSBFbnZpcm9ubWVudCIgaW4KK2xpbmtnaXQ6Z2l0LXJlY2VpdmUtcGFja1sxXSBmb3Igc29tZSBjYXZlYXRzLgorCiBbW3VwZGF0ZV1dCiB1cGRhdGUKIH5+fn5+fgpAQCAtMzY0LDcgKzM2OCw3IEBACiAKIFdoZW4gZW5hYmxlZCwgdGhlIGRlZmF1bHQgJ3Bvc3QtdXBkYXRlJyBob29rIHJ1bnMKICdnaXQgdXBkYXRlLXNlcnZlci1pbmZvJyB0byBrZWVwIHRoZSBpbmZvcm1hdGlvbiB1c2VkIGJ5IGR1bWIKLXRyYW5zcG9ydHMgKGUuZy4sIEhUVFApIHVwLXRvLWRhdGUuICBJZiB5b3UgYXJlIHB1Ymxpc2hpbmcKK3RyYW5zcG9ydHMgKGUuZy4sIEhUVFApIHVwIHRvIGRhdGUuICBJZiB5b3UgYXJlIHB1Ymxpc2hpbmcKIGEgR2l0IHJlcG9zaXRvcnkgdGhhdCBpcyBhY2Nlc3NpYmxlIHZpYSBIVFRQLCB5b3Ugc2hvdWxkCiBwcm9iYWJseSBlbmFibGUgdGhpcyBob29rLgogCkBAIC00NDIsNiArNDQ2LDE0IEBACiBUaGUgY29tbWl0cyBhcmUgZ3VhcmFudGVlZCB0byBiZSBsaXN0ZWQgaW4gdGhlIG9yZGVyIHRoYXQgdGhleSB3ZXJlCiBwcm9jZXNzZWQgYnkgcmViYXNlLgogCitzZW5kZW1haWwtdmFsaWRhdGUKK35+fn5+fn5+fn5+fn5+fn5+fgorCitUaGlzIGhvb2sgaXMgaW52b2tlZCBieSAnZ2l0IHNlbmQtZW1haWwnLiAgSXQgdGFrZXMgYSBzaW5nbGUgcGFyYW1ldGVyLAordGhlIG5hbWUgb2YgdGhlIGZpbGUgdGhhdCBob2xkcyB0aGUgZS1tYWlsIHRvIGJlIHNlbnQuICBFeGl0aW5nIHdpdGggYQorbm9uLXplcm8gc3RhdHVzIGNhdXNlcyAnZ2l0IHNlbmQtZW1haWwnIHRvIGFib3J0IGJlZm9yZSBzZW5kaW5nIGFueQorZS1tYWlscy4KKwogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRtb2R1bGVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0bW9kdWxlcy50eHQKaW5kZXggOGY3YzUwZi4uZGI1ZDQ3ZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRtb2R1bGVzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdG1vZHVsZXMudHh0CkBAIC02NiwxNyArNjYsMjYgQEAKIAogc3VibW9kdWxlLjxuYW1lPi5pZ25vcmU6OgogCURlZmluZXMgdW5kZXIgd2hhdCBjaXJjdW1zdGFuY2VzICJnaXQgc3RhdHVzIiBhbmQgdGhlIGRpZmYgZmFtaWx5IHNob3cKLQlhIHN1Ym1vZHVsZSBhcyBtb2RpZmllZC4gV2hlbiBzZXQgdG8gImFsbCIsIGl0IHdpbGwgbmV2ZXIgYmUgY29uc2lkZXJlZAotCW1vZGlmaWVkIChidXQgd2lsbCBub25ldGhlbGVzcyBzaG93IHVwIGluIHRoZSBvdXRwdXQgb2Ygc3RhdHVzIGFuZAotCWNvbW1pdCB3aGVuIGl0IGhhcyBiZWVuIHN0YWdlZCksICJkaXJ0eSIgd2lsbCBpZ25vcmUgYWxsIGNoYW5nZXMKLQl0byB0aGUgc3VibW9kdWxlcyB3b3JrIHRyZWUgYW5kCi0JdGFrZXMgb25seSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBIRUFEIG9mIHRoZSBzdWJtb2R1bGUgYW5kIHRoZSBjb21taXQKLQlyZWNvcmRlZCBpbiB0aGUgc3VwZXJwcm9qZWN0IGludG8gYWNjb3VudC4gInVudHJhY2tlZCIgd2lsbCBhZGRpdGlvbmFsbHkKLQlsZXQgc3VibW9kdWxlcyB3aXRoIG1vZGlmaWVkIHRyYWNrZWQgZmlsZXMgaW4gdGhlaXIgd29yayB0cmVlIHNob3cgdXAuCi0JVXNpbmcgIm5vbmUiICh0aGUgZGVmYXVsdCB3aGVuIHRoaXMgb3B0aW9uIGlzIG5vdCBzZXQpIGFsc28gc2hvd3MKLQlzdWJtb2R1bGVzIHRoYXQgaGF2ZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlaXIgd29yayB0cmVlIGFzIGNoYW5nZWQuCi0JSWYgdGhpcyBvcHRpb24gaXMgYWxzbyBwcmVzZW50IGluIHRoZSBzdWJtb2R1bGVzIGVudHJ5IGluIC5naXQvY29uZmlnIG9mCi0JdGhlIHN1cGVycHJvamVjdCwgdGhlIHNldHRpbmcgdGhlcmUgd2lsbCBvdmVycmlkZSB0aGUgb25lIGZvdW5kIGluCisJYSBzdWJtb2R1bGUgYXMgbW9kaWZpZWQuIFRoZSBmb2xsb3dpbmcgdmFsdWVzIGFyZSBzdXBwb3J0ZWQ6CisKKwlhbGw7OyBUaGUgc3VibW9kdWxlIHdpbGwgbmV2ZXIgYmUgY29uc2lkZXJlZCBtb2RpZmllZCAoYnV0IHdpbGwKKwkgICAgbm9uZXRoZWxlc3Mgc2hvdyB1cCBpbiB0aGUgb3V0cHV0IG9mIHN0YXR1cyBhbmQgY29tbWl0IHdoZW4gaXQgaGFzCisJICAgIGJlZW4gc3RhZ2VkKS4KKworCWRpcnR5OzsgQWxsIGNoYW5nZXMgdG8gdGhlIHN1Ym1vZHVsZSdzIHdvcmsgdHJlZSB3aWxsIGJlIGlnbm9yZWQsIG9ubHkKKwkgICAgY29tbWl0dGVkIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIEhFQUQgb2YgdGhlIHN1Ym1vZHVsZSBhbmQgaXRzCisJICAgIHJlY29yZGVkIHN0YXRlIGluIHRoZSBzdXBlcnByb2plY3QgYXJlIHRha2VuIGludG8gYWNjb3VudC4KKworCXVudHJhY2tlZDs7IE9ubHkgdW50cmFja2VkIGZpbGVzIGluIHN1Ym1vZHVsZXMgd2lsbCBiZSBpZ25vcmVkLgorCSAgICBDb21taXR0ZWQgZGlmZmVyZW5jZXMgYW5kIG1vZGlmaWNhdGlvbnMgdG8gdHJhY2tlZCBmaWxlcyB3aWxsIHNob3cKKwkgICAgdXAuCisKKwlub25lOzsgTm8gbW9kaWZpYXRpb25zIHRvIHN1Ym1vZHVsZXMgYXJlIGlnbm9yZWQsIGFsbCBvZiBjb21taXR0ZWQKKwkgICAgZGlmZmVyZW5jZXMsIGFuZCBtb2RpZmljYXRpb25zIHRvIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyBhcmUKKwkgICAgc2hvd24uIFRoaXMgaXMgdGhlIGRlZmF1bHQgb3B0aW9uLgorCisJSWYgdGhpcyBvcHRpb24gaXMgYWxzbyBwcmVzZW50IGluIHRoZSBzdWJtb2R1bGVzIGVudHJ5IGluIC5naXQvY29uZmlnCisJb2YgdGhlIHN1cGVycHJvamVjdCwgdGhlIHNldHRpbmcgdGhlcmUgd2lsbCBvdmVycmlkZSB0aGUgb25lIGZvdW5kIGluCiAJLmdpdG1vZHVsZXMuCiAJQm90aCBzZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBvbiB0aGUgY29tbWFuZCBsaW5lIGJ5IHVzaW5nIHRoZQogCSItLWlnbm9yZS1zdWJtb2R1bGUiIG9wdGlvbi4gVGhlICdnaXQgc3VibW9kdWxlJyBjb21tYW5kcyBhcmUgbm90CkBAIC04NCw4ICs5Myw4IEBACiAKIHN1Ym1vZHVsZS48bmFtZT4uc2hhbGxvdzo6CiAJV2hlbiBzZXQgdG8gdHJ1ZSwgYSBjbG9uZSBvZiB0aGlzIHN1Ym1vZHVsZSB3aWxsIGJlIHBlcmZvcm1lZCBhcyBhCi0Jc2hhbGxvdyBjbG9uZSB1bmxlc3MgdGhlIHVzZXIgZXhwbGljaXRseSBhc2tzIGZvciBhIG5vbi1zaGFsbG93Ci0JY2xvbmUuCisJc2hhbGxvdyBjbG9uZSAod2l0aCBhIGhpc3RvcnkgZGVwdGggb2YgMSkgdW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkKKwlhc2tzIGZvciBhIG5vbi1zaGFsbG93IGNsb25lLgogCiAKIEVYQU1QTEVTCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHJlbW90ZS1oZWxwZXJzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0cmVtb3RlLWhlbHBlcnMudHh0CmluZGV4IGU0Yjc4NWUuLjRhNTg0ZjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0cmVtb3RlLWhlbHBlcnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0cmVtb3RlLWhlbHBlcnMudHh0CkBAIC00NjMsNyArNDYzLDcgQEAKIAlHUEcgc2lnbiBwdXNoZXMuCiAKICdvcHRpb24gcHVzaC1vcHRpb24gPHN0cmluZz46OgotCVRyYW5zbWl0IDxzdHJpbmc+IGFzIGEgcHVzaCBvcHRpb24uIEFzIHRoZSBhIHB1c2ggb3B0aW9uCisJVHJhbnNtaXQgPHN0cmluZz4gYXMgYSBwdXNoIG9wdGlvbi4gQXMgdGhlIHB1c2ggb3B0aW9uCiAJbXVzdCBub3QgY29udGFpbiBMRiBvciBOVUwgY2hhcmFjdGVycywgdGhlIHN0cmluZyBpcyBub3QgZW5jb2RlZC4KIAogU0VFIEFMU08KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0cmVwb3NpdG9yeS1sYXlvdXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRyZXBvc2l0b3J5LWxheW91dC50eHQKaW5kZXggZjUxZWQ0ZS4uYWRmOTU1NCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRyZXBvc2l0b3J5LWxheW91dC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRyZXBvc2l0b3J5LWxheW91dC50eHQKQEAgLTcxLDcgKzcxLDcgQEAKIAlUaGlzIGZpbGUgaXMgdG8gaGVscCBkdW1iIHRyYW5zcG9ydHMgZGlzY292ZXIgd2hhdCBwYWNrcwogCWFyZSBhdmFpbGFibGUgaW4gdGhpcyBvYmplY3Qgc3RvcmUuICBXaGVuZXZlciBhIHBhY2sgaXMKIAlhZGRlZCBvciByZW1vdmVkLCBgZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mb2Agc2hvdWxkIGJlIHJ1bgotCXRvIGtlZXAgdGhpcyBmaWxlIHVwLXRvLWRhdGUgaWYgdGhlIHJlcG9zaXRvcnkgaXMKKwl0byBrZWVwIHRoaXMgZmlsZSB1cCB0byBkYXRlIGlmIHRoZSByZXBvc2l0b3J5IGlzCiAJcHVibGlzaGVkIGZvciBkdW1iIHRyYW5zcG9ydHMuICAnZ2l0IHJlcGFjaycgZG9lcyB0aGlzCiAJYnkgZGVmYXVsdC4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRzdWJtb2R1bGVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0c3VibW9kdWxlcy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZjZjEyMAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZ2l0c3VibW9kdWxlcy50eHQKQEAgLTAsMCArMSwyMjEgQEAKK2dpdHN1Ym1vZHVsZXMoNykKKz09PT09PT09PT09PT09PT0KKworTkFNRQorLS0tLQorZ2l0c3VibW9kdWxlcyAtIG1vdW50aW5nIG9uZSByZXBvc2l0b3J5IGluc2lkZSBhbm90aGVyCisKK1NZTk9QU0lTCistLS0tLS0tLQorIC5naXRtb2R1bGVzLCAkR0lUX0RJUi9jb25maWcKKy0tLS0tLS0tLS0tLS0tLS0tLQorZ2l0IHN1Ym1vZHVsZQorZ2l0IDxjb21tYW5kPiAtLXJlY3Vyc2Utc3VibW9kdWxlcworLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RFU0NSSVBUSU9OCistLS0tLS0tLS0tLQorCitBIHN1Ym1vZHVsZSBpcyBhIHJlcG9zaXRvcnkgZW1iZWRkZWQgaW5zaWRlIGFub3RoZXIgcmVwb3NpdG9yeS4KK1RoZSBzdWJtb2R1bGUgaGFzIGl0cyBvd24gaGlzdG9yeTsgdGhlIHJlcG9zaXRvcnkgaXQgaXMgZW1iZWRkZWQKK2luIGlzIGNhbGxlZCBhIHN1cGVycHJvamVjdC4KKworT24gdGhlIGZpbGVzeXN0ZW0sIGEgc3VibW9kdWxlIHVzdWFsbHkgKGJ1dCBub3QgYWx3YXlzIC0gc2VlIEZPUk1TIGJlbG93KQorY29uc2lzdHMgb2YgKGkpIGEgR2l0IGRpcmVjdG9yeSBsb2NhdGVkIHVuZGVyIHRoZSBgJEdJVF9ESVIvbW9kdWxlcy9gCitkaXJlY3Rvcnkgb2YgaXRzIHN1cGVycHJvamVjdCwgKGlpKSBhIHdvcmtpbmcgZGlyZWN0b3J5IGluc2lkZSB0aGUKK3N1cGVycHJvamVjdCdzIHdvcmtpbmcgZGlyZWN0b3J5LCBhbmQgYSBgLmdpdGAgZmlsZSBhdCB0aGUgcm9vdCBvZgordGhlIHN1Ym1vZHVsZeKAmXMgd29ya2luZyBkaXJlY3RvcnkgcG9pbnRpbmcgdG8gKGkpLgorCitBc3N1bWluZyB0aGUgc3VibW9kdWxlIGhhcyBhIEdpdCBkaXJlY3RvcnkgYXQgYCRHSVRfRElSL21vZHVsZXMvZm9vL2AKK2FuZCBhIHdvcmtpbmcgZGlyZWN0b3J5IGF0IGBwYXRoL3RvL2Jhci9gLCB0aGUgc3VwZXJwcm9qZWN0IHRyYWNrcyB0aGUKK3N1Ym1vZHVsZSB2aWEgYSBgZ2l0bGlua2AgZW50cnkgaW4gdGhlIHRyZWUgYXQgYHBhdGgvdG8vYmFyYCBhbmQgYW4gZW50cnkKK2luIGl0cyBgLmdpdG1vZHVsZXNgIGZpbGUgKHNlZSBsaW5rZ2l0OmdpdG1vZHVsZXNbNV0pIG9mIHRoZSBmb3JtCitgc3VibW9kdWxlLmZvby5wYXRoID0gcGF0aC90by9iYXJgLgorCitUaGUgYGdpdGxpbmtgIGVudHJ5IGNvbnRhaW5zIHRoZSBvYmplY3QgbmFtZSBvZiB0aGUgY29tbWl0IHRoYXQgdGhlCitzdXBlcnByb2plY3QgZXhwZWN0cyB0aGUgc3VibW9kdWxl4oCZcyB3b3JraW5nIGRpcmVjdG9yeSB0byBiZSBhdC4KKworVGhlIHNlY3Rpb24gYHN1Ym1vZHVsZS5mb28uKmAgaW4gdGhlIGAuZ2l0bW9kdWxlc2AgZmlsZSBnaXZlcyBhZGRpdGlvbmFsCitoaW50cyB0byBHaXRzIHBvcmNlbGFpbiBsYXllciBzdWNoIGFzIHdoZXJlIHRvIG9idGFpbiB0aGUgc3VibW9kdWxlIHZpYQordGhlIGBzdWJtb2R1bGUuZm9vLnVybGAgc2V0dGluZy4KKworU3VibW9kdWxlcyBjYW4gYmUgdXNlZCBmb3IgYXQgbGVhc3QgdHdvIGRpZmZlcmVudCB1c2UgY2FzZXM6CisKKzEuIFVzaW5nIGFub3RoZXIgcHJvamVjdCB3aGlsZSBtYWludGFpbmluZyBpbmRlcGVuZGVudCBoaXN0b3J5LgorICBTdWJtb2R1bGVzIGFsbG93IHlvdSB0byBjb250YWluIHRoZSB3b3JraW5nIHRyZWUgb2YgYW5vdGhlciBwcm9qZWN0CisgIHdpdGhpbiB5b3VyIG93biB3b3JraW5nIHRyZWUgd2hpbGUga2VlcGluZyB0aGUgaGlzdG9yeSBvZiBib3RoCisgIHByb2plY3RzIHNlcGFyYXRlLiBBbHNvLCBzaW5jZSBzdWJtb2R1bGVzIGFyZSBmaXhlZCB0byBhbiBhcmJpdHJhcnkKKyAgdmVyc2lvbiwgdGhlIG90aGVyIHByb2plY3QgY2FuIGJlIGluZGVwZW5kZW50bHkgZGV2ZWxvcGVkIHdpdGhvdXQKKyAgYWZmZWN0aW5nIHRoZSBzdXBlcnByb2plY3QsIGFsbG93aW5nIHRoZSBzdXBlcnByb2plY3QgcHJvamVjdCB0bworICBmaXggaXRzZWxmIHRvIG5ldyB2ZXJzaW9ucyBvbmx5IHdoZW4gZGVzaXJlZC4KKworMi4gU3BsaXR0aW5nIGEgKGxvZ2ljYWxseSBzaW5nbGUpIHByb2plY3QgaW50byBtdWx0aXBsZQorICAgcmVwb3NpdG9yaWVzIGFuZCB0eWluZyB0aGVtIGJhY2sgdG9nZXRoZXIuIFRoaXMgY2FuIGJlIHVzZWQgdG8KKyAgIG92ZXJjb21lIGN1cnJlbnQgbGltaXRhdGlvbnMgb2YgR2l0cyBpbXBsZW1lbnRhdGlvbiB0byBoYXZlCisgICBmaW5lciBncmFpbmVkIGFjY2VzczoKKworICAgICogU2l6ZSBvZiB0aGUgZ2l0IHJlcG9zaXRvcnk6CisgICAgICBJbiBpdHMgY3VycmVudCBmb3JtIEdpdCBzY2FsZXMgdXAgcG9vcmx5IGZvciBsYXJnZSByZXBvc2l0b3JpZXMgY29udGFpbmluZworICAgICAgY29udGVudCB0aGF0IGlzIG5vdCBjb21wcmVzc2VkIGJ5IGRlbHRhIGNvbXB1dGF0aW9uIGJldHdlZW4gdHJlZXMuCisgICAgICBIb3dldmVyIHlvdSBjYW4gYWxzbyB1c2Ugc3VibW9kdWxlcyB0byBlLmcuIGhvbGQgbGFyZ2UgYmluYXJ5IGFzc2V0cworICAgICAgYW5kIHRoZXNlIHJlcG9zaXRvcmllcyBhcmUgdGhlbiBzaGFsbG93bHkgY2xvbmVkIHN1Y2ggdGhhdCB5b3UgZG8gbm90CisgICAgICBoYXZlIGEgbGFyZ2UgaGlzdG9yeSBsb2NhbGx5LgorICAgICogVHJhbnNmZXIgc2l6ZToKKyAgICAgIEluIGl0cyBjdXJyZW50IGZvcm0gR2l0IHJlcXVpcmVzIHRoZSB3aG9sZSB3b3JraW5nIHRyZWUgcHJlc2VudC4gSXQKKyAgICAgIGRvZXMgbm90IGFsbG93IHBhcnRpYWwgdHJlZXMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gZmV0Y2ggb3IgY2xvbmUuCisgICAgKiBBY2Nlc3MgY29udHJvbDoKKyAgICAgIEJ5IHJlc3RyaWN0aW5nIHVzZXIgYWNjZXNzIHRvIHN1Ym1vZHVsZXMsIHRoaXMgY2FuIGJlIHVzZWQgdG8gaW1wbGVtZW50CisgICAgICByZWFkL3dyaXRlIHBvbGljaWVzIGZvciBkaWZmZXJlbnQgdXNlcnMuCisKK1RoZSBjb25maWd1cmF0aW9uIG9mIHN1Ym1vZHVsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworU3VibW9kdWxlIG9wZXJhdGlvbnMgY2FuIGJlIGNvbmZpZ3VyZWQgdXNpbmcgdGhlIGZvbGxvd2luZyBtZWNoYW5pc21zCisoZnJvbSBoaWdoZXN0IHRvIGxvd2VzdCBwcmVjZWRlbmNlKToKKworICogVGhlIGNvbW1hbmQgbGluZSBmb3IgdGhvc2UgY29tbWFuZHMgdGhhdCBzdXBwb3J0IHRha2luZyBzdWJtb2R1bGUgc3BlY3MuCisgICBNb3N0IGNvbW1hbmRzIGhhdmUgYSBib29sZWFuIGZsYWcgJy0tcmVjdXJzZS1zdWJtb2R1bGVzJyB3aGV0aGVyIHRvCisgICByZWN1cnNlIGludG8gc3VibW9kdWxlcy4gRXhhbXBsZXMgYXJlIGBscy1maWxlc2Agb3IgYGNoZWNrb3V0YC4KKyAgIFNvbWUgY29tbWFuZHMgdGFrZSBlbnVtcywgc3VjaCBhcyBgZmV0Y2hgIGFuZCBgcHVzaGAsIHdoZXJlIHlvdSBjYW4KKyAgIHNwZWNpZnkgaG93IHN1Ym1vZHVsZXMgYXJlIGFmZmVjdGVkLgorCisgKiBUaGUgY29uZmlndXJhdGlvbiBpbnNpZGUgdGhlIHN1Ym1vZHVsZS4gVGhpcyBpbmNsdWRlcyBgJEdJVF9ESVIvY29uZmlnYAorICAgaW4gdGhlIHN1Ym1vZHVsZSwgYnV0IGFsc28gc2V0dGluZ3MgaW4gdGhlIHRyZWUgc3VjaCBhcyBhIGAuZ2l0YXR0cmlidXRlc2AKKyAgIG9yIGAuZ2l0aWdub3JlYCBmaWxlcyB0aGF0IHNwZWNpZnkgYmVoYXZpb3Igb2YgY29tbWFuZHMgaW5zaWRlIHRoZQorICAgc3VibW9kdWxlLgorKworRm9yIGV4YW1wbGUgYW4gZWZmZWN0IGZyb20gdGhlIHN1Ym1vZHVsZSdzIGAuZ2l0aWdub3JlYCBmaWxlCit3b3VsZCBiZSBvYnNlcnZlZCB3aGVuIHlvdSBydW4gYGdpdCBzdGF0dXMgLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lYCBpbgordGhlIHN1cGVycHJvamVjdC4gVGhpcyBjb2xsZWN0cyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBzdWJtb2R1bGUncyB3b3JraW5nCitkaXJlY3RvcnkgYnkgcnVubmluZyBgc3RhdHVzYCBpbiB0aGUgc3VibW9kdWxlLCB3aGljaCBkb2VzIHBheSBhdHRlbnRpb24KK3RvIGl0cyBgLmdpdGlnbm9yZWAgZmlsZS4KKysKK1RoZSBzdWJtb2R1bGUncyBgJEdJVF9ESVIvY29uZmlnYCBmaWxlIHdvdWxkIGNvbWUgaW50byBwbGF5IHdoZW4gcnVubmluZworYGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPWNoZWNrYCBpbiB0aGUgc3VwZXJwcm9qZWN0LCBhcyB0aGlzIHdvdWxkCitjaGVjayBpZiB0aGUgc3VibW9kdWxlIGhhcyBhbnkgY2hhbmdlcyBub3QgcHVibGlzaGVkIHRvIGFueSByZW1vdGUuIFRoZQorcmVtb3RlcyBhcmUgY29uZmlndXJlZCBpbiB0aGUgc3VibW9kdWxlIGFzIHVzdWFsIGluIHRoZSBgJEdJVF9ESVIvY29uZmlnYAorZmlsZS4KKworICogVGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBgJEdJVF9ESVIvY29uZmlnYCBpbiB0aGUgc3VwZXJwcm9qZWN0LgorICAgVHlwaWNhbCBjb25maWd1cmF0aW9uIGF0IHRoaXMgcGxhY2UgaXMgY29udHJvbGxpbmcgaWYgYSBzdWJtb2R1bGUKKyAgIGlzIHJlY3Vyc2VkIGludG8gYXQgYWxsIHZpYSB0aGUgYGFjdGl2ZWAgZmxhZyBmb3IgZXhhbXBsZS4KKysKK0lmIHRoZSBzdWJtb2R1bGUgaXMgbm90IHlldCBpbml0aWFsaXplZCwgdGhlbiB0aGUgY29uZmlndXJhdGlvbgoraW5zaWRlIHRoZSBzdWJtb2R1bGUgZG9lcyBub3QgZXhpc3QgeWV0LCBzbyBjb25maWd1cmF0aW9uIHdoZXJlIHRvCitvYnRhaW4gdGhlIHN1Ym1vZHVsZSBmcm9tIGlzIGNvbmZpZ3VyZWQgaGVyZSBmb3IgZXhhbXBsZS4KKworICogdGhlIGAuZ2l0bW9kdWxlc2AgZmlsZSBpbnNpZGUgdGhlIHN1cGVycHJvamVjdC4gQWRkaXRpb25hbGx5IHRvIHRoZQorICAgcmVxdWlyZWQgbWFwcGluZyBiZXR3ZWVuIHN1Ym1vZHVsZSdzIG5hbWUgYW5kIHBhdGgsIGEgcHJvamVjdCB1c3VhbGx5CisgICB1c2VzIHRoaXMgZmlsZSB0byBzdWdnZXN0IGRlZmF1bHRzIGZvciB0aGUgdXBzdHJlYW0gY29sbGVjdGlvbgorICAgb2YgcmVwb3NpdG9yaWVzLgorKworVGhpcyBmaWxlIG1haW5seSBzZXJ2ZXMgYXMgdGhlIG1hcHBpbmcgYmV0d2VlbiBuYW1lIGFuZCBwYXRoIGluCit0aGUgc3VwZXJwcm9qZWN0LCBzdWNoIHRoYXQgdGhlIHN1Ym1vZHVsZSdzIGdpdCBkaXJlY3RvcnkgY2FuIGJlCitsb2NhdGVkLgorKworSWYgdGhlIHN1Ym1vZHVsZSBoYXMgbmV2ZXIgYmVlbiBpbml0aWFsaXplZCwgdGhpcyBpcyB0aGUgb25seSBwbGFjZQord2hlcmUgc3VibW9kdWxlIGNvbmZpZ3VyYXRpb24gaXMgZm91bmQuIEl0IHNlcnZlcyBhcyB0aGUgbGFzdCBmYWxsYmFjawordG8gc3BlY2lmeSB3aGVyZSB0byBvYnRhaW4gdGhlIHN1Ym1vZHVsZSBmcm9tLgorCitGT1JNUworLS0tLS0KKworU3VibW9kdWxlcyBjYW4gdGFrZSB0aGUgZm9sbG93aW5nIGZvcm1zOgorCisgKiBUaGUgYmFzaWMgZm9ybSBkZXNjcmliZWQgaW4gREVTQ1JJUFRJT04gd2l0aCBhIEdpdCBkaXJlY3RvcnksCithIHdvcmtpbmcgZGlyZWN0b3J5LCBhIGBnaXRsaW5rYCwgYW5kIGEgYC5naXRtb2R1bGVzYCBlbnRyeS4KKworICogIk9sZC1mb3JtIiBzdWJtb2R1bGU6IEEgd29ya2luZyBkaXJlY3Rvcnkgd2l0aCBhbiBlbWJlZGRlZAorYC5naXRgIGRpcmVjdG9yeSwgYW5kIHRoZSB0cmFja2luZyBgZ2l0bGlua2AgYW5kIGAuZ2l0bW9kdWxlc2AgZW50cnkgaW4KK3RoZSBzdXBlcnByb2plY3QuIFRoaXMgaXMgdHlwaWNhbGx5IGZvdW5kIGluIHJlcG9zaXRvcmllcyBnZW5lcmF0ZWQKK3VzaW5nIG9sZGVyIHZlcnNpb25zIG9mIEdpdC4KKysKK0l0IGlzIHBvc3NpYmxlIHRvIGNvbnN0cnVjdCB0aGVzZSBvbGQgZm9ybSByZXBvc2l0b3JpZXMgbWFudWFsbHkuCisrCitXaGVuIGRlaW5pdGlhbGl6ZWQgb3IgZGVsZXRlZCAoc2VlIGJlbG93KSwgdGhlIHN1Ym1vZHVsZeKAmXMgR2l0CitkaXJlY3RvcnkgaXMgYXV0b21hdGljYWxseSBtb3ZlZCB0byBgJEdJVF9ESVIvbW9kdWxlcy88bmFtZT4vYAorb2YgdGhlIHN1cGVycHJvamVjdC4KKworICogRGVpbml0aWFsaXplZCBzdWJtb2R1bGU6IEEgYGdpdGxpbmtgLCBhbmQgYSBgLmdpdG1vZHVsZXNgIGVudHJ5LAorYnV0IG5vIHN1Ym1vZHVsZSB3b3JraW5nIGRpcmVjdG9yeS4gVGhlIHN1Ym1vZHVsZeKAmXMgZ2l0IGRpcmVjdG9yeQorbWF5IGJlIHRoZXJlIGFzIGFmdGVyIGRlaW5pdGlhbGl6aW5nIHRoZSBnaXQgZGlyZWN0b3J5IGlzIGtlcHQgYXJvdW5kLgorVGhlIGRpcmVjdG9yeSB3aGljaCBpcyBzdXBwb3NlZCB0byBiZSB0aGUgd29ya2luZyBkaXJlY3RvcnkgaXMgZW1wdHkgaW5zdGVhZC4KKysKK0Egc3VibW9kdWxlIGNhbiBiZSBkZWluaXRpYWxpemVkIGJ5IHJ1bm5pbmcgYGdpdCBzdWJtb2R1bGUgZGVpbml0YC4KK0Jlc2lkZXMgZW1wdHlpbmcgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCB0aGlzIGNvbW1hbmQgb25seSBtb2RpZmllcwordGhlIHN1cGVycHJvamVjdOKAmXMgYCRHSVRfRElSL2NvbmZpZ2AgZmlsZSwgc28gdGhlIHN1cGVycHJvamVjdOKAmXMgaGlzdG9yeQoraXMgbm90IGFmZmVjdGVkLiBUaGlzIGNhbiBiZSB1bmRvbmUgdXNpbmcgYGdpdCBzdWJtb2R1bGUgaW5pdGAuCisKKyAqIERlbGV0ZWQgc3VibW9kdWxlOiBBIHN1Ym1vZHVsZSBjYW4gYmUgZGVsZXRlZCBieSBydW5uaW5nCitgZ2l0IHJtIDxzdWJtb2R1bGUgcGF0aD4gJiYgZ2l0IGNvbW1pdGAuIFRoaXMgY2FuIGJlIHVuZG9uZQordXNpbmcgYGdpdCByZXZlcnRgLgorKworVGhlIGRlbGV0aW9uIHJlbW92ZXMgdGhlIHN1cGVycHJvamVjdOKAmXMgdHJhY2tpbmcgZGF0YSwgd2hpY2ggYXJlCitib3RoIHRoZSBgZ2l0bGlua2AgZW50cnkgYW5kIHRoZSBzZWN0aW9uIGluIHRoZSBgLmdpdG1vZHVsZXNgIGZpbGUuCitUaGUgc3VibW9kdWxl4oCZcyB3b3JraW5nIGRpcmVjdG9yeSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbGUKK3N5c3RlbSwgYnV0IHRoZSBHaXQgZGlyZWN0b3J5IGlzIGtlcHQgYXJvdW5kIGFzIGl0IHRvIG1ha2UgaXQKK3Bvc3NpYmxlIHRvIGNoZWNrb3V0IHBhc3QgY29tbWl0cyB3aXRob3V0IHJlcXVpcmluZyBmZXRjaGluZworZnJvbSBhbm90aGVyIHJlcG9zaXRvcnkuCisrCitUbyBjb21wbGV0ZWx5IHJlbW92ZSBhIHN1Ym1vZHVsZSwgbWFudWFsbHkgZGVsZXRlCitgJEdJVF9ESVIvbW9kdWxlcy88bmFtZT4vYC4KKworV29ya2Zsb3cgZm9yIGEgdGhpcmQgcGFydHkgbGlicmFyeQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICMgYWRkIGEgc3VibW9kdWxlCisgIGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+IDxwYXRoPgorCisgICMgb2NjYXNpb25hbGx5IHVwZGF0ZSB0aGUgc3VibW9kdWxlIHRvIGEgbmV3IHZlcnNpb246CisgIGdpdCAtQyA8cGF0aD4gY2hlY2tvdXQgPG5ldyB2ZXJzaW9uPgorICBnaXQgYWRkIDxwYXRoPgorICBnaXQgY29tbWl0IC1tICJ1cGRhdGUgc3VibW9kdWxlIHRvIG5ldyB2ZXJzaW9uIgorCisgICMgU2VlIHRoZSBsaXN0IG9mIHN1Ym1vZHVsZXMgaW4gYSBzdXBlcnByb2plY3QKKyAgZ2l0IHN1Ym1vZHVsZSBzdGF0dXMKKworICAjIFNlZSBGT1JNUyBvbiByZW1vdmluZyBzdWJtb2R1bGVzCisKKworV29ya2Zsb3cgZm9yIGFuIGFydGlmaWNpYWxseSBzcGxpdCByZXBvCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICMgRW5hYmxlIHJlY3Vyc2lvbiBmb3IgcmVsZXZhbnQgY29tbWFuZHMsIHN1Y2ggdGhhdAorICAjIHJlZ3VsYXIgY29tbWFuZHMgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMgYnkgZGVmYXVsdAorICBnaXQgY29uZmlnIC0tZ2xvYmFsIHN1Ym1vZHVsZS5yZWN1cnNlIHRydWUKKworICAjIFVubGlrZSB0aGUgb3RoZXIgY29tbWFuZHMgYmVsb3cgY2xvbmUgc3RpbGwgbmVlZHMKKyAgIyBpdHMgb3duIHJlY3Vyc2UgZmxhZzoKKyAgZ2l0IGNsb25lIC0tcmVjdXJzZSA8VVJMPiA8ZGlyZWN0b3J5PgorICBjZCA8ZGlyZWN0b3J5PgorCisgICMgR2V0IHRvIGtub3cgdGhlIGNvZGU6CisgIGdpdCBncmVwIGZvbworICBnaXQgbHMtZmlsZXMKKworICAjIEdldCBuZXcgY29kZQorICBnaXQgZmV0Y2gKKyAgZ2l0IHB1bGwgLS1yZWJhc2UKKworICAjIGNoYW5nZSB3b3JrdHJlZQorICBnaXQgY2hlY2tvdXQKKyAgZ2l0IHJlc2V0CisKK0ltcGxlbWVudGF0aW9uIGRldGFpbHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hlbiBjbG9uaW5nIG9yIHB1bGxpbmcgYSByZXBvc2l0b3J5IGNvbnRhaW5pbmcgc3VibW9kdWxlcyB0aGUgc3VibW9kdWxlcword2lsbCBub3QgYmUgY2hlY2tlZCBvdXQgYnkgZGVmYXVsdDsgWW91IGNhbiBpbnN0cnVjdCAnY2xvbmUnIHRvIHJlY3Vyc2UKK2ludG8gc3VibW9kdWxlcy4gVGhlICdpbml0JyBhbmQgJ3VwZGF0ZScgc3ViY29tbWFuZHMgb2YgJ2dpdCBzdWJtb2R1bGUnCit3aWxsIG1haW50YWluIHN1Ym1vZHVsZXMgY2hlY2tlZCBvdXQgYW5kIGF0IGFuIGFwcHJvcHJpYXRlIHJldmlzaW9uIGluCit5b3VyIHdvcmtpbmcgdHJlZS4gQWx0ZXJuYXRpdmVseSB5b3UgY2FuIHNldCAnc3VibW9kdWxlLnJlY3Vyc2UnIHRvIGhhdmUKKydjaGVja291dCcgcmVjdXJzaW5nIGludG8gc3VibW9kdWxlcy4KKworCitTRUUgQUxTTworLS0tLS0tLS0KK2xpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSwgbGlua2dpdDpnaXRtb2R1bGVzWzVdLgorCitHSVQKKy0tLQorUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0dHV0b3JpYWwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXR0dXRvcmlhbC50eHQKaW5kZXggNzk0YjgzMy4uMjQyZGUzMSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXR0dXRvcmlhbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXR0dXRvcmlhbC50eHQKQEAgLTEwOSw3ICsxMDksNyBAQAogJCBnaXQgc3RhdHVzCiBPbiBicmFuY2ggbWFzdGVyCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLVlvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnb3JpZ2luL21hc3RlcicuCitZb3VyIGJyYW5jaCBpcyB1cCB0byBkYXRlIHdpdGggJ29yaWdpbi9tYXN0ZXInLgogICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAKIAltb2RpZmllZDogICBmaWxlMQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXR3ZWIuY29uZi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dAppbmRleCBlNjMyMDg5Li45Yzg5ODJlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dApAQCAtMzY4LDggKzM2OCw4IEBACiAkbG9nb19sYWJlbDo6CiAJVVJJIGFuZCBsYWJlbCAodGl0bGUpIGZvciB0aGUgR2l0IGxvZ28gbGluayAob3IgeW91ciBzaXRlIGxvZ28sCiAJaWYgeW91IGNob3NlIHRvIHVzZSBkaWZmZXJlbnQgbG9nbyBpbWFnZSkuIEJ5IGRlZmF1bHQsIHRoZXNlIGJvdGgKLQlyZWZlciB0byBHaXQgaG9tZXBhZ2UsIGh0dHA6Ly9naXQtc2NtLmNvbVtdOyBpbiB0aGUgcGFzdCwgdGhleSBwb2ludGVkCi0JdG8gR2l0IGRvY3VtZW50YXRpb24gYXQgaHR0cDovL3d3dy5rZXJuZWwub3JnW10uCisJcmVmZXIgdG8gR2l0IGhvbWVwYWdlLCBodHRwczovL2dpdC1zY20uY29tW107IGluIHRoZSBwYXN0LCB0aGV5IHBvaW50ZWQKKwl0byBHaXQgZG9jdW1lbnRhdGlvbiBhdCBodHRwczovL3d3dy5rZXJuZWwub3JnW10uCiAKIAogQ2hhbmdpbmcgZ2l0d2ViJ3MgbG9vawpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXR3ZWIudHh0IGIvRG9jdW1lbnRhdGlvbi9naXR3ZWIudHh0CmluZGV4IDk2MTU2ZTUuLjg4NDUwNTggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0d2ViLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdHdlYi50eHQKQEAgLTg0LDcgKzg0LDcgQEAKIAogKiBGaWVsZHMgdXNlIG1vZGlmaWVkIFVSSSBlbmNvZGluZywgZGVmaW5lZCBpbiBSRkMgMzk4Niwgc2VjdGlvbiAyLjEKIChQZXJjZW50LUVuY29kaW5nKSwgb3IgcmF0aGVyICJRdWVyeSBzdHJpbmcgZW5jb2RpbmciIChzZWUKLWh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUXVlcnlfc3RyaW5nI1VSTF9lbmNvZGluZ1tdKSwgdGhlIGRpZmZlcmVuY2UKK2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1F1ZXJ5X3N0cmluZyNVUkxfZW5jb2RpbmdbXSksIHRoZSBkaWZmZXJlbmNlCiBiZWluZyB0aGF0IFNQICgiICIpIGNhbiBiZSBlbmNvZGVkIGFzICJ7cGx1c30iIChhbmQgdGhlcmVmb3JlICJ7cGx1c30iIGhhcyB0byBiZQogYWxzbyBwZXJjZW50LWVuY29kZWQpLgogKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9nbG9zc2FyeS1jb250ZW50LnR4dCBiL0RvY3VtZW50YXRpb24vZ2xvc3NhcnktY29udGVudC50eHQKaW5kZXggOGFkMjllNi4uNmI4ODg4ZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9nbG9zc2FyeS1jb250ZW50LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dsb3NzYXJ5LWNvbnRlbnQudHh0CkBAIC0zODQsMTAgKzM4NCwzMyBAQAogKwogR2xvYiBtYWdpYyBpcyBpbmNvbXBhdGlibGUgd2l0aCBsaXRlcmFsIG1hZ2ljLgogCithdHRyOzsKK0FmdGVyIGBhdHRyOmAgY29tZXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiAiYXR0cmlidXRlCityZXF1aXJlbWVudHMiLCBhbGwgb2Ygd2hpY2ggbXVzdCBiZSBtZXQgaW4gb3JkZXIgZm9yIHRoZQorcGF0aCB0byBiZSBjb25zaWRlcmVkIGEgbWF0Y2g7IHRoaXMgaXMgaW4gYWRkaXRpb24gdG8gdGhlCit1c3VhbCBub24tbWFnaWMgcGF0aHNwZWMgcGF0dGVybiBtYXRjaGluZy4KK1NlZSBsaW5rZ2l0OmdpdGF0dHJpYnV0ZXNbNV0uCisrCitFYWNoIG9mIHRoZSBhdHRyaWJ1dGUgcmVxdWlyZW1lbnRzIGZvciB0aGUgcGF0aCB0YWtlcyBvbmUgb2YKK3RoZXNlIGZvcm1zOgorCistICJgQVRUUmAiIHJlcXVpcmVzIHRoYXQgdGhlIGF0dHJpYnV0ZSBgQVRUUmAgYmUgc2V0LgorCistICJgLUFUVFJgIiByZXF1aXJlcyB0aGF0IHRoZSBhdHRyaWJ1dGUgYEFUVFJgIGJlIHVuc2V0LgorCistICJgQVRUUj1WQUxVRWAiIHJlcXVpcmVzIHRoYXQgdGhlIGF0dHJpYnV0ZSBgQVRUUmAgYmUKKyAgc2V0IHRvIHRoZSBzdHJpbmcgYFZBTFVFYC4KKworLSAiYCFBVFRSYCIgcmVxdWlyZXMgdGhhdCB0aGUgYXR0cmlidXRlIGBBVFRSYCBiZQorICB1bnNwZWNpZmllZC4KKysKKwogZXhjbHVkZTs7CiAJQWZ0ZXIgYSBwYXRoIG1hdGNoZXMgYW55IG5vbi1leGNsdWRlIHBhdGhzcGVjLCBpdCB3aWxsIGJlIHJ1bgotCXRocm91Z2ggYWxsIGV4Y2x1ZGUgcGF0aHNwZWMgKG1hZ2ljIHNpZ25hdHVyZTogYCFgKS4gSWYgaXQKLQltYXRjaGVzLCB0aGUgcGF0aCBpcyBpZ25vcmVkLgorCXRocm91Z2ggYWxsIGV4Y2x1ZGUgcGF0aHNwZWNzIChtYWdpYyBzaWduYXR1cmU6IGAhYCBvciBpdHMKKwlzeW5vbnltIGBeYCkuIElmIGl0IG1hdGNoZXMsIHRoZSBwYXRoIGlzIGlnbm9yZWQuICBXaGVuIHRoZXJlCisJaXMgbm8gbm9uLWV4Y2x1ZGUgcGF0aHNwZWMsIHRoZSBleGNsdXNpb24gaXMgYXBwbGllZCB0byB0aGUKKwlyZXN1bHQgc2V0IGFzIGlmIGludm9rZWQgd2l0aG91dCBhbnkgcGF0aHNwZWMuCiAtLQogCiBbW2RlZl9wYXJlbnRdXXBhcmVudDo6CkBAIC01NDcsNiArNTcwLDEwIEBACiAJaXMgY3JlYXRlZCBieSBnaXZpbmcgdGhlIGAtLWRlcHRoYCBvcHRpb24gdG8gbGlua2dpdDpnaXQtY2xvbmVbMV0sIGFuZAogCWl0cyBoaXN0b3J5IGNhbiBiZSBsYXRlciBkZWVwZW5lZCB3aXRoIGxpbmtnaXQ6Z2l0LWZldGNoWzFdLgogCitbW2RlZl9zdGFzaF1dc3Rhc2ggZW50cnk6OgorCUFuIDw8ZGVmX29iamVjdCxvYmplY3Q+PiB1c2VkIHRvIHRlbXBvcmFyaWx5IHN0b3JlIHRoZSBjb250ZW50cyBvZiBhCisJPDxkZWZfZGlydHksZGlydHk+PiB3b3JraW5nIGRpcmVjdG9yeSBhbmQgdGhlIGluZGV4IGZvciBmdXR1cmUgcmV1c2UuCisKIFtbZGVmX3N1Ym1vZHVsZV1dc3VibW9kdWxlOjoKIAlBIDw8ZGVmX3JlcG9zaXRvcnkscmVwb3NpdG9yeT4+IHRoYXQgaG9sZHMgdGhlIGhpc3Rvcnkgb2YgYQogCXNlcGFyYXRlIHByb2plY3QgaW5zaWRlIGFub3RoZXIgcmVwb3NpdG9yeSAodGhlIGxhdHRlciBvZgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ob3d0by9yZWJ1aWxkLWZyb20tdXBkYXRlLWhvb2sudHh0IGIvRG9jdW1lbnRhdGlvbi9ob3d0by9yZWJ1aWxkLWZyb20tdXBkYXRlLWhvb2sudHh0CmluZGV4IDI1Mzc4ZjYuLmRiMjE5ZjUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaG93dG8vcmVidWlsZC1mcm9tLXVwZGF0ZS1ob29rLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2hvd3RvL3JlYnVpbGQtZnJvbS11cGRhdGUtaG9vay50eHQKQEAgLTQsMTMgKzQsMTMgQEAKIERhdGU6IEZyaSwgMjYgQXVnIDIwMDUgMTg6MTk6MTAgLTA3MDAKIEFic3RyYWN0OiBJbiB0aGlzIGhvdy10byBhcnRpY2xlLCBKQyB0YWxrcyBhYm91dCBob3cgaGUKICB1c2VzIHRoZSBwb3N0LXVwZGF0ZSBob29rIHRvIGF1dG9tYXRlIEdpdCBkb2N1bWVudGF0aW9uIHBhZ2UKLSBzaG93biBhdCBodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NvZnR3YXJlL3NjbS9naXQvZG9jcy8uCisgc2hvd24gYXQgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvc2NtL2dpdC9kb2NzLy4KIENvbnRlbnQtdHlwZTogdGV4dC9hc2NpaWRvYwogCiBIb3cgdG8gcmVidWlsZCBmcm9tIHVwZGF0ZSBob29rCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLVRoZSBwYWdlcyB1bmRlciBodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NvZnR3YXJlL3NjbS9naXQvZG9jcy8KK1RoZSBwYWdlcyB1bmRlciBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9zY20vZ2l0L2RvY3MvCiBhcmUgYnVpbHQgZnJvbSBEb2N1bWVudGF0aW9uLyBkaXJlY3Rvcnkgb2YgdGhlIGdpdC5naXQgcHJvamVjdAogYW5kIG5lZWRlZCB0byBiZSBrZXB0IHVwLXRvLWRhdGUuICBUaGUgd3d3Lmtlcm5lbC5vcmcvIHNlcnZlcnMKIGFyZSBtaXJyb3JlZCBhbmQgSSB3YXMgdG9sZCB0aGF0IHRoZSBvcmlnaW4gb2YgdGhlIG1pcnJvciBpcyBvbgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMThuLnR4dCBiL0RvY3VtZW50YXRpb24vaTE4bi50eHQKaW5kZXggMmRkNzlkYi4uN2UzNmU1YiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMThuLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2kxOG4udHh0CkBAIC00MiwxMSArNDIsMTEgQEAKICsKIC0tLS0tLS0tLS0tLQogW2kxOG5dCi0JY29tbWl0ZW5jb2RpbmcgPSBJU08tODg1OS0xCisJY29tbWl0RW5jb2RpbmcgPSBJU08tODg1OS0xCiAtLS0tLS0tLS0tLS0KICsKIENvbW1pdCBvYmplY3RzIGNyZWF0ZWQgd2l0aCB0aGUgYWJvdmUgc2V0dGluZyByZWNvcmQgdGhlIHZhbHVlCi1vZiBgaTE4bi5jb21taXRlbmNvZGluZ2AgaW4gaXRzIGBlbmNvZGluZ2AgaGVhZGVyLiAgVGhpcyBpcyB0bworb2YgYGkxOG4uY29tbWl0RW5jb2RpbmdgIGluIGl0cyBgZW5jb2RpbmdgIGhlYWRlci4gIFRoaXMgaXMgdG8KIGhlbHAgb3RoZXIgcGVvcGxlIHdobyBsb29rIGF0IHRoZW0gbGF0ZXIuICBMYWNrIG9mIHRoaXMgaGVhZGVyCiBpbXBsaWVzIHRoYXQgdGhlIGNvbW1pdCBsb2cgbWVzc2FnZSBpcyBlbmNvZGVkIGluIFVURi04LgogCkBAIC01NCwxNSArNTQsMTUgQEAKICAgYGVuY29kaW5nYCBoZWFkZXIgb2YgYSBjb21taXQgb2JqZWN0LCBhbmQgdHJ5IHRvIHJlLWNvZGUgdGhlCiAgIGxvZyBtZXNzYWdlIGludG8gVVRGLTggdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuICBZb3UgY2FuCiAgIHNwZWNpZnkgdGhlIGRlc2lyZWQgb3V0cHV0IGVuY29kaW5nIHdpdGgKLSAgYGkxOG4ubG9nb3V0cHV0ZW5jb2RpbmdgIGluIGAuZ2l0L2NvbmZpZ2AgZmlsZSwgbGlrZSB0aGlzOgorICBgaTE4bi5sb2dPdXRwdXRFbmNvZGluZ2AgaW4gYC5naXQvY29uZmlnYCBmaWxlLCBsaWtlIHRoaXM6CiArCiAtLS0tLS0tLS0tLS0KIFtpMThuXQotCWxvZ291dHB1dGVuY29kaW5nID0gSVNPLTg4NTktMQorCWxvZ091dHB1dEVuY29kaW5nID0gSVNPLTg4NTktMQogLS0tLS0tLS0tLS0tCiArCiBJZiB5b3UgZG8gbm90IGhhdmUgdGhpcyBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCB0aGUgdmFsdWUgb2YKLWBpMThuLmNvbW1pdGVuY29kaW5nYCBpcyB1c2VkIGluc3RlYWQuCitgaTE4bi5jb21taXRFbmNvZGluZ2AgaXMgdXNlZCBpbnN0ZWFkLgogCiBOb3RlIHRoYXQgd2UgZGVsaWJlcmF0ZWx5IGNob3NlIG5vdCB0byByZS1jb2RlIHRoZSBjb21taXQgbG9nCiBtZXNzYWdlIHdoZW4gYSBjb21taXQgaXMgbWFkZSB0byBmb3JjZSBVVEYtOCBhdCB0aGUgY29tbWl0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL21lcmdlLW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9tZXJnZS1vcHRpb25zLnR4dAppbmRleCA1YjRhNjJlLi40ZTMyMzA0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL21lcmdlLW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbWVyZ2Utb3B0aW9ucy50eHQKQEAgLTM5LDcgKzM5LDcgQEAKIAogLS1mZi1vbmx5OjoKIAlSZWZ1c2UgdG8gbWVyZ2UgYW5kIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cyB1bmxlc3MgdGhlCi0JY3VycmVudCBgSEVBRGAgaXMgYWxyZWFkeSB1cC10by1kYXRlIG9yIHRoZSBtZXJnZSBjYW4gYmUKKwljdXJyZW50IGBIRUFEYCBpcyBhbHJlYWR5IHVwIHRvIGRhdGUgb3IgdGhlIG1lcmdlIGNhbiBiZQogCXJlc29sdmVkIGFzIGEgZmFzdC1mb3J3YXJkLgogCiAtLWxvZ1s9PG4+XTo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL21lcmdlLXN0cmF0ZWdpZXMudHh0IGIvRG9jdW1lbnRhdGlvbi9tZXJnZS1zdHJhdGVnaWVzLnR4dAppbmRleCAyZWI5MmI5Li5hMDlkNTk3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL21lcmdlLXN0cmF0ZWdpZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbWVyZ2Utc3RyYXRlZ2llcy50eHQKQEAgLTM5LDcgKzM5LDggQEAKIHRoZSBvdGhlciB0cmVlIGRpZCwgZGVjbGFyaW5nICdvdXInIGhpc3RvcnkgY29udGFpbnMgYWxsIHRoYXQgaGFwcGVuZWQgaW4gaXQuCiAKIHRoZWlyczs7Ci0JVGhpcyBpcyB0aGUgb3Bwb3NpdGUgb2YgJ291cnMnLgorCVRoaXMgaXMgdGhlIG9wcG9zaXRlIG9mICdvdXJzJzsgbm90ZSB0aGF0LCB1bmxpa2UgJ291cnMnLCB0aGVyZSBpcworCW5vICd0aGVpcnMnIG1lcmdlIHN0cmFnZWd5IHRvIGNvbmZ1c2UgdGhpcyBtZXJnZSBvcHRpb24gd2l0aC4KIAogcGF0aWVuY2U7OwogCVdpdGggdGhpcyBvcHRpb24sICdtZXJnZS1yZWN1cnNpdmUnIHNwZW5kcyBhIGxpdHRsZSBleHRyYSB0aW1lCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3ByZXR0eS1mb3JtYXRzLnR4dCBiL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CmluZGV4IDQ3YjI4NmIuLmQ0MzNkNTAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CkBAIC0xNzMsMTIgKzE3MywxNyBAQAogLSAnJUNibHVlJzogc3dpdGNoIGNvbG9yIHRvIGJsdWUKIC0gJyVDcmVzZXQnOiByZXNldCBjb2xvcgogLSAnJUMoLi4uKSc6IGNvbG9yIHNwZWNpZmljYXRpb24sIGFzIGRlc2NyaWJlZCB1bmRlciBWYWx1ZXMgaW4gdGhlCi0gICJDT05GSUdVUkFUSU9OIEZJTEUiIHNlY3Rpb24gb2YgbGlua2dpdDpnaXQtY29uZmlnWzFdOwotICBhZGRpbmcgYGF1dG8sYCBhdCB0aGUgYmVnaW5uaW5nIHdpbGwgZW1pdCBjb2xvciBvbmx5IHdoZW4gY29sb3JzIGFyZQotICBlbmFibGVkIGZvciBsb2cgb3V0cHV0IChieSBgY29sb3IuZGlmZmAsIGBjb2xvci51aWAsIG9yIGAtLWNvbG9yYCwgYW5kCi0gIHJlc3BlY3RpbmcgdGhlIGBhdXRvYCBzZXR0aW5ncyBvZiB0aGUgZm9ybWVyIGlmIHdlIGFyZSBnb2luZyB0byBhCi0gIHRlcm1pbmFsKS4gYGF1dG9gIGFsb25lIChpLmUuIGAlQyhhdXRvKWApIHdpbGwgdHVybiBvbiBhdXRvIGNvbG9yaW5nCi0gIG9uIHRoZSBuZXh0IHBsYWNlaG9sZGVycyB1bnRpbCB0aGUgY29sb3IgaXMgc3dpdGNoZWQgYWdhaW4uCisgICJDT05GSUdVUkFUSU9OIEZJTEUiIHNlY3Rpb24gb2YgbGlua2dpdDpnaXQtY29uZmlnWzFdLgorICBCeSBkZWZhdWx0LCBjb2xvcnMgYXJlIHNob3duIG9ubHkgd2hlbiBlbmFibGVkIGZvciBsb2cgb3V0cHV0IChieQorICBgY29sb3IuZGlmZmAsIGBjb2xvci51aWAsIG9yIGAtLWNvbG9yYCwgYW5kIHJlc3BlY3RpbmcgdGhlIGBhdXRvYAorICBzZXR0aW5ncyBvZiB0aGUgZm9ybWVyIGlmIHdlIGFyZSBnb2luZyB0byBhIHRlcm1pbmFsKS4gYCVDKGF1dG8sLi4uKWAKKyAgaXMgYWNjZXB0ZWQgYXMgYSBoaXN0b3JpY2FsIHN5bm9ueW0gZm9yIHRoZSBkZWZhdWx0IChlLmcuLAorICBgJUMoYXV0byxyZWQpYCkuIFNwZWNpZnlpbmcgYCVDKGFsd2F5cywuLi4pIHdpbGwgc2hvdyB0aGUgY29sb3JzCisgIGV2ZW4gd2hlbiBjb2xvciBpcyBub3Qgb3RoZXJ3aXNlIGVuYWJsZWQgKHRob3VnaCBjb25zaWRlcgorICBqdXN0IHVzaW5nIGAtLWNvbG9yPWFsd2F5c2AgdG8gZW5hYmxlIGNvbG9yIGZvciB0aGUgd2hvbGUgb3V0cHV0LAorICBpbmNsdWRpbmcgdGhpcyBmb3JtYXQgYW5kIGFueXRoaW5nIGVsc2UgZ2l0IG1pZ2h0IGNvbG9yKS4gIGBhdXRvYAorICBhbG9uZSAoaS5lLiBgJUMoYXV0bylgKSB3aWxsIHR1cm4gb24gYXV0byBjb2xvcmluZyBvbiB0aGUgbmV4dAorICBwbGFjZWhvbGRlcnMgdW50aWwgdGhlIGNvbG9yIGlzIHN3aXRjaGVkIGFnYWluLgogLSAnJW0nOiBsZWZ0IChgPGApLCByaWdodCAoYD5gKSBvciBib3VuZGFyeSAoYC1gKSBtYXJrCiAtICclbic6IG5ld2xpbmUKIC0gJyUlJzogYSByYXcgJyUnCkBAIC0xOTksOCArMjA0LDExIEBACiAgIHRoYW4gZ2l2ZW4gYW5kIHRoZXJlIGFyZSBzcGFjZXMgb24gaXRzIGxlZnQsIHVzZSB0aG9zZSBzcGFjZXMKIC0gJyU+PCg8Tj4pJywgJyU+PHwoPE4+KSc6IHNpbWlsYXIgdG8gJyUgPCg8Tj4pJywgJyU8fCg8Tj4pJwogICByZXNwZWN0aXZlbHksIGJ1dCBwYWRkaW5nIGJvdGggc2lkZXMgKGkuZS4gdGhlIHRleHQgaXMgY2VudGVyZWQpCi0tJSh0cmFpbGVycyk6IGRpc3BsYXkgdGhlIHRyYWlsZXJzIG9mIHRoZSBib2R5IGFzIGludGVycHJldGVkIGJ5Ci0gIGxpbmtnaXQ6Z2l0LWludGVycHJldC10cmFpbGVyc1sxXQorLSAlKHRyYWlsZXJzKTogZGlzcGxheSB0aGUgdHJhaWxlcnMgb2YgdGhlIGJvZHkgYXMgaW50ZXJwcmV0ZWQgYnkKKyAgbGlua2dpdDpnaXQtaW50ZXJwcmV0LXRyYWlsZXJzWzFdLiBJZiB0aGUgYDpvbmx5YCBvcHRpb24gaXMgZ2l2ZW4sCisgIG9taXQgbm9uLXRyYWlsZXIgbGluZXMgZnJvbSB0aGUgdHJhaWxlciBibG9jay4gIElmIHRoZSBgOnVuZm9sZGAKKyAgb3B0aW9uIGlzIGdpdmVuLCBiZWhhdmUgYXMgaWYgaW50ZXJwcmV0LXRyYWlsZXIncyBgLS11bmZvbGRgIG9wdGlvbgorICB3YXMgZ2l2ZW4uIEUuZy4sIGAlKHRyYWlsZXJzOm9ubHk6dW5mb2xkKWAgdG8gZG8gYm90aC4KIAogTk9URTogU29tZSBwbGFjZWhvbGRlcnMgbWF5IGRlcGVuZCBvbiBvdGhlciBvcHRpb25zIGdpdmVuIHRvIHRoZQogcmV2aXNpb24gdHJhdmVyc2FsIGVuZ2luZS4gRm9yIGV4YW1wbGUsIHRoZSBgJWcqYCByZWZsb2cgb3B0aW9ucyB3aWxsCkBAIC0yMTMsOCArMjIxLDggQEAKIGlzIGluc2VydGVkIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgZXhwYW5zaW9uIGlmIGFuZCBvbmx5IGlmIHRoZQogcGxhY2Vob2xkZXIgZXhwYW5kcyB0byBhIG5vbi1lbXB0eSBzdHJpbmcuCiAKLUlmIHlvdSBhZGQgYSBgLWAgKG1pbnVzIHNpZ24pIGFmdGVyICclJyBvZiBhIHBsYWNlaG9sZGVyLCBsaW5lLWZlZWRzIHRoYXQKLWltbWVkaWF0ZWx5IHByZWNlZGUgdGhlIGV4cGFuc2lvbiBhcmUgZGVsZXRlZCBpZiBhbmQgb25seSBpZiB0aGUKK0lmIHlvdSBhZGQgYSBgLWAgKG1pbnVzIHNpZ24pIGFmdGVyICclJyBvZiBhIHBsYWNlaG9sZGVyLCBhbGwgY29uc2VjdXRpdmUKK2xpbmUtZmVlZHMgaW1tZWRpYXRlbHkgcHJlY2VkaW5nIHRoZSBleHBhbnNpb24gYXJlIGRlbGV0ZWQgaWYgYW5kIG9ubHkgaWYgdGhlCiBwbGFjZWhvbGRlciBleHBhbmRzIHRvIGFuIGVtcHR5IHN0cmluZy4KIAogSWYgeW91IGFkZCBhIGAgYCAoc3BhY2UpIGFmdGVyICclJyBvZiBhIHBsYWNlaG9sZGVyLCBhIHNwYWNlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3Jldi1saXN0LW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9yZXYtbGlzdC1vcHRpb25zLnR4dAppbmRleCBhMDJmNzMyLi43ZDg2MGJmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3Jldi1saXN0LW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHQKQEAgLTkxLDkgKzkxLDE0IEBACiAJQ29uc2lkZXIgdGhlIGxpbWl0aW5nIHBhdHRlcm5zIHRvIGJlIGZpeGVkIHN0cmluZ3MgKGRvbid0IGludGVycHJldAogCXBhdHRlcm4gYXMgYSByZWd1bGFyIGV4cHJlc3Npb24pLgogCistUDo6CiAtLXBlcmwtcmVnZXhwOjoKLQlDb25zaWRlciB0aGUgbGltaXRpbmcgcGF0dGVybnMgdG8gYmUgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCi0JUmVxdWlyZXMgbGlicGNyZSB0byBiZSBjb21waWxlZCBpbi4KKwlDb25zaWRlciB0aGUgbGltaXRpbmcgcGF0dGVybnMgdG8gYmUgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIKKwlleHByZXNzaW9ucy4KKysKK1N1cHBvcnQgZm9yIHRoZXNlIHR5cGVzIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMgaXMgYW4gb3B0aW9uYWwKK2NvbXBpbGUtdGltZSBkZXBlbmRlbmN5LiBJZiBHaXQgd2Fzbid0IGNvbXBpbGVkIHdpdGggc3VwcG9ydCBmb3IgdGhlbQorcHJvdmlkaW5nIHRoaXMgb3B0aW9uIHdpbGwgY2F1c2UgaXQgdG8gZGllLgogCiAtLXJlbW92ZS1lbXB0eTo6CiAJU3RvcCB3aGVuIGEgZ2l2ZW4gcGF0aCBkaXNhcHBlYXJzIGZyb20gdGhlIHRyZWUuCkBAIC0xNzksNiArMTg0LDE0IEBACiAJUHJldGVuZCBhcyBpZiBhbGwgb2JqZWN0cyBtZW50aW9uZWQgYnkgcmVmbG9ncyBhcmUgbGlzdGVkIG9uIHRoZQogCWNvbW1hbmQgbGluZSBhcyBgPGNvbW1pdD5gLgogCistLXNpbmdsZS13b3JrdHJlZTo6CisJQnkgZGVmYXVsdCwgYWxsIHdvcmtpbmcgdHJlZXMgd2lsbCBiZSBleGFtaW5lZCBieSB0aGUKKwlmb2xsb3dpbmcgb3B0aW9ucyB3aGVuIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIChzZWUKKwlsaW5rZ2l0OmdpdC13b3JrdHJlZVsxXSk6IGAtLWFsbGAsIGAtLXJlZmxvZ2AgYW5kCisJYC0taW5kZXhlZC1vYmplY3RzYC4KKwlUaGlzIG9wdGlvbiBmb3JjZXMgdGhlbSB0byBleGFtaW5lIHRoZSBjdXJyZW50IHdvcmtpbmcgdHJlZQorCW9ubHkuCisKIC0taWdub3JlLW1pc3Npbmc6OgogCVVwb24gc2VlaW5nIGFuIGludmFsaWQgb2JqZWN0IG5hbWUgaW4gdGhlIGlucHV0LCBwcmV0ZW5kIGFzIGlmCiAJdGhlIGJhZCBpbnB1dCB3YXMgbm90IGdpdmVuLgpAQCAtNzY0LDcgKzc3Nyw4IEBACiAxOTcwKS4gIEFzIHdpdGggYC0tcmF3YCwgdGhpcyBpcyBhbHdheXMgaW4gVVRDIGFuZCB0aGVyZWZvcmUgYC1sb2NhbGAKIGhhcyBubyBlZmZlY3QuCiArCi1gLS1kYXRlPWZvcm1hdDouLi5gIGZlZWRzIHRoZSBmb3JtYXQgYC4uLmAgdG8geW91ciBzeXN0ZW0gYHN0cmZ0aW1lYC4KK2AtLWRhdGU9Zm9ybWF0Oi4uLmAgZmVlZHMgdGhlIGZvcm1hdCBgLi4uYCB0byB5b3VyIHN5c3RlbSBgc3RyZnRpbWVgLAorZXhjZXB0IGZvciAleiBhbmQgJVosIHdoaWNoIGFyZSBoYW5kbGVkIGludGVybmFsbHkuCiBVc2UgYC0tZGF0ZT1mb3JtYXQ6JWNgIHRvIHNob3cgdGhlIGRhdGUgaW4geW91ciBzeXN0ZW0gbG9jYWxlJ3MKIHByZWZlcnJlZCBmb3JtYXQuICBTZWUgdGhlIGBzdHJmdGltZWAgbWFudWFsIGZvciBhIGNvbXBsZXRlIGxpc3Qgb2YKIGZvcm1hdCBwbGFjZWhvbGRlcnMuIFdoZW4gdXNpbmcgYC1sb2NhbGAsIHRoZSBjb3JyZWN0IHN5bnRheCBpcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0CmluZGV4IGJhMTFiOWMuLjYxMjc3NDYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcmV2aXNpb25zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3JldmlzaW9ucy50eHQKQEAgLTk2LDcgKzk2LDggQEAKICAgcmVmZXJzIHRvIHRoZSBicmFuY2ggdGhhdCB0aGUgYnJhbmNoIHNwZWNpZmllZCBieSBicmFuY2huYW1lIGlzIHNldCB0byBidWlsZCBvbgogICB0b3Agb2YgKGNvbmZpZ3VyZWQgd2l0aCBgYnJhbmNoLjxuYW1lPi5yZW1vdGVgIGFuZAogICBgYnJhbmNoLjxuYW1lPi5tZXJnZWApLiAgQSBtaXNzaW5nIGJyYW5jaG5hbWUgZGVmYXVsdHMgdG8gdGhlCi0gIGN1cnJlbnQgb25lLgorICBjdXJyZW50IG9uZS4gVGhlc2Ugc3VmZml4ZXMgYXJlIGFsc28gYWNjZXB0ZWQgd2hlbiBzcGVsbGVkIGluIHVwcGVyY2FzZSwgYW5kCisgIHRoZXkgbWVhbiB0aGUgc2FtZSB0aGluZyBubyBtYXR0ZXIgdGhlIGNhc2UuCiAKICc8YnJhbmNobmFtZT5AXHtwdXNoXH0nLCBlLmcuICdtYXN0ZXJAXHtwdXNoXH0nLCAnQFx7cHVzaFx9Jzo6CiAgIFRoZSBzdWZmaXggJ0Bce3B1c2h9JyByZXBvcnRzIHRoZSBicmFuY2ggIndoZXJlIHdlIHdvdWxkIHB1c2ggdG8iIGlmCkBAIC0xMjIsNiArMTIzLDkgQEAKIE5vdGUgaW4gdGhlIGV4YW1wbGUgdGhhdCB3ZSBzZXQgdXAgYSB0cmlhbmd1bGFyIHdvcmtmbG93LCB3aGVyZSB3ZSBwdWxsCiBmcm9tIG9uZSBsb2NhdGlvbiBhbmQgcHVzaCB0byBhbm90aGVyLiBJbiBhIG5vbi10cmlhbmd1bGFyIHdvcmtmbG93LAogJ0Bce3B1c2h9JyBpcyB0aGUgc2FtZSBhcyAnQFx7dXBzdHJlYW19JywgYW5kIHRoZXJlIGlzIG5vIG5lZWQgZm9yIGl0LgorKworVGhpcyBzdWZmaXggaXMgYWxzbyBhY2NlcHRlZCB3aGVuIHNwZWxsZWQgaW4gdXBwZXJjYXNlLCBhbmQgbWVhbnMgdGhlIHNhbWUKK3RoaW5nIG5vIG1hdHRlciB0aGUgY2FzZS4KIAogJzxyZXY+e2NhcmV0fScsIGUuZy4gJ0hFQUR7Y2FyZXR9LCB2MS41LjF7Y2FyZXR9MCc6OgogICBBIHN1ZmZpeCAne2NhcmV0fScgdG8gYSByZXZpc2lvbiBwYXJhbWV0ZXIgbWVhbnMgdGhlIGZpcnN0IHBhcmVudCBvZgpAQCAtMjkxLDcgKzI5NSw3IEBACiBUaGUgJ3Ixe2NhcmV0fSEnIG5vdGF0aW9uIGluY2x1ZGVzIGNvbW1pdCAncjEnIGJ1dCBleGNsdWRlcyBhbGwgb2YgaXRzIHBhcmVudHMuCiBCeSBpdHNlbGYsIHRoaXMgbm90YXRpb24gZGVub3RlcyB0aGUgc2luZ2xlIGNvbW1pdCAncjEnLgogCi1UaGUgJzxyZXY+e2NhcmV0fS17PG4+fScgbm90YXRpb24gaW5jbHVkZXMgJzxyZXY+JyBidXQgZXhjbHVkZXMgdGhlIDxuPnRoCitUaGUgJzxyZXY+e2NhcmV0fS08bj4nIG5vdGF0aW9uIGluY2x1ZGVzICc8cmV2PicgYnV0IGV4Y2x1ZGVzIHRoZSA8bj50aAogcGFyZW50IChpLmUuIGEgc2hvcnRoYW5kIGZvciAnPHJldj57Y2FyZXR9PG4+Li48cmV2PicpLCB3aXRoICc8bj4nID0gMSBpZgogbm90IGdpdmVuLiBUaGlzIGlzIHR5cGljYWxseSB1c2VmdWwgZm9yIG1lcmdlIGNvbW1pdHMgd2hlcmUgeW91CiBjYW4ganVzdCBwYXNzICc8Y29tbWl0PntjYXJldH0tJyB0byBnZXQgYWxsIHRoZSBjb21taXRzIGluIHRoZSBicmFuY2gKQEAgLTMzMyw3ICszMzcsNyBAQAogICBhcyBnaXZpbmcgY29tbWl0ICc8cmV2PicgYW5kIHRoZW4gYWxsIGl0cyBwYXJlbnRzIHByZWZpeGVkIHdpdGgKICAgJ3tjYXJldH0nIHRvIGV4Y2x1ZGUgdGhlbSAoYW5kIHRoZWlyIGFuY2VzdG9ycykuCiAKLSc8cmV2PntjYXJldH0tezxuPn0nLCBlLmcuICdIRUFEe2NhcmV0fS0sIEhFQUR7Y2FyZXR9LTInOjoKKyc8cmV2PntjYXJldH0tPG4+JywgZS5nLiAnSEVBRHtjYXJldH0tLCBIRUFEe2NhcmV0fS0yJzo6CiAJRXF1aXZhbGVudCB0byAnPHJldj57Y2FyZXR9PG4+Li48cmV2PicsIHdpdGggJzxuPicgPSAxIGlmIG5vdAogCWdpdmVuLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktYnVpbHRpbi50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktYnVpbHRpbi50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyYTM5YjkuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWJ1aWx0aW4udHh0CisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotYnVpbHRpbiBBUEkKLT09PT09PT09PT09Ci0KLUFkZGluZyBhIG5ldyBidWlsdC1pbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRoZXJlIGFyZSA0IHRoaW5ncyB0byBkbyB0byBhZGQgYSBidWlsdC1pbiBjb21tYW5kIGltcGxlbWVudGF0aW9uIHRvCi1HaXQ6Ci0KLS4gRGVmaW5lIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYnVpbHQtaW4gY29tbWFuZCBgZm9vYCB3aXRoCi0gIHNpZ25hdHVyZToKLQotCWludCBjbWRfZm9vKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLQotLiBBZGQgdGhlIGV4dGVybmFsIGRlY2xhcmF0aW9uIGZvciB0aGUgZnVuY3Rpb24gdG8gYGJ1aWx0aW4uaGAuCi0KLS4gQWRkIHRoZSBjb21tYW5kIHRvIHRoZSBgY29tbWFuZHNbXWAgdGFibGUgZGVmaW5lZCBpbiBgZ2l0LmNgLgotICBUaGUgZW50cnkgc2hvdWxkIGxvb2sgbGlrZToKLQotCXsgImZvbyIsIGNtZF9mb28sIDxvcHRpb25zPiB9LAotKwotd2hlcmUgb3B0aW9ucyBpcyB0aGUgYml0d2lzZS1vciBvZjoKLQotYFJVTl9TRVRVUGA6OgotCUlmIHRoZXJlIGlzIG5vdCBhIEdpdCBkaXJlY3RvcnkgdG8gd29yayBvbiwgYWJvcnQuICBJZiB0aGVyZQotCWlzIGEgd29yayB0cmVlLCBjaGRpciB0byB0aGUgdG9wIG9mIGl0IGlmIHRoZSBjb21tYW5kIHdhcwotCWludm9rZWQgaW4gYSBzdWJkaXJlY3RvcnkuICBJZiB0aGVyZSBpcyBubyB3b3JrIHRyZWUsIG5vCi0JY2hkaXIoKSBpcyBkb25lLgotCi1gUlVOX1NFVFVQX0dFTlRMWWA6OgotCUlmIHRoZXJlIGlzIGEgR2l0IGRpcmVjdG9yeSwgY2hkaXIgYXMgcGVyIFJVTl9TRVRVUCwgb3RoZXJ3aXNlLAotCWRvbid0IGNoZGlyIGFueXdoZXJlLgotCi1gVVNFX1BBR0VSYDo6Ci0KLQlJZiB0aGUgc3RhbmRhcmQgb3V0cHV0IGlzIGNvbm5lY3RlZCB0byBhIHR0eSwgc3Bhd24gYSBwYWdlciBhbmQKLQlmZWVkIG91ciBvdXRwdXQgdG8gaXQuCi0KLWBORUVEX1dPUktfVFJFRWA6OgotCi0JTWFrZSBzdXJlIHRoZXJlIGlzIGEgd29yayB0cmVlLCBpLmUuIHRoZSBjb21tYW5kIGNhbm5vdCBhY3QKLQlvbiBiYXJlIHJlcG9zaXRvcmllcy4KLQlUaGlzIG9ubHkgbWFrZXMgc2Vuc2Ugd2hlbiBgUlVOX1NFVFVQYCBpcyBhbHNvIHNldC4KLQotLiBBZGQgYGJ1aWx0aW4vZm9vLm9gIHRvIGBCVUlMVElOX09CSlNgIGluIGBNYWtlZmlsZWAuCi0KLUFkZGl0aW9uYWxseSwgaWYgYGZvb2AgaXMgYSBuZXcgY29tbWFuZCwgdGhlcmUgYXJlIDMgbW9yZSB0aGluZ3MgdG8gZG86Ci0KLS4gQWRkIHRlc3RzIHRvIGB0L2AgZGlyZWN0b3J5LgotCi0uIFdyaXRlIGRvY3VtZW50YXRpb24gaW4gYERvY3VtZW50YXRpb24vZ2l0LWZvby50eHRgLgotCi0uIEFkZCBhbiBlbnRyeSBmb3IgYGdpdC1mb29gIHRvIGBjb21tYW5kLWxpc3QudHh0YC4KLQotLiBBZGQgYW4gZW50cnkgZm9yIGAvZ2l0LWZvb2AgdG8gYC5naXRpZ25vcmVgLgotCi0KLUhvdyBhIGJ1aWx0LWluIGlzIGNhbGxlZAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRoZSBpbXBsZW1lbnRhdGlvbiBgY21kX2ZvbygpYCB0YWtlcyB0aHJlZSBwYXJhbWV0ZXJzLCBgYXJnY2AsIGBhcmd2LAotYW5kIGBwcmVmaXhgLiAgVGhlIGZpcnN0IHR3byBhcmUgc2ltaWxhciB0byB3aGF0IGBtYWluKClgIG9mIGEKLXN0YW5kYWxvbmUgY29tbWFuZCB3b3VsZCBiZSBjYWxsZWQgd2l0aC4KLQotV2hlbiBgUlVOX1NFVFVQYCBpcyBzcGVjaWZpZWQgaW4gdGhlIGBjb21tYW5kc1tdYCB0YWJsZSwgYW5kIHdoZW4geW91Ci13ZXJlIHN0YXJ0ZWQgZnJvbSBhIHN1YmRpcmVjdG9yeSBvZiB0aGUgd29yayB0cmVlLCBgY21kX2ZvbygpYCBpcyBjYWxsZWQKLWFmdGVyIGNoZGlyKDIpIHRvIHRoZSB0b3Agb2YgdGhlIHdvcmsgdHJlZSwgYW5kIGBwcmVmaXhgIGdldHMgdGhlIHBhdGgKLXRvIHRoZSBzdWJkaXJlY3RvcnkgdGhlIGNvbW1hbmQgc3RhcnRlZCBmcm9tLiAgVGhpcyBhbGxvd3MgeW91IHRvCi1jb252ZXJ0IGEgdXNlci1zdXBwbGllZCBwYXRobmFtZSAodHlwaWNhbGx5IHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5KQotdG8gYSBwYXRobmFtZSByZWxhdGl2ZSB0byB0aGUgdG9wIG9mIHRoZSB3b3JrIHRyZWUuCi0KLVRoZSByZXR1cm4gdmFsdWUgZnJvbSBgY21kX2ZvbygpYCBiZWNvbWVzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUKLWNvbW1hbmQuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktY29uZmlnLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1jb25maWcudHh0CmluZGV4IDIwNzQxZjMuLjlhNzc4YjAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1jb25maWcudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1jb25maWcudHh0CkBAIC0xODYsNyArMTg2LDcgQEAKIFNhbWUgYXMgYGdpdF9jb25maWdfYm9vbGAsIGV4Y2VwdCB0aGF0IGludGVnZXJzIGFyZSByZXR1cm5lZCBhcy1pcywgYW5kCiBhbiBgaXNfYm9vbGAgZmxhZyBpcyB1bnNldC4KIAotYGdpdF9jb25maWdfbWF5YmVfYm9vbGA6OgorYGdpdF9wYXJzZV9tYXliZV9ib29sYDo6CiBTYW1lIGFzIGBnaXRfY29uZmlnX2Jvb2xgLCBleGNlcHQgdGhhdCBpdCByZXR1cm5zIC0xIG9uIGVycm9yIHJhdGhlcgogdGhhbiBkeWluZy4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWRpcmVjdG9yeS1saXN0aW5nLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1kaXJlY3RvcnktbGlzdGluZy50eHQKaW5kZXggN2Y4ZTc4ZC4uNmM3N2I0OSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWRpcmVjdG9yeS1saXN0aW5nLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlyZWN0b3J5LWxpc3RpbmcudHh0CkBAIC0zMyw2ICszMywxMiBAQAogCVNpbWlsYXIgdG8gYERJUl9TSE9XX0lHTk9SRURgLCBidXQgcmV0dXJuIGlnbm9yZWQgZmlsZXMgaW4gYGlnbm9yZWRbXWAKIAlpbiBhZGRpdGlvbiB0byB1bnRyYWNrZWQgZmlsZXMgaW4gYGVudHJpZXNbXWAuCiAKK2BESVJfS0VFUF9VTlRSQUNLRURfQ09OVEVOVFNgOjo6CisKKwlPbmx5IGhhcyBtZWFuaW5nIGlmIGBESVJfU0hPV19JR05PUkVEX1RPT2AgaXMgYWxzbyBzZXQ7IGlmIHRoaXMgaXMgc2V0LCB0aGUKKwl1bnRyYWNrZWQgY29udGVudHMgb2YgdW50cmFja2VkIGRpcmVjdG9yaWVzIGFyZSBhbHNvIHJldHVybmVkIGluCisJYGVudHJpZXNbXWAuCisKIGBESVJfQ09MTEVDVF9JR05PUkVEYDo6OgogCiAJU3BlY2lhbCBtb2RlIGZvciBnaXQtYWRkLiBSZXR1cm4gaWdub3JlZCBmaWxlcyBpbiBgaWdub3JlZFtdYCBhbmQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1naXRhdHRyaWJ1dGVzLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1naXRhdHRyaWJ1dGVzLnR4dAppbmRleCAyNjAyNjY4Li5lN2NiYjdjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZ2l0YXR0cmlidXRlcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWdpdGF0dHJpYnV0ZXMudHh0CkBAIC0xNiwxMCArMTYsMTUgQEAKIAlvZiBubyBpbnRlcmVzdCB0byB0aGUgY2FsbGluZyBwcm9ncmFtcy4gIFRoZSBuYW1lIG9mIHRoZQogCWF0dHJpYnV0ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcgYGdpdF9hdHRyX25hbWUoKWAuCiAKLWBzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2tgOjoKK2BzdHJ1Y3QgYXR0cl9jaGVja19pdGVtYDo6CiAKLQlUaGlzIHN0cnVjdHVyZSByZXByZXNlbnRzIGEgc2V0IG9mIGF0dHJpYnV0ZXMgdG8gY2hlY2sgaW4gYSBjYWxsCi0JdG8gYGdpdF9jaGVja19hdHRyKClgIGZ1bmN0aW9uLCBhbmQgcmVjZWl2ZXMgdGhlIHJlc3VsdHMuCisJVGhpcyBzdHJ1Y3R1cmUgcmVwcmVzZW50cyBvbmUgYXR0cmlidXRlIGFuZCBpdHMgdmFsdWUuCisKK2BzdHJ1Y3QgYXR0cl9jaGVja2A6OgorCisJVGhpcyBzdHJ1Y3R1cmUgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgYGF0dHJfY2hlY2tfaXRlbWAuCisJSXQgaXMgcGFzc2VkIHRvIGBnaXRfY2hlY2tfYXR0cigpYCBmdW5jdGlvbiwgc3BlY2lmeWluZyB0aGUKKwlhdHRyaWJ1dGVzIHRvIGNoZWNrLCBhbmQgcmVjZWl2ZXMgdGhlaXIgdmFsdWVzLgogCiAKIEF0dHJpYnV0ZSBWYWx1ZXMKQEAgLTI3LDcgKzMyLDcgQEAKIAogQW4gYXR0cmlidXRlIGZvciBhIHBhdGggY2FuIGJlIGluIG9uZSBvZiBmb3VyIHN0YXRlczogU2V0LCBVbnNldCwKIFVuc3BlY2lmaWVkIG9yIHNldCB0byBhIHN0cmluZywgYW5kIGAudmFsdWVgIG1lbWJlciBvZiBgc3RydWN0Ci1naXRfYXR0cl9jaGVja2AgcmVjb3JkcyBpdC4gIFRoZXJlIGFyZSB0aHJlZSBtYWNyb3MgdG8gY2hlY2sgdGhlc2U6CithdHRyX2NoZWNrX2l0ZW1gIHJlY29yZHMgaXQuICBUaGVyZSBhcmUgdGhyZWUgbWFjcm9zIHRvIGNoZWNrIHRoZXNlOgogCiBgQVRUUl9UUlVFKClgOjoKIApAQCAtNDgsNDkgKzUzLDUxIEBACiBRdWVyeWluZyBTcGVjaWZpYyBBdHRyaWJ1dGVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLSogUHJlcGFyZSBhbiBhcnJheSBvZiBgc3RydWN0IGdpdF9hdHRyX2NoZWNrYCB0byBkZWZpbmUgdGhlIGxpc3Qgb2YKLSAgYXR0cmlidXRlcyB5b3Ugd291bGQgd2FudCB0byBjaGVjay4gIFRvIHBvcHVsYXRlIHRoaXMgYXJyYXksIHlvdSB3b3VsZAotICBuZWVkIHRvIGRlZmluZSBuZWNlc3NhcnkgYXR0cmlidXRlcyBieSBjYWxsaW5nIGBnaXRfYXR0cigpYCBmdW5jdGlvbi4KKyogUHJlcGFyZSBgc3RydWN0IGF0dHJfY2hlY2tgIHVzaW5nIGF0dHJfY2hlY2tfaW5pdGwoKQorICBmdW5jdGlvbiwgZW51bWVyYXRpbmcgdGhlIG5hbWVzIG9mIGF0dHJpYnV0ZXMgd2hvc2UgdmFsdWVzIHlvdSBhcmUKKyAgaW50ZXJlc3RlZCBpbiwgdGVybWluYXRlZCB3aXRoIGEgTlVMTCBwb2ludGVyLiAgQWx0ZXJuYXRpdmVseSwgYW4KKyAgZW1wdHkgYHN0cnVjdCBhdHRyX2NoZWNrYCBjYW4gYmUgcHJlcGFyZWQgYnkgY2FsbGluZworICBgYXR0cl9jaGVja19hbGxvYygpYCBmdW5jdGlvbiBhbmQgdGhlbiBhdHRyaWJ1dGVzIHlvdSB3YW50IHRvCisgIGFzayBhYm91dCBjYW4gYmUgYWRkZWQgdG8gaXQgd2l0aCBgYXR0cl9jaGVja19hcHBlbmQoKWAKKyAgZnVuY3Rpb24uCiAKICogQ2FsbCBgZ2l0X2NoZWNrX2F0dHIoKWAgdG8gY2hlY2sgdGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBwYXRoLgogCi0qIEluc3BlY3QgYGdpdF9hdHRyX2NoZWNrYCBzdHJ1Y3R1cmUgdG8gc2VlIGhvdyBlYWNoIG9mIHRoZSBhdHRyaWJ1dGUgaW4KLSAgdGhlIGFycmF5IGlzIGRlZmluZWQgZm9yIHRoZSBwYXRoLgorKiBJbnNwZWN0IGBhdHRyX2NoZWNrYCBzdHJ1Y3R1cmUgdG8gc2VlIGhvdyBlYWNoIG9mIHRoZQorICBhdHRyaWJ1dGUgaW4gdGhlIGFycmF5IGlzIGRlZmluZWQgZm9yIHRoZSBwYXRoLgogCiAKIEV4YW1wbGUKIC0tLS0tLS0KIAotVG8gc2VlIGhvdyBhdHRyaWJ1dGVzICJjcmxmIiBhbmQgImluZGVudCIgYXJlIHNldCBmb3IgZGlmZmVyZW50IHBhdGhzLgorVG8gc2VlIGhvdyBhdHRyaWJ1dGVzICJjcmxmIiBhbmQgImlkZW50IiBhcmUgc2V0IGZvciBkaWZmZXJlbnQgcGF0aHMuCiAKLS4gUHJlcGFyZSBhbiBhcnJheSBvZiBgc3RydWN0IGdpdF9hdHRyX2NoZWNrYCB3aXRoIHR3byBlbGVtZW50cyAoYmVjYXVzZQotICB3ZSBhcmUgY2hlY2tpbmcgdHdvIGF0dHJpYnV0ZXMpLiAgSW5pdGlhbGl6ZSB0aGVpciBgYXR0cmAgbWVtYmVyIHdpdGgKLSAgcG9pbnRlcnMgdG8gYHN0cnVjdCBnaXRfYXR0cmAgb2J0YWluZWQgYnkgY2FsbGluZyBgZ2l0X2F0dHIoKWA6CisuIFByZXBhcmUgYSBgc3RydWN0IGF0dHJfY2hlY2tgIHdpdGggdHdvIGVsZW1lbnRzIChiZWNhdXNlCisgIHdlIGFyZSBjaGVja2luZyB0d28gYXR0cmlidXRlcyk6CiAKIC0tLS0tLS0tLS0tLQotc3RhdGljIHN0cnVjdCBnaXRfYXR0cl9jaGVjayBjaGVja1syXTsKK3N0YXRpYyBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2s7CiBzdGF0aWMgdm9pZCBzZXR1cF9jaGVjayh2b2lkKQogewotCWlmIChjaGVja1swXS5hdHRyKQorCWlmIChjaGVjaykKIAkJcmV0dXJuOyAvKiBhbHJlYWR5IGRvbmUgKi8KLQljaGVja1swXS5hdHRyID0gZ2l0X2F0dHIoImNybGYiKTsKLQljaGVja1sxXS5hdHRyID0gZ2l0X2F0dHIoImlkZW50Iik7CisJY2hlY2sgPSBhdHRyX2NoZWNrX2luaXRsKCJjcmxmIiwgImlkZW50IiwgTlVMTCk7CiB9CiAtLS0tLS0tLS0tLS0KIAotLiBDYWxsIGBnaXRfY2hlY2tfYXR0cigpYCB3aXRoIHRoZSBwcmVwYXJlZCBhcnJheSBvZiBgc3RydWN0IGdpdF9hdHRyX2NoZWNrYDoKKy4gQ2FsbCBgZ2l0X2NoZWNrX2F0dHIoKWAgd2l0aCB0aGUgcHJlcGFyZWQgYHN0cnVjdCBhdHRyX2NoZWNrYDoKIAogLS0tLS0tLS0tLS0tCiAJY29uc3QgY2hhciAqcGF0aDsKIAogCXNldHVwX2NoZWNrKCk7Ci0JZ2l0X2NoZWNrX2F0dHIocGF0aCwgQVJSQVlfU0laRShjaGVjayksIGNoZWNrKTsKKwlnaXRfY2hlY2tfYXR0cihwYXRoLCBjaGVjayk7CiAtLS0tLS0tLS0tLS0KIAotLiBBY3Qgb24gYC52YWx1ZWAgbWVtYmVyIG9mIHRoZSByZXN1bHQsIGxlZnQgaW4gYGNoZWNrW11gOgorLiBBY3Qgb24gYC52YWx1ZWAgbWVtYmVyIG9mIHRoZSByZXN1bHQsIGxlZnQgaW4gYGNoZWNrLT5pdGVtc1tdYDoKIAogLS0tLS0tLS0tLS0tCi0JY29uc3QgY2hhciAqdmFsdWUgPSBjaGVja1swXS52YWx1ZTsKKwljb25zdCBjaGFyICp2YWx1ZSA9IGNoZWNrLT5pdGVtc1swXS52YWx1ZTsKIAogCWlmIChBVFRSX1RSVUUodmFsdWUpKSB7CiAJCVRoZSBhdHRyaWJ1dGUgaXMgU2V0LCBieSBsaXN0aW5nIG9ubHkgdGhlIG5hbWUgb2YgdGhlCkBAIC0xMDksMjAgKzExNiwzOSBAQAogCX0KIC0tLS0tLS0tLS0tLQogCitUbyBzZWUgaG93IGF0dHJpYnV0ZXMgaW4gYXJndltdIGFyZSBzZXQgZm9yIGRpZmZlcmVudCBwYXRocywgb25seQordGhlIGZpcnN0IHN0ZXAgaW4gdGhlIGFib3ZlIHdvdWxkIGJlIGRpZmZlcmVudC4KKworLS0tLS0tLS0tLS0tCitzdGF0aWMgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrOworc3RhdGljIHZvaWQgc2V0dXBfY2hlY2soY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY2hlY2sgPSBhdHRyX2NoZWNrX2FsbG9jKCk7CisJd2hpbGUgKCphcmd2KSB7CisJCXN0cnVjdCBnaXRfYXR0ciAqYXR0ciA9IGdpdF9hdHRyKCphcmd2KTsKKwkJYXR0cl9jaGVja19hcHBlbmQoY2hlY2ssIGF0dHIpOworCQlhcmd2Kys7CisJfQorfQorLS0tLS0tLS0tLS0tCisKIAogUXVlcnlpbmcgQWxsIEF0dHJpYnV0ZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFRvIGdldCB0aGUgdmFsdWVzIG9mIGFsbCBhdHRyaWJ1dGVzIGFzc29jaWF0ZWQgd2l0aCBhIGZpbGU6CiAKLSogQ2FsbCBgZ2l0X2FsbF9hdHRycygpYCwgd2hpY2ggcmV0dXJucyBhbiBhcnJheSBvZiBgZ2l0X2F0dHJfY2hlY2tgCi0gIHN0cnVjdHVyZXMuCisqIFByZXBhcmUgYW4gZW1wdHkgYGF0dHJfY2hlY2tgIHN0cnVjdHVyZSBieSBjYWxsaW5nCisgIGBhdHRyX2NoZWNrX2FsbG9jKClgLgogCi0qIEl0ZXJhdGUgb3ZlciB0aGUgYGdpdF9hdHRyX2NoZWNrYCBhcnJheSB0byBleGFtaW5lIHRoZSBhdHRyaWJ1dGUKLSAgbmFtZXMgYW5kIHZhbHVlcy4gIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgZGVzY3JpYmVkIGJ5IGEKLSAgYGdpdF9hdHRyX2NoZWNrYCBvYmplY3QgY2FuIGJlIHJldHJpZXZlZCB2aWEKLSAgYGdpdF9hdHRyX25hbWUoY2hlY2tbaV0uYXR0cilgLiAgKFBsZWFzZSBub3RlIHRoYXQgbm8gaXRlbXMgd2lsbCBiZQotICByZXR1cm5lZCBmb3IgdW5zZXQgYXR0cmlidXRlcywgc28gYEFUVFJfVU5TRVQoKWAgd2lsbCByZXR1cm4gZmFsc2UKLSAgZm9yIGFsbCByZXR1cm5lZCBgZ2l0X2FycmF5X2NoZWNrYCBvYmplY3RzLikKKyogQ2FsbCBgZ2l0X2FsbF9hdHRycygpYCwgd2hpY2ggcG9wdWxhdGVzIHRoZSBgYXR0cl9jaGVja2AKKyAgd2l0aCB0aGUgYXR0cmlidXRlcyBhdHRhY2hlZCB0byB0aGUgcGF0aC4KIAotKiBGcmVlIHRoZSBgZ2l0X2FycmF5X2NoZWNrYCBhcnJheS4KKyogSXRlcmF0ZSBvdmVyIHRoZSBgYXR0cl9jaGVjay5pdGVtc1tdYCBhcnJheSB0byBleGFtaW5lCisgIHRoZSBhdHRyaWJ1dGUgbmFtZXMgYW5kIHZhbHVlcy4gIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUKKyAgZGVzY3JpYmVkIGJ5IGEgIGBhdHRyX2NoZWNrLml0ZW1zW11gIG9iamVjdCBjYW4gYmUgcmV0cmlldmVkIHZpYQorICBgZ2l0X2F0dHJfbmFtZShjaGVjay0+aXRlbXNbaV0uYXR0cilgLiAgKFBsZWFzZSBub3RlIHRoYXQgbm8gaXRlbXMKKyAgd2lsbCBiZSByZXR1cm5lZCBmb3IgdW5zZXQgYXR0cmlidXRlcywgc28gYEFUVFJfVU5TRVQoKWAgd2lsbCByZXR1cm4KKyAgZmFsc2UgZm9yIGFsbCByZXR1cm5lZCBgYXR0cl9jaGVjay5pdGVtc1tdYCBvYmplY3RzLikKKworKiBGcmVlIHRoZSBgYXR0cl9jaGVja2Agc3RydWN0IGJ5IGNhbGxpbmcgYGF0dHJfY2hlY2tfZnJlZSgpYC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1oYXNobWFwLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1oYXNobWFwLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTNmMDIwYy4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktaGFzaG1hcC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyODcgKzAsMCBAQAotaGFzaG1hcCBBUEkKLT09PT09PT09PT09Ci0KLVRoZSBoYXNobWFwIEFQSSBpcyBhIGdlbmVyaWMgaW1wbGVtZW50YXRpb24gb2YgaGFzaC1iYXNlZCBrZXktdmFsdWUgbWFwcGluZ3MuCi0KLURhdGEgU3RydWN0dXJlcwotLS0tLS0tLS0tLS0tLS0tCi0KLWBzdHJ1Y3QgaGFzaG1hcGA6OgotCi0JVGhlIGhhc2ggdGFibGUgc3RydWN0dXJlLiBNZW1iZXJzIGNhbiBiZSB1c2VkIGFzIGZvbGxvd3MsIGJ1dCBzaG91bGQKLQlub3QgYmUgbW9kaWZpZWQgZGlyZWN0bHk6Ci0rCi1UaGUgYHNpemVgIG1lbWJlciBrZWVwcyB0cmFjayBvZiB0aGUgdG90YWwgbnVtYmVyIG9mIGVudHJpZXMgKDAgbWVhbnMgdGhlCi1oYXNobWFwIGlzIGVtcHR5KS4KLSsKLWB0YWJsZXNpemVgIGlzIHRoZSBhbGxvY2F0ZWQgc2l6ZSBvZiB0aGUgaGFzaCB0YWJsZS4gQSBub24tMCB2YWx1ZSBpbmRpY2F0ZXMKLXRoYXQgdGhlIGhhc2htYXAgaXMgaW5pdGlhbGl6ZWQuIEl0IG1heSBhbHNvIGJlIHVzZWZ1bCBmb3Igc3RhdGlzdGljYWwgcHVycG9zZXMKLShpLmUuIGBzaXplIC8gdGFibGVzaXplYCBpcyB0aGUgY3VycmVudCBsb2FkIGZhY3RvcikuCi0rCi1gY21wZm5gIHN0b3JlcyB0aGUgY29tcGFyaXNvbiBmdW5jdGlvbiBzcGVjaWZpZWQgaW4gYGhhc2htYXBfaW5pdCgpYC4gSW4KLWFkdmFuY2VkIHNjZW5hcmlvcywgaXQgbWF5IGJlIHVzZWZ1bCB0byBjaGFuZ2UgdGhpcywgZS5nLiB0byBzd2l0Y2ggYmV0d2VlbgotY2FzZS1zZW5zaXRpdmUgYW5kIGNhc2UtaW5zZW5zaXRpdmUgbG9va3VwLgotCi1gc3RydWN0IGhhc2htYXBfZW50cnlgOjoKLQotCUFuIG9wYXF1ZSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGFuIGVudHJ5IGluIHRoZSBoYXNoIHRhYmxlLCB3aGljaCBtdXN0Ci0JYmUgdXNlZCBhcyBmaXJzdCBtZW1iZXIgb2YgdXNlciBkYXRhIHN0cnVjdHVyZXMuIElkZWFsbHkgaXQgc2hvdWxkIGJlCi0JZm9sbG93ZWQgYnkgYW4gaW50LXNpemVkIG1lbWJlciB0byBwcmV2ZW50IHVudXNlZCBtZW1vcnkgb24gNjQtYml0Ci0Jc3lzdGVtcyBkdWUgdG8gYWxpZ25tZW50LgotKwotVGhlIGBoYXNoYCBtZW1iZXIgaXMgdGhlIGVudHJ5J3MgaGFzaCBjb2RlIGFuZCB0aGUgYG5leHRgIG1lbWJlciBwb2ludHMgdG8gdGhlCi1uZXh0IGVudHJ5IGluIGNhc2Ugb2YgY29sbGlzaW9ucyAoaS5lLiBpZiBtdWx0aXBsZSBlbnRyaWVzIG1hcCB0byB0aGUgc2FtZQotYnVja2V0KS4KLQotYHN0cnVjdCBoYXNobWFwX2l0ZXJgOjoKLQotCUFuIGl0ZXJhdG9yIHN0cnVjdHVyZSwgdG8gYmUgdXNlZCB3aXRoIGhhc2htYXBfaXRlcl8qIGZ1bmN0aW9ucy4KLQotVHlwZXMKLS0tLS0tCi0KLWBpbnQgKCpoYXNobWFwX2NtcF9mbikoY29uc3Qgdm9pZCAqZW50cnksIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwgY29uc3Qgdm9pZCAqa2V5ZGF0YSlgOjoKLQotCVVzZXItc3VwcGxpZWQgZnVuY3Rpb24gdG8gdGVzdCB0d28gaGFzaG1hcCBlbnRyaWVzIGZvciBlcXVhbGl0eS4gU2hhbGwKLQlyZXR1cm4gMCBpZiB0aGUgZW50cmllcyBhcmUgZXF1YWwuCi0rCi1UaGlzIGZ1bmN0aW9uIGlzIGFsd2F5cyBjYWxsZWQgd2l0aCBub24tTlVMTCBgZW50cnlgIC8gYGVudHJ5X29yX2tleWAKLXBhcmFtZXRlcnMgdGhhdCBoYXZlIHRoZSBzYW1lIGhhc2ggY29kZS4gV2hlbiBsb29raW5nIHVwIGFuIGVudHJ5LCB0aGUgYGtleWAKLWFuZCBga2V5ZGF0YWAgcGFyYW1ldGVycyB0byBoYXNobWFwX2dldCBhbmQgaGFzaG1hcF9yZW1vdmUgYXJlIGFsd2F5cyBwYXNzZWQKLWFzIHNlY29uZCBhbmQgdGhpcmQgYXJndW1lbnQsIHJlc3BlY3RpdmVseS4gT3RoZXJ3aXNlLCBga2V5ZGF0YWAgaXMgTlVMTC4KLQotRnVuY3Rpb25zCi0tLS0tLS0tLS0KLQotYHVuc2lnbmVkIGludCBzdHJoYXNoKGNvbnN0IGNoYXIgKmJ1ZilgOjoKLWB1bnNpZ25lZCBpbnQgc3RyaWhhc2goY29uc3QgY2hhciAqYnVmKWA6OgotYHVuc2lnbmVkIGludCBtZW1oYXNoKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbilgOjoKLWB1bnNpZ25lZCBpbnQgbWVtaWhhc2goY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKWA6OgotCi0JUmVhZHktdG8tdXNlIGhhc2ggZnVuY3Rpb25zIGZvciBzdHJpbmdzLCB1c2luZyB0aGUgRk5WLTEgYWxnb3JpdGhtIChzZWUKLQlodHRwOi8vd3d3LmlzdGhlLmNvbS9jaG9uZ28vdGVjaC9jb21wL2ZudikuCi0rCi1gc3RyaGFzaGAgYW5kIGBzdHJpaGFzaGAgdGFrZSAwLXRlcm1pbmF0ZWQgc3RyaW5ncywgd2hpbGUgYG1lbWhhc2hgIGFuZAotYG1lbWloYXNoYCBvcGVyYXRlIG9uIGFyYml0cmFyeS1sZW5ndGggbWVtb3J5LgotKwotYHN0cmloYXNoYCBhbmQgYG1lbWloYXNoYCBhcmUgY2FzZSBpbnNlbnNpdGl2ZSB2ZXJzaW9ucy4KLQotYHVuc2lnbmVkIGludCBzaGExaGFzaChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKWA6OgotCi0JQ29udmVydHMgYSBjcnlwdG9ncmFwaGljIGhhc2ggKGUuZy4gU0hBLTEpIGludG8gYW4gaW50LXNpemVkIGhhc2ggY29kZQotCWZvciB1c2UgaW4gaGFzaCB0YWJsZXMuIENyeXB0b2dyYXBoaWMgaGFzaGVzIGFyZSBzdXBwb3NlZCB0byBoYXZlCi0JdW5pZm9ybSBkaXN0cmlidXRpb24sIHNvIGluIGNvbnRyYXN0IHRvIGBtZW1oYXNoKClgLCB0aGlzIGp1c3QgY29waWVzCi0JdGhlIGZpcnN0IGBzaXplb2YoaW50KWAgYnl0ZXMgd2l0aG91dCBzaHVmZmxpbmcgYW55IGJpdHMuIE5vdGUgdGhhdAotCXRoZSByZXN1bHRzIHdpbGwgYmUgZGlmZmVyZW50IG9uIGJpZy1lbmRpYW4gYW5kIGxpdHRsZS1lbmRpYW4KLQlwbGF0Zm9ybXMsIHNvIHRoZXkgc2hvdWxkIG5vdCBiZSBzdG9yZWQgb3IgdHJhbnNmZXJyZWQgb3ZlciB0aGUgbmV0LgotCi1gdm9pZCBoYXNobWFwX2luaXQoc3RydWN0IGhhc2htYXAgKm1hcCwgaGFzaG1hcF9jbXBfZm4gZXF1YWxzX2Z1bmN0aW9uLCBzaXplX3QgaW5pdGlhbF9zaXplKWA6OgotCi0JSW5pdGlhbGl6ZXMgYSBoYXNobWFwIHN0cnVjdHVyZS4KLSsKLWBtYXBgIGlzIHRoZSBoYXNobWFwIHRvIGluaXRpYWxpemUuCi0rCi1UaGUgYGVxdWFsc19mdW5jdGlvbmAgY2FuIGJlIHNwZWNpZmllZCB0byBjb21wYXJlIHR3byBlbnRyaWVzIGZvciBlcXVhbGl0eS4KLUlmIE5VTEwsIGVudHJpZXMgYXJlIGNvbnNpZGVyZWQgZXF1YWwgaWYgdGhlaXIgaGFzaCBjb2RlcyBhcmUgZXF1YWwuCi0rCi1JZiB0aGUgdG90YWwgbnVtYmVyIG9mIGVudHJpZXMgaXMga25vd24gaW4gYWR2YW5jZSwgdGhlIGBpbml0aWFsX3NpemVgCi1wYXJhbWV0ZXIgbWF5IGJlIHVzZWQgdG8gcHJlYWxsb2NhdGUgYSBzdWZmaWNpZW50bHkgbGFyZ2UgdGFibGUgYW5kIHRodXMKLXByZXZlbnQgZXhwZW5zaXZlIHJlc2l6aW5nLiBJZiAwLCB0aGUgdGFibGUgaXMgZHluYW1pY2FsbHkgcmVzaXplZC4KLQotYHZvaWQgaGFzaG1hcF9mcmVlKHN0cnVjdCBoYXNobWFwICptYXAsIGludCBmcmVlX2VudHJpZXMpYDo6Ci0KLQlGcmVlcyBhIGhhc2htYXAgc3RydWN0dXJlIGFuZCBhbGxvY2F0ZWQgbWVtb3J5LgotKwotYG1hcGAgaXMgdGhlIGhhc2htYXAgdG8gZnJlZS4KLSsKLUlmIGBmcmVlX2VudHJpZXNgIGlzIHRydWUsIGVhY2ggaGFzaG1hcF9lbnRyeSBpbiB0aGUgbWFwIGlzIGZyZWVkIGFzIHdlbGwKLSh1c2luZyBzdGRsaWIncyBmcmVlKCkpLgotCi1gdm9pZCBoYXNobWFwX2VudHJ5X2luaXQodm9pZCAqZW50cnksIHVuc2lnbmVkIGludCBoYXNoKWA6OgotCi0JSW5pdGlhbGl6ZXMgYSBoYXNobWFwX2VudHJ5IHN0cnVjdHVyZS4KLSsKLWBlbnRyeWAgcG9pbnRzIHRvIHRoZSBlbnRyeSB0byBpbml0aWFsaXplLgotKwotYGhhc2hgIGlzIHRoZSBoYXNoIGNvZGUgb2YgdGhlIGVudHJ5LgotKwotVGhlIGhhc2htYXBfZW50cnkgc3RydWN0dXJlIGRvZXMgbm90IGhvbGQgcmVmZXJlbmNlcyB0byBleHRlcm5hbCByZXNvdXJjZXMsCi1hbmQgaXQgaXMgc2FmZSB0byBqdXN0IGRpc2NhcmQgaXQgb25jZSB5b3UgYXJlIGRvbmUgd2l0aCBpdCAoaS5lLiBpZgoteW91ciBzdHJ1Y3R1cmUgd2FzIGFsbG9jYXRlZCB3aXRoIHhtYWxsb2MoKSwgeW91IGNhbiBqdXN0IGZyZWUoMykgaXQsCi1hbmQgaWYgaXQgaXMgb24gc3RhY2ssIHlvdSBjYW4ganVzdCBsZXQgaXQgZ28gb3V0IG9mIHNjb3BlKS4KLQotYHZvaWQgKmhhc2htYXBfZ2V0KGNvbnN0IHN0cnVjdCBoYXNobWFwICptYXAsIGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqa2V5ZGF0YSlgOjoKLQotCVJldHVybnMgdGhlIGhhc2htYXAgZW50cnkgZm9yIHRoZSBzcGVjaWZpZWQga2V5LCBvciBOVUxMIGlmIG5vdCBmb3VuZC4KLSsKLWBtYXBgIGlzIHRoZSBoYXNobWFwIHN0cnVjdHVyZS4KLSsKLWBrZXlgIGlzIGEgaGFzaG1hcF9lbnRyeSBzdHJ1Y3R1cmUgKG9yIHVzZXIgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBzdGFydHMgd2l0aAotaGFzaG1hcF9lbnRyeSkgdGhhdCBoYXMgYXQgbGVhc3QgYmVlbiBpbml0aWFsaXplZCB3aXRoIHRoZSBwcm9wZXIgaGFzaCBjb2RlCi0odmlhIGBoYXNobWFwX2VudHJ5X2luaXRgKS4KLSsKLUlmIGFuIGVudHJ5IHdpdGggbWF0Y2hpbmcgaGFzaCBjb2RlIGlzIGZvdW5kLCBga2V5YCBhbmQgYGtleWRhdGFgIGFyZSBwYXNzZWQKLXRvIGBoYXNobWFwX2NtcF9mbmAgdG8gZGVjaWRlIHdoZXRoZXIgdGhlIGVudHJ5IG1hdGNoZXMgdGhlIGtleS4KLQotYHZvaWQgKmhhc2htYXBfZ2V0X2Zyb21faGFzaChjb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLCB1bnNpZ25lZCBpbnQgaGFzaCwgY29uc3Qgdm9pZCAqa2V5ZGF0YSlgOjoKLQotCVJldHVybnMgdGhlIGhhc2htYXAgZW50cnkgZm9yIHRoZSBzcGVjaWZpZWQgaGFzaCBjb2RlIGFuZCBrZXkgZGF0YSwKLQlvciBOVUxMIGlmIG5vdCBmb3VuZC4KLSsKLWBtYXBgIGlzIHRoZSBoYXNobWFwIHN0cnVjdHVyZS4KLSsKLWBoYXNoYCBpcyB0aGUgaGFzaCBjb2RlIG9mIHRoZSBlbnRyeSB0byBsb29rIHVwLgotKwotSWYgYW4gZW50cnkgd2l0aCBtYXRjaGluZyBoYXNoIGNvZGUgaXMgZm91bmQsIGBrZXlkYXRhYCBpcyBwYXNzZWQgdG8KLWBoYXNobWFwX2NtcF9mbmAgdG8gZGVjaWRlIHdoZXRoZXIgdGhlIGVudHJ5IG1hdGNoZXMgdGhlIGtleS4gVGhlCi1gZW50cnlfb3Jfa2V5YCBwYXJhbWV0ZXIgcG9pbnRzIHRvIGEgYm9ndXMgaGFzaG1hcF9lbnRyeSBzdHJ1Y3R1cmUgdGhhdAotc2hvdWxkIG5vdCBiZSB1c2VkIGluIHRoZSBjb21wYXJpc29uLgotCi1gdm9pZCAqaGFzaG1hcF9nZXRfbmV4dChjb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBjb25zdCB2b2lkICplbnRyeSlgOjoKLQotCVJldHVybnMgdGhlIG5leHQgZXF1YWwgaGFzaG1hcCBlbnRyeSwgb3IgTlVMTCBpZiBub3QgZm91bmQuIFRoaXMgY2FuIGJlCi0JdXNlZCB0byBpdGVyYXRlIG92ZXIgZHVwbGljYXRlIGVudHJpZXMgKHNlZSBgaGFzaG1hcF9hZGRgKS4KLSsKLWBtYXBgIGlzIHRoZSBoYXNobWFwIHN0cnVjdHVyZS4KLSsKLWBlbnRyeWAgaXMgdGhlIGhhc2htYXBfZW50cnkgdG8gc3RhcnQgdGhlIHNlYXJjaCBmcm9tLCBvYnRhaW5lZCB2aWEgYSBwcmV2aW91cwotY2FsbCB0byBgaGFzaG1hcF9nZXRgIG9yIGBoYXNobWFwX2dldF9uZXh0YC4KLQotYHZvaWQgaGFzaG1hcF9hZGQoc3RydWN0IGhhc2htYXAgKm1hcCwgdm9pZCAqZW50cnkpYDo6Ci0KLQlBZGRzIGEgaGFzaG1hcCBlbnRyeS4gVGhpcyBhbGxvd3MgdG8gYWRkIGR1cGxpY2F0ZSBlbnRyaWVzIChpLmUuCi0Jc2VwYXJhdGUgdmFsdWVzIHdpdGggdGhlIHNhbWUga2V5IGFjY29yZGluZyB0byBoYXNobWFwX2NtcF9mbikuCi0rCi1gbWFwYCBpcyB0aGUgaGFzaG1hcCBzdHJ1Y3R1cmUuCi0rCi1gZW50cnlgIGlzIHRoZSBlbnRyeSB0byBhZGQuCi0KLWB2b2lkICpoYXNobWFwX3B1dChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCB2b2lkICplbnRyeSlgOjoKLQotCUFkZHMgb3IgcmVwbGFjZXMgYSBoYXNobWFwIGVudHJ5LiBJZiB0aGUgaGFzaG1hcCBjb250YWlucyBkdXBsaWNhdGUKLQllbnRyaWVzIGVxdWFsIHRvIHRoZSBzcGVjaWZpZWQgZW50cnksIG9ubHkgb25lIG9mIHRoZW0gd2lsbCBiZSByZXBsYWNlZC4KLSsKLWBtYXBgIGlzIHRoZSBoYXNobWFwIHN0cnVjdHVyZS4KLSsKLWBlbnRyeWAgaXMgdGhlIGVudHJ5IHRvIGFkZCBvciByZXBsYWNlLgotKwotUmV0dXJucyB0aGUgcmVwbGFjZWQgZW50cnksIG9yIE5VTEwgaWYgbm90IGZvdW5kIChpLmUuIHRoZSBlbnRyeSB3YXMgYWRkZWQpLgotCi1gdm9pZCAqaGFzaG1hcF9yZW1vdmUoc3RydWN0IGhhc2htYXAgKm1hcCwgY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2b2lkICprZXlkYXRhKWA6OgotCi0JUmVtb3ZlcyBhIGhhc2htYXAgZW50cnkgbWF0Y2hpbmcgdGhlIHNwZWNpZmllZCBrZXkuIElmIHRoZSBoYXNobWFwCi0JY29udGFpbnMgZHVwbGljYXRlIGVudHJpZXMgZXF1YWwgdG8gdGhlIHNwZWNpZmllZCBrZXksIG9ubHkgb25lIG9mCi0JdGhlbSB3aWxsIGJlIHJlbW92ZWQuCi0rCi1gbWFwYCBpcyB0aGUgaGFzaG1hcCBzdHJ1Y3R1cmUuCi0rCi1ga2V5YCBpcyBhIGhhc2htYXBfZW50cnkgc3RydWN0dXJlIChvciB1c2VyIGRhdGEgc3RydWN0dXJlIHRoYXQgc3RhcnRzIHdpdGgKLWhhc2htYXBfZW50cnkpIHRoYXQgaGFzIGF0IGxlYXN0IGJlZW4gaW5pdGlhbGl6ZWQgd2l0aCB0aGUgcHJvcGVyIGhhc2ggY29kZQotKHZpYSBgaGFzaG1hcF9lbnRyeV9pbml0YCkuCi0rCi1JZiBhbiBlbnRyeSB3aXRoIG1hdGNoaW5nIGhhc2ggY29kZSBpcyBmb3VuZCwgYGtleWAgYW5kIGBrZXlkYXRhYCBhcmUKLXBhc3NlZCB0byBgaGFzaG1hcF9jbXBfZm5gIHRvIGRlY2lkZSB3aGV0aGVyIHRoZSBlbnRyeSBtYXRjaGVzIHRoZSBrZXkuCi0rCi1SZXR1cm5zIHRoZSByZW1vdmVkIGVudHJ5LCBvciBOVUxMIGlmIG5vdCBmb3VuZC4KLQotYHZvaWQgaGFzaG1hcF9pdGVyX2luaXQoc3RydWN0IGhhc2htYXAgKm1hcCwgc3RydWN0IGhhc2htYXBfaXRlciAqaXRlcilgOjoKLWB2b2lkICpoYXNobWFwX2l0ZXJfbmV4dChzdHJ1Y3QgaGFzaG1hcF9pdGVyICppdGVyKWA6OgotYHZvaWQgKmhhc2htYXBfaXRlcl9maXJzdChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBzdHJ1Y3QgaGFzaG1hcF9pdGVyICppdGVyKWA6OgotCi0JVXNlZCB0byBpdGVyYXRlIG92ZXIgYWxsIGVudHJpZXMgb2YgYSBoYXNobWFwLiBOb3RlIHRoYXQgaXQgaXMKLQlub3Qgc2FmZSB0byBhZGQgb3IgcmVtb3ZlIGVudHJpZXMgdG8gdGhlIGhhc2htYXAgd2hpbGUKLQlpdGVyYXRpbmcuCi0rCi1gaGFzaG1hcF9pdGVyX2luaXRgIGluaXRpYWxpemVzIGEgYGhhc2htYXBfaXRlcmAgc3RydWN0dXJlLgotKwotYGhhc2htYXBfaXRlcl9uZXh0YCByZXR1cm5zIHRoZSBuZXh0IGhhc2htYXBfZW50cnksIG9yIE5VTEwgaWYgdGhlcmUgYXJlIG5vCi1tb3JlIGVudHJpZXMuCi0rCi1gaGFzaG1hcF9pdGVyX2ZpcnN0YCBpcyBhIGNvbWJpbmF0aW9uIG9mIGJvdGggKGkuZS4gaW5pdGlhbGl6ZXMgdGhlIGl0ZXJhdG9yCi1hbmQgcmV0dXJucyB0aGUgZmlyc3QgZW50cnksIGlmIGFueSkuCi0KLWBjb25zdCBjaGFyICpzdHJpbnRlcm4oY29uc3QgY2hhciAqc3RyaW5nKWA6OgotYGNvbnN0IHZvaWQgKm1lbWludGVybihjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKWA6OgotCi0JUmV0dXJucyB0aGUgdW5pcXVlLCBpbnRlcm5lZCB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpZWQgc3RyaW5nIG9yIGRhdGEsCi0Jc2ltaWxhciB0byB0aGUgYFN0cmluZy5pbnRlcm5gIEFQSSBpbiBKYXZhIGFuZCAuTkVULCByZXNwZWN0aXZlbHkuCi0JSW50ZXJuZWQgc3RyaW5ncyByZW1haW4gdmFsaWQgZm9yIHRoZSBlbnRpcmUgbGlmZXRpbWUgb2YgdGhlIHByb2Nlc3MuCi0rCi1DYW4gYmUgdXNlZCBhcyBgW3hdc3RyZHVwKClgIG9yIGB4bWVtZHVwemAgcmVwbGFjZW1lbnQsIGV4Y2VwdCB0aGF0IGludGVybmVkCi1zdHJpbmdzIC8gZGF0YSBtdXN0IG5vdCBiZSBtb2RpZmllZCBvciBmcmVlZC4KLSsKLUludGVybmVkIHN0cmluZ3MgYXJlIGJlc3QgdXNlZCBmb3Igc2hvcnQgc3RyaW5ncyB3aXRoIGhpZ2ggcHJvYmFiaWxpdHkgb2YKLWR1cGxpY2F0ZXMuCi0rCi1Vc2VzIGEgaGFzaG1hcCB0byBzdG9yZSB0aGUgcG9vbCBvZiBpbnRlcm5lZCBzdHJpbmdzLgotCi1Vc2FnZSBleGFtcGxlCi0tLS0tLS0tLS0tLS0tCi0KLUhlcmUncyBhIHNpbXBsZSB1c2FnZSBleGFtcGxlIHRoYXQgbWFwcyBsb25nIGtleXMgdG8gZG91YmxlIHZhbHVlcy4KLS0tLS0tLS0tLS0tLQotc3RydWN0IGhhc2htYXAgbWFwOwotCi1zdHJ1Y3QgbG9uZzJkb3VibGUgewotCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsgLyogbXVzdCBiZSB0aGUgZmlyc3QgbWVtYmVyISAqLwotCWxvbmcga2V5OwotCWRvdWJsZSB2YWx1ZTsKLX07Ci0KLXN0YXRpYyBpbnQgbG9uZzJkb3VibGVfY21wKGNvbnN0IHN0cnVjdCBsb25nMmRvdWJsZSAqZTEsIGNvbnN0IHN0cnVjdCBsb25nMmRvdWJsZSAqZTIsIGNvbnN0IHZvaWQgKnVudXNlZCkKLXsKLQlyZXR1cm4gIShlMS0+a2V5ID09IGUyLT5rZXkpOwotfQotCi12b2lkIGxvbmcyZG91YmxlX2luaXQodm9pZCkKLXsKLQloYXNobWFwX2luaXQoJm1hcCwgKGhhc2htYXBfY21wX2ZuKSBsb25nMmRvdWJsZV9jbXAsIDApOwotfQotCi12b2lkIGxvbmcyZG91YmxlX2ZyZWUodm9pZCkKLXsKLQloYXNobWFwX2ZyZWUoJm1hcCwgMSk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgbG9uZzJkb3VibGUgKmZpbmRfZW50cnkobG9uZyBrZXkpCi17Ci0Jc3RydWN0IGxvbmcyZG91YmxlIGs7Ci0JaGFzaG1hcF9lbnRyeV9pbml0KCZrLCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOwotCWsua2V5ID0ga2V5OwotCXJldHVybiBoYXNobWFwX2dldCgmbWFwLCAmaywgTlVMTCk7Ci19Ci0KLWRvdWJsZSBnZXRfdmFsdWUobG9uZyBrZXkpCi17Ci0Jc3RydWN0IGxvbmcyZG91YmxlICplID0gZmluZF9lbnRyeShrZXkpOwotCXJldHVybiBlID8gZS0+dmFsdWUgOiAwOwotfQotCi12b2lkIHNldF92YWx1ZShsb25nIGtleSwgZG91YmxlIHZhbHVlKQotewotCXN0cnVjdCBsb25nMmRvdWJsZSAqZSA9IGZpbmRfZW50cnkoa2V5KTsKLQlpZiAoIWUpIHsKLQkJZSA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGxvbmcyZG91YmxlKSk7Ci0JCWhhc2htYXBfZW50cnlfaW5pdChlLCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOwotCQllLT5rZXkgPSBrZXk7Ci0JCWhhc2htYXBfYWRkKCZtYXAsIGUpOwotCX0KLQllLT52YWx1ZSA9IHZhbHVlOwotfQotLS0tLS0tLS0tLS0tCi0KLVVzaW5nIHZhcmlhYmxlLXNpemVkIGtleXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhlIGBoYXNobWFwX2VudHJ5X2dldGAgYW5kIGBoYXNobWFwX2VudHJ5X3JlbW92ZWAgZnVuY3Rpb25zIGV4cGVjdCBhbiBvcmRpbmFyeQotYGhhc2htYXBfZW50cnlgIHN0cnVjdHVyZSBhcyBrZXkgdG8gZmluZCB0aGUgY29ycmVjdCBlbnRyeS4gSWYgdGhlIGtleSBkYXRhIGlzCi12YXJpYWJsZS1zaXplZCAoZS5nLiBhIEZMRVhfQVJSQVkgc3RyaW5nKSBvciBxdWl0ZSBsYXJnZSwgaXQgaXMgdW5kZXNpcmFibGUKLXRvIGNyZWF0ZSBhIGZ1bGwtZmxlZGdlZCBlbnRyeSBzdHJ1Y3R1cmUgb24gdGhlIGhlYXAgYW5kIGNvcHkgYWxsIHRoZSBrZXkgZGF0YQotaW50byB0aGUgc3RydWN0dXJlLgotCi1JbiB0aGlzIGNhc2UsIHRoZSBga2V5ZGF0YWAgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHBhc3MKLXZhcmlhYmxlLXNpemVkIGtleSBkYXRhIGRpcmVjdGx5IHRvIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uLCBhbmQgdGhlIGBrZXlgCi1wYXJhbWV0ZXIgY2FuIGJlIGEgc3RyaXBwZWQtZG93biwgZml4ZWQgc2l6ZSBlbnRyeSBzdHJ1Y3R1cmUgYWxsb2NhdGVkIG9uIHRoZQotc3RhY2suCi0KLVNlZSB0ZXN0LWhhc2htYXAuYyBmb3IgYW4gZXhhbXBsZSB1c2luZyBhcmJpdHJhcnktbGVuZ3RoIHN0cmluZ3MgYXMga2V5cy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zaGExLWFycmF5LnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1vaWQtYXJyYXkudHh0CnNpbWlsYXJpdHkgaW5kZXggNjElCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zaGExLWFycmF5LnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLW9pZC1hcnJheS50eHQKaW5kZXggZGNjNTI5NC4uYjBjMTFmOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXNoYTEtYXJyYXkudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1vaWQtYXJyYXkudHh0CkBAIC0xLDcgKzEsNyBAQAotc2hhMS1hcnJheSBBUEkKK29pZC1hcnJheSBBUEkKID09PT09PT09PT09PT09CiAKLVRoZSBzaGExLWFycmF5IEFQSSBwcm92aWRlcyBzdG9yYWdlIGFuZCBtYW5pcHVsYXRpb24gb2Ygc2V0cyBvZiBTSEEtMQorVGhlIG9pZC1hcnJheSBBUEkgcHJvdmlkZXMgc3RvcmFnZSBhbmQgbWFuaXB1bGF0aW9uIG9mIHNldHMgb2Ygb2JqZWN0CiBpZGVudGlmaWVycy4gVGhlIGVtcGhhc2lzIGlzIG9uIHN0b3JhZ2UgYW5kIHByb2Nlc3NpbmcgZWZmaWNpZW5jeSwKIG1ha2luZyB0aGVtIHN1aXRhYmxlIGZvciBsYXJnZSBsaXN0cy4gTm90ZSB0aGF0IHRoZSBvcmRlcmluZyBvZiBpdGVtcyBpcwogbm90IHByZXNlcnZlZCBvdmVyIHNvbWUgb3BlcmF0aW9ucy4KQEAgLTksMTAgKzksMTAgQEAKIERhdGEgU3RydWN0dXJlcwogLS0tLS0tLS0tLS0tLS0tCiAKLWBzdHJ1Y3Qgc2hhMV9hcnJheWA6OgorYHN0cnVjdCBvaWRfYXJyYXlgOjoKIAotCUEgc2luZ2xlIGFycmF5IG9mIFNIQS0xIGhhc2hlcy4gVGhpcyBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgYnkKLQlhc3NpZ25tZW50IGZyb20gYFNIQTFfQVJSQVlfSU5JVGAuICBUaGUgYHNoYTFgIG1lbWJlciBjb250YWlucworCUEgc2luZ2xlIGFycmF5IG9mIG9iamVjdCBJRHMuIFRoaXMgc2hvdWxkIGJlIGluaXRpYWxpemVkIGJ5CisJYXNzaWdubWVudCBmcm9tIGBPSURfQVJSQVlfSU5JVGAuICBUaGUgYG9pZGAgbWVtYmVyIGNvbnRhaW5zCiAJdGhlIGFjdHVhbCBkYXRhLiBUaGUgYG5yYCBtZW1iZXIgY29udGFpbnMgdGhlIG51bWJlciBvZiBpdGVtcyBpbgogCXRoZSBzZXQuICBUaGUgYGFsbG9jYCBhbmQgYHNvcnRlZGAgbWVtYmVycyBhcmUgdXNlZCBpbnRlcm5hbGx5LAogCWFuZCBzaG91bGQgbm90IGJlIG5lZWRlZCBieSBBUEkgY2FsbGVycy4KQEAgLTIwLDIyICsyMCwyMiBAQAogRnVuY3Rpb25zCiAtLS0tLS0tLS0KIAotYHNoYTFfYXJyYXlfYXBwZW5kYDo6Ci0JQWRkIGFuIGl0ZW0gdG8gdGhlIHNldC4gVGhlIHNoYTEgd2lsbCBiZSBwbGFjZWQgYXQgdGhlIGVuZCBvZgorYG9pZF9hcnJheV9hcHBlbmRgOjoKKwlBZGQgYW4gaXRlbSB0byB0aGUgc2V0LiBUaGUgb2JqZWN0IElEIHdpbGwgYmUgcGxhY2VkIGF0IHRoZSBlbmQgb2YKIAl0aGUgYXJyYXkgKGJ1dCBub3RlIHRoYXQgc29tZSBvcGVyYXRpb25zIGJlbG93IG1heSBsb3NlIHRoaXMKIAlvcmRlcmluZykuCiAKLWBzaGExX2FycmF5X2xvb2t1cGA6OgotCVBlcmZvcm0gYSBiaW5hcnkgc2VhcmNoIG9mIHRoZSBhcnJheSBmb3IgYSBzcGVjaWZpYyBzaGExLgorYG9pZF9hcnJheV9sb29rdXBgOjoKKwlQZXJmb3JtIGEgYmluYXJ5IHNlYXJjaCBvZiB0aGUgYXJyYXkgZm9yIGEgc3BlY2lmaWMgb2JqZWN0IElELgogCUlmIGZvdW5kLCByZXR1cm5zIHRoZSBvZmZzZXQgKGluIG51bWJlciBvZiBlbGVtZW50cykgb2YgdGhlCi0Jc2hhMS4gSWYgbm90IGZvdW5kLCByZXR1cm5zIGEgbmVnYXRpdmUgaW50ZWdlci4gSWYgdGhlIGFycmF5IGlzCi0Jbm90IHNvcnRlZCwgdGhpcyBmdW5jdGlvbiBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIHNvcnRpbmcgaXQuCisJb2JqZWN0IElELiBJZiBub3QgZm91bmQsIHJldHVybnMgYSBuZWdhdGl2ZSBpbnRlZ2VyLiBJZiB0aGUgYXJyYXkKKwlpcyBub3Qgc29ydGVkLCB0aGlzIGZ1bmN0aW9uIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2Ygc29ydGluZyBpdC4KIAotYHNoYTFfYXJyYXlfY2xlYXJgOjoKK2BvaWRfYXJyYXlfY2xlYXJgOjoKIAlGcmVlIGFsbCBtZW1vcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcnJheSBhbmQgcmV0dXJuIGl0IHRvIHRoZQogCWluaXRpYWwsIGVtcHR5IHN0YXRlLgogCi1gc2hhMV9hcnJheV9mb3JfZWFjaF91bmlxdWVgOjoKK2BvaWRfYXJyYXlfZm9yX2VhY2hfdW5pcXVlYDo6CiAJRWZmaWNpZW50bHkgaXRlcmF0ZSBvdmVyIGVhY2ggdW5pcXVlIGVsZW1lbnQgb2YgdGhlIGxpc3QsCiAJZXhlY3V0aW5nIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBmb3IgZWFjaCBvbmUuIElmIHRoZSBhcnJheSBpcwogCW5vdCBzb3J0ZWQsIHRoaXMgZnVuY3Rpb24gaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBzb3J0aW5nIGl0LiBJZgpAQCAtNDcsMjUgKzQ3LDI1IEBACiAtLS0tLS0tLQogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotaW50IHByaW50X2NhbGxiYWNrKGNvbnN0IHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sCitpbnQgcHJpbnRfY2FsbGJhY2soY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkgICAgdm9pZCAqZGF0YSkKIHsKLQlwcmludGYoIiVzXG4iLCBzaGExX3RvX2hleChzaGExKSk7CisJcHJpbnRmKCIlc1xuIiwgb2lkX3RvX2hleChvaWQpKTsKIAlyZXR1cm4gMDsgLyogYWx3YXlzIGNvbnRpbnVlICovCiB9CiAKIHZvaWQgc29tZV9mdW5jKHZvaWQpCiB7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgaGFzaGVzID0gU0hBMV9BUlJBWV9JTklUOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IHNoYTFfYXJyYXkgaGFzaGVzID0gT0lEX0FSUkFZX0lOSVQ7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKIAkvKiBSZWFkIG9iamVjdHMgaW50byBvdXIgc2V0ICovCi0Jd2hpbGUgKHJlYWRfb2JqZWN0X2Zyb21fc3RkaW4oc2hhMSkpCi0JCXNoYTFfYXJyYXlfYXBwZW5kKCZoYXNoZXMsIHNoYTEpOworCXdoaWxlIChyZWFkX29iamVjdF9mcm9tX3N0ZGluKG9pZC5oYXNoKSkKKwkJb2lkX2FycmF5X2FwcGVuZCgmaGFzaGVzLCAmb2lkKTsKIAogCS8qIENoZWNrIGlmIHNvbWUgb2JqZWN0cyBhcmUgaW4gb3VyIHNldCAqLwotCXdoaWxlIChyZWFkX29iamVjdF9mcm9tX3N0ZGluKHNoYTEpKSB7Ci0JCWlmIChzaGExX2FycmF5X2xvb2t1cCgmaGFzaGVzLCBzaGExKSA+PSAwKQorCXdoaWxlIChyZWFkX29iamVjdF9mcm9tX3N0ZGluKG9pZC5oYXNoKSkgeworCQlpZiAob2lkX2FycmF5X2xvb2t1cCgmaGFzaGVzLCAmb2lkKSA+PSAwKQogCQkJcHJpbnRmKCJpdCdzIGluIHRoZXJlIVxuIik7CiAKIAkvKgpAQCAtNzUsNiArNzUsNiBAQAogCSAqIEluc3RlYWQsIHRoaXMgd2lsbCBzb3J0IG9uY2UgYW5kIHRoZW4gc2tpcCBkdXBsaWNhdGVzCiAJICogaW4gbGluZWFyIHRpbWUuCiAJICovCi0Jc2hhMV9hcnJheV9mb3JfZWFjaF91bmlxdWUoJmhhc2hlcywgcHJpbnRfY2FsbGJhY2ssIE5VTEwpOworCW9pZF9hcnJheV9mb3JfZWFjaF91bmlxdWUoJmhhc2hlcywgcHJpbnRfY2FsbGJhY2ssIE5VTEwpOwogfQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1wYXJzZS1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1wYXJzZS1vcHRpb25zLnR4dAppbmRleCAyN2JkNzAxLi44MjliNTU4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcGFyc2Utb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXBhcnNlLW9wdGlvbnMudHh0CkBAIC0xNjgsNiArMTY4LDExIEBACiAJSW50cm9kdWNlIGFuIG9wdGlvbiB3aXRoIHN0cmluZyBhcmd1bWVudC4KIAlUaGUgc3RyaW5nIGFyZ3VtZW50IGlzIHB1dCBpbnRvIGBzdHJfdmFyYC4KIAorYE9QVF9TVFJJTkdfTElTVChzaG9ydCwgbG9uZywgJnN0cnVjdCBzdHJpbmdfbGlzdCwgYXJnX3N0ciwgZGVzY3JpcHRpb24pYDo6CisJSW50cm9kdWNlIGFuIG9wdGlvbiB3aXRoIHN0cmluZyBhcmd1bWVudC4KKwlUaGUgc3RyaW5nIGFyZ3VtZW50IGlzIHN0b3JlZCBhcyBhbiBlbGVtZW50IGluIGBzdHJpbmdfbGlzdGAuCisJVXNlIG9mIGAtLW5vLW9wdGlvbmAgd2lsbCBjbGVhciB0aGUgbGlzdCBvZiBwcmVjZWRpbmcgdmFsdWVzLgorCiBgT1BUX0lOVEVHRVIoc2hvcnQsIGxvbmcsICZpbnRfdmFyLCBkZXNjcmlwdGlvbilgOjoKIAlJbnRyb2R1Y2UgYW4gb3B0aW9uIHdpdGggaW50ZWdlciBhcmd1bWVudC4KIAlUaGUgaW50ZWdlciBpcyBwdXQgaW50byBgaW50X3ZhcmAuCkBAIC0xNzgsMTMgKzE4MywxMyBAQAogCXNjYWxlIHRoZSBwcm92aWRlZCB2YWx1ZSBieSAxMDI0LCAxMDI0XjIgb3IgMTAyNF4zIHJlc3BlY3RpdmVseS4KIAlUaGUgc2NhbGVkIHZhbHVlIGlzIHB1dCBpbnRvIGB1bnNpZ25lZF9sb25nX3ZhcmAuCiAKLWBPUFRfREFURShzaG9ydCwgbG9uZywgJmludF92YXIsIGRlc2NyaXB0aW9uKWA6OgorYE9QVF9EQVRFKHNob3J0LCBsb25nLCAmdGltZXN0YW1wX3RfdmFyLCBkZXNjcmlwdGlvbilgOjoKIAlJbnRyb2R1Y2UgYW4gb3B0aW9uIHdpdGggZGF0ZSBhcmd1bWVudCwgc2VlIGBhcHByb3hpZGF0ZSgpYC4KLQlUaGUgdGltZXN0YW1wIGlzIHB1dCBpbnRvIGBpbnRfdmFyYC4KKwlUaGUgdGltZXN0YW1wIGlzIHB1dCBpbnRvIGB0aW1lc3RhbXBfdF92YXJgLgogCi1gT1BUX0VYUElSWV9EQVRFKHNob3J0LCBsb25nLCAmaW50X3ZhciwgZGVzY3JpcHRpb24pYDo6CitgT1BUX0VYUElSWV9EQVRFKHNob3J0LCBsb25nLCAmdGltZXN0YW1wX3RfdmFyLCBkZXNjcmlwdGlvbilgOjoKIAlJbnRyb2R1Y2UgYW4gb3B0aW9uIHdpdGggZXhwaXJ5IGRhdGUgYXJndW1lbnQsIHNlZSBgcGFyc2VfZXhwaXJ5X2RhdGUoKWAuCi0JVGhlIHRpbWVzdGFtcCBpcyBwdXQgaW50byBgaW50X3ZhcmAuCisJVGhlIHRpbWVzdGFtcCBpcyBwdXQgaW50byBgdGltZXN0YW1wX3RfdmFyYC4KIAogYE9QVF9DQUxMQkFDSyhzaG9ydCwgbG9uZywgJnZhciwgYXJnX3N0ciwgZGVzY3JpcHRpb24sIGZ1bmNfcHRyKWA6OgogCUludHJvZHVjZSBhbiBvcHRpb24gd2l0aCBhcmd1bWVudC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZWYtaXRlcmF0aW9uLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZWYtaXRlcmF0aW9uLnR4dAppbmRleCAzNzM3OWQ4Li40NmMzZDVjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcmVmLWl0ZXJhdGlvbi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXJlZi1pdGVyYXRpb24udHh0CkBAIC0zMiwxMSArMzIsOCBAQAogCiAqIGBmb3JfZWFjaF9nbG9iX3JlZl9pbigpYCB0aGUgcHJldmlvdXMgYW5kIGBmb3JfZWFjaF9yZWZfaW4oKWAgY29tYmluZWQuCiAKLSogYGhlYWRfcmVmX3N1Ym1vZHVsZSgpYCwgYGZvcl9lYWNoX3JlZl9zdWJtb2R1bGUoKWAsCi0gIGBmb3JfZWFjaF9yZWZfaW5fc3VibW9kdWxlKClgLCBgZm9yX2VhY2hfdGFnX3JlZl9zdWJtb2R1bGUoKWAsCi0gIGBmb3JfZWFjaF9icmFuY2hfcmVmX3N1Ym1vZHVsZSgpYCwgYGZvcl9lYWNoX3JlbW90ZV9yZWZfc3VibW9kdWxlKClgCi0gIGRvIHRoZSBzYW1lIGFzIHRoZSBmdW5jdGlvbnMgZGVzY3JpYmVkIGFib3ZlIGJ1dCBmb3IgYSBzcGVjaWZpZWQKLSAgc3VibW9kdWxlLgorKiBVc2UgYHJlZnNfYCBBUEkgZm9yIGFjY2Vzc2luZyBzdWJtb2R1bGVzLiBUaGUgc3VibW9kdWxlIHJlZiBzdG9yZSBjb3VsZAorICBiZSBvYnRhaW5lZCB3aXRoIGBnZXRfc3VibW9kdWxlX3JlZl9zdG9yZSgpYC4KIAogKiBgZm9yX2VhY2hfcmF3cmVmKClgIGNhbiBiZSB1c2VkIHRvIGxlYXJuIGFib3V0IGJyb2tlbiByZWYgYW5kIHN5bXJlZi4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXN0cmluZy1saXN0LnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zdHJpbmctbGlzdC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwODQwMmIuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXN0cmluZy1saXN0LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIwOSArMCwwIEBACi1zdHJpbmctbGlzdCBBUEkKLT09PT09PT09PT09PT09PQotCi1UaGUgc3RyaW5nX2xpc3QgQVBJIG9mZmVycyBhIGRhdGEgc3RydWN0dXJlIGFuZCBmdW5jdGlvbnMgdG8gaGFuZGxlCi1zb3J0ZWQgYW5kIHVuc29ydGVkIHN0cmluZyBsaXN0cy4gIEEgInNvcnRlZCIgbGlzdCBpcyBvbmUgd2hvc2UKLWVudHJpZXMgYXJlIHNvcnRlZCBieSBzdHJpbmcgdmFsdWUgaW4gYHN0cmNtcCgpYCBvcmRlci4KLQotVGhlICdzdHJpbmdfbGlzdCcgc3RydWN0IHVzZWQgdG8gYmUgY2FsbGVkICdwYXRoX2xpc3QnLCBidXQgd2FzIHJlbmFtZWQKLWJlY2F1c2UgaXQgaXMgbm90IHNwZWNpZmljIHRvIHBhdGhzLgotCi1UaGUgY2FsbGVyOgotCi0uIEFsbG9jYXRlcyBhbmQgY2xlYXJzIGEgYHN0cnVjdCBzdHJpbmdfbGlzdGAgdmFyaWFibGUuCi0KLS4gSW5pdGlhbGl6ZXMgdGhlIG1lbWJlcnMuIFlvdSBtaWdodCB3YW50IHRvIHNldCB0aGUgZmxhZyBgc3RyZHVwX3N0cmluZ3NgCi0gIGlmIHRoZSBzdHJpbmdzIHNob3VsZCBiZSBzdHJkdXAoKWVkLiBGb3IgZXhhbXBsZSwgdGhpcyBpcyBuZWNlc3NhcnkKLSAgd2hlbiB5b3UgYWRkIHNvbWV0aGluZyBsaWtlIGdpdF9wYXRoKCIuLi4iKSwgc2luY2UgdGhhdCBmdW5jdGlvbiByZXR1cm5zCi0gIGEgc3RhdGljIGJ1ZmZlciB0aGF0IHdpbGwgY2hhbmdlIHdpdGggdGhlIG5leHQgY2FsbCB0byBnaXRfcGF0aCgpLgotKwotSWYgeW91IG5lZWQgc29tZXRoaW5nIGFkdmFuY2VkLCB5b3UgY2FuIG1hbnVhbGx5IG1hbGxvYygpIHRoZSBgaXRlbXNgCi1tZW1iZXIgKHlvdSBuZWVkIHRoaXMgaWYgeW91IGFkZCB0aGluZ3MgbGF0ZXIpIGFuZCB5b3Ugc2hvdWxkIHNldCB0aGUKLWBucmAgYW5kIGBhbGxvY2AgbWVtYmVycyBpbiB0aGF0IGNhc2UsIHRvby4KLQotLiBBZGRzIG5ldyBpdGVtcyB0byB0aGUgbGlzdCwgdXNpbmcgYHN0cmluZ19saXN0X2FwcGVuZGAsCi0gIGBzdHJpbmdfbGlzdF9hcHBlbmRfbm9kdXBgLCBgc3RyaW5nX2xpc3RfaW5zZXJ0YCwKLSAgYHN0cmluZ19saXN0X3NwbGl0YCwgYW5kL29yIGBzdHJpbmdfbGlzdF9zcGxpdF9pbl9wbGFjZWAuCi0KLS4gQ2FuIGNoZWNrIGlmIGEgc3RyaW5nIGlzIGluIHRoZSBsaXN0IHVzaW5nIGBzdHJpbmdfbGlzdF9oYXNfc3RyaW5nYCBvcgotICBgdW5zb3J0ZWRfc3RyaW5nX2xpc3RfaGFzX3N0cmluZ2AgYW5kIGdldCBpdCBmcm9tIHRoZSBsaXN0IHVzaW5nCi0gIGBzdHJpbmdfbGlzdF9sb29rdXBgIGZvciBzb3J0ZWQgbGlzdHMuCi0KLS4gQ2FuIHNvcnQgYW4gdW5zb3J0ZWQgbGlzdCB1c2luZyBgc3RyaW5nX2xpc3Rfc29ydGAuCi0KLS4gQ2FuIHJlbW92ZSBkdXBsaWNhdGUgaXRlbXMgZnJvbSBhIHNvcnRlZCBsaXN0IHVzaW5nCi0gIGBzdHJpbmdfbGlzdF9yZW1vdmVfZHVwbGljYXRlc2AuCi0KLS4gQ2FuIHJlbW92ZSBpbmRpdmlkdWFsIGl0ZW1zIG9mIGFuIHVuc29ydGVkIGxpc3QgdXNpbmcKLSAgYHVuc29ydGVkX3N0cmluZ19saXN0X2RlbGV0ZV9pdGVtYC4KLQotLiBDYW4gcmVtb3ZlIGl0ZW1zIG5vdCBtYXRjaGluZyBhIGNyaXRlcmlvbiBmcm9tIGEgc29ydGVkIG9yIHVuc29ydGVkCi0gIGxpc3QgdXNpbmcgYGZpbHRlcl9zdHJpbmdfbGlzdGAsIG9yIHJlbW92ZSBlbXB0eSBzdHJpbmdzIHVzaW5nCi0gIGBzdHJpbmdfbGlzdF9yZW1vdmVfZW1wdHlfaXRlbXNgLgotCi0uIEZpbmFsbHkgaXQgc2hvdWxkIGZyZWUgdGhlIGxpc3QgdXNpbmcgYHN0cmluZ19saXN0X2NsZWFyYC4KLQotRXhhbXBsZToKLQotLS0tLQotc3RydWN0IHN0cmluZ19saXN0IGxpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwotaW50IGk7Ci0KLXN0cmluZ19saXN0X2FwcGVuZCgmbGlzdCwgImZvbyIpOwotc3RyaW5nX2xpc3RfYXBwZW5kKCZsaXN0LCAiYmFyIik7Ci1mb3IgKGkgPSAwOyBpIDwgbGlzdC5ucjsgaSsrKQotCXByaW50ZigiJXNcbiIsIGxpc3QuaXRlbXNbaV0uc3RyaW5nKQotLS0tLQotCi1OT1RFOiBJdCBpcyBtb3JlIGVmZmljaWVudCB0byBidWlsZCBhbiB1bnNvcnRlZCBsaXN0IGFuZCBzb3J0IGl0Ci1hZnRlcndhcmRzLCBpbnN0ZWFkIG9mIGJ1aWxkaW5nIGEgc29ydGVkIGxpc3QgKGBPKG4gbG9nIG4pYCBpbnN0ZWFkIG9mCi1gTyhuXjIpYCkuCi0rCi1Ib3dldmVyLCBpZiB5b3UgdXNlIHRoZSBsaXN0IHRvIGNoZWNrIGlmIGEgY2VydGFpbiBzdHJpbmcgd2FzIGFkZGVkCi1hbHJlYWR5LCB5b3Ugc2hvdWxkIG5vdCBkbyB0aGF0ICh1c2luZyB1bnNvcnRlZF9zdHJpbmdfbGlzdF9oYXNfc3RyaW5nKCkpLAotYmVjYXVzZSB0aGUgY29tcGxleGl0eSB3b3VsZCBiZSBxdWFkcmF0aWMgYWdhaW4gKGJ1dCB3aXRoIGEgd29yc2UgZmFjdG9yKS4KLQotRnVuY3Rpb25zCi0tLS0tLS0tLS0KLQotKiBHZW5lcmFsIG9uZXMgKHdvcmtzIHdpdGggc29ydGVkIGFuZCB1bnNvcnRlZCBsaXN0cyBhcyB3ZWxsKQotCi1gc3RyaW5nX2xpc3RfaW5pdGA6OgotCi0JSW5pdGlhbGl6ZSB0aGUgbWVtYmVycyBvZiB0aGUgc3RyaW5nX2xpc3QsIHNldCBgc3RyZHVwX3N0cmluZ3NgCi0JbWVtYmVyIGFjY29yZGluZyB0byB0aGUgdmFsdWUgb2YgdGhlIHNlY29uZCBwYXJhbWV0ZXIuCi0KLWBmaWx0ZXJfc3RyaW5nX2xpc3RgOjoKLQotCUFwcGx5IGEgZnVuY3Rpb24gdG8gZWFjaCBpdGVtIGluIGEgbGlzdCwgcmV0YWluaW5nIG9ubHkgdGhlCi0JaXRlbXMgZm9yIHdoaWNoIHRoZSBmdW5jdGlvbiByZXR1cm5zIHRydWUuICBJZiBmcmVlX3V0aWwgaXMKLQl0cnVlLCBjYWxsIGZyZWUoKSBvbiB0aGUgdXRpbCBtZW1iZXJzIG9mIGFueSBpdGVtcyB0aGF0IGhhdmUKLQl0byBiZSBkZWxldGVkLiAgUHJlc2VydmUgdGhlIG9yZGVyIG9mIHRoZSBpdGVtcyB0aGF0IGFyZQotCXJldGFpbmVkLgotCi1gc3RyaW5nX2xpc3RfcmVtb3ZlX2VtcHR5X2l0ZW1zYDo6Ci0KLQlSZW1vdmUgYW55IGVtcHR5IHN0cmluZ3MgZnJvbSB0aGUgbGlzdC4gIElmIGZyZWVfdXRpbCBpcyB0cnVlLAotCWNhbGwgZnJlZSgpIG9uIHRoZSB1dGlsIG1lbWJlcnMgb2YgYW55IGl0ZW1zIHRoYXQgaGF2ZSB0byBiZQotCWRlbGV0ZWQuICBQcmVzZXJ2ZSB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zIHRoYXQgYXJlIHJldGFpbmVkLgotCi1gcHJpbnRfc3RyaW5nX2xpc3RgOjoKLQotCUR1bXAgYSBzdHJpbmdfbGlzdCB0byBzdGRvdXQsIHVzZWZ1bCBtYWlubHkgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4gSXQKLQljYW4gdGFrZSBhbiBvcHRpb25hbCBoZWFkZXIgYXJndW1lbnQgYW5kIGl0IHdyaXRlcyBvdXQgdGhlCi0Jc3RyaW5nLXBvaW50ZXIgcGFpcnMgb2YgdGhlIHN0cmluZ19saXN0LCBlYWNoIG9uZSBpbiBpdHMgb3duIGxpbmUuCi0KLWBzdHJpbmdfbGlzdF9jbGVhcmA6OgotCi0JRnJlZSBhIHN0cmluZ19saXN0LiBUaGUgYHN0cmluZ2AgcG9pbnRlciBvZiB0aGUgaXRlbXMgd2lsbCBiZSBmcmVlZCBpbgotCWNhc2UgdGhlIGBzdHJkdXBfc3RyaW5nc2AgbWVtYmVyIG9mIHRoZSBzdHJpbmdfbGlzdCBpcyBzZXQuIFRoZSBzZWNvbmQKLQlwYXJhbWV0ZXIgY29udHJvbHMgaWYgdGhlIGB1dGlsYCBwb2ludGVyIG9mIHRoZSBpdGVtcyBzaG91bGQgYmUgZnJlZWQKLQlvciBub3QuCi0KLSogRnVuY3Rpb25zIGZvciBzb3J0ZWQgbGlzdHMgb25seQotCi1gc3RyaW5nX2xpc3RfaGFzX3N0cmluZ2A6OgotCi0JRGV0ZXJtaW5lIGlmIHRoZSBzdHJpbmdfbGlzdCBoYXMgYSBnaXZlbiBzdHJpbmcgb3Igbm90LgotCi1gc3RyaW5nX2xpc3RfaW5zZXJ0YDo6Ci0KLQlJbnNlcnQgYSBuZXcgZWxlbWVudCB0byB0aGUgc3RyaW5nX2xpc3QuIFRoZSByZXR1cm5lZCBwb2ludGVyIGNhbiBiZQotCWhhbmR5IGlmIHlvdSB3YW50IHRvIHdyaXRlIHNvbWV0aGluZyB0byB0aGUgYHV0aWxgIHBvaW50ZXIgb2YgdGhlCi0Jc3RyaW5nX2xpc3RfaXRlbSBjb250YWluaW5nIHRoZSBqdXN0IGFkZGVkIHN0cmluZy4gSWYgdGhlIGdpdmVuCi0Jc3RyaW5nIGFscmVhZHkgZXhpc3RzIHRoZSBpbnNlcnRpb24gd2lsbCBiZSBza2lwcGVkIGFuZCB0aGUKLQlwb2ludGVyIHRvIHRoZSBleGlzdGluZyBpdGVtIHJldHVybmVkLgotKwotU2luY2UgdGhpcyBmdW5jdGlvbiB1c2VzIHhyZWFsbG9jKCkgKHdoaWNoIGRpZSgpcyBpZiBpdCBmYWlscykgaWYgdGhlCi1saXN0IG5lZWRzIHRvIGdyb3csIGl0IGlzIHNhZmUgbm90IHRvIGNoZWNrIHRoZSBwb2ludGVyLiBJLmUuIHlvdSBtYXkKLXdyaXRlIGBzdHJpbmdfbGlzdF9pbnNlcnQoLi4uKS0+dXRpbCA9IC4uLjtgLgotCi1gc3RyaW5nX2xpc3RfbG9va3VwYDo6Ci0KLQlMb29rIHVwIGEgZ2l2ZW4gc3RyaW5nIGluIHRoZSBzdHJpbmdfbGlzdCwgcmV0dXJuaW5nIHRoZSBjb250YWluaW5nCi0Jc3RyaW5nX2xpc3RfaXRlbS4gSWYgdGhlIHN0cmluZyBpcyBub3QgZm91bmQsIE5VTEwgaXMgcmV0dXJuZWQuCi0KLWBzdHJpbmdfbGlzdF9yZW1vdmVfZHVwbGljYXRlc2A6OgotCi0JUmVtb3ZlIGFsbCBidXQgdGhlIGZpcnN0IG9mIGNvbnNlY3V0aXZlIGVudHJpZXMgdGhhdCBoYXZlIHRoZQotCXNhbWUgc3RyaW5nIHZhbHVlLiAgSWYgZnJlZV91dGlsIGlzIHRydWUsIGNhbGwgZnJlZSgpIG9uIHRoZQotCXV0aWwgbWVtYmVycyBvZiBhbnkgaXRlbXMgdGhhdCBoYXZlIHRvIGJlIGRlbGV0ZWQuCi0KLSogRnVuY3Rpb25zIGZvciB1bnNvcnRlZCBsaXN0cyBvbmx5Ci0KLWBzdHJpbmdfbGlzdF9hcHBlbmRgOjoKLQotCUFwcGVuZCBhIG5ldyBzdHJpbmcgdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nX2xpc3QuICBJZgotCWBzdHJkdXBfc3RyaW5nYCBpcyBzZXQsIHRoZW4gdGhlIHN0cmluZyBhcmd1bWVudCBpcyBjb3BpZWQ7Ci0Jb3RoZXJ3aXNlIHRoZSBuZXcgYHN0cmluZ19saXN0X2VudHJ5YCByZWZlcnMgdG8gdGhlIGlucHV0Ci0Jc3RyaW5nLgotCi1gc3RyaW5nX2xpc3RfYXBwZW5kX25vZHVwYDo6Ci0KLQlBcHBlbmQgYSBuZXcgc3RyaW5nIHRvIHRoZSBlbmQgb2YgdGhlIHN0cmluZ19saXN0LiAgVGhlIG5ldwotCWBzdHJpbmdfbGlzdF9lbnRyeWAgYWx3YXlzIHJlZmVycyB0byB0aGUgaW5wdXQgc3RyaW5nLCBldmVuIGlmCi0JYHN0cmR1cF9zdHJpbmdgIGlzIHNldC4gIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gaGFuZAotCW93bmVyc2hpcCBvZiBhIG1hbGxvYygpZWQgc3RyaW5nIHRvIGEgYHN0cmluZ19saXN0YCB0aGF0IGhhcwotCWBzdHJkdXBfc3RyaW5nYCBzZXQuCi0KLWBzdHJpbmdfbGlzdF9zb3J0YDo6Ci0KLQlTb3J0IHRoZSBsaXN0J3MgZW50cmllcyBieSBzdHJpbmcgdmFsdWUgaW4gYHN0cmNtcCgpYCBvcmRlci4KLQotYHVuc29ydGVkX3N0cmluZ19saXN0X2hhc19zdHJpbmdgOjoKLQotCUl0J3MgbGlrZSBgc3RyaW5nX2xpc3RfaGFzX3N0cmluZygpYCBidXQgZm9yIHVuc29ydGVkIGxpc3RzLgotCi1gdW5zb3J0ZWRfc3RyaW5nX2xpc3RfbG9va3VwYDo6Ci0KLQlJdCdzIGxpa2UgYHN0cmluZ19saXN0X2xvb2t1cCgpYCBidXQgZm9yIHVuc29ydGVkIGxpc3RzLgotKwotVGhlIGFib3ZlIHR3byBmdW5jdGlvbnMgbmVlZCB0byBsb29rIHRocm91Z2ggYWxsIGl0ZW1zLCBhcyBvcHBvc2VkIHRvIHRoZWlyCi1jb3VudGVycGFydCBmb3Igc29ydGVkIGxpc3RzLCB3aGljaCBwZXJmb3JtcyBhIGJpbmFyeSBzZWFyY2guCi0KLWB1bnNvcnRlZF9zdHJpbmdfbGlzdF9kZWxldGVfaXRlbWA6OgotCi0JUmVtb3ZlIGFuIGl0ZW0gZnJvbSBhIHN0cmluZ19saXN0LiBUaGUgYHN0cmluZ2AgcG9pbnRlciBvZiB0aGUgaXRlbXMKLQl3aWxsIGJlIGZyZWVkIGluIGNhc2UgdGhlIGBzdHJkdXBfc3RyaW5nc2AgbWVtYmVyIG9mIHRoZSBzdHJpbmdfbGlzdAotCWlzIHNldC4gVGhlIHRoaXJkIHBhcmFtZXRlciBjb250cm9scyBpZiB0aGUgYHV0aWxgIHBvaW50ZXIgb2YgdGhlCi0JaXRlbXMgc2hvdWxkIGJlIGZyZWVkIG9yIG5vdC4KLQotYHN0cmluZ19saXN0X3NwbGl0YDo6Ci1gc3RyaW5nX2xpc3Rfc3BsaXRfaW5fcGxhY2VgOjoKLQotCVNwbGl0IGEgc3RyaW5nIGludG8gc3Vic3RyaW5ncyBvbiBhIGRlbGltaXRlciBjaGFyYWN0ZXIgYW5kCi0JYXBwZW5kIHRoZSBzdWJzdHJpbmdzIHRvIGEgYHN0cmluZ19saXN0YC4gIElmIGBtYXhzcGxpdGAgaXMKLQlub24tbmVnYXRpdmUsIHRoZW4gc3BsaXQgYXQgbW9zdCBgbWF4c3BsaXRgIHRpbWVzLiAgUmV0dXJuIHRoZQotCW51bWJlciBvZiBzdWJzdHJpbmdzIGFwcGVuZGVkIHRvIHRoZSBsaXN0LgotKwotYHN0cmluZ19saXN0X3NwbGl0YCByZXF1aXJlcyBhIGBzdHJpbmdfbGlzdGAgdGhhdCBoYXMgYHN0cmR1cF9zdHJpbmdzYAotc2V0IHRvIHRydWU7IGl0IGxlYXZlcyB0aGUgaW5wdXQgc3RyaW5nIHVudG91Y2hlZCBhbmQgbWFrZXMgY29waWVzIG9mCi10aGUgc3Vic3RyaW5ncyBpbiBuZXdseS1hbGxvY2F0ZWQgbWVtb3J5LgotYHN0cmluZ19saXN0X3NwbGl0X2luX3BsYWNlYCByZXF1aXJlcyBhIGBzdHJpbmdfbGlzdGAgdGhhdCBoYXMKLWBzdHJkdXBfc3RyaW5nc2Agc2V0IHRvIGZhbHNlOyBpdCBzcGxpdHMgdGhlIGlucHV0IHN0cmluZyBpbiBwbGFjZSwKLW92ZXJ3cml0aW5nIHRoZSBkZWxpbWl0ZXIgY2hhcmFjdGVycyB3aXRoIE5VTHMgYW5kIGNyZWF0aW5nIG5ldwotc3RyaW5nX2xpc3RfaXRlbXMgdGhhdCBwb2ludCBpbnRvIHRoZSBvcmlnaW5hbCBzdHJpbmcgKHRoZSBvcmlnaW5hbAotc3RyaW5nIG11c3QgdGhlcmVmb3JlIG5vdCBiZSBtb2RpZmllZCBvciBmcmVlZCB3aGlsZSB0aGUgYHN0cmluZ19saXN0YAotaXMgaW4gdXNlKS4KLQotCi1EYXRhIHN0cnVjdHVyZXMKLS0tLS0tLS0tLS0tLS0tLQotCi0qIGBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbWAKLQotUmVwcmVzZW50cyBhbiBpdGVtIG9mIHRoZSBsaXN0LiBUaGUgYHN0cmluZ2AgbWVtYmVyIGlzIGEgcG9pbnRlciB0byB0aGUKLXN0cmluZywgYW5kIHlvdSBtYXkgdXNlIHRoZSBgdXRpbGAgbWVtYmVyIGZvciBhbnkgcHVycG9zZSwgaWYgeW91IHdhbnQuCi0KLSogYHN0cnVjdCBzdHJpbmdfbGlzdGAKLQotUmVwcmVzZW50cyB0aGUgbGlzdCBpdHNlbGYuCi0KLS4gVGhlIGFycmF5IG9mIGl0ZW1zIGFyZSBhdmFpbGFibGUgdmlhIHRoZSBgaXRlbXNgIG1lbWJlci4KLS4gVGhlIGBucmAgbWVtYmVyIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YgaXRlbXMgc3RvcmVkIGluIHRoZSBsaXN0LgotLiBUaGUgYGFsbG9jYCBtZW1iZXIgaXMgdXNlZCB0byBhdm9pZCByZWFsbG9jYXRpbmcgYXQgZXZlcnkgaW5zZXJ0aW9uLgotICBZb3Ugc2hvdWxkIG5vdCB0YW1wZXIgd2l0aCBpdC4KLS4gU2V0dGluZyB0aGUgYHN0cmR1cF9zdHJpbmdzYCBtZW1iZXIgdG8gMSB3aWxsIHN0cmR1cCgpIHRoZSBzdHJpbmdzCi0gIGJlZm9yZSBhZGRpbmcgdGhlbSwgc2VlIGFib3ZlLgotLiBUaGUgYGNvbXBhcmVfc3RyaW5nc19mbmAgbWVtYmVyIGlzIHVzZWQgdG8gc3BlY2lmeSBhIGN1c3RvbSBjb21wYXJlCi0gIGZ1bmN0aW9uLCBvdGhlcndpc2UgYHN0cmNtcCgpYCBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0IGZ1bmN0aW9uLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXRyZWUtd2Fsa2luZy50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktdHJlZS13YWxraW5nLnR4dAppbmRleCAxNGFmMzdjLi5iZGUxODYyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktdHJlZS13YWxraW5nLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktdHJlZS13YWxraW5nLnR4dApAQCAtNTUsOSArNTUsOSBAQAogCiBgZmlsbF90cmVlX2Rlc2NyaXB0b3JgOjoKIAotCUluaXRpYWxpemUgYSBgdHJlZV9kZXNjYCBhbmQgZGVjb2RlIGl0cyBmaXJzdCBlbnRyeSBnaXZlbiB0aGUgc2hhMSBvZgotCWEgdHJlZS4gUmV0dXJucyB0aGUgYGJ1ZmZlcmAgbWVtYmVyIGlmIHRoZSBzaGExIGlzIGEgdmFsaWQgdHJlZQotCWlkZW50aWZpZXIgYW5kIE5VTEwgb3RoZXJ3aXNlLgorCUluaXRpYWxpemUgYSBgdHJlZV9kZXNjYCBhbmQgZGVjb2RlIGl0cyBmaXJzdCBlbnRyeSBnaXZlbiB0aGUKKwlvYmplY3QgSUQgb2YgYSB0cmVlLiBSZXR1cm5zIHRoZSBgYnVmZmVyYCBtZW1iZXIgaWYgdGhlIGxhdHRlcgorCWlzIGEgdmFsaWQgdHJlZSBpZGVudGlmaWVyIGFuZCBOVUxMIG90aGVyd2lzZS4KIAogYHNldHVwX3RyYXZlcnNlX2luZm9gOjoKIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1wcm90b2NvbC50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dAppbmRleCBjNTlhYzk5Li5lZDFlYWU4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dApAQCAtMTk5LDcgKzE5OSw3IEBACiB0ZXJtaW5hdGUgdGhlIGNvbm5lY3Rpb24gYnkgc2VuZGluZyBhIGZsdXNoLXBrdCwgdGVsbGluZyB0aGUgc2VydmVyIGl0IGNhbgogbm93IGdyYWNlZnVsbHkgdGVybWluYXRlLCBhbmQgZGlzY29ubmVjdCwgd2hlbiBpdCBkb2VzIG5vdCBuZWVkIGFueSBwYWNrCiBkYXRhLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCB0aGUgbHMtcmVtb3RlIGNvbW1hbmQsIGFuZCBhbHNvIGNhbiBoYXBwZW4gd2hlbgotdGhlIGNsaWVudCBhbHJlYWR5IGlzIHVwLXRvLWRhdGUuCit0aGUgY2xpZW50IGFscmVhZHkgaXMgdXAgdG8gZGF0ZS4KIAogT3RoZXJ3aXNlLCBpdCBlbnRlcnMgdGhlIG5lZ290aWF0aW9uIHBoYXNlLCB3aGVyZSB0aGUgY2xpZW50IGFuZAogc2VydmVyIGRldGVybWluZSB3aGF0IHRoZSBtaW5pbWFsIHBhY2tmaWxlIG5lY2Vzc2FyeSBmb3IgdHJhbnNwb3J0IGlzLApAQCAtMzUxLDE0ICszNTEsMTkgQEAKIG11bHRpX2Fja19kZXRhaWxlZCBpcyBlbmFibGVkLiBUaGUgc2VydmVyIGFsd2F5cyBzZW5kcyBOQUsgYWZ0ZXIgJ2RvbmUnCiBpZiB0aGVyZSBpcyBubyBjb21tb24gYmFzZSBmb3VuZC4KIAorSW5zdGVhZCBvZiAnQUNLJyBvciAnTkFLJywgdGhlIHNlcnZlciBtYXkgc2VuZCBhbiBlcnJvciBtZXNzYWdlIChmb3IKK2V4YW1wbGUsIGlmIGl0IGRvZXMgbm90IHJlY29nbml6ZSBhbiBvYmplY3QgaW4gYSAnd2FudCcgbGluZSByZWNlaXZlZAorZnJvbSB0aGUgY2xpZW50KS4KKwogVGhlbiB0aGUgc2VydmVyIHdpbGwgc3RhcnQgc2VuZGluZyBpdHMgcGFja2ZpbGUgZGF0YS4KIAogLS0tLQotICBzZXJ2ZXItcmVzcG9uc2UgPSAqYWNrX211bHRpIGFjayAvIG5haworICBzZXJ2ZXItcmVzcG9uc2UgPSAqYWNrX211bHRpIGFjayAvIG5hayAvIGVycm9yLWxpbmUKICAgYWNrX211bHRpICAgICAgID0gUEtULUxJTkUoIkFDSyIgU1Agb2JqLWlkIGFja19zdGF0dXMpCiAgIGFja19zdGF0dXMgICAgICA9ICJjb250aW51ZSIgLyAiY29tbW9uIiAvICJyZWFkeSIKICAgYWNrICAgICAgICAgICAgID0gUEtULUxJTkUoIkFDSyIgU1Agb2JqLWlkKQogICBuYWsgICAgICAgICAgICAgPSBQS1QtTElORSgiTkFLIikKKyAgZXJyb3ItbGluZSAgICAgPSAgUEtULUxJTkUoIkVSUiIgU1AgZXhwbGFuYXRpb24tdGV4dCkKIC0tLS0KIAogQSBzaW1wbGUgY2xvbmUgbWF5IGxvb2sgbGlrZSB0aGlzICh3aXRoIG5vICdoYXZlJyBsaW5lcyk6CkBAIC00NjgsMTMgKzQ3MywxMCBAQAogdGhlIHNlcnZlciwgdGhlIG9iai1pZCB0aGUgY2xpZW50IHdvdWxkIGxpa2UgdG8gdXBkYXRlIGl0IHRvIGFuZCB0aGUgbmFtZQogb2YgdGhlIHJlZmVyZW5jZS4KIAotVGhpcyBsaXN0IGlzIGZvbGxvd2VkIGJ5IGEgZmx1c2gtcGt0LiBUaGVuIHRoZSBwdXNoIG9wdGlvbnMgYXJlIHRyYW5zbWl0dGVkCi1vbmUgcGVyIHBhY2tldCBmb2xsb3dlZCBieSBhbm90aGVyIGZsdXNoLXBrdC4gQWZ0ZXIgdGhhdCB0aGUgcGFja2ZpbGUgdGhhdAotc2hvdWxkIGNvbnRhaW4gYWxsIHRoZSBvYmplY3RzIHRoYXQgdGhlIHNlcnZlciB3aWxsIG5lZWQgdG8gY29tcGxldGUgdGhlIG5ldwotcmVmZXJlbmNlcyB3aWxsIGJlIHNlbnQuCitUaGlzIGxpc3QgaXMgZm9sbG93ZWQgYnkgYSBmbHVzaC1wa3QuCiAKIC0tLS0KLSAgdXBkYXRlLXJlcXVlc3QgICAgPSAgKnNoYWxsb3cgKCBjb21tYW5kLWxpc3QgfCBwdXNoLWNlcnQgKSBbcGFja2ZpbGVdCisgIHVwZGF0ZS1yZXF1ZXN0cyAgID0gICpzaGFsbG93ICggY29tbWFuZC1saXN0IHwgcHVzaC1jZXJ0ICkKIAogICBzaGFsbG93ICAgICAgICAgICA9ICBQS1QtTElORSgic2hhbGxvdyIgU1Agb2JqLWlkKQogCkBAIC00OTUsMTIgKzQ5NywzNSBAQAogCQkgICAgICBQS1QtTElORSgicHVzaGVyIiBTUCBpZGVudCBMRikKIAkJICAgICAgUEtULUxJTkUoInB1c2hlZSIgU1AgdXJsIExGKQogCQkgICAgICBQS1QtTElORSgibm9uY2UiIFNQIG5vbmNlIExGKQorCQkgICAgICAqUEtULUxJTkUoInB1c2gtb3B0aW9uIiBTUCBwdXNoLW9wdGlvbiBMRikKIAkJICAgICAgUEtULUxJTkUoTEYpCiAJCSAgICAgICpQS1QtTElORShjb21tYW5kIExGKQogCQkgICAgICAqUEtULUxJTkUoZ3BnLXNpZ25hdHVyZS1saW5lcyBMRikKIAkJICAgICAgUEtULUxJTkUoInB1c2gtY2VydC1lbmQiIExGKQogCi0gIHBhY2tmaWxlICAgICAgICAgID0gIlBBQ0siIDI4KihPQ1RFVCkKKyAgcHVzaC1vcHRpb24gICAgICAgPSAgMSooIFZDSEFSIHwgU1AgKQorLS0tLQorCitJZiB0aGUgc2VydmVyIGhhcyBhZHZlcnRpc2VkIHRoZSAncHVzaC1vcHRpb25zJyBjYXBhYmlsaXR5IGFuZCB0aGUgY2xpZW50IGhhcworc3BlY2lmaWVkICdwdXNoLW9wdGlvbnMnIGFzIHBhcnQgb2YgdGhlIGNhcGFiaWxpdHkgbGlzdCBhYm92ZSwgdGhlIGNsaWVudCB0aGVuCitzZW5kcyBpdHMgcHVzaCBvcHRpb25zIGZvbGxvd2VkIGJ5IGEgZmx1c2gtcGt0LgorCistLS0tCisgIHB1c2gtb3B0aW9ucyAgICAgID0gICpQS1QtTElORShwdXNoLW9wdGlvbikgZmx1c2gtcGt0CistLS0tCisKK0ZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIEdpdCBzZXJ2ZXJzLCBpZiB0aGUgY2xpZW50IHNlbmRzIGEgcHVzaAorY2VydCBhbmQgcHVzaCBvcHRpb25zLCBpdCBNVVNUIHNlbmQgaXRzIHB1c2ggb3B0aW9ucyBib3RoIGVtYmVkZGVkIHdpdGhpbiB0aGUKK3B1c2ggY2VydCBhbmQgYWZ0ZXIgdGhlIHB1c2ggY2VydC4gKE5vdGUgdGhhdCB0aGUgcHVzaCBvcHRpb25zIHdpdGhpbiB0aGUgY2VydAorYXJlIHByZWZpeGVkLCBidXQgdGhlIHB1c2ggb3B0aW9ucyBhZnRlciB0aGUgY2VydCBhcmUgbm90LikgQm90aCB0aGVzZSBsaXN0cworTVVTVCBiZSB0aGUgc2FtZSwgbW9kdWxvIHRoZSBwcmVmaXguCisKK0FmdGVyIHRoYXQgdGhlIHBhY2tmaWxlIHRoYXQKK3Nob3VsZCBjb250YWluIGFsbCB0aGUgb2JqZWN0cyB0aGF0IHRoZSBzZXJ2ZXIgd2lsbCBuZWVkIHRvIGNvbXBsZXRlIHRoZSBuZXcKK3JlZmVyZW5jZXMgd2lsbCBiZSBzZW50LgorCistLS0tCisgIHBhY2tmaWxlICAgICAgICAgID0gICJQQUNLIiAyOCooT0NURVQpCiAtLS0tCiAKIElmIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgZGVsZXRlLXJlZnMsIHRoZSBzZW5kaW5nIGVuZCBNVVNUCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC90cml2aWFsLW1lcmdlLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3RyaXZpYWwtbWVyZ2UudHh0CmluZGV4IGM3OWQ0YTcuLjFmMWMzM2QgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3RyaXZpYWwtbWVyZ2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3RyaXZpYWwtbWVyZ2UudHh0CkBAIC0zMiw3ICszMiw3IEBACiBJZiBtdWx0aXBsZSBjYXNlcyBhcHBseSwgdGhlIG9uZSB1c2VkIGlzIGxpc3RlZCBmaXJzdC4KIAogQSByZXN1bHQgd2hpY2ggY2hhbmdlcyB0aGUgaW5kZXggaXMgYW4gZXJyb3IgaWYgdGhlIGluZGV4IGlzIG5vdCBlbXB0eQotYW5kIG5vdCB1cC10by1kYXRlLgorYW5kIG5vdCB1cCB0byBkYXRlLgogCiBFbnRyaWVzIG1hcmtlZCAnKycgaGF2ZSBzdGF0IGluZm9ybWF0aW9uLiBTcGFjZXMgbWFya2VkICcqJyBkb24ndAogYWZmZWN0IHRoZSByZXN1bHQuCkBAIC02NSw3ICs2NSw3IEBACiBsZWZ0IGluIHN0YWdlIDAsIGFuZCB0aGVyZSBhcmUgbm8gb3RoZXIgZW50cmllcy4KIAogQSByZXN1bHQgb2YgIm5vIG1lcmdlIiBpcyBhbiBlcnJvciBpZiB0aGUgaW5kZXggaXMgbm90IGVtcHR5IGFuZCBub3QKLXVwLXRvLWRhdGUuCit1cCB0byBkYXRlLgogCiAqZW1wdHkqIG1lYW5zIHRoYXQgdGhlIHRyZWUgbXVzdCBub3QgaGF2ZSBhIGRpcmVjdG9yeS1maWxlIGNvbmZsaWN0CiAgd2l0aCB0aGUgZW50cnkuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3VzZXItbWFudWFsLnR4dCBiL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CmluZGV4IGJjMjkyOTguLmI0ZDg4YWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CkBAIC0yMDQ0LDEwICsyMDQ0LDEyIEBACiByZW1vdGUgYnJhbmNoLCB0aGVuIGl0IHdpbGwgZmFpbCB3aXRoIGFuIGVycm9yIGxpa2U6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWVycm9yOiByZW1vdGUgJ3JlZnMvaGVhZHMvbWFzdGVyJyBpcyBub3QgYW4gYW5jZXN0b3Igb2YKLSBsb2NhbCAgJ3JlZnMvaGVhZHMvbWFzdGVyJy4KLSBNYXliZSB5b3UgYXJlIG5vdCB1cC10by1kYXRlIGFuZCBuZWVkIHRvIHB1bGwgZmlyc3Q/Ci1lcnJvcjogZmFpbGVkIHRvIHB1c2ggdG8gJ3NzaDovL3lvdXJzZXJ2ZXIuY29tL355b3UvcHJvai5naXQnCisgISBbcmVqZWN0ZWRdICAgICAgICBtYXN0ZXIgLT4gbWFzdGVyIChub24tZmFzdC1mb3J3YXJkKQorZXJyb3I6IGZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnLi4uJworaGludDogVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZAoraGludDogaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLgoraGludDogJ2dpdCBwdWxsIC4uLicpIGJlZm9yZSBwdXNoaW5nIGFnYWluLgoraGludDogU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogVGhpcyBjYW4gaGFwcGVuLCBmb3IgZXhhbXBsZSwgaWYgeW91OgpAQCAtMjE5Myw3ICsyMTk1LDcgQEAKIExpbnVzJ3MgdHJlZSB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBuYW1lZCBvcmlnaW4vbWFzdGVyLAogYW5kIGNhbiBiZSB1cGRhdGVkIHVzaW5nIGxpbmtnaXQ6Z2l0LWZldGNoWzFdOyB5b3UgY2FuIHRyYWNrIG90aGVyCiBwdWJsaWMgdHJlZXMgdXNpbmcgbGlua2dpdDpnaXQtcmVtb3RlWzFdIHRvIHNldCB1cCBhICJyZW1vdGUiIGFuZAotbGlua2dpdDpnaXQtZmV0Y2hbMV0gdG8ga2VlcCB0aGVtIHVwLXRvLWRhdGU7IHNlZQorbGlua2dpdDpnaXQtZmV0Y2hbMV0gdG8ga2VlcCB0aGVtIHVwIHRvIGRhdGU7IHNlZQogPDxyZXBvc2l0b3JpZXMtYW5kLWJyYW5jaGVzPj4uCiAKIE5vdyBjcmVhdGUgdGhlIGJyYW5jaGVzIGluIHdoaWNoIHlvdSBhcmUgZ29pbmcgdG8gd29yazsgdGhlc2Ugc3RhcnQgb3V0CmRpZmYgLS1naXQgYS9HSVQtVkVSU0lPTi1HRU4gYi9HSVQtVkVSU0lPTi1HRU4KaW5kZXggNWE2MTkzYS4uNzViZWIyZSAxMDA3NTUKLS0tIGEvR0lULVZFUlNJT04tR0VOCisrKyBiL0dJVC1WRVJTSU9OLUdFTgpAQCAtMSw3ICsxLDcgQEAKICMhL2Jpbi9zaAogCiBHVkY9R0lULVZFUlNJT04tRklMRQotREVGX1ZFUj12Mi4xMi41CitERUZfVkVSPXYyLjE0LkdJVAogCiBMRj0nCiAnCmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IGQ1NDU0Y2EuLmIxNDNlNGUgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC0xOSwxNiArMTksMzQgQEAKICMgaGF2ZSBiZWVuIHdyaXR0ZW4gdG8gdGhlIGZpbmFsIHN0cmluZyBpZiBlbm91Z2ggc3BhY2UgaGFkIGJlZW4gYXZhaWxhYmxlLgogIwogIyBEZWZpbmUgRlJFQURfUkVBRFNfRElSRUNUT1JJRVMgaWYgeW91IGFyZSBvbiBhIHN5c3RlbSB3aGljaCBzdWNjZWVkcwotIyB3aGVuIGF0dGVtcHRpbmcgdG8gcmVhZCBmcm9tIGFuIGZvcGVuJ2VkIGRpcmVjdG9yeS4KKyMgd2hlbiBhdHRlbXB0aW5nIHRvIHJlYWQgZnJvbSBhbiBmb3BlbidlZCBkaXJlY3RvcnkgKG9yIGV2ZW4gdG8gZm9wZW4KKyMgaXQgYXQgYWxsKS4KICMKICMgRGVmaW5lIE5PX09QRU5TU0wgZW52aXJvbm1lbnQgdmFyaWFibGUgaWYgeW91IGRvIG5vdCBoYXZlIE9wZW5TU0wuCiAjIFRoaXMgYWxzbyBpbXBsaWVzIEJMS19TSEExLgogIwotIyBEZWZpbmUgVVNFX0xJQlBDUkUgaWYgeW91IGhhdmUgYW5kIHdhbnQgdG8gdXNlIGxpYnBjcmUuIGdpdC1ncmVwIHdpbGwgYmUKLSMgYWJsZSB0byB1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCisjIERlZmluZSBVU0VfTElCUENSRSBpZiB5b3UgaGF2ZSBhbmQgd2FudCB0byB1c2UgbGlicGNyZS4gVmFyaW91cworIyBjb21tYW5kcyBzdWNoIGFzIGxvZyBhbmQgZ3JlcCBvZmZlciBydW50aW1lIG9wdGlvbnMgdG8gdXNlCisjIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3IgZXh0ZW5kZWQKKyMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucy4KICMKLSMgRGVmaW5lIExJQlBDUkVESVI9L2Zvby9iYXIgaWYgeW91ciBsaWJwY3JlIGhlYWRlciBhbmQgbGlicmFyeSBmaWxlcyBhcmUgaW4KLSMgL2Zvby9iYXIvaW5jbHVkZSBhbmQgL2Zvby9iYXIvbGliIGRpcmVjdG9yaWVzLgorIyBDdXJyZW50bHkgVVNFX0xJQlBDUkUgaXMgYSBzeW5vbnltIGZvciBVU0VfTElCUENSRTEsIGRlZmluZQorIyBVU0VfTElCUENSRTIgaW5zdGVhZCBpZiB5b3UnZCBsaWtlIHRvIHVzZSB2ZXJzaW9uIDIgb2YgdGhlIFBDUkUKKyMgbGlicmFyeS4gVGhlIFVTRV9MSUJQQ1JFIGZsYWcgd2lsbCBsaWtlbHkgYmUgY2hhbmdlZCB0byBtZWFuIHYyIGJ5CisjIGRlZmF1bHQgaW4gZnV0dXJlIHJlbGVhc2VzLgorIworIyBXaGVuIHVzaW5nIFVTRV9MSUJQQ1JFMSwgZGVmaW5lIE5PX0xJQlBDUkUxX0pJVCBpZiB0aGUgUENSRSB2MQorIyBsaWJyYXJ5IGlzIGNvbXBpbGVkIHdpdGhvdXQgLS1lbmFibGUtaml0LiBXZSB3aWxsIGF1dG8tZGV0ZWN0CisjIHdoZXRoZXIgdGhlIHZlcnNpb24gb2YgdGhlIFBDUkUgdjEgbGlicmFyeSBpbiB1c2UgaGFzIEpJVCBzdXBwb3J0IGF0CisjIGFsbCwgYnV0IHdlIHVuZm9ydHVuYXRlbHkgY2FuJ3QgYXV0by1kZXRlY3Qgd2hldGhlciBKSVQgc3VwcG9ydAorIyBoYXNuJ3QgYmVlbiBjb21waWxlZCBpbiBpbiBhbiBvdGhlcndpc2UgSklULXN1cHBvcnRpbmcgdmVyc2lvbi4gSWYKKyMgeW91IGhhdmUgbGluay10aW1lIGVycm9ycyBhYm91dCBhIG1pc3NpbmcgYHBjcmVfaml0X2V4ZWNgIGRlZmluZQorIyB0aGlzLCBvciByZWNvbXBpbGUgUENSRSB2MSB3aXRoIC0tZW5hYmxlLWppdC4KKyMKKyMgRGVmaW5lIExJQlBDUkVESVI9L2Zvby9iYXIgaWYgeW91ciBQQ1JFIGhlYWRlciBhbmQgbGlicmFyeSBmaWxlcyBhcmUKKyMgaW4gL2Zvby9iYXIvaW5jbHVkZSBhbmQgL2Zvby9iYXIvbGliIGRpcmVjdG9yaWVzLiBXaGljaCB2ZXJzaW9uIG9mCisjIFBDUkUgdGhpcyBwb2ludHMgdG8gZGV0ZXJtaW5lZCBieSB0aGUgVVNFX0xJQlBDUkUxIGFuZCBVU0VfTElCUENSRTIKKyMgdmFyaWFibGVzLgogIwogIyBEZWZpbmUgSEFWRV9BTExPQ0FfSCBpZiB5b3UgaGF2ZSB3b3JraW5nIGFsbG9jYSgzKSBkZWZpbmVkIGluIHRoYXQgaGVhZGVyLgogIwpAQCAtMTQwLDYgKzE1OCwyNCBAQAogIyBEZWZpbmUgUFBDX1NIQTEgZW52aXJvbm1lbnQgdmFyaWFibGUgd2hlbiBydW5uaW5nIG1ha2UgdG8gbWFrZSB1c2Ugb2YKICMgYSBidW5kbGVkIFNIQTEgcm91dGluZSBvcHRpbWl6ZWQgZm9yIFBvd2VyUEMuCiAjCisjIERlZmluZSBEQ19TSEExIHRvIHVuY29uZGl0aW9uYWxseSBlbmFibGUgdGhlIGNvbGxpc2lvbi1kZXRlY3Rpbmcgc2hhMQorIyBhbGdvcml0aG0uIFRoaXMgaXMgc2xvd2VyLCBidXQgbWF5IGRldGVjdCBhdHRlbXB0ZWQgY29sbGlzaW9uIGF0dGFja3MuCisjIFRha2VzIHByaW9yaXR5IG92ZXIgb3RoZXIgKl9TSEExIGtub2JzLgorIworIyBEZWZpbmUgRENfU0hBMV9FWFRFUk5BTCBpbiBhZGRpdGlvbiB0byBEQ19TSEExIGlmIHlvdSB3YW50IHRvIGJ1aWxkIC8gbGluaworIyBnaXQgd2l0aCB0aGUgZXh0ZXJuYWwgU0hBMSBjb2xsaXNpb24tZGV0ZWN0IGxpYnJhcnkuCisjIFdpdGhvdXQgdGhpcyBvcHRpb24sIGkuZS4gdGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gYnVpbGQgZ2l0IHdpdGggaXRzCisjIG93biBidWlsdC1pbiBjb2RlIChvciBzdWJtb2R1bGUpLgorIworIyBEZWZpbmUgRENfU0hBMV9TVUJNT0RVTEUgaW4gYWRkaXRpb24gdG8gRENfU0hBMSB0byB1c2UgdGhlCisjIHNoYTFjb2xsaXNpb25kZXRlY3Rpb24gc2hpcHBlZCBhcyBhIHN1Ym1vZHVsZSBpbnN0ZWFkIG9mIHRoZQorIyBub24tc3VibW9kdWxlIGNvcHkgaW4gc2hhMWRjLy4gVGhpcyBpcyBhbiBleHBlcmltZW50YWwgb3B0aW9uIHVzZWQKKyMgYnkgdGhlIGdpdCBwcm9qZWN0IHRvIG1pZ3JhdGUgdG8gdXNpbmcgc2hhMWNvbGxpc2lvbmRldGVjdGlvbiBhcyBhCisjIHN1Ym1vZHVsZS4KKyMKKyMgRGVmaW5lIE9QRU5TU0xfU0hBMSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aGVuIHJ1bm5pbmcgbWFrZSB0byBsaW5rCisjIHdpdGggdGhlIFNIQTEgcm91dGluZSBmcm9tIG9wZW5zc2wgbGlicmFyeS4KKyMKICMgRGVmaW5lIFNIQTFfTUFYX0JMT0NLX1NJWkUgdG8gbGltaXQgdGhlIGFtb3VudCBvZiBkYXRhIHRoYXQgd2lsbCBiZSBoYXNoZWQKICMgaW4gb25lIGNhbGwgdG8gdGhlIHBsYXRmb3JtJ3MgU0hBMV9VcGRhdGUoKS4gZS5nLiBBUFBMRV9DT01NT05fQ1JZUFRPCiAjIHdhbnRzICdTSEExX01BWF9CTE9DS19TSVpFPTEwMjRMKjEwMjRMKjEwMjRMJyBkZWZpbmVkLgpAQCAtMTY5LDYgKzIwNSw5IEBACiAjCiAjIERlZmluZSBOT19NTUFQIGlmIHlvdSB3YW50IHRvIGF2b2lkIG1tYXAuCiAjCisjIERlZmluZSBNTUFQX1BSRVZFTlRTX0RFTEVURSBpZiBhIGZpbGUgdGhhdCBpcyBjdXJyZW50bHkgbW1hcHBlZCBjYW5ub3QgYmUKKyMgZGVsZXRlZCBvciBjYW5ub3QgYmUgcmVwbGFjZWQgdXNpbmcgcmVuYW1lKCkuCisjCiAjIERlZmluZSBOT19TWVNfUE9MTF9IIGlmIHlvdSBkb24ndCBoYXZlIHN5cy9wb2xsLmguCiAjCiAjIERlZmluZSBOT19QT0xMIGlmIHlvdSBkbyBub3QgaGF2ZSBvciBkb24ndCB3YW50IHRvIHVzZSBwb2xsKCkuCkBAIC02MTQsMTQgKzY1MywxOCBAQAogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1nZW5yYW5kb20KIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3QtaGFzaG1hcAogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1pbmRleC12ZXJzaW9uCitURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LWxhenktaW5pdC1uYW1lLWhhc2gKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3QtbGluZS1idWZmZXIKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3QtbWF0Y2gtdHJlZXMKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3QtbWVyZ2Vzb3J0CiBURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LW1rdGVtcAorVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1vbmxpbmUtY3B1cwogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1wYXJzZS1vcHRpb25zCiBURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LXBhdGgtdXRpbHMKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3QtcHJpby1xdWV1ZQogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1yZWFkLWNhY2hlCitURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LXdyaXRlLWNhY2hlCitURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LXJlZi1zdG9yZQogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1yZWdleAogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1yZXZpc2lvbi13YWxraW5nCiBURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LXJ1bi1jb21tYW5kCkBAIC02MjksNiArNjcyLDcgQEAKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3Qtc2hhMQogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1zaGExLWFycmF5CiBURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LXNpZ2NoYWluCitURVNUX1BST0dSQU1TX05FRURfWCArPSB0ZXN0LXN0cmNtcC1vZmZzZXQKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3Qtc3RyaW5nLWxpc3QKIFRFU1RfUFJPR1JBTVNfTkVFRF9YICs9IHRlc3Qtc3VibW9kdWxlLWNvbmZpZwogVEVTVF9QUk9HUkFNU19ORUVEX1ggKz0gdGVzdC1zdWJwcm9jZXNzCkBAIC03MDcsNiArNzUxLDcgQEAKIExJQl9PQkpTICs9IGF0dHIubwogTElCX09CSlMgKz0gYmFzZTg1Lm8KIExJQl9PQkpTICs9IGJpc2VjdC5vCitMSUJfT0JKUyArPSBibGFtZS5vCiBMSUJfT0JKUyArPSBibG9iLm8KIExJQl9PQkpTICs9IGJyYW5jaC5vCiBMSUJfT0JKUyArPSBidWxrLWNoZWNraW4ubwpAQCAtNzc5LDYgKzgyNCw4IEBACiBMSUJfT0JKUyArPSBub3Rlcy1tZXJnZS5vCiBMSUJfT0JKUyArPSBub3Rlcy11dGlscy5vCiBMSUJfT0JKUyArPSBvYmplY3QubworTElCX09CSlMgKz0gb2lkc2V0Lm8KK0xJQl9PQkpTICs9IHBhY2tmaWxlLm8KIExJQl9PQkpTICs9IHBhY2stYml0bWFwLm8KIExJQl9PQkpTICs9IHBhY2stYml0bWFwLXdyaXRlLm8KIExJQl9PQkpTICs9IHBhY2stY2hlY2subwpAQCAtODA1LDkgKzg1MiwxMiBAQAogTElCX09CSlMgKz0gcmVmcy5vCiBMSUJfT0JKUyArPSByZWZzL2ZpbGVzLWJhY2tlbmQubwogTElCX09CSlMgKz0gcmVmcy9pdGVyYXRvci5vCitMSUJfT0JKUyArPSByZWZzL3BhY2tlZC1iYWNrZW5kLm8KK0xJQl9PQkpTICs9IHJlZnMvcmVmLWNhY2hlLm8KIExJQl9PQkpTICs9IHJlZi1maWx0ZXIubwogTElCX09CSlMgKz0gcmVtb3RlLm8KIExJQl9PQkpTICs9IHJlcGxhY2Vfb2JqZWN0Lm8KK0xJQl9PQkpTICs9IHJlcG9zaXRvcnkubwogTElCX09CSlMgKz0gcmVyZXJlLm8KIExJQl9PQkpTICs9IHJlc29sdmUtdW5kby5vCiBMSUJfT0JKUyArPSByZXZpc2lvbi5vCkBAIC04MjksNiArODc5LDcgQEAKIExJQl9PQkpTICs9IHN0cmluZy1saXN0Lm8KIExJQl9PQkpTICs9IHN1Ym1vZHVsZS5vCiBMSUJfT0JKUyArPSBzdWJtb2R1bGUtY29uZmlnLm8KK0xJQl9PQkpTICs9IHN1Yi1wcm9jZXNzLm8KIExJQl9PQkpTICs9IHN5bWxpbmtzLm8KIExJQl9PQkpTICs9IHRhZy5vCiBMSUJfT0JKUyArPSB0ZW1wZmlsZS5vCkBAIC05MzAsNiArOTgxLDcgQEAKIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3B1bGwubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcHVzaC5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZWFkLXRyZWUubworQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3JlZmxvZy5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZW1vdGUubwpAQCAtOTY5LDYgKzEwMjEsMTAgQEAKIAogR0lUX1VTRVJfQUdFTlQgPSBnaXQvJChHSVRfVkVSU0lPTikKIAoraWZlcSAoJCh3aWxkY2FyZCBzaGExY29sbGlzaW9uZGV0ZWN0aW9uL2xpYi9zaGExLmgpLHNoYTFjb2xsaXNpb25kZXRlY3Rpb24vbGliL3NoYTEuaCkKK0RDX1NIQTFfU1VCTU9EVUxFID0gYXV0bworZW5kaWYKKwogaW5jbHVkZSBjb25maWcubWFrLnVuYW1lCiAtaW5jbHVkZSBjb25maWcubWFrLmF1dG9nZW4KIC1pbmNsdWRlIGNvbmZpZy5tYWsKQEAgLTk3Nyw2ICsxMDMzLDIyIEBACiBDRkxBR1MgKz0gJChERVZFTE9QRVJfQ0ZMQUdTKQogZW5kaWYKIAorY29tbWEgOj0gLAorZW1wdHkgOj0KK3NwYWNlIDo9ICQoZW1wdHkpICQoZW1wdHkpCisKK2lmZGVmIFNBTklUSVpFCitTQU5JVElaRVJTIDo9ICQoZm9yZWFjaCBmbGFnLCQoc3Vic3QgJChjb21tYSksJChzcGFjZSksJChTQU5JVElaRSkpLCQoZmxhZykpCitCQVNJQ19DRkxBR1MgKz0gLWZzYW5pdGl6ZT0kKFNBTklUSVpFKSAtZm5vLXNhbml0aXplLXJlY292ZXI9JChTQU5JVElaRSkKK0JBU0lDX0NGTEFHUyArPSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlcgoraWZuZXEgKCQoZmlsdGVyIHVuZGVmaW5lZCwkKFNBTklUSVpFUlMpKSwpCitCQVNJQ19DRkxBR1MgKz0gLUROT19VTkFMSUdORURfTE9BRFMKK2VuZGlmCitpZm5lcSAoJChmaWx0ZXIgbGVhaywkKFNBTklUSVpFUlMpKSwpCitCQVNJQ19DRkxBR1MgKz0gLURTVVBQUkVTU19BTk5PVEFURURfTEVBS1MKK2VuZGlmCitlbmRpZgorCiBpZm5kZWYgc3lzY29uZmRpcgogaWZlcSAoJChwcmVmaXgpLC91c3IpCiBzeXNjb25mZGlyID0gL2V0YwpAQCAtMTA3MSwxMyArMTE0MywyOSBAQAogCUNPTVBBVF9PQkpTICs9IGNvbXBhdC9iYXNlbmFtZS5vCiBlbmRpZgogCi1pZmRlZiBVU0VfTElCUENSRQotCUJBU0lDX0NGTEFHUyArPSAtRFVTRV9MSUJQQ1JFCi0JaWZkZWYgTElCUENSRURJUgotCQlCQVNJQ19DRkxBR1MgKz0gLUkkKExJQlBDUkVESVIpL2luY2x1ZGUKLQkJRVhUTElCUyArPSAtTCQoTElCUENSRURJUikvJChsaWIpICQoQ0NfTERfRFlOUEFUSCkkKExJQlBDUkVESVIpLyQobGliKQorVVNFX0xJQlBDUkUxID89ICQoVVNFX0xJQlBDUkUpCisKK2lmbmVxICgsJChVU0VfTElCUENSRTEpKQorCWlmZGVmIFVTRV9MSUJQQ1JFMgorJChlcnJvciBPbmx5IHNldCBVU0VfTElCUENSRTEgKG9yIGl0cyBhbGlhcyBVU0VfTElCUENSRSkgb3IgVVNFX0xJQlBDUkUyLCBub3QgYm90aCEpCiAJZW5kaWYKKworCUJBU0lDX0NGTEFHUyArPSAtRFVTRV9MSUJQQ1JFMQogCUVYVExJQlMgKz0gLWxwY3JlCisKK2lmZGVmIE5PX0xJQlBDUkUxX0pJVAorCUJBU0lDX0NGTEFHUyArPSAtRE5PX0xJQlBDUkUxX0pJVAorZW5kaWYKK2VuZGlmCisKK2lmZGVmIFVTRV9MSUJQQ1JFMgorCUJBU0lDX0NGTEFHUyArPSAtRFVTRV9MSUJQQ1JFMgorCUVYVExJQlMgKz0gLWxwY3JlMi04CitlbmRpZgorCitpZmRlZiBMSUJQQ1JFRElSCisJQkFTSUNfQ0ZMQUdTICs9IC1JJChMSUJQQ1JFRElSKS9pbmNsdWRlCisJRVhUTElCUyArPSAtTCQoTElCUENSRURJUikvJChsaWIpICQoQ0NfTERfRFlOUEFUSCkkKExJQlBDUkVESVIpLyQobGliKQogZW5kaWYKIAogaWZkZWYgSEFWRV9BTExPQ0FfSApAQCAtMTMwNiw2ICsxMzk0LDkgQEAKIAkJQ09NUEFUX09CSlMgKz0gY29tcGF0L3dpbjMybW1hcC5vCiAJZW5kaWYKIGVuZGlmCitpZmRlZiBNTUFQX1BSRVZFTlRTX0RFTEVURQorCUJBU0lDX0NGTEFHUyArPSAtRE1NQVBfUFJFVkVOVFNfREVMRVRFCitlbmRpZgogaWZkZWYgT0JKRUNUX0NSRUFUSU9OX1VTRVNfUkVOQU1FUwogCUNPTVBBVF9DRkxBR1MgKz0gLURPQkpFQ1RfQ1JFQVRJT05fTU9ERT0xCiBlbmRpZgpAQCAtMTM4MSwyMCArMTQ3Miw0NyBAQAogCVNIQTFfTUFYX0JMT0NLX1NJWkUgPSAxMDI0TCoxMDI0TCoxMDI0TAogZW5kaWYKIAoraWZkZWYgT1BFTlNTTF9TSEExCisJRVhUTElCUyArPSAkKExJQl80X0NSWVBUTykKKwlCQVNJQ19DRkxBR1MgKz0gLURTSEExX09QRU5TU0wKK2Vsc2UKIGlmZGVmIEJMS19TSEExCi0JU0hBMV9IRUFERVIgPSAiYmxvY2stc2hhMS9zaGExLmgiCiAJTElCX09CSlMgKz0gYmxvY2stc2hhMS9zaGExLm8KKwlCQVNJQ19DRkxBR1MgKz0gLURTSEExX0JMSwogZWxzZQogaWZkZWYgUFBDX1NIQTEKLQlTSEExX0hFQURFUiA9ICJwcGMvc2hhMS5oIgogCUxJQl9PQkpTICs9IHBwYy9zaGExLm8gcHBjL3NoYTFwcGMubworCUJBU0lDX0NGTEFHUyArPSAtRFNIQTFfUFBDCiBlbHNlCiBpZmRlZiBBUFBMRV9DT01NT05fQ1JZUFRPCiAJQ09NUEFUX0NGTEFHUyArPSAtRENPTU1PTl9ESUdFU1RfRk9SX09QRU5TU0wKLQlTSEExX0hFQURFUiA9IDxDb21tb25DcnlwdG8vQ29tbW9uRGlnZXN0Lmg+CisJQkFTSUNfQ0ZMQUdTICs9IC1EU0hBMV9BUFBMRQogZWxzZQotCVNIQTFfSEVBREVSID0gPG9wZW5zc2wvc2hhLmg+Ci0JRVhUTElCUyArPSAkKExJQl80X0NSWVBUTykKKwlEQ19TSEExIDo9IFllc1BsZWFzZQorCUJBU0lDX0NGTEFHUyArPSAtRFNIQTFfREMKKwlMSUJfT0JKUyArPSBzaGExZGNfZ2l0Lm8KK2lmZGVmIERDX1NIQTFfRVhURVJOQUwKKwlpZmRlZiBEQ19TSEExX1NVQk1PRFVMRQorJChlcnJvciBPbmx5IHNldCBEQ19TSEExX0VYVEVSTkFMIG9yIERDX1NIQTFfU1VCTU9EVUxFLCBub3QgYm90aCkKKwllbmRpZgorCUJBU0lDX0NGTEFHUyArPSAtRERDX1NIQTFfRVhURVJOQUwKKwlFWFRMSUJTICs9IC1sc2hhMWRldGVjdGNvbGwKK2Vsc2UKK2lmZGVmIERDX1NIQTFfU1VCTU9EVUxFCisJTElCX09CSlMgKz0gc2hhMWNvbGxpc2lvbmRldGVjdGlvbi9saWIvc2hhMS5vCisJTElCX09CSlMgKz0gc2hhMWNvbGxpc2lvbmRldGVjdGlvbi9saWIvdWJjX2NoZWNrLm8KKwlCQVNJQ19DRkxBR1MgKz0gLUREQ19TSEExX1NVQk1PRFVMRQorZWxzZQorCUxJQl9PQkpTICs9IHNoYTFkYy9zaGExLm8KKwlMSUJfT0JKUyArPSBzaGExZGMvdWJjX2NoZWNrLm8KK2VuZGlmCisJQkFTSUNfQ0ZMQUdTICs9IFwKKwkJLURTSEExRENfTk9fU1RBTkRBUkRfSU5DTFVERVMgXAorCQktRFNIQTFEQ19JTklUX1NBRkVfSEFTSF9ERUZBVUxUPTAgXAorCQktRFNIQTFEQ19DVVNUT01fSU5DTFVERV9TSEExX0M9IlwiY2FjaGUuaFwiIiBcCisJCS1EU0hBMURDX0NVU1RPTV9JTkNMVURFX1VCQ19DSEVDS19DPSJcImdpdC1jb21wYXQtdXRpbC5oXCIiCitlbmRpZgorZW5kaWYKIGVuZGlmCiBlbmRpZgogZW5kaWYKQEAgLTE1ODYsNyArMTcwNCw2IEBACiAKICMgU2hlbGwgcXVvdGUgKGRvIG5vdCB1c2UgJChjYWxsKSB0byBhY2NvbW1vZGF0ZSBhbmNpZW50IHNldHVwcyk7CiAKLVNIQTFfSEVBREVSX1NRID0gJChzdWJzdCAnLCdcJycsJChTSEExX0hFQURFUikpCiBFVENfR0lUQ09ORklHX1NRID0gJChzdWJzdCAnLCdcJycsJChFVENfR0lUQ09ORklHKSkKIEVUQ19HSVRBVFRSSUJVVEVTX1NRID0gJChzdWJzdCAnLCdcJycsJChFVENfR0lUQVRUUklCVVRFUykpCiAKQEAgLTE2MTksOCArMTczNiw3IEBACiAjIGZyb20gdGhlIGRlcGVuZGVuY3kgbGlzdCwgdGhhdCB3b3VsZCBtYWtlIGVhY2ggZW50cnkgYXBwZWFyIHR3aWNlLgogTElCUyA9ICQoZmlsdGVyLW91dCAlLm8sICQoR0lUTElCUykpICQoRVhUTElCUykKIAotQkFTSUNfQ0ZMQUdTICs9IC1EU0hBMV9IRUFERVI9JyQoU0hBMV9IRUFERVJfU1EpJyBcCi0JJChDT01QQVRfQ0ZMQUdTKQorQkFTSUNfQ0ZMQUdTICs9ICQoQ09NUEFUX0NGTEFHUykKIExJQl9PQkpTICs9ICQoQ09NUEFUX09CSlMpCiAKICMgUXVvdGUgZm9yIEMKQEAgLTE4MzYsNiArMTk1Miw3IEBACiAKIHBlcmwvUE0uc3RhbXA6IEZPUkNFCiAJQCQoRklORCkgcGVybCAtdHlwZSBmIC1uYW1lICcqLnBtJyB8IHNvcnQgPiRAKyAmJiBcCisJJChQRVJMX1BBVEgpIC1WID4+JEArICYmIFwKIAl7IGNtcCAkQCsgJEAgPi9kZXYvbnVsbCAyPi9kZXYvbnVsbCB8fCBtdiAkQCsgJEA7IH0gJiYgXAogCSQoUk0pICRAKwogCkBAIC0xOTQ0LDcgKzIwNjEsNiBAQAogCiBWQ1NTVk5fT0JKUyArPSB2Y3Mtc3ZuL2xpbmVfYnVmZmVyLm8KIFZDU1NWTl9PQkpTICs9IHZjcy1zdm4vc2xpZGluZ193aW5kb3cubwotVkNTU1ZOX09CSlMgKz0gdmNzLXN2bi9yZXBvX3RyZWUubwogVkNTU1ZOX09CSlMgKz0gdmNzLXN2bi9mYXN0X2V4cG9ydC5vCiBWQ1NTVk5fT0JKUyArPSB2Y3Mtc3ZuL3N2bmRpZmYubwogVkNTU1ZOX09CSlMgKz0gdmNzLXN2bi9zdm5kdW1wLm8KQEAgLTIxMjgsMTIgKzIyNDQsMzMgQEAKIExPQ0FMSVpFRF9QRVJMICs9IHQvdDAyMDAvdGVzdC5wZXJsCiBlbmRpZgogCisjIyBOb3RlIHRoYXQgdGhpcyBpcyBtZWFudCB0byBiZSBydW4gb25seSBieSB0aGUgbG9jYWxpemF0aW9uIGNvb3JkaW5hdG9yCisjIyB1bmRlciBhIHZlcnkgY29udHJvbGxlZCBjb25kaXRpb24sIGkuZS4gKDEpIGl0IGlzIHRvIGJlIHJ1biBpbiBhCisjIyBHaXQgcmVwb3NpdG9yeSAobm90IGEgdGFyYmFsbCBleHRyYWN0KSwgKDIpIGFueSBsb2NhbCBtb2RpZmljYXRpb25zCisjIyB3aWxsIGJlIGxvc3QuCisjIyBHZXR0ZXh0IHRvb2xzIGNhbm5vdCB3b3JrIHdpdGggb3VyIG93biBjdXN0b20gUFJJdGltZSB0eXBlLCBzbworIyMgd2UgcmVwbGFjZSBQUkl0aW1lIHdpdGggUFJJdU1BWC4gIFdlIG5lZWQgdG8gdXBkYXRlIHRoaXMgdG8KKyMjIFBSSWRNQVggaWYgd2Ugc3dpdGNoIHRvIGEgc2lnbmVkIHR5cGUgbGF0ZXIuCisKIHBvL2dpdC5wb3Q6ICQoR0VORVJBVEVEX0gpIEZPUkNFCisJIyBBbGwgbW9kaWZpY2F0aW9ucyB3aWxsIGJlIHJldmVydGVkIGF0IHRoZSBlbmQsIHNvIHdlIGRvIG5vdAorCSMgd2FudCB0byBoYXZlIGFueSBsb2NhbCBjaGFuZ2UuCisJZ2l0IGRpZmYgLS1xdWlldCBIRUFEICYmIGdpdCBkaWZmIC0tcXVpZXQgLS1jYWNoZWQKKworCUBmb3IgcyBpbiAkKExPQ0FMSVpFRF9DKSAkKExPQ0FMSVpFRF9TSCkgJChMT0NBTElaRURfUEVSTCk7IFwKKwlkbyBcCisJCXNlZCAtZSAnc3xQUkl0aW1lfFBSSXVNQVh8ZycgPCIkJHMiID4iJCRzKyIgJiYgXAorCQljYXQgIiQkcysiID4iJCRzIiAmJiBybSAiJCRzKyI7IFwKKwlkb25lCisKIAkkKFFVSUVUX1hHRVRURVhUKSQoWEdFVFRFWFQpIC1vJEArICQoWEdFVFRFWFRfRkxBR1NfQykgJChMT0NBTElaRURfQykKIAkkKFFVSUVUX1hHRVRURVhUKSQoWEdFVFRFWFQpIC1vJEArIC0tam9pbi1leGlzdGluZyAkKFhHRVRURVhUX0ZMQUdTX1NIKSBcCiAJCSQoTE9DQUxJWkVEX1NIKQogCSQoUVVJRVRfWEdFVFRFWFQpJChYR0VUVEVYVCkgLW8kQCsgLS1qb2luLWV4aXN0aW5nICQoWEdFVFRFWFRfRkxBR1NfUEVSTCkgXAogCQkkKExPQ0FMSVpFRF9QRVJMKQorCisJIyBSZXZlcnRpbmcgdGhlIG11bmdlZCBzb3VyY2UsIGxlYXZpbmcgb25seSB0aGUgdXBkYXRlZCAkQAorCWdpdCByZXNldCAtLWhhcmQKIAltdiAkQCsgJEAKIAogLlBIT05ZOiBwb3QKQEAgLTIyMTgsMTEgKzIzNTUsMTUgQEAKIAlAZWNobyBUQVI9XCcnJChzdWJzdCAnLCdcJycsJChzdWJzdCAnLCdcJycsJChUQVIpKSknXCcgPj4kQCsKIAlAZWNobyBOT19DVVJMPVwnJyQoc3Vic3QgJywnXCcnLCQoc3Vic3QgJywnXCcnLCQoTk9fQ1VSTCkpKSdcJyA+PiRAKwogCUBlY2hvIE5PX0VYUEFUPVwnJyQoc3Vic3QgJywnXCcnLCQoc3Vic3QgJywnXCcnLCQoTk9fRVhQQVQpKSknXCcgPj4kQCsKLQlAZWNobyBVU0VfTElCUENSRT1cJyckKHN1YnN0ICcsJ1wnJywkKHN1YnN0ICcsJ1wnJywkKFVTRV9MSUJQQ1JFKSkpJ1wnID4+JEArCisJQGVjaG8gVVNFX0xJQlBDUkUxPVwnJyQoc3Vic3QgJywnXCcnLCQoc3Vic3QgJywnXCcnLCQoVVNFX0xJQlBDUkUxKSkpJ1wnID4+JEArCisJQGVjaG8gVVNFX0xJQlBDUkUyPVwnJyQoc3Vic3QgJywnXCcnLCQoc3Vic3QgJywnXCcnLCQoVVNFX0xJQlBDUkUyKSkpJ1wnID4+JEArCisJQGVjaG8gTk9fTElCUENSRTFfSklUPVwnJyQoc3Vic3QgJywnXCcnLCQoc3Vic3QgJywnXCcnLCQoTk9fTElCUENSRTFfSklUKSkpJ1wnID4+JEArCiAJQGVjaG8gTk9fUEVSTD1cJyckKHN1YnN0ICcsJ1wnJywkKHN1YnN0ICcsJ1wnJywkKE5PX1BFUkwpKSknXCcgPj4kQCsKKwlAZWNobyBOT19QVEhSRUFEUz1cJyckKHN1YnN0ICcsJ1wnJywkKHN1YnN0ICcsJ1wnJywkKE5PX1BUSFJFQURTKSkpJ1wnID4+JEArCiAJQGVjaG8gTk9fUFlUSE9OPVwnJyQoc3Vic3QgJywnXCcnLCQoc3Vic3QgJywnXCcnLCQoTk9fUFlUSE9OKSkpJ1wnID4+JEArCiAJQGVjaG8gTk9fVU5JWF9TT0NLRVRTPVwnJyQoc3Vic3QgJywnXCcnLCQoc3Vic3QgJywnXCcnLCQoTk9fVU5JWF9TT0NLRVRTKSkpJ1wnID4+JEArCiAJQGVjaG8gUEFHRVJfRU5WPVwnJyQoc3Vic3QgJywnXCcnLCQoc3Vic3QgJywnXCcnLCQoUEFHRVJfRU5WKSkpJ1wnID4+JEArCisJQGVjaG8gRENfU0hBMT1cJyckKHN1YnN0ICcsJ1wnJywkKHN1YnN0ICcsJ1wnJywkKERDX1NIQTEpKSknXCcgPj4kQCsKIGlmZGVmIFRFU1RfT1VUUFVUX0RJUkVDVE9SWQogCUBlY2hvIFRFU1RfT1VUUFVUX0RJUkVDVE9SWT1cJyckKHN1YnN0ICcsJ1wnJywkKHN1YnN0ICcsJ1wnJywkKFRFU1RfT1VUUFVUX0RJUkVDVE9SWSkpKSdcJyA+PiRAKwogZW5kaWYKQEAgLTIyNDksNiArMjM5MCw5IEBACiBpZmRlZiBHSVRfUEVSRl9NQUtFX09QVFMKIAlAZWNobyBHSVRfUEVSRl9NQUtFX09QVFM9XCcnJChzdWJzdCAnLCdcJycsJChzdWJzdCAnLCdcJycsJChHSVRfUEVSRl9NQUtFX09QVFMpKSknXCcgPj4kQCsKIGVuZGlmCitpZmRlZiBHSVRfUEVSRl9NQUtFX0NPTU1BTkQKKwlAZWNobyBHSVRfUEVSRl9NQUtFX0NPTU1BTkQ9XCcnJChzdWJzdCAnLCdcJycsJChzdWJzdCAnLCdcJycsJChHSVRfUEVSRl9NQUtFX0NPTU1BTkQpKSknXCcgPj4kQCsKK2VuZGlmCiBpZmRlZiBHSVRfSU5URVJPUF9NQUtFX09QVFMKIAlAZWNobyBHSVRfSU5URVJPUF9NQUtFX09QVFM9XCcnJChzdWJzdCAnLCdcJycsJChzdWJzdCAnLCdcJycsJChHSVRfSU5URVJPUF9NQUtFX09QVFMpKSknXCcgPj4kQCsKIGVuZGlmCkBAIC0yMzE5LDYgKzI0NjMsMTAgQEAKIC5QSE9OWTogc3BhcnNlICQoU1BfT0JKKQogc3BhcnNlOiAkKFNQX09CSikKIAorLlBIT05ZOiBzdHlsZQorc3R5bGU6CisJZ2l0IGNsYW5nLWZvcm1hdCAtLXN0eWxlIGZpbGUgLS1kaWZmIC0tZXh0ZW5zaW9ucyBjLGgKKwogY2hlY2s6IGNvbW1vbi1jbWRzLmgKIAlAaWYgc3BhcnNlOyBcCiAJdGhlbiBcCkBAIC0yMzMyLDkgKzI0ODAsMTcgQEAKIENfU09VUkNFUyA9ICQocGF0c3Vic3QgJS5vLCUuYywkKENfT0JKKSkKICUuY29jY2kucGF0Y2g6ICUuY29jY2kgJChDX1NPVVJDRVMpCiAJQGVjaG8gJyAgICAnIFNQQVRDSCAkPDsgXAorCXJldD0wOyBcCiAJZm9yIGYgaW4gJChDX1NPVVJDRVMpOyBkbyBcCi0JCSQoU1BBVENIKSAtLXNwLWZpbGUgJDwgJCRmICQoU1BBVENIX0ZMQUdTKTsgXAotCWRvbmUgPiRAIDI+JEAubG9nOyBcCisJCSQoU1BBVENIKSAtLXNwLWZpbGUgJDwgJCRmICQoU1BBVENIX0ZMQUdTKSB8fCBcCisJCQl7IHJldD0kJD87IGJyZWFrOyB9OyBcCisJZG9uZSA+JEArIDI+JEAubG9nOyBcCisJaWYgdGVzdCAkJHJldCAhPSAwOyBcCisJdGhlbiBcCisJCWNhdCAkQC5sb2c7IFwKKwkJZXhpdCAxOyBcCisJZmk7IFwKKwltdiAkQCsgJEA7IFwKIAlpZiB0ZXN0IC1zICRAOyBcCiAJdGhlbiBcCiAJCWVjaG8gJyAgICAnIFNQQVRDSCByZXN1bHQ6ICRAOyBcCmRpZmYgLS1naXQgYS9SZWxOb3RlcyBiL1JlbE5vdGVzCmluZGV4IDZiMDE2MGIuLjgwYWU3YTMgMTIwMDAwCi0tLSBhL1JlbE5vdGVzCisrKyBiL1JlbE5vdGVzCkBAIC0xICsxIEBACi1Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTIuNS50eHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitEb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTUuMC50eHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hYnNwYXRoLmMgYi9hYnNwYXRoLmMKaW5kZXggYjAyZTA2OC4uOTg1Nzk4NSAxMDA2NDQKLS0tIGEvYWJzcGF0aC5jCisrKyBiL2Fic3BhdGguYwpAQCAtMTgzLDcgKzE4Myw3IEBACiAKIAkJCS8qCiAJCQkgKiB1c2UgdGhlIHN5bWxpbmsgYXMgdGhlIHJlbWFpbmluZyBjb21wb25lbnRzIHRoYXQKLQkJCSAqIG5lZWQgdG8gYmUgcmVzbG92ZWQKKwkJCSAqIG5lZWQgdG8gYmUgcmVzb2x2ZWQKIAkJCSAqLwogCQkJc3RyYnVmX3N3YXAoJnN5bWxpbmssICZyZW1haW5pbmcpOwogCQl9CkBAIC0yMDIsNiArMjAyLDEwIEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAorLyoKKyAqIFJlc29sdmUgYHBhdGhgIGludG8gYW4gYWJzb2x1dGUsIGNsZWFuZWQtdXAgcGF0aC4gVGhlIHJldHVybiB2YWx1ZQorICogY29tZXMgZnJvbSBhIHNoYXJlZCBidWZmZXIuCisgKi8KIGNvbnN0IGNoYXIgKnJlYWxfcGF0aChjb25zdCBjaGFyICpwYXRoKQogewogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHJlYWxwYXRoID0gU1RSQlVGX0lOSVQ7CkBAIC0yNDYsMjkgKzI1MCwyMSBAQAogCXJldHVybiBzdHJidWZfZGV0YWNoKCZzYiwgTlVMTCk7CiB9CiAKLS8qCi0gKiBVbmxpa2UgcHJlZml4X3BhdGgsIHRoaXMgc2hvdWxkIGJlIHVzZWQgaWYgdGhlIG5hbWVkIGZpbGUgZG9lcwotICogbm90IGhhdmUgdG8gaW50ZXJhY3Qgd2l0aCBpbmRleCBlbnRyeTsgaS5lLiBuYW1lIG9mIGEgcmFuZG9tIGZpbGUKLSAqIG9uIHRoZSBmaWxlc3lzdGVtLgotICovCi1jb25zdCBjaGFyICpwcmVmaXhfZmlsZW5hbWUoY29uc3QgY2hhciAqcGZ4LCBpbnQgcGZ4X2xlbiwgY29uc3QgY2hhciAqYXJnKQorY2hhciAqcHJlZml4X2ZpbGVuYW1lKGNvbnN0IGNoYXIgKnBmeCwgY29uc3QgY2hhciAqYXJnKQogewotCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKLSNpZm5kZWYgR0lUX1dJTkRPV1NfTkFUSVZFCi0JaWYgKCFwZnhfbGVuIHx8IGlzX2Fic29sdXRlX3BhdGgoYXJnKSkKLQkJcmV0dXJuIGFyZzsKLQlzdHJidWZfcmVzZXQoJnBhdGgpOwotCXN0cmJ1Zl9hZGQoJnBhdGgsIHBmeCwgcGZ4X2xlbik7Ci0Jc3RyYnVmX2FkZHN0cigmcGF0aCwgYXJnKTsKLSNlbHNlCi0JLyogZG9uJ3QgYWRkIHByZWZpeCB0byBhYnNvbHV0ZSBwYXRocywgYnV0IHN0aWxsIHJlcGxhY2UgJ1wnIGJ5ICcvJyAqLwotCXN0cmJ1Zl9yZXNldCgmcGF0aCk7Ci0JaWYgKGlzX2Fic29sdXRlX3BhdGgoYXJnKSkKKwlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgcGZ4X2xlbiA9IHBmeCA/IHN0cmxlbihwZngpIDogMDsKKworCWlmICghcGZ4X2xlbikKKwkJOyAvKiBub3RoaW5nIHRvIHByZWZpeCAqLworCWVsc2UgaWYgKGlzX2Fic29sdXRlX3BhdGgoYXJnKSkKIAkJcGZ4X2xlbiA9IDA7Ci0JZWxzZSBpZiAocGZ4X2xlbikKKwllbHNlCiAJCXN0cmJ1Zl9hZGQoJnBhdGgsIHBmeCwgcGZ4X2xlbik7CisKIAlzdHJidWZfYWRkc3RyKCZwYXRoLCBhcmcpOworI2lmZGVmIEdJVF9XSU5ET1dTX05BVElWRQogCWNvbnZlcnRfc2xhc2hlcyhwYXRoLmJ1ZiArIHBmeF9sZW4pOwogI2VuZGlmCi0JcmV0dXJuIHBhdGguYnVmOworCXJldHVybiBzdHJidWZfZGV0YWNoKCZwYXRoLCBOVUxMKTsKIH0KZGlmZiAtLWdpdCBhL2FkdmljZS5jIGIvYWR2aWNlLmMKaW5kZXggYjg0YWU0OS4uZDgxZTFjYiAxMDA2NDQKLS0tIGEvYWR2aWNlLmMKKysrIGIvYWR2aWNlLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKIAogaW50IGFkdmljZV9wdXNoX3VwZGF0ZV9yZWplY3RlZCA9IDE7CiBpbnQgYWR2aWNlX3B1c2hfbm9uX2ZmX2N1cnJlbnQgPSAxOwpAQCAtMTUsNiArMTYsNyBAQAogaW50IGFkdmljZV9zZXRfdXBzdHJlYW1fZmFpbHVyZSA9IDE7CiBpbnQgYWR2aWNlX29iamVjdF9uYW1lX3dhcm5pbmcgPSAxOwogaW50IGFkdmljZV9ybV9oaW50cyA9IDE7CitpbnQgYWR2aWNlX2FkZF9lbWJlZGRlZF9yZXBvID0gMTsKIAogc3RhdGljIHN0cnVjdCB7CiAJY29uc3QgY2hhciAqbmFtZTsKQEAgLTM1LDYgKzM3LDcgQEAKIAl7ICJzZXR1cHN0cmVhbWZhaWx1cmUiLCAmYWR2aWNlX3NldF91cHN0cmVhbV9mYWlsdXJlIH0sCiAJeyAib2JqZWN0bmFtZXdhcm5pbmciLCAmYWR2aWNlX29iamVjdF9uYW1lX3dhcm5pbmcgfSwKIAl7ICJybWhpbnRzIiwgJmFkdmljZV9ybV9oaW50cyB9LAorCXsgImFkZGVtYmVkZGVkcmVwbyIsICZhZHZpY2VfYWRkX2VtYmVkZGVkX3JlcG8gfSwKIAogCS8qIG1ha2UgdGhpcyBhbiBhbGlhcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLwogCXsgInB1c2hub25mYXN0Zm9yd2FyZCIsICZhZHZpY2VfcHVzaF91cGRhdGVfcmVqZWN0ZWQgfQpkaWZmIC0tZ2l0IGEvYWR2aWNlLmggYi9hZHZpY2UuaAppbmRleCBiMzQxYTU1Li5jODRhNDQ1IDEwMDY0NAotLS0gYS9hZHZpY2UuaAorKysgYi9hZHZpY2UuaApAQCAtMTgsNiArMTgsNyBAQAogZXh0ZXJuIGludCBhZHZpY2Vfc2V0X3Vwc3RyZWFtX2ZhaWx1cmU7CiBleHRlcm4gaW50IGFkdmljZV9vYmplY3RfbmFtZV93YXJuaW5nOwogZXh0ZXJuIGludCBhZHZpY2Vfcm1faGludHM7CitleHRlcm4gaW50IGFkdmljZV9hZGRfZW1iZWRkZWRfcmVwbzsKIAogaW50IGdpdF9kZWZhdWx0X2FkdmljZV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSk7CiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKQpkaWZmIC0tZ2l0IGEvYWxpYXMuYyBiL2FsaWFzLmMKaW5kZXggM2I5MDM5Ny4uYmYxNDZlNSAxMDA2NDQKLS0tIGEvYWxpYXMuYworKysgYi9hbGlhcy5jCkBAIC0xLDE0ICsxLDI5IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKworc3RydWN0IGNvbmZpZ19hbGlhc19kYXRhIHsKKwljb25zdCBjaGFyICphbGlhczsKKwljaGFyICp2OworfTsKKworc3RhdGljIGludCBjb25maWdfYWxpYXNfY2IoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZCkKK3sKKwlzdHJ1Y3QgY29uZmlnX2FsaWFzX2RhdGEgKmRhdGEgPSBkOworCWNvbnN0IGNoYXIgKnA7CisKKwlpZiAoc2tpcF9wcmVmaXgoa2V5LCAiYWxpYXMuIiwgJnApICYmICFzdHJjYXNlY21wKHAsIGRhdGEtPmFsaWFzKSkKKwkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKChjb25zdCBjaGFyICoqKSZkYXRhLT52LCBrZXksIHZhbHVlKTsKKworCXJldHVybiAwOworfQogCiBjaGFyICphbGlhc19sb29rdXAoY29uc3QgY2hhciAqYWxpYXMpCiB7Ci0JY2hhciAqdiA9IE5VTEw7Ci0Jc3RydWN0IHN0cmJ1ZiBrZXkgPSBTVFJCVUZfSU5JVDsKLQlzdHJidWZfYWRkZigma2V5LCAiYWxpYXMuJXMiLCBhbGlhcyk7Ci0JaWYgKGdpdF9jb25maWdfa2V5X2lzX3ZhbGlkKGtleS5idWYpKQotCQlnaXRfY29uZmlnX2dldF9zdHJpbmcoa2V5LmJ1ZiwgJnYpOwotCXN0cmJ1Zl9yZWxlYXNlKCZrZXkpOwotCXJldHVybiB2OworCXN0cnVjdCBjb25maWdfYWxpYXNfZGF0YSBkYXRhID0geyBhbGlhcywgTlVMTCB9OworCisJcmVhZF9lYXJseV9jb25maWcoY29uZmlnX2FsaWFzX2NiLCAmZGF0YSk7CisKKwlyZXR1cm4gZGF0YS52OwogfQogCiAjZGVmaW5lIFNQTElUX0NNRExJTkVfQkFEX0VORElORyAxCkBAIC00Nyw4ICs2Miw3IEBACiAJCQkJc3JjKys7CiAJCQkJYyA9IGNtZGxpbmVbc3JjXTsKIAkJCQlpZiAoIWMpIHsKLQkJCQkJZnJlZSgqYXJndik7Ci0JCQkJCSphcmd2ID0gTlVMTDsKKwkJCQkJRlJFRV9BTkRfTlVMTCgqYXJndik7CiAJCQkJCXJldHVybiAtU1BMSVRfQ01ETElORV9CQURfRU5ESU5HOwogCQkJCX0KIAkJCX0KQEAgLTYwLDggKzc0LDcgQEAKIAljbWRsaW5lW2RzdF0gPSAwOwogCiAJaWYgKHF1b3RlZCkgewotCQlmcmVlKCphcmd2KTsKLQkJKmFyZ3YgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKCphcmd2KTsKIAkJcmV0dXJuIC1TUExJVF9DTURMSU5FX1VOQ0xPU0VEX1FVT1RFOwogCX0KIApkaWZmIC0tZ2l0IGEvYXBwbHkuYyBiL2FwcGx5LmMKaW5kZXggMGUyY2FlYS4uYzAyMmFmNSAxMDA2NDQKLS0tIGEvYXBwbHkuYworKysgYi9hcHBseS5jCkBAIC04LDYgKzgsNyBAQAogICovCiAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImJsb2IuaCIKICNpbmNsdWRlICJkZWx0YS5oIgogI2luY2x1ZGUgImRpZmYuaCIKQEAgLTc5LDcgKzgwLDYgQEAKIHsKIAltZW1zZXQoc3RhdGUsIDAsIHNpemVvZigqc3RhdGUpKTsKIAlzdGF0ZS0+cHJlZml4ID0gcHJlZml4OwotCXN0YXRlLT5wcmVmaXhfbGVuZ3RoID0gc3RhdGUtPnByZWZpeCA/IHN0cmxlbihzdGF0ZS0+cHJlZml4KSA6IDA7CiAJc3RhdGUtPmxvY2tfZmlsZSA9IGxvY2tfZmlsZTsKIAlzdGF0ZS0+bmV3ZmQgPSAtMTsKIAlzdGF0ZS0+YXBwbHkgPSAxOwpAQCAtMjEwLDYgKzIxMCw3IEBACiAJdW5zaWduZWQgd3NfcnVsZTsKIAlpbnQgbGluZXNfYWRkZWQsIGxpbmVzX2RlbGV0ZWQ7CiAJaW50IHNjb3JlOworCWludCBleHRlbnNpb25fbGluZW5yOyAvKiBmaXJzdCBsaW5lIHNwZWNpZnlpbmcgZGVsZXRlL25ldy9yZW5hbWUvY29weSAqLwogCXVuc2lnbmVkIGludCBpc190b3BsZXZlbF9yZWxhdGl2ZToxOwogCXVuc2lnbmVkIGludCBpbmFjY3VyYXRlX2VvZjoxOwogCXVuc2lnbmVkIGludCBpc19iaW5hcnk6MTsKQEAgLTIxOCw2ICsyMTksNyBAQAogCXVuc2lnbmVkIGludCByZWNvdW50OjE7CiAJdW5zaWduZWQgaW50IGNvbmZsaWN0ZWRfdGhyZWV3YXk6MTsKIAl1bnNpZ25lZCBpbnQgZGlyZWN0X3RvX3RocmVld2F5OjE7CisJdW5zaWduZWQgaW50IGNybGZfaW5fb2xkOjE7CiAJc3RydWN0IGZyYWdtZW50ICpmcmFnbWVudHM7CiAJY2hhciAqcmVzdWx0OwogCXNpemVfdCByZXN1bHRzaXplOwpAQCAtNzYyLDE3ICs3NjQsNiBAQAogCXJldHVybiBmaW5kX25hbWVfY29tbW9uKHN0YXRlLCBsaW5lLCBkZWYsIHBfdmFsdWUsIGxpbmUgKyBsZW4sIDApOwogfQogCi1zdGF0aWMgaW50IGNvdW50X3NsYXNoZXMoY29uc3QgY2hhciAqY3ApCi17Ci0JaW50IGNudCA9IDA7Ci0JY2hhciBjaDsKLQotCXdoaWxlICgoY2ggPSAqY3ArKykpCi0JCWlmIChjaCA9PSAnLycpCi0JCQljbnQrKzsKLQlyZXR1cm4gY250OwotfQotCiAvKgogICogR2l2ZW4gdGhlIHN0cmluZyBhZnRlciAiLS0tICIgb3IgIisrKyAiLCBndWVzcyB0aGUgYXBwcm9wcmlhdGUKICAqIHBfdmFsdWUgZm9yIHRoZSBnaXZlbiBwYXRjaC4KQEAgLTc5NSwxMSArNzg2LDExIEBACiAJCSAqIERvZXMgaXQgYmVnaW4gd2l0aCAiYS8kb3VyLXByZWZpeCIgYW5kIHN1Y2g/ICBUaGVuIHRoaXMgaXMKIAkJICogdmVyeSBsaWtlbHkgdG8gYXBwbHkgdG8gb3VyIGRpcmVjdG9yeS4KIAkJICovCi0JCWlmICghc3RybmNtcChuYW1lLCBzdGF0ZS0+cHJlZml4LCBzdGF0ZS0+cHJlZml4X2xlbmd0aCkpCisJCWlmIChzdGFydHNfd2l0aChuYW1lLCBzdGF0ZS0+cHJlZml4KSkKIAkJCXZhbCA9IGNvdW50X3NsYXNoZXMoc3RhdGUtPnByZWZpeCk7CiAJCWVsc2UgewogCQkJY3ArKzsKLQkJCWlmICghc3RybmNtcChjcCwgc3RhdGUtPnByZWZpeCwgc3RhdGUtPnByZWZpeF9sZW5ndGgpKQorCQkJaWYgKHN0YXJ0c193aXRoKGNwLCBzdGF0ZS0+cHJlZml4KSkKIAkJCQl2YWwgPSBjb3VudF9zbGFzaGVzKHN0YXRlLT5wcmVmaXgpICsgMTsKIAkJfQogCX0KQEAgLTgyMSwxNiArODEyLDEzIEBACiAJICogMTk3MC0wMS0wMSwgYW5kIHRoZSBzZWNvbmRzIHBhcnQgbXVzdCBiZSAiMDAiLgogCSAqLwogCWNvbnN0IGNoYXIgc3RhbXBfcmVnZXhwW10gPQotCQkiXigxOTY5LTEyLTMxfDE5NzAtMDEtMDEpIgotCQkiICIKLQkJIlswLTJdWzAtOV06WzAtNV1bMC05XTowMChcXC4wKyk/IgorCQkiXlswLTJdWzAtOV06KFswLTVdWzAtOV0pOjAwKFxcLjArKT8iCiAJCSIgIgogCQkiKFstK11bMC0yXVswLTldOj9bMC01XVswLTldKVxuIjsKIAljb25zdCBjaGFyICp0aW1lc3RhbXAgPSBOVUxMLCAqY3AsICpjb2xvbjsKIAlzdGF0aWMgcmVnZXhfdCAqc3RhbXA7CiAJcmVnbWF0Y2hfdCBtWzEwXTsKLQlpbnQgem9uZW9mZnNldDsKLQlpbnQgaG91cm1pbnV0ZTsKKwlpbnQgem9uZW9mZnNldCwgZXBvY2hfaG91ciwgaG91ciwgbWludXRlOwogCWludCBzdGF0dXM7CiAKIAlmb3IgKGNwID0gbmFtZWxpbmU7ICpjcCAhPSAnXG4nOyBjcCsrKSB7CkBAIC04MzksNiArODI3LDE4IEBACiAJfQogCWlmICghdGltZXN0YW1wKQogCQlyZXR1cm4gMDsKKworCS8qCisJICogWVlZWS1NTS1ERCBoaDptbTpzcyBtdXN0IGJlIGZyb20gZWl0aGVyIDE5NjktMTItMzEKKwkgKiAod2VzdCBvZiBHTVQpIG9yIDE5NzAtMDEtMDEgKGVhc3Qgb2YgR01UKQorCSAqLworCWlmIChza2lwX3ByZWZpeCh0aW1lc3RhbXAsICIxOTY5LTEyLTMxICIsICZ0aW1lc3RhbXApKQorCQllcG9jaF9ob3VyID0gMjQ7CisJZWxzZSBpZiAoc2tpcF9wcmVmaXgodGltZXN0YW1wLCAiMTk3MC0wMS0wMSAiLCAmdGltZXN0YW1wKSkKKwkJZXBvY2hfaG91ciA9IDA7CisJZWxzZQorCQlyZXR1cm4gMDsKKwogCWlmICghc3RhbXApIHsKIAkJc3RhbXAgPSB4bWFsbG9jKHNpemVvZigqc3RhbXApKTsKIAkJaWYgKHJlZ2NvbXAoc3RhbXAsIHN0YW1wX3JlZ2V4cCwgUkVHX0VYVEVOREVEKSkgewpAQCAtODU2LDYgKzg1Niw5IEBACiAJCXJldHVybiAwOwogCX0KIAorCWhvdXIgPSBzdHJ0b2wodGltZXN0YW1wLCBOVUxMLCAxMCk7CisJbWludXRlID0gc3RydG9sKHRpbWVzdGFtcCArIG1bMV0ucm1fc28sIE5VTEwsIDEwKTsKKwogCXpvbmVvZmZzZXQgPSBzdHJ0b2wodGltZXN0YW1wICsgbVszXS5ybV9zbyArIDEsIChjaGFyICoqKSAmY29sb24sIDEwKTsKIAlpZiAoKmNvbG9uID09ICc6JykKIAkJem9uZW9mZnNldCA9IHpvbmVvZmZzZXQgKiA2MCArIHN0cnRvbChjb2xvbiArIDEsIE5VTEwsIDEwKTsKQEAgLTg2NCwyMCArODY3LDcgQEAKIAlpZiAodGltZXN0YW1wW21bM10ucm1fc29dID09ICctJykKIAkJem9uZW9mZnNldCA9IC16b25lb2Zmc2V0OwogCi0JLyoKLQkgKiBZWVlZLU1NLUREIGhoOm1tOnNzIG11c3QgYmUgZnJvbSBlaXRoZXIgMTk2OS0xMi0zMQotCSAqICh3ZXN0IG9mIEdNVCkgb3IgMTk3MC0wMS0wMSAoZWFzdCBvZiBHTVQpCi0JICovCi0JaWYgKCh6b25lb2Zmc2V0IDwgMCAmJiBtZW1jbXAodGltZXN0YW1wLCAiMTk2OS0xMi0zMSIsIDEwKSkgfHwKLQkgICAgKDAgPD0gem9uZW9mZnNldCAmJiBtZW1jbXAodGltZXN0YW1wLCAiMTk3MC0wMS0wMSIsIDEwKSkpCi0JCXJldHVybiAwOwotCi0JaG91cm1pbnV0ZSA9IChzdHJ0b2wodGltZXN0YW1wICsgMTEsIE5VTEwsIDEwKSAqIDYwICsKLQkJICAgICAgc3RydG9sKHRpbWVzdGFtcCArIDE0LCBOVUxMLCAxMCkgLQotCQkgICAgICB6b25lb2Zmc2V0KTsKLQotCXJldHVybiAoKHpvbmVvZmZzZXQgPCAwICYmIGhvdXJtaW51dGUgPT0gMTQ0MCkgfHwKLQkJKDAgPD0gem9uZW9mZnNldCAmJiAhaG91cm1pbnV0ZSkpOworCXJldHVybiBob3VyICogNjAgKyBtaW51dGUgLSB6b25lb2Zmc2V0ID09IGVwb2NoX2hvdXIgKiA2MDsKIH0KIAogLyoKQEAgLTk3MSwxMyArOTYxLDEyIEBACiAJfQogCiAJaWYgKCpuYW1lKSB7Ci0JCWludCBsZW4gPSBzdHJsZW4oKm5hbWUpOwogCQljaGFyICphbm90aGVyOwogCQlpZiAoaXNudWxsKQogCQkJcmV0dXJuIGVycm9yKF8oImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIpLAogCQkJCSAgICAgKm5hbWUsIHN0YXRlLT5saW5lbnIpOwogCQlhbm90aGVyID0gZmluZF9uYW1lKHN0YXRlLCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSwgVEVSTV9UQUIpOwotCQlpZiAoIWFub3RoZXIgfHwgbWVtY21wKGFub3RoZXIsICpuYW1lLCBsZW4gKyAxKSkgeworCQlpZiAoIWFub3RoZXIgfHwgc3RyY21wKGFub3RoZXIsICpuYW1lKSkgewogCQkJZnJlZShhbm90aGVyKTsKIAkJCXJldHVybiBlcnJvcigoc2lkZSA9PSBESUZGX05FV19OQU1FKSA/CiAJCQkgICAgXygiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiKSA6CkBAIC05ODUsOCArOTc0LDcgQEAKIAkJfQogCQlmcmVlKGFub3RoZXIpOwogCX0gZWxzZSB7Ci0JCS8qIGV4cGVjdCAiL2Rldi9udWxsIiAqLwotCQlpZiAobWVtY21wKCIvZGV2L251bGwiLCBsaW5lLCA5KSB8fCBsaW5lWzldICE9ICdcbicpCisJCWlmICghc3RhcnRzX3dpdGgobGluZSwgIi9kZXYvbnVsbFxuIikpCiAJCQlyZXR1cm4gZXJyb3IoXygiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIpLCBzdGF0ZS0+bGluZW5yKTsKIAl9CiAKQEAgLTEwMTEsMjAgKzk5OSwyNyBAQAogCQkJCSAgIERJRkZfTkVXX05BTUUpOwogfQogCitzdGF0aWMgaW50IHBhcnNlX21vZGVfbGluZShjb25zdCBjaGFyICpsaW5lLCBpbnQgbGluZW5yLCB1bnNpZ25lZCBpbnQgKm1vZGUpCit7CisJY2hhciAqZW5kOworCSptb2RlID0gc3RydG91bChsaW5lLCAmZW5kLCA4KTsKKwlpZiAoZW5kID09IGxpbmUgfHwgIWlzc3BhY2UoKmVuZCkpCisJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiKSwgbGluZW5yLCBsaW5lKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBnaXRkaWZmX29sZG1vZGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKIAkJCSAgIGNvbnN0IGNoYXIgKmxpbmUsCiAJCQkgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQogewotCXBhdGNoLT5vbGRfbW9kZSA9IHN0cnRvdWwobGluZSwgTlVMTCwgOCk7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIHBhcnNlX21vZGVfbGluZShsaW5lLCBzdGF0ZS0+bGluZW5yLCAmcGF0Y2gtPm9sZF9tb2RlKTsKIH0KIAogc3RhdGljIGludCBnaXRkaWZmX25ld21vZGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKIAkJCSAgIGNvbnN0IGNoYXIgKmxpbmUsCiAJCQkgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQogewotCXBhdGNoLT5uZXdfbW9kZSA9IHN0cnRvdWwobGluZSwgTlVMTCwgOCk7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIHBhcnNlX21vZGVfbGluZShsaW5lLCBzdGF0ZS0+bGluZW5yLCAmcGF0Y2gtPm5ld19tb2RlKTsKIH0KIAogc3RhdGljIGludCBnaXRkaWZmX2RlbGV0ZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLApAQCAtMTEzOCw3ICsxMTMzLDcgQEAKIAltZW1jcHkocGF0Y2gtPm5ld19zaGExX3ByZWZpeCwgbGluZSwgbGVuKTsKIAlwYXRjaC0+bmV3X3NoYTFfcHJlZml4W2xlbl0gPSAwOwogCWlmICgqcHRyID09ICcgJykKLQkJcGF0Y2gtPm9sZF9tb2RlID0gc3RydG91bChwdHIrMSwgTlVMTCwgOCk7CisJCXJldHVybiBnaXRkaWZmX29sZG1vZGUoc3RhdGUsIHB0ciArIDEsIHBhdGNoKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTMyMiw2ICsxMzE3LDE4IEBACiAJfQogfQogCitzdGF0aWMgaW50IGNoZWNrX2hlYWRlcl9saW5lKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJaW50IGV4dGVuc2lvbnMgPSAocGF0Y2gtPmlzX2RlbGV0ZSA9PSAxKSArIChwYXRjaC0+aXNfbmV3ID09IDEpICsKKwkJCSAocGF0Y2gtPmlzX3JlbmFtZSA9PSAxKSArIChwYXRjaC0+aXNfY29weSA9PSAxKTsKKwlpZiAoZXh0ZW5zaW9ucyA+IDEpCisJCXJldHVybiBlcnJvcihfKCJpbmNvbnNpc3RlbnQgaGVhZGVyIGxpbmVzICVkIGFuZCAlZCIpLAorCQkJICAgICBwYXRjaC0+ZXh0ZW5zaW9uX2xpbmVuciwgc3RhdGUtPmxpbmVucik7CisJaWYgKGV4dGVuc2lvbnMgJiYgIXBhdGNoLT5leHRlbnNpb25fbGluZW5yKQorCQlwYXRjaC0+ZXh0ZW5zaW9uX2xpbmVuciA9IHN0YXRlLT5saW5lbnI7CisJcmV0dXJuIDA7Cit9CisKIC8qIFZlcmlmeSB0aGF0IHdlIHJlY29nbml6ZSB0aGUgbGluZXMgZm9sbG93aW5nIGEgZ2l0IGhlYWRlciAqLwogc3RhdGljIGludCBwYXJzZV9naXRfaGVhZGVyKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCiAJCQkgICAgY29uc3QgY2hhciAqbGluZSwKQEAgLTEzODgsNiArMTM5NSw4IEBACiAJCQlyZXMgPSBwLT5mbihzdGF0ZSwgbGluZSArIG9wbGVuLCBwYXRjaCk7CiAJCQlpZiAocmVzIDwgMCkKIAkJCQlyZXR1cm4gLTE7CisJCQlpZiAoY2hlY2tfaGVhZGVyX2xpbmUoc3RhdGUsIHBhdGNoKSkKKwkJCQlyZXR1cm4gLTE7CiAJCQlpZiAocmVzID4gMCkKIAkJCQlyZXR1cm4gb2Zmc2V0OwogCQkJYnJlYWs7CkBAIC0xNTg1LDcgKzE1OTQsOCBAQAogCQkJCXBhdGNoLT5vbGRfbmFtZSA9IHhzdHJkdXAocGF0Y2gtPmRlZl9uYW1lKTsKIAkJCQlwYXRjaC0+bmV3X25hbWUgPSB4c3RyZHVwKHBhdGNoLT5kZWZfbmFtZSk7CiAJCQl9Ci0JCQlpZiAoIXBhdGNoLT5pc19kZWxldGUgJiYgIXBhdGNoLT5uZXdfbmFtZSkgeworCQkJaWYgKCghcGF0Y2gtPm5ld19uYW1lICYmICFwYXRjaC0+aXNfZGVsZXRlKSB8fAorCQkJICAgICghcGF0Y2gtPm9sZF9uYW1lICYmICFwYXRjaC0+aXNfbmV3KSkgewogCQkJCWVycm9yKF8oImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAiCiAJCQkJCSAgICAgIihsaW5lICVkKSIpLCBzdGF0ZS0+bGluZW5yKTsKIAkJCQlyZXR1cm4gLTEyODsKQEAgLTE2NTIsNiArMTY2MiwxOSBAQAogfQogCiAvKgorICogQ2hlY2sgaWYgdGhlIHBhdGNoIGhhcyBjb250ZXh0IGxpbmVzIHdpdGggQ1JMRiBvcgorICogdGhlIHBhdGNoIHdhbnRzIHRvIHJlbW92ZSBsaW5lcyB3aXRoIENSTEYuCisgKi8KK3N0YXRpYyB2b2lkIGNoZWNrX29sZF9mb3JfY3JsZihzdHJ1Y3QgcGF0Y2ggKnBhdGNoLCBjb25zdCBjaGFyICpsaW5lLCBpbnQgbGVuKQoreworCWlmIChsZW4gPj0gMiAmJiBsaW5lW2xlbi0xXSA9PSAnXG4nICYmIGxpbmVbbGVuLTJdID09ICdccicpIHsKKwkJcGF0Y2gtPndzX3J1bGUgfD0gV1NfQ1JfQVRfRU9MOworCQlwYXRjaC0+Y3JsZl9pbl9vbGQgPSAxOworCX0KK30KKworCisvKgogICogUGFyc2UgYSB1bmlmaWVkIGRpZmYuIE5vdGUgdGhhdCB0aGlzIHJlYWxseSBuZWVkcyB0byBwYXJzZSBlYWNoCiAgKiBmcmFnbWVudCBzZXBhcmF0ZWx5LCBzaW5jZSB0aGUgb25seSB3YXkgdG8ga25vdyB0aGUgZGlmZmVyZW5jZQogICogYmV0d2VlbiBhICItLS0iIHRoYXQgaXMgcGFydCBvZiBhIHBhdGNoLCBhbmQgYSAiLS0tIiB0aGF0IHN0YXJ0cwpAQCAtMTcwMSwxMSArMTcyNCwxNCBAQAogCQkJaWYgKCFkZWxldGVkICYmICFhZGRlZCkKIAkJCQlsZWFkaW5nKys7CiAJCQl0cmFpbGluZysrOworCQkJY2hlY2tfb2xkX2Zvcl9jcmxmKHBhdGNoLCBsaW5lLCBsZW4pOwogCQkJaWYgKCFzdGF0ZS0+YXBwbHlfaW5fcmV2ZXJzZSAmJgogCQkJICAgIHN0YXRlLT53c19lcnJvcl9hY3Rpb24gPT0gY29ycmVjdF93c19lcnJvcikKIAkJCQljaGVja193aGl0ZXNwYWNlKHN0YXRlLCBsaW5lLCBsZW4sIHBhdGNoLT53c19ydWxlKTsKIAkJCWJyZWFrOwogCQljYXNlICctJzoKKwkJCWlmICghc3RhdGUtPmFwcGx5X2luX3JldmVyc2UpCisJCQkJY2hlY2tfb2xkX2Zvcl9jcmxmKHBhdGNoLCBsaW5lLCBsZW4pOwogCQkJaWYgKHN0YXRlLT5hcHBseV9pbl9yZXZlcnNlICYmCiAJCQkgICAgc3RhdGUtPndzX2Vycm9yX2FjdGlvbiAhPSBub3dhcm5fd3NfZXJyb3IpCiAJCQkJY2hlY2tfd2hpdGVzcGFjZShzdGF0ZSwgbGluZSwgbGVuLCBwYXRjaC0+d3NfcnVsZSk7CkBAIC0xNzE0LDYgKzE3NDAsOCBAQAogCQkJdHJhaWxpbmcgPSAwOwogCQkJYnJlYWs7CiAJCWNhc2UgJysnOgorCQkJaWYgKHN0YXRlLT5hcHBseV9pbl9yZXZlcnNlKQorCQkJCWNoZWNrX29sZF9mb3JfY3JsZihwYXRjaCwgbGluZSwgbGVuKTsKIAkJCWlmICghc3RhdGUtPmFwcGx5X2luX3JldmVyc2UgJiYKIAkJCSAgICBzdGF0ZS0+d3NfZXJyb3JfYWN0aW9uICE9IG5vd2Fybl93c19lcnJvcikKIAkJCQljaGVja193aGl0ZXNwYWNlKHN0YXRlLCBsaW5lLCBsZW4sIHBhdGNoLT53c19ydWxlKTsKQEAgLTIwNDYsNyArMjA3NCw3IEBACiAJY2hhciAqb2xkX25hbWUgPSAqbmFtZTsKIAlpZiAoIW9sZF9uYW1lKQogCQlyZXR1cm47Ci0JKm5hbWUgPSB4c3RyZHVwKHByZWZpeF9maWxlbmFtZShzdGF0ZS0+cHJlZml4LCBzdGF0ZS0+cHJlZml4X2xlbmd0aCwgKm5hbWUpKTsKKwkqbmFtZSA9IHByZWZpeF9maWxlbmFtZShzdGF0ZS0+cHJlZml4LCAqbmFtZSk7CiAJZnJlZShvbGRfbmFtZSk7CiB9CiAKQEAgLTIwNzgsMTcgKzIxMDYsMTYgQEAKIAlpbnQgaTsKIAogCS8qIFBhdGhzIG91dHNpZGUgYXJlIG5vdCB0b3VjaGVkIHJlZ2FyZGxlc3Mgb2YgIi0taW5jbHVkZSIgKi8KLQlpZiAoMCA8IHN0YXRlLT5wcmVmaXhfbGVuZ3RoKSB7Ci0JCWludCBwYXRobGVuID0gc3RybGVuKHBhdGhuYW1lKTsKLQkJaWYgKHBhdGhsZW4gPD0gc3RhdGUtPnByZWZpeF9sZW5ndGggfHwKLQkJICAgIG1lbWNtcChzdGF0ZS0+cHJlZml4LCBwYXRobmFtZSwgc3RhdGUtPnByZWZpeF9sZW5ndGgpKQorCWlmIChzdGF0ZS0+cHJlZml4ICYmICpzdGF0ZS0+cHJlZml4KSB7CisJCWNvbnN0IGNoYXIgKnJlc3Q7CisJCWlmICghc2tpcF9wcmVmaXgocGF0aG5hbWUsIHN0YXRlLT5wcmVmaXgsICZyZXN0KSB8fCAhKnJlc3QpCiAJCQlyZXR1cm4gMDsKIAl9CiAKIAkvKiBTZWUgaWYgaXQgbWF0Y2hlcyBhbnkgb2YgZXhjbHVkZS9pbmNsdWRlIHJ1bGUgKi8KIAlmb3IgKGkgPSAwOyBpIDwgc3RhdGUtPmxpbWl0X2J5X25hbWUubnI7IGkrKykgewogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQgPSAmc3RhdGUtPmxpbWl0X2J5X25hbWUuaXRlbXNbaV07Ci0JCWlmICghd2lsZG1hdGNoKGl0LT5zdHJpbmcsIHBhdGhuYW1lLCAwLCBOVUxMKSkKKwkJaWYgKCF3aWxkbWF0Y2goaXQtPnN0cmluZywgcGF0aG5hbWUsIDApKQogCQkJcmV0dXJuIChpdC0+dXRpbCAhPSBOVUxMKTsKIAl9CiAKQEAgLTIyNTcsOCArMjI4NCwxMSBAQAogCQlhZGQsIHBsdXNlcywgZGVsLCBtaW51c2VzKTsKIH0KIAotc3RhdGljIGludCByZWFkX29sZF9kYXRhKHN0cnVjdCBzdGF0ICpzdCwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0cmJ1ZiAqYnVmKQorc3RhdGljIGludCByZWFkX29sZF9kYXRhKHN0cnVjdCBzdGF0ICpzdCwgc3RydWN0IHBhdGNoICpwYXRjaCwKKwkJCSBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RyYnVmICpidWYpCiB7CisJZW51bSBzYWZlX2NybGYgc2FmZV9jcmxmID0gcGF0Y2gtPmNybGZfaW5fb2xkID8KKwkJU0FGRV9DUkxGX0tFRVBfQ1JMRiA6IFNBRkVfQ1JMRl9SRU5PUk1BTElaRTsKIAlzd2l0Y2ggKHN0LT5zdF9tb2RlICYgU19JRk1UKSB7CiAJY2FzZSBTX0lGTE5LOgogCQlpZiAoc3RyYnVmX3JlYWRsaW5rKGJ1ZiwgcGF0aCwgc3QtPnN0X3NpemUpIDwgMCkKQEAgLTIyNjcsNyArMjI5NywxNSBAQAogCWNhc2UgU19JRlJFRzoKIAkJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoYnVmLCBwYXRoLCBzdC0+c3Rfc2l6ZSkgIT0gc3QtPnN0X3NpemUpCiAJCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIpLCBwYXRoKTsKLQkJY29udmVydF90b19naXQocGF0aCwgYnVmLT5idWYsIGJ1Zi0+bGVuLCBidWYsIDApOworCQkvKgorCQkgKiAiZ2l0IGFwcGx5IiB3aXRob3V0ICItLWluZGV4Ly0tY2FjaGVkIiBzaG91bGQgbmV2ZXIgbG9vaworCQkgKiBhdCB0aGUgaW5kZXg7IHRoZSB0YXJnZXQgZmlsZSBtYXkgbm90IGhhdmUgYmVlbiBhZGRlZCB0bworCQkgKiB0aGUgaW5kZXggeWV0LCBhbmQgd2UgbWF5IG5vdCBldmVuIGJlIGluIGFueSBHaXQgcmVwb3NpdG9yeS4KKwkJICogUGFzcyBOVUxMIHRvIGNvbnZlcnRfdG9fZ2l0KCkgdG8gc3RyZXNzIHRoaXM7IHRoZSBmdW5jdGlvbgorCQkgKiBzaG91bGQgbmV2ZXIgbG9vayBhdCB0aGUgaW5kZXggd2hlbiBleHBsaWNpdCBjcmxmIG9wdGlvbgorCQkgKiBpcyBnaXZlbi4KKwkJICovCisJCWNvbnZlcnRfdG9fZ2l0KE5VTEwsIHBhdGgsIGJ1Zi0+YnVmLCBidWYtPmxlbiwgYnVmLCBzYWZlX2NybGYpOwogCQlyZXR1cm4gMDsKIAlkZWZhdWx0OgogCQlyZXR1cm4gLTE7CkBAIC0yNzk4LDEzICsyODM2LDEwIEBACiAJCWltZy0+bGluZV9hbGxvY2F0ZWQgPSBpbWctPmxpbmU7CiAJfQogCWlmIChwcmVpbWFnZV9saW1pdCAhPSBwb3N0aW1hZ2UtPm5yKQotCQltZW1tb3ZlKGltZy0+bGluZSArIGFwcGxpZWRfcG9zICsgcG9zdGltYWdlLT5uciwKLQkJCWltZy0+bGluZSArIGFwcGxpZWRfcG9zICsgcHJlaW1hZ2VfbGltaXQsCi0JCQkoaW1nLT5uciAtIChhcHBsaWVkX3BvcyArIHByZWltYWdlX2xpbWl0KSkgKgotCQkJc2l6ZW9mKCppbWctPmxpbmUpKTsKLQltZW1jcHkoaW1nLT5saW5lICsgYXBwbGllZF9wb3MsCi0JICAgICAgIHBvc3RpbWFnZS0+bGluZSwKLQkgICAgICAgcG9zdGltYWdlLT5uciAqIHNpemVvZigqaW1nLT5saW5lKSk7CisJCU1PVkVfQVJSQVkoaW1nLT5saW5lICsgYXBwbGllZF9wb3MgKyBwb3N0aW1hZ2UtPm5yLAorCQkJICAgaW1nLT5saW5lICsgYXBwbGllZF9wb3MgKyBwcmVpbWFnZV9saW1pdCwKKwkJCSAgIGltZy0+bnIgLSAoYXBwbGllZF9wb3MgKyBwcmVpbWFnZV9saW1pdCkpOworCUNPUFlfQVJSQVkoaW1nLT5saW5lICsgYXBwbGllZF9wb3MsIHBvc3RpbWFnZS0+bGluZSwgcG9zdGltYWdlLT5ucik7CiAJaWYgKCFzdGF0ZS0+YWxsb3dfb3ZlcmxhcCkKIAkJZm9yIChpID0gMDsgaSA8IHBvc3RpbWFnZS0+bnI7IGkrKykKIAkJCWltZy0+bGluZVthcHBsaWVkX3BvcyArIGldLmZsYWcgfD0gTElORV9QQVRDSEVEOwpAQCAtMjg4NSw2ICsyOTIwLDcgQEAKIAkJCWlmIChwbGVuICYmICh3c19ydWxlICYgV1NfQkxBTktfQVRfRU9GKSAmJgogCQkJICAgIHdzX2JsYW5rX2xpbmUocGF0Y2ggKyAxLCBwbGVuLCB3c19ydWxlKSkKIAkJCQlpc19ibGFua19jb250ZXh0ID0gMTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCiAJCWNhc2UgJy0nOgogCQkJbWVtY3B5KG9sZCwgcGF0Y2ggKyAxLCBwbGVuKTsKIAkJCWFkZF9saW5lX2luZm8oJnByZWltYWdlLCBvbGQsIHBsZW4sCkBAIC0yODkyLDcgKzI5MjgsNyBAQAogCQkJb2xkICs9IHBsZW47CiAJCQlpZiAoZmlyc3QgPT0gJy0nKQogCQkJCWJyZWFrOwotCQkvKiBGYWxsLXRocm91Z2ggZm9yICcgJyAqLworCQkJLyogZmFsbHRocm91Z2ggKi8KIAkJY2FzZSAnKyc6CiAJCQkvKiAtLW5vLWFkZCBkb2VzIG5vdCBhZGQgbmV3IGxpbmVzICovCiAJCQlpZiAoZmlyc3QgPT0gJysnICYmIHN0YXRlLT5ub19hZGQpCkBAIC0zMzczLDYgKzM0MDksNyBAQAogCQkJICAgICBzdHJ1Y3Qgc3RyYnVmICpidWYsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCiAJCQkgICAgIHN0cnVjdCBzdGF0ICpzdCwKKwkJCSAgICAgc3RydWN0IHBhdGNoICpwYXRjaCwKIAkJCSAgICAgY29uc3QgY2hhciAqbmFtZSwKIAkJCSAgICAgdW5zaWduZWQgZXhwZWN0ZWRfbW9kZSkKIHsKQEAgLTMzODgsNyArMzQyNSw3IEBACiAJCX0gZWxzZSBpZiAoaGFzX3N5bWxpbmtfbGVhZGluZ19wYXRoKG5hbWUsIHN0cmxlbihuYW1lKSkpIHsKIAkJCXJldHVybiBlcnJvcihfKCJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIiksIG5hbWUpOwogCQl9IGVsc2UgewotCQkJaWYgKHJlYWRfb2xkX2RhdGEoc3QsIG5hbWUsIGJ1ZikpCisJCQlpZiAocmVhZF9vbGRfZGF0YShzdCwgcGF0Y2gsIG5hbWUsIGJ1ZikpCiAJCQkJcmV0dXJuIGVycm9yKF8oImZhaWxlZCB0byByZWFkICVzIiksIG5hbWUpOwogCQl9CiAJfQpAQCAtMzQyMSw3ICszNDU4LDcgQEAKIAkJLyogV2UgaGF2ZSBhIHBhdGNoZWQgY29weSBpbiBtZW1vcnk7IHVzZSB0aGF0LiAqLwogCQlzdHJidWZfYWRkKCZidWYsIHByZXZpb3VzLT5yZXN1bHQsIHByZXZpb3VzLT5yZXN1bHRzaXplKTsKIAl9IGVsc2UgewotCQlzdGF0dXMgPSBsb2FkX3BhdGNoX3RhcmdldChzdGF0ZSwgJmJ1ZiwgY2UsIHN0LAorCQlzdGF0dXMgPSBsb2FkX3BhdGNoX3RhcmdldChzdGF0ZSwgJmJ1ZiwgY2UsIHN0LCBwYXRjaCwKIAkJCQkJICAgcGF0Y2gtPm9sZF9uYW1lLCBwYXRjaC0+b2xkX21vZGUpOwogCQlpZiAoc3RhdHVzIDwgMCkKIAkJCXJldHVybiBzdGF0dXM7CkBAIC0zNTA5LDcgKzM1NDYsNyBAQAogCWlmICh2ZXJpZnlfaW5kZXhfbWF0Y2goY2UsICZzdCkpCiAJCXJldHVybiBlcnJvcihfKCIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiKSwgbmFtZSk7CiAKLQlzdGF0dXMgPSBsb2FkX3BhdGNoX3RhcmdldChzdGF0ZSwgJmJ1ZiwgY2UsICZzdCwgbmFtZSwgbW9kZSk7CisJc3RhdHVzID0gbG9hZF9wYXRjaF90YXJnZXQoc3RhdGUsICZidWYsIGNlLCAmc3QsIHBhdGNoLCBuYW1lLCBtb2RlKTsKIAlpZiAoc3RhdHVzIDwgMCkKIAkJcmV0dXJuIHN0YXR1czsKIAllbHNlIGlmIChzdGF0dXMpCkBAIC0zNTQwLDcgKzM1NzcsNyBAQAogCS8qIFByZWltYWdlIHRoZSBwYXRjaCB3YXMgcHJlcGFyZWQgZm9yICovCiAJaWYgKHBhdGNoLT5pc19uZXcpCiAJCXdyaXRlX3NoYTFfZmlsZSgiIiwgMCwgYmxvYl90eXBlLCBwcmVfb2lkLmhhc2gpOwotCWVsc2UgaWYgKGdldF9zaGExKHBhdGNoLT5vbGRfc2hhMV9wcmVmaXgsIHByZV9vaWQuaGFzaCkgfHwKKwllbHNlIGlmIChnZXRfb2lkKHBhdGNoLT5vbGRfc2hhMV9wcmVmaXgsICZwcmVfb2lkKSB8fAogCQkgcmVhZF9ibG9iX29iamVjdCgmYnVmLCAmcHJlX29pZCwgcGF0Y2gtPm9sZF9tb2RlKSkKIAkJcmV0dXJuIGVycm9yKF8oInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iKSk7CiAKQEAgLTM3MDUsOCArMzc0Miw3IEBACiAgaXNfbmV3OgogCXBhdGNoLT5pc19uZXcgPSAxOwogCXBhdGNoLT5pc19kZWxldGUgPSAwOwotCWZyZWUocGF0Y2gtPm9sZF9uYW1lKTsKLQlwYXRjaC0+b2xkX25hbWUgPSBOVUxMOworCUZSRUVfQU5EX05VTEwocGF0Y2gtPm9sZF9uYW1lKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzc0MSw3ICszNzc3LDcgQEAKIAkJCXJldHVybiAwOwogCiAJCXJldHVybiBFWElTVFNfSU5fV09SS1RSRUU7Ci0JfSBlbHNlIGlmICgoZXJybm8gIT0gRU5PRU5UKSAmJiAoZXJybm8gIT0gRU5PVERJUikpIHsKKwl9IGVsc2UgaWYgKCFpc19taXNzaW5nX2ZpbGVfZXJyb3IoZXJybm8pKSB7CiAJCXJldHVybiBlcnJvcl9lcnJubygiJXMiLCBuZXdfbmFtZSk7CiAJfQogCXJldHVybiAwOwpAQCAtNDA2NSw3ICs0MTAxLDcgQEAKIAkJCWVsc2UKIAkJCQlyZXR1cm4gZXJyb3IoXygic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yICIKIAkJCQkJICAgICAgICJ1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiKSwgbmFtZSk7Ci0JCX0gZWxzZSBpZiAoIWdldF9zaGExX2Jsb2IocGF0Y2gtPm9sZF9zaGExX3ByZWZpeCwgb2lkLmhhc2gpKSB7CisJCX0gZWxzZSBpZiAoIWdldF9vaWRfYmxvYihwYXRjaC0+b2xkX3NoYTFfcHJlZml4LCAmb2lkKSkgewogCQkJOyAvKiBvayAqLwogCQl9IGVsc2UgaWYgKCFwYXRjaC0+bGluZXNfYWRkZWQgJiYgIXBhdGNoLT5saW5lc19kZWxldGVkKSB7CiAJCQkvKiBtb2RlLW9ubHkgY2hhbmdlOiB1cGRhdGUgdGhlIGN1cnJlbnQgKi8KQEAgLTQwOTEsMTgxICs0MTI3LDE4MSBAQAogCXJlcyA9IHdyaXRlX2xvY2tlZF9pbmRleCgmcmVzdWx0LCAmbG9jaywgQ09NTUlUX0xPQ0spOwogCWRpc2NhcmRfaW5kZXgoJnJlc3VsdCk7CiAKLQkgaWYgKHJlcykKLQkJIHJldHVybiBlcnJvcihfKCJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIiksCi0JCQkgICAgICBzdGF0ZS0+ZmFrZV9hbmNlc3Rvcik7CisJaWYgKHJlcykKKwkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiKSwKKwkJCSAgICAgc3RhdGUtPmZha2VfYW5jZXN0b3IpOwogCi0JIHJldHVybiAwOwotIH0KKwlyZXR1cm4gMDsKK30KIAotIHN0YXRpYyB2b2lkIHN0YXRfcGF0Y2hfbGlzdChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotIHsKLQkgaW50IGZpbGVzLCBhZGRzLCBkZWxzOworc3RhdGljIHZvaWQgc3RhdF9wYXRjaF9saXN0KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJaW50IGZpbGVzLCBhZGRzLCBkZWxzOwogCi0JIGZvciAoZmlsZXMgPSBhZGRzID0gZGVscyA9IDAgOyBwYXRjaCA7IHBhdGNoID0gcGF0Y2gtPm5leHQpIHsKLQkJIGZpbGVzKys7Ci0JCSBhZGRzICs9IHBhdGNoLT5saW5lc19hZGRlZDsKLQkJIGRlbHMgKz0gcGF0Y2gtPmxpbmVzX2RlbGV0ZWQ7Ci0JCSBzaG93X3N0YXRzKHN0YXRlLCBwYXRjaCk7Ci0JIH0KKwlmb3IgKGZpbGVzID0gYWRkcyA9IGRlbHMgPSAwIDsgcGF0Y2ggOyBwYXRjaCA9IHBhdGNoLT5uZXh0KSB7CisJCWZpbGVzKys7CisJCWFkZHMgKz0gcGF0Y2gtPmxpbmVzX2FkZGVkOworCQlkZWxzICs9IHBhdGNoLT5saW5lc19kZWxldGVkOworCQlzaG93X3N0YXRzKHN0YXRlLCBwYXRjaCk7CisJfQogCi0JIHByaW50X3N0YXRfc3VtbWFyeShzdGRvdXQsIGZpbGVzLCBhZGRzLCBkZWxzKTsKLSB9CisJcHJpbnRfc3RhdF9zdW1tYXJ5KHN0ZG91dCwgZmlsZXMsIGFkZHMsIGRlbHMpOworfQogCi0gc3RhdGljIHZvaWQgbnVtc3RhdF9wYXRjaF9saXN0KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCi0JCQkJc3RydWN0IHBhdGNoICpwYXRjaCkKLSB7Ci0JIGZvciAoIDsgcGF0Y2g7IHBhdGNoID0gcGF0Y2gtPm5leHQpIHsKLQkJIGNvbnN0IGNoYXIgKm5hbWU7Ci0JCSBuYW1lID0gcGF0Y2gtPm5ld19uYW1lID8gcGF0Y2gtPm5ld19uYW1lIDogcGF0Y2gtPm9sZF9uYW1lOwotCQkgaWYgKHBhdGNoLT5pc19iaW5hcnkpCi0JCQkgcHJpbnRmKCItXHQtXHQiKTsKLQkJIGVsc2UKLQkJCSBwcmludGYoIiVkXHQlZFx0IiwgcGF0Y2gtPmxpbmVzX2FkZGVkLCBwYXRjaC0+bGluZXNfZGVsZXRlZCk7Ci0JCSB3cml0ZV9uYW1lX3F1b3RlZChuYW1lLCBzdGRvdXQsIHN0YXRlLT5saW5lX3Rlcm1pbmF0aW9uKTsKLQkgfQotIH0KK3N0YXRpYyB2b2lkIG51bXN0YXRfcGF0Y2hfbGlzdChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgICAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJZm9yICggOyBwYXRjaDsgcGF0Y2ggPSBwYXRjaC0+bmV4dCkgeworCQljb25zdCBjaGFyICpuYW1lOworCQluYW1lID0gcGF0Y2gtPm5ld19uYW1lID8gcGF0Y2gtPm5ld19uYW1lIDogcGF0Y2gtPm9sZF9uYW1lOworCQlpZiAocGF0Y2gtPmlzX2JpbmFyeSkKKwkJCXByaW50ZigiLVx0LVx0Iik7CisJCWVsc2UKKwkJCXByaW50ZigiJWRcdCVkXHQiLCBwYXRjaC0+bGluZXNfYWRkZWQsIHBhdGNoLT5saW5lc19kZWxldGVkKTsKKwkJd3JpdGVfbmFtZV9xdW90ZWQobmFtZSwgc3Rkb3V0LCBzdGF0ZS0+bGluZV90ZXJtaW5hdGlvbik7CisJfQorfQogCi0gc3RhdGljIHZvaWQgc2hvd19maWxlX21vZGVfbmFtZShjb25zdCBjaGFyICpuZXdkZWxldGUsIHVuc2lnbmVkIGludCBtb2RlLCBjb25zdCBjaGFyICpuYW1lKQotIHsKLQkgaWYgKG1vZGUpCi0JCSBwcmludGYoIiAlcyBtb2RlICUwNm8gJXNcbiIsIG5ld2RlbGV0ZSwgbW9kZSwgbmFtZSk7Ci0JIGVsc2UKLQkJIHByaW50ZigiICVzICVzXG4iLCBuZXdkZWxldGUsIG5hbWUpOwotIH0KK3N0YXRpYyB2b2lkIHNob3dfZmlsZV9tb2RlX25hbWUoY29uc3QgY2hhciAqbmV3ZGVsZXRlLCB1bnNpZ25lZCBpbnQgbW9kZSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpZiAobW9kZSkKKwkJcHJpbnRmKCIgJXMgbW9kZSAlMDZvICVzXG4iLCBuZXdkZWxldGUsIG1vZGUsIG5hbWUpOworCWVsc2UKKwkJcHJpbnRmKCIgJXMgJXNcbiIsIG5ld2RlbGV0ZSwgbmFtZSk7Cit9CiAKLSBzdGF0aWMgdm9pZCBzaG93X21vZGVfY2hhbmdlKHN0cnVjdCBwYXRjaCAqcCwgaW50IHNob3dfbmFtZSkKLSB7Ci0JIGlmIChwLT5vbGRfbW9kZSAmJiBwLT5uZXdfbW9kZSAmJiBwLT5vbGRfbW9kZSAhPSBwLT5uZXdfbW9kZSkgewotCQkgaWYgKHNob3dfbmFtZSkKLQkJCSBwcmludGYoIiBtb2RlIGNoYW5nZSAlMDZvID0+ICUwNm8gJXNcbiIsCi0JCQkJcC0+b2xkX21vZGUsIHAtPm5ld19tb2RlLCBwLT5uZXdfbmFtZSk7Ci0JCSBlbHNlCi0JCQkgcHJpbnRmKCIgbW9kZSBjaGFuZ2UgJTA2byA9PiAlMDZvXG4iLAotCQkJCXAtPm9sZF9tb2RlLCBwLT5uZXdfbW9kZSk7Ci0JIH0KLSB9CitzdGF0aWMgdm9pZCBzaG93X21vZGVfY2hhbmdlKHN0cnVjdCBwYXRjaCAqcCwgaW50IHNob3dfbmFtZSkKK3sKKwlpZiAocC0+b2xkX21vZGUgJiYgcC0+bmV3X21vZGUgJiYgcC0+b2xkX21vZGUgIT0gcC0+bmV3X21vZGUpIHsKKwkJaWYgKHNob3dfbmFtZSkKKwkJCXByaW50ZigiIG1vZGUgY2hhbmdlICUwNm8gPT4gJTA2byAlc1xuIiwKKwkJCSAgICAgICBwLT5vbGRfbW9kZSwgcC0+bmV3X21vZGUsIHAtPm5ld19uYW1lKTsKKwkJZWxzZQorCQkJcHJpbnRmKCIgbW9kZSBjaGFuZ2UgJTA2byA9PiAlMDZvXG4iLAorCQkJICAgICAgIHAtPm9sZF9tb2RlLCBwLT5uZXdfbW9kZSk7CisJfQorfQogCi0gc3RhdGljIHZvaWQgc2hvd19yZW5hbWVfY29weShzdHJ1Y3QgcGF0Y2ggKnApCi0gewotCSBjb25zdCBjaGFyICpyZW5hbWVjb3B5ID0gcC0+aXNfcmVuYW1lID8gInJlbmFtZSIgOiAiY29weSI7Ci0JIGNvbnN0IGNoYXIgKm9sZCwgKm5ldzsKK3N0YXRpYyB2b2lkIHNob3dfcmVuYW1lX2NvcHkoc3RydWN0IHBhdGNoICpwKQoreworCWNvbnN0IGNoYXIgKnJlbmFtZWNvcHkgPSBwLT5pc19yZW5hbWUgPyAicmVuYW1lIiA6ICJjb3B5IjsKKwljb25zdCBjaGFyICpvbGQsICpuZXc7CiAKLQkgLyogRmluZCBjb21tb24gcHJlZml4ICovCi0JIG9sZCA9IHAtPm9sZF9uYW1lOwotCSBuZXcgPSBwLT5uZXdfbmFtZTsKLQkgd2hpbGUgKDEpIHsKLQkJIGNvbnN0IGNoYXIgKnNsYXNoX29sZCwgKnNsYXNoX25ldzsKLQkJIHNsYXNoX29sZCA9IHN0cmNocihvbGQsICcvJyk7Ci0JCSBzbGFzaF9uZXcgPSBzdHJjaHIobmV3LCAnLycpOwotCQkgaWYgKCFzbGFzaF9vbGQgfHwKLQkJICAgICAhc2xhc2hfbmV3IHx8Ci0JCSAgICAgc2xhc2hfb2xkIC0gb2xkICE9IHNsYXNoX25ldyAtIG5ldyB8fAotCQkgICAgIG1lbWNtcChvbGQsIG5ldywgc2xhc2hfbmV3IC0gbmV3KSkKLQkJCSBicmVhazsKLQkJIG9sZCA9IHNsYXNoX29sZCArIDE7Ci0JCSBuZXcgPSBzbGFzaF9uZXcgKyAxOwotCSB9Ci0JIC8qIHAtPm9sZF9uYW1lIHRocnUgb2xkIGlzIHRoZSBjb21tb24gcHJlZml4LCBhbmQgb2xkIGFuZCBuZXcKLQkgICogdGhyb3VnaCB0aGUgZW5kIG9mIG5hbWVzIGFyZSByZW5hbWVzCi0JICAqLwotCSBpZiAob2xkICE9IHAtPm9sZF9uYW1lKQotCQkgcHJpbnRmKCIgJXMgJS4qc3slcyA9PiAlc30gKCVkJSUpXG4iLCByZW5hbWVjb3B5LAotCQkJKGludCkob2xkIC0gcC0+b2xkX25hbWUpLCBwLT5vbGRfbmFtZSwKLQkJCW9sZCwgbmV3LCBwLT5zY29yZSk7Ci0JIGVsc2UKLQkJIHByaW50ZigiICVzICVzID0+ICVzICglZCUlKVxuIiwgcmVuYW1lY29weSwKLQkJCXAtPm9sZF9uYW1lLCBwLT5uZXdfbmFtZSwgcC0+c2NvcmUpOwotCSBzaG93X21vZGVfY2hhbmdlKHAsIDApOwotIH0KKwkvKiBGaW5kIGNvbW1vbiBwcmVmaXggKi8KKwlvbGQgPSBwLT5vbGRfbmFtZTsKKwluZXcgPSBwLT5uZXdfbmFtZTsKKwl3aGlsZSAoMSkgeworCQljb25zdCBjaGFyICpzbGFzaF9vbGQsICpzbGFzaF9uZXc7CisJCXNsYXNoX29sZCA9IHN0cmNocihvbGQsICcvJyk7CisJCXNsYXNoX25ldyA9IHN0cmNocihuZXcsICcvJyk7CisJCWlmICghc2xhc2hfb2xkIHx8CisJCSAgICAhc2xhc2hfbmV3IHx8CisJCSAgICBzbGFzaF9vbGQgLSBvbGQgIT0gc2xhc2hfbmV3IC0gbmV3IHx8CisJCSAgICBtZW1jbXAob2xkLCBuZXcsIHNsYXNoX25ldyAtIG5ldykpCisJCQlicmVhazsKKwkJb2xkID0gc2xhc2hfb2xkICsgMTsKKwkJbmV3ID0gc2xhc2hfbmV3ICsgMTsKKwl9CisJLyogcC0+b2xkX25hbWUgdGhydSBvbGQgaXMgdGhlIGNvbW1vbiBwcmVmaXgsIGFuZCBvbGQgYW5kIG5ldworCSAqIHRocm91Z2ggdGhlIGVuZCBvZiBuYW1lcyBhcmUgcmVuYW1lcworCSAqLworCWlmIChvbGQgIT0gcC0+b2xkX25hbWUpCisJCXByaW50ZigiICVzICUuKnN7JXMgPT4gJXN9ICglZCUlKVxuIiwgcmVuYW1lY29weSwKKwkJICAgICAgIChpbnQpKG9sZCAtIHAtPm9sZF9uYW1lKSwgcC0+b2xkX25hbWUsCisJCSAgICAgICBvbGQsIG5ldywgcC0+c2NvcmUpOworCWVsc2UKKwkJcHJpbnRmKCIgJXMgJXMgPT4gJXMgKCVkJSUpXG4iLCByZW5hbWVjb3B5LAorCQkgICAgICAgcC0+b2xkX25hbWUsIHAtPm5ld19uYW1lLCBwLT5zY29yZSk7CisJc2hvd19tb2RlX2NoYW5nZShwLCAwKTsKK30KIAotIHN0YXRpYyB2b2lkIHN1bW1hcnlfcGF0Y2hfbGlzdChzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotIHsKLQkgc3RydWN0IHBhdGNoICpwOworc3RhdGljIHZvaWQgc3VtbWFyeV9wYXRjaF9saXN0KHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJc3RydWN0IHBhdGNoICpwOwogCi0JIGZvciAocCA9IHBhdGNoOyBwOyBwID0gcC0+bmV4dCkgewotCQkgaWYgKHAtPmlzX25ldykKLQkJCSBzaG93X2ZpbGVfbW9kZV9uYW1lKCJjcmVhdGUiLCBwLT5uZXdfbW9kZSwgcC0+bmV3X25hbWUpOwotCQkgZWxzZSBpZiAocC0+aXNfZGVsZXRlKQotCQkJIHNob3dfZmlsZV9tb2RlX25hbWUoImRlbGV0ZSIsIHAtPm9sZF9tb2RlLCBwLT5vbGRfbmFtZSk7Ci0JCSBlbHNlIHsKLQkJCSBpZiAocC0+aXNfcmVuYW1lIHx8IHAtPmlzX2NvcHkpCi0JCQkJIHNob3dfcmVuYW1lX2NvcHkocCk7Ci0JCQkgZWxzZSB7Ci0JCQkJIGlmIChwLT5zY29yZSkgewotCQkJCQkgcHJpbnRmKCIgcmV3cml0ZSAlcyAoJWQlJSlcbiIsCi0JCQkJCQlwLT5uZXdfbmFtZSwgcC0+c2NvcmUpOwotCQkJCQkgc2hvd19tb2RlX2NoYW5nZShwLCAwKTsKLQkJCQkgfQotCQkJCSBlbHNlCi0JCQkJCSBzaG93X21vZGVfY2hhbmdlKHAsIDEpOwotCQkJIH0KLQkJIH0KLQkgfQotIH0KKwlmb3IgKHAgPSBwYXRjaDsgcDsgcCA9IHAtPm5leHQpIHsKKwkJaWYgKHAtPmlzX25ldykKKwkJCXNob3dfZmlsZV9tb2RlX25hbWUoImNyZWF0ZSIsIHAtPm5ld19tb2RlLCBwLT5uZXdfbmFtZSk7CisJCWVsc2UgaWYgKHAtPmlzX2RlbGV0ZSkKKwkJCXNob3dfZmlsZV9tb2RlX25hbWUoImRlbGV0ZSIsIHAtPm9sZF9tb2RlLCBwLT5vbGRfbmFtZSk7CisJCWVsc2UgeworCQkJaWYgKHAtPmlzX3JlbmFtZSB8fCBwLT5pc19jb3B5KQorCQkJCXNob3dfcmVuYW1lX2NvcHkocCk7CisJCQllbHNlIHsKKwkJCQlpZiAocC0+c2NvcmUpIHsKKwkJCQkJcHJpbnRmKCIgcmV3cml0ZSAlcyAoJWQlJSlcbiIsCisJCQkJCSAgICAgICBwLT5uZXdfbmFtZSwgcC0+c2NvcmUpOworCQkJCQlzaG93X21vZGVfY2hhbmdlKHAsIDApOworCQkJCX0KKwkJCQllbHNlCisJCQkJCXNob3dfbW9kZV9jaGFuZ2UocCwgMSk7CisJCQl9CisJCX0KKwl9Cit9CiAKLSBzdGF0aWMgdm9pZCBwYXRjaF9zdGF0cyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotIHsKLQkgaW50IGxpbmVzID0gcGF0Y2gtPmxpbmVzX2FkZGVkICsgcGF0Y2gtPmxpbmVzX2RlbGV0ZWQ7CitzdGF0aWMgdm9pZCBwYXRjaF9zdGF0cyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCWludCBsaW5lcyA9IHBhdGNoLT5saW5lc19hZGRlZCArIHBhdGNoLT5saW5lc19kZWxldGVkOwogCi0JIGlmIChsaW5lcyA+IHN0YXRlLT5tYXhfY2hhbmdlKQotCQkgc3RhdGUtPm1heF9jaGFuZ2UgPSBsaW5lczsKLQkgaWYgKHBhdGNoLT5vbGRfbmFtZSkgewotCQkgaW50IGxlbiA9IHF1b3RlX2Nfc3R5bGUocGF0Y2gtPm9sZF9uYW1lLCBOVUxMLCBOVUxMLCAwKTsKLQkJIGlmICghbGVuKQotCQkJIGxlbiA9IHN0cmxlbihwYXRjaC0+b2xkX25hbWUpOwotCQkgaWYgKGxlbiA+IHN0YXRlLT5tYXhfbGVuKQotCQkJIHN0YXRlLT5tYXhfbGVuID0gbGVuOwotCSB9Ci0JIGlmIChwYXRjaC0+bmV3X25hbWUpIHsKLQkJIGludCBsZW4gPSBxdW90ZV9jX3N0eWxlKHBhdGNoLT5uZXdfbmFtZSwgTlVMTCwgTlVMTCwgMCk7Ci0JCSBpZiAoIWxlbikKLQkJCSBsZW4gPSBzdHJsZW4ocGF0Y2gtPm5ld19uYW1lKTsKLQkJIGlmIChsZW4gPiBzdGF0ZS0+bWF4X2xlbikKLQkJCSBzdGF0ZS0+bWF4X2xlbiA9IGxlbjsKLQkgfQotIH0KKwlpZiAobGluZXMgPiBzdGF0ZS0+bWF4X2NoYW5nZSkKKwkJc3RhdGUtPm1heF9jaGFuZ2UgPSBsaW5lczsKKwlpZiAocGF0Y2gtPm9sZF9uYW1lKSB7CisJCWludCBsZW4gPSBxdW90ZV9jX3N0eWxlKHBhdGNoLT5vbGRfbmFtZSwgTlVMTCwgTlVMTCwgMCk7CisJCWlmICghbGVuKQorCQkJbGVuID0gc3RybGVuKHBhdGNoLT5vbGRfbmFtZSk7CisJCWlmIChsZW4gPiBzdGF0ZS0+bWF4X2xlbikKKwkJCXN0YXRlLT5tYXhfbGVuID0gbGVuOworCX0KKwlpZiAocGF0Y2gtPm5ld19uYW1lKSB7CisJCWludCBsZW4gPSBxdW90ZV9jX3N0eWxlKHBhdGNoLT5uZXdfbmFtZSwgTlVMTCwgTlVMTCwgMCk7CisJCWlmICghbGVuKQorCQkJbGVuID0gc3RybGVuKHBhdGNoLT5uZXdfbmFtZSk7CisJCWlmIChsZW4gPiBzdGF0ZS0+bWF4X2xlbikKKwkJCXN0YXRlLT5tYXhfbGVuID0gbGVuOworCX0KK30KIAotIHN0YXRpYyBpbnQgcmVtb3ZlX2ZpbGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgc3RydWN0IHBhdGNoICpwYXRjaCwgaW50IHJtZGlyX2VtcHR5KQotIHsKLQkgaWYgKHN0YXRlLT51cGRhdGVfaW5kZXgpIHsKLQkJIGlmIChyZW1vdmVfZmlsZV9mcm9tX2NhY2hlKHBhdGNoLT5vbGRfbmFtZSkgPCAwKQotCQkJIHJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiKSwgcGF0Y2gtPm9sZF9uYW1lKTsKLQkgfQotCSBpZiAoIXN0YXRlLT5jYWNoZWQpIHsKLQkJIGlmICghcmVtb3ZlX29yX3dhcm4ocGF0Y2gtPm9sZF9tb2RlLCBwYXRjaC0+b2xkX25hbWUpICYmIHJtZGlyX2VtcHR5KSB7Ci0JCQkgcmVtb3ZlX3BhdGgocGF0Y2gtPm9sZF9uYW1lKTsKLQkJIH0KLQkgfQotCSByZXR1cm4gMDsKLSB9CitzdGF0aWMgaW50IHJlbW92ZV9maWxlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBwYXRjaCAqcGF0Y2gsIGludCBybWRpcl9lbXB0eSkKK3sKKwlpZiAoc3RhdGUtPnVwZGF0ZV9pbmRleCkgeworCQlpZiAocmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShwYXRjaC0+b2xkX25hbWUpIDwgMCkKKwkJCXJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiKSwgcGF0Y2gtPm9sZF9uYW1lKTsKKwl9CisJaWYgKCFzdGF0ZS0+Y2FjaGVkKSB7CisJCWlmICghcmVtb3ZlX29yX3dhcm4ocGF0Y2gtPm9sZF9tb2RlLCBwYXRjaC0+b2xkX25hbWUpICYmIHJtZGlyX2VtcHR5KSB7CisJCQlyZW1vdmVfcGF0aChwYXRjaC0+b2xkX25hbWUpOworCQl9CisJfQorCXJldHVybiAwOworfQogCi0gc3RhdGljIGludCBhZGRfaW5kZXhfZmlsZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAotCQkJICAgY29uc3QgY2hhciAqcGF0aCwKLQkJCSAgIHVuc2lnbmVkIG1vZGUsCi0JCQkgICB2b2lkICpidWYsCi0JCQkgICB1bnNpZ25lZCBsb25nIHNpemUpCi0gewotCSBzdHJ1Y3Qgc3RhdCBzdDsKLQkgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKLQkgaW50IG5hbWVsZW4gPSBzdHJsZW4ocGF0aCk7Ci0JIHVuc2lnbmVkIGNlX3NpemUgPSBjYWNoZV9lbnRyeV9zaXplKG5hbWVsZW4pOworc3RhdGljIGludCBhZGRfaW5kZXhfZmlsZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICBjb25zdCBjaGFyICpwYXRoLAorCQkJICB1bnNpZ25lZCBtb2RlLAorCQkJICB2b2lkICpidWYsCisJCQkgIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOworCWludCBuYW1lbGVuID0gc3RybGVuKHBhdGgpOworCXVuc2lnbmVkIGNlX3NpemUgPSBjYWNoZV9lbnRyeV9zaXplKG5hbWVsZW4pOwogCi0JIGlmICghc3RhdGUtPnVwZGF0ZV9pbmRleCkKLQkJIHJldHVybiAwOworCWlmICghc3RhdGUtPnVwZGF0ZV9pbmRleCkKKwkJcmV0dXJuIDA7CiAKLQkgY2UgPSB4Y2FsbG9jKDEsIGNlX3NpemUpOwotCSBtZW1jcHkoY2UtPm5hbWUsIHBhdGgsIG5hbWVsZW4pOwotCSBjZS0+Y2VfbW9kZSA9IGNyZWF0ZV9jZV9tb2RlKG1vZGUpOwotCSBjZS0+Y2VfZmxhZ3MgPSBjcmVhdGVfY2VfZmxhZ3MoMCk7Ci0JIGNlLT5jZV9uYW1lbGVuID0gbmFtZWxlbjsKLQkgaWYgKFNfSVNHSVRMSU5LKG1vZGUpKSB7Ci0JCSBjb25zdCBjaGFyICpzOworCWNlID0geGNhbGxvYygxLCBjZV9zaXplKTsKKwltZW1jcHkoY2UtPm5hbWUsIHBhdGgsIG5hbWVsZW4pOworCWNlLT5jZV9tb2RlID0gY3JlYXRlX2NlX21vZGUobW9kZSk7CisJY2UtPmNlX2ZsYWdzID0gY3JlYXRlX2NlX2ZsYWdzKDApOworCWNlLT5jZV9uYW1lbGVuID0gbmFtZWxlbjsKKwlpZiAoU19JU0dJVExJTksobW9kZSkpIHsKKwkJY29uc3QgY2hhciAqczsKIAotCQkgaWYgKCFza2lwX3ByZWZpeChidWYsICJTdWJwcm9qZWN0IGNvbW1pdCAiLCAmcykgfHwKLQkJICAgICBnZXRfb2lkX2hleChzLCAmY2UtPm9pZCkpIHsKKwkJaWYgKCFza2lwX3ByZWZpeChidWYsICJTdWJwcm9qZWN0IGNvbW1pdCAiLCAmcykgfHwKKwkJICAgIGdldF9vaWRfaGV4KHMsICZjZS0+b2lkKSkgewogCQkJZnJlZShjZSk7Ci0JCQlyZXR1cm4gZXJyb3IoXygiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIiksIHBhdGgpOworCQkgICAgICAgcmV0dXJuIGVycm9yKF8oImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIpLCBwYXRoKTsKIAkJfQogCX0gZWxzZSB7CiAJCWlmICghc3RhdGUtPmNhY2hlZCkgewpAQCAtNDgwNSw2ICs0ODQxLDcgQEAKIAogCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKIAkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKKwkJY2hhciAqdG9fZnJlZSA9IE5VTEw7CiAJCWludCBmZDsKIAogCQlpZiAoIXN0cmNtcChhcmcsICItIikpIHsKQEAgLTQ4MTQsMjEgKzQ4NTEsMjEgQEAKIAkJCWVycnMgfD0gcmVzOwogCQkJcmVhZF9zdGRpbiA9IDA7CiAJCQljb250aW51ZTsKLQkJfSBlbHNlIGlmICgwIDwgc3RhdGUtPnByZWZpeF9sZW5ndGgpCi0JCQlhcmcgPSBwcmVmaXhfZmlsZW5hbWUoc3RhdGUtPnByZWZpeCwKLQkJCQkJICAgICAgc3RhdGUtPnByZWZpeF9sZW5ndGgsCi0JCQkJCSAgICAgIGFyZyk7CisJCX0gZWxzZQorCQkJYXJnID0gdG9fZnJlZSA9IHByZWZpeF9maWxlbmFtZShzdGF0ZS0+cHJlZml4LCBhcmcpOwogCiAJCWZkID0gb3BlbihhcmcsIE9fUkRPTkxZKTsKIAkJaWYgKGZkIDwgMCkgewogCQkJZXJyb3IoXygiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIpLCBhcmcsIHN0cmVycm9yKGVycm5vKSk7CiAJCQlyZXMgPSAtMTI4OworCQkJZnJlZSh0b19mcmVlKTsKIAkJCWdvdG8gZW5kOwogCQl9CiAJCXJlYWRfc3RkaW4gPSAwOwogCQlzZXRfZGVmYXVsdF93aGl0ZXNwYWNlX21vZGUoc3RhdGUpOwogCQlyZXMgPSBhcHBseV9wYXRjaChzdGF0ZSwgZmQsIGFyZywgb3B0aW9ucyk7CiAJCWNsb3NlKGZkKTsKKwkJZnJlZSh0b19mcmVlKTsKIAkJaWYgKHJlcyA8IDApCiAJCQlnb3RvIGVuZDsKIAkJZXJycyB8PSByZXM7CmRpZmYgLS1naXQgYS9hcHBseS5oIGIvYXBwbHkuaAppbmRleCBiM2Q2NzgzLi5kOWIzOTU3IDEwMDY0NAotLS0gYS9hcHBseS5oCisrKyBiL2FwcGx5LmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogc3RydWN0IGFwcGx5X3N0YXRlIHsKIAljb25zdCBjaGFyICpwcmVmaXg7Ci0JaW50IHByZWZpeF9sZW5ndGg7CiAKIAkvKiBUaGVzZSBhcmUgbG9ja19maWxlIHJlbGF0ZWQgKi8KIAlzdHJ1Y3QgbG9ja19maWxlICpsb2NrX2ZpbGU7CmRpZmYgLS1naXQgYS9hcmNoaXZlLXRhci5jIGIvYXJjaGl2ZS10YXIuYwppbmRleCAzODBlM2FlLi5jNmVkOTZlIDEwMDY0NAotLS0gYS9hcmNoaXZlLXRhci5jCisrKyBiL2FyY2hpdmUtdGFyLmMKQEAgLTIsNiArMiw3IEBACiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUsIDIwMDYgUmVuZSBTY2hhcmZlCiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInRhci5oIgogI2luY2x1ZGUgImFyY2hpdmUuaCIKICNpbmNsdWRlICJzdHJlYW1pbmcuaCIKQEAgLTI3LDEwICsyOCwxMyBAQAogICovCiAjaWYgVUxPTkdfTUFYID09IDB4RkZGRkZGRkYKICNkZWZpbmUgVVNUQVJfTUFYX1NJWkUgVUxPTkdfTUFYCi0jZGVmaW5lIFVTVEFSX01BWF9NVElNRSBVTE9OR19NQVgKICNlbHNlCiAjZGVmaW5lIFVTVEFSX01BWF9TSVpFIDA3Nzc3Nzc3Nzc3N1VMCi0jZGVmaW5lIFVTVEFSX01BWF9NVElNRSAwNzc3Nzc3Nzc3NzdVTAorI2VuZGlmCisjaWYgVElNRV9NQVggPT0gMHhGRkZGRkZGRgorI2RlZmluZSBVU1RBUl9NQVhfTVRJTUUgVElNRV9NQVgKKyNlbHNlCisjZGVmaW5lIFVTVEFSX01BWF9NVElNRSAwNzc3Nzc3Nzc3NzdVTEwKICNlbmRpZgogCiAvKiB3cml0ZXMgb3V0IHRoZSB3aG9sZSBibG9jaywgYnV0IG9ubHkgaWYgaXQgaXMgZnVsbCAqLwpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS16aXAuYyBiL2FyY2hpdmUtemlwLmMKaW5kZXggYjQyOWE4ZC4uZTg5MTNlNSAxMDA2NDQKLS0tIGEvYXJjaGl2ZS16aXAuYworKysgYi9hcmNoaXZlLXppcC5jCkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChjKSAyMDA2IFJlbmUgU2NoYXJmZQogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJhcmNoaXZlLmgiCiAjaW5jbHVkZSAic3RyZWFtaW5nLmgiCiAjaW5jbHVkZSAidXRmOC5oIgpAQCAtMTEsMTYgKzEyLDE0IEBACiBzdGF0aWMgaW50IHppcF9kYXRlOwogc3RhdGljIGludCB6aXBfdGltZTsKIAotc3RhdGljIHVuc2lnbmVkIGNoYXIgKnppcF9kaXI7Ci1zdGF0aWMgdW5zaWduZWQgaW50IHppcF9kaXJfc2l6ZTsKKy8qIFdlIG9ubHkgY2FyZSBhYm91dCB0aGUgImJ1ZiIgcGFydCBoZXJlLiAqLworc3RhdGljIHN0cnVjdCBzdHJidWYgemlwX2RpcjsKIAotc3RhdGljIHVuc2lnbmVkIGludCB6aXBfb2Zmc2V0Owotc3RhdGljIHVuc2lnbmVkIGludCB6aXBfZGlyX29mZnNldDsKK3N0YXRpYyB1aW50bWF4X3QgemlwX29mZnNldDsKIHN0YXRpYyB1aW50NjRfdCB6aXBfZGlyX2VudHJpZXM7CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbWF4X2NyZWF0b3JfdmVyc2lvbjsKIAotI2RlZmluZSBaSVBfRElSRUNUT1JZX01JTl9TSVpFCSgxMDI0ICogMTAyNCkKICNkZWZpbmUgWklQX1NUUkVBTQkoMSA8PCAgMykKICNkZWZpbmUgWklQX1VURjgJKDEgPDwgMTEpCiAKQEAgLTQ3LDI0ICs0NiwxMSBAQAogCXVuc2lnbmVkIGNoYXIgX2VuZFsxXTsKIH07CiAKLXN0cnVjdCB6aXBfZGlyX2hlYWRlciB7CitzdHJ1Y3QgemlwNjRfZGF0YV9kZXNjIHsKIAl1bnNpZ25lZCBjaGFyIG1hZ2ljWzRdOwotCXVuc2lnbmVkIGNoYXIgY3JlYXRvcl92ZXJzaW9uWzJdOwotCXVuc2lnbmVkIGNoYXIgdmVyc2lvblsyXTsKLQl1bnNpZ25lZCBjaGFyIGZsYWdzWzJdOwotCXVuc2lnbmVkIGNoYXIgY29tcHJlc3Npb25fbWV0aG9kWzJdOwotCXVuc2lnbmVkIGNoYXIgbXRpbWVbMl07Ci0JdW5zaWduZWQgY2hhciBtZGF0ZVsyXTsKIAl1bnNpZ25lZCBjaGFyIGNyYzMyWzRdOwotCXVuc2lnbmVkIGNoYXIgY29tcHJlc3NlZF9zaXplWzRdOwotCXVuc2lnbmVkIGNoYXIgc2l6ZVs0XTsKLQl1bnNpZ25lZCBjaGFyIGZpbGVuYW1lX2xlbmd0aFsyXTsKLQl1bnNpZ25lZCBjaGFyIGV4dHJhX2xlbmd0aFsyXTsKLQl1bnNpZ25lZCBjaGFyIGNvbW1lbnRfbGVuZ3RoWzJdOwotCXVuc2lnbmVkIGNoYXIgZGlza1syXTsKLQl1bnNpZ25lZCBjaGFyIGF0dHIxWzJdOwotCXVuc2lnbmVkIGNoYXIgYXR0cjJbNF07Ci0JdW5zaWduZWQgY2hhciBvZmZzZXRbNF07CisJdW5zaWduZWQgY2hhciBjb21wcmVzc2VkX3NpemVbOF07CisJdW5zaWduZWQgY2hhciBzaXplWzhdOwogCXVuc2lnbmVkIGNoYXIgX2VuZFsxXTsKIH07CiAKQEAgLTg4LDYgKzc0LDE0IEBACiAJdW5zaWduZWQgY2hhciBfZW5kWzFdOwogfTsKIAorc3RydWN0IHppcDY0X2V4dHJhIHsKKwl1bnNpZ25lZCBjaGFyIG1hZ2ljWzJdOworCXVuc2lnbmVkIGNoYXIgZXh0cmFfc2l6ZVsyXTsKKwl1bnNpZ25lZCBjaGFyIHNpemVbOF07CisJdW5zaWduZWQgY2hhciBjb21wcmVzc2VkX3NpemVbOF07CisJdW5zaWduZWQgY2hhciBfZW5kWzFdOworfTsKKwogc3RydWN0IHppcDY0X2Rpcl90cmFpbGVyIHsKIAl1bnNpZ25lZCBjaGFyIG1hZ2ljWzRdOwogCXVuc2lnbmVkIGNoYXIgcmVjb3JkX3NpemVbOF07CkBAIC0xMTcsMTEgKzExMSwxNSBAQAogICovCiAjZGVmaW5lIFpJUF9MT0NBTF9IRUFERVJfU0laRQlvZmZzZXRvZihzdHJ1Y3QgemlwX2xvY2FsX2hlYWRlciwgX2VuZCkKICNkZWZpbmUgWklQX0RBVEFfREVTQ19TSVpFCW9mZnNldG9mKHN0cnVjdCB6aXBfZGF0YV9kZXNjLCBfZW5kKQorI2RlZmluZSBaSVA2NF9EQVRBX0RFU0NfU0laRQlvZmZzZXRvZihzdHJ1Y3QgemlwNjRfZGF0YV9kZXNjLCBfZW5kKQogI2RlZmluZSBaSVBfRElSX0hFQURFUl9TSVpFCW9mZnNldG9mKHN0cnVjdCB6aXBfZGlyX2hlYWRlciwgX2VuZCkKICNkZWZpbmUgWklQX0RJUl9UUkFJTEVSX1NJWkUJb2Zmc2V0b2Yoc3RydWN0IHppcF9kaXJfdHJhaWxlciwgX2VuZCkKICNkZWZpbmUgWklQX0VYVFJBX01USU1FX1NJWkUJb2Zmc2V0b2Yoc3RydWN0IHppcF9leHRyYV9tdGltZSwgX2VuZCkKICNkZWZpbmUgWklQX0VYVFJBX01USU1FX1BBWUxPQURfU0laRSBcCiAJKFpJUF9FWFRSQV9NVElNRV9TSVpFIC0gb2Zmc2V0b2Yoc3RydWN0IHppcF9leHRyYV9tdGltZSwgZmxhZ3MpKQorI2RlZmluZSBaSVA2NF9FWFRSQV9TSVpFCW9mZnNldG9mKHN0cnVjdCB6aXA2NF9leHRyYSwgX2VuZCkKKyNkZWZpbmUgWklQNjRfRVhUUkFfUEFZTE9BRF9TSVpFIFwKKwkoWklQNjRfRVhUUkFfU0laRSAtIG9mZnNldG9mKHN0cnVjdCB6aXA2NF9leHRyYSwgc2l6ZSkpCiAjZGVmaW5lIFpJUDY0X0RJUl9UUkFJTEVSX1NJWkUJb2Zmc2V0b2Yoc3RydWN0IHppcDY0X2Rpcl90cmFpbGVyLCBfZW5kKQogI2RlZmluZSBaSVA2NF9ESVJfVFJBSUxFUl9SRUNPUkRfU0laRSBcCiAJKFpJUDY0X0RJUl9UUkFJTEVSX1NJWkUgLSBcCkBAIC0xNjgsNiArMTY2LDI2IEBACiAJY29weV9sZTE2KGRlc3QsIGNsYW1wX21heChuLCAweGZmZmYsIGNsYW1wZWQpKTsKIH0KIAorc3RhdGljIHZvaWQgY29weV9sZTMyX2NsYW1wKHVuc2lnbmVkIGNoYXIgKmRlc3QsIHVpbnQ2NF90IG4sIGludCAqY2xhbXBlZCkKK3sKKwljb3B5X2xlMzIoZGVzdCwgY2xhbXBfbWF4KG4sIDB4ZmZmZmZmZmYsIGNsYW1wZWQpKTsKK30KKworc3RhdGljIGludCBzdHJidWZfYWRkX2xlKHN0cnVjdCBzdHJidWYgKnNiLCBzaXplX3Qgc2l6ZSwgdWludG1heF90IG4pCit7CisJd2hpbGUgKHNpemUtLSA+IDApIHsKKwkJc3RyYnVmX2FkZGNoKHNiLCBuICYgMHhmZik7CisJCW4gPj49IDg7CisJfQorCXJldHVybiAtISFuOworfQorCitzdGF0aWMgdWludDMyX3QgY2xhbXAzMih1aW50bWF4X3QgbikKK3sKKwljb25zdCB1aW50bWF4X3QgbWF4ID0gMHhmZmZmZmZmZjsKKwlyZXR1cm4gKG4gPCBtYXgpID8gbiA6IG1heDsKK30KKwogc3RhdGljIHZvaWQgKnpsaWJfZGVmbGF0ZV9yYXcodm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBzaXplLAogCQkJICAgICAgaW50IGNvbXByZXNzaW9uX2xldmVsLAogCQkJICAgICAgdW5zaWduZWQgbG9uZyAqY29tcHJlc3NlZF9zaXplKQpAQCAtMjA1LDIzICsyMjMsMjMgQEAKIAkJCQl1bnNpZ25lZCBsb25nIGNvbXByZXNzZWRfc2l6ZSwKIAkJCQl1bnNpZ25lZCBsb25nIGNyYykKIHsKLQlzdHJ1Y3QgemlwX2RhdGFfZGVzYyB0cmFpbGVyOwotCi0JY29weV9sZTMyKHRyYWlsZXIubWFnaWMsIDB4MDgwNzRiNTApOwotCWNvcHlfbGUzMih0cmFpbGVyLmNyYzMyLCBjcmMpOwotCWNvcHlfbGUzMih0cmFpbGVyLmNvbXByZXNzZWRfc2l6ZSwgY29tcHJlc3NlZF9zaXplKTsKLQljb3B5X2xlMzIodHJhaWxlci5zaXplLCBzaXplKTsKLQl3cml0ZV9vcl9kaWUoMSwgJnRyYWlsZXIsIFpJUF9EQVRBX0RFU0NfU0laRSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNldF96aXBfZGlyX2RhdGFfZGVzYyhzdHJ1Y3QgemlwX2Rpcl9oZWFkZXIgKmhlYWRlciwKLQkJCQkgIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQkJCQkgIHVuc2lnbmVkIGxvbmcgY29tcHJlc3NlZF9zaXplLAotCQkJCSAgdW5zaWduZWQgbG9uZyBjcmMpCi17Ci0JY29weV9sZTMyKGhlYWRlci0+Y3JjMzIsIGNyYyk7Ci0JY29weV9sZTMyKGhlYWRlci0+Y29tcHJlc3NlZF9zaXplLCBjb21wcmVzc2VkX3NpemUpOwotCWNvcHlfbGUzMihoZWFkZXItPnNpemUsIHNpemUpOworCWlmIChzaXplID49IDB4ZmZmZmZmZmYgfHwgY29tcHJlc3NlZF9zaXplID49IDB4ZmZmZmZmZmYpIHsKKwkJc3RydWN0IHppcDY0X2RhdGFfZGVzYyB0cmFpbGVyOworCQljb3B5X2xlMzIodHJhaWxlci5tYWdpYywgMHgwODA3NGI1MCk7CisJCWNvcHlfbGUzMih0cmFpbGVyLmNyYzMyLCBjcmMpOworCQljb3B5X2xlNjQodHJhaWxlci5jb21wcmVzc2VkX3NpemUsIGNvbXByZXNzZWRfc2l6ZSk7CisJCWNvcHlfbGU2NCh0cmFpbGVyLnNpemUsIHNpemUpOworCQl3cml0ZV9vcl9kaWUoMSwgJnRyYWlsZXIsIFpJUDY0X0RBVEFfREVTQ19TSVpFKTsKKwkJemlwX29mZnNldCArPSBaSVA2NF9EQVRBX0RFU0NfU0laRTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgemlwX2RhdGFfZGVzYyB0cmFpbGVyOworCQljb3B5X2xlMzIodHJhaWxlci5tYWdpYywgMHgwODA3NGI1MCk7CisJCWNvcHlfbGUzMih0cmFpbGVyLmNyYzMyLCBjcmMpOworCQljb3B5X2xlMzIodHJhaWxlci5jb21wcmVzc2VkX3NpemUsIGNvbXByZXNzZWRfc2l6ZSk7CisJCWNvcHlfbGUzMih0cmFpbGVyLnNpemUsIHNpemUpOworCQl3cml0ZV9vcl9kaWUoMSwgJnRyYWlsZXIsIFpJUF9EQVRBX0RFU0NfU0laRSk7CisJCXppcF9vZmZzZXQgKz0gWklQX0RBVEFfREVTQ19TSVpFOworCX0KIH0KIAogc3RhdGljIHZvaWQgc2V0X3ppcF9oZWFkZXJfZGF0YV9kZXNjKHN0cnVjdCB6aXBfbG9jYWxfaGVhZGVyICpoZWFkZXIsCkBAIC0yNjMsMTIgKzI4MSwxNCBAQAogCQkJICAgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJc3RydWN0IHppcF9sb2NhbF9oZWFkZXIgaGVhZGVyOwotCXN0cnVjdCB6aXBfZGlyX2hlYWRlciBkaXJlbnQ7CisJdWludG1heF90IG9mZnNldCA9IHppcF9vZmZzZXQ7CiAJc3RydWN0IHppcF9leHRyYV9tdGltZSBleHRyYTsKKwlzdHJ1Y3QgemlwNjRfZXh0cmEgZXh0cmE2NDsKKwlzaXplX3QgaGVhZGVyX2V4dHJhX3NpemUgPSBaSVBfRVhUUkFfTVRJTUVfU0laRTsKKwlpbnQgbmVlZF96aXA2NF9leHRyYSA9IDA7CiAJdW5zaWduZWQgbG9uZyBhdHRyMjsKIAl1bnNpZ25lZCBsb25nIGNvbXByZXNzZWRfc2l6ZTsKIAl1bnNpZ25lZCBsb25nIGNyYzsKLQl1bnNpZ25lZCBsb25nIGRpcmVudHNpemU7CiAJaW50IG1ldGhvZDsKIAl1bnNpZ25lZCBjaGFyICpvdXQ7CiAJdm9pZCAqZGVmbGF0ZWQgPSBOVUxMOwpAQCAtMjc5LDYgKzI5OSw5IEBACiAJaW50IGlzX2JpbmFyeSA9IC0xOwogCWNvbnN0IGNoYXIgKnBhdGhfd2l0aG91dF9wcmVmaXggPSBwYXRoICsgYXJncy0+YmFzZWxlbjsKIAl1bnNpZ25lZCBpbnQgY3JlYXRvcl92ZXJzaW9uID0gMDsKKwl1bnNpZ25lZCBpbnQgdmVyc2lvbl9uZWVkZWQgPSAxMDsKKwlzaXplX3QgemlwX2Rpcl9leHRyYV9zaXplID0gWklQX0VYVFJBX01USU1FX1NJWkU7CisJc2l6ZV90IHppcDY0X2Rpcl9leHRyYV9wYXlsb2FkX3NpemUgPSAwOwogCiAJY3JjID0gY3JjMzIoMCwgTlVMTCwgMCk7CiAKQEAgLTM1Niw0MyArMzc5LDQzIEBACiAJZXh0cmEuZmxhZ3NbMF0gPSAxOwkvKiBqdXN0IG10aW1lICovCiAJY29weV9sZTMyKGV4dHJhLm10aW1lLCBhcmdzLT50aW1lKTsKIAotCS8qIG1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCBmcmVlIHNwYWNlIGluIHRoZSBkaWN0aW9uYXJ5ICovCi0JZGlyZW50c2l6ZSA9IFpJUF9ESVJfSEVBREVSX1NJWkUgKyBwYXRobGVuICsgWklQX0VYVFJBX01USU1FX1NJWkU7Ci0Jd2hpbGUgKHppcF9kaXJfc2l6ZSA8IHppcF9kaXJfb2Zmc2V0ICsgZGlyZW50c2l6ZSkgewotCQl6aXBfZGlyX3NpemUgKz0gWklQX0RJUkVDVE9SWV9NSU5fU0laRTsKLQkJemlwX2RpciA9IHhyZWFsbG9jKHppcF9kaXIsIHppcF9kaXJfc2l6ZSk7Ci0JfQorCWlmIChzaXplID4gMHhmZmZmZmZmZiB8fCBjb21wcmVzc2VkX3NpemUgPiAweGZmZmZmZmZmKQorCQluZWVkX3ppcDY0X2V4dHJhID0gMTsKKwlpZiAoc3RyZWFtICYmIHNpemUgPiAweDdmZmZmZmZmKQorCQluZWVkX3ppcDY0X2V4dHJhID0gMTsKIAotCWNvcHlfbGUzMihkaXJlbnQubWFnaWMsIDB4MDIwMTRiNTApOwotCWNvcHlfbGUxNihkaXJlbnQuY3JlYXRvcl92ZXJzaW9uLCBjcmVhdG9yX3ZlcnNpb24pOwotCWNvcHlfbGUxNihkaXJlbnQudmVyc2lvbiwgMTApOwotCWNvcHlfbGUxNihkaXJlbnQuZmxhZ3MsIGZsYWdzKTsKLQljb3B5X2xlMTYoZGlyZW50LmNvbXByZXNzaW9uX21ldGhvZCwgbWV0aG9kKTsKLQljb3B5X2xlMTYoZGlyZW50Lm10aW1lLCB6aXBfdGltZSk7Ci0JY29weV9sZTE2KGRpcmVudC5tZGF0ZSwgemlwX2RhdGUpOwotCXNldF96aXBfZGlyX2RhdGFfZGVzYygmZGlyZW50LCBzaXplLCBjb21wcmVzc2VkX3NpemUsIGNyYyk7Ci0JY29weV9sZTE2KGRpcmVudC5maWxlbmFtZV9sZW5ndGgsIHBhdGhsZW4pOwotCWNvcHlfbGUxNihkaXJlbnQuZXh0cmFfbGVuZ3RoLCBaSVBfRVhUUkFfTVRJTUVfU0laRSk7Ci0JY29weV9sZTE2KGRpcmVudC5jb21tZW50X2xlbmd0aCwgMCk7Ci0JY29weV9sZTE2KGRpcmVudC5kaXNrLCAwKTsKLQljb3B5X2xlMzIoZGlyZW50LmF0dHIyLCBhdHRyMik7Ci0JY29weV9sZTMyKGRpcmVudC5vZmZzZXQsIHppcF9vZmZzZXQpOworCWlmIChuZWVkX3ppcDY0X2V4dHJhKQorCQl2ZXJzaW9uX25lZWRlZCA9IDQ1OwogCiAJY29weV9sZTMyKGhlYWRlci5tYWdpYywgMHgwNDAzNGI1MCk7Ci0JY29weV9sZTE2KGhlYWRlci52ZXJzaW9uLCAxMCk7CisJY29weV9sZTE2KGhlYWRlci52ZXJzaW9uLCB2ZXJzaW9uX25lZWRlZCk7CiAJY29weV9sZTE2KGhlYWRlci5mbGFncywgZmxhZ3MpOwogCWNvcHlfbGUxNihoZWFkZXIuY29tcHJlc3Npb25fbWV0aG9kLCBtZXRob2QpOwogCWNvcHlfbGUxNihoZWFkZXIubXRpbWUsIHppcF90aW1lKTsKIAljb3B5X2xlMTYoaGVhZGVyLm1kYXRlLCB6aXBfZGF0ZSk7Ci0Jc2V0X3ppcF9oZWFkZXJfZGF0YV9kZXNjKCZoZWFkZXIsIHNpemUsIGNvbXByZXNzZWRfc2l6ZSwgY3JjKTsKKwlpZiAobmVlZF96aXA2NF9leHRyYSkgeworCQlzZXRfemlwX2hlYWRlcl9kYXRhX2Rlc2MoJmhlYWRlciwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgY3JjKTsKKwkJaGVhZGVyX2V4dHJhX3NpemUgKz0gWklQNjRfRVhUUkFfU0laRTsKKwl9IGVsc2UgeworCQlzZXRfemlwX2hlYWRlcl9kYXRhX2Rlc2MoJmhlYWRlciwgc2l6ZSwgY29tcHJlc3NlZF9zaXplLCBjcmMpOworCX0KIAljb3B5X2xlMTYoaGVhZGVyLmZpbGVuYW1lX2xlbmd0aCwgcGF0aGxlbik7Ci0JY29weV9sZTE2KGhlYWRlci5leHRyYV9sZW5ndGgsIFpJUF9FWFRSQV9NVElNRV9TSVpFKTsKKwljb3B5X2xlMTYoaGVhZGVyLmV4dHJhX2xlbmd0aCwgaGVhZGVyX2V4dHJhX3NpemUpOwogCXdyaXRlX29yX2RpZSgxLCAmaGVhZGVyLCBaSVBfTE9DQUxfSEVBREVSX1NJWkUpOwogCXppcF9vZmZzZXQgKz0gWklQX0xPQ0FMX0hFQURFUl9TSVpFOwogCXdyaXRlX29yX2RpZSgxLCBwYXRoLCBwYXRobGVuKTsKIAl6aXBfb2Zmc2V0ICs9IHBhdGhsZW47CiAJd3JpdGVfb3JfZGllKDEsICZleHRyYSwgWklQX0VYVFJBX01USU1FX1NJWkUpOwogCXppcF9vZmZzZXQgKz0gWklQX0VYVFJBX01USU1FX1NJWkU7CisJaWYgKG5lZWRfemlwNjRfZXh0cmEpIHsKKwkJY29weV9sZTE2KGV4dHJhNjQubWFnaWMsIDB4MDAwMSk7CisJCWNvcHlfbGUxNihleHRyYTY0LmV4dHJhX3NpemUsIFpJUDY0X0VYVFJBX1BBWUxPQURfU0laRSk7CisJCWNvcHlfbGU2NChleHRyYTY0LnNpemUsIHNpemUpOworCQljb3B5X2xlNjQoZXh0cmE2NC5jb21wcmVzc2VkX3NpemUsIGNvbXByZXNzZWRfc2l6ZSk7CisJCXdyaXRlX29yX2RpZSgxLCAmZXh0cmE2NCwgWklQNjRfRVhUUkFfU0laRSk7CisJCXppcF9vZmZzZXQgKz0gWklQNjRfRVhUUkFfU0laRTsKKwl9CisKIAlpZiAoc3RyZWFtICYmIG1ldGhvZCA9PSAwKSB7CiAJCXVuc2lnbmVkIGNoYXIgYnVmW1NUUkVBTV9CVUZGRVJfU0laRV07CiAJCXNzaXplX3QgcmVhZGxlbjsKQEAgLTQxNSw5ICs0MzgsNiBAQAogCQl6aXBfb2Zmc2V0ICs9IGNvbXByZXNzZWRfc2l6ZTsKIAogCQl3cml0ZV96aXBfZGF0YV9kZXNjKHNpemUsIGNvbXByZXNzZWRfc2l6ZSwgY3JjKTsKLQkJemlwX29mZnNldCArPSBaSVBfREFUQV9ERVNDX1NJWkU7Ci0KLQkJc2V0X3ppcF9kaXJfZGF0YV9kZXNjKCZkaXJlbnQsIHNpemUsIGNvbXByZXNzZWRfc2l6ZSwgY3JjKTsKIAl9IGVsc2UgaWYgKHN0cmVhbSAmJiBtZXRob2QgPT0gOCkgewogCQl1bnNpZ25lZCBjaGFyIGJ1ZltTVFJFQU1fQlVGRkVSX1NJWkVdOwogCQlzc2l6ZV90IHJlYWRsZW47CkBAIC00NzMsOSArNDkzLDYgQEAKIAkJemlwX29mZnNldCArPSBjb21wcmVzc2VkX3NpemU7CiAKIAkJd3JpdGVfemlwX2RhdGFfZGVzYyhzaXplLCBjb21wcmVzc2VkX3NpemUsIGNyYyk7Ci0JCXppcF9vZmZzZXQgKz0gWklQX0RBVEFfREVTQ19TSVpFOwotCi0JCXNldF96aXBfZGlyX2RhdGFfZGVzYygmZGlyZW50LCBzaXplLCBjb21wcmVzc2VkX3NpemUsIGNyYyk7CiAJfSBlbHNlIGlmIChjb21wcmVzc2VkX3NpemUgPiAwKSB7CiAJCXdyaXRlX29yX2RpZSgxLCBvdXQsIGNvbXByZXNzZWRfc2l6ZSk7CiAJCXppcF9vZmZzZXQgKz0gY29tcHJlc3NlZF9zaXplOwpAQCAtNDg0LDE0ICs1MDEsNDYgQEAKIAlmcmVlKGRlZmxhdGVkKTsKIAlmcmVlKGJ1ZmZlcik7CiAKLQljb3B5X2xlMTYoZGlyZW50LmF0dHIxLCAhaXNfYmluYXJ5KTsKKwlpZiAoY29tcHJlc3NlZF9zaXplID4gMHhmZmZmZmZmZiB8fCBzaXplID4gMHhmZmZmZmZmZiB8fAorCSAgICBvZmZzZXQgPiAweGZmZmZmZmZmKSB7CisJCWlmIChjb21wcmVzc2VkX3NpemUgPj0gMHhmZmZmZmZmZikKKwkJCXppcDY0X2Rpcl9leHRyYV9wYXlsb2FkX3NpemUgKz0gODsKKwkJaWYgKHNpemUgPj0gMHhmZmZmZmZmZikKKwkJCXppcDY0X2Rpcl9leHRyYV9wYXlsb2FkX3NpemUgKz0gODsKKwkJaWYgKG9mZnNldCA+PSAweGZmZmZmZmZmKQorCQkJemlwNjRfZGlyX2V4dHJhX3BheWxvYWRfc2l6ZSArPSA4OworCQl6aXBfZGlyX2V4dHJhX3NpemUgKz0gMiArIDIgKyB6aXA2NF9kaXJfZXh0cmFfcGF5bG9hZF9zaXplOworCX0KIAotCW1lbWNweSh6aXBfZGlyICsgemlwX2Rpcl9vZmZzZXQsICZkaXJlbnQsIFpJUF9ESVJfSEVBREVSX1NJWkUpOwotCXppcF9kaXJfb2Zmc2V0ICs9IFpJUF9ESVJfSEVBREVSX1NJWkU7Ci0JbWVtY3B5KHppcF9kaXIgKyB6aXBfZGlyX29mZnNldCwgcGF0aCwgcGF0aGxlbik7Ci0JemlwX2Rpcl9vZmZzZXQgKz0gcGF0aGxlbjsKLQltZW1jcHkoemlwX2RpciArIHppcF9kaXJfb2Zmc2V0LCAmZXh0cmEsIFpJUF9FWFRSQV9NVElNRV9TSVpFKTsKLQl6aXBfZGlyX29mZnNldCArPSBaSVBfRVhUUkFfTVRJTUVfU0laRTsKKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCA0LCAweDAyMDE0YjUwKTsJLyogbWFnaWMgKi8KKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCBjcmVhdG9yX3ZlcnNpb24pOworCXN0cmJ1Zl9hZGRfbGUoJnppcF9kaXIsIDIsIHZlcnNpb25fbmVlZGVkKTsKKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCBmbGFncyk7CisJc3RyYnVmX2FkZF9sZSgmemlwX2RpciwgMiwgbWV0aG9kKTsKKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCB6aXBfdGltZSk7CisJc3RyYnVmX2FkZF9sZSgmemlwX2RpciwgMiwgemlwX2RhdGUpOworCXN0cmJ1Zl9hZGRfbGUoJnppcF9kaXIsIDQsIGNyYyk7CisJc3RyYnVmX2FkZF9sZSgmemlwX2RpciwgNCwgY2xhbXAzMihjb21wcmVzc2VkX3NpemUpKTsKKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCA0LCBjbGFtcDMyKHNpemUpKTsKKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCBwYXRobGVuKTsKKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCB6aXBfZGlyX2V4dHJhX3NpemUpOworCXN0cmJ1Zl9hZGRfbGUoJnppcF9kaXIsIDIsIDApOwkJLyogY29tbWVudCBsZW5ndGggKi8KKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCAwKTsJCS8qIGRpc2sgKi8KKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCAhaXNfYmluYXJ5KTsKKwlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCA0LCBhdHRyMik7CisJc3RyYnVmX2FkZF9sZSgmemlwX2RpciwgNCwgY2xhbXAzMihvZmZzZXQpKTsKKwlzdHJidWZfYWRkKCZ6aXBfZGlyLCBwYXRoLCBwYXRobGVuKTsKKwlzdHJidWZfYWRkKCZ6aXBfZGlyLCAmZXh0cmEsIFpJUF9FWFRSQV9NVElNRV9TSVpFKTsKKwlpZiAoemlwNjRfZGlyX2V4dHJhX3BheWxvYWRfc2l6ZSkgeworCQlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCAweDAwMDEpOwkvKiBtYWdpYyAqLworCQlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCAyLCB6aXA2NF9kaXJfZXh0cmFfcGF5bG9hZF9zaXplKTsKKwkJaWYgKHNpemUgPj0gMHhmZmZmZmZmZikKKwkJCXN0cmJ1Zl9hZGRfbGUoJnppcF9kaXIsIDgsIHNpemUpOworCQlpZiAoY29tcHJlc3NlZF9zaXplID49IDB4ZmZmZmZmZmYpCisJCQlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCA4LCBjb21wcmVzc2VkX3NpemUpOworCQlpZiAob2Zmc2V0ID49IDB4ZmZmZmZmZmYpCisJCQlzdHJidWZfYWRkX2xlKCZ6aXBfZGlyLCA4LCBvZmZzZXQpOworCX0KIAl6aXBfZGlyX2VudHJpZXMrKzsKIAogCXJldHVybiAwOwpAQCAtNTEwLDEyICs1NTksMTIgQEAKIAljb3B5X2xlMzIodHJhaWxlcjY0LmRpcmVjdG9yeV9zdGFydF9kaXNrLCAwKTsKIAljb3B5X2xlNjQodHJhaWxlcjY0LmVudHJpZXNfb25fdGhpc19kaXNrLCB6aXBfZGlyX2VudHJpZXMpOwogCWNvcHlfbGU2NCh0cmFpbGVyNjQuZW50cmllcywgemlwX2Rpcl9lbnRyaWVzKTsKLQljb3B5X2xlNjQodHJhaWxlcjY0LnNpemUsIHppcF9kaXJfb2Zmc2V0KTsKKwljb3B5X2xlNjQodHJhaWxlcjY0LnNpemUsIHppcF9kaXIubGVuKTsKIAljb3B5X2xlNjQodHJhaWxlcjY0Lm9mZnNldCwgemlwX29mZnNldCk7CiAKIAljb3B5X2xlMzIobG9jYXRvcjY0Lm1hZ2ljLCAweDA3MDY0YjUwKTsKIAljb3B5X2xlMzIobG9jYXRvcjY0LmRpc2ssIDApOwotCWNvcHlfbGU2NChsb2NhdG9yNjQub2Zmc2V0LCB6aXBfb2Zmc2V0ICsgemlwX2Rpcl9vZmZzZXQpOworCWNvcHlfbGU2NChsb2NhdG9yNjQub2Zmc2V0LCB6aXBfb2Zmc2V0ICsgemlwX2Rpci5sZW4pOwogCWNvcHlfbGUzMihsb2NhdG9yNjQubnVtYmVyX29mX2Rpc2tzLCAxKTsKIAogCXdyaXRlX29yX2RpZSgxLCAmdHJhaWxlcjY0LCBaSVA2NF9ESVJfVFJBSUxFUl9TSVpFKTsKQEAgLTUzMywxMSArNTgyLDExIEBACiAJY29weV9sZTE2X2NsYW1wKHRyYWlsZXIuZW50cmllc19vbl90aGlzX2Rpc2ssIHppcF9kaXJfZW50cmllcywKIAkJCSZjbGFtcGVkKTsKIAljb3B5X2xlMTZfY2xhbXAodHJhaWxlci5lbnRyaWVzLCB6aXBfZGlyX2VudHJpZXMsICZjbGFtcGVkKTsKLQljb3B5X2xlMzIodHJhaWxlci5zaXplLCB6aXBfZGlyX29mZnNldCk7Ci0JY29weV9sZTMyKHRyYWlsZXIub2Zmc2V0LCB6aXBfb2Zmc2V0KTsKKwljb3B5X2xlMzIodHJhaWxlci5zaXplLCB6aXBfZGlyLmxlbik7CisJY29weV9sZTMyX2NsYW1wKHRyYWlsZXIub2Zmc2V0LCB6aXBfb2Zmc2V0LCAmY2xhbXBlZCk7CiAJY29weV9sZTE2KHRyYWlsZXIuY29tbWVudF9sZW5ndGgsIHNoYTEgPyBHSVRfU0hBMV9IRVhTWiA6IDApOwogCi0Jd3JpdGVfb3JfZGllKDEsIHppcF9kaXIsIHppcF9kaXJfb2Zmc2V0KTsKKwl3cml0ZV9vcl9kaWUoMSwgemlwX2Rpci5idWYsIHppcF9kaXIubGVuKTsKIAlpZiAoY2xhbXBlZCkKIAkJd3JpdGVfemlwNjRfdHJhaWxlcigpOwogCXdyaXRlX29yX2RpZSgxLCAmdHJhaWxlciwgWklQX0RJUl9UUkFJTEVSX1NJWkUpOwpAQCAtNTQ1LDkgKzU5NCwxNyBAQAogCQl3cml0ZV9vcl9kaWUoMSwgc2hhMV90b19oZXgoc2hhMSksIEdJVF9TSEExX0hFWFNaKTsKIH0KIAotc3RhdGljIHZvaWQgZG9zX3RpbWUodGltZV90ICp0aW1lLCBpbnQgKmRvc19kYXRlLCBpbnQgKmRvc190aW1lKQorc3RhdGljIHZvaWQgZG9zX3RpbWUodGltZXN0YW1wX3QgKnRpbWVzdGFtcCwgaW50ICpkb3NfZGF0ZSwgaW50ICpkb3NfdGltZSkKIHsKLQlzdHJ1Y3QgdG0gKnQgPSBsb2NhbHRpbWUodGltZSk7CisJdGltZV90IHRpbWU7CisJc3RydWN0IHRtICp0OworCisJaWYgKGRhdGVfb3ZlcmZsb3dzKCp0aW1lc3RhbXApKQorCQlkaWUoInRpbWVzdGFtcCB0b28gbGFyZ2UgZm9yIHRoaXMgc3lzdGVtOiAlIlBSSXRpbWUsCisJCSAgICAqdGltZXN0YW1wKTsKKwl0aW1lID0gKHRpbWVfdCkqdGltZXN0YW1wOworCXQgPSBsb2NhbHRpbWUoJnRpbWUpOworCSp0aW1lc3RhbXAgPSB0aW1lOwogCiAJKmRvc19kYXRlID0gdC0+dG1fbWRheSArICh0LT50bV9tb24gKyAxKSAqIDMyICsKIAkgICAgICAgICAgICAodC0+dG1feWVhciArIDE5MDAgLSAxOTgwKSAqIDUxMjsKQEAgLTU2OCwxNCArNjI1LDEzIEBACiAKIAlkb3NfdGltZSgmYXJncy0+dGltZSwgJnppcF9kYXRlLCAmemlwX3RpbWUpOwogCi0JemlwX2RpciA9IHhtYWxsb2MoWklQX0RJUkVDVE9SWV9NSU5fU0laRSk7Ci0JemlwX2Rpcl9zaXplID0gWklQX0RJUkVDVE9SWV9NSU5fU0laRTsKKwlzdHJidWZfaW5pdCgmemlwX2RpciwgMCk7CiAKIAllcnIgPSB3cml0ZV9hcmNoaXZlX2VudHJpZXMoYXJncywgd3JpdGVfemlwX2VudHJ5KTsKIAlpZiAoIWVycikKIAkJd3JpdGVfemlwX3RyYWlsZXIoYXJncy0+Y29tbWl0X3NoYTEpOwogCi0JZnJlZSh6aXBfZGlyKTsKKwlzdHJidWZfcmVsZWFzZSgmemlwX2Rpcik7CiAKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS5jIGIvYXJjaGl2ZS5jCmluZGV4IDAxNzUxZTUuLjFlNDFmNGIgMTAwNjQ0Ci0tLSBhL2FyY2hpdmUuYworKysgYi9hcmNoaXZlLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAidHJlZS13YWxrLmgiCkBAIC04NywxOSArODgsNiBAQAogCXJldHVybiBidWZmZXI7CiB9CiAKLXN0YXRpYyB2b2lkIHNldHVwX2FyY2hpdmVfY2hlY2soc3RydWN0IGdpdF9hdHRyX2NoZWNrICpjaGVjaykKLXsKLQlzdGF0aWMgc3RydWN0IGdpdF9hdHRyICphdHRyX2V4cG9ydF9pZ25vcmU7Ci0Jc3RhdGljIHN0cnVjdCBnaXRfYXR0ciAqYXR0cl9leHBvcnRfc3Vic3Q7Ci0KLQlpZiAoIWF0dHJfZXhwb3J0X2lnbm9yZSkgewotCQlhdHRyX2V4cG9ydF9pZ25vcmUgPSBnaXRfYXR0cigiZXhwb3J0LWlnbm9yZSIpOwotCQlhdHRyX2V4cG9ydF9zdWJzdCA9IGdpdF9hdHRyKCJleHBvcnQtc3Vic3QiKTsKLQl9Ci0JY2hlY2tbMF0uYXR0ciA9IGF0dHJfZXhwb3J0X2lnbm9yZTsKLQljaGVja1sxXS5hdHRyID0gYXR0cl9leHBvcnRfc3Vic3Q7Ci19Ci0KIHN0cnVjdCBkaXJlY3RvcnkgewogCXN0cnVjdCBkaXJlY3RvcnkgKnVwOwogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwpAQCAtMTE1LDYgKzEwMywyNCBAQAogCXN0cnVjdCBkaXJlY3RvcnkgKmJvdHRvbTsKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cl9jaGVjayAqZ2V0X2FyY2hpdmVfYXR0cnMoY29uc3QgY2hhciAqcGF0aCkKK3sKKwlzdGF0aWMgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrOworCWlmICghY2hlY2spCisJCWNoZWNrID0gYXR0cl9jaGVja19pbml0bCgiZXhwb3J0LWlnbm9yZSIsICJleHBvcnQtc3Vic3QiLCBOVUxMKTsKKwlyZXR1cm4gZ2l0X2NoZWNrX2F0dHIocGF0aCwgY2hlY2spID8gTlVMTCA6IGNoZWNrOworfQorCitzdGF0aWMgaW50IGNoZWNrX2F0dHJfZXhwb3J0X2lnbm9yZShjb25zdCBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spCit7CisJcmV0dXJuIGNoZWNrICYmIEFUVFJfVFJVRShjaGVjay0+aXRlbXNbMF0udmFsdWUpOworfQorCitzdGF0aWMgaW50IGNoZWNrX2F0dHJfZXhwb3J0X3N1YnN0KGNvbnN0IHN0cnVjdCBhdHRyX2NoZWNrICpjaGVjaykKK3sKKwlyZXR1cm4gY2hlY2sgJiYgQVRUUl9UUlVFKGNoZWNrLT5pdGVtc1sxXS52YWx1ZSk7Cit9CisKIHN0YXRpYyBpbnQgd3JpdGVfYXJjaGl2ZV9lbnRyeShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICpiYXNlLAogCQlpbnQgYmFzZWxlbiwgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIG1vZGUsIGludCBzdGFnZSwKIAkJdm9pZCAqY29udGV4dCkKQEAgLTEyMyw5ICsxMjksOCBAQAogCXN0cnVjdCBhcmNoaXZlcl9jb250ZXh0ICpjID0gY29udGV4dDsKIAlzdHJ1Y3QgYXJjaGl2ZXJfYXJncyAqYXJncyA9IGMtPmFyZ3M7CiAJd3JpdGVfYXJjaGl2ZV9lbnRyeV9mbl90IHdyaXRlX2VudHJ5ID0gYy0+d3JpdGVfZW50cnk7Ci0Jc3RydWN0IGdpdF9hdHRyX2NoZWNrIGNoZWNrWzJdOwotCWNvbnN0IGNoYXIgKnBhdGhfd2l0aG91dF9wcmVmaXg7CiAJaW50IGVycjsKKwljb25zdCBjaGFyICpwYXRoX3dpdGhvdXRfcHJlZml4OwogCiAJYXJncy0+Y29udmVydCA9IDA7CiAJc3RyYnVmX3Jlc2V0KCZwYXRoKTsKQEAgLTEzNywxMSArMTQyLDEyIEBACiAJCXN0cmJ1Zl9hZGRjaCgmcGF0aCwgJy8nKTsKIAlwYXRoX3dpdGhvdXRfcHJlZml4ID0gcGF0aC5idWYgKyBhcmdzLT5iYXNlbGVuOwogCi0Jc2V0dXBfYXJjaGl2ZV9jaGVjayhjaGVjayk7Ci0JaWYgKCFnaXRfY2hlY2tfYXR0cihwYXRoX3dpdGhvdXRfcHJlZml4LCBBUlJBWV9TSVpFKGNoZWNrKSwgY2hlY2spKSB7Ci0JCWlmIChBVFRSX1RSVUUoY2hlY2tbMF0udmFsdWUpKQorCWlmICghU19JU0RJUihtb2RlKSkgeworCQljb25zdCBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2s7CisJCWNoZWNrID0gZ2V0X2FyY2hpdmVfYXR0cnMocGF0aF93aXRob3V0X3ByZWZpeCk7CisJCWlmIChjaGVja19hdHRyX2V4cG9ydF9pZ25vcmUoY2hlY2spKQogCQkJcmV0dXJuIDA7Ci0JCWFyZ3MtPmNvbnZlcnQgPSBBVFRSX1RSVUUoY2hlY2tbMV0udmFsdWUpOworCQlhcmdzLT5jb252ZXJ0ID0gY2hlY2tfYXR0cl9leHBvcnRfc3Vic3QoY2hlY2spOwogCX0KIAogCWlmIChTX0lTRElSKG1vZGUpIHx8IFNfSVNHSVRMSU5LKG1vZGUpKSB7CkBAIC0xNTgsMTQgKzE2NCw2IEBACiAJcmV0dXJuIHdyaXRlX2VudHJ5KGFyZ3MsIHNoYTEsIHBhdGguYnVmLCBwYXRoLmxlbiwgbW9kZSk7CiB9CiAKLXN0YXRpYyBpbnQgd3JpdGVfYXJjaGl2ZV9lbnRyeV9idWYoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IHN0cmJ1ZiAqYmFzZSwKLQkJY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIG1vZGUsIGludCBzdGFnZSwKLQkJdm9pZCAqY29udGV4dCkKLXsKLQlyZXR1cm4gd3JpdGVfYXJjaGl2ZV9lbnRyeShzaGExLCBiYXNlLT5idWYsIGJhc2UtPmxlbiwKLQkJCQkgICAgIGZpbGVuYW1lLCBtb2RlLCBzdGFnZSwgY29udGV4dCk7Ci19Ci0KIHN0YXRpYyB2b2lkIHF1ZXVlX2RpcmVjdG9yeShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAogCQlzdHJ1Y3Qgc3RyYnVmICpiYXNlLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKIAkJdW5zaWduZWQgbW9kZSwgaW50IHN0YWdlLCBzdHJ1Y3QgYXJjaGl2ZXJfY29udGV4dCAqYykKQEAgLTIxNSw2ICsyMTMsMTcgQEAKIAl9CiAKIAlpZiAoU19JU0RJUihtb2RlKSkgeworCQlzaXplX3QgYmFzZWxlbiA9IGJhc2UtPmxlbjsKKwkJY29uc3Qgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrOworCisJCS8qIEJvcnJvdyBiYXNlLCBidXQgcmVzdG9yZSBpdHMgb3JpZ2luYWwgdmFsdWUgd2hlbiBkb25lLiAqLworCQlzdHJidWZfYWRkc3RyKGJhc2UsIGZpbGVuYW1lKTsKKwkJc3RyYnVmX2FkZGNoKGJhc2UsICcvJyk7CisJCWNoZWNrID0gZ2V0X2FyY2hpdmVfYXR0cnMoYmFzZS0+YnVmKTsKKwkJc3RyYnVmX3NldGxlbihiYXNlLCBiYXNlbGVuKTsKKworCQlpZiAoY2hlY2tfYXR0cl9leHBvcnRfaWdub3JlKGNoZWNrKSkKKwkJCXJldHVybiAwOwogCQlxdWV1ZV9kaXJlY3Rvcnkoc2hhMSwgYmFzZSwgZmlsZW5hbWUsCiAJCQkJbW9kZSwgc3RhZ2UsIGMpOwogCQlyZXR1cm4gUkVBRF9UUkVFX1JFQ1VSU0lWRTsKQEAgLTI2OCw5ICsyNzcsNyBAQAogCX0KIAogCWVyciA9IHJlYWRfdHJlZV9yZWN1cnNpdmUoYXJncy0+dHJlZSwgIiIsIDAsIDAsICZhcmdzLT5wYXRoc3BlYywKLQkJCQkgIGFyZ3MtPnBhdGhzcGVjLmhhc193aWxkY2FyZCA/Ci0JCQkJICBxdWV1ZV9vcl93cml0ZV9hcmNoaXZlX2VudHJ5IDoKLQkJCQkgIHdyaXRlX2FyY2hpdmVfZW50cnlfYnVmLAorCQkJCSAgcXVldWVfb3Jfd3JpdGVfYXJjaGl2ZV9lbnRyeSwKIAkJCQkgICZjb250ZXh0KTsKIAlpZiAoZXJyID09IFJFQURfVFJFRV9SRUNVUlNJVkUpCiAJCWVyciA9IDA7CkBAIC0zNjksMTAgKzM3NiwxMCBAQAogCQlmcmVlKHJlZik7CiAJfQogCi0JaWYgKGdldF9zaGExKG5hbWUsIG9pZC5oYXNoKSkKKwlpZiAoZ2V0X29pZChuYW1lLCAmb2lkKSkKIAkJZGllKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSIpOwogCi0JY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZC5oYXNoLCAxKTsKKwljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoJm9pZCwgMSk7CiAJaWYgKGNvbW1pdCkgewogCQljb21taXRfc2hhMSA9IGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoOwogCQlhcmNoaXZlX3RpbWUgPSBjb21taXQtPmRhdGU7CkBAIC0zODEsNyArMzg4LDcgQEAKIAkJYXJjaGl2ZV90aW1lID0gdGltZShOVUxMKTsKIAl9CiAKLQl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChvaWQuaGFzaCk7CisJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoJm9pZCk7CiAJaWYgKHRyZWUgPT0gTlVMTCkKIAkJZGllKCJub3QgYSB0cmVlIG9iamVjdCIpOwogCkBAIC0zOTUsNyArNDAyLDcgQEAKIAkJaWYgKGVyciB8fCAhU19JU0RJUihtb2RlKSkKIAkJCWRpZSgiY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB1bnRyYWNrZWQiKTsKIAotCQl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdCh0cmVlX29pZC5oYXNoKTsKKwkJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoJnRyZWVfb2lkKTsKIAl9CiAJYXJfYXJncy0+dHJlZSA9IHRyZWU7CiAJYXJfYXJncy0+Y29tbWl0X3NoYTEgPSBjb21taXRfc2hhMTsKZGlmZiAtLWdpdCBhL2FyY2hpdmUuaCBiL2FyY2hpdmUuaAppbmRleCA0MTVlMDE1Li42MmQxZDgyIDEwMDY0NAotLS0gYS9hcmNoaXZlLmgKKysrIGIvYXJjaGl2ZS5oCkBAIC05LDcgKzksNyBAQAogCXN0cnVjdCB0cmVlICp0cmVlOwogCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbW1pdF9zaGExOwogCWNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdDsKLQl0aW1lX3QgdGltZTsKKwl0aW1lc3RhbXBfdCB0aW1lOwogCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAl1bnNpZ25lZCBpbnQgdmVyYm9zZSA6IDE7CiAJdW5zaWduZWQgaW50IHdvcmt0cmVlX2F0dHJpYnV0ZXMgOiAxOwpkaWZmIC0tZ2l0IGEvYXR0ci5jIGIvYXR0ci5jCmluZGV4IDFmY2YwNDIuLmRmYzNhNTUgMTAwNjQ0Ci0tLSBhL2F0dHIuYworKysgYi9hdHRyLmMKQEAgLTksMTAgKzksMTMgQEAKIAogI2RlZmluZSBOT19USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImV4ZWNfY21kLmgiCiAjaW5jbHVkZSAiYXR0ci5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInV0ZjguaCIKKyNpbmNsdWRlICJxdW90ZS5oIgorI2luY2x1ZGUgInRocmVhZC11dGlscy5oIgogCiBjb25zdCBjaGFyIGdpdF9hdHRyX190cnVlW10gPSAiKGJ1aWx0aW4pdHJ1ZSI7CiBjb25zdCBjaGFyIGdpdF9hdHRyX19mYWxzZVtdID0gIlwwKGJ1aWx0aW4pZmFsc2UiOwpAQCAtMjIsOTkgKzI1LDI0MCBAQAogI2RlZmluZSBBVFRSX19VTlNFVCBOVUxMCiAjZGVmaW5lIEFUVFJfX1VOS05PV04gZ2l0X2F0dHJfX3Vua25vd24KIAotLyogVGhpcyBpcyBhIHJhbmRvbWx5IGNob3NlbiBwcmltZS4gKi8KLSNkZWZpbmUgSEFTSFNJWkUgMjU3Ci0KICNpZm5kZWYgREVCVUdfQVRUUgogI2RlZmluZSBERUJVR19BVFRSIDAKICNlbmRpZgogCiBzdHJ1Y3QgZ2l0X2F0dHIgewotCXN0cnVjdCBnaXRfYXR0ciAqbmV4dDsKLQl1bnNpZ25lZCBoOwotCWludCBhdHRyX25yOwotCWludCBtYXliZV9tYWNybzsKLQlpbnQgbWF5YmVfcmVhbDsKLQljaGFyIG5hbWVbRkxFWF9BUlJBWV07CisJaW50IGF0dHJfbnI7IC8qIHVuaXF1ZSBhdHRyaWJ1dGUgbnVtYmVyICovCisJY2hhciBuYW1lW0ZMRVhfQVJSQVldOyAvKiBhdHRyaWJ1dGUgbmFtZSAqLwogfTsKLXN0YXRpYyBpbnQgYXR0cl9ucjsKLXN0YXRpYyBpbnQgY2Fubm90X3RydXN0X21heWJlX3JlYWw7CiAKLXN0YXRpYyBzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgKmNoZWNrX2FsbF9hdHRyOwotc3RhdGljIHN0cnVjdCBnaXRfYXR0ciAqKGdpdF9hdHRyX2hhc2hbSEFTSFNJWkVdKTsKLQotY2hhciAqZ2l0X2F0dHJfbmFtZShzdHJ1Y3QgZ2l0X2F0dHIgKmF0dHIpCitjb25zdCBjaGFyICpnaXRfYXR0cl9uYW1lKGNvbnN0IHN0cnVjdCBnaXRfYXR0ciAqYXR0cikKIHsKIAlyZXR1cm4gYXR0ci0+bmFtZTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGhhc2hfbmFtZShjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbikKLXsKLQl1bnNpZ25lZCB2YWwgPSAwLCBjOworc3RydWN0IGF0dHJfaGFzaG1hcCB7CisJc3RydWN0IGhhc2htYXAgbWFwOworI2lmbmRlZiBOT19QVEhSRUFEUworCXB0aHJlYWRfbXV0ZXhfdCBtdXRleDsKKyNlbmRpZgorfTsKIAotCXdoaWxlIChuYW1lbGVuLS0pIHsKLQkJYyA9ICpuYW1lKys7Ci0JCXZhbCA9ICgodmFsIDw8IDcpIHwgKHZhbCA+PiAyMikpIF4gYzsKLQl9Ci0JcmV0dXJuIHZhbDsKK3N0YXRpYyBpbmxpbmUgdm9pZCBoYXNobWFwX2xvY2soc3RydWN0IGF0dHJfaGFzaG1hcCAqbWFwKQoreworI2lmbmRlZiBOT19QVEhSRUFEUworCXB0aHJlYWRfbXV0ZXhfbG9jaygmbWFwLT5tdXRleCk7CisjZW5kaWYKIH0KIAotc3RhdGljIGludCBpbnZhbGlkX2F0dHJfbmFtZShjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbikKK3N0YXRpYyBpbmxpbmUgdm9pZCBoYXNobWFwX3VubG9jayhzdHJ1Y3QgYXR0cl9oYXNobWFwICptYXApCit7CisjaWZuZGVmIE5PX1BUSFJFQURTCisJcHRocmVhZF9tdXRleF91bmxvY2soJm1hcC0+bXV0ZXgpOworI2VuZGlmCit9CisKKy8qCisgKiBUaGUgZ2xvYmFsIGRpY3Rpb25hcnkgb2YgYWxsIGludGVybmVkIGF0dHJpYnV0ZXMuICBUaGlzCisgKiBpcyBhIHNpbmdsZXRvbiBvYmplY3Qgd2hpY2ggaXMgc2hhcmVkIGJldHdlZW4gdGhyZWFkcy4KKyAqIEFjY2VzcyB0byB0aGlzIGRpY3Rpb25hcnkgbXVzdCBiZSBzdXJyb3VuZGVkIHdpdGggYSBtdXRleC4KKyAqLworc3RhdGljIHN0cnVjdCBhdHRyX2hhc2htYXAgZ19hdHRyX2hhc2htYXA7CisKKy8qIFRoZSBjb250YWluZXIgZm9yIG9iamVjdHMgc3RvcmVkIGluICJzdHJ1Y3QgYXR0cl9oYXNobWFwIiAqLworc3RydWN0IGF0dHJfaGFzaF9lbnRyeSB7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OyAvKiBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhICovCisJY29uc3QgY2hhciAqa2V5OyAvKiB0aGUga2V5OyBtZW1vcnkgc2hvdWxkIGJlIG93bmVkIGJ5IHZhbHVlICovCisJc2l6ZV90IGtleWxlbjsgLyogbGVuZ3RoIG9mIHRoZSBrZXkgKi8KKwl2b2lkICp2YWx1ZTsgLyogdGhlIHN0b3JlZCB2YWx1ZSAqLworfTsKKworLyogYXR0cl9oYXNobWFwIGNvbXBhcmlzb24gZnVuY3Rpb24gKi8KK3N0YXRpYyBpbnQgYXR0cl9oYXNoX2VudHJ5X2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCisJCQkgICAgICAgY29uc3Qgdm9pZCAqZW50cnksCisJCQkgICAgICAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJICAgICAgIGNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKQoreworCWNvbnN0IHN0cnVjdCBhdHRyX2hhc2hfZW50cnkgKmEgPSBlbnRyeTsKKwljb25zdCBzdHJ1Y3QgYXR0cl9oYXNoX2VudHJ5ICpiID0gZW50cnlfb3Jfa2V5OworCXJldHVybiAoYS0+a2V5bGVuICE9IGItPmtleWxlbikgfHwgc3RybmNtcChhLT5rZXksIGItPmtleSwgYS0+a2V5bGVuKTsKK30KKworLyogSW5pdGlhbGl6ZSBhbiAnYXR0cl9oYXNobWFwJyBvYmplY3QgKi8KK3N0YXRpYyB2b2lkIGF0dHJfaGFzaG1hcF9pbml0KHN0cnVjdCBhdHRyX2hhc2htYXAgKm1hcCkKK3sKKwloYXNobWFwX2luaXQoJm1hcC0+bWFwLCBhdHRyX2hhc2hfZW50cnlfY21wLCBOVUxMLCAwKTsKK30KKworLyoKKyAqIFJldHJpZXZlIHRoZSAndmFsdWUnIHN0b3JlZCBpbiBhIGhhc2htYXAgZ2l2ZW4gdGhlIHByb3ZpZGVkICdrZXknLgorICogSWYgdGhlcmUgaXMgbm8gbWF0Y2hpbmcgZW50cnksIHJldHVybiBOVUxMLgorICovCitzdGF0aWMgdm9pZCAqYXR0cl9oYXNobWFwX2dldChzdHJ1Y3QgYXR0cl9oYXNobWFwICptYXAsCisJCQkgICAgICBjb25zdCBjaGFyICprZXksIHNpemVfdCBrZXlsZW4pCit7CisJc3RydWN0IGF0dHJfaGFzaF9lbnRyeSBrOworCXN0cnVjdCBhdHRyX2hhc2hfZW50cnkgKmU7CisKKwlpZiAoIW1hcC0+bWFwLnRhYmxlc2l6ZSkKKwkJYXR0cl9oYXNobWFwX2luaXQobWFwKTsKKworCWhhc2htYXBfZW50cnlfaW5pdCgmaywgbWVtaGFzaChrZXksIGtleWxlbikpOworCWsua2V5ID0ga2V5OworCWsua2V5bGVuID0ga2V5bGVuOworCWUgPSBoYXNobWFwX2dldCgmbWFwLT5tYXAsICZrLCBOVUxMKTsKKworCXJldHVybiBlID8gZS0+dmFsdWUgOiBOVUxMOworfQorCisvKiBBZGQgJ3ZhbHVlJyB0byBhIGhhc2htYXAgYmFzZWQgb24gdGhlIHByb3ZpZGVkICdrZXknLiAqLworc3RhdGljIHZvaWQgYXR0cl9oYXNobWFwX2FkZChzdHJ1Y3QgYXR0cl9oYXNobWFwICptYXAsCisJCQkgICAgIGNvbnN0IGNoYXIgKmtleSwgc2l6ZV90IGtleWxlbiwKKwkJCSAgICAgdm9pZCAqdmFsdWUpCit7CisJc3RydWN0IGF0dHJfaGFzaF9lbnRyeSAqZTsKKworCWlmICghbWFwLT5tYXAudGFibGVzaXplKQorCQlhdHRyX2hhc2htYXBfaW5pdChtYXApOworCisJZSA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBhdHRyX2hhc2hfZW50cnkpKTsKKwloYXNobWFwX2VudHJ5X2luaXQoZSwgbWVtaGFzaChrZXksIGtleWxlbikpOworCWUtPmtleSA9IGtleTsKKwllLT5rZXlsZW4gPSBrZXlsZW47CisJZS0+dmFsdWUgPSB2YWx1ZTsKKworCWhhc2htYXBfYWRkKCZtYXAtPm1hcCwgZSk7Cit9CisKK3N0cnVjdCBhbGxfYXR0cnNfaXRlbSB7CisJY29uc3Qgc3RydWN0IGdpdF9hdHRyICphdHRyOworCWNvbnN0IGNoYXIgKnZhbHVlOworCS8qCisJICogSWYgJ21hY3JvJyBpcyBub24tTlVMTCwgaW5kaWNhdGVzIHRoYXQgJ2F0dHInIGlzIGEgbWFjcm8gYmFzZWQgb24KKwkgKiB0aGUgY3VycmVudCBhdHRyaWJ1dGUgc3RhY2sgYW5kIGNvbnRhaW5zIGEgcG9pbnRlciB0byB0aGUgbWF0Y2hfYXR0cgorCSAqIGRlZmluaXRpb24gb2YgdGhlIG1hY3JvCisJICovCisJY29uc3Qgc3RydWN0IG1hdGNoX2F0dHIgKm1hY3JvOworfTsKKworLyoKKyAqIFJlYWxsb2NhdGUgYW5kIHJlaW5pdGlhbGl6ZSB0aGUgYXJyYXkgb2YgYWxsIGF0dHJpYnV0ZXMgKHdoaWNoIGlzIHVzZWQgaW4KKyAqIHRoZSBhdHRyaWJ1dGUgY29sbGVjdGlvbiBwcm9jZXNzKSBpbiAnY2hlY2snIGJhc2VkIG9uIHRoZSBnbG9iYWwgZGljdGlvbmFyeQorICogb2YgYXR0cmlidXRlcy4KKyAqLworc3RhdGljIHZvaWQgYWxsX2F0dHJzX2luaXQoc3RydWN0IGF0dHJfaGFzaG1hcCAqbWFwLCBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spCit7CisJaW50IGk7CisJdW5zaWduZWQgaW50IHNpemU7CisKKwloYXNobWFwX2xvY2sobWFwKTsKKworCXNpemUgPSBoYXNobWFwX2dldF9zaXplKCZtYXAtPm1hcCk7CisJaWYgKHNpemUgPCBjaGVjay0+YWxsX2F0dHJzX25yKQorCQlkaWUoIkJVRzogaW50ZXJuZWQgYXR0cmlidXRlcyBzaG91bGRuJ3QgYmUgZGVsZXRlZCIpOworCisJLyoKKwkgKiBJZiB0aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgaW4gdGhlIGdsb2JhbCBkaWN0aW9uYXJ5IGhhcyBpbmNyZWFzZWQKKwkgKiAob3IgdGhpcyBhdHRyX2NoZWNrIGluc3RhbmNlIGRvZXNuJ3QgaGF2ZSBhbiBpbml0aWFsaXplZCBhbGxfYXR0cnMKKwkgKiBmaWVsZCksIHJlYWxsb2NhdGUgdGhlIHByb3ZpZGVkIGF0dHJfY2hlY2sgaW5zdGFuY2UncyBhbGxfYXR0cnMKKwkgKiBmaWVsZCBhbmQgZmlsbCBlYWNoIGVudHJ5IHdpdGggaXRzIGNvcnJlc3BvbmRpbmcgZ2l0X2F0dHIuCisJICovCisJaWYgKHNpemUgIT0gY2hlY2stPmFsbF9hdHRyc19ucikgeworCQlzdHJ1Y3QgYXR0cl9oYXNoX2VudHJ5ICplOworCQlzdHJ1Y3QgaGFzaG1hcF9pdGVyIGl0ZXI7CisJCWhhc2htYXBfaXRlcl9pbml0KCZtYXAtPm1hcCwgJml0ZXIpOworCisJCVJFQUxMT0NfQVJSQVkoY2hlY2stPmFsbF9hdHRycywgc2l6ZSk7CisJCWNoZWNrLT5hbGxfYXR0cnNfbnIgPSBzaXplOworCisJCXdoaWxlICgoZSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwkJCWNvbnN0IHN0cnVjdCBnaXRfYXR0ciAqYSA9IGUtPnZhbHVlOworCQkJY2hlY2stPmFsbF9hdHRyc1thLT5hdHRyX25yXS5hdHRyID0gYTsKKwkJfQorCX0KKworCWhhc2htYXBfdW5sb2NrKG1hcCk7CisKKwkvKgorCSAqIFJlLWluaXRpYWxpemUgZXZlcnkgZW50cnkgaW4gY2hlY2stPmFsbF9hdHRycy4KKwkgKiBUaGlzIHJlLWluaXRpYWxpemF0aW9uIGNhbiBsaXZlIG91dHNpZGUgb2YgdGhlIGxvY2tlZCByZWdpb24gc2luY2UKKwkgKiB0aGUgYXR0cmlidXRlIGRpY3Rpb25hcnkgaXMgbm8gbG9uZ2VyIGJlaW5nIGFjY2Vzc2VkLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBjaGVjay0+YWxsX2F0dHJzX25yOyBpKyspIHsKKwkJY2hlY2stPmFsbF9hdHRyc1tpXS52YWx1ZSA9IEFUVFJfX1VOS05PV047CisJCWNoZWNrLT5hbGxfYXR0cnNbaV0ubWFjcm8gPSBOVUxMOworCX0KK30KKworc3RhdGljIGludCBhdHRyX25hbWVfdmFsaWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVsZW4pCiB7CiAJLyoKIAkgKiBBdHRyaWJ1dGUgbmFtZSBjYW5ub3QgYmVnaW4gd2l0aCAnLScgYW5kIG11c3QgY29uc2lzdCBvZgogCSAqIGNoYXJhY3RlcnMgZnJvbSBbLUEtWmEtejAtOV8uXS4KIAkgKi8KIAlpZiAobmFtZWxlbiA8PSAwIHx8ICpuYW1lID09ICctJykKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gMDsKIAl3aGlsZSAobmFtZWxlbi0tKSB7CiAJCWNoYXIgY2ggPSAqbmFtZSsrOwogCQlpZiAoISAoY2ggPT0gJy0nIHx8IGNoID09ICcuJyB8fCBjaCA9PSAnXycgfHwKIAkJICAgICAgICgnMCcgPD0gY2ggJiYgY2ggPD0gJzknKSB8fAogCQkgICAgICAgKCdhJyA8PSBjaCAmJiBjaCA8PSAneicpIHx8CiAJCSAgICAgICAoJ0EnIDw9IGNoICYmIGNoIDw9ICdaJykpICkKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAwOwogCX0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKIH0KIAotc3RhdGljIHN0cnVjdCBnaXRfYXR0ciAqZ2l0X2F0dHJfaW50ZXJuYWwoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbikKK3N0YXRpYyB2b2lkIHJlcG9ydF9pbnZhbGlkX2F0dHIoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IGxlbiwKKwkJCQljb25zdCBjaGFyICpzcmMsIGludCBsaW5lbm8pCiB7Ci0JdW5zaWduZWQgaHZhbCA9IGhhc2hfbmFtZShuYW1lLCBsZW4pOwotCXVuc2lnbmVkIHBvcyA9IGh2YWwgJSBIQVNIU0laRTsKKwlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOworCXN0cmJ1Zl9hZGRmKCZlcnIsIF8oIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiKSwKKwkJICAgIChpbnQpIGxlbiwgbmFtZSk7CisJZnByaW50ZihzdGRlcnIsICIlczogJXM6JWRcbiIsIGVyci5idWYsIHNyYywgbGluZW5vKTsKKwlzdHJidWZfcmVsZWFzZSgmZXJyKTsKK30KKworLyoKKyAqIEdpdmVuIGEgJ25hbWUnLCBsb29rdXAgYW5kIHJldHVybiB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUgaW4gdGhlIGdsb2JhbAorICogZGljdGlvbmFyeS4gIElmIG5vIGVudHJ5IGlzIGZvdW5kLCBjcmVhdGUgYSBuZXcgYXR0cmlidXRlIGFuZCBzdG9yZSBpdCBpbgorICogdGhlIGRpY3Rpb25hcnkuCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZ2l0X2F0dHIgKmdpdF9hdHRyX2ludGVybmFsKGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuKQorewogCXN0cnVjdCBnaXRfYXR0ciAqYTsKIAotCWZvciAoYSA9IGdpdF9hdHRyX2hhc2hbcG9zXTsgYTsgYSA9IGEtPm5leHQpIHsKLQkJaWYgKGEtPmggPT0gaHZhbCAmJgotCQkgICAgIW1lbWNtcChhLT5uYW1lLCBuYW1lLCBsZW4pICYmICFhLT5uYW1lW2xlbl0pCi0JCQlyZXR1cm4gYTsKLQl9Ci0KLQlpZiAoaW52YWxpZF9hdHRyX25hbWUobmFtZSwgbGVuKSkKKwlpZiAoIWF0dHJfbmFtZV92YWxpZChuYW1lLCBuYW1lbGVuKSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlGTEVYX0FMTE9DX01FTShhLCBuYW1lLCBuYW1lLCBsZW4pOwotCWEtPmggPSBodmFsOwotCWEtPm5leHQgPSBnaXRfYXR0cl9oYXNoW3Bvc107Ci0JYS0+YXR0cl9uciA9IGF0dHJfbnIrKzsKLQlhLT5tYXliZV9tYWNybyA9IDA7Ci0JYS0+bWF5YmVfcmVhbCA9IDA7Ci0JZ2l0X2F0dHJfaGFzaFtwb3NdID0gYTsKKwloYXNobWFwX2xvY2soJmdfYXR0cl9oYXNobWFwKTsKIAotCVJFQUxMT0NfQVJSQVkoY2hlY2tfYWxsX2F0dHIsIGF0dHJfbnIpOwotCWNoZWNrX2FsbF9hdHRyW2EtPmF0dHJfbnJdLmF0dHIgPSBhOwotCWNoZWNrX2FsbF9hdHRyW2EtPmF0dHJfbnJdLnZhbHVlID0gQVRUUl9fVU5LTk9XTjsKKwlhID0gYXR0cl9oYXNobWFwX2dldCgmZ19hdHRyX2hhc2htYXAsIG5hbWUsIG5hbWVsZW4pOworCisJaWYgKCFhKSB7CisJCUZMRVhfQUxMT0NfTUVNKGEsIG5hbWUsIG5hbWUsIG5hbWVsZW4pOworCQlhLT5hdHRyX25yID0gaGFzaG1hcF9nZXRfc2l6ZSgmZ19hdHRyX2hhc2htYXAubWFwKTsKKworCQlhdHRyX2hhc2htYXBfYWRkKCZnX2F0dHJfaGFzaG1hcCwgYS0+bmFtZSwgbmFtZWxlbiwgYSk7CisJCWFzc2VydChhLT5hdHRyX25yID09CisJCSAgICAgICAoaGFzaG1hcF9nZXRfc2l6ZSgmZ19hdHRyX2hhc2htYXAubWFwKSAtIDEpKTsKKwl9CisKKwloYXNobWFwX3VubG9jaygmZ19hdHRyX2hhc2htYXApOworCiAJcmV0dXJuIGE7CiB9CiAKLXN0cnVjdCBnaXRfYXR0ciAqZ2l0X2F0dHIoY29uc3QgY2hhciAqbmFtZSkKK2NvbnN0IHN0cnVjdCBnaXRfYXR0ciAqZ2l0X2F0dHIoY29uc3QgY2hhciAqbmFtZSkKIHsKIAlyZXR1cm4gZ2l0X2F0dHJfaW50ZXJuYWwobmFtZSwgc3RybGVuKG5hbWUpKTsKIH0KIAogLyogV2hhdCBkb2VzIGEgbWF0Y2hlZCBwYXR0ZXJuIGRlY2lkZT8gKi8KIHN0cnVjdCBhdHRyX3N0YXRlIHsKLQlzdHJ1Y3QgZ2l0X2F0dHIgKmF0dHI7CisJY29uc3Qgc3RydWN0IGdpdF9hdHRyICphdHRyOwogCWNvbnN0IGNoYXIgKnNldHRvOwogfTsKIApAQCAtMTMxLDkgKzI3NSw4IEBACiAgKiBJZiBpc19tYWNybyBpcyB0cnVlLCB0aGVuIHUuYXR0ciBpcyBhIHBvaW50ZXIgdG8gdGhlIGdpdF9hdHRyIGJlaW5nCiAgKiBkZWZpbmVkLgogICoKLSAqIElmIGlzX21hY3JvIGlzIGZhbHNlLCB0aGVuIHUucGF0dGVybiBwb2ludHMgYXQgdGhlIGZpbGVuYW1lIHBhdHRlcm4KLSAqIHRvIHdoaWNoIHRoZSBydWxlIGFwcGxpZXMuICAoVGhlIG1lbW9yeSBwb2ludGVkIHRvIGlzIHBhcnQgb2YgdGhlCi0gKiBtZW1vcnkgYmxvY2sgYWxsb2NhdGVkIGZvciB0aGUgbWF0Y2hfYXR0ciBpbnN0YW5jZS4pCisgKiBJZiBpc19tYWNybyBpcyBmYWxzZSwgdGhlbiB1LnBhdCBpcyB0aGUgZmlsZW5hbWUgcGF0dGVybiB0byB3aGljaCB0aGUKKyAqIHJ1bGUgYXBwbGllcy4KICAqCiAgKiBJbiBlaXRoZXIgY2FzZSwgbnVtX2F0dHIgaXMgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzIGFmZmVjdGVkIGJ5CiAgKiB0aGlzIHJ1bGUsIGFuZCBzdGF0ZSBpcyBhbiBhcnJheSBsaXN0aW5nIHRoZW0uICBUaGUgYXR0cmlidXRlcyBhcmUKQEAgLTE0Miw3ICsyODUsNyBAQAogc3RydWN0IG1hdGNoX2F0dHIgewogCXVuaW9uIHsKIAkJc3RydWN0IHBhdHRlcm4gcGF0OwotCQlzdHJ1Y3QgZ2l0X2F0dHIgKmF0dHI7CisJCWNvbnN0IHN0cnVjdCBnaXRfYXR0ciAqYXR0cjsKIAl9IHU7CiAJY2hhciBpc19tYWNybzsKIAl1bnNpZ25lZCBudW1fYXR0cjsKQEAgLTE3NywxMyArMzIwLDE3IEBACiAJCQljcCsrOwogCQkJbGVuLS07CiAJCX0KLQkJaWYgKGludmFsaWRfYXR0cl9uYW1lKGNwLCBsZW4pKSB7Ci0JCQlmcHJpbnRmKHN0ZGVyciwKLQkJCQkiJS4qcyBpcyBub3QgYSB2YWxpZCBhdHRyaWJ1dGUgbmFtZTogJXM6JWRcbiIsCi0JCQkJbGVuLCBjcCwgc3JjLCBsaW5lbm8pOworCQlpZiAoIWF0dHJfbmFtZV92YWxpZChjcCwgbGVuKSkgeworCQkJcmVwb3J0X2ludmFsaWRfYXR0cihjcCwgbGVuLCBzcmMsIGxpbmVubyk7CiAJCQlyZXR1cm4gTlVMTDsKIAkJfQogCX0gZWxzZSB7CisJCS8qCisJCSAqIEFzIHRoaXMgZnVuY3Rpb24gaXMgYWx3YXlzIGNhbGxlZCB0d2ljZSwgb25jZSB3aXRoCisJCSAqIGUgPT0gTlVMTCBpbiB0aGUgZmlyc3QgcGFzcyBhbmQgdGhlbiBlICE9IE5VTEwgaW4KKwkJICogdGhlIHNlY29uZCBwYXNzLCBubyBuZWVkIGZvciBhdHRyX25hbWVfdmFsaWQoKQorCQkgKiBjaGVjayBoZXJlLgorCQkgKi8KIAkJaWYgKCpjcCA9PSAnLScgfHwgKmNwID09ICchJykgewogCQkJZS0+c2V0dG8gPSAoKmNwID09ICctJykgPyBBVFRSX19GQUxTRSA6IEFUVFJfX1VOU0VUOwogCQkJY3ArKzsKQEAgLTIwNyw0MSArMzU0LDQ3IEBACiAJY29uc3QgY2hhciAqY3AsICpuYW1lLCAqc3RhdGVzOwogCXN0cnVjdCBtYXRjaF9hdHRyICpyZXMgPSBOVUxMOwogCWludCBpc19tYWNybzsKKwlzdHJ1Y3Qgc3RyYnVmIHBhdHRlcm4gPSBTVFJCVUZfSU5JVDsKIAogCWNwID0gbGluZSArIHN0cnNwbihsaW5lLCBibGFuayk7CiAJaWYgKCEqY3AgfHwgKmNwID09ICcjJykKIAkJcmV0dXJuIE5VTEw7CiAJbmFtZSA9IGNwOwotCW5hbWVsZW4gPSBzdHJjc3BuKG5hbWUsIGJsYW5rKTsKKworCWlmICgqY3AgPT0gJyInICYmICF1bnF1b3RlX2Nfc3R5bGUoJnBhdHRlcm4sIG5hbWUsICZzdGF0ZXMpKSB7CisJCW5hbWUgPSBwYXR0ZXJuLmJ1ZjsKKwkJbmFtZWxlbiA9IHBhdHRlcm4ubGVuOworCX0gZWxzZSB7CisJCW5hbWVsZW4gPSBzdHJjc3BuKG5hbWUsIGJsYW5rKTsKKwkJc3RhdGVzID0gbmFtZSArIG5hbWVsZW47CisJfQorCiAJaWYgKHN0cmxlbihBVFRSSUJVVEVfTUFDUk9fUFJFRklYKSA8IG5hbWVsZW4gJiYKIAkgICAgc3RhcnRzX3dpdGgobmFtZSwgQVRUUklCVVRFX01BQ1JPX1BSRUZJWCkpIHsKIAkJaWYgKCFtYWNyb19vaykgewogCQkJZnByaW50ZihzdGRlcnIsICIlcyBub3QgYWxsb3dlZDogJXM6JWRcbiIsCiAJCQkJbmFtZSwgc3JjLCBsaW5lbm8pOwotCQkJcmV0dXJuIE5VTEw7CisJCQlnb3RvIGZhaWxfcmV0dXJuOwogCQl9CiAJCWlzX21hY3JvID0gMTsKIAkJbmFtZSArPSBzdHJsZW4oQVRUUklCVVRFX01BQ1JPX1BSRUZJWCk7CiAJCW5hbWUgKz0gc3Ryc3BuKG5hbWUsIGJsYW5rKTsKIAkJbmFtZWxlbiA9IHN0cmNzcG4obmFtZSwgYmxhbmspOwotCQlpZiAoaW52YWxpZF9hdHRyX25hbWUobmFtZSwgbmFtZWxlbikpIHsKLQkJCWZwcmludGYoc3RkZXJyLAotCQkJCSIlLipzIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lOiAlczolZFxuIiwKLQkJCQluYW1lbGVuLCBuYW1lLCBzcmMsIGxpbmVubyk7Ci0JCQlyZXR1cm4gTlVMTDsKKwkJaWYgKCFhdHRyX25hbWVfdmFsaWQobmFtZSwgbmFtZWxlbikpIHsKKwkJCXJlcG9ydF9pbnZhbGlkX2F0dHIobmFtZSwgbmFtZWxlbiwgc3JjLCBsaW5lbm8pOworCQkJZ290byBmYWlsX3JldHVybjsKIAkJfQogCX0KIAllbHNlCiAJCWlzX21hY3JvID0gMDsKIAotCXN0YXRlcyA9IG5hbWUgKyBuYW1lbGVuOwogCXN0YXRlcyArPSBzdHJzcG4oc3RhdGVzLCBibGFuayk7CiAKIAkvKiBGaXJzdCBwYXNzIHRvIGNvdW50IHRoZSBhdHRyX3N0YXRlcyAqLwogCWZvciAoY3AgPSBzdGF0ZXMsIG51bV9hdHRyID0gMDsgKmNwOyBudW1fYXR0cisrKSB7CiAJCWNwID0gcGFyc2VfYXR0cihzcmMsIGxpbmVubywgY3AsIE5VTEwpOwogCQlpZiAoIWNwKQotCQkJcmV0dXJuIE5VTEw7CisJCQlnb3RvIGZhaWxfcmV0dXJuOwogCX0KIAogCXJlcyA9IHhjYWxsb2MoMSwKQEAgLTI1MCw3ICs0MDMsNiBAQAogCQkgICAgICAoaXNfbWFjcm8gPyAwIDogbmFtZWxlbiArIDEpKTsKIAlpZiAoaXNfbWFjcm8pIHsKIAkJcmVzLT51LmF0dHIgPSBnaXRfYXR0cl9pbnRlcm5hbChuYW1lLCBuYW1lbGVuKTsKLQkJcmVzLT51LmF0dHItPm1heWJlX21hY3JvID0gMTsKIAl9IGVsc2UgewogCQljaGFyICpwID0gKGNoYXIgKikmKHJlcy0+c3RhdGVbbnVtX2F0dHJdKTsKIAkJbWVtY3B5KHAsIG5hbWUsIG5hbWVsZW4pOwpAQCAtMjYyLDcgKzQxNCw3IEBACiAJCWlmIChyZXMtPnUucGF0LmZsYWdzICYgRVhDX0ZMQUdfTkVHQVRJVkUpIHsKIAkJCXdhcm5pbmcoXygiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKIAkJCQkgICJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iKSk7Ci0JCQlyZXR1cm4gTlVMTDsKKwkJCWdvdG8gZmFpbF9yZXR1cm47CiAJCX0KIAl9CiAJcmVzLT5pc19tYWNybyA9IGlzX21hY3JvOwpAQCAtMjcxLDEzICs0MjMsMTUgQEAKIAkvKiBTZWNvbmQgcGFzcyB0byBmaWxsIHRoZSBhdHRyX3N0YXRlcyAqLwogCWZvciAoY3AgPSBzdGF0ZXMsIGkgPSAwOyAqY3A7IGkrKykgewogCQljcCA9IHBhcnNlX2F0dHIoc3JjLCBsaW5lbm8sIGNwLCAmKHJlcy0+c3RhdGVbaV0pKTsKLQkJaWYgKCFpc19tYWNybykKLQkJCXJlcy0+c3RhdGVbaV0uYXR0ci0+bWF5YmVfcmVhbCA9IDE7Ci0JCWlmIChyZXMtPnN0YXRlW2ldLmF0dHItPm1heWJlX21hY3JvKQotCQkJY2Fubm90X3RydXN0X21heWJlX3JlYWwgPSAxOwogCX0KIAorCXN0cmJ1Zl9yZWxlYXNlKCZwYXR0ZXJuKTsKIAlyZXR1cm4gcmVzOworCitmYWlsX3JldHVybjoKKwlzdHJidWZfcmVsZWFzZSgmcGF0dGVybik7CisJZnJlZShyZXMpOworCXJldHVybiBOVUxMOwogfQogCiAvKgpAQCAtMjk1LDE5ICs0NDksMTkgQEAKICAqIGRpcmVjdG9yeSAoYWdhaW4sIHJlYWRpbmcgdGhlIGZpbGUgZnJvbSB0b3AgdG8gYm90dG9tKSBkb3duIHRvIHRoZQogICogY3VycmVudCBkaXJlY3RvcnksIGFuZCB0aGVuIHNjYW4gdGhlIGxpc3QgYmFja3dhcmRzIHRvIGZpbmQgdGhlIGZpcnN0IG1hdGNoLgogICogVGhpcyBpcyBleGFjdGx5IHRoZSBzYW1lIGFzIHdoYXQgaXNfZXhjbHVkZWQoKSBkb2VzIGluIGRpci5jIHRvIGRlYWwgd2l0aAotICogLmdpdGlnbm9yZQorICogLmdpdGlnbm9yZSBmaWxlIGFuZCBpbmZvL2V4Y2x1ZGVzIGZpbGUgYXMgYSBmYWxsYmFjay4KICAqLwogCi1zdGF0aWMgc3RydWN0IGF0dHJfc3RhY2sgeworc3RydWN0IGF0dHJfc3RhY2sgewogCXN0cnVjdCBhdHRyX3N0YWNrICpwcmV2OwogCWNoYXIgKm9yaWdpbjsKIAlzaXplX3Qgb3JpZ2lubGVuOwogCXVuc2lnbmVkIG51bV9tYXRjaGVzOwogCXVuc2lnbmVkIGFsbG9jOwogCXN0cnVjdCBtYXRjaF9hdHRyICoqYXR0cnM7Ci19ICphdHRyX3N0YWNrOworfTsKIAotc3RhdGljIHZvaWQgZnJlZV9hdHRyX2VsZW0oc3RydWN0IGF0dHJfc3RhY2sgKmUpCitzdGF0aWMgdm9pZCBhdHRyX3N0YWNrX2ZyZWUoc3RydWN0IGF0dHJfc3RhY2sgKmUpCiB7CiAJaW50IGk7CiAJZnJlZShlLT5vcmlnaW4pOwpAQCAtMzMwLDYgKzQ4NCwxODggQEAKIAlmcmVlKGUpOwogfQogCitzdGF0aWMgdm9pZCBkcm9wX2F0dHJfc3RhY2soc3RydWN0IGF0dHJfc3RhY2sgKipzdGFjaykKK3sKKwl3aGlsZSAoKnN0YWNrKSB7CisJCXN0cnVjdCBhdHRyX3N0YWNrICplbGVtID0gKnN0YWNrOworCQkqc3RhY2sgPSBlbGVtLT5wcmV2OworCQlhdHRyX3N0YWNrX2ZyZWUoZWxlbSk7CisJfQorfQorCisvKiBMaXN0IG9mIGFsbCBhdHRyX2NoZWNrIHN0cnVjdHM7IGFjY2VzcyBzaG91bGQgYmUgc3Vycm91bmRlZCBieSBtdXRleCAqLworc3RhdGljIHN0cnVjdCBjaGVja192ZWN0b3IgeworCXNpemVfdCBucjsKKwlzaXplX3QgYWxsb2M7CisJc3RydWN0IGF0dHJfY2hlY2sgKipjaGVja3M7CisjaWZuZGVmIE5PX1BUSFJFQURTCisJcHRocmVhZF9tdXRleF90IG11dGV4OworI2VuZGlmCit9IGNoZWNrX3ZlY3RvcjsKKworc3RhdGljIGlubGluZSB2b2lkIHZlY3Rvcl9sb2NrKHZvaWQpCit7CisjaWZuZGVmIE5PX1BUSFJFQURTCisJcHRocmVhZF9tdXRleF9sb2NrKCZjaGVja192ZWN0b3IubXV0ZXgpOworI2VuZGlmCit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2ZWN0b3JfdW5sb2NrKHZvaWQpCit7CisjaWZuZGVmIE5PX1BUSFJFQURTCisJcHRocmVhZF9tdXRleF91bmxvY2soJmNoZWNrX3ZlY3Rvci5tdXRleCk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgY2hlY2tfdmVjdG9yX2FkZChzdHJ1Y3QgYXR0cl9jaGVjayAqYykKK3sKKwl2ZWN0b3JfbG9jaygpOworCisJQUxMT0NfR1JPVyhjaGVja192ZWN0b3IuY2hlY2tzLAorCQkgICBjaGVja192ZWN0b3IubnIgKyAxLAorCQkgICBjaGVja192ZWN0b3IuYWxsb2MpOworCWNoZWNrX3ZlY3Rvci5jaGVja3NbY2hlY2tfdmVjdG9yLm5yKytdID0gYzsKKworCXZlY3Rvcl91bmxvY2soKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfdmVjdG9yX3JlbW92ZShzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spCit7CisJaW50IGk7CisKKwl2ZWN0b3JfbG9jaygpOworCisJLyogRmluZCBlbnRyeSAqLworCWZvciAoaSA9IDA7IGkgPCBjaGVja192ZWN0b3IubnI7IGkrKykKKwkJaWYgKGNoZWNrX3ZlY3Rvci5jaGVja3NbaV0gPT0gY2hlY2spCisJCQlicmVhazsKKworCWlmIChpID49IGNoZWNrX3ZlY3Rvci5ucikKKwkJZGllKCJCVUc6IG5vIGVudHJ5IGZvdW5kIik7CisKKwkvKiBzaGlmdCBlbnRyaWVzIG92ZXIgKi8KKwlmb3IgKDsgaSA8IGNoZWNrX3ZlY3Rvci5uciAtIDE7IGkrKykKKwkJY2hlY2tfdmVjdG9yLmNoZWNrc1tpXSA9IGNoZWNrX3ZlY3Rvci5jaGVja3NbaSArIDFdOworCisJY2hlY2tfdmVjdG9yLm5yLS07CisKKwl2ZWN0b3JfdW5sb2NrKCk7Cit9CisKKy8qIEl0ZXJhdGUgdGhyb3VnaCBhbGwgYXR0cl9jaGVjayBpbnN0YW5jZXMgYW5kIGRyb3AgdGhlaXIgc3RhY2tzICovCitzdGF0aWMgdm9pZCBkcm9wX2FsbF9hdHRyX3N0YWNrcyh2b2lkKQoreworCWludCBpOworCisJdmVjdG9yX2xvY2soKTsKKworCWZvciAoaSA9IDA7IGkgPCBjaGVja192ZWN0b3IubnI7IGkrKykgeworCQlkcm9wX2F0dHJfc3RhY2soJmNoZWNrX3ZlY3Rvci5jaGVja3NbaV0tPnN0YWNrKTsKKwl9CisKKwl2ZWN0b3JfdW5sb2NrKCk7Cit9CisKK3N0cnVjdCBhdHRyX2NoZWNrICphdHRyX2NoZWNrX2FsbG9jKHZvaWQpCit7CisJc3RydWN0IGF0dHJfY2hlY2sgKmMgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgYXR0cl9jaGVjaykpOworCisJLyogc2F2ZSBwb2ludGVyIHRvIHRoZSBjaGVjayBzdHJ1Y3QgKi8KKwljaGVja192ZWN0b3JfYWRkKGMpOworCisJcmV0dXJuIGM7Cit9CisKK3N0cnVjdCBhdHRyX2NoZWNrICphdHRyX2NoZWNrX2luaXRsKGNvbnN0IGNoYXIgKm9uZSwgLi4uKQoreworCXN0cnVjdCBhdHRyX2NoZWNrICpjaGVjazsKKwlpbnQgY250OworCXZhX2xpc3QgcGFyYW1zOworCWNvbnN0IGNoYXIgKnBhcmFtOworCisJdmFfc3RhcnQocGFyYW1zLCBvbmUpOworCWZvciAoY250ID0gMTsgKHBhcmFtID0gdmFfYXJnKHBhcmFtcywgY29uc3QgY2hhciAqKSkgIT0gTlVMTDsgY250KyspCisJCTsKKwl2YV9lbmQocGFyYW1zKTsKKworCWNoZWNrID0gYXR0cl9jaGVja19hbGxvYygpOworCWNoZWNrLT5uciA9IGNudDsKKwljaGVjay0+YWxsb2MgPSBjbnQ7CisJY2hlY2stPml0ZW1zID0geGNhbGxvYyhjbnQsIHNpemVvZihzdHJ1Y3QgYXR0cl9jaGVja19pdGVtKSk7CisKKwljaGVjay0+aXRlbXNbMF0uYXR0ciA9IGdpdF9hdHRyKG9uZSk7CisJdmFfc3RhcnQocGFyYW1zLCBvbmUpOworCWZvciAoY250ID0gMTsgY250IDwgY2hlY2stPm5yOyBjbnQrKykgeworCQljb25zdCBzdHJ1Y3QgZ2l0X2F0dHIgKmF0dHI7CisJCXBhcmFtID0gdmFfYXJnKHBhcmFtcywgY29uc3QgY2hhciAqKTsKKwkJaWYgKCFwYXJhbSkKKwkJCWRpZSgiQlVHOiBjb3VudGVkICVkICE9IGVuZGVkIGF0ICVkIiwKKwkJCSAgICBjaGVjay0+bnIsIGNudCk7CisJCWF0dHIgPSBnaXRfYXR0cihwYXJhbSk7CisJCWlmICghYXR0cikKKwkJCWRpZSgiQlVHOiAlczogbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiLCBwYXJhbSk7CisJCWNoZWNrLT5pdGVtc1tjbnRdLmF0dHIgPSBhdHRyOworCX0KKwl2YV9lbmQocGFyYW1zKTsKKwlyZXR1cm4gY2hlY2s7Cit9CisKK3N0cnVjdCBhdHRyX2NoZWNrICphdHRyX2NoZWNrX2R1cChjb25zdCBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spCit7CisJc3RydWN0IGF0dHJfY2hlY2sgKnJldDsKKworCWlmICghY2hlY2spCisJCXJldHVybiBOVUxMOworCisJcmV0ID0gYXR0cl9jaGVja19hbGxvYygpOworCisJcmV0LT5uciA9IGNoZWNrLT5ucjsKKwlyZXQtPmFsbG9jID0gY2hlY2stPmFsbG9jOworCUFMTE9DX0FSUkFZKHJldC0+aXRlbXMsIHJldC0+bnIpOworCUNPUFlfQVJSQVkocmV0LT5pdGVtcywgY2hlY2stPml0ZW1zLCByZXQtPm5yKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0cnVjdCBhdHRyX2NoZWNrX2l0ZW0gKmF0dHJfY2hlY2tfYXBwZW5kKHN0cnVjdCBhdHRyX2NoZWNrICpjaGVjaywKKwkJCQkJICBjb25zdCBzdHJ1Y3QgZ2l0X2F0dHIgKmF0dHIpCit7CisJc3RydWN0IGF0dHJfY2hlY2tfaXRlbSAqaXRlbTsKKworCUFMTE9DX0dST1coY2hlY2stPml0ZW1zLCBjaGVjay0+bnIgKyAxLCBjaGVjay0+YWxsb2MpOworCWl0ZW0gPSAmY2hlY2stPml0ZW1zW2NoZWNrLT5ucisrXTsKKwlpdGVtLT5hdHRyID0gYXR0cjsKKwlyZXR1cm4gaXRlbTsKK30KKwordm9pZCBhdHRyX2NoZWNrX3Jlc2V0KHN0cnVjdCBhdHRyX2NoZWNrICpjaGVjaykKK3sKKwljaGVjay0+bnIgPSAwOworfQorCit2b2lkIGF0dHJfY2hlY2tfY2xlYXIoc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrKQoreworCUZSRUVfQU5EX05VTEwoY2hlY2stPml0ZW1zKTsKKwljaGVjay0+YWxsb2MgPSAwOworCWNoZWNrLT5uciA9IDA7CisKKwlGUkVFX0FORF9OVUxMKGNoZWNrLT5hbGxfYXR0cnMpOworCWNoZWNrLT5hbGxfYXR0cnNfbnIgPSAwOworCisJZHJvcF9hdHRyX3N0YWNrKCZjaGVjay0+c3RhY2spOworfQorCit2b2lkIGF0dHJfY2hlY2tfZnJlZShzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spCit7CisJaWYgKGNoZWNrKSB7CisJCS8qIFJlbW92ZSBjaGVjayBmcm9tIHRoZSBjaGVjayB2ZWN0b3IgKi8KKwkJY2hlY2tfdmVjdG9yX3JlbW92ZShjaGVjayk7CisKKwkJYXR0cl9jaGVja19jbGVhcihjaGVjayk7CisJCWZyZWUoY2hlY2spOworCX0KK30KKwogc3RhdGljIGNvbnN0IGNoYXIgKmJ1aWx0aW5fYXR0cltdID0gewogCSJbYXR0cl1iaW5hcnkgLWRpZmYgLW1lcmdlIC10ZXh0IiwKIAlOVUxMLApAQCAtMzYyLDIxICs2OTgsNDAgQEAKIAlyZXR1cm4gcmVzOwogfQogCisvKgorICogQ2FsbGVycyBpbnRvIHRoZSBhdHRyaWJ1dGUgc3lzdGVtIGFzc3VtZSB0aGVyZSBpcyBhIHNpbmdsZSwgc3lzdGVtLXdpZGUKKyAqIGdsb2JhbCBzdGF0ZSB3aGVyZSBhdHRyaWJ1dGVzIGFyZSByZWFkIGZyb20gYW5kIHdoZW4gdGhlIHN0YXRlIGlzIGZsaXBwZWQgYnkKKyAqIGNhbGxpbmcgZ2l0X2F0dHJfc2V0X2RpcmVjdGlvbigpLCB0aGUgc3RhY2sgZnJhbWVzIHRoYXQgaGF2ZSBiZWVuCisgKiBjb25zdHJ1Y3RlZCBuZWVkIHRvIGJlIGRpc2NhcmRlZCBzbyBzbyB0aGF0IHN1YnNlcXVlbnQgY2FsbHMgaW50byB0aGUKKyAqIGF0dHJpYnV0ZSBzeXN0ZW0gd2lsbCBsYXppbHkgcmVhZCBmcm9tIHRoZSByaWdodCBwbGFjZS4gIFNpbmNlIGNoYW5naW5nCisgKiBkaXJlY3Rpb24gY2F1c2VzIGEgZ2xvYmFsIHBhcmFkaWdtIHNoaWZ0LCBpdCBzaG91bGQgbm90IGV2ZXIgYmUgY2FsbGVkIHdoaWxlCisgKiBhbm90aGVyIHRocmVhZCBjb3VsZCBwb3RlbnRpYWxseSBiZSBjYWxsaW5nIGludG8gdGhlIGF0dHJpYnV0ZSBzeXN0ZW0uCisgKi8KIHN0YXRpYyBlbnVtIGdpdF9hdHRyX2RpcmVjdGlvbiBkaXJlY3Rpb247CiBzdGF0aWMgc3RydWN0IGluZGV4X3N0YXRlICp1c2VfaW5kZXg7CiAKK3ZvaWQgZ2l0X2F0dHJfc2V0X2RpcmVjdGlvbihlbnVtIGdpdF9hdHRyX2RpcmVjdGlvbiBuZXdfZGlyZWN0aW9uLAorCQkJICAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQoreworCWlmIChpc19iYXJlX3JlcG9zaXRvcnkoKSAmJiBuZXdfZGlyZWN0aW9uICE9IEdJVF9BVFRSX0lOREVYKQorCQlkaWUoIkJVRzogbm9uLUlOREVYIGF0dHIgZGlyZWN0aW9uIGluIGEgYmFyZSByZXBvIik7CisKKwlpZiAobmV3X2RpcmVjdGlvbiAhPSBkaXJlY3Rpb24pCisJCWRyb3BfYWxsX2F0dHJfc3RhY2tzKCk7CisKKwlkaXJlY3Rpb24gPSBuZXdfZGlyZWN0aW9uOworCXVzZV9pbmRleCA9IGlzdGF0ZTsKK30KKwogc3RhdGljIHN0cnVjdCBhdHRyX3N0YWNrICpyZWFkX2F0dHJfZnJvbV9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGludCBtYWNyb19vaykKIHsKLQlGSUxFICpmcCA9IGZvcGVuKHBhdGgsICJyIik7CisJRklMRSAqZnAgPSBmb3Blbl9vcl93YXJuKHBhdGgsICJyIik7CiAJc3RydWN0IGF0dHJfc3RhY2sgKnJlczsKIAljaGFyIGJ1ZlsyMDQ4XTsKIAlpbnQgbGluZW5vID0gMDsKIAotCWlmICghZnApIHsKLQkJaWYgKGVycm5vICE9IEVOT0VOVCAmJiBlcnJubyAhPSBFTk9URElSKQotCQkJd2Fybl9vbl9pbmFjY2Vzc2libGUocGF0aCk7CisJaWYgKCFmcCkKIAkJcmV0dXJuIE5VTEw7Ci0JfQogCXJlcyA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpyZXMpKTsKIAl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZnApKSB7CiAJCWNoYXIgKmJ1ZnAgPSBidWY7CkBAIC00MDIsOCArNzU3LDggQEAKIAlmb3IgKHNwID0gYnVmOyAqc3A7ICkgewogCQljaGFyICplcDsKIAkJaW50IG1vcmU7Ci0JCWZvciAoZXAgPSBzcDsgKmVwICYmICplcCAhPSAnXG4nOyBlcCsrKQotCQkJOworCisJCWVwID0gc3RyY2hybnVsKHNwLCAnXG4nKTsKIAkJbW9yZSA9ICgqZXAgPT0gJ1xuJyk7CiAJCSplcCA9ICdcMCc7CiAJCWhhbmRsZV9hdHRyX2xpbmUocmVzLCBzcCwgcGF0aCwgKytsaW5lbm8sIG1hY3JvX29rKTsKQEAgLTQxNSwyNSArNzcwLDI4IEBACiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cl9zdGFjayAqcmVhZF9hdHRyKGNvbnN0IGNoYXIgKnBhdGgsIGludCBtYWNyb19vaykKIHsKLQlzdHJ1Y3QgYXR0cl9zdGFjayAqcmVzOworCXN0cnVjdCBhdHRyX3N0YWNrICpyZXMgPSBOVUxMOwogCi0JaWYgKGRpcmVjdGlvbiA9PSBHSVRfQVRUUl9DSEVDS09VVCkgeworCWlmIChkaXJlY3Rpb24gPT0gR0lUX0FUVFJfSU5ERVgpIHsKIAkJcmVzID0gcmVhZF9hdHRyX2Zyb21faW5kZXgocGF0aCwgbWFjcm9fb2spOwotCQlpZiAoIXJlcykKLQkJCXJlcyA9IHJlYWRfYXR0cl9mcm9tX2ZpbGUocGF0aCwgbWFjcm9fb2spOwotCX0KLQllbHNlIGlmIChkaXJlY3Rpb24gPT0gR0lUX0FUVFJfQ0hFQ0tJTikgewotCQlyZXMgPSByZWFkX2F0dHJfZnJvbV9maWxlKHBhdGgsIG1hY3JvX29rKTsKLQkJaWYgKCFyZXMpCi0JCQkvKgotCQkJICogVGhlcmUgaXMgbm8gY2hlY2tlZCBvdXQgLmdpdGF0dHJpYnV0ZXMgZmlsZSB0aGVyZSwgYnV0Ci0JCQkgKiB3ZSBtaWdodCBoYXZlIGl0IGluIHRoZSBpbmRleC4gIFdlIGFsbG93IG9wZXJhdGlvbiBpbiBhCi0JCQkgKiBzcGFyc2VseSBjaGVja2VkIG91dCB3b3JrIHRyZWUsIHNvIHJlYWQgZnJvbSBpdC4KLQkJCSAqLworCX0gZWxzZSBpZiAoIWlzX2JhcmVfcmVwb3NpdG9yeSgpKSB7CisJCWlmIChkaXJlY3Rpb24gPT0gR0lUX0FUVFJfQ0hFQ0tPVVQpIHsKIAkJCXJlcyA9IHJlYWRfYXR0cl9mcm9tX2luZGV4KHBhdGgsIG1hY3JvX29rKTsKKwkJCWlmICghcmVzKQorCQkJCXJlcyA9IHJlYWRfYXR0cl9mcm9tX2ZpbGUocGF0aCwgbWFjcm9fb2spOworCQl9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PSBHSVRfQVRUUl9DSEVDS0lOKSB7CisJCQlyZXMgPSByZWFkX2F0dHJfZnJvbV9maWxlKHBhdGgsIG1hY3JvX29rKTsKKwkJCWlmICghcmVzKQorCQkJCS8qCisJCQkJICogVGhlcmUgaXMgbm8gY2hlY2tlZCBvdXQgLmdpdGF0dHJpYnV0ZXMgZmlsZQorCQkJCSAqIHRoZXJlLCBidXQgd2UgbWlnaHQgaGF2ZSBpdCBpbiB0aGUgaW5kZXguCisJCQkJICogV2UgYWxsb3cgb3BlcmF0aW9uIGluIGEgc3BhcnNlbHkgY2hlY2tlZCBvdXQKKwkJCQkgKiB3b3JrIHRyZWUsIHNvIHJlYWQgZnJvbSBpdC4KKwkJCQkgKi8KKwkJCQlyZXMgPSByZWFkX2F0dHJfZnJvbV9pbmRleChwYXRoLCBtYWNyb19vayk7CisJCX0KIAl9Ci0JZWxzZQotCQlyZXMgPSByZWFkX2F0dHJfZnJvbV9pbmRleChwYXRoLCBtYWNyb19vayk7CisKIAlpZiAoIXJlcykKIAkJcmVzID0geGNhbGxvYygxLCBzaXplb2YoKnJlcykpOwogCXJldHVybiByZXM7CkBAIC00NjQsMTYgKzgyMiw3IEBACiAjZGVmaW5lIGRlYnVnX3B1c2goYSkgZG8geyA7IH0gd2hpbGUgKDApCiAjZGVmaW5lIGRlYnVnX3BvcChhKSBkbyB7IDsgfSB3aGlsZSAoMCkKICNkZWZpbmUgZGVidWdfc2V0KGEsYixjLGQpIGRvIHsgOyB9IHdoaWxlICgwKQotI2VuZGlmCi0KLXN0YXRpYyB2b2lkIGRyb3BfYXR0cl9zdGFjayh2b2lkKQotewotCXdoaWxlIChhdHRyX3N0YWNrKSB7Ci0JCXN0cnVjdCBhdHRyX3N0YWNrICplbGVtID0gYXR0cl9zdGFjazsKLQkJYXR0cl9zdGFjayA9IGVsZW0tPnByZXY7Ci0JCWZyZWVfYXR0cl9lbGVtKGVsZW0pOwotCX0KLX0KKyNlbmRpZiAvKiBERUJVR19BVFRSICovCiAKIHN0YXRpYyBjb25zdCBjaGFyICpnaXRfZXRjX2dpdGF0dHJpYnV0ZXModm9pZCkKIHsKQEAgLTQ4Myw2ICs4MzIsMTQgQEAKIAlyZXR1cm4gc3lzdGVtX3dpZGU7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfaG9tZV9naXRhdHRyaWJ1dGVzKHZvaWQpCit7CisJaWYgKCFnaXRfYXR0cmlidXRlc19maWxlKQorCQlnaXRfYXR0cmlidXRlc19maWxlID0geGRnX2NvbmZpZ19ob21lKCJhdHRyaWJ1dGVzIik7CisKKwlyZXR1cm4gZ2l0X2F0dHJpYnV0ZXNfZmlsZTsKK30KKwogc3RhdGljIGludCBnaXRfYXR0cl9zeXN0ZW0odm9pZCkKIHsKIAlyZXR1cm4gIWdpdF9lbnZfYm9vbCgiR0lUX0FUVFJfTk9TWVNURU0iLCAwKTsKQEAgLTQ5MCw2NCArODQ3LDYwIEBACiAKIHN0YXRpYyBHSVRfUEFUSF9GVU5DKGdpdF9wYXRoX2luZm9fYXR0cmlidXRlcywgSU5GT0FUVFJJQlVURVNfRklMRSkKIAotc3RhdGljIHZvaWQgYm9vdHN0cmFwX2F0dHJfc3RhY2sodm9pZCkKK3N0YXRpYyB2b2lkIHB1c2hfc3RhY2soc3RydWN0IGF0dHJfc3RhY2sgKiphdHRyX3N0YWNrX3AsCisJCSAgICAgICBzdHJ1Y3QgYXR0cl9zdGFjayAqZWxlbSwgY2hhciAqb3JpZ2luLCBzaXplX3Qgb3JpZ2lubGVuKQogewotCXN0cnVjdCBhdHRyX3N0YWNrICplbGVtOwotCi0JaWYgKGF0dHJfc3RhY2spCi0JCXJldHVybjsKLQotCWVsZW0gPSByZWFkX2F0dHJfZnJvbV9hcnJheShidWlsdGluX2F0dHIpOwotCWVsZW0tPm9yaWdpbiA9IE5VTEw7Ci0JZWxlbS0+cHJldiA9IGF0dHJfc3RhY2s7Ci0JYXR0cl9zdGFjayA9IGVsZW07Ci0KLQlpZiAoZ2l0X2F0dHJfc3lzdGVtKCkpIHsKLQkJZWxlbSA9IHJlYWRfYXR0cl9mcm9tX2ZpbGUoZ2l0X2V0Y19naXRhdHRyaWJ1dGVzKCksIDEpOwotCQlpZiAoZWxlbSkgewotCQkJZWxlbS0+b3JpZ2luID0gTlVMTDsKLQkJCWVsZW0tPnByZXYgPSBhdHRyX3N0YWNrOwotCQkJYXR0cl9zdGFjayA9IGVsZW07Ci0JCX0KKwlpZiAoZWxlbSkgeworCQllbGVtLT5vcmlnaW4gPSBvcmlnaW47CisJCWlmIChvcmlnaW4pCisJCQllbGVtLT5vcmlnaW5sZW4gPSBvcmlnaW5sZW47CisJCWVsZW0tPnByZXYgPSAqYXR0cl9zdGFja19wOworCQkqYXR0cl9zdGFja19wID0gZWxlbTsKIAl9Ci0KLQlpZiAoIWdpdF9hdHRyaWJ1dGVzX2ZpbGUpCi0JCWdpdF9hdHRyaWJ1dGVzX2ZpbGUgPSB4ZGdfY29uZmlnX2hvbWUoImF0dHJpYnV0ZXMiKTsKLQlpZiAoZ2l0X2F0dHJpYnV0ZXNfZmlsZSkgewotCQllbGVtID0gcmVhZF9hdHRyX2Zyb21fZmlsZShnaXRfYXR0cmlidXRlc19maWxlLCAxKTsKLQkJaWYgKGVsZW0pIHsKLQkJCWVsZW0tPm9yaWdpbiA9IE5VTEw7Ci0JCQllbGVtLT5wcmV2ID0gYXR0cl9zdGFjazsKLQkJCWF0dHJfc3RhY2sgPSBlbGVtOwotCQl9Ci0JfQotCi0JaWYgKCFpc19iYXJlX3JlcG9zaXRvcnkoKSB8fCBkaXJlY3Rpb24gPT0gR0lUX0FUVFJfSU5ERVgpIHsKLQkJZWxlbSA9IHJlYWRfYXR0cihHSVRBVFRSSUJVVEVTX0ZJTEUsIDEpOwotCQllbGVtLT5vcmlnaW4gPSB4c3RyZHVwKCIiKTsKLQkJZWxlbS0+b3JpZ2lubGVuID0gMDsKLQkJZWxlbS0+cHJldiA9IGF0dHJfc3RhY2s7Ci0JCWF0dHJfc3RhY2sgPSBlbGVtOwotCQlkZWJ1Z19wdXNoKGVsZW0pOwotCX0KLQotCWlmIChzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeSkKLQkJZWxlbSA9IHJlYWRfYXR0cl9mcm9tX2ZpbGUoZ2l0X3BhdGhfaW5mb19hdHRyaWJ1dGVzKCksIDEpOwotCWVsc2UKLQkJZWxlbSA9IE5VTEw7Ci0KLQlpZiAoIWVsZW0pCi0JCWVsZW0gPSB4Y2FsbG9jKDEsIHNpemVvZigqZWxlbSkpOwotCWVsZW0tPm9yaWdpbiA9IE5VTEw7Ci0JZWxlbS0+cHJldiA9IGF0dHJfc3RhY2s7Ci0JYXR0cl9zdGFjayA9IGVsZW07CiB9CiAKLXN0YXRpYyB2b2lkIHByZXBhcmVfYXR0cl9zdGFjayhjb25zdCBjaGFyICpwYXRoLCBpbnQgZGlybGVuKQorc3RhdGljIHZvaWQgYm9vdHN0cmFwX2F0dHJfc3RhY2soc3RydWN0IGF0dHJfc3RhY2sgKipzdGFjaykKIHsKLQlzdHJ1Y3QgYXR0cl9zdGFjayAqZWxlbSwgKmluZm87Ci0JaW50IGxlbjsKLQljb25zdCBjaGFyICpjcDsKKwlzdHJ1Y3QgYXR0cl9zdGFjayAqZTsKKworCWlmICgqc3RhY2spCisJCXJldHVybjsKKworCS8qIGJ1aWx0aW4gZnJhbWUgKi8KKwllID0gcmVhZF9hdHRyX2Zyb21fYXJyYXkoYnVpbHRpbl9hdHRyKTsKKwlwdXNoX3N0YWNrKHN0YWNrLCBlLCBOVUxMLCAwKTsKKworCS8qIHN5c3RlbS13aWRlIGZyYW1lICovCisJaWYgKGdpdF9hdHRyX3N5c3RlbSgpKSB7CisJCWUgPSByZWFkX2F0dHJfZnJvbV9maWxlKGdpdF9ldGNfZ2l0YXR0cmlidXRlcygpLCAxKTsKKwkJcHVzaF9zdGFjayhzdGFjaywgZSwgTlVMTCwgMCk7CisJfQorCisJLyogaG9tZSBkaXJlY3RvcnkgKi8KKwlpZiAoZ2V0X2hvbWVfZ2l0YXR0cmlidXRlcygpKSB7CisJCWUgPSByZWFkX2F0dHJfZnJvbV9maWxlKGdldF9ob21lX2dpdGF0dHJpYnV0ZXMoKSwgMSk7CisJCXB1c2hfc3RhY2soc3RhY2ssIGUsIE5VTEwsIDApOworCX0KKworCS8qIHJvb3QgZGlyZWN0b3J5ICovCisJZSA9IHJlYWRfYXR0cihHSVRBVFRSSUJVVEVTX0ZJTEUsIDEpOworCXB1c2hfc3RhY2soc3RhY2ssIGUsIHhzdHJkdXAoIiIpLCAwKTsKKworCS8qIGluZm8gZnJhbWUgKi8KKwlpZiAoc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkpCisJCWUgPSByZWFkX2F0dHJfZnJvbV9maWxlKGdpdF9wYXRoX2luZm9fYXR0cmlidXRlcygpLCAxKTsKKwllbHNlCisJCWUgPSBOVUxMOworCWlmICghZSkKKwkJZSA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBhdHRyX3N0YWNrKSk7CisJcHVzaF9zdGFjayhzdGFjaywgZSwgTlVMTCwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIHByZXBhcmVfYXR0cl9zdGFjayhjb25zdCBjaGFyICpwYXRoLCBpbnQgZGlybGVuLAorCQkJICAgICAgIHN0cnVjdCBhdHRyX3N0YWNrICoqc3RhY2spCit7CisJc3RydWN0IGF0dHJfc3RhY2sgKmluZm87CisJc3RydWN0IHN0cmJ1ZiBwYXRoYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAkvKgogCSAqIEF0IHRoZSBib3R0b20gb2YgdGhlIGF0dHJpYnV0ZSBzdGFjayBpcyB0aGUgYnVpbHQtaW4KQEAgLTU2NCwxMyArOTE3LDEzIEBACiAJICogLmdpdGF0dHJpYnV0ZXMgaW4gZGVlcGVyIGRpcmVjdG9yaWVzIHRvIHNoYWxsb3dlciBvbmVzLAogCSAqIGFuZCBmaW5hbGx5IHVzZSB0aGUgYnVpbHQtaW4gc2V0IGFzIHRoZSBkZWZhdWx0LgogCSAqLwotCWJvb3RzdHJhcF9hdHRyX3N0YWNrKCk7CisJYm9vdHN0cmFwX2F0dHJfc3RhY2soc3RhY2spOwogCiAJLyoKIAkgKiBQb3AgdGhlICJpbmZvIiBvbmUgdGhhdCBpcyBhbHdheXMgYXQgdGhlIHRvcCBvZiB0aGUgc3RhY2suCiAJICovCi0JaW5mbyA9IGF0dHJfc3RhY2s7Ci0JYXR0cl9zdGFjayA9IGluZm8tPnByZXY7CisJaW5mbyA9ICpzdGFjazsKKwkqc3RhY2sgPSBpbmZvLT5wcmV2OwogCiAJLyoKIAkgKiBQb3AgdGhlIG9uZXMgZnJvbSBkaXJlY3RvcmllcyB0aGF0IGFyZSBub3QgdGhlIHByZWZpeCBvZgpAQCAtNTc4LDU5ICs5MzEsNjMgQEAKIAkgKiB0aGUgcm9vdCBvbmUgKHdob3NlIG9yaWdpbiBpcyBhbiBlbXB0eSBzdHJpbmcgIiIpIG9yIHRoZSBidWlsdGluCiAJICogb25lICh3aG9zZSBvcmlnaW4gaXMgTlVMTCkgd2l0aG91dCBwb3BwaW5nIGl0LgogCSAqLwotCXdoaWxlIChhdHRyX3N0YWNrLT5vcmlnaW4pIHsKLQkJaW50IG5hbWVsZW4gPSBzdHJsZW4oYXR0cl9zdGFjay0+b3JpZ2luKTsKKwl3aGlsZSAoKCpzdGFjayktPm9yaWdpbikgeworCQlpbnQgbmFtZWxlbiA9ICgqc3RhY2spLT5vcmlnaW5sZW47CisJCXN0cnVjdCBhdHRyX3N0YWNrICplbGVtOwogCi0JCWVsZW0gPSBhdHRyX3N0YWNrOworCQllbGVtID0gKnN0YWNrOwogCQlpZiAobmFtZWxlbiA8PSBkaXJsZW4gJiYKIAkJICAgICFzdHJuY21wKGVsZW0tPm9yaWdpbiwgcGF0aCwgbmFtZWxlbikgJiYKIAkJICAgICghbmFtZWxlbiB8fCBwYXRoW25hbWVsZW5dID09ICcvJykpCiAJCQlicmVhazsKIAogCQlkZWJ1Z19wb3AoZWxlbSk7Ci0JCWF0dHJfc3RhY2sgPSBlbGVtLT5wcmV2OwotCQlmcmVlX2F0dHJfZWxlbShlbGVtKTsKKwkJKnN0YWNrID0gZWxlbS0+cHJldjsKKwkJYXR0cl9zdGFja19mcmVlKGVsZW0pOwogCX0KIAogCS8qCi0JICogUmVhZCBmcm9tIHBhcmVudCBkaXJlY3RvcmllcyBhbmQgcHVzaCB0aGVtIGRvd24KKwkgKiBib290c3RyYXBfYXR0cl9zdGFjaygpIHNob3VsZCBoYXZlIGFkZGVkLCBhbmQgdGhlCisJICogYWJvdmUgbG9vcCBzaG91bGQgaGF2ZSBzdG9wcGVkIGJlZm9yZSBwb3BwaW5nLCB0aGUKKwkgKiByb290IGVsZW1lbnQgd2hvc2UgYXR0cl9zdGFjay0+b3JpZ2luIGlzIHNldCB0byBhbgorCSAqIGVtcHR5IHN0cmluZy4KIAkgKi8KLQlpZiAoIWlzX2JhcmVfcmVwb3NpdG9yeSgpIHx8IGRpcmVjdGlvbiA9PSBHSVRfQVRUUl9JTkRFWCkgewotCQkvKgotCQkgKiBib290c3RyYXBfYXR0cl9zdGFjaygpIHNob3VsZCBoYXZlIGFkZGVkLCBhbmQgdGhlCi0JCSAqIGFib3ZlIGxvb3Agc2hvdWxkIGhhdmUgc3RvcHBlZCBiZWZvcmUgcG9wcGluZywgdGhlCi0JCSAqIHJvb3QgZWxlbWVudCB3aG9zZSBhdHRyX3N0YWNrLT5vcmlnaW4gaXMgc2V0IHRvIGFuCi0JCSAqIGVtcHR5IHN0cmluZy4KLQkJICovCi0JCXN0cnVjdCBzdHJidWYgcGF0aGJ1ZiA9IFNUUkJVRl9JTklUOworCWFzc2VydCgoKnN0YWNrKS0+b3JpZ2luKTsKIAotCQlhc3NlcnQoYXR0cl9zdGFjay0+b3JpZ2luKTsKLQkJd2hpbGUgKDEpIHsKLQkJCWxlbiA9IHN0cmxlbihhdHRyX3N0YWNrLT5vcmlnaW4pOwotCQkJaWYgKGRpcmxlbiA8PSBsZW4pCi0JCQkJYnJlYWs7Ci0JCQljcCA9IG1lbWNocihwYXRoICsgbGVuICsgMSwgJy8nLCBkaXJsZW4gLSBsZW4gLSAxKTsKLQkJCWlmICghY3ApCi0JCQkJY3AgPSBwYXRoICsgZGlybGVuOwotCQkJc3RyYnVmX2FkZCgmcGF0aGJ1ZiwgcGF0aCwgY3AgLSBwYXRoKTsKKwlzdHJidWZfYWRkc3RyKCZwYXRoYnVmLCAoKnN0YWNrKS0+b3JpZ2luKTsKKwkvKiBCdWlsZCB1cCB0byB0aGUgZGlyZWN0b3J5ICdwYXRoJyBpcyBpbiAqLworCXdoaWxlIChwYXRoYnVmLmxlbiA8IGRpcmxlbikgeworCQlzaXplX3QgbGVuID0gcGF0aGJ1Zi5sZW47CisJCXN0cnVjdCBhdHRyX3N0YWNrICpuZXh0OworCQljaGFyICpvcmlnaW47CisKKwkJLyogU2tpcCBwYXRoLXNlcGFyYXRvciAqLworCQlpZiAobGVuIDwgZGlybGVuICYmIGlzX2Rpcl9zZXAocGF0aFtsZW5dKSkKKwkJCWxlbisrOworCQkvKiBGaW5kIHRoZSBlbmQgb2YgdGhlIG5leHQgY29tcG9uZW50ICovCisJCXdoaWxlIChsZW4gPCBkaXJsZW4gJiYgIWlzX2Rpcl9zZXAocGF0aFtsZW5dKSkKKwkJCWxlbisrOworCisJCWlmIChwYXRoYnVmLmxlbiA+IDApCiAJCQlzdHJidWZfYWRkY2goJnBhdGhidWYsICcvJyk7Ci0JCQlzdHJidWZfYWRkc3RyKCZwYXRoYnVmLCBHSVRBVFRSSUJVVEVTX0ZJTEUpOwotCQkJZWxlbSA9IHJlYWRfYXR0cihwYXRoYnVmLmJ1ZiwgMCk7Ci0JCQlzdHJidWZfc2V0bGVuKCZwYXRoYnVmLCBjcCAtIHBhdGgpOwotCQkJZWxlbS0+b3JpZ2luID0gc3RyYnVmX2RldGFjaCgmcGF0aGJ1ZiwgJmVsZW0tPm9yaWdpbmxlbik7Ci0JCQllbGVtLT5wcmV2ID0gYXR0cl9zdGFjazsKLQkJCWF0dHJfc3RhY2sgPSBlbGVtOwotCQkJZGVidWdfcHVzaChlbGVtKTsKLQkJfQorCQlzdHJidWZfYWRkKCZwYXRoYnVmLCBwYXRoICsgcGF0aGJ1Zi5sZW4sIChsZW4gLSBwYXRoYnVmLmxlbikpOworCQlzdHJidWZfYWRkZigmcGF0aGJ1ZiwgIi8lcyIsIEdJVEFUVFJJQlVURVNfRklMRSk7CiAKLQkJc3RyYnVmX3JlbGVhc2UoJnBhdGhidWYpOworCQluZXh0ID0gcmVhZF9hdHRyKHBhdGhidWYuYnVmLCAwKTsKKworCQkvKiByZXNldCB0aGUgcGF0aGJ1ZiB0byBub3QgaW5jbHVkZSAiLy5naXRhdHRyaWJ1dGVzIiAqLworCQlzdHJidWZfc2V0bGVuKCZwYXRoYnVmLCBsZW4pOworCisJCW9yaWdpbiA9IHhzdHJkdXAocGF0aGJ1Zi5idWYpOworCQlwdXNoX3N0YWNrKHN0YWNrLCBuZXh0LCBvcmlnaW4sIGxlbik7CiAJfQogCiAJLyoKIAkgKiBGaW5hbGx5IHB1c2ggdGhlICJpbmZvIiBvbmUgYXQgdGhlIHRvcCBvZiB0aGUgc3RhY2suCiAJICovCi0JaW5mby0+cHJldiA9IGF0dHJfc3RhY2s7Ci0JYXR0cl9zdGFjayA9IGluZm87CisJcHVzaF9zdGFjayhzdGFjaywgaW5mbywgTlVMTCwgMCk7CisKKwlzdHJidWZfcmVsZWFzZSgmcGF0aGJ1Zik7CiB9CiAKIHN0YXRpYyBpbnQgcGF0aF9tYXRjaGVzKGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgcGF0aGxlbiwKQEAgLTY1NiwxNiArMTAxMywxNiBAQAogCQkJICAgICAgcGF0dGVybiwgcHJlZml4LCBwYXQtPnBhdHRlcm5sZW4sIHBhdC0+ZmxhZ3MpOwogfQogCi1zdGF0aWMgaW50IG1hY3JvZXhwYW5kX29uZShpbnQgYXR0cl9uciwgaW50IHJlbSk7CitzdGF0aWMgaW50IG1hY3JvZXhwYW5kX29uZShzdHJ1Y3QgYWxsX2F0dHJzX2l0ZW0gKmFsbF9hdHRycywgaW50IG5yLCBpbnQgcmVtKTsKIAotc3RhdGljIGludCBmaWxsX29uZShjb25zdCBjaGFyICp3aGF0LCBzdHJ1Y3QgbWF0Y2hfYXR0ciAqYSwgaW50IHJlbSkKK3N0YXRpYyBpbnQgZmlsbF9vbmUoY29uc3QgY2hhciAqd2hhdCwgc3RydWN0IGFsbF9hdHRyc19pdGVtICphbGxfYXR0cnMsCisJCSAgICBjb25zdCBzdHJ1Y3QgbWF0Y2hfYXR0ciAqYSwgaW50IHJlbSkKIHsKLQlzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgKmNoZWNrID0gY2hlY2tfYWxsX2F0dHI7CiAJaW50IGk7CiAKLQlmb3IgKGkgPSBhLT5udW1fYXR0ciAtIDE7IDAgPCByZW0gJiYgMCA8PSBpOyBpLS0pIHsKLQkJc3RydWN0IGdpdF9hdHRyICphdHRyID0gYS0+c3RhdGVbaV0uYXR0cjsKLQkJY29uc3QgY2hhciAqKm4gPSAmKGNoZWNrW2F0dHItPmF0dHJfbnJdLnZhbHVlKTsKKwlmb3IgKGkgPSBhLT5udW1fYXR0ciAtIDE7IHJlbSA+IDAgJiYgaSA+PSAwOyBpLS0pIHsKKwkJY29uc3Qgc3RydWN0IGdpdF9hdHRyICphdHRyID0gYS0+c3RhdGVbaV0uYXR0cjsKKwkJY29uc3QgY2hhciAqKm4gPSAmKGFsbF9hdHRyc1thdHRyLT5hdHRyX25yXS52YWx1ZSk7CiAJCWNvbnN0IGNoYXIgKnYgPSBhLT5zdGF0ZVtpXS5zZXR0bzsKIAogCQlpZiAoKm4gPT0gQVRUUl9fVU5LTk9XTikgewpAQCAtNjc0LDY0ICsxMDMxLDcyIEBACiAJCQkJICBhdHRyLCB2KTsKIAkJCSpuID0gdjsKIAkJCXJlbS0tOwotCQkJcmVtID0gbWFjcm9leHBhbmRfb25lKGF0dHItPmF0dHJfbnIsIHJlbSk7CisJCQlyZW0gPSBtYWNyb2V4cGFuZF9vbmUoYWxsX2F0dHJzLCBhdHRyLT5hdHRyX25yLCByZW0pOwogCQl9CiAJfQogCXJldHVybiByZW07CiB9CiAKIHN0YXRpYyBpbnQgZmlsbChjb25zdCBjaGFyICpwYXRoLCBpbnQgcGF0aGxlbiwgaW50IGJhc2VuYW1lX29mZnNldCwKLQkJc3RydWN0IGF0dHJfc3RhY2sgKnN0aywgaW50IHJlbSkKKwkJY29uc3Qgc3RydWN0IGF0dHJfc3RhY2sgKnN0YWNrLAorCQlzdHJ1Y3QgYWxsX2F0dHJzX2l0ZW0gKmFsbF9hdHRycywgaW50IHJlbSkKIHsKLQlpbnQgaTsKLQljb25zdCBjaGFyICpiYXNlID0gc3RrLT5vcmlnaW4gPyBzdGstPm9yaWdpbiA6ICIiOworCWZvciAoOyByZW0gPiAwICYmIHN0YWNrOyBzdGFjayA9IHN0YWNrLT5wcmV2KSB7CisJCWludCBpOworCQljb25zdCBjaGFyICpiYXNlID0gc3RhY2stPm9yaWdpbiA/IHN0YWNrLT5vcmlnaW4gOiAiIjsKIAotCWZvciAoaSA9IHN0ay0+bnVtX21hdGNoZXMgLSAxOyAwIDwgcmVtICYmIDAgPD0gaTsgaS0tKSB7Ci0JCXN0cnVjdCBtYXRjaF9hdHRyICphID0gc3RrLT5hdHRyc1tpXTsKLQkJaWYgKGEtPmlzX21hY3JvKQotCQkJY29udGludWU7Ci0JCWlmIChwYXRoX21hdGNoZXMocGF0aCwgcGF0aGxlbiwgYmFzZW5hbWVfb2Zmc2V0LAotCQkJCSAmYS0+dS5wYXQsIGJhc2UsIHN0ay0+b3JpZ2lubGVuKSkKLQkJCXJlbSA9IGZpbGxfb25lKCJmaWxsIiwgYSwgcmVtKTsKKwkJZm9yIChpID0gc3RhY2stPm51bV9tYXRjaGVzIC0gMTsgMCA8IHJlbSAmJiAwIDw9IGk7IGktLSkgeworCQkJY29uc3Qgc3RydWN0IG1hdGNoX2F0dHIgKmEgPSBzdGFjay0+YXR0cnNbaV07CisJCQlpZiAoYS0+aXNfbWFjcm8pCisJCQkJY29udGludWU7CisJCQlpZiAocGF0aF9tYXRjaGVzKHBhdGgsIHBhdGhsZW4sIGJhc2VuYW1lX29mZnNldCwKKwkJCQkJICZhLT51LnBhdCwgYmFzZSwgc3RhY2stPm9yaWdpbmxlbikpCisJCQkJcmVtID0gZmlsbF9vbmUoImZpbGwiLCBhbGxfYXR0cnMsIGEsIHJlbSk7CisJCX0KIAl9CisKIAlyZXR1cm4gcmVtOwogfQogCi1zdGF0aWMgaW50IG1hY3JvZXhwYW5kX29uZShpbnQgbnIsIGludCByZW0pCitzdGF0aWMgaW50IG1hY3JvZXhwYW5kX29uZShzdHJ1Y3QgYWxsX2F0dHJzX2l0ZW0gKmFsbF9hdHRycywgaW50IG5yLCBpbnQgcmVtKQogewotCXN0cnVjdCBhdHRyX3N0YWNrICpzdGs7Ci0Jc3RydWN0IG1hdGNoX2F0dHIgKmEgPSBOVUxMOwotCWludCBpOworCWNvbnN0IHN0cnVjdCBhbGxfYXR0cnNfaXRlbSAqaXRlbSA9ICZhbGxfYXR0cnNbbnJdOwogCi0JaWYgKGNoZWNrX2FsbF9hdHRyW25yXS52YWx1ZSAhPSBBVFRSX19UUlVFIHx8Ci0JICAgICFjaGVja19hbGxfYXR0cltucl0uYXR0ci0+bWF5YmVfbWFjcm8pCisJaWYgKGl0ZW0tPm1hY3JvICYmIGl0ZW0tPnZhbHVlID09IEFUVFJfX1RSVUUpCisJCXJldHVybiBmaWxsX29uZSgiZXhwYW5kIiwgYWxsX2F0dHJzLCBpdGVtLT5tYWNybywgcmVtKTsKKwllbHNlCiAJCXJldHVybiByZW07Ci0KLQlmb3IgKHN0ayA9IGF0dHJfc3RhY2s7ICFhICYmIHN0azsgc3RrID0gc3RrLT5wcmV2KQotCQlmb3IgKGkgPSBzdGstPm51bV9tYXRjaGVzIC0gMTsgIWEgJiYgMCA8PSBpOyBpLS0pIHsKLQkJCXN0cnVjdCBtYXRjaF9hdHRyICptYSA9IHN0ay0+YXR0cnNbaV07Ci0JCQlpZiAoIW1hLT5pc19tYWNybykKLQkJCQljb250aW51ZTsKLQkJCWlmIChtYS0+dS5hdHRyLT5hdHRyX25yID09IG5yKQotCQkJCWEgPSBtYTsKLQkJfQotCi0JaWYgKGEpCi0JCXJlbSA9IGZpbGxfb25lKCJleHBhbmQiLCBhLCByZW0pOwotCi0JcmV0dXJuIHJlbTsKIH0KIAogLyoKLSAqIENvbGxlY3QgYXR0cmlidXRlcyBmb3IgcGF0aCBpbnRvIHRoZSBhcnJheSBwb2ludGVkIHRvIGJ5Ci0gKiBjaGVja19hbGxfYXR0ci4gSWYgbnVtIGlzIG5vbi16ZXJvLCBvbmx5IGF0dHJpYnV0ZXMgaW4gY2hlY2tbXSBhcmUKLSAqIGNvbGxlY3RlZC4gT3RoZXJ3aXNlIGFsbCBhdHRyaWJ1dGVzIGFyZSBjb2xsZWN0ZWQuCisgKiBNYXJrcyB0aGUgYXR0cmlidXRlcyB3aGljaCBhcmUgbWFjcm9zIGJhc2VkIG9uIHRoZSBhdHRyaWJ1dGUgc3RhY2suCisgKiBUaGlzIHByZXZlbnRzIGhhdmluZyB0byBzZWFyY2ggdGhyb3VnaCB0aGUgYXR0cmlidXRlIHN0YWNrIGVhY2ggdGltZQorICogYSBtYWNybyBuZWVkcyB0byBiZSBleHBhbmRlZCBkdXJpbmcgdGhlIGZpbGwgc3RhZ2UuCiAgKi8KLXN0YXRpYyB2b2lkIGNvbGxlY3Rfc29tZV9hdHRycyhjb25zdCBjaGFyICpwYXRoLCBpbnQgbnVtLAotCQkJICAgICAgIHN0cnVjdCBnaXRfYXR0cl9jaGVjayAqY2hlY2spCi0KK3N0YXRpYyB2b2lkIGRldGVybWluZV9tYWNyb3Moc3RydWN0IGFsbF9hdHRyc19pdGVtICphbGxfYXR0cnMsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBhdHRyX3N0YWNrICpzdGFjaykKIHsKLQlzdHJ1Y3QgYXR0cl9zdGFjayAqc3RrOworCWZvciAoOyBzdGFjazsgc3RhY2sgPSBzdGFjay0+cHJldikgeworCQlpbnQgaTsKKwkJZm9yIChpID0gc3RhY2stPm51bV9tYXRjaGVzIC0gMTsgaSA+PSAwOyBpLS0pIHsKKwkJCWNvbnN0IHN0cnVjdCBtYXRjaF9hdHRyICptYSA9IHN0YWNrLT5hdHRyc1tpXTsKKwkJCWlmIChtYS0+aXNfbWFjcm8pIHsKKwkJCQlpbnQgbiA9IG1hLT51LmF0dHItPmF0dHJfbnI7CisJCQkJaWYgKCFhbGxfYXR0cnNbbl0ubWFjcm8pIHsKKwkJCQkJYWxsX2F0dHJzW25dLm1hY3JvID0gbWE7CisJCQkJfQorCQkJfQorCQl9CisJfQorfQorCisvKgorICogQ29sbGVjdCBhdHRyaWJ1dGVzIGZvciBwYXRoIGludG8gdGhlIGFycmF5IHBvaW50ZWQgdG8gYnkgY2hlY2stPmFsbF9hdHRycy4KKyAqIElmIGNoZWNrLT5jaGVja19uciBpcyBub24temVybywgb25seSBhdHRyaWJ1dGVzIGluIGNoZWNrW10gYXJlIGNvbGxlY3RlZC4KKyAqIE90aGVyd2lzZSBhbGwgYXR0cmlidXRlcyBhcmUgY29sbGVjdGVkLgorICovCitzdGF0aWMgdm9pZCBjb2xsZWN0X3NvbWVfYXR0cnMoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrKQorewogCWludCBpLCBwYXRobGVuLCByZW0sIGRpcmxlbjsKIAljb25zdCBjaGFyICpjcCwgKmxhc3Rfc2xhc2ggPSBOVUxMOwogCWludCBiYXNlbmFtZV9vZmZzZXQ7CkBAIC03NDksODEgKzExMTQsNjcgQEAKIAkJZGlybGVuID0gMDsKIAl9CiAKLQlwcmVwYXJlX2F0dHJfc3RhY2socGF0aCwgZGlybGVuKTsKLQlmb3IgKGkgPSAwOyBpIDwgYXR0cl9ucjsgaSsrKQotCQljaGVja19hbGxfYXR0cltpXS52YWx1ZSA9IEFUVFJfX1VOS05PV047Ci0JaWYgKG51bSAmJiAhY2Fubm90X3RydXN0X21heWJlX3JlYWwpIHsKKwlwcmVwYXJlX2F0dHJfc3RhY2socGF0aCwgZGlybGVuLCAmY2hlY2stPnN0YWNrKTsKKwlhbGxfYXR0cnNfaW5pdCgmZ19hdHRyX2hhc2htYXAsIGNoZWNrKTsKKwlkZXRlcm1pbmVfbWFjcm9zKGNoZWNrLT5hbGxfYXR0cnMsIGNoZWNrLT5zdGFjayk7CisKKwlpZiAoY2hlY2stPm5yKSB7CiAJCXJlbSA9IDA7Ci0JCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgewotCQkJaWYgKCFjaGVja1tpXS5hdHRyLT5tYXliZV9yZWFsKSB7Ci0JCQkJc3RydWN0IGdpdF9hdHRyX2NoZWNrICpjOwotCQkJCWMgPSBjaGVja19hbGxfYXR0ciArIGNoZWNrW2ldLmF0dHItPmF0dHJfbnI7Ci0JCQkJYy0+dmFsdWUgPSBBVFRSX19VTlNFVDsKKwkJZm9yIChpID0gMDsgaSA8IGNoZWNrLT5ucjsgaSsrKSB7CisJCQlpbnQgbiA9IGNoZWNrLT5pdGVtc1tpXS5hdHRyLT5hdHRyX25yOworCQkJc3RydWN0IGFsbF9hdHRyc19pdGVtICppdGVtID0gJmNoZWNrLT5hbGxfYXR0cnNbbl07CisJCQlpZiAoaXRlbS0+bWFjcm8pIHsKKwkJCQlpdGVtLT52YWx1ZSA9IEFUVFJfX1VOU0VUOwogCQkJCXJlbSsrOwogCQkJfQogCQl9Ci0JCWlmIChyZW0gPT0gbnVtKQorCQlpZiAocmVtID09IGNoZWNrLT5ucikKIAkJCXJldHVybjsKIAl9CiAKLQlyZW0gPSBhdHRyX25yOwotCWZvciAoc3RrID0gYXR0cl9zdGFjazsgMCA8IHJlbSAmJiBzdGs7IHN0ayA9IHN0ay0+cHJldikKLQkJcmVtID0gZmlsbChwYXRoLCBwYXRobGVuLCBiYXNlbmFtZV9vZmZzZXQsIHN0aywgcmVtKTsKKwlyZW0gPSBjaGVjay0+YWxsX2F0dHJzX25yOworCWZpbGwocGF0aCwgcGF0aGxlbiwgYmFzZW5hbWVfb2Zmc2V0LCBjaGVjay0+c3RhY2ssIGNoZWNrLT5hbGxfYXR0cnMsIHJlbSk7CiB9CiAKLWludCBnaXRfY2hlY2tfYXR0cihjb25zdCBjaGFyICpwYXRoLCBpbnQgbnVtLCBzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgKmNoZWNrKQoraW50IGdpdF9jaGVja19hdHRyKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBhdHRyX2NoZWNrICpjaGVjaykKIHsKIAlpbnQgaTsKIAotCWNvbGxlY3Rfc29tZV9hdHRycyhwYXRoLCBudW0sIGNoZWNrKTsKKwljb2xsZWN0X3NvbWVfYXR0cnMocGF0aCwgY2hlY2spOwogCi0JZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7Ci0JCWNvbnN0IGNoYXIgKnZhbHVlID0gY2hlY2tfYWxsX2F0dHJbY2hlY2tbaV0uYXR0ci0+YXR0cl9ucl0udmFsdWU7CisJZm9yIChpID0gMDsgaSA8IGNoZWNrLT5ucjsgaSsrKSB7CisJCXNpemVfdCBuID0gY2hlY2stPml0ZW1zW2ldLmF0dHItPmF0dHJfbnI7CisJCWNvbnN0IGNoYXIgKnZhbHVlID0gY2hlY2stPmFsbF9hdHRyc1tuXS52YWx1ZTsKIAkJaWYgKHZhbHVlID09IEFUVFJfX1VOS05PV04pCiAJCQl2YWx1ZSA9IEFUVFJfX1VOU0VUOwotCQljaGVja1tpXS52YWx1ZSA9IHZhbHVlOworCQljaGVjay0+aXRlbXNbaV0udmFsdWUgPSB2YWx1ZTsKIAl9CiAKIAlyZXR1cm4gMDsKIH0KIAotaW50IGdpdF9hbGxfYXR0cnMoY29uc3QgY2hhciAqcGF0aCwgaW50ICpudW0sIHN0cnVjdCBnaXRfYXR0cl9jaGVjayAqKmNoZWNrKQordm9pZCBnaXRfYWxsX2F0dHJzKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBhdHRyX2NoZWNrICpjaGVjaykKIHsKLQlpbnQgaSwgY291bnQsIGo7CisJaW50IGk7CiAKLQljb2xsZWN0X3NvbWVfYXR0cnMocGF0aCwgMCwgTlVMTCk7CisJYXR0cl9jaGVja19yZXNldChjaGVjayk7CisJY29sbGVjdF9zb21lX2F0dHJzKHBhdGgsIGNoZWNrKTsKIAotCS8qIENvdW50IHRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyB0aGF0IGFyZSBzZXQuICovCi0JY291bnQgPSAwOwotCWZvciAoaSA9IDA7IGkgPCBhdHRyX25yOyBpKyspIHsKLQkJY29uc3QgY2hhciAqdmFsdWUgPSBjaGVja19hbGxfYXR0cltpXS52YWx1ZTsKLQkJaWYgKHZhbHVlICE9IEFUVFJfX1VOU0VUICYmIHZhbHVlICE9IEFUVFJfX1VOS05PV04pCi0JCQkrK2NvdW50OworCWZvciAoaSA9IDA7IGkgPCBjaGVjay0+YWxsX2F0dHJzX25yOyBpKyspIHsKKwkJY29uc3QgY2hhciAqbmFtZSA9IGNoZWNrLT5hbGxfYXR0cnNbaV0uYXR0ci0+bmFtZTsKKwkJY29uc3QgY2hhciAqdmFsdWUgPSBjaGVjay0+YWxsX2F0dHJzW2ldLnZhbHVlOworCQlzdHJ1Y3QgYXR0cl9jaGVja19pdGVtICppdGVtOworCQlpZiAodmFsdWUgPT0gQVRUUl9fVU5TRVQgfHwgdmFsdWUgPT0gQVRUUl9fVU5LTk9XTikKKwkJCWNvbnRpbnVlOworCQlpdGVtID0gYXR0cl9jaGVja19hcHBlbmQoY2hlY2ssIGdpdF9hdHRyKG5hbWUpKTsKKwkJaXRlbS0+dmFsdWUgPSB2YWx1ZTsKIAl9Ci0JKm51bSA9IGNvdW50OwotCUFMTE9DX0FSUkFZKCpjaGVjaywgY291bnQpOwotCWogPSAwOwotCWZvciAoaSA9IDA7IGkgPCBhdHRyX25yOyBpKyspIHsKLQkJY29uc3QgY2hhciAqdmFsdWUgPSBjaGVja19hbGxfYXR0cltpXS52YWx1ZTsKLQkJaWYgKHZhbHVlICE9IEFUVFJfX1VOU0VUICYmIHZhbHVlICE9IEFUVFJfX1VOS05PV04pIHsKLQkJCSgqY2hlY2spW2pdLmF0dHIgPSBjaGVja19hbGxfYXR0cltpXS5hdHRyOwotCQkJKCpjaGVjaylbal0udmFsdWUgPSB2YWx1ZTsKLQkJCSsrajsKLQkJfQotCX0KLQotCXJldHVybiAwOwogfQogCi12b2lkIGdpdF9hdHRyX3NldF9kaXJlY3Rpb24oZW51bSBnaXRfYXR0cl9kaXJlY3Rpb24gbmV3LCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKK3ZvaWQgYXR0cl9zdGFydCh2b2lkKQogewotCWVudW0gZ2l0X2F0dHJfZGlyZWN0aW9uIG9sZCA9IGRpcmVjdGlvbjsKLQotCWlmIChpc19iYXJlX3JlcG9zaXRvcnkoKSAmJiBuZXcgIT0gR0lUX0FUVFJfSU5ERVgpCi0JCWRpZSgiQlVHOiBub24tSU5ERVggYXR0ciBkaXJlY3Rpb24gaW4gYSBiYXJlIHJlcG8iKTsKLQotCWRpcmVjdGlvbiA9IG5ldzsKLQlpZiAobmV3ICE9IG9sZCkKLQkJZHJvcF9hdHRyX3N0YWNrKCk7Ci0JdXNlX2luZGV4ID0gaXN0YXRlOworI2lmbmRlZiBOT19QVEhSRUFEUworCXB0aHJlYWRfbXV0ZXhfaW5pdCgmZ19hdHRyX2hhc2htYXAubXV0ZXgsIE5VTEwpOworCXB0aHJlYWRfbXV0ZXhfaW5pdCgmY2hlY2tfdmVjdG9yLm11dGV4LCBOVUxMKTsKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvYXR0ci5oIGIvYXR0ci5oCmluZGV4IDhiMDhkMzMuLjQ0MmQ0NjQgMTAwNjQ0Ci0tLSBhL2F0dHIuaAorKysgYi9hdHRyLmgKQEAgLTQsMTEgKzQsMTUgQEAKIC8qIEFuIGF0dHJpYnV0ZSBpcyBhIHBvaW50ZXIgdG8gdGhpcyBvcGFxdWUgc3RydWN0dXJlICovCiBzdHJ1Y3QgZ2l0X2F0dHI7CiAKKy8qIG9wYXF1ZSBzdHJ1Y3R1cmVzIHVzZWQgaW50ZXJuYWxseSBmb3IgYXR0cmlidXRlIGNvbGxlY3Rpb24gKi8KK3N0cnVjdCBhbGxfYXR0cnNfaXRlbTsKK3N0cnVjdCBhdHRyX3N0YWNrOworCiAvKgogICogR2l2ZW4gYSBzdHJpbmcsIHJldHVybiB0aGUgZ2l0YXR0cmlidXRlIG9iamVjdCB0aGF0CiAgKiBjb3JyZXNwb25kcyB0byBpdC4KICAqLwotc3RydWN0IGdpdF9hdHRyICpnaXRfYXR0cihjb25zdCBjaGFyICopOworY29uc3Qgc3RydWN0IGdpdF9hdHRyICpnaXRfYXR0cihjb25zdCBjaGFyICopOwogCiAvKiBJbnRlcm5hbCB1c2UgKi8KIGV4dGVybiBjb25zdCBjaGFyIGdpdF9hdHRyX190cnVlW107CkBAIC0yMCwzOCArMjQsNTggQEAKICNkZWZpbmUgQVRUUl9VTlNFVCh2KSAoKHYpID09IE5VTEwpCiAKIC8qCi0gKiBTZW5kIG9uZSBvciBtb3JlIGdpdF9hdHRyX2NoZWNrIHRvIGdpdF9jaGVja19hdHRyKCksIGFuZAorICogU2VuZCBvbmUgb3IgbW9yZSBnaXRfYXR0cl9jaGVjayB0byBnaXRfY2hlY2tfYXR0cnMoKSwgYW5kCiAgKiBlYWNoICd2YWx1ZScgbWVtYmVyIHRlbGxzIHdoYXQgaXRzIHZhbHVlIGlzLgogICogVW5zZXQgb25lIGlzIHJldHVybmVkIGFzIE5VTEwuCiAgKi8KLXN0cnVjdCBnaXRfYXR0cl9jaGVjayB7Ci0Jc3RydWN0IGdpdF9hdHRyICphdHRyOworc3RydWN0IGF0dHJfY2hlY2tfaXRlbSB7CisJY29uc3Qgc3RydWN0IGdpdF9hdHRyICphdHRyOwogCWNvbnN0IGNoYXIgKnZhbHVlOwogfTsKIAorc3RydWN0IGF0dHJfY2hlY2sgeworCWludCBucjsKKwlpbnQgYWxsb2M7CisJc3RydWN0IGF0dHJfY2hlY2tfaXRlbSAqaXRlbXM7CisJaW50IGFsbF9hdHRyc19ucjsKKwlzdHJ1Y3QgYWxsX2F0dHJzX2l0ZW0gKmFsbF9hdHRyczsKKwlzdHJ1Y3QgYXR0cl9zdGFjayAqc3RhY2s7Cit9OworCitleHRlcm4gc3RydWN0IGF0dHJfY2hlY2sgKmF0dHJfY2hlY2tfYWxsb2Modm9pZCk7CitleHRlcm4gc3RydWN0IGF0dHJfY2hlY2sgKmF0dHJfY2hlY2tfaW5pdGwoY29uc3QgY2hhciAqLCAuLi4pOworZXh0ZXJuIHN0cnVjdCBhdHRyX2NoZWNrICphdHRyX2NoZWNrX2R1cChjb25zdCBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spOworCitleHRlcm4gc3RydWN0IGF0dHJfY2hlY2tfaXRlbSAqYXR0cl9jaGVja19hcHBlbmQoc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrLAorCQkJCQkJIGNvbnN0IHN0cnVjdCBnaXRfYXR0ciAqYXR0cik7CisKK2V4dGVybiB2b2lkIGF0dHJfY2hlY2tfcmVzZXQoc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrKTsKK2V4dGVybiB2b2lkIGF0dHJfY2hlY2tfY2xlYXIoc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrKTsKK2V4dGVybiB2b2lkIGF0dHJfY2hlY2tfZnJlZShzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spOworCiAvKgogICogUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgcmVwcmVzZW50ZWQgYnkgdGhlIGFyZ3VtZW50LiAgVGhlCiAgKiByZXR1cm4gdmFsdWUgaXMgYSBwb2ludGVyIHRvIGEgbnVsbC1kZWxpbWl0ZWQgc3RyaW5nIHRoYXQgaXMgcGFydAogICogb2YgdGhlIGludGVybmFsIGRhdGEgc3RydWN0dXJlOyBpdCBzaG91bGQgbm90IGJlIG1vZGlmaWVkIG9yIGZyZWVkLgogICovCi1jaGFyICpnaXRfYXR0cl9uYW1lKHN0cnVjdCBnaXRfYXR0ciAqKTsKK2V4dGVybiBjb25zdCBjaGFyICpnaXRfYXR0cl9uYW1lKGNvbnN0IHN0cnVjdCBnaXRfYXR0ciAqKTsKIAotaW50IGdpdF9jaGVja19hdHRyKGNvbnN0IGNoYXIgKnBhdGgsIGludCwgc3RydWN0IGdpdF9hdHRyX2NoZWNrICopOworZXh0ZXJuIGludCBnaXRfY2hlY2tfYXR0cihjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spOwogCiAvKgotICogUmV0cmlldmUgYWxsIGF0dHJpYnV0ZXMgdGhhdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIHBhdGguICAqbnVtCi0gKiB3aWxsIGJlIHNldCB0byB0aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgb24gdGhlIHBhdGg7ICoqY2hlY2sgd2lsbAotICogYmUgc2V0IHRvIHBvaW50IGF0IGEgbmV3bHktYWxsb2NhdGVkIGFycmF5IG9mIGdpdF9hdHRyX2NoZWNrCi0gKiBvYmplY3RzIGRlc2NyaWJpbmcgdGhlIGF0dHJpYnV0ZXMgYW5kIHRoZWlyIHZhbHVlcy4gICpjaGVjayBtdXN0IGJlCi0gKiBmcmVlKCllZCBieSB0aGUgY2FsbGVyLgorICogUmV0cmlldmUgYWxsIGF0dHJpYnV0ZXMgdGhhdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIHBhdGguCisgKiBjaGVjayBob2xkcyB0aGUgYXR0cmlidXRlcyBhbmQgdGhlaXIgdmFsdWVzLgogICovCi1pbnQgZ2l0X2FsbF9hdHRycyhjb25zdCBjaGFyICpwYXRoLCBpbnQgKm51bSwgc3RydWN0IGdpdF9hdHRyX2NoZWNrICoqY2hlY2spOworZXh0ZXJuIHZvaWQgZ2l0X2FsbF9hdHRycyhjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2spOwogCiBlbnVtIGdpdF9hdHRyX2RpcmVjdGlvbiB7CiAJR0lUX0FUVFJfQ0hFQ0tJTiwKIAlHSVRfQVRUUl9DSEVDS09VVCwKIAlHSVRfQVRUUl9JTkRFWAogfTsKLXZvaWQgZ2l0X2F0dHJfc2V0X2RpcmVjdGlvbihlbnVtIGdpdF9hdHRyX2RpcmVjdGlvbiwgc3RydWN0IGluZGV4X3N0YXRlICopOwordm9pZCBnaXRfYXR0cl9zZXRfZGlyZWN0aW9uKGVudW0gZ2l0X2F0dHJfZGlyZWN0aW9uIG5ld19kaXJlY3Rpb24sCisJCQkgICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpOworCitleHRlcm4gdm9pZCBhdHRyX3N0YXJ0KHZvaWQpOwogCiAjZW5kaWYgLyogQVRUUl9IICovCmRpZmYgLS1naXQgYS9iaXNlY3QuYyBiL2Jpc2VjdC5jCmluZGV4IDMwODA4Y2EuLjk2YmVlYjUgMTAwNjQ0Ci0tLSBhL2Jpc2VjdC5jCisrKyBiL2Jpc2VjdC5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAiZGlmZi5oIgogI2luY2x1ZGUgInJldmlzaW9uLmgiCkBAIC0xMiw4ICsxMyw4IEBACiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKIAotc3RhdGljIHN0cnVjdCBzaGExX2FycmF5IGdvb2RfcmV2czsKLXN0YXRpYyBzdHJ1Y3Qgc2hhMV9hcnJheSBza2lwcGVkX3JldnM7CitzdGF0aWMgc3RydWN0IG9pZF9hcnJheSBnb29kX3JldnM7CitzdGF0aWMgc3RydWN0IG9pZF9hcnJheSBza2lwcGVkX3JldnM7CiAKIHN0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2lkICpjdXJyZW50X2JhZF9vaWQ7CiAKQEAgLTIwMCw2ICsyMDEsNyBAQAogewogCXN0cnVjdCBjb21taXRfbGlzdCAqcDsKIAlzdHJ1Y3QgY29tbWl0X2Rpc3QgKmFycmF5ID0geGNhbGxvYyhuciwgc2l6ZW9mKCphcnJheSkpOworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJaW50IGNudCwgaTsKIAogCWZvciAocCA9IGxpc3QsIGNudCA9IDA7IHA7IHAgPSBwLT5uZXh0KSB7CkBAIC0yMTcsMTcgKzIxOSwxOCBAQAogCX0KIAlRU09SVChhcnJheSwgY250LCBjb21wYXJlX2NvbW1pdF9kaXN0KTsKIAlmb3IgKHAgPSBsaXN0LCBpID0gMDsgaSA8IGNudDsgaSsrKSB7Ci0JCWNoYXIgYnVmWzEwMF07IC8qIGVub3VnaCBmb3IgZGlzdD0lZCAqLwogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSAmKGFycmF5W2ldLmNvbW1pdC0+b2JqZWN0KTsKIAotCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiZGlzdD0lZCIsIGFycmF5W2ldLmRpc3RhbmNlKTsKLQkJYWRkX25hbWVfZGVjb3JhdGlvbihERUNPUkFUSU9OX05PTkUsIGJ1Ziwgb2JqKTsKKwkJc3RyYnVmX3Jlc2V0KCZidWYpOworCQlzdHJidWZfYWRkZigmYnVmLCAiZGlzdD0lZCIsIGFycmF5W2ldLmRpc3RhbmNlKTsKKwkJYWRkX25hbWVfZGVjb3JhdGlvbihERUNPUkFUSU9OX05PTkUsIGJ1Zi5idWYsIG9iaik7CiAKIAkJcC0+aXRlbSA9IGFycmF5W2ldLmNvbW1pdDsKIAkJcCA9IHAtPm5leHQ7CiAJfQogCWlmIChwKQogCQlwLT5uZXh0ID0gTlVMTDsKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAlmcmVlKGFycmF5KTsKIAlyZXR1cm4gbGlzdDsKIH0KQEAgLTQxMyw5ICs0MTYsOSBAQAogCQljdXJyZW50X2JhZF9vaWQgPSB4bWFsbG9jKHNpemVvZigqY3VycmVudF9iYWRfb2lkKSk7CiAJCW9pZGNweShjdXJyZW50X2JhZF9vaWQsIG9pZCk7CiAJfSBlbHNlIGlmIChzdGFydHNfd2l0aChyZWZuYW1lLCBnb29kX3ByZWZpeC5idWYpKSB7Ci0JCXNoYTFfYXJyYXlfYXBwZW5kKCZnb29kX3JldnMsIG9pZC0+aGFzaCk7CisJCW9pZF9hcnJheV9hcHBlbmQoJmdvb2RfcmV2cywgb2lkKTsKIAl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJza2lwLSIpKSB7Ci0JCXNoYTFfYXJyYXlfYXBwZW5kKCZza2lwcGVkX3JldnMsIG9pZC0+aGFzaCk7CisJCW9pZF9hcnJheV9hcHBlbmQoJnNraXBwZWRfcmV2cywgb2lkKTsKIAl9CiAKIAlzdHJidWZfcmVsZWFzZSgmZ29vZF9wcmVmaXgpOwpAQCAtNDMwLDE1ICs0MzMsMTMgQEAKIAogc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfYmlzZWN0X25hbWVzLCAiQklTRUNUX05BTUVTIikKIHN0YXRpYyBHSVRfUEFUSF9GVU5DKGdpdF9wYXRoX2Jpc2VjdF9leHBlY3RlZF9yZXYsICJCSVNFQ1RfRVhQRUNURURfUkVWIikKK3N0YXRpYyBHSVRfUEFUSF9GVU5DKGdpdF9wYXRoX2Jpc2VjdF90ZXJtcywgIkJJU0VDVF9URVJNUyIpCiAKIHN0YXRpYyB2b2lkIHJlYWRfYmlzZWN0X3BhdGhzKHN0cnVjdCBhcmd2X2FycmF5ICphcnJheSkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHN0ciA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gZ2l0X3BhdGhfYmlzZWN0X25hbWVzKCk7Ci0JRklMRSAqZnAgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKLQotCWlmICghZnApCi0JCWRpZV9lcnJubyhfKCJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciKSwgZmlsZW5hbWUpOworCUZJTEUgKmZwID0geGZvcGVuKGZpbGVuYW1lLCAiciIpOwogCiAJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lX2xmKCZzdHIsIGZwKSAhPSBFT0YpIHsKIAkJc3RyYnVmX3RyaW0oJnN0cik7CkBAIC00NTEsMTMgKzQ1MiwxMyBAQAogCWZjbG9zZShmcCk7CiB9CiAKLXN0YXRpYyBjaGFyICpqb2luX3NoYTFfYXJyYXlfaGV4KHN0cnVjdCBzaGExX2FycmF5ICphcnJheSwgY2hhciBkZWxpbSkKK3N0YXRpYyBjaGFyICpqb2luX3NoYTFfYXJyYXlfaGV4KHN0cnVjdCBvaWRfYXJyYXkgKmFycmF5LCBjaGFyIGRlbGltKQogewogCXN0cnVjdCBzdHJidWYgam9pbmVkX2hleHMgPSBTVFJCVUZfSU5JVDsKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBhcnJheS0+bnI7IGkrKykgewotCQlzdHJidWZfYWRkc3RyKCZqb2luZWRfaGV4cywgc2hhMV90b19oZXgoYXJyYXktPnNoYTFbaV0pKTsKKwkJc3RyYnVmX2FkZHN0cigmam9pbmVkX2hleHMsIG9pZF90b19oZXgoYXJyYXktPm9pZCArIGkpKTsKIAkJaWYgKGkgKyAxIDwgYXJyYXktPm5yKQogCQkJc3RyYnVmX2FkZGNoKCZqb2luZWRfaGV4cywgZGVsaW0pOwogCX0KQEAgLTQ5OSw4ICs1MDAsNyBAQAogCXdoaWxlIChsaXN0KSB7CiAJCXN0cnVjdCBjb21taXRfbGlzdCAqbmV4dCA9IGxpc3QtPm5leHQ7CiAJCWxpc3QtPm5leHQgPSBOVUxMOwotCQlpZiAoMCA8PSBzaGExX2FycmF5X2xvb2t1cCgmc2tpcHBlZF9yZXZzLAotCQkJCQkgICBsaXN0LT5pdGVtLT5vYmplY3Qub2lkLmhhc2gpKSB7CisJCWlmICgwIDw9IG9pZF9hcnJheV9sb29rdXAoJnNraXBwZWRfcmV2cywgJmxpc3QtPml0ZW0tPm9iamVjdC5vaWQpKSB7CiAJCQlpZiAoc2tpcHBlZF9maXJzdCAmJiAhKnNraXBwZWRfZmlyc3QpCiAJCQkJKnNraXBwZWRfZmlyc3QgPSAxOwogCQkJLyogTW92ZSBjdXJyZW50IHRvIHRyaWVkIGxpc3QgKi8KQEAgLTU0NCw3ICs1NDQsNyBAQAogCiAvKgogICogQ3VzdG9tIGludGVnZXIgc3F1YXJlIHJvb3QgZnJvbQotICogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlZ2VyX3NxdWFyZV9yb290CisgKiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlZ2VyX3NxdWFyZV9yb290CiAgKi8KIHN0YXRpYyBpbnQgc3FydGkoaW50IHZhbCkKIHsKQEAgLTYyMSw3ICs2MjEsNyBAQAogCWFyZ3ZfYXJyYXlfcHVzaGYoJnJldl9hcmd2LCBiYWRfZm9ybWF0LCBvaWRfdG9faGV4KGN1cnJlbnRfYmFkX29pZCkpOwogCWZvciAoaSA9IDA7IGkgPCBnb29kX3JldnMubnI7IGkrKykKIAkJYXJndl9hcnJheV9wdXNoZigmcmV2X2FyZ3YsIGdvb2RfZm9ybWF0LAotCQkJCSBzaGExX3RvX2hleChnb29kX3JldnMuc2hhMVtpXSkpOworCQkJCSBvaWRfdG9faGV4KGdvb2RfcmV2cy5vaWQgKyBpKSk7CiAJYXJndl9hcnJheV9wdXNoKCZyZXZfYXJndiwgIi0tIik7CiAJaWYgKHJlYWRfcGF0aHMpCiAJCXJlYWRfYmlzZWN0X3BhdGhzKCZyZXZfYXJndik7CkBAIC02NjcsNyArNjY3LDcgQEAKIAlpZiAoc3RhdChmaWxlbmFtZSwgJnN0KSB8fCAhU19JU1JFRyhzdC5zdF9tb2RlKSkKIAkJcmV0dXJuIDA7CiAKLQlmcCA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOworCWZwID0gZm9wZW5fb3Jfd2FybihmaWxlbmFtZSwgInIiKTsKIAlpZiAoIWZwKQogCQlyZXR1cm4gMDsKIApAQCAtNjgwLDE2ICs2ODAsMTYgQEAKIAlyZXR1cm4gcmVzOwogfQogCi1zdGF0aWMgaW50IGJpc2VjdF9jaGVja291dChjb25zdCB1bnNpZ25lZCBjaGFyICpiaXNlY3RfcmV2LCBpbnQgbm9fY2hlY2tvdXQpCitzdGF0aWMgaW50IGJpc2VjdF9jaGVja291dChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiaXNlY3RfcmV2LCBpbnQgbm9fY2hlY2tvdXQpCiB7Ci0JY2hhciBiaXNlY3RfcmV2X2hleFtHSVRfU0hBMV9IRVhTWiArIDFdOworCWNoYXIgYmlzZWN0X3Jldl9oZXhbR0lUX01BWF9IRVhTWiArIDFdOwogCi0JbWVtY3B5KGJpc2VjdF9yZXZfaGV4LCBzaGExX3RvX2hleChiaXNlY3RfcmV2KSwgR0lUX1NIQTFfSEVYU1ogKyAxKTsKLQl1cGRhdGVfcmVmKE5VTEwsICJCSVNFQ1RfRVhQRUNURURfUkVWIiwgYmlzZWN0X3JldiwgTlVMTCwgMCwgVVBEQVRFX1JFRlNfRElFX09OX0VSUik7CisJbWVtY3B5KGJpc2VjdF9yZXZfaGV4LCBvaWRfdG9faGV4KGJpc2VjdF9yZXYpLCBHSVRfU0hBMV9IRVhTWiArIDEpOworCXVwZGF0ZV9yZWYoTlVMTCwgIkJJU0VDVF9FWFBFQ1RFRF9SRVYiLCBiaXNlY3RfcmV2LT5oYXNoLCBOVUxMLCAwLCBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKIAogCWFyZ3ZfY2hlY2tvdXRbMl0gPSBiaXNlY3RfcmV2X2hleDsKIAlpZiAobm9fY2hlY2tvdXQpIHsKLQkJdXBkYXRlX3JlZihOVUxMLCAiQklTRUNUX0hFQUQiLCBiaXNlY3RfcmV2LCBOVUxMLCAwLCBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKKwkJdXBkYXRlX3JlZihOVUxMLCAiQklTRUNUX0hFQUQiLCBiaXNlY3RfcmV2LT5oYXNoLCBOVUxMLCAwLCBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKIAl9IGVsc2UgewogCQlpbnQgcmVzOwogCQlyZXMgPSBydW5fY29tbWFuZF92X29wdChhcmd2X2NoZWNrb3V0LCBSVU5fR0lUX0NNRCk7CkBAIC03MDEsMTEgKzcwMSwxMSBAQAogCXJldHVybiBydW5fY29tbWFuZF92X29wdChhcmd2X3Nob3dfYnJhbmNoLCBSVU5fR0lUX0NNRCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWl0ICpnZXRfY29tbWl0X3JlZmVyZW5jZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHN0cnVjdCBjb21taXQgKmdldF9jb21taXRfcmVmZXJlbmNlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJ1Y3QgY29tbWl0ICpyID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7CisJc3RydWN0IGNvbW1pdCAqciA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZCk7CiAJaWYgKCFyKQotCQlkaWUoXygiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiKSwgc2hhMV90b19oZXgoc2hhMSkpOworCQlkaWUoXygiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiKSwgb2lkX3RvX2hleChvaWQpKTsKIAlyZXR1cm4gcjsKIH0KIApAQCAtNzE1LDkgKzcxNSw5IEBACiAJaW50IGksIG4gPSAwOwogCiAJQUxMT0NfQVJSQVkocmV2LCAxICsgZ29vZF9yZXZzLm5yKTsKLQlyZXZbbisrXSA9IGdldF9jb21taXRfcmVmZXJlbmNlKGN1cnJlbnRfYmFkX29pZC0+aGFzaCk7CisJcmV2W24rK10gPSBnZXRfY29tbWl0X3JlZmVyZW5jZShjdXJyZW50X2JhZF9vaWQpOwogCWZvciAoaSA9IDA7IGkgPCBnb29kX3JldnMubnI7IGkrKykKLQkJcmV2W24rK10gPSBnZXRfY29tbWl0X3JlZmVyZW5jZShnb29kX3JldnMuc2hhMVtpXSk7CisJCXJldltuKytdID0gZ2V0X2NvbW1pdF9yZWZlcmVuY2UoZ29vZF9yZXZzLm9pZCArIGkpOwogCSpyZXZfbnIgPSBuOwogCiAJcmV0dXJuIHJldjsKQEAgLTc1NCw5ICs3NTQsOSBAQAogCWV4aXQoMSk7CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV9za2lwcGVkX21lcmdlX2Jhc2UoY29uc3QgdW5zaWduZWQgY2hhciAqbWIpCitzdGF0aWMgdm9pZCBoYW5kbGVfc2tpcHBlZF9tZXJnZV9iYXNlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm1iKQogewotCWNoYXIgKm1iX2hleCA9IHNoYTFfdG9faGV4KG1iKTsKKwljaGFyICptYl9oZXggPSBvaWRfdG9faGV4KG1iKTsKIAljaGFyICpiYWRfaGV4ID0gb2lkX3RvX2hleChjdXJyZW50X2JhZF9vaWQpOwogCWNoYXIgKmdvb2RfaGV4ID0gam9pbl9zaGExX2FycmF5X2hleCgmZ29vZF9yZXZzLCAnICcpOwogCkBAIC03ODcsMTIgKzc4NywxMiBAQAogCXJlc3VsdCA9IGdldF9tZXJnZV9iYXNlc19tYW55KHJldlswXSwgcmV2X25yIC0gMSwgcmV2ICsgMSk7CiAKIAlmb3IgKDsgcmVzdWx0OyByZXN1bHQgPSByZXN1bHQtPm5leHQpIHsKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqbWIgPSByZXN1bHQtPml0ZW0tPm9iamVjdC5vaWQuaGFzaDsKLQkJaWYgKCFoYXNoY21wKG1iLCBjdXJyZW50X2JhZF9vaWQtPmhhc2gpKSB7CisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm1iID0gJnJlc3VsdC0+aXRlbS0+b2JqZWN0Lm9pZDsKKwkJaWYgKCFvaWRjbXAobWIsIGN1cnJlbnRfYmFkX29pZCkpIHsKIAkJCWhhbmRsZV9iYWRfbWVyZ2VfYmFzZSgpOwotCQl9IGVsc2UgaWYgKDAgPD0gc2hhMV9hcnJheV9sb29rdXAoJmdvb2RfcmV2cywgbWIpKSB7CisJCX0gZWxzZSBpZiAoMCA8PSBvaWRfYXJyYXlfbG9va3VwKCZnb29kX3JldnMsIG1iKSkgewogCQkJY29udGludWU7Ci0JCX0gZWxzZSBpZiAoMCA8PSBzaGExX2FycmF5X2xvb2t1cCgmc2tpcHBlZF9yZXZzLCBtYikpIHsKKwkJfSBlbHNlIGlmICgwIDw9IG9pZF9hcnJheV9sb29rdXAoJnNraXBwZWRfcmV2cywgbWIpKSB7CiAJCQloYW5kbGVfc2tpcHBlZF9tZXJnZV9iYXNlKG1iKTsKIAkJfSBlbHNlIHsKIAkJCXByaW50ZihfKCJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIikpOwpAQCAtODI2LDcgKzgyNiw4IEBACiAKIAkvKiBDbGVhbiB1cCBvYmplY3RzIHVzZWQsIGFzIHRoZXkgd2lsbCBiZSByZXVzZWQuICovCiAJY2xlYXJfY29tbWl0X21hcmtzX2Zvcl9vYmplY3RfYXJyYXkoJnBlbmRpbmdfY29weSwgQUxMX1JFVl9GTEFHUyk7Ci0JZnJlZShwZW5kaW5nX2NvcHkub2JqZWN0cyk7CisKKwlvYmplY3RfYXJyYXlfY2xlYXIoJnBlbmRpbmdfY29weSk7CiAKIAlyZXR1cm4gcmVzOwogfQpAQCAtOTA1LDcgKzkwNiw3IEBACiB2b2lkIHJlYWRfYmlzZWN0X3Rlcm1zKGNvbnN0IGNoYXIgKipyZWFkX2JhZCwgY29uc3QgY2hhciAqKnJlYWRfZ29vZCkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHN0ciA9IFNUUkJVRl9JTklUOwotCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gZ2l0X3BhdGgoIkJJU0VDVF9URVJNUyIpOworCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gZ2l0X3BhdGhfYmlzZWN0X3Rlcm1zKCk7CiAJRklMRSAqZnAgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKIAogCWlmICghZnApIHsKQEAgLTkzOSw3ICs5NDAsNyBAQAogCXN0cnVjdCByZXZfaW5mbyByZXZzOwogCXN0cnVjdCBjb21taXRfbGlzdCAqdHJpZWQ7CiAJaW50IHJlYWNoZXMgPSAwLCBhbGwgPSAwLCBuciwgc3RlcHM7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqYmlzZWN0X3JldjsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpiaXNlY3RfcmV2OwogCWNoYXIgKnN0ZXBzX21zZzsKIAogCXJlYWRfYmlzZWN0X3Rlcm1zKCZ0ZXJtX2JhZCwgJnRlcm1fZ29vZCk7CkBAIC05NzcsMTEgKzk3OCwxMSBAQAogCQlleGl0KDQpOwogCX0KIAotCWJpc2VjdF9yZXYgPSByZXZzLmNvbW1pdHMtPml0ZW0tPm9iamVjdC5vaWQuaGFzaDsKKwliaXNlY3RfcmV2ID0gJnJldnMuY29tbWl0cy0+aXRlbS0+b2JqZWN0Lm9pZDsKIAotCWlmICghaGFzaGNtcChiaXNlY3RfcmV2LCBjdXJyZW50X2JhZF9vaWQtPmhhc2gpKSB7CisJaWYgKCFvaWRjbXAoYmlzZWN0X3JldiwgY3VycmVudF9iYWRfb2lkKSkgewogCQlleGl0X2lmX3NraXBwZWRfY29tbWl0cyh0cmllZCwgY3VycmVudF9iYWRfb2lkKTsKLQkJcHJpbnRmKCIlcyBpcyB0aGUgZmlyc3QgJXMgY29tbWl0XG4iLCBzaGExX3RvX2hleChiaXNlY3RfcmV2KSwKKwkJcHJpbnRmKCIlcyBpcyB0aGUgZmlyc3QgJXMgY29tbWl0XG4iLCBvaWRfdG9faGV4KGJpc2VjdF9yZXYpLAogCQkJdGVybV9iYWQpOwogCQlzaG93X2RpZmZfdHJlZShwcmVmaXgsIHJldnMuY29tbWl0cy0+aXRlbSk7CiAJCS8qIFRoaXMgbWVhbnMgdGhlIGJpc2VjdGlvbiBwcm9jZXNzIHN1Y2NlZWRlZC4gKi8KQEAgLTk5Myw4ICs5OTQsMTAgQEAKIAogCXN0ZXBzX21zZyA9IHhzdHJmbXQoUV8oIihyb3VnaGx5ICVkIHN0ZXApIiwgIihyb3VnaGx5ICVkIHN0ZXBzKSIsCiAJCSAgc3RlcHMpLCBzdGVwcyk7Ci0JLyogVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAotCSAgICIocm91Z2hseSAlZCBzdGVwcykiIHRyYW5zbGF0aW9uICovCisJLyoKKwkgKiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoICIocm91Z2hseSAlZAorCSAqIHN0ZXBzKSIgdHJhbnNsYXRpb24uCisJICovCiAJcHJpbnRmKFFfKCJCaXNlY3Rpbmc6ICVkIHJldmlzaW9uIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iLAogCQkgICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIiwKIAkJICBuciksIG5yLCBzdGVwc19tc2cpOwpkaWZmIC0tZ2l0IGEvYmxhbWUuYyBiL2JsYW1lLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU3NWU5YwotLS0gL2Rldi9udWxsCisrKyBiL2JsYW1lLmMKQEAgLTAsMCArMSwxODY0IEBACisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJyZWZzLmgiCisjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgorI2luY2x1ZGUgIm1lcmdlc29ydC5oIgorI2luY2x1ZGUgImRpZmYuaCIKKyNpbmNsdWRlICJkaWZmY29yZS5oIgorI2luY2x1ZGUgInRhZy5oIgorI2luY2x1ZGUgImJsYW1lLmgiCisKK3ZvaWQgYmxhbWVfb3JpZ2luX2RlY3JlZihzdHJ1Y3QgYmxhbWVfb3JpZ2luICpvKQoreworCWlmIChvICYmIC0tby0+cmVmY250IDw9IDApIHsKKwkJc3RydWN0IGJsYW1lX29yaWdpbiAqcCwgKmwgPSBOVUxMOworCQlpZiAoby0+cHJldmlvdXMpCisJCQlibGFtZV9vcmlnaW5fZGVjcmVmKG8tPnByZXZpb3VzKTsKKwkJZnJlZShvLT5maWxlLnB0cik7CisJCS8qIFNob3VsZCBiZSBwcmVzZW50IGV4YWN0bHkgb25jZSBpbiBjb21taXQgY2hhaW4gKi8KKwkJZm9yIChwID0gby0+Y29tbWl0LT51dGlsOyBwOyBsID0gcCwgcCA9IHAtPm5leHQpIHsKKwkJCWlmIChwID09IG8pIHsKKwkJCQlpZiAobCkKKwkJCQkJbC0+bmV4dCA9IHAtPm5leHQ7CisJCQkJZWxzZQorCQkJCQlvLT5jb21taXQtPnV0aWwgPSBwLT5uZXh0OworCQkJCWZyZWUobyk7CisJCQkJcmV0dXJuOworCQkJfQorCQl9CisJCWRpZSgiaW50ZXJuYWwgZXJyb3IgaW4gYmxhbWVfb3JpZ2luX2RlY3JlZiIpOworCX0KK30KKworLyoKKyAqIEdpdmVuIGEgY29tbWl0IGFuZCBhIHBhdGggaW4gaXQsIGNyZWF0ZSBhIG5ldyBvcmlnaW4gc3RydWN0dXJlLgorICogVGhlIGNhbGxlcnMgdGhhdCBhZGQgYmxhbWUgdG8gdGhlIHNjb3JlYm9hcmQgc2hvdWxkIHVzZQorICogZ2V0X29yaWdpbigpIHRvIG9idGFpbiBzaGFyZWQsIHJlZmNvdW50ZWQgY29weSBpbnN0ZWFkIG9mIGNhbGxpbmcKKyAqIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmxhbWVfb3JpZ2luICptYWtlX29yaWdpbihzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqbzsKKwlGTEVYX0FMTE9DX1NUUihvLCBwYXRoLCBwYXRoKTsKKwlvLT5jb21taXQgPSBjb21taXQ7CisJby0+cmVmY250ID0gMTsKKwlvLT5uZXh0ID0gY29tbWl0LT51dGlsOworCWNvbW1pdC0+dXRpbCA9IG87CisJcmV0dXJuIG87Cit9CisKKy8qCisgKiBMb2NhdGUgYW4gZXhpc3Rpbmcgb3JpZ2luIG9yIGNyZWF0ZSBhIG5ldyBvbmUuCisgKiBUaGlzIG1vdmVzIHRoZSBvcmlnaW4gdG8gZnJvbnQgcG9zaXRpb24gaW4gdGhlIGNvbW1pdCB1dGlsIGxpc3QuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpnZXRfb3JpZ2luKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlzdHJ1Y3QgYmxhbWVfb3JpZ2luICpvLCAqbDsKKworCWZvciAobyA9IGNvbW1pdC0+dXRpbCwgbCA9IE5VTEw7IG87IGwgPSBvLCBvID0gby0+bmV4dCkgeworCQlpZiAoIXN0cmNtcChvLT5wYXRoLCBwYXRoKSkgeworCQkJLyogYnVtcCB0byBmcm9udCAqLworCQkJaWYgKGwpIHsKKwkJCQlsLT5uZXh0ID0gby0+bmV4dDsKKwkJCQlvLT5uZXh0ID0gY29tbWl0LT51dGlsOworCQkJCWNvbW1pdC0+dXRpbCA9IG87CisJCQl9CisJCQlyZXR1cm4gYmxhbWVfb3JpZ2luX2luY3JlZihvKTsKKwkJfQorCX0KKwlyZXR1cm4gbWFrZV9vcmlnaW4oY29tbWl0LCBwYXRoKTsKK30KKworCisKK3N0YXRpYyB2b2lkIHZlcmlmeV93b3JraW5nX3RyZWVfcGF0aChzdHJ1Y3QgY29tbWl0ICp3b3JrX3RyZWUsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOworCWludCBwb3M7CisKKwlmb3IgKHBhcmVudHMgPSB3b3JrX3RyZWUtPnBhcmVudHM7IHBhcmVudHM7IHBhcmVudHMgPSBwYXJlbnRzLT5uZXh0KSB7CisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmNvbW1pdF9vaWQgPSAmcGFyZW50cy0+aXRlbS0+b2JqZWN0Lm9pZDsKKwkJc3RydWN0IG9iamVjdF9pZCBibG9iX29pZDsKKwkJdW5zaWduZWQgbW9kZTsKKworCQlpZiAoIWdldF90cmVlX2VudHJ5KGNvbW1pdF9vaWQtPmhhc2gsIHBhdGgsIGJsb2Jfb2lkLmhhc2gsICZtb2RlKSAmJgorCQkgICAgc2hhMV9vYmplY3RfaW5mbyhibG9iX29pZC5oYXNoLCBOVUxMKSA9PSBPQkpfQkxPQikKKwkJCXJldHVybjsKKwl9CisKKwlwb3MgPSBjYWNoZV9uYW1lX3BvcyhwYXRoLCBzdHJsZW4ocGF0aCkpOworCWlmIChwb3MgPj0gMCkKKwkJOyAvKiBwYXRoIGlzIGluIHRoZSBpbmRleCAqLworCWVsc2UgaWYgKC0xIC0gcG9zIDwgYWN0aXZlX25yICYmCisJCSAhc3RyY21wKGFjdGl2ZV9jYWNoZVstMSAtIHBvc10tPm5hbWUsIHBhdGgpKQorCQk7IC8qIHBhdGggaXMgaW4gdGhlIGluZGV4LCB1bm1lcmdlZCAqLworCWVsc2UKKwkJZGllKCJubyBzdWNoIHBhdGggJyVzJyBpbiBIRUFEIiwgcGF0aCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0X2xpc3QgKiphcHBlbmRfcGFyZW50KHN0cnVjdCBjb21taXRfbGlzdCAqKnRhaWwsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK3sKKwlzdHJ1Y3QgY29tbWl0ICpwYXJlbnQ7CisKKwlwYXJlbnQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShvaWQpOworCWlmICghcGFyZW50KQorCQlkaWUoIm5vIHN1Y2ggY29tbWl0ICVzIiwgb2lkX3RvX2hleChvaWQpKTsKKwlyZXR1cm4gJmNvbW1pdF9saXN0X2luc2VydChwYXJlbnQsIHRhaWwpLT5uZXh0OworfQorCitzdGF0aWMgdm9pZCBhcHBlbmRfbWVyZ2VfcGFyZW50cyhzdHJ1Y3QgY29tbWl0X2xpc3QgKip0YWlsKQoreworCWludCBtZXJnZV9oZWFkOworCXN0cnVjdCBzdHJidWYgbGluZSA9IFNUUkJVRl9JTklUOworCisJbWVyZ2VfaGVhZCA9IG9wZW4oZ2l0X3BhdGhfbWVyZ2VfaGVhZCgpLCBPX1JET05MWSk7CisJaWYgKG1lcmdlX2hlYWQgPCAwKSB7CisJCWlmIChlcnJubyA9PSBFTk9FTlQpCisJCQlyZXR1cm47CisJCWRpZSgiY2Fubm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIsIGdpdF9wYXRoX21lcmdlX2hlYWQoKSk7CisJfQorCisJd2hpbGUgKCFzdHJidWZfZ2V0d2hvbGVsaW5lX2ZkKCZsaW5lLCBtZXJnZV9oZWFkLCAnXG4nKSkgeworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJaWYgKGxpbmUubGVuIDwgR0lUX1NIQTFfSEVYU1ogfHwgZ2V0X29pZF9oZXgobGluZS5idWYsICZvaWQpKQorCQkJZGllKCJ1bmtub3duIGxpbmUgaW4gJyVzJzogJXMiLCBnaXRfcGF0aF9tZXJnZV9oZWFkKCksIGxpbmUuYnVmKTsKKwkJdGFpbCA9IGFwcGVuZF9wYXJlbnQodGFpbCwgJm9pZCk7CisJfQorCWNsb3NlKG1lcmdlX2hlYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZsaW5lKTsKK30KKworLyoKKyAqIFRoaXMgaXNuJ3QgYXMgc2ltcGxlIGFzIHBhc3Npbmcgc2ItPmJ1ZiBhbmQgc2ItPmxlbiwgYmVjYXVzZSB3ZQorICogd2FudCB0byB0cmFuc2ZlciBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciB0byB0aGUgY29tbWl0IChzbyB3ZQorICogbXVzdCB1c2UgZGV0YWNoKS4KKyAqLworc3RhdGljIHZvaWQgc2V0X2NvbW1pdF9idWZmZXJfZnJvbV9zdHJidWYoc3RydWN0IGNvbW1pdCAqYywgc3RydWN0IHN0cmJ1ZiAqc2IpCit7CisJc2l6ZV90IGxlbjsKKwl2b2lkICpidWYgPSBzdHJidWZfZGV0YWNoKHNiLCAmbGVuKTsKKwlzZXRfY29tbWl0X2J1ZmZlcihjLCBidWYsIGxlbik7Cit9CisKKy8qCisgKiBQcmVwYXJlIGEgZHVtbXkgY29tbWl0IHRoYXQgcmVwcmVzZW50cyB0aGUgd29yayB0cmVlIChvciBzdGFnZWQpIGl0ZW0uCisgKiBOb3RlIHRoYXQgYW5ub3RhdGluZyB3b3JrIHRyZWUgaXRlbSBuZXZlciB3b3JrcyBpbiB0aGUgcmV2ZXJzZS4KKyAqLworc3RhdGljIHN0cnVjdCBjb21taXQgKmZha2Vfd29ya2luZ190cmVlX2NvbW1pdChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsCisJCQkJCSAgICAgICBjb25zdCBjaGFyICpwYXRoLAorCQkJCQkgICAgICAgY29uc3QgY2hhciAqY29udGVudHNfZnJvbSkKK3sKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqb3JpZ2luOworCXN0cnVjdCBjb21taXRfbGlzdCAqKnBhcmVudF90YWlsLCAqcGFyZW50OworCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwljb25zdCBjaGFyICppZGVudDsKKwl0aW1lX3Qgbm93OworCWludCBzaXplLCBsZW47CisJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKKwl1bnNpZ25lZCBtb2RlOworCXN0cnVjdCBzdHJidWYgbXNnID0gU1RSQlVGX0lOSVQ7CisKKwlyZWFkX2NhY2hlKCk7CisJdGltZSgmbm93KTsKKwljb21taXQgPSBhbGxvY19jb21taXRfbm9kZSgpOworCWNvbW1pdC0+b2JqZWN0LnBhcnNlZCA9IDE7CisJY29tbWl0LT5kYXRlID0gbm93OworCXBhcmVudF90YWlsID0gJmNvbW1pdC0+cGFyZW50czsKKworCWlmICghcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywgaGVhZF9vaWQuaGFzaCwgTlVMTCkpCisJCWRpZSgibm8gc3VjaCByZWY6IEhFQUQiKTsKKworCXBhcmVudF90YWlsID0gYXBwZW5kX3BhcmVudChwYXJlbnRfdGFpbCwgJmhlYWRfb2lkKTsKKwlhcHBlbmRfbWVyZ2VfcGFyZW50cyhwYXJlbnRfdGFpbCk7CisJdmVyaWZ5X3dvcmtpbmdfdHJlZV9wYXRoKGNvbW1pdCwgcGF0aCk7CisKKwlvcmlnaW4gPSBtYWtlX29yaWdpbihjb21taXQsIHBhdGgpOworCisJaWRlbnQgPSBmbXRfaWRlbnQoIk5vdCBDb21taXR0ZWQgWWV0IiwgIm5vdC5jb21taXR0ZWQueWV0IiwgTlVMTCwgMCk7CisJc3RyYnVmX2FkZHN0cigmbXNnLCAidHJlZSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXG4iKTsKKwlmb3IgKHBhcmVudCA9IGNvbW1pdC0+cGFyZW50czsgcGFyZW50OyBwYXJlbnQgPSBwYXJlbnQtPm5leHQpCisJCXN0cmJ1Zl9hZGRmKCZtc2csICJwYXJlbnQgJXNcbiIsCisJCQkgICAgb2lkX3RvX2hleCgmcGFyZW50LT5pdGVtLT5vYmplY3Qub2lkKSk7CisJc3RyYnVmX2FkZGYoJm1zZywKKwkJICAgICJhdXRob3IgJXNcbiIKKwkJICAgICJjb21taXR0ZXIgJXNcblxuIgorCQkgICAgIlZlcnNpb24gb2YgJXMgZnJvbSAlc1xuIiwKKwkJICAgIGlkZW50LCBpZGVudCwgcGF0aCwKKwkJICAgICghY29udGVudHNfZnJvbSA/IHBhdGggOgorCQkgICAgICghc3RyY21wKGNvbnRlbnRzX2Zyb20sICItIikgPyAic3RhbmRhcmQgaW5wdXQiIDogY29udGVudHNfZnJvbSkpKTsKKwlzZXRfY29tbWl0X2J1ZmZlcl9mcm9tX3N0cmJ1Zihjb21taXQsICZtc2cpOworCisJaWYgKCFjb250ZW50c19mcm9tIHx8IHN0cmNtcCgiLSIsIGNvbnRlbnRzX2Zyb20pKSB7CisJCXN0cnVjdCBzdGF0IHN0OworCQljb25zdCBjaGFyICpyZWFkX2Zyb207CisJCWNoYXIgKmJ1Zl9wdHI7CisJCXVuc2lnbmVkIGxvbmcgYnVmX2xlbjsKKworCQlpZiAoY29udGVudHNfZnJvbSkgeworCQkJaWYgKHN0YXQoY29udGVudHNfZnJvbSwgJnN0KSA8IDApCisJCQkJZGllX2Vycm5vKCJDYW5ub3Qgc3RhdCAnJXMnIiwgY29udGVudHNfZnJvbSk7CisJCQlyZWFkX2Zyb20gPSBjb250ZW50c19mcm9tOworCQl9CisJCWVsc2UgeworCQkJaWYgKGxzdGF0KHBhdGgsICZzdCkgPCAwKQorCQkJCWRpZV9lcnJubygiQ2Fubm90IGxzdGF0ICclcyciLCBwYXRoKTsKKwkJCXJlYWRfZnJvbSA9IHBhdGg7CisJCX0KKwkJbW9kZSA9IGNhbm9uX21vZGUoc3Quc3RfbW9kZSk7CisKKwkJc3dpdGNoIChzdC5zdF9tb2RlICYgU19JRk1UKSB7CisJCWNhc2UgU19JRlJFRzoKKwkJCWlmIChESUZGX09QVF9UU1Qob3B0LCBBTExPV19URVhUQ09OVikgJiYKKwkJCSAgICB0ZXh0Y29udl9vYmplY3QocmVhZF9mcm9tLCBtb2RlLCAmbnVsbF9vaWQsIDAsICZidWZfcHRyLCAmYnVmX2xlbikpCisJCQkJc3RyYnVmX2F0dGFjaCgmYnVmLCBidWZfcHRyLCBidWZfbGVuLCBidWZfbGVuICsgMSk7CisJCQllbHNlIGlmIChzdHJidWZfcmVhZF9maWxlKCZidWYsIHJlYWRfZnJvbSwgc3Quc3Rfc2l6ZSkgIT0gc3Quc3Rfc2l6ZSkKKwkJCQlkaWVfZXJybm8oImNhbm5vdCBvcGVuIG9yIHJlYWQgJyVzJyIsIHJlYWRfZnJvbSk7CisJCQlicmVhazsKKwkJY2FzZSBTX0lGTE5LOgorCQkJaWYgKHN0cmJ1Zl9yZWFkbGluaygmYnVmLCByZWFkX2Zyb20sIHN0LnN0X3NpemUpIDwgMCkKKwkJCQlkaWVfZXJybm8oImNhbm5vdCByZWFkbGluayAnJXMnIiwgcmVhZF9mcm9tKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZGllKCJ1bnN1cHBvcnRlZCBmaWxlIHR5cGUgJXMiLCByZWFkX2Zyb20pOworCQl9CisJfQorCWVsc2UgeworCQkvKiBSZWFkaW5nIGZyb20gc3RkaW4gKi8KKwkJbW9kZSA9IDA7CisJCWlmIChzdHJidWZfcmVhZCgmYnVmLCAwLCAwKSA8IDApCisJCQlkaWVfZXJybm8oImZhaWxlZCB0byByZWFkIGZyb20gc3RkaW4iKTsKKwl9CisJY29udmVydF90b19naXQoJnRoZV9pbmRleCwgcGF0aCwgYnVmLmJ1ZiwgYnVmLmxlbiwgJmJ1ZiwgMCk7CisJb3JpZ2luLT5maWxlLnB0ciA9IGJ1Zi5idWY7CisJb3JpZ2luLT5maWxlLnNpemUgPSBidWYubGVuOworCXByZXRlbmRfc2hhMV9maWxlKGJ1Zi5idWYsIGJ1Zi5sZW4sIE9CSl9CTE9CLCBvcmlnaW4tPmJsb2Jfb2lkLmhhc2gpOworCisJLyoKKwkgKiBSZWFkIHRoZSBjdXJyZW50IGluZGV4LCByZXBsYWNlIHRoZSBwYXRoIGVudHJ5IHdpdGgKKwkgKiBvcmlnaW4tPmJsb2Jfc2hhMSB3aXRob3V0IG11Y2tpbmcgd2l0aCBpdHMgbW9kZSBvciB0eXBlCisJICogYml0czsgd2UgYXJlIG5vdCBnb2luZyB0byB3cml0ZSB0aGlzIGluZGV4IG91dCAtLSB3ZSBqdXN0CisJICogd2FudCB0byBydW4gImRpZmYtaW5kZXggLS1jYWNoZWQiLgorCSAqLworCWRpc2NhcmRfY2FjaGUoKTsKKwlyZWFkX2NhY2hlKCk7CisKKwlsZW4gPSBzdHJsZW4ocGF0aCk7CisJaWYgKCFtb2RlKSB7CisJCWludCBwb3MgPSBjYWNoZV9uYW1lX3BvcyhwYXRoLCBsZW4pOworCQlpZiAoMCA8PSBwb3MpCisJCQltb2RlID0gYWN0aXZlX2NhY2hlW3Bvc10tPmNlX21vZGU7CisJCWVsc2UKKwkJCS8qIExldCdzIG5vdCBib3RoZXIgcmVhZGluZyBmcm9tIEhFQUQgdHJlZSAqLworCQkJbW9kZSA9IFNfSUZSRUcgfCAwNjQ0OworCX0KKwlzaXplID0gY2FjaGVfZW50cnlfc2l6ZShsZW4pOworCWNlID0geGNhbGxvYygxLCBzaXplKTsKKwlvaWRjcHkoJmNlLT5vaWQsICZvcmlnaW4tPmJsb2Jfb2lkKTsKKwltZW1jcHkoY2UtPm5hbWUsIHBhdGgsIGxlbik7CisJY2UtPmNlX2ZsYWdzID0gY3JlYXRlX2NlX2ZsYWdzKDApOworCWNlLT5jZV9uYW1lbGVuID0gbGVuOworCWNlLT5jZV9tb2RlID0gY3JlYXRlX2NlX21vZGUobW9kZSk7CisJYWRkX2NhY2hlX2VudHJ5KGNlLCBBRERfQ0FDSEVfT0tfVE9fQUREfEFERF9DQUNIRV9PS19UT19SRVBMQUNFKTsKKworCWNhY2hlX3RyZWVfaW52YWxpZGF0ZV9wYXRoKCZ0aGVfaW5kZXgsIHBhdGgpOworCisJcmV0dXJuIGNvbW1pdDsKK30KKworCisKK3N0YXRpYyBpbnQgZGlmZl9odW5rcyhtbWZpbGVfdCAqZmlsZV9hLCBtbWZpbGVfdCAqZmlsZV9iLAorCQkgICAgICB4ZGxfZW1pdF9odW5rX2NvbnN1bWVfZnVuY190IGh1bmtfZnVuYywgdm9pZCAqY2JfZGF0YSwgaW50IHhkbF9vcHRzKQoreworCXhwcGFyYW1fdCB4cHAgPSB7MH07CisJeGRlbWl0Y29uZl90IHhlY2ZnID0gezB9OworCXhkZW1pdGNiX3QgZWNiID0ge05VTEx9OworCisJeHBwLmZsYWdzID0geGRsX29wdHM7CisJeGVjZmcuaHVua19mdW5jID0gaHVua19mdW5jOworCWVjYi5wcml2ID0gY2JfZGF0YTsKKwlyZXR1cm4geGRpX2RpZmYoZmlsZV9hLCBmaWxlX2IsICZ4cHAsICZ4ZWNmZywgJmVjYik7Cit9CisKKy8qCisgKiBHaXZlbiBhbiBvcmlnaW4sIHByZXBhcmUgbW1maWxlX3Qgc3RydWN0dXJlIHRvIGJlIHVzZWQgYnkgdGhlCisgKiBkaWZmIG1hY2hpbmVyeQorICovCitzdGF0aWMgdm9pZCBmaWxsX29yaWdpbl9ibG9iKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCwKKwkJCSAgICAgc3RydWN0IGJsYW1lX29yaWdpbiAqbywgbW1maWxlX3QgKmZpbGUsIGludCAqbnVtX3JlYWRfYmxvYikKK3sKKwlpZiAoIW8tPmZpbGUucHRyKSB7CisJCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKKwkJdW5zaWduZWQgbG9uZyBmaWxlX3NpemU7CisKKwkJKCpudW1fcmVhZF9ibG9iKSsrOworCQlpZiAoRElGRl9PUFRfVFNUKG9wdCwgQUxMT1dfVEVYVENPTlYpICYmCisJCSAgICB0ZXh0Y29udl9vYmplY3Qoby0+cGF0aCwgby0+bW9kZSwgJm8tPmJsb2Jfb2lkLCAxLCAmZmlsZS0+cHRyLCAmZmlsZV9zaXplKSkKKwkJCTsKKwkJZWxzZQorCQkJZmlsZS0+cHRyID0gcmVhZF9zaGExX2ZpbGUoby0+YmxvYl9vaWQuaGFzaCwgJnR5cGUsCisJCQkJCQkgICAmZmlsZV9zaXplKTsKKwkJZmlsZS0+c2l6ZSA9IGZpbGVfc2l6ZTsKKworCQlpZiAoIWZpbGUtPnB0cikKKwkJCWRpZSgiQ2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIsCisJCQkgICAgb2lkX3RvX2hleCgmby0+YmxvYl9vaWQpLAorCQkJICAgIG8tPnBhdGgpOworCQlvLT5maWxlID0gKmZpbGU7CisJfQorCWVsc2UKKwkJKmZpbGUgPSBvLT5maWxlOworfQorCitzdGF0aWMgdm9pZCBkcm9wX29yaWdpbl9ibG9iKHN0cnVjdCBibGFtZV9vcmlnaW4gKm8pCit7CisJaWYgKG8tPmZpbGUucHRyKSB7CisJCUZSRUVfQU5EX05VTEwoby0+ZmlsZS5wdHIpOworCX0KK30KKworLyoKKyAqIEFueSBtZXJnZSBvZiBibGFtZXMgaGFwcGVucyBvbiBsaXN0cyBvZiBibGFtZXMgdGhhdCBhcnJpdmVkIHZpYQorICogZGlmZmVyZW50IHBhcmVudHMgaW4gYSBzaW5nbGUgc3VzcGVjdC4gIEluIHRoaXMgY2FzZSwgd2Ugd2FudCB0bworICogc29ydCBhY2NvcmRpbmcgdG8gdGhlIHN1c3BlY3QgbGluZSBudW1iZXJzIGFzIG9wcG9zZWQgdG8gdGhlIGZpbmFsCisgKiBpbWFnZSBsaW5lIG51bWJlcnMuICBUaGUgZnVuY3Rpb24gYm9keSBpcyBzb21ld2hhdCBsb25naXNoIGJlY2F1c2UKKyAqIGl0IGF2b2lkcyB1bm5lY2Vzc2FyeSB3cml0ZXMuCisgKi8KKworc3RhdGljIHN0cnVjdCBibGFtZV9lbnRyeSAqYmxhbWVfbWVyZ2Uoc3RydWN0IGJsYW1lX2VudHJ5ICpsaXN0MSwKKwkJCQkgICAgICAgc3RydWN0IGJsYW1lX2VudHJ5ICpsaXN0MikKK3sKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKnAxID0gbGlzdDEsICpwMiA9IGxpc3QyLAorCQkqKnRhaWwgPSAmbGlzdDE7CisKKwlpZiAoIXAxKQorCQlyZXR1cm4gcDI7CisJaWYgKCFwMikKKwkJcmV0dXJuIHAxOworCisJaWYgKHAxLT5zX2xubyA8PSBwMi0+c19sbm8pIHsKKwkJZG8geworCQkJdGFpbCA9ICZwMS0+bmV4dDsKKwkJCWlmICgocDEgPSAqdGFpbCkgPT0gTlVMTCkgeworCQkJCSp0YWlsID0gcDI7CisJCQkJcmV0dXJuIGxpc3QxOworCQkJfQorCQl9IHdoaWxlIChwMS0+c19sbm8gPD0gcDItPnNfbG5vKTsKKwl9CisJZm9yICg7OykgeworCQkqdGFpbCA9IHAyOworCQlkbyB7CisJCQl0YWlsID0gJnAyLT5uZXh0OworCQkJaWYgKChwMiA9ICp0YWlsKSA9PSBOVUxMKSAgeworCQkJCSp0YWlsID0gcDE7CisJCQkJcmV0dXJuIGxpc3QxOworCQkJfQorCQl9IHdoaWxlIChwMS0+c19sbm8gPiBwMi0+c19sbm8pOworCQkqdGFpbCA9IHAxOworCQlkbyB7CisJCQl0YWlsID0gJnAxLT5uZXh0OworCQkJaWYgKChwMSA9ICp0YWlsKSA9PSBOVUxMKSB7CisJCQkJKnRhaWwgPSBwMjsKKwkJCQlyZXR1cm4gbGlzdDE7CisJCQl9CisJCX0gd2hpbGUgKHAxLT5zX2xubyA8PSBwMi0+c19sbm8pOworCX0KK30KKworc3RhdGljIHZvaWQgKmdldF9uZXh0X2JsYW1lKGNvbnN0IHZvaWQgKnApCit7CisJcmV0dXJuICgoc3RydWN0IGJsYW1lX2VudHJ5ICopcCktPm5leHQ7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9uZXh0X2JsYW1lKHZvaWQgKnAxLCB2b2lkICpwMikKK3sKKwkoKHN0cnVjdCBibGFtZV9lbnRyeSAqKXAxKS0+bmV4dCA9IHAyOworfQorCisvKgorICogRmluYWwgaW1hZ2UgbGluZSBudW1iZXJzIGFyZSBhbGwgZGlmZmVyZW50LCBzbyB3ZSBkb24ndCBuZWVkIGEKKyAqIHRocmVlLXdheSBjb21wYXJpc29uIGhlcmUuCisgKi8KKworc3RhdGljIGludCBjb21wYXJlX2JsYW1lX2ZpbmFsKGNvbnN0IHZvaWQgKnAxLCBjb25zdCB2b2lkICpwMikKK3sKKwlyZXR1cm4gKChzdHJ1Y3QgYmxhbWVfZW50cnkgKilwMSktPmxubyA+ICgoc3RydWN0IGJsYW1lX2VudHJ5ICopcDIpLT5sbm8KKwkJPyAxIDogLTE7Cit9CisKK3N0YXRpYyBpbnQgY29tcGFyZV9ibGFtZV9zdXNwZWN0KGNvbnN0IHZvaWQgKnAxLCBjb25zdCB2b2lkICpwMikKK3sKKwljb25zdCBzdHJ1Y3QgYmxhbWVfZW50cnkgKnMxID0gcDEsICpzMiA9IHAyOworCS8qCisJICogdG8gYWxsb3cgZm9yIGNvbGxhdGluZyBzdXNwZWN0cywgd2Ugc29ydCBhY2NvcmRpbmcgdG8gdGhlCisJICogcmVzcGVjdGl2ZSBwb2ludGVyIHZhbHVlIGFzIHRoZSBwcmltYXJ5IHNvcnRpbmcgY3JpdGVyaW9uLgorCSAqIFRoZSBhY3R1YWwgcmVsYXRpb24gaXMgcHJldHR5IHVuaW1wb3J0YW50IGFzIGxvbmcgYXMgaXQKKwkgKiBlc3RhYmxpc2hlcyBhIHRvdGFsIG9yZGVyLiAgQ29tcGFyaW5nIGFzIGludGVnZXJzIGdpdmVzIHVzCisJICogdGhhdC4KKwkgKi8KKwlpZiAoczEtPnN1c3BlY3QgIT0gczItPnN1c3BlY3QpCisJCXJldHVybiAoaW50cHRyX3QpczEtPnN1c3BlY3QgPiAoaW50cHRyX3QpczItPnN1c3BlY3QgPyAxIDogLTE7CisJaWYgKHMxLT5zX2xubyA9PSBzMi0+c19sbm8pCisJCXJldHVybiAwOworCXJldHVybiBzMS0+c19sbm8gPiBzMi0+c19sbm8gPyAxIDogLTE7Cit9CisKK3ZvaWQgYmxhbWVfc29ydF9maW5hbChzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IpCit7CisJc2ItPmVudCA9IGxsaXN0X21lcmdlc29ydChzYi0+ZW50LCBnZXRfbmV4dF9ibGFtZSwgc2V0X25leHRfYmxhbWUsCisJCQkJICBjb21wYXJlX2JsYW1lX2ZpbmFsKTsKK30KKworc3RhdGljIGludCBjb21wYXJlX2NvbW1pdHNfYnlfcmV2ZXJzZV9jb21taXRfZGF0ZShjb25zdCB2b2lkICphLAorCQkJCQkJICBjb25zdCB2b2lkICpiLAorCQkJCQkJICB2b2lkICpjKQoreworCXJldHVybiAtY29tcGFyZV9jb21taXRzX2J5X2NvbW1pdF9kYXRlKGEsIGIsIGMpOworfQorCisvKgorICogRm9yIGRlYnVnZ2luZyAtLSBvcmlnaW4gaXMgcmVmY291bnRlZCwgYW5kIHRoaXMgYXNzZXJ0cyB0aGF0CisgKiB3ZSBkbyBub3QgdW5kZXJmbG93LgorICovCitzdGF0aWMgdm9pZCBzYW5pdHlfY2hlY2tfcmVmY250KHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYikKK3sKKwlpbnQgYmFhID0gMDsKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKKworCWZvciAoZW50ID0gc2ItPmVudDsgZW50OyBlbnQgPSBlbnQtPm5leHQpIHsKKwkJLyogTm9ib2R5IHNob3VsZCBoYXZlIHplcm8gb3IgbmVnYXRpdmUgcmVmY250ICovCisJCWlmIChlbnQtPnN1c3BlY3QtPnJlZmNudCA8PSAwKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIiVzIGluICVzIGhhcyBuZWdhdGl2ZSByZWZjbnQgJWRcbiIsCisJCQkJZW50LT5zdXNwZWN0LT5wYXRoLAorCQkJCW9pZF90b19oZXgoJmVudC0+c3VzcGVjdC0+Y29tbWl0LT5vYmplY3Qub2lkKSwKKwkJCQllbnQtPnN1c3BlY3QtPnJlZmNudCk7CisJCQliYWEgPSAxOworCQl9CisJfQorCWlmIChiYWEpCisJCXNiLT5vbl9zYW5pdHlfZmFpbChzYiwgYmFhKTsKK30KKworLyoKKyAqIElmIHR3byBibGFtZSBlbnRyaWVzIHRoYXQgYXJlIG5leHQgdG8gZWFjaCBvdGhlciBjYW1lIGZyb20KKyAqIGNvbnRpZ3VvdXMgbGluZXMgaW4gdGhlIHNhbWUgb3JpZ2luIChpLmUuIDxjb21taXQsIHBhdGg+IHBhaXIpLAorICogbWVyZ2UgdGhlbSB0b2dldGhlci4KKyAqLwordm9pZCBibGFtZV9jb2FsZXNjZShzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IpCit7CisJc3RydWN0IGJsYW1lX2VudHJ5ICplbnQsICpuZXh0OworCisJZm9yIChlbnQgPSBzYi0+ZW50OyBlbnQgJiYgKG5leHQgPSBlbnQtPm5leHQpOyBlbnQgPSBuZXh0KSB7CisJCWlmIChlbnQtPnN1c3BlY3QgPT0gbmV4dC0+c3VzcGVjdCAmJgorCQkgICAgZW50LT5zX2xubyArIGVudC0+bnVtX2xpbmVzID09IG5leHQtPnNfbG5vKSB7CisJCQllbnQtPm51bV9saW5lcyArPSBuZXh0LT5udW1fbGluZXM7CisJCQllbnQtPm5leHQgPSBuZXh0LT5uZXh0OworCQkJYmxhbWVfb3JpZ2luX2RlY3JlZihuZXh0LT5zdXNwZWN0KTsKKwkJCWZyZWUobmV4dCk7CisJCQllbnQtPnNjb3JlID0gMDsKKwkJCW5leHQgPSBlbnQ7IC8qIGFnYWluICovCisJCX0KKwl9CisKKwlpZiAoc2ItPmRlYnVnKSAvKiBzYW5pdHkgKi8KKwkJc2FuaXR5X2NoZWNrX3JlZmNudChzYik7Cit9CisKKy8qCisgKiBNZXJnZSB0aGUgZ2l2ZW4gc29ydGVkIGxpc3Qgb2YgYmxhbWVzIGludG8gYSBwcmVleGlzdGluZyBvcmlnaW4uCisgKiBJZiB0aGVyZSB3ZXJlIG5vIHByZXZpb3VzIGJsYW1lcyB0byB0aGF0IGNvbW1pdCwgaXQgaXMgZW50ZXJlZCBpbnRvCisgKiB0aGUgY29tbWl0IHByaW9yaXR5IHF1ZXVlIG9mIHRoZSBzY29yZSBib2FyZC4KKyAqLworCitzdGF0aWMgdm9pZCBxdWV1ZV9ibGFtZXMoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLCBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwb3JpZ2luLAorCQkJIHN0cnVjdCBibGFtZV9lbnRyeSAqc29ydGVkKQoreworCWlmIChwb3JpZ2luLT5zdXNwZWN0cykKKwkJcG9yaWdpbi0+c3VzcGVjdHMgPSBibGFtZV9tZXJnZShwb3JpZ2luLT5zdXNwZWN0cywgc29ydGVkKTsKKwllbHNlIHsKKwkJc3RydWN0IGJsYW1lX29yaWdpbiAqbzsKKwkJZm9yIChvID0gcG9yaWdpbi0+Y29tbWl0LT51dGlsOyBvOyBvID0gby0+bmV4dCkgeworCQkJaWYgKG8tPnN1c3BlY3RzKSB7CisJCQkJcG9yaWdpbi0+c3VzcGVjdHMgPSBzb3J0ZWQ7CisJCQkJcmV0dXJuOworCQkJfQorCQl9CisJCXBvcmlnaW4tPnN1c3BlY3RzID0gc29ydGVkOworCQlwcmlvX3F1ZXVlX3B1dCgmc2ItPmNvbW1pdHMsIHBvcmlnaW4tPmNvbW1pdCk7CisJfQorfQorCisvKgorICogRmlsbCB0aGUgYmxvYl9zaGExIGZpZWxkIG9mIGFuIG9yaWdpbiBpZiBpdCBoYXNuJ3QsIHNvIHRoYXQgbGF0ZXIKKyAqIGNhbGwgdG8gZmlsbF9vcmlnaW5fYmxvYigpIGNhbiB1c2UgaXQgdG8gbG9jYXRlIHRoZSBkYXRhLiAgYmxvYl9zaGExCisgKiBmb3IgYW4gb3JpZ2luIGlzIGFsc28gdXNlZCB0byBwYXNzIHRoZSBibGFtZSBmb3IgdGhlIGVudGlyZSBmaWxlIHRvCisgKiB0aGUgcGFyZW50IHRvIGRldGVjdCB0aGUgY2FzZSB3aGVyZSBhIGNoaWxkJ3MgYmxvYiBpcyBpZGVudGljYWwgdG8KKyAqIHRoYXQgb2YgaXRzIHBhcmVudCdzLgorICoKKyAqIFRoaXMgYWxzbyBmaWxscyBvcmlnaW4tPm1vZGUgZm9yIGNvcnJlc3BvbmRpbmcgdHJlZSBwYXRoLgorICovCitzdGF0aWMgaW50IGZpbGxfYmxvYl9zaGExX2FuZF9tb2RlKHN0cnVjdCBibGFtZV9vcmlnaW4gKm9yaWdpbikKK3sKKwlpZiAoIWlzX251bGxfb2lkKCZvcmlnaW4tPmJsb2Jfb2lkKSkKKwkJcmV0dXJuIDA7CisJaWYgKGdldF90cmVlX2VudHJ5KG9yaWdpbi0+Y29tbWl0LT5vYmplY3Qub2lkLmhhc2gsCisJCQkgICBvcmlnaW4tPnBhdGgsCisJCQkgICBvcmlnaW4tPmJsb2Jfb2lkLmhhc2gsICZvcmlnaW4tPm1vZGUpKQorCQlnb3RvIGVycm9yX291dDsKKwlpZiAoc2hhMV9vYmplY3RfaW5mbyhvcmlnaW4tPmJsb2Jfb2lkLmhhc2gsIE5VTEwpICE9IE9CSl9CTE9CKQorCQlnb3RvIGVycm9yX291dDsKKwlyZXR1cm4gMDsKKyBlcnJvcl9vdXQ6CisJb2lkY2xyKCZvcmlnaW4tPmJsb2Jfb2lkKTsKKwlvcmlnaW4tPm1vZGUgPSBTX0lGSU5WQUxJRDsKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBXZSBoYXZlIGFuIG9yaWdpbiAtLSBjaGVjayBpZiB0aGUgc2FtZSBwYXRoIGV4aXN0cyBpbiB0aGUKKyAqIHBhcmVudCBhbmQgcmV0dXJuIGFuIG9yaWdpbiBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IGl0LgorICovCitzdGF0aWMgc3RydWN0IGJsYW1lX29yaWdpbiAqZmluZF9vcmlnaW4oc3RydWN0IGNvbW1pdCAqcGFyZW50LAorCQkJCSAgc3RydWN0IGJsYW1lX29yaWdpbiAqb3JpZ2luKQoreworCXN0cnVjdCBibGFtZV9vcmlnaW4gKnBvcmlnaW47CisJc3RydWN0IGRpZmZfb3B0aW9ucyBkaWZmX29wdHM7CisJY29uc3QgY2hhciAqcGF0aHNbMl07CisKKwkvKiBGaXJzdCBjaGVjayBhbnkgZXhpc3Rpbmcgb3JpZ2lucyAqLworCWZvciAocG9yaWdpbiA9IHBhcmVudC0+dXRpbDsgcG9yaWdpbjsgcG9yaWdpbiA9IHBvcmlnaW4tPm5leHQpCisJCWlmICghc3RyY21wKHBvcmlnaW4tPnBhdGgsIG9yaWdpbi0+cGF0aCkpIHsKKwkJCS8qCisJCQkgKiBUaGUgc2FtZSBwYXRoIGJldHdlZW4gb3JpZ2luIGFuZCBpdHMgcGFyZW50CisJCQkgKiB3aXRob3V0IHJlbmFtaW5nIC0tIHRoZSBtb3N0IGNvbW1vbiBjYXNlLgorCQkJICovCisJCQlyZXR1cm4gYmxhbWVfb3JpZ2luX2luY3JlZiAocG9yaWdpbik7CisJCX0KKworCS8qIFNlZSBpZiB0aGUgb3JpZ2luLT5wYXRoIGlzIGRpZmZlcmVudCBiZXR3ZWVuIHBhcmVudAorCSAqIGFuZCBvcmlnaW4gZmlyc3QuICBNb3N0IG9mIHRoZSB0aW1lIHRoZXkgYXJlIHRoZQorCSAqIHNhbWUgYW5kIGRpZmYtdHJlZSBpcyBmYWlybHkgZWZmaWNpZW50IGFib3V0IHRoaXMuCisJICovCisJZGlmZl9zZXR1cCgmZGlmZl9vcHRzKTsKKwlESUZGX09QVF9TRVQoJmRpZmZfb3B0cywgUkVDVVJTSVZFKTsKKwlkaWZmX29wdHMuZGV0ZWN0X3JlbmFtZSA9IDA7CisJZGlmZl9vcHRzLm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9OT19PVVRQVVQ7CisJcGF0aHNbMF0gPSBvcmlnaW4tPnBhdGg7CisJcGF0aHNbMV0gPSBOVUxMOworCisJcGFyc2VfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYywKKwkJICAgICAgIFBBVEhTUEVDX0FMTF9NQUdJQyAmIH5QQVRIU1BFQ19MSVRFUkFMLAorCQkgICAgICAgUEFUSFNQRUNfTElURVJBTF9QQVRILCAiIiwgcGF0aHMpOworCWRpZmZfc2V0dXBfZG9uZSgmZGlmZl9vcHRzKTsKKworCWlmIChpc19udWxsX29pZCgmb3JpZ2luLT5jb21taXQtPm9iamVjdC5vaWQpKQorCQlkb19kaWZmX2NhY2hlKCZwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQsICZkaWZmX29wdHMpOworCWVsc2UKKwkJZGlmZl90cmVlX29pZCgmcGFyZW50LT50cmVlLT5vYmplY3Qub2lkLAorCQkJICAgICAgJm9yaWdpbi0+Y29tbWl0LT50cmVlLT5vYmplY3Qub2lkLAorCQkJICAgICAgIiIsICZkaWZmX29wdHMpOworCWRpZmZjb3JlX3N0ZCgmZGlmZl9vcHRzKTsKKworCWlmICghZGlmZl9xdWV1ZWRfZGlmZi5ucikgeworCQkvKiBUaGUgcGF0aCBpcyB0aGUgc2FtZSBhcyBwYXJlbnQgKi8KKwkJcG9yaWdpbiA9IGdldF9vcmlnaW4ocGFyZW50LCBvcmlnaW4tPnBhdGgpOworCQlvaWRjcHkoJnBvcmlnaW4tPmJsb2Jfb2lkLCAmb3JpZ2luLT5ibG9iX29pZCk7CisJCXBvcmlnaW4tPm1vZGUgPSBvcmlnaW4tPm1vZGU7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogU2luY2Ugb3JpZ2luLT5wYXRoIGlzIGEgcGF0aHNwZWMsIGlmIHRoZSBwYXJlbnQKKwkJICogY29tbWl0IGhhZCBpdCBhcyBhIGRpcmVjdG9yeSwgd2Ugd2lsbCBzZWUgYSB3aG9sZQorCQkgKiBidW5jaCBvZiBkZWxldGlvbiBvZiBmaWxlcyBpbiB0aGUgZGlyZWN0b3J5IHRoYXQgd2UKKwkJICogZG8gbm90IGNhcmUgYWJvdXQuCisJCSAqLworCQlpbnQgaTsKKwkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBOVUxMOworCQlmb3IgKGkgPSAwOyBpIDwgZGlmZl9xdWV1ZWRfZGlmZi5ucjsgaSsrKSB7CisJCQljb25zdCBjaGFyICpuYW1lOworCQkJcCA9IGRpZmZfcXVldWVkX2RpZmYucXVldWVbaV07CisJCQluYW1lID0gcC0+b25lLT5wYXRoID8gcC0+b25lLT5wYXRoIDogcC0+dHdvLT5wYXRoOworCQkJaWYgKCFzdHJjbXAobmFtZSwgb3JpZ2luLT5wYXRoKSkKKwkJCQlicmVhazsKKwkJfQorCQlpZiAoIXApCisJCQlkaWUoImludGVybmFsIGVycm9yIGluIGJsYW1lOjpmaW5kX29yaWdpbiIpOworCQlzd2l0Y2ggKHAtPnN0YXR1cykgeworCQlkZWZhdWx0OgorCQkJZGllKCJpbnRlcm5hbCBlcnJvciBpbiBibGFtZTo6ZmluZF9vcmlnaW4gKCVjKSIsCisJCQkgICAgcC0+c3RhdHVzKTsKKwkJY2FzZSAnTSc6CisJCQlwb3JpZ2luID0gZ2V0X29yaWdpbihwYXJlbnQsIG9yaWdpbi0+cGF0aCk7CisJCQlvaWRjcHkoJnBvcmlnaW4tPmJsb2Jfb2lkLCAmcC0+b25lLT5vaWQpOworCQkJcG9yaWdpbi0+bW9kZSA9IHAtPm9uZS0+bW9kZTsKKwkJCWJyZWFrOworCQljYXNlICdBJzoKKwkJY2FzZSAnVCc6CisJCQkvKiBEaWQgbm90IGV4aXN0IGluIHBhcmVudCwgb3IgdHlwZSBjaGFuZ2VkICovCisJCQlicmVhazsKKwkJfQorCX0KKwlkaWZmX2ZsdXNoKCZkaWZmX29wdHMpOworCWNsZWFyX3BhdGhzcGVjKCZkaWZmX29wdHMucGF0aHNwZWMpOworCXJldHVybiBwb3JpZ2luOworfQorCisvKgorICogV2UgaGF2ZSBhbiBvcmlnaW4gLS0gZmluZCB0aGUgcGF0aCB0aGF0IGNvcnJlc3BvbmRzIHRvIGl0IGluIGl0cworICogcGFyZW50IGFuZCByZXR1cm4gYW4gb3JpZ2luIHN0cnVjdHVyZSB0byByZXByZXNlbnQgaXQuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpmaW5kX3JlbmFtZShzdHJ1Y3QgY29tbWl0ICpwYXJlbnQsCisJCQkJICBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpvcmlnaW4pCit7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqcG9yaWdpbiA9IE5VTEw7CisJc3RydWN0IGRpZmZfb3B0aW9ucyBkaWZmX29wdHM7CisJaW50IGk7CisKKwlkaWZmX3NldHVwKCZkaWZmX29wdHMpOworCURJRkZfT1BUX1NFVCgmZGlmZl9vcHRzLCBSRUNVUlNJVkUpOworCWRpZmZfb3B0cy5kZXRlY3RfcmVuYW1lID0gRElGRl9ERVRFQ1RfUkVOQU1FOworCWRpZmZfb3B0cy5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTk9fT1VUUFVUOworCWRpZmZfb3B0cy5zaW5nbGVfZm9sbG93ID0gb3JpZ2luLT5wYXRoOworCWRpZmZfc2V0dXBfZG9uZSgmZGlmZl9vcHRzKTsKKworCWlmIChpc19udWxsX29pZCgmb3JpZ2luLT5jb21taXQtPm9iamVjdC5vaWQpKQorCQlkb19kaWZmX2NhY2hlKCZwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQsICZkaWZmX29wdHMpOworCWVsc2UKKwkJZGlmZl90cmVlX29pZCgmcGFyZW50LT50cmVlLT5vYmplY3Qub2lkLAorCQkJICAgICAgJm9yaWdpbi0+Y29tbWl0LT50cmVlLT5vYmplY3Qub2lkLAorCQkJICAgICAgIiIsICZkaWZmX29wdHMpOworCWRpZmZjb3JlX3N0ZCgmZGlmZl9vcHRzKTsKKworCWZvciAoaSA9IDA7IGkgPCBkaWZmX3F1ZXVlZF9kaWZmLm5yOyBpKyspIHsKKwkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBkaWZmX3F1ZXVlZF9kaWZmLnF1ZXVlW2ldOworCQlpZiAoKHAtPnN0YXR1cyA9PSAnUicgfHwgcC0+c3RhdHVzID09ICdDJykgJiYKKwkJICAgICFzdHJjbXAocC0+dHdvLT5wYXRoLCBvcmlnaW4tPnBhdGgpKSB7CisJCQlwb3JpZ2luID0gZ2V0X29yaWdpbihwYXJlbnQsIHAtPm9uZS0+cGF0aCk7CisJCQlvaWRjcHkoJnBvcmlnaW4tPmJsb2Jfb2lkLCAmcC0+b25lLT5vaWQpOworCQkJcG9yaWdpbi0+bW9kZSA9IHAtPm9uZS0+bW9kZTsKKwkJCWJyZWFrOworCQl9CisJfQorCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7CisJY2xlYXJfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYyk7CisJcmV0dXJuIHBvcmlnaW47Cit9CisKKy8qCisgKiBBcHBlbmQgYSBuZXcgYmxhbWUgZW50cnkgdG8gYSBnaXZlbiBvdXRwdXQgcXVldWUuCisgKi8KK3N0YXRpYyB2b2lkIGFkZF9ibGFtZV9lbnRyeShzdHJ1Y3QgYmxhbWVfZW50cnkgKioqcXVldWUsCisJCQkgICAgY29uc3Qgc3RydWN0IGJsYW1lX2VudHJ5ICpzcmMpCit7CisJc3RydWN0IGJsYW1lX2VudHJ5ICplID0geG1hbGxvYyhzaXplb2YoKmUpKTsKKwltZW1jcHkoZSwgc3JjLCBzaXplb2YoKmUpKTsKKwlibGFtZV9vcmlnaW5faW5jcmVmKGUtPnN1c3BlY3QpOworCisJZS0+bmV4dCA9ICoqcXVldWU7CisJKipxdWV1ZSA9IGU7CisJKnF1ZXVlID0gJmUtPm5leHQ7Cit9CisKKy8qCisgKiBzcmMgdHlwaWNhbGx5IGlzIG9uLXN0YWNrOyB3ZSB3YW50IHRvIGNvcHkgdGhlIGluZm9ybWF0aW9uIGluIGl0IHRvCisgKiBhIG1hbGxvY2VkIGJsYW1lX2VudHJ5IHRoYXQgZ2V0cyBhZGRlZCB0byB0aGUgZ2l2ZW4gcXVldWUuICBUaGUKKyAqIG9yaWdpbiBvZiBkc3QgbG9zZXMgYSByZWZjbnQuCisgKi8KK3N0YXRpYyB2b2lkIGR1cF9lbnRyeShzdHJ1Y3QgYmxhbWVfZW50cnkgKioqcXVldWUsCisJCSAgICAgIHN0cnVjdCBibGFtZV9lbnRyeSAqZHN0LCBzdHJ1Y3QgYmxhbWVfZW50cnkgKnNyYykKK3sKKwlibGFtZV9vcmlnaW5faW5jcmVmKHNyYy0+c3VzcGVjdCk7CisJYmxhbWVfb3JpZ2luX2RlY3JlZihkc3QtPnN1c3BlY3QpOworCW1lbWNweShkc3QsIHNyYywgc2l6ZW9mKCpzcmMpKTsKKwlkc3QtPm5leHQgPSAqKnF1ZXVlOworCSoqcXVldWUgPSBkc3Q7CisJKnF1ZXVlID0gJmRzdC0+bmV4dDsKK30KKworY29uc3QgY2hhciAqYmxhbWVfbnRoX2xpbmUoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLCBsb25nIGxubykKK3sKKwlyZXR1cm4gc2ItPmZpbmFsX2J1ZiArIHNiLT5saW5lbm9bbG5vXTsKK30KKworLyoKKyAqIEl0IGlzIGtub3duIHRoYXQgbGluZXMgYmV0d2VlbiB0bG5vIHRvIHNhbWUgY2FtZSBmcm9tIHBhcmVudCwgYW5kIGUKKyAqIGhhcyBhbiBvdmVybGFwIHdpdGggdGhhdCByYW5nZS4gIGl0IGFsc28gaXMga25vd24gdGhhdCBwYXJlbnQncworICogbGluZSBwbG5vIGNvcnJlc3BvbmRzIHRvIGUncyBsaW5lIHRsbm8uCisgKgorICogICAgICAgICAgICAgICAgPC0tLS0gZSAtLS0tLT4KKyAqICAgICAgICAgICAgICAgICAgIDwtLS0tLS0+CisgKiAgICAgICAgICAgICAgICAgICA8LS0tLS0tLS0tLS0tPgorICogICAgICAgICAgICAgPC0tLS0tLS0tLS0tLT4KKyAqICAgICAgICAgICAgIDwtLS0tLS0tLS0tLS0tLS0tLS0+CisgKgorICogU3BsaXQgZSBpbnRvIHBvdGVudGlhbGx5IHRocmVlIHBhcnRzOyBiZWZvcmUgdGhpcyBjaHVuaywgdGhlIGNodW5rCisgKiB0byBiZSBibGFtZWQgZm9yIHRoZSBwYXJlbnQsIGFuZCBhZnRlciB0aGF0IHBvcnRpb24uCisgKi8KK3N0YXRpYyB2b2lkIHNwbGl0X292ZXJsYXAoc3RydWN0IGJsYW1lX2VudHJ5ICpzcGxpdCwKKwkJCSAgc3RydWN0IGJsYW1lX2VudHJ5ICplLAorCQkJICBpbnQgdGxubywgaW50IHBsbm8sIGludCBzYW1lLAorCQkJICBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwYXJlbnQpCit7CisJaW50IGNodW5rX2VuZF9sbm87CisJbWVtc2V0KHNwbGl0LCAwLCBzaXplb2Yoc3RydWN0IGJsYW1lX2VudHJ5IFszXSkpOworCisJaWYgKGUtPnNfbG5vIDwgdGxubykgeworCQkvKiB0aGVyZSBpcyBhIHByZS1jaHVuayBwYXJ0IG5vdCBibGFtZWQgb24gcGFyZW50ICovCisJCXNwbGl0WzBdLnN1c3BlY3QgPSBibGFtZV9vcmlnaW5faW5jcmVmKGUtPnN1c3BlY3QpOworCQlzcGxpdFswXS5sbm8gPSBlLT5sbm87CisJCXNwbGl0WzBdLnNfbG5vID0gZS0+c19sbm87CisJCXNwbGl0WzBdLm51bV9saW5lcyA9IHRsbm8gLSBlLT5zX2xubzsKKwkJc3BsaXRbMV0ubG5vID0gZS0+bG5vICsgdGxubyAtIGUtPnNfbG5vOworCQlzcGxpdFsxXS5zX2xubyA9IHBsbm87CisJfQorCWVsc2UgeworCQlzcGxpdFsxXS5sbm8gPSBlLT5sbm87CisJCXNwbGl0WzFdLnNfbG5vID0gcGxubyArIChlLT5zX2xubyAtIHRsbm8pOworCX0KKworCWlmIChzYW1lIDwgZS0+c19sbm8gKyBlLT5udW1fbGluZXMpIHsKKwkJLyogdGhlcmUgaXMgYSBwb3N0LWNodW5rIHBhcnQgbm90IGJsYW1lZCBvbiBwYXJlbnQgKi8KKwkJc3BsaXRbMl0uc3VzcGVjdCA9IGJsYW1lX29yaWdpbl9pbmNyZWYoZS0+c3VzcGVjdCk7CisJCXNwbGl0WzJdLmxubyA9IGUtPmxubyArIChzYW1lIC0gZS0+c19sbm8pOworCQlzcGxpdFsyXS5zX2xubyA9IGUtPnNfbG5vICsgKHNhbWUgLSBlLT5zX2xubyk7CisJCXNwbGl0WzJdLm51bV9saW5lcyA9IGUtPnNfbG5vICsgZS0+bnVtX2xpbmVzIC0gc2FtZTsKKwkJY2h1bmtfZW5kX2xubyA9IHNwbGl0WzJdLmxubzsKKwl9CisJZWxzZQorCQljaHVua19lbmRfbG5vID0gZS0+bG5vICsgZS0+bnVtX2xpbmVzOworCXNwbGl0WzFdLm51bV9saW5lcyA9IGNodW5rX2VuZF9sbm8gLSBzcGxpdFsxXS5sbm87CisKKwkvKgorCSAqIGlmIGl0IHR1cm5zIG91dCB0aGVyZSBpcyBub3RoaW5nIHRvIGJsYW1lIHRoZSBwYXJlbnQgZm9yLAorCSAqIGZvcmdldCBhYm91dCB0aGUgc3BsaXR0aW5nLiAgIXNwbGl0WzFdLnN1c3BlY3Qgc2lnbmFscyB0aGlzLgorCSAqLworCWlmIChzcGxpdFsxXS5udW1fbGluZXMgPCAxKQorCQlyZXR1cm47CisJc3BsaXRbMV0uc3VzcGVjdCA9IGJsYW1lX29yaWdpbl9pbmNyZWYocGFyZW50KTsKK30KKworLyoKKyAqIHNwbGl0X292ZXJsYXAoKSBkaXZpZGVkIGFuIGV4aXN0aW5nIGJsYW1lIGUgaW50byB1cCB0byB0aHJlZSBwYXJ0cworICogaW4gc3BsaXQuICBBbnkgYXNzaWduZWQgYmxhbWUgaXMgbW92ZWQgdG8gcXVldWUgdG8KKyAqIHJlZmxlY3QgdGhlIHNwbGl0LgorICovCitzdGF0aWMgdm9pZCBzcGxpdF9ibGFtZShzdHJ1Y3QgYmxhbWVfZW50cnkgKioqYmxhbWVkLAorCQkJc3RydWN0IGJsYW1lX2VudHJ5ICoqKnVuYmxhbWVkLAorCQkJc3RydWN0IGJsYW1lX2VudHJ5ICpzcGxpdCwKKwkJCXN0cnVjdCBibGFtZV9lbnRyeSAqZSkKK3sKKwlpZiAoc3BsaXRbMF0uc3VzcGVjdCAmJiBzcGxpdFsyXS5zdXNwZWN0KSB7CisJCS8qIFRoZSBmaXJzdCBwYXJ0IChyZXVzZSBzdG9yYWdlIGZvciB0aGUgZXhpc3RpbmcgZW50cnkgZSkgKi8KKwkJZHVwX2VudHJ5KHVuYmxhbWVkLCBlLCAmc3BsaXRbMF0pOworCisJCS8qIFRoZSBsYXN0IHBhcnQgLS0gbWUgKi8KKwkJYWRkX2JsYW1lX2VudHJ5KHVuYmxhbWVkLCAmc3BsaXRbMl0pOworCisJCS8qIC4uLiBhbmQgdGhlIG1pZGRsZSBwYXJ0IC0tIHBhcmVudCAqLworCQlhZGRfYmxhbWVfZW50cnkoYmxhbWVkLCAmc3BsaXRbMV0pOworCX0KKwllbHNlIGlmICghc3BsaXRbMF0uc3VzcGVjdCAmJiAhc3BsaXRbMl0uc3VzcGVjdCkKKwkJLyoKKwkJICogVGhlIHBhcmVudCBjb3ZlcnMgdGhlIGVudGlyZSBhcmVhOyByZXVzZSBzdG9yYWdlIGZvcgorCQkgKiBlIGFuZCByZXBsYWNlIGl0IHdpdGggdGhlIHBhcmVudC4KKwkJICovCisJCWR1cF9lbnRyeShibGFtZWQsIGUsICZzcGxpdFsxXSk7CisJZWxzZSBpZiAoc3BsaXRbMF0uc3VzcGVjdCkgeworCQkvKiBtZSBhbmQgdGhlbiBwYXJlbnQgKi8KKwkJZHVwX2VudHJ5KHVuYmxhbWVkLCBlLCAmc3BsaXRbMF0pOworCQlhZGRfYmxhbWVfZW50cnkoYmxhbWVkLCAmc3BsaXRbMV0pOworCX0KKwllbHNlIHsKKwkJLyogcGFyZW50IGFuZCB0aGVuIG1lICovCisJCWR1cF9lbnRyeShibGFtZWQsIGUsICZzcGxpdFsxXSk7CisJCWFkZF9ibGFtZV9lbnRyeSh1bmJsYW1lZCwgJnNwbGl0WzJdKTsKKwl9Cit9CisKKy8qCisgKiBBZnRlciBzcGxpdHRpbmcgdGhlIGJsYW1lLCB0aGUgb3JpZ2lucyB1c2VkIGJ5IHRoZQorICogb24tc3RhY2sgYmxhbWVfZW50cnkgc2hvdWxkIGxvc2Ugb25lIHJlZmNudCBlYWNoLgorICovCitzdGF0aWMgdm9pZCBkZWNyZWZfc3BsaXQoc3RydWN0IGJsYW1lX2VudHJ5ICpzcGxpdCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspCisJCWJsYW1lX29yaWdpbl9kZWNyZWYoc3BsaXRbaV0uc3VzcGVjdCk7Cit9CisKKy8qCisgKiByZXZlcnNlX2JsYW1lIHJldmVyc2VzIHRoZSBsaXN0IGdpdmVuIGluIGhlYWQsIGFwcGVuZGluZyB0YWlsLgorICogVGhhdCBhbGxvd3MgdXMgdG8gYnVpbGQgbGlzdHMgaW4gcmV2ZXJzZSBvcmRlciwgdGhlbiByZXZlcnNlIHRoZW0KKyAqIGFmdGVyd2FyZHMuICBUaGlzIGNhbiBiZSBmYXN0ZXIgdGhhbiBidWlsZGluZyB0aGUgbGlzdCBpbiBwcm9wZXIKKyAqIG9yZGVyIHJpZ2h0IGF3YXkuICBUaGUgcmVhc29uIGlzIHRoYXQgYnVpbGRpbmcgaW4gcHJvcGVyIG9yZGVyCisgKiByZXF1aXJlcyB3cml0aW5nIGEgbGluayBpbiB0aGUgX3ByZXZpb3VzXyBlbGVtZW50LCB3aGlsZSBidWlsZGluZworICogaW4gcmV2ZXJzZSBvcmRlciBqdXN0IHJlcXVpcmVzIHBsYWNpbmcgdGhlIGxpc3QgaGVhZCBpbnRvIHRoZQorICogX2N1cnJlbnRfIGVsZW1lbnQuCisgKi8KKworc3RhdGljIHN0cnVjdCBibGFtZV9lbnRyeSAqcmV2ZXJzZV9ibGFtZShzdHJ1Y3QgYmxhbWVfZW50cnkgKmhlYWQsCisJCQkJCSBzdHJ1Y3QgYmxhbWVfZW50cnkgKnRhaWwpCit7CisJd2hpbGUgKGhlYWQpIHsKKwkJc3RydWN0IGJsYW1lX2VudHJ5ICpuZXh0ID0gaGVhZC0+bmV4dDsKKwkJaGVhZC0+bmV4dCA9IHRhaWw7CisJCXRhaWwgPSBoZWFkOworCQloZWFkID0gbmV4dDsKKwl9CisJcmV0dXJuIHRhaWw7Cit9CisKKy8qCisgKiBQcm9jZXNzIG9uZSBodW5rIGZyb20gdGhlIHBhdGNoIGJldHdlZW4gdGhlIGN1cnJlbnQgc3VzcGVjdCBmb3IKKyAqIGJsYW1lX2VudHJ5IGUgYW5kIGl0cyBwYXJlbnQuICBUaGlzIGZpcnN0IGJsYW1lcyBhbnkgdW5maW5pc2hlZAorICogZW50cmllcyBiZWZvcmUgdGhlIGNodW5rICh3aGljaCBpcyB3aGVyZSB0YXJnZXQgYW5kIHBhcmVudCBzdGFydAorICogZGlmZmVyaW5nKSBvbiB0aGUgcGFyZW50LCBhbmQgdGhlbiBzcGxpdHMgYmxhbWUgZW50cmllcyBhdCB0aGUKKyAqIHN0YXJ0IGFuZCBhdCB0aGUgZW5kIG9mIHRoZSBkaWZmZXJlbmNlIHJlZ2lvbi4gIFNpbmNlIHVzZSBvZiAtTSBhbmQKKyAqIC1DIG9wdGlvbnMgbWF5IGxlYWQgdG8gb3ZlcmxhcHBpbmcvZHVwbGljYXRlIHNvdXJjZSBsaW5lIG51bWJlcgorICogcmFuZ2VzLCBhbGwgd2UgY2FuIHJlbHkgb24gZnJvbSBzb3J0aW5nL21lcmdpbmcgaXMgdGhlIG9yZGVyIG9mIHRoZQorICogZmlyc3Qgc3VzcGVjdCBsaW5lIG51bWJlci4KKyAqLworc3RhdGljIHZvaWQgYmxhbWVfY2h1bmsoc3RydWN0IGJsYW1lX2VudHJ5ICoqKmRzdHEsIHN0cnVjdCBibGFtZV9lbnRyeSAqKipzcmNxLAorCQkJaW50IHRsbm8sIGludCBvZmZzZXQsIGludCBzYW1lLAorCQkJc3RydWN0IGJsYW1lX29yaWdpbiAqcGFyZW50KQoreworCXN0cnVjdCBibGFtZV9lbnRyeSAqZSA9ICoqc3JjcTsKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKnNhbWVwID0gTlVMTCwgKmRpZmZwID0gTlVMTDsKKworCXdoaWxlIChlICYmIGUtPnNfbG5vIDwgdGxubykgeworCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5leHQgPSBlLT5uZXh0OworCQkvKgorCQkgKiBjdXJyZW50IHJlY29yZCBzdGFydHMgYmVmb3JlIGRpZmZlcmluZyBwb3J0aW9uLiAgSWYKKwkJICogaXQgcmVhY2hlcyBpbnRvIGl0LCB3ZSBuZWVkIHRvIHNwbGl0IGl0IHVwIGFuZAorCQkgKiBleGFtaW5lIHRoZSBzZWNvbmQgcGFydCBzZXBhcmF0ZWx5LgorCQkgKi8KKwkJaWYgKGUtPnNfbG5vICsgZS0+bnVtX2xpbmVzID4gdGxubykgeworCQkJLyogTW92ZSBzZWNvbmQgaGFsZiB0byBhIG5ldyByZWNvcmQgKi8KKwkJCWludCBsZW4gPSB0bG5vIC0gZS0+c19sbm87CisJCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm4gPSB4Y2FsbG9jKDEsIHNpemVvZiAoc3RydWN0IGJsYW1lX2VudHJ5KSk7CisJCQluLT5zdXNwZWN0ID0gZS0+c3VzcGVjdDsKKwkJCW4tPmxubyA9IGUtPmxubyArIGxlbjsKKwkJCW4tPnNfbG5vID0gZS0+c19sbm8gKyBsZW47CisJCQluLT5udW1fbGluZXMgPSBlLT5udW1fbGluZXMgLSBsZW47CisJCQllLT5udW1fbGluZXMgPSBsZW47CisJCQllLT5zY29yZSA9IDA7CisJCQkvKiBQdXNoIG5ldyByZWNvcmQgdG8gZGlmZnAgKi8KKwkJCW4tPm5leHQgPSBkaWZmcDsKKwkJCWRpZmZwID0gbjsKKwkJfSBlbHNlCisJCQlibGFtZV9vcmlnaW5fZGVjcmVmKGUtPnN1c3BlY3QpOworCQkvKiBQYXNzIGJsYW1lIGZvciBldmVyeXRoaW5nIGJlZm9yZSB0aGUgZGlmZmVyaW5nCisJCSAqIGNodW5rIHRvIHRoZSBwYXJlbnQgKi8KKwkJZS0+c3VzcGVjdCA9IGJsYW1lX29yaWdpbl9pbmNyZWYocGFyZW50KTsKKwkJZS0+c19sbm8gKz0gb2Zmc2V0OworCQllLT5uZXh0ID0gc2FtZXA7CisJCXNhbWVwID0gZTsKKwkJZSA9IG5leHQ7CisJfQorCS8qCisJICogQXMgd2UgZG9uJ3Qga25vdyBob3cgbXVjaCBvZiBhIGNvbW1vbiBzdHJldGNoIGFmdGVyIHRoaXMKKwkgKiBkaWZmIHdpbGwgb2NjdXIsIHRoZSBjdXJyZW50bHkgYmxhbWVkIHBhcnRzIGFyZSBhbGwgdGhhdCB3ZQorCSAqIGNhbiBhc3NpZ24gdG8gdGhlIHBhcmVudCBmb3Igbm93LgorCSAqLworCisJaWYgKHNhbWVwKSB7CisJCSoqZHN0cSA9IHJldmVyc2VfYmxhbWUoc2FtZXAsICoqZHN0cSk7CisJCSpkc3RxID0gJnNhbWVwLT5uZXh0OworCX0KKwkvKgorCSAqIFByZXBlbmQgdGhlIHNwbGl0IG9mZiBwb3J0aW9uczogZXZlcnl0aGluZyBhZnRlciBlIHN0YXJ0cworCSAqIGFmdGVyIHRoZSBibGFtZWFibGUgcG9ydGlvbi4KKwkgKi8KKwllID0gcmV2ZXJzZV9ibGFtZShkaWZmcCwgZSk7CisKKwkvKgorCSAqIE5vdyByZXRhaW4gcmVjb3JkcyBvbiB0aGUgdGFyZ2V0IHdoaWxlIHBhcnRzIGFyZSBkaWZmZXJlbnQKKwkgKiBmcm9tIHRoZSBwYXJlbnQuCisJICovCisJc2FtZXAgPSBOVUxMOworCWRpZmZwID0gTlVMTDsKKwl3aGlsZSAoZSAmJiBlLT5zX2xubyA8IHNhbWUpIHsKKwkJc3RydWN0IGJsYW1lX2VudHJ5ICpuZXh0ID0gZS0+bmV4dDsKKworCQkvKgorCQkgKiBJZiBjdXJyZW50IHJlY29yZCBleHRlbmRzIGludG8gc2FtZW5lc3MsIG5lZWQgdG8gc3BsaXQuCisJCSAqLworCQlpZiAoZS0+c19sbm8gKyBlLT5udW1fbGluZXMgPiBzYW1lKSB7CisJCQkvKgorCQkJICogTW92ZSBzZWNvbmQgaGFsZiB0byBhIG5ldyByZWNvcmQgdG8gYmUKKwkJCSAqIHByb2Nlc3NlZCBieSBsYXRlciBjaHVua3MKKwkJCSAqLworCQkJaW50IGxlbiA9IHNhbWUgLSBlLT5zX2xubzsKKwkJCXN0cnVjdCBibGFtZV9lbnRyeSAqbiA9IHhjYWxsb2MoMSwgc2l6ZW9mIChzdHJ1Y3QgYmxhbWVfZW50cnkpKTsKKwkJCW4tPnN1c3BlY3QgPSBibGFtZV9vcmlnaW5faW5jcmVmKGUtPnN1c3BlY3QpOworCQkJbi0+bG5vID0gZS0+bG5vICsgbGVuOworCQkJbi0+c19sbm8gPSBlLT5zX2xubyArIGxlbjsKKwkJCW4tPm51bV9saW5lcyA9IGUtPm51bV9saW5lcyAtIGxlbjsKKwkJCWUtPm51bV9saW5lcyA9IGxlbjsKKwkJCWUtPnNjb3JlID0gMDsKKwkJCS8qIFB1c2ggbmV3IHJlY29yZCB0byBzYW1lcCAqLworCQkJbi0+bmV4dCA9IHNhbWVwOworCQkJc2FtZXAgPSBuOworCQl9CisJCWUtPm5leHQgPSBkaWZmcDsKKwkJZGlmZnAgPSBlOworCQllID0gbmV4dDsKKwl9CisJKipzcmNxID0gcmV2ZXJzZV9ibGFtZShkaWZmcCwgcmV2ZXJzZV9ibGFtZShzYW1lcCwgZSkpOworCS8qIE1vdmUgYWNyb3NzIGVsZW1lbnRzIHRoYXQgYXJlIGluIHRoZSB1bmJsYW1hYmxlIHBvcnRpb24gKi8KKwlpZiAoZGlmZnApCisJCSpzcmNxID0gJmRpZmZwLT5uZXh0OworfQorCitzdHJ1Y3QgYmxhbWVfY2h1bmtfY2JfZGF0YSB7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqcGFyZW50OworCWxvbmcgb2Zmc2V0OworCXN0cnVjdCBibGFtZV9lbnRyeSAqKmRzdHE7CisJc3RydWN0IGJsYW1lX2VudHJ5ICoqc3JjcTsKK307CisKKy8qIGRpZmYgY2h1bmtzIGFyZSBmcm9tIHBhcmVudCB0byB0YXJnZXQgKi8KK3N0YXRpYyBpbnQgYmxhbWVfY2h1bmtfY2IobG9uZyBzdGFydF9hLCBsb25nIGNvdW50X2EsCisJCQkgIGxvbmcgc3RhcnRfYiwgbG9uZyBjb3VudF9iLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBibGFtZV9jaHVua19jYl9kYXRhICpkID0gZGF0YTsKKwlpZiAoc3RhcnRfYSAtIHN0YXJ0X2IgIT0gZC0+b2Zmc2V0KQorCQlkaWUoImludGVybmFsIGVycm9yIGluIGJsYW1lOjpibGFtZV9jaHVua19jYiIpOworCWJsYW1lX2NodW5rKCZkLT5kc3RxLCAmZC0+c3JjcSwgc3RhcnRfYiwgc3RhcnRfYSAtIHN0YXJ0X2IsCisJCSAgICBzdGFydF9iICsgY291bnRfYiwgZC0+cGFyZW50KTsKKwlkLT5vZmZzZXQgPSBzdGFydF9hICsgY291bnRfYSAtIChzdGFydF9iICsgY291bnRfYik7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBXZSBhcmUgbG9va2luZyBhdCB0aGUgb3JpZ2luICd0YXJnZXQnIGFuZCBhaW1pbmcgdG8gcGFzcyBibGFtZQorICogZm9yIHRoZSBsaW5lcyBpdCBpcyBzdXNwZWN0ZWQgdG8gaXRzIHBhcmVudC4gIFJ1biBkaWZmIHRvIGZpbmQKKyAqIHdoaWNoIGxpbmVzIGNhbWUgZnJvbSBwYXJlbnQgYW5kIHBhc3MgYmxhbWUgZm9yIHRoZW0uCisgKi8KK3N0YXRpYyB2b2lkIHBhc3NfYmxhbWVfdG9fcGFyZW50KHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYiwKKwkJCQkgc3RydWN0IGJsYW1lX29yaWdpbiAqdGFyZ2V0LAorCQkJCSBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwYXJlbnQpCit7CisJbW1maWxlX3QgZmlsZV9wLCBmaWxlX287CisJc3RydWN0IGJsYW1lX2NodW5rX2NiX2RhdGEgZDsKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5ld2Rlc3QgPSBOVUxMOworCisJaWYgKCF0YXJnZXQtPnN1c3BlY3RzKQorCQlyZXR1cm47IC8qIG5vdGhpbmcgcmVtYWlucyBmb3IgdGhpcyB0YXJnZXQgKi8KKworCWQucGFyZW50ID0gcGFyZW50OworCWQub2Zmc2V0ID0gMDsKKwlkLmRzdHEgPSAmbmV3ZGVzdDsgZC5zcmNxID0gJnRhcmdldC0+c3VzcGVjdHM7CisKKwlmaWxsX29yaWdpbl9ibG9iKCZzYi0+cmV2cy0+ZGlmZm9wdCwgcGFyZW50LCAmZmlsZV9wLCAmc2ItPm51bV9yZWFkX2Jsb2IpOworCWZpbGxfb3JpZ2luX2Jsb2IoJnNiLT5yZXZzLT5kaWZmb3B0LCB0YXJnZXQsICZmaWxlX28sICZzYi0+bnVtX3JlYWRfYmxvYik7CisJc2ItPm51bV9nZXRfcGF0Y2grKzsKKworCWlmIChkaWZmX2h1bmtzKCZmaWxlX3AsICZmaWxlX28sIGJsYW1lX2NodW5rX2NiLCAmZCwgc2ItPnhkbF9vcHRzKSkKKwkJZGllKCJ1bmFibGUgdG8gZ2VuZXJhdGUgZGlmZiAoJXMgLT4gJXMpIiwKKwkJICAgIG9pZF90b19oZXgoJnBhcmVudC0+Y29tbWl0LT5vYmplY3Qub2lkKSwKKwkJICAgIG9pZF90b19oZXgoJnRhcmdldC0+Y29tbWl0LT5vYmplY3Qub2lkKSk7CisJLyogVGhlIHJlc3QgYXJlIHRoZSBzYW1lIGFzIHRoZSBwYXJlbnQgKi8KKwlibGFtZV9jaHVuaygmZC5kc3RxLCAmZC5zcmNxLCBJTlRfTUFYLCBkLm9mZnNldCwgSU5UX01BWCwgcGFyZW50KTsKKwkqZC5kc3RxID0gTlVMTDsKKwlxdWV1ZV9ibGFtZXMoc2IsIHBhcmVudCwgbmV3ZGVzdCk7CisKKwlyZXR1cm47Cit9CisKKy8qCisgKiBUaGUgbGluZXMgaW4gYmxhbWVfZW50cnkgYWZ0ZXIgc3BsaXR0aW5nIGJsYW1lcyBtYW55IHRpbWVzIGNhbiBiZWNvbWUKKyAqIHZlcnkgc21hbGwgYW5kIHRyaXZpYWwsIGFuZCBhdCBzb21lIHBvaW50IGl0IGJlY29tZXMgcG9pbnRsZXNzIHRvCisgKiBibGFtZSB0aGUgcGFyZW50cy4gIEUuZy4gIlx0XHR9XG5cdH1cblxuIiBhcHBlYXJzIGV2ZXJ5d2hlcmUgaW4gYW55CisgKiBvcmRpbmFyeSBDIHByb2dyYW0sIGFuZCBpdCBpcyBub3Qgd29ydGggdG8gc2F5IGl0IHdhcyBjb3BpZWQgZnJvbQorICogdG90YWxseSB1bnJlbGF0ZWQgZmlsZSBpbiB0aGUgcGFyZW50LgorICoKKyAqIENvbXB1dGUgaG93IHRyaXZpYWwgdGhlIGxpbmVzIGluIHRoZSBibGFtZV9lbnRyeSBhcmUuCisgKi8KK3Vuc2lnbmVkIGJsYW1lX2VudHJ5X3Njb3JlKHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYiwgc3RydWN0IGJsYW1lX2VudHJ5ICplKQoreworCXVuc2lnbmVkIHNjb3JlOworCWNvbnN0IGNoYXIgKmNwLCAqZXA7CisKKwlpZiAoZS0+c2NvcmUpCisJCXJldHVybiBlLT5zY29yZTsKKworCXNjb3JlID0gMTsKKwljcCA9IGJsYW1lX250aF9saW5lKHNiLCBlLT5sbm8pOworCWVwID0gYmxhbWVfbnRoX2xpbmUoc2IsIGUtPmxubyArIGUtPm51bV9saW5lcyk7CisJd2hpbGUgKGNwIDwgZXApIHsKKwkJdW5zaWduZWQgY2ggPSAqKCh1bnNpZ25lZCBjaGFyICopY3ApOworCQlpZiAoaXNhbG51bShjaCkpCisJCQlzY29yZSsrOworCQljcCsrOworCX0KKwllLT5zY29yZSA9IHNjb3JlOworCXJldHVybiBzY29yZTsKK30KKworLyoKKyAqIGJlc3Rfc29fZmFyW10gYW5kIHRoaXNbXSBhcmUgYm90aCBhIHNwbGl0IG9mIGFuIGV4aXN0aW5nIGJsYW1lX2VudHJ5CisgKiB0aGF0IHBhc3NlcyBibGFtZSB0byB0aGUgcGFyZW50LiAgTWFpbnRhaW4gYmVzdF9zb19mYXIgdGhlIGJlc3Qgc3BsaXQKKyAqIHNvIGZhciwgYnkgY29tcGFyaW5nIHRoaXMgYW5kIGJlc3Rfc29fZmFyIGFuZCBjb3B5aW5nIHRoaXMgaW50bworICogYnN0X3NvX2ZhciBhcyBuZWVkZWQuCisgKi8KK3N0YXRpYyB2b2lkIGNvcHlfc3BsaXRfaWZfYmV0dGVyKHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYiwKKwkJCQkgc3RydWN0IGJsYW1lX2VudHJ5ICpiZXN0X3NvX2ZhciwKKwkJCQkgc3RydWN0IGJsYW1lX2VudHJ5ICp0aGlzKQoreworCWludCBpOworCisJaWYgKCF0aGlzWzFdLnN1c3BlY3QpCisJCXJldHVybjsKKwlpZiAoYmVzdF9zb19mYXJbMV0uc3VzcGVjdCkgeworCQlpZiAoYmxhbWVfZW50cnlfc2NvcmUoc2IsICZ0aGlzWzFdKSA8IGJsYW1lX2VudHJ5X3Njb3JlKHNiLCAmYmVzdF9zb19mYXJbMV0pKQorCQkJcmV0dXJuOworCX0KKworCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspCisJCWJsYW1lX29yaWdpbl9pbmNyZWYodGhpc1tpXS5zdXNwZWN0KTsKKwlkZWNyZWZfc3BsaXQoYmVzdF9zb19mYXIpOworCW1lbWNweShiZXN0X3NvX2ZhciwgdGhpcywgc2l6ZW9mKHN0cnVjdCBibGFtZV9lbnRyeSBbM10pKTsKK30KKworLyoKKyAqIFdlIGFyZSBsb29raW5nIGF0IGEgcGFydCBvZiB0aGUgZmluYWwgaW1hZ2UgcmVwcmVzZW50ZWQgYnkKKyAqIGVudCAodGxubyBhbmQgc2FtZSBhcmUgb2Zmc2V0IGJ5IGVudC0+c19sbm8pLgorICogdGxubyBpcyB3aGVyZSB3ZSBhcmUgbG9va2luZyBhdCBpbiB0aGUgZmluYWwgaW1hZ2UuCisgKiB1cCB0byAoYnV0IG5vdCBpbmNsdWRpbmcpIHNhbWUgbWF0Y2ggcHJlaW1hZ2UuCisgKiBwbG5vIGlzIHdoZXJlIHdlIGFyZSBsb29raW5nIGF0IGluIHRoZSBwcmVpbWFnZS4KKyAqCisgKiA8LS0tLS0tLS0tLS0tLS0gZmluYWwgaW1hZ2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KKyAqICAgICAgIDwtLS0tLS1lbnQtLS0tLS0+CisgKiAgICAgICAgIF50bG5vIF5zYW1lCisgKiAgICA8LS0tLS0tLS0tcHJlaW1hZ2UtLS0tLT4KKyAqICAgICAgICAgXnBsbm8KKyAqCisgKiBBbGwgbGluZSBudW1iZXJzIGFyZSAwLWJhc2VkLgorICovCitzdGF0aWMgdm9pZCBoYW5kbGVfc3BsaXQoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLAorCQkJIHN0cnVjdCBibGFtZV9lbnRyeSAqZW50LAorCQkJIGludCB0bG5vLCBpbnQgcGxubywgaW50IHNhbWUsCisJCQkgc3RydWN0IGJsYW1lX29yaWdpbiAqcGFyZW50LAorCQkJIHN0cnVjdCBibGFtZV9lbnRyeSAqc3BsaXQpCit7CisJaWYgKGVudC0+bnVtX2xpbmVzIDw9IHRsbm8pCisJCXJldHVybjsKKwlpZiAodGxubyA8IHNhbWUpIHsKKwkJc3RydWN0IGJsYW1lX2VudHJ5IHRoaXNbM107CisJCXRsbm8gKz0gZW50LT5zX2xubzsKKwkJc2FtZSArPSBlbnQtPnNfbG5vOworCQlzcGxpdF9vdmVybGFwKHRoaXMsIGVudCwgdGxubywgcGxubywgc2FtZSwgcGFyZW50KTsKKwkJY29weV9zcGxpdF9pZl9iZXR0ZXIoc2IsIHNwbGl0LCB0aGlzKTsKKwkJZGVjcmVmX3NwbGl0KHRoaXMpOworCX0KK30KKworc3RydWN0IGhhbmRsZV9zcGxpdF9jYl9kYXRhIHsKKwlzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2I7CisJc3RydWN0IGJsYW1lX2VudHJ5ICplbnQ7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqcGFyZW50OworCXN0cnVjdCBibGFtZV9lbnRyeSAqc3BsaXQ7CisJbG9uZyBwbG5vOworCWxvbmcgdGxubzsKK307CisKK3N0YXRpYyBpbnQgaGFuZGxlX3NwbGl0X2NiKGxvbmcgc3RhcnRfYSwgbG9uZyBjb3VudF9hLAorCQkJICAgbG9uZyBzdGFydF9iLCBsb25nIGNvdW50X2IsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGhhbmRsZV9zcGxpdF9jYl9kYXRhICpkID0gZGF0YTsKKwloYW5kbGVfc3BsaXQoZC0+c2IsIGQtPmVudCwgZC0+dGxubywgZC0+cGxubywgc3RhcnRfYiwgZC0+cGFyZW50LAorCQkgICAgIGQtPnNwbGl0KTsKKwlkLT5wbG5vID0gc3RhcnRfYSArIGNvdW50X2E7CisJZC0+dGxubyA9IHN0YXJ0X2IgKyBjb3VudF9iOworCXJldHVybiAwOworfQorCisvKgorICogRmluZCB0aGUgbGluZXMgZnJvbSBwYXJlbnQgdGhhdCBhcmUgdGhlIHNhbWUgYXMgZW50IHNvIHRoYXQKKyAqIHdlIGNhbiBwYXNzIGJsYW1lcyB0byBpdC4gIGZpbGVfcCBoYXMgdGhlIGJsb2IgY29udGVudHMgZm9yCisgKiB0aGUgcGFyZW50LgorICovCitzdGF0aWMgdm9pZCBmaW5kX2NvcHlfaW5fYmxvYihzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IsCisJCQkgICAgICBzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudCwKKwkJCSAgICAgIHN0cnVjdCBibGFtZV9vcmlnaW4gKnBhcmVudCwKKwkJCSAgICAgIHN0cnVjdCBibGFtZV9lbnRyeSAqc3BsaXQsCisJCQkgICAgICBtbWZpbGVfdCAqZmlsZV9wKQoreworCWNvbnN0IGNoYXIgKmNwOworCW1tZmlsZV90IGZpbGVfbzsKKwlzdHJ1Y3QgaGFuZGxlX3NwbGl0X2NiX2RhdGEgZDsKKworCW1lbXNldCgmZCwgMCwgc2l6ZW9mKGQpKTsKKwlkLnNiID0gc2I7IGQuZW50ID0gZW50OyBkLnBhcmVudCA9IHBhcmVudDsgZC5zcGxpdCA9IHNwbGl0OworCS8qCisJICogUHJlcGFyZSBtbWZpbGUgdGhhdCBjb250YWlucyBvbmx5IHRoZSBsaW5lcyBpbiBlbnQuCisJICovCisJY3AgPSBibGFtZV9udGhfbGluZShzYiwgZW50LT5sbm8pOworCWZpbGVfby5wdHIgPSAoY2hhciAqKSBjcDsKKwlmaWxlX28uc2l6ZSA9IGJsYW1lX250aF9saW5lKHNiLCBlbnQtPmxubyArIGVudC0+bnVtX2xpbmVzKSAtIGNwOworCisJLyoKKwkgKiBmaWxlX28gaXMgYSBwYXJ0IG9mIGZpbmFsIGltYWdlIHdlIGFyZSBhbm5vdGF0aW5nLgorCSAqIGZpbGVfcCBwYXJ0aWFsbHkgbWF5IG1hdGNoIHRoYXQgaW1hZ2UuCisJICovCisJbWVtc2V0KHNwbGl0LCAwLCBzaXplb2Yoc3RydWN0IGJsYW1lX2VudHJ5IFszXSkpOworCWlmIChkaWZmX2h1bmtzKGZpbGVfcCwgJmZpbGVfbywgaGFuZGxlX3NwbGl0X2NiLCAmZCwgc2ItPnhkbF9vcHRzKSkKKwkJZGllKCJ1bmFibGUgdG8gZ2VuZXJhdGUgZGlmZiAoJXMpIiwKKwkJICAgIG9pZF90b19oZXgoJnBhcmVudC0+Y29tbWl0LT5vYmplY3Qub2lkKSk7CisJLyogcmVtYWluZGVyLCBpZiBhbnksIGFsbCBtYXRjaCB0aGUgcHJlaW1hZ2UgKi8KKwloYW5kbGVfc3BsaXQoc2IsIGVudCwgZC50bG5vLCBkLnBsbm8sIGVudC0+bnVtX2xpbmVzLCBwYXJlbnQsIHNwbGl0KTsKK30KKworLyogTW92ZSBhbGwgYmxhbWUgZW50cmllcyBmcm9tIGxpc3QgKnNvdXJjZSB0aGF0IGhhdmUgYSBzY29yZSBzbWFsbGVyCisgKiB0aGFuIHNjb3JlX21pbiB0byB0aGUgZnJvbnQgb2YgbGlzdCAqc21hbGwuCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbGluayBwb2ludGluZyB0byB0aGUgb2xkIGhlYWQgb2YgdGhlIHNtYWxsIGxpc3QuCisgKi8KKworc3RhdGljIHN0cnVjdCBibGFtZV9lbnRyeSAqKmZpbHRlcl9zbWFsbChzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IsCisJCQkJCSBzdHJ1Y3QgYmxhbWVfZW50cnkgKipzbWFsbCwKKwkJCQkJIHN0cnVjdCBibGFtZV9lbnRyeSAqKnNvdXJjZSwKKwkJCQkJIHVuc2lnbmVkIHNjb3JlX21pbikKK3sKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKnAgPSAqc291cmNlOworCXN0cnVjdCBibGFtZV9lbnRyeSAqb2xkc21hbGwgPSAqc21hbGw7CisJd2hpbGUgKHApIHsKKwkJaWYgKGJsYW1lX2VudHJ5X3Njb3JlKHNiLCBwKSA8PSBzY29yZV9taW4pIHsKKwkJCSpzbWFsbCA9IHA7CisJCQlzbWFsbCA9ICZwLT5uZXh0OworCQkJcCA9ICpzbWFsbDsKKwkJfSBlbHNlIHsKKwkJCSpzb3VyY2UgPSBwOworCQkJc291cmNlID0gJnAtPm5leHQ7CisJCQlwID0gKnNvdXJjZTsKKwkJfQorCX0KKwkqc21hbGwgPSBvbGRzbWFsbDsKKwkqc291cmNlID0gTlVMTDsKKwlyZXR1cm4gc21hbGw7Cit9CisKKy8qCisgKiBTZWUgaWYgbGluZXMgY3VycmVudGx5IHRhcmdldCBpcyBzdXNwZWN0ZWQgZm9yIGNhbiBiZSBhdHRyaWJ1dGVkIHRvCisgKiBwYXJlbnQuCisgKi8KK3N0YXRpYyB2b2lkIGZpbmRfbW92ZV9pbl9wYXJlbnQoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLAorCQkJCXN0cnVjdCBibGFtZV9lbnRyeSAqKipibGFtZWQsCisJCQkJc3RydWN0IGJsYW1lX2VudHJ5ICoqdG9vc21hbGwsCisJCQkJc3RydWN0IGJsYW1lX29yaWdpbiAqdGFyZ2V0LAorCQkJCXN0cnVjdCBibGFtZV9vcmlnaW4gKnBhcmVudCkKK3sKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKmUsIHNwbGl0WzNdOworCXN0cnVjdCBibGFtZV9lbnRyeSAqdW5ibGFtZWQgPSB0YXJnZXQtPnN1c3BlY3RzOworCXN0cnVjdCBibGFtZV9lbnRyeSAqbGVmdG92ZXIgPSBOVUxMOworCW1tZmlsZV90IGZpbGVfcDsKKworCWlmICghdW5ibGFtZWQpCisJCXJldHVybjsgLyogbm90aGluZyByZW1haW5zIGZvciB0aGlzIHRhcmdldCAqLworCisJZmlsbF9vcmlnaW5fYmxvYigmc2ItPnJldnMtPmRpZmZvcHQsIHBhcmVudCwgJmZpbGVfcCwgJnNiLT5udW1fcmVhZF9ibG9iKTsKKwlpZiAoIWZpbGVfcC5wdHIpCisJCXJldHVybjsKKworCS8qIEF0IGVhY2ggaXRlcmF0aW9uLCB1bmJsYW1lZCBoYXMgYSBOVUxMLXRlcm1pbmF0ZWQgbGlzdCBvZgorCSAqIGVudHJpZXMgdGhhdCBoYXZlIG5vdCB5ZXQgYmVlbiB0ZXN0ZWQgZm9yIGJsYW1lLiAgbGVmdG92ZXIKKwkgKiBjb250YWlucyB0aGUgcmV2ZXJzZWQgbGlzdCBvZiBlbnRyaWVzIHRoYXQgaGF2ZSBiZWVuIHRlc3RlZAorCSAqIHdpdGhvdXQgYmVpbmcgYXNzaWduYWJsZSB0byB0aGUgcGFyZW50LgorCSAqLworCWRvIHsKKwkJc3RydWN0IGJsYW1lX2VudHJ5ICoqdW5ibGFtZWR0YWlsID0gJnVuYmxhbWVkOworCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5leHQ7CisJCWZvciAoZSA9IHVuYmxhbWVkOyBlOyBlID0gbmV4dCkgeworCQkJbmV4dCA9IGUtPm5leHQ7CisJCQlmaW5kX2NvcHlfaW5fYmxvYihzYiwgZSwgcGFyZW50LCBzcGxpdCwgJmZpbGVfcCk7CisJCQlpZiAoc3BsaXRbMV0uc3VzcGVjdCAmJgorCQkJICAgIHNiLT5tb3ZlX3Njb3JlIDwgYmxhbWVfZW50cnlfc2NvcmUoc2IsICZzcGxpdFsxXSkpIHsKKwkJCQlzcGxpdF9ibGFtZShibGFtZWQsICZ1bmJsYW1lZHRhaWwsIHNwbGl0LCBlKTsKKwkJCX0gZWxzZSB7CisJCQkJZS0+bmV4dCA9IGxlZnRvdmVyOworCQkJCWxlZnRvdmVyID0gZTsKKwkJCX0KKwkJCWRlY3JlZl9zcGxpdChzcGxpdCk7CisJCX0KKwkJKnVuYmxhbWVkdGFpbCA9IE5VTEw7CisJCXRvb3NtYWxsID0gZmlsdGVyX3NtYWxsKHNiLCB0b29zbWFsbCwgJnVuYmxhbWVkLCBzYi0+bW92ZV9zY29yZSk7CisJfSB3aGlsZSAodW5ibGFtZWQpOworCXRhcmdldC0+c3VzcGVjdHMgPSByZXZlcnNlX2JsYW1lKGxlZnRvdmVyLCBOVUxMKTsKK30KKworc3RydWN0IGJsYW1lX2xpc3QgeworCXN0cnVjdCBibGFtZV9lbnRyeSAqZW50OworCXN0cnVjdCBibGFtZV9lbnRyeSBzcGxpdFszXTsKK307CisKKy8qCisgKiBDb3VudCB0aGUgbnVtYmVyIG9mIGVudHJpZXMgdGhlIHRhcmdldCBpcyBzdXNwZWN0ZWQgZm9yLAorICogYW5kIHByZXBhcmUgYSBsaXN0IG9mIGVudHJ5IGFuZCB0aGUgYmVzdCBzcGxpdC4KKyAqLworc3RhdGljIHN0cnVjdCBibGFtZV9saXN0ICpzZXR1cF9ibGFtZV9saXN0KHN0cnVjdCBibGFtZV9lbnRyeSAqdW5ibGFtZWQsCisJCQkJCSAgIGludCAqbnVtX2VudHNfcCkKK3sKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKmU7CisJaW50IG51bV9lbnRzLCBpOworCXN0cnVjdCBibGFtZV9saXN0ICpibGFtZV9saXN0ID0gTlVMTDsKKworCWZvciAoZSA9IHVuYmxhbWVkLCBudW1fZW50cyA9IDA7IGU7IGUgPSBlLT5uZXh0KQorCQludW1fZW50cysrOworCWlmIChudW1fZW50cykgeworCQlibGFtZV9saXN0ID0geGNhbGxvYyhudW1fZW50cywgc2l6ZW9mKHN0cnVjdCBibGFtZV9saXN0KSk7CisJCWZvciAoZSA9IHVuYmxhbWVkLCBpID0gMDsgZTsgZSA9IGUtPm5leHQpCisJCQlibGFtZV9saXN0W2krK10uZW50ID0gZTsKKwl9CisJKm51bV9lbnRzX3AgPSBudW1fZW50czsKKwlyZXR1cm4gYmxhbWVfbGlzdDsKK30KKworLyoKKyAqIEZvciBsaW5lcyB0YXJnZXQgaXMgc3VzcGVjdGVkIGZvciwgc2VlIGlmIHdlIGNhbiBmaW5kIGNvZGUgbW92ZW1lbnQKKyAqIGFjcm9zcyBmaWxlIGJvdW5kYXJ5IGZyb20gdGhlIHBhcmVudCBjb21taXQuICBwb3JpZ2luIGlzIHRoZSBwYXRoCisgKiBpbiB0aGUgcGFyZW50IHdlIGFscmVhZHkgdHJpZWQuCisgKi8KK3N0YXRpYyB2b2lkIGZpbmRfY29weV9pbl9wYXJlbnQoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLAorCQkJCXN0cnVjdCBibGFtZV9lbnRyeSAqKipibGFtZWQsCisJCQkJc3RydWN0IGJsYW1lX2VudHJ5ICoqdG9vc21hbGwsCisJCQkJc3RydWN0IGJsYW1lX29yaWdpbiAqdGFyZ2V0LAorCQkJCXN0cnVjdCBjb21taXQgKnBhcmVudCwKKwkJCQlzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwb3JpZ2luLAorCQkJCWludCBvcHQpCit7CisJc3RydWN0IGRpZmZfb3B0aW9ucyBkaWZmX29wdHM7CisJaW50IGksIGo7CisJc3RydWN0IGJsYW1lX2xpc3QgKmJsYW1lX2xpc3Q7CisJaW50IG51bV9lbnRzOworCXN0cnVjdCBibGFtZV9lbnRyeSAqdW5ibGFtZWQgPSB0YXJnZXQtPnN1c3BlY3RzOworCXN0cnVjdCBibGFtZV9lbnRyeSAqbGVmdG92ZXIgPSBOVUxMOworCisJaWYgKCF1bmJsYW1lZCkKKwkJcmV0dXJuOyAvKiBub3RoaW5nIHJlbWFpbnMgZm9yIHRoaXMgdGFyZ2V0ICovCisKKwlkaWZmX3NldHVwKCZkaWZmX29wdHMpOworCURJRkZfT1BUX1NFVCgmZGlmZl9vcHRzLCBSRUNVUlNJVkUpOworCWRpZmZfb3B0cy5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTk9fT1VUUFVUOworCisJZGlmZl9zZXR1cF9kb25lKCZkaWZmX29wdHMpOworCisJLyogVHJ5ICJmaW5kIGNvcGllcyBoYXJkZXIiIG9uIG5ldyBwYXRoIGlmIHJlcXVlc3RlZDsKKwkgKiB3ZSBkbyBub3Qgd2FudCB0byB1c2UgZGlmZmNvcmVfcmVuYW1lKCkgYWN0dWFsbHkgdG8KKwkgKiBtYXRjaCB0aGluZ3MgdXA7IGZpbmRfY29waWVzX2hhcmRlciBpcyBzZXQgb25seSB0bworCSAqIGZvcmNlIGRpZmZfdHJlZV9vaWQoKSB0byBmZWVkIGFsbCBmaWxlcGFpcnMgdG8gZGlmZl9xdWV1ZSwKKwkgKiBhbmQgdGhpcyBjb2RlIG5lZWRzIHRvIGJlIGFmdGVyIGRpZmZfc2V0dXBfZG9uZSgpLCB3aGljaAorCSAqIHVzdWFsbHkgbWFrZXMgZmluZC1jb3BpZXMtaGFyZGVyIGltcGx5IGNvcHkgZGV0ZWN0aW9uLgorCSAqLworCWlmICgob3B0ICYgUElDS0FYRV9CTEFNRV9DT1BZX0hBUkRFU1QpCisJICAgIHx8ICgob3B0ICYgUElDS0FYRV9CTEFNRV9DT1BZX0hBUkRFUikKKwkJJiYgKCFwb3JpZ2luIHx8IHN0cmNtcCh0YXJnZXQtPnBhdGgsIHBvcmlnaW4tPnBhdGgpKSkpCisJCURJRkZfT1BUX1NFVCgmZGlmZl9vcHRzLCBGSU5EX0NPUElFU19IQVJERVIpOworCisJaWYgKGlzX251bGxfb2lkKCZ0YXJnZXQtPmNvbW1pdC0+b2JqZWN0Lm9pZCkpCisJCWRvX2RpZmZfY2FjaGUoJnBhcmVudC0+dHJlZS0+b2JqZWN0Lm9pZCwgJmRpZmZfb3B0cyk7CisJZWxzZQorCQlkaWZmX3RyZWVfb2lkKCZwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQsCisJCQkgICAgICAmdGFyZ2V0LT5jb21taXQtPnRyZWUtPm9iamVjdC5vaWQsCisJCQkgICAgICAiIiwgJmRpZmZfb3B0cyk7CisKKwlpZiAoIURJRkZfT1BUX1RTVCgmZGlmZl9vcHRzLCBGSU5EX0NPUElFU19IQVJERVIpKQorCQlkaWZmY29yZV9zdGQoJmRpZmZfb3B0cyk7CisKKwlkbyB7CisJCXN0cnVjdCBibGFtZV9lbnRyeSAqKnVuYmxhbWVkdGFpbCA9ICZ1bmJsYW1lZDsKKwkJYmxhbWVfbGlzdCA9IHNldHVwX2JsYW1lX2xpc3QodW5ibGFtZWQsICZudW1fZW50cyk7CisKKwkJZm9yIChpID0gMDsgaSA8IGRpZmZfcXVldWVkX2RpZmYubnI7IGkrKykgeworCQkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBkaWZmX3F1ZXVlZF9kaWZmLnF1ZXVlW2ldOworCQkJc3RydWN0IGJsYW1lX29yaWdpbiAqbm9yaWdpbjsKKwkJCW1tZmlsZV90IGZpbGVfcDsKKwkJCXN0cnVjdCBibGFtZV9lbnRyeSB0aGlzWzNdOworCisJCQlpZiAoIURJRkZfRklMRV9WQUxJRChwLT5vbmUpKQorCQkJCWNvbnRpbnVlOyAvKiBkb2VzIG5vdCBleGlzdCBpbiBwYXJlbnQgKi8KKwkJCWlmIChTX0lTR0lUTElOSyhwLT5vbmUtPm1vZGUpKQorCQkJCWNvbnRpbnVlOyAvKiBpZ25vcmUgZ2l0IGxpbmtzICovCisJCQlpZiAocG9yaWdpbiAmJiAhc3RyY21wKHAtPm9uZS0+cGF0aCwgcG9yaWdpbi0+cGF0aCkpCisJCQkJLyogZmluZF9tb3ZlIGFscmVhZHkgZGVhbHQgd2l0aCB0aGlzIHBhdGggKi8KKwkJCQljb250aW51ZTsKKworCQkJbm9yaWdpbiA9IGdldF9vcmlnaW4ocGFyZW50LCBwLT5vbmUtPnBhdGgpOworCQkJb2lkY3B5KCZub3JpZ2luLT5ibG9iX29pZCwgJnAtPm9uZS0+b2lkKTsKKwkJCW5vcmlnaW4tPm1vZGUgPSBwLT5vbmUtPm1vZGU7CisJCQlmaWxsX29yaWdpbl9ibG9iKCZzYi0+cmV2cy0+ZGlmZm9wdCwgbm9yaWdpbiwgJmZpbGVfcCwgJnNiLT5udW1fcmVhZF9ibG9iKTsKKwkJCWlmICghZmlsZV9wLnB0cikKKwkJCQljb250aW51ZTsKKworCQkJZm9yIChqID0gMDsgaiA8IG51bV9lbnRzOyBqKyspIHsKKwkJCQlmaW5kX2NvcHlfaW5fYmxvYihzYiwgYmxhbWVfbGlzdFtqXS5lbnQsCisJCQkJCQkgIG5vcmlnaW4sIHRoaXMsICZmaWxlX3ApOworCQkJCWNvcHlfc3BsaXRfaWZfYmV0dGVyKHNiLCBibGFtZV9saXN0W2pdLnNwbGl0LAorCQkJCQkJICAgICB0aGlzKTsKKwkJCQlkZWNyZWZfc3BsaXQodGhpcyk7CisJCQl9CisJCQlibGFtZV9vcmlnaW5fZGVjcmVmKG5vcmlnaW4pOworCQl9CisKKwkJZm9yIChqID0gMDsgaiA8IG51bV9lbnRzOyBqKyspIHsKKwkJCXN0cnVjdCBibGFtZV9lbnRyeSAqc3BsaXQgPSBibGFtZV9saXN0W2pdLnNwbGl0OworCQkJaWYgKHNwbGl0WzFdLnN1c3BlY3QgJiYKKwkJCSAgICBzYi0+Y29weV9zY29yZSA8IGJsYW1lX2VudHJ5X3Njb3JlKHNiLCAmc3BsaXRbMV0pKSB7CisJCQkJc3BsaXRfYmxhbWUoYmxhbWVkLCAmdW5ibGFtZWR0YWlsLCBzcGxpdCwKKwkJCQkJICAgIGJsYW1lX2xpc3Rbal0uZW50KTsKKwkJCX0gZWxzZSB7CisJCQkJYmxhbWVfbGlzdFtqXS5lbnQtPm5leHQgPSBsZWZ0b3ZlcjsKKwkJCQlsZWZ0b3ZlciA9IGJsYW1lX2xpc3Rbal0uZW50OworCQkJfQorCQkJZGVjcmVmX3NwbGl0KHNwbGl0KTsKKwkJfQorCQlmcmVlKGJsYW1lX2xpc3QpOworCQkqdW5ibGFtZWR0YWlsID0gTlVMTDsKKwkJdG9vc21hbGwgPSBmaWx0ZXJfc21hbGwoc2IsIHRvb3NtYWxsLCAmdW5ibGFtZWQsIHNiLT5jb3B5X3Njb3JlKTsKKwl9IHdoaWxlICh1bmJsYW1lZCk7CisJdGFyZ2V0LT5zdXNwZWN0cyA9IHJldmVyc2VfYmxhbWUobGVmdG92ZXIsIE5VTEwpOworCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7CisJY2xlYXJfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYyk7Cit9CisKKy8qCisgKiBUaGUgYmxvYnMgb2Ygb3JpZ2luIGFuZCBwb3JpZ2luIGV4YWN0bHkgbWF0Y2gsIHNvIGV2ZXJ5dGhpbmcKKyAqIG9yaWdpbiBpcyBzdXNwZWN0ZWQgZm9yIGNhbiBiZSBibGFtZWQgb24gdGhlIHBhcmVudC4KKyAqLworc3RhdGljIHZvaWQgcGFzc193aG9sZV9ibGFtZShzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IsCisJCQkgICAgIHN0cnVjdCBibGFtZV9vcmlnaW4gKm9yaWdpbiwgc3RydWN0IGJsYW1lX29yaWdpbiAqcG9yaWdpbikKK3sKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKmUsICpzdXNwZWN0czsKKworCWlmICghcG9yaWdpbi0+ZmlsZS5wdHIgJiYgb3JpZ2luLT5maWxlLnB0cikgeworCQkvKiBTdGVhbCBpdHMgZmlsZSAqLworCQlwb3JpZ2luLT5maWxlID0gb3JpZ2luLT5maWxlOworCQlvcmlnaW4tPmZpbGUucHRyID0gTlVMTDsKKwl9CisJc3VzcGVjdHMgPSBvcmlnaW4tPnN1c3BlY3RzOworCW9yaWdpbi0+c3VzcGVjdHMgPSBOVUxMOworCWZvciAoZSA9IHN1c3BlY3RzOyBlOyBlID0gZS0+bmV4dCkgeworCQlibGFtZV9vcmlnaW5faW5jcmVmKHBvcmlnaW4pOworCQlibGFtZV9vcmlnaW5fZGVjcmVmKGUtPnN1c3BlY3QpOworCQllLT5zdXNwZWN0ID0gcG9yaWdpbjsKKwl9CisJcXVldWVfYmxhbWVzKHNiLCBwb3JpZ2luLCBzdXNwZWN0cyk7Cit9CisKKy8qCisgKiBXZSBwYXNzIGJsYW1lIGZyb20gdGhlIGN1cnJlbnQgY29tbWl0IHRvIGl0cyBwYXJlbnRzLiAgV2Uga2VlcCBzYXlpbmcKKyAqICJwYXJlbnQiIChhbmQgInBvcmlnaW4iKSwgYnV0IHdoYXQgd2UgbWVhbiBpcyB0byBmaW5kIHNjYXBlZ29hdCB0bworICogZXhvbmVyYXRlIG91cnNlbHZlcy4KKyAqLworc3RhdGljIHN0cnVjdCBjb21taXRfbGlzdCAqZmlyc3Rfc2NhcGVnb2F0KHN0cnVjdCByZXZfaW5mbyAqcmV2cywgc3RydWN0IGNvbW1pdCAqY29tbWl0LAorCQkJCQlpbnQgcmV2ZXJzZSkKK3sKKwlpZiAoIXJldmVyc2UpIHsKKwkJaWYgKHJldnMtPmZpcnN0X3BhcmVudF9vbmx5ICYmCisJCSAgICBjb21taXQtPnBhcmVudHMgJiYKKwkJICAgIGNvbW1pdC0+cGFyZW50cy0+bmV4dCkgeworCQkJZnJlZV9jb21taXRfbGlzdChjb21taXQtPnBhcmVudHMtPm5leHQpOworCQkJY29tbWl0LT5wYXJlbnRzLT5uZXh0ID0gTlVMTDsKKwkJfQorCQlyZXR1cm4gY29tbWl0LT5wYXJlbnRzOworCX0KKwlyZXR1cm4gbG9va3VwX2RlY29yYXRpb24oJnJldnMtPmNoaWxkcmVuLCAmY29tbWl0LT5vYmplY3QpOworfQorCitzdGF0aWMgaW50IG51bV9zY2FwZWdvYXRzKHN0cnVjdCByZXZfaW5mbyAqcmV2cywgc3RydWN0IGNvbW1pdCAqY29tbWl0LCBpbnQgcmV2ZXJzZSkKK3sKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKmwgPSBmaXJzdF9zY2FwZWdvYXQocmV2cywgY29tbWl0LCByZXZlcnNlKTsKKwlyZXR1cm4gY29tbWl0X2xpc3RfY291bnQobCk7Cit9CisKKy8qIERpc3RyaWJ1dGUgY29sbGVjdGVkIHVuc29ydGVkIGJsYW1lcyB0byB0aGUgcmVzcGVjdGVkIHNvcnRlZCBsaXN0cworICogaW4gdGhlIHZhcmlvdXMgb3JpZ2lucy4KKyAqLworc3RhdGljIHZvaWQgZGlzdHJpYnV0ZV9ibGFtZShzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IsIHN0cnVjdCBibGFtZV9lbnRyeSAqYmxhbWVkKQoreworCWJsYW1lZCA9IGxsaXN0X21lcmdlc29ydChibGFtZWQsIGdldF9uZXh0X2JsYW1lLCBzZXRfbmV4dF9ibGFtZSwKKwkJCQkgY29tcGFyZV9ibGFtZV9zdXNwZWN0KTsKKwl3aGlsZSAoYmxhbWVkKQorCXsKKwkJc3RydWN0IGJsYW1lX29yaWdpbiAqcG9yaWdpbiA9IGJsYW1lZC0+c3VzcGVjdDsKKwkJc3RydWN0IGJsYW1lX2VudHJ5ICpzdXNwZWN0cyA9IE5VTEw7CisJCWRvIHsKKwkJCXN0cnVjdCBibGFtZV9lbnRyeSAqbmV4dCA9IGJsYW1lZC0+bmV4dDsKKwkJCWJsYW1lZC0+bmV4dCA9IHN1c3BlY3RzOworCQkJc3VzcGVjdHMgPSBibGFtZWQ7CisJCQlibGFtZWQgPSBuZXh0OworCQl9IHdoaWxlIChibGFtZWQgJiYgYmxhbWVkLT5zdXNwZWN0ID09IHBvcmlnaW4pOworCQlzdXNwZWN0cyA9IHJldmVyc2VfYmxhbWUoc3VzcGVjdHMsIE5VTEwpOworCQlxdWV1ZV9ibGFtZXMoc2IsIHBvcmlnaW4sIHN1c3BlY3RzKTsKKwl9Cit9CisKKyNkZWZpbmUgTUFYU0cgMTYKKworc3RhdGljIHZvaWQgcGFzc19ibGFtZShzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IsIHN0cnVjdCBibGFtZV9vcmlnaW4gKm9yaWdpbiwgaW50IG9wdCkKK3sKKwlzdHJ1Y3QgcmV2X2luZm8gKnJldnMgPSBzYi0+cmV2czsKKwlpbnQgaSwgcGFzcywgbnVtX3NnOworCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IG9yaWdpbi0+Y29tbWl0OworCXN0cnVjdCBjb21taXRfbGlzdCAqc2c7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqc2dfYnVmW01BWFNHXTsKKwlzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwb3JpZ2luLCAqKnNnX29yaWdpbiA9IHNnX2J1ZjsKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKnRvb3NtYWxsID0gTlVMTDsKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKmJsYW1lcywgKipibGFtZXRhaWwgPSAmYmxhbWVzOworCisJbnVtX3NnID0gbnVtX3NjYXBlZ29hdHMocmV2cywgY29tbWl0LCBzYi0+cmV2ZXJzZSk7CisJaWYgKCFudW1fc2cpCisJCWdvdG8gZmluaXNoOworCWVsc2UgaWYgKG51bV9zZyA8IEFSUkFZX1NJWkUoc2dfYnVmKSkKKwkJbWVtc2V0KHNnX2J1ZiwgMCwgc2l6ZW9mKHNnX2J1ZikpOworCWVsc2UKKwkJc2dfb3JpZ2luID0geGNhbGxvYyhudW1fc2csIHNpemVvZigqc2dfb3JpZ2luKSk7CisKKwkvKgorCSAqIFRoZSBmaXJzdCBwYXNzIGxvb2tzIGZvciB1bnJlbmFtZWQgcGF0aCB0byBvcHRpbWl6ZSBmb3IKKwkgKiBjb21tb24gY2FzZXMsIHRoZW4gd2UgbG9vayBmb3IgcmVuYW1lcyBpbiB0aGUgc2Vjb25kIHBhc3MuCisJICovCisJZm9yIChwYXNzID0gMDsgcGFzcyA8IDIgLSBzYi0+bm9fd2hvbGVfZmlsZV9yZW5hbWU7IHBhc3MrKykgeworCQlzdHJ1Y3QgYmxhbWVfb3JpZ2luICooKmZpbmQpKHN0cnVjdCBjb21taXQgKiwgc3RydWN0IGJsYW1lX29yaWdpbiAqKTsKKwkJZmluZCA9IHBhc3MgPyBmaW5kX3JlbmFtZSA6IGZpbmRfb3JpZ2luOworCisJCWZvciAoaSA9IDAsIHNnID0gZmlyc3Rfc2NhcGVnb2F0KHJldnMsIGNvbW1pdCwgc2ItPnJldmVyc2UpOworCQkgICAgIGkgPCBudW1fc2cgJiYgc2c7CisJCSAgICAgc2cgPSBzZy0+bmV4dCwgaSsrKSB7CisJCQlzdHJ1Y3QgY29tbWl0ICpwID0gc2ctPml0ZW07CisJCQlpbnQgaiwgc2FtZTsKKworCQkJaWYgKHNnX29yaWdpbltpXSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChwYXJzZV9jb21taXQocCkpCisJCQkJY29udGludWU7CisJCQlwb3JpZ2luID0gZmluZChwLCBvcmlnaW4pOworCQkJaWYgKCFwb3JpZ2luKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKCFvaWRjbXAoJnBvcmlnaW4tPmJsb2Jfb2lkLCAmb3JpZ2luLT5ibG9iX29pZCkpIHsKKwkJCQlwYXNzX3dob2xlX2JsYW1lKHNiLCBvcmlnaW4sIHBvcmlnaW4pOworCQkJCWJsYW1lX29yaWdpbl9kZWNyZWYocG9yaWdpbik7CisJCQkJZ290byBmaW5pc2g7CisJCQl9CisJCQlmb3IgKGogPSBzYW1lID0gMDsgaiA8IGk7IGorKykKKwkJCQlpZiAoc2dfb3JpZ2luW2pdICYmCisJCQkJICAgICFvaWRjbXAoJnNnX29yaWdpbltqXS0+YmxvYl9vaWQsICZwb3JpZ2luLT5ibG9iX29pZCkpIHsKKwkJCQkJc2FtZSA9IDE7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCWlmICghc2FtZSkKKwkJCQlzZ19vcmlnaW5baV0gPSBwb3JpZ2luOworCQkJZWxzZQorCQkJCWJsYW1lX29yaWdpbl9kZWNyZWYocG9yaWdpbik7CisJCX0KKwl9CisKKwlzYi0+bnVtX2NvbW1pdHMrKzsKKwlmb3IgKGkgPSAwLCBzZyA9IGZpcnN0X3NjYXBlZ29hdChyZXZzLCBjb21taXQsIHNiLT5yZXZlcnNlKTsKKwkgICAgIGkgPCBudW1fc2cgJiYgc2c7CisJICAgICBzZyA9IHNnLT5uZXh0LCBpKyspIHsKKwkJc3RydWN0IGJsYW1lX29yaWdpbiAqcG9yaWdpbiA9IHNnX29yaWdpbltpXTsKKwkJaWYgKCFwb3JpZ2luKQorCQkJY29udGludWU7CisJCWlmICghb3JpZ2luLT5wcmV2aW91cykgeworCQkJYmxhbWVfb3JpZ2luX2luY3JlZihwb3JpZ2luKTsKKwkJCW9yaWdpbi0+cHJldmlvdXMgPSBwb3JpZ2luOworCQl9CisJCXBhc3NfYmxhbWVfdG9fcGFyZW50KHNiLCBvcmlnaW4sIHBvcmlnaW4pOworCQlpZiAoIW9yaWdpbi0+c3VzcGVjdHMpCisJCQlnb3RvIGZpbmlzaDsKKwl9CisKKwkvKgorCSAqIE9wdGlvbmFsbHkgZmluZCBtb3ZlcyBpbiBwYXJlbnRzJyBmaWxlcy4KKwkgKi8KKwlpZiAob3B0ICYgUElDS0FYRV9CTEFNRV9NT1ZFKSB7CisJCWZpbHRlcl9zbWFsbChzYiwgJnRvb3NtYWxsLCAmb3JpZ2luLT5zdXNwZWN0cywgc2ItPm1vdmVfc2NvcmUpOworCQlpZiAob3JpZ2luLT5zdXNwZWN0cykgeworCQkJZm9yIChpID0gMCwgc2cgPSBmaXJzdF9zY2FwZWdvYXQocmV2cywgY29tbWl0LCBzYi0+cmV2ZXJzZSk7CisJCQkgICAgIGkgPCBudW1fc2cgJiYgc2c7CisJCQkgICAgIHNnID0gc2ctPm5leHQsIGkrKykgeworCQkJCXN0cnVjdCBibGFtZV9vcmlnaW4gKnBvcmlnaW4gPSBzZ19vcmlnaW5baV07CisJCQkJaWYgKCFwb3JpZ2luKQorCQkJCQljb250aW51ZTsKKwkJCQlmaW5kX21vdmVfaW5fcGFyZW50KHNiLCAmYmxhbWV0YWlsLCAmdG9vc21hbGwsIG9yaWdpbiwgcG9yaWdpbik7CisJCQkJaWYgKCFvcmlnaW4tPnN1c3BlY3RzKQorCQkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKworCS8qCisJICogT3B0aW9uYWxseSBmaW5kIGNvcGllcyBmcm9tIHBhcmVudHMnIGZpbGVzLgorCSAqLworCWlmIChvcHQgJiBQSUNLQVhFX0JMQU1FX0NPUFkpIHsKKwkJaWYgKHNiLT5jb3B5X3Njb3JlID4gc2ItPm1vdmVfc2NvcmUpCisJCQlmaWx0ZXJfc21hbGwoc2IsICZ0b29zbWFsbCwgJm9yaWdpbi0+c3VzcGVjdHMsIHNiLT5jb3B5X3Njb3JlKTsKKwkJZWxzZSBpZiAoc2ItPmNvcHlfc2NvcmUgPCBzYi0+bW92ZV9zY29yZSkgeworCQkJb3JpZ2luLT5zdXNwZWN0cyA9IGJsYW1lX21lcmdlKG9yaWdpbi0+c3VzcGVjdHMsIHRvb3NtYWxsKTsKKwkJCXRvb3NtYWxsID0gTlVMTDsKKwkJCWZpbHRlcl9zbWFsbChzYiwgJnRvb3NtYWxsLCAmb3JpZ2luLT5zdXNwZWN0cywgc2ItPmNvcHlfc2NvcmUpOworCQl9CisJCWlmICghb3JpZ2luLT5zdXNwZWN0cykKKwkJCWdvdG8gZmluaXNoOworCisJCWZvciAoaSA9IDAsIHNnID0gZmlyc3Rfc2NhcGVnb2F0KHJldnMsIGNvbW1pdCwgc2ItPnJldmVyc2UpOworCQkgICAgIGkgPCBudW1fc2cgJiYgc2c7CisJCSAgICAgc2cgPSBzZy0+bmV4dCwgaSsrKSB7CisJCQlzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwb3JpZ2luID0gc2dfb3JpZ2luW2ldOworCQkJZmluZF9jb3B5X2luX3BhcmVudChzYiwgJmJsYW1ldGFpbCwgJnRvb3NtYWxsLAorCQkJCQkgICAgb3JpZ2luLCBzZy0+aXRlbSwgcG9yaWdpbiwgb3B0KTsKKwkJCWlmICghb3JpZ2luLT5zdXNwZWN0cykKKwkJCQlnb3RvIGZpbmlzaDsKKwkJfQorCX0KKworZmluaXNoOgorCSpibGFtZXRhaWwgPSBOVUxMOworCWRpc3RyaWJ1dGVfYmxhbWUoc2IsIGJsYW1lcyk7CisJLyoKKwkgKiBwcmVwZW5kIHRvb3NtYWxsIHRvIG9yaWdpbi0+c3VzcGVjdHMKKwkgKgorCSAqIFRoZXJlIGlzIG5vIHBvaW50IGluIHNvcnRpbmc6IHRoaXMgZW5kcyB1cCBvbiBhIGJpZworCSAqIHVuc29ydGVkIGxpc3QgaW4gdGhlIGNhbGxlciBhbnl3YXkuCisJICovCisJaWYgKHRvb3NtYWxsKSB7CisJCXN0cnVjdCBibGFtZV9lbnRyeSAqKnRhaWwgPSAmdG9vc21hbGw7CisJCXdoaWxlICgqdGFpbCkKKwkJCXRhaWwgPSAmKCp0YWlsKS0+bmV4dDsKKwkJKnRhaWwgPSBvcmlnaW4tPnN1c3BlY3RzOworCQlvcmlnaW4tPnN1c3BlY3RzID0gdG9vc21hbGw7CisJfQorCWZvciAoaSA9IDA7IGkgPCBudW1fc2c7IGkrKykgeworCQlpZiAoc2dfb3JpZ2luW2ldKSB7CisJCQlkcm9wX29yaWdpbl9ibG9iKHNnX29yaWdpbltpXSk7CisJCQlibGFtZV9vcmlnaW5fZGVjcmVmKHNnX29yaWdpbltpXSk7CisJCX0KKwl9CisJZHJvcF9vcmlnaW5fYmxvYihvcmlnaW4pOworCWlmIChzZ19idWYgIT0gc2dfb3JpZ2luKQorCQlmcmVlKHNnX29yaWdpbik7Cit9CisKKy8qCisgKiBUaGUgbWFpbiBsb29wIC0tIHdoaWxlIHdlIGhhdmUgYmxvYnMgd2l0aCBsaW5lcyB3aG9zZSB0cnVlIG9yaWdpbgorICogaXMgc3RpbGwgdW5rbm93biwgcGljayBvbmUgYmxvYiwgYW5kIGFsbG93IGl0cyBsaW5lcyB0byBwYXNzIGJsYW1lcworICogdG8gaXRzIHBhcmVudHMuICovCit2b2lkIGFzc2lnbl9ibGFtZShzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IsIGludCBvcHQpCit7CisJc3RydWN0IHJldl9pbmZvICpyZXZzID0gc2ItPnJldnM7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gcHJpb19xdWV1ZV9nZXQoJnNiLT5jb21taXRzKTsKKworCXdoaWxlIChjb21taXQpIHsKKwkJc3RydWN0IGJsYW1lX2VudHJ5ICplbnQ7CisJCXN0cnVjdCBibGFtZV9vcmlnaW4gKnN1c3BlY3QgPSBjb21taXQtPnV0aWw7CisKKwkJLyogZmluZCBvbmUgc3VzcGVjdCB0byBicmVhayBkb3duICovCisJCXdoaWxlIChzdXNwZWN0ICYmICFzdXNwZWN0LT5zdXNwZWN0cykKKwkJCXN1c3BlY3QgPSBzdXNwZWN0LT5uZXh0OworCisJCWlmICghc3VzcGVjdCkgeworCQkJY29tbWl0ID0gcHJpb19xdWV1ZV9nZXQoJnNiLT5jb21taXRzKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJYXNzZXJ0KGNvbW1pdCA9PSBzdXNwZWN0LT5jb21taXQpOworCisJCS8qCisJCSAqIFdlIHdpbGwgdXNlIHRoaXMgc3VzcGVjdCBsYXRlciBpbiB0aGUgbG9vcCwKKwkJICogc28gaG9sZCBvbnRvIGl0IGluIHRoZSBtZWFudGltZS4KKwkJICovCisJCWJsYW1lX29yaWdpbl9pbmNyZWYoc3VzcGVjdCk7CisJCXBhcnNlX2NvbW1pdChjb21taXQpOworCQlpZiAoc2ItPnJldmVyc2UgfHwKKwkJICAgICghKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykgJiYKKwkJICAgICAhKHJldnMtPm1heF9hZ2UgIT0gLTEgJiYgY29tbWl0LT5kYXRlIDwgcmV2cy0+bWF4X2FnZSkpKQorCQkJcGFzc19ibGFtZShzYiwgc3VzcGVjdCwgb3B0KTsKKwkJZWxzZSB7CisJCQljb21taXQtPm9iamVjdC5mbGFncyB8PSBVTklOVEVSRVNUSU5HOworCQkJaWYgKGNvbW1pdC0+b2JqZWN0LnBhcnNlZCkKKwkJCQltYXJrX3BhcmVudHNfdW5pbnRlcmVzdGluZyhjb21taXQpOworCQl9CisJCS8qIHRyZWF0IHJvb3QgY29tbWl0IGFzIGJvdW5kYXJ5ICovCisJCWlmICghY29tbWl0LT5wYXJlbnRzICYmICFzYi0+c2hvd19yb290KQorCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKKworCQkvKiBUYWtlIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgcmVtYWluaW5nIGVudHJpZXMgKi8KKwkJZW50ID0gc3VzcGVjdC0+c3VzcGVjdHM7CisJCWlmIChlbnQpIHsKKwkJCXN1c3BlY3QtPmd1aWx0eSA9IDE7CisJCQlmb3IgKDs7KSB7CisJCQkJc3RydWN0IGJsYW1lX2VudHJ5ICpuZXh0ID0gZW50LT5uZXh0OworCQkJCWlmIChzYi0+Zm91bmRfZ3VpbHR5X2VudHJ5KQorCQkJCQlzYi0+Zm91bmRfZ3VpbHR5X2VudHJ5KGVudCwgc2ItPmZvdW5kX2d1aWx0eV9lbnRyeV9kYXRhKTsKKwkJCQlpZiAobmV4dCkgeworCQkJCQllbnQgPSBuZXh0OworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJZW50LT5uZXh0ID0gc2ItPmVudDsKKwkJCQlzYi0+ZW50ID0gc3VzcGVjdC0+c3VzcGVjdHM7CisJCQkJc3VzcGVjdC0+c3VzcGVjdHMgPSBOVUxMOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJCWJsYW1lX29yaWdpbl9kZWNyZWYoc3VzcGVjdCk7CisKKwkJaWYgKHNiLT5kZWJ1ZykgLyogc2FuaXR5ICovCisJCQlzYW5pdHlfY2hlY2tfcmVmY250KHNiKTsKKwl9Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfbmV4dF9saW5lKGNvbnN0IGNoYXIgKnN0YXJ0LCBjb25zdCBjaGFyICplbmQpCit7CisJY29uc3QgY2hhciAqbmwgPSBtZW1jaHIoc3RhcnQsICdcbicsIGVuZCAtIHN0YXJ0KTsKKwlyZXR1cm4gbmwgPyBubCArIDEgOiBlbmQ7Cit9CisKKy8qCisgKiBUbyBhbGxvdyBxdWljayBhY2Nlc3MgdG8gdGhlIGNvbnRlbnRzIG9mIG50aCBsaW5lIGluIHRoZQorICogZmluYWwgaW1hZ2UsIHByZXBhcmUgYW4gaW5kZXggaW4gdGhlIHNjb3JlYm9hcmQuCisgKi8KK3N0YXRpYyBpbnQgcHJlcGFyZV9saW5lcyhzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IpCit7CisJY29uc3QgY2hhciAqYnVmID0gc2ItPmZpbmFsX2J1ZjsKKwl1bnNpZ25lZCBsb25nIGxlbiA9IHNiLT5maW5hbF9idWZfc2l6ZTsKKwljb25zdCBjaGFyICplbmQgPSBidWYgKyBsZW47CisJY29uc3QgY2hhciAqcDsKKwlpbnQgKmxpbmVubzsKKwlpbnQgbnVtID0gMDsKKworCWZvciAocCA9IGJ1ZjsgcCA8IGVuZDsgcCA9IGdldF9uZXh0X2xpbmUocCwgZW5kKSkKKwkJbnVtKys7CisKKwlBTExPQ19BUlJBWShzYi0+bGluZW5vLCBudW0gKyAxKTsKKwlsaW5lbm8gPSBzYi0+bGluZW5vOworCisJZm9yIChwID0gYnVmOyBwIDwgZW5kOyBwID0gZ2V0X25leHRfbGluZShwLCBlbmQpKQorCQkqbGluZW5vKysgPSBwIC0gYnVmOworCisJKmxpbmVubyA9IGxlbjsKKworCXNiLT5udW1fbGluZXMgPSBudW07CisJcmV0dXJuIHNiLT5udW1fbGluZXM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0ICpmaW5kX3NpbmdsZV9maW5hbChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCisJCQkJCWNvbnN0IGNoYXIgKipuYW1lX3ApCit7CisJaW50IGk7CisJc3RydWN0IGNvbW1pdCAqZm91bmQgPSBOVUxMOworCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCisJZm9yIChpID0gMDsgaSA8IHJldnMtPnBlbmRpbmcubnI7IGkrKykgeworCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0uaXRlbTsKKwkJaWYgKG9iai0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQorCQkJY29udGludWU7CisJCW9iaiA9IGRlcmVmX3RhZyhvYmosIE5VTEwsIDApOworCQlpZiAob2JqLT50eXBlICE9IE9CSl9DT01NSVQpCisJCQlkaWUoIk5vbiBjb21taXQgJXM/IiwgcmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLm5hbWUpOworCQlpZiAoZm91bmQpCisJCQlkaWUoIk1vcmUgdGhhbiBvbmUgY29tbWl0IHRvIGRpZyBmcm9tICVzIGFuZCAlcz8iLAorCQkJICAgIHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5uYW1lLCBuYW1lKTsKKwkJZm91bmQgPSAoc3RydWN0IGNvbW1pdCAqKW9iajsKKwkJbmFtZSA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5uYW1lOworCX0KKwlpZiAobmFtZV9wKQorCQkqbmFtZV9wID0geHN0cmR1cF9vcl9udWxsKG5hbWUpOworCXJldHVybiBmb3VuZDsKK30KKworc3RhdGljIHN0cnVjdCBjb21taXQgKmR3aW1fcmV2ZXJzZV9pbml0aWFsKHN0cnVjdCByZXZfaW5mbyAqcmV2cywKKwkJCQkJICAgY29uc3QgY2hhciAqKm5hbWVfcCkKK3sKKwkvKgorCSAqIERXSU0gImdpdCBibGFtZSAtLXJldmVyc2UgT05FIC0tIFBBVEgiIGFzCisJICogImdpdCBibGFtZSAtLXJldmVyc2UgT05FLi5IRUFEIC0tIFBBVEgiIGJ1dCBvbmx5IGRvIHNvCisJICogd2hlbiBpdCBtYWtlcyBzZW5zZS4KKwkgKi8KKwlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CisJc3RydWN0IGNvbW1pdCAqaGVhZF9jb21taXQ7CisJc3RydWN0IG9iamVjdF9pZCBoZWFkX29pZDsKKworCWlmIChyZXZzLT5wZW5kaW5nLm5yICE9IDEpCisJCXJldHVybiBOVUxMOworCisJLyogSXMgdGhhdCBzb2xlIHJldiBhIGNvbW1pdHRpc2g/ICovCisJb2JqID0gcmV2cy0+cGVuZGluZy5vYmplY3RzWzBdLml0ZW07CisJb2JqID0gZGVyZWZfdGFnKG9iaiwgTlVMTCwgMCk7CisJaWYgKG9iai0+dHlwZSAhPSBPQkpfQ09NTUlUKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIERvIHdlIGhhdmUgSEVBRD8gKi8KKwlpZiAoIXJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsIGhlYWRfb2lkLmhhc2gsIE5VTEwpKQorCQlyZXR1cm4gTlVMTDsKKwloZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSgmaGVhZF9vaWQsIDEpOworCWlmICghaGVhZF9jb21taXQpCisJCXJldHVybiBOVUxMOworCisJLyogVHVybiAiT05FIiBpbnRvICJPTkUuLkhFQUQiIHRoZW4gKi8KKwlvYmotPmZsYWdzIHw9IFVOSU5URVJFU1RJTkc7CisJYWRkX3BlbmRpbmdfb2JqZWN0KHJldnMsICZoZWFkX2NvbW1pdC0+b2JqZWN0LCAiSEVBRCIpOworCisJaWYgKG5hbWVfcCkKKwkJKm5hbWVfcCA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1swXS5uYW1lOworCXJldHVybiAoc3RydWN0IGNvbW1pdCAqKW9iajsKK30KKworc3RhdGljIHN0cnVjdCBjb21taXQgKmZpbmRfc2luZ2xlX2luaXRpYWwoc3RydWN0IHJldl9pbmZvICpyZXZzLAorCQkJCQkgIGNvbnN0IGNoYXIgKipuYW1lX3ApCit7CisJaW50IGk7CisJc3RydWN0IGNvbW1pdCAqZm91bmQgPSBOVUxMOworCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCisJLyoKKwkgKiBUaGVyZSBtdXN0IGJlIG9uZSBhbmQgb25seSBvbmUgbmVnYXRpdmUgY29tbWl0LCBhbmQgaXQgbXVzdCBiZQorCSAqIHRoZSBib3VuZGFyeS4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgcmV2cy0+cGVuZGluZy5ucjsgaSsrKSB7CisJCXN0cnVjdCBvYmplY3QgKm9iaiA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5pdGVtOworCQlpZiAoIShvYmotPmZsYWdzICYgVU5JTlRFUkVTVElORykpCisJCQljb250aW51ZTsKKwkJb2JqID0gZGVyZWZfdGFnKG9iaiwgTlVMTCwgMCk7CisJCWlmIChvYmotPnR5cGUgIT0gT0JKX0NPTU1JVCkKKwkJCWRpZSgiTm9uIGNvbW1pdCAlcz8iLCByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0ubmFtZSk7CisJCWlmIChmb3VuZCkKKwkJCWRpZSgiTW9yZSB0aGFuIG9uZSBjb21taXQgdG8gZGlnIHVwIGZyb20sICVzIGFuZCAlcz8iLAorCQkJICAgIHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5uYW1lLCBuYW1lKTsKKwkJZm91bmQgPSAoc3RydWN0IGNvbW1pdCAqKSBvYmo7CisJCW5hbWUgPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0ubmFtZTsKKwl9CisKKwlpZiAoIW5hbWUpCisJCWZvdW5kID0gZHdpbV9yZXZlcnNlX2luaXRpYWwocmV2cywgJm5hbWUpOworCWlmICghbmFtZSkKKwkJZGllKCJObyBjb21taXQgdG8gZGlnIHVwIGZyb20/Iik7CisKKwlpZiAobmFtZV9wKQorCQkqbmFtZV9wID0geHN0cmR1cChuYW1lKTsKKwlyZXR1cm4gZm91bmQ7Cit9CisKK3ZvaWQgaW5pdF9zY29yZWJvYXJkKHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYikKK3sKKwltZW1zZXQoc2IsIDAsIHNpemVvZihzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCkpOworCXNiLT5tb3ZlX3Njb3JlID0gQkxBTUVfREVGQVVMVF9NT1ZFX1NDT1JFOworCXNiLT5jb3B5X3Njb3JlID0gQkxBTUVfREVGQVVMVF9DT1BZX1NDT1JFOworfQorCit2b2lkIHNldHVwX3Njb3JlYm9hcmQoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgYmxhbWVfb3JpZ2luICoqb3JpZykKK3sKKwljb25zdCBjaGFyICpmaW5hbF9jb21taXRfbmFtZSA9IE5VTEw7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqbzsKKwlzdHJ1Y3QgY29tbWl0ICpmaW5hbF9jb21taXQgPSBOVUxMOworCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKKworCWlmIChzYi0+cmV2ZXJzZSAmJiBzYi0+Y29udGVudHNfZnJvbSkKKwkJZGllKF8oIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iKSk7CisKKwlpZiAoIXNiLT5yZXZlcnNlKSB7CisJCXNiLT5maW5hbCA9IGZpbmRfc2luZ2xlX2ZpbmFsKHNiLT5yZXZzLCAmZmluYWxfY29tbWl0X25hbWUpOworCQlzYi0+Y29tbWl0cy5jb21wYXJlID0gY29tcGFyZV9jb21taXRzX2J5X2NvbW1pdF9kYXRlOworCX0gZWxzZSB7CisJCXNiLT5maW5hbCA9IGZpbmRfc2luZ2xlX2luaXRpYWwoc2ItPnJldnMsICZmaW5hbF9jb21taXRfbmFtZSk7CisJCXNiLT5jb21taXRzLmNvbXBhcmUgPSBjb21wYXJlX2NvbW1pdHNfYnlfcmV2ZXJzZV9jb21taXRfZGF0ZTsKKwl9CisKKwlpZiAoc2ItPmZpbmFsICYmIHNiLT5jb250ZW50c19mcm9tKQorCQlkaWUoXygiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIikpOworCisJaWYgKHNiLT5yZXZlcnNlICYmIHNiLT5yZXZzLT5maXJzdF9wYXJlbnRfb25seSkKKwkJc2ItPnJldnMtPmNoaWxkcmVuLm5hbWUgPSBOVUxMOworCisJaWYgKCFzYi0+ZmluYWwpIHsKKwkJLyoKKwkJICogIi0tbm90IEEgQiAtLSBwYXRoIiB3aXRob3V0IGFueXRoaW5nIHBvc2l0aXZlOworCQkgKiBkbyBub3QgZGVmYXVsdCB0byBIRUFELCBidXQgdXNlIHRoZSB3b3JraW5nIHRyZWUKKwkJICogb3IgIi0tY29udGVudHMiLgorCQkgKi8KKwkJc2V0dXBfd29ya190cmVlKCk7CisJCXNiLT5maW5hbCA9IGZha2Vfd29ya2luZ190cmVlX2NvbW1pdCgmc2ItPnJldnMtPmRpZmZvcHQsCisJCQkJCQkgICAgIHBhdGgsIHNiLT5jb250ZW50c19mcm9tKTsKKwkJYWRkX3BlbmRpbmdfb2JqZWN0KHNiLT5yZXZzLCAmKHNiLT5maW5hbC0+b2JqZWN0KSwgIjoiKTsKKwl9CisKKwlpZiAoc2ItPnJldmVyc2UgJiYgc2ItPnJldnMtPmZpcnN0X3BhcmVudF9vbmx5KSB7CisJCWZpbmFsX2NvbW1pdCA9IGZpbmRfc2luZ2xlX2ZpbmFsKHNiLT5yZXZzLCBOVUxMKTsKKwkJaWYgKCFmaW5hbF9jb21taXQpCisJCQlkaWUoXygiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IikpOworCX0KKworCS8qCisJICogSWYgd2UgaGF2ZSBib3R0b20sIHRoaXMgd2lsbCBtYXJrIHRoZSBhbmNlc3RvcnMgb2YgdGhlCisJICogYm90dG9tIGNvbW1pdHMgd2Ugd291bGQgcmVhY2ggd2hpbGUgdHJhdmVyc2luZyBhcworCSAqIHVuaW50ZXJlc3RpbmcuCisJICovCisJaWYgKHByZXBhcmVfcmV2aXNpb25fd2FsayhzYi0+cmV2cykpCisJCWRpZShfKCJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIpKTsKKworCWlmIChzYi0+cmV2ZXJzZSAmJiBzYi0+cmV2cy0+Zmlyc3RfcGFyZW50X29ubHkpIHsKKwkJc3RydWN0IGNvbW1pdCAqYyA9IGZpbmFsX2NvbW1pdDsKKworCQlzYi0+cmV2cy0+Y2hpbGRyZW4ubmFtZSA9ICJjaGlsZHJlbiI7CisJCXdoaWxlIChjLT5wYXJlbnRzICYmCisJCSAgICAgICBvaWRjbXAoJmMtPm9iamVjdC5vaWQsICZzYi0+ZmluYWwtPm9iamVjdC5vaWQpKSB7CisJCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKmwgPSB4Y2FsbG9jKDEsIHNpemVvZigqbCkpOworCisJCQlsLT5pdGVtID0gYzsKKwkJCWlmIChhZGRfZGVjb3JhdGlvbigmc2ItPnJldnMtPmNoaWxkcmVuLAorCQkJCQkgICAmYy0+cGFyZW50cy0+aXRlbS0+b2JqZWN0LCBsKSkKKwkJCQlkaWUoIkJVRzogbm90IHVuaXF1ZSBpdGVtIGluIGZpcnN0LXBhcmVudCBjaGFpbiIpOworCQkJYyA9IGMtPnBhcmVudHMtPml0ZW07CisJCX0KKworCQlpZiAob2lkY21wKCZjLT5vYmplY3Qub2lkLCAmc2ItPmZpbmFsLT5vYmplY3Qub2lkKSkKKwkJCWRpZShfKCItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iKSk7CisJfQorCisJaWYgKGlzX251bGxfb2lkKCZzYi0+ZmluYWwtPm9iamVjdC5vaWQpKSB7CisJCW8gPSBzYi0+ZmluYWwtPnV0aWw7CisJCXNiLT5maW5hbF9idWYgPSB4bWVtZHVweihvLT5maWxlLnB0ciwgby0+ZmlsZS5zaXplKTsKKwkJc2ItPmZpbmFsX2J1Zl9zaXplID0gby0+ZmlsZS5zaXplOworCX0KKwllbHNlIHsKKwkJbyA9IGdldF9vcmlnaW4oc2ItPmZpbmFsLCBwYXRoKTsKKwkJaWYgKGZpbGxfYmxvYl9zaGExX2FuZF9tb2RlKG8pKQorCQkJZGllKF8oIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIpLCBwYXRoLCBmaW5hbF9jb21taXRfbmFtZSk7CisKKwkJaWYgKERJRkZfT1BUX1RTVCgmc2ItPnJldnMtPmRpZmZvcHQsIEFMTE9XX1RFWFRDT05WKSAmJgorCQkgICAgdGV4dGNvbnZfb2JqZWN0KHBhdGgsIG8tPm1vZGUsICZvLT5ibG9iX29pZCwgMSwgKGNoYXIgKiopICZzYi0+ZmluYWxfYnVmLAorCQkJCSAgICAmc2ItPmZpbmFsX2J1Zl9zaXplKSkKKwkJCTsKKwkJZWxzZQorCQkJc2ItPmZpbmFsX2J1ZiA9IHJlYWRfc2hhMV9maWxlKG8tPmJsb2Jfb2lkLmhhc2gsICZ0eXBlLAorCQkJCQkJICAgICAgICZzYi0+ZmluYWxfYnVmX3NpemUpOworCisJCWlmICghc2ItPmZpbmFsX2J1ZikKKwkJCWRpZShfKCJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIiksCisJCQkgICAgb2lkX3RvX2hleCgmby0+YmxvYl9vaWQpLAorCQkJICAgIHBhdGgpOworCX0KKwlzYi0+bnVtX3JlYWRfYmxvYisrOworCXByZXBhcmVfbGluZXMoc2IpOworCisJaWYgKG9yaWcpCisJCSpvcmlnID0gbzsKKworCWZyZWUoKGNoYXIgKilmaW5hbF9jb21taXRfbmFtZSk7Cit9CisKKworCitzdHJ1Y3QgYmxhbWVfZW50cnkgKmJsYW1lX2VudHJ5X3ByZXBlbmQoc3RydWN0IGJsYW1lX2VudHJ5ICpoZWFkLAorCQkJCQlsb25nIHN0YXJ0LCBsb25nIGVuZCwKKwkJCQkJc3RydWN0IGJsYW1lX29yaWdpbiAqbykKK3sKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5ld19oZWFkID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJsYW1lX2VudHJ5KSk7CisJbmV3X2hlYWQtPmxubyA9IHN0YXJ0OworCW5ld19oZWFkLT5udW1fbGluZXMgPSBlbmQgLSBzdGFydDsKKwluZXdfaGVhZC0+c3VzcGVjdCA9IG87CisJbmV3X2hlYWQtPnNfbG5vID0gc3RhcnQ7CisJbmV3X2hlYWQtPm5leHQgPSBoZWFkOworCWJsYW1lX29yaWdpbl9pbmNyZWYobyk7CisJcmV0dXJuIG5ld19oZWFkOworfQpkaWZmIC0tZ2l0IGEvYmxhbWUuaCBiL2JsYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZjOTE1YwotLS0gL2Rldi9udWxsCisrKyBiL2JsYW1lLmgKQEAgLTAsMCArMSwxNzUgQEAKKyNpZm5kZWYgQkxBTUVfSAorI2RlZmluZSBCTEFNRV9ICisKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbW1pdC5oIgorI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgorI2luY2x1ZGUgInJldmlzaW9uLmgiCisjaW5jbHVkZSAicHJpby1xdWV1ZS5oIgorI2luY2x1ZGUgImRpZmYuaCIKKworI2RlZmluZSBQSUNLQVhFX0JMQU1FX01PVkUJCTAxCisjZGVmaW5lIFBJQ0tBWEVfQkxBTUVfQ09QWQkJMDIKKyNkZWZpbmUgUElDS0FYRV9CTEFNRV9DT1BZX0hBUkRFUgkwNAorI2RlZmluZSBQSUNLQVhFX0JMQU1FX0NPUFlfSEFSREVTVAkwMTAKKworI2RlZmluZSBCTEFNRV9ERUZBVUxUX01PVkVfU0NPUkUJMjAKKyNkZWZpbmUgQkxBTUVfREVGQVVMVF9DT1BZX1NDT1JFCTQwCisKKy8qCisgKiBPbmUgYmxvYiBpbiBhIGNvbW1pdCB0aGF0IGlzIGJlaW5nIHN1c3BlY3RlZAorICovCitzdHJ1Y3QgYmxhbWVfb3JpZ2luIHsKKwlpbnQgcmVmY250OworCS8qIFJlY29yZCBwcmVjZWRpbmcgYmxhbWUgcmVjb3JkIGZvciB0aGlzIGJsb2IgKi8KKwlzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwcmV2aW91czsKKwkvKiBvcmlnaW5zIGFyZSBwdXQgaW4gYSBsaXN0IGxpbmtlZCB2aWEgYG5leHQnIGhhbmdpbmcgb2ZmIHRoZQorCSAqIGNvcnJlc3BvbmRpbmcgY29tbWl0J3MgdXRpbCBmaWVsZCBpbiBvcmRlciB0byBtYWtlIGZpbmRpbmcKKwkgKiB0aGVtIGZhc3QuICBUaGUgcHJlc2VuY2UgaW4gdGhpcyBjaGFpbiBkb2VzIG5vdCBjb3VudAorCSAqIHRvd2FyZHMgdGhlIG9yaWdpbidzIHJlZmVyZW5jZSBjb3VudC4gIEl0IGlzIHRlbXB0aW5nIHRvCisJICogbGV0IGl0IGNvdW50IGFzIGxvbmcgYXMgdGhlIGNvbW1pdCBpcyBwZW5kaW5nIGV4YW1pbmF0aW9uLAorCSAqIGJ1dCBldmVuIHVuZGVyIGNpcmN1bXN0YW5jZXMgd2hlcmUgdGhlIGNvbW1pdCB3aWxsIGJlCisJICogcHJlc2VudCBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgcHJpb3JpdHkgcXVldWUgb2YgdW5leGFtaW5lZAorCSAqIGNvbW1pdHMsIHByb2Nlc3NpbmcgdGhlIGZpcnN0IGluc3RhbmNlIHdpbGwgbm90IGxlYXZlIGFueQorCSAqIHdvcmsgcmVxdWlyaW5nIHRoZSBvcmlnaW4gZGF0YSBmb3IgdGhlIHNlY29uZCBpbnN0YW5jZS4gIEFuCisJICogaW50ZXJzcGVyc2VkIGNvbW1pdCBjaGFuZ2luZyB0aGF0IHdvdWxkIGhhdmUgdG8gYmUKKwkgKiBwcmVleGlzdGluZyB3aXRoIGEgZGlmZmVyZW50IGFuY2VzdHJ5IGFuZCB3aXRoIHRoZSBzYW1lCisJICogY29tbWl0IGRhdGUgaW4gb3JkZXIgdG8gd2VkZ2UgaXRzZWxmIGJldHdlZW4gdHdvIGluc3RhbmNlcworCSAqIG9mIHRoZSBzYW1lIGNvbW1pdCBpbiB0aGUgcHJpb3JpdHkgcXVldWUgX2FuZF8gcHJvZHVjZQorCSAqIGJsYW1lIGVudHJpZXMgcmVsZXZhbnQgZm9yIGl0LiAgV2hpbGUgd2UgZG9uJ3Qgd2FudCB0byBsZXQKKwkgKiB1cyBnZXQgdHJpcHBlZCB1cCBieSB0aGlzIGNhc2UsIGl0IGNlcnRhaW5seSBkb2VzIG5vdCBzZWVtCisJICogd29ydGggb3B0aW1pemluZyBmb3IuCisJICovCisJc3RydWN0IGJsYW1lX29yaWdpbiAqbmV4dDsKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisJLyogYHN1c3BlY3RzJyBjb250YWlucyBibGFtZSBlbnRyaWVzIHRoYXQgbWF5IGJlIGF0dHJpYnV0ZWQgdG8KKwkgKiB0aGlzIG9yaWdpbidzIGNvbW1pdCBvciB0byBwYXJlbnQgY29tbWl0cy4gIFdoZW4gYSBjb21taXQKKwkgKiBpcyBiZWluZyBwcm9jZXNzZWQsIGFsbCBzdXNwZWN0cyB3aWxsIGJlIG1vdmVkLCBlaXRoZXIgYnkKKwkgKiBhc3NpZ25pbmcgdGhlbSB0byBhbiBvcmlnaW4gaW4gYSBkaWZmZXJlbnQgY29tbWl0LCBvciBieQorCSAqIHNoaXBwaW5nIHRoZW0gdG8gdGhlIHNjb3JlYm9hcmQncyBlbnQgbGlzdCBiZWNhdXNlIHRoZXkKKwkgKiBjYW5ub3QgYmUgYXR0cmlidXRlZCB0byBhIGRpZmZlcmVudCBjb21taXQuCisJICovCisJc3RydWN0IGJsYW1lX2VudHJ5ICpzdXNwZWN0czsKKwltbWZpbGVfdCBmaWxlOworCXN0cnVjdCBvYmplY3RfaWQgYmxvYl9vaWQ7CisJdW5zaWduZWQgbW9kZTsKKwkvKiBndWlsdHkgZ2V0cyBzZXQgd2hlbiBzaGlwcGluZyBhbnkgc3VzcGVjdHMgdG8gdGhlIGZpbmFsCisJICogYmxhbWUgbGlzdCBpbnN0ZWFkIG9mIG90aGVyIGNvbW1pdHMKKwkgKi8KKwljaGFyIGd1aWx0eTsKKwljaGFyIHBhdGhbRkxFWF9BUlJBWV07Cit9OworCisvKgorICogRWFjaCBncm91cCBvZiBsaW5lcyBpcyBkZXNjcmliZWQgYnkgYSBibGFtZV9lbnRyeTsgaXQgY2FuIGJlIHNwbGl0CisgKiBhcyB3ZSBwYXNzIGJsYW1lIHRvIHRoZSBwYXJlbnRzLiAgVGhleSBhcmUgYXJyYW5nZWQgaW4gbGlua2VkIGxpc3RzCisgKiBrZXB0IGFzIGBzdXNwZWN0cycgb2Ygc29tZSB1bnByb2Nlc3NlZCBvcmlnaW4sIG9yIGVudGVyZWQgKHdoZW4gdGhlCisgKiBibGFtZSBvcmlnaW4gaGFzIGJlZW4gZmluYWxpemVkKSBpbnRvIHRoZSBzY29yZWJvYXJkIHN0cnVjdHVyZS4KKyAqIFdoaWxlIHRoZSBzY29yZWJvYXJkIHN0cnVjdHVyZSBpcyBvbmx5IHNvcnRlZCBhdCB0aGUgZW5kIG9mCisgKiBwcm9jZXNzaW5nIChhY2NvcmRpbmcgdG8gZmluYWwgaW1hZ2UgbGluZSBudW1iZXIpLCB0aGUgbGlzdHMKKyAqIGF0dGFjaGVkIHRvIGFuIG9yaWdpbiBhcmUgc29ydGVkIGJ5IHRoZSB0YXJnZXQgbGluZSBudW1iZXIuCisgKi8KK3N0cnVjdCBibGFtZV9lbnRyeSB7CisJc3RydWN0IGJsYW1lX2VudHJ5ICpuZXh0OworCisJLyogdGhlIGZpcnN0IGxpbmUgb2YgdGhpcyBncm91cCBpbiB0aGUgZmluYWwgaW1hZ2U7CisJICogaW50ZXJuYWxseSBhbGwgbGluZSBudW1iZXJzIGFyZSAwIGJhc2VkLgorCSAqLworCWludCBsbm87CisKKwkvKiBob3cgbWFueSBsaW5lcyB0aGlzIGdyb3VwIGhhcyAqLworCWludCBudW1fbGluZXM7CisKKwkvKiB0aGUgY29tbWl0IHRoYXQgaW50cm9kdWNlZCB0aGlzIGdyb3VwIGludG8gdGhlIGZpbmFsIGltYWdlICovCisJc3RydWN0IGJsYW1lX29yaWdpbiAqc3VzcGVjdDsKKworCS8qIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgZmlyc3QgbGluZSBvZiB0aGlzIGdyb3VwIGluIHRoZQorCSAqIHN1c3BlY3QncyBmaWxlOyBpbnRlcm5hbGx5IGFsbCBsaW5lIG51bWJlcnMgYXJlIDAgYmFzZWQuCisJICovCisJaW50IHNfbG5vOworCisJLyogaG93IHNpZ25pZmljYW50IHRoaXMgZW50cnkgaXMgLS0gY2FjaGVkIHRvIGF2b2lkCisJICogc2Nhbm5pbmcgdGhlIGxpbmVzIG92ZXIgYW5kIG92ZXIuCisJICovCisJdW5zaWduZWQgc2NvcmU7Cit9OworCisvKgorICogVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGJsYW1lIGFzc2lnbm1lbnQuCisgKi8KK3N0cnVjdCBibGFtZV9zY29yZWJvYXJkIHsKKwkvKiB0aGUgZmluYWwgY29tbWl0IChpLmUuIHdoZXJlIHdlIHN0YXJ0ZWQgZGlnZ2luZyBmcm9tKSAqLworCXN0cnVjdCBjb21taXQgKmZpbmFsOworCS8qIFByaW9yaXR5IHF1ZXVlIGZvciBjb21taXRzIHdpdGggdW5hc3NpZ25lZCBibGFtZSByZWNvcmRzICovCisJc3RydWN0IHByaW9fcXVldWUgY29tbWl0czsKKwlzdHJ1Y3QgcmV2X2luZm8gKnJldnM7CisJY29uc3QgY2hhciAqcGF0aDsKKworCS8qCisJICogVGhlIGNvbnRlbnRzIGluIHRoZSBmaW5hbCBpbWFnZS4KKwkgKiBVc2VkIGJ5IG1hbnkgZnVuY3Rpb25zIHRvIG9idGFpbiBjb250ZW50cyBvZiB0aGUgbnRoIGxpbmUsCisJICogaW5kZXhlZCB3aXRoIHNjb3JlYm9hcmQubGluZW5vW2JsYW1lX2VudHJ5Lmxub10uCisJICovCisJY29uc3QgY2hhciAqZmluYWxfYnVmOworCXVuc2lnbmVkIGxvbmcgZmluYWxfYnVmX3NpemU7CisKKwkvKiBsaW5rZWQgbGlzdCBvZiBibGFtZXMgKi8KKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKKworCS8qIGxvb2stdXAgYSBsaW5lIGluIHRoZSBmaW5hbCBidWZmZXIgKi8KKwlpbnQgbnVtX2xpbmVzOworCWludCAqbGluZW5vOworCisJLyogc3RhdHMgKi8KKwlpbnQgbnVtX3JlYWRfYmxvYjsKKwlpbnQgbnVtX2dldF9wYXRjaDsKKwlpbnQgbnVtX2NvbW1pdHM7CisKKwkvKgorCSAqIGJsYW1lIGZvciBhIGJsYW1lX2VudHJ5IHdpdGggc2NvcmUgbG93ZXIgdGhhbiB0aGVzZSB0aHJlc2hvbGRzCisJICogaXMgbm90IHBhc3NlZCB0byB0aGUgcGFyZW50IHVzaW5nIG1vdmUvY29weSBsb2dpYy4KKwkgKi8KKwl1bnNpZ25lZCBtb3ZlX3Njb3JlOworCXVuc2lnbmVkIGNvcHlfc2NvcmU7CisKKwkvKiB1c2UgdGhpcyBmaWxlJ3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlICovCisJY29uc3QgY2hhciAqY29udGVudHNfZnJvbTsKKworCS8qIGZsYWdzICovCisJaW50IHJldmVyc2U7CisJaW50IHNob3dfcm9vdDsKKwlpbnQgeGRsX29wdHM7CisJaW50IG5vX3dob2xlX2ZpbGVfcmVuYW1lOworCWludCBkZWJ1ZzsKKworCS8qIGNhbGxiYWNrcyAqLworCXZvaWQoKm9uX3Nhbml0eV9mYWlsKShzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqLCBpbnQpOworCXZvaWQoKmZvdW5kX2d1aWx0eV9lbnRyeSkoc3RydWN0IGJsYW1lX2VudHJ5ICosIHZvaWQgKik7CisKKwl2b2lkICpmb3VuZF9ndWlsdHlfZW50cnlfZGF0YTsKK307CisKKy8qCisgKiBPcmlnaW4gaXMgcmVmY291bnRlZCBhbmQgdXN1YWxseSB3ZSBrZWVwIHRoZSBibG9iIGNvbnRlbnRzIHRvIGJlCisgKiByZXVzZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IGJsYW1lX29yaWdpbiAqYmxhbWVfb3JpZ2luX2luY3JlZihzdHJ1Y3QgYmxhbWVfb3JpZ2luICpvKQoreworCWlmIChvKQorCQlvLT5yZWZjbnQrKzsKKwlyZXR1cm4gbzsKK30KK2V4dGVybiB2b2lkIGJsYW1lX29yaWdpbl9kZWNyZWYoc3RydWN0IGJsYW1lX29yaWdpbiAqbyk7CisKK2V4dGVybiB2b2lkIGJsYW1lX2NvYWxlc2NlKHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYik7CitleHRlcm4gdm9pZCBibGFtZV9zb3J0X2ZpbmFsKHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYik7CitleHRlcm4gdW5zaWduZWQgYmxhbWVfZW50cnlfc2NvcmUoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLCBzdHJ1Y3QgYmxhbWVfZW50cnkgKmUpOworZXh0ZXJuIHZvaWQgYXNzaWduX2JsYW1lKHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYiwgaW50IG9wdCk7CitleHRlcm4gY29uc3QgY2hhciAqYmxhbWVfbnRoX2xpbmUoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLCBsb25nIGxubyk7CisKK2V4dGVybiB2b2lkIGluaXRfc2NvcmVib2FyZChzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IpOworZXh0ZXJuIHZvaWQgc2V0dXBfc2NvcmVib2FyZChzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBibGFtZV9vcmlnaW4gKipvcmlnKTsKKworZXh0ZXJuIHN0cnVjdCBibGFtZV9lbnRyeSAqYmxhbWVfZW50cnlfcHJlcGVuZChzdHJ1Y3QgYmxhbWVfZW50cnkgKmhlYWQsIGxvbmcgc3RhcnQsIGxvbmcgZW5kLCBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpvKTsKKworI2VuZGlmIC8qIEJMQU1FX0ggKi8KZGlmZiAtLWdpdCBhL2Jsb2IuYyBiL2Jsb2IuYwppbmRleCAxZmNiOGU0Li5mYTJhYjRmIDEwMDY0NAotLS0gYS9ibG9iLmMKKysrIGIvYmxvYi5jCkBAIC0zLDExICszLDExIEBACiAKIGNvbnN0IGNoYXIgKmJsb2JfdHlwZSA9ICJibG9iIjsKIAotc3RydWN0IGJsb2IgKmxvb2t1cF9ibG9iKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdHJ1Y3QgYmxvYiAqbG9va3VwX2Jsb2IoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXN0cnVjdCBvYmplY3QgKm9iaiA9IGxvb2t1cF9vYmplY3Qoc2hhMSk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChvaWQtPmhhc2gpOwogCWlmICghb2JqKQotCQlyZXR1cm4gY3JlYXRlX29iamVjdChzaGExLCBhbGxvY19ibG9iX25vZGUoKSk7CisJCXJldHVybiBjcmVhdGVfb2JqZWN0KG9pZC0+aGFzaCwgYWxsb2NfYmxvYl9ub2RlKCkpOwogCXJldHVybiBvYmplY3RfYXNfdHlwZShvYmosIE9CSl9CTE9CLCAwKTsKIH0KIApkaWZmIC0tZ2l0IGEvYmxvYi5oIGIvYmxvYi5oCmluZGV4IDU5YjM5NGUuLjQ0NjA2MTYgMTAwNjQ0Ci0tLSBhL2Jsb2IuaAorKysgYi9ibG9iLmgKQEAgLTksNyArOSw3IEBACiAJc3RydWN0IG9iamVjdCBvYmplY3Q7CiB9OwogCi1zdHJ1Y3QgYmxvYiAqbG9va3VwX2Jsb2IoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CitzdHJ1Y3QgYmxvYiAqbG9va3VwX2Jsb2IoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAogaW50IHBhcnNlX2Jsb2JfYnVmZmVyKHN0cnVjdCBibG9iICppdGVtLCB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CiAKZGlmZiAtLWdpdCBhL2JyYW5jaC5jIGIvYnJhbmNoLmMKaW5kZXggYjk1NWQ0Zi4uNDM3N2NlMiAxMDA2NDQKLS0tIGEvYnJhbmNoLmMKKysrIGIvYnJhbmNoLmMKQEAgLTEsNSArMSw2IEBACiAjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJicmFuY2guaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCkBAIC0yNCw4ICsyNSw3IEBACiAJCX0gZWxzZSB7CiAJCQlmcmVlKHRyYWNraW5nLT5zcGVjLnNyYyk7CiAJCQlpZiAodHJhY2tpbmctPnNyYykgewotCQkJCWZyZWUodHJhY2tpbmctPnNyYyk7Ci0JCQkJdHJhY2tpbmctPnNyYyA9IE5VTEw7CisJCQkJRlJFRV9BTkRfTlVMTCh0cmFja2luZy0+c3JjKTsKIAkJCX0KIAkJfQogCQl0cmFja2luZy0+c3BlYy5zcmMgPSBOVUxMOwpAQCAtOTAsMjQgKzkwLDI0IEBACiAJCWlmIChzaG9ydG5hbWUpIHsKIAkJCWlmIChvcmlnaW4pCiAJCQkJcHJpbnRmX2xuKHJlYmFzaW5nID8KLQkJCQkJICBfKCJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJXMgZnJvbSAlcyBieSByZWJhc2luZy4iKSA6Ci0JCQkJCSAgXygiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICVzIGZyb20gJXMuIiksCisJCQkJCSAgXygiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycgYnkgcmViYXNpbmcuIikgOgorCQkJCQkgIF8oIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnLiIpLAogCQkJCQkgIGxvY2FsLCBzaG9ydG5hbWUsIG9yaWdpbik7CiAJCQllbHNlCiAJCQkJcHJpbnRmX2xuKHJlYmFzaW5nID8KLQkJCQkJICBfKCJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAlcyBieSByZWJhc2luZy4iKSA6Ci0JCQkJCSAgXygiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJXMuIiksCisJCQkJCSAgXygiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnIGJ5IHJlYmFzaW5nLiIpIDoKKwkJCQkJICBfKCJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycuIiksCiAJCQkJCSAgbG9jYWwsIHNob3J0bmFtZSk7CiAJCX0gZWxzZSB7CiAJCQlpZiAob3JpZ2luKQogCQkJCXByaW50Zl9sbihyZWJhc2luZyA/Ci0JCQkJCSAgXygiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICVzIGJ5IHJlYmFzaW5nLiIpIDoKLQkJCQkJICBfKCJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJXMuIiksCisJCQkJCSAgXygiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJyBieSByZWJhc2luZy4iKSA6CisJCQkJCSAgXygiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJy4iKSwKIAkJCQkJICBsb2NhbCwgcmVtb3RlKTsKIAkJCWVsc2UKIAkJCQlwcmludGZfbG4ocmViYXNpbmcgPwotCQkJCQkgIF8oIkJyYW5jaCAlcyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICVzIGJ5IHJlYmFzaW5nLiIpIDoKLQkJCQkJICBfKCJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAlcy4iKSwKKwkJCQkJICBfKCJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycgYnkgcmViYXNpbmcuIikgOgorCQkJCQkgIF8oIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJy4iKSwKIAkJCQkJICBsb2NhbCwgcmVtb3RlKTsKIAkJfQogCX0KQEAgLTE5MSw5ICsxOTEsOCBAQAogCiAJaWYgKCFhdHRyX29ubHkpIHsKIAkJY29uc3QgY2hhciAqaGVhZDsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAotCQloZWFkID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgMCwgc2hhMSwgTlVMTCk7CisJCWhlYWQgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCAwLCBOVUxMLCBOVUxMKTsKIAkJaWYgKCFpc19iYXJlX3JlcG9zaXRvcnkoKSAmJiBoZWFkICYmICFzdHJjbXAoaGVhZCwgcmVmLT5idWYpKQogCQkJZGllKF8oIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIpKTsKIAl9CkBAIC0yMzMsOCArMjMyLDggQEAKIAkJICAgaW50IHF1aWV0LCBlbnVtIGJyYW5jaF90cmFjayB0cmFjaykKIHsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQljaGFyICpyZWFsX3JlZiwgbXNnW1BBVEhfTUFYICsgMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCWNoYXIgKnJlYWxfcmVmOwogCXN0cnVjdCBzdHJidWYgcmVmID0gU1RSQlVGX0lOSVQ7CiAJaW50IGZvcmNpbmcgPSAwOwogCWludCBkb250X2NoYW5nZV9yZWYgPSAwOwpAQCAtMjUzLDcgKzI1Miw3IEBACiAJfQogCiAJcmVhbF9yZWYgPSBOVUxMOwotCWlmIChnZXRfc2hhMShzdGFydF9uYW1lLCBzaGExKSkgeworCWlmIChnZXRfb2lkKHN0YXJ0X25hbWUsICZvaWQpKSB7CiAJCWlmIChleHBsaWNpdF90cmFja2luZykgewogCQkJaWYgKGFkdmljZV9zZXRfdXBzdHJlYW1fZmFpbHVyZSkgewogCQkJCWVycm9yKF8odXBzdHJlYW1fbWlzc2luZyksIHN0YXJ0X25hbWUpOwpAQCAtMjY1LDcgKzI2NCw3IEBACiAJCWRpZShfKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iKSwgc3RhcnRfbmFtZSk7CiAJfQogCi0Jc3dpdGNoIChkd2ltX3JlZihzdGFydF9uYW1lLCBzdHJsZW4oc3RhcnRfbmFtZSksIHNoYTEsICZyZWFsX3JlZikpIHsKKwlzd2l0Y2ggKGR3aW1fcmVmKHN0YXJ0X25hbWUsIHN0cmxlbihzdGFydF9uYW1lKSwgb2lkLmhhc2gsICZyZWFsX3JlZikpIHsKIAljYXNlIDA6CiAJCS8qIE5vdCBicmFuY2hpbmcgZnJvbSBhbnkgZXhpc3RpbmcgYnJhbmNoICovCiAJCWlmIChleHBsaWNpdF90cmFja2luZykKQEAgLTI4NiwxNiArMjg1LDkgQEAKIAkJYnJlYWs7CiAJfQogCi0JaWYgKChjb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKSkgPT0gTlVMTCkKKwlpZiAoKGNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZvaWQpKSA9PSBOVUxMKQogCQlkaWUoXygiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIpLCBzdGFydF9uYW1lKTsKLQloYXNoY3B5KHNoYTEsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKLQotCWlmIChmb3JjaW5nKQotCQlzbnByaW50Zihtc2csIHNpemVvZiBtc2csICJicmFuY2g6IFJlc2V0IHRvICVzIiwKLQkJCSBzdGFydF9uYW1lKTsKLQllbHNlIGlmICghZG9udF9jaGFuZ2VfcmVmKQotCQlzbnByaW50Zihtc2csIHNpemVvZiBtc2csICJicmFuY2g6IENyZWF0ZWQgZnJvbSAlcyIsCi0JCQkgc3RhcnRfbmFtZSk7CisJb2lkY3B5KCZvaWQsICZjb21taXQtPm9iamVjdC5vaWQpOwogCiAJaWYgKHJlZmxvZykKIAkJbG9nX2FsbF9yZWZfdXBkYXRlcyA9IExPR19SRUZTX05PUk1BTDsKQEAgLTMwMywxNiArMjk1LDIzIEBACiAJaWYgKCFkb250X2NoYW5nZV9yZWYpIHsKIAkJc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb247CiAJCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7CisJCWNoYXIgKm1zZzsKKworCQlpZiAoZm9yY2luZykKKwkJCW1zZyA9IHhzdHJmbXQoImJyYW5jaDogUmVzZXQgdG8gJXMiLCBzdGFydF9uYW1lKTsKKwkJZWxzZQorCQkJbXNnID0geHN0cmZtdCgiYnJhbmNoOiBDcmVhdGVkIGZyb20gJXMiLCBzdGFydF9uYW1lKTsKIAogCQl0cmFuc2FjdGlvbiA9IHJlZl90cmFuc2FjdGlvbl9iZWdpbigmZXJyKTsKIAkJaWYgKCF0cmFuc2FjdGlvbiB8fAogCQkgICAgcmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSh0cmFuc2FjdGlvbiwgcmVmLmJ1ZiwKLQkJCQkJICAgc2hhMSwgZm9yY2luZyA/IE5VTEwgOiBudWxsX3NoYTEsCisJCQkJCSAgIG9pZC5oYXNoLCBmb3JjaW5nID8gTlVMTCA6IG51bGxfc2hhMSwKIAkJCQkJICAgMCwgbXNnLCAmZXJyKSB8fAogCQkgICAgcmVmX3RyYW5zYWN0aW9uX2NvbW1pdCh0cmFuc2FjdGlvbiwgJmVycikpCiAJCQlkaWUoIiVzIiwgZXJyLmJ1Zik7CiAJCXJlZl90cmFuc2FjdGlvbl9mcmVlKHRyYW5zYWN0aW9uKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmVycik7CisJCWZyZWUobXNnKTsKIAl9CiAKIAlpZiAocmVhbF9yZWYgJiYgdHJhY2spCkBAIC0zNDUsMjQgKzM0NCwyNyBAQAogCSAgICBicmFuY2gsIHd0LT5wYXRoKTsKIH0KIAotaW50IHJlcGxhY2VfZWFjaF93b3JrdHJlZV9oZWFkX3N5bXJlZihjb25zdCBjaGFyICpvbGRyZWYsIGNvbnN0IGNoYXIgKm5ld3JlZikKK2ludCByZXBsYWNlX2VhY2hfd29ya3RyZWVfaGVhZF9zeW1yZWYoY29uc3QgY2hhciAqb2xkcmVmLCBjb25zdCBjaGFyICpuZXdyZWYsCisJCQkJICAgICAgY29uc3QgY2hhciAqbG9nbXNnKQogewogCWludCByZXQgPSAwOwogCXN0cnVjdCB3b3JrdHJlZSAqKndvcmt0cmVlcyA9IGdldF93b3JrdHJlZXMoMCk7CiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyB3b3JrdHJlZXNbaV07IGkrKykgeworCQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzOworCiAJCWlmICh3b3JrdHJlZXNbaV0tPmlzX2RldGFjaGVkKQogCQkJY29udGludWU7CisJCWlmICghd29ya3RyZWVzW2ldLT5oZWFkX3JlZikKKwkJCWNvbnRpbnVlOwogCQlpZiAoc3RyY21wKG9sZHJlZiwgd29ya3RyZWVzW2ldLT5oZWFkX3JlZikpCiAJCQljb250aW51ZTsKIAotCQlpZiAoc2V0X3dvcmt0cmVlX2hlYWRfc3ltcmVmKGdldF93b3JrdHJlZV9naXRfZGlyKHdvcmt0cmVlc1tpXSksCi0JCQkJCSAgICAgbmV3cmVmKSkgewotCQkJcmV0ID0gLTE7Ci0JCQllcnJvcihfKCJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIpLAotCQkJICAgICAgd29ya3RyZWVzW2ldLT5wYXRoKTsKLQkJfQorCQlyZWZzID0gZ2V0X3dvcmt0cmVlX3JlZl9zdG9yZSh3b3JrdHJlZXNbaV0pOworCQlpZiAocmVmc19jcmVhdGVfc3ltcmVmKHJlZnMsICJIRUFEIiwgbmV3cmVmLCBsb2dtc2cpKQorCQkJcmV0ID0gZXJyb3IoXygiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiKSwKKwkJCQkgICAgd29ya3RyZWVzW2ldLT5wYXRoKTsKIAl9CiAKIAlmcmVlX3dvcmt0cmVlcyh3b3JrdHJlZXMpOwpkaWZmIC0tZ2l0IGEvYnJhbmNoLmggYi9icmFuY2guaAppbmRleCAzMTAzZWI5Li5iMDc3ODg1IDEwMDY0NAotLS0gYS9icmFuY2guaAorKysgYi9icmFuY2guaApAQCAtNzEsNiArNzEsNyBAQAogICogVGhpcyB3aWxsIGJlIHVzZWQgd2hlbiByZW5hbWluZyBhIGJyYW5jaC4gUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwsIG5vbi16ZXJvCiAgKiBvdGhlcndpc2UuCiAgKi8KLWV4dGVybiBpbnQgcmVwbGFjZV9lYWNoX3dvcmt0cmVlX2hlYWRfc3ltcmVmKGNvbnN0IGNoYXIgKm9sZHJlZiwgY29uc3QgY2hhciAqbmV3cmVmKTsKK2V4dGVybiBpbnQgcmVwbGFjZV9lYWNoX3dvcmt0cmVlX2hlYWRfc3ltcmVmKGNvbnN0IGNoYXIgKm9sZHJlZiwgY29uc3QgY2hhciAqbmV3cmVmLAorCQkJCQkgICAgIGNvbnN0IGNoYXIgKmxvZ21zZyk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi5oIGIvYnVpbHRpbi5oCmluZGV4IDY3ZjgwNTEuLjQyMzc4ZjMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4uaAorKysgYi9idWlsdGluLmgKQEAgLTYsNiArNiw5NCBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAKKy8qCisgKiBidWlsdGluIEFQSQorICogPT09PT09PT09PT0KKyAqCisgKiBBZGRpbmcgYSBuZXcgYnVpbHQtaW4KKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIFRoZXJlIGFyZSA0IHRoaW5ncyB0byBkbyB0byBhZGQgYSBidWlsdC1pbiBjb21tYW5kIGltcGxlbWVudGF0aW9uIHRvCisgKiBHaXQ6CisgKgorICogLiBEZWZpbmUgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBidWlsdC1pbiBjb21tYW5kIGBmb29gIHdpdGgKKyAqICAgc2lnbmF0dXJlOgorICoKKyAqCWludCBjbWRfZm9vKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKKyAqCisgKiAuIEFkZCB0aGUgZXh0ZXJuYWwgZGVjbGFyYXRpb24gZm9yIHRoZSBmdW5jdGlvbiB0byBgYnVpbHRpbi5oYC4KKyAqCisgKiAuIEFkZCB0aGUgY29tbWFuZCB0byB0aGUgYGNvbW1hbmRzW11gIHRhYmxlIGRlZmluZWQgaW4gYGdpdC5jYC4KKyAqICAgVGhlIGVudHJ5IHNob3VsZCBsb29rIGxpa2U6CisgKgorICoJeyAiZm9vIiwgY21kX2ZvbywgPG9wdGlvbnM+IH0sCisgKgorICogd2hlcmUgb3B0aW9ucyBpcyB0aGUgYml0d2lzZS1vciBvZjoKKyAqCisgKiBgUlVOX1NFVFVQYDoKKyAqCUlmIHRoZXJlIGlzIG5vdCBhIEdpdCBkaXJlY3RvcnkgdG8gd29yayBvbiwgYWJvcnQuICBJZiB0aGVyZQorICoJaXMgYSB3b3JrIHRyZWUsIGNoZGlyIHRvIHRoZSB0b3Agb2YgaXQgaWYgdGhlIGNvbW1hbmQgd2FzCisgKglpbnZva2VkIGluIGEgc3ViZGlyZWN0b3J5LiAgSWYgdGhlcmUgaXMgbm8gd29yayB0cmVlLCBubworICoJY2hkaXIoKSBpcyBkb25lLgorICoKKyAqIGBSVU5fU0VUVVBfR0VOVExZYDoKKyAqCUlmIHRoZXJlIGlzIGEgR2l0IGRpcmVjdG9yeSwgY2hkaXIgYXMgcGVyIFJVTl9TRVRVUCwgb3RoZXJ3aXNlLAorICoJZG9uJ3QgY2hkaXIgYW55d2hlcmUuCisgKgorICogYFVTRV9QQUdFUmA6CisgKgorICoJSWYgdGhlIHN0YW5kYXJkIG91dHB1dCBpcyBjb25uZWN0ZWQgdG8gYSB0dHksIHNwYXduIGEgcGFnZXIgYW5kCisgKglmZWVkIG91ciBvdXRwdXQgdG8gaXQuCisgKgorICogYE5FRURfV09SS19UUkVFYDoKKyAqCisgKglNYWtlIHN1cmUgdGhlcmUgaXMgYSB3b3JrIHRyZWUsIGkuZS4gdGhlIGNvbW1hbmQgY2Fubm90IGFjdAorICoJb24gYmFyZSByZXBvc2l0b3JpZXMuCisgKglUaGlzIG9ubHkgbWFrZXMgc2Vuc2Ugd2hlbiBgUlVOX1NFVFVQYCBpcyBhbHNvIHNldC4KKyAqCisgKiBgU1VQUE9SVF9TVVBFUl9QUkVGSVhgOgorICoKKyAqCVRoZSBidWlsdC1pbiBzdXBwb3J0cyBgLS1zdXBlci1wcmVmaXhgLgorICoKKyAqIGBERUxBWV9QQUdFUl9DT05GSUdgOgorICoKKyAqCUlmIFJVTl9TRVRVUCBvciBSVU5fU0VUVVBfR0VOVExZIGlzIHNldCwgZ2l0LmMgbm9ybWFsbHkgaGFuZGxlcworICoJdGhlIGBwYWdlci48Y21kPmAtY29uZmlndXJhdGlvbi4gSWYgdGhpcyBmbGFnIGlzIHVzZWQsIGdpdC5jCisgKgl3aWxsIHNraXAgdGhhdCBzdGVwLCBpbnN0ZWFkIGFsbG93aW5nIHRoZSBidWlsdC1pbiB0byBtYWtlIGEKKyAqCW1vcmUgaW5mb3JtZWQgZGVjaXNpb24sIGUuZy4sIGJ5IGlnbm9yaW5nIGBwYWdlci48Y21kPmAgZm9yCisgKgljZXJ0YWluIHN1YmNvbW1hbmRzLgorICoKKyAqIC4gQWRkIGBidWlsdGluL2Zvby5vYCB0byBgQlVJTFRJTl9PQkpTYCBpbiBgTWFrZWZpbGVgLgorICoKKyAqIEFkZGl0aW9uYWxseSwgaWYgYGZvb2AgaXMgYSBuZXcgY29tbWFuZCwgdGhlcmUgYXJlIDQgbW9yZSB0aGluZ3MgdG8gZG86CisgKgorICogLiBBZGQgdGVzdHMgdG8gYHQvYCBkaXJlY3RvcnkuCisgKgorICogLiBXcml0ZSBkb2N1bWVudGF0aW9uIGluIGBEb2N1bWVudGF0aW9uL2dpdC1mb28udHh0YC4KKyAqCisgKiAuIEFkZCBhbiBlbnRyeSBmb3IgYGdpdC1mb29gIHRvIGBjb21tYW5kLWxpc3QudHh0YC4KKyAqCisgKiAuIEFkZCBhbiBlbnRyeSBmb3IgYC9naXQtZm9vYCB0byBgLmdpdGlnbm9yZWAuCisgKgorICoKKyAqIEhvdyBhIGJ1aWx0LWluIGlzIGNhbGxlZAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogVGhlIGltcGxlbWVudGF0aW9uIGBjbWRfZm9vKClgIHRha2VzIHRocmVlIHBhcmFtZXRlcnMsIGBhcmdjYCwgYGFyZ3YsCisgKiBhbmQgYHByZWZpeGAuICBUaGUgZmlyc3QgdHdvIGFyZSBzaW1pbGFyIHRvIHdoYXQgYG1haW4oKWAgb2YgYQorICogc3RhbmRhbG9uZSBjb21tYW5kIHdvdWxkIGJlIGNhbGxlZCB3aXRoLgorICoKKyAqIFdoZW4gYFJVTl9TRVRVUGAgaXMgc3BlY2lmaWVkIGluIHRoZSBgY29tbWFuZHNbXWAgdGFibGUsIGFuZCB3aGVuIHlvdQorICogd2VyZSBzdGFydGVkIGZyb20gYSBzdWJkaXJlY3Rvcnkgb2YgdGhlIHdvcmsgdHJlZSwgYGNtZF9mb28oKWAgaXMgY2FsbGVkCisgKiBhZnRlciBjaGRpcigyKSB0byB0aGUgdG9wIG9mIHRoZSB3b3JrIHRyZWUsIGFuZCBgcHJlZml4YCBnZXRzIHRoZSBwYXRoCisgKiB0byB0aGUgc3ViZGlyZWN0b3J5IHRoZSBjb21tYW5kIHN0YXJ0ZWQgZnJvbS4gIFRoaXMgYWxsb3dzIHlvdSB0bworICogY29udmVydCBhIHVzZXItc3VwcGxpZWQgcGF0aG5hbWUgKHR5cGljYWxseSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeSkKKyAqIHRvIGEgcGF0aG5hbWUgcmVsYXRpdmUgdG8gdGhlIHRvcCBvZiB0aGUgd29yayB0cmVlLgorICoKKyAqIFRoZSByZXR1cm4gdmFsdWUgZnJvbSBgY21kX2ZvbygpYCBiZWNvbWVzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUKKyAqIGNvbW1hbmQuCisgKi8KKwogI2RlZmluZSBERUZBVUxUX01FUkdFX0xPR19MRU4gMjAKIAogZXh0ZXJuIGNvbnN0IGNoYXIgZ2l0X3VzYWdlX3N0cmluZ1tdOwpAQCAtMjUsNyArMTEzLDE3IEBACiBleHRlcm4gaW50IGZtdF9tZXJnZV9tc2coc3RydWN0IHN0cmJ1ZiAqaW4sIHN0cnVjdCBzdHJidWYgKm91dCwKIAkJCSBzdHJ1Y3QgZm10X21lcmdlX21zZ19vcHRzICopOwogCi1leHRlcm4gaW50IHRleHRjb252X29iamVjdChjb25zdCBjaGFyICpwYXRoLCB1bnNpZ25lZCBtb2RlLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBvaWRfdmFsaWQsIGNoYXIgKipidWYsIHVuc2lnbmVkIGxvbmcgKmJ1Zl9zaXplKTsKKy8qKgorICogSWYgYSBidWlsdC1pbiBoYXMgREVMQVlfUEFHRVJfQ09ORklHIHNldCwgdGhlIGJ1aWx0LWluIHNob3VsZCBjYWxsIHRoaXMgZWFybHkKKyAqIHdoZW4gaXQgd2lzaGVzIHRvIHJlc3BlY3QgdGhlIGBwYWdlci5mb29gLWNvbmZpZy4gVGhlIGBjbWRgIGlzIHRoZSBuYW1lIG9mCisgKiB0aGUgYnVpbHQtaW4sIGUuZy4sICJmb28iLiBJZiBhIHBhZ2luZy1jaG9pY2UgaGFzIGFscmVhZHkgYmVlbiBzZXR1cCwgdGhpcworICogZG9lcyBub3RoaW5nLiBUaGUgZGVmYXVsdCBpbiBgZGVmYCBzaG91bGQgYmUgMCBmb3IgInBhZ2VyIG9mZiIsIDEgZm9yICJwYWdlcgorICogb24iIG9yIC0xIGZvciAicHVudCIuCisgKgorICogWW91IHNob3VsZCBtb3N0IGxpa2VseSB1c2UgYSBkZWZhdWx0IG9mIDAgb3IgMS4gIlB1bnQiICgtMSkgY291bGQgYmUgdXNlZnVsCisgKiB0byBiZSBhYmxlIHRvIGZhbGwgYmFjayB0byBzb21lIGhpc3RvcmljYWwgY29tcGF0aWJpbGl0eSBuYW1lLgorICovCitleHRlcm4gdm9pZCBzZXR1cF9hdXRvX3BhZ2VyKGNvbnN0IGNoYXIgKmNtZCwgaW50IGRlZik7CiAKIGV4dGVybiBpbnQgaXNfYnVpbHRpbihjb25zdCBjaGFyICpzKTsKIApAQCAtMTAzLDYgKzIwMSw3IEBACiBleHRlcm4gaW50IGNtZF9wdWxsKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKIGV4dGVybiBpbnQgY21kX3B1c2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwogZXh0ZXJuIGludCBjbWRfcmVhZF90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2V4dGVybiBpbnQgY21kX3JlYmFzZV9faGVscGVyKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKIGV4dGVybiBpbnQgY21kX3JlY2VpdmVfcGFjayhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CiBleHRlcm4gaW50IGNtZF9yZWZsb2coaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwogZXh0ZXJuIGludCBjbWRfcmVtb3RlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vYWRkLmMgYi9idWlsdGluL2FkZC5jCmluZGV4IDlmNTNmMDIuLmE2NDhjZjQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYWRkLmMKKysrIGIvYnVpbHRpbi9hZGQuYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiBMaW51cyBUb3J2YWxkcwogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKICNpbmNsdWRlICJkaXIuaCIKQEAgLTE3LDYgKzE4LDcgQEAKICNpbmNsdWRlICJyZXZpc2lvbi5oIgogI2luY2x1ZGUgImJ1bGstY2hlY2tpbi5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJzdWJtb2R1bGUuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX2FkZF91c2FnZVtdID0gewogCU5fKCJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIpLApAQCAtMzAsNyArMzIsNyBAQAogCWludCBhZGRfZXJyb3JzOwogfTsKIAotc3RhdGljIHZvaWQgY2htb2RfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgaW50IGZvcmNlX21vZGUpCitzdGF0aWMgdm9pZCBjaG1vZF9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBjaGFyIGZsaXApCiB7CiAJaW50IGk7CiAKQEAgLTQwLDggKzQyLDggQEAKIAkJaWYgKHBhdGhzcGVjICYmICFjZV9wYXRoX21hdGNoKGNlLCBwYXRoc3BlYywgTlVMTCkpCiAJCQljb250aW51ZTsKIAotCQlpZiAoY2htb2RfY2FjaGVfZW50cnkoY2UsIGZvcmNlX21vZGUpIDwgMCkKLQkJCWZwcmludGYoc3RkZXJyLCAiY2Fubm90IGNobW9kICclcyciLCBjZS0+bmFtZSk7CisJCWlmIChjaG1vZF9jYWNoZV9lbnRyeShjZSwgZmxpcCkgPCAwKQorCQkJZnByaW50ZihzdGRlcnIsICJjYW5ub3QgY2htb2QgJWN4ICclcydcbiIsIGZsaXAsIGNlLT5uYW1lKTsKIAl9CiB9CiAKQEAgLTExNCw4ICsxMTYsMTAgQEAKIAlyZXYuZGlmZm9wdC5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfQ0FMTEJBQ0s7CiAJcmV2LmRpZmZvcHQuZm9ybWF0X2NhbGxiYWNrID0gdXBkYXRlX2NhbGxiYWNrOwogCXJldi5kaWZmb3B0LmZvcm1hdF9jYWxsYmFja19kYXRhID0gJmRhdGE7CisJcmV2LmRpZmZvcHQuZmxhZ3MgfD0gRElGRl9PUFRfT1ZFUlJJREVfU1VCTU9EVUxFX0NPTkZJRzsKIAlyZXYubWF4X2NvdW50ID0gMDsgLyogZG8gbm90IGNvbXBhcmUgdW5tZXJnZWQgcGF0aHMgd2l0aCBzdGFnZSAjMiAqLwogCXJ1bl9kaWZmX2ZpbGVzKCZyZXYsIERJRkZfUkFDWV9JU19NT0RJRklFRCk7CisJY2xlYXJfcGF0aHNwZWMoJnJldi5wcnVuZV9kYXRhKTsKIAlyZXR1cm4gISFkYXRhLmFkZF9lcnJvcnM7CiB9CiAKQEAgLTEzNSw3ICsxMzksNyBAQAogCQkJKmRzdCsrID0gZW50cnk7CiAJfQogCWRpci0+bnIgPSBkc3QgLSBkaXItPmVudHJpZXM7Ci0JYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChwYXRoc3BlYywgc2Vlbik7CisJYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChwYXRoc3BlYywgJnRoZV9pbmRleCwgc2Vlbik7CiAJcmV0dXJuIHNlZW47CiB9CiAKQEAgLTI0OCw2ICsyNTIsNyBAQAogCiBzdGF0aWMgaW50IHZlcmJvc2UsIHNob3dfb25seSwgaWdub3JlZF90b28sIHJlZnJlc2hfb25seTsKIHN0YXRpYyBpbnQgaWdub3JlX2FkZF9lcnJvcnMsIGludGVudF90b19hZGQsIGlnbm9yZV9taXNzaW5nOworc3RhdGljIGludCB3YXJuX29uX2VtYmVkZGVkX3JlcG8gPSAxOwogCiAjZGVmaW5lIEFERFJFTU9WRV9ERUZBVUxUIDEKIHN0YXRpYyBpbnQgYWRkcmVtb3ZlID0gQUREUkVNT1ZFX0RFRkFVTFQ7CkBAIC0yODEsNiArMjg2LDggQEAKIAlPUFRfQk9PTCggMCAsICJpZ25vcmUtZXJyb3JzIiwgJmlnbm9yZV9hZGRfZXJyb3JzLCBOXygianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIpKSwKIAlPUFRfQk9PTCggMCAsICJpZ25vcmUtbWlzc2luZyIsICZpZ25vcmVfbWlzc2luZywgTl8oImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIpKSwKIAlPUFRfU1RSSU5HKCAwICwgImNobW9kIiwgJmNobW9kX2FyZywgTl8oIigrLy0peCIpLCBOXygib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiKSksCisJT1BUX0hJRERFTl9CT09MKDAsICJ3YXJuLWVtYmVkZGVkLXJlcG8iLCAmd2Fybl9vbl9lbWJlZGRlZF9yZXBvLAorCQkJTl8oIndhcm4gd2hlbiBhZGRpbmcgYW4gZW1iZWRkZWQgcmVwb3NpdG9yeSIpKSwKIAlPUFRfRU5EKCksCiB9OwogCkBAIC0yOTQsNiArMzAxLDQ1IEBACiAJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyIGVtYmVkZGVkX2FkdmljZVtdID0gTl8oCisiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgorIkNsb25lcyBvZiB0aGUgb3V0ZXIgcmVwb3NpdG9yeSB3aWxsIG5vdCBjb250YWluIHRoZSBjb250ZW50cyBvZlxuIgorInRoZSBlbWJlZGRlZCByZXBvc2l0b3J5IGFuZCB3aWxsIG5vdCBrbm93IGhvdyB0byBvYnRhaW4gaXQuXG4iCisiSWYgeW91IG1lYW50IHRvIGFkZCBhIHN1Ym1vZHVsZSwgdXNlOlxuIgorIlxuIgorIglnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIklmIHlvdSBhZGRlZCB0aGlzIHBhdGggYnkgbWlzdGFrZSwgeW91IGNhbiByZW1vdmUgaXQgZnJvbSB0aGVcbiIKKyJpbmRleCB3aXRoOlxuIgorIlxuIgorIglnaXQgcm0gLS1jYWNoZWQgJXNcbiIKKyJcbiIKKyJTZWUgXCJnaXQgaGVscCBzdWJtb2R1bGVcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCispOworCitzdGF0aWMgdm9pZCBjaGVja19lbWJlZGRlZF9yZXBvKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IHN0cmJ1ZiBuYW1lID0gU1RSQlVGX0lOSVQ7CisKKwlpZiAoIXdhcm5fb25fZW1iZWRkZWRfcmVwbykKKwkJcmV0dXJuOworCWlmICghZW5kc193aXRoKHBhdGgsICIvIikpCisJCXJldHVybjsKKworCS8qIERyb3AgdHJhaWxpbmcgc2xhc2ggZm9yIGFlc3RoZXRpY3MgKi8KKwlzdHJidWZfYWRkc3RyKCZuYW1lLCBwYXRoKTsKKwlzdHJidWZfc3RyaXBfc3VmZml4KCZuYW1lLCAiLyIpOworCisJd2FybmluZyhfKCJhZGRpbmcgZW1iZWRkZWQgZ2l0IHJlcG9zaXRvcnk6ICVzIiksIG5hbWUuYnVmKTsKKwlpZiAoYWR2aWNlX2FkZF9lbWJlZGRlZF9yZXBvKSB7CisJCWFkdmlzZShlbWJlZGRlZF9hZHZpY2UsIG5hbWUuYnVmLCBuYW1lLmJ1Zik7CisJCS8qIHRoZXJlIG1heSBiZSBtdWx0aXBsZSBlbnRyaWVzOyBhZHZpc2Ugb25seSBvbmNlICovCisJCWFkdmljZV9hZGRfZW1iZWRkZWRfcmVwbyA9IDA7CisJfQorCisJc3RyYnVmX3JlbGVhc2UoJm5hbWUpOworfQorCiBzdGF0aWMgaW50IGFkZF9maWxlcyhzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBpbnQgZmxhZ3MpCiB7CiAJaW50IGksIGV4aXRfc3RhdHVzID0gMDsKQEAgLTMwNiwxMiArMzUyLDE0IEBACiAJCWV4aXRfc3RhdHVzID0gMTsKIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwgZGlyLT5ucjsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBkaXItPm5yOyBpKyspIHsKKwkJY2hlY2tfZW1iZWRkZWRfcmVwbyhkaXItPmVudHJpZXNbaV0tPm5hbWUpOwogCQlpZiAoYWRkX2ZpbGVfdG9faW5kZXgoJnRoZV9pbmRleCwgZGlyLT5lbnRyaWVzW2ldLT5uYW1lLCBmbGFncykpIHsKIAkJCWlmICghaWdub3JlX2FkZF9lcnJvcnMpCiAJCQkJZGllKF8oImFkZGluZyBmaWxlcyBmYWlsZWQiKSk7CiAJCQlleGl0X3N0YXR1cyA9IDE7CiAJCX0KKwl9CiAJcmV0dXJuIGV4aXRfc3RhdHVzOwogfQogCkBAIC0zNzksMTYgKzQyNywxOSBAQAogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQogCQlkaWUoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwogCisJZGllX2luX3VucG9wdWxhdGVkX3N1Ym1vZHVsZSgmdGhlX2luZGV4LCBwcmVmaXgpOworCiAJLyoKIAkgKiBDaGVjayB0aGUgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiIGJsb2NrCiAJICogYmVsb3cgYmVmb3JlIGVuYWJsaW5nIG5ldyBtYWdpYy4KIAkgKi8KIAlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCiAJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfRlVMTCB8Ci0JCSAgICAgICBQQVRIU1BFQ19TWU1MSU5LX0xFQURJTkdfUEFUSCB8Ci0JCSAgICAgICBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfRVhQRU5TSVZFLAorCQkgICAgICAgUEFUSFNQRUNfU1lNTElOS19MRUFESU5HX1BBVEgsCiAJCSAgICAgICBwcmVmaXgsIGFyZ3YpOwogCisJZGllX3BhdGhfaW5zaWRlX3N1Ym1vZHVsZSgmdGhlX2luZGV4LCAmcGF0aHNwZWMpOworCiAJaWYgKGFkZF9uZXdfZmlsZXMpIHsKIAkJaW50IGJhc2VsZW47CiAKQEAgLTQwMCw3ICs0NTEsNyBAQAogCQl9CiAKIAkJLyogVGhpcyBwaWNrcyB1cCB0aGUgcGF0aHMgdGhhdCBhcmUgbm90IHRyYWNrZWQgKi8KLQkJYmFzZWxlbiA9IGZpbGxfZGlyZWN0b3J5KCZkaXIsICZwYXRoc3BlYyk7CisJCWJhc2VsZW4gPSBmaWxsX2RpcmVjdG9yeSgmZGlyLCAmdGhlX2luZGV4LCAmcGF0aHNwZWMpOwogCQlpZiAocGF0aHNwZWMubnIpCiAJCQlzZWVuID0gcHJ1bmVfZGlyZWN0b3J5KCZkaXIsICZwYXRoc3BlYywgYmFzZWxlbik7CiAJfQpAQCAtNDE0LDcgKzQ2NSw3IEBACiAJCWludCBpOwogCiAJCWlmICghc2VlbikKLQkJCXNlZW4gPSBmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KCZwYXRoc3BlYyk7CisJCQlzZWVuID0gZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleCgmcGF0aHNwZWMsICZ0aGVfaW5kZXgpOwogCiAJCS8qCiAJCSAqIGZpbGVfZXhpc3RzKCkgYXNzdW1lcyBleGFjdCBtYXRjaApAQCAtNDM2LDggKzQ4Nyw5IEBACiAJCQkgICAgICFmaWxlX2V4aXN0cyhwYXRoKSkpIHsKIAkJCQlpZiAoaWdub3JlX21pc3NpbmcpIHsKIAkJCQkJaW50IGR0eXBlID0gRFRfVU5LTk9XTjsKLQkJCQkJaWYgKGlzX2V4Y2x1ZGVkKCZkaXIsIHBhdGgsICZkdHlwZSkpCi0JCQkJCQlkaXJfYWRkX2lnbm9yZWQoJmRpciwgcGF0aCwgcGF0aHNwZWMuaXRlbXNbaV0ubGVuKTsKKwkJCQkJaWYgKGlzX2V4Y2x1ZGVkKCZkaXIsICZ0aGVfaW5kZXgsIHBhdGgsICZkdHlwZSkpCisJCQkJCQlkaXJfYWRkX2lnbm9yZWQoJmRpciwgJnRoZV9pbmRleCwKKwkJCQkJCQkJcGF0aCwgcGF0aHNwZWMuaXRlbXNbaV0ubGVuKTsKIAkJCQl9IGVsc2UKIAkJCQkJZGllKF8oInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiKSwKIAkJCQkJICAgIHBhdGhzcGVjLml0ZW1zW2ldLm9yaWdpbmFsKTsKQEAgLTQ2Myw1ICs1MTUsNyBAQAogCQkJZGllKF8oIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIpKTsKIAl9CiAKKwlVTkxFQUsocGF0aHNwZWMpOworCVVOTEVBSyhkaXIpOwogCXJldHVybiBleGl0X3N0YXR1czsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vYW0uYyBiL2J1aWx0aW4vYW0uYwppbmRleCAzMWZiNjA1Li5kNzUxM2Y1IDEwMDY0NAotLS0gYS9idWlsdGluL2FtLmMKKysrIGIvYnVpbHRpbi9hbS5jCkBAIC00LDYgKzQsNyBAQAogICogQmFzZWQgb24gZ2l0LWFtLnNoIGJ5IEp1bmlvIEMgSGFtYW5vLgogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiZXhlY19jbWQuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCkBAIC0zMCw2ICszMSw3IEBACiAjaW5jbHVkZSAibWFpbGluZm8uaCIKICNpbmNsdWRlICJhcHBseS5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogLyoqCiAgKiBSZXR1cm5zIDEgaWYgdGhlIGZpbGUgaXMgZW1wdHkgb3IgZG9lcyBub3QgZXhpc3QsIDAgb3RoZXJ3aXNlLgpAQCAtMTM0LDE3ICsxMzYsMTUgQEAKIH07CiAKIC8qKgotICogSW5pdGlhbGl6ZXMgYW1fc3RhdGUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMuIFRoZSBzdGF0ZSBkaXJlY3RvcnkgaXMgc2V0IHRvCi0gKiBkaXIuCisgKiBJbml0aWFsaXplcyBhbV9zdGF0ZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlcy4KICAqLwotc3RhdGljIHZvaWQgYW1fc3RhdGVfaW5pdChzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlLCBjb25zdCBjaGFyICpkaXIpCitzdGF0aWMgdm9pZCBhbV9zdGF0ZV9pbml0KHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUpCiB7CiAJaW50IGdwZ3NpZ247CiAKIAltZW1zZXQoc3RhdGUsIDAsIHNpemVvZigqc3RhdGUpKTsKIAotCWFzc2VydChkaXIpOwotCXN0YXRlLT5kaXIgPSB4c3RyZHVwKGRpcik7CisJc3RhdGUtPmRpciA9IGdpdF9wYXRoZHVwKCJyZWJhc2UtYXBwbHkiKTsKIAogCXN0YXRlLT5wcmVjID0gNDsKIApAQCAtNDMyLDYgKzQzMiwxNCBAQAogCXJlYWRfc3RhdGVfZmlsZSgmc2IsIHN0YXRlLCAidXRmOCIsIDEpOwogCXN0YXRlLT51dGY4ID0gIXN0cmNtcChzYi5idWYsICJ0Iik7CiAKKwlpZiAoZmlsZV9leGlzdHMoYW1fcGF0aChzdGF0ZSwgInJlcmVyZS1hdXRvdXBkYXRlIikpKSB7CisJCXJlYWRfc3RhdGVfZmlsZSgmc2IsIHN0YXRlLCAicmVyZXJlLWF1dG91cGRhdGUiLCAxKTsKKwkJc3RhdGUtPmFsbG93X3JlcmVyZV9hdXRvdXBkYXRlID0gc3RyY21wKHNiLmJ1ZiwgInQiKSA/CisJCQlSRVJFUkVfTk9BVVRPVVBEQVRFIDogUkVSRVJFX0FVVE9VUERBVEU7CisJfSBlbHNlIHsKKwkJc3RhdGUtPmFsbG93X3JlcmVyZV9hdXRvdXBkYXRlID0gMDsKKwl9CisKIAlyZWFkX3N0YXRlX2ZpbGUoJnNiLCBzdGF0ZSwgImtlZXAiLCAxKTsKIAlpZiAoIXN0cmNtcChzYi5idWYsICJ0IikpCiAJCXN0YXRlLT5rZWVwID0gS0VFUF9UUlVFOwpAQCAtNDg1LDggKzQ5Myw3IEBACiAJcmV0ID0gcnVuX2hvb2tfbGUoTlVMTCwgImFwcGx5cGF0Y2gtbXNnIiwgYW1fcGF0aChzdGF0ZSwgImZpbmFsLWNvbW1pdCIpLCBOVUxMKTsKIAogCWlmICghcmV0KSB7Ci0JCWZyZWUoc3RhdGUtPm1zZyk7Ci0JCXN0YXRlLT5tc2cgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKHN0YXRlLT5tc2cpOwogCQlpZiAocmVhZF9jb21taXRfbXNnKHN0YXRlKSA8IDApCiAJCQlkaWUoXygiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIpLAogCQkJCWFtX3BhdGgoc3RhdGUsICJmaW5hbC1jb21taXQiKSk7CkBAIC01NjUsNyArNTcyLDcgQEAKIAkJCWdvdG8gZmluaXNoOwogCQl9CiAKLQkJaWYgKGNvcHlfbm90ZV9mb3JfcmV3cml0ZShjLCBmcm9tX29iai5oYXNoLCB0b19vYmouaGFzaCkpCisJCWlmIChjb3B5X25vdGVfZm9yX3Jld3JpdGUoYywgJmZyb21fb2JqLCAmdG9fb2JqKSkKIAkJCXJldCA9IGVycm9yKF8oIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIiksCiAJCQkJCW9pZF90b19oZXgoJmZyb21fb2JqKSwgb2lkX3RvX2hleCgmdG9fb2JqKSk7CiAJfQpAQCAtNjY0LDkgKzY3MSw3IEBACiAJCWdvdG8gZG9uZTsKIAl9CiAKLQlzdHJidWZfcmVzZXQoJmwyKTsKIAlzdHJidWZfZ2V0bGluZSgmbDIsIGZwKTsKLQlzdHJidWZfcmVzZXQoJmwzKTsKIAlzdHJidWZfZ2V0bGluZSgmbDMsIGZwKTsKIAogCS8qCkBAIC02ODksNiArNjk0LDggQEAKIGRvbmU6CiAJZmNsb3NlKGZwKTsKIAlzdHJidWZfcmVsZWFzZSgmbDEpOworCXN0cmJ1Zl9yZWxlYXNlKCZsMik7CisJc3RyYnVmX3JlbGVhc2UoJmwzKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC03NjIsMTQgKzc2OSwxOCBAQAogCQltYWlsID0gbWtwYXRoKCIlcy8lMCpkIiwgc3RhdGUtPmRpciwgc3RhdGUtPnByZWMsIGkgKyAxKTsKIAogCQlvdXQgPSBmb3BlbihtYWlsLCAidyIpOwotCQlpZiAoIW91dCkKKwkJaWYgKCFvdXQpIHsKKwkJCWlmIChpbiAhPSBzdGRpbikKKwkJCQlmY2xvc2UoaW4pOwogCQkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciKSwKIAkJCQkJICAgbWFpbCk7CisJCX0KIAogCQlyZXQgPSBmbihvdXQsIGluLCBrZWVwX2NyKTsKIAogCQlmY2xvc2Uob3V0KTsKLQkJZmNsb3NlKGluKTsKKwkJaWYgKGluICE9IHN0ZGluKQorCQkJZmNsb3NlKGluKTsKIAogCQlpZiAocmV0KQogCQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIiksICpwYXRocyk7CkBAIC04NzAsNiArODgxLDcgQEAKIHN0YXRpYyBpbnQgaGdfcGF0Y2hfdG9fbWFpbChGSUxFICpvdXQsIEZJTEUgKmluLCBpbnQga2VlcF9jcikKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJaW50IHJjID0gMDsKIAogCXdoaWxlICghc3RyYnVmX2dldGxpbmVfbGYoJnNiLCBpbikpIHsKIAkJY29uc3QgY2hhciAqc3RyOwpAQCAtODc3LDI1ICs4ODksMzMgQEAKIAkJaWYgKHNraXBfcHJlZml4KHNiLmJ1ZiwgIiMgVXNlciAiLCAmc3RyKSkKIAkJCWZwcmludGYob3V0LCAiRnJvbTogJXNcbiIsIHN0cik7CiAJCWVsc2UgaWYgKHNraXBfcHJlZml4KHNiLmJ1ZiwgIiMgRGF0ZSAiLCAmc3RyKSkgewotCQkJdW5zaWduZWQgbG9uZyB0aW1lc3RhbXA7CisJCQl0aW1lc3RhbXBfdCB0aW1lc3RhbXA7CiAJCQlsb25nIHR6LCB0ejI7CiAJCQljaGFyICplbmQ7CiAKIAkJCWVycm5vID0gMDsKLQkJCXRpbWVzdGFtcCA9IHN0cnRvdWwoc3RyLCAmZW5kLCAxMCk7Ci0JCQlpZiAoZXJybm8pCi0JCQkJcmV0dXJuIGVycm9yKF8oImludmFsaWQgdGltZXN0YW1wIikpOworCQkJdGltZXN0YW1wID0gcGFyc2VfdGltZXN0YW1wKHN0ciwgJmVuZCwgMTApOworCQkJaWYgKGVycm5vKSB7CisJCQkJcmMgPSBlcnJvcihfKCJpbnZhbGlkIHRpbWVzdGFtcCIpKTsKKwkJCQlnb3RvIGV4aXQ7CisJCQl9CiAKLQkJCWlmICghc2tpcF9wcmVmaXgoZW5kLCAiICIsICZzdHIpKQotCQkJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIERhdGUgbGluZSIpKTsKKwkJCWlmICghc2tpcF9wcmVmaXgoZW5kLCAiICIsICZzdHIpKSB7CisJCQkJcmMgPSBlcnJvcihfKCJpbnZhbGlkIERhdGUgbGluZSIpKTsKKwkJCQlnb3RvIGV4aXQ7CisJCQl9CiAKIAkJCWVycm5vID0gMDsKIAkJCXR6ID0gc3RydG9sKHN0ciwgJmVuZCwgMTApOwotCQkJaWYgKGVycm5vKQotCQkJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIpKTsKKwkJCWlmIChlcnJubykgeworCQkJCXJjID0gZXJyb3IoXygiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiKSk7CisJCQkJZ290byBleGl0OworCQkJfQogCi0JCQlpZiAoKmVuZCkKLQkJCQlyZXR1cm4gZXJyb3IoXygiaW52YWxpZCBEYXRlIGxpbmUiKSk7CisJCQlpZiAoKmVuZCkgeworCQkJCXJjID0gZXJyb3IoXygiaW52YWxpZCBEYXRlIGxpbmUiKSk7CisJCQkJZ290byBleGl0OworCQkJfQogCiAJCQkvKgogCQkJICogbWVyY3VyaWFsJ3MgdGltZXpvbmUgaXMgaW4gc2Vjb25kcyB3ZXN0IG9mIFVUQywKQEAgLTkyMCw5ICs5NDAsOSBAQAogCQlmd3JpdGUoc2IuYnVmLCAxLCBzYi5sZW4sIG91dCk7CiAJCXN0cmJ1Zl9yZXNldCgmc2IpOwogCX0KLQorZXhpdDoKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwotCXJldHVybiAwOworCXJldHVybiByYzsKIH0KIAogLyoqCkBAIC0xMDAxLDYgKzEwMjEsMTAgQEAKIAl3cml0ZV9zdGF0ZV9ib29sKHN0YXRlLCAic2lnbiIsIHN0YXRlLT5zaWdub2ZmKTsKIAl3cml0ZV9zdGF0ZV9ib29sKHN0YXRlLCAidXRmOCIsIHN0YXRlLT51dGY4KTsKIAorCWlmIChzdGF0ZS0+YWxsb3dfcmVyZXJlX2F1dG91cGRhdGUpCisJCXdyaXRlX3N0YXRlX2Jvb2woc3RhdGUsICJyZXJlcmUtYXV0b3VwZGF0ZSIsCisJCQkgc3RhdGUtPmFsbG93X3JlcmVyZV9hdXRvdXBkYXRlID09IFJFUkVSRV9BVVRPVVBEQVRFKTsKKwogCXN3aXRjaCAoc3RhdGUtPmtlZXApIHsKIAljYXNlIEtFRVBfRkFMU0U6CiAJCXN0ciA9ICJmIjsKQEAgLTEwNDksNyArMTA3Myw3IEBACiAJfSBlbHNlIHsKIAkJd3JpdGVfc3RhdGVfdGV4dChzdGF0ZSwgImFib3J0LXNhZmV0eSIsICIiKTsKIAkJaWYgKCFzdGF0ZS0+cmViYXNpbmcpCi0JCQlkZWxldGVfcmVmKCJPUklHX0hFQUQiLCBOVUxMLCAwKTsKKwkJCWRlbGV0ZV9yZWYoTlVMTCwgIk9SSUdfSEVBRCIsIE5VTEwsIDApOwogCX0KIAogCS8qCkBAIC0xMDcxLDE3ICsxMDk1LDEwIEBACiB7CiAJc3RydWN0IG9iamVjdF9pZCBoZWFkOwogCi0JZnJlZShzdGF0ZS0+YXV0aG9yX25hbWUpOwotCXN0YXRlLT5hdXRob3JfbmFtZSA9IE5VTEw7Ci0KLQlmcmVlKHN0YXRlLT5hdXRob3JfZW1haWwpOwotCXN0YXRlLT5hdXRob3JfZW1haWwgPSBOVUxMOwotCi0JZnJlZShzdGF0ZS0+YXV0aG9yX2RhdGUpOwotCXN0YXRlLT5hdXRob3JfZGF0ZSA9IE5VTEw7Ci0KLQlmcmVlKHN0YXRlLT5tc2cpOwotCXN0YXRlLT5tc2cgPSBOVUxMOworCUZSRUVfQU5EX05VTEwoc3RhdGUtPmF1dGhvcl9uYW1lKTsKKwlGUkVFX0FORF9OVUxMKHN0YXRlLT5hdXRob3JfZW1haWwpOworCUZSRUVfQU5EX05VTEwoc3RhdGUtPmF1dGhvcl9kYXRlKTsKKwlGUkVFX0FORF9OVUxMKHN0YXRlLT5tc2cpOwogCXN0YXRlLT5tc2dfbGVuID0gMDsKIAogCXVubGluayhhbV9wYXRoKHN0YXRlLCAiYXV0aG9yLXNjcmlwdCIpKTsKQEAgLTExMzYsMTQgKzExNTMsMTQgQEAKIAlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWQ7CiAJaW50IGk7CiAKLQlpZiAoIWdldF9zaGExX3RyZWUoIkhFQUQiLCBoZWFkLmhhc2gpKSB7CisJaWYgKCFnZXRfb2lkX3RyZWUoIkhFQUQiLCAmaGVhZCkpIHsKIAkJc3RydWN0IGRpZmZfb3B0aW9ucyBvcHQ7CiAKIAkJZGlmZl9zZXR1cCgmb3B0KTsKIAkJRElGRl9PUFRfU0VUKCZvcHQsIEVYSVRfV0lUSF9TVEFUVVMpOwogCQlpZiAoIXNiKQogCQkJRElGRl9PUFRfU0VUKCZvcHQsIFFVSUNLKTsKLQkJZG9fZGlmZl9jYWNoZShoZWFkLmhhc2gsICZvcHQpOworCQlkb19kaWZmX2NhY2hlKCZoZWFkLCAmb3B0KTsKIAkJZGlmZmNvcmVfc3RkKCZvcHQpOwogCQlmb3IgKGkgPSAwOyBzYiAmJiBpIDwgZGlmZl9xdWV1ZWRfZGlmZi5ucjsgaSsrKSB7CiAJCQlpZiAoaSkKQEAgLTExODEsMzMgKzExOTgsNiBAQAogCWV4aXQoMTI4KTsKIH0KIAotc3RhdGljIHZvaWQgYW1fc2lnbm9mZihzdHJ1Y3Qgc3RyYnVmICpzYikKLXsKLQljaGFyICpjcDsKLQlzdHJ1Y3Qgc3RyYnVmIG1pbmUgPSBTVFJCVUZfSU5JVDsKLQotCS8qIERvZXMgaXQgZW5kIHdpdGggb3VyIG93biBzaWduLW9mZj8gKi8KLQlzdHJidWZfYWRkZigmbWluZSwgIlxuJXMlc1xuIiwKLQkJICAgIHNpZ25fb2ZmX2hlYWRlciwKLQkJICAgIGZtdF9uYW1lKGdldGVudigiR0lUX0NPTU1JVFRFUl9OQU1FIiksCi0JCQkgICAgIGdldGVudigiR0lUX0NPTU1JVFRFUl9FTUFJTCIpKSk7Ci0JaWYgKG1pbmUubGVuIDwgc2ItPmxlbiAmJgotCSAgICAhc3RyY21wKG1pbmUuYnVmLCBzYi0+YnVmICsgc2ItPmxlbiAtIG1pbmUubGVuKSkKLQkJZ290byBleGl0OyAvKiBubyBuZWVkIHRvIGR1cGxpY2F0ZSAqLwotCi0JLyogRG9lcyBpdCBoYXZlIGFueSBTaWduZWQtb2ZmLWJ5OiBpbiB0aGUgdGV4dCAqLwotCWZvciAoY3AgPSBzYi0+YnVmOwotCSAgICAgY3AgJiYgKmNwICYmIChjcCA9IHN0cnN0cihjcCwgc2lnbl9vZmZfaGVhZGVyKSkgIT0gTlVMTDsKLQkgICAgIGNwID0gc3RyY2hyKGNwLCAnXG4nKSkgewotCQlpZiAoc2ItPmJ1ZiA9PSBjcCB8fCBjcFstMV0gPT0gJ1xuJykKLQkJCWJyZWFrOwotCX0KLQotCXN0cmJ1Zl9hZGRzdHIoc2IsIG1pbmUuYnVmICsgISFjcCk7Ci1leGl0OgotCXN0cmJ1Zl9yZWxlYXNlKCZtaW5lKTsKLX0KLQogLyoqCiAgKiBBcHBlbmRzIHNpZ25vZmYgdG8gdGhlICJtc2ciIGZpZWxkIG9mIHRoZSBhbV9zdGF0ZS4KICAqLwpAQCAtMTIxNiw3ICsxMjA2LDcgQEAKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKIAlzdHJidWZfYXR0YWNoKCZzYiwgc3RhdGUtPm1zZywgc3RhdGUtPm1zZ19sZW4sIHN0YXRlLT5tc2dfbGVuKTsKLQlhbV9zaWdub2ZmKCZzYik7CisJYXBwZW5kX3NpZ25vZmYoJnNiLCAwLCAwKTsKIAlzdGF0ZS0+bXNnID0gc3RyYnVmX2RldGFjaCgmc2IsICZzdGF0ZS0+bXNnX2xlbik7CiB9CiAKQEAgLTEyNzYsMTIgKzEyNjYsOCBAQAogCQlkaWUoIkJVRzogaW52YWxpZCB2YWx1ZSBmb3Igc3RhdGUtPnNjaXNzb3JzIik7CiAJfQogCi0JbWkuaW5wdXQgPSBmb3BlbihtYWlsLCAiciIpOwotCWlmICghbWkuaW5wdXQpCi0JCWRpZSgiY291bGQgbm90IG9wZW4gaW5wdXQiKTsKLQltaS5vdXRwdXQgPSBmb3BlbihhbV9wYXRoKHN0YXRlLCAiaW5mbyIpLCAidyIpOwotCWlmICghbWkub3V0cHV0KQotCQlkaWUoImNvdWxkIG5vdCBvcGVuIG91dHB1dCAnaW5mbyciKTsKKwltaS5pbnB1dCA9IHhmb3BlbihtYWlsLCAiciIpOworCW1pLm91dHB1dCA9IHhmb3BlbihhbV9wYXRoKHN0YXRlLCAiaW5mbyIpLCAidyIpOwogCWlmIChtYWlsaW5mbygmbWksIGFtX3BhdGgoc3RhdGUsICJtc2ciKSwgYW1fcGF0aChzdGF0ZSwgInBhdGNoIikpKQogCQlkaWUoImNvdWxkIG5vdCBwYXJzZSBwYXRjaCIpOwogCkBAIC0xMzEzLDcgKzEyOTksNyBAQAogCX0KIAogCWlmIChpc19lbXB0eV9maWxlKGFtX3BhdGgoc3RhdGUsICJwYXRjaCIpKSkgewotCQlwcmludGZfbG4oXygiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iKSk7CisJCXByaW50Zl9sbihfKCJQYXRjaCBpcyBlbXB0eS4iKSk7CiAJCWRpZV91c2VyX3Jlc29sdmUoc3RhdGUpOwogCX0KIApAQCAtMTMyMSw5ICsxMzA3LDYgQEAKIAlzdHJidWZfYWRkYnVmKCZtc2csICZtaS5sb2dfbWVzc2FnZSk7CiAJc3RyYnVmX3N0cmlwc3BhY2UoJm1zZywgMCk7CiAKLQlpZiAoc3RhdGUtPnNpZ25vZmYpCi0JCWFtX3NpZ25vZmYoJm1zZyk7Ci0KIAlhc3NlcnQoIXN0YXRlLT5hdXRob3JfbmFtZSk7CiAJc3RhdGUtPmF1dGhvcl9uYW1lID0gc3RyYnVmX2RldGFjaCgmYXV0aG9yX25hbWUsIE5VTEwpOwogCkBAIC0xMzU1LDE5ICsxMzM4LDE2IEBACiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCUZJTEUgKmZwID0geGZvcGVuKG1haWwsICJyIik7CiAJY29uc3QgY2hhciAqeDsKKwlpbnQgcmV0ID0gMDsKIAotCWlmIChzdHJidWZfZ2V0bGluZV9sZigmc2IsIGZwKSkKLQkJcmV0dXJuIC0xOwotCi0JaWYgKCFza2lwX3ByZWZpeChzYi5idWYsICJGcm9tICIsICZ4KSkKLQkJcmV0dXJuIC0xOwotCi0JaWYgKGdldF9vaWRfaGV4KHgsIGNvbW1pdF9pZCkgPCAwKQotCQlyZXR1cm4gLTE7CisJaWYgKHN0cmJ1Zl9nZXRsaW5lX2xmKCZzYiwgZnApIHx8CisJICAgICFza2lwX3ByZWZpeChzYi5idWYsICJGcm9tICIsICZ4KSB8fAorCSAgICBnZXRfb2lkX2hleCh4LCBjb21taXRfaWQpIDwgMCkKKwkJcmV0ID0gLTE7CiAKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwogCWZjbG9zZShmcCk7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIHJldDsKIH0KIAogLyoqCkBAIC0xMzc2LDQwICsxMzU2LDMzIEBACiAgKi8KIHN0YXRpYyB2b2lkIGdldF9jb21taXRfaW5mbyhzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7Ci0JY29uc3QgY2hhciAqYnVmZmVyLCAqaWRlbnRfbGluZSwgKmF1dGhvcl9kYXRlLCAqbXNnOworCWNvbnN0IGNoYXIgKmJ1ZmZlciwgKmlkZW50X2xpbmUsICptc2c7CiAJc2l6ZV90IGlkZW50X2xlbjsKLQlzdHJ1Y3QgaWRlbnRfc3BsaXQgaWRlbnRfc3BsaXQ7Ci0Jc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBpZGVudF9zcGxpdCBpZDsKIAogCWJ1ZmZlciA9IGxvZ21zZ19yZWVuY29kZShjb21taXQsIE5VTEwsIGdldF9jb21taXRfb3V0cHV0X2VuY29kaW5nKCkpOwogCiAJaWRlbnRfbGluZSA9IGZpbmRfY29tbWl0X2hlYWRlcihidWZmZXIsICJhdXRob3IiLCAmaWRlbnRfbGVuKTsKIAotCWlmIChzcGxpdF9pZGVudF9saW5lKCZpZGVudF9zcGxpdCwgaWRlbnRfbGluZSwgaWRlbnRfbGVuKSA8IDApIHsKLQkJc3RyYnVmX2FkZCgmc2IsIGlkZW50X2xpbmUsIGlkZW50X2xlbik7Ci0JCWRpZShfKCJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIiksIHNiLmJ1Zik7Ci0JfQorCWlmIChzcGxpdF9pZGVudF9saW5lKCZpZCwgaWRlbnRfbGluZSwgaWRlbnRfbGVuKSA8IDApCisJCWRpZShfKCJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiKSwgKGludClpZGVudF9sZW4sIGlkZW50X2xpbmUpOwogCiAJYXNzZXJ0KCFzdGF0ZS0+YXV0aG9yX25hbWUpOwotCWlmIChpZGVudF9zcGxpdC5uYW1lX2JlZ2luKSB7Ci0JCXN0cmJ1Zl9hZGQoJnNiLCBpZGVudF9zcGxpdC5uYW1lX2JlZ2luLAotCQkJaWRlbnRfc3BsaXQubmFtZV9lbmQgLSBpZGVudF9zcGxpdC5uYW1lX2JlZ2luKTsKLQkJc3RhdGUtPmF1dGhvcl9uYW1lID0gc3RyYnVmX2RldGFjaCgmc2IsIE5VTEwpOwotCX0gZWxzZQorCWlmIChpZC5uYW1lX2JlZ2luKQorCQlzdGF0ZS0+YXV0aG9yX25hbWUgPQorCQkJeG1lbWR1cHooaWQubmFtZV9iZWdpbiwgaWQubmFtZV9lbmQgLSBpZC5uYW1lX2JlZ2luKTsKKwllbHNlCiAJCXN0YXRlLT5hdXRob3JfbmFtZSA9IHhzdHJkdXAoIiIpOwogCiAJYXNzZXJ0KCFzdGF0ZS0+YXV0aG9yX2VtYWlsKTsKLQlpZiAoaWRlbnRfc3BsaXQubWFpbF9iZWdpbikgewotCQlzdHJidWZfYWRkKCZzYiwgaWRlbnRfc3BsaXQubWFpbF9iZWdpbiwKLQkJCWlkZW50X3NwbGl0Lm1haWxfZW5kIC0gaWRlbnRfc3BsaXQubWFpbF9iZWdpbik7Ci0JCXN0YXRlLT5hdXRob3JfZW1haWwgPSBzdHJidWZfZGV0YWNoKCZzYiwgTlVMTCk7Ci0JfSBlbHNlCisJaWYgKGlkLm1haWxfYmVnaW4pCisJCXN0YXRlLT5hdXRob3JfZW1haWwgPQorCQkJeG1lbWR1cHooaWQubWFpbF9iZWdpbiwgaWQubWFpbF9lbmQgLSBpZC5tYWlsX2JlZ2luKTsKKwllbHNlCiAJCXN0YXRlLT5hdXRob3JfZW1haWwgPSB4c3RyZHVwKCIiKTsKIAotCWF1dGhvcl9kYXRlID0gc2hvd19pZGVudF9kYXRlKCZpZGVudF9zcGxpdCwgREFURV9NT0RFKE5PUk1BTCkpOwotCXN0cmJ1Zl9hZGRzdHIoJnNiLCBhdXRob3JfZGF0ZSk7CiAJYXNzZXJ0KCFzdGF0ZS0+YXV0aG9yX2RhdGUpOwotCXN0YXRlLT5hdXRob3JfZGF0ZSA9IHN0cmJ1Zl9kZXRhY2goJnNiLCBOVUxMKTsKKwlzdGF0ZS0+YXV0aG9yX2RhdGUgPSB4c3RyZHVwKHNob3dfaWRlbnRfZGF0ZSgmaWQsIERBVEVfTU9ERShOT1JNQUwpKSk7CiAKIAlhc3NlcnQoIXN0YXRlLT5tc2cpOwogCW1zZyA9IHN0cnN0cihidWZmZXIsICJcblxuIik7CkBAIC0xNDE3LDYgKzEzOTAsNyBAQAogCQlkaWUoXygidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIpLCBvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKIAlzdGF0ZS0+bXNnID0geHN0cmR1cChtc2cgKyAyKTsKIAlzdGF0ZS0+bXNnX2xlbiA9IHN0cmxlbihzdGF0ZS0+bXNnKTsKKwl1bnVzZV9jb21taXRfYnVmZmVyKGNvbW1pdCwgYnVmZmVyKTsKIH0KIAogLyoqCkBAIC0xNDU2LDEwICsxNDMwLDEwIEBACiAJc3RydWN0IHJldl9pbmZvIHJldl9pbmZvOwogCUZJTEUgKmZwOwogCi0JaWYgKCFnZXRfc2hhMV90cmVlKCJIRUFEIiwgaGVhZC5oYXNoKSkKLQkJdHJlZSA9IGxvb2t1cF90cmVlKGhlYWQuaGFzaCk7CisJaWYgKCFnZXRfb2lkX3RyZWUoIkhFQUQiLCAmaGVhZCkpCisJCXRyZWUgPSBsb29rdXBfdHJlZSgmaGVhZCk7CiAJZWxzZQotCQl0cmVlID0gbG9va3VwX3RyZWUoRU1QVFlfVFJFRV9TSEExX0JJTik7CisJCXRyZWUgPSBsb29rdXBfdHJlZSgmZW1wdHlfdHJlZV9vaWQpOwogCiAJZnAgPSB4Zm9wZW4oYW1fcGF0aChzdGF0ZSwgInBhdGNoIiksICJ3Iik7CiAJaW5pdF9yZXZpc2lvbnMoJnJldl9pbmZvLCBOVUxMKTsKQEAgLTE0OTIsNyArMTQ2Niw3IEBACiAJaWYgKGdldF9tYWlsX2NvbW1pdF9vaWQoJmNvbW1pdF9vaWQsIG1haWwpIDwgMCkKIAkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSAlcyIpLCBtYWlsKTsKIAotCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfb3JfZGllKGNvbW1pdF9vaWQuaGFzaCwgbWFpbCk7CisJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9vcl9kaWUoJmNvbW1pdF9vaWQsIG1haWwpOwogCiAJZ2V0X2NvbW1pdF9pbmZvKHN0YXRlLCBjb21taXQpOwogCkBAIC0xNjIyLDcgKzE1OTYsNyBAQAogCQlpbml0X3JldmlzaW9ucygmcmV2X2luZm8sIE5VTEwpOwogCQlyZXZfaW5mby5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9OQU1FX1NUQVRVUzsKIAkJZGlmZl9vcHRfcGFyc2UoJnJldl9pbmZvLmRpZmZvcHQsICZkaWZmX2ZpbHRlcl9zdHIsIDEsIHJldl9pbmZvLnByZWZpeCk7Ci0JCWFkZF9wZW5kaW5nX3NoYTEoJnJldl9pbmZvLCAiSEVBRCIsIG91cl90cmVlLmhhc2gsIDApOworCQlhZGRfcGVuZGluZ19vaWQoJnJldl9pbmZvLCAiSEVBRCIsICZvdXJfdHJlZSwgMCk7CiAJCWRpZmZfc2V0dXBfZG9uZSgmcmV2X2luZm8uZGlmZm9wdCk7CiAJCXJ1bl9kaWZmX2luZGV4KCZyZXZfaW5mbywgMSk7CiAJfQpAQCAtMTY4NSw5ICsxNjU5LDkgQEAKIAlpZiAod3JpdGVfY2FjaGVfYXNfdHJlZSh0cmVlLmhhc2gsIDAsIE5VTEwpKQogCQlkaWUoXygiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIpKTsKIAotCWlmICghZ2V0X3NoYTFfY29tbWl0KCJIRUFEIiwgcGFyZW50Lmhhc2gpKSB7CisJaWYgKCFnZXRfb2lkX2NvbW1pdCgiSEVBRCIsICZwYXJlbnQpKSB7CiAJCW9sZF9vaWQgPSAmcGFyZW50OwotCQljb21taXRfbGlzdF9pbnNlcnQobG9va3VwX2NvbW1pdChwYXJlbnQuaGFzaCksICZwYXJlbnRzKTsKKwkJY29tbWl0X2xpc3RfaW5zZXJ0KGxvb2t1cF9jb21taXQoJnBhcmVudCksICZwYXJlbnRzKTsKIAl9IGVsc2UgewogCQlvbGRfb2lkID0gTlVMTDsKIAkJc2F5KHN0YXRlLCBzdGRlcnIsIF8oImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiKSk7CkBAIC0xODQ4LDYgKzE4MjIsOSBAQAogCQkJaWYgKHNraXApCiAJCQkJZ290byBuZXh0OyAvKiBtYWlsIHNob3VsZCBiZSBza2lwcGVkICovCiAKKwkJCWlmIChzdGF0ZS0+c2lnbm9mZikKKwkJCQlhbV9hcHBlbmRfc2lnbm9mZihzdGF0ZSk7CisKIAkJCXdyaXRlX2F1dGhvcl9zY3JpcHQoc3RhdGUpOwogCQkJd3JpdGVfY29tbWl0X21zZyhzdGF0ZSk7CiAJCX0KQEAgLTE5NDEsNyArMTkxOCw4IEBACiAKIAlpZiAodW5tZXJnZWRfY2FjaGUoKSkgewogCQlwcmludGZfbG4oXygiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKLQkJCSJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIpKTsKKwkJCSJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzIHN1Y2guXG4iCisJCQkiWW91IG1pZ2h0IHJ1biBgZ2l0IHJtYCBvbiBhIGZpbGUgdG8gYWNjZXB0IFwiZGVsZXRlZCBieSB0aGVtXCIgZm9yIGl0LiIpKTsKIAkJZGllX3VzZXJfcmVzb2x2ZShzdGF0ZSk7CiAJfQogCkBAIC0yMDQ2LDExICsyMDI0LDExIEBACiAJc3RydWN0IHRyZWUgKmhlYWRfdHJlZSwgKnJlbW90ZV90cmVlLCAqaW5kZXhfdHJlZTsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIGluZGV4OwogCi0JaGVhZF90cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChoZWFkLT5oYXNoKTsKKwloZWFkX3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KGhlYWQpOwogCWlmICghaGVhZF90cmVlKQogCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIpLCBvaWRfdG9faGV4KGhlYWQpKTsKIAotCXJlbW90ZV90cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChyZW1vdGUtPmhhc2gpOworCXJlbW90ZV90cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChyZW1vdGUpOwogCWlmICghcmVtb3RlX3RyZWUpCiAJCXJldHVybiBlcnJvcihfKCJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIiksIG9pZF90b19oZXgocmVtb3RlKSk7CiAKQEAgLTIwNjIsNyArMjA0MCw3IEBACiAJaWYgKHdyaXRlX2NhY2hlX2FzX3RyZWUoaW5kZXguaGFzaCwgMCwgTlVMTCkpCiAJCXJldHVybiAtMTsKIAotCWluZGV4X3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KGluZGV4Lmhhc2gpOworCWluZGV4X3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KCZpbmRleCk7CiAJaWYgKCFpbmRleF90cmVlKQogCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIpLCBvaWRfdG9faGV4KCZpbmRleCkpOwogCkBAIC0yMTI3LDYgKzIxMDUsNyBAQAogCQkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSAlcyIpLCBhbV9wYXRoKHN0YXRlLCAiYWJvcnQtc2FmZXR5IikpOwogCX0gZWxzZQogCQlvaWRjbHIoJmFib3J0X3NhZmV0eSk7CisJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAogCWlmIChnZXRfb2lkKCJIRUFEIiwgJmhlYWQpKQogCQlvaWRjbHIoJmhlYWQpOwpAQCAtMjE1Nyw3ICsyMTM2LDcgQEAKIAlhbV9yZXJlcmVfY2xlYXIoKTsKIAogCWN1cnJfYnJhbmNoID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCAwLCBjdXJyX2hlYWQuaGFzaCwgTlVMTCk7Ci0JaGFzX2N1cnJfaGVhZCA9ICFpc19udWxsX29pZCgmY3Vycl9oZWFkKTsKKwloYXNfY3Vycl9oZWFkID0gY3Vycl9icmFuY2ggJiYgIWlzX251bGxfb2lkKCZjdXJyX2hlYWQpOwogCWlmICghaGFzX2N1cnJfaGVhZCkKIAkJaGFzaGNweShjdXJyX2hlYWQuaGFzaCwgRU1QVFlfVFJFRV9TSEExX0JJTik7CiAKQEAgLTIxNzIsNyArMjE1MSw3IEBACiAJCQkJaGFzX2N1cnJfaGVhZCA/ICZjdXJyX2hlYWQgOiBOVUxMLCAwLAogCQkJCVVQREFURV9SRUZTX0RJRV9PTl9FUlIpOwogCWVsc2UgaWYgKGN1cnJfYnJhbmNoKQotCQlkZWxldGVfcmVmKGN1cnJfYnJhbmNoLCBOVUxMLCBSRUZfTk9ERVJFRik7CisJCWRlbGV0ZV9yZWYoTlVMTCwgY3Vycl9icmFuY2gsIE5VTEwsIFJFRl9OT0RFUkVGKTsKIAogCWZyZWUoY3Vycl9icmFuY2gpOwogCWFtX2Rlc3Ryb3koc3RhdGUpOwpAQCAtMjMyMCw5ICsyMjk5LDEyIEBACiAJCU9QVF9FTkQoKQogCX07CiAKKwlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi1oIikpCisJCXVzYWdlX3dpdGhfb3B0aW9ucyh1c2FnZSwgb3B0aW9ucyk7CisKIAlnaXRfY29uZmlnKGdpdF9hbV9jb25maWcsIE5VTEwpOwogCi0JYW1fc3RhdGVfaW5pdCgmc3RhdGUsIGdpdF9wYXRoKCJyZWJhc2UtYXBwbHkiKSk7CisJYW1fc3RhdGVfaW5pdCgmc3RhdGUpOwogCiAJaW5fcHJvZ3Jlc3MgPSBhbV9pbl9wcm9ncmVzcygmc3RhdGUpOwogCWlmIChpbl9wcm9ncmVzcykKZGlmZiAtLWdpdCBhL2J1aWx0aW4vYmxhbWUuYyBiL2J1aWx0aW4vYmxhbWUuYwppbmRleCBmN2FhOTVmLi42N2FkYWVmIDEwMDY0NAotLS0gYS9idWlsdGluL2JsYW1lLmMKKysrIGIvYnVpbHRpbi9ibGFtZS5jCkBAIC02LDIxICs2LDE0IEBACiAgKi8KIAogI2luY2x1ZGUgImNhY2hlLmgiCi0jaW5jbHVkZSAicmVmcy5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKLSNpbmNsdWRlICJibG9iLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCi0jaW5jbHVkZSAidGFnLmgiCi0jaW5jbHVkZSAidHJlZS13YWxrLmgiCiAjaW5jbHVkZSAiZGlmZi5oIgotI2luY2x1ZGUgImRpZmZjb3JlLmgiCiAjaW5jbHVkZSAicmV2aXNpb24uaCIKICNpbmNsdWRlICJxdW90ZS5oIgotI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgotI2luY2x1ZGUgImNhY2hlLXRyZWUuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgIm1haWxtYXAuaCIKLSNpbmNsdWRlICJtZXJnZXNvcnQuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAicHJpby1xdWV1ZS5oIgogI2luY2x1ZGUgInV0ZjguaCIKQEAgLTI5LDYgKzIyLDcgQEAKICNpbmNsdWRlICJsaW5lLWxvZy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInByb2dyZXNzLmgiCisjaW5jbHVkZSAiYmxhbWUuaCIKIAogc3RhdGljIGNoYXIgYmxhbWVfdXNhZ2VbXSA9IE5fKCJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iKTsKIApAQCAtNjIsMTQ5NyArNTYsMjEgQEAKICNkZWZpbmUgREVCVUcgMAogI2VuZGlmCiAKLS8qIHN0YXRzICovCi1zdGF0aWMgaW50IG51bV9yZWFkX2Jsb2I7Ci1zdGF0aWMgaW50IG51bV9nZXRfcGF0Y2g7Ci1zdGF0aWMgaW50IG51bV9jb21taXRzOwotCi0jZGVmaW5lIFBJQ0tBWEVfQkxBTUVfTU9WRQkJMDEKLSNkZWZpbmUgUElDS0FYRV9CTEFNRV9DT1BZCQkwMgotI2RlZmluZSBQSUNLQVhFX0JMQU1FX0NPUFlfSEFSREVSCTA0Ci0jZGVmaW5lIFBJQ0tBWEVfQkxBTUVfQ09QWV9IQVJERVNUCTAxMAotCi0vKgotICogYmxhbWUgZm9yIGEgYmxhbWVfZW50cnkgd2l0aCBzY29yZSBsb3dlciB0aGFuIHRoZXNlIHRocmVzaG9sZHMKLSAqIGlzIG5vdCBwYXNzZWQgdG8gdGhlIHBhcmVudCB1c2luZyBtb3ZlL2NvcHkgbG9naWMuCi0gKi8KIHN0YXRpYyB1bnNpZ25lZCBibGFtZV9tb3ZlX3Njb3JlOwogc3RhdGljIHVuc2lnbmVkIGJsYW1lX2NvcHlfc2NvcmU7Ci0jZGVmaW5lIEJMQU1FX0RFRkFVTFRfTU9WRV9TQ09SRQkyMAotI2RlZmluZSBCTEFNRV9ERUZBVUxUX0NPUFlfU0NPUkUJNDAKIAogLyogUmVtZW1iZXIgdG8gdXBkYXRlIG9iamVjdCBmbGFnIGFsbG9jYXRpb24gaW4gb2JqZWN0LmggKi8KICNkZWZpbmUgTUVUQUlORk9fU0hPV04JCSgxdTw8MTIpCiAjZGVmaW5lIE1PUkVfVEhBTl9PTkVfUEFUSAkoMXU8PDEzKQogCi0vKgotICogT25lIGJsb2IgaW4gYSBjb21taXQgdGhhdCBpcyBiZWluZyBzdXNwZWN0ZWQKLSAqLwotc3RydWN0IG9yaWdpbiB7Ci0JaW50IHJlZmNudDsKLQkvKiBSZWNvcmQgcHJlY2VkaW5nIGJsYW1lIHJlY29yZCBmb3IgdGhpcyBibG9iICovCi0Jc3RydWN0IG9yaWdpbiAqcHJldmlvdXM7Ci0JLyogb3JpZ2lucyBhcmUgcHV0IGluIGEgbGlzdCBsaW5rZWQgdmlhIGBuZXh0JyBoYW5naW5nIG9mZiB0aGUKLQkgKiBjb3JyZXNwb25kaW5nIGNvbW1pdCdzIHV0aWwgZmllbGQgaW4gb3JkZXIgdG8gbWFrZSBmaW5kaW5nCi0JICogdGhlbSBmYXN0LiAgVGhlIHByZXNlbmNlIGluIHRoaXMgY2hhaW4gZG9lcyBub3QgY291bnQKLQkgKiB0b3dhcmRzIHRoZSBvcmlnaW4ncyByZWZlcmVuY2UgY291bnQuICBJdCBpcyB0ZW1wdGluZyB0bwotCSAqIGxldCBpdCBjb3VudCBhcyBsb25nIGFzIHRoZSBjb21taXQgaXMgcGVuZGluZyBleGFtaW5hdGlvbiwKLQkgKiBidXQgZXZlbiB1bmRlciBjaXJjdW1zdGFuY2VzIHdoZXJlIHRoZSBjb21taXQgd2lsbCBiZQotCSAqIHByZXNlbnQgbXVsdGlwbGUgdGltZXMgaW4gdGhlIHByaW9yaXR5IHF1ZXVlIG9mIHVuZXhhbWluZWQKLQkgKiBjb21taXRzLCBwcm9jZXNzaW5nIHRoZSBmaXJzdCBpbnN0YW5jZSB3aWxsIG5vdCBsZWF2ZSBhbnkKLQkgKiB3b3JrIHJlcXVpcmluZyB0aGUgb3JpZ2luIGRhdGEgZm9yIHRoZSBzZWNvbmQgaW5zdGFuY2UuICBBbgotCSAqIGludGVyc3BlcnNlZCBjb21taXQgY2hhbmdpbmcgdGhhdCB3b3VsZCBoYXZlIHRvIGJlCi0JICogcHJlZXhpc3Rpbmcgd2l0aCBhIGRpZmZlcmVudCBhbmNlc3RyeSBhbmQgd2l0aCB0aGUgc2FtZQotCSAqIGNvbW1pdCBkYXRlIGluIG9yZGVyIHRvIHdlZGdlIGl0c2VsZiBiZXR3ZWVuIHR3byBpbnN0YW5jZXMKLQkgKiBvZiB0aGUgc2FtZSBjb21taXQgaW4gdGhlIHByaW9yaXR5IHF1ZXVlIF9hbmRfIHByb2R1Y2UKLQkgKiBibGFtZSBlbnRyaWVzIHJlbGV2YW50IGZvciBpdC4gIFdoaWxlIHdlIGRvbid0IHdhbnQgdG8gbGV0Ci0JICogdXMgZ2V0IHRyaXBwZWQgdXAgYnkgdGhpcyBjYXNlLCBpdCBjZXJ0YWlubHkgZG9lcyBub3Qgc2VlbQotCSAqIHdvcnRoIG9wdGltaXppbmcgZm9yLgotCSAqLwotCXN0cnVjdCBvcmlnaW4gKm5leHQ7Ci0Jc3RydWN0IGNvbW1pdCAqY29tbWl0OwotCS8qIGBzdXNwZWN0cycgY29udGFpbnMgYmxhbWUgZW50cmllcyB0aGF0IG1heSBiZSBhdHRyaWJ1dGVkIHRvCi0JICogdGhpcyBvcmlnaW4ncyBjb21taXQgb3IgdG8gcGFyZW50IGNvbW1pdHMuICBXaGVuIGEgY29tbWl0Ci0JICogaXMgYmVpbmcgcHJvY2Vzc2VkLCBhbGwgc3VzcGVjdHMgd2lsbCBiZSBtb3ZlZCwgZWl0aGVyIGJ5Ci0JICogYXNzaWduaW5nIHRoZW0gdG8gYW4gb3JpZ2luIGluIGEgZGlmZmVyZW50IGNvbW1pdCwgb3IgYnkKLQkgKiBzaGlwcGluZyB0aGVtIHRvIHRoZSBzY29yZWJvYXJkJ3MgZW50IGxpc3QgYmVjYXVzZSB0aGV5Ci0JICogY2Fubm90IGJlIGF0dHJpYnV0ZWQgdG8gYSBkaWZmZXJlbnQgY29tbWl0LgotCSAqLwotCXN0cnVjdCBibGFtZV9lbnRyeSAqc3VzcGVjdHM7Ci0JbW1maWxlX3QgZmlsZTsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIGJsb2Jfb2lkOwotCXVuc2lnbmVkIG1vZGU7Ci0JLyogZ3VpbHR5IGdldHMgc2V0IHdoZW4gc2hpcHBpbmcgYW55IHN1c3BlY3RzIHRvIHRoZSBmaW5hbAotCSAqIGJsYW1lIGxpc3QgaW5zdGVhZCBvZiBvdGhlciBjb21taXRzCi0JICovCi0JY2hhciBndWlsdHk7Ci0JY2hhciBwYXRoW0ZMRVhfQVJSQVldOwotfTsKLQogc3RydWN0IHByb2dyZXNzX2luZm8gewogCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3M7CiAJaW50IGJsYW1lZF9saW5lczsKIH07CiAKLXN0YXRpYyBpbnQgZGlmZl9odW5rcyhtbWZpbGVfdCAqZmlsZV9hLCBtbWZpbGVfdCAqZmlsZV9iLAotCQkgICAgICB4ZGxfZW1pdF9odW5rX2NvbnN1bWVfZnVuY190IGh1bmtfZnVuYywgdm9pZCAqY2JfZGF0YSkKLXsKLQl4cHBhcmFtX3QgeHBwID0gezB9OwotCXhkZW1pdGNvbmZfdCB4ZWNmZyA9IHswfTsKLQl4ZGVtaXRjYl90IGVjYiA9IHtOVUxMfTsKLQotCXhwcC5mbGFncyA9IHhkbF9vcHRzOwotCXhlY2ZnLmh1bmtfZnVuYyA9IGh1bmtfZnVuYzsKLQllY2IucHJpdiA9IGNiX2RhdGE7Ci0JcmV0dXJuIHhkaV9kaWZmKGZpbGVfYSwgZmlsZV9iLCAmeHBwLCAmeGVjZmcsICZlY2IpOwotfQotCi0vKgotICogUHJlcGFyZSBkaWZmX2ZpbGVzcGVjIGFuZCBjb252ZXJ0IGl0IHVzaW5nIGRpZmYgdGV4dGNvbnYgQVBJCi0gKiBpZiB0aGUgdGV4dGNvbnYgZHJpdmVyIGV4aXN0cy4KLSAqIFJldHVybiAxIGlmIHRoZSBjb252ZXJzaW9uIHN1Y2NlZWRzLCAwIG90aGVyd2lzZS4KLSAqLwotaW50IHRleHRjb252X29iamVjdChjb25zdCBjaGFyICpwYXRoLAotCQkgICAgdW5zaWduZWQgbW9kZSwKLQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQkJICAgIGludCBvaWRfdmFsaWQsCi0JCSAgICBjaGFyICoqYnVmLAotCQkgICAgdW5zaWduZWQgbG9uZyAqYnVmX3NpemUpCi17Ci0Jc3RydWN0IGRpZmZfZmlsZXNwZWMgKmRmOwotCXN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKnRleHRjb252OwotCi0JZGYgPSBhbGxvY19maWxlc3BlYyhwYXRoKTsKLQlmaWxsX2ZpbGVzcGVjKGRmLCBvaWQtPmhhc2gsIG9pZF92YWxpZCwgbW9kZSk7Ci0JdGV4dGNvbnYgPSBnZXRfdGV4dGNvbnYoZGYpOwotCWlmICghdGV4dGNvbnYpIHsKLQkJZnJlZV9maWxlc3BlYyhkZik7Ci0JCXJldHVybiAwOwotCX0KLQotCSpidWZfc2l6ZSA9IGZpbGxfdGV4dGNvbnYodGV4dGNvbnYsIGRmLCBidWYpOwotCWZyZWVfZmlsZXNwZWMoZGYpOwotCXJldHVybiAxOwotfQotCi0vKgotICogR2l2ZW4gYW4gb3JpZ2luLCBwcmVwYXJlIG1tZmlsZV90IHN0cnVjdHVyZSB0byBiZSB1c2VkIGJ5IHRoZQotICogZGlmZiBtYWNoaW5lcnkKLSAqLwotc3RhdGljIHZvaWQgZmlsbF9vcmlnaW5fYmxvYihzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsCi0JCQkgICAgIHN0cnVjdCBvcmlnaW4gKm8sIG1tZmlsZV90ICpmaWxlKQotewotCWlmICghby0+ZmlsZS5wdHIpIHsKLQkJZW51bSBvYmplY3RfdHlwZSB0eXBlOwotCQl1bnNpZ25lZCBsb25nIGZpbGVfc2l6ZTsKLQotCQludW1fcmVhZF9ibG9iKys7Ci0JCWlmIChESUZGX09QVF9UU1Qob3B0LCBBTExPV19URVhUQ09OVikgJiYKLQkJICAgIHRleHRjb252X29iamVjdChvLT5wYXRoLCBvLT5tb2RlLCAmby0+YmxvYl9vaWQsIDEsICZmaWxlLT5wdHIsICZmaWxlX3NpemUpKQotCQkJOwotCQllbHNlCi0JCQlmaWxlLT5wdHIgPSByZWFkX3NoYTFfZmlsZShvLT5ibG9iX29pZC5oYXNoLCAmdHlwZSwKLQkJCQkJCSAgICZmaWxlX3NpemUpOwotCQlmaWxlLT5zaXplID0gZmlsZV9zaXplOwotCi0JCWlmICghZmlsZS0+cHRyKQotCQkJZGllKCJDYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIiwKLQkJCSAgICBvaWRfdG9faGV4KCZvLT5ibG9iX29pZCksCi0JCQkgICAgby0+cGF0aCk7Ci0JCW8tPmZpbGUgPSAqZmlsZTsKLQl9Ci0JZWxzZQotCQkqZmlsZSA9IG8tPmZpbGU7Ci19Ci0KLS8qCi0gKiBPcmlnaW4gaXMgcmVmY291bnRlZCBhbmQgdXN1YWxseSB3ZSBrZWVwIHRoZSBibG9iIGNvbnRlbnRzIHRvIGJlCi0gKiByZXVzZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgc3RydWN0IG9yaWdpbiAqb3JpZ2luX2luY3JlZihzdHJ1Y3Qgb3JpZ2luICpvKQotewotCWlmIChvKQotCQlvLT5yZWZjbnQrKzsKLQlyZXR1cm4gbzsKLX0KLQotc3RhdGljIHZvaWQgb3JpZ2luX2RlY3JlZihzdHJ1Y3Qgb3JpZ2luICpvKQotewotCWlmIChvICYmIC0tby0+cmVmY250IDw9IDApIHsKLQkJc3RydWN0IG9yaWdpbiAqcCwgKmwgPSBOVUxMOwotCQlpZiAoby0+cHJldmlvdXMpCi0JCQlvcmlnaW5fZGVjcmVmKG8tPnByZXZpb3VzKTsKLQkJZnJlZShvLT5maWxlLnB0cik7Ci0JCS8qIFNob3VsZCBiZSBwcmVzZW50IGV4YWN0bHkgb25jZSBpbiBjb21taXQgY2hhaW4gKi8KLQkJZm9yIChwID0gby0+Y29tbWl0LT51dGlsOyBwOyBsID0gcCwgcCA9IHAtPm5leHQpIHsKLQkJCWlmIChwID09IG8pIHsKLQkJCQlpZiAobCkKLQkJCQkJbC0+bmV4dCA9IHAtPm5leHQ7Ci0JCQkJZWxzZQotCQkJCQlvLT5jb21taXQtPnV0aWwgPSBwLT5uZXh0OwotCQkJCWZyZWUobyk7Ci0JCQkJcmV0dXJuOwotCQkJfQotCQl9Ci0JCWRpZSgiaW50ZXJuYWwgZXJyb3IgaW4gYmxhbWU6Om9yaWdpbl9kZWNyZWYiKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGRyb3Bfb3JpZ2luX2Jsb2Ioc3RydWN0IG9yaWdpbiAqbykKLXsKLQlpZiAoby0+ZmlsZS5wdHIpIHsKLQkJZnJlZShvLT5maWxlLnB0cik7Ci0JCW8tPmZpbGUucHRyID0gTlVMTDsKLQl9Ci19Ci0KLS8qCi0gKiBFYWNoIGdyb3VwIG9mIGxpbmVzIGlzIGRlc2NyaWJlZCBieSBhIGJsYW1lX2VudHJ5OyBpdCBjYW4gYmUgc3BsaXQKLSAqIGFzIHdlIHBhc3MgYmxhbWUgdG8gdGhlIHBhcmVudHMuICBUaGV5IGFyZSBhcnJhbmdlZCBpbiBsaW5rZWQgbGlzdHMKLSAqIGtlcHQgYXMgYHN1c3BlY3RzJyBvZiBzb21lIHVucHJvY2Vzc2VkIG9yaWdpbiwgb3IgZW50ZXJlZCAod2hlbiB0aGUKLSAqIGJsYW1lIG9yaWdpbiBoYXMgYmVlbiBmaW5hbGl6ZWQpIGludG8gdGhlIHNjb3JlYm9hcmQgc3RydWN0dXJlLgotICogV2hpbGUgdGhlIHNjb3JlYm9hcmQgc3RydWN0dXJlIGlzIG9ubHkgc29ydGVkIGF0IHRoZSBlbmQgb2YKLSAqIHByb2Nlc3NpbmcgKGFjY29yZGluZyB0byBmaW5hbCBpbWFnZSBsaW5lIG51bWJlciksIHRoZSBsaXN0cwotICogYXR0YWNoZWQgdG8gYW4gb3JpZ2luIGFyZSBzb3J0ZWQgYnkgdGhlIHRhcmdldCBsaW5lIG51bWJlci4KLSAqLwotc3RydWN0IGJsYW1lX2VudHJ5IHsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5leHQ7Ci0KLQkvKiB0aGUgZmlyc3QgbGluZSBvZiB0aGlzIGdyb3VwIGluIHRoZSBmaW5hbCBpbWFnZTsKLQkgKiBpbnRlcm5hbGx5IGFsbCBsaW5lIG51bWJlcnMgYXJlIDAgYmFzZWQuCi0JICovCi0JaW50IGxubzsKLQotCS8qIGhvdyBtYW55IGxpbmVzIHRoaXMgZ3JvdXAgaGFzICovCi0JaW50IG51bV9saW5lczsKLQotCS8qIHRoZSBjb21taXQgdGhhdCBpbnRyb2R1Y2VkIHRoaXMgZ3JvdXAgaW50byB0aGUgZmluYWwgaW1hZ2UgKi8KLQlzdHJ1Y3Qgb3JpZ2luICpzdXNwZWN0OwotCi0JLyogdGhlIGxpbmUgbnVtYmVyIG9mIHRoZSBmaXJzdCBsaW5lIG9mIHRoaXMgZ3JvdXAgaW4gdGhlCi0JICogc3VzcGVjdCdzIGZpbGU7IGludGVybmFsbHkgYWxsIGxpbmUgbnVtYmVycyBhcmUgMCBiYXNlZC4KLQkgKi8KLQlpbnQgc19sbm87Ci0KLQkvKiBob3cgc2lnbmlmaWNhbnQgdGhpcyBlbnRyeSBpcyAtLSBjYWNoZWQgdG8gYXZvaWQKLQkgKiBzY2FubmluZyB0aGUgbGluZXMgb3ZlciBhbmQgb3Zlci4KLQkgKi8KLQl1bnNpZ25lZCBzY29yZTsKLX07Ci0KLS8qCi0gKiBBbnkgbWVyZ2Ugb2YgYmxhbWVzIGhhcHBlbnMgb24gbGlzdHMgb2YgYmxhbWVzIHRoYXQgYXJyaXZlZCB2aWEKLSAqIGRpZmZlcmVudCBwYXJlbnRzIGluIGEgc2luZ2xlIHN1c3BlY3QuICBJbiB0aGlzIGNhc2UsIHdlIHdhbnQgdG8KLSAqIHNvcnQgYWNjb3JkaW5nIHRvIHRoZSBzdXNwZWN0IGxpbmUgbnVtYmVycyBhcyBvcHBvc2VkIHRvIHRoZSBmaW5hbAotICogaW1hZ2UgbGluZSBudW1iZXJzLiAgVGhlIGZ1bmN0aW9uIGJvZHkgaXMgc29tZXdoYXQgbG9uZ2lzaCBiZWNhdXNlCi0gKiBpdCBhdm9pZHMgdW5uZWNlc3Nhcnkgd3JpdGVzLgotICovCi0KLXN0YXRpYyBzdHJ1Y3QgYmxhbWVfZW50cnkgKmJsYW1lX21lcmdlKHN0cnVjdCBibGFtZV9lbnRyeSAqbGlzdDEsCi0JCQkJICAgICAgIHN0cnVjdCBibGFtZV9lbnRyeSAqbGlzdDIpCi17Ci0Jc3RydWN0IGJsYW1lX2VudHJ5ICpwMSA9IGxpc3QxLCAqcDIgPSBsaXN0MiwKLQkJKip0YWlsID0gJmxpc3QxOwotCi0JaWYgKCFwMSkKLQkJcmV0dXJuIHAyOwotCWlmICghcDIpCi0JCXJldHVybiBwMTsKLQotCWlmIChwMS0+c19sbm8gPD0gcDItPnNfbG5vKSB7Ci0JCWRvIHsKLQkJCXRhaWwgPSAmcDEtPm5leHQ7Ci0JCQlpZiAoKHAxID0gKnRhaWwpID09IE5VTEwpIHsKLQkJCQkqdGFpbCA9IHAyOwotCQkJCXJldHVybiBsaXN0MTsKLQkJCX0KLQkJfSB3aGlsZSAocDEtPnNfbG5vIDw9IHAyLT5zX2xubyk7Ci0JfQotCWZvciAoOzspIHsKLQkJKnRhaWwgPSBwMjsKLQkJZG8gewotCQkJdGFpbCA9ICZwMi0+bmV4dDsKLQkJCWlmICgocDIgPSAqdGFpbCkgPT0gTlVMTCkgIHsKLQkJCQkqdGFpbCA9IHAxOwotCQkJCXJldHVybiBsaXN0MTsKLQkJCX0KLQkJfSB3aGlsZSAocDEtPnNfbG5vID4gcDItPnNfbG5vKTsKLQkJKnRhaWwgPSBwMTsKLQkJZG8gewotCQkJdGFpbCA9ICZwMS0+bmV4dDsKLQkJCWlmICgocDEgPSAqdGFpbCkgPT0gTlVMTCkgewotCQkJCSp0YWlsID0gcDI7Ci0JCQkJcmV0dXJuIGxpc3QxOwotCQkJfQotCQl9IHdoaWxlIChwMS0+c19sbm8gPD0gcDItPnNfbG5vKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkICpnZXRfbmV4dF9ibGFtZShjb25zdCB2b2lkICpwKQotewotCXJldHVybiAoKHN0cnVjdCBibGFtZV9lbnRyeSAqKXApLT5uZXh0OwotfQotCi1zdGF0aWMgdm9pZCBzZXRfbmV4dF9ibGFtZSh2b2lkICpwMSwgdm9pZCAqcDIpCi17Ci0JKChzdHJ1Y3QgYmxhbWVfZW50cnkgKilwMSktPm5leHQgPSBwMjsKLX0KLQotLyoKLSAqIEZpbmFsIGltYWdlIGxpbmUgbnVtYmVycyBhcmUgYWxsIGRpZmZlcmVudCwgc28gd2UgZG9uJ3QgbmVlZCBhCi0gKiB0aHJlZS13YXkgY29tcGFyaXNvbiBoZXJlLgotICovCi0KLXN0YXRpYyBpbnQgY29tcGFyZV9ibGFtZV9maW5hbChjb25zdCB2b2lkICpwMSwgY29uc3Qgdm9pZCAqcDIpCi17Ci0JcmV0dXJuICgoc3RydWN0IGJsYW1lX2VudHJ5ICopcDEpLT5sbm8gPiAoKHN0cnVjdCBibGFtZV9lbnRyeSAqKXAyKS0+bG5vCi0JCT8gMSA6IC0xOwotfQotCi1zdGF0aWMgaW50IGNvbXBhcmVfYmxhbWVfc3VzcGVjdChjb25zdCB2b2lkICpwMSwgY29uc3Qgdm9pZCAqcDIpCi17Ci0JY29uc3Qgc3RydWN0IGJsYW1lX2VudHJ5ICpzMSA9IHAxLCAqczIgPSBwMjsKLQkvKgotCSAqIHRvIGFsbG93IGZvciBjb2xsYXRpbmcgc3VzcGVjdHMsIHdlIHNvcnQgYWNjb3JkaW5nIHRvIHRoZQotCSAqIHJlc3BlY3RpdmUgcG9pbnRlciB2YWx1ZSBhcyB0aGUgcHJpbWFyeSBzb3J0aW5nIGNyaXRlcmlvbi4KLQkgKiBUaGUgYWN0dWFsIHJlbGF0aW9uIGlzIHByZXR0eSB1bmltcG9ydGFudCBhcyBsb25nIGFzIGl0Ci0JICogZXN0YWJsaXNoZXMgYSB0b3RhbCBvcmRlci4gIENvbXBhcmluZyBhcyBpbnRlZ2VycyBnaXZlcyB1cwotCSAqIHRoYXQuCi0JICovCi0JaWYgKHMxLT5zdXNwZWN0ICE9IHMyLT5zdXNwZWN0KQotCQlyZXR1cm4gKGludHB0cl90KXMxLT5zdXNwZWN0ID4gKGludHB0cl90KXMyLT5zdXNwZWN0ID8gMSA6IC0xOwotCWlmIChzMS0+c19sbm8gPT0gczItPnNfbG5vKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gczEtPnNfbG5vID4gczItPnNfbG5vID8gMSA6IC0xOwotfQotCi1zdGF0aWMgc3RydWN0IGJsYW1lX2VudHJ5ICpibGFtZV9zb3J0KHN0cnVjdCBibGFtZV9lbnRyeSAqaGVhZCwKLQkJCQkgICAgICBpbnQgKCpjb21wYXJlX2ZuKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpCi17Ci0JcmV0dXJuIGxsaXN0X21lcmdlc29ydCAoaGVhZCwgZ2V0X25leHRfYmxhbWUsIHNldF9uZXh0X2JsYW1lLCBjb21wYXJlX2ZuKTsKLX0KLQotc3RhdGljIGludCBjb21wYXJlX2NvbW1pdHNfYnlfcmV2ZXJzZV9jb21taXRfZGF0ZShjb25zdCB2b2lkICphLAotCQkJCQkJICBjb25zdCB2b2lkICpiLAotCQkJCQkJICB2b2lkICpjKQotewotCXJldHVybiAtY29tcGFyZV9jb21taXRzX2J5X2NvbW1pdF9kYXRlKGEsIGIsIGMpOwotfQotCi0vKgotICogVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGJsYW1lIGFzc2lnbm1lbnQuCi0gKi8KLXN0cnVjdCBzY29yZWJvYXJkIHsKLQkvKiB0aGUgZmluYWwgY29tbWl0IChpLmUuIHdoZXJlIHdlIHN0YXJ0ZWQgZGlnZ2luZyBmcm9tKSAqLwotCXN0cnVjdCBjb21taXQgKmZpbmFsOwotCS8qIFByaW9yaXR5IHF1ZXVlIGZvciBjb21taXRzIHdpdGggdW5hc3NpZ25lZCBibGFtZSByZWNvcmRzICovCi0Jc3RydWN0IHByaW9fcXVldWUgY29tbWl0czsKLQlzdHJ1Y3QgcmV2X2luZm8gKnJldnM7Ci0JY29uc3QgY2hhciAqcGF0aDsKLQotCS8qCi0JICogVGhlIGNvbnRlbnRzIGluIHRoZSBmaW5hbCBpbWFnZS4KLQkgKiBVc2VkIGJ5IG1hbnkgZnVuY3Rpb25zIHRvIG9idGFpbiBjb250ZW50cyBvZiB0aGUgbnRoIGxpbmUsCi0JICogaW5kZXhlZCB3aXRoIHNjb3JlYm9hcmQubGluZW5vW2JsYW1lX2VudHJ5Lmxub10uCi0JICovCi0JY29uc3QgY2hhciAqZmluYWxfYnVmOwotCXVuc2lnbmVkIGxvbmcgZmluYWxfYnVmX3NpemU7Ci0KLQkvKiBsaW5rZWQgbGlzdCBvZiBibGFtZXMgKi8KLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKLQotCS8qIGxvb2stdXAgYSBsaW5lIGluIHRoZSBmaW5hbCBidWZmZXIgKi8KLQlpbnQgbnVtX2xpbmVzOwotCWludCAqbGluZW5vOwotfTsKLQotc3RhdGljIHZvaWQgc2FuaXR5X2NoZWNrX3JlZmNudChzdHJ1Y3Qgc2NvcmVib2FyZCAqKTsKLQotLyoKLSAqIElmIHR3byBibGFtZSBlbnRyaWVzIHRoYXQgYXJlIG5leHQgdG8gZWFjaCBvdGhlciBjYW1lIGZyb20KLSAqIGNvbnRpZ3VvdXMgbGluZXMgaW4gdGhlIHNhbWUgb3JpZ2luIChpLmUuIDxjb21taXQsIHBhdGg+IHBhaXIpLAotICogbWVyZ2UgdGhlbSB0b2dldGhlci4KLSAqLwotc3RhdGljIHZvaWQgY29hbGVzY2Uoc3RydWN0IHNjb3JlYm9hcmQgKnNiKQotewotCXN0cnVjdCBibGFtZV9lbnRyeSAqZW50LCAqbmV4dDsKLQotCWZvciAoZW50ID0gc2ItPmVudDsgZW50ICYmIChuZXh0ID0gZW50LT5uZXh0KTsgZW50ID0gbmV4dCkgewotCQlpZiAoZW50LT5zdXNwZWN0ID09IG5leHQtPnN1c3BlY3QgJiYKLQkJICAgIGVudC0+c19sbm8gKyBlbnQtPm51bV9saW5lcyA9PSBuZXh0LT5zX2xubykgewotCQkJZW50LT5udW1fbGluZXMgKz0gbmV4dC0+bnVtX2xpbmVzOwotCQkJZW50LT5uZXh0ID0gbmV4dC0+bmV4dDsKLQkJCW9yaWdpbl9kZWNyZWYobmV4dC0+c3VzcGVjdCk7Ci0JCQlmcmVlKG5leHQpOwotCQkJZW50LT5zY29yZSA9IDA7Ci0JCQluZXh0ID0gZW50OyAvKiBhZ2FpbiAqLwotCQl9Ci0JfQotCi0JaWYgKERFQlVHKSAvKiBzYW5pdHkgKi8KLQkJc2FuaXR5X2NoZWNrX3JlZmNudChzYik7Ci19Ci0KLS8qCi0gKiBNZXJnZSB0aGUgZ2l2ZW4gc29ydGVkIGxpc3Qgb2YgYmxhbWVzIGludG8gYSBwcmVleGlzdGluZyBvcmlnaW4uCi0gKiBJZiB0aGVyZSB3ZXJlIG5vIHByZXZpb3VzIGJsYW1lcyB0byB0aGF0IGNvbW1pdCwgaXQgaXMgZW50ZXJlZCBpbnRvCi0gKiB0aGUgY29tbWl0IHByaW9yaXR5IHF1ZXVlIG9mIHRoZSBzY29yZSBib2FyZC4KLSAqLwotCi1zdGF0aWMgdm9pZCBxdWV1ZV9ibGFtZXMoc3RydWN0IHNjb3JlYm9hcmQgKnNiLCBzdHJ1Y3Qgb3JpZ2luICpwb3JpZ2luLAotCQkJIHN0cnVjdCBibGFtZV9lbnRyeSAqc29ydGVkKQotewotCWlmIChwb3JpZ2luLT5zdXNwZWN0cykKLQkJcG9yaWdpbi0+c3VzcGVjdHMgPSBibGFtZV9tZXJnZShwb3JpZ2luLT5zdXNwZWN0cywgc29ydGVkKTsKLQllbHNlIHsKLQkJc3RydWN0IG9yaWdpbiAqbzsKLQkJZm9yIChvID0gcG9yaWdpbi0+Y29tbWl0LT51dGlsOyBvOyBvID0gby0+bmV4dCkgewotCQkJaWYgKG8tPnN1c3BlY3RzKSB7Ci0JCQkJcG9yaWdpbi0+c3VzcGVjdHMgPSBzb3J0ZWQ7Ci0JCQkJcmV0dXJuOwotCQkJfQotCQl9Ci0JCXBvcmlnaW4tPnN1c3BlY3RzID0gc29ydGVkOwotCQlwcmlvX3F1ZXVlX3B1dCgmc2ItPmNvbW1pdHMsIHBvcmlnaW4tPmNvbW1pdCk7Ci0JfQotfQotCi0vKgotICogR2l2ZW4gYSBjb21taXQgYW5kIGEgcGF0aCBpbiBpdCwgY3JlYXRlIGEgbmV3IG9yaWdpbiBzdHJ1Y3R1cmUuCi0gKiBUaGUgY2FsbGVycyB0aGF0IGFkZCBibGFtZSB0byB0aGUgc2NvcmVib2FyZCBzaG91bGQgdXNlCi0gKiBnZXRfb3JpZ2luKCkgdG8gb2J0YWluIHNoYXJlZCwgcmVmY291bnRlZCBjb3B5IGluc3RlYWQgb2YgY2FsbGluZwotICogdGhpcyBmdW5jdGlvbiBkaXJlY3RseS4KLSAqLwotc3RhdGljIHN0cnVjdCBvcmlnaW4gKm1ha2Vfb3JpZ2luKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgY29uc3QgY2hhciAqcGF0aCkKLXsKLQlzdHJ1Y3Qgb3JpZ2luICpvOwotCUZMRVhfQUxMT0NfU1RSKG8sIHBhdGgsIHBhdGgpOwotCW8tPmNvbW1pdCA9IGNvbW1pdDsKLQlvLT5yZWZjbnQgPSAxOwotCW8tPm5leHQgPSBjb21taXQtPnV0aWw7Ci0JY29tbWl0LT51dGlsID0gbzsKLQlyZXR1cm4gbzsKLX0KLQotLyoKLSAqIExvY2F0ZSBhbiBleGlzdGluZyBvcmlnaW4gb3IgY3JlYXRlIGEgbmV3IG9uZS4KLSAqIFRoaXMgbW92ZXMgdGhlIG9yaWdpbiB0byBmcm9udCBwb3NpdGlvbiBpbiB0aGUgY29tbWl0IHV0aWwgbGlzdC4KLSAqLwotc3RhdGljIHN0cnVjdCBvcmlnaW4gKmdldF9vcmlnaW4oc3RydWN0IHNjb3JlYm9hcmQgKnNiLAotCQkJCSBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCi0JCQkJIGNvbnN0IGNoYXIgKnBhdGgpCi17Ci0Jc3RydWN0IG9yaWdpbiAqbywgKmw7Ci0KLQlmb3IgKG8gPSBjb21taXQtPnV0aWwsIGwgPSBOVUxMOyBvOyBsID0gbywgbyA9IG8tPm5leHQpIHsKLQkJaWYgKCFzdHJjbXAoby0+cGF0aCwgcGF0aCkpIHsKLQkJCS8qIGJ1bXAgdG8gZnJvbnQgKi8KLQkJCWlmIChsKSB7Ci0JCQkJbC0+bmV4dCA9IG8tPm5leHQ7Ci0JCQkJby0+bmV4dCA9IGNvbW1pdC0+dXRpbDsKLQkJCQljb21taXQtPnV0aWwgPSBvOwotCQkJfQotCQkJcmV0dXJuIG9yaWdpbl9pbmNyZWYobyk7Ci0JCX0KLQl9Ci0JcmV0dXJuIG1ha2Vfb3JpZ2luKGNvbW1pdCwgcGF0aCk7Ci19Ci0KLS8qCi0gKiBGaWxsIHRoZSBibG9iX3NoYTEgZmllbGQgb2YgYW4gb3JpZ2luIGlmIGl0IGhhc24ndCwgc28gdGhhdCBsYXRlcgotICogY2FsbCB0byBmaWxsX29yaWdpbl9ibG9iKCkgY2FuIHVzZSBpdCB0byBsb2NhdGUgdGhlIGRhdGEuICBibG9iX3NoYTEKLSAqIGZvciBhbiBvcmlnaW4gaXMgYWxzbyB1c2VkIHRvIHBhc3MgdGhlIGJsYW1lIGZvciB0aGUgZW50aXJlIGZpbGUgdG8KLSAqIHRoZSBwYXJlbnQgdG8gZGV0ZWN0IHRoZSBjYXNlIHdoZXJlIGEgY2hpbGQncyBibG9iIGlzIGlkZW50aWNhbCB0bwotICogdGhhdCBvZiBpdHMgcGFyZW50J3MuCi0gKgotICogVGhpcyBhbHNvIGZpbGxzIG9yaWdpbi0+bW9kZSBmb3IgY29ycmVzcG9uZGluZyB0cmVlIHBhdGguCi0gKi8KLXN0YXRpYyBpbnQgZmlsbF9ibG9iX3NoYTFfYW5kX21vZGUoc3RydWN0IG9yaWdpbiAqb3JpZ2luKQotewotCWlmICghaXNfbnVsbF9vaWQoJm9yaWdpbi0+YmxvYl9vaWQpKQotCQlyZXR1cm4gMDsKLQlpZiAoZ2V0X3RyZWVfZW50cnkob3JpZ2luLT5jb21taXQtPm9iamVjdC5vaWQuaGFzaCwKLQkJCSAgIG9yaWdpbi0+cGF0aCwKLQkJCSAgIG9yaWdpbi0+YmxvYl9vaWQuaGFzaCwgJm9yaWdpbi0+bW9kZSkpCi0JCWdvdG8gZXJyb3Jfb3V0OwotCWlmIChzaGExX29iamVjdF9pbmZvKG9yaWdpbi0+YmxvYl9vaWQuaGFzaCwgTlVMTCkgIT0gT0JKX0JMT0IpCi0JCWdvdG8gZXJyb3Jfb3V0OwotCXJldHVybiAwOwotIGVycm9yX291dDoKLQlvaWRjbHIoJm9yaWdpbi0+YmxvYl9vaWQpOwotCW9yaWdpbi0+bW9kZSA9IFNfSUZJTlZBTElEOwotCXJldHVybiAtMTsKLX0KLQotLyoKLSAqIFdlIGhhdmUgYW4gb3JpZ2luIC0tIGNoZWNrIGlmIHRoZSBzYW1lIHBhdGggZXhpc3RzIGluIHRoZQotICogcGFyZW50IGFuZCByZXR1cm4gYW4gb3JpZ2luIHN0cnVjdHVyZSB0byByZXByZXNlbnQgaXQuCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgb3JpZ2luICpmaW5kX29yaWdpbihzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IsCi0JCQkJICBzdHJ1Y3QgY29tbWl0ICpwYXJlbnQsCi0JCQkJICBzdHJ1Y3Qgb3JpZ2luICpvcmlnaW4pCi17Ci0Jc3RydWN0IG9yaWdpbiAqcG9yaWdpbjsKLQlzdHJ1Y3QgZGlmZl9vcHRpb25zIGRpZmZfb3B0czsKLQljb25zdCBjaGFyICpwYXRoc1syXTsKLQotCS8qIEZpcnN0IGNoZWNrIGFueSBleGlzdGluZyBvcmlnaW5zICovCi0JZm9yIChwb3JpZ2luID0gcGFyZW50LT51dGlsOyBwb3JpZ2luOyBwb3JpZ2luID0gcG9yaWdpbi0+bmV4dCkKLQkJaWYgKCFzdHJjbXAocG9yaWdpbi0+cGF0aCwgb3JpZ2luLT5wYXRoKSkgewotCQkJLyoKLQkJCSAqIFRoZSBzYW1lIHBhdGggYmV0d2VlbiBvcmlnaW4gYW5kIGl0cyBwYXJlbnQKLQkJCSAqIHdpdGhvdXQgcmVuYW1pbmcgLS0gdGhlIG1vc3QgY29tbW9uIGNhc2UuCi0JCQkgKi8KLQkJCXJldHVybiBvcmlnaW5faW5jcmVmIChwb3JpZ2luKTsKLQkJfQotCi0JLyogU2VlIGlmIHRoZSBvcmlnaW4tPnBhdGggaXMgZGlmZmVyZW50IGJldHdlZW4gcGFyZW50Ci0JICogYW5kIG9yaWdpbiBmaXJzdC4gIE1vc3Qgb2YgdGhlIHRpbWUgdGhleSBhcmUgdGhlCi0JICogc2FtZSBhbmQgZGlmZi10cmVlIGlzIGZhaXJseSBlZmZpY2llbnQgYWJvdXQgdGhpcy4KLQkgKi8KLQlkaWZmX3NldHVwKCZkaWZmX29wdHMpOwotCURJRkZfT1BUX1NFVCgmZGlmZl9vcHRzLCBSRUNVUlNJVkUpOwotCWRpZmZfb3B0cy5kZXRlY3RfcmVuYW1lID0gMDsKLQlkaWZmX29wdHMub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKLQlwYXRoc1swXSA9IG9yaWdpbi0+cGF0aDsKLQlwYXRoc1sxXSA9IE5VTEw7Ci0KLQlwYXJzZV9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjLAotCQkgICAgICAgUEFUSFNQRUNfQUxMX01BR0lDICYgflBBVEhTUEVDX0xJVEVSQUwsCi0JCSAgICAgICBQQVRIU1BFQ19MSVRFUkFMX1BBVEgsICIiLCBwYXRocyk7Ci0JZGlmZl9zZXR1cF9kb25lKCZkaWZmX29wdHMpOwotCi0JaWYgKGlzX251bGxfb2lkKCZvcmlnaW4tPmNvbW1pdC0+b2JqZWN0Lm9pZCkpCi0JCWRvX2RpZmZfY2FjaGUocGFyZW50LT50cmVlLT5vYmplY3Qub2lkLmhhc2gsICZkaWZmX29wdHMpOwotCWVsc2UKLQkJZGlmZl90cmVlX3NoYTEocGFyZW50LT50cmVlLT5vYmplY3Qub2lkLmhhc2gsCi0JCQkgICAgICAgb3JpZ2luLT5jb21taXQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCwKLQkJCSAgICAgICAiIiwgJmRpZmZfb3B0cyk7Ci0JZGlmZmNvcmVfc3RkKCZkaWZmX29wdHMpOwotCi0JaWYgKCFkaWZmX3F1ZXVlZF9kaWZmLm5yKSB7Ci0JCS8qIFRoZSBwYXRoIGlzIHRoZSBzYW1lIGFzIHBhcmVudCAqLwotCQlwb3JpZ2luID0gZ2V0X29yaWdpbihzYiwgcGFyZW50LCBvcmlnaW4tPnBhdGgpOwotCQlvaWRjcHkoJnBvcmlnaW4tPmJsb2Jfb2lkLCAmb3JpZ2luLT5ibG9iX29pZCk7Ci0JCXBvcmlnaW4tPm1vZGUgPSBvcmlnaW4tPm1vZGU7Ci0JfSBlbHNlIHsKLQkJLyoKLQkJICogU2luY2Ugb3JpZ2luLT5wYXRoIGlzIGEgcGF0aHNwZWMsIGlmIHRoZSBwYXJlbnQKLQkJICogY29tbWl0IGhhZCBpdCBhcyBhIGRpcmVjdG9yeSwgd2Ugd2lsbCBzZWUgYSB3aG9sZQotCQkgKiBidW5jaCBvZiBkZWxldGlvbiBvZiBmaWxlcyBpbiB0aGUgZGlyZWN0b3J5IHRoYXQgd2UKLQkJICogZG8gbm90IGNhcmUgYWJvdXQuCi0JCSAqLwotCQlpbnQgaTsKLQkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBOVUxMOwotCQlmb3IgKGkgPSAwOyBpIDwgZGlmZl9xdWV1ZWRfZGlmZi5ucjsgaSsrKSB7Ci0JCQljb25zdCBjaGFyICpuYW1lOwotCQkJcCA9IGRpZmZfcXVldWVkX2RpZmYucXVldWVbaV07Ci0JCQluYW1lID0gcC0+b25lLT5wYXRoID8gcC0+b25lLT5wYXRoIDogcC0+dHdvLT5wYXRoOwotCQkJaWYgKCFzdHJjbXAobmFtZSwgb3JpZ2luLT5wYXRoKSkKLQkJCQlicmVhazsKLQkJfQotCQlpZiAoIXApCi0JCQlkaWUoImludGVybmFsIGVycm9yIGluIGJsYW1lOjpmaW5kX29yaWdpbiIpOwotCQlzd2l0Y2ggKHAtPnN0YXR1cykgewotCQlkZWZhdWx0OgotCQkJZGllKCJpbnRlcm5hbCBlcnJvciBpbiBibGFtZTo6ZmluZF9vcmlnaW4gKCVjKSIsCi0JCQkgICAgcC0+c3RhdHVzKTsKLQkJY2FzZSAnTSc6Ci0JCQlwb3JpZ2luID0gZ2V0X29yaWdpbihzYiwgcGFyZW50LCBvcmlnaW4tPnBhdGgpOwotCQkJb2lkY3B5KCZwb3JpZ2luLT5ibG9iX29pZCwgJnAtPm9uZS0+b2lkKTsKLQkJCXBvcmlnaW4tPm1vZGUgPSBwLT5vbmUtPm1vZGU7Ci0JCQlicmVhazsKLQkJY2FzZSAnQSc6Ci0JCWNhc2UgJ1QnOgotCQkJLyogRGlkIG5vdCBleGlzdCBpbiBwYXJlbnQsIG9yIHR5cGUgY2hhbmdlZCAqLwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0JZGlmZl9mbHVzaCgmZGlmZl9vcHRzKTsKLQljbGVhcl9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKLQlyZXR1cm4gcG9yaWdpbjsKLX0KLQotLyoKLSAqIFdlIGhhdmUgYW4gb3JpZ2luIC0tIGZpbmQgdGhlIHBhdGggdGhhdCBjb3JyZXNwb25kcyB0byBpdCBpbiBpdHMKLSAqIHBhcmVudCBhbmQgcmV0dXJuIGFuIG9yaWdpbiBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IGl0LgotICovCi1zdGF0aWMgc3RydWN0IG9yaWdpbiAqZmluZF9yZW5hbWUoc3RydWN0IHNjb3JlYm9hcmQgKnNiLAotCQkJCSAgc3RydWN0IGNvbW1pdCAqcGFyZW50LAotCQkJCSAgc3RydWN0IG9yaWdpbiAqb3JpZ2luKQotewotCXN0cnVjdCBvcmlnaW4gKnBvcmlnaW4gPSBOVUxMOwotCXN0cnVjdCBkaWZmX29wdGlvbnMgZGlmZl9vcHRzOwotCWludCBpOwotCi0JZGlmZl9zZXR1cCgmZGlmZl9vcHRzKTsKLQlESUZGX09QVF9TRVQoJmRpZmZfb3B0cywgUkVDVVJTSVZFKTsKLQlkaWZmX29wdHMuZGV0ZWN0X3JlbmFtZSA9IERJRkZfREVURUNUX1JFTkFNRTsKLQlkaWZmX29wdHMub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKLQlkaWZmX29wdHMuc2luZ2xlX2ZvbGxvdyA9IG9yaWdpbi0+cGF0aDsKLQlkaWZmX3NldHVwX2RvbmUoJmRpZmZfb3B0cyk7Ci0KLQlpZiAoaXNfbnVsbF9vaWQoJm9yaWdpbi0+Y29tbWl0LT5vYmplY3Qub2lkKSkKLQkJZG9fZGlmZl9jYWNoZShwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCwgJmRpZmZfb3B0cyk7Ci0JZWxzZQotCQlkaWZmX3RyZWVfc2hhMShwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCwKLQkJCSAgICAgICBvcmlnaW4tPmNvbW1pdC0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJICAgICAgICIiLCAmZGlmZl9vcHRzKTsKLQlkaWZmY29yZV9zdGQoJmRpZmZfb3B0cyk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZGlmZl9xdWV1ZWRfZGlmZi5ucjsgaSsrKSB7Ci0JCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gZGlmZl9xdWV1ZWRfZGlmZi5xdWV1ZVtpXTsKLQkJaWYgKChwLT5zdGF0dXMgPT0gJ1InIHx8IHAtPnN0YXR1cyA9PSAnQycpICYmCi0JCSAgICAhc3RyY21wKHAtPnR3by0+cGF0aCwgb3JpZ2luLT5wYXRoKSkgewotCQkJcG9yaWdpbiA9IGdldF9vcmlnaW4oc2IsIHBhcmVudCwgcC0+b25lLT5wYXRoKTsKLQkJCW9pZGNweSgmcG9yaWdpbi0+YmxvYl9vaWQsICZwLT5vbmUtPm9pZCk7Ci0JCQlwb3JpZ2luLT5tb2RlID0gcC0+b25lLT5tb2RlOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0JZGlmZl9mbHVzaCgmZGlmZl9vcHRzKTsKLQljbGVhcl9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKLQlyZXR1cm4gcG9yaWdpbjsKLX0KLQotLyoKLSAqIEFwcGVuZCBhIG5ldyBibGFtZSBlbnRyeSB0byBhIGdpdmVuIG91dHB1dCBxdWV1ZS4KLSAqLwotc3RhdGljIHZvaWQgYWRkX2JsYW1lX2VudHJ5KHN0cnVjdCBibGFtZV9lbnRyeSAqKipxdWV1ZSwKLQkJCSAgICBjb25zdCBzdHJ1Y3QgYmxhbWVfZW50cnkgKnNyYykKLXsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmUgPSB4bWFsbG9jKHNpemVvZigqZSkpOwotCW1lbWNweShlLCBzcmMsIHNpemVvZigqZSkpOwotCW9yaWdpbl9pbmNyZWYoZS0+c3VzcGVjdCk7Ci0KLQllLT5uZXh0ID0gKipxdWV1ZTsKLQkqKnF1ZXVlID0gZTsKLQkqcXVldWUgPSAmZS0+bmV4dDsKLX0KLQotLyoKLSAqIHNyYyB0eXBpY2FsbHkgaXMgb24tc3RhY2s7IHdlIHdhbnQgdG8gY29weSB0aGUgaW5mb3JtYXRpb24gaW4gaXQgdG8KLSAqIGEgbWFsbG9jZWQgYmxhbWVfZW50cnkgdGhhdCBnZXRzIGFkZGVkIHRvIHRoZSBnaXZlbiBxdWV1ZS4gIFRoZQotICogb3JpZ2luIG9mIGRzdCBsb3NlcyBhIHJlZmNudC4KLSAqLwotc3RhdGljIHZvaWQgZHVwX2VudHJ5KHN0cnVjdCBibGFtZV9lbnRyeSAqKipxdWV1ZSwKLQkJICAgICAgc3RydWN0IGJsYW1lX2VudHJ5ICpkc3QsIHN0cnVjdCBibGFtZV9lbnRyeSAqc3JjKQotewotCW9yaWdpbl9pbmNyZWYoc3JjLT5zdXNwZWN0KTsKLQlvcmlnaW5fZGVjcmVmKGRzdC0+c3VzcGVjdCk7Ci0JbWVtY3B5KGRzdCwgc3JjLCBzaXplb2YoKnNyYykpOwotCWRzdC0+bmV4dCA9ICoqcXVldWU7Ci0JKipxdWV1ZSA9IGRzdDsKLQkqcXVldWUgPSAmZHN0LT5uZXh0OwotfQotCi1zdGF0aWMgY29uc3QgY2hhciAqbnRoX2xpbmUoc3RydWN0IHNjb3JlYm9hcmQgKnNiLCBsb25nIGxubykKLXsKLQlyZXR1cm4gc2ItPmZpbmFsX2J1ZiArIHNiLT5saW5lbm9bbG5vXTsKLX0KLQogc3RhdGljIGNvbnN0IGNoYXIgKm50aF9saW5lX2NiKHZvaWQgKmRhdGEsIGxvbmcgbG5vKQogewotCXJldHVybiBudGhfbGluZSgoc3RydWN0IHNjb3JlYm9hcmQgKilkYXRhLCBsbm8pOwotfQotCi0vKgotICogSXQgaXMga25vd24gdGhhdCBsaW5lcyBiZXR3ZWVuIHRsbm8gdG8gc2FtZSBjYW1lIGZyb20gcGFyZW50LCBhbmQgZQotICogaGFzIGFuIG92ZXJsYXAgd2l0aCB0aGF0IHJhbmdlLiAgaXQgYWxzbyBpcyBrbm93biB0aGF0IHBhcmVudCdzCi0gKiBsaW5lIHBsbm8gY29ycmVzcG9uZHMgdG8gZSdzIGxpbmUgdGxuby4KLSAqCi0gKiAgICAgICAgICAgICAgICA8LS0tLSBlIC0tLS0tPgotICogICAgICAgICAgICAgICAgICAgPC0tLS0tLT4KLSAqICAgICAgICAgICAgICAgICAgIDwtLS0tLS0tLS0tLS0+Ci0gKiAgICAgICAgICAgICA8LS0tLS0tLS0tLS0tPgotICogICAgICAgICAgICAgPC0tLS0tLS0tLS0tLS0tLS0tLT4KLSAqCi0gKiBTcGxpdCBlIGludG8gcG90ZW50aWFsbHkgdGhyZWUgcGFydHM7IGJlZm9yZSB0aGlzIGNodW5rLCB0aGUgY2h1bmsKLSAqIHRvIGJlIGJsYW1lZCBmb3IgdGhlIHBhcmVudCwgYW5kIGFmdGVyIHRoYXQgcG9ydGlvbi4KLSAqLwotc3RhdGljIHZvaWQgc3BsaXRfb3ZlcmxhcChzdHJ1Y3QgYmxhbWVfZW50cnkgKnNwbGl0LAotCQkJICBzdHJ1Y3QgYmxhbWVfZW50cnkgKmUsCi0JCQkgIGludCB0bG5vLCBpbnQgcGxubywgaW50IHNhbWUsCi0JCQkgIHN0cnVjdCBvcmlnaW4gKnBhcmVudCkKLXsKLQlpbnQgY2h1bmtfZW5kX2xubzsKLQltZW1zZXQoc3BsaXQsIDAsIHNpemVvZihzdHJ1Y3QgYmxhbWVfZW50cnkgWzNdKSk7Ci0KLQlpZiAoZS0+c19sbm8gPCB0bG5vKSB7Ci0JCS8qIHRoZXJlIGlzIGEgcHJlLWNodW5rIHBhcnQgbm90IGJsYW1lZCBvbiBwYXJlbnQgKi8KLQkJc3BsaXRbMF0uc3VzcGVjdCA9IG9yaWdpbl9pbmNyZWYoZS0+c3VzcGVjdCk7Ci0JCXNwbGl0WzBdLmxubyA9IGUtPmxubzsKLQkJc3BsaXRbMF0uc19sbm8gPSBlLT5zX2xubzsKLQkJc3BsaXRbMF0ubnVtX2xpbmVzID0gdGxubyAtIGUtPnNfbG5vOwotCQlzcGxpdFsxXS5sbm8gPSBlLT5sbm8gKyB0bG5vIC0gZS0+c19sbm87Ci0JCXNwbGl0WzFdLnNfbG5vID0gcGxubzsKLQl9Ci0JZWxzZSB7Ci0JCXNwbGl0WzFdLmxubyA9IGUtPmxubzsKLQkJc3BsaXRbMV0uc19sbm8gPSBwbG5vICsgKGUtPnNfbG5vIC0gdGxubyk7Ci0JfQotCi0JaWYgKHNhbWUgPCBlLT5zX2xubyArIGUtPm51bV9saW5lcykgewotCQkvKiB0aGVyZSBpcyBhIHBvc3QtY2h1bmsgcGFydCBub3QgYmxhbWVkIG9uIHBhcmVudCAqLwotCQlzcGxpdFsyXS5zdXNwZWN0ID0gb3JpZ2luX2luY3JlZihlLT5zdXNwZWN0KTsKLQkJc3BsaXRbMl0ubG5vID0gZS0+bG5vICsgKHNhbWUgLSBlLT5zX2xubyk7Ci0JCXNwbGl0WzJdLnNfbG5vID0gZS0+c19sbm8gKyAoc2FtZSAtIGUtPnNfbG5vKTsKLQkJc3BsaXRbMl0ubnVtX2xpbmVzID0gZS0+c19sbm8gKyBlLT5udW1fbGluZXMgLSBzYW1lOwotCQljaHVua19lbmRfbG5vID0gc3BsaXRbMl0ubG5vOwotCX0KLQllbHNlCi0JCWNodW5rX2VuZF9sbm8gPSBlLT5sbm8gKyBlLT5udW1fbGluZXM7Ci0Jc3BsaXRbMV0ubnVtX2xpbmVzID0gY2h1bmtfZW5kX2xubyAtIHNwbGl0WzFdLmxubzsKLQotCS8qCi0JICogaWYgaXQgdHVybnMgb3V0IHRoZXJlIGlzIG5vdGhpbmcgdG8gYmxhbWUgdGhlIHBhcmVudCBmb3IsCi0JICogZm9yZ2V0IGFib3V0IHRoZSBzcGxpdHRpbmcuICAhc3BsaXRbMV0uc3VzcGVjdCBzaWduYWxzIHRoaXMuCi0JICovCi0JaWYgKHNwbGl0WzFdLm51bV9saW5lcyA8IDEpCi0JCXJldHVybjsKLQlzcGxpdFsxXS5zdXNwZWN0ID0gb3JpZ2luX2luY3JlZihwYXJlbnQpOwotfQotCi0vKgotICogc3BsaXRfb3ZlcmxhcCgpIGRpdmlkZWQgYW4gZXhpc3RpbmcgYmxhbWUgZSBpbnRvIHVwIHRvIHRocmVlIHBhcnRzCi0gKiBpbiBzcGxpdC4gIEFueSBhc3NpZ25lZCBibGFtZSBpcyBtb3ZlZCB0byBxdWV1ZSB0bwotICogcmVmbGVjdCB0aGUgc3BsaXQuCi0gKi8KLXN0YXRpYyB2b2lkIHNwbGl0X2JsYW1lKHN0cnVjdCBibGFtZV9lbnRyeSAqKipibGFtZWQsCi0JCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKioqdW5ibGFtZWQsCi0JCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKnNwbGl0LAotCQkJc3RydWN0IGJsYW1lX2VudHJ5ICplKQotewotCWlmIChzcGxpdFswXS5zdXNwZWN0ICYmIHNwbGl0WzJdLnN1c3BlY3QpIHsKLQkJLyogVGhlIGZpcnN0IHBhcnQgKHJldXNlIHN0b3JhZ2UgZm9yIHRoZSBleGlzdGluZyBlbnRyeSBlKSAqLwotCQlkdXBfZW50cnkodW5ibGFtZWQsIGUsICZzcGxpdFswXSk7Ci0KLQkJLyogVGhlIGxhc3QgcGFydCAtLSBtZSAqLwotCQlhZGRfYmxhbWVfZW50cnkodW5ibGFtZWQsICZzcGxpdFsyXSk7Ci0KLQkJLyogLi4uIGFuZCB0aGUgbWlkZGxlIHBhcnQgLS0gcGFyZW50ICovCi0JCWFkZF9ibGFtZV9lbnRyeShibGFtZWQsICZzcGxpdFsxXSk7Ci0JfQotCWVsc2UgaWYgKCFzcGxpdFswXS5zdXNwZWN0ICYmICFzcGxpdFsyXS5zdXNwZWN0KQotCQkvKgotCQkgKiBUaGUgcGFyZW50IGNvdmVycyB0aGUgZW50aXJlIGFyZWE7IHJldXNlIHN0b3JhZ2UgZm9yCi0JCSAqIGUgYW5kIHJlcGxhY2UgaXQgd2l0aCB0aGUgcGFyZW50LgotCQkgKi8KLQkJZHVwX2VudHJ5KGJsYW1lZCwgZSwgJnNwbGl0WzFdKTsKLQllbHNlIGlmIChzcGxpdFswXS5zdXNwZWN0KSB7Ci0JCS8qIG1lIGFuZCB0aGVuIHBhcmVudCAqLwotCQlkdXBfZW50cnkodW5ibGFtZWQsIGUsICZzcGxpdFswXSk7Ci0JCWFkZF9ibGFtZV9lbnRyeShibGFtZWQsICZzcGxpdFsxXSk7Ci0JfQotCWVsc2UgewotCQkvKiBwYXJlbnQgYW5kIHRoZW4gbWUgKi8KLQkJZHVwX2VudHJ5KGJsYW1lZCwgZSwgJnNwbGl0WzFdKTsKLQkJYWRkX2JsYW1lX2VudHJ5KHVuYmxhbWVkLCAmc3BsaXRbMl0pOwotCX0KLX0KLQotLyoKLSAqIEFmdGVyIHNwbGl0dGluZyB0aGUgYmxhbWUsIHRoZSBvcmlnaW5zIHVzZWQgYnkgdGhlCi0gKiBvbi1zdGFjayBibGFtZV9lbnRyeSBzaG91bGQgbG9zZSBvbmUgcmVmY250IGVhY2guCi0gKi8KLXN0YXRpYyB2b2lkIGRlY3JlZl9zcGxpdChzdHJ1Y3QgYmxhbWVfZW50cnkgKnNwbGl0KQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IDM7IGkrKykKLQkJb3JpZ2luX2RlY3JlZihzcGxpdFtpXS5zdXNwZWN0KTsKLX0KLQotLyoKLSAqIHJldmVyc2VfYmxhbWUgcmV2ZXJzZXMgdGhlIGxpc3QgZ2l2ZW4gaW4gaGVhZCwgYXBwZW5kaW5nIHRhaWwuCi0gKiBUaGF0IGFsbG93cyB1cyB0byBidWlsZCBsaXN0cyBpbiByZXZlcnNlIG9yZGVyLCB0aGVuIHJldmVyc2UgdGhlbQotICogYWZ0ZXJ3YXJkcy4gIFRoaXMgY2FuIGJlIGZhc3RlciB0aGFuIGJ1aWxkaW5nIHRoZSBsaXN0IGluIHByb3BlcgotICogb3JkZXIgcmlnaHQgYXdheS4gIFRoZSByZWFzb24gaXMgdGhhdCBidWlsZGluZyBpbiBwcm9wZXIgb3JkZXIKLSAqIHJlcXVpcmVzIHdyaXRpbmcgYSBsaW5rIGluIHRoZSBfcHJldmlvdXNfIGVsZW1lbnQsIHdoaWxlIGJ1aWxkaW5nCi0gKiBpbiByZXZlcnNlIG9yZGVyIGp1c3QgcmVxdWlyZXMgcGxhY2luZyB0aGUgbGlzdCBoZWFkIGludG8gdGhlCi0gKiBfY3VycmVudF8gZWxlbWVudC4KLSAqLwotCi1zdGF0aWMgc3RydWN0IGJsYW1lX2VudHJ5ICpyZXZlcnNlX2JsYW1lKHN0cnVjdCBibGFtZV9lbnRyeSAqaGVhZCwKLQkJCQkJIHN0cnVjdCBibGFtZV9lbnRyeSAqdGFpbCkKLXsKLQl3aGlsZSAoaGVhZCkgewotCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5leHQgPSBoZWFkLT5uZXh0OwotCQloZWFkLT5uZXh0ID0gdGFpbDsKLQkJdGFpbCA9IGhlYWQ7Ci0JCWhlYWQgPSBuZXh0OwotCX0KLQlyZXR1cm4gdGFpbDsKLX0KLQotLyoKLSAqIFByb2Nlc3Mgb25lIGh1bmsgZnJvbSB0aGUgcGF0Y2ggYmV0d2VlbiB0aGUgY3VycmVudCBzdXNwZWN0IGZvcgotICogYmxhbWVfZW50cnkgZSBhbmQgaXRzIHBhcmVudC4gIFRoaXMgZmlyc3QgYmxhbWVzIGFueSB1bmZpbmlzaGVkCi0gKiBlbnRyaWVzIGJlZm9yZSB0aGUgY2h1bmsgKHdoaWNoIGlzIHdoZXJlIHRhcmdldCBhbmQgcGFyZW50IHN0YXJ0Ci0gKiBkaWZmZXJpbmcpIG9uIHRoZSBwYXJlbnQsIGFuZCB0aGVuIHNwbGl0cyBibGFtZSBlbnRyaWVzIGF0IHRoZQotICogc3RhcnQgYW5kIGF0IHRoZSBlbmQgb2YgdGhlIGRpZmZlcmVuY2UgcmVnaW9uLiAgU2luY2UgdXNlIG9mIC1NIGFuZAotICogLUMgb3B0aW9ucyBtYXkgbGVhZCB0byBvdmVybGFwcGluZy9kdXBsaWNhdGUgc291cmNlIGxpbmUgbnVtYmVyCi0gKiByYW5nZXMsIGFsbCB3ZSBjYW4gcmVseSBvbiBmcm9tIHNvcnRpbmcvbWVyZ2luZyBpcyB0aGUgb3JkZXIgb2YgdGhlCi0gKiBmaXJzdCBzdXNwZWN0IGxpbmUgbnVtYmVyLgotICovCi1zdGF0aWMgdm9pZCBibGFtZV9jaHVuayhzdHJ1Y3QgYmxhbWVfZW50cnkgKioqZHN0cSwgc3RydWN0IGJsYW1lX2VudHJ5ICoqKnNyY3EsCi0JCQlpbnQgdGxubywgaW50IG9mZnNldCwgaW50IHNhbWUsCi0JCQlzdHJ1Y3Qgb3JpZ2luICpwYXJlbnQpCi17Ci0Jc3RydWN0IGJsYW1lX2VudHJ5ICplID0gKipzcmNxOwotCXN0cnVjdCBibGFtZV9lbnRyeSAqc2FtZXAgPSBOVUxMLCAqZGlmZnAgPSBOVUxMOwotCi0Jd2hpbGUgKGUgJiYgZS0+c19sbm8gPCB0bG5vKSB7Ci0JCXN0cnVjdCBibGFtZV9lbnRyeSAqbmV4dCA9IGUtPm5leHQ7Ci0JCS8qCi0JCSAqIGN1cnJlbnQgcmVjb3JkIHN0YXJ0cyBiZWZvcmUgZGlmZmVyaW5nIHBvcnRpb24uICBJZgotCQkgKiBpdCByZWFjaGVzIGludG8gaXQsIHdlIG5lZWQgdG8gc3BsaXQgaXQgdXAgYW5kCi0JCSAqIGV4YW1pbmUgdGhlIHNlY29uZCBwYXJ0IHNlcGFyYXRlbHkuCi0JCSAqLwotCQlpZiAoZS0+c19sbm8gKyBlLT5udW1fbGluZXMgPiB0bG5vKSB7Ci0JCQkvKiBNb3ZlIHNlY29uZCBoYWxmIHRvIGEgbmV3IHJlY29yZCAqLwotCQkJaW50IGxlbiA9IHRsbm8gLSBlLT5zX2xubzsKLQkJCXN0cnVjdCBibGFtZV9lbnRyeSAqbiA9IHhjYWxsb2MoMSwgc2l6ZW9mIChzdHJ1Y3QgYmxhbWVfZW50cnkpKTsKLQkJCW4tPnN1c3BlY3QgPSBlLT5zdXNwZWN0OwotCQkJbi0+bG5vID0gZS0+bG5vICsgbGVuOwotCQkJbi0+c19sbm8gPSBlLT5zX2xubyArIGxlbjsKLQkJCW4tPm51bV9saW5lcyA9IGUtPm51bV9saW5lcyAtIGxlbjsKLQkJCWUtPm51bV9saW5lcyA9IGxlbjsKLQkJCWUtPnNjb3JlID0gMDsKLQkJCS8qIFB1c2ggbmV3IHJlY29yZCB0byBkaWZmcCAqLwotCQkJbi0+bmV4dCA9IGRpZmZwOwotCQkJZGlmZnAgPSBuOwotCQl9IGVsc2UKLQkJCW9yaWdpbl9kZWNyZWYoZS0+c3VzcGVjdCk7Ci0JCS8qIFBhc3MgYmxhbWUgZm9yIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBkaWZmZXJpbmcKLQkJICogY2h1bmsgdG8gdGhlIHBhcmVudCAqLwotCQllLT5zdXNwZWN0ID0gb3JpZ2luX2luY3JlZihwYXJlbnQpOwotCQllLT5zX2xubyArPSBvZmZzZXQ7Ci0JCWUtPm5leHQgPSBzYW1lcDsKLQkJc2FtZXAgPSBlOwotCQllID0gbmV4dDsKLQl9Ci0JLyoKLQkgKiBBcyB3ZSBkb24ndCBrbm93IGhvdyBtdWNoIG9mIGEgY29tbW9uIHN0cmV0Y2ggYWZ0ZXIgdGhpcwotCSAqIGRpZmYgd2lsbCBvY2N1ciwgdGhlIGN1cnJlbnRseSBibGFtZWQgcGFydHMgYXJlIGFsbCB0aGF0IHdlCi0JICogY2FuIGFzc2lnbiB0byB0aGUgcGFyZW50IGZvciBub3cuCi0JICovCi0KLQlpZiAoc2FtZXApIHsKLQkJKipkc3RxID0gcmV2ZXJzZV9ibGFtZShzYW1lcCwgKipkc3RxKTsKLQkJKmRzdHEgPSAmc2FtZXAtPm5leHQ7Ci0JfQotCS8qCi0JICogUHJlcGVuZCB0aGUgc3BsaXQgb2ZmIHBvcnRpb25zOiBldmVyeXRoaW5nIGFmdGVyIGUgc3RhcnRzCi0JICogYWZ0ZXIgdGhlIGJsYW1lYWJsZSBwb3J0aW9uLgotCSAqLwotCWUgPSByZXZlcnNlX2JsYW1lKGRpZmZwLCBlKTsKLQotCS8qCi0JICogTm93IHJldGFpbiByZWNvcmRzIG9uIHRoZSB0YXJnZXQgd2hpbGUgcGFydHMgYXJlIGRpZmZlcmVudAotCSAqIGZyb20gdGhlIHBhcmVudC4KLQkgKi8KLQlzYW1lcCA9IE5VTEw7Ci0JZGlmZnAgPSBOVUxMOwotCXdoaWxlIChlICYmIGUtPnNfbG5vIDwgc2FtZSkgewotCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5leHQgPSBlLT5uZXh0OwotCi0JCS8qCi0JCSAqIElmIGN1cnJlbnQgcmVjb3JkIGV4dGVuZHMgaW50byBzYW1lbmVzcywgbmVlZCB0byBzcGxpdC4KLQkJICovCi0JCWlmIChlLT5zX2xubyArIGUtPm51bV9saW5lcyA+IHNhbWUpIHsKLQkJCS8qCi0JCQkgKiBNb3ZlIHNlY29uZCBoYWxmIHRvIGEgbmV3IHJlY29yZCB0byBiZQotCQkJICogcHJvY2Vzc2VkIGJ5IGxhdGVyIGNodW5rcwotCQkJICovCi0JCQlpbnQgbGVuID0gc2FtZSAtIGUtPnNfbG5vOwotCQkJc3RydWN0IGJsYW1lX2VudHJ5ICpuID0geGNhbGxvYygxLCBzaXplb2YgKHN0cnVjdCBibGFtZV9lbnRyeSkpOwotCQkJbi0+c3VzcGVjdCA9IG9yaWdpbl9pbmNyZWYoZS0+c3VzcGVjdCk7Ci0JCQluLT5sbm8gPSBlLT5sbm8gKyBsZW47Ci0JCQluLT5zX2xubyA9IGUtPnNfbG5vICsgbGVuOwotCQkJbi0+bnVtX2xpbmVzID0gZS0+bnVtX2xpbmVzIC0gbGVuOwotCQkJZS0+bnVtX2xpbmVzID0gbGVuOwotCQkJZS0+c2NvcmUgPSAwOwotCQkJLyogUHVzaCBuZXcgcmVjb3JkIHRvIHNhbWVwICovCi0JCQluLT5uZXh0ID0gc2FtZXA7Ci0JCQlzYW1lcCA9IG47Ci0JCX0KLQkJZS0+bmV4dCA9IGRpZmZwOwotCQlkaWZmcCA9IGU7Ci0JCWUgPSBuZXh0OwotCX0KLQkqKnNyY3EgPSByZXZlcnNlX2JsYW1lKGRpZmZwLCByZXZlcnNlX2JsYW1lKHNhbWVwLCBlKSk7Ci0JLyogTW92ZSBhY3Jvc3MgZWxlbWVudHMgdGhhdCBhcmUgaW4gdGhlIHVuYmxhbWFibGUgcG9ydGlvbiAqLwotCWlmIChkaWZmcCkKLQkJKnNyY3EgPSAmZGlmZnAtPm5leHQ7Ci19Ci0KLXN0cnVjdCBibGFtZV9jaHVua19jYl9kYXRhIHsKLQlzdHJ1Y3Qgb3JpZ2luICpwYXJlbnQ7Ci0JbG9uZyBvZmZzZXQ7Ci0Jc3RydWN0IGJsYW1lX2VudHJ5ICoqZHN0cTsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKipzcmNxOwotfTsKLQotLyogZGlmZiBjaHVua3MgYXJlIGZyb20gcGFyZW50IHRvIHRhcmdldCAqLwotc3RhdGljIGludCBibGFtZV9jaHVua19jYihsb25nIHN0YXJ0X2EsIGxvbmcgY291bnRfYSwKLQkJCSAgbG9uZyBzdGFydF9iLCBsb25nIGNvdW50X2IsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGJsYW1lX2NodW5rX2NiX2RhdGEgKmQgPSBkYXRhOwotCWlmIChzdGFydF9hIC0gc3RhcnRfYiAhPSBkLT5vZmZzZXQpCi0JCWRpZSgiaW50ZXJuYWwgZXJyb3IgaW4gYmxhbWU6OmJsYW1lX2NodW5rX2NiIik7Ci0JYmxhbWVfY2h1bmsoJmQtPmRzdHEsICZkLT5zcmNxLCBzdGFydF9iLCBzdGFydF9hIC0gc3RhcnRfYiwKLQkJICAgIHN0YXJ0X2IgKyBjb3VudF9iLCBkLT5wYXJlbnQpOwotCWQtPm9mZnNldCA9IHN0YXJ0X2EgKyBjb3VudF9hIC0gKHN0YXJ0X2IgKyBjb3VudF9iKTsKLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIFdlIGFyZSBsb29raW5nIGF0IHRoZSBvcmlnaW4gJ3RhcmdldCcgYW5kIGFpbWluZyB0byBwYXNzIGJsYW1lCi0gKiBmb3IgdGhlIGxpbmVzIGl0IGlzIHN1c3BlY3RlZCB0byBpdHMgcGFyZW50LiAgUnVuIGRpZmYgdG8gZmluZAotICogd2hpY2ggbGluZXMgY2FtZSBmcm9tIHBhcmVudCBhbmQgcGFzcyBibGFtZSBmb3IgdGhlbS4KLSAqLwotc3RhdGljIHZvaWQgcGFzc19ibGFtZV90b19wYXJlbnQoc3RydWN0IHNjb3JlYm9hcmQgKnNiLAotCQkJCSBzdHJ1Y3Qgb3JpZ2luICp0YXJnZXQsCi0JCQkJIHN0cnVjdCBvcmlnaW4gKnBhcmVudCkKLXsKLQltbWZpbGVfdCBmaWxlX3AsIGZpbGVfbzsKLQlzdHJ1Y3QgYmxhbWVfY2h1bmtfY2JfZGF0YSBkOwotCXN0cnVjdCBibGFtZV9lbnRyeSAqbmV3ZGVzdCA9IE5VTEw7Ci0KLQlpZiAoIXRhcmdldC0+c3VzcGVjdHMpCi0JCXJldHVybjsgLyogbm90aGluZyByZW1haW5zIGZvciB0aGlzIHRhcmdldCAqLwotCi0JZC5wYXJlbnQgPSBwYXJlbnQ7Ci0JZC5vZmZzZXQgPSAwOwotCWQuZHN0cSA9ICZuZXdkZXN0OyBkLnNyY3EgPSAmdGFyZ2V0LT5zdXNwZWN0czsKLQotCWZpbGxfb3JpZ2luX2Jsb2IoJnNiLT5yZXZzLT5kaWZmb3B0LCBwYXJlbnQsICZmaWxlX3ApOwotCWZpbGxfb3JpZ2luX2Jsb2IoJnNiLT5yZXZzLT5kaWZmb3B0LCB0YXJnZXQsICZmaWxlX28pOwotCW51bV9nZXRfcGF0Y2grKzsKLQotCWlmIChkaWZmX2h1bmtzKCZmaWxlX3AsICZmaWxlX28sIGJsYW1lX2NodW5rX2NiLCAmZCkpCi0JCWRpZSgidW5hYmxlIHRvIGdlbmVyYXRlIGRpZmYgKCVzIC0+ICVzKSIsCi0JCSAgICBvaWRfdG9faGV4KCZwYXJlbnQtPmNvbW1pdC0+b2JqZWN0Lm9pZCksCi0JCSAgICBvaWRfdG9faGV4KCZ0YXJnZXQtPmNvbW1pdC0+b2JqZWN0Lm9pZCkpOwotCS8qIFRoZSByZXN0IGFyZSB0aGUgc2FtZSBhcyB0aGUgcGFyZW50ICovCi0JYmxhbWVfY2h1bmsoJmQuZHN0cSwgJmQuc3JjcSwgSU5UX01BWCwgZC5vZmZzZXQsIElOVF9NQVgsIHBhcmVudCk7Ci0JKmQuZHN0cSA9IE5VTEw7Ci0JcXVldWVfYmxhbWVzKHNiLCBwYXJlbnQsIG5ld2Rlc3QpOwotCi0JcmV0dXJuOwotfQotCi0vKgotICogVGhlIGxpbmVzIGluIGJsYW1lX2VudHJ5IGFmdGVyIHNwbGl0dGluZyBibGFtZXMgbWFueSB0aW1lcyBjYW4gYmVjb21lCi0gKiB2ZXJ5IHNtYWxsIGFuZCB0cml2aWFsLCBhbmQgYXQgc29tZSBwb2ludCBpdCBiZWNvbWVzIHBvaW50bGVzcyB0bwotICogYmxhbWUgdGhlIHBhcmVudHMuICBFLmcuICJcdFx0fVxuXHR9XG5cbiIgYXBwZWFycyBldmVyeXdoZXJlIGluIGFueQotICogb3JkaW5hcnkgQyBwcm9ncmFtLCBhbmQgaXQgaXMgbm90IHdvcnRoIHRvIHNheSBpdCB3YXMgY29waWVkIGZyb20KLSAqIHRvdGFsbHkgdW5yZWxhdGVkIGZpbGUgaW4gdGhlIHBhcmVudC4KLSAqCi0gKiBDb21wdXRlIGhvdyB0cml2aWFsIHRoZSBsaW5lcyBpbiB0aGUgYmxhbWVfZW50cnkgYXJlLgotICovCi1zdGF0aWMgdW5zaWduZWQgZW50X3Njb3JlKHN0cnVjdCBzY29yZWJvYXJkICpzYiwgc3RydWN0IGJsYW1lX2VudHJ5ICplKQotewotCXVuc2lnbmVkIHNjb3JlOwotCWNvbnN0IGNoYXIgKmNwLCAqZXA7Ci0KLQlpZiAoZS0+c2NvcmUpCi0JCXJldHVybiBlLT5zY29yZTsKLQotCXNjb3JlID0gMTsKLQljcCA9IG50aF9saW5lKHNiLCBlLT5sbm8pOwotCWVwID0gbnRoX2xpbmUoc2IsIGUtPmxubyArIGUtPm51bV9saW5lcyk7Ci0Jd2hpbGUgKGNwIDwgZXApIHsKLQkJdW5zaWduZWQgY2ggPSAqKCh1bnNpZ25lZCBjaGFyICopY3ApOwotCQlpZiAoaXNhbG51bShjaCkpCi0JCQlzY29yZSsrOwotCQljcCsrOwotCX0KLQllLT5zY29yZSA9IHNjb3JlOwotCXJldHVybiBzY29yZTsKLX0KLQotLyoKLSAqIGJlc3Rfc29fZmFyW10gYW5kIHRoaXNbXSBhcmUgYm90aCBhIHNwbGl0IG9mIGFuIGV4aXN0aW5nIGJsYW1lX2VudHJ5Ci0gKiB0aGF0IHBhc3NlcyBibGFtZSB0byB0aGUgcGFyZW50LiAgTWFpbnRhaW4gYmVzdF9zb19mYXIgdGhlIGJlc3Qgc3BsaXQKLSAqIHNvIGZhciwgYnkgY29tcGFyaW5nIHRoaXMgYW5kIGJlc3Rfc29fZmFyIGFuZCBjb3B5aW5nIHRoaXMgaW50bwotICogYnN0X3NvX2ZhciBhcyBuZWVkZWQuCi0gKi8KLXN0YXRpYyB2b2lkIGNvcHlfc3BsaXRfaWZfYmV0dGVyKHN0cnVjdCBzY29yZWJvYXJkICpzYiwKLQkJCQkgc3RydWN0IGJsYW1lX2VudHJ5ICpiZXN0X3NvX2ZhciwKLQkJCQkgc3RydWN0IGJsYW1lX2VudHJ5ICp0aGlzKQotewotCWludCBpOwotCi0JaWYgKCF0aGlzWzFdLnN1c3BlY3QpCi0JCXJldHVybjsKLQlpZiAoYmVzdF9zb19mYXJbMV0uc3VzcGVjdCkgewotCQlpZiAoZW50X3Njb3JlKHNiLCAmdGhpc1sxXSkgPCBlbnRfc2NvcmUoc2IsICZiZXN0X3NvX2ZhclsxXSkpCi0JCQlyZXR1cm47Ci0JfQotCi0JZm9yIChpID0gMDsgaSA8IDM7IGkrKykKLQkJb3JpZ2luX2luY3JlZih0aGlzW2ldLnN1c3BlY3QpOwotCWRlY3JlZl9zcGxpdChiZXN0X3NvX2Zhcik7Ci0JbWVtY3B5KGJlc3Rfc29fZmFyLCB0aGlzLCBzaXplb2Yoc3RydWN0IGJsYW1lX2VudHJ5IFszXSkpOwotfQotCi0vKgotICogV2UgYXJlIGxvb2tpbmcgYXQgYSBwYXJ0IG9mIHRoZSBmaW5hbCBpbWFnZSByZXByZXNlbnRlZCBieQotICogZW50ICh0bG5vIGFuZCBzYW1lIGFyZSBvZmZzZXQgYnkgZW50LT5zX2xubykuCi0gKiB0bG5vIGlzIHdoZXJlIHdlIGFyZSBsb29raW5nIGF0IGluIHRoZSBmaW5hbCBpbWFnZS4KLSAqIHVwIHRvIChidXQgbm90IGluY2x1ZGluZykgc2FtZSBtYXRjaCBwcmVpbWFnZS4KLSAqIHBsbm8gaXMgd2hlcmUgd2UgYXJlIGxvb2tpbmcgYXQgaW4gdGhlIHByZWltYWdlLgotICoKLSAqIDwtLS0tLS0tLS0tLS0tLSBmaW5hbCBpbWFnZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgotICogICAgICAgPC0tLS0tLWVudC0tLS0tLT4KLSAqICAgICAgICAgXnRsbm8gXnNhbWUKLSAqICAgIDwtLS0tLS0tLS1wcmVpbWFnZS0tLS0tPgotICogICAgICAgICBecGxubwotICoKLSAqIEFsbCBsaW5lIG51bWJlcnMgYXJlIDAtYmFzZWQuCi0gKi8KLXN0YXRpYyB2b2lkIGhhbmRsZV9zcGxpdChzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IsCi0JCQkgc3RydWN0IGJsYW1lX2VudHJ5ICplbnQsCi0JCQkgaW50IHRsbm8sIGludCBwbG5vLCBpbnQgc2FtZSwKLQkJCSBzdHJ1Y3Qgb3JpZ2luICpwYXJlbnQsCi0JCQkgc3RydWN0IGJsYW1lX2VudHJ5ICpzcGxpdCkKLXsKLQlpZiAoZW50LT5udW1fbGluZXMgPD0gdGxubykKLQkJcmV0dXJuOwotCWlmICh0bG5vIDwgc2FtZSkgewotCQlzdHJ1Y3QgYmxhbWVfZW50cnkgdGhpc1szXTsKLQkJdGxubyArPSBlbnQtPnNfbG5vOwotCQlzYW1lICs9IGVudC0+c19sbm87Ci0JCXNwbGl0X292ZXJsYXAodGhpcywgZW50LCB0bG5vLCBwbG5vLCBzYW1lLCBwYXJlbnQpOwotCQljb3B5X3NwbGl0X2lmX2JldHRlcihzYiwgc3BsaXQsIHRoaXMpOwotCQlkZWNyZWZfc3BsaXQodGhpcyk7Ci0JfQotfQotCi1zdHJ1Y3QgaGFuZGxlX3NwbGl0X2NiX2RhdGEgewotCXN0cnVjdCBzY29yZWJvYXJkICpzYjsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKLQlzdHJ1Y3Qgb3JpZ2luICpwYXJlbnQ7Ci0Jc3RydWN0IGJsYW1lX2VudHJ5ICpzcGxpdDsKLQlsb25nIHBsbm87Ci0JbG9uZyB0bG5vOwotfTsKLQotc3RhdGljIGludCBoYW5kbGVfc3BsaXRfY2IobG9uZyBzdGFydF9hLCBsb25nIGNvdW50X2EsCi0JCQkgICBsb25nIHN0YXJ0X2IsIGxvbmcgY291bnRfYiwgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3QgaGFuZGxlX3NwbGl0X2NiX2RhdGEgKmQgPSBkYXRhOwotCWhhbmRsZV9zcGxpdChkLT5zYiwgZC0+ZW50LCBkLT50bG5vLCBkLT5wbG5vLCBzdGFydF9iLCBkLT5wYXJlbnQsCi0JCSAgICAgZC0+c3BsaXQpOwotCWQtPnBsbm8gPSBzdGFydF9hICsgY291bnRfYTsKLQlkLT50bG5vID0gc3RhcnRfYiArIGNvdW50X2I7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSBsaW5lcyBmcm9tIHBhcmVudCB0aGF0IGFyZSB0aGUgc2FtZSBhcyBlbnQgc28gdGhhdAotICogd2UgY2FuIHBhc3MgYmxhbWVzIHRvIGl0LiAgZmlsZV9wIGhhcyB0aGUgYmxvYiBjb250ZW50cyBmb3IKLSAqIHRoZSBwYXJlbnQuCi0gKi8KLXN0YXRpYyB2b2lkIGZpbmRfY29weV9pbl9ibG9iKHN0cnVjdCBzY29yZWJvYXJkICpzYiwKLQkJCSAgICAgIHN0cnVjdCBibGFtZV9lbnRyeSAqZW50LAotCQkJICAgICAgc3RydWN0IG9yaWdpbiAqcGFyZW50LAotCQkJICAgICAgc3RydWN0IGJsYW1lX2VudHJ5ICpzcGxpdCwKLQkJCSAgICAgIG1tZmlsZV90ICpmaWxlX3ApCi17Ci0JY29uc3QgY2hhciAqY3A7Ci0JbW1maWxlX3QgZmlsZV9vOwotCXN0cnVjdCBoYW5kbGVfc3BsaXRfY2JfZGF0YSBkOwotCi0JbWVtc2V0KCZkLCAwLCBzaXplb2YoZCkpOwotCWQuc2IgPSBzYjsgZC5lbnQgPSBlbnQ7IGQucGFyZW50ID0gcGFyZW50OyBkLnNwbGl0ID0gc3BsaXQ7Ci0JLyoKLQkgKiBQcmVwYXJlIG1tZmlsZSB0aGF0IGNvbnRhaW5zIG9ubHkgdGhlIGxpbmVzIGluIGVudC4KLQkgKi8KLQljcCA9IG50aF9saW5lKHNiLCBlbnQtPmxubyk7Ci0JZmlsZV9vLnB0ciA9IChjaGFyICopIGNwOwotCWZpbGVfby5zaXplID0gbnRoX2xpbmUoc2IsIGVudC0+bG5vICsgZW50LT5udW1fbGluZXMpIC0gY3A7Ci0KLQkvKgotCSAqIGZpbGVfbyBpcyBhIHBhcnQgb2YgZmluYWwgaW1hZ2Ugd2UgYXJlIGFubm90YXRpbmcuCi0JICogZmlsZV9wIHBhcnRpYWxseSBtYXkgbWF0Y2ggdGhhdCBpbWFnZS4KLQkgKi8KLQltZW1zZXQoc3BsaXQsIDAsIHNpemVvZihzdHJ1Y3QgYmxhbWVfZW50cnkgWzNdKSk7Ci0JaWYgKGRpZmZfaHVua3MoZmlsZV9wLCAmZmlsZV9vLCBoYW5kbGVfc3BsaXRfY2IsICZkKSkKLQkJZGllKCJ1bmFibGUgdG8gZ2VuZXJhdGUgZGlmZiAoJXMpIiwKLQkJICAgIG9pZF90b19oZXgoJnBhcmVudC0+Y29tbWl0LT5vYmplY3Qub2lkKSk7Ci0JLyogcmVtYWluZGVyLCBpZiBhbnksIGFsbCBtYXRjaCB0aGUgcHJlaW1hZ2UgKi8KLQloYW5kbGVfc3BsaXQoc2IsIGVudCwgZC50bG5vLCBkLnBsbm8sIGVudC0+bnVtX2xpbmVzLCBwYXJlbnQsIHNwbGl0KTsKLX0KLQotLyogTW92ZSBhbGwgYmxhbWUgZW50cmllcyBmcm9tIGxpc3QgKnNvdXJjZSB0aGF0IGhhdmUgYSBzY29yZSBzbWFsbGVyCi0gKiB0aGFuIHNjb3JlX21pbiB0byB0aGUgZnJvbnQgb2YgbGlzdCAqc21hbGwuCi0gKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbGluayBwb2ludGluZyB0byB0aGUgb2xkIGhlYWQgb2YgdGhlIHNtYWxsIGxpc3QuCi0gKi8KLQotc3RhdGljIHN0cnVjdCBibGFtZV9lbnRyeSAqKmZpbHRlcl9zbWFsbChzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IsCi0JCQkJCSBzdHJ1Y3QgYmxhbWVfZW50cnkgKipzbWFsbCwKLQkJCQkJIHN0cnVjdCBibGFtZV9lbnRyeSAqKnNvdXJjZSwKLQkJCQkJIHVuc2lnbmVkIHNjb3JlX21pbikKLXsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKnAgPSAqc291cmNlOwotCXN0cnVjdCBibGFtZV9lbnRyeSAqb2xkc21hbGwgPSAqc21hbGw7Ci0Jd2hpbGUgKHApIHsKLQkJaWYgKGVudF9zY29yZShzYiwgcCkgPD0gc2NvcmVfbWluKSB7Ci0JCQkqc21hbGwgPSBwOwotCQkJc21hbGwgPSAmcC0+bmV4dDsKLQkJCXAgPSAqc21hbGw7Ci0JCX0gZWxzZSB7Ci0JCQkqc291cmNlID0gcDsKLQkJCXNvdXJjZSA9ICZwLT5uZXh0OwotCQkJcCA9ICpzb3VyY2U7Ci0JCX0KLQl9Ci0JKnNtYWxsID0gb2xkc21hbGw7Ci0JKnNvdXJjZSA9IE5VTEw7Ci0JcmV0dXJuIHNtYWxsOwotfQotCi0vKgotICogU2VlIGlmIGxpbmVzIGN1cnJlbnRseSB0YXJnZXQgaXMgc3VzcGVjdGVkIGZvciBjYW4gYmUgYXR0cmlidXRlZCB0bwotICogcGFyZW50LgotICovCi1zdGF0aWMgdm9pZCBmaW5kX21vdmVfaW5fcGFyZW50KHN0cnVjdCBzY29yZWJvYXJkICpzYiwKLQkJCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKioqYmxhbWVkLAotCQkJCXN0cnVjdCBibGFtZV9lbnRyeSAqKnRvb3NtYWxsLAotCQkJCXN0cnVjdCBvcmlnaW4gKnRhcmdldCwKLQkJCQlzdHJ1Y3Qgb3JpZ2luICpwYXJlbnQpCi17Ci0Jc3RydWN0IGJsYW1lX2VudHJ5ICplLCBzcGxpdFszXTsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKnVuYmxhbWVkID0gdGFyZ2V0LT5zdXNwZWN0czsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmxlZnRvdmVyID0gTlVMTDsKLQltbWZpbGVfdCBmaWxlX3A7Ci0KLQlpZiAoIXVuYmxhbWVkKQotCQlyZXR1cm47IC8qIG5vdGhpbmcgcmVtYWlucyBmb3IgdGhpcyB0YXJnZXQgKi8KLQotCWZpbGxfb3JpZ2luX2Jsb2IoJnNiLT5yZXZzLT5kaWZmb3B0LCBwYXJlbnQsICZmaWxlX3ApOwotCWlmICghZmlsZV9wLnB0cikKLQkJcmV0dXJuOwotCi0JLyogQXQgZWFjaCBpdGVyYXRpb24sIHVuYmxhbWVkIGhhcyBhIE5VTEwtdGVybWluYXRlZCBsaXN0IG9mCi0JICogZW50cmllcyB0aGF0IGhhdmUgbm90IHlldCBiZWVuIHRlc3RlZCBmb3IgYmxhbWUuICBsZWZ0b3ZlcgotCSAqIGNvbnRhaW5zIHRoZSByZXZlcnNlZCBsaXN0IG9mIGVudHJpZXMgdGhhdCBoYXZlIGJlZW4gdGVzdGVkCi0JICogd2l0aG91dCBiZWluZyBhc3NpZ25hYmxlIHRvIHRoZSBwYXJlbnQuCi0JICovCi0JZG8gewotCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKip1bmJsYW1lZHRhaWwgPSAmdW5ibGFtZWQ7Ci0JCXN0cnVjdCBibGFtZV9lbnRyeSAqbmV4dDsKLQkJZm9yIChlID0gdW5ibGFtZWQ7IGU7IGUgPSBuZXh0KSB7Ci0JCQluZXh0ID0gZS0+bmV4dDsKLQkJCWZpbmRfY29weV9pbl9ibG9iKHNiLCBlLCBwYXJlbnQsIHNwbGl0LCAmZmlsZV9wKTsKLQkJCWlmIChzcGxpdFsxXS5zdXNwZWN0ICYmCi0JCQkgICAgYmxhbWVfbW92ZV9zY29yZSA8IGVudF9zY29yZShzYiwgJnNwbGl0WzFdKSkgewotCQkJCXNwbGl0X2JsYW1lKGJsYW1lZCwgJnVuYmxhbWVkdGFpbCwgc3BsaXQsIGUpOwotCQkJfSBlbHNlIHsKLQkJCQllLT5uZXh0ID0gbGVmdG92ZXI7Ci0JCQkJbGVmdG92ZXIgPSBlOwotCQkJfQotCQkJZGVjcmVmX3NwbGl0KHNwbGl0KTsKLQkJfQotCQkqdW5ibGFtZWR0YWlsID0gTlVMTDsKLQkJdG9vc21hbGwgPSBmaWx0ZXJfc21hbGwoc2IsIHRvb3NtYWxsLCAmdW5ibGFtZWQsIGJsYW1lX21vdmVfc2NvcmUpOwotCX0gd2hpbGUgKHVuYmxhbWVkKTsKLQl0YXJnZXQtPnN1c3BlY3RzID0gcmV2ZXJzZV9ibGFtZShsZWZ0b3ZlciwgTlVMTCk7Ci19Ci0KLXN0cnVjdCBibGFtZV9saXN0IHsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgc3BsaXRbM107Ci19OwotCi0vKgotICogQ291bnQgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoZSB0YXJnZXQgaXMgc3VzcGVjdGVkIGZvciwKLSAqIGFuZCBwcmVwYXJlIGEgbGlzdCBvZiBlbnRyeSBhbmQgdGhlIGJlc3Qgc3BsaXQuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYmxhbWVfbGlzdCAqc2V0dXBfYmxhbWVfbGlzdChzdHJ1Y3QgYmxhbWVfZW50cnkgKnVuYmxhbWVkLAotCQkJCQkgICBpbnQgKm51bV9lbnRzX3ApCi17Ci0Jc3RydWN0IGJsYW1lX2VudHJ5ICplOwotCWludCBudW1fZW50cywgaTsKLQlzdHJ1Y3QgYmxhbWVfbGlzdCAqYmxhbWVfbGlzdCA9IE5VTEw7Ci0KLQlmb3IgKGUgPSB1bmJsYW1lZCwgbnVtX2VudHMgPSAwOyBlOyBlID0gZS0+bmV4dCkKLQkJbnVtX2VudHMrKzsKLQlpZiAobnVtX2VudHMpIHsKLQkJYmxhbWVfbGlzdCA9IHhjYWxsb2MobnVtX2VudHMsIHNpemVvZihzdHJ1Y3QgYmxhbWVfbGlzdCkpOwotCQlmb3IgKGUgPSB1bmJsYW1lZCwgaSA9IDA7IGU7IGUgPSBlLT5uZXh0KQotCQkJYmxhbWVfbGlzdFtpKytdLmVudCA9IGU7Ci0JfQotCSpudW1fZW50c19wID0gbnVtX2VudHM7Ci0JcmV0dXJuIGJsYW1lX2xpc3Q7Ci19Ci0KLS8qCi0gKiBGb3IgbGluZXMgdGFyZ2V0IGlzIHN1c3BlY3RlZCBmb3IsIHNlZSBpZiB3ZSBjYW4gZmluZCBjb2RlIG1vdmVtZW50Ci0gKiBhY3Jvc3MgZmlsZSBib3VuZGFyeSBmcm9tIHRoZSBwYXJlbnQgY29tbWl0LiAgcG9yaWdpbiBpcyB0aGUgcGF0aAotICogaW4gdGhlIHBhcmVudCB3ZSBhbHJlYWR5IHRyaWVkLgotICovCi1zdGF0aWMgdm9pZCBmaW5kX2NvcHlfaW5fcGFyZW50KHN0cnVjdCBzY29yZWJvYXJkICpzYiwKLQkJCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKioqYmxhbWVkLAotCQkJCXN0cnVjdCBibGFtZV9lbnRyeSAqKnRvb3NtYWxsLAotCQkJCXN0cnVjdCBvcmlnaW4gKnRhcmdldCwKLQkJCQlzdHJ1Y3QgY29tbWl0ICpwYXJlbnQsCi0JCQkJc3RydWN0IG9yaWdpbiAqcG9yaWdpbiwKLQkJCQlpbnQgb3B0KQotewotCXN0cnVjdCBkaWZmX29wdGlvbnMgZGlmZl9vcHRzOwotCWludCBpLCBqOwotCXN0cnVjdCBibGFtZV9saXN0ICpibGFtZV9saXN0OwotCWludCBudW1fZW50czsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKnVuYmxhbWVkID0gdGFyZ2V0LT5zdXNwZWN0czsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmxlZnRvdmVyID0gTlVMTDsKLQotCWlmICghdW5ibGFtZWQpCi0JCXJldHVybjsgLyogbm90aGluZyByZW1haW5zIGZvciB0aGlzIHRhcmdldCAqLwotCi0JZGlmZl9zZXR1cCgmZGlmZl9vcHRzKTsKLQlESUZGX09QVF9TRVQoJmRpZmZfb3B0cywgUkVDVVJTSVZFKTsKLQlkaWZmX29wdHMub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKLQotCWRpZmZfc2V0dXBfZG9uZSgmZGlmZl9vcHRzKTsKLQotCS8qIFRyeSAiZmluZCBjb3BpZXMgaGFyZGVyIiBvbiBuZXcgcGF0aCBpZiByZXF1ZXN0ZWQ7Ci0JICogd2UgZG8gbm90IHdhbnQgdG8gdXNlIGRpZmZjb3JlX3JlbmFtZSgpIGFjdHVhbGx5IHRvCi0JICogbWF0Y2ggdGhpbmdzIHVwOyBmaW5kX2NvcGllc19oYXJkZXIgaXMgc2V0IG9ubHkgdG8KLQkgKiBmb3JjZSBkaWZmX3RyZWVfc2hhMSgpIHRvIGZlZWQgYWxsIGZpbGVwYWlycyB0byBkaWZmX3F1ZXVlLAotCSAqIGFuZCB0aGlzIGNvZGUgbmVlZHMgdG8gYmUgYWZ0ZXIgZGlmZl9zZXR1cF9kb25lKCksIHdoaWNoCi0JICogdXN1YWxseSBtYWtlcyBmaW5kLWNvcGllcy1oYXJkZXIgaW1wbHkgY29weSBkZXRlY3Rpb24uCi0JICovCi0JaWYgKChvcHQgJiBQSUNLQVhFX0JMQU1FX0NPUFlfSEFSREVTVCkKLQkgICAgfHwgKChvcHQgJiBQSUNLQVhFX0JMQU1FX0NPUFlfSEFSREVSKQotCQkmJiAoIXBvcmlnaW4gfHwgc3RyY21wKHRhcmdldC0+cGF0aCwgcG9yaWdpbi0+cGF0aCkpKSkKLQkJRElGRl9PUFRfU0VUKCZkaWZmX29wdHMsIEZJTkRfQ09QSUVTX0hBUkRFUik7Ci0KLQlpZiAoaXNfbnVsbF9vaWQoJnRhcmdldC0+Y29tbWl0LT5vYmplY3Qub2lkKSkKLQkJZG9fZGlmZl9jYWNoZShwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCwgJmRpZmZfb3B0cyk7Ci0JZWxzZQotCQlkaWZmX3RyZWVfc2hhMShwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCwKLQkJCSAgICAgICB0YXJnZXQtPmNvbW1pdC0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJICAgICAgICIiLCAmZGlmZl9vcHRzKTsKLQotCWlmICghRElGRl9PUFRfVFNUKCZkaWZmX29wdHMsIEZJTkRfQ09QSUVTX0hBUkRFUikpCi0JCWRpZmZjb3JlX3N0ZCgmZGlmZl9vcHRzKTsKLQotCWRvIHsKLQkJc3RydWN0IGJsYW1lX2VudHJ5ICoqdW5ibGFtZWR0YWlsID0gJnVuYmxhbWVkOwotCQlibGFtZV9saXN0ID0gc2V0dXBfYmxhbWVfbGlzdCh1bmJsYW1lZCwgJm51bV9lbnRzKTsKLQotCQlmb3IgKGkgPSAwOyBpIDwgZGlmZl9xdWV1ZWRfZGlmZi5ucjsgaSsrKSB7Ci0JCQlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcCA9IGRpZmZfcXVldWVkX2RpZmYucXVldWVbaV07Ci0JCQlzdHJ1Y3Qgb3JpZ2luICpub3JpZ2luOwotCQkJbW1maWxlX3QgZmlsZV9wOwotCQkJc3RydWN0IGJsYW1lX2VudHJ5IHRoaXNbM107Ci0KLQkJCWlmICghRElGRl9GSUxFX1ZBTElEKHAtPm9uZSkpCi0JCQkJY29udGludWU7IC8qIGRvZXMgbm90IGV4aXN0IGluIHBhcmVudCAqLwotCQkJaWYgKFNfSVNHSVRMSU5LKHAtPm9uZS0+bW9kZSkpCi0JCQkJY29udGludWU7IC8qIGlnbm9yZSBnaXQgbGlua3MgKi8KLQkJCWlmIChwb3JpZ2luICYmICFzdHJjbXAocC0+b25lLT5wYXRoLCBwb3JpZ2luLT5wYXRoKSkKLQkJCQkvKiBmaW5kX21vdmUgYWxyZWFkeSBkZWFsdCB3aXRoIHRoaXMgcGF0aCAqLwotCQkJCWNvbnRpbnVlOwotCi0JCQlub3JpZ2luID0gZ2V0X29yaWdpbihzYiwgcGFyZW50LCBwLT5vbmUtPnBhdGgpOwotCQkJb2lkY3B5KCZub3JpZ2luLT5ibG9iX29pZCwgJnAtPm9uZS0+b2lkKTsKLQkJCW5vcmlnaW4tPm1vZGUgPSBwLT5vbmUtPm1vZGU7Ci0JCQlmaWxsX29yaWdpbl9ibG9iKCZzYi0+cmV2cy0+ZGlmZm9wdCwgbm9yaWdpbiwgJmZpbGVfcCk7Ci0JCQlpZiAoIWZpbGVfcC5wdHIpCi0JCQkJY29udGludWU7Ci0KLQkJCWZvciAoaiA9IDA7IGogPCBudW1fZW50czsgaisrKSB7Ci0JCQkJZmluZF9jb3B5X2luX2Jsb2Ioc2IsIGJsYW1lX2xpc3Rbal0uZW50LAotCQkJCQkJICBub3JpZ2luLCB0aGlzLCAmZmlsZV9wKTsKLQkJCQljb3B5X3NwbGl0X2lmX2JldHRlcihzYiwgYmxhbWVfbGlzdFtqXS5zcGxpdCwKLQkJCQkJCSAgICAgdGhpcyk7Ci0JCQkJZGVjcmVmX3NwbGl0KHRoaXMpOwotCQkJfQotCQkJb3JpZ2luX2RlY3JlZihub3JpZ2luKTsKLQkJfQotCi0JCWZvciAoaiA9IDA7IGogPCBudW1fZW50czsgaisrKSB7Ci0JCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKnNwbGl0ID0gYmxhbWVfbGlzdFtqXS5zcGxpdDsKLQkJCWlmIChzcGxpdFsxXS5zdXNwZWN0ICYmCi0JCQkgICAgYmxhbWVfY29weV9zY29yZSA8IGVudF9zY29yZShzYiwgJnNwbGl0WzFdKSkgewotCQkJCXNwbGl0X2JsYW1lKGJsYW1lZCwgJnVuYmxhbWVkdGFpbCwgc3BsaXQsCi0JCQkJCSAgICBibGFtZV9saXN0W2pdLmVudCk7Ci0JCQl9IGVsc2UgewotCQkJCWJsYW1lX2xpc3Rbal0uZW50LT5uZXh0ID0gbGVmdG92ZXI7Ci0JCQkJbGVmdG92ZXIgPSBibGFtZV9saXN0W2pdLmVudDsKLQkJCX0KLQkJCWRlY3JlZl9zcGxpdChzcGxpdCk7Ci0JCX0KLQkJZnJlZShibGFtZV9saXN0KTsKLQkJKnVuYmxhbWVkdGFpbCA9IE5VTEw7Ci0JCXRvb3NtYWxsID0gZmlsdGVyX3NtYWxsKHNiLCB0b29zbWFsbCwgJnVuYmxhbWVkLCBibGFtZV9jb3B5X3Njb3JlKTsKLQl9IHdoaWxlICh1bmJsYW1lZCk7Ci0JdGFyZ2V0LT5zdXNwZWN0cyA9IHJldmVyc2VfYmxhbWUobGVmdG92ZXIsIE5VTEwpOwotCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7Ci0JY2xlYXJfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYyk7Ci19Ci0KLS8qCi0gKiBUaGUgYmxvYnMgb2Ygb3JpZ2luIGFuZCBwb3JpZ2luIGV4YWN0bHkgbWF0Y2gsIHNvIGV2ZXJ5dGhpbmcKLSAqIG9yaWdpbiBpcyBzdXNwZWN0ZWQgZm9yIGNhbiBiZSBibGFtZWQgb24gdGhlIHBhcmVudC4KLSAqLwotc3RhdGljIHZvaWQgcGFzc193aG9sZV9ibGFtZShzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IsCi0JCQkgICAgIHN0cnVjdCBvcmlnaW4gKm9yaWdpbiwgc3RydWN0IG9yaWdpbiAqcG9yaWdpbikKLXsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmUsICpzdXNwZWN0czsKLQotCWlmICghcG9yaWdpbi0+ZmlsZS5wdHIgJiYgb3JpZ2luLT5maWxlLnB0cikgewotCQkvKiBTdGVhbCBpdHMgZmlsZSAqLwotCQlwb3JpZ2luLT5maWxlID0gb3JpZ2luLT5maWxlOwotCQlvcmlnaW4tPmZpbGUucHRyID0gTlVMTDsKLQl9Ci0Jc3VzcGVjdHMgPSBvcmlnaW4tPnN1c3BlY3RzOwotCW9yaWdpbi0+c3VzcGVjdHMgPSBOVUxMOwotCWZvciAoZSA9IHN1c3BlY3RzOyBlOyBlID0gZS0+bmV4dCkgewotCQlvcmlnaW5faW5jcmVmKHBvcmlnaW4pOwotCQlvcmlnaW5fZGVjcmVmKGUtPnN1c3BlY3QpOwotCQllLT5zdXNwZWN0ID0gcG9yaWdpbjsKLQl9Ci0JcXVldWVfYmxhbWVzKHNiLCBwb3JpZ2luLCBzdXNwZWN0cyk7Ci19Ci0KLS8qCi0gKiBXZSBwYXNzIGJsYW1lIGZyb20gdGhlIGN1cnJlbnQgY29tbWl0IHRvIGl0cyBwYXJlbnRzLiAgV2Uga2VlcCBzYXlpbmcKLSAqICJwYXJlbnQiIChhbmQgInBvcmlnaW4iKSwgYnV0IHdoYXQgd2UgbWVhbiBpcyB0byBmaW5kIHNjYXBlZ29hdCB0bwotICogZXhvbmVyYXRlIG91cnNlbHZlcy4KLSAqLwotc3RhdGljIHN0cnVjdCBjb21taXRfbGlzdCAqZmlyc3Rfc2NhcGVnb2F0KHN0cnVjdCByZXZfaW5mbyAqcmV2cywgc3RydWN0IGNvbW1pdCAqY29tbWl0KQotewotCWlmICghcmV2ZXJzZSkgewotCQlpZiAocmV2cy0+Zmlyc3RfcGFyZW50X29ubHkgJiYKLQkJICAgIGNvbW1pdC0+cGFyZW50cyAmJgotCQkgICAgY29tbWl0LT5wYXJlbnRzLT5uZXh0KSB7Ci0JCQlmcmVlX2NvbW1pdF9saXN0KGNvbW1pdC0+cGFyZW50cy0+bmV4dCk7Ci0JCQljb21taXQtPnBhcmVudHMtPm5leHQgPSBOVUxMOwotCQl9Ci0JCXJldHVybiBjb21taXQtPnBhcmVudHM7Ci0JfQotCXJldHVybiBsb29rdXBfZGVjb3JhdGlvbigmcmV2cy0+Y2hpbGRyZW4sICZjb21taXQtPm9iamVjdCk7Ci19Ci0KLXN0YXRpYyBpbnQgbnVtX3NjYXBlZ29hdHMoc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCi17Ci0Jc3RydWN0IGNvbW1pdF9saXN0ICpsID0gZmlyc3Rfc2NhcGVnb2F0KHJldnMsIGNvbW1pdCk7Ci0JcmV0dXJuIGNvbW1pdF9saXN0X2NvdW50KGwpOwotfQotCi0vKiBEaXN0cmlidXRlIGNvbGxlY3RlZCB1bnNvcnRlZCBibGFtZXMgdG8gdGhlIHJlc3BlY3RlZCBzb3J0ZWQgbGlzdHMKLSAqIGluIHRoZSB2YXJpb3VzIG9yaWdpbnMuCi0gKi8KLXN0YXRpYyB2b2lkIGRpc3RyaWJ1dGVfYmxhbWUoc3RydWN0IHNjb3JlYm9hcmQgKnNiLCBzdHJ1Y3QgYmxhbWVfZW50cnkgKmJsYW1lZCkKLXsKLQlibGFtZWQgPSBibGFtZV9zb3J0KGJsYW1lZCwgY29tcGFyZV9ibGFtZV9zdXNwZWN0KTsKLQl3aGlsZSAoYmxhbWVkKQotCXsKLQkJc3RydWN0IG9yaWdpbiAqcG9yaWdpbiA9IGJsYW1lZC0+c3VzcGVjdDsKLQkJc3RydWN0IGJsYW1lX2VudHJ5ICpzdXNwZWN0cyA9IE5VTEw7Ci0JCWRvIHsKLQkJCXN0cnVjdCBibGFtZV9lbnRyeSAqbmV4dCA9IGJsYW1lZC0+bmV4dDsKLQkJCWJsYW1lZC0+bmV4dCA9IHN1c3BlY3RzOwotCQkJc3VzcGVjdHMgPSBibGFtZWQ7Ci0JCQlibGFtZWQgPSBuZXh0OwotCQl9IHdoaWxlIChibGFtZWQgJiYgYmxhbWVkLT5zdXNwZWN0ID09IHBvcmlnaW4pOwotCQlzdXNwZWN0cyA9IHJldmVyc2VfYmxhbWUoc3VzcGVjdHMsIE5VTEwpOwotCQlxdWV1ZV9ibGFtZXMoc2IsIHBvcmlnaW4sIHN1c3BlY3RzKTsKLQl9Ci19Ci0KLSNkZWZpbmUgTUFYU0cgMTYKLQotc3RhdGljIHZvaWQgcGFzc19ibGFtZShzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IsIHN0cnVjdCBvcmlnaW4gKm9yaWdpbiwgaW50IG9wdCkKLXsKLQlzdHJ1Y3QgcmV2X2luZm8gKnJldnMgPSBzYi0+cmV2czsKLQlpbnQgaSwgcGFzcywgbnVtX3NnOwotCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IG9yaWdpbi0+Y29tbWl0OwotCXN0cnVjdCBjb21taXRfbGlzdCAqc2c7Ci0Jc3RydWN0IG9yaWdpbiAqc2dfYnVmW01BWFNHXTsKLQlzdHJ1Y3Qgb3JpZ2luICpwb3JpZ2luLCAqKnNnX29yaWdpbiA9IHNnX2J1ZjsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKnRvb3NtYWxsID0gTlVMTDsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmJsYW1lcywgKipibGFtZXRhaWwgPSAmYmxhbWVzOwotCi0JbnVtX3NnID0gbnVtX3NjYXBlZ29hdHMocmV2cywgY29tbWl0KTsKLQlpZiAoIW51bV9zZykKLQkJZ290byBmaW5pc2g7Ci0JZWxzZSBpZiAobnVtX3NnIDwgQVJSQVlfU0laRShzZ19idWYpKQotCQltZW1zZXQoc2dfYnVmLCAwLCBzaXplb2Yoc2dfYnVmKSk7Ci0JZWxzZQotCQlzZ19vcmlnaW4gPSB4Y2FsbG9jKG51bV9zZywgc2l6ZW9mKCpzZ19vcmlnaW4pKTsKLQotCS8qCi0JICogVGhlIGZpcnN0IHBhc3MgbG9va3MgZm9yIHVucmVuYW1lZCBwYXRoIHRvIG9wdGltaXplIGZvcgotCSAqIGNvbW1vbiBjYXNlcywgdGhlbiB3ZSBsb29rIGZvciByZW5hbWVzIGluIHRoZSBzZWNvbmQgcGFzcy4KLQkgKi8KLQlmb3IgKHBhc3MgPSAwOyBwYXNzIDwgMiAtIG5vX3dob2xlX2ZpbGVfcmVuYW1lOyBwYXNzKyspIHsKLQkJc3RydWN0IG9yaWdpbiAqKCpmaW5kKShzdHJ1Y3Qgc2NvcmVib2FyZCAqLAotCQkJCSAgICAgICBzdHJ1Y3QgY29tbWl0ICosIHN0cnVjdCBvcmlnaW4gKik7Ci0JCWZpbmQgPSBwYXNzID8gZmluZF9yZW5hbWUgOiBmaW5kX29yaWdpbjsKLQotCQlmb3IgKGkgPSAwLCBzZyA9IGZpcnN0X3NjYXBlZ29hdChyZXZzLCBjb21taXQpOwotCQkgICAgIGkgPCBudW1fc2cgJiYgc2c7Ci0JCSAgICAgc2cgPSBzZy0+bmV4dCwgaSsrKSB7Ci0JCQlzdHJ1Y3QgY29tbWl0ICpwID0gc2ctPml0ZW07Ci0JCQlpbnQgaiwgc2FtZTsKLQotCQkJaWYgKHNnX29yaWdpbltpXSkKLQkJCQljb250aW51ZTsKLQkJCWlmIChwYXJzZV9jb21taXQocCkpCi0JCQkJY29udGludWU7Ci0JCQlwb3JpZ2luID0gZmluZChzYiwgcCwgb3JpZ2luKTsKLQkJCWlmICghcG9yaWdpbikKLQkJCQljb250aW51ZTsKLQkJCWlmICghb2lkY21wKCZwb3JpZ2luLT5ibG9iX29pZCwgJm9yaWdpbi0+YmxvYl9vaWQpKSB7Ci0JCQkJcGFzc193aG9sZV9ibGFtZShzYiwgb3JpZ2luLCBwb3JpZ2luKTsKLQkJCQlvcmlnaW5fZGVjcmVmKHBvcmlnaW4pOwotCQkJCWdvdG8gZmluaXNoOwotCQkJfQotCQkJZm9yIChqID0gc2FtZSA9IDA7IGogPCBpOyBqKyspCi0JCQkJaWYgKHNnX29yaWdpbltqXSAmJgotCQkJCSAgICAhb2lkY21wKCZzZ19vcmlnaW5bal0tPmJsb2Jfb2lkLCAmcG9yaWdpbi0+YmxvYl9vaWQpKSB7Ci0JCQkJCXNhbWUgPSAxOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQlpZiAoIXNhbWUpCi0JCQkJc2dfb3JpZ2luW2ldID0gcG9yaWdpbjsKLQkJCWVsc2UKLQkJCQlvcmlnaW5fZGVjcmVmKHBvcmlnaW4pOwotCQl9Ci0JfQotCi0JbnVtX2NvbW1pdHMrKzsKLQlmb3IgKGkgPSAwLCBzZyA9IGZpcnN0X3NjYXBlZ29hdChyZXZzLCBjb21taXQpOwotCSAgICAgaSA8IG51bV9zZyAmJiBzZzsKLQkgICAgIHNnID0gc2ctPm5leHQsIGkrKykgewotCQlzdHJ1Y3Qgb3JpZ2luICpwb3JpZ2luID0gc2dfb3JpZ2luW2ldOwotCQlpZiAoIXBvcmlnaW4pCi0JCQljb250aW51ZTsKLQkJaWYgKCFvcmlnaW4tPnByZXZpb3VzKSB7Ci0JCQlvcmlnaW5faW5jcmVmKHBvcmlnaW4pOwotCQkJb3JpZ2luLT5wcmV2aW91cyA9IHBvcmlnaW47Ci0JCX0KLQkJcGFzc19ibGFtZV90b19wYXJlbnQoc2IsIG9yaWdpbiwgcG9yaWdpbik7Ci0JCWlmICghb3JpZ2luLT5zdXNwZWN0cykKLQkJCWdvdG8gZmluaXNoOwotCX0KLQotCS8qCi0JICogT3B0aW9uYWxseSBmaW5kIG1vdmVzIGluIHBhcmVudHMnIGZpbGVzLgotCSAqLwotCWlmIChvcHQgJiBQSUNLQVhFX0JMQU1FX01PVkUpIHsKLQkJZmlsdGVyX3NtYWxsKHNiLCAmdG9vc21hbGwsICZvcmlnaW4tPnN1c3BlY3RzLCBibGFtZV9tb3ZlX3Njb3JlKTsKLQkJaWYgKG9yaWdpbi0+c3VzcGVjdHMpIHsKLQkJCWZvciAoaSA9IDAsIHNnID0gZmlyc3Rfc2NhcGVnb2F0KHJldnMsIGNvbW1pdCk7Ci0JCQkgICAgIGkgPCBudW1fc2cgJiYgc2c7Ci0JCQkgICAgIHNnID0gc2ctPm5leHQsIGkrKykgewotCQkJCXN0cnVjdCBvcmlnaW4gKnBvcmlnaW4gPSBzZ19vcmlnaW5baV07Ci0JCQkJaWYgKCFwb3JpZ2luKQotCQkJCQljb250aW51ZTsKLQkJCQlmaW5kX21vdmVfaW5fcGFyZW50KHNiLCAmYmxhbWV0YWlsLCAmdG9vc21hbGwsIG9yaWdpbiwgcG9yaWdpbik7Ci0JCQkJaWYgKCFvcmlnaW4tPnN1c3BlY3RzKQotCQkJCQlicmVhazsKLQkJCX0KLQkJfQotCX0KLQotCS8qCi0JICogT3B0aW9uYWxseSBmaW5kIGNvcGllcyBmcm9tIHBhcmVudHMnIGZpbGVzLgotCSAqLwotCWlmIChvcHQgJiBQSUNLQVhFX0JMQU1FX0NPUFkpIHsKLQkJaWYgKGJsYW1lX2NvcHlfc2NvcmUgPiBibGFtZV9tb3ZlX3Njb3JlKQotCQkJZmlsdGVyX3NtYWxsKHNiLCAmdG9vc21hbGwsICZvcmlnaW4tPnN1c3BlY3RzLCBibGFtZV9jb3B5X3Njb3JlKTsKLQkJZWxzZSBpZiAoYmxhbWVfY29weV9zY29yZSA8IGJsYW1lX21vdmVfc2NvcmUpIHsKLQkJCW9yaWdpbi0+c3VzcGVjdHMgPSBibGFtZV9tZXJnZShvcmlnaW4tPnN1c3BlY3RzLCB0b29zbWFsbCk7Ci0JCQl0b29zbWFsbCA9IE5VTEw7Ci0JCQlmaWx0ZXJfc21hbGwoc2IsICZ0b29zbWFsbCwgJm9yaWdpbi0+c3VzcGVjdHMsIGJsYW1lX2NvcHlfc2NvcmUpOwotCQl9Ci0JCWlmICghb3JpZ2luLT5zdXNwZWN0cykKLQkJCWdvdG8gZmluaXNoOwotCi0JCWZvciAoaSA9IDAsIHNnID0gZmlyc3Rfc2NhcGVnb2F0KHJldnMsIGNvbW1pdCk7Ci0JCSAgICAgaSA8IG51bV9zZyAmJiBzZzsKLQkJICAgICBzZyA9IHNnLT5uZXh0LCBpKyspIHsKLQkJCXN0cnVjdCBvcmlnaW4gKnBvcmlnaW4gPSBzZ19vcmlnaW5baV07Ci0JCQlmaW5kX2NvcHlfaW5fcGFyZW50KHNiLCAmYmxhbWV0YWlsLCAmdG9vc21hbGwsCi0JCQkJCSAgICBvcmlnaW4sIHNnLT5pdGVtLCBwb3JpZ2luLCBvcHQpOwotCQkJaWYgKCFvcmlnaW4tPnN1c3BlY3RzKQotCQkJCWdvdG8gZmluaXNoOwotCQl9Ci0JfQotCi1maW5pc2g6Ci0JKmJsYW1ldGFpbCA9IE5VTEw7Ci0JZGlzdHJpYnV0ZV9ibGFtZShzYiwgYmxhbWVzKTsKLQkvKgotCSAqIHByZXBlbmQgdG9vc21hbGwgdG8gb3JpZ2luLT5zdXNwZWN0cwotCSAqCi0JICogVGhlcmUgaXMgbm8gcG9pbnQgaW4gc29ydGluZzogdGhpcyBlbmRzIHVwIG9uIGEgYmlnCi0JICogdW5zb3J0ZWQgbGlzdCBpbiB0aGUgY2FsbGVyIGFueXdheS4KLQkgKi8KLQlpZiAodG9vc21hbGwpIHsKLQkJc3RydWN0IGJsYW1lX2VudHJ5ICoqdGFpbCA9ICZ0b29zbWFsbDsKLQkJd2hpbGUgKCp0YWlsKQotCQkJdGFpbCA9ICYoKnRhaWwpLT5uZXh0OwotCQkqdGFpbCA9IG9yaWdpbi0+c3VzcGVjdHM7Ci0JCW9yaWdpbi0+c3VzcGVjdHMgPSB0b29zbWFsbDsKLQl9Ci0JZm9yIChpID0gMDsgaSA8IG51bV9zZzsgaSsrKSB7Ci0JCWlmIChzZ19vcmlnaW5baV0pIHsKLQkJCWRyb3Bfb3JpZ2luX2Jsb2Ioc2dfb3JpZ2luW2ldKTsKLQkJCW9yaWdpbl9kZWNyZWYoc2dfb3JpZ2luW2ldKTsKLQkJfQotCX0KLQlkcm9wX29yaWdpbl9ibG9iKG9yaWdpbik7Ci0JaWYgKHNnX2J1ZiAhPSBzZ19vcmlnaW4pCi0JCWZyZWUoc2dfb3JpZ2luKTsKKwlyZXR1cm4gYmxhbWVfbnRoX2xpbmUoKHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICopZGF0YSwgbG5vKTsKIH0KIAogLyoKQEAgLTE1NjEsMTMgKzc5LDEzIEBACiBzdHJ1Y3QgY29tbWl0X2luZm8gewogCXN0cnVjdCBzdHJidWYgYXV0aG9yOwogCXN0cnVjdCBzdHJidWYgYXV0aG9yX21haWw7Ci0JdW5zaWduZWQgbG9uZyBhdXRob3JfdGltZTsKKwl0aW1lc3RhbXBfdCBhdXRob3JfdGltZTsKIAlzdHJ1Y3Qgc3RyYnVmIGF1dGhvcl90ejsKIAogCS8qIGZpbGxlZCBvbmx5IHdoZW4gYXNrZWQgZm9yIGRldGFpbHMgKi8KIAlzdHJ1Y3Qgc3RyYnVmIGNvbW1pdHRlcjsKIAlzdHJ1Y3Qgc3RyYnVmIGNvbW1pdHRlcl9tYWlsOwotCXVuc2lnbmVkIGxvbmcgY29tbWl0dGVyX3RpbWU7CisJdGltZXN0YW1wX3QgY29tbWl0dGVyX3RpbWU7CiAJc3RydWN0IHN0cmJ1ZiBjb21taXR0ZXJfdHo7CiAKIAlzdHJ1Y3Qgc3RyYnVmIHN1bW1hcnk7CkBAIC0xNTc4LDcgKzk2LDcgQEAKICAqLwogc3RhdGljIHZvaWQgZ2V0X2FjX2xpbmUoY29uc3QgY2hhciAqaW5idWYsIGNvbnN0IGNoYXIgKndoYXQsCiAJc3RydWN0IHN0cmJ1ZiAqbmFtZSwgc3RydWN0IHN0cmJ1ZiAqbWFpbCwKLQl1bnNpZ25lZCBsb25nICp0aW1lLCBzdHJ1Y3Qgc3RyYnVmICp0eikKKwl0aW1lc3RhbXBfdCAqdGltZSwgc3RydWN0IHN0cmJ1ZiAqdHopCiB7CiAJc3RydWN0IGlkZW50X3NwbGl0IGlkZW50OwogCXNpemVfdCBsZW4sIG1haWxsZW4sIG5hbWVsZW47CkBAIC0xNjk5LDEwICsyMTcsMTAgQEAKICAqIFRvIGFsbG93IExGIGFuZCBvdGhlciBub25wb3J0YWJsZSBjaGFyYWN0ZXJzIGluIHBhdGhuYW1lcywKICAqIHRoZXkgYXJlIGMtc3R5bGUgcXVvdGVkIGFzIG5lZWRlZC4KICAqLwotc3RhdGljIHZvaWQgd3JpdGVfZmlsZW5hbWVfaW5mbyhzdHJ1Y3Qgb3JpZ2luICpzdXNwZWN0KQorc3RhdGljIHZvaWQgd3JpdGVfZmlsZW5hbWVfaW5mbyhzdHJ1Y3QgYmxhbWVfb3JpZ2luICpzdXNwZWN0KQogewogCWlmIChzdXNwZWN0LT5wcmV2aW91cykgewotCQlzdHJ1Y3Qgb3JpZ2luICpwcmV2ID0gc3VzcGVjdC0+cHJldmlvdXM7CisJCXN0cnVjdCBibGFtZV9vcmlnaW4gKnByZXYgPSBzdXNwZWN0LT5wcmV2aW91czsKIAkJcHJpbnRmKCJwcmV2aW91cyAlcyAiLCBvaWRfdG9faGV4KCZwcmV2LT5jb21taXQtPm9iamVjdC5vaWQpKTsKIAkJd3JpdGVfbmFtZV9xdW90ZWQocHJldi0+cGF0aCwgc3Rkb3V0LCAnXG4nKTsKIAl9CkBAIC0xNzE2LDcgKzIzNCw3IEBACiAgKiB0aGUgZmlyc3QgdGltZSBlYWNoIGNvbW1pdCBhcHBlYXJzIGluIHRoZSBvdXRwdXQgKHVubGVzcyB0aGUKICAqIHVzZXIgaGFzIHNwZWNpZmljYWxseSBhc2tlZCBmb3IgdXMgdG8gcmVwZWF0KS4KICAqLwotc3RhdGljIGludCBlbWl0X29uZV9zdXNwZWN0X2RldGFpbChzdHJ1Y3Qgb3JpZ2luICpzdXNwZWN0LCBpbnQgcmVwZWF0KQorc3RhdGljIGludCBlbWl0X29uZV9zdXNwZWN0X2RldGFpbChzdHJ1Y3QgYmxhbWVfb3JpZ2luICpzdXNwZWN0LCBpbnQgcmVwZWF0KQogewogCXN0cnVjdCBjb21taXRfaW5mbyBjaTsKIApAQCAtMTcyNywxMSArMjQ1LDExIEBACiAJZ2V0X2NvbW1pdF9pbmZvKHN1c3BlY3QtPmNvbW1pdCwgJmNpLCAxKTsKIAlwcmludGYoImF1dGhvciAlc1xuIiwgY2kuYXV0aG9yLmJ1Zik7CiAJcHJpbnRmKCJhdXRob3ItbWFpbCAlc1xuIiwgY2kuYXV0aG9yX21haWwuYnVmKTsKLQlwcmludGYoImF1dGhvci10aW1lICVsdVxuIiwgY2kuYXV0aG9yX3RpbWUpOworCXByaW50ZigiYXV0aG9yLXRpbWUgJSJQUkl0aW1lIlxuIiwgY2kuYXV0aG9yX3RpbWUpOwogCXByaW50ZigiYXV0aG9yLXR6ICVzXG4iLCBjaS5hdXRob3JfdHouYnVmKTsKIAlwcmludGYoImNvbW1pdHRlciAlc1xuIiwgY2kuY29tbWl0dGVyLmJ1Zik7CiAJcHJpbnRmKCJjb21taXR0ZXItbWFpbCAlc1xuIiwgY2kuY29tbWl0dGVyX21haWwuYnVmKTsKLQlwcmludGYoImNvbW1pdHRlci10aW1lICVsdVxuIiwgY2kuY29tbWl0dGVyX3RpbWUpOworCXByaW50ZigiY29tbWl0dGVyLXRpbWUgJSJQUkl0aW1lIlxuIiwgY2kuY29tbWl0dGVyX3RpbWUpOwogCXByaW50ZigiY29tbWl0dGVyLXR6ICVzXG4iLCBjaS5jb21taXR0ZXJfdHouYnVmKTsKIAlwcmludGYoInN1bW1hcnkgJXNcbiIsIGNpLnN1bW1hcnkuYnVmKTsKIAlpZiAoc3VzcGVjdC0+Y29tbWl0LT5vYmplY3QuZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQpAQCAtMTc0NiwxMSArMjY0LDEyIEBACiAgKiBUaGUgYmxhbWVfZW50cnkgaXMgZm91bmQgdG8gYmUgZ3VpbHR5IGZvciB0aGUgcmFuZ2UuCiAgKiBTaG93IGl0IGluIGluY3JlbWVudGFsIG91dHB1dC4KICAqLwotc3RhdGljIHZvaWQgZm91bmRfZ3VpbHR5X2VudHJ5KHN0cnVjdCBibGFtZV9lbnRyeSAqZW50LAotCQkJICAgc3RydWN0IHByb2dyZXNzX2luZm8gKnBpKQorc3RhdGljIHZvaWQgZm91bmRfZ3VpbHR5X2VudHJ5KHN0cnVjdCBibGFtZV9lbnRyeSAqZW50LCB2b2lkICpkYXRhKQogeworCXN0cnVjdCBwcm9ncmVzc19pbmZvICpwaSA9IChzdHJ1Y3QgcHJvZ3Jlc3NfaW5mbyAqKWRhdGE7CisKIAlpZiAoaW5jcmVtZW50YWwpIHsKLQkJc3RydWN0IG9yaWdpbiAqc3VzcGVjdCA9IGVudC0+c3VzcGVjdDsKKwkJc3RydWN0IGJsYW1lX29yaWdpbiAqc3VzcGVjdCA9IGVudC0+c3VzcGVjdDsKIAogCQlwcmludGYoIiVzICVkICVkICVkXG4iLAogCQkgICAgICAgb2lkX3RvX2hleCgmc3VzcGVjdC0+Y29tbWl0LT5vYmplY3Qub2lkKSwKQEAgLTE3NjMsODggKzI4MiwxNCBAQAogCWRpc3BsYXlfcHJvZ3Jlc3MocGktPnByb2dyZXNzLCBwaS0+YmxhbWVkX2xpbmVzKTsKIH0KIAotLyoKLSAqIFRoZSBtYWluIGxvb3AgLS0gd2hpbGUgd2UgaGF2ZSBibG9icyB3aXRoIGxpbmVzIHdob3NlIHRydWUgb3JpZ2luCi0gKiBpcyBzdGlsbCB1bmtub3duLCBwaWNrIG9uZSBibG9iLCBhbmQgYWxsb3cgaXRzIGxpbmVzIHRvIHBhc3MgYmxhbWVzCi0gKiB0byBpdHMgcGFyZW50cy4gKi8KLXN0YXRpYyB2b2lkIGFzc2lnbl9ibGFtZShzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IsIGludCBvcHQpCi17Ci0Jc3RydWN0IHJldl9pbmZvICpyZXZzID0gc2ItPnJldnM7Ci0Jc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gcHJpb19xdWV1ZV9nZXQoJnNiLT5jb21taXRzKTsKLQlzdHJ1Y3QgcHJvZ3Jlc3NfaW5mbyBwaSA9IHsgTlVMTCwgMCB9OwotCi0JaWYgKHNob3dfcHJvZ3Jlc3MpCi0JCXBpLnByb2dyZXNzID0gc3RhcnRfcHJvZ3Jlc3NfZGVsYXkoXygiQmxhbWluZyBsaW5lcyIpLAotCQkJCQkJICAgc2ItPm51bV9saW5lcywgNTAsIDEpOwotCi0Jd2hpbGUgKGNvbW1pdCkgewotCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKLQkJc3RydWN0IG9yaWdpbiAqc3VzcGVjdCA9IGNvbW1pdC0+dXRpbDsKLQotCQkvKiBmaW5kIG9uZSBzdXNwZWN0IHRvIGJyZWFrIGRvd24gKi8KLQkJd2hpbGUgKHN1c3BlY3QgJiYgIXN1c3BlY3QtPnN1c3BlY3RzKQotCQkJc3VzcGVjdCA9IHN1c3BlY3QtPm5leHQ7Ci0KLQkJaWYgKCFzdXNwZWN0KSB7Ci0JCQljb21taXQgPSBwcmlvX3F1ZXVlX2dldCgmc2ItPmNvbW1pdHMpOwotCQkJY29udGludWU7Ci0JCX0KLQotCQlhc3NlcnQoY29tbWl0ID09IHN1c3BlY3QtPmNvbW1pdCk7Ci0KLQkJLyoKLQkJICogV2Ugd2lsbCB1c2UgdGhpcyBzdXNwZWN0IGxhdGVyIGluIHRoZSBsb29wLAotCQkgKiBzbyBob2xkIG9udG8gaXQgaW4gdGhlIG1lYW50aW1lLgotCQkgKi8KLQkJb3JpZ2luX2luY3JlZihzdXNwZWN0KTsKLQkJcGFyc2VfY29tbWl0KGNvbW1pdCk7Ci0JCWlmIChyZXZlcnNlIHx8Ci0JCSAgICAoIShjb21taXQtPm9iamVjdC5mbGFncyAmIFVOSU5URVJFU1RJTkcpICYmCi0JCSAgICAgIShyZXZzLT5tYXhfYWdlICE9IC0xICYmIGNvbW1pdC0+ZGF0ZSA8IHJldnMtPm1heF9hZ2UpKSkKLQkJCXBhc3NfYmxhbWUoc2IsIHN1c3BlY3QsIG9wdCk7Ci0JCWVsc2UgewotCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKLQkJCWlmIChjb21taXQtPm9iamVjdC5wYXJzZWQpCi0JCQkJbWFya19wYXJlbnRzX3VuaW50ZXJlc3RpbmcoY29tbWl0KTsKLQkJfQotCQkvKiB0cmVhdCByb290IGNvbW1pdCBhcyBib3VuZGFyeSAqLwotCQlpZiAoIWNvbW1pdC0+cGFyZW50cyAmJiAhc2hvd19yb290KQotCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKLQotCQkvKiBUYWtlIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgcmVtYWluaW5nIGVudHJpZXMgKi8KLQkJZW50ID0gc3VzcGVjdC0+c3VzcGVjdHM7Ci0JCWlmIChlbnQpIHsKLQkJCXN1c3BlY3QtPmd1aWx0eSA9IDE7Ci0JCQlmb3IgKDs7KSB7Ci0JCQkJc3RydWN0IGJsYW1lX2VudHJ5ICpuZXh0ID0gZW50LT5uZXh0OwotCQkJCWZvdW5kX2d1aWx0eV9lbnRyeShlbnQsICZwaSk7Ci0JCQkJaWYgKG5leHQpIHsKLQkJCQkJZW50ID0gbmV4dDsKLQkJCQkJY29udGludWU7Ci0JCQkJfQotCQkJCWVudC0+bmV4dCA9IHNiLT5lbnQ7Ci0JCQkJc2ItPmVudCA9IHN1c3BlY3QtPnN1c3BlY3RzOwotCQkJCXN1c3BlY3QtPnN1c3BlY3RzID0gTlVMTDsKLQkJCQlicmVhazsKLQkJCX0KLQkJfQotCQlvcmlnaW5fZGVjcmVmKHN1c3BlY3QpOwotCi0JCWlmIChERUJVRykgLyogc2FuaXR5ICovCi0JCQlzYW5pdHlfY2hlY2tfcmVmY250KHNiKTsKLQl9Ci0KLQlzdG9wX3Byb2dyZXNzKCZwaS5wcm9ncmVzcyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICpmb3JtYXRfdGltZSh1bnNpZ25lZCBsb25nIHRpbWUsIGNvbnN0IGNoYXIgKnR6X3N0ciwKK3N0YXRpYyBjb25zdCBjaGFyICpmb3JtYXRfdGltZSh0aW1lc3RhbXBfdCB0aW1lLCBjb25zdCBjaGFyICp0el9zdHIsCiAJCQkgICAgICAgaW50IHNob3dfcmF3X3RpbWUpCiB7CiAJc3RhdGljIHN0cnVjdCBzdHJidWYgdGltZV9idWYgPSBTVFJCVUZfSU5JVDsKIAogCXN0cmJ1Zl9yZXNldCgmdGltZV9idWYpOwogCWlmIChzaG93X3Jhd190aW1lKSB7Ci0JCXN0cmJ1Zl9hZGRmKCZ0aW1lX2J1ZiwgIiVsdSAlcyIsIHRpbWUsIHR6X3N0cik7CisJCXN0cmJ1Zl9hZGRmKCZ0aW1lX2J1ZiwgIiUiUFJJdGltZSIgJXMiLCB0aW1lLCB0el9zdHIpOwogCX0KIAllbHNlIHsKIAkJY29uc3QgY2hhciAqdGltZV9zdHI7CkBAIC0xODc2LDIxICszMjEsMjEgQEAKICNkZWZpbmUgT1VUUFVUX1NIT1dfRU1BSUwJMDQwMAogI2RlZmluZSBPVVRQVVRfTElORV9QT1JDRUxBSU4gMDEwMDAKIAotc3RhdGljIHZvaWQgZW1pdF9wb3JjZWxhaW5fZGV0YWlscyhzdHJ1Y3Qgb3JpZ2luICpzdXNwZWN0LCBpbnQgcmVwZWF0KQorc3RhdGljIHZvaWQgZW1pdF9wb3JjZWxhaW5fZGV0YWlscyhzdHJ1Y3QgYmxhbWVfb3JpZ2luICpzdXNwZWN0LCBpbnQgcmVwZWF0KQogewogCWlmIChlbWl0X29uZV9zdXNwZWN0X2RldGFpbChzdXNwZWN0LCByZXBlYXQpIHx8CiAJICAgIChzdXNwZWN0LT5jb21taXQtPm9iamVjdC5mbGFncyAmIE1PUkVfVEhBTl9PTkVfUEFUSCkpCiAJCXdyaXRlX2ZpbGVuYW1lX2luZm8oc3VzcGVjdCk7CiB9CiAKLXN0YXRpYyB2b2lkIGVtaXRfcG9yY2VsYWluKHN0cnVjdCBzY29yZWJvYXJkICpzYiwgc3RydWN0IGJsYW1lX2VudHJ5ICplbnQsCitzdGF0aWMgdm9pZCBlbWl0X3BvcmNlbGFpbihzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IsIHN0cnVjdCBibGFtZV9lbnRyeSAqZW50LAogCQkJICAgaW50IG9wdCkKIHsKIAlpbnQgcmVwZWF0ID0gb3B0ICYgT1VUUFVUX0xJTkVfUE9SQ0VMQUlOOwogCWludCBjbnQ7CiAJY29uc3QgY2hhciAqY3A7Ci0Jc3RydWN0IG9yaWdpbiAqc3VzcGVjdCA9IGVudC0+c3VzcGVjdDsKLQljaGFyIGhleFtHSVRfU0hBMV9IRVhTWiArIDFdOworCXN0cnVjdCBibGFtZV9vcmlnaW4gKnN1c3BlY3QgPSBlbnQtPnN1c3BlY3Q7CisJY2hhciBoZXhbR0lUX01BWF9IRVhTWiArIDFdOwogCiAJb2lkX3RvX2hleF9yKGhleCwgJnN1c3BlY3QtPmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAJcHJpbnRmKCIlcyAlZCAlZCAlZFxuIiwKQEAgLTE5MDAsNyArMzQ1LDcgQEAKIAkgICAgICAgZW50LT5udW1fbGluZXMpOwogCWVtaXRfcG9yY2VsYWluX2RldGFpbHMoc3VzcGVjdCwgcmVwZWF0KTsKIAotCWNwID0gbnRoX2xpbmUoc2IsIGVudC0+bG5vKTsKKwljcCA9IGJsYW1lX250aF9saW5lKHNiLCBlbnQtPmxubyk7CiAJZm9yIChjbnQgPSAwOyBjbnQgPCBlbnQtPm51bV9saW5lczsgY250KyspIHsKIAkJY2hhciBjaDsKIAkJaWYgKGNudCkgewpAQCAtMTkyMiwxOSArMzY3LDE5IEBACiAJCXB1dGNoYXIoJ1xuJyk7CiB9CiAKLXN0YXRpYyB2b2lkIGVtaXRfb3RoZXIoc3RydWN0IHNjb3JlYm9hcmQgKnNiLCBzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudCwgaW50IG9wdCkKK3N0YXRpYyB2b2lkIGVtaXRfb3RoZXIoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLCBzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudCwgaW50IG9wdCkKIHsKIAlpbnQgY250OwogCWNvbnN0IGNoYXIgKmNwOwotCXN0cnVjdCBvcmlnaW4gKnN1c3BlY3QgPSBlbnQtPnN1c3BlY3Q7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqc3VzcGVjdCA9IGVudC0+c3VzcGVjdDsKIAlzdHJ1Y3QgY29tbWl0X2luZm8gY2k7Ci0JY2hhciBoZXhbR0lUX1NIQTFfSEVYU1ogKyAxXTsKKwljaGFyIGhleFtHSVRfTUFYX0hFWFNaICsgMV07CiAJaW50IHNob3dfcmF3X3RpbWUgPSAhIShvcHQgJiBPVVRQVVRfUkFXX1RJTUVTVEFNUCk7CiAKIAlnZXRfY29tbWl0X2luZm8oc3VzcGVjdC0+Y29tbWl0LCAmY2ksIDEpOwogCW9pZF90b19oZXhfcihoZXgsICZzdXNwZWN0LT5jb21taXQtPm9iamVjdC5vaWQpOwogCi0JY3AgPSBudGhfbGluZShzYiwgZW50LT5sbm8pOworCWNwID0gYmxhbWVfbnRoX2xpbmUoc2IsIGVudC0+bG5vKTsKIAlmb3IgKGNudCA9IDA7IGNudCA8IGVudC0+bnVtX2xpbmVzOyBjbnQrKykgewogCQljaGFyIGNoOwogCQlpbnQgbGVuZ3RoID0gKG9wdCAmIE9VVFBVVF9MT05HX09CSkVDVF9OQU1FKSA/IEdJVF9TSEExX0hFWFNaIDogYWJicmV2OwpAQCAtMjAwMSwxNCArNDQ2LDE0IEBACiAJY29tbWl0X2luZm9fZGVzdHJveSgmY2kpOwogfQogCi1zdGF0aWMgdm9pZCBvdXRwdXQoc3RydWN0IHNjb3JlYm9hcmQgKnNiLCBpbnQgb3B0aW9uKQorc3RhdGljIHZvaWQgb3V0cHV0KHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYiwgaW50IG9wdGlvbikKIHsKIAlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKIAogCWlmIChvcHRpb24gJiBPVVRQVVRfUE9SQ0VMQUlOKSB7CiAJCWZvciAoZW50ID0gc2ItPmVudDsgZW50OyBlbnQgPSBlbnQtPm5leHQpIHsKIAkJCWludCBjb3VudCA9IDA7Ci0JCQlzdHJ1Y3Qgb3JpZ2luICpzdXNwZWN0OworCQkJc3RydWN0IGJsYW1lX29yaWdpbiAqc3VzcGVjdDsKIAkJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGVudC0+c3VzcGVjdC0+Y29tbWl0OwogCQkJaWYgKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgTU9SRV9USEFOX09ORV9QQVRIKQogCQkJCWNvbnRpbnVlOwpAQCAtMjAzMCw0MCArNDc1LDYgQEAKIAl9CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyICpnZXRfbmV4dF9saW5lKGNvbnN0IGNoYXIgKnN0YXJ0LCBjb25zdCBjaGFyICplbmQpCi17Ci0JY29uc3QgY2hhciAqbmwgPSBtZW1jaHIoc3RhcnQsICdcbicsIGVuZCAtIHN0YXJ0KTsKLQlyZXR1cm4gbmwgPyBubCArIDEgOiBlbmQ7Ci19Ci0KLS8qCi0gKiBUbyBhbGxvdyBxdWljayBhY2Nlc3MgdG8gdGhlIGNvbnRlbnRzIG9mIG50aCBsaW5lIGluIHRoZQotICogZmluYWwgaW1hZ2UsIHByZXBhcmUgYW4gaW5kZXggaW4gdGhlIHNjb3JlYm9hcmQuCi0gKi8KLXN0YXRpYyBpbnQgcHJlcGFyZV9saW5lcyhzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IpCi17Ci0JY29uc3QgY2hhciAqYnVmID0gc2ItPmZpbmFsX2J1ZjsKLQl1bnNpZ25lZCBsb25nIGxlbiA9IHNiLT5maW5hbF9idWZfc2l6ZTsKLQljb25zdCBjaGFyICplbmQgPSBidWYgKyBsZW47Ci0JY29uc3QgY2hhciAqcDsKLQlpbnQgKmxpbmVubzsKLQlpbnQgbnVtID0gMDsKLQotCWZvciAocCA9IGJ1ZjsgcCA8IGVuZDsgcCA9IGdldF9uZXh0X2xpbmUocCwgZW5kKSkKLQkJbnVtKys7Ci0KLQlBTExPQ19BUlJBWShzYi0+bGluZW5vLCBudW0gKyAxKTsKLQlsaW5lbm8gPSBzYi0+bGluZW5vOwotCi0JZm9yIChwID0gYnVmOyBwIDwgZW5kOyBwID0gZ2V0X25leHRfbGluZShwLCBlbmQpKQotCQkqbGluZW5vKysgPSBwIC0gYnVmOwotCi0JKmxpbmVubyA9IGxlbjsKLQotCXNiLT5udW1fbGluZXMgPSBudW07Ci0JcmV0dXJuIHNiLT5udW1fbGluZXM7Ci19Ci0KIC8qCiAgKiBBZGQgcGhvbnkgZ3JhZnRzIGZvciB1c2Ugd2l0aCAtUzsgdGhpcyBpcyBwcmltYXJpbHkgdG8KICAqIHN1cHBvcnQgZ2l0J3MgY3Zzc2VydmVyIHRoYXQgd2FudHMgdG8gZ2l2ZSBhIGxpbmVhciBoaXN0b3J5CkBAIC0yMDcxLDEzICs0ODIsMTMgQEAKICAqLwogc3RhdGljIGludCByZWFkX2FuY2VzdHJ5KGNvbnN0IGNoYXIgKmdyYWZ0X2ZpbGUpCiB7Ci0JRklMRSAqZnAgPSBmb3BlbihncmFmdF9maWxlLCAiciIpOworCUZJTEUgKmZwID0gZm9wZW5fb3Jfd2FybihncmFmdF9maWxlLCAiciIpOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJaWYgKCFmcCkKIAkJcmV0dXJuIC0xOwogCXdoaWxlICghc3RyYnVmX2dldHdob2xlbGluZSgmYnVmLCBmcCwgJ1xuJykpIHsKIAkJLyogVGhlIGZvcm1hdCBpcyBqdXN0ICJDb21taXQgUGFyZW50MSBQYXJlbnQyIC4uLlxuIiAqLwotCQlzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdCA9IHJlYWRfZ3JhZnRfbGluZShidWYuYnVmLCBidWYubGVuKTsKKwkJc3RydWN0IGNvbW1pdF9ncmFmdCAqZ3JhZnQgPSByZWFkX2dyYWZ0X2xpbmUoJmJ1Zik7CiAJCWlmIChncmFmdCkKIAkJCXJlZ2lzdGVyX2NvbW1pdF9ncmFmdChncmFmdCwgMCk7CiAJfQpAQCAtMjA4Niw3ICs0OTcsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHVwZGF0ZV9hdXRvX2FiYnJldihpbnQgYXV0b19hYmJyZXYsIHN0cnVjdCBvcmlnaW4gKnN1c3BlY3QpCitzdGF0aWMgaW50IHVwZGF0ZV9hdXRvX2FiYnJldihpbnQgYXV0b19hYmJyZXYsIHN0cnVjdCBibGFtZV9vcmlnaW4gKnN1c3BlY3QpCiB7CiAJY29uc3QgY2hhciAqdW5pcSA9IGZpbmRfdW5pcXVlX2FiYnJldihzdXNwZWN0LT5jb21taXQtPm9iamVjdC5vaWQuaGFzaCwKIAkJCQkJICAgICAgYXV0b19hYmJyZXYpOwpAQCAtMjEwMCw3ICs1MTEsNyBAQAogICogSG93IG1hbnkgY29sdW1ucyBkbyB3ZSBuZWVkIHRvIHNob3cgbGluZSBudW1iZXJzLCBhdXRob3JzLAogICogYW5kIGZpbGVuYW1lcz8KICAqLwotc3RhdGljIHZvaWQgZmluZF9hbGlnbm1lbnQoc3RydWN0IHNjb3JlYm9hcmQgKnNiLCBpbnQgKm9wdGlvbikKK3N0YXRpYyB2b2lkIGZpbmRfYWxpZ25tZW50KHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYiwgaW50ICpvcHRpb24pCiB7CiAJaW50IGxvbmdlc3Rfc3JjX2xpbmVzID0gMDsKIAlpbnQgbG9uZ2VzdF9kc3RfbGluZXMgPSAwOwpAQCAtMjExMCw3ICs1MjEsNyBAQAogCWludCBhdXRvX2FiYnJldiA9IERFRkFVTFRfQUJCUkVWOwogCiAJZm9yIChlID0gc2ItPmVudDsgZTsgZSA9IGUtPm5leHQpIHsKLQkJc3RydWN0IG9yaWdpbiAqc3VzcGVjdCA9IGUtPnN1c3BlY3Q7CisJCXN0cnVjdCBibGFtZV9vcmlnaW4gKnN1c3BlY3QgPSBlLT5zdXNwZWN0OwogCQlpbnQgbnVtOwogCiAJCWlmIChjb21wdXRlX2F1dG9fYWJicmV2KQpAQCAtMjEzOCw4ICs1NDksOCBAQAogCQludW0gPSBlLT5sbm8gKyBlLT5udW1fbGluZXM7CiAJCWlmIChsb25nZXN0X2RzdF9saW5lcyA8IG51bSkKIAkJCWxvbmdlc3RfZHN0X2xpbmVzID0gbnVtOwotCQlpZiAobGFyZ2VzdF9zY29yZSA8IGVudF9zY29yZShzYiwgZSkpCi0JCQlsYXJnZXN0X3Njb3JlID0gZW50X3Njb3JlKHNiLCBlKTsKKwkJaWYgKGxhcmdlc3Rfc2NvcmUgPCBibGFtZV9lbnRyeV9zY29yZShzYiwgZSkpCisJCQlsYXJnZXN0X3Njb3JlID0gYmxhbWVfZW50cnlfc2NvcmUoc2IsIGUpOwogCX0KIAltYXhfb3JpZ19kaWdpdHMgPSBkZWNpbWFsX3dpZHRoKGxvbmdlc3Rfc3JjX2xpbmVzKTsKIAltYXhfZGlnaXRzID0gZGVjaW1hbF93aWR0aChsb25nZXN0X2RzdF9saW5lcyk7CkBAIC0yMTUwLDMxICs1NjEsMTIgQEAKIAkJYWJicmV2ID0gYXV0b19hYmJyZXYgKyAxOwogfQogCi0vKgotICogRm9yIGRlYnVnZ2luZyAtLSBvcmlnaW4gaXMgcmVmY291bnRlZCwgYW5kIHRoaXMgYXNzZXJ0cyB0aGF0Ci0gKiB3ZSBkbyBub3QgdW5kZXJmbG93LgotICovCi1zdGF0aWMgdm9pZCBzYW5pdHlfY2hlY2tfcmVmY250KHN0cnVjdCBzY29yZWJvYXJkICpzYikKK3N0YXRpYyB2b2lkIHNhbml0eV9jaGVja19vbl9mYWlsKHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYiwgaW50IGJhYSkKIHsKLQlpbnQgYmFhID0gMDsKLQlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKLQotCWZvciAoZW50ID0gc2ItPmVudDsgZW50OyBlbnQgPSBlbnQtPm5leHQpIHsKLQkJLyogTm9ib2R5IHNob3VsZCBoYXZlIHplcm8gb3IgbmVnYXRpdmUgcmVmY250ICovCi0JCWlmIChlbnQtPnN1c3BlY3QtPnJlZmNudCA8PSAwKSB7Ci0JCQlmcHJpbnRmKHN0ZGVyciwgIiVzIGluICVzIGhhcyBuZWdhdGl2ZSByZWZjbnQgJWRcbiIsCi0JCQkJZW50LT5zdXNwZWN0LT5wYXRoLAotCQkJCW9pZF90b19oZXgoJmVudC0+c3VzcGVjdC0+Y29tbWl0LT5vYmplY3Qub2lkKSwKLQkJCQllbnQtPnN1c3BlY3QtPnJlZmNudCk7Ci0JCQliYWEgPSAxOwotCQl9Ci0JfQotCWlmIChiYWEpIHsKLQkJaW50IG9wdCA9IDAxNjA7Ci0JCWZpbmRfYWxpZ25tZW50KHNiLCAmb3B0KTsKLQkJb3V0cHV0KHNiLCBvcHQpOwotCQlkaWUoIkJhYSAlZCEiLCBiYWEpOwotCX0KKwlpbnQgb3B0ID0gT1VUUFVUX1NIT1dfU0NPUkUgfCBPVVRQVVRfU0hPV19OVU1CRVIgfCBPVVRQVVRfU0hPV19OQU1FOworCWZpbmRfYWxpZ25tZW50KHNiLCAmb3B0KTsKKwlvdXRwdXQoc2IsIG9wdCk7CisJZGllKCJCYWEgJWQhIiwgYmFhKTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIHBhcnNlX3Njb3JlKGNvbnN0IGNoYXIgKmFyZykKQEAgLTIyMjQsMzAxICs2MTYsNiBAQAogCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogfQogCi1zdGF0aWMgdm9pZCB2ZXJpZnlfd29ya2luZ190cmVlX3BhdGgoc3RydWN0IGNvbW1pdCAqd29ya190cmVlLCBjb25zdCBjaGFyICpwYXRoKQotewotCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50czsKLQlpbnQgcG9zOwotCi0JZm9yIChwYXJlbnRzID0gd29ya190cmVlLT5wYXJlbnRzOyBwYXJlbnRzOyBwYXJlbnRzID0gcGFyZW50cy0+bmV4dCkgewotCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXRfb2lkID0gJnBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQ7Ci0JCXN0cnVjdCBvYmplY3RfaWQgYmxvYl9vaWQ7Ci0JCXVuc2lnbmVkIG1vZGU7Ci0KLQkJaWYgKCFnZXRfdHJlZV9lbnRyeShjb21taXRfb2lkLT5oYXNoLCBwYXRoLCBibG9iX29pZC5oYXNoLCAmbW9kZSkgJiYKLQkJICAgIHNoYTFfb2JqZWN0X2luZm8oYmxvYl9vaWQuaGFzaCwgTlVMTCkgPT0gT0JKX0JMT0IpCi0JCQlyZXR1cm47Ci0JfQotCi0JcG9zID0gY2FjaGVfbmFtZV9wb3MocGF0aCwgc3RybGVuKHBhdGgpKTsKLQlpZiAocG9zID49IDApCi0JCTsgLyogcGF0aCBpcyBpbiB0aGUgaW5kZXggKi8KLQllbHNlIGlmICgtMSAtIHBvcyA8IGFjdGl2ZV9uciAmJgotCQkgIXN0cmNtcChhY3RpdmVfY2FjaGVbLTEgLSBwb3NdLT5uYW1lLCBwYXRoKSkKLQkJOyAvKiBwYXRoIGlzIGluIHRoZSBpbmRleCwgdW5tZXJnZWQgKi8KLQllbHNlCi0JCWRpZSgibm8gc3VjaCBwYXRoICclcycgaW4gSEVBRCIsIHBhdGgpOwotfQotCi1zdGF0aWMgc3RydWN0IGNvbW1pdF9saXN0ICoqYXBwZW5kX3BhcmVudChzdHJ1Y3QgY29tbWl0X2xpc3QgKip0YWlsLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCi17Ci0Jc3RydWN0IGNvbW1pdCAqcGFyZW50OwotCi0JcGFyZW50ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uob2lkLT5oYXNoKTsKLQlpZiAoIXBhcmVudCkKLQkJZGllKCJubyBzdWNoIGNvbW1pdCAlcyIsIG9pZF90b19oZXgob2lkKSk7Ci0JcmV0dXJuICZjb21taXRfbGlzdF9pbnNlcnQocGFyZW50LCB0YWlsKS0+bmV4dDsKLX0KLQotc3RhdGljIHZvaWQgYXBwZW5kX21lcmdlX3BhcmVudHMoc3RydWN0IGNvbW1pdF9saXN0ICoqdGFpbCkKLXsKLQlpbnQgbWVyZ2VfaGVhZDsKLQlzdHJ1Y3Qgc3RyYnVmIGxpbmUgPSBTVFJCVUZfSU5JVDsKLQotCW1lcmdlX2hlYWQgPSBvcGVuKGdpdF9wYXRoX21lcmdlX2hlYWQoKSwgT19SRE9OTFkpOwotCWlmIChtZXJnZV9oZWFkIDwgMCkgewotCQlpZiAoZXJybm8gPT0gRU5PRU5UKQotCQkJcmV0dXJuOwotCQlkaWUoImNhbm5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciLCBnaXRfcGF0aF9tZXJnZV9oZWFkKCkpOwotCX0KLQotCXdoaWxlICghc3RyYnVmX2dldHdob2xlbGluZV9mZCgmbGluZSwgbWVyZ2VfaGVhZCwgJ1xuJykpIHsKLQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JCWlmIChsaW5lLmxlbiA8IEdJVF9TSEExX0hFWFNaIHx8IGdldF9vaWRfaGV4KGxpbmUuYnVmLCAmb2lkKSkKLQkJCWRpZSgidW5rbm93biBsaW5lIGluICclcyc6ICVzIiwgZ2l0X3BhdGhfbWVyZ2VfaGVhZCgpLCBsaW5lLmJ1Zik7Ci0JCXRhaWwgPSBhcHBlbmRfcGFyZW50KHRhaWwsICZvaWQpOwotCX0KLQljbG9zZShtZXJnZV9oZWFkKTsKLQlzdHJidWZfcmVsZWFzZSgmbGluZSk7Ci19Ci0KLS8qCi0gKiBUaGlzIGlzbid0IGFzIHNpbXBsZSBhcyBwYXNzaW5nIHNiLT5idWYgYW5kIHNiLT5sZW4sIGJlY2F1c2Ugd2UKLSAqIHdhbnQgdG8gdHJhbnNmZXIgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIgdG8gdGhlIGNvbW1pdCAoc28gd2UKLSAqIG11c3QgdXNlIGRldGFjaCkuCi0gKi8KLXN0YXRpYyB2b2lkIHNldF9jb21taXRfYnVmZmVyX2Zyb21fc3RyYnVmKHN0cnVjdCBjb21taXQgKmMsIHN0cnVjdCBzdHJidWYgKnNiKQotewotCXNpemVfdCBsZW47Ci0Jdm9pZCAqYnVmID0gc3RyYnVmX2RldGFjaChzYiwgJmxlbik7Ci0Jc2V0X2NvbW1pdF9idWZmZXIoYywgYnVmLCBsZW4pOwotfQotCi0vKgotICogUHJlcGFyZSBhIGR1bW15IGNvbW1pdCB0aGF0IHJlcHJlc2VudHMgdGhlIHdvcmsgdHJlZSAob3Igc3RhZ2VkKSBpdGVtLgotICogTm90ZSB0aGF0IGFubm90YXRpbmcgd29yayB0cmVlIGl0ZW0gbmV2ZXIgd29ya3MgaW4gdGhlIHJldmVyc2UuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY29tbWl0ICpmYWtlX3dvcmtpbmdfdHJlZV9jb21taXQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0LAotCQkJCQkgICAgICAgY29uc3QgY2hhciAqcGF0aCwKLQkJCQkJICAgICAgIGNvbnN0IGNoYXIgKmNvbnRlbnRzX2Zyb20pCi17Ci0Jc3RydWN0IGNvbW1pdCAqY29tbWl0OwotCXN0cnVjdCBvcmlnaW4gKm9yaWdpbjsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKipwYXJlbnRfdGFpbCwgKnBhcmVudDsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWRfb2lkOwotCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JY29uc3QgY2hhciAqaWRlbnQ7Ci0JdGltZV90IG5vdzsKLQlpbnQgc2l6ZSwgbGVuOwotCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7Ci0JdW5zaWduZWQgbW9kZTsKLQlzdHJ1Y3Qgc3RyYnVmIG1zZyA9IFNUUkJVRl9JTklUOwotCi0JcmVhZF9jYWNoZSgpOwotCXRpbWUoJm5vdyk7Ci0JY29tbWl0ID0gYWxsb2NfY29tbWl0X25vZGUoKTsKLQljb21taXQtPm9iamVjdC5wYXJzZWQgPSAxOwotCWNvbW1pdC0+ZGF0ZSA9IG5vdzsKLQlwYXJlbnRfdGFpbCA9ICZjb21taXQtPnBhcmVudHM7Ci0KLQlpZiAoIXJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsIGhlYWRfb2lkLmhhc2gsIE5VTEwpKQotCQlkaWUoIm5vIHN1Y2ggcmVmOiBIRUFEIik7Ci0KLQlwYXJlbnRfdGFpbCA9IGFwcGVuZF9wYXJlbnQocGFyZW50X3RhaWwsICZoZWFkX29pZCk7Ci0JYXBwZW5kX21lcmdlX3BhcmVudHMocGFyZW50X3RhaWwpOwotCXZlcmlmeV93b3JraW5nX3RyZWVfcGF0aChjb21taXQsIHBhdGgpOwotCi0Jb3JpZ2luID0gbWFrZV9vcmlnaW4oY29tbWl0LCBwYXRoKTsKLQotCWlkZW50ID0gZm10X2lkZW50KCJOb3QgQ29tbWl0dGVkIFlldCIsICJub3QuY29tbWl0dGVkLnlldCIsIE5VTEwsIDApOwotCXN0cmJ1Zl9hZGRzdHIoJm1zZywgInRyZWUgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMFxuIik7Ci0JZm9yIChwYXJlbnQgPSBjb21taXQtPnBhcmVudHM7IHBhcmVudDsgcGFyZW50ID0gcGFyZW50LT5uZXh0KQotCQlzdHJidWZfYWRkZigmbXNnLCAicGFyZW50ICVzXG4iLAotCQkJICAgIG9pZF90b19oZXgoJnBhcmVudC0+aXRlbS0+b2JqZWN0Lm9pZCkpOwotCXN0cmJ1Zl9hZGRmKCZtc2csCi0JCSAgICAiYXV0aG9yICVzXG4iCi0JCSAgICAiY29tbWl0dGVyICVzXG5cbiIKLQkJICAgICJWZXJzaW9uIG9mICVzIGZyb20gJXNcbiIsCi0JCSAgICBpZGVudCwgaWRlbnQsIHBhdGgsCi0JCSAgICAoIWNvbnRlbnRzX2Zyb20gPyBwYXRoIDoKLQkJICAgICAoIXN0cmNtcChjb250ZW50c19mcm9tLCAiLSIpID8gInN0YW5kYXJkIGlucHV0IiA6IGNvbnRlbnRzX2Zyb20pKSk7Ci0Jc2V0X2NvbW1pdF9idWZmZXJfZnJvbV9zdHJidWYoY29tbWl0LCAmbXNnKTsKLQotCWlmICghY29udGVudHNfZnJvbSB8fCBzdHJjbXAoIi0iLCBjb250ZW50c19mcm9tKSkgewotCQlzdHJ1Y3Qgc3RhdCBzdDsKLQkJY29uc3QgY2hhciAqcmVhZF9mcm9tOwotCQljaGFyICpidWZfcHRyOwotCQl1bnNpZ25lZCBsb25nIGJ1Zl9sZW47Ci0KLQkJaWYgKGNvbnRlbnRzX2Zyb20pIHsKLQkJCWlmIChzdGF0KGNvbnRlbnRzX2Zyb20sICZzdCkgPCAwKQotCQkJCWRpZV9lcnJubygiQ2Fubm90IHN0YXQgJyVzJyIsIGNvbnRlbnRzX2Zyb20pOwotCQkJcmVhZF9mcm9tID0gY29udGVudHNfZnJvbTsKLQkJfQotCQllbHNlIHsKLQkJCWlmIChsc3RhdChwYXRoLCAmc3QpIDwgMCkKLQkJCQlkaWVfZXJybm8oIkNhbm5vdCBsc3RhdCAnJXMnIiwgcGF0aCk7Ci0JCQlyZWFkX2Zyb20gPSBwYXRoOwotCQl9Ci0JCW1vZGUgPSBjYW5vbl9tb2RlKHN0LnN0X21vZGUpOwotCi0JCXN3aXRjaCAoc3Quc3RfbW9kZSAmIFNfSUZNVCkgewotCQljYXNlIFNfSUZSRUc6Ci0JCQlpZiAoRElGRl9PUFRfVFNUKG9wdCwgQUxMT1dfVEVYVENPTlYpICYmCi0JCQkgICAgdGV4dGNvbnZfb2JqZWN0KHJlYWRfZnJvbSwgbW9kZSwgJm51bGxfb2lkLCAwLCAmYnVmX3B0ciwgJmJ1Zl9sZW4pKQotCQkJCXN0cmJ1Zl9hdHRhY2goJmJ1ZiwgYnVmX3B0ciwgYnVmX2xlbiwgYnVmX2xlbiArIDEpOwotCQkJZWxzZSBpZiAoc3RyYnVmX3JlYWRfZmlsZSgmYnVmLCByZWFkX2Zyb20sIHN0LnN0X3NpemUpICE9IHN0LnN0X3NpemUpCi0JCQkJZGllX2Vycm5vKCJjYW5ub3Qgb3BlbiBvciByZWFkICclcyciLCByZWFkX2Zyb20pOwotCQkJYnJlYWs7Ci0JCWNhc2UgU19JRkxOSzoKLQkJCWlmIChzdHJidWZfcmVhZGxpbmsoJmJ1ZiwgcmVhZF9mcm9tLCBzdC5zdF9zaXplKSA8IDApCi0JCQkJZGllX2Vycm5vKCJjYW5ub3QgcmVhZGxpbmsgJyVzJyIsIHJlYWRfZnJvbSk7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCWRpZSgidW5zdXBwb3J0ZWQgZmlsZSB0eXBlICVzIiwgcmVhZF9mcm9tKTsKLQkJfQotCX0KLQllbHNlIHsKLQkJLyogUmVhZGluZyBmcm9tIHN0ZGluICovCi0JCW1vZGUgPSAwOwotCQlpZiAoc3RyYnVmX3JlYWQoJmJ1ZiwgMCwgMCkgPCAwKQotCQkJZGllX2Vycm5vKCJmYWlsZWQgdG8gcmVhZCBmcm9tIHN0ZGluIik7Ci0JfQotCWNvbnZlcnRfdG9fZ2l0KHBhdGgsIGJ1Zi5idWYsIGJ1Zi5sZW4sICZidWYsIDApOwotCW9yaWdpbi0+ZmlsZS5wdHIgPSBidWYuYnVmOwotCW9yaWdpbi0+ZmlsZS5zaXplID0gYnVmLmxlbjsKLQlwcmV0ZW5kX3NoYTFfZmlsZShidWYuYnVmLCBidWYubGVuLCBPQkpfQkxPQiwgb3JpZ2luLT5ibG9iX29pZC5oYXNoKTsKLQotCS8qCi0JICogUmVhZCB0aGUgY3VycmVudCBpbmRleCwgcmVwbGFjZSB0aGUgcGF0aCBlbnRyeSB3aXRoCi0JICogb3JpZ2luLT5ibG9iX3NoYTEgd2l0aG91dCBtdWNraW5nIHdpdGggaXRzIG1vZGUgb3IgdHlwZQotCSAqIGJpdHM7IHdlIGFyZSBub3QgZ29pbmcgdG8gd3JpdGUgdGhpcyBpbmRleCBvdXQgLS0gd2UganVzdAotCSAqIHdhbnQgdG8gcnVuICJkaWZmLWluZGV4IC0tY2FjaGVkIi4KLQkgKi8KLQlkaXNjYXJkX2NhY2hlKCk7Ci0JcmVhZF9jYWNoZSgpOwotCi0JbGVuID0gc3RybGVuKHBhdGgpOwotCWlmICghbW9kZSkgewotCQlpbnQgcG9zID0gY2FjaGVfbmFtZV9wb3MocGF0aCwgbGVuKTsKLQkJaWYgKDAgPD0gcG9zKQotCQkJbW9kZSA9IGFjdGl2ZV9jYWNoZVtwb3NdLT5jZV9tb2RlOwotCQllbHNlCi0JCQkvKiBMZXQncyBub3QgYm90aGVyIHJlYWRpbmcgZnJvbSBIRUFEIHRyZWUgKi8KLQkJCW1vZGUgPSBTX0lGUkVHIHwgMDY0NDsKLQl9Ci0Jc2l6ZSA9IGNhY2hlX2VudHJ5X3NpemUobGVuKTsKLQljZSA9IHhjYWxsb2MoMSwgc2l6ZSk7Ci0Jb2lkY3B5KCZjZS0+b2lkLCAmb3JpZ2luLT5ibG9iX29pZCk7Ci0JbWVtY3B5KGNlLT5uYW1lLCBwYXRoLCBsZW4pOwotCWNlLT5jZV9mbGFncyA9IGNyZWF0ZV9jZV9mbGFncygwKTsKLQljZS0+Y2VfbmFtZWxlbiA9IGxlbjsKLQljZS0+Y2VfbW9kZSA9IGNyZWF0ZV9jZV9tb2RlKG1vZGUpOwotCWFkZF9jYWNoZV9lbnRyeShjZSwgQUREX0NBQ0hFX09LX1RPX0FERHxBRERfQ0FDSEVfT0tfVE9fUkVQTEFDRSk7Ci0KLQljYWNoZV90cmVlX2ludmFsaWRhdGVfcGF0aCgmdGhlX2luZGV4LCBwYXRoKTsKLQotCXJldHVybiBjb21taXQ7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgY29tbWl0ICpmaW5kX3NpbmdsZV9maW5hbChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCi0JCQkJCWNvbnN0IGNoYXIgKipuYW1lX3ApCi17Ci0JaW50IGk7Ci0Jc3RydWN0IGNvbW1pdCAqZm91bmQgPSBOVUxMOwotCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOwotCi0JZm9yIChpID0gMDsgaSA8IHJldnMtPnBlbmRpbmcubnI7IGkrKykgewotCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0uaXRlbTsKLQkJaWYgKG9iai0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQotCQkJY29udGludWU7Ci0JCW9iaiA9IGRlcmVmX3RhZyhvYmosIE5VTEwsIDApOwotCQlpZiAob2JqLT50eXBlICE9IE9CSl9DT01NSVQpCi0JCQlkaWUoIk5vbiBjb21taXQgJXM/IiwgcmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLm5hbWUpOwotCQlpZiAoZm91bmQpCi0JCQlkaWUoIk1vcmUgdGhhbiBvbmUgY29tbWl0IHRvIGRpZyBmcm9tICVzIGFuZCAlcz8iLAotCQkJICAgIHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5uYW1lLCBuYW1lKTsKLQkJZm91bmQgPSAoc3RydWN0IGNvbW1pdCAqKW9iajsKLQkJbmFtZSA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5uYW1lOwotCX0KLQlpZiAobmFtZV9wKQotCQkqbmFtZV9wID0gbmFtZTsKLQlyZXR1cm4gZm91bmQ7Ci19Ci0KLXN0YXRpYyBjaGFyICpwcmVwYXJlX2ZpbmFsKHN0cnVjdCBzY29yZWJvYXJkICpzYikKLXsKLQljb25zdCBjaGFyICpuYW1lOwotCXNiLT5maW5hbCA9IGZpbmRfc2luZ2xlX2ZpbmFsKHNiLT5yZXZzLCAmbmFtZSk7Ci0JcmV0dXJuIHhzdHJkdXBfb3JfbnVsbChuYW1lKTsKLX0KLQotc3RhdGljIGNvbnN0IGNoYXIgKmR3aW1fcmV2ZXJzZV9pbml0aWFsKHN0cnVjdCBzY29yZWJvYXJkICpzYikKLXsKLQkvKgotCSAqIERXSU0gImdpdCBibGFtZSAtLXJldmVyc2UgT05FIC0tIFBBVEgiIGFzCi0JICogImdpdCBibGFtZSAtLXJldmVyc2UgT05FLi5IRUFEIC0tIFBBVEgiIGJ1dCBvbmx5IGRvIHNvCi0JICogd2hlbiBpdCBtYWtlcyBzZW5zZS4KLQkgKi8KLQlzdHJ1Y3Qgb2JqZWN0ICpvYmo7Ci0Jc3RydWN0IGNvbW1pdCAqaGVhZF9jb21taXQ7Ci0JdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOwotCi0JaWYgKHNiLT5yZXZzLT5wZW5kaW5nLm5yICE9IDEpCi0JCXJldHVybiBOVUxMOwotCi0JLyogSXMgdGhhdCBzb2xlIHJldiBhIGNvbW1pdHRpc2g/ICovCi0Jb2JqID0gc2ItPnJldnMtPnBlbmRpbmcub2JqZWN0c1swXS5pdGVtOwotCW9iaiA9IGRlcmVmX3RhZyhvYmosIE5VTEwsIDApOwotCWlmIChvYmotPnR5cGUgIT0gT0JKX0NPTU1JVCkKLQkJcmV0dXJuIE5VTEw7Ci0KLQkvKiBEbyB3ZSBoYXZlIEhFQUQ/ICovCi0JaWYgKCFyZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBoZWFkX3NoYTEsIE5VTEwpKQotCQlyZXR1cm4gTlVMTDsKLQloZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShoZWFkX3NoYTEsIDEpOwotCWlmICghaGVhZF9jb21taXQpCi0JCXJldHVybiBOVUxMOwotCi0JLyogVHVybiAiT05FIiBpbnRvICJPTkUuLkhFQUQiIHRoZW4gKi8KLQlvYmotPmZsYWdzIHw9IFVOSU5URVJFU1RJTkc7Ci0JYWRkX3BlbmRpbmdfb2JqZWN0KHNiLT5yZXZzLCAmaGVhZF9jb21taXQtPm9iamVjdCwgIkhFQUQiKTsKLQotCXNiLT5maW5hbCA9IChzdHJ1Y3QgY29tbWl0ICopb2JqOwotCXJldHVybiBzYi0+cmV2cy0+cGVuZGluZy5vYmplY3RzWzBdLm5hbWU7Ci19Ci0KLXN0YXRpYyBjaGFyICpwcmVwYXJlX2luaXRpYWwoc3RydWN0IHNjb3JlYm9hcmQgKnNiKQotewotCWludCBpOwotCWNvbnN0IGNoYXIgKmZpbmFsX2NvbW1pdF9uYW1lID0gTlVMTDsKLQlzdHJ1Y3QgcmV2X2luZm8gKnJldnMgPSBzYi0+cmV2czsKLQotCS8qCi0JICogVGhlcmUgbXVzdCBiZSBvbmUgYW5kIG9ubHkgb25lIG5lZ2F0aXZlIGNvbW1pdCwgYW5kIGl0IG11c3QgYmUKLQkgKiB0aGUgYm91bmRhcnkuCi0JICovCi0JZm9yIChpID0gMDsgaSA8IHJldnMtPnBlbmRpbmcubnI7IGkrKykgewotCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0uaXRlbTsKLQkJaWYgKCEob2JqLT5mbGFncyAmIFVOSU5URVJFU1RJTkcpKQotCQkJY29udGludWU7Ci0JCW9iaiA9IGRlcmVmX3RhZyhvYmosIE5VTEwsIDApOwotCQlpZiAob2JqLT50eXBlICE9IE9CSl9DT01NSVQpCi0JCQlkaWUoIk5vbiBjb21taXQgJXM/IiwgcmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLm5hbWUpOwotCQlpZiAoc2ItPmZpbmFsKQotCQkJZGllKCJNb3JlIHRoYW4gb25lIGNvbW1pdCB0byBkaWcgdXAgZnJvbSwgJXMgYW5kICVzPyIsCi0JCQkgICAgcmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLm5hbWUsCi0JCQkgICAgZmluYWxfY29tbWl0X25hbWUpOwotCQlzYi0+ZmluYWwgPSAoc3RydWN0IGNvbW1pdCAqKSBvYmo7Ci0JCWZpbmFsX2NvbW1pdF9uYW1lID0gcmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLm5hbWU7Ci0JfQotCi0JaWYgKCFmaW5hbF9jb21taXRfbmFtZSkKLQkJZmluYWxfY29tbWl0X25hbWUgPSBkd2ltX3JldmVyc2VfaW5pdGlhbChzYik7Ci0JaWYgKCFmaW5hbF9jb21taXRfbmFtZSkKLQkJZGllKCJObyBjb21taXQgdG8gZGlnIHVwIGZyb20/Iik7Ci0JcmV0dXJuIHhzdHJkdXAoZmluYWxfY29tbWl0X25hbWUpOwotfQotCiBzdGF0aWMgaW50IGJsYW1lX2NvcHlfY2FsbGJhY2soY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9uLCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKIHsKIAlpbnQgKm9wdCA9IG9wdGlvbi0+dmFsdWU7CkBAIC0yNTU2LDEzICs2NTMsMTEgQEAKIHsKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2czsKIAljb25zdCBjaGFyICpwYXRoOwotCXN0cnVjdCBzY29yZWJvYXJkIHNiOwotCXN0cnVjdCBvcmlnaW4gKm87CisJc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgc2I7CisJc3RydWN0IGJsYW1lX29yaWdpbiAqbzsKIAlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudCA9IE5VTEw7CiAJbG9uZyBkYXNoZGFzaF9wb3MsIGxubzsKLQljaGFyICpmaW5hbF9jb21taXRfbmFtZSA9IE5VTEw7Ci0JZW51bSBvYmplY3RfdHlwZSB0eXBlOwotCXN0cnVjdCBjb21taXQgKmZpbmFsX2NvbW1pdCA9IE5VTEw7CisJc3RydWN0IHByb2dyZXNzX2luZm8gcGkgPSB7IE5VTEwsIDAgfTsKIAogCXN0cnVjdCBzdHJpbmdfbGlzdCByYW5nZV9saXN0ID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAlpbnQgb3V0cHV0X29wdGlvbiA9IDAsIG9wdCA9IDA7CkBAIC0yNjg4LDEyICs3ODMsMTUgQEAKIAkJYmxhbWVfZGF0ZV93aWR0aCA9IHNpemVvZigiMjAwNi0xMC0xOSIpOwogCQlicmVhazsKIAljYXNlIERBVEVfUkVMQVRJVkU6Ci0JCS8qIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KLQkJICAgZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4gImdpdCBibGFtZSIKLQkJICAgb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIsIHdoaWNoCi0JCSAgIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgotCQkgICByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQgeW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yCi0JCSAgIGZld2VyIGRpc3BsYXkgY29sdW1ucy4gKi8KKwkJLyoKKwkJICogVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUKKwkJICogbWF4aW11bSBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbgorCQkgKiAiZ2l0IGJsYW1lIiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMQorCQkgKiBtb250aHMgYWdvIiwgd2hpY2ggdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdAorCQkgKiBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dAorCQkgKiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQorCQkgKiBjb2x1bW5zLgorCQkgKi8KIAkJYmxhbWVfZGF0ZV93aWR0aCA9IHV0Zjhfc3Ryd2lkdGgoXygiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIpKSArIDE7IC8qIGFkZCB0aGUgbnVsbCAqLwogCQlicmVhazsKIAljYXNlIERBVEVfTk9STUFMOgpAQCAtMjcwOSwxMSArODA3LDYgQEAKIAkJb3B0IHw9IChQSUNLQVhFX0JMQU1FX0NPUFkgfCBQSUNLQVhFX0JMQU1FX01PVkUgfAogCQkJUElDS0FYRV9CTEFNRV9DT1BZX0hBUkRFUik7CiAKLQlpZiAoIWJsYW1lX21vdmVfc2NvcmUpCi0JCWJsYW1lX21vdmVfc2NvcmUgPSBCTEFNRV9ERUZBVUxUX01PVkVfU0NPUkU7Ci0JaWYgKCFibGFtZV9jb3B5X3Njb3JlKQotCQlibGFtZV9jb3B5X3Njb3JlID0gQkxBTUVfREVGQVVMVF9DT1BZX1NDT1JFOwotCiAJLyoKIAkgKiBXZSBoYXZlIGNvbGxlY3RlZCBvcHRpb25zIHVua25vd24gdG8gdXMgaW4gYXJndlsxLi51bmtdCiAJICogd2hpY2ggYXJlIHRvIGJlIHBhc3NlZCB0byByZXZpc2lvbiBtYWNoaW5lcnkgaWYgd2UgYXJlCkBAIC0yNzY2LDk0ICs4NTksMTMgQEAKIAogCXJldnMuZGlzYWJsZV9zdGRpbiA9IDE7CiAJc2V0dXBfcmV2aXNpb25zKGFyZ2MsIGFyZ3YsICZyZXZzLCBOVUxMKTsKLQltZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKIAorCWluaXRfc2NvcmVib2FyZCgmc2IpOwogCXNiLnJldnMgPSAmcmV2czsKLQlpZiAoIXJldmVyc2UpIHsKLQkJZmluYWxfY29tbWl0X25hbWUgPSBwcmVwYXJlX2ZpbmFsKCZzYik7Ci0JCXNiLmNvbW1pdHMuY29tcGFyZSA9IGNvbXBhcmVfY29tbWl0c19ieV9jb21taXRfZGF0ZTsKLQl9Ci0JZWxzZSBpZiAoY29udGVudHNfZnJvbSkKLQkJZGllKF8oIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iKSk7Ci0JZWxzZSB7Ci0JCWZpbmFsX2NvbW1pdF9uYW1lID0gcHJlcGFyZV9pbml0aWFsKCZzYik7Ci0JCXNiLmNvbW1pdHMuY29tcGFyZSA9IGNvbXBhcmVfY29tbWl0c19ieV9yZXZlcnNlX2NvbW1pdF9kYXRlOwotCQlpZiAocmV2cy5maXJzdF9wYXJlbnRfb25seSkKLQkJCXJldnMuY2hpbGRyZW4ubmFtZSA9IE5VTEw7Ci0JfQotCi0JaWYgKCFzYi5maW5hbCkgewotCQkvKgotCQkgKiAiLS1ub3QgQSBCIC0tIHBhdGgiIHdpdGhvdXQgYW55dGhpbmcgcG9zaXRpdmU7Ci0JCSAqIGRvIG5vdCBkZWZhdWx0IHRvIEhFQUQsIGJ1dCB1c2UgdGhlIHdvcmtpbmcgdHJlZQotCQkgKiBvciAiLS1jb250ZW50cyIuCi0JCSAqLwotCQlzZXR1cF93b3JrX3RyZWUoKTsKLQkJc2IuZmluYWwgPSBmYWtlX3dvcmtpbmdfdHJlZV9jb21taXQoJnNiLnJldnMtPmRpZmZvcHQsCi0JCQkJCQkgICAgcGF0aCwgY29udGVudHNfZnJvbSk7Ci0JCWFkZF9wZW5kaW5nX29iamVjdCgmcmV2cywgJihzYi5maW5hbC0+b2JqZWN0KSwgIjoiKTsKLQl9Ci0JZWxzZSBpZiAoY29udGVudHNfZnJvbSkKLQkJZGllKF8oImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIpKTsKLQotCWlmIChyZXZlcnNlICYmIHJldnMuZmlyc3RfcGFyZW50X29ubHkpIHsKLQkJZmluYWxfY29tbWl0ID0gZmluZF9zaW5nbGVfZmluYWwoc2IucmV2cywgTlVMTCk7Ci0JCWlmICghZmluYWxfY29tbWl0KQotCQkJZGllKF8oIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIpKTsKLQl9Ci0KLQkvKgotCSAqIElmIHdlIGhhdmUgYm90dG9tLCB0aGlzIHdpbGwgbWFyayB0aGUgYW5jZXN0b3JzIG9mIHRoZQotCSAqIGJvdHRvbSBjb21taXRzIHdlIHdvdWxkIHJlYWNoIHdoaWxlIHRyYXZlcnNpbmcgYXMKLQkgKiB1bmludGVyZXN0aW5nLgotCSAqLwotCWlmIChwcmVwYXJlX3JldmlzaW9uX3dhbGsoJnJldnMpKQotCQlkaWUoXygicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiKSk7Ci0KLQlpZiAocmV2ZXJzZSAmJiByZXZzLmZpcnN0X3BhcmVudF9vbmx5KSB7Ci0JCXN0cnVjdCBjb21taXQgKmMgPSBmaW5hbF9jb21taXQ7Ci0KLQkJc2IucmV2cy0+Y2hpbGRyZW4ubmFtZSA9ICJjaGlsZHJlbiI7Ci0JCXdoaWxlIChjLT5wYXJlbnRzICYmCi0JCSAgICAgICBvaWRjbXAoJmMtPm9iamVjdC5vaWQsICZzYi5maW5hbC0+b2JqZWN0Lm9pZCkpIHsKLQkJCXN0cnVjdCBjb21taXRfbGlzdCAqbCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpsKSk7Ci0KLQkJCWwtPml0ZW0gPSBjOwotCQkJaWYgKGFkZF9kZWNvcmF0aW9uKCZzYi5yZXZzLT5jaGlsZHJlbiwKLQkJCQkJICAgJmMtPnBhcmVudHMtPml0ZW0tPm9iamVjdCwgbCkpCi0JCQkJZGllKCJCVUc6IG5vdCB1bmlxdWUgaXRlbSBpbiBmaXJzdC1wYXJlbnQgY2hhaW4iKTsKLQkJCWMgPSBjLT5wYXJlbnRzLT5pdGVtOwotCQl9Ci0KLQkJaWYgKG9pZGNtcCgmYy0+b2JqZWN0Lm9pZCwgJnNiLmZpbmFsLT5vYmplY3Qub2lkKSkKLQkJCWRpZShfKCItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iKSk7Ci0JfQotCi0JaWYgKGlzX251bGxfb2lkKCZzYi5maW5hbC0+b2JqZWN0Lm9pZCkpIHsKLQkJbyA9IHNiLmZpbmFsLT51dGlsOwotCQlzYi5maW5hbF9idWYgPSB4bWVtZHVweihvLT5maWxlLnB0ciwgby0+ZmlsZS5zaXplKTsKLQkJc2IuZmluYWxfYnVmX3NpemUgPSBvLT5maWxlLnNpemU7Ci0JfQotCWVsc2UgewotCQlvID0gZ2V0X29yaWdpbigmc2IsIHNiLmZpbmFsLCBwYXRoKTsKLQkJaWYgKGZpbGxfYmxvYl9zaGExX2FuZF9tb2RlKG8pKQotCQkJZGllKF8oIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIpLCBwYXRoLCBmaW5hbF9jb21taXRfbmFtZSk7Ci0KLQkJaWYgKERJRkZfT1BUX1RTVCgmc2IucmV2cy0+ZGlmZm9wdCwgQUxMT1dfVEVYVENPTlYpICYmCi0JCSAgICB0ZXh0Y29udl9vYmplY3QocGF0aCwgby0+bW9kZSwgJm8tPmJsb2Jfb2lkLCAxLCAoY2hhciAqKikgJnNiLmZpbmFsX2J1ZiwKLQkJCQkgICAgJnNiLmZpbmFsX2J1Zl9zaXplKSkKLQkJCTsKLQkJZWxzZQotCQkJc2IuZmluYWxfYnVmID0gcmVhZF9zaGExX2ZpbGUoby0+YmxvYl9vaWQuaGFzaCwgJnR5cGUsCi0JCQkJCQkgICAgICAmc2IuZmluYWxfYnVmX3NpemUpOwotCi0JCWlmICghc2IuZmluYWxfYnVmKQotCQkJZGllKF8oImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiKSwKLQkJCSAgICBvaWRfdG9faGV4KCZvLT5ibG9iX29pZCksCi0JCQkgICAgcGF0aCk7Ci0JfQotCW51bV9yZWFkX2Jsb2IrKzsKLQlsbm8gPSBwcmVwYXJlX2xpbmVzKCZzYik7CisJc2IuY29udGVudHNfZnJvbSA9IGNvbnRlbnRzX2Zyb207CisJc2IucmV2ZXJzZSA9IHJldmVyc2U7CisJc2V0dXBfc2NvcmVib2FyZCgmc2IsIHBhdGgsICZvKTsKKwlsbm8gPSBzYi5udW1fbGluZXM7CiAKIAlpZiAobG5vICYmICFyYW5nZV9saXN0Lm5yKQogCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJhbmdlX2xpc3QsICIxIik7CkBAIC0yODgyLDIyICs4OTQsMTMgQEAKIAogCWZvciAocmFuZ2VfaSA9IHJhbmdlcy5ucjsgcmFuZ2VfaSA+IDA7IC0tcmFuZ2VfaSkgewogCQljb25zdCBzdHJ1Y3QgcmFuZ2UgKnIgPSAmcmFuZ2VzLnJhbmdlc1tyYW5nZV9pIC0gMV07Ci0JCWxvbmcgYm90dG9tID0gci0+c3RhcnQ7Ci0JCWxvbmcgdG9wID0gci0+ZW5kOwotCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5leHQgPSBlbnQ7Ci0JCWVudCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCplbnQpKTsKLQkJZW50LT5sbm8gPSBib3R0b207Ci0JCWVudC0+bnVtX2xpbmVzID0gdG9wIC0gYm90dG9tOwotCQllbnQtPnN1c3BlY3QgPSBvOwotCQllbnQtPnNfbG5vID0gYm90dG9tOwotCQllbnQtPm5leHQgPSBuZXh0OwotCQlvcmlnaW5faW5jcmVmKG8pOworCQllbnQgPSBibGFtZV9lbnRyeV9wcmVwZW5kKGVudCwgci0+c3RhcnQsIHItPmVuZCwgbyk7CiAJfQogCiAJby0+c3VzcGVjdHMgPSBlbnQ7CiAJcHJpb19xdWV1ZV9wdXQoJnNiLmNvbW1pdHMsIG8tPmNvbW1pdCk7CiAKLQlvcmlnaW5fZGVjcmVmKG8pOworCWJsYW1lX29yaWdpbl9kZWNyZWYobyk7CiAKIAlyYW5nZV9zZXRfcmVsZWFzZSgmcmFuZ2VzKTsKIAlzdHJpbmdfbGlzdF9jbGVhcigmcmFuZ2VfbGlzdCwgMCk7CkBAIC0yOTA1LDIxICs5MDgsMzcgQEAKIAlzYi5lbnQgPSBOVUxMOwogCXNiLnBhdGggPSBwYXRoOwogCisJaWYgKGJsYW1lX21vdmVfc2NvcmUpCisJCXNiLm1vdmVfc2NvcmUgPSBibGFtZV9tb3ZlX3Njb3JlOworCWlmIChibGFtZV9jb3B5X3Njb3JlKQorCQlzYi5jb3B5X3Njb3JlID0gYmxhbWVfY29weV9zY29yZTsKKworCXNiLmRlYnVnID0gREVCVUc7CisJc2Iub25fc2FuaXR5X2ZhaWwgPSAmc2FuaXR5X2NoZWNrX29uX2ZhaWw7CisKKwlzYi5zaG93X3Jvb3QgPSBzaG93X3Jvb3Q7CisJc2IueGRsX29wdHMgPSB4ZGxfb3B0czsKKwlzYi5ub193aG9sZV9maWxlX3JlbmFtZSA9IG5vX3dob2xlX2ZpbGVfcmVuYW1lOworCiAJcmVhZF9tYWlsbWFwKCZtYWlsbWFwLCBOVUxMKTsKIAorCXNiLmZvdW5kX2d1aWx0eV9lbnRyeSA9ICZmb3VuZF9ndWlsdHlfZW50cnk7CisJc2IuZm91bmRfZ3VpbHR5X2VudHJ5X2RhdGEgPSAmcGk7CisJaWYgKHNob3dfcHJvZ3Jlc3MpCisJCXBpLnByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcyhfKCJCbGFtaW5nIGxpbmVzIiksIHNiLm51bV9saW5lcyk7CisKIAlhc3NpZ25fYmxhbWUoJnNiLCBvcHQpOwogCisJc3RvcF9wcm9ncmVzcygmcGkucHJvZ3Jlc3MpOworCiAJaWYgKCFpbmNyZW1lbnRhbCkKIAkJc2V0dXBfcGFnZXIoKTsKLQotCWZyZWUoZmluYWxfY29tbWl0X25hbWUpOwotCi0JaWYgKGluY3JlbWVudGFsKQorCWVsc2UKIAkJcmV0dXJuIDA7CiAKLQlzYi5lbnQgPSBibGFtZV9zb3J0KHNiLmVudCwgY29tcGFyZV9ibGFtZV9maW5hbCk7CisJYmxhbWVfc29ydF9maW5hbCgmc2IpOwogCi0JY29hbGVzY2UoJnNiKTsKKwlibGFtZV9jb2FsZXNjZSgmc2IpOwogCiAJaWYgKCEob3V0cHV0X29wdGlvbiAmIE9VVFBVVF9QT1JDRUxBSU4pKQogCQlmaW5kX2FsaWdubWVudCgmc2IsICZvdXRwdXRfb3B0aW9uKTsKQEAgLTI5MzMsOSArOTUyLDkgQEAKIAl9CiAKIAlpZiAoc2hvd19zdGF0cykgewotCQlwcmludGYoIm51bSByZWFkIGJsb2I6ICVkXG4iLCBudW1fcmVhZF9ibG9iKTsKLQkJcHJpbnRmKCJudW0gZ2V0IHBhdGNoOiAlZFxuIiwgbnVtX2dldF9wYXRjaCk7Ci0JCXByaW50ZigibnVtIGNvbW1pdHM6ICVkXG4iLCBudW1fY29tbWl0cyk7CisJCXByaW50ZigibnVtIHJlYWQgYmxvYjogJWRcbiIsIHNiLm51bV9yZWFkX2Jsb2IpOworCQlwcmludGYoIm51bSBnZXQgcGF0Y2g6ICVkXG4iLCBzYi5udW1fZ2V0X3BhdGNoKTsKKwkJcHJpbnRmKCJudW0gY29tbWl0czogJWRcbiIsIHNiLm51bV9jb21taXRzKTsKIAl9CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL2JyYW5jaC5jIGIvYnVpbHRpbi9icmFuY2guYwppbmRleCBiYWJmZDBmLi44OWUzNGU5IDEwMDY0NAotLS0gYS9idWlsdGluL2JyYW5jaC5jCisrKyBiL2J1aWx0aW4vYnJhbmNoLmMKQEAgLTYsNiArNiw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29sb3IuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCkBAIC0yNywyMSArMjgsMjMgQEAKIAlOXygiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLWxdIFstZl0gPGJyYW5jaC1uYW1lPiBbPHN0YXJ0LXBvaW50Pl0iKSwKIAlOXygiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXJdICgtZCB8IC1EKSA8YnJhbmNoLW5hbWU+Li4uIiksCiAJTl8oImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIpLAorCU5fKCJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dICgtYyB8IC1DKSBbPG9sZC1icmFuY2g+XSA8bmV3LWJyYW5jaD4iKSwKIAlOXygiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIpLAorCU5fKCJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIiksCiAJTlVMTAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmhlYWQ7Ci1zdGF0aWMgdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOworc3RhdGljIHN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CiAKIHN0YXRpYyBpbnQgYnJhbmNoX3VzZV9jb2xvciA9IC0xOwogc3RhdGljIGNoYXIgYnJhbmNoX2NvbG9yc1tdW0NPTE9SX01BWExFTl0gPSB7CiAJR0lUX0NPTE9SX1JFU0VULAotCUdJVF9DT0xPUl9OT1JNQUwsCS8qIFBMQUlOICovCi0JR0lUX0NPTE9SX1JFRCwJCS8qIFJFTU9URSAqLwotCUdJVF9DT0xPUl9OT1JNQUwsCS8qIExPQ0FMICovCi0JR0lUX0NPTE9SX0dSRUVOLAkvKiBDVVJSRU5UICovCi0JR0lUX0NPTE9SX0JMVUUsCQkvKiBVUFNUUkVBTSAqLworCUdJVF9DT0xPUl9OT1JNQUwsICAgICAgIC8qIFBMQUlOICovCisJR0lUX0NPTE9SX1JFRCwgICAgICAgICAgLyogUkVNT1RFICovCisJR0lUX0NPTE9SX05PUk1BTCwgICAgICAgLyogTE9DQUwgKi8KKwlHSVRfQ09MT1JfR1JFRU4sICAgICAgICAvKiBDVVJSRU5UICovCisJR0lUX0NPTE9SX0JMVUUsICAgICAgICAgLyogVVBTVFJFQU0gKi8KIH07CiBlbnVtIGNvbG9yX2JyYW5jaCB7CiAJQlJBTkNIX0NPTE9SX1JFU0VUID0gMCwKQEAgLTkwLDcgKzkzLDcgQEAKIAkJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOwogCQlyZXR1cm4gY29sb3JfcGFyc2UodmFsdWUsIGJyYW5jaF9jb2xvcnNbc2xvdF0pOwogCX0KLQlyZXR1cm4gZ2l0X2NvbG9yX2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKKwlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKmJyYW5jaF9nZXRfY29sb3IoZW51bSBjb2xvcl9icmFuY2ggaXgpCkBAIC0xMTcsMTMgKzEyMCwxMyBAQAogCWlmIChraW5kID09IEZJTFRFUl9SRUZTX0JSQU5DSEVTKSB7CiAJCXN0cnVjdCBicmFuY2ggKmJyYW5jaCA9IGJyYW5jaF9nZXQobmFtZSk7CiAJCWNvbnN0IGNoYXIgKnVwc3RyZWFtID0gYnJhbmNoX2dldF91cHN0cmVhbShicmFuY2gsIE5VTEwpOwotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCQlpZiAodXBzdHJlYW0gJiYKIAkJICAgIChyZWZlcmVuY2VfbmFtZSA9IHJlZmVyZW5jZV9uYW1lX3RvX2ZyZWUgPQogCQkgICAgIHJlc29sdmVfcmVmZHVwKHVwc3RyZWFtLCBSRVNPTFZFX1JFRl9SRUFESU5HLAotCQkJCSAgICBzaGExLCBOVUxMKSkgIT0gTlVMTCkKLQkJCXJlZmVyZW5jZV9yZXYgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKTsKKwkJCQkgICAgb2lkLmhhc2gsIE5VTEwpKSAhPSBOVUxMKQorCQkJcmVmZXJlbmNlX3JldiA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZvaWQpOwogCX0KIAlpZiAoIXJlZmVyZW5jZV9yZXYpCiAJCXJlZmVyZW5jZV9yZXYgPSBoZWFkX3JldjsKQEAgLTE1MywxMCArMTU2LDEwIEBACiB9CiAKIHN0YXRpYyBpbnQgY2hlY2tfYnJhbmNoX2NvbW1pdChjb25zdCBjaGFyICpicmFuY2huYW1lLCBjb25zdCBjaGFyICpyZWZuYW1lLAotCQkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCBjb21taXQgKmhlYWRfcmV2LAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgc3RydWN0IGNvbW1pdCAqaGVhZF9yZXYsCiAJCQkgICAgICAgaW50IGtpbmRzLCBpbnQgZm9yY2UpCiB7Ci0Jc3RydWN0IGNvbW1pdCAqcmV2ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7CisJc3RydWN0IGNvbW1pdCAqcmV2ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uob2lkKTsKIAlpZiAoIXJldikgewogCQllcnJvcihfKCJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciKSwgcmVmbmFtZSk7CiAJCXJldHVybiAtMTsKQEAgLTE4Myw3ICsxODYsNyBAQAogCQkJICAgaW50IHF1aWV0KQogewogCXN0cnVjdCBjb21taXQgKmhlYWRfcmV2ID0gTlVMTDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNoYXIgKm5hbWUgPSBOVUxMOwogCWNvbnN0IGNoYXIgKmZtdDsKIAlpbnQgaTsKQEAgLTIxMCw3ICsyMTMsNyBAQAogCX0KIAogCWlmICghZm9yY2UpIHsKLQkJaGVhZF9yZXYgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShoZWFkX3NoYTEpOworCQloZWFkX3JldiA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZoZWFkX29pZCk7CiAJCWlmICghaGVhZF9yZXYpCiAJCQlkaWUoXygiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIikpOwogCX0KQEAgLTIzOCw3ICsyNDEsNyBAQAogCQkJCQlSRVNPTFZFX1JFRl9SRUFESU5HCiAJCQkJCXwgUkVTT0xWRV9SRUZfTk9fUkVDVVJTRQogCQkJCQl8IFJFU09MVkVfUkVGX0FMTE9XX0JBRF9OQU1FLAotCQkJCQlzaGExLCAmZmxhZ3MpOworCQkJCQlvaWQuaGFzaCwgJmZsYWdzKTsKIAkJaWYgKCF0YXJnZXQpIHsKIAkJCWVycm9yKHJlbW90ZV9icmFuY2gKIAkJCSAgICAgID8gXygicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iKQpAQCAtMjQ4LDEzICsyNTEsMTMgQEAKIAkJfQogCiAJCWlmICghKGZsYWdzICYgKFJFRl9JU1NZTVJFRnxSRUZfSVNCUk9LRU4pKSAmJgotCQkgICAgY2hlY2tfYnJhbmNoX2NvbW1pdChibmFtZS5idWYsIG5hbWUsIHNoYTEsIGhlYWRfcmV2LCBraW5kcywKKwkJICAgIGNoZWNrX2JyYW5jaF9jb21taXQoYm5hbWUuYnVmLCBuYW1lLCAmb2lkLCBoZWFkX3Jldiwga2luZHMsCiAJCQkJCWZvcmNlKSkgewogCQkJcmV0ID0gMTsKIAkJCWdvdG8gbmV4dDsKIAkJfQogCi0JCWlmIChkZWxldGVfcmVmKG5hbWUsIGlzX251bGxfc2hhMShzaGExKSA/IE5VTEwgOiBzaGExLAorCQlpZiAoZGVsZXRlX3JlZihOVUxMLCBuYW1lLCBpc19udWxsX29pZCgmb2lkKSA/IE5VTEwgOiBvaWQuaGFzaCwKIAkJCSAgICAgICBSRUZfTk9ERVJFRikpIHsKIAkJCWVycm9yKHJlbW90ZV9icmFuY2gKIAkJCSAgICAgID8gXygiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIikKQEAgLTI3MCw3ICsyNzMsNyBAQAogCQkJICAgICAgIGJuYW1lLmJ1ZiwKIAkJCSAgICAgICAoZmxhZ3MgJiBSRUZfSVNCUk9LRU4pID8gImJyb2tlbiIKIAkJCSAgICAgICA6IChmbGFncyAmIFJFRl9JU1NZTVJFRikgPyB0YXJnZXQKLQkJCSAgICAgICA6IGZpbmRfdW5pcXVlX2FiYnJldihzaGExLCBERUZBVUxUX0FCQlJFVikpOworCQkJICAgICAgIDogZmluZF91bmlxdWVfYWJicmV2KG9pZC5oYXNoLCBERUZBVUxUX0FCQlJFVikpOwogCQl9CiAJCWRlbGV0ZV9icmFuY2hfY29uZmlnKGJuYW1lLmJ1Zik7CiAKQEAgLTI4MywxOTUgKzI4Niw2IEBACiAJcmV0dXJuKHJldCk7CiB9CiAKLXN0YXRpYyB2b2lkIGZpbGxfdHJhY2tpbmdfaW5mbyhzdHJ1Y3Qgc3RyYnVmICpzdGF0LCBjb25zdCBjaGFyICpicmFuY2hfbmFtZSwKLQkJaW50IHNob3dfdXBzdHJlYW1fcmVmKQotewotCWludCBvdXJzLCB0aGVpcnM7Ci0JY2hhciAqcmVmID0gTlVMTDsKLQlzdHJ1Y3QgYnJhbmNoICpicmFuY2ggPSBicmFuY2hfZ2V0KGJyYW5jaF9uYW1lKTsKLQljb25zdCBjaGFyICp1cHN0cmVhbTsKLQlzdHJ1Y3Qgc3RyYnVmIGZhbmN5ID0gU1RSQlVGX0lOSVQ7Ci0JaW50IHVwc3RyZWFtX2lzX2dvbmUgPSAwOwotCWludCBhZGRlZF9kZWNvcmF0aW9uID0gMTsKLQotCWlmIChzdGF0X3RyYWNraW5nX2luZm8oYnJhbmNoLCAmb3VycywgJnRoZWlycywgJnVwc3RyZWFtKSA8IDApIHsKLQkJaWYgKCF1cHN0cmVhbSkKLQkJCXJldHVybjsKLQkJdXBzdHJlYW1faXNfZ29uZSA9IDE7Ci0JfQotCi0JaWYgKHNob3dfdXBzdHJlYW1fcmVmKSB7Ci0JCXJlZiA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKHVwc3RyZWFtLCAwKTsKLQkJaWYgKHdhbnRfY29sb3IoYnJhbmNoX3VzZV9jb2xvcikpCi0JCQlzdHJidWZfYWRkZigmZmFuY3ksICIlcyVzJXMiLAotCQkJCQlicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9VUFNUUkVBTSksCi0JCQkJCXJlZiwgYnJhbmNoX2dldF9jb2xvcihCUkFOQ0hfQ09MT1JfUkVTRVQpKTsKLQkJZWxzZQotCQkJc3RyYnVmX2FkZHN0cigmZmFuY3ksIHJlZik7Ci0JfQotCi0JaWYgKHVwc3RyZWFtX2lzX2dvbmUpIHsKLQkJaWYgKHNob3dfdXBzdHJlYW1fcmVmKQotCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiWyVzOiBnb25lXSIpLCBmYW5jeS5idWYpOwotCQllbHNlCi0JCQlhZGRlZF9kZWNvcmF0aW9uID0gMDsKLQl9IGVsc2UgaWYgKCFvdXJzICYmICF0aGVpcnMpIHsKLQkJaWYgKHNob3dfdXBzdHJlYW1fcmVmKQotCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiWyVzXSIpLCBmYW5jeS5idWYpOwotCQllbHNlCi0JCQlhZGRlZF9kZWNvcmF0aW9uID0gMDsKLQl9IGVsc2UgaWYgKCFvdXJzKSB7Ci0JCWlmIChzaG93X3Vwc3RyZWFtX3JlZikKLQkJCXN0cmJ1Zl9hZGRmKHN0YXQsIF8oIlslczogYmVoaW5kICVkXSIpLCBmYW5jeS5idWYsIHRoZWlycyk7Ci0JCWVsc2UKLQkJCXN0cmJ1Zl9hZGRmKHN0YXQsIF8oIltiZWhpbmQgJWRdIiksIHRoZWlycyk7Ci0KLQl9IGVsc2UgaWYgKCF0aGVpcnMpIHsKLQkJaWYgKHNob3dfdXBzdHJlYW1fcmVmKQotCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiWyVzOiBhaGVhZCAlZF0iKSwgZmFuY3kuYnVmLCBvdXJzKTsKLQkJZWxzZQotCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiW2FoZWFkICVkXSIpLCBvdXJzKTsKLQl9IGVsc2UgewotCQlpZiAoc2hvd191cHN0cmVhbV9yZWYpCi0JCQlzdHJidWZfYWRkZihzdGF0LCBfKCJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIiksCi0JCQkJICAgIGZhbmN5LmJ1Ziwgb3VycywgdGhlaXJzKTsKLQkJZWxzZQotCQkJc3RyYnVmX2FkZGYoc3RhdCwgXygiW2FoZWFkICVkLCBiZWhpbmQgJWRdIiksCi0JCQkJICAgIG91cnMsIHRoZWlycyk7Ci0JfQotCXN0cmJ1Zl9yZWxlYXNlKCZmYW5jeSk7Ci0JaWYgKGFkZGVkX2RlY29yYXRpb24pCi0JCXN0cmJ1Zl9hZGRjaChzdGF0LCAnICcpOwotCWZyZWUocmVmKTsKLX0KLQotc3RhdGljIHZvaWQgYWRkX3ZlcmJvc2VfaW5mbyhzdHJ1Y3Qgc3RyYnVmICpvdXQsIHN0cnVjdCByZWZfYXJyYXlfaXRlbSAqaXRlbSwKLQkJCSAgICAgc3RydWN0IHJlZl9maWx0ZXIgKmZpbHRlciwgY29uc3QgY2hhciAqcmVmbmFtZSkKLXsKLQlzdHJ1Y3Qgc3RyYnVmIHN1YmplY3QgPSBTVFJCVUZfSU5JVCwgc3RhdCA9IFNUUkJVRl9JTklUOwotCWNvbnN0IGNoYXIgKnN1YiA9IF8oIiAqKioqIGludmFsaWQgcmVmICoqKioiKTsKLQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBpdGVtLT5jb21taXQ7Ci0KLQlpZiAoIXBhcnNlX2NvbW1pdChjb21taXQpKSB7Ci0JCXBwX2NvbW1pdF9lYXN5KENNSVRfRk1UX09ORUxJTkUsIGNvbW1pdCwgJnN1YmplY3QpOwotCQlzdWIgPSBzdWJqZWN0LmJ1ZjsKLQl9Ci0KLQlpZiAoaXRlbS0+a2luZCA9PSBGSUxURVJfUkVGU19CUkFOQ0hFUykKLQkJZmlsbF90cmFja2luZ19pbmZvKCZzdGF0LCByZWZuYW1lLCBmaWx0ZXItPnZlcmJvc2UgPiAxKTsKLQotCXN0cmJ1Zl9hZGRmKG91dCwgIiAlcyAlcyVzIiwKLQkJZmluZF91bmlxdWVfYWJicmV2KGl0ZW0tPmNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBmaWx0ZXItPmFiYnJldiksCi0JCXN0YXQuYnVmLCBzdWIpOwotCXN0cmJ1Zl9yZWxlYXNlKCZzdGF0KTsKLQlzdHJidWZfcmVsZWFzZSgmc3ViamVjdCk7Ci19Ci0KLXN0YXRpYyBjaGFyICpnZXRfaGVhZF9kZXNjcmlwdGlvbih2b2lkKQotewotCXN0cnVjdCBzdHJidWYgZGVzYyA9IFNUUkJVRl9JTklUOwotCXN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgc3RhdGU7Ci0JbWVtc2V0KCZzdGF0ZSwgMCwgc2l6ZW9mKHN0YXRlKSk7Ci0Jd3Rfc3RhdHVzX2dldF9zdGF0ZSgmc3RhdGUsIDEpOwotCWlmIChzdGF0ZS5yZWJhc2VfaW5fcHJvZ3Jlc3MgfHwKLQkgICAgc3RhdGUucmViYXNlX2ludGVyYWN0aXZlX2luX3Byb2dyZXNzKQotCQlzdHJidWZfYWRkZigmZGVzYywgXygiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIiksCi0JCQkgICAgc3RhdGUuYnJhbmNoKTsKLQllbHNlIGlmIChzdGF0ZS5iaXNlY3RfaW5fcHJvZ3Jlc3MpCi0JCXN0cmJ1Zl9hZGRmKCZkZXNjLCBfKCIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiKSwKLQkJCSAgICBzdGF0ZS5icmFuY2gpOwotCWVsc2UgaWYgKHN0YXRlLmRldGFjaGVkX2Zyb20pIHsKLQkJaWYgKHN0YXRlLmRldGFjaGVkX2F0KQotCQkJLyogVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKLQkJCSAgICJIRUFEIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMgKi8KLQkJCXN0cmJ1Zl9hZGRmKCZkZXNjLCBfKCIoSEVBRCBkZXRhY2hlZCBhdCAlcykiKSwKLQkJCQlzdGF0ZS5kZXRhY2hlZF9mcm9tKTsKLQkJZWxzZQotCQkJLyogVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKLQkJCSAgICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYyAqLwotCQkJc3RyYnVmX2FkZGYoJmRlc2MsIF8oIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIiksCi0JCQkJc3RhdGUuZGV0YWNoZWRfZnJvbSk7Ci0JfQotCWVsc2UKLQkJc3RyYnVmX2FkZHN0cigmZGVzYywgXygiKG5vIGJyYW5jaCkiKSk7Ci0JZnJlZShzdGF0ZS5icmFuY2gpOwotCWZyZWUoc3RhdGUub250byk7Ci0JZnJlZShzdGF0ZS5kZXRhY2hlZF9mcm9tKTsKLQlyZXR1cm4gc3RyYnVmX2RldGFjaCgmZGVzYywgTlVMTCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGZvcm1hdF9hbmRfcHJpbnRfcmVmX2l0ZW0oc3RydWN0IHJlZl9hcnJheV9pdGVtICppdGVtLCBpbnQgbWF4d2lkdGgsCi0JCQkJICAgICAgc3RydWN0IHJlZl9maWx0ZXIgKmZpbHRlciwgY29uc3QgY2hhciAqcmVtb3RlX3ByZWZpeCkKLXsKLQljaGFyIGM7Ci0JaW50IGN1cnJlbnQgPSAwOwotCWludCBjb2xvcjsKLQlzdHJ1Y3Qgc3RyYnVmIG91dCA9IFNUUkJVRl9JTklULCBuYW1lID0gU1RSQlVGX0lOSVQ7Ci0JY29uc3QgY2hhciAqcHJlZml4X3RvX3Nob3cgPSAiIjsKLQljb25zdCBjaGFyICpwcmVmaXhfdG9fc2tpcCA9IE5VTEw7Ci0JY29uc3QgY2hhciAqZGVzYyA9IGl0ZW0tPnJlZm5hbWU7Ci0JY2hhciAqdG9fZnJlZSA9IE5VTEw7Ci0KLQlzd2l0Y2ggKGl0ZW0tPmtpbmQpIHsKLQljYXNlIEZJTFRFUl9SRUZTX0JSQU5DSEVTOgotCQlwcmVmaXhfdG9fc2tpcCA9ICJyZWZzL2hlYWRzLyI7Ci0JCXNraXBfcHJlZml4KGRlc2MsIHByZWZpeF90b19za2lwLCAmZGVzYyk7Ci0JCWlmICghZmlsdGVyLT5kZXRhY2hlZCAmJiAhc3RyY21wKGRlc2MsIGhlYWQpKQotCQkJY3VycmVudCA9IDE7Ci0JCWVsc2UKLQkJCWNvbG9yID0gQlJBTkNIX0NPTE9SX0xPQ0FMOwotCQlicmVhazsKLQljYXNlIEZJTFRFUl9SRUZTX1JFTU9URVM6Ci0JCXByZWZpeF90b19za2lwID0gInJlZnMvcmVtb3Rlcy8iOwotCQlza2lwX3ByZWZpeChkZXNjLCBwcmVmaXhfdG9fc2tpcCwgJmRlc2MpOwotCQljb2xvciA9IEJSQU5DSF9DT0xPUl9SRU1PVEU7Ci0JCXByZWZpeF90b19zaG93ID0gcmVtb3RlX3ByZWZpeDsKLQkJYnJlYWs7Ci0JY2FzZSBGSUxURVJfUkVGU19ERVRBQ0hFRF9IRUFEOgotCQlkZXNjID0gdG9fZnJlZSA9IGdldF9oZWFkX2Rlc2NyaXB0aW9uKCk7Ci0JCWN1cnJlbnQgPSAxOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQljb2xvciA9IEJSQU5DSF9DT0xPUl9QTEFJTjsKLQkJYnJlYWs7Ci0JfQotCi0JYyA9ICcgJzsKLQlpZiAoY3VycmVudCkgewotCQljID0gJyonOwotCQljb2xvciA9IEJSQU5DSF9DT0xPUl9DVVJSRU5UOwotCX0KLQotCXN0cmJ1Zl9hZGRmKCZuYW1lLCAiJXMlcyIsIHByZWZpeF90b19zaG93LCBkZXNjKTsKLQlpZiAoZmlsdGVyLT52ZXJib3NlKSB7Ci0JCWludCB1dGY4X2NvbXBlbnNhdGlvbiA9IHN0cmxlbihuYW1lLmJ1ZikgLSB1dGY4X3N0cndpZHRoKG5hbWUuYnVmKTsKLQkJc3RyYnVmX2FkZGYoJm91dCwgIiVjICVzJS0qcyVzIiwgYywgYnJhbmNoX2dldF9jb2xvcihjb2xvciksCi0JCQkgICAgbWF4d2lkdGggKyB1dGY4X2NvbXBlbnNhdGlvbiwgbmFtZS5idWYsCi0JCQkgICAgYnJhbmNoX2dldF9jb2xvcihCUkFOQ0hfQ09MT1JfUkVTRVQpKTsKLQl9IGVsc2UKLQkJc3RyYnVmX2FkZGYoJm91dCwgIiVjICVzJXMlcyIsIGMsIGJyYW5jaF9nZXRfY29sb3IoY29sb3IpLAotCQkJICAgIG5hbWUuYnVmLCBicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9SRVNFVCkpOwotCi0JaWYgKGl0ZW0tPnN5bXJlZikgewotCQljb25zdCBjaGFyICpzeW1yZWYgPSBpdGVtLT5zeW1yZWY7Ci0JCWlmIChwcmVmaXhfdG9fc2tpcCkKLQkJCXNraXBfcHJlZml4KHN5bXJlZiwgcHJlZml4X3RvX3NraXAsICZzeW1yZWYpOwotCQlzdHJidWZfYWRkZigmb3V0LCAiIC0+ICVzIiwgc3ltcmVmKTsKLQl9Ci0JZWxzZSBpZiAoZmlsdGVyLT52ZXJib3NlKQotCQkvKiAiIGY3YzBjMDAgW2FoZWFkIDU4LCBiZWhpbmQgMTk3XSB2Y3Mtc3ZuOiBkcm9wIG9ial9wb29sLmgiICovCi0JCWFkZF92ZXJib3NlX2luZm8oJm91dCwgaXRlbSwgZmlsdGVyLCBkZXNjKTsKLQlpZiAoY29sdW1uX2FjdGl2ZShjb2xvcHRzKSkgewotCQlhc3NlcnQoIWZpbHRlci0+dmVyYm9zZSAmJiAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIik7Ci0JCXN0cmluZ19saXN0X2FwcGVuZCgmb3V0cHV0LCBvdXQuYnVmKTsKLQl9IGVsc2UgewotCQlwcmludGYoIiVzXG4iLCBvdXQuYnVmKTsKLQl9Ci0Jc3RyYnVmX3JlbGVhc2UoJm5hbWUpOwotCXN0cmJ1Zl9yZWxlYXNlKCZvdXQpOwotCWZyZWUodG9fZnJlZSk7Ci19Ci0KIHN0YXRpYyBpbnQgY2FsY19tYXh3aWR0aChzdHJ1Y3QgcmVmX2FycmF5ICpyZWZzLCBpbnQgcmVtb3RlX2JvbnVzKQogewogCWludCBpLCBtYXggPSAwOwpAQCAtNDgyLDcgKzI5NiwxMiBAQAogCiAJCXNraXBfcHJlZml4KGl0LT5yZWZuYW1lLCAicmVmcy9oZWFkcy8iLCAmZGVzYyk7CiAJCXNraXBfcHJlZml4KGl0LT5yZWZuYW1lLCAicmVmcy9yZW1vdGVzLyIsICZkZXNjKTsKLQkJdyA9IHV0Zjhfc3Ryd2lkdGgoZGVzYyk7CisJCWlmIChpdC0+a2luZCA9PSBGSUxURVJfUkVGU19ERVRBQ0hFRF9IRUFEKSB7CisJCQljaGFyICpoZWFkX2Rlc2MgPSBnZXRfaGVhZF9kZXNjcmlwdGlvbigpOworCQkJdyA9IHV0Zjhfc3Ryd2lkdGgoaGVhZF9kZXNjKTsKKwkJCWZyZWUoaGVhZF9kZXNjKTsKKwkJfSBlbHNlCisJCQl3ID0gdXRmOF9zdHJ3aWR0aChkZXNjKTsKIAogCQlpZiAoaXQtPmtpbmQgPT0gRklMVEVSX1JFRlNfUkVNT1RFUykKIAkJCXcgKz0gcmVtb3RlX2JvbnVzOwpAQCAtNDkyLDEyICszMTEsODcgQEAKIAlyZXR1cm4gbWF4OwogfQogCi1zdGF0aWMgdm9pZCBwcmludF9yZWZfbGlzdChzdHJ1Y3QgcmVmX2ZpbHRlciAqZmlsdGVyLCBzdHJ1Y3QgcmVmX3NvcnRpbmcgKnNvcnRpbmcpCitzdGF0aWMgY29uc3QgY2hhciAqcXVvdGVfbGl0ZXJhbF9mb3JfZm9ybWF0KGNvbnN0IGNoYXIgKnMpCit7CisJc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfcmVzZXQoJmJ1Zik7CisJd2hpbGUgKCpzKSB7CisJCWNvbnN0IGNoYXIgKmVwID0gc3RyY2hybnVsKHMsICclJyk7CisJCWlmIChzIDwgZXApCisJCQlzdHJidWZfYWRkKCZidWYsIHMsIGVwIC0gcyk7CisJCWlmICgqZXAgPT0gJyUnKSB7CisJCQlzdHJidWZfYWRkc3RyKCZidWYsICIlJSIpOworCQkJcyA9IGVwICsgMTsKKwkJfSBlbHNlIHsKKwkJCXMgPSBlcDsKKwkJfQorCX0KKwlyZXR1cm4gYnVmLmJ1ZjsKK30KKworc3RhdGljIGNoYXIgKmJ1aWxkX2Zvcm1hdChzdHJ1Y3QgcmVmX2ZpbHRlciAqZmlsdGVyLCBpbnQgbWF4d2lkdGgsIGNvbnN0IGNoYXIgKnJlbW90ZV9wcmVmaXgpCit7CisJc3RydWN0IHN0cmJ1ZiBmbXQgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIGxvY2FsID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiByZW1vdGUgPSBTVFJCVUZfSU5JVDsKKworCXN0cmJ1Zl9hZGRmKCZsb2NhbCwgIiUlKGlmKSUlKEhFQUQpJSUodGhlbikqICVzJSUoZWxzZSkgICVzJSUoZW5kKSIsCisJCSAgICBicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9DVVJSRU5UKSwKKwkJICAgIGJyYW5jaF9nZXRfY29sb3IoQlJBTkNIX0NPTE9SX0xPQ0FMKSk7CisJc3RyYnVmX2FkZGYoJnJlbW90ZSwgIiAgJXMiLAorCQkgICAgYnJhbmNoX2dldF9jb2xvcihCUkFOQ0hfQ09MT1JfUkVNT1RFKSk7CisKKwlpZiAoZmlsdGVyLT52ZXJib3NlKSB7CisJCXN0cnVjdCBzdHJidWYgb2JuYW1lID0gU1RSQlVGX0lOSVQ7CisKKwkJaWYgKGZpbHRlci0+YWJicmV2IDwgMCkKKwkJCXN0cmJ1Zl9hZGRmKCZvYm5hbWUsICIlJShvYmplY3RuYW1lOnNob3J0KSIpOworCQllbHNlIGlmICghZmlsdGVyLT5hYmJyZXYpCisJCQlzdHJidWZfYWRkZigmb2JuYW1lLCAiJSUob2JqZWN0bmFtZSkiKTsKKwkJZWxzZQorCQkJc3RyYnVmX2FkZGYoJm9ibmFtZSwgIiUlKG9iamVjdG5hbWU6c2hvcnQ9JWQpIiwgZmlsdGVyLT5hYmJyZXYpOworCisJCXN0cmJ1Zl9hZGRmKCZsb2NhbCwgIiUlKGFsaWduOiVkLGxlZnQpJSUocmVmbmFtZTpsc3RyaXA9MiklJShlbmQpIiwgbWF4d2lkdGgpOworCQlzdHJidWZfYWRkc3RyKCZsb2NhbCwgYnJhbmNoX2dldF9jb2xvcihCUkFOQ0hfQ09MT1JfUkVTRVQpKTsKKwkJc3RyYnVmX2FkZGYoJmxvY2FsLCAiICVzICIsIG9ibmFtZS5idWYpOworCisJCWlmIChmaWx0ZXItPnZlcmJvc2UgPiAxKQorCQkJc3RyYnVmX2FkZGYoJmxvY2FsLCAiJSUoaWYpJSUodXBzdHJlYW0pJSUodGhlbilbJXMlJSh1cHN0cmVhbTpzaG9ydCklcyUlKGlmKSUlKHVwc3RyZWFtOnRyYWNrKSIKKwkJCQkgICAgIiUlKHRoZW4pOiAlJSh1cHN0cmVhbTp0cmFjayxub2JyYWNrZXQpJSUoZW5kKV0gJSUoZW5kKSUlKGNvbnRlbnRzOnN1YmplY3QpIiwKKwkJCQkgICAgYnJhbmNoX2dldF9jb2xvcihCUkFOQ0hfQ09MT1JfVVBTVFJFQU0pLCBicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9SRVNFVCkpOworCQllbHNlCisJCQlzdHJidWZfYWRkZigmbG9jYWwsICIlJShpZiklJSh1cHN0cmVhbTp0cmFjayklJSh0aGVuKSUlKHVwc3RyZWFtOnRyYWNrKSAlJShlbmQpJSUoY29udGVudHM6c3ViamVjdCkiKTsKKworCQlzdHJidWZfYWRkZigmcmVtb3RlLCAiJSUoYWxpZ246JWQsbGVmdCklcyUlKHJlZm5hbWU6bHN0cmlwPTIpJSUoZW5kKSVzIgorCQkJICAgICIlJShpZiklJShzeW1yZWYpJSUodGhlbikgLT4gJSUoc3ltcmVmOnNob3J0KSIKKwkJCSAgICAiJSUoZWxzZSkgJXMgJSUoY29udGVudHM6c3ViamVjdCklJShlbmQpIiwKKwkJCSAgICBtYXh3aWR0aCwgcXVvdGVfbGl0ZXJhbF9mb3JfZm9ybWF0KHJlbW90ZV9wcmVmaXgpLAorCQkJICAgIGJyYW5jaF9nZXRfY29sb3IoQlJBTkNIX0NPTE9SX1JFU0VUKSwgb2JuYW1lLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZvYm5hbWUpOworCX0gZWxzZSB7CisJCXN0cmJ1Zl9hZGRmKCZsb2NhbCwgIiUlKHJlZm5hbWU6bHN0cmlwPTIpJXMlJShpZiklJShzeW1yZWYpJSUodGhlbikgLT4gJSUoc3ltcmVmOnNob3J0KSUlKGVuZCkiLAorCQkJICAgIGJyYW5jaF9nZXRfY29sb3IoQlJBTkNIX0NPTE9SX1JFU0VUKSk7CisJCXN0cmJ1Zl9hZGRmKCZyZW1vdGUsICIlcyUlKHJlZm5hbWU6bHN0cmlwPTIpJXMlJShpZiklJShzeW1yZWYpJSUodGhlbikgLT4gJSUoc3ltcmVmOnNob3J0KSUlKGVuZCkiLAorCQkJICAgIHF1b3RlX2xpdGVyYWxfZm9yX2Zvcm1hdChyZW1vdGVfcHJlZml4KSwKKwkJCSAgICBicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9SRVNFVCkpOworCX0KKworCXN0cmJ1Zl9hZGRmKCZmbXQsICIlJShpZjpub3RlcXVhbHM9cmVmcy9yZW1vdGVzKSUlKHJlZm5hbWU6cnN0cmlwPS0yKSUlKHRoZW4pJXMlJShlbHNlKSVzJSUoZW5kKSIsIGxvY2FsLmJ1ZiwgcmVtb3RlLmJ1Zik7CisKKwlzdHJidWZfcmVsZWFzZSgmbG9jYWwpOworCXN0cmJ1Zl9yZWxlYXNlKCZyZW1vdGUpOworCXJldHVybiBzdHJidWZfZGV0YWNoKCZmbXQsIE5VTEwpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9yZWZfbGlzdChzdHJ1Y3QgcmVmX2ZpbHRlciAqZmlsdGVyLCBzdHJ1Y3QgcmVmX3NvcnRpbmcgKnNvcnRpbmcsIHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQpCiB7CiAJaW50IGk7CiAJc3RydWN0IHJlZl9hcnJheSBhcnJheTsKIAlpbnQgbWF4d2lkdGggPSAwOwogCWNvbnN0IGNoYXIgKnJlbW90ZV9wcmVmaXggPSAiIjsKKwlzdHJ1Y3Qgc3RyYnVmIG91dCA9IFNUUkJVRl9JTklUOworCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOwogCiAJLyoKIAkgKiBJZiB3ZSBhcmUgbGlzdGluZyBtb3JlIHRoYW4ganVzdCByZW1vdGUgYnJhbmNoZXMsCkBAIC01MDksMTggKzQwMywzNSBAQAogCiAJbWVtc2V0KCZhcnJheSwgMCwgc2l6ZW9mKGFycmF5KSk7CiAKLQl2ZXJpZnlfcmVmX2Zvcm1hdCgiJShyZWZuYW1lKSUoc3ltcmVmKSIpOwogCWZpbHRlcl9yZWZzKCZhcnJheSwgZmlsdGVyLCBmaWx0ZXItPmtpbmQgfCBGSUxURVJfUkVGU19JTkNMVURFX0JST0tFTik7CiAKIAlpZiAoZmlsdGVyLT52ZXJib3NlKQogCQltYXh3aWR0aCA9IGNhbGNfbWF4d2lkdGgoJmFycmF5LCBzdHJsZW4ocmVtb3RlX3ByZWZpeCkpOwogCisJaWYgKCFmb3JtYXQtPmZvcm1hdCkKKwkJZm9ybWF0LT5mb3JtYXQgPSB0b19mcmVlID0gYnVpbGRfZm9ybWF0KGZpbHRlciwgbWF4d2lkdGgsIHJlbW90ZV9wcmVmaXgpOworCWZvcm1hdC0+dXNlX2NvbG9yID0gYnJhbmNoX3VzZV9jb2xvcjsKKworCWlmICh2ZXJpZnlfcmVmX2Zvcm1hdChmb3JtYXQpKQorCQlkaWUoXygidW5hYmxlIHRvIHBhcnNlIGZvcm1hdCBzdHJpbmciKSk7CisKIAlyZWZfYXJyYXlfc29ydChzb3J0aW5nLCAmYXJyYXkpOwogCi0JZm9yIChpID0gMDsgaSA8IGFycmF5Lm5yOyBpKyspCi0JCWZvcm1hdF9hbmRfcHJpbnRfcmVmX2l0ZW0oYXJyYXkuaXRlbXNbaV0sIG1heHdpZHRoLCBmaWx0ZXIsIHJlbW90ZV9wcmVmaXgpOworCWZvciAoaSA9IDA7IGkgPCBhcnJheS5ucjsgaSsrKSB7CisJCWZvcm1hdF9yZWZfYXJyYXlfaXRlbShhcnJheS5pdGVtc1tpXSwgZm9ybWF0LCAmb3V0KTsKKwkJaWYgKGNvbHVtbl9hY3RpdmUoY29sb3B0cykpIHsKKwkJCWFzc2VydCghZmlsdGVyLT52ZXJib3NlICYmICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiKTsKKwkJCSAvKiBmb3JtYXQgdG8gYSBzdHJpbmdfbGlzdCB0byBsZXQgcHJpbnRfY29sdW1ucygpIGRvIGl0cyBqb2IgKi8KKwkJCXN0cmluZ19saXN0X2FwcGVuZCgmb3V0cHV0LCBvdXQuYnVmKTsKKwkJfSBlbHNlIHsKKwkJCWZ3cml0ZShvdXQuYnVmLCAxLCBvdXQubGVuLCBzdGRvdXQpOworCQkJcHV0Y2hhcignXG4nKTsKKwkJfQorCQlzdHJidWZfcmVsZWFzZSgmb3V0KTsKKwl9CiAKIAlyZWZfYXJyYXlfY2xlYXIoJmFycmF5KTsKKwlmcmVlKHRvX2ZyZWUpOwogfQogCiBzdGF0aWMgdm9pZCByZWplY3RfcmViYXNlX29yX2Jpc2VjdF9icmFuY2goY29uc3QgY2hhciAqdGFyZ2V0KQpAQCAtNTQ2LDE1ICs0NTcsMTkgQEAKIAlmcmVlX3dvcmt0cmVlcyh3b3JrdHJlZXMpOwogfQogCi1zdGF0aWMgdm9pZCByZW5hbWVfYnJhbmNoKGNvbnN0IGNoYXIgKm9sZG5hbWUsIGNvbnN0IGNoYXIgKm5ld25hbWUsIGludCBmb3JjZSkKK3N0YXRpYyB2b2lkIGNvcHlfb3JfcmVuYW1lX2JyYW5jaChjb25zdCBjaGFyICpvbGRuYW1lLCBjb25zdCBjaGFyICpuZXduYW1lLCBpbnQgY29weSwgaW50IGZvcmNlKQogewogCXN0cnVjdCBzdHJidWYgb2xkcmVmID0gU1RSQlVGX0lOSVQsIG5ld3JlZiA9IFNUUkJVRl9JTklULCBsb2dtc2cgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIG9sZHNlY3Rpb24gPSBTVFJCVUZfSU5JVCwgbmV3c2VjdGlvbiA9IFNUUkJVRl9JTklUOwogCWludCByZWNvdmVyeSA9IDA7CiAJaW50IGNsb2JiZXJfaGVhZF9vazsKIAotCWlmICghb2xkbmFtZSkKLQkJZGllKF8oImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIikpOworCWlmICghb2xkbmFtZSkgeworCQlpZiAoY29weSkKKwkJCWRpZShfKCJjYW5ub3QgY29weSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iKSk7CisJCWVsc2UKKwkJCWRpZShfKCJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIpKTsKKwl9CiAKIAlpZiAoc3RyYnVmX2NoZWNrX2JyYW5jaF9yZWYoJm9sZHJlZiwgb2xkbmFtZSkpIHsKIAkJLyoKQEAgLTU3NywzMCArNDkyLDQ2IEBACiAKIAlyZWplY3RfcmViYXNlX29yX2Jpc2VjdF9icmFuY2gob2xkcmVmLmJ1Zik7CiAKLQlzdHJidWZfYWRkZigmbG9nbXNnLCAiQnJhbmNoOiByZW5hbWVkICVzIHRvICVzIiwKLQkJIG9sZHJlZi5idWYsIG5ld3JlZi5idWYpOworCWlmIChjb3B5KQorCQlzdHJidWZfYWRkZigmbG9nbXNnLCAiQnJhbmNoOiBjb3BpZWQgJXMgdG8gJXMiLAorCQkJICAgIG9sZHJlZi5idWYsIG5ld3JlZi5idWYpOworCWVsc2UKKwkJc3RyYnVmX2FkZGYoJmxvZ21zZywgIkJyYW5jaDogcmVuYW1lZCAlcyB0byAlcyIsCisJCQkgICAgb2xkcmVmLmJ1ZiwgbmV3cmVmLmJ1Zik7CiAKLQlpZiAocmVuYW1lX3JlZihvbGRyZWYuYnVmLCBuZXdyZWYuYnVmLCBsb2dtc2cuYnVmKSkKKwlpZiAoIWNvcHkgJiYgcmVuYW1lX3JlZihvbGRyZWYuYnVmLCBuZXdyZWYuYnVmLCBsb2dtc2cuYnVmKSkKIAkJZGllKF8oIkJyYW5jaCByZW5hbWUgZmFpbGVkIikpOwotCXN0cmJ1Zl9yZWxlYXNlKCZsb2dtc2cpOworCWlmIChjb3B5ICYmIGNvcHlfZXhpc3RpbmdfcmVmKG9sZHJlZi5idWYsIG5ld3JlZi5idWYsIGxvZ21zZy5idWYpKQorCQlkaWUoXygiQnJhbmNoIGNvcHkgZmFpbGVkIikpOwogCi0JaWYgKHJlY292ZXJ5KQotCQl3YXJuaW5nKF8oIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IiksIG9sZHJlZi5idWYgKyAxMSk7CisJaWYgKHJlY292ZXJ5KSB7CisJCWlmIChjb3B5KQorCQkJd2FybmluZyhfKCJDb3BpZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IiksCisJCQkJb2xkcmVmLmJ1ZiArIDExKTsKKwkJZWxzZQorCQkJd2FybmluZyhfKCJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIpLAorCQkJCW9sZHJlZi5idWYgKyAxMSk7CisJfQogCi0JaWYgKHJlcGxhY2VfZWFjaF93b3JrdHJlZV9oZWFkX3N5bXJlZihvbGRyZWYuYnVmLCBuZXdyZWYuYnVmKSkKKwlpZiAoIWNvcHkgJiYKKwkgICAgcmVwbGFjZV9lYWNoX3dvcmt0cmVlX2hlYWRfc3ltcmVmKG9sZHJlZi5idWYsIG5ld3JlZi5idWYsIGxvZ21zZy5idWYpKQogCQlkaWUoXygiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIpLCBuZXduYW1lKTsKIAorCXN0cmJ1Zl9yZWxlYXNlKCZsb2dtc2cpOworCiAJc3RyYnVmX2FkZGYoJm9sZHNlY3Rpb24sICJicmFuY2guJXMiLCBvbGRyZWYuYnVmICsgMTEpOwogCXN0cmJ1Zl9yZWxlYXNlKCZvbGRyZWYpOwogCXN0cmJ1Zl9hZGRmKCZuZXdzZWN0aW9uLCAiYnJhbmNoLiVzIiwgbmV3cmVmLmJ1ZiArIDExKTsKIAlzdHJidWZfcmVsZWFzZSgmbmV3cmVmKTsKLQlpZiAoZ2l0X2NvbmZpZ19yZW5hbWVfc2VjdGlvbihvbGRzZWN0aW9uLmJ1ZiwgbmV3c2VjdGlvbi5idWYpIDwgMCkKKwlpZiAoIWNvcHkgJiYgZ2l0X2NvbmZpZ19yZW5hbWVfc2VjdGlvbihvbGRzZWN0aW9uLmJ1ZiwgbmV3c2VjdGlvbi5idWYpIDwgMCkKIAkJZGllKF8oIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIpKTsKKwlpZiAoY29weSAmJiBzdHJjbXAob2xkbmFtZSwgbmV3bmFtZSkgJiYgZ2l0X2NvbmZpZ19jb3B5X3NlY3Rpb24ob2xkc2VjdGlvbi5idWYsIG5ld3NlY3Rpb24uYnVmKSA8IDApCisJCWRpZShfKCJCcmFuY2ggaXMgY29waWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIpKTsKIAlzdHJidWZfcmVsZWFzZSgmb2xkc2VjdGlvbik7CiAJc3RyYnVmX3JlbGVhc2UoJm5ld3NlY3Rpb24pOwogfQogCi1zdGF0aWMgY29uc3QgY2hhciBlZGl0X2Rlc2NyaXB0aW9uW10gPSAiQlJBTkNIX0RFU0NSSVBUSU9OIjsKK3N0YXRpYyBHSVRfUEFUSF9GVU5DKGVkaXRfZGVzY3JpcHRpb24sICJFRElUX0RFU0NSSVBUSU9OIikKIAogc3RhdGljIGludCBlZGl0X2JyYW5jaF9kZXNjcmlwdGlvbihjb25zdCBjaGFyICpicmFuY2hfbmFtZSkKIHsKQEAgLTYxNSw5ICs1NDYsOSBAQAogCQkgICAgICAiICAlc1xuIgogCQkgICAgICAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgc3RyaXBwZWQuXG4iKSwKIAkJICAgIGJyYW5jaF9uYW1lLCBjb21tZW50X2xpbmVfY2hhcik7Ci0Jd3JpdGVfZmlsZV9idWYoZ2l0X3BhdGgoZWRpdF9kZXNjcmlwdGlvbiksIGJ1Zi5idWYsIGJ1Zi5sZW4pOworCXdyaXRlX2ZpbGVfYnVmKGVkaXRfZGVzY3JpcHRpb24oKSwgYnVmLmJ1ZiwgYnVmLmxlbik7CiAJc3RyYnVmX3Jlc2V0KCZidWYpOwotCWlmIChsYXVuY2hfZWRpdG9yKGdpdF9wYXRoKGVkaXRfZGVzY3JpcHRpb24pLCAmYnVmLCBOVUxMKSkgeworCWlmIChsYXVuY2hfZWRpdG9yKGVkaXRfZGVzY3JpcHRpb24oKSwgJmJ1ZiwgTlVMTCkpIHsKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJCXJldHVybiAtMTsKIAl9CkBAIC02MzMsNyArNTY0LDcgQEAKIAogaW50IGNtZF9icmFuY2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0JaW50IGRlbGV0ZSA9IDAsIHJlbmFtZSA9IDAsIGZvcmNlID0gMCwgbGlzdCA9IDA7CisJaW50IGRlbGV0ZSA9IDAsIHJlbmFtZSA9IDAsIGNvcHkgPSAwLCBmb3JjZSA9IDAsIGxpc3QgPSAwOwogCWludCByZWZsb2cgPSAwLCBlZGl0X2Rlc2NyaXB0aW9uID0gMDsKIAlpbnQgcXVpZXQgPSAwLCB1bnNldF91cHN0cmVhbSA9IDA7CiAJY29uc3QgY2hhciAqbmV3X3Vwc3RyZWFtID0gTlVMTDsKQEAgLTY0MSw2ICs1NzIsNyBAQAogCXN0cnVjdCByZWZfZmlsdGVyIGZpbHRlcjsKIAlpbnQgaWNhc2UgPSAwOwogCXN0YXRpYyBzdHJ1Y3QgcmVmX3NvcnRpbmcgKnNvcnRpbmcgPSBOVUxMLCAqKnNvcnRpbmdfdGFpbCA9ICZzb3J0aW5nOworCXN0cnVjdCByZWZfZm9ybWF0IGZvcm1hdCA9IFJFRl9GT1JNQVRfSU5JVDsKIAogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewogCQlPUFRfR1JPVVAoTl8oIkdlbmVyaWMgb3B0aW9ucyIpKSwKQEAgLTY0OSwxNSArNTgxLDE3IEBACiAJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIpKSwKIAkJT1BUX1NFVF9JTlQoJ3QnLCAidHJhY2siLCAgJnRyYWNrLCBOXygic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiKSwKIAkJCUJSQU5DSF9UUkFDS19FWFBMSUNJVCksCi0JCU9QVF9TRVRfSU5UKCAwLCAic2V0LXVwc3RyZWFtIiwgICZ0cmFjaywgTl8oImNoYW5nZSB1cHN0cmVhbSBpbmZvIiksCi0JCQlCUkFOQ0hfVFJBQ0tfT1ZFUlJJREUpLAorCQl7IE9QVElPTl9TRVRfSU5ULCAwLCAic2V0LXVwc3RyZWFtIiwgJnRyYWNrLCBOVUxMLCBOXygiZG8gbm90IHVzZSIpLAorCQkJUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX0hJRERFTiwgTlVMTCwgQlJBTkNIX1RSQUNLX09WRVJSSURFIH0sCiAJCU9QVF9TVFJJTkcoJ3UnLCAic2V0LXVwc3RyZWFtLXRvIiwgJm5ld191cHN0cmVhbSwgTl8oInVwc3RyZWFtIiksIE5fKCJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iKSksCiAJCU9QVF9CT09MKDAsICJ1bnNldC11cHN0cmVhbSIsICZ1bnNldF91cHN0cmVhbSwgTl8oIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIikpLAogCQlPUFRfX0NPTE9SKCZicmFuY2hfdXNlX2NvbG9yLCBOXygidXNlIGNvbG9yZWQgb3V0cHV0IikpLAogCQlPUFRfU0VUX0lOVCgncicsICJyZW1vdGVzIiwgICAgICZmaWx0ZXIua2luZCwgTl8oImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiKSwKIAkJCUZJTFRFUl9SRUZTX1JFTU9URVMpLAogCQlPUFRfQ09OVEFJTlMoJmZpbHRlci53aXRoX2NvbW1pdCwgTl8oInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiKSksCisJCU9QVF9OT19DT05UQUlOUygmZmlsdGVyLm5vX2NvbW1pdCwgTl8oInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiKSksCiAJCU9QVF9XSVRIKCZmaWx0ZXIud2l0aF9jb21taXQsIE5fKCJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IikpLAorCQlPUFRfV0lUSE9VVCgmZmlsdGVyLm5vX2NvbW1pdCwgTl8oInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiKSksCiAJCU9QVF9fQUJCUkVWKCZmaWx0ZXIuYWJicmV2KSwKIAogCQlPUFRfR1JPVVAoTl8oIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiKSksCkBAIC02NjcsNiArNjAxLDggQEAKIAkJT1BUX0JJVCgnRCcsIE5VTEwsICZkZWxldGUsIE5fKCJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIiksIDIpLAogCQlPUFRfQklUKCdtJywgIm1vdmUiLCAmcmVuYW1lLCBOXygibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciKSwgMSksCiAJCU9QVF9CSVQoJ00nLCBOVUxMLCAmcmVuYW1lLCBOXygibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIpLCAyKSwKKwkJT1BUX0JJVCgnYycsICJjb3B5IiwgJmNvcHksIE5fKCJjb3B5IGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIiksIDEpLAorCQlPUFRfQklUKCdDJywgTlVMTCwgJmNvcHksIE5fKCJjb3B5IGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiKSwgMiksCiAJCU9QVF9CT09MKDAsICJsaXN0IiwgJmxpc3QsIE5fKCJsaXN0IGJyYW5jaCBuYW1lcyIpKSwKIAkJT1BUX0JPT0woJ2wnLCAiY3JlYXRlLXJlZmxvZyIsICZyZWZsb2csIE5fKCJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIpKSwKIAkJT1BUX0JPT0woMCwgImVkaXQtZGVzY3JpcHRpb24iLCAmZWRpdF9kZXNjcmlwdGlvbiwKQEAgLTY4Miw5ICs2MTgsMTIgQEAKIAkJCU5fKCJwcmludCBvbmx5IGJyYW5jaGVzIG9mIHRoZSBvYmplY3QiKSwgMCwgcGFyc2Vfb3B0X29iamVjdF9uYW1lCiAJCX0sCiAJCU9QVF9CT09MKCdpJywgImlnbm9yZS1jYXNlIiwgJmljYXNlLCBOXygic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIikpLAorCQlPUFRfU1RSSU5HKCAgMCAsICJmb3JtYXQiLCAmZm9ybWF0LmZvcm1hdCwgTl8oImZvcm1hdCIpLCBOXygiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIpKSwKIAkJT1BUX0VORCgpLAogCX07CiAKKwlzZXR1cF9yZWZfZmlsdGVyX3BvcmNlbGFpbl9tc2coKTsKKwogCW1lbXNldCgmZmlsdGVyLCAwLCBzaXplb2YoZmlsdGVyKSk7CiAJZmlsdGVyLmtpbmQgPSBGSUxURVJfUkVGU19CUkFOQ0hFUzsKIAlmaWx0ZXIuYWJicmV2ID0gLTE7CkBAIC02OTYsNyArNjM1LDcgQEAKIAogCXRyYWNrID0gZ2l0X2JyYW5jaF90cmFjazsKIAotCWhlYWQgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIDAsIGhlYWRfc2hhMSwgTlVMTCk7CisJaGVhZCA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgaGVhZF9vaWQuaGFzaCwgTlVMTCk7CiAJaWYgKCFoZWFkKQogCQlkaWUoXygiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iKSk7CiAJaWYgKCFzdHJjbXAoaGVhZCwgIkhFQUQiKSkKQEAgLTcwNywxMyArNjQ2LDE0IEBACiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCBidWlsdGluX2JyYW5jaF91c2FnZSwKIAkJCSAgICAgMCk7CiAKLQlpZiAoIWRlbGV0ZSAmJiAhcmVuYW1lICYmICFlZGl0X2Rlc2NyaXB0aW9uICYmICFuZXdfdXBzdHJlYW0gJiYgIXVuc2V0X3Vwc3RyZWFtICYmIGFyZ2MgPT0gMCkKKwlpZiAoIWRlbGV0ZSAmJiAhcmVuYW1lICYmICFjb3B5ICYmICFlZGl0X2Rlc2NyaXB0aW9uICYmICFuZXdfdXBzdHJlYW0gJiYgIXVuc2V0X3Vwc3RyZWFtICYmIGFyZ2MgPT0gMCkKIAkJbGlzdCA9IDE7CiAKLQlpZiAoZmlsdGVyLndpdGhfY29tbWl0IHx8IGZpbHRlci5tZXJnZSAhPSBSRUZfRklMVEVSX01FUkdFRF9OT05FIHx8IGZpbHRlci5wb2ludHNfYXQubnIpCisJaWYgKGZpbHRlci53aXRoX2NvbW1pdCB8fCBmaWx0ZXIubWVyZ2UgIT0gUkVGX0ZJTFRFUl9NRVJHRURfTk9ORSB8fCBmaWx0ZXIucG9pbnRzX2F0Lm5yIHx8CisJICAgIGZpbHRlci5ub19jb21taXQpCiAJCWxpc3QgPSAxOwogCi0JaWYgKCEhZGVsZXRlICsgISFyZW5hbWUgKyAhIW5ld191cHN0cmVhbSArCisJaWYgKCEhZGVsZXRlICsgISFyZW5hbWUgKyAhIWNvcHkgKyAhIW5ld191cHN0cmVhbSArCiAJICAgIGxpc3QgKyB1bnNldF91cHN0cmVhbSA+IDEpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX2JyYW5jaF91c2FnZSwgb3B0aW9ucyk7CiAKQEAgLTczMSw2ICs2NzEsNyBAQAogCWlmIChmb3JjZSkgewogCQlkZWxldGUgKj0gMjsKIAkJcmVuYW1lICo9IDI7CisJCWNvcHkgKj0gMjsKIAl9CiAKIAlpZiAoZGVsZXRlKSB7CkBAIC03NTIsNyArNjkzLDcgQEAKIAkJaWYgKCFzb3J0aW5nKQogCQkJc29ydGluZyA9IHJlZl9kZWZhdWx0X3NvcnRpbmcoKTsKIAkJc29ydGluZy0+aWdub3JlX2Nhc2UgPSBpY2FzZTsKLQkJcHJpbnRfcmVmX2xpc3QoJmZpbHRlciwgc29ydGluZyk7CisJCXByaW50X3JlZl9saXN0KCZmaWx0ZXIsIHNvcnRpbmcsICZmb3JtYXQpOwogCQlwcmludF9jb2x1bW5zKCZvdXRwdXQsIGNvbG9wdHMsIE5VTEwpOwogCQlzdHJpbmdfbGlzdF9jbGVhcigmb3V0cHV0LCAwKTsKIAkJcmV0dXJuIDA7CkBAIC03ODUsMTMgKzcyNiwyMiBAQAogCiAJCWlmIChlZGl0X2JyYW5jaF9kZXNjcmlwdGlvbihicmFuY2hfbmFtZSkpCiAJCQlyZXR1cm4gMTsKKwl9IGVsc2UgaWYgKGNvcHkpIHsKKwkJaWYgKCFhcmdjKQorCQkJZGllKF8oImJyYW5jaCBuYW1lIHJlcXVpcmVkIikpOworCQllbHNlIGlmIChhcmdjID09IDEpCisJCQljb3B5X29yX3JlbmFtZV9icmFuY2goaGVhZCwgYXJndlswXSwgMSwgY29weSA+IDEpOworCQllbHNlIGlmIChhcmdjID09IDIpCisJCQljb3B5X29yX3JlbmFtZV9icmFuY2goYXJndlswXSwgYXJndlsxXSwgMSwgY29weSA+IDEpOworCQllbHNlCisJCQlkaWUoXygidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgY29weSBvcGVyYXRpb24iKSk7CiAJfSBlbHNlIGlmIChyZW5hbWUpIHsKIAkJaWYgKCFhcmdjKQogCQkJZGllKF8oImJyYW5jaCBuYW1lIHJlcXVpcmVkIikpOwogCQllbHNlIGlmIChhcmdjID09IDEpCi0JCQlyZW5hbWVfYnJhbmNoKGhlYWQsIGFyZ3ZbMF0sIHJlbmFtZSA+IDEpOworCQkJY29weV9vcl9yZW5hbWVfYnJhbmNoKGhlYWQsIGFyZ3ZbMF0sIDAsIHJlbmFtZSA+IDEpOwogCQllbHNlIGlmIChhcmdjID09IDIpCi0JCQlyZW5hbWVfYnJhbmNoKGFyZ3ZbMF0sIGFyZ3ZbMV0sIHJlbmFtZSA+IDEpOworCQkJY29weV9vcl9yZW5hbWVfYnJhbmNoKGFyZ3ZbMF0sIGFyZ3ZbMV0sIDAsIHJlbmFtZSA+IDEpOwogCQllbHNlCiAJCQlkaWUoXygidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIpKTsKIAl9IGVsc2UgaWYgKG5ld191cHN0cmVhbSkgewpAQCAtODQxLDggKzc5MSw2IEBACiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCX0gZWxzZSBpZiAoYXJnYyA+IDAgJiYgYXJnYyA8PSAyKSB7CiAJCXN0cnVjdCBicmFuY2ggKmJyYW5jaCA9IGJyYW5jaF9nZXQoYXJndlswXSk7Ci0JCWludCBicmFuY2hfZXhpc3RlZCA9IDAsIHJlbW90ZV90cmFja2luZyA9IDA7Ci0JCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAkJaWYgKCFzdHJjbXAoYXJndlswXSwgIkhFQUQiKSkKIAkJCWRpZShfKCJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiKSk7CkBAIC04NTQsMjggKzgwMiwxMSBAQAogCQkJZGllKF8oIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiKSk7CiAKIAkJaWYgKHRyYWNrID09IEJSQU5DSF9UUkFDS19PVkVSUklERSkKLQkJCWZwcmludGYoc3RkZXJyLCBfKCJUaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tdHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG9cbiIpKTsKKwkJCWRpZShfKCJ0aGUgJy0tc2V0LXVwc3RyZWFtJyBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gUGxlYXNlIHVzZSAnLS10cmFjaycgb3IgJy0tc2V0LXVwc3RyZWFtLXRvJyBpbnN0ZWFkLiIpKTsKIAotCQlzdHJidWZfYWRkZigmYnVmLCAicmVmcy9yZW1vdGVzLyVzIiwgYnJhbmNoLT5uYW1lKTsKLQkJcmVtb3RlX3RyYWNraW5nID0gcmVmX2V4aXN0cyhidWYuYnVmKTsKLQkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Ci0KLQkJYnJhbmNoX2V4aXN0ZWQgPSByZWZfZXhpc3RzKGJyYW5jaC0+cmVmbmFtZSk7CiAJCWNyZWF0ZV9icmFuY2goYXJndlswXSwgKGFyZ2MgPT0gMikgPyBhcmd2WzFdIDogaGVhZCwKIAkJCSAgICAgIGZvcmNlLCByZWZsb2csIDAsIHF1aWV0LCB0cmFjayk7CiAKLQkJLyoKLQkJICogV2Ugb25seSBzaG93IHRoZSBpbnN0cnVjdGlvbnMgaWYgdGhlIHVzZXIgZ2F2ZSB1cwotCQkgKiBvbmUgYnJhbmNoIHdoaWNoIGRvZXNuJ3QgZXhpc3QgbG9jYWxseSwgYnV0IGlzIHRoZQotCQkgKiBuYW1lIG9mIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaC4KLQkJICovCi0JCWlmIChhcmdjID09IDEgJiYgdHJhY2sgPT0gQlJBTkNIX1RSQUNLX09WRVJSSURFICYmCi0JCSAgICAhYnJhbmNoX2V4aXN0ZWQgJiYgcmVtb3RlX3RyYWNraW5nKSB7Ci0JCQlmcHJpbnRmKHN0ZGVyciwgXygiXG5JZiB5b3Ugd2FudGVkIHRvIG1ha2UgJyVzJyB0cmFjayAnJXMnLCBkbyB0aGlzOlxuXG4iKSwgaGVhZCwgYnJhbmNoLT5uYW1lKTsKLQkJCWZwcmludGYoc3RkZXJyLCAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIsIGJyYW5jaC0+bmFtZSk7Ci0JCQlmcHJpbnRmKHN0ZGVyciwgIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvICVzXG4iLCBicmFuY2gtPm5hbWUpOwotCQl9Ci0KIAl9IGVsc2UKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fYnJhbmNoX3VzYWdlLCBvcHRpb25zKTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9idW5kbGUuYyBiL2J1aWx0aW4vYnVuZGxlLmMKaW5kZXggNDg4M2E0My4uZDBkZTU5YiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9idW5kbGUuYworKysgYi9idWlsdGluL2J1bmRsZS5jCkBAIC0yMCwyMSArMjAsMTUgQEAKIAlzdHJ1Y3QgYnVuZGxlX2hlYWRlciBoZWFkZXI7CiAJY29uc3QgY2hhciAqY21kLCAqYnVuZGxlX2ZpbGU7CiAJaW50IGJ1bmRsZV9mZCA9IC0xOwotCWNoYXIgYnVmZmVyW1BBVEhfTUFYXTsKIAogCWlmIChhcmdjIDwgMykKIAkJdXNhZ2UoYnVpbHRpbl9idW5kbGVfdXNhZ2UpOwogCiAJY21kID0gYXJndlsxXTsKLQlidW5kbGVfZmlsZSA9IGFyZ3ZbMl07CisJYnVuZGxlX2ZpbGUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBhcmd2WzJdKTsKIAlhcmdjIC09IDI7CiAJYXJndiArPSAyOwogCi0JaWYgKHByZWZpeCAmJiBidW5kbGVfZmlsZVswXSAhPSAnLycpIHsKLQkJc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgIiVzLyVzIiwgcHJlZml4LCBidW5kbGVfZmlsZSk7Ci0JCWJ1bmRsZV9maWxlID0gYnVmZmVyOwotCX0KLQogCW1lbXNldCgmaGVhZGVyLCAwLCBzaXplb2YoaGVhZGVyKSk7CiAJaWYgKHN0cmNtcChjbWQsICJjcmVhdGUiKSAmJiAoYnVuZGxlX2ZkID0KIAkJCQlyZWFkX2J1bmRsZV9oZWFkZXIoYnVuZGxlX2ZpbGUsICZoZWFkZXIpKSA8IDApCmRpZmYgLS1naXQgYS9idWlsdGluL2NhdC1maWxlLmMgYi9idWlsdGluL2NhdC1maWxlLmMKaW5kZXggMzAzODNlOS4uZjVmYTRmZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jYXQtZmlsZS5jCisrKyBiL2J1aWx0aW4vY2F0LWZpbGUuYwpAQCAtNCwxMiArNCwxNSBAQAogICogQ29weXJpZ2h0IChDKSBMaW51cyBUb3J2YWxkcywgMjAwNQogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiZGlmZi5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJ1c2VyZGlmZi5oIgogI2luY2x1ZGUgInN0cmVhbWluZy5oIgogI2luY2x1ZGUgInRyZWUtd2Fsay5oIgogI2luY2x1ZGUgInNoYTEtYXJyYXkuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiBzdHJ1Y3QgYmF0Y2hfb3B0aW9ucyB7CiAJaW50IGVuYWJsZWQ7CkBAIC01NSwxMyArNTgsMTQgQEAKIAlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgb2JqX2NvbnRleHQ7CiAJc3RydWN0IG9iamVjdF9pbmZvIG9pID0gT0JKRUNUX0lORk9fSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7Ci0JdW5zaWduZWQgZmxhZ3MgPSBMT09LVVBfUkVQTEFDRV9PQkpFQ1Q7CisJdW5zaWduZWQgZmxhZ3MgPSBPQkpFQ1RfSU5GT19MT09LVVBfUkVQTEFDRTsKIAljb25zdCBjaGFyICpwYXRoID0gZm9yY2VfcGF0aDsKIAogCWlmICh1bmtub3duX3R5cGUpCi0JCWZsYWdzIHw9IExPT0tVUF9VTktOT1dOX09CSkVDVDsKKwkJZmxhZ3MgfD0gT0JKRUNUX0lORk9fQUxMT1dfVU5LTk9XTl9UWVBFOwogCi0JaWYgKGdldF9zaGExX3dpdGhfY29udGV4dChvYmpfbmFtZSwgMCwgb2lkLmhhc2gsICZvYmpfY29udGV4dCkpCisJaWYgKGdldF9vaWRfd2l0aF9jb250ZXh0KG9ial9uYW1lLCBHRVRfT0lEX1JFQ09SRF9QQVRILAorCQkJCSAmb2lkLCAmb2JqX2NvbnRleHQpKQogCQlkaWUoIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIiwgb2JqX25hbWUpOwogCiAJaWYgKCFwYXRoKQpAQCAtOTMsNyArOTcsNyBAQAogCQlyZXR1cm4gIWhhc19vYmplY3RfZmlsZSgmb2lkKTsKIAogCWNhc2UgJ3cnOgotCQlpZiAoIXBhdGhbMF0pCisJCWlmICghcGF0aCkKIAkJCWRpZSgiZ2l0IGNhdC1maWxlIC0tZmlsdGVycyAlczogPG9iamVjdD4gbXVzdCBiZSAiCiAJCQkgICAgIjxzaGExOnBhdGg+Iiwgb2JqX25hbWUpOwogCkBAIC0xMDMsMTIgKzEwNywxMyBAQAogCQlicmVhazsKIAogCWNhc2UgJ2MnOgotCQlpZiAoIXBhdGhbMF0pCisJCWlmICghcGF0aCkKIAkJCWRpZSgiZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnYgJXM6IDxvYmplY3Q+IG11c3QgYmUgPHNoYTE6cGF0aD4iLAogCQkJICAgIG9ial9uYW1lKTsKIAogCQlpZiAodGV4dGNvbnZfb2JqZWN0KHBhdGgsIG9ial9jb250ZXh0Lm1vZGUsICZvaWQsIDEsICZidWYsICZzaXplKSkKIAkJCWJyZWFrOworCQkvKiBlbHNlIGZhbGx0aHJvdWdoICovCiAKIAljYXNlICdwJzoKIAkJdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8ob2lkLmhhc2gsIE5VTEwpOwpAQCAtMTY1LDYgKzE3MCw4IEBACiAJCWRpZSgiZ2l0IGNhdC1maWxlICVzOiBiYWQgZmlsZSIsIG9ial9uYW1lKTsKIAogCXdyaXRlX29yX2RpZSgxLCBidWYsIHNpemUpOworCWZyZWUoYnVmKTsKKwlmcmVlKG9ial9jb250ZXh0LnBhdGgpOwogCXJldHVybiAwOwogfQogCkBAIC0zMzMsNyArMzQwLDggQEAKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJaWYgKCFkYXRhLT5za2lwX29iamVjdF9pbmZvICYmCi0JICAgIHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoZGF0YS0+b2lkLmhhc2gsICZkYXRhLT5pbmZvLCBMT09LVVBfUkVQTEFDRV9PQkpFQ1QpIDwgMCkgeworCSAgICBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKGRhdGEtPm9pZC5oYXNoLCAmZGF0YS0+aW5mbywKKwkJCQkgICAgICBPQkpFQ1RfSU5GT19MT09LVVBfUkVQTEFDRSkgPCAwKSB7CiAJCXByaW50ZigiJXMgbWlzc2luZ1xuIiwKIAkJICAgICAgIG9ial9uYW1lID8gb2JqX25hbWUgOiBvaWRfdG9faGV4KCZkYXRhLT5vaWQpKTsKIAkJZmZsdXNoKHN0ZG91dCk7CkBAIC0zNTUsMTAgKzM2MywxMCBAQAogCQkJICAgICBzdHJ1Y3QgZXhwYW5kX2RhdGEgKmRhdGEpCiB7CiAJc3RydWN0IG9iamVjdF9jb250ZXh0IGN0eDsKLQlpbnQgZmxhZ3MgPSBvcHQtPmZvbGxvd19zeW1saW5rcyA/IEdFVF9TSEExX0ZPTExPV19TWU1MSU5LUyA6IDA7CisJaW50IGZsYWdzID0gb3B0LT5mb2xsb3dfc3ltbGlua3MgPyBHRVRfT0lEX0ZPTExPV19TWU1MSU5LUyA6IDA7CiAJZW51bSBmb2xsb3dfc3ltbGlua3NfcmVzdWx0IHJlc3VsdDsKIAotCXJlc3VsdCA9IGdldF9zaGExX3dpdGhfY29udGV4dChvYmpfbmFtZSwgZmxhZ3MsIGRhdGEtPm9pZC5oYXNoLCAmY3R4KTsKKwlyZXN1bHQgPSBnZXRfb2lkX3dpdGhfY29udGV4dChvYmpfbmFtZSwgZmxhZ3MsICZkYXRhLT5vaWQsICZjdHgpOwogCWlmIChyZXN1bHQgIT0gRk9VTkQpIHsKIAkJc3dpdGNoIChyZXN1bHQpIHsKIAkJY2FzZSBNSVNTSU5HX09CSkVDVDoKQEAgLTQwMSwyOCArNDA5LDI4IEBACiAJc3RydWN0IGV4cGFuZF9kYXRhICpleHBhbmQ7CiB9OwogCi1zdGF0aWMgaW50IGJhdGNoX29iamVjdF9jYihjb25zdCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLCB2b2lkICp2ZGF0YSkKK3N0YXRpYyBpbnQgYmF0Y2hfb2JqZWN0X2NiKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqdmRhdGEpCiB7CiAJc3RydWN0IG9iamVjdF9jYl9kYXRhICpkYXRhID0gdmRhdGE7Ci0JaGFzaGNweShkYXRhLT5leHBhbmQtPm9pZC5oYXNoLCBzaGExKTsKKwlvaWRjcHkoJmRhdGEtPmV4cGFuZC0+b2lkLCBvaWQpOwogCWJhdGNoX29iamVjdF93cml0ZShOVUxMLCBkYXRhLT5vcHQsIGRhdGEtPmV4cGFuZCk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYmF0Y2hfbG9vc2Vfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdGF0aWMgaW50IGJhdGNoX2xvb3NlX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgICAgICBjb25zdCBjaGFyICpwYXRoLAogCQkJICAgICAgdm9pZCAqZGF0YSkKIHsKLQlzaGExX2FycmF5X2FwcGVuZChkYXRhLCBzaGExKTsKKwlvaWRfYXJyYXlfYXBwZW5kKGRhdGEsIG9pZCk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYmF0Y2hfcGFja2VkX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RhdGljIGludCBiYXRjaF9wYWNrZWRfb2JqZWN0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSAgICAgICBzdHJ1Y3QgcGFja2VkX2dpdCAqcGFjaywKIAkJCSAgICAgICB1aW50MzJfdCBwb3MsCiAJCQkgICAgICAgdm9pZCAqZGF0YSkKIHsKLQlzaGExX2FycmF5X2FwcGVuZChkYXRhLCBzaGExKTsKKwlvaWRfYXJyYXlfYXBwZW5kKGRhdGEsIG9pZCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQ2Miw3ICs0NzAsNyBAQAogCQlkYXRhLmluZm8udHlwZXAgPSAmZGF0YS50eXBlOwogCiAJaWYgKG9wdC0+YWxsX29iamVjdHMpIHsKLQkJc3RydWN0IHNoYTFfYXJyYXkgc2EgPSBTSEExX0FSUkFZX0lOSVQ7CisJCXN0cnVjdCBvaWRfYXJyYXkgc2EgPSBPSURfQVJSQVlfSU5JVDsKIAkJc3RydWN0IG9iamVjdF9jYl9kYXRhIGNiOwogCiAJCWZvcl9lYWNoX2xvb3NlX29iamVjdChiYXRjaF9sb29zZV9vYmplY3QsICZzYSwgMCk7CkBAIC00NzAsOSArNDc4LDkgQEAKIAogCQljYi5vcHQgPSBvcHQ7CiAJCWNiLmV4cGFuZCA9ICZkYXRhOwotCQlzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZSgmc2EsIGJhdGNoX29iamVjdF9jYiwgJmNiKTsKKwkJb2lkX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZSgmc2EsIGJhdGNoX29iamVjdF9jYiwgJmNiKTsKIAotCQlzaGExX2FycmF5X2NsZWFyKCZzYSk7CisJCW9pZF9hcnJheV9jbGVhcigmc2EpOwogCQlyZXR1cm4gMDsKIAl9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2hlY2stYXR0ci5jIGIvYnVpbHRpbi9jaGVjay1hdHRyLmMKaW5kZXggNTNhNWExOC4uOTE0NDRkYyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jaGVjay1hdHRyLmMKKysrIGIvYnVpbHRpbi9jaGVjay1hdHRyLmMKQEAgLTEsNSArMSw2IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYXR0ci5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgpAQCAtMjQsMTIgKzI1LDEzIEBACiAJT1BUX0VORCgpCiB9OwogCi1zdGF0aWMgdm9pZCBvdXRwdXRfYXR0cihpbnQgY250LCBzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgKmNoZWNrLAotCWNvbnN0IGNoYXIgKmZpbGUpCitzdGF0aWMgdm9pZCBvdXRwdXRfYXR0cihzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2ssIGNvbnN0IGNoYXIgKmZpbGUpCiB7CiAJaW50IGo7CisJaW50IGNudCA9IGNoZWNrLT5ucjsKKwogCWZvciAoaiA9IDA7IGogPCBjbnQ7IGorKykgewotCQljb25zdCBjaGFyICp2YWx1ZSA9IGNoZWNrW2pdLnZhbHVlOworCQljb25zdCBjaGFyICp2YWx1ZSA9IGNoZWNrLT5pdGVtc1tqXS52YWx1ZTsKIAogCQlpZiAoQVRUUl9UUlVFKHZhbHVlKSkKIAkJCXZhbHVlID0gInNldCI7CkBAIC00MiwzNSArNDQsMzggQEAKIAkJCXByaW50ZigiJXMlYyIgLyogcGF0aCAqLwogCQkJICAgICAgICIlcyVjIiAvKiBhdHRybmFtZSAqLwogCQkJICAgICAgICIlcyVjIiAvKiBhdHRydmFsdWUgKi8sCi0JCQkgICAgICAgZmlsZSwgMCwgZ2l0X2F0dHJfbmFtZShjaGVja1tqXS5hdHRyKSwgMCwgdmFsdWUsIDApOworCQkJICAgICAgIGZpbGUsIDAsCisJCQkgICAgICAgZ2l0X2F0dHJfbmFtZShjaGVjay0+aXRlbXNbal0uYXR0ciksIDAsIHZhbHVlLCAwKTsKIAkJfSBlbHNlIHsKIAkJCXF1b3RlX2Nfc3R5bGUoZmlsZSwgTlVMTCwgc3Rkb3V0LCAwKTsKLQkJCXByaW50ZigiOiAlczogJXNcbiIsIGdpdF9hdHRyX25hbWUoY2hlY2tbal0uYXR0ciksIHZhbHVlKTsKKwkJCXByaW50ZigiOiAlczogJXNcbiIsCisJCQkgICAgICAgZ2l0X2F0dHJfbmFtZShjaGVjay0+aXRlbXNbal0uYXR0ciksIHZhbHVlKTsKIAkJfQotCiAJfQogfQogCi1zdGF0aWMgdm9pZCBjaGVja19hdHRyKGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGNudCwKLQlzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgKmNoZWNrLCBjb25zdCBjaGFyICpmaWxlKQorc3RhdGljIHZvaWQgY2hlY2tfYXR0cihjb25zdCBjaGFyICpwcmVmaXgsCisJCSAgICAgICBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2ssCisJCSAgICAgICBpbnQgY29sbGVjdF9hbGwsCisJCSAgICAgICBjb25zdCBjaGFyICpmaWxlKQogewogCWNoYXIgKmZ1bGxfcGF0aCA9CiAJCXByZWZpeF9wYXRoKHByZWZpeCwgcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwLCBmaWxlKTsKLQlpZiAoY2hlY2sgIT0gTlVMTCkgewotCQlpZiAoZ2l0X2NoZWNrX2F0dHIoZnVsbF9wYXRoLCBjbnQsIGNoZWNrKSkKLQkJCWRpZSgiZ2l0X2NoZWNrX2F0dHIgZGllZCIpOwotCQlvdXRwdXRfYXR0cihjbnQsIGNoZWNrLCBmaWxlKTsKKworCWlmIChjb2xsZWN0X2FsbCkgeworCQlnaXRfYWxsX2F0dHJzKGZ1bGxfcGF0aCwgY2hlY2spOwogCX0gZWxzZSB7Ci0JCWlmIChnaXRfYWxsX2F0dHJzKGZ1bGxfcGF0aCwgJmNudCwgJmNoZWNrKSkKLQkJCWRpZSgiZ2l0X2FsbF9hdHRycyBkaWVkIik7Ci0JCW91dHB1dF9hdHRyKGNudCwgY2hlY2ssIGZpbGUpOwotCQlmcmVlKGNoZWNrKTsKKwkJaWYgKGdpdF9jaGVja19hdHRyKGZ1bGxfcGF0aCwgY2hlY2spKQorCQkJZGllKCJnaXRfY2hlY2tfYXR0ciBkaWVkIik7CiAJfQorCW91dHB1dF9hdHRyKGNoZWNrLCBmaWxlKTsKKwogCWZyZWUoZnVsbF9wYXRoKTsKIH0KIAotc3RhdGljIHZvaWQgY2hlY2tfYXR0cl9zdGRpbl9wYXRocyhjb25zdCBjaGFyICpwcmVmaXgsIGludCBjbnQsCi0Jc3RydWN0IGdpdF9hdHRyX2NoZWNrICpjaGVjaykKK3N0YXRpYyB2b2lkIGNoZWNrX2F0dHJfc3RkaW5fcGF0aHMoY29uc3QgY2hhciAqcHJlZml4LAorCQkJCSAgIHN0cnVjdCBhdHRyX2NoZWNrICpjaGVjaywKKwkJCQkgICBpbnQgY29sbGVjdF9hbGwpCiB7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHVucXVvdGVkID0gU1RSQlVGX0lOSVQ7CkBAIC04NCw3ICs4OSw3IEBACiAJCQkJZGllKCJsaW5lIGlzIGJhZGx5IHF1b3RlZCIpOwogCQkJc3RyYnVmX3N3YXAoJmJ1ZiwgJnVucXVvdGVkKTsKIAkJfQotCQljaGVja19hdHRyKHByZWZpeCwgY250LCBjaGVjaywgYnVmLmJ1Zik7CisJCWNoZWNrX2F0dHIocHJlZml4LCBjaGVjaywgY29sbGVjdF9hbGwsIGJ1Zi5idWYpOwogCQltYXliZV9mbHVzaF9vcl9kaWUoc3Rkb3V0LCAiYXR0cmlidXRlIHRvIHN0ZG91dCIpOwogCX0KIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKQEAgLTk5LDcgKzEwNCw3IEBACiAKIGludCBjbWRfY2hlY2tfYXR0cihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKLQlzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgKmNoZWNrOworCXN0cnVjdCBhdHRyX2NoZWNrICpjaGVjazsKIAlpbnQgY250LCBpLCBkb3VibGVkYXNoLCBmaWxlaTsKIAogCWlmICghaXNfYmFyZV9yZXBvc2l0b3J5KCkpCkBAIC0xNTksMjggKzE2NCwyNiBAQAogCQkJZXJyb3Jfd2l0aF91c2FnZSgiTm8gZmlsZSBzcGVjaWZpZWQiKTsKIAl9CiAKLQlpZiAoYWxsX2F0dHJzKSB7Ci0JCWNoZWNrID0gTlVMTDsKLQl9IGVsc2UgewotCQljaGVjayA9IHhjYWxsb2MoY250LCBzaXplb2YoKmNoZWNrKSk7CisJY2hlY2sgPSBhdHRyX2NoZWNrX2FsbG9jKCk7CisJaWYgKCFhbGxfYXR0cnMpIHsKIAkJZm9yIChpID0gMDsgaSA8IGNudDsgaSsrKSB7Ci0JCQljb25zdCBjaGFyICpuYW1lOwotCQkJc3RydWN0IGdpdF9hdHRyICphOwotCQkJbmFtZSA9IGFyZ3ZbaV07Ci0JCQlhID0gZ2l0X2F0dHIobmFtZSk7CisJCQljb25zdCBzdHJ1Y3QgZ2l0X2F0dHIgKmEgPSBnaXRfYXR0cihhcmd2W2ldKTsKKwogCQkJaWYgKCFhKQogCQkJCXJldHVybiBlcnJvcigiJXM6IG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lIiwKLQkJCQkJbmFtZSk7Ci0JCQljaGVja1tpXS5hdHRyID0gYTsKKwkJCQkJICAgICBhcmd2W2ldKTsKKwkJCWF0dHJfY2hlY2tfYXBwZW5kKGNoZWNrLCBhKTsKIAkJfQogCX0KIAogCWlmIChzdGRpbl9wYXRocykKLQkJY2hlY2tfYXR0cl9zdGRpbl9wYXRocyhwcmVmaXgsIGNudCwgY2hlY2spOworCQljaGVja19hdHRyX3N0ZGluX3BhdGhzKHByZWZpeCwgY2hlY2ssIGFsbF9hdHRycyk7CiAJZWxzZSB7CiAJCWZvciAoaSA9IGZpbGVpOyBpIDwgYXJnYzsgaSsrKQotCQkJY2hlY2tfYXR0cihwcmVmaXgsIGNudCwgY2hlY2ssIGFyZ3ZbaV0pOworCQkJY2hlY2tfYXR0cihwcmVmaXgsIGNoZWNrLCBhbGxfYXR0cnMsIGFyZ3ZbaV0pOwogCQltYXliZV9mbHVzaF9vcl9kaWUoc3Rkb3V0LCAiYXR0cmlidXRlIHRvIHN0ZG91dCIpOwogCX0KKworCWF0dHJfY2hlY2tfZnJlZShjaGVjayk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL2NoZWNrLWlnbm9yZS5jIGIvYnVpbHRpbi9jaGVjay1pZ25vcmUuYwppbmRleCAxZDczZDNjLi4zZTI4MGI5IDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrLWlnbm9yZS5jCisrKyBiL2J1aWx0aW4vY2hlY2staWdub3JlLmMKQEAgLTEsOSArMSwxMSBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAicGF0aHNwZWMuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLmgiCiAKIHN0YXRpYyBpbnQgcXVpZXQsIHZlcmJvc2UsIHN0ZGluX3BhdGhzLCBzaG93X25vbl9tYXRjaGluZywgbm9faW5kZXg7CiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNoZWNrX2lnbm9yZV91c2FnZVtdID0gewpAQCAtODcsMjEgKzg5LDIzIEBACiAJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLAogCQkgICAgICAgUEFUSFNQRUNfQUxMX01BR0lDICYgflBBVEhTUEVDX0ZST01UT1AsCiAJCSAgICAgICBQQVRIU1BFQ19TWU1MSU5LX0xFQURJTkdfUEFUSCB8Ci0JCSAgICAgICBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfRVhQRU5TSVZFIHwKIAkJICAgICAgIFBBVEhTUEVDX0tFRVBfT1JERVIsCiAJCSAgICAgICBwcmVmaXgsIGFyZ3YpOwogCisJZGllX3BhdGhfaW5zaWRlX3N1Ym1vZHVsZSgmdGhlX2luZGV4LCAmcGF0aHNwZWMpOworCiAJLyoKIAkgKiBsb29rIGZvciBwYXRoc3BlY3MgbWF0Y2hpbmcgZW50cmllcyBpbiB0aGUgaW5kZXgsIHNpbmNlIHRoZXNlCiAJICogc2hvdWxkIG5vdCBiZSBpZ25vcmVkLCBpbiBvcmRlciB0byBiZSBjb25zaXN0ZW50IHdpdGgKIAkgKiAnZ2l0IHN0YXR1cycsICdnaXQgYWRkJyBldGMuCiAJICovCi0Jc2VlbiA9IGZpbmRfcGF0aHNwZWNzX21hdGNoaW5nX2FnYWluc3RfaW5kZXgoJnBhdGhzcGVjKTsKKwlzZWVuID0gZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleCgmcGF0aHNwZWMsICZ0aGVfaW5kZXgpOwogCWZvciAoaSA9IDA7IGkgPCBwYXRoc3BlYy5ucjsgaSsrKSB7CiAJCWZ1bGxfcGF0aCA9IHBhdGhzcGVjLml0ZW1zW2ldLm1hdGNoOwogCQlleGNsdWRlID0gTlVMTDsKIAkJaWYgKCFzZWVuW2ldKSB7Ci0JCQlleGNsdWRlID0gbGFzdF9leGNsdWRlX21hdGNoaW5nKGRpciwgZnVsbF9wYXRoLCAmZHR5cGUpOworCQkJZXhjbHVkZSA9IGxhc3RfZXhjbHVkZV9tYXRjaGluZyhkaXIsICZ0aGVfaW5kZXgsCisJCQkJCQkJZnVsbF9wYXRoLCAmZHR5cGUpOwogCQl9CiAJCWlmICghcXVpZXQgJiYgKGV4Y2x1ZGUgfHwgc2hvd19ub25fbWF0Y2hpbmcpKQogCQkJb3V0cHV0X2V4Y2x1ZGUocGF0aHNwZWMuaXRlbXNbaV0ub3JpZ2luYWwsIGV4Y2x1ZGUpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jaGVjay1tYWlsbWFwLmMgYi9idWlsdGluL2NoZWNrLW1haWxtYXAuYwppbmRleCBjZjBmNTRmLi5jZGNlMTQ0IDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrLW1haWxtYXAuYworKysgYi9idWlsdGluL2NoZWNrLW1haWxtYXAuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibWFpbG1hcC5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jaGVjay1yZWYtZm9ybWF0LmMgYi9idWlsdGluL2NoZWNrLXJlZi1mb3JtYXQuYwppbmRleCBlYWM0OTk0Li42YzQwZmYxIDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrLXJlZi1mb3JtYXQuYworKysgYi9idWlsdGluL2NoZWNrLXJlZi1mb3JtYXQuYwpAQCAtNDUsNiArNDUsNyBAQAogCWlmIChzdHJidWZfY2hlY2tfYnJhbmNoX3JlZigmc2IsIGFyZykpCiAJCWRpZSgiJyVzJyBpcyBub3QgYSB2YWxpZCBicmFuY2ggbmFtZSIsIGFyZyk7CiAJcHJpbnRmKCIlc1xuIiwgc2IuYnVmICsgMTEpOworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2hlY2tvdXQtaW5kZXguYyBiL2J1aWx0aW4vY2hlY2tvdXQtaW5kZXguYwppbmRleCAwNzYzMWQwLi4zOWM4YmUwIDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrb3V0LWluZGV4LmMKKysrIGIvYnVpbHRpbi9jaGVja291dC1pbmRleC5jCkBAIC01LDYgKzUsNyBAQAogICoKICAqLwogI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jaGVja291dC5jIGIvYnVpbHRpbi9jaGVja291dC5jCmluZGV4IDgxZjA3YzMuLjEwNzUxNTggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2hlY2tvdXQuYworKysgYi9idWlsdGluL2NoZWNrb3V0LmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInJlZnMuaCIKQEAgLTIxNiwyMiArMjE3LDI0IEBACiAJLyoKIAkgKiBORUVEU1dPUks6CiAJICogVGhlcmUgaXMgYWJzb2x1dGVseSBubyByZWFzb24gdG8gd3JpdGUgdGhpcyBhcyBhIGJsb2Igb2JqZWN0Ci0JICogYW5kIGNyZWF0ZSBhIHBob255IGNhY2hlIGVudHJ5IGp1c3QgdG8gbGVhay4gIFRoaXMgaGFjayBpcwotCSAqIHByaW1hcmlseSB0byBnZXQgdG8gdGhlIHdyaXRlX2VudHJ5KCkgbWFjaGluZXJ5IHRoYXQgbWFzc2FnZXMKLQkgKiB0aGUgY29udGVudHMgdG8gd29yay10cmVlIGZvcm1hdCBhbmQgd3JpdGVzIG91dCB3aGljaCBvbmx5Ci0JICogYWxsb3dzIGl0IGZvciBhIGNhY2hlIGVudHJ5LiAgVGhlIGNvZGUgaW4gd3JpdGVfZW50cnkoKSBuZWVkcwotCSAqIHRvIGJlIHJlZmFjdG9yZWQgdG8gYWxsb3cgdXMgdG8gZmVlZCBhIDxidWZmZXIsIHNpemUsIG1vZGU+Ci0JICogaW5zdGVhZCBvZiBhIGNhY2hlIGVudHJ5LiAgU3VjaCBhIHJlZmFjdG9yaW5nIHdvdWxkIGhlbHAKLQkgKiBtZXJnZV9yZWN1cnNpdmUgYXMgd2VsbCAoaXQgYWxzbyB3cml0ZXMgdGhlIG1lcmdlIHJlc3VsdCB0byB0aGUKLQkgKiBvYmplY3QgZGF0YWJhc2UgZXZlbiB3aGVuIGl0IG1heSBjb250YWluIGNvbmZsaWN0cykuCisJICogYW5kIGNyZWF0ZSBhIHBob255IGNhY2hlIGVudHJ5LiAgVGhpcyBoYWNrIGlzIHByaW1hcmlseSB0byBnZXQKKwkgKiB0byB0aGUgd3JpdGVfZW50cnkoKSBtYWNoaW5lcnkgdGhhdCBtYXNzYWdlcyB0aGUgY29udGVudHMgdG8KKwkgKiB3b3JrLXRyZWUgZm9ybWF0IGFuZCB3cml0ZXMgb3V0IHdoaWNoIG9ubHkgYWxsb3dzIGl0IGZvciBhCisJICogY2FjaGUgZW50cnkuICBUaGUgY29kZSBpbiB3cml0ZV9lbnRyeSgpIG5lZWRzIHRvIGJlIHJlZmFjdG9yZWQKKwkgKiB0byBhbGxvdyB1cyB0byBmZWVkIGEgPGJ1ZmZlciwgc2l6ZSwgbW9kZT4gaW5zdGVhZCBvZiBhIGNhY2hlCisJICogZW50cnkuICBTdWNoIGEgcmVmYWN0b3Jpbmcgd291bGQgaGVscCBtZXJnZV9yZWN1cnNpdmUgYXMgd2VsbAorCSAqIChpdCBhbHNvIHdyaXRlcyB0aGUgbWVyZ2UgcmVzdWx0IHRvIHRoZSBvYmplY3QgZGF0YWJhc2UgZXZlbgorCSAqIHdoZW4gaXQgbWF5IGNvbnRhaW4gY29uZmxpY3RzKS4KIAkgKi8KIAlpZiAod3JpdGVfc2hhMV9maWxlKHJlc3VsdF9idWYucHRyLCByZXN1bHRfYnVmLnNpemUsCiAJCQkgICAgYmxvYl90eXBlLCBvaWQuaGFzaCkpCiAJCWRpZShfKCJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIpLCBwYXRoKTsKKwlmcmVlKHJlc3VsdF9idWYucHRyKTsKIAljZSA9IG1ha2VfY2FjaGVfZW50cnkobW9kZSwgb2lkLmhhc2gsIHBhdGgsIDIsIDApOwogCWlmICghY2UpCiAJCWRpZShfKCJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIiksIHBhdGgpOwogCXN0YXR1cyA9IGNoZWNrb3V0X2VudHJ5KGNlLCBzdGF0ZSwgTlVMTCk7CisJZnJlZShjZSk7CiAJcmV0dXJuIHN0YXR1czsKIH0KIApAQCAtMzU1LDYgKzM1OCw4IEBACiAJc3RhdGUuZm9yY2UgPSAxOwogCXN0YXRlLnJlZnJlc2hfY2FjaGUgPSAxOwogCXN0YXRlLmlzdGF0ZSA9ICZ0aGVfaW5kZXg7CisKKwllbmFibGVfZGVsYXllZF9jaGVja291dCgmc3RhdGUpOwogCWZvciAocG9zID0gMDsgcG9zIDwgYWN0aXZlX25yOyBwb3MrKykgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW3Bvc107CiAJCWlmIChjZS0+Y2VfZmxhZ3MgJiBDRV9NQVRDSEVEKSB7CkBAIC0zNjksMTIgKzM3NCwxMyBAQAogCQkJcG9zID0gc2tpcF9zYW1lX25hbWUoY2UsIHBvcykgLSAxOwogCQl9CiAJfQorCWVycnMgfD0gZmluaXNoX2RlbGF5ZWRfY2hlY2tvdXQoJnN0YXRlKTsKIAogCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgbG9ja19maWxlLCBDT01NSVRfTE9DSykpCiAJCWRpZShfKCJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKSk7CiAKIAlyZWFkX3JlZl9mdWxsKCJIRUFEIiwgMCwgcmV2Lmhhc2gsIE5VTEwpOwotCWhlYWQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmV2Lmhhc2gsIDEpOworCWhlYWQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoJnJldiwgMSk7CiAKIAllcnJzIHw9IHBvc3RfY2hlY2tvdXRfaG9vayhoZWFkLCBoZWFkLCAwKTsKIAlyZXR1cm4gZXJyczsKQEAgLTQzMCw2ICs0MzYsNyBAQAogCQkgKiB1cGRhdGUgcGF0aHMgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHdlIGNhbm5vdCByZXZlcnQKIAkJICogdGhlbS4KIAkJICovCisJCS8qIGZhbGx0aHJvdWdoICovCiAJY2FzZSAwOgogCQlyZXR1cm4gMDsKIAlkZWZhdWx0OgpAQCAtNTA4LDEwICs1MTUsMTAgQEAKIAkJCXNldHVwX3N0YW5kYXJkX2V4Y2x1ZGVzKHRvcHRzLmRpcik7CiAJCX0KIAkJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3Qob2xkLT5jb21taXQgPwotCQkJCQkgICBvbGQtPmNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoIDoKLQkJCQkJICAgRU1QVFlfVFJFRV9TSEExX0JJTik7CisJCQkJCSAgICZvbGQtPmNvbW1pdC0+b2JqZWN0Lm9pZCA6CisJCQkJCSAgICZlbXB0eV90cmVlX29pZCk7CiAJCWluaXRfdHJlZV9kZXNjKCZ0cmVlc1swXSwgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKTsKLQkJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QobmV3LT5jb21taXQtPm9iamVjdC5vaWQuaGFzaCk7CisJCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KCZuZXctPmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAJCWluaXRfdHJlZV9kZXNjKCZ0cmVlc1sxXSwgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKTsKIAogCQlyZXQgPSB1bnBhY2tfdHJlZXMoMiwgdHJlZXMsICZ0b3B0cyk7CkBAIC03MDIsNyArNzA5LDcgQEAKIAkJCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkJIGludCBmbGFncywgdm9pZCAqY2JfZGF0YSkKIHsKLQlhZGRfcGVuZGluZ19zaGExKGNiX2RhdGEsIHJlZm5hbWUsIG9pZC0+aGFzaCwgVU5JTlRFUkVTVElORyk7CisJYWRkX3BlbmRpbmdfb2lkKGNiX2RhdGEsIHJlZm5hbWUsIG9pZCwgVU5JTlRFUkVTVElORyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTc4OCwxMSArNzk1LDE2IEBACiAJYWRkX3BlbmRpbmdfb2JqZWN0KCZyZXZzLCBvYmplY3QsIG9pZF90b19oZXgoJm9iamVjdC0+b2lkKSk7CiAKIAlmb3JfZWFjaF9yZWYoYWRkX3BlbmRpbmdfdW5pbnRlcmVzdGluZ19yZWYsICZyZXZzKTsKLQlhZGRfcGVuZGluZ19zaGExKCZyZXZzLCAiSEVBRCIsIG5ldy0+b2JqZWN0Lm9pZC5oYXNoLCBVTklOVEVSRVNUSU5HKTsKKwlhZGRfcGVuZGluZ19vaWQoJnJldnMsICJIRUFEIiwgJm5ldy0+b2JqZWN0Lm9pZCwgVU5JTlRFUkVTVElORyk7CiAKKwkvKiBTYXZlIHBlbmRpbmcgb2JqZWN0cywgc28gdGhleSBjYW4gYmUgY2xlYW5lZCB1cCBsYXRlci4gKi8KIAlyZWZzID0gcmV2cy5wZW5kaW5nOwogCXJldnMubGVha19wZW5kaW5nID0gMTsKIAorCS8qCisJICogcHJlcGFyZV9yZXZpc2lvbl93YWxrICh0b2dldGhlciB3aXRoIC5sZWFrX3BlbmRpbmcgPSAxKSBtYWtlcyB1cworCSAqIHRoZSBzb2xlIG93bmVyIG9mIHRoZSBsaXN0IG9mIHBlbmRpbmcgb2JqZWN0cy4KKwkgKi8KIAlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKCZyZXZzKSkKIAkJZGllKF8oImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiKSk7CiAJaWYgKCEob2xkLT5vYmplY3QuZmxhZ3MgJiBVTklOVEVSRVNUSU5HKSkKQEAgLTgwMCw4ICs4MTIsMTAgQEAKIAllbHNlCiAJCWRlc2NyaWJlX2RldGFjaGVkX2hlYWQoXygiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiKSwgb2xkKTsKIAorCS8qIENsZWFuIHVwIG9iamVjdHMgdXNlZCwgYXMgdGhleSB3aWxsIGJlIHJldXNlZC4gKi8KIAljbGVhcl9jb21taXRfbWFya3NfZm9yX29iamVjdF9hcnJheSgmcmVmcywgQUxMX1JFVl9GTEFHUyk7Ci0JZnJlZShyZWZzLm9iamVjdHMpOworCisJb2JqZWN0X2FycmF5X2NsZWFyKCZyZWZzKTsKIH0KIAogc3RhdGljIGludCBzd2l0Y2hfYnJhbmNoZXMoY29uc3Qgc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsCkBAIC04MTQsNyArODI4LDggQEAKIAlpbnQgZmxhZywgd3JpdGVvdXRfZXJyb3IgPSAwOwogCW1lbXNldCgmb2xkLCAwLCBzaXplb2Yob2xkKSk7CiAJb2xkLnBhdGggPSBwYXRoX3RvX2ZyZWUgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIDAsIHJldi5oYXNoLCAmZmxhZyk7Ci0Jb2xkLmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShyZXYuaGFzaCwgMSk7CisJaWYgKG9sZC5wYXRoKQorCQlvbGQuY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KCZyZXYsIDEpOwogCWlmICghKGZsYWcgJiBSRUZfSVNTWU1SRUYpKQogCQlvbGQucGF0aCA9IE5VTEw7CiAKQEAgLTg1NCw3ICs4NjksNyBAQAogCX0KIAogCWlmIChzdGFydHNfd2l0aCh2YXIsICJzdWJtb2R1bGUuIikpCi0JCXJldHVybiBwYXJzZV9zdWJtb2R1bGVfY29uZmlnX29wdGlvbih2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIGdpdF9kZWZhdWx0X3N1Ym1vZHVsZV9jb25maWcodmFyLCB2YWx1ZSwgTlVMTCk7CiAKIAlyZXR1cm4gZ2l0X3htZXJnZV9jb25maWcodmFyLCB2YWx1ZSwgTlVMTCk7CiB9CkBAIC04ODksMTEgKzkwNCwxMCBAQAogc3RhdGljIGNvbnN0IGNoYXIgKnVuaXF1ZV90cmFja2luZ19uYW1lKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3QgdHJhY2tpbmdfbmFtZV9kYXRhIGNiX2RhdGEgPSB7IE5VTEwsIE5VTEwsIE5VTEwsIDEgfTsKLQljaGFyIHNyY19yZWZbUEFUSF9NQVhdOwotCXNucHJpbnRmKHNyY19yZWYsIFBBVEhfTUFYLCAicmVmcy9oZWFkcy8lcyIsIG5hbWUpOwotCWNiX2RhdGEuc3JjX3JlZiA9IHNyY19yZWY7CisJY2JfZGF0YS5zcmNfcmVmID0geHN0cmZtdCgicmVmcy9oZWFkcy8lcyIsIG5hbWUpOwogCWNiX2RhdGEuZHN0X29pZCA9IG9pZDsKIAlmb3JfZWFjaF9yZW1vdGUoY2hlY2tfdHJhY2tpbmdfbmFtZSwgJmNiX2RhdGEpOworCWZyZWUoY2JfZGF0YS5zcmNfcmVmKTsKIAlpZiAoY2JfZGF0YS51bmlxdWUpCiAJCXJldHVybiBjYl9kYXRhLmRzdF9yZWY7CiAJZnJlZShjYl9kYXRhLmRzdF9yZWYpOwpAQCAtMTAyOSwxMCArMTA0MywxMCBAQAogCWVsc2UKIAkJbmV3LT5wYXRoID0gTlVMTDsgLyogbm90IGFuIGV4aXN0aW5nIGJyYW5jaCAqLwogCi0JbmV3LT5jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmV2LT5oYXNoLCAxKTsKKwluZXctPmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShyZXYsIDEpOwogCWlmICghbmV3LT5jb21taXQpIHsKIAkJLyogbm90IGEgY29tbWl0ICovCi0JCSpzb3VyY2VfdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QocmV2LT5oYXNoKTsKKwkJKnNvdXJjZV90cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChyZXYpOwogCX0gZWxzZSB7CiAJCXBhcnNlX2NvbW1pdF9vcl9kaWUobmV3LT5jb21taXQpOwogCQkqc291cmNlX3RyZWUgPSBuZXctPmNvbW1pdC0+dHJlZTsKQEAgLTExMTAsOSArMTEyNCw4IEBACiAKIAlpZiAobmV3LT5wYXRoICYmICFvcHRzLT5mb3JjZV9kZXRhY2ggJiYgIW9wdHMtPm5ld19icmFuY2ggJiYKIAkgICAgIW9wdHMtPmlnbm9yZV9vdGhlcl93b3JrdHJlZXMpIHsKLQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCWludCBmbGFnOwotCQljaGFyICpoZWFkX3JlZiA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgb2lkLmhhc2gsICZmbGFnKTsKKwkJY2hhciAqaGVhZF9yZWYgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIDAsIE5VTEwsICZmbGFnKTsKIAkJaWYgKGhlYWRfcmVmICYmCiAJCSAgICAoIShmbGFnICYgUkVGX0lTU1lNUkVGKSB8fCBzdHJjbXAoaGVhZF9yZWYsIG5ldy0+cGF0aCkpKQogCQkJZGllX2lmX2NoZWNrZWRfb3V0KG5ldy0+cGF0aCwgMSk7CkBAIC0xMTYzLDYgKzExNzYsOSBAQAogCQkJCU5fKCJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIpKSwKIAkJT1BUX0JPT0woMCwgImlnbm9yZS1vdGhlci13b3JrdHJlZXMiLCAmb3B0cy5pZ25vcmVfb3RoZXJfd29ya3RyZWVzLAogCQkJIE5fKCJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiKSksCisJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAicmVjdXJzZS1zdWJtb2R1bGVzIiwgTlVMTCwKKwkJCSAgICAiY2hlY2tvdXQiLCAiY29udHJvbCByZWN1cnNpdmUgdXBkYXRpbmcgb2Ygc3VibW9kdWxlcyIsCisJCQkgICAgUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX3BhcnNlX3JlY3Vyc2Vfc3VibW9kdWxlc193b3JrdHJlZV91cGRhdGVyIH0sCiAJCU9QVF9CT09MKDAsICJwcm9ncmVzcyIsICZvcHRzLnNob3dfcHJvZ3Jlc3MsIE5fKCJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciKSksCiAJCU9QVF9FTkQoKSwKIAl9OwpAQCAtMTE3Myw3ICsxMTg5LDYgQEAKIAlvcHRzLnByZWZpeCA9IHByZWZpeDsKIAlvcHRzLnNob3dfcHJvZ3Jlc3MgPSAtMTsKIAotCWdpdG1vZHVsZXNfY29uZmlnKCk7CiAJZ2l0X2NvbmZpZyhnaXRfY2hlY2tvdXRfY29uZmlnLCAmb3B0cyk7CiAKIAlvcHRzLnRyYWNrID0gQlJBTkNIX1RSQUNLX1VOU1BFQ0lGSUVEOwpAQCAtMTI1OSw5ICsxMjc0LDggQEAKIAkJICogbmV3X2JyYW5jaCAmJiBhcmdjID4gMSB3aWxsIGJlIGNhdWdodCBsYXRlci4KIAkJICovCiAJCWlmIChvcHRzLm5ld19icmFuY2ggJiYgYXJnYyA9PSAxKQotCQkJZGllKF8oIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgotCQkJICAgICAgIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IiksCi0JCQkgICAgb3B0cy5uZXdfYnJhbmNoLCBhcmd2WzBdKTsKKwkJCWRpZShfKCInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IiksCisJCQkJYXJndlswXSwgb3B0cy5uZXdfYnJhbmNoKTsKIAogCQlpZiAob3B0cy5mb3JjZV9kZXRhY2gpCiAJCQlkaWUoXygiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIiksCmRpZmYgLS1naXQgYS9idWlsdGluL2NsZWFuLmMgYi9idWlsdGluL2NsZWFuLmMKaW5kZXggZDZiYzNhYS4uNzMzYjZkMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jbGVhbi5jCisrKyBiL2J1aWx0aW4vY2xlYW4uYwpAQCAtOCw2ICs4LDcgQEAKIAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgpAQCAtMzIsMTUgKzMzLDYgQEAKIHN0YXRpYyBjb25zdCBjaGFyICptc2dfd291bGRfc2tpcF9naXRfZGlyID0gTl8oIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIik7CiBzdGF0aWMgY29uc3QgY2hhciAqbXNnX3dhcm5fcmVtb3ZlX2ZhaWxlZCA9IE5fKCJmYWlsZWQgdG8gcmVtb3ZlICVzIik7CiAKLXN0YXRpYyBpbnQgY2xlYW5fdXNlX2NvbG9yID0gLTE7Ci1zdGF0aWMgY2hhciBjbGVhbl9jb2xvcnNbXVtDT0xPUl9NQVhMRU5dID0gewotCUdJVF9DT0xPUl9SRVNFVCwKLQlHSVRfQ09MT1JfTk9STUFMLAkvKiBQTEFJTiAqLwotCUdJVF9DT0xPUl9CT0xEX0JMVUUsCS8qIFBST01QVCAqLwotCUdJVF9DT0xPUl9CT0xELAkJLyogSEVBREVSICovCi0JR0lUX0NPTE9SX0JPTERfUkVELAkvKiBIRUxQICovCi0JR0lUX0NPTE9SX0JPTERfUkVELAkvKiBFUlJPUiAqLwotfTsKIGVudW0gY29sb3JfY2xlYW4gewogCUNMRUFOX0NPTE9SX1JFU0VUID0gMCwKIAlDTEVBTl9DT0xPUl9QTEFJTiA9IDEsCkBAIC01MCw2ICs0MiwxNiBAQAogCUNMRUFOX0NPTE9SX0VSUk9SID0gNQogfTsKIAorc3RhdGljIGludCBjbGVhbl91c2VfY29sb3IgPSAtMTsKK3N0YXRpYyBjaGFyIGNsZWFuX2NvbG9yc1tdW0NPTE9SX01BWExFTl0gPSB7CisJW0NMRUFOX0NPTE9SX0VSUk9SXSA9IEdJVF9DT0xPUl9CT0xEX1JFRCwKKwlbQ0xFQU5fQ09MT1JfSEVBREVSXSA9IEdJVF9DT0xPUl9CT0xELAorCVtDTEVBTl9DT0xPUl9IRUxQXSA9IEdJVF9DT0xPUl9CT0xEX1JFRCwKKwlbQ0xFQU5fQ09MT1JfUExBSU5dID0gR0lUX0NPTE9SX05PUk1BTCwKKwlbQ0xFQU5fQ09MT1JfUFJPTVBUXSA9IEdJVF9DT0xPUl9CT0xEX0JMVUUsCisJW0NMRUFOX0NPTE9SX1JFU0VUXSA9IEdJVF9DT0xPUl9SRVNFVCwKK307CisKICNkZWZpbmUgTUVOVV9PUFRTX1NJTkdMRVRPTgkJMDEKICNkZWZpbmUgTUVOVV9PUFRTX0lNTUVESUFURQkJMDIKICNkZWZpbmUgTUVOVV9PUFRTX0xJU1RfT05MWQkJMDQKQEAgLTEyNCw4ICsxMjYsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQkvKiBpbnNwZWN0IHRoZSBjb2xvci51aSBjb25maWcgdmFyaWFibGUgYW5kIG90aGVycyAqLwotCXJldHVybiBnaXRfY29sb3JfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOworCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogfQogCiBzdGF0aWMgY29uc3QgY2hhciAqY2xlYW5fZ2V0X2NvbG9yKGVudW0gY29sb3JfY2xlYW4gaXgpCkBAIC0xNjYsNyArMTY3LDcgQEAKIAkJfQogCiAJCSpkaXJfZ29uZSA9IDA7Ci0JCXJldHVybiAwOworCQlnb3RvIG91dDsKIAl9CiAKIAlkaXIgPSBvcGVuZGlyKHBhdGgtPmJ1Zik7CkBAIC0xNzQsMTEgKzE3NSwxNCBAQAogCQkvKiBhbiBlbXB0eSBkaXIgY291bGQgYmUgcmVtb3ZlZCBldmVuIGlmIGl0IGlzIHVucmVhZGJsZSAqLwogCQlyZXMgPSBkcnlfcnVuID8gMCA6IHJtZGlyKHBhdGgtPmJ1Zik7CiAJCWlmIChyZXMpIHsKKwkJCWludCBzYXZlZF9lcnJubyA9IGVycm5vOwogCQkJcXVvdGVfcGF0aF9yZWxhdGl2ZShwYXRoLT5idWYsIHByZWZpeCwgJnF1b3RlZCk7Ci0JCQl3YXJuaW5nKF8obXNnX3dhcm5fcmVtb3ZlX2ZhaWxlZCksIHF1b3RlZC5idWYpOworCQkJZXJybm8gPSBzYXZlZF9lcnJubzsKKwkJCXdhcm5pbmdfZXJybm8oXyhtc2dfd2Fybl9yZW1vdmVfZmFpbGVkKSwgcXVvdGVkLmJ1Zik7CiAJCQkqZGlyX2dvbmUgPSAwOwogCQl9Ci0JCXJldHVybiByZXM7CisJCXJldCA9IHJlczsKKwkJZ290byBvdXQ7CiAJfQogCiAJc3RyYnVmX2NvbXBsZXRlKHBhdGgsICcvJyk7CkBAIC0yMDgsOCArMjEyLDEwIEBACiAJCQkJcXVvdGVfcGF0aF9yZWxhdGl2ZShwYXRoLT5idWYsIHByZWZpeCwgJnF1b3RlZCk7CiAJCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZkZWxzLCBxdW90ZWQuYnVmKTsKIAkJCX0gZWxzZSB7CisJCQkJaW50IHNhdmVkX2Vycm5vID0gZXJybm87CiAJCQkJcXVvdGVfcGF0aF9yZWxhdGl2ZShwYXRoLT5idWYsIHByZWZpeCwgJnF1b3RlZCk7Ci0JCQkJd2FybmluZyhfKG1zZ193YXJuX3JlbW92ZV9mYWlsZWQpLCBxdW90ZWQuYnVmKTsKKwkJCQllcnJubyA9IHNhdmVkX2Vycm5vOworCQkJCXdhcm5pbmdfZXJybm8oXyhtc2dfd2Fybl9yZW1vdmVfZmFpbGVkKSwgcXVvdGVkLmJ1Zik7CiAJCQkJKmRpcl9nb25lID0gMDsKIAkJCQlyZXQgPSAxOwogCQkJfQpAQCAtMjMwLDggKzIzNiwxMCBAQAogCQlpZiAoIXJlcykKIAkJCSpkaXJfZ29uZSA9IDE7CiAJCWVsc2UgeworCQkJaW50IHNhdmVkX2Vycm5vID0gZXJybm87CiAJCQlxdW90ZV9wYXRoX3JlbGF0aXZlKHBhdGgtPmJ1ZiwgcHJlZml4LCAmcXVvdGVkKTsKLQkJCXdhcm5pbmcoXyhtc2dfd2Fybl9yZW1vdmVfZmFpbGVkKSwgcXVvdGVkLmJ1Zik7CisJCQllcnJubyA9IHNhdmVkX2Vycm5vOworCQkJd2FybmluZ19lcnJubyhfKG1zZ193YXJuX3JlbW92ZV9mYWlsZWQpLCBxdW90ZWQuYnVmKTsKIAkJCSpkaXJfZ29uZSA9IDA7CiAJCQlyZXQgPSAxOwogCQl9CkBAIC0yNDIsNiArMjUwLDggQEAKIAkJZm9yIChpID0gMDsgaSA8IGRlbHMubnI7IGkrKykKIAkJCXByaW50ZihkcnlfcnVuID8gIF8obXNnX3dvdWxkX3JlbW92ZSkgOiBfKG1zZ19yZW1vdmUpLCBkZWxzLml0ZW1zW2ldLnN0cmluZyk7CiAJfQorb3V0OgorCXN0cmJ1Zl9yZWxlYXNlKCZxdW90ZWQpOwogCXN0cmluZ19saXN0X2NsZWFyKCZkZWxzLCAwKTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtNjc3LDcgKzY4Nyw3IEBACiAJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJmRlbF9saXN0KSB7CiAJCQlpbnQgZHR5cGUgPSBEVF9VTktOT1dOOwogCi0JCQlpZiAoaXNfZXhjbHVkZWQoJmRpciwgaXRlbS0+c3RyaW5nLCAmZHR5cGUpKSB7CisJCQlpZiAoaXNfZXhjbHVkZWQoJmRpciwgJnRoZV9pbmRleCwgaXRlbS0+c3RyaW5nLCAmZHR5cGUpKSB7CiAJCQkJKml0ZW0tPnN0cmluZyA9ICdcMCc7CiAJCQkJY2hhbmdlZCsrOwogCQkJfQpAQCAtODMxLDggKzg0MSw3IEBACiAJCQlpbnQgcmV0OwogCQkJcmV0ID0gbWVudXNbKmNob3Nlbl0uZm4oKTsKIAkJCWlmIChyZXQgIT0gTUVOVV9SRVRVUk5fTk9fTE9PUCkgewotCQkJCWZyZWUoY2hvc2VuKTsKLQkJCQljaG9zZW4gPSBOVUxMOworCQkJCUZSRUVfQU5EX05VTEwoY2hvc2VuKTsKIAkJCQlpZiAoIWRlbF9saXN0Lm5yKSB7CiAJCQkJCWNsZWFuX3ByaW50X2NvbG9yKENMRUFOX0NPTE9SX0VSUk9SKTsKIAkJCQkJcHJpbnRmX2xuKF8oIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIikpOwpAQCAtODQ1LDEyICs4NTQsNDMgQEAKIAkJCXF1aXRfY21kKCk7CiAJCX0KIAotCQlmcmVlKGNob3Nlbik7Ci0JCWNob3NlbiA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwoY2hvc2VuKTsKIAkJYnJlYWs7CiAJfQogfQogCitzdGF0aWMgdm9pZCBjb3JyZWN0X3VudHJhY2tlZF9lbnRyaWVzKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIpCit7CisJaW50IHNyYywgZHN0LCBpZ247CisKKwlmb3IgKHNyYyA9IGRzdCA9IGlnbiA9IDA7IHNyYyA8IGRpci0+bnI7IHNyYysrKSB7CisJCS8qIHNraXAgcGF0aHMgaW4gaWdub3JlZFtdIHRoYXQgY2Fubm90IGJlIGluc2lkZSBlbnRyaWVzW3NyY10gKi8KKwkJd2hpbGUgKGlnbiA8IGRpci0+aWdub3JlZF9uciAmJgorCQkgICAgICAgMCA8PSBjbXBfZGlyX2VudHJ5KCZkaXItPmVudHJpZXNbc3JjXSwgJmRpci0+aWdub3JlZFtpZ25dKSkKKwkJCWlnbisrOworCisJCWlmIChpZ24gPCBkaXItPmlnbm9yZWRfbnIgJiYKKwkJICAgIGNoZWNrX2Rpcl9lbnRyeV9jb250YWlucyhkaXItPmVudHJpZXNbc3JjXSwgZGlyLT5pZ25vcmVkW2lnbl0pKSB7CisJCQkvKiBlbnRyaWVzW3NyY10gY29udGFpbnMgYW4gaWdub3JlZCBwYXRoLCBzbyB3ZSBkcm9wIGl0ICovCisJCQlmcmVlKGRpci0+ZW50cmllc1tzcmNdKTsKKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBkaXJfZW50cnkgKmVudCA9IGRpci0+ZW50cmllc1tzcmMrK107CisKKwkJCS8qIGVudHJpZXNbc3JjXSBkb2VzIG5vdCBjb250YWluIGFuIGlnbm9yZWQgcGF0aCwgc28gd2Uga2VlcCBpdCAqLworCQkJZGlyLT5lbnRyaWVzW2RzdCsrXSA9IGVudDsKKworCQkJLyogdGhlbiBkaXNjYXJkIHBhdGhzIGluIGVudHJpZXNbXSBjb250YWluZWQgaW5zaWRlIGVudHJpZXNbc3JjXSAqLworCQkJd2hpbGUgKHNyYyA8IGRpci0+bnIgJiYKKwkJCSAgICAgICBjaGVja19kaXJfZW50cnlfY29udGFpbnMoZW50LCBkaXItPmVudHJpZXNbc3JjXSkpCisJCQkJZnJlZShkaXItPmVudHJpZXNbc3JjKytdKTsKKworCQkJLyogY29tcGVuc2F0ZSBmb3IgdGhlIG91dGVyIGxvb3AncyBsb29wIGNvbnRyb2wgKi8KKwkJCXNyYy0tOworCQl9CisJfQorCWRpci0+bnIgPSBkc3Q7Cit9CisKIGludCBjbWRfY2xlYW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IGksIHJlczsKQEAgLTkxMCw2ICs5NTAsOSBAQAogCiAJZGlyLmZsYWdzIHw9IERJUl9TSE9XX09USEVSX0RJUkVDVE9SSUVTOwogCisJaWYgKHJlbW92ZV9kaXJlY3RvcmllcykKKwkJZGlyLmZsYWdzIHw9IERJUl9TSE9XX0lHTk9SRURfVE9PIHwgRElSX0tFRVBfVU5UUkFDS0VEX0NPTlRFTlRTOworCiAJaWYgKHJlYWRfY2FjaGUoKSA8IDApCiAJCWRpZShfKCJpbmRleCBmaWxlIGNvcnJ1cHQiKSk7CiAKQEAgLTkyNCw3ICs5NjcsOCBAQAogCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0NXRCwKIAkJICAgICAgIHByZWZpeCwgYXJndik7CiAKLQlmaWxsX2RpcmVjdG9yeSgmZGlyLCAmcGF0aHNwZWMpOworCWZpbGxfZGlyZWN0b3J5KCZkaXIsICZ0aGVfaW5kZXgsICZwYXRoc3BlYyk7CisJY29ycmVjdF91bnRyYWNrZWRfZW50cmllcygmZGlyKTsKIAogCWZvciAoaSA9IDA7IGkgPCBkaXIubnI7IGkrKykgewogCQlzdHJ1Y3QgZGlyX2VudHJ5ICplbnQgPSBkaXIuZW50cmllc1tpXTsKQEAgLTk1Miw2ICs5OTYsMTIgQEAKIAkJc3RyaW5nX2xpc3RfYXBwZW5kKCZkZWxfbGlzdCwgcmVsKTsKIAl9CiAKKwlmb3IgKGkgPSAwOyBpIDwgZGlyLm5yOyBpKyspCisJCWZyZWUoZGlyLmVudHJpZXNbaV0pOworCisJZm9yIChpID0gMDsgaSA8IGRpci5pZ25vcmVkX25yOyBpKyspCisJCWZyZWUoZGlyLmlnbm9yZWRbaV0pOworCiAJaWYgKGludGVyYWN0aXZlICYmIGRlbF9saXN0Lm5yID4gMCkKIAkJaW50ZXJhY3RpdmVfbWFpbl9sb29wKCk7CiAKQEAgLTk4MSw4ICsxMDMxLDEwIEBACiAJCX0gZWxzZSB7CiAJCQlyZXMgPSBkcnlfcnVuID8gMCA6IHVubGluayhhYnNfcGF0aC5idWYpOwogCQkJaWYgKHJlcykgeworCQkJCWludCBzYXZlZF9lcnJubyA9IGVycm5vOwogCQkJCXFuYW1lID0gcXVvdGVfcGF0aF9yZWxhdGl2ZShpdGVtLT5zdHJpbmcsIE5VTEwsICZidWYpOwotCQkJCXdhcm5pbmcoXyhtc2dfd2Fybl9yZW1vdmVfZmFpbGVkKSwgcW5hbWUpOworCQkJCWVycm5vID0gc2F2ZWRfZXJybm87CisJCQkJd2FybmluZ19lcnJubyhfKG1zZ193YXJuX3JlbW92ZV9mYWlsZWQpLCBxbmFtZSk7CiAJCQkJZXJyb3JzKys7CiAJCQl9IGVsc2UgaWYgKCFxdWlldCkgewogCQkJCXFuYW1lID0gcXVvdGVfcGF0aF9yZWxhdGl2ZShpdGVtLT5zdHJpbmcsIE5VTEwsICZidWYpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jbG9uZS5jIGIvYnVpbHRpbi9jbG9uZS5jCmluZGV4IDNmNjNlZGIuLmRiZGRkOTggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2xvbmUuYworKysgYi9idWlsdGluL2Nsb25lLmMKQEAgLTksNiArOSw3IEBACiAgKi8KIAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJmZXRjaC1wYWNrLmgiCkBAIC0yNCw2ICsyNSw3IEBACiAjaW5jbHVkZSAicmVtb3RlLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJjb25uZWN0ZWQuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiAvKgogICogT3ZlcmFsbCBGSVhNRXM6CkBAIC0zOSw3ICs0MSw4IEBACiB9OwogCiBzdGF0aWMgaW50IG9wdGlvbl9ub19jaGVja291dCwgb3B0aW9uX2JhcmUsIG9wdGlvbl9taXJyb3IsIG9wdGlvbl9zaW5nbGVfYnJhbmNoID0gLTE7Ci1zdGF0aWMgaW50IG9wdGlvbl9sb2NhbCA9IC0xLCBvcHRpb25fbm9faGFyZGxpbmtzLCBvcHRpb25fc2hhcmVkLCBvcHRpb25fcmVjdXJzaXZlOworc3RhdGljIGludCBvcHRpb25fbG9jYWwgPSAtMSwgb3B0aW9uX25vX2hhcmRsaW5rcywgb3B0aW9uX3NoYXJlZDsKK3N0YXRpYyBpbnQgb3B0aW9uX25vX3RhZ3M7CiBzdGF0aWMgaW50IG9wdGlvbl9zaGFsbG93X3N1Ym1vZHVsZXM7CiBzdGF0aWMgaW50IGRlZXBlbjsKIHN0YXRpYyBjaGFyICpvcHRpb25fdGVtcGxhdGUsICpvcHRpb25fZGVwdGgsICpvcHRpb25fc2luY2U7CkBAIC01Niw2ICs1OSwyMSBAQAogc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBvcHRpb25fb3B0aW9uYWxfcmVmZXJlbmNlID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIHN0YXRpYyBpbnQgb3B0aW9uX2Rpc3NvY2lhdGU7CiBzdGF0aWMgaW50IG1heF9qb2JzID0gLTE7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IG9wdGlvbl9yZWN1cnNlX3N1Ym1vZHVsZXMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworCitzdGF0aWMgaW50IHJlY3Vyc2Vfc3VibW9kdWxlc19jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCWlmICh1bnNldCkKKwkJc3RyaW5nX2xpc3RfY2xlYXIoKHN0cnVjdCBzdHJpbmdfbGlzdCAqKW9wdC0+dmFsdWUsIDApOworCWVsc2UgaWYgKGFyZykKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKilvcHQtPnZhbHVlLCBhcmcpOworCWVsc2UKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKilvcHQtPnZhbHVlLAorCQkJCSAgIChjb25zdCBjaGFyICopb3B0LT5kZWZ2YWwpOworCisJcmV0dXJuIDA7Cit9CiAKIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fY2xvbmVfb3B0aW9uc1tdID0gewogCU9QVF9fVkVSQk9TSVRZKCZvcHRpb25fdmVyYm9zaXR5KSwKQEAgLTc0LDEwICs5MiwxMyBAQAogCQkgICAgTl8oImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IikpLAogCU9QVF9CT09MKCdzJywgInNoYXJlZCIsICZvcHRpb25fc2hhcmVkLAogCQkgICAgTl8oInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IikpLAotCU9QVF9CT09MKDAsICJyZWN1cnNpdmUiLCAmb3B0aW9uX3JlY3Vyc2l2ZSwKLQkJICAgIE5fKCJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIikpLAotCU9QVF9CT09MKDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCAmb3B0aW9uX3JlY3Vyc2l2ZSwKLQkJICAgIE5fKCJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIikpLAorCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAicmVjdXJzaXZlIiwgJm9wdGlvbl9yZWN1cnNlX3N1Ym1vZHVsZXMsCisJICBOXygicGF0aHNwZWMiKSwgTl8oImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiKSwKKwkgIFBBUlNFX09QVF9PUFRBUkcgfCBQQVJTRV9PUFRfSElEREVOLCByZWN1cnNlX3N1Ym1vZHVsZXNfY2IsCisJICAoaW50cHRyX3QpIi4iIH0sCisJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCAmb3B0aW9uX3JlY3Vyc2Vfc3VibW9kdWxlcywKKwkgIE5fKCJwYXRoc3BlYyIpLCBOXygiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIpLAorCSAgUEFSU0VfT1BUX09QVEFSRywgcmVjdXJzZV9zdWJtb2R1bGVzX2NiLCAoaW50cHRyX3QpIi4iIH0sCiAJT1BUX0lOVEVHRVIoJ2onLCAiam9icyIsICZtYXhfam9icywKIAkJICAgIE5fKCJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiKSksCiAJT1BUX1NUUklORygwLCAidGVtcGxhdGUiLCAmb3B0aW9uX3RlbXBsYXRlLCBOXygidGVtcGxhdGUtZGlyZWN0b3J5IiksCkBAIC0xMDIsNiArMTIzLDggQEAKIAkJCU5fKCJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lLCBleGNsdWRpbmcgcmV2IikpLAogCU9QVF9CT09MKDAsICJzaW5nbGUtYnJhbmNoIiwgJm9wdGlvbl9zaW5nbGVfYnJhbmNoLAogCQkgICAgTl8oImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIpKSwKKwlPUFRfQk9PTCgwLCAibm8tdGFncyIsICZvcHRpb25fbm9fdGFncywKKwkJIE5fKCJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iKSksCiAJT1BUX0JPT0woMCwgInNoYWxsb3ctc3VibW9kdWxlcyIsICZvcHRpb25fc2hhbGxvd19zdWJtb2R1bGVzLAogCQkgICAgTl8oImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciKSksCiAJT1BUX1NUUklORygwLCAic2VwYXJhdGUtZ2l0LWRpciIsICZyZWFsX2dpdF9kaXIsIE5fKCJnaXRkaXIiKSwKQEAgLTMzOSw3ICszNjIsNyBAQAogCSAqIHRvIHR1cm4gZW50cmllcyB3aXRoIHBhdGhzIHJlbGF0aXZlIHRvIHRoZSBvcmlnaW5hbAogCSAqIGFic29sdXRlLCBzbyB0aGF0IHRoZXkgY2FuIGJlIHVzZWQgaW4gdGhlIG5ldyByZXBvc2l0b3J5LgogCSAqLwotCUZJTEUgKmluID0gZm9wZW4oc3JjLT5idWYsICJyIik7CisJRklMRSAqaW4gPSB4Zm9wZW4oc3JjLT5idWYsICJyIik7CiAJc3RydWN0IHN0cmJ1ZiBsaW5lID0gU1RSQlVGX0lOSVQ7CiAKIAl3aGlsZSAoc3RyYnVmX2dldGxpbmUoJmxpbmUsIGluKSAhPSBFT0YpIHsKQEAgLTQ4NCw4ICs1MDcsOCBAQAogCWlmIChqdW5rX3dvcmtfdHJlZSkgewogCQlzdHJidWZfYWRkc3RyKCZzYiwganVua193b3JrX3RyZWUpOwogCQlyZW1vdmVfZGlyX3JlY3Vyc2l2ZWx5KCZzYiwgMCk7Ci0JCXN0cmJ1Zl9yZXNldCgmc2IpOwogCX0KKwlzdHJidWZfcmVsZWFzZSgmc2IpOwogfQogCiBzdGF0aWMgdm9pZCByZW1vdmVfanVua19vbl9zaWduYWwoaW50IHNpZ25vKQpAQCAtNTQ1LDcgKzU2OCw3IEBACiAJfSBlbHNlCiAJCWdldF9mZXRjaF9tYXAocmVmcywgcmVmc3BlYywgJnRhaWwsIDApOwogCi0JaWYgKCFvcHRpb25fbWlycm9yICYmICFvcHRpb25fc2luZ2xlX2JyYW5jaCkKKwlpZiAoIW9wdGlvbl9taXJyb3IgJiYgIW9wdGlvbl9zaW5nbGVfYnJhbmNoICYmICFvcHRpb25fbm9fdGFncykKIAkJZ2V0X2ZldGNoX21hcChyZWZzLCB0YWdfcmVmc3BlYywgJnRhaWwsIDApOwogCiAJcmV0dXJuIGxvY2FsX3JlZnM7CkBAIC02MzQsNyArNjU3LDcgQEAKIAogCWlmIChyZWZzKSB7CiAJCXdyaXRlX3JlbW90ZV9yZWZzKG1hcHBlZF9yZWZzKTsKLQkJaWYgKG9wdGlvbl9zaW5nbGVfYnJhbmNoKQorCQlpZiAob3B0aW9uX3NpbmdsZV9icmFuY2ggJiYgIW9wdGlvbl9ub190YWdzKQogCQkJd3JpdGVfZm9sbG93dGFncyhyZWZzLCBtc2cpOwogCX0KIApAQCAtNjY0LDcgKzY4Nyw3IEBACiAJCQlpbnN0YWxsX2JyYW5jaF9jb25maWcoMCwgaGVhZCwgb3B0aW9uX29yaWdpbiwgb3VyLT5uYW1lKTsKIAkJfQogCX0gZWxzZSBpZiAob3VyKSB7Ci0JCXN0cnVjdCBjb21taXQgKmMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShvdXItPm9sZF9vaWQuaGFzaCk7CisJCXN0cnVjdCBjb21taXQgKmMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmb3VyLT5vbGRfb2lkKTsKIAkJLyogLS1icmFuY2ggc3BlY2lmaWVzIGEgbm9uLWJyYW5jaCAoaS5lLiB0YWdzKSwgZGV0YWNoIEhFQUQgKi8KIAkJdXBkYXRlX3JlZihtc2csICJIRUFEIiwgYy0+b2JqZWN0Lm9pZC5oYXNoLAogCQkJICAgTlVMTCwgUkVGX05PREVSRUYsIFVQREFURV9SRUZTX0RJRV9PTl9FUlIpOwpAQCAtNjgxLDcgKzcwNCw3IEBACiAKIHN0YXRpYyBpbnQgY2hlY2tvdXQoaW50IHN1Ym1vZHVsZV9wcm9ncmVzcykKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNoYXIgKmhlYWQ7CiAJc3RydWN0IGxvY2tfZmlsZSAqbG9ja19maWxlOwogCXN0cnVjdCB1bnBhY2tfdHJlZXNfb3B0aW9ucyBvcHRzOwpAQCAtNjkyLDcgKzcxNSw3IEBACiAJaWYgKG9wdGlvbl9ub19jaGVja291dCkKIAkJcmV0dXJuIDA7CiAKLQloZWFkID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBzaGExLCBOVUxMKTsKKwloZWFkID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBvaWQuaGFzaCwgTlVMTCk7CiAJaWYgKCFoZWFkKSB7CiAJCXdhcm5pbmcoXygicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgIgogCQkJICAidW5hYmxlIHRvIGNoZWNrb3V0LlxuIikpOwpAQCAtNzAwLDcgKzcyMyw3IEBACiAJfQogCWlmICghc3RyY21wKGhlYWQsICJIRUFEIikpIHsKIAkJaWYgKGFkdmljZV9kZXRhY2hlZF9oZWFkKQotCQkJZGV0YWNoX2FkdmljZShzaGExX3RvX2hleChzaGExKSk7CisJCQlkZXRhY2hfYWR2aWNlKG9pZF90b19oZXgoJm9pZCkpOwogCX0gZWxzZSB7CiAJCWlmICghc3RhcnRzX3dpdGgoaGVhZCwgInJlZnMvaGVhZHMvIikpCiAJCQlkaWUoXygiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiKSk7CkBAIC03MjEsNyArNzQ0LDcgQEAKIAlvcHRzLnNyY19pbmRleCA9ICZ0aGVfaW5kZXg7CiAJb3B0cy5kc3RfaW5kZXggPSAmdGhlX2luZGV4OwogCi0JdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3Qoc2hhMSk7CisJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoJm9pZCk7CiAJcGFyc2VfdHJlZSh0cmVlKTsKIAlpbml0X3RyZWVfZGVzYygmdCwgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKTsKIAlpZiAodW5wYWNrX3RyZWVzKDEsICZ0LCAmb3B0cykgPCAwKQpAQCAtNzMxLDkgKzc1NCw5IEBACiAJCWRpZShfKCJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKSk7CiAKIAllcnIgfD0gcnVuX2hvb2tfbGUoTlVMTCwgInBvc3QtY2hlY2tvdXQiLCBzaGExX3RvX2hleChudWxsX3NoYTEpLAotCQkJICAgc2hhMV90b19oZXgoc2hhMSksICIxIiwgTlVMTCk7CisJCQkgICBvaWRfdG9faGV4KCZvaWQpLCAiMSIsIE5VTEwpOwogCi0JaWYgKCFlcnIgJiYgb3B0aW9uX3JlY3Vyc2l2ZSkgeworCWlmICghZXJyICYmIChvcHRpb25fcmVjdXJzZV9zdWJtb2R1bGVzLm5yID4gMCkpIHsKIAkJc3RydWN0IGFyZ3ZfYXJyYXkgYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKIAkJYXJndl9hcnJheV9wdXNobCgmYXJncywgInN1Ym1vZHVsZSIsICJ1cGRhdGUiLCAiLS1pbml0IiwgIi0tcmVjdXJzaXZlIiwgTlVMTCk7CiAKQEAgLTc0Niw2ICs3NjksOSBAQAogCQlpZiAoc3VibW9kdWxlX3Byb2dyZXNzKQogCQkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1wcm9ncmVzcyIpOwogCisJCWlmIChvcHRpb25fdmVyYm9zaXR5IDwgMCkKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tcXVpZXQiKTsKKwogCQllcnIgPSBydW5fY29tbWFuZF92X29wdChhcmdzLmFyZ3YsIFJVTl9HSVRfQ01EKTsKIAkJYXJndl9hcnJheV9jbGVhcigmYXJncyk7CiAJfQpAQCAtNzU1LDcgKzc4MSw5IEBACiAKIHN0YXRpYyBpbnQgd3JpdGVfb25lX2NvbmZpZyhjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkYXRhKQogewotCXJldHVybiBnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9nZW50bHkoa2V5LCB2YWx1ZSA/IHZhbHVlIDogInRydWUiLCAiXiQiLCAwKTsKKwlyZXR1cm4gZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXJfZ2VudGx5KGtleSwKKwkJCQkJICAgICAgdmFsdWUgPyB2YWx1ZSA6ICJ0cnVlIiwKKwkJCQkJICAgICAgQ09ORklHX1JFR0VYX05PTkUsIDApOwogfQogCiBzdGF0aWMgdm9pZCB3cml0ZV9jb25maWcoc3RydWN0IHN0cmluZ19saXN0ICpjb25maWcpCkBAIC05NTcsNyArOTg1LDI1IEBACiAJCQlmcHJpbnRmKHN0ZGVyciwgXygiQ2xvbmluZyBpbnRvICclcycuLi5cbiIpLCBkaXIpOwogCX0KIAotCWlmIChvcHRpb25fcmVjdXJzaXZlKSB7CisJaWYgKG9wdGlvbl9yZWN1cnNlX3N1Ym1vZHVsZXMubnIgPiAwKSB7CisJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisKKwkJLyogcmVtb3ZlIGR1cGxpY2F0ZXMgKi8KKwkJc3RyaW5nX2xpc3Rfc29ydCgmb3B0aW9uX3JlY3Vyc2Vfc3VibW9kdWxlcyk7CisJCXN0cmluZ19saXN0X3JlbW92ZV9kdXBsaWNhdGVzKCZvcHRpb25fcmVjdXJzZV9zdWJtb2R1bGVzLCAwKTsKKworCQkvKgorCQkgKiBORUVEU1dPUks6IEluIGEgbXVsdGktd29ya2luZy10cmVlIHdvcmxkLCB0aGlzIG5lZWRzIHRvIGJlCisJCSAqIHNldCBpbiB0aGUgcGVyLXdvcmt0cmVlIGNvbmZpZy4KKwkJICovCisJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJm9wdGlvbl9yZWN1cnNlX3N1Ym1vZHVsZXMpIHsKKwkJCXN0cmJ1Zl9hZGRmKCZzYiwgInN1Ym1vZHVsZS5hY3RpdmU9JXMiLAorCQkJCSAgICBpdGVtLT5zdHJpbmcpOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZvcHRpb25fY29uZmlnLAorCQkJCQkgICBzdHJidWZfZGV0YWNoKCZzYiwgTlVMTCkpOworCQl9CisKIAkJaWYgKG9wdGlvbl9yZXF1aXJlZF9yZWZlcmVuY2UubnIgJiYKIAkJICAgIG9wdGlvbl9vcHRpb25hbF9yZWZlcmVuY2UubnIpCiAJCQlkaWUoXygiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCAiCkBAIC05OTksNiArMTA0NSwxMiBAQAogCWdpdF9jb25maWdfc2V0KGtleS5idWYsIHJlcG8pOwogCXN0cmJ1Zl9yZXNldCgma2V5KTsKIAorCWlmIChvcHRpb25fbm9fdGFncykgeworCQlzdHJidWZfYWRkZigma2V5LCAicmVtb3RlLiVzLnRhZ09wdCIsIG9wdGlvbl9vcmlnaW4pOworCQlnaXRfY29uZmlnX3NldChrZXkuYnVmLCAiLS1uby10YWdzIik7CisJCXN0cmJ1Zl9yZXNldCgma2V5KTsKKwl9CisKIAlpZiAob3B0aW9uX3JlcXVpcmVkX3JlZmVyZW5jZS5uciB8fCBvcHRpb25fb3B0aW9uYWxfcmVmZXJlbmNlLm5yKQogCQlzZXR1cF9yZWZlcmVuY2UoKTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jb2x1bW4uYyBiL2J1aWx0aW4vY29sdW1uLmMKaW5kZXggMzMzMTRiNC4uMGMzMjIzZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb2x1bW4uYworKysgYi9idWlsdGluL2NvbHVtbi5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jb21taXQtdHJlZS5jIGIvYnVpbHRpbi9jb21taXQtdHJlZS5jCmluZGV4IDYwNTAxNzIuLjIxNzcyNTEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY29tbWl0LXRyZWUuYworKysgYi9idWlsdGluL2NvbW1pdC10cmVlLmMKQEAgLTQsNiArNCw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIExpbnVzIFRvcnZhbGRzLCAyMDA1CiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgInRyZWUuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCkBAIC01NSwxMCArNTYsMTAgQEAKIAkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQkJaWYgKGFyZ2MgPD0gKytpKQogCQkJCXVzYWdlKGNvbW1pdF90cmVlX3VzYWdlKTsKLQkJCWlmIChnZXRfc2hhMV9jb21taXQoYXJndltpXSwgb2lkLmhhc2gpKQorCQkJaWYgKGdldF9vaWRfY29tbWl0KGFyZ3ZbaV0sICZvaWQpKQogCQkJCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiLCBhcmd2W2ldKTsKIAkJCWFzc2VydF9zaGExX3R5cGUob2lkLmhhc2gsIE9CSl9DT01NSVQpOwotCQkJbmV3X3BhcmVudChsb29rdXBfY29tbWl0KG9pZC5oYXNoKSwgJnBhcmVudHMpOworCQkJbmV3X3BhcmVudChsb29rdXBfY29tbWl0KCZvaWQpLCAmcGFyZW50cyk7CiAJCQljb250aW51ZTsKIAkJfQogCkBAIC0xMDEsMTEgKzEwMiwxMCBAQAogCQkJaWYgKGZkICYmIGNsb3NlKGZkKSkKIAkJCQlkaWVfZXJybm8oImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIGNsb3NlICclcyciLAogCQkJCQkgIGFyZ3ZbaV0pOwotCQkJc3RyYnVmX2NvbXBsZXRlX2xpbmUoJmJ1ZmZlcik7CiAJCQljb250aW51ZTsKIAkJfQogCi0JCWlmIChnZXRfc2hhMV90cmVlKGFyZywgdHJlZV9vaWQuaGFzaCkpCisJCWlmIChnZXRfb2lkX3RyZWUoYXJnLCAmdHJlZV9vaWQpKQogCQkJZGllKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIsIGFyZyk7CiAJCWlmIChnb3RfdHJlZSkKIAkJCWRpZSgiQ2Fubm90IGdpdmUgbW9yZSB0aGFuIG9uZSB0cmVlcyIpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jb21taXQuYyBiL2J1aWx0aW4vY29tbWl0LmMKaW5kZXggMmRlNWY2Yy4uZDc1YjM4MCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb21taXQuYworKysgYi9idWlsdGluL2NvbW1pdC5jCkBAIC02LDYgKzYsNyBAQAogICovCiAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgogI2luY2x1ZGUgImNvbG9yLmgiCkBAIC0xMzksNyArMTQwLDYgQEAKIHN0YXRpYyBpbnQgc2VxdWVuY2VyX2luX3VzZTsKIHN0YXRpYyBpbnQgdXNlX2VkaXRvciA9IDEsIGluY2x1ZGVfc3RhdHVzID0gMTsKIHN0YXRpYyBpbnQgc2hvd19pZ25vcmVkX2luX3N0YXR1cywgaGF2ZV9vcHRpb25fbTsKLXN0YXRpYyBjb25zdCBjaGFyICpvbmx5X2luY2x1ZGVfYXNzdW1lZDsKIHN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIG1lc3NhZ2UgPSBTVFJCVUZfSU5JVDsKIAogc3RhdGljIGVudW0gd3Rfc3RhdHVzX2Zvcm1hdCBzdGF0dXNfZm9ybWF0ID0gU1RBVFVTX0ZPUk1BVF9VTlNQRUNJRklFRDsKQEAgLTE5NSw3ICsxOTUsNiBAQAogc3RhdGljIHZvaWQgc3RhdHVzX2luaXRfY29uZmlnKHN0cnVjdCB3dF9zdGF0dXMgKnMsIGNvbmZpZ19mbl90IGZuKQogewogCXd0X3N0YXR1c19wcmVwYXJlKHMpOwotCWdpdG1vZHVsZXNfY29uZmlnKCk7CiAJZ2l0X2NvbmZpZyhmbiwgcyk7CiAJZGV0ZXJtaW5lX3doZW5jZShzKTsKIAlpbml0X2RpZmZfdWlfZGVmYXVsdHMoKTsKQEAgLTI1Myw3ICsyNTIsOCBAQAogCiAJaWYgKHdpdGhfdHJlZSkgewogCQljaGFyICptYXhfcHJlZml4ID0gY29tbW9uX3ByZWZpeChwYXR0ZXJuKTsKLQkJb3ZlcmxheV90cmVlX29uX2NhY2hlKHdpdGhfdHJlZSwgbWF4X3ByZWZpeCA/IG1heF9wcmVmaXggOiBwcmVmaXgpOworCQlvdmVybGF5X3RyZWVfb25faW5kZXgoJnRoZV9pbmRleCwgd2l0aF90cmVlLAorCQkJCSAgICAgIG1heF9wcmVmaXggPyBtYXhfcHJlZml4IDogcHJlZml4KTsKIAkJZnJlZShtYXhfcHJlZml4KTsKIAl9CiAKQEAgLTMxMyw3ICszMTMsNyBAQAogCW9wdHMuZHN0X2luZGV4ID0gJnRoZV9pbmRleDsKIAogCW9wdHMuZm4gPSBvbmV3YXlfbWVyZ2U7Ci0JdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoY3VycmVudF9oZWFkLT5vYmplY3Qub2lkLmhhc2gpOworCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KCZjdXJyZW50X2hlYWQtPm9iamVjdC5vaWQpOwogCWlmICghdHJlZSkKIAkJZGllKF8oImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIpKTsKIAlwYXJzZV90cmVlKHRyZWUpOwpAQCAtMzM1LDcgKzMzNSw3IEBACiBzdGF0aWMgY29uc3QgY2hhciAqcHJlcGFyZV9pbmRleChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCQkgY29uc3Qgc3RydWN0IGNvbW1pdCAqY3VycmVudF9oZWFkLCBpbnQgaXNfc3RhdHVzKQogewotCXN0cnVjdCBzdHJpbmdfbGlzdCBwYXJ0aWFsOworCXN0cnVjdCBzdHJpbmdfbGlzdCBwYXJ0aWFsID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CiAJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCWludCByZWZyZXNoX2ZsYWdzID0gUkVGUkVTSF9RVUlFVDsKIAljb25zdCBjaGFyICpyZXQ7CkBAIC0zODAsNyArMzgwLDggQEAKIAkJCXdhcm5pbmcoXygiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiKSk7CiAKIAkJY29tbWl0X3N0eWxlID0gQ09NTUlUX05PUk1BTDsKLQkJcmV0dXJuIGdldF9sb2NrX2ZpbGVfcGF0aCgmaW5kZXhfbG9jayk7CisJCXJldCA9IGdldF9sb2NrX2ZpbGVfcGF0aCgmaW5kZXhfbG9jayk7CisJCWdvdG8gb3V0OwogCX0KIAogCS8qCkBAIC00MDMsNyArNDA0LDggQEAKIAkJaWYgKHdyaXRlX2xvY2tlZF9pbmRleCgmdGhlX2luZGV4LCAmaW5kZXhfbG9jaywgQ0xPU0VfTE9DSykpCiAJCQlkaWUoXygidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIikpOwogCQljb21taXRfc3R5bGUgPSBDT01NSVRfTk9STUFMOwotCQlyZXR1cm4gZ2V0X2xvY2tfZmlsZV9wYXRoKCZpbmRleF9sb2NrKTsKKwkJcmV0ID0gZ2V0X2xvY2tfZmlsZV9wYXRoKCZpbmRleF9sb2NrKTsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyoKQEAgLTQyOSw3ICs0MzEsOCBAQAogCQkJcm9sbGJhY2tfbG9ja19maWxlKCZpbmRleF9sb2NrKTsKIAkJfQogCQljb21taXRfc3R5bGUgPSBDT01NSVRfQVNfSVM7Ci0JCXJldHVybiBnZXRfaW5kZXhfZmlsZSgpOworCQlyZXQgPSBnZXRfaW5kZXhfZmlsZSgpOworCQlnb3RvIG91dDsKIAl9CiAKIAkvKgpAQCAtNDYwLDcgKzQ2Myw2IEBACiAJCQlkaWUoXygiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIikpOwogCX0KIAotCXN0cmluZ19saXN0X2luaXQoJnBhcnRpYWwsIDEpOwogCWlmIChsaXN0X3BhdGhzKCZwYXJ0aWFsLCAhY3VycmVudF9oZWFkID8gTlVMTCA6ICJIRUFEIiwgcHJlZml4LCAmcGF0aHNwZWMpKQogCQlleGl0KDEpOwogCkBAIC00OTAsMTMgKzQ5MiwxNiBAQAogCWRpc2NhcmRfY2FjaGUoKTsKIAlyZXQgPSBnZXRfbG9ja19maWxlX3BhdGgoJmZhbHNlX2xvY2spOwogCXJlYWRfY2FjaGVfZnJvbShyZXQpOworb3V0OgorCXN0cmluZ19saXN0X2NsZWFyKCZwYXJ0aWFsLCAwKTsKKwljbGVhcl9wYXRoc3BlYygmcGF0aHNwZWMpOwogCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgcnVuX3N0YXR1cyhGSUxFICpmcCwgY29uc3QgY2hhciAqaW5kZXhfZmlsZSwgY29uc3QgY2hhciAqcHJlZml4LCBpbnQgbm93YXJuLAogCQkgICAgICBzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQogewotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKIAlpZiAocy0+cmVsYXRpdmVfcGF0aHMpCiAJCXMtPnByZWZpeCA9IHByZWZpeDsKQEAgLTUwOSw5ICs1MTQsOSBAQAogCXMtPmluZGV4X2ZpbGUgPSBpbmRleF9maWxlOwogCXMtPmZwID0gZnA7CiAJcy0+bm93YXJuID0gbm93YXJuOwotCXMtPmlzX2luaXRpYWwgPSBnZXRfc2hhMShzLT5yZWZlcmVuY2UsIHNoYTEpID8gMSA6IDA7CisJcy0+aXNfaW5pdGlhbCA9IGdldF9vaWQocy0+cmVmZXJlbmNlLCAmb2lkKSA/IDEgOiAwOwogCWlmICghcy0+aXNfaW5pdGlhbCkKLQkJaGFzaGNweShzLT5zaGExX2NvbW1pdCwgc2hhMSk7CisJCWhhc2hjcHkocy0+c2hhMV9jb21taXQsIG9pZC5oYXNoKTsKIAlzLT5zdGF0dXNfZm9ybWF0ID0gc3RhdHVzX2Zvcm1hdDsKIAlzLT5pZ25vcmVfc3VibW9kdWxlX2FyZyA9IGlnbm9yZV9zdWJtb2R1bGVfYXJnOwogCkBAIC04MjEsOSArODI2LDkgQEAKIAkJCQkJIklmIHRoaXMgaXMgbm90IGNvcnJlY3QsIHBsZWFzZSByZW1vdmUgdGhlIGZpbGVcbiIKIAkJCQkJIgklc1xuIgogCQkJCQkiYW5kIHRyeSBhZ2Fpbi5cbiIpLAotCQkJCWdpdF9wYXRoKHdoZW5jZSA9PSBGUk9NX01FUkdFCi0JCQkJCSA/ICJNRVJHRV9IRUFEIgotCQkJCQkgOiAiQ0hFUlJZX1BJQ0tfSEVBRCIpKTsKKwkJCQl3aGVuY2UgPT0gRlJPTV9NRVJHRSA/CisJCQkJCWdpdF9wYXRoX21lcmdlX2hlYWQoKSA6CisJCQkJCWdpdF9wYXRoX2NoZXJyeV9waWNrX2hlYWQoKSk7CiAJCX0KIAogCQlmcHJpbnRmKHMtPmZwLCAiXG4iKTsKQEAgLTg0MSw5ICs4NDYsNiBAQAogCQkJCSAgIndpdGggJyVjJyB3aWxsIGJlIGtlcHQ7IHlvdSBtYXkgcmVtb3ZlIHRoZW0iCiAJCQkJICAiIHlvdXJzZWxmIGlmIHlvdSB3YW50IHRvLlxuIgogCQkJCSAgIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iKSwgY29tbWVudF9saW5lX2NoYXIpOwotCQlpZiAob25seV9pbmNsdWRlX2Fzc3VtZWQpCi0JCQlzdGF0dXNfcHJpbnRmX2xuKHMsIEdJVF9DT0xPUl9OT1JNQUwsCi0JCQkJCSIlcyIsIG9ubHlfaW5jbHVkZV9hc3N1bWVkKTsKIAogCQkvKgogCQkgKiBUaGVzZSBzaG91bGQgbmV2ZXIgZmFpbCBiZWNhdXNlIHRoZXkgY29tZSBmcm9tIG91ciBvd24KQEAgLTg3NywxNSArODc5LDE0IEBACiAJCQkJKGludCkoY2kubmFtZV9lbmQgLSBjaS5uYW1lX2JlZ2luKSwgY2kubmFtZV9iZWdpbiwKIAkJCQkoaW50KShjaS5tYWlsX2VuZCAtIGNpLm1haWxfYmVnaW4pLCBjaS5tYWlsX2JlZ2luKTsKIAotCQlpZiAoaWRlbnRfc2hvd24pCi0JCQlzdGF0dXNfcHJpbnRmX2xuKHMsIEdJVF9DT0xPUl9OT1JNQUwsICIlcyIsICIiKTsKKwkJc3RhdHVzX3ByaW50Zl9sbihzLCBHSVRfQ09MT1JfTk9STUFMLCAiJXMiLCAiIik7IC8qIEFkZCBuZXcgbGluZSBmb3IgY2xhcml0eSAqLwogCiAJCXNhdmVkX2NvbG9yX3NldHRpbmcgPSBzLT51c2VfY29sb3I7CiAJCXMtPnVzZV9jb2xvciA9IDA7CiAJCWNvbW1pdGFibGUgPSBydW5fc3RhdHVzKHMtPmZwLCBpbmRleF9maWxlLCBwcmVmaXgsIDEsIHMpOwogCQlzLT51c2VfY29sb3IgPSBzYXZlZF9jb2xvcl9zZXR0aW5nOwogCX0gZWxzZSB7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQljb25zdCBjaGFyICpwYXJlbnQgPSAiSEVBRCI7CiAKIAkJaWYgKCFhY3RpdmVfbnIgJiYgcmVhZF9jYWNoZSgpIDwgMCkKQEAgLTg5NCw3ICs4OTUsNyBAQAogCQlpZiAoYW1lbmQpCiAJCQlwYXJlbnQgPSAiSEVBRF4xIjsKIAotCQlpZiAoZ2V0X3NoYTEocGFyZW50LCBzaGExKSkgeworCQlpZiAoZ2V0X29pZChwYXJlbnQsICZvaWQpKSB7CiAJCQlpbnQgaSwgaXRhX25yID0gMDsKIAogCQkJZm9yIChpID0gMDsgaSA8IGFjdGl2ZV9ucjsgaSsrKQpAQCAtOTQzLDEzICs5NDQsMTYgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyoKLQkgKiBSZS1yZWFkIHRoZSBpbmRleCBhcyBwcmUtY29tbWl0IGhvb2sgY291bGQgaGF2ZSB1cGRhdGVkIGl0LAotCSAqIGFuZCB3cml0ZSBpdCBvdXQgYXMgYSB0cmVlLiAgV2UgbXVzdCBkbyB0aGlzIGJlZm9yZSB3ZSBpbnZva2UKLQkgKiB0aGUgZWRpdG9yIGFuZCBhZnRlciB3ZSBpbnZva2UgcnVuX3N0YXR1cyBhYm92ZS4KLQkgKi8KLQlkaXNjYXJkX2NhY2hlKCk7CisJaWYgKCFub192ZXJpZnkgJiYgZmluZF9ob29rKCJwcmUtY29tbWl0IikpIHsKKwkJLyoKKwkJICogUmUtcmVhZCB0aGUgaW5kZXggYXMgcHJlLWNvbW1pdCBob29rIGNvdWxkIGhhdmUgdXBkYXRlZCBpdCwKKwkJICogYW5kIHdyaXRlIGl0IG91dCBhcyBhIHRyZWUuICBXZSBtdXN0IGRvIHRoaXMgYmVmb3JlIHdlIGludm9rZQorCQkgKiB0aGUgZWRpdG9yIGFuZCBhZnRlciB3ZSBpbnZva2UgcnVuX3N0YXR1cyBhYm92ZS4KKwkJICovCisJCWRpc2NhcmRfY2FjaGUoKTsKKwl9CiAJcmVhZF9jYWNoZV9mcm9tKGluZGV4X2ZpbGUpOworCiAJaWYgKHVwZGF0ZV9tYWluX2NhY2hlX3RyZWUoMCkpIHsKIAkJZXJyb3IoXygiRXJyb3IgYnVpbGRpbmcgdHJlZXMiKSk7CiAJCXJldHVybiAwOwpAQCAtOTg0LDcgKzk4OCw3IEBACiAJaW50IGksIGVvbDsKIAljb25zdCBjaGFyICpubDsKIAotCS8qIENoZWNrIGlmIHRoZSByZXN0IGlzIGp1c3Qgd2hpdGVzcGFjZSBhbmQgU2lnbmVkLW9mLWJ5J3MuICovCisJLyogQ2hlY2sgaWYgdGhlIHJlc3QgaXMganVzdCB3aGl0ZXNwYWNlIGFuZCBTaWduZWQtb2ZmLWJ5J3MuICovCiAJZm9yIChpID0gc3RhcnQ7IGkgPCBzYi0+bGVuOyBpKyspIHsKIAkJbmwgPSBtZW1jaHIoc2ItPmJ1ZiArIGksICdcbicsIHNiLT5sZW4gLSBpKTsKIAkJaWYgKG5sKQpAQCAtMTIwOCw4ICsxMjEyLDYgQEAKIAkJZGllKF8oIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIpKTsKIAlpZiAoYXJnYyA9PSAwICYmIChhbHNvIHx8IChvbmx5ICYmICFhbWVuZCAmJiAhYWxsb3dfZW1wdHkpKSkKIAkJZGllKF8oIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIpKTsKLQlpZiAoYXJnYyA+IDAgJiYgIWFsc28gJiYgIW9ubHkpCi0JCW9ubHlfaW5jbHVkZV9hc3N1bWVkID0gXygiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIpOwogCWlmICghY2xlYW51cF9hcmcgfHwgIXN0cmNtcChjbGVhbnVwX2FyZywgImRlZmF1bHQiKSkKIAkJY2xlYW51cF9tb2RlID0gdXNlX2VkaXRvciA/IENMRUFOVVBfQUxMIDogQ0xFQU5VUF9TUEFDRTsKIAllbHNlIGlmICghc3RyY21wKGNsZWFudXBfYXJnLCAidmVyYmF0aW0iKSkKQEAgLTEyNjMsNiArMTI2NSwxMCBAQAogCQlyZXR1cm4gV1RfU1RBVFVTX05PQlJBTkNIOwogCWlmICghc3RyY2FzZWNtcChzbG90LCAidW5tZXJnZWQiKSkKIAkJcmV0dXJuIFdUX1NUQVRVU19VTk1FUkdFRDsKKwlpZiAoIXN0cmNhc2VjbXAoc2xvdCwgImxvY2FsQnJhbmNoIikpCisJCXJldHVybiBXVF9TVEFUVVNfTE9DQUxfQlJBTkNIOworCWlmICghc3RyY2FzZWNtcChzbG90LCAicmVtb3RlQnJhbmNoIikpCisJCXJldHVybiBXVF9TVEFUVVNfUkVNT1RFX0JSQU5DSDsKIAlyZXR1cm4gLTE7CiB9CiAKQEAgLTEyOTEsNiArMTI5NywxMCBAQAogCQlzdGF0dXNfZGVmZXJyZWRfY29uZmlnLnNob3dfYnJhbmNoID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOwogCQlyZXR1cm4gMDsKIAl9CisJaWYgKCFzdHJjbXAoaywgInN0YXR1cy5zaG93c3Rhc2giKSkgeworCQlzLT5zaG93X3N0YXNoID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOworCQlyZXR1cm4gMDsKKwl9CiAJaWYgKCFzdHJjbXAoaywgInN0YXR1cy5jb2xvciIpIHx8ICFzdHJjbXAoaywgImNvbG9yLnN0YXR1cyIpKSB7CiAJCXMtPnVzZV9jb2xvciA9IGdpdF9jb25maWdfY29sb3Jib29sKGssIHYpOwogCQlyZXR1cm4gMDsKQEAgLTEzMzIsMTMgKzEzNDIsMTUgQEAKIHsKIAlzdGF0aWMgc3RydWN0IHd0X3N0YXR1cyBzOwogCWludCBmZDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fc3RhdHVzX29wdGlvbnNbXSA9IHsKIAkJT1BUX19WRVJCT1NFKCZ2ZXJib3NlLCBOXygiYmUgdmVyYm9zZSIpKSwKIAkJT1BUX1NFVF9JTlQoJ3MnLCAic2hvcnQiLCAmc3RhdHVzX2Zvcm1hdCwKIAkJCSAgICBOXygic2hvdyBzdGF0dXMgY29uY2lzZWx5IiksIFNUQVRVU19GT1JNQVRfU0hPUlQpLAogCQlPUFRfQk9PTCgnYicsICJicmFuY2giLCAmcy5zaG93X2JyYW5jaCwKIAkJCSBOXygic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iKSksCisJCU9QVF9CT09MKDAsICJzaG93LXN0YXNoIiwgJnMuc2hvd19zdGFzaCwKKwkJCSBOXygic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIpKSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJwb3JjZWxhaW4iLCAmc3RhdHVzX2Zvcm1hdCwKIAkJICBOXygidmVyc2lvbiIpLCBOXygibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiKSwKIAkJICBQQVJTRV9PUFRfT1BUQVJHLCBvcHRfcGFyc2VfcG9yY2VsYWluIH0sCkBAIC0xMzgwLDExICsxMzkyLDE0IEBACiAJcmVhZF9jYWNoZV9wcmVsb2FkKCZzLnBhdGhzcGVjKTsKIAlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVR8UkVGUkVTSF9VTk1FUkdFRCwgJnMucGF0aHNwZWMsIE5VTEwsIE5VTEwpOwogCi0JZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgMCk7CisJaWYgKHVzZV9vcHRpb25hbF9sb2NrcygpKQorCQlmZCA9IGhvbGRfbG9ja2VkX2luZGV4KCZpbmRleF9sb2NrLCAwKTsKKwllbHNlCisJCWZkID0gLTE7CiAKLQlzLmlzX2luaXRpYWwgPSBnZXRfc2hhMShzLnJlZmVyZW5jZSwgc2hhMSkgPyAxIDogMDsKKwlzLmlzX2luaXRpYWwgPSBnZXRfb2lkKHMucmVmZXJlbmNlLCAmb2lkKSA/IDEgOiAwOwogCWlmICghcy5pc19pbml0aWFsKQotCQloYXNoY3B5KHMuc2hhMV9jb21taXQsIHNoYTEpOworCQloYXNoY3B5KHMuc2hhMV9jb21taXQsIG9pZC5oYXNoKTsKIAogCXMuaWdub3JlX3N1Ym1vZHVsZV9hcmcgPSBpZ25vcmVfc3VibW9kdWxlX2FyZzsKIAlzLnN0YXR1c19mb3JtYXQgPSBzdGF0dXNfZm9ybWF0OwpAQCAtMTQwNCw3ICsxNDE5LDcgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKmltcGxpY2l0X2lkZW50X2FkdmljZSh2b2lkKQogewotCWNoYXIgKnVzZXJfY29uZmlnID0gZXhwYW5kX3VzZXJfcGF0aCgifi8uZ2l0Y29uZmlnIik7CisJY2hhciAqdXNlcl9jb25maWcgPSBleHBhbmRfdXNlcl9wYXRoKCJ+Ly5naXRjb25maWciLCAwKTsKIAljaGFyICp4ZGdfY29uZmlnID0geGRnX2NvbmZpZ19ob21lKCJjb25maWciKTsKIAlpbnQgY29uZmlnX2V4aXN0cyA9IGZpbGVfZXhpc3RzKHVzZXJfY29uZmlnKSB8fCBmaWxlX2V4aXN0cyh4ZGdfY29uZmlnKTsKIApAQCAtMTQxOCwxOSArMTQzMywxOCBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIHByaW50X3N1bW1hcnkoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RhdGljIHZvaWQgcHJpbnRfc3VtbWFyeShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSAgaW50IGluaXRpYWxfY29tbWl0KQogewogCXN0cnVjdCByZXZfaW5mbyByZXY7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCXN0cnVjdCBzdHJidWYgZm9ybWF0ID0gU1RSQlVGX0lOSVQ7Ci0JdW5zaWduZWQgY2hhciBqdW5rX3NoYTFbMjBdOwogCWNvbnN0IGNoYXIgKmhlYWQ7CiAJc3RydWN0IHByZXR0eV9wcmludF9jb250ZXh0IHBjdHggPSB7MH07CiAJc3RydWN0IHN0cmJ1ZiBhdXRob3JfaWRlbnQgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIGNvbW1pdHRlcl9pZGVudCA9IFNUUkJVRl9JTklUOwogCi0JY29tbWl0ID0gbG9va3VwX2NvbW1pdChzaGExKTsKKwljb21taXQgPSBsb29rdXBfY29tbWl0KG9pZCk7CiAJaWYgKCFjb21taXQpCiAJCWRpZShfKCJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IikpOwogCWlmIChwYXJzZV9jb21taXQoY29tbWl0KSkKQEAgLTE0NzcsNyArMTQ5MSw3IEBACiAJcmV2LmRpZmZvcHQuYnJlYWtfb3B0ID0gMDsKIAlkaWZmX3NldHVwX2RvbmUoJnJldi5kaWZmb3B0KTsKIAotCWhlYWQgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCAwLCBqdW5rX3NoYTEsIE5VTEwpOworCWhlYWQgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCAwLCBOVUxMLCBOVUxMKTsKIAlpZiAoIXN0cmNtcChoZWFkLCAiSEVBRCIpKQogCQloZWFkID0gXygiZGV0YWNoZWQgSEVBRCIpOwogCWVsc2UKQEAgLTE1MjIsOCArMTUzNiw4IEBACiAJcmV0dXJuIGdpdF9zdGF0dXNfY29uZmlnKGssIHYsIHMpOwogfQogCi1zdGF0aWMgaW50IHJ1bl9yZXdyaXRlX2hvb2soY29uc3QgdW5zaWduZWQgY2hhciAqb2xkc2hhMSwKLQkJCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpuZXdzaGExKQorc3RhdGljIGludCBydW5fcmV3cml0ZV9ob29rKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9sZG9pZCwKKwkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpuZXdvaWQpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgcHJvYyA9IENISUxEX1BST0NFU1NfSU5JVDsKIAljb25zdCBjaGFyICphcmd2WzNdOwpAQCAtMTU0NCw3ICsxNTU4LDcgQEAKIAljb2RlID0gc3RhcnRfY29tbWFuZCgmcHJvYyk7CiAJaWYgKGNvZGUpCiAJCXJldHVybiBjb2RlOwotCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzICVzXG4iLCBzaGExX3RvX2hleChvbGRzaGExKSwgc2hhMV90b19oZXgobmV3c2hhMSkpOworCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzICVzXG4iLCBvaWRfdG9faGV4KG9sZG9pZCksIG9pZF90b19oZXgobmV3b2lkKSk7CiAJc2lnY2hhaW5fcHVzaChTSUdQSVBFLCBTSUdfSUdOKTsKIAl3cml0ZV9pbl9mdWxsKHByb2MuaW4sIHNiLmJ1Ziwgc2IubGVuKTsKIAljbG9zZShwcm9jLmluKTsKQEAgLTE2MzYsNyArMTY1MCw3IEBACiAJc3RydWN0IHN0cmJ1ZiBhdXRob3JfaWRlbnQgPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICppbmRleF9maWxlLCAqcmVmbG9nX21zZzsKIAljaGFyICpubDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cyA9IE5VTEw7CiAJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKIAlzdHJ1Y3QgY29tbWl0ICpjdXJyZW50X2hlYWQgPSBOVUxMOwpAQCAtMTY0OCwxMyArMTY2MiwxNCBAQAogCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9jb21taXRfdXNhZ2UsIGJ1aWx0aW5fY29tbWl0X29wdGlvbnMpOwogCiAJc3RhdHVzX2luaXRfY29uZmlnKCZzLCBnaXRfY29tbWl0X2NvbmZpZyk7CisJcy5jb21taXRfdGVtcGxhdGUgPSAxOwogCXN0YXR1c19mb3JtYXQgPSBTVEFUVVNfRk9STUFUX05PTkU7IC8qIElnbm9yZSBzdGF0dXMuc2hvcnQgKi8KIAlzLmNvbG9wdHMgPSAwOwogCi0JaWYgKGdldF9zaGExKCJIRUFEIiwgc2hhMSkpCisJaWYgKGdldF9vaWQoIkhFQUQiLCAmb2lkKSkKIAkJY3VycmVudF9oZWFkID0gTlVMTDsKIAllbHNlIHsKLQkJY3VycmVudF9oZWFkID0gbG9va3VwX2NvbW1pdF9vcl9kaWUoc2hhMSwgIkhFQUQiKTsKKwkJY3VycmVudF9oZWFkID0gbG9va3VwX2NvbW1pdF9vcl9kaWUoJm9pZCwgIkhFQUQiKTsKIAkJaWYgKHBhcnNlX2NvbW1pdChjdXJyZW50X2hlYWQpKQogCQkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIpKTsKIAl9CkBAIC0xNjk1LDEwICsxNzEwLDcgQEAKIAkJaWYgKCFyZWZsb2dfbXNnKQogCQkJcmVmbG9nX21zZyA9ICJjb21taXQgKG1lcmdlKSI7CiAJCXBwdHIgPSBjb21taXRfbGlzdF9hcHBlbmQoY3VycmVudF9oZWFkLCBwcHRyKTsKLQkJZnAgPSBmb3BlbihnaXRfcGF0aF9tZXJnZV9oZWFkKCksICJyIik7Ci0JCWlmIChmcCA9PSBOVUxMKQotCQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciKSwKLQkJCQkgIGdpdF9wYXRoX21lcmdlX2hlYWQoKSk7CisJCWZwID0geGZvcGVuKGdpdF9wYXRoX21lcmdlX2hlYWQoKSwgInIiKTsKIAkJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lX2xmKCZtLCBmcCkgIT0gRU9GKSB7CiAJCQlzdHJ1Y3QgY29tbWl0ICpwYXJlbnQ7CiAKQEAgLTE3MzUsMjAgKzE3NDcsMjAgQEAKIAogCWlmICh2ZXJib3NlIHx8IC8qIFRydW5jYXRlIHRoZSBtZXNzYWdlIGp1c3QgYmVmb3JlIHRoZSBkaWZmLCBpZiBhbnkuICovCiAJICAgIGNsZWFudXBfbW9kZSA9PSBDTEVBTlVQX1NDSVNTT1JTKQotCQl3dF9zdGF0dXNfdHJ1bmNhdGVfbWVzc2FnZV9hdF9jdXRfbGluZSgmc2IpOwotCisJCXN0cmJ1Zl9zZXRsZW4oJnNiLCB3dF9zdGF0dXNfbG9jYXRlX2VuZChzYi5idWYsIHNiLmxlbikpOwogCWlmIChjbGVhbnVwX21vZGUgIT0gQ0xFQU5VUF9OT05FKQogCQlzdHJidWZfc3RyaXBzcGFjZSgmc2IsIGNsZWFudXBfbW9kZSA9PSBDTEVBTlVQX0FMTCk7Ci0JaWYgKHRlbXBsYXRlX3VudG91Y2hlZCgmc2IpICYmICFhbGxvd19lbXB0eV9tZXNzYWdlKSB7Ci0JCXJvbGxiYWNrX2luZGV4X2ZpbGVzKCk7Ci0JCWZwcmludGYoc3RkZXJyLCBfKCJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iKSk7Ci0JCWV4aXQoMSk7Ci0JfQorCiAJaWYgKG1lc3NhZ2VfaXNfZW1wdHkoJnNiKSAmJiAhYWxsb3dfZW1wdHlfbWVzc2FnZSkgewogCQlyb2xsYmFja19pbmRleF9maWxlcygpOwogCQlmcHJpbnRmKHN0ZGVyciwgXygiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIpKTsKIAkJZXhpdCgxKTsKIAl9CisJaWYgKHRlbXBsYXRlX3VudG91Y2hlZCgmc2IpICYmICFhbGxvd19lbXB0eV9tZXNzYWdlKSB7CisJCXJvbGxiYWNrX2luZGV4X2ZpbGVzKCk7CisJCWZwcmludGYoc3RkZXJyLCBfKCJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iKSk7CisJCWV4aXQoMSk7CisJfQogCiAJaWYgKGFtZW5kKSB7CiAJCWNvbnN0IGNoYXIgKmV4Y2x1ZGVfZ3Bnc2lnWzJdID0geyAiZ3Bnc2lnIiwgTlVMTCB9OwpAQCAtMTc1OCw4ICsxNzcwLDggQEAKIAkJYXBwZW5kX21lcmdlX3RhZ19oZWFkZXJzKHBhcmVudHMsICZ0YWlsKTsKIAl9CiAKLQlpZiAoY29tbWl0X3RyZWVfZXh0ZW5kZWQoc2IuYnVmLCBzYi5sZW4sIGFjdGl2ZV9jYWNoZV90cmVlLT5zaGExLAotCQkJIHBhcmVudHMsIHNoYTEsIGF1dGhvcl9pZGVudC5idWYsIHNpZ25fY29tbWl0LCBleHRyYSkpIHsKKwlpZiAoY29tbWl0X3RyZWVfZXh0ZW5kZWQoc2IuYnVmLCBzYi5sZW4sIGFjdGl2ZV9jYWNoZV90cmVlLT5vaWQuaGFzaCwKKwkJCSBwYXJlbnRzLCBvaWQuaGFzaCwgYXV0aG9yX2lkZW50LmJ1Ziwgc2lnbl9jb21taXQsIGV4dHJhKSkgewogCQlyb2xsYmFja19pbmRleF9maWxlcygpOwogCQlkaWUoXygiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiKSk7CiAJfQpAQCAtMTc3Niw3ICsxNzg4LDcgQEAKIAogCXRyYW5zYWN0aW9uID0gcmVmX3RyYW5zYWN0aW9uX2JlZ2luKCZlcnIpOwogCWlmICghdHJhbnNhY3Rpb24gfHwKLQkgICAgcmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSh0cmFuc2FjdGlvbiwgIkhFQUQiLCBzaGExLAorCSAgICByZWZfdHJhbnNhY3Rpb25fdXBkYXRlKHRyYW5zYWN0aW9uLCAiSEVBRCIsIG9pZC5oYXNoLAogCQkJCSAgIGN1cnJlbnRfaGVhZAogCQkJCSAgID8gY3VycmVudF9oZWFkLT5vYmplY3Qub2lkLmhhc2ggOiBudWxsX3NoYTEsCiAJCQkJICAgMCwgc2IuYnVmLCAmZXJyKSB8fApAQCAtMTgwNSwxNCArMTgxNywxNSBAQAogCQljZmcgPSBpbml0X2NvcHlfbm90ZXNfZm9yX3Jld3JpdGUoImFtZW5kIik7CiAJCWlmIChjZmcpIHsKIAkJCS8qIHdlIGFyZSBhbWVuZGluZywgc28gY3VycmVudF9oZWFkIGlzIG5vdCBOVUxMICovCi0JCQljb3B5X25vdGVfZm9yX3Jld3JpdGUoY2ZnLCBjdXJyZW50X2hlYWQtPm9iamVjdC5vaWQuaGFzaCwgc2hhMSk7CisJCQljb3B5X25vdGVfZm9yX3Jld3JpdGUoY2ZnLCAmY3VycmVudF9oZWFkLT5vYmplY3Qub2lkLCAmb2lkKTsKIAkJCWZpbmlzaF9jb3B5X25vdGVzX2Zvcl9yZXdyaXRlKGNmZywgIk5vdGVzIGFkZGVkIGJ5ICdnaXQgY29tbWl0IC0tYW1lbmQnIik7CiAJCX0KLQkJcnVuX3Jld3JpdGVfaG9vayhjdXJyZW50X2hlYWQtPm9iamVjdC5vaWQuaGFzaCwgc2hhMSk7CisJCXJ1bl9yZXdyaXRlX2hvb2soJmN1cnJlbnRfaGVhZC0+b2JqZWN0Lm9pZCwgJm9pZCk7CiAJfQogCWlmICghcXVpZXQpCi0JCXByaW50X3N1bW1hcnkocHJlZml4LCBzaGExLCAhY3VycmVudF9oZWFkKTsKKwkJcHJpbnRfc3VtbWFyeShwcmVmaXgsICZvaWQsICFjdXJyZW50X2hlYWQpOwogCi0Jc3RyYnVmX3JlbGVhc2UoJmVycik7CisJVU5MRUFLKGVycik7CisJVU5MRUFLKHNiKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vY29uZmlnLmMgYi9idWlsdGluL2NvbmZpZy5jCmluZGV4IDA1ODQzYTAuLmQxM2RhZWUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY29uZmlnLmMKKysrIGIvYnVpbHRpbi9jb25maWcuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJjb2xvci5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJ1cmxtYXRjaC5oIgpAQCAtMjYsNyArMjcsOCBAQAogc3RhdGljIHN0cnVjdCBnaXRfY29uZmlnX3NvdXJjZSBnaXZlbl9jb25maWdfc291cmNlOwogc3RhdGljIGludCBhY3Rpb25zLCB0eXBlczsKIHN0YXRpYyBpbnQgZW5kX251bGw7Ci1zdGF0aWMgaW50IHJlc3BlY3RfaW5jbHVkZXMgPSAtMTsKK3N0YXRpYyBpbnQgcmVzcGVjdF9pbmNsdWRlc19vcHQgPSAtMTsKK3N0YXRpYyBzdHJ1Y3QgY29uZmlnX29wdGlvbnMgY29uZmlnX29wdGlvbnM7CiBzdGF0aWMgaW50IHNob3dfb3JpZ2luOwogCiAjZGVmaW5lIEFDVElPTl9HRVQgKDE8PDApCkBAIC04MSw3ICs4Myw3IEBACiAJT1BUX0dST1VQKE5fKCJPdGhlciIpKSwKIAlPUFRfQk9PTCgneicsICJudWxsIiwgJmVuZF9udWxsLCBOXygidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIikpLAogCU9QVF9CT09MKDAsICJuYW1lLW9ubHkiLCAmb21pdF92YWx1ZXMsIE5fKCJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiKSksCi0JT1BUX0JPT0woMCwgImluY2x1ZGVzIiwgJnJlc3BlY3RfaW5jbHVkZXMsIE5fKCJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiKSksCisJT1BUX0JPT0woMCwgImluY2x1ZGVzIiwgJnJlc3BlY3RfaW5jbHVkZXNfb3B0LCBOXygicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIikpLAogCU9QVF9CT09MKDAsICJzaG93LW9yaWdpbiIsICZzaG93X29yaWdpbiwgTl8oInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiKSksCiAJT1BUX0VORCgpLAogfTsKQEAgLTIxMyw4ICsyMTUsNyBAQAogCQlrZXlfcmVnZXhwID0gKHJlZ2V4X3QqKXhtYWxsb2Moc2l6ZW9mKHJlZ2V4X3QpKTsKIAkJaWYgKHJlZ2NvbXAoa2V5X3JlZ2V4cCwga2V5LCBSRUdfRVhURU5ERUQpKSB7CiAJCQllcnJvcigiaW52YWxpZCBrZXkgcGF0dGVybjogJXMiLCBrZXlfKTsKLQkJCWZyZWUoa2V5X3JlZ2V4cCk7Ci0JCQlrZXlfcmVnZXhwID0gTlVMTDsKKwkJCUZSRUVfQU5EX05VTEwoa2V5X3JlZ2V4cCk7CiAJCQlyZXQgPSBDT05GSUdfSU5WQUxJRF9QQVRURVJOOwogCQkJZ290byBmcmVlX3N0cmluZ3M7CiAJCX0KQEAgLTIzNCwxNSArMjM1LDE0IEBACiAJCXJlZ2V4cCA9IChyZWdleF90Kil4bWFsbG9jKHNpemVvZihyZWdleF90KSk7CiAJCWlmIChyZWdjb21wKHJlZ2V4cCwgcmVnZXhfLCBSRUdfRVhURU5ERUQpKSB7CiAJCQllcnJvcigiaW52YWxpZCBwYXR0ZXJuOiAlcyIsIHJlZ2V4Xyk7Ci0JCQlmcmVlKHJlZ2V4cCk7Ci0JCQlyZWdleHAgPSBOVUxMOworCQkJRlJFRV9BTkRfTlVMTChyZWdleHApOwogCQkJcmV0ID0gQ09ORklHX0lOVkFMSURfUEFUVEVSTjsKIAkJCWdvdG8gZnJlZV9zdHJpbmdzOwogCQl9CiAJfQogCi0JZ2l0X2NvbmZpZ193aXRoX29wdGlvbnMoY29sbGVjdF9jb25maWcsICZ2YWx1ZXMsCi0JCQkJJmdpdmVuX2NvbmZpZ19zb3VyY2UsIHJlc3BlY3RfaW5jbHVkZXMpOworCWNvbmZpZ193aXRoX29wdGlvbnMoY29sbGVjdF9jb25maWcsICZ2YWx1ZXMsCisJCQkgICAgJmdpdmVuX2NvbmZpZ19zb3VyY2UsICZjb25maWdfb3B0aW9ucyk7CiAKIAlyZXQgPSAhdmFsdWVzLm5yOwogCkBAIC0zMTksOCArMzE5LDggQEAKIAlnZXRfY29sb3Jfc2xvdCA9IHZhcjsKIAlnZXRfY29sb3JfZm91bmQgPSAwOwogCXBhcnNlZF9jb2xvclswXSA9ICdcMCc7Ci0JZ2l0X2NvbmZpZ193aXRoX29wdGlvbnMoZ2l0X2dldF9jb2xvcl9jb25maWcsIE5VTEwsCi0JCQkJJmdpdmVuX2NvbmZpZ19zb3VyY2UsIHJlc3BlY3RfaW5jbHVkZXMpOworCWNvbmZpZ193aXRoX29wdGlvbnMoZ2l0X2dldF9jb2xvcl9jb25maWcsIE5VTEwsCisJCQkgICAgJmdpdmVuX2NvbmZpZ19zb3VyY2UsICZjb25maWdfb3B0aW9ucyk7CiAKIAlpZiAoIWdldF9jb2xvcl9mb3VuZCAmJiBkZWZfY29sb3IpIHsKIAkJaWYgKGNvbG9yX3BhcnNlKGRlZl9jb2xvciwgcGFyc2VkX2NvbG9yKSA8IDApCkBAIC0zNTEsOCArMzUxLDggQEAKIAlnZXRfY29sb3Jib29sX2ZvdW5kID0gLTE7CiAJZ2V0X2RpZmZfY29sb3JfZm91bmQgPSAtMTsKIAlnZXRfY29sb3JfdWlfZm91bmQgPSAtMTsKLQlnaXRfY29uZmlnX3dpdGhfb3B0aW9ucyhnaXRfZ2V0X2NvbG9yYm9vbF9jb25maWcsIE5VTEwsCi0JCQkJJmdpdmVuX2NvbmZpZ19zb3VyY2UsIHJlc3BlY3RfaW5jbHVkZXMpOworCWNvbmZpZ193aXRoX29wdGlvbnMoZ2l0X2dldF9jb2xvcmJvb2xfY29uZmlnLCBOVUxMLAorCQkJICAgICZnaXZlbl9jb25maWdfc291cmNlLCAmY29uZmlnX29wdGlvbnMpOwogCiAJaWYgKGdldF9jb2xvcmJvb2xfZm91bmQgPCAwKSB7CiAJCWlmICghc3RyY21wKGdldF9jb2xvcmJvb2xfc2xvdCwgImNvbG9yLmRpZmYiKSkKQEAgLTQ0MCw4ICs0NDAsOCBAQAogCQlzaG93X2tleXMgPSAxOwogCX0KIAotCWdpdF9jb25maWdfd2l0aF9vcHRpb25zKHVybG1hdGNoX2NvbmZpZ19lbnRyeSwgJmNvbmZpZywKLQkJCQkmZ2l2ZW5fY29uZmlnX3NvdXJjZSwgcmVzcGVjdF9pbmNsdWRlcyk7CisJY29uZmlnX3dpdGhfb3B0aW9ucyh1cmxtYXRjaF9jb25maWdfZW50cnksICZjb25maWcsCisJCQkgICAgJmdpdmVuX2NvbmZpZ19zb3VyY2UsICZjb25maWdfb3B0aW9ucyk7CiAKIAlyZXQgPSAhdmFsdWVzLm5yOwogCkBAIC00OTUsNiArNDk1LDkgQEAKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fY29uZmlnX3VzYWdlLCBidWlsdGluX2NvbmZpZ19vcHRpb25zKTsKIAl9CiAKKwlpZiAodXNlX2xvY2FsX2NvbmZpZyAmJiBub25naXQpCisJCWRpZShfKCItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiKSk7CisKIAlpZiAoZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlICYmCiAJCQkhc3RyY21wKGdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSwgIi0iKSkgewogCQlnaXZlbl9jb25maWdfc291cmNlLmZpbGUgPSBOVUxMOwpAQCAtNTAyLDcgKzUwNSw3IEBACiAJfQogCiAJaWYgKHVzZV9nbG9iYWxfY29uZmlnKSB7Ci0JCWNoYXIgKnVzZXJfY29uZmlnID0gZXhwYW5kX3VzZXJfcGF0aCgifi8uZ2l0Y29uZmlnIik7CisJCWNoYXIgKnVzZXJfY29uZmlnID0gZXhwYW5kX3VzZXJfcGF0aCgifi8uZ2l0Y29uZmlnIiwgMCk7CiAJCWNoYXIgKnhkZ19jb25maWcgPSB4ZGdfY29uZmlnX2hvbWUoImNvbmZpZyIpOwogCiAJCWlmICghdXNlcl9jb25maWcpCkBAIC01MTUsMTAgKzUxOCwxMyBAQAogCQkJZGllKCIkSE9NRSBub3Qgc2V0Iik7CiAKIAkJaWYgKGFjY2Vzc19vcl93YXJuKHVzZXJfY29uZmlnLCBSX09LLCAwKSAmJgotCQkgICAgeGRnX2NvbmZpZyAmJiAhYWNjZXNzX29yX3dhcm4oeGRnX2NvbmZpZywgUl9PSywgMCkpCisJCSAgICB4ZGdfY29uZmlnICYmICFhY2Nlc3Nfb3Jfd2Fybih4ZGdfY29uZmlnLCBSX09LLCAwKSkgewogCQkJZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlID0geGRnX2NvbmZpZzsKLQkJZWxzZQorCQkJZnJlZSh1c2VyX2NvbmZpZyk7CisJCX0gZWxzZSB7CiAJCQlnaXZlbl9jb25maWdfc291cmNlLmZpbGUgPSB1c2VyX2NvbmZpZzsKKwkJCWZyZWUoeGRnX2NvbmZpZyk7CisJCX0KIAl9CiAJZWxzZSBpZiAodXNlX3N5c3RlbV9jb25maWcpCiAJCWdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSA9IGdpdF9ldGNfZ2l0Y29uZmlnKCk7CkBAIC01MjcsMTMgKzUzMywxNyBAQAogCWVsc2UgaWYgKGdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSkgewogCQlpZiAoIWlzX2Fic29sdXRlX3BhdGgoZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlKSAmJiBwcmVmaXgpCiAJCQlnaXZlbl9jb25maWdfc291cmNlLmZpbGUgPQotCQkJCXhzdHJkdXAocHJlZml4X2ZpbGVuYW1lKHByZWZpeCwKLQkJCQkJCQlzdHJsZW4ocHJlZml4KSwKLQkJCQkJCQlnaXZlbl9jb25maWdfc291cmNlLmZpbGUpKTsKKwkJCQlwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBnaXZlbl9jb25maWdfc291cmNlLmZpbGUpOwogCX0KIAotCWlmIChyZXNwZWN0X2luY2x1ZGVzID09IC0xKQotCQlyZXNwZWN0X2luY2x1ZGVzID0gIWdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZTsKKwlpZiAocmVzcGVjdF9pbmNsdWRlc19vcHQgPT0gLTEpCisJCWNvbmZpZ19vcHRpb25zLnJlc3BlY3RfaW5jbHVkZXMgPSAhZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlOworCWVsc2UKKwkJY29uZmlnX29wdGlvbnMucmVzcGVjdF9pbmNsdWRlcyA9IHJlc3BlY3RfaW5jbHVkZXNfb3B0OworCWlmICghbm9uZ2l0KSB7CisJCWNvbmZpZ19vcHRpb25zLmNvbW1vbmRpciA9IGdldF9naXRfY29tbW9uX2RpcigpOworCQljb25maWdfb3B0aW9ucy5naXRfZGlyID0gZ2V0X2dpdF9kaXIoKTsKKwl9CiAKIAlpZiAoZW5kX251bGwpIHsKIAkJdGVybSA9ICdcMCc7CkBAIC01NzgsOSArNTg4LDkgQEAKIAogCWlmIChhY3Rpb25zID09IEFDVElPTl9MSVNUKSB7CiAJCWNoZWNrX2FyZ2MoYXJnYywgMCwgMCk7Ci0JCWlmIChnaXRfY29uZmlnX3dpdGhfb3B0aW9ucyhzaG93X2FsbF9jb25maWcsIE5VTEwsCi0JCQkJCSAgICAmZ2l2ZW5fY29uZmlnX3NvdXJjZSwKLQkJCQkJICAgIHJlc3BlY3RfaW5jbHVkZXMpIDwgMCkgeworCQlpZiAoY29uZmlnX3dpdGhfb3B0aW9ucyhzaG93X2FsbF9jb25maWcsIE5VTEwsCisJCQkJCSZnaXZlbl9jb25maWdfc291cmNlLAorCQkJCQkmY29uZmlnX29wdGlvbnMpIDwgMCkgewogCQkJaWYgKGdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSkKIAkJCQlkaWVfZXJybm8oInVuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlICclcyciLAogCQkJCQkgIGdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSk7CkBAIC01OTksOCArNjA5LDkgQEAKIAkJaWYgKGdpdmVuX2NvbmZpZ19zb3VyY2UuYmxvYikKIAkJCWRpZSgiZWRpdGluZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIik7CiAJCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKLQkJY29uZmlnX2ZpbGUgPSB4c3RyZHVwKGdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSA/Ci0JCQkJICAgICAgZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlIDogZ2l0X3BhdGgoImNvbmZpZyIpKTsKKwkJY29uZmlnX2ZpbGUgPSBnaXZlbl9jb25maWdfc291cmNlLmZpbGUgPworCQkJCXhzdHJkdXAoZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlKSA6CisJCQkJZ2l0X3BhdGhkdXAoImNvbmZpZyIpOwogCQlpZiAodXNlX2dsb2JhbF9jb25maWcpIHsKIAkJCWludCBmZCA9IG9wZW4oY29uZmlnX2ZpbGUsIE9fQ1JFQVQgfCBPX0VYQ0wgfCBPX1dST05MWSwgMDY2Nik7CiAJCQlpZiAoZmQgPj0gMCkgewpAQCAtNjIwLDYgKzYzMSw3IEBACiAJCWNoZWNrX3dyaXRlKCk7CiAJCWNoZWNrX2FyZ2MoYXJnYywgMiwgMik7CiAJCXZhbHVlID0gbm9ybWFsaXplX3ZhbHVlKGFyZ3ZbMF0sIGFyZ3ZbMV0pOworCQlVTkxFQUsodmFsdWUpOwogCQlyZXQgPSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShnaXZlbl9jb25maWdfc291cmNlLmZpbGUsIGFyZ3ZbMF0sIHZhbHVlKTsKIAkJaWYgKHJldCA9PSBDT05GSUdfTk9USElOR19TRVQpCiAJCQllcnJvcihfKCJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC02MzAsNiArNjQyLDcgQEAKIAkJY2hlY2tfd3JpdGUoKTsKIAkJY2hlY2tfYXJnYyhhcmdjLCAyLCAzKTsKIAkJdmFsdWUgPSBub3JtYWxpemVfdmFsdWUoYXJndlswXSwgYXJndlsxXSk7CisJCVVOTEVBSyh2YWx1ZSk7CiAJCXJldHVybiBnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9pbl9maWxlX2dlbnRseShnaXZlbl9jb25maWdfc291cmNlLmZpbGUsCiAJCQkJCQkJICAgICAgYXJndlswXSwgdmFsdWUsIGFyZ3ZbMl0sIDApOwogCX0KQEAgLTYzNyw2ICs2NTAsNyBAQAogCQljaGVja193cml0ZSgpOwogCQljaGVja19hcmdjKGFyZ2MsIDIsIDIpOwogCQl2YWx1ZSA9IG5vcm1hbGl6ZV92YWx1ZShhcmd2WzBdLCBhcmd2WzFdKTsKKwkJVU5MRUFLKHZhbHVlKTsKIAkJcmV0dXJuIGdpdF9jb25maWdfc2V0X211bHRpdmFyX2luX2ZpbGVfZ2VudGx5KGdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSwKIAkJCQkJCQkgICAgICBhcmd2WzBdLCB2YWx1ZSwKIAkJCQkJCQkgICAgICBDT05GSUdfUkVHRVhfTk9ORSwgMCk7CkBAIC02NDUsNiArNjU5LDcgQEAKIAkJY2hlY2tfd3JpdGUoKTsKIAkJY2hlY2tfYXJnYyhhcmdjLCAyLCAzKTsKIAkJdmFsdWUgPSBub3JtYWxpemVfdmFsdWUoYXJndlswXSwgYXJndlsxXSk7CisJCVVOTEVBSyh2YWx1ZSk7CiAJCXJldHVybiBnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9pbl9maWxlX2dlbnRseShnaXZlbl9jb25maWdfc291cmNlLmZpbGUsCiAJCQkJCQkJICAgICAgYXJndlswXSwgdmFsdWUsIGFyZ3ZbMl0sIDEpOwogCX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vY291bnQtb2JqZWN0cy5jIGIvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKaW5kZXggYTA0YjRmMi4uMzMzNDM4MSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKKysrIGIvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKQEAgLTUsMTAgKzUsMTIgQEAKICAqLwogCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInF1b3RlLmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2FyYmFnZTsKIHN0YXRpYyBvZmZfdCBzaXplX2dhcmJhZ2U7CkBAIC01Myw3ICs1NSw3IEBACiAJCXJlcG9ydF9nYXJiYWdlKFBBQ0tESVJfRklMRV9HQVJCQUdFLCBwYXRoKTsKIH0KIAotc3RhdGljIGludCBjb3VudF9sb29zZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICpwYXRoLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBjb3VudF9sb29zZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnBhdGgsIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IHN0YXQgc3Q7CiAKQEAgLTYyLDcgKzY0LDcgQEAKIAllbHNlIHsKIAkJbG9vc2Vfc2l6ZSArPSBvbl9kaXNrX2J5dGVzKHN0KTsKIAkJbG9vc2UrKzsKLQkJaWYgKHZlcmJvc2UgJiYgaGFzX3NoYTFfcGFjayhzaGExKSkKKwkJaWYgKHZlcmJvc2UgJiYgaGFzX3NoYTFfcGFjayhvaWQtPmhhc2gpKQogCQkJcGFja2VkX2xvb3NlKys7CiAJfQogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jcmVkZW50aWFsLmMgYi9idWlsdGluL2NyZWRlbnRpYWwuYwppbmRleCAwNDEyZmEwLi44NzlhY2ZiIDEwMDY0NAotLS0gYS9idWlsdGluL2NyZWRlbnRpYWwuYworKysgYi9idWlsdGluL2NyZWRlbnRpYWwuYwpAQCAtMTAsOSArMTAsOSBAQAogCWNvbnN0IGNoYXIgKm9wOwogCXN0cnVjdCBjcmVkZW50aWFsIGMgPSBDUkVERU5USUFMX0lOSVQ7CiAKLQlvcCA9IGFyZ3ZbMV07Ci0JaWYgKCFvcCkKKwlpZiAoYXJnYyAhPSAyIHx8ICFzdHJjbXAoYXJndlsxXSwgIi1oIikpCiAJCXVzYWdlKHVzYWdlX21zZyk7CisJb3AgPSBhcmd2WzFdOwogCiAJaWYgKGNyZWRlbnRpYWxfcmVhZCgmYywgc3RkaW4pIDwgMCkKIAkJZGllKCJ1bmFibGUgdG8gcmVhZCBjcmVkZW50aWFsIGZyb20gc3RkaW4iKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGVzY3JpYmUuYyBiL2J1aWx0aW4vZGVzY3JpYmUuYwppbmRleCAwMTQ5MGExLi4yOTA3NWRiIDEwMDY0NAotLS0gYS9idWlsdGluL2Rlc2NyaWJlLmMKKysrIGIvYnVpbHRpbi9kZXNjcmliZS5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJ0YWcuaCIKQEAgLTksNiArMTAsNyBAQAogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJoYXNobWFwLmgiCiAjaW5jbHVkZSAiYXJndi1hcnJheS5oIgorI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAKICNkZWZpbmUgU0VFTgkJKDF1IDw8IDApCiAjZGVmaW5lIE1BWF9UQUdTCShGTEFHX0JJVFMgLSAxKQpAQCAtMjgsOSArMzAsMTAgQEAKIHN0YXRpYyBpbnQgbWF4X2NhbmRpZGF0ZXMgPSAxMDsKIHN0YXRpYyBzdHJ1Y3QgaGFzaG1hcCBuYW1lczsKIHN0YXRpYyBpbnQgaGF2ZV91dGlsOwotc3RhdGljIGNvbnN0IGNoYXIgKnBhdHRlcm47CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IHBhdHRlcm5zID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgZXhjbHVkZV9wYXR0ZXJucyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiBzdGF0aWMgaW50IGFsd2F5czsKLXN0YXRpYyBjb25zdCBjaGFyICpkaXJ0eTsKK3N0YXRpYyBjb25zdCBjaGFyICpzdWZmaXgsICpkaXJ0eSwgKmJyb2tlbjsKIAogLyogZGlmZi1pbmRleCBjb21tYW5kIGFyZ3VtZW50cyB0byBjaGVjayBpZiB3b3JraW5nIHRyZWUgaXMgZGlydHkuICovCiBzdGF0aWMgY29uc3QgY2hhciAqZGlmZl9pbmRleF9hcmdzW10gPSB7CkBAIC0zOSwzMiArNDIsMzcgQEAKIAogc3RydWN0IGNvbW1pdF9uYW1lIHsKIAlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnRyeTsKLQl1bnNpZ25lZCBjaGFyIHBlZWxlZFsyMF07CisJc3RydWN0IG9iamVjdF9pZCBwZWVsZWQ7CiAJc3RydWN0IHRhZyAqdGFnOwogCXVuc2lnbmVkIHByaW86MjsgLyogYW5ub3RhdGVkIHRhZyA9IDIsIHRhZyA9IDEsIGhlYWQgPSAwICovCiAJdW5zaWduZWQgbmFtZV9jaGVja2VkOjE7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAljaGFyICpwYXRoOwogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKnByaW9fbmFtZXNbXSA9IHsKLQkiaGVhZCIsICJsaWdodHdlaWdodCIsICJhbm5vdGF0ZWQiLAorCU5fKCJoZWFkIiksIE5fKCJsaWdodHdlaWdodCIpLCBOXygiYW5ub3RhdGVkIiksCiB9OwogCi1zdGF0aWMgaW50IGNvbW1pdF9uYW1lX2NtcChjb25zdCBzdHJ1Y3QgY29tbWl0X25hbWUgKmNuMSwKLQkJY29uc3Qgc3RydWN0IGNvbW1pdF9uYW1lICpjbjIsIGNvbnN0IHZvaWQgKnBlZWxlZCkKK3N0YXRpYyBpbnQgY29tbWl0X25hbWVfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJCSAgIGNvbnN0IHZvaWQgKmVudHJ5LAorCQkJICAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJICAgY29uc3Qgdm9pZCAqcGVlbGVkKQogewotCXJldHVybiBoYXNoY21wKGNuMS0+cGVlbGVkLCBwZWVsZWQgPyBwZWVsZWQgOiBjbjItPnBlZWxlZCk7CisJY29uc3Qgc3RydWN0IGNvbW1pdF9uYW1lICpjbjEgPSBlbnRyeTsKKwljb25zdCBzdHJ1Y3QgY29tbWl0X25hbWUgKmNuMiA9IGVudHJ5X29yX2tleTsKKworCXJldHVybiBvaWRjbXAoJmNuMS0+cGVlbGVkLCBwZWVsZWQgPyBwZWVsZWQgOiAmY24yLT5wZWVsZWQpOwogfQogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBjb21taXRfbmFtZSAqZmluZF9jb21taXRfbmFtZShjb25zdCB1bnNpZ25lZCBjaGFyICpwZWVsZWQpCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjb21taXRfbmFtZSAqZmluZF9jb21taXRfbmFtZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpwZWVsZWQpCiB7Ci0JcmV0dXJuIGhhc2htYXBfZ2V0X2Zyb21faGFzaCgmbmFtZXMsIHNoYTFoYXNoKHBlZWxlZCksIHBlZWxlZCk7CisJcmV0dXJuIGhhc2htYXBfZ2V0X2Zyb21faGFzaCgmbmFtZXMsIHNoYTFoYXNoKHBlZWxlZC0+aGFzaCksIHBlZWxlZC0+aGFzaCk7CiB9CiAKIHN0YXRpYyBpbnQgcmVwbGFjZV9uYW1lKHN0cnVjdCBjb21taXRfbmFtZSAqZSwKIAkJCSAgICAgICBpbnQgcHJpbywKLQkJCSAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSAgICAgICBzdHJ1Y3QgdGFnICoqdGFnKQogewogCWlmICghZSB8fCBlLT5wcmlvIDwgcHJpbykKQEAgLTc3LDEzICs4NSwxMyBAQAogCQlzdHJ1Y3QgdGFnICp0OwogCiAJCWlmICghZS0+dGFnKSB7Ci0JCQl0ID0gbG9va3VwX3RhZyhlLT5zaGExKTsKKwkJCXQgPSBsb29rdXBfdGFnKCZlLT5vaWQpOwogCQkJaWYgKCF0IHx8IHBhcnNlX3RhZyh0KSkKIAkJCQlyZXR1cm4gMTsKIAkJCWUtPnRhZyA9IHQ7CiAJCX0KIAotCQl0ID0gbG9va3VwX3RhZyhzaGExKTsKKwkJdCA9IGxvb2t1cF90YWcob2lkKTsKIAkJaWYgKCF0IHx8IHBhcnNlX3RhZyh0KSkKIAkJCXJldHVybiAwOwogCQkqdGFnID0gdDsKQEAgLTk2LDI0ICsxMDQsMjQgQEAKIH0KIAogc3RhdGljIHZvaWQgYWRkX3RvX2tub3duX25hbWVzKGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcGVlbGVkLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnBlZWxlZCwKIAkJCSAgICAgICBpbnQgcHJpbywKLQkJCSAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3QgY29tbWl0X25hbWUgKmUgPSBmaW5kX2NvbW1pdF9uYW1lKHBlZWxlZCk7CiAJc3RydWN0IHRhZyAqdGFnID0gTlVMTDsKLQlpZiAocmVwbGFjZV9uYW1lKGUsIHByaW8sIHNoYTEsICZ0YWcpKSB7CisJaWYgKHJlcGxhY2VfbmFtZShlLCBwcmlvLCBvaWQsICZ0YWcpKSB7CiAJCWlmICghZSkgewogCQkJZSA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21taXRfbmFtZSkpOwotCQkJaGFzaGNweShlLT5wZWVsZWQsIHBlZWxlZCk7Ci0JCQloYXNobWFwX2VudHJ5X2luaXQoZSwgc2hhMWhhc2gocGVlbGVkKSk7CisJCQlvaWRjcHkoJmUtPnBlZWxlZCwgcGVlbGVkKTsKKwkJCWhhc2htYXBfZW50cnlfaW5pdChlLCBzaGExaGFzaChwZWVsZWQtPmhhc2gpKTsKIAkJCWhhc2htYXBfYWRkKCZuYW1lcywgZSk7CiAJCQllLT5wYXRoID0gTlVMTDsKIAkJfQogCQllLT50YWcgPSB0YWc7CiAJCWUtPnByaW8gPSBwcmlvOwogCQllLT5uYW1lX2NoZWNrZWQgPSAwOwotCQloYXNoY3B5KGUtPnNoYTEsIHNoYTEpOworCQlvaWRjcHkoJmUtPm9pZCwgb2lkKTsKIAkJZnJlZShlLT5wYXRoKTsKIAkJZS0+cGF0aCA9IHhzdHJkdXAocGF0aCk7CiAJfQpAQCAtMTIxLDE3ICsxMjksNTYgQEAKIAogc3RhdGljIGludCBnZXRfbmFtZShjb25zdCBjaGFyICpwYXRoLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFnLCB2b2lkICpjYl9kYXRhKQogewotCWludCBpc190YWcgPSBzdGFydHNfd2l0aChwYXRoLCAicmVmcy90YWdzLyIpOworCWludCBpc190YWcgPSAwOwogCXN0cnVjdCBvYmplY3RfaWQgcGVlbGVkOwogCWludCBpc19hbm5vdGF0ZWQsIHByaW87CisJY29uc3QgY2hhciAqcGF0aF90b19tYXRjaCA9IE5VTEw7CiAKLQkvKiBSZWplY3QgYW55dGhpbmcgb3V0c2lkZSByZWZzL3RhZ3MvIHVubGVzcyAtLWFsbCAqLwotCWlmICghYWxsICYmICFpc190YWcpCisJaWYgKHNraXBfcHJlZml4KHBhdGgsICJyZWZzL3RhZ3MvIiwgJnBhdGhfdG9fbWF0Y2gpKSB7CisJCWlzX3RhZyA9IDE7CisJfSBlbHNlIGlmIChhbGwpIHsKKwkJaWYgKChleGNsdWRlX3BhdHRlcm5zLm5yIHx8IHBhdHRlcm5zLm5yKSAmJgorCQkgICAgIXNraXBfcHJlZml4KHBhdGgsICJyZWZzL2hlYWRzLyIsICZwYXRoX3RvX21hdGNoKSAmJgorCQkgICAgIXNraXBfcHJlZml4KHBhdGgsICJyZWZzL3JlbW90ZXMvIiwgJnBhdGhfdG9fbWF0Y2gpKSB7CisJCQkvKiBPbmx5IGFjY2VwdCByZWZlcmVuY2Ugb2Yga25vd24gdHlwZSBpZiB0aGVyZSBhcmUgbWF0Y2gvZXhjbHVkZSBwYXR0ZXJucyAqLworCQkJcmV0dXJuIDA7CisJCX0KKwl9IGVsc2UgeworCQkvKiBSZWplY3QgYW55dGhpbmcgb3V0c2lkZSByZWZzL3RhZ3MvIHVubGVzcyAtLWFsbCAqLwogCQlyZXR1cm4gMDsKKwl9CiAKLQkvKiBBY2NlcHQgb25seSB0YWdzIHRoYXQgbWF0Y2ggdGhlIHBhdHRlcm4sIGlmIGdpdmVuICovCi0JaWYgKHBhdHRlcm4gJiYgKCFpc190YWcgfHwgd2lsZG1hdGNoKHBhdHRlcm4sIHBhdGggKyAxMCwgMCwgTlVMTCkpKQotCQlyZXR1cm4gMDsKKwkvKgorCSAqIElmIHdlJ3JlIGdpdmVuIGV4Y2x1ZGUgcGF0dGVybnMsIGZpcnN0IGV4Y2x1ZGUgYW55IHRhZyB3aGljaCBtYXRjaAorCSAqIGFueSBvZiB0aGUgZXhjbHVkZSBwYXR0ZXJuLgorCSAqLworCWlmIChleGNsdWRlX3BhdHRlcm5zLm5yKSB7CisJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCisJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJmV4Y2x1ZGVfcGF0dGVybnMpIHsKKwkJCWlmICghd2lsZG1hdGNoKGl0ZW0tPnN0cmluZywgcGF0aF90b19tYXRjaCwgMCkpCisJCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKwkvKgorCSAqIElmIHdlJ3JlIGdpdmVuIHBhdHRlcm5zLCBhY2NlcHQgb25seSB0YWdzIHdoaWNoIG1hdGNoIGF0IGxlYXN0IG9uZQorCSAqIHBhdHRlcm4uCisJICovCisJaWYgKHBhdHRlcm5zLm5yKSB7CisJCWludCBmb3VuZCA9IDA7CisJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCisJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJnBhdHRlcm5zKSB7CisJCQlpZiAoIXdpbGRtYXRjaChpdGVtLT5zdHJpbmcsIHBhdGhfdG9fbWF0Y2gsIDApKSB7CisJCQkJZm91bmQgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQl9CisKKwkJaWYgKCFmb3VuZCkKKwkJCXJldHVybiAwOworCX0KIAogCS8qIElzIGl0IGFubm90YXRlZD8gKi8KIAlpZiAoIXBlZWxfcmVmKHBhdGgsIHBlZWxlZC5oYXNoKSkgewpAQCAtMTU0LDcgKzIwMSw3IEBACiAJZWxzZQogCQlwcmlvID0gMDsKIAotCWFkZF90b19rbm93bl9uYW1lcyhhbGwgPyBwYXRoICsgNSA6IHBhdGggKyAxMCwgcGVlbGVkLmhhc2gsIHByaW8sIG9pZC0+aGFzaCk7CisJYWRkX3RvX2tub3duX25hbWVzKGFsbCA/IHBhdGggKyA1IDogcGF0aCArIDEwLCAmcGVlbGVkLCBwcmlvLCBvaWQpOwogCXJldHVybiAwOwogfQogCkBAIC0yMTIsNyArMjU5LDcgQEAKIHN0YXRpYyB2b2lkIGRpc3BsYXlfbmFtZShzdHJ1Y3QgY29tbWl0X25hbWUgKm4pCiB7CiAJaWYgKG4tPnByaW8gPT0gMiAmJiAhbi0+dGFnKSB7Ci0JCW4tPnRhZyA9IGxvb2t1cF90YWcobi0+c2hhMSk7CisJCW4tPnRhZyA9IGxvb2t1cF90YWcoJm4tPm9pZCk7CiAJCWlmICghbi0+dGFnIHx8IHBhcnNlX3RhZyhuLT50YWcpKQogCQkJZGllKF8oImFubm90YXRlZCB0YWcgJXMgbm90IGF2YWlsYWJsZSIpLCBuLT5wYXRoKTsKIAl9CkBAIC0yMzAsMTQgKzI3NywxNCBAQAogCQlwcmludGYoIiVzIiwgbi0+cGF0aCk7CiB9CiAKLXN0YXRpYyB2b2lkIHNob3dfc3VmZml4KGludCBkZXB0aCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyB2b2lkIHNob3dfc3VmZml4KGludCBkZXB0aCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXByaW50ZigiLSVkLWclcyIsIGRlcHRoLCBmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgYWJicmV2KSk7CisJcHJpbnRmKCItJWQtZyVzIiwgZGVwdGgsIGZpbmRfdW5pcXVlX2FiYnJldihvaWQtPmhhc2gsIGFiYnJldikpOwogfQogCiBzdGF0aWMgdm9pZCBkZXNjcmliZShjb25zdCBjaGFyICphcmcsIGludCBsYXN0X29uZSkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCBjb21taXQgKmNtaXQsICpnYXZlX3VwX29uID0gTlVMTDsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmxpc3Q7CiAJc3RydWN0IGNvbW1pdF9uYW1lICpuOwpAQCAtMjQ2LDIyICsyOTMsMjIgQEAKIAl1bnNpZ25lZCBsb25nIHNlZW5fY29tbWl0cyA9IDA7CiAJdW5zaWduZWQgaW50IHVuYW5ub3RhdGVkX2NudCA9IDA7CiAKLQlpZiAoZ2V0X3NoYTEoYXJnLCBzaGExKSkKKwlpZiAoZ2V0X29pZChhcmcsICZvaWQpKQogCQlkaWUoXygiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiKSwgYXJnKTsKLQljbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7CisJY21pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZvaWQpOwogCWlmICghY21pdCkKIAkJZGllKF8oIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IiksIGFyZywgY29tbWl0X3R5cGUpOwogCi0JbiA9IGZpbmRfY29tbWl0X25hbWUoY21pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwluID0gZmluZF9jb21taXRfbmFtZSgmY21pdC0+b2JqZWN0Lm9pZCk7CiAJaWYgKG4gJiYgKHRhZ3MgfHwgYWxsIHx8IG4tPnByaW8gPT0gMikpIHsKIAkJLyoKIAkJICogRXhhY3QgbWF0Y2ggdG8gYW4gZXhpc3RpbmcgcmVmLgogCQkgKi8KIAkJZGlzcGxheV9uYW1lKG4pOwogCQlpZiAobG9uZ2Zvcm1hdCkKLQkJCXNob3dfc3VmZml4KDAsIG4tPnRhZyA/IG4tPnRhZy0+dGFnZ2VkLT5vaWQuaGFzaCA6IHNoYTEpOwotCQlpZiAoZGlydHkpCi0JCQlwcmludGYoIiVzIiwgZGlydHkpOworCQkJc2hvd19zdWZmaXgoMCwgbi0+dGFnID8gJm4tPnRhZy0+dGFnZ2VkLT5vaWQgOiAmb2lkKTsKKwkJaWYgKHN1ZmZpeCkKKwkJCXByaW50ZigiJXMiLCBzdWZmaXgpOwogCQlwcmludGYoIlxuIik7CiAJCXJldHVybjsKIAl9CkBAIC0yNzYsNyArMzIzLDcgQEAKIAkJc3RydWN0IGNvbW1pdCAqYzsKIAkJc3RydWN0IGNvbW1pdF9uYW1lICpuID0gaGFzaG1hcF9pdGVyX2ZpcnN0KCZuYW1lcywgJml0ZXIpOwogCQlmb3IgKDsgbjsgbiA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkgewotCQkJYyA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShuLT5wZWVsZWQsIDEpOworCQkJYyA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSgmbi0+cGVlbGVkLCAxKTsKIAkJCWlmIChjKQogCQkJCWMtPnV0aWwgPSBuOwogCQl9CkBAIC0zMzcsOCArMzg0LDggQEAKIAkJc3RydWN0IG9iamVjdF9pZCAqb2lkID0gJmNtaXQtPm9iamVjdC5vaWQ7CiAJCWlmIChhbHdheXMpIHsKIAkJCXByaW50ZigiJXMiLCBmaW5kX3VuaXF1ZV9hYmJyZXYob2lkLT5oYXNoLCBhYmJyZXYpKTsKLQkJCWlmIChkaXJ0eSkKLQkJCQlwcmludGYoIiVzIiwgZGlydHkpOworCQkJaWYgKHN1ZmZpeCkKKwkJCQlwcmludGYoIiVzIiwgc3VmZml4KTsKIAkJCXByaW50ZigiXG4iKTsKIAkJCXJldHVybjsKIAkJfQpAQCAtMzYyLDEwICs0MDksMTkgQEAKIAlmcmVlX2NvbW1pdF9saXN0KGxpc3QpOwogCiAJaWYgKGRlYnVnKSB7CisJCXN0YXRpYyBpbnQgbGFiZWxfd2lkdGggPSAtMTsKKwkJaWYgKGxhYmVsX3dpZHRoIDwgMCkgeworCQkJaW50IGksIHc7CisJCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwcmlvX25hbWVzKTsgaSsrKSB7CisJCQkJdyA9IHN0cmxlbihfKHByaW9fbmFtZXNbaV0pKTsKKwkJCQlpZiAobGFiZWxfd2lkdGggPCB3KQorCQkJCQlsYWJlbF93aWR0aCA9IHc7CisJCQl9CisJCX0KIAkJZm9yIChjdXJfbWF0Y2ggPSAwOyBjdXJfbWF0Y2ggPCBtYXRjaF9jbnQ7IGN1cl9tYXRjaCsrKSB7CiAJCQlzdHJ1Y3QgcG9zc2libGVfdGFnICp0ID0gJmFsbF9tYXRjaGVzW2N1cl9tYXRjaF07Ci0JCQlmcHJpbnRmKHN0ZGVyciwgIiAlLTExcyAlOGQgJXNcbiIsCi0JCQkJcHJpb19uYW1lc1t0LT5uYW1lLT5wcmlvXSwKKwkJCWZwcmludGYoc3RkZXJyLCAiICUtKnMgJThkICVzXG4iLAorCQkJCWxhYmVsX3dpZHRoLCBfKHByaW9fbmFtZXNbdC0+bmFtZS0+cHJpb10pLAogCQkJCXQtPmRlcHRoLCB0LT5uYW1lLT5wYXRoKTsKIAkJfQogCQlmcHJpbnRmKHN0ZGVyciwgXygidHJhdmVyc2VkICVsdSBjb21taXRzXG4iKSwgc2Vlbl9jb21taXRzKTsKQEAgLTM4MCw5ICs0MzYsOSBAQAogCiAJZGlzcGxheV9uYW1lKGFsbF9tYXRjaGVzWzBdLm5hbWUpOwogCWlmIChhYmJyZXYpCi0JCXNob3dfc3VmZml4KGFsbF9tYXRjaGVzWzBdLmRlcHRoLCBjbWl0LT5vYmplY3Qub2lkLmhhc2gpOwotCWlmIChkaXJ0eSkKLQkJcHJpbnRmKCIlcyIsIGRpcnR5KTsKKwkJc2hvd19zdWZmaXgoYWxsX21hdGNoZXNbMF0uZGVwdGgsICZjbWl0LT5vYmplY3Qub2lkKTsKKwlpZiAoc3VmZml4KQorCQlwcmludGYoIiVzIiwgc3VmZml4KTsKIAlwcmludGYoIlxuIik7CiAKIAlpZiAoIWxhc3Rfb25lKQpAQCAtNDA0LDEzICs0NjAsMTggQEAKIAkJCSAgICBOXygib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIpLCAwKSwKIAkJT1BUX0lOVEVHRVIoMCwgImNhbmRpZGF0ZXMiLCAmbWF4X2NhbmRpZGF0ZXMsCiAJCQkgICAgTl8oImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiKSksCi0JCU9QVF9TVFJJTkcoMCwgIm1hdGNoIiwgICAgICAgJnBhdHRlcm4sIE5fKCJwYXR0ZXJuIiksCisJCU9QVF9TVFJJTkdfTElTVCgwLCAibWF0Y2giLCAmcGF0dGVybnMsIE5fKCJwYXR0ZXJuIiksCiAJCQkgICBOXygib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIpKSwKKwkJT1BUX1NUUklOR19MSVNUKDAsICJleGNsdWRlIiwgJmV4Y2x1ZGVfcGF0dGVybnMsIE5fKCJwYXR0ZXJuIiksCisJCQkgICBOXygiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IikpLAogCQlPUFRfQk9PTCgwLCAiYWx3YXlzIiwgICAgICAgICZhbHdheXMsCiAJCQlOXygic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIikpLAogCQl7T1BUSU9OX1NUUklORywgMCwgImRpcnR5IiwgICZkaXJ0eSwgTl8oIm1hcmsiKSwKIAkJCU5fKCJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiKSwKIAkJCVBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdCkgIi1kaXJ0eSJ9LAorCQl7T1BUSU9OX1NUUklORywgMCwgImJyb2tlbiIsICAmYnJva2VuLCBOXygibWFyayIpLAorCQkJTl8oImFwcGVuZCA8bWFyaz4gb24gYnJva2VuIHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItYnJva2VuXCIpIiksCisJCQlQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpICItYnJva2VuIn0sCiAJCU9QVF9FTkQoKSwKIAl9OwogCkBAIC00MzAsNiArNDkxLDcgQEAKIAkJZGllKF8oIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIikpOwogCiAJaWYgKGNvbnRhaW5zKSB7CisJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOwogCQlzdHJ1Y3QgYXJndl9hcnJheSBhcmdzOwogCiAJCWFyZ3ZfYXJyYXlfaW5pdCgmYXJncyk7CkBAIC00NDAsOCArNTAyLDEwIEBACiAJCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLWFsd2F5cyIpOwogCQlpZiAoIWFsbCkgewogCQkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS10YWdzIik7Ci0JCQlpZiAocGF0dGVybikKLQkJCQlhcmd2X2FycmF5X3B1c2hmKCZhcmdzLCAiLS1yZWZzPXJlZnMvdGFncy8lcyIsIHBhdHRlcm4pOworCQkJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmcGF0dGVybnMpCisJCQkJYXJndl9hcnJheV9wdXNoZigmYXJncywgIi0tcmVmcz1yZWZzL3RhZ3MvJXMiLCBpdGVtLT5zdHJpbmcpOworCQkJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmZXhjbHVkZV9wYXR0ZXJucykKKwkJCQlhcmd2X2FycmF5X3B1c2hmKCZhcmdzLCAiLS1leGNsdWRlPXJlZnMvdGFncy8lcyIsIGl0ZW0tPnN0cmluZyk7CiAJCX0KIAkJaWYgKGFyZ2MpCiAJCQlhcmd2X2FycmF5X3B1c2h2KCZhcmdzLCBhcmd2KTsKQEAgLTQ1MCwxMyArNTE0LDM0IEBACiAJCXJldHVybiBjbWRfbmFtZV9yZXYoYXJncy5hcmdjLCBhcmdzLmFyZ3YsIHByZWZpeCk7CiAJfQogCi0JaGFzaG1hcF9pbml0KCZuYW1lcywgKGhhc2htYXBfY21wX2ZuKSBjb21taXRfbmFtZV9jbXAsIDApOworCWhhc2htYXBfaW5pdCgmbmFtZXMsIGNvbW1pdF9uYW1lX2NtcCwgTlVMTCwgMCk7CiAJZm9yX2VhY2hfcmF3cmVmKGdldF9uYW1lLCBOVUxMKTsKLQlpZiAoIW5hbWVzLnNpemUgJiYgIWFsd2F5cykKKwlpZiAoIWhhc2htYXBfZ2V0X3NpemUoJm5hbWVzKSAmJiAhYWx3YXlzKQogCQlkaWUoXygiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iKSk7CiAKIAlpZiAoYXJnYyA9PSAwKSB7Ci0JCWlmIChkaXJ0eSkgeworCQlpZiAoYnJva2VuKSB7CisJCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwkJCWFyZ3ZfYXJyYXlfcHVzaHYoJmNwLmFyZ3MsIGRpZmZfaW5kZXhfYXJncyk7CisJCQljcC5naXRfY21kID0gMTsKKwkJCWNwLm5vX3N0ZGluID0gMTsKKwkJCWNwLm5vX3N0ZG91dCA9IDE7CisKKwkJCWlmICghZGlydHkpCisJCQkJZGlydHkgPSAiLWRpcnR5IjsKKworCQkJc3dpdGNoIChydW5fY29tbWFuZCgmY3ApKSB7CisJCQljYXNlIDA6CisJCQkJc3VmZml4ID0gTlVMTDsKKwkJCQlicmVhazsKKwkJCWNhc2UgMToKKwkJCQlzdWZmaXggPSBkaXJ0eTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJLyogZGlmZi1pbmRleCBhYm9ydGVkIGFibm9ybWFsbHkgKi8KKwkJCQlzdWZmaXggPSBicm9rZW47CisJCQl9CisJCX0gZWxzZSBpZiAoZGlydHkpIHsKIAkJCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGluZGV4X2xvY2s7CiAJCQlpbnQgZmQ7CiAKQEAgLTQ2OSwxMSArNTU0LDE1IEBACiAKIAkJCWlmICghY21kX2RpZmZfaW5kZXgoQVJSQVlfU0laRShkaWZmX2luZGV4X2FyZ3MpIC0gMSwKIAkJCQkJICAgIGRpZmZfaW5kZXhfYXJncywgcHJlZml4KSkKLQkJCQlkaXJ0eSA9IE5VTEw7CisJCQkJc3VmZml4ID0gTlVMTDsKKwkJCWVsc2UKKwkJCQlzdWZmaXggPSBkaXJ0eTsKIAkJfQogCQlkZXNjcmliZSgiSEVBRCIsIDEpOwogCX0gZWxzZSBpZiAoZGlydHkpIHsKIAkJZGllKF8oIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIikpOworCX0gZWxzZSBpZiAoYnJva2VuKSB7CisJCWRpZShfKCItLWJyb2tlbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiKSk7CiAJfSBlbHNlIHsKIAkJd2hpbGUgKGFyZ2MtLSA+IDApCiAJCQlkZXNjcmliZSgqYXJndisrLCBhcmdjID09IDApOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLWZpbGVzLmMgYi9idWlsdGluL2RpZmYtZmlsZXMuYwppbmRleCAxNWM2MWZkLi5lODg0OTNmIDEwMDY0NAotLS0gYS9idWlsdGluL2RpZmYtZmlsZXMuYworKysgYi9idWlsdGluL2RpZmYtZmlsZXMuYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUKICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZGlmZi5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgInJldmlzaW9uLmgiCkBAIC0yMCw5ICsyMSwxMSBAQAogCWludCByZXN1bHQ7CiAJdW5zaWduZWQgb3B0aW9ucyA9IDA7CiAKLQlpbml0X3JldmlzaW9ucygmcmV2LCBwcmVmaXgpOwotCWdpdG1vZHVsZXNfY29uZmlnKCk7CisJaWYgKGFyZ2MgPT0gMiAmJiAhc3RyY21wKGFyZ3ZbMV0sICItaCIpKQorCQl1c2FnZShkaWZmX2ZpbGVzX3VzYWdlKTsKKwogCWdpdF9jb25maWcoZ2l0X2RpZmZfYmFzaWNfY29uZmlnLCBOVUxMKTsgLyogbm8gImRpZmYiIFVJIG9wdGlvbnMgKi8KKwlpbml0X3JldmlzaW9ucygmcmV2LCBwcmVmaXgpOwogCXJldi5hYmJyZXYgPSAwOwogCXByZWNvbXBvc2VfYXJndihhcmdjLCBhcmd2KTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLWluZGV4LmMgYi9idWlsdGluL2RpZmYtaW5kZXguYwppbmRleCAxYWYzNzNkLi45ZDc3MmY4IDEwMDY0NAotLS0gYS9idWlsdGluL2RpZmYtaW5kZXguYworKysgYi9idWlsdGluL2RpZmYtaW5kZXguYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJyZXZpc2lvbi5oIgpAQCAtMTcsOSArMTgsMTEgQEAKIAlpbnQgaTsKIAlpbnQgcmVzdWx0OwogCi0JaW5pdF9yZXZpc2lvbnMoJnJldiwgcHJlZml4KTsKLQlnaXRtb2R1bGVzX2NvbmZpZygpOworCWlmIChhcmdjID09IDIgJiYgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKKwkJdXNhZ2UoZGlmZl9jYWNoZV91c2FnZSk7CisKIAlnaXRfY29uZmlnKGdpdF9kaWZmX2Jhc2ljX2NvbmZpZywgTlVMTCk7IC8qIG5vICJkaWZmIiBVSSBvcHRpb25zICovCisJaW5pdF9yZXZpc2lvbnMoJnJldiwgcHJlZml4KTsKIAlyZXYuYWJicmV2ID0gMDsKIAlwcmVjb21wb3NlX2FyZ3YoYXJnYywgYXJndik7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGlmZi10cmVlLmMgYi9idWlsdGluL2RpZmYtdHJlZS5jCmluZGV4IDhjZTAwNDguLmQ2NjQ5OTkgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZGlmZi10cmVlLmMKKysrIGIvYnVpbHRpbi9kaWZmLXRyZWUuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJsb2ctdHJlZS5oIgpAQCAtNyw1MiArOCw1MCBAQAogCiBzdGF0aWMgc3RydWN0IHJldl9pbmZvIGxvZ190cmVlX29wdDsKIAotc3RhdGljIGludCBkaWZmX3RyZWVfY29tbWl0X3NoYTEoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgZGlmZl90cmVlX2NvbW1pdF9vaWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHNoYTEpOworCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZCk7CiAJaWYgKCFjb21taXQpCiAJCXJldHVybiAtMTsKIAlyZXR1cm4gbG9nX3RyZWVfY29tbWl0KCZsb2dfdHJlZV9vcHQsIGNvbW1pdCk7CiB9CiAKIC8qIERpZmYgb25lIG9yIG1vcmUgY29tbWl0cy4gKi8KLXN0YXRpYyBpbnQgc3RkaW5fZGlmZl9jb21taXQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBjaGFyICpsaW5lLCBpbnQgbGVuKQorc3RhdGljIGludCBzdGRpbl9kaWZmX2NvbW1pdChzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGNvbnN0IGNoYXIgKnApCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQlpZiAoaXNzcGFjZShsaW5lWzQwXSkgJiYgIWdldF9zaGExX2hleChsaW5lKzQxLCBzaGExKSkgewotCQkvKiBHcmFmdCB0aGUgZmFrZSBwYXJlbnRzIGxvY2FsbHkgdG8gdGhlIGNvbW1pdCAqLwotCQlpbnQgcG9zID0gNDE7Ci0JCXN0cnVjdCBjb21taXRfbGlzdCAqKnBwdHI7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJc3RydWN0IGNvbW1pdF9saXN0ICoqcHB0ciA9IE5VTEw7CiAKLQkJLyogRnJlZSB0aGUgcmVhbCBwYXJlbnQgbGlzdCAqLwotCQlmcmVlX2NvbW1pdF9saXN0KGNvbW1pdC0+cGFyZW50cyk7Ci0JCWNvbW1pdC0+cGFyZW50cyA9IE5VTEw7Ci0JCXBwdHIgPSAmKGNvbW1pdC0+cGFyZW50cyk7Ci0JCXdoaWxlIChsaW5lW3Bvc10gJiYgIWdldF9zaGExX2hleChsaW5lICsgcG9zLCBzaGExKSkgewotCQkJc3RydWN0IGNvbW1pdCAqcGFyZW50ID0gbG9va3VwX2NvbW1pdChzaGExKTsKLQkJCWlmIChwYXJlbnQpIHsKLQkJCQlwcHRyID0gJmNvbW1pdF9saXN0X2luc2VydChwYXJlbnQsIHBwdHIpLT5uZXh0OwotCQkJfQotCQkJcG9zICs9IDQxOworCS8qIEdyYWZ0IHRoZSBmYWtlIHBhcmVudHMgbG9jYWxseSB0byB0aGUgY29tbWl0ICovCisJd2hpbGUgKGlzc3BhY2UoKnArKykgJiYgIXBhcnNlX29pZF9oZXgocCwgJm9pZCwgJnApKSB7CisJCXN0cnVjdCBjb21taXQgKnBhcmVudCA9IGxvb2t1cF9jb21taXQoJm9pZCk7CisJCWlmICghcHB0cikgeworCQkJLyogRnJlZSB0aGUgcmVhbCBwYXJlbnQgbGlzdCAqLworCQkJZnJlZV9jb21taXRfbGlzdChjb21taXQtPnBhcmVudHMpOworCQkJY29tbWl0LT5wYXJlbnRzID0gTlVMTDsKKwkJCXBwdHIgPSAmKGNvbW1pdC0+cGFyZW50cyk7CisJCX0KKwkJaWYgKHBhcmVudCkgeworCQkJcHB0ciA9ICZjb21taXRfbGlzdF9pbnNlcnQocGFyZW50LCBwcHRyKS0+bmV4dDsKIAkJfQogCX0KIAlyZXR1cm4gbG9nX3RyZWVfY29tbWl0KCZsb2dfdHJlZV9vcHQsIGNvbW1pdCk7CiB9CiAKIC8qIERpZmYgdHdvIHRyZWVzLiAqLwotc3RhdGljIGludCBzdGRpbl9kaWZmX3RyZWVzKHN0cnVjdCB0cmVlICp0cmVlMSwgY2hhciAqbGluZSwgaW50IGxlbikKK3N0YXRpYyBpbnQgc3RkaW5fZGlmZl90cmVlcyhzdHJ1Y3QgdHJlZSAqdHJlZTEsIGNvbnN0IGNoYXIgKnApCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3QgdHJlZSAqdHJlZTI7Ci0JaWYgKGxlbiAhPSA4MiB8fCAhaXNzcGFjZShsaW5lWzQwXSkgfHwgZ2V0X3NoYTFfaGV4KGxpbmUgKyA0MSwgc2hhMSkpCisJaWYgKCFpc3NwYWNlKCpwKyspIHx8IHBhcnNlX29pZF9oZXgocCwgJm9pZCwgJnApIHx8ICpwKQogCQlyZXR1cm4gZXJyb3IoIk5lZWQgZXhhY3RseSB0d28gdHJlZXMsIHNlcGFyYXRlZCBieSBhIHNwYWNlIik7Ci0JdHJlZTIgPSBsb29rdXBfdHJlZShzaGExKTsKKwl0cmVlMiA9IGxvb2t1cF90cmVlKCZvaWQpOwogCWlmICghdHJlZTIgfHwgcGFyc2VfdHJlZSh0cmVlMikpCiAJCXJldHVybiAtMTsKIAlwcmludGYoIiVzICVzXG4iLCBvaWRfdG9faGV4KCZ0cmVlMS0+b2JqZWN0Lm9pZCksCiAJCQkgIG9pZF90b19oZXgoJnRyZWUyLT5vYmplY3Qub2lkKSk7Ci0JZGlmZl90cmVlX3NoYTEodHJlZTEtPm9iamVjdC5vaWQuaGFzaCwgdHJlZTItPm9iamVjdC5vaWQuaGFzaCwKLQkJICAgICAgICIiLCAmbG9nX3RyZWVfb3B0LmRpZmZvcHQpOworCWRpZmZfdHJlZV9vaWQoJnRyZWUxLT5vYmplY3Qub2lkLCAmdHJlZTItPm9iamVjdC5vaWQsCisJCSAgICAgICIiLCAmbG9nX3RyZWVfb3B0LmRpZmZvcHQpOwogCWxvZ190cmVlX2RpZmZfZmx1c2goJmxvZ190cmVlX29wdCk7CiAJcmV0dXJuIDA7CiB9CkBAIC02MCwyMyArNTksMjQgQEAKIHN0YXRpYyBpbnQgZGlmZl90cmVlX3N0ZGluKGNoYXIgKmxpbmUpCiB7CiAJaW50IGxlbiA9IHN0cmxlbihsaW5lKTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCBvYmplY3QgKm9iajsKKwljb25zdCBjaGFyICpwOwogCiAJaWYgKCFsZW4gfHwgbGluZVtsZW4tMV0gIT0gJ1xuJykKIAkJcmV0dXJuIC0xOwogCWxpbmVbbGVuLTFdID0gMDsKLQlpZiAoZ2V0X3NoYTFfaGV4KGxpbmUsIHNoYTEpKQorCWlmIChwYXJzZV9vaWRfaGV4KGxpbmUsICZvaWQsICZwKSkKIAkJcmV0dXJuIC0xOwotCW9iaiA9IHBhcnNlX29iamVjdChzaGExKTsKKwlvYmogPSBwYXJzZV9vYmplY3QoJm9pZCk7CiAJaWYgKCFvYmopCiAJCXJldHVybiAtMTsKIAlpZiAob2JqLT50eXBlID09IE9CSl9DT01NSVQpCi0JCXJldHVybiBzdGRpbl9kaWZmX2NvbW1pdCgoc3RydWN0IGNvbW1pdCAqKW9iaiwgbGluZSwgbGVuKTsKKwkJcmV0dXJuIHN0ZGluX2RpZmZfY29tbWl0KChzdHJ1Y3QgY29tbWl0ICopb2JqLCBwKTsKIAlpZiAob2JqLT50eXBlID09IE9CSl9UUkVFKQotCQlyZXR1cm4gc3RkaW5fZGlmZl90cmVlcygoc3RydWN0IHRyZWUgKilvYmosIGxpbmUsIGxlbik7CisJCXJldHVybiBzdGRpbl9kaWZmX3RyZWVzKChzdHJ1Y3QgdHJlZSAqKW9iaiwgcCk7CiAJZXJyb3IoIk9iamVjdCAlcyBpcyBhICVzLCBub3QgYSBjb21taXQgb3IgdHJlZSIsCi0JICAgICAgc2hhMV90b19oZXgoc2hhMSksIHR5cGVuYW1lKG9iai0+dHlwZSkpOworCSAgICAgIG9pZF90b19oZXgoJm9pZCksIHR5cGVuYW1lKG9iai0+dHlwZSkpOwogCXJldHVybiAtMTsKIH0KIApAQCAtOTksMTYgKzk5LDE3IEBACiAKIGludCBjbWRfZGlmZl90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCWludCBucl9zaGExOwogCWNoYXIgbGluZVsxMDAwXTsKIAlzdHJ1Y3Qgb2JqZWN0ICp0cmVlMSwgKnRyZWUyOwogCXN0YXRpYyBzdHJ1Y3QgcmV2X2luZm8gKm9wdCA9ICZsb2dfdHJlZV9vcHQ7CiAJc3RydWN0IHNldHVwX3JldmlzaW9uX29wdCBzX3Jfb3B0OwogCWludCByZWFkX3N0ZGluID0gMDsKIAotCWluaXRfcmV2aXNpb25zKG9wdCwgcHJlZml4KTsKLQlnaXRtb2R1bGVzX2NvbmZpZygpOworCWlmIChhcmdjID09IDIgJiYgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKKwkJdXNhZ2UoZGlmZl90cmVlX3VzYWdlKTsKKwogCWdpdF9jb25maWcoZ2l0X2RpZmZfYmFzaWNfY29uZmlnLCBOVUxMKTsgLyogbm8gImRpZmYiIFVJIG9wdGlvbnMgKi8KKwlpbml0X3JldmlzaW9ucyhvcHQsIHByZWZpeCk7CiAJb3B0LT5hYmJyZXYgPSAwOwogCW9wdC0+ZGlmZiA9IDE7CiAJb3B0LT5kaXNhYmxlX3N0ZGluID0gMTsKQEAgLTEyOSwxOSArMTMwLDIwIEBACiAJfQogCiAJLyoKLQkgKiBOT1RFISBXZSBleHBlY3QgImEgXmIiIHRvIGJlIGVxdWFsIHRvICJhLi5iIiwgc28gd2UKLQkgKiByZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgb2JqZWN0cyBpZiB0aGUgc2Vjb25kIG9uZQotCSAqIGlzIG1hcmtlZCBVTklOVEVSRVNUSU5HLgorCSAqIE5PVEUhICBXZSBleHBlY3QgImEuLmIiIHRvIGV4cGFuZCB0byAiXmEgYiIgYnV0IGl0IGlzCisJICogcGVyZmVjdGx5IHZhbGlkIGZvciByZXZpc2lvbiByYW5nZSBwYXJzZXIgdG8geWllbGQgImIgXmEiLAorCSAqIHdoaWNoIG1lYW5zIHRoZSBzYW1lIHRoaW5nLiBJZiB3ZSBnZXQgdGhlIGxhdHRlciwgaS5lLiB0aGUKKwkgKiBzZWNvbmQgb25lIGlzIG1hcmtlZCBVTklOVEVSRVNUSU5HLCB3ZSByZWNvdmVyIHRoZSBvcmlnaW5hbAorCSAqIG9yZGVyIHRoZSB1c2VyIGdhdmUsIGkuZS4gImEuLmIiLCBieSBzd2FwcGluZyB0aGUgdHJlZXMuCiAJICovCi0JbnJfc2hhMSA9IG9wdC0+cGVuZGluZy5ucjsKLQlzd2l0Y2ggKG5yX3NoYTEpIHsKKwlzd2l0Y2ggKG9wdC0+cGVuZGluZy5ucikgewogCWNhc2UgMDoKIAkJaWYgKCFyZWFkX3N0ZGluKQogCQkJdXNhZ2UoZGlmZl90cmVlX3VzYWdlKTsKIAkJYnJlYWs7CiAJY2FzZSAxOgogCQl0cmVlMSA9IG9wdC0+cGVuZGluZy5vYmplY3RzWzBdLml0ZW07Ci0JCWRpZmZfdHJlZV9jb21taXRfc2hhMSh0cmVlMS0+b2lkLmhhc2gpOworCQlkaWZmX3RyZWVfY29tbWl0X29pZCgmdHJlZTEtPm9pZCk7CiAJCWJyZWFrOwogCWNhc2UgMjoKIAkJdHJlZTEgPSBvcHQtPnBlbmRpbmcub2JqZWN0c1swXS5pdGVtOwpAQCAtMTQ5LDkgKzE1MSw3IEBACiAJCWlmICh0cmVlMi0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKSB7CiAJCQlTV0FQKHRyZWUyLCB0cmVlMSk7CiAJCX0KLQkJZGlmZl90cmVlX3NoYTEodHJlZTEtPm9pZC5oYXNoLAotCQkJICAgICAgIHRyZWUyLT5vaWQuaGFzaCwKLQkJCSAgICAgICAiIiwgJm9wdC0+ZGlmZm9wdCk7CisJCWRpZmZfdHJlZV9vaWQoJnRyZWUxLT5vaWQsICZ0cmVlMi0+b2lkLCAiIiwgJm9wdC0+ZGlmZm9wdCk7CiAJCWxvZ190cmVlX2RpZmZfZmx1c2gob3B0KTsKIAkJYnJlYWs7CiAJfQpAQCAtMTY0LDkgKzE2NCw5IEBACiAJCQlvcHQtPmRpZmZvcHQuc2V0dXAgfD0gKERJRkZfU0VUVVBfVVNFX1NJWkVfQ0FDSEUgfAogCQkJCQkgICAgICAgRElGRl9TRVRVUF9VU0VfQ0FDSEUpOwogCQl3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBzdGRpbikpIHsKLQkJCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAotCQkJaWYgKGdldF9zaGExX2hleChsaW5lLCBzaGExKSkgeworCQkJaWYgKGdldF9vaWRfaGV4KGxpbmUsICZvaWQpKSB7CiAJCQkJZnB1dHMobGluZSwgc3Rkb3V0KTsKIAkJCQlmZmx1c2goc3Rkb3V0KTsKIAkJCX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGlmZi5jIGIvYnVpbHRpbi9kaWZmLmMKaW5kZXggM2Q2NGI4NS4uN2UzZWJjZSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9kaWZmLmMKKysrIGIvYnVpbHRpbi9kaWZmLmMKQEAgLTQsNiArNCw3IEBACiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgSnVuaW8gQyBIYW1hbm8KICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKICNpbmNsdWRlICJjb2xvci5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgpAQCAtMjAsNTIgKzIxLDUxIEBACiAjZGVmaW5lIERJRkZfTk9fSU5ERVhfRVhQTElDSVQgMQogI2RlZmluZSBESUZGX05PX0lOREVYX0lNUExJQ0lUIDIKIAotc3RydWN0IGJsb2JpbmZvIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCWNvbnN0IGNoYXIgKm5hbWU7Ci0JdW5zaWduZWQgbW9kZTsKLX07Ci0KIHN0YXRpYyBjb25zdCBjaGFyIGJ1aWx0aW5fZGlmZl91c2FnZVtdID0KICJnaXQgZGlmZiBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSI7CiAKK3N0YXRpYyBjb25zdCBjaGFyICpibG9iX3BhdGgoc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqZW50cnkpCit7CisJcmV0dXJuIGVudHJ5LT5wYXRoID8gZW50cnktPnBhdGggOiBlbnRyeS0+bmFtZTsKK30KKwogc3RhdGljIHZvaWQgc3R1ZmZfY2hhbmdlKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCwKIAkJCSB1bnNpZ25lZCBvbGRfbW9kZSwgdW5zaWduZWQgbmV3X21vZGUsCi0JCQkgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCi0JCQkgY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsCi0JCQkgaW50IG9sZF9zaGExX3ZhbGlkLAotCQkJIGludCBuZXdfc2hhMV92YWxpZCwKLQkJCSBjb25zdCBjaGFyICpvbGRfbmFtZSwKLQkJCSBjb25zdCBjaGFyICpuZXdfbmFtZSkKKwkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkLAorCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5ld19vaWQsCisJCQkgaW50IG9sZF9vaWRfdmFsaWQsCisJCQkgaW50IG5ld19vaWRfdmFsaWQsCisJCQkgY29uc3QgY2hhciAqb2xkX3BhdGgsCisJCQkgY29uc3QgY2hhciAqbmV3X3BhdGgpCiB7CiAJc3RydWN0IGRpZmZfZmlsZXNwZWMgKm9uZSwgKnR3bzsKIAotCWlmICghaXNfbnVsbF9zaGExKG9sZF9zaGExKSAmJiAhaXNfbnVsbF9zaGExKG5ld19zaGExKSAmJgotCSAgICAhaGFzaGNtcChvbGRfc2hhMSwgbmV3X3NoYTEpICYmIChvbGRfbW9kZSA9PSBuZXdfbW9kZSkpCisJaWYgKCFpc19udWxsX29pZChvbGRfb2lkKSAmJiAhaXNfbnVsbF9vaWQobmV3X29pZCkgJiYKKwkgICAgIW9pZGNtcChvbGRfb2lkLCBuZXdfb2lkKSAmJiAob2xkX21vZGUgPT0gbmV3X21vZGUpKQogCQlyZXR1cm47CiAKIAlpZiAoRElGRl9PUFRfVFNUKG9wdCwgUkVWRVJTRV9ESUZGKSkgewogCQlTV0FQKG9sZF9tb2RlLCBuZXdfbW9kZSk7Ci0JCVNXQVAob2xkX3NoYTEsIG5ld19zaGExKTsKLQkJU1dBUChvbGRfbmFtZSwgbmV3X25hbWUpOworCQlTV0FQKG9sZF9vaWQsIG5ld19vaWQpOworCQlTV0FQKG9sZF9wYXRoLCBuZXdfcGF0aCk7CiAJfQogCiAJaWYgKG9wdC0+cHJlZml4ICYmCi0JICAgIChzdHJuY21wKG9sZF9uYW1lLCBvcHQtPnByZWZpeCwgb3B0LT5wcmVmaXhfbGVuZ3RoKSB8fAotCSAgICAgc3RybmNtcChuZXdfbmFtZSwgb3B0LT5wcmVmaXgsIG9wdC0+cHJlZml4X2xlbmd0aCkpKQorCSAgICAoc3RybmNtcChvbGRfcGF0aCwgb3B0LT5wcmVmaXgsIG9wdC0+cHJlZml4X2xlbmd0aCkgfHwKKwkgICAgIHN0cm5jbXAobmV3X3BhdGgsIG9wdC0+cHJlZml4LCBvcHQtPnByZWZpeF9sZW5ndGgpKSkKIAkJcmV0dXJuOwogCi0Jb25lID0gYWxsb2NfZmlsZXNwZWMob2xkX25hbWUpOwotCXR3byA9IGFsbG9jX2ZpbGVzcGVjKG5ld19uYW1lKTsKLQlmaWxsX2ZpbGVzcGVjKG9uZSwgb2xkX3NoYTEsIG9sZF9zaGExX3ZhbGlkLCBvbGRfbW9kZSk7Ci0JZmlsbF9maWxlc3BlYyh0d28sIG5ld19zaGExLCBuZXdfc2hhMV92YWxpZCwgbmV3X21vZGUpOworCW9uZSA9IGFsbG9jX2ZpbGVzcGVjKG9sZF9wYXRoKTsKKwl0d28gPSBhbGxvY19maWxlc3BlYyhuZXdfcGF0aCk7CisJZmlsbF9maWxlc3BlYyhvbmUsIG9sZF9vaWQsIG9sZF9vaWRfdmFsaWQsIG9sZF9tb2RlKTsKKwlmaWxsX2ZpbGVzcGVjKHR3bywgbmV3X29pZCwgbmV3X29pZF92YWxpZCwgbmV3X21vZGUpOwogCiAJZGlmZl9xdWV1ZSgmZGlmZl9xdWV1ZWRfZGlmZiwgb25lLCB0d28pOwogfQogCiBzdGF0aWMgaW50IGJ1aWx0aW5fZGlmZl9iX2Yoc3RydWN0IHJldl9pbmZvICpyZXZzLAogCQkJICAgIGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKLQkJCSAgICBzdHJ1Y3QgYmxvYmluZm8gKmJsb2IpCisJCQkgICAgc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqKmJsb2IpCiB7CiAJLyogQmxvYiB2cyBmaWxlIGluIHRoZSB3b3JraW5nIHRyZWUqLwogCXN0cnVjdCBzdGF0IHN0OwpAQCAtODQsMTQgKzg0LDE1IEBACiAKIAlkaWZmX3NldF9tbmVtb25pY19wcmVmaXgoJnJldnMtPmRpZmZvcHQsICJvLyIsICJ3LyIpOwogCi0JaWYgKGJsb2JbMF0ubW9kZSA9PSBTX0lGSU5WQUxJRCkKLQkJYmxvYlswXS5tb2RlID0gY2Fub25fbW9kZShzdC5zdF9tb2RlKTsKKwlpZiAoYmxvYlswXS0+bW9kZSA9PSBTX0lGSU5WQUxJRCkKKwkJYmxvYlswXS0+bW9kZSA9IGNhbm9uX21vZGUoc3Quc3RfbW9kZSk7CiAKIAlzdHVmZl9jaGFuZ2UoJnJldnMtPmRpZmZvcHQsCi0JCSAgICAgYmxvYlswXS5tb2RlLCBjYW5vbl9tb2RlKHN0LnN0X21vZGUpLAotCQkgICAgIGJsb2JbMF0uc2hhMSwgbnVsbF9zaGExLAorCQkgICAgIGJsb2JbMF0tPm1vZGUsIGNhbm9uX21vZGUoc3Quc3RfbW9kZSksCisJCSAgICAgJmJsb2JbMF0tPml0ZW0tPm9pZCwgJm51bGxfb2lkLAogCQkgICAgIDEsIDAsCi0JCSAgICAgcGF0aCwgcGF0aCk7CisJCSAgICAgYmxvYlswXS0+cGF0aCA/IGJsb2JbMF0tPnBhdGggOiBwYXRoLAorCQkgICAgIHBhdGgpOwogCWRpZmZjb3JlX3N0ZCgmcmV2cy0+ZGlmZm9wdCk7CiAJZGlmZl9mbHVzaCgmcmV2cy0+ZGlmZm9wdCk7CiAJcmV0dXJuIDA7CkBAIC05OSwyNCArMTAwLDI0IEBACiAKIHN0YXRpYyBpbnQgYnVpbHRpbl9kaWZmX2Jsb2JzKHN0cnVjdCByZXZfaW5mbyAqcmV2cywKIAkJCSAgICAgIGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKLQkJCSAgICAgIHN0cnVjdCBibG9iaW5mbyAqYmxvYikKKwkJCSAgICAgIHN0cnVjdCBvYmplY3RfYXJyYXlfZW50cnkgKipibG9iKQogewogCXVuc2lnbmVkIG1vZGUgPSBjYW5vbl9tb2RlKFNfSUZSRUcgfCAwNjQ0KTsKIAogCWlmIChhcmdjID4gMSkKIAkJdXNhZ2UoYnVpbHRpbl9kaWZmX3VzYWdlKTsKIAotCWlmIChibG9iWzBdLm1vZGUgPT0gU19JRklOVkFMSUQpCi0JCWJsb2JbMF0ubW9kZSA9IG1vZGU7CisJaWYgKGJsb2JbMF0tPm1vZGUgPT0gU19JRklOVkFMSUQpCisJCWJsb2JbMF0tPm1vZGUgPSBtb2RlOwogCi0JaWYgKGJsb2JbMV0ubW9kZSA9PSBTX0lGSU5WQUxJRCkKLQkJYmxvYlsxXS5tb2RlID0gbW9kZTsKKwlpZiAoYmxvYlsxXS0+bW9kZSA9PSBTX0lGSU5WQUxJRCkKKwkJYmxvYlsxXS0+bW9kZSA9IG1vZGU7CiAKIAlzdHVmZl9jaGFuZ2UoJnJldnMtPmRpZmZvcHQsCi0JCSAgICAgYmxvYlswXS5tb2RlLCBibG9iWzFdLm1vZGUsCi0JCSAgICAgYmxvYlswXS5zaGExLCBibG9iWzFdLnNoYTEsCisJCSAgICAgYmxvYlswXS0+bW9kZSwgYmxvYlsxXS0+bW9kZSwKKwkJICAgICAmYmxvYlswXS0+aXRlbS0+b2lkLCAmYmxvYlsxXS0+aXRlbS0+b2lkLAogCQkgICAgIDEsIDEsCi0JCSAgICAgYmxvYlswXS5uYW1lLCBibG9iWzFdLm5hbWUpOworCQkgICAgIGJsb2JfcGF0aChibG9iWzBdKSwgYmxvYl9wYXRoKGJsb2JbMV0pKTsKIAlkaWZmY29yZV9zdGQoJnJldnMtPmRpZmZvcHQpOwogCWRpZmZfZmx1c2goJnJldnMtPmRpZmZvcHQpOwogCXJldHVybiAwOwpAQCAtMTYwLDcgKzE2MSw3IEBACiAJCQkgICAgIHN0cnVjdCBvYmplY3RfYXJyYXlfZW50cnkgKmVudDAsCiAJCQkgICAgIHN0cnVjdCBvYmplY3RfYXJyYXlfZW50cnkgKmVudDEpCiB7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqKHNoYTFbMl0pOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKihvaWRbMl0pOwogCWludCBzd2FwID0gMDsKIAogCWlmIChhcmdjID4gMSkKQEAgLTE3Miw5ICsxNzMsOSBAQAogCSAqLwogCWlmIChlbnQxLT5pdGVtLT5mbGFncyAmIFVOSU5URVJFU1RJTkcpCiAJCXN3YXAgPSAxOwotCXNoYTFbc3dhcF0gPSBlbnQwLT5pdGVtLT5vaWQuaGFzaDsKLQlzaGExWzEgLSBzd2FwXSA9IGVudDEtPml0ZW0tPm9pZC5oYXNoOwotCWRpZmZfdHJlZV9zaGExKHNoYTFbMF0sIHNoYTFbMV0sICIiLCAmcmV2cy0+ZGlmZm9wdCk7CisJb2lkW3N3YXBdID0gJmVudDAtPml0ZW0tPm9pZDsKKwlvaWRbMSAtIHN3YXBdID0gJmVudDEtPml0ZW0tPm9pZDsKKwlkaWZmX3RyZWVfb2lkKG9pZFswXSwgb2lkWzFdLCAiIiwgJnJldnMtPmRpZmZvcHQpOwogCWxvZ190cmVlX2RpZmZfZmx1c2gocmV2cyk7CiAJcmV0dXJuIDA7CiB9CkBAIC0xODQsNyArMTg1LDcgQEAKIAkJCQkgc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqZW50LAogCQkJCSBpbnQgZW50cykKIHsKLQlzdHJ1Y3Qgc2hhMV9hcnJheSBwYXJlbnRzID0gU0hBMV9BUlJBWV9JTklUOworCXN0cnVjdCBvaWRfYXJyYXkgcGFyZW50cyA9IE9JRF9BUlJBWV9JTklUOwogCWludCBpOwogCiAJaWYgKGFyZ2MgPiAxKQpAQCAtMTkzLDEwICsxOTQsMTAgQEAKIAlpZiAoIXJldnMtPmRlbnNlX2NvbWJpbmVkX21lcmdlcyAmJiAhcmV2cy0+Y29tYmluZV9tZXJnZXMpCiAJCXJldnMtPmRlbnNlX2NvbWJpbmVkX21lcmdlcyA9IHJldnMtPmNvbWJpbmVfbWVyZ2VzID0gMTsKIAlmb3IgKGkgPSAxOyBpIDwgZW50czsgaSsrKQotCQlzaGExX2FycmF5X2FwcGVuZCgmcGFyZW50cywgZW50W2ldLml0ZW0tPm9pZC5oYXNoKTsKLQlkaWZmX3RyZWVfY29tYmluZWQoZW50WzBdLml0ZW0tPm9pZC5oYXNoLCAmcGFyZW50cywKKwkJb2lkX2FycmF5X2FwcGVuZCgmcGFyZW50cywgJmVudFtpXS5pdGVtLT5vaWQpOworCWRpZmZfdHJlZV9jb21iaW5lZCgmZW50WzBdLml0ZW0tPm9pZCwgJnBhcmVudHMsCiAJCQkgICByZXZzLT5kZW5zZV9jb21iaW5lZF9tZXJnZXMsIHJldnMpOwotCXNoYTFfYXJyYXlfY2xlYXIoJnBhcmVudHMpOworCW9pZF9hcnJheV9jbGVhcigmcGFyZW50cyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI1OSw3ICsyNjAsNyBAQAogCXN0cnVjdCByZXZfaW5mbyByZXY7CiAJc3RydWN0IG9iamVjdF9hcnJheSBlbnQgPSBPQkpFQ1RfQVJSQVlfSU5JVDsKIAlpbnQgYmxvYnMgPSAwLCBwYXRocyA9IDA7Ci0Jc3RydWN0IGJsb2JpbmZvIGJsb2JbMl07CisJc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqYmxvYlsyXTsKIAlpbnQgbm9uZ2l0ID0gMCwgbm9faW5kZXggPSAwOwogCWludCByZXN1bHQgPSAwOwogCkBAIC0zMTQsOCArMzE1LDYgQEAKIAkJCW5vX2luZGV4ID0gRElGRl9OT19JTkRFWF9JTVBMSUNJVDsKIAl9CiAKLQlpZiAoIW5vX2luZGV4KQotCQlnaXRtb2R1bGVzX2NvbmZpZygpOwogCWluaXRfZGlmZl91aV9kZWZhdWx0cygpOwogCWdpdF9jb25maWcoZ2l0X2RpZmZfdWlfY29uZmlnLCBOVUxMKTsKIAlwcmVjb21wb3NlX2FyZ3YoYXJnYywgYXJndik7CkBAIC0zODEsNyArMzgwLDcgQEAKIAkJCQlhZGRfaGVhZF90b19wZW5kaW5nKCZyZXYpOwogCQkJCWlmICghcmV2LnBlbmRpbmcubnIpIHsKIAkJCQkJc3RydWN0IHRyZWUgKnRyZWU7Ci0JCQkJCXRyZWUgPSBsb29rdXBfdHJlZShFTVBUWV9UUkVFX1NIQTFfQklOKTsKKwkJCQkJdHJlZSA9IGxvb2t1cF90cmVlKCZlbXB0eV90cmVlX29pZCk7CiAJCQkJCWFkZF9wZW5kaW5nX29iamVjdCgmcmV2LCAmdHJlZS0+b2JqZWN0LCAiSEVBRCIpOwogCQkJCX0KIAkJCQlicmVhazsKQEAgLTM5NSw3ICszOTQsNyBAQAogCQljb25zdCBjaGFyICpuYW1lID0gZW50cnktPm5hbWU7CiAJCWludCBmbGFncyA9IChvYmotPmZsYWdzICYgVU5JTlRFUkVTVElORyk7CiAJCWlmICghb2JqLT5wYXJzZWQpCi0JCQlvYmogPSBwYXJzZV9vYmplY3Qob2JqLT5vaWQuaGFzaCk7CisJCQlvYmogPSBwYXJzZV9vYmplY3QoJm9iai0+b2lkKTsKIAkJb2JqID0gZGVyZWZfdGFnKG9iaiwgTlVMTCwgMCk7CiAJCWlmICghb2JqKQogCQkJZGllKF8oImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIiksIG5hbWUpOwpAQCAtNDA4LDkgKzQwNyw3IEBACiAJCX0gZWxzZSBpZiAob2JqLT50eXBlID09IE9CSl9CTE9CKSB7CiAJCQlpZiAoMiA8PSBibG9icykKIAkJCQlkaWUoXygibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIpLCBuYW1lKTsKLQkJCWhhc2hjcHkoYmxvYltibG9ic10uc2hhMSwgb2JqLT5vaWQuaGFzaCk7Ci0JCQlibG9iW2Jsb2JzXS5uYW1lID0gbmFtZTsKLQkJCWJsb2JbYmxvYnNdLm1vZGUgPSBlbnRyeS0+bW9kZTsKKwkJCWJsb2JbYmxvYnNdID0gZW50cnk7CiAJCQlibG9icysrOwogCiAJCX0gZWxzZSB7CmRpZmYgLS1naXQgYS9idWlsdGluL2RpZmZ0b29sLmMgYi9idWlsdGluL2RpZmZ0b29sLmMKaW5kZXggZDEzMzUwYy4uYjJkM2JhNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9kaWZmdG9vbC5jCisrKyBiL2J1aWx0aW4vZGlmZnRvb2wuYwpAQCAtMTIsNiArMTIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDE2IEpvaGFubmVzIFNjaGluZGVsaW4KICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAiZXhlY19jbWQuaCIKQEAgLTExMCw3ICsxMTEsNyBAQAogCQlpbnQgZmQgPSBvcGVuKGJ1Zi5idWYsIE9fUkRPTkxZKTsKIAogCQlpZiAoZmQgPj0gMCAmJgotCQkgICAgIWluZGV4X2ZkKHd0X29pZC5oYXNoLCBmZCwgJnN0LCBPQkpfQkxPQiwgbmFtZSwgMCkpIHsKKwkJICAgICFpbmRleF9mZCgmd3Rfb2lkLCBmZCwgJnN0LCBPQkpfQkxPQiwgbmFtZSwgMCkpIHsKIAkJCWlmIChpc19udWxsX29pZChvaWQpKSB7CiAJCQkJb2lkY3B5KG9pZCwgJnd0X29pZCk7CiAJCQkJdXNlID0gMTsKQEAgLTEyOSw5ICsxMzAsMTMgQEAKIAljaGFyIHBhdGhbRkxFWF9BUlJBWV07CiB9OwogCi1zdGF0aWMgaW50IHdvcmtpbmdfdHJlZV9lbnRyeV9jbXAoc3RydWN0IHdvcmtpbmdfdHJlZV9lbnRyeSAqYSwKLQkJCQkgIHN0cnVjdCB3b3JraW5nX3RyZWVfZW50cnkgKmIsIHZvaWQgKmtleWRhdGEpCitzdGF0aWMgaW50IHdvcmtpbmdfdHJlZV9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAorCQkJCSAgY29uc3Qgdm9pZCAqZW50cnksCisJCQkJICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkJICBjb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSkKIHsKKwljb25zdCBzdHJ1Y3Qgd29ya2luZ190cmVlX2VudHJ5ICphID0gZW50cnk7CisJY29uc3Qgc3RydWN0IHdvcmtpbmdfdHJlZV9lbnRyeSAqYiA9IGVudHJ5X29yX2tleTsKIAlyZXR1cm4gc3RyY21wKGEtPnBhdGgsIGItPnBhdGgpOwogfQogCkBAIC0xNDUsOCArMTUwLDE0IEBACiAJY29uc3QgY2hhciBwYXRoW0ZMRVhfQVJSQVldOwogfTsKIAotc3RhdGljIGludCBwYWlyX2NtcChzdHJ1Y3QgcGFpcl9lbnRyeSAqYSwgc3RydWN0IHBhaXJfZW50cnkgKmIsIHZvaWQgKmtleWRhdGEpCitzdGF0aWMgaW50IHBhaXJfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJICAgIGNvbnN0IHZvaWQgKmVudHJ5LAorCQkgICAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkgICAgY29uc3Qgdm9pZCAqdW51c2VkX2tleWRhdGEpCiB7CisJY29uc3Qgc3RydWN0IHBhaXJfZW50cnkgKmEgPSBlbnRyeTsKKwljb25zdCBzdHJ1Y3QgcGFpcl9lbnRyeSAqYiA9IGVudHJ5X29yX2tleTsKKwogCXJldHVybiBzdHJjbXAoYS0+cGF0aCwgYi0+cGF0aCk7CiB9CiAKQEAgLTE3Myw4ICsxODQsMTQgQEAKIAljaGFyIHBhdGhbRkxFWF9BUlJBWV07CiB9OwogCi1zdGF0aWMgaW50IHBhdGhfZW50cnlfY21wKHN0cnVjdCBwYXRoX2VudHJ5ICphLCBzdHJ1Y3QgcGF0aF9lbnRyeSAqYiwgdm9pZCAqa2V5KQorc3RhdGljIGludCBwYXRoX2VudHJ5X2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCisJCQkgIGNvbnN0IHZvaWQgKmVudHJ5LAorCQkJICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgIGNvbnN0IHZvaWQgKmtleSkKIHsKKwljb25zdCBzdHJ1Y3QgcGF0aF9lbnRyeSAqYSA9IGVudHJ5OworCWNvbnN0IHN0cnVjdCBwYXRoX2VudHJ5ICpiID0gZW50cnlfb3Jfa2V5OworCiAJcmV0dXJuIHN0cmNtcChhLT5wYXRoLCBrZXkgPyBrZXkgOiBiLT5wYXRoKTsKIH0KIApAQCAtMjI2LDYgKzI0Myw3IEBACiAJCWhhc2htYXBfZW50cnlfaW5pdChlbnRyeSwgc3RyaGFzaChidWYuYnVmKSk7CiAJCWhhc2htYXBfYWRkKHJlc3VsdCwgZW50cnkpOwogCX0KKwlmY2xvc2UoZnApOwogCWlmIChmaW5pc2hfY29tbWFuZCgmZGlmZl9maWxlcykpCiAJCWRpZSgiZGlmZi1maWxlcyBkaWQgbm90IGV4aXQgcHJvcGVybHkiKTsKIAlzdHJidWZfcmVsZWFzZSgmaW5kZXhfZW52KTsKQEAgLTI1NCw2ICsyNzIsNjIgQEAKIAl9CiB9CiAKKy8qCisgKiBVbmNvbmRpdGlvbmFsIHdyaXRpbmcgb2YgYSBwbGFpbiByZWd1bGFyIGZpbGUgaXMgd2hhdAorICogImdpdCBkaWZmdG9vbCAtLWRpci1kaWZmIiB3YW50cyB0byBkbyBmb3Igc3ltbGlua3MuICBXZSBhcmUgcHJlcGFyaW5nIHR3bworICogdGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHRvIGJlIGZlZCB0byBhIEdpdC11bmF3YXJlIHRvb2wgdGhhdCBrbm93cyBob3cgdG8KKyAqIHNob3cgYSBkaWZmIG9mIHR3byBkaXJlY3RvcmllcyAoZS5nLiAiZGlmZiAtciBBIEIiKS4KKyAqCisgKiBCZWNhdXNlIHRoZSB0b29sIGlzIEdpdC11bmF3YXJlLCBpZiBhIHN5bWJvbGljIGxpbmsgYXBwZWFycyBpbiBlaXRoZXIgb2YKKyAqIHRoZXNlIHRlbXBvcmFyeSBkaXJlY3RvcmllcywgaXQgd2lsbCB0cnkgdG8gZGVyZWZlcmVuY2UgYW5kIHNob3cgdGhlCisgKiBkaWZmZXJlbmNlIG9mIHRoZSB0YXJnZXQgb2YgdGhlIHN5bWJvbGljIGxpbmssIHdoaWNoIGlzIG5vdCB3aGF0IHdlIHdhbnQsCisgKiBhcyB0aGUgZ29hbCBvZiB0aGUgZGlyLWRpZmYgbW9kZSBpcyB0byBwcm9kdWNlIGFuIG91dHB1dCB0aGF0IGlzIGxvZ2ljYWxseQorICogZXF1aXZhbGVudCB0byB3aGF0ICJnaXQgZGlmZiIgcHJvZHVjZXMuCisgKgorICogTW9zdCBpbXBvcnRhbnRseSwgd2Ugd2FudCB0byBnZXQgdGV4dHVhbCBjb21wYXJpc29uIG9mIHRoZSByZXN1bHQgb2YgdGhlCisgKiByZWFkbGluaygyKS4gIGdldF9zeW1saW5rKCkgcHJvdmlkZXMgdGhhdC0tLWl0IHJldHVybnMgdGhlIGNvbnRlbnRzIG9mCisgKiB0aGUgc3ltbGluayB0aGF0IGdldHMgd3JpdHRlbiB0byBhIHJlZ3VsYXIgZmlsZSB0byBmb3JjZSB0aGUgZXh0ZXJuYWwgdG9vbAorICogdG8gY29tcGFyZSB0aGUgcmVhZGxpbmsoMikgcmVzdWx0IGFzIHRleHQsIGV2ZW4gb24gYSBmaWxlc3lzdGVtIHRoYXQgaXMKKyAqIGNhcGFibGUgb2YgZG9pbmcgYSBzeW1ib2xpYyBsaW5rLgorICovCitzdGF0aWMgY2hhciAqZ2V0X3N5bWxpbmsoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgKmRhdGE7CisJaWYgKGlzX251bGxfb2lkKG9pZCkpIHsKKwkJLyogVGhlIHN5bWxpbmsgaXMgdW5rbm93biB0byBHaXQgc28gcmVhZCBmcm9tIHRoZSBmaWxlc3lzdGVtICovCisJCXN0cnVjdCBzdHJidWYgbGluayA9IFNUUkJVRl9JTklUOworCQlpZiAoaGFzX3N5bWxpbmtzKSB7CisJCQlpZiAoc3RyYnVmX3JlYWRsaW5rKCZsaW5rLCBwYXRoLCBzdHJsZW4ocGF0aCkpKQorCQkJCWRpZShfKCJjb3VsZCBub3QgcmVhZCBzeW1saW5rICVzIiksIHBhdGgpOworCQl9IGVsc2UgaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmxpbmssIHBhdGgsIDEyOCkpCisJCQlkaWUoXygiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIiksIHBhdGgpOworCisJCWRhdGEgPSBzdHJidWZfZGV0YWNoKCZsaW5rLCBOVUxMKTsKKwl9IGVsc2UgeworCQllbnVtIG9iamVjdF90eXBlIHR5cGU7CisJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKKwkJZGF0YSA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJnR5cGUsICZzaXplKTsKKwkJaWYgKCFkYXRhKQorCQkJZGllKF8oImNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyBmb3Igc3ltbGluayAlcyIpLAorCQkJCW9pZF90b19oZXgob2lkKSwgcGF0aCk7CisJfQorCisJcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyBpbnQgY2hlY2tvdXRfcGF0aCh1bnNpZ25lZCBtb2RlLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkgY29uc3QgY2hhciAqcGF0aCwgY29uc3Qgc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOworCWludCByZXQ7CisKKwljZSA9IG1ha2VfY2FjaGVfZW50cnkobW9kZSwgb2lkLT5oYXNoLCBwYXRoLCAwLCAwKTsKKwlyZXQgPSBjaGVja291dF9lbnRyeShjZSwgc3RhdGUsIE5VTEwpOworCisJZnJlZShjZSk7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGludCBydW5fZGlyX2RpZmYoY29uc3QgY2hhciAqZXh0Y21kLCBpbnQgc3ltbGlua3MsIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCWludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIHsKQEAgLTI2MiwxNiArMzM2LDE0IEBACiAJc3RydWN0IHN0cmJ1ZiBycGF0aCA9IFNUUkJVRl9JTklULCBidWYgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIGxkaXIgPSBTVFJCVUZfSU5JVCwgcmRpciA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgd3RkaXIgPSBTVFJCVUZfSU5JVDsKKwljaGFyICpsYmFzZV9kaXIsICpyYmFzZV9kaXI7CiAJc2l6ZV90IGxkaXJfbGVuLCByZGlyX2xlbiwgd3RkaXJfbGVuOwotCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSB4Y2FsbG9jKDEsIHNpemVvZihjZSkgKyBQQVRIX01BWCArIDEpOwogCWNvbnN0IGNoYXIgKndvcmtkaXIsICp0bXA7CiAJaW50IHJldCA9IDAsIGk7CiAJRklMRSAqZnA7CiAJc3RydWN0IGhhc2htYXAgd29ya2luZ190cmVlX2R1cHMsIHN1Ym1vZHVsZXMsIHN5bWxpbmtzMjsKIAlzdHJ1Y3QgaGFzaG1hcF9pdGVyIGl0ZXI7CiAJc3RydWN0IHBhaXJfZW50cnkgKmVudHJ5OwotCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKLQl1bnNpZ25lZCBsb25nIHNpemU7CiAJc3RydWN0IGluZGV4X3N0YXRlIHd0aW5kZXg7CiAJc3RydWN0IGNoZWNrb3V0IGxzdGF0ZSwgcnN0YXRlOwogCWludCByYywgZmxhZ3MgPSBSVU5fR0lUX0NNRCwgZXJyID0gMDsKQEAgLTI5OCwxMSArMzcwLDExIEBACiAJbWVtc2V0KCZ3dGluZGV4LCAwLCBzaXplb2Yod3RpbmRleCkpOwogCiAJbWVtc2V0KCZsc3RhdGUsIDAsIHNpemVvZihsc3RhdGUpKTsKLQlsc3RhdGUuYmFzZV9kaXIgPSBsZGlyLmJ1ZjsKKwlsc3RhdGUuYmFzZV9kaXIgPSBsYmFzZV9kaXIgPSB4c3RyZHVwKGxkaXIuYnVmKTsKIAlsc3RhdGUuYmFzZV9kaXJfbGVuID0gbGRpci5sZW47CiAJbHN0YXRlLmZvcmNlID0gMTsKIAltZW1zZXQoJnJzdGF0ZSwgMCwgc2l6ZW9mKHJzdGF0ZSkpOwotCXJzdGF0ZS5iYXNlX2RpciA9IHJkaXIuYnVmOworCXJzdGF0ZS5iYXNlX2RpciA9IHJiYXNlX2RpciA9IHhzdHJkdXAocmRpci5idWYpOwogCXJzdGF0ZS5iYXNlX2Rpcl9sZW4gPSByZGlyLmxlbjsKIAlyc3RhdGUuZm9yY2UgPSAxOwogCkBAIC0zMTAsMTAgKzM4Miw5IEBACiAJcmRpcl9sZW4gPSByZGlyLmxlbjsKIAl3dGRpcl9sZW4gPSB3dGRpci5sZW47CiAKLQloYXNobWFwX2luaXQoJndvcmtpbmdfdHJlZV9kdXBzLAotCQkgICAgIChoYXNobWFwX2NtcF9mbil3b3JraW5nX3RyZWVfZW50cnlfY21wLCAwKTsKLQloYXNobWFwX2luaXQoJnN1Ym1vZHVsZXMsIChoYXNobWFwX2NtcF9mbilwYWlyX2NtcCwgMCk7Ci0JaGFzaG1hcF9pbml0KCZzeW1saW5rczIsIChoYXNobWFwX2NtcF9mbilwYWlyX2NtcCwgMCk7CisJaGFzaG1hcF9pbml0KCZ3b3JraW5nX3RyZWVfZHVwcywgd29ya2luZ190cmVlX2VudHJ5X2NtcCwgTlVMTCwgMCk7CisJaGFzaG1hcF9pbml0KCZzdWJtb2R1bGVzLCBwYWlyX2NtcCwgTlVMTCwgMCk7CisJaGFzaG1hcF9pbml0KCZzeW1saW5rczIsIHBhaXJfY21wLCBOVUxMLCAwKTsKIAogCWNoaWxkLm5vX3N0ZGluID0gMTsKIAljaGlsZC5naXRfY21kID0gMTsKQEAgLTMzNiw3ICs0MDcsNiBAQAogCQlzdHJ1Y3Qgb2JqZWN0X2lkIGxvaWQsIHJvaWQ7CiAJCWNoYXIgc3RhdHVzOwogCQljb25zdCBjaGFyICpzcmNfcGF0aCwgKmRzdF9wYXRoOwotCQlzaXplX3Qgc3JjX3BhdGhfbGVuLCBkc3RfcGF0aF9sZW47CiAKIAkJaWYgKHN0YXJ0c193aXRoKGluZm8uYnVmLCAiOjoiKSkKIAkJCWRpZShOXygiY29tYmluZWQgZGlmZiBmb3JtYXRzKCctYycgYW5kICctLWNjJykgYXJlICIKQEAgLTM0OSwxNyArNDE5LDE0IEBACiAJCWlmIChzdHJidWZfZ2V0bGluZV9udWwoJmxwYXRoLCBmcCkpCiAJCQlicmVhazsKIAkJc3JjX3BhdGggPSBscGF0aC5idWY7Ci0JCXNyY19wYXRoX2xlbiA9IGxwYXRoLmxlbjsKIAogCQlpKys7CiAJCWlmIChzdGF0dXMgIT0gJ0MnICYmIHN0YXR1cyAhPSAnUicpIHsKIAkJCWRzdF9wYXRoID0gc3JjX3BhdGg7Ci0JCQlkc3RfcGF0aF9sZW4gPSBzcmNfcGF0aF9sZW47CiAJCX0gZWxzZSB7CiAJCQlpZiAoc3RyYnVmX2dldGxpbmVfbnVsKCZycGF0aCwgZnApKQogCQkJCWJyZWFrOwogCQkJZHN0X3BhdGggPSBycGF0aC5idWY7Ci0JCQlkc3RfcGF0aF9sZW4gPSBycGF0aC5sZW47CiAJCX0KIAogCQlpZiAoU19JU0dJVExJTksobG1vZGUpIHx8IFNfSVNHSVRMSU5LKHJtb2RlKSkgewpAQCAtMzc3LDI3ICs0NDQsMjUgQEAKIAkJfQogCiAJCWlmIChTX0lTTE5LKGxtb2RlKSkgewotCQkJY2hhciAqY29udGVudCA9IHJlYWRfc2hhMV9maWxlKGxvaWQuaGFzaCwgJnR5cGUsICZzaXplKTsKKwkJCWNoYXIgKmNvbnRlbnQgPSBnZXRfc3ltbGluaygmbG9pZCwgc3JjX3BhdGgpOwogCQkJYWRkX2xlZnRfb3JfcmlnaHQoJnN5bWxpbmtzMiwgc3JjX3BhdGgsIGNvbnRlbnQsIDApOwogCQkJZnJlZShjb250ZW50KTsKIAkJfQogCiAJCWlmIChTX0lTTE5LKHJtb2RlKSkgewotCQkJY2hhciAqY29udGVudCA9IHJlYWRfc2hhMV9maWxlKHJvaWQuaGFzaCwgJnR5cGUsICZzaXplKTsKKwkJCWNoYXIgKmNvbnRlbnQgPSBnZXRfc3ltbGluaygmcm9pZCwgZHN0X3BhdGgpOwogCQkJYWRkX2xlZnRfb3JfcmlnaHQoJnN5bWxpbmtzMiwgZHN0X3BhdGgsIGNvbnRlbnQsIDEpOwogCQkJZnJlZShjb250ZW50KTsKIAkJfQogCiAJCWlmIChsbW9kZSAmJiBzdGF0dXMgIT0gJ0MnKSB7Ci0JCQljZS0+Y2VfbW9kZSA9IGxtb2RlOwotCQkJb2lkY3B5KCZjZS0+b2lkLCAmbG9pZCk7Ci0JCQlzdHJjcHkoY2UtPm5hbWUsIHNyY19wYXRoKTsKLQkJCWNlLT5jZV9uYW1lbGVuID0gc3JjX3BhdGhfbGVuOwotCQkJaWYgKGNoZWNrb3V0X2VudHJ5KGNlLCAmbHN0YXRlLCBOVUxMKSkKLQkJCQlyZXR1cm4gZXJyb3IoImNvdWxkIG5vdCB3cml0ZSAnJXMnIiwgc3JjX3BhdGgpOworCQkJaWYgKGNoZWNrb3V0X3BhdGgobG1vZGUsICZsb2lkLCBzcmNfcGF0aCwgJmxzdGF0ZSkpIHsKKwkJCQlyZXQgPSBlcnJvcigiY291bGQgbm90IHdyaXRlICclcyciLCBzcmNfcGF0aCk7CisJCQkJZ290byBmaW5pc2g7CisJCQl9CiAJCX0KIAotCQlpZiAocm1vZGUpIHsKKwkJaWYgKHJtb2RlICYmICFTX0lTTE5LKHJtb2RlKSkgewogCQkJc3RydWN0IHdvcmtpbmdfdHJlZV9lbnRyeSAqZW50cnk7CiAKIAkJCS8qIEF2b2lkIGR1cGxpY2F0ZSB3b3JraW5nX3RyZWUgZW50cmllcyAqLwpAQCAtNDEwLDEzICs0NzUsMTIgQEAKIAkJCWhhc2htYXBfYWRkKCZ3b3JraW5nX3RyZWVfZHVwcywgZW50cnkpOwogCiAJCQlpZiAoIXVzZV93dF9maWxlKHdvcmtkaXIsIGRzdF9wYXRoLCAmcm9pZCkpIHsKLQkJCQljZS0+Y2VfbW9kZSA9IHJtb2RlOwotCQkJCW9pZGNweSgmY2UtPm9pZCwgJnJvaWQpOwotCQkJCXN0cmNweShjZS0+bmFtZSwgZHN0X3BhdGgpOwotCQkJCWNlLT5jZV9uYW1lbGVuID0gZHN0X3BhdGhfbGVuOwotCQkJCWlmIChjaGVja291dF9lbnRyeShjZSwgJnJzdGF0ZSwgTlVMTCkpCi0JCQkJCXJldHVybiBlcnJvcigiY291bGQgbm90IHdyaXRlICclcyciLAotCQkJCQkJICAgICBkc3RfcGF0aCk7CisJCQkJaWYgKGNoZWNrb3V0X3BhdGgocm1vZGUsICZyb2lkLCBkc3RfcGF0aCwKKwkJCQkJCSAgJnJzdGF0ZSkpIHsKKwkJCQkJcmV0ID0gZXJyb3IoImNvdWxkIG5vdCB3cml0ZSAnJXMnIiwKKwkJCQkJCSAgICBkc3RfcGF0aCk7CisJCQkJCWdvdG8gZmluaXNoOworCQkJCX0KIAkJCX0gZWxzZSBpZiAoIWlzX251bGxfb2lkKCZyb2lkKSkgewogCQkJCS8qCiAJCQkJICogQ2hhbmdlcyBpbiB0aGUgd29ya2luZyB0cmVlIG5lZWQgc3BlY2lhbApAQCAtNDMxLDEwICs0OTUsMTIgQEAKIAkJCQkJCUFERF9DQUNIRV9KVVNUX0FQUEVORCk7CiAKIAkJCQlhZGRfcGF0aCgmcmRpciwgcmRpcl9sZW4sIGRzdF9wYXRoKTsKLQkJCQlpZiAoZW5zdXJlX2xlYWRpbmdfZGlyZWN0b3JpZXMocmRpci5idWYpKQotCQkJCQlyZXR1cm4gZXJyb3IoImNvdWxkIG5vdCBjcmVhdGUgIgotCQkJCQkJICAgICAiZGlyZWN0b3J5IGZvciAnJXMnIiwKLQkJCQkJCSAgICAgZHN0X3BhdGgpOworCQkJCWlmIChlbnN1cmVfbGVhZGluZ19kaXJlY3RvcmllcyhyZGlyLmJ1ZikpIHsKKwkJCQkJcmV0ID0gZXJyb3IoImNvdWxkIG5vdCBjcmVhdGUgIgorCQkJCQkJICAgICJkaXJlY3RvcnkgZm9yICclcyciLAorCQkJCQkJICAgIGRzdF9wYXRoKTsKKwkJCQkJZ290byBmaW5pc2g7CisJCQkJfQogCQkJCWFkZF9wYXRoKCZ3dGRpciwgd3RkaXJfbGVuLCBkc3RfcGF0aCk7CiAJCQkJaWYgKHN5bWxpbmtzKSB7CiAJCQkJCWlmIChzeW1saW5rKHd0ZGlyLmJ1ZiwgcmRpci5idWYpKSB7CkBAIC00NTUsMTMgKzUyMSwxNSBAQAogCQl9CiAJfQogCisJZmNsb3NlKGZwKTsKKwlmcCA9IE5VTEw7CiAJaWYgKGZpbmlzaF9jb21tYW5kKCZjaGlsZCkpIHsKIAkJcmV0ID0gZXJyb3IoImVycm9yIG9jY3VycmVkIHJ1bm5pbmcgZGlmZiAtLXJhdyIpOwogCQlnb3RvIGZpbmlzaDsKIAl9CiAKIAlpZiAoIWkpCi0JCXJldHVybiAwOworCQlnb3RvIGZpbmlzaDsKIAogCS8qCiAJICogQ2hhbmdlcyB0byBzdWJtb2R1bGVzIHJlcXVpcmUgc3BlY2lhbCB0cmVhdG1lbnQuVGhpcyBsb29wIHdyaXRlcyBhCkBAIC01MjYsMTAgKzU5NCw4IEBACiAJICogaW4gdGhlIGNvbW1vbiBjYXNlIG9mIC0tc3ltbGlua3MgYW5kIHRoZSBkaWZmdG9vbCB1cGRhdGluZwogCSAqIGZpbGVzIHRocm91Z2ggdGhlIHN5bWxpbmsuCiAJICovCi0JaGFzaG1hcF9pbml0KCZ3dF9tb2RpZmllZCwgKGhhc2htYXBfY21wX2ZuKXBhdGhfZW50cnlfY21wLAotCQkgICAgIHd0aW5kZXguY2FjaGVfbnIpOwotCWhhc2htYXBfaW5pdCgmdG1wX21vZGlmaWVkLCAoaGFzaG1hcF9jbXBfZm4pcGF0aF9lbnRyeV9jbXAsCi0JCSAgICAgd3RpbmRleC5jYWNoZV9ucik7CisJaGFzaG1hcF9pbml0KCZ3dF9tb2RpZmllZCwgcGF0aF9lbnRyeV9jbXAsIE5VTEwsIHd0aW5kZXguY2FjaGVfbnIpOworCWhhc2htYXBfaW5pdCgmdG1wX21vZGlmaWVkLCBwYXRoX2VudHJ5X2NtcCwgTlVMTCwgd3RpbmRleC5jYWNoZV9ucik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgd3RpbmRleC5jYWNoZV9ucjsgaSsrKSB7CiAJCXN0cnVjdCBoYXNobWFwX2VudHJ5IGR1bW15OwpAQCAtNTg0LDcgKzY1MCwxMSBAQAogCQlleGl0X2NsZWFudXAodG1wZGlyLCByYyk7CiAKIGZpbmlzaDoKLQlmcmVlKGNlKTsKKwlpZiAoZnApCisJCWZjbG9zZShmcCk7CisKKwlmcmVlKGxiYXNlX2Rpcik7CisJZnJlZShyYmFzZV9kaXIpOwogCXN0cmJ1Zl9yZWxlYXNlKCZsZGlyKTsKIAlzdHJidWZfcmVsZWFzZSgmcmRpcik7CiAJc3RyYnVmX3JlbGVhc2UoJnd0ZGlyKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZmFzdC1leHBvcnQuYyBiL2J1aWx0aW4vZmFzdC1leHBvcnQuYwppbmRleCAxZTgxNWI1Li4yZmI2MGQ2IDEwMDY0NAotLS0gYS9idWlsdGluL2Zhc3QtZXhwb3J0LmMKKysrIGIvYnVpbHRpbi9mYXN0LWV4cG9ydC5jCkBAIC01LDYgKzUsNyBAQAogICovCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgIm9iamVjdC5oIgpAQCAtOTIsOCArOTMsOSBAQAogCXNpemVfdCBhbm9uX2xlbjsKIH07CiAKLXN0YXRpYyBpbnQgYW5vbnltaXplZF9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqdmEsIGNvbnN0IHZvaWQgKnZiLAotCQkJCWNvbnN0IHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGFub255bWl6ZWRfZW50cnlfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJCQljb25zdCB2b2lkICp2YSwgY29uc3Qgdm9pZCAqdmIsCisJCQkJY29uc3Qgdm9pZCAqdW51c2VkX2tleWRhdGEpCiB7CiAJY29uc3Qgc3RydWN0IGFub255bWl6ZWRfZW50cnkgKmEgPSB2YSwgKmIgPSB2YjsKIAlyZXR1cm4gYS0+b3JpZ19sZW4gIT0gYi0+b3JpZ19sZW4gfHwKQEAgLTExMiw3ICsxMTQsNyBAQAogCXN0cnVjdCBhbm9ueW1pemVkX2VudHJ5IGtleSwgKnJldDsKIAogCWlmICghbWFwLT5jbXBmbikKLQkJaGFzaG1hcF9pbml0KG1hcCwgYW5vbnltaXplZF9lbnRyeV9jbXAsIDApOworCQloYXNobWFwX2luaXQobWFwLCBhbm9ueW1pemVkX2VudHJ5X2NtcCwgTlVMTCwgMCk7CiAKIAloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgbWVtaGFzaChvcmlnLCAqbGVuKSk7CiAJa2V5Lm9yaWcgPSBvcmlnOwpAQCAtMjEyLDcgKzIxNCw3IEBACiAJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJm91dCwgTlVMTCk7CiB9CiAKLXN0YXRpYyB2b2lkIGV4cG9ydF9ibG9iKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgdm9pZCBleHBvcnRfYmxvYihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBzaXplOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKQEAgLTIyMywzNCArMjI1LDM0IEBACiAJaWYgKG5vX2RhdGEpCiAJCXJldHVybjsKIAotCWlmIChpc19udWxsX3NoYTEoc2hhMSkpCisJaWYgKGlzX251bGxfb2lkKG9pZCkpCiAJCXJldHVybjsKIAotCW9iamVjdCA9IGxvb2t1cF9vYmplY3Qoc2hhMSk7CisJb2JqZWN0ID0gbG9va3VwX29iamVjdChvaWQtPmhhc2gpOwogCWlmIChvYmplY3QgJiYgb2JqZWN0LT5mbGFncyAmIFNIT1dOKQogCQlyZXR1cm47CiAKIAlpZiAoYW5vbnltaXplKSB7CiAJCWJ1ZiA9IGFub255bWl6ZV9ibG9iKCZzaXplKTsKLQkJb2JqZWN0ID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfYmxvYihzaGExKTsKKwkJb2JqZWN0ID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfYmxvYihvaWQpOwogCQllYXRlbiA9IDA7CiAJfSBlbHNlIHsKLQkJYnVmID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZzaXplKTsKKwkJYnVmID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgJnNpemUpOwogCQlpZiAoIWJ1ZikKLQkJCWRpZSAoIkNvdWxkIG5vdCByZWFkIGJsb2IgJXMiLCBzaGExX3RvX2hleChzaGExKSk7Ci0JCWlmIChjaGVja19zaGExX3NpZ25hdHVyZShzaGExLCBidWYsIHNpemUsIHR5cGVuYW1lKHR5cGUpKSA8IDApCi0JCQlkaWUoInNoYTEgbWlzbWF0Y2ggaW4gYmxvYiAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKLQkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0X2J1ZmZlcihzaGExLCB0eXBlLCBzaXplLCBidWYsICZlYXRlbik7CisJCQlkaWUgKCJDb3VsZCBub3QgcmVhZCBibG9iICVzIiwgb2lkX3RvX2hleChvaWQpKTsKKwkJaWYgKGNoZWNrX3NoYTFfc2lnbmF0dXJlKG9pZC0+aGFzaCwgYnVmLCBzaXplLCB0eXBlbmFtZSh0eXBlKSkgPCAwKQorCQkJZGllKCJzaGExIG1pc21hdGNoIGluIGJsb2IgJXMiLCBvaWRfdG9faGV4KG9pZCkpOworCQlvYmplY3QgPSBwYXJzZV9vYmplY3RfYnVmZmVyKG9pZCwgdHlwZSwgc2l6ZSwgYnVmLCAmZWF0ZW4pOwogCX0KIAogCWlmICghb2JqZWN0KQotCQlkaWUoIkNvdWxkIG5vdCByZWFkIGJsb2IgJXMiLCBzaGExX3RvX2hleChzaGExKSk7CisJCWRpZSgiQ291bGQgbm90IHJlYWQgYmxvYiAlcyIsIG9pZF90b19oZXgob2lkKSk7CiAKIAltYXJrX25leHRfb2JqZWN0KG9iamVjdCk7CiAKIAlwcmludGYoImJsb2Jcbm1hcmsgOiUiUFJJdTMyIlxuZGF0YSAlbHVcbiIsIGxhc3RfaWRudW0sIHNpemUpOwogCWlmIChzaXplICYmIGZ3cml0ZShidWYsIHNpemUsIDEsIHN0ZG91dCkgIT0gMSkKLQkJZGllX2Vycm5vICgiQ291bGQgbm90IHdyaXRlIGJsb2IgJyVzJyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZGllX2Vycm5vICgiQ291bGQgbm90IHdyaXRlIGJsb2IgJyVzJyIsIG9pZF90b19oZXgob2lkKSk7CiAJcHJpbnRmKCJcbiIpOwogCiAJc2hvd19wcm9ncmVzcygpOwpAQCAtMzIzLDI1ICszMjUsMjYgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkICpnZW5lcmF0ZV9mYWtlX3NoYTEoY29uc3Qgdm9pZCAqb2xkLCBzaXplX3QgKmxlbikKK3N0YXRpYyB2b2lkICpnZW5lcmF0ZV9mYWtlX29pZChjb25zdCB2b2lkICpvbGQsIHNpemVfdCAqbGVuKQogewogCXN0YXRpYyB1aW50MzJfdCBjb3VudGVyID0gMTsgLyogYXZvaWQgbnVsbCBzaGExICovCi0JdW5zaWduZWQgY2hhciAqb3V0ID0geGNhbGxvYygyMCwgMSk7Ci0JcHV0X2JlMzIob3V0ICsgMTYsIGNvdW50ZXIrKyk7CisJdW5zaWduZWQgY2hhciAqb3V0ID0geGNhbGxvYyhHSVRfU0hBMV9SQVdTWiwgMSk7CisJcHV0X2JlMzIob3V0ICsgR0lUX1NIQTFfUkFXU1ogLSA0LCBjb3VudGVyKyspOwogCXJldHVybiBvdXQ7CiB9CiAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICphbm9ueW1pemVfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFub255bWl6ZV9zaGExKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdGF0aWMgc3RydWN0IGhhc2htYXAgc2hhMXM7Ci0Jc2l6ZV90IGxlbiA9IDIwOwotCXJldHVybiBhbm9ueW1pemVfbWVtKCZzaGExcywgZ2VuZXJhdGVfZmFrZV9zaGExLCBzaGExLCAmbGVuKTsKKwlzaXplX3QgbGVuID0gR0lUX1NIQTFfUkFXU1o7CisJcmV0dXJuIGFub255bWl6ZV9tZW0oJnNoYTFzLCBnZW5lcmF0ZV9mYWtlX29pZCwgb2lkLCAmbGVuKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19maWxlbW9kaWZ5KHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSwKIAkJCSAgICBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLCB2b2lkICpkYXRhKQogewogCWludCBpOworCXN0cnVjdCBzdHJpbmdfbGlzdCAqY2hhbmdlZCA9IGRhdGE7CiAKIAkvKgogCSAqIEhhbmRsZSBmaWxlcyBiZWxvdyBhIGRpcmVjdG9yeSBmaXJzdCwgaW4gY2FzZSB0aGV5IGFyZSBhbGwgZGVsZXRlZApAQCAtMzU3LDIwICszNjAsMzEgQEAKIAkJY2FzZSBESUZGX1NUQVRVU19ERUxFVEVEOgogCQkJcHJpbnRmKCJEICIpOwogCQkJcHJpbnRfcGF0aChzcGVjLT5wYXRoKTsKKwkJCXN0cmluZ19saXN0X2luc2VydChjaGFuZ2VkLCBzcGVjLT5wYXRoKTsKIAkJCXB1dGNoYXIoJ1xuJyk7CiAJCQlicmVhazsKIAogCQljYXNlIERJRkZfU1RBVFVTX0NPUElFRDoKIAkJY2FzZSBESUZGX1NUQVRVU19SRU5BTUVEOgotCQkJcHJpbnRmKCIlYyAiLCBxLT5xdWV1ZVtpXS0+c3RhdHVzKTsKLQkJCXByaW50X3BhdGgob3NwZWMtPnBhdGgpOwotCQkJcHV0Y2hhcignICcpOwotCQkJcHJpbnRfcGF0aChzcGVjLT5wYXRoKTsKLQkJCXB1dGNoYXIoJ1xuJyk7CisJCQkvKgorCQkJICogSWYgYSBjaGFuZ2UgaW4gdGhlIGZpbGUgY29ycmVzcG9uZGluZyB0byBvc3BlYy0+cGF0aAorCQkJICogaGFzIGJlZW4gb2JzZXJ2ZWQsIHdlIGNhbm5vdCB0cnVzdCBpdHMgY29udGVudHMKKwkJCSAqIGJlY2F1c2UgdGhlIGRpZmYgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgcHJpb3IKKwkJCSAqIGNvbnRlbnRzLCBub3QgdGhlIGN1cnJlbnQgY29udGVudHMuICBTbywgZGVjbGFyZSBhCisJCQkgKiBjb3B5IG9yIHJlbmFtZSBvbmx5IGlmIHRoZXJlIHdhcyBubyBjaGFuZ2Ugb2JzZXJ2ZWQuCisJCQkgKi8KKwkJCWlmICghc3RyaW5nX2xpc3RfaGFzX3N0cmluZyhjaGFuZ2VkLCBvc3BlYy0+cGF0aCkpIHsKKwkJCQlwcmludGYoIiVjICIsIHEtPnF1ZXVlW2ldLT5zdGF0dXMpOworCQkJCXByaW50X3BhdGgob3NwZWMtPnBhdGgpOworCQkJCXB1dGNoYXIoJyAnKTsKKwkJCQlwcmludF9wYXRoKHNwZWMtPnBhdGgpOworCQkJCXN0cmluZ19saXN0X2luc2VydChjaGFuZ2VkLCBzcGVjLT5wYXRoKTsKKwkJCQlwdXRjaGFyKCdcbicpOwogCi0JCQlpZiAoIW9pZGNtcCgmb3NwZWMtPm9pZCwgJnNwZWMtPm9pZCkgJiYKLQkJCSAgICBvc3BlYy0+bW9kZSA9PSBzcGVjLT5tb2RlKQotCQkJCWJyZWFrOworCQkJCWlmICghb2lkY21wKCZvc3BlYy0+b2lkLCAmc3BlYy0+b2lkKSAmJgorCQkJCSAgICBvc3BlYy0+bW9kZSA9PSBzcGVjLT5tb2RlKQorCQkJCQlicmVhazsKKwkJCX0KIAkJCS8qIGZhbGx0aHJvdWdoICovCiAKIAkJY2FzZSBESUZGX1NUQVRVU19UWVBFX0NIQU5HRUQ6CkBAIC0zODMsNyArMzk3LDcgQEAKIAkJCWlmIChub19kYXRhIHx8IFNfSVNHSVRMSU5LKHNwZWMtPm1vZGUpKQogCQkJCXByaW50ZigiTSAlMDZvICVzICIsIHNwZWMtPm1vZGUsCiAJCQkJICAgICAgIHNoYTFfdG9faGV4KGFub255bWl6ZSA/Ci0JCQkJCQkgICBhbm9ueW1pemVfc2hhMShzcGVjLT5vaWQuaGFzaCkgOgorCQkJCQkJICAgYW5vbnltaXplX3NoYTEoJnNwZWMtPm9pZCkgOgogCQkJCQkJICAgc3BlYy0+b2lkLmhhc2gpKTsKIAkJCWVsc2UgewogCQkJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IGxvb2t1cF9vYmplY3Qoc3BlYy0+b2lkLmhhc2gpOwpAQCAtMzkxLDYgKzQwNSw3IEBACiAJCQkJICAgICAgIGdldF9vYmplY3RfbWFyayhvYmplY3QpKTsKIAkJCX0KIAkJCXByaW50X3BhdGgoc3BlYy0+cGF0aCk7CisJCQlzdHJpbmdfbGlzdF9pbnNlcnQoY2hhbmdlZCwgc3BlYy0+cGF0aCk7CiAJCQlwdXRjaGFyKCdcbicpOwogCQkJYnJlYWs7CiAKQEAgLTUyNiw3ICs1NDEsOCBAQAogCSplbmQgPSBvdXQtPmJ1ZiArIG91dC0+bGVuOwogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfY29tbWl0KHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IHJldl9pbmZvICpyZXYpCitzdGF0aWMgdm9pZCBoYW5kbGVfY29tbWl0KHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IHJldl9pbmZvICpyZXYsCisJCQkgIHN0cnVjdCBzdHJpbmdfbGlzdCAqcGF0aHNfb2ZfY2hhbmdlZF9vYmplY3RzKQogewogCWludCBzYXZlZF9vdXRwdXRfZm9ybWF0ID0gcmV2LT5kaWZmb3B0Lm91dHB1dF9mb3JtYXQ7CiAJY29uc3QgY2hhciAqY29tbWl0X2J1ZmZlcjsKQEAgLTU2MiwxNyArNTc4LDE3IEBACiAJICAgIGdldF9vYmplY3RfbWFyaygmY29tbWl0LT5wYXJlbnRzLT5pdGVtLT5vYmplY3QpICE9IDAgJiYKIAkgICAgIWZ1bGxfdHJlZSkgewogCQlwYXJzZV9jb21taXRfb3JfZGllKGNvbW1pdC0+cGFyZW50cy0+aXRlbSk7Ci0JCWRpZmZfdHJlZV9zaGExKGNvbW1pdC0+cGFyZW50cy0+aXRlbS0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJICAgICAgIGNvbW1pdC0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLCAiIiwgJnJldi0+ZGlmZm9wdCk7CisJCWRpZmZfdHJlZV9vaWQoJmNvbW1pdC0+cGFyZW50cy0+aXRlbS0+dHJlZS0+b2JqZWN0Lm9pZCwKKwkJCSAgICAgICZjb21taXQtPnRyZWUtPm9iamVjdC5vaWQsICIiLCAmcmV2LT5kaWZmb3B0KTsKIAl9CiAJZWxzZQotCQlkaWZmX3Jvb3RfdHJlZV9zaGExKGNvbW1pdC0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJCSAgICAiIiwgJnJldi0+ZGlmZm9wdCk7CisJCWRpZmZfcm9vdF90cmVlX29pZCgmY29tbWl0LT50cmVlLT5vYmplY3Qub2lkLAorCQkJCSAgICIiLCAmcmV2LT5kaWZmb3B0KTsKIAogCS8qIEV4cG9ydCB0aGUgcmVmZXJlbmNlZCBibG9icywgYW5kIHJlbWVtYmVyIHRoZSBtYXJrcy4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgZGlmZl9xdWV1ZWRfZGlmZi5ucjsgaSsrKQogCQlpZiAoIVNfSVNHSVRMSU5LKGRpZmZfcXVldWVkX2RpZmYucXVldWVbaV0tPnR3by0+bW9kZSkpCi0JCQlleHBvcnRfYmxvYihkaWZmX3F1ZXVlZF9kaWZmLnF1ZXVlW2ldLT50d28tPm9pZC5oYXNoKTsKKwkJCWV4cG9ydF9ibG9iKCZkaWZmX3F1ZXVlZF9kaWZmLnF1ZXVlW2ldLT50d28tPm9pZCk7CiAKIAlyZWZuYW1lID0gY29tbWl0LT51dGlsOwogCWlmIChhbm9ueW1pemUpIHsKQEAgLTYxMyw2ICs2MjksNyBAQAogCWlmIChmdWxsX3RyZWUpCiAJCXByaW50ZigiZGVsZXRlYWxsXG4iKTsKIAlsb2dfdHJlZV9kaWZmX2ZsdXNoKHJldik7CisJc3RyaW5nX2xpc3RfY2xlYXIocGF0aHNfb2ZfY2hhbmdlZF9vYmplY3RzLCAwKTsKIAlyZXYtPmRpZmZvcHQub3V0cHV0X2Zvcm1hdCA9IHNhdmVkX291dHB1dF9mb3JtYXQ7CiAKIAlwcmludGYoIlxuIik7CkBAIC02MjgsMTUgKzY0NSwxNSBAQAogCXJldHVybiBzdHJidWZfZGV0YWNoKCZvdXQsIGxlbik7CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV90YWlsKHN0cnVjdCBvYmplY3RfYXJyYXkgKmNvbW1pdHMsIHN0cnVjdCByZXZfaW5mbyAqcmV2cykKK3N0YXRpYyB2b2lkIGhhbmRsZV90YWlsKHN0cnVjdCBvYmplY3RfYXJyYXkgKmNvbW1pdHMsIHN0cnVjdCByZXZfaW5mbyAqcmV2cywKKwkJCXN0cnVjdCBzdHJpbmdfbGlzdCAqcGF0aHNfb2ZfY2hhbmdlZF9vYmplY3RzKQogewogCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAl3aGlsZSAoY29tbWl0cy0+bnIpIHsKLQkJY29tbWl0ID0gKHN0cnVjdCBjb21taXQgKiljb21taXRzLT5vYmplY3RzW2NvbW1pdHMtPm5yIC0gMV0uaXRlbTsKKwkJY29tbWl0ID0gKHN0cnVjdCBjb21taXQgKilvYmplY3RfYXJyYXlfcG9wKGNvbW1pdHMpOwogCQlpZiAoaGFzX3Vuc2hvd25fcGFyZW50KGNvbW1pdCkpCiAJCQlyZXR1cm47Ci0JCWhhbmRsZV9jb21taXQoY29tbWl0LCByZXZzKTsKLQkJY29tbWl0cy0+bnItLTsKKwkJaGFuZGxlX2NvbW1pdChjb21taXQsIHJldnMsIHBhdGhzX29mX2NoYW5nZWRfb2JqZWN0cyk7CiAJfQogfQogCkBAIC03MzQsNiArNzUxLDcgQEAKIAkJCSAgICAgb2lkX3RvX2hleCgmdGFnLT5vYmplY3Qub2lkKSk7CiAJCWNhc2UgRFJPUDoKIAkJCS8qIElnbm9yZSB0aGlzIHRhZyBhbHRvZ2V0aGVyICovCisJCQlmcmVlKGJ1Zik7CiAJCQlyZXR1cm47CiAJCWNhc2UgUkVXUklURToKIAkJCWlmICh0YWdnZWQtPnR5cGUgIT0gT0JKX0NPTU1JVCkgewpAQCAtNzY1LDYgKzc4Myw3IEBACiAJICAgICAgIChpbnQpKHRhZ2dlcl9lbmQgLSB0YWdnZXIpLCB0YWdnZXIsCiAJICAgICAgIHRhZ2dlciA9PSB0YWdnZXJfZW5kID8gIiIgOiAiXG4iLAogCSAgICAgICAoaW50KW1lc3NhZ2Vfc2l6ZSwgKGludCltZXNzYWdlX3NpemUsIG1lc3NhZ2UgPyBtZXNzYWdlIDogIiIpOworCWZyZWUoYnVmKTsKIH0KIAogc3RhdGljIHN0cnVjdCBjb21taXQgKmdldF9jb21taXQoc3RydWN0IHJldl9jbWRsaW5lX2VudHJ5ICplLCBjaGFyICpmdWxsX25hbWUpCkBAIC03NzcsNyArNzk2LDcgQEAKIAogCQkvKiBoYW5kbGUgbmVzdGVkIHRhZ3MgKi8KIAkJd2hpbGUgKHRhZyAmJiB0YWctPm9iamVjdC50eXBlID09IE9CSl9UQUcpIHsKLQkJCXBhcnNlX29iamVjdCh0YWctPm9iamVjdC5vaWQuaGFzaCk7CisJCQlwYXJzZV9vYmplY3QoJnRhZy0+b2JqZWN0Lm9pZCk7CiAJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmV4dHJhX3JlZnMsIGZ1bGxfbmFtZSktPnV0aWwgPSB0YWc7CiAJCQl0YWcgPSAoc3RydWN0IHRhZyAqKXRhZy0+dGFnZ2VkOwogCQl9CkBAIC03OTcsMTQgKzgxNiwxNCBAQAogCiAJZm9yIChpID0gMDsgaSA8IGluZm8tPm5yOyBpKyspIHsKIAkJc3RydWN0IHJldl9jbWRsaW5lX2VudHJ5ICplID0gaW5mby0+cmV2ICsgaTsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAkJY2hhciAqZnVsbF9uYW1lOwogCiAJCWlmIChlLT5mbGFncyAmIFVOSU5URVJFU1RJTkcpCiAJCQljb250aW51ZTsKIAotCQlpZiAoZHdpbV9yZWYoZS0+bmFtZSwgc3RybGVuKGUtPm5hbWUpLCBzaGExLCAmZnVsbF9uYW1lKSAhPSAxKQorCQlpZiAoZHdpbV9yZWYoZS0+bmFtZSwgc3RybGVuKGUtPm5hbWUpLCBvaWQuaGFzaCwgJmZ1bGxfbmFtZSkgIT0gMSkKIAkJCWNvbnRpbnVlOwogCiAJCWlmIChyZWZzcGVjcykgewpAQCAtODI4LDcgKzg0Nyw3IEBACiAJCWNhc2UgT0JKX0NPTU1JVDoKIAkJCWJyZWFrOwogCQljYXNlIE9CSl9CTE9COgotCQkJZXhwb3J0X2Jsb2IoY29tbWl0LT5vYmplY3Qub2lkLmhhc2gpOworCQkJZXhwb3J0X2Jsb2IoJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAJCQljb250aW51ZTsKIAkJZGVmYXVsdDogLyogT0JKX1RBRyAobmVzdGVkIHRhZ3MpIGlzIGFscmVhZHkgaGFuZGxlZCAqLwogCQkJd2FybmluZygiVGFnIHBvaW50cyB0byBvYmplY3Qgb2YgdW5leHBlY3RlZCB0eXBlICVzLCBza2lwcGluZy4iLApAQCAtOTA1LDE0ICs5MjQsMTIgQEAKIHN0YXRpYyB2b2lkIGltcG9ydF9tYXJrcyhjaGFyICppbnB1dF9maWxlKQogewogCWNoYXIgbGluZVs1MTJdOwotCUZJTEUgKmYgPSBmb3BlbihpbnB1dF9maWxlLCAiciIpOwotCWlmICghZikKLQkJZGllX2Vycm5vKCJjYW5ub3QgcmVhZCAnJXMnIiwgaW5wdXRfZmlsZSk7CisJRklMRSAqZiA9IHhmb3BlbihpbnB1dF9maWxlLCAiciIpOwogCiAJd2hpbGUgKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZikpIHsKIAkJdWludDMyX3QgbWFyazsKIAkJY2hhciAqbGluZV9lbmQsICptYXJrX2VuZDsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCXN0cnVjdCBvYmplY3QgKm9iamVjdDsKIAkJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCQllbnVtIG9iamVjdF90eXBlIHR5cGU7CkBAIC05MjQsMjggKzk0MSwyOCBAQAogCiAJCW1hcmsgPSBzdHJ0b3VtYXgobGluZSArIDEsICZtYXJrX2VuZCwgMTApOwogCQlpZiAoIW1hcmsgfHwgbWFya19lbmQgPT0gbGluZSArIDEKLQkJCXx8ICptYXJrX2VuZCAhPSAnICcgfHwgZ2V0X3NoYTFfaGV4KG1hcmtfZW5kICsgMSwgc2hhMSkpCisJCQl8fCAqbWFya19lbmQgIT0gJyAnIHx8IGdldF9vaWRfaGV4KG1hcmtfZW5kICsgMSwgJm9pZCkpCiAJCQlkaWUoImNvcnJ1cHQgbWFyayBsaW5lOiAlcyIsIGxpbmUpOwogCiAJCWlmIChsYXN0X2lkbnVtIDwgbWFyaykKIAkJCWxhc3RfaWRudW0gPSBtYXJrOwogCi0JCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOworCQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvaWQuaGFzaCwgTlVMTCk7CiAJCWlmICh0eXBlIDwgMCkKLQkJCWRpZSgib2JqZWN0IG5vdCBmb3VuZDogJXMiLCBzaGExX3RvX2hleChzaGExKSk7CisJCQlkaWUoIm9iamVjdCBub3QgZm91bmQ6ICVzIiwgb2lkX3RvX2hleCgmb2lkKSk7CiAKIAkJaWYgKHR5cGUgIT0gT0JKX0NPTU1JVCkKIAkJCS8qIG9ubHkgY29tbWl0cyAqLwogCQkJY29udGludWU7CiAKLQkJY29tbWl0ID0gbG9va3VwX2NvbW1pdChzaGExKTsKKwkJY29tbWl0ID0gbG9va3VwX2NvbW1pdCgmb2lkKTsKIAkJaWYgKCFjb21taXQpCi0JCQlkaWUoIm5vdCBhIGNvbW1pdD8gY2FuJ3QgaGFwcGVuOiAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCWRpZSgibm90IGEgY29tbWl0PyBjYW4ndCBoYXBwZW46ICVzIiwgb2lkX3RvX2hleCgmb2lkKSk7CiAKIAkJb2JqZWN0ID0gJmNvbW1pdC0+b2JqZWN0OwogCiAJCWlmIChvYmplY3QtPmZsYWdzICYgU0hPV04pCi0JCQllcnJvcigiT2JqZWN0ICVzIGFscmVhZHkgaGFzIGEgbWFyayIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCWVycm9yKCJPYmplY3QgJXMgYWxyZWFkeSBoYXMgYSBtYXJrIiwgb2lkX3RvX2hleCgmb2lkKSk7CiAKIAkJbWFya19vYmplY3Qob2JqZWN0LCBtYXJrKTsKIApAQCAtOTc1LDYgKzk5Miw3IEBACiAJY2hhciAqZXhwb3J0X2ZpbGVuYW1lID0gTlVMTCwgKmltcG9ydF9maWxlbmFtZSA9IE5VTEw7CiAJdWludDMyX3QgbGFzdGltcG9ydGlkOwogCXN0cnVjdCBzdHJpbmdfbGlzdCByZWZzcGVjc19saXN0ID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcGF0aHNfb2ZfY2hhbmdlZF9vYmplY3RzID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9JTlRFR0VSKDAsICJwcm9ncmVzcyIsICZwcm9ncmVzcywKIAkJCSAgICBOXygic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIpKSwKQEAgLTEwNDcsMTQgKzEwNjUsMTUgQEAKIAlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKCZyZXZzKSkKIAkJZGllKCJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIpOwogCXJldnMuZGlmZm9wdC5mb3JtYXRfY2FsbGJhY2sgPSBzaG93X2ZpbGVtb2RpZnk7CisJcmV2cy5kaWZmb3B0LmZvcm1hdF9jYWxsYmFja19kYXRhID0gJnBhdGhzX29mX2NoYW5nZWRfb2JqZWN0czsKIAlESUZGX09QVF9TRVQoJnJldnMuZGlmZm9wdCwgUkVDVVJTSVZFKTsKIAl3aGlsZSAoKGNvbW1pdCA9IGdldF9yZXZpc2lvbigmcmV2cykpKSB7CiAJCWlmIChoYXNfdW5zaG93bl9wYXJlbnQoY29tbWl0KSkgewogCQkJYWRkX29iamVjdF9hcnJheSgmY29tbWl0LT5vYmplY3QsIE5VTEwsICZjb21taXRzKTsKIAkJfQogCQllbHNlIHsKLQkJCWhhbmRsZV9jb21taXQoY29tbWl0LCAmcmV2cyk7Ci0JCQloYW5kbGVfdGFpbCgmY29tbWl0cywgJnJldnMpOworCQkJaGFuZGxlX2NvbW1pdChjb21taXQsICZyZXZzLCAmcGF0aHNfb2ZfY2hhbmdlZF9vYmplY3RzKTsKKwkJCWhhbmRsZV90YWlsKCZjb21taXRzLCAmcmV2cywgJnBhdGhzX29mX2NoYW5nZWRfb2JqZWN0cyk7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZmV0Y2gtcGFjay5jIGIvYnVpbHRpbi9mZXRjaC1wYWNrLmMKaW5kZXggMmExYzFjMi4uMzY2YjlkMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mZXRjaC1wYWNrLmMKKysrIGIvYnVpbHRpbi9mZXRjaC1wYWNrLmMKQEAgLTUwLDcgKzUwLDcgQEAKIAljaGFyICoqcGFja19sb2NrZmlsZV9wdHIgPSBOVUxMOwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uOwogCXN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgYXJnczsKLQlzdHJ1Y3Qgc2hhMV9hcnJheSBzaGFsbG93ID0gU0hBMV9BUlJBWV9JTklUOworCXN0cnVjdCBvaWRfYXJyYXkgc2hhbGxvdyA9IE9JRF9BUlJBWV9JTklUOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBkZWVwZW5fbm90ID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CiAKIAlwYWNrZXRfdHJhY2VfaWRlbnRpdHkoImZldGNoLXBhY2siKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZmV0Y2guYyBiL2J1aWx0aW4vZmV0Y2guYwppbmRleCBiNWFkMDlkLi4yMjVjNzM0IDEwMDY0NAotLS0gYS9idWlsdGluL2ZldGNoLmMKKysrIGIvYnVpbHRpbi9mZXRjaC5jCkBAIC0yLDYgKzIsNyBAQAogICogImdpdCBmZXRjaCIKICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKQEAgLTE2LDYgKzE3LDcgQEAKICNpbmNsdWRlICJjb25uZWN0ZWQuaCIKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAjaW5jbHVkZSAidXRmOC5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYnVpbHRpbl9mZXRjaF91c2FnZVtdID0gewogCU5fKCJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iKSwKQEAgLTM2LDkgKzM4LDkgQEAKICNkZWZpbmUgUFJVTkVfQllfREVGQVVMVCAwIC8qIGRvIHdlIHBydW5lIGJ5IGRlZmF1bHQ/ICovCiAKIHN0YXRpYyBpbnQgYWxsLCBhcHBlbmQsIGRyeV9ydW4sIGZvcmNlLCBrZWVwLCBtdWx0aXBsZSwgdXBkYXRlX2hlYWRfb2ssIHZlcmJvc2l0eSwgZGVlcGVuX3JlbGF0aXZlOwotc3RhdGljIGludCBwcm9ncmVzcyA9IC0xLCByZWN1cnNlX3N1Ym1vZHVsZXMgPSBSRUNVUlNFX1NVQk1PRFVMRVNfREVGQVVMVDsKK3N0YXRpYyBpbnQgcHJvZ3Jlc3MgPSAtMTsKIHN0YXRpYyBpbnQgdGFncyA9IFRBR1NfREVGQVVMVCwgdW5zaGFsbG93LCB1cGRhdGVfc2hhbGxvdywgZGVlcGVuOwotc3RhdGljIGludCBtYXhfY2hpbGRyZW4gPSAtMTsKK3N0YXRpYyBpbnQgbWF4X2NoaWxkcmVuID0gMTsKIHN0YXRpYyBlbnVtIHRyYW5zcG9ydF9mYW1pbHkgZmFtaWx5Owogc3RhdGljIGNvbnN0IGNoYXIgKmRlcHRoOwogc3RhdGljIGNvbnN0IGNoYXIgKmRlZXBlbl9zaW5jZTsKQEAgLTQ4LDM0ICs1MCw0OSBAQAogc3RhdGljIHN0cnVjdCB0cmFuc3BvcnQgKmd0cmFuc3BvcnQ7CiBzdGF0aWMgc3RydWN0IHRyYW5zcG9ydCAqZ3NlY29uZGFyeTsKIHN0YXRpYyBjb25zdCBjaGFyICpzdWJtb2R1bGVfcHJlZml4ID0gIiI7Ci1zdGF0aWMgY29uc3QgY2hhciAqcmVjdXJzZV9zdWJtb2R1bGVzX2RlZmF1bHQ7CitzdGF0aWMgaW50IHJlY3Vyc2Vfc3VibW9kdWxlcyA9IFJFQ1VSU0VfU1VCTU9EVUxFU19ERUZBVUxUOworc3RhdGljIGludCByZWN1cnNlX3N1Ym1vZHVsZXNfZGVmYXVsdCA9IFJFQ1VSU0VfU1VCTU9EVUxFU19PTl9ERU1BTkQ7CiBzdGF0aWMgaW50IHNob3duX3VybCA9IDA7CiBzdGF0aWMgaW50IHJlZm1hcF9hbGxvYywgcmVmbWFwX25yOwogc3RhdGljIGNvbnN0IGNoYXIgKipyZWZtYXBfYXJyYXk7CiAKLXN0YXRpYyBpbnQgb3B0aW9uX3BhcnNlX3JlY3Vyc2Vfc3VibW9kdWxlcyhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCi0JCQkJICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCi17Ci0JaWYgKHVuc2V0KSB7Ci0JCXJlY3Vyc2Vfc3VibW9kdWxlcyA9IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkY7Ci0JfSBlbHNlIHsKLQkJaWYgKGFyZykKLQkJCXJlY3Vyc2Vfc3VibW9kdWxlcyA9IHBhcnNlX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcob3B0LT5sb25nX25hbWUsIGFyZyk7Ci0JCWVsc2UKLQkJCXJlY3Vyc2Vfc3VibW9kdWxlcyA9IFJFQ1VSU0VfU1VCTU9EVUxFU19PTjsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgZ2l0X2ZldGNoX2NvbmZpZyhjb25zdCBjaGFyICprLCBjb25zdCBjaGFyICp2LCB2b2lkICpjYikKIHsKIAlpZiAoIXN0cmNtcChrLCAiZmV0Y2gucHJ1bmUiKSkgewogCQlmZXRjaF9wcnVuZV9jb25maWcgPSBnaXRfY29uZmlnX2Jvb2woaywgdik7CiAJCXJldHVybiAwOwogCX0KKworCWlmICghc3RyY21wKGssICJzdWJtb2R1bGUucmVjdXJzZSIpKSB7CisJCWludCByID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpID8KKwkJCVJFQ1VSU0VfU1VCTU9EVUxFU19PTiA6IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkY7CisJCXJlY3Vyc2Vfc3VibW9kdWxlcyA9IHI7CisJfQorCisJaWYgKCFzdHJjbXAoaywgInN1Ym1vZHVsZS5mZXRjaGpvYnMiKSkgeworCQltYXhfY2hpbGRyZW4gPSBwYXJzZV9zdWJtb2R1bGVfZmV0Y2hqb2JzKGssIHYpOworCQlyZXR1cm4gMDsKKwl9IGVsc2UgaWYgKCFzdHJjbXAoaywgImZldGNoLnJlY3Vyc2VzdWJtb2R1bGVzIikpIHsKKwkJcmVjdXJzZV9zdWJtb2R1bGVzID0gcGFyc2VfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzX2FyZyhrLCB2KTsKKwkJcmV0dXJuIDA7CisJfQorCiAJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyhrLCB2LCBjYik7CiB9CiAKK3N0YXRpYyBpbnQgZ2l0bW9kdWxlc19mZXRjaF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCit7CisJaWYgKCFzdHJjbXAodmFyLCAic3VibW9kdWxlLmZldGNoam9icyIpKSB7CisJCW1heF9jaGlsZHJlbiA9IHBhcnNlX3N1Ym1vZHVsZV9mZXRjaGpvYnModmFyLCB2YWx1ZSk7CisJCXJldHVybiAwOworCX0gZWxzZSBpZiAoIXN0cmNtcCh2YXIsICJmZXRjaC5yZWN1cnNlc3VibW9kdWxlcyIpKSB7CisJCXJlY3Vyc2Vfc3VibW9kdWxlcyA9IHBhcnNlX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcodmFyLCB2YWx1ZSk7CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHBhcnNlX3JlZm1hcF9hcmcoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKIHsKIAlBTExPQ19HUk9XKHJlZm1hcF9hcnJheSwgcmVmbWFwX25yICsgMSwgcmVmbWFwX2FsbG9jKTsKQEAgLTEwOCw5ICsxMjUsOSBAQAogCQkgICAgTl8oIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiKSksCiAJT1BUX0JPT0woJ3AnLCAicHJ1bmUiLCAmcHJ1bmUsCiAJCSBOXygicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiKSksCi0JeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCBOVUxMLCBOXygib24tZGVtYW5kIiksCisJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCAmcmVjdXJzZV9zdWJtb2R1bGVzLCBOXygib24tZGVtYW5kIiksCiAJCSAgICBOXygiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIpLAotCQkgICAgUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX3BhcnNlX3JlY3Vyc2Vfc3VibW9kdWxlcyB9LAorCQkgICAgUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX2ZldGNoX3BhcnNlX3JlY3Vyc2Vfc3VibW9kdWxlcyB9LAogCU9QVF9CT09MKDAsICJkcnktcnVuIiwgJmRyeV9ydW4sCiAJCSBOXygiZHJ5IHJ1biIpKSwKIAlPUFRfQk9PTCgnaycsICJrZWVwIiwgJmtlZXAsIE5fKCJrZWVwIGRvd25sb2FkZWQgcGFjayIpKSwKQEAgLTEzMCw5ICsxNDcsMTEgQEAKIAkJICAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX05PQVJHLCBOVUxMLCAxIH0sCiAJeyBPUFRJT05fU1RSSU5HLCAwLCAic3VibW9kdWxlLXByZWZpeCIsICZzdWJtb2R1bGVfcHJlZml4LCBOXygiZGlyIiksCiAJCSAgIE5fKCJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IiksIFBBUlNFX09QVF9ISURERU4gfSwKLQl7IE9QVElPTl9TVFJJTkcsIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMtZGVmYXVsdCIsCi0JCSAgICZyZWN1cnNlX3N1Ym1vZHVsZXNfZGVmYXVsdCwgTlVMTCwKLQkJICAgTl8oImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIiksIFBBUlNFX09QVF9ISURERU4gfSwKKwl7IE9QVElPTl9DQUxMQkFDSywgMCwgInJlY3Vyc2Utc3VibW9kdWxlcy1kZWZhdWx0IiwKKwkJICAgJnJlY3Vyc2Vfc3VibW9kdWxlc19kZWZhdWx0LCBOXygib24tZGVtYW5kIiksCisJCSAgIE5fKCJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAiCisJCSAgICAgICIobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgZmlsZXMpIiksCisJCSAgIFBBUlNFX09QVF9ISURERU4sIG9wdGlvbl9mZXRjaF9wYXJzZV9yZWN1cnNlX3N1Ym1vZHVsZXMgfSwKIAlPUFRfQk9PTCgwLCAidXBkYXRlLXNoYWxsb3ciLCAmdXBkYXRlX3NoYWxsb3csCiAJCSBOXygiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IikpLAogCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAicmVmbWFwIiwgTlVMTCwgTl8oInJlZm1hcCIpLApAQCAtMjQyLDkgKzI2MSwxMSBAQAogCQkgKi8KIAkJaWYgKGVuZHNfd2l0aChyZWYtPm5hbWUsICJee30iKSkgewogCQkJaWYgKGl0ZW0gJiYKLQkJCSAgICAhaGFzX29iamVjdF9maWxlX3dpdGhfZmxhZ3MoJnJlZi0+b2xkX29pZCwgSEFTX1NIQTFfUVVJQ0spICYmCisJCQkgICAgIWhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKCZyZWYtPm9sZF9vaWQsCisJCQkJCQkJT0JKRUNUX0lORk9fUVVJQ0spICYmCiAJCQkgICAgIXdpbGxfZmV0Y2goaGVhZCwgcmVmLT5vbGRfb2lkLmhhc2gpICYmCi0JCQkgICAgIWhhc19zaGExX2ZpbGVfd2l0aF9mbGFncyhpdGVtLT51dGlsLCBIQVNfU0hBMV9RVUlDSykgJiYKKwkJCSAgICAhaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKGl0ZW0tPnV0aWwsCisJCQkJCQkgICAgICBPQkpFQ1RfSU5GT19RVUlDSykgJiYKIAkJCSAgICAhd2lsbF9mZXRjaChoZWFkLCBpdGVtLT51dGlsKSkKIAkJCQlpdGVtLT51dGlsID0gTlVMTDsKIAkJCWl0ZW0gPSBOVUxMOwpAQCAtMjU4LDcgKzI3OSw3IEBACiAJCSAqIGZldGNoLgogCQkgKi8KIAkJaWYgKGl0ZW0gJiYKLQkJICAgICFoYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3MoaXRlbS0+dXRpbCwgSEFTX1NIQTFfUVVJQ0spICYmCisJCSAgICAhaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKGl0ZW0tPnV0aWwsIE9CSkVDVF9JTkZPX1FVSUNLKSAmJgogCQkgICAgIXdpbGxfZmV0Y2goaGVhZCwgaXRlbS0+dXRpbCkpCiAJCQlpdGVtLT51dGlsID0gTlVMTDsKIApAQCAtMjc5LDcgKzMwMCw3IEBACiAJICogY2hlY2tlZCB0byBzZWUgaWYgaXQgbmVlZHMgZmV0Y2hpbmcuCiAJICovCiAJaWYgKGl0ZW0gJiYKLQkgICAgIWhhc19zaGExX2ZpbGVfd2l0aF9mbGFncyhpdGVtLT51dGlsLCBIQVNfU0hBMV9RVUlDSykgJiYKKwkgICAgIWhhc19zaGExX2ZpbGVfd2l0aF9mbGFncyhpdGVtLT51dGlsLCBPQkpFQ1RfSU5GT19RVUlDSykgJiYKIAkgICAgIXdpbGxfZmV0Y2goaGVhZCwgaXRlbS0+dXRpbCkpCiAJCWl0ZW0tPnV0aWwgPSBOVUxMOwogCkBAIC00MjEsNyArNDQyLDcgQEAKIAkJCXN0cnVjdCByZWYgKnJlZiwKIAkJCWludCBjaGVja19vbGQpCiB7Ci0JY2hhciBtc2dbMTAyNF07CisJY2hhciAqbXNnOwogCWNoYXIgKnJsYSA9IGdldGVudigiR0lUX1JFRkxPR19BQ1RJT04iKTsKIAlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbjsKIAlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOwpAQCAtNDMxLDcgKzQ1Miw3IEBACiAJCXJldHVybiAwOwogCWlmICghcmxhKQogCQlybGEgPSBkZWZhdWx0X3JsYS5idWY7Ci0Jc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzOiAlcyIsIHJsYSwgYWN0aW9uKTsKKwltc2cgPSB4c3RyZm10KCIlczogJXMiLCBybGEsIGFjdGlvbik7CiAKIAl0cmFuc2FjdGlvbiA9IHJlZl90cmFuc2FjdGlvbl9iZWdpbigmZXJyKTsKIAlpZiAoIXRyYW5zYWN0aW9uIHx8CkBAIC00NDksMTEgKzQ3MCwxMyBAQAogCiAJcmVmX3RyYW5zYWN0aW9uX2ZyZWUodHJhbnNhY3Rpb24pOwogCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOworCWZyZWUobXNnKTsKIAlyZXR1cm4gMDsKIGZhaWw6CiAJcmVmX3RyYW5zYWN0aW9uX2ZyZWUodHJhbnNhY3Rpb24pOwogCWVycm9yKCIlcyIsIGVyci5idWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOworCWZyZWUobXNnKTsKIAlyZXR1cm4gZGZfY29uZmxpY3QgPyBTVE9SRV9SRUZfRVJST1JfREZfQ09ORkxJQ1QKIAkJCSAgIDogU1RPUkVfUkVGX0VSUk9SX09USEVSOwogfQpAQCAtNjM0LDggKzY1Nyw4IEBACiAJCXJldHVybiByOwogCX0KIAotCWN1cnJlbnQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmVmLT5vbGRfb2lkLmhhc2gsIDEpOwotCXVwZGF0ZWQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmVmLT5uZXdfb2lkLmhhc2gsIDEpOworCWN1cnJlbnQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoJnJlZi0+b2xkX29pZCwgMSk7CisJdXBkYXRlZCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSgmcmVmLT5uZXdfb2lkLCAxKTsKIAlpZiAoIWN1cnJlbnQgfHwgIXVwZGF0ZWQpIHsKIAkJY29uc3QgY2hhciAqbXNnOwogCQljb25zdCBjaGFyICp3aGF0OwpAQCAtNjU5LDcgKzY4Miw3IEBACiAKIAkJaWYgKChyZWN1cnNlX3N1Ym1vZHVsZXMgIT0gUkVDVVJTRV9TVUJNT0RVTEVTX09GRikgJiYKIAkJICAgIChyZWN1cnNlX3N1Ym1vZHVsZXMgIT0gUkVDVVJTRV9TVUJNT0RVTEVTX09OKSkKLQkJCWNoZWNrX2Zvcl9uZXdfc3VibW9kdWxlX2NvbW1pdHMocmVmLT5uZXdfb2lkLmhhc2gpOworCQkJY2hlY2tfZm9yX25ld19zdWJtb2R1bGVfY29tbWl0cygmcmVmLT5uZXdfb2lkKTsKIAkJciA9IHNfdXBkYXRlX3JlZihtc2csIHJlZiwgMCk7CiAJCWZvcm1hdF9kaXNwbGF5KGRpc3BsYXksIHIgPyAnIScgOiAnKicsIHdoYXQsCiAJCQkgICAgICAgciA/IF8oInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIikgOiBOVUxMLApAQCAtNjc1LDcgKzY5OCw3IEBACiAJCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldigmcXVpY2tyZWYsIHJlZi0+bmV3X29pZC5oYXNoLCBERUZBVUxUX0FCQlJFVik7CiAJCWlmICgocmVjdXJzZV9zdWJtb2R1bGVzICE9IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkYpICYmCiAJCSAgICAocmVjdXJzZV9zdWJtb2R1bGVzICE9IFJFQ1VSU0VfU1VCTU9EVUxFU19PTikpCi0JCQljaGVja19mb3JfbmV3X3N1Ym1vZHVsZV9jb21taXRzKHJlZi0+bmV3X29pZC5oYXNoKTsKKwkJCWNoZWNrX2Zvcl9uZXdfc3VibW9kdWxlX2NvbW1pdHMoJnJlZi0+bmV3X29pZCk7CiAJCXIgPSBzX3VwZGF0ZV9yZWYoImZhc3QtZm9yd2FyZCIsIHJlZiwgMSk7CiAJCWZvcm1hdF9kaXNwbGF5KGRpc3BsYXksIHIgPyAnIScgOiAnICcsIHF1aWNrcmVmLmJ1ZiwKIAkJCSAgICAgICByID8gXygidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiKSA6IE5VTEwsCkBAIC02OTAsNyArNzEzLDcgQEAKIAkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KCZxdWlja3JlZiwgcmVmLT5uZXdfb2lkLmhhc2gsIERFRkFVTFRfQUJCUkVWKTsKIAkJaWYgKChyZWN1cnNlX3N1Ym1vZHVsZXMgIT0gUkVDVVJTRV9TVUJNT0RVTEVTX09GRikgJiYKIAkJICAgIChyZWN1cnNlX3N1Ym1vZHVsZXMgIT0gUkVDVVJTRV9TVUJNT0RVTEVTX09OKSkKLQkJCWNoZWNrX2Zvcl9uZXdfc3VibW9kdWxlX2NvbW1pdHMocmVmLT5uZXdfb2lkLmhhc2gpOworCQkJY2hlY2tfZm9yX25ld19zdWJtb2R1bGVfY29tbWl0cygmcmVmLT5uZXdfb2lkKTsKIAkJciA9IHNfdXBkYXRlX3JlZigiZm9yY2VkLXVwZGF0ZSIsIHJlZiwgMSk7CiAJCWZvcm1hdF9kaXNwbGF5KGRpc3BsYXksIHIgPyAnIScgOiAnKycsIHF1aWNrcmVmLmJ1ZiwKIAkJCSAgICAgICByID8gXygidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiKSA6IF8oImZvcmNlZCB1cGRhdGUiKSwKQEAgLTc2OCw3ICs3OTEsOCBAQAogCQkJCWNvbnRpbnVlOwogCQkJfQogCi0JCQljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocm0tPm9sZF9vaWQuaGFzaCwgMSk7CisJCQljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoJnJtLT5vbGRfb2lkLAorCQkJCQkJCQkxKTsKIAkJCWlmICghY29tbWl0KQogCQkJCXJtLT5mZXRjaF9oZWFkX3N0YXR1cyA9IEZFVENIX0hFQURfTk9UX0ZPUl9NRVJHRTsKIApAQCAtOTM4LDcgKzk2Miw3IEBACiAJCWZvciAocmVmID0gc3RhbGVfcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpCiAJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJlZm5hbWVzLCByZWYtPm5hbWUpOwogCi0JCXJlc3VsdCA9IGRlbGV0ZV9yZWZzKCZyZWZuYW1lcywgMCk7CisJCXJlc3VsdCA9IGRlbGV0ZV9yZWZzKCJmZXRjaDogcHJ1bmUiLCAmcmVmbmFtZXMsIDApOwogCQlzdHJpbmdfbGlzdF9jbGVhcigmcmVmbmFtZXMsIDApOwogCX0KIApAQCAtMTMwOSw2ICsxMzMzLDcgQEAKIAlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQogCQlzdHJidWZfYWRkZigmZGVmYXVsdF9ybGEsICIgJXMiLCBhcmd2W2ldKTsKIAorCWNvbmZpZ19mcm9tX2dpdG1vZHVsZXMoZ2l0bW9kdWxlc19mZXRjaF9jb25maWcsIE5VTEwpOwogCWdpdF9jb25maWcoZ2l0X2ZldGNoX2NvbmZpZywgTlVMTCk7CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsCkBAIC0xMzM2LDE1ICsxMzYxLDYgQEAKIAlpZiAoZGVwdGggfHwgZGVlcGVuX3NpbmNlIHx8IGRlZXBlbl9ub3QubnIpCiAJCWRlZXBlbiA9IDE7CiAKLQlpZiAocmVjdXJzZV9zdWJtb2R1bGVzICE9IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkYpIHsKLQkJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlc19kZWZhdWx0KSB7Ci0JCQlpbnQgYXJnID0gcGFyc2VfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzX2FyZygiLS1yZWN1cnNlLXN1Ym1vZHVsZXMtZGVmYXVsdCIsIHJlY3Vyc2Vfc3VibW9kdWxlc19kZWZhdWx0KTsKLQkJCXNldF9jb25maWdfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzKGFyZyk7Ci0JCX0KLQkJZ2l0bW9kdWxlc19jb25maWcoKTsKLQkJZ2l0X2NvbmZpZyhzdWJtb2R1bGVfY29uZmlnLCBOVUxMKTsKLQl9Ci0KIAlpZiAoYWxsKSB7CiAJCWlmIChhcmdjID09IDEpCiAJCQlkaWUoXygiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiKSk7CkBAIC0xMzg0LDYgKzE0MDAsNyBAQAogCQlyZXN1bHQgPSBmZXRjaF9wb3B1bGF0ZWRfc3VibW9kdWxlcygmb3B0aW9ucywKIAkJCQkJCSAgICBzdWJtb2R1bGVfcHJlZml4LAogCQkJCQkJICAgIHJlY3Vyc2Vfc3VibW9kdWxlcywKKwkJCQkJCSAgICByZWN1cnNlX3N1Ym1vZHVsZXNfZGVmYXVsdCwKIAkJCQkJCSAgICB2ZXJib3NpdHkgPCAwLAogCQkJCQkJICAgIG1heF9jaGlsZHJlbik7CiAJCWFyZ3ZfYXJyYXlfY2xlYXIoJm9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmMgYi9idWlsdGluL2ZtdC1tZXJnZS1tc2cuYwppbmRleCBlZmFiNjJmLi5lOTliNWRkIDEwMDY0NAotLS0gYS9idWlsdGluL2ZtdC1tZXJnZS1tc2cuYworKysgYi9idWlsdGluL2ZtdC1tZXJnZS1tc2cuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAiZGlmZi5oIgpAQCAtNDEsNyArNDIsNyBAQAogfTsKIAogc3RydWN0IG9yaWdpbl9kYXRhIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXVuc2lnbmVkIGlzX2xvY2FsX2JyYW5jaDoxOwogfTsKIApAQCAtNTksOCArNjAsOCBAQAogc3RydWN0IG1lcmdlX3BhcmVudHMgewogCWludCBhbGxvYywgbnI7CiAJc3RydWN0IG1lcmdlX3BhcmVudCB7Ci0JCXVuc2lnbmVkIGNoYXIgZ2l2ZW5bMjBdOwotCQl1bnNpZ25lZCBjaGFyIGNvbW1pdFsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgZ2l2ZW47CisJCXN0cnVjdCBvYmplY3RfaWQgY29tbWl0OwogCQl1bnNpZ25lZCBjaGFyIHVzZWQ7CiAJfSAqaXRlbTsKIH07CkBAIC03MCwxNCArNzEsMTQgQEAKICAqIGh1bmRyZWRzIG9mIGhlYWRzIGF0IGEgdGltZSBhbnl3YXkuCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgbWVyZ2VfcGFyZW50ICpmaW5kX21lcmdlX3BhcmVudChzdHJ1Y3QgbWVyZ2VfcGFyZW50cyAqdGFibGUsCi0JCQkJCSAgICAgIHVuc2lnbmVkIGNoYXIgKmdpdmVuLAotCQkJCQkgICAgICB1bnNpZ25lZCBjaGFyICpjb21taXQpCisJCQkJCSAgICAgIHN0cnVjdCBvYmplY3RfaWQgKmdpdmVuLAorCQkJCQkgICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXQpCiB7CiAJaW50IGk7CiAJZm9yIChpID0gMDsgaSA8IHRhYmxlLT5ucjsgaSsrKSB7Ci0JCWlmIChnaXZlbiAmJiBoYXNoY21wKHRhYmxlLT5pdGVtW2ldLmdpdmVuLCBnaXZlbikpCisJCWlmIChnaXZlbiAmJiBvaWRjbXAoJnRhYmxlLT5pdGVtW2ldLmdpdmVuLCBnaXZlbikpCiAJCQljb250aW51ZTsKLQkJaWYgKGNvbW1pdCAmJiBoYXNoY21wKHRhYmxlLT5pdGVtW2ldLmNvbW1pdCwgY29tbWl0KSkKKwkJaWYgKGNvbW1pdCAmJiBvaWRjbXAoJnRhYmxlLT5pdGVtW2ldLmNvbW1pdCwgY29tbWl0KSkKIAkJCWNvbnRpbnVlOwogCQlyZXR1cm4gJnRhYmxlLT5pdGVtW2ldOwogCX0KQEAgLTg1LDE0ICs4NiwxNCBAQAogfQogCiBzdGF0aWMgdm9pZCBhZGRfbWVyZ2VfcGFyZW50KHN0cnVjdCBtZXJnZV9wYXJlbnRzICp0YWJsZSwKLQkJCSAgICAgdW5zaWduZWQgY2hhciAqZ2l2ZW4sCi0JCQkgICAgIHVuc2lnbmVkIGNoYXIgKmNvbW1pdCkKKwkJCSAgICAgc3RydWN0IG9iamVjdF9pZCAqZ2l2ZW4sCisJCQkgICAgIHN0cnVjdCBvYmplY3RfaWQgKmNvbW1pdCkKIHsKIAlpZiAodGFibGUtPm5yICYmIGZpbmRfbWVyZ2VfcGFyZW50KHRhYmxlLCBnaXZlbiwgY29tbWl0KSkKIAkJcmV0dXJuOwogCUFMTE9DX0dST1codGFibGUtPml0ZW0sIHRhYmxlLT5uciArIDEsIHRhYmxlLT5hbGxvYyk7Ci0JaGFzaGNweSh0YWJsZS0+aXRlbVt0YWJsZS0+bnJdLmdpdmVuLCBnaXZlbik7Ci0JaGFzaGNweSh0YWJsZS0+aXRlbVt0YWJsZS0+bnJdLmNvbW1pdCwgY29tbWl0KTsKKwlvaWRjcHkoJnRhYmxlLT5pdGVtW3RhYmxlLT5ucl0uZ2l2ZW4sIGdpdmVuKTsKKwlvaWRjcHkoJnRhYmxlLT5pdGVtW3RhYmxlLT5ucl0uY29tbWl0LCBjb21taXQpOwogCXRhYmxlLT5pdGVtW3RhYmxlLT5ucl0udXNlZCA9IDA7CiAJdGFibGUtPm5yKys7CiB9CkBAIC0xMDYsMzAgKzEwNywzMCBAQAogCXN0cnVjdCBzcmNfZGF0YSAqc3JjX2RhdGE7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJaW50IHB1bGxpbmdfaGVhZCA9IDA7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAotCWlmIChsZW4gPCA0MyB8fCBsaW5lWzQwXSAhPSAnXHQnKQorCWlmIChsZW4gPCBHSVRfU0hBMV9IRVhTWiArIDMgfHwgbGluZVtHSVRfU0hBMV9IRVhTWl0gIT0gJ1x0JykKIAkJcmV0dXJuIDE7CiAKLQlpZiAoc3RhcnRzX3dpdGgobGluZSArIDQxLCAibm90LWZvci1tZXJnZSIpKQorCWlmIChzdGFydHNfd2l0aChsaW5lICsgR0lUX1NIQTFfSEVYU1ogKyAxLCAibm90LWZvci1tZXJnZSIpKQogCQlyZXR1cm4gMDsKIAotCWlmIChsaW5lWzQxXSAhPSAnXHQnKQorCWlmIChsaW5lW0dJVF9TSEExX0hFWFNaICsgMV0gIT0gJ1x0JykKIAkJcmV0dXJuIDI7CiAKLQlpID0gZ2V0X3NoYTFfaGV4KGxpbmUsIHNoYTEpOworCWkgPSBnZXRfb2lkX2hleChsaW5lLCAmb2lkKTsKIAlpZiAoaSkKIAkJcmV0dXJuIDM7CiAKLQlpZiAoIWZpbmRfbWVyZ2VfcGFyZW50KG1lcmdlX3BhcmVudHMsIHNoYTEsIE5VTEwpKQorCWlmICghZmluZF9tZXJnZV9wYXJlbnQobWVyZ2VfcGFyZW50cywgJm9pZCwgTlVMTCkpCiAJCXJldHVybiAwOyAvKiBzdWJzdW1lZCBieSBvdGhlciBwYXJlbnRzICovCiAKIAlvcmlnaW5fZGF0YSA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBvcmlnaW5fZGF0YSkpOwotCWhhc2hjcHkob3JpZ2luX2RhdGEtPnNoYTEsIHNoYTEpOworCW9pZGNweSgmb3JpZ2luX2RhdGEtPm9pZCwgJm9pZCk7CiAKIAlpZiAobGluZVtsZW4gLSAxXSA9PSAnXG4nKQogCQlsaW5lW2xlbiAtIDFdID0gMDsKLQlsaW5lICs9IDQyOworCWxpbmUgKz0gR0lUX1NIQTFfSEVYU1ogKyAyOwogCiAJLyoKIAkgKiBBdCB0aGlzIHBvaW50LCBsaW5lIHBvaW50cyBhdCB0aGUgYmVnaW5uaW5nIG9mIGNvbW1lbnQgZS5nLgpAQCAtMzM4LDEwICszMzksMTAgQEAKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgY29tbWl0dGVycyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCWludCBmbGFncyA9IFVOSU5URVJFU1RJTkcgfCBUUkVFU0FNRSB8IFNFRU4gfCBTSE9XTiB8IEFEREVEOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0gb3JpZ2luX2RhdGEtPnNoYTE7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkID0gJm9yaWdpbl9kYXRhLT5vaWQ7CiAJaW50IGxpbWl0ID0gb3B0cy0+c2hvcnRsb2dfbGVuOwogCi0JYnJhbmNoID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChzaGExKSwgc2hhMV90b19oZXgoc2hhMSksIDQwKTsKKwlicmFuY2ggPSBkZXJlZl90YWcocGFyc2Vfb2JqZWN0KG9pZCksIG9pZF90b19oZXgob2lkKSwgR0lUX1NIQTFfSEVYU1opOwogCWlmICghYnJhbmNoIHx8IGJyYW5jaC0+dHlwZSAhPSBPQkpfQ09NTUlUKQogCQlyZXR1cm47CiAKQEAgLTQwNyw3ICs0MDgsOCBAQAogfQogCiBzdGF0aWMgdm9pZCBmbXRfbWVyZ2VfbXNnX3RpdGxlKHN0cnVjdCBzdHJidWYgKm91dCwKLQljb25zdCBjaGFyICpjdXJyZW50X2JyYW5jaCkgeworCQkJCWNvbnN0IGNoYXIgKmN1cnJlbnRfYnJhbmNoKQorewogCWludCBpID0gMDsKIAljaGFyICpzZXAgPSAiIjsKIApAQCAtNTMxLDcgKzUzMyw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIGZpbmRfbWVyZ2VfcGFyZW50cyhzdHJ1Y3QgbWVyZ2VfcGFyZW50cyAqcmVzdWx0LAotCQkJICAgICAgIHN0cnVjdCBzdHJidWYgKmluLCB1bnNpZ25lZCBjaGFyICpoZWFkKQorCQkJICAgICAgIHN0cnVjdCBzdHJidWYgKmluLCBzdHJ1Y3Qgb2JqZWN0X2lkICpoZWFkKQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50czsKIAlzdHJ1Y3QgY29tbWl0ICpoZWFkX2NvbW1pdDsKQEAgLTU0MiwyOSArNTQ0LDI5IEBACiAJCWludCBsZW47CiAJCWNoYXIgKnAgPSBpbi0+YnVmICsgcG9zOwogCQljaGFyICpuZXdsaW5lID0gc3RyY2hyKHAsICdcbicpOwotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJc3RydWN0IGNvbW1pdCAqcGFyZW50OwogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiAKIAkJbGVuID0gbmV3bGluZSA/IG5ld2xpbmUgLSBwIDogc3RybGVuKHApOwogCQlwb3MgKz0gbGVuICsgISFuZXdsaW5lOwogCi0JCWlmIChsZW4gPCA0MyB8fAotCQkgICAgZ2V0X3NoYTFfaGV4KHAsIHNoYTEpIHx8Ci0JCSAgICBwWzQwXSAhPSAnXHQnIHx8Ci0JCSAgICBwWzQxXSAhPSAnXHQnKQorCQlpZiAobGVuIDwgR0lUX1NIQTFfSEVYU1ogKyAzIHx8CisJCSAgICBnZXRfb2lkX2hleChwLCAmb2lkKSB8fAorCQkgICAgcFtHSVRfU0hBMV9IRVhTWl0gIT0gJ1x0JyB8fAorCQkgICAgcFtHSVRfU0hBMV9IRVhTWiArIDFdICE9ICdcdCcpCiAJCQljb250aW51ZTsgLyogc2tpcCBub3QtZm9yLW1lcmdlICovCiAJCS8qCiAJCSAqIERvIG5vdCB1c2UgZ2V0X21lcmdlX3BhcmVudCgpIGhlcmU7IHdlIGRvIG5vdCBoYXZlCiAJCSAqICJuYW1lIiBoZXJlIGFuZCB3ZSBkbyBub3Qgd2FudCB0byBjb250YW1pbmF0ZSBpdHMKIAkJICogdXRpbCBmaWVsZCB5ZXQuCiAJCSAqLwotCQlvYmogPSBwYXJzZV9vYmplY3Qoc2hhMSk7CisJCW9iaiA9IHBhcnNlX29iamVjdCgmb2lkKTsKIAkJcGFyZW50ID0gKHN0cnVjdCBjb21taXQgKilwZWVsX3RvX3R5cGUoTlVMTCwgMCwgb2JqLCBPQkpfQ09NTUlUKTsKIAkJaWYgKCFwYXJlbnQpCiAJCQljb250aW51ZTsKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KHBhcmVudCwgJnBhcmVudHMpOwotCQlhZGRfbWVyZ2VfcGFyZW50KHJlc3VsdCwgb2JqLT5vaWQuaGFzaCwgcGFyZW50LT5vYmplY3Qub2lkLmhhc2gpOworCQlhZGRfbWVyZ2VfcGFyZW50KHJlc3VsdCwgJm9iai0+b2lkLCAmcGFyZW50LT5vYmplY3Qub2lkKTsKIAl9CiAJaGVhZF9jb21taXQgPSBsb29rdXBfY29tbWl0KGhlYWQpOwogCWlmIChoZWFkX2NvbW1pdCkKQEAgLTU3NCw3ICs1NzYsNyBAQAogCXdoaWxlIChwYXJlbnRzKSB7CiAJCXN0cnVjdCBjb21taXQgKmNtaXQgPSBwb3BfY29tbWl0KCZwYXJlbnRzKTsKIAkJZm9yIChpID0gMDsgaSA8IHJlc3VsdC0+bnI7IGkrKykKLQkJCWlmICghaGFzaGNtcChyZXN1bHQtPml0ZW1baV0uY29tbWl0LCBjbWl0LT5vYmplY3Qub2lkLmhhc2gpKQorCQkJaWYgKCFvaWRjbXAoJnJlc3VsdC0+aXRlbVtpXS5jb21taXQsICZjbWl0LT5vYmplY3Qub2lkKSkKIAkJCQlyZXN1bHQtPml0ZW1baV0udXNlZCA9IDE7CiAJfQogCkBAIC01OTIsNyArNTk0LDcgQEAKIAkJICBzdHJ1Y3QgZm10X21lcmdlX21zZ19vcHRzICpvcHRzKQogewogCWludCBpID0gMCwgcG9zID0gMDsKLQl1bnNpZ25lZCBjaGFyIGhlYWRfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBoZWFkX29pZDsKIAljb25zdCBjaGFyICpjdXJyZW50X2JyYW5jaDsKIAl2b2lkICpjdXJyZW50X2JyYW5jaF90b19mcmVlOwogCXN0cnVjdCBtZXJnZV9wYXJlbnRzIG1lcmdlX3BhcmVudHM7CkBAIC02MDEsMTMgKzYwMywxMyBAQAogCiAJLyogZ2V0IGN1cnJlbnQgYnJhbmNoICovCiAJY3VycmVudF9icmFuY2ggPSBjdXJyZW50X2JyYW5jaF90b19mcmVlID0KLQkJcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBoZWFkX3NoYTEsIE5VTEwpOworCQlyZXNvbHZlX3JlZmR1cCgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsIGhlYWRfb2lkLmhhc2gsIE5VTEwpOwogCWlmICghY3VycmVudF9icmFuY2gpCiAJCWRpZSgiTm8gY3VycmVudCBicmFuY2giKTsKIAlpZiAoc3RhcnRzX3dpdGgoY3VycmVudF9icmFuY2gsICJyZWZzL2hlYWRzLyIpKQogCQljdXJyZW50X2JyYW5jaCArPSAxMTsKIAotCWZpbmRfbWVyZ2VfcGFyZW50cygmbWVyZ2VfcGFyZW50cywgaW4sIGhlYWRfc2hhMSk7CisJZmluZF9tZXJnZV9wYXJlbnRzKCZtZXJnZV9wYXJlbnRzLCBpbiwgJmhlYWRfb2lkKTsKIAogCS8qIGdldCBhIGxpbmUgKi8KIAl3aGlsZSAocG9zIDwgaW4tPmxlbikgewpAQCAtNjMzLDcgKzYzNSw3IEBACiAJCXN0cnVjdCBjb21taXQgKmhlYWQ7CiAJCXN0cnVjdCByZXZfaW5mbyByZXY7CiAKLQkJaGVhZCA9IGxvb2t1cF9jb21taXRfb3JfZGllKGhlYWRfc2hhMSwgIkhFQUQiKTsKKwkJaGVhZCA9IGxvb2t1cF9jb21taXRfb3JfZGllKCZoZWFkX29pZCwgIkhFQUQiKTsKIAkJaW5pdF9yZXZpc2lvbnMoJnJldiwgTlVMTCk7CiAJCXJldi5jb21taXRfZm9ybWF0ID0gQ01JVF9GTVRfT05FTElORTsKIAkJcmV2Lmlnbm9yZV9tZXJnZXMgPSAxOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9mb3ItZWFjaC1yZWYuYyBiL2J1aWx0aW4vZm9yLWVhY2gtcmVmLmMKaW5kZXggZGY0MWZhMC4uNWQ3YzkyMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mb3ItZWFjaC1yZWYuYworKysgYi9idWlsdGluL2Zvci1lYWNoLXJlZi5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJvYmplY3QuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCkBAIC04LDMzICs5LDMzIEBACiBzdGF0aWMgY2hhciBjb25zdCAqIGNvbnN0IGZvcl9lYWNoX3JlZl91c2FnZVtdID0gewogCU5fKCJnaXQgZm9yLWVhY2gtcmVmIFs8b3B0aW9ucz5dIFs8cGF0dGVybj5dIiksCiAJTl8oImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSIpLAotCU5fKCJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxvYmplY3Q+XV0iKSwKLQlOXygiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPG9iamVjdD5dXSIpLAorCU5fKCJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iKSwKKwlOXygiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPGNvbW1pdD5dXSBbLS1uby1jb250YWlucyBbPGNvbW1pdD5dXSIpLAogCU5VTEwKIH07CiAKIGludCBjbWRfZm9yX2VhY2hfcmVmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCBpOwotCWNvbnN0IGNoYXIgKmZvcm1hdCA9ICIlKG9iamVjdG5hbWUpICUob2JqZWN0dHlwZSlcdCUocmVmbmFtZSkiOwogCXN0cnVjdCByZWZfc29ydGluZyAqc29ydGluZyA9IE5VTEwsICoqc29ydGluZ190YWlsID0gJnNvcnRpbmc7Ci0JaW50IG1heGNvdW50ID0gMCwgcXVvdGVfc3R5bGUgPSAwLCBpY2FzZSA9IDA7CisJaW50IG1heGNvdW50ID0gMCwgaWNhc2UgPSAwOwogCXN0cnVjdCByZWZfYXJyYXkgYXJyYXk7CiAJc3RydWN0IHJlZl9maWx0ZXIgZmlsdGVyOworCXN0cnVjdCByZWZfZm9ybWF0IGZvcm1hdCA9IFJFRl9GT1JNQVRfSU5JVDsKIAogCXN0cnVjdCBvcHRpb24gb3B0c1tdID0gewotCQlPUFRfQklUKCdzJywgInNoZWxsIiwgJnF1b3RlX3N0eWxlLAorCQlPUFRfQklUKCdzJywgInNoZWxsIiwgJmZvcm1hdC5xdW90ZV9zdHlsZSwKIAkJCU5fKCJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIpLCBRVU9URV9TSEVMTCksCi0JCU9QVF9CSVQoJ3AnLCAicGVybCIsICAmcXVvdGVfc3R5bGUsCisJCU9QVF9CSVQoJ3AnLCAicGVybCIsICAmZm9ybWF0LnF1b3RlX3N0eWxlLAogCQkJTl8oInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcGVybCIpLCBRVU9URV9QRVJMKSwKLQkJT1BUX0JJVCgwICwgInB5dGhvbiIsICZxdW90ZV9zdHlsZSwKKwkJT1BUX0JJVCgwICwgInB5dGhvbiIsICZmb3JtYXQucXVvdGVfc3R5bGUsCiAJCQlOXygicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iKSwgUVVPVEVfUFlUSE9OKSwKLQkJT1BUX0JJVCgwICwgInRjbCIsICAmcXVvdGVfc3R5bGUsCisJCU9QVF9CSVQoMCAsICJ0Y2wiLCAgJmZvcm1hdC5xdW90ZV9zdHlsZSwKIAkJCU5fKCJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIFRjbCIpLCBRVU9URV9UQ0wpLAogCiAJCU9QVF9HUk9VUCgiIiksCiAJCU9QVF9JTlRFR0VSKCAwICwgImNvdW50IiwgJm1heGNvdW50LCBOXygic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiKSksCi0JCU9QVF9TVFJJTkcoICAwICwgImZvcm1hdCIsICZmb3JtYXQsIE5fKCJmb3JtYXQiKSwgTl8oImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiKSksCisJCU9QVF9TVFJJTkcoICAwICwgImZvcm1hdCIsICZmb3JtYXQuZm9ybWF0LCBOXygiZm9ybWF0IiksIE5fKCJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IikpLAogCQlPUFRfQ0FMTEJBQ0soMCAsICJzb3J0Iiwgc29ydGluZ190YWlsLCBOXygia2V5IiksCiAJCQkgICAgTl8oImZpZWxkIG5hbWUgdG8gc29ydCBvbiIpLCAmcGFyc2Vfb3B0X3JlZl9zb3J0aW5nKSwKIAkJT1BUX0NBTExCQUNLKDAsICJwb2ludHMtYXQiLCAmZmlsdGVyLnBvaW50c19hdCwKQEAgLTQzLDYgKzQ0LDcgQEAKIAkJT1BUX01FUkdFRCgmZmlsdGVyLCBOXygicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIpKSwKIAkJT1BUX05PX01FUkdFRCgmZmlsdGVyLCBOXygicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG5vdCBtZXJnZWQiKSksCiAJCU9QVF9DT05UQUlOUygmZmlsdGVyLndpdGhfY29tbWl0LCBOXygicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIpKSwKKwkJT1BUX05PX0NPTlRBSU5TKCZmaWx0ZXIubm9fY29tbWl0LCBOXygicHJpbnQgb25seSByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIpKSwKIAkJT1BUX0JPT0woMCwgImlnbm9yZS1jYXNlIiwgJmljYXNlLCBOXygic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIikpLAogCQlPUFRfRU5EKCksCiAJfTsKQEAgLTUwLDE2ICs1MiwyMCBAQAogCW1lbXNldCgmYXJyYXksIDAsIHNpemVvZihhcnJheSkpOwogCW1lbXNldCgmZmlsdGVyLCAwLCBzaXplb2YoZmlsdGVyKSk7CiAKKwlmb3JtYXQuZm9ybWF0ID0gIiUob2JqZWN0bmFtZSkgJShvYmplY3R0eXBlKVx0JShyZWZuYW1lKSI7CisKKwlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CisKIAlwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0cywgZm9yX2VhY2hfcmVmX3VzYWdlLCAwKTsKIAlpZiAobWF4Y291bnQgPCAwKSB7CiAJCWVycm9yKCJpbnZhbGlkIC0tY291bnQgYXJndW1lbnQ6IGAlZCciLCBtYXhjb3VudCk7CiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhmb3JfZWFjaF9yZWZfdXNhZ2UsIG9wdHMpOwogCX0KLQlpZiAoSEFTX01VTFRJX0JJVFMocXVvdGVfc3R5bGUpKSB7CisJaWYgKEhBU19NVUxUSV9CSVRTKGZvcm1hdC5xdW90ZV9zdHlsZSkpIHsKIAkJZXJyb3IoIm1vcmUgdGhhbiBvbmUgcXVvdGluZyBzdHlsZT8iKTsKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGZvcl9lYWNoX3JlZl91c2FnZSwgb3B0cyk7CiAJfQotCWlmICh2ZXJpZnlfcmVmX2Zvcm1hdChmb3JtYXQpKQorCWlmICh2ZXJpZnlfcmVmX2Zvcm1hdCgmZm9ybWF0KSkKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGZvcl9lYWNoX3JlZl91c2FnZSwgb3B0cyk7CiAKIAlpZiAoIXNvcnRpbmcpCkBAIC02Nyw5ICs3Myw2IEBACiAJc29ydGluZy0+aWdub3JlX2Nhc2UgPSBpY2FzZTsKIAlmaWx0ZXIuaWdub3JlX2Nhc2UgPSBpY2FzZTsKIAotCS8qIGZvciB3YXJuX2FtYmlndW91c19yZWZzICovCi0JZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwotCiAJZmlsdGVyLm5hbWVfcGF0dGVybnMgPSBhcmd2OwogCWZpbHRlci5tYXRjaF9hc19wYXRoID0gMTsKIAlmaWx0ZXJfcmVmcygmYXJyYXksICZmaWx0ZXIsIEZJTFRFUl9SRUZTX0FMTCB8IEZJTFRFUl9SRUZTX0lOQ0xVREVfQlJPS0VOKTsKQEAgLTc4LDcgKzgxLDcgQEAKIAlpZiAoIW1heGNvdW50IHx8IGFycmF5Lm5yIDwgbWF4Y291bnQpCiAJCW1heGNvdW50ID0gYXJyYXkubnI7CiAJZm9yIChpID0gMDsgaSA8IG1heGNvdW50OyBpKyspCi0JCXNob3dfcmVmX2FycmF5X2l0ZW0oYXJyYXkuaXRlbXNbaV0sIGZvcm1hdCwgcXVvdGVfc3R5bGUpOworCQlzaG93X3JlZl9hcnJheV9pdGVtKGFycmF5Lml0ZW1zW2ldLCAmZm9ybWF0KTsKIAlyZWZfYXJyYXlfY2xlYXIoJmFycmF5KTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vZnNjay5jIGIvYnVpbHRpbi9mc2NrLmMKaW5kZXggMWE1Y2FjYy4uNTZhZmU0MCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mc2NrLmMKKysrIGIvYnVpbHRpbi9mc2NrLmMKQEAgLTEsNSArMSw2IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAidHJlZS5oIgogI2luY2x1ZGUgImJsb2IuaCIKQEAgLTE0LDEwICsxNSwxMyBAQAogI2luY2x1ZGUgInByb2dyZXNzLmgiCiAjaW5jbHVkZSAic3RyZWFtaW5nLmgiCiAjaW5jbHVkZSAiZGVjb3JhdGUuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiAjZGVmaW5lIFJFQUNIQUJMRSAweDAwMDEKICNkZWZpbmUgU0VFTiAgICAgIDB4MDAwMgogI2RlZmluZSBIQVNfT0JKICAgMHgwMDA0CisvKiBUaGlzIGZsYWcgaXMgc2V0IGlmIHNvbWV0aGluZyBwb2ludHMgdG8gdGhpcyBvYmplY3QuICovCisjZGVmaW5lIFVTRUQgICAgICAweDAwMDgKIAogc3RhdGljIGludCBzaG93X3Jvb3Q7CiBzdGF0aWMgaW50IHNob3dfdGFnczsKQEAgLTE2NywxOCArMTcxLDcgQEAKIAogc3RhdGljIGludCB0cmF2ZXJzZV9vbmVfb2JqZWN0KHN0cnVjdCBvYmplY3QgKm9iaikKIHsKLQlpbnQgcmVzdWx0OwotCXN0cnVjdCB0cmVlICp0cmVlID0gTlVMTDsKLQotCWlmIChvYmotPnR5cGUgPT0gT0JKX1RSRUUpIHsKLQkJdHJlZSA9IChzdHJ1Y3QgdHJlZSAqKW9iajsKLQkJaWYgKHBhcnNlX3RyZWUodHJlZSkgPCAwKQotCQkJcmV0dXJuIDE7IC8qIGVycm9yIGFscmVhZHkgZGlzcGxheWVkICovCi0JfQotCXJlc3VsdCA9IGZzY2tfd2FsayhvYmosIG9iaiwgJmZzY2tfd2Fsa19vcHRpb25zKTsKLQlpZiAodHJlZSkKLQkJZnJlZV90cmVlX2J1ZmZlcih0cmVlKTsKLQlyZXR1cm4gcmVzdWx0OworCXJldHVybiBmc2NrX3dhbGsob2JqLCBvYmosICZmc2NrX3dhbGtfb3B0aW9ucyk7CiB9CiAKIHN0YXRpYyBpbnQgdHJhdmVyc2VfcmVhY2hhYmxlKHZvaWQpCkBAIC0xODcsMTQgKzE4MCw5IEBACiAJdW5zaWduZWQgaW50IG5yID0gMDsKIAlpbnQgcmVzdWx0ID0gMDsKIAlpZiAoc2hvd19wcm9ncmVzcykKLQkJcHJvZ3Jlc3MgPSBzdGFydF9wcm9ncmVzc19kZWxheShfKCJDaGVja2luZyBjb25uZWN0aXZpdHkiKSwgMCwgMCwgMik7CisJCXByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcyhfKCJDaGVja2luZyBjb25uZWN0aXZpdHkiKSwgMCk7CiAJd2hpbGUgKHBlbmRpbmcubnIpIHsKLQkJc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqZW50cnk7Ci0JCXN0cnVjdCBvYmplY3QgKm9iajsKLQotCQllbnRyeSA9IHBlbmRpbmcub2JqZWN0cyArIC0tcGVuZGluZy5ucjsKLQkJb2JqID0gZW50cnktPml0ZW07Ci0JCXJlc3VsdCB8PSB0cmF2ZXJzZV9vbmVfb2JqZWN0KG9iaik7CisJCXJlc3VsdCB8PSB0cmF2ZXJzZV9vbmVfb2JqZWN0KG9iamVjdF9hcnJheV9wb3AoJnBlbmRpbmcpKTsKIAkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgKytucik7CiAJfQogCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKQEAgLTIwNSw3ICsxOTMsNyBAQAogewogCWlmICghb2JqKQogCQlyZXR1cm4gMTsKLQlvYmotPnVzZWQgPSAxOworCW9iai0+ZmxhZ3MgfD0gVVNFRDsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjU0LDcgKzI0Miw3IEBACiAJfQogCiAJLyoKLQkgKiAiIXVzZWQiIG1lYW5zIHRoYXQgbm90aGluZyBhdCBhbGwgcG9pbnRzIHRvIGl0LCBpbmNsdWRpbmcKKwkgKiAiIVVTRUQiIG1lYW5zIHRoYXQgbm90aGluZyBhdCBhbGwgcG9pbnRzIHRvIGl0LCBpbmNsdWRpbmcKIAkgKiBvdGhlciB1bnJlYWNoYWJsZSBvYmplY3RzLiBJbiBvdGhlciB3b3JkcywgaXQncyB0aGUgInRpcCIKIAkgKiBvZiBzb21lIHNldCBvZiB1bnJlYWNoYWJsZSBvYmplY3RzLCB1c3VhbGx5IGEgY29tbWl0IHRoYXQKIAkgKiBnb3QgZHJvcHBlZC4KQEAgLTI2NSw3ICsyNTMsNyBAQAogCSAqIGRlbGV0ZWQgYSBicmFuY2ggYnkgbWlzdGFrZSwgdGhpcyBpcyBhIHByaW1lIGNhbmRpZGF0ZSB0bwogCSAqIHN0YXJ0IGxvb2tpbmcgYXQsIGZvciBleGFtcGxlLgogCSAqLwotCWlmICghb2JqLT51c2VkKSB7CisJaWYgKCEob2JqLT5mbGFncyAmIFVTRUQpKSB7CiAJCWlmIChzaG93X2RhbmdsaW5nKQogCQkJcHJpbnRmKCJkYW5nbGluZyAlcyAlc1xuIiwgcHJpbnRhYmxlX3R5cGUob2JqKSwKIAkJCSAgICAgICBkZXNjcmliZV9vYmplY3Qob2JqKSk7CkBAIC0yODAsOCArMjY4LDcgQEAKIAkJCQlmcmVlKGZpbGVuYW1lKTsKIAkJCQlyZXR1cm47CiAJCQl9Ci0JCQlpZiAoIShmID0gZm9wZW4oZmlsZW5hbWUsICJ3IikpKQotCQkJCWRpZV9lcnJubygiQ291bGQgbm90IG9wZW4gJyVzJyIsIGZpbGVuYW1lKTsKKwkJCWYgPSB4Zm9wZW4oZmlsZW5hbWUsICJ3Iik7CiAJCQlpZiAob2JqLT50eXBlID09IE9CSl9CTE9CKSB7CiAJCQkJaWYgKHN0cmVhbV9ibG9iX3RvX2ZkKGZpbGVubyhmKSwgJm9iai0+b2lkLCBOVUxMLCAxKSkKIAkJCQkJZGllX2Vycm5vKCJDb3VsZCBub3Qgd3JpdGUgJyVzJyIsIGZpbGVuYW1lKTsKQEAgLTMzNSw2ICszMjIsOCBAQAogCiBzdGF0aWMgaW50IGZzY2tfb2JqKHN0cnVjdCBvYmplY3QgKm9iaikKIHsKKwlpbnQgZXJyOworCiAJaWYgKG9iai0+ZmxhZ3MgJiBTRUVOKQogCQlyZXR1cm4gMDsKIAlvYmotPmZsYWdzIHw9IFNFRU47CkBAIC0zNDUsMjAgKzMzNCwxMyBAQAogCiAJaWYgKGZzY2tfd2FsayhvYmosIE5VTEwsICZmc2NrX29ial9vcHRpb25zKSkKIAkJb2JqZXJyb3Iob2JqLCAiYnJva2VuIGxpbmtzIik7Ci0JaWYgKGZzY2tfb2JqZWN0KG9iaiwgTlVMTCwgMCwgJmZzY2tfb2JqX29wdGlvbnMpKQotCQlyZXR1cm4gLTE7Ci0KLQlpZiAob2JqLT50eXBlID09IE9CSl9UUkVFKSB7Ci0JCXN0cnVjdCB0cmVlICppdGVtID0gKHN0cnVjdCB0cmVlICopIG9iajsKLQotCQlmcmVlX3RyZWVfYnVmZmVyKGl0ZW0pOwotCX0KKwllcnIgPSBmc2NrX29iamVjdChvYmosIE5VTEwsIDAsICZmc2NrX29ial9vcHRpb25zKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKIAogCWlmIChvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCkgewogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKSBvYmo7CiAKLQkJZnJlZV9jb21taXRfYnVmZmVyKGNvbW1pdCk7Ci0KIAkJaWYgKCFjb21taXQtPnBhcmVudHMgJiYgc2hvd19yb290KQogCQkJcHJpbnRmKCJyb290ICVzXG4iLCBkZXNjcmliZV9vYmplY3QoJmNvbW1pdC0+b2JqZWN0KSk7CiAJfQpAQCAtMzc0LDEwICszNTYsMTUgQEAKIAkJfQogCX0KIAotCXJldHVybiAwOworb3V0OgorCWlmIChvYmotPnR5cGUgPT0gT0JKX1RSRUUpCisJCWZyZWVfdHJlZV9idWZmZXIoKHN0cnVjdCB0cmVlICopb2JqKTsKKwlpZiAob2JqLT50eXBlID09IE9CSl9DT01NSVQpCisJCWZyZWVfY29tbWl0X2J1ZmZlcigoc3RydWN0IGNvbW1pdCAqKW9iaik7CisJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIGludCBmc2NrX29ial9idWZmZXIoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgZW51bSBvYmplY3RfdHlwZSB0eXBlLAorc3RhdGljIGludCBmc2NrX29ial9idWZmZXIoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBlbnVtIG9iamVjdF90eXBlIHR5cGUsCiAJCQkgICB1bnNpZ25lZCBsb25nIHNpemUsIHZvaWQgKmJ1ZmZlciwgaW50ICplYXRlbikKIHsKIAkvKgpAQCAtMzg1LDUwICszNzIsNTEgQEAKIAkgKiB2ZXJpZnlfcGFja2ZpbGUoKSwgZGF0YV92YWxpZCB2YXJpYWJsZSBmb3IgZGV0YWlscy4KIAkgKi8KIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7Ci0Jb2JqID0gcGFyc2Vfb2JqZWN0X2J1ZmZlcihzaGExLCB0eXBlLCBzaXplLCBidWZmZXIsIGVhdGVuKTsKKwlvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKG9pZCwgdHlwZSwgc2l6ZSwgYnVmZmVyLCBlYXRlbik7CiAJaWYgKCFvYmopIHsKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX09CSkVDVDsKLQkJcmV0dXJuIGVycm9yKCIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJcmV0dXJuIGVycm9yKCIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIsIG9pZF90b19oZXgob2lkKSk7CiAJfQotCW9iai0+ZmxhZ3MgPSBIQVNfT0JKOworCW9iai0+ZmxhZ3MgJj0gfihSRUFDSEFCTEUgfCBTRUVOKTsKKwlvYmotPmZsYWdzIHw9IEhBU19PQko7CiAJcmV0dXJuIGZzY2tfb2JqKG9iaik7CiB9CiAKIHN0YXRpYyBpbnQgZGVmYXVsdF9yZWZzOwogCi1zdGF0aWMgdm9pZCBmc2NrX2hhbmRsZV9yZWZsb2dfc2hhMShjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExLAotCXVuc2lnbmVkIGxvbmcgdGltZXN0YW1wKQorc3RhdGljIHZvaWQgZnNja19oYW5kbGVfcmVmbG9nX29pZChjb25zdCBjaGFyICpyZWZuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJdGltZXN0YW1wX3QgdGltZXN0YW1wKQogewogCXN0cnVjdCBvYmplY3QgKm9iajsKIAotCWlmICghaXNfbnVsbF9zaGExKHNoYTEpKSB7Ci0JCW9iaiA9IGxvb2t1cF9vYmplY3Qoc2hhMSk7CisJaWYgKCFpc19udWxsX29pZChvaWQpKSB7CisJCW9iaiA9IGxvb2t1cF9vYmplY3Qob2lkLT5oYXNoKTsKIAkJaWYgKG9iaiAmJiAob2JqLT5mbGFncyAmIEhBU19PQkopKSB7CiAJCQlpZiAodGltZXN0YW1wICYmIG5hbWVfb2JqZWN0cykKIAkJCQlhZGRfZGVjb3JhdGlvbihmc2NrX3dhbGtfb3B0aW9ucy5vYmplY3RfbmFtZXMsCiAJCQkJCW9iaiwKLQkJCQkJeHN0cmZtdCgiJXNAeyVsZH0iLCByZWZuYW1lLCB0aW1lc3RhbXApKTsKLQkJCW9iai0+dXNlZCA9IDE7CisJCQkJCXhzdHJmbXQoIiVzQHslIlBSSXRpbWUifSIsIHJlZm5hbWUsIHRpbWVzdGFtcCkpOworCQkJb2JqLT5mbGFncyB8PSBVU0VEOwogCQkJbWFya19vYmplY3RfcmVhY2hhYmxlKG9iaik7CiAJCX0gZWxzZSB7Ci0JCQllcnJvcigiJXM6IGludmFsaWQgcmVmbG9nIGVudHJ5ICVzIiwgcmVmbmFtZSwgc2hhMV90b19oZXgoc2hhMSkpOworCQkJZXJyb3IoIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIsIHJlZm5hbWUsIG9pZF90b19oZXgob2lkKSk7CiAJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVBQ0hBQkxFOwogCQl9CiAJfQogfQogCi1zdGF0aWMgaW50IGZzY2tfaGFuZGxlX3JlZmxvZ19lbnQodW5zaWduZWQgY2hhciAqb3NoYTEsIHVuc2lnbmVkIGNoYXIgKm5zaGExLAotCQljb25zdCBjaGFyICplbWFpbCwgdW5zaWduZWQgbG9uZyB0aW1lc3RhbXAsIGludCB0eiwKK3N0YXRpYyBpbnQgZnNja19oYW5kbGVfcmVmbG9nX2VudChzdHJ1Y3Qgb2JqZWN0X2lkICpvb2lkLCBzdHJ1Y3Qgb2JqZWN0X2lkICpub2lkLAorCQljb25zdCBjaGFyICplbWFpbCwgdGltZXN0YW1wX3QgdGltZXN0YW1wLCBpbnQgdHosCiAJCWNvbnN0IGNoYXIgKm1lc3NhZ2UsIHZvaWQgKmNiX2RhdGEpCiB7CiAJY29uc3QgY2hhciAqcmVmbmFtZSA9IGNiX2RhdGE7CiAKIAlpZiAodmVyYm9zZSkKIAkJZnByaW50ZihzdGRlcnIsICJDaGVja2luZyByZWZsb2cgJXMtPiVzXG4iLAotCQkJc2hhMV90b19oZXgob3NoYTEpLCBzaGExX3RvX2hleChuc2hhMSkpOworCQkJb2lkX3RvX2hleChvb2lkKSwgb2lkX3RvX2hleChub2lkKSk7CiAKLQlmc2NrX2hhbmRsZV9yZWZsb2dfc2hhMShyZWZuYW1lLCBvc2hhMSwgMCk7Ci0JZnNja19oYW5kbGVfcmVmbG9nX3NoYTEocmVmbmFtZSwgbnNoYTEsIHRpbWVzdGFtcCk7CisJZnNja19oYW5kbGVfcmVmbG9nX29pZChyZWZuYW1lLCBvb2lkLCAwKTsKKwlmc2NrX2hhbmRsZV9yZWZsb2dfb2lkKHJlZm5hbWUsIG5vaWQsIHRpbWVzdGFtcCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQ0NCw3ICs0MzIsNyBAQAogewogCXN0cnVjdCBvYmplY3QgKm9iajsKIAotCW9iaiA9IHBhcnNlX29iamVjdChvaWQtPmhhc2gpOworCW9iaiA9IHBhcnNlX29iamVjdChvaWQpOwogCWlmICghb2JqKSB7CiAJCWVycm9yKCIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgJXMiLCByZWZuYW1lLCBvaWRfdG9faGV4KG9pZCkpOwogCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVBQ0hBQkxFOwpAQCAtNDU2LDcgKzQ0NCw3IEBACiAJCWVycm9yc19mb3VuZCB8PSBFUlJPUl9SRUZTOwogCX0KIAlkZWZhdWx0X3JlZnMrKzsKLQlvYmotPnVzZWQgPSAxOworCW9iai0+ZmxhZ3MgfD0gVVNFRDsKIAlpZiAobmFtZV9vYmplY3RzKQogCQlhZGRfZGVjb3JhdGlvbihmc2NrX3dhbGtfb3B0aW9ucy5vYmplY3RfbmFtZXMsCiAJCQlvYmosIHhzdHJkdXAocmVmbmFtZSkpOwpAQCAtNDkxLDcgKzQ3OSw3IEBACiAJfQogfQogCi1zdGF0aWMgc3RydWN0IG9iamVjdCAqcGFyc2VfbG9vc2Vfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdGF0aWMgc3RydWN0IG9iamVjdCAqcGFyc2VfbG9vc2Vfb2JqZWN0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkJIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJc3RydWN0IG9iamVjdCAqb2JqOwpAQCAtNTAwLDMxICs0ODgsMzIgQEAKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJaW50IGVhdGVuOwogCi0JaWYgKHJlYWRfbG9vc2Vfb2JqZWN0KHBhdGgsIHNoYTEsICZ0eXBlLCAmc2l6ZSwgJmNvbnRlbnRzKSA8IDApCisJaWYgKHJlYWRfbG9vc2Vfb2JqZWN0KHBhdGgsIG9pZC0+aGFzaCwgJnR5cGUsICZzaXplLCAmY29udGVudHMpIDwgMCkKIAkJcmV0dXJuIE5VTEw7CiAKIAlpZiAoIWNvbnRlbnRzICYmIHR5cGUgIT0gT0JKX0JMT0IpCiAJCWRpZSgiQlVHOiByZWFkX2xvb3NlX29iamVjdCBzdHJlYW1lZCBhIG5vbi1ibG9iIik7CiAKLQlvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKHNoYTEsIHR5cGUsIHNpemUsIGNvbnRlbnRzLCAmZWF0ZW4pOworCW9iaiA9IHBhcnNlX29iamVjdF9idWZmZXIob2lkLCB0eXBlLCBzaXplLCBjb250ZW50cywgJmVhdGVuKTsKIAogCWlmICghZWF0ZW4pCiAJCWZyZWUoY29udGVudHMpOwogCXJldHVybiBvYmo7CiB9CiAKLXN0YXRpYyBpbnQgZnNja19sb29zZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICpwYXRoLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBmc2NrX2xvb3NlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqcGF0aCwgdm9pZCAqZGF0YSkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBwYXJzZV9sb29zZV9vYmplY3Qoc2hhMSwgcGF0aCk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gcGFyc2VfbG9vc2Vfb2JqZWN0KG9pZCwgcGF0aCk7CiAKIAlpZiAoIW9iaikgewogCQllcnJvcnNfZm91bmQgfD0gRVJST1JfT0JKRUNUOwogCQllcnJvcigiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3Npbmc6ICVzIiwKLQkJICAgICAgc2hhMV90b19oZXgoc2hhMSksIHBhdGgpOworCQkgICAgICBvaWRfdG9faGV4KG9pZCksIHBhdGgpOwogCQlyZXR1cm4gMDsgLyoga2VlcCBjaGVja2luZyBvdGhlciBvYmplY3RzICovCiAJfQogCi0Jb2JqLT5mbGFncyA9IEhBU19PQko7CisJb2JqLT5mbGFncyAmPSB+KFJFQUNIQUJMRSB8IFNFRU4pOworCW9iai0+ZmxhZ3MgfD0gSEFTX09CSjsKIAlpZiAoZnNja19vYmoob2JqKSkKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX09CSkVDVDsKIAlyZXR1cm4gMDsKQEAgLTUzNyw3ICs1MjYsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGZzY2tfc3ViZGlyKGludCBuciwgY29uc3QgY2hhciAqcGF0aCwgdm9pZCAqcHJvZ3Jlc3MpCitzdGF0aWMgaW50IGZzY2tfc3ViZGlyKHVuc2lnbmVkIGludCBuciwgY29uc3QgY2hhciAqcGF0aCwgdm9pZCAqcHJvZ3Jlc3MpCiB7CiAJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgbnIgKyAxKTsKIAlyZXR1cm4gMDsKQEAgLTU5OSwxNCArNTg4LDE0IEBACiAJCWZwcmludGYoc3RkZXJyLCAiQ2hlY2tpbmcgY2FjaGUgdHJlZVxuIik7CiAKIAlpZiAoMCA8PSBpdC0+ZW50cnlfY291bnQpIHsKLQkJc3RydWN0IG9iamVjdCAqb2JqID0gcGFyc2Vfb2JqZWN0KGl0LT5zaGExKTsKKwkJc3RydWN0IG9iamVjdCAqb2JqID0gcGFyc2Vfb2JqZWN0KCZpdC0+b2lkKTsKIAkJaWYgKCFvYmopIHsKIAkJCWVycm9yKCIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgaW4gY2FjaGUtdHJlZSIsCi0JCQkgICAgICBzaGExX3RvX2hleChpdC0+c2hhMSkpOworCQkJICAgICAgb2lkX3RvX2hleCgmaXQtPm9pZCkpOwogCQkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX1JFRlM7CiAJCQlyZXR1cm4gMTsKIAkJfQotCQlvYmotPnVzZWQgPSAxOworCQlvYmotPmZsYWdzIHw9IFVTRUQ7CiAJCWlmIChuYW1lX29iamVjdHMpCiAJCQlhZGRfZGVjb3JhdGlvbihmc2NrX3dhbGtfb3B0aW9ucy5vYmplY3RfbmFtZXMsCiAJCQkJb2JqLCB4c3RyZHVwKCI6IikpOwpAQCAtNjE5LDI2ICs2MDgsMjYgQEAKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgdm9pZCBtYXJrX29iamVjdF9mb3JfY29ubmVjdGl2aXR5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgdm9pZCBtYXJrX29iamVjdF9mb3JfY29ubmVjdGl2aXR5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfdW5rbm93bl9vYmplY3Qoc2hhMSk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX3Vua25vd25fb2JqZWN0KG9pZC0+aGFzaCk7CiAJb2JqLT5mbGFncyB8PSBIQVNfT0JKOwogfQogCi1zdGF0aWMgaW50IG1hcmtfbG9vc2VfZm9yX2Nvbm5lY3Rpdml0eShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RhdGljIGludCBtYXJrX2xvb3NlX2Zvcl9jb25uZWN0aXZpdHkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJCSAgICAgICBjb25zdCBjaGFyICpwYXRoLAogCQkJCSAgICAgICB2b2lkICpkYXRhKQogewotCW1hcmtfb2JqZWN0X2Zvcl9jb25uZWN0aXZpdHkoc2hhMSk7CisJbWFya19vYmplY3RfZm9yX2Nvbm5lY3Rpdml0eShvaWQpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IG1hcmtfcGFja2VkX2Zvcl9jb25uZWN0aXZpdHkoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKK3N0YXRpYyBpbnQgbWFya19wYWNrZWRfZm9yX2Nvbm5lY3Rpdml0eShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkJCXN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrLAogCQkJCQl1aW50MzJfdCBwb3MsCiAJCQkJCXZvaWQgKmRhdGEpCiB7Ci0JbWFya19vYmplY3RfZm9yX2Nvbm5lY3Rpdml0eShzaGExKTsKKwltYXJrX29iamVjdF9mb3JfY29ubmVjdGl2aXR5KG9pZCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTY2Nyw3ICs2NTYsNyBAQAogCiBpbnQgY21kX2ZzY2soaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0JaW50IGksIGhlYWRzOworCWludCBpOwogCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHQ7CiAKIAllcnJvcnNfZm91bmQgPSAwOwpAQCAtNzM1LDI1ICs3MjQsMjMgQEAKIAkJfQogCX0KIAotCWhlYWRzID0gMDsKIAlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CiAJCWNvbnN0IGNoYXIgKmFyZyA9IGFyZ3ZbaV07Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0JCWlmICghZ2V0X3NoYTEoYXJnLCBzaGExKSkgewotCQkJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChzaGExKTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJCWlmICghZ2V0X29pZChhcmcsICZvaWQpKSB7CisJCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfb2JqZWN0KG9pZC5oYXNoKTsKIAogCQkJaWYgKCFvYmogfHwgIShvYmotPmZsYWdzICYgSEFTX09CSikpIHsKLQkJCQllcnJvcigiJXM6IG9iamVjdCBtaXNzaW5nIiwgc2hhMV90b19oZXgoc2hhMSkpOworCQkJCWVycm9yKCIlczogb2JqZWN0IG1pc3NpbmciLCBvaWRfdG9faGV4KCZvaWQpKTsKIAkJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfT0JKRUNUOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCi0JCQlvYmotPnVzZWQgPSAxOworCQkJb2JqLT5mbGFncyB8PSBVU0VEOwogCQkJaWYgKG5hbWVfb2JqZWN0cykKIAkJCQlhZGRfZGVjb3JhdGlvbihmc2NrX3dhbGtfb3B0aW9ucy5vYmplY3RfbmFtZXMsCiAJCQkJCW9iaiwgeHN0cmR1cChhcmcpKTsKIAkJCW1hcmtfb2JqZWN0X3JlYWNoYWJsZShvYmopOwotCQkJaGVhZHMrKzsKIAkJCWNvbnRpbnVlOwogCQl9CiAJCWVycm9yKCJpbnZhbGlkIHBhcmFtZXRlcjogZXhwZWN0ZWQgc2hhMSwgZ290ICclcyciLCBhcmcpOwpAQCAtNzcxLDYgKzc1OCw3IEBACiAJfQogCiAJaWYgKGtlZXBfY2FjaGVfb2JqZWN0cykgeworCQl2ZXJpZnlfaW5kZXhfY2hlY2tzdW0gPSAxOwogCQlyZWFkX2NhY2hlKCk7CiAJCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgewogCQkJdW5zaWduZWQgaW50IG1vZGU7CkBAIC03ODAsMTEgKzc2OCwxMSBAQAogCQkJbW9kZSA9IGFjdGl2ZV9jYWNoZVtpXS0+Y2VfbW9kZTsKIAkJCWlmIChTX0lTR0lUTElOSyhtb2RlKSkKIAkJCQljb250aW51ZTsKLQkJCWJsb2IgPSBsb29rdXBfYmxvYihhY3RpdmVfY2FjaGVbaV0tPm9pZC5oYXNoKTsKKwkJCWJsb2IgPSBsb29rdXBfYmxvYigmYWN0aXZlX2NhY2hlW2ldLT5vaWQpOwogCQkJaWYgKCFibG9iKQogCQkJCWNvbnRpbnVlOwogCQkJb2JqID0gJmJsb2ItPm9iamVjdDsKLQkJCW9iai0+dXNlZCA9IDE7CisJCQlvYmotPmZsYWdzIHw9IFVTRUQ7CiAJCQlpZiAobmFtZV9vYmplY3RzKQogCQkJCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKIAkJCQkJb2JqLApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9nYy5jIGIvYnVpbHRpbi9nYy5jCmluZGV4IGEyYjllODkuLjNjNWVhZTAgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZ2MuYworKysgYi9idWlsdGluL2djLmMKQEAgLTExLDYgKzExLDcgQEAKICAqLwogCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInRlbXBmaWxlLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCkBAIC0xOCw2ICsxOSw3IEBACiAjaW5jbHVkZSAic2lnY2hhaW4uaCIKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogI2RlZmluZSBGQUlMRURfUlVOICJmYWlsZWQgdG8gcnVuICVzIgogCkBAIC0zMyw3ICszNSw3IEBACiBzdGF0aWMgaW50IGdjX2F1dG9fdGhyZXNob2xkID0gNjcwMDsKIHN0YXRpYyBpbnQgZ2NfYXV0b19wYWNrX2xpbWl0ID0gNTA7CiBzdGF0aWMgaW50IGRldGFjaF9hdXRvID0gMTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGdjX2xvZ19leHBpcmVfdGltZTsKK3N0YXRpYyB0aW1lc3RhbXBfdCBnY19sb2dfZXhwaXJlX3RpbWU7CiBzdGF0aWMgY29uc3QgY2hhciAqZ2NfbG9nX2V4cGlyZSA9ICIxLmRheS5hZ28iOwogc3RhdGljIGNvbnN0IGNoYXIgKnBydW5lX2V4cGlyZSA9ICIyLndlZWtzLmFnbyI7CiBzdGF0aWMgY29uc3QgY2hhciAqcHJ1bmVfd29ya3RyZWVzX2V4cGlyZSA9ICIzLm1vbnRocy5hZ28iOwpAQCAtNDUsNyArNDcsNyBAQAogc3RhdGljIHN0cnVjdCBhcmd2X2FycmF5IHBydW5lX3dvcmt0cmVlcyA9IEFSR1ZfQVJSQVlfSU5JVDsKIHN0YXRpYyBzdHJ1Y3QgYXJndl9hcnJheSByZXJlcmUgPSBBUkdWX0FSUkFZX0lOSVQ7CiAKLXN0YXRpYyBzdHJ1Y3QgdGVtcGZpbGUgcGlkZmlsZTsKK3N0YXRpYyBzdHJ1Y3QgdGVtcGZpbGUgKnBpZGZpbGU7CiBzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBsb2dfbG9jazsKIAogc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBwYWNrX2dhcmJhZ2UgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKQEAgLTY0LDE3ICs2Niw2IEBACiAJCXN0cmluZ19saXN0X2FwcGVuZCgmcGFja19nYXJiYWdlLCBwYXRoKTsKIH0KIAotc3RhdGljIHZvaWQgZ2l0X2NvbmZpZ19kYXRlX3N0cmluZyhjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipvdXRwdXQpCi17Ci0JaWYgKGdpdF9jb25maWdfZ2V0X3N0cmluZ19jb25zdChrZXksIG91dHB1dCkpCi0JCXJldHVybjsKLQlpZiAoc3RyY21wKCpvdXRwdXQsICJub3ciKSkgewotCQl1bnNpZ25lZCBsb25nIG5vdyA9IGFwcHJveGlkYXRlKCJub3ciKTsKLQkJaWYgKGFwcHJveGlkYXRlKCpvdXRwdXQpID49IG5vdykKLQkJCWdpdF9kaWVfY29uZmlnKGtleSwgXygiSW52YWxpZCAlczogJyVzJyIpLCBrZXksICpvdXRwdXQpOwotCX0KLX0KLQogc3RhdGljIHZvaWQgcHJvY2Vzc19sb2dfZmlsZSh2b2lkKQogewogCXN0cnVjdCBzdGF0IHN0OwpAQCAtODcsNyArNzgsNyBAQAogCQkgKi8KIAkJaW50IHNhdmVkX2Vycm5vID0gZXJybm87CiAJCWZwcmludGYoc3RkZXJyLCBfKCJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIiksCi0JCQlnZXRfdGVtcGZpbGVfcGF0aCgmbG9nX2xvY2sudGVtcGZpbGUpLAorCQkJZ2V0X3RlbXBmaWxlX3BhdGgobG9nX2xvY2sudGVtcGZpbGUpLAogCQkJc3RyZXJyb3Ioc2F2ZWRfZXJybm8pKTsKIAkJZmZsdXNoKHN0ZGVycik7CiAJCWNvbW1pdF9sb2NrX2ZpbGUoJmxvZ19sb2NrKTsKQEAgLTEzMSw5ICsxMjIsOSBAQAogCWdpdF9jb25maWdfZ2V0X2ludCgiZ2MuYXV0byIsICZnY19hdXRvX3RocmVzaG9sZCk7CiAJZ2l0X2NvbmZpZ19nZXRfaW50KCJnYy5hdXRvcGFja2xpbWl0IiwgJmdjX2F1dG9fcGFja19saW1pdCk7CiAJZ2l0X2NvbmZpZ19nZXRfYm9vbCgiZ2MuYXV0b2RldGFjaCIsICZkZXRhY2hfYXV0byk7Ci0JZ2l0X2NvbmZpZ19kYXRlX3N0cmluZygiZ2MucHJ1bmVleHBpcmUiLCAmcHJ1bmVfZXhwaXJlKTsKLQlnaXRfY29uZmlnX2RhdGVfc3RyaW5nKCJnYy53b3JrdHJlZXBydW5lZXhwaXJlIiwgJnBydW5lX3dvcmt0cmVlc19leHBpcmUpOwotCWdpdF9jb25maWdfZGF0ZV9zdHJpbmcoImdjLmxvZ2V4cGlyeSIsICZnY19sb2dfZXhwaXJlKTsKKwlnaXRfY29uZmlnX2dldF9leHBpcnkoImdjLnBydW5lZXhwaXJlIiwgJnBydW5lX2V4cGlyZSk7CisJZ2l0X2NvbmZpZ19nZXRfZXhwaXJ5KCJnYy53b3JrdHJlZXBydW5lZXhwaXJlIiwgJnBydW5lX3dvcmt0cmVlc19leHBpcmUpOworCWdpdF9jb25maWdfZ2V0X2V4cGlyeSgiZ2MubG9nZXhwaXJ5IiwgJmdjX2xvZ19leHBpcmUpOwogCiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogfQpAQCAtMTQ2LDggKzEzNyw2IEBACiAJICogZGlzdHJpYnV0ZWQsIHdlIGNhbiBjaGVjayBvbmx5IG9uZSBhbmQgZ2V0IGEgcmVhc29uYWJsZQogCSAqIGVzdGltYXRlLgogCSAqLwotCWNoYXIgcGF0aFtQQVRIX01BWF07Ci0JY29uc3QgY2hhciAqb2JqZGlyID0gZ2V0X29iamVjdF9kaXJlY3RvcnkoKTsKIAlESVIgKmRpcjsKIAlzdHJ1Y3QgZGlyZW50ICplbnQ7CiAJaW50IGF1dG9fdGhyZXNob2xkOwpAQCAtMTU3LDE1ICsxNDYsMTEgQEAKIAlpZiAoZ2NfYXV0b190aHJlc2hvbGQgPD0gMCkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoc2l6ZW9mKHBhdGgpIDw9IHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzLzE3Iiwgb2JqZGlyKSkgewotCQl3YXJuaW5nKF8oImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIiksIDUwLCBvYmpkaXIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JZGlyID0gb3BlbmRpcihwYXRoKTsKKwlkaXIgPSBvcGVuZGlyKGdpdF9wYXRoKCJvYmplY3RzLzE3IikpOwogCWlmICghZGlyKQogCQlyZXR1cm4gMDsKIAotCWF1dG9fdGhyZXNob2xkID0gKGdjX2F1dG9fdGhyZXNob2xkICsgMjU1KSAvIDI1NjsKKwlhdXRvX3RocmVzaG9sZCA9IERJVl9ST1VORF9VUChnY19hdXRvX3RocmVzaG9sZCwgMjU2KTsKIAl3aGlsZSAoKGVudCA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgewogCQlpZiAoc3Ryc3BuKGVudC0+ZF9uYW1lLCAiMDEyMzQ1Njc4OWFiY2RlZiIpICE9IDM4IHx8CiAJCSAgICBlbnQtPmRfbmFtZVszOF0gIT0gJ1wwJykKQEAgLTI0OSw3ICsyMzQsNyBAQAogc3RhdGljIGNvbnN0IGNoYXIgKmxvY2tfcmVwb19mb3JfZ2MoaW50IGZvcmNlLCBwaWRfdCogcmV0X3BpZCkKIHsKIAlzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBsb2NrOwotCWNoYXIgbXlfaG9zdFsxMjhdOworCWNoYXIgbXlfaG9zdFtIT1NUX05BTUVfTUFYICsgMV07CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdGF0IHN0OwogCXVpbnRtYXhfdCBwaWQ7CkBAIC0yNTcsMTkgKzI0MiwyMyBAQAogCWludCBmZDsKIAljaGFyICpwaWRmaWxlX3BhdGg7CiAKLQlpZiAoaXNfdGVtcGZpbGVfYWN0aXZlKCZwaWRmaWxlKSkKKwlpZiAoaXNfdGVtcGZpbGVfYWN0aXZlKHBpZGZpbGUpKQogCQkvKiBhbHJlYWR5IGxvY2tlZCAqLwogCQlyZXR1cm4gTlVMTDsKIAotCWlmIChnZXRob3N0bmFtZShteV9ob3N0LCBzaXplb2YobXlfaG9zdCkpKQorCWlmICh4Z2V0aG9zdG5hbWUobXlfaG9zdCwgc2l6ZW9mKG15X2hvc3QpKSkKIAkJeHNucHJpbnRmKG15X2hvc3QsIHNpemVvZihteV9ob3N0KSwgInVua25vd24iKTsKIAogCXBpZGZpbGVfcGF0aCA9IGdpdF9wYXRoZHVwKCJnYy5waWQiKTsKIAlmZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoJmxvY2ssIHBpZGZpbGVfcGF0aCwKIAkJCQkgICAgICAgTE9DS19ESUVfT05fRVJST1IpOwogCWlmICghZm9yY2UpIHsKLQkJc3RhdGljIGNoYXIgbG9ja2luZ19ob3N0WzEyOF07CisJCXN0YXRpYyBjaGFyIGxvY2tpbmdfaG9zdFtIT1NUX05BTUVfTUFYICsgMV07CisJCXN0YXRpYyBjaGFyICpzY2FuX2ZtdDsKIAkJaW50IHNob3VsZF9leGl0OworCisJCWlmICghc2Nhbl9mbXQpCisJCQlzY2FuX2ZtdCA9IHhzdHJmbXQoIiVzICUlJWRzIiwgIiUiU0NOdU1BWCwgSE9TVF9OQU1FX01BWCk7CiAJCWZwID0gZm9wZW4ocGlkZmlsZV9wYXRoLCAiciIpOwogCQltZW1zZXQobG9ja2luZ19ob3N0LCAwLCBzaXplb2YobG9ja2luZ19ob3N0KSk7CiAJCXNob3VsZF9leGl0ID0KQEAgLTI4NSw3ICsyNzQsNyBAQAogCQkJICogcnVubmluZy4KIAkJCSAqLwogCQkJdGltZShOVUxMKSAtIHN0LnN0X210aW1lIDw9IDEyICogMzYwMCAmJgotCQkJZnNjYW5mKGZwLCAiJSJTQ051TUFYIiAlMTI3YyIsICZwaWQsIGxvY2tpbmdfaG9zdCkgPT0gMiAmJgorCQkJZnNjYW5mKGZwLCBzY2FuX2ZtdCwgJnBpZCwgbG9ja2luZ19ob3N0KSA9PSAyICYmCiAJCQkvKiBiZSBnZW50bGUgdG8gY29uY3VycmVudCAiZ2MiIG9uIHJlbW90ZSBob3N0cyAqLwogCQkJKHN0cmNtcChsb2NraW5nX2hvc3QsIG15X2hvc3QpIHx8ICFraWxsKHBpZCwgMCkgfHwgZXJybm8gPT0gRVBFUk0pOwogCQlpZiAoZnAgIT0gTlVMTCkKQEAgLTMwNCw3ICsyOTMsNyBAQAogCXdyaXRlX2luX2Z1bGwoZmQsIHNiLmJ1Ziwgc2IubGVuKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwogCWNvbW1pdF9sb2NrX2ZpbGUoJmxvY2spOwotCXJlZ2lzdGVyX3RlbXBmaWxlKCZwaWRmaWxlLCBwaWRmaWxlX3BhdGgpOworCXBpZGZpbGUgPSByZWdpc3Rlcl90ZW1wZmlsZShwaWRmaWxlX3BhdGgpOwogCWZyZWUocGlkZmlsZV9wYXRoKTsKIAlyZXR1cm4gTlVMTDsKIH0KQEAgLTQyNiw4ICs0MTUsMTIgQEAKIAkJCWlmIChyZXBvcnRfbGFzdF9nY19lcnJvcigpKQogCQkJCXJldHVybiAtMTsKIAorCQkJaWYgKGxvY2tfcmVwb19mb3JfZ2MoZm9yY2UsICZwaWQpKQorCQkJCXJldHVybiAwOwogCQkJaWYgKGdjX2JlZm9yZV9yZXBhY2soKSkKIAkJCQlyZXR1cm4gLTE7CisJCQlkZWxldGVfdGVtcGZpbGUoJnBpZGZpbGUpOworCiAJCQkvKgogCQkJICogZmFpbHVyZSB0byBkYWVtb25pemUgaXMgb2ssIHdlJ2xsIGNvbnRpbnVlCiAJCQkgKiBpbiBmb3JlZ3JvdW5kCmRpZmYgLS1naXQgYS9idWlsdGluL2dldC10YXItY29tbWl0LWlkLmMgYi9idWlsdGluL2dldC10YXItY29tbWl0LWlkLmMKaW5kZXggZTIxYzU0MS4uMjcwNmZjZiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9nZXQtdGFyLWNvbW1pdC1pZC5jCisrKyBiL2J1aWx0aW4vZ2V0LXRhci1jb21taXQtaWQuYwpAQCAtMjYsMTUgKzI2LDE2IEBACiAJCXVzYWdlKGJ1aWx0aW5fZ2V0X3Rhcl9jb21taXRfaWRfdXNhZ2UpOwogCiAJbiA9IHJlYWRfaW5fZnVsbCgwLCBidWZmZXIsIEhFQURFUlNJWkUpOwotCWlmIChuIDwgSEVBREVSU0laRSkKLQkJZGllKCJnaXQgZ2V0LXRhci1jb21taXQtaWQ6IHJlYWQgZXJyb3IiKTsKKwlpZiAobiA8IDApCisJCWRpZV9lcnJubygiZ2l0IGdldC10YXItY29tbWl0LWlkOiByZWFkIGVycm9yIik7CisJaWYgKG4gIT0gSEVBREVSU0laRSkKKwkJZGllX2Vycm5vKCJnaXQgZ2V0LXRhci1jb21taXQtaWQ6IEVPRiBiZWZvcmUgcmVhZGluZyB0YXIgaGVhZGVyIik7CiAJaWYgKGhlYWRlci0+dHlwZWZsYWdbMF0gIT0gJ2cnKQogCQlyZXR1cm4gMTsKIAlpZiAoIXNraXBfcHJlZml4KGNvbnRlbnQsICI1MiBjb21tZW50PSIsICZjb21tZW50KSkKIAkJcmV0dXJuIDE7CiAKLQluID0gd3JpdGVfaW5fZnVsbCgxLCBjb21tZW50LCA0MSk7Ci0JaWYgKG4gPCA0MSkKKwlpZiAod3JpdGVfaW5fZnVsbCgxLCBjb21tZW50LCA0MSkgPCAwKQogCQlkaWVfZXJybm8oImdpdCBnZXQtdGFyLWNvbW1pdC1pZDogd3JpdGUgZXJyb3IiKTsKIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9ncmVwLmMgYi9idWlsdGluL2dyZXAuYwppbmRleCA5MzA0YzMzLi4xOWUyMzk0IDEwMDY0NAotLS0gYS9idWlsdGluL2dyZXAuYworKysgYi9idWlsdGluL2dyZXAuYwpAQCAtNCw2ICs0LDggQEAKICAqIENvcHlyaWdodCAoYykgMjAwNiBKdW5pbyBDIEhhbWFubwogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYmxvYi5oIgogI2luY2x1ZGUgInRyZWUuaCIKICNpbmNsdWRlICJjb21taXQuaCIKQEAgLTI2LDEzICsyOCw3IEBACiAJTlVMTAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKnN1cGVyX3ByZWZpeDsKIHN0YXRpYyBpbnQgcmVjdXJzZV9zdWJtb2R1bGVzOwotc3RhdGljIHN0cnVjdCBhcmd2X2FycmF5IHN1Ym1vZHVsZV9vcHRpb25zID0gQVJHVl9BUlJBWV9JTklUOwotc3RhdGljIGNvbnN0IGNoYXIgKnBhcmVudF9iYXNlbmFtZTsKLQotc3RhdGljIGludCBncmVwX3N1Ym1vZHVsZV9sYXVuY2goc3RydWN0IGdyZXBfb3B0ICpvcHQsCi0JCQkJIGNvbnN0IHN0cnVjdCBncmVwX3NvdXJjZSAqZ3MpOwogCiAjZGVmaW5lIEdSRVBfTlVNX1RIUkVBRFNfREVGQVVMVCA4CiBzdGF0aWMgaW50IG51bV90aHJlYWRzOwpAQCAtNzMsMTQgKzY5LDE0IEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBncmVwX2xvY2sodm9pZCkKIHsKLQlpZiAobnVtX3RocmVhZHMpCi0JCXB0aHJlYWRfbXV0ZXhfbG9jaygmZ3JlcF9tdXRleCk7CisJYXNzZXJ0KG51bV90aHJlYWRzKTsKKwlwdGhyZWFkX211dGV4X2xvY2soJmdyZXBfbXV0ZXgpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ3JlcF91bmxvY2sodm9pZCkKIHsKLQlpZiAobnVtX3RocmVhZHMpCi0JCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZncmVwX211dGV4KTsKKwlhc3NlcnQobnVtX3RocmVhZHMpOworCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZncmVwX211dGV4KTsKIH0KIAogLyogU2lnbmFsbGVkIHdoZW4gYSBuZXcgd29ya19pdGVtIGlzIGFkZGVkIHRvIHRvZG8uICovCkBAIC0xODQsMTAgKzE4MCw3IEBACiAJCQlicmVhazsKIAogCQlvcHQtPm91dHB1dF9wcml2ID0gdzsKLQkJaWYgKHctPnNvdXJjZS50eXBlID09IEdSRVBfU09VUkNFX1NVQk1PRFVMRSkKLQkJCWhpdCB8PSBncmVwX3N1Ym1vZHVsZV9sYXVuY2gob3B0LCAmdy0+c291cmNlKTsKLQkJZWxzZQotCQkJaGl0IHw9IGdyZXBfc291cmNlKG9wdCwgJnctPnNvdXJjZSk7CisJCWhpdCB8PSBncmVwX3NvdXJjZShvcHQsICZ3LT5zb3VyY2UpOwogCQlncmVwX3NvdXJjZV9jbGVhcl9kYXRhKCZ3LT5zb3VyY2UpOwogCQl3b3JrX2RvbmUodyk7CiAJfQpAQCAtMjI0LDcgKzIxNyw4IEBACiAJCWludCBlcnI7CiAJCXN0cnVjdCBncmVwX29wdCAqbyA9IGdyZXBfb3B0X2R1cChvcHQpOwogCQlvLT5vdXRwdXQgPSBzdHJidWZfb3V0OwotCQlvLT5kZWJ1ZyA9IDA7CisJCWlmIChpKQorCQkJby0+ZGVidWcgPSAwOwogCQljb21waWxlX2dyZXBfcGF0dGVybnMobyk7CiAJCWVyciA9IHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWRzW2ldLCBOVUxMLCBydW4sIG8pOwogCkBAIC0yODEsNyArMjc1LDcgQEAKIHN0YXRpYyBpbnQgZ3JlcF9jbWRfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogewogCWludCBzdCA9IGdyZXBfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKLQlpZiAoZ2l0X2NvbG9yX2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKSA8IDApCisJaWYgKGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCBjYikgPCAwKQogCQlzdCA9IC0xOwogCiAJaWYgKCFzdHJjbXAodmFyLCAiZ3JlcC50aHJlYWRzIikpIHsKQEAgLTI4OSwyMiArMjgzLDM2IEBACiAJCWlmIChudW1fdGhyZWFkcyA8IDApCiAJCQlkaWUoXygiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiKSwKIAkJCSAgICBudW1fdGhyZWFkcywgdmFyKTsKKyNpZmRlZiBOT19QVEhSRUFEUworCQllbHNlIGlmIChudW1fdGhyZWFkcyAmJiBudW1fdGhyZWFkcyAhPSAxKSB7CisJCQkvKgorCQkJICogVFJBTlNMQVRPUlM6ICVzIGlzIHRoZSBjb25maWd1cmF0aW9uCisJCQkgKiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CisJCQkgKiBncmVwLnRocmVhZHMKKwkJCSAqLworCQkJd2FybmluZyhfKCJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIiksIHZhcik7CisJCQludW1fdGhyZWFkcyA9IDA7CisJCX0KKyNlbmRpZgogCX0KIAorCWlmICghc3RyY21wKHZhciwgInN1Ym1vZHVsZS5yZWN1cnNlIikpCisJCXJlY3Vyc2Vfc3VibW9kdWxlcyA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKKwogCXJldHVybiBzdDsKIH0KIAotc3RhdGljIHZvaWQgKmxvY2tfYW5kX3JlYWRfc2hhMV9maWxlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemUpCitzdGF0aWMgdm9pZCAqbG9ja19hbmRfcmVhZF9vaWRfZmlsZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemUpCiB7CiAJdm9pZCAqZGF0YTsKIAogCWdyZXBfcmVhZF9sb2NrKCk7Ci0JZGF0YSA9IHJlYWRfc2hhMV9maWxlKHNoYTEsIHR5cGUsIHNpemUpOworCWRhdGEgPSByZWFkX3NoYTFfZmlsZShvaWQtPmhhc2gsIHR5cGUsIHNpemUpOwogCWdyZXBfcmVhZF91bmxvY2soKTsKIAlyZXR1cm4gZGF0YTsKIH0KIAotc3RhdGljIGludCBncmVwX3NoYTEoc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdGF0aWMgaW50IGdyZXBfb2lkKHN0cnVjdCBncmVwX29wdCAqb3B0LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCSAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCB0cmVlX25hbWVfbGVuLAogCQkgICAgIGNvbnN0IGNoYXIgKnBhdGgpCiB7CkBAIC0zMTMsMTcgKzMyMSwxMyBAQAogCWlmIChvcHQtPnJlbGF0aXZlICYmIG9wdC0+cHJlZml4X2xlbmd0aCkgewogCQlxdW90ZV9wYXRoX3JlbGF0aXZlKGZpbGVuYW1lICsgdHJlZV9uYW1lX2xlbiwgb3B0LT5wcmVmaXgsICZwYXRoYnVmKTsKIAkJc3RyYnVmX2luc2VydCgmcGF0aGJ1ZiwgMCwgZmlsZW5hbWUsIHRyZWVfbmFtZV9sZW4pOwotCX0gZWxzZSBpZiAoc3VwZXJfcHJlZml4KSB7Ci0JCXN0cmJ1Zl9hZGQoJnBhdGhidWYsIGZpbGVuYW1lLCB0cmVlX25hbWVfbGVuKTsKLQkJc3RyYnVmX2FkZHN0cigmcGF0aGJ1Ziwgc3VwZXJfcHJlZml4KTsKLQkJc3RyYnVmX2FkZHN0cigmcGF0aGJ1ZiwgZmlsZW5hbWUgKyB0cmVlX25hbWVfbGVuKTsKIAl9IGVsc2UgewogCQlzdHJidWZfYWRkc3RyKCZwYXRoYnVmLCBmaWxlbmFtZSk7CiAJfQogCiAjaWZuZGVmIE5PX1BUSFJFQURTCiAJaWYgKG51bV90aHJlYWRzKSB7Ci0JCWFkZF93b3JrKG9wdCwgR1JFUF9TT1VSQ0VfU0hBMSwgcGF0aGJ1Zi5idWYsIHBhdGgsIHNoYTEpOworCQlhZGRfd29yayhvcHQsIEdSRVBfU09VUkNFX09JRCwgcGF0aGJ1Zi5idWYsIHBhdGgsIG9pZCk7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoYnVmKTsKIAkJcmV0dXJuIDA7CiAJfSBlbHNlCkBAIC0zMzIsNyArMzM2LDcgQEAKIAkJc3RydWN0IGdyZXBfc291cmNlIGdzOwogCQlpbnQgaGl0OwogCi0JCWdyZXBfc291cmNlX2luaXQoJmdzLCBHUkVQX1NPVVJDRV9TSEExLCBwYXRoYnVmLmJ1ZiwgcGF0aCwgc2hhMSk7CisJCWdyZXBfc291cmNlX2luaXQoJmdzLCBHUkVQX1NPVVJDRV9PSUQsIHBhdGhidWYuYnVmLCBwYXRoLCBvaWQpOwogCQlzdHJidWZfcmVsZWFzZSgmcGF0aGJ1Zik7CiAJCWhpdCA9IGdyZXBfc291cmNlKG9wdCwgJmdzKTsKIApAQCAtMzQ1LDEzICszNDksMTAgQEAKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCi0JaWYgKG9wdC0+cmVsYXRpdmUgJiYgb3B0LT5wcmVmaXhfbGVuZ3RoKSB7CisJaWYgKG9wdC0+cmVsYXRpdmUgJiYgb3B0LT5wcmVmaXhfbGVuZ3RoKQogCQlxdW90ZV9wYXRoX3JlbGF0aXZlKGZpbGVuYW1lLCBvcHQtPnByZWZpeCwgJmJ1Zik7Ci0JfSBlbHNlIHsKLQkJaWYgKHN1cGVyX3ByZWZpeCkKLQkJCXN0cmJ1Zl9hZGRzdHIoJmJ1Ziwgc3VwZXJfcHJlZml4KTsKKwllbHNlCiAJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgZmlsZW5hbWUpOwotCX0KIAogI2lmbmRlZiBOT19QVEhSRUFEUwogCWlmIChudW1fdGhyZWFkcykgewpAQCAtMzk4LDI4MiArMzk5LDg5IEBACiAJCWV4aXQoc3RhdHVzKTsKIH0KIAotc3RhdGljIHZvaWQgY29tcGlsZV9zdWJtb2R1bGVfb3B0aW9ucyhjb25zdCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwKLQkJCQkgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAotCQkJCSAgICAgIGludCBjYWNoZWQsIGludCB1bnRyYWNrZWQsCi0JCQkJICAgICAgaW50IG9wdF9leGNsdWRlLCBpbnQgdXNlX2luZGV4LAotCQkJCSAgICAgIGludCBwYXR0ZXJuX3R5cGVfYXJnKQotewotCXN0cnVjdCBncmVwX3BhdCAqcGF0dGVybjsKLQlpbnQgaTsKK3N0YXRpYyBpbnQgZ3JlcF9jYWNoZShzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCSAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIGludCBjYWNoZWQpOworc3RhdGljIGludCBncmVwX3RyZWUoc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCSAgICAgc3RydWN0IHRyZWVfZGVzYyAqdHJlZSwgc3RydWN0IHN0cmJ1ZiAqYmFzZSwgaW50IHRuX2xlbiwKKwkJICAgICBpbnQgY2hlY2tfYXR0ciwgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pOwogCi0JaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcykKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi0tcmVjdXJzZS1zdWJtb2R1bGVzIik7Ci0KLQlpZiAoY2FjaGVkKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLCAiLS1jYWNoZWQiKTsKLQlpZiAoIXVzZV9pbmRleCkKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi0tbm8taW5kZXgiKTsKLQlpZiAodW50cmFja2VkKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLCAiLS11bnRyYWNrZWQiKTsKLQlpZiAob3B0X2V4Y2x1ZGUgPiAwKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLCAiLS1leGNsdWRlLXN0YW5kYXJkIik7Ci0KLQlpZiAob3B0LT5pbnZlcnQpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItdiIpOwotCWlmIChvcHQtPmlnbm9yZV9jYXNlKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLCAiLWkiKTsKLQlpZiAob3B0LT53b3JkX3JlZ2V4cCkKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi13Iik7Ci0Jc3dpdGNoIChvcHQtPmJpbmFyeSkgewotCWNhc2UgR1JFUF9CSU5BUllfTk9NQVRDSDoKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi1JIik7Ci0JCWJyZWFrOwotCWNhc2UgR1JFUF9CSU5BUllfVEVYVDoKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi1hIik7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCWJyZWFrOwotCX0KLQlpZiAob3B0LT5hbGxvd190ZXh0Y29udikKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi0tdGV4dGNvbnYiKTsKLQlpZiAob3B0LT5tYXhfZGVwdGggIT0gLTEpCi0JCWFyZ3ZfYXJyYXlfcHVzaGYoJnN1Ym1vZHVsZV9vcHRpb25zLCAiLS1tYXgtZGVwdGg9JWQiLAotCQkJCSBvcHQtPm1heF9kZXB0aCk7Ci0JaWYgKG9wdC0+bGluZW51bSkKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi1uIik7Ci0JaWYgKCFvcHQtPnBhdGhuYW1lKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLCAiLWgiKTsKLQlpZiAoIW9wdC0+cmVsYXRpdmUpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItLWZ1bGwtbmFtZSIpOwotCWlmIChvcHQtPm5hbWVfb25seSkKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi1sIik7Ci0JaWYgKG9wdC0+dW5tYXRjaF9uYW1lX29ubHkpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItTCIpOwotCWlmIChvcHQtPm51bGxfZm9sbG93aW5nX25hbWUpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICIteiIpOwotCWlmIChvcHQtPmNvdW50KQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLCAiLWMiKTsKLQlpZiAob3B0LT5maWxlX2JyZWFrKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLCAiLS1icmVhayIpOwotCWlmIChvcHQtPmhlYWRpbmcpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItLWhlYWRpbmciKTsKLQlpZiAob3B0LT5wcmVfY29udGV4dCkKLQkJYXJndl9hcnJheV9wdXNoZigmc3VibW9kdWxlX29wdGlvbnMsICItLWJlZm9yZS1jb250ZXh0PSVkIiwKLQkJCQkgb3B0LT5wcmVfY29udGV4dCk7Ci0JaWYgKG9wdC0+cG9zdF9jb250ZXh0KQotCQlhcmd2X2FycmF5X3B1c2hmKCZzdWJtb2R1bGVfb3B0aW9ucywgIi0tYWZ0ZXItY29udGV4dD0lZCIsCi0JCQkJIG9wdC0+cG9zdF9jb250ZXh0KTsKLQlpZiAob3B0LT5mdW5jbmFtZSkKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi1wIik7Ci0JaWYgKG9wdC0+ZnVuY2JvZHkpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItVyIpOwotCWlmIChvcHQtPmFsbF9tYXRjaCkKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi0tYWxsLW1hdGNoIik7Ci0JaWYgKG9wdC0+ZGVidWcpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItLWRlYnVnIik7Ci0JaWYgKG9wdC0+c3RhdHVzX29ubHkpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItcSIpOwotCi0Jc3dpdGNoIChwYXR0ZXJuX3R5cGVfYXJnKSB7Ci0JY2FzZSBHUkVQX1BBVFRFUk5fVFlQRV9CUkU6Ci0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItRyIpOwotCQlicmVhazsKLQljYXNlIEdSRVBfUEFUVEVSTl9UWVBFX0VSRToKLQkJYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi1FIik7Ci0JCWJyZWFrOwotCWNhc2UgR1JFUF9QQVRURVJOX1RZUEVfRklYRUQ6Ci0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItRiIpOwotCQlicmVhazsKLQljYXNlIEdSRVBfUEFUVEVSTl9UWVBFX1BDUkU6Ci0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlX29wdGlvbnMsICItUCIpOwotCQlicmVhazsKLQljYXNlIEdSRVBfUEFUVEVSTl9UWVBFX1VOU1BFQ0lGSUVEOgotCQlicmVhazsKLQl9Ci0KLQlmb3IgKHBhdHRlcm4gPSBvcHQtPnBhdHRlcm5fbGlzdDsgcGF0dGVybiAhPSBOVUxMOwotCSAgICAgcGF0dGVybiA9IHBhdHRlcm4tPm5leHQpIHsKLQkJc3dpdGNoIChwYXR0ZXJuLT50b2tlbikgewotCQljYXNlIEdSRVBfUEFUVEVSTjoKLQkJCWFyZ3ZfYXJyYXlfcHVzaGYoJnN1Ym1vZHVsZV9vcHRpb25zLCAiLWUlcyIsCi0JCQkJCSBwYXR0ZXJuLT5wYXR0ZXJuKTsKLQkJCWJyZWFrOwotCQljYXNlIEdSRVBfQU5EOgotCQljYXNlIEdSRVBfT1BFTl9QQVJFTjoKLQkJY2FzZSBHUkVQX0NMT1NFX1BBUkVOOgotCQljYXNlIEdSRVBfTk9UOgotCQljYXNlIEdSRVBfT1I6Ci0JCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLCBwYXR0ZXJuLT5wYXR0ZXJuKTsKLQkJCWJyZWFrOwotCQkvKiBCT0RZIGFuZCBIRUFEIGFyZSBub3QgdXNlZCBieSBnaXQtZ3JlcCAqLwotCQljYXNlIEdSRVBfUEFUVEVSTl9CT0RZOgotCQljYXNlIEdSRVBfUEFUVEVSTl9IRUFEOgotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQkvKgotCSAqIExpbWl0IG51bWJlciBvZiB0aHJlYWRzIGZvciBjaGlsZCBwcm9jZXNzIHRvIHVzZS4KLQkgKiBUaGlzIGlzIHRvIHByZXZlbnQgcG90ZW50aWFsIGZvcmstYm9tYiBiZWhhdmlvciBvZiBnaXQtZ3JlcCBhcyBlYWNoCi0JICogc3VibW9kdWxlIHByb2Nlc3MgaGFzIGl0cyBvd24gdGhyZWFkIHBvb2wuCi0JICovCi0JYXJndl9hcnJheV9wdXNoZigmc3VibW9kdWxlX29wdGlvbnMsICItLXRocmVhZHM9JWQiLAotCQkJIChudW1fdGhyZWFkcyArIDEpIC8gMik7Ci0KLQkvKiBBZGQgUGF0aHNwZWNzICovCi0JYXJndl9hcnJheV9wdXNoKCZzdWJtb2R1bGVfb3B0aW9ucywgIi0tIik7Ci0JZm9yIChpID0gMDsgaSA8IHBhdGhzcGVjLT5ucjsgaSsrKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZV9vcHRpb25zLAotCQkJCXBhdGhzcGVjLT5pdGVtc1tpXS5vcmlnaW5hbCk7Ci19Ci0KLS8qCi0gKiBMYXVuY2ggY2hpbGQgcHJvY2VzcyB0byBncmVwIGNvbnRlbnRzIG9mIGEgc3VibW9kdWxlCi0gKi8KLXN0YXRpYyBpbnQgZ3JlcF9zdWJtb2R1bGVfbGF1bmNoKHN0cnVjdCBncmVwX29wdCAqb3B0LAotCQkJCSBjb25zdCBzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzKQotewotCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOwotCWludCBzdGF0dXMsIGk7Ci0JY29uc3QgY2hhciAqZW5kX29mX2Jhc2U7Ci0JY29uc3QgY2hhciAqbmFtZTsKLQlzdHJ1Y3Qgd29ya19pdGVtICp3ID0gb3B0LT5vdXRwdXRfcHJpdjsKLQotCWVuZF9vZl9iYXNlID0gc3RyY2hyKGdzLT5uYW1lLCAnOicpOwotCWlmIChncy0+aWRlbnRpZmllciAmJiBlbmRfb2ZfYmFzZSkKLQkJbmFtZSA9IGVuZF9vZl9iYXNlICsgMTsKLQllbHNlCi0JCW5hbWUgPSBncy0+bmFtZTsKLQotCXByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KCZjcC5lbnZfYXJyYXkpOwotCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuZW52X2FycmF5LCBHSVRfRElSX0VOVklST05NRU5UKTsKLQotCS8qIEFkZCBzdXBlciBwcmVmaXggKi8KLQlhcmd2X2FycmF5X3B1c2hmKCZjcC5hcmdzLCAiLS1zdXBlci1wcmVmaXg9JXMlcy8iLAotCQkJIHN1cGVyX3ByZWZpeCA/IHN1cGVyX3ByZWZpeCA6ICIiLAotCQkJIG5hbWUpOwotCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgImdyZXAiKTsKLQotCS8qCi0JICogQWRkIGJhc2VuYW1lIG9mIHBhcmVudCBwcm9qZWN0Ci0JICogV2hlbiBwZXJmb3JtaW5nIGdyZXAgb24gYSB0cmVlIG9iamVjdCB0aGUgZmlsZW5hbWUgaXMgcHJlZml4ZWQKLQkgKiB3aXRoIHRoZSBvYmplY3QncyBuYW1lOiAndHJlZS1uYW1lOmZpbGVuYW1lJy4gIEluIG9yZGVyIHRvCi0JICogcHJvdmlkZSB1bmlmb3JtaXR5IG9mIG91dHB1dCB3ZSB3YW50IHRvIHBhc3MgdGhlIG5hbWUgb2YgdGhlCi0JICogcGFyZW50IHByb2plY3QncyBvYmplY3QgbmFtZSB0byB0aGUgc3VibW9kdWxlIHNvIHRoZSBzdWJtb2R1bGUgY2FuCi0JICogcHJlZml4IGl0cyBvdXRwdXQgd2l0aCB0aGUgcGFyZW50J3MgbmFtZSBhbmQgbm90IGl0cyBvd24gU0hBMS4KLQkgKi8KLQlpZiAoZ3MtPmlkZW50aWZpZXIgJiYgZW5kX29mX2Jhc2UpCi0JCWFyZ3ZfYXJyYXlfcHVzaGYoJmNwLmFyZ3MsICItLXBhcmVudC1iYXNlbmFtZT0lLipzIiwKLQkJCQkgKGludCkgKGVuZF9vZl9iYXNlIC0gZ3MtPm5hbWUpLAotCQkJCSBncy0+bmFtZSk7Ci0KLQkvKiBBZGQgb3B0aW9ucyAqLwotCWZvciAoaSA9IDA7IGkgPCBzdWJtb2R1bGVfb3B0aW9ucy5hcmdjOyBpKyspIHsKLQkJLyoKLQkJICogSWYgdGhlcmUgaXMgYSB0cmVlIGlkZW50aWZpZXIgZm9yIHRoZSBzdWJtb2R1bGUsIGFkZCB0aGUKLQkJICogcmV2IGFmdGVyIGFkZGluZyB0aGUgc3VibW9kdWxlIG9wdGlvbnMgYnV0IGJlZm9yZSB0aGUKLQkJICogcGF0aHNwZWNzLiAgVG8gZG8gdGhpcyB3ZSBsaXN0ZW4gZm9yIHRoZSAnLS0nIGFuZCBpbnNlcnQgdGhlCi0JCSAqIHNoYTEgYmVmb3JlIHB1c2hpbmcgdGhlICctLScgb250byB0aGUgY2hpbGQgcHJvY2VzcyBhcmd2Ci0JCSAqIGFycmF5LgotCQkgKi8KLQkJaWYgKGdzLT5pZGVudGlmaWVyICYmCi0JCSAgICAhc3RyY21wKCItLSIsIHN1Ym1vZHVsZV9vcHRpb25zLmFyZ3ZbaV0pKSB7Ci0JCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsIHNoYTFfdG9faGV4KGdzLT5pZGVudGlmaWVyKSk7Ci0JCX0KLQotCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsIHN1Ym1vZHVsZV9vcHRpb25zLmFyZ3ZbaV0pOwotCX0KLQotCWNwLmdpdF9jbWQgPSAxOwotCWNwLmRpciA9IGdzLT5wYXRoOwotCi0JLyoKLQkgKiBDYXB0dXJlIG91dHB1dCB0byBvdXRwdXQgYnVmZmVyIGFuZCBjaGVjayB0aGUgcmV0dXJuIGNvZGUgZnJvbSB0aGUKLQkgKiBjaGlsZCBwcm9jZXNzLiAgQSAnMCcgaW5kaWNhdGVzIGEgaGl0LCBhICcxJyBpbmRpY2F0ZXMgbm8gaGl0IGFuZAotCSAqIGFueXRoaW5nIGVsc2UgaXMgYW4gZXJyb3IuCi0JICovCi0Jc3RhdHVzID0gY2FwdHVyZV9jb21tYW5kKCZjcCwgJnctPm91dCwgMCk7Ci0JaWYgKHN0YXR1cyAmJiAoc3RhdHVzICE9IDEpKSB7Ci0JCS8qIGZsdXNoIHRoZSBidWZmZXIgKi8KLQkJd3JpdGVfb3JfZGllKDEsIHctPm91dC5idWYsIHctPm91dC5sZW4pOwotCQlkaWUoInByb2Nlc3MgZm9yIHN1Ym1vZHVsZSAnJXMnIGZhaWxlZCB3aXRoIGV4aXQgY29kZTogJWQiLAotCQkgICAgZ3MtPm5hbWUsIHN0YXR1cyk7Ci0JfQotCi0JLyogaW52ZXJ0IHRoZSByZXR1cm4gY29kZSB0byBtYWtlIGEgaGl0IGVxdWFsIHRvIDEgKi8KLQlyZXR1cm4gIXN0YXR1czsKLX0KLQotLyoKLSAqIFByZXAgZ3JlcCBzdHJ1Y3R1cmVzIGZvciBhIHN1Ym1vZHVsZSBncmVwCi0gKiBzaGExOiB0aGUgc2hhMSBvZiB0aGUgc3VibW9kdWxlIG9yIE5VTEwgaWYgdXNpbmcgdGhlIHdvcmtpbmcgdHJlZQotICogZmlsZW5hbWU6IG5hbWUgb2YgdGhlIHN1Ym1vZHVsZSBpbmNsdWRpbmcgdHJlZSBuYW1lIG9mIHBhcmVudAotICogcGF0aDogbG9jYXRpb24gb2YgdGhlIHN1Ym1vZHVsZQotICovCi1zdGF0aWMgaW50IGdyZXBfc3VibW9kdWxlKHN0cnVjdCBncmVwX29wdCAqb3B0LCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RhdGljIGludCBncmVwX3N1Ym1vZHVsZShzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgc3RydWN0IHJlcG9zaXRvcnkgKnN1cGVycHJvamVjdCwKKwkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJICBjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqcGF0aCkKIHsKLQlpZiAoIWlzX3N1Ym1vZHVsZV9pbml0aWFsaXplZChwYXRoKSkKLQkJcmV0dXJuIDA7Ci0JaWYgKCFpc19zdWJtb2R1bGVfcG9wdWxhdGVkKHBhdGgpKSB7Ci0JCS8qCi0JCSAqIElmIHNlYXJjaGluZyBoaXN0b3J5LCBjaGVjayBmb3IgdGhlIHByZXNlbnNlIG9mIHRoZQotCQkgKiBzdWJtb2R1bGUncyBnaXRkaXIgYmVmb3JlIHNraXBwaW5nIHRoZSBzdWJtb2R1bGUuCi0JCSAqLwotCQlpZiAoc2hhMSkgewotCQkJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViID0KLQkJCQkJc3VibW9kdWxlX2Zyb21fcGF0aChudWxsX3NoYTEsIHBhdGgpOwotCQkJaWYgKHN1YikKLQkJCQlwYXRoID0gZ2l0X3BhdGgoIm1vZHVsZXMvJXMiLCBzdWItPm5hbWUpOworCXN0cnVjdCByZXBvc2l0b3J5IHN1Ym1vZHVsZTsKKwlpbnQgaGl0OwogCi0JCQlpZiAoIShpc19kaXJlY3RvcnkocGF0aCkgJiYgaXNfZ2l0X2RpcmVjdG9yeShwYXRoKSkpCi0JCQkJcmV0dXJuIDA7Ci0JCX0gZWxzZSB7Ci0JCQlyZXR1cm4gMDsKLQkJfQorCWlmICghaXNfc3VibW9kdWxlX2FjdGl2ZShzdXBlcnByb2plY3QsIHBhdGgpKQorCQlyZXR1cm4gMDsKKworCWlmIChyZXBvX3N1Ym1vZHVsZV9pbml0KCZzdWJtb2R1bGUsIHN1cGVycHJvamVjdCwgcGF0aCkpCisJCXJldHVybiAwOworCisJcmVwb19yZWFkX2dpdG1vZHVsZXMoJnN1Ym1vZHVsZSk7CisKKwkvKgorCSAqIE5FRURTV09SSzogVGhpcyBhZGRzIHRoZSBzdWJtb2R1bGUncyBvYmplY3QgZGlyZWN0b3J5IHRvIHRoZSBsaXN0IG9mCisJICogYWx0ZXJuYXRlcyBmb3IgdGhlIHNpbmdsZSBpbi1tZW1vcnkgb2JqZWN0IHN0b3JlLiAgVGhpcyBoYXMgc29tZSBiYWQKKwkgKiBjb25zZXF1ZW5jZXMgZm9yIG1lbW9yeSAocHJvY2Vzc2VkIG9iamVjdHMgd2lsbCBuZXZlciBiZSBmcmVlZCkgYW5kCisJICogcGVyZm9ybWFuY2UgKHRoaXMgaW5jcmVhc2VzIHRoZSBudW1iZXIgb2YgcGFjayBmaWxlcyBnaXQgaGFzIHRvIHBheQorCSAqIGF0dGVudGlvbiB0bywgdG8gdGhlIHN1bSBvZiB0aGUgbnVtYmVyIG9mIHBhY2sgZmlsZXMgaW4gYWxsIHRoZQorCSAqIHJlcG9zaXRvcmllcyBwcm9jZXNzZWQgc28gZmFyKS4gIFRoaXMgY2FuIGJlIHJlbW92ZWQgb25jZSB0aGUgb2JqZWN0CisJICogc3RvcmUgaXMgbm8gbG9uZ2VyIGdsb2JhbCBhbmQgaW5zdGVhZCBpcyBhIG1lbWJlciBvZiB0aGUgcmVwb3NpdG9yeQorCSAqIG9iamVjdC4KKwkgKi8KKwlhZGRfdG9fYWx0ZXJuYXRlc19tZW1vcnkoc3VibW9kdWxlLm9iamVjdGRpcik7CisKKwlpZiAob2lkKSB7CisJCXN0cnVjdCBvYmplY3QgKm9iamVjdDsKKwkJc3RydWN0IHRyZWVfZGVzYyB0cmVlOworCQl2b2lkICpkYXRhOworCQl1bnNpZ25lZCBsb25nIHNpemU7CisJCXN0cnVjdCBzdHJidWYgYmFzZSA9IFNUUkJVRl9JTklUOworCisJCW9iamVjdCA9IHBhcnNlX29iamVjdF9vcl9kaWUob2lkLCBvaWRfdG9faGV4KG9pZCkpOworCisJCWdyZXBfcmVhZF9sb2NrKCk7CisJCWRhdGEgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShvYmplY3QtPm9pZC5oYXNoLCB0cmVlX3R5cGUsCisJCQkJCQkgICZzaXplLCBOVUxMKTsKKwkJZ3JlcF9yZWFkX3VubG9jaygpOworCisJCWlmICghZGF0YSkKKwkJCWRpZShfKCJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiKSwgb2lkX3RvX2hleCgmb2JqZWN0LT5vaWQpKTsKKworCQlzdHJidWZfYWRkc3RyKCZiYXNlLCBmaWxlbmFtZSk7CisJCXN0cmJ1Zl9hZGRjaCgmYmFzZSwgJy8nKTsKKworCQlpbml0X3RyZWVfZGVzYygmdHJlZSwgZGF0YSwgc2l6ZSk7CisJCWhpdCA9IGdyZXBfdHJlZShvcHQsIHBhdGhzcGVjLCAmdHJlZSwgJmJhc2UsIGJhc2UubGVuLAorCQkJCW9iamVjdC0+dHlwZSA9PSBPQkpfQ09NTUlULCAmc3VibW9kdWxlKTsKKwkJc3RyYnVmX3JlbGVhc2UoJmJhc2UpOworCQlmcmVlKGRhdGEpOworCX0gZWxzZSB7CisJCWhpdCA9IGdyZXBfY2FjaGUob3B0LCAmc3VibW9kdWxlLCBwYXRoc3BlYywgMSk7CiAJfQogCi0jaWZuZGVmIE5PX1BUSFJFQURTCi0JaWYgKG51bV90aHJlYWRzKSB7Ci0JCWFkZF93b3JrKG9wdCwgR1JFUF9TT1VSQ0VfU1VCTU9EVUxFLCBmaWxlbmFtZSwgcGF0aCwgc2hhMSk7Ci0JCXJldHVybiAwOwotCX0gZWxzZQotI2VuZGlmCi0JewotCQlzdHJ1Y3Qgd29ya19pdGVtIHc7Ci0JCWludCBoaXQ7Ci0KLQkJZ3JlcF9zb3VyY2VfaW5pdCgmdy5zb3VyY2UsIEdSRVBfU09VUkNFX1NVQk1PRFVMRSwKLQkJCQkgZmlsZW5hbWUsIHBhdGgsIHNoYTEpOwotCQlzdHJidWZfaW5pdCgmdy5vdXQsIDApOwotCQlvcHQtPm91dHB1dF9wcml2ID0gJnc7Ci0JCWhpdCA9IGdyZXBfc3VibW9kdWxlX2xhdW5jaChvcHQsICZ3LnNvdXJjZSk7Ci0KLQkJd3JpdGVfb3JfZGllKDEsIHcub3V0LmJ1Ziwgdy5vdXQubGVuKTsKLQotCQlncmVwX3NvdXJjZV9jbGVhcigmdy5zb3VyY2UpOwotCQlzdHJidWZfcmVsZWFzZSgmdy5vdXQpOwotCQlyZXR1cm4gaGl0OwotCX0KKwlyZXBvX2NsZWFyKCZzdWJtb2R1bGUpOworCXJldHVybiBoaXQ7CiB9CiAKLXN0YXRpYyBpbnQgZ3JlcF9jYWNoZShzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKLQkJICAgICAgaW50IGNhY2hlZCkKK3N0YXRpYyBpbnQgZ3JlcF9jYWNoZShzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCSAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIGludCBjYWNoZWQpCiB7CiAJaW50IGhpdCA9IDA7CiAJaW50IG5yOwogCXN0cnVjdCBzdHJidWYgbmFtZSA9IFNUUkJVRl9JTklUOwogCWludCBuYW1lX2Jhc2VfbGVuID0gMDsKLQlpZiAoc3VwZXJfcHJlZml4KSB7Ci0JCW5hbWVfYmFzZV9sZW4gPSBzdHJsZW4oc3VwZXJfcHJlZml4KTsKLQkJc3RyYnVmX2FkZHN0cigmbmFtZSwgc3VwZXJfcHJlZml4KTsKKwlpZiAocmVwby0+c3VibW9kdWxlX3ByZWZpeCkgeworCQluYW1lX2Jhc2VfbGVuID0gc3RybGVuKHJlcG8tPnN1Ym1vZHVsZV9wcmVmaXgpOworCQlzdHJidWZfYWRkc3RyKCZuYW1lLCByZXBvLT5zdWJtb2R1bGVfcHJlZml4KTsKIAl9CiAKLQlyZWFkX2NhY2hlKCk7CisJcmVwb19yZWFkX2luZGV4KHJlcG8pOwogCi0JZm9yIChuciA9IDA7IG5yIDwgYWN0aXZlX25yOyBucisrKSB7Ci0JCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbbnJdOworCWZvciAobnIgPSAwOyBuciA8IHJlcG8tPmluZGV4LT5jYWNoZV9ucjsgbnIrKykgeworCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gcmVwby0+aW5kZXgtPmNhY2hlW25yXTsKIAkJc3RyYnVmX3NldGxlbigmbmFtZSwgbmFtZV9iYXNlX2xlbik7CiAJCXN0cmJ1Zl9hZGRzdHIoJm5hbWUsIGNlLT5uYW1lKTsKIApAQCAtNjkwLDE0ICs0OTgsMTQgQEAKIAkJCSAgICBjZV9za2lwX3dvcmt0cmVlKGNlKSkgewogCQkJCWlmIChjZV9zdGFnZShjZSkgfHwgY2VfaW50ZW50X3RvX2FkZChjZSkpCiAJCQkJCWNvbnRpbnVlOwotCQkJCWhpdCB8PSBncmVwX3NoYTEob3B0LCBjZS0+b2lkLmhhc2gsIGNlLT5uYW1lLAotCQkJCQkJIDAsIGNlLT5uYW1lKTsKKwkJCQloaXQgfD0gZ3JlcF9vaWQob3B0LCAmY2UtPm9pZCwgbmFtZS5idWYsCisJCQkJCQkgMCwgbmFtZS5idWYpOwogCQkJfSBlbHNlIHsKLQkJCQloaXQgfD0gZ3JlcF9maWxlKG9wdCwgY2UtPm5hbWUpOworCQkJCWhpdCB8PSBncmVwX2ZpbGUob3B0LCBuYW1lLmJ1Zik7CiAJCQl9CiAJCX0gZWxzZSBpZiAocmVjdXJzZV9zdWJtb2R1bGVzICYmIFNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSAmJgogCQkJICAgc3VibW9kdWxlX3BhdGhfbWF0Y2gocGF0aHNwZWMsIG5hbWUuYnVmLCBOVUxMKSkgewotCQkJaGl0IHw9IGdyZXBfc3VibW9kdWxlKG9wdCwgTlVMTCwgY2UtPm5hbWUsIGNlLT5uYW1lKTsKKwkJCWhpdCB8PSBncmVwX3N1Ym1vZHVsZShvcHQsIHJlcG8sIHBhdGhzcGVjLCBOVUxMLCBjZS0+bmFtZSwgY2UtPm5hbWUpOwogCQl9IGVsc2UgewogCQkJY29udGludWU7CiAJCX0KQEAgLTcwNSw4ICs1MTMsOCBAQAogCQlpZiAoY2Vfc3RhZ2UoY2UpKSB7CiAJCQlkbyB7CiAJCQkJbnIrKzsKLQkJCX0gd2hpbGUgKG5yIDwgYWN0aXZlX25yICYmCi0JCQkJICFzdHJjbXAoY2UtPm5hbWUsIGFjdGl2ZV9jYWNoZVtucl0tPm5hbWUpKTsKKwkJCX0gd2hpbGUgKG5yIDwgcmVwby0+aW5kZXgtPmNhY2hlX25yICYmCisJCQkJICFzdHJjbXAoY2UtPm5hbWUsIHJlcG8tPmluZGV4LT5jYWNoZVtucl0tPm5hbWUpKTsKIAkJCW5yLS07IC8qIGNvbXBlbnNhdGUgZm9yIGxvb3AgY29udHJvbCAqLwogCQl9CiAJCWlmIChoaXQgJiYgb3B0LT5zdGF0dXNfb25seSkKQEAgLTcxOSw3ICs1MjcsNyBAQAogCiBzdGF0aWMgaW50IGdyZXBfdHJlZShzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKIAkJICAgICBzdHJ1Y3QgdHJlZV9kZXNjICp0cmVlLCBzdHJ1Y3Qgc3RyYnVmICpiYXNlLCBpbnQgdG5fbGVuLAotCQkgICAgIGludCBjaGVja19hdHRyKQorCQkgICAgIGludCBjaGVja19hdHRyLCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbykKIHsKIAlpbnQgaGl0ID0gMDsKIAllbnVtIGludGVyZXN0aW5nIG1hdGNoID0gZW50cnlfbm90X2ludGVyZXN0aW5nOwpAQCAtNzI3LDggKzUzNSw4IEBACiAJaW50IG9sZF9iYXNlbGVuID0gYmFzZS0+bGVuOwogCXN0cnVjdCBzdHJidWYgbmFtZSA9IFNUUkJVRl9JTklUOwogCWludCBuYW1lX2Jhc2VfbGVuID0gMDsKLQlpZiAoc3VwZXJfcHJlZml4KSB7Ci0JCXN0cmJ1Zl9hZGRzdHIoJm5hbWUsIHN1cGVyX3ByZWZpeCk7CisJaWYgKHJlcG8tPnN1Ym1vZHVsZV9wcmVmaXgpIHsKKwkJc3RyYnVmX2FkZHN0cigmbmFtZSwgcmVwby0+c3VibW9kdWxlX3ByZWZpeCk7CiAJCW5hbWVfYmFzZV9sZW4gPSBuYW1lLmxlbjsKIAl9CiAKQEAgLTc1MCw3ICs1NTgsNyBAQAogCQlzdHJidWZfYWRkKGJhc2UsIGVudHJ5LnBhdGgsIHRlX2xlbik7CiAKIAkJaWYgKFNfSVNSRUcoZW50cnkubW9kZSkpIHsKLQkJCWhpdCB8PSBncmVwX3NoYTEob3B0LCBlbnRyeS5vaWQtPmhhc2gsIGJhc2UtPmJ1ZiwgdG5fbGVuLAorCQkJaGl0IHw9IGdyZXBfb2lkKG9wdCwgZW50cnkub2lkLCBiYXNlLT5idWYsIHRuX2xlbiwKIAkJCQkJIGNoZWNrX2F0dHIgPyBiYXNlLT5idWYgKyB0bl9sZW4gOiBOVUxMKTsKIAkJfSBlbHNlIGlmIChTX0lTRElSKGVudHJ5Lm1vZGUpKSB7CiAJCQllbnVtIG9iamVjdF90eXBlIHR5cGU7CkBAIC03NTgsNyArNTY2LDcgQEAKIAkJCXZvaWQgKmRhdGE7CiAJCQl1bnNpZ25lZCBsb25nIHNpemU7CiAKLQkJCWRhdGEgPSBsb2NrX2FuZF9yZWFkX3NoYTFfZmlsZShlbnRyeS5vaWQtPmhhc2gsICZ0eXBlLCAmc2l6ZSk7CisJCQlkYXRhID0gbG9ja19hbmRfcmVhZF9vaWRfZmlsZShlbnRyeS5vaWQsICZ0eXBlLCAmc2l6ZSk7CiAJCQlpZiAoIWRhdGEpCiAJCQkJZGllKF8oInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIpLAogCQkJCSAgICBvaWRfdG9faGV4KGVudHJ5Lm9pZCkpOwpAQCAtNzY2LDExICs1NzQsMTEgQEAKIAkJCXN0cmJ1Zl9hZGRjaChiYXNlLCAnLycpOwogCQkJaW5pdF90cmVlX2Rlc2MoJnN1YiwgZGF0YSwgc2l6ZSk7CiAJCQloaXQgfD0gZ3JlcF90cmVlKG9wdCwgcGF0aHNwZWMsICZzdWIsIGJhc2UsIHRuX2xlbiwKLQkJCQkJIGNoZWNrX2F0dHIpOworCQkJCQkgY2hlY2tfYXR0ciwgcmVwbyk7CiAJCQlmcmVlKGRhdGEpOwogCQl9IGVsc2UgaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAmJiBTX0lTR0lUTElOSyhlbnRyeS5tb2RlKSkgewotCQkJaGl0IHw9IGdyZXBfc3VibW9kdWxlKG9wdCwgZW50cnkub2lkLT5oYXNoLCBiYXNlLT5idWYsCi0JCQkJCSAgICAgIGJhc2UtPmJ1ZiArIHRuX2xlbik7CisJCQloaXQgfD0gZ3JlcF9zdWJtb2R1bGUob3B0LCByZXBvLCBwYXRoc3BlYywgZW50cnkub2lkLAorCQkJCQkgICAgICBiYXNlLT5idWYsIGJhc2UtPmJ1ZiArIHRuX2xlbik7CiAJCX0KIAogCQlzdHJidWZfc2V0bGVuKGJhc2UsIG9sZF9iYXNlbGVuKTsKQEAgLTc4NCwxMCArNTkyLDExIEBACiB9CiAKIHN0YXRpYyBpbnQgZ3JlcF9vYmplY3Qoc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCi0JCSAgICAgICBzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnBhdGgpCisJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnBhdGgsCisJCSAgICAgICBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbykKIHsKIAlpZiAob2JqLT50eXBlID09IE9CSl9CTE9CKQotCQlyZXR1cm4gZ3JlcF9zaGExKG9wdCwgb2JqLT5vaWQuaGFzaCwgbmFtZSwgMCwgcGF0aCk7CisJCXJldHVybiBncmVwX29pZChvcHQsICZvYmotPm9pZCwgbmFtZSwgMCwgcGF0aCk7CiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfQ09NTUlUIHx8IG9iai0+dHlwZSA9PSBPQkpfVFJFRSkgewogCQlzdHJ1Y3QgdHJlZV9kZXNjIHRyZWU7CiAJCXZvaWQgKmRhdGE7CkBAIC04MDMsMTAgKzYxMiw2IEBACiAJCWlmICghZGF0YSkKIAkJCWRpZShfKCJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiKSwgb2lkX3RvX2hleCgmb2JqLT5vaWQpKTsKIAotCQkvKiBVc2UgcGFyZW50J3MgbmFtZSBhcyBiYXNlIHdoZW4gcmVjdXJzaW5nIHN1Ym1vZHVsZXMgKi8KLQkJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAmJiBwYXJlbnRfYmFzZW5hbWUpCi0JCQluYW1lID0gcGFyZW50X2Jhc2VuYW1lOwotCiAJCWxlbiA9IG5hbWUgPyBzdHJsZW4obmFtZSkgOiAwOwogCQlzdHJidWZfaW5pdCgmYmFzZSwgUEFUSF9NQVggKyBsZW4gKyAxKTsKIAkJaWYgKGxlbikgewpAQCAtODE1LDcgKzYyMCw3IEBACiAJCX0KIAkJaW5pdF90cmVlX2Rlc2MoJnRyZWUsIGRhdGEsIHNpemUpOwogCQloaXQgPSBncmVwX3RyZWUob3B0LCBwYXRoc3BlYywgJnRyZWUsICZiYXNlLCBiYXNlLmxlbiwKLQkJCQlvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCk7CisJCQkJb2JqLT50eXBlID09IE9CSl9DT01NSVQsIHJlcG8pOwogCQlzdHJidWZfcmVsZWFzZSgmYmFzZSk7CiAJCWZyZWUoZGF0YSk7CiAJCXJldHVybiBoaXQ7CkBAIC04MjQsNiArNjI5LDcgQEAKIH0KIAogc3RhdGljIGludCBncmVwX29iamVjdHMoc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCQlzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKIAkJCWNvbnN0IHN0cnVjdCBvYmplY3RfYXJyYXkgKmxpc3QpCiB7CiAJdW5zaWduZWQgaW50IGk7CkBAIC04MzcsOSArNjQzLDEwIEBACiAJCS8qIGxvYWQgdGhlIGdpdG1vZHVsZXMgZmlsZSBmb3IgdGhpcyByZXYgKi8KIAkJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcykgewogCQkJc3VibW9kdWxlX2ZyZWUoKTsKLQkJCWdpdG1vZHVsZXNfY29uZmlnX3NoYTEocmVhbF9vYmotPm9pZC5oYXNoKTsKKwkJCWdpdG1vZHVsZXNfY29uZmlnX29pZCgmcmVhbF9vYmotPm9pZCk7CiAJCX0KLQkJaWYgKGdyZXBfb2JqZWN0KG9wdCwgcGF0aHNwZWMsIHJlYWxfb2JqLCBsaXN0LT5vYmplY3RzW2ldLm5hbWUsIGxpc3QtPm9iamVjdHNbaV0ucGF0aCkpIHsKKwkJaWYgKGdyZXBfb2JqZWN0KG9wdCwgcGF0aHNwZWMsIHJlYWxfb2JqLCBsaXN0LT5vYmplY3RzW2ldLm5hbWUsIGxpc3QtPm9iamVjdHNbaV0ucGF0aCwKKwkJCQlyZXBvKSkgewogCQkJaGl0ID0gMTsKIAkJCWlmIChvcHQtPnN0YXR1c19vbmx5KQogCQkJCWJyZWFrOwpAQCAtODYwLDcgKzY2Nyw3IEBACiAJaWYgKGV4Y19zdGQpCiAJCXNldHVwX3N0YW5kYXJkX2V4Y2x1ZGVzKCZkaXIpOwogCi0JZmlsbF9kaXJlY3RvcnkoJmRpciwgcGF0aHNwZWMpOworCWZpbGxfZGlyZWN0b3J5KCZkaXIsICZ0aGVfaW5kZXgsIHBhdGhzcGVjKTsKIAlmb3IgKGkgPSAwOyBpIDwgZGlyLm5yOyBpKyspIHsKIAkJaWYgKCFkaXJfcGF0aF9tYXRjaChkaXIuZW50cmllc1tpXSwgcGF0aHNwZWMsIDAsIE5VTEwpKQogCQkJY29udGludWU7CkBAIC05NzksMTAgKzc4Niw3IEBACiAJCU9QVF9TRVRfSU5UKDAsICJleGNsdWRlLXN0YW5kYXJkIiwgJm9wdF9leGNsdWRlLAogCQkJICAgIE5fKCJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciKSwgMSksCiAJCU9QVF9CT09MKDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCAmcmVjdXJzZV9zdWJtb2R1bGVzLAotCQkJIE5fKCJyZWN1cnNpdmxleSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiKSksCi0JCU9QVF9TVFJJTkcoMCwgInBhcmVudC1iYXNlbmFtZSIsICZwYXJlbnRfYmFzZW5hbWUsCi0JCQkgICBOXygiYmFzZW5hbWUiKSwKLQkJCSAgIE5fKCJwcmVwZW5kIHBhcmVudCBwcm9qZWN0J3MgYmFzZW5hbWUgdG8gb3V0cHV0IikpLAorCQkJIE5fKCJyZWN1cnNpdmVseSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiKSksCiAJCU9QVF9HUk9VUCgiIiksCiAJCU9QVF9CT09MKCd2JywgImludmVydC1tYXRjaCIsICZvcHQuaW52ZXJ0LAogCQkJTl8oInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIikpLApAQCAtMTA4Nyw3ICs4OTEsNiBAQAogCWluaXRfZ3JlcF9kZWZhdWx0cygpOwogCWdpdF9jb25maWcoZ3JlcF9jbWRfY29uZmlnLCBOVUxMKTsKIAlncmVwX2luaXQoJm9wdCwgcHJlZml4KTsKLQlzdXBlcl9wcmVmaXggPSBnZXRfc3VwZXJfcHJlZml4KCk7CiAKIAkvKgogCSAqIElmIHRoZXJlIGlzIG5vIC0tIHRoZW4gdGhlIHBhdGhzIG11c3QgZXhpc3QgaW4gdGhlIHdvcmtpbmcKQEAgLTExNDUsMTAgKzk0OCw2IEBACiAKIAlpZiAoIW9wdC5wYXR0ZXJuX2xpc3QpCiAJCWRpZShfKCJubyBwYXR0ZXJuIGdpdmVuLiIpKTsKLQlpZiAoIW9wdC5maXhlZCAmJiBvcHQuaWdub3JlX2Nhc2UpCi0JCW9wdC5yZWdmbGFncyB8PSBSRUdfSUNBU0U7Ci0KLQljb21waWxlX2dyZXBfcGF0dGVybnMoJm9wdCk7CiAKIAkvKgogCSAqIFdlIGhhdmUgdG8gZmluZCAiLS0iIGluIGEgc2VwYXJhdGUgcGFzcywgYmVjYXVzZSBpdHMgcHJlc2VuY2UKQEAgLTExNjksNyArOTY4LDcgQEAKIAlhbGxvd19yZXZzID0gdXNlX2luZGV4ICYmICF1bnRyYWNrZWQ7CiAJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewogCQljb25zdCBjaGFyICphcmcgPSBhcmd2W2ldOwotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJc3RydWN0IG9iamVjdF9jb250ZXh0IG9jOwogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3Q7CiAKQEAgLTExODQsMTYgKzk4MywxOCBAQAogCQkJYnJlYWs7CiAJCX0KIAotCQlpZiAoZ2V0X3NoYTFfd2l0aF9jb250ZXh0KGFyZywgMCwgc2hhMSwgJm9jKSkgeworCQlpZiAoZ2V0X29pZF93aXRoX2NvbnRleHQoYXJnLCBHRVRfT0lEX1JFQ09SRF9QQVRILAorCQkJCQkgJm9pZCwgJm9jKSkgewogCQkJaWYgKHNlZW5fZGFzaGRhc2gpCiAJCQkJZGllKF8oInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIpLCBhcmcpOwogCQkJYnJlYWs7CiAJCX0KIAotCQlvYmplY3QgPSBwYXJzZV9vYmplY3Rfb3JfZGllKHNoYTEsIGFyZyk7CisJCW9iamVjdCA9IHBhcnNlX29iamVjdF9vcl9kaWUoJm9pZCwgYXJnKTsKIAkJaWYgKCFzZWVuX2Rhc2hkYXNoKQogCQkJdmVyaWZ5X25vbl9maWxlbmFtZShwcmVmaXgsIGFyZyk7CiAJCWFkZF9vYmplY3RfYXJyYXlfd2l0aF9wYXRoKG9iamVjdCwgYXJnLCAmbGlzdCwgb2MubW9kZSwgb2MucGF0aCk7CisJCWZyZWUob2MucGF0aCk7CiAJfQogCiAJLyoKQEAgLTEyMjAsMTAgKzEwMjEsMjMgQEAKIAkJbnVtX3RocmVhZHMgPSBHUkVQX05VTV9USFJFQURTX0RFRkFVTFQ7CiAJZWxzZSBpZiAobnVtX3RocmVhZHMgPCAwKQogCQlkaWUoXygiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIpLCBudW1fdGhyZWFkcyk7CisJaWYgKG51bV90aHJlYWRzID09IDEpCisJCW51bV90aHJlYWRzID0gMDsKICNlbHNlCisJaWYgKG51bV90aHJlYWRzKQorCQl3YXJuaW5nKF8oIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIikpOwogCW51bV90aHJlYWRzID0gMDsKICNlbmRpZgogCisJaWYgKCFudW1fdGhyZWFkcykKKwkJLyoKKwkJICogVGhlIGNvbXBpbGVkIHBhdHRlcm5zIG9uIHRoZSBtYWluIHBhdGggYXJlIG9ubHkKKwkJICogdXNlZCB3aGVuIG5vdCB1c2luZyB0aHJlYWRpbmcuIE90aGVyd2lzZQorCQkgKiBzdGFydF90aHJlYWRzKCkgYmVsb3cgY2FsbHMgY29tcGlsZV9ncmVwX3BhdHRlcm5zKCkKKwkJICogZm9yIGVhY2ggdGhyZWFkLgorCQkgKi8KKwkJY29tcGlsZV9ncmVwX3BhdHRlcm5zKCZvcHQpOworCiAjaWZuZGVmIE5PX1BUSFJFQURTCiAJaWYgKG51bV90aHJlYWRzKSB7CiAJCWlmICghKG9wdC5uYW1lX29ubHkgfHwgb3B0LnVubWF0Y2hfbmFtZV9vbmx5IHx8IG9wdC5jb3VudCkKQEAgLTEyMzQsMTMgKzEwNDgsNiBAQAogCX0KICNlbmRpZgogCi0JaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcykgewotCQlnaXRtb2R1bGVzX2NvbmZpZygpOwotCQljb21waWxlX3N1Ym1vZHVsZV9vcHRpb25zKCZvcHQsICZwYXRoc3BlYywgY2FjaGVkLCB1bnRyYWNrZWQsCi0JCQkJCSAgb3B0X2V4Y2x1ZGUsIHVzZV9pbmRleCwKLQkJCQkJICBwYXR0ZXJuX3R5cGVfYXJnKTsKLQl9Ci0KIAlpZiAoc2hvd19pbl9wYWdlciAmJiAoY2FjaGVkIHx8IGxpc3QubnIpKQogCQlkaWUoXygiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIikpOwogCkBAIC0xMjgyLDE3ICsxMDg5LDE5IEBACiAJCWlmICghY2FjaGVkKQogCQkJc2V0dXBfd29ya190cmVlKCk7CiAKLQkJaGl0ID0gZ3JlcF9jYWNoZSgmb3B0LCAmcGF0aHNwZWMsIGNhY2hlZCk7CisJCWhpdCA9IGdyZXBfY2FjaGUoJm9wdCwgdGhlX3JlcG9zaXRvcnksICZwYXRoc3BlYywgY2FjaGVkKTsKIAl9IGVsc2UgewogCQlpZiAoY2FjaGVkKQogCQkJZGllKF8oImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iKSk7Ci0JCWhpdCA9IGdyZXBfb2JqZWN0cygmb3B0LCAmcGF0aHNwZWMsICZsaXN0KTsKKworCQloaXQgPSBncmVwX29iamVjdHMoJm9wdCwgJnBhdGhzcGVjLCB0aGVfcmVwb3NpdG9yeSwgJmxpc3QpOwogCX0KIAogCWlmIChudW1fdGhyZWFkcykKIAkJaGl0IHw9IHdhaXRfYWxsKCk7CiAJaWYgKGhpdCAmJiBzaG93X2luX3BhZ2VyKQogCQlydW5fcGFnZXIoJm9wdCwgcHJlZml4KTsKKwljbGVhcl9wYXRoc3BlYygmcGF0aHNwZWMpOwogCWZyZWVfZ3JlcF9wYXR0ZXJucygmb3B0KTsKIAlyZXR1cm4gIWhpdDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vaGFzaC1vYmplY3QuYyBiL2J1aWx0aW4vaGFzaC1vYmplY3QuYwppbmRleCA5MDI4ZTFmLi5jNTMyZmY5IDEwMDY0NAotLS0gYS9idWlsdGluL2hhc2gtb2JqZWN0LmMKKysrIGIvYnVpbHRpbi9oYXNoLW9iamVjdC5jCkBAIC01LDYgKzUsNyBAQAogICogQ29weXJpZ2h0IChDKSBKdW5pbyBDIEhhbWFubywgMjAwNQogICovCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImJsb2IuaCIKICNpbmNsdWRlICJxdW90ZS5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKQEAgLTE1LDcgKzE2LDcgQEAKICAqIG5lZWRzIHRvIGJ5cGFzcyB0aGUgZGF0YSBjb252ZXJzaW9uIHBlcmZvcm1lZCBieSwgYW5kIHRoZSB0eXBlCiAgKiBsaW1pdGF0aW9uIGltcG9zZWQgYnksIGluZGV4X2ZkKCkgYW5kIGl0cyBjYWxsZWVzLgogICovCi1zdGF0aWMgaW50IGhhc2hfbGl0ZXJhbGx5KHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBmZCwgY29uc3QgY2hhciAqdHlwZSwgdW5zaWduZWQgZmxhZ3MpCitzdGF0aWMgaW50IGhhc2hfbGl0ZXJhbGx5KHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IGZkLCBjb25zdCBjaGFyICp0eXBlLCB1bnNpZ25lZCBmbGFncykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCWludCByZXQ7CkBAIC0yMyw3ICsyNCw3IEBACiAJaWYgKHN0cmJ1Zl9yZWFkKCZidWYsIGZkLCA0MDk2KSA8IDApCiAJCXJldCA9IC0xOwogCWVsc2UKLQkJcmV0ID0gaGFzaF9zaGExX2ZpbGVfbGl0ZXJhbGx5KGJ1Zi5idWYsIGJ1Zi5sZW4sIHR5cGUsIHNoYTEsIGZsYWdzKTsKKwkJcmV0ID0gaGFzaF9zaGExX2ZpbGVfbGl0ZXJhbGx5KGJ1Zi5idWYsIGJ1Zi5sZW4sIHR5cGUsIG9pZCwgZmxhZ3MpOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCXJldHVybiByZXQ7CiB9CkBAIC0zMiwxNiArMzMsMTYgQEAKIAkJICAgIGludCBsaXRlcmFsbHkpCiB7CiAJc3RydWN0IHN0YXQgc3Q7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCWlmIChmc3RhdChmZCwgJnN0KSA8IDAgfHwKIAkgICAgKGxpdGVyYWxseQotCSAgICAgPyBoYXNoX2xpdGVyYWxseShzaGExLCBmZCwgdHlwZSwgZmxhZ3MpCi0JICAgICA6IGluZGV4X2ZkKHNoYTEsIGZkLCAmc3QsIHR5cGVfZnJvbV9zdHJpbmcodHlwZSksIHBhdGgsIGZsYWdzKSkpCisJICAgICA/IGhhc2hfbGl0ZXJhbGx5KCZvaWQsIGZkLCB0eXBlLCBmbGFncykKKwkgICAgIDogaW5kZXhfZmQoJm9pZCwgZmQsICZzdCwgdHlwZV9mcm9tX3N0cmluZyh0eXBlKSwgcGF0aCwgZmxhZ3MpKSkKIAkJZGllKChmbGFncyAmIEhBU0hfV1JJVEVfT0JKRUNUKQogCQkgICAgPyAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIAkJICAgIDogIlVuYWJsZSB0byBoYXNoICVzIiwgcGF0aCk7Ci0JcHJpbnRmKCIlc1xuIiwgc2hhMV90b19oZXgoc2hhMSkpOworCXByaW50ZigiJXNcbiIsIG9pZF90b19oZXgoJm9pZCkpOwogCW1heWJlX2ZsdXNoX29yX2RpZShzdGRvdXQsICJoYXNoIHRvIHN0ZG91dCIpOwogfQogCkBAIC0xMDIsNyArMTAzLDYgQEAKIAkJT1BUX0VORCgpCiAJfTsKIAlpbnQgaTsKLQlpbnQgcHJlZml4X2xlbmd0aCA9IC0xOwogCWNvbnN0IGNoYXIgKmVycnN0ciA9IE5VTEw7CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLCBoYXNoX29iamVjdF9vcHRpb25zLApAQCAtMTEzLDkgKzExMyw4IEBACiAJZWxzZQogCQlwcmVmaXggPSBzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseSgmbm9uZ2l0KTsKIAotCXByZWZpeF9sZW5ndGggPSBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDA7CiAJaWYgKHZwYXRoICYmIHByZWZpeCkKLQkJdnBhdGggPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBwcmVmaXhfbGVuZ3RoLCB2cGF0aCk7CisJCXZwYXRoID0geHN0cmR1cChwcmVmaXhfZmlsZW5hbWUocHJlZml4LCB2cGF0aCkpOwogCiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCkBAIC0xNDQsMTEgKzE0MywxMyBAQAogCiAJZm9yIChpID0gMCA7IGkgPCBhcmdjOyBpKyspIHsKIAkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKKwkJY2hhciAqdG9fZnJlZSA9IE5VTEw7CiAKLQkJaWYgKDAgPD0gcHJlZml4X2xlbmd0aCkKLQkJCWFyZyA9IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHByZWZpeF9sZW5ndGgsIGFyZyk7CisJCWlmIChwcmVmaXgpCisJCQlhcmcgPSB0b19mcmVlID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgYXJnKTsKIAkJaGFzaF9vYmplY3QoYXJnLCB0eXBlLCBub19maWx0ZXJzID8gTlVMTCA6IHZwYXRoID8gdnBhdGggOiBhcmcsCiAJCQkgICAgZmxhZ3MsIGxpdGVyYWxseSk7CisJCWZyZWUodG9fZnJlZSk7CiAJfQogCiAJaWYgKHN0ZGluX3BhdGhzKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9oZWxwLmMgYi9idWlsdGluL2hlbHAuYwppbmRleCA0OWY3YTA3Li5kM2M4ZmM0IDEwMDY0NAotLS0gYS9idWlsdGluL2hlbHAuYworKysgYi9idWlsdGluL2hlbHAuYwpAQCAtMiw2ICsyLDcgQEAKICAqIEJ1aWx0aW4gaGVscCBjb21tYW5kCiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJleGVjX2NtZC5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKQEAgLTEzMCw2ICsxMzEsNyBAQAogCQlzdHJidWZfYWRkZigmbWFuX3BhZ2UsICIod29tYW4gXCIlc1wiKSIsIHBhZ2UpOwogCQlleGVjbHAocGF0aCwgImVtYWNzY2xpZW50IiwgIi1lIiwgbWFuX3BhZ2UuYnVmLCAoY2hhciAqKU5VTEwpOwogCQl3YXJuaW5nX2Vycm5vKF8oImZhaWxlZCB0byBleGVjICclcyciKSwgcGF0aCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZtYW5fcGFnZSk7CiAJfQogfQogCkBAIC0xNTEsNiArMTUzLDcgQEAKIAkJc3RyYnVmX2FkZGYoJm1hbl9wYWdlLCAibWFuOiVzKDEpIiwgcGFnZSk7CiAJCWV4ZWNscChwYXRoLCBmaWxlbmFtZSwgIm5ld1RhYiIsIG1hbl9wYWdlLmJ1ZiwgKGNoYXIgKilOVUxMKTsKIAkJd2FybmluZ19lcnJubyhfKCJmYWlsZWQgdG8gZXhlYyAnJXMnIiksIHBhdGgpOworCQlzdHJidWZfcmVsZWFzZSgmbWFuX3BhZ2UpOwogCX0KIH0KIApAQCAtMTY4LDYgKzE3MSw3IEBACiAJc3RyYnVmX2FkZGYoJnNoZWxsX2NtZCwgIiVzICVzIiwgY21kLCBwYWdlKTsKIAlleGVjbChTSEVMTF9QQVRILCBTSEVMTF9QQVRILCAiLWMiLCBzaGVsbF9jbWQuYnVmLCAoY2hhciAqKU5VTEwpOwogCXdhcm5pbmcoXygiZmFpbGVkIHRvIGV4ZWMgJyVzJyIpLCBjbWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZzaGVsbF9jbWQpOwogfQogCiBzdGF0aWMgdm9pZCBhZGRfbWFuX3ZpZXdlcihjb25zdCBjaGFyICpuYW1lKQpAQCAtNDM3LDcgKzQ0MSw3IEBACiAKIAlhbGlhcyA9IGFsaWFzX2xvb2t1cChjbWQpOwogCWlmIChhbGlhcykgewotCQlwcmludGZfbG4oXygiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIiksIGNtZCwgYWxpYXMpOworCQlwcmludGZfbG4oXygiJyVzJyBpcyBhbGlhc2VkIHRvICclcyciKSwgY21kLCBhbGlhcyk7CiAJCWZyZWUoYWxpYXMpOwogCQlleGl0KDApOwogCX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vaW5kZXgtcGFjay5jIGIvYnVpbHRpbi9pbmRleC1wYWNrLmMKaW5kZXggODhkMjA1Zi4uZjJiZTE0NSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9pbmRleC1wYWNrLmMKKysrIGIvYnVpbHRpbi9pbmRleC1wYWNrLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRlbHRhLmgiCiAjaW5jbHVkZSAicGFjay5oIgogI2luY2x1ZGUgImNzdW0tZmlsZS5oIgpAQCAtMTEsNiArMTIsNyBAQAogI2luY2x1ZGUgImV4ZWNfY21kLmgiCiAjaW5jbHVkZSAic3RyZWFtaW5nLmgiCiAjaW5jbHVkZSAidGhyZWFkLXV0aWxzLmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgaW5kZXhfcGFja191c2FnZVtdID0KICJnaXQgaW5kZXgtcGFjayBbLXZdIFstbyA8aW5kZXgtZmlsZT5dIFstLWtlZXAgfCAtLWtlZXA9PG1zZz5dIFstLXZlcmlmeV0gWy0tc3RyaWN0XSAoPHBhY2stZmlsZT4gfCAtLXN0ZGluIFstLWZpeC10aGluXSBbPHBhY2stZmlsZT5dKSI7CkBAIC0zMDcsMTQgKzMwOSwxNSBAQAogCWlmIChmcm9tX3N0ZGluKSB7CiAJCWlucHV0X2ZkID0gMDsKIAkJaWYgKCFwYWNrX25hbWUpIHsKLQkJCXN0YXRpYyBjaGFyIHRtcF9maWxlW1BBVEhfTUFYXTsKLQkJCW91dHB1dF9mZCA9IG9kYl9ta3N0ZW1wKHRtcF9maWxlLCBzaXplb2YodG1wX2ZpbGUpLAorCQkJc3RydWN0IHN0cmJ1ZiB0bXBfZmlsZSA9IFNUUkJVRl9JTklUOworCQkJb3V0cHV0X2ZkID0gb2RiX21rc3RlbXAoJnRtcF9maWxlLAogCQkJCQkJInBhY2svdG1wX3BhY2tfWFhYWFhYIik7Ci0JCQlwYWNrX25hbWUgPSB4c3RyZHVwKHRtcF9maWxlKTsKLQkJfSBlbHNlCisJCQlwYWNrX25hbWUgPSBzdHJidWZfZGV0YWNoKCZ0bXBfZmlsZSwgTlVMTCk7CisJCX0gZWxzZSB7CiAJCQlvdXRwdXRfZmQgPSBvcGVuKHBhY2tfbmFtZSwgT19DUkVBVHxPX0VYQ0x8T19SRFdSLCAwNjAwKTsKLQkJaWYgKG91dHB1dF9mZCA8IDApCi0JCQlkaWVfZXJybm8oXygidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIiksIHBhY2tfbmFtZSk7CisJCQlpZiAob3V0cHV0X2ZkIDwgMCkKKwkJCQlkaWVfZXJybm8oXygidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIiksIHBhY2tfbmFtZSk7CisJCX0KIAkJbm90aHJlYWRfZGF0YS5wYWNrX2ZkID0gb3V0cHV0X2ZkOwogCX0gZWxzZSB7CiAJCWlucHV0X2ZkID0gb3BlbihwYWNrX25hbWUsIE9fUkRPTkxZKTsKQEAgLTM4Nyw4ICszOTAsNyBAQAogc3RhdGljIHZvaWQgZnJlZV9iYXNlX2RhdGEoc3RydWN0IGJhc2VfZGF0YSAqYykKIHsKIAlpZiAoYy0+ZGF0YSkgewotCQlmcmVlKGMtPmRhdGEpOwotCQljLT5kYXRhID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTChjLT5kYXRhKTsKIAkJZ2V0X3RocmVhZF9kYXRhKCktPmJhc2VfY2FjaGVfdXNlZCAtPSBjLT5zaXplOwogCX0KIH0KQEAgLTYwNCw4ICs2MDYsNyBAQAogCWdpdF9pbmZsYXRlX2VuZCgmc3RyZWFtKTsKIAlmcmVlKGluYnVmKTsKIAlpZiAoY29uc3VtZSkgewotCQlmcmVlKGRhdGEpOwotCQlkYXRhID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTChkYXRhKTsKIAl9CiAJcmV0dXJuIGRhdGE7CiB9CkBAIC03NDYsMTMgKzc0NywxMyBAQAogCQlzc2l6ZV90IGxlbiA9IHJlYWRfaXN0cmVhbShkYXRhLT5zdCwgZGF0YS0+YnVmLCBzaXplKTsKIAkJaWYgKGxlbiA9PSAwKQogCQkJZGllKF8oIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIpLAotCQkJICAgIHNoYTFfdG9faGV4KGRhdGEtPmVudHJ5LT5pZHguc2hhMSkpOworCQkJICAgIG9pZF90b19oZXgoJmRhdGEtPmVudHJ5LT5pZHgub2lkKSk7CiAJCWlmIChsZW4gPCAwKQogCQkJZGllKF8oInVuYWJsZSB0byByZWFkICVzIiksCi0JCQkgICAgc2hhMV90b19oZXgoZGF0YS0+ZW50cnktPmlkeC5zaGExKSk7CisJCQkgICAgb2lkX3RvX2hleCgmZGF0YS0+ZW50cnktPmlkeC5vaWQpKTsKIAkJaWYgKG1lbWNtcChidWYsIGRhdGEtPmJ1ZiwgbGVuKSkKIAkJCWRpZShfKCJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiKSwKLQkJCSAgICBzaGExX3RvX2hleChkYXRhLT5lbnRyeS0+aWR4LnNoYTEpKTsKKwkJCSAgICBvaWRfdG9faGV4KCZkYXRhLT5lbnRyeS0+aWR4Lm9pZCkpOwogCQlzaXplIC09IGxlbjsKIAkJYnVmICs9IGxlbjsKIAl9CkBAIC03NzAsMTIgKzc3MSwxMiBAQAogCiAJbWVtc2V0KCZkYXRhLCAwLCBzaXplb2YoZGF0YSkpOwogCWRhdGEuZW50cnkgPSBlbnRyeTsKLQlkYXRhLnN0ID0gb3Blbl9pc3RyZWFtKGVudHJ5LT5pZHguc2hhMSwgJnR5cGUsICZzaXplLCBOVUxMKTsKKwlkYXRhLnN0ID0gb3Blbl9pc3RyZWFtKGVudHJ5LT5pZHgub2lkLmhhc2gsICZ0eXBlLCAmc2l6ZSwgTlVMTCk7CiAJaWYgKCFkYXRhLnN0KQogCQlyZXR1cm4gLTE7CiAJaWYgKHNpemUgIT0gZW50cnktPnNpemUgfHwgdHlwZSAhPSBlbnRyeS0+dHlwZSkKIAkJZGllKF8oIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIpLAotCQkgICAgc2hhMV90b19oZXgoZW50cnktPmlkeC5zaGExKSk7CisJCSAgICBvaWRfdG9faGV4KCZlbnRyeS0+aWR4Lm9pZCkpOwogCXVucGFja19kYXRhKGVudHJ5LCBjb21wYXJlX29iamVjdHMsICZkYXRhKTsKIAljbG9zZV9pc3RyZWFtKGRhdGEuc3QpOwogCWZyZWUoZGF0YS5idWYpOwpAQCAtNzg0LDcgKzc4NSw3IEBACiAKIHN0YXRpYyB2b2lkIHNoYTFfb2JqZWN0KGNvbnN0IHZvaWQgKmRhdGEsIHN0cnVjdCBvYmplY3RfZW50cnkgKm9ial9lbnRyeSwKIAkJCXVuc2lnbmVkIGxvbmcgc2l6ZSwgZW51bSBvYmplY3RfdHlwZSB0eXBlLAotCQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKKwkJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAl2b2lkICpuZXdfZGF0YSA9IE5VTEw7CiAJaW50IGNvbGxpc2lvbl90ZXN0X25lZWRlZCA9IDA7CkBAIC03OTMsNyArNzk0LDggQEAKIAogCWlmIChzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeSkgewogCQlyZWFkX2xvY2soKTsKLQkJY29sbGlzaW9uX3Rlc3RfbmVlZGVkID0gaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKHNoYTEsIEhBU19TSEExX1FVSUNLKTsKKwkJY29sbGlzaW9uX3Rlc3RfbmVlZGVkID0KKwkJCWhhc19zaGExX2ZpbGVfd2l0aF9mbGFncyhvaWQtPmhhc2gsIE9CSkVDVF9JTkZPX1FVSUNLKTsKIAkJcmVhZF91bmxvY2soKTsKIAl9CiAKQEAgLTgwOCwyOSArODEwLDMxIEBACiAJCWVudW0gb2JqZWN0X3R5cGUgaGFzX3R5cGU7CiAJCXVuc2lnbmVkIGxvbmcgaGFzX3NpemU7CiAJCXJlYWRfbG9jaygpOwotCQloYXNfdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgJmhhc19zaXplKTsKKwkJaGFzX3R5cGUgPSBzaGExX29iamVjdF9pbmZvKG9pZC0+aGFzaCwgJmhhc19zaXplKTsKKwkJaWYgKGhhc190eXBlIDwgMCkKKwkJCWRpZShfKCJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgaW5mbyAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOwogCQlpZiAoaGFzX3R5cGUgIT0gdHlwZSB8fCBoYXNfc2l6ZSAhPSBzaXplKQotCQkJZGllKF8oIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIpLCBzaGExX3RvX2hleChzaGExKSk7Ci0JCWhhc19kYXRhID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJmhhc190eXBlLCAmaGFzX3NpemUpOworCQkJZGllKF8oIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIpLCBvaWRfdG9faGV4KG9pZCkpOworCQloYXNfZGF0YSA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJmhhc190eXBlLCAmaGFzX3NpemUpOwogCQlyZWFkX3VubG9jaygpOwogCQlpZiAoIWRhdGEpCiAJCQlkYXRhID0gbmV3X2RhdGEgPSBnZXRfZGF0YV9mcm9tX3BhY2sob2JqX2VudHJ5KTsKIAkJaWYgKCFoYXNfZGF0YSkKLQkJCWRpZShfKCJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiKSwgc2hhMV90b19oZXgoc2hhMSkpOworCQkJZGllKF8oImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOwogCQlpZiAoc2l6ZSAhPSBoYXNfc2l6ZSB8fCB0eXBlICE9IGhhc190eXBlIHx8CiAJCSAgICBtZW1jbXAoZGF0YSwgaGFzX2RhdGEsIHNpemUpICE9IDApCi0JCQlkaWUoXygiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIiksIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCWRpZShfKCJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiKSwgb2lkX3RvX2hleChvaWQpKTsKIAkJZnJlZShoYXNfZGF0YSk7CiAJfQogCiAJaWYgKHN0cmljdCkgewogCQlyZWFkX2xvY2soKTsKIAkJaWYgKHR5cGUgPT0gT0JKX0JMT0IpIHsKLQkJCXN0cnVjdCBibG9iICpibG9iID0gbG9va3VwX2Jsb2Ioc2hhMSk7CisJCQlzdHJ1Y3QgYmxvYiAqYmxvYiA9IGxvb2t1cF9ibG9iKG9pZCk7CiAJCQlpZiAoYmxvYikKIAkJCQlibG9iLT5vYmplY3QuZmxhZ3MgfD0gRkxBR19DSEVDS0VEOwogCQkJZWxzZQotCQkJCWRpZShfKCJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIiksIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCQlkaWUoXygiaW52YWxpZCBibG9iIG9iamVjdCAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOwogCQl9IGVsc2UgewogCQkJc3RydWN0IG9iamVjdCAqb2JqOwogCQkJaW50IGVhdGVuOwpAQCAtODQyLDcgKzg0Niw4IEBACiAJCQkgKiB3ZSBkbyBub3QgbmVlZCB0byBmcmVlIHRoZSBtZW1vcnkgaGVyZSwgYXMgdGhlCiAJCQkgKiBidWYgaXMgZGVsZXRlZCBieSB0aGUgY2FsbGVyLgogCQkJICovCi0JCQlvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKHNoYTEsIHR5cGUsIHNpemUsIGJ1ZiwgJmVhdGVuKTsKKwkJCW9iaiA9IHBhcnNlX29iamVjdF9idWZmZXIob2lkLCB0eXBlLCBzaXplLCBidWYsCisJCQkJCQkgICZlYXRlbik7CiAJCQlpZiAoIW9iaikKIAkJCQlkaWUoXygiaW52YWxpZCAlcyIpLCB0eXBlbmFtZSh0eXBlKSk7CiAJCQlpZiAoZG9fZnNja19vYmplY3QgJiYKQEAgLTk1NCw5ICs5NTksMTAgQEAKIAlpZiAoIXJlc3VsdC0+ZGF0YSkKIAkJYmFkX29iamVjdChkZWx0YV9vYmotPmlkeC5vZmZzZXQsIF8oImZhaWxlZCB0byBhcHBseSBkZWx0YSIpKTsKIAloYXNoX3NoYTFfZmlsZShyZXN1bHQtPmRhdGEsIHJlc3VsdC0+c2l6ZSwKLQkJICAgICAgIHR5cGVuYW1lKGRlbHRhX29iai0+cmVhbF90eXBlKSwgZGVsdGFfb2JqLT5pZHguc2hhMSk7CisJCSAgICAgICB0eXBlbmFtZShkZWx0YV9vYmotPnJlYWxfdHlwZSksCisJCSAgICAgICBkZWx0YV9vYmotPmlkeC5vaWQuaGFzaCk7CiAJc2hhMV9vYmplY3QocmVzdWx0LT5kYXRhLCBOVUxMLCByZXN1bHQtPnNpemUsIGRlbHRhX29iai0+cmVhbF90eXBlLAotCQkgICAgZGVsdGFfb2JqLT5pZHguc2hhMSk7CisJCSAgICAmZGVsdGFfb2JqLT5pZHgub2lkKTsKIAljb3VudGVyX2xvY2soKTsKIAlucl9yZXNvbHZlZF9kZWx0YXMrKzsKIAljb3VudGVyX3VubG9jaygpOwpAQCAtOTg2LDcgKzk5Miw3IEBACiAJCQkJCQkgIHN0cnVjdCBiYXNlX2RhdGEgKnByZXZfYmFzZSkKIHsKIAlpZiAoYmFzZS0+cmVmX2xhc3QgPT0gLTEgJiYgYmFzZS0+b2ZzX2xhc3QgPT0gLTEpIHsKLQkJZmluZF9yZWZfZGVsdGFfY2hpbGRyZW4oYmFzZS0+b2JqLT5pZHguc2hhMSwKKwkJZmluZF9yZWZfZGVsdGFfY2hpbGRyZW4oYmFzZS0+b2JqLT5pZHgub2lkLmhhc2gsCiAJCQkJCSZiYXNlLT5yZWZfZmlyc3QsICZiYXNlLT5yZWZfbGFzdCwKIAkJCQkJT0JKX1JFRl9ERUxUQSk7CiAKQEAgLTExMjcsNyArMTEzMyw4IEBACiAJZm9yIChpID0gMDsgaSA8IG5yX29iamVjdHM7IGkrKykgewogCQlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpvYmogPSAmb2JqZWN0c1tpXTsKIAkJdm9pZCAqZGF0YSA9IHVucGFja19yYXdfZW50cnkob2JqLCAmb2ZzX2RlbHRhLT5vZmZzZXQsCi0JCQkJCSAgICAgIHJlZl9kZWx0YV9zaGExLCBvYmotPmlkeC5zaGExKTsKKwkJCQkJICAgICAgcmVmX2RlbHRhX3NoYTEsCisJCQkJCSAgICAgIG9iai0+aWR4Lm9pZC5oYXNoKTsKIAkJb2JqLT5yZWFsX3R5cGUgPSBvYmotPnR5cGU7CiAJCWlmIChvYmotPnR5cGUgPT0gT0JKX09GU19ERUxUQSkgewogCQkJbnJfb2ZzX2RlbHRhcysrOwpAQCAtMTE0Myw3ICsxMTUwLDggQEAKIAkJCW9iai0+cmVhbF90eXBlID0gT0JKX0JBRDsKIAkJCW5yX2RlbGF5cysrOwogCQl9IGVsc2UKLQkJCXNoYTFfb2JqZWN0KGRhdGEsIE5VTEwsIG9iai0+c2l6ZSwgb2JqLT50eXBlLCBvYmotPmlkeC5zaGExKTsKKwkJCXNoYTFfb2JqZWN0KGRhdGEsIE5VTEwsIG9iai0+c2l6ZSwgb2JqLT50eXBlLAorCQkJCSAgICAmb2JqLT5pZHgub2lkKTsKIAkJZnJlZShkYXRhKTsKIAkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgaSsxKTsKIAl9CkBAIC0xMTY5LDcgKzExNzcsOCBAQAogCQlpZiAob2JqLT5yZWFsX3R5cGUgIT0gT0JKX0JBRCkKIAkJCWNvbnRpbnVlOwogCQlvYmotPnJlYWxfdHlwZSA9IG9iai0+dHlwZTsKLQkJc2hhMV9vYmplY3QoTlVMTCwgb2JqLCBvYmotPnNpemUsIG9iai0+dHlwZSwgb2JqLT5pZHguc2hhMSk7CisJCXNoYTFfb2JqZWN0KE5VTEwsIG9iaiwgb2JqLT5zaXplLCBvYmotPnR5cGUsCisJCQkgICAgJm9iai0+aWR4Lm9pZCk7CiAJCW5yX2RlbGF5cy0tOwogCX0KIAlpZiAobnJfZGVsYXlzKQpAQCAtMTMyNyw3ICsxMzM2LDcgQEAKIAlvYmpbMV0uaWR4Lm9mZnNldCArPSB3cml0ZV9jb21wcmVzc2VkKGYsIGJ1Ziwgc2l6ZSk7CiAJb2JqWzBdLmlkeC5jcmMzMiA9IGNyYzMyX2VuZChmKTsKIAlzaGExZmx1c2goZik7Ci0JaGFzaGNweShvYmotPmlkeC5zaGExLCBzaGExKTsKKwloYXNoY3B5KG9iai0+aWR4Lm9pZC5oYXNoLCBzaGExKTsKIAlyZXR1cm4gb2JqOwogfQogCkBAIC0xNDQyLDEwICsxNDUxLDExIEBACiAJaWYgKCFmcm9tX3N0ZGluKSB7CiAJCXByaW50ZigiJXNcbiIsIHNoYTFfdG9faGV4KHNoYTEpKTsKIAl9IGVsc2UgewotCQljaGFyIGJ1Zls0OF07Ci0JCWludCBsZW4gPSBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXNcdCVzXG4iLAotCQkJCSAgIHJlcG9ydCwgc2hhMV90b19oZXgoc2hhMSkpOwotCQl3cml0ZV9vcl9kaWUoMSwgYnVmLCBsZW4pOworCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCisJCXN0cmJ1Zl9hZGRmKCZidWYsICIlc1x0JXNcbiIsIHJlcG9ydCwgc2hhMV90b19oZXgoc2hhMSkpOworCQl3cml0ZV9vcl9kaWUoMSwgYnVmLmJ1ZiwgYnVmLmxlbik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCiAJCS8qCiAJCSAqIExldCdzIGp1c3QgbWltaWMgZ2l0LXVucGFjay1vYmplY3RzIGhlcmUgYW5kIHdyaXRlCkBAIC0xNTc3LDEzICsxNTg3LDE0IEBACiAJCWlmIChzdGF0X29ubHkpCiAJCQljb250aW51ZTsKIAkJcHJpbnRmKCIlcyAlLTZzICVsdSAlbHUgJSJQUkl1TUFYLAotCQkgICAgICAgc2hhMV90b19oZXgob2JqLT5pZHguc2hhMSksCisJCSAgICAgICBvaWRfdG9faGV4KCZvYmotPmlkeC5vaWQpLAogCQkgICAgICAgdHlwZW5hbWUob2JqLT5yZWFsX3R5cGUpLCBvYmotPnNpemUsCiAJCSAgICAgICAodW5zaWduZWQgbG9uZykob2JqWzFdLmlkeC5vZmZzZXQgLSBvYmotPmlkeC5vZmZzZXQpLAogCQkgICAgICAgKHVpbnRtYXhfdClvYmotPmlkeC5vZmZzZXQpOwogCQlpZiAoaXNfZGVsdGFfdHlwZShvYmotPnR5cGUpKSB7CiAJCQlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpib2JqID0gJm9iamVjdHNbb2JqX3N0YXRbaV0uYmFzZV9vYmplY3Rfbm9dOwotCQkJcHJpbnRmKCIgJXUgJXMiLCBvYmpfc3RhdFtpXS5kZWx0YV9kZXB0aCwgc2hhMV90b19oZXgoYm9iai0+aWR4LnNoYTEpKTsKKwkJCXByaW50ZigiICV1ICVzIiwgb2JqX3N0YXRbaV0uZGVsdGFfZGVwdGgsCisJCQkgICAgICAgb2lkX3RvX2hleCgmYm9iai0+aWR4Lm9pZCkpOwogCQl9CiAJCXB1dGNoYXIoJ1xuJyk7CiAJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9pbml0LWRiLmMgYi9idWlsdGluL2luaXQtZGIuYwppbmRleCA4YTZhY2IwLi5jOWI3OTQ2IDEwMDY0NAotLS0gYS9idWlsdGluL2luaXQtZGIuYworKysgYi9idWlsdGluL2luaXQtZGIuYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUKICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJleGVjX2NtZC5oIgpAQCAtNTc4LDYgKzU3OSw4IEBACiAJCQlzZXRfZ2l0X3dvcmtfdHJlZSh3b3JrX3RyZWUpOwogCX0KIAorCVVOTEVBSyhyZWFsX2dpdF9kaXIpOworCiAJZmxhZ3MgfD0gSU5JVF9EQl9FWElTVF9PSzsKIAlyZXR1cm4gaW5pdF9kYihnaXRfZGlyLCByZWFsX2dpdF9kaXIsIHRlbXBsYXRlX2RpciwgZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYyBiL2J1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmMKaW5kZXggMTc1ZjE0Ny4uYjc0MjUzOSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYworKysgYi9idWlsdGluL2ludGVycHJldC10cmFpbGVycy5jCkBAIC0xNiwzNCArMTYsMTE5IEBACiAJTlVMTAogfTsKIAorc3RhdGljIGVudW0gdHJhaWxlcl93aGVyZSB3aGVyZTsKK3N0YXRpYyBlbnVtIHRyYWlsZXJfaWZfZXhpc3RzIGlmX2V4aXN0czsKK3N0YXRpYyBlbnVtIHRyYWlsZXJfaWZfbWlzc2luZyBpZl9taXNzaW5nOworCitzdGF0aWMgaW50IG9wdGlvbl9wYXJzZV93aGVyZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkgICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlyZXR1cm4gdHJhaWxlcl9zZXRfd2hlcmUoJndoZXJlLCBhcmcpOworfQorCitzdGF0aWMgaW50IG9wdGlvbl9wYXJzZV9pZl9leGlzdHMoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCSAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJcmV0dXJuIHRyYWlsZXJfc2V0X2lmX2V4aXN0cygmaWZfZXhpc3RzLCBhcmcpOworfQorCitzdGF0aWMgaW50IG9wdGlvbl9wYXJzZV9pZl9taXNzaW5nKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlyZXR1cm4gdHJhaWxlcl9zZXRfaWZfbWlzc2luZygmaWZfbWlzc2luZywgYXJnKTsKK30KKworc3RhdGljIHZvaWQgbmV3X3RyYWlsZXJzX2NsZWFyKHN0cnVjdCBsaXN0X2hlYWQgKnRyYWlsZXJzKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnBvcywgKnRtcDsKKwlzdHJ1Y3QgbmV3X3RyYWlsZXJfaXRlbSAqaXRlbTsKKworCWxpc3RfZm9yX2VhY2hfc2FmZShwb3MsIHRtcCwgdHJhaWxlcnMpIHsKKwkJaXRlbSA9IGxpc3RfZW50cnkocG9zLCBzdHJ1Y3QgbmV3X3RyYWlsZXJfaXRlbSwgbGlzdCk7CisJCWxpc3RfZGVsKHBvcyk7CisJCWZyZWUoaXRlbSk7CisJfQorfQorCitzdGF0aWMgaW50IG9wdGlvbl9wYXJzZV90cmFpbGVyKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICp0cmFpbGVycyA9IG9wdC0+dmFsdWU7CisJc3RydWN0IG5ld190cmFpbGVyX2l0ZW0gKml0ZW07CisKKwlpZiAodW5zZXQpIHsKKwkJbmV3X3RyYWlsZXJzX2NsZWFyKHRyYWlsZXJzKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFhcmcpCisJCXJldHVybiAtMTsKKworCWl0ZW0gPSB4bWFsbG9jKHNpemVvZigqaXRlbSkpOworCWl0ZW0tPnRleHQgPSBhcmc7CisJaXRlbS0+d2hlcmUgPSB3aGVyZTsKKwlpdGVtLT5pZl9leGlzdHMgPSBpZl9leGlzdHM7CisJaXRlbS0+aWZfbWlzc2luZyA9IGlmX21pc3Npbmc7CisJbGlzdF9hZGRfdGFpbCgmaXRlbS0+bGlzdCwgdHJhaWxlcnMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHBhcnNlX29wdF9wYXJzZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywKKwkJCSAgIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgcHJvY2Vzc190cmFpbGVyX29wdGlvbnMgKnYgPSBvcHQtPnZhbHVlOworCXYtPm9ubHlfdHJhaWxlcnMgPSAxOworCXYtPm9ubHlfaW5wdXQgPSAxOworCXYtPnVuZm9sZCA9IDE7CisJcmV0dXJuIDA7Cit9CisKIGludCBjbWRfaW50ZXJwcmV0X3RyYWlsZXJzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCWludCBpbl9wbGFjZSA9IDA7Ci0JaW50IHRyaW1fZW1wdHkgPSAwOwotCXN0cnVjdCBzdHJpbmdfbGlzdCB0cmFpbGVycyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CisJc3RydWN0IHByb2Nlc3NfdHJhaWxlcl9vcHRpb25zIG9wdHMgPSBQUk9DRVNTX1RSQUlMRVJfT1BUSU9OU19JTklUOworCUxJU1RfSEVBRCh0cmFpbGVycyk7CiAKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0woMCwgImluLXBsYWNlIiwgJmluX3BsYWNlLCBOXygiZWRpdCBmaWxlcyBpbiBwbGFjZSIpKSwKLQkJT1BUX0JPT0woMCwgInRyaW0tZW1wdHkiLCAmdHJpbV9lbXB0eSwgTl8oInRyaW0gZW1wdHkgdHJhaWxlcnMiKSksCi0JCU9QVF9TVFJJTkdfTElTVCgwLCAidHJhaWxlciIsICZ0cmFpbGVycywgTl8oInRyYWlsZXIiKSwKLQkJCQlOXygidHJhaWxlcihzKSB0byBhZGQiKSksCisJCU9QVF9CT09MKDAsICJpbi1wbGFjZSIsICZvcHRzLmluX3BsYWNlLCBOXygiZWRpdCBmaWxlcyBpbiBwbGFjZSIpKSwKKwkJT1BUX0JPT0woMCwgInRyaW0tZW1wdHkiLCAmb3B0cy50cmltX2VtcHR5LCBOXygidHJpbSBlbXB0eSB0cmFpbGVycyIpKSwKKworCQlPUFRfQ0FMTEJBQ0soMCwgIndoZXJlIiwgTlVMTCwgTl8oImFjdGlvbiIpLAorCQkJICAgICBOXygid2hlcmUgdG8gcGxhY2UgdGhlIG5ldyB0cmFpbGVyIiksIG9wdGlvbl9wYXJzZV93aGVyZSksCisJCU9QVF9DQUxMQkFDSygwLCAiaWYtZXhpc3RzIiwgTlVMTCwgTl8oImFjdGlvbiIpLAorCQkJICAgICBOXygiYWN0aW9uIGlmIHRyYWlsZXIgYWxyZWFkeSBleGlzdHMiKSwgb3B0aW9uX3BhcnNlX2lmX2V4aXN0cyksCisJCU9QVF9DQUxMQkFDSygwLCAiaWYtbWlzc2luZyIsIE5VTEwsIE5fKCJhY3Rpb24iKSwKKwkJCSAgICAgTl8oImFjdGlvbiBpZiB0cmFpbGVyIGlzIG1pc3NpbmciKSwgb3B0aW9uX3BhcnNlX2lmX21pc3NpbmcpLAorCisJCU9QVF9CT09MKDAsICJvbmx5LXRyYWlsZXJzIiwgJm9wdHMub25seV90cmFpbGVycywgTl8oIm91dHB1dCBvbmx5IHRoZSB0cmFpbGVycyIpKSwKKwkJT1BUX0JPT0woMCwgIm9ubHktaW5wdXQiLCAmb3B0cy5vbmx5X2lucHV0LCBOXygiZG8gbm90IGFwcGx5IGNvbmZpZyBydWxlcyIpKSwKKwkJT1BUX0JPT0woMCwgInVuZm9sZCIsICZvcHRzLnVuZm9sZCwgTl8oImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIikpLAorCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgInBhcnNlIiwgJm9wdHMsIE5VTEwsIE5fKCJzZXQgcGFyc2luZyBvcHRpb25zIiksCisJCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIHBhcnNlX29wdF9wYXJzZSB9LAorCQlPUFRfQ0FMTEJBQ0soMCwgInRyYWlsZXIiLCAmdHJhaWxlcnMsIE5fKCJ0cmFpbGVyIiksCisJCQkJTl8oInRyYWlsZXIocykgdG8gYWRkIiksIG9wdGlvbl9wYXJzZV90cmFpbGVyKSwKIAkJT1BUX0VORCgpCiAJfTsKIAogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywKIAkJCSAgICAgZ2l0X2ludGVycHJldF90cmFpbGVyc191c2FnZSwgMCk7CiAKKwlpZiAob3B0cy5vbmx5X2lucHV0ICYmICFsaXN0X2VtcHR5KCZ0cmFpbGVycykpCisJCXVzYWdlX21zZ19vcHQoCisJCQlfKCItLXRyYWlsZXIgd2l0aCAtLW9ubHktaW5wdXQgZG9lcyBub3QgbWFrZSBzZW5zZSIpLAorCQkJZ2l0X2ludGVycHJldF90cmFpbGVyc191c2FnZSwKKwkJCW9wdGlvbnMpOworCiAJaWYgKGFyZ2MpIHsKIAkJaW50IGk7CiAJCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspCi0JCQlwcm9jZXNzX3RyYWlsZXJzKGFyZ3ZbaV0sIGluX3BsYWNlLCB0cmltX2VtcHR5LCAmdHJhaWxlcnMpOworCQkJcHJvY2Vzc190cmFpbGVycyhhcmd2W2ldLCAmb3B0cywgJnRyYWlsZXJzKTsKIAl9IGVsc2UgewotCQlpZiAoaW5fcGxhY2UpCisJCWlmIChvcHRzLmluX3BsYWNlKQogCQkJZGllKF8oIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciKSk7Ci0JCXByb2Nlc3NfdHJhaWxlcnMoTlVMTCwgaW5fcGxhY2UsIHRyaW1fZW1wdHksICZ0cmFpbGVycyk7CisJCXByb2Nlc3NfdHJhaWxlcnMoTlVMTCwgJm9wdHMsICZ0cmFpbGVycyk7CiAJfQogCi0Jc3RyaW5nX2xpc3RfY2xlYXIoJnRyYWlsZXJzLCAwKTsKKwluZXdfdHJhaWxlcnNfY2xlYXIoJnRyYWlsZXJzKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9sb2cuYyBiL2J1aWx0aW4vbG9nLmMKaW5kZXggNTVkMjBjYy4uZDgxYTA5MCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9sb2cuYworKysgYi9idWlsdGluL2xvZy5jCkBAIC01LDYgKzUsNyBAQAogICoJCSAyMDA2IEp1bmlvIEhhbWFubwogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAiY29sb3IuaCIKICNpbmNsdWRlICJjb21taXQuaCIKQEAgLTI2LDYgKzI3LDcgQEAKICNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAjaW5jbHVkZSAibWFpbG1hcC5oIgogI2luY2x1ZGUgImdwZy1pbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJwcm9ncmVzcy5oIgogCiAvKiBTZXQgYSBkZWZhdWx0IGRhdGUtdGltZSBmb3JtYXQgZm9yIGdpdCBsb2cgKCJsb2cuZGF0ZSIgY29uZmlnIHZhcmlhYmxlKSAqLwogc3RhdGljIGNvbnN0IGNoYXIgKmRlZmF1bHRfZGF0ZV9tb2RlID0gTlVMTDsKQEAgLTUyLDkgKzU0LDE0IEBACiAJc3RydWN0IHN0cmluZ19saXN0IGFyZ3M7CiB9OwogCi1zdGF0aWMgaW50IHBhcnNlX2RlY29yYXRpb25fc3R5bGUoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSkKK3N0YXRpYyBpbnQgYXV0b19kZWNvcmF0aW9uX3N0eWxlKHZvaWQpCiB7Ci0Jc3dpdGNoIChnaXRfY29uZmlnX21heWJlX2Jvb2wodmFyLCB2YWx1ZSkpIHsKKwlyZXR1cm4gKGlzYXR0eSgxKSB8fCBwYWdlcl9pbl91c2UoKSkgPyBERUNPUkFURV9TSE9SVF9SRUZTIDogMDsKK30KKworc3RhdGljIGludCBwYXJzZV9kZWNvcmF0aW9uX3N0eWxlKGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXN3aXRjaCAoZ2l0X3BhcnNlX21heWJlX2Jvb2wodmFsdWUpKSB7CiAJY2FzZSAxOgogCQlyZXR1cm4gREVDT1JBVEVfU0hPUlRfUkVGUzsKIAljYXNlIDA6CkBAIC02Nyw3ICs3NCw3IEBACiAJZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZSwgInNob3J0IikpCiAJCXJldHVybiBERUNPUkFURV9TSE9SVF9SRUZTOwogCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJhdXRvIikpCi0JCXJldHVybiAoaXNhdHR5KDEpIHx8IHBhZ2VyX2luX3VzZSgpKSA/IERFQ09SQVRFX1NIT1JUX1JFRlMgOiAwOworCQlyZXR1cm4gYXV0b19kZWNvcmF0aW9uX3N0eWxlKCk7CiAJcmV0dXJuIC0xOwogfQogCkBAIC03Niw3ICs4Myw3IEBACiAJaWYgKHVuc2V0KQogCQlkZWNvcmF0aW9uX3N0eWxlID0gMDsKIAllbHNlIGlmIChhcmcpCi0JCWRlY29yYXRpb25fc3R5bGUgPSBwYXJzZV9kZWNvcmF0aW9uX3N0eWxlKCJjb21tYW5kIGxpbmUiLCBhcmcpOworCQlkZWNvcmF0aW9uX3N0eWxlID0gcGFyc2VfZGVjb3JhdGlvbl9zdHlsZShhcmcpOwogCWVsc2UKIAkJZGVjb3JhdGlvbl9zdHlsZSA9IERFQ09SQVRFX1NIT1JUX1JFRlM7CiAKQEAgLTEwNSw2ICsxMTIsOCBAQAogewogCWluaXRfZ3JlcF9kZWZhdWx0cygpOwogCWluaXRfZGlmZl91aV9kZWZhdWx0cygpOworCisJZGVjb3JhdGlvbl9zdHlsZSA9IGF1dG9fZGVjb3JhdGlvbl9zdHlsZSgpOwogfQogCiBzdGF0aWMgdm9pZCBjbWRfbG9nX2luaXRfZGVmYXVsdHMoc3RydWN0IHJldl9pbmZvICpyZXYpCkBAIC0zNjQsMTEgKzM3MywxNCBAQAogCQkJICovCiAJCQlyZXYtPm1heF9jb3VudCsrOwogCQlpZiAoIXJldi0+cmVmbG9nX2luZm8pIHsKLQkJCS8qIHdlIGFsbG93IGN5Y2xlcyBpbiByZWZsb2cgYW5jZXN0cnkgKi8KKwkJCS8qCisJCQkgKiBXZSBtYXkgc2hvdyBhIGdpdmVuIGNvbW1pdCBtdWx0aXBsZSB0aW1lcyB3aGVuCisJCQkgKiB3YWxraW5nIHRoZSByZWZsb2dzLgorCQkJICovCiAJCQlmcmVlX2NvbW1pdF9idWZmZXIoY29tbWl0KTsKKwkJCWZyZWVfY29tbWl0X2xpc3QoY29tbWl0LT5wYXJlbnRzKTsKKwkJCWNvbW1pdC0+cGFyZW50cyA9IE5VTEw7CiAJCX0KLQkJZnJlZV9jb21taXRfbGlzdChjb21taXQtPnBhcmVudHMpOwotCQljb21taXQtPnBhcmVudHMgPSBOVUxMOwogCQlpZiAoc2F2ZWRfbnJsIDwgcmV2LT5kaWZmb3B0Lm5lZWRlZF9yZW5hbWVfbGltaXQpCiAJCQlzYXZlZF9ucmwgPSByZXYtPmRpZmZvcHQubmVlZGVkX3JlbmFtZV9saW1pdDsKIAkJaWYgKHJldi0+ZGlmZm9wdC5kZWdyYWRlZF9jY190b19jKQpAQCAtNDAxLDcgKzQxMyw3IEBACiAJaWYgKCFzdHJjbXAodmFyLCAibG9nLmRhdGUiKSkKIAkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZkZWZhdWx0X2RhdGVfbW9kZSwgdmFyLCB2YWx1ZSk7CiAJaWYgKCFzdHJjbXAodmFyLCAibG9nLmRlY29yYXRlIikpIHsKLQkJZGVjb3JhdGlvbl9zdHlsZSA9IHBhcnNlX2RlY29yYXRpb25fc3R5bGUodmFyLCB2YWx1ZSk7CisJCWRlY29yYXRpb25fc3R5bGUgPSBwYXJzZV9kZWNvcmF0aW9uX3N0eWxlKHZhbHVlKTsKIAkJaWYgKGRlY29yYXRpb25fc3R5bGUgPCAwKQogCQkJZGVjb3JhdGlvbl9zdHlsZSA9IDA7IC8qIG1heWJlIHdhcm4/ICovCiAJCXJldHVybiAwOwpAQCAtNDc2LDE2ICs0ODgsMjAgQEAKIAkgICAgIURJRkZfT1BUX1RTVCgmcmV2LT5kaWZmb3B0LCBBTExPV19URVhUQ09OVikpCiAJCXJldHVybiBzdHJlYW1fYmxvYl90b19mZCgxLCBvaWQsIE5VTEwsIDApOwogCi0JaWYgKGdldF9zaGExX3dpdGhfY29udGV4dChvYmpfbmFtZSwgMCwgb2lkYy5oYXNoLCAmb2JqX2NvbnRleHQpKQorCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dChvYmpfbmFtZSwgR0VUX09JRF9SRUNPUkRfUEFUSCwKKwkJCQkgJm9pZGMsICZvYmpfY29udGV4dCkpCiAJCWRpZShfKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIpLCBvYmpfbmFtZSk7Ci0JaWYgKCFvYmpfY29udGV4dC5wYXRoWzBdIHx8Ci0JICAgICF0ZXh0Y29udl9vYmplY3Qob2JqX2NvbnRleHQucGF0aCwgb2JqX2NvbnRleHQubW9kZSwgJm9pZGMsIDEsICZidWYsICZzaXplKSkKKwlpZiAoIW9ial9jb250ZXh0LnBhdGggfHwKKwkgICAgIXRleHRjb252X29iamVjdChvYmpfY29udGV4dC5wYXRoLCBvYmpfY29udGV4dC5tb2RlLCAmb2lkYywgMSwgJmJ1ZiwgJnNpemUpKSB7CisJCWZyZWUob2JqX2NvbnRleHQucGF0aCk7CiAJCXJldHVybiBzdHJlYW1fYmxvYl90b19mZCgxLCBvaWQsIE5VTEwsIDApOworCX0KIAogCWlmICghYnVmKQogCQlkaWUoXygiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIiksIG9ial9uYW1lKTsKIAogCXdyaXRlX29yX2RpZSgxLCBidWYsIHNpemUpOworCWZyZWUob2JqX2NvbnRleHQucGF0aCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU4OSw3ICs2MDUsNyBAQAogCQkJcmV2LnNob3duX29uZSA9IDE7CiAJCQlpZiAocmV0KQogCQkJCWJyZWFrOwotCQkJbyA9IHBhcnNlX29iamVjdCh0LT50YWdnZWQtPm9pZC5oYXNoKTsKKwkJCW8gPSBwYXJzZV9vYmplY3QoJnQtPnRhZ2dlZC0+b2lkKTsKIAkJCWlmICghbykKIAkJCQlyZXQgPSBlcnJvcihfKCJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiKSwKIAkJCQkJICAgIG9pZF90b19oZXgoJnQtPnRhZ2dlZC0+b2lkKSk7CkBAIC04MDksNyArODI1LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCWlmICghc3RyY21wKHZhciwgImZvcm1hdC5mcm9tIikpIHsKLQkJaW50IGIgPSBnaXRfY29uZmlnX21heWJlX2Jvb2wodmFyLCB2YWx1ZSk7CisJCWludCBiID0gZ2l0X3BhcnNlX21heWJlX2Jvb2wodmFsdWUpOwogCQlmcmVlKGZyb20pOwogCQlpZiAoYiA8IDApCiAJCQlmcm9tID0geHN0cmR1cCh2YWx1ZSk7CkBAIC04MzUsOCArODUxLDEwIEBACiAJaWYgKG91dHB1dF9kaXJlY3RvcnkpIHsKIAkJc3RyYnVmX2FkZHN0cigmZmlsZW5hbWUsIG91dHB1dF9kaXJlY3RvcnkpOwogCQlpZiAoZmlsZW5hbWUubGVuID49Ci0JCSAgICBQQVRIX01BWCAtIEZPUk1BVF9QQVRDSF9OQU1FX01BWCAtIHN1ZmZpeF9sZW4pCisJCSAgICBQQVRIX01BWCAtIEZPUk1BVF9QQVRDSF9OQU1FX01BWCAtIHN1ZmZpeF9sZW4pIHsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZmaWxlbmFtZSk7CiAJCQlyZXR1cm4gZXJyb3IoXygibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIikpOworCQl9CiAJCXN0cmJ1Zl9jb21wbGV0ZSgmZmlsZW5hbWUsICcvJyk7CiAJfQogCkBAIC04NTAsOCArODY4LDExIEBACiAJaWYgKCFxdWlldCkKIAkJcHJpbnRmKCIlc1xuIiwgZmlsZW5hbWUuYnVmICsgb3V0ZGlyX29mZnNldCk7CiAKLQlpZiAoKHJldi0+ZGlmZm9wdC5maWxlID0gZm9wZW4oZmlsZW5hbWUuYnVmLCAidyIpKSA9PSBOVUxMKQotCQlyZXR1cm4gZXJyb3IoXygiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIpLCBmaWxlbmFtZS5idWYpOworCWlmICgocmV2LT5kaWZmb3B0LmZpbGUgPSBmb3BlbihmaWxlbmFtZS5idWYsICJ3IikpID09IE5VTEwpIHsKKwkJZXJyb3JfZXJybm8oXygiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIpLCBmaWxlbmFtZS5idWYpOworCQlzdHJidWZfcmVsZWFzZSgmZmlsZW5hbWUpOworCQlyZXR1cm4gLTE7CisJfQogCiAJc3RyYnVmX3JlbGVhc2UoJmZpbGVuYW1lKTsKIAlyZXR1cm4gMDsKQEAgLTg3MSw4ICs4OTIsOCBAQAogCW8yID0gcmV2LT5wZW5kaW5nLm9iamVjdHNbMV0uaXRlbTsKIAlmbGFnczEgPSBvMS0+ZmxhZ3M7CiAJZmxhZ3MyID0gbzItPmZsYWdzOwotCWMxID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UobzEtPm9pZC5oYXNoKTsKLQljMiA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG8yLT5vaWQuaGFzaCk7CisJYzEgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmbzEtPm9pZCk7CisJYzIgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmbzItPm9pZCk7CiAKIAlpZiAoKGZsYWdzMSAmIFVOSU5URVJFU1RJTkcpID09IChmbGFnczIgJiBVTklOVEVSRVNUSU5HKSkKIAkJZGllKF8oIk5vdCBhIHJhbmdlLiIpKTsKQEAgLTkwMyw4ICs5MjQsOCBAQAogc3RhdGljIHZvaWQgZ2VuX21lc3NhZ2VfaWQoc3RydWN0IHJldl9pbmZvICppbmZvLCBjaGFyICpiYXNlKQogewogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0Jc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzLiVsdS5naXQuJXMiLCBiYXNlLAotCQkgICAgKHVuc2lnbmVkIGxvbmcpIHRpbWUoTlVMTCksCisJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzLiUiUFJJdGltZSIuZ2l0LiVzIiwgYmFzZSwKKwkJICAgICh0aW1lc3RhbXBfdCkgdGltZShOVUxMKSwKIAkJICAgIGdpdF9jb21taXR0ZXJfaW5mbyhJREVOVF9OT19OQU1FfElERU5UX05PX0RBVEV8SURFTlRfU1RSSUNUKSk7CiAJaW5mby0+bWVzc2FnZV9pZCA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CiB9CkBAIC05ODksOCArMTAxMCw3IEBACiAJICAgIG9wZW5fbmV4dF9maWxlKE5VTEwsIHJldi0+bnVtYmVyZWRfZmlsZXMgPyBOVUxMIDogImNvdmVyLWxldHRlciIsIHJldiwgcXVpZXQpKQogCQlyZXR1cm47CiAKLQlsb2dfd3JpdGVfZW1haWxfaGVhZGVycyhyZXYsIGhlYWQsICZwcC5zdWJqZWN0LCAmcHAuYWZ0ZXJfc3ViamVjdCwKLQkJCQkmbmVlZF84Yml0X2N0ZSk7CisJbG9nX3dyaXRlX2VtYWlsX2hlYWRlcnMocmV2LCBoZWFkLCAmcHAuYWZ0ZXJfc3ViamVjdCwgJm5lZWRfOGJpdF9jdGUpOwogCiAJZm9yIChpID0gMDsgIW5lZWRfOGJpdF9jdGUgJiYgaSA8IG5yOyBpKyspIHsKIAkJY29uc3QgY2hhciAqYnVmID0gZ2V0X2NvbW1pdF9idWZmZXIobGlzdFtpXSwgTlVMTCk7CkBAIC0xMDA1LDYgKzEwMjUsOCBAQAogCW1zZyA9IGJvZHk7CiAJcHAuZm10ID0gQ01JVF9GTVRfRU1BSUw7CiAJcHAuZGF0ZV9tb2RlLnR5cGUgPSBEQVRFX1JGQzI4MjI7CisJcHAucmV2ID0gcmV2OworCXBwLnByaW50X2VtYWlsX3N1YmplY3QgPSAxOwogCXBwX3VzZXJfaW5mbygmcHAsIE5VTEwsICZzYiwgY29tbWl0dGVyLCBlbmNvZGluZyk7CiAJcHBfdGl0bGVfbGluZSgmcHAsICZtc2csICZzYiwgZW5jb2RpbmcsIG5lZWRfOGJpdF9jdGUpOwogCXBwX3JlbWFpbmRlcigmcHAsICZtc2csICZzYiwgMCk7CkBAIC0xMDM1LDkgKzEwNTcsOSBAQAogCiAJZGlmZl9zZXR1cF9kb25lKCZvcHRzKTsKIAotCWRpZmZfdHJlZV9zaGExKG9yaWdpbi0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkgICAgICAgaGVhZC0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkgICAgICAgIiIsICZvcHRzKTsKKwlkaWZmX3RyZWVfb2lkKCZvcmlnaW4tPnRyZWUtPm9iamVjdC5vaWQsCisJCSAgICAgICZoZWFkLT50cmVlLT5vYmplY3Qub2lkLAorCQkgICAgICAiIiwgJm9wdHMpOwogCWRpZmZjb3JlX3N0ZCgmb3B0cyk7CiAJZGlmZl9mbHVzaCgmb3B0cyk7CiAKQEAgLTEwODMsOCArMTEwNSw3IEBACiAJaWYgKCFvdXRwdXRfZGlyZWN0b3J5KQogCQlyZXR1cm4gcHJlZml4OwogCi0JcmV0dXJuIHhzdHJkdXAocHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgb3V0ZGlyX29mZnNldCwKLQkJCQkgICAgICAgb3V0cHV0X2RpcmVjdG9yeSkpOworCXJldHVybiBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBvdXRwdXRfZGlyZWN0b3J5KTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX2Zvcm1hdF9wYXRjaF91c2FnZVtdID0gewpAQCAtMTI1Niw3ICsxMjc3LDcgQEAKIAogCQkJaWYgKGdldF9vaWQodXBzdHJlYW0sICZvaWQpKQogCQkJCWRpZShfKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCB1cHN0cmVhbSk7Ci0JCQljb21taXQgPSBsb29rdXBfY29tbWl0X29yX2RpZShvaWQuaGFzaCwgInVwc3RyZWFtIGJhc2UiKTsKKwkJCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfb3JfZGllKCZvaWQsICJ1cHN0cmVhbSBiYXNlIik7CiAJCQliYXNlX2xpc3QgPSBnZXRfbWVyZ2VfYmFzZXNfbWFueShjb21taXQsIHRvdGFsLCBsaXN0KTsKIAkJCS8qIFRoZXJlIHNob3VsZCBiZSBvbmUgYW5kIG9ubHkgb25lIG1lcmdlIGJhc2UuICovCiAJCQlpZiAoIWJhc2VfbGlzdCB8fCBiYXNlX2xpc3QtPm5leHQpCkBAIC0xMjkxLDcgKzEzMTIsNyBAQAogCiAJCWlmIChyZXZfbnIgJSAyKQogCQkJcmV2W2ldID0gcmV2WzIgKiBpXTsKLQkJcmV2X25yID0gKHJldl9uciArIDEpIC8gMjsKKwkJcmV2X25yID0gRElWX1JPVU5EX1VQKHJldl9uciwgMik7CiAJfQogCiAJaWYgKCFpbl9tZXJnZV9iYXNlcyhiYXNlLCByZXZbMF0pKQpAQCAtMTM0Nyw3ICsxMzY4LDcgQEAKIAkJc3RydWN0IG9iamVjdF9pZCAqcGF0Y2hfaWQ7CiAJCWlmIChjb21taXQtPnV0aWwpCiAJCQljb250aW51ZTsKLQkJaWYgKGNvbW1pdF9wYXRjaF9pZChjb21taXQsICZkaWZmb3B0LCBvaWQuaGFzaCwgMCkpCisJCWlmIChjb21taXRfcGF0Y2hfaWQoY29tbWl0LCAmZGlmZm9wdCwgJm9pZCwgMCkpCiAJCQlkaWUoXygiY2Fubm90IGdldCBwYXRjaCBpZCIpKTsKIAkJQUxMT0NfR1JPVyhiYXNlcy0+cGF0Y2hfaWQsIGJhc2VzLT5ucl9wYXRjaF9pZCArIDEsIGJhc2VzLT5hbGxvY19wYXRjaF9pZCk7CiAJCXBhdGNoX2lkID0gYmFzZXMtPnBhdGNoX2lkICsgYmFzZXMtPm5yX3BhdGNoX2lkOwpAQCAtMTQwMiw2ICsxNDIzLDggQEAKIAljaGFyICpicmFuY2hfbmFtZSA9IE5VTEw7CiAJY2hhciAqYmFzZV9jb21taXQgPSBOVUxMOwogCXN0cnVjdCBiYXNlX3RyZWVfaW5mbyBiYXNlczsKKwlpbnQgc2hvd19wcm9ncmVzcyA9IDA7CisJc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcyA9IE5VTEw7CiAKIAljb25zdCBzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fZm9ybWF0X3BhdGNoX29wdGlvbnNbXSA9IHsKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICduJywgIm51bWJlcmVkIiwgJm51bWJlcmVkLCBOVUxMLApAQCAtMTQ3Myw2ICsxNDk2LDggQEAKIAkJT1BUX0ZJTEVOQU1FKDAsICJzaWduYXR1cmUtZmlsZSIsICZzaWduYXR1cmVfZmlsZSwKIAkJCQlOXygiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIikpLAogCQlPUFRfX1FVSUVUKCZxdWlldCwgTl8oImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiKSksCisJCU9QVF9CT09MKDAsICJwcm9ncmVzcyIsICZzaG93X3Byb2dyZXNzLAorCQkJIE5fKCJzaG93IHByb2dyZXNzIHdoaWxlIGdlbmVyYXRpbmcgcGF0Y2hlcyIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIApAQCAtMTYzNSwxMCArMTY2MCw5IEBACiAJCQljaGVja19oZWFkID0gMTsKIAogCQlpZiAoY2hlY2tfaGVhZCkgewotCQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCQljb25zdCBjaGFyICpyZWYsICp2OwogCQkJcmVmID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywKLQkJCQkJCSBvaWQuaGFzaCwgTlVMTCk7CisJCQkJCQkgTlVMTCwgTlVMTCk7CiAJCQlpZiAocmVmICYmIHNraXBfcHJlZml4KHJlZiwgInJlZnMvaGVhZHMvIiwgJnYpKQogCQkJCWJyYW5jaF9uYW1lID0geHN0cmR1cCh2KTsKIAkJCWVsc2UKQEAgLTE3MzIsOCArMTc1NiwxMiBAQAogCQlzdGFydF9udW1iZXItLTsKIAl9CiAJcmV2LmFkZF9zaWdub2ZmID0gZG9fc2lnbm9mZjsKKworCWlmIChzaG93X3Byb2dyZXNzKQorCQlwcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoXygiR2VuZXJhdGluZyBwYXRjaGVzIiksIHRvdGFsKTsKIAl3aGlsZSAoMCA8PSAtLW5yKSB7CiAJCWludCBzaG93bjsKKwkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgdG90YWwgLSBucik7CiAJCWNvbW1pdCA9IGxpc3RbbnJdOwogCQlyZXYubnIgPSB0b3RhbCAtIG5yICsgKHN0YXJ0X251bWJlciAtIDEpOwogCQkvKiBNYWtlIHRoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgbWFpbHMgcmVwbGllcyB0byB0aGUgZmlyc3QgKi8KQEAgLTE3OTgsNiArMTgyNiw3IEBACiAJCWlmICghdXNlX3N0ZG91dCkKIAkJCWZjbG9zZShyZXYuZGlmZm9wdC5maWxlKTsKIAl9CisJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOwogCWZyZWUobGlzdCk7CiAJZnJlZShicmFuY2hfbmFtZSk7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJmV4dHJhX3RvLCAwKTsKQEAgLTE4MTIsNyArMTg0MSw3IEBACiB7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJaWYgKGdldF9vaWQoYXJnLCAmb2lkKSA9PSAwKSB7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZC5oYXNoKTsKKwkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJm9pZCk7CiAJCWlmIChjb21taXQpIHsKIAkJCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IGZsYWdzOwogCQkJYWRkX3BlbmRpbmdfb2JqZWN0KHJldnMsICZjb21taXQtPm9iamVjdCwgYXJnKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbHMtZmlsZXMuYyBiL2J1aWx0aW4vbHMtZmlsZXMuYwppbmRleCAxYzBmMDU3Li44YzcxM2M0IDEwMDY0NAotLS0gYS9idWlsdGluL2xzLWZpbGVzLmMKKysrIGIvYnVpbHRpbi9scy1maWxlcy5jCkBAIC01LDcgKzUsMTAgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIExpbnVzIFRvcnZhbGRzLCAyMDA1CiAgKi8KKyNkZWZpbmUgTk9fVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCkBAIC0xNSw2ICsxOCw4IEBACiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJwYXRoc3BlYy5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLWNvbmZpZy5oIgogCiBzdGF0aWMgaW50IGFiYnJldjsKIHN0YXRpYyBpbnQgc2hvd19kZWxldGVkOwpAQCAtMzAsMTAgKzM1LDggQEAKIHN0YXRpYyBpbnQgZGVidWdfbW9kZTsKIHN0YXRpYyBpbnQgc2hvd19lb2w7CiBzdGF0aWMgaW50IHJlY3Vyc2Vfc3VibW9kdWxlczsKLXN0YXRpYyBzdHJ1Y3QgYXJndl9hcnJheSBzdWJtb2R1bGVzX29wdGlvbnMgPSBBUkdWX0FSUkFZX0lOSVQ7CiAKIHN0YXRpYyBjb25zdCBjaGFyICpwcmVmaXg7Ci1zdGF0aWMgY29uc3QgY2hhciAqc3VwZXJfcHJlZml4Owogc3RhdGljIGludCBtYXhfcHJlZml4X2xlbjsKIHN0YXRpYyBpbnQgcHJlZml4X2xlbjsKIHN0YXRpYyBzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CkBAIC01MiwxNyArNTUsMTcgQEAKIHN0YXRpYyBjb25zdCBjaGFyICp0YWdfc2tpcF93b3JrdHJlZSA9ICIiOwogc3RhdGljIGNvbnN0IGNoYXIgKnRhZ19yZXNvbHZlX3VuZG8gPSAiIjsKIAotc3RhdGljIHZvaWQgd3JpdGVfZW9saW5mbyhjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBjb25zdCBjaGFyICpwYXRoKQorc3RhdGljIHZvaWQgd3JpdGVfZW9saW5mbyhjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSAgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgY29uc3QgY2hhciAqcGF0aCkKIHsKLQlpZiAoIXNob3dfZW9sKQotCQlyZXR1cm47Ci0JZWxzZSB7CisJaWYgKHNob3dfZW9sKSB7CiAJCXN0cnVjdCBzdGF0IHN0OwogCQljb25zdCBjaGFyICppX3R4dCA9ICIiOwogCQljb25zdCBjaGFyICp3X3R4dCA9ICIiOwogCQljb25zdCBjaGFyICphX3R4dCA9IGdldF9jb252ZXJ0X2F0dHJfYXNjaWkocGF0aCk7CiAJCWlmIChjZSAmJiBTX0lTUkVHKGNlLT5jZV9tb2RlKSkKLQkJCWlfdHh0ID0gZ2V0X2NhY2hlZF9jb252ZXJ0X3N0YXRzX2FzY2lpKGNlLT5uYW1lKTsKKwkJCWlfdHh0ID0gZ2V0X2NhY2hlZF9jb252ZXJ0X3N0YXRzX2FzY2lpKGlzdGF0ZSwKKwkJCQkJCQkgICAgICAgY2UtPm5hbWUpOwogCQlpZiAoIWxzdGF0KHBhdGgsICZzdCkgJiYgU19JU1JFRyhzdC5zdF9tb2RlKSkKIAkJCXdfdHh0ID0gZ2V0X3d0X2NvbnZlcnRfc3RhdHNfYXNjaWkocGF0aCk7CiAJCXByaW50ZigiaS8lLTVzIHcvJS01cyBhdHRyLyUtMTdzXHQiLCBpX3R4dCwgd190eHQsIGFfdHh0KTsKQEAgLTcyLDU0ICs3NSw4MCBAQAogc3RhdGljIHZvaWQgd3JpdGVfbmFtZShjb25zdCBjaGFyICpuYW1lKQogewogCS8qCi0JICogUHJlcGVuZCB0aGUgc3VwZXJfcHJlZml4IHRvIG5hbWUgdG8gY29uc3RydWN0IHRoZSBmdWxsX25hbWUgdG8gYmUKLQkgKiB3cml0dGVuLgotCSAqLwotCXN0cnVjdCBzdHJidWYgZnVsbF9uYW1lID0gU1RSQlVGX0lOSVQ7Ci0JaWYgKHN1cGVyX3ByZWZpeCkgewotCQlzdHJidWZfYWRkc3RyKCZmdWxsX25hbWUsIHN1cGVyX3ByZWZpeCk7Ci0JCXN0cmJ1Zl9hZGRzdHIoJmZ1bGxfbmFtZSwgbmFtZSk7Ci0JCW5hbWUgPSBmdWxsX25hbWUuYnVmOwotCX0KLQotCS8qCiAJICogV2l0aCAiLS1mdWxsLW5hbWUiLCBwcmVmaXhfbGVuPTA7IHRoaXMgY2FsbGVyIG5lZWRzIHRvIHBhc3MKIAkgKiBhbiBlbXB0eSBzdHJpbmcgaW4gdGhhdCBjYXNlIChhIE5VTEwgaXMgZ29vZCBmb3IgIiIpLgogCSAqLwogCXdyaXRlX25hbWVfcXVvdGVkX3JlbGF0aXZlKG5hbWUsIHByZWZpeF9sZW4gPyBwcmVmaXggOiBOVUxMLAogCQkJCSAgIHN0ZG91dCwgbGluZV90ZXJtaW5hdG9yKTsKK30KIAotCXN0cmJ1Zl9yZWxlYXNlKCZmdWxsX25hbWUpOworc3RhdGljIGNvbnN0IGNoYXIgKmdldF90YWcoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgY29uc3QgY2hhciAqdGFnKQoreworCXN0YXRpYyBjaGFyIGFsdHRhZ1s0XTsKKworCWlmICh0YWcgJiYgKnRhZyAmJiBzaG93X3ZhbGlkX2JpdCAmJiAoY2UtPmNlX2ZsYWdzICYgQ0VfVkFMSUQpKSB7CisJCW1lbWNweShhbHR0YWcsIHRhZywgMyk7CisKKwkJaWYgKGlzYWxwaGEodGFnWzBdKSkgeworCQkJYWx0dGFnWzBdID0gdG9sb3dlcih0YWdbMF0pOworCQl9IGVsc2UgaWYgKHRhZ1swXSA9PSAnPycpIHsKKwkJCWFsdHRhZ1swXSA9ICchJzsKKwkJfSBlbHNlIHsKKwkJCWFsdHRhZ1swXSA9ICd2JzsKKwkJCWFsdHRhZ1sxXSA9IHRhZ1swXTsKKwkJCWFsdHRhZ1syXSA9ICcgJzsKKwkJCWFsdHRhZ1szXSA9IDA7CisJCX0KKworCQl0YWcgPSBhbHR0YWc7CisJfQorCisJcmV0dXJuIHRhZzsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfZGVidWcoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSkKK3sKKwlpZiAoZGVidWdfbW9kZSkgeworCQljb25zdCBzdHJ1Y3Qgc3RhdF9kYXRhICpzZCA9ICZjZS0+Y2Vfc3RhdF9kYXRhOworCisJCXByaW50ZigiICBjdGltZTogJWQ6JWRcbiIsIHNkLT5zZF9jdGltZS5zZWMsIHNkLT5zZF9jdGltZS5uc2VjKTsKKwkJcHJpbnRmKCIgIG10aW1lOiAlZDolZFxuIiwgc2QtPnNkX210aW1lLnNlYywgc2QtPnNkX210aW1lLm5zZWMpOworCQlwcmludGYoIiAgZGV2OiAlZFx0aW5vOiAlZFxuIiwgc2QtPnNkX2Rldiwgc2QtPnNkX2lubyk7CisJCXByaW50ZigiICB1aWQ6ICVkXHRnaWQ6ICVkXG4iLCBzZC0+c2RfdWlkLCBzZC0+c2RfZ2lkKTsKKwkJcHJpbnRmKCIgIHNpemU6ICVkXHRmbGFnczogJXhcbiIsIHNkLT5zZF9zaXplLCBjZS0+Y2VfZmxhZ3MpOworCX0KIH0KIAogc3RhdGljIHZvaWQgc2hvd19kaXJfZW50cnkoY29uc3QgY2hhciAqdGFnLCBzdHJ1Y3QgZGlyX2VudHJ5ICplbnQpCiB7CiAJaW50IGxlbiA9IG1heF9wcmVmaXhfbGVuOwogCi0JaWYgKGxlbiA+PSBlbnQtPmxlbikKKwlpZiAobGVuID4gZW50LT5sZW4pCiAJCWRpZSgiZ2l0IGxzLWZpbGVzOiBpbnRlcm5hbCBlcnJvciAtIGRpcmVjdG9yeSBlbnRyeSBub3Qgc3VwZXJzZXQgb2YgcHJlZml4Iik7CiAKIAlpZiAoIWRpcl9wYXRoX21hdGNoKGVudCwgJnBhdGhzcGVjLCBsZW4sIHBzX21hdGNoZWQpKQogCQlyZXR1cm47CiAKIAlmcHV0cyh0YWcsIHN0ZG91dCk7Ci0Jd3JpdGVfZW9saW5mbyhOVUxMLCBlbnQtPm5hbWUpOworCXdyaXRlX2VvbGluZm8oTlVMTCwgTlVMTCwgZW50LT5uYW1lKTsKIAl3cml0ZV9uYW1lKGVudC0+bmFtZSk7CiB9CiAKLXN0YXRpYyB2b2lkIHNob3dfb3RoZXJfZmlsZXMoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpcikKK3N0YXRpYyB2b2lkIHNob3dfb3RoZXJfZmlsZXMoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBkaXJfc3RydWN0ICpkaXIpCiB7CiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZGlyLT5ucjsgaSsrKSB7CiAJCXN0cnVjdCBkaXJfZW50cnkgKmVudCA9IGRpci0+ZW50cmllc1tpXTsKLQkJaWYgKCFjYWNoZV9uYW1lX2lzX290aGVyKGVudC0+bmFtZSwgZW50LT5sZW4pKQorCQlpZiAoIWluZGV4X25hbWVfaXNfb3RoZXIoaXN0YXRlLCBlbnQtPm5hbWUsIGVudC0+bGVuKSkKIAkJCWNvbnRpbnVlOwogCQlzaG93X2Rpcl9lbnRyeSh0YWdfb3RoZXIsIGVudCk7CiAJfQogfQogCi1zdGF0aWMgdm9pZCBzaG93X2tpbGxlZF9maWxlcyhzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyKQorc3RhdGljIHZvaWQgc2hvd19raWxsZWRfZmlsZXMoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyKQogewogCWludCBpOwogCWZvciAoaSA9IDA7IGkgPCBkaXItPm5yOyBpKyspIHsKQEAgLTEzMywyOSArMTYyLDI5IEBACiAJCQkJLyogSWYgZW50LT5uYW1lIGlzIHByZWZpeCBvZiBhbiBlbnRyeSBpbiB0aGUKIAkJCQkgKiBjYWNoZSwgaXQgd2lsbCBiZSBraWxsZWQuCiAJCQkJICovCi0JCQkJcG9zID0gY2FjaGVfbmFtZV9wb3MoZW50LT5uYW1lLCBlbnQtPmxlbik7CisJCQkJcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBlbnQtPm5hbWUsIGVudC0+bGVuKTsKIAkJCQlpZiAoMCA8PSBwb3MpCiAJCQkJCWRpZSgiQlVHOiBraWxsZWQtZmlsZSAlLipzIG5vdCBmb3VuZCIsCiAJCQkJCQllbnQtPmxlbiwgZW50LT5uYW1lKTsKIAkJCQlwb3MgPSAtcG9zIC0gMTsKLQkJCQl3aGlsZSAocG9zIDwgYWN0aXZlX25yICYmCi0JCQkJICAgICAgIGNlX3N0YWdlKGFjdGl2ZV9jYWNoZVtwb3NdKSkKKwkJCQl3aGlsZSAocG9zIDwgaXN0YXRlLT5jYWNoZV9uciAmJgorCQkJCSAgICAgICBjZV9zdGFnZShpc3RhdGUtPmNhY2hlW3Bvc10pKQogCQkJCQlwb3MrKzsgLyogc2tpcCB1bm1lcmdlZCAqLwotCQkJCWlmIChhY3RpdmVfbnIgPD0gcG9zKQorCQkJCWlmIChpc3RhdGUtPmNhY2hlX25yIDw9IHBvcykKIAkJCQkJYnJlYWs7CiAJCQkJLyogcG9zIHBvaW50cyBhdCBhIG5hbWUgaW1tZWRpYXRlbHkgYWZ0ZXIKIAkJCQkgKiBlbnQtPm5hbWUgaW4gdGhlIGNhY2hlLiAgRG9lcyBpdCBleHBlY3QKIAkJCQkgKiBlbnQtPm5hbWUgdG8gYmUgYSBkaXJlY3Rvcnk/CiAJCQkJICovCi0JCQkJbGVuID0gY2VfbmFtZWxlbihhY3RpdmVfY2FjaGVbcG9zXSk7CisJCQkJbGVuID0gY2VfbmFtZWxlbihpc3RhdGUtPmNhY2hlW3Bvc10pOwogCQkJCWlmICgoZW50LT5sZW4gPCBsZW4pICYmCi0JCQkJICAgICFzdHJuY21wKGFjdGl2ZV9jYWNoZVtwb3NdLT5uYW1lLAorCQkJCSAgICAhc3RybmNtcChpc3RhdGUtPmNhY2hlW3Bvc10tPm5hbWUsCiAJCQkJCSAgICAgZW50LT5uYW1lLCBlbnQtPmxlbikgJiYKLQkJCQkgICAgYWN0aXZlX2NhY2hlW3Bvc10tPm5hbWVbZW50LT5sZW5dID09ICcvJykKKwkJCQkgICAgaXN0YXRlLT5jYWNoZVtwb3NdLT5uYW1lW2VudC0+bGVuXSA9PSAnLycpCiAJCQkJCWtpbGxlZCA9IDE7CiAJCQkJYnJlYWs7CiAJCQl9Ci0JCQlpZiAoMCA8PSBjYWNoZV9uYW1lX3BvcyhlbnQtPm5hbWUsIHNwIC0gZW50LT5uYW1lKSkgeworCQkJaWYgKDAgPD0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBlbnQtPm5hbWUsIHNwIC0gZW50LT5uYW1lKSkgewogCQkJCS8qIElmIGFueSBvZiB0aGUgbGVhZGluZyBkaXJlY3RvcmllcyBpbgogCQkJCSAqIGVudC0+bmFtZSBpcyByZWdpc3RlcmVkIGluIHRoZSBjYWNoZSwKIAkJCQkgKiBlbnQtPm5hbWUgd2lsbCBiZSBraWxsZWQuCkBAIC0xNjksOTMgKzE5OCwzOSBAQAogCX0KIH0KIAotLyoKLSAqIENvbXBpbGUgYW4gYXJndl9hcnJheSB3aXRoIGFsbCBvZiB0aGUgb3B0aW9ucyBzdXBwb3J0ZWQgYnkgLS1yZWN1cnNlX3N1Ym1vZHVsZXMKLSAqLwotc3RhdGljIHZvaWQgY29tcGlsZV9zdWJtb2R1bGVfb3B0aW9ucyhjb25zdCBzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBpbnQgc2hvd190YWcpCitzdGF0aWMgdm9pZCBzaG93X2ZpbGVzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyKTsKKworc3RhdGljIHZvaWQgc2hvd19zdWJtb2R1bGUoc3RydWN0IHJlcG9zaXRvcnkgKnN1cGVycHJvamVjdCwKKwkJCSAgIHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0JaWYgKGxpbmVfdGVybWluYXRvciA9PSAnXDAnKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi16Iik7Ci0JaWYgKHNob3dfdGFnKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi10Iik7Ci0JaWYgKHNob3dfdmFsaWRfYml0KQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi12Iik7Ci0JaWYgKHNob3dfY2FjaGVkKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi0tY2FjaGVkIik7Ci0JaWYgKHNob3dfZW9sKQotCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi0tZW9sIik7Ci0JaWYgKGRlYnVnX21vZGUpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlc19vcHRpb25zLCAiLS1kZWJ1ZyIpOworCXN0cnVjdCByZXBvc2l0b3J5IHN1Ym1vZHVsZTsKKworCWlmIChyZXBvX3N1Ym1vZHVsZV9pbml0KCZzdWJtb2R1bGUsIHN1cGVycHJvamVjdCwgcGF0aCkpCisJCXJldHVybjsKKworCWlmIChyZXBvX3JlYWRfaW5kZXgoJnN1Ym1vZHVsZSkgPCAwKQorCQlkaWUoImluZGV4IGZpbGUgY29ycnVwdCIpOworCisJc2hvd19maWxlcygmc3VibW9kdWxlLCBkaXIpOworCisJcmVwb19jbGVhcigmc3VibW9kdWxlKTsKIH0KIAotLyoqCi0gKiBSZWN1cnNpdmVseSBjYWxsIGxzLWZpbGVzIG9uIGEgc3VibW9kdWxlCi0gKi8KLXN0YXRpYyB2b2lkIHNob3dfZ2l0bGluayhjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKQorc3RhdGljIHZvaWQgc2hvd19jZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJICAgIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIGNvbnN0IGNoYXIgKmZ1bGxuYW1lLAorCQkgICAgY29uc3QgY2hhciAqdGFnKQogewotCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOwotCWludCBzdGF0dXM7Ci0JaW50IGk7Ci0KLQlhcmd2X2FycmF5X3B1c2hmKCZjcC5hcmdzLCAiLS1zdXBlci1wcmVmaXg9JXMlcy8iLAotCQkJIHN1cGVyX3ByZWZpeCA/IHN1cGVyX3ByZWZpeCA6ICIiLAotCQkJIGNlLT5uYW1lKTsKLQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICJscy1maWxlcyIpOwotCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi0tcmVjdXJzZS1zdWJtb2R1bGVzIik7Ci0KLQkvKiBhZGQgc3VwcG9ydGVkIG9wdGlvbnMgKi8KLQlhcmd2X2FycmF5X3B1c2h2KCZjcC5hcmdzLCBzdWJtb2R1bGVzX29wdGlvbnMuYXJndik7Ci0KLQkvKgotCSAqIFBhc3MgaW4gdGhlIG9yaWdpbmFsIHBhdGhzcGVjIGFyZ3MuICBUaGUgc3VibW9kdWxlIHdpbGwgYmUKLQkgKiByZXNwb25zaWJsZSBmb3IgcHJlcGVuZGluZyB0aGUgJ3N1Ym1vZHVsZV9wcmVmaXgnIHByaW9yIHRvIGNvbXBhcmluZwotCSAqIGFnYWluc3QgdGhlIHBhdGhzcGVjIGZvciBtYXRjaGVzLgotCSAqLwotCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi0tIik7Ci0JZm9yIChpID0gMDsgaSA8IHBhdGhzcGVjLm5yOyBpKyspCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgcGF0aHNwZWMuaXRlbXNbaV0ub3JpZ2luYWwpOwotCi0JY3AuZ2l0X2NtZCA9IDE7Ci0JY3AuZGlyID0gY2UtPm5hbWU7Ci0Jc3RhdHVzID0gcnVuX2NvbW1hbmQoJmNwKTsKLQlpZiAoc3RhdHVzKQotCQlleGl0KHN0YXR1cyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNob3dfY2VfZW50cnkoY29uc3QgY2hhciAqdGFnLCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKQotewotCXN0cnVjdCBzdHJidWYgbmFtZSA9IFNUUkJVRl9JTklUOwotCWludCBsZW4gPSBtYXhfcHJlZml4X2xlbjsKLQlpZiAoc3VwZXJfcHJlZml4KQotCQlzdHJidWZfYWRkc3RyKCZuYW1lLCBzdXBlcl9wcmVmaXgpOwotCXN0cmJ1Zl9hZGRzdHIoJm5hbWUsIGNlLT5uYW1lKTsKLQotCWlmIChsZW4gPj0gY2VfbmFtZWxlbihjZSkpCisJaWYgKG1heF9wcmVmaXhfbGVuID4gc3RybGVuKGZ1bGxuYW1lKSkKIAkJZGllKCJnaXQgbHMtZmlsZXM6IGludGVybmFsIGVycm9yIC0gY2FjaGUgZW50cnkgbm90IHN1cGVyc2V0IG9mIHByZWZpeCIpOwogCiAJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAmJiBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkgJiYKLQkgICAgc3VibW9kdWxlX3BhdGhfbWF0Y2goJnBhdGhzcGVjLCBuYW1lLmJ1ZiwgcHNfbWF0Y2hlZCkpIHsKLQkJc2hvd19naXRsaW5rKGNlKTsKLQl9IGVsc2UgaWYgKG1hdGNoX3BhdGhzcGVjKCZwYXRoc3BlYywgbmFtZS5idWYsIG5hbWUubGVuLAotCQkJCSAgbGVuLCBwc19tYXRjaGVkLAorCSAgICBpc19zdWJtb2R1bGVfYWN0aXZlKHJlcG8sIGNlLT5uYW1lKSkgeworCQlzaG93X3N1Ym1vZHVsZShyZXBvLCBkaXIsIGNlLT5uYW1lKTsKKwl9IGVsc2UgaWYgKG1hdGNoX3BhdGhzcGVjKCZwYXRoc3BlYywgZnVsbG5hbWUsIHN0cmxlbihmdWxsbmFtZSksCisJCQkJICBtYXhfcHJlZml4X2xlbiwgcHNfbWF0Y2hlZCwKIAkJCQkgIFNfSVNESVIoY2UtPmNlX21vZGUpIHx8CiAJCQkJICBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpKSB7Ci0JCWlmICh0YWcgJiYgKnRhZyAmJiBzaG93X3ZhbGlkX2JpdCAmJgotCQkgICAgKGNlLT5jZV9mbGFncyAmIENFX1ZBTElEKSkgewotCQkJc3RhdGljIGNoYXIgYWx0dGFnWzRdOwotCQkJbWVtY3B5KGFsdHRhZywgdGFnLCAzKTsKLQkJCWlmIChpc2FscGhhKHRhZ1swXSkpCi0JCQkJYWx0dGFnWzBdID0gdG9sb3dlcih0YWdbMF0pOwotCQkJZWxzZSBpZiAodGFnWzBdID09ICc/JykKLQkJCQlhbHR0YWdbMF0gPSAnISc7Ci0JCQllbHNlIHsKLQkJCQlhbHR0YWdbMF0gPSAndic7Ci0JCQkJYWx0dGFnWzFdID0gdGFnWzBdOwotCQkJCWFsdHRhZ1syXSA9ICcgJzsKLQkJCQlhbHR0YWdbM10gPSAwOwotCQkJfQotCQkJdGFnID0gYWx0dGFnOwotCQl9CisJCXRhZyA9IGdldF90YWcoY2UsIHRhZyk7CiAKIAkJaWYgKCFzaG93X3N0YWdlKSB7CiAJCQlmcHV0cyh0YWcsIHN0ZG91dCk7CkBAIC0yNjYsMzAgKzI0MSwyMCBAQAogCQkJICAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihjZS0+b2lkLmhhc2gsIGFiYnJldiksCiAJCQkgICAgICAgY2Vfc3RhZ2UoY2UpKTsKIAkJfQotCQl3cml0ZV9lb2xpbmZvKGNlLCBjZS0+bmFtZSk7Ci0JCXdyaXRlX25hbWUoY2UtPm5hbWUpOwotCQlpZiAoZGVidWdfbW9kZSkgewotCQkJY29uc3Qgc3RydWN0IHN0YXRfZGF0YSAqc2QgPSAmY2UtPmNlX3N0YXRfZGF0YTsKLQotCQkJcHJpbnRmKCIgIGN0aW1lOiAlZDolZFxuIiwgc2QtPnNkX2N0aW1lLnNlYywgc2QtPnNkX2N0aW1lLm5zZWMpOwotCQkJcHJpbnRmKCIgIG10aW1lOiAlZDolZFxuIiwgc2QtPnNkX210aW1lLnNlYywgc2QtPnNkX210aW1lLm5zZWMpOwotCQkJcHJpbnRmKCIgIGRldjogJWRcdGlubzogJWRcbiIsIHNkLT5zZF9kZXYsIHNkLT5zZF9pbm8pOwotCQkJcHJpbnRmKCIgIHVpZDogJWRcdGdpZDogJWRcbiIsIHNkLT5zZF91aWQsIHNkLT5zZF9naWQpOwotCQkJcHJpbnRmKCIgIHNpemU6ICVkXHRmbGFnczogJXhcbiIsIHNkLT5zZF9zaXplLCBjZS0+Y2VfZmxhZ3MpOwotCQl9CisJCXdyaXRlX2VvbGluZm8ocmVwby0+aW5kZXgsIGNlLCBmdWxsbmFtZSk7CisJCXdyaXRlX25hbWUoZnVsbG5hbWUpOworCQlwcmludF9kZWJ1ZyhjZSk7CiAJfQotCi0Jc3RyYnVmX3JlbGVhc2UoJm5hbWUpOwogfQogCi1zdGF0aWMgdm9pZCBzaG93X3J1X2luZm8odm9pZCkKK3N0YXRpYyB2b2lkIHNob3dfcnVfaW5mbyhjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKIHsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAotCWlmICghdGhlX2luZGV4LnJlc29sdmVfdW5kbykKKwlpZiAoIWlzdGF0ZS0+cmVzb2x2ZV91bmRvKQogCQlyZXR1cm47CiAKLQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIHRoZV9pbmRleC5yZXNvbHZlX3VuZG8pIHsKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIGlzdGF0ZS0+cmVzb2x2ZV91bmRvKSB7CiAJCWNvbnN0IGNoYXIgKnBhdGggPSBpdGVtLT5zdHJpbmc7CiAJCXN0cnVjdCByZXNvbHZlX3VuZG9faW5mbyAqdWkgPSBpdGVtLT51dGlsOwogCQlpbnQgaSwgbGVuOwpAQCAtMzExLDg4ICsyNzYsMTI4IEBACiAJfQogfQogCi1zdGF0aWMgaW50IGNlX2V4Y2x1ZGVkKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCitzdGF0aWMgaW50IGNlX2V4Y2x1ZGVkKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICAgICAgY29uc3QgY2hhciAqZnVsbG5hbWUsIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCiB7CiAJaW50IGR0eXBlID0gY2VfdG9fZHR5cGUoY2UpOwotCXJldHVybiBpc19leGNsdWRlZChkaXIsIGNlLT5uYW1lLCAmZHR5cGUpOworCXJldHVybiBpc19leGNsdWRlZChkaXIsIGlzdGF0ZSwgZnVsbG5hbWUsICZkdHlwZSk7CiB9CiAKLXN0YXRpYyB2b2lkIHNob3dfZmlsZXMoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpcikKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdF9mdWxsbmFtZShzdHJ1Y3Qgc3RyYnVmICpvdXQsIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCit7CisJc3RyYnVmX3Jlc2V0KG91dCk7CisJaWYgKHJlcG8tPnN1Ym1vZHVsZV9wcmVmaXgpCisJCXN0cmJ1Zl9hZGRzdHIob3V0LCByZXBvLT5zdWJtb2R1bGVfcHJlZml4KTsKKwlzdHJidWZfYWRkc3RyKG91dCwgY2UtPm5hbWUpOworfQorCitzdGF0aWMgdm9pZCBzaG93X2ZpbGVzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyKQogewogCWludCBpOworCXN0cnVjdCBzdHJidWYgZnVsbG5hbWUgPSBTVFJCVUZfSU5JVDsKIAogCS8qIEZvciBjYWNoZWQvZGVsZXRlZCBmaWxlcyB3ZSBkb24ndCBuZWVkIHRvIGV2ZW4gZG8gdGhlIHJlYWRkaXIgKi8KIAlpZiAoc2hvd19vdGhlcnMgfHwgc2hvd19raWxsZWQpIHsKIAkJaWYgKCFzaG93X290aGVycykKIAkJCWRpci0+ZmxhZ3MgfD0gRElSX0NPTExFQ1RfS0lMTEVEX09OTFk7Ci0JCWZpbGxfZGlyZWN0b3J5KGRpciwgJnBhdGhzcGVjKTsKKwkJZmlsbF9kaXJlY3RvcnkoZGlyLCByZXBvLT5pbmRleCwgJnBhdGhzcGVjKTsKIAkJaWYgKHNob3dfb3RoZXJzKQotCQkJc2hvd19vdGhlcl9maWxlcyhkaXIpOworCQkJc2hvd19vdGhlcl9maWxlcyhyZXBvLT5pbmRleCwgZGlyKTsKIAkJaWYgKHNob3dfa2lsbGVkKQotCQkJc2hvd19raWxsZWRfZmlsZXMoZGlyKTsKKwkJCXNob3dfa2lsbGVkX2ZpbGVzKHJlcG8tPmluZGV4LCBkaXIpOwogCX0KIAlpZiAoc2hvd19jYWNoZWQgfHwgc2hvd19zdGFnZSkgewotCQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOyBpKyspIHsKLQkJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07CisJCWZvciAoaSA9IDA7IGkgPCByZXBvLT5pbmRleC0+Y2FjaGVfbnI7IGkrKykgeworCQkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IHJlcG8tPmluZGV4LT5jYWNoZVtpXTsKKworCQkJY29uc3RydWN0X2Z1bGxuYW1lKCZmdWxsbmFtZSwgcmVwbywgY2UpOworCiAJCQlpZiAoKGRpci0+ZmxhZ3MgJiBESVJfU0hPV19JR05PUkVEKSAmJgotCQkJICAgICFjZV9leGNsdWRlZChkaXIsIGNlKSkKKwkJCSAgICAhY2VfZXhjbHVkZWQoZGlyLCByZXBvLT5pbmRleCwgZnVsbG5hbWUuYnVmLCBjZSkpCiAJCQkJY29udGludWU7CiAJCQlpZiAoc2hvd191bm1lcmdlZCAmJiAhY2Vfc3RhZ2UoY2UpKQogCQkJCWNvbnRpbnVlOwogCQkJaWYgKGNlLT5jZV9mbGFncyAmIENFX1VQREFURSkKIAkJCQljb250aW51ZTsKLQkJCXNob3dfY2VfZW50cnkoY2Vfc3RhZ2UoY2UpID8gdGFnX3VubWVyZ2VkIDoKLQkJCQkoY2Vfc2tpcF93b3JrdHJlZShjZSkgPyB0YWdfc2tpcF93b3JrdHJlZSA6IHRhZ19jYWNoZWQpLCBjZSk7CisJCQlzaG93X2NlKHJlcG8sIGRpciwgY2UsIGZ1bGxuYW1lLmJ1ZiwKKwkJCQljZV9zdGFnZShjZSkgPyB0YWdfdW5tZXJnZWQgOgorCQkJCShjZV9za2lwX3dvcmt0cmVlKGNlKSA/IHRhZ19za2lwX3dvcmt0cmVlIDoKKwkJCQkgdGFnX2NhY2hlZCkpOwogCQl9CiAJfQogCWlmIChzaG93X2RlbGV0ZWQgfHwgc2hvd19tb2RpZmllZCkgewotCQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOyBpKyspIHsKLQkJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07CisJCWZvciAoaSA9IDA7IGkgPCByZXBvLT5pbmRleC0+Y2FjaGVfbnI7IGkrKykgeworCQkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IHJlcG8tPmluZGV4LT5jYWNoZVtpXTsKIAkJCXN0cnVjdCBzdGF0IHN0OwogCQkJaW50IGVycjsKKworCQkJY29uc3RydWN0X2Z1bGxuYW1lKCZmdWxsbmFtZSwgcmVwbywgY2UpOworCiAJCQlpZiAoKGRpci0+ZmxhZ3MgJiBESVJfU0hPV19JR05PUkVEKSAmJgotCQkJICAgICFjZV9leGNsdWRlZChkaXIsIGNlKSkKKwkJCSAgICAhY2VfZXhjbHVkZWQoZGlyLCByZXBvLT5pbmRleCwgZnVsbG5hbWUuYnVmLCBjZSkpCiAJCQkJY29udGludWU7CiAJCQlpZiAoY2UtPmNlX2ZsYWdzICYgQ0VfVVBEQVRFKQogCQkJCWNvbnRpbnVlOwogCQkJaWYgKGNlX3NraXBfd29ya3RyZWUoY2UpKQogCQkJCWNvbnRpbnVlOwotCQkJZXJyID0gbHN0YXQoY2UtPm5hbWUsICZzdCk7CisJCQllcnIgPSBsc3RhdChmdWxsbmFtZS5idWYsICZzdCk7CiAJCQlpZiAoc2hvd19kZWxldGVkICYmIGVycikKLQkJCQlzaG93X2NlX2VudHJ5KHRhZ19yZW1vdmVkLCBjZSk7Ci0JCQlpZiAoc2hvd19tb2RpZmllZCAmJiBjZV9tb2RpZmllZChjZSwgJnN0LCAwKSkKLQkJCQlzaG93X2NlX2VudHJ5KHRhZ19tb2RpZmllZCwgY2UpOworCQkJCXNob3dfY2UocmVwbywgZGlyLCBjZSwgZnVsbG5hbWUuYnVmLCB0YWdfcmVtb3ZlZCk7CisJCQlpZiAoc2hvd19tb2RpZmllZCAmJiBpZV9tb2RpZmllZChyZXBvLT5pbmRleCwgY2UsICZzdCwgMCkpCisJCQkJc2hvd19jZShyZXBvLCBkaXIsIGNlLCBmdWxsbmFtZS5idWYsIHRhZ19tb2RpZmllZCk7CiAJCX0KIAl9CisKKwlzdHJidWZfcmVsZWFzZSgmZnVsbG5hbWUpOwogfQogCiAvKgogICogUHJ1bmUgdGhlIGluZGV4IHRvIG9ubHkgY29udGFpbiBzdHVmZiBzdGFydGluZyB3aXRoICJwcmVmaXgiCiAgKi8KLXN0YXRpYyB2b2lkIHBydW5lX2NhY2hlKGNvbnN0IGNoYXIgKnByZWZpeCwgc2l6ZV90IHByZWZpeGxlbikKK3N0YXRpYyB2b2lkIHBydW5lX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJY29uc3QgY2hhciAqcHJlZml4LCBzaXplX3QgcHJlZml4bGVuKQogewogCWludCBwb3M7CiAJdW5zaWduZWQgaW50IGZpcnN0LCBsYXN0OwogCi0JaWYgKCFwcmVmaXgpCisJaWYgKCFwcmVmaXggfHwgIWlzdGF0ZS0+Y2FjaGVfbnIpCiAJCXJldHVybjsKLQlwb3MgPSBjYWNoZV9uYW1lX3BvcyhwcmVmaXgsIHByZWZpeGxlbik7CisJcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBwcmVmaXgsIHByZWZpeGxlbik7CiAJaWYgKHBvcyA8IDApCiAJCXBvcyA9IC1wb3MtMTsKIAlmaXJzdCA9IHBvczsKLQlsYXN0ID0gYWN0aXZlX25yOworCWxhc3QgPSBpc3RhdGUtPmNhY2hlX25yOwogCXdoaWxlIChsYXN0ID4gZmlyc3QpIHsKIAkJaW50IG5leHQgPSAobGFzdCArIGZpcnN0KSA+PiAxOwotCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW25leHRdOworCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gaXN0YXRlLT5jYWNoZVtuZXh0XTsKIAkJaWYgKCFzdHJuY21wKGNlLT5uYW1lLCBwcmVmaXgsIHByZWZpeGxlbikpIHsKIAkJCWZpcnN0ID0gbmV4dCsxOwogCQkJY29udGludWU7CiAJCX0KIAkJbGFzdCA9IG5leHQ7CiAJfQotCW1lbW1vdmUoYWN0aXZlX2NhY2hlLCBhY3RpdmVfY2FjaGUgKyBwb3MsCi0JCShsYXN0IC0gcG9zKSAqIHNpemVvZihzdHJ1Y3QgY2FjaGVfZW50cnkgKikpOwotCWFjdGl2ZV9uciA9IGxhc3QgLSBwb3M7CisJTU9WRV9BUlJBWShpc3RhdGUtPmNhY2hlLCBpc3RhdGUtPmNhY2hlICsgcG9zLCBsYXN0IC0gcG9zKTsKKwlpc3RhdGUtPmNhY2hlX25yID0gbGFzdCAtIHBvczsKK30KKworc3RhdGljIGludCBnZXRfY29tbW9uX3ByZWZpeF9sZW4oY29uc3QgY2hhciAqY29tbW9uX3ByZWZpeCkKK3sKKwlpbnQgY29tbW9uX3ByZWZpeF9sZW47CisKKwlpZiAoIWNvbW1vbl9wcmVmaXgpCisJCXJldHVybiAwOworCisJY29tbW9uX3ByZWZpeF9sZW4gPSBzdHJsZW4oY29tbW9uX3ByZWZpeCk7CisKKwkvKgorCSAqIElmIHRoZSBwcmVmaXggaGFzIGEgdHJhaWxpbmcgc2xhc2gsIHN0cmlwIGl0IHNvIHRoYXQgc3VibW9kdWxlcyB3b250CisJICogYmUgcHJ1bmVkIGZyb20gdGhlIGluZGV4LgorCSAqLworCWlmIChjb21tb25fcHJlZml4W2NvbW1vbl9wcmVmaXhfbGVuIC0gMV0gPT0gJy8nKQorCQljb21tb25fcHJlZml4X2xlbi0tOworCisJcmV0dXJuIGNvbW1vbl9wcmVmaXhfbGVuOwogfQogCiAvKgpAQCAtNDAzLDIzICs0MDgsMjQgQEAKICAqIHRoYXQgd2VyZSBnaXZlbiBmcm9tIHRoZSBjb21tYW5kIGxpbmUuICBXZSBhcmUgbm90CiAgKiBnb2luZyB0byB3cml0ZSB0aGlzIGluZGV4IG91dC4KICAqLwotdm9pZCBvdmVybGF5X3RyZWVfb25fY2FjaGUoY29uc3QgY2hhciAqdHJlZV9uYW1lLCBjb25zdCBjaGFyICpwcmVmaXgpCit2b2lkIG92ZXJsYXlfdHJlZV9vbl9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSAgIGNvbnN0IGNoYXIgKnRyZWVfbmFtZSwgY29uc3QgY2hhciAqcHJlZml4KQogewogCXN0cnVjdCB0cmVlICp0cmVlOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJc3RydWN0IHBhdGhzcGVjIHBhdGhzcGVjOwogCXN0cnVjdCBjYWNoZV9lbnRyeSAqbGFzdF9zdGFnZTAgPSBOVUxMOwogCWludCBpOwogCi0JaWYgKGdldF9zaGExKHRyZWVfbmFtZSwgc2hhMSkpCisJaWYgKGdldF9vaWQodHJlZV9uYW1lLCAmb2lkKSkKIAkJZGllKCJ0cmVlLWlzaCAlcyBub3QgZm91bmQuIiwgdHJlZV9uYW1lKTsKLQl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChzaGExKTsKKwl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdCgmb2lkKTsKIAlpZiAoIXRyZWUpCiAJCWRpZSgiYmFkIHRyZWUtaXNoICVzIiwgdHJlZV9uYW1lKTsKIAogCS8qIEhvaXN0IHRoZSB1bm1lcmdlZCBlbnRyaWVzIHVwIHRvIHN0YWdlICMzIHRvIG1ha2Ugcm9vbSAqLwotCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgewotCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOworCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUtPmNhY2hlX25yOyBpKyspIHsKKwkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGlzdGF0ZS0+Y2FjaGVbaV07CiAJCWlmICghY2Vfc3RhZ2UoY2UpKQogCQkJY29udGludWU7CiAJCWNlLT5jZV9mbGFncyB8PSBDRV9TVEFHRU1BU0s7CkBAIC00MzIsMTEgKzQzOCwxMSBAQAogCQkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9DV0QsIHByZWZpeCwgbWF0Y2hidWYpOwogCX0gZWxzZQogCQltZW1zZXQoJnBhdGhzcGVjLCAwLCBzaXplb2YocGF0aHNwZWMpKTsKLQlpZiAocmVhZF90cmVlKHRyZWUsIDEsICZwYXRoc3BlYykpCisJaWYgKHJlYWRfdHJlZSh0cmVlLCAxLCAmcGF0aHNwZWMsIGlzdGF0ZSkpCiAJCWRpZSgidW5hYmxlIHRvIHJlYWQgdHJlZSBlbnRyaWVzICVzIiwgdHJlZV9uYW1lKTsKIAotCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgewotCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOworCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUtPmNhY2hlX25yOyBpKyspIHsKKwkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGlzdGF0ZS0+Y2FjaGVbaV07CiAJCXN3aXRjaCAoY2Vfc3RhZ2UoY2UpKSB7CiAJCWNhc2UgMDoKIAkJCWxhc3Rfc3RhZ2UwID0gY2U7CkBAIC01NjcsMTAgKzU3Myw5IEBACiAJcHJlZml4ID0gY21kX3ByZWZpeDsKIAlpZiAocHJlZml4KQogCQlwcmVmaXhfbGVuID0gc3RybGVuKHByZWZpeCk7Ci0Jc3VwZXJfcHJlZml4ID0gZ2V0X3N1cGVyX3ByZWZpeCgpOwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAotCWlmIChyZWFkX2NhY2hlKCkgPCAwKQorCWlmIChyZXBvX3JlYWRfaW5kZXgodGhlX3JlcG9zaXRvcnkpIDwgMCkKIAkJZGllKCJpbmRleCBmaWxlIGNvcnJ1cHQiKTsKIAogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgYnVpbHRpbl9sc19maWxlc19vcHRpb25zLApAQCAtNjAzLDkgKzYwOCw2IEBACiAJaWYgKHJlcXVpcmVfd29ya190cmVlICYmICFpc19pbnNpZGVfd29ya190cmVlKCkpCiAJCXNldHVwX3dvcmtfdHJlZSgpOwogCi0JaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcykKLQkJY29tcGlsZV9zdWJtb2R1bGVfb3B0aW9ucygmZGlyLCBzaG93X3RhZyk7Ci0KIAlpZiAocmVjdXJzZV9zdWJtb2R1bGVzICYmCiAJICAgIChzaG93X3N0YWdlIHx8IHNob3dfZGVsZXRlZCB8fCBzaG93X290aGVycyB8fCBzaG93X3VubWVyZ2VkIHx8CiAJICAgICBzaG93X2tpbGxlZCB8fCBzaG93X21vZGlmaWVkIHx8IHNob3dfcmVzb2x2ZV91bmRvIHx8IHdpdGhfdHJlZSkpCkBAIC02MTYsMjAgKzYxOCwyNCBAQAogCQkgICAgIi0tZXJyb3ItdW5tYXRjaCIpOwogCiAJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCAwLAotCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0NXRCB8Ci0JCSAgICAgICBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfQ0hFQVAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAogCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAogCS8qCiAJICogRmluZCBjb21tb24gcHJlZml4IGZvciBhbGwgcGF0aHNwZWMncwogCSAqIFRoaXMgaXMgdXNlZCBhcyBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbiB3aGljaCB1bmZvcnR1bmF0ZWx5IGNhbm5vdAotCSAqIGJlIGRvbmUgd2hlbiByZWN1cnNpbmcgaW50byBzdWJtb2R1bGVzCisJICogYmUgZG9uZSB3aGVuIHJlY3Vyc2luZyBpbnRvIHN1Ym1vZHVsZXMgYmVjYXVzZSB3aGVuIGEgcGF0aHNwZWMgaXMKKwkgKiBnaXZlbiB3aGljaCBzcGFucyByZXBvc2l0b3J5IGJvdW5kYXJpZXMgeW91IGNhbid0IHNpbXBseSByZW1vdmUgdGhlCisJICogc3VibW9kdWxlIGVudHJ5IGJlY2F1c2UgdGhlIHBhdGhzcGVjIG1heSBtYXRjaCBzb21ldGhpbmcgaW5zaWRlIHRoZQorCSAqIHN1Ym1vZHVsZS4KIAkgKi8KIAlpZiAocmVjdXJzZV9zdWJtb2R1bGVzKQogCQltYXhfcHJlZml4ID0gTlVMTDsKIAllbHNlCiAJCW1heF9wcmVmaXggPSBjb21tb25fcHJlZml4KCZwYXRoc3BlYyk7Ci0JbWF4X3ByZWZpeF9sZW4gPSBtYXhfcHJlZml4ID8gc3RybGVuKG1heF9wcmVmaXgpIDogMDsKKwltYXhfcHJlZml4X2xlbiA9IGdldF9jb21tb25fcHJlZml4X2xlbihtYXhfcHJlZml4KTsKKworCXBydW5lX2luZGV4KHRoZV9yZXBvc2l0b3J5LT5pbmRleCwgbWF4X3ByZWZpeCwgbWF4X3ByZWZpeF9sZW4pOwogCiAJLyogVHJlYXQgdW5tYXRjaGluZyBwYXRoc3BlYyBlbGVtZW50cyBhcyBlcnJvcnMgKi8KIAlpZiAocGF0aHNwZWMubnIgJiYgZXJyb3JfdW5tYXRjaCkKQEAgLTY0Myw3ICs2NDksNiBAQAogCSAgICAgIHNob3dfa2lsbGVkIHx8IHNob3dfbW9kaWZpZWQgfHwgc2hvd19yZXNvbHZlX3VuZG8pKQogCQlzaG93X2NhY2hlZCA9IDE7CiAKLQlwcnVuZV9jYWNoZShtYXhfcHJlZml4LCBtYXhfcHJlZml4X2xlbik7CiAJaWYgKHdpdGhfdHJlZSkgewogCQkvKgogCQkgKiBCYXNpYyBzYW5pdHkgY2hlY2s7IHNob3ctc3RhZ2VzIGFuZCBzaG93LXVubWVyZ2VkCkBAIC02NTEsMTEgKzY1NiwxMyBAQAogCQkgKi8KIAkJaWYgKHNob3dfc3RhZ2UgfHwgc2hvd191bm1lcmdlZCkKIAkJCWRpZSgibHMtZmlsZXMgLS13aXRoLXRyZWUgaXMgaW5jb21wYXRpYmxlIHdpdGggLXMgb3IgLXUiKTsKLQkJb3ZlcmxheV90cmVlX29uX2NhY2hlKHdpdGhfdHJlZSwgbWF4X3ByZWZpeCk7CisJCW92ZXJsYXlfdHJlZV9vbl9pbmRleCh0aGVfcmVwb3NpdG9yeS0+aW5kZXgsIHdpdGhfdHJlZSwgbWF4X3ByZWZpeCk7CiAJfQotCXNob3dfZmlsZXMoJmRpcik7CisKKwlzaG93X2ZpbGVzKHRoZV9yZXBvc2l0b3J5LCAmZGlyKTsKKwogCWlmIChzaG93X3Jlc29sdmVfdW5kbykKLQkJc2hvd19ydV9pbmZvKCk7CisJCXNob3dfcnVfaW5mbyh0aGVfcmVwb3NpdG9yeS0+aW5kZXgpOwogCiAJaWYgKHBzX21hdGNoZWQpIHsKIAkJaW50IGJhZDsKQEAgLTY2Niw1ICs2NzMsNiBAQAogCQlyZXR1cm4gYmFkID8gMSA6IDA7CiAJfQogCisJVU5MRUFLKGRpcik7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL2xzLXJlbW90ZS5jIGIvYnVpbHRpbi9scy1yZW1vdGUuYwppbmRleCA2NmNkZDQ1Li5jNGJlOThhIDEwMDY0NAotLS0gYS9idWlsdGluL2xzLXJlbW90ZS5jCisrKyBiL2J1aWx0aW4vbHMtcmVtb3RlLmMKQEAgLTE3LDE3ICsxNywxOSBAQAogc3RhdGljIGludCB0YWlsX21hdGNoKGNvbnN0IGNoYXIgKipwYXR0ZXJuLCBjb25zdCBjaGFyICpwYXRoKQogewogCWNvbnN0IGNoYXIgKnA7Ci0JY2hhciBwYXRoYnVmW1BBVEhfTUFYXTsKKwljaGFyICpwYXRoYnVmOwogCiAJaWYgKCFwYXR0ZXJuKQogCQlyZXR1cm4gMTsgLyogbm8gcmVzdHJpY3Rpb24gKi8KIAotCWlmIChzbnByaW50ZihwYXRoYnVmLCBzaXplb2YocGF0aGJ1ZiksICIvJXMiLCBwYXRoKSA+IHNpemVvZihwYXRoYnVmKSkKLQkJcmV0dXJuIGVycm9yKCJpbnNhbmVseSBsb25nIHJlZiAlLipzLi4uIiwgMjAsIHBhdGgpOworCXBhdGhidWYgPSB4c3RyZm10KCIvJXMiLCBwYXRoKTsKIAl3aGlsZSAoKHAgPSAqKHBhdHRlcm4rKykpICE9IE5VTEwpIHsKLQkJaWYgKCF3aWxkbWF0Y2gocCwgcGF0aGJ1ZiwgMCwgTlVMTCkpCisJCWlmICghd2lsZG1hdGNoKHAsIHBhdGhidWYsIDApKSB7CisJCQlmcmVlKHBhdGhidWYpOwogCQkJcmV0dXJuIDE7CisJCX0KIAl9CisJZnJlZShwYXRoYnVmKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9scy10cmVlLmMgYi9idWlsdGluL2xzLXRyZWUuYwppbmRleCBkN2ViZWI0Li5lZjk2NTQwIDEwMDY0NAotLS0gYS9idWlsdGluL2xzLXRyZWUuYworKysgYi9idWlsdGluL2xzLXRyZWUuYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUKICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYmxvYi5oIgogI2luY2x1ZGUgInRyZWUuaCIKICNpbmNsdWRlICJjb21taXQuaCIKQEAgLTExOSw3ICsxMjAsNyBAQAogCiBpbnQgY21kX2xzX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3QgdHJlZSAqdHJlZTsKIAlpbnQgaSwgZnVsbF90cmVlID0gMDsKIAljb25zdCBzdHJ1Y3Qgb3B0aW9uIGxzX3RyZWVfb3B0aW9uc1tdID0gewpAQCAtMTY0LDcgKzE2NSw3IEBACiAKIAlpZiAoYXJnYyA8IDEpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhsc190cmVlX3VzYWdlLCBsc190cmVlX29wdGlvbnMpOwotCWlmIChnZXRfc2hhMShhcmd2WzBdLCBzaGExKSkKKwlpZiAoZ2V0X29pZChhcmd2WzBdLCAmb2lkKSkKIAkJZGllKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIsIGFyZ3ZbMF0pOwogCiAJLyoKQEAgLTE4MCw3ICsxODEsNyBAQAogCWZvciAoaSA9IDA7IGkgPCBwYXRoc3BlYy5ucjsgaSsrKQogCQlwYXRoc3BlYy5pdGVtc1tpXS5ub3dpbGRjYXJkX2xlbiA9IHBhdGhzcGVjLml0ZW1zW2ldLmxlbjsKIAlwYXRoc3BlYy5oYXNfd2lsZGNhcmQgPSAwOwotCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KHNoYTEpOworCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KCZvaWQpOwogCWlmICghdHJlZSkKIAkJZGllKCJub3QgYSB0cmVlIG9iamVjdCIpOwogCXJldHVybiAhIXJlYWRfdHJlZV9yZWN1cnNpdmUodHJlZSwgIiIsIDAsIDAsICZwYXRoc3BlYywgc2hvd190cmVlLCBOVUxMKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWFpbGluZm8uYyBiL2J1aWx0aW4vbWFpbGluZm8uYwppbmRleCBlM2I2MmYyLi5jZmI2NjdhIDEwMDY0NAotLS0gYS9idWlsdGluL21haWxpbmZvLmMKKysrIGIvYnVpbHRpbi9tYWlsaW5mby5jCkBAIC0xMSwxMyArMTEsNiBAQAogc3RhdGljIGNvbnN0IGNoYXIgbWFpbGluZm9fdXNhZ2VbXSA9CiAJImdpdCBtYWlsaW5mbyBbLWsgfCAtYl0gWy1tIHwgLS1tZXNzYWdlLWlkXSBbLXUgfCAtLWVuY29kaW5nPTxlbmNvZGluZz4gfCAtbl0gWy0tc2Npc3NvcnMgfCAtLW5vLXNjaXNzb3JzXSA8bXNnPiA8cGF0Y2g+IDwgbWFpbCA+aW5mbyI7CiAKLXN0YXRpYyBjaGFyICpwcmVmaXhfY29weShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotewotCWlmICghcHJlZml4IHx8IGlzX2Fic29sdXRlX3BhdGgoZmlsZW5hbWUpKQotCQlyZXR1cm4geHN0cmR1cChmaWxlbmFtZSk7Ci0JcmV0dXJuIHhzdHJkdXAocHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgc3RybGVuKHByZWZpeCksIGZpbGVuYW1lKSk7Ci19Ci0KIGludCBjbWRfbWFpbGluZm8oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJY29uc3QgY2hhciAqZGVmX2NoYXJzZXQ7CkBAIC02MCw4ICs1Myw4IEBACiAJbWkuaW5wdXQgPSBzdGRpbjsKIAltaS5vdXRwdXQgPSBzdGRvdXQ7CiAKLQltc2dmaWxlID0gcHJlZml4X2NvcHkocHJlZml4LCBhcmd2WzFdKTsKLQlwYXRjaGZpbGUgPSBwcmVmaXhfY29weShwcmVmaXgsIGFyZ3ZbMl0pOworCW1zZ2ZpbGUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBhcmd2WzFdKTsKKwlwYXRjaGZpbGUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBhcmd2WzJdKTsKIAogCXN0YXR1cyA9ICEhbWFpbGluZm8oJm1pLCBtc2dmaWxlLCBwYXRjaGZpbGUpOwogCWNsZWFyX21haWxpbmZvKCZtaSk7CmRpZmYgLS1naXQgYS9idWlsdGluL21haWxzcGxpdC5jIGIvYnVpbHRpbi9tYWlsc3BsaXQuYwppbmRleCAzMDY4MTY4Li42NjQ0MDBiIDEwMDY0NAotLS0gYS9idWlsdGluL21haWxzcGxpdC5jCisrKyBiL2J1aWx0aW4vbWFpbHNwbGl0LmMKQEAgLTIzMiw2ICsyMzIsMTYgQEAKIAogCWRvIHsKIAkJcGVlayA9IGZnZXRjKGYpOworCQlpZiAocGVlayA9PSBFT0YpIHsKKwkJCWlmIChmID09IHN0ZGluKQorCQkJCS8qIGVtcHR5IHN0ZGluIGlzIE9LICovCisJCQkJcmV0ID0gc2tpcDsKKwkJCWVsc2UgeworCQkJCWZjbG9zZShmKTsKKwkJCQllcnJvcihfKCJlbXB0eSBtYm94OiAnJXMnIiksIGZpbGUpOworCQkJfQorCQkJZ290byBvdXQ7CisJCX0KIAl9IHdoaWxlIChpc3NwYWNlKHBlZWspKTsKIAl1bmdldGMocGVlaywgZik7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWVyZ2UtYmFzZS5jIGIvYnVpbHRpbi9tZXJnZS1iYXNlLmMKaW5kZXggYjU3MmEzNy4uNmRiZDE2NyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tZXJnZS1iYXNlLmMKKysrIGIvYnVpbHRpbi9tZXJnZS1iYXNlLmMKQEAgLTEsNSArMSw2IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImRpZmYuaCIKQEAgLTM2LDEyICszNywxMiBAQAogCiBzdGF0aWMgc3RydWN0IGNvbW1pdCAqZ2V0X2NvbW1pdF9yZWZlcmVuY2UoY29uc3QgY2hhciAqYXJnKQogewotCXVuc2lnbmVkIGNoYXIgcmV2a2V5WzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHJldmtleTsKIAlzdHJ1Y3QgY29tbWl0ICpyOwogCi0JaWYgKGdldF9zaGExKGFyZywgcmV2a2V5KSkKKwlpZiAoZ2V0X29pZChhcmcsICZyZXZrZXkpKQogCQlkaWUoIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIiwgYXJnKTsKLQlyID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UocmV2a2V5KTsKKwlyID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJnJldmtleSk7CiAJaWYgKCFyKQogCQlkaWUoIk5vdCBhIHZhbGlkIGNvbW1pdCBuYW1lICVzIiwgYXJnKTsKIApAQCAtMTEzLDE0ICsxMTQsMTQgQEAKIAl1bnNpZ25lZCBpbnQgaW5pdGlhbCA6IDE7CiB9OwogCi1zdGF0aWMgdm9pZCBhZGRfb25lX2NvbW1pdCh1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcmV2X2NvbGxlY3QgKnJldnMpCitzdGF0aWMgdm9pZCBhZGRfb25lX2NvbW1pdChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCByZXZfY29sbGVjdCAqcmV2cykKIHsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAKLQlpZiAoaXNfbnVsbF9zaGExKHNoYTEpKQorCWlmIChpc19udWxsX29pZChvaWQpKQogCQlyZXR1cm47CiAKLQljb21taXQgPSBsb29rdXBfY29tbWl0KHNoYTEpOworCWNvbW1pdCA9IGxvb2t1cF9jb21taXQob2lkKTsKIAlpZiAoIWNvbW1pdCB8fAogCSAgICAoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBUTVBfTUFSSykgfHwKIAkgICAgcGFyc2VfY29tbWl0KGNvbW1pdCkpCkBAIC0xMzEsMjMgKzEzMiwyMyBAQAogCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IFRNUF9NQVJLOwogfQogCi1zdGF0aWMgaW50IGNvbGxlY3Rfb25lX3JlZmxvZ19lbnQodW5zaWduZWQgY2hhciAqb3NoYTEsIHVuc2lnbmVkIGNoYXIgKm5zaGExLAotCQkJCSAgY29uc3QgY2hhciAqaWRlbnQsIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wLAorc3RhdGljIGludCBjb2xsZWN0X29uZV9yZWZsb2dfZW50KHN0cnVjdCBvYmplY3RfaWQgKm9vaWQsIHN0cnVjdCBvYmplY3RfaWQgKm5vaWQsCisJCQkJICBjb25zdCBjaGFyICppZGVudCwgdGltZXN0YW1wX3QgdGltZXN0YW1wLAogCQkJCSAgaW50IHR6LCBjb25zdCBjaGFyICptZXNzYWdlLCB2b2lkICpjYmRhdGEpCiB7CiAJc3RydWN0IHJldl9jb2xsZWN0ICpyZXZzID0gY2JkYXRhOwogCiAJaWYgKHJldnMtPmluaXRpYWwpIHsKIAkJcmV2cy0+aW5pdGlhbCA9IDA7Ci0JCWFkZF9vbmVfY29tbWl0KG9zaGExLCByZXZzKTsKKwkJYWRkX29uZV9jb21taXQob29pZCwgcmV2cyk7CiAJfQotCWFkZF9vbmVfY29tbWl0KG5zaGExLCByZXZzKTsKKwlhZGRfb25lX2NvbW1pdChub2lkLCByZXZzKTsKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBoYW5kbGVfZm9ya19wb2ludChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAljaGFyICpyZWZuYW1lOwogCWNvbnN0IGNoYXIgKmNvbW1pdG5hbWU7CiAJc3RydWN0IHJldl9jb2xsZWN0IHJldnM7CkBAIC0xNTUsNyArMTU2LDcgQEAKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmJhc2VzOwogCWludCBpLCByZXQgPSAwOwogCi0Jc3dpdGNoIChkd2ltX3JlZihhcmd2WzBdLCBzdHJsZW4oYXJndlswXSksIHNoYTEsICZyZWZuYW1lKSkgeworCXN3aXRjaCAoZHdpbV9yZWYoYXJndlswXSwgc3RybGVuKGFyZ3ZbMF0pLCBvaWQuaGFzaCwgJnJlZm5hbWUpKSB7CiAJY2FzZSAwOgogCQlkaWUoIk5vIHN1Y2ggcmVmOiAnJXMnIiwgYXJndlswXSk7CiAJY2FzZSAxOgpAQCAtMTY1LDE2ICsxNjYsMTYgQEAKIAl9CiAKIAljb21taXRuYW1lID0gKGFyZ2MgPT0gMikgPyBhcmd2WzFdIDogIkhFQUQiOwotCWlmIChnZXRfc2hhMShjb21taXRuYW1lLCBzaGExKSkKKwlpZiAoZ2V0X29pZChjb21taXRuYW1lLCAmb2lkKSkKIAkJZGllKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIsIGNvbW1pdG5hbWUpOwogCi0JZGVyaXZlZCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHNoYTEpOworCWRlcml2ZWQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmb2lkKTsKIAltZW1zZXQoJnJldnMsIDAsIHNpemVvZihyZXZzKSk7CiAJcmV2cy5pbml0aWFsID0gMTsKIAlmb3JfZWFjaF9yZWZsb2dfZW50KHJlZm5hbWUsIGNvbGxlY3Rfb25lX3JlZmxvZ19lbnQsICZyZXZzKTsKIAotCWlmICghcmV2cy5uciAmJiAhZ2V0X3NoYTEocmVmbmFtZSwgc2hhMSkpCi0JCWFkZF9vbmVfY29tbWl0KHNoYTEsICZyZXZzKTsKKwlpZiAoIXJldnMubnIgJiYgIWdldF9vaWQocmVmbmFtZSwgJm9pZCkpCisJCWFkZF9vbmVfY29tbWl0KCZvaWQsICZyZXZzKTsKIAogCWZvciAoaSA9IDA7IGkgPCByZXZzLm5yOyBpKyspCiAJCXJldnMuY29tbWl0W2ldLT5vYmplY3QuZmxhZ3MgJj0gflRNUF9NQVJLOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tZXJnZS1maWxlLmMgYi9idWlsdGluL21lcmdlLWZpbGUuYwppbmRleCAxM2UyMmEyLi5iMDg4MDNlIDEwMDY0NAotLS0gYS9idWlsdGluL21lcmdlLWZpbGUuYworKysgYi9idWlsdGluL21lcmdlLWZpbGUuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJ4ZGlmZi94ZGlmZi5oIgogI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKQEAgLTI4LDcgKzI5LDYgQEAKIAl4bXBhcmFtX3QgeG1wID0ge3swfX07CiAJaW50IHJldCA9IDAsIGkgPSAwLCB0b19zdGRvdXQgPSAwOwogCWludCBxdWlldCA9IDA7Ci0JaW50IHByZWZpeGxlbiA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9CT09MKCdwJywgInN0ZG91dCIsICZ0b19zdGRvdXQsIE5fKCJzZW5kIHJlc3VsdHMgdG8gc3RhbmRhcmQgb3V0cHV0IikpLAogCQlPUFRfU0VUX0lOVCgwLCAiZGlmZjMiLCAmeG1wLnN0eWxlLCBOXygidXNlIGEgZGlmZjMgYmFzZWQgbWVyZ2UiKSwgWERMX01FUkdFX0RJRkYzKSwKQEAgLTY1LDE1ICs2NSwxOSBAQAogCQkJcmV0dXJuIGVycm9yX2Vycm5vKCJmYWlsZWQgdG8gcmVkaXJlY3Qgc3RkZXJyIHRvIC9kZXYvbnVsbCIpOwogCX0KIAotCWlmIChwcmVmaXgpCi0JCXByZWZpeGxlbiA9IHN0cmxlbihwcmVmaXgpOwotCiAJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewotCQljb25zdCBjaGFyICpmbmFtZSA9IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHByZWZpeGxlbiwgYXJndltpXSk7CisJCWNoYXIgKmZuYW1lOworCQlpbnQgcmV0OworCiAJCWlmICghbmFtZXNbaV0pCiAJCQluYW1lc1tpXSA9IGFyZ3ZbaV07Ci0JCWlmIChyZWFkX21tZmlsZShtbWZzICsgaSwgZm5hbWUpKQorCisJCWZuYW1lID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgYXJndltpXSk7CisJCXJldCA9IHJlYWRfbW1maWxlKG1tZnMgKyBpLCBmbmFtZSk7CisJCWZyZWUoZm5hbWUpOworCQlpZiAocmV0KQogCQkJcmV0dXJuIC0xOworCiAJCWlmIChtbWZzW2ldLnNpemUgPiBNQVhfWERJRkZfU0laRSB8fAogCQkgICAgYnVmZmVyX2lzX2JpbmFyeShtbWZzW2ldLnB0ciwgbW1mc1tpXS5zaXplKSkKIAkJCXJldHVybiBlcnJvcigiQ2Fubm90IG1lcmdlIGJpbmFyeSBmaWxlczogJXMiLApAQCAtOTAsNyArOTQsNyBAQAogCiAJaWYgKHJldCA+PSAwKSB7CiAJCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gYXJndlswXTsKLQkJY29uc3QgY2hhciAqZnBhdGggPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBwcmVmaXhsZW4sIGFyZ3ZbMF0pOworCQljaGFyICpmcGF0aCA9IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIGFyZ3ZbMF0pOwogCQlGSUxFICpmID0gdG9fc3Rkb3V0ID8gc3Rkb3V0IDogZm9wZW4oZnBhdGgsICJ3YiIpOwogCiAJCWlmICghZikKQEAgLTEwMiw2ICsxMDYsNyBAQAogCQllbHNlIGlmIChmY2xvc2UoZikpCiAJCQlyZXQgPSBlcnJvcl9lcnJubygiQ291bGQgbm90IGNsb3NlICVzIiwgZmlsZW5hbWUpOwogCQlmcmVlKHJlc3VsdC5wdHIpOworCQlmcmVlKGZwYXRoKTsKIAl9CiAKIAlpZiAocmV0ID4gMTI3KQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tZXJnZS1pbmRleC5jIGIvYnVpbHRpbi9tZXJnZS1pbmRleC5jCmluZGV4IDJkMWI2ZGIuLmM5OTQ0M2IgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbWVyZ2UtaW5kZXguYworKysgYi9idWlsdGluL21lcmdlLWluZGV4LmMKQEAgLTksNyArOSw3IEBACiB7CiAJaW50IGZvdW5kOwogCWNvbnN0IGNoYXIgKmFyZ3VtZW50c1tdID0geyBwZ20sICIiLCAiIiwgIiIsIHBhdGgsICIiLCAiIiwgIiIsIE5VTEwgfTsKLQljaGFyIGhleGJ1Zls0XVtHSVRfU0hBMV9IRVhTWiArIDFdOworCWNoYXIgaGV4YnVmWzRdW0dJVF9NQVhfSEVYU1ogKyAxXTsKIAljaGFyIG93bmJ1Zls0XVs2MF07CiAKIAlpZiAocG9zID49IGFjdGl2ZV9ucikKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWVyZ2UtdHJlZS5jIGIvYnVpbHRpbi9tZXJnZS10cmVlLmMKaW5kZXggNWI3YWI5Yi4uZDAxZGRlYyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tZXJnZS10cmVlLmMKKysrIGIvYnVpbHRpbi9tZXJnZS10cmVlLmMKQEAgLTE2MSwxNCArMTYxLDE0IEBACiAJcmV0dXJuICEoYS0+b2lkIHx8IGItPm9pZCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgbWVyZ2VfbGlzdCAqY3JlYXRlX2VudHJ5KHVuc2lnbmVkIHN0YWdlLCB1bnNpZ25lZCBtb2RlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICpwYXRoKQorc3RhdGljIHN0cnVjdCBtZXJnZV9saXN0ICpjcmVhdGVfZW50cnkodW5zaWduZWQgc3RhZ2UsIHVuc2lnbmVkIG1vZGUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqcGF0aCkKIHsKIAlzdHJ1Y3QgbWVyZ2VfbGlzdCAqcmVzID0geGNhbGxvYygxLCBzaXplb2YoKnJlcykpOwogCiAJcmVzLT5zdGFnZSA9IHN0YWdlOwogCXJlcy0+cGF0aCA9IHBhdGg7CiAJcmVzLT5tb2RlID0gbW9kZTsKLQlyZXMtPmJsb2IgPSBsb29rdXBfYmxvYihzaGExKTsKKwlyZXMtPmJsb2IgPSBsb29rdXBfYmxvYihvaWQpOwogCXJldHVybiByZXM7CiB9CiAKQEAgLTE4OCw4ICsxODgsOCBAQAogCQlyZXR1cm47CiAKIAlwYXRoID0gdHJhdmVyc2VfcGF0aChpbmZvLCByZXN1bHQpOwotCW9yaWcgPSBjcmVhdGVfZW50cnkoMiwgb3Vycy0+bW9kZSwgb3Vycy0+b2lkLT5oYXNoLCBwYXRoKTsKLQlmaW5hbCA9IGNyZWF0ZV9lbnRyeSgwLCByZXN1bHQtPm1vZGUsIHJlc3VsdC0+b2lkLT5oYXNoLCBwYXRoKTsKKwlvcmlnID0gY3JlYXRlX2VudHJ5KDIsIG91cnMtPm1vZGUsIG91cnMtPm9pZCwgcGF0aCk7CisJZmluYWwgPSBjcmVhdGVfZW50cnkoMCwgcmVzdWx0LT5tb2RlLCByZXN1bHQtPm9pZCwgcGF0aCk7CiAKIAlmaW5hbC0+bGluayA9IG9yaWc7CiAKQEAgLTIxMywxMSArMjEzLDExIEBACiAKIAluZXdiYXNlID0gdHJhdmVyc2VfcGF0aChpbmZvLCBwKTsKIAotI2RlZmluZSBFTlRSWV9TSEExKGUpICgoKGUpLT5tb2RlICYmIFNfSVNESVIoKGUpLT5tb2RlKSkgPyAoZSktPm9pZC0+aGFzaCA6IE5VTEwpCi0JYnVmMCA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKHQrMCwgRU5UUllfU0hBMShuICsgMCkpOwotCWJ1ZjEgPSBmaWxsX3RyZWVfZGVzY3JpcHRvcih0KzEsIEVOVFJZX1NIQTEobiArIDEpKTsKLQlidWYyID0gZmlsbF90cmVlX2Rlc2NyaXB0b3IodCsyLCBFTlRSWV9TSEExKG4gKyAyKSk7Ci0jdW5kZWYgRU5UUllfU0hBMQorI2RlZmluZSBFTlRSWV9PSUQoZSkgKCgoZSktPm1vZGUgJiYgU19JU0RJUigoZSktPm1vZGUpKSA/IChlKS0+b2lkIDogTlVMTCkKKwlidWYwID0gZmlsbF90cmVlX2Rlc2NyaXB0b3IodCArIDAsIEVOVFJZX09JRChuICsgMCkpOworCWJ1ZjEgPSBmaWxsX3RyZWVfZGVzY3JpcHRvcih0ICsgMSwgRU5UUllfT0lEKG4gKyAxKSk7CisJYnVmMiA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKHQgKyAyLCBFTlRSWV9PSUQobiArIDIpKTsKKyN1bmRlZiBFTlRSWV9PSUQKIAogCW1lcmdlX3RyZWVzKHQsIG5ld2Jhc2UpOwogCkBAIC0yMzksNyArMjM5LDcgQEAKIAkJcGF0aCA9IGVudHJ5LT5wYXRoOwogCWVsc2UKIAkJcGF0aCA9IHRyYXZlcnNlX3BhdGgoaW5mbywgbik7Ci0JbGluayA9IGNyZWF0ZV9lbnRyeShzdGFnZSwgbi0+bW9kZSwgbi0+b2lkLT5oYXNoLCBwYXRoKTsKKwlsaW5rID0gY3JlYXRlX2VudHJ5KHN0YWdlLCBuLT5tb2RlLCBuLT5vaWQsIHBhdGgpOwogCWxpbmstPmxpbmsgPSBlbnRyeTsKIAlyZXR1cm4gbGluazsKIH0KQEAgLTM0NywxMiArMzQ3LDEyIEBACiAKIHN0YXRpYyB2b2lkICpnZXRfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IGNoYXIgKnJldikKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXZvaWQgKmJ1ZjsKIAotCWlmIChnZXRfc2hhMShyZXYsIHNoYTEpKQorCWlmIChnZXRfb2lkKHJldiwgJm9pZCkpCiAJCWRpZSgidW5rbm93biByZXYgJXMiLCByZXYpOwotCWJ1ZiA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKGRlc2MsIHNoYTEpOworCWJ1ZiA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKGRlc2MsICZvaWQpOwogCWlmICghYnVmKQogCQlkaWUoIiVzIGlzIG5vdCBhIHRyZWUiLCByZXYpOwogCXJldHVybiBidWY7CmRpZmYgLS1naXQgYS9idWlsdGluL21lcmdlLmMgYi9idWlsdGluL21lcmdlLmMKaW5kZXggODQ4YTI5OC4uYWI1ZmZlOCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tZXJnZS5jCisrKyBiL2J1aWx0aW4vbWVyZ2UuYwpAQCAtNyw2ICs3LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCkBAIC0zMSw2ICszMiw3IEBACiAjaW5jbHVkZSAiZ3BnLWludGVyZmFjZS5oIgogI2luY2x1ZGUgInNlcXVlbmNlci5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogI2RlZmluZSBERUZBVUxUX1RXT0hFQUQgKDE8PDApCiAjZGVmaW5lIERFRkFVTFRfT0NUT1BVUyAoMTw8MSkKQEAgLTQ0LDcgKzQ2LDYgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX21lcmdlX3VzYWdlW10gPSB7CiAJTl8oImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIiksCi0JTl8oImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IiksCiAJTl8oImdpdCBtZXJnZSAtLWFib3J0IiksCiAJTl8oImdpdCBtZXJnZSAtLWNvbnRpbnVlIiksCiAJTlVMTApAQCAtNzAsNyArNzEsOSBAQAogc3RhdGljIGludCBhbGxvd191bnJlbGF0ZWRfaGlzdG9yaWVzOwogc3RhdGljIGludCBzaG93X3Byb2dyZXNzID0gLTE7CiBzdGF0aWMgaW50IGRlZmF1bHRfdG9fdXBzdHJlYW0gPSAxOworc3RhdGljIGludCBzaWdub2ZmOwogc3RhdGljIGNvbnN0IGNoYXIgKnNpZ25fY29tbWl0Oworc3RhdGljIGludCB2ZXJpZnlfbXNnID0gMTsKIAogc3RhdGljIHN0cnVjdCBzdHJhdGVneSBhbGxfc3RyYXRlZ3lbXSA9IHsKIAl7ICJyZWN1cnNpdmUiLCAgREVGQVVMVF9UV09IRUFEIHwgTk9fVFJJVklBTCB9LApAQCAtMjMzLDYgKzIzNiw4IEBACiAJeyBPUFRJT05fU1RSSU5HLCAnUycsICJncGctc2lnbiIsICZzaWduX2NvbW1pdCwgTl8oImtleS1pZCIpLAogCSAgTl8oIkdQRyBzaWduIGNvbW1pdCIpLCBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpICIiIH0sCiAJT1BUX0JPT0woMCwgIm92ZXJ3cml0ZS1pZ25vcmUiLCAmb3ZlcndyaXRlX2lnbm9yZSwgTl8oInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIpKSwKKwlPUFRfQk9PTCgwLCAic2lnbm9mZiIsICZzaWdub2ZmLCBOXygiYWRkIFNpZ25lZC1vZmYtYnk6IikpLAorCU9QVF9CT09MKDAsICJ2ZXJpZnkiLCAmdmVyaWZ5X21zZywgTl8oInZlcmlmeSBjb21taXQtbXNnIGhvb2siKSksCiAJT1BUX0VORCgpCiB9OwogCkBAIC0yNDQsMTIgKzI0OSwxMyBAQAogCXVubGluayhnaXRfcGF0aF9tZXJnZV9tb2RlKCkpOwogfQogCi1zdGF0aWMgaW50IHNhdmVfc3RhdGUodW5zaWduZWQgY2hhciAqc3Rhc2gpCitzdGF0aWMgaW50IHNhdmVfc3RhdGUoc3RydWN0IG9iamVjdF9pZCAqc3Rhc2gpCiB7CiAJaW50IGxlbjsKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZmZlciA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHsic3Rhc2giLCAiY3JlYXRlIiwgTlVMTH07CisJaW50IHJjID0gLTE7CiAKIAljcC5hcmd2ID0gYXJndjsKIAljcC5vdXQgPSAtMTsKQEAgLTI2MywxMSArMjY5LDE0IEBACiAJaWYgKGZpbmlzaF9jb21tYW5kKCZjcCkgfHwgbGVuIDwgMCkKIAkJZGllKF8oInN0YXNoIGZhaWxlZCIpKTsKIAllbHNlIGlmICghbGVuKQkJLyogbm8gY2hhbmdlcyAqLwotCQlyZXR1cm4gLTE7CisJCWdvdG8gb3V0OwogCXN0cmJ1Zl9zZXRsZW4oJmJ1ZmZlciwgYnVmZmVyLmxlbi0xKTsKLQlpZiAoZ2V0X3NoYTEoYnVmZmVyLmJ1Ziwgc3Rhc2gpKQorCWlmIChnZXRfb2lkKGJ1ZmZlci5idWYsIHN0YXNoKSkKIAkJZGllKF8oIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiKSwgYnVmZmVyLmJ1Zik7Ci0JcmV0dXJuIDA7CisJcmMgPSAwOworb3V0OgorCXN0cmJ1Zl9yZWxlYXNlKCZidWZmZXIpOworCXJldHVybiByYzsKIH0KIAogc3RhdGljIHZvaWQgcmVhZF9lbXB0eSh1bnNpZ25lZCBjb25zdCBjaGFyICpzaGExLCBpbnQgdmVyYm9zZSkKQEAgLTMwNSwxOCArMzE0LDE4IEBACiAJCWRpZShfKCJyZWFkLXRyZWUgZmFpbGVkIikpOwogfQogCi1zdGF0aWMgdm9pZCByZXN0b3JlX3N0YXRlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmhlYWQsCi0JCQkgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0YXNoKQorc3RhdGljIHZvaWQgcmVzdG9yZV9zdGF0ZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpoZWFkLAorCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpzdGFzaCkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqYXJnc1tdID0geyAic3Rhc2giLCAiYXBwbHkiLCBOVUxMLCBOVUxMIH07CiAKLQlpZiAoaXNfbnVsbF9zaGExKHN0YXNoKSkKKwlpZiAoaXNfbnVsbF9vaWQoc3Rhc2gpKQogCQlyZXR1cm47CiAKLQlyZXNldF9oYXJkKGhlYWQsIDEpOworCXJlc2V0X2hhcmQoaGVhZC0+aGFzaCwgMSk7CiAKLQlhcmdzWzJdID0gc2hhMV90b19oZXgoc3Rhc2gpOworCWFyZ3NbMl0gPSBvaWRfdG9faGV4KHN0YXNoKTsKIAogCS8qCiAJICogSXQgaXMgT0sgdG8gaWdub3JlIGVycm9yIGhlcmUsIGZvciBleGFtcGxlIHdoZW4gdGhlcmUgd2FzCkBAIC0zNzYsMTAgKzM4NSwxMCBAQAogCiBzdGF0aWMgdm9pZCBmaW5pc2goc3RydWN0IGNvbW1pdCAqaGVhZF9jb21taXQsCiAJCSAgIHN0cnVjdCBjb21taXRfbGlzdCAqcmVtb3RlaGVhZHMsCi0JCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ld19oZWFkLCBjb25zdCBjaGFyICptc2cpCisJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5ld19oZWFkLCBjb25zdCBjaGFyICptc2cpCiB7CiAJc3RydWN0IHN0cmJ1ZiByZWZsb2dfbWVzc2FnZSA9IFNUUkJVRl9JTklUOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmhlYWQgPSBoZWFkX2NvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmhlYWQgPSAmaGVhZF9jb21taXQtPm9iamVjdC5vaWQ7CiAKIAlpZiAoIW1zZykKIAkJc3RyYnVmX2FkZHN0cigmcmVmbG9nX21lc3NhZ2UsIGdldGVudigiR0lUX1JFRkxPR19BQ1RJT04iKSk7CkBAIC0zOTcsNyArNDA2LDcgQEAKIAkJZWxzZSB7CiAJCQljb25zdCBjaGFyICphcmd2X2djX2F1dG9bXSA9IHsgImdjIiwgIi0tYXV0byIsIE5VTEwgfTsKIAkJCXVwZGF0ZV9yZWYocmVmbG9nX21lc3NhZ2UuYnVmLCAiSEVBRCIsCi0JCQkJbmV3X2hlYWQsIGhlYWQsIDAsCisJCQkJbmV3X2hlYWQtPmhhc2gsIGhlYWQtPmhhc2gsIDAsCiAJCQkJVVBEQVRFX1JFRlNfRElFX09OX0VSUik7CiAJCQkvKgogCQkJICogV2UgaWdub3JlIGVycm9ycyBpbiAnZ2MgLS1hdXRvJywgc2luY2UgdGhlCkBAIC00MTYsNyArNDI1LDcgQEAKIAkJCURJRkZfRk9STUFUX1NVTU1BUlkgfCBESUZGX0ZPUk1BVF9ESUZGU1RBVDsKIAkJb3B0cy5kZXRlY3RfcmVuYW1lID0gRElGRl9ERVRFQ1RfUkVOQU1FOwogCQlkaWZmX3NldHVwX2RvbmUoJm9wdHMpOwotCQlkaWZmX3RyZWVfc2hhMShoZWFkLCBuZXdfaGVhZCwgIiIsICZvcHRzKTsKKwkJZGlmZl90cmVlX29pZChoZWFkLCBuZXdfaGVhZCwgIiIsICZvcHRzKTsKIAkJZGlmZmNvcmVfc3RkKCZvcHRzKTsKIAkJZGlmZl9mbHVzaCgmb3B0cyk7CiAJfQpAQCAtNDMxLDcgKzQ0MCw3IEBACiBzdGF0aWMgdm9pZCBtZXJnZV9uYW1lKGNvbnN0IGNoYXIgKnJlbW90ZSwgc3RydWN0IHN0cmJ1ZiAqbXNnKQogewogCXN0cnVjdCBjb21taXQgKnJlbW90ZV9oZWFkOwotCXVuc2lnbmVkIGNoYXIgYnJhbmNoX2hlYWRbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgYnJhbmNoX2hlYWQ7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIGJuYW1lID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqcHRyOwpAQCAtNDQxLDI1ICs0NTAsMjUgQEAKIAlzdHJidWZfYnJhbmNobmFtZSgmYm5hbWUsIHJlbW90ZSwgMCk7CiAJcmVtb3RlID0gYm5hbWUuYnVmOwogCi0JbWVtc2V0KGJyYW5jaF9oZWFkLCAwLCBzaXplb2YoYnJhbmNoX2hlYWQpKTsKKwlvaWRjbHIoJmJyYW5jaF9oZWFkKTsKIAlyZW1vdGVfaGVhZCA9IGdldF9tZXJnZV9wYXJlbnQocmVtb3RlKTsKIAlpZiAoIXJlbW90ZV9oZWFkKQogCQlkaWUoXygiJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIpLCByZW1vdGUpOwogCi0JaWYgKGR3aW1fcmVmKHJlbW90ZSwgc3RybGVuKHJlbW90ZSksIGJyYW5jaF9oZWFkLCAmZm91bmRfcmVmKSA+IDApIHsKKwlpZiAoZHdpbV9yZWYocmVtb3RlLCBzdHJsZW4ocmVtb3RlKSwgYnJhbmNoX2hlYWQuaGFzaCwgJmZvdW5kX3JlZikgPiAwKSB7CiAJCWlmIChzdGFydHNfd2l0aChmb3VuZF9yZWYsICJyZWZzL2hlYWRzLyIpKSB7CiAJCQlzdHJidWZfYWRkZihtc2csICIlc1x0XHRicmFuY2ggJyVzJyBvZiAuXG4iLAotCQkJCSAgICBzaGExX3RvX2hleChicmFuY2hfaGVhZCksIHJlbW90ZSk7CisJCQkJICAgIG9pZF90b19oZXgoJmJyYW5jaF9oZWFkKSwgcmVtb3RlKTsKIAkJCWdvdG8gY2xlYW51cDsKIAkJfQogCQlpZiAoc3RhcnRzX3dpdGgoZm91bmRfcmVmLCAicmVmcy90YWdzLyIpKSB7CiAJCQlzdHJidWZfYWRkZihtc2csICIlc1x0XHR0YWcgJyVzJyBvZiAuXG4iLAotCQkJCSAgICBzaGExX3RvX2hleChicmFuY2hfaGVhZCksIHJlbW90ZSk7CisJCQkJICAgIG9pZF90b19oZXgoJmJyYW5jaF9oZWFkKSwgcmVtb3RlKTsKIAkJCWdvdG8gY2xlYW51cDsKIAkJfQogCQlpZiAoc3RhcnRzX3dpdGgoZm91bmRfcmVmLCAicmVmcy9yZW1vdGVzLyIpKSB7CiAJCQlzdHJidWZfYWRkZihtc2csICIlc1x0XHRyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgb2YgLlxuIiwKLQkJCQkgICAgc2hhMV90b19oZXgoYnJhbmNoX2hlYWQpLCByZW1vdGUpOworCQkJCSAgICBvaWRfdG9faGV4KCZicmFuY2hfaGVhZCksIHJlbW90ZSk7CiAJCQlnb3RvIGNsZWFudXA7CiAJCX0KIAl9CkBAIC01MzcsNyArNTQ2LDcgQEAKIAkJZGllKF8oIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiKSwgYnJhbmNoLAogCQkgICAgc3BsaXRfY21kbGluZV9zdHJlcnJvcihhcmdjKSk7CiAJUkVBTExPQ19BUlJBWShhcmd2LCBhcmdjICsgMik7Ci0JbWVtbW92ZShhcmd2ICsgMSwgYXJndiwgc2l6ZW9mKCphcmd2KSAqIChhcmdjICsgMSkpOworCU1PVkVfQVJSQVkoYXJndiArIDEsIGFyZ3YsIGFyZ2MgKyAxKTsKIAlhcmdjKys7CiAJYXJndlswXSA9ICJicmFuY2guKi5tZXJnZW9wdGlvbnMiOwogCXBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwgYnVpbHRpbl9tZXJnZV9vcHRpb25zLApAQCAtNTY2LDcgKzU3NSw3IEBACiAJZWxzZSBpZiAoIXN0cmNtcChrLCAibWVyZ2UucmVub3JtYWxpemUiKSkKIAkJb3B0aW9uX3Jlbm9ybWFsaXplID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOwogCWVsc2UgaWYgKCFzdHJjbXAoaywgIm1lcmdlLmZmIikpIHsKLQkJaW50IGJvb2x2YWwgPSBnaXRfY29uZmlnX21heWJlX2Jvb2woaywgdik7CisJCWludCBib29sdmFsID0gZ2l0X3BhcnNlX21heWJlX2Jvb2wodik7CiAJCWlmICgwIDw9IGJvb2x2YWwpIHsKIAkJCWZhc3RfZm9yd2FyZCA9IGJvb2x2YWwgPyBGRl9BTExPVyA6IEZGX05POwogCQl9IGVsc2UgaWYgKHYgJiYgIXN0cmNtcCh2LCAib25seSIpKSB7CkBAIC01OTAsOCArNTk5LDggQEAKIAlyZXR1cm4gZ2l0X2RpZmZfdWlfY29uZmlnKGssIHYsIGNiKTsKIH0KIAotc3RhdGljIGludCByZWFkX3RyZWVfdHJpdmlhbCh1bnNpZ25lZCBjaGFyICpjb21tb24sIHVuc2lnbmVkIGNoYXIgKmhlYWQsCi0JCQkgICAgIHVuc2lnbmVkIGNoYXIgKm9uZSkKK3N0YXRpYyBpbnQgcmVhZF90cmVlX3RyaXZpYWwoc3RydWN0IG9iamVjdF9pZCAqY29tbW9uLCBzdHJ1Y3Qgb2JqZWN0X2lkICpoZWFkLAorCQkJICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvbmUpCiB7CiAJaW50IGksIG5yX3RyZWVzID0gMDsKIAlzdHJ1Y3QgdHJlZSAqdHJlZXNbTUFYX1VOUEFDS19UUkVFU107CkBAIC02MjYsMTcgKzYzNSwxOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCB3cml0ZV90cmVlX3RyaXZpYWwodW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyB2b2lkIHdyaXRlX3RyZWVfdHJpdmlhbChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0JaWYgKHdyaXRlX2NhY2hlX2FzX3RyZWUoc2hhMSwgMCwgTlVMTCkpCisJaWYgKHdyaXRlX2NhY2hlX2FzX3RyZWUob2lkLT5oYXNoLCAwLCBOVUxMKSkKIAkJZGllKF8oImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiKSk7CiB9CiAKIHN0YXRpYyBpbnQgdHJ5X21lcmdlX3N0cmF0ZWd5KGNvbnN0IGNoYXIgKnN0cmF0ZWd5LCBzdHJ1Y3QgY29tbWl0X2xpc3QgKmNvbW1vbiwKIAkJCSAgICAgIHN0cnVjdCBjb21taXRfbGlzdCAqcmVtb3RlaGVhZHMsCi0JCQkgICAgICBzdHJ1Y3QgY29tbWl0ICpoZWFkLCBjb25zdCBjaGFyICpoZWFkX2FyZykKKwkJCSAgICAgIHN0cnVjdCBjb21taXQgKmhlYWQpCiB7CiAJc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgbG9jazsKKwljb25zdCBjaGFyICpoZWFkX2FyZyA9ICJIRUFEIjsKIAogCWhvbGRfbG9ja2VkX2luZGV4KCZsb2NrLCBMT0NLX0RJRV9PTl9FUlJPUik7CiAJcmVmcmVzaF9jYWNoZShSRUZSRVNIX1FVSUVUKTsKQEAgLTc1NSwxMyArNzY1LDE5IEBACiAgICAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzXG4iCiAgICAidGhlIGNvbW1pdC5cbiIpOwogCitzdGF0aWMgdm9pZCB3cml0ZV9tZXJnZV9oZWFkcyhzdHJ1Y3QgY29tbWl0X2xpc3QgKik7CiBzdGF0aWMgdm9pZCBwcmVwYXJlX3RvX2NvbW1pdChzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlbW90ZWhlYWRzKQogewogCXN0cnVjdCBzdHJidWYgbXNnID0gU1RSQlVGX0lOSVQ7CiAJc3RyYnVmX2FkZGJ1ZigmbXNnLCAmbWVyZ2VfbXNnKTsKIAlzdHJidWZfYWRkY2goJm1zZywgJ1xuJyk7CisJaWYgKHNxdWFzaCkKKwkJQlVHKCJ0aGUgY29udHJvbCBtdXN0IG5vdCByZWFjaCBoZXJlIHVuZGVyIC0tc3F1YXNoIik7CiAJaWYgKDAgPCBvcHRpb25fZWRpdCkKIAkJc3RyYnVmX2NvbW1lbnRlZF9hZGRmKCZtc2csIF8obWVyZ2VfZWRpdG9yX2NvbW1lbnQpLCBjb21tZW50X2xpbmVfY2hhcik7CisJaWYgKHNpZ25vZmYpCisJCWFwcGVuZF9zaWdub2ZmKCZtc2csIGlnbm9yZV9ub25fdHJhaWxlcihtc2cuYnVmLCBtc2cubGVuKSwgMCk7CisJd3JpdGVfbWVyZ2VfaGVhZHMocmVtb3RlaGVhZHMpOwogCXdyaXRlX2ZpbGVfYnVmKGdpdF9wYXRoX21lcmdlX21zZygpLCBtc2cuYnVmLCBtc2cubGVuKTsKIAlpZiAocnVuX2NvbW1pdF9ob29rKDAgPCBvcHRpb25fZWRpdCwgZ2V0X2luZGV4X2ZpbGUoKSwgInByZXBhcmUtY29tbWl0LW1zZyIsCiAJCQkgICAgZ2l0X3BhdGhfbWVyZ2VfbXNnKCksICJtZXJnZSIsIE5VTEwpKQpAQCAtNzcwLDYgKzc4NiwxMiBAQAogCQlpZiAobGF1bmNoX2VkaXRvcihnaXRfcGF0aF9tZXJnZV9tc2coKSwgTlVMTCwgTlVMTCkpCiAJCQlhYm9ydF9jb21taXQocmVtb3RlaGVhZHMsIE5VTEwpOwogCX0KKworCWlmICh2ZXJpZnlfbXNnICYmIHJ1bl9jb21taXRfaG9vaygwIDwgb3B0aW9uX2VkaXQsIGdldF9pbmRleF9maWxlKCksCisJCQkJCSAgImNvbW1pdC1tc2ciLAorCQkJCQkgIGdpdF9wYXRoX21lcmdlX21zZygpLCBOVUxMKSkKKwkJYWJvcnRfY29tbWl0KHJlbW90ZWhlYWRzLCBOVUxMKTsKKwogCXJlYWRfbWVyZ2VfbXNnKCZtc2cpOwogCXN0cmJ1Zl9zdHJpcHNwYWNlKCZtc2csIDAgPCBvcHRpb25fZWRpdCk7CiAJaWYgKCFtc2cubGVuKQpAQCAtNzgxLDcgKzgwMyw3IEBACiAKIHN0YXRpYyBpbnQgbWVyZ2VfdHJpdmlhbChzdHJ1Y3QgY29tbWl0ICpoZWFkLCBzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlbW90ZWhlYWRzKQogewotCXVuc2lnbmVkIGNoYXIgcmVzdWx0X3RyZWVbMjBdLCByZXN1bHRfY29tbWl0WzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHJlc3VsdF90cmVlLCByZXN1bHRfY29tbWl0OwogCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cywgKipwcHRyID0gJnBhcmVudHM7CiAJc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgbG9jazsKIApAQCAtNzkyLDE1ICs4MTQsMTUgQEAKIAkJcmV0dXJuIGVycm9yKF8oIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iKSk7CiAJcm9sbGJhY2tfbG9ja19maWxlKCZsb2NrKTsKIAotCXdyaXRlX3RyZWVfdHJpdmlhbChyZXN1bHRfdHJlZSk7CisJd3JpdGVfdHJlZV90cml2aWFsKCZyZXN1bHRfdHJlZSk7CiAJcHJpbnRmKF8oIldvbmRlcmZ1bC5cbiIpKTsKIAlwcHRyID0gY29tbWl0X2xpc3RfYXBwZW5kKGhlYWQsIHBwdHIpOwogCXBwdHIgPSBjb21taXRfbGlzdF9hcHBlbmQocmVtb3RlaGVhZHMtPml0ZW0sIHBwdHIpOwogCXByZXBhcmVfdG9fY29tbWl0KHJlbW90ZWhlYWRzKTsKLQlpZiAoY29tbWl0X3RyZWUobWVyZ2VfbXNnLmJ1ZiwgbWVyZ2VfbXNnLmxlbiwgcmVzdWx0X3RyZWUsIHBhcmVudHMsCi0JCQlyZXN1bHRfY29tbWl0LCBOVUxMLCBzaWduX2NvbW1pdCkpCisJaWYgKGNvbW1pdF90cmVlKG1lcmdlX21zZy5idWYsIG1lcmdlX21zZy5sZW4sIHJlc3VsdF90cmVlLmhhc2gsIHBhcmVudHMsCisJCQlyZXN1bHRfY29tbWl0Lmhhc2gsIE5VTEwsIHNpZ25fY29tbWl0KSkKIAkJZGllKF8oImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IikpOwotCWZpbmlzaChoZWFkLCByZW1vdGVoZWFkcywgcmVzdWx0X2NvbW1pdCwgIkluLWluZGV4IG1lcmdlIik7CisJZmluaXNoKGhlYWQsIHJlbW90ZWhlYWRzLCAmcmVzdWx0X2NvbW1pdCwgIkluLWluZGV4IG1lcmdlIik7CiAJZHJvcF9zYXZlKCk7CiAJcmV0dXJuIDA7CiB9CkBAIC04MDksMTIgKzgzMSwxMiBAQAogCQkJICAgIGludCBoZWFkX3N1YnN1bWVkLAogCQkJICAgIHN0cnVjdCBjb21taXRfbGlzdCAqY29tbW9uLAogCQkJICAgIHN0cnVjdCBjb21taXRfbGlzdCAqcmVtb3RlaGVhZHMsCi0JCQkgICAgdW5zaWduZWQgY2hhciAqcmVzdWx0X3RyZWUsCisJCQkgICAgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0X3RyZWUsCiAJCQkgICAgY29uc3QgY2hhciAqd3Rfc3RyYXRlZ3kpCiB7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzID0gTlVMTDsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCXVuc2lnbmVkIGNoYXIgcmVzdWx0X2NvbW1pdFsyMF07CisJc3RydWN0IG9iamVjdF9pZCByZXN1bHRfY29tbWl0OwogCiAJZnJlZV9jb21taXRfbGlzdChjb21tb24pOwogCXBhcmVudHMgPSByZW1vdGVoZWFkczsKQEAgLTgyMiwxMSArODQ0LDExIEBACiAJCWNvbW1pdF9saXN0X2luc2VydChoZWFkLCAmcGFyZW50cyk7CiAJc3RyYnVmX2FkZGNoKCZtZXJnZV9tc2csICdcbicpOwogCXByZXBhcmVfdG9fY29tbWl0KHJlbW90ZWhlYWRzKTsKLQlpZiAoY29tbWl0X3RyZWUobWVyZ2VfbXNnLmJ1ZiwgbWVyZ2VfbXNnLmxlbiwgcmVzdWx0X3RyZWUsIHBhcmVudHMsCi0JCQlyZXN1bHRfY29tbWl0LCBOVUxMLCBzaWduX2NvbW1pdCkpCisJaWYgKGNvbW1pdF90cmVlKG1lcmdlX21zZy5idWYsIG1lcmdlX21zZy5sZW4sIHJlc3VsdF90cmVlLT5oYXNoLCBwYXJlbnRzLAorCQkJcmVzdWx0X2NvbW1pdC5oYXNoLCBOVUxMLCBzaWduX2NvbW1pdCkpCiAJCWRpZShfKCJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIpKTsKIAlzdHJidWZfYWRkZigmYnVmLCAiTWVyZ2UgbWFkZSBieSB0aGUgJyVzJyBzdHJhdGVneS4iLCB3dF9zdHJhdGVneSk7Ci0JZmluaXNoKGhlYWQsIHJlbW90ZWhlYWRzLCByZXN1bHRfY29tbWl0LCBidWYuYnVmKTsKKwlmaW5pc2goaGVhZCwgcmVtb3RlaGVhZHMsICZyZXN1bHRfY29tbWl0LCBidWYuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAlkcm9wX3NhdmUoKTsKIAlyZXR1cm4gMDsKQEAgLTgzOSw5ICs4NjEsNyBAQAogCXN0cnVjdCBzdHJidWYgbXNnYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAlmaWxlbmFtZSA9IGdpdF9wYXRoX21lcmdlX21zZygpOwotCWZwID0gZm9wZW4oZmlsZW5hbWUsICJhIik7Ci0JaWYgKCFmcCkKLQkJZGllX2Vycm5vKF8oIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciKSwgZmlsZW5hbWUpOworCWZwID0geGZvcGVuKGZpbGVuYW1lLCAiYSIpOwogCiAJYXBwZW5kX2NvbmZsaWN0c19oaW50KCZtc2didWYpOwogCWZwdXRzKG1zZ2J1Zi5idWYsIGZwKTsKQEAgLTg1MywyNCArODczLDYgQEAKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIHN0cnVjdCBjb21taXQgKmlzX29sZF9zdHlsZV9pbnZvY2F0aW9uKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKLQkJCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqaGVhZCkKLXsKLQlzdHJ1Y3QgY29tbWl0ICpzZWNvbmRfdG9rZW4gPSBOVUxMOwotCWlmIChhcmdjID4gMikgewotCQl1bnNpZ25lZCBjaGFyIHNlY29uZF9zaGExWzIwXTsKLQotCQlpZiAoZ2V0X3NoYTEoYXJndlsxXSwgc2Vjb25kX3NoYTEpKQotCQkJcmV0dXJuIE5VTEw7Ci0JCXNlY29uZF90b2tlbiA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzZWNvbmRfc2hhMSwgMCk7Ci0JCWlmICghc2Vjb25kX3Rva2VuKQotCQkJZGllKF8oIiclcycgaXMgbm90IGEgY29tbWl0IiksIGFyZ3ZbMV0pOwotCQlpZiAoaGFzaGNtcChzZWNvbmRfdG9rZW4tPm9iamVjdC5vaWQuaGFzaCwgaGVhZCkpCi0JCQlyZXR1cm4gTlVMTDsKLQl9Ci0JcmV0dXJuIHNlY29uZF90b2tlbjsKLX0KLQogc3RhdGljIGludCBldmFsdWF0ZV9yZXN1bHQodm9pZCkKIHsKIAlpbnQgY250ID0gMDsKQEAgLTkyMyw3ICs5MjUsNyBAQAogCXJldHVybiBpOwogfQogCi1zdGF0aWMgdm9pZCB3cml0ZV9tZXJnZV9zdGF0ZShzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlbW90ZWhlYWRzKQorc3RhdGljIHZvaWQgd3JpdGVfbWVyZ2VfaGVhZHMoc3RydWN0IGNvbW1pdF9saXN0ICpyZW1vdGVoZWFkcykKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmo7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKQEAgLTkzOSwxMyArOTQxLDE5IEBACiAJCXN0cmJ1Zl9hZGRmKCZidWYsICIlc1xuIiwgb2lkX3RvX2hleChvaWQpKTsKIAl9CiAJd3JpdGVfZmlsZV9idWYoZ2l0X3BhdGhfbWVyZ2VfaGVhZCgpLCBidWYuYnVmLCBidWYubGVuKTsKLQlzdHJidWZfYWRkY2goJm1lcmdlX21zZywgJ1xuJyk7Ci0Jd3JpdGVfZmlsZV9idWYoZ2l0X3BhdGhfbWVyZ2VfbXNnKCksIG1lcmdlX21zZy5idWYsIG1lcmdlX21zZy5sZW4pOwogCiAJc3RyYnVmX3Jlc2V0KCZidWYpOwogCWlmIChmYXN0X2ZvcndhcmQgPT0gRkZfTk8pCiAJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgIm5vLWZmIik7CiAJd3JpdGVfZmlsZV9idWYoZ2l0X3BhdGhfbWVyZ2VfbW9kZSgpLCBidWYuYnVmLCBidWYubGVuKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKK30KKworc3RhdGljIHZvaWQgd3JpdGVfbWVyZ2Vfc3RhdGUoc3RydWN0IGNvbW1pdF9saXN0ICpyZW1vdGVoZWFkcykKK3sKKwl3cml0ZV9tZXJnZV9oZWFkcyhyZW1vdGVoZWFkcyk7CisJc3RyYnVmX2FkZGNoKCZtZXJnZV9tc2csICdcbicpOworCXdyaXRlX2ZpbGVfYnVmKGdpdF9wYXRoX21lcmdlX21zZygpLCBtZXJnZV9tc2cuYnVmLCBtZXJnZV9tc2cubGVuKTsKIH0KIAogc3RhdGljIGludCBkZWZhdWx0X2VkaXRfb3B0aW9uKHZvaWQpCkBAIC05NTksNyArOTY3LDcgQEAKIAkJcmV0dXJuIDA7CiAKIAlpZiAoZSkgewotCQlpbnQgdiA9IGdpdF9jb25maWdfbWF5YmVfYm9vbChuYW1lLCBlKTsKKwkJaW50IHYgPSBnaXRfcGFyc2VfbWF5YmVfYm9vbChlKTsKIAkJaWYgKHYgPCAwKQogCQkJZGllKF8oIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciKSwgZSwgbmFtZSk7CiAJCXJldHVybiB2OwpAQCAtMTAzOCw3ICsxMDQ2LDcgQEAKIAkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBjbG9zZSAnJXMnIiksIGZpbGVuYW1lKTsKIAogCWZvciAocG9zID0gMDsgcG9zIDwgbWVyZ2VfbmFtZXMtPmxlbjsgcG9zID0gbnBvcykgewotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJY2hhciAqcHRyOwogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAKQEAgLTEwNDgsMTYgKzEwNTYsMTYgQEAKIAkJZWxzZQogCQkJbnBvcyA9IG1lcmdlX25hbWVzLT5sZW47CiAKLQkJaWYgKG5wb3MgLSBwb3MgPCA0MCArIDIgfHwKLQkJICAgIGdldF9zaGExX2hleChtZXJnZV9uYW1lcy0+YnVmICsgcG9zLCBzaGExKSkKKwkJaWYgKG5wb3MgLSBwb3MgPCBHSVRfU0hBMV9IRVhTWiArIDIgfHwKKwkJICAgIGdldF9vaWRfaGV4KG1lcmdlX25hbWVzLT5idWYgKyBwb3MsICZvaWQpKQogCQkJY29tbWl0ID0gTlVMTDsgLyogYmFkICovCi0JCWVsc2UgaWYgKG1lbWNtcChtZXJnZV9uYW1lcy0+YnVmICsgcG9zICsgNDAsICJcdFx0IiwgMikpCisJCWVsc2UgaWYgKG1lbWNtcChtZXJnZV9uYW1lcy0+YnVmICsgcG9zICsgR0lUX1NIQTFfSEVYU1osICJcdFx0IiwgMikpCiAJCQljb250aW51ZTsgLyogbm90LWZvci1tZXJnZSAqLwogCQllbHNlIHsKLQkJCWNoYXIgc2F2ZWQgPSBtZXJnZV9uYW1lcy0+YnVmW3BvcyArIDQwXTsKLQkJCW1lcmdlX25hbWVzLT5idWZbcG9zICsgNDBdID0gJ1wwJzsKKwkJCWNoYXIgc2F2ZWQgPSBtZXJnZV9uYW1lcy0+YnVmW3BvcyArIEdJVF9TSEExX0hFWFNaXTsKKwkJCW1lcmdlX25hbWVzLT5idWZbcG9zICsgR0lUX1NIQTFfSEVYU1pdID0gJ1wwJzsKIAkJCWNvbW1pdCA9IGdldF9tZXJnZV9wYXJlbnQobWVyZ2VfbmFtZXMtPmJ1ZiArIHBvcyk7Ci0JCQltZXJnZV9uYW1lcy0+YnVmW3BvcyArIDQwXSA9IHNhdmVkOworCQkJbWVyZ2VfbmFtZXMtPmJ1Zltwb3MgKyBHSVRfU0hBMV9IRVhTWl0gPSBzYXZlZDsKIAkJfQogCQlpZiAoIWNvbW1pdCkgewogCQkJaWYgKHB0cikKQEAgLTExMTcsMTIgKzExMjUsOSBAQAogCiBpbnQgY21kX21lcmdlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCXVuc2lnbmVkIGNoYXIgcmVzdWx0X3RyZWVbMjBdOwotCXVuc2lnbmVkIGNoYXIgc3Rhc2hbMjBdOwotCXVuc2lnbmVkIGNoYXIgaGVhZF9zaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHJlc3VsdF90cmVlLCBzdGFzaCwgaGVhZF9vaWQ7CiAJc3RydWN0IGNvbW1pdCAqaGVhZF9jb21taXQ7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQljb25zdCBjaGFyICpoZWFkX2FyZzsKIAlpbnQgaSwgcmV0ID0gMCwgaGVhZF9zdWJzdW1lZDsKIAlpbnQgYmVzdF9jbnQgPSAtMSwgbWVyZ2Vfd2FzX29rID0gMCwgYXV0b21lcmdlX3dhc19vayA9IDA7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpjb21tb24gPSBOVUxMOwpAQCAtMTEzOCwxMyArMTE0MywxMyBAQAogCSAqIENoZWNrIGlmIHdlIGFyZSBfbm90XyBvbiBhIGRldGFjaGVkIEhFQUQsIGkuZS4gaWYgdGhlcmUgaXMgYQogCSAqIGN1cnJlbnQgYnJhbmNoLgogCSAqLwotCWJyYW5jaCA9IGJyYW5jaF90b19mcmVlID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCAwLCBoZWFkX3NoYTEsIE5VTEwpOwotCWlmIChicmFuY2ggJiYgc3RhcnRzX3dpdGgoYnJhbmNoLCAicmVmcy9oZWFkcy8iKSkKLQkJYnJhbmNoICs9IDExOwotCWlmICghYnJhbmNoIHx8IGlzX251bGxfc2hhMShoZWFkX3NoYTEpKQorCWJyYW5jaCA9IGJyYW5jaF90b19mcmVlID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCAwLCBoZWFkX29pZC5oYXNoLCBOVUxMKTsKKwlpZiAoYnJhbmNoKQorCQlza2lwX3ByZWZpeChicmFuY2gsICJyZWZzL2hlYWRzLyIsICZicmFuY2gpOworCWlmICghYnJhbmNoIHx8IGlzX251bGxfb2lkKCZoZWFkX29pZCkpCiAJCWhlYWRfY29tbWl0ID0gTlVMTDsKIAllbHNlCi0JCWhlYWRfY29tbWl0ID0gbG9va3VwX2NvbW1pdF9vcl9kaWUoaGVhZF9zaGExLCAiSEVBRCIpOworCQloZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfb3JfZGllKCZoZWFkX29pZCwgIkhFQUQiKTsKIAogCWluaXRfZGlmZl91aV9kZWZhdWx0cygpOwogCWdpdF9jb25maWcoZ2l0X21lcmdlX2NvbmZpZywgTlVMTCk7CkBAIC0xMjQyLDcgKzEyNDcsNyBAQAogCQkgKiB0byBmb3JiaWQgImdpdCBtZXJnZSIgaW50byBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybi4KIAkJICogV2UgZG8gdGhlIHNhbWUgZm9yICJnaXQgcHVsbCIuCiAJCSAqLwotCQl1bnNpZ25lZCBjaGFyICpyZW1vdGVfaGVhZF9zaGExOworCQlzdHJ1Y3Qgb2JqZWN0X2lkICpyZW1vdGVfaGVhZF9vaWQ7CiAJCWlmIChzcXVhc2gpCiAJCQlkaWUoXygiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiKSk7CiAJCWlmIChmYXN0X2ZvcndhcmQgPT0gRkZfTk8pCkBAIC0xMjU0LDQyICsxMjU5LDIwIEBACiAJCQlkaWUoXygiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIpLCBhcmd2WzBdKTsKIAkJaWYgKHJlbW90ZWhlYWRzLT5uZXh0KQogCQkJZGllKF8oIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiKSk7Ci0JCXJlbW90ZV9oZWFkX3NoYTEgPSByZW1vdGVoZWFkcy0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoOwotCQlyZWFkX2VtcHR5KHJlbW90ZV9oZWFkX3NoYTEsIDApOwotCQl1cGRhdGVfcmVmKCJpbml0aWFsIHB1bGwiLCAiSEVBRCIsIHJlbW90ZV9oZWFkX3NoYTEsCisJCXJlbW90ZV9oZWFkX29pZCA9ICZyZW1vdGVoZWFkcy0+aXRlbS0+b2JqZWN0Lm9pZDsKKwkJcmVhZF9lbXB0eShyZW1vdGVfaGVhZF9vaWQtPmhhc2gsIDApOworCQl1cGRhdGVfcmVmKCJpbml0aWFsIHB1bGwiLCAiSEVBRCIsIHJlbW90ZV9oZWFkX29pZC0+aGFzaCwKIAkJCSAgIE5VTEwsIDAsIFVQREFURV9SRUZTX0RJRV9PTl9FUlIpOwogCQlnb3RvIGRvbmU7CiAJfQogCiAJLyoKLQkgKiBUaGlzIGNvdWxkIGJlIHRyYWRpdGlvbmFsICJtZXJnZSA8bXNnPiBIRUFEIDxjb21taXQ+Li4uIiAgYW5kCi0JICogdGhlIHdheSB3ZSBjYW4gdGVsbCBpdCBpcyB0byBzZWUgaWYgdGhlIHNlY29uZCB0b2tlbiBpcyBIRUFELAotCSAqIGJ1dCBzb21lIHBlb3BsZSBtaWdodCBoYXZlIG1pc3VzZWQgdGhlIGludGVyZmFjZSBhbmQgdXNlZCBhCi0JICogY29tbWl0LWlzaCB0aGF0IGlzIHRoZSBzYW1lIGFzIEhFQUQgdGhlcmUgaW5zdGVhZC4KLQkgKiBUcmFkaXRpb25hbCBmb3JtYXQgbmV2ZXIgd291bGQgaGF2ZSAiLW0iIHNvIGl0IGlzIGFuCi0JICogYWRkaXRpb25hbCBzYWZldHkgbWVhc3VyZSB0byBjaGVjayBmb3IgaXQuCisJICogQWxsIHRoZSByZXN0IGFyZSB0aGUgY29tbWl0cyBiZWluZyBtZXJnZWQ7IHByZXBhcmUKKwkgKiB0aGUgc3RhbmRhcmQgbWVyZ2Ugc3VtbWFyeSBtZXNzYWdlIHRvIGJlIGFwcGVuZGVkCisJICogdG8gdGhlIGdpdmVuIG1lc3NhZ2UuCiAJICovCi0JaWYgKCFoYXZlX21lc3NhZ2UgJiYKLQkgICAgaXNfb2xkX3N0eWxlX2ludm9jYXRpb24oYXJnYywgYXJndiwgaGVhZF9jb21taXQtPm9iamVjdC5vaWQuaGFzaCkpIHsKLQkJd2FybmluZygib2xkLXN0eWxlICdnaXQgbWVyZ2UgPG1zZz4gSEVBRCA8Y29tbWl0PicgaXMgZGVwcmVjYXRlZC4iKTsKLQkJc3RyYnVmX2FkZHN0cigmbWVyZ2VfbXNnLCBhcmd2WzBdKTsKLQkJaGVhZF9hcmcgPSBhcmd2WzFdOwotCQlhcmd2ICs9IDI7Ci0JCWFyZ2MgLT0gMjsKLQkJcmVtb3RlaGVhZHMgPSBjb2xsZWN0X3BhcmVudHMoaGVhZF9jb21taXQsICZoZWFkX3N1YnN1bWVkLAotCQkJCQkgICAgICBhcmdjLCBhcmd2LCBOVUxMKTsKLQl9IGVsc2UgewotCQkvKiBXZSBhcmUgaW52b2tlZCBkaXJlY3RseSBhcyB0aGUgZmlyc3QtY2xhc3MgVUkuICovCi0JCWhlYWRfYXJnID0gIkhFQUQiOwotCi0JCS8qCi0JCSAqIEFsbCB0aGUgcmVzdCBhcmUgdGhlIGNvbW1pdHMgYmVpbmcgbWVyZ2VkOyBwcmVwYXJlCi0JCSAqIHRoZSBzdGFuZGFyZCBtZXJnZSBzdW1tYXJ5IG1lc3NhZ2UgdG8gYmUgYXBwZW5kZWQKLQkJICogdG8gdGhlIGdpdmVuIG1lc3NhZ2UuCi0JCSAqLwotCQlyZW1vdGVoZWFkcyA9IGNvbGxlY3RfcGFyZW50cyhoZWFkX2NvbW1pdCwgJmhlYWRfc3Vic3VtZWQsCi0JCQkJCSAgICAgIGFyZ2MsIGFyZ3YsICZtZXJnZV9tc2cpOwotCX0KKwlyZW1vdGVoZWFkcyA9IGNvbGxlY3RfcGFyZW50cyhoZWFkX2NvbW1pdCwgJmhlYWRfc3Vic3VtZWQsCisJCQkJICAgICAgYXJnYywgYXJndiwgJm1lcmdlX21zZyk7CiAKIAlpZiAoIWhlYWRfY29tbWl0IHx8ICFhcmdjKQogCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9tZXJnZV91c2FnZSwKQEAgLTEyOTgsNyArMTI4MSw3IEBACiAJaWYgKHZlcmlmeV9zaWduYXR1cmVzKSB7CiAJCWZvciAocCA9IHJlbW90ZWhlYWRzOyBwOyBwID0gcC0+bmV4dCkgewogCQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gcC0+aXRlbTsKLQkJCWNoYXIgaGV4W0dJVF9TSEExX0hFWFNaICsgMV07CisJCQljaGFyIGhleFtHSVRfTUFYX0hFWFNaICsgMV07CiAJCQlzdHJ1Y3Qgc2lnbmF0dXJlX2NoZWNrIHNpZ25hdHVyZV9jaGVjazsKIAkJCW1lbXNldCgmc2lnbmF0dXJlX2NoZWNrLCAwLCBzaXplb2Yoc2lnbmF0dXJlX2NoZWNrKSk7CiAKQEAgLTEzODksNyArMTM3Miw3IEBACiAJCSAqIElmIGhlYWQgY2FuIHJlYWNoIGFsbCB0aGUgbWVyZ2UgdGhlbiB3ZSBhcmUgdXAgdG8gZGF0ZS4KIAkJICogYnV0IGZpcnN0IHRoZSBtb3N0IGNvbW1vbiBjYXNlIG9mIG1lcmdpbmcgb25lIHJlbW90ZS4KIAkJICovCi0JCWZpbmlzaF91cF90b19kYXRlKF8oIkFscmVhZHkgdXAtdG8tZGF0ZS4iKSk7CisJCWZpbmlzaF91cF90b19kYXRlKF8oIkFscmVhZHkgdXAgdG8gZGF0ZS4iKSk7CiAJCWdvdG8gZG9uZTsKIAl9IGVsc2UgaWYgKGZhc3RfZm9yd2FyZCAhPSBGRl9OTyAmJiAhcmVtb3RlaGVhZHMtPm5leHQgJiYKIAkJCSFjb21tb24tPm5leHQgJiYKQEAgLTE0MTUsMTQgKzEzOTgsMTQgQEAKIAkJCWdvdG8gZG9uZTsKIAkJfQogCi0JCWlmIChjaGVja291dF9mYXN0X2ZvcndhcmQoaGVhZF9jb21taXQtPm9iamVjdC5vaWQuaGFzaCwKLQkJCQkJICBjb21taXQtPm9iamVjdC5vaWQuaGFzaCwKKwkJaWYgKGNoZWNrb3V0X2Zhc3RfZm9yd2FyZCgmaGVhZF9jb21taXQtPm9iamVjdC5vaWQsCisJCQkJCSAgJmNvbW1pdC0+b2JqZWN0Lm9pZCwKIAkJCQkJICBvdmVyd3JpdGVfaWdub3JlKSkgewogCQkJcmV0ID0gMTsKIAkJCWdvdG8gZG9uZTsKIAkJfQogCi0JCWZpbmlzaChoZWFkX2NvbW1pdCwgcmVtb3RlaGVhZHMsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBtc2cuYnVmKTsKKwkJZmluaXNoKGhlYWRfY29tbWl0LCByZW1vdGVoZWFkcywgJmNvbW1pdC0+b2JqZWN0Lm9pZCwgbXNnLmJ1Zik7CiAJCWRyb3Bfc2F2ZSgpOwogCQlnb3RvIGRvbmU7CiAJfSBlbHNlIGlmICghcmVtb3RlaGVhZHMtPm5leHQgJiYgY29tbW9uLT5uZXh0KQpAQCAtMTQ0MSw5ICsxNDI0LDkgQEAKIAkJCS8qIFNlZSBpZiBpdCBpcyByZWFsbHkgdHJpdmlhbC4gKi8KIAkJCWdpdF9jb21taXR0ZXJfaW5mbyhJREVOVF9TVFJJQ1QpOwogCQkJcHJpbnRmKF8oIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIikpOwotCQkJaWYgKCFyZWFkX3RyZWVfdHJpdmlhbChjb21tb24tPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwKLQkJCQkJICAgICAgIGhlYWRfY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsCi0JCQkJCSAgICAgICByZW1vdGVoZWFkcy0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoKSkgeworCQkJaWYgKCFyZWFkX3RyZWVfdHJpdmlhbCgmY29tbW9uLT5pdGVtLT5vYmplY3Qub2lkLAorCQkJCQkgICAgICAgJmhlYWRfY29tbWl0LT5vYmplY3Qub2lkLAorCQkJCQkgICAgICAgJnJlbW90ZWhlYWRzLT5pdGVtLT5vYmplY3Qub2lkKSkgewogCQkJCXJldCA9IG1lcmdlX3RyaXZpYWwoaGVhZF9jb21taXQsIHJlbW90ZWhlYWRzKTsKIAkJCQlnb3RvIGRvbmU7CiAJCQl9CkBAIC0xNDcyLDcgKzE0NTUsNyBAQAogCQkJfQogCQl9CiAJCWlmICh1cF90b19kYXRlKSB7Ci0JCQlmaW5pc2hfdXBfdG9fZGF0ZShfKCJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIpKTsKKwkJCWZpbmlzaF91cF90b19kYXRlKF8oIkFscmVhZHkgdXAgdG8gZGF0ZS4gWWVlYWghIikpOwogCQkJZ290byBkb25lOwogCQl9CiAJfQpAQCAtMTQ5NSwxNCArMTQ3OCwxNCBAQAogCSAgICAvKgogCSAgICAgKiBTdGFzaCBhd2F5IHRoZSBsb2NhbCBjaGFuZ2VzIHNvIHRoYXQgd2UgY2FuIHRyeSBtb3JlIHRoYW4gb25lLgogCSAgICAgKi8KLQkgICAgc2F2ZV9zdGF0ZShzdGFzaCkpCi0JCWhhc2hjbHIoc3Rhc2gpOworCSAgICBzYXZlX3N0YXRlKCZzdGFzaCkpCisJCW9pZGNscigmc3Rhc2gpOwogCiAJZm9yIChpID0gMDsgaSA8IHVzZV9zdHJhdGVnaWVzX25yOyBpKyspIHsKIAkJaW50IHJldDsKIAkJaWYgKGkpIHsKIAkJCXByaW50ZihfKCJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIpKTsKLQkJCXJlc3RvcmVfc3RhdGUoaGVhZF9jb21taXQtPm9iamVjdC5vaWQuaGFzaCwgc3Rhc2gpOworCQkJcmVzdG9yZV9zdGF0ZSgmaGVhZF9jb21taXQtPm9iamVjdC5vaWQsICZzdGFzaCk7CiAJCX0KIAkJaWYgKHVzZV9zdHJhdGVnaWVzX25yICE9IDEpCiAJCQlwcmludGYoXygiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iKSwKQEAgLTE1MTUsNyArMTQ5OCw3IEBACiAKIAkJcmV0ID0gdHJ5X21lcmdlX3N0cmF0ZWd5KHVzZV9zdHJhdGVnaWVzW2ldLT5uYW1lLAogCQkJCQkgY29tbW9uLCByZW1vdGVoZWFkcywKLQkJCQkJIGhlYWRfY29tbWl0LCBoZWFkX2FyZyk7CisJCQkJCSBoZWFkX2NvbW1pdCk7CiAJCWlmICghb3B0aW9uX2NvbW1pdCAmJiAhcmV0KSB7CiAJCQltZXJnZV93YXNfb2sgPSAxOwogCQkJLyoKQEAgLTE1NDcsNyArMTUzMCw3IEBACiAJCX0KIAogCQkvKiBBdXRvbWVyZ2Ugc3VjY2VlZGVkLiAqLwotCQl3cml0ZV90cmVlX3RyaXZpYWwocmVzdWx0X3RyZWUpOworCQl3cml0ZV90cmVlX3RyaXZpYWwoJnJlc3VsdF90cmVlKTsKIAkJYXV0b21lcmdlX3dhc19vayA9IDE7CiAJCWJyZWFrOwogCX0KQEAgLTE1NTksNyArMTU0Miw3IEBACiAJaWYgKGF1dG9tZXJnZV93YXNfb2spIHsKIAkJcmV0ID0gZmluaXNoX2F1dG9tZXJnZShoZWFkX2NvbW1pdCwgaGVhZF9zdWJzdW1lZCwKIAkJCQkgICAgICAgY29tbW9uLCByZW1vdGVoZWFkcywKLQkJCQkgICAgICAgcmVzdWx0X3RyZWUsIHd0X3N0cmF0ZWd5KTsKKwkJCQkgICAgICAgJnJlc3VsdF90cmVlLCB3dF9zdHJhdGVneSk7CiAJCWdvdG8gZG9uZTsKIAl9CiAKQEAgLTE1NjgsNyArMTU1MSw3IEBACiAJICogaXQgdXAuCiAJICovCiAJaWYgKCFiZXN0X3N0cmF0ZWd5KSB7Ci0JCXJlc3RvcmVfc3RhdGUoaGVhZF9jb21taXQtPm9iamVjdC5vaWQuaGFzaCwgc3Rhc2gpOworCQlyZXN0b3JlX3N0YXRlKCZoZWFkX2NvbW1pdC0+b2JqZWN0Lm9pZCwgJnN0YXNoKTsKIAkJaWYgKHVzZV9zdHJhdGVnaWVzX25yID4gMSkKIAkJCWZwcmludGYoc3RkZXJyLAogCQkJCV8oIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIikpOwpAQCAtMTU4MSwxMSArMTU2NCwxMSBAQAogCQk7IC8qIFdlIGFscmVhZHkgaGF2ZSBpdHMgcmVzdWx0IGluIHRoZSB3b3JraW5nIHRyZWUuICovCiAJZWxzZSB7CiAJCXByaW50ZihfKCJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIpKTsKLQkJcmVzdG9yZV9zdGF0ZShoZWFkX2NvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBzdGFzaCk7CisJCXJlc3RvcmVfc3RhdGUoJmhlYWRfY29tbWl0LT5vYmplY3Qub2lkLCAmc3Rhc2gpOwogCQlwcmludGYoXygiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iKSwKIAkJCWJlc3Rfc3RyYXRlZ3kpOwogCQl0cnlfbWVyZ2Vfc3RyYXRlZ3koYmVzdF9zdHJhdGVneSwgY29tbW9uLCByZW1vdGVoZWFkcywKLQkJCQkgICBoZWFkX2NvbW1pdCwgaGVhZF9hcmcpOworCQkJCSAgIGhlYWRfY29tbWl0KTsKIAl9CiAKIAlpZiAoc3F1YXNoKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9ta3RyZWUuYyBiL2J1aWx0aW4vbWt0cmVlLmMKaW5kZXggZGU5YjQwZi4uZGEwZmQ4YyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ta3RyZWUuYworKysgYi9idWlsdGluL21rdHJlZS5jCkBAIC03Miw3ICs3Miw3IEBACiAJdW5zaWduZWQgbW9kZTsKIAllbnVtIG9iamVjdF90eXBlIG1vZGVfdHlwZTsgLyogb2JqZWN0IHR5cGUgZGVyaXZlZCBmcm9tIG1vZGUgKi8KIAllbnVtIG9iamVjdF90eXBlIG9ial90eXBlOyAvKiBvYmplY3QgdHlwZSBkZXJpdmVkIGZyb20gc2hhICovCi0JY2hhciAqcGF0aDsKKwljaGFyICpwYXRoLCAqdG9fZnJlZSA9IE5VTEw7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAogCXB0ciA9IGJ1ZjsKQEAgLTEwMiw3ICsxMDIsNyBAQAogCQlzdHJ1Y3Qgc3RyYnVmIHBfdXEgPSBTVFJCVUZfSU5JVDsKIAkJaWYgKHVucXVvdGVfY19zdHlsZSgmcF91cSwgcGF0aCwgTlVMTCkpCiAJCQlkaWUoImludmFsaWQgcXVvdGluZyIpOwotCQlwYXRoID0gc3RyYnVmX2RldGFjaCgmcF91cSwgTlVMTCk7CisJCXBhdGggPSB0b19mcmVlID0gc3RyYnVmX2RldGFjaCgmcF91cSwgTlVMTCk7CiAJfQogCiAJLyoKQEAgLTEzNiw2ICsxMzYsNyBAQAogCX0KIAogCWFwcGVuZF90b190cmVlKG1vZGUsIHNoYTEsIHBhdGgpOworCWZyZWUodG9fZnJlZSk7CiB9CiAKIGludCBjbWRfbWt0cmVlKGludCBhYywgY29uc3QgY2hhciAqKmF2LCBjb25zdCBjaGFyICpwcmVmaXgpCmRpZmYgLS1naXQgYS9idWlsdGluL212LmMgYi9idWlsdGluL212LmMKaW5kZXggNjFkMjAwMy4uZmZkZDVmMCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tdi5jCisrKyBiL2J1aWx0aW4vbXYuYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiBKb2hhbm5lcyBTY2hpbmRlbGluCiAgKi8KICNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicGF0aHNwZWMuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgImRpci5oIgpAQCAtODAsNyArODEsNyBAQAogCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlX2RvdGdpdCA9IFNUUkJVRl9JTklUOwogCWlmICghU19JU0dJVExJTksoYWN0aXZlX2NhY2hlW2ZpcnN0XS0+Y2VfbW9kZSkpCiAJCWRpZShfKCJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iKSwgc3JjKTsKLQlpZiAoIWlzX3N0YWdpbmdfZ2l0bW9kdWxlc19vaygpKQorCWlmICghaXNfc3RhZ2luZ19naXRtb2R1bGVzX29rKCZ0aGVfaW5kZXgpKQogCQlkaWUoXygiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiKSk7CiAJc3RyYnVmX2FkZGYoJnN1Ym1vZHVsZV9kb3RnaXQsICIlcy8uZ2l0Iiwgc3JjKTsKIAkqc3VibW9kdWxlX2dpdGZpbGUgPSByZWFkX2dpdGZpbGUoc3VibW9kdWxlX2RvdGdpdC5idWYpOwpAQCAtMTMwLDcgKzEzMSw2IEBACiAJc3RydWN0IHN0YXQgc3Q7CiAJc3RydWN0IHN0cmluZ19saXN0IHNyY19mb3JfZHN0ID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAotCWdpdG1vZHVsZXNfY29uZmlnKCk7CiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBidWlsdGluX212X29wdGlvbnMsCmRpZmYgLS1naXQgYS9idWlsdGluL25hbWUtcmV2LmMgYi9idWlsdGluL25hbWUtcmV2LmMKaW5kZXggY2Q4OWQ0OC4uNTk4ZGE2YyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9uYW1lLXJldi5jCisrKyBiL2J1aWx0aW4vbmFtZS1yZXYuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJ0YWcuaCIKICNpbmNsdWRlICJyZWZzLmgiCkBAIC0xMCwyNCArMTEsNjQgQEAKIAogdHlwZWRlZiBzdHJ1Y3QgcmV2X25hbWUgewogCWNvbnN0IGNoYXIgKnRpcF9uYW1lOwotCXVuc2lnbmVkIGxvbmcgdGFnZ2VyZGF0ZTsKKwl0aW1lc3RhbXBfdCB0YWdnZXJkYXRlOwogCWludCBnZW5lcmF0aW9uOwogCWludCBkaXN0YW5jZTsKKwlpbnQgZnJvbV90YWc7CiB9IHJldl9uYW1lOwogCi1zdGF0aWMgbG9uZyBjdXRvZmYgPSBMT05HX01BWDsKK3N0YXRpYyB0aW1lc3RhbXBfdCBjdXRvZmYgPSBUSU1FX01BWDsKIAogLyogSG93IG1hbnkgZ2VuZXJhdGlvbnMgYXJlIG1heGltYWxseSBwcmVmZXJyZWQgb3ZlciBfb25lXyBtZXJnZSB0cmF2ZXJzYWw/ICovCiAjZGVmaW5lIE1FUkdFX1RSQVZFUlNBTF9XRUlHSFQgNjU1MzUKIAorc3RhdGljIGludCBpc19iZXR0ZXJfbmFtZShzdHJ1Y3QgcmV2X25hbWUgKm5hbWUsCisJCQkgIGNvbnN0IGNoYXIgKnRpcF9uYW1lLAorCQkJICB0aW1lc3RhbXBfdCB0YWdnZXJkYXRlLAorCQkJICBpbnQgZ2VuZXJhdGlvbiwKKwkJCSAgaW50IGRpc3RhbmNlLAorCQkJICBpbnQgZnJvbV90YWcpCit7CisJLyoKKwkgKiBXaGVuIGNvbXBhcmluZyBuYW1lcyBiYXNlZCBvbiB0YWdzLCBwcmVmZXIgbmFtZXMKKwkgKiBiYXNlZCBvbiB0aGUgb2xkZXIgdGFnLCBldmVuIGlmIGl0IGlzIGZhcnRoZXIgYXdheS4KKwkgKi8KKwlpZiAoZnJvbV90YWcgJiYgbmFtZS0+ZnJvbV90YWcpCisJCXJldHVybiAobmFtZS0+dGFnZ2VyZGF0ZSA+IHRhZ2dlcmRhdGUgfHwKKwkJCShuYW1lLT50YWdnZXJkYXRlID09IHRhZ2dlcmRhdGUgJiYKKwkJCSBuYW1lLT5kaXN0YW5jZSA+IGRpc3RhbmNlKSk7CisKKwkvKgorCSAqIFdlIGtub3cgdGhhdCBhdCBsZWFzdCBvbmUgb2YgdGhlbSBpcyBhIG5vbi10YWcgYXQgdGhpcyBwb2ludC4KKwkgKiBmYXZvciBhIHRhZyBvdmVyIGEgbm9uLXRhZy4KKwkgKi8KKwlpZiAobmFtZS0+ZnJvbV90YWcgIT0gZnJvbV90YWcpCisJCXJldHVybiBmcm9tX3RhZzsKKworCS8qCisJICogV2UgYXJlIG5vdyBsb29raW5nIGF0IHR3byBub24tdGFncy4gIFRpZWJyZWFrIHRvIGZhdm9yCisJICogc2hvcnRlciBob3BzLgorCSAqLworCWlmIChuYW1lLT5kaXN0YW5jZSAhPSBkaXN0YW5jZSkKKwkJcmV0dXJuIG5hbWUtPmRpc3RhbmNlID4gZGlzdGFuY2U7CisKKwkvKiAuLi4gb3IgdGllYnJlYWsgdG8gZmF2b3Igb2xkZXIgZGF0ZSAqLworCWlmIChuYW1lLT50YWdnZXJkYXRlICE9IHRhZ2dlcmRhdGUpCisJCXJldHVybiBuYW1lLT50YWdnZXJkYXRlID4gdGFnZ2VyZGF0ZTsKKworCS8qIGtlZXAgdGhlIGN1cnJlbnQgb25lIGlmIHdlIGNhbm5vdCBkZWNpZGUgKi8KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHZvaWQgbmFtZV9yZXYoc3RydWN0IGNvbW1pdCAqY29tbWl0LAotCQljb25zdCBjaGFyICp0aXBfbmFtZSwgdW5zaWduZWQgbG9uZyB0YWdnZXJkYXRlLAotCQlpbnQgZ2VuZXJhdGlvbiwgaW50IGRpc3RhbmNlLAorCQljb25zdCBjaGFyICp0aXBfbmFtZSwgdGltZXN0YW1wX3QgdGFnZ2VyZGF0ZSwKKwkJaW50IGdlbmVyYXRpb24sIGludCBkaXN0YW5jZSwgaW50IGZyb21fdGFnLAogCQlpbnQgZGVyZWYpCiB7CiAJc3RydWN0IHJldl9uYW1lICpuYW1lID0gKHN0cnVjdCByZXZfbmFtZSAqKWNvbW1pdC0+dXRpbDsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHM7CiAJaW50IHBhcmVudF9udW1iZXIgPSAxOworCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOwogCiAJcGFyc2VfY29tbWl0KGNvbW1pdCk7CiAKQEAgLTM1LDcgKzc2LDcgQEAKIAkJcmV0dXJuOwogCiAJaWYgKGRlcmVmKSB7Ci0JCXRpcF9uYW1lID0geHN0cmZtdCgiJXNeMCIsIHRpcF9uYW1lKTsKKwkJdGlwX25hbWUgPSB0b19mcmVlID0geHN0cmZtdCgiJXNeMCIsIHRpcF9uYW1lKTsKIAogCQlpZiAoZ2VuZXJhdGlvbikKIAkJCWRpZSgiZ2VuZXJhdGlvbjogJWQsIGJ1dCBkZXJlZj8iLCBnZW5lcmF0aW9uKTsKQEAgLTQ1LDE2ICs4NiwxOCBAQAogCQluYW1lID0geG1hbGxvYyhzaXplb2YocmV2X25hbWUpKTsKIAkJY29tbWl0LT51dGlsID0gbmFtZTsKIAkJZ290byBjb3B5X2RhdGE7Ci0JfSBlbHNlIGlmIChuYW1lLT50YWdnZXJkYXRlID4gdGFnZ2VyZGF0ZSB8fAotCQkJKG5hbWUtPnRhZ2dlcmRhdGUgPT0gdGFnZ2VyZGF0ZSAmJgotCQkJIG5hbWUtPmRpc3RhbmNlID4gZGlzdGFuY2UpKSB7CisJfSBlbHNlIGlmIChpc19iZXR0ZXJfbmFtZShuYW1lLCB0aXBfbmFtZSwgdGFnZ2VyZGF0ZSwKKwkJCQkgIGdlbmVyYXRpb24sIGRpc3RhbmNlLCBmcm9tX3RhZykpIHsKIGNvcHlfZGF0YToKIAkJbmFtZS0+dGlwX25hbWUgPSB0aXBfbmFtZTsKIAkJbmFtZS0+dGFnZ2VyZGF0ZSA9IHRhZ2dlcmRhdGU7CiAJCW5hbWUtPmdlbmVyYXRpb24gPSBnZW5lcmF0aW9uOwogCQluYW1lLT5kaXN0YW5jZSA9IGRpc3RhbmNlOwotCX0gZWxzZQorCQluYW1lLT5mcm9tX3RhZyA9IGZyb21fdGFnOworCX0gZWxzZSB7CisJCWZyZWUodG9fZnJlZSk7CiAJCXJldHVybjsKKwl9CiAKIAlmb3IgKHBhcmVudHMgPSBjb21taXQtPnBhcmVudHM7CiAJCQlwYXJlbnRzOwpAQCAtNzIsMTAgKzExNSwxMiBAQAogCQkJCQkJICAgcGFyZW50X251bWJlcik7CiAKIAkJCW5hbWVfcmV2KHBhcmVudHMtPml0ZW0sIG5ld19uYW1lLCB0YWdnZXJkYXRlLCAwLAotCQkJCWRpc3RhbmNlICsgTUVSR0VfVFJBVkVSU0FMX1dFSUdIVCwgMCk7CisJCQkJIGRpc3RhbmNlICsgTUVSR0VfVFJBVkVSU0FMX1dFSUdIVCwKKwkJCQkgZnJvbV90YWcsIDApOwogCQl9IGVsc2UgewogCQkJbmFtZV9yZXYocGFyZW50cy0+aXRlbSwgdGlwX25hbWUsIHRhZ2dlcmRhdGUsCi0JCQkJZ2VuZXJhdGlvbiArIDEsIGRpc3RhbmNlICsgMSwgMCk7CisJCQkJIGdlbmVyYXRpb24gKyAxLCBkaXN0YW5jZSArIDEsCisJCQkJIGZyb21fdGFnLCAwKTsKIAkJfQogCX0KIH0KQEAgLTg1LDcgKzEzMCw3IEBACiAJY29uc3QgY2hhciAqc3VicGF0aCA9IHBhdGg7CiAKIAl3aGlsZSAoc3VicGF0aCkgewotCQlpZiAoIXdpbGRtYXRjaChmaWx0ZXIsIHN1YnBhdGgsIDAsIE5VTEwpKQorCQlpZiAoIXdpbGRtYXRjaChmaWx0ZXIsIHN1YnBhdGgsIDApKQogCQkJcmV0dXJuIHN1YnBhdGggLSBwYXRoOwogCQlzdWJwYXRoID0gc3RyY2hyKHN1YnBhdGgsICcvJyk7CiAJCWlmIChzdWJwYXRoKQpAQCAtMTA4LDEyICsxNTMsMTMgQEAKIHN0cnVjdCBuYW1lX3JlZl9kYXRhIHsKIAlpbnQgdGFnc19vbmx5OwogCWludCBuYW1lX29ubHk7Ci0JY29uc3QgY2hhciAqcmVmX2ZpbHRlcjsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcmVmX2ZpbHRlcnM7CisJc3RydWN0IHN0cmluZ19saXN0IGV4Y2x1ZGVfZmlsdGVyczsKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgdGlwX3RhYmxlIHsKIAlzdHJ1Y3QgdGlwX3RhYmxlX2VudHJ5IHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCWNvbnN0IGNoYXIgKnJlZm5hbWU7CiAJfSAqdGFibGU7CiAJaW50IG5yOwpAQCAtMTIxLDEzICsxNjcsMTMgQEAKIAlpbnQgc29ydGVkOwogfSB0aXBfdGFibGU7CiAKLXN0YXRpYyB2b2lkIGFkZF90b190aXBfdGFibGUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqcmVmbmFtZSwKK3N0YXRpYyB2b2lkIGFkZF90b190aXBfdGFibGUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpyZWZuYW1lLAogCQkJICAgICBpbnQgc2hvcnRlbl91bmFtYmlndW91cykKIHsKIAlyZWZuYW1lID0gbmFtZV9yZWZfYWJicmV2KHJlZm5hbWUsIHNob3J0ZW5fdW5hbWJpZ3VvdXMpOwogCiAJQUxMT0NfR1JPVyh0aXBfdGFibGUudGFibGUsIHRpcF90YWJsZS5uciArIDEsIHRpcF90YWJsZS5hbGxvYyk7Ci0JaGFzaGNweSh0aXBfdGFibGUudGFibGVbdGlwX3RhYmxlLm5yXS5zaGExLCBzaGExKTsKKwlvaWRjcHkoJnRpcF90YWJsZS50YWJsZVt0aXBfdGFibGUubnJdLm9pZCwgb2lkKTsKIAl0aXBfdGFibGUudGFibGVbdGlwX3RhYmxlLm5yXS5yZWZuYW1lID0geHN0cmR1cChyZWZuYW1lKTsKIAl0aXBfdGFibGUubnIrKzsKIAl0aXBfdGFibGUuc29ydGVkID0gMDsKQEAgLTEzNiw0NyArMTgyLDgyIEBACiBzdGF0aWMgaW50IHRpcGNtcChjb25zdCB2b2lkICphXywgY29uc3Qgdm9pZCAqYl8pCiB7CiAJY29uc3Qgc3RydWN0IHRpcF90YWJsZV9lbnRyeSAqYSA9IGFfLCAqYiA9IGJfOwotCXJldHVybiBoYXNoY21wKGEtPnNoYTEsIGItPnNoYTEpOworCXJldHVybiBvaWRjbXAoJmEtPm9pZCwgJmItPm9pZCk7CiB9CiAKIHN0YXRpYyBpbnQgbmFtZV9yZWYoY29uc3QgY2hhciAqcGF0aCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZmxhZ3MsIHZvaWQgKmNiX2RhdGEpCiB7Ci0Jc3RydWN0IG9iamVjdCAqbyA9IHBhcnNlX29iamVjdChvaWQtPmhhc2gpOworCXN0cnVjdCBvYmplY3QgKm8gPSBwYXJzZV9vYmplY3Qob2lkKTsKIAlzdHJ1Y3QgbmFtZV9yZWZfZGF0YSAqZGF0YSA9IGNiX2RhdGE7CiAJaW50IGNhbl9hYmJyZXZpYXRlX291dHB1dCA9IGRhdGEtPnRhZ3Nfb25seSAmJiBkYXRhLT5uYW1lX29ubHk7CiAJaW50IGRlcmVmID0gMDsKLQl1bnNpZ25lZCBsb25nIHRhZ2dlcmRhdGUgPSBVTE9OR19NQVg7CisJdGltZXN0YW1wX3QgdGFnZ2VyZGF0ZSA9IFRJTUVfTUFYOwogCiAJaWYgKGRhdGEtPnRhZ3Nfb25seSAmJiAhc3RhcnRzX3dpdGgocGF0aCwgInJlZnMvdGFncy8iKSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoZGF0YS0+cmVmX2ZpbHRlcikgewotCQlzd2l0Y2ggKHN1YnBhdGhfbWF0Y2hlcyhwYXRoLCBkYXRhLT5yZWZfZmlsdGVyKSkgewotCQljYXNlIC0xOiAvKiBkaWQgbm90IG1hdGNoICovCi0JCQlyZXR1cm4gMDsKLQkJY2FzZSAwOiAgLyogbWF0Y2hlZCBmdWxseSAqLwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6IC8qIG1hdGNoZWQgc3VicGF0aCAqLwotCQkJY2FuX2FiYnJldmlhdGVfb3V0cHV0ID0gMTsKLQkJCWJyZWFrOworCWlmIChkYXRhLT5leGNsdWRlX2ZpbHRlcnMubnIpIHsKKwkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CisKKwkJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmZGF0YS0+ZXhjbHVkZV9maWx0ZXJzKSB7CisJCQlpZiAoc3VicGF0aF9tYXRjaGVzKHBhdGgsIGl0ZW0tPnN0cmluZykgPj0gMCkKKwkJCQlyZXR1cm4gMDsKIAkJfQogCX0KIAotCWFkZF90b190aXBfdGFibGUob2lkLT5oYXNoLCBwYXRoLCBjYW5fYWJicmV2aWF0ZV9vdXRwdXQpOworCWlmIChkYXRhLT5yZWZfZmlsdGVycy5ucikgeworCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKwkJaW50IG1hdGNoZWQgPSAwOworCisJCS8qIFNlZSBpZiBhbnkgb2YgdGhlIHBhdHRlcm5zIG1hdGNoLiAqLworCQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZkYXRhLT5yZWZfZmlsdGVycykgeworCQkJLyoKKwkJCSAqIENoZWNrIGFsbCBwYXR0ZXJucyBldmVuIGFmdGVyIGZpbmRpbmcgYSBtYXRjaCwgc28KKwkJCSAqIHRoYXQgd2UgY2FuIHNlZSBpZiBhIG1hdGNoIHdpdGggYSBzdWJwYXRoIGV4aXN0cy4KKwkJCSAqIFdoZW4gYSB1c2VyIGFza2VkIGZvciAncmVmcy90YWdzL3YqJyBhbmQgJ3YxLionLAorCQkJICogYm90aCBvZiB3aGljaCBtYXRjaCwgdGhlIHVzZXIgaXMgc2hvd2luZyBoZXIKKwkJCSAqIHdpbGxpbmduZXNzIHRvIGFjY2VwdCBhIHNob3J0ZW5lZCBvdXRwdXQgYnkgaGF2aW5nCisJCQkgKiB0aGUgJ3YxLionIGluIHRoZSBhY2NlcHRhYmxlIHJlZm5hbWVzLCBzbyB3ZQorCQkJICogc2hvdWxkbid0IHN0b3Agd2hlbiBzZWVpbmcgJ3JlZnMvdGFncy92MS40JyBtYXRjaGVzCisJCQkgKiAncmVmcy90YWdzL3YqJy4gIFdlIHNob3VsZCBzaG93IGl0IGFzICd2MS40Jy4KKwkJCSAqLworCQkJc3dpdGNoIChzdWJwYXRoX21hdGNoZXMocGF0aCwgaXRlbS0+c3RyaW5nKSkgeworCQkJY2FzZSAtMTogLyogZGlkIG5vdCBtYXRjaCAqLworCQkJCWJyZWFrOworCQkJY2FzZSAwOiAvKiBtYXRjaGVkIGZ1bGx5ICovCisJCQkJbWF0Y2hlZCA9IDE7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OiAvKiBtYXRjaGVkIHN1YnBhdGggKi8KKwkJCQltYXRjaGVkID0gMTsKKwkJCQljYW5fYWJicmV2aWF0ZV9vdXRwdXQgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQl9CisKKwkJLyogSWYgbm9uZSBvZiB0aGUgcGF0dGVybnMgbWF0Y2hlZCwgc3RvcCBub3cgKi8KKwkJaWYgKCFtYXRjaGVkKQorCQkJcmV0dXJuIDA7CisJfQorCisJYWRkX3RvX3RpcF90YWJsZShvaWQsIHBhdGgsIGNhbl9hYmJyZXZpYXRlX291dHB1dCk7CiAKIAl3aGlsZSAobyAmJiBvLT50eXBlID09IE9CSl9UQUcpIHsKIAkJc3RydWN0IHRhZyAqdCA9IChzdHJ1Y3QgdGFnICopIG87CiAJCWlmICghdC0+dGFnZ2VkKQogCQkJYnJlYWs7IC8qIGJyb2tlbiByZXBvc2l0b3J5ICovCi0JCW8gPSBwYXJzZV9vYmplY3QodC0+dGFnZ2VkLT5vaWQuaGFzaCk7CisJCW8gPSBwYXJzZV9vYmplY3QoJnQtPnRhZ2dlZC0+b2lkKTsKIAkJZGVyZWYgPSAxOwogCQl0YWdnZXJkYXRlID0gdC0+ZGF0ZTsKIAl9CiAJaWYgKG8gJiYgby0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7CiAJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IChzdHJ1Y3QgY29tbWl0ICopbzsKKwkJaW50IGZyb21fdGFnID0gc3RhcnRzX3dpdGgocGF0aCwgInJlZnMvdGFncy8iKTsKIAorCQlpZiAodGFnZ2VyZGF0ZSA9PSBUSU1FX01BWCkKKwkJCXRhZ2dlcmRhdGUgPSAoKHN0cnVjdCBjb21taXQgKilvKS0+ZGF0ZTsKIAkJcGF0aCA9IG5hbWVfcmVmX2FiYnJldihwYXRoLCBjYW5fYWJicmV2aWF0ZV9vdXRwdXQpOwotCQluYW1lX3Jldihjb21taXQsIHhzdHJkdXAocGF0aCksIHRhZ2dlcmRhdGUsIDAsIDAsIGRlcmVmKTsKKwkJbmFtZV9yZXYoY29tbWl0LCB4c3RyZHVwKHBhdGgpLCB0YWdnZXJkYXRlLCAwLCAwLAorCQkJIGZyb21fdGFnLCBkZXJlZik7CiAJfQogCXJldHVybiAwOwogfQpAQCAtMTg0LDcgKzI2NSw3IEBACiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqbnRoX3RpcF90YWJsZV9lbnQoc2l6ZV90IGl4LCB2b2lkICp0YWJsZV8pCiB7CiAJc3RydWN0IHRpcF90YWJsZV9lbnRyeSAqdGFibGUgPSB0YWJsZV87Ci0JcmV0dXJuIHRhYmxlW2l4XS5zaGExOworCXJldHVybiB0YWJsZVtpeF0ub2lkLmhhc2g7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICpnZXRfZXhhY3RfcmVmX21hdGNoKGNvbnN0IHN0cnVjdCBvYmplY3QgKm8pCkBAIC0yMDYsMTAgKzI4Nyw5IEBACiAJcmV0dXJuIE5VTEw7CiB9CiAKLS8qIHJldHVybnMgYSBzdGF0aWMgYnVmZmVyICovCi1zdGF0aWMgY29uc3QgY2hhciAqZ2V0X3Jldl9uYW1lKGNvbnN0IHN0cnVjdCBvYmplY3QgKm8pCisvKiBtYXkgcmV0dXJuIGEgY29uc3RhbnQgc3RyaW5nIG9yIHVzZSAiYnVmIiBhcyBzY3JhdGNoIHNwYWNlICovCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3Jldl9uYW1lKGNvbnN0IHN0cnVjdCBvYmplY3QgKm8sIHN0cnVjdCBzdHJidWYgKmJ1ZikKIHsKLQlzdGF0aWMgY2hhciBidWZmZXJbMTAyNF07CiAJc3RydWN0IHJldl9uYW1lICpuOwogCXN0cnVjdCBjb21taXQgKmM7CiAKQEAgLTIyNiwxMCArMzA2LDkgQEAKIAkJaW50IGxlbiA9IHN0cmxlbihuLT50aXBfbmFtZSk7CiAJCWlmIChsZW4gPiAyICYmICFzdHJjbXAobi0+dGlwX25hbWUgKyBsZW4gLSAyLCAiXjAiKSkKIAkJCWxlbiAtPSAyOwotCQlzbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpLCAiJS4qc34lZCIsIGxlbiwgbi0+dGlwX25hbWUsCi0JCQkJbi0+Z2VuZXJhdGlvbik7Ci0KLQkJcmV0dXJuIGJ1ZmZlcjsKKwkJc3RyYnVmX3Jlc2V0KGJ1Zik7CisJCXN0cmJ1Zl9hZGRmKGJ1ZiwgIiUuKnN+JWQiLCBsZW4sIG4tPnRpcF9uYW1lLCBuLT5nZW5lcmF0aW9uKTsKKwkJcmV0dXJuIGJ1Zi0+YnVmOwogCX0KIH0KIApAQCAtMjM5LDEwICszMTgsMTEgQEAKIHsKIAljb25zdCBjaGFyICpuYW1lOwogCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCA9ICZvYmotPm9pZDsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJaWYgKCFuYW1lX29ubHkpCiAJCXByaW50ZigiJXMgIiwgY2FsbGVyX25hbWUgPyBjYWxsZXJfbmFtZSA6IG9pZF90b19oZXgob2lkKSk7Ci0JbmFtZSA9IGdldF9yZXZfbmFtZShvYmopOworCW5hbWUgPSBnZXRfcmV2X25hbWUob2JqLCAmYnVmKTsKIAlpZiAobmFtZSkKIAkJcHJpbnRmKCIlc1xuIiwgbmFtZSk7CiAJZWxzZSBpZiAoYWxsb3dfdW5kZWZpbmVkKQpAQCAtMjUxLDYgKzMzMSw3IEBACiAJCXByaW50ZigiJXNcbiIsIGZpbmRfdW5pcXVlX2FiYnJldihvaWQtPmhhc2gsIERFRkFVTFRfQUJCUkVWKSk7CiAJZWxzZQogCQlkaWUoImNhbm5vdCBkZXNjcmliZSAnJXMnIiwgb2lkX3RvX2hleChvaWQpKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KIAogc3RhdGljIGNoYXIgY29uc3QgKiBjb25zdCBuYW1lX3Jldl91c2FnZVtdID0gewpAQCAtMjYyLDE1ICszNDMsMTYgQEAKIAogc3RhdGljIHZvaWQgbmFtZV9yZXZfbGluZShjaGFyICpwLCBzdHJ1Y3QgbmFtZV9yZWZfZGF0YSAqZGF0YSkKIHsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCWludCBmb3J0eSA9IDA7CiAJY2hhciAqcF9zdGFydDsKIAlmb3IgKHBfc3RhcnQgPSBwOyAqcDsgcCsrKSB7CiAjZGVmaW5lIGlzaGV4KHgpIChpc2RpZ2l0KCh4KSkgfHwgKCh4KSA+PSAnYScgJiYgKHgpIDw9ICdmJykpCiAJCWlmICghaXNoZXgoKnApKQogCQkJZm9ydHkgPSAwOwotCQllbHNlIGlmICgrK2ZvcnR5ID09IDQwICYmCisJCWVsc2UgaWYgKCsrZm9ydHkgPT0gR0lUX1NIQTFfSEVYU1ogJiYKIAkJCSAhaXNoZXgoKihwKzEpKSkgewotCQkJdW5zaWduZWQgY2hhciBzaGExWzQwXTsKKwkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQkJY29uc3QgY2hhciAqbmFtZSA9IE5VTEw7CiAJCQljaGFyIGMgPSAqKHArMSk7CiAJCQlpbnQgcF9sZW4gPSBwIC0gcF9zdGFydCArIDE7CkBAIC0yNzgsMTEgKzM2MCwxMSBAQAogCQkJZm9ydHkgPSAwOwogCiAJCQkqKHArMSkgPSAwOwotCQkJaWYgKCFnZXRfc2hhMShwIC0gMzksIHNoYTEpKSB7CisJCQlpZiAoIWdldF9vaWQocCAtIChHSVRfU0hBMV9IRVhTWiAtIDEpLCAmb2lkKSkgewogCQkJCXN0cnVjdCBvYmplY3QgKm8gPQotCQkJCQlsb29rdXBfb2JqZWN0KHNoYTEpOworCQkJCQlsb29rdXBfb2JqZWN0KG9pZC5oYXNoKTsKIAkJCQlpZiAobykKLQkJCQkJbmFtZSA9IGdldF9yZXZfbmFtZShvKTsKKwkJCQkJbmFtZSA9IGdldF9yZXZfbmFtZShvLCAmYnVmKTsKIAkJCX0KIAkJCSoocCsxKSA9IGM7CiAKQEAgLTI5MCw3ICszNzIsNyBAQAogCQkJCWNvbnRpbnVlOwogCiAJCQlpZiAoZGF0YS0+bmFtZV9vbmx5KQotCQkJCXByaW50ZigiJS4qcyVzIiwgcF9sZW4gLSA0MCwgcF9zdGFydCwgbmFtZSk7CisJCQkJcHJpbnRmKCIlLipzJXMiLCBwX2xlbiAtIEdJVF9TSEExX0hFWFNaLCBwX3N0YXJ0LCBuYW1lKTsKIAkJCWVsc2UKIAkJCQlwcmludGYoIiUuKnMgKCVzKSIsIHBfbGVuLCBwX3N0YXJ0LCBuYW1lKTsKIAkJCXBfc3RhcnQgPSBwICsgMTsKQEAgLTMwMCwxOCArMzgyLDIyIEBACiAJLyogZmx1c2ggKi8KIAlpZiAocF9zdGFydCAhPSBwKQogCQlmd3JpdGUocF9zdGFydCwgcCAtIHBfc3RhcnQsIDEsIHN0ZG91dCk7CisKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KIAogaW50IGNtZF9uYW1lX3JldihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2FycmF5IHJldnMgPSBPQkpFQ1RfQVJSQVlfSU5JVDsKIAlpbnQgYWxsID0gMCwgdHJhbnNmb3JtX3N0ZGluID0gMCwgYWxsb3dfdW5kZWZpbmVkID0gMSwgYWx3YXlzID0gMCwgcGVlbF90YWcgPSAwOwotCXN0cnVjdCBuYW1lX3JlZl9kYXRhIGRhdGEgPSB7IDAsIDAsIE5VTEwgfTsKKwlzdHJ1Y3QgbmFtZV9yZWZfZGF0YSBkYXRhID0geyAwLCAwLCBTVFJJTkdfTElTVF9JTklUX05PRFVQLCBTVFJJTkdfTElTVF9JTklUX05PRFVQIH07CiAJc3RydWN0IG9wdGlvbiBvcHRzW10gPSB7CiAJCU9QVF9CT09MKDAsICJuYW1lLW9ubHkiLCAmZGF0YS5uYW1lX29ubHksIE5fKCJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiKSksCiAJCU9QVF9CT09MKDAsICJ0YWdzIiwgJmRhdGEudGFnc19vbmx5LCBOXygib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIikpLAotCQlPUFRfU1RSSU5HKDAsICJyZWZzIiwgJmRhdGEucmVmX2ZpbHRlciwgTl8oInBhdHRlcm4iKSwKKwkJT1BUX1NUUklOR19MSVNUKDAsICJyZWZzIiwgJmRhdGEucmVmX2ZpbHRlcnMsIE5fKCJwYXR0ZXJuIiksCiAJCQkJICAgTl8oIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IikpLAorCQlPUFRfU1RSSU5HX0xJU1QoMCwgImV4Y2x1ZGUiLCAmZGF0YS5leGNsdWRlX2ZpbHRlcnMsIE5fKCJwYXR0ZXJuIiksCisJCQkJICAgTl8oImlnbm9yZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIpKSwKIAkJT1BUX0dST1VQKCIiKSwKIAkJT1BUX0JPT0woMCwgImFsbCIsICZhbGwsIE5fKCJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIikpLAogCQlPUFRfQk9PTCgwLCAic3RkaW4iLCAmdHJhbnNmb3JtX3N0ZGluLCBOXygicmVhZCBmcm9tIHN0ZGluIikpLApAQCAtMzM3LDE4ICs0MjMsMTggQEAKIAkJY3V0b2ZmID0gMDsKIAogCWZvciAoOyBhcmdjOyBhcmdjLS0sIGFyZ3YrKykgewotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJc3RydWN0IG9iamVjdCAqb2JqZWN0OwogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAKLQkJaWYgKGdldF9zaGExKCphcmd2LCBzaGExKSkgeworCQlpZiAoZ2V0X29pZCgqYXJndiwgJm9pZCkpIHsKIAkJCWZwcmludGYoc3RkZXJyLCAiQ291bGQgbm90IGdldCBzaGExIGZvciAlcy4gU2tpcHBpbmcuXG4iLAogCQkJCQkqYXJndik7CiAJCQljb250aW51ZTsKIAkJfQogCiAJCWNvbW1pdCA9IE5VTEw7Ci0JCW9iamVjdCA9IHBhcnNlX29iamVjdChzaGExKTsKKwkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KCZvaWQpOwogCQlpZiAob2JqZWN0KSB7CiAJCQlzdHJ1Y3Qgb2JqZWN0ICpwZWVsZWQgPSBkZXJlZl90YWcob2JqZWN0LCAqYXJndiwgMCk7CiAJCQlpZiAocGVlbGVkICYmIHBlZWxlZC0+dHlwZSA9PSBPQkpfQ09NTUlUKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9ub3Rlcy5jIGIvYnVpbHRpbi9ub3Rlcy5jCmluZGV4IDUyNDhhOWIuLjhlNTRmMmQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbm90ZXMuYworKysgYi9idWlsdGluL25vdGVzLmMKQEAgLTgsNiArOCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgIm5vdGVzLmgiCiAjaW5jbHVkZSAiYmxvYi5oIgpAQCAtMTA5LDExICsxMTAsMTEgQEAKIAlzdHJidWZfcmVsZWFzZSgmZC0+YnVmKTsKIH0KIAotc3RhdGljIGludCBsaXN0X2VhY2hfbm90ZShjb25zdCB1bnNpZ25lZCBjaGFyICpvYmplY3Rfc2hhMSwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqbm90ZV9zaGExLCBjaGFyICpub3RlX3BhdGgsCitzdGF0aWMgaW50IGxpc3RfZWFjaF9ub3RlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9iamVjdF9vaWQsCisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5vdGVfb2lkLCBjaGFyICpub3RlX3BhdGgsCiAJCXZvaWQgKmNiX2RhdGEpCiB7Ci0JcHJpbnRmKCIlcyAlc1xuIiwgc2hhMV90b19oZXgobm90ZV9zaGExKSwgc2hhMV90b19oZXgob2JqZWN0X3NoYTEpKTsKKwlwcmludGYoIiVzICVzXG4iLCBvaWRfdG9faGV4KG5vdGVfb2lkKSwgb2lkX3RvX2hleChvYmplY3Rfb2lkKSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEyOSwxMCArMTMwLDEwIEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCB3cml0ZV9jb21tZW50ZWRfb2JqZWN0KGludCBmZCwgY29uc3QgdW5zaWduZWQgY2hhciAqb2JqZWN0KQorc3RhdGljIHZvaWQgd3JpdGVfY29tbWVudGVkX29iamVjdChpbnQgZmQsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9iamVjdCkKIHsKIAljb25zdCBjaGFyICpzaG93X2FyZ3NbNV0gPQotCQl7InNob3ciLCAiLS1zdGF0IiwgIi0tbm8tbm90ZXMiLCBzaGExX3RvX2hleChvYmplY3QpLCBOVUxMfTsKKwkJeyJzaG93IiwgIi0tc3RhdCIsICItLW5vLW5vdGVzIiwgb2lkX3RvX2hleChvYmplY3QpLCBOVUxMfTsKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBzaG93ID0gQ0hJTERfUFJPQ0VTU19JTklUOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBjYnVmID0gU1RSQlVGX0lOSVQ7CkBAIC0xNDUsNyArMTQ2LDcgQEAKIAlzaG93LmdpdF9jbWQgPSAxOwogCWlmIChzdGFydF9jb21tYW5kKCZzaG93KSkKIAkJZGllKF8oInVuYWJsZSB0byBzdGFydCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIiksCi0JCSAgICBzaGExX3RvX2hleChvYmplY3QpKTsKKwkJICAgIG9pZF90b19oZXgob2JqZWN0KSk7CiAKIAlpZiAoc3RyYnVmX3JlYWQoJmJ1Ziwgc2hvdy5vdXQsIDApIDwgMCkKIAkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCByZWFkICdzaG93JyBvdXRwdXQiKSk7CkBAIC0xNTcsMTAgKzE1OCwxMCBAQAogCiAJaWYgKGZpbmlzaF9jb21tYW5kKCZzaG93KSkKIAkJZGllKF8oImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIpLAotCQkgICAgc2hhMV90b19oZXgob2JqZWN0KSk7CisJCSAgICBvaWRfdG9faGV4KG9iamVjdCkpOwogfQogCi1zdGF0aWMgdm9pZCBwcmVwYXJlX25vdGVfZGF0YShjb25zdCB1bnNpZ25lZCBjaGFyICpvYmplY3QsIHN0cnVjdCBub3RlX2RhdGEgKmQsCitzdGF0aWMgdm9pZCBwcmVwYXJlX25vdGVfZGF0YShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3QsIHN0cnVjdCBub3RlX2RhdGEgKmQsCiAJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9ub3RlKQogewogCWlmIChkLT51c2VfZWRpdG9yIHx8ICFkLT5naXZlbikgewpAQCAtMjQzLDE2ICsyNDQsMTYgQEAKIHsKIAlzdHJ1Y3Qgbm90ZV9kYXRhICpkID0gb3B0LT52YWx1ZTsKIAljaGFyICpidWY7Ci0JdW5zaWduZWQgY2hhciBvYmplY3RbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2JqZWN0OwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAl1bnNpZ25lZCBsb25nIGxlbjsKIAogCWlmIChkLT5idWYubGVuKQogCQlzdHJidWZfYWRkY2goJmQtPmJ1ZiwgJ1xuJyk7CiAKLQlpZiAoZ2V0X3NoYTEoYXJnLCBvYmplY3QpKQorCWlmIChnZXRfb2lkKGFyZywgJm9iamVjdCkpCiAJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBhcmcpOwotCWlmICghKGJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9iamVjdCwgJnR5cGUsICZsZW4pKSkgeworCWlmICghKGJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9iamVjdC5oYXNoLCAmdHlwZSwgJmxlbikpKSB7CiAJCWZyZWUoYnVmKTsKIAkJZGllKF8oImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIpLCBhcmcpOwogCX0KQEAgLTI5Miw3ICsyOTMsNyBAQAogCX0KIAogCXdoaWxlIChzdHJidWZfZ2V0bGluZV9sZigmYnVmLCBzdGRpbikgIT0gRU9GKSB7Ci0JCXVuc2lnbmVkIGNoYXIgZnJvbV9vYmpbMjBdLCB0b19vYmpbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIGZyb21fb2JqLCB0b19vYmo7CiAJCXN0cnVjdCBzdHJidWYgKipzcGxpdDsKIAkJaW50IGVycjsKIApAQCAtMzAxLDE1ICszMDIsMTUgQEAKIAkJCWRpZShfKCJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iKSwgYnVmLmJ1Zik7CiAJCXN0cmJ1Zl9ydHJpbShzcGxpdFswXSk7CiAJCXN0cmJ1Zl9ydHJpbShzcGxpdFsxXSk7Ci0JCWlmIChnZXRfc2hhMShzcGxpdFswXS0+YnVmLCBmcm9tX29iaikpCisJCWlmIChnZXRfb2lkKHNwbGl0WzBdLT5idWYsICZmcm9tX29iaikpCiAJCQlkaWUoXygiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgc3BsaXRbMF0tPmJ1Zik7Ci0JCWlmIChnZXRfc2hhMShzcGxpdFsxXS0+YnVmLCB0b19vYmopKQorCQlpZiAoZ2V0X29pZChzcGxpdFsxXS0+YnVmLCAmdG9fb2JqKSkKIAkJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBzcGxpdFsxXS0+YnVmKTsKIAogCQlpZiAocmV3cml0ZV9jbWQpCi0JCQllcnIgPSBjb3B5X25vdGVfZm9yX3Jld3JpdGUoYywgZnJvbV9vYmosIHRvX29iaik7CisJCQllcnIgPSBjb3B5X25vdGVfZm9yX3Jld3JpdGUoYywgJmZyb21fb2JqLCAmdG9fb2JqKTsKIAkJZWxzZQotCQkJZXJyID0gY29weV9ub3RlKHQsIGZyb21fb2JqLCB0b19vYmosIGZvcmNlLAorCQkJZXJyID0gY29weV9ub3RlKHQsICZmcm9tX29iaiwgJnRvX29iaiwgZm9yY2UsCiAJCQkJCWNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlKTsKIAogCQlpZiAoZXJyKSB7CkBAIC0zMjcsNiArMzI4LDcgQEAKIAl9IGVsc2UgewogCQlmaW5pc2hfY29weV9ub3Rlc19mb3JfcmV3cml0ZShjLCBtc2cpOwogCX0KKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0zNDAsOCArMzQyLDEwIEBACiAKIAlyZWYgPSAoZmxhZ3MgJiBOT1RFU19JTklUX1dSSVRBQkxFKSA/IHQtPnVwZGF0ZV9yZWYgOiB0LT5yZWY7CiAJaWYgKCFzdGFydHNfd2l0aChyZWYsICJyZWZzL25vdGVzLyIpKQotCQkvKiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYQotCQkgICBnaXQgbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuKi8KKwkJLyoKKwkJICogVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgZ2l0CisJCSAqIG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorCQkgKi8KIAkJZGllKF8oInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIpLAogCQkgICAgc3ViY29tbWFuZCwgcmVmKTsKIAlyZXR1cm4gdDsKQEAgLTM1MCw4ICszNTQsOCBAQAogc3RhdGljIGludCBsaXN0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCXN0cnVjdCBub3Rlc190cmVlICp0OwotCXVuc2lnbmVkIGNoYXIgb2JqZWN0WzIwXTsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpub3RlOworCXN0cnVjdCBvYmplY3RfaWQgb2JqZWN0OworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5vdGU7CiAJaW50IHJldHZhbCA9IC0xOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewogCQlPUFRfRU5EKCkKQEAgLTM2OCwxNSArMzcyLDE1IEBACiAKIAl0ID0gaW5pdF9ub3Rlc19jaGVjaygibGlzdCIsIDApOwogCWlmIChhcmdjKSB7Ci0JCWlmIChnZXRfc2hhMShhcmd2WzBdLCBvYmplY3QpKQorCQlpZiAoZ2V0X29pZChhcmd2WzBdLCAmb2JqZWN0KSkKIAkJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBhcmd2WzBdKTsKLQkJbm90ZSA9IGdldF9ub3RlKHQsIG9iamVjdCk7CisJCW5vdGUgPSBnZXRfbm90ZSh0LCAmb2JqZWN0KTsKIAkJaWYgKG5vdGUpIHsKLQkJCXB1dHMoc2hhMV90b19oZXgobm90ZSkpOworCQkJcHV0cyhvaWRfdG9faGV4KG5vdGUpKTsKIAkJCXJldHZhbCA9IDA7CiAJCX0gZWxzZQogCQkJcmV0dmFsID0gZXJyb3IoXygibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIpLAotCQkJCSAgICAgICBzaGExX3RvX2hleChvYmplY3QpKTsKKwkJCQkgICAgICAgb2lkX3RvX2hleCgmb2JqZWN0KSk7CiAJfSBlbHNlCiAJCXJldHZhbCA9IGZvcl9lYWNoX25vdGUodCwgMCwgbGlzdF9lYWNoX25vdGUsIE5VTEwpOwogCkBAIC0zOTEsOCArMzk1LDggQEAKIAlpbnQgZm9yY2UgPSAwLCBhbGxvd19lbXB0eSA9IDA7CiAJY29uc3QgY2hhciAqb2JqZWN0X3JlZjsKIAlzdHJ1Y3Qgbm90ZXNfdHJlZSAqdDsKLQl1bnNpZ25lZCBjaGFyIG9iamVjdFsyMF0sIG5ld19ub3RlWzIwXTsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpub3RlOworCXN0cnVjdCBvYmplY3RfaWQgb2JqZWN0LCBuZXdfbm90ZTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlOwogCXN0cnVjdCBub3RlX2RhdGEgZCA9IHsgMCwgMCwgTlVMTCwgU1RSQlVGX0lOSVQgfTsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssICdtJywgIm1lc3NhZ2UiLCAmZCwgTl8oIm1lc3NhZ2UiKSwKQEAgLTQyMywxMSArNDI3LDExIEBACiAKIAlvYmplY3RfcmVmID0gYXJnYyA+IDEgPyBhcmd2WzFdIDogIkhFQUQiOwogCi0JaWYgKGdldF9zaGExKG9iamVjdF9yZWYsIG9iamVjdCkpCisJaWYgKGdldF9vaWQob2JqZWN0X3JlZiwgJm9iamVjdCkpCiAJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBvYmplY3RfcmVmKTsKIAogCXQgPSBpbml0X25vdGVzX2NoZWNrKCJhZGQiLCBOT1RFU19JTklUX1dSSVRBQkxFKTsKLQlub3RlID0gZ2V0X25vdGUodCwgb2JqZWN0KTsKKwlub3RlID0gZ2V0X25vdGUodCwgJm9iamVjdCk7CiAKIAlpZiAobm90ZSkgewogCQlpZiAoIWZvcmNlKSB7CkBAIC00MzcsNyArNDQxLDcgQEAKIAkJCQlyZXR1cm4gZXJyb3IoXygiQ2Fubm90IGFkZCBub3Rlcy4gIgogCQkJCQkiRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gIgogCQkJCQkiVXNlICctZicgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIG5vdGVzIiksCi0JCQkJCXNoYTFfdG9faGV4KG9iamVjdCkpOworCQkJCQlvaWRfdG9faGV4KCZvYmplY3QpKTsKIAkJCX0KIAkJCS8qCiAJCQkgKiBSZWRpcmVjdCB0byAiZWRpdCIgc3ViY29tbWFuZC4KQEAgLTQ1MCwxOSArNDU0LDE5IEBACiAJCQlyZXR1cm4gYXBwZW5kX2VkaXQoYXJnYywgYXJndiwgcHJlZml4KTsKIAkJfQogCQlmcHJpbnRmKHN0ZGVyciwgXygiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIiksCi0JCQlzaGExX3RvX2hleChvYmplY3QpKTsKKwkJCW9pZF90b19oZXgoJm9iamVjdCkpOwogCX0KIAotCXByZXBhcmVfbm90ZV9kYXRhKG9iamVjdCwgJmQsIG5vdGUpOworCXByZXBhcmVfbm90ZV9kYXRhKCZvYmplY3QsICZkLCBub3RlID8gbm90ZS0+aGFzaCA6IE5VTEwpOwogCWlmIChkLmJ1Zi5sZW4gfHwgYWxsb3dfZW1wdHkpIHsKLQkJd3JpdGVfbm90ZV9kYXRhKCZkLCBuZXdfbm90ZSk7Ci0JCWlmIChhZGRfbm90ZSh0LCBvYmplY3QsIG5ld19ub3RlLCBjb21iaW5lX25vdGVzX292ZXJ3cml0ZSkpCisJCXdyaXRlX25vdGVfZGF0YSgmZCwgbmV3X25vdGUuaGFzaCk7CisJCWlmIChhZGRfbm90ZSh0LCAmb2JqZWN0LCAmbmV3X25vdGUsIGNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlKSkKIAkJCWRpZSgiQlVHOiBjb21iaW5lX25vdGVzX292ZXJ3cml0ZSBmYWlsZWQiKTsKIAkJY29tbWl0X25vdGVzKHQsICJOb3RlcyBhZGRlZCBieSAnZ2l0IG5vdGVzIGFkZCciKTsKIAl9IGVsc2UgewogCQlmcHJpbnRmKHN0ZGVyciwgXygiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iKSwKLQkJCXNoYTFfdG9faGV4KG9iamVjdCkpOwotCQlyZW1vdmVfbm90ZSh0LCBvYmplY3QpOworCQkJb2lkX3RvX2hleCgmb2JqZWN0KSk7CisJCXJlbW92ZV9ub3RlKHQsIG9iamVjdC5oYXNoKTsKIAkJY29tbWl0X25vdGVzKHQsICJOb3RlcyByZW1vdmVkIGJ5ICdnaXQgbm90ZXMgYWRkJyIpOwogCX0KIApAQCAtNDc0LDkgKzQ3OCw5IEBACiBzdGF0aWMgaW50IGNvcHkoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IHJldHZhbCA9IDAsIGZvcmNlID0gMCwgZnJvbV9zdGRpbiA9IDA7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZnJvbV9ub3RlLCAqbm90ZTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpmcm9tX25vdGUsICpub3RlOwogCWNvbnN0IGNoYXIgKm9iamVjdF9yZWY7Ci0JdW5zaWduZWQgY2hhciBvYmplY3RbMjBdLCBmcm9tX29ialsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvYmplY3QsIGZyb21fb2JqOwogCXN0cnVjdCBub3Rlc190cmVlICp0OwogCWNvbnN0IGNoYXIgKnJld3JpdGVfY21kID0gTlVMTDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKQEAgLTUwOSwzNyArNTEzLDM3IEBACiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfbm90ZXNfY29weV91c2FnZSwgb3B0aW9ucyk7CiAJfQogCi0JaWYgKGdldF9zaGExKGFyZ3ZbMF0sIGZyb21fb2JqKSkKKwlpZiAoZ2V0X29pZChhcmd2WzBdLCAmZnJvbV9vYmopKQogCQlkaWUoXygiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgYXJndlswXSk7CiAKIAlvYmplY3RfcmVmID0gMSA8IGFyZ2MgPyBhcmd2WzFdIDogIkhFQUQiOwogCi0JaWYgKGdldF9zaGExKG9iamVjdF9yZWYsIG9iamVjdCkpCisJaWYgKGdldF9vaWQob2JqZWN0X3JlZiwgJm9iamVjdCkpCiAJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBvYmplY3RfcmVmKTsKIAogCXQgPSBpbml0X25vdGVzX2NoZWNrKCJjb3B5IiwgTk9URVNfSU5JVF9XUklUQUJMRSk7Ci0Jbm90ZSA9IGdldF9ub3RlKHQsIG9iamVjdCk7CisJbm90ZSA9IGdldF9ub3RlKHQsICZvYmplY3QpOwogCiAJaWYgKG5vdGUpIHsKIAkJaWYgKCFmb3JjZSkgewogCQkJcmV0dmFsID0gZXJyb3IoXygiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nICIKIAkJCQkgICAgICAgIm5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvICIKIAkJCQkgICAgICAgIm92ZXJ3cml0ZSBleGlzdGluZyBub3RlcyIpLAotCQkJCSAgICAgICBzaGExX3RvX2hleChvYmplY3QpKTsKKwkJCQkgICAgICAgb2lkX3RvX2hleCgmb2JqZWN0KSk7CiAJCQlnb3RvIG91dDsKIAkJfQogCQlmcHJpbnRmKHN0ZGVyciwgXygiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIiksCi0JCQlzaGExX3RvX2hleChvYmplY3QpKTsKKwkJCW9pZF90b19oZXgoJm9iamVjdCkpOwogCX0KIAotCWZyb21fbm90ZSA9IGdldF9ub3RlKHQsIGZyb21fb2JqKTsKKwlmcm9tX25vdGUgPSBnZXRfbm90ZSh0LCAmZnJvbV9vYmopOwogCWlmICghZnJvbV9ub3RlKSB7CiAJCXJldHZhbCA9IGVycm9yKF8oIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90ICIKLQkJCSAgICAgICAiY29weS4iKSwgc2hhMV90b19oZXgoZnJvbV9vYmopKTsKKwkJCSAgICAgICAiY29weS4iKSwgb2lkX3RvX2hleCgmZnJvbV9vYmopKTsKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKGFkZF9ub3RlKHQsIG9iamVjdCwgZnJvbV9ub3RlLCBjb21iaW5lX25vdGVzX292ZXJ3cml0ZSkpCisJaWYgKGFkZF9ub3RlKHQsICZvYmplY3QsIGZyb21fbm90ZSwgY29tYmluZV9ub3Rlc19vdmVyd3JpdGUpKQogCQlkaWUoIkJVRzogY29tYmluZV9ub3Rlc19vdmVyd3JpdGUgZmFpbGVkIik7CiAJY29tbWl0X25vdGVzKHQsICJOb3RlcyBhZGRlZCBieSAnZ2l0IG5vdGVzIGNvcHknIik7CiBvdXQ6CkBAIC01NTIsOSArNTU2LDkgQEAKIAlpbnQgYWxsb3dfZW1wdHkgPSAwOwogCWNvbnN0IGNoYXIgKm9iamVjdF9yZWY7CiAJc3RydWN0IG5vdGVzX3RyZWUgKnQ7Ci0JdW5zaWduZWQgY2hhciBvYmplY3RbMjBdLCBuZXdfbm90ZVsyMF07Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqbm90ZTsKLQljaGFyIGxvZ21zZ1sxMDBdOworCXN0cnVjdCBvYmplY3RfaWQgb2JqZWN0LCBuZXdfbm90ZTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlOworCWNoYXIgKmxvZ21zZzsKIAljb25zdCBjaGFyICogY29uc3QgKnVzYWdlOwogCXN0cnVjdCBub3RlX2RhdGEgZCA9IHsgMCwgMCwgTlVMTCwgU1RSQlVGX0lOSVQgfTsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKQEAgLTU5MiwxOSArNTk2LDE5IEBACiAKIAlvYmplY3RfcmVmID0gMSA8IGFyZ2MgPyBhcmd2WzFdIDogIkhFQUQiOwogCi0JaWYgKGdldF9zaGExKG9iamVjdF9yZWYsIG9iamVjdCkpCisJaWYgKGdldF9vaWQob2JqZWN0X3JlZiwgJm9iamVjdCkpCiAJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBvYmplY3RfcmVmKTsKIAogCXQgPSBpbml0X25vdGVzX2NoZWNrKGFyZ3ZbMF0sIE5PVEVTX0lOSVRfV1JJVEFCTEUpOwotCW5vdGUgPSBnZXRfbm90ZSh0LCBvYmplY3QpOworCW5vdGUgPSBnZXRfbm90ZSh0LCAmb2JqZWN0KTsKIAotCXByZXBhcmVfbm90ZV9kYXRhKG9iamVjdCwgJmQsIGVkaXQgPyBub3RlIDogTlVMTCk7CisJcHJlcGFyZV9ub3RlX2RhdGEoJm9iamVjdCwgJmQsIGVkaXQgJiYgbm90ZSA/IG5vdGUtPmhhc2ggOiBOVUxMKTsKIAogCWlmIChub3RlICYmICFlZGl0KSB7CiAJCS8qIEFwcGVuZCBidWYgdG8gcHJldmlvdXMgbm90ZSBjb250ZW50cyAqLwogCQl1bnNpZ25lZCBsb25nIHNpemU7CiAJCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKLQkJY2hhciAqcHJldl9idWYgPSByZWFkX3NoYTFfZmlsZShub3RlLCAmdHlwZSwgJnNpemUpOworCQljaGFyICpwcmV2X2J1ZiA9IHJlYWRfc2hhMV9maWxlKG5vdGUtPmhhc2gsICZ0eXBlLCAmc2l6ZSk7CiAKIAkJc3RyYnVmX2dyb3coJmQuYnVmLCBzaXplICsgMSk7CiAJCWlmIChkLmJ1Zi5sZW4gJiYgcHJldl9idWYgJiYgc2l6ZSkKQEAgLTYxNSwyMCArNjE5LDE5IEBACiAJfQogCiAJaWYgKGQuYnVmLmxlbiB8fCBhbGxvd19lbXB0eSkgewotCQl3cml0ZV9ub3RlX2RhdGEoJmQsIG5ld19ub3RlKTsKLQkJaWYgKGFkZF9ub3RlKHQsIG9iamVjdCwgbmV3X25vdGUsIGNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlKSkKKwkJd3JpdGVfbm90ZV9kYXRhKCZkLCBuZXdfbm90ZS5oYXNoKTsKKwkJaWYgKGFkZF9ub3RlKHQsICZvYmplY3QsICZuZXdfbm90ZSwgY29tYmluZV9ub3Rlc19vdmVyd3JpdGUpKQogCQkJZGllKCJCVUc6IGNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlIGZhaWxlZCIpOwotCQlzbnByaW50Zihsb2dtc2csIHNpemVvZihsb2dtc2cpLCAiTm90ZXMgYWRkZWQgYnkgJ2dpdCBub3RlcyAlcyciLAotCQkJYXJndlswXSk7CisJCWxvZ21zZyA9IHhzdHJmbXQoIk5vdGVzIGFkZGVkIGJ5ICdnaXQgbm90ZXMgJXMnIiwgYXJndlswXSk7CiAJfSBlbHNlIHsKIAkJZnByaW50ZihzdGRlcnIsIF8oIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIiksCi0JCQlzaGExX3RvX2hleChvYmplY3QpKTsKLQkJcmVtb3ZlX25vdGUodCwgb2JqZWN0KTsKLQkJc25wcmludGYobG9nbXNnLCBzaXplb2YobG9nbXNnKSwgIk5vdGVzIHJlbW92ZWQgYnkgJ2dpdCBub3RlcyAlcyciLAotCQkJYXJndlswXSk7CisJCQlvaWRfdG9faGV4KCZvYmplY3QpKTsKKwkJcmVtb3ZlX25vdGUodCwgb2JqZWN0Lmhhc2gpOworCQlsb2dtc2cgPSB4c3RyZm10KCJOb3RlcyByZW1vdmVkIGJ5ICdnaXQgbm90ZXMgJXMnIiwgYXJndlswXSk7CiAJfQogCWNvbW1pdF9ub3Rlcyh0LCBsb2dtc2cpOwogCisJZnJlZShsb2dtc2cpOwogCWZyZWVfbm90ZV9kYXRhKCZkKTsKIAlmcmVlX25vdGVzKHQpOwogCXJldHVybiAwOwpAQCAtNjM4LDggKzY0MSw4IEBACiB7CiAJY29uc3QgY2hhciAqb2JqZWN0X3JlZjsKIAlzdHJ1Y3Qgbm90ZXNfdHJlZSAqdDsKLQl1bnNpZ25lZCBjaGFyIG9iamVjdFsyMF07Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqbm90ZTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9iamVjdDsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlOwogCWludCByZXR2YWw7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9FTkQoKQpAQCAtNjU1LDE3ICs2NTgsMTcgQEAKIAogCW9iamVjdF9yZWYgPSBhcmdjID8gYXJndlswXSA6ICJIRUFEIjsKIAotCWlmIChnZXRfc2hhMShvYmplY3RfcmVmLCBvYmplY3QpKQorCWlmIChnZXRfb2lkKG9iamVjdF9yZWYsICZvYmplY3QpKQogCQlkaWUoXygiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgb2JqZWN0X3JlZik7CiAKIAl0ID0gaW5pdF9ub3Rlc19jaGVjaygic2hvdyIsIDApOwotCW5vdGUgPSBnZXRfbm90ZSh0LCBvYmplY3QpOworCW5vdGUgPSBnZXRfbm90ZSh0LCAmb2JqZWN0KTsKIAogCWlmICghbm90ZSkKIAkJcmV0dmFsID0gZXJyb3IoXygibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIpLAotCQkJICAgICAgIHNoYTFfdG9faGV4KG9iamVjdCkpOworCQkJICAgICAgIG9pZF90b19oZXgoJm9iamVjdCkpOwogCWVsc2UgewotCQljb25zdCBjaGFyICpzaG93X2FyZ3NbM10gPSB7InNob3ciLCBzaGExX3RvX2hleChub3RlKSwgTlVMTH07CisJCWNvbnN0IGNoYXIgKnNob3dfYXJnc1szXSA9IHsic2hvdyIsIG9pZF90b19oZXgobm90ZSksIE5VTEx9OwogCQlyZXR2YWwgPSBleGVjdl9naXRfY21kKHNob3dfYXJncyk7CiAJfQogCWZyZWVfbm90ZXModCk7CkBAIC02ODEsOSArNjg0LDkgQEAKIAkgKiBub3Rlc19tZXJnZV9hYm9ydCgpIHRvIHJlbW92ZSAuZ2l0L05PVEVTX01FUkdFX1dPUktUUkVFLgogCSAqLwogCi0JaWYgKGRlbGV0ZV9yZWYoIk5PVEVTX01FUkdFX1BBUlRJQUwiLCBOVUxMLCAwKSkKKwlpZiAoZGVsZXRlX3JlZihOVUxMLCAiTk9URVNfTUVSR0VfUEFSVElBTCIsIE5VTEwsIDApKQogCQlyZXQgKz0gZXJyb3IoXygiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIpKTsKLQlpZiAoZGVsZXRlX3JlZigiTk9URVNfTUVSR0VfUkVGIiwgTlVMTCwgUkVGX05PREVSRUYpKQorCWlmIChkZWxldGVfcmVmKE5VTEwsICJOT1RFU19NRVJHRV9SRUYiLCBOVUxMLCBSRUZfTk9ERVJFRikpCiAJCXJldCArPSBlcnJvcihfKCJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiKSk7CiAJaWYgKG5vdGVzX21lcmdlX2Fib3J0KG8pKQogCQlyZXQgKz0gZXJyb3IoXygiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIpKTsKQEAgLTY5Myw3ICs2OTYsNyBAQAogc3RhdGljIGludCBtZXJnZV9jb21taXQoc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8pCiB7CiAJc3RydWN0IHN0cmJ1ZiBtc2cgPSBTVFJCVUZfSU5JVDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLCBwYXJlbnRfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQsIHBhcmVudF9vaWQ7CiAJc3RydWN0IG5vdGVzX3RyZWUgKnQ7CiAJc3RydWN0IGNvbW1pdCAqcGFydGlhbDsKIAlzdHJ1Y3QgcHJldHR5X3ByaW50X2NvbnRleHQgcHJldHR5X2N0eDsKQEAgLTcwNSwyNyArNzA4LDI3IEBACiAJICogYW5kIHRhcmdldCBub3RlcyByZWYgZnJvbSAuZ2l0L05PVEVTX01FUkdFX1JFRi4KIAkgKi8KIAotCWlmIChnZXRfc2hhMSgiTk9URVNfTUVSR0VfUEFSVElBTCIsIHNoYTEpKQorCWlmIChnZXRfb2lkKCJOT1RFU19NRVJHRV9QQVJUSUFMIiwgJm9pZCkpCiAJCWRpZShfKCJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIpKTsKLQllbHNlIGlmICghKHBhcnRpYWwgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKSkpCisJZWxzZSBpZiAoIShwYXJ0aWFsID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJm9pZCkpKQogCQlkaWUoXygiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iKSk7CiAJZWxzZSBpZiAocGFyc2VfY29tbWl0KHBhcnRpYWwpKQogCQlkaWUoXygiY291bGQgbm90IHBhcnNlIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIikpOwogCiAJaWYgKHBhcnRpYWwtPnBhcmVudHMpCi0JCWhhc2hjcHkocGFyZW50X3NoYTEsIHBhcnRpYWwtPnBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCk7CisJCW9pZGNweSgmcGFyZW50X29pZCwgJnBhcnRpYWwtPnBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQpOwogCWVsc2UKLQkJaGFzaGNscihwYXJlbnRfc2hhMSk7CisJCW9pZGNscigmcGFyZW50X29pZCk7CiAKIAl0ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IG5vdGVzX3RyZWUpKTsKIAlpbml0X25vdGVzKHQsICJOT1RFU19NRVJHRV9QQVJUSUFMIiwgY29tYmluZV9ub3Rlc19vdmVyd3JpdGUsIDApOwogCiAJby0+bG9jYWxfcmVmID0gbG9jYWxfcmVmX3RvX2ZyZWUgPQotCQlyZXNvbHZlX3JlZmR1cCgiTk9URVNfTUVSR0VfUkVGIiwgMCwgc2hhMSwgTlVMTCk7CisJCXJlc29sdmVfcmVmZHVwKCJOT1RFU19NRVJHRV9SRUYiLCAwLCBvaWQuaGFzaCwgTlVMTCk7CiAJaWYgKCFvLT5sb2NhbF9yZWYpCiAJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiKSk7CiAKLQlpZiAobm90ZXNfbWVyZ2VfY29tbWl0KG8sIHQsIHBhcnRpYWwsIHNoYTEpKQorCWlmIChub3Rlc19tZXJnZV9jb21taXQobywgdCwgcGFydGlhbCwgJm9pZCkpCiAJCWRpZShfKCJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiKSk7CiAKIAkvKiBSZXVzZSBleGlzdGluZyBjb21taXQgbWVzc2FnZSBpbiByZWZsb2cgbWVzc2FnZSAqLwpAQCAtNzMzLDggKzczNiw4IEBACiAJZm9ybWF0X2NvbW1pdF9tZXNzYWdlKHBhcnRpYWwsICIlcyIsICZtc2csICZwcmV0dHlfY3R4KTsKIAlzdHJidWZfdHJpbSgmbXNnKTsKIAlzdHJidWZfaW5zZXJ0KCZtc2csIDAsICJub3RlczogIiwgNyk7Ci0JdXBkYXRlX3JlZihtc2cuYnVmLCBvLT5sb2NhbF9yZWYsIHNoYTEsCi0JCSAgIGlzX251bGxfc2hhMShwYXJlbnRfc2hhMSkgPyBOVUxMIDogcGFyZW50X3NoYTEsCisJdXBkYXRlX3JlZihtc2cuYnVmLCBvLT5sb2NhbF9yZWYsIG9pZC5oYXNoLAorCQkgICBpc19udWxsX29pZCgmcGFyZW50X29pZCkgPyBOVUxMIDogcGFyZW50X29pZC5oYXNoLAogCQkgICAwLCBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKIAogCWZyZWVfbm90ZXModCk7CkBAIC03NjEsNyArNzY0LDcgQEAKIHN0YXRpYyBpbnQgbWVyZ2UoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJc3RydWN0IHN0cmJ1ZiByZW1vdGVfcmVmID0gU1RSQlVGX0lOSVQsIG1zZyA9IFNUUkJVRl9JTklUOwotCXVuc2lnbmVkIGNoYXIgcmVzdWx0X3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgcmVzdWx0X29pZDsKIAlzdHJ1Y3Qgbm90ZXNfdHJlZSAqdDsKIAlzdHJ1Y3Qgbm90ZXNfbWVyZ2Vfb3B0aW9ucyBvOwogCWludCBkb19tZXJnZSA9IDAsIGRvX2NvbW1pdCA9IDAsIGRvX2Fib3J0ID0gMDsKQEAgLTg0MywxNiArODQ2LDE2IEBACiAJCSAgICByZW1vdGVfcmVmLmJ1ZiwgZGVmYXVsdF9ub3Rlc19yZWYoKSk7CiAJc3RyYnVmX2FkZCgmKG8uY29tbWl0X21zZyksIG1zZy5idWYgKyA3LCBtc2cubGVuIC0gNyk7IC8qIHNraXAgIm5vdGVzOiAiICovCiAKLQlyZXN1bHQgPSBub3Rlc19tZXJnZSgmbywgdCwgcmVzdWx0X3NoYTEpOworCXJlc3VsdCA9IG5vdGVzX21lcmdlKCZvLCB0LCAmcmVzdWx0X29pZCk7CiAKLQlpZiAocmVzdWx0ID49IDApIC8qIE1lcmdlIHJlc3VsdGVkICh0cml2aWFsbHkpIGluIHJlc3VsdF9zaGExICovCisJaWYgKHJlc3VsdCA+PSAwKSAvKiBNZXJnZSByZXN1bHRlZCAodHJpdmlhbGx5KSBpbiByZXN1bHRfb2lkICovCiAJCS8qIFVwZGF0ZSBkZWZhdWx0IG5vdGVzIHJlZiB3aXRoIG5ldyBjb21taXQgKi8KLQkJdXBkYXRlX3JlZihtc2cuYnVmLCBkZWZhdWx0X25vdGVzX3JlZigpLCByZXN1bHRfc2hhMSwgTlVMTCwKKwkJdXBkYXRlX3JlZihtc2cuYnVmLCBkZWZhdWx0X25vdGVzX3JlZigpLCByZXN1bHRfb2lkLmhhc2gsIE5VTEwsCiAJCQkgICAwLCBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKIAllbHNlIHsgLyogTWVyZ2UgaGFzIHVucmVzb2x2ZWQgY29uZmxpY3RzICovCiAJCWNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3Q7CiAJCS8qIFVwZGF0ZSAuZ2l0L05PVEVTX01FUkdFX1BBUlRJQUwgd2l0aCBwYXJ0aWFsIG1lcmdlIHJlc3VsdCAqLwotCQl1cGRhdGVfcmVmKG1zZy5idWYsICJOT1RFU19NRVJHRV9QQVJUSUFMIiwgcmVzdWx0X3NoYTEsIE5VTEwsCisJCXVwZGF0ZV9yZWYobXNnLmJ1ZiwgIk5PVEVTX01FUkdFX1BBUlRJQUwiLCByZXN1bHRfb2lkLmhhc2gsIE5VTEwsCiAJCQkgICAwLCBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKIAkJLyogU3RvcmUgcmVmLXRvLWJlLXVwZGF0ZWQgaW50byAuZ2l0L05PVEVTX01FUkdFX1JFRiAqLwogCQl3dCA9IGZpbmRfc2hhcmVkX3N5bXJlZigiTk9URVNfTUVSR0VfUkVGIiwgZGVmYXVsdF9ub3Rlc19yZWYoKSk7CkBAIC04NzksMTAgKzg4MiwxMCBAQAogc3RhdGljIGludCByZW1vdmVfb25lX25vdGUoc3RydWN0IG5vdGVzX3RyZWUgKnQsIGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGZsYWcpCiB7CiAJaW50IHN0YXR1czsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCWlmIChnZXRfc2hhMShuYW1lLCBzaGExKSkKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwlpZiAoZ2V0X29pZChuYW1lLCAmb2lkKSkKIAkJcmV0dXJuIGVycm9yKF8oIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIG5hbWUpOwotCXN0YXR1cyA9IHJlbW92ZV9ub3RlKHQsIHNoYTEpOworCXN0YXR1cyA9IHJlbW92ZV9ub3RlKHQsIG9pZC5oYXNoKTsKIAlpZiAoc3RhdHVzKQogCQlmcHJpbnRmKHN0ZGVyciwgXygiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iKSwgbmFtZSk7CiAJZWxzZQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wYWNrLW9iamVjdHMuYyBiL2J1aWx0aW4vcGFjay1vYmplY3RzLmMKaW5kZXggYzdhZjQ3NS4uNWVlMmM0OCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wYWNrLW9iamVjdHMuYworKysgYi9idWlsdGluL3BhY2stb2JqZWN0cy5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImF0dHIuaCIKICNpbmNsdWRlICJvYmplY3QuaCIKICNpbmNsdWRlICJibG9iLmgiCkBAIC0yNCw2ICsyNSw3IEBACiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJtcnUuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiBzdGF0aWMgY29uc3QgY2hhciAqcGFja191c2FnZVtdID0gewogCU5fKCJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIiksCkBAIC00NCw3ICs0Niw3IEBACiBzdGF0aWMgaW50IG5vbl9lbXB0eTsKIHN0YXRpYyBpbnQgcmV1c2VfZGVsdGEgPSAxLCByZXVzZV9vYmplY3QgPSAxOwogc3RhdGljIGludCBrZWVwX3VucmVhY2hhYmxlLCB1bnBhY2tfdW5yZWFjaGFibGUsIGluY2x1ZGVfdGFnOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgdW5wYWNrX3VucmVhY2hhYmxlX2V4cGlyYXRpb247CitzdGF0aWMgdGltZXN0YW1wX3QgdW5wYWNrX3VucmVhY2hhYmxlX2V4cGlyYXRpb247CiBzdGF0aWMgaW50IHBhY2tfbG9vc2VfdW5yZWFjaGFibGU7CiBzdGF0aWMgaW50IGxvY2FsOwogc3RhdGljIGludCBoYXZlX25vbl9sb2NhbF9wYWNrczsKQEAgLTEwNiwxMiArMTA4LDE0IEBACiAJdm9pZCAqYnVmLCAqYmFzZV9idWYsICpkZWx0YV9idWY7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCi0JYnVmID0gcmVhZF9zaGExX2ZpbGUoZW50cnktPmlkeC5zaGExLCAmdHlwZSwgJnNpemUpOworCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKGVudHJ5LT5pZHgub2lkLmhhc2gsICZ0eXBlLCAmc2l6ZSk7CiAJaWYgKCFidWYpCi0JCWRpZSgidW5hYmxlIHRvIHJlYWQgJXMiLCBzaGExX3RvX2hleChlbnRyeS0+aWR4LnNoYTEpKTsKLQliYXNlX2J1ZiA9IHJlYWRfc2hhMV9maWxlKGVudHJ5LT5kZWx0YS0+aWR4LnNoYTEsICZ0eXBlLCAmYmFzZV9zaXplKTsKKwkJZGllKCJ1bmFibGUgdG8gcmVhZCAlcyIsIG9pZF90b19oZXgoJmVudHJ5LT5pZHgub2lkKSk7CisJYmFzZV9idWYgPSByZWFkX3NoYTFfZmlsZShlbnRyeS0+ZGVsdGEtPmlkeC5vaWQuaGFzaCwgJnR5cGUsCisJCQkJICAmYmFzZV9zaXplKTsKIAlpZiAoIWJhc2VfYnVmKQotCQlkaWUoInVuYWJsZSB0byByZWFkICVzIiwgc2hhMV90b19oZXgoZW50cnktPmRlbHRhLT5pZHguc2hhMSkpOworCQlkaWUoInVuYWJsZSB0byByZWFkICVzIiwKKwkJICAgIG9pZF90b19oZXgoJmVudHJ5LT5kZWx0YS0+aWR4Lm9pZCkpOwogCWRlbHRhX2J1ZiA9IGRpZmZfZGVsdGEoYmFzZV9idWYsIGJhc2Vfc2l6ZSwKIAkJCSAgICAgICBidWYsIHNpemUsICZkZWx0YV9zaXplLCAwKTsKIAlpZiAoIWRlbHRhX2J1ZiB8fCBkZWx0YV9zaXplICE9IGVudHJ5LT5kZWx0YV9zaXplKQpAQCAtMjM5LDcgKzI0Myw4IEBACiAJCQkJCSAgIHVuc2lnbmVkIGxvbmcgbGltaXQsIGludCB1c2FibGVfZGVsdGEpCiB7CiAJdW5zaWduZWQgbG9uZyBzaXplLCBkYXRhbGVuOwotCXVuc2lnbmVkIGNoYXIgaGVhZGVyWzEwXSwgZGhlYWRlclsxMF07CisJdW5zaWduZWQgY2hhciBoZWFkZXJbTUFYX1BBQ0tfT0JKRUNUX0hFQURFUl0sCisJCSAgICAgIGRoZWFkZXJbTUFYX1BBQ0tfT0JKRUNUX0hFQURFUl07CiAJdW5zaWduZWQgaGRybGVuOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAl2b2lkICpidWY7CkBAIC0yNDgsMTkgKzI1MywyMCBAQAogCWlmICghdXNhYmxlX2RlbHRhKSB7CiAJCWlmIChlbnRyeS0+dHlwZSA9PSBPQkpfQkxPQiAmJgogCQkgICAgZW50cnktPnNpemUgPiBiaWdfZmlsZV90aHJlc2hvbGQgJiYKLQkJICAgIChzdCA9IG9wZW5faXN0cmVhbShlbnRyeS0+aWR4LnNoYTEsICZ0eXBlLCAmc2l6ZSwgTlVMTCkpICE9IE5VTEwpCisJCSAgICAoc3QgPSBvcGVuX2lzdHJlYW0oZW50cnktPmlkeC5vaWQuaGFzaCwgJnR5cGUsICZzaXplLCBOVUxMKSkgIT0gTlVMTCkKIAkJCWJ1ZiA9IE5VTEw7CiAJCWVsc2UgewotCQkJYnVmID0gcmVhZF9zaGExX2ZpbGUoZW50cnktPmlkeC5zaGExLCAmdHlwZSwgJnNpemUpOworCQkJYnVmID0gcmVhZF9zaGExX2ZpbGUoZW50cnktPmlkeC5vaWQuaGFzaCwgJnR5cGUsCisJCQkJCSAgICAgJnNpemUpOwogCQkJaWYgKCFidWYpCi0JCQkJZGllKF8oInVuYWJsZSB0byByZWFkICVzIiksIHNoYTFfdG9faGV4KGVudHJ5LT5pZHguc2hhMSkpOworCQkJCWRpZShfKCJ1bmFibGUgdG8gcmVhZCAlcyIpLAorCQkJCSAgICBvaWRfdG9faGV4KCZlbnRyeS0+aWR4Lm9pZCkpOwogCQl9CiAJCS8qCiAJCSAqIG1ha2Ugc3VyZSBubyBjYWNoZWQgZGVsdGEgZGF0YSByZW1haW5zIGZyb20gYQogCQkgKiBwcmV2aW91cyBhdHRlbXB0IGJlZm9yZSBhIHBhY2sgc3BsaXQgb2NjdXJyZWQuCiAJCSAqLwotCQlmcmVlKGVudHJ5LT5kZWx0YV9kYXRhKTsKLQkJZW50cnktPmRlbHRhX2RhdGEgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKGVudHJ5LT5kZWx0YV9kYXRhKTsKIAkJZW50cnktPnpfZGVsdGFfc2l6ZSA9IDA7CiAJfSBlbHNlIGlmIChlbnRyeS0+ZGVsdGFfZGF0YSkgewogCQlzaXplID0gZW50cnktPmRlbHRhX3NpemU7CkBAIC0yODYsNyArMjkyLDggQEAKIAkgKiBUaGUgb2JqZWN0IGhlYWRlciBpcyBhIGJ5dGUgb2YgJ3R5cGUnIGZvbGxvd2VkIGJ5IHplcm8gb3IKIAkgKiBtb3JlIGJ5dGVzIG9mIGxlbmd0aC4KIAkgKi8KLQloZHJsZW4gPSBlbmNvZGVfaW5fcGFja19vYmplY3RfaGVhZGVyKHR5cGUsIHNpemUsIGhlYWRlcik7CisJaGRybGVuID0gZW5jb2RlX2luX3BhY2tfb2JqZWN0X2hlYWRlcihoZWFkZXIsIHNpemVvZihoZWFkZXIpLAorCQkJCQkgICAgICB0eXBlLCBzaXplKTsKIAogCWlmICh0eXBlID09IE9CSl9PRlNfREVMVEEpIHsKIAkJLyoKQEAgLTMyMCw3ICszMjcsNyBAQAogCQkJcmV0dXJuIDA7CiAJCX0KIAkJc2hhMXdyaXRlKGYsIGhlYWRlciwgaGRybGVuKTsKLQkJc2hhMXdyaXRlKGYsIGVudHJ5LT5kZWx0YS0+aWR4LnNoYTEsIDIwKTsKKwkJc2hhMXdyaXRlKGYsIGVudHJ5LT5kZWx0YS0+aWR4Lm9pZC5oYXNoLCAyMCk7CiAJCWhkcmxlbiArPSAyMDsKIAl9IGVsc2UgewogCQlpZiAobGltaXQgJiYgaGRybGVuICsgZGF0YWxlbiArIDIwID49IGxpbWl0KSB7CkBAIC0zMzIsNyArMzM5LDcgQEAKIAkJc2hhMXdyaXRlKGYsIGhlYWRlciwgaGRybGVuKTsKIAl9CiAJaWYgKHN0KSB7Ci0JCWRhdGFsZW4gPSB3cml0ZV9sYXJnZV9ibG9iX2RhdGEoc3QsIGYsIGVudHJ5LT5pZHguc2hhMSk7CisJCWRhdGFsZW4gPSB3cml0ZV9sYXJnZV9ibG9iX2RhdGEoc3QsIGYsIGVudHJ5LT5pZHgub2lkLmhhc2gpOwogCQljbG9zZV9pc3RyZWFtKHN0KTsKIAl9IGVsc2UgewogCQlzaGExd3JpdGUoZiwgYnVmLCBkYXRhbGVuKTsKQEAgLTM1MiwyMCArMzU5LDIzIEBACiAJb2ZmX3Qgb2Zmc2V0OwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IGVudHJ5LT50eXBlOwogCW9mZl90IGRhdGFsZW47Ci0JdW5zaWduZWQgY2hhciBoZWFkZXJbMTBdLCBkaGVhZGVyWzEwXTsKKwl1bnNpZ25lZCBjaGFyIGhlYWRlcltNQVhfUEFDS19PQkpFQ1RfSEVBREVSXSwKKwkJICAgICAgZGhlYWRlcltNQVhfUEFDS19PQkpFQ1RfSEVBREVSXTsKIAl1bnNpZ25lZCBoZHJsZW47CiAKIAlpZiAoZW50cnktPmRlbHRhKQogCQl0eXBlID0gKGFsbG93X29mc19kZWx0YSAmJiBlbnRyeS0+ZGVsdGEtPmlkeC5vZmZzZXQpID8KIAkJCU9CSl9PRlNfREVMVEEgOiBPQkpfUkVGX0RFTFRBOwotCWhkcmxlbiA9IGVuY29kZV9pbl9wYWNrX29iamVjdF9oZWFkZXIodHlwZSwgZW50cnktPnNpemUsIGhlYWRlcik7CisJaGRybGVuID0gZW5jb2RlX2luX3BhY2tfb2JqZWN0X2hlYWRlcihoZWFkZXIsIHNpemVvZihoZWFkZXIpLAorCQkJCQkgICAgICB0eXBlLCBlbnRyeS0+c2l6ZSk7CiAKIAlvZmZzZXQgPSBlbnRyeS0+aW5fcGFja19vZmZzZXQ7CiAJcmV2aWR4ID0gZmluZF9wYWNrX3JldmluZGV4KHAsIG9mZnNldCk7CiAJZGF0YWxlbiA9IHJldmlkeFsxXS5vZmZzZXQgLSBvZmZzZXQ7CiAJaWYgKCFwYWNrX3RvX3N0ZG91dCAmJiBwLT5pbmRleF92ZXJzaW9uID4gMSAmJgogCSAgICBjaGVja19wYWNrX2NyYyhwLCAmd19jdXJzLCBvZmZzZXQsIGRhdGFsZW4sIHJldmlkeC0+bnIpKSB7Ci0JCWVycm9yKCJiYWQgcGFja2VkIG9iamVjdCBDUkMgZm9yICVzIiwgc2hhMV90b19oZXgoZW50cnktPmlkeC5zaGExKSk7CisJCWVycm9yKCJiYWQgcGFja2VkIG9iamVjdCBDUkMgZm9yICVzIiwKKwkJICAgICAgb2lkX3RvX2hleCgmZW50cnktPmlkeC5vaWQpKTsKIAkJdW51c2VfcGFjaygmd19jdXJzKTsKIAkJcmV0dXJuIHdyaXRlX25vX3JldXNlX29iamVjdChmLCBlbnRyeSwgbGltaXQsIHVzYWJsZV9kZWx0YSk7CiAJfQpAQCAtMzc1LDcgKzM4NSw4IEBACiAKIAlpZiAoIXBhY2tfdG9fc3Rkb3V0ICYmIHAtPmluZGV4X3ZlcnNpb24gPT0gMSAmJgogCSAgICBjaGVja19wYWNrX2luZmxhdGUocCwgJndfY3Vycywgb2Zmc2V0LCBkYXRhbGVuLCBlbnRyeS0+c2l6ZSkpIHsKLQkJZXJyb3IoImNvcnJ1cHQgcGFja2VkIG9iamVjdCBmb3IgJXMiLCBzaGExX3RvX2hleChlbnRyeS0+aWR4LnNoYTEpKTsKKwkJZXJyb3IoImNvcnJ1cHQgcGFja2VkIG9iamVjdCBmb3IgJXMiLAorCQkgICAgICBvaWRfdG9faGV4KCZlbnRyeS0+aWR4Lm9pZCkpOwogCQl1bnVzZV9wYWNrKCZ3X2N1cnMpOwogCQlyZXR1cm4gd3JpdGVfbm9fcmV1c2Vfb2JqZWN0KGYsIGVudHJ5LCBsaW1pdCwgdXNhYmxlX2RlbHRhKTsKIAl9CkBAIC00MDAsNyArNDExLDcgQEAKIAkJCXJldHVybiAwOwogCQl9CiAJCXNoYTF3cml0ZShmLCBoZWFkZXIsIGhkcmxlbik7Ci0JCXNoYTF3cml0ZShmLCBlbnRyeS0+ZGVsdGEtPmlkeC5zaGExLCAyMCk7CisJCXNoYTF3cml0ZShmLCBlbnRyeS0+ZGVsdGEtPmlkeC5vaWQuaGFzaCwgMjApOwogCQloZHJsZW4gKz0gMjA7CiAJCXJldXNlZF9kZWx0YSsrOwogCX0gZWxzZSB7CkBAIC01MDUsNyArNTE2LDcgQEAKIAlyZWN1cnNpbmcgPSAoZS0+aWR4Lm9mZnNldCA9PSAxKTsKIAlpZiAocmVjdXJzaW5nKSB7CiAJCXdhcm5pbmcoInJlY3Vyc2l2ZSBkZWx0YSBkZXRlY3RlZCBmb3Igb2JqZWN0ICVzIiwKLQkJCXNoYTFfdG9faGV4KGUtPmlkeC5zaGExKSk7CisJCQlvaWRfdG9faGV4KCZlLT5pZHgub2lkKSk7CiAJCXJldHVybiBXUklURV9PTkVfUkVDVVJTSVZFOwogCX0gZWxzZSBpZiAoZS0+aWR4Lm9mZnNldCB8fCBlLT5wcmVmZXJyZWRfYmFzZSkgewogCQkvKiBvZmZzZXQgaXMgbm9uIHplcm8gaWYgb2JqZWN0IGlzIHdyaXR0ZW4gYWxyZWFkeS4gKi8KQEAgLTg5NCwyNCArOTA1LDE1IEBACiAJCQl3cml0dGVuLCBucl9yZXN1bHQpOwogfQogCi1zdGF0aWMgdm9pZCBzZXR1cF9kZWx0YV9hdHRyX2NoZWNrKHN0cnVjdCBnaXRfYXR0cl9jaGVjayAqY2hlY2spCi17Ci0Jc3RhdGljIHN0cnVjdCBnaXRfYXR0ciAqYXR0cl9kZWx0YTsKLQotCWlmICghYXR0cl9kZWx0YSkKLQkJYXR0cl9kZWx0YSA9IGdpdF9hdHRyKCJkZWx0YSIpOwotCi0JY2hlY2tbMF0uYXR0ciA9IGF0dHJfZGVsdGE7Ci19Ci0KIHN0YXRpYyBpbnQgbm9fdHJ5X2RlbHRhKGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0Jc3RydWN0IGdpdF9hdHRyX2NoZWNrIGNoZWNrWzFdOworCXN0YXRpYyBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2s7CiAKLQlzZXR1cF9kZWx0YV9hdHRyX2NoZWNrKGNoZWNrKTsKLQlpZiAoZ2l0X2NoZWNrX2F0dHIocGF0aCwgQVJSQVlfU0laRShjaGVjayksIGNoZWNrKSkKKwlpZiAoIWNoZWNrKQorCQljaGVjayA9IGF0dHJfY2hlY2tfaW5pdGwoImRlbHRhIiwgTlVMTCk7CisJaWYgKGdpdF9jaGVja19hdHRyKHBhdGgsIGNoZWNrKSkKIAkJcmV0dXJuIDA7Ci0JaWYgKEFUVFJfRkFMU0UoY2hlY2stPnZhbHVlKSkKKwlpZiAoQVRUUl9GQUxTRShjaGVjay0+aXRlbXNbMF0udmFsdWUpKQogCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKIH0KQEAgLTEwMTAsNyArMTAxMiw3IEBACiAJCQlyZXR1cm4gd2FudDsKIAl9CiAKLQlmb3IgKGVudHJ5ID0gcGFja2VkX2dpdF9tcnUtPmhlYWQ7IGVudHJ5OyBlbnRyeSA9IGVudHJ5LT5uZXh0KSB7CisJZm9yIChlbnRyeSA9IHBhY2tlZF9naXRfbXJ1LmhlYWQ7IGVudHJ5OyBlbnRyeSA9IGVudHJ5LT5uZXh0KSB7CiAJCXN0cnVjdCBwYWNrZWRfZ2l0ICpwID0gZW50cnktPml0ZW07CiAJCW9mZl90IG9mZnNldDsKIApAQCAtMTAyOCw3ICsxMDMwLDcgQEAKIAkJCX0KIAkJCXdhbnQgPSB3YW50X2ZvdW5kX29iamVjdChleGNsdWRlLCBwKTsKIAkJCWlmICghZXhjbHVkZSAmJiB3YW50ID4gMCkKLQkJCQltcnVfbWFyayhwYWNrZWRfZ2l0X21ydSwgZW50cnkpOworCQkJCW1ydV9tYXJrKCZwYWNrZWRfZ2l0X21ydSwgZW50cnkpOwogCQkJaWYgKHdhbnQgIT0gLTEpCiAJCQkJcmV0dXJuIHdhbnQ7CiAJCX0KQEAgLTEyODgsNyArMTI5MCw3IEBACiAKIHN0YXRpYyBpbnQgY2hlY2tfcGJhc2VfcGF0aCh1bnNpZ25lZCBoYXNoKQogewotCWludCBwb3MgPSAoIWRvbmVfcGJhc2VfcGF0aHMpID8gLTEgOiBkb25lX3BiYXNlX3BhdGhfcG9zKGhhc2gpOworCWludCBwb3MgPSBkb25lX3BiYXNlX3BhdGhfcG9zKGhhc2gpOwogCWlmICgwIDw9IHBvcykKIAkJcmV0dXJuIDE7CiAJcG9zID0gLXBvcyAtIDE7CkBAIC0xMjk3LDkgKzEyOTksOCBAQAogCQkgICBkb25lX3BiYXNlX3BhdGhzX2FsbG9jKTsKIAlkb25lX3BiYXNlX3BhdGhzX251bSsrOwogCWlmIChwb3MgPCBkb25lX3BiYXNlX3BhdGhzX251bSkKLQkJbWVtbW92ZShkb25lX3BiYXNlX3BhdGhzICsgcG9zICsgMSwKLQkJCWRvbmVfcGJhc2VfcGF0aHMgKyBwb3MsCi0JCQkoZG9uZV9wYmFzZV9wYXRoc19udW0gLSBwb3MgLSAxKSAqIHNpemVvZih1bnNpZ25lZCkpOworCQlNT1ZFX0FSUkFZKGRvbmVfcGJhc2VfcGF0aHMgKyBwb3MgKyAxLCBkb25lX3BiYXNlX3BhdGhzICsgcG9zLAorCQkJICAgZG9uZV9wYmFzZV9wYXRoc19udW0gLSBwb3MgLSAxKTsKIAlkb25lX3BiYXNlX3BhdGhzW3Bvc10gPSBoYXNoOwogCXJldHVybiAwOwogfQpAQCAtMTM3NCwxMiArMTM3NSwxMCBAQAogCQlpZiAoIXBiYXNlX3RyZWVfY2FjaGVbaV0pCiAJCQljb250aW51ZTsKIAkJZnJlZShwYmFzZV90cmVlX2NhY2hlW2ldLT50cmVlX2RhdGEpOwotCQlmcmVlKHBiYXNlX3RyZWVfY2FjaGVbaV0pOwotCQlwYmFzZV90cmVlX2NhY2hlW2ldID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTChwYmFzZV90cmVlX2NhY2hlW2ldKTsKIAl9CiAKLQlmcmVlKGRvbmVfcGJhc2VfcGF0aHMpOwotCWRvbmVfcGJhc2VfcGF0aHMgPSBOVUxMOworCUZSRUVfQU5EX05VTEwoZG9uZV9wYmFzZV9wYXRocyk7CiAJZG9uZV9wYmFzZV9wYXRoc19udW0gPSBkb25lX3BiYXNlX3BhdGhzX2FsbG9jID0gMDsKIH0KIApAQCAtMTQzNyw3ICsxNDM2LDcgQEAKIAkJCQlvZnMgKz0gMTsKIAkJCQlpZiAoIW9mcyB8fCBNU0Iob2ZzLCA3KSkgewogCQkJCQllcnJvcigiZGVsdGEgYmFzZSBvZmZzZXQgb3ZlcmZsb3cgaW4gcGFjayBmb3IgJXMiLAotCQkJCQkgICAgICBzaGExX3RvX2hleChlbnRyeS0+aWR4LnNoYTEpKTsKKwkJCQkJICAgICAgb2lkX3RvX2hleCgmZW50cnktPmlkeC5vaWQpKTsKIAkJCQkJZ290byBnaXZlX3VwOwogCQkJCX0KIAkJCQljID0gYnVmW3VzZWRfMCsrXTsKQEAgLTE0NDYsNyArMTQ0NSw3IEBACiAJCQlvZnMgPSBlbnRyeS0+aW5fcGFja19vZmZzZXQgLSBvZnM7CiAJCQlpZiAob2ZzIDw9IDAgfHwgb2ZzID49IGVudHJ5LT5pbl9wYWNrX29mZnNldCkgewogCQkJCWVycm9yKCJkZWx0YSBiYXNlIG9mZnNldCBvdXQgb2YgYm91bmQgZm9yICVzIiwKLQkJCQkgICAgICBzaGExX3RvX2hleChlbnRyeS0+aWR4LnNoYTEpKTsKKwkJCQkgICAgICBvaWRfdG9faGV4KCZlbnRyeS0+aWR4Lm9pZCkpOwogCQkJCWdvdG8gZ2l2ZV91cDsKIAkJCX0KIAkJCWlmIChyZXVzZV9kZWx0YSAmJiAhZW50cnktPnByZWZlcnJlZF9iYXNlKSB7CkBAIC0xNTAzLDcgKzE1MDIsNyBAQAogCQl1bnVzZV9wYWNrKCZ3X2N1cnMpOwogCX0KIAotCWVudHJ5LT50eXBlID0gc2hhMV9vYmplY3RfaW5mbyhlbnRyeS0+aWR4LnNoYTEsICZlbnRyeS0+c2l6ZSk7CisJZW50cnktPnR5cGUgPSBzaGExX29iamVjdF9pbmZvKGVudHJ5LT5pZHgub2lkLmhhc2gsICZlbnRyeS0+c2l6ZSk7CiAJLyoKIAkgKiBUaGUgZXJyb3IgY29uZGl0aW9uIGlzIGNoZWNrZWQgaW4gcHJlcGFyZV9wYWNrKCkuICBUaGlzIGlzCiAJICogdG8gcGVybWl0IGEgbWlzc2luZyBwcmVmZXJyZWQgYmFzZSBvYmplY3QgdG8gYmUgaWdub3JlZApAQCAtMTUxOSw3ICsxNTE4LDcgQEAKIAogCS8qIGF2b2lkIGZpbGVzeXN0ZW0gdHJhc2hpbmcgd2l0aCBsb29zZSBvYmplY3RzICovCiAJaWYgKCFhLT5pbl9wYWNrICYmICFiLT5pbl9wYWNrKQotCQlyZXR1cm4gaGFzaGNtcChhLT5pZHguc2hhMSwgYi0+aWR4LnNoYTEpOworCQlyZXR1cm4gb2lkY21wKCZhLT5pZHgub2lkLCAmYi0+aWR4Lm9pZCk7CiAKIAlpZiAoYS0+aW5fcGFjayA8IGItPmluX3BhY2spCiAJCXJldHVybiAtMTsKQEAgLTE1NjUsNyArMTU2NCw4IEBACiAJCSAqIEFuZCBpZiB0aGF0IGZhaWxzLCB0aGUgZXJyb3Igd2lsbCBiZSByZWNvcmRlZCBpbiBlbnRyeS0+dHlwZQogCQkgKiBhbmQgZGVhbHQgd2l0aCBpbiBwcmVwYXJlX3BhY2soKS4KIAkJICovCi0JCWVudHJ5LT50eXBlID0gc2hhMV9vYmplY3RfaW5mbyhlbnRyeS0+aWR4LnNoYTEsICZlbnRyeS0+c2l6ZSk7CisJCWVudHJ5LT50eXBlID0gc2hhMV9vYmplY3RfaW5mbyhlbnRyeS0+aWR4Lm9pZC5oYXNoLAorCQkJCQkgICAgICAgJmVudHJ5LT5zaXplKTsKIAl9CiB9CiAKQEAgLTE4NTcsMjYgKzE4NTcsMjkgQEAKIAkvKiBMb2FkIGRhdGEgaWYgbm90IGFscmVhZHkgZG9uZSAqLwogCWlmICghdHJnLT5kYXRhKSB7CiAJCXJlYWRfbG9jaygpOwotCQl0cmctPmRhdGEgPSByZWFkX3NoYTFfZmlsZSh0cmdfZW50cnktPmlkeC5zaGExLCAmdHlwZSwgJnN6KTsKKwkJdHJnLT5kYXRhID0gcmVhZF9zaGExX2ZpbGUodHJnX2VudHJ5LT5pZHgub2lkLmhhc2gsICZ0eXBlLAorCQkJCQkgICAmc3opOwogCQlyZWFkX3VubG9jaygpOwogCQlpZiAoIXRyZy0+ZGF0YSkKIAkJCWRpZSgib2JqZWN0ICVzIGNhbm5vdCBiZSByZWFkIiwKLQkJCSAgICBzaGExX3RvX2hleCh0cmdfZW50cnktPmlkeC5zaGExKSk7CisJCQkgICAgb2lkX3RvX2hleCgmdHJnX2VudHJ5LT5pZHgub2lkKSk7CiAJCWlmIChzeiAhPSB0cmdfc2l6ZSkKIAkJCWRpZSgib2JqZWN0ICVzIGluY29uc2lzdGVudCBvYmplY3QgbGVuZ3RoICglbHUgdnMgJWx1KSIsCi0JCQkgICAgc2hhMV90b19oZXgodHJnX2VudHJ5LT5pZHguc2hhMSksIHN6LCB0cmdfc2l6ZSk7CisJCQkgICAgb2lkX3RvX2hleCgmdHJnX2VudHJ5LT5pZHgub2lkKSwgc3osCisJCQkgICAgdHJnX3NpemUpOwogCQkqbWVtX3VzYWdlICs9IHN6OwogCX0KIAlpZiAoIXNyYy0+ZGF0YSkgewogCQlyZWFkX2xvY2soKTsKLQkJc3JjLT5kYXRhID0gcmVhZF9zaGExX2ZpbGUoc3JjX2VudHJ5LT5pZHguc2hhMSwgJnR5cGUsICZzeik7CisJCXNyYy0+ZGF0YSA9IHJlYWRfc2hhMV9maWxlKHNyY19lbnRyeS0+aWR4Lm9pZC5oYXNoLCAmdHlwZSwKKwkJCQkJICAgJnN6KTsKIAkJcmVhZF91bmxvY2soKTsKIAkJaWYgKCFzcmMtPmRhdGEpIHsKIAkJCWlmIChzcmNfZW50cnktPnByZWZlcnJlZF9iYXNlKSB7CiAJCQkJc3RhdGljIGludCB3YXJuZWQgPSAwOwogCQkJCWlmICghd2FybmVkKyspCiAJCQkJCXdhcm5pbmcoIm9iamVjdCAlcyBjYW5ub3QgYmUgcmVhZCIsCi0JCQkJCQlzaGExX3RvX2hleChzcmNfZW50cnktPmlkeC5zaGExKSk7CisJCQkJCQlvaWRfdG9faGV4KCZzcmNfZW50cnktPmlkeC5vaWQpKTsKIAkJCQkvKgogCQkJCSAqIFRob3NlIG9iamVjdHMgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUKIAkJCQkgKiByZXN1bHRpbmcgcGFjay4gIEJlIHJlc2lsaWVudCBhbmQgaWdub3JlCkBAIC0xODg2LDExICsxODg5LDEyIEBACiAJCQkJcmV0dXJuIDA7CiAJCQl9CiAJCQlkaWUoIm9iamVjdCAlcyBjYW5ub3QgYmUgcmVhZCIsCi0JCQkgICAgc2hhMV90b19oZXgoc3JjX2VudHJ5LT5pZHguc2hhMSkpOworCQkJICAgIG9pZF90b19oZXgoJnNyY19lbnRyeS0+aWR4Lm9pZCkpOwogCQl9CiAJCWlmIChzeiAhPSBzcmNfc2l6ZSkKIAkJCWRpZSgib2JqZWN0ICVzIGluY29uc2lzdGVudCBvYmplY3QgbGVuZ3RoICglbHUgdnMgJWx1KSIsCi0JCQkgICAgc2hhMV90b19oZXgoc3JjX2VudHJ5LT5pZHguc2hhMSksIHN6LCBzcmNfc2l6ZSk7CisJCQkgICAgb2lkX3RvX2hleCgmc3JjX2VudHJ5LT5pZHgub2lkKSwgc3osCisJCQkgICAgc3JjX3NpemUpOwogCQkqbWVtX3VzYWdlICs9IHN6OwogCX0KIAlpZiAoIXNyYy0+aW5kZXgpIHsKQEAgLTE5NjQsOCArMTk2OCw3IEBACiAJbi0+aW5kZXggPSBOVUxMOwogCWlmIChuLT5kYXRhKSB7CiAJCWZyZWVkX21lbSArPSBuLT5lbnRyeS0+c2l6ZTsKLQkJZnJlZShuLT5kYXRhKTsKLQkJbi0+ZGF0YSA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwobi0+ZGF0YSk7CiAJfQogCW4tPmVudHJ5ID0gTlVMTDsKIAluLT5kZXB0aCA9IDA7CkBAIC0yMTY4LDcgKzIxNzEsMTAgQEAKIHsKIAlzdHJ1Y3QgdGhyZWFkX3BhcmFtcyAqbWUgPSBhcmc7CiAKKwlwcm9ncmVzc19sb2NrKCk7CiAJd2hpbGUgKG1lLT5yZW1haW5pbmcpIHsKKwkJcHJvZ3Jlc3NfdW5sb2NrKCk7CisKIAkJZmluZF9kZWx0YXMobWUtPmxpc3QsICZtZS0+cmVtYWluaW5nLAogCQkJICAgIG1lLT53aW5kb3csIG1lLT5kZXB0aCwgbWUtPnByb2Nlc3NlZCk7CiAKQEAgLTIxOTAsNyArMjE5NiwxMCBAQAogCQkJcHRocmVhZF9jb25kX3dhaXQoJm1lLT5jb25kLCAmbWUtPm11dGV4KTsKIAkJbWUtPmRhdGFfcmVhZHkgPSAwOwogCQlwdGhyZWFkX211dGV4X3VubG9jaygmbWUtPm11dGV4KTsKKworCQlwcm9ncmVzc19sb2NrKCk7CiAJfQorCXByb2dyZXNzX3VubG9jaygpOwogCS8qIGxlYXZlIC0+d29ya2luZyAxIHNvIHRoYXQgdGhpcyBkb2Vzbid0IGdldCBtb3JlIHdvcmsgYXNzaWduZWQgKi8KIAlyZXR1cm4gTlVMTDsKIH0KQEAgLTIzNDIsNyArMjM1MSw3IEBACiAJaWYgKHBhY2tsaXN0X2ZpbmQoJnRvX3BhY2ssIG9pZC0+aGFzaCwgTlVMTCkpCiAJCXJldHVybjsKIAotCXRhZyA9IGxvb2t1cF90YWcob2lkLT5oYXNoKTsKKwl0YWcgPSBsb29rdXBfdGFnKG9pZCk7CiAJd2hpbGUgKDEpIHsKIAkJaWYgKCF0YWcgfHwgcGFyc2VfdGFnKHRhZykgfHwgIXRhZy0+dGFnZ2VkKQogCQkJZGllKCJ1bmFibGUgdG8gcGFjayBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIHRhZyAlcyIsCkBAIC0yNDExLDcgKzI0MjAsNyBAQAogCQkJbnJfZGVsdGFzKys7CiAJCQlpZiAoZW50cnktPnR5cGUgPCAwKQogCQkJCWRpZSgidW5hYmxlIHRvIGdldCB0eXBlIG9mIG9iamVjdCAlcyIsCi0JCQkJICAgIHNoYTFfdG9faGV4KGVudHJ5LT5pZHguc2hhMSkpOworCQkJCSAgICBvaWRfdG9faGV4KCZlbnRyeS0+aWR4Lm9pZCkpOwogCQl9IGVsc2UgewogCQkJaWYgKGVudHJ5LT50eXBlIDwgMCkgewogCQkJCS8qCkBAIC0yNDc3LDggKzI0ODYsMTAgQEAKIAkJCWRpZSgiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIsCiAJCQkgICAgZGVsdGFfc2VhcmNoX3RocmVhZHMpOwogI2lmZGVmIE5PX1BUSFJFQURTCi0JCWlmIChkZWx0YV9zZWFyY2hfdGhyZWFkcyAhPSAxKQorCQlpZiAoZGVsdGFfc2VhcmNoX3RocmVhZHMgIT0gMSkgewogCQkJd2FybmluZygibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIsIGspOworCQkJZGVsdGFfc2VhcmNoX3RocmVhZHMgPSAwOworCQl9CiAjZW5kaWYKIAkJcmV0dXJuIDA7CiAJfQpAQCAtMjU1Miw4ICsyNTYzLDggQEAKIH07CiAKIHN0cnVjdCBpbl9wYWNrIHsKLQlpbnQgYWxsb2M7Ci0JaW50IG5yOworCXVuc2lnbmVkIGludCBhbGxvYzsKKwl1bnNpZ25lZCBpbnQgbnI7CiAJc3RydWN0IGluX3BhY2tfb2JqZWN0ICphcnJheTsKIH07CiAKQEAgLTI2MjEsMTcgKzI2MzIsMTcgQEAKIAlmcmVlKGluX3BhY2suYXJyYXkpOwogfQogCi1zdGF0aWMgaW50IGFkZF9sb29zZV9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqcGF0aCwKK3N0YXRpYyBpbnQgYWRkX2xvb3NlX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkgICAgdm9pZCAqZGF0YSkKIHsKLQllbnVtIG9iamVjdF90eXBlIHR5cGUgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOworCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8ob2lkLT5oYXNoLCBOVUxMKTsKIAogCWlmICh0eXBlIDwgMCkgewogCQl3YXJuaW5nKCJsb29zZSBvYmplY3QgYXQgJXMgY291bGQgbm90IGJlIGV4YW1pbmVkIiwgcGF0aCk7CiAJCXJldHVybiAwOwogCX0KIAotCWFkZF9vYmplY3RfZW50cnkoc2hhMSwgdHlwZSwgIiIsIDApOworCWFkZF9vYmplY3RfZW50cnkob2lkLT5oYXNoLCB0eXBlLCAiIiwgMCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI2NzcsMTYgKzI2ODgsMTYgQEAKICAqCiAgKiBUaGlzIGlzIGZpbGxlZCBieSBnZXRfb2JqZWN0X2xpc3QuCiAgKi8KLXN0YXRpYyBzdHJ1Y3Qgc2hhMV9hcnJheSByZWNlbnRfb2JqZWN0czsKK3N0YXRpYyBzdHJ1Y3Qgb2lkX2FycmF5IHJlY2VudF9vYmplY3RzOwogCi1zdGF0aWMgaW50IGxvb3NlbmVkX29iamVjdF9jYW5fYmVfZGlzY2FyZGVkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkJCSAgICB1bnNpZ25lZCBsb25nIG10aW1lKQorc3RhdGljIGludCBsb29zZW5lZF9vYmplY3RfY2FuX2JlX2Rpc2NhcmRlZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJCSAgICB0aW1lc3RhbXBfdCBtdGltZSkKIHsKIAlpZiAoIXVucGFja191bnJlYWNoYWJsZV9leHBpcmF0aW9uKQogCQlyZXR1cm4gMDsKIAlpZiAobXRpbWUgPiB1bnBhY2tfdW5yZWFjaGFibGVfZXhwaXJhdGlvbikKIAkJcmV0dXJuIDA7Ci0JaWYgKHNoYTFfYXJyYXlfbG9va3VwKCZyZWNlbnRfb2JqZWN0cywgc2hhMSkgPj0gMCkKKwlpZiAob2lkX2FycmF5X2xvb2t1cCgmcmVjZW50X29iamVjdHMsIG9pZCkgPj0gMCkKIAkJcmV0dXJuIDA7CiAJcmV0dXJuIDE7CiB9CkBAIC0yNjk1LDcgKzI3MDYsNyBAQAogewogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCXVpbnQzMl90IGk7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KSB7CiAJCWlmICghcC0+cGFja19sb2NhbCB8fCBwLT5wYWNrX2tlZXApCkBAIC0yNzA1LDExICsyNzE2LDExIEBACiAJCQlkaWUoImNhbm5vdCBvcGVuIHBhY2sgaW5kZXgiKTsKIAogCQlmb3IgKGkgPSAwOyBpIDwgcC0+bnVtX29iamVjdHM7IGkrKykgewotCQkJc2hhMSA9IG50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgaSk7Ci0JCQlpZiAoIXBhY2tsaXN0X2ZpbmQoJnRvX3BhY2ssIHNoYTEsIE5VTEwpICYmCi0JCQkgICAgIWhhc19zaGExX3BhY2tfa2VwdF9vcl9ub25sb2NhbChzaGExKSAmJgotCQkJICAgICFsb29zZW5lZF9vYmplY3RfY2FuX2JlX2Rpc2NhcmRlZChzaGExLCBwLT5tdGltZSkpCi0JCQkJaWYgKGZvcmNlX29iamVjdF9sb29zZShzaGExLCBwLT5tdGltZSkpCisJCQludGhfcGFja2VkX29iamVjdF9vaWQoJm9pZCwgcCwgaSk7CisJCQlpZiAoIXBhY2tsaXN0X2ZpbmQoJnRvX3BhY2ssIG9pZC5oYXNoLCBOVUxMKSAmJgorCQkJICAgICFoYXNfc2hhMV9wYWNrX2tlcHRfb3Jfbm9ubG9jYWwob2lkLmhhc2gpICYmCisJCQkgICAgIWxvb3NlbmVkX29iamVjdF9jYW5fYmVfZGlzY2FyZGVkKCZvaWQsIHAtPm10aW1lKSkKKwkJCQlpZiAoZm9yY2Vfb2JqZWN0X2xvb3NlKG9pZC5oYXNoLCBwLT5tdGltZSkpCiAJCQkJCWRpZSgidW5hYmxlIHRvIGZvcmNlIGxvb3NlIG9iamVjdCIpOwogCQl9CiAJfQpAQCAtMjcyMiw3ICsyNzMzLDExIEBACiAgKi8KIHN0YXRpYyBpbnQgcGFja19vcHRpb25zX2FsbG93X3JldXNlKHZvaWQpCiB7Ci0JcmV0dXJuIHBhY2tfdG9fc3Rkb3V0ICYmIGFsbG93X29mc19kZWx0YTsKKwlyZXR1cm4gcGFja190b19zdGRvdXQgJiYKKwkgICAgICAgYWxsb3dfb2ZzX2RlbHRhICYmCisJICAgICAgICFpZ25vcmVfcGFja2VkX2tlZXAgJiYKKwkgICAgICAgKCFsb2NhbCB8fCAhaGF2ZV9ub25fbG9jYWxfcGFja3MpICYmCisJICAgICAgICFpbmNyZW1lbnRhbDsKIH0KIAogc3RhdGljIGludCBnZXRfb2JqZWN0X2xpc3RfZnJvbV9iaXRtYXAoc3RydWN0IHJldl9pbmZvICpyZXZzKQpAQCAtMjc0OCwxMiArMjc2MywxMiBAQAogCQkJCSBjb25zdCBjaGFyICpuYW1lLAogCQkJCSB2b2lkICpkYXRhKQogewotCXNoYTFfYXJyYXlfYXBwZW5kKCZyZWNlbnRfb2JqZWN0cywgb2JqLT5vaWQuaGFzaCk7CisJb2lkX2FycmF5X2FwcGVuZCgmcmVjZW50X29iamVjdHMsICZvYmotPm9pZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJlY29yZF9yZWNlbnRfY29tbWl0KHN0cnVjdCBjb21taXQgKmNvbW1pdCwgdm9pZCAqZGF0YSkKIHsKLQlzaGExX2FycmF5X2FwcGVuZCgmcmVjZW50X29iamVjdHMsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwlvaWRfYXJyYXlfYXBwZW5kKCZyZWNlbnRfb2JqZWN0cywgJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiB9CiAKIHN0YXRpYyB2b2lkIGdldF9vYmplY3RfbGlzdChpbnQgYWMsIGNvbnN0IGNoYXIgKiphdikKQEAgLTI3ODIsMTAgKzI3OTcsMTAgQEAKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJCWlmIChzdGFydHNfd2l0aChsaW5lLCAiLS1zaGFsbG93ICIpKSB7Ci0JCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQkJCQlpZiAoZ2V0X3NoYTFfaGV4KGxpbmUgKyAxMCwgc2hhMSkpCisJCQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJCQkJaWYgKGdldF9vaWRfaGV4KGxpbmUgKyAxMCwgJm9pZCkpCiAJCQkJCWRpZSgibm90IGFuIFNIQS0xICclcyciLCBsaW5lICsgMTApOwotCQkJCXJlZ2lzdGVyX3NoYWxsb3coc2hhMSk7CisJCQkJcmVnaXN0ZXJfc2hhbGxvdygmb2lkKTsKIAkJCQl1c2VfYml0bWFwX2luZGV4ID0gMDsKIAkJCQljb250aW51ZTsKIAkJCX0KQEAgLTI4MjEsNyArMjgzNiw3IEBACiAJaWYgKHVucGFja191bnJlYWNoYWJsZSkKIAkJbG9vc2VuX3VudXNlZF9wYWNrZWRfb2JqZWN0cygmcmV2cyk7CiAKLQlzaGExX2FycmF5X2NsZWFyKCZyZWNlbnRfb2JqZWN0cyk7CisJb2lkX2FycmF5X2NsZWFyKCZyZWNlbnRfb2JqZWN0cyk7CiB9CiAKIHN0YXRpYyBpbnQgb3B0aW9uX3BhcnNlX2luZGV4X3ZlcnNpb24oY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wYWNrLXJlZHVuZGFudC5jIGIvYnVpbHRpbi9wYWNrLXJlZHVuZGFudC5jCmluZGV4IDcyYzgxNTguLmFhYTgxMzYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcGFjay1yZWR1bmRhbnQuYworKysgYi9idWlsdGluL3BhY2stcmVkdW5kYW50LmMKQEAgLTcsNiArNyw3IEBACiAqLwogCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKICNkZWZpbmUgQkxLU0laRSA1MTIKIApAQCAtNDQyLDYgKzQ0Myw3IEBACiAJLyogcmV0dXJuIGlmIHRoZXJlIGFyZSBubyBvYmplY3RzIG1pc3NpbmcgZnJvbSB0aGUgdW5pcXVlIHNldCAqLwogCWlmIChtaXNzaW5nLT5zaXplID09IDApIHsKIAkJKm1pbiA9IHVuaXF1ZTsKKwkJZnJlZShtaXNzaW5nKTsKIAkJcmV0dXJuOwogCX0KIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wYWNrLXJlZnMuYyBiL2J1aWx0aW4vcGFjay1yZWZzLmMKaW5kZXggMzlmOWE1NS4uYjEwNmEzOSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wYWNrLXJlZnMuYworKysgYi9idWlsdGluL3BhY2stcmVmcy5jCkBAIC0xNyw1ICsxNyw1IEBACiAJfTsKIAlpZiAocGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdHMsIHBhY2tfcmVmc191c2FnZSwgMCkpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhwYWNrX3JlZnNfdXNhZ2UsIG9wdHMpOwotCXJldHVybiBwYWNrX3JlZnMoZmxhZ3MpOworCXJldHVybiByZWZzX3BhY2tfcmVmcyhnZXRfbWFpbl9yZWZfc3RvcmUoKSwgZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wYXRjaC1pZC5jIGIvYnVpbHRpbi9wYXRjaC1pZC5jCmluZGV4IGE4NGQwMDAuLjk3MGQwZDMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcGF0Y2gtaWQuYworKysgYi9idWlsdGluL3BhdGNoLWlkLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogCiBzdGF0aWMgdm9pZCBmbHVzaF9jdXJyZW50X2lkKGludCBwYXRjaGxlbiwgc3RydWN0IG9iamVjdF9pZCAqaWQsIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCkKIHsKQEAgLTU1LDcgKzU2LDcgQEAKIAogc3RhdGljIHZvaWQgZmx1c2hfb25lX2h1bmsoc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0LCBnaXRfU0hBX0NUWCAqY3R4KQogewotCXVuc2lnbmVkIGNoYXIgaGFzaFtHSVRfU0hBMV9SQVdTWl07CisJdW5zaWduZWQgY2hhciBoYXNoW0dJVF9NQVhfUkFXU1pdOwogCXVuc2lnbmVkIHNob3J0IGNhcnJ5ID0gMDsKIAlpbnQgaTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wcnVuZS1wYWNrZWQuYyBiL2J1aWx0aW4vcHJ1bmUtcGFja2VkLmMKaW5kZXggN2NmOTAwZS4uNDE5MjM4MSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wcnVuZS1wYWNrZWQuYworKysgYi9idWlsdGluL3BydW5lLXBhY2tlZC5jCkBAIC0yLDYgKzIsNyBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAicHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBwcnVuZV9wYWNrZWRfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IHBydW5lLXBhY2tlZCBbLW4gfCAtLWRyeS1ydW5dIFstcSB8IC0tcXVpZXRdIiksCkBAIC0xMCw3ICsxMSw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzOwogCi1zdGF0aWMgaW50IHBydW5lX3N1YmRpcihpbnQgbnIsIGNvbnN0IGNoYXIgKnBhdGgsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IHBydW5lX3N1YmRpcih1bnNpZ25lZCBpbnQgbnIsIGNvbnN0IGNoYXIgKnBhdGgsIHZvaWQgKmRhdGEpCiB7CiAJaW50ICpvcHRzID0gZGF0YTsKIAlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCBuciArIDEpOwpAQCAtMTksMTIgKzIwLDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcHJ1bmVfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKnBhdGgsCitzdGF0aWMgaW50IHBydW5lX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkgdm9pZCAqZGF0YSkKIHsKIAlpbnQgKm9wdHMgPSBkYXRhOwogCi0JaWYgKCFoYXNfc2hhMV9wYWNrKHNoYTEpKQorCWlmICghaGFzX3NoYTFfcGFjayhvaWQtPmhhc2gpKQogCQlyZXR1cm4gMDsKIAogCWlmICgqb3B0cyAmIFBSVU5FX1BBQ0tFRF9EUllfUlVOKQpAQCAtMzcsOCArMzgsNyBAQAogdm9pZCBwcnVuZV9wYWNrZWRfb2JqZWN0cyhpbnQgb3B0cykKIHsKIAlpZiAob3B0cyAmIFBSVU5FX1BBQ0tFRF9WRVJCT1NFKQotCQlwcm9ncmVzcyA9IHN0YXJ0X3Byb2dyZXNzX2RlbGF5KF8oIlJlbW92aW5nIGR1cGxpY2F0ZSBvYmplY3RzIiksCi0JCQkyNTYsIDk1LCAyKTsKKwkJcHJvZ3Jlc3MgPSBzdGFydF9kZWxheWVkX3Byb2dyZXNzKF8oIlJlbW92aW5nIGR1cGxpY2F0ZSBvYmplY3RzIiksIDI1Nik7CiAKIAlmb3JfZWFjaF9sb29zZV9maWxlX2luX29iamRpcihnZXRfb2JqZWN0X2RpcmVjdG9yeSgpLAogCQkJCSAgICAgIHBydW5lX29iamVjdCwgTlVMTCwgcHJ1bmVfc3ViZGlyLCAmb3B0cyk7CmRpZmYgLS1naXQgYS9idWlsdGluL3BydW5lLmMgYi9idWlsdGluL3BydW5lLmMKaW5kZXggOGY0ZjA1Mi4uY2RkYWJmMiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wcnVuZS5jCisrKyBiL2J1aWx0aW4vcHJ1bmUuYwpAQCAtMTMsNyArMTMsNyBAQAogfTsKIHN0YXRpYyBpbnQgc2hvd19vbmx5Owogc3RhdGljIGludCB2ZXJib3NlOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgZXhwaXJlOworc3RhdGljIHRpbWVzdGFtcF90IGV4cGlyZTsKIHN0YXRpYyBpbnQgc2hvd19wcm9ncmVzcyA9IC0xOwogCiBzdGF0aWMgaW50IHBydW5lX3RtcF9maWxlKGNvbnN0IGNoYXIgKmZ1bGxwYXRoKQpAQCAtMzAsNyArMzAsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHBydW5lX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICpmdWxscGF0aCwKK3N0YXRpYyBpbnQgcHJ1bmVfb2JqZWN0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqZnVsbHBhdGgsCiAJCQl2b2lkICpkYXRhKQogewogCXN0cnVjdCBzdGF0IHN0OwpAQCAtMzksNyArMzksNyBAQAogCSAqIERvIHdlIGtub3cgYWJvdXQgdGhpcyBvYmplY3Q/CiAJICogSXQgbXVzdCBoYXZlIGJlZW4gcmVhY2hhYmxlCiAJICovCi0JaWYgKGxvb2t1cF9vYmplY3Qoc2hhMSkpCisJaWYgKGxvb2t1cF9vYmplY3Qob2lkLT5oYXNoKSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAobHN0YXQoZnVsbHBhdGgsICZzdCkpIHsKQEAgLTUwLDggKzUwLDggQEAKIAlpZiAoc3Quc3RfbXRpbWUgPiBleHBpcmUpCiAJCXJldHVybiAwOwogCWlmIChzaG93X29ubHkgfHwgdmVyYm9zZSkgewotCQllbnVtIG9iamVjdF90eXBlIHR5cGUgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOwotCQlwcmludGYoIiVzICVzXG4iLCBzaGExX3RvX2hleChzaGExKSwKKwkJZW51bSBvYmplY3RfdHlwZSB0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvaWQtPmhhc2gsIE5VTEwpOworCQlwcmludGYoIiVzICVzXG4iLCBvaWRfdG9faGV4KG9pZCksCiAJCSAgICAgICAodHlwZSA+IDApID8gdHlwZW5hbWUodHlwZSkgOiAidW5rbm93biIpOwogCX0KIAlpZiAoIXNob3dfb25seSkKQEAgLTY4LDcgKzY4LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBwcnVuZV9zdWJkaXIoaW50IG5yLCBjb25zdCBjaGFyICpwYXRoLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBwcnVuZV9zdWJkaXIodW5zaWduZWQgaW50IG5yLCBjb25zdCBjaGFyICpwYXRoLCB2b2lkICpkYXRhKQogewogCWlmICghc2hvd19vbmx5KQogCQlybWRpcihwYXRoKTsKQEAgLTExMSw3ICsxMTEsNyBAQAogCX07CiAJY2hhciAqczsKIAotCWV4cGlyZSA9IFVMT05HX01BWDsKKwlleHBpcmUgPSBUSU1FX01BWDsKIAlzYXZlX2NvbW1pdF9idWZmZXIgPSAwOwogCWNoZWNrX3JlcGxhY2VfcmVmcyA9IDA7CiAJcmVmX3BhcmFub2lhID0gMTsKQEAgLTEyMywxMSArMTIzLDEyIEBACiAJCWRpZShfKCJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iKSk7CiAKIAl3aGlsZSAoYXJnYy0tKSB7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQljb25zdCBjaGFyICpuYW1lID0gKmFyZ3YrKzsKIAotCQlpZiAoIWdldF9zaGExKG5hbWUsIHNoYTEpKSB7Ci0JCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBwYXJzZV9vYmplY3Rfb3JfZGllKHNoYTEsIG5hbWUpOworCQlpZiAoIWdldF9vaWQobmFtZSwgJm9pZCkpIHsKKwkJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IHBhcnNlX29iamVjdF9vcl9kaWUoJm9pZCwKKwkJCQkJCQkJICAgIG5hbWUpOwogCQkJYWRkX3BlbmRpbmdfb2JqZWN0KCZyZXZzLCBvYmplY3QsICIiKTsKIAkJfQogCQllbHNlCkBAIC0xMzcsNyArMTM4LDcgQEAKIAlpZiAoc2hvd19wcm9ncmVzcyA9PSAtMSkKIAkJc2hvd19wcm9ncmVzcyA9IGlzYXR0eSgyKTsKIAlpZiAoc2hvd19wcm9ncmVzcykKLQkJcHJvZ3Jlc3MgPSBzdGFydF9wcm9ncmVzc19kZWxheShfKCJDaGVja2luZyBjb25uZWN0aXZpdHkiKSwgMCwgMCwgMik7CisJCXByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcyhfKCJDaGVja2luZyBjb25uZWN0aXZpdHkiKSwgMCk7CiAKIAltYXJrX3JlYWNoYWJsZV9vYmplY3RzKCZyZXZzLCAxLCBleHBpcmUsIHByb2dyZXNzKTsKIAlzdG9wX3Byb2dyZXNzKCZwcm9ncmVzcyk7CmRpZmYgLS1naXQgYS9idWlsdGluL3B1bGwuYyBiL2J1aWx0aW4vcHVsbC5jCmluZGV4IDNlY2I4ODEuLjZmNzcyZTggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcHVsbC5jCisrKyBiL2J1aWx0aW4vcHVsbC5jCkBAIC02LDYgKzYsNyBAQAogICogRmV0Y2ggb25lIG9yIG1vcmUgcmVtb3RlIHJlZnMgYW5kIG1lcmdlIGl0L3RoZW0gaW50byB0aGUgY3VycmVudCBIRUFELgogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgImV4ZWNfY21kLmgiCkBAIC0xNSw2ICsxNiw4IEBACiAjaW5jbHVkZSAiZGlyLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgInJldmlzaW9uLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLWNvbmZpZy5oIgogI2luY2x1ZGUgInRlbXBmaWxlLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKICNpbmNsdWRlICJ3dC1zdGF0dXMuaCIKQEAgLTM2LDcgKzM5LDcgQEAKIHN0YXRpYyBlbnVtIHJlYmFzZV90eXBlIHBhcnNlX2NvbmZpZ19yZWJhc2UoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICp2YWx1ZSwKIAkJaW50IGZhdGFsKQogewotCWludCB2ID0gZ2l0X2NvbmZpZ19tYXliZV9ib29sKCJwdWxsLnJlYmFzZSIsIHZhbHVlKTsKKwlpbnQgdiA9IGdpdF9wYXJzZV9tYXliZV9ib29sKHZhbHVlKTsKIAogCWlmICghdikKIAkJcmV0dXJuIFJFQkFTRV9GQUxTRTsKQEAgLTc3LDYgKzgwLDcgQEAKIC8qIFNoYXJlZCBvcHRpb25zICovCiBzdGF0aWMgaW50IG9wdF92ZXJib3NpdHk7CiBzdGF0aWMgY2hhciAqb3B0X3Byb2dyZXNzOworc3RhdGljIGludCByZWN1cnNlX3N1Ym1vZHVsZXMgPSBSRUNVUlNFX1NVQk1PRFVMRVNfREVGQVVMVDsKIAogLyogT3B0aW9ucyBwYXNzZWQgdG8gZ2l0LW1lcmdlIG9yIGdpdC1yZWJhc2UgKi8KIHN0YXRpYyBlbnVtIHJlYmFzZV90eXBlIG9wdF9yZWJhc2UgPSAtMTsKQEAgLTEwMSw3ICsxMDUsNiBAQAogc3RhdGljIGludCBvcHRfZm9yY2U7CiBzdGF0aWMgY2hhciAqb3B0X3RhZ3M7CiBzdGF0aWMgY2hhciAqb3B0X3BydW5lOwotc3RhdGljIGNoYXIgKm9wdF9yZWN1cnNlX3N1Ym1vZHVsZXM7CiBzdGF0aWMgY2hhciAqbWF4X2NoaWxkcmVuOwogc3RhdGljIGludCBvcHRfZHJ5X3J1bjsKIHN0YXRpYyBjaGFyICpvcHRfa2VlcDsKQEAgLTExNiw2ICsxMTksMTAgQEAKIAlPUFRfUEFTU1RIUlUoMCwgInByb2dyZXNzIiwgJm9wdF9wcm9ncmVzcywgTlVMTCwKIAkJTl8oImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIpLAogCQlQQVJTRV9PUFRfTk9BUkcpLAorCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAicmVjdXJzZS1zdWJtb2R1bGVzIiwKKwkJICAgJnJlY3Vyc2Vfc3VibW9kdWxlcywgTl8oIm9uLWRlbWFuZCIpLAorCQkgICBOXygiY29udHJvbCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiKSwKKwkJICAgUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX2ZldGNoX3BhcnNlX3JlY3Vyc2Vfc3VibW9kdWxlcyB9LAogCiAJLyogT3B0aW9ucyBwYXNzZWQgdG8gZ2l0LW1lcmdlIG9yIGdpdC1yZWJhc2UgKi8KIAlPUFRfR1JPVVAoTl8oIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIikpLApAQCAtMTg3LDEwICsxOTQsNiBAQAogCU9QVF9QQVNTVEhSVSgncCcsICJwcnVuZSIsICZvcHRfcHJ1bmUsIE5VTEwsCiAJCU5fKCJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIpLAogCQlQQVJTRV9PUFRfTk9BUkcpLAotCU9QVF9QQVNTVEhSVSgwLCAicmVjdXJzZS1zdWJtb2R1bGVzIiwgJm9wdF9yZWN1cnNlX3N1Ym1vZHVsZXMsCi0JCU5fKCJvbi1kZW1hbmQiKSwKLQkJTl8oImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiKSwKLQkJUEFSU0VfT1BUX09QVEFSRyksCiAJT1BUX1BBU1NUSFJVKCdqJywgImpvYnMiLCAmbWF4X2NoaWxkcmVuLCBOXygibiIpLAogCQlOXygibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIiksCiAJCVBBUlNFX09QVF9PUFRBUkcpLApAQCAtMjcxLDcgKzI3NCw3IEBACiAJaWYgKGdpdF9jb25maWdfZ2V0X3ZhbHVlKCJwdWxsLmZmIiwgJnZhbHVlKSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlzd2l0Y2ggKGdpdF9jb25maWdfbWF5YmVfYm9vbCgicHVsbC5mZiIsIHZhbHVlKSkgeworCXN3aXRjaCAoZ2l0X3BhcnNlX21heWJlX2Jvb2wodmFsdWUpKSB7CiAJY2FzZSAwOgogCQlyZXR1cm4gIi0tbm8tZmYiOwogCWNhc2UgMToKQEAgLTMyMiw2ICszMjUsMTAgQEAKIAlpZiAoIXN0cmNtcCh2YXIsICJyZWJhc2UuYXV0b3N0YXNoIikpIHsKIAkJY29uZmlnX2F1dG9zdGFzaCA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CisJfSBlbHNlIGlmICghc3RyY21wKHZhciwgInN1Ym1vZHVsZS5yZWN1cnNlIikpIHsKKwkJcmVjdXJzZV9zdWJtb2R1bGVzID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpID8KKwkJCVJFQ1VSU0VfU1VCTU9EVUxFU19PTiA6IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkY7CisJCXJldHVybiAwOwogCX0KIAlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIH0KQEAgLTMzMCwyMSArMzM3LDIwIEBACiAgKiBBcHBlbmRzIG1lcmdlIGNhbmRpZGF0ZXMgZnJvbSBGRVRDSF9IRUFEIHRoYXQgYXJlIG5vdCBtYXJrZWQgbm90LWZvci1tZXJnZQogICogaW50byBtZXJnZV9oZWFkcy4KICAqLwotc3RhdGljIHZvaWQgZ2V0X21lcmdlX2hlYWRzKHN0cnVjdCBzaGExX2FycmF5ICptZXJnZV9oZWFkcykKK3N0YXRpYyB2b2lkIGdldF9tZXJnZV9oZWFkcyhzdHJ1Y3Qgb2lkX2FycmF5ICptZXJnZV9oZWFkcykKIHsKLQljb25zdCBjaGFyICpmaWxlbmFtZSA9IGdpdF9wYXRoKCJGRVRDSF9IRUFEIik7CisJY29uc3QgY2hhciAqZmlsZW5hbWUgPSBnaXRfcGF0aF9mZXRjaF9oZWFkKCk7CiAJRklMRSAqZnA7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwotCXVuc2lnbmVkIGNoYXIgc2hhMVtHSVRfU0hBMV9SQVdTWl07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKLQlpZiAoIShmcCA9IGZvcGVuKGZpbGVuYW1lLCAiciIpKSkKLQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciKSwgZmlsZW5hbWUpOworCWZwID0geGZvcGVuKGZpbGVuYW1lLCAiciIpOwogCXdoaWxlIChzdHJidWZfZ2V0bGluZV9sZigmc2IsIGZwKSAhPSBFT0YpIHsKLQkJaWYgKGdldF9zaGExX2hleChzYi5idWYsIHNoYTEpKQorCQlpZiAoZ2V0X29pZF9oZXgoc2IuYnVmLCAmb2lkKSkKIAkJCWNvbnRpbnVlOyAgLyogaW52YWxpZCBsaW5lOiBkb2VzIG5vdCBzdGFydCB3aXRoIFNIQTEgKi8KIAkJaWYgKHN0YXJ0c193aXRoKHNiLmJ1ZiArIEdJVF9TSEExX0hFWFNaLCAiXHRub3QtZm9yLW1lcmdlXHQiKSkKIAkJCWNvbnRpbnVlOyAgLyogcmVmIGlzIG5vdC1mb3ItbWVyZ2UgKi8KLQkJc2hhMV9hcnJheV9hcHBlbmQobWVyZ2VfaGVhZHMsIHNoYTEpOworCQlvaWRfYXJyYXlfYXBwZW5kKG1lcmdlX2hlYWRzLCAmb2lkKTsKIAl9CiAJZmNsb3NlKGZwKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwpAQCAtNDg0LDggKzQ5MCwyMCBAQAogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIG9wdF90YWdzKTsKIAlpZiAob3B0X3BydW5lKQogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIG9wdF9wcnVuZSk7Ci0JaWYgKG9wdF9yZWN1cnNlX3N1Ym1vZHVsZXMpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgb3B0X3JlY3Vyc2Vfc3VibW9kdWxlcyk7CisJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfREVGQVVMVCkKKwkJc3dpdGNoIChyZWN1cnNlX3N1Ym1vZHVsZXMpIHsKKwkJY2FzZSBSRUNVUlNFX1NVQk1PRFVMRVNfT046CisJCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLXJlY3Vyc2Utc3VibW9kdWxlcz1vbiIpOworCQkJYnJlYWs7CisJCWNhc2UgUkVDVVJTRV9TVUJNT0RVTEVTX09GRjoKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tcmVjdXJzZS1zdWJtb2R1bGVzPW5vIik7CisJCQlicmVhazsKKwkJY2FzZSBSRUNVUlNFX1NVQk1PRFVMRVNfT05fREVNQU5EOgorCQkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCUJVRygic3VibW9kdWxlIHJlY3Vyc2lvbiBvcHRpb24gbm90IHVuZGVyc3Rvb2QiKTsKKwkJfQogCWlmIChtYXhfY2hpbGRyZW4pCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgbWF4X2NoaWxkcmVuKTsKIAlpZiAob3B0X2RyeV9ydW4pCkBAIC01MTQsOCArNTMyLDggQEAKIC8qKgogICogIlB1bGxzIGludG8gdm9pZCIgYnkgYnJhbmNoaW5nIG9mZiBtZXJnZV9oZWFkLgogICovCi1zdGF0aWMgaW50IHB1bGxfaW50b192b2lkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKm1lcmdlX2hlYWQsCi0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmN1cnJfaGVhZCkKK3N0YXRpYyBpbnQgcHVsbF9pbnRvX3ZvaWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbWVyZ2VfaGVhZCwKKwkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqY3Vycl9oZWFkKQogewogCS8qCiAJICogVHdvLXdheSBtZXJnZTogd2UgdHJlYXQgdGhlIGluZGV4IGFzIGJhc2VkIG9uIGFuIGVtcHR5IHRyZWUsCkBAIC01MjMsMTUgKzU0MSwzOSBAQAogCSAqIGluZGV4L3dvcmt0cmVlIGNoYW5nZXMgdGhhdCB0aGUgdXNlciBhbHJlYWR5IG1hZGUgb24gdGhlIHVuYm9ybgogCSAqIGJyYW5jaC4KIAkgKi8KLQlpZiAoY2hlY2tvdXRfZmFzdF9mb3J3YXJkKEVNUFRZX1RSRUVfU0hBMV9CSU4sIG1lcmdlX2hlYWQsIDApKQorCWlmIChjaGVja291dF9mYXN0X2ZvcndhcmQoJmVtcHR5X3RyZWVfb2lkLCBtZXJnZV9oZWFkLCAwKSkKIAkJcmV0dXJuIDE7CiAKLQlpZiAodXBkYXRlX3JlZigiaW5pdGlhbCBwdWxsIiwgIkhFQUQiLCBtZXJnZV9oZWFkLCBjdXJyX2hlYWQsIDAsIFVQREFURV9SRUZTX0RJRV9PTl9FUlIpKQorCWlmICh1cGRhdGVfcmVmKCJpbml0aWFsIHB1bGwiLCAiSEVBRCIsIG1lcmdlX2hlYWQtPmhhc2gsIGN1cnJfaGVhZC0+aGFzaCwgMCwgVVBEQVRFX1JFRlNfRElFX09OX0VSUikpCiAJCXJldHVybiAxOwogCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgcmViYXNlX3N1Ym1vZHVsZXModm9pZCkKK3sKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCWNwLmdpdF9jbWQgPSAxOworCWNwLm5vX3N0ZGluID0gMTsKKwlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAic3VibW9kdWxlIiwgInVwZGF0ZSIsCisJCQkJICAgIi0tcmVjdXJzaXZlIiwgIi0tcmViYXNlIiwgTlVMTCk7CisKKwlyZXR1cm4gcnVuX2NvbW1hbmQoJmNwKTsKK30KKworc3RhdGljIGludCB1cGRhdGVfc3VibW9kdWxlcyh2b2lkKQoreworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCisJY3AuZ2l0X2NtZCA9IDE7CisJY3Aubm9fc3RkaW4gPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJzdWJtb2R1bGUiLCAidXBkYXRlIiwKKwkJCQkgICAiLS1yZWN1cnNpdmUiLCAiLS1jaGVja291dCIsIE5VTEwpOworCisJcmV0dXJuIHJ1bl9jb21tYW5kKCZjcCk7Cit9CisKIC8qKgogICogUnVucyBnaXQtbWVyZ2UsIHJldHVybmluZyBpdHMgZXhpdCBzdGF0dXMuCiAgKi8KQEAgLTY0Nyw3ICs2ODksNyBAQAogICogY3VycmVudCBicmFuY2ggZm9ya2VkIGZyb20gaXRzIHJlbW90ZSB0cmFja2luZyBicmFuY2guIFJldHVybnMgMCBvbiBzdWNjZXNzLAogICogLTEgb24gZmFpbHVyZS4KICAqLwotc3RhdGljIGludCBnZXRfcmViYXNlX2ZvcmtfcG9pbnQodW5zaWduZWQgY2hhciAqZm9ya19wb2ludCwgY29uc3QgY2hhciAqcmVwbywKK3N0YXRpYyBpbnQgZ2V0X3JlYmFzZV9mb3JrX3BvaW50KHN0cnVjdCBvYmplY3RfaWQgKmZvcmtfcG9pbnQsIGNvbnN0IGNoYXIgKnJlcG8sCiAJCWNvbnN0IGNoYXIgKnJlZnNwZWMpCiB7CiAJaW50IHJldDsKQEAgLTY3OCw3ICs3MjAsNyBAQAogCWlmIChyZXQpCiAJCWdvdG8gY2xlYW51cDsKIAotCXJldCA9IGdldF9zaGExX2hleChzYi5idWYsIGZvcmtfcG9pbnQpOworCXJldCA9IGdldF9vaWRfaGV4KHNiLmJ1ZiwgZm9ya19wb2ludCk7CiAJaWYgKHJldCkKIAkJZ290byBjbGVhbnVwOwogCkBAIC02OTEsMTYgKzczMywxNiBAQAogICogU2V0cyBtZXJnZV9iYXNlIHRvIHRoZSBvY3RvcHVzIG1lcmdlIGJhc2Ugb2YgY3Vycl9oZWFkLCBtZXJnZV9oZWFkIGFuZAogICogZm9ya19wb2ludC4gUmV0dXJucyAwIGlmIGEgbWVyZ2UgYmFzZSBpcyBmb3VuZCwgMSBvdGhlcndpc2UuCiAgKi8KLXN0YXRpYyBpbnQgZ2V0X29jdG9wdXNfbWVyZ2VfYmFzZSh1bnNpZ25lZCBjaGFyICptZXJnZV9iYXNlLAotCQljb25zdCB1bnNpZ25lZCBjaGFyICpjdXJyX2hlYWQsCi0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm1lcmdlX2hlYWQsCi0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmZvcmtfcG9pbnQpCitzdGF0aWMgaW50IGdldF9vY3RvcHVzX21lcmdlX2Jhc2Uoc3RydWN0IG9iamVjdF9pZCAqbWVyZ2VfYmFzZSwKKwkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqY3Vycl9oZWFkLAorCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICptZXJnZV9oZWFkLAorCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpmb3JrX3BvaW50KQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqcmV2cyA9IE5VTEwsICpyZXN1bHQ7CiAKIAljb21taXRfbGlzdF9pbnNlcnQobG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoY3Vycl9oZWFkKSwgJnJldnMpOwogCWNvbW1pdF9saXN0X2luc2VydChsb29rdXBfY29tbWl0X3JlZmVyZW5jZShtZXJnZV9oZWFkKSwgJnJldnMpOwotCWlmICghaXNfbnVsbF9zaGExKGZvcmtfcG9pbnQpKQorCWlmICghaXNfbnVsbF9vaWQoZm9ya19wb2ludCkpCiAJCWNvbW1pdF9saXN0X2luc2VydChsb29rdXBfY29tbWl0X3JlZmVyZW5jZShmb3JrX3BvaW50KSwgJnJldnMpOwogCiAJcmVzdWx0ID0gcmVkdWNlX2hlYWRzKGdldF9vY3RvcHVzX21lcmdlX2Jhc2VzKHJldnMpKTsKQEAgLTcwOCw3ICs3NTAsNyBAQAogCWlmICghcmVzdWx0KQogCQlyZXR1cm4gMTsKIAotCWhhc2hjcHkobWVyZ2VfYmFzZSwgcmVzdWx0LT5pdGVtLT5vYmplY3Qub2lkLmhhc2gpOworCW9pZGNweShtZXJnZV9iYXNlLCAmcmVzdWx0LT5pdGVtLT5vYmplY3Qub2lkKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzE3LDE2ICs3NTksMTYgQEAKICAqIGZvcmsgcG9pbnQgY2FsY3VsYXRlZCBieSBnZXRfcmViYXNlX2ZvcmtfcG9pbnQoKSwgcnVucyBnaXQtcmViYXNlIHdpdGggdGhlCiAgKiBhcHByb3ByaWF0ZSBhcmd1bWVudHMgYW5kIHJldHVybnMgaXRzIGV4aXQgc3RhdHVzLgogICovCi1zdGF0aWMgaW50IHJ1bl9yZWJhc2UoY29uc3QgdW5zaWduZWQgY2hhciAqY3Vycl9oZWFkLAotCQljb25zdCB1bnNpZ25lZCBjaGFyICptZXJnZV9oZWFkLAotCQljb25zdCB1bnNpZ25lZCBjaGFyICpmb3JrX3BvaW50KQorc3RhdGljIGludCBydW5fcmViYXNlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmN1cnJfaGVhZCwKKwkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbWVyZ2VfaGVhZCwKKwkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqZm9ya19wb2ludCkKIHsKIAlpbnQgcmV0OwotCXVuc2lnbmVkIGNoYXIgb2N0X21lcmdlX2Jhc2VbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBvYmplY3RfaWQgb2N0X21lcmdlX2Jhc2U7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKIAotCWlmICghZ2V0X29jdG9wdXNfbWVyZ2VfYmFzZShvY3RfbWVyZ2VfYmFzZSwgY3Vycl9oZWFkLCBtZXJnZV9oZWFkLCBmb3JrX3BvaW50KSkKLQkJaWYgKCFpc19udWxsX3NoYTEoZm9ya19wb2ludCkgJiYgIWhhc2hjbXAob2N0X21lcmdlX2Jhc2UsIGZvcmtfcG9pbnQpKQorCWlmICghZ2V0X29jdG9wdXNfbWVyZ2VfYmFzZSgmb2N0X21lcmdlX2Jhc2UsIGN1cnJfaGVhZCwgbWVyZ2VfaGVhZCwgZm9ya19wb2ludCkpCisJCWlmICghaXNfbnVsbF9vaWQoZm9ya19wb2ludCkgJiYgIW9pZGNtcCgmb2N0X21lcmdlX2Jhc2UsIGZvcmtfcG9pbnQpKQogCQkJZm9ya19wb2ludCA9IE5VTEw7CiAKIAlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICJyZWJhc2UiKTsKQEAgLTc1NCwxMiArNzk2LDEyIEBACiAJCXdhcm5pbmcoXygiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIikpOwogCiAJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1vbnRvIik7Ci0JYXJndl9hcnJheV9wdXNoKCZhcmdzLCBzaGExX3RvX2hleChtZXJnZV9oZWFkKSk7CisJYXJndl9hcnJheV9wdXNoKCZhcmdzLCBvaWRfdG9faGV4KG1lcmdlX2hlYWQpKTsKIAotCWlmIChmb3JrX3BvaW50ICYmICFpc19udWxsX3NoYTEoZm9ya19wb2ludCkpCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgc2hhMV90b19oZXgoZm9ya19wb2ludCkpOworCWlmIChmb3JrX3BvaW50ICYmICFpc19udWxsX29pZChmb3JrX3BvaW50KSkKKwkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCBvaWRfdG9faGV4KGZvcmtfcG9pbnQpKTsKIAllbHNlCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgc2hhMV90b19oZXgobWVyZ2VfaGVhZCkpOworCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIG9pZF90b19oZXgobWVyZ2VfaGVhZCkpOwogCiAJcmV0ID0gcnVuX2NvbW1hbmRfdl9vcHQoYXJncy5hcmd2LCBSVU5fR0lUX0NNRCk7CiAJYXJndl9hcnJheV9jbGVhcigmYXJncyk7CkBAIC03NjksMTMgKzgxMSwxNiBAQAogaW50IGNtZF9wdWxsKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWNvbnN0IGNoYXIgKnJlcG8sICoqcmVmc3BlY3M7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgbWVyZ2VfaGVhZHMgPSBTSEExX0FSUkFZX0lOSVQ7Ci0JdW5zaWduZWQgY2hhciBvcmlnX2hlYWRbR0lUX1NIQTFfUkFXU1pdLCBjdXJyX2hlYWRbR0lUX1NIQTFfUkFXU1pdOwotCXVuc2lnbmVkIGNoYXIgcmViYXNlX2ZvcmtfcG9pbnRbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBvaWRfYXJyYXkgbWVyZ2VfaGVhZHMgPSBPSURfQVJSQVlfSU5JVDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9yaWdfaGVhZCwgY3Vycl9oZWFkOworCXN0cnVjdCBvYmplY3RfaWQgcmViYXNlX2ZvcmtfcG9pbnQ7CisJaW50IGF1dG9zdGFzaDsKIAogCWlmICghZ2V0ZW52KCJHSVRfUkVGTE9HX0FDVElPTiIpKQogCQlzZXRfcmVmbG9nX21lc3NhZ2UoYXJnYywgYXJndik7CiAKKwlnaXRfY29uZmlnKGdpdF9wdWxsX2NvbmZpZywgTlVMTCk7CisKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIHB1bGxfb3B0aW9ucywgcHVsbF91c2FnZSwgMCk7CiAKIAlwYXJzZV9yZXBvX3JlZnNwZWNzKGFyZ2MsIGFyZ3YsICZyZXBvLCAmcmVmc3BlY3MpOwpAQCAtNzg2LDM0ICs4MzEsMzIgQEAKIAlpZiAob3B0X3JlYmFzZSA8IDApCiAJCW9wdF9yZWJhc2UgPSBjb25maWdfZ2V0X3JlYmFzZSgpOwogCi0JZ2l0X2NvbmZpZyhnaXRfcHVsbF9jb25maWcsIE5VTEwpOwotCiAJaWYgKHJlYWRfY2FjaGVfdW5tZXJnZWQoKSkKIAkJZGllX3Jlc29sdmVfY29uZmxpY3QoInB1bGwiKTsKIAotCWlmIChmaWxlX2V4aXN0cyhnaXRfcGF0aCgiTUVSR0VfSEVBRCIpKSkKKwlpZiAoZmlsZV9leGlzdHMoZ2l0X3BhdGhfbWVyZ2VfaGVhZCgpKSkKIAkJZGllX2NvbmNsdWRlX21lcmdlKCk7CiAKLQlpZiAoZ2V0X3NoYTEoIkhFQUQiLCBvcmlnX2hlYWQpKQotCQloYXNoY2xyKG9yaWdfaGVhZCk7CisJaWYgKGdldF9vaWQoIkhFQUQiLCAmb3JpZ19oZWFkKSkKKwkJb2lkY2xyKCZvcmlnX2hlYWQpOwogCiAJaWYgKCFvcHRfcmViYXNlICYmIG9wdF9hdXRvc3Rhc2ggIT0gLTEpCiAJCWRpZShfKCItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIikpOwogCisJYXV0b3N0YXNoID0gY29uZmlnX2F1dG9zdGFzaDsKIAlpZiAob3B0X3JlYmFzZSkgewotCQlpbnQgYXV0b3N0YXNoID0gY29uZmlnX2F1dG9zdGFzaDsKIAkJaWYgKG9wdF9hdXRvc3Rhc2ggIT0gLTEpCiAJCQlhdXRvc3Rhc2ggPSBvcHRfYXV0b3N0YXNoOwogCi0JCWlmIChpc19udWxsX3NoYTEob3JpZ19oZWFkKSAmJiAhaXNfY2FjaGVfdW5ib3JuKCkpCisJCWlmIChpc19udWxsX29pZCgmb3JpZ19oZWFkKSAmJiAhaXNfY2FjaGVfdW5ib3JuKCkpCiAJCQlkaWUoXygiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIpKTsKIAogCQlpZiAoIWF1dG9zdGFzaCkKIAkJCXJlcXVpcmVfY2xlYW5fd29ya190cmVlKE5fKCJwdWxsIHdpdGggcmViYXNlIiksCiAJCQkJXygicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIpLCAxLCAwKTsKIAotCQlpZiAoZ2V0X3JlYmFzZV9mb3JrX3BvaW50KHJlYmFzZV9mb3JrX3BvaW50LCByZXBvLCAqcmVmc3BlY3MpKQotCQkJaGFzaGNscihyZWJhc2VfZm9ya19wb2ludCk7CisJCWlmIChnZXRfcmViYXNlX2ZvcmtfcG9pbnQoJnJlYmFzZV9mb3JrX3BvaW50LCByZXBvLCAqcmVmc3BlY3MpKQorCQkJb2lkY2xyKCZyZWJhc2VfZm9ya19wb2ludCk7CiAJfQogCiAJaWYgKHJ1bl9mZXRjaChyZXBvLCByZWZzcGVjcykpCkBAIC04MjIsMTEgKzg2NSwxMSBAQAogCWlmIChvcHRfZHJ5X3J1bikKIAkJcmV0dXJuIDA7CiAKLQlpZiAoZ2V0X3NoYTEoIkhFQUQiLCBjdXJyX2hlYWQpKQotCQloYXNoY2xyKGN1cnJfaGVhZCk7CisJaWYgKGdldF9vaWQoIkhFQUQiLCAmY3Vycl9oZWFkKSkKKwkJb2lkY2xyKCZjdXJyX2hlYWQpOwogCi0JaWYgKCFpc19udWxsX3NoYTEob3JpZ19oZWFkKSAmJiAhaXNfbnVsbF9zaGExKGN1cnJfaGVhZCkgJiYKLQkJCWhhc2hjbXAob3JpZ19oZWFkLCBjdXJyX2hlYWQpKSB7CisJaWYgKCFpc19udWxsX29pZCgmb3JpZ19oZWFkKSAmJiAhaXNfbnVsbF9vaWQoJmN1cnJfaGVhZCkgJiYKKwkJCW9pZGNtcCgmb3JpZ19oZWFkLCAmY3Vycl9oZWFkKSkgewogCQkvKgogCQkgKiBUaGUgZmV0Y2ggaW52b2x2ZWQgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoLgogCQkgKgpAQCAtODM3LDE1ICs4ODAsMTUgQEAKIAogCQl3YXJuaW5nKF8oImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCiAJCQkiZmFzdC1mb3J3YXJkaW5nIHlvdXIgd29ya2luZyB0cmVlIGZyb21cbiIKLQkJCSJjb21taXQgJXMuIiksIHNoYTFfdG9faGV4KG9yaWdfaGVhZCkpOworCQkJImNvbW1pdCAlcy4iKSwgb2lkX3RvX2hleCgmb3JpZ19oZWFkKSk7CiAKLQkJaWYgKGNoZWNrb3V0X2Zhc3RfZm9yd2FyZChvcmlnX2hlYWQsIGN1cnJfaGVhZCwgMCkpCisJCWlmIChjaGVja291dF9mYXN0X2ZvcndhcmQoJm9yaWdfaGVhZCwgJmN1cnJfaGVhZCwgMCkpCiAJCQlkaWUoXygiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKIAkJCQkiQWZ0ZXIgbWFraW5nIHN1cmUgdGhhdCB5b3Ugc2F2ZWQgYW55dGhpbmcgcHJlY2lvdXMgZnJvbVxuIgogCQkJCSIkIGdpdCBkaWZmICVzXG4iCiAJCQkJIm91dHB1dCwgcnVuXG4iCiAJCQkJIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgotCQkJCSJ0byByZWNvdmVyLiIpLCBzaGExX3RvX2hleChvcmlnX2hlYWQpKTsKKwkJCQkidG8gcmVjb3Zlci4iKSwgb2lkX3RvX2hleCgmb3JpZ19oZWFkKSk7CiAJfQogCiAJZ2V0X21lcmdlX2hlYWRzKCZtZXJnZV9oZWFkcyk7CkBAIC04NTMsMjggKzg5Niw0NSBAQAogCWlmICghbWVyZ2VfaGVhZHMubnIpCiAJCWRpZV9ub19tZXJnZV9jYW5kaWRhdGVzKHJlcG8sIHJlZnNwZWNzKTsKIAotCWlmIChpc19udWxsX3NoYTEob3JpZ19oZWFkKSkgeworCWlmIChpc19udWxsX29pZCgmb3JpZ19oZWFkKSkgewogCQlpZiAobWVyZ2VfaGVhZHMubnIgPiAxKQogCQkJZGllKF8oIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIikpOwotCQlyZXR1cm4gcHVsbF9pbnRvX3ZvaWQoKm1lcmdlX2hlYWRzLnNoYTEsIGN1cnJfaGVhZCk7CisJCXJldHVybiBwdWxsX2ludG9fdm9pZChtZXJnZV9oZWFkcy5vaWQsICZjdXJyX2hlYWQpOwogCX0KIAlpZiAob3B0X3JlYmFzZSAmJiBtZXJnZV9oZWFkcy5uciA+IDEpCiAJCWRpZShfKCJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIikpOwogCiAJaWYgKG9wdF9yZWJhc2UpIHsKLQkJc3RydWN0IGNvbW1pdF9saXN0ICpsaXN0ID0gTlVMTDsKLQkJc3RydWN0IGNvbW1pdCAqbWVyZ2VfaGVhZCwgKmhlYWQ7CisJCWludCByZXQgPSAwOworCQlpZiAoKHJlY3Vyc2Vfc3VibW9kdWxlcyA9PSBSRUNVUlNFX1NVQk1PRFVMRVNfT04gfHwKKwkJICAgICByZWN1cnNlX3N1Ym1vZHVsZXMgPT0gUkVDVVJTRV9TVUJNT0RVTEVTX09OX0RFTUFORCkgJiYKKwkJICAgIHN1Ym1vZHVsZV90b3VjaGVzX2luX3JhbmdlKCZyZWJhc2VfZm9ya19wb2ludCwgJmN1cnJfaGVhZCkpCisJCQlkaWUoXygiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiKSk7CisJCWlmICghYXV0b3N0YXNoKSB7CisJCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKmxpc3QgPSBOVUxMOworCQkJc3RydWN0IGNvbW1pdCAqbWVyZ2VfaGVhZCwgKmhlYWQ7CiAKLQkJaGVhZCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9yaWdfaGVhZCk7Ci0JCWNvbW1pdF9saXN0X2luc2VydChoZWFkLCAmbGlzdCk7Ci0JCW1lcmdlX2hlYWQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShtZXJnZV9oZWFkcy5zaGExWzBdKTsKLQkJaWYgKGlzX2Rlc2NlbmRhbnRfb2YobWVyZ2VfaGVhZCwgbGlzdCkpIHsKLQkJCS8qIHdlIGNhbiBmYXN0LWZvcndhcmQgdGhpcyB3aXRob3V0IGludm9raW5nIHJlYmFzZSAqLwotCQkJb3B0X2ZmID0gIi0tZmYtb25seSI7Ci0JCQlyZXR1cm4gcnVuX21lcmdlKCk7CisJCQloZWFkID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJm9yaWdfaGVhZCk7CisJCQljb21taXRfbGlzdF9pbnNlcnQoaGVhZCwgJmxpc3QpOworCQkJbWVyZ2VfaGVhZCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZtZXJnZV9oZWFkcy5vaWRbMF0pOworCQkJaWYgKGlzX2Rlc2NlbmRhbnRfb2YobWVyZ2VfaGVhZCwgbGlzdCkpIHsKKwkJCQkvKiB3ZSBjYW4gZmFzdC1mb3J3YXJkIHRoaXMgd2l0aG91dCBpbnZva2luZyByZWJhc2UgKi8KKwkJCQlvcHRfZmYgPSAiLS1mZi1vbmx5IjsKKwkJCQlyZXQgPSBydW5fbWVyZ2UoKTsKKwkJCX0KIAkJfQotCQlyZXR1cm4gcnVuX3JlYmFzZShjdXJyX2hlYWQsICptZXJnZV9oZWFkcy5zaGExLCByZWJhc2VfZm9ya19wb2ludCk7CisJCXJldCA9IHJ1bl9yZWJhc2UoJmN1cnJfaGVhZCwgbWVyZ2VfaGVhZHMub2lkLCAmcmViYXNlX2ZvcmtfcG9pbnQpOworCisJCWlmICghcmV0ICYmIChyZWN1cnNlX3N1Ym1vZHVsZXMgPT0gUkVDVVJTRV9TVUJNT0RVTEVTX09OIHx8CisJCQkgICAgIHJlY3Vyc2Vfc3VibW9kdWxlcyA9PSBSRUNVUlNFX1NVQk1PRFVMRVNfT05fREVNQU5EKSkKKwkJCXJldCA9IHJlYmFzZV9zdWJtb2R1bGVzKCk7CisKKwkJcmV0dXJuIHJldDsKIAl9IGVsc2UgewotCQlyZXR1cm4gcnVuX21lcmdlKCk7CisJCWludCByZXQgPSBydW5fbWVyZ2UoKTsKKwkJaWYgKCFyZXQgJiYgKHJlY3Vyc2Vfc3VibW9kdWxlcyA9PSBSRUNVUlNFX1NVQk1PRFVMRVNfT04gfHwKKwkJCSAgICAgcmVjdXJzZV9zdWJtb2R1bGVzID09IFJFQ1VSU0VfU1VCTU9EVUxFU19PTl9ERU1BTkQpKQorCQkJcmV0ID0gdXBkYXRlX3N1Ym1vZHVsZXMoKTsKKwkJcmV0dXJuIHJldDsKIAl9CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL3B1c2guYyBiL2J1aWx0aW4vcHVzaC5jCmluZGV4IDVjMjJlOWYuLjJhYzgxMDQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcHVzaC5jCisrKyBiL2J1aWx0aW4vcHVzaC5jCkBAIC0yLDYgKzIsNyBAQAogICogImdpdCBwdXNoIgogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCkBAIC00ODAsNyArNDgxLDcgQEAKIAl9IGVsc2UgaWYgKCFzdHJjbXAoaywgInB1c2guZ3Bnc2lnbiIpKSB7CiAJCWNvbnN0IGNoYXIgKnZhbHVlOwogCQlpZiAoIWdpdF9jb25maWdfZ2V0X3ZhbHVlKCJwdXNoLmdwZ3NpZ24iLCAmdmFsdWUpKSB7Ci0JCQlzd2l0Y2ggKGdpdF9jb25maWdfbWF5YmVfYm9vbCgicHVzaC5ncGdzaWduIiwgdmFsdWUpKSB7CisJCQlzd2l0Y2ggKGdpdF9wYXJzZV9tYXliZV9ib29sKHZhbHVlKSkgewogCQkJY2FzZSAwOgogCQkJCXNldF9wdXNoX2NlcnRfZmxhZ3MoZmxhZ3MsIFNFTkRfUEFDS19QVVNIX0NFUlRfTkVWRVIpOwogCQkJCWJyZWFrOwpAQCAtNDk4LDYgKzQ5OSwxMCBAQAogCQljb25zdCBjaGFyICp2YWx1ZTsKIAkJaWYgKCFnaXRfY29uZmlnX2dldF92YWx1ZSgicHVzaC5yZWN1cnNlc3VibW9kdWxlcyIsICZ2YWx1ZSkpCiAJCQlyZWN1cnNlX3N1Ym1vZHVsZXMgPSBwYXJzZV9wdXNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoaywgdmFsdWUpOworCX0gZWxzZSBpZiAoIXN0cmNtcChrLCAic3VibW9kdWxlLnJlY3Vyc2UiKSkgeworCQlpbnQgdmFsID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpID8KKwkJCVJFQ1VSU0VfU1VCTU9EVUxFU19PTl9ERU1BTkQgOiBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGOworCQlyZWN1cnNlX3N1Ym1vZHVsZXMgPSB2YWw7CiAJfQogCiAJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyhrLCB2LCBOVUxMKTsKQEAgLTUxMCw4ICs1MTUsOCBAQAogCWludCBwdXNoX2NlcnQgPSAtMTsKIAlpbnQgcmM7CiAJY29uc3QgY2hhciAqcmVwbyA9IE5VTEw7CS8qIGRlZmF1bHQgcmVwb3NpdG9yeSAqLwotCXN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgcHVzaF9vcHRpb25zID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7Ci0Jc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCXN0cnVjdCBzdHJpbmdfbGlzdCBwdXNoX29wdGlvbnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKwljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewogCQlPUFRfX1ZFUkJPU0lUWSgmdmVyYm9zaXR5KSwKQEAgLTU4NCw2ICs1ODksNyBAQAogCQkJZGllKF8oInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiKSk7CiAKIAlyYyA9IGRvX3B1c2gocmVwbywgZmxhZ3MsICZwdXNoX29wdGlvbnMpOworCXN0cmluZ19saXN0X2NsZWFyKCZwdXNoX29wdGlvbnMsIDApOwogCWlmIChyYyA9PSAtMSkKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKHB1c2hfdXNhZ2UsIG9wdGlvbnMpOwogCWVsc2UKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVhZC10cmVlLmMgYi9idWlsdGluL3JlYWQtdHJlZS5jCmluZGV4IDhiYTY0YmMuLmJmODdhMjcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVhZC10cmVlLmMKKysrIGIvYnVpbHRpbi9yZWFkLXRyZWUuYwpAQCAtNSw2ICs1LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgIm9iamVjdC5oIgogI2luY2x1ZGUgInRyZWUuaCIKQEAgLTE1LDE4ICsxNiwyMCBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAicmVzb2x2ZS11bmRvLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLWNvbmZpZy5oIgogCiBzdGF0aWMgaW50IG5yX3RyZWVzOwogc3RhdGljIGludCByZWFkX2VtcHR5Owogc3RhdGljIHN0cnVjdCB0cmVlICp0cmVlc1tNQVhfVU5QQUNLX1RSRUVTXTsKIAotc3RhdGljIGludCBsaXN0X3RyZWUodW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgbGlzdF90cmVlKHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3QgdHJlZSAqdHJlZTsKIAogCWlmIChucl90cmVlcyA+PSBNQVhfVU5QQUNLX1RSRUVTKQogCQlkaWUoIkkgY2Fubm90IHJlYWQgbW9yZSB0aGFuICVkIHRyZWVzIiwgTUFYX1VOUEFDS19UUkVFUyk7Ci0JdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3Qoc2hhMSk7CisJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3Qob2lkKTsKIAlpZiAoIXRyZWUpCiAJCXJldHVybiAtMTsKIAl0cmVlc1tucl90cmVlcysrXSA9IHRyZWU7CkBAIC05NiwxMiArOTksMjAgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBnaXRfcmVhZF90cmVlX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKK3sKKwlpZiAoIXN0cmNtcCh2YXIsICJzdWJtb2R1bGUucmVjdXJzZSIpKQorCQlyZXR1cm4gZ2l0X2RlZmF1bHRfc3VibW9kdWxlX2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7CisKKwlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKK30KKwogc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgbG9ja19maWxlOwogCiBpbnQgY21kX3JlYWRfdHJlZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnVudXNlZF9wcmVmaXgpCiB7CiAJaW50IGksIHN0YWdlID0gMDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCB0cmVlX2Rlc2MgdFtNQVhfVU5QQUNLX1RSRUVTXTsKIAlzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgb3B0czsKIAlpbnQgcHJlZml4X3NldCA9IDA7CkBAIC0xMzcsNiArMTQ4LDkgQEAKIAkJCSBOXygic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIikpLAogCQlPUFRfQk9PTCgwLCAiZGVidWctdW5wYWNrIiwgJm9wdHMuZGVidWdfdW5wYWNrLAogCQkJIE5fKCJkZWJ1ZyB1bnBhY2stdHJlZXMiKSksCisJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAicmVjdXJzZS1zdWJtb2R1bGVzIiwgTlVMTCwKKwkJCSAgICAiY2hlY2tvdXQiLCAiY29udHJvbCByZWN1cnNpdmUgdXBkYXRpbmcgb2Ygc3VibW9kdWxlcyIsCisJCQkgICAgUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX3BhcnNlX3JlY3Vyc2Vfc3VibW9kdWxlc193b3JrdHJlZV91cGRhdGVyIH0sCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTE0NSw3ICsxNTksNyBAQAogCW9wdHMuc3JjX2luZGV4ID0gJnRoZV9pbmRleDsKIAlvcHRzLmRzdF9pbmRleCA9ICZ0aGVfaW5kZXg7CiAKLQlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CisJZ2l0X2NvbmZpZyhnaXRfcmVhZF90cmVlX2NvbmZpZywgTlVMTCk7CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCB1bnVzZWRfcHJlZml4LCByZWFkX3RyZWVfb3B0aW9ucywKIAkJCSAgICAgcmVhZF90cmVlX3VzYWdlLCAwKTsKQEAgLTE3NSwxMyArMTg5LDEzIEBACiAJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewogCQljb25zdCBjaGFyICphcmcgPSBhcmd2W2ldOwogCi0JCWlmIChnZXRfc2hhMShhcmcsIHNoYTEpKQorCQlpZiAoZ2V0X29pZChhcmcsICZvaWQpKQogCQkJZGllKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIsIGFyZyk7Ci0JCWlmIChsaXN0X3RyZWUoc2hhMSkgPCAwKQorCQlpZiAobGlzdF90cmVlKCZvaWQpIDwgMCkKIAkJCWRpZSgiZmFpbGVkIHRvIHVucGFjayB0cmVlIG9iamVjdCAlcyIsIGFyZyk7CiAJCXN0YWdlKys7CiAJfQotCWlmIChucl90cmVlcyA9PSAwICYmICFyZWFkX2VtcHR5KQorCWlmICghbnJfdHJlZXMgJiYgIXJlYWRfZW1wdHkgJiYgIW9wdHMubWVyZ2UpCiAJCXdhcm5pbmcoInJlYWQtdHJlZTogZW1wdHlpbmcgdGhlIGluZGV4IHdpdGggbm8gYXJndW1lbnRzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAtLWVtcHR5Iik7CiAJZWxzZSBpZiAobnJfdHJlZXMgPiAwICYmIHJlYWRfZW1wdHkpCiAJCWRpZSgicGFzc2luZyB0cmVlcyBhcyBhcmd1bWVudHMgY29udHJhZGljdHMgLS1lbXB0eSIpOwpAQCAtMTk3LDkgKzIxMSwxMCBAQAogCQlzZXR1cF93b3JrX3RyZWUoKTsKIAogCWlmIChvcHRzLm1lcmdlKSB7Ci0JCWlmIChzdGFnZSA8IDIpCi0JCQlkaWUoImp1c3QgaG93IGRvIHlvdSBleHBlY3QgbWUgdG8gbWVyZ2UgJWQgdHJlZXM/Iiwgc3RhZ2UtMSk7CiAJCXN3aXRjaCAoc3RhZ2UgLSAxKSB7CisJCWNhc2UgMDoKKwkJCWRpZSgieW91IG11c3Qgc3BlY2lmeSBhdCBsZWFzdCBvbmUgdHJlZSB0byBtZXJnZSIpOworCQkJYnJlYWs7CiAJCWNhc2UgMToKIAkJCW9wdHMuZm4gPSBvcHRzLnByZWZpeCA/IGJpbmRfbWVyZ2UgOiBvbmV3YXlfbWVyZ2U7CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmViYXNlLS1oZWxwZXIuYyBiL2J1aWx0aW4vcmViYXNlLS1oZWxwZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODUxOTM2Ci0tLSAvZGV2L251bGwKKysrIGIvYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jCkBAIC0wLDAgKzEsNjggQEAKKyNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAic2VxdWVuY2VyLmgiCisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYnVpbHRpbl9yZWJhc2VfaGVscGVyX3VzYWdlW10gPSB7CisJTl8oImdpdCByZWJhc2UtLWhlbHBlciBbPG9wdGlvbnM+XSIpLAorCU5VTEwKK307CisKK2ludCBjbWRfcmViYXNlX19oZWxwZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc3RydWN0IHJlcGxheV9vcHRzIG9wdHMgPSBSRVBMQVlfT1BUU19JTklUOworCWludCBrZWVwX2VtcHR5ID0gMDsKKwllbnVtIHsKKwkJQ09OVElOVUUgPSAxLCBBQk9SVCwgTUFLRV9TQ1JJUFQsIFNIT1JURU5fU0hBMVMsIEVYUEFORF9TSEExUywKKwkJQ0hFQ0tfVE9ET19MSVNULCBTS0lQX1VOTkVDRVNTQVJZX1BJQ0tTLCBSRUFSUkFOR0VfU1FVQVNICisJfSBjb21tYW5kID0gMDsKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX0JPT0woMCwgImZmIiwgJm9wdHMuYWxsb3dfZmYsIE5fKCJhbGxvdyBmYXN0LWZvcndhcmQiKSksCisJCU9QVF9CT09MKDAsICJrZWVwLWVtcHR5IiwgJmtlZXBfZW1wdHksIE5fKCJrZWVwIGVtcHR5IGNvbW1pdHMiKSksCisJCU9QVF9DTURNT0RFKDAsICJjb250aW51ZSIsICZjb21tYW5kLCBOXygiY29udGludWUgcmViYXNlIiksCisJCQkJQ09OVElOVUUpLAorCQlPUFRfQ01ETU9ERSgwLCAiYWJvcnQiLCAmY29tbWFuZCwgTl8oImFib3J0IHJlYmFzZSIpLAorCQkJCUFCT1JUKSwKKwkJT1BUX0NNRE1PREUoMCwgIm1ha2Utc2NyaXB0IiwgJmNvbW1hbmQsCisJCQlOXygibWFrZSByZWJhc2Ugc2NyaXB0IiksIE1BS0VfU0NSSVBUKSwKKwkJT1BUX0NNRE1PREUoMCwgInNob3J0ZW4taWRzIiwgJmNvbW1hbmQsCisJCQlOXygic2hvcnRlbiBTSEEtMXMgaW4gdGhlIHRvZG8gbGlzdCIpLCBTSE9SVEVOX1NIQTFTKSwKKwkJT1BUX0NNRE1PREUoMCwgImV4cGFuZC1pZHMiLCAmY29tbWFuZCwKKwkJCU5fKCJleHBhbmQgU0hBLTFzIGluIHRoZSB0b2RvIGxpc3QiKSwgRVhQQU5EX1NIQTFTKSwKKwkJT1BUX0NNRE1PREUoMCwgImNoZWNrLXRvZG8tbGlzdCIsICZjb21tYW5kLAorCQkJTl8oImNoZWNrIHRoZSB0b2RvIGxpc3QiKSwgQ0hFQ0tfVE9ET19MSVNUKSwKKwkJT1BUX0NNRE1PREUoMCwgInNraXAtdW5uZWNlc3NhcnktcGlja3MiLCAmY29tbWFuZCwKKwkJCU5fKCJza2lwIHVubmVjZXNzYXJ5IHBpY2tzIiksIFNLSVBfVU5ORUNFU1NBUllfUElDS1MpLAorCQlPUFRfQ01ETU9ERSgwLCAicmVhcnJhbmdlLXNxdWFzaCIsICZjb21tYW5kLAorCQkJTl8oInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiKSwgUkVBUlJBTkdFX1NRVUFTSCksCisJCU9QVF9FTkQoKQorCX07CisKKwlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CisKKwlvcHRzLmFjdGlvbiA9IFJFUExBWV9JTlRFUkFDVElWRV9SRUJBU0U7CisJb3B0cy5hbGxvd19mZiA9IDE7CisJb3B0cy5hbGxvd19lbXB0eSA9IDE7CisKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLCBvcHRpb25zLAorCQkJYnVpbHRpbl9yZWJhc2VfaGVscGVyX3VzYWdlLCBQQVJTRV9PUFRfS0VFUF9BUkdWMCk7CisKKwlpZiAoY29tbWFuZCA9PSBDT05USU5VRSAmJiBhcmdjID09IDEpCisJCXJldHVybiAhIXNlcXVlbmNlcl9jb250aW51ZSgmb3B0cyk7CisJaWYgKGNvbW1hbmQgPT0gQUJPUlQgJiYgYXJnYyA9PSAxKQorCQlyZXR1cm4gISFzZXF1ZW5jZXJfcmVtb3ZlX3N0YXRlKCZvcHRzKTsKKwlpZiAoY29tbWFuZCA9PSBNQUtFX1NDUklQVCAmJiBhcmdjID4gMSkKKwkJcmV0dXJuICEhc2VxdWVuY2VyX21ha2Vfc2NyaXB0KGtlZXBfZW1wdHksIHN0ZG91dCwgYXJnYywgYXJndik7CisJaWYgKGNvbW1hbmQgPT0gU0hPUlRFTl9TSEExUyAmJiBhcmdjID09IDEpCisJCXJldHVybiAhIXRyYW5zZm9ybV90b2RvX2lkcygxKTsKKwlpZiAoY29tbWFuZCA9PSBFWFBBTkRfU0hBMVMgJiYgYXJnYyA9PSAxKQorCQlyZXR1cm4gISF0cmFuc2Zvcm1fdG9kb19pZHMoMCk7CisJaWYgKGNvbW1hbmQgPT0gQ0hFQ0tfVE9ET19MSVNUICYmIGFyZ2MgPT0gMSkKKwkJcmV0dXJuICEhY2hlY2tfdG9kb19saXN0KCk7CisJaWYgKGNvbW1hbmQgPT0gU0tJUF9VTk5FQ0VTU0FSWV9QSUNLUyAmJiBhcmdjID09IDEpCisJCXJldHVybiAhIXNraXBfdW5uZWNlc3NhcnlfcGlja3MoKTsKKwlpZiAoY29tbWFuZCA9PSBSRUFSUkFOR0VfU1FVQVNIICYmIGFyZ2MgPT0gMSkKKwkJcmV0dXJuICEhcmVhcnJhbmdlX3NxdWFzaCgpOworCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX3JlYmFzZV9oZWxwZXJfdXNhZ2UsIG9wdGlvbnMpOworfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZWNlaXZlLXBhY2suYyBiL2J1aWx0aW4vcmVjZWl2ZS1wYWNrLmMKaW5kZXggYjYxOGQ1Mi4uY2M0ODc2NyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZWNlaXZlLXBhY2suYworKysgYi9idWlsdGluL3JlY2VpdmUtcGFjay5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgInBhY2suaCIKICNpbmNsdWRlICJyZWZzLmgiCkBAIC0yMSw2ICsyMiw4IEBACiAjaW5jbHVkZSAic2lnY2hhaW4uaCIKICNpbmNsdWRlICJmc2NrLmgiCiAjaW5jbHVkZSAidG1wLW9iamRpci5oIgorI2luY2x1ZGUgIm9pZHNldC5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcmVjZWl2ZV9wYWNrX3VzYWdlW10gPSB7CiAJTl8oImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IiksCkBAIC03Nyw3ICs4MCw3IEBACiBzdGF0aWMgY29uc3QgY2hhciAqTk9OQ0VfU0xPUCA9ICJTTE9QIjsKIHN0YXRpYyBjb25zdCBjaGFyICpub25jZV9zdGF0dXM7CiBzdGF0aWMgbG9uZyBub25jZV9zdGFtcF9zbG9wOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbm9uY2Vfc3RhbXBfc2xvcF9saW1pdDsKK3N0YXRpYyB0aW1lc3RhbXBfdCBub25jZV9zdGFtcF9zbG9wX2xpbWl0Owogc3RhdGljIHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uOwogCiBzdGF0aWMgZW51bSB7CkBAIC0yMjQsMTAgKzIyNywxMCBAQAogCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogfQogCi1zdGF0aWMgdm9pZCBzaG93X3JlZihjb25zdCBjaGFyICpwYXRoLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHZvaWQgc2hvd19yZWYoY29uc3QgY2hhciAqcGF0aCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWlmIChzZW50X2NhcGFiaWxpdGllcykgewotCQlwYWNrZXRfd3JpdGVfZm10KDEsICIlcyAlc1xuIiwgc2hhMV90b19oZXgoc2hhMSksIHBhdGgpOworCQlwYWNrZXRfd3JpdGVfZm10KDEsICIlcyAlc1xuIiwgb2lkX3RvX2hleChvaWQpLCBwYXRoKTsKIAl9IGVsc2UgewogCQlzdHJ1Y3Qgc3RyYnVmIGNhcCA9IFNUUkJVRl9JTklUOwogCkBAIC0yNDMsMTUgKzI0NiwxNiBAQAogCQkJc3RyYnVmX2FkZHN0cigmY2FwLCAiIHB1c2gtb3B0aW9ucyIpOwogCQlzdHJidWZfYWRkZigmY2FwLCAiIGFnZW50PSVzIiwgZ2l0X3VzZXJfYWdlbnRfc2FuaXRpemVkKCkpOwogCQlwYWNrZXRfd3JpdGVfZm10KDEsICIlcyAlcyVjJXNcbiIsCi0JCQkgICAgIHNoYTFfdG9faGV4KHNoYTEpLCBwYXRoLCAwLCBjYXAuYnVmKTsKKwkJCSAgICAgb2lkX3RvX2hleChvaWQpLCBwYXRoLCAwLCBjYXAuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmNhcCk7CiAJCXNlbnRfY2FwYWJpbGl0aWVzID0gMTsKIAl9CiB9CiAKIHN0YXRpYyBpbnQgc2hvd19yZWZfY2IoY29uc3QgY2hhciAqcGF0aF9mdWxsLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCSAgICAgICBpbnQgZmxhZywgdm9pZCAqdW51c2VkKQorCQkgICAgICAgaW50IGZsYWcsIHZvaWQgKmRhdGEpCiB7CisJc3RydWN0IG9pZHNldCAqc2VlbiA9IGRhdGE7CiAJY29uc3QgY2hhciAqcGF0aCA9IHN0cmlwX25hbWVzcGFjZShwYXRoX2Z1bGwpOwogCiAJaWYgKHJlZl9pc19oaWRkZW4ocGF0aCwgcGF0aF9mdWxsKSkKQEAgLTI2MCwzOSArMjY0LDQwIEBACiAJLyoKIAkgKiBBZHZlcnRpc2UgcmVmcyBvdXRzaWRlIG91ciBjdXJyZW50IG5hbWVzcGFjZSBhcyAiLmhhdmUiCiAJICogcmVmcywgc28gdGhhdCB0aGUgY2xpZW50IGNhbiB1c2UgdGhlbSB0byBtaW5pbWl6ZSBkYXRhCi0JICogdHJhbnNmZXIgYnV0IHdpbGwgb3RoZXJ3aXNlIGlnbm9yZSB0aGVtLiBUaGlzIGhhcHBlbnMgdG8KLQkgKiBjb3ZlciAiLmhhdmUiIHRoYXQgYXJlIHRocm93biBpbiBieSBhZGRfb25lX2FsdGVybmF0ZV9yZWYoKQotCSAqIHRvIG1hcmsgaGlzdG9yaWVzIHRoYXQgYXJlIGNvbXBsZXRlIGluIG91ciBhbHRlcm5hdGVzIGFzCi0JICogd2VsbC4KKwkgKiB0cmFuc2ZlciBidXQgd2lsbCBvdGhlcndpc2UgaWdub3JlIHRoZW0uCiAJICovCi0JaWYgKCFwYXRoKQorCWlmICghcGF0aCkgeworCQlpZiAob2lkc2V0X2luc2VydChzZWVuLCBvaWQpKQorCQkJcmV0dXJuIDA7CiAJCXBhdGggPSAiLmhhdmUiOwotCXNob3dfcmVmKHBhdGgsIG9pZC0+aGFzaCk7CisJfSBlbHNlIHsKKwkJb2lkc2V0X2luc2VydChzZWVuLCBvaWQpOworCX0KKwlzaG93X3JlZihwYXRoLCBvaWQpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHNob3dfb25lX2FsdGVybmF0ZV9zaGExKGNvbnN0IHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sIHZvaWQgKnVudXNlZCkKK3N0YXRpYyB2b2lkIHNob3dfb25lX2FsdGVybmF0ZV9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICAgdm9pZCAqZGF0YSkKIHsKLQlzaG93X3JlZigiLmhhdmUiLCBzaGExKTsKLQlyZXR1cm4gMDsKLX0KKwlzdHJ1Y3Qgb2lkc2V0ICpzZWVuID0gZGF0YTsKIAotc3RhdGljIHZvaWQgY29sbGVjdF9vbmVfYWx0ZXJuYXRlX3JlZihjb25zdCBzdHJ1Y3QgcmVmICpyZWYsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IHNoYTFfYXJyYXkgKnNhID0gZGF0YTsKLQlzaGExX2FycmF5X2FwcGVuZChzYSwgcmVmLT5vbGRfb2lkLmhhc2gpOworCWlmIChvaWRzZXRfaW5zZXJ0KHNlZW4sIG9pZCkpCisJCXJldHVybjsKKworCXNob3dfcmVmKCIuaGF2ZSIsIG9pZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlX2hlYWRfaW5mbyh2b2lkKQogewotCXN0cnVjdCBzaGExX2FycmF5IHNhID0gU0hBMV9BUlJBWV9JTklUOworCXN0YXRpYyBzdHJ1Y3Qgb2lkc2V0IHNlZW4gPSBPSURTRVRfSU5JVDsKIAotCWZvcl9lYWNoX2FsdGVybmF0ZV9yZWYoY29sbGVjdF9vbmVfYWx0ZXJuYXRlX3JlZiwgJnNhKTsKLQlzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZSgmc2EsIHNob3dfb25lX2FsdGVybmF0ZV9zaGExLCBOVUxMKTsKLQlzaGExX2FycmF5X2NsZWFyKCZzYSk7Ci0JZm9yX2VhY2hfcmVmKHNob3dfcmVmX2NiLCBOVUxMKTsKKwlmb3JfZWFjaF9yZWYoc2hvd19yZWZfY2IsICZzZWVuKTsKKwlmb3JfZWFjaF9hbHRlcm5hdGVfcmVmKHNob3dfb25lX2FsdGVybmF0ZV9yZWYsICZzZWVuKTsKKwlvaWRzZXRfY2xlYXIoJnNlZW4pOwogCWlmICghc2VudF9jYXBhYmlsaXRpZXMpCi0JCXNob3dfcmVmKCJjYXBhYmlsaXRpZXNee30iLCBudWxsX3NoYTEpOworCQlzaG93X3JlZigiY2FwYWJpbGl0aWVzXnt9IiwgJm51bGxfb2lkKTsKIAogCWFkdmVydGlzZV9zaGFsbG93X2dyYWZ0cygxKTsKIApAQCAtMzA2LDggKzMxMSw4IEBACiAJdW5zaWduZWQgaW50IHNraXBfdXBkYXRlOjEsCiAJCSAgICAgZGlkX25vdF9leGlzdDoxOwogCWludCBpbmRleDsKLQl1bnNpZ25lZCBjaGFyIG9sZF9zaGExWzIwXTsKLQl1bnNpZ25lZCBjaGFyIG5ld19zaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9sZF9vaWQ7CisJc3RydWN0IG9iamVjdF9pZCBuZXdfb2lkOwogCWNoYXIgcmVmX25hbWVbRkxFWF9BUlJBWV07IC8qIG1vcmUgKi8KIH07CiAKQEAgLTQ1MSwxNyArNDU2LDE3IEBACiAJZ2l0X1NIQTFfRmluYWwob3V0LCAmY3R4KTsKIH0KIAotc3RhdGljIGNoYXIgKnByZXBhcmVfcHVzaF9jZXJ0X25vbmNlKGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGxvbmcgc3RhbXApCitzdGF0aWMgY2hhciAqcHJlcGFyZV9wdXNoX2NlcnRfbm9uY2UoY29uc3QgY2hhciAqcGF0aCwgdGltZXN0YW1wX3Qgc3RhbXApCiB7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCi0Jc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzOiVsdSIsIHBhdGgsIHN0YW1wKTsKKwlzdHJidWZfYWRkZigmYnVmLCAiJXM6JSJQUkl0aW1lLCBwYXRoLCBzdGFtcCk7CiAJaG1hY19zaGExKHNoYTEsIGJ1Zi5idWYsIGJ1Zi5sZW4sIGNlcnRfbm9uY2Vfc2VlZCwgc3RybGVuKGNlcnRfbm9uY2Vfc2VlZCkpOzsKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAogCS8qIFJGQyAyMTA0IDUuIEhNQUMtU0hBMS04MCAqLwotCXN0cmJ1Zl9hZGRmKCZidWYsICIlbHUtJS4qcyIsIHN0YW1wLCAyMCwgc2hhMV90b19oZXgoc2hhMSkpOworCXN0cmJ1Zl9hZGRmKCZidWYsICIlIlBSSXRpbWUiLSUuKnMiLCBzdGFtcCwgMjAsIHNoYTFfdG9faGV4KHNoYTEpKTsKIAlyZXR1cm4gc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKTsKIH0KIApAQCAtNDcwLDcgKzQ3NSw4IEBACiAgKiBhZnRlciBkcm9wcGluZyAiX2NvbW1pdCIgZnJvbSBpdHMgbmFtZSBhbmQgcG9zc2libHkgbW92aW5nIGl0IG91dAogICogb2YgY29tbWl0LmMKICAqLwotc3RhdGljIGNoYXIgKmZpbmRfaGVhZGVyKGNvbnN0IGNoYXIgKm1zZywgc2l6ZV90IGxlbiwgY29uc3QgY2hhciAqa2V5KQorc3RhdGljIGNoYXIgKmZpbmRfaGVhZGVyKGNvbnN0IGNoYXIgKm1zZywgc2l6ZV90IGxlbiwgY29uc3QgY2hhciAqa2V5LAorCQkJIGNvbnN0IGNoYXIgKipuZXh0X2xpbmUpCiB7CiAJaW50IGtleV9sZW4gPSBzdHJsZW4oa2V5KTsKIAljb25zdCBjaGFyICpsaW5lID0gbXNnOwpAQCAtNDgzLDYgKzQ4OSw4IEBACiAJCWlmIChsaW5lICsga2V5X2xlbiA8IGVvbCAmJgogCQkgICAgIW1lbWNtcChsaW5lLCBrZXksIGtleV9sZW4pICYmIGxpbmVba2V5X2xlbl0gPT0gJyAnKSB7CiAJCQlpbnQgb2Zmc2V0ID0ga2V5X2xlbiArIDE7CisJCQlpZiAobmV4dF9saW5lKQorCQkJCSpuZXh0X2xpbmUgPSAqZW9sID8gZW9sICsgMSA6IGVvbDsKIAkJCXJldHVybiB4bWVtZHVweihsaW5lICsgb2Zmc2V0LCAoZW9sIC0gbGluZSkgLSBvZmZzZXQpOwogCQl9CiAJCWxpbmUgPSAqZW9sID8gZW9sICsgMSA6IE5VTEw7CkBAIC00OTIsOCArNTAwLDggQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKmNoZWNrX25vbmNlKGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKIHsKLQljaGFyICpub25jZSA9IGZpbmRfaGVhZGVyKGJ1ZiwgbGVuLCAibm9uY2UiKTsKLQl1bnNpZ25lZCBsb25nIHN0YW1wLCBvc3RhbXA7CisJY2hhciAqbm9uY2UgPSBmaW5kX2hlYWRlcihidWYsIGxlbiwgIm5vbmNlIiwgTlVMTCk7CisJdGltZXN0YW1wX3Qgc3RhbXAsIG9zdGFtcDsKIAljaGFyICpib2htYWMsICpleHBlY3QgPSBOVUxMOwogCWNvbnN0IGNoYXIgKnJldHZhbCA9IE5PTkNFX0JBRDsKIApAQCAtNTMxLDcgKzUzOSw3IEBACiAJCXJldHZhbCA9IE5PTkNFX0JBRDsKIAkJZ290byBsZWF2ZTsKIAl9Ci0Jc3RhbXAgPSBzdHJ0b3VsKG5vbmNlLCAmYm9obWFjLCAxMCk7CisJc3RhbXAgPSBwYXJzZV90aW1lc3RhbXAobm9uY2UsICZib2htYWMsIDEwKTsKIAlpZiAoYm9obWFjID09IG5vbmNlIHx8IGJvaG1hY1swXSAhPSAnLScpIHsKIAkJcmV0dmFsID0gTk9OQ0VfQkFEOwogCQlnb3RvIGxlYXZlOwpAQCAtNTQ5LDcgKzU1Nyw3IEBACiAJICogd291bGQgbWVhbiBpdCB3YXMgaXNzdWVkIGJ5IGFub3RoZXIgc2VydmVyIHdpdGggaXRzIGNsb2NrCiAJICogc2tld2VkIGluIHRoZSBmdXR1cmUuCiAJICovCi0Jb3N0YW1wID0gc3RydG91bChwdXNoX2NlcnRfbm9uY2UsIE5VTEwsIDEwKTsKKwlvc3RhbXAgPSBwYXJzZV90aW1lc3RhbXAocHVzaF9jZXJ0X25vbmNlLCBOVUxMLCAxMCk7CiAJbm9uY2Vfc3RhbXBfc2xvcCA9IChsb25nKW9zdGFtcCAtIChsb25nKXN0YW1wOwogCiAJaWYgKG5vbmNlX3N0YW1wX3Nsb3BfbGltaXQgJiYKQEAgLTU3Miw2ICs1ODAsNDUgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCisvKgorICogUmV0dXJuIDEgaWYgdGhlcmUgaXMgbm8gcHVzaF9jZXJ0IG9yIGlmIHRoZSBwdXNoIG9wdGlvbnMgaW4gcHVzaF9jZXJ0IGFyZQorICogdGhlIHNhbWUgYXMgdGhvc2UgaW4gdGhlIGFyZ3VtZW50OyAwIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludCBjaGVja19jZXJ0X3B1c2hfb3B0aW9ucyhjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnB1c2hfb3B0aW9ucykKK3sKKwljb25zdCBjaGFyICpidWYgPSBwdXNoX2NlcnQuYnVmOworCWludCBsZW4gPSBwdXNoX2NlcnQubGVuOworCisJY2hhciAqb3B0aW9uOworCWNvbnN0IGNoYXIgKm5leHRfbGluZTsKKwlpbnQgb3B0aW9uc19zZWVuID0gMDsKKworCWludCByZXR2YWwgPSAxOworCisJaWYgKCFsZW4pCisJCXJldHVybiAxOworCisJd2hpbGUgKChvcHRpb24gPSBmaW5kX2hlYWRlcihidWYsIGxlbiwgInB1c2gtb3B0aW9uIiwgJm5leHRfbGluZSkpKSB7CisJCWxlbiAtPSAobmV4dF9saW5lIC0gYnVmKTsKKwkJYnVmID0gbmV4dF9saW5lOworCQlvcHRpb25zX3NlZW4rKzsKKwkJaWYgKG9wdGlvbnNfc2VlbiA+IHB1c2hfb3B0aW9ucy0+bnIKKwkJICAgIHx8IHN0cmNtcChvcHRpb24sCisJCQkgICAgICBwdXNoX29wdGlvbnMtPml0ZW1zW29wdGlvbnNfc2VlbiAtIDFdLnN0cmluZykpIHsKKwkJCXJldHZhbCA9IDA7CisJCQlnb3RvIGxlYXZlOworCQl9CisJCWZyZWUob3B0aW9uKTsKKwl9CisKKwlpZiAob3B0aW9uc19zZWVuICE9IHB1c2hfb3B0aW9ucy0+bnIpCisJCXJldHZhbCA9IDA7CisKK2xlYXZlOgorCWZyZWUob3B0aW9uKTsKKwlyZXR1cm4gcmV0dmFsOworfQorCiBzdGF0aWMgdm9pZCBwcmVwYXJlX3B1c2hfY2VydF9zaGExKHN0cnVjdCBjaGlsZF9wcm9jZXNzICpwcm9jKQogewogCXN0YXRpYyBpbnQgYWxyZWFkeV9kb25lOwpAQCAtNjk2LDcgKzc0Myw3IEBACiAJCXNpemVfdCBuOwogCQlpZiAoZmVlZChmZWVkX3N0YXRlLCAmYnVmLCAmbikpCiAJCQlicmVhazsKLQkJaWYgKHdyaXRlX2luX2Z1bGwocHJvYy5pbiwgYnVmLCBuKSAhPSBuKQorCQlpZiAod3JpdGVfaW5fZnVsbChwcm9jLmluLCBidWYsIG4pIDwgMCkKIAkJCWJyZWFrOwogCX0KIAljbG9zZShwcm9jLmluKTsKQEAgLTcyMCw3ICs3NjcsNyBAQAogCQlyZXR1cm4gLTE7IC8qIEVPRiAqLwogCXN0cmJ1Zl9yZXNldCgmc3RhdGUtPmJ1Zik7CiAJc3RyYnVmX2FkZGYoJnN0YXRlLT5idWYsICIlcyAlcyAlc1xuIiwKLQkJICAgIHNoYTFfdG9faGV4KGNtZC0+b2xkX3NoYTEpLCBzaGExX3RvX2hleChjbWQtPm5ld19zaGExKSwKKwkJICAgIG9pZF90b19oZXgoJmNtZC0+b2xkX29pZCksIG9pZF90b19oZXgoJmNtZC0+bmV3X29pZCksCiAJCSAgICBjbWQtPnJlZl9uYW1lKTsKIAlzdGF0ZS0+Y21kID0gY21kLT5uZXh0OwogCWlmIChidWZwKSB7CkBAIC03NjEsMTUgKzgwOCwxNCBAQAogCQlyZXR1cm4gMDsKIAogCWFyZ3ZbMV0gPSBjbWQtPnJlZl9uYW1lOwotCWFyZ3ZbMl0gPSBzaGExX3RvX2hleChjbWQtPm9sZF9zaGExKTsKLQlhcmd2WzNdID0gc2hhMV90b19oZXgoY21kLT5uZXdfc2hhMSk7CisJYXJndlsyXSA9IG9pZF90b19oZXgoJmNtZC0+b2xkX29pZCk7CisJYXJndlszXSA9IG9pZF90b19oZXgoJmNtZC0+bmV3X29pZCk7CiAJYXJndls0XSA9IE5VTEw7CiAKIAlwcm9jLm5vX3N0ZGluID0gMTsKIAlwcm9jLnN0ZG91dF90b19zdGRlcnIgPSAxOwogCXByb2MuZXJyID0gdXNlX3NpZGViYW5kID8gLTEgOiAwOwogCXByb2MuYXJndiA9IGFyZ3Y7Ci0JcHJvYy5lbnYgPSB0bXBfb2JqZGlyX2Vudih0bXBfb2JqZGlyKTsKIAogCWNvZGUgPSBzdGFydF9jb21tYW5kKCZwcm9jKTsKIAlpZiAoY29kZSkKQEAgLTgyOCw3ICs4NzQsNyBAQAogc3RhdGljIGludCB1cGRhdGVfc2hhbGxvd19yZWYoc3RydWN0IGNvbW1hbmQgKmNtZCwgc3RydWN0IHNoYWxsb3dfaW5mbyAqc2kpCiB7CiAJc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgc2hhbGxvd19sb2NrOwotCXN0cnVjdCBzaGExX2FycmF5IGV4dHJhID0gU0hBMV9BUlJBWV9JTklUOworCXN0cnVjdCBvaWRfYXJyYXkgZXh0cmEgPSBPSURfQVJSQVlfSU5JVDsKIAlzdHJ1Y3QgY2hlY2tfY29ubmVjdGVkX29wdGlvbnMgb3B0ID0gQ0hFQ0tfQ09OTkVDVEVEX0lOSVQ7CiAJdWludDMyX3QgbWFzayA9IDEgPDwgKGNtZC0+aW5kZXggJSAzMik7CiAJaW50IGk7CkBAIC04MzksMTMgKzg4NSwxMyBAQAogCQlpZiAoc2ktPnVzZWRfc2hhbGxvd1tpXSAmJgogCQkgICAgKHNpLT51c2VkX3NoYWxsb3dbaV1bY21kLT5pbmRleCAvIDMyXSAmIG1hc2spICYmCiAJCSAgICAhZGVsYXllZF9yZWFjaGFiaWxpdHlfdGVzdChzaSwgaSkpCi0JCQlzaGExX2FycmF5X2FwcGVuZCgmZXh0cmEsIHNpLT5zaGFsbG93LT5zaGExW2ldKTsKKwkJCW9pZF9hcnJheV9hcHBlbmQoJmV4dHJhLCAmc2ktPnNoYWxsb3ctPm9pZFtpXSk7CiAKIAlvcHQuZW52ID0gdG1wX29iamRpcl9lbnYodG1wX29iamRpcik7CiAJc2V0dXBfYWx0ZXJuYXRlX3NoYWxsb3coJnNoYWxsb3dfbG9jaywgJm9wdC5zaGFsbG93X2ZpbGUsICZleHRyYSk7CiAJaWYgKGNoZWNrX2Nvbm5lY3RlZChjb21tYW5kX3NpbmdsZXRvbl9pdGVyYXRvciwgY21kLCAmb3B0KSkgewogCQlyb2xsYmFja19sb2NrX2ZpbGUoJnNoYWxsb3dfbG9jayk7Ci0JCXNoYTFfYXJyYXlfY2xlYXIoJmV4dHJhKTsKKwkJb2lkX2FycmF5X2NsZWFyKCZleHRyYSk7CiAJCXJldHVybiAtMTsKIAl9CiAKQEAgLTg1NiwxMCArOTAyLDEwIEBACiAJICogbm90IGxvc2UgdGhlc2UgbmV3IHJvb3RzLi4KIAkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgZXh0cmEubnI7IGkrKykKLQkJcmVnaXN0ZXJfc2hhbGxvdyhleHRyYS5zaGExW2ldKTsKKwkJcmVnaXN0ZXJfc2hhbGxvdygmZXh0cmEub2lkW2ldKTsKIAogCXNpLT5zaGFsbG93X3JlZltjbWQtPmluZGV4XSA9IDA7Ci0Jc2hhMV9hcnJheV9jbGVhcigmZXh0cmEpOworCW9pZF9hcnJheV9jbGVhcigmZXh0cmEpOwogCXJldHVybiAwOwogfQogCkBAIC04NzQsOSArOTIwLDkgQEAKICAqLwogc3RhdGljIGludCBoZWFkX2hhc19oaXN0b3J5KHZvaWQpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAotCXJldHVybiAhZ2V0X3NoYTEoIkhFQUQiLCBzaGExKTsKKwlyZXR1cm4gIWdldF9vaWQoIkhFQUQiLCAmb2lkKTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKnB1c2hfdG9fZGVwbG95KHVuc2lnbmVkIGNoYXIgKnNoYTEsCkBAIC05ODQsOSArMTAzMCwxMCBAQAogewogCWNvbnN0IGNoYXIgKm5hbWUgPSBjbWQtPnJlZl9uYW1lOwogCXN0cnVjdCBzdHJidWYgbmFtZXNwYWNlZF9uYW1lX2J1ZiA9IFNUUkJVRl9JTklUOwotCWNvbnN0IGNoYXIgKm5hbWVzcGFjZWRfbmFtZSwgKnJldDsKLQl1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSA9IGNtZC0+b2xkX3NoYTE7Ci0JdW5zaWduZWQgY2hhciAqbmV3X3NoYTEgPSBjbWQtPm5ld19zaGExOworCXN0YXRpYyBjaGFyICpuYW1lc3BhY2VkX25hbWU7CisJY29uc3QgY2hhciAqcmV0OworCXN0cnVjdCBvYmplY3RfaWQgKm9sZF9vaWQgPSAmY21kLT5vbGRfb2lkOworCXN0cnVjdCBvYmplY3RfaWQgKm5ld19vaWQgPSAmY21kLT5uZXdfb2lkOwogCiAJLyogb25seSByZWZzLy4uLiBhcmUgYWxsb3dlZCAqLwogCWlmICghc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvIikgfHwgY2hlY2tfcmVmbmFtZV9mb3JtYXQobmFtZSArIDUsIDApKSB7CkBAIC05OTUsNiArMTA0Miw3IEBACiAJfQogCiAJc3RyYnVmX2FkZGYoJm5hbWVzcGFjZWRfbmFtZV9idWYsICIlcyVzIiwgZ2V0X2dpdF9uYW1lc3BhY2UoKSwgbmFtZSk7CisJZnJlZShuYW1lc3BhY2VkX25hbWUpOwogCW5hbWVzcGFjZWRfbmFtZSA9IHN0cmJ1Zl9kZXRhY2goJm5hbWVzcGFjZWRfbmFtZV9idWYsIE5VTEwpOwogCiAJaWYgKGlzX3JlZl9jaGVja2VkX291dChuYW1lc3BhY2VkX25hbWUpKSB7CkBAIC0xMDExLDIwICsxMDU5LDIwIEBACiAJCQkJcmVmdXNlX3VuY29uZmlndXJlZF9kZW55KCk7CiAJCQlyZXR1cm4gImJyYW5jaCBpcyBjdXJyZW50bHkgY2hlY2tlZCBvdXQiOwogCQljYXNlIERFTllfVVBEQVRFX0lOU1RFQUQ6Ci0JCQlyZXQgPSB1cGRhdGVfd29ya3RyZWUobmV3X3NoYTEpOworCQkJcmV0ID0gdXBkYXRlX3dvcmt0cmVlKG5ld19vaWQtPmhhc2gpOwogCQkJaWYgKHJldCkKIAkJCQlyZXR1cm4gcmV0OwogCQkJYnJlYWs7CiAJCX0KIAl9CiAKLQlpZiAoIWlzX251bGxfc2hhMShuZXdfc2hhMSkgJiYgIWhhc19zaGExX2ZpbGUobmV3X3NoYTEpKSB7CisJaWYgKCFpc19udWxsX29pZChuZXdfb2lkKSAmJiAhaGFzX29iamVjdF9maWxlKG5ld19vaWQpKSB7CiAJCWVycm9yKCJ1bnBhY2sgc2hvdWxkIGhhdmUgZ2VuZXJhdGVkICVzLCAiCi0JCSAgICAgICJidXQgSSBjYW4ndCBmaW5kIGl0ISIsIHNoYTFfdG9faGV4KG5ld19zaGExKSk7CisJCSAgICAgICJidXQgSSBjYW4ndCBmaW5kIGl0ISIsIG9pZF90b19oZXgobmV3X29pZCkpOwogCQlyZXR1cm4gImJhZCBwYWNrIjsKIAl9CiAKLQlpZiAoIWlzX251bGxfc2hhMShvbGRfc2hhMSkgJiYgaXNfbnVsbF9zaGExKG5ld19zaGExKSkgeworCWlmICghaXNfbnVsbF9vaWQob2xkX29pZCkgJiYgaXNfbnVsbF9vaWQobmV3X29pZCkpIHsKIAkJaWYgKGRlbnlfZGVsZXRlcyAmJiBzdGFydHNfd2l0aChuYW1lLCAicmVmcy9oZWFkcy8iKSkgewogCQkJcnBfZXJyb3IoImRlbnlpbmcgcmVmIGRlbGV0aW9uIGZvciAlcyIsIG5hbWUpOwogCQkJcmV0dXJuICJkZWxldGlvbiBwcm9oaWJpdGVkIjsKQEAgLTEwNTAsMTQgKzEwOTgsMTQgQEAKIAkJfQogCX0KIAotCWlmIChkZW55X25vbl9mYXN0X2ZvcndhcmRzICYmICFpc19udWxsX3NoYTEobmV3X3NoYTEpICYmCi0JICAgICFpc19udWxsX3NoYTEob2xkX3NoYTEpICYmCisJaWYgKGRlbnlfbm9uX2Zhc3RfZm9yd2FyZHMgJiYgIWlzX251bGxfb2lkKG5ld19vaWQpICYmCisJICAgICFpc19udWxsX29pZChvbGRfb2lkKSAmJgogCSAgICBzdGFydHNfd2l0aChuYW1lLCAicmVmcy9oZWFkcy8iKSkgewogCQlzdHJ1Y3Qgb2JqZWN0ICpvbGRfb2JqZWN0LCAqbmV3X29iamVjdDsKIAkJc3RydWN0IGNvbW1pdCAqb2xkX2NvbW1pdCwgKm5ld19jb21taXQ7CiAKLQkJb2xkX29iamVjdCA9IHBhcnNlX29iamVjdChvbGRfc2hhMSk7Ci0JCW5ld19vYmplY3QgPSBwYXJzZV9vYmplY3QobmV3X3NoYTEpOworCQlvbGRfb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KG9sZF9vaWQpOworCQluZXdfb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KG5ld19vaWQpOwogCiAJCWlmICghb2xkX29iamVjdCB8fCAhbmV3X29iamVjdCB8fAogCQkgICAgb2xkX29iamVjdC0+dHlwZSAhPSBPQkpfQ09NTUlUIHx8CkBAIC0xMDc4LDEwICsxMTI2LDEwIEBACiAJCXJldHVybiAiaG9vayBkZWNsaW5lZCI7CiAJfQogCi0JaWYgKGlzX251bGxfc2hhMShuZXdfc2hhMSkpIHsKKwlpZiAoaXNfbnVsbF9vaWQobmV3X29pZCkpIHsKIAkJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKLQkJaWYgKCFwYXJzZV9vYmplY3Qob2xkX3NoYTEpKSB7Ci0JCQlvbGRfc2hhMSA9IE5VTEw7CisJCWlmICghcGFyc2Vfb2JqZWN0KG9sZF9vaWQpKSB7CisJCQlvbGRfb2lkID0gTlVMTDsKIAkJCWlmIChyZWZfZXhpc3RzKG5hbWUpKSB7CiAJCQkJcnBfd2FybmluZygiQWxsb3dpbmcgZGVsZXRpb24gb2YgY29ycnVwdCByZWYuIik7CiAJCQl9IGVsc2UgewpAQCAtMTA5MSw3ICsxMTM5LDcgQEAKIAkJfQogCQlpZiAocmVmX3RyYW5zYWN0aW9uX2RlbGV0ZSh0cmFuc2FjdGlvbiwKIAkJCQkJICAgbmFtZXNwYWNlZF9uYW1lLAotCQkJCQkgICBvbGRfc2hhMSwKKwkJCQkJICAgb2xkX29pZCA/IG9sZF9vaWQtPmhhc2ggOiBOVUxMLAogCQkJCQkgICAwLCAicHVzaCIsICZlcnIpKSB7CiAJCQlycF9lcnJvcigiJXMiLCBlcnIuYnVmKTsKIAkJCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOwpAQCAtMTEwOCw3ICsxMTU2LDcgQEAKIAogCQlpZiAocmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSh0cmFuc2FjdGlvbiwKIAkJCQkJICAgbmFtZXNwYWNlZF9uYW1lLAotCQkJCQkgICBuZXdfc2hhMSwgb2xkX3NoYTEsCisJCQkJCSAgIG5ld19vaWQtPmhhc2gsIG9sZF9vaWQtPmhhc2gsCiAJCQkJCSAgIDAsICJwdXNoIiwKIAkJCQkJICAgJmVycikpIHsKIAkJCXJwX2Vycm9yKCIlcyIsIGVyci5idWYpOwpAQCAtMTE1OSwxMSArMTIwNywxMCBAQAogCWNvbnN0IGNoYXIgKmRzdF9uYW1lOwogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOwogCXN0cnVjdCBjb21tYW5kICpkc3RfY21kOwotCXVuc2lnbmVkIGNoYXIgc2hhMVtHSVRfU0hBMV9SQVdTWl07CiAJaW50IGZsYWc7CiAKIAlzdHJidWZfYWRkZigmYnVmLCAiJXMlcyIsIGdldF9naXRfbmFtZXNwYWNlKCksIGNtZC0+cmVmX25hbWUpOwotCWRzdF9uYW1lID0gcmVzb2x2ZV9yZWZfdW5zYWZlKGJ1Zi5idWYsIDAsIHNoYTEsICZmbGFnKTsKKwlkc3RfbmFtZSA9IHJlc29sdmVfcmVmX3Vuc2FmZShidWYuYnVmLCAwLCBOVUxMLCAmZmxhZyk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAKIAlpZiAoIShmbGFnICYgUkVGX0lTU1lNUkVGKSkKQEAgLTExODQsOCArMTIzMSw4IEBACiAKIAlkc3RfY21kID0gKHN0cnVjdCBjb21tYW5kICopIGl0ZW0tPnV0aWw7CiAKLQlpZiAoIWhhc2hjbXAoY21kLT5vbGRfc2hhMSwgZHN0X2NtZC0+b2xkX3NoYTEpICYmCi0JICAgICFoYXNoY21wKGNtZC0+bmV3X3NoYTEsIGRzdF9jbWQtPm5ld19zaGExKSkKKwlpZiAoIW9pZGNtcCgmY21kLT5vbGRfb2lkLCAmZHN0X2NtZC0+b2xkX29pZCkgJiYKKwkgICAgIW9pZGNtcCgmY21kLT5uZXdfb2lkLCAmZHN0X2NtZC0+bmV3X29pZCkpCiAJCXJldHVybjsKIAogCWRzdF9jbWQtPnNraXBfdXBkYXRlID0gMTsKQEAgLTExOTMsMTEgKzEyNDAsMTEgQEAKIAlycF9lcnJvcigicmVmdXNpbmcgaW5jb25zaXN0ZW50IHVwZGF0ZSBiZXR3ZWVuIHN5bXJlZiAnJXMnICglcy4uJXMpIGFuZCIKIAkJICIgaXRzIHRhcmdldCAnJXMnICglcy4uJXMpIiwKIAkJIGNtZC0+cmVmX25hbWUsCi0JCSBmaW5kX3VuaXF1ZV9hYmJyZXYoY21kLT5vbGRfc2hhMSwgREVGQVVMVF9BQkJSRVYpLAotCQkgZmluZF91bmlxdWVfYWJicmV2KGNtZC0+bmV3X3NoYTEsIERFRkFVTFRfQUJCUkVWKSwKKwkJIGZpbmRfdW5pcXVlX2FiYnJldihjbWQtPm9sZF9vaWQuaGFzaCwgREVGQVVMVF9BQkJSRVYpLAorCQkgZmluZF91bmlxdWVfYWJicmV2KGNtZC0+bmV3X29pZC5oYXNoLCBERUZBVUxUX0FCQlJFViksCiAJCSBkc3RfY21kLT5yZWZfbmFtZSwKLQkJIGZpbmRfdW5pcXVlX2FiYnJldihkc3RfY21kLT5vbGRfc2hhMSwgREVGQVVMVF9BQkJSRVYpLAotCQkgZmluZF91bmlxdWVfYWJicmV2KGRzdF9jbWQtPm5ld19zaGExLCBERUZBVUxUX0FCQlJFVikpOworCQkgZmluZF91bmlxdWVfYWJicmV2KGRzdF9jbWQtPm9sZF9vaWQuaGFzaCwgREVGQVVMVF9BQkJSRVYpLAorCQkgZmluZF91bmlxdWVfYWJicmV2KGRzdF9jbWQtPm5ld19vaWQuaGFzaCwgREVGQVVMVF9BQkJSRVYpKTsKIAogCWNtZC0+ZXJyb3Jfc3RyaW5nID0gZHN0X2NtZC0+ZXJyb3Jfc3RyaW5nID0KIAkJImluY29uc2lzdGVudCBhbGlhc2VkIHVwZGF0ZSI7CkBAIC0xMjI4LDEwICsxMjc1LDEwIEBACiAJc3RydWN0IGNvbW1hbmQgKipjbWRfbGlzdCA9IGNiX2RhdGE7CiAJc3RydWN0IGNvbW1hbmQgKmNtZCA9ICpjbWRfbGlzdDsKIAotCWlmICghY21kIHx8IGlzX251bGxfc2hhMShjbWQtPm5ld19zaGExKSkKKwlpZiAoIWNtZCB8fCBpc19udWxsX29pZCgmY21kLT5uZXdfb2lkKSkKIAkJcmV0dXJuIC0xOyAvKiBlbmQgb2YgbGlzdCAqLwogCSpjbWRfbGlzdCA9IE5VTEw7IC8qIHRoaXMgcmV0dXJucyBvbmx5IG9uZSAqLwotCWhhc2hjcHkoc2hhMSwgY21kLT5uZXdfc2hhMSk7CisJaGFzaGNweShzaGExLCBjbWQtPm5ld19vaWQuaGFzaCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEyNzIsOCArMTMxOSw4IEBACiAJCWlmIChzaGFsbG93X3VwZGF0ZSAmJiBkYXRhLT5zaS0+c2hhbGxvd19yZWZbY21kLT5pbmRleF0pCiAJCQkvKiB0byBiZSBjaGVja2VkIGluIHVwZGF0ZV9zaGFsbG93X3JlZigpICovCiAJCQljb250aW51ZTsKLQkJaWYgKCFpc19udWxsX3NoYTEoY21kLT5uZXdfc2hhMSkgJiYgIWNtZC0+c2tpcF91cGRhdGUpIHsKLQkJCWhhc2hjcHkoc2hhMSwgY21kLT5uZXdfc2hhMSk7CisJCWlmICghaXNfbnVsbF9vaWQoJmNtZC0+bmV3X29pZCkgJiYgIWNtZC0+c2tpcF91cGRhdGUpIHsKKwkJCWhhc2hjcHkoc2hhMSwgY21kLT5uZXdfb2lkLmhhc2gpOwogCQkJKmNtZF9saXN0ID0gY21kLT5uZXh0OwogCQkJcmV0dXJuIDA7CiAJCX0KQEAgLTEzMDAsNyArMTM0Nyw3IEBACiAKIAkJaWYgKCFyZWZfaXNfaGlkZGVuKGNtZC0+cmVmX25hbWUsIHJlZm5hbWVfZnVsbC5idWYpKQogCQkJY29udGludWU7Ci0JCWlmIChpc19udWxsX3NoYTEoY21kLT5uZXdfc2hhMSkpCisJCWlmIChpc19udWxsX29pZCgmY21kLT5uZXdfb2lkKSkKIAkJCWNtZC0+ZXJyb3Jfc3RyaW5nID0gImRlbnkgZGVsZXRpbmcgYSBoaWRkZW4gcmVmIjsKIAkJZWxzZQogCQkJY21kLT5lcnJvcl9zdHJpbmcgPSAiZGVueSB1cGRhdGluZyBhIGhpZGRlbiByZWYiOwpAQCAtMTQxMSw3ICsxNDU4LDYgQEAKIHsKIAlzdHJ1Y3QgY2hlY2tfY29ubmVjdGVkX29wdGlvbnMgb3B0ID0gQ0hFQ0tfQ09OTkVDVEVEX0lOSVQ7CiAJc3RydWN0IGNvbW1hbmQgKmNtZDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCXN0cnVjdCBpdGVyYXRlX2RhdGEgZGF0YTsKIAlzdHJ1Y3QgYXN5bmMgbXV4ZXI7CiAJaW50IGVycl9mZCA9IDA7CkBAIC0xNDY4LDcgKzE1MTQsNyBAQAogCWNoZWNrX2FsaWFzZWRfdXBkYXRlcyhjb21tYW5kcyk7CiAKIAlmcmVlKGhlYWRfbmFtZV90b19mcmVlKTsKLQloZWFkX25hbWUgPSBoZWFkX25hbWVfdG9fZnJlZSA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgc2hhMSwgTlVMTCk7CisJaGVhZF9uYW1lID0gaGVhZF9uYW1lX3RvX2ZyZWUgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIDAsIE5VTEwsIE5VTEwpOwogCiAJaWYgKHVzZV9hdG9taWMpCiAJCWV4ZWN1dGVfY29tbWFuZHNfYXRvbWljKGNvbW1hbmRzLCBzaSk7CkBAIC0xNDgzLDIzICsxNTI5LDIzIEBACiAJCQkJICAgICAgY29uc3QgY2hhciAqbGluZSwKIAkJCQkgICAgICBpbnQgbGluZWxlbikKIHsKLQl1bnNpZ25lZCBjaGFyIG9sZF9zaGExWzIwXSwgbmV3X3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2xkX29pZCwgbmV3X29pZDsKIAlzdHJ1Y3QgY29tbWFuZCAqY21kOwogCWNvbnN0IGNoYXIgKnJlZm5hbWU7CiAJaW50IHJlZmxlbjsKKwljb25zdCBjaGFyICpwOwogCi0JaWYgKGxpbmVsZW4gPCA4MyB8fAotCSAgICBsaW5lWzQwXSAhPSAnICcgfHwKLQkgICAgbGluZVs4MV0gIT0gJyAnIHx8Ci0JICAgIGdldF9zaGExX2hleChsaW5lLCBvbGRfc2hhMSkgfHwKLQkgICAgZ2V0X3NoYTFfaGV4KGxpbmUgKyA0MSwgbmV3X3NoYTEpKQorCWlmIChwYXJzZV9vaWRfaGV4KGxpbmUsICZvbGRfb2lkLCAmcCkgfHwKKwkgICAgKnArKyAhPSAnICcgfHwKKwkgICAgcGFyc2Vfb2lkX2hleChwLCAmbmV3X29pZCwgJnApIHx8CisJICAgICpwKysgIT0gJyAnKQogCQlkaWUoInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBvbGQvbmV3L3JlZiwgZ290ICclcyciLCBsaW5lKTsKIAotCXJlZm5hbWUgPSBsaW5lICsgODI7Ci0JcmVmbGVuID0gbGluZWxlbiAtIDgyOworCXJlZm5hbWUgPSBwOworCXJlZmxlbiA9IGxpbmVsZW4gLSAocCAtIGxpbmUpOwogCUZMRVhfQUxMT0NfTUVNKGNtZCwgcmVmX25hbWUsIHJlZm5hbWUsIHJlZmxlbik7Ci0JaGFzaGNweShjbWQtPm9sZF9zaGExLCBvbGRfc2hhMSk7Ci0JaGFzaGNweShjbWQtPm5ld19zaGExLCBuZXdfc2hhMSk7CisJb2lkY3B5KCZjbWQtPm9sZF9vaWQsICZvbGRfb2lkKTsKKwlvaWRjcHkoJmNtZC0+bmV3X29pZCwgJm5ld19vaWQpOwogCSp0YWlsID0gY21kOwogCXJldHVybiAmY21kLT5uZXh0OwogfQpAQCAtMTUyMSwxMiArMTU2NywxMiBAQAogCiAJd2hpbGUgKGJvYyA8IGVvYykgewogCQljb25zdCBjaGFyICplb2wgPSBtZW1jaHIoYm9jLCAnXG4nLCBlb2MgLSBib2MpOwotCQl0YWlsID0gcXVldWVfY29tbWFuZCh0YWlsLCBib2MsIGVvbCA/IGVvbCAtIGJvYyA6IGVvYyAtIGVvbCk7CisJCXRhaWwgPSBxdWV1ZV9jb21tYW5kKHRhaWwsIGJvYywgZW9sID8gZW9sIC0gYm9jIDogZW9jIC0gYm9jKTsKIAkJYm9jID0gZW9sID8gZW9sICsgMSA6IGVvYzsKIAl9CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWFuZCAqcmVhZF9oZWFkX2luZm8oc3RydWN0IHNoYTFfYXJyYXkgKnNoYWxsb3cpCitzdGF0aWMgc3RydWN0IGNvbW1hbmQgKnJlYWRfaGVhZF9pbmZvKHN0cnVjdCBvaWRfYXJyYXkgKnNoYWxsb3cpCiB7CiAJc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzID0gTlVMTDsKIAlzdHJ1Y3QgY29tbWFuZCAqKnAgPSAmY29tbWFuZHM7CkBAIC0xNTM4LDEyICsxNTg0LDEyIEBACiAJCWlmICghbGluZSkKIAkJCWJyZWFrOwogCi0JCWlmIChsZW4gPT0gNDggJiYgc3RhcnRzX3dpdGgobGluZSwgInNoYWxsb3cgIikpIHsKLQkJCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0JCQlpZiAoZ2V0X3NoYTFfaGV4KGxpbmUgKyA4LCBzaGExKSkKKwkJaWYgKGxlbiA+IDggJiYgc3RhcnRzX3dpdGgobGluZSwgInNoYWxsb3cgIikpIHsKKwkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCQkJaWYgKGdldF9vaWRfaGV4KGxpbmUgKyA4LCAmb2lkKSkKIAkJCQlkaWUoInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGFsbG93IHNoYSwgZ290ICclcyciLAogCQkJCSAgICBsaW5lICsgOCk7Ci0JCQlzaGExX2FycmF5X2FwcGVuZChzaGFsbG93LCBzaGExKTsKKwkJCW9pZF9hcnJheV9hcHBlbmQoc2hhbGxvdywgJm9pZCk7CiAJCQljb250aW51ZTsKIAkJfQogCkBAIC0xNjMxLDEyICsxNjc3LDE3IEBACiAKIHN0YXRpYyBjb25zdCBjaGFyICpwYWNrX2xvY2tmaWxlOwogCitzdGF0aWMgdm9pZCBwdXNoX2hlYWRlcl9hcmcoc3RydWN0IGFyZ3ZfYXJyYXkgKmFyZ3MsIHN0cnVjdCBwYWNrX2hlYWRlciAqaGRyKQoreworCWFyZ3ZfYXJyYXlfcHVzaGYoYXJncywgIi0tcGFja19oZWFkZXI9JSJQUkl1MzIiLCUiUFJJdTMyLAorCQkJbnRvaGwoaGRyLT5oZHJfdmVyc2lvbiksIG50b2hsKGhkci0+aGRyX2VudHJpZXMpKTsKK30KKwogc3RhdGljIGNvbnN0IGNoYXIgKnVucGFjayhpbnQgZXJyX2ZkLCBzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSkKIHsKIAlzdHJ1Y3QgcGFja19oZWFkZXIgaGRyOwogCWNvbnN0IGNoYXIgKmhkcl9lcnI7CiAJaW50IHN0YXR1czsKLQljaGFyIGhkcl9hcmdbMzhdOwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNoaWxkID0gQ0hJTERfUFJPQ0VTU19JTklUOwogCWludCBmc2NrX29iamVjdHMgPSAocmVjZWl2ZV9mc2NrX29iamVjdHMgPj0gMAogCQkJICAgID8gcmVjZWl2ZV9mc2NrX29iamVjdHMKQEAgLTE2NTAsOSArMTcwMSw2IEBACiAJCQljbG9zZShlcnJfZmQpOwogCQlyZXR1cm4gaGRyX2VycjsKIAl9Ci0Jc25wcmludGYoaGRyX2FyZywgc2l6ZW9mKGhkcl9hcmcpLAotCQkJIi0tcGFja19oZWFkZXI9JSJQUkl1MzIiLCUiUFJJdTMyLAotCQkJbnRvaGwoaGRyLmhkcl92ZXJzaW9uKSwgbnRvaGwoaGRyLmhkcl9lbnRyaWVzKSk7CiAKIAlpZiAoc2ktPm5yX291cnMgfHwgc2ktPm5yX3RoZWlycykgewogCQlhbHRfc2hhbGxvd19maWxlID0gc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coc2ktPnNoYWxsb3cpOwpAQCAtMTY3Niw3ICsxNzI0LDggQEAKIAl0bXBfb2JqZGlyX2FkZF9hc19hbHRlcm5hdGUodG1wX29iamRpcik7CiAKIAlpZiAobnRvaGwoaGRyLmhkcl9lbnRyaWVzKSA8IHVucGFja19saW1pdCkgewotCQlhcmd2X2FycmF5X3B1c2hsKCZjaGlsZC5hcmdzLCAidW5wYWNrLW9iamVjdHMiLCBoZHJfYXJnLCBOVUxMKTsKKwkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAidW5wYWNrLW9iamVjdHMiKTsKKwkJcHVzaF9oZWFkZXJfYXJnKCZjaGlsZC5hcmdzLCAmaGRyKTsKIAkJaWYgKHF1aWV0KQogCQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAiLXEiKTsKIAkJaWYgKGZzY2tfb2JqZWN0cykKQEAgLTE2OTIsMTIgKzE3NDEsMTIgQEAKIAkJaWYgKHN0YXR1cykKIAkJCXJldHVybiAidW5wYWNrLW9iamVjdHMgYWJub3JtYWwgZXhpdCI7CiAJfSBlbHNlIHsKLQkJY2hhciBob3N0bmFtZVsyNTZdOworCQljaGFyIGhvc3RuYW1lW0hPU1RfTkFNRV9NQVggKyAxXTsKIAotCQlhcmd2X2FycmF5X3B1c2hsKCZjaGlsZC5hcmdzLCAiaW5kZXgtcGFjayIsCi0JCQkJICItLXN0ZGluIiwgaGRyX2FyZywgTlVMTCk7CisJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNoaWxkLmFyZ3MsICJpbmRleC1wYWNrIiwgIi0tc3RkaW4iLCBOVUxMKTsKKwkJcHVzaF9oZWFkZXJfYXJnKCZjaGlsZC5hcmdzLCAmaGRyKTsKIAotCQlpZiAoZ2V0aG9zdG5hbWUoaG9zdG5hbWUsIHNpemVvZihob3N0bmFtZSkpKQorCQlpZiAoeGdldGhvc3RuYW1lKGhvc3RuYW1lLCBzaXplb2YoaG9zdG5hbWUpKSkKIAkJCXhzbnByaW50Zihob3N0bmFtZSwgc2l6ZW9mKGhvc3RuYW1lKSwgImxvY2FsaG9zdCIpOwogCQlhcmd2X2FycmF5X3B1c2hmKCZjaGlsZC5hcmdzLAogCQkJCSAiLS1rZWVwPXJlY2VpdmUtcGFjayAlIlBSSXVNQVgiIG9uICVzIiwKQEAgLTE3NTYsNyArMTgwNSw3IEBACiBzdGF0aWMgdm9pZCBwcmVwYXJlX3NoYWxsb3dfdXBkYXRlKHN0cnVjdCBjb21tYW5kICpjb21tYW5kcywKIAkJCQkgICBzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSkKIHsKLQlpbnQgaSwgaiwgaywgYml0bWFwX3NpemUgPSAoc2ktPnJlZi0+bnIgKyAzMSkgLyAzMjsKKwlpbnQgaSwgaiwgaywgYml0bWFwX3NpemUgPSBESVZfUk9VTkRfVVAoc2ktPnJlZi0+bnIsIDMyKTsKIAogCUFMTE9DX0FSUkFZKHNpLT51c2VkX3NoYWxsb3csIHNpLT5zaGFsbG93LT5ucik7CiAJYXNzaWduX3NoYWxsb3dfY29tbWl0c190b19yZWZzKHNpLCBzaS0+dXNlZF9zaGFsbG93LCBOVUxMKTsKQEAgLTE4MDEsNyArMTg1MCw3IEBACiAKIHN0YXRpYyB2b2lkIHVwZGF0ZV9zaGFsbG93X2luZm8oc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzLAogCQkJCXN0cnVjdCBzaGFsbG93X2luZm8gKnNpLAotCQkJCXN0cnVjdCBzaGExX2FycmF5ICpyZWYpCisJCQkJc3RydWN0IG9pZF9hcnJheSAqcmVmKQogewogCXN0cnVjdCBjb21tYW5kICpjbWQ7CiAJaW50ICpyZWZfc3RhdHVzOwpAQCAtMTgxMiw5ICsxODYxLDkgQEAKIAl9CiAKIAlmb3IgKGNtZCA9IGNvbW1hbmRzOyBjbWQ7IGNtZCA9IGNtZC0+bmV4dCkgewotCQlpZiAoaXNfbnVsbF9zaGExKGNtZC0+bmV3X3NoYTEpKQorCQlpZiAoaXNfbnVsbF9vaWQoJmNtZC0+bmV3X29pZCkpCiAJCQljb250aW51ZTsKLQkJc2hhMV9hcnJheV9hcHBlbmQocmVmLCBjbWQtPm5ld19zaGExKTsKKwkJb2lkX2FycmF5X2FwcGVuZChyZWYsICZjbWQtPm5ld19vaWQpOwogCQljbWQtPmluZGV4ID0gcmVmLT5uciAtIDE7CiAJfQogCXNpLT5yZWYgPSByZWY7CkBAIC0xODI3LDcgKzE4NzYsNyBAQAogCUFMTE9DX0FSUkFZKHJlZl9zdGF0dXMsIHJlZi0+bnIpOwogCWFzc2lnbl9zaGFsbG93X2NvbW1pdHNfdG9fcmVmcyhzaSwgTlVMTCwgcmVmX3N0YXR1cyk7CiAJZm9yIChjbWQgPSBjb21tYW5kczsgY21kOyBjbWQgPSBjbWQtPm5leHQpIHsKLQkJaWYgKGlzX251bGxfc2hhMShjbWQtPm5ld19zaGExKSkKKwkJaWYgKGlzX251bGxfb2lkKCZjbWQtPm5ld19vaWQpKQogCQkJY29udGludWU7CiAJCWlmIChyZWZfc3RhdHVzW2NtZC0+aW5kZXhdKSB7CiAJCQljbWQtPmVycm9yX3N0cmluZyA9ICJzaGFsbG93IHVwZGF0ZSBub3QgYWxsb3dlZCI7CkBAIC0xODY1LDcgKzE5MTQsNyBAQAogewogCXN0cnVjdCBjb21tYW5kICpjbWQ7CiAJZm9yIChjbWQgPSBjb21tYW5kczsgY21kOyBjbWQgPSBjbWQtPm5leHQpIHsKLQkJaWYgKCFpc19udWxsX3NoYTEoY21kLT5uZXdfc2hhMSkpCisJCWlmICghaXNfbnVsbF9vaWQoJmNtZC0+bmV3X29pZCkpCiAJCQlyZXR1cm4gMDsKIAl9CiAJcmV0dXJuIDE7CkBAIC0xODc1LDggKzE5MjQsOCBAQAogewogCWludCBhZHZlcnRpc2VfcmVmcyA9IDA7CiAJc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzOwotCXN0cnVjdCBzaGExX2FycmF5IHNoYWxsb3cgPSBTSEExX0FSUkFZX0lOSVQ7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgcmVmID0gU0hBMV9BUlJBWV9JTklUOworCXN0cnVjdCBvaWRfYXJyYXkgc2hhbGxvdyA9IE9JRF9BUlJBWV9JTklUOworCXN0cnVjdCBvaWRfYXJyYXkgcmVmID0gT0lEX0FSUkFZX0lOSVQ7CiAJc3RydWN0IHNoYWxsb3dfaW5mbyBzaTsKIAogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewpAQCAtMTkyNCw2ICsxOTczLDExIEBACiAKIAkJaWYgKHVzZV9wdXNoX29wdGlvbnMpCiAJCQlyZWFkX3B1c2hfb3B0aW9ucygmcHVzaF9vcHRpb25zKTsKKwkJaWYgKCFjaGVja19jZXJ0X3B1c2hfb3B0aW9ucygmcHVzaF9vcHRpb25zKSkgeworCQkJc3RydWN0IGNvbW1hbmQgKmNtZDsKKwkJCWZvciAoY21kID0gY29tbWFuZHM7IGNtZDsgY21kID0gY21kLT5uZXh0KQorCQkJCWNtZC0+ZXJyb3Jfc3RyaW5nID0gImluY29uc2lzdGVudCBwdXNoIG9wdGlvbnMiOworCQl9CiAKIAkJcHJlcGFyZV9zaGFsbG93X2luZm8oJnNpLCAmc2hhbGxvdyk7CiAJCWlmICghc2kubnJfb3VycyAmJiAhc2kubnJfdGhlaXJzKQpAQCAtMTk2OCw4ICsyMDIyLDggQEAKIAl9CiAJaWYgKHVzZV9zaWRlYmFuZCkKIAkJcGFja2V0X2ZsdXNoKDEpOwotCXNoYTFfYXJyYXlfY2xlYXIoJnNoYWxsb3cpOwotCXNoYTFfYXJyYXlfY2xlYXIoJnJlZik7CisJb2lkX2FycmF5X2NsZWFyKCZzaGFsbG93KTsKKwlvaWRfYXJyYXlfY2xlYXIoJnJlZik7CiAJZnJlZSgodm9pZCAqKXB1c2hfY2VydF9ub25jZSk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL3JlZmxvZy5jIGIvYnVpbHRpbi9yZWZsb2cuYwppbmRleCA3YTcxMzZlLi4yMDY3Y2NhIDEwMDY0NAotLS0gYS9idWlsdGluL3JlZmxvZy5jCisrKyBiL2J1aWx0aW4vcmVmbG9nLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAicmVmcy5oIgpAQCAtMTYsMTQgKzE3LDE0IEBACiBzdGF0aWMgY29uc3QgY2hhciByZWZsb2dfZXhpc3RzX3VzYWdlW10gPQogImdpdCByZWZsb2cgZXhpc3RzIDxyZWY+IjsKIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgZGVmYXVsdF9yZWZsb2dfZXhwaXJlOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgZGVmYXVsdF9yZWZsb2dfZXhwaXJlX3VucmVhY2hhYmxlOworc3RhdGljIHRpbWVzdGFtcF90IGRlZmF1bHRfcmVmbG9nX2V4cGlyZTsKK3N0YXRpYyB0aW1lc3RhbXBfdCBkZWZhdWx0X3JlZmxvZ19leHBpcmVfdW5yZWFjaGFibGU7CiAKIHN0cnVjdCBjbWRfcmVmbG9nX2V4cGlyZV9jYiB7CiAJc3RydWN0IHJldl9pbmZvIHJldnM7CiAJaW50IHN0YWxlZml4OwotCXVuc2lnbmVkIGxvbmcgZXhwaXJlX3RvdGFsOwotCXVuc2lnbmVkIGxvbmcgZXhwaXJlX3VucmVhY2hhYmxlOworCXRpbWVzdGFtcF90IGV4cGlyZV90b3RhbDsKKwl0aW1lc3RhbXBfdCBleHBpcmVfdW5yZWFjaGFibGU7CiAJaW50IHJlY25vOwogfTsKIApAQCAtNTUsMTQgKzU2LDE0IEBACiAjZGVmaW5lIFNUVURZSU5HCSgxdTw8MTEpCiAjZGVmaW5lIFJFQUNIQUJMRQkoMXU8PDEyKQogCi1zdGF0aWMgaW50IHRyZWVfaXNfY29tcGxldGUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgdHJlZV9pc19jb21wbGV0ZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3RydWN0IHRyZWVfZGVzYyBkZXNjOwogCXN0cnVjdCBuYW1lX2VudHJ5IGVudHJ5OwogCWludCBjb21wbGV0ZTsKIAlzdHJ1Y3QgdHJlZSAqdHJlZTsKIAotCXRyZWUgPSBsb29rdXBfdHJlZShzaGExKTsKKwl0cmVlID0gbG9va3VwX3RyZWUob2lkKTsKIAlpZiAoIXRyZWUpCiAJCXJldHVybiAwOwogCWlmICh0cmVlLT5vYmplY3QuZmxhZ3MgJiBTRUVOKQpAQCAtNzMsNyArNzQsNyBAQAogCWlmICghdHJlZS0+YnVmZmVyKSB7CiAJCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAkJdW5zaWduZWQgbG9uZyBzaXplOwotCQl2b2lkICpkYXRhID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZzaXplKTsKKwkJdm9pZCAqZGF0YSA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJnR5cGUsICZzaXplKTsKIAkJaWYgKCFkYXRhKSB7CiAJCQl0cmVlLT5vYmplY3QuZmxhZ3MgfD0gSU5DT01QTEVURTsKIAkJCXJldHVybiAwOwpAQCAtODUsNyArODYsNyBAQAogCWNvbXBsZXRlID0gMTsKIAl3aGlsZSAodHJlZV9lbnRyeSgmZGVzYywgJmVudHJ5KSkgewogCQlpZiAoIWhhc19zaGExX2ZpbGUoZW50cnkub2lkLT5oYXNoKSB8fAotCQkgICAgKFNfSVNESVIoZW50cnkubW9kZSkgJiYgIXRyZWVfaXNfY29tcGxldGUoZW50cnkub2lkLT5oYXNoKSkpIHsKKwkJICAgIChTX0lTRElSKGVudHJ5Lm1vZGUpICYmICF0cmVlX2lzX2NvbXBsZXRlKGVudHJ5Lm9pZCkpKSB7CiAJCQl0cmVlLT5vYmplY3QuZmxhZ3MgfD0gSU5DT01QTEVURTsKIAkJCWNvbXBsZXRlID0gMDsKIAkJfQpAQCAtMTI1LDggKzEyNiw4IEBACiAJCXN0cnVjdCBjb21taXQgKmM7CiAJCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50OwogCi0JCWMgPSAoc3RydWN0IGNvbW1pdCAqKXN0dWR5Lm9iamVjdHNbLS1zdHVkeS5ucl0uaXRlbTsKLQkJaWYgKCFjLT5vYmplY3QucGFyc2VkICYmICFwYXJzZV9vYmplY3QoYy0+b2JqZWN0Lm9pZC5oYXNoKSkKKwkJYyA9IChzdHJ1Y3QgY29tbWl0ICopb2JqZWN0X2FycmF5X3BvcCgmc3R1ZHkpOworCQlpZiAoIWMtPm9iamVjdC5wYXJzZWQgJiYgIXBhcnNlX29iamVjdCgmYy0+b2JqZWN0Lm9pZCkpCiAJCQljLT5vYmplY3QuZmxhZ3MgfD0gSU5DT01QTEVURTsKIAogCQlpZiAoYy0+b2JqZWN0LmZsYWdzICYgSU5DT01QTEVURSkgewpAQCAtMTUyLDcgKzE1Myw3IEBACiAJCWZvciAoaSA9IDA7IGkgPCBmb3VuZC5ucjsgaSsrKSB7CiAJCQlzdHJ1Y3QgY29tbWl0ICpjID0KIAkJCQkoc3RydWN0IGNvbW1pdCAqKWZvdW5kLm9iamVjdHNbaV0uaXRlbTsKLQkJCWlmICghdHJlZV9pc19jb21wbGV0ZShjLT50cmVlLT5vYmplY3Qub2lkLmhhc2gpKSB7CisJCQlpZiAoIXRyZWVfaXNfY29tcGxldGUoJmMtPnRyZWUtPm9iamVjdC5vaWQpKSB7CiAJCQkJaXNfaW5jb21wbGV0ZSA9IDE7CiAJCQkJYy0+b2JqZWN0LmZsYWdzIHw9IElOQ09NUExFVEU7CiAJCQl9CkBAIC0xODEsMTggKzE4MiwxOCBAQAogCQkJZm91bmQub2JqZWN0c1tpXS5pdGVtLT5mbGFncyB8PSBTRUVOOwogCX0KIAkvKiBmcmVlIG9iamVjdCBhcnJheXMgKi8KLQlmcmVlKHN0dWR5Lm9iamVjdHMpOwotCWZyZWUoZm91bmQub2JqZWN0cyk7CisJb2JqZWN0X2FycmF5X2NsZWFyKCZzdHVkeSk7CisJb2JqZWN0X2FycmF5X2NsZWFyKCZmb3VuZCk7CiAJcmV0dXJuICFpc19pbmNvbXBsZXRlOwogfQogCi1zdGF0aWMgaW50IGtlZXBfZW50cnkoc3RydWN0IGNvbW1pdCAqKml0LCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCBrZWVwX2VudHJ5KHN0cnVjdCBjb21taXQgKippdCwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAotCWlmIChpc19udWxsX3NoYTEoc2hhMSkpCisJaWYgKGlzX251bGxfb2lkKG9pZCkpCiAJCXJldHVybiAxOwotCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzaGExLCAxKTsKKwljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2lkLCAxKTsKIAlpZiAoIWNvbW1pdCkKIAkJcmV0dXJuIDA7CiAKQEAgLTIxOSw3ICsyMjAsNyBAQAogc3RhdGljIHZvaWQgbWFya19yZWFjaGFibGUoc3RydWN0IGV4cGlyZV9yZWZsb2dfcG9saWN5X2NiICpjYikKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBlbmRpbmc7Ci0JdW5zaWduZWQgbG9uZyBleHBpcmVfbGltaXQgPSBjYi0+bWFya19saW1pdDsKKwl0aW1lc3RhbXBfdCBleHBpcmVfbGltaXQgPSBjYi0+bWFya19saW1pdDsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmxlZnRvdmVyID0gTlVMTDsKIAogCWZvciAocGVuZGluZyA9IGNiLT5tYXJrX2xpc3Q7IHBlbmRpbmc7IHBlbmRpbmcgPSBwZW5kaW5nLT5uZXh0KQpAQCAtMjUxLDE3ICsyNTIsMTcgQEAKIAljYi0+bWFya19saXN0ID0gbGVmdG92ZXI7CiB9CiAKLXN0YXRpYyBpbnQgdW5yZWFjaGFibGUoc3RydWN0IGV4cGlyZV9yZWZsb2dfcG9saWN5X2NiICpjYiwgc3RydWN0IGNvbW1pdCAqY29tbWl0LCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCB1bnJlYWNoYWJsZShzdHJ1Y3QgZXhwaXJlX3JlZmxvZ19wb2xpY3lfY2IgKmNiLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAkvKgogCSAqIFdlIG1heSBvciBtYXkgbm90IGhhdmUgdGhlIGNvbW1pdCB5ZXQgLSBpZiBub3QsIGxvb2sgaXQKIAkgKiB1cCB1c2luZyB0aGUgc3VwcGxpZWQgc2hhMS4KIAkgKi8KIAlpZiAoIWNvbW1pdCkgewotCQlpZiAoaXNfbnVsbF9zaGExKHNoYTEpKQorCQlpZiAoaXNfbnVsbF9vaWQob2lkKSkKIAkJCXJldHVybiAwOwogCi0JCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzaGExLCAxKTsKKwkJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZCwgMSk7CiAKIAkJLyogTm90IGEgY29tbWl0IC0tIGtlZXAgaXQgKi8KIAkJaWYgKCFjb21taXQpCkBAIC0yODMsOCArMjg0LDggQEAKIC8qCiAgKiBSZXR1cm4gdHJ1ZSBpZmYgdGhlIHNwZWNpZmllZCByZWZsb2cgZW50cnkgc2hvdWxkIGJlIGV4cGlyZWQuCiAgKi8KLXN0YXRpYyBpbnQgc2hvdWxkX2V4cGlyZV9yZWZsb2dfZW50KHVuc2lnbmVkIGNoYXIgKm9zaGExLCB1bnNpZ25lZCBjaGFyICpuc2hhMSwKLQkJCQkgICAgY29uc3QgY2hhciAqZW1haWwsIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wLCBpbnQgdHosCitzdGF0aWMgaW50IHNob3VsZF9leHBpcmVfcmVmbG9nX2VudChzdHJ1Y3Qgb2JqZWN0X2lkICpvb2lkLCBzdHJ1Y3Qgb2JqZWN0X2lkICpub2lkLAorCQkJCSAgICBjb25zdCBjaGFyICplbWFpbCwgdGltZXN0YW1wX3QgdGltZXN0YW1wLCBpbnQgdHosCiAJCQkJICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsIHZvaWQgKmNiX2RhdGEpCiB7CiAJc3RydWN0IGV4cGlyZV9yZWZsb2dfcG9saWN5X2NiICpjYiA9IGNiX2RhdGE7CkBAIC0yOTUsMTMgKzI5NiwxMyBAQAogCiAJb2xkID0gbmV3ID0gTlVMTDsKIAlpZiAoY2ItPmNtZC5zdGFsZWZpeCAmJgotCSAgICAoIWtlZXBfZW50cnkoJm9sZCwgb3NoYTEpIHx8ICFrZWVwX2VudHJ5KCZuZXcsIG5zaGExKSkpCisJICAgICgha2VlcF9lbnRyeSgmb2xkLCBvb2lkKSB8fCAha2VlcF9lbnRyeSgmbmV3LCBub2lkKSkpCiAJCXJldHVybiAxOwogCiAJaWYgKHRpbWVzdGFtcCA8IGNiLT5jbWQuZXhwaXJlX3VucmVhY2hhYmxlKSB7CiAJCWlmIChjYi0+dW5yZWFjaGFibGVfZXhwaXJlX2tpbmQgPT0gVUVfQUxXQVlTKQogCQkJcmV0dXJuIDE7Ci0JCWlmICh1bnJlYWNoYWJsZShjYiwgb2xkLCBvc2hhMSkgfHwgdW5yZWFjaGFibGUoY2IsIG5ldywgbnNoYTEpKQorCQlpZiAodW5yZWFjaGFibGUoY2IsIG9sZCwgb29pZCkgfHwgdW5yZWFjaGFibGUoY2IsIG5ldywgbm9pZCkpCiAJCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTMxOCw3ICszMTksNyBAQAogCXN0cnVjdCBjb21taXQgKnRpcF9jb21taXQ7CiAJaWYgKGZsYWdzICYgUkVGX0lTU1lNUkVGKQogCQlyZXR1cm4gMDsKLQl0aXBfY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZC0+aGFzaCwgMSk7CisJdGlwX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShvaWQsIDEpOwogCWlmICghdGlwX2NvbW1pdCkKIAkJcmV0dXJuIDA7CiAJY29tbWl0X2xpc3RfaW5zZXJ0KHRpcF9jb21taXQsIGxpc3QpOwpAQCAtMzI2LDcgKzMyNyw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIHJlZmxvZ19leHBpcnlfcHJlcGFyZShjb25zdCBjaGFyICpyZWZuYW1lLAotCQkJCSAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCQkgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkgIHZvaWQgKmNiX2RhdGEpCiB7CiAJc3RydWN0IGV4cGlyZV9yZWZsb2dfcG9saWN5X2NiICpjYiA9IGNiX2RhdGE7CkBAIC0zMzUsNyArMzM2LDcgQEAKIAkJY2ItPnRpcF9jb21taXQgPSBOVUxMOwogCQljYi0+dW5yZWFjaGFibGVfZXhwaXJlX2tpbmQgPSBVRV9IRUFEOwogCX0gZWxzZSB7Ci0JCWNiLT50aXBfY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHNoYTEsIDEpOworCQljYi0+dGlwX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShvaWQsIDEpOwogCQlpZiAoIWNiLT50aXBfY29tbWl0KQogCQkJY2ItPnVucmVhY2hhYmxlX2V4cGlyZV9raW5kID0gVUVfQUxXQVlTOwogCQllbHNlCkBAIC0zOTIsOCArMzkzLDggQEAKIAogc3RhdGljIHN0cnVjdCByZWZsb2dfZXhwaXJlX2NmZyB7CiAJc3RydWN0IHJlZmxvZ19leHBpcmVfY2ZnICpuZXh0OwotCXVuc2lnbmVkIGxvbmcgZXhwaXJlX3RvdGFsOwotCXVuc2lnbmVkIGxvbmcgZXhwaXJlX3VucmVhY2hhYmxlOworCXRpbWVzdGFtcF90IGV4cGlyZV90b3RhbDsKKwl0aW1lc3RhbXBfdCBleHBpcmVfdW5yZWFjaGFibGU7CiAJY2hhciBwYXR0ZXJuW0ZMRVhfQVJSQVldOwogfSAqcmVmbG9nX2V4cGlyZV9jZmcsICoqcmVmbG9nX2V4cGlyZV9jZmdfdGFpbDsKIApAQCAtNDE1LDcgKzQxNiw3IEBACiAJcmV0dXJuIGVudDsKIH0KIAotc3RhdGljIGludCBwYXJzZV9leHBpcmVfY2ZnX3ZhbHVlKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHVuc2lnbmVkIGxvbmcgKmV4cGlyZSkKK3N0YXRpYyBpbnQgcGFyc2VfZXhwaXJlX2NmZ192YWx1ZShjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB0aW1lc3RhbXBfdCAqZXhwaXJlKQogewogCWlmICghdmFsdWUpCiAJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOwpAQCAtNDMzLDcgKzQzNCw3IEBACiB7CiAJY29uc3QgY2hhciAqcGF0dGVybiwgKmtleTsKIAlpbnQgcGF0dGVybl9sZW47Ci0JdW5zaWduZWQgbG9uZyBleHBpcmU7CisJdGltZXN0YW1wX3QgZXhwaXJlOwogCWludCBzbG90OwogCXN0cnVjdCByZWZsb2dfZXhwaXJlX2NmZyAqZW50OwogCkBAIC00ODUsNyArNDg2LDcgQEAKIAkJcmV0dXJuOyAvKiBib3RoIGdpdmVuIGV4cGxpY2l0bHkgLS0gbm90aGluZyB0byB0d2VhayAqLwogCiAJZm9yIChlbnQgPSByZWZsb2dfZXhwaXJlX2NmZzsgZW50OyBlbnQgPSBlbnQtPm5leHQpIHsKLQkJaWYgKCF3aWxkbWF0Y2goZW50LT5wYXR0ZXJuLCByZWYsIDAsIE5VTEwpKSB7CisJCWlmICghd2lsZG1hdGNoKGVudC0+cGF0dGVybiwgcmVmLCAwKSkgewogCQkJaWYgKCEoc2xvdCAmIEVYUElSRV9UT1RBTCkpCiAJCQkJY2ItPmV4cGlyZV90b3RhbCA9IGVudC0+ZXhwaXJlX3RvdGFsOwogCQkJaWYgKCEoc2xvdCAmIEVYUElSRV9VTlJFQUNIKSkKQEAgLTUxNSw3ICs1MTYsNyBAQAogc3RhdGljIGludCBjbWRfcmVmbG9nX2V4cGlyZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlzdHJ1Y3QgZXhwaXJlX3JlZmxvZ19wb2xpY3lfY2IgY2I7Ci0JdW5zaWduZWQgbG9uZyBub3cgPSB0aW1lKE5VTEwpOworCXRpbWVzdGFtcF90IG5vdyA9IHRpbWUoTlVMTCk7CiAJaW50IGksIHN0YXR1cywgZG9fYWxsOwogCWludCBleHBsaWNpdF9leHBpcnkgPSAwOwogCXVuc2lnbmVkIGludCBmbGFncyA9IDA7CkBAIC02MTUsOCArNjE2LDggQEAKIAlyZXR1cm4gc3RhdHVzOwogfQogCi1zdGF0aWMgaW50IGNvdW50X3JlZmxvZ19lbnQodW5zaWduZWQgY2hhciAqb3NoYTEsIHVuc2lnbmVkIGNoYXIgKm5zaGExLAotCQljb25zdCBjaGFyICplbWFpbCwgdW5zaWduZWQgbG9uZyB0aW1lc3RhbXAsIGludCB0eiwKK3N0YXRpYyBpbnQgY291bnRfcmVmbG9nX2VudChzdHJ1Y3Qgb2JqZWN0X2lkICpvb2lkLCBzdHJ1Y3Qgb2JqZWN0X2lkICpub2lkLAorCQljb25zdCBjaGFyICplbWFpbCwgdGltZXN0YW1wX3QgdGltZXN0YW1wLCBpbnQgdHosCiAJCWNvbnN0IGNoYXIgKm1lc3NhZ2UsIHZvaWQgKmNiX2RhdGEpCiB7CiAJc3RydWN0IGV4cGlyZV9yZWZsb2dfcG9saWN5X2NiICpjYiA9IGNiX2RhdGE7CmRpZmYgLS1naXQgYS9idWlsdGluL3JlbW90ZS1leHQuYyBiL2J1aWx0aW4vcmVtb3RlLWV4dC5jCmluZGV4IDExYjQ4YmYuLjZhOTEyN2EgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVtb3RlLWV4dC5jCisrKyBiL2J1aWx0aW4vcmVtb3RlLWV4dC5jCkBAIC0zLDYgKzMsOSBAQAogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicGt0LWxpbmUuaCIKIAorc3RhdGljIGNvbnN0IGNoYXIgdXNhZ2VfbXNnW10gPQorCSJnaXQgcmVtb3RlLWV4dCA8cmVtb3RlPiA8dXJsPiI7CisKIC8qCiAgKiBVUkwgc3ludGF4OgogICoJJ2NvbW1hbmQgW2FyZzEgW2FyZzIgWy4uLl1dXScJSW52b2tlIGNvbW1hbmQgd2l0aCBnaXZlbiBhcmd1bWVudHMuCkBAIC01NCw3ICs1Nyw3IEBACiAJCQkJc3BlY2lhbCA9IHN0cltycG9zXTsKIAkJCQlpZiAocnBvcyA9PSAxKQogCQkJCQlicmVhazsKLQkJCQkvKiBGYWxsLXRocm91Z2ggdG8gZXJyb3IuICovCisJCQkJLyogZmFsbHRocm91Z2ggKi8KIAkJCWRlZmF1bHQ6CiAJCQkJZGllKCJCYWQgcmVtb3RlLWV4dCBwbGFjZWhvbGRlciAnJSUlYycuIiwKIAkJCQkJc3RyW3Jwb3NdKTsKQEAgLTE5Myw3ICsxOTYsNyBAQAogaW50IGNtZF9yZW1vdGVfZXh0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWlmIChhcmdjICE9IDMpCi0JCWRpZSgiRXhwZWN0ZWQgdHdvIGFyZ3VtZW50cyIpOworCQl1c2FnZSh1c2FnZV9tc2cpOwogCiAJcmV0dXJuIGNvbW1hbmRfbG9vcChhcmd2WzJdKTsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVtb3RlLWZkLmMgYi9idWlsdGluL3JlbW90ZS1mZC5jCmluZGV4IDA4ZDcxMjEuLjkxZGZlMDcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVtb3RlLWZkLmMKKysrIGIvYnVpbHRpbi9yZW1vdGUtZmQuYwpAQCAtMSw2ICsxLDkgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCiAKK3N0YXRpYyBjb25zdCBjaGFyIHVzYWdlX21zZ1tdID0KKwkiZ2l0IHJlbW90ZS1mZCA8cmVtb3RlPiA8dXJsPiI7CisKIC8qCiAgKiBVUkwgc3ludGF4OgogICoJJ2ZkOjo8aW5vdXRmZD5bLzxhbnl0aGluZz5dJwkJUmVhZC93cml0ZSBzb2NrZXQgcGFpcgpAQCAtNTcsNyArNjAsNyBAQAogCWNoYXIgKmVuZDsKIAogCWlmIChhcmdjICE9IDMpCi0JCWRpZSgiRXhwZWN0ZWQgdHdvIGFyZ3VtZW50cyIpOworCQl1c2FnZSh1c2FnZV9tc2cpOwogCiAJaW5wdXRfZmQgPSAoaW50KXN0cnRvdWwoYXJndlsyXSwgJmVuZCwgMTApOwogCmRpZmYgLS1naXQgYS9idWlsdGluL3JlbW90ZS5jIGIvYnVpbHRpbi9yZW1vdGUuYwppbmRleCA3NjgyMjA2Li40ZjVjYWM5IDEwMDY0NAotLS0gYS9idWlsdGluL3JlbW90ZS5jCisrKyBiL2J1aWx0aW4vcmVtb3RlLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJ0cmFuc3BvcnQuaCIKICNpbmNsdWRlICJyZW1vdGUuaCIKQEAgLTMwMCw3ICszMDEsNyBAQAogCQkJfQogCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZpbmZvLT5tZXJnZSwgeHN0cmR1cCh2YWx1ZSkpOwogCQl9IGVsc2UgewotCQkJaW50IHYgPSBnaXRfY29uZmlnX21heWJlX2Jvb2wob3JpZ19rZXksIHZhbHVlKTsKKwkJCWludCB2ID0gZ2l0X3BhcnNlX21heWJlX2Jvb2wodmFsdWUpOwogCQkJaWYgKHYgPj0gMCkKIAkJCQlpbmZvLT5yZWJhc2UgPSB2OwogCQkJZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZSwgInByZXNlcnZlIikpCkBAIC01NTcsMTkgKzU1OCwxOSBAQAogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJaW50IGZsYWc7Ci0Jc3RydWN0IG9iamVjdF9pZCBvcmlnX29pZDsKIAljb25zdCBjaGFyICpzeW1yZWY7CiAKIAlzdHJidWZfYWRkZigmYnVmLCAicmVmcy9yZW1vdGVzLyVzLyIsIHJlbmFtZS0+b2xkKTsKIAlpZiAoc3RhcnRzX3dpdGgocmVmbmFtZSwgYnVmLmJ1ZikpIHsKIAkJaXRlbSA9IHN0cmluZ19saXN0X2FwcGVuZChyZW5hbWUtPnJlbW90ZV9icmFuY2hlcywgeHN0cmR1cChyZWZuYW1lKSk7CiAJCXN5bXJlZiA9IHJlc29sdmVfcmVmX3Vuc2FmZShyZWZuYW1lLCBSRVNPTFZFX1JFRl9SRUFESU5HLAotCQkJCQkgICAgb3JpZ19vaWQuaGFzaCwgJmZsYWcpOworCQkJCQkgICAgTlVMTCwgJmZsYWcpOwogCQlpZiAoZmxhZyAmIFJFRl9JU1NZTVJFRikKIAkJCWl0ZW0tPnV0aWwgPSB4c3RyZHVwKHN5bXJlZik7CiAJCWVsc2UKIAkJCWl0ZW0tPnV0aWwgPSBOVUxMOwogCX0KKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAogCXJldHVybiAwOwogfQpAQCAtNTk0LDYgKzU5NSw3IEBACiAJCXVubGlua19vcl93YXJuKGdpdF9wYXRoKCJyZW1vdGVzLyVzIiwgcmVtb3RlLT5uYW1lKSk7CiAJZWxzZSBpZiAocmVtb3RlLT5vcmlnaW4gPT0gUkVNT1RFX0JSQU5DSEVTKQogCQl1bmxpbmtfb3Jfd2FybihnaXRfcGF0aCgiYnJhbmNoZXMvJXMiLCByZW1vdGUtPm5hbWUpKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAogCXJldHVybiAwOwogfQpAQCAtNjkxLDcgKzY5Myw3IEBACiAJCXJlYWRfcmVmX2Z1bGwoaXRlbS0+c3RyaW5nLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBvaWQuaGFzaCwgJmZsYWcpOwogCQlpZiAoIShmbGFnICYgUkVGX0lTU1lNUkVGKSkKIAkJCWNvbnRpbnVlOwotCQlpZiAoZGVsZXRlX3JlZihpdGVtLT5zdHJpbmcsIE5VTEwsIFJFRl9OT0RFUkVGKSkKKwkJaWYgKGRlbGV0ZV9yZWYoTlVMTCwgaXRlbS0+c3RyaW5nLCBOVUxMLCBSRUZfTk9ERVJFRikpCiAJCQlkaWUoXygiZGVsZXRpbmcgJyVzJyBmYWlsZWQiKSwgaXRlbS0+c3RyaW5nKTsKIAl9CiAJZm9yIChpID0gMDsgaSA8IHJlbW90ZV9icmFuY2hlcy5ucjsgaSsrKSB7CkBAIC03ODYsNyArNzg4LDcgQEAKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAogCWlmICghcmVzdWx0KQotCQlyZXN1bHQgPSBkZWxldGVfcmVmcygmYnJhbmNoZXMsIFJFRl9OT0RFUkVGKTsKKwkJcmVzdWx0ID0gZGVsZXRlX3JlZnMoInJlbW90ZTogcmVtb3ZlIiwgJmJyYW5jaGVzLCBSRUZfTk9ERVJFRik7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJmJyYW5jaGVzLCAwKTsKIAogCWlmIChza2lwcGVkLm5yKSB7CkBAIC0xMTUxLDggKzExNTMsMTEgQEAKIAkJCXVybF9uciA9IHN0YXRlcy5yZW1vdGUtPnVybF9ucjsKIAkJfQogCQlmb3IgKGkgPSAwOyBpIDwgdXJsX25yOyBpKyspCi0JCQkvKiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAotCQkJICAgdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbiAqLworCQkJLyoKKwkJCSAqIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbgorCQkJICogd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKKwkJCSAqIHRyYW5zbGF0aW9uLgorCQkJICovCiAJCQlwcmludGZfbG4oXygiICBQdXNoICBVUkw6ICVzIiksIHVybFtpXSk7CiAJCWlmICghaSkKIAkJCXByaW50Zl9sbihfKCIgIFB1c2ggIFVSTDogJXMiKSwgXygiKG5vIFVSTCkiKSk7CkBAIC0xMjUwLDcgKzEyNTUsNyBAQAogCQkJaGVhZF9uYW1lID0geHN0cmR1cChzdGF0ZXMuaGVhZHMuaXRlbXNbMF0uc3RyaW5nKTsKIAkJZnJlZV9yZW1vdGVfcmVmX3N0YXRlcygmc3RhdGVzKTsKIAl9IGVsc2UgaWYgKG9wdF9kICYmICFvcHRfYSAmJiBhcmdjID09IDEpIHsKLQkJaWYgKGRlbGV0ZV9yZWYoYnVmLmJ1ZiwgTlVMTCwgUkVGX05PREVSRUYpKQorCQlpZiAoZGVsZXRlX3JlZihOVUxMLCBidWYuYnVmLCBOVUxMLCBSRUZfTk9ERVJFRikpCiAJCQlyZXN1bHQgfD0gZXJyb3IoXygiQ291bGQgbm90IGRlbGV0ZSAlcyIpLCBidWYuYnVmKTsKIAl9IGVsc2UKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fcmVtb3RlX3NldGhlYWRfdXNhZ2UsIG9wdGlvbnMpOwpAQCAtMTMwMSw3ICsxMzA2LDcgQEAKIAlzdHJpbmdfbGlzdF9zb3J0KCZyZWZzX3RvX3BydW5lKTsKIAogCWlmICghZHJ5X3J1bikKLQkJcmVzdWx0IHw9IGRlbGV0ZV9yZWZzKCZyZWZzX3RvX3BydW5lLCAwKTsKKwkJcmVzdWx0IHw9IGRlbGV0ZV9yZWZzKCJyZW1vdGU6IHBydW5lIiwgJnJlZnNfdG9fcHJ1bmUsIDApOwogCiAJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCAmc3RhdGVzLnN0YWxlKSB7CiAJCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSBpdGVtLT51dGlsOwpAQCAtMTU1OSw5ICsxNTY0LDcgQEAKIAkJCQkJCSAgICAgICAiXiQiLCAwKTsKIAkJZWxzZQogCQkJZ2l0X2NvbmZpZ19zZXQobmFtZV9idWYuYnVmLCBuZXd1cmwpOwotCQlzdHJidWZfcmVsZWFzZSgmbmFtZV9idWYpOwotCi0JCXJldHVybiAwOworCQlnb3RvIG91dDsKIAl9CiAKIAkvKiBPbGQgVVJMIHNwZWNpZmllZC4gRGVtYW5kIHRoYXQgb25lIG1hdGNoZXMuICovCkBAIC0xNTg0LDYgKzE1ODcsOCBAQAogCQlnaXRfY29uZmlnX3NldF9tdWx0aXZhcihuYW1lX2J1Zi5idWYsIG5ld3VybCwgb2xkdXJsLCAwKTsKIAllbHNlCiAJCWdpdF9jb25maWdfc2V0X211bHRpdmFyKG5hbWVfYnVmLmJ1ZiwgTlVMTCwgb2xkdXJsLCAxKTsKK291dDoKKwlzdHJidWZfcmVsZWFzZSgmbmFtZV9idWYpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9idWlsdGluL3JlcGFjay5jIGIvYnVpbHRpbi9yZXBhY2suYwppbmRleCA2NzdiYzdjLi5mMTdhNjhhIDEwMDY0NAotLS0gYS9idWlsdGluL3JlcGFjay5jCisrKyBiL2J1aWx0aW4vcmVwYWNrLmMKQEAgLTEsNSArMSw2IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZGlyLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCkBAIC0xNTUsNiArMTU2LDcgQEAKIAlpbnQga2VlcF91bnJlYWNoYWJsZSA9IDA7CiAJY29uc3QgY2hhciAqd2luZG93ID0gTlVMTCwgKndpbmRvd19tZW1vcnkgPSBOVUxMOwogCWNvbnN0IGNoYXIgKmRlcHRoID0gTlVMTDsKKwljb25zdCBjaGFyICp0aHJlYWRzID0gTlVMTDsKIAljb25zdCBjaGFyICptYXhfcGFja19zaXplID0gTlVMTDsKIAlpbnQgbm9fcmV1c2VfZGVsdGEgPSAwLCBub19yZXVzZV9vYmplY3QgPSAwOwogCWludCBub191cGRhdGVfc2VydmVyX2luZm8gPSAwOwpAQCAtMTkwLDYgKzE5Miw4IEBACiAJCQkJTl8oInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IikpLAogCQlPUFRfU1RSSU5HKDAsICJkZXB0aCIsICZkZXB0aCwgTl8oIm4iKSwKIAkJCQlOXygibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIikpLAorCQlPUFRfU1RSSU5HKDAsICJ0aHJlYWRzIiwgJnRocmVhZHMsIE5fKCJuIiksCisJCQkJTl8oImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIpKSwKIAkJT1BUX1NUUklORygwLCAibWF4LXBhY2stc2l6ZSIsICZtYXhfcGFja19zaXplLCBOXygiYnl0ZXMiKSwKIAkJCQlOXygibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiKSksCiAJCU9QVF9CT09MKDAsICJwYWNrLWtlcHQtb2JqZWN0cyIsICZwYWNrX2tlcHRfb2JqZWN0cywKQEAgLTIzNCw2ICsyMzgsOCBAQAogCQlhcmd2X2FycmF5X3B1c2hmKCZjbWQuYXJncywgIi0td2luZG93LW1lbW9yeT0lcyIsIHdpbmRvd19tZW1vcnkpOwogCWlmIChkZXB0aCkKIAkJYXJndl9hcnJheV9wdXNoZigmY21kLmFyZ3MsICItLWRlcHRoPSVzIiwgZGVwdGgpOworCWlmICh0aHJlYWRzKQorCQlhcmd2X2FycmF5X3B1c2hmKCZjbWQuYXJncywgIi0tdGhyZWFkcz0lcyIsIHRocmVhZHMpOwogCWlmIChtYXhfcGFja19zaXplKQogCQlhcmd2X2FycmF5X3B1c2hmKCZjbWQuYXJncywgIi0tbWF4LXBhY2stc2l6ZT0lcyIsIG1heF9wYWNrX3NpemUpOwogCWlmIChub19yZXVzZV9kZWx0YSkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVwbGFjZS5jIGIvYnVpbHRpbi9yZXBsYWNlLmMKaW5kZXggYjU4YzcxNC4uM2U3MWE3NyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXBsYWNlLmMKKysrIGIvYnVpbHRpbi9yZXBsYWNlLmMKQEAgLTksNiArOSw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCkBAIC00MCw3ICs0MSw3IEBACiB7CiAJc3RydWN0IHNob3dfZGF0YSAqZGF0YSA9IGNiX2RhdGE7CiAKLQlpZiAoIXdpbGRtYXRjaChkYXRhLT5wYXR0ZXJuLCByZWZuYW1lLCAwLCBOVUxMKSkgeworCWlmICghd2lsZG1hdGNoKGRhdGEtPnBhdHRlcm4sIHJlZm5hbWUsIDApKSB7CiAJCWlmIChkYXRhLT5mb3JtYXQgPT0gUkVQTEFDRV9GT1JNQVRfU0hPUlQpCiAJCQlwcmludGYoIiVzXG4iLCByZWZuYW1lKTsKIAkJZWxzZSBpZiAoZGF0YS0+Zm9ybWF0ID09IFJFUExBQ0VfRk9STUFUX01FRElVTSkKQEAgLTQ5LDcgKzUwLDcgQEAKIAkJCXN0cnVjdCBvYmplY3RfaWQgb2JqZWN0OwogCQkJZW51bSBvYmplY3RfdHlwZSBvYmpfdHlwZSwgcmVwbF90eXBlOwogCi0JCQlpZiAoZ2V0X3NoYTEocmVmbmFtZSwgb2JqZWN0Lmhhc2gpKQorCQkJaWYgKGdldF9vaWQocmVmbmFtZSwgJm9iamVjdCkpCiAJCQkJcmV0dXJuIGVycm9yKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIsIHJlZm5hbWUpOwogCiAJCQlvYmpfdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8ob2JqZWN0Lmhhc2gsIE5VTEwpOwpAQCAtODgsNzggKzg5LDgxIEBACiB9CiAKIHR5cGVkZWYgaW50ICgqZWFjaF9yZXBsYWNlX25hbWVfZm4pKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnJlZiwKLQkJCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CisJCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CiAKIHN0YXRpYyBpbnQgZm9yX2VhY2hfcmVwbGFjZV9uYW1lKGNvbnN0IGNoYXIgKiphcmd2LCBlYWNoX3JlcGxhY2VfbmFtZV9mbiBmbikKIHsKIAljb25zdCBjaGFyICoqcCwgKmZ1bGxfaGV4OwotCWNoYXIgcmVmW1BBVEhfTUFYXTsKKwlzdHJ1Y3Qgc3RyYnVmIHJlZiA9IFNUUkJVRl9JTklUOworCXNpemVfdCBiYXNlX2xlbjsKIAlpbnQgaGFkX2Vycm9yID0gMDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCisJc3RyYnVmX2FkZHN0cigmcmVmLCBnaXRfcmVwbGFjZV9yZWZfYmFzZSk7CisJYmFzZV9sZW4gPSByZWYubGVuOwogCiAJZm9yIChwID0gYXJndjsgKnA7IHArKykgewotCQlpZiAoZ2V0X3NoYTEoKnAsIHNoYTEpKSB7CisJCWlmIChnZXRfb2lkKCpwLCAmb2lkKSkgewogCQkJZXJyb3IoIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiwgKnApOwogCQkJaGFkX2Vycm9yID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWZ1bGxfaGV4ID0gc2hhMV90b19oZXgoc2hhMSk7Ci0JCXNucHJpbnRmKHJlZiwgc2l6ZW9mKHJlZiksICIlcyVzIiwgZ2l0X3JlcGxhY2VfcmVmX2Jhc2UsIGZ1bGxfaGV4KTsKLQkJLyogcmVhZF9yZWYoKSBtYXkgcmV1c2UgdGhlIGJ1ZmZlciAqLwotCQlmdWxsX2hleCA9IHJlZiArIHN0cmxlbihnaXRfcmVwbGFjZV9yZWZfYmFzZSk7Ci0JCWlmIChyZWFkX3JlZihyZWYsIHNoYTEpKSB7CisKKwkJc3RyYnVmX3NldGxlbigmcmVmLCBiYXNlX2xlbik7CisJCXN0cmJ1Zl9hZGRzdHIoJnJlZiwgb2lkX3RvX2hleCgmb2lkKSk7CisJCWZ1bGxfaGV4ID0gcmVmLmJ1ZiArIGJhc2VfbGVuOworCisJCWlmIChyZWFkX3JlZihyZWYuYnVmLCBvaWQuaGFzaCkpIHsKIAkJCWVycm9yKCJyZXBsYWNlIHJlZiAnJXMnIG5vdCBmb3VuZC4iLCBmdWxsX2hleCk7CiAJCQloYWRfZXJyb3IgPSAxOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKGZuKGZ1bGxfaGV4LCByZWYsIHNoYTEpKQorCQlpZiAoZm4oZnVsbF9oZXgsIHJlZi5idWYsICZvaWQpKQogCQkJaGFkX2Vycm9yID0gMTsKIAl9CisJc3RyYnVmX3JlbGVhc2UoJnJlZik7CiAJcmV0dXJuIGhhZF9lcnJvcjsKIH0KIAogc3RhdGljIGludCBkZWxldGVfcmVwbGFjZV9yZWYoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcmVmLAotCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlpZiAoZGVsZXRlX3JlZihyZWYsIHNoYTEsIDApKQorCWlmIChkZWxldGVfcmVmKE5VTEwsIHJlZiwgb2lkLT5oYXNoLCAwKSkKIAkJcmV0dXJuIDE7CiAJcHJpbnRmKCJEZWxldGVkIHJlcGxhY2UgcmVmICclcydcbiIsIG5hbWUpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBjaGVja19yZWZfdmFsaWQodW5zaWduZWQgY2hhciBvYmplY3RbMjBdLAotCQkJICAgIHVuc2lnbmVkIGNoYXIgcHJldlsyMF0sCi0JCQkgICAgY2hhciAqcmVmLAotCQkJICAgIGludCByZWZfc2l6ZSwKK3N0YXRpYyB2b2lkIGNoZWNrX3JlZl92YWxpZChzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3QsCisJCQkgICAgc3RydWN0IG9iamVjdF9pZCAqcHJldiwKKwkJCSAgICBzdHJ1Y3Qgc3RyYnVmICpyZWYsCiAJCQkgICAgaW50IGZvcmNlKQogewotCWlmIChzbnByaW50ZihyZWYsIHJlZl9zaXplLAotCQkgICAgICIlcyVzIiwgZ2l0X3JlcGxhY2VfcmVmX2Jhc2UsCi0JCSAgICAgc2hhMV90b19oZXgob2JqZWN0KSkgPiByZWZfc2l6ZSAtIDEpCi0JCWRpZSgicmVwbGFjZSByZWYgbmFtZSB0b28gbG9uZzogJS4qcy4uLiIsIDUwLCByZWYpOwotCWlmIChjaGVja19yZWZuYW1lX2Zvcm1hdChyZWYsIDApKQotCQlkaWUoIiclcycgaXMgbm90IGEgdmFsaWQgcmVmIG5hbWUuIiwgcmVmKTsKKwlzdHJidWZfcmVzZXQocmVmKTsKKwlzdHJidWZfYWRkZihyZWYsICIlcyVzIiwgZ2l0X3JlcGxhY2VfcmVmX2Jhc2UsIG9pZF90b19oZXgob2JqZWN0KSk7CisJaWYgKGNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZi0+YnVmLCAwKSkKKwkJZGllKCInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZiBuYW1lLiIsIHJlZi0+YnVmKTsKIAotCWlmIChyZWFkX3JlZihyZWYsIHByZXYpKQotCQloYXNoY2xyKHByZXYpOworCWlmIChyZWFkX3JlZihyZWYtPmJ1ZiwgcHJldi0+aGFzaCkpCisJCW9pZGNscihwcmV2KTsKIAllbHNlIGlmICghZm9yY2UpCi0JCWRpZSgicmVwbGFjZSByZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIsIHJlZik7CisJCWRpZSgicmVwbGFjZSByZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIsIHJlZi0+YnVmKTsKIH0KIAotc3RhdGljIGludCByZXBsYWNlX29iamVjdF9zaGExKGNvbnN0IGNoYXIgKm9iamVjdF9yZWYsCi0JCQkgICAgICAgdW5zaWduZWQgY2hhciBvYmplY3RbMjBdLAorc3RhdGljIGludCByZXBsYWNlX29iamVjdF9vaWQoY29uc3QgY2hhciAqb2JqZWN0X3JlZiwKKwkJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3QsCiAJCQkgICAgICAgY29uc3QgY2hhciAqcmVwbGFjZV9yZWYsCi0JCQkgICAgICAgdW5zaWduZWQgY2hhciByZXBsWzIwXSwKKwkJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXBsLAogCQkJICAgICAgIGludCBmb3JjZSkKIHsKLQl1bnNpZ25lZCBjaGFyIHByZXZbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgcHJldjsKIAllbnVtIG9iamVjdF90eXBlIG9ial90eXBlLCByZXBsX3R5cGU7Ci0JY2hhciByZWZbUEFUSF9NQVhdOworCXN0cnVjdCBzdHJidWYgcmVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb247CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAotCW9ial90eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvYmplY3QsIE5VTEwpOwotCXJlcGxfdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8ocmVwbCwgTlVMTCk7CisJb2JqX3R5cGUgPSBzaGExX29iamVjdF9pbmZvKG9iamVjdC0+aGFzaCwgTlVMTCk7CisJcmVwbF90eXBlID0gc2hhMV9vYmplY3RfaW5mbyhyZXBsLT5oYXNoLCBOVUxMKTsKIAlpZiAoIWZvcmNlICYmIG9ial90eXBlICE9IHJlcGxfdHlwZSkKIAkJZGllKCJPYmplY3RzIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZS5cbiIKIAkJICAgICInJXMnIHBvaW50cyB0byBhIHJlcGxhY2VkIG9iamVjdCBvZiB0eXBlICclcydcbiIKQEAgLTE2NywyOSArMTcxLDMwIEBACiAJCSAgICBvYmplY3RfcmVmLCB0eXBlbmFtZShvYmpfdHlwZSksCiAJCSAgICByZXBsYWNlX3JlZiwgdHlwZW5hbWUocmVwbF90eXBlKSk7CiAKLQljaGVja19yZWZfdmFsaWQob2JqZWN0LCBwcmV2LCByZWYsIHNpemVvZihyZWYpLCBmb3JjZSk7CisJY2hlY2tfcmVmX3ZhbGlkKG9iamVjdCwgJnByZXYsICZyZWYsIGZvcmNlKTsKIAogCXRyYW5zYWN0aW9uID0gcmVmX3RyYW5zYWN0aW9uX2JlZ2luKCZlcnIpOwogCWlmICghdHJhbnNhY3Rpb24gfHwKLQkgICAgcmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSh0cmFuc2FjdGlvbiwgcmVmLCByZXBsLCBwcmV2LAorCSAgICByZWZfdHJhbnNhY3Rpb25fdXBkYXRlKHRyYW5zYWN0aW9uLCByZWYuYnVmLCByZXBsLT5oYXNoLCBwcmV2Lmhhc2gsCiAJCQkJICAgMCwgTlVMTCwgJmVycikgfHwKIAkgICAgcmVmX3RyYW5zYWN0aW9uX2NvbW1pdCh0cmFuc2FjdGlvbiwgJmVycikpCiAJCWRpZSgiJXMiLCBlcnIuYnVmKTsKIAogCXJlZl90cmFuc2FjdGlvbl9mcmVlKHRyYW5zYWN0aW9uKTsKKwlzdHJidWZfcmVsZWFzZSgmcmVmKTsKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCByZXBsYWNlX29iamVjdChjb25zdCBjaGFyICpvYmplY3RfcmVmLCBjb25zdCBjaGFyICpyZXBsYWNlX3JlZiwgaW50IGZvcmNlKQogewotCXVuc2lnbmVkIGNoYXIgb2JqZWN0WzIwXSwgcmVwbFsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvYmplY3QsIHJlcGw7CiAKLQlpZiAoZ2V0X3NoYTEob2JqZWN0X3JlZiwgb2JqZWN0KSkKKwlpZiAoZ2V0X29pZChvYmplY3RfcmVmLCAmb2JqZWN0KSkKIAkJZGllKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIsIG9iamVjdF9yZWYpOwotCWlmIChnZXRfc2hhMShyZXBsYWNlX3JlZiwgcmVwbCkpCisJaWYgKGdldF9vaWQocmVwbGFjZV9yZWYsICZyZXBsKSkKIAkJZGllKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIsIHJlcGxhY2VfcmVmKTsKIAotCXJldHVybiByZXBsYWNlX29iamVjdF9zaGExKG9iamVjdF9yZWYsIG9iamVjdCwgcmVwbGFjZV9yZWYsIHJlcGwsIGZvcmNlKTsKKwlyZXR1cm4gcmVwbGFjZV9vYmplY3Rfb2lkKG9iamVjdF9yZWYsICZvYmplY3QsIHJlcGxhY2VfcmVmLCAmcmVwbCwgZm9yY2UpOwogfQogCiAvKgpAQCAtMTk3LDcgKzIwMiw3IEBACiAgKiBJZiAicmF3IiBpcyB0cnVlLCB0aGVuIHRoZSBvYmplY3QncyByYXcgY29udGVudHMgYXJlIHByaW50ZWQgYWNjb3JkaW5nIHRvCiAgKiAidHlwZSIuIE90aGVyd2lzZSwgd2UgcHJldHR5LXByaW50IHRoZSBjb250ZW50cyBmb3IgaHVtYW4gZWRpdGluZy4KICAqLwotc3RhdGljIHZvaWQgZXhwb3J0X29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlIHR5cGUsCitzdGF0aWMgdm9pZCBleHBvcnRfb2JqZWN0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgZW51bSBvYmplY3RfdHlwZSB0eXBlLAogCQkJICBpbnQgcmF3LCBjb25zdCBjaGFyICpmaWxlbmFtZSkKIHsKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbWQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CkBAIC0yMTMsNyArMjE4LDcgQEAKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgdHlwZW5hbWUodHlwZSkpOwogCWVsc2UKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi1wIik7Ci0JYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgc2hhMV90b19oZXgoc2hhMSkpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsIG9pZF90b19oZXgob2lkKSk7CiAJY21kLmdpdF9jbWQgPSAxOwogCWNtZC5vdXQgPSBmZDsKIApAQCAtMjI2LDcgKzIzMSw3IEBACiAgKiBpbnRlcnByZXRpbmcgaXQgYXMgInR5cGUiLCBhbmQgd3JpdGluZyB0aGUgcmVzdWx0IHRvIHRoZSBvYmplY3QgZGF0YWJhc2UuCiAgKiBUaGUgc2hhMSBvZiB0aGUgd3JpdHRlbiBvYmplY3QgaXMgcmV0dXJuZWQgdmlhIHNoYTEuCiAgKi8KLXN0YXRpYyB2b2lkIGltcG9ydF9vYmplY3QodW5zaWduZWQgY2hhciAqc2hhMSwgZW51bSBvYmplY3RfdHlwZSB0eXBlLAorc3RhdGljIHZvaWQgaW1wb3J0X29iamVjdChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwKIAkJCSAgaW50IHJhdywgY29uc3QgY2hhciAqZmlsZW5hbWUpCiB7CiAJaW50IGZkOwpAQCAtMjU0LDcgKzI1OSw3IEBACiAKIAkJaWYgKGZpbmlzaF9jb21tYW5kKCZjbWQpKQogCQkJZGllKCJta3RyZWUgcmVwb3J0ZWQgZmFpbHVyZSIpOwotCQlpZiAoZ2V0X3NoYTFfaGV4KHJlc3VsdC5idWYsIHNoYTEpIDwgMCkKKwkJaWYgKGdldF9vaWRfaGV4KHJlc3VsdC5idWYsIG9pZCkgPCAwKQogCQkJZGllKCJta3RyZWUgZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0IG5hbWUiKTsKIAogCQlzdHJidWZfcmVsZWFzZSgmcmVzdWx0KTsKQEAgLTI2NCw3ICsyNjksNyBAQAogCiAJCWlmIChmc3RhdChmZCwgJnN0KSA8IDApCiAJCQlkaWVfZXJybm8oInVuYWJsZSB0byBmc3RhdCAlcyIsIGZpbGVuYW1lKTsKLQkJaWYgKGluZGV4X2ZkKHNoYTEsIGZkLCAmc3QsIHR5cGUsIE5VTEwsIGZsYWdzKSA8IDApCisJCWlmIChpbmRleF9mZChvaWQsIGZkLCAmc3QsIHR5cGUsIE5VTEwsIGZsYWdzKSA8IDApCiAJCQlkaWUoInVuYWJsZSB0byB3cml0ZSBvYmplY3QgdG8gZGF0YWJhc2UiKTsKIAkJLyogaW5kZXhfZmQgY2xvc2UoKXMgZmQgZm9yIHVzICovCiAJfQpAQCAtMjc5LDI5ICsyODQsMzAgQEAKIHsKIAljaGFyICp0bXBmaWxlID0gZ2l0X3BhdGhkdXAoIlJFUExBQ0VfRURJVE9CSiIpOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKLQl1bnNpZ25lZCBjaGFyIG9sZFsyMF0sIG5ld1syMF0sIHByZXZbMjBdOwotCWNoYXIgcmVmW1BBVEhfTUFYXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9sZCwgbmV3LCBwcmV2OworCXN0cnVjdCBzdHJidWYgcmVmID0gU1RSQlVGX0lOSVQ7CiAKLQlpZiAoZ2V0X3NoYTEob2JqZWN0X3JlZiwgb2xkKSA8IDApCisJaWYgKGdldF9vaWQob2JqZWN0X3JlZiwgJm9sZCkgPCAwKQogCQlkaWUoIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIiwgb2JqZWN0X3JlZik7CiAKLQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvbGQsIE5VTEwpOworCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKG9sZC5oYXNoLCBOVUxMKTsKIAlpZiAodHlwZSA8IDApCi0JCWRpZSgidW5hYmxlIHRvIGdldCBvYmplY3QgdHlwZSBmb3IgJXMiLCBzaGExX3RvX2hleChvbGQpKTsKKwkJZGllKCJ1bmFibGUgdG8gZ2V0IG9iamVjdCB0eXBlIGZvciAlcyIsIG9pZF90b19oZXgoJm9sZCkpOwogCi0JY2hlY2tfcmVmX3ZhbGlkKG9sZCwgcHJldiwgcmVmLCBzaXplb2YocmVmKSwgZm9yY2UpOworCWNoZWNrX3JlZl92YWxpZCgmb2xkLCAmcHJldiwgJnJlZiwgZm9yY2UpOworCXN0cmJ1Zl9yZWxlYXNlKCZyZWYpOwogCi0JZXhwb3J0X29iamVjdChvbGQsIHR5cGUsIHJhdywgdG1wZmlsZSk7CisJZXhwb3J0X29iamVjdCgmb2xkLCB0eXBlLCByYXcsIHRtcGZpbGUpOwogCWlmIChsYXVuY2hfZWRpdG9yKHRtcGZpbGUsIE5VTEwsIE5VTEwpIDwgMCkKIAkJZGllKCJlZGl0aW5nIG9iamVjdCBmaWxlIGZhaWxlZCIpOwotCWltcG9ydF9vYmplY3QobmV3LCB0eXBlLCByYXcsIHRtcGZpbGUpOworCWltcG9ydF9vYmplY3QoJm5ldywgdHlwZSwgcmF3LCB0bXBmaWxlKTsKIAogCWZyZWUodG1wZmlsZSk7CiAKLQlpZiAoIWhhc2hjbXAob2xkLCBuZXcpKQotCQlyZXR1cm4gZXJyb3IoIm5ldyBvYmplY3QgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciLCBzaGExX3RvX2hleChvbGQpKTsKKwlpZiAoIW9pZGNtcCgmb2xkLCAmbmV3KSkKKwkJcmV0dXJuIGVycm9yKCJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIiwgb2lkX3RvX2hleCgmb2xkKSk7CiAKLQlyZXR1cm4gcmVwbGFjZV9vYmplY3Rfc2hhMShvYmplY3RfcmVmLCBvbGQsICJyZXBsYWNlbWVudCIsIG5ldywgZm9yY2UpOworCXJldHVybiByZXBsYWNlX29iamVjdF9vaWQob2JqZWN0X3JlZiwgJm9sZCwgInJlcGxhY2VtZW50IiwgJm5ldywgZm9yY2UpOwogfQogCiBzdGF0aWMgdm9pZCByZXBsYWNlX3BhcmVudHMoc3RydWN0IHN0cmJ1ZiAqYnVmLCBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCkBAIC0zMTIsNyArMzE4LDcgQEAKIAogCS8qIGZpbmQgZXhpc3RpbmcgcGFyZW50cyAqLwogCXBhcmVudF9zdGFydCA9IGJ1Zi0+YnVmOwotCXBhcmVudF9zdGFydCArPSA0NjsgLyogInRyZWUgIiArICJoZXggc2hhMSIgKyAiXG4iICovCisJcGFyZW50X3N0YXJ0ICs9IEdJVF9TSEExX0hFWFNaICsgNjsgLyogInRyZWUgIiArICJoZXggc2hhMSIgKyAiXG4iICovCiAJcGFyZW50X2VuZCA9IHBhcmVudF9zdGFydDsKIAogCXdoaWxlIChzdGFydHNfd2l0aChwYXJlbnRfZW5kLCAicGFyZW50ICIpKQpAQCAtMzIwLDExICszMjYsMTEgQEAKIAogCS8qIHByZXBhcmUgbmV3IHBhcmVudHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0JCWlmIChnZXRfc2hhMShhcmd2W2ldLCBzaGExKSA8IDApCisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCQlpZiAoZ2V0X29pZChhcmd2W2ldLCAmb2lkKSA8IDApCiAJCQlkaWUoXygiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciKSwgYXJndltpXSk7Ci0JCWxvb2t1cF9jb21taXRfb3JfZGllKHNoYTEsIGFyZ3ZbaV0pOwotCQlzdHJidWZfYWRkZigmbmV3X3BhcmVudHMsICJwYXJlbnQgJXNcbiIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJbG9va3VwX2NvbW1pdF9vcl9kaWUoJm9pZCwgYXJndltpXSk7CisJCXN0cmJ1Zl9hZGRmKCZuZXdfcGFyZW50cywgInBhcmVudCAlc1xuIiwgb2lkX3RvX2hleCgmb2lkKSk7CiAJfQogCiAJLyogcmVwbGFjZSBleGlzdGluZyBwYXJlbnRzIHdpdGggbmV3IG9uZXMgKi8KQEAgLTM0NSwxMiArMzUxLDEyIEBACiB7CiAJc3RydWN0IGNoZWNrX21lcmdldGFnX2RhdGEgKm1lcmdldGFnX2RhdGEgPSAoc3RydWN0IGNoZWNrX21lcmdldGFnX2RhdGEgKilkYXRhOwogCWNvbnN0IGNoYXIgKnJlZiA9IG1lcmdldGFnX2RhdGEtPmFyZ3ZbMF07Ci0JdW5zaWduZWQgY2hhciB0YWdfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCB0YWdfb2lkOwogCXN0cnVjdCB0YWcgKnRhZzsKIAlpbnQgaTsKIAotCWhhc2hfc2hhMV9maWxlKGV4dHJhLT52YWx1ZSwgZXh0cmEtPmxlbiwgdHlwZW5hbWUoT0JKX1RBRyksIHRhZ19zaGExKTsKLQl0YWcgPSBsb29rdXBfdGFnKHRhZ19zaGExKTsKKwloYXNoX3NoYTFfZmlsZShleHRyYS0+dmFsdWUsIGV4dHJhLT5sZW4sIHR5cGVuYW1lKE9CSl9UQUcpLCB0YWdfb2lkLmhhc2gpOworCXRhZyA9IGxvb2t1cF90YWcoJnRhZ19vaWQpOwogCWlmICghdGFnKQogCQlkaWUoXygiYmFkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIiksIHJlZik7CiAJaWYgKHBhcnNlX3RhZ19idWZmZXIodGFnLCBleHRyYS0+dmFsdWUsIGV4dHJhLT5sZW4pKQpAQCAtMzU5LDE0ICszNjUsMTQgQEAKIAkvKiBpdGVyYXRlIG92ZXIgbmV3IHBhcmVudHMgKi8KIAlmb3IgKGkgPSAxOyBpIDwgbWVyZ2V0YWdfZGF0YS0+YXJnYzsgaSsrKSB7CiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCQlpZiAoZ2V0X3NoYTEobWVyZ2V0YWdfZGF0YS0+YXJndltpXSwgb2lkLmhhc2gpIDwgMCkKKwkJaWYgKGdldF9vaWQobWVyZ2V0YWdfZGF0YS0+YXJndltpXSwgJm9pZCkgPCAwKQogCQkJZGllKF8oIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIiksIG1lcmdldGFnX2RhdGEtPmFyZ3ZbaV0pOwogCQlpZiAoIW9pZGNtcCgmdGFnLT50YWdnZWQtPm9pZCwgJm9pZCkpCiAJCQlyZXR1cm47IC8qIGZvdW5kICovCiAJfQogCiAJZGllKF8oIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7ICIKLQkgICAgICAidXNlIC0tZWRpdCBpbnN0ZWFkIG9mIC0tZ3JhZnQiKSwgcmVmLCBzaGExX3RvX2hleCh0YWdfc2hhMSkpOworCSAgICAgICJ1c2UgLS1lZGl0IGluc3RlYWQgb2YgLS1ncmFmdCIpLCByZWYsIG9pZF90b19oZXgoJnRhZ19vaWQpKTsKIH0KIAogc3RhdGljIHZvaWQgY2hlY2tfbWVyZ2V0YWdzKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQpAQCAtMzgwLDE2ICszODYsMTYgQEAKIAogc3RhdGljIGludCBjcmVhdGVfZ3JhZnQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBpbnQgZm9yY2UpCiB7Ci0JdW5zaWduZWQgY2hhciBvbGRbMjBdLCBuZXdbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2xkLCBuZXc7CiAJY29uc3QgY2hhciAqb2xkX3JlZiA9IGFyZ3ZbMF07CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqYnVmZmVyOwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAotCWlmIChnZXRfc2hhMShvbGRfcmVmLCBvbGQpIDwgMCkKKwlpZiAoZ2V0X29pZChvbGRfcmVmLCAmb2xkKSA8IDApCiAJCWRpZShfKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIpLCBvbGRfcmVmKTsKLQljb21taXQgPSBsb29rdXBfY29tbWl0X29yX2RpZShvbGQsIG9sZF9yZWYpOworCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfb3JfZGllKCZvbGQsIG9sZF9yZWYpOwogCiAJYnVmZmVyID0gZ2V0X2NvbW1pdF9idWZmZXIoY29tbWl0LCAmc2l6ZSk7CiAJc3RyYnVmX2FkZCgmYnVmLCBidWZmZXIsIHNpemUpOwpAQCAtNDA0LDE1ICs0MTAsMTUgQEAKIAogCWNoZWNrX21lcmdldGFncyhjb21taXQsIGFyZ2MsIGFyZ3YpOwogCi0JaWYgKHdyaXRlX3NoYTFfZmlsZShidWYuYnVmLCBidWYubGVuLCBjb21taXRfdHlwZSwgbmV3KSkKKwlpZiAod3JpdGVfc2hhMV9maWxlKGJ1Zi5idWYsIGJ1Zi5sZW4sIGNvbW1pdF90eXBlLCBuZXcuaGFzaCkpCiAJCWRpZShfKCJjb3VsZCBub3Qgd3JpdGUgcmVwbGFjZW1lbnQgY29tbWl0IGZvcjogJyVzJyIpLCBvbGRfcmVmKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCi0JaWYgKCFoYXNoY21wKG9sZCwgbmV3KSkKLQkJcmV0dXJuIGVycm9yKCJuZXcgY29tbWl0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIiwgc2hhMV90b19oZXgob2xkKSk7CisJaWYgKCFvaWRjbXAoJm9sZCwgJm5ldykpCisJCXJldHVybiBlcnJvcigibmV3IGNvbW1pdCBpcyB0aGUgc2FtZSBhcyB0aGUgb2xkIG9uZTogJyVzJyIsIG9pZF90b19oZXgoJm9sZCkpOwogCi0JcmV0dXJuIHJlcGxhY2Vfb2JqZWN0X3NoYTEob2xkX3JlZiwgb2xkLCAicmVwbGFjZW1lbnQiLCBuZXcsIGZvcmNlKTsKKwlyZXR1cm4gcmVwbGFjZV9vYmplY3Rfb2lkKG9sZF9yZWYsICZvbGQsICJyZXBsYWNlbWVudCIsICZuZXcsIGZvcmNlKTsKIH0KIAogaW50IGNtZF9yZXBsYWNlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXJlcmUuYyBiL2J1aWx0aW4vcmVyZXJlLmMKaW5kZXggMWJmNzI0Mi4uMGJjNDAyOSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXJlcmUuYworKysgYi9idWlsdGluL3JlcmVyZS5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgpAQCAtMTcsNyArMTgsNyBAQAogewogCWludCBpOwogCWZvciAoaSA9IDA7IGkgPCBuYnVmOyBpKyspCi0JCWlmICh3cml0ZV9pbl9mdWxsKDEsIHB0cltpXS5wdHIsIHB0cltpXS5zaXplKSAhPSBwdHJbaV0uc2l6ZSkKKwkJaWYgKHdyaXRlX2luX2Z1bGwoMSwgcHRyW2ldLnB0ciwgcHRyW2ldLnNpemUpIDwgMCkKIAkJCXJldHVybiAtMTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVzZXQuYyBiL2J1aWx0aW4vcmVzZXQuYwppbmRleCA4YWI5MTViLi45Y2Q4OWIyIDEwMDY0NAotLS0gYS9idWlsdGluL3Jlc2V0LmMKKysrIGIvYnVpbHRpbi9yZXNldC5jCkBAIC04LDYgKzgsNyBAQAogICogQ29weXJpZ2h0IChjKSAyMDA1LCAyMDA2IExpbnVzIFRvcnZhbGRzIGFuZCBKdW5pbyBDIEhhbWFubwogICovCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAidGFnLmgiCiAjaW5jbHVkZSAib2JqZWN0LmgiCkBAIC0yMSw2ICsyMiw4IEBACiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInVucGFjay10cmVlcy5oIgogI2luY2x1ZGUgImNhY2hlLXRyZWUuaCIKKyNpbmNsdWRlICJzdWJtb2R1bGUuaCIKKyNpbmNsdWRlICJzdWJtb2R1bGUtY29uZmlnLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3Jlc2V0X3VzYWdlW10gPSB7CiAJTl8oImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIpLApAQCAtNDEsMTAgKzQ0LDExIEBACiAKIHN0YXRpYyBpbnQgcmVzZXRfaW5kZXgoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgcmVzZXRfdHlwZSwgaW50IHF1aWV0KQogewotCWludCBuciA9IDE7CisJaW50IGksIG5yID0gMDsKIAlzdHJ1Y3QgdHJlZV9kZXNjIGRlc2NbMl07CiAJc3RydWN0IHRyZWUgKnRyZWU7CiAJc3RydWN0IHVucGFja190cmVlc19vcHRpb25zIG9wdHM7CisJaW50IHJldCA9IC0xOwogCiAJbWVtc2V0KCZvcHRzLCAwLCBzaXplb2Yob3B0cykpOwogCW9wdHMuaGVhZF9pZHggPSAxOwpAQCAtNzIsMjMgKzc2LDMyIEBACiAJCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CiAJCWlmIChnZXRfb2lkKCJIRUFEIiwgJmhlYWRfb2lkKSkKIAkJCXJldHVybiBlcnJvcihfKCJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFELiIpKTsKLQkJaWYgKCFmaWxsX3RyZWVfZGVzY3JpcHRvcihkZXNjLCBoZWFkX29pZC5oYXNoKSkKKwkJaWYgKCFmaWxsX3RyZWVfZGVzY3JpcHRvcihkZXNjICsgbnIsICZoZWFkX29pZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiBIRUFELiIpKTsKIAkJbnIrKzsKIAkJb3B0cy5mbiA9IHR3b3dheV9tZXJnZTsKIAl9CiAKLQlpZiAoIWZpbGxfdHJlZV9kZXNjcmlwdG9yKGRlc2MgKyBuciAtIDEsIG9pZC0+aGFzaCkpCi0JCXJldHVybiBlcnJvcihfKCJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIpLCBvaWRfdG9faGV4KG9pZCkpOworCWlmICghZmlsbF90cmVlX2Rlc2NyaXB0b3IoZGVzYyArIG5yLCBvaWQpKSB7CisJCWVycm9yKF8oIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIiksIG9pZF90b19oZXgob2lkKSk7CisJCWdvdG8gb3V0OworCX0KKwlucisrOworCiAJaWYgKHVucGFja190cmVlcyhuciwgZGVzYywgJm9wdHMpKQotCQlyZXR1cm4gLTE7CisJCWdvdG8gb3V0OwogCiAJaWYgKHJlc2V0X3R5cGUgPT0gTUlYRUQgfHwgcmVzZXRfdHlwZSA9PSBIQVJEKSB7Ci0JCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KG9pZC0+aGFzaCk7CisJCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KG9pZCk7CiAJCXByaW1lX2NhY2hlX3RyZWUoJnRoZV9pbmRleCwgdHJlZSk7CiAJfQogCi0JcmV0dXJuIDA7CisJcmV0ID0gMDsKKworb3V0OgorCWZvciAoaSA9IDA7IGkgPCBucjsgaSsrKQorCQlmcmVlKCh2b2lkICopZGVzY1tpXS5idWZmZXIpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIHByaW50X25ld19oZWFkX2xpbmUoc3RydWN0IGNvbW1pdCAqY29tbWl0KQpAQCAtMTUzLDggKzE2Niw5IEBACiAJb3B0Lm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9DQUxMQkFDSzsKIAlvcHQuZm9ybWF0X2NhbGxiYWNrID0gdXBkYXRlX2luZGV4X2Zyb21fZGlmZjsKIAlvcHQuZm9ybWF0X2NhbGxiYWNrX2RhdGEgPSAmaW50ZW50X3RvX2FkZDsKKwlvcHQuZmxhZ3MgfD0gRElGRl9PUFRfT1ZFUlJJREVfU1VCTU9EVUxFX0NPTkZJRzsKIAotCWlmIChkb19kaWZmX2NhY2hlKHRyZWVfb2lkLT5oYXNoLCAmb3B0KSkKKwlpZiAoZG9fZGlmZl9jYWNoZSh0cmVlX29pZCwgJm9wdCkpCiAJCXJldHVybiAxOwogCWRpZmZjb3JlX3N0ZCgmb3B0KTsKIAlkaWZmX2ZsdXNoKCZvcHQpOwpAQCAtMjE2LDggKzIzMCw4IEBACiAJCSAqIGhhcyB0byBiZSB1bmFtYmlndW91cy4gSWYgdGhlcmUgaXMgYSBzaW5nbGUgYXJndW1lbnQsIGl0CiAJCSAqIGNhbiBub3QgYmUgYSB0cmVlCiAJCSAqLwotCQllbHNlIGlmICgoIWFyZ3ZbMV0gJiYgIWdldF9zaGExX2NvbW1pdHRpc2goYXJndlswXSwgdW51c2VkLmhhc2gpKSB8fAotCQkJIChhcmd2WzFdICYmICFnZXRfc2hhMV90cmVlaXNoKGFyZ3ZbMF0sIHVudXNlZC5oYXNoKSkpIHsKKwkJZWxzZSBpZiAoKCFhcmd2WzFdICYmICFnZXRfb2lkX2NvbW1pdHRpc2goYXJndlswXSwgJnVudXNlZCkpIHx8CisJCQkgKGFyZ3ZbMV0gJiYgIWdldF9vaWRfdHJlZWlzaChhcmd2WzBdLCAmdW51c2VkKSkpIHsKIAkJCS8qCiAJCQkgKiBPaywgYXJndlswXSBsb29rcyBsaWtlIGEgY29tbWl0L3RyZWU7IGl0IHNob3VsZCBub3QKIAkJCSAqIGJlIGEgZmlsZW5hbWUuCkBAIC0yMzYsNyArMjUwLDYgQEAKIAogCXBhcnNlX3BhdGhzcGVjKHBhdGhzcGVjLCAwLAogCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgfAotCQkgICAgICAgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0NIRUFQIHwKIAkJICAgICAgIChwYXRjaF9tb2RlID8gUEFUSFNQRUNfUFJFRklYX09SSUdJTiA6IDApLAogCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIH0KQEAgLTI1Niw3ICsyNjksNyBAQAogCQl1cGRhdGVfcmVmX29pZChtc2cuYnVmLCAiT1JJR19IRUFEIiwgb3JpZywgb2xkX29yaWcsIDAsCiAJCQkgICBVUERBVEVfUkVGU19NU0dfT05fRVJSKTsKIAl9IGVsc2UgaWYgKG9sZF9vcmlnKQotCQlkZWxldGVfcmVmKCJPUklHX0hFQUQiLCBvbGRfb3JpZy0+aGFzaCwgMCk7CisJCWRlbGV0ZV9yZWYoTlVMTCwgIk9SSUdfSEVBRCIsIG9sZF9vcmlnLT5oYXNoLCAwKTsKIAlzZXRfcmVmbG9nX21lc3NhZ2UoJm1zZywgInVwZGF0aW5nIEhFQUQiLCByZXYpOwogCXVwZGF0ZV9yZWZfc3RhdHVzID0gdXBkYXRlX3JlZl9vaWQobXNnLmJ1ZiwgIkhFQUQiLCBvaWQsIG9yaWcsIDAsCiAJCQkJICAgICAgIFVQREFURV9SRUZTX01TR19PTl9FUlIpOwpAQCAtMjY0LDYgKzI3NywxNCBAQAogCXJldHVybiB1cGRhdGVfcmVmX3N0YXR1czsKIH0KIAorc3RhdGljIGludCBnaXRfcmVzZXRfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQoreworCWlmICghc3RyY21wKHZhciwgInN1Ym1vZHVsZS5yZWN1cnNlIikpCisJCXJldHVybiBnaXRfZGVmYXVsdF9zdWJtb2R1bGVfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKKworCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOworfQorCiBpbnQgY21kX3Jlc2V0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCByZXNldF90eXBlID0gTk9ORSwgdXBkYXRlX3JlZl9zdGF0dXMgPSAwLCBxdWlldCA9IDA7CkBAIC0yODMsMzUgKzMwNCwzOCBAQAogCQkJCU5fKCJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIiksIE1FUkdFKSwKIAkJT1BUX1NFVF9JTlQoMCwgImtlZXAiLCAmcmVzZXRfdHlwZSwKIAkJCQlOXygicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIiksIEtFRVApLAorCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgInJlY3Vyc2Utc3VibW9kdWxlcyIsIE5VTEwsCisJCQkgICAgInJlc2V0IiwgImNvbnRyb2wgcmVjdXJzaXZlIHVwZGF0aW5nIG9mIHN1Ym1vZHVsZXMiLAorCQkJICAgIFBBUlNFX09QVF9PUFRBUkcsIG9wdGlvbl9wYXJzZV9yZWN1cnNlX3N1Ym1vZHVsZXNfd29ya3RyZWVfdXBkYXRlciB9LAogCQlPUFRfQk9PTCgncCcsICJwYXRjaCIsICZwYXRjaF9tb2RlLCBOXygic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiKSksCiAJCU9QVF9CT09MKCdOJywgImludGVudC10by1hZGQiLCAmaW50ZW50X3RvX2FkZCwKIAkJCQlOXygicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKLQlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CisJZ2l0X2NvbmZpZyhnaXRfcmVzZXRfY29uZmlnLCBOVUxMKTsKIAogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywgZ2l0X3Jlc2V0X3VzYWdlLAogCQkJCQkJUEFSU0VfT1BUX0tFRVBfREFTSERBU0gpOwogCXBhcnNlX2FyZ3MoJnBhdGhzcGVjLCBhcmd2LCBwcmVmaXgsIHBhdGNoX21vZGUsICZyZXYpOwogCi0JdW5ib3JuID0gIXN0cmNtcChyZXYsICJIRUFEIikgJiYgZ2V0X3NoYTEoIkhFQUQiLCBvaWQuaGFzaCk7CisJdW5ib3JuID0gIXN0cmNtcChyZXYsICJIRUFEIikgJiYgZ2V0X29pZCgiSEVBRCIsICZvaWQpOwogCWlmICh1bmJvcm4pIHsKIAkJLyogcmVzZXQgb24gdW5ib3JuIGJyYW5jaDogdHJlYXQgYXMgcmVzZXQgdG8gZW1wdHkgdHJlZSAqLwogCQloYXNoY3B5KG9pZC5oYXNoLCBFTVBUWV9UUkVFX1NIQTFfQklOKTsKIAl9IGVsc2UgaWYgKCFwYXRoc3BlYy5ucikgewogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7Ci0JCWlmIChnZXRfc2hhMV9jb21taXR0aXNoKHJldiwgb2lkLmhhc2gpKQorCQlpZiAoZ2V0X29pZF9jb21taXR0aXNoKHJldiwgJm9pZCkpCiAJCQlkaWUoXygiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIpLCByZXYpOwotCQljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShvaWQuaGFzaCk7CisJCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZvaWQpOwogCQlpZiAoIWNvbW1pdCkKIAkJCWRpZShfKCJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIiksIHJldik7CiAJCW9pZGNweSgmb2lkLCAmY29tbWl0LT5vYmplY3Qub2lkKTsKIAl9IGVsc2UgewogCQlzdHJ1Y3QgdHJlZSAqdHJlZTsKLQkJaWYgKGdldF9zaGExX3RyZWVpc2gocmV2LCBvaWQuaGFzaCkpCisJCWlmIChnZXRfb2lkX3RyZWVpc2gocmV2LCAmb2lkKSkKIAkJCWRpZShfKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iKSwgcmV2KTsKLQkJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3Qob2lkLmhhc2gpOworCQl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdCgmb2lkKTsKIAkJaWYgKCF0cmVlKQogCQkJZGllKF8oIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iKSwgcmV2KTsKIAkJb2lkY3B5KCZvaWQsICZ0cmVlLT5vYmplY3Qub2lkKTsKQEAgLTM1Myw4ICszNzcsOCBAQAogCQlkaWVfaWZfdW5tZXJnZWRfY2FjaGUocmVzZXRfdHlwZSk7CiAKIAlpZiAocmVzZXRfdHlwZSAhPSBTT0ZUKSB7Ci0JCXN0cnVjdCBsb2NrX2ZpbGUgKmxvY2sgPSB4Y2FsbG9jKDEsIHNpemVvZigqbG9jaykpOwotCQlob2xkX2xvY2tlZF9pbmRleChsb2NrLCBMT0NLX0RJRV9PTl9FUlJPUik7CisJCXN0cnVjdCBsb2NrX2ZpbGUgbG9jayA9IExPQ0tfSU5JVDsKKwkJaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2ssIExPQ0tfRElFX09OX0VSUk9SKTsKIAkJaWYgKHJlc2V0X3R5cGUgPT0gTUlYRUQpIHsKIAkJCWludCBmbGFncyA9IHF1aWV0ID8gUkVGUkVTSF9RVUlFVCA6IFJFRlJFU0hfSU5fUE9SQ0VMQUlOOwogCQkJaWYgKHJlYWRfZnJvbV90cmVlKCZwYXRoc3BlYywgJm9pZCwgaW50ZW50X3RvX2FkZCkpCkBAIC0zNzAsNyArMzk0LDcgQEAKIAkJCQlkaWUoXygiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iKSwgcmV2KTsKIAkJfQogCi0JCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgbG9jaywgQ09NTUlUX0xPQ0spKQorCQlpZiAod3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsICZsb2NrLCBDT01NSVRfTE9DSykpCiAJCQlkaWUoXygiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIpKTsKIAl9CiAKQEAgLTM4MCw3ICs0MDQsNyBAQAogCQl1cGRhdGVfcmVmX3N0YXR1cyA9IHJlc2V0X3JlZnMocmV2LCAmb2lkKTsKIAogCQlpZiAocmVzZXRfdHlwZSA9PSBIQVJEICYmICF1cGRhdGVfcmVmX3N0YXR1cyAmJiAhcXVpZXQpCi0JCQlwcmludF9uZXdfaGVhZF9saW5lKGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZC5oYXNoKSk7CisJCQlwcmludF9uZXdfaGVhZF9saW5lKGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZvaWQpKTsKIAl9CiAJaWYgKCFwYXRoc3BlYy5ucikKIAkJcmVtb3ZlX2JyYW5jaF9zdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXYtbGlzdC5jIGIvYnVpbHRpbi9yZXYtbGlzdC5jCmluZGV4IDBhYTkzZDUuLmMxYzc0ZDQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmV2LWxpc3QuYworKysgYi9idWlsdGluL3Jldi1saXN0LmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJkaWZmLmgiCiAjaW5jbHVkZSAicmV2aXNpb24uaCIKQEAgLTEwLDYgKzExLDcgQEAKICNpbmNsdWRlICJncmFwaC5oIgogI2luY2x1ZGUgImJpc2VjdC5oIgogI2luY2x1ZGUgInByb2dyZXNzLmgiCisjaW5jbHVkZSAicmVmbG9nLXdhbGsuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgcmV2X2xpc3RfdXNhZ2VbXSA9CiAiZ2l0IHJldi1saXN0IFtPUFRJT05dIDxjb21taXQtaWQ+Li4uIFsgLS0gcGF0aHMuLi4gXVxuIgpAQCAtODAsNyArODIsNyBAQAogCX0KIAogCWlmIChpbmZvLT5zaG93X3RpbWVzdGFtcCkKLQkJcHJpbnRmKCIlbHUgIiwgY29tbWl0LT5kYXRlKTsKKwkJcHJpbnRmKCIlIlBSSXRpbWUiICIsIGNvbW1pdC0+ZGF0ZSk7CiAJaWYgKGluZm8tPmhlYWRlcl9wcmVmaXgpCiAJCWZwdXRzKGluZm8tPmhlYWRlcl9wcmVmaXgsIHN0ZG91dCk7CiAKQEAgLTEyMSw2ICsxMjMsNyBAQAogCQljdHguZGF0ZV9tb2RlX2V4cGxpY2l0ID0gcmV2cy0+ZGF0ZV9tb2RlX2V4cGxpY2l0OwogCQljdHguZm10ID0gcmV2cy0+Y29tbWl0X2Zvcm1hdDsKIAkJY3R4Lm91dHB1dF9lbmNvZGluZyA9IGdldF9sb2dfb3V0cHV0X2VuY29kaW5nKCk7CisJCWN0eC5jb2xvciA9IHJldnMtPmRpZmZvcHQudXNlX2NvbG9yOwogCQlwcmV0dHlfcHJpbnRfY29tbWl0KCZjdHgsIGNvbW1pdCwgJmJ1Zik7CiAJCWlmIChidWYubGVuKSB7CiAJCQlpZiAocmV2cy0+Y29tbWl0X2Zvcm1hdCAhPSBDTUlUX0ZNVF9PTkVMSU5FKQpAQCAtMTgxLDcgKzE4NCw3IEBACiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfQkxPQiAmJiAhaGFzX29iamVjdF9maWxlKCZvYmotPm9pZCkpCiAJCWRpZSgibWlzc2luZyBibG9iIG9iamVjdCAnJXMnIiwgb2lkX3RvX2hleCgmb2JqLT5vaWQpKTsKIAlpZiAoaW5mby0+cmV2cy0+dmVyaWZ5X29iamVjdHMgJiYgIW9iai0+cGFyc2VkICYmIG9iai0+dHlwZSAhPSBPQkpfQ09NTUlUKQotCQlwYXJzZV9vYmplY3Qob2JqLT5vaWQuaGFzaCk7CisJCXBhcnNlX29iamVjdCgmb2JqLT5vaWQpOwogfQogCiBzdGF0aWMgdm9pZCBzaG93X29iamVjdChzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmNiX2RhdGEpCkBAIC0yMTIsNyArMjE1LDcgQEAKIHN0YXRpYyBpbnQgc2hvd19iaXNlY3RfdmFycyhzdHJ1Y3QgcmV2X2xpc3RfaW5mbyAqaW5mbywgaW50IHJlYWNoZXMsIGludCBhbGwpCiB7CiAJaW50IGNudCwgZmxhZ3MgPSBpbmZvLT5mbGFnczsKLQljaGFyIGhleFtHSVRfU0hBMV9IRVhTWiArIDFdID0gIiI7CisJY2hhciBoZXhbR0lUX01BWF9IRVhTWiArIDFdID0gIiI7CiAJc3RydWN0IGNvbW1pdF9saXN0ICp0cmllZDsKIAlzdHJ1Y3QgcmV2X2luZm8gKnJldnMgPSBpbmZvLT5yZXZzOwogCkBAIC0yNzcsNiArMjgwLDkgQEAKIAlpbnQgdXNlX2JpdG1hcF9pbmRleCA9IDA7CiAJY29uc3QgY2hhciAqc2hvd19wcm9ncmVzcyA9IE5VTEw7CiAKKwlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi1oIikpCisJCXVzYWdlKHJldl9saXN0X3VzYWdlKTsKKwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAlpbml0X3JldmlzaW9ucygmcmV2cywgcHJlZml4KTsKIAlyZXZzLmFiYnJldiA9IERFRkFVTFRfQUJCUkVWOwpAQCAtMzQ0LDkgKzM1MCwxMCBAQAogCQkvKiBPbmx5IC0taGVhZGVyIHdhcyBzcGVjaWZpZWQgKi8KIAkJcmV2cy5jb21taXRfZm9ybWF0ID0gQ01JVF9GTVRfUkFXOwogCi0JaWYgKCghcmV2cy5jb21taXRzICYmCisJaWYgKCghcmV2cy5jb21taXRzICYmIHJlZmxvZ193YWxrX2VtcHR5KHJldnMucmVmbG9nX2luZm8pICYmCiAJICAgICAoIShyZXZzLnRhZ19vYmplY3RzIHx8IHJldnMudHJlZV9vYmplY3RzIHx8IHJldnMuYmxvYl9vYmplY3RzKSAmJgotCSAgICAgICFyZXZzLnBlbmRpbmcubnIpKSB8fAorCSAgICAgICFyZXZzLnBlbmRpbmcubnIpICYmCisJICAgICAhcmV2cy5yZXZfaW5wdXRfZ2l2ZW4pIHx8CiAJICAgIHJldnMuZGlmZikKIAkJdXNhZ2UocmV2X2xpc3RfdXNhZ2UpOwogCkBAIC0zNjAsNyArMzY3LDcgQEAKIAkJcmV2cy5saW1pdGVkID0gMTsKIAogCWlmIChzaG93X3Byb2dyZXNzKQotCQlwcm9ncmVzcyA9IHN0YXJ0X3Byb2dyZXNzX2RlbGF5KHNob3dfcHJvZ3Jlc3MsIDAsIDAsIDIpOworCQlwcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3Moc2hvd19wcm9ncmVzcywgMCk7CiAKIAlpZiAodXNlX2JpdG1hcF9pbmRleCAmJiAhcmV2cy5wcnVuZSkgewogCQlpZiAocmV2cy5jb3VudCAmJiAhcmV2cy5sZWZ0X3JpZ2h0ICYmICFyZXZzLmNoZXJyeV9tYXJrKSB7CmRpZmYgLS1naXQgYS9idWlsdGluL3Jldi1wYXJzZS5jIGIvYnVpbHRpbi9yZXYtcGFyc2UuYwppbmRleCBlZDg4MTliLi5hOGQ3ZTZmIDEwMDY0NAotLS0gYS9idWlsdGluL3Jldi1wYXJzZS5jCisrKyBiL2J1aWx0aW4vcmV2LXBhcnNlLmMKQEAgLTQsNiArNCw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIExpbnVzIFRvcnZhbGRzLCAyMDA1CiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJxdW90ZS5oIgpAQCAtMTIsNiArMTMsNyBAQAogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJyZXZpc2lvbi5oIgogI2luY2x1ZGUgInNwbGl0LWluZGV4LmgiCisjaW5jbHVkZSAic3VibW9kdWxlLmgiCiAKICNkZWZpbmUgRE9fUkVWUwkJMQogI2RlZmluZSBET19OT1JFVgkyCkBAIC0xMjAsNyArMTIyLDcgQEAKIH0KIAogLyogT3V0cHV0IGEgcmV2aXNpb24sIG9ubHkgaWYgZmlsdGVyIGFsbG93cyBpdCAqLwotc3RhdGljIHZvaWQgc2hvd19yZXYoaW50IHR5cGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBzaG93X3JldihpbnQgdHlwZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpuYW1lKQogewogCWlmICghKGZpbHRlciAmIERPX1JFVlMpKQogCQlyZXR1cm47CkBAIC0xMjgsMTAgKzEzMCwxMCBAQAogCiAJaWYgKChzeW1ib2xpYyB8fCBhYmJyZXZfcmVmKSAmJiBuYW1lKSB7CiAJCWlmIChzeW1ib2xpYyA9PSBTSE9XX1NZTUJPTElDX0ZVTEwgfHwgYWJicmV2X3JlZikgewotCQkJdW5zaWduZWQgY2hhciBkaXNjYXJkWzIwXTsKKwkJCXN0cnVjdCBvYmplY3RfaWQgZGlzY2FyZDsKIAkJCWNoYXIgKmZ1bGw7CiAKLQkJCXN3aXRjaCAoZHdpbV9yZWYobmFtZSwgc3RybGVuKG5hbWUpLCBkaXNjYXJkLCAmZnVsbCkpIHsKKwkJCXN3aXRjaCAoZHdpbV9yZWYobmFtZSwgc3RybGVuKG5hbWUpLCBkaXNjYXJkLmhhc2gsICZmdWxsKSkgewogCQkJY2FzZSAwOgogCQkJCS8qCiAJCQkJICogTm90IGZvdW5kIC0tIG5vdCBhIHJlZi4gIFdlIGNvdWxkCkBAIC0xNTcsOSArMTU5LDkgQEAKIAkJfQogCX0KIAllbHNlIGlmIChhYmJyZXYpCi0JCXNob3dfd2l0aF90eXBlKHR5cGUsIGZpbmRfdW5pcXVlX2FiYnJldihzaGExLCBhYmJyZXYpKTsKKwkJc2hvd193aXRoX3R5cGUodHlwZSwgZmluZF91bmlxdWVfYWJicmV2KG9pZC0+aGFzaCwgYWJicmV2KSk7CiAJZWxzZQotCQlzaG93X3dpdGhfdHlwZSh0eXBlLCBzaGExX3RvX2hleChzaGExKSk7CisJCXNob3dfd2l0aF90eXBlKHR5cGUsIG9pZF90b19oZXgob2lkKSk7CiB9CiAKIC8qIE91dHB1dCBhIGZsYWcsIG9ubHkgaWYgZmlsdGVyIGFsbG93cyBpdC4gKi8KQEAgLTE3OSwxMSArMTgxLDExIEBACiAJY29uc3QgY2hhciAqcyA9IGRlZjsKIAogCWlmIChzKSB7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJCWRlZiA9IE5VTEw7Ci0JCWlmICghZ2V0X3NoYTEocywgc2hhMSkpIHsKLQkJCXNob3dfcmV2KE5PUk1BTCwgc2hhMSwgcyk7CisJCWlmICghZ2V0X29pZChzLCAmb2lkKSkgeworCQkJc2hvd19yZXYoTk9STUFMLCAmb2lkLCBzKTsKIAkJCXJldHVybiAxOwogCQl9CiAJfQpAQCAtMTk0LDMxICsxOTYsMzIgQEAKIHsKIAlpZiAocmVmX2V4Y2x1ZGVkKHJlZl9leGNsdWRlcywgcmVmbmFtZSkpCiAJCXJldHVybiAwOwotCXNob3dfcmV2KE5PUk1BTCwgb2lkLT5oYXNoLCByZWZuYW1lKTsKKwlzaG93X3JldihOT1JNQUwsIG9pZCwgcmVmbmFtZSk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgYW50aV9yZWZlcmVuY2UoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSkKIHsKLQlzaG93X3JldihSRVZFUlNFRCwgb2lkLT5oYXNoLCByZWZuYW1lKTsKKwlzaG93X3JldihSRVZFUlNFRCwgb2lkLCByZWZuYW1lKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzaG93X2FiYnJldihjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB2b2lkICpjYl9kYXRhKQorc3RhdGljIGludCBzaG93X2FiYnJldihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmNiX2RhdGEpCiB7Ci0Jc2hvd19yZXYoTk9STUFMLCBzaGExLCBOVUxMKTsKKwlzaG93X3JldihOT1JNQUwsIG9pZCwgTlVMTCk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIHNob3dfZGF0ZXN0cmluZyhjb25zdCBjaGFyICpmbGFnLCBjb25zdCBjaGFyICpkYXRlc3RyKQogewotCXN0YXRpYyBjaGFyIGJ1ZmZlclsxMDBdOworCWNoYXIgKmJ1ZmZlcjsKIAogCS8qIGRhdGUgaGFuZGxpbmcgcmVxdWlyZXMgYm90aCBmbGFncyBhbmQgcmV2cyAqLwogCWlmICgoZmlsdGVyICYgKERPX0ZMQUdTIHwgRE9fUkVWUykpICE9IChET19GTEFHUyB8IERPX1JFVlMpKQogCQlyZXR1cm47Ci0Jc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgIiVzJWx1IiwgZmxhZywgYXBwcm94aWRhdGUoZGF0ZXN0cikpOworCWJ1ZmZlciA9IHhzdHJmbXQoIiVzJSJQUkl0aW1lLCBmbGFnLCBhcHByb3hpZGF0ZShkYXRlc3RyKSk7CiAJc2hvdyhidWZmZXIpOworCWZyZWUoYnVmZmVyKTsKIH0KIAogc3RhdGljIGludCBzaG93X2ZpbGUoY29uc3QgY2hhciAqYXJnLCBpbnQgb3V0cHV0X3ByZWZpeCkKQEAgLTIyNyw5ICsyMzAsOSBAQAogCWlmICgoZmlsdGVyICYgKERPX05PTkZMQUdTfERPX05PUkVWKSkgPT0gKERPX05PTkZMQUdTfERPX05PUkVWKSkgewogCQlpZiAob3V0cHV0X3ByZWZpeCkgewogCQkJY29uc3QgY2hhciAqcHJlZml4ID0gc3RhcnR1cF9pbmZvLT5wcmVmaXg7Ci0JCQlzaG93KHByZWZpeF9maWxlbmFtZShwcmVmaXgsCi0JCQkJCSAgICAgcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwLAotCQkJCQkgICAgIGFyZykpOworCQkJY2hhciAqZm5hbWUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBhcmcpOworCQkJc2hvdyhmbmFtZSk7CisJCQlmcmVlKGZuYW1lKTsKIAkJfSBlbHNlCiAJCQlzaG93KGFyZyk7CiAJCXJldHVybiAxOwpAQCAtMjQwLDggKzI0Myw4IEBACiBzdGF0aWMgaW50IHRyeV9kaWZmZXJlbmNlKGNvbnN0IGNoYXIgKmFyZykKIHsKIAljaGFyICpkb3Rkb3Q7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQl1bnNpZ25lZCBjaGFyIGVuZFsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJc3RydWN0IG9iamVjdF9pZCBlbmQ7CiAJY29uc3QgY2hhciAqbmV4dDsKIAljb25zdCBjaGFyICp0aGlzOwogCWludCBzeW1tZXRyaWM7CkBAIC0yNzEsMTggKzI3NCwxOCBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoIWdldF9zaGExX2NvbW1pdHRpc2godGhpcywgc2hhMSkgJiYgIWdldF9zaGExX2NvbW1pdHRpc2gobmV4dCwgZW5kKSkgewotCQlzaG93X3JldihOT1JNQUwsIGVuZCwgbmV4dCk7Ci0JCXNob3dfcmV2KHN5bW1ldHJpYyA/IE5PUk1BTCA6IFJFVkVSU0VELCBzaGExLCB0aGlzKTsKKwlpZiAoIWdldF9vaWRfY29tbWl0dGlzaCh0aGlzLCAmb2lkKSAmJiAhZ2V0X29pZF9jb21taXR0aXNoKG5leHQsICZlbmQpKSB7CisJCXNob3dfcmV2KE5PUk1BTCwgJmVuZCwgbmV4dCk7CisJCXNob3dfcmV2KHN5bW1ldHJpYyA/IE5PUk1BTCA6IFJFVkVSU0VELCAmb2lkLCB0aGlzKTsKIAkJaWYgKHN5bW1ldHJpYykgewogCQkJc3RydWN0IGNvbW1pdF9saXN0ICpleGNsdWRlOwogCQkJc3RydWN0IGNvbW1pdCAqYSwgKmI7Ci0JCQlhID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7Ci0JCQliID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoZW5kKTsKKwkJCWEgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmb2lkKTsKKwkJCWIgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmZW5kKTsKIAkJCWV4Y2x1ZGUgPSBnZXRfbWVyZ2VfYmFzZXMoYSwgYik7CiAJCQl3aGlsZSAoZXhjbHVkZSkgewogCQkJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IHBvcF9jb21taXQoJmV4Y2x1ZGUpOwotCQkJCXNob3dfcmV2KFJFVkVSU0VELCBjb21taXQtPm9iamVjdC5vaWQuaGFzaCwgTlVMTCk7CisJCQkJc2hvd19yZXYoUkVWRVJTRUQsICZjb21taXQtPm9iamVjdC5vaWQsIE5VTEwpOwogCQkJfQogCQl9CiAJCSpkb3Rkb3QgPSAnLic7CkBAIC0yOTUsNyArMjk4LDcgQEAKIHN0YXRpYyBpbnQgdHJ5X3BhcmVudF9zaG9ydGhhbmRzKGNvbnN0IGNoYXIgKmFyZykKIHsKIAljaGFyICpkb3Rkb3Q7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOwogCWludCBwYXJlbnRfbnVtYmVyOwpAQCAtMzI1LDEyICszMjgsMTIgQEAKIAkJcmV0dXJuIDA7CiAKIAkqZG90ZG90ID0gMDsKLQlpZiAoZ2V0X3NoYTFfY29tbWl0dGlzaChhcmcsIHNoYTEpKSB7CisJaWYgKGdldF9vaWRfY29tbWl0dGlzaChhcmcsICZvaWQpKSB7CiAJCSpkb3Rkb3QgPSAnXic7CiAJCXJldHVybiAwOwogCX0KIAotCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHNoYTEpOworCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZvaWQpOwogCWlmIChleGNsdWRlX3BhcmVudCAmJgogCSAgICBleGNsdWRlX3BhcmVudCA+IGNvbW1pdF9saXN0X2NvdW50KGNvbW1pdC0+cGFyZW50cykpIHsKIAkJKmRvdGRvdCA9ICdeJzsKQEAgLTMzOCw3ICszNDEsNyBAQAogCX0KIAogCWlmIChpbmNsdWRlX3JldikKLQkJc2hvd19yZXYoTk9STUFMLCBzaGExLCBhcmcpOworCQlzaG93X3JldihOT1JNQUwsICZvaWQsIGFyZyk7CiAJZm9yIChwYXJlbnRzID0gY29tbWl0LT5wYXJlbnRzLCBwYXJlbnRfbnVtYmVyID0gMTsKIAkgICAgIHBhcmVudHM7CiAJICAgICBwYXJlbnRzID0gcGFyZW50cy0+bmV4dCwgcGFyZW50X251bWJlcisrKSB7CkBAIC0zNTAsNyArMzUzLDcgQEAKIAkJaWYgKHN5bWJvbGljKQogCQkJbmFtZSA9IHhzdHJmbXQoIiVzXiVkIiwgYXJnLCBwYXJlbnRfbnVtYmVyKTsKIAkJc2hvd19yZXYoaW5jbHVkZV9wYXJlbnRzID8gTk9STUFMIDogUkVWRVJTRUQsCi0JCQkgcGFyZW50cy0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoLCBuYW1lKTsKKwkJCSAmcGFyZW50cy0+aXRlbS0+b2JqZWN0Lm9pZCwgbmFtZSk7CiAJCWZyZWUobmFtZSk7CiAJfQogCkBAIC0zODQsNiArMzg3LDE0IEBACiAJcmV0dXJuIHM7CiB9CiAKK3N0YXRpYyBjaGFyICpmaW5kc3BhY2UoY29uc3QgY2hhciAqcykKK3sKKwlmb3IgKDsgKnM7IHMrKykKKwkJaWYgKGlzc3BhY2UoKnMpKQorCQkJcmV0dXJuIChjaGFyKilzOworCXJldHVybiBOVUxMOworfQorCiBzdGF0aWMgaW50IGNtZF9wYXJzZW9wdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlzdGF0aWMgaW50IGtlZXBfZGFzaGRhc2ggPSAwLCBzdG9wX2F0X25vbl9vcHRpb24gPSAwOwpAQCAtNDMxLDcgKzQ0Miw3IEBACiAJLyogcGFyc2U6ICg8c2hvcnQ+fDxzaG9ydD4sPGxvbmc+fDxsb25nPilbKj0/IV0qPGFyZ2hpbnQ+PyBTUCsgPGhlbHA+ICovCiAJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lKCZzYiwgc3RkaW4pICE9IEVPRikgewogCQljb25zdCBjaGFyICpzOwotCQljb25zdCBjaGFyICpoZWxwOworCQljaGFyICpoZWxwOwogCQlzdHJ1Y3Qgb3B0aW9uICpvOwogCiAJCWlmICghc2IubGVuKQpAQCAtNDQxLDE1ICs0NTIsMTcgQEAKIAkJbWVtc2V0KG9wdHMgKyBvbmIsIDAsIHNpemVvZihvcHRzW29uYl0pKTsKIAogCQlvID0gJm9wdHNbb25iKytdOwotCQloZWxwID0gc3RyY2hyKHNiLmJ1ZiwgJyAnKTsKLQkJaWYgKCFoZWxwIHx8ICpzYi5idWYgPT0gJyAnKSB7CisJCWhlbHAgPSBmaW5kc3BhY2Uoc2IuYnVmKTsKKwkJaWYgKCFoZWxwIHx8IHNiLmJ1ZiA9PSBoZWxwKSB7CiAJCQlvLT50eXBlID0gT1BUSU9OX0dST1VQOwogCQkJby0+aGVscCA9IHhzdHJkdXAoc2tpcHNwYWNlcyhzYi5idWYpKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKKwkJKmhlbHAgPSAnXDAnOworCiAJCW8tPnR5cGUgPSBPUFRJT05fQ0FMTEJBQ0s7Ci0JCW8tPmhlbHAgPSB4c3RyZHVwKHNraXBzcGFjZXMoaGVscCkpOworCQlvLT5oZWxwID0geHN0cmR1cChza2lwc3BhY2VzKGhlbHArMSkpOwogCQlvLT52YWx1ZSA9ICZwYXJzZWQ7CiAJCW8tPmZsYWdzID0gUEFSU0VfT1BUX05PQVJHOwogCQlvLT5jYWxsYmFjayA9ICZwYXJzZW9wdF9kdW1wOwpAQCAtNTY5LDEwICs1ODIsMTEgQEAKIAlpbnQgZGlkX3JlcG9fc2V0dXAgPSAwOwogCWludCBoYXNfZGFzaGRhc2ggPSAwOwogCWludCBvdXRwdXRfcHJlZml4ID0gMDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXVuc2lnbmVkIGludCBmbGFncyA9IDA7CiAJY29uc3QgY2hhciAqbmFtZSA9IE5VTEw7CiAJc3RydWN0IG9iamVjdF9jb250ZXh0IHVudXNlZDsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoIi0tcGFyc2VvcHQiLCBhcmd2WzFdKSkKIAkJcmV0dXJuIGNtZF9wYXJzZW9wdChhcmdjIC0gMSwgYXJndiArIDEsIHByZWZpeCk7CkBAIC02MjcsNyArNjQxLDkgQEAKIAkJaWYgKCFzdHJjbXAoYXJnLCAiLS1naXQtcGF0aCIpKSB7CiAJCQlpZiAoIWFyZ3ZbaSArIDFdKQogCQkJCWRpZSgiLS1naXQtcGF0aCByZXF1aXJlcyBhbiBhcmd1bWVudCIpOwotCQkJcHV0cyhnaXRfcGF0aCgiJXMiLCBhcmd2W2kgKyAxXSkpOworCQkJc3RyYnVmX3Jlc2V0KCZidWYpOworCQkJcHV0cyhyZWxhdGl2ZV9wYXRoKGdpdF9wYXRoKCIlcyIsIGFyZ3ZbaSArIDFdKSwKKwkJCQkJICAgcHJlZml4LCAmYnVmKSk7CiAJCQlpKys7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtNjk2LDcgKzcxMiw3IEBACiAJCQl9CiAJCQlpZiAoIXN0cmNtcChhcmcsICItLXF1aWV0IikgfHwgIXN0cmNtcChhcmcsICItcSIpKSB7CiAJCQkJcXVpZXQgPSAxOwotCQkJCWZsYWdzIHw9IEdFVF9TSEExX1FVSUVUTFk7CisJCQkJZmxhZ3MgfD0gR0VUX09JRF9RVUlFVExZOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJaWYgKG9wdF93aXRoX3ZhbHVlKGFyZywgIi0tc2hvcnQiLCAmYXJnKSkgewpAQCAtNzUxLDggKzc2Nyw4IEBACiAJCQkJY29udGludWU7CiAJCQl9CiAJCQlpZiAoIXN0cmNtcChhcmcsICItLWJpc2VjdCIpKSB7Ci0JCQkJZm9yX2VhY2hfcmVmX2luKCJyZWZzL2Jpc2VjdC9iYWQiLCBzaG93X3JlZmVyZW5jZSwgTlVMTCk7Ci0JCQkJZm9yX2VhY2hfcmVmX2luKCJyZWZzL2Jpc2VjdC9nb29kIiwgYW50aV9yZWZlcmVuY2UsIE5VTEwpOworCQkJCWZvcl9lYWNoX2Z1bGxyZWZfaW4oInJlZnMvYmlzZWN0L2JhZCIsIHNob3dfcmVmZXJlbmNlLCBOVUxMLCAwKTsKKwkJCQlmb3JfZWFjaF9mdWxscmVmX2luKCJyZWZzL2Jpc2VjdC9nb29kIiwgYW50aV9yZWZlcmVuY2UsIE5VTEwsIDApOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJaWYgKG9wdF93aXRoX3ZhbHVlKGFyZywgIi0tYnJhbmNoZXMiLCAmYXJnKSkgewpAQCAtNzgxLDYgKzc5NywxMiBAQAogCQkJCQlwdXRzKHdvcmtfdHJlZSk7CiAJCQkJY29udGludWU7CiAJCQl9CisJCQlpZiAoIXN0cmNtcChhcmcsICItLXNob3ctc3VwZXJwcm9qZWN0LXdvcmtpbmctdHJlZSIpKSB7CisJCQkJY29uc3QgY2hhciAqc3VwZXJwcm9qZWN0ID0gZ2V0X3N1cGVycHJvamVjdF93b3JraW5nX3RyZWUoKTsKKwkJCQlpZiAoc3VwZXJwcm9qZWN0KQorCQkJCQlwdXRzKHN1cGVycHJvamVjdCk7CisJCQkJY29udGludWU7CisJCQl9CiAJCQlpZiAoIXN0cmNtcChhcmcsICItLXNob3ctcHJlZml4IikpIHsKIAkJCQlpZiAocHJlZml4KQogCQkJCQlwdXRzKHByZWZpeCk7CkBAIC04MDcsMTcgKzgyOSwyNyBAQAogCQkJCXB1dGNoYXIoJ1xuJyk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoIXN0cmNtcChhcmcsICItLWdpdC1kaXIiKSkgeworCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1naXQtZGlyIikgfHwKKwkJCSAgICAhc3RyY21wKGFyZywgIi0tYWJzb2x1dGUtZ2l0LWRpciIpKSB7CiAJCQkJY29uc3QgY2hhciAqZ2l0ZGlyID0gZ2V0ZW52KEdJVF9ESVJfRU5WSVJPTk1FTlQpOwogCQkJCWNoYXIgKmN3ZDsKIAkJCQlpbnQgbGVuOwotCQkJCWlmIChnaXRkaXIpIHsKLQkJCQkJcHV0cyhnaXRkaXIpOwotCQkJCQljb250aW51ZTsKLQkJCQl9Ci0JCQkJaWYgKCFwcmVmaXgpIHsKLQkJCQkJcHV0cygiLmdpdCIpOwotCQkJCQljb250aW51ZTsKKwkJCQlpZiAoYXJnWzJdID09ICdnJykgewkvKiAtLWdpdC1kaXIgKi8KKwkJCQkJaWYgKGdpdGRpcikgeworCQkJCQkJcHV0cyhnaXRkaXIpOworCQkJCQkJY29udGludWU7CisJCQkJCX0KKwkJCQkJaWYgKCFwcmVmaXgpIHsKKwkJCQkJCXB1dHMoIi5naXQiKTsKKwkJCQkJCWNvbnRpbnVlOworCQkJCQl9CisJCQkJfSBlbHNlIHsJCS8qIC0tYWJzb2x1dGUtZ2l0LWRpciAqLworCQkJCQlpZiAoIWdpdGRpciAmJiAhcHJlZml4KQorCQkJCQkJZ2l0ZGlyID0gIi5naXQiOworCQkJCQlpZiAoZ2l0ZGlyKSB7CisJCQkJCQlwdXRzKHJlYWxfcGF0aChnaXRkaXIpKTsKKwkJCQkJCWNvbnRpbnVlOworCQkJCQl9CiAJCQkJfQogCQkJCWN3ZCA9IHhnZXRjd2QoKTsKIAkJCQlsZW4gPSBzdHJsZW4oY3dkKTsKQEAgLTgyNiw4ICs4NTgsOSBAQAogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1naXQtY29tbW9uLWRpciIpKSB7Ci0JCQkJY29uc3QgY2hhciAqcGZ4ID0gcHJlZml4ID8gcHJlZml4IDogIiI7Ci0JCQkJcHV0cyhwcmVmaXhfZmlsZW5hbWUocGZ4LCBzdHJsZW4ocGZ4KSwgZ2V0X2dpdF9jb21tb25fZGlyKCkpKTsKKwkJCQlzdHJidWZfcmVzZXQoJmJ1Zik7CisJCQkJcHV0cyhyZWxhdGl2ZV9wYXRoKGdldF9naXRfY29tbW9uX2RpcigpLAorCQkJCQkJICAgcHJlZml4LCAmYnVmKSk7CiAJCQkJY29udGludWU7CiAJCQl9CiAJCQlpZiAoIXN0cmNtcChhcmcsICItLWlzLWluc2lkZS1naXQtZGlyIikpIHsKQEAgLTg0NSwxMiArODc4LDE5IEBACiAJCQkJCQk6ICJmYWxzZSIpOwogCQkJCWNvbnRpbnVlOwogCQkJfQorCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1pcy1zaGFsbG93LXJlcG9zaXRvcnkiKSkgeworCQkJCXByaW50ZigiJXNcbiIsIGlzX3JlcG9zaXRvcnlfc2hhbGxvdygpID8gInRydWUiCisJCQkJCQk6ICJmYWxzZSIpOworCQkJCWNvbnRpbnVlOworCQkJfQogCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1zaGFyZWQtaW5kZXgtcGF0aCIpKSB7CiAJCQkJaWYgKHJlYWRfY2FjaGUoKSA8IDApCiAJCQkJCWRpZShfKCJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiKSk7CiAJCQkJaWYgKHRoZV9pbmRleC5zcGxpdF9pbmRleCkgewogCQkJCQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0gdGhlX2luZGV4LnNwbGl0X2luZGV4LT5iYXNlX3NoYTE7Ci0JCQkJCXB1dHMoZ2l0X3BhdGgoInNoYXJlZGluZGV4LiVzIiwgc2hhMV90b19oZXgoc2hhMSkpKTsKKwkJCQkJY29uc3QgY2hhciAqcGF0aCA9IGdpdF9wYXRoKCJzaGFyZWRpbmRleC4lcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCQkJc3RyYnVmX3Jlc2V0KCZidWYpOworCQkJCQlwdXRzKHJlbGF0aXZlX3BhdGgocGF0aCwgcHJlZml4LCAmYnVmKSk7CiAJCQkJfQogCQkJCWNvbnRpbnVlOwogCQkJfQpAQCAtODg2LDExICs5MjYsMTEgQEAKIAkJCW5hbWUrKzsKIAkJCXR5cGUgPSBSRVZFUlNFRDsKIAkJfQotCQlpZiAoIWdldF9zaGExX3dpdGhfY29udGV4dChuYW1lLCBmbGFncywgc2hhMSwgJnVudXNlZCkpIHsKKwkJaWYgKCFnZXRfb2lkX3dpdGhfY29udGV4dChuYW1lLCBmbGFncywgJm9pZCwgJnVudXNlZCkpIHsKIAkJCWlmICh2ZXJpZnkpCiAJCQkJcmV2c19jb3VudCsrOwogCQkJZWxzZQotCQkJCXNob3dfcmV2KHR5cGUsIHNoYTEsIG5hbWUpOworCQkJCXNob3dfcmV2KHR5cGUsICZvaWQsIG5hbWUpOwogCQkJY29udGludWU7CiAJCX0KIAkJaWYgKHZlcmlmeSkKQEAgLTkwMiw5ICs5NDIsMTAgQEAKIAkJCWNvbnRpbnVlOwogCQl2ZXJpZnlfZmlsZW5hbWUocHJlZml4LCBhcmcsIDEpOwogCX0KKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAlpZiAodmVyaWZ5KSB7CiAJCWlmIChyZXZzX2NvdW50ID09IDEpIHsKLQkJCXNob3dfcmV2KHR5cGUsIHNoYTEsIG5hbWUpOworCQkJc2hvd19yZXYodHlwZSwgJm9pZCwgbmFtZSk7CiAJCQlyZXR1cm4gMDsKIAkJfSBlbHNlIGlmIChyZXZzX2NvdW50ID09IDAgJiYgc2hvd19kZWZhdWx0KCkpCiAJCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmV2ZXJ0LmMgYi9idWlsdGluL3JldmVydC5jCmluZGV4IDRjYTViNTEuLmI5ZDkyN2UgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmV2ZXJ0LmMKKysrIGIvYnVpbHRpbi9yZXZlcnQuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAiZGlmZi5oIgpAQCAtNTQsNiArNTUsMjQgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBvcHRpb25fcGFyc2VfbShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCByZXBsYXlfb3B0cyAqcmVwbGF5ID0gb3B0LT52YWx1ZTsKKwljaGFyICplbmQ7CisKKwlpZiAodW5zZXQpIHsKKwkJcmVwbGF5LT5tYWlubGluZSA9IDA7CisJCXJldHVybiAwOworCX0KKworCXJlcGxheS0+bWFpbmxpbmUgPSBzdHJ0b2woYXJnLCAmZW5kLCAxMCk7CisJaWYgKCplbmQgfHwgcmVwbGF5LT5tYWlubGluZSA8PSAwKQorCQlyZXR1cm4gb3B0ZXJyb3Iob3B0LCAiZXhwZWN0cyBhIG51bWJlciBncmVhdGVyIHRoYW4gemVybyIsIDApOworCisJcmV0dXJuIDA7Cit9CisKIExBU1RfQVJHX01VU1RfQkVfTlVMTAogc3RhdGljIHZvaWQgdmVyaWZ5X29wdF9jb21wYXRpYmxlKGNvbnN0IGNoYXIgKm1lLCBjb25zdCBjaGFyICpiYXNlX29wdCwgLi4uKQogewpAQCAtODQsNyArMTAzLDggQEAKIAkJT1BUX0JPT0woJ2UnLCAiZWRpdCIsICZvcHRzLT5lZGl0LCBOXygiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiKSksCiAJCU9QVF9OT09QX05PQVJHKCdyJywgTlVMTCksCiAJCU9QVF9CT09MKCdzJywgInNpZ25vZmYiLCAmb3B0cy0+c2lnbm9mZiwgTl8oImFkZCBTaWduZWQtb2ZmLWJ5OiIpKSwKLQkJT1BUX0lOVEVHRVIoJ20nLCAibWFpbmxpbmUiLCAmb3B0cy0+bWFpbmxpbmUsIE5fKCJwYXJlbnQgbnVtYmVyIikpLAorCQlPUFRfQ0FMTEJBQ0soJ20nLCAibWFpbmxpbmUiLCBvcHRzLCBOXygicGFyZW50LW51bWJlciIpLAorCQkJICAgICBOXygic2VsZWN0IG1haW5saW5lIHBhcmVudCIpLCBvcHRpb25fcGFyc2VfbSksCiAJCU9QVF9SRVJFUkVfQVVUT1VQREFURSgmb3B0cy0+YWxsb3dfcmVyZXJlX2F1dG8pLAogCQlPUFRfU1RSSU5HKDAsICJzdHJhdGVneSIsICZvcHRzLT5zdHJhdGVneSwgTl8oInN0cmF0ZWd5IiksIE5fKCJtZXJnZSBzdHJhdGVneSIpKSwKIAkJT1BUX0NBTExCQUNLKCdYJywgInN0cmF0ZWd5LW9wdGlvbiIsICZvcHRzLCBOXygib3B0aW9uIiksCkBAIC0xMzUsNiArMTU1LDggQEAKIAkJCQkiLS1zdHJhdGVneS1vcHRpb24iLCBvcHRzLT54b3B0cyA/IDEgOiAwLAogCQkJCSIteCIsIG9wdHMtPnJlY29yZF9vcmlnaW4sCiAJCQkJIi0tZmYiLCBvcHRzLT5hbGxvd19mZiwKKwkJCQkiLS1yZXJlcmUtYXV0b3VwZGF0ZSIsIG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvID09IFJFUkVSRV9BVVRPVVBEQVRFLAorCQkJCSItLW5vLXJlcmVyZS1hdXRvdXBkYXRlIiwgb3B0cy0+YWxsb3dfcmVyZXJlX2F1dG8gPT0gUkVSRVJFX05PQVVUT1VQREFURSwKIAkJCQlOVUxMKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcm0uYyBiL2J1aWx0aW4vcm0uYwppbmRleCBmYjc5ZGNhLi5kOTE0NTFmIDEwMDY0NAotLS0gYS9idWlsdGluL3JtLmMKKysrIGIvYnVpbHRpbi9ybS5jCkBAIC00LDYgKzQsNyBAQAogICogQ29weXJpZ2h0IChDKSBMaW51cyBUb3J2YWxkcyAyMDA2CiAgKi8KICNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJjYWNoZS10cmVlLmgiCkBAIC0xMjksNyArMTMwLDcgQEAKIAkJY2UgPSBhY3RpdmVfY2FjaGVbcG9zXTsKIAogCQlpZiAobHN0YXQoY2UtPm5hbWUsICZzdCkgPCAwKSB7Ci0JCQlpZiAoZXJybm8gIT0gRU5PRU5UICYmIGVycm5vICE9IEVOT1RESVIpCisJCQlpZiAoIWlzX21pc3NpbmdfZmlsZV9lcnJvcihlcnJubykpCiAJCQkJd2FybmluZ19lcnJubyhfKCJmYWlsZWQgdG8gc3RhdCAnJXMnIiksIGNlLT5uYW1lKTsKIAkJCS8qIEl0IGFscmVhZHkgdmFuaXNoZWQgZnJvbSB0aGUgd29ya2luZyB0cmVlICovCiAJCQljb250aW51ZTsKQEAgLTI1NCw3ICsyNTUsNiBAQAogCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAljaGFyICpzZWVuOwogCi0JZ2l0bW9kdWxlc19jb25maWcoKTsKIAlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIGJ1aWx0aW5fcm1fb3B0aW9ucywKQEAgLTI3MSw4ICsyNzEsNyBAQAogCQlkaWUoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwogCiAJcGFyc2VfcGF0aHNwZWMoJnBhdGhzcGVjLCAwLAotCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0NXRCB8Ci0JCSAgICAgICBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfQ0hFQVAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAogCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVQsICZwYXRoc3BlYywgTlVMTCwgTlVMTCk7CiAKQEAgLTI4Niw3ICsyODUsNyBAQAogCQlsaXN0LmVudHJ5W2xpc3QubnJdLm5hbWUgPSB4c3RyZHVwKGNlLT5uYW1lKTsKIAkJbGlzdC5lbnRyeVtsaXN0Lm5yXS5pc19zdWJtb2R1bGUgPSBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSk7CiAJCWlmIChsaXN0LmVudHJ5W2xpc3QubnIrK10uaXNfc3VibW9kdWxlICYmCi0JCSAgICAhaXNfc3RhZ2luZ19naXRtb2R1bGVzX29rKCkpCisJCSAgICAhaXNfc3RhZ2luZ19naXRtb2R1bGVzX29rKCZ0aGVfaW5kZXgpKQogCQkJZGllIChfKCJQbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIpKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc2VuZC1wYWNrLmMgYi9idWlsdGluL3NlbmQtcGFjay5jCmluZGV4IDFmZjVhNjcuLmZjNGYwYmIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vc2VuZC1wYWNrLmMKKysrIGIvYnVpbHRpbi9zZW5kLXBhY2suYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgInBrdC1saW5lLmgiCkBAIC0xMDQsNyArMTA1LDcgQEAKIAlpZiAoIXN0cmNtcChrLCAicHVzaC5ncGdzaWduIikpIHsKIAkJY29uc3QgY2hhciAqdmFsdWU7CiAJCWlmICghZ2l0X2NvbmZpZ19nZXRfdmFsdWUoInB1c2guZ3Bnc2lnbiIsICZ2YWx1ZSkpIHsKLQkJCXN3aXRjaCAoZ2l0X2NvbmZpZ19tYXliZV9ib29sKCJwdXNoLmdwZ3NpZ24iLCB2YWx1ZSkpIHsKKwkJCXN3aXRjaCAoZ2l0X3BhcnNlX21heWJlX2Jvb2wodmFsdWUpKSB7CiAJCQljYXNlIDA6CiAJCQkJYXJncy5wdXNoX2NlcnQgPSBTRU5EX1BBQ0tfUFVTSF9DRVJUX05FVkVSOwogCQkJCWJyZWFrOwpAQCAtMTMxLDggKzEzMiw4IEBACiAJY29uc3QgY2hhciAqZGVzdCA9IE5VTEw7CiAJaW50IGZkWzJdOwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uOwotCXN0cnVjdCBzaGExX2FycmF5IGV4dHJhX2hhdmUgPSBTSEExX0FSUkFZX0lOSVQ7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgc2hhbGxvdyA9IFNIQTFfQVJSQVlfSU5JVDsKKwlzdHJ1Y3Qgb2lkX2FycmF5IGV4dHJhX2hhdmUgPSBPSURfQVJSQVlfSU5JVDsKKwlzdHJ1Y3Qgb2lkX2FycmF5IHNoYWxsb3cgPSBPSURfQVJSQVlfSU5JVDsKIAlzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcywgKmxvY2FsX3JlZnM7CiAJaW50IHJldDsKIAlpbnQgaGVscGVyX3N0YXR1cyA9IDA7CkBAIC0xNDQsNiArMTQ1LDcgQEAKIAl1bnNpZ25lZCBmb3JjZV91cGRhdGUgPSAwOwogCXVuc2lnbmVkIHF1aWV0ID0gMDsKIAlpbnQgcHVzaF9jZXJ0ID0gMDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcHVzaF9vcHRpb25zID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAl1bnNpZ25lZCB1c2VfdGhpbl9wYWNrID0gMDsKIAl1bnNpZ25lZCBhdG9taWMgPSAwOwogCXVuc2lnbmVkIHN0YXRlbGVzc19ycGMgPSAwOwpAQCAtMTY1LDYgKzE2Nyw5IEBACiAJCXsgT1BUSU9OX0NBTExCQUNLLAogCQkgIDAsICJzaWduZWQiLCAmcHVzaF9jZXJ0LCAieWVzfG5vfGlmLWFza2VkIiwgTl8oIkdQRyBzaWduIHRoZSBwdXNoIiksCiAJCSAgUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX3BhcnNlX3B1c2hfc2lnbmVkIH0sCisJCU9QVF9TVFJJTkdfTElTVCgwLCAicHVzaC1vcHRpb24iLCAmcHVzaF9vcHRpb25zLAorCQkJCU5fKCJzZXJ2ZXItc3BlY2lmaWMiKSwKKwkJCQlOXygib3B0aW9uIHRvIHRyYW5zbWl0IikpLAogCQlPUFRfQk9PTCgwLCAicHJvZ3Jlc3MiLCAmcHJvZ3Jlc3MsIE5fKCJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciKSksCiAJCU9QVF9CT09MKDAsICJ0aGluIiwgJnVzZV90aGluX3BhY2ssIE5fKCJ1c2UgdGhpbiBwYWNrIikpLAogCQlPUFRfQk9PTCgwLCAiYXRvbWljIiwgJmF0b21pYywgTl8oInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIikpLApAQCAtMTk5LDYgKzIwNCw3IEBACiAJYXJncy51c2VfdGhpbl9wYWNrID0gdXNlX3RoaW5fcGFjazsKIAlhcmdzLmF0b21pYyA9IGF0b21pYzsKIAlhcmdzLnN0YXRlbGVzc19ycGMgPSBzdGF0ZWxlc3NfcnBjOworCWFyZ3MucHVzaF9vcHRpb25zID0gcHVzaF9vcHRpb25zLm5yID8gJnB1c2hfb3B0aW9ucyA6IE5VTEw7CiAKIAlpZiAoZnJvbV9zdGRpbikgewogCQlzdHJ1Y3QgYXJndl9hcnJheSBhbGxfcmVmc3BlY3MgPSBBUkdWX0FSUkFZX0lOSVQ7CmRpZmYgLS1naXQgYS9idWlsdGluL3Nob3J0bG9nLmMgYi9idWlsdGluL3Nob3J0bG9nLmMKaW5kZXggNjc3ZjM3Mi4uZTI5ODc1YiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zaG9ydGxvZy5jCisrKyBiL2J1aWx0aW4vc2hvcnRsb2cuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJkaWZmLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKQEAgLTUxLDI2ICs1Miw4IEBACiAJCQkgICAgICBjb25zdCBjaGFyICpvbmVsaW5lKQogewogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOwotCWNvbnN0IGNoYXIgKm1haWxidWYsICpuYW1lYnVmOwotCXNpemVfdCBuYW1lbGVuLCBtYWlsbGVuOwotCXN0cnVjdCBzdHJidWYgbmFtZW1haWxidWYgPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3QgaWRlbnRfc3BsaXQgaWRlbnQ7CiAKLQlpZiAoc3BsaXRfaWRlbnRfbGluZSgmaWRlbnQsIGF1dGhvciwgc3RybGVuKGF1dGhvcikpKQotCQlyZXR1cm47Ci0KLQluYW1lYnVmID0gaWRlbnQubmFtZV9iZWdpbjsKLQltYWlsYnVmID0gaWRlbnQubWFpbF9iZWdpbjsKLQluYW1lbGVuID0gaWRlbnQubmFtZV9lbmQgLSBpZGVudC5uYW1lX2JlZ2luOwotCW1haWxsZW4gPSBpZGVudC5tYWlsX2VuZCAtIGlkZW50Lm1haWxfYmVnaW47Ci0KLQltYXBfdXNlcigmbG9nLT5tYWlsbWFwLCAmbWFpbGJ1ZiwgJm1haWxsZW4sICZuYW1lYnVmLCAmbmFtZWxlbik7Ci0Jc3RyYnVmX2FkZCgmbmFtZW1haWxidWYsIG5hbWVidWYsIG5hbWVsZW4pOwotCi0JaWYgKGxvZy0+ZW1haWwpCi0JCXN0cmJ1Zl9hZGRmKCZuYW1lbWFpbGJ1ZiwgIiA8JS4qcz4iLCAoaW50KW1haWxsZW4sIG1haWxidWYpOwotCi0JaXRlbSA9IHN0cmluZ19saXN0X2luc2VydCgmbG9nLT5saXN0LCBuYW1lbWFpbGJ1Zi5idWYpOworCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQoJmxvZy0+bGlzdCwgYXV0aG9yKTsKIAogCWlmIChsb2ctPnN1bW1hcnkpCiAJCWl0ZW0tPnV0aWwgPSAodm9pZCAqKShVVElMX1RPX0lOVChpdGVtKSArIDEpOwpAQCAtMTEzLDkgKzk2LDMzIEBACiAJfQogfQogCitzdGF0aWMgaW50IHBhcnNlX3N0ZGluX2F1dGhvcihzdHJ1Y3Qgc2hvcnRsb2cgKmxvZywKKwkJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICpvdXQsIGNvbnN0IGNoYXIgKmluKQoreworCWNvbnN0IGNoYXIgKm1haWxidWYsICpuYW1lYnVmOworCXNpemVfdCBuYW1lbGVuLCBtYWlsbGVuOworCXN0cnVjdCBpZGVudF9zcGxpdCBpZGVudDsKKworCWlmIChzcGxpdF9pZGVudF9saW5lKCZpZGVudCwgaW4sIHN0cmxlbihpbikpKQorCQlyZXR1cm4gLTE7CisKKwluYW1lYnVmID0gaWRlbnQubmFtZV9iZWdpbjsKKwltYWlsYnVmID0gaWRlbnQubWFpbF9iZWdpbjsKKwluYW1lbGVuID0gaWRlbnQubmFtZV9lbmQgLSBpZGVudC5uYW1lX2JlZ2luOworCW1haWxsZW4gPSBpZGVudC5tYWlsX2VuZCAtIGlkZW50Lm1haWxfYmVnaW47CisKKwltYXBfdXNlcigmbG9nLT5tYWlsbWFwLCAmbWFpbGJ1ZiwgJm1haWxsZW4sICZuYW1lYnVmLCAmbmFtZWxlbik7CisJc3RyYnVmX2FkZChvdXQsIG5hbWVidWYsIG5hbWVsZW4pOworCWlmIChsb2ctPmVtYWlsKQorCQlzdHJidWZfYWRkZihvdXQsICIgPCUuKnM+IiwgKGludCltYWlsbGVuLCBtYWlsYnVmKTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgdm9pZCByZWFkX2Zyb21fc3RkaW4oc3RydWN0IHNob3J0bG9nICpsb2cpCiB7CiAJc3RydWN0IHN0cmJ1ZiBhdXRob3IgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIG1hcHBlZF9hdXRob3IgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIG9uZWxpbmUgPSBTVFJCVUZfSU5JVDsKIAlzdGF0aWMgY29uc3QgY2hhciAqYXV0aG9yX21hdGNoWzJdID0geyAiQXV0aG9yOiAiLCAiYXV0aG9yICIgfTsKIAlzdGF0aWMgY29uc3QgY2hhciAqY29tbWl0dGVyX21hdGNoWzJdID0geyAiQ29tbWl0OiAiLCAiY29tbWl0dGVyICIgfTsKQEAgLTEzMyw5ICsxNDAsMTUgQEAKIAkJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lX2xmKCZvbmVsaW5lLCBzdGRpbikgIT0gRU9GICYmCiAJCSAgICAgICAhb25lbGluZS5sZW4pCiAJCQk7IC8qIGRpc2NhcmQgYmxhbmtzICovCi0JCWluc2VydF9vbmVfcmVjb3JkKGxvZywgdiwgb25lbGluZS5idWYpOworCisJCXN0cmJ1Zl9yZXNldCgmbWFwcGVkX2F1dGhvcik7CisJCWlmIChwYXJzZV9zdGRpbl9hdXRob3IobG9nLCAmbWFwcGVkX2F1dGhvciwgdikgPCAwKQorCQkJY29udGludWU7CisKKwkJaW5zZXJ0X29uZV9yZWNvcmQobG9nLCBtYXBwZWRfYXV0aG9yLmJ1Ziwgb25lbGluZS5idWYpOwogCX0KIAlzdHJidWZfcmVsZWFzZSgmYXV0aG9yKTsKKwlzdHJidWZfcmVsZWFzZSgmbWFwcGVkX2F1dGhvcik7CiAJc3RyYnVmX3JlbGVhc2UoJm9uZWxpbmUpOwogfQogCkBAIC0xNDgsMTEgKzE2MSwxMyBAQAogCiAJY3R4LmZtdCA9IENNSVRfRk1UX1VTRVJGT1JNQVQ7CiAJY3R4LmFiYnJldiA9IGxvZy0+YWJicmV2OwotCWN0eC5zdWJqZWN0ID0gIiI7CisJY3R4LnByaW50X2VtYWlsX3N1YmplY3QgPSAxOwogCWN0eC5kYXRlX21vZGUudHlwZSA9IERBVEVfTk9STUFMOwogCWN0eC5vdXRwdXRfZW5jb2RpbmcgPSBnZXRfbG9nX291dHB1dF9lbmNvZGluZygpOwogCi0JZm10ID0gbG9nLT5jb21taXR0ZXIgPyAiJWNuIDwlY2U+IiA6ICIlYW4gPCVhZT4iOworCWZtdCA9IGxvZy0+Y29tbWl0dGVyID8KKwkJKGxvZy0+ZW1haWwgPyAiJWNOIDwlY0U+IiA6ICIlY04iKSA6CisJCShsb2ctPmVtYWlsID8gIiVhTiA8JWFFPiIgOiAiJWFOIik7CiAKIAlmb3JtYXRfY29tbWl0X21lc3NhZ2UoY29tbWl0LCBmbXQsICZhdXRob3IsICZjdHgpOwogCWlmICghbG9nLT5zdW1tYXJ5KSB7CmRpZmYgLS1naXQgYS9idWlsdGluL3Nob3ctYnJhbmNoLmMgYi9idWlsdGluL3Nob3ctYnJhbmNoLmMKaW5kZXggMTk3NTY1OS4uODQ1NDdkNiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zaG93LWJyYW5jaC5jCisrKyBiL2J1aWx0aW4vc2hvdy1icmFuY2guYwpAQCAtMSwxMCArMSwxMiBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjb2xvci5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAiZGlyLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyKiBzaG93X2JyYW5jaF91c2FnZVtdID0gewogICAgIE5fKCJnaXQgc2hvdy1icmFuY2ggWy1hIHwgLS1hbGxdIFstciB8IC0tcmVtb3Rlc10gWy0tdG9wby1vcmRlciB8IC0tZGF0ZS1vcmRlcl1cbiIKQEAgLTM1OCw3ICszNjAsNyBAQAogc3RhdGljIGludCBhcHBlbmRfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJICAgICAgaW50IGFsbG93X2R1cHMpCiB7Ci0Jc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZC0+aGFzaCwgMSk7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZCwgMSk7CiAJaW50IGk7CiAKIAlpZiAoIWNvbW1pdCkKQEAgLTM5MSw3ICszOTMsNyBAQAogCS8qIElmIGJvdGggaGVhZHMvZm9vIGFuZCB0YWdzL2ZvbyBleGlzdHMsIGdldF9zaGExIHdvdWxkCiAJICogZ2V0IGNvbmZ1c2VkLgogCSAqLwotCWlmIChnZXRfc2hhMShyZWZuYW1lICsgb2ZzLCB0bXAuaGFzaCkgfHwgb2lkY21wKCZ0bXAsIG9pZCkpCisJaWYgKGdldF9vaWQocmVmbmFtZSArIG9mcywgJnRtcCkgfHwgb2lkY21wKCZ0bXAsIG9pZCkpCiAJCW9mcyA9IDU7CiAJcmV0dXJuIGFwcGVuZF9yZWYocmVmbmFtZSArIG9mcywgb2lkLCAwKTsKIH0KQEAgLTQwNiw3ICs0MDgsNyBAQAogCS8qIElmIGJvdGggaGVhZHMvZm9vIGFuZCB0YWdzL2ZvbyBleGlzdHMsIGdldF9zaGExIHdvdWxkCiAJICogZ2V0IGNvbmZ1c2VkLgogCSAqLwotCWlmIChnZXRfc2hhMShyZWZuYW1lICsgb2ZzLCB0bXAuaGFzaCkgfHwgb2lkY21wKCZ0bXAsIG9pZCkpCisJaWYgKGdldF9vaWQocmVmbmFtZSArIG9mcywgJnRtcCkgfHwgb2lkY21wKCZ0bXAsIG9pZCkpCiAJCW9mcyA9IDU7CiAJcmV0dXJuIGFwcGVuZF9yZWYocmVmbmFtZSArIG9mcywgb2lkLCAwKTsKIH0KQEAgLTQyMSwxNCArNDIzLDYgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKm1hdGNoX3JlZl9wYXR0ZXJuID0gTlVMTDsKIHN0YXRpYyBpbnQgbWF0Y2hfcmVmX3NsYXNoID0gMDsKLXN0YXRpYyBpbnQgY291bnRfc2xhc2goY29uc3QgY2hhciAqcykKLXsKLQlpbnQgY250ID0gMDsKLQl3aGlsZSAoKnMpCi0JCWlmICgqcysrID09ICcvJykKLQkJCWNudCsrOwotCXJldHVybiBjbnQ7Ci19CiAKIHN0YXRpYyBpbnQgYXBwZW5kX21hdGNoaW5nX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgICAgICAgaW50IGZsYWcsIHZvaWQgKmNiX2RhdGEpCkBAIC00MzgsMTMgKzQzMiwxMyBAQAogCSAqIHJlZnMvdGFncy92MC45OS45YSBhbmQgZnJpZW5kcy4KIAkgKi8KIAljb25zdCBjaGFyICp0YWlsOwotCWludCBzbGFzaCA9IGNvdW50X3NsYXNoKHJlZm5hbWUpOworCWludCBzbGFzaCA9IGNvdW50X3NsYXNoZXMocmVmbmFtZSk7CiAJZm9yICh0YWlsID0gcmVmbmFtZTsgKnRhaWwgJiYgbWF0Y2hfcmVmX3NsYXNoIDwgc2xhc2g7ICkKIAkJaWYgKCp0YWlsKysgPT0gJy8nKQogCQkJc2xhc2gtLTsKIAlpZiAoISp0YWlsKQogCQlyZXR1cm4gMDsKLQlpZiAod2lsZG1hdGNoKG1hdGNoX3JlZl9wYXR0ZXJuLCB0YWlsLCAwLCBOVUxMKSkKKwlpZiAod2lsZG1hdGNoKG1hdGNoX3JlZl9wYXR0ZXJuLCB0YWlsLCAwKSkKIAkJcmV0dXJuIDA7CiAJaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL2hlYWRzLyIpKQogCQlyZXR1cm4gYXBwZW5kX2hlYWRfcmVmKHJlZm5hbWUsIG9pZCwgZmxhZywgY2JfZGF0YSk7CkBAIC01MjAsNyArNTE0LDcgQEAKIHN0YXRpYyB2b2lkIGFwcGVuZF9vbmVfcmV2KGNvbnN0IGNoYXIgKmF2KQogewogCXN0cnVjdCBvYmplY3RfaWQgcmV2a2V5OwotCWlmICghZ2V0X3NoYTEoYXYsIHJldmtleS5oYXNoKSkgeworCWlmICghZ2V0X29pZChhdiwgJnJldmtleSkpIHsKIAkJYXBwZW5kX3JlZihhdiwgJnJldmtleSwgMCk7CiAJCXJldHVybjsKIAl9CkBAIC01MjksNyArNTIzLDcgQEAKIAkJaW50IHNhdmVkX21hdGNoZXMgPSByZWZfbmFtZV9jbnQ7CiAKIAkJbWF0Y2hfcmVmX3BhdHRlcm4gPSBhdjsKLQkJbWF0Y2hfcmVmX3NsYXNoID0gY291bnRfc2xhc2goYXYpOworCQltYXRjaF9yZWZfc2xhc2ggPSBjb3VudF9zbGFzaGVzKGF2KTsKIAkJZm9yX2VhY2hfcmVmKGFwcGVuZF9tYXRjaGluZ19yZWYsIE5VTEwpOwogCQlpZiAoc2F2ZWRfbWF0Y2hlcyA9PSByZWZfbmFtZV9jbnQgJiYKIAkJICAgIHJlZl9uYW1lX2NudCA8IE1BWF9SRVZTKQpAQCAtNTYwLDcgKzU1NCw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCXJldHVybiBnaXRfY29sb3JfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOworCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogfQogCiBzdGF0aWMgaW50IG9taXRfaW5fZGVuc2Uoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgY29tbWl0ICoqcmV2LCBpbnQgbikKQEAgLTczNSw3ICs3MjksNyBAQAogCQkJYmFzZSA9IHN0cnRvdWwocmVmbG9nX2Jhc2UsICZlcCwgMTApOwogCQkJaWYgKCplcCkgewogCQkJCS8qIEFoLCB0aGF0IGlzIGEgZGF0ZSBzcGVjLi4uICovCi0JCQkJdW5zaWduZWQgbG9uZyBhdDsKKwkJCQl0aW1lc3RhbXBfdCBhdDsKIAkJCQlhdCA9IGFwcHJveGlkYXRlKHJlZmxvZ19iYXNlKTsKIAkJCQlyZWFkX3JlZl9hdChyZWYsIGZsYWdzLCBhdCwgLTEsIG9pZC5oYXNoLCBOVUxMLAogCQkJCQkgICAgTlVMTCwgTlVMTCwgJmJhc2UpOwpAQCAtNzQ2LDcgKzc0MCw3IEBACiAJCQljaGFyICpsb2dtc2c7CiAJCQljaGFyICpudGhfZGVzYzsKIAkJCWNvbnN0IGNoYXIgKm1zZzsKLQkJCXVuc2lnbmVkIGxvbmcgdGltZXN0YW1wOworCQkJdGltZXN0YW1wX3QgdGltZXN0YW1wOwogCQkJaW50IHR6OwogCiAJCQlpZiAocmVhZF9yZWZfYXQocmVmLCBmbGFncywgMCwgYmFzZStpLCBvaWQuaGFzaCwgJmxvZ21zZywKQEAgLTgxNCw5ICs4MDgsOSBAQAogCQkJZGllKFFfKCJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIiwKIAkJCSAgICAgICAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iLAogCQkJICAgICAgIE1BWF9SRVZTKSwgTUFYX1JFVlMpOwotCQlpZiAoZ2V0X3NoYTEocmVmX25hbWVbbnVtX3Jldl0sIHJldmtleS5oYXNoKSkKKwkJaWYgKGdldF9vaWQocmVmX25hbWVbbnVtX3Jldl0sICZyZXZrZXkpKQogCQkJZGllKF8oIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIpLCByZWZfbmFtZVtudW1fcmV2XSk7Ci0JCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHJldmtleS5oYXNoKTsKKwkJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJnJldmtleSk7CiAJCWlmICghY29tbWl0KQogCQkJZGllKF8oImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIiksCiAJCQkgICAgcmVmX25hbWVbbnVtX3Jldl0sIG9pZF90b19oZXgoJnJldmtleSkpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9zdHJpcHNwYWNlLmMgYi9idWlsdGluL3N0cmlwc3BhY2UuYwppbmRleCAxZTYyYTAwLi5iZGYwMzI4IDEwMDY0NAotLS0gYS9idWlsdGluL3N0cmlwc3BhY2UuYworKysgYi9idWlsdGluL3N0cmlwc3BhY2UuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYyBiL2J1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYwppbmRleCA4OTlkYzMzLi4wNmVkMDJmIDEwMDY0NAotLS0gYS9idWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmMKKysrIGIvYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jCkBAIC0xLDEwICsxLDExIEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJxdW90ZS5oIgogI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAjaW5jbHVkZSAiZGlyLmgiCi0jaW5jbHVkZSAidXRmOC5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS1jb25maWcuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgpAQCAtMTYsOSArMTcsOCBAQAogc3RhdGljIGNoYXIgKmdldF9kZWZhdWx0X3JlbW90ZSh2b2lkKQogewogCWNoYXIgKmRlc3QgPSBOVUxMLCAqcmV0OwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwotCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCAwLCBzaGExLCBOVUxMKTsKKwljb25zdCBjaGFyICpyZWZuYW1lID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgMCwgTlVMTCwgTlVMTCk7CiAKIAlpZiAoIXJlZm5hbWUpCiAJCWRpZShfKCJObyBzdWNoIHJlZjogJXMiKSwgIkhFQUQiKTsKQEAgLTIzMyw4ICsyMzMsNyBAQAogCWludCBpLCByZXN1bHQgPSAwOwogCWNoYXIgKnBzX21hdGNoZWQgPSBOVUxMOwogCXBhcnNlX3BhdGhzcGVjKHBhdGhzcGVjLCAwLAotCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgfAotCQkgICAgICAgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0NIRUFQLAorCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwsCiAJCSAgICAgICBwcmVmaXgsIGFyZ3YpOwogCiAJaWYgKHBhdGhzcGVjLT5ucikKQEAgLTI3MCw2ICsyNjksMjcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCitzdGF0aWMgdm9pZCBtb2R1bGVfbGlzdF9hY3RpdmUoc3RydWN0IG1vZHVsZV9saXN0ICpsaXN0KQoreworCWludCBpOworCXN0cnVjdCBtb2R1bGVfbGlzdCBhY3RpdmVfbW9kdWxlcyA9IE1PRFVMRV9MSVNUX0lOSVQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGlzdC0+bnI7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gbGlzdC0+ZW50cmllc1tpXTsKKworCQlpZiAoIWlzX3N1Ym1vZHVsZV9hY3RpdmUodGhlX3JlcG9zaXRvcnksIGNlLT5uYW1lKSkKKwkJCWNvbnRpbnVlOworCisJCUFMTE9DX0dST1coYWN0aXZlX21vZHVsZXMuZW50cmllcywKKwkJCSAgIGFjdGl2ZV9tb2R1bGVzLm5yICsgMSwKKwkJCSAgIGFjdGl2ZV9tb2R1bGVzLmFsbG9jKTsKKwkJYWN0aXZlX21vZHVsZXMuZW50cmllc1thY3RpdmVfbW9kdWxlcy5ucisrXSA9IGNlOworCX0KKworCWZyZWUobGlzdC0+ZW50cmllcyk7CisJKmxpc3QgPSBhY3RpdmVfbW9kdWxlczsKK30KKwogc3RhdGljIGludCBtb2R1bGVfbGlzdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlpbnQgaTsKQEAgLTMwMyw3ICszMjMsNyBAQAogCQkJcHJpbnRmKCIlMDZvICVzICVkXHQiLCBjZS0+Y2VfbW9kZSwKIAkJCSAgICAgICBvaWRfdG9faGV4KCZjZS0+b2lkKSwgY2Vfc3RhZ2UoY2UpKTsKIAotCQl1dGY4X2ZwcmludGYoc3Rkb3V0LCAiJXNcbiIsIGNlLT5uYW1lKTsKKwkJZnByaW50ZihzdGRvdXQsICIlc1xuIiwgY2UtPm5hbWUpOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTMxNCw5ICszMzQsNiBAQAogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAljaGFyICp1cGQgPSBOVUxMLCAqdXJsID0gTlVMTCwgKmRpc3BsYXlwYXRoOwogCi0JLyogT25seSBsb2FkcyBmcm9tIC5naXRtb2R1bGVzLCBubyBvdmVybGF5IHdpdGggLmdpdC9jb25maWcgKi8KLQlnaXRtb2R1bGVzX2NvbmZpZygpOwotCiAJaWYgKHByZWZpeCAmJiBnZXRfc3VwZXJfcHJlZml4KCkpCiAJCWRpZSgiQlVHOiBjYW5ub3QgaGF2ZSBwcmVmaXggYW5kIHN1cGVycHJlZml4Iik7CiAJZWxzZSBpZiAocHJlZml4KQpAQCAtMzI3LDEzICszNDQsMjUgQEAKIAl9IGVsc2UKIAkJZGlzcGxheXBhdGggPSB4c3RyZHVwKHBhdGgpOwogCi0Jc3ViID0gc3VibW9kdWxlX2Zyb21fcGF0aChudWxsX3NoYTEsIHBhdGgpOworCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgoJm51bGxfb2lkLCBwYXRoKTsKIAogCWlmICghc3ViKQogCQlkaWUoXygiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIiksCiAJCQlkaXNwbGF5cGF0aCk7CiAKIAkvKgorCSAqIE5FRURTV09SSzogSW4gYSBtdWx0aS13b3JraW5nLXRyZWUgd29ybGQsIHRoaXMgbmVlZHMgdG8gYmUKKwkgKiBzZXQgaW4gdGhlIHBlci13b3JrdHJlZSBjb25maWcuCisJICoKKwkgKiBTZXQgYWN0aXZlIGZsYWcgZm9yIHRoZSBzdWJtb2R1bGUgYmVpbmcgaW5pdGlhbGl6ZWQKKwkgKi8KKwlpZiAoIWlzX3N1Ym1vZHVsZV9hY3RpdmUodGhlX3JlcG9zaXRvcnksIHBhdGgpKSB7CisJCXN0cmJ1Zl9yZXNldCgmc2IpOworCQlzdHJidWZfYWRkZigmc2IsICJzdWJtb2R1bGUuJXMuYWN0aXZlIiwgc3ViLT5uYW1lKTsKKwkJZ2l0X2NvbmZpZ19zZXRfZ2VudGx5KHNiLmJ1ZiwgInRydWUiKTsKKwl9CisKKwkvKgogCSAqIENvcHkgdXJsIHNldHRpbmcgd2hlbiBpdCBpcyBub3Qgc2V0IHlldC4KIAkgKiBUbyBsb29rIHVwIHRoZSB1cmwgaW4gLmdpdC9jb25maWcsIHdlIG11c3Qgbm90IGZhbGwgYmFjayB0bwogCSAqIC5naXRtb2R1bGVzLCBzbyBsb29rIGl0IHVwIGRpcmVjdGx5LgpAQCAtMzQxLDEyICszNzAsMTIgQEAKIAlzdHJidWZfcmVzZXQoJnNiKTsKIAlzdHJidWZfYWRkZigmc2IsICJzdWJtb2R1bGUuJXMudXJsIiwgc3ViLT5uYW1lKTsKIAlpZiAoZ2l0X2NvbmZpZ19nZXRfc3RyaW5nKHNiLmJ1ZiwgJnVybCkpIHsKLQkJdXJsID0geHN0cmR1cChzdWItPnVybCk7Ci0KLQkJaWYgKCF1cmwpCisJCWlmICghc3ViLT51cmwpCiAJCQlkaWUoXygiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIiksCiAJCQkJZGlzcGxheXBhdGgpOwogCisJCXVybCA9IHhzdHJkdXAoc3ViLT51cmwpOworCiAJCS8qIFBvc3NpYmx5IGEgdXJsIHJlbGF0aXZlIHRvIHBhcmVudCAqLwogCQlpZiAoc3RhcnRzX3dpdGhfZG90X2RvdF9zbGFzaCh1cmwpIHx8CiAJCSAgICBzdGFydHNfd2l0aF9kb3Rfc2xhc2godXJsKSkgewpAQCAtMzU2LDEyICszODUsMTAgQEAKIAkJCXN0cmJ1Zl9hZGRmKCZyZW1vdGVzYiwgInJlbW90ZS4lcy51cmwiLCByZW1vdGUpOwogCQkJZnJlZShyZW1vdGUpOwogCi0JCQlpZiAoZ2l0X2NvbmZpZ19nZXRfc3RyaW5nKHJlbW90ZXNiLmJ1ZiwgJnJlbW90ZXVybCkpCi0JCQkJLyoKLQkJCQkgKiBUaGUgcmVwb3NpdG9yeSBpcyBpdHMgb3duCi0JCQkJICogYXV0aG9yaXRhdGl2ZSB1cHN0cmVhbQotCQkJCSAqLworCQkJaWYgKGdpdF9jb25maWdfZ2V0X3N0cmluZyhyZW1vdGVzYi5idWYsICZyZW1vdGV1cmwpKSB7CisJCQkJd2FybmluZyhfKCJjb3VsZCBub3QgbG9va3VwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gYXV0aG9yaXRhdGl2ZSB1cHN0cmVhbS4iKSwgcmVtb3Rlc2IuYnVmKTsKIAkJCQlyZW1vdGV1cmwgPSB4Z2V0Y3dkKCk7CisJCQl9CiAJCQlyZWx1cmwgPSByZWxhdGl2ZV91cmwocmVtb3RldXJsLCB1cmwsIE5VTEwpOwogCQkJc3RyYnVmX3JlbGVhc2UoJnJlbW90ZXNiKTsKIAkJCWZyZWUocmVtb3RldXJsKTsKQEAgLTQyMiw2ICs0NDksMTMgQEAKIAlpZiAobW9kdWxlX2xpc3RfY29tcHV0ZShhcmdjLCBhcmd2LCBwcmVmaXgsICZwYXRoc3BlYywgJmxpc3QpIDwgMCkKIAkJcmV0dXJuIDE7CiAKKwkvKgorCSAqIElmIHRoZXJlIGFyZSBubyBwYXRoIGFyZ3MgYW5kIHN1Ym1vZHVsZS5hY3RpdmUgaXMgc2V0IHRoZW4sCisJICogYnkgZGVmYXVsdCwgb25seSBpbml0aWFsaXplICdhY3RpdmUnIG1vZHVsZXMuCisJICovCisJaWYgKCFhcmdjICYmIGdpdF9jb25maWdfZ2V0X3ZhbHVlX211bHRpKCJzdWJtb2R1bGUuYWN0aXZlIikpCisJCW1vZHVsZV9saXN0X2FjdGl2ZSgmbGlzdCk7CisKIAlmb3IgKGkgPSAwOyBpIDwgbGlzdC5ucjsgaSsrKQogCQlpbml0X3N1Ym1vZHVsZShsaXN0LmVudHJpZXNbaV0tPm5hbWUsIHByZWZpeCwgcXVpZXQpOwogCkBAIC00MzUsOCArNDY5LDcgQEAKIAlpZiAoYXJnYyAhPSAyKQogCQl1c2FnZShfKCJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iKSk7CiAKLQlnaXRtb2R1bGVzX2NvbmZpZygpOwotCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgobnVsbF9zaGExLCBhcmd2WzFdKTsKKwlzdWIgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKCZudWxsX29pZCwgYXJndlsxXSk7CiAKIAlpZiAoIXN1YikKIAkJZGllKF8oIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciKSwKQEAgLTU3OSw5ICs2MTIsNyBAQAogCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMLCAqdXJsID0gTlVMTCwgKmRlcHRoID0gTlVMTDsKIAlpbnQgcXVpZXQgPSAwOwogCWludCBwcm9ncmVzcyA9IDA7Ci0JRklMRSAqc3VibW9kdWxlX2RvdF9naXQ7CiAJY2hhciAqcCwgKnBhdGggPSBOVUxMLCAqc21fZ2l0ZGlyOwotCXN0cnVjdCBzdHJidWYgcmVsX3BhdGggPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmluZ19saXN0IHJlZmVyZW5jZSA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJY2hhciAqc21fYWx0ZXJuYXRlID0gTlVMTCwgKmVycm9yX3N0cmF0ZWd5ID0gTlVMTDsKQEAgLTY1MywyNyArNjg0LDEyIEBACiAJCXN0cmJ1Zl9yZXNldCgmc2IpOwogCX0KIAotCS8qIFdyaXRlIGEgLmdpdCBmaWxlIGluIHRoZSBzdWJtb2R1bGUgdG8gcmVkaXJlY3QgdG8gdGhlIHN1cGVycHJvamVjdC4gKi8KLQlzdHJidWZfYWRkZigmc2IsICIlcy8uZ2l0IiwgcGF0aCk7Ci0JaWYgKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3Qoc2IuYnVmKSA8IDApCi0JCWRpZShfKCJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIpLCBzYi5idWYpOwotCXN1Ym1vZHVsZV9kb3RfZ2l0ID0gZm9wZW4oc2IuYnVmLCAidyIpOwotCWlmICghc3VibW9kdWxlX2RvdF9naXQpCi0JCWRpZV9lcnJubyhfKCJjYW5ub3Qgb3BlbiBmaWxlICclcyciKSwgc2IuYnVmKTsKKwkvKiBDb25uZWN0IG1vZHVsZSB3b3JrdHJlZSBhbmQgZ2l0IGRpciAqLworCWNvbm5lY3Rfd29ya190cmVlX2FuZF9naXRfZGlyKHBhdGgsIHNtX2dpdGRpcik7CiAKLQlmcHJpbnRmX29yX2RpZShzdWJtb2R1bGVfZG90X2dpdCwgImdpdGRpcjogJXNcbiIsCi0JCSAgICAgICByZWxhdGl2ZV9wYXRoKHNtX2dpdGRpciwgcGF0aCwgJnJlbF9wYXRoKSk7Ci0JaWYgKGZjbG9zZShzdWJtb2R1bGVfZG90X2dpdCkpCi0JCWRpZShfKCJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIpLCBzYi5idWYpOwotCXN0cmJ1Zl9yZXNldCgmc2IpOwotCXN0cmJ1Zl9yZXNldCgmcmVsX3BhdGgpOwotCi0JLyogUmVkaXJlY3QgdGhlIHdvcmt0cmVlIG9mIHRoZSBzdWJtb2R1bGUgaW4gdGhlIHN1cGVycHJvamVjdCdzIGNvbmZpZyAqLwogCXAgPSBnaXRfcGF0aGR1cF9zdWJtb2R1bGUocGF0aCwgImNvbmZpZyIpOwogCWlmICghcCkKIAkJZGllKF8oImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIpLCBwYXRoKTsKLQlnaXRfY29uZmlnX3NldF9pbl9maWxlKHAsICJjb3JlLndvcmt0cmVlIiwKLQkJCSAgICAgICByZWxhdGl2ZV9wYXRoKHBhdGgsIHNtX2dpdGRpciwgJnJlbF9wYXRoKSk7CiAKIAkvKiBzZXR1cCBhbHRlcm5hdGVMb2NhdGlvbiBhbmQgYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpbiB0aGUgY2xvbmVkIHN1Ym1vZHVsZSBpZiBuZWVkZWQgKi8KIAlnaXRfY29uZmlnX2dldF9zdHJpbmcoInN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiIsICZzbV9hbHRlcm5hdGUpOwpAQCAtNjg5LDcgKzcwNSw2IEBACiAJZnJlZShlcnJvcl9zdHJhdGVneSk7CiAKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwotCXN0cmJ1Zl9yZWxlYXNlKCZyZWxfcGF0aCk7CiAJZnJlZShzbV9naXRkaXIpOwogCWZyZWUocGF0aCk7CiAJZnJlZShwKTsKQEAgLTc1OCwxMCArNzczLDEzIEBACiAJCQkJCSAgIHN0cnVjdCBzdHJidWYgKm91dCkKIHsKIAljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWIgPSBOVUxMOworCWNvbnN0IGNoYXIgKnVybCA9IE5VTEw7CisJY29uc3QgY2hhciAqdXBkYXRlX3N0cmluZzsKKwllbnVtIHN1Ym1vZHVsZV91cGRhdGVfdHlwZSB1cGRhdGVfdHlwZTsKKwljaGFyICprZXk7CiAJc3RydWN0IHN0cmJ1ZiBkaXNwbGF5cGF0aF9zYiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICpkaXNwbGF5cGF0aCA9IE5VTEw7Ci0JY2hhciAqdXJsID0gTlVMTDsKIAlpbnQgbmVlZHNfY2xvbmluZyA9IDA7CiAKIAlpZiAoY2Vfc3RhZ2UoY2UpKSB7CkBAIC03NzQsNyArNzkyLDcgQEAKIAkJZ290byBjbGVhbnVwOwogCX0KIAotCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgobnVsbF9zaGExLCBjZS0+bmFtZSk7CisJc3ViID0gc3VibW9kdWxlX2Zyb21fcGF0aCgmbnVsbF9vaWQsIGNlLT5uYW1lKTsKIAogCWlmIChzdWMtPnJlY3Vyc2l2ZV9wcmVmaXgpCiAJCWRpc3BsYXlwYXRoID0gcmVsYXRpdmVfcGF0aChzdWMtPnJlY3Vyc2l2ZV9wcmVmaXgsCkBAIC03ODcsMjggKzgwNSwzNCBAQAogCQlnb3RvIGNsZWFudXA7CiAJfQogCisJa2V5ID0geHN0cmZtdCgic3VibW9kdWxlLiVzLnVwZGF0ZSIsIHN1Yi0+bmFtZSk7CisJaWYgKCFyZXBvX2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KHRoZV9yZXBvc2l0b3J5LCBrZXksICZ1cGRhdGVfc3RyaW5nKSkgeworCQl1cGRhdGVfdHlwZSA9IHBhcnNlX3N1Ym1vZHVsZV91cGRhdGVfdHlwZSh1cGRhdGVfc3RyaW5nKTsKKwl9IGVsc2UgeworCQl1cGRhdGVfdHlwZSA9IHN1Yi0+dXBkYXRlX3N0cmF0ZWd5LnR5cGU7CisJfQorCWZyZWUoa2V5KTsKKwogCWlmIChzdWMtPnVwZGF0ZS50eXBlID09IFNNX1VQREFURV9OT05FCiAJICAgIHx8IChzdWMtPnVwZGF0ZS50eXBlID09IFNNX1VQREFURV9VTlNQRUNJRklFRAotCQkmJiBzdWItPnVwZGF0ZV9zdHJhdGVneS50eXBlID09IFNNX1VQREFURV9OT05FKSkgeworCQkmJiB1cGRhdGVfdHlwZSA9PSBTTV9VUERBVEVfTk9ORSkpIHsKIAkJc3RyYnVmX2FkZGYob3V0LCBfKCJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIpLCBkaXNwbGF5cGF0aCk7CiAJCXN0cmJ1Zl9hZGRjaChvdXQsICdcbicpOwogCQlnb3RvIGNsZWFudXA7CiAJfQogCi0JLyoKLQkgKiBMb29raW5nIHVwIHRoZSB1cmwgaW4gLmdpdC9jb25maWcuCi0JICogV2UgbXVzdCBub3QgZmFsbCBiYWNrIHRvIC5naXRtb2R1bGVzIGFzIHdlIG9ubHkgd2FudAotCSAqIHRvIHByb2Nlc3MgY29uZmlndXJlZCBzdWJtb2R1bGVzLgotCSAqLwotCXN0cmJ1Zl9yZXNldCgmc2IpOwotCXN0cmJ1Zl9hZGRmKCZzYiwgInN1Ym1vZHVsZS4lcy51cmwiLCBzdWItPm5hbWUpOwotCWdpdF9jb25maWdfZ2V0X3N0cmluZyhzYi5idWYsICZ1cmwpOwotCWlmICghdXJsKSB7CisJLyogQ2hlY2sgaWYgdGhlIHN1Ym1vZHVsZSBoYXMgYmVlbiBpbml0aWFsaXplZC4gKi8KKwlpZiAoIWlzX3N1Ym1vZHVsZV9hY3RpdmUodGhlX3JlcG9zaXRvcnksIGNlLT5uYW1lKSkgewogCQluZXh0X3N1Ym1vZHVsZV93YXJuX21pc3Npbmcoc3VjLCBvdXQsIGRpc3BsYXlwYXRoKTsKIAkJZ290byBjbGVhbnVwOwogCX0KIAogCXN0cmJ1Zl9yZXNldCgmc2IpOworCXN0cmJ1Zl9hZGRmKCZzYiwgInN1Ym1vZHVsZS4lcy51cmwiLCBzdWItPm5hbWUpOworCWlmIChyZXBvX2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KHRoZV9yZXBvc2l0b3J5LCBzYi5idWYsICZ1cmwpKQorCQl1cmwgPSBzdWItPnVybDsKKworCXN0cmJ1Zl9yZXNldCgmc2IpOwogCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzLy5naXQiLCBjZS0+bmFtZSk7CiAJbmVlZHNfY2xvbmluZyA9ICFmaWxlX2V4aXN0cyhzYi5idWYpOwogCkBAIC04NDcsNyArODcxLDYgQEAKIAkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC0+YXJncywgc3VjLT5kZXB0aCk7CiAKIGNsZWFudXA6Ci0JZnJlZSh1cmwpOwogCXN0cmJ1Zl9yZXNldCgmZGlzcGxheXBhdGhfc2IpOwogCXN0cmJ1Zl9yZXNldCgmc2IpOwogCkBAIC05MTcsNyArOTQwLDcgQEAKIAljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwogCXN0cnVjdCBzdWJtb2R1bGVfdXBkYXRlX2Nsb25lICpzdWMgPSBzdWNfY2I7CiAKLQlpbnQgKmlkeFAgPSAqKGludCoqKWlkeF90YXNrX2NiOworCWludCAqaWR4UCA9IGlkeF90YXNrX2NiOwogCWludCBpZHggPSAqaWR4UDsKIAlmcmVlKGlkeFApOwogCkBAIC05NDcsMTAgKzk3MCwxOSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGdpdG1vZHVsZXNfdXBkYXRlX2Nsb25lX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLAorCQkJCQkgIHZvaWQgKmNiKQoreworCWludCAqbWF4X2pvYnMgPSBjYjsKKwlpZiAoIXN0cmNtcCh2YXIsICJzdWJtb2R1bGUuZmV0Y2hqb2JzIikpCisJCSptYXhfam9icyA9IHBhcnNlX3N1Ym1vZHVsZV9mZXRjaGpvYnModmFyLCB2YWx1ZSk7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgdXBkYXRlX2Nsb25lKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWNvbnN0IGNoYXIgKnVwZGF0ZSA9IE5VTEw7Ci0JaW50IG1heF9qb2JzID0gLTE7CisJaW50IG1heF9qb2JzID0gMTsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJc3RydWN0IHN1Ym1vZHVsZV91cGRhdGVfY2xvbmUgc3VjID0gU1VCTU9EVUxFX1VQREFURV9DTE9ORV9JTklUOwpAQCAtOTg3LDYgKzEwMTksOSBAQAogCX07CiAJc3VjLnByZWZpeCA9IHByZWZpeDsKIAorCWNvbmZpZ19mcm9tX2dpdG1vZHVsZXMoZ2l0bW9kdWxlc191cGRhdGVfY2xvbmVfY29uZmlnLCAmbWF4X2pvYnMpOworCWdpdF9jb25maWcoZ2l0bW9kdWxlc191cGRhdGVfY2xvbmVfY29uZmlnLCAmbWF4X2pvYnMpOworCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBtb2R1bGVfdXBkYXRlX2Nsb25lX29wdGlvbnMsCiAJCQkgICAgIGdpdF9zdWJtb2R1bGVfaGVscGVyX3VzYWdlLCAwKTsKIApAQCAtMTAwMCwxMyArMTAzNSw2IEBACiAJaWYgKHBhdGhzcGVjLm5yKQogCQlzdWMud2Fybl9pZl91bmluaXRpYWxpemVkID0gMTsKIAotCS8qIE92ZXJsYXkgdGhlIHBhcnNlZCAuZ2l0bW9kdWxlcyBmaWxlIHdpdGggLmdpdC9jb25maWcgKi8KLQlnaXRtb2R1bGVzX2NvbmZpZygpOwotCWdpdF9jb25maWcoc3VibW9kdWxlX2NvbmZpZywgTlVMTCk7Ci0KLQlpZiAobWF4X2pvYnMgPCAwKQotCQltYXhfam9icyA9IHBhcmFsbGVsX3N1Ym1vZHVsZXMoKTsKLQogCXJ1bl9wcm9jZXNzZXNfcGFyYWxsZWwobWF4X2pvYnMsCiAJCQkgICAgICAgdXBkYXRlX2Nsb25lX2dldF9uZXh0X3Rhc2ssCiAJCQkgICAgICAgdXBkYXRlX2Nsb25lX3N0YXJ0X2ZhaWx1cmUsCkBAIC0xMDI1LDcgKzEwNTMsNyBAQAogCQlyZXR1cm4gMTsKIAogCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJnN1Yy5wcm9qZWN0bGluZXMpCi0JCXV0ZjhfZnByaW50ZihzdGRvdXQsICIlcyIsIGl0ZW0tPnN0cmluZyk7CisJCWZwcmludGYoc3Rkb3V0LCAiJXMiLCBpdGVtLT5zdHJpbmcpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDQ0LDE5ICsxMDcyLDIzIEBACiBzdGF0aWMgY29uc3QgY2hhciAqcmVtb3RlX3N1Ym1vZHVsZV9icmFuY2goY29uc3QgY2hhciAqcGF0aCkKIHsKIAljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWI7Ci0JZ2l0bW9kdWxlc19jb25maWcoKTsKLQlnaXRfY29uZmlnKHN1Ym1vZHVsZV9jb25maWcsIE5VTEwpOworCWNvbnN0IGNoYXIgKmJyYW5jaCA9IE5VTEw7CisJY2hhciAqa2V5OwogCi0Jc3ViID0gc3VibW9kdWxlX2Zyb21fcGF0aChudWxsX3NoYTEsIHBhdGgpOworCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgoJm51bGxfb2lkLCBwYXRoKTsKIAlpZiAoIXN1YikKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZiAoIXN1Yi0+YnJhbmNoKQorCWtleSA9IHhzdHJmbXQoInN1Ym1vZHVsZS4lcy5icmFuY2giLCBzdWItPm5hbWUpOworCWlmIChyZXBvX2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KHRoZV9yZXBvc2l0b3J5LCBrZXksICZicmFuY2gpKQorCQlicmFuY2ggPSBzdWItPmJyYW5jaDsKKwlmcmVlKGtleSk7CisKKwlpZiAoIWJyYW5jaCkKIAkJcmV0dXJuICJtYXN0ZXIiOwogCi0JaWYgKCFzdHJjbXAoc3ViLT5icmFuY2gsICIuIikpIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQkJY29uc3QgY2hhciAqcmVmbmFtZSA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIDAsIHNoYTEsIE5VTEwpOworCWlmICghc3RyY21wKGJyYW5jaCwgIi4iKSkgeworCQljb25zdCBjaGFyICpyZWZuYW1lID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgMCwgTlVMTCwgTlVMTCk7CiAKIAkJaWYgKCFyZWZuYW1lKQogCQkJZGllKF8oIk5vIHN1Y2ggcmVmOiAlcyIpLCAiSEVBRCIpOwpAQCAtMTA3Miw3ICsxMTA0LDcgQEAKIAkJcmV0dXJuIHJlZm5hbWU7CiAJfQogCi0JcmV0dXJuIHN1Yi0+YnJhbmNoOworCXJldHVybiBicmFuY2g7CiB9CiAKIHN0YXRpYyBpbnQgcmVzb2x2ZV9yZW1vdGVfc3VibW9kdWxlX2JyYW5jaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsCkBAIC0xMDkyLDYgKzExMjQsODIgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBwdXNoX2NoZWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCXN0cnVjdCByZW1vdGUgKnJlbW90ZTsKKwljb25zdCBjaGFyICpzdXBlcnByb2plY3RfaGVhZDsKKwljaGFyICpoZWFkOworCWludCBkZXRhY2hlZF9oZWFkID0gMDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWRfb2lkOworCisJaWYgKGFyZ2MgPCAzKQorCQlkaWUoInN1Ym1vZHVsZS0taGVscGVyIHB1c2gtY2hlY2sgcmVxdWlyZXMgYXQgbGVhc3QgMiBhcmd1bWVudHMiKTsKKworCS8qCisJICogc3VwZXJwcm9qZWN0J3MgcmVzb2x2ZWQgaGVhZCByZWYuCisJICogaWYgSEVBRCB0aGVuIHRoZSBzdXBlcnByb2plY3QgaXMgaW4gYSBkZXRhY2hlZCBoZWFkIHN0YXRlLCBvdGhlcndpc2UKKwkgKiBpdCB3aWxsIGJlIHRoZSByZXNvbHZlZCBoZWFkIHJlZi4KKwkgKi8KKwlzdXBlcnByb2plY3RfaGVhZCA9IGFyZ3ZbMV07CisJYXJndisrOworCWFyZ2MtLTsKKwkvKiBHZXQgdGhlIHN1Ym1vZHVsZSdzIGhlYWQgcmVmIGFuZCBkZXRlcm1pbmUgaWYgaXQgaXMgZGV0YWNoZWQgKi8KKwloZWFkID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCAwLCBoZWFkX29pZC5oYXNoLCBOVUxMKTsKKwlpZiAoIWhlYWQpCisJCWRpZShfKCJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIpKTsKKwlpZiAoIXN0cmNtcChoZWFkLCAiSEVBRCIpKQorCQlkZXRhY2hlZF9oZWFkID0gMTsKKworCS8qCisJICogVGhlIHJlbW90ZSBtdXN0IGJlIGNvbmZpZ3VyZWQuCisJICogVGhpcyBpcyB0byBhdm9pZCBwdXNoaW5nIHRvIHRoZSBleGFjdCBzYW1lIFVSTCBhcyB0aGUgcGFyZW50LgorCSAqLworCXJlbW90ZSA9IHB1c2hyZW1vdGVfZ2V0KGFyZ3ZbMV0pOworCWlmICghcmVtb3RlIHx8IHJlbW90ZS0+b3JpZ2luID09IFJFTU9URV9VTkNPTkZJR1VSRUQpCisJCWRpZSgicmVtb3RlICclcycgbm90IGNvbmZpZ3VyZWQiLCBhcmd2WzFdKTsKKworCS8qIENoZWNrIHRoZSByZWZzcGVjICovCisJaWYgKGFyZ2MgPiAyKSB7CisJCWludCBpLCByZWZzcGVjX25yID0gYXJnYyAtIDI7CisJCXN0cnVjdCByZWYgKmxvY2FsX3JlZnMgPSBnZXRfbG9jYWxfaGVhZHMoKTsKKwkJc3RydWN0IHJlZnNwZWMgKnJlZnNwZWMgPSBwYXJzZV9wdXNoX3JlZnNwZWMocmVmc3BlY19uciwKKwkJCQkJCQkgICAgIGFyZ3YgKyAyKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgcmVmc3BlY19ucjsgaSsrKSB7CisJCQlzdHJ1Y3QgcmVmc3BlYyAqcnMgPSByZWZzcGVjICsgaTsKKworCQkJaWYgKHJzLT5wYXR0ZXJuIHx8IHJzLT5tYXRjaGluZykKKwkJCQljb250aW51ZTsKKworCQkJLyogTEhTIG11c3QgbWF0Y2ggYSBzaW5nbGUgcmVmICovCisJCQlzd2l0Y2ggKGNvdW50X3JlZnNwZWNfbWF0Y2gocnMtPnNyYywgbG9jYWxfcmVmcywgTlVMTCkpIHsKKwkJCWNhc2UgMToKKwkJCQlicmVhazsKKwkJCWNhc2UgMDoKKwkJCQkvKgorCQkJCSAqIElmIExIUyBtYXRjaGVzICdIRUFEJyB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlCisJCQkJICogdGhhdCBpdCBtYXRjaGVzIHRoZSBzYW1lIG5hbWVkIGJyYW5jaAorCQkJCSAqIGNoZWNrZWQgb3V0IGluIHRoZSBzdXBlcnByb2plY3QuCisJCQkJICovCisJCQkJaWYgKCFzdHJjbXAocnMtPnNyYywgIkhFQUQiKSkgeworCQkJCQlpZiAoIWRldGFjaGVkX2hlYWQgJiYKKwkJCQkJICAgICFzdHJjbXAoaGVhZCwgc3VwZXJwcm9qZWN0X2hlYWQpKQorCQkJCQkJYnJlYWs7CisJCQkJCWRpZSgiSEVBRCBkb2VzIG5vdCBtYXRjaCB0aGUgbmFtZWQgYnJhbmNoIGluIHRoZSBzdXBlcnByb2plY3QiKTsKKwkJCQl9CisJCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJCWRlZmF1bHQ6CisJCQkJZGllKCJzcmMgcmVmc3BlYyAnJXMnIG11c3QgbmFtZSBhIHJlZiIsCisJCQkJICAgIHJzLT5zcmMpOworCQkJfQorCQl9CisJCWZyZWVfcmVmc3BlYyhyZWZzcGVjX25yLCByZWZzcGVjKTsKKwl9CisJZnJlZShoZWFkKTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IGFic29yYl9naXRfZGlycyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlpbnQgaTsKQEAgLTExMTYsOSArMTIyNCw2IEBACiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBlbWJlZF9naXRkaXJfb3B0aW9ucywKIAkJCSAgICAgZ2l0X3N1Ym1vZHVsZV9oZWxwZXJfdXNhZ2UsIDApOwogCi0JZ2l0bW9kdWxlc19jb25maWcoKTsKLQlnaXRfY29uZmlnKHN1Ym1vZHVsZV9jb25maWcsIE5VTEwpOwotCiAJaWYgKG1vZHVsZV9saXN0X2NvbXB1dGUoYXJnYywgYXJndiwgcHJlZml4LCAmcGF0aHNwZWMsICZsaXN0KSA8IDApCiAJCXJldHVybiAxOwogCkBAIC0xMTI5LDYgKzEyMzQsMTQgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBpc19hY3RpdmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJaWYgKGFyZ2MgIT0gMikKKwkJZGllKCJzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgdGFrZXMgZXhhY3RseSAxIGFyZ3VtZW50Iik7CisKKwlyZXR1cm4gIWlzX3N1Ym1vZHVsZV9hY3RpdmUodGhlX3JlcG9zaXRvcnksIGFyZ3ZbMV0pOworfQorCiAjZGVmaW5lIFNVUFBPUlRfU1VQRVJfUFJFRklYICgxPDwwKQogCiBzdHJ1Y3QgY21kX3N0cnVjdCB7CkBAIC0xMTQ3LDE1ICsxMjYwLDE2IEBACiAJeyJyZXNvbHZlLXJlbGF0aXZlLXVybC10ZXN0IiwgcmVzb2x2ZV9yZWxhdGl2ZV91cmxfdGVzdCwgMH0sCiAJeyJpbml0IiwgbW9kdWxlX2luaXQsIFNVUFBPUlRfU1VQRVJfUFJFRklYfSwKIAl7InJlbW90ZS1icmFuY2giLCByZXNvbHZlX3JlbW90ZV9zdWJtb2R1bGVfYnJhbmNoLCAwfSwKKwl7InB1c2gtY2hlY2siLCBwdXNoX2NoZWNrLCAwfSwKIAl7ImFic29yYi1naXQtZGlycyIsIGFic29yYl9naXRfZGlycywgU1VQUE9SVF9TVVBFUl9QUkVGSVh9LAorCXsiaXMtYWN0aXZlIiwgaXNfYWN0aXZlLCAwfSwKIH07CiAKIGludCBjbWRfc3VibW9kdWxlX19oZWxwZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IGk7Ci0JaWYgKGFyZ2MgPCAyKQotCQlkaWUoXygic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlICIKLQkJICAgICAgImNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIpKTsKKwlpZiAoYXJnYyA8IDIgfHwgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKKwkJdXNhZ2UoImdpdCBzdWJtb2R1bGUtLWhlbHBlciA8Y29tbWFuZD4iKTsKIAogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbW1hbmRzKTsgaSsrKSB7CiAJCWlmICghc3RyY21wKGFyZ3ZbMV0sIGNvbW1hbmRzW2ldLmNtZCkpIHsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc3ltYm9saWMtcmVmLmMgYi9idWlsdGluL3N5bWJvbGljLXJlZi5jCmluZGV4IDk2ZWVkOTQuLjE3YWFiYWEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vc3ltYm9saWMtcmVmLmMKKysrIGIvYnVpbHRpbi9zeW1ib2xpYy1yZWYuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgpAQCAtMTEsOSArMTIsOCBAQAogCiBzdGF0aWMgaW50IGNoZWNrX3N5bXJlZihjb25zdCBjaGFyICpIRUFELCBpbnQgcXVpZXQsIGludCBzaG9ydGVuLCBpbnQgcHJpbnQpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAlpbnQgZmxhZzsKLQljb25zdCBjaGFyICpyZWZuYW1lID0gcmVzb2x2ZV9yZWZfdW5zYWZlKEhFQUQsIDAsIHNoYTEsICZmbGFnKTsKKwljb25zdCBjaGFyICpyZWZuYW1lID0gcmVzb2x2ZV9yZWZfdW5zYWZlKEhFQUQsIDAsIE5VTEwsICZmbGFnKTsKIAogCWlmICghcmVmbmFtZSkKIAkJZGllKCJObyBzdWNoIHJlZjogJXMiLCBIRUFEKTsKQEAgLTU4LDcgKzU4LDcgQEAKIAkJCWRpZSgiQ2Fubm90IGRlbGV0ZSAlcywgbm90IGEgc3ltYm9saWMgcmVmIiwgYXJndlswXSk7CiAJCWlmICghc3RyY21wKGFyZ3ZbMF0sICJIRUFEIikpCiAJCQlkaWUoImRlbGV0aW5nICclcycgaXMgbm90IGFsbG93ZWQiLCBhcmd2WzBdKTsKLQkJcmV0dXJuIGRlbGV0ZV9yZWYoYXJndlswXSwgTlVMTCwgUkVGX05PREVSRUYpOworCQlyZXR1cm4gZGVsZXRlX3JlZihOVUxMLCBhcmd2WzBdLCBOVUxMLCBSRUZfTk9ERVJFRik7CiAJfQogCiAJc3dpdGNoIChhcmdjKSB7CmRpZmYgLS1naXQgYS9idWlsdGluL3RhZy5jIGIvYnVpbHRpbi90YWcuYwppbmRleCBlNDBjNGE5Li5jNjI3Nzk0IDEwMDY0NAotLS0gYS9idWlsdGluL3RhZy5jCisrKyBiL2J1aWx0aW4vdGFnLmMKQEAgLTcsNiArNyw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJ0YWcuaCIKQEAgLTIyLDcgKzIzLDcgQEAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3RhZ191c2FnZVtdID0gewogCU5fKCJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gWzxoZWFkPl0iKSwKIAlOXygiZ2l0IHRhZyAtZCA8dGFnbmFtZT4uLi4iKSwKLQlOXygiZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSIKKwlOXygiZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dIFstLXBvaW50cy1hdCA8b2JqZWN0Pl0iCiAJCSJcblx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8cGF0dGVybj4uLi5dIiksCiAJTl8oImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iKSwKIAlOVUxMCkBAIC0zMSw3ICszMiw4IEBACiBzdGF0aWMgdW5zaWduZWQgaW50IGNvbG9wdHM7CiBzdGF0aWMgaW50IGZvcmNlX3NpZ25fYW5ub3RhdGU7CiAKLXN0YXRpYyBpbnQgbGlzdF90YWdzKHN0cnVjdCByZWZfZmlsdGVyICpmaWx0ZXIsIHN0cnVjdCByZWZfc29ydGluZyAqc29ydGluZywgY29uc3QgY2hhciAqZm9ybWF0KQorc3RhdGljIGludCBsaXN0X3RhZ3Moc3RydWN0IHJlZl9maWx0ZXIgKmZpbHRlciwgc3RydWN0IHJlZl9zb3J0aW5nICpzb3J0aW5nLAorCQkgICAgIHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQpCiB7CiAJc3RydWN0IHJlZl9hcnJheSBhcnJheTsKIAljaGFyICp0b19mcmVlID0gTlVMTDsKQEAgLTQyLDIzICs0NCwyNCBAQAogCWlmIChmaWx0ZXItPmxpbmVzID09IC0xKQogCQlmaWx0ZXItPmxpbmVzID0gMDsKIAotCWlmICghZm9ybWF0KSB7CisJaWYgKCFmb3JtYXQtPmZvcm1hdCkgewogCQlpZiAoZmlsdGVyLT5saW5lcykgewogCQkJdG9fZnJlZSA9IHhzdHJmbXQoIiVzICUlKGNvbnRlbnRzOmxpbmVzPSVkKSIsCi0JCQkJCSAgIiUoYWxpZ246MTUpJShyZWZuYW1lOnN0cmlwPTIpJShlbmQpIiwKKwkJCQkJICAiJShhbGlnbjoxNSklKHJlZm5hbWU6bHN0cmlwPTIpJShlbmQpIiwKIAkJCQkJICBmaWx0ZXItPmxpbmVzKTsKLQkJCWZvcm1hdCA9IHRvX2ZyZWU7CisJCQlmb3JtYXQtPmZvcm1hdCA9IHRvX2ZyZWU7CiAJCX0gZWxzZQotCQkJZm9ybWF0ID0gIiUocmVmbmFtZTpzdHJpcD0yKSI7CisJCQlmb3JtYXQtPmZvcm1hdCA9ICIlKHJlZm5hbWU6bHN0cmlwPTIpIjsKIAl9CiAKLQl2ZXJpZnlfcmVmX2Zvcm1hdChmb3JtYXQpOworCWlmICh2ZXJpZnlfcmVmX2Zvcm1hdChmb3JtYXQpKQorCQlkaWUoXygidW5hYmxlIHRvIHBhcnNlIGZvcm1hdCBzdHJpbmciKSk7CiAJZmlsdGVyLT53aXRoX2NvbW1pdF90YWdfYWxnbyA9IDE7CiAJZmlsdGVyX3JlZnMoJmFycmF5LCBmaWx0ZXIsIEZJTFRFUl9SRUZTX1RBR1MpOwogCXJlZl9hcnJheV9zb3J0KHNvcnRpbmcsICZhcnJheSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgYXJyYXkubnI7IGkrKykKLQkJc2hvd19yZWZfYXJyYXlfaXRlbShhcnJheS5pdGVtc1tpXSwgZm9ybWF0LCAwKTsKKwkJc2hvd19yZWZfYXJyYXlfaXRlbShhcnJheS5pdGVtc1tpXSwgZm9ybWF0KTsKIAlyZWZfYXJyYXlfY2xlYXIoJmFycmF5KTsKIAlmcmVlKHRvX2ZyZWUpOwogCkBAIC02Niw1OCArNjksNTUgQEAKIH0KIAogdHlwZWRlZiBpbnQgKCplYWNoX3RhZ19uYW1lX2ZuKShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpyZWYsCi0JCQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3Qgdm9pZCAqY2JfZGF0YSk7CisJCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCB2b2lkICpjYl9kYXRhKTsKIAogc3RhdGljIGludCBmb3JfZWFjaF90YWdfbmFtZShjb25zdCBjaGFyICoqYXJndiwgZWFjaF90YWdfbmFtZV9mbiBmbiwKIAkJCSAgICAgY29uc3Qgdm9pZCAqY2JfZGF0YSkKIHsKIAljb25zdCBjaGFyICoqcDsKLQljaGFyIHJlZltQQVRIX01BWF07CisJc3RydWN0IHN0cmJ1ZiByZWYgPSBTVFJCVUZfSU5JVDsKIAlpbnQgaGFkX2Vycm9yID0gMDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJZm9yIChwID0gYXJndjsgKnA7IHArKykgewotCQlpZiAoc25wcmludGYocmVmLCBzaXplb2YocmVmKSwgInJlZnMvdGFncy8lcyIsICpwKQotCQkJCQk+PSBzaXplb2YocmVmKSkgewotCQkJZXJyb3IoXygidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iKSwgNTAsICpwKTsKLQkJCWhhZF9lcnJvciA9IDE7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAocmVhZF9yZWYocmVmLCBzaGExKSkgeworCQlzdHJidWZfcmVzZXQoJnJlZik7CisJCXN0cmJ1Zl9hZGRmKCZyZWYsICJyZWZzL3RhZ3MvJXMiLCAqcCk7CisJCWlmIChyZWFkX3JlZihyZWYuYnVmLCBvaWQuaGFzaCkpIHsKIAkJCWVycm9yKF8oInRhZyAnJXMnIG5vdCBmb3VuZC4iKSwgKnApOwogCQkJaGFkX2Vycm9yID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmIChmbigqcCwgcmVmLCBzaGExLCBjYl9kYXRhKSkKKwkJaWYgKGZuKCpwLCByZWYuYnVmLCAmb2lkLCBjYl9kYXRhKSkKIAkJCWhhZF9lcnJvciA9IDE7CiAJfQorCXN0cmJ1Zl9yZWxlYXNlKCZyZWYpOwogCXJldHVybiBoYWRfZXJyb3I7CiB9CiAKIHN0YXRpYyBpbnQgZGVsZXRlX3RhZyhjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpyZWYsCi0JCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IHZvaWQgKmNiX2RhdGEpCisJCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3Qgdm9pZCAqY2JfZGF0YSkKIHsKLQlpZiAoZGVsZXRlX3JlZihyZWYsIHNoYTEsIDApKQorCWlmIChkZWxldGVfcmVmKE5VTEwsIHJlZiwgb2lkLT5oYXNoLCAwKSkKIAkJcmV0dXJuIDE7Ci0JcHJpbnRmKF8oIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIpLCBuYW1lLCBmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgREVGQVVMVF9BQkJSRVYpKTsKKwlwcmludGYoXygiRGVsZXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIiksIG5hbWUsIGZpbmRfdW5pcXVlX2FiYnJldihvaWQtPmhhc2gsIERFRkFVTFRfQUJCUkVWKSk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgdmVyaWZ5X3RhZyhjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpyZWYsCi0JCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IHZvaWQgKmNiX2RhdGEpCisJCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3Qgdm9pZCAqY2JfZGF0YSkKIHsKIAlpbnQgZmxhZ3M7Ci0JY29uc3QgY2hhciAqZm10X3ByZXR0eSA9IGNiX2RhdGE7CisJY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCA9IGNiX2RhdGE7CiAJZmxhZ3MgPSBHUEdfVkVSSUZZX1ZFUkJPU0U7CiAKLQlpZiAoZm10X3ByZXR0eSkKKwlpZiAoZm9ybWF0LT5mb3JtYXQpCiAJCWZsYWdzID0gR1BHX1ZFUklGWV9PTUlUX1NUQVRVUzsKIAotCWlmIChncGdfdmVyaWZ5X3RhZyhzaGExLCBuYW1lLCBmbGFncykpCisJaWYgKGdwZ192ZXJpZnlfdGFnKG9pZCwgbmFtZSwgZmxhZ3MpKQogCQlyZXR1cm4gLTE7CiAKLQlpZiAoZm10X3ByZXR0eSkKLQkJcHJldHR5X3ByaW50X3JlZihuYW1lLCBzaGExLCBmbXRfcHJldHR5KTsKKwlpZiAoZm9ybWF0LT5mb3JtYXQpCisJCXByZXR0eV9wcmludF9yZWYobmFtZSwgb2lkLT5oYXNoLCBmb3JtYXQpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMzYsMzAgKzEzNiw2IEBACiAJIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGtlcHQ7IHlvdSBtYXkgcmVtb3ZlIHRoZW0iCiAJIiB5b3Vyc2VsZiBpZiB5b3Ugd2FudCB0by5cbiIpOwogCi0vKiBQYXJzZSBhcmcgZ2l2ZW4gYW5kIGFkZCBpdCB0aGUgcmVmX3NvcnRpbmcgYXJyYXkgKi8KLXN0YXRpYyBpbnQgcGFyc2Vfc29ydGluZ19zdHJpbmcoY29uc3QgY2hhciAqYXJnLCBzdHJ1Y3QgcmVmX3NvcnRpbmcgKipzb3J0aW5nX3RhaWwpCi17Ci0Jc3RydWN0IHJlZl9zb3J0aW5nICpzOwotCWludCBsZW47Ci0KLQlzID0geGNhbGxvYygxLCBzaXplb2YoKnMpKTsKLQlzLT5uZXh0ID0gKnNvcnRpbmdfdGFpbDsKLQkqc29ydGluZ190YWlsID0gczsKLQotCWlmICgqYXJnID09ICctJykgewotCQlzLT5yZXZlcnNlID0gMTsKLQkJYXJnKys7Ci0JfQotCWlmIChza2lwX3ByZWZpeChhcmcsICJ2ZXJzaW9uOiIsICZhcmcpIHx8Ci0JICAgIHNraXBfcHJlZml4KGFyZywgInY6IiwgJmFyZykpCi0JCXMtPnZlcnNpb24gPSAxOwotCi0JbGVuID0gc3RybGVuKGFyZyk7Ci0Jcy0+YXRvbSA9IHBhcnNlX3JlZl9maWx0ZXJfYXRvbShhcmcsIGFyZytsZW4pOwotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgZ2l0X3RhZ19jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCiB7CiAJaW50IHN0YXR1czsKQEAgLTE2OCw3ICsxNDQsNyBAQAogCWlmICghc3RyY21wKHZhciwgInRhZy5zb3J0IikpIHsKIAkJaWYgKCF2YWx1ZSkKIAkJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOwotCQlwYXJzZV9zb3J0aW5nX3N0cmluZyh2YWx1ZSwgc29ydGluZ190YWlsKTsKKwkJcGFyc2VfcmVmX3NvcnRpbmcoc29ydGluZ190YWlsLCB2YWx1ZSk7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMTg1LDEzICsxNjEsMTMgQEAKIAlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIH0KIAotc3RhdGljIHZvaWQgd3JpdGVfdGFnX2JvZHkoaW50IGZkLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHZvaWQgd3JpdGVfdGFnX2JvZHkoaW50IGZkLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBzaXplOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAljaGFyICpidWYsICpzcDsKIAotCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJYnVmID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgJnNpemUpOwogCWlmICghYnVmKQogCQlyZXR1cm47CiAJLyogc2tpcCBoZWFkZXIgKi8KQEAgLTIwNywxMSArMTgzLDExIEBACiAJZnJlZShidWYpOwogfQogCi1zdGF0aWMgaW50IGJ1aWxkX3RhZ19vYmplY3Qoc3RydWN0IHN0cmJ1ZiAqYnVmLCBpbnQgc2lnbiwgdW5zaWduZWQgY2hhciAqcmVzdWx0KQorc3RhdGljIGludCBidWlsZF90YWdfb2JqZWN0KHN0cnVjdCBzdHJidWYgKmJ1ZiwgaW50IHNpZ24sIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCkKIHsKIAlpZiAoc2lnbiAmJiBkb19zaWduKGJ1ZikgPCAwKQogCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIpKTsKLQlpZiAod3JpdGVfc2hhMV9maWxlKGJ1Zi0+YnVmLCBidWYtPmxlbiwgdGFnX3R5cGUsIHJlc3VsdCkgPCAwKQorCWlmICh3cml0ZV9zaGExX2ZpbGUoYnVmLT5idWYsIGJ1Zi0+bGVuLCB0YWdfdHlwZSwgcmVzdWx0LT5oYXNoKSA8IDApCiAJCXJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gd3JpdGUgdGFnIGZpbGUiKSk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMjYsMzEgKzIwMiwyNyBAQAogCX0gY2xlYW51cF9tb2RlOwogfTsKIAotc3RhdGljIHZvaWQgY3JlYXRlX3RhZyhjb25zdCB1bnNpZ25lZCBjaGFyICpvYmplY3QsIGNvbnN0IGNoYXIgKnRhZywKK3N0YXRpYyB2b2lkIGNyZWF0ZV90YWcoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2JqZWN0LCBjb25zdCBjaGFyICp0YWcsCiAJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICpidWYsIHN0cnVjdCBjcmVhdGVfdGFnX29wdGlvbnMgKm9wdCwKLQkJICAgICAgIHVuc2lnbmVkIGNoYXIgKnByZXYsIHVuc2lnbmVkIGNoYXIgKnJlc3VsdCkKKwkJICAgICAgIHN0cnVjdCBvYmplY3RfaWQgKnByZXYsIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCkKIHsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7Ci0JY2hhciBoZWFkZXJfYnVmWzEwMjRdOwotCWludCBoZWFkZXJfbGVuOworCXN0cnVjdCBzdHJidWYgaGVhZGVyID0gU1RSQlVGX0lOSVQ7CiAJY2hhciAqcGF0aCA9IE5VTEw7CiAKLQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvYmplY3QsIE5VTEwpOworCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKG9iamVjdC0+aGFzaCwgTlVMTCk7CiAJaWYgKHR5cGUgPD0gT0JKX05PTkUpCiAJICAgIGRpZShfKCJiYWQgb2JqZWN0IHR5cGUuIikpOwogCi0JaGVhZGVyX2xlbiA9IHNucHJpbnRmKGhlYWRlcl9idWYsIHNpemVvZihoZWFkZXJfYnVmKSwKLQkJCSAgIm9iamVjdCAlc1xuIgotCQkJICAidHlwZSAlc1xuIgotCQkJICAidGFnICVzXG4iCi0JCQkgICJ0YWdnZXIgJXNcblxuIiwKLQkJCSAgc2hhMV90b19oZXgob2JqZWN0KSwKLQkJCSAgdHlwZW5hbWUodHlwZSksCi0JCQkgIHRhZywKLQkJCSAgZ2l0X2NvbW1pdHRlcl9pbmZvKElERU5UX1NUUklDVCkpOwotCi0JaWYgKGhlYWRlcl9sZW4gPiBzaXplb2YoaGVhZGVyX2J1ZikgLSAxKQotCQlkaWUoXygidGFnIGhlYWRlciB0b28gYmlnLiIpKTsKKwlzdHJidWZfYWRkZigmaGVhZGVyLAorCQkgICAgIm9iamVjdCAlc1xuIgorCQkgICAgInR5cGUgJXNcbiIKKwkJICAgICJ0YWcgJXNcbiIKKwkJICAgICJ0YWdnZXIgJXNcblxuIiwKKwkJICAgIG9pZF90b19oZXgob2JqZWN0KSwKKwkJICAgIHR5cGVuYW1lKHR5cGUpLAorCQkgICAgdGFnLAorCQkgICAgZ2l0X2NvbW1pdHRlcl9pbmZvKElERU5UX1NUUklDVCkpOwogCiAJaWYgKCFvcHQtPm1lc3NhZ2VfZ2l2ZW4pIHsKIAkJaW50IGZkOwpAQCAtMjYxLDcgKzIzMyw3IEBACiAJCWlmIChmZCA8IDApCiAJCQlkaWVfZXJybm8oXygiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciKSwgcGF0aCk7CiAKLQkJaWYgKCFpc19udWxsX3NoYTEocHJldikpIHsKKwkJaWYgKCFpc19udWxsX29pZChwcmV2KSkgewogCQkJd3JpdGVfdGFnX2JvZHkoZmQsIHByZXYpOwogCQl9IGVsc2UgewogCQkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKQEAgLTI4OCw3ICsyNjAsOCBAQAogCWlmICghb3B0LT5tZXNzYWdlX2dpdmVuICYmICFidWYtPmxlbikKIAkJZGllKF8oIm5vIHRhZyBtZXNzYWdlPyIpKTsKIAotCXN0cmJ1Zl9pbnNlcnQoYnVmLCAwLCBoZWFkZXJfYnVmLCBoZWFkZXJfbGVuKTsKKwlzdHJidWZfaW5zZXJ0KGJ1ZiwgMCwgaGVhZGVyLmJ1ZiwgaGVhZGVyLmxlbik7CisJc3RyYnVmX3JlbGVhc2UoJmhlYWRlcik7CiAKIAlpZiAoYnVpbGRfdGFnX29iamVjdChidWYsIG9wdC0+c2lnbiwgcmVzdWx0KSA8IDApIHsKIAkJaWYgKHBhdGgpCkBAIC0zMDIsNiArMjc1LDU0IEBACiAJfQogfQogCitzdGF0aWMgdm9pZCBjcmVhdGVfcmVmbG9nX21zZyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCBzdHJidWYgKnNiKQoreworCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKKwlzdHJ1Y3QgY29tbWl0ICpjOworCWNoYXIgKmJ1ZjsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisJaW50IHN1YmplY3RfbGVuID0gMDsKKwljb25zdCBjaGFyICpzdWJqZWN0X3N0YXJ0OworCisJY2hhciAqcmxhID0gZ2V0ZW52KCJHSVRfUkVGTE9HX0FDVElPTiIpOworCWlmIChybGEpIHsKKwkJc3RyYnVmX2FkZHN0cihzYiwgcmxhKTsKKwl9IGVsc2UgeworCQlzdHJidWZfYWRkc3RyKHNiLCAidGFnOiB0YWdnaW5nICIpOworCQlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoc2IsIG9pZC0+aGFzaCwgREVGQVVMVF9BQkJSRVYpOworCX0KKworCXN0cmJ1Zl9hZGRzdHIoc2IsICIgKCIpOworCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKG9pZC0+aGFzaCwgTlVMTCk7CisJc3dpdGNoICh0eXBlKSB7CisJZGVmYXVsdDoKKwkJc3RyYnVmX2FkZHN0cihzYiwgIm9iamVjdCBvZiB1bmtub3duIHR5cGUiKTsKKwkJYnJlYWs7CisJY2FzZSBPQkpfQ09NTUlUOgorCQlpZiAoKGJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJnR5cGUsICZzaXplKSkgIT0gTlVMTCkgeworCQkJc3ViamVjdF9sZW4gPSBmaW5kX2NvbW1pdF9zdWJqZWN0KGJ1ZiwgJnN1YmplY3Rfc3RhcnQpOworCQkJc3RyYnVmX2luc2VydChzYiwgc2ItPmxlbiwgc3ViamVjdF9zdGFydCwgc3ViamVjdF9sZW4pOworCQl9IGVsc2UgeworCQkJc3RyYnVmX2FkZHN0cihzYiwgImNvbW1pdCBvYmplY3QiKTsKKwkJfQorCQlmcmVlKGJ1Zik7CisKKwkJaWYgKChjID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uob2lkKSkgIT0gTlVMTCkKKwkJCXN0cmJ1Zl9hZGRmKHNiLCAiLCAlcyIsIHNob3dfZGF0ZShjLT5kYXRlLCAwLCBEQVRFX01PREUoU0hPUlQpKSk7CisJCWJyZWFrOworCWNhc2UgT0JKX1RSRUU6CisJCXN0cmJ1Zl9hZGRzdHIoc2IsICJ0cmVlIG9iamVjdCIpOworCQlicmVhazsKKwljYXNlIE9CSl9CTE9COgorCQlzdHJidWZfYWRkc3RyKHNiLCAiYmxvYiBvYmplY3QiKTsKKwkJYnJlYWs7CisJY2FzZSBPQkpfVEFHOgorCQlzdHJidWZfYWRkc3RyKHNiLCAib3RoZXIgdGFnIG9iamVjdCIpOworCQlicmVhazsKKwl9CisJc3RyYnVmX2FkZGNoKHNiLCAnKScpOworfQorCiBzdHJ1Y3QgbXNnX2FyZyB7CiAJaW50IGdpdmVuOwogCXN0cnVjdCBzdHJidWYgYnVmOwpAQCAtMzM1LDcgKzM1Niw4IEBACiB7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHJlZiA9IFNUUkJVRl9JTklUOwotCXVuc2lnbmVkIGNoYXIgb2JqZWN0WzIwXSwgcHJldlsyMF07CisJc3RydWN0IHN0cmJ1ZiByZWZsb2dfbXNnID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IG9iamVjdF9pZCBvYmplY3QsIHByZXY7CiAJY29uc3QgY2hhciAqb2JqZWN0X3JlZiwgKnRhZzsKIAlzdHJ1Y3QgY3JlYXRlX3RhZ19vcHRpb25zIG9wdDsKIAljaGFyICpjbGVhbnVwX2FyZyA9IE5VTEw7CkBAIC0zNDgsNyArMzcwLDcgQEAKIAlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCByZWZfZmlsdGVyIGZpbHRlcjsKIAlzdGF0aWMgc3RydWN0IHJlZl9zb3J0aW5nICpzb3J0aW5nID0gTlVMTCwgKipzb3J0aW5nX3RhaWwgPSAmc29ydGluZzsKLQljb25zdCBjaGFyICpmb3JtYXQgPSBOVUxMOworCXN0cnVjdCByZWZfZm9ybWF0IGZvcm1hdCA9IFJFRl9GT1JNQVRfSU5JVDsKIAlpbnQgaWNhc2UgPSAwOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewogCQlPUFRfQ01ETU9ERSgnbCcsICJsaXN0IiwgJmNtZG1vZGUsIE5fKCJsaXN0IHRhZyBuYW1lcyIpLCAnbCcpLApAQCAtMzc1LDIwICszOTcsMjYgQEAKIAkJT1BUX0dST1VQKE5fKCJUYWcgbGlzdGluZyBvcHRpb25zIikpLAogCQlPUFRfQ09MVU1OKDAsICJjb2x1bW4iLCAmY29sb3B0cywgTl8oInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIpKSwKIAkJT1BUX0NPTlRBSU5TKCZmaWx0ZXIud2l0aF9jb21taXQsIE5fKCJwcmludCBvbmx5IHRhZ3MgdGhhdCBjb250YWluIHRoZSBjb21taXQiKSksCisJCU9QVF9OT19DT05UQUlOUygmZmlsdGVyLm5vX2NvbW1pdCwgTl8oInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIpKSwKIAkJT1BUX1dJVEgoJmZpbHRlci53aXRoX2NvbW1pdCwgTl8oInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIpKSwKKwkJT1BUX1dJVEhPVVQoJmZpbHRlci5ub19jb21taXQsIE5fKCJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiKSksCiAJCU9QVF9NRVJHRUQoJmZpbHRlciwgTl8oInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiKSksCiAJCU9QVF9OT19NRVJHRUQoJmZpbHRlciwgTl8oInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBub3QgbWVyZ2VkIikpLAogCQlPUFRfQ0FMTEJBQ0soMCAsICJzb3J0Iiwgc29ydGluZ190YWlsLCBOXygia2V5IiksCiAJCQkgICAgIE5fKCJmaWVsZCBuYW1lIHRvIHNvcnQgb24iKSwgJnBhcnNlX29wdF9yZWZfc29ydGluZyksCiAJCXsKIAkJCU9QVElPTl9DQUxMQkFDSywgMCwgInBvaW50cy1hdCIsICZmaWx0ZXIucG9pbnRzX2F0LCBOXygib2JqZWN0IiksCi0JCQlOXygicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiKSwgMCwgcGFyc2Vfb3B0X29iamVjdF9uYW1lCisJCQlOXygicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiKSwgUEFSU0VfT1BUX0xBU1RBUkdfREVGQVVMVCwKKwkJCXBhcnNlX29wdF9vYmplY3RfbmFtZSwgKGludHB0cl90KSAiSEVBRCIKIAkJfSwKLQkJT1BUX1NUUklORyggIDAgLCAiZm9ybWF0IiwgJmZvcm1hdCwgTl8oImZvcm1hdCIpLCBOXygiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIpKSwKKwkJT1BUX1NUUklORyggIDAgLCAiZm9ybWF0IiwgJmZvcm1hdC5mb3JtYXQsIE5fKCJmb3JtYXQiKSwKKwkJCSAgIE5fKCJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IikpLAogCQlPUFRfQk9PTCgnaScsICJpZ25vcmUtY2FzZSIsICZpY2FzZSwgTl8oInNvcnRpbmcgYW5kIGZpbHRlcmluZyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIAorCXNldHVwX3JlZl9maWx0ZXJfcG9yY2VsYWluX21zZygpOworCiAJZ2l0X2NvbmZpZyhnaXRfdGFnX2NvbmZpZywgc29ydGluZ190YWlsKTsKIAogCW1lbXNldCgmb3B0LCAwLCBzaXplb2Yob3B0KSk7CkBAIC00MDMsOCArNDMxLDE3IEBACiAJfQogCWNyZWF0ZV90YWdfb2JqZWN0ID0gKG9wdC5zaWduIHx8IGFubm90YXRlIHx8IG1zZy5naXZlbiB8fCBtc2dmaWxlKTsKIAotCWlmIChhcmdjID09IDAgJiYgIWNtZG1vZGUpCi0JCWNtZG1vZGUgPSAnbCc7CisJaWYgKCFjbWRtb2RlKSB7CisJCWlmIChhcmdjID09IDApCisJCQljbWRtb2RlID0gJ2wnOworCQllbHNlIGlmIChmaWx0ZXIud2l0aF9jb21taXQgfHwgZmlsdGVyLm5vX2NvbW1pdCB8fAorCQkJIGZpbHRlci5wb2ludHNfYXQubnIgfHwgZmlsdGVyLm1lcmdlX2NvbW1pdCB8fAorCQkJIGZpbHRlci5saW5lcyAhPSAtMSkKKwkJCWNtZG1vZGUgPSAnbCc7CisJfQorCisJaWYgKGNtZG1vZGUgPT0gJ2wnKQorCQlzZXR1cF9hdXRvX3BhZ2VyKCJ0YWciLCAxKTsKIAogCWlmICgoY3JlYXRlX3RhZ19vYmplY3QgfHwgZm9yY2UpICYmIChjbWRtb2RlICE9IDApKQogCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3RhZ191c2FnZSwgb3B0aW9ucyk7CkBAIC00MjgsMjUgKzQ2NSwyNyBAQAogCQkJcnVuX2NvbHVtbl9maWx0ZXIoY29sb3B0cywgJmNvcHRzKTsKIAkJfQogCQlmaWx0ZXIubmFtZV9wYXR0ZXJucyA9IGFyZ3Y7Ci0JCXJldCA9IGxpc3RfdGFncygmZmlsdGVyLCBzb3J0aW5nLCBmb3JtYXQpOworCQlyZXQgPSBsaXN0X3RhZ3MoJmZpbHRlciwgc29ydGluZywgJmZvcm1hdCk7CiAJCWlmIChjb2x1bW5fYWN0aXZlKGNvbG9wdHMpKQogCQkJc3RvcF9jb2x1bW5fZmlsdGVyKCk7CiAJCXJldHVybiByZXQ7CiAJfQogCWlmIChmaWx0ZXIubGluZXMgIT0gLTEpCi0JCWRpZShfKCItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIikpOworCQlkaWUoXygiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiKSk7CiAJaWYgKGZpbHRlci53aXRoX2NvbW1pdCkKLQkJZGllKF8oIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIpKTsKKwkJZGllKF8oIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiKSk7CisJaWYgKGZpbHRlci5ub19jb21taXQpCisJCWRpZShfKCItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIikpOwogCWlmIChmaWx0ZXIucG9pbnRzX2F0Lm5yKQotCQlkaWUoXygiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIpKTsKKwkJZGllKF8oIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIikpOwogCWlmIChmaWx0ZXIubWVyZ2VfY29tbWl0KQotCQlkaWUoXygiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbiBhcmUgb25seSBhbGxvd2VkIHdpdGggLWwiKSk7CisJCWRpZShfKCItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIpKTsKIAlpZiAoY21kbW9kZSA9PSAnZCcpCiAJCXJldHVybiBmb3JfZWFjaF90YWdfbmFtZShhcmd2LCBkZWxldGVfdGFnLCBOVUxMKTsKIAlpZiAoY21kbW9kZSA9PSAndicpIHsKLQkJaWYgKGZvcm1hdCkKLQkJCXZlcmlmeV9yZWZfZm9ybWF0KGZvcm1hdCk7Ci0JCXJldHVybiBmb3JfZWFjaF90YWdfbmFtZShhcmd2LCB2ZXJpZnlfdGFnLCBmb3JtYXQpOworCQlpZiAoZm9ybWF0LmZvcm1hdCAmJiB2ZXJpZnlfcmVmX2Zvcm1hdCgmZm9ybWF0KSkKKwkJCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfdGFnX3VzYWdlLCBvcHRpb25zKTsKKwkJcmV0dXJuIGZvcl9lYWNoX3RhZ19uYW1lKGFyZ3YsIHZlcmlmeV90YWcsICZmb3JtYXQpOwogCX0KIAogCWlmIChtc2cuZ2l2ZW4gfHwgbXNnZmlsZSkgewpAQCAtNDcyLDE0ICs1MTEsMTQgQEAKIAlpZiAoYXJnYyA+IDIpCiAJCWRpZShfKCJ0b28gbWFueSBwYXJhbXMiKSk7CiAKLQlpZiAoZ2V0X3NoYTEob2JqZWN0X3JlZiwgb2JqZWN0KSkKKwlpZiAoZ2V0X29pZChvYmplY3RfcmVmLCAmb2JqZWN0KSkKIAkJZGllKF8oIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIG9iamVjdF9yZWYpOwogCiAJaWYgKHN0cmJ1Zl9jaGVja190YWdfcmVmKCZyZWYsIHRhZykpCiAJCWRpZShfKCInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIpLCB0YWcpOwogCi0JaWYgKHJlYWRfcmVmKHJlZi5idWYsIHByZXYpKQotCQloYXNoY2xyKHByZXYpOworCWlmIChyZWFkX3JlZihyZWYuYnVmLCBwcmV2Lmhhc2gpKQorCQlvaWRjbHIoJnByZXYpOwogCWVsc2UgaWYgKCFmb3JjZSkKIAkJZGllKF8oInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIiksIHRhZyk7CiAKQEAgLTQ5NCwyNSArNTMzLDI4IEBACiAJZWxzZQogCQlkaWUoXygiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiKSwgY2xlYW51cF9hcmcpOwogCisJY3JlYXRlX3JlZmxvZ19tc2coJm9iamVjdCwgJnJlZmxvZ19tc2cpOworCiAJaWYgKGNyZWF0ZV90YWdfb2JqZWN0KSB7CiAJCWlmIChmb3JjZV9zaWduX2Fubm90YXRlICYmICFhbm5vdGF0ZSkKIAkJCW9wdC5zaWduID0gMTsKLQkJY3JlYXRlX3RhZyhvYmplY3QsIHRhZywgJmJ1ZiwgJm9wdCwgcHJldiwgb2JqZWN0KTsKKwkJY3JlYXRlX3RhZygmb2JqZWN0LCB0YWcsICZidWYsICZvcHQsICZwcmV2LCAmb2JqZWN0KTsKIAl9CiAKIAl0cmFuc2FjdGlvbiA9IHJlZl90cmFuc2FjdGlvbl9iZWdpbigmZXJyKTsKIAlpZiAoIXRyYW5zYWN0aW9uIHx8Ci0JICAgIHJlZl90cmFuc2FjdGlvbl91cGRhdGUodHJhbnNhY3Rpb24sIHJlZi5idWYsIG9iamVjdCwgcHJldiwKKwkgICAgcmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSh0cmFuc2FjdGlvbiwgcmVmLmJ1Ziwgb2JqZWN0Lmhhc2gsIHByZXYuaGFzaCwKIAkJCQkgICBjcmVhdGVfcmVmbG9nID8gUkVGX0ZPUkNFX0NSRUFURV9SRUZMT0cgOiAwLAotCQkJCSAgIE5VTEwsICZlcnIpIHx8CisJCQkJICAgcmVmbG9nX21zZy5idWYsICZlcnIpIHx8CiAJICAgIHJlZl90cmFuc2FjdGlvbl9jb21taXQodHJhbnNhY3Rpb24sICZlcnIpKQogCQlkaWUoIiVzIiwgZXJyLmJ1Zik7CiAJcmVmX3RyYW5zYWN0aW9uX2ZyZWUodHJhbnNhY3Rpb24pOwotCWlmIChmb3JjZSAmJiAhaXNfbnVsbF9zaGExKHByZXYpICYmIGhhc2hjbXAocHJldiwgb2JqZWN0KSkKLQkJcHJpbnRmKF8oIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIpLCB0YWcsIGZpbmRfdW5pcXVlX2FiYnJldihwcmV2LCBERUZBVUxUX0FCQlJFVikpOworCWlmIChmb3JjZSAmJiAhaXNfbnVsbF9vaWQoJnByZXYpICYmIG9pZGNtcCgmcHJldiwgJm9iamVjdCkpCisJCXByaW50ZihfKCJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iKSwgdGFnLCBmaW5kX3VuaXF1ZV9hYmJyZXYocHJldi5oYXNoLCBERUZBVUxUX0FCQlJFVikpOwogCiAJc3RyYnVmX3JlbGVhc2UoJmVycik7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJc3RyYnVmX3JlbGVhc2UoJnJlZik7CisJc3RyYnVmX3JlbGVhc2UoJnJlZmxvZ19tc2cpOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi91bnBhY2stZmlsZS5jIGIvYnVpbHRpbi91bnBhY2stZmlsZS5jCmluZGV4IDZmYzZiY2QuLjMyZTAxNTUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdW5wYWNrLWZpbGUuYworKysgYi9idWlsdGluL3VucGFjay1maWxlLmMKQEAgLTEsNiArMSw3IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogCi1zdGF0aWMgY2hhciAqY3JlYXRlX3RlbXBfZmlsZSh1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGNoYXIgKmNyZWF0ZV90ZW1wX2ZpbGUoc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0YXRpYyBjaGFyIHBhdGhbNTBdOwogCXZvaWQgKmJ1ZjsKQEAgLTgsMTMgKzksMTMgQEAKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJaW50IGZkOwogCi0JYnVmID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZzaXplKTsKKwlidWYgPSByZWFkX3NoYTFfZmlsZShvaWQtPmhhc2gsICZ0eXBlLCAmc2l6ZSk7CiAJaWYgKCFidWYgfHwgdHlwZSAhPSBPQkpfQkxPQikKLQkJZGllKCJ1bmFibGUgdG8gcmVhZCBibG9iIG9iamVjdCAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZGllKCJ1bmFibGUgdG8gcmVhZCBibG9iIG9iamVjdCAlcyIsIG9pZF90b19oZXgob2lkKSk7CiAKIAl4c25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiLm1lcmdlX2ZpbGVfWFhYWFhYIik7CiAJZmQgPSB4bWtzdGVtcChwYXRoKTsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgYnVmLCBzaXplKSAhPSBzaXplKQorCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYsIHNpemUpIDwgMCkKIAkJZGllX2Vycm5vKCJ1bmFibGUgdG8gd3JpdGUgdGVtcC1maWxlIik7CiAJY2xvc2UoZmQpOwogCXJldHVybiBwYXRoOwpAQCAtMjIsMTUgKzIzLDE1IEBACiAKIGludCBjbWRfdW5wYWNrX2ZpbGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCWlmIChhcmdjICE9IDIgfHwgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKIAkJdXNhZ2UoImdpdCB1bnBhY2stZmlsZSA8c2hhMT4iKTsKLQlpZiAoZ2V0X3NoYTEoYXJndlsxXSwgc2hhMSkpCisJaWYgKGdldF9vaWQoYXJndlsxXSwgJm9pZCkpCiAJCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiLCBhcmd2WzFdKTsKIAogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAotCXB1dHMoY3JlYXRlX3RlbXBfZmlsZShzaGExKSk7CisJcHV0cyhjcmVhdGVfdGVtcF9maWxlKCZvaWQpKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vdW5wYWNrLW9iamVjdHMuYyBiL2J1aWx0aW4vdW5wYWNrLW9iamVjdHMuYwppbmRleCA0NTMyYWEwLi42ODlhMjlmIDEwMDY0NAotLS0gYS9idWlsdGluL3VucGFjay1vYmplY3RzLmMKKysrIGIvYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIm9iamVjdC5oIgogI2luY2x1ZGUgImRlbHRhLmgiCiAjaW5jbHVkZSAicGFjay5oIgpAQCAtMTEyLDggKzExMyw3IEBACiAJCQlicmVhazsKIAkJaWYgKHJldCAhPSBaX09LKSB7CiAJCQllcnJvcigiaW5mbGF0ZSByZXR1cm5lZCAlZCIsIHJldCk7Ci0JCQlmcmVlKGJ1Zik7Ci0JCQlidWYgPSBOVUxMOworCQkJRlJFRV9BTkRfTlVMTChidWYpOwogCQkJaWYgKCFyZWNvdmVyKQogCQkJCWV4aXQoMSk7CiAJCQloYXNfZXJyb3JzID0gMTsKQEAgLTEyNyw3ICsxMjcsNyBAQAogfQogCiBzdHJ1Y3QgZGVsdGFfaW5mbyB7Ci0JdW5zaWduZWQgY2hhciBiYXNlX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgYmFzZV9vaWQ7CiAJdW5zaWduZWQgbnI7CiAJb2ZmX3QgYmFzZV9vZmZzZXQ7CiAJdW5zaWduZWQgbG9uZyBzaXplOwpAQCAtMTM3LDEzICsxMzcsMTMgQEAKIAogc3RhdGljIHN0cnVjdCBkZWx0YV9pbmZvICpkZWx0YV9saXN0OwogCi1zdGF0aWMgdm9pZCBhZGRfZGVsdGFfdG9fbGlzdCh1bnNpZ25lZCBuciwgdW5zaWduZWQgY29uc3QgY2hhciAqYmFzZV9zaGExLAorc3RhdGljIHZvaWQgYWRkX2RlbHRhX3RvX2xpc3QodW5zaWduZWQgbnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmJhc2Vfb2lkLAogCQkJICAgICAgb2ZmX3QgYmFzZV9vZmZzZXQsCiAJCQkgICAgICB2b2lkICpkZWx0YSwgdW5zaWduZWQgbG9uZyBzaXplKQogewogCXN0cnVjdCBkZWx0YV9pbmZvICppbmZvID0geG1hbGxvYyhzaXplb2YoKmluZm8pKTsKIAotCWhhc2hjcHkoaW5mby0+YmFzZV9zaGExLCBiYXNlX3NoYTEpOworCW9pZGNweSgmaW5mby0+YmFzZV9vaWQsIGJhc2Vfb2lkKTsKIAlpbmZvLT5iYXNlX29mZnNldCA9IGJhc2Vfb2Zmc2V0OwogCWluZm8tPnNpemUgPSBzaXplOwogCWluZm8tPmRlbHRhID0gZGVsdGE7CkBAIC0xNTQsNyArMTU0LDcgQEAKIAogc3RydWN0IG9ial9pbmZvIHsKIAlvZmZfdCBvZmZzZXQ7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiB9OwogCkBAIC0xNzAsOSArMTcwLDkgQEAKICAqLwogc3RhdGljIHZvaWQgd3JpdGVfY2FjaGVkX29iamVjdChzdHJ1Y3Qgb2JqZWN0ICpvYmosIHN0cnVjdCBvYmpfYnVmZmVyICpvYmpfYnVmKQogewotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKLQlpZiAod3JpdGVfc2hhMV9maWxlKG9ial9idWYtPmJ1ZmZlciwgb2JqX2J1Zi0+c2l6ZSwgdHlwZW5hbWUob2JqLT50eXBlKSwgc2hhMSkgPCAwKQorCWlmICh3cml0ZV9zaGExX2ZpbGUob2JqX2J1Zi0+YnVmZmVyLCBvYmpfYnVmLT5zaXplLCB0eXBlbmFtZShvYmotPnR5cGUpLCBvaWQuaGFzaCkgPCAwKQogCQlkaWUoImZhaWxlZCB0byB3cml0ZSBvYmplY3QgJXMiLCBvaWRfdG9faGV4KCZvYmotPm9pZCkpOwogCW9iai0+ZmxhZ3MgfD0gRkxBR19XUklUVEVOOwogfQpAQCAtMjM3LDE5ICsyMzcsMTkgQEAKIAkJCSB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKIHsKIAlpZiAoIXN0cmljdCkgewotCQlpZiAod3JpdGVfc2hhMV9maWxlKGJ1Ziwgc2l6ZSwgdHlwZW5hbWUodHlwZSksIG9ial9saXN0W25yXS5zaGExKSA8IDApCisJCWlmICh3cml0ZV9zaGExX2ZpbGUoYnVmLCBzaXplLCB0eXBlbmFtZSh0eXBlKSwgb2JqX2xpc3RbbnJdLm9pZC5oYXNoKSA8IDApCiAJCQlkaWUoImZhaWxlZCB0byB3cml0ZSBvYmplY3QiKTsKIAkJYWRkZWRfb2JqZWN0KG5yLCB0eXBlLCBidWYsIHNpemUpOwogCQlmcmVlKGJ1Zik7CiAJCW9ial9saXN0W25yXS5vYmogPSBOVUxMOwogCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfQkxPQikgewogCQlzdHJ1Y3QgYmxvYiAqYmxvYjsKLQkJaWYgKHdyaXRlX3NoYTFfZmlsZShidWYsIHNpemUsIHR5cGVuYW1lKHR5cGUpLCBvYmpfbGlzdFtucl0uc2hhMSkgPCAwKQorCQlpZiAod3JpdGVfc2hhMV9maWxlKGJ1Ziwgc2l6ZSwgdHlwZW5hbWUodHlwZSksIG9ial9saXN0W25yXS5vaWQuaGFzaCkgPCAwKQogCQkJZGllKCJmYWlsZWQgdG8gd3JpdGUgb2JqZWN0Iik7CiAJCWFkZGVkX29iamVjdChuciwgdHlwZSwgYnVmLCBzaXplKTsKIAkJZnJlZShidWYpOwogCi0JCWJsb2IgPSBsb29rdXBfYmxvYihvYmpfbGlzdFtucl0uc2hhMSk7CisJCWJsb2IgPSBsb29rdXBfYmxvYigmb2JqX2xpc3RbbnJdLm9pZCk7CiAJCWlmIChibG9iKQogCQkJYmxvYi0+b2JqZWN0LmZsYWdzIHw9IEZMQUdfV1JJVFRFTjsKIAkJZWxzZQpAQCAtMjU4LDkgKzI1OCwxMCBAQAogCX0gZWxzZSB7CiAJCXN0cnVjdCBvYmplY3QgKm9iajsKIAkJaW50IGVhdGVuOwotCQloYXNoX3NoYTFfZmlsZShidWYsIHNpemUsIHR5cGVuYW1lKHR5cGUpLCBvYmpfbGlzdFtucl0uc2hhMSk7CisJCWhhc2hfc2hhMV9maWxlKGJ1Ziwgc2l6ZSwgdHlwZW5hbWUodHlwZSksIG9ial9saXN0W25yXS5vaWQuaGFzaCk7CiAJCWFkZGVkX29iamVjdChuciwgdHlwZSwgYnVmLCBzaXplKTsKLQkJb2JqID0gcGFyc2Vfb2JqZWN0X2J1ZmZlcihvYmpfbGlzdFtucl0uc2hhMSwgdHlwZSwgc2l6ZSwgYnVmLCAmZWF0ZW4pOworCQlvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKCZvYmpfbGlzdFtucl0ub2lkLCB0eXBlLCBzaXplLCBidWYsCisJCQkJCSAgJmVhdGVuKTsKIAkJaWYgKCFvYmopCiAJCQlkaWUoImludmFsaWQgJXMiLCB0eXBlbmFtZSh0eXBlKSk7CiAJCWFkZF9vYmplY3RfYnVmZmVyKG9iaiwgYnVmLCBzaXplKTsKQEAgLTI5Niw3ICsyOTcsNyBAQAogCXN0cnVjdCBkZWx0YV9pbmZvICppbmZvOwogCiAJd2hpbGUgKChpbmZvID0gKnApICE9IE5VTEwpIHsKLQkJaWYgKCFoYXNoY21wKGluZm8tPmJhc2Vfc2hhMSwgb2JqX2xpc3RbbnJdLnNoYTEpIHx8CisJCWlmICghb2lkY21wKCZpbmZvLT5iYXNlX29pZCwgJm9ial9saXN0W25yXS5vaWQpIHx8CiAJCSAgICBpbmZvLT5iYXNlX29mZnNldCA9PSBvYmpfbGlzdFtucl0ub2Zmc2V0KSB7CiAJCQkqcCA9IGluZm8tPm5leHQ7CiAJCQlwID0gJmRlbHRhX2xpc3Q7CkBAIC0zMjAsMTIgKzMyMSwxMiBAQAogCQlmcmVlKGJ1Zik7CiB9CiAKLXN0YXRpYyBpbnQgcmVzb2x2ZV9hZ2FpbnN0X2hlbGQodW5zaWduZWQgbnIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJhc2UsCitzdGF0aWMgaW50IHJlc29sdmVfYWdhaW5zdF9oZWxkKHVuc2lnbmVkIG5yLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiYXNlLAogCQkJCXZvaWQgKmRlbHRhX2RhdGEsIHVuc2lnbmVkIGxvbmcgZGVsdGFfc2l6ZSkKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiAJc3RydWN0IG9ial9idWZmZXIgKm9ial9idWZmZXI7Ci0Jb2JqID0gbG9va3VwX29iamVjdChiYXNlKTsKKwlvYmogPSBsb29rdXBfb2JqZWN0KGJhc2UtPmhhc2gpOwogCWlmICghb2JqKQogCQlyZXR1cm4gMDsKIAlvYmpfYnVmZmVyID0gbG9va3VwX29iamVjdF9idWZmZXIob2JqKTsKQEAgLTM0MSwyNSArMzQyLDI1IEBACiB7CiAJdm9pZCAqZGVsdGFfZGF0YSwgKmJhc2U7CiAJdW5zaWduZWQgbG9uZyBiYXNlX3NpemU7Ci0JdW5zaWduZWQgY2hhciBiYXNlX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgYmFzZV9vaWQ7CiAKIAlpZiAodHlwZSA9PSBPQkpfUkVGX0RFTFRBKSB7Ci0JCWhhc2hjcHkoYmFzZV9zaGExLCBmaWxsKDIwKSk7Ci0JCXVzZSgyMCk7CisJCWhhc2hjcHkoYmFzZV9vaWQuaGFzaCwgZmlsbChHSVRfU0hBMV9SQVdTWikpOworCQl1c2UoR0lUX1NIQTFfUkFXU1opOwogCQlkZWx0YV9kYXRhID0gZ2V0X2RhdGEoZGVsdGFfc2l6ZSk7CiAJCWlmIChkcnlfcnVuIHx8ICFkZWx0YV9kYXRhKSB7CiAJCQlmcmVlKGRlbHRhX2RhdGEpOwogCQkJcmV0dXJuOwogCQl9Ci0JCWlmIChoYXNfc2hhMV9maWxlKGJhc2Vfc2hhMSkpCisJCWlmIChoYXNfb2JqZWN0X2ZpbGUoJmJhc2Vfb2lkKSkKIAkJCTsgLyogT2sgd2UgaGF2ZSB0aGlzIG9uZSAqLwotCQllbHNlIGlmIChyZXNvbHZlX2FnYWluc3RfaGVsZChuciwgYmFzZV9zaGExLAorCQllbHNlIGlmIChyZXNvbHZlX2FnYWluc3RfaGVsZChuciwgJmJhc2Vfb2lkLAogCQkJCQkgICAgICBkZWx0YV9kYXRhLCBkZWx0YV9zaXplKSkKIAkJCXJldHVybjsgLyogd2UgYXJlIGRvbmUgKi8KIAkJZWxzZSB7CiAJCQkvKiBjYW5ub3QgcmVzb2x2ZSB5ZXQgLS0tIHF1ZXVlIGl0ICovCi0JCQloYXNoY2xyKG9ial9saXN0W25yXS5zaGExKTsKLQkJCWFkZF9kZWx0YV90b19saXN0KG5yLCBiYXNlX3NoYTEsIDAsIGRlbHRhX2RhdGEsIGRlbHRhX3NpemUpOworCQkJb2lkY2xyKCZvYmpfbGlzdFtucl0ub2lkKTsKKwkJCWFkZF9kZWx0YV90b19saXN0KG5yLCAmYmFzZV9vaWQsIDAsIGRlbHRhX2RhdGEsIGRlbHRhX3NpemUpOwogCQkJcmV0dXJuOwogCQl9CiAJfSBlbHNlIHsKQEAgLTM5OSw4ICs0MDAsOCBAQAogCQkJfSBlbHNlIGlmIChiYXNlX29mZnNldCA+IG9ial9saXN0W21pZF0ub2Zmc2V0KSB7CiAJCQkJbG8gPSBtaWQgKyAxOwogCQkJfSBlbHNlIHsKLQkJCQloYXNoY3B5KGJhc2Vfc2hhMSwgb2JqX2xpc3RbbWlkXS5zaGExKTsKLQkJCQliYXNlX2ZvdW5kID0gIWlzX251bGxfc2hhMShiYXNlX3NoYTEpOworCQkJCW9pZGNweSgmYmFzZV9vaWQsICZvYmpfbGlzdFttaWRdLm9pZCk7CisJCQkJYmFzZV9mb3VuZCA9ICFpc19udWxsX29pZCgmYmFzZV9vaWQpOwogCQkJCWJyZWFrOwogCQkJfQogCQl9CkBAIC00MDksMTkgKzQxMCwxOSBAQAogCQkJICogVGhlIGRlbHRhIGJhc2Ugb2JqZWN0IGlzIGl0c2VsZiBhIGRlbHRhIHRoYXQKIAkJCSAqIGhhcyBub3QgYmVlbiByZXNvbHZlZCB5ZXQuCiAJCQkgKi8KLQkJCWhhc2hjbHIob2JqX2xpc3RbbnJdLnNoYTEpOwotCQkJYWRkX2RlbHRhX3RvX2xpc3QobnIsIG51bGxfc2hhMSwgYmFzZV9vZmZzZXQsIGRlbHRhX2RhdGEsIGRlbHRhX3NpemUpOworCQkJb2lkY2xyKCZvYmpfbGlzdFtucl0ub2lkKTsKKwkJCWFkZF9kZWx0YV90b19saXN0KG5yLCAmbnVsbF9vaWQsIGJhc2Vfb2Zmc2V0LCBkZWx0YV9kYXRhLCBkZWx0YV9zaXplKTsKIAkJCXJldHVybjsKIAkJfQogCX0KIAotCWlmIChyZXNvbHZlX2FnYWluc3RfaGVsZChuciwgYmFzZV9zaGExLCBkZWx0YV9kYXRhLCBkZWx0YV9zaXplKSkKKwlpZiAocmVzb2x2ZV9hZ2FpbnN0X2hlbGQobnIsICZiYXNlX29pZCwgZGVsdGFfZGF0YSwgZGVsdGFfc2l6ZSkpCiAJCXJldHVybjsKIAotCWJhc2UgPSByZWFkX3NoYTFfZmlsZShiYXNlX3NoYTEsICZ0eXBlLCAmYmFzZV9zaXplKTsKKwliYXNlID0gcmVhZF9zaGExX2ZpbGUoYmFzZV9vaWQuaGFzaCwgJnR5cGUsICZiYXNlX3NpemUpOwogCWlmICghYmFzZSkgewogCQllcnJvcigiZmFpbGVkIHRvIHJlYWQgZGVsdGEtcGFjayBiYXNlIG9iamVjdCAlcyIsCi0JCSAgICAgIHNoYTFfdG9faGV4KGJhc2Vfc2hhMSkpOworCQkgICAgICBvaWRfdG9faGV4KCZiYXNlX29pZCkpOwogCQlpZiAoIXJlY292ZXIpCiAJCQlleGl0KDEpOwogCQloYXNfZXJyb3JzID0gMTsKQEAgLTUwNSw3ICs1MDYsNyBAQAogaW50IGNtZF91bnBhY2tfb2JqZWN0cyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlpbnQgaTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJY2hlY2tfcmVwbGFjZV9yZWZzID0gMDsKIApAQCAtNTY2LDEyICs1NjcsMTIgQEAKIAlnaXRfU0hBMV9Jbml0KCZjdHgpOwogCXVucGFja19hbGwoKTsKIAlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgYnVmZmVyLCBvZmZzZXQpOwotCWdpdF9TSEExX0ZpbmFsKHNoYTEsICZjdHgpOworCWdpdF9TSEExX0ZpbmFsKG9pZC5oYXNoLCAmY3R4KTsKIAlpZiAoc3RyaWN0KQogCQl3cml0ZV9yZXN0KCk7Ci0JaWYgKGhhc2hjbXAoZmlsbCgyMCksIHNoYTEpKQorCWlmIChoYXNoY21wKGZpbGwoR0lUX1NIQTFfUkFXU1opLCBvaWQuaGFzaCkpCiAJCWRpZSgiZmluYWwgc2hhMSBkaWQgbm90IG1hdGNoIik7Ci0JdXNlKDIwKTsKKwl1c2UoR0lUX1NIQTFfUkFXU1opOwogCiAJLyogV3JpdGUgdGhlIGxhc3QgcGFydCBvZiB0aGUgYnVmZmVyIHRvIHN0ZG91dCAqLwogCXdoaWxlIChsZW4pIHsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdXBkYXRlLWluZGV4LmMgYi9idWlsdGluL3VwZGF0ZS1pbmRleC5jCmluZGV4IGQ1MzBlODkuLmJmNzQyMGIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdXBkYXRlLWluZGV4LmMKKysrIGIvYnVpbHRpbi91cGRhdGUtaW5kZXguYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUKICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKICNpbmNsdWRlICJxdW90ZS5oIgogI2luY2x1ZGUgImNhY2hlLXRyZWUuaCIKQEAgLTEyNSwxMiArMTI2LDE2IEBACiAJc3RydWN0IHN0YXQgc3Q7CiAJc3RydWN0IHN0YXRfZGF0YSBiYXNlOwogCWludCBmZCwgcmV0ID0gMDsKKwljaGFyICpjd2Q7CiAKIAlzdHJidWZfYWRkc3RyKCZtdGltZV9kaXIsICJtdGltZS10ZXN0LVhYWFhYWCIpOwogCWlmICghbWtkdGVtcChtdGltZV9kaXIuYnVmKSkKIAkJZGllX2Vycm5vKCJDb3VsZCBub3QgbWFrZSB0ZW1wb3JhcnkgZGlyZWN0b3J5Iik7CiAKLQlmcHJpbnRmKHN0ZGVyciwgXygiVGVzdGluZyBtdGltZSBpbiAnJXMnICIpLCB4Z2V0Y3dkKCkpOworCWN3ZCA9IHhnZXRjd2QoKTsKKwlmcHJpbnRmKHN0ZGVyciwgXygiVGVzdGluZyBtdGltZSBpbiAnJXMnICIpLCBjd2QpOworCWZyZWUoY3dkKTsKKwogCWF0ZXhpdChyZW1vdmVfdGVzdF9kaXJlY3RvcnkpOwogCXhzdGF0X210aW1lX2Rpcigmc3QpOwogCWZpbGxfc3RhdF9kYXRhKCZiYXNlLCAmc3QpOwpAQCAtMjUzLDcgKzI1OCw3IEBACiAgKi8KIHN0YXRpYyBpbnQgcHJvY2Vzc19sc3RhdF9lcnJvcihjb25zdCBjaGFyICpwYXRoLCBpbnQgZXJyKQogewotCWlmIChlcnIgPT0gRU5PRU5UIHx8IGVyciA9PSBFTk9URElSKQorCWlmIChpc19taXNzaW5nX2ZpbGVfZXJyb3IoZXJyKSkKIAkJcmV0dXJuIHJlbW92ZV9vbmVfcGF0aChwYXRoKTsKIAlyZXR1cm4gZXJyb3IoImxzdGF0KFwiJXNcIik6ICVzIiwgcGF0aCwgc3RyZXJyb3IoZXJyKSk7CiB9CkBAIC0yNzUsMTUgKzI4MCwxNyBAQAogCWZpbGxfc3RhdF9jYWNoZV9pbmZvKGNlLCBzdCk7CiAJY2UtPmNlX21vZGUgPSBjZV9tb2RlX2Zyb21fc3RhdChvbGQsIHN0LT5zdF9tb2RlKTsKIAotCWlmIChpbmRleF9wYXRoKGNlLT5vaWQuaGFzaCwgcGF0aCwgc3QsCisJaWYgKGluZGV4X3BhdGgoJmNlLT5vaWQsIHBhdGgsIHN0LAogCQkgICAgICAgaW5mb19vbmx5ID8gMCA6IEhBU0hfV1JJVEVfT0JKRUNUKSkgewogCQlmcmVlKGNlKTsKIAkJcmV0dXJuIC0xOwogCX0KIAlvcHRpb24gPSBhbGxvd19hZGQgPyBBRERfQ0FDSEVfT0tfVE9fQUREIDogMDsKIAlvcHRpb24gfD0gYWxsb3dfcmVwbGFjZSA/IEFERF9DQUNIRV9PS19UT19SRVBMQUNFIDogMDsKLQlpZiAoYWRkX2NhY2hlX2VudHJ5KGNlLCBvcHRpb24pKQorCWlmIChhZGRfY2FjaGVfZW50cnkoY2UsIG9wdGlvbikpIHsKKwkJZnJlZShjZSk7CiAJCXJldHVybiBlcnJvcigiJXM6IGNhbm5vdCBhZGQgdG8gdGhlIGluZGV4IC0gbWlzc2luZyAtLWFkZCBvcHRpb24/IiwgcGF0aCk7CisJfQogCXJldHVybiAwOwogfQogCkBAIC05MTAsNyArOTE3LDcgQEAKIAlzdHJ1Y3QgcmVmcmVzaF9wYXJhbXMgcmVmcmVzaF9hcmdzID0gezAsICZoYXNfZXJyb3JzfTsKIAlpbnQgbG9ja19lcnJvciA9IDA7CiAJaW50IHNwbGl0X2luZGV4ID0gLTE7Ci0Jc3RydWN0IGxvY2tfZmlsZSAqbG9ja19maWxlOworCXN0cnVjdCBsb2NrX2ZpbGUgbG9ja19maWxlID0gTE9DS19JTklUOwogCXN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgY3R4OwogCXN0cmJ1Zl9nZXRsaW5lX2ZuIGdldGxpbmVfZm47CiAJaW50IHBhcnNlb3B0X3N0YXRlID0gUEFSU0VfT1BUX1VOS05PV047CkBAIC0xMDA5LDExICsxMDE2LDggQEAKIAogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAotCS8qIFdlIGNhbid0IGZyZWUgdGhpcyBtZW1vcnksIGl0IGJlY29tZXMgcGFydCBvZiBhIGxpbmtlZCBsaXN0IHBhcnNlZCBhdGV4aXQoKSAqLwotCWxvY2tfZmlsZSA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBsb2NrX2ZpbGUpKTsKLQogCS8qIHdlIHdpbGwgZGlhZ25vc2UgbGF0ZXIgaWYgaXQgdHVybnMgb3V0IHRoYXQgd2UgbmVlZCB0byB1cGRhdGUgaXQgKi8KLQluZXdmZCA9IGhvbGRfbG9ja2VkX2luZGV4KGxvY2tfZmlsZSwgMCk7CisJbmV3ZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmbG9ja19maWxlLCAwKTsKIAlpZiAobmV3ZmQgPCAwKQogCQlsb2NrX2Vycm9yID0gZXJybm87CiAKQEAgLTEwOTksMTcgKzExMDMsMjAgQEAKIAl9CiAKIAlpZiAoc3BsaXRfaW5kZXggPiAwKSB7Ci0JCWluaXRfc3BsaXRfaW5kZXgoJnRoZV9pbmRleCk7Ci0JCXRoZV9pbmRleC5jYWNoZV9jaGFuZ2VkIHw9IFNQTElUX0lOREVYX09SREVSRUQ7Ci0JfSBlbHNlIGlmICghc3BsaXRfaW5kZXggJiYgdGhlX2luZGV4LnNwbGl0X2luZGV4KSB7Ci0JCS8qCi0JCSAqIGNhbid0IGRpc2NhcmRfc3BsaXRfaW5kZXgoJnRoZV9pbmRleCk7IGJlY2F1c2UgdGhhdAotCQkgKiB3aWxsIGRlc3Ryb3kgc3BsaXRfaW5kZXgtPmJhc2UtPmNhY2hlW10sIHdoaWNoIG1heQotCQkgKiBiZSBzaGFyZWQgd2l0aCB0aGVfaW5kZXguY2FjaGVbXS4gU28geWVhaCB3ZSdyZQotCQkgKiBsZWFraW5nIGEgYml0IGhlcmUuCi0JCSAqLwotCQl0aGVfaW5kZXguc3BsaXRfaW5kZXggPSBOVUxMOwotCQl0aGVfaW5kZXguY2FjaGVfY2hhbmdlZCB8PSBTT01FVEhJTkdfQ0hBTkdFRDsKKwkJaWYgKGdpdF9jb25maWdfZ2V0X3NwbGl0X2luZGV4KCkgPT0gMCkKKwkJCXdhcm5pbmcoXygiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgIgorCQkJCSAgInJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisJCQkJICAiZW5hYmxlIHNwbGl0IGluZGV4IikpOworCQlpZiAodGhlX2luZGV4LnNwbGl0X2luZGV4KQorCQkJdGhlX2luZGV4LmNhY2hlX2NoYW5nZWQgfD0gU1BMSVRfSU5ERVhfT1JERVJFRDsKKwkJZWxzZQorCQkJYWRkX3NwbGl0X2luZGV4KCZ0aGVfaW5kZXgpOworCX0gZWxzZSBpZiAoIXNwbGl0X2luZGV4KSB7CisJCWlmIChnaXRfY29uZmlnX2dldF9zcGxpdF9pbmRleCgpID09IDEpCisJCQl3YXJuaW5nKF8oImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gdHJ1ZTsgIgorCQkJCSAgInJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisJCQkJICAiZGlzYWJsZSBzcGxpdCBpbmRleCIpKTsKKwkJcmVtb3ZlX3NwbGl0X2luZGV4KCZ0aGVfaW5kZXgpOwogCX0KIAogCXN3aXRjaCAodW50cmFja2VkX2NhY2hlKSB7CkBAIC0xMTQ1LDExICsxMTUyLDExIEBACiAJCQkJZXhpdCgxMjgpOwogCQkJdW5hYmxlX3RvX2xvY2tfZGllKGdldF9pbmRleF9maWxlKCksIGxvY2tfZXJyb3IpOwogCQl9Ci0JCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgbG9ja19maWxlLCBDT01NSVRfTE9DSykpCisJCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmxvY2tfZmlsZSwgQ09NTUlUX0xPQ0spKQogCQkJZGllKCJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKTsKIAl9CiAKLQlyb2xsYmFja19sb2NrX2ZpbGUobG9ja19maWxlKTsKKwlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2tfZmlsZSk7CiAKIAlyZXR1cm4gaGFzX2Vycm9ycyA/IDEgOiAwOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi91cGRhdGUtcmVmLmMgYi9idWlsdGluL3VwZGF0ZS1yZWYuYwppbmRleCA3ZjMwZDNhLi42YjkwYzVkIDEwMDY0NAotLS0gYS9idWlsdGluL3VwZGF0ZS1yZWYuYworKysgYi9idWlsdGluL3VwZGF0ZS1yZWYuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgpAQCAtOTMsMTAgKzk0LDEwIEBACiAgKiBwcm92aWRlZCBidXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFNIQS0xLCBkaWUuICBmbGFncyBjYW4KICAqIGluY2x1ZGUgUEFSU0VfU0hBMV9PTEQgYW5kL29yIFBBUlNFX1NIQTFfQUxMT1dfRU1QVFkuCiAgKi8KLXN0YXRpYyBpbnQgcGFyc2VfbmV4dF9zaGExKHN0cnVjdCBzdHJidWYgKmlucHV0LCBjb25zdCBjaGFyICoqbmV4dCwKLQkJCSAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkgICBjb25zdCBjaGFyICpjb21tYW5kLCBjb25zdCBjaGFyICpyZWZuYW1lLAotCQkJICAgaW50IGZsYWdzKQorc3RhdGljIGludCBwYXJzZV9uZXh0X29pZChzdHJ1Y3Qgc3RyYnVmICppbnB1dCwgY29uc3QgY2hhciAqKm5leHQsCisJCQkgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgY29uc3QgY2hhciAqY29tbWFuZCwgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCSAgaW50IGZsYWdzKQogewogCXN0cnVjdCBzdHJidWYgYXJnID0gU1RSQlVGX0lOSVQ7CiAJaW50IHJldCA9IDA7CkBAIC0xMTQsMTEgKzExNSwxMSBAQAogCQkoKm5leHQpKys7CiAJCSpuZXh0ID0gcGFyc2VfYXJnKCpuZXh0LCAmYXJnKTsKIAkJaWYgKGFyZy5sZW4pIHsKLQkJCWlmIChnZXRfc2hhMShhcmcuYnVmLCBzaGExKSkKKwkJCWlmIChnZXRfb2lkKGFyZy5idWYsIG9pZCkpCiAJCQkJZ290byBpbnZhbGlkOwogCQl9IGVsc2UgewogCQkJLyogV2l0aG91dCAteiwgYW4gZW1wdHkgdmFsdWUgbWVhbnMgYWxsIHplcm9zOiAqLwotCQkJaGFzaGNscihzaGExKTsKKwkJCW9pZGNscihvaWQpOwogCQl9CiAJfSBlbHNlIHsKIAkJLyogV2l0aCAteiwgcmVhZCB0aGUgbmV4dCBOVUwtdGVybWluYXRlZCBsaW5lICovCkBAIC0xMzIsMTMgKzEzMywxMyBAQAogCQkqbmV4dCArPSBhcmcubGVuOwogCiAJCWlmIChhcmcubGVuKSB7Ci0JCQlpZiAoZ2V0X3NoYTEoYXJnLmJ1Ziwgc2hhMSkpCisJCQlpZiAoZ2V0X29pZChhcmcuYnVmLCBvaWQpKQogCQkJCWdvdG8gaW52YWxpZDsKIAkJfSBlbHNlIGlmIChmbGFncyAmIFBBUlNFX1NIQTFfQUxMT1dfRU1QVFkpIHsKIAkJCS8qIFdpdGggLXosIHRyZWF0IGFuIGVtcHR5IHZhbHVlIGFzIGFsbCB6ZXJvczogKi8KIAkJCXdhcm5pbmcoIiVzICVzOiBtaXNzaW5nIDxuZXd2YWx1ZT4sIHRyZWF0aW5nIGFzIHplcm8iLAogCQkJCWNvbW1hbmQsIHJlZm5hbWUpOwotCQkJaGFzaGNscihzaGExKTsKKwkJCW9pZGNscihvaWQpOwogCQl9IGVsc2UgewogCQkJLyoKIAkJCSAqIFdpdGggLXosIGFuIGVtcHR5IG5vbi1yZXF1aXJlZCB2YWx1ZSBtZWFucwpAQCAtMTgxLDI2ICsxODIsMjUgQEAKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOwogCWNoYXIgKnJlZm5hbWU7Ci0JdW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF07Ci0JdW5zaWduZWQgY2hhciBvbGRfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBuZXdfb2lkLCBvbGRfb2lkOwogCWludCBoYXZlX29sZDsKIAogCXJlZm5hbWUgPSBwYXJzZV9yZWZuYW1lKGlucHV0LCAmbmV4dCk7CiAJaWYgKCFyZWZuYW1lKQogCQlkaWUoInVwZGF0ZTogbWlzc2luZyA8cmVmPiIpOwogCi0JaWYgKHBhcnNlX25leHRfc2hhMShpbnB1dCwgJm5leHQsIG5ld19zaGExLCAidXBkYXRlIiwgcmVmbmFtZSwKLQkJCSAgICBQQVJTRV9TSEExX0FMTE9XX0VNUFRZKSkKKwlpZiAocGFyc2VfbmV4dF9vaWQoaW5wdXQsICZuZXh0LCAmbmV3X29pZCwgInVwZGF0ZSIsIHJlZm5hbWUsCisJCQkgICBQQVJTRV9TSEExX0FMTE9XX0VNUFRZKSkKIAkJZGllKCJ1cGRhdGUgJXM6IG1pc3NpbmcgPG5ld3ZhbHVlPiIsIHJlZm5hbWUpOwogCi0JaGF2ZV9vbGQgPSAhcGFyc2VfbmV4dF9zaGExKGlucHV0LCAmbmV4dCwgb2xkX3NoYTEsICJ1cGRhdGUiLCByZWZuYW1lLAotCQkJCSAgICBQQVJTRV9TSEExX09MRCk7CisJaGF2ZV9vbGQgPSAhcGFyc2VfbmV4dF9vaWQoaW5wdXQsICZuZXh0LCAmb2xkX29pZCwgInVwZGF0ZSIsIHJlZm5hbWUsCisJCQkJICAgUEFSU0VfU0hBMV9PTEQpOwogCiAJaWYgKCpuZXh0ICE9IGxpbmVfdGVybWluYXRpb24pCiAJCWRpZSgidXBkYXRlICVzOiBleHRyYSBpbnB1dDogJXMiLCByZWZuYW1lLCBuZXh0KTsKIAogCWlmIChyZWZfdHJhbnNhY3Rpb25fdXBkYXRlKHRyYW5zYWN0aW9uLCByZWZuYW1lLAotCQkJCSAgIG5ld19zaGExLCBoYXZlX29sZCA/IG9sZF9zaGExIDogTlVMTCwKKwkJCQkgICBuZXdfb2lkLmhhc2gsIGhhdmVfb2xkID8gb2xkX29pZC5oYXNoIDogTlVMTCwKIAkJCQkgICB1cGRhdGVfZmxhZ3MgfCBjcmVhdGVfcmVmbG9nX2ZsYWcsCiAJCQkJICAgbXNnLCAmZXJyKSkKIAkJZGllKCIlcyIsIGVyci5idWYpOwpAQCAtMjE3LDIyICsyMTcsMjIgQEAKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOwogCWNoYXIgKnJlZm5hbWU7Ci0JdW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBuZXdfb2lkOwogCiAJcmVmbmFtZSA9IHBhcnNlX3JlZm5hbWUoaW5wdXQsICZuZXh0KTsKIAlpZiAoIXJlZm5hbWUpCiAJCWRpZSgiY3JlYXRlOiBtaXNzaW5nIDxyZWY+Iik7CiAKLQlpZiAocGFyc2VfbmV4dF9zaGExKGlucHV0LCAmbmV4dCwgbmV3X3NoYTEsICJjcmVhdGUiLCByZWZuYW1lLCAwKSkKKwlpZiAocGFyc2VfbmV4dF9vaWQoaW5wdXQsICZuZXh0LCAmbmV3X29pZCwgImNyZWF0ZSIsIHJlZm5hbWUsIDApKQogCQlkaWUoImNyZWF0ZSAlczogbWlzc2luZyA8bmV3dmFsdWU+IiwgcmVmbmFtZSk7CiAKLQlpZiAoaXNfbnVsbF9zaGExKG5ld19zaGExKSkKKwlpZiAoaXNfbnVsbF9vaWQoJm5ld19vaWQpKQogCQlkaWUoImNyZWF0ZSAlczogemVybyA8bmV3dmFsdWU+IiwgcmVmbmFtZSk7CiAKIAlpZiAoKm5leHQgIT0gbGluZV90ZXJtaW5hdGlvbikKIAkJZGllKCJjcmVhdGUgJXM6IGV4dHJhIGlucHV0OiAlcyIsIHJlZm5hbWUsIG5leHQpOwogCi0JaWYgKHJlZl90cmFuc2FjdGlvbl9jcmVhdGUodHJhbnNhY3Rpb24sIHJlZm5hbWUsIG5ld19zaGExLAorCWlmIChyZWZfdHJhbnNhY3Rpb25fY3JlYXRlKHRyYW5zYWN0aW9uLCByZWZuYW1lLCBuZXdfb2lkLmhhc2gsCiAJCQkJICAgdXBkYXRlX2ZsYWdzIHwgY3JlYXRlX3JlZmxvZ19mbGFnLAogCQkJCSAgIG1zZywgJmVycikpCiAJCWRpZSgiJXMiLCBlcnIuYnVmKTsKQEAgLTI0OSwxOCArMjQ5LDE4IEBACiB7CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAljaGFyICpyZWZuYW1lOwotCXVuc2lnbmVkIGNoYXIgb2xkX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2xkX29pZDsKIAlpbnQgaGF2ZV9vbGQ7CiAKIAlyZWZuYW1lID0gcGFyc2VfcmVmbmFtZShpbnB1dCwgJm5leHQpOwogCWlmICghcmVmbmFtZSkKIAkJZGllKCJkZWxldGU6IG1pc3NpbmcgPHJlZj4iKTsKIAotCWlmIChwYXJzZV9uZXh0X3NoYTEoaW5wdXQsICZuZXh0LCBvbGRfc2hhMSwgImRlbGV0ZSIsIHJlZm5hbWUsCi0JCQkgICAgUEFSU0VfU0hBMV9PTEQpKSB7CisJaWYgKHBhcnNlX25leHRfb2lkKGlucHV0LCAmbmV4dCwgJm9sZF9vaWQsICJkZWxldGUiLCByZWZuYW1lLAorCQkJICAgUEFSU0VfU0hBMV9PTEQpKSB7CiAJCWhhdmVfb2xkID0gMDsKIAl9IGVsc2UgewotCQlpZiAoaXNfbnVsbF9zaGExKG9sZF9zaGExKSkKKwkJaWYgKGlzX251bGxfb2lkKCZvbGRfb2lkKSkKIAkJCWRpZSgiZGVsZXRlICVzOiB6ZXJvIDxvbGR2YWx1ZT4iLCByZWZuYW1lKTsKIAkJaGF2ZV9vbGQgPSAxOwogCX0KQEAgLTI2OSw3ICsyNjksNyBAQAogCQlkaWUoImRlbGV0ZSAlczogZXh0cmEgaW5wdXQ6ICVzIiwgcmVmbmFtZSwgbmV4dCk7CiAKIAlpZiAocmVmX3RyYW5zYWN0aW9uX2RlbGV0ZSh0cmFuc2FjdGlvbiwgcmVmbmFtZSwKLQkJCQkgICBoYXZlX29sZCA/IG9sZF9zaGExIDogTlVMTCwKKwkJCQkgICBoYXZlX29sZCA/IG9sZF9vaWQuaGFzaCA6IE5VTEwsCiAJCQkJICAgdXBkYXRlX2ZsYWdzLCBtc2csICZlcnIpKQogCQlkaWUoIiVzIiwgZXJyLmJ1Zik7CiAKQEAgLTI4NSwyMCArMjg1LDIwIEBACiB7CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAljaGFyICpyZWZuYW1lOwotCXVuc2lnbmVkIGNoYXIgb2xkX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2xkX29pZDsKIAogCXJlZm5hbWUgPSBwYXJzZV9yZWZuYW1lKGlucHV0LCAmbmV4dCk7CiAJaWYgKCFyZWZuYW1lKQogCQlkaWUoInZlcmlmeTogbWlzc2luZyA8cmVmPiIpOwogCi0JaWYgKHBhcnNlX25leHRfc2hhMShpbnB1dCwgJm5leHQsIG9sZF9zaGExLCAidmVyaWZ5IiwgcmVmbmFtZSwKLQkJCSAgICBQQVJTRV9TSEExX09MRCkpCi0JCWhhc2hjbHIob2xkX3NoYTEpOworCWlmIChwYXJzZV9uZXh0X29pZChpbnB1dCwgJm5leHQsICZvbGRfb2lkLCAidmVyaWZ5IiwgcmVmbmFtZSwKKwkJCSAgIFBBUlNFX1NIQTFfT0xEKSkKKwkJb2lkY2xyKCZvbGRfb2lkKTsKIAogCWlmICgqbmV4dCAhPSBsaW5lX3Rlcm1pbmF0aW9uKQogCQlkaWUoInZlcmlmeSAlczogZXh0cmEgaW5wdXQ6ICVzIiwgcmVmbmFtZSwgbmV4dCk7CiAKLQlpZiAocmVmX3RyYW5zYWN0aW9uX3ZlcmlmeSh0cmFuc2FjdGlvbiwgcmVmbmFtZSwgb2xkX3NoYTEsCisJaWYgKHJlZl90cmFuc2FjdGlvbl92ZXJpZnkodHJhbnNhY3Rpb24sIHJlZm5hbWUsIG9sZF9vaWQuaGFzaCwKIAkJCQkgICB1cGRhdGVfZmxhZ3MsICZlcnIpKQogCQlkaWUoIiVzIiwgZXJyLmJ1Zik7CiAKQEAgLTM1NCw3ICszNTQsNyBAQAogaW50IGNtZF91cGRhdGVfcmVmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWNvbnN0IGNoYXIgKnJlZm5hbWUsICpvbGR2YWw7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXSwgb2xkc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQsIG9sZG9pZDsKIAlpbnQgZGVsZXRlID0gMCwgbm9fZGVyZWYgPSAwLCByZWFkX3N0ZGluID0gMCwgZW5kX251bGwgPSAwOwogCXVuc2lnbmVkIGludCBmbGFncyA9IDA7CiAJaW50IGNyZWF0ZV9yZWZsb2cgPSAwOwpAQCAtNDExLDcgKzQxMSw3IEBACiAJCXJlZm5hbWUgPSBhcmd2WzBdOwogCQl2YWx1ZSA9IGFyZ3ZbMV07CiAJCW9sZHZhbCA9IGFyZ3ZbMl07Ci0JCWlmIChnZXRfc2hhMSh2YWx1ZSwgc2hhMSkpCisJCWlmIChnZXRfb2lkKHZhbHVlLCAmb2lkKSkKIAkJCWRpZSgiJXM6IG5vdCBhIHZhbGlkIFNIQTEiLCB2YWx1ZSk7CiAJfQogCkBAIC00MjEsOCArNDIxLDggQEAKIAkJCSAqIFRoZSBlbXB0eSBzdHJpbmcgaW1wbGllcyB0aGF0IHRoZSByZWZlcmVuY2UKIAkJCSAqIG11c3Qgbm90IGFscmVhZHkgZXhpc3Q6CiAJCQkgKi8KLQkJCWhhc2hjbHIob2xkc2hhMSk7Ci0JCWVsc2UgaWYgKGdldF9zaGExKG9sZHZhbCwgb2xkc2hhMSkpCisJCQlvaWRjbHIoJm9sZG9pZCk7CisJCWVsc2UgaWYgKGdldF9vaWQob2xkdmFsLCAmb2xkb2lkKSkKIAkJCWRpZSgiJXM6IG5vdCBhIHZhbGlkIG9sZCBTSEExIiwgb2xkdmFsKTsKIAl9CiAKQEAgLTQzMywxMSArNDMzLDExIEBACiAJCSAqIEZvciBwdXJwb3NlcyBvZiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgd2UgdHJlYXQKIAkJICogTlVMTF9TSEExIGFzICJkb24ndCBjYXJlIiBoZXJlOgogCQkgKi8KLQkJcmV0dXJuIGRlbGV0ZV9yZWYocmVmbmFtZSwKLQkJCQkgIChvbGR2YWwgJiYgIWlzX251bGxfc2hhMShvbGRzaGExKSkgPyBvbGRzaGExIDogTlVMTCwKKwkJcmV0dXJuIGRlbGV0ZV9yZWYobXNnLCByZWZuYW1lLAorCQkJCSAgKG9sZHZhbCAmJiAhaXNfbnVsbF9vaWQoJm9sZG9pZCkpID8gb2xkb2lkLmhhc2ggOiBOVUxMLAogCQkJCSAgZmxhZ3MpOwogCWVsc2UKLQkJcmV0dXJuIHVwZGF0ZV9yZWYobXNnLCByZWZuYW1lLCBzaGExLCBvbGR2YWwgPyBvbGRzaGExIDogTlVMTCwKKwkJcmV0dXJuIHVwZGF0ZV9yZWYobXNnLCByZWZuYW1lLCBvaWQuaGFzaCwgb2xkdmFsID8gb2xkb2lkLmhhc2ggOiBOVUxMLAogCQkJCSAgZmxhZ3MgfCBjcmVhdGVfcmVmbG9nX2ZsYWcsCiAJCQkJICBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmMgYi9idWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jCmluZGV4IDZjOGNjM2UuLjg3MzA3MGUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmMKKysrIGIvYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdXBsb2FkLWFyY2hpdmUuYyBiL2J1aWx0aW4vdXBsb2FkLWFyY2hpdmUuYwppbmRleCBjZGUwNjk3Li44NDUzMmFlIDEwMDY0NAotLS0gYS9idWlsdGluL3VwbG9hZC1hcmNoaXZlLmMKKysrIGIvYnVpbHRpbi91cGxvYWQtYXJjaGl2ZS5jCkBAIC0yMiw3ICsyMiw3IEBACiAJc3RydWN0IGFyZ3ZfYXJyYXkgc2VudF9hcmd2ID0gQVJHVl9BUlJBWV9JTklUOwogCWNvbnN0IGNoYXIgKmFyZ19jbWQgPSAiYXJndW1lbnQgIjsKIAotCWlmIChhcmdjICE9IDIpCisJaWYgKGFyZ2MgIT0gMiB8fCAhc3RyY21wKGFyZ3ZbMV0sICItaCIpKQogCQl1c2FnZSh1cGxvYWRfYXJjaGl2ZV91c2FnZSk7CiAKIAlpZiAoIWVudGVyX3JlcG8oYXJndlsxXSwgMCkpCkBAIC03Niw2ICs3Niw5IEBACiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3Mgd3JpdGVyID0geyBhcmd2IH07CiAKKwlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi1oIikpCisJCXVzYWdlKHVwbG9hZF9hcmNoaXZlX3VzYWdlKTsKKwogCS8qCiAJICogU2V0IHVwIHNpZGViYW5kIHN1YnByb2Nlc3MuCiAJICoKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdmFyLmMgYi9idWlsdGluL3Zhci5jCmluZGV4IGFlZGJiNTMuLjZjNmY0NmIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdmFyLmMKKysrIGIvYnVpbHRpbi92YXIuYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgRXJpYyBCaWVkZXJtYW4sIDIwMDUKICAqLwogI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJjb25maWcuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgdmFyX3VzYWdlW10gPSAiZ2l0IHZhciAoLWwgfCA8dmFyaWFibGU+KSI7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jIGIvYnVpbHRpbi92ZXJpZnktY29tbWl0LmMKaW5kZXggMzhiZWRmOC4uYmEzOGFjOSAxMDA2NDQKLS0tIGEvYnVpbHRpbi92ZXJpZnktY29tbWl0LmMKKysrIGIvYnVpbHRpbi92ZXJpZnktY29tbWl0LmMKQEAgLTYsNiArNiw3IEBACiAgKiBCYXNlZCBvbiBnaXQtdmVyaWZ5LXRhZwogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKQEAgLTE4LDE0ICsxOSwxNCBAQAogCQlOVUxMCiB9OwogCi1zdGF0aWMgaW50IHJ1bl9ncGdfdmVyaWZ5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBmbGFncykKK3N0YXRpYyBpbnQgcnVuX2dwZ192ZXJpZnkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpidWYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CiAJc3RydWN0IHNpZ25hdHVyZV9jaGVjayBzaWduYXR1cmVfY2hlY2s7CiAJaW50IHJldDsKIAogCW1lbXNldCgmc2lnbmF0dXJlX2NoZWNrLCAwLCBzaXplb2Yoc2lnbmF0dXJlX2NoZWNrKSk7CiAKLQlyZXQgPSBjaGVja19jb21taXRfc2lnbmF0dXJlKGxvb2t1cF9jb21taXQoc2hhMSksICZzaWduYXR1cmVfY2hlY2spOworCXJldCA9IGNoZWNrX2NvbW1pdF9zaWduYXR1cmUobG9va3VwX2NvbW1pdChvaWQpLCAmc2lnbmF0dXJlX2NoZWNrKTsKIAlwcmludF9zaWduYXR1cmVfYnVmZmVyKCZzaWduYXR1cmVfY2hlY2ssIGZsYWdzKTsKIAogCXNpZ25hdHVyZV9jaGVja19jbGVhcigmc2lnbmF0dXJlX2NoZWNrKTsKQEAgLTM1LDIyICszNiwyMiBAQAogc3RhdGljIGludCB2ZXJpZnlfY29tbWl0KGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGZsYWdzKQogewogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNoYXIgKmJ1ZjsKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJaW50IHJldDsKIAotCWlmIChnZXRfc2hhMShuYW1lLCBzaGExKSkKKwlpZiAoZ2V0X29pZChuYW1lLCAmb2lkKSkKIAkJcmV0dXJuIGVycm9yKCJjb21taXQgJyVzJyBub3QgZm91bmQuIiwgbmFtZSk7CiAKLQlidWYgPSByZWFkX3NoYTFfZmlsZShzaGExLCAmdHlwZSwgJnNpemUpOworCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9pZC5oYXNoLCAmdHlwZSwgJnNpemUpOwogCWlmICghYnVmKQogCQlyZXR1cm4gZXJyb3IoIiVzOiB1bmFibGUgdG8gcmVhZCBmaWxlLiIsIG5hbWUpOwogCWlmICh0eXBlICE9IE9CSl9DT01NSVQpCiAJCXJldHVybiBlcnJvcigiJXM6IGNhbm5vdCB2ZXJpZnkgYSBub24tY29tbWl0IG9iamVjdCBvZiB0eXBlICVzLiIsCiAJCQkJbmFtZSwgdHlwZW5hbWUodHlwZSkpOwogCi0JcmV0ID0gcnVuX2dwZ192ZXJpZnkoc2hhMSwgYnVmLCBzaXplLCBmbGFncyk7CisJcmV0ID0gcnVuX2dwZ192ZXJpZnkoJm9pZCwgYnVmLCBzaXplLCBmbGFncyk7CiAKIAlmcmVlKGJ1Zik7CiAJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdmVyaWZ5LXBhY2suYyBiL2J1aWx0aW4vdmVyaWZ5LXBhY2suYwppbmRleCBjOTRlMTU2Li5jMmExYTVjIDEwMDY0NAotLS0gYS9idWlsdGluL3ZlcmlmeS1wYWNrLmMKKysrIGIvYnVpbHRpbi92ZXJpZnktcGFjay5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogCmRpZmYgLS1naXQgYS9idWlsdGluL3ZlcmlmeS10YWcuYyBiL2J1aWx0aW4vdmVyaWZ5LXRhZy5jCmluZGV4IDUxOTk1NTMuLmFkN2I3OWYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdmVyaWZ5LXRhZy5jCisrKyBiL2J1aWx0aW4vdmVyaWZ5LXRhZy5jCkBAIC02LDYgKzYsNyBAQAogICogQmFzZWQgb24gZ2l0LXZlcmlmeS10YWcuc2gKICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInRhZy5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCkBAIC0zMSwxMSArMzIsMTEgQEAKIHsKIAlpbnQgaSA9IDEsIHZlcmJvc2UgPSAwLCBoYWRfZXJyb3IgPSAwOwogCXVuc2lnbmVkIGZsYWdzID0gMDsKLQljaGFyICpmbXRfcHJldHR5ID0gTlVMTDsKKwlzdHJ1Y3QgcmVmX2Zvcm1hdCBmb3JtYXQgPSBSRUZfRk9STUFUX0lOSVQ7CiAJY29uc3Qgc3RydWN0IG9wdGlvbiB2ZXJpZnlfdGFnX29wdGlvbnNbXSA9IHsKIAkJT1BUX19WRVJCT1NFKCZ2ZXJib3NlLCBOXygicHJpbnQgdGFnIGNvbnRlbnRzIikpLAogCQlPUFRfQklUKDAsICJyYXciLCAmZmxhZ3MsIE5fKCJwcmludCByYXcgZ3BnIHN0YXR1cyBvdXRwdXQiKSwgR1BHX1ZFUklGWV9SQVcpLAotCQlPUFRfU1RSSU5HKCAgMCAsICJmb3JtYXQiLCAmZm10X3ByZXR0eSwgTl8oImZvcm1hdCIpLCBOXygiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIpKSwKKwkJT1BUX1NUUklORygwLCAiZm9ybWF0IiwgJmZvcm1hdC5mb3JtYXQsIE5fKCJmb3JtYXQiKSwgTl8oImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTQ5LDI2ICs1MCwyOSBAQAogCWlmICh2ZXJib3NlKQogCQlmbGFncyB8PSBHUEdfVkVSSUZZX1ZFUkJPU0U7CiAKLQlpZiAoZm10X3ByZXR0eSkgewotCQl2ZXJpZnlfcmVmX2Zvcm1hdChmbXRfcHJldHR5KTsKKwlpZiAoZm9ybWF0LmZvcm1hdCkgeworCQlpZiAodmVyaWZ5X3JlZl9mb3JtYXQoJmZvcm1hdCkpCisJCQl1c2FnZV93aXRoX29wdGlvbnModmVyaWZ5X3RhZ191c2FnZSwKKwkJCQkJICAgdmVyaWZ5X3RhZ19vcHRpb25zKTsKIAkJZmxhZ3MgfD0gR1BHX1ZFUklGWV9PTUlUX1NUQVRVUzsKIAl9CiAKIAl3aGlsZSAoaSA8IGFyZ2MpIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCWNvbnN0IGNoYXIgKm5hbWUgPSBhcmd2W2krK107Ci0JCWlmIChnZXRfc2hhMShuYW1lLCBzaGExKSkgeworCisJCWlmIChnZXRfb2lkKG5hbWUsICZvaWQpKSB7CiAJCQloYWRfZXJyb3IgPSAhIWVycm9yKCJ0YWcgJyVzJyBub3QgZm91bmQuIiwgbmFtZSk7CiAJCQljb250aW51ZTsKIAkJfQogCi0JCWlmIChncGdfdmVyaWZ5X3RhZyhzaGExLCBuYW1lLCBmbGFncykpIHsKKwkJaWYgKGdwZ192ZXJpZnlfdGFnKCZvaWQsIG5hbWUsIGZsYWdzKSkgewogCQkJaGFkX2Vycm9yID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKGZtdF9wcmV0dHkpCi0JCQlwcmV0dHlfcHJpbnRfcmVmKG5hbWUsIHNoYTEsIGZtdF9wcmV0dHkpOworCQlpZiAoZm9ybWF0LmZvcm1hdCkKKwkJCXByZXR0eV9wcmludF9yZWYobmFtZSwgb2lkLmhhc2gsICZmb3JtYXQpOwogCX0KIAlyZXR1cm4gaGFkX2Vycm9yOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi93b3JrdHJlZS5jIGIvYnVpbHRpbi93b3JrdHJlZS5jCmluZGV4IDgzMWZlMDUuLjdiOTMwN2EgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vd29ya3RyZWUuYworKysgYi9idWlsdGluL3dvcmt0cmVlLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiZGlyLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgpAQCAtMjQsMTkgKzI1LDIyIEBACiAJaW50IGZvcmNlOwogCWludCBkZXRhY2g7CiAJaW50IGNoZWNrb3V0OworCWludCBrZWVwX2xvY2tlZDsKIAljb25zdCBjaGFyICpuZXdfYnJhbmNoOwogCWludCBmb3JjZV9uZXdfYnJhbmNoOwogfTsKIAogc3RhdGljIGludCBzaG93X29ubHk7CiBzdGF0aWMgaW50IHZlcmJvc2U7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBleHBpcmU7CitzdGF0aWMgdGltZXN0YW1wX3QgZXhwaXJlOwogCiBzdGF0aWMgaW50IHBydW5lX3dvcmt0cmVlKGNvbnN0IGNoYXIgKmlkLCBzdHJ1Y3Qgc3RyYnVmICpyZWFzb24pCiB7CiAJc3RydWN0IHN0YXQgc3Q7CiAJY2hhciAqcGF0aDsKLQlpbnQgZmQsIGxlbjsKKwlpbnQgZmQ7CisJc2l6ZV90IGxlbjsKKwlzc2l6ZV90IHJlYWRfcmVzdWx0OwogCiAJaWYgKCFpc19kaXJlY3RvcnkoZ2l0X3BhdGgoIndvcmt0cmVlcy8lcyIsIGlkKSkpIHsKIAkJc3RyYnVmX2FkZGYocmVhc29uLCBfKCJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IG5vdCBhIHZhbGlkIGRpcmVjdG9yeSIpLCBpZCk7CkBAIC01NCwxMCArNTgsMjYgQEAKIAkJCSAgICBpZCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJcmV0dXJuIDE7CiAJfQotCWxlbiA9IHN0LnN0X3NpemU7CisJbGVuID0geHNpemVfdChzdC5zdF9zaXplKTsKIAlwYXRoID0geG1hbGxvY3oobGVuKTsKLQlyZWFkX2luX2Z1bGwoZmQsIHBhdGgsIGxlbik7CisKKwlyZWFkX3Jlc3VsdCA9IHJlYWRfaW5fZnVsbChmZCwgcGF0aCwgbGVuKTsKKwlpZiAocmVhZF9yZXN1bHQgPCAwKSB7CisJCXN0cmJ1Zl9hZGRmKHJlYXNvbiwgXygiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiB1bmFibGUgdG8gcmVhZCBnaXRkaXIgZmlsZSAoJXMpIiksCisJCQkgICAgaWQsIHN0cmVycm9yKGVycm5vKSk7CisJCWNsb3NlKGZkKTsKKwkJZnJlZShwYXRoKTsKKwkJcmV0dXJuIDE7CisJfQogCWNsb3NlKGZkKTsKKworCWlmIChyZWFkX3Jlc3VsdCAhPSBsZW4pIHsKKwkJc3RyYnVmX2FkZGYocmVhc29uLAorCQkJICAgIF8oIlJlbW92aW5nIHdvcmt0cmVlcy8lczogc2hvcnQgcmVhZCAoZXhwZWN0ZWQgJSJQUkl1TUFYIiBieXRlcywgcmVhZCAlIlBSSXVNQVgiKSIpLAorCQkJICAgIGlkLCAodWludG1heF90KWxlbiwgKHVpbnRtYXhfdClyZWFkX3Jlc3VsdCk7CisJCWZyZWUocGF0aCk7CisJCXJldHVybiAxOworCX0KIAl3aGlsZSAobGVuICYmIChwYXRoW2xlbiAtIDFdID09ICdcbicgfHwgcGF0aFtsZW4gLSAxXSA9PSAnXHInKSkKIAkJbGVuLS07CiAJaWYgKCFsZW4pIHsKQEAgLTEwNiw4ICsxMjYsNyBAQAogCQkJcHJpbnRmKCIlc1xuIiwgcmVhc29uLmJ1Zik7CiAJCWlmIChzaG93X29ubHkpCiAJCQljb250aW51ZTsKLQkJc3RyYnVmX3Jlc2V0KCZwYXRoKTsKLQkJc3RyYnVmX2FkZHN0cigmcGF0aCwgZ2l0X3BhdGgoIndvcmt0cmVlcy8lcyIsIGQtPmRfbmFtZSkpOworCQlnaXRfcGF0aF9idWYoJnBhdGgsICJ3b3JrdHJlZXMvJXMiLCBkLT5kX25hbWUpOwogCQlyZXQgPSByZW1vdmVfZGlyX3JlY3Vyc2l2ZWx5KCZwYXRoLCAwKTsKIAkJaWYgKHJldCA8IDAgJiYgZXJybm8gPT0gRU5PVERJUikKIAkJCXJldCA9IHVubGluayhwYXRoLmJ1Zik7CkBAIC0xMzEsNyArMTUwLDcgQEAKIAkJT1BUX0VORCgpCiAJfTsKIAotCWV4cGlyZSA9IFVMT05HX01BWDsKKwlleHBpcmUgPSBUSU1FX01BWDsKIAlhYyA9IHBhcnNlX29wdGlvbnMoYWMsIGF2LCBwcmVmaXgsIG9wdGlvbnMsIHdvcmt0cmVlX3VzYWdlLCAwKTsKIAlpZiAoYWMpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyh3b3JrdHJlZV91c2FnZSwgb3B0aW9ucyk7CkBAIC0yMTUsOCArMjM0LDcgQEAKIAl9CiAKIAluYW1lID0gd29ya3RyZWVfYmFzZW5hbWUocGF0aCwgJmxlbik7Ci0Jc3RyYnVmX2FkZHN0cigmc2JfcmVwbywKLQkJICAgICAgZ2l0X3BhdGgoIndvcmt0cmVlcy8lLipzIiwgKGludCkocGF0aCArIGxlbiAtIG5hbWUpLCBuYW1lKSk7CisJZ2l0X3BhdGhfYnVmKCZzYl9yZXBvLCAid29ya3RyZWVzLyUuKnMiLCAoaW50KShwYXRoICsgbGVuIC0gbmFtZSksIG5hbWUpOwogCWxlbiA9IHNiX3JlcG8ubGVuOwogCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KHNiX3JlcG8uYnVmKSkKIAkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIiksCkBAIC0yNDIsNyArMjYwLDEwIEBACiAJICogYWZ0ZXIgdGhlIHByZXBhcmF0aW9uIGlzIG92ZXIuCiAJICovCiAJc3RyYnVmX2FkZGYoJnNiLCAiJXMvbG9ja2VkIiwgc2JfcmVwby5idWYpOwotCXdyaXRlX2ZpbGUoc2IuYnVmLCAiaW5pdGlhbGl6aW5nIik7CisJaWYgKCFvcHRzLT5rZWVwX2xvY2tlZCkKKwkJd3JpdGVfZmlsZShzYi5idWYsICJpbml0aWFsaXppbmciKTsKKwllbHNlCisJCXdyaXRlX2ZpbGUoc2IuYnVmLCAiYWRkZWQgd2l0aCAtLWxvY2siKTsKIAogCXN0cmJ1Zl9hZGRmKCZzYl9naXQsICIlcy8uZ2l0IiwgcGF0aCk7CiAJaWYgKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3Qoc2JfZ2l0LmJ1ZikpCkBAIC0yOTcsMTUgKzMxOCwxNSBAQAogCX0KIAogCWlzX2p1bmsgPSAwOwotCWZyZWUoanVua193b3JrX3RyZWUpOwotCWZyZWUoanVua19naXRfZGlyKTsKLQlqdW5rX3dvcmtfdHJlZSA9IE5VTEw7Ci0JanVua19naXRfZGlyID0gTlVMTDsKKwlGUkVFX0FORF9OVUxMKGp1bmtfd29ya190cmVlKTsKKwlGUkVFX0FORF9OVUxMKGp1bmtfZ2l0X2Rpcik7CiAKIGRvbmU6Ci0Jc3RyYnVmX3Jlc2V0KCZzYik7Ci0Jc3RyYnVmX2FkZGYoJnNiLCAiJXMvbG9ja2VkIiwgc2JfcmVwby5idWYpOwotCXVubGlua19vcl93YXJuKHNiLmJ1Zik7CisJaWYgKHJldCB8fCAhb3B0cy0+a2VlcF9sb2NrZWQpIHsKKwkJc3RyYnVmX3Jlc2V0KCZzYik7CisJCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzL2xvY2tlZCIsIHNiX3JlcG8uYnVmKTsKKwkJdW5saW5rX29yX3dhcm4oc2IuYnVmKTsKKwl9CiAJYXJndl9hcnJheV9jbGVhcigmY2hpbGRfZW52KTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwogCXN0cmJ1Zl9yZWxlYXNlKCZzeW1yZWYpOwpAQCAtMzE4LDcgKzMzOSw4IEBACiB7CiAJc3RydWN0IGFkZF9vcHRzIG9wdHM7CiAJY29uc3QgY2hhciAqbmV3X2JyYW5jaF9mb3JjZSA9IE5VTEw7Ci0JY29uc3QgY2hhciAqcGF0aCwgKmJyYW5jaDsKKwljaGFyICpwYXRoOworCWNvbnN0IGNoYXIgKmJyYW5jaDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJT1BUX19GT1JDRSgmb3B0cy5mb3JjZSwgTl8oImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIpKSwKIAkJT1BUX1NUUklORygnYicsIE5VTEwsICZvcHRzLm5ld19icmFuY2gsIE5fKCJicmFuY2giKSwKQEAgLTMyNyw2ICszNDksNyBAQAogCQkJICAgTl8oImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIpKSwKIAkJT1BUX0JPT0woMCwgImRldGFjaCIsICZvcHRzLmRldGFjaCwgTl8oImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIpKSwKIAkJT1BUX0JPT0woMCwgImNoZWNrb3V0IiwgJm9wdHMuY2hlY2tvdXQsIE5fKCJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIpKSwKKwkJT1BUX0JPT0woMCwgImxvY2siLCAmb3B0cy5rZWVwX2xvY2tlZCwgTl8oImtlZXAgdGhlIG5ldyB3b3JraW5nIHRyZWUgbG9ja2VkIikpLAogCQlPUFRfRU5EKCkKIAl9OwogCkBAIC0zMzgsNyArMzYxLDcgQEAKIAlpZiAoYWMgPCAxIHx8IGFjID4gMikKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKHdvcmt0cmVlX3VzYWdlLCBvcHRpb25zKTsKIAotCXBhdGggPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBzdHJsZW4ocHJlZml4KSwgYXZbMF0pOworCXBhdGggPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBhdlswXSk7CiAJYnJhbmNoID0gYWMgPCAyID8gIkhFQUQiIDogYXZbMV07CiAKIAlpZiAoIXN0cmNtcChicmFuY2gsICItIikpCkBAIC0zNzYsNiArMzk5LDggQEAKIAkJYnJhbmNoID0gb3B0cy5uZXdfYnJhbmNoOwogCX0KIAorCVVOTEVBSyhwYXRoKTsKKwlVTkxFQUsob3B0cyk7CiAJcmV0dXJuIGFkZF93b3JrdHJlZShwYXRoLCBicmFuY2gsICZvcHRzKTsKIH0KIApAQCAtNDA4LDkgKzQzMywxMSBAQAogCQkJCWZpbmRfdW5pcXVlX2FiYnJldih3dC0+aGVhZF9zaGExLCBERUZBVUxUX0FCQlJFVikpOwogCQlpZiAod3QtPmlzX2RldGFjaGVkKQogCQkJc3RyYnVmX2FkZHN0cigmc2IsICIoZGV0YWNoZWQgSEVBRCkiKTsKLQkJZWxzZSBpZiAod3QtPmhlYWRfcmVmKQotCQkJc3RyYnVmX2FkZGYoJnNiLCAiWyVzXSIsIHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKHd0LT5oZWFkX3JlZiwgMCkpOwotCQllbHNlCisJCWVsc2UgaWYgKHd0LT5oZWFkX3JlZikgeworCQkJY2hhciAqcmVmID0gc2hvcnRlbl91bmFtYmlndW91c19yZWYod3QtPmhlYWRfcmVmLCAwKTsKKwkJCXN0cmJ1Zl9hZGRmKCZzYiwgIlslc10iLCByZWYpOworCQkJZnJlZShyZWYpOworCQl9IGVsc2UKIAkJCXN0cmJ1Zl9hZGRzdHIoJnNiLCAiKGVycm9yKSIpOwogCX0KIAlwcmludGYoIiVzXG4iLCBzYi5idWYpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi93cml0ZS10cmVlLmMgYi9idWlsdGluL3dyaXRlLXRyZWUuYwppbmRleCAwODRjMGRmLi5iZDBhNzhhIDEwMDY0NAotLS0gYS9idWlsdGluL3dyaXRlLXRyZWUuYworKysgYi9idWlsdGluL3dyaXRlLXRyZWUuYwpAQCAtNSw2ICs1LDcgQEAKICAqLwogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInRyZWUuaCIKICNpbmNsdWRlICJjYWNoZS10cmVlLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgpkaWZmIC0tZ2l0IGEvYnVsay1jaGVja2luLmMgYi9idWxrLWNoZWNraW4uYwppbmRleCA5OTFiNGExLi4zMzEwZmQyIDEwMDY0NAotLS0gYS9idWxrLWNoZWNraW4uYworKysgYi9idWxrLWNoZWNraW4uYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlICJjc3VtLWZpbGUuaCIKICNpbmNsdWRlICJwYWNrLmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogc3RhdGljIHN0cnVjdCBidWxrX2NoZWNraW5fc3RhdGUgewogCXVuc2lnbmVkIHBsdWdnZWQ6MTsKQEAgLTY5LDcgKzcwLDcgQEAKIAogCS8qIE1pZ2h0IHdhbnQgdG8ga2VlcCB0aGUgbGlzdCBzb3J0ZWQgKi8KIAlmb3IgKGkgPSAwOyBpIDwgc3RhdGUtPm5yX3dyaXR0ZW47IGkrKykKLQkJaWYgKCFoYXNoY21wKHN0YXRlLT53cml0dGVuW2ldLT5zaGExLCBzaGExKSkKKwkJaWYgKCFoYXNoY21wKHN0YXRlLT53cml0dGVuW2ldLT5vaWQuaGFzaCwgc2hhMSkpCiAJCQlyZXR1cm4gMTsKIAogCS8qIFRoaXMgaXMgYSBuZXcgb2JqZWN0IHdlIG5lZWQgdG8ga2VlcCAqLwpAQCAtMTA1LDcgKzEwNiw3IEBACiAKIAlnaXRfZGVmbGF0ZV9pbml0KCZzLCBwYWNrX2NvbXByZXNzaW9uX2xldmVsKTsKIAotCWhkcmxlbiA9IGVuY29kZV9pbl9wYWNrX29iamVjdF9oZWFkZXIodHlwZSwgc2l6ZSwgb2J1Zik7CisJaGRybGVuID0gZW5jb2RlX2luX3BhY2tfb2JqZWN0X2hlYWRlcihvYnVmLCBzaXplb2Yob2J1ZiksIHR5cGUsIHNpemUpOwogCXMubmV4dF9vdXQgPSBvYnVmICsgaGRybGVuOwogCXMuYXZhaWxfb3V0ID0gc2l6ZW9mKG9idWYpIC0gaGRybGVuOwogCkBAIC0xMTQsNyArMTE1LDEwIEBACiAKIAkJaWYgKHNpemUgJiYgIXMuYXZhaWxfaW4pIHsKIAkJCXNzaXplX3QgcnNpemUgPSBzaXplIDwgc2l6ZW9mKGlidWYpID8gc2l6ZSA6IHNpemVvZihpYnVmKTsKLQkJCWlmIChyZWFkX2luX2Z1bGwoZmQsIGlidWYsIHJzaXplKSAhPSByc2l6ZSkKKwkJCXNzaXplX3QgcmVhZF9yZXN1bHQgPSByZWFkX2luX2Z1bGwoZmQsIGlidWYsIHJzaXplKTsKKwkJCWlmIChyZWFkX3Jlc3VsdCA8IDApCisJCQkJZGllX2Vycm5vKCJmYWlsZWQgdG8gcmVhZCBmcm9tICclcyciLCBwYXRoKTsKKwkJCWlmIChyZWFkX3Jlc3VsdCAhPSByc2l6ZSkKIAkJCQlkaWUoImZhaWxlZCB0byByZWFkICVkIGJ5dGVzIGZyb20gJyVzJyIsCiAJCQkJICAgIChpbnQpcnNpemUsIHBhdGgpOwogCQkJb2Zmc2V0ICs9IHJzaXplOwpAQCAtMjQyLDcgKzI0Niw3IEBACiAJCXN0YXRlLT5vZmZzZXQgPSBjaGVja3BvaW50Lm9mZnNldDsKIAkJZnJlZShpZHgpOwogCX0gZWxzZSB7Ci0JCWhhc2hjcHkoaWR4LT5zaGExLCByZXN1bHRfc2hhMSk7CisJCWhhc2hjcHkoaWR4LT5vaWQuaGFzaCwgcmVzdWx0X3NoYTEpOwogCQlBTExPQ19HUk9XKHN0YXRlLT53cml0dGVuLAogCQkJICAgc3RhdGUtPm5yX3dyaXR0ZW4gKyAxLAogCQkJICAgc3RhdGUtPmFsbG9jX3dyaXR0ZW4pOwpkaWZmIC0tZ2l0IGEvYnVuZGxlLmMgYi9idW5kbGUuYwppbmRleCBiYmY0ZWZhLi5jMDkyZDVkIDEwMDY0NAotLS0gYS9idW5kbGUuYworKysgYi9idW5kbGUuYwpAQCAtMTIsMTEgKzEyLDExIEBACiAKIHN0YXRpYyBjb25zdCBjaGFyIGJ1bmRsZV9zaWduYXR1cmVbXSA9ICIjIHYyIGdpdCBidW5kbGVcbiI7CiAKLXN0YXRpYyB2b2lkIGFkZF90b19yZWZfbGlzdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICpuYW1lLAorc3RhdGljIHZvaWQgYWRkX3RvX3JlZl9saXN0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqbmFtZSwKIAkJc3RydWN0IHJlZl9saXN0ICpsaXN0KQogewogCUFMTE9DX0dST1cobGlzdC0+bGlzdCwgbGlzdC0+bnIgKyAxLCBsaXN0LT5hbGxvYyk7Ci0JaGFzaGNweShsaXN0LT5saXN0W2xpc3QtPm5yXS5zaGExLCBzaGExKTsKKwlvaWRjcHkoJmxpc3QtPmxpc3RbbGlzdC0+bnJdLm9pZCwgb2lkKTsKIAlsaXN0LT5saXN0W2xpc3QtPm5yXS5uYW1lID0geHN0cmR1cChuYW1lKTsKIAlsaXN0LT5ucisrOwogfQpAQCAtNDAsOCArNDAsOSBAQAogCS8qIFRoZSBidW5kbGUgaGVhZGVyIGVuZHMgd2l0aCBhbiBlbXB0eSBsaW5lICovCiAJd2hpbGUgKCFzdHJidWZfZ2V0d2hvbGVsaW5lX2ZkKCZidWYsIGZkLCAnXG4nKSAmJgogCSAgICAgICBidWYubGVuICYmIGJ1Zi5idWZbMF0gIT0gJ1xuJykgewotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJaW50IGlzX3ByZXJlcSA9IDA7CisJCWNvbnN0IGNoYXIgKnA7CiAKIAkJaWYgKCpidWYuYnVmID09ICctJykgewogCQkJaXNfcHJlcmVxID0gMTsKQEAgLTU0LDkgKzU1LDkgQEAKIAkJICogUHJlcmVxdWlzaXRlcyBoYXZlIG9iamVjdCBuYW1lIHRoYXQgaXMgb3B0aW9uYWxseQogCQkgKiBmb2xsb3dlZCBieSBTUCBhbmQgc3ViamVjdCBsaW5lLgogCQkgKi8KLQkJaWYgKGdldF9zaGExX2hleChidWYuYnVmLCBzaGExKSB8fAotCQkgICAgKGJ1Zi5sZW4gPiA0MCAmJiAhaXNzcGFjZShidWYuYnVmWzQwXSkpIHx8Ci0JCSAgICAoIWlzX3ByZXJlcSAmJiBidWYubGVuIDw9IDQwKSkgeworCQlpZiAocGFyc2Vfb2lkX2hleChidWYuYnVmLCAmb2lkLCAmcCkgfHwKKwkJICAgICgqcCAmJiAhaXNzcGFjZSgqcCkpIHx8CisJCSAgICAoIWlzX3ByZXJlcSAmJiAhKnApKSB7CiAJCQlpZiAocmVwb3J0X3BhdGgpCiAJCQkJZXJyb3IoXygidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIiksCiAJCQkJICAgICAgKGlzX3ByZXJlcSA/ICItIiA6ICIiKSwgYnVmLmJ1ZiwgKGludClidWYubGVuKTsKQEAgLTY0LDkgKzY1LDkgQEAKIAkJCWJyZWFrOwogCQl9IGVsc2UgewogCQkJaWYgKGlzX3ByZXJlcSkKLQkJCQlhZGRfdG9fcmVmX2xpc3Qoc2hhMSwgIiIsICZoZWFkZXItPnByZXJlcXVpc2l0ZXMpOworCQkJCWFkZF90b19yZWZfbGlzdCgmb2lkLCAiIiwgJmhlYWRlci0+cHJlcmVxdWlzaXRlcyk7CiAJCQllbHNlCi0JCQkJYWRkX3RvX3JlZl9saXN0KHNoYTEsIGJ1Zi5idWYgKyA0MSwgJmhlYWRlci0+cmVmZXJlbmNlcyk7CisJCQkJYWRkX3RvX3JlZl9saXN0KCZvaWQsIHAgKyAxLCAmaGVhZGVyLT5yZWZlcmVuY2VzKTsKIAkJfQogCX0KIApAQCAtMTE1LDcgKzExNiw3IEBACiAJCQlpZiAoaiA9PSBhcmdjKQogCQkJCWNvbnRpbnVlOwogCQl9Ci0JCXByaW50ZigiJXMgJXNcbiIsIHNoYTFfdG9faGV4KHItPmxpc3RbaV0uc2hhMSksCisJCXByaW50ZigiJXMgJXNcbiIsIG9pZF90b19oZXgoJnItPmxpc3RbaV0ub2lkKSwKIAkJCQlyLT5saXN0W2ldLm5hbWUpOwogCX0KIAlyZXR1cm4gMDsKQEAgLTE0MSw3ICsxNDIsNyBAQAogCWluaXRfcmV2aXNpb25zKCZyZXZzLCBOVUxMKTsKIAlmb3IgKGkgPSAwOyBpIDwgcC0+bnI7IGkrKykgewogCQlzdHJ1Y3QgcmVmX2xpc3RfZW50cnkgKmUgPSBwLT5saXN0ICsgaTsKLQkJc3RydWN0IG9iamVjdCAqbyA9IHBhcnNlX29iamVjdChlLT5zaGExKTsKKwkJc3RydWN0IG9iamVjdCAqbyA9IHBhcnNlX29iamVjdCgmZS0+b2lkKTsKIAkJaWYgKG8pIHsKIAkJCW8tPmZsYWdzIHw9IFBSRVJFUV9NQVJLOwogCQkJYWRkX3BlbmRpbmdfb2JqZWN0KCZyZXZzLCBvLCBlLT5uYW1lKTsKQEAgLTE0OSwxNiArMTUwLDIxIEBACiAJCX0KIAkJaWYgKCsrcmV0ID09IDEpCiAJCQllcnJvcigiJXMiLCBtZXNzYWdlKTsKLQkJZXJyb3IoIiVzICVzIiwgc2hhMV90b19oZXgoZS0+c2hhMSksIGUtPm5hbWUpOworCQllcnJvcigiJXMgJXMiLCBvaWRfdG9faGV4KCZlLT5vaWQpLCBlLT5uYW1lKTsKIAl9CiAJaWYgKHJldnMucGVuZGluZy5uciAhPSBwLT5ucikKIAkJcmV0dXJuIHJldDsKIAlyZXFfbnIgPSByZXZzLnBlbmRpbmcubnI7CiAJc2V0dXBfcmV2aXNpb25zKDIsIGFyZ3YsICZyZXZzLCBOVUxMKTsKIAorCS8qIFNhdmUgcGVuZGluZyBvYmplY3RzLCBzbyB0aGV5IGNhbiBiZSBjbGVhbmVkIHVwIGxhdGVyLiAqLwogCXJlZnMgPSByZXZzLnBlbmRpbmc7CiAJcmV2cy5sZWFrX3BlbmRpbmcgPSAxOwogCisJLyoKKwkgKiBwcmVwYXJlX3JldmlzaW9uX3dhbGsgKHRvZ2V0aGVyIHdpdGggLmxlYWtfcGVuZGluZyA9IDEpIG1ha2VzIHVzCisJICogdGhlIHNvbGUgb3duZXIgb2YgdGhlIGxpc3Qgb2YgcGVuZGluZyBvYmplY3RzLgorCSAqLwogCWlmIChwcmVwYXJlX3JldmlzaW9uX3dhbGsoJnJldnMpKQogCQlkaWUoXygicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiKSk7CiAKQEAgLTE3NSw4ICsxODEsMTAgQEAKIAkJCQlyZWZzLm9iamVjdHNbaV0ubmFtZSk7CiAJCX0KIAorCS8qIENsZWFuIHVwIG9iamVjdHMgdXNlZCwgYXMgdGhleSB3aWxsIGJlIHJldXNlZC4gKi8KIAljbGVhcl9jb21taXRfbWFya3NfZm9yX29iamVjdF9hcnJheSgmcmVmcywgQUxMX1JFVl9GTEFHUyk7Ci0JZnJlZShyZWZzLm9iamVjdHMpOworCisJb2JqZWN0X2FycmF5X2NsZWFyKCZyZWZzKTsKIAogCWlmICh2ZXJib3NlKSB7CiAJCXN0cnVjdCByZWZfbGlzdCAqcjsKQEAgLTIxMSw3ICsyMTksNyBAQAogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJY2hhciAqYnVmID0gTlVMTCwgKmxpbmUsICpsaW5lZW5kOwotCXVuc2lnbmVkIGxvbmcgZGF0ZTsKKwl0aW1lc3RhbXBfdCBkYXRlOwogCWludCByZXN1bHQgPSAxOwogCiAJaWYgKHJldnMtPm1heF9hZ2UgPT0gLTEgJiYgcmV2cy0+bWluX2FnZSA9PSAtMSkKQEAgLTIyNyw3ICsyMzUsNyBAQAogCWxpbmUgPSBtZW1jaHIobGluZSwgJz4nLCBsaW5lZW5kID8gbGluZWVuZCAtIGxpbmUgOiBidWYgKyBzaXplIC0gbGluZSk7CiAJaWYgKCFsaW5lKyspCiAJCWdvdG8gb3V0OwotCWRhdGUgPSBzdHJ0b3VsKGxpbmUsIE5VTEwsIDEwKTsKKwlkYXRlID0gcGFyc2VfdGltZXN0YW1wKGxpbmUsIE5VTEwsIDEwKTsKIAlyZXN1bHQgPSAocmV2cy0+bWF4X2FnZSA9PSAtMSB8fCByZXZzLT5tYXhfYWdlIDwgZGF0ZSkgJiYKIAkJKHJldnMtPm1pbl9hZ2UgPT0gLTEgfHwgcmV2cy0+bWluX2FnZSA+IGRhdGUpOwogb3V0OgpAQCAtMjg1LDE2ICsyOTMsMTggQEAKIAkJcmV0dXJuIC0xOwogCXJsc19mb3V0ID0geGZkb3BlbihybHMub3V0LCAiciIpOwogCXdoaWxlIChzdHJidWZfZ2V0d2hvbGVsaW5lKCZidWYsIHJsc19mb3V0LCAnXG4nKSAhPSBFT0YpIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCWlmIChidWYubGVuID4gMCAmJiBidWYuYnVmWzBdID09ICctJykgewogCQkJd3JpdGVfb3JfZGllKGJ1bmRsZV9mZCwgYnVmLmJ1ZiwgYnVmLmxlbik7Ci0JCQlpZiAoIWdldF9zaGExX2hleChidWYuYnVmICsgMSwgc2hhMSkpIHsKLQkJCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBwYXJzZV9vYmplY3Rfb3JfZGllKHNoYTEsIGJ1Zi5idWYpOworCQkJaWYgKCFnZXRfb2lkX2hleChidWYuYnVmICsgMSwgJm9pZCkpIHsKKwkJCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBwYXJzZV9vYmplY3Rfb3JfZGllKCZvaWQsCisJCQkJCQkJCQkgICAgYnVmLmJ1Zik7CiAJCQkJb2JqZWN0LT5mbGFncyB8PSBVTklOVEVSRVNUSU5HOwogCQkJCWFkZF9wZW5kaW5nX29iamVjdChyZXZzLCBvYmplY3QsIGJ1Zi5idWYpOwogCQkJfQotCQl9IGVsc2UgaWYgKCFnZXRfc2hhMV9oZXgoYnVmLmJ1Ziwgc2hhMSkpIHsKLQkJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IHBhcnNlX29iamVjdF9vcl9kaWUoc2hhMSwgYnVmLmJ1Zik7CisJCX0gZWxzZSBpZiAoIWdldF9vaWRfaGV4KGJ1Zi5idWYsICZvaWQpKSB7CisJCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBwYXJzZV9vYmplY3Rfb3JfZGllKCZvaWQsCisJCQkJCQkJCSAgICBidWYuYnVmKTsKIAkJCW9iamVjdC0+ZmxhZ3MgfD0gU0hPV047CiAJCX0KIAl9CkBAIC0zNjYsNyArMzc2LDcgQEAKIAkJCSAqIGluIHRlcm1zIG9mIGEgdGFnIChlLmcuIHYyLjAgZnJvbSB0aGUgcmFuZ2UKIAkJCSAqICJ2MS4wLi52Mi4wIik/CiAJCQkgKi8KLQkJCXN0cnVjdCBjb21taXQgKm9uZSA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZC5oYXNoKTsKKwkJCXN0cnVjdCBjb21taXQgKm9uZSA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZvaWQpOwogCQkJc3RydWN0IG9iamVjdCAqb2JqOwogCiAJCQlpZiAoZS0+aXRlbSA9PSAmKG9uZS0+b2JqZWN0KSkgewpAQCAtMzc4LDcgKzM4OCw3IEBACiAJCQkJICogZW5kIHVwIHRyaWdnZXJpbmcgImVtcHR5IGJ1bmRsZSIKIAkJCQkgKiBlcnJvci4KIAkJCQkgKi8KLQkJCQlvYmogPSBwYXJzZV9vYmplY3Rfb3JfZGllKG9pZC5oYXNoLCBlLT5uYW1lKTsKKwkJCQlvYmogPSBwYXJzZV9vYmplY3Rfb3JfZGllKCZvaWQsIGUtPm5hbWUpOwogCQkJCW9iai0+ZmxhZ3MgfD0gU0hPV047CiAJCQkJYWRkX3BlbmRpbmdfb2JqZWN0KHJldnMsIG9iaiwgZS0+bmFtZSk7CiAJCQl9CmRpZmYgLS1naXQgYS9idW5kbGUuaCBiL2J1bmRsZS5oCmluZGV4IDE1ODRlNGQuLmU5YTRjYjYgMTAwNjQ0Ci0tLSBhL2J1bmRsZS5oCisrKyBiL2J1bmRsZS5oCkBAIC0xLDEwICsxLDEyIEBACiAjaWZuZGVmIEJVTkRMRV9ICiAjZGVmaW5lIEJVTkRMRV9ICiAKKyNpbmNsdWRlICJjYWNoZS5oIgorCiBzdHJ1Y3QgcmVmX2xpc3QgewogCXVuc2lnbmVkIGludCBuciwgYWxsb2M7CiAJc3RydWN0IHJlZl9saXN0X2VudHJ5IHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCWNoYXIgKm5hbWU7CiAJfSAqbGlzdDsKIH07CmRpZmYgLS1naXQgYS9jYWNoZS10cmVlLmMgYi9jYWNoZS10cmVlLmMKaW5kZXggMzQ1ZWEzNS4uNzFkMDkyZSAxMDA2NDQKLS0tIGEvY2FjaGUtdHJlZS5jCisrKyBiL2NhY2hlLXRyZWUuYwpAQCAtMTMxLDkgKzEzMSw4IEBACiAJCQkgKiBtb3ZlIDQgYW5kIDUgdXAgb25lIHBsYWNlICgyIGVudHJpZXMpCiAJCQkgKiAyID0gNiAtIDMgLSAxID0gc3VidHJlZV9uciAtIHBvcyAtIDEKIAkJCSAqLwotCQkJbWVtbW92ZShpdC0+ZG93bitwb3MsIGl0LT5kb3duK3BvcysxLAotCQkJCXNpemVvZihzdHJ1Y3QgY2FjaGVfdHJlZV9zdWIgKikgKgotCQkJCShpdC0+c3VidHJlZV9uciAtIHBvcyAtIDEpKTsKKwkJCU1PVkVfQVJSQVkoaXQtPmRvd24gKyBwb3MsIGl0LT5kb3duICsgcG9zICsgMSwKKwkJCQkgICBpdC0+c3VidHJlZV9uciAtIHBvcyAtIDEpOwogCQkJaXQtPnN1YnRyZWVfbnItLTsKIAkJfQogCQlyZXR1cm4gMTsKQEAgLTIyNSw3ICsyMjQsNyBAQAogCWludCBpOwogCWlmICghaXQpCiAJCXJldHVybiAwOwotCWlmIChpdC0+ZW50cnlfY291bnQgPCAwIHx8ICFoYXNfc2hhMV9maWxlKGl0LT5zaGExKSkKKwlpZiAoaXQtPmVudHJ5X2NvdW50IDwgMCB8fCAhaGFzX3NoYTFfZmlsZShpdC0+b2lkLmhhc2gpKQogCQlyZXR1cm4gMDsKIAlmb3IgKGkgPSAwOyBpIDwgaXQtPnN1YnRyZWVfbnI7IGkrKykgewogCQlpZiAoIWNhY2hlX3RyZWVfZnVsbHlfdmFsaWQoaXQtPmRvd25baV0tPmNhY2hlX3RyZWUpKQpAQCAtMjUzLDcgKzI1Miw3IEBACiAKIAkqc2tpcF9jb3VudCA9IDA7CiAKLQlpZiAoMCA8PSBpdC0+ZW50cnlfY291bnQgJiYgaGFzX3NoYTFfZmlsZShpdC0+c2hhMSkpCisJaWYgKDAgPD0gaXQtPmVudHJ5X2NvdW50ICYmIGhhc19zaGExX2ZpbGUoaXQtPm9pZC5oYXNoKSkKIAkJcmV0dXJuIGl0LT5lbnRyeV9jb3VudDsKIAogCS8qCkBAIC0zNDAsNyArMzM5LDcgQEAKIAkJCQlkaWUoImNhY2hlLXRyZWUuYzogJyUuKnMnIGluICclcycgbm90IGZvdW5kIiwKIAkJCQkgICAgZW50bGVuLCBwYXRoICsgYmFzZWxlbiwgcGF0aCk7CiAJCQlpICs9IHN1Yi0+Y291bnQ7Ci0JCQlzaGExID0gc3ViLT5jYWNoZV90cmVlLT5zaGExOworCQkJc2hhMSA9IHN1Yi0+Y2FjaGVfdHJlZS0+b2lkLmhhc2g7CiAJCQltb2RlID0gU19JRkRJUjsKIAkJCWNvbnRhaW5zX2l0YSA9IHN1Yi0+Y2FjaGVfdHJlZS0+ZW50cnlfY291bnQgPCAwOwogCQkJaWYgKGNvbnRhaW5zX2l0YSkgewpAQCAtMzU0LDcgKzM1Myw5IEBACiAJCQllbnRsZW4gPSBwYXRobGVuIC0gYmFzZWxlbjsKIAkJCWkrKzsKIAkJfQotCQlpZiAobW9kZSAhPSBTX0lGR0lUTElOSyAmJiAhbWlzc2luZ19vayAmJiAhaGFzX3NoYTFfZmlsZShzaGExKSkgeworCisJCWlmIChpc19udWxsX3NoYTEoc2hhMSkgfHwKKwkJICAgIChtb2RlICE9IFNfSUZHSVRMSU5LICYmICFtaXNzaW5nX29rICYmICFoYXNfc2hhMV9maWxlKHNoYTEpKSkgewogCQkJc3RyYnVmX3JlbGVhc2UoJmJ1ZmZlcik7CiAJCQlpZiAoZXhwZWN0ZWRfbWlzc2luZykKIAkJCQlyZXR1cm4gLTE7CkBAIC00MDIsMTIgKzQwMywxMyBAQAogCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCQloYXNoX3NoYTFfZmlsZShidWZmZXIuYnVmLCBidWZmZXIubGVuLCB0cmVlX3R5cGUsIHNoYTEpOwogCQlpZiAoaGFzX3NoYTFfZmlsZShzaGExKSkKLQkJCWhhc2hjcHkoaXQtPnNoYTEsIHNoYTEpOworCQkJaGFzaGNweShpdC0+b2lkLmhhc2gsIHNoYTEpOwogCQllbHNlCiAJCQl0b19pbnZhbGlkYXRlID0gMTsKIAl9IGVsc2UgaWYgKGRyeXJ1bikKLQkJaGFzaF9zaGExX2ZpbGUoYnVmZmVyLmJ1ZiwgYnVmZmVyLmxlbiwgdHJlZV90eXBlLCBpdC0+c2hhMSk7Ci0JZWxzZSBpZiAod3JpdGVfc2hhMV9maWxlKGJ1ZmZlci5idWYsIGJ1ZmZlci5sZW4sIHRyZWVfdHlwZSwgaXQtPnNoYTEpKSB7CisJCWhhc2hfc2hhMV9maWxlKGJ1ZmZlci5idWYsIGJ1ZmZlci5sZW4sIHRyZWVfdHlwZSwKKwkJCSAgICAgICBpdC0+b2lkLmhhc2gpOworCWVsc2UgaWYgKHdyaXRlX3NoYTFfZmlsZShidWZmZXIuYnVmLCBidWZmZXIubGVuLCB0cmVlX3R5cGUsIGl0LT5vaWQuaGFzaCkpIHsKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1ZmZlcik7CiAJCXJldHVybiAtMTsKIAl9CkBAIC00MTcsNyArNDE5LDcgQEAKICNpZiBERUJVRwogCWZwcmludGYoc3RkZXJyLCAiY2FjaGUtdHJlZSB1cGRhdGUtb25lICglZCBlbnQsICVkIHN1YnRyZWUpICVzXG4iLAogCQlpdC0+ZW50cnlfY291bnQsIGl0LT5zdWJ0cmVlX25yLAotCQlzaGExX3RvX2hleChpdC0+c2hhMSkpOworCQlvaWRfdG9faGV4KCZpdC0+b2lkKSk7CiAjZW5kaWYKIAlyZXR1cm4gaTsKIH0KQEAgLTQ1NywxNCArNDU5LDE0IEBACiAJaWYgKDAgPD0gaXQtPmVudHJ5X2NvdW50KQogCQlmcHJpbnRmKHN0ZGVyciwgImNhY2hlLXRyZWUgPCUuKnM+ICglZCBlbnQsICVkIHN1YnRyZWUpICVzXG4iLAogCQkJcGF0aGxlbiwgcGF0aCwgaXQtPmVudHJ5X2NvdW50LCBpdC0+c3VidHJlZV9uciwKLQkJCXNoYTFfdG9faGV4KGl0LT5zaGExKSk7CisJCQlvaWRfdG9faGV4KCZpdC0+b2lkKSk7CiAJZWxzZQogCQlmcHJpbnRmKHN0ZGVyciwgImNhY2hlLXRyZWUgPCUuKnM+ICglZCBzdWJ0cmVlKSBpbnZhbGlkXG4iLAogCQkJcGF0aGxlbiwgcGF0aCwgaXQtPnN1YnRyZWVfbnIpOwogI2VuZGlmCiAKIAlpZiAoMCA8PSBpdC0+ZW50cnlfY291bnQpIHsKLQkJc3RyYnVmX2FkZChidWZmZXIsIGl0LT5zaGExLCAyMCk7CisJCXN0cmJ1Zl9hZGQoYnVmZmVyLCBpdC0+b2lkLmhhc2gsIDIwKTsKIAl9CiAJZm9yIChpID0gMDsgaSA8IGl0LT5zdWJ0cmVlX25yOyBpKyspIHsKIAkJc3RydWN0IGNhY2hlX3RyZWVfc3ViICpkb3duID0gaXQtPmRvd25baV07CkBAIC01MjEsNyArNTIzLDcgQEAKIAlpZiAoMCA8PSBpdC0+ZW50cnlfY291bnQpIHsKIAkJaWYgKHNpemUgPCAyMCkKIAkJCWdvdG8gZnJlZV9yZXR1cm47Ci0JCWhhc2hjcHkoaXQtPnNoYTEsIChjb25zdCB1bnNpZ25lZCBjaGFyKilidWYpOworCQloYXNoY3B5KGl0LT5vaWQuaGFzaCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIqKWJ1Zik7CiAJCWJ1ZiArPSAyMDsKIAkJc2l6ZSAtPSAyMDsKIAl9CkBAIC01MzAsNyArNTMyLDcgQEAKIAlpZiAoMCA8PSBpdC0+ZW50cnlfY291bnQpCiAJCWZwcmludGYoc3RkZXJyLCAiY2FjaGUtdHJlZSA8JXM+ICglZCBlbnQsICVkIHN1YnRyZWUpICVzXG4iLAogCQkJKmJ1ZmZlciwgaXQtPmVudHJ5X2NvdW50LCBzdWJ0cmVlX25yLAotCQkJc2hhMV90b19oZXgoaXQtPnNoYTEpKTsKKwkJCW9pZF90b19oZXgoJml0LT5vaWQpKTsKIAllbHNlCiAJCWZwcmludGYoc3RkZXJyLCAiY2FjaGUtdHJlZSA8JXM+ICglZCBzdWJ0cmVlcykgaW52YWxpZFxuIiwKIAkJCSpidWZmZXIsIHN1YnRyZWVfbnIpOwpAQCAtNjAxLDE5ICs2MDMsMTYgQEAKIGludCB3cml0ZV9pbmRleF9hc190cmVlKHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXhfc3RhdGUsIGNvbnN0IGNoYXIgKmluZGV4X3BhdGgsIGludCBmbGFncywgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCBlbnRyaWVzLCB3YXNfdmFsaWQsIG5ld2ZkOwotCXN0cnVjdCBsb2NrX2ZpbGUgKmxvY2tfZmlsZTsKKwlzdHJ1Y3QgbG9ja19maWxlIGxvY2tfZmlsZSA9IExPQ0tfSU5JVDsKKwlpbnQgcmV0ID0gMDsKIAotCS8qCi0JICogV2UgY2FuJ3QgZnJlZSB0aGlzIG1lbW9yeSwgaXQgYmVjb21lcyBwYXJ0IG9mIGEgbGlua2VkIGxpc3QKLQkgKiBwYXJzZWQgYXRleGl0KCkKLQkgKi8KLQlsb2NrX2ZpbGUgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbG9ja19maWxlKSk7Ci0KLQluZXdmZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUobG9ja19maWxlLCBpbmRleF9wYXRoLCBMT0NLX0RJRV9PTl9FUlJPUik7CisJbmV3ZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZsb2NrX2ZpbGUsIGluZGV4X3BhdGgsIExPQ0tfRElFX09OX0VSUk9SKTsKIAogCWVudHJpZXMgPSByZWFkX2luZGV4X2Zyb20oaW5kZXhfc3RhdGUsIGluZGV4X3BhdGgpOwotCWlmIChlbnRyaWVzIDwgMCkKLQkJcmV0dXJuIFdSSVRFX1RSRUVfVU5SRUFEQUJMRV9JTkRFWDsKKwlpZiAoZW50cmllcyA8IDApIHsKKwkJcmV0ID0gV1JJVEVfVFJFRV9VTlJFQURBQkxFX0lOREVYOworCQlnb3RvIG91dDsKKwl9CiAJaWYgKGZsYWdzICYgV1JJVEVfVFJFRV9JR05PUkVfQ0FDSEVfVFJFRSkKIAkJY2FjaGVfdHJlZV9mcmVlKCZpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZSk7CiAKQEAgLTYyMiwxMCArNjIxLDEyIEBACiAKIAl3YXNfdmFsaWQgPSBjYWNoZV90cmVlX2Z1bGx5X3ZhbGlkKGluZGV4X3N0YXRlLT5jYWNoZV90cmVlKTsKIAlpZiAoIXdhc192YWxpZCkgewotCQlpZiAoY2FjaGVfdHJlZV91cGRhdGUoaW5kZXhfc3RhdGUsIGZsYWdzKSA8IDApCi0JCQlyZXR1cm4gV1JJVEVfVFJFRV9VTk1FUkdFRF9JTkRFWDsKKwkJaWYgKGNhY2hlX3RyZWVfdXBkYXRlKGluZGV4X3N0YXRlLCBmbGFncykgPCAwKSB7CisJCQlyZXQgPSBXUklURV9UUkVFX1VOTUVSR0VEX0lOREVYOworCQkJZ290byBvdXQ7CisJCX0KIAkJaWYgKDAgPD0gbmV3ZmQpIHsKLQkJCWlmICghd3JpdGVfbG9ja2VkX2luZGV4KGluZGV4X3N0YXRlLCBsb2NrX2ZpbGUsIENPTU1JVF9MT0NLKSkKKwkJCWlmICghd3JpdGVfbG9ja2VkX2luZGV4KGluZGV4X3N0YXRlLCAmbG9ja19maWxlLCBDT01NSVRfTE9DSykpCiAJCQkJbmV3ZmQgPSAtMTsKIAkJfQogCQkvKiBOb3QgYmVpbmcgYWJsZSB0byB3cml0ZSBpcyBmaW5lIC0tIHdlIGFyZSBvbmx5IGludGVyZXN0ZWQKQEAgLTYzOSwxNyArNjQwLDE5IEBACiAJaWYgKHByZWZpeCkgewogCQlzdHJ1Y3QgY2FjaGVfdHJlZSAqc3VidHJlZTsKIAkJc3VidHJlZSA9IGNhY2hlX3RyZWVfZmluZChpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZSwgcHJlZml4KTsKLQkJaWYgKCFzdWJ0cmVlKQotCQkJcmV0dXJuIFdSSVRFX1RSRUVfUFJFRklYX0VSUk9SOwotCQloYXNoY3B5KHNoYTEsIHN1YnRyZWUtPnNoYTEpOworCQlpZiAoIXN1YnRyZWUpIHsKKwkJCXJldCA9IFdSSVRFX1RSRUVfUFJFRklYX0VSUk9SOworCQkJZ290byBvdXQ7CisJCX0KKwkJaGFzaGNweShzaGExLCBzdWJ0cmVlLT5vaWQuaGFzaCk7CiAJfQogCWVsc2UKLQkJaGFzaGNweShzaGExLCBpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZS0+c2hhMSk7CisJCWhhc2hjcHkoc2hhMSwgaW5kZXhfc3RhdGUtPmNhY2hlX3RyZWUtPm9pZC5oYXNoKTsKIAorb3V0OgogCWlmICgwIDw9IG5ld2ZkKQotCQlyb2xsYmFja19sb2NrX2ZpbGUobG9ja19maWxlKTsKLQotCXJldHVybiAwOworCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2tfZmlsZSk7CisJcmV0dXJuIHJldDsKIH0KIAogaW50IHdyaXRlX2NhY2hlX2FzX3RyZWUodW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGZsYWdzLCBjb25zdCBjaGFyICpwcmVmaXgpCkBAIC02NjMsNyArNjY2LDcgQEAKIAlzdHJ1Y3QgbmFtZV9lbnRyeSBlbnRyeTsKIAlpbnQgY250OwogCi0JaGFzaGNweShpdC0+c2hhMSwgdHJlZS0+b2JqZWN0Lm9pZC5oYXNoKTsKKwlvaWRjcHkoJml0LT5vaWQsICZ0cmVlLT5vYmplY3Qub2lkKTsKIAlpbml0X3RyZWVfZGVzYygmZGVzYywgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKTsKIAljbnQgPSAwOwogCXdoaWxlICh0cmVlX2VudHJ5KCZkZXNjLCAmZW50cnkpKSB7CkBAIC02NzEsNyArNjc0LDcgQEAKIAkJCWNudCsrOwogCQllbHNlIHsKIAkJCXN0cnVjdCBjYWNoZV90cmVlX3N1YiAqc3ViOwotCQkJc3RydWN0IHRyZWUgKnN1YnRyZWUgPSBsb29rdXBfdHJlZShlbnRyeS5vaWQtPmhhc2gpOworCQkJc3RydWN0IHRyZWUgKnN1YnRyZWUgPSBsb29rdXBfdHJlZShlbnRyeS5vaWQpOwogCQkJaWYgKCFzdWJ0cmVlLT5vYmplY3QucGFyc2VkKQogCQkJCXBhcnNlX3RyZWUoc3VidHJlZSk7CiAJCQlzdWIgPSBjYWNoZV90cmVlX3N1YihpdCwgZW50cnkucGF0aCk7CkBAIC03MTgsNyArNzIxLDcgQEAKIAogCWl0ID0gZmluZF9jYWNoZV90cmVlX2Zyb21fdHJhdmVyc2FsKHJvb3QsIGluZm8pOwogCWl0ID0gY2FjaGVfdHJlZV9maW5kKGl0LCBlbnQtPnBhdGgpOwotCWlmIChpdCAmJiBpdC0+ZW50cnlfY291bnQgPiAwICYmICFoYXNoY21wKGVudC0+b2lkLT5oYXNoLCBpdC0+c2hhMSkpCisJaWYgKGl0ICYmIGl0LT5lbnRyeV9jb3VudCA+IDAgJiYgIW9pZGNtcChlbnQtPm9pZCwgJml0LT5vaWQpKQogCQlyZXR1cm4gaXQtPmVudHJ5X2NvdW50OwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvY2FjaGUtdHJlZS5oIGIvY2FjaGUtdHJlZS5oCmluZGV4IDQxYzU3NDYuLmY3YjljYWIgMTAwNjQ0Ci0tLSBhL2NhY2hlLXRyZWUuaAorKysgYi9jYWNoZS10cmVlLmgKQEAgLTEsNiArMSw3IEBACiAjaWZuZGVmIENBQ0hFX1RSRUVfSAogI2RlZmluZSBDQUNIRV9UUkVFX0gKIAorI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAidHJlZS5oIgogI2luY2x1ZGUgInRyZWUtd2Fsay5oIgogCkBAIC0xNSw3ICsxNiw3IEBACiAKIHN0cnVjdCBjYWNoZV90cmVlIHsKIAlpbnQgZW50cnlfY291bnQ7IC8qIG5lZ2F0aXZlIG1lYW5zICJpbnZhbGlkIiAqLwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJaW50IHN1YnRyZWVfbnI7CiAJaW50IHN1YnRyZWVfYWxsb2M7CiAJc3RydWN0IGNhY2hlX3RyZWVfc3ViICoqZG93bjsKZGlmZiAtLWdpdCBhL2NhY2hlLmggYi9jYWNoZS5oCmluZGV4IDFjNDY4NmEuLjY0NDBlMmIgMTAwNjQ0Ci0tLSBhL2NhY2hlLmgKKysrIGIvY2FjaGUuaApAQCAtNCwxNCArNCwxNyBAQAogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgogI2luY2x1ZGUgImhhc2htYXAuaCIKKyNpbmNsdWRlICJtcnUuaCIKICNpbmNsdWRlICJhZHZpY2UuaCIKICNpbmNsdWRlICJnZXR0ZXh0LmgiCiAjaW5jbHVkZSAiY29udmVydC5oIgogI2luY2x1ZGUgInRyYWNlLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJwYWNrLXJldmluZGV4LmgiCisjaW5jbHVkZSAiaGFzaC5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJzaGExLWFycmF5LmgiCiAKLSNpbmNsdWRlIFNIQTFfSEVBREVSCiAjaWZuZGVmIHBsYXRmb3JtX1NIQV9DVFgKIC8qCiAgKiBwbGF0Zm9ybSdzIHVuZGVybHlpbmcgaW1wbGVtZW50YXRpb24gb2YgU0hBLTE7IGNvdWxkIGJlIE9wZW5TU0wsCkBAIC02Niw4ICs2OSwxMiBAQAogI2RlZmluZSBHSVRfU0hBMV9SQVdTWiAyMAogI2RlZmluZSBHSVRfU0hBMV9IRVhTWiAoMiAqIEdJVF9TSEExX1JBV1NaKQogCisvKiBUaGUgbGVuZ3RoIGluIGJ5dGUgYW5kIGluIGhleCBkaWdpdHMgb2YgdGhlIGxhcmdlc3QgcG9zc2libGUgaGFzaCB2YWx1ZS4gKi8KKyNkZWZpbmUgR0lUX01BWF9SQVdTWiBHSVRfU0hBMV9SQVdTWgorI2RlZmluZSBHSVRfTUFYX0hFWFNaIEdJVF9TSEExX0hFWFNaCisKIHN0cnVjdCBvYmplY3RfaWQgewotCXVuc2lnbmVkIGNoYXIgaGFzaFtHSVRfU0hBMV9SQVdTWl07CisJdW5zaWduZWQgY2hhciBoYXNoW0dJVF9NQVhfUkFXU1pdOwogfTsKIAogI2lmIGRlZmluZWQoRFRfVU5LTk9XTikgJiYgIWRlZmluZWQoTk9fRF9UWVBFX0lOX0RJUkVOVCkKQEAgLTM0Myw2ICszNTAsNyBAQAogZXh0ZXJuIHN0cnVjdCBpbmRleF9zdGF0ZSB0aGVfaW5kZXg7CiAKIC8qIE5hbWUgaGFzaGluZyAqLworZXh0ZXJuIGludCB0ZXN0X2xhenlfaW5pdF9uYW1lX2hhc2goc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGludCB0cnlfdGhyZWFkZWQpOwogZXh0ZXJuIHZvaWQgYWRkX25hbWVfaGFzaChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSk7CiBleHRlcm4gdm9pZCByZW1vdmVfbmFtZV9oYXNoKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKTsKIGV4dGVybiB2b2lkIGZyZWVfbmFtZV9oYXNoKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKQEAgLTQyNSw2ICs0MzMsNyBAQAogI2RlZmluZSBHSVRBVFRSSUJVVEVTX0ZJTEUgIi5naXRhdHRyaWJ1dGVzIgogI2RlZmluZSBJTkZPQVRUUklCVVRFU19GSUxFICJpbmZvL2F0dHJpYnV0ZXMiCiAjZGVmaW5lIEFUVFJJQlVURV9NQUNST19QUkVGSVggIlthdHRyXSIKKyNkZWZpbmUgR0lUTU9EVUxFU19GSUxFICIuZ2l0bW9kdWxlcyIKICNkZWZpbmUgR0lUX05PVEVTX1JFRl9FTlZJUk9OTUVOVCAiR0lUX05PVEVTX1JFRiIKICNkZWZpbmUgR0lUX05PVEVTX0RFRkFVTFRfUkVGICJyZWZzL25vdGVzL2NvbW1pdHMiCiAjZGVmaW5lIEdJVF9OT1RFU19ESVNQTEFZX1JFRl9FTlZJUk9OTUVOVCAiR0lUX05PVEVTX0RJU1BMQVlfUkVGIgpAQCAtNDM1LDYgKzQ0NCw3IEBACiAjZGVmaW5lIEdJVF9OT0dMT0JfUEFUSFNQRUNTX0VOVklST05NRU5UICJHSVRfTk9HTE9CX1BBVEhTUEVDUyIKICNkZWZpbmUgR0lUX0lDQVNFX1BBVEhTUEVDU19FTlZJUk9OTUVOVCAiR0lUX0lDQVNFX1BBVEhTUEVDUyIKICNkZWZpbmUgR0lUX1FVQVJBTlRJTkVfRU5WSVJPTk1FTlQgIkdJVF9RVUFSQU5USU5FX1BBVEgiCisjZGVmaW5lIEdJVF9PUFRJT05BTF9MT0NLU19FTlZJUk9OTUVOVCAiR0lUX09QVElPTkFMX0xPQ0tTIgogCiAvKgogICogVGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBleHBlY3RlZCB0byBjb250YWluIGEgYm9vbGVhbiBpbmRpY2F0aW5nCkBAIC00NTYsNiArNDY2LDggQEAKICAqLwogZXh0ZXJuIGNvbnN0IGNoYXIgKiBjb25zdCBsb2NhbF9yZXBvX2VudltdOwogCitleHRlcm4gdm9pZCBzZXR1cF9naXRfZW52KHZvaWQpOworCiAvKgogICogUmV0dXJucyB0cnVlIGlmZiB3ZSBoYXZlIGEgY29uZmlndXJlZCBnaXQgcmVwb3NpdG9yeSAoZWl0aGVyIHZpYQogICogc2V0dXBfZ2l0X2RpcmVjdG9yeSwgb3IgaW4gdGhlIGVudmlyb25tZW50IHZpYSAkR0lUX0RJUikuCkBAIC01MTgsMTEgKzUzMCwzMyBAQAogI2RlZmluZSBBTFRFUk5BVEVfREJfRU5WSVJPTk1FTlQgIkdJVF9BTFRFUk5BVEVfT0JKRUNUX0RJUkVDVE9SSUVTIgogCiBleHRlcm4gdm9pZCBzZXR1cF93b3JrX3RyZWUodm9pZCk7CisvKgorICogRmluZCB0aGUgY29tbW9uZGlyIGFuZCBnaXRkaXIgb2YgdGhlIHJlcG9zaXRvcnkgdGhhdCBjb250YWlucyB0aGUgY3VycmVudAorICogd29ya2luZyBkaXJlY3RvcnksIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IG9yIG90aGVyIGdsb2JhbAorICogc3RhdGUuIFRoZSByZXN1bHQgaXMgYXBwZW5kZWQgdG8gY29tbW9uZGlyIGFuZCBnaXRkaXIuICBJZiB0aGUgZGlzY292ZXJlZAorICogZ2l0ZGlyIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYSB3b3JrdHJlZSwgdGhlbiAnY29tbW9uZGlyJyBhbmQgJ2dpdGRpcicgd2lsbAorICogYm90aCBoYXZlIHRoZSBzYW1lIHJlc3VsdCBhcHBlbmRlZCB0byB0aGUgYnVmZmVyLiAgVGhlIHJldHVybiB2YWx1ZSBpcworICogZWl0aGVyIDAgdXBvbiBzdWNjZXNzIGFuZCBub24temVybyBpZiBubyByZXBvc2l0b3J5IHdhcyBmb3VuZC4KKyAqLworZXh0ZXJuIGludCBkaXNjb3Zlcl9naXRfZGlyZWN0b3J5KHN0cnVjdCBzdHJidWYgKmNvbW1vbmRpciwKKwkJCQkgIHN0cnVjdCBzdHJidWYgKmdpdGRpcik7CiBleHRlcm4gY29uc3QgY2hhciAqc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHkoaW50ICopOwogZXh0ZXJuIGNvbnN0IGNoYXIgKnNldHVwX2dpdF9kaXJlY3Rvcnkodm9pZCk7CiBleHRlcm4gY2hhciAqcHJlZml4X3BhdGgoY29uc3QgY2hhciAqcHJlZml4LCBpbnQgbGVuLCBjb25zdCBjaGFyICpwYXRoKTsKIGV4dGVybiBjaGFyICpwcmVmaXhfcGF0aF9nZW50bHkoY29uc3QgY2hhciAqcHJlZml4LCBpbnQgbGVuLCBpbnQgKnJlbWFpbmluZywgY29uc3QgY2hhciAqcGF0aCk7Ci1leHRlcm4gY29uc3QgY2hhciAqcHJlZml4X2ZpbGVuYW1lKGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGxlbiwgY29uc3QgY2hhciAqcGF0aCk7CisKKy8qCisgKiBDb25jYXRlbmF0ZSAicHJlZml4IiAoaWYgbGVuIGlzIG5vbi16ZXJvKSBhbmQgInBhdGgiLCB3aXRoIG5vCisgKiBjb25uZWN0aW5nIGNoYXJhY3RlcnMgKHNvICJwcmVmaXgiIHNob3VsZCBlbmQgd2l0aCBhICIvIikuCisgKiBVbmxpa2UgcHJlZml4X3BhdGgsIHRoaXMgc2hvdWxkIGJlIHVzZWQgaWYgdGhlIG5hbWVkIGZpbGUgZG9lcworICogbm90IGhhdmUgdG8gaW50ZXJhY3Qgd2l0aCBpbmRleCBlbnRyeTsgaS5lLiBuYW1lIG9mIGEgcmFuZG9tIGZpbGUKKyAqIG9uIHRoZSBmaWxlc3lzdGVtLgorICoKKyAqIFRoZSByZXR1cm4gdmFsdWUgaXMgYWx3YXlzIGEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyAoZXZlbiBpZiB0aGUKKyAqIHByZWZpeCB3YXMgZW1wdHkpLgorICovCitleHRlcm4gY2hhciAqcHJlZml4X2ZpbGVuYW1lKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqcGF0aCk7CisKIGV4dGVybiBpbnQgY2hlY2tfZmlsZW5hbWUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpuYW1lKTsKIGV4dGVybiB2b2lkIHZlcmlmeV9maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkgICAgY29uc3QgY2hhciAqbmFtZSwKQEAgLTU3Miw4ICs2MDYsMTAgQEAKICNkZWZpbmUgQ0xPU0VfTE9DSwkJKDEgPDwgMSkKIGV4dGVybiBpbnQgd3JpdGVfbG9ja2VkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgbG9ja19maWxlICpsb2NrLCB1bnNpZ25lZCBmbGFncyk7CiBleHRlcm4gaW50IGRpc2NhcmRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICopOworZXh0ZXJuIHZvaWQgbW92ZV9pbmRleF9leHRlbnNpb25zKHN0cnVjdCBpbmRleF9zdGF0ZSAqZHN0LCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKnNyYyk7CiBleHRlcm4gaW50IHVubWVyZ2VkX2luZGV4KGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKIGV4dGVybiBpbnQgdmVyaWZ5X3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gaW50IHN0cmNtcF9vZmZzZXQoY29uc3QgY2hhciAqczEsIGNvbnN0IGNoYXIgKnMyLCBzaXplX3QgKmZpcnN0X2NoYW5nZSk7CiBleHRlcm4gaW50IGluZGV4X2Rpcl9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuKTsKIGV4dGVybiB2b2lkIGFkanVzdF9kaXJuYW1lX2Nhc2Uoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNoYXIgKm5hbWUpOwogZXh0ZXJuIHN0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfZmlsZV9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgaWduY2FzZSk7CkBAIC02NTAsOCArNjg2LDggQEAKIAogI2RlZmluZSBIQVNIX1dSSVRFX09CSkVDVCAxCiAjZGVmaW5lIEhBU0hfRk9STUFUX0NIRUNLIDIKLWV4dGVybiBpbnQgaW5kZXhfZmQodW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGZkLCBzdHJ1Y3Qgc3RhdCAqc3QsIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwgY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgZmxhZ3MpOwotZXh0ZXJuIGludCBpbmRleF9wYXRoKHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpzdCwgdW5zaWduZWQgZmxhZ3MpOworZXh0ZXJuIGludCBpbmRleF9mZChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmZCwgc3RydWN0IHN0YXQgKnN0LCBlbnVtIG9iamVjdF90eXBlIHR5cGUsIGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGZsYWdzKTsKK2V4dGVybiBpbnQgaW5kZXhfcGF0aChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpzdCwgdW5zaWduZWQgZmxhZ3MpOwogCiAvKgogICogUmVjb3JkIHRvIHNkIHRoZSBkYXRhIGZyb20gc3QgdGhhdCB3ZSB1c2UgdG8gY2hlY2sgd2hldGhlciBhIGZpbGUKQEAgLTY4NSw2ICs3MjEsOCBAQAogZXh0ZXJuIGludCBob2xkX2xvY2tlZF9pbmRleChzdHJ1Y3QgbG9ja19maWxlICosIGludCk7CiBleHRlcm4gdm9pZCBzZXRfYWx0ZXJuYXRlX2luZGV4X291dHB1dChjb25zdCBjaGFyICopOwogCitleHRlcm4gaW50IHZlcmlmeV9pbmRleF9jaGVja3N1bTsKKwogLyogRW52aXJvbm1lbnQgYml0cyBmcm9tIGNvbmZpZ3VyYXRpb24gbWVjaGFuaXNtICovCiBleHRlcm4gaW50IHRydXN0X2V4ZWN1dGFibGVfYml0OwogZXh0ZXJuIGludCB0cnVzdF9jdGltZTsKQEAgLTczNyw3ICs3NzUsNiBAQAogZXh0ZXJuIGludCBwcmVjb21wb3NlZF91bmljb2RlOwogZXh0ZXJuIGludCBwcm90ZWN0X2hmczsKIGV4dGVybiBpbnQgcHJvdGVjdF9udGZzOwotZXh0ZXJuIGludCBnaXRfZGJfZW52LCBnaXRfaW5kZXhfZW52LCBnaXRfZ3JhZnRfZW52LCBnaXRfY29tbW9uX2Rpcl9lbnY7CiAKIC8qCiAgKiBJbmNsdWRlIGJyb2tlbiByZWZzIGluIGFsbCByZWYgaXRlcmF0aW9ucywgd2hpY2ggd2lsbApAQCAtNzQ4LDYgKzc4NSwxMSBAQAogZXh0ZXJuIGludCByZWZfcGFyYW5vaWE7CiAKIC8qCisgKiBSZXR1cm5zIHRoZSBib29sZWFuIHZhbHVlIG9mICRHSVRfT1BUSU9OQUxfTE9DS1MgKG9yIHRoZSBkZWZhdWx0IHZhbHVlKS4KKyAqLworaW50IHVzZV9vcHRpb25hbF9sb2Nrcyh2b2lkKTsKKworLyoKICAqIFRoZSBjaGFyYWN0ZXIgdGhhdCBiZWdpbnMgYSBjb21tZW50ZWQgbGluZSBpbiB1c2VyLWVkaXRhYmxlIGZpbGUKICAqIHRoYXQgaXMgc3ViamVjdCB0byBzdHJpcHNwYWNlLgogICovCkBAIC04NjAsNjQgKzkwMiw2IEBACiAjZGVmaW5lIFRZUEVfQ0hBTkdFRCAgICAweDAwNDAKIAogLyoKLSAqIFJldHVybiBhIHN0YXRpY2FsbHkgYWxsb2NhdGVkIGZpbGVuYW1lLCBlaXRoZXIgZ2VuZXJpY2FsbHkgKG1rcGF0aCksIGluCi0gKiB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkgKGdpdF9wYXRoKSwgb3IgaW4gYSBzdWJtb2R1bGUncyByZXBvc2l0b3J5Ci0gKiBkaXJlY3RvcnkgKGdpdF9wYXRoX3N1Ym1vZHVsZSkuIEluIGFsbCBjYXNlcywgbm90ZSB0aGF0IHRoZSByZXN1bHQKLSAqIG1heSBiZSBvdmVyd3JpdHRlbiBieSBhbm90aGVyIGNhbGwgdG8gX2FueV8gb2YgdGhlIGZ1bmN0aW9ucy4gQ29uc2lkZXIKLSAqIHVzaW5nIHRoZSBzYWZlciAiZHVwIiBvciAic3RyYnVmIiBmb3JtYXRzIGJlbG93IChpbiBzb21lIGNhc2VzLCB0aGUKLSAqIHVuc2FmZSB2ZXJzaW9ucyBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkKS4KLSAqLwotZXh0ZXJuIGNvbnN0IGNoYXIgKm1rcGF0aChjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7Ci1leHRlcm4gY29uc3QgY2hhciAqZ2l0X3BhdGgoY29uc3QgY2hhciAqZm10LCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwotZXh0ZXJuIGNvbnN0IGNoYXIgKmdpdF9jb21tb25fcGF0aChjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7Ci0KLWV4dGVybiBjaGFyICpta3NucGF0aChjaGFyICpidWYsIHNpemVfdCBuLCBjb25zdCBjaGFyICpmbXQsIC4uLikKLQlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMywgNCkpKTsKLWV4dGVybiB2b2lkIHN0cmJ1Zl9naXRfcGF0aChzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqZm10LCAuLi4pCi0JX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7Ci1leHRlcm4gdm9pZCBzdHJidWZfZ2l0X2NvbW1vbl9wYXRoKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpmbXQsIC4uLikKLQlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKLWV4dGVybiBjaGFyICpnaXRfcGF0aF9idWYoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBjaGFyICpmbXQsIC4uLikKLQlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKLWV4dGVybiBpbnQgc3RyYnVmX2dpdF9wYXRoX3N1Ym1vZHVsZShzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqcGF0aCwKLQkJCQkgICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpOwotZXh0ZXJuIGNoYXIgKmdpdF9wYXRoZHVwKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwotZXh0ZXJuIGNoYXIgKm1rcGF0aGR1cChjb25zdCBjaGFyICpmbXQsIC4uLikKLQlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKLWV4dGVybiBjaGFyICpnaXRfcGF0aGR1cF9zdWJtb2R1bGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZm10LCAuLi4pCi0JX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7Ci0KLWV4dGVybiB2b2lkIHJlcG9ydF9saW5rZWRfY2hlY2tvdXRfZ2FyYmFnZSh2b2lkKTsKLQotLyoKLSAqIFlvdSBjYW4gZGVmaW5lIGEgc3RhdGljIG1lbW9pemVkIGdpdCBwYXRoIGxpa2U6Ci0gKgotICogICAgc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfZm9vLCAiRk9PIik7Ci0gKgotICogb3IgdXNlIG9uZSBvZiB0aGUgZ2xvYmFsIG9uZXMgYmVsb3cuCi0gKi8KLSNkZWZpbmUgR0lUX1BBVEhfRlVOQyhmdW5jLCBmaWxlbmFtZSkgXAotCWNvbnN0IGNoYXIgKmZ1bmModm9pZCkgXAotCXsgXAotCQlzdGF0aWMgY2hhciAqcmV0OyBcCi0JCWlmICghcmV0KSBcCi0JCQlyZXQgPSBnaXRfcGF0aGR1cChmaWxlbmFtZSk7IFwKLQkJcmV0dXJuIHJldDsgXAotCX0KLQotY29uc3QgY2hhciAqZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCh2b2lkKTsKLWNvbnN0IGNoYXIgKmdpdF9wYXRoX3JldmVydF9oZWFkKHZvaWQpOwotY29uc3QgY2hhciAqZ2l0X3BhdGhfc3F1YXNoX21zZyh2b2lkKTsKLWNvbnN0IGNoYXIgKmdpdF9wYXRoX21lcmdlX21zZyh2b2lkKTsKLWNvbnN0IGNoYXIgKmdpdF9wYXRoX21lcmdlX3JyKHZvaWQpOwotY29uc3QgY2hhciAqZ2l0X3BhdGhfbWVyZ2VfbW9kZSh2b2lkKTsKLWNvbnN0IGNoYXIgKmdpdF9wYXRoX21lcmdlX2hlYWQodm9pZCk7Ci1jb25zdCBjaGFyICpnaXRfcGF0aF9mZXRjaF9oZWFkKHZvaWQpOwotY29uc3QgY2hhciAqZ2l0X3BhdGhfc2hhbGxvdyh2b2lkKTsKLQotLyoKICAqIFJldHVybiB0aGUgbmFtZSBvZiB0aGUgZmlsZSBpbiB0aGUgbG9jYWwgb2JqZWN0IGRhdGFiYXNlIHRoYXQgd291bGQKICAqIGJlIHVzZWQgdG8gc3RvcmUgYSBsb29zZSBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIHNoYTEuICBUaGUKICAqIHJldHVybiB2YWx1ZSBpcyBhIHBvaW50ZXIgdG8gYSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBidWZmZXIgdGhhdCBpcwpAQCAtOTI2LDIwICs5MTAsNiBAQAogZXh0ZXJuIGNvbnN0IGNoYXIgKnNoYTFfZmlsZV9uYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogCiAvKgotICogUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSAobG9jYWwpIHBhY2tmaWxlIHdpdGggdGhlIHNwZWNpZmllZCBzaGExIGluCi0gKiBpdHMgbmFtZS4gIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBwb2ludGVyIHRvIG1lbW9yeSB0aGF0IGlzCi0gKiBvdmVyd3JpdHRlbiBlYWNoIHRpbWUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuCi0gKi8KLWV4dGVybiBjaGFyICpzaGExX3BhY2tfbmFtZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKLQotLyoKLSAqIFJldHVybiB0aGUgbmFtZSBvZiB0aGUgKGxvY2FsKSBwYWNrIGluZGV4IGZpbGUgd2l0aCB0aGUgc3BlY2lmaWVkCi0gKiBzaGExIGluIGl0cyBuYW1lLiAgVGhlIHJldHVybiB2YWx1ZSBpcyBhIHBvaW50ZXIgdG8gbWVtb3J5IHRoYXQgaXMKLSAqIG92ZXJ3cml0dGVuIGVhY2ggdGltZSB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZC4KLSAqLwotZXh0ZXJuIGNoYXIgKnNoYTFfcGFja19pbmRleF9uYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwotCi0vKgogICogUmV0dXJuIGFuIGFiYnJldmlhdGVkIHNoYTEgdW5pcXVlIHdpdGhpbiB0aGlzIHJlcG9zaXRvcnkncyBvYmplY3QgZGF0YWJhc2UuCiAgKiBUaGUgcmVzdWx0IHdpbGwgYmUgYXQgbGVhc3QgYGxlbmAgY2hhcmFjdGVycyBsb25nLCBhbmQgd2lsbCBiZSBOVUwKICAqIHRlcm1pbmF0ZWQuCkBAIC05NTcsMTkgKzkyNywxMiBAQAogZXh0ZXJuIGNvbnN0IGNoYXIgKmZpbmRfdW5pcXVlX2FiYnJldihjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgbGVuKTsKIGV4dGVybiBpbnQgZmluZF91bmlxdWVfYWJicmV2X3IoY2hhciAqaGV4LCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgbGVuKTsKIAotZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgbnVsbF9zaGExW0dJVF9TSEExX1JBV1NaXTsKK2V4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIG51bGxfc2hhMVtHSVRfTUFYX1JBV1NaXTsKIGV4dGVybiBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkIG51bGxfb2lkOwogCiBzdGF0aWMgaW5saW5lIGludCBoYXNoY21wKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTIpCiB7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgR0lUX1NIQTFfUkFXU1o7IGkrKywgc2hhMSsrLCBzaGEyKyspIHsKLQkJaWYgKCpzaGExICE9ICpzaGEyKQotCQkJcmV0dXJuICpzaGExIC0gKnNoYTI7Ci0JfQotCi0JcmV0dXJuIDA7CisJcmV0dXJuIG1lbWNtcChzaGExLCBzaGEyLCBHSVRfU0hBMV9SQVdTWik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IG9pZGNtcChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQxLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQyKQpAQCAtOTk3LDYgKzk2MCwxMyBAQAogCWhhc2hjcHkoZHN0LT5oYXNoLCBzcmMtPmhhc2gpOwogfQogCitzdGF0aWMgaW5saW5lIHN0cnVjdCBvYmplY3RfaWQgKm9pZGR1cChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpzcmMpCit7CisJc3RydWN0IG9iamVjdF9pZCAqZHN0ID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IG9iamVjdF9pZCkpOworCW9pZGNweShkc3QsIHNyYyk7CisJcmV0dXJuIGRzdDsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIGhhc2hjbHIodW5zaWduZWQgY2hhciAqaGFzaCkKIHsKIAltZW1zZXQoaGFzaCwgMCwgR0lUX1NIQTFfUkFXU1opOwpAQCAtMTA2OSw4ICsxMDM5LDkgQEAKIAogLyoKICAqIENyZWF0ZSB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIG5hbWVkIHBhdGgsIHVzaW5nIGNhcmUgdG8gYmUKLSAqIHNvbWV3aGF0IHNhZmUgYWdhaW5zdCByYWNlcy4gIFJldHVybiBvbmUgb2YgdGhlIHNjbGRfZXJyb3IgdmFsdWVzCi0gKiB0byBpbmRpY2F0ZSBzdWNjZXNzL2ZhaWx1cmUuCisgKiBzb21ld2hhdCBzYWZlIGFnYWluc3QgcmFjZXMuIFJldHVybiBvbmUgb2YgdGhlIHNjbGRfZXJyb3IgdmFsdWVzIHRvCisgKiBpbmRpY2F0ZSBzdWNjZXNzL2ZhaWx1cmUuIE9uIGVycm9yLCBzZXQgZXJybm8gdG8gZGVzY3JpYmUgdGhlCisgKiBwcm9ibGVtLgogICoKICAqIFNDTERfVkFOSVNIRUQgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZSBhbmNlc3RvciBkaXJlY3RvcmllcyBvZiB0aGUKICAqIHBhdGggZXhpc3RlZCBhdCBvbmUgcG9pbnQgZHVyaW5nIHRoZSBmdW5jdGlvbiBjYWxsIGFuZCB0aGVuCkBAIC0xMDk0LDggKzEwNjUsNTEgQEAKIGVudW0gc2NsZF9lcnJvciBzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKGNoYXIgKnBhdGgpOwogZW51bSBzY2xkX2Vycm9yIHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QoY29uc3QgY2hhciAqcGF0aCk7CiAKKy8qCisgKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgcmFjZXByb29mX2NyZWF0ZV9maWxlKCkuIFRoaXMgZnVuY3Rpb24gaXMKKyAqIGV4cGVjdGVkIHRvIGRvIHNvbWV0aGluZyB0aGF0IG1ha2VzIGRpcm5hbWUocGF0aCkgcGVybWFuZW50IGRlc3BpdGUKKyAqIHRoZSBmYWN0IHRoYXQgb3RoZXIgcHJvY2Vzc2VzIG1pZ2h0IGJlIGNsZWFuaW5nIHVwIGVtcHR5CisgKiBkaXJlY3RvcmllcyBhdCB0aGUgc2FtZSB0aW1lLiBVc3VhbGx5IGl0IHdpbGwgY3JlYXRlIGEgZmlsZSBuYW1lZAorICogcGF0aCwgYnV0IGFsdGVybmF0aXZlbHkgaXQgY291bGQgY3JlYXRlIGFub3RoZXIgZmlsZSBpbiB0aGF0CisgKiBkaXJlY3RvcnksIG9yIGV2ZW4gY2hkaXIoKSBpbnRvIHRoYXQgZGlyZWN0b3J5LiBUaGUgZnVuY3Rpb24gc2hvdWxkCisgKiByZXR1cm4gMCBpZiB0aGUgYWN0aW9uIHdhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiBPbiBlcnJvciwgaXQKKyAqIHNob3VsZCByZXR1cm4gYSBub256ZXJvIHJlc3VsdCBhbmQgc2V0IGVycm5vLgorICogcmFjZXByb29mX2NyZWF0ZV9maWxlKCkgdHJlYXRzIHR3byBlcnJubyB2YWx1ZXMgc3BlY2lhbGx5OgorICoKKyAqIC0gRU5PRU5UIC0tIGRpcm5hbWUocGF0aCkgZG9lcyBub3QgZXhpc3QuIEluIHRoaXMgY2FzZSwKKyAqICAgICAgICAgICAgIHJhY2Vwcm9vZl9jcmVhdGVfZmlsZSgpIHRyaWVzIGNyZWF0aW5nIGRpcm5hbWUocGF0aCkKKyAqICAgICAgICAgICAgIChhbmQgYW55IHBhcmVudCBkaXJlY3RvcmllcywgaWYgbmVjZXNzYXJ5KSBhbmQgY2FsbHMKKyAqICAgICAgICAgICAgIHRoZSBmdW5jdGlvbiBhZ2Fpbi4KKyAqCisgKiAtIEVJU0RJUiAtLSB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgYSBkaXJlY3RvcnkuIEluIHRoaXMKKyAqICAgICAgICAgICAgIGNhc2UsIHJhY2Vwcm9vZl9jcmVhdGVfZmlsZSgpIHJlbW92ZXMgdGhlIGRpcmVjdG9yeSBpZgorICogICAgICAgICAgICAgaXQgaXMgZW1wdHkgKGFuZCByZWN1cnNpdmVseSBhbnkgZW1wdHkgZGlyZWN0b3JpZXMgdGhhdAorICogICAgICAgICAgICAgaXQgY29udGFpbnMpIGFuZCBjYWxscyB0aGUgZnVuY3Rpb24gYWdhaW4uCisgKgorICogQW55IG90aGVyIGVycm5vIGNhdXNlcyByYWNlcHJvb2ZfY3JlYXRlX2ZpbGUoKSB0byBmYWlsIHdpdGggdGhlCisgKiBjYWxsYmFjaydzIHJldHVybiB2YWx1ZSBhbmQgZXJybm8uCisgKgorICogT2J2aW91c2x5LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBPSyB3aXRoIGJlaW5nIGNhbGxlZCBhZ2FpbiBpZiBpdAorICogZmFpbHMgd2l0aCBFTk9FTlQgb3IgRUlTRElSLiBJbiBvdGhlciBzY2VuYXJpb3MgaXQgd2lsbCBub3QgYmUKKyAqIGNhbGxlZCBhZ2Fpbi4KKyAqLwordHlwZWRlZiBpbnQgY3JlYXRlX2ZpbGVfZm4oY29uc3QgY2hhciAqcGF0aCwgdm9pZCAqY2IpOworCisvKgorICogQ3JlYXRlIGEgZmlsZSBpbiBkaXJuYW1lKHBhdGgpIGJ5IGNhbGxpbmcgZm4sIGNyZWF0aW5nIGxlYWRpbmcKKyAqIGRpcmVjdG9yaWVzIGlmIG5lY2Vzc2FyeS4gUmV0cnkgYSBmZXcgdGltZXMgaW4gY2FzZSB3ZSBhcmUgcmFjaW5nCisgKiB3aXRoIGFub3RoZXIgcHJvY2VzcyB0aGF0IGlzIHRyeWluZyB0byBjbGVhbiB1cCB0aGUgZGlyZWN0b3J5IHRoYXQKKyAqIGNvbnRhaW5zIHBhdGguIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgY3JlYXRlX2ZpbGVfZm4gZm9yIG1vcmUKKyAqIGRldGFpbHMuCisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBhbmQgc2V0IHRoZSBlcnJubyB0aGF0IHJlc3VsdGVkIGZyb20gdGhlIG1vc3QKKyAqIHJlY2VudCBjYWxsIG9mIGZuLiBmbiBpcyBhbHdheXMgY2FsbGVkIGF0IGxlYXN0IG9uY2UsIGFuZCB3aWxsIGJlCisgKiBjYWxsZWQgbW9yZSB0aGFuIG9uY2UgaWYgaXQgcmV0dXJucyBFTk9FTlQgb3IgRUlTRElSLgorICovCitpbnQgcmFjZXByb29mX2NyZWF0ZV9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNyZWF0ZV9maWxlX2ZuIGZuLCB2b2lkICpjYik7CisKIGludCBta2Rpcl9pbl9naXRkaXIoY29uc3QgY2hhciAqcGF0aCk7Ci1leHRlcm4gY2hhciAqZXhwYW5kX3VzZXJfcGF0aChjb25zdCBjaGFyICpwYXRoKTsKK2V4dGVybiBjaGFyICpleHBhbmRfdXNlcl9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIGludCByZWFsX2hvbWUpOwogY29uc3QgY2hhciAqZW50ZXJfcmVwbyhjb25zdCBjaGFyICpwYXRoLCBpbnQgc3RyaWN0KTsKIHN0YXRpYyBpbmxpbmUgaW50IGlzX2Fic29sdXRlX3BhdGgoY29uc3QgY2hhciAqcGF0aCkKIHsKQEAgLTExMzMsMTMgKzExNDcsMTkgQEAKICAqLwogZXh0ZXJuIGNoYXIgKnhkZ19jb25maWdfaG9tZShjb25zdCBjaGFyICpmaWxlbmFtZSk7CiAKLS8qIG9iamVjdCByZXBsYWNlbWVudCAqLwotI2RlZmluZSBMT09LVVBfUkVQTEFDRV9PQkpFQ1QgMQotI2RlZmluZSBMT09LVVBfVU5LTk9XTl9PQkpFQ1QgMgotZXh0ZXJuIHZvaWQgKnJlYWRfc2hhMV9maWxlX2V4dGVuZGVkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemUsIHVuc2lnbmVkIGZsYWcpOworLyoqCisgKiBSZXR1cm4gYSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIGV2YWx1YXRpb24gb2YKKyAqICIkWERHX0NBQ0hFX0hPTUUvZ2l0LyRmaWxlbmFtZSIgaWYgJFhER19DQUNIRV9IT01FIGlzIG5vbi1lbXB0eSwgb3RoZXJ3aXNlCisgKiAiJEhPTUUvLmNhY2hlL2dpdC8kZmlsZW5hbWUiLiBSZXR1cm4gTlVMTCB1cG9uIGVycm9yLgorICovCitleHRlcm4gY2hhciAqeGRnX2NhY2hlX2hvbWUoY29uc3QgY2hhciAqZmlsZW5hbWUpOworCitleHRlcm4gdm9pZCAqcmVhZF9zaGExX2ZpbGVfZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCQkgICAgIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsCisJCQkJICAgICB1bnNpZ25lZCBsb25nICpzaXplLCBpbnQgbG9va3VwX3JlcGxhY2UpOwogc3RhdGljIGlubGluZSB2b2lkICpyZWFkX3NoYTFfZmlsZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLCB1bnNpZ25lZCBsb25nICpzaXplKQogewotCXJldHVybiByZWFkX3NoYTFfZmlsZV9leHRlbmRlZChzaGExLCB0eXBlLCBzaXplLCBMT09LVVBfUkVQTEFDRV9PQkpFQ1QpOworCXJldHVybiByZWFkX3NoYTFfZmlsZV9leHRlbmRlZChzaGExLCB0eXBlLCBzaXplLCAxKTsKIH0KIAogLyoKQEAgLTExNjEsMTggKzExODEsMTEgQEAKIAlyZXR1cm4gZG9fbG9va3VwX3JlcGxhY2Vfb2JqZWN0KHNoYTEpOwogfQogCi1zdGF0aWMgaW5saW5lIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmxvb2t1cF9yZXBsYWNlX29iamVjdF9leHRlbmRlZChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB1bnNpZ25lZCBmbGFnKQotewotCWlmICghKGZsYWcgJiBMT09LVVBfUkVQTEFDRV9PQkpFQ1QpKQotCQlyZXR1cm4gc2hhMTsKLQlyZXR1cm4gbG9va3VwX3JlcGxhY2Vfb2JqZWN0KHNoYTEpOwotfQotCiAvKiBSZWFkIGFuZCB1bnBhY2sgYSBzaGExIGZpbGUgaW50byBtZW1vcnksIHdyaXRlIG1lbW9yeSB0byBhIHNoYTEgZmlsZSAqLwogZXh0ZXJuIGludCBzaGExX29iamVjdF9pbmZvKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiwgdW5zaWduZWQgbG9uZyAqKTsKIGV4dGVybiBpbnQgaGFzaF9zaGExX2ZpbGUoY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIGxlbiwgY29uc3QgY2hhciAqdHlwZSwgdW5zaWduZWQgY2hhciAqc2hhMSk7CiBleHRlcm4gaW50IHdyaXRlX3NoYTFfZmlsZShjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuLCBjb25zdCBjaGFyICp0eXBlLCB1bnNpZ25lZCBjaGFyICpyZXR1cm5fc2hhMSk7Ci1leHRlcm4gaW50IGhhc2hfc2hhMV9maWxlX2xpdGVyYWxseShjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuLCBjb25zdCBjaGFyICp0eXBlLCB1bnNpZ25lZCBjaGFyICpzaGExLCB1bnNpZ25lZCBmbGFncyk7CitleHRlcm4gaW50IGhhc2hfc2hhMV9maWxlX2xpdGVyYWxseShjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuLCBjb25zdCBjaGFyICp0eXBlLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIGZsYWdzKTsKIGV4dGVybiBpbnQgcHJldGVuZF9zaGExX2ZpbGUodm9pZCAqLCB1bnNpZ25lZCBsb25nLCBlbnVtIG9iamVjdF90eXBlLCB1bnNpZ25lZCBjaGFyICopOwogZXh0ZXJuIGludCBmb3JjZV9vYmplY3RfbG9vc2UoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdGltZV90IG10aW1lKTsKIGV4dGVybiBpbnQgZ2l0X29wZW5fY2xvZXhlYyhjb25zdCBjaGFyICpuYW1lLCBpbnQgZmxhZ3MpOwpAQCAtMTE4MSwxNSArMTE5NCwxMCBAQAogZXh0ZXJuIGludCB1bnBhY2tfc2hhMV9oZWFkZXIoZ2l0X3pzdHJlYW0gKnN0cmVhbSwgdW5zaWduZWQgY2hhciAqbWFwLCB1bnNpZ25lZCBsb25nIG1hcHNpemUsIHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBidWZzaXopOwogZXh0ZXJuIGludCBwYXJzZV9zaGExX2hlYWRlcihjb25zdCBjaGFyICpoZHIsIHVuc2lnbmVkIGxvbmcgKnNpemVwKTsKIAotLyogZ2xvYmFsIGZsYWcgdG8gZW5hYmxlIGV4dHJhIGNoZWNrcyB3aGVuIGFjY2Vzc2luZyBwYWNrZWQgb2JqZWN0cyAqLwotZXh0ZXJuIGludCBkb19jaGVja19wYWNrZWRfb2JqZWN0X2NyYzsKLQogZXh0ZXJuIGludCBjaGVja19zaGExX3NpZ25hdHVyZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgY29uc3QgY2hhciAqdHlwZSk7CiAKIGV4dGVybiBpbnQgZmluYWxpemVfb2JqZWN0X2ZpbGUoY29uc3QgY2hhciAqdG1wZmlsZSwgY29uc3QgY2hhciAqZmlsZW5hbWUpOwogCi1leHRlcm4gaW50IGhhc19zaGExX3BhY2soY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci0KIC8qCiAgKiBPcGVuIHRoZSBsb29zZSBvYmplY3QgYXQgcGF0aCwgY2hlY2sgaXRzIHNoYTEsIGFuZCByZXR1cm4gdGhlIGNvbnRlbnRzLAogICogdHlwZSwgYW5kIHNpemUuIElmIHRoZSBvYmplY3QgaXMgYSBibG9iLCB0aGVuICJjb250ZW50cyIgbWF5IHJldHVybiBOVUxMLApAQCAtMTIwNCwxNSArMTIxMiwxMCBAQAogCQkgICAgICB2b2lkICoqY29udGVudHMpOwogCiAvKgotICogUmV0dXJuIHRydWUgaWZmIHdlIGhhdmUgYW4gb2JqZWN0IG5hbWVkIHNoYTEsIHdoZXRoZXIgbG9jYWwgb3IgaW4KLSAqIGFuIGFsdGVybmF0ZSBvYmplY3QgZGF0YWJhc2UsIGFuZCB3aGV0aGVyIHBhY2tlZCBvciBsb29zZS4gIFRoaXMKLSAqIGZ1bmN0aW9uIGRvZXMgbm90IHJlc3BlY3QgcmVwbGFjZSByZWZlcmVuY2VzLgotICoKLSAqIElmIHRoZSBRVUlDSyBmbGFnIGlzIHNldCwgZG8gbm90IHJlLWNoZWNrIHRoZSBwYWNrIGRpcmVjdG9yeQotICogd2hlbiB3ZSBjYW5ub3QgZmluZCB0aGUgb2JqZWN0ICh0aGlzIG1lYW5zIHdlIG1heSBnaXZlIGEgZmFsc2UKLSAqIG5lZ2F0aXZlIGFuc3dlciBpZiBhbm90aGVyIHByb2Nlc3MgaXMgc2ltdWx0YW5lb3VzbHkgcmVwYWNraW5nKS4KKyAqIENvbnZlbmllbmNlIGZvciBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKCkgd2l0aCBhIE5VTEwgc3RydWN0CisgKiBvYmplY3RfaW5mby4gT0JKRUNUX0lORk9fU0tJUF9DQUNIRUQgaXMgYXV0b21hdGljYWxseSBzZXQ7IHBhc3MKKyAqIG5vbnplcm8gZmxhZ3MgdG8gYWxzbyBzZXQgb3RoZXIgZmxhZ3MuCiAgKi8KLSNkZWZpbmUgSEFTX1NIQTFfUVVJQ0sgMHgxCiBleHRlcm4gaW50IGhhc19zaGExX2ZpbGVfd2l0aF9mbGFncyhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZmxhZ3MpOwogc3RhdGljIGlubGluZSBpbnQgaGFzX3NoYTFfZmlsZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQogewpAQCAtMTIzMCwxMCArMTIzMywxMSBAQAogICovCiBleHRlcm4gaW50IGhhc19sb29zZV9vYmplY3Rfbm9ubG9jYWwoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CiAKLWV4dGVybiBpbnQgaGFzX3BhY2tfaW5kZXgoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci0KIGV4dGVybiB2b2lkIGFzc2VydF9zaGExX3R5cGUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgZW51bSBvYmplY3RfdHlwZSBleHBlY3QpOwogCisvKiBIZWxwZXIgdG8gY2hlY2sgYW5kICJ0b3VjaCIgYSBmaWxlICovCitleHRlcm4gaW50IGNoZWNrX2FuZF9mcmVzaGVuX2ZpbGUoY29uc3QgY2hhciAqZm4sIGludCBmcmVzaGVuKTsKKwogZXh0ZXJuIGNvbnN0IHNpZ25lZCBjaGFyIGhleHZhbF90YWJsZVsyNTZdOwogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgaGV4dmFsKHVuc2lnbmVkIGNoYXIgYykKIHsKQEAgLTEyNDYsOCArMTI1MCw4IEBACiAgKi8KIHN0YXRpYyBpbmxpbmUgaW50IGhleDJjaHIoY29uc3QgY2hhciAqcykKIHsKLQlpbnQgdmFsID0gaGV4dmFsKHNbMF0pOwotCXJldHVybiAodmFsIDwgMCkgPyB2YWwgOiAodmFsIDw8IDQpIHwgaGV4dmFsKHNbMV0pOworCXVuc2lnbmVkIGludCB2YWwgPSBoZXh2YWwoc1swXSk7CisJcmV0dXJuICh2YWwgJiB+MHhmKSA/IHZhbCA6ICh2YWwgPDwgNCkgfCBoZXh2YWwoc1sxXSk7CiB9CiAKIC8qIENvbnZlcnQgdG8vZnJvbSBoZXgvc2hhMSByZXByZXNlbnRhdGlvbiAqLwpAQCAtMTI1OSw0MSArMTI2Myw0NiBAQAogCiBzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgewogCXVuc2lnbmVkIGNoYXIgdHJlZVsyMF07Ci0JY2hhciBwYXRoW1BBVEhfTUFYXTsKIAl1bnNpZ25lZCBtb2RlOwogCS8qCiAJICogc3ltbGlua19wYXRoIGlzIG9ubHkgdXNlZCBieSBnZXRfdHJlZV9lbnRyeV9mb2xsb3dfc3ltbGlua3MsCiAJICogYW5kIG9ubHkgZm9yIHN5bWxpbmtzIHRoYXQgcG9pbnQgb3V0c2lkZSB0aGUgcmVwb3NpdG9yeS4KIAkgKi8KIAlzdHJ1Y3Qgc3RyYnVmIHN5bWxpbmtfcGF0aDsKKwkvKgorCSAqIElmIEdFVF9PSURfUkVDT1JEX1BBVEggaXMgc2V0LCB0aGlzIHdpbGwgcmVjb3JkIHBhdGggKGlmIGFueSkKKwkgKiBmb3VuZCB3aGVuIHJlc29sdmluZyB0aGUgbmFtZS4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IKKwkgKiByZWxlYXNpbmcgdGhlIG1lbW9yeS4KKwkgKi8KKwljaGFyICpwYXRoOwogfTsKIAotI2RlZmluZSBHRVRfU0hBMV9RVUlFVExZICAgICAgICAgICAwMQotI2RlZmluZSBHRVRfU0hBMV9DT01NSVQgICAgICAgICAgICAwMgotI2RlZmluZSBHRVRfU0hBMV9DT01NSVRUSVNIICAgICAgICAwNAotI2RlZmluZSBHRVRfU0hBMV9UUkVFICAgICAgICAgICAgIDAxMAotI2RlZmluZSBHRVRfU0hBMV9UUkVFSVNIICAgICAgICAgIDAyMAotI2RlZmluZSBHRVRfU0hBMV9CTE9CICAgICAgICAgICAgIDA0MAotI2RlZmluZSBHRVRfU0hBMV9GT0xMT1dfU1lNTElOS1MgMDEwMAotI2RlZmluZSBHRVRfU0hBMV9PTkxZX1RPX0RJRSAgICAwNDAwMAorI2RlZmluZSBHRVRfT0lEX1FVSUVUTFkgICAgICAgICAgIDAxCisjZGVmaW5lIEdFVF9PSURfQ09NTUlUICAgICAgICAgICAgMDIKKyNkZWZpbmUgR0VUX09JRF9DT01NSVRUSVNIICAgICAgICAwNAorI2RlZmluZSBHRVRfT0lEX1RSRUUgICAgICAgICAgICAgMDEwCisjZGVmaW5lIEdFVF9PSURfVFJFRUlTSCAgICAgICAgICAwMjAKKyNkZWZpbmUgR0VUX09JRF9CTE9CICAgICAgICAgICAgIDA0MAorI2RlZmluZSBHRVRfT0lEX0ZPTExPV19TWU1MSU5LUyAwMTAwCisjZGVmaW5lIEdFVF9PSURfUkVDT1JEX1BBVEggICAgIDAyMDAKKyNkZWZpbmUgR0VUX09JRF9PTkxZX1RPX0RJRSAgICAwNDAwMAogCi0jZGVmaW5lIEdFVF9TSEExX0RJU0FNQklHVUFUT1JTIFwKLQkoR0VUX1NIQTFfQ09NTUlUIHwgR0VUX1NIQTFfQ09NTUlUVElTSCB8IFwKLQlHRVRfU0hBMV9UUkVFIHwgR0VUX1NIQTFfVFJFRUlTSCB8IFwKLQlHRVRfU0hBMV9CTE9CKQotCi1leHRlcm4gaW50IGdldF9zaGExKGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci1leHRlcm4gaW50IGdldF9zaGExX2NvbW1pdChjb25zdCBjaGFyICpzdHIsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOwotZXh0ZXJuIGludCBnZXRfc2hhMV9jb21taXR0aXNoKGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci1leHRlcm4gaW50IGdldF9zaGExX3RyZWUoY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBjaGFyICpzaGExKTsKLWV4dGVybiBpbnQgZ2V0X3NoYTFfdHJlZWlzaChjb25zdCBjaGFyICpzdHIsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOwotZXh0ZXJuIGludCBnZXRfc2hhMV9ibG9iKGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci1leHRlcm4gdm9pZCBtYXliZV9kaWVfb25fbWlzc3BlbHRfb2JqZWN0X25hbWUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgZ2V0X3NoYTFfd2l0aF9jb250ZXh0KGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgZmxhZ3MsIHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCBvYmplY3RfY29udGV4dCAqb3JjKTsKKyNkZWZpbmUgR0VUX09JRF9ESVNBTUJJR1VBVE9SUyBcCisJKEdFVF9PSURfQ09NTUlUIHwgR0VUX09JRF9DT01NSVRUSVNIIHwgXAorCUdFVF9PSURfVFJFRSB8IEdFVF9PSURfVFJFRUlTSCB8IFwKKwlHRVRfT0lEX0JMT0IpCiAKIGV4dGVybiBpbnQgZ2V0X29pZChjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CitleHRlcm4gaW50IGdldF9vaWRfY29tbWl0KGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2V4dGVybiBpbnQgZ2V0X29pZF9jb21taXR0aXNoKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2V4dGVybiBpbnQgZ2V0X29pZF90cmVlKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2V4dGVybiBpbnQgZ2V0X29pZF90cmVlaXNoKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2V4dGVybiBpbnQgZ2V0X29pZF9ibG9iKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2V4dGVybiB2b2lkIG1heWJlX2RpZV9vbl9taXNzcGVsdF9vYmplY3RfbmFtZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwcmVmaXgpOworZXh0ZXJuIGludCBnZXRfb2lkX3dpdGhfY29udGV4dChjb25zdCBjaGFyICpzdHIsIHVuc2lnbmVkIGZsYWdzLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCBvYmplY3RfY29udGV4dCAqb2MpOwogCi10eXBlZGVmIGludCBlYWNoX2FiYnJldl9mbihjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB2b2lkICopOworCit0eXBlZGVmIGludCBlYWNoX2FiYnJldl9mbihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKik7CiBleHRlcm4gaW50IGZvcl9lYWNoX2FiYnJldihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfYWJicmV2X2ZuLCB2b2lkICopOwogCiBleHRlcm4gaW50IHNldF9kaXNhbWJpZ3VhdGVfaGludF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSk7CkBAIC0xMzI1LDYgKzEzMzQsMTUgQEAKIGV4dGVybiBjaGFyICpvaWRfdG9faGV4KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CS8qIHNhbWUgc3RhdGljIGJ1ZmZlciBhcyBzaGExX3RvX2hleCAqLwogCiAvKgorICogUGFyc2UgYSA0MC1jaGFyYWN0ZXIgaGV4YWRlY2ltYWwgb2JqZWN0IElEIHN0YXJ0aW5nIGZyb20gaGV4LCB1cGRhdGluZyB0aGUKKyAqIHBvaW50ZXIgc3BlY2lmaWVkIGJ5IGVuZCB3aGVuIHBhcnNpbmcgc3RvcHMuICBUaGUgcmVzdWx0aW5nIG9iamVjdCBJRCBpcworICogc3RvcmVkIGluIG9pZC4gIFJldHVybnMgMCBvbiBzdWNjZXNzLiAgUGFyc2luZyB3aWxsIHN0b3Agb24gdGhlIGZpcnN0IE5VTCBvcgorICogb3RoZXIgaW52YWxpZCBjaGFyYWN0ZXIuICBlbmQgaXMgb25seSB1cGRhdGVkIG9uIHN1Y2Nlc3M7IG90aGVyd2lzZSwgaXQgaXMKKyAqIHVubW9kaWZpZWQuCisgKi8KK2V4dGVybiBpbnQgcGFyc2Vfb2lkX2hleChjb25zdCBjaGFyICpoZXgsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqKmVuZCk7CisKKy8qCiAgKiBUaGlzIHJlYWRzIHNob3J0LWhhbmQgc3ludGF4IHRoYXQgbm90IG9ubHkgZXZhbHVhdGVzIHRvIGEgY29tbWl0CiAgKiBvYmplY3QgbmFtZSwgYnV0IGFsc28gY2FuIGFjdCBhcyBpZiB0aGUgZW5kIHVzZXIgc3BlbGxlZCB0aGUgbmFtZQogICogb2YgdGhlIGJyYW5jaCBmcm9tIHRoZSBjb21tYW5kIGxpbmUuCkBAIC0xMzk2LDE4ICsxNDE0LDE4IEBACiAjZGVmaW5lIERBVEVfTU9ERSh0KSBkYXRlX21vZGVfZnJvbV90eXBlKERBVEVfIyN0KQogc3RydWN0IGRhdGVfbW9kZSAqZGF0ZV9tb2RlX2Zyb21fdHlwZShlbnVtIGRhdGVfbW9kZV90eXBlIHR5cGUpOwogCi1jb25zdCBjaGFyICpzaG93X2RhdGUodW5zaWduZWQgbG9uZyB0aW1lLCBpbnQgdGltZXpvbmUsIGNvbnN0IHN0cnVjdCBkYXRlX21vZGUgKm1vZGUpOwotdm9pZCBzaG93X2RhdGVfcmVsYXRpdmUodW5zaWduZWQgbG9uZyB0aW1lLCBpbnQgdHosIGNvbnN0IHN0cnVjdCB0aW1ldmFsICpub3csCitjb25zdCBjaGFyICpzaG93X2RhdGUodGltZXN0YW1wX3QgdGltZSwgaW50IHRpbWV6b25lLCBjb25zdCBzdHJ1Y3QgZGF0ZV9tb2RlICptb2RlKTsKK3ZvaWQgc2hvd19kYXRlX3JlbGF0aXZlKHRpbWVzdGFtcF90IHRpbWUsIGludCB0eiwgY29uc3Qgc3RydWN0IHRpbWV2YWwgKm5vdywKIAkJCXN0cnVjdCBzdHJidWYgKnRpbWVidWYpOwogaW50IHBhcnNlX2RhdGUoY29uc3QgY2hhciAqZGF0ZSwgc3RydWN0IHN0cmJ1ZiAqb3V0KTsKLWludCBwYXJzZV9kYXRlX2Jhc2ljKGNvbnN0IGNoYXIgKmRhdGUsIHVuc2lnbmVkIGxvbmcgKnRpbWVzdGFtcCwgaW50ICpvZmZzZXQpOwotaW50IHBhcnNlX2V4cGlyeV9kYXRlKGNvbnN0IGNoYXIgKmRhdGUsIHVuc2lnbmVkIGxvbmcgKnRpbWVzdGFtcCk7CitpbnQgcGFyc2VfZGF0ZV9iYXNpYyhjb25zdCBjaGFyICpkYXRlLCB0aW1lc3RhbXBfdCAqdGltZXN0YW1wLCBpbnQgKm9mZnNldCk7CitpbnQgcGFyc2VfZXhwaXJ5X2RhdGUoY29uc3QgY2hhciAqZGF0ZSwgdGltZXN0YW1wX3QgKnRpbWVzdGFtcCk7CiB2b2lkIGRhdGVzdGFtcChzdHJ1Y3Qgc3RyYnVmICpvdXQpOwogI2RlZmluZSBhcHByb3hpZGF0ZShzKSBhcHByb3hpZGF0ZV9jYXJlZnVsKChzKSwgTlVMTCkKLXVuc2lnbmVkIGxvbmcgYXBwcm94aWRhdGVfY2FyZWZ1bChjb25zdCBjaGFyICosIGludCAqKTsKLXVuc2lnbmVkIGxvbmcgYXBwcm94aWRhdGVfcmVsYXRpdmUoY29uc3QgY2hhciAqZGF0ZSwgY29uc3Qgc3RydWN0IHRpbWV2YWwgKm5vdyk7Cit0aW1lc3RhbXBfdCBhcHByb3hpZGF0ZV9jYXJlZnVsKGNvbnN0IGNoYXIgKiwgaW50ICopOwordGltZXN0YW1wX3QgYXBwcm94aWRhdGVfcmVsYXRpdmUoY29uc3QgY2hhciAqZGF0ZSwgY29uc3Qgc3RydWN0IHRpbWV2YWwgKm5vdyk7CiB2b2lkIHBhcnNlX2RhdGVfZm9ybWF0KGNvbnN0IGNoYXIgKmZvcm1hdCwgc3RydWN0IGRhdGVfbW9kZSAqbW9kZSk7Ci1pbnQgZGF0ZV9vdmVyZmxvd3ModW5zaWduZWQgbG9uZyBkYXRlKTsKK2ludCBkYXRlX292ZXJmbG93cyh0aW1lc3RhbXBfdCBkYXRlKTsKIAogI2RlZmluZSBJREVOVF9TVFJJQ1QJICAgICAgIDEKICNkZWZpbmUgSURFTlRfTk9fREFURQkgICAgICAgMgpAQCAtMTQ2MCw2ICsxNDc4LDcgQEAKIAlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZTsKIAljb25zdCBjaGFyICpiYXNlX2RpcjsKIAlpbnQgYmFzZV9kaXJfbGVuOworCXN0cnVjdCBkZWxheWVkX2NoZWNrb3V0ICpkZWxheWVkX2NoZWNrb3V0OwogCXVuc2lnbmVkIGZvcmNlOjEsCiAJCSBxdWlldDoxLAogCQkgbm90X25ldzoxLApAQCAtMTQ2OSw2ICsxNDg4LDggQEAKIAogI2RlZmluZSBURU1QT1JBUllfRklMRU5BTUVfTEVOR1RIIDI1CiBleHRlcm4gaW50IGNoZWNrb3V0X2VudHJ5KHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIGNvbnN0IHN0cnVjdCBjaGVja291dCAqc3RhdGUsIGNoYXIgKnRvcGF0aCk7CitleHRlcm4gdm9pZCBlbmFibGVfZGVsYXllZF9jaGVja291dChzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlKTsKK2V4dGVybiBpbnQgZmluaXNoX2RlbGF5ZWRfY2hlY2tvdXQoc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSk7CiAKIHN0cnVjdCBjYWNoZV9kZWYgewogCXN0cnVjdCBzdHJidWYgcGF0aDsKQEAgLTE0OTYsMTAgKzE1MTcsMTkgQEAKIAlzdHJ1Y3Qgc3RyYnVmIHNjcmF0Y2g7CiAJc2l6ZV90IGJhc2VfbGVuOwogCisJLyoKKwkgKiBVc2VkIHRvIHN0b3JlIHRoZSByZXN1bHRzIG9mIHJlYWRkaXIoMykgY2FsbHMgd2hlbiBzZWFyY2hpbmcKKwkgKiBmb3IgdW5pcXVlIGFiYnJldmlhdGVkIGhhc2hlcy4gIFRoaXMgY2FjaGUgaXMgbmV2ZXIKKwkgKiBpbnZhbGlkYXRlZCwgdGh1cyBpdCdzIHJhY3kgYW5kIG5vdCBuZWNlc3NhcmlseSBhY2N1cmF0ZS4KKwkgKiBUaGF0J3MgZmluZSBmb3IgaXRzIHB1cnBvc2U7IGRvbid0IHVzZSBpdCBmb3IgdGFza3MgcmVxdWlyaW5nCisJICogZ3JlYXRlciBhY2N1cmFjeSEKKwkgKi8KKwljaGFyIGxvb3NlX29iamVjdHNfc3ViZGlyX3NlZW5bMjU2XTsKKwlzdHJ1Y3Qgb2lkX2FycmF5IGxvb3NlX29iamVjdHNfY2FjaGU7CisKIAljaGFyIHBhdGhbRkxFWF9BUlJBWV07CiB9ICphbHRfb2RiX2xpc3Q7CiBleHRlcm4gdm9pZCBwcmVwYXJlX2FsdF9vZGIodm9pZCk7Ci1leHRlcm4gdm9pZCByZWFkX2luZm9fYWx0ZXJuYXRlcyhjb25zdCBjaGFyICogcmVsYXRpdmVfYmFzZSwgaW50IGRlcHRoKTsKIGV4dGVybiBjaGFyICpjb21wdXRlX2FsdGVybmF0ZV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdHJidWYgKmVycik7CiB0eXBlZGVmIGludCBhbHRfb2RiX2ZuKHN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICosIHZvaWQgKik7CiBleHRlcm4gaW50IGZvcmVhY2hfYWx0X29kYihhbHRfb2RiX2ZuLCB2b2lkKik7CkBAIC0xNTY2LDggKzE1OTYsNyBAQAogICogQSBtb3N0LXJlY2VudGx5LXVzZWQgb3JkZXJlZCB2ZXJzaW9uIG9mIHRoZSBwYWNrZWRfZ2l0IGxpc3QsIHdoaWNoIGNhbgogICogYmUgaXRlcmF0ZWQgaW5zdGVhZCBvZiBwYWNrZWRfZ2l0IChhbmQgbWFya2VkIHZpYSBtcnVfbWFyaykuCiAgKi8KLXN0cnVjdCBtcnU7Ci1leHRlcm4gc3RydWN0IG1ydSAqcGFja2VkX2dpdF9tcnU7CitleHRlcm4gc3RydWN0IG1ydSBwYWNrZWRfZ2l0X21ydTsKIAogc3RydWN0IHBhY2tfZW50cnkgewogCW9mZl90IG9mZnNldDsKQEAgLTE1NzUsNDIgKzE2MDQsMTMgQEAKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKIH07CiAKLWV4dGVybiBzdHJ1Y3QgcGFja2VkX2dpdCAqcGFyc2VfcGFja19pbmRleCh1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICppZHhfcGF0aCk7Ci0KLS8qIEEgaG9vayB0byByZXBvcnQgaW52YWxpZCBmaWxlcyBpbiBwYWNrIGRpcmVjdG9yeSAqLwotI2RlZmluZSBQQUNLRElSX0ZJTEVfUEFDSyAxCi0jZGVmaW5lIFBBQ0tESVJfRklMRV9JRFggMgotI2RlZmluZSBQQUNLRElSX0ZJTEVfR0FSQkFHRSA0Ci1leHRlcm4gdm9pZCAoKnJlcG9ydF9nYXJiYWdlKSh1bnNpZ25lZCBzZWVuX2JpdHMsIGNvbnN0IGNoYXIgKnBhdGgpOwotCi1leHRlcm4gdm9pZCBwcmVwYXJlX3BhY2tlZF9naXQodm9pZCk7Ci1leHRlcm4gdm9pZCByZXByZXBhcmVfcGFja2VkX2dpdCh2b2lkKTsKLWV4dGVybiB2b2lkIGluc3RhbGxfcGFja2VkX2dpdChzdHJ1Y3QgcGFja2VkX2dpdCAqcGFjayk7Ci0KIC8qCi0gKiBHaXZlIGEgcm91Z2ggY291bnQgb2Ygb2JqZWN0cyBpbiB0aGUgcmVwb3NpdG9yeS4gVGhpcyBzYWNyaWZpY2VzIGFjY3VyYWN5Ci0gKiBmb3Igc3BlZWQuCisgKiBDcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZSByb290ZWQgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSBkaXJlY3RvcnksIG9yCisgKiBkaWUgb24gZmFpbHVyZS4gVGhlIGZpbGVuYW1lIGlzIHRha2VuIGZyb20gInBhdHRlcm4iLCB3aGljaCBzaG91bGQgaGF2ZSB0aGUKKyAqIHVzdWFsICJYWFhYWFgiIHRyYWlsZXIsIGFuZCB0aGUgcmVzdWx0aW5nIGZpbGVuYW1lIGlzIHdyaXR0ZW4gaW50byB0aGUKKyAqICJ0ZW1wbGF0ZSIgYnVmZmVyLiBSZXR1cm5zIHRoZSBvcGVuIGRlc2NyaXB0b3IuCiAgKi8KLXVuc2lnbmVkIGxvbmcgYXBwcm94aW1hdGVfb2JqZWN0X2NvdW50KHZvaWQpOwotCi1leHRlcm4gc3RydWN0IHBhY2tlZF9naXQgKmZpbmRfc2hhMV9wYWNrKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkJCSBzdHJ1Y3QgcGFja2VkX2dpdCAqcGFja3MpOwotCi1leHRlcm4gdm9pZCBwYWNrX3JlcG9ydCh2b2lkKTsKLQotLyoKLSAqIENyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlIHJvb3RlZCBpbiB0aGUgb2JqZWN0IGRhdGFiYXNlIGRpcmVjdG9yeS4KLSAqLwotZXh0ZXJuIGludCBvZGJfbWtzdGVtcChjaGFyICp0ZW1wbGF0ZSwgc2l6ZV90IGxpbWl0LCBjb25zdCBjaGFyICpwYXR0ZXJuKTsKLQotLyoKLSAqIEdlbmVyYXRlIHRoZSBmaWxlbmFtZSB0byBiZSB1c2VkIGZvciBhIHBhY2sgZmlsZSB3aXRoIGNoZWNrc3VtICJzaGExIiBhbmQKLSAqIGV4dGVuc2lvbiAiZXh0Ii4gVGhlIHJlc3VsdCBpcyB3cml0dGVuIGludG8gdGhlIHN0cmJ1ZiAiYnVmIiwgb3ZlcndyaXRpbmcKLSAqIGFueSBleGlzdGluZyBjb250ZW50cy4gQSBwb2ludGVyIHRvIGJ1Zi0+YnVmIGlzIHJldHVybmVkIGFzIGEgY29udmVuaWVuY2UuCi0gKgotICogRXhhbXBsZTogb2RiX3BhY2tfbmFtZShvdXQsIHNoYTEsICJpZHgiKSA9PiAiLmdpdC9vYmplY3RzL3BhY2svcGFjay0xMjM0Li5pZHgiCi0gKi8KLWV4dGVybiBjaGFyICpvZGJfcGFja19uYW1lKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqZXh0KTsKK2V4dGVybiBpbnQgb2RiX21rc3RlbXAoc3RydWN0IHN0cmJ1ZiAqdGVtcGxhdGUsIGNvbnN0IGNoYXIgKnBhdHRlcm4pOwogCiAvKgogICogQ3JlYXRlIGEgcGFjayAua2VlcCBmaWxlIG5hbWVkICJuYW1lIiAod2hpY2ggc2hvdWxkIGdlbmVyYWxseSBiZSB0aGUgb3V0cHV0CkBAIC0xNjIwLDYxICsxNjIwLDYgQEAKIGV4dGVybiBpbnQgb2RiX3BhY2tfa2VlcChjb25zdCBjaGFyICpuYW1lKTsKIAogLyoKLSAqIG1tYXAgdGhlIGluZGV4IGZpbGUgZm9yIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUgKGlmIGl0IGlzIG5vdAotICogYWxyZWFkeSBtbWFwcGVkKS4gIFJldHVybiAwIG9uIHN1Y2Nlc3MuCi0gKi8KLWV4dGVybiBpbnQgb3Blbl9wYWNrX2luZGV4KHN0cnVjdCBwYWNrZWRfZ2l0ICopOwotCi0vKgotICogbXVubWFwIHRoZSBpbmRleCBmaWxlIGZvciB0aGUgc3BlY2lmaWVkIHBhY2tmaWxlIChpZiBpdCBpcwotICogY3VycmVudGx5IG1tYXBwZWQpLgotICovCi1leHRlcm4gdm9pZCBjbG9zZV9wYWNrX2luZGV4KHN0cnVjdCBwYWNrZWRfZ2l0ICopOwotCi1leHRlcm4gdW5zaWduZWQgY2hhciAqdXNlX3BhY2soc3RydWN0IHBhY2tlZF9naXQgKiwgc3RydWN0IHBhY2tfd2luZG93ICoqLCBvZmZfdCwgdW5zaWduZWQgbG9uZyAqKTsKLWV4dGVybiB2b2lkIGNsb3NlX3BhY2tfd2luZG93cyhzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKLWV4dGVybiB2b2lkIGNsb3NlX2FsbF9wYWNrcyh2b2lkKTsKLWV4dGVybiB2b2lkIHVudXNlX3BhY2soc3RydWN0IHBhY2tfd2luZG93ICoqKTsKLWV4dGVybiB2b2lkIGNsZWFyX2RlbHRhX2Jhc2VfY2FjaGUodm9pZCk7Ci1leHRlcm4gc3RydWN0IHBhY2tlZF9naXQgKmFkZF9wYWNrZWRfZ2l0KGNvbnN0IGNoYXIgKnBhdGgsIHNpemVfdCBwYXRoX2xlbiwgaW50IGxvY2FsKTsKLQotLyoKLSAqIE1ha2Ugc3VyZSB0aGF0IGEgcG9pbnRlciBhY2Nlc3MgaW50byBhbiBtbWFwJ2QgaW5kZXggZmlsZSBpcyB3aXRoaW4gYm91bmRzLAotICogYW5kIGNhbiBwcm92aWRlIGF0IGxlYXN0IDggYnl0ZXMgb2YgZGF0YS4KLSAqCi0gKiBOb3RlIHRoYXQgdGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBmb3IgdmFyaWFibGUtbGVuZ3RoIHNlZ21lbnRzIG9mIHRoZSBmaWxlCi0gKiAobGlrZSB0aGUgNjQtYml0IGV4dGVuZGVkIG9mZnNldCB0YWJsZSksIGFzIHdlIGNvbXBhcmUgdGhlIHNpemUgdG8gdGhlCi0gKiBmaXhlZC1sZW5ndGggcGFydHMgd2hlbiB3ZSBvcGVuIHRoZSBmaWxlLgotICovCi1leHRlcm4gdm9pZCBjaGVja19wYWNrX2luZGV4X3B0cihjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgY29uc3Qgdm9pZCAqcHRyKTsKLQotLyoKLSAqIFJldHVybiB0aGUgU0hBLTEgb2YgdGhlIG50aCBvYmplY3Qgd2l0aGluIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUuCi0gKiBPcGVuIHRoZSBpbmRleCBpZiBpdCBpcyBub3QgYWxyZWFkeSBvcGVuLiAgVGhlIHJldHVybiB2YWx1ZSBwb2ludHMKLSAqIGF0IHRoZSBTSEEtMSB3aXRoaW4gdGhlIG1tYXBwZWQgaW5kZXguICBSZXR1cm4gTlVMTCBpZiB0aGVyZSBpcyBhbgotICogZXJyb3IuCi0gKi8KLWV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyICpudGhfcGFja2VkX29iamVjdF9zaGExKHN0cnVjdCBwYWNrZWRfZ2l0ICosIHVpbnQzMl90IG4pOwotCi0vKgotICogUmV0dXJuIHRoZSBvZmZzZXQgb2YgdGhlIG50aCBvYmplY3Qgd2l0aGluIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUuCi0gKiBUaGUgaW5kZXggbXVzdCBhbHJlYWR5IGJlIG9wZW5lZC4KLSAqLwotZXh0ZXJuIG9mZl90IG50aF9wYWNrZWRfb2JqZWN0X29mZnNldChjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqLCB1aW50MzJfdCBuKTsKLQotLyoKLSAqIElmIHRoZSBvYmplY3QgbmFtZWQgc2hhMSBpcyBwcmVzZW50IGluIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUsCi0gKiByZXR1cm4gaXRzIG9mZnNldCB3aXRoaW4gdGhlIHBhY2tmaWxlOyBvdGhlcndpc2UsIHJldHVybiAwLgotICovCi1leHRlcm4gb2ZmX3QgZmluZF9wYWNrX2VudHJ5X29uZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKLQotZXh0ZXJuIGludCBpc19wYWNrX3ZhbGlkKHN0cnVjdCBwYWNrZWRfZ2l0ICopOwotZXh0ZXJuIHZvaWQgKnVucGFja19lbnRyeShzdHJ1Y3QgcGFja2VkX2dpdCAqLCBvZmZfdCwgZW51bSBvYmplY3RfdHlwZSAqLCB1bnNpZ25lZCBsb25nICopOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdW5wYWNrX29iamVjdF9oZWFkZXJfYnVmZmVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4sIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemVwKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGdldF9zaXplX2Zyb21fZGVsdGEoc3RydWN0IHBhY2tlZF9naXQgKiwgc3RydWN0IHBhY2tfd2luZG93ICoqLCBvZmZfdCk7Ci1leHRlcm4gaW50IHVucGFja19vYmplY3RfaGVhZGVyKHN0cnVjdCBwYWNrZWRfZ2l0ICosIHN0cnVjdCBwYWNrX3dpbmRvdyAqKiwgb2ZmX3QgKiwgdW5zaWduZWQgbG9uZyAqKTsKLQotLyoKICAqIEl0ZXJhdGUgb3ZlciB0aGUgZmlsZXMgaW4gdGhlIGxvb3NlLW9iamVjdCBwYXJ0cyBvZiB0aGUgb2JqZWN0CiAgKiBkaXJlY3RvcnkgInBhdGgiLCB0cmlnZ2VyaW5nIHRoZSBmb2xsb3dpbmcgY2FsbGJhY2tzOgogICoKQEAgLTE2OTYsMTUgKzE2NDEsMjEgQEAKICAqIHNjcmF0Y2ggYnVmZmVyLCBidXQgcmVzdG9yZWQgdG8gaXRzIG9yaWdpbmFsIGNvbnRlbnRzIGJlZm9yZQogICogdGhlIGZ1bmN0aW9uIHJldHVybnMuCiAgKi8KLXR5cGVkZWYgaW50IGVhY2hfbG9vc2Vfb2JqZWN0X2ZuKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCit0eXBlZGVmIGludCBlYWNoX2xvb3NlX29iamVjdF9mbihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkJIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkJIHZvaWQgKmRhdGEpOwogdHlwZWRlZiBpbnQgZWFjaF9sb29zZV9jcnVmdF9mbihjb25zdCBjaGFyICpiYXNlbmFtZSwKIAkJCQljb25zdCBjaGFyICpwYXRoLAogCQkJCXZvaWQgKmRhdGEpOwotdHlwZWRlZiBpbnQgZWFjaF9sb29zZV9zdWJkaXJfZm4oaW50IG5yLAordHlwZWRlZiBpbnQgZWFjaF9sb29zZV9zdWJkaXJfZm4odW5zaWduZWQgaW50IG5yLAogCQkJCSBjb25zdCBjaGFyICpwYXRoLAogCQkJCSB2b2lkICpkYXRhKTsKK2ludCBmb3JfZWFjaF9maWxlX2luX29ial9zdWJkaXIodW5zaWduZWQgaW50IHN1YmRpcl9uciwKKwkJCQlzdHJ1Y3Qgc3RyYnVmICpwYXRoLAorCQkJCWVhY2hfbG9vc2Vfb2JqZWN0X2ZuIG9ial9jYiwKKwkJCQllYWNoX2xvb3NlX2NydWZ0X2ZuIGNydWZ0X2NiLAorCQkJCWVhY2hfbG9vc2Vfc3ViZGlyX2ZuIHN1YmRpcl9jYiwKKwkJCQl2b2lkICpkYXRhKTsKIGludCBmb3JfZWFjaF9sb29zZV9maWxlX2luX29iamRpcihjb25zdCBjaGFyICpwYXRoLAogCQkJCSAgZWFjaF9sb29zZV9vYmplY3RfZm4gb2JqX2NiLAogCQkJCSAgZWFjaF9sb29zZV9jcnVmdF9mbiBjcnVmdF9jYiwKQEAgLTE3MTcsMTcgKzE2NjgsMTIgQEAKIAkJCQkgICAgICB2b2lkICpkYXRhKTsKIAogLyoKLSAqIEl0ZXJhdGUgb3ZlciBsb29zZSBhbmQgcGFja2VkIG9iamVjdHMgaW4gYm90aCB0aGUgbG9jYWwKKyAqIEl0ZXJhdGUgb3ZlciBsb29zZSBvYmplY3RzIGluIGJvdGggdGhlIGxvY2FsCiAgKiByZXBvc2l0b3J5IGFuZCBhbnkgYWx0ZXJuYXRlcyByZXBvc2l0b3JpZXMgKHVubGVzcyB0aGUKICAqIExPQ0FMX09OTFkgZmxhZyBpcyBzZXQpLgogICovCiAjZGVmaW5lIEZPUl9FQUNIX09CSkVDVF9MT0NBTF9PTkxZIDB4MQotdHlwZWRlZiBpbnQgZWFjaF9wYWNrZWRfb2JqZWN0X2ZuKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkJICBzdHJ1Y3QgcGFja2VkX2dpdCAqcGFjaywKLQkJCQkgIHVpbnQzMl90IHBvcywKLQkJCQkgIHZvaWQgKmRhdGEpOwogZXh0ZXJuIGludCBmb3JfZWFjaF9sb29zZV9vYmplY3QoZWFjaF9sb29zZV9vYmplY3RfZm4sIHZvaWQgKiwgdW5zaWduZWQgZmxhZ3MpOwotZXh0ZXJuIGludCBmb3JfZWFjaF9wYWNrZWRfb2JqZWN0KGVhY2hfcGFja2VkX29iamVjdF9mbiwgdm9pZCAqLCB1bnNpZ25lZCBmbGFncyk7CiAKIHN0cnVjdCBvYmplY3RfaW5mbyB7CiAJLyogUmVxdWVzdCAqLwpAQCAtMTczNiw2ICsxNjgyLDcgQEAKIAlvZmZfdCAqZGlza19zaXplcDsKIAl1bnNpZ25lZCBjaGFyICpkZWx0YV9iYXNlX3NoYTE7CiAJc3RydWN0IHN0cmJ1ZiAqdHlwZW5hbWU7CisJdm9pZCAqKmNvbnRlbnRwOwogCiAJLyogUmVzcG9uc2UgKi8KIAllbnVtIHsKQEAgLTE3NjcsMTgxICsxNzE0LDIyIEBACiAgKi8KICNkZWZpbmUgT0JKRUNUX0lORk9fSU5JVCB7TlVMTH0KIAorLyogSW52b2tlIGxvb2t1cF9yZXBsYWNlX29iamVjdCgpIG9uIHRoZSBnaXZlbiBoYXNoICovCisjZGVmaW5lIE9CSkVDVF9JTkZPX0xPT0tVUF9SRVBMQUNFIDEKKy8qIEFsbG93IHJlYWRpbmcgZnJvbSBhIGxvb3NlIG9iamVjdCBmaWxlIG9mIHVua25vd24vYm9ndXMgdHlwZSAqLworI2RlZmluZSBPQkpFQ1RfSU5GT19BTExPV19VTktOT1dOX1RZUEUgMgorLyogRG8gbm90IGNoZWNrIGNhY2hlZCBzdG9yYWdlICovCisjZGVmaW5lIE9CSkVDVF9JTkZPX1NLSVBfQ0FDSEVEIDQKKy8qIERvIG5vdCByZXRyeSBwYWNrZWQgc3RvcmFnZSBhZnRlciBjaGVja2luZyBwYWNrZWQgYW5kIGxvb3NlIHN0b3JhZ2UgKi8KKyNkZWZpbmUgT0JKRUNUX0lORk9fUVVJQ0sgOAogZXh0ZXJuIGludCBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiwgc3RydWN0IG9iamVjdF9pbmZvICosIHVuc2lnbmVkIGZsYWdzKTsKLWV4dGVybiBpbnQgcGFja2VkX29iamVjdF9pbmZvKHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrLCBvZmZfdCBvZmZzZXQsIHN0cnVjdCBvYmplY3RfaW5mbyAqKTsKIAogLyogRHVtYiBzZXJ2ZXJzIHN1cHBvcnQgKi8KIGV4dGVybiBpbnQgdXBkYXRlX3NlcnZlcl9pbmZvKGludCk7CiAKLS8qIGdpdF9jb25maWdfcGFyc2Vfa2V5KCkgcmV0dXJucyB0aGVzZSBuZWdhdGVkOiAqLwotI2RlZmluZSBDT05GSUdfSU5WQUxJRF9LRVkgMQotI2RlZmluZSBDT05GSUdfTk9fU0VDVElPTl9PUl9OQU1FIDIKLS8qIGdpdF9jb25maWdfc2V0X2dlbnRseSgpLCBnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9nZW50bHkoKSByZXR1cm4gdGhlIGFib3ZlIG9yIHRoZXNlOiAqLwotI2RlZmluZSBDT05GSUdfTk9fTE9DSyAtMQotI2RlZmluZSBDT05GSUdfSU5WQUxJRF9GSUxFIDMKLSNkZWZpbmUgQ09ORklHX05PX1dSSVRFIDQKLSNkZWZpbmUgQ09ORklHX05PVEhJTkdfU0VUIDUKLSNkZWZpbmUgQ09ORklHX0lOVkFMSURfUEFUVEVSTiA2Ci0jZGVmaW5lIENPTkZJR19HRU5FUklDX0VSUk9SIDcKLQotI2RlZmluZSBDT05GSUdfUkVHRVhfTk9ORSAoKHZvaWQgKikxKQotCi1zdHJ1Y3QgZ2l0X2NvbmZpZ19zb3VyY2UgewotCXVuc2lnbmVkIGludCB1c2Vfc3RkaW46MTsKLQljb25zdCBjaGFyICpmaWxlOwotCWNvbnN0IGNoYXIgKmJsb2I7Ci19OwotCi1lbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSB7Ci0JQ09ORklHX09SSUdJTl9CTE9CLAotCUNPTkZJR19PUklHSU5fRklMRSwKLQlDT05GSUdfT1JJR0lOX1NURElOLAotCUNPTkZJR19PUklHSU5fU1VCTU9EVUxFX0JMT0IsCi0JQ09ORklHX09SSUdJTl9DTURMSU5FCi19OwotCi10eXBlZGVmIGludCAoKmNvbmZpZ19mbl90KShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgZ2l0X2RlZmF1bHRfY29uZmlnKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCB2b2lkICopOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fZmlsZShjb25maWdfZm5fdCBmbiwgY29uc3QgY2hhciAqLCB2b2lkICopOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fbWVtKGNvbmZpZ19mbl90IGZuLCBjb25zdCBlbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSwKLQkJCQkJY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuLCB2b2lkICpkYXRhKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19mcm9tX2Jsb2Jfc2hhMShjb25maWdfZm5fdCBmbiwgY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHZvaWQgKmRhdGEpOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19wdXNoX3BhcmFtZXRlcihjb25zdCBjaGFyICp0ZXh0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19mcm9tX3BhcmFtZXRlcnMoY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZyhjb25maWdfZm5fdCBmbiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ193aXRoX29wdGlvbnMoY29uZmlnX2ZuX3QgZm4sIHZvaWQgKiwKLQkJCQkgICBzdHJ1Y3QgZ2l0X2NvbmZpZ19zb3VyY2UgKmNvbmZpZ19zb3VyY2UsCi0JCQkJICAgaW50IHJlc3BlY3RfaW5jbHVkZXMpOwotZXh0ZXJuIGludCBnaXRfcGFyc2VfdWxvbmcoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nICopOwotZXh0ZXJuIGludCBnaXRfcGFyc2VfbWF5YmVfYm9vbChjb25zdCBjaGFyICopOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2ludChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50NjRfdCBnaXRfY29uZmlnX2ludDY0KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGdpdF9jb25maWdfdWxvbmcoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2Jvb2xfb3JfaW50KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfYm9vbChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfbWF5YmVfYm9vbChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfc3RyaW5nKGNvbnN0IGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19wYXRobmFtZShjb25zdCBjaGFyICoqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19zZXRfZ2VudGx5KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiB2b2lkIGdpdF9jb25maWdfc2V0KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19wYXJzZV9rZXkoY29uc3QgY2hhciAqLCBjaGFyICoqLCBpbnQgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfa2V5X2lzX3ZhbGlkKGNvbnN0IGNoYXIgKmtleSk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfc2V0X211bHRpdmFyX2dlbnRseShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXIoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXJfaW5fZmlsZV9nZW50bHkoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXJfaW5fZmlsZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfcmVuYW1lX3NlY3Rpb24oY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uX2luX2ZpbGUoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gY29uc3QgY2hhciAqZ2l0X2V0Y19naXRjb25maWcodm9pZCk7Ci1leHRlcm4gaW50IGdpdF9lbnZfYm9vbChjb25zdCBjaGFyICosIGludCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBnaXRfZW52X3Vsb25nKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgbG9uZyk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfc3lzdGVtKHZvaWQpOwotZXh0ZXJuIGludCBjb25maWdfZXJyb3Jfbm9uYm9vbChjb25zdCBjaGFyICopOwotI2lmIGRlZmluZWQoX19HTlVDX18pCi0jZGVmaW5lIGNvbmZpZ19lcnJvcl9ub25ib29sKHMpIChjb25maWdfZXJyb3Jfbm9uYm9vbChzKSwgY29uc3RfZXJyb3IoKSkKLSNlbmRpZgogZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9sb2dfb3V0cHV0X2VuY29kaW5nKHZvaWQpOwogZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9jb21taXRfb3V0cHV0X2VuY29kaW5nKHZvaWQpOwogCi1leHRlcm4gaW50IGdpdF9jb25maWdfcGFyc2VfcGFyYW1ldGVyKGNvbnN0IGNoYXIgKiwgY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpOwotCi1lbnVtIGNvbmZpZ19zY29wZSB7Ci0JQ09ORklHX1NDT1BFX1VOS05PV04gPSAwLAotCUNPTkZJR19TQ09QRV9TWVNURU0sCi0JQ09ORklHX1NDT1BFX0dMT0JBTCwKLQlDT05GSUdfU0NPUEVfUkVQTywKLQlDT05GSUdfU0NPUEVfQ01ETElORSwKLX07Ci0KLWV4dGVybiBlbnVtIGNvbmZpZ19zY29wZSBjdXJyZW50X2NvbmZpZ19zY29wZSh2b2lkKTsKLWV4dGVybiBjb25zdCBjaGFyICpjdXJyZW50X2NvbmZpZ19vcmlnaW5fdHlwZSh2b2lkKTsKLWV4dGVybiBjb25zdCBjaGFyICpjdXJyZW50X2NvbmZpZ19uYW1lKHZvaWQpOwotCi1zdHJ1Y3QgY29uZmlnX2luY2x1ZGVfZGF0YSB7Ci0JaW50IGRlcHRoOwotCWNvbmZpZ19mbl90IGZuOwotCXZvaWQgKmRhdGE7Ci19OwotI2RlZmluZSBDT05GSUdfSU5DTFVERV9JTklUIHsgMCB9Ci1leHRlcm4gaW50IGdpdF9jb25maWdfaW5jbHVkZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZGF0YSk7Ci0KLS8qCi0gKiBNYXRjaCBhbmQgcGFyc2UgYSBjb25maWcga2V5IG9mIHRoZSBmb3JtOgotICoKLSAqICAgc2VjdGlvbi4oc3Vic2VjdGlvbi4pP2tleQotICoKLSAqIChpLmUuLCB3aGF0IGdldHMgaGFuZGVkIHRvIGEgY29uZmlnX2ZuX3QpLiBUaGUgY2FsbGVyIHByb3ZpZGVzIHRoZSBzZWN0aW9uOwotICogd2UgcmV0dXJuIC0xIGlmIGl0IGRvZXMgbm90IG1hdGNoLCAwIG90aGVyd2lzZS4gVGhlIHN1YnNlY3Rpb24gYW5kIGtleQotICogb3V0LXBhcmFtZXRlcnMgYXJlIGZpbGxlZCBieSB0aGUgZnVuY3Rpb24gKGFuZCAqc3Vic2VjdGlvbiBpcyBOVUxMIGlmIGl0IGlzCi0gKiBtaXNzaW5nKS4KLSAqCi0gKiBJZiB0aGUgc3Vic2VjdGlvbiBwb2ludGVyLXRvLXBvaW50ZXIgcGFzc2VkIGluIGlzIE5VTEwsIHJldHVybnMgMCBvbmx5IGlmCi0gKiB0aGVyZSBpcyBubyBzdWJzZWN0aW9uIGF0IGFsbC4KLSAqLwotZXh0ZXJuIGludCBwYXJzZV9jb25maWdfa2V5KGNvbnN0IGNoYXIgKnZhciwKLQkJCSAgICBjb25zdCBjaGFyICpzZWN0aW9uLAotCQkJICAgIGNvbnN0IGNoYXIgKipzdWJzZWN0aW9uLCBpbnQgKnN1YnNlY3Rpb25fbGVuLAotCQkJICAgIGNvbnN0IGNoYXIgKiprZXkpOwotCi1zdHJ1Y3QgY29uZmlnX3NldF9lbGVtZW50IHsKLQlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnQ7Ci0JY2hhciAqa2V5OwotCXN0cnVjdCBzdHJpbmdfbGlzdCB2YWx1ZV9saXN0OwotfTsKLQotc3RydWN0IGNvbmZpZ3NldF9saXN0X2l0ZW0gewotCXN0cnVjdCBjb25maWdfc2V0X2VsZW1lbnQgKmU7Ci0JaW50IHZhbHVlX2luZGV4OwotfTsKLQotLyoKLSAqIHRoZSBjb250ZW50cyBvZiB0aGUgbGlzdCBhcmUgb3JkZXJlZCBhY2NvcmRpbmcgdG8gdGhlaXIKLSAqIHBvc2l0aW9uIGluIHRoZSBjb25maWcgZmlsZXMgYW5kIG9yZGVyIG9mIHBhcnNpbmcgdGhlIGZpbGVzLgotICogKGkuZS4ga2V5LXZhbHVlIHBhaXIgYXQgdGhlIGxhc3QgcG9zaXRpb24gb2YgLmdpdC9jb25maWcgd2lsbAotICogYmUgYXQgdGhlIGxhc3QgaXRlbSBvZiB0aGUgbGlzdCkKLSAqLwotc3RydWN0IGNvbmZpZ3NldF9saXN0IHsKLQlzdHJ1Y3QgY29uZmlnc2V0X2xpc3RfaXRlbSAqaXRlbXM7Ci0JdW5zaWduZWQgaW50IG5yLCBhbGxvYzsKLX07Ci0KLXN0cnVjdCBjb25maWdfc2V0IHsKLQlzdHJ1Y3QgaGFzaG1hcCBjb25maWdfaGFzaDsKLQlpbnQgaGFzaF9pbml0aWFsaXplZDsKLQlzdHJ1Y3QgY29uZmlnc2V0X2xpc3QgbGlzdDsKLX07Ci0KLWV4dGVybiB2b2lkIGdpdF9jb25maWdzZXRfaW5pdChzdHJ1Y3QgY29uZmlnX3NldCAqY3MpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnc2V0X2FkZF9maWxlKHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqZmlsZW5hbWUpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnc2V0X2dldF92YWx1ZShzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKnZhbHVlKTsKLWV4dGVybiBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmdpdF9jb25maWdzZXRfZ2V0X3ZhbHVlX211bHRpKHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5KTsKLWV4dGVybiB2b2lkIGdpdF9jb25maWdzZXRfY2xlYXIoc3RydWN0IGNvbmZpZ19zZXQgKmNzKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfc3RyaW5nX2NvbnN0KHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X3N0cmluZyhzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnc2V0X2dldF9pbnQoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X3Vsb25nKHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCB1bnNpZ25lZCBsb25nICpkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfYm9vbChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfYm9vbF9vcl9pbnQoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGludCAqaXNfYm9vbCwgaW50ICpkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfbWF5YmVfYm9vbChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfcGF0aG5hbWUoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKLQotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF92YWx1ZShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKip2YWx1ZSk7Ci1leHRlcm4gY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpnaXRfY29uZmlnX2dldF92YWx1ZV9tdWx0aShjb25zdCBjaGFyICprZXkpOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19jbGVhcih2b2lkKTsKLWV4dGVybiB2b2lkIGdpdF9jb25maWdfaXRlcihjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfZ2V0X3N0cmluZ19jb25zdChjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfc3RyaW5nKGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF91bG9uZyhjb25zdCBjaGFyICprZXksIHVuc2lnbmVkIGxvbmcgKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9ib29sKGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfYm9vbF9vcl9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfZ2V0X21heWJlX2Jvb2woY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9wYXRobmFtZShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfdW50cmFja2VkX2NhY2hlKHZvaWQpOwotCiAvKgogICogVGhpcyBpcyBhIGhhY2sgZm9yIHRlc3QgcHJvZ3JhbXMgbGlrZSB0ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlIHRvCiAgKiBlbnN1cmUgdGhhdCB0aGV5IGRvIG5vdCBtb2RpZnkgdGhlIHVudHJhY2tlZCBjYWNoZSB3aGVuIHJlYWRpbmcgaXQuCkBAIC0xOTQ5LDE2ICsxNzM3LDYgQEAKICAqLwogZXh0ZXJuIGludCBpZ25vcmVfdW50cmFja2VkX2NhY2hlX2NvbmZpZzsKIAotc3RydWN0IGtleV92YWx1ZV9pbmZvIHsKLQljb25zdCBjaGFyICpmaWxlbmFtZTsKLQlpbnQgbGluZW5yOwotCWVudW0gY29uZmlnX29yaWdpbl90eXBlIG9yaWdpbl90eXBlOwotCWVudW0gY29uZmlnX3Njb3BlIHNjb3BlOwotfTsKLQotZXh0ZXJuIE5PUkVUVVJOIHZvaWQgZ2l0X2RpZV9jb25maWcoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0KHByaW50ZiwgMiwgMykpKTsKLWV4dGVybiBOT1JFVFVSTiB2b2lkIGdpdF9kaWVfY29uZmlnX2xpbmVucihjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZW5yKTsKLQogZXh0ZXJuIGludCBjb21taXR0ZXJfaWRlbnRfc3VmZmljaWVudGx5X2dpdmVuKHZvaWQpOwogZXh0ZXJuIGludCBhdXRob3JfaWRlbnRfc3VmZmljaWVudGx5X2dpdmVuKHZvaWQpOwogCkBAIC0yMDYzLDYgKzE4NDEsOCBAQAogI2RlZmluZSBXU19UUkFJTElOR19TUEFDRSAgICAgIChXU19CTEFOS19BVF9FT0x8V1NfQkxBTktfQVRfRU9GKQogI2RlZmluZSBXU19ERUZBVUxUX1JVTEUgKFdTX1RSQUlMSU5HX1NQQUNFfFdTX1NQQUNFX0JFRk9SRV9UQUJ8OCkKICNkZWZpbmUgV1NfVEFCX1dJRFRIX01BU0sgICAgICAgIDA3NworLyogQWxsIFdTXyogLS0gd2hlbiBleHRlbmRlZCwgYWRhcHQgZGlmZi5jIGVtaXRfc3ltYm9sICovCisjZGVmaW5lIFdTX1JVTEVfTUFTSyAgICAgICAgICAgMDc3NzcKIGV4dGVybiB1bnNpZ25lZCB3aGl0ZXNwYWNlX3J1bGVfY2ZnOwogZXh0ZXJuIHVuc2lnbmVkIHdoaXRlc3BhY2VfcnVsZShjb25zdCBjaGFyICopOwogZXh0ZXJuIHVuc2lnbmVkIHBhcnNlX3doaXRlc3BhY2VfcnVsZShjb25zdCBjaGFyICopOwpAQCAtMjA3NCw3ICsxODU0LDggQEAKICNkZWZpbmUgd3NfdGFiX3dpZHRoKHJ1bGUpICAgICAoKHJ1bGUpICYgV1NfVEFCX1dJRFRIX01BU0spCiAKIC8qIGxzLWZpbGVzICovCi12b2lkIG92ZXJsYXlfdHJlZV9vbl9jYWNoZShjb25zdCBjaGFyICp0cmVlX25hbWUsIGNvbnN0IGNoYXIgKnByZWZpeCk7Cit2b2lkIG92ZXJsYXlfdHJlZV9vbl9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSAgIGNvbnN0IGNoYXIgKnRyZWVfbmFtZSwgY29uc3QgY2hhciAqcHJlZml4KTsKIAogY2hhciAqYWxpYXNfbG9va3VwKGNvbnN0IGNoYXIgKmFsaWFzKTsKIGludCBzcGxpdF9jbWRsaW5lKGNoYXIgKmNtZGxpbmUsIGNvbnN0IGNoYXIgKioqYXJndik7CkBAIC0yMDkzLDggKzE4NzQsOCBAQAogaW50IHRyeV9tZXJnZV9jb21tYW5kKGNvbnN0IGNoYXIgKnN0cmF0ZWd5LCBzaXplX3QgeG9wdHNfbnIsCiAJCWNvbnN0IGNoYXIgKip4b3B0cywgc3RydWN0IGNvbW1pdF9saXN0ICpjb21tb24sCiAJCWNvbnN0IGNoYXIgKmhlYWRfYXJnLCBzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlbW90ZXMpOwotaW50IGNoZWNrb3V0X2Zhc3RfZm9yd2FyZChjb25zdCB1bnNpZ25lZCBjaGFyICpmcm9tLAotCQkJICBjb25zdCB1bnNpZ25lZCBjaGFyICp0bywKK2ludCBjaGVja291dF9mYXN0X2ZvcndhcmQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqZnJvbSwKKwkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdG8sCiAJCQkgIGludCBvdmVyd3JpdGVfaWdub3JlKTsKIAogCmRpZmYgLS1naXQgYS9jaS9pbnN0YWxsLWRlcGVuZGVuY2llcy5zaCBiL2NpL2luc3RhbGwtZGVwZW5kZW5jaWVzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEyOTI0NmEKLS0tIC9kZXYvbnVsbAorKysgYi9jaS9pbnN0YWxsLWRlcGVuZGVuY2llcy5zaApAQCAtMCwwICsxLDQ2IEBACisjIS91c3IvYmluL2VudiBiYXNoCisjCisjIEluc3RhbGwgZGVwZW5kZW5jaWVzIHJlcXVpcmVkIHRvIGJ1aWxkIGFuZCB0ZXN0IEdpdCBvbiBMaW51eCBhbmQgbWFjT1MKKyMKKworLiAkezAlLyp9L2xpYi10cmF2aXNjaS5zaAorCitQNFdIRU5DRT1odHRwOi8vZmlsZWhvc3QucGVyZm9yY2UuY29tL3BlcmZvcmNlL3IkTElOVVhfUDRfVkVSU0lPTgorTEZTV0hFTkNFPWh0dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZ2l0LWxmcy9yZWxlYXNlcy9kb3dubG9hZC92JExJTlVYX0dJVF9MRlNfVkVSU0lPTgorCitjYXNlICIke1RSQVZJU19PU19OQU1FOi1saW51eH0iIGluCitsaW51eCkKKwlleHBvcnQgR0lUX1RFU1RfSFRUUEQ9WWVzUGxlYXNlCisKKwlta2RpciAtLXBhcmVudHMgY3VzdG9tL3A0CisJcHVzaGQgY3VzdG9tL3A0CisJCXdnZXQgLS1xdWlldCAiJFA0V0hFTkNFL2Jpbi5saW51eDI2eDg2XzY0L3A0ZCIKKwkJd2dldCAtLXF1aWV0ICIkUDRXSEVOQ0UvYmluLmxpbnV4MjZ4ODZfNjQvcDQiCisJCWNobW9kIHUreCBwNGQKKwkJY2htb2QgdSt4IHA0CisJCWV4cG9ydCBQQVRIPSIkKHB3ZCk6JFBBVEgiCisJcG9wZAorCW1rZGlyIC0tcGFyZW50cyBjdXN0b20vZ2l0LWxmcworCXB1c2hkIGN1c3RvbS9naXQtbGZzCisJCXdnZXQgLS1xdWlldCAiJExGU1dIRU5DRS9naXQtbGZzLWxpbnV4LWFtZDY0LSRMSU5VWF9HSVRfTEZTX1ZFUlNJT04udGFyLmd6IgorCQl0YXIgLS1leHRyYWN0IC0tZ3VuemlwIC0tZmlsZSAiZ2l0LWxmcy1saW51eC1hbWQ2NC0kTElOVVhfR0lUX0xGU19WRVJTSU9OLnRhci5neiIKKwkJY3AgZ2l0LWxmcy0kTElOVVhfR0lUX0xGU19WRVJTSU9OL2dpdC1sZnMgLgorCQlleHBvcnQgUEFUSD0iJChwd2QpOiRQQVRIIgorCXBvcGQKKwk7Oworb3N4KQorCWJyZXcgdXBkYXRlIC0tcXVpZXQKKwkjIFVuY29tbWVudCB0aGlzIGlmIHlvdSB3YW50IHRvIHJ1biBwZXJmIHRlc3RzOgorCSMgYnJldyBpbnN0YWxsIGdudS10aW1lCisJYnJldyBpbnN0YWxsIGdpdC1sZnMgZ2V0dGV4dAorCWJyZXcgbGluayAtLWZvcmNlIGdldHRleHQKKwlicmV3IGluc3RhbGwgY2Fza3Jvb20vY2Fzay9wZXJmb3JjZQorCTs7Citlc2FjCisKK2VjaG8gIiQodHB1dCBzZXRhZiA2KVBlcmZvcmNlIFNlcnZlciBWZXJzaW9uJCh0cHV0IHNncjApIgorcDRkIC1WIHwgZ3JlcCBSZXYuCitlY2hvICIkKHRwdXQgc2V0YWYgNilQZXJmb3JjZSBDbGllbnQgVmVyc2lvbiQodHB1dCBzZ3IwKSIKK3A0IC1WIHwgZ3JlcCBSZXYuCitlY2hvICIkKHRwdXQgc2V0YWYgNilHaXQtTEZTIFZlcnNpb24kKHRwdXQgc2dyMCkiCitnaXQtbGZzIHZlcnNpb24KZGlmZiAtLWdpdCBhL2NpL2xpYi10cmF2aXNjaS5zaCBiL2NpL2xpYi10cmF2aXNjaS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iM2VkMGEwCi0tLSAvZGV2L251bGwKKysrIGIvY2kvbGliLXRyYXZpc2NpLnNoCkBAIC0wLDAgKzEsMjggQEAKKyMgTGlicmFyeSBvZiBmdW5jdGlvbnMgc2hhcmVkIGJ5IGFsbCBDSSBzY3JpcHRzCisKK3NraXBfYnJhbmNoX3RpcF93aXRoX3RhZyAoKSB7CisJIyBTb21ldGltZXMsIGEgYnJhbmNoIGlzIHB1c2hlZCBhdCB0aGUgc2FtZSB0aW1lIHRoZSB0YWcgdGhhdCBwb2ludHMKKwkjIGF0IHRoZSBzYW1lIGNvbW1pdCBhcyB0aGUgdGlwIG9mIHRoZSBicmFuY2ggaXMgcHVzaGVkLCBhbmQgYnVpbGRpbmcKKwkjIGJvdGggYXQgdGhlIHNhbWUgdGltZSBpcyBhIHdhc3RlLgorCSMKKwkjIFRyYXZpcyBnaXZlcyBhIHRhZ25hbWUgZS5nLiB2Mi4xNC4wIGluICRUUkFWSVNfQlJBTkNIIHdoZW4KKwkjIHRoZSBidWlsZCBpcyB0cmlnZ2VyZWQgYnkgYSBwdXNoIHRvIGEgdGFnLiAgTGV0J3Mgc2VlIGlmCisJIyAkVFJBVklTX0JSQU5DSCBpcyBleGFjdGx5IGF0IGEgdGFnLCBhbmQgaWYgc28sIGlmIGl0IGlzCisJIyBkaWZmZXJlbnQgZnJvbSAkVFJBVklTX0JSQU5DSC4gIFRoYXQgd2F5LCB3ZSBjYW4gdGVsbCBpZgorCSMgd2UgYXJlIGJ1aWxkaW5nIHRoZSB0aXAgb2YgYSBicmFuY2ggdGhhdCBpcyB0YWdnZWQgYW5kCisJIyB3ZSBjYW4gc2tpcCB0aGUgYnVpbGQgYmVjYXVzZSB3ZSB3b24ndCBiZSBza2lwcGluZyBhIGJ1aWxkCisJIyBvZiBhIHRhZy4KKworCWlmIFRBRz0kKGdpdCBkZXNjcmliZSAtLWV4YWN0LW1hdGNoICIkVFJBVklTX0JSQU5DSCIgMj4vZGV2L251bGwpICYmCisJCXRlc3QgIiRUQUciICE9ICIkVFJBVklTX0JSQU5DSCIKKwl0aGVuCisJCWVjaG8gIlRpcCBvZiAkVFJBVklTX0JSQU5DSCBpcyBleGFjdGx5IGF0ICRUQUciCisJCWV4aXQgMAorCWZpCit9CisKKyMgU2V0ICdleGl0IG9uIGVycm9yJyBmb3IgYWxsIENJIHNjcmlwdHMgdG8gbGV0IHRoZSBjYWxsZXIga25vdyB0aGF0CisjIHNvbWV0aGluZyB3ZW50IHdyb25nCitzZXQgLWUKKworc2tpcF9icmFuY2hfdGlwX3dpdGhfdGFnCmRpZmYgLS1naXQgYS9jaS9wcmludC10ZXN0LWZhaWx1cmVzLnNoIGIvY2kvcHJpbnQtdGVzdC1mYWlsdXJlcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44Yzg5NzNjCi0tLSAvZGV2L251bGwKKysrIGIvY2kvcHJpbnQtdGVzdC1mYWlsdXJlcy5zaApAQCAtMCwwICsxLDE4IEBACisjIS9iaW4vc2gKKyMKKyMgUHJpbnQgb3V0cHV0IG9mIGZhaWxpbmcgdGVzdHMKKyMKKworLiAkezAlLyp9L2xpYi10cmF2aXNjaS5zaAorCitmb3IgVEVTVF9FWElUIGluIHQvdGVzdC1yZXN1bHRzLyouZXhpdAorZG8KKwlpZiBbICIkKGNhdCAiJFRFU1RfRVhJVCIpIiAhPSAiMCIgXQorCXRoZW4KKwkJVEVTVF9PVVQ9IiR7VEVTVF9FWElUJWV4aXR9b3V0IgorCQllY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisJCWVjaG8gIiQodHB1dCBzZXRhZiAxKSR7VEVTVF9PVVR9Li4uJCh0cHV0IHNncjApIgorCQllY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisJCWNhdCAiJHtURVNUX09VVH0iCisJZmkKK2RvbmUKZGlmZiAtLWdpdCBhL2NpL3J1bi1idWlsZC5zaCBiL2NpL3J1bi1idWlsZC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40Zjk0MGQxCi0tLSAvZGV2L251bGwKKysrIGIvY2kvcnVuLWJ1aWxkLnNoCkBAIC0wLDAgKzEsOCBAQAorIyEvYmluL3NoCisjCisjIEJ1aWxkIEdpdAorIworCisuICR7MCUvKn0vbGliLXRyYXZpc2NpLnNoCisKK21ha2UgLS1qb2JzPTIKZGlmZiAtLWdpdCBhL2NpL3J1bi1saW51eDMyLWRvY2tlci5zaCBiL2NpL3J1bi1saW51eDMyLWRvY2tlci5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZWRmNjNhCi0tLSAvZGV2L251bGwKKysrIGIvY2kvcnVuLWxpbnV4MzItZG9ja2VyLnNoCkBAIC0wLDAgKzEsMjMgQEAKKyMhL2Jpbi9zaAorIworIyBEb3dubG9hZCBhbmQgcnVuIERvY2tlciBpbWFnZSB0byBidWlsZCBhbmQgdGVzdCAzMi1iaXQgR2l0CisjCisKKy4gJHswJS8qfS9saWItdHJhdmlzY2kuc2gKKworZG9ja2VyIHB1bGwgZGFhbGQvdWJ1bnR1MzI6eGVuaWFsCisKKyMgVXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZCB0byBkZWJ1ZyB0aGUgZG9ja2VyIGJ1aWxkIGxvY2FsbHk6CisjICQgZG9ja2VyIHJ1biAtaXR2ICIke1BXRH06L3Vzci9zcmMvZ2l0IiAtLWVudHJ5cG9pbnQgL2Jpbi9iYXNoIGRhYWxkL3VidW50dTMyOnhlbmlhbAorIyByb290QGNvbnRhaW5lcjovIyAvdXNyL3NyYy9naXQvY2kvcnVuLWxpbnV4MzItYnVpbGQuc2gKKworZG9ja2VyIHJ1biBcCisJLS1pbnRlcmFjdGl2ZSBcCisJLS1lbnYgREVWRUxPUEVSIFwKKwktLWVudiBERUZBVUxUX1RFU1RfVEFSR0VUIFwKKwktLWVudiBHSVRfUFJPVkVfT1BUUyBcCisJLS1lbnYgR0lUX1RFU1RfT1BUUyBcCisJLS1lbnYgR0lUX1RFU1RfQ0xPTkVfMkdCIFwKKwktLXZvbHVtZSAiJHtQV0R9Oi91c3Ivc3JjL2dpdCIgXAorCWRhYWxkL3VidW50dTMyOnhlbmlhbCBcCisJL3Vzci9zcmMvZ2l0L2NpL3J1bi1saW51eDMyLWJ1aWxkLnNoICQoaWQgLXUgJFVTRVIpCmRpZmYgLS1naXQgYS9jaS9ydW4tc3RhdGljLWFuYWx5c2lzLnNoIGIvY2kvcnVuLXN0YXRpYy1hbmFseXNpcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42OGRkMGYwCi0tLSAvZGV2L251bGwKKysrIGIvY2kvcnVuLXN0YXRpYy1hbmFseXNpcy5zaApAQCAtMCwwICsxLDggQEAKKyMhL2Jpbi9zaAorIworIyBQZXJmb3JtIHZhcmlvdXMgc3RhdGljIGNvZGUgYW5hbHlzaXMgY2hlY2tzCisjCisKKy4gJHswJS8qfS9saWItdHJhdmlzY2kuc2gKKworbWFrZSBjb2NjaWNoZWNrCmRpZmYgLS1naXQgYS9jaS9ydW4tdGVzdHMuc2ggYi9jaS9ydW4tdGVzdHMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjBjNzQzZAotLS0gL2Rldi9udWxsCisrKyBiL2NpL3J1bi10ZXN0cy5zaApAQCAtMCwwICsxLDEwIEBACisjIS9iaW4vc2gKKyMKKyMgVGVzdCBHaXQKKyMKKworLiAkezAlLyp9L2xpYi10cmF2aXNjaS5zaAorCitta2RpciAtcCAkSE9NRS90cmF2aXMtY2FjaGUKK2xuIC1zICRIT01FL3RyYXZpcy1jYWNoZS8ucHJvdmUgdC8ucHJvdmUKK21ha2UgLS1xdWlldCB0ZXN0CmRpZmYgLS1naXQgYS9jaS9ydW4td2luZG93cy1idWlsZC5zaCBiL2NpL3J1bi13aW5kb3dzLWJ1aWxkLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3NTdiM2EKLS0tIC9kZXYvbnVsbAorKysgYi9jaS9ydW4td2luZG93cy1idWlsZC5zaApAQCAtMCwwICsxLDk2IEBACisjIS91c3IvYmluL2VudiBiYXNoCisjCisjIFNjcmlwdCB0byB0cmlnZ2VyIHRoZSBHaXQgZm9yIFdpbmRvd3MgYnVpbGQgYW5kIHRlc3QgcnVuLgorIyBTZXQgdGhlICRHRldfQ0lfVE9LRU4gYXMgZW52aXJvbm1lbnQgdmFyaWFibGUuCisjIFBhc3MgdGhlIGJyYW5jaCAob25seSBicmFuY2hlcyBvbiBodHRwczovL2dpdGh1Yi5jb20vZ2l0L2dpdCBhcmUKKyMgc3VwcG9ydGVkKSBhbmQgYSBjb21taXQgaGFzaC4KKyMKKworLiAkezAlLyp9L2xpYi10cmF2aXNjaS5zaAorCit0ZXN0ICQjIC1uZSAyICYmIGVjaG8gIlVuZXhwZWN0ZWQgbnVtYmVyIG9mIHBhcmFtZXRlcnMiICYmIGV4aXQgMQordGVzdCAteiAiJEdGV19DSV9UT0tFTiIgJiYgZWNobyAiR0ZXX0NJX1RPS0VOIG5vdCBkZWZpbmVkIiAmJiBleGl0CisKK0JSQU5DSD0kMQorQ09NTUlUPSQyCisKK2dmd2NpICgpIHsKKwlsb2NhbCBDVVJMX0VSUk9SX0NPREUgSFRUUF9DT0RFCisJQ09OVEVOVF9GSUxFPSQobWt0ZW1wIC10ICJnaXQtd2luZG93cy1jaS1YWFhYWFgiKQorCXdoaWxlIHRlc3QgLXogJEhUVFBfQ09ERQorCWRvCisJSFRUUF9DT0RFPSQoY3VybCBcCisJCS1IICJBdXRoZW50aWNhdGlvbjogQmVhcmVyICRHRldfQ0lfVE9LRU4iIFwKKwkJLS1zaWxlbnQgLS1yZXRyeSA1IC0td3JpdGUtb3V0ICcle0hUVFBfQ09ERX0nIFwKKwkJLS1vdXRwdXQgPihzZWQgIiQocHJpbnRmICcxcy9eXHhlZlx4YmJceGJmLy8nKSIgPiRDT05URU5UX0ZJTEUpIFwKKwkJImh0dHBzOi8vZ2l0LWZvci13aW5kb3dzLWNpLmF6dXJld2Vic2l0ZXMubmV0L2FwaS9UZXN0Tm93PyQxIiBcCisJKQorCUNVUkxfRVJST1JfQ09ERT0kPworCQkjIFRoZSBHZlcgQ0kgd2ViIGFwcCBzb21ldGltZXMgcmV0dXJucyBIVFRQIGVycm9ycyBvZgorCQkjICI1MDIgYmFkIGdhdGV3YXkiIG9yICI1MDMgc2VydmljZSB1bmF2YWlsYWJsZSIuCisJCSMgV2UgYWxzbyBuZWVkIHRvIGNoZWNrIHRoZSBIVFRQIGNvbnRlbnQgYmVjYXVzZSB0aGUgR2ZXIHdlYgorCQkjIGFwcCBzZWVtcyB0byBwYXNzIHRocm91Z2ggKGVycm9yKSByZXN1bHRzIGZyb20gb3RoZXIgQXp1cmUKKwkJIyBjYWxscyB3aXRoIEhUVFAgY29kZSAyMDAuCisJCSMgV2FpdCBhIGxpdHRsZSBhbmQgcmV0cnkgaWYgd2UgZGV0ZWN0IHRoaXMgZXJyb3IuIE1vcmUgaW5mbzoKKwkJIyBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi1pbi9henVyZS9hcHAtc2VydmljZS13ZWIvYXBwLXNlcnZpY2Utd2ViLXRyb3VibGVzaG9vdC1odHRwLTUwMi1odHRwLTUwMworCQlpZiB0ZXN0ICRIVFRQX0NPREUgLWVxIDUwMiB8fAorCQkgICB0ZXN0ICRIVFRQX0NPREUgLWVxIDUwMyB8fAorCQkgICBncmVwICI1MDIgLSBXZWIgc2VydmVyIHJlY2VpdmVkIGFuIGludmFsaWQgcmVzcG9uc2UiICRDT05URU5UX0ZJTEUgPi9kZXYvbnVsbAorCQl0aGVuCisJCQlzbGVlcCAxMAorCQkJSFRUUF9DT0RFPQorCQlmaQorCWRvbmUKKwljYXQgJENPTlRFTlRfRklMRQorCXJtICRDT05URU5UX0ZJTEUKKwlpZiB0ZXN0ICRDVVJMX0VSUk9SX0NPREUgLW5lIDAKKwl0aGVuCisJCXJldHVybiAkQ1VSTF9FUlJPUl9DT0RFCisJZmkKKwlpZiB0ZXN0ICIkSFRUUF9DT0RFIiAtZ2UgNDAwICYmIHRlc3QgIiRIVFRQX0NPREUiIC1sdCA2MDAKKwl0aGVuCisJCXJldHVybiAxMjcKKwlmaQorfQorCisjIFRyaWdnZXIgYnVpbGQgam9iCitCVUlMRF9JRD0kKGdmd2NpICJhY3Rpb249dHJpZ2dlciZicmFuY2g9JEJSQU5DSCZjb21taXQ9JENPTU1JVCZza2lwVGVzdHM9ZmFsc2UiKQoraWYgdGVzdCAkPyAtbmUgMAordGhlbgorCWVjaG8gIlVuYWJsZSB0byB0cmlnZ2VyIFZpc3VhbCBTdHVkaW8gVGVhbSBTZXJ2aWNlcyBCdWlsZCIKKwllY2hvICIkQlVJTERfSUQiCisJZXhpdCAxCitmaQorCisjIENoZWNrIGlmIHRoZSAkQlVJTERfSUQgY29udGFpbnMgYSBudW1iZXIKK2Nhc2UgJEJVSUxEX0lEIGluCisnJ3wqWyEwLTldKikgZWNobyAiVW5leHBlY3RlZCBidWlsZCBudW1iZXI6ICRCVUlMRF9JRCIgJiYgZXhpdCAxCitlc2FjCisKK2VjaG8gIlZpc3VhbCBTdHVkaW8gVGVhbSBTZXJ2aWNlcyBCdWlsZCAjJHtCVUlMRF9JRH0iCisKKyMgV2FpdCB1bnRpbCBidWlsZCBqb2IgZmluaXNoZWQKK1NUQVRVUz0KK1JFU1VMVD0KK3doaWxlIHRydWUKK2RvCisJTEFTVF9TVEFUVVM9JFNUQVRVUworCVNUQVRVUz0kKGdmd2NpICJhY3Rpb249c3RhdHVzJmJ1aWxkSWQ9JEJVSUxEX0lEIikKKwl0ZXN0ICIkU1RBVFVTIiA9ICIkTEFTVF9TVEFUVVMiIHx8IHByaW50ZiAiXG5TdGF0dXM6ICVzICIgIiRTVEFUVVMiCisJcHJpbnRmICIuIgorCisJY2FzZSAiJFNUQVRVUyIgaW4KKwlpblByb2dyZXNzfHBvc3Rwb25lZHxub3RTdGFydGVkKSBzbGVlcCAxMCAgICAgICAgICAgICAgIDs7ICMgY29udGludWUKKwkJICJjb21wbGV0ZWQ6IHN1Y2NlZWRlZCIpIFJFU1VMVD0ic3VjY2VzcyI7IGJyZWFrOzsgIyBzdWNjZXNzCisJCSAgICAiY29tcGxldGVkOiBmYWlsZWQiKSAgICAgICAgICAgICAgICAgICBicmVhazs7ICMgZmFpbHVyZQorCSopIGVjaG8gIlVuaGFuZGxlZCBzdGF0dXM6ICRTVEFUVVMiOyAgICAgICAgICAgICAgIGJyZWFrOzsgIyB1bmtub3duCisJZXNhYworZG9uZQorCisjIFByaW50IGxvZworZWNobyAiIgorZWNobyAiIgorZ2Z3Y2kgImFjdGlvbj1sb2cmYnVpbGRJZD0kQlVJTERfSUQiIHwgY3V0IC1jIDMwLQorCisjIFNldCBleGl0IGNvZGUgZm9yIFRyYXZpc0NJCit0ZXN0ICIkUkVTVUxUIiA9ICJzdWNjZXNzIgpkaWZmIC0tZ2l0IGEvY2kvdGVzdC1kb2N1bWVudGF0aW9uLnNoIGIvY2kvdGVzdC1kb2N1bWVudGF0aW9uLnNoCmluZGV4IDU3OWQ1NDAuLjdhMGE4NDggMTAwNzU1Ci0tLSBhL2NpL3Rlc3QtZG9jdW1lbnRhdGlvbi5zaAorKysgYi9jaS90ZXN0LWRvY3VtZW50YXRpb24uc2gKQEAgLTEsMTQgKzEsMjcgQEAKLSMhL2Jpbi9zaAorIyEvdXNyL2Jpbi9lbnYgYmFzaAogIwogIyBQZXJmb3JtIHNhbml0eSBjaGVja3Mgb24gZG9jdW1lbnRhdGlvbiBhbmQgYnVpbGQgaXQuCiAjCiAKLXNldCAtZQorLiAkezAlLyp9L2xpYi10cmF2aXNjaS5zaAorCitnZW0gaW5zdGFsbCBhc2NpaWRvY3RvcgogCiBtYWtlIGNoZWNrLWJ1aWx0aW5zCiBtYWtlIGNoZWNrLWRvY3MKLW1ha2UgZG9jCiAKKyMgQnVpbGQgZG9jcyB3aXRoIEFzY2lpRG9jCittYWtlIC0tam9icz0yIGRvYyA+ID4odGVlIHN0ZG91dC5sb2cpIDI+ID4odGVlIHN0ZGVyci5sb2cgPiYyKQorISB0ZXN0IC1zIHN0ZGVyci5sb2cKIHRlc3QgLXMgRG9jdW1lbnRhdGlvbi9naXQuaHRtbAogdGVzdCAtcyBEb2N1bWVudGF0aW9uL2dpdC54bWwKIHRlc3QgLXMgRG9jdW1lbnRhdGlvbi9naXQuMQorZ3JlcCAnPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJBc2NpaURvYyAnIERvY3VtZW50YXRpb24vZ2l0Lmh0bWwKKworIyBCdWlsZCBkb2NzIHdpdGggQXNjaWlEb2N0b3IKK21ha2UgY2xlYW4KK21ha2UgLS1qb2JzPTIgVVNFX0FTQ0lJRE9DVE9SPTEgZG9jID4gPih0ZWUgc3Rkb3V0LmxvZykgMj4gPih0ZWUgc3RkZXJyLmxvZyA+JjIpCitzZWQgJy9eR0lUX1ZFUlNJT04gPSAvIGQnIHN0ZGVyci5sb2cKKyEgdGVzdCAtcyBzdGRlcnIubG9nCit0ZXN0IC1zIERvY3VtZW50YXRpb24vZ2l0Lmh0bWwKK2dyZXAgJzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iQXNjaWlkb2N0b3IgJyBEb2N1bWVudGF0aW9uL2dpdC5odG1sCmRpZmYgLS1naXQgYS9jb2xvci5jIGIvY29sb3IuYwppbmRleCBkZWU2MTU1Li45Y2NkOTU0IDEwMDY0NAotLS0gYS9jb2xvci5jCisrKyBiL2NvbG9yLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJjb2xvci5oIgogCiBzdGF0aWMgaW50IGdpdF91c2VfY29sb3JfZGVmYXVsdCA9IEdJVF9DT0xPUl9BVVRPOwpAQCAtMzM3LDYgKzMzOCwxMyBAQAogCiBpbnQgd2FudF9jb2xvcihpbnQgdmFyKQogeworCS8qCisJICogTkVFRFNXT1JLOiBUaGlzIGZ1bmN0aW9uIGlzIHNvbWV0aW1lcyB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcywgYW5kCisJICogd2UgZW5kIHVwIHVzaW5nIHdhbnRfYXV0byByYWNpbHkuIFRoYXQgInNob3VsZCBub3QgbWF0dGVyIiBzaW5jZQorCSAqIHdlIGFsd2F5cyB3cml0ZSB0aGUgc2FtZSB2YWx1ZSwgYnV0IGl0J3Mgc3RpbGwgd3JvbmcuIFRoaXMgZnVuY3Rpb24KKwkgKiBpcyBsaXN0ZWQgaW4gLnRzYW4tc3VwcHJlc3Npb25zIGZvciB0aGUgdGltZSBiZWluZy4KKwkgKi8KKwogCXN0YXRpYyBpbnQgd2FudF9hdXRvID0gLTE7CiAKIAlpZiAodmFyIDwgMCkKQEAgLTM2MCwxNCArMzY4LDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IGdpdF9jb2xvcl9kZWZhdWx0X2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKLXsKLQlpZiAoZ2l0X2NvbG9yX2NvbmZpZyh2YXIsIHZhbHVlLCBjYikgPCAwKQotCQlyZXR1cm4gLTE7Ci0KLQlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKLX0KLQogdm9pZCBjb2xvcl9wcmludF9zdHJidWYoRklMRSAqZnAsIGNvbnN0IGNoYXIgKmNvbG9yLCBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpzYikKIHsKIAlpZiAoKmNvbG9yKQpkaWZmIC0tZ2l0IGEvY29sb3IuaCBiL2NvbG9yLmgKaW5kZXggOTA2Mjc2NS4uZmQyYjY4OCAxMDA2NDQKLS0tIGEvY29sb3IuaAorKysgYi9jb2xvci5oCkBAIC00Miw2ICs0Miw4IEBACiAjZGVmaW5lIEdJVF9DT0xPUl9CR19CTFVFCSJcMDMzWzQ0bSIKICNkZWZpbmUgR0lUX0NPTE9SX0JHX01BR0VOVEEJIlwwMzNbNDVtIgogI2RlZmluZSBHSVRfQ09MT1JfQkdfQ1lBTgkiXDAzM1s0Nm0iCisjZGVmaW5lIEdJVF9DT0xPUl9GQUlOVAkJIlwwMzNbMm0iCisjZGVmaW5lIEdJVF9DT0xPUl9GQUlOVF9JVEFMSUMJIlwwMzNbMjszbSIKIAogLyogQSBzcGVjaWFsIHZhbHVlIG1lYW5pbmcgIm5vIGNvbG9yIHNlbGVjdGVkIiAqLwogI2RlZmluZSBHSVRfQ09MT1JfTklMICJOSUwiCmRpZmYgLS1naXQgYS9jb2x1bW4uYyBiL2NvbHVtbi5jCmluZGV4IGQ1NWVhZDEuLmZmN2JkYWIgMTAwNjQ0Ci0tLSBhL2NvbHVtbi5jCisrKyBiL2NvbHVtbi5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29sdW1uLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCmRpZmYgLS1naXQgYS9jb21iaW5lLWRpZmYuYyBiL2NvbWJpbmUtZGlmZi5jCmluZGV4IDU5NTAxZGIuLjllMTYzZDUgMTAwNjQ0Ci0tLSBhL2NvbWJpbmUtZGlmZi5jCisrKyBiL2NvbWJpbmUtZGlmZi5jCkBAIC0yOTIsMTYgKzI5MiwxNyBAQAogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAogCWlmIChTX0lTR0lUTElOSyhtb2RlKSkgewotCQlibG9iID0geG1hbGxvYygxMDApOwotCQkqc2l6ZSA9IHNucHJpbnRmKGJsb2IsIDEwMCwKLQkJCQkgIlN1YnByb2plY3QgY29tbWl0ICVzXG4iLCBvaWRfdG9faGV4KG9pZCkpOworCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCQlzdHJidWZfYWRkZigmYnVmLCAiU3VicHJvamVjdCBjb21taXQgJXNcbiIsIG9pZF90b19oZXgob2lkKSk7CisJCSpzaXplID0gYnVmLmxlbjsKKwkJYmxvYiA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CiAJfSBlbHNlIGlmIChpc19udWxsX29pZChvaWQpKSB7CiAJCS8qIGRlbGV0ZWQgYmxvYiAqLwogCQkqc2l6ZSA9IDA7CiAJCXJldHVybiB4Y2FsbG9jKDEsIDEpOwogCX0gZWxzZSBpZiAodGV4dGNvbnYpIHsKIAkJc3RydWN0IGRpZmZfZmlsZXNwZWMgKmRmID0gYWxsb2NfZmlsZXNwZWMocGF0aCk7Ci0JCWZpbGxfZmlsZXNwZWMoZGYsIG9pZC0+aGFzaCwgMSwgbW9kZSk7CisJCWZpbGxfZmlsZXNwZWMoZGYsIG9pZCwgMSwgbW9kZSk7CiAJCSpzaXplID0gZmlsbF90ZXh0Y29udih0ZXh0Y29udiwgZGYsICZibG9iKTsKIAkJZnJlZV9maWxlc3BlYyhkZik7CiAJfSBlbHNlIHsKQEAgLTEwMjEsNyArMTAyMiw3IEBACiAJCQkJCQkgICAmcmVzdWx0X3NpemUsIE5VTEwsIE5VTEwpOwogCQl9IGVsc2UgaWYgKHRleHRjb252KSB7CiAJCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqZGYgPSBhbGxvY19maWxlc3BlYyhlbGVtLT5wYXRoKTsKLQkJCWZpbGxfZmlsZXNwZWMoZGYsIG51bGxfc2hhMSwgMCwgc3Quc3RfbW9kZSk7CisJCQlmaWxsX2ZpbGVzcGVjKGRmLCAmbnVsbF9vaWQsIDAsIHN0LnN0X21vZGUpOwogCQkJcmVzdWx0X3NpemUgPSBmaWxsX3RleHRjb252KHRleHRjb252LCBkZiwgJnJlc3VsdCk7CiAJCQlmcmVlX2ZpbGVzcGVjKGRmKTsKIAkJfSBlbHNlIGlmICgwIDw9IChmZCA9IG9wZW4oZWxlbS0+cGF0aCwgT19SRE9OTFkpKSkgewpAQCAtMTA1Miw3ICsxMDUzLDcgQEAKIAkJCWlmIChpc19maWxlKSB7CiAJCQkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAotCQkJCWlmIChjb252ZXJ0X3RvX2dpdChlbGVtLT5wYXRoLCByZXN1bHQsIGxlbiwgJmJ1Ziwgc2FmZV9jcmxmKSkgeworCQkJCWlmIChjb252ZXJ0X3RvX2dpdCgmdGhlX2luZGV4LCBlbGVtLT5wYXRoLCByZXN1bHQsIGxlbiwgJmJ1Ziwgc2FmZV9jcmxmKSkgewogCQkJCQlmcmVlKHJlc3VsdCk7CiAJCQkJCXJlc3VsdCA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgJmxlbik7CiAJCQkJCXJlc3VsdF9zaXplID0gbGVuOwpAQCAtMTMxMCw4ICsxMzExLDggQEAKIAogCiAvKiBmaW5kIHNldCBvZiBwYXRocyB0aGF0IGV2ZXJ5IHBhcmVudCB0b3VjaGVzICovCi1zdGF0aWMgc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpmaW5kX3BhdGhzX2dlbmVyaWMoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQljb25zdCBzdHJ1Y3Qgc2hhMV9hcnJheSAqcGFyZW50cywgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQorc3RhdGljIHN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqZmluZF9wYXRoc19nZW5lcmljKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwljb25zdCBzdHJ1Y3Qgb2lkX2FycmF5ICpwYXJlbnRzLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCiB7CiAJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpwYXRocyA9IE5VTEw7CiAJaW50IGksIG51bV9wYXJlbnQgPSBwYXJlbnRzLT5ucjsKQEAgLTEzMzUsNyArMTMzNiw3IEBACiAJCQlvcHQtPm91dHB1dF9mb3JtYXQgPSBzdGF0X29wdDsKIAkJZWxzZQogCQkJb3B0LT5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTk9fT1VUUFVUOwotCQlkaWZmX3RyZWVfc2hhMShwYXJlbnRzLT5zaGExW2ldLCBzaGExLCAiIiwgb3B0KTsKKwkJZGlmZl90cmVlX29pZCgmcGFyZW50cy0+b2lkW2ldLCBvaWQsICIiLCBvcHQpOwogCQlkaWZmY29yZV9zdGQob3B0KTsKIAkJcGF0aHMgPSBpbnRlcnNlY3RfcGF0aHMocGF0aHMsIGksIG51bV9wYXJlbnQpOwogCkBAIC0xMzU5LDMyICsxMzYwLDMyIEBACiAgKiByZW5hbWUvY29weSBkZXRlY3Rpb24sIGV0YywgY29tcGFyaW5nIGFsbCB0cmVlcyBzaW11bHRhbmVvdXNseSAoPSBmYXN0ZXIpLgogICovCiBzdGF0aWMgc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpmaW5kX3BhdGhzX211bHRpdHJlZSgKLQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBzdHJ1Y3Qgc2hhMV9hcnJheSAqcGFyZW50cywKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IHN0cnVjdCBvaWRfYXJyYXkgKnBhcmVudHMsCiAJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQogewogCWludCBpLCBucGFyZW50ID0gcGFyZW50cy0+bnI7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqKnBhcmVudHNfc2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICoqcGFyZW50c19vaWQ7CiAJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoIHBhdGhzX2hlYWQ7CiAJc3RydWN0IHN0cmJ1ZiBiYXNlOwogCi0JQUxMT0NfQVJSQVkocGFyZW50c19zaGExLCBucGFyZW50KTsKKwlBTExPQ19BUlJBWShwYXJlbnRzX29pZCwgbnBhcmVudCk7CiAJZm9yIChpID0gMDsgaSA8IG5wYXJlbnQ7IGkrKykKLQkJcGFyZW50c19zaGExW2ldID0gcGFyZW50cy0+c2hhMVtpXTsKKwkJcGFyZW50c19vaWRbaV0gPSAmcGFyZW50cy0+b2lkW2ldOwogCiAJLyogZmFrZSBsaXN0IGhlYWQsIHNvIHdvcmtlciBjYW4gYXNzdW1lIGl0IGlzIG5vbi1OVUxMICovCiAJcGF0aHNfaGVhZC5uZXh0ID0gTlVMTDsKIAogCXN0cmJ1Zl9pbml0KCZiYXNlLCBQQVRIX01BWCk7Ci0JZGlmZl90cmVlX3BhdGhzKCZwYXRoc19oZWFkLCBzaGExLCBwYXJlbnRzX3NoYTEsIG5wYXJlbnQsICZiYXNlLCBvcHQpOworCWRpZmZfdHJlZV9wYXRocygmcGF0aHNfaGVhZCwgb2lkLCBwYXJlbnRzX29pZCwgbnBhcmVudCwgJmJhc2UsIG9wdCk7CiAKIAlzdHJidWZfcmVsZWFzZSgmYmFzZSk7Ci0JZnJlZShwYXJlbnRzX3NoYTEpOworCWZyZWUocGFyZW50c19vaWQpOwogCXJldHVybiBwYXRoc19oZWFkLm5leHQ7CiB9CiAKIAotdm9pZCBkaWZmX3RyZWVfY29tYmluZWQoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJCWNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpwYXJlbnRzLAordm9pZCBkaWZmX3RyZWVfY29tYmluZWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJY29uc3Qgc3RydWN0IG9pZF9hcnJheSAqcGFyZW50cywKIAkJCWludCBkZW5zZSwKIAkJCXN0cnVjdCByZXZfaW5mbyAqcmV2KQogewpAQCAtMTQ0NywxMSArMTQ0OCwxMSBAQAogCQkgKiBkaWZmKHNoYTEscGFyZW50X2kpIGZvciBhbGwgaSB0byBkbyB0aGUgam9iLCBzcGVjaWZpY2FsbHkKIAkJICogZm9yIHBhcmVudDAuCiAJCSAqLwotCQlwYXRocyA9IGZpbmRfcGF0aHNfZ2VuZXJpYyhzaGExLCBwYXJlbnRzLCAmZGlmZm9wdHMpOworCQlwYXRocyA9IGZpbmRfcGF0aHNfZ2VuZXJpYyhvaWQsIHBhcmVudHMsICZkaWZmb3B0cyk7CiAJfQogCWVsc2UgewogCQlpbnQgc3RhdF9vcHQ7Ci0JCXBhdGhzID0gZmluZF9wYXRoc19tdWx0aXRyZWUoc2hhMSwgcGFyZW50cywgJmRpZmZvcHRzKTsKKwkJcGF0aHMgPSBmaW5kX3BhdGhzX211bHRpdHJlZShvaWQsIHBhcmVudHMsICZkaWZmb3B0cyk7CiAKIAkJLyoKIAkJICogc2hvdyBzdGF0IGFnYWluc3QgdGhlIGZpcnN0IHBhcmVudCBldmVuCkBAIC0xNDYyLDcgKzE0NjMsNyBAQAogCQlpZiAoc3RhdF9vcHQpIHsKIAkJCWRpZmZvcHRzLm91dHB1dF9mb3JtYXQgPSBzdGF0X29wdDsKIAotCQkJZGlmZl90cmVlX3NoYTEocGFyZW50cy0+c2hhMVswXSwgc2hhMSwgIiIsICZkaWZmb3B0cyk7CisJCQlkaWZmX3RyZWVfb2lkKCZwYXJlbnRzLT5vaWRbMF0sIG9pZCwgIiIsICZkaWZmb3B0cyk7CiAJCQlkaWZmY29yZV9zdGQoJmRpZmZvcHRzKTsKIAkJCWlmIChvcHQtPm9yZGVyZmlsZSkKIAkJCQlkaWZmY29yZV9vcmRlcihvcHQtPm9yZGVyZmlsZSk7CkBAIC0xNTMyLDEyICsxNTMzLDEyIEBACiAJCQkgICAgICBzdHJ1Y3QgcmV2X2luZm8gKnJldikKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudCA9IGdldF9zYXZlZF9wYXJlbnRzKHJldiwgY29tbWl0KTsKLQlzdHJ1Y3Qgc2hhMV9hcnJheSBwYXJlbnRzID0gU0hBMV9BUlJBWV9JTklUOworCXN0cnVjdCBvaWRfYXJyYXkgcGFyZW50cyA9IE9JRF9BUlJBWV9JTklUOwogCiAJd2hpbGUgKHBhcmVudCkgewotCQlzaGExX2FycmF5X2FwcGVuZCgmcGFyZW50cywgcGFyZW50LT5pdGVtLT5vYmplY3Qub2lkLmhhc2gpOworCQlvaWRfYXJyYXlfYXBwZW5kKCZwYXJlbnRzLCAmcGFyZW50LT5pdGVtLT5vYmplY3Qub2lkKTsKIAkJcGFyZW50ID0gcGFyZW50LT5uZXh0OwogCX0KLQlkaWZmX3RyZWVfY29tYmluZWQoY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsICZwYXJlbnRzLCBkZW5zZSwgcmV2KTsKLQlzaGExX2FycmF5X2NsZWFyKCZwYXJlbnRzKTsKKwlkaWZmX3RyZWVfY29tYmluZWQoJmNvbW1pdC0+b2JqZWN0Lm9pZCwgJnBhcmVudHMsIGRlbnNlLCByZXYpOworCW9pZF9hcnJheV9jbGVhcigmcGFyZW50cyk7CiB9CmRpZmYgLS1naXQgYS9jb21taXQtc2xhYi5oIGIvY29tbWl0LXNsYWIuaAppbmRleCA0MmQxNmRjLi5kY2FhYjhjIDEwMDY0NAotLS0gYS9jb21taXQtc2xhYi5oCisrKyBiL2NvbW1pdC1zbGFiLmgKQEAgLTc4LDI1ICs3OCwyNCBAQAogCQkJCQkJCQkJXAogc3RhdGljIE1BWUJFX1VOVVNFRCB2b2lkIGNsZWFyXyAjI3NsYWJuYW1lKHN0cnVjdCBzbGFibmFtZSAqcykJCVwKIHsJCQkJCQkJCQlcCi0JaW50IGk7CQkJCQkJCQlcCisJdW5zaWduZWQgaW50IGk7CQkJCQkJCVwKIAlmb3IgKGkgPSAwOyBpIDwgcy0+c2xhYl9jb3VudDsgaSsrKQkJCQlcCiAJCWZyZWUocy0+c2xhYltpXSk7CQkJCQlcCiAJcy0+c2xhYl9jb3VudCA9IDA7CQkJCQkJXAotCWZyZWUocy0+c2xhYik7CQkJCQkJCVwKLQlzLT5zbGFiID0gTlVMTDsJCQkJCQkJXAorCUZSRUVfQU5EX05VTEwocy0+c2xhYik7CQkJCQkJXAogfQkJCQkJCQkJCVwKIAkJCQkJCQkJCVwKIHN0YXRpYyBNQVlCRV9VTlVTRUQgZWxlbXR5cGUgKnNsYWJuYW1lIyMgX2F0X3BlZWsoc3RydWN0IHNsYWJuYW1lICpzLAlcCiAJCQkJCQkgIGNvbnN0IHN0cnVjdCBjb21taXQgKmMsIFwKIAkJCQkJCSAgaW50IGFkZF9pZl9taXNzaW5nKSAgIFwKIHsJCQkJCQkJCQlcCi0JaW50IG50aF9zbGFiLCBudGhfc2xvdDsJCQkJCQlcCisJdW5zaWduZWQgaW50IG50aF9zbGFiLCBudGhfc2xvdDsJCQkJXAogCQkJCQkJCQkJXAogCW50aF9zbGFiID0gYy0+aW5kZXggLyBzLT5zbGFiX3NpemU7CQkJCVwKIAludGhfc2xvdCA9IGMtPmluZGV4ICUgcy0+c2xhYl9zaXplOwkJCQlcCiAJCQkJCQkJCQlcCiAJaWYgKHMtPnNsYWJfY291bnQgPD0gbnRoX3NsYWIpIHsJCQkJXAotCQlpbnQgaTsJCQkJCQkJXAorCQl1bnNpZ25lZCBpbnQgaTsJCQkJCQlcCiAJCWlmICghYWRkX2lmX21pc3NpbmcpCQkJCQlcCiAJCQlyZXR1cm4gTlVMTDsJCQkJCVwKIAkJUkVBTExPQ19BUlJBWShzLT5zbGFiLCBudGhfc2xhYiArIDEpOwkJCVwKZGlmZiAtLWdpdCBhL2NvbW1pdC5jIGIvY29tbWl0LmMKaW5kZXggZmFiODI2OS4uMWUwZTYzMyAxMDA2NDQKLS0tIGEvY29tbWl0LmMKKysrIGIvY29tbWl0LmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlICJjb21taXQtc2xhYi5oIgogI2luY2x1ZGUgInByaW8tcXVldWUuaCIKICNpbmNsdWRlICJzaGExLWxvb2t1cC5oIgorI2luY2x1ZGUgInd0LXN0YXR1cy5oIgogCiBzdGF0aWMgc3RydWN0IGNvbW1pdF9leHRyYV9oZWFkZXIgKnJlYWRfY29tbWl0X2V4dHJhX2hlYWRlcl9saW5lcyhjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKiopOwogCkBAIC0xOCwzOCArMTksMzggQEAKIAogY29uc3QgY2hhciAqY29tbWl0X3R5cGUgPSAiY29tbWl0IjsKIAotc3RydWN0IGNvbW1pdCAqbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdHJ1Y3QgY29tbWl0ICpsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJCQkgICAgICBpbnQgcXVpZXQpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChzaGExKSwgTlVMTCwgMCk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChvaWQpLCBOVUxMLCAwKTsKIAogCWlmICghb2JqKQogCQlyZXR1cm4gTlVMTDsKIAlyZXR1cm4gb2JqZWN0X2FzX3R5cGUob2JqLCBPQkpfQ09NTUlULCBxdWlldCk7CiB9CiAKLXN0cnVjdCBjb21taXQgKmxvb2t1cF9jb21taXRfcmVmZXJlbmNlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdHJ1Y3QgY29tbWl0ICpsb29rdXBfY29tbWl0X3JlZmVyZW5jZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0JcmV0dXJuIGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzaGExLCAwKTsKKwlyZXR1cm4gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZCwgMCk7CiB9CiAKLXN0cnVjdCBjb21taXQgKmxvb2t1cF9jb21taXRfb3JfZGllKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKnJlZl9uYW1lKQorc3RydWN0IGNvbW1pdCAqbG9va3VwX2NvbW1pdF9vcl9kaWUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpyZWZfbmFtZSkKIHsKLQlzdHJ1Y3QgY29tbWl0ICpjID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7CisJc3RydWN0IGNvbW1pdCAqYyA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZCk7CiAJaWYgKCFjKQogCQlkaWUoXygiY291bGQgbm90IHBhcnNlICVzIiksIHJlZl9uYW1lKTsKLQlpZiAoaGFzaGNtcChzaGExLCBjLT5vYmplY3Qub2lkLmhhc2gpKSB7CisJaWYgKG9pZGNtcChvaWQsICZjLT5vYmplY3Qub2lkKSkgewogCQl3YXJuaW5nKF8oIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiKSwKLQkJCXJlZl9uYW1lLCBzaGExX3RvX2hleChzaGExKSk7CisJCQlyZWZfbmFtZSwgb2lkX3RvX2hleChvaWQpKTsKIAl9CiAJcmV0dXJuIGM7CiB9CiAKLXN0cnVjdCBjb21taXQgKmxvb2t1cF9jb21taXQoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0cnVjdCBjb21taXQgKmxvb2t1cF9jb21taXQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXN0cnVjdCBvYmplY3QgKm9iaiA9IGxvb2t1cF9vYmplY3Qoc2hhMSk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChvaWQtPmhhc2gpOwogCWlmICghb2JqKQotCQlyZXR1cm4gY3JlYXRlX29iamVjdChzaGExLCBhbGxvY19jb21taXRfbm9kZSgpKTsKKwkJcmV0dXJuIGNyZWF0ZV9vYmplY3Qob2lkLT5oYXNoLCBhbGxvY19jb21taXRfbm9kZSgpKTsKIAlyZXR1cm4gb2JqZWN0X2FzX3R5cGUob2JqLCBPQkpfQ09NTUlULCAwKTsKIH0KIApAQCAtNTgsMTUgKzU5LDE1IEBACiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCi0JaWYgKGdldF9zaGExX2NvbW1pdHRpc2gobmFtZSwgb2lkLmhhc2gpKQorCWlmIChnZXRfb2lkX2NvbW1pdHRpc2gobmFtZSwgJm9pZCkpCiAJCXJldHVybiBOVUxMOwotCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZC5oYXNoKTsKKwljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmb2lkKTsKIAlpZiAocGFyc2VfY29tbWl0KGNvbW1pdCkpCiAJCXJldHVybiBOVUxMOwogCXJldHVybiBjb21taXQ7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIHBhcnNlX2NvbW1pdF9kYXRlKGNvbnN0IGNoYXIgKmJ1ZiwgY29uc3QgY2hhciAqdGFpbCkKK3N0YXRpYyB0aW1lc3RhbXBfdCBwYXJzZV9jb21taXRfZGF0ZShjb25zdCBjaGFyICpidWYsIGNvbnN0IGNoYXIgKnRhaWwpCiB7CiAJY29uc3QgY2hhciAqZGF0ZXB0cjsKIApAQCAtODksOCArOTAsOCBAQAogCQkvKiBuYWRhICovOwogCWlmIChidWYgPj0gdGFpbCkKIAkJcmV0dXJuIDA7Ci0JLyogZGF0ZXB0ciA8IGJ1ZiAmJiBidWZbLTFdID09ICdcbicsIHNvIHN0cnRvdWwgd2lsbCBzdG9wIGF0IGJ1Zi0xICovCi0JcmV0dXJuIHN0cnRvdWwoZGF0ZXB0ciwgTlVMTCwgMTApOworCS8qIGRhdGVwdHIgPCBidWYgJiYgYnVmWy0xXSA9PSAnXG4nLCBzbyBwYXJzaW5nIHdpbGwgc3RvcCBhdCBidWYtMSAqLworCXJldHVybiBwYXJzZV90aW1lc3RhbXAoZGF0ZXB0ciwgTlVMTCwgMTApOwogfQogCiBzdGF0aWMgc3RydWN0IGNvbW1pdF9ncmFmdCAqKmNvbW1pdF9ncmFmdDsKQEAgLTEzMyw0NyArMTM0LDUzIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0cnVjdCBjb21taXRfZ3JhZnQgKnJlYWRfZ3JhZnRfbGluZShjaGFyICpidWYsIGludCBsZW4pCitzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpyZWFkX2dyYWZ0X2xpbmUoc3RydWN0IHN0cmJ1ZiAqbGluZSkKIHsKIAkvKiBUaGUgZm9ybWF0IGlzIGp1c3QgIkNvbW1pdCBQYXJlbnQxIFBhcmVudDIgLi4uXG4iICovCi0JaW50IGk7CisJaW50IGksIHBoYXNlOworCWNvbnN0IGNoYXIgKnRhaWwgPSBOVUxMOwogCXN0cnVjdCBjb21taXRfZ3JhZnQgKmdyYWZ0ID0gTlVMTDsKLQljb25zdCBpbnQgZW50cnlfc2l6ZSA9IEdJVF9TSEExX0hFWFNaICsgMTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGR1bW15X29pZCwgKm9pZDsKIAotCXdoaWxlIChsZW4gJiYgaXNzcGFjZShidWZbbGVuLTFdKSkKLQkJYnVmWy0tbGVuXSA9ICdcMCc7Ci0JaWYgKGJ1ZlswXSA9PSAnIycgfHwgYnVmWzBdID09ICdcMCcpCisJc3RyYnVmX3J0cmltKGxpbmUpOworCWlmICghbGluZS0+bGVuIHx8IGxpbmUtPmJ1ZlswXSA9PSAnIycpCiAJCXJldHVybiBOVUxMOwotCWlmICgobGVuICsgMSkgJSBlbnRyeV9zaXplKQotCQlnb3RvIGJhZF9ncmFmdF9kYXRhOwotCWkgPSAobGVuICsgMSkgLyBlbnRyeV9zaXplIC0gMTsKLQlncmFmdCA9IHhtYWxsb2Moc3RfYWRkKHNpemVvZigqZ3JhZnQpLCBzdF9tdWx0KEdJVF9TSEExX1JBV1NaLCBpKSkpOwotCWdyYWZ0LT5ucl9wYXJlbnQgPSBpOwotCWlmIChnZXRfb2lkX2hleChidWYsICZncmFmdC0+b2lkKSkKLQkJZ290byBiYWRfZ3JhZnRfZGF0YTsKLQlmb3IgKGkgPSBHSVRfU0hBMV9IRVhTWjsgaSA8IGxlbjsgaSArPSBlbnRyeV9zaXplKSB7Ci0JCWlmIChidWZbaV0gIT0gJyAnKQorCS8qCisJICogcGhhc2UgMCB2ZXJpZmllcyBsaW5lLCBjb3VudHMgaGFzaGVzIGluIGxpbmUgYW5kIGFsbG9jYXRlcyBncmFmdAorCSAqIHBoYXNlIDEgZmlsbHMgZ3JhZnQKKwkgKi8KKwlmb3IgKHBoYXNlID0gMDsgcGhhc2UgPCAyOyBwaGFzZSsrKSB7CisJCW9pZCA9IGdyYWZ0ID8gJmdyYWZ0LT5vaWQgOiAmZHVtbXlfb2lkOworCQlpZiAocGFyc2Vfb2lkX2hleChsaW5lLT5idWYsIG9pZCwgJnRhaWwpKQogCQkJZ290byBiYWRfZ3JhZnRfZGF0YTsKLQkJaWYgKGdldF9zaGExX2hleChidWYgKyBpICsgMSwgZ3JhZnQtPnBhcmVudFtpL2VudHJ5X3NpemVdLmhhc2gpKQotCQkJZ290byBiYWRfZ3JhZnRfZGF0YTsKKwkJZm9yIChpID0gMDsgKnRhaWwgIT0gJ1wwJzsgaSsrKSB7CisJCQlvaWQgPSBncmFmdCA/ICZncmFmdC0+cGFyZW50W2ldIDogJmR1bW15X29pZDsKKwkJCWlmICghaXNzcGFjZSgqdGFpbCsrKSB8fCBwYXJzZV9vaWRfaGV4KHRhaWwsIG9pZCwgJnRhaWwpKQorCQkJCWdvdG8gYmFkX2dyYWZ0X2RhdGE7CisJCX0KKwkJaWYgKCFncmFmdCkgeworCQkJZ3JhZnQgPSB4bWFsbG9jKHN0X2FkZChzaXplb2YoKmdyYWZ0KSwKKwkJCQkJICAgICAgIHN0X211bHQoc2l6ZW9mKHN0cnVjdCBvYmplY3RfaWQpLCBpKSkpOworCQkJZ3JhZnQtPm5yX3BhcmVudCA9IGk7CisJCX0KIAl9CiAJcmV0dXJuIGdyYWZ0OwogCiBiYWRfZ3JhZnRfZGF0YToKLQllcnJvcigiYmFkIGdyYWZ0IGRhdGE6ICVzIiwgYnVmKTsKLQlmcmVlKGdyYWZ0KTsKKwllcnJvcigiYmFkIGdyYWZ0IGRhdGE6ICVzIiwgbGluZS0+YnVmKTsKKwlhc3NlcnQoIWdyYWZ0KTsKIAlyZXR1cm4gTlVMTDsKIH0KIAogc3RhdGljIGludCByZWFkX2dyYWZ0X2ZpbGUoY29uc3QgY2hhciAqZ3JhZnRfZmlsZSkKIHsKLQlGSUxFICpmcCA9IGZvcGVuKGdyYWZ0X2ZpbGUsICJyIik7CisJRklMRSAqZnAgPSBmb3Blbl9vcl93YXJuKGdyYWZ0X2ZpbGUsICJyIik7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlpZiAoIWZwKQogCQlyZXR1cm4gLTE7CiAJd2hpbGUgKCFzdHJidWZfZ2V0d2hvbGVsaW5lKCZidWYsIGZwLCAnXG4nKSkgewogCQkvKiBUaGUgZm9ybWF0IGlzIGp1c3QgIkNvbW1pdCBQYXJlbnQxIFBhcmVudDIgLi4uXG4iICovCi0JCXN0cnVjdCBjb21taXRfZ3JhZnQgKmdyYWZ0ID0gcmVhZF9ncmFmdF9saW5lKGJ1Zi5idWYsIGJ1Zi5sZW4pOworCQlzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdCA9IHJlYWRfZ3JhZnRfbGluZSgmYnVmKTsKIAkJaWYgKCFncmFmdCkKIAkJCWNvbnRpbnVlOwogCQlpZiAocmVnaXN0ZXJfY29tbWl0X2dyYWZ0KGdyYWZ0LCAxKSkKQEAgLTE5OCwxMSArMjA1LDExIEBACiAJY29tbWl0X2dyYWZ0X3ByZXBhcmVkID0gMTsKIH0KIAotc3RydWN0IGNvbW1pdF9ncmFmdCAqbG9va3VwX2NvbW1pdF9ncmFmdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RydWN0IGNvbW1pdF9ncmFmdCAqbG9va3VwX2NvbW1pdF9ncmFmdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJaW50IHBvczsKIAlwcmVwYXJlX2NvbW1pdF9ncmFmdCgpOwotCXBvcyA9IGNvbW1pdF9ncmFmdF9wb3Moc2hhMSk7CisJcG9zID0gY29tbWl0X2dyYWZ0X3BvcyhvaWQtPmhhc2gpOwogCWlmIChwb3MgPCAwKQogCQlyZXR1cm4gTlVMTDsKIAlyZXR1cm4gY29tbWl0X2dyYWZ0W3Bvc107CkBAIC0yMTYsMTUgKzIyMywxNCBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCB1bnJlZ2lzdGVyX3NoYWxsb3coY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK2ludCB1bnJlZ2lzdGVyX3NoYWxsb3coY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCWludCBwb3MgPSBjb21taXRfZ3JhZnRfcG9zKHNoYTEpOworCWludCBwb3MgPSBjb21taXRfZ3JhZnRfcG9zKG9pZC0+aGFzaCk7CiAJaWYgKHBvcyA8IDApCiAJCXJldHVybiAtMTsKIAlpZiAocG9zICsgMSA8IGNvbW1pdF9ncmFmdF9ucikKLQkJbWVtbW92ZShjb21taXRfZ3JhZnQgKyBwb3MsIGNvbW1pdF9ncmFmdCArIHBvcyArIDEsCi0JCQkJc2l6ZW9mKHN0cnVjdCBjb21taXRfZ3JhZnQgKikKLQkJCQkqIChjb21taXRfZ3JhZnRfbnIgLSBwb3MgLSAxKSk7CisJCU1PVkVfQVJSQVkoY29tbWl0X2dyYWZ0ICsgcG9zLCBjb21taXRfZ3JhZnQgKyBwb3MgKyAxLAorCQkJICAgY29tbWl0X2dyYWZ0X25yIC0gcG9zIC0gMSk7CiAJY29tbWl0X2dyYWZ0X25yLS07CiAJcmV0dXJuIDA7CiB9CkBAIC0yODYsOCArMjkyLDcgQEAKIHsKIAlzdHJ1Y3QgY29tbWl0X2J1ZmZlciAqdiA9IGJ1ZmZlcl9zbGFiX3BlZWsoJmJ1ZmZlcl9zbGFiLCBjb21taXQpOwogCWlmICh2KSB7Ci0JCWZyZWUodi0+YnVmZmVyKTsKLQkJdi0+YnVmZmVyID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTCh2LT5idWZmZXIpOwogCQl2LT5zaXplID0gMDsKIAl9CiB9CkBAIC0zMzEsMTEgKzMzNiwxMSBAQAogCWlmIChnZXRfc2hhMV9oZXgoYnVmcHRyICsgNSwgcGFyZW50Lmhhc2gpIDwgMCkKIAkJcmV0dXJuIGVycm9yKCJiYWQgdHJlZSBwb2ludGVyIGluIGNvbW1pdCAlcyIsCiAJCQkgICAgIG9pZF90b19oZXgoJml0ZW0tPm9iamVjdC5vaWQpKTsKLQlpdGVtLT50cmVlID0gbG9va3VwX3RyZWUocGFyZW50Lmhhc2gpOworCWl0ZW0tPnRyZWUgPSBsb29rdXBfdHJlZSgmcGFyZW50KTsKIAlidWZwdHIgKz0gdHJlZV9lbnRyeV9sZW4gKyAxOyAvKiAidHJlZSAiICsgImhleCBzaGExIiArICJcbiIgKi8KIAlwcHRyID0gJml0ZW0tPnBhcmVudHM7CiAKLQlncmFmdCA9IGxvb2t1cF9jb21taXRfZ3JhZnQoaXRlbS0+b2JqZWN0Lm9pZC5oYXNoKTsKKwlncmFmdCA9IGxvb2t1cF9jb21taXRfZ3JhZnQoJml0ZW0tPm9iamVjdC5vaWQpOwogCXdoaWxlIChidWZwdHIgKyBwYXJlbnRfZW50cnlfbGVuIDwgdGFpbCAmJiAhbWVtY21wKGJ1ZnB0ciwgInBhcmVudCAiLCA3KSkgewogCQlzdHJ1Y3QgY29tbWl0ICpuZXdfcGFyZW50OwogCkBAIC0zNTAsNyArMzU1LDcgQEAKIAkJICovCiAJCWlmIChncmFmdCAmJiAoZ3JhZnQtPm5yX3BhcmVudCA8IDAgfHwgZ3JhZnRzX3JlcGxhY2VfcGFyZW50cykpCiAJCQljb250aW51ZTsKLQkJbmV3X3BhcmVudCA9IGxvb2t1cF9jb21taXQocGFyZW50Lmhhc2gpOworCQluZXdfcGFyZW50ID0gbG9va3VwX2NvbW1pdCgmcGFyZW50KTsKIAkJaWYgKG5ld19wYXJlbnQpCiAJCQlwcHRyID0gJmNvbW1pdF9saXN0X2luc2VydChuZXdfcGFyZW50LCBwcHRyKS0+bmV4dDsKIAl9CkBAIC0zNTgsNyArMzYzLDcgQEAKIAkJaW50IGk7CiAJCXN0cnVjdCBjb21taXQgKm5ld19wYXJlbnQ7CiAJCWZvciAoaSA9IDA7IGkgPCBncmFmdC0+bnJfcGFyZW50OyBpKyspIHsKLQkJCW5ld19wYXJlbnQgPSBsb29rdXBfY29tbWl0KGdyYWZ0LT5wYXJlbnRbaV0uaGFzaCk7CisJCQluZXdfcGFyZW50ID0gbG9va3VwX2NvbW1pdCgmZ3JhZnQtPnBhcmVudFtpXSk7CiAJCQlpZiAoIW5ld19wYXJlbnQpCiAJCQkJY29udGludWU7CiAJCQlwcHRyID0gJmNvbW1pdF9saXN0X2luc2VydChuZXdfcGFyZW50LCBwcHRyKS0+bmV4dDsKQEAgLTQxNSw4ICs0MjAsNyBAQAogCQlwKys7CiAJaWYgKCpwKSB7CiAJCXAgPSBza2lwX2JsYW5rX2xpbmVzKHAgKyAyKTsKLQkJZm9yIChlb2wgPSBwOyAqZW9sICYmICplb2wgIT0gJ1xuJzsgZW9sKyspCi0JCQk7IC8qIGRvIG5vdGhpbmcgKi8KKwkJZW9sID0gc3RyY2hybnVsKHAsICdcbicpOwogCX0gZWxzZQogCQllb2wgPSBwOwogCkBAIC00NzQsOCArNDc4LDggQEAKIAogc3RhdGljIGludCBjb21taXRfbGlzdF9jb21wYXJlX2J5X2RhdGUoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKIHsKLQl1bnNpZ25lZCBsb25nIGFfZGF0ZSA9ICgoY29uc3Qgc3RydWN0IGNvbW1pdF9saXN0ICopYSktPml0ZW0tPmRhdGU7Ci0JdW5zaWduZWQgbG9uZyBiX2RhdGUgPSAoKGNvbnN0IHN0cnVjdCBjb21taXRfbGlzdCAqKWIpLT5pdGVtLT5kYXRlOworCXRpbWVzdGFtcF90IGFfZGF0ZSA9ICgoY29uc3Qgc3RydWN0IGNvbW1pdF9saXN0ICopYSktPml0ZW0tPmRhdGU7CisJdGltZXN0YW1wX3QgYl9kYXRlID0gKChjb25zdCBzdHJ1Y3QgY29tbWl0X2xpc3QgKiliKS0+aXRlbS0+ZGF0ZTsKIAlpZiAoYV9kYXRlIDwgYl9kYXRlKQogCQlyZXR1cm4gMTsKIAlpZiAoYV9kYXRlID4gYl9kYXRlKQpAQCAtNTYzLDcgKzU2Nyw3IEBACiAKIAlmb3IgKGkgPSAwOyBpIDwgYS0+bnI7IGkrKykgewogCQlvYmplY3QgPSBhLT5vYmplY3RzW2ldLml0ZW07Ci0JCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShvYmplY3QtPm9pZC5oYXNoLCAxKTsKKwkJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KCZvYmplY3QtPm9pZCwgMSk7CiAJCWlmIChjb21taXQpCiAJCQljbGVhcl9jb21taXRfbWFya3MoY29tbWl0LCBtYXJrKTsKIAl9CkBAIC01OTksNyArNjAzLDcgQEAKIAljb25zdCBjaGFyICppZGVudF9saW5lOwogCXNpemVfdCBpZGVudF9sZW47CiAJY2hhciAqZGF0ZV9lbmQ7Ci0JdW5zaWduZWQgbG9uZyBkYXRlOworCXRpbWVzdGFtcF90IGRhdGU7CiAKIAlpZGVudF9saW5lID0gZmluZF9jb21taXRfaGVhZGVyKGJ1ZmZlciwgImF1dGhvciIsICZpZGVudF9sZW4pOwogCWlmICghaWRlbnRfbGluZSkKQEAgLTYwOCw3ICs2MTIsNyBAQAogCSAgICAhaWRlbnQuZGF0ZV9iZWdpbiB8fCAhaWRlbnQuZGF0ZV9lbmQpCiAJCWdvdG8gZmFpbF9leGl0OyAvKiBtYWxmb3JtZWQgImF1dGhvciIgbGluZSAqLwogCi0JZGF0ZSA9IHN0cnRvdWwoaWRlbnQuZGF0ZV9iZWdpbiwgJmRhdGVfZW5kLCAxMCk7CisJZGF0ZSA9IHBhcnNlX3RpbWVzdGFtcChpZGVudC5kYXRlX2JlZ2luLCAmZGF0ZV9lbmQsIDEwKTsKIAlpZiAoZGF0ZV9lbmQgIT0gaWRlbnQuZGF0ZV9lbmQpCiAJCWdvdG8gZmFpbF9leGl0OyAvKiBtYWxmb3JtZWQgZGF0ZSAqLwogCSooYXV0aG9yX2RhdGVfc2xhYl9hdChhdXRob3JfZGF0ZSwgY29tbWl0KSkgPSBkYXRlOwpAQCAtNjIyLDggKzYyNiw4IEBACiB7CiAJY29uc3Qgc3RydWN0IGNvbW1pdCAqYSA9IGFfLCAqYiA9IGJfOwogCXN0cnVjdCBhdXRob3JfZGF0ZV9zbGFiICphdXRob3JfZGF0ZSA9IGNiX2RhdGE7Ci0JdW5zaWduZWQgbG9uZyBhX2RhdGUgPSAqKGF1dGhvcl9kYXRlX3NsYWJfYXQoYXV0aG9yX2RhdGUsIGEpKTsKLQl1bnNpZ25lZCBsb25nIGJfZGF0ZSA9ICooYXV0aG9yX2RhdGVfc2xhYl9hdChhdXRob3JfZGF0ZSwgYikpOworCXRpbWVzdGFtcF90IGFfZGF0ZSA9ICooYXV0aG9yX2RhdGVfc2xhYl9hdChhdXRob3JfZGF0ZSwgYSkpOworCXRpbWVzdGFtcF90IGJfZGF0ZSA9ICooYXV0aG9yX2RhdGVfc2xhYl9hdChhdXRob3JfZGF0ZSwgYikpOwogCiAJLyogbmV3ZXIgY29tbWl0cyB3aXRoIGxhcmdlciBkYXRlIGZpcnN0ICovCiAJaWYgKGFfZGF0ZSA8IGJfZGF0ZSkKQEAgLTEwODIsNiArMTA4Niw3IEBACiAJbnVtX2hlYWQgPSByZW1vdmVfcmVkdW5kYW50KGFycmF5LCBudW1faGVhZCk7CiAJZm9yIChpID0gMDsgaSA8IG51bV9oZWFkOyBpKyspCiAJCXRhaWwgPSAmY29tbWl0X2xpc3RfaW5zZXJ0KGFycmF5W2ldLCB0YWlsKS0+bmV4dDsKKwlmcmVlKGFycmF5KTsKIAlyZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNTY2LDEwICsxNTcxLDEzIEBACiAJaWYgKGVuY29kaW5nX2lzX3V0ZjggJiYgIXZlcmlmeV91dGY4KCZidWZmZXIpKQogCQlmcHJpbnRmKHN0ZGVyciwgXyhjb21taXRfdXRmOF93YXJuKSk7CiAKLQlpZiAoc2lnbl9jb21taXQgJiYgZG9fc2lnbl9jb21taXQoJmJ1ZmZlciwgc2lnbl9jb21taXQpKQotCQlyZXR1cm4gLTE7CisJaWYgKHNpZ25fY29tbWl0ICYmIGRvX3NpZ25fY29tbWl0KCZidWZmZXIsIHNpZ25fY29tbWl0KSkgeworCQlyZXN1bHQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQogCiAJcmVzdWx0ID0gd3JpdGVfc2hhMV9maWxlKGJ1ZmZlci5idWYsIGJ1ZmZlci5sZW4sIGNvbW1pdF90eXBlLCByZXQpOworb3V0OgogCXN0cmJ1Zl9yZWxlYXNlKCZidWZmZXIpOwogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0xNTg4LDkgKzE1OTYsOSBAQAogCXN0cnVjdCBvYmplY3QgKm9iajsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JaWYgKGdldF9zaGExKG5hbWUsIG9pZC5oYXNoKSkKKwlpZiAoZ2V0X29pZChuYW1lLCAmb2lkKSkKIAkJcmV0dXJuIE5VTEw7Ci0Jb2JqID0gcGFyc2Vfb2JqZWN0KG9pZC5oYXNoKTsKKwlvYmogPSBwYXJzZV9vYmplY3QoJm9pZCk7CiAJY29tbWl0ID0gKHN0cnVjdCBjb21taXQgKilwZWVsX3RvX3R5cGUobmFtZSwgMCwgb2JqLCBPQkpfQ09NTUlUKTsKIAlpZiAoY29tbWl0ICYmICFjb21taXQtPnV0aWwpCiAJCXNldF9tZXJnZV9yZW1vdGVfZGVzYyhjb21taXQsIG5hbWUsIG9iaik7CkBAIC0xNjQ5LDEwICsxNjU3LDkgQEAKIC8qCiAgKiBJbnNwZWN0IHRoZSBnaXZlbiBzdHJpbmcgYW5kIGRldGVybWluZSB0aGUgdHJ1ZSAiZW5kIiBvZiB0aGUgbG9nIG1lc3NhZ2UsIGluCiAgKiBvcmRlciB0byBmaW5kIHdoZXJlIHRvIHB1dCBhIG5ldyBTaWduZWQtb2ZmLWJ5OiBsaW5lLiAgSWdub3JlZCBhcmUKLSAqIHRyYWlsaW5nIGNvbW1lbnQgbGluZXMgYW5kIGJsYW5rIGxpbmVzLCBhbmQgYWxzbyB0aGUgdHJhZGl0aW9uYWwKLSAqICJDb25mbGljdHM6IiBibG9jayB0aGF0IGlzIG5vdCBjb21tZW50ZWQgb3V0LCBzbyB0aGF0IHdlIGNhbiB1c2UKLSAqICJnaXQgY29tbWl0IC1zIC0tYW1lbmQiIG9uIGFuIGV4aXN0aW5nIGNvbW1pdCB0aGF0IGZvcmdvdCB0byByZW1vdmUKLSAqIGl0LgorICogdHJhaWxpbmcgY29tbWVudCBsaW5lcyBhbmQgYmxhbmsgbGluZXMuICBUbyBzdXBwb3J0ICJnaXQgY29tbWl0IC1zCisgKiAtLWFtZW5kIiBvbiBhbiBleGlzdGluZyBjb21taXQsIHdlIGFsc28gaWdub3JlICJDb25mbGljdHM6Ii4gIFRvCisgKiBzdXBwb3J0ICJnaXQgY29tbWl0IC12Iiwgd2UgdHJ1bmNhdGUgYXQgY3V0IGxpbmVzLgogICoKICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyBmcm9tIHRoZSB0YWlsIHRvIGlnbm9yZSwgdG8gYmUgZmVkIGFzCiAgKiB0aGUgc2Vjb25kIHBhcmFtZXRlciB0byBhcHBlbmRfc2lnbm9mZigpLgpAQCAtMTY2Miw4ICsxNjY5LDkgQEAKIAlpbnQgYm9jID0gMDsKIAlpbnQgYm9sID0gMDsKIAlpbnQgaW5fb2xkX2NvbmZsaWN0c19ibG9jayA9IDA7CisJc2l6ZV90IGN1dG9mZiA9IHd0X3N0YXR1c19sb2NhdGVfZW5kKGJ1ZiwgbGVuKTsKIAotCXdoaWxlIChib2wgPCBsZW4pIHsKKwl3aGlsZSAoYm9sIDwgY3V0b2ZmKSB7CiAJCWNvbnN0IGNoYXIgKm5leHRfbGluZSA9IG1lbWNocihidWYgKyBib2wsICdcbicsIGxlbiAtIGJvbCk7CiAKIAkJaWYgKCFuZXh0X2xpbmUpCkBAIC0xNjg5LDUgKzE2OTcsNSBAQAogCQl9CiAJCWJvbCA9IG5leHRfbGluZSAtIGJ1ZjsKIAl9Ci0JcmV0dXJuIGJvYyA/IGxlbiAtIGJvYyA6IDA7CisJcmV0dXJuIGJvYyA/IGxlbiAtIGJvYyA6IGxlbiAtIGN1dG9mZjsKIH0KZGlmZiAtLWdpdCBhL2NvbW1pdC5oIGIvY29tbWl0LmgKaW5kZXggOWMxMmFiYi4uNmQ3Njk1OSAxMDA2NDQKLS0tIGEvY29tbWl0LmgKKysrIGIvY29tbWl0LmgKQEAgLTE3LDcgKzE3LDcgQEAKIAlzdHJ1Y3Qgb2JqZWN0IG9iamVjdDsKIAl2b2lkICp1dGlsOwogCXVuc2lnbmVkIGludCBpbmRleDsKLQl1bnNpZ25lZCBsb25nIGRhdGU7CisJdGltZXN0YW1wX3QgZGF0ZTsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHM7CiAJc3RydWN0IHRyZWUgKnRyZWU7CiB9OwpAQCAtNDUsMTggKzQ1LDE4IEBACiB2b2lkIGFkZF9uYW1lX2RlY29yYXRpb24oZW51bSBkZWNvcmF0aW9uX3R5cGUgdHlwZSwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdCAqb2JqKTsKIGNvbnN0IHN0cnVjdCBuYW1lX2RlY29yYXRpb24gKmdldF9uYW1lX2RlY29yYXRpb24oY29uc3Qgc3RydWN0IG9iamVjdCAqb2JqKTsKIAotc3RydWN0IGNvbW1pdCAqbG9va3VwX2NvbW1pdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKLXN0cnVjdCBjb21taXQgKmxvb2t1cF9jb21taXRfcmVmZXJlbmNlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwotc3RydWN0IGNvbW1pdCAqbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdHJ1Y3QgY29tbWl0ICpsb29rdXBfY29tbWl0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CitzdHJ1Y3QgY29tbWl0ICpsb29rdXBfY29tbWl0X3JlZmVyZW5jZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworc3RydWN0IGNvbW1pdCAqbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkJICAgICAgaW50IHF1aWV0KTsKIHN0cnVjdCBjb21taXQgKmxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2J5X25hbWUoY29uc3QgY2hhciAqbmFtZSk7CiAKIC8qCi0gKiBMb29rIHVwIG9iamVjdCBuYW1lZCBieSAic2hhMSIsIGRlcmVmZXJlbmNlIHRhZyBhcyBuZWNlc3NhcnksCi0gKiBnZXQgYSBjb21taXQgYW5kIHJldHVybiBpdC4gSWYgInNoYTEiIGRvZXMgbm90IGRlcmVmZXJlbmNlIHRvCisgKiBMb29rIHVwIG9iamVjdCBuYW1lZCBieSAib2lkIiwgZGVyZWZlcmVuY2UgdGFnIGFzIG5lY2Vzc2FyeSwKKyAqIGdldCBhIGNvbW1pdCBhbmQgcmV0dXJuIGl0LiBJZiAib2lkIiBkb2VzIG5vdCBkZXJlZmVyZW5jZSB0bwogICogYSBjb21taXQsIHVzZSByZWZfbmFtZSB0byByZXBvcnQgYW4gZXJyb3IgYW5kIGRpZS4KICAqLwotc3RydWN0IGNvbW1pdCAqbG9va3VwX2NvbW1pdF9vcl9kaWUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqcmVmX25hbWUpOworc3RydWN0IGNvbW1pdCAqbG9va3VwX2NvbW1pdF9vcl9kaWUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpyZWZfbmFtZSk7CiAKIGludCBwYXJzZV9jb21taXRfYnVmZmVyKHN0cnVjdCBjb21taXQgKml0ZW0sIGNvbnN0IHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBzaXplKTsKIGludCBwYXJzZV9jb21taXRfZ2VudGx5KHN0cnVjdCBjb21taXQgKml0ZW0sIGludCBxdWlldF9vbl9taXNzaW5nKTsKQEAgLTE0MiwyMSArMTQyLDI0IEBACiAJcmV0dXJuIChmbXQgPT0gQ01JVF9GTVRfRU1BSUwgfHwgZm10ID09IENNSVRfRk1UX01CT1hSRCk7CiB9CiAKK3N0cnVjdCByZXZfaW5mbzsgLyogaW4gcmV2aXNpb24uaCwgaXQgY2lyY3VsYXJseSB1c2VzIGVudW0gY21pdF9mbXQgKi8KKwogc3RydWN0IHByZXR0eV9wcmludF9jb250ZXh0IHsKIAkvKgogCSAqIENhbGxlcnMgc2hvdWxkIHR3ZWFrIHRoZXNlIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgcHBfKiBmdW5jdGlvbnMuCiAJICovCiAJZW51bSBjbWl0X2ZtdCBmbXQ7CiAJaW50IGFiYnJldjsKLQljb25zdCBjaGFyICpzdWJqZWN0OwogCWNvbnN0IGNoYXIgKmFmdGVyX3N1YmplY3Q7CiAJaW50IHByZXNlcnZlX3N1YmplY3Q7CiAJc3RydWN0IGRhdGVfbW9kZSBkYXRlX21vZGU7CiAJdW5zaWduZWQgZGF0ZV9tb2RlX2V4cGxpY2l0OjE7CisJaW50IHByaW50X2VtYWlsX3N1YmplY3Q7CiAJaW50IGV4cGFuZF90YWJzX2luX2xvZzsKIAlpbnQgbmVlZF84Yml0X2N0ZTsKIAljaGFyICpub3Rlc19tZXNzYWdlOwogCXN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbzsKKwlzdHJ1Y3QgcmV2X2luZm8gKnJldjsKIAljb25zdCBjaGFyICpvdXRwdXRfZW5jb2Rpbmc7CiAJc3RydWN0IHN0cmluZ19saXN0ICptYWlsbWFwOwogCWludCBjb2xvcjsKQEAgLTE3NSw3ICsxNzgsNiBAQAogfTsKIAogZXh0ZXJuIGludCBoYXNfbm9uX2FzY2lpKGNvbnN0IGNoYXIgKnRleHQpOwotc3RydWN0IHJldl9pbmZvOyAvKiBpbiByZXZpc2lvbi5oLCBpdCBjaXJjdWxhcmx5IHVzZXMgZW51bSBjbWl0X2ZtdCAqLwogZXh0ZXJuIGNvbnN0IGNoYXIgKmxvZ21zZ19yZWVuY29kZShjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCiAJCQkJICAgY2hhciAqKmNvbW1pdF9lbmNvZGluZywKIAkJCQkgICBjb25zdCBjaGFyICpvdXRwdXRfZW5jb2RpbmcpOwpAQCAtMjQ1LDkgKzI0Nyw5IEBACiB9OwogdHlwZWRlZiBpbnQgKCplYWNoX2NvbW1pdF9ncmFmdF9mbikoY29uc3Qgc3RydWN0IGNvbW1pdF9ncmFmdCAqLCB2b2lkICopOwogCi1zdHJ1Y3QgY29tbWl0X2dyYWZ0ICpyZWFkX2dyYWZ0X2xpbmUoY2hhciAqYnVmLCBpbnQgbGVuKTsKK3N0cnVjdCBjb21taXRfZ3JhZnQgKnJlYWRfZ3JhZnRfbGluZShzdHJ1Y3Qgc3RyYnVmICpsaW5lKTsKIGludCByZWdpc3Rlcl9jb21taXRfZ3JhZnQoc3RydWN0IGNvbW1pdF9ncmFmdCAqLCBpbnQpOwotc3RydWN0IGNvbW1pdF9ncmFmdCAqbG9va3VwX2NvbW1pdF9ncmFmdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKK3N0cnVjdCBjb21taXRfZ3JhZnQgKmxvb2t1cF9jb21taXRfZ3JhZnQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAogZXh0ZXJuIHN0cnVjdCBjb21taXRfbGlzdCAqZ2V0X21lcmdlX2Jhc2VzKHN0cnVjdCBjb21taXQgKnJldjEsIHN0cnVjdCBjb21taXQgKnJldjIpOwogZXh0ZXJuIHN0cnVjdCBjb21taXRfbGlzdCAqZ2V0X21lcmdlX2Jhc2VzX21hbnkoc3RydWN0IGNvbW1pdCAqb25lLCBpbnQgbiwgc3RydWN0IGNvbW1pdCAqKnR3b3MpOwpAQCAtMjU5LDEwICsyNjEsMTAgQEAKIC8qIGxhcmdlc3QgcG9zaXRpdmUgbnVtYmVyIGEgc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGNhbiBjb250YWluICovCiAjZGVmaW5lIElORklOSVRFX0RFUFRIIDB4N2ZmZmZmZmYKIAotc3RydWN0IHNoYTFfYXJyYXk7CitzdHJ1Y3Qgb2lkX2FycmF5Owogc3RydWN0IHJlZjsKLWV4dGVybiBpbnQgcmVnaXN0ZXJfc2hhbGxvdyhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKLWV4dGVybiBpbnQgdW5yZWdpc3Rlcl9zaGFsbG93KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworZXh0ZXJuIGludCByZWdpc3Rlcl9zaGFsbG93KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CitleHRlcm4gaW50IHVucmVnaXN0ZXJfc2hhbGxvdyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogZXh0ZXJuIGludCBmb3JfZWFjaF9jb21taXRfZ3JhZnQoZWFjaF9jb21taXRfZ3JhZnRfZm4sIHZvaWQgKik7CiBleHRlcm4gaW50IGlzX3JlcG9zaXRvcnlfc2hhbGxvdyh2b2lkKTsKIGV4dGVybiBzdHJ1Y3QgY29tbWl0X2xpc3QgKmdldF9zaGFsbG93X2NvbW1pdHMoc3RydWN0IG9iamVjdF9hcnJheSAqaGVhZHMsCkBAIC0yNzEsMTggKzI3MywxOCBAQAogCQlpbnQgYWMsIGNvbnN0IGNoYXIgKiphdiwgaW50IHNoYWxsb3dfZmxhZywgaW50IG5vdF9zaGFsbG93X2ZsYWcpOwogZXh0ZXJuIHZvaWQgc2V0X2FsdGVybmF0ZV9zaGFsbG93X2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgaW50IG92ZXJyaWRlKTsKIGV4dGVybiBpbnQgd3JpdGVfc2hhbGxvd19jb21taXRzKHN0cnVjdCBzdHJidWYgKm91dCwgaW50IHVzZV9wYWNrX3Byb3RvY29sLAotCQkJCSBjb25zdCBzdHJ1Y3Qgc2hhMV9hcnJheSAqZXh0cmEpOworCQkJCSBjb25zdCBzdHJ1Y3Qgb2lkX2FycmF5ICpleHRyYSk7CiBleHRlcm4gdm9pZCBzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdyhzdHJ1Y3QgbG9ja19maWxlICpzaGFsbG93X2xvY2ssCiAJCQkJICAgIGNvbnN0IGNoYXIgKiphbHRlcm5hdGVfc2hhbGxvd19maWxlLAotCQkJCSAgICBjb25zdCBzdHJ1Y3Qgc2hhMV9hcnJheSAqZXh0cmEpOwotZXh0ZXJuIGNvbnN0IGNoYXIgKnNldHVwX3RlbXBvcmFyeV9zaGFsbG93KGNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpleHRyYSk7CisJCQkJICAgIGNvbnN0IHN0cnVjdCBvaWRfYXJyYXkgKmV4dHJhKTsKK2V4dGVybiBjb25zdCBjaGFyICpzZXR1cF90ZW1wb3Jhcnlfc2hhbGxvdyhjb25zdCBzdHJ1Y3Qgb2lkX2FycmF5ICpleHRyYSk7CiBleHRlcm4gdm9pZCBhZHZlcnRpc2Vfc2hhbGxvd19ncmFmdHMoaW50KTsKIAogc3RydWN0IHNoYWxsb3dfaW5mbyB7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgKnNoYWxsb3c7CisJc3RydWN0IG9pZF9hcnJheSAqc2hhbGxvdzsKIAlpbnQgKm91cnMsIG5yX291cnM7CiAJaW50ICp0aGVpcnMsIG5yX3RoZWlyczsKLQlzdHJ1Y3Qgc2hhMV9hcnJheSAqcmVmOworCXN0cnVjdCBvaWRfYXJyYXkgKnJlZjsKIAogCS8qIGZvciByZWNlaXZlLXBhY2sgKi8KIAl1aW50MzJfdCAqKnVzZWRfc2hhbGxvdzsKQEAgLTI5Myw3ICsyOTUsNyBAQAogCWludCBucl9jb21taXRzOwogfTsKIAotZXh0ZXJuIHZvaWQgcHJlcGFyZV9zaGFsbG93X2luZm8oc3RydWN0IHNoYWxsb3dfaW5mbyAqLCBzdHJ1Y3Qgc2hhMV9hcnJheSAqKTsKK2V4dGVybiB2b2lkIHByZXBhcmVfc2hhbGxvd19pbmZvKHN0cnVjdCBzaGFsbG93X2luZm8gKiwgc3RydWN0IG9pZF9hcnJheSAqKTsKIGV4dGVybiB2b2lkIGNsZWFyX3NoYWxsb3dfaW5mbyhzdHJ1Y3Qgc2hhbGxvd19pbmZvICopOwogZXh0ZXJuIHZvaWQgcmVtb3ZlX25vbmV4aXN0ZW50X3RoZWlyc19zaGFsbG93KHN0cnVjdCBzaGFsbG93X2luZm8gKik7CiBleHRlcm4gdm9pZCBhc3NpZ25fc2hhbGxvd19jb21taXRzX3RvX3JlZnMoc3RydWN0IHNoYWxsb3dfaW5mbyAqaW5mbywKQEAgLTMxMSwxMSArMzEzLDYgQEAKIGV4dGVybiBpbnQgcnVuX2FkZF9pbnRlcmFjdGl2ZShjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3QgY2hhciAqcGF0Y2hfbW9kZSwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKIAotc3RhdGljIGlubGluZSBpbnQgc2luZ2xlX3BhcmVudChzdHJ1Y3QgY29tbWl0ICpjb21taXQpCi17Ci0JcmV0dXJuIGNvbW1pdC0+cGFyZW50cyAmJiAhY29tbWl0LT5wYXJlbnRzLT5uZXh0OwotfQotCiBzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlZHVjZV9oZWFkcyhzdHJ1Y3QgY29tbWl0X2xpc3QgKmhlYWRzKTsKIAogc3RydWN0IGNvbW1pdF9leHRyYV9oZWFkZXIgewpkaWZmIC0tZ2l0IGEvY29tbW9uLW1haW4uYyBiL2NvbW1vbi1tYWluLmMKaW5kZXggYzY1NGY5NS4uNmE2ODkwMCAxMDA2NDQKLS0tIGEvY29tbW9uLW1haW4uYworKysgYi9jb21tb24tbWFpbi5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiZXhlY19jbWQuaCIKKyNpbmNsdWRlICJhdHRyLmgiCiAKIC8qCiAgKiBNYW55IHBhcnRzIG9mIEdpdCBoYXZlIHN1YnByb2dyYW1zIGNvbW11bmljYXRlIHZpYSBwaXBlLCBleHBlY3QgdGhlCkBAIC0zMyw2ICszNCw4IEBACiAKIAlnaXRfc2V0dXBfZ2V0dGV4dCgpOwogCisJYXR0cl9zdGFydCgpOworCiAJZ2l0X2V4dHJhY3RfYXJndjBfcGF0aChhcmd2WzBdKTsKIAogCXJlc3RvcmVfc2lncGlwZV90b19kZWZhdWx0KCk7CmRpZmYgLS1naXQgYS9jb21wYXQvYnN3YXAuaCBiL2NvbXBhdC9ic3dhcC5oCmluZGV4IGQ0N2MwMDMuLjdkMDYzZTkgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9ic3dhcC5oCisrKyBiL2NvbXBhdC9ic3dhcC5oCkBAIC0xNjIsMTkgKzE2MiwyOSBAQAogCiAjZWxzZQogCi0jZGVmaW5lIGdldF9iZTE2KHApCSggXAotCSgqKCh1bnNpZ25lZCBjaGFyICopKHApICsgMCkgPDwgOCkgfCBcCi0JKCooKHVuc2lnbmVkIGNoYXIgKikocCkgKyAxKSA8PCAwKSApCi0jZGVmaW5lIGdldF9iZTMyKHApCSggXAotCSgqKCh1bnNpZ25lZCBjaGFyICopKHApICsgMCkgPDwgMjQpIHwgXAotCSgqKCh1bnNpZ25lZCBjaGFyICopKHApICsgMSkgPDwgMTYpIHwgXAotCSgqKCh1bnNpZ25lZCBjaGFyICopKHApICsgMikgPDwgIDgpIHwgXAotCSgqKCh1bnNpZ25lZCBjaGFyICopKHApICsgMykgPDwgIDApICkKLSNkZWZpbmUgcHV0X2JlMzIocCwgdikJZG8geyBcCi0JdW5zaWduZWQgaW50IF9fdiA9ICh2KTsgXAotCSooKHVuc2lnbmVkIGNoYXIgKikocCkgKyAwKSA9IF9fdiA+PiAyNDsgXAotCSooKHVuc2lnbmVkIGNoYXIgKikocCkgKyAxKSA9IF9fdiA+PiAxNjsgXAotCSooKHVuc2lnbmVkIGNoYXIgKikocCkgKyAyKSA9IF9fdiA+PiAgODsgXAotCSooKHVuc2lnbmVkIGNoYXIgKikocCkgKyAzKSA9IF9fdiA+PiAgMDsgfSB3aGlsZSAoMCkKK3N0YXRpYyBpbmxpbmUgdWludDE2X3QgZ2V0X2JlMTYoY29uc3Qgdm9pZCAqcHRyKQoreworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnAgPSBwdHI7CisJcmV0dXJuCSh1aW50MTZfdClwWzBdIDw8IDggfAorCQkodWludDE2X3QpcFsxXSA8PCAwOworfQorCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IGdldF9iZTMyKGNvbnN0IHZvaWQgKnB0cikKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwID0gcHRyOworCXJldHVybgkodWludDMyX3QpcFswXSA8PCAyNCB8CisJCSh1aW50MzJfdClwWzFdIDw8IDE2IHwKKwkJKHVpbnQzMl90KXBbMl0gPDwgIDggfAorCQkodWludDMyX3QpcFszXSA8PCAgMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHB1dF9iZTMyKHZvaWQgKnB0ciwgdWludDMyX3QgdmFsdWUpCit7CisJdW5zaWduZWQgY2hhciAqcCA9IHB0cjsKKwlwWzBdID0gdmFsdWUgPj4gMjQ7CisJcFsxXSA9IHZhbHVlID4+IDE2OworCXBbMl0gPSB2YWx1ZSA+PiAgODsKKwlwWzNdID0gdmFsdWUgPj4gIDA7Cit9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvY29tcGF0L2N5Z3dpbi5jIGIvY29tcGF0L2N5Z3dpbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ODYyZDYKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvY3lnd2luLmMKQEAgLTAsMCArMSwxOSBAQAorI2luY2x1ZGUgIi4uL2dpdC1jb21wYXQtdXRpbC5oIgorI2luY2x1ZGUgIi4uL2NhY2hlLmgiCisKK2ludCBjeWd3aW5fb2Zmc2V0XzFzdF9jb21wb25lbnQoY29uc3QgY2hhciAqcGF0aCkKK3sKKwljb25zdCBjaGFyICpwb3MgPSBwYXRoOworCS8qIHVuYyBwYXRocyAqLworCWlmIChpc19kaXJfc2VwKHBvc1swXSkgJiYgaXNfZGlyX3NlcChwb3NbMV0pKSB7CisJCS8qIHNraXAgc2VydmVyIG5hbWUgKi8KKwkJcG9zID0gc3RyY2hyKHBvcyArIDIsICcvJyk7CisJCWlmICghcG9zKQorCQkJcmV0dXJuIDA7IC8qIEVycm9yOiBtYWxmb3JtZWQgdW5jIHBhdGggKi8KKworCQlkbyB7CisJCQlwb3MrKzsKKwkJfSB3aGlsZSAoKnBvcyAmJiBwb3NbMF0gIT0gJy8nKTsKKwl9CisJcmV0dXJuIHBvcyArIGlzX2Rpcl9zZXAoKnBvcykgLSBwYXRoOworfQpkaWZmIC0tZ2l0IGEvY29tcGF0L2N5Z3dpbi5oIGIvY29tcGF0L2N5Z3dpbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlNTJkZTQKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvY3lnd2luLmgKQEAgLTAsMCArMSwyIEBACitpbnQgY3lnd2luX29mZnNldF8xc3RfY29tcG9uZW50KGNvbnN0IGNoYXIgKnBhdGgpOworI2RlZmluZSBvZmZzZXRfMXN0X2NvbXBvbmVudCBjeWd3aW5fb2Zmc2V0XzFzdF9jb21wb25lbnQKZGlmZiAtLWdpdCBhL2NvbXBhdC9mb3Blbi5jIGIvY29tcGF0L2ZvcGVuLmMKaW5kZXggYjVjYTE0Mi4uMTA3YjNlOCAxMDA2NDQKLS0tIGEvY29tcGF0L2ZvcGVuLmMKKysrIGIvY29tcGF0L2ZvcGVuLmMKQEAgLTEsMTQgKzEsMTQgQEAKIC8qCiAgKiAgVGhlIG9yZGVyIG9mIHRoZSBmb2xsb3dpbmcgdHdvIGxpbmVzIGlzIGltcG9ydGFudC4KICAqCi0gKiAgRlJFQURfUkVBRFNfRElSRUNUT1JJRVMgaXMgdW5kZWZpbmVkIGJlZm9yZSBpbmNsdWRpbmcgZ2l0LWNvbXBhdC11dGlsLmgKKyAqICBTVVBQUkVTU19GT1BFTl9SRURFRklOSVRJT04gaXMgZGVmaW5lZCBiZWZvcmUgaW5jbHVkaW5nIGdpdC1jb21wYXQtdXRpbC5oCiAgKiAgdG8gYXZvaWQgdGhlIHJlZGVmaW5pdGlvbiBvZiBmb3BlbiB3aXRoaW4gZ2l0LWNvbXBhdC11dGlsLmguIFRoaXMgaXMKICAqICBuZWNlc3Nhcnkgc2luY2UgZm9wZW4gaXMgYSBtYWNybyBvbiBzb21lIHBsYXRmb3JtcyB3aGljaCBtYXkgYmUgc2V0CiAgKiAgYmFzZWQgb24gY29tcGlsZXIgb3B0aW9ucy4gRm9yIGV4YW1wbGUsIG9uIEFJWCBmb3BlbiBpcyBzZXQgdG8gZm9wZW42NAogICogIHdoZW4gX0xBUkdFX0ZJTEVTIGlzIGRlZmluZWQuIFRoZSBwcmV2aW91cyB0ZWNobmlxdWUgb2YgbWVyZWx5IHVuZGVmaW5pbmcKICAqICBmb3BlbiBhZnRlciBpbmNsdWRpbmcgZ2l0LWNvbXBhdC11dGlsLmggaXMgaW5hZGVxdWF0ZSBpbiB0aGlzIGNhc2UuCiAgKi8KLSN1bmRlZiBGUkVBRF9SRUFEU19ESVJFQ1RPUklFUworI2RlZmluZSBTVVBQUkVTU19GT1BFTl9SRURFRklOSVRJT04KICNpbmNsdWRlICIuLi9naXQtY29tcGF0LXV0aWwuaCIKIAogRklMRSAqZ2l0X2ZvcGVuKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpCmRpZmYgLS1naXQgYS9jb21wYXQvbWluZ3cuYyBiL2NvbXBhdC9taW5ndy5jCmluZGV4IDNmYmZkYTUuLjhiNmZhMGQgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9taW5ndy5jCisrKyBiL2NvbXBhdC9taW5ndy5jCkBAIC00MjMsNiArNDIzLDggQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCWZpbGUgPSBfd2ZvcGVuKHdmaWxlbmFtZSwgd290eXBlKTsKKwlpZiAoIWZpbGUgJiYgR2V0TGFzdEVycm9yKCkgPT0gRVJST1JfSU5WQUxJRF9OQU1FKQorCQllcnJubyA9IEVOT0VOVDsKIAlpZiAoZmlsZSAmJiBoaWRlICYmIHNldF9oaWRkZW5fZmxhZyh3ZmlsZW5hbWUsIDEpKQogCQl3YXJuaW5nKCJjb3VsZCBub3QgbWFyayAnJXMnIGFzIGhpZGRlbi4iLCBmaWxlbmFtZSk7CiAJcmV0dXJuIGZpbGU7CkBAIC05NDEsNjQgKzk0MywxNCBAQAogfQogCiAvKgotICogU3BsaXRzIHRoZSBQQVRIIGludG8gcGFydHMuCi0gKi8KLXN0YXRpYyBjaGFyICoqZ2V0X3BhdGhfc3BsaXQodm9pZCkKLXsKLQljaGFyICpwLCAqKnBhdGgsICplbnZwYXRoID0gbWluZ3dfZ2V0ZW52KCJQQVRIIik7Ci0JaW50IGksIG4gPSAwOwotCi0JaWYgKCFlbnZwYXRoIHx8ICEqZW52cGF0aCkKLQkJcmV0dXJuIE5VTEw7Ci0KLQllbnZwYXRoID0geHN0cmR1cChlbnZwYXRoKTsKLQlwID0gZW52cGF0aDsKLQl3aGlsZSAocCkgewotCQljaGFyICpkaXIgPSBwOwotCQlwID0gc3RyY2hyKHAsICc7Jyk7Ci0JCWlmIChwKSAqcCsrID0gJ1wwJzsKLQkJaWYgKCpkaXIpIHsJLyogbm90IGVhcmxpZXIsIGNhdGNoZXMgc2VyaWVzIG9mIDsgKi8KLQkJCSsrbjsKLQkJfQotCX0KLQlpZiAoIW4pCi0JCXJldHVybiBOVUxMOwotCi0JQUxMT0NfQVJSQVkocGF0aCwgbiArIDEpOwotCXAgPSBlbnZwYXRoOwotCWkgPSAwOwotCWRvIHsKLQkJaWYgKCpwKQotCQkJcGF0aFtpKytdID0geHN0cmR1cChwKTsKLQkJcCA9IHArc3RybGVuKHApKzE7Ci0JfSB3aGlsZSAoaSA8IG4pOwotCXBhdGhbaV0gPSBOVUxMOwotCi0JZnJlZShlbnZwYXRoKTsKLQotCXJldHVybiBwYXRoOwotfQotCi1zdGF0aWMgdm9pZCBmcmVlX3BhdGhfc3BsaXQoY2hhciAqKnBhdGgpCi17Ci0JY2hhciAqKnAgPSBwYXRoOwotCi0JaWYgKCFwYXRoKQotCQlyZXR1cm47Ci0KLQl3aGlsZSAoKnApCi0JCWZyZWUoKnArKyk7Ci0JZnJlZShwYXRoKTsKLX0KLQotLyoKICAqIGV4ZV9vbmx5IG1lYW5zIHRoYXQgd2Ugb25seSB3YW50IHRvIGRldGVjdCAuZXhlIGZpbGVzLCBidXQgbm90IHNjcmlwdHMKICAqICh3aGljaCBkbyBub3QgaGF2ZSBhbiBleHRlbnNpb24pCiAgKi8KLXN0YXRpYyBjaGFyICpsb29rdXBfcHJvZyhjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKmNtZCwgaW50IGlzZXhlLCBpbnQgZXhlX29ubHkpCitzdGF0aWMgY2hhciAqbG9va3VwX3Byb2coY29uc3QgY2hhciAqZGlyLCBpbnQgZGlybGVuLCBjb25zdCBjaGFyICpjbWQsCisJCQkgaW50IGlzZXhlLCBpbnQgZXhlX29ubHkpCiB7CiAJY2hhciBwYXRoW01BWF9QQVRIXTsKLQlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy8lcy5leGUiLCBkaXIsIGNtZCk7CisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiJS4qc1xcJXMuZXhlIiwgZGlybGVuLCBkaXIsIGNtZCk7CiAKIAlpZiAoIWlzZXhlICYmIGFjY2VzcyhwYXRoLCBGX09LKSA9PSAwKQogCQlyZXR1cm4geHN0cmR1cChwYXRoKTsKQEAgLTEwMTMsMTcgKzk2NSwyOSBAQAogICogRGV0ZXJtaW5lcyB0aGUgYWJzb2x1dGUgcGF0aCBvZiBjbWQgdXNpbmcgdGhlIHNwbGl0IHBhdGggaW4gcGF0aC4KICAqIElmIGNtZCBjb250YWlucyBhIHNsYXNoIG9yIGJhY2tzbGFzaCwgbm8gbG9va3VwIGlzIHBlcmZvcm1lZC4KICAqLwotc3RhdGljIGNoYXIgKnBhdGhfbG9va3VwKGNvbnN0IGNoYXIgKmNtZCwgY2hhciAqKnBhdGgsIGludCBleGVfb25seSkKK3N0YXRpYyBjaGFyICpwYXRoX2xvb2t1cChjb25zdCBjaGFyICpjbWQsIGludCBleGVfb25seSkKIHsKKwljb25zdCBjaGFyICpwYXRoOwogCWNoYXIgKnByb2cgPSBOVUxMOwogCWludCBsZW4gPSBzdHJsZW4oY21kKTsKIAlpbnQgaXNleGUgPSBsZW4gPj0gNCAmJiAhc3RyY2FzZWNtcChjbWQrbGVuLTQsICIuZXhlIik7CiAKIAlpZiAoc3RyY2hyKGNtZCwgJy8nKSB8fCBzdHJjaHIoY21kLCAnXFwnKSkKLQkJcHJvZyA9IHhzdHJkdXAoY21kKTsKKwkJcmV0dXJuIHhzdHJkdXAoY21kKTsKIAotCXdoaWxlICghcHJvZyAmJiAqcGF0aCkKLQkJcHJvZyA9IGxvb2t1cF9wcm9nKCpwYXRoKyssIGNtZCwgaXNleGUsIGV4ZV9vbmx5KTsKKwlwYXRoID0gbWluZ3dfZ2V0ZW52KCJQQVRIIik7CisJaWYgKCFwYXRoKQorCQlyZXR1cm4gTlVMTDsKKworCXdoaWxlICghcHJvZykgeworCQljb25zdCBjaGFyICpzZXAgPSBzdHJjaHJudWwocGF0aCwgJzsnKTsKKwkJaW50IGRpcmxlbiA9IHNlcCAtIHBhdGg7CisJCWlmIChkaXJsZW4pCisJCQlwcm9nID0gbG9va3VwX3Byb2cocGF0aCwgZGlybGVuLCBjbWQsIGlzZXhlLCBleGVfb25seSk7CisJCWlmICghKnNlcCkKKwkJCWJyZWFrOworCQlwYXRoID0gc2VwICsgMTsKKwl9CiAKIAlyZXR1cm4gcHJvZzsKIH0KQEAgLTExOTAsOCArMTE1NCw3IEBACiAJCSAgICAgaW50IGZoaW4sIGludCBmaG91dCwgaW50IGZoZXJyKQogewogCXBpZF90IHBpZDsKLQljaGFyICoqcGF0aCA9IGdldF9wYXRoX3NwbGl0KCk7Ci0JY2hhciAqcHJvZyA9IHBhdGhfbG9va3VwKGNtZCwgcGF0aCwgMCk7CisJY2hhciAqcHJvZyA9IHBhdGhfbG9va3VwKGNtZCwgMCk7CiAKIAlpZiAoIXByb2cpIHsKIAkJZXJybm8gPSBFTk9FTlQ7CkBAIC0xMjAyLDcgKzExNjUsNyBAQAogCiAJCWlmIChpbnRlcnByKSB7CiAJCQljb25zdCBjaGFyICphcmd2MCA9IGFyZ3ZbMF07Ci0JCQljaGFyICppcHJvZyA9IHBhdGhfbG9va3VwKGludGVycHIsIHBhdGgsIDEpOworCQkJY2hhciAqaXByb2cgPSBwYXRoX2xvb2t1cChpbnRlcnByLCAxKTsKIAkJCWFyZ3ZbMF0gPSBwcm9nOwogCQkJaWYgKCFpcHJvZykgewogCQkJCWVycm5vID0gRU5PRU5UOwpAQCAtMTIyMCwyMSArMTE4MywxOCBAQAogCQkJCQkgICAgICAgZmhpbiwgZmhvdXQsIGZoZXJyKTsKIAkJZnJlZShwcm9nKTsKIAl9Ci0JZnJlZV9wYXRoX3NwbGl0KHBhdGgpOwogCXJldHVybiBwaWQ7CiB9CiAKIHN0YXRpYyBpbnQgdHJ5X3NoZWxsX2V4ZWMoY29uc3QgY2hhciAqY21kLCBjaGFyICpjb25zdCAqYXJndikKIHsKIAljb25zdCBjaGFyICppbnRlcnByID0gcGFyc2VfaW50ZXJwcmV0ZXIoY21kKTsKLQljaGFyICoqcGF0aDsKIAljaGFyICpwcm9nOwogCWludCBwaWQgPSAwOwogCiAJaWYgKCFpbnRlcnByKQogCQlyZXR1cm4gMDsKLQlwYXRoID0gZ2V0X3BhdGhfc3BsaXQoKTsKLQlwcm9nID0gcGF0aF9sb29rdXAoaW50ZXJwciwgcGF0aCwgMSk7CisJcHJvZyA9IHBhdGhfbG9va3VwKGludGVycHIsIDEpOwogCWlmIChwcm9nKSB7CiAJCWludCBhcmdjID0gMDsKIAkJY29uc3QgY2hhciAqKmFyZ3YyOwpAQCAtMTI1Myw3ICsxMjEzLDYgQEAKIAkJZnJlZShwcm9nKTsKIAkJZnJlZShhcmd2Mik7CiAJfQotCWZyZWVfcGF0aF9zcGxpdChwYXRoKTsKIAlyZXR1cm4gcGlkOwogfQogCkBAIC0xMjc1LDggKzEyMzQsNyBAQAogCiBpbnQgbWluZ3dfZXhlY3ZwKGNvbnN0IGNoYXIgKmNtZCwgY2hhciAqY29uc3QgKmFyZ3YpCiB7Ci0JY2hhciAqKnBhdGggPSBnZXRfcGF0aF9zcGxpdCgpOwotCWNoYXIgKnByb2cgPSBwYXRoX2xvb2t1cChjbWQsIHBhdGgsIDApOworCWNoYXIgKnByb2cgPSBwYXRoX2xvb2t1cChjbWQsIDApOwogCiAJaWYgKHByb2cpIHsKIAkJbWluZ3dfZXhlY3YocHJvZywgYXJndik7CkBAIC0xMjg0LDcgKzEyNDIsNiBAQAogCX0gZWxzZQogCQllcnJubyA9IEVOT0VOVDsKIAotCWZyZWVfcGF0aF9zcGxpdChwYXRoKTsKIAlyZXR1cm4gLTE7CiB9CiAKZGlmZiAtLWdpdCBhL2NvbXBhdC9taW5ndy5oIGIvY29tcGF0L21pbmd3LmgKaW5kZXggMzM1MDE2OS4uZTAzYWVjZiAxMDA2NDQKLS0tIGEvY29tcGF0L21pbmd3LmgKKysrIGIvY29tcGF0L21pbmd3LmgKQEAgLTM5OCw3ICszOTgsMTEgQEAKIAkoaXNhbHBoYSgqKHBhdGgpKSAmJiAocGF0aClbMV0gPT0gJzonID8gMiA6IDApCiBpbnQgbWluZ3dfc2tpcF9kb3NfZHJpdmVfcHJlZml4KGNoYXIgKipwYXRoKTsKICNkZWZpbmUgc2tpcF9kb3NfZHJpdmVfcHJlZml4IG1pbmd3X3NraXBfZG9zX2RyaXZlX3ByZWZpeAotI2RlZmluZSBpc19kaXJfc2VwKGMpICgoYykgPT0gJy8nIHx8IChjKSA9PSAnXFwnKQorc3RhdGljIGlubGluZSBpbnQgbWluZ3dfaXNfZGlyX3NlcChpbnQgYykKK3sKKwlyZXR1cm4gYyA9PSAnLycgfHwgYyA9PSAnXFwnOworfQorI2RlZmluZSBpc19kaXJfc2VwIG1pbmd3X2lzX2Rpcl9zZXAKIHN0YXRpYyBpbmxpbmUgY2hhciAqbWluZ3dfZmluZF9sYXN0X2Rpcl9zZXAoY29uc3QgY2hhciAqcGF0aCkKIHsKIAljaGFyICpyZXQgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jIGIvY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jCmluZGV4IDQyOTNiNTMuLmRlNjFjMTUgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9wcmVjb21wb3NlX3V0ZjguYworKysgYi9jb21wYXQvcHJlY29tcG9zZV91dGY4LmMKQEAgLTYsNiArNiw3IEBACiAjZGVmaW5lIFBSRUNPTVBPU0VfVU5JQ09ERV9DCiAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInV0ZjguaCIKICNpbmNsdWRlICJwcmVjb21wb3NlX3V0ZjguaCIKIApkaWZmIC0tZ2l0IGEvY29tcGF0L3JlZ2V4L3JlZ2V4ZWMuYyBiL2NvbXBhdC9yZWdleC9yZWdleGVjLmMKaW5kZXggZWI1ZTFkNC4uMGE3NDVkOSAxMDA2NDQKLS0tIGEvY29tcGF0L3JlZ2V4L3JlZ2V4ZWMuYworKysgYi9jb21wYXQvcmVnZXgvcmVnZXhlYy5jCkBAIC00MTAyLDcgKzQxMDIsNyBAQAogICBpZiAoQkUgKElOVF9NQVggLyAyIC8gc2l6ZW9mIChyZV9kZmFzdGF0ZV90ICopIDw9IHBzdHItPmJ1ZnNfbGVuLCAwKSkKICAgICByZXR1cm4gUkVHX0VTUEFDRTsKIAotICAvKiBEb3VibGUgdGhlIGxlbmd0aGVzIG9mIHRoZSBidWZmZXJzLiAgKi8KKyAgLyogRG91YmxlIHRoZSBsZW5ndGhzIG9mIHRoZSBidWZmZXJzLiAgKi8KICAgcmV0ID0gcmVfc3RyaW5nX3JlYWxsb2NfYnVmZmVycyAocHN0ciwgcHN0ci0+YnVmc19sZW4gKiAyKTsKICAgaWYgKEJFIChyZXQgIT0gUkVHX05PRVJST1IsIDApKQogICAgIHJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9jb21wYXQvd2luMzIvbGF6eWxvYWQuaCBiL2NvbXBhdC93aW4zMi9sYXp5bG9hZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNjMxYzgKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvd2luMzIvbGF6eWxvYWQuaApAQCAtMCwwICsxLDU3IEBACisjaWZuZGVmIExBWllMT0FEX0gKKyNkZWZpbmUgTEFaWUxPQURfSAorCisvKgorICogQSBwYWlyIG9mIG1hY3JvcyB0byBzaW1wbGlmeSBsb2FkaW5nIG9mIERMTCBmdW5jdGlvbnMuIEV4YW1wbGU6CisgKgorICogICBERUNMQVJFX1BST0NfQUREUihrZXJuZWwzMi5kbGwsIEJPT0wsIENyZWF0ZUhhcmRMaW5rVywKKyAqICAgICAgICAgICAgICAgICAgICAgTFBDV1NUUiwgTFBDV1NUUiwgTFBTRUNVUklUWV9BVFRSSUJVVEVTKTsKKyAqCisgKiAgIGlmICghSU5JVF9QUk9DX0FERFIoQ3JlYXRlSGFyZExpbmtXKSkKKyAqICAgICAgICAgICByZXR1cm4gZXJyb3IoIkNvdWxkIG5vdCBmaW5kIENyZWF0ZUhhcmRMaW5rVygpIGZ1bmN0aW9uIjsKKyAqCisgKiAgIGlmICghQ3JlYXRlSGFyZExpbmtXKHNvdXJjZSwgdGFyZ2V0LCBOVUxMKSkKKyAqICAgICAgICAgICByZXR1cm4gZXJyb3IoImNvdWxkIG5vdCBjcmVhdGUgaGFyZGxpbmsgZnJvbSAlUyB0byAlUyIsCisgKiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgdGFyZ2V0KTsKKyAqLworCitzdHJ1Y3QgcHJvY19hZGRyIHsKKwljb25zdCBjaGFyICpjb25zdCBkbGw7CisJY29uc3QgY2hhciAqY29uc3QgZnVuY3Rpb247CisJRkFSUFJPQyBwZnVuY3Rpb247CisJdW5zaWduZWQgaW5pdGlhbGl6ZWQgOiAxOworfTsKKworLyogRGVjbGFyZXMgYSBmdW5jdGlvbiB0byBiZSBsb2FkZWQgZHluYW1pY2FsbHkgZnJvbSBhIERMTC4gKi8KKyNkZWZpbmUgREVDTEFSRV9QUk9DX0FERFIoZGxsLCByZXR0eXBlLCBmdW5jdGlvbiwgLi4uKSBcCisJc3RhdGljIHN0cnVjdCBwcm9jX2FkZHIgcHJvY19hZGRyXyMjZnVuY3Rpb24gPSBcCisJeyAjZGxsLCAjZnVuY3Rpb24sIE5VTEwsIDAgfTsgXAorCXN0YXRpYyByZXR0eXBlIChXSU5BUEkgKmZ1bmN0aW9uKShfX1ZBX0FSR1NfXykKKworLyoKKyAqIExvYWRzIGEgZnVuY3Rpb24gZnJvbSBhIERMTCAob25jZS1vbmx5KS4KKyAqIFJldHVybnMgbm9uLU5VTEwgZnVuY3Rpb24gcG9pbnRlciBvbiBzdWNjZXNzLgorICogUmV0dXJucyBOVUxMICsgZXJybm8gPT0gRU5PU1lTIG9uIGZhaWx1cmUuCisgKiBUaGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQtc2FmZS4KKyAqLworI2RlZmluZSBJTklUX1BST0NfQUREUihmdW5jdGlvbikgXAorCShmdW5jdGlvbiA9IGdldF9wcm9jX2FkZHIoJnByb2NfYWRkcl8jI2Z1bmN0aW9uKSkKKworc3RhdGljIGlubGluZSB2b2lkICpnZXRfcHJvY19hZGRyKHN0cnVjdCBwcm9jX2FkZHIgKnByb2MpCit7CisJLyogb25seSBkbyB0aGlzIG9uY2UgKi8KKwlpZiAoIXByb2MtPmluaXRpYWxpemVkKSB7CisJCUhBTkRMRSBobmQ7CisJCXByb2MtPmluaXRpYWxpemVkID0gMTsKKwkJaG5kID0gTG9hZExpYnJhcnlFeEEocHJvYy0+ZGxsLCBOVUxMLAorCQkJCSAgICAgTE9BRF9MSUJSQVJZX1NFQVJDSF9TWVNURU0zMik7CisJCWlmIChobmQpCisJCQlwcm9jLT5wZnVuY3Rpb24gPSBHZXRQcm9jQWRkcmVzcyhobmQsIHByb2MtPmZ1bmN0aW9uKTsKKwl9CisJLyogc2V0IEVOT1NZUyBpZiBETEwgb3IgZnVuY3Rpb24gd2FzIG5vdCBmb3VuZCAqLworCWlmICghcHJvYy0+cGZ1bmN0aW9uKQorCQllcnJubyA9IEVOT1NZUzsKKwlyZXR1cm4gcHJvYy0+cGZ1bmN0aW9uOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2NvbXBhdC93aW4zMi9zeXNsb2cuYyBiL2NvbXBhdC93aW4zMi9zeXNsb2cuYwppbmRleCA2YzdjOWI2Li4xNjE5NzhkIDEwMDY0NAotLS0gYS9jb21wYXQvd2luMzIvc3lzbG9nLmMKKysrIGIvY29tcGF0L3dpbjMyL3N5c2xvZy5jCkBAIC00Myw4ICs0MywxMCBAQAogCXZhX2VuZChhcCk7CiAKIAl3aGlsZSAoKHBvcyA9IHN0cnN0cihzdHIsICIlMSIpKSAhPSBOVUxMKSB7CisJCWNoYXIgKm9sZHN0ciA9IHN0cjsKIAkJc3RyID0gcmVhbGxvYyhzdHIsIHN0X2FkZCgrK3N0cl9sZW4sIDEpKTsKIAkJaWYgKCFzdHIpIHsKKwkJCWZyZWUob2xkc3RyKTsKIAkJCXdhcm5pbmdfZXJybm8oInJlYWxsb2MgZmFpbGVkIik7CiAJCQlyZXR1cm47CiAJCX0KZGlmZiAtLWdpdCBhL2NvbXBhdC93aW5hbnNpLmMgYi9jb21wYXQvd2luYW5zaS5jCmluZGV4IDc5MzQyMGYuLmExMWEwZjEgMTAwNjQ0Ci0tLSBhL2NvbXBhdC93aW5hbnNpLmMKKysrIGIvY29tcGF0L3dpbmFuc2kuYwpAQCAtMTA1LDYgKzEwNSwxMyBAQAogCWlmICghZmQpIHsKIAkJaWYgKCFHZXRDb25zb2xlTW9kZShoY29uLCAmbW9kZSkpCiAJCQlyZXR1cm4gMDsKKwkJLyoKKwkJICogVGhpcyBjb2RlIHBhdGggaXMgb25seSByZWFjaGVkIGlmIHRoZXJlIGlzIG5vIGNvbnNvbGUKKwkJICogYXR0YWNoZWQgdG8gc3Rkb3V0L3N0ZGVyciwgaS5lLiB3ZSB3aWxsIG5vdCBuZWVkIHRvIG91dHB1dAorCQkgKiBhbnkgdGV4dCB0byBhbnkgY29uc29sZSwgdGhlcmVmb3JlIHdlIG1pZ2h0IGp1c3QgYXMgd2VsbAorCQkgKiB1c2UgYmxhY2sgYXMgZm9yZWdyb3VuZCBjb2xvci4KKwkJICovCisJCXNiaS53QXR0cmlidXRlcyA9IDA7CiAJfSBlbHNlIGlmICghR2V0Q29uc29sZVNjcmVlbkJ1ZmZlckluZm8oaGNvbiwgJnNiaSkpCiAJCXJldHVybiAwOwogCkBAIC0xMzMsNiArMTQwLDExIEBACiAKIAkvKiBjb252ZXJ0IHV0Zi04IHRvIHV0Zi0xNiAqLwogCWludCB3bGVuID0geHV0ZnRvd2Nzbih3YnVmLCAoY2hhciopIHN0ciwgQVJSQVlfU0laRSh3YnVmKSwgbGVuKTsKKwlpZiAod2xlbiA8IDApIHsKKwkJd2NoYXJfdCAqZXJyID0gTCJbaW52YWxpZF0iOworCQlXcml0ZUNvbnNvbGVXKGNvbnNvbGUsIGVyciwgd2NzbGVuKGVyciksICZkdW1teSwgTlVMTCk7CisJCXJldHVybjsKKwl9CiAKIAkvKiB3cml0ZSBkaXJlY3RseSB0byBjb25zb2xlICovCiAJV3JpdGVDb25zb2xlVyhjb25zb2xlLCB3YnVmLCB3bGVuLCAmZHVtbXksIE5VTEwpOwpkaWZmIC0tZ2l0IGEvY29uZmlnLmMgYi9jb25maWcuYwppbmRleCAwZTllMWViLi40ODMxYzEyIDEwMDY0NAotLS0gYS9jb25maWcuYworKysgYi9jb25maWcuYwpAQCAtNiw2ICs2LDggQEAKICAqCiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgImV4ZWNfY21kLmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCkBAIC0xMyw2ICsxNSw4IEBACiAjaW5jbHVkZSAiaGFzaG1hcC5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAjaW5jbHVkZSAidXRmOC5oIgorI2luY2x1ZGUgImRpci5oIgorI2luY2x1ZGUgImNvbG9yLmgiCiAKIHN0cnVjdCBjb25maWdfc291cmNlIHsKIAlzdHJ1Y3QgY29uZmlnX3NvdXJjZSAqcHJldjsKQEAgLTcwLDEzICs3NCw2IEBACiBzdGF0aWMgaW50IHBhY2tfY29tcHJlc3Npb25fc2VlbjsKIHN0YXRpYyBpbnQgemxpYl9jb21wcmVzc2lvbl9zZWVuOwogCi0vKgotICogRGVmYXVsdCBjb25maWdfc2V0IHRoYXQgY29udGFpbnMga2V5LXZhbHVlIHBhaXJzIGZyb20gdGhlIHVzdWFsIHNldCBvZiBjb25maWcKLSAqIGNvbmZpZyBmaWxlcyAoaS5lIHJlcG8gc3BlY2lmaWMgLmdpdC9jb25maWcsIHVzZXIgd2lkZSB+Ly5naXRjb25maWcsIFhERwotICogY29uZmlnIGZpbGUgYW5kIHRoZSBnbG9iYWwgL2V0Yy9naXRjb25maWcpCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY29uZmlnX3NldCB0aGVfY29uZmlnX3NldDsKLQogc3RhdGljIGludCBjb25maWdfZmlsZV9mZ2V0YyhzdHJ1Y3QgY29uZmlnX3NvdXJjZSAqY29uZikKIHsKIAlyZXR1cm4gZ2V0Y191bmxvY2tlZChjb25mLT51LmZpbGUpOwpAQCAtMTM0LDcgKzEzMSw3IEBACiAJaWYgKCFwYXRoKQogCQlyZXR1cm4gY29uZmlnX2Vycm9yX25vbmJvb2woImluY2x1ZGUucGF0aCIpOwogCi0JZXhwYW5kZWQgPSBleHBhbmRfdXNlcl9wYXRoKHBhdGgpOworCWV4cGFuZGVkID0gZXhwYW5kX3VzZXJfcGF0aChwYXRoLCAwKTsKIAlpZiAoIWV4cGFuZGVkKQogCQlyZXR1cm4gZXJyb3IoImNvdWxkIG5vdCBleHBhbmQgaW5jbHVkZSBwYXRoICclcyciLCBwYXRoKTsKIAlwYXRoID0gZXhwYW5kZWQ7CkBAIC0xNzAsOSArMTY3LDExOCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgcHJlcGFyZV9pbmNsdWRlX2NvbmRpdGlvbl9wYXR0ZXJuKHN0cnVjdCBzdHJidWYgKnBhdCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKKwljaGFyICpleHBhbmRlZDsKKwlpbnQgcHJlZml4ID0gMDsKKworCWV4cGFuZGVkID0gZXhwYW5kX3VzZXJfcGF0aChwYXQtPmJ1ZiwgMSk7CisJaWYgKGV4cGFuZGVkKSB7CisJCXN0cmJ1Zl9yZXNldChwYXQpOworCQlzdHJidWZfYWRkc3RyKHBhdCwgZXhwYW5kZWQpOworCQlmcmVlKGV4cGFuZGVkKTsKKwl9CisKKwlpZiAocGF0LT5idWZbMF0gPT0gJy4nICYmIGlzX2Rpcl9zZXAocGF0LT5idWZbMV0pKSB7CisJCWNvbnN0IGNoYXIgKnNsYXNoOworCisJCWlmICghY2YgfHwgIWNmLT5wYXRoKQorCQkJcmV0dXJuIGVycm9yKF8oInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlICIKKwkJCQkgICAgICAgImNvbmRpdGlvbmFscyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIpKTsKKworCQlzdHJidWZfcmVhbHBhdGgoJnBhdGgsIGNmLT5wYXRoLCAxKTsKKwkJc2xhc2ggPSBmaW5kX2xhc3RfZGlyX3NlcChwYXRoLmJ1Zik7CisJCWlmICghc2xhc2gpCisJCQlkaWUoIkJVRzogaG93IGlzIHRoaXMgcG9zc2libGU/Iik7CisJCXN0cmJ1Zl9zcGxpY2UocGF0LCAwLCAxLCBwYXRoLmJ1Ziwgc2xhc2ggLSBwYXRoLmJ1Zik7CisJCXByZWZpeCA9IHNsYXNoIC0gcGF0aC5idWYgKyAxIC8qIHNsYXNoICovOworCX0gZWxzZSBpZiAoIWlzX2Fic29sdXRlX3BhdGgocGF0LT5idWYpKQorCQlzdHJidWZfaW5zZXJ0KHBhdCwgMCwgIioqLyIsIDMpOworCisJaWYgKHBhdC0+bGVuICYmIGlzX2Rpcl9zZXAocGF0LT5idWZbcGF0LT5sZW4gLSAxXSkpCisJCXN0cmJ1Zl9hZGRzdHIocGF0LCAiKioiKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKKwlyZXR1cm4gcHJlZml4OworfQorCitzdGF0aWMgaW50IGluY2x1ZGVfYnlfZ2l0ZGlyKGNvbnN0IHN0cnVjdCBjb25maWdfb3B0aW9ucyAqb3B0cywKKwkJCSAgICAgY29uc3QgY2hhciAqY29uZCwgc2l6ZV90IGNvbmRfbGVuLCBpbnQgaWNhc2UpCit7CisJc3RydWN0IHN0cmJ1ZiB0ZXh0ID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBwYXR0ZXJuID0gU1RSQlVGX0lOSVQ7CisJaW50IHJldCA9IDAsIHByZWZpeDsKKwljb25zdCBjaGFyICpnaXRfZGlyOworCWludCBhbHJlYWR5X3RyaWVkX2Fic29sdXRlID0gMDsKKworCWlmIChvcHRzLT5naXRfZGlyKQorCQlnaXRfZGlyID0gb3B0cy0+Z2l0X2RpcjsKKwllbHNlCisJCWdvdG8gZG9uZTsKKworCXN0cmJ1Zl9yZWFscGF0aCgmdGV4dCwgZ2l0X2RpciwgMSk7CisJc3RyYnVmX2FkZCgmcGF0dGVybiwgY29uZCwgY29uZF9sZW4pOworCXByZWZpeCA9IHByZXBhcmVfaW5jbHVkZV9jb25kaXRpb25fcGF0dGVybigmcGF0dGVybik7CisKK2FnYWluOgorCWlmIChwcmVmaXggPCAwKQorCQlnb3RvIGRvbmU7CisKKwlpZiAocHJlZml4ID4gMCkgeworCQkvKgorCQkgKiBwZXJmb3JtIGxpdGVyYWwgbWF0Y2hpbmcgb24gdGhlIHByZWZpeCBwYXJ0IHNvIHRoYXQKKwkJICogYW55IHdpbGRjYXJkIGNoYXJhY3RlciBpbiBpdCBjYW4ndCBjcmVhdGUgc2lkZSBlZmZlY3RzLgorCQkgKi8KKwkJaWYgKHRleHQubGVuIDwgcHJlZml4KQorCQkJZ290byBkb25lOworCQlpZiAoIWljYXNlICYmIHN0cm5jbXAocGF0dGVybi5idWYsIHRleHQuYnVmLCBwcmVmaXgpKQorCQkJZ290byBkb25lOworCQlpZiAoaWNhc2UgJiYgc3RybmNhc2VjbXAocGF0dGVybi5idWYsIHRleHQuYnVmLCBwcmVmaXgpKQorCQkJZ290byBkb25lOworCX0KKworCXJldCA9ICF3aWxkbWF0Y2gocGF0dGVybi5idWYgKyBwcmVmaXgsIHRleHQuYnVmICsgcHJlZml4LAorCQkJIGljYXNlID8gV01fQ0FTRUZPTEQgOiAwKTsKKworCWlmICghcmV0ICYmICFhbHJlYWR5X3RyaWVkX2Fic29sdXRlKSB7CisJCS8qCisJCSAqIFdlJ3ZlIHRyaWVkIGUuZy4gbWF0Y2hpbmcgZ2l0ZGlyOn4vd29yaywgYnV0IGlmCisJCSAqIH4vd29yayBpcyBhIHN5bWxpbmsgdG8gL21udC9zdG9yYWdlL3dvcmsKKwkJICogc3RyYnVmX3JlYWxwYXRoKCkgd2lsbCBleHBhbmQgaXQsIHNvIHRoZSBydWxlIHdvbid0CisJCSAqIG1hdGNoLiBMZXQncyBtYXRjaCBhZ2FpbnN0IGEKKwkJICogc3RyYnVmX2FkZF9hYnNvbHV0ZV9wYXRoKCkgdmVyc2lvbiBvZiB0aGUgcGF0aCwKKwkJICogd2hpY2gnbGwgZG8gdGhlIHJpZ2h0IHRoaW5nCisJCSAqLworCQlzdHJidWZfcmVzZXQoJnRleHQpOworCQlzdHJidWZfYWRkX2Fic29sdXRlX3BhdGgoJnRleHQsIGdpdF9kaXIpOworCQlhbHJlYWR5X3RyaWVkX2Fic29sdXRlID0gMTsKKwkJZ290byBhZ2FpbjsKKwl9Citkb25lOgorCXN0cmJ1Zl9yZWxlYXNlKCZwYXR0ZXJuKTsKKwlzdHJidWZfcmVsZWFzZSgmdGV4dCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBpbmNsdWRlX2NvbmRpdGlvbl9pc190cnVlKGNvbnN0IHN0cnVjdCBjb25maWdfb3B0aW9ucyAqb3B0cywKKwkJCQkgICAgIGNvbnN0IGNoYXIgKmNvbmQsIHNpemVfdCBjb25kX2xlbikKK3sKKworCWlmIChza2lwX3ByZWZpeF9tZW0oY29uZCwgY29uZF9sZW4sICJnaXRkaXI6IiwgJmNvbmQsICZjb25kX2xlbikpCisJCXJldHVybiBpbmNsdWRlX2J5X2dpdGRpcihvcHRzLCBjb25kLCBjb25kX2xlbiwgMCk7CisJZWxzZSBpZiAoc2tpcF9wcmVmaXhfbWVtKGNvbmQsIGNvbmRfbGVuLCAiZ2l0ZGlyL2k6IiwgJmNvbmQsICZjb25kX2xlbikpCisJCXJldHVybiBpbmNsdWRlX2J5X2dpdGRpcihvcHRzLCBjb25kLCBjb25kX2xlbiwgMSk7CisKKwkvKiB1bmtub3duIGNvbmRpdGlvbmFscyBhcmUgYWx3YXlzIGZhbHNlICovCisJcmV0dXJuIDA7Cit9CisKIGludCBnaXRfY29uZmlnX2luY2x1ZGUoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgY29uZmlnX2luY2x1ZGVfZGF0YSAqaW5jID0gZGF0YTsKKwljb25zdCBjaGFyICpjb25kLCAqa2V5OworCWludCBjb25kX2xlbjsKIAlpbnQgcmV0OwogCiAJLyoKQEAgLTE4NSw2ICsyOTEsMTIgQEAKIAogCWlmICghc3RyY21wKHZhciwgImluY2x1ZGUucGF0aCIpKQogCQlyZXQgPSBoYW5kbGVfcGF0aF9pbmNsdWRlKHZhbHVlLCBpbmMpOworCisJaWYgKCFwYXJzZV9jb25maWdfa2V5KHZhciwgImluY2x1ZGVpZiIsICZjb25kLCAmY29uZF9sZW4sICZrZXkpICYmCisJICAgIChjb25kICYmIGluY2x1ZGVfY29uZGl0aW9uX2lzX3RydWUoaW5jLT5vcHRzLCBjb25kLCBjb25kX2xlbikpICYmCisJICAgICFzdHJjbXAoa2V5LCAicGF0aCIpKQorCQlyZXQgPSBoYW5kbGVfcGF0aF9pbmNsdWRlKHZhbHVlLCBpbmMpOworCiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMjc3LDggKzM4OSw3IEBACiAKIG91dF9mcmVlX3JldF8xOgogCWlmIChzdG9yZV9rZXkpIHsKLQkJZnJlZSgqc3RvcmVfa2V5KTsKLQkJKnN0b3JlX2tleSA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwoKnN0b3JlX2tleSk7CiAJfQogCXJldHVybiAtQ09ORklHX0lOVkFMSURfS0VZOwogfQpAQCAtNDg2LDcgKzU5Nyw4IEBACiAJICovCiAJY2YtPmxpbmVuci0tOwogCXJldCA9IGZuKG5hbWUtPmJ1ZiwgdmFsdWUsIGRhdGEpOwotCWNmLT5saW5lbnIrKzsKKwlpZiAocmV0ID49IDApCisJCWNmLT5saW5lbnIrKzsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC03NDIsNiArODU0LDE1IEBACiAJcmV0dXJuIDE7CiB9CiAKK3N0YXRpYyBpbnQgZ2l0X3BhcnNlX3NzaXplX3QoY29uc3QgY2hhciAqdmFsdWUsIHNzaXplX3QgKnJldCkKK3sKKwlpbnRtYXhfdCB0bXA7CisJaWYgKCFnaXRfcGFyc2Vfc2lnbmVkKHZhbHVlLCAmdG1wLCBtYXhpbXVtX3NpZ25lZF92YWx1ZV9vZl90eXBlKHNzaXplX3QpKSkKKwkJcmV0dXJuIDA7CisJKnJldCA9IHRtcDsKKwlyZXR1cm4gMTsKK30KKwogTk9SRVRVUk4KIHN0YXRpYyB2b2lkIGRpZV9iYWRfbnVtYmVyKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogewpAQCAtODAwLDcgKzkyMSwxNSBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBnaXRfcGFyc2VfbWF5YmVfYm9vbChjb25zdCBjaGFyICp2YWx1ZSkKK3NzaXplX3QgZ2l0X2NvbmZpZ19zc2l6ZV90KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXNzaXplX3QgcmV0OworCWlmICghZ2l0X3BhcnNlX3NzaXplX3QodmFsdWUsICZyZXQpKQorCQlkaWVfYmFkX251bWJlcihuYW1lLCB2YWx1ZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBnaXRfcGFyc2VfbWF5YmVfYm9vbF90ZXh0KGNvbnN0IGNoYXIgKnZhbHVlKQogewogCWlmICghdmFsdWUpCiAJCXJldHVybiAxOwpAQCAtODE3LDkgKzk0Niw5IEBACiAJcmV0dXJuIC0xOwogfQogCi1pbnQgZ2l0X2NvbmZpZ19tYXliZV9ib29sKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQoraW50IGdpdF9wYXJzZV9tYXliZV9ib29sKGNvbnN0IGNoYXIgKnZhbHVlKQogewotCWludCB2ID0gZ2l0X3BhcnNlX21heWJlX2Jvb2wodmFsdWUpOworCWludCB2ID0gZ2l0X3BhcnNlX21heWJlX2Jvb2xfdGV4dCh2YWx1ZSk7CiAJaWYgKDAgPD0gdikKIAkJcmV0dXJuIHY7CiAJaWYgKGdpdF9wYXJzZV9pbnQodmFsdWUsICZ2KSkKQEAgLTgyOSw3ICs5NTgsNyBAQAogCiBpbnQgZ2l0X2NvbmZpZ19ib29sX29yX2ludChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSwgaW50ICppc19ib29sKQogewotCWludCB2ID0gZ2l0X3BhcnNlX21heWJlX2Jvb2wodmFsdWUpOworCWludCB2ID0gZ2l0X3BhcnNlX21heWJlX2Jvb2xfdGV4dCh2YWx1ZSk7CiAJaWYgKDAgPD0gdikgewogCQkqaXNfYm9vbCA9IDE7CiAJCXJldHVybiB2OwpAQCAtODU2LDcgKzk4NSw3IEBACiB7CiAJaWYgKCF2YWx1ZSkKIAkJcmV0dXJuIGNvbmZpZ19lcnJvcl9ub25ib29sKHZhcik7Ci0JKmRlc3QgPSBleHBhbmRfdXNlcl9wYXRoKHZhbHVlKTsKKwkqZGVzdCA9IGV4cGFuZF91c2VyX3BhdGgodmFsdWUsIDApOwogCWlmICghKmRlc3QpCiAJCWRpZShfKCJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIiksIHZhbHVlKTsKIAlyZXR1cm4gMDsKQEAgLTEyMjIsNiArMTM1MSw5IEBACiAJaWYgKHN0YXJ0c193aXRoKHZhciwgImFkdmljZS4iKSkKIAkJcmV0dXJuIGdpdF9kZWZhdWx0X2FkdmljZV9jb25maWcodmFyLCB2YWx1ZSk7CiAKKwlpZiAoZ2l0X2NvbG9yX2NvbmZpZyh2YXIsIHZhbHVlLCBkdW1teSkgPCAwKQorCQlyZXR1cm4gLTE7CisKIAlpZiAoIXN0cmNtcCh2YXIsICJwYWdlci5jb2xvciIpIHx8ICFzdHJjbXAodmFyLCAiY29sb3IucGFnZXIiKSkgewogCQlwYWdlcl91c2VfY29sb3IgPSBnaXRfY29uZmlnX2Jvb2wodmFyLHZhbHVlKTsKIAkJcmV0dXJuIDA7CkBAIC0xMzAzLDcgKzE0MzUsNyBAQAogCWludCByZXQgPSAtMTsKIAlGSUxFICpmOwogCi0JZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOworCWYgPSBmb3Blbl9vcl93YXJuKGZpbGVuYW1lLCAiciIpOwogCWlmIChmKSB7CiAJCWZsb2NrZmlsZShmKTsKIAkJcmV0ID0gZG9fY29uZmlnX2Zyb21fZmlsZShmbiwgQ09ORklHX09SSUdJTl9GSUxFLCBmaWxlbmFtZSwgZmlsZW5hbWUsIGYsIGRhdGEpOwpAQCAtMTMzMiw5ICsxNDY0LDkgQEAKIAlyZXR1cm4gZG9fY29uZmlnX2Zyb20oJnRvcCwgZm4sIGRhdGEpOwogfQogCi1pbnQgZ2l0X2NvbmZpZ19mcm9tX2Jsb2Jfc2hhMShjb25maWdfZm5fdCBmbiwKK2ludCBnaXRfY29uZmlnX2Zyb21fYmxvYl9vaWQoY29uZmlnX2ZuX3QgZm4sCiAJCQkgICAgICBjb25zdCBjaGFyICpuYW1lLAotCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSAgICAgIHZvaWQgKmRhdGEpCiB7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwpAQCAtMTM0Miw3ICsxNDc0LDcgQEAKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJaW50IHJldDsKIAotCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJYnVmID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgJnNpemUpOwogCWlmICghYnVmKQogCQlyZXR1cm4gZXJyb3IoInVuYWJsZSB0byBsb2FkIGNvbmZpZyBibG9iIG9iamVjdCAnJXMnIiwgbmFtZSk7CiAJaWYgKHR5cGUgIT0gT0JKX0JMT0IpIHsKQEAgLTEzNjAsMTEgKzE0OTIsMTEgQEAKIAkJCQkgICAgY29uc3QgY2hhciAqbmFtZSwKIAkJCQkgICAgdm9pZCAqZGF0YSkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCi0JaWYgKGdldF9zaGExKG5hbWUsIHNoYTEpIDwgMCkKKwlpZiAoZ2V0X29pZChuYW1lLCAmb2lkKSA8IDApCiAJCXJldHVybiBlcnJvcigidW5hYmxlIHRvIHJlc29sdmUgY29uZmlnIGJsb2IgJyVzJyIsIG5hbWUpOwotCXJldHVybiBnaXRfY29uZmlnX2Zyb21fYmxvYl9zaGExKGZuLCBuYW1lLCBzaGExLCBkYXRhKTsKKwlyZXR1cm4gZ2l0X2NvbmZpZ19mcm9tX2Jsb2Jfb2lkKGZuLCBuYW1lLCAmb2lkLCBkYXRhKTsKIH0KIAogY29uc3QgY2hhciAqZ2l0X2V0Y19naXRjb25maWcodm9pZCkKQEAgLTE0MDIsMTIgKzE1MzQsMTggQEAKIAlyZXR1cm4gIWdpdF9lbnZfYm9vbCgiR0lUX0NPTkZJR19OT1NZU1RFTSIsIDApOwogfQogCi1zdGF0aWMgaW50IGRvX2dpdF9jb25maWdfc2VxdWVuY2UoY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGRvX2dpdF9jb25maWdfc2VxdWVuY2UoY29uc3Qgc3RydWN0IGNvbmZpZ19vcHRpb25zICpvcHRzLAorCQkJCSAgY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpCiB7CiAJaW50IHJldCA9IDA7CiAJY2hhciAqeGRnX2NvbmZpZyA9IHhkZ19jb25maWdfaG9tZSgiY29uZmlnIik7Ci0JY2hhciAqdXNlcl9jb25maWcgPSBleHBhbmRfdXNlcl9wYXRoKCJ+Ly5naXRjb25maWciKTsKLQljaGFyICpyZXBvX2NvbmZpZyA9IGhhdmVfZ2l0X2RpcigpID8gZ2l0X3BhdGhkdXAoImNvbmZpZyIpIDogTlVMTDsKKwljaGFyICp1c2VyX2NvbmZpZyA9IGV4cGFuZF91c2VyX3BhdGgoIn4vLmdpdGNvbmZpZyIsIDApOworCWNoYXIgKnJlcG9fY29uZmlnOworCisJaWYgKG9wdHMtPmNvbW1vbmRpcikKKwkJcmVwb19jb25maWcgPSBta3BhdGhkdXAoIiVzL2NvbmZpZyIsIG9wdHMtPmNvbW1vbmRpcik7CisJZWxzZQorCQlyZXBvX2NvbmZpZyA9IE5VTEw7CiAKIAljdXJyZW50X3BhcnNpbmdfc2NvcGUgPSBDT05GSUdfU0NPUEVfU1lTVEVNOwogCWlmIChnaXRfY29uZmlnX3N5c3RlbSgpICYmICFhY2Nlc3Nfb3JfZGllKGdpdF9ldGNfZ2l0Y29uZmlnKCksIFJfT0ssIDApKQpAQCAtMTQzNiwxNSArMTU3NCwxNiBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBnaXRfY29uZmlnX3dpdGhfb3B0aW9ucyhjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSwKLQkJCSAgICBzdHJ1Y3QgZ2l0X2NvbmZpZ19zb3VyY2UgKmNvbmZpZ19zb3VyY2UsCi0JCQkgICAgaW50IHJlc3BlY3RfaW5jbHVkZXMpCitpbnQgY29uZmlnX3dpdGhfb3B0aW9ucyhjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSwKKwkJCXN0cnVjdCBnaXRfY29uZmlnX3NvdXJjZSAqY29uZmlnX3NvdXJjZSwKKwkJCWNvbnN0IHN0cnVjdCBjb25maWdfb3B0aW9ucyAqb3B0cykKIHsKIAlzdHJ1Y3QgY29uZmlnX2luY2x1ZGVfZGF0YSBpbmMgPSBDT05GSUdfSU5DTFVERV9JTklUOwogCi0JaWYgKHJlc3BlY3RfaW5jbHVkZXMpIHsKKwlpZiAob3B0cy0+cmVzcGVjdF9pbmNsdWRlcykgewogCQlpbmMuZm4gPSBmbjsKIAkJaW5jLmRhdGEgPSBkYXRhOworCQlpbmMub3B0cyA9IG9wdHM7CiAJCWZuID0gZ2l0X2NvbmZpZ19pbmNsdWRlOwogCQlkYXRhID0gJmluYzsKIAl9CkBAIC0xNDYwLDI0ICsxNTk5LDcgQEAKIAllbHNlIGlmIChjb25maWdfc291cmNlICYmIGNvbmZpZ19zb3VyY2UtPmJsb2IpCiAJCXJldHVybiBnaXRfY29uZmlnX2Zyb21fYmxvYl9yZWYoZm4sIGNvbmZpZ19zb3VyY2UtPmJsb2IsIGRhdGEpOwogCi0JcmV0dXJuIGRvX2dpdF9jb25maWdfc2VxdWVuY2UoZm4sIGRhdGEpOwotfQotCi1zdGF0aWMgdm9pZCBnaXRfY29uZmlnX3Jhdyhjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSkKLXsKLQlpZiAoZ2l0X2NvbmZpZ193aXRoX29wdGlvbnMoZm4sIGRhdGEsIE5VTEwsIDEpIDwgMCkKLQkJLyoKLQkJICogZ2l0X2NvbmZpZ193aXRoX29wdGlvbnMoKSBub3JtYWxseSByZXR1cm5zIG9ubHkKLQkJICogemVybywgYXMgbW9zdCBlcnJvcnMgYXJlIGZhdGFsLCBhbmQKLQkJICogbm9uLWZhdGFsIHBvdGVudGlhbCBlcnJvcnMgYXJlIGd1YXJkZWQgYnkgImlmIgotCQkgKiBzdGF0ZW1lbnRzIHRoYXQgYXJlIGVudGVyZWQgb25seSB3aGVuIG5vIGVycm9yIGlzCi0JCSAqIHBvc3NpYmxlLgotCQkgKgotCQkgKiBJZiB3ZSBldmVyIGVuY291bnRlciBhIG5vbi1mYXRhbCBlcnJvciwgaXQgbWVhbnMKLQkJICogc29tZXRoaW5nIHdlbnQgcmVhbGx5IHdyb25nIGFuZCB3ZSBzaG91bGQgc3RvcAotCQkgKiBpbW1lZGlhdGVseS4KLQkJICovCi0JCWRpZShfKCJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiKSk7CisJcmV0dXJuIGRvX2dpdF9jb25maWdfc2VxdWVuY2Uob3B0cywgZm4sIGRhdGEpOwogfQogCiBzdGF0aWMgdm9pZCBjb25maWdzZXRfaXRlcihzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbmZpZ19mbl90IGZuLCB2b2lkICpkYXRhKQpAQCAtMTUwMywxMiArMTYyNSwzNCBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgZ2l0X2NvbmZpZ19jaGVja19pbml0KHZvaWQpOwotCi12b2lkIGdpdF9jb25maWcoY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpCit2b2lkIHJlYWRfZWFybHlfY29uZmlnKGNvbmZpZ19mbl90IGNiLCB2b2lkICpkYXRhKQogewotCWdpdF9jb25maWdfY2hlY2tfaW5pdCgpOwotCWNvbmZpZ3NldF9pdGVyKCZ0aGVfY29uZmlnX3NldCwgZm4sIGRhdGEpOworCXN0cnVjdCBjb25maWdfb3B0aW9ucyBvcHRzID0gezB9OworCXN0cnVjdCBzdHJidWYgY29tbW9uZGlyID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBnaXRkaXIgPSBTVFJCVUZfSU5JVDsKKworCW9wdHMucmVzcGVjdF9pbmNsdWRlcyA9IDE7CisKKwlpZiAoaGF2ZV9naXRfZGlyKCkpIHsKKwkJb3B0cy5jb21tb25kaXIgPSBnZXRfZ2l0X2NvbW1vbl9kaXIoKTsKKwkJb3B0cy5naXRfZGlyID0gZ2V0X2dpdF9kaXIoKTsKKwkvKgorCSAqIFdoZW4gc2V0dXBfZ2l0X2RpcmVjdG9yeSgpIHdhcyBub3QgeWV0IGFza2VkIHRvIGRpc2NvdmVyIHRoZQorCSAqIEdJVF9ESVIsIHdlIGFzayBkaXNjb3Zlcl9naXRfZGlyZWN0b3J5KCkgdG8gZmlndXJlIG91dCB3aGV0aGVyIHRoZXJlCisJICogaXMgYW55IHJlcG9zaXRvcnkgY29uZmlnIHdlIHNob3VsZCB1c2UgKGJ1dCB1bmxpa2UKKwkgKiBzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseSgpLCBubyBnbG9iYWwgc3RhdGUgaXMgY2hhbmdlZCwgbW9zdAorCSAqIG5vdGFibHksIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHN0aWxsIHRoZSBzYW1lIGFmdGVyIHRoZQorCSAqIGNhbGwpLgorCSAqLworCX0gZWxzZSBpZiAoIWRpc2NvdmVyX2dpdF9kaXJlY3RvcnkoJmNvbW1vbmRpciwgJmdpdGRpcikpIHsKKwkJb3B0cy5jb21tb25kaXIgPSBjb21tb25kaXIuYnVmOworCQlvcHRzLmdpdF9kaXIgPSBnaXRkaXIuYnVmOworCX0KKworCWNvbmZpZ193aXRoX29wdGlvbnMoY2IsIGRhdGEsIE5VTEwsICZvcHRzKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZjb21tb25kaXIpOworCXN0cmJ1Zl9yZWxlYXNlKCZnaXRkaXIpOwogfQogCiBzdGF0aWMgc3RydWN0IGNvbmZpZ19zZXRfZWxlbWVudCAqY29uZmlnc2V0X2ZpbmRfZWxlbWVudChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSkKQEAgLTE1NzQsMTUgKzE3MTgsMjAgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBjb25maWdfc2V0X2VsZW1lbnRfY21wKGNvbnN0IHN0cnVjdCBjb25maWdfc2V0X2VsZW1lbnQgKmUxLAotCQkJCSBjb25zdCBzdHJ1Y3QgY29uZmlnX3NldF9lbGVtZW50ICplMiwgY29uc3Qgdm9pZCAqdW51c2VkKQorc3RhdGljIGludCBjb25maWdfc2V0X2VsZW1lbnRfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJCQkgIGNvbnN0IHZvaWQgKmVudHJ5LAorCQkJCSAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJCSAgY29uc3Qgdm9pZCAqdW51c2VkX2tleWRhdGEpCiB7CisJY29uc3Qgc3RydWN0IGNvbmZpZ19zZXRfZWxlbWVudCAqZTEgPSBlbnRyeTsKKwljb25zdCBzdHJ1Y3QgY29uZmlnX3NldF9lbGVtZW50ICplMiA9IGVudHJ5X29yX2tleTsKKwogCXJldHVybiBzdHJjbXAoZTEtPmtleSwgZTItPmtleSk7CiB9CiAKIHZvaWQgZ2l0X2NvbmZpZ3NldF9pbml0KHN0cnVjdCBjb25maWdfc2V0ICpjcykKIHsKLQloYXNobWFwX2luaXQoJmNzLT5jb25maWdfaGFzaCwgKGhhc2htYXBfY21wX2ZuKWNvbmZpZ19zZXRfZWxlbWVudF9jbXAsIDApOworCWhhc2htYXBfaW5pdCgmY3MtPmNvbmZpZ19oYXNoLCBjb25maWdfc2V0X2VsZW1lbnRfY21wLCBOVUxMLCAwKTsKIAljcy0+aGFzaF9pbml0aWFsaXplZCA9IDE7CiAJY3MtPmxpc3QubnIgPSAwOwogCWNzLT5saXN0LmFsbG9jID0gMDsKQEAgLTE3MDMsNyArMTg1Miw3IEBACiB7CiAJY29uc3QgY2hhciAqdmFsdWU7CiAJaWYgKCFnaXRfY29uZmlnc2V0X2dldF92YWx1ZShjcywga2V5LCAmdmFsdWUpKSB7Ci0JCSpkZXN0ID0gZ2l0X2NvbmZpZ19tYXliZV9ib29sKGtleSwgdmFsdWUpOworCQkqZGVzdCA9IGdpdF9wYXJzZV9tYXliZV9ib29sKHZhbHVlKTsKIAkJaWYgKCpkZXN0ID09IC0xKQogCQkJcmV0dXJuIC0xOwogCQlyZXR1cm4gMDsKQEAgLTE3MjAsODkgKzE4NjksMjQ4IEBACiAJCXJldHVybiAxOwogfQogCi1zdGF0aWMgdm9pZCBnaXRfY29uZmlnX2NoZWNrX2luaXQodm9pZCkKKy8qIEZ1bmN0aW9ucyB1c2UgdG8gcmVhZCBjb25maWd1cmF0aW9uIGZyb20gYSByZXBvc2l0b3J5ICovCitzdGF0aWMgdm9pZCByZXBvX3JlYWRfY29uZmlnKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKQogewotCWlmICh0aGVfY29uZmlnX3NldC5oYXNoX2luaXRpYWxpemVkKQorCXN0cnVjdCBjb25maWdfb3B0aW9ucyBvcHRzOworCisJb3B0cy5yZXNwZWN0X2luY2x1ZGVzID0gMTsKKwlvcHRzLmNvbW1vbmRpciA9IHJlcG8tPmNvbW1vbmRpcjsKKwlvcHRzLmdpdF9kaXIgPSByZXBvLT5naXRkaXI7CisKKwlpZiAoIXJlcG8tPmNvbmZpZykKKwkJcmVwby0+Y29uZmlnID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGNvbmZpZ19zZXQpKTsKKwllbHNlCisJCWdpdF9jb25maWdzZXRfY2xlYXIocmVwby0+Y29uZmlnKTsKKworCWdpdF9jb25maWdzZXRfaW5pdChyZXBvLT5jb25maWcpOworCisJaWYgKGNvbmZpZ193aXRoX29wdGlvbnMoY29uZmlnX3NldF9jYWxsYmFjaywgcmVwby0+Y29uZmlnLCBOVUxMLCAmb3B0cykgPCAwKQorCQkvKgorCQkgKiBjb25maWdfd2l0aF9vcHRpb25zKCkgbm9ybWFsbHkgcmV0dXJucyBvbmx5CisJCSAqIHplcm8sIGFzIG1vc3QgZXJyb3JzIGFyZSBmYXRhbCwgYW5kCisJCSAqIG5vbi1mYXRhbCBwb3RlbnRpYWwgZXJyb3JzIGFyZSBndWFyZGVkIGJ5ICJpZiIKKwkJICogc3RhdGVtZW50cyB0aGF0IGFyZSBlbnRlcmVkIG9ubHkgd2hlbiBubyBlcnJvciBpcworCQkgKiBwb3NzaWJsZS4KKwkJICoKKwkJICogSWYgd2UgZXZlciBlbmNvdW50ZXIgYSBub24tZmF0YWwgZXJyb3IsIGl0IG1lYW5zCisJCSAqIHNvbWV0aGluZyB3ZW50IHJlYWxseSB3cm9uZyBhbmQgd2Ugc2hvdWxkIHN0b3AKKwkJICogaW1tZWRpYXRlbHkuCisJCSAqLworCQlkaWUoXygidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIikpOworfQorCitzdGF0aWMgdm9pZCBnaXRfY29uZmlnX2NoZWNrX2luaXQoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pCit7CisJaWYgKHJlcG8tPmNvbmZpZyAmJiByZXBvLT5jb25maWctPmhhc2hfaW5pdGlhbGl6ZWQpCiAJCXJldHVybjsKLQlnaXRfY29uZmlnc2V0X2luaXQoJnRoZV9jb25maWdfc2V0KTsKLQlnaXRfY29uZmlnX3Jhdyhjb25maWdfc2V0X2NhbGxiYWNrLCAmdGhlX2NvbmZpZ19zZXQpOworCXJlcG9fcmVhZF9jb25maWcocmVwbyk7Cit9CisKK3N0YXRpYyB2b2lkIHJlcG9fY29uZmlnX2NsZWFyKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKQoreworCWlmICghcmVwby0+Y29uZmlnIHx8ICFyZXBvLT5jb25maWctPmhhc2hfaW5pdGlhbGl6ZWQpCisJCXJldHVybjsKKwlnaXRfY29uZmlnc2V0X2NsZWFyKHJlcG8tPmNvbmZpZyk7Cit9CisKK3ZvaWQgcmVwb19jb25maWcoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbmZpZ19mbl90IGZuLCB2b2lkICpkYXRhKQoreworCWdpdF9jb25maWdfY2hlY2tfaW5pdChyZXBvKTsKKwljb25maWdzZXRfaXRlcihyZXBvLT5jb25maWcsIGZuLCBkYXRhKTsKK30KKworaW50IHJlcG9fY29uZmlnX2dldF92YWx1ZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqdmFsdWUpCit7CisJZ2l0X2NvbmZpZ19jaGVja19pbml0KHJlcG8pOworCXJldHVybiBnaXRfY29uZmlnc2V0X2dldF92YWx1ZShyZXBvLT5jb25maWcsIGtleSwgdmFsdWUpOworfQorCitjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlcG9fY29uZmlnX2dldF92YWx1ZV9tdWx0aShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkJCSAgICAgIGNvbnN0IGNoYXIgKmtleSkKK3sKKwlnaXRfY29uZmlnX2NoZWNrX2luaXQocmVwbyk7CisJcmV0dXJuIGdpdF9jb25maWdzZXRfZ2V0X3ZhbHVlX211bHRpKHJlcG8tPmNvbmZpZywga2V5KTsKK30KKworaW50IHJlcG9fY29uZmlnX2dldF9zdHJpbmdfY29uc3Qoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpCit7CisJaW50IHJldDsKKwlnaXRfY29uZmlnX2NoZWNrX2luaXQocmVwbyk7CisJcmV0ID0gZ2l0X2NvbmZpZ3NldF9nZXRfc3RyaW5nX2NvbnN0KHJlcG8tPmNvbmZpZywga2V5LCBkZXN0KTsKKwlpZiAocmV0IDwgMCkKKwkJZ2l0X2RpZV9jb25maWcoa2V5LCBOVUxMKTsKKwlyZXR1cm4gcmV0OworfQorCitpbnQgcmVwb19jb25maWdfZ2V0X3N0cmluZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgIGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpCit7CisJZ2l0X2NvbmZpZ19jaGVja19pbml0KHJlcG8pOworCXJldHVybiByZXBvX2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KHJlcG8sIGtleSwgKGNvbnN0IGNoYXIgKiopZGVzdCk7Cit9CisKK2ludCByZXBvX2NvbmZpZ19nZXRfaW50KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpCit7CisJZ2l0X2NvbmZpZ19jaGVja19pbml0KHJlcG8pOworCXJldHVybiBnaXRfY29uZmlnc2V0X2dldF9pbnQocmVwby0+Y29uZmlnLCBrZXksIGRlc3QpOworfQorCitpbnQgcmVwb19jb25maWdfZ2V0X3Vsb25nKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICBjb25zdCBjaGFyICprZXksIHVuc2lnbmVkIGxvbmcgKmRlc3QpCit7CisJZ2l0X2NvbmZpZ19jaGVja19pbml0KHJlcG8pOworCXJldHVybiBnaXRfY29uZmlnc2V0X2dldF91bG9uZyhyZXBvLT5jb25maWcsIGtleSwgZGVzdCk7Cit9CisKK2ludCByZXBvX2NvbmZpZ19nZXRfYm9vbChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSBjb25zdCBjaGFyICprZXksIGludCAqZGVzdCkKK3sKKwlnaXRfY29uZmlnX2NoZWNrX2luaXQocmVwbyk7CisJcmV0dXJuIGdpdF9jb25maWdzZXRfZ2V0X2Jvb2wocmVwby0+Y29uZmlnLCBrZXksIGRlc3QpOworfQorCitpbnQgcmVwb19jb25maWdfZ2V0X2Jvb2xfb3JfaW50KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCWNvbnN0IGNoYXIgKmtleSwgaW50ICppc19ib29sLCBpbnQgKmRlc3QpCit7CisJZ2l0X2NvbmZpZ19jaGVja19pbml0KHJlcG8pOworCXJldHVybiBnaXRfY29uZmlnc2V0X2dldF9ib29sX29yX2ludChyZXBvLT5jb25maWcsIGtleSwgaXNfYm9vbCwgZGVzdCk7Cit9CisKK2ludCByZXBvX2NvbmZpZ19nZXRfbWF5YmVfYm9vbChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgICAgICBjb25zdCBjaGFyICprZXksIGludCAqZGVzdCkKK3sKKwlnaXRfY29uZmlnX2NoZWNrX2luaXQocmVwbyk7CisJcmV0dXJuIGdpdF9jb25maWdzZXRfZ2V0X21heWJlX2Jvb2wocmVwby0+Y29uZmlnLCBrZXksIGRlc3QpOworfQorCitpbnQgcmVwb19jb25maWdfZ2V0X3BhdGhuYW1lKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KQoreworCWludCByZXQ7CisJZ2l0X2NvbmZpZ19jaGVja19pbml0KHJlcG8pOworCXJldCA9IGdpdF9jb25maWdzZXRfZ2V0X3BhdGhuYW1lKHJlcG8tPmNvbmZpZywga2V5LCBkZXN0KTsKKwlpZiAocmV0IDwgMCkKKwkJZ2l0X2RpZV9jb25maWcoa2V5LCBOVUxMKTsKKwlyZXR1cm4gcmV0OworfQorCisvKiBGdW5jdGlvbnMgdXNlZCBoaXN0b3JpY2FsbHkgdG8gcmVhZCBjb25maWd1cmF0aW9uIGZyb20gJ3RoZV9yZXBvc2l0b3J5JyAqLwordm9pZCBnaXRfY29uZmlnKGNvbmZpZ19mbl90IGZuLCB2b2lkICpkYXRhKQoreworCXJlcG9fY29uZmlnKHRoZV9yZXBvc2l0b3J5LCBmbiwgZGF0YSk7CiB9CiAKIHZvaWQgZ2l0X2NvbmZpZ19jbGVhcih2b2lkKQogewotCWlmICghdGhlX2NvbmZpZ19zZXQuaGFzaF9pbml0aWFsaXplZCkKLQkJcmV0dXJuOwotCWdpdF9jb25maWdzZXRfY2xlYXIoJnRoZV9jb25maWdfc2V0KTsKKwlyZXBvX2NvbmZpZ19jbGVhcih0aGVfcmVwb3NpdG9yeSk7CiB9CiAKIGludCBnaXRfY29uZmlnX2dldF92YWx1ZShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKip2YWx1ZSkKIHsKLQlnaXRfY29uZmlnX2NoZWNrX2luaXQoKTsKLQlyZXR1cm4gZ2l0X2NvbmZpZ3NldF9nZXRfdmFsdWUoJnRoZV9jb25maWdfc2V0LCBrZXksIHZhbHVlKTsKKwlyZXR1cm4gcmVwb19jb25maWdfZ2V0X3ZhbHVlKHRoZV9yZXBvc2l0b3J5LCBrZXksIHZhbHVlKTsKIH0KIAogY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpnaXRfY29uZmlnX2dldF92YWx1ZV9tdWx0aShjb25zdCBjaGFyICprZXkpCiB7Ci0JZ2l0X2NvbmZpZ19jaGVja19pbml0KCk7Ci0JcmV0dXJuIGdpdF9jb25maWdzZXRfZ2V0X3ZhbHVlX211bHRpKCZ0aGVfY29uZmlnX3NldCwga2V5KTsKKwlyZXR1cm4gcmVwb19jb25maWdfZ2V0X3ZhbHVlX211bHRpKHRoZV9yZXBvc2l0b3J5LCBrZXkpOwogfQogCiBpbnQgZ2l0X2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpCiB7Ci0JaW50IHJldDsKLQlnaXRfY29uZmlnX2NoZWNrX2luaXQoKTsKLQlyZXQgPSBnaXRfY29uZmlnc2V0X2dldF9zdHJpbmdfY29uc3QoJnRoZV9jb25maWdfc2V0LCBrZXksIGRlc3QpOwotCWlmIChyZXQgPCAwKQotCQlnaXRfZGllX2NvbmZpZyhrZXksIE5VTEwpOwotCXJldHVybiByZXQ7CisJcmV0dXJuIHJlcG9fY29uZmlnX2dldF9zdHJpbmdfY29uc3QodGhlX3JlcG9zaXRvcnksIGtleSwgZGVzdCk7CiB9CiAKIGludCBnaXRfY29uZmlnX2dldF9zdHJpbmcoY29uc3QgY2hhciAqa2V5LCBjaGFyICoqZGVzdCkKIHsKLQlnaXRfY29uZmlnX2NoZWNrX2luaXQoKTsKLQlyZXR1cm4gZ2l0X2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KGtleSwgKGNvbnN0IGNoYXIgKiopZGVzdCk7CisJcmV0dXJuIHJlcG9fY29uZmlnX2dldF9zdHJpbmcodGhlX3JlcG9zaXRvcnksIGtleSwgZGVzdCk7CiB9CiAKIGludCBnaXRfY29uZmlnX2dldF9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpCiB7Ci0JZ2l0X2NvbmZpZ19jaGVja19pbml0KCk7Ci0JcmV0dXJuIGdpdF9jb25maWdzZXRfZ2V0X2ludCgmdGhlX2NvbmZpZ19zZXQsIGtleSwgZGVzdCk7CisJcmV0dXJuIHJlcG9fY29uZmlnX2dldF9pbnQodGhlX3JlcG9zaXRvcnksIGtleSwgZGVzdCk7CiB9CiAKIGludCBnaXRfY29uZmlnX2dldF91bG9uZyhjb25zdCBjaGFyICprZXksIHVuc2lnbmVkIGxvbmcgKmRlc3QpCiB7Ci0JZ2l0X2NvbmZpZ19jaGVja19pbml0KCk7Ci0JcmV0dXJuIGdpdF9jb25maWdzZXRfZ2V0X3Vsb25nKCZ0aGVfY29uZmlnX3NldCwga2V5LCBkZXN0KTsKKwlyZXR1cm4gcmVwb19jb25maWdfZ2V0X3Vsb25nKHRoZV9yZXBvc2l0b3J5LCBrZXksIGRlc3QpOwogfQogCiBpbnQgZ2l0X2NvbmZpZ19nZXRfYm9vbChjb25zdCBjaGFyICprZXksIGludCAqZGVzdCkKIHsKLQlnaXRfY29uZmlnX2NoZWNrX2luaXQoKTsKLQlyZXR1cm4gZ2l0X2NvbmZpZ3NldF9nZXRfYm9vbCgmdGhlX2NvbmZpZ19zZXQsIGtleSwgZGVzdCk7CisJcmV0dXJuIHJlcG9fY29uZmlnX2dldF9ib29sKHRoZV9yZXBvc2l0b3J5LCBrZXksIGRlc3QpOwogfQogCiBpbnQgZ2l0X2NvbmZpZ19nZXRfYm9vbF9vcl9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdCkKIHsKLQlnaXRfY29uZmlnX2NoZWNrX2luaXQoKTsKLQlyZXR1cm4gZ2l0X2NvbmZpZ3NldF9nZXRfYm9vbF9vcl9pbnQoJnRoZV9jb25maWdfc2V0LCBrZXksIGlzX2Jvb2wsIGRlc3QpOworCXJldHVybiByZXBvX2NvbmZpZ19nZXRfYm9vbF9vcl9pbnQodGhlX3JlcG9zaXRvcnksIGtleSwgaXNfYm9vbCwgZGVzdCk7CiB9CiAKIGludCBnaXRfY29uZmlnX2dldF9tYXliZV9ib29sKGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KQogewotCWdpdF9jb25maWdfY2hlY2tfaW5pdCgpOwotCXJldHVybiBnaXRfY29uZmlnc2V0X2dldF9tYXliZV9ib29sKCZ0aGVfY29uZmlnX3NldCwga2V5LCBkZXN0KTsKKwlyZXR1cm4gcmVwb19jb25maWdfZ2V0X21heWJlX2Jvb2wodGhlX3JlcG9zaXRvcnksIGtleSwgZGVzdCk7CiB9CiAKIGludCBnaXRfY29uZmlnX2dldF9wYXRobmFtZShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KQogewotCWludCByZXQ7Ci0JZ2l0X2NvbmZpZ19jaGVja19pbml0KCk7Ci0JcmV0ID0gZ2l0X2NvbmZpZ3NldF9nZXRfcGF0aG5hbWUoJnRoZV9jb25maWdfc2V0LCBrZXksIGRlc3QpOwotCWlmIChyZXQgPCAwKQotCQlnaXRfZGllX2NvbmZpZyhrZXksIE5VTEwpOworCXJldHVybiByZXBvX2NvbmZpZ19nZXRfcGF0aG5hbWUodGhlX3JlcG9zaXRvcnksIGtleSwgZGVzdCk7Cit9CisKKy8qCisgKiBOb3RlOiBUaGlzIGZ1bmN0aW9uIGV4aXN0cyBzb2xlbHkgdG8gbWFpbnRhaW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoCisgKiAnZmV0Y2gnIGFuZCAndXBkYXRlX2Nsb25lJyBzdG9yaW5nIGNvbmZpZ3VyYXRpb24gaW4gJy5naXRtb2R1bGVzJyBhbmQgc2hvdWxkCisgKiBOT1QgYmUgdXNlZCBhbnl3aGVyZSBlbHNlLgorICoKKyAqIFJ1bnMgdGhlIHByb3ZpZGVkIGNvbmZpZyBmdW5jdGlvbiBvbiB0aGUgJy5naXRtb2R1bGVzJyBmaWxlIGZvdW5kIGluIHRoZQorICogd29ya2luZyBkaXJlY3RvcnkuCisgKi8KK3ZvaWQgY29uZmlnX2Zyb21fZ2l0bW9kdWxlcyhjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSkKK3sKKwlpZiAodGhlX3JlcG9zaXRvcnktPndvcmt0cmVlKSB7CisJCWNoYXIgKmZpbGUgPSByZXBvX3dvcmt0cmVlX3BhdGgodGhlX3JlcG9zaXRvcnksIEdJVE1PRFVMRVNfRklMRSk7CisJCWdpdF9jb25maWdfZnJvbV9maWxlKGZuLCBmaWxlLCBkYXRhKTsKKwkJZnJlZShmaWxlKTsKKwl9Cit9CisKK2ludCBnaXRfY29uZmlnX2dldF9leHBpcnkoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqb3V0cHV0KQoreworCWludCByZXQgPSBnaXRfY29uZmlnX2dldF9zdHJpbmdfY29uc3Qoa2V5LCBvdXRwdXQpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJaWYgKHN0cmNtcCgqb3V0cHV0LCAibm93IikpIHsKKwkJdGltZXN0YW1wX3Qgbm93ID0gYXBwcm94aWRhdGUoIm5vdyIpOworCQlpZiAoYXBwcm94aWRhdGUoKm91dHB1dCkgPj0gbm93KQorCQkJZ2l0X2RpZV9jb25maWcoa2V5LCBfKCJJbnZhbGlkICVzOiAnJXMnIiksIGtleSwgKm91dHB1dCk7CisJfQogCXJldHVybiByZXQ7CiB9CiAKK2ludCBnaXRfY29uZmlnX2dldF9leHBpcnlfaW5fZGF5cyhjb25zdCBjaGFyICprZXksIHRpbWVzdGFtcF90ICpleHBpcnksIHRpbWVzdGFtcF90IG5vdykKK3sKKwljaGFyICpleHBpcnlfc3RyaW5nOworCWludG1heF90IGRheXM7CisJdGltZXN0YW1wX3Qgd2hlbjsKKworCWlmIChnaXRfY29uZmlnX2dldF9zdHJpbmcoa2V5LCAmZXhwaXJ5X3N0cmluZykpCisJCXJldHVybiAxOyAvKiBubyBzdWNoIHRoaW5nICovCisKKwlpZiAoZ2l0X3BhcnNlX3NpZ25lZChleHBpcnlfc3RyaW5nLCAmZGF5cywgbWF4aW11bV9zaWduZWRfdmFsdWVfb2ZfdHlwZShpbnQpKSkgeworCQljb25zdCBpbnQgc2NhbGUgPSA4NjQwMDsKKwkJKmV4cGlyeSA9IG5vdyAtIGRheXMgKiBzY2FsZTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFwYXJzZV9leHBpcnlfZGF0ZShleHBpcnlfc3RyaW5nLCAmd2hlbikpIHsKKwkJKmV4cGlyeSA9IHdoZW47CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gLTE7IC8qIHRoaW5nIGV4aXN0cyBidXQgY2Fubm90IGJlIHBhcnNlZCAqLworfQorCiBpbnQgZ2l0X2NvbmZpZ19nZXRfdW50cmFja2VkX2NhY2hlKHZvaWQpCiB7CiAJaW50IHZhbCA9IC0xOwpAQCAtMTgxOSwxNCArMjEyNywzOSBAQAogCQlpZiAoIXN0cmNhc2VjbXAodiwgImtlZXAiKSkKIAkJCXJldHVybiAtMTsKIAotCQllcnJvcigidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7ICIKLQkJICAgICAgInVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIiwgdik7CisJCWVycm9yKF8oInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyAiCisJCQkidXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiKSwgdik7CiAJCXJldHVybiAtMTsKIAl9CiAKIAlyZXR1cm4gLTE7IC8qIGRlZmF1bHQgdmFsdWUgKi8KIH0KIAoraW50IGdpdF9jb25maWdfZ2V0X3NwbGl0X2luZGV4KHZvaWQpCit7CisJaW50IHZhbDsKKworCWlmICghZ2l0X2NvbmZpZ19nZXRfbWF5YmVfYm9vbCgiY29yZS5zcGxpdGluZGV4IiwgJnZhbCkpCisJCXJldHVybiB2YWw7CisKKwlyZXR1cm4gLTE7IC8qIGRlZmF1bHQgdmFsdWUgKi8KK30KKworaW50IGdpdF9jb25maWdfZ2V0X21heF9wZXJjZW50X3NwbGl0X2NoYW5nZSh2b2lkKQoreworCWludCB2YWwgPSAtMTsKKworCWlmICghZ2l0X2NvbmZpZ19nZXRfaW50KCJzcGxpdGluZGV4Lm1heHBlcmNlbnRjaGFuZ2UiLCAmdmFsKSkgeworCQlpZiAoMCA8PSB2YWwgJiYgdmFsIDw9IDEwMCkKKwkJCXJldHVybiB2YWw7CisKKwkJcmV0dXJuIGVycm9yKF8oInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnICIKKwkJCSAgICAgICAic2hvdWxkIGJlIGJldHdlZW4gMCBhbmQgMTAwIiksIHZhbCk7CisJfQorCisJcmV0dXJuIC0xOyAvKiBkZWZhdWx0IHZhbHVlICovCit9CisKIE5PUkVUVVJOCiB2b2lkIGdpdF9kaWVfY29uZmlnX2xpbmVucihjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZW5yKQogewpAQCAtMTg2Nyw3ICsyMjAwLDcgQEAKIAlzaXplX3QgKm9mZnNldDsKIAl1bnNpZ25lZCBpbnQgb2Zmc2V0X2FsbG9jOwogCWVudW0geyBTVEFSVCwgU0VDVElPTl9TRUVOLCBTRUNUSU9OX0VORF9TRUVOLCBLRVlfU0VFTiB9IHN0YXRlOwotCWludCBzZWVuOworCXVuc2lnbmVkIGludCBzZWVuOwogfSBzdG9yZTsKIAogc3RhdGljIGludCBtYXRjaGVzKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUpCkBAIC0xOTU5LDEwICsyMjkyLDEwIEBACiAJcmV0dXJuIDQ7CiB9CiAKLXN0YXRpYyBpbnQgc3RvcmVfd3JpdGVfc2VjdGlvbihpbnQgZmQsIGNvbnN0IGNoYXIgKmtleSkKK3N0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHN0b3JlX2NyZWF0ZV9zZWN0aW9uKGNvbnN0IGNoYXIgKmtleSkKIHsKIAljb25zdCBjaGFyICpkb3Q7Ci0JaW50IGksIHN1Y2Nlc3M7CisJaW50IGk7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCiAJZG90ID0gbWVtY2hyKGtleSwgJy4nLCBzdG9yZS5iYXNlbGVuKTsKQEAgLTE5NzgsMTUgKzIzMTEsMjQgQEAKIAkJc3RyYnVmX2FkZGYoJnNiLCAiWyUuKnNdXG4iLCBzdG9yZS5iYXNlbGVuLCBrZXkpOwogCX0KIAotCXN1Y2Nlc3MgPSB3cml0ZV9pbl9mdWxsKGZkLCBzYi5idWYsIHNiLmxlbikgPT0gc2IubGVuOwotCXN0cmJ1Zl9yZWxlYXNlKCZzYik7Ci0KLQlyZXR1cm4gc3VjY2VzczsKKwlyZXR1cm4gc2I7CiB9CiAKLXN0YXRpYyBpbnQgc3RvcmVfd3JpdGVfcGFpcihpbnQgZmQsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUpCitzdGF0aWMgc3NpemVfdCB3cml0ZV9zZWN0aW9uKGludCBmZCwgY29uc3QgY2hhciAqa2V5KQogewotCWludCBpLCBzdWNjZXNzOworCXN0cnVjdCBzdHJidWYgc2IgPSBzdG9yZV9jcmVhdGVfc2VjdGlvbihrZXkpOworCXNzaXplX3QgcmV0OworCisJcmV0ID0gd3JpdGVfaW5fZnVsbChmZCwgc2IuYnVmLCBzYi5sZW4pID09IHNiLmxlbjsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHNzaXplX3Qgd3JpdGVfcGFpcihpbnQgZmQsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUpCit7CisJaW50IGk7CisJc3NpemVfdCByZXQ7CiAJaW50IGxlbmd0aCA9IHN0cmxlbihrZXkgKyBzdG9yZS5iYXNlbGVuICsgMSk7CiAJY29uc3QgY2hhciAqcXVvdGUgPSAiIjsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CkBAIC0yMDIwLDE2ICsyMzYyLDE3IEBACiAJCWNhc2UgJyInOgogCQljYXNlICdcXCc6CiAJCQlzdHJidWZfYWRkY2goJnNiLCAnXFwnKTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCiAJCWRlZmF1bHQ6CiAJCQlzdHJidWZfYWRkY2goJnNiLCB2YWx1ZVtpXSk7CiAJCQlicmVhazsKIAkJfQogCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzXG4iLCBxdW90ZSk7CiAKLQlzdWNjZXNzID0gd3JpdGVfaW5fZnVsbChmZCwgc2IuYnVmLCBzYi5sZW4pID09IHNiLmxlbjsKKwlyZXQgPSB3cml0ZV9pbl9mdWxsKGZkLCBzYi5idWYsIHNiLmxlbik7CiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAotCXJldHVybiBzdWNjZXNzOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IGZpbmRfYmVnaW5uaW5nX29mX2xpbmUoY29uc3QgY2hhciAqY29udGVudHMsIHNpemVfdCBzaXplLApAQCAtMjExMiw3ICsyNDU1LDcgQEAKIHsKIAlpbnQgZmQgPSAtMSwgaW5fZmQgPSAtMTsKIAlpbnQgcmV0OwotCXN0cnVjdCBsb2NrX2ZpbGUgKmxvY2sgPSBOVUxMOworCXN0cnVjdCBsb2NrX2ZpbGUgbG9jayA9IExPQ0tfSU5JVDsKIAljaGFyICpmaWxlbmFtZV9idWYgPSBOVUxMOwogCWNoYXIgKmNvbnRlbnRzID0gTlVMTDsKIAlzaXplX3QgY29udGVudHNfc3o7CkBAIC0yMTMxLDggKzI0NzQsNyBAQAogCSAqIFRoZSBsb2NrIHNlcnZlcyBhIHB1cnBvc2UgaW4gYWRkaXRpb24gdG8gbG9ja2luZzogdGhlIG5ldwogCSAqIGNvbnRlbnRzIG9mIC5naXQvY29uZmlnIHdpbGwgYmUgd3JpdHRlbiBpbnRvIGl0LgogCSAqLwotCWxvY2sgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbG9ja19maWxlKSk7Ci0JZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKGxvY2ssIGNvbmZpZ19maWxlbmFtZSwgMCk7CisJZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZsb2NrLCBjb25maWdfZmlsZW5hbWUsIDApOwogCWlmIChmZCA8IDApIHsKIAkJZXJyb3JfZXJybm8oImNvdWxkIG5vdCBsb2NrIGNvbmZpZyBmaWxlICVzIiwgY29uZmlnX2ZpbGVuYW1lKTsKIAkJZnJlZShzdG9yZS5rZXkpOwpAQCAtMjE1OSw4ICsyNTAxLDggQEAKIAkJfQogCiAJCXN0b3JlLmtleSA9IChjaGFyICopa2V5OwotCQlpZiAoIXN0b3JlX3dyaXRlX3NlY3Rpb24oZmQsIGtleSkgfHwKLQkJICAgICFzdG9yZV93cml0ZV9wYWlyKGZkLCBrZXksIHZhbHVlKSkKKwkJaWYgKHdyaXRlX3NlY3Rpb24oZmQsIGtleSkgPCAwIHx8CisJCSAgICB3cml0ZV9wYWlyKGZkLCBrZXksIHZhbHVlKSA8IDApCiAJCQlnb3RvIHdyaXRlX2Vycl9vdXQ7CiAJfSBlbHNlIHsKIAkJc3RydWN0IHN0YXQgc3Q7CkBAIC0yMjQ1LDggKzI1ODcsOCBAQAogCQljbG9zZShpbl9mZCk7CiAJCWluX2ZkID0gLTE7CiAKLQkJaWYgKGNobW9kKGdldF9sb2NrX2ZpbGVfcGF0aChsb2NrKSwgc3Quc3RfbW9kZSAmIDA3Nzc3KSA8IDApIHsKLQkJCWVycm9yX2Vycm5vKCJjaG1vZCBvbiAlcyBmYWlsZWQiLCBnZXRfbG9ja19maWxlX3BhdGgobG9jaykpOworCQlpZiAoY2htb2QoZ2V0X2xvY2tfZmlsZV9wYXRoKCZsb2NrKSwgc3Quc3RfbW9kZSAmIDA3Nzc3KSA8IDApIHsKKwkJCWVycm9yX2Vycm5vKCJjaG1vZCBvbiAlcyBmYWlsZWQiLCBnZXRfbG9ja19maWxlX3BhdGgoJmxvY2spKTsKIAkJCXJldCA9IENPTkZJR19OT19XUklURTsKIAkJCWdvdG8gb3V0X2ZyZWU7CiAJCX0KQEAgLTIyNzAsMTEgKzI2MTIsMTAgQEAKIAkJCS8qIHdyaXRlIHRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBjb25maWcgKi8KIAkJCWlmIChjb3B5X2VuZCA+IGNvcHlfYmVnaW4pIHsKIAkJCQlpZiAod3JpdGVfaW5fZnVsbChmZCwgY29udGVudHMgKyBjb3B5X2JlZ2luLAotCQkJCQkJICBjb3B5X2VuZCAtIGNvcHlfYmVnaW4pIDwKLQkJCQkgICAgY29weV9lbmQgLSBjb3B5X2JlZ2luKQorCQkJCQkJICBjb3B5X2VuZCAtIGNvcHlfYmVnaW4pIDwgMCkKIAkJCQkJZ290byB3cml0ZV9lcnJfb3V0OwogCQkJCWlmIChuZXdfbGluZSAmJgotCQkJCSAgICB3cml0ZV9zdHJfaW5fZnVsbChmZCwgIlxuIikgIT0gMSkKKwkJCQkgICAgd3JpdGVfc3RyX2luX2Z1bGwoZmQsICJcbiIpIDwgMCkKIAkJCQkJZ290byB3cml0ZV9lcnJfb3V0OwogCQkJfQogCQkJY29weV9iZWdpbiA9IHN0b3JlLm9mZnNldFtpXTsKQEAgLTIyODMsNDYgKzI2MjQsMzYgQEAKIAkJLyogd3JpdGUgdGhlIHBhaXIgKHZhbHVlID09IE5VTEwgbWVhbnMgdW5zZXQpICovCiAJCWlmICh2YWx1ZSAhPSBOVUxMKSB7CiAJCQlpZiAoc3RvcmUuc3RhdGUgPT0gU1RBUlQpIHsKLQkJCQlpZiAoIXN0b3JlX3dyaXRlX3NlY3Rpb24oZmQsIGtleSkpCisJCQkJaWYgKHdyaXRlX3NlY3Rpb24oZmQsIGtleSkgPCAwKQogCQkJCQlnb3RvIHdyaXRlX2Vycl9vdXQ7CiAJCQl9Ci0JCQlpZiAoIXN0b3JlX3dyaXRlX3BhaXIoZmQsIGtleSwgdmFsdWUpKQorCQkJaWYgKHdyaXRlX3BhaXIoZmQsIGtleSwgdmFsdWUpIDwgMCkKIAkJCQlnb3RvIHdyaXRlX2Vycl9vdXQ7CiAJCX0KIAogCQkvKiB3cml0ZSB0aGUgcmVzdCBvZiB0aGUgY29uZmlnICovCiAJCWlmIChjb3B5X2JlZ2luIDwgY29udGVudHNfc3opCiAJCQlpZiAod3JpdGVfaW5fZnVsbChmZCwgY29udGVudHMgKyBjb3B5X2JlZ2luLAotCQkJCQkgIGNvbnRlbnRzX3N6IC0gY29weV9iZWdpbikgPAotCQkJICAgIGNvbnRlbnRzX3N6IC0gY29weV9iZWdpbikKKwkJCQkJICBjb250ZW50c19zeiAtIGNvcHlfYmVnaW4pIDwgMCkKIAkJCQlnb3RvIHdyaXRlX2Vycl9vdXQ7CiAKIAkJbXVubWFwKGNvbnRlbnRzLCBjb250ZW50c19zeik7CiAJCWNvbnRlbnRzID0gTlVMTDsKIAl9CiAKLQlpZiAoY29tbWl0X2xvY2tfZmlsZShsb2NrKSA8IDApIHsKKwlpZiAoY29tbWl0X2xvY2tfZmlsZSgmbG9jaykgPCAwKSB7CiAJCWVycm9yX2Vycm5vKCJjb3VsZCBub3Qgd3JpdGUgY29uZmlnIGZpbGUgJXMiLCBjb25maWdfZmlsZW5hbWUpOwogCQlyZXQgPSBDT05GSUdfTk9fV1JJVEU7Ci0JCWxvY2sgPSBOVUxMOwogCQlnb3RvIG91dF9mcmVlOwogCX0KIAotCS8qCi0JICogbG9jayBpcyBjb21taXR0ZWQsIHNvIGRvbid0IHRyeSB0byByb2xsIGl0IGJhY2sgYmVsb3cuCi0JICogTk9URTogU2luY2UgbG9ja2ZpbGUuYyBrZWVwcyBhIGxpbmtlZCBsaXN0IG9mIGFsbCBjcmVhdGVkCi0JICogbG9ja19maWxlIHN0cnVjdHVyZXMsIGl0IGlzbid0IHNhZmUgdG8gZnJlZShsb2NrKS4gIEl0J3MKLQkgKiBiZXR0ZXIgdG8ganVzdCBsZWF2ZSBpdCBoYW5naW5nIGFyb3VuZC4KLQkgKi8KLQlsb2NrID0gTlVMTDsKIAlyZXQgPSAwOwogCiAJLyogSW52YWxpZGF0ZSB0aGUgY29uZmlnIGNhY2hlICovCiAJZ2l0X2NvbmZpZ19jbGVhcigpOwogCiBvdXRfZnJlZToKLQlpZiAobG9jaykKLQkJcm9sbGJhY2tfbG9ja19maWxlKGxvY2spOworCXJvbGxiYWNrX2xvY2tfZmlsZSgmbG9jayk7CiAJZnJlZShmaWxlbmFtZV9idWYpOwogCWlmIChjb250ZW50cykKIAkJbXVubWFwKGNvbnRlbnRzLCBjb250ZW50c19zeik7CkBAIC0yMzMxLDcgKzI2NjIsNyBAQAogCXJldHVybiByZXQ7CiAKIHdyaXRlX2Vycl9vdXQ6Ci0JcmV0ID0gd3JpdGVfZXJyb3IoZ2V0X2xvY2tfZmlsZV9wYXRoKGxvY2spKTsKKwlyZXQgPSB3cml0ZV9lcnJvcihnZXRfbG9ja19maWxlX3BhdGgoJmxvY2spKTsKIAlnb3RvIG91dF9mcmVlOwogCiB9CkBAIC0yNDE5LDE2ICsyNzUwLDE3IEBACiB9CiAKIC8qIGlmIG5ld19uYW1lID09IE5VTEwsIHRoZSBzZWN0aW9uIGlzIHJlbW92ZWQgaW5zdGVhZCAqLwotaW50IGdpdF9jb25maWdfcmVuYW1lX3NlY3Rpb25faW5fZmlsZShjb25zdCBjaGFyICpjb25maWdfZmlsZW5hbWUsCi0JCQkJICAgICAgY29uc3QgY2hhciAqb2xkX25hbWUsIGNvbnN0IGNoYXIgKm5ld19uYW1lKQorc3RhdGljIGludCBnaXRfY29uZmlnX2NvcHlfb3JfcmVuYW1lX3NlY3Rpb25faW5fZmlsZShjb25zdCBjaGFyICpjb25maWdfZmlsZW5hbWUsCisJCQkJICAgICAgY29uc3QgY2hhciAqb2xkX25hbWUsIGNvbnN0IGNoYXIgKm5ld19uYW1lLCBpbnQgY29weSkKIHsKIAlpbnQgcmV0ID0gMCwgcmVtb3ZlID0gMDsKIAljaGFyICpmaWxlbmFtZV9idWYgPSBOVUxMOwogCXN0cnVjdCBsb2NrX2ZpbGUgKmxvY2s7CiAJaW50IG91dF9mZDsKIAljaGFyIGJ1ZlsxMDI0XTsKLQlGSUxFICpjb25maWdfZmlsZTsKKwlGSUxFICpjb25maWdfZmlsZSA9IE5VTEw7CiAJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IHN0cmJ1ZiBjb3B5c3RyID0gU1RSQlVGX0lOSVQ7CiAKIAlpZiAobmV3X25hbWUgJiYgIXNlY3Rpb25fbmFtZV9pc19vayhuZXdfbmFtZSkpIHsKIAkJcmV0ID0gZXJyb3IoImludmFsaWQgc2VjdGlvbiBuYW1lOiAlcyIsIG5ld19uYW1lKTsKQEAgLTI0NDYsNiArMjc3OCw5IEBACiAJfQogCiAJaWYgKCEoY29uZmlnX2ZpbGUgPSBmb3Blbihjb25maWdfZmlsZW5hbWUsICJyYiIpKSkgeworCQlyZXQgPSB3YXJuX29uX2ZvcGVuX2Vycm9ycyhjb25maWdfZmlsZW5hbWUpOworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CiAJCS8qIG5vIGNvbmZpZyBmaWxlIG1lYW5zIG5vdGhpbmcgdG8gcmVuYW1lLCBubyBlcnJvciAqLwogCQlnb3RvIGNvbW1pdF9hbmRfb3V0OwogCX0KQEAgLTI0NjQsMTIgKzI3OTksMzAgQEAKIAl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgY29uZmlnX2ZpbGUpKSB7CiAJCWludCBpOwogCQlpbnQgbGVuZ3RoOworCQlpbnQgaXNfc2VjdGlvbiA9IDA7CiAJCWNoYXIgKm91dHB1dCA9IGJ1ZjsKIAkJZm9yIChpID0gMDsgYnVmW2ldICYmIGlzc3BhY2UoYnVmW2ldKTsgaSsrKQogCQkJOyAvKiBkbyBub3RoaW5nICovCiAJCWlmIChidWZbaV0gPT0gJ1snKSB7CiAJCQkvKiBpdCdzIGEgc2VjdGlvbiAqLwotCQkJaW50IG9mZnNldCA9IHNlY3Rpb25fbmFtZV9tYXRjaCgmYnVmW2ldLCBvbGRfbmFtZSk7CisJCQlpbnQgb2Zmc2V0OworCQkJaXNfc2VjdGlvbiA9IDE7CisKKwkJCS8qCisJCQkgKiBXaGVuIGVuY291bnRlcmluZyBhIG5ldyBzZWN0aW9uIHVuZGVyIC1jIHdlCisJCQkgKiBuZWVkIHRvIGZsdXNoIG91dCBhbnkgc2VjdGlvbiB3ZSdyZSBhbHJlYWR5CisJCQkgKiBjb3BpbmcgYW5kIGJlZ2luIGFuZXcuIFRoZXJlIG1pZ2h0IGJlCisJCQkgKiBtdWx0aXBsZSBbYnJhbmNoICIkbmFtZSJdIHNlY3Rpb25zLgorCQkJICovCisJCQlpZiAoY29weXN0ci5sZW4gPiAwKSB7CisJCQkJaWYgKHdyaXRlX2luX2Z1bGwob3V0X2ZkLCBjb3B5c3RyLmJ1ZiwgY29weXN0ci5sZW4pICE9IGNvcHlzdHIubGVuKSB7CisJCQkJCXJldCA9IHdyaXRlX2Vycm9yKGdldF9sb2NrX2ZpbGVfcGF0aChsb2NrKSk7CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKwkJCQlzdHJidWZfcmVzZXQoJmNvcHlzdHIpOworCQkJfQorCisJCQlvZmZzZXQgPSBzZWN0aW9uX25hbWVfbWF0Y2goJmJ1ZltpXSwgb2xkX25hbWUpOwogCQkJaWYgKG9mZnNldCA+IDApIHsKIAkJCQlyZXQrKzsKIAkJCQlpZiAobmV3X25hbWUgPT0gTlVMTCkgewpAQCAtMjQ3NywyNSArMjgzMCwyOSBAQAogCQkJCQljb250aW51ZTsKIAkJCQl9CiAJCQkJc3RvcmUuYmFzZWxlbiA9IHN0cmxlbihuZXdfbmFtZSk7Ci0JCQkJaWYgKCFzdG9yZV93cml0ZV9zZWN0aW9uKG91dF9mZCwgbmV3X25hbWUpKSB7Ci0JCQkJCXJldCA9IHdyaXRlX2Vycm9yKGdldF9sb2NrX2ZpbGVfcGF0aChsb2NrKSk7Ci0JCQkJCWdvdG8gb3V0OwotCQkJCX0KLQkJCQkvKgotCQkJCSAqIFdlIHdyb3RlIG91dCB0aGUgbmV3IHNlY3Rpb24sIHdpdGgKLQkJCQkgKiBhIG5ld2xpbmUsIG5vdyBza2lwIHRoZSBvbGQKLQkJCQkgKiBzZWN0aW9uJ3MgbGVuZ3RoCi0JCQkJICovCi0JCQkJb3V0cHV0ICs9IG9mZnNldCArIGk7Ci0JCQkJaWYgKHN0cmxlbihvdXRwdXQpID4gMCkgeworCQkJCWlmICghY29weSkgeworCQkJCQlpZiAod3JpdGVfc2VjdGlvbihvdXRfZmQsIG5ld19uYW1lKSA8IDApIHsKKwkJCQkJCXJldCA9IHdyaXRlX2Vycm9yKGdldF9sb2NrX2ZpbGVfcGF0aChsb2NrKSk7CisJCQkJCQlnb3RvIG91dDsKKwkJCQkJfQogCQkJCQkvKgotCQkJCQkgKiBNb3JlIGNvbnRlbnQgbWVhbnMgdGhlcmUncwotCQkJCQkgKiBhIGRlY2xhcmF0aW9uIHRvIHB1dCBvbiB0aGUKLQkJCQkJICogbmV4dCBsaW5lOyBpbmRlbnQgd2l0aCBhCi0JCQkJCSAqIHRhYgorCQkJCQkgKiBXZSB3cm90ZSBvdXQgdGhlIG5ldyBzZWN0aW9uLCB3aXRoCisJCQkJCSAqIGEgbmV3bGluZSwgbm93IHNraXAgdGhlIG9sZAorCQkJCQkgKiBzZWN0aW9uJ3MgbGVuZ3RoCiAJCQkJCSAqLwotCQkJCQlvdXRwdXQgLT0gMTsKLQkJCQkJb3V0cHV0WzBdID0gJ1x0JzsKKwkJCQkJb3V0cHV0ICs9IG9mZnNldCArIGk7CisJCQkJCWlmIChzdHJsZW4ob3V0cHV0KSA+IDApIHsKKwkJCQkJCS8qCisJCQkJCQkgKiBNb3JlIGNvbnRlbnQgbWVhbnMgdGhlcmUncworCQkJCQkJICogYSBkZWNsYXJhdGlvbiB0byBwdXQgb24gdGhlCisJCQkJCQkgKiBuZXh0IGxpbmU7IGluZGVudCB3aXRoIGEKKwkJCQkJCSAqIHRhYgorCQkJCQkJICovCisJCQkJCQlvdXRwdXQgLT0gMTsKKwkJCQkJCW91dHB1dFswXSA9ICdcdCc7CisJCQkJCX0KKwkJCQl9IGVsc2UgeworCQkJCQljb3B5c3RyID0gc3RvcmVfY3JlYXRlX3NlY3Rpb24obmV3X25hbWUpOwogCQkJCX0KIAkJCX0KIAkJCXJlbW92ZSA9IDA7CkBAIC0yNTAzLDI4ICsyODYwLDY5IEBACiAJCWlmIChyZW1vdmUpCiAJCQljb250aW51ZTsKIAkJbGVuZ3RoID0gc3RybGVuKG91dHB1dCk7Ci0JCWlmICh3cml0ZV9pbl9mdWxsKG91dF9mZCwgb3V0cHV0LCBsZW5ndGgpICE9IGxlbmd0aCkgeworCisJCWlmICghaXNfc2VjdGlvbiAmJiBjb3B5c3RyLmxlbiA+IDApIHsKKwkJCXN0cmJ1Zl9hZGQoJmNvcHlzdHIsIG91dHB1dCwgbGVuZ3RoKTsKKwkJfQorCisJCWlmICh3cml0ZV9pbl9mdWxsKG91dF9mZCwgb3V0cHV0LCBsZW5ndGgpIDwgMCkgewogCQkJcmV0ID0gd3JpdGVfZXJyb3IoZ2V0X2xvY2tfZmlsZV9wYXRoKGxvY2spKTsKIAkJCWdvdG8gb3V0OwogCQl9CiAJfQorCisJLyoKKwkgKiBDb3B5IGEgdHJhaWxpbmcgc2VjdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBjb25maWcsIHdvbid0IGJlCisJICogZmx1c2hlZCBieSB0aGUgdXN1YWwgImZsdXNoIGJlY2F1c2Ugd2UgaGF2ZSBhIG5ldyBzZWN0aW9uCisJICogbG9naWMgaW4gdGhlIGxvb3AgYWJvdmUuCisJICovCisJaWYgKGNvcHlzdHIubGVuID4gMCkgeworCQlpZiAod3JpdGVfaW5fZnVsbChvdXRfZmQsIGNvcHlzdHIuYnVmLCBjb3B5c3RyLmxlbikgIT0gY29weXN0ci5sZW4pIHsKKwkJCXJldCA9IHdyaXRlX2Vycm9yKGdldF9sb2NrX2ZpbGVfcGF0aChsb2NrKSk7CisJCQlnb3RvIG91dDsKKwkJfQorCQlzdHJidWZfcmVzZXQoJmNvcHlzdHIpOworCX0KKwogCWZjbG9zZShjb25maWdfZmlsZSk7CisJY29uZmlnX2ZpbGUgPSBOVUxMOwogY29tbWl0X2FuZF9vdXQ6CiAJaWYgKGNvbW1pdF9sb2NrX2ZpbGUobG9jaykgPCAwKQogCQlyZXQgPSBlcnJvcl9lcnJubygiY291bGQgbm90IHdyaXRlIGNvbmZpZyBmaWxlICVzIiwKIAkJCQkgIGNvbmZpZ19maWxlbmFtZSk7CiBvdXQ6CisJaWYgKGNvbmZpZ19maWxlKQorCQlmY2xvc2UoY29uZmlnX2ZpbGUpOwogCXJvbGxiYWNrX2xvY2tfZmlsZShsb2NrKTsKIG91dF9ub19yb2xsYmFjazoKIAlmcmVlKGZpbGVuYW1lX2J1Zik7CiAJcmV0dXJuIHJldDsKIH0KIAoraW50IGdpdF9jb25maWdfcmVuYW1lX3NlY3Rpb25faW5fZmlsZShjb25zdCBjaGFyICpjb25maWdfZmlsZW5hbWUsCisJCQkJICAgICAgY29uc3QgY2hhciAqb2xkX25hbWUsIGNvbnN0IGNoYXIgKm5ld19uYW1lKQoreworCXJldHVybiBnaXRfY29uZmlnX2NvcHlfb3JfcmVuYW1lX3NlY3Rpb25faW5fZmlsZShjb25maWdfZmlsZW5hbWUsCisJCQkJCSBvbGRfbmFtZSwgbmV3X25hbWUsIDApOworfQorCiBpbnQgZ2l0X2NvbmZpZ19yZW5hbWVfc2VjdGlvbihjb25zdCBjaGFyICpvbGRfbmFtZSwgY29uc3QgY2hhciAqbmV3X25hbWUpCiB7CiAJcmV0dXJuIGdpdF9jb25maWdfcmVuYW1lX3NlY3Rpb25faW5fZmlsZShOVUxMLCBvbGRfbmFtZSwgbmV3X25hbWUpOwogfQogCitpbnQgZ2l0X2NvbmZpZ19jb3B5X3NlY3Rpb25faW5fZmlsZShjb25zdCBjaGFyICpjb25maWdfZmlsZW5hbWUsCisJCQkJICAgICAgY29uc3QgY2hhciAqb2xkX25hbWUsIGNvbnN0IGNoYXIgKm5ld19uYW1lKQoreworCXJldHVybiBnaXRfY29uZmlnX2NvcHlfb3JfcmVuYW1lX3NlY3Rpb25faW5fZmlsZShjb25maWdfZmlsZW5hbWUsCisJCQkJCSBvbGRfbmFtZSwgbmV3X25hbWUsIDEpOworfQorCitpbnQgZ2l0X2NvbmZpZ19jb3B5X3NlY3Rpb24oY29uc3QgY2hhciAqb2xkX25hbWUsIGNvbnN0IGNoYXIgKm5ld19uYW1lKQoreworCXJldHVybiBnaXRfY29uZmlnX2NvcHlfc2VjdGlvbl9pbl9maWxlKE5VTEwsIG9sZF9uYW1lLCBuZXdfbmFtZSk7Cit9CisKIC8qCiAgKiBDYWxsIHRoaXMgdG8gcmVwb3J0IGVycm9yIGZvciB5b3VyIHZhcmlhYmxlIHRoYXQgc2hvdWxkIG5vdAogICogZ2V0IGEgYm9vbGVhbiB2YWx1ZSAoaS5lLiAiW215XSB2YXIiIG1lYW5zICJ0cnVlIikuCmRpZmYgLS1naXQgYS9jb25maWcuaCBiL2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0OWQyNjQKLS0tIC9kZXYvbnVsbAorKysgYi9jb25maWcuaApAQCAtMCwwICsxLDIzMiBAQAorI2lmbmRlZiBDT05GSUdfSAorI2RlZmluZSBDT05GSUdfSAorCisvKiBnaXRfY29uZmlnX3BhcnNlX2tleSgpIHJldHVybnMgdGhlc2UgbmVnYXRlZDogKi8KKyNkZWZpbmUgQ09ORklHX0lOVkFMSURfS0VZIDEKKyNkZWZpbmUgQ09ORklHX05PX1NFQ1RJT05fT1JfTkFNRSAyCisvKiBnaXRfY29uZmlnX3NldF9nZW50bHkoKSwgZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXJfZ2VudGx5KCkgcmV0dXJuIHRoZSBhYm92ZSBvciB0aGVzZTogKi8KKyNkZWZpbmUgQ09ORklHX05PX0xPQ0sgLTEKKyNkZWZpbmUgQ09ORklHX0lOVkFMSURfRklMRSAzCisjZGVmaW5lIENPTkZJR19OT19XUklURSA0CisjZGVmaW5lIENPTkZJR19OT1RISU5HX1NFVCA1CisjZGVmaW5lIENPTkZJR19JTlZBTElEX1BBVFRFUk4gNgorI2RlZmluZSBDT05GSUdfR0VORVJJQ19FUlJPUiA3CisKKyNkZWZpbmUgQ09ORklHX1JFR0VYX05PTkUgKCh2b2lkICopMSkKKworc3RydWN0IGdpdF9jb25maWdfc291cmNlIHsKKwl1bnNpZ25lZCBpbnQgdXNlX3N0ZGluOjE7CisJY29uc3QgY2hhciAqZmlsZTsKKwljb25zdCBjaGFyICpibG9iOworfTsKKworZW51bSBjb25maWdfb3JpZ2luX3R5cGUgeworCUNPTkZJR19PUklHSU5fQkxPQiwKKwlDT05GSUdfT1JJR0lOX0ZJTEUsCisJQ09ORklHX09SSUdJTl9TVERJTiwKKwlDT05GSUdfT1JJR0lOX1NVQk1PRFVMRV9CTE9CLAorCUNPTkZJR19PUklHSU5fQ01ETElORQorfTsKKworc3RydWN0IGNvbmZpZ19vcHRpb25zIHsKKwl1bnNpZ25lZCBpbnQgcmVzcGVjdF9pbmNsdWRlcyA6IDE7CisJY29uc3QgY2hhciAqY29tbW9uZGlyOworCWNvbnN0IGNoYXIgKmdpdF9kaXI7Cit9OworCit0eXBlZGVmIGludCAoKmNvbmZpZ19mbl90KShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKK2V4dGVybiBpbnQgZ2l0X2RlZmF1bHRfY29uZmlnKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCB2b2lkICopOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fZmlsZShjb25maWdfZm5fdCBmbiwgY29uc3QgY2hhciAqLCB2b2lkICopOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fbWVtKGNvbmZpZ19mbl90IGZuLCBjb25zdCBlbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSwKKwkJCQkJY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuLCB2b2lkICpkYXRhKTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19mcm9tX2Jsb2Jfb2lkKGNvbmZpZ19mbl90IGZuLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmRhdGEpOworZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19wdXNoX3BhcmFtZXRlcihjb25zdCBjaGFyICp0ZXh0KTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19mcm9tX3BhcmFtZXRlcnMoY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpOworZXh0ZXJuIHZvaWQgcmVhZF9lYXJseV9jb25maWcoY29uZmlnX2ZuX3QgY2IsIHZvaWQgKmRhdGEpOworZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZyhjb25maWdfZm5fdCBmbiwgdm9pZCAqKTsKK2V4dGVybiBpbnQgY29uZmlnX3dpdGhfb3B0aW9ucyhjb25maWdfZm5fdCBmbiwgdm9pZCAqLAorCQkJICAgICAgIHN0cnVjdCBnaXRfY29uZmlnX3NvdXJjZSAqY29uZmlnX3NvdXJjZSwKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgY29uZmlnX29wdGlvbnMgKm9wdHMpOworZXh0ZXJuIGludCBnaXRfcGFyc2VfdWxvbmcoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nICopOworZXh0ZXJuIGludCBnaXRfcGFyc2VfbWF5YmVfYm9vbChjb25zdCBjaGFyICopOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2ludChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50NjRfdCBnaXRfY29uZmlnX2ludDY0KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGdpdF9jb25maWdfdWxvbmcoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworZXh0ZXJuIHNzaXplX3QgZ2l0X2NvbmZpZ19zc2l6ZV90KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19ib29sX29yX2ludChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50ICopOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2Jvb2woY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworZXh0ZXJuIGludCBnaXRfY29uZmlnX3N0cmluZyhjb25zdCBjaGFyICoqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50IGdpdF9jb25maWdfcGF0aG5hbWUoY29uc3QgY2hhciAqKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworZXh0ZXJuIGludCBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKK2V4dGVybiB2b2lkIGdpdF9jb25maWdfc2V0X2luX2ZpbGUoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50IGdpdF9jb25maWdfc2V0X2dlbnRseShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gdm9pZCBnaXRfY29uZmlnX3NldChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50IGdpdF9jb25maWdfcGFyc2Vfa2V5KGNvbnN0IGNoYXIgKiwgY2hhciAqKiwgaW50ICopOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2tleV9pc192YWxpZChjb25zdCBjaGFyICprZXkpOworZXh0ZXJuIGludCBnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9nZW50bHkoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsKK2V4dGVybiB2b2lkIGdpdF9jb25maWdfc2V0X211bHRpdmFyKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCk7CitleHRlcm4gaW50IGdpdF9jb25maWdfc2V0X211bHRpdmFyX2luX2ZpbGVfZ2VudGx5KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsKK2V4dGVybiB2b2lkIGdpdF9jb25maWdfc2V0X211bHRpdmFyX2luX2ZpbGUoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOworZXh0ZXJuIGludCBnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19yZW5hbWVfc2VjdGlvbl9pbl9maWxlKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2NvcHlfc2VjdGlvbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50IGdpdF9jb25maWdfY29weV9zZWN0aW9uX2luX2ZpbGUoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitleHRlcm4gY29uc3QgY2hhciAqZ2l0X2V0Y19naXRjb25maWcodm9pZCk7CitleHRlcm4gaW50IGdpdF9lbnZfYm9vbChjb25zdCBjaGFyICosIGludCk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBnaXRfZW52X3Vsb25nKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgbG9uZyk7CitleHRlcm4gaW50IGdpdF9jb25maWdfc3lzdGVtKHZvaWQpOworZXh0ZXJuIGludCBjb25maWdfZXJyb3Jfbm9uYm9vbChjb25zdCBjaGFyICopOworI2lmIGRlZmluZWQoX19HTlVDX18pCisjZGVmaW5lIGNvbmZpZ19lcnJvcl9ub25ib29sKHMpIChjb25maWdfZXJyb3Jfbm9uYm9vbChzKSwgY29uc3RfZXJyb3IoKSkKKyNlbmRpZgorCitleHRlcm4gaW50IGdpdF9jb25maWdfcGFyc2VfcGFyYW1ldGVyKGNvbnN0IGNoYXIgKiwgY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpOworCitlbnVtIGNvbmZpZ19zY29wZSB7CisJQ09ORklHX1NDT1BFX1VOS05PV04gPSAwLAorCUNPTkZJR19TQ09QRV9TWVNURU0sCisJQ09ORklHX1NDT1BFX0dMT0JBTCwKKwlDT05GSUdfU0NPUEVfUkVQTywKKwlDT05GSUdfU0NPUEVfQ01ETElORSwKK307CisKK2V4dGVybiBlbnVtIGNvbmZpZ19zY29wZSBjdXJyZW50X2NvbmZpZ19zY29wZSh2b2lkKTsKK2V4dGVybiBjb25zdCBjaGFyICpjdXJyZW50X2NvbmZpZ19vcmlnaW5fdHlwZSh2b2lkKTsKK2V4dGVybiBjb25zdCBjaGFyICpjdXJyZW50X2NvbmZpZ19uYW1lKHZvaWQpOworCitzdHJ1Y3QgY29uZmlnX2luY2x1ZGVfZGF0YSB7CisJaW50IGRlcHRoOworCWNvbmZpZ19mbl90IGZuOworCXZvaWQgKmRhdGE7CisJY29uc3Qgc3RydWN0IGNvbmZpZ19vcHRpb25zICpvcHRzOworfTsKKyNkZWZpbmUgQ09ORklHX0lOQ0xVREVfSU5JVCB7IDAgfQorZXh0ZXJuIGludCBnaXRfY29uZmlnX2luY2x1ZGUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmRhdGEpOworCisvKgorICogTWF0Y2ggYW5kIHBhcnNlIGEgY29uZmlnIGtleSBvZiB0aGUgZm9ybToKKyAqCisgKiAgIHNlY3Rpb24uKHN1YnNlY3Rpb24uKT9rZXkKKyAqCisgKiAoaS5lLiwgd2hhdCBnZXRzIGhhbmRlZCB0byBhIGNvbmZpZ19mbl90KS4gVGhlIGNhbGxlciBwcm92aWRlcyB0aGUgc2VjdGlvbjsKKyAqIHdlIHJldHVybiAtMSBpZiBpdCBkb2VzIG5vdCBtYXRjaCwgMCBvdGhlcndpc2UuIFRoZSBzdWJzZWN0aW9uIGFuZCBrZXkKKyAqIG91dC1wYXJhbWV0ZXJzIGFyZSBmaWxsZWQgYnkgdGhlIGZ1bmN0aW9uIChhbmQgKnN1YnNlY3Rpb24gaXMgTlVMTCBpZiBpdCBpcworICogbWlzc2luZykuCisgKgorICogSWYgdGhlIHN1YnNlY3Rpb24gcG9pbnRlci10by1wb2ludGVyIHBhc3NlZCBpbiBpcyBOVUxMLCByZXR1cm5zIDAgb25seSBpZgorICogdGhlcmUgaXMgbm8gc3Vic2VjdGlvbiBhdCBhbGwuCisgKi8KK2V4dGVybiBpbnQgcGFyc2VfY29uZmlnX2tleShjb25zdCBjaGFyICp2YXIsCisJCQkgICAgY29uc3QgY2hhciAqc2VjdGlvbiwKKwkJCSAgICBjb25zdCBjaGFyICoqc3Vic2VjdGlvbiwgaW50ICpzdWJzZWN0aW9uX2xlbiwKKwkJCSAgICBjb25zdCBjaGFyICoqa2V5KTsKKworc3RydWN0IGNvbmZpZ19zZXRfZWxlbWVudCB7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OworCWNoYXIgKmtleTsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgdmFsdWVfbGlzdDsKK307CisKK3N0cnVjdCBjb25maWdzZXRfbGlzdF9pdGVtIHsKKwlzdHJ1Y3QgY29uZmlnX3NldF9lbGVtZW50ICplOworCWludCB2YWx1ZV9pbmRleDsKK307CisKKy8qCisgKiB0aGUgY29udGVudHMgb2YgdGhlIGxpc3QgYXJlIG9yZGVyZWQgYWNjb3JkaW5nIHRvIHRoZWlyCisgKiBwb3NpdGlvbiBpbiB0aGUgY29uZmlnIGZpbGVzIGFuZCBvcmRlciBvZiBwYXJzaW5nIHRoZSBmaWxlcy4KKyAqIChpLmUuIGtleS12YWx1ZSBwYWlyIGF0IHRoZSBsYXN0IHBvc2l0aW9uIG9mIC5naXQvY29uZmlnIHdpbGwKKyAqIGJlIGF0IHRoZSBsYXN0IGl0ZW0gb2YgdGhlIGxpc3QpCisgKi8KK3N0cnVjdCBjb25maWdzZXRfbGlzdCB7CisJc3RydWN0IGNvbmZpZ3NldF9saXN0X2l0ZW0gKml0ZW1zOworCXVuc2lnbmVkIGludCBuciwgYWxsb2M7Cit9OworCitzdHJ1Y3QgY29uZmlnX3NldCB7CisJc3RydWN0IGhhc2htYXAgY29uZmlnX2hhc2g7CisJaW50IGhhc2hfaW5pdGlhbGl6ZWQ7CisJc3RydWN0IGNvbmZpZ3NldF9saXN0IGxpc3Q7Cit9OworCitleHRlcm4gdm9pZCBnaXRfY29uZmlnc2V0X2luaXQoc3RydWN0IGNvbmZpZ19zZXQgKmNzKTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9hZGRfZmlsZShzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfdmFsdWUoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKip2YWx1ZSk7CitleHRlcm4gY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpnaXRfY29uZmlnc2V0X2dldF92YWx1ZV9tdWx0aShzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSk7CitleHRlcm4gdm9pZCBnaXRfY29uZmlnc2V0X2NsZWFyKHN0cnVjdCBjb25maWdfc2V0ICpjcyk7CitleHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X3N0cmluZ19jb25zdChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpOworZXh0ZXJuIGludCBnaXRfY29uZmlnc2V0X2dldF9zdHJpbmcoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGNoYXIgKipkZXN0KTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfaW50KHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOworZXh0ZXJuIGludCBnaXRfY29uZmlnc2V0X2dldF91bG9uZyhzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgdW5zaWduZWQgbG9uZyAqZGVzdCk7CitleHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X2Jvb2woc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7CitleHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X2Jvb2xfb3JfaW50KHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdCk7CitleHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X21heWJlX2Jvb2woc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7CitleHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X3BhdGhuYW1lKHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqZGVzdCk7CisKKy8qIEZ1bmN0aW9ucyBmb3IgcmVhZGluZyBhIHJlcG9zaXRvcnkncyBjb25maWcgKi8KK3N0cnVjdCByZXBvc2l0b3J5OworZXh0ZXJuIHZvaWQgcmVwb19jb25maWcoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbmZpZ19mbl90IGZuLCB2b2lkICpkYXRhKTsKK2V4dGVybiBpbnQgcmVwb19jb25maWdfZ2V0X3ZhbHVlKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKip2YWx1ZSk7CitleHRlcm4gY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpyZXBvX2NvbmZpZ19nZXRfdmFsdWVfbXVsdGkoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJCQkJICAgICBjb25zdCBjaGFyICprZXkpOworZXh0ZXJuIGludCByZXBvX2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCQljb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKK2V4dGVybiBpbnQgcmVwb19jb25maWdfZ2V0X3N0cmluZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkgIGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpOworZXh0ZXJuIGludCByZXBvX2NvbmZpZ19nZXRfaW50KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKK2V4dGVybiBpbnQgcmVwb19jb25maWdfZ2V0X3Vsb25nKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSBjb25zdCBjaGFyICprZXksIHVuc2lnbmVkIGxvbmcgKmRlc3QpOworZXh0ZXJuIGludCByZXBvX2NvbmZpZ19nZXRfYm9vbChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQljb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7CitleHRlcm4gaW50IHJlcG9fY29uZmlnX2dldF9ib29sX29yX2ludChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkgICAgICAgY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdCk7CitleHRlcm4gaW50IHJlcG9fY29uZmlnX2dldF9tYXliZV9ib29sKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKK2V4dGVybiBpbnQgcmVwb19jb25maWdfZ2V0X3BhdGhuYW1lKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSAgICBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKKworLyoKKyAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gZXhpc3RzIHNvbGVseSB0byBtYWludGFpbiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGgKKyAqICdmZXRjaCcgYW5kICd1cGRhdGVfY2xvbmUnIHN0b3JpbmcgY29uZmlndXJhdGlvbiBpbiAnLmdpdG1vZHVsZXMnIGFuZCBzaG91bGQKKyAqIE5PVCBiZSB1c2VkIGFueXdoZXJlIGVsc2UuCisgKgorICogUnVucyB0aGUgcHJvdmlkZWQgY29uZmlnIGZ1bmN0aW9uIG9uIHRoZSAnLmdpdG1vZHVsZXMnIGZpbGUgZm91bmQgaW4gdGhlCisgKiB3b3JraW5nIGRpcmVjdG9yeS4KKyAqLworZXh0ZXJuIHZvaWQgY29uZmlnX2Zyb21fZ2l0bW9kdWxlcyhjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSk7CisKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfdmFsdWUoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqdmFsdWUpOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqZ2l0X2NvbmZpZ19nZXRfdmFsdWVfbXVsdGkoY29uc3QgY2hhciAqa2V5KTsKK2V4dGVybiB2b2lkIGdpdF9jb25maWdfY2xlYXIodm9pZCk7CitleHRlcm4gaW50IGdpdF9jb25maWdfZ2V0X3N0cmluZ19jb25zdChjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfc3RyaW5nKGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF91bG9uZyhjb25zdCBjaGFyICprZXksIHVuc2lnbmVkIGxvbmcgKmRlc3QpOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9ib29sKGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfYm9vbF9vcl9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdCk7CitleHRlcm4gaW50IGdpdF9jb25maWdfZ2V0X21heWJlX2Jvb2woY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9wYXRobmFtZShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfdW50cmFja2VkX2NhY2hlKHZvaWQpOworZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9zcGxpdF9pbmRleCh2b2lkKTsKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfbWF4X3BlcmNlbnRfc3BsaXRfY2hhbmdlKHZvaWQpOworCisvKiBUaGlzIGRpZXMgaWYgdGhlIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCBkYXRlIGlzIGluIHRoZSBmdXR1cmUgKi8KK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfZXhwaXJ5KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKm91dHB1dCk7CisKKy8qIHBhcnNlIGVpdGhlciAidGhpcyBtYW55IGRheXMiIGludGVnZXIsIG9yICI1LmRheXMuYWdvIiBhcHByb3hpZGF0ZSAqLworZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9leHBpcnlfaW5fZGF5cyhjb25zdCBjaGFyICprZXksIHRpbWVzdGFtcF90ICosIHRpbWVzdGFtcF90IG5vdyk7CisKK3N0cnVjdCBrZXlfdmFsdWVfaW5mbyB7CisJY29uc3QgY2hhciAqZmlsZW5hbWU7CisJaW50IGxpbmVucjsKKwllbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSBvcmlnaW5fdHlwZTsKKwllbnVtIGNvbmZpZ19zY29wZSBzY29wZTsKK307CisKK2V4dGVybiBOT1JFVFVSTiB2b2lkIGdpdF9kaWVfY29uZmlnKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdChwcmludGYsIDIsIDMpKSk7CitleHRlcm4gTk9SRVRVUk4gdm9pZCBnaXRfZGllX2NvbmZpZ19saW5lbnIoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmVucik7CisKKyNlbmRpZiAvKiBDT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvY29uZmlnLm1hay51bmFtZSBiL2NvbmZpZy5tYWsudW5hbWUKaW5kZXggMzk5ZmUxOS4uNjg1YTgwZCAxMDA2NDQKLS0tIGEvY29uZmlnLm1hay51bmFtZQorKysgYi9jb25maWcubWFrLnVuYW1lCkBAIC0zNiw2ICszNiw3IEBACiAJTkVFRFNfTElCUlQgPSBZZXNQbGVhc2UKIAlIQVZFX0dFVERFTElNID0gWWVzUGxlYXNlCiAJU0FORV9URVhUX0dSRVA9LWEKKwlGUkVBRF9SRUFEU19ESVJFQ1RPUklFUyA9IFVuZm9ydHVuYXRlbHlZZXMKIGVuZGlmCiBpZmVxICgkKHVuYW1lX1MpLEdOVS9rRnJlZUJTRCkKIAlIQVZFX0FMTE9DQV9IID0gWWVzUGxlYXNlCkBAIC00Myw2ICs0NCw3IEBACiAJSEFWRV9QQVRIU19IID0gWWVzUGxlYXNlCiAJRElSX0hBU19CU0RfR1JPVVBfU0VNQU5USUNTID0gWWVzUGxlYXNlCiAJTElCQ19DT05UQUlOU19MSUJJTlRMID0gWWVzUGxlYXNlCisJRlJFQURfUkVBRFNfRElSRUNUT1JJRVMgPSBVbmZvcnR1bmF0ZWx5WWVzCiBlbmRpZgogaWZlcSAoJCh1bmFtZV9TKSxVbml4V2FyZSkKIAlDQyA9IGNjCkBAIC0xMDgsNiArMTEwLDcgQEAKIAlCQVNJQ19DRkxBR1MgKz0gLURQUkVDT01QT1NFX1VOSUNPREUKIAlCQVNJQ19DRkxBR1MgKz0gLURQUk9URUNUX0hGU19ERUZBVUxUPTEKIAlIQVZFX0JTRF9TWVNDVEwgPSBZZXNQbGVhc2UKKwlGUkVBRF9SRUFEU19ESVJFQ1RPUklFUyA9IFVuZm9ydHVuYXRlbHlZZXMKIGVuZGlmCiBpZmVxICgkKHVuYW1lX1MpLFN1bk9TKQogCU5FRURTX1NPQ0tFVCA9IFllc1BsZWFzZQpAQCAtMTgxLDYgKzE4NCw5IEBACiAJVU5SRUxJQUJMRV9GU1RBVCA9IFVuZm9ydHVuYXRlbHlZZXMKIAlTUEFSU0VfRkxBR1MgPSAtaXN5c3RlbSAvdXNyL2luY2x1ZGUvdzMyYXBpIC1Xbm8tb25lLWJpdC1zaWduZWQtYml0ZmllbGQKIAlPQkpFQ1RfQ1JFQVRJT05fVVNFU19SRU5BTUVTID0gVW5mb3J0dW5hdGVseU5lZWRzVG8KKwlNTUFQX1BSRVZFTlRTX0RFTEVURSA9IFVuZm9ydHVuYXRlbHlZZXMKKwlDT01QQVRfT0JKUyArPSBjb21wYXQvY3lnd2luLm8KKwlGUkVBRF9SRUFEU19ESVJFQ1RPUklFUyA9IFVuZm9ydHVuYXRlbHlZZXMKIGVuZGlmCiBpZmVxICgkKHVuYW1lX1MpLEZyZWVCU0QpCiAJTkVFRFNfTElCSUNPTlYgPSBZZXNQbGVhc2UKQEAgLTIwMSw2ICsyMDcsNyBAQAogCUdNVElNRV9VTlJFTElBQkxFX0VSUk9SUyA9IFVuZm9ydHVuYXRlbHlZZXMKIAlIQVZFX0JTRF9TWVNDVEwgPSBZZXNQbGVhc2UKIAlQQUdFUl9FTlYgPSBMRVNTPUZSWCBMVj0tYyBNT1JFPUZSWAorCUZSRUFEX1JFQURTX0RJUkVDVE9SSUVTID0gVW5mb3J0dW5hdGVseVllcwogZW5kaWYKIGlmZXEgKCQodW5hbWVfUyksT3BlbkJTRCkKIAlOT19TVFJDQVNFU1RSID0gWWVzUGxlYXNlCkBAIC0yMzcsNiArMjQ0LDcgQEAKIAlOT19NS0RURU1QID0gWWVzUGxlYXNlCiAJTk9fU1RSTENQWSA9IFllc1BsZWFzZQogCU5PX05TRUMgPSBZZXNQbGVhc2UKKwlOT19SRUdFWCA9IE5lZWRzU3RhcnRFbmQKIAlGUkVBRF9SRUFEU19ESVJFQ1RPUklFUyA9IFVuZm9ydHVuYXRlbHlZZXMKIAlJTlRFUk5BTF9RU09SVCA9IFVuZm9ydHVuYXRlbHlZZXMKIAlORUVEU19MSUJJQ09OViA9IFllc1BsZWFzZQpAQCAtMzQ2LDYgKzM1NCw3IEBACiAJTk9fU1RfQkxPQ0tTX0lOX1NUUlVDVF9TVEFUID0gWWVzUGxlYXNlCiAJTk9fTlNFQyA9IFllc1BsZWFzZQogCVVTRV9XSU4zMl9NTUFQID0gWWVzUGxlYXNlCisJTU1BUF9QUkVWRU5UU19ERUxFVEUgPSBVbmZvcnR1bmF0ZWx5WWVzCiAJIyBVU0VfTkVEX0FMTE9DQVRPUiA9IFllc1BsZWFzZQogCVVOUkVMSUFCTEVfRlNUQVQgPSBVbmZvcnR1bmF0ZWx5WWVzCiAJT0JKRUNUX0NSRUFUSU9OX1VTRVNfUkVOQU1FUyA9IFVuZm9ydHVuYXRlbHlOZWVkc1RvCkBAIC00OTQsNiArNTAzLDcgQEAKIAlOT19TVF9CTE9DS1NfSU5fU1RSVUNUX1NUQVQgPSBZZXNQbGVhc2UKIAlOT19OU0VDID0gWWVzUGxlYXNlCiAJVVNFX1dJTjMyX01NQVAgPSBZZXNQbGVhc2UKKwlNTUFQX1BSRVZFTlRTX0RFTEVURSA9IFVuZm9ydHVuYXRlbHlZZXMKIAlVU0VfTkVEX0FMTE9DQVRPUiA9IFllc1BsZWFzZQogCVVOUkVMSUFCTEVfRlNUQVQgPSBVbmZvcnR1bmF0ZWx5WWVzCiAJT0JKRUNUX0NSRUFUSU9OX1VTRVNfUkVOQU1FUyA9IFVuZm9ydHVuYXRlbHlOZWVkc1RvCkBAIC01NTAsNiArNTYwLDcgQEAKIAkJTk9fR0VUVEVYVCA9CiAJCVVTRV9HRVRURVhUX1NDSEVNRSA9IGZhbGx0aHJvdWdoCiAJCVVTRV9MSUJQQ1JFPSBZZXNQbGVhc2UKKwkJTk9fTElCUENSRTFfSklUID0gVW5mb3J0dW5hdGVseVllcwogCQlOT19DVVJMID0KIAkJVVNFX05FRF9BTExPQ0FUT1IgPSBZZXNQbGVhc2UKIAllbHNlCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggMTI4MTY1NS4uMmY1NTIzNyAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMjUwLDI0ICsyNTAsNjYgQEAKIEFTX0hFTFBfU1RSSU5HKFtdLCAgICAgICAgICAgICAgW0FSRyBjYW4gYmUgcHJlZml4IGZvciBvcGVuc3NsIGxpYnJhcnkgYW5kIGhlYWRlcnNdKSwKIEdJVF9QQVJTRV9XSVRIKFtvcGVuc3NsXSkpCiAKLSMgRGVmaW5lIFVTRV9MSUJQQ1JFIGlmIHlvdSBoYXZlIGFuZCB3YW50IHRvIHVzZSBsaWJwY3JlLiBnaXQtZ3JlcCB3aWxsIGJlCi0jIGFibGUgdG8gdXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zLgorIyBEZWZpbmUgVVNFX0xJQlBDUkUgaWYgeW91IGhhdmUgYW5kIHdhbnQgdG8gdXNlIGxpYnBjcmUuIFZhcmlvdXMKKyMgY29tbWFuZHMgc3VjaCBhcyBsb2cgYW5kIGdyZXAgb2ZmZXIgcnVudGltZSBvcHRpb25zIHRvIHVzZQorIyBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyBpbnN0ZWFkIG9mIHN0YW5kYXJkIG9yIGV4dGVuZGVkCisjIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCiAjCi0jIERlZmluZSBMSUJQQ1JFRElSPS9mb28vYmFyIGlmIHlvdXIgbGlicGNyZSBoZWFkZXIgYW5kIGxpYnJhcnkgZmlsZXMgYXJlIGluCisjIEN1cnJlbnRseSBVU0VfTElCUENSRSBpcyBhIHN5bm9ueW0gZm9yIFVTRV9MSUJQQ1JFMSwgZGVmaW5lCisjIFVTRV9MSUJQQ1JFMiBpbnN0ZWFkIGlmIHlvdSdkIGxpa2UgdG8gdXNlIHZlcnNpb24gMiBvZiB0aGUgUENSRQorIyBsaWJyYXJ5LiBUaGUgVVNFX0xJQlBDUkUgZmxhZyB3aWxsIGxpa2VseSBiZSBjaGFuZ2VkIHRvIG1lYW4gdjIgYnkKKyMgZGVmYXVsdCBpbiBmdXR1cmUgcmVsZWFzZXMuCisjCisjIERlZmluZSBMSUJQQ1JFRElSPS9mb28vYmFyIGlmIHlvdXIgUENSRSBoZWFkZXIgYW5kIGxpYnJhcnkgZmlsZXMgYXJlIGluCiAjIC9mb28vYmFyL2luY2x1ZGUgYW5kIC9mb28vYmFyL2xpYiBkaXJlY3Rvcmllcy4KICMKIEFDX0FSR19XSVRIKGxpYnBjcmUsCi1BU19IRUxQX1NUUklORyhbLS13aXRoLWxpYnBjcmVdLFtzdXBwb3J0IFBlcmwtY29tcGF0aWJsZSByZWdleGVzIChkZWZhdWx0IGlzIE5PKV0pCi1BU19IRUxQX1NUUklORyhbXSwgICAgICAgICAgIFtBUkcgY2FuIGJlIGFsc28gcHJlZml4IGZvciBsaWJwY3JlIGxpYnJhcnkgYW5kIGhlYWRlcnNdKSwKK0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbGlicGNyZV0sW3N5bm9ueW0gZm9yIC0td2l0aC1saWJwY3JlMV0pLAogICAgIGlmIHRlc3QgIiR3aXRodmFsIiA9ICJubyI7IHRoZW4KLQlVU0VfTElCUENSRT0KKwlVU0VfTElCUENSRTE9CiAgICAgZWxpZiB0ZXN0ICIkd2l0aHZhbCIgPSAieWVzIjsgdGhlbgotCVVTRV9MSUJQQ1JFPVllc1BsZWFzZQorCVVTRV9MSUJQQ1JFMT1ZZXNQbGVhc2UKICAgICBlbHNlCi0JVVNFX0xJQlBDUkU9WWVzUGxlYXNlCisJVVNFX0xJQlBDUkUxPVllc1BsZWFzZQogCUxJQlBDUkVESVI9JHdpdGh2YWwKIAlBQ19NU0dfTk9USUNFKFtTZXR0aW5nIExJQlBDUkVESVIgdG8gJExJQlBDUkVESVJdKQotICAgICAgICBkbmwgVVNFX0xJQlBDUkUgY2FuIHN0aWxsIGJlIG1vZGlmaWVkIGJlbG93LCBzbyBkb24ndCBzdWJzdGl0dXRlCisgICAgICAgIGRubCBVU0VfTElCUENSRTEgY2FuIHN0aWxsIGJlIG1vZGlmaWVkIGJlbG93LCBzbyBkb24ndCBzdWJzdGl0dXRlCisgICAgICAgIGRubCBpdCB5ZXQuCisJR0lUX0NPTkZfU1VCU1QoW0xJQlBDUkVESVJdKQorICAgIGZpKQorCitBQ19BUkdfV0lUSChsaWJwY3JlMSwKK0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbGlicGNyZTFdLFtzdXBwb3J0IFBlcmwtY29tcGF0aWJsZSByZWdleGVzIHZpYSBsaWJwY3JlMSAoZGVmYXVsdCBpcyBOTyldKQorQVNfSEVMUF9TVFJJTkcoW10sICAgICAgICAgICBbQVJHIGNhbiBiZSBhbHNvIHByZWZpeCBmb3IgbGlicGNyZSBsaWJyYXJ5IGFuZCBoZWFkZXJzXSksCisgICAgaWYgdGVzdCAiJHdpdGh2YWwiID0gIm5vIjsgdGhlbgorCVVTRV9MSUJQQ1JFMT0KKyAgICBlbGlmIHRlc3QgIiR3aXRodmFsIiA9ICJ5ZXMiOyB0aGVuCisJVVNFX0xJQlBDUkUxPVllc1BsZWFzZQorICAgIGVsc2UKKwlVU0VfTElCUENSRTE9WWVzUGxlYXNlCisJTElCUENSRURJUj0kd2l0aHZhbAorCUFDX01TR19OT1RJQ0UoW1NldHRpbmcgTElCUENSRURJUiB0byAkTElCUENSRURJUl0pCisgICAgICAgIGRubCBVU0VfTElCUENSRTEgY2FuIHN0aWxsIGJlIG1vZGlmaWVkIGJlbG93LCBzbyBkb24ndCBzdWJzdGl0dXRlCisgICAgICAgIGRubCBpdCB5ZXQuCisJR0lUX0NPTkZfU1VCU1QoW0xJQlBDUkVESVJdKQorICAgIGZpKQorCitBQ19BUkdfV0lUSChsaWJwY3JlMiwKK0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbGlicGNyZTJdLFtzdXBwb3J0IFBlcmwtY29tcGF0aWJsZSByZWdleGVzIHZpYSBsaWJwY3JlMiAoZGVmYXVsdCBpcyBOTyldKQorQVNfSEVMUF9TVFJJTkcoW10sICAgICAgICAgICBbQVJHIGNhbiBiZSBhbHNvIHByZWZpeCBmb3IgbGlicGNyZSBsaWJyYXJ5IGFuZCBoZWFkZXJzXSksCisgICAgaWYgdGVzdCAtbiAiJFVTRV9MSUJQQ1JFMSI7IHRoZW4KKyAgICAgICAgQUNfTVNHX0VSUk9SKFtPbmx5IHN1cHBseSBvbmUgb2YgLS13aXRoLWxpYnBjcmUxIG9yIC0td2l0aC1saWJwY3JlMiFdKQorICAgIGZpCisKKyAgICBpZiB0ZXN0ICIkd2l0aHZhbCIgPSAibm8iOyB0aGVuCisJVVNFX0xJQlBDUkUyPQorICAgIGVsaWYgdGVzdCAiJHdpdGh2YWwiID0gInllcyI7IHRoZW4KKwlVU0VfTElCUENSRTI9WWVzUGxlYXNlCisgICAgZWxzZQorCVVTRV9MSUJQQ1JFMj1ZZXNQbGVhc2UKKwlMSUJQQ1JFRElSPSR3aXRodmFsCisJQUNfTVNHX05PVElDRShbU2V0dGluZyBMSUJQQ1JFRElSIHRvICRMSUJQQ1JFRElSXSkKKyAgICAgICAgZG5sIFVTRV9MSUJQQ1JFMiBjYW4gc3RpbGwgYmUgbW9kaWZpZWQgYmVsb3csIHNvIGRvbid0IHN1YnN0aXR1dGUKICAgICAgICAgZG5sIGl0IHlldC4KIAlHSVRfQ09ORl9TVUJTVChbTElCUENSRURJUl0pCiAgICAgZmkpCkBAIC00OTksMTEgKzU0MSwxMSBAQAogR0lUX0NPTkZfU1VCU1QoW05PX09QRU5TU0xdKQogCiAjCi0jIERlZmluZSBVU0VfTElCUENSRSBpZiB5b3UgaGF2ZSBhbmQgd2FudCB0byB1c2UgbGlicGNyZS4gZ2l0LWdyZXAgd2lsbCBiZQotIyBhYmxlIHRvIHVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucy4KKyMgSGFuZGxlIHRoZSBVU0VfTElCUENSRTEgYW5kIFVTRV9MSUJQQ1JFMiBvcHRpb25zIHBvdGVudGlhbGx5IHNldAorIyBhYm92ZS4KICMKIAotaWYgdGVzdCAtbiAiJFVTRV9MSUJQQ1JFIjsgdGhlbgoraWYgdGVzdCAtbiAiJFVTRV9MSUJQQ1JFMSI7IHRoZW4KIAogR0lUX1NUQVNIX0ZMQUdTKCRMSUJQQ1JFRElSKQogCkBAIC01MTMsNyArNTU1LDIyIEBACiAKIEdJVF9VTlNUQVNIX0ZMQUdTKCRMSUJQQ1JFRElSKQogCi1HSVRfQ09ORl9TVUJTVChbVVNFX0xJQlBDUkVdKQorR0lUX0NPTkZfU1VCU1QoW1VTRV9MSUJQQ1JFMV0pCisKK2ZpCisKKworaWYgdGVzdCAtbiAiJFVTRV9MSUJQQ1JFMiI7IHRoZW4KKworR0lUX1NUQVNIX0ZMQUdTKCRMSUJQQ1JFRElSKQorCitBQ19DSEVDS19MSUIoW3BjcmUyLThdLCBbcGNyZTJfY29uZmlnXzhdLAorW1VTRV9MSUJQQ1JFMj1ZZXNQbGVhc2VdLAorW1VTRV9MSUJQQ1JFMj1dKQorCitHSVRfVU5TVEFTSF9GTEFHUygkTElCUENSRURJUikKKworR0lUX0NPTkZfU1VCU1QoW1VTRV9MSUJQQ1JFMl0pCiAKIGZpCiAKQEAgLTg2NSw5ICs5MjIsOSBAQAogWwogQUNfUlVOX0lGRUxTRSgKIAlbQUNfTEFOR19QUk9HUkFNKFtBQ19JTkNMVURFU19ERUZBVUxUXSwKLQkJW1tjaGFyIGM7CisJCVtbCiAJCUZJTEUgKmYgPSBmb3BlbigiLiIsICJyIik7Ci0JCXJldHVybiBmICYmIGZyZWFkKCZjLCAxLCAxLCBmKV1dKV0sCisJCXJldHVybiBmKV1dKV0sCiAJW2FjX2N2X2ZyZWFkX3JlYWRzX2RpcmVjdG9yaWVzPW5vXSwKIAlbYWNfY3ZfZnJlYWRfcmVhZHNfZGlyZWN0b3JpZXM9eWVzXSkKIF0pCmRpZmYgLS1naXQgYS9jb25uZWN0LmMgYi9jb25uZWN0LmMKaW5kZXggZWEzMTZjNC4uZGY1NmMwYyAxMDA2NDQKLS0tIGEvY29ubmVjdC5jCisrKyBiL2Nvbm5lY3QuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJnaXQtY29tcGF0LXV0aWwuaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInBrdC1saW5lLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJyZWZzLmgiCkBAIC03MSw3ICs3Miw3IEBACiAJICAgIGNoZWNrX3JlZm5hbWVfZm9ybWF0KHRhcmdldCwgUkVGTkFNRV9BTExPV19PTkVMRVZFTCkpCiAJCS8qICJzeW1yZWY9Ym9ndXM6cGFpciAqLwogCQlnb3RvIHJlamVjdDsKLQlpdGVtID0gc3RyaW5nX2xpc3RfYXBwZW5kKHN5bXJlZiwgc3ltKTsKKwlpdGVtID0gc3RyaW5nX2xpc3RfYXBwZW5kX25vZHVwKHN5bXJlZiwgc3ltKTsKIAlpdGVtLT51dGlsID0gdGFyZ2V0OwogCXJldHVybjsKIHJlamVjdDoKQEAgLTExMSw4ICsxMTIsOCBAQAogICovCiBzdHJ1Y3QgcmVmICoqZ2V0X3JlbW90ZV9oZWFkcyhpbnQgaW4sIGNoYXIgKnNyY19idWYsIHNpemVfdCBzcmNfbGVuLAogCQkJICAgICAgc3RydWN0IHJlZiAqKmxpc3QsIHVuc2lnbmVkIGludCBmbGFncywKLQkJCSAgICAgIHN0cnVjdCBzaGExX2FycmF5ICpleHRyYV9oYXZlLAotCQkJICAgICAgc3RydWN0IHNoYTFfYXJyYXkgKnNoYWxsb3dfcG9pbnRzKQorCQkJICAgICAgc3RydWN0IG9pZF9hcnJheSAqZXh0cmFfaGF2ZSwKKwkJCSAgICAgIHN0cnVjdCBvaWRfYXJyYXkgKnNoYWxsb3dfcG9pbnRzKQogewogCXN0cnVjdCByZWYgKipvcmlnX2xpc3QgPSBsaXN0OwogCkBAIC0xNTMsNyArMTU0LDcgQEAKIAkJCQlkaWUoInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGFsbG93IHNoYS0xLCBnb3QgJyVzJyIsIGFyZyk7CiAJCQlpZiAoIXNoYWxsb3dfcG9pbnRzKQogCQkJCWRpZSgicmVwb3NpdG9yeSBvbiB0aGUgb3RoZXIgZW5kIGNhbm5vdCBiZSBzaGFsbG93Iik7Ci0JCQlzaGExX2FycmF5X2FwcGVuZChzaGFsbG93X3BvaW50cywgb2xkX29pZC5oYXNoKTsKKwkJCW9pZF9hcnJheV9hcHBlbmQoc2hhbGxvd19wb2ludHMsICZvbGRfb2lkKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKQEAgLTE2OSw3ICsxNzAsNyBAQAogCQl9CiAKIAkJaWYgKGV4dHJhX2hhdmUgJiYgIXN0cmNtcChuYW1lLCAiLmhhdmUiKSkgewotCQkJc2hhMV9hcnJheV9hcHBlbmQoZXh0cmFfaGF2ZSwgb2xkX29pZC5oYXNoKTsKKwkJCW9pZF9hcnJheV9hcHBlbmQoZXh0cmFfaGF2ZSwgJm9sZF9vaWQpOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtNjk2LDYgKzY5Nyw3MCBAQAogCXJldHVybiBOVUxMOwogfQogCitzdGF0aWMgaW50IG92ZXJyaWRlX3NzaF92YXJpYW50KGludCAqcG9ydF9vcHRpb24sIGludCAqbmVlZHNfYmF0Y2gpCit7CisJY2hhciAqdmFyaWFudDsKKworCXZhcmlhbnQgPSB4c3RyZHVwX29yX251bGwoZ2V0ZW52KCJHSVRfU1NIX1ZBUklBTlQiKSk7CisJaWYgKCF2YXJpYW50ICYmCisJICAgIGdpdF9jb25maWdfZ2V0X3N0cmluZygic3NoLnZhcmlhbnQiLCAmdmFyaWFudCkpCisJCXJldHVybiAwOworCisJaWYgKCFzdHJjbXAodmFyaWFudCwgInBsaW5rIikgfHwgIXN0cmNtcCh2YXJpYW50LCAicHV0dHkiKSkgeworCQkqcG9ydF9vcHRpb24gPSAnUCc7CisJCSpuZWVkc19iYXRjaCA9IDA7CisJfSBlbHNlIGlmICghc3RyY21wKHZhcmlhbnQsICJ0b3J0b2lzZXBsaW5rIikpIHsKKwkJKnBvcnRfb3B0aW9uID0gJ1AnOworCQkqbmVlZHNfYmF0Y2ggPSAxOworCX0gZWxzZSB7CisJCSpwb3J0X29wdGlvbiA9ICdwJzsKKwkJKm5lZWRzX2JhdGNoID0gMDsKKwl9CisJZnJlZSh2YXJpYW50KTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgaGFuZGxlX3NzaF92YXJpYW50KGNvbnN0IGNoYXIgKnNzaF9jb21tYW5kLCBpbnQgaXNfY21kbGluZSwKKwkJCSAgICAgICBpbnQgKnBvcnRfb3B0aW9uLCBpbnQgKm5lZWRzX2JhdGNoKQoreworCWNvbnN0IGNoYXIgKnZhcmlhbnQ7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAob3ZlcnJpZGVfc3NoX3ZhcmlhbnQocG9ydF9vcHRpb24sIG5lZWRzX2JhdGNoKSkKKwkJcmV0dXJuOworCisJaWYgKCFpc19jbWRsaW5lKSB7CisJCXAgPSB4c3RyZHVwKHNzaF9jb21tYW5kKTsKKwkJdmFyaWFudCA9IGJhc2VuYW1lKHApOworCX0gZWxzZSB7CisJCWNvbnN0IGNoYXIgKipzc2hfYXJndjsKKworCQlwID0geHN0cmR1cChzc2hfY29tbWFuZCk7CisJCWlmIChzcGxpdF9jbWRsaW5lKHAsICZzc2hfYXJndikgPiAwKSB7CisJCQl2YXJpYW50ID0gYmFzZW5hbWUoKGNoYXIgKilzc2hfYXJndlswXSk7CisJCQkvKgorCQkJICogQXQgdGhpcyBwb2ludCwgdmFyaWFudCBwb2ludHMgaW50byB0aGUgYnVmZmVyCisJCQkgKiByZWZlcmVuY2VkIGJ5IHAsIGhlbmNlIHdlIGRvIG5vdCBuZWVkIHNzaF9hcmd2CisJCQkgKiBhbnkgbG9uZ2VyLgorCQkJICovCisJCQlmcmVlKHNzaF9hcmd2KTsKKwkJfSBlbHNlIHsKKwkJCWZyZWUocCk7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlpZiAoIXN0cmNhc2VjbXAodmFyaWFudCwgInBsaW5rIikgfHwKKwkgICAgIXN0cmNhc2VjbXAodmFyaWFudCwgInBsaW5rLmV4ZSIpKQorCQkqcG9ydF9vcHRpb24gPSAnUCc7CisJZWxzZSBpZiAoIXN0cmNhc2VjbXAodmFyaWFudCwgInRvcnRvaXNlcGxpbmsiKSB8fAorCQkgIXN0cmNhc2VjbXAodmFyaWFudCwgInRvcnRvaXNlcGxpbmsuZXhlIikpIHsKKwkJKnBvcnRfb3B0aW9uID0gJ1AnOworCQkqbmVlZHNfYmF0Y2ggPSAxOworCX0KKwlmcmVlKHApOworfQorCiAvKgogICogVGhpcyByZXR1cm5zIGEgZHVtbXkgY2hpbGRfcHJvY2VzcyBpZiB0aGUgdHJhbnNwb3J0IHByb3RvY29sIGRvZXMgbm90CiAgKiBuZWVkIGZvcmsoMiksIG9yIGEgc3RydWN0IGNoaWxkX3Byb2Nlc3Mgb2JqZWN0IGlmIGl0IGRvZXMuICBPbmNlIGRvbmUsCkBAIC03MTMsNyArNzc4LDYgQEAKIAljaGFyICpob3N0YW5kcG9ydCwgKnBhdGg7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4gPSAmbm9fZm9yazsKIAllbnVtIHByb3RvY29sIHByb3RvY29sOwotCXN0cnVjdCBzdHJidWYgY21kID0gU1RSQlVGX0lOSVQ7CiAKIAkvKiBXaXRob3V0IHRoaXMgd2UgY2Fubm90IHJlbHkgb24gd2FpdHBpZCgpIHRvIHRlbGwKIAkgKiB3aGF0IGhhcHBlbmVkIHRvIG91ciBjaGlsZHJlbi4KQEAgLTc2MSw2ICs4MjUsOCBAQAogCQkJICAgICB0YXJnZXRfaG9zdCwgMCk7CiAJCWZyZWUodGFyZ2V0X2hvc3QpOwogCX0gZWxzZSB7CisJCXN0cnVjdCBzdHJidWYgY21kID0gU1RSQlVGX0lOSVQ7CisKIAkJY29ubiA9IHhtYWxsb2Moc2l6ZW9mKCpjb25uKSk7CiAJCWNoaWxkX3Byb2Nlc3NfaW5pdChjb25uKTsKIApAQCAtNzc3LDcgKzg0Myw4IEBACiAJCWNvbm4tPmluID0gY29ubi0+b3V0ID0gLTE7CiAJCWlmIChwcm90b2NvbCA9PSBQUk9UT19TU0gpIHsKIAkJCWNvbnN0IGNoYXIgKnNzaDsKLQkJCWludCBwdXR0eSA9IDAsIHRvcnRvaXNlcGxpbmsgPSAwOworCQkJaW50IG5lZWRzX2JhdGNoID0gMDsKKwkJCWludCBwb3J0X29wdGlvbiA9ICdwJzsKIAkJCWNoYXIgKnNzaF9ob3N0ID0gaG9zdGFuZHBvcnQ7CiAJCQljb25zdCBjaGFyICpwb3J0ID0gTlVMTDsKIAkJCXRyYW5zcG9ydF9jaGVja19hbGxvd2VkKCJzc2giKTsKQEAgLTc5Niw2ICs4NjMsNyBAQAogCQkJCWZyZWUoaG9zdGFuZHBvcnQpOwogCQkJCWZyZWUocGF0aCk7CiAJCQkJZnJlZShjb25uKTsKKwkJCQlzdHJidWZfcmVsZWFzZSgmY21kKTsKIAkJCQlyZXR1cm4gTlVMTDsKIAkJCX0KIApAQCAtODAzLDEwICs4NzEsMTAgQEAKIAkJCQlkaWUoInN0cmFuZ2UgaG9zdG5hbWUgJyVzJyBibG9ja2VkIiwgc3NoX2hvc3QpOwogCiAJCQlzc2ggPSBnZXRfc3NoX2NvbW1hbmQoKTsKLQkJCWlmICghc3NoKSB7Ci0JCQkJY29uc3QgY2hhciAqYmFzZTsKLQkJCQljaGFyICpzc2hfZHVwOwotCisJCQlpZiAoc3NoKQorCQkJCWhhbmRsZV9zc2hfdmFyaWFudChzc2gsIDEsICZwb3J0X29wdGlvbiwKKwkJCQkJCSAgICZuZWVkc19iYXRjaCk7CisJCQllbHNlIHsKIAkJCQkvKgogCQkJCSAqIEdJVF9TU0ggaXMgdGhlIG5vLXNoZWxsIHZlcnNpb24gb2YKIAkJCQkgKiBHSVRfU1NIX0NPTU1BTkQgKGFuZCBtdXN0IHJlbWFpbiBzbyBmb3IKQEAgLTgxNywxNyArODg1LDEwIEBACiAJCQkJc3NoID0gZ2V0ZW52KCJHSVRfU1NIIik7CiAJCQkJaWYgKCFzc2gpCiAJCQkJCXNzaCA9ICJzc2giOwotCi0JCQkJc3NoX2R1cCA9IHhzdHJkdXAoc3NoKTsKLQkJCQliYXNlID0gYmFzZW5hbWUoc3NoX2R1cCk7Ci0KLQkJCQl0b3J0b2lzZXBsaW5rID0gIXN0cmNhc2VjbXAoYmFzZSwgInRvcnRvaXNlcGxpbmsiKSB8fAotCQkJCQkhc3RyY2FzZWNtcChiYXNlLCAidG9ydG9pc2VwbGluay5leGUiKTsKLQkJCQlwdXR0eSA9IHRvcnRvaXNlcGxpbmsgfHwKLQkJCQkJIXN0cmNhc2VjbXAoYmFzZSwgInBsaW5rIikgfHwKLQkJCQkJIXN0cmNhc2VjbXAoYmFzZSwgInBsaW5rLmV4ZSIpOwotCi0JCQkJZnJlZShzc2hfZHVwKTsKKwkJCQllbHNlCisJCQkJCWhhbmRsZV9zc2hfdmFyaWFudChzc2gsIDAsCisJCQkJCQkJICAgJnBvcnRfb3B0aW9uLAorCQkJCQkJCSAgICZuZWVkc19iYXRjaCk7CiAJCQl9CiAKIAkJCWFyZ3ZfYXJyYXlfcHVzaCgmY29ubi0+YXJncywgc3NoKTsKQEAgLTgzNSwxMSArODk2LDExIEBACiAJCQkJYXJndl9hcnJheV9wdXNoKCZjb25uLT5hcmdzLCAiLTQiKTsKIAkJCWVsc2UgaWYgKGZsYWdzICYgQ09OTkVDVF9JUFY2KQogCQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY29ubi0+YXJncywgIi02Iik7Ci0JCQlpZiAodG9ydG9pc2VwbGluaykKKwkJCWlmIChuZWVkc19iYXRjaCkKIAkJCQlhcmd2X2FycmF5X3B1c2goJmNvbm4tPmFyZ3MsICItYmF0Y2giKTsKIAkJCWlmIChwb3J0KSB7Ci0JCQkJLyogUCBpcyBmb3IgUHVUVFksIHAgaXMgZm9yIE9wZW5TU0ggKi8KLQkJCQlhcmd2X2FycmF5X3B1c2goJmNvbm4tPmFyZ3MsIHB1dHR5ID8gIi1QIiA6ICItcCIpOworCQkJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNvbm4tPmFyZ3MsCisJCQkJCQkgIi0lYyIsIHBvcnRfb3B0aW9uKTsKIAkJCQlhcmd2X2FycmF5X3B1c2goJmNvbm4tPmFyZ3MsIHBvcnQpOwogCQkJfQogCQkJYXJndl9hcnJheV9wdXNoKCZjb25uLT5hcmdzLCBzc2hfaG9zdCk7CmRpZmYgLS1naXQgYS9jb25uZWN0ZWQuYyBiL2Nvbm5lY3RlZC5jCmluZGV4IDEzNmMyYWMuLmY0MTZiMDUgMTAwNjQ0Ci0tLSBhL2Nvbm5lY3RlZC5jCisrKyBiL2Nvbm5lY3RlZC5jCkBAIC0zLDYgKzMsNyBAQAogI2luY2x1ZGUgInNpZ2NoYWluLmgiCiAjaW5jbHVkZSAiY29ubmVjdGVkLmgiCiAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogLyoKICAqIElmIHdlIGZlZWQgYWxsIHRoZSBjb21taXRzIHdlIHdhbnQgdG8gdmVyaWZ5IHRvIHRoaXMgY29tbWFuZApkaWZmIC0tZ2l0IGEvY29udHJpYi9jb2NjaW5lbGxlL2FycmF5LmNvY2NpIGIvY29udHJpYi9jb2NjaW5lbGxlL2FycmF5LmNvY2NpCmluZGV4IDRiYTk4YjcuLjAxNTg2ODIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29jY2luZWxsZS9hcnJheS5jb2NjaQorKysgYi9jb250cmliL2NvY2NpbmVsbGUvYXJyYXkuY29jY2kKQEAgLTQsNyArNCw3IEBACiBUICpzcmM7CiBleHByZXNzaW9uIG47CiBAQAotLSBtZW1jcHkoZHN0LCBzcmMsIG4gKiBzaXplb2YoKmRzdCkpOworLSBtZW1jcHkoZHN0LCBzcmMsIChuKSAqIHNpemVvZigqZHN0KSk7CiArIENPUFlfQVJSQVkoZHN0LCBzcmMsIG4pOwogCiBAQApAQCAtMTMsNyArMTMsNyBAQAogVCAqc3JjOwogZXhwcmVzc2lvbiBuOwogQEAKLS0gbWVtY3B5KGRzdCwgc3JjLCBuICogc2l6ZW9mKCpzcmMpKTsKKy0gbWVtY3B5KGRzdCwgc3JjLCAobikgKiBzaXplb2YoKnNyYykpOwogKyBDT1BZX0FSUkFZKGRzdCwgc3JjLCBuKTsKIAogQEAKQEAgLTIyLDE1ICsyMiwzMiBAQAogVCAqc3JjOwogZXhwcmVzc2lvbiBuOwogQEAKLS0gbWVtY3B5KGRzdCwgc3JjLCBuICogc2l6ZW9mKFQpKTsKKy0gbWVtY3B5KGRzdCwgc3JjLCAobikgKiBzaXplb2YoVCkpOwogKyBDT1BZX0FSUkFZKGRzdCwgc3JjLCBuKTsKIAogQEAKIHR5cGUgVDsKK1QgKmRzdDsKK1QgKnNyYzsKK2V4cHJlc3Npb24gbjsKK0BACisoCistIG1lbW1vdmUoZHN0LCBzcmMsIChuKSAqIHNpemVvZigqZHN0KSk7CisrIE1PVkVfQVJSQVkoZHN0LCBzcmMsIG4pOworfAorLSBtZW1tb3ZlKGRzdCwgc3JjLCAobikgKiBzaXplb2YoKnNyYykpOworKyBNT1ZFX0FSUkFZKGRzdCwgc3JjLCBuKTsKK3wKKy0gbWVtbW92ZShkc3QsIHNyYywgKG4pICogc2l6ZW9mKFQpKTsKKysgTU9WRV9BUlJBWShkc3QsIHNyYywgbik7CispCisKK0BACit0eXBlIFQ7CiBUICpwdHI7CiBleHByZXNzaW9uIG47CiBAQAotLSBwdHIgPSB4bWFsbG9jKG4gKiBzaXplb2YoKnB0cikpOworLSBwdHIgPSB4bWFsbG9jKChuKSAqIHNpemVvZigqcHRyKSk7CiArIEFMTE9DX0FSUkFZKHB0ciwgbik7CiAKIEBACkBAIC0zOCw1ICs1NSw1IEBACiBUICpwdHI7CiBleHByZXNzaW9uIG47CiBAQAotLSBwdHIgPSB4bWFsbG9jKG4gKiBzaXplb2YoVCkpOworLSBwdHIgPSB4bWFsbG9jKChuKSAqIHNpemVvZihUKSk7CiArIEFMTE9DX0FSUkFZKHB0ciwgbik7CmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUvZnJlZS5jb2NjaSBiL2NvbnRyaWIvY29jY2luZWxsZS9mcmVlLmNvY2NpCmluZGV4IGMwM2JhNzMuLjQ0OTAwNjkgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29jY2luZWxsZS9mcmVlLmNvY2NpCisrKyBiL2NvbnRyaWIvY29jY2luZWxsZS9mcmVlLmNvY2NpCkBAIC05LDMgKzksMTAgQEAKIEBACiAtIGlmICghRSkKICAgZnJlZShFKTsKKworQEAKK2V4cHJlc3Npb24gRTsKK0BACistIGZyZWUoRSk7CisrIEZSRUVfQU5EX05VTEwoRSk7CistIEUgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvY29udHJpYi9jb21wbGV0aW9uLy5naXRhdHRyaWJ1dGVzIGIvY29udHJpYi9jb21wbGV0aW9uLy5naXRhdHRyaWJ1dGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MTE2OTQKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2NvbXBsZXRpb24vLmdpdGF0dHJpYnV0ZXMKQEAgLTAsMCArMSBAQAorKi5iYXNoIGVvbD1sZgpkaWZmIC0tZ2l0IGEvY29udHJpYi9jb21wbGV0aW9uL2dpdC1jb21wbGV0aW9uLmJhc2ggYi9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uYmFzaAppbmRleCA0MWVlNTI5Li5kOTM0NDE3IDEwMDY0NAotLS0gYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uYmFzaAorKysgYi9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uYmFzaApAQCAtMjgsMjcgKzI4LDU1IEBACiAjIGNvbXBsZXRpb24gc3R5bGUuICBGb3IgZXhhbXBsZSAnIWYoKSB7IDogZ2l0IGNvbW1pdCA7IC4uLiB9OyBmJyB3aWxsCiAjIHRlbGwgdGhlIGNvbXBsZXRpb24gdG8gdXNlIGNvbW1pdCBjb21wbGV0aW9uLiAgVGhpcyBhbHNvIHdvcmtzIHdpdGggYWxpYXNlcwogIyBvZiBmb3JtICIhc2ggLWMgJy4uLiciLiAgRm9yIGV4YW1wbGUsICIhc2ggLWMgJzogZ2l0IGNvbW1pdCA7IC4uLiAnIi4KKyMKKyMgWW91IGNhbiBzZXQgdGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gaW5mbHVlbmNlIHRoZSBiZWhhdmlvciBvZgorIyB0aGUgY29tcGxldGlvbiByb3V0aW5lczoKKyMKKyMgICBHSVRfQ09NUExFVElPTl9DSEVDS09VVF9OT19HVUVTUworIworIyAgICAgV2hlbiBzZXQgdG8gIjEiLCBkbyBub3QgaW5jbHVkZSAiRFdJTSIgc3VnZ2VzdGlvbnMgaW4gZ2l0LWNoZWNrb3V0CisjICAgICBjb21wbGV0aW9uIChlLmcuLCBjb21wbGV0aW5nICJmb28iIHdoZW4gIm9yaWdpbi9mb28iIGV4aXN0cykuCiAKIGNhc2UgIiRDT01QX1dPUkRCUkVBS1MiIGluCiAqOiopIDogZ3JlYXQgOzsKICopICAgQ09NUF9XT1JEQlJFQUtTPSIkQ09NUF9XT1JEQlJFQUtTOiIKIGVzYWMKIAorIyBEaXNjb3ZlcnMgdGhlIHBhdGggdG8gdGhlIGdpdCByZXBvc2l0b3J5IHRha2luZyBhbnkgJy0tZ2l0LWRpcj08cGF0aD4nIGFuZAorIyAnLUMgPHBhdGg+JyBvcHRpb25zIGludG8gYWNjb3VudCBhbmQgc3RvcmVzIGl0IGluIHRoZSAkX19naXRfcmVwb19wYXRoCisjIHZhcmlhYmxlLgorX19naXRfZmluZF9yZXBvX3BhdGggKCkKK3sKKwlpZiBbIC1uICIkX19naXRfcmVwb19wYXRoIiBdOyB0aGVuCisJCSMgd2UgYWxyZWFkeSBrbm93IHdoZXJlIGl0IGlzCisJCXJldHVybgorCWZpCisKKwlpZiBbIC1uICIke19fZ2l0X0NfYXJncy19IiBdOyB0aGVuCisJCV9fZ2l0X3JlcG9fcGF0aD0iJChnaXQgIiR7X19naXRfQ19hcmdzW0BdfSIgXAorCQkJJHtfX2dpdF9kaXI6Ky0tZ2l0LWRpcj0iJF9fZ2l0X2RpciJ9IFwKKwkJCXJldi1wYXJzZSAtLWFic29sdXRlLWdpdC1kaXIgMj4vZGV2L251bGwpIgorCWVsaWYgWyAtbiAiJHtfX2dpdF9kaXItfSIgXTsgdGhlbgorCQl0ZXN0IC1kICIkX19naXRfZGlyIiAmJgorCQlfX2dpdF9yZXBvX3BhdGg9IiRfX2dpdF9kaXIiCisJZWxpZiBbIC1uICIke0dJVF9ESVItfSIgXTsgdGhlbgorCQl0ZXN0IC1kICIke0dJVF9ESVItfSIgJiYKKwkJX19naXRfcmVwb19wYXRoPSIkR0lUX0RJUiIKKwllbGlmIFsgLWQgLmdpdCBdOyB0aGVuCisJCV9fZ2l0X3JlcG9fcGF0aD0uZ2l0CisJZWxzZQorCQlfX2dpdF9yZXBvX3BhdGg9IiQoZ2l0IHJldi1wYXJzZSAtLWdpdC1kaXIgMj4vZGV2L251bGwpIgorCWZpCit9CisKKyMgRGVwcmVjYXRlZDogdXNlIF9fZ2l0X2ZpbmRfcmVwb19wYXRoKCkgYW5kICRfX2dpdF9yZXBvX3BhdGggaW5zdGVhZAogIyBfX2dpdGRpciBhY2NlcHRzIDAgb3IgMSBhcmd1bWVudHMgKGkuZS4sIGxvY2F0aW9uKQogIyByZXR1cm5zIGxvY2F0aW9uIG9mIC5naXQgcmVwbwogX19naXRkaXIgKCkKIHsKIAlpZiBbIC16ICIkezEtfSIgXTsgdGhlbgotCQlpZiBbIC1uICIke19fZ2l0X2Rpci19IiBdOyB0aGVuCi0JCQllY2hvICIkX19naXRfZGlyIgotCQllbGlmIFsgLW4gIiR7R0lUX0RJUi19IiBdOyB0aGVuCi0JCQl0ZXN0IC1kICIke0dJVF9ESVItfSIgfHwgcmV0dXJuIDEKLQkJCWVjaG8gIiRHSVRfRElSIgotCQllbGlmIFsgLWQgLmdpdCBdOyB0aGVuCi0JCQllY2hvIC5naXQKLQkJZWxzZQotCQkJZ2l0IHJldi1wYXJzZSAtLWdpdC1kaXIgMj4vZGV2L251bGwKLQkJZmkKKwkJX19naXRfZmluZF9yZXBvX3BhdGggfHwgcmV0dXJuIDEKKwkJZWNobyAiJF9fZ2l0X3JlcG9fcGF0aCIKIAllbGlmIFsgLWQgIiQxLy5naXQiIF07IHRoZW4KIAkJZWNobyAiJDEvLmdpdCIKIAllbHNlCkBAIC01Niw2ICs4NCwxNCBAQAogCWZpCiB9CiAKKyMgUnVucyBnaXQgd2l0aCBhbGwgdGhlIG9wdGlvbnMgZ2l2ZW4gYXMgYXJndW1lbnQsIHJlc3BlY3RpbmcgYW55CisjICctLWdpdC1kaXI9PHBhdGg+JyBhbmQgJy1DIDxwYXRoPicgb3B0aW9ucyBwcmVzZW50IG9uIHRoZSBjb21tYW5kIGxpbmUKK19fZ2l0ICgpCit7CisJZ2l0ICR7X19naXRfQ19hcmdzOisiJHtfX2dpdF9DX2FyZ3NbQF19In0gXAorCQkke19fZ2l0X2RpcjorLS1naXQtZGlyPSIkX19naXRfZGlyIn0gIiRAIiAyPi9kZXYvbnVsbAorfQorCiAjIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gaXMgYmFzZWQgb24gY29kZSBmcm9tOgogIwogIyAgIGJhc2hfY29tcGxldGlvbiAtIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBmb3IgYmFzaCAzLjIrCkBAIC0xODUsNiArMjIxLDIwIEBACiB9CiBmaQogCisjIEZpbGxzIHRoZSBDT01QUkVQTFkgYXJyYXkgd2l0aCBwcmVmaWx0ZXJlZCB3b3JkcyB3aXRob3V0IGFueSBhZGRpdGlvbmFsCisjIHByb2Nlc3NpbmcuCisjIENhbGxlcnMgbXVzdCB0YWtlIGNhcmUgb2YgcHJvdmlkaW5nIG9ubHkgd29yZHMgdGhhdCBtYXRjaCB0aGUgY3VycmVudCB3b3JkCisjIHRvIGJlIGNvbXBsZXRlZCBhbmQgYWRkaW5nIGFueSBwcmVmaXggYW5kL29yIHN1ZmZpeCAodHJhaWxpbmcgc3BhY2UhKSwgaWYKKyMgbmVjZXNzYXJ5LgorIyAxOiBMaXN0IG9mIG5ld2xpbmUtc2VwYXJhdGVkIG1hdGNoaW5nIGNvbXBsZXRpb24gd29yZHMsIGNvbXBsZXRlIHdpdGgKKyMgICAgcHJlZml4IGFuZCBzdWZmaXguCitfX2dpdGNvbXBfZGlyZWN0ICgpCit7CisJbG9jYWwgSUZTPSQnXG4nCisKKwlDT01QUkVQTFk9KCQxKQorfQorCiBfX2dpdGNvbXBhcHBlbmQgKCkKIHsKIAlsb2NhbCB4IGk9JHsjQ09NUFJFUExZW0BdfQpAQCAtMjgzLDExICszMzMsMTEgQEAKIF9fZ2l0X2xzX2ZpbGVzX2hlbHBlciAoKQogewogCWlmIFsgIiQyIiA9PSAiLS1jb21taXR0YWJsZSIgXTsgdGhlbgotCQlnaXQgLUMgIiQxIiBkaWZmLWluZGV4IC0tbmFtZS1vbmx5IC0tcmVsYXRpdmUgSEVBRAorCQlfX2dpdCAtQyAiJDEiIGRpZmYtaW5kZXggLS1uYW1lLW9ubHkgLS1yZWxhdGl2ZSBIRUFECiAJZWxzZQogCQkjIE5PVEU6ICQyIGlzIG5vdCBxdW90ZWQgaW4gb3JkZXIgdG8gc3VwcG9ydCBtdWx0aXBsZSBvcHRpb25zCi0JCWdpdCAtQyAiJDEiIGxzLWZpbGVzIC0tZXhjbHVkZS1zdGFuZGFyZCAkMgotCWZpIDI+L2Rldi9udWxsCisJCV9fZ2l0IC1DICIkMSIgbHMtZmlsZXMgLS1leGNsdWRlLXN0YW5kYXJkICQyCisJZmkKIH0KIAogCkBAIC0yOTksMTAwICszNDksMTk1IEBACiAjICAgIHNsYXNoLgogX19naXRfaW5kZXhfZmlsZXMgKCkKIHsKLQlsb2NhbCBkaXI9IiQoX19naXRkaXIpIiByb290PSIkezItLn0iIGZpbGUKKwlsb2NhbCByb290PSIkezItLn0iIGZpbGUKIAotCWlmIFsgLWQgIiRkaXIiIF07IHRoZW4KLQkJX19naXRfbHNfZmlsZXNfaGVscGVyICIkcm9vdCIgIiQxIiB8Ci0JCXdoaWxlIHJlYWQgLXIgZmlsZTsgZG8KLQkJCWNhc2UgIiRmaWxlIiBpbgotCQkJPyovKikgZWNobyAiJHtmaWxlJSUvKn0iIDs7Ci0JCQkqKSBlY2hvICIkZmlsZSIgOzsKLQkJCWVzYWMKLQkJZG9uZSB8IHNvcnQgfCB1bmlxCi0JZmkKKwlfX2dpdF9sc19maWxlc19oZWxwZXIgIiRyb290IiAiJDEiIHwKKwl3aGlsZSByZWFkIC1yIGZpbGU7IGRvCisJCWNhc2UgIiRmaWxlIiBpbgorCQk/Ki8qKSBlY2hvICIke2ZpbGUlJS8qfSIgOzsKKwkJKikgZWNobyAiJGZpbGUiIDs7CisJCWVzYWMKKwlkb25lIHwgc29ydCB8IHVuaXEKIH0KIAorIyBMaXN0cyBicmFuY2hlcyBmcm9tIHRoZSBsb2NhbCByZXBvc2l0b3J5LgorIyAxOiBBIHByZWZpeCB0byBiZSBhZGRlZCB0byBlYWNoIGxpc3RlZCBicmFuY2ggKG9wdGlvbmFsKS4KKyMgMjogTGlzdCBvbmx5IGJyYW5jaGVzIG1hdGNoaW5nIHRoaXMgd29yZCAob3B0aW9uYWw7IGxpc3QgYWxsIGJyYW5jaGVzIGlmCisjICAgIHVuc2V0IG9yIGVtcHR5KS4KKyMgMzogQSBzdWZmaXggdG8gYmUgYXBwZW5kZWQgdG8gZWFjaCBsaXN0ZWQgYnJhbmNoIChvcHRpb25hbCkuCiBfX2dpdF9oZWFkcyAoKQogewotCWxvY2FsIGRpcj0iJChfX2dpdGRpcikiCi0JaWYgWyAtZCAiJGRpciIgXTsgdGhlbgotCQlnaXQgLS1naXQtZGlyPSIkZGlyIiBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9JyUocmVmbmFtZTpzaG9ydCknIFwKLQkJCXJlZnMvaGVhZHMKLQkJcmV0dXJuCi0JZmkKKwlsb2NhbCBwZng9IiR7MS19IiBjdXJfPSIkezItfSIgc2Z4PSIkezMtfSIKKworCV9fZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJHtwZngvL1wlLyUlfSUocmVmbmFtZTpzdHJpcD0yKSRzZngiIFwKKwkJCSJyZWZzL2hlYWRzLyRjdXJfKiIgInJlZnMvaGVhZHMvJGN1cl8qLyoqIgogfQogCisjIExpc3RzIHRhZ3MgZnJvbSB0aGUgbG9jYWwgcmVwb3NpdG9yeS4KKyMgQWNjZXB0cyB0aGUgc2FtZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXMgX19naXRfaGVhZHMoKSBhYm92ZS4KIF9fZ2l0X3RhZ3MgKCkKIHsKLQlsb2NhbCBkaXI9IiQoX19naXRkaXIpIgotCWlmIFsgLWQgIiRkaXIiIF07IHRoZW4KLQkJZ2l0IC0tZ2l0LWRpcj0iJGRpciIgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSclKHJlZm5hbWU6c2hvcnQpJyBcCi0JCQlyZWZzL3RhZ3MKLQkJcmV0dXJuCi0JZmkKKwlsb2NhbCBwZng9IiR7MS19IiBjdXJfPSIkezItfSIgc2Z4PSIkezMtfSIKKworCV9fZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJHtwZngvL1wlLyUlfSUocmVmbmFtZTpzdHJpcD0yKSRzZngiIFwKKwkJCSJyZWZzL3RhZ3MvJGN1cl8qIiAicmVmcy90YWdzLyRjdXJfKi8qKiIKIH0KIAotIyBfX2dpdF9yZWZzIGFjY2VwdHMgMCwgMSAodG8gcGFzcyB0byBfX2dpdGRpciksIG9yIDIgYXJndW1lbnRzCi0jIHByZXNlbmNlIG9mIDJuZCBhcmd1bWVudCBtZWFucyB1c2UgdGhlIGd1ZXNzIGhldXJpc3RpYyBlbXBsb3llZAotIyBieSBjaGVja291dCBmb3IgdHJhY2tpbmcgYnJhbmNoZXMKKyMgTGlzdHMgcmVmcyBmcm9tIHRoZSBsb2NhbCAoYnkgZGVmYXVsdCkgb3IgZnJvbSBhIHJlbW90ZSByZXBvc2l0b3J5LgorIyBJdCBhY2NlcHRzIDAsIDEgb3IgMiBhcmd1bWVudHM6CisjIDE6IFRoZSByZW1vdGUgdG8gbGlzdCByZWZzIGZyb20gKG9wdGlvbmFsOyBpZ25vcmVkLCBpZiBzZXQgYnV0IGVtcHR5KS4KKyMgICAgQ2FuIGJlIHRoZSBuYW1lIG9mIGEgY29uZmlndXJlZCByZW1vdGUsIGEgcGF0aCwgb3IgYSBVUkwuCisjIDI6IEluIGFkZGl0aW9uIHRvIGxvY2FsIHJlZnMsIGxpc3QgdW5pcXVlIGJyYW5jaGVzIGZyb20gcmVmcy9yZW1vdGVzLyBmb3IKKyMgICAgJ2dpdCBjaGVja291dCdzIHRyYWNraW5nIERXSU1lcnkgKG9wdGlvbmFsOyBpZ25vcmVkLCBpZiBzZXQgYnV0IGVtcHR5KS4KKyMgMzogQSBwcmVmaXggdG8gYmUgYWRkZWQgdG8gZWFjaCBsaXN0ZWQgcmVmIChvcHRpb25hbCkuCisjIDQ6IExpc3Qgb25seSByZWZzIG1hdGNoaW5nIHRoaXMgd29yZCAob3B0aW9uYWw7IGxpc3QgYWxsIHJlZnMgaWYgdW5zZXQgb3IKKyMgICAgZW1wdHkpLgorIyA1OiBBIHN1ZmZpeCB0byBiZSBhcHBlbmRlZCB0byBlYWNoIGxpc3RlZCByZWYgKG9wdGlvbmFsOyBpZ25vcmVkLCBpZiBzZXQKKyMgICAgYnV0IGVtcHR5KS4KKyMKKyMgVXNlIF9fZ2l0X2NvbXBsZXRlX3JlZnMoKSBpbnN0ZWFkLgogX19naXRfcmVmcyAoKQogewotCWxvY2FsIGkgaGFzaCBkaXI9IiQoX19naXRkaXIgIiR7MS19IikiIHRyYWNrPSIkezItfSIKLQlsb2NhbCBmb3JtYXQgcmVmcyBwZngKLQlpZiBbIC1kICIkZGlyIiBdOyB0aGVuCi0JCWNhc2UgIiRjdXIiIGluCisJbG9jYWwgaSBoYXNoIGRpciB0cmFjaz0iJHsyLX0iCisJbG9jYWwgbGlzdF9yZWZzX2Zyb209cGF0aCByZW1vdGU9IiR7MS19IgorCWxvY2FsIGZvcm1hdCByZWZzCisJbG9jYWwgcGZ4PSIkezMtfSIgY3VyXz0iJHs0LSRjdXJ9IiBzZng9IiR7NS19IgorCWxvY2FsIG1hdGNoPSIkezQtfSIKKwlsb2NhbCBmZXJfcGZ4PSIke3BmeC8vXCUvJSV9IiAjICJlc2NhcGUiIGZvci1lYWNoLXJlZiBmb3JtYXQgc3BlY2lmaWVycworCisJX19naXRfZmluZF9yZXBvX3BhdGgKKwlkaXI9IiRfX2dpdF9yZXBvX3BhdGgiCisKKwlpZiBbIC16ICIkcmVtb3RlIiBdOyB0aGVuCisJCWlmIFsgLXogIiRkaXIiIF07IHRoZW4KKwkJCXJldHVybgorCQlmaQorCWVsc2UKKwkJaWYgX19naXRfaXNfY29uZmlndXJlZF9yZW1vdGUgIiRyZW1vdGUiOyB0aGVuCisJCQkjIGNvbmZpZ3VyZWQgcmVtb3RlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBhCisJCQkjIGxvY2FsIGRpcmVjdG9yeSB3aXRoIHRoZSBzYW1lIG5hbWUKKwkJCWxpc3RfcmVmc19mcm9tPXJlbW90ZQorCQllbGlmIFsgLWQgIiRyZW1vdGUvLmdpdCIgXTsgdGhlbgorCQkJZGlyPSIkcmVtb3RlLy5naXQiCisJCWVsaWYgWyAtZCAiJHJlbW90ZSIgXTsgdGhlbgorCQkJZGlyPSIkcmVtb3RlIgorCQllbHNlCisJCQlsaXN0X3JlZnNfZnJvbT11cmwKKwkJZmkKKwlmaQorCisJaWYgWyAiJGxpc3RfcmVmc19mcm9tIiA9IHBhdGggXTsgdGhlbgorCQlpZiBbWyAiJGN1cl8iID09IF4qIF1dOyB0aGVuCisJCQlwZng9IiRwZnheIgorCQkJZmVyX3BmeD0iJGZlcl9wZnheIgorCQkJY3VyXz0ke2N1cl8jXn0KKwkJCW1hdGNoPSR7bWF0Y2gjXn0KKwkJZmkKKwkJY2FzZSAiJGN1cl8iIGluCiAJCXJlZnN8cmVmcy8qKQogCQkJZm9ybWF0PSJyZWZuYW1lIgotCQkJcmVmcz0iJHtjdXIlLyp9IgorCQkJcmVmcz0oIiRtYXRjaCoiICIkbWF0Y2gqLyoqIikKIAkJCXRyYWNrPSIiCiAJCQk7OwogCQkqKQotCQkJW1sgIiRjdXIiID09IF4qIF1dICYmIHBmeD0iXiIKIAkJCWZvciBpIGluIEhFQUQgRkVUQ0hfSEVBRCBPUklHX0hFQUQgTUVSR0VfSEVBRDsgZG8KLQkJCQlpZiBbIC1lICIkZGlyLyRpIiBdOyB0aGVuIGVjaG8gJHBmeCRpOyBmaQorCQkJCWNhc2UgIiRpIiBpbgorCQkJCSRtYXRjaCopCisJCQkJCWlmIFsgLWUgIiRkaXIvJGkiIF07IHRoZW4KKwkJCQkJCWVjaG8gIiRwZngkaSRzZngiCisJCQkJCWZpCisJCQkJCTs7CisJCQkJZXNhYwogCQkJZG9uZQotCQkJZm9ybWF0PSJyZWZuYW1lOnNob3J0IgotCQkJcmVmcz0icmVmcy90YWdzIHJlZnMvaGVhZHMgcmVmcy9yZW1vdGVzIgorCQkJZm9ybWF0PSJyZWZuYW1lOnN0cmlwPTIiCisJCQlyZWZzPSgicmVmcy90YWdzLyRtYXRjaCoiICJyZWZzL3RhZ3MvJG1hdGNoKi8qKiIKKwkJCQkicmVmcy9oZWFkcy8kbWF0Y2gqIiAicmVmcy9oZWFkcy8kbWF0Y2gqLyoqIgorCQkJCSJyZWZzL3JlbW90ZXMvJG1hdGNoKiIgInJlZnMvcmVtb3Rlcy8kbWF0Y2gqLyoqIikKIAkJCTs7CiAJCWVzYWMKLQkJZ2l0IC0tZ2l0LWRpcj0iJGRpciIgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIkcGZ4JSgkZm9ybWF0KSIgXAotCQkJJHJlZnMKKwkJX19naXRfZGlyPSIkZGlyIiBfX2dpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiRmZXJfcGZ4JSgkZm9ybWF0KSRzZngiIFwKKwkJCSIke3JlZnNbQF19IgogCQlpZiBbIC1uICIkdHJhY2siIF07IHRoZW4KIAkJCSMgZW1wbG95IHRoZSBoZXVyaXN0aWMgdXNlZCBieSBnaXQgY2hlY2tvdXQKIAkJCSMgVHJ5IHRvIGZpbmQgYSByZW1vdGUgYnJhbmNoIHRoYXQgbWF0Y2hlcyB0aGUgY29tcGxldGlvbiB3b3JkCiAJCQkjIGJ1dCBvbmx5IG91dHB1dCBpZiB0aGUgYnJhbmNoIG5hbWUgaXMgdW5pcXVlCi0JCQlsb2NhbCByZWYgZW50cnkKLQkJCWdpdCAtLWdpdC1kaXI9IiRkaXIiIGZvci1lYWNoLXJlZiAtLXNoZWxsIC0tZm9ybWF0PSJyZWY9JShyZWZuYW1lOnNob3J0KSIgXAotCQkJCSJyZWZzL3JlbW90ZXMvIiB8IFwKLQkJCXdoaWxlIHJlYWQgLXIgZW50cnk7IGRvCi0JCQkJZXZhbCAiJGVudHJ5IgotCQkJCXJlZj0iJHtyZWYjKi99IgotCQkJCWlmIFtbICIkcmVmIiA9PSAiJGN1ciIqIF1dOyB0aGVuCi0JCQkJCWVjaG8gIiRyZWYiCi0JCQkJZmkKLQkJCWRvbmUgfCBzb3J0IHwgdW5pcSAtdQorCQkJX19naXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIkZmVyX3BmeCUocmVmbmFtZTpzdHJpcD0zKSRzZngiIFwKKwkJCQktLXNvcnQ9InJlZm5hbWU6c3RyaXA9MyIgXAorCQkJCSJyZWZzL3JlbW90ZXMvKi8kbWF0Y2gqIiAicmVmcy9yZW1vdGVzLyovJG1hdGNoKi8qKiIgfCBcCisJCQl1bmlxIC11CiAJCWZpCiAJCXJldHVybgogCWZpCi0JY2FzZSAiJGN1ciIgaW4KKwljYXNlICIkY3VyXyIgaW4KIAlyZWZzfHJlZnMvKikKLQkJZ2l0IGxzLXJlbW90ZSAiJGRpciIgIiRjdXIqIiAyPi9kZXYvbnVsbCB8IFwKKwkJX19naXQgbHMtcmVtb3RlICIkcmVtb3RlIiAiJG1hdGNoKiIgfCBcCiAJCXdoaWxlIHJlYWQgLXIgaGFzaCBpOyBkbwogCQkJY2FzZSAiJGkiIGluCiAJCQkqXnt9KSA7OwotCQkJKikgZWNobyAiJGkiIDs7CisJCQkqKSBlY2hvICIkcGZ4JGkkc2Z4IiA7OwogCQkJZXNhYwogCQlkb25lCiAJCTs7CiAJKikKLQkJZWNobyAiSEVBRCIKLQkJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShyZWZuYW1lOnNob3J0KSIgLS0gXAotCQkJInJlZnMvcmVtb3Rlcy8kZGlyLyIgMj4vZGV2L251bGwgfCBzZWQgLWUgInMjXiRkaXIvIyMiCisJCWlmIFsgIiRsaXN0X3JlZnNfZnJvbSIgPSByZW1vdGUgXTsgdGhlbgorCQkJY2FzZSAiSEVBRCIgaW4KKwkJCSRtYXRjaCopCWVjaG8gIiR7cGZ4fUhFQUQkc2Z4IiA7OworCQkJZXNhYworCQkJX19naXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIkZmVyX3BmeCUocmVmbmFtZTpzdHJpcD0zKSRzZngiIFwKKwkJCQkicmVmcy9yZW1vdGVzLyRyZW1vdGUvJG1hdGNoKiIgXAorCQkJCSJyZWZzL3JlbW90ZXMvJHJlbW90ZS8kbWF0Y2gqLyoqIgorCQllbHNlCisJCQlsb2NhbCBxdWVyeV9zeW1yZWYKKwkJCWNhc2UgIkhFQUQiIGluCisJCQkkbWF0Y2gqKQlxdWVyeV9zeW1yZWY9IkhFQUQiIDs7CisJCQllc2FjCisJCQlfX2dpdCBscy1yZW1vdGUgIiRyZW1vdGUiICRxdWVyeV9zeW1yZWYgXAorCQkJCSJyZWZzL3RhZ3MvJG1hdGNoKiIgInJlZnMvaGVhZHMvJG1hdGNoKiIgXAorCQkJCSJyZWZzL3JlbW90ZXMvJG1hdGNoKiIgfAorCQkJd2hpbGUgcmVhZCAtciBoYXNoIGk7IGRvCisJCQkJY2FzZSAiJGkiIGluCisJCQkJKl57fSkJOzsKKwkJCQlyZWZzLyopCWVjaG8gIiRwZngke2kjcmVmcy8qL30kc2Z4IiA7OworCQkJCSopCWVjaG8gIiRwZngkaSRzZngiIDs7ICAjIHN5bWJvbGljIHJlZnMKKwkJCQllc2FjCisJCQlkb25lCisJCWZpCiAJCTs7CiAJZXNhYwogfQogCisjIENvbXBsZXRlcyByZWZzLCBzaG9ydCBhbmQgbG9uZywgbG9jYWwgYW5kIHJlbW90ZSwgc3ltYm9saWMgYW5kIHBzZXVkby4KKyMKKyMgVXNhZ2U6IF9fZ2l0X2NvbXBsZXRlX3JlZnMgWzxvcHRpb24+XS4uLgorIyAtLXJlbW90ZT08cmVtb3RlPjogVGhlIHJlbW90ZSB0byBsaXN0IHJlZnMgZnJvbSwgY2FuIGJlIHRoZSBuYW1lIG9mIGEKKyMgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyZWQgcmVtb3RlLCBhIHBhdGgsIG9yIGEgVVJMLgorIyAtLXRyYWNrOiBMaXN0IHVuaXF1ZSByZW1vdGUgYnJhbmNoZXMgZm9yICdnaXQgY2hlY2tvdXQncyB0cmFja2luZyBEV0lNZXJ5LgorIyAtLXBmeD08cHJlZml4PjogQSBwcmVmaXggdG8gYmUgYWRkZWQgdG8gZWFjaCByZWYuCisjIC0tY3VyPTx3b3JkPjogVGhlIGN1cnJlbnQgcmVmIHRvIGJlIGNvbXBsZXRlZC4gIERlZmF1bHRzIHRvIHRoZSBjdXJyZW50CisjICAgICAgICAgICAgICAgd29yZCB0byBiZSBjb21wbGV0ZWQuCisjIC0tc2Z4PTxzdWZmaXg+OiBBIHN1ZmZpeCB0byBiZSBhcHBlbmRlZCB0byBlYWNoIHJlZiBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0CisjICAgICAgICAgICAgICAgICBzcGFjZS4KK19fZ2l0X2NvbXBsZXRlX3JlZnMgKCkKK3sKKwlsb2NhbCByZW1vdGUgdHJhY2sgcGZ4IGN1cl89IiRjdXIiIHNmeD0iICIKKworCXdoaWxlIHRlc3QgJCMgIT0gMDsgZG8KKwkJY2FzZSAiJDEiIGluCisJCS0tcmVtb3RlPSopCXJlbW90ZT0iJHsxIyMtLXJlbW90ZT19IiA7OworCQktLXRyYWNrKQl0cmFjaz0ieWVzIiA7OworCQktLXBmeD0qKQlwZng9IiR7MSMjLS1wZng9fSIgOzsKKwkJLS1jdXI9KikJY3VyXz0iJHsxIyMtLWN1cj19IiA7OworCQktLXNmeD0qKQlzZng9IiR7MSMjLS1zZng9fSIgOzsKKwkJKikJCXJldHVybiAxIDs7CisJCWVzYWMKKwkJc2hpZnQKKwlkb25lCisKKwlfX2dpdGNvbXBfZGlyZWN0ICIkKF9fZ2l0X3JlZnMgIiRyZW1vdGUiICIkdHJhY2siICIkcGZ4IiAiJGN1cl8iICIkc2Z4IikiCit9CisKICMgX19naXRfcmVmczIgcmVxdWlyZXMgMSBhcmd1bWVudCAodG8gcGFzcyB0byBfX2dpdF9yZWZzKQorIyBEZXByZWNhdGVkOiB1c2UgX19naXRfY29tcGxldGVfZmV0Y2hfcmVmc3BlY3MoKSBpbnN0ZWFkLgogX19naXRfcmVmczIgKCkKIHsKIAlsb2NhbCBpCkBAIC00MDEsMTEgKzU0NiwyOSBAQAogCWRvbmUKIH0KIAorIyBDb21wbGV0ZXMgcmVmc3BlY3MgZm9yIGZldGNoaW5nIGZyb20gYSByZW1vdGUgcmVwb3NpdG9yeS4KKyMgMTogVGhlIHJlbW90ZSByZXBvc2l0b3J5LgorIyAyOiBBIHByZWZpeCB0byBiZSBhZGRlZCB0byBlYWNoIGxpc3RlZCByZWZzcGVjIChvcHRpb25hbCkuCisjIDM6IFRoZSByZWYgdG8gYmUgY29tcGxldGVkIGFzIGEgcmVmc3BlYyBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IHdvcmQgdG8gYmUKKyMgICAgY29tcGxldGVkIChvcHRpb25hbCkKKyMgNDogQSBzdWZmaXggdG8gYmUgYXBwZW5kZWQgdG8gZWFjaCBsaXN0ZWQgcmVmc3BlYyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0CisjICAgIHNwYWNlIChvcHRpb25hbCkuCitfX2dpdF9jb21wbGV0ZV9mZXRjaF9yZWZzcGVjcyAoKQoreworCWxvY2FsIGkgcmVtb3RlPSIkMSIgcGZ4PSIkezItfSIgY3VyXz0iJHszLSRjdXJ9IiBzZng9IiR7NC0gfSIKKworCV9fZ2l0Y29tcF9kaXJlY3QgIiQoCisJCWZvciBpIGluICQoX19naXRfcmVmcyAiJHJlbW90ZSIgIiIgIiIgIiRjdXJfIikgOyBkbworCQkJZWNobyAiJHBmeCRpOiRpJHNmeCIKKwkJZG9uZQorCQkpIgorfQorCiAjIF9fZ2l0X3JlZnNfcmVtb3RlcyByZXF1aXJlcyAxIGFyZ3VtZW50ICh0byBwYXNzIHRvIGxzLXJlbW90ZSkKIF9fZ2l0X3JlZnNfcmVtb3RlcyAoKQogewogCWxvY2FsIGkgaGFzaAotCWdpdCBscy1yZW1vdGUgIiQxIiAncmVmcy9oZWFkcy8qJyAyPi9kZXYvbnVsbCB8IFwKKwlfX2dpdCBscy1yZW1vdGUgIiQxIiAncmVmcy9oZWFkcy8qJyB8IFwKIAl3aGlsZSByZWFkIC1yIGhhc2ggaTsgZG8KIAkJZWNobyAiJGk6cmVmcy9yZW1vdGVzLyQxLyR7aSNyZWZzL2hlYWRzL30iCiAJZG9uZQpAQCAtNDEzLDkgKzU3NiwyMSBAQAogCiBfX2dpdF9yZW1vdGVzICgpCiB7Ci0JbG9jYWwgZD0iJChfX2dpdGRpcikiCi0JdGVzdCAtZCAiJGQvcmVtb3RlcyIgJiYgbHMgLTEgIiRkL3JlbW90ZXMiCi0JZ2l0IC0tZ2l0LWRpcj0iJGQiIHJlbW90ZQorCV9fZ2l0X2ZpbmRfcmVwb19wYXRoCisJdGVzdCAtZCAiJF9fZ2l0X3JlcG9fcGF0aC9yZW1vdGVzIiAmJiBscyAtMSAiJF9fZ2l0X3JlcG9fcGF0aC9yZW1vdGVzIgorCV9fZ2l0IHJlbW90ZQorfQorCisjIFJldHVybnMgdHJ1ZSBpZiAkMSBtYXRjaGVzIHRoZSBuYW1lIG9mIGEgY29uZmlndXJlZCByZW1vdGUsIGZhbHNlIG90aGVyd2lzZS4KK19fZ2l0X2lzX2NvbmZpZ3VyZWRfcmVtb3RlICgpCit7CisJbG9jYWwgcmVtb3RlCisJZm9yIHJlbW90ZSBpbiAkKF9fZ2l0X3JlbW90ZXMpOyBkbworCQlpZiBbICIkcmVtb3RlIiA9ICIkMSIgXTsgdGhlbgorCQkJcmV0dXJuIDAKKwkJZmkKKwlkb25lCisJcmV0dXJuIDEKIH0KIAogX19naXRfbGlzdF9tZXJnZV9zdHJhdGVnaWVzICgpCkBAIC00NjksNyArNjQ0LDcgQEAKIAkJKikgICBwZng9IiRyZWY6JHBmeCIgOzsKIAkJZXNhYwogCi0JCV9fZ2l0Y29tcF9ubCAiJChnaXQgLS1naXQtZGlyPSIkKF9fZ2l0ZGlyKSIgbHMtdHJlZSAiJGxzIiAyPi9kZXYvbnVsbCBcCisJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdCBscy10cmVlICIkbHMiIFwKIAkJCQl8IHNlZCAnL14xMDAuLi4gYmxvYiAvewogCQkJCSAgICAgICAgICAgcyxeLioJLCwKIAkJCQkgICAgICAgICAgIHMsJCwgLApAQCAtNDg4LDE1ICs2NjMsMTUgQEAKIAkqLi4uKikKIAkJcGZ4PSIke2N1cl8lLi4uKn0uLi4iCiAJCWN1cl89IiR7Y3VyXyMqLi4ufSIKLQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIiAiJHBmeCIgIiRjdXJfIgorCQlfX2dpdF9jb21wbGV0ZV9yZWZzIC0tcGZ4PSIkcGZ4IiAtLWN1cj0iJGN1cl8iCiAJCTs7CiAJKi4uKikKIAkJcGZ4PSIke2N1cl8lLi4qfS4uIgogCQljdXJfPSIke2N1cl8jKi4ufSIKLQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIiAiJHBmeCIgIiRjdXJfIgorCQlfX2dpdF9jb21wbGV0ZV9yZWZzIC0tcGZ4PSIkcGZ4IiAtLWN1cj0iJGN1cl8iCiAJCTs7CiAJKikKLQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCQlfX2dpdF9jb21wbGV0ZV9yZWZzCiAJCTs7CiAJZXNhYwogfQpAQCAtNTQyLDYgKzcxNyw3IEBACiAJCWk9IiR7d29yZHNbY119IgogCQljYXNlICIkaSIgaW4KIAkJLS1taXJyb3IpIFsgIiRjbWQiID0gInB1c2giIF0gJiYgbm9fY29tcGxldGVfcmVmc3BlYz0xIDs7CisJCS1kfC0tZGVsZXRlKSBbICIkY21kIiA9ICJwdXNoIiBdICYmIGxocz0wIDs7CiAJCS0tYWxsKQogCQkJY2FzZSAiJGNtZCIgaW4KIAkJCXB1c2gpIG5vX2NvbXBsZXRlX3JlZnNwZWM9MSA7OwpAQCAtNTgxLDIzICs3NTcsMjMgQEAKIAljYXNlICIkY21kIiBpbgogCWZldGNoKQogCQlpZiBbICRsaHMgPSAxIF07IHRoZW4KLQkJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzMiAiJHJlbW90ZSIpIiAiJHBmeCIgIiRjdXJfIgorCQkJX19naXRfY29tcGxldGVfZmV0Y2hfcmVmc3BlY3MgIiRyZW1vdGUiICIkcGZ4IiAiJGN1cl8iCiAJCWVsc2UKLQkJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIgIiRwZngiICIkY3VyXyIKKwkJCV9fZ2l0X2NvbXBsZXRlX3JlZnMgLS1wZng9IiRwZngiIC0tY3VyPSIkY3VyXyIKIAkJZmkKIAkJOzsKIAlwdWxsfHJlbW90ZSkKIAkJaWYgWyAkbGhzID0gMSBdOyB0aGVuCi0JCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVmcyAiJHJlbW90ZSIpIiAiJHBmeCIgIiRjdXJfIgorCQkJX19naXRfY29tcGxldGVfcmVmcyAtLXJlbW90ZT0iJHJlbW90ZSIgLS1wZng9IiRwZngiIC0tY3VyPSIkY3VyXyIKIAkJZWxzZQotCQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIiAiJHBmeCIgIiRjdXJfIgorCQkJX19naXRfY29tcGxldGVfcmVmcyAtLXBmeD0iJHBmeCIgLS1jdXI9IiRjdXJfIgogCQlmaQogCQk7OwogCXB1c2gpCiAJCWlmIFsgJGxocyA9IDEgXTsgdGhlbgotCQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIiAiJHBmeCIgIiRjdXJfIgorCQkJX19naXRfY29tcGxldGVfcmVmcyAtLXBmeD0iJHBmeCIgLS1jdXI9IiRjdXJfIgogCQllbHNlCi0JCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVmcyAiJHJlbW90ZSIpIiAiJHBmeCIgIiRjdXJfIgorCQkJX19naXRfY29tcGxldGVfcmVmcyAtLXJlbW90ZT0iJHJlbW90ZSIgLS1wZng9IiRwZngiIC0tY3VyPSIkY3VyXyIKIAkJZmkKIAkJOzsKIAllc2FjCkBAIC03NDcsNyArOTIzLDcgQEAKIF9fZ2l0X2dldF9jb25maWdfdmFyaWFibGVzICgpCiB7CiAJbG9jYWwgc2VjdGlvbj0iJDEiIGkgSUZTPSQnXG4nCi0JZm9yIGkgaW4gJChnaXQgLS1naXQtZGlyPSIkKF9fZ2l0ZGlyKSIgY29uZmlnIC0tbmFtZS1vbmx5IC0tZ2V0LXJlZ2V4cCAiXiRzZWN0aW9uXC4uKiIgMj4vZGV2L251bGwpOyBkbworCWZvciBpIGluICQoX19naXQgY29uZmlnIC0tbmFtZS1vbmx5IC0tZ2V0LXJlZ2V4cCAiXiRzZWN0aW9uXC4uKiIpOyBkbwogCQllY2hvICIke2kjJHNlY3Rpb24ufSIKIAlkb25lCiB9CkBAIC03NjUsOCArOTQxLDcgQEAKICMgX19naXRfYWxpYXNlZF9jb21tYW5kIHJlcXVpcmVzIDEgYXJndW1lbnQKIF9fZ2l0X2FsaWFzZWRfY29tbWFuZCAoKQogewotCWxvY2FsIHdvcmQgY21kbGluZT0kKGdpdCAtLWdpdC1kaXI9IiQoX19naXRkaXIpIiBcCi0JCWNvbmZpZyAtLWdldCAiYWxpYXMuJDEiKQorCWxvY2FsIHdvcmQgY21kbGluZT0kKF9fZ2l0IGNvbmZpZyAtLWdldCAiYWxpYXMuJDEiKQogCWZvciB3b3JkIGluICRjbWRsaW5lOyBkbwogCQljYXNlICIkd29yZCIgaW4KIAkJXCFnaXRrfGdpdGspCkBAIC04NDIsNyArMTAxNyw3IEBACiAJZG9uZQogCiAJaWYgWyAtbiAiJGNvbmZpZ19rZXkiIF0gJiYgWyAteiAiJHJlc3VsdCIgXTsgdGhlbgotCQlyZXN1bHQ9IiQoZ2l0IC0tZ2l0LWRpcj0iJChfX2dpdGRpcikiIGNvbmZpZyAiJGNvbmZpZ19rZXkiKSIKKwkJcmVzdWx0PSIkKF9fZ2l0IGNvbmZpZyAiJGNvbmZpZ19rZXkiKSIKIAlmaQogCiAJZWNobyAiJHJlc3VsdCIKQEAgLTkwMSw4ICsxMDc2LDggQEAKIAogX2dpdF9hbSAoKQogewotCWxvY2FsIGRpcj0iJChfX2dpdGRpcikiCi0JaWYgWyAtZCAiJGRpciIvcmViYXNlLWFwcGx5IF07IHRoZW4KKwlfX2dpdF9maW5kX3JlcG9fcGF0aAorCWlmIFsgLWQgIiRfX2dpdF9yZXBvX3BhdGgiL3JlYmFzZS1hcHBseSBdOyB0aGVuCiAJCV9fZ2l0Y29tcCAiLS1za2lwIC0tY29udGludWUgLS1yZXNvbHZlZCAtLWFib3J0IgogCQlyZXR1cm4KIAlmaQpAQCAtOTkwLDcgKzExNjUsOCBAQAogCWxvY2FsIHN1YmNvbW1hbmRzPSJzdGFydCBiYWQgZ29vZCBza2lwIHJlc2V0IHZpc3VhbGl6ZSByZXBsYXkgbG9nIHJ1biIKIAlsb2NhbCBzdWJjb21tYW5kPSIkKF9fZ2l0X2ZpbmRfb25fY21kbGluZSAiJHN1YmNvbW1hbmRzIikiCiAJaWYgWyAteiAiJHN1YmNvbW1hbmQiIF07IHRoZW4KLQkJaWYgWyAtZiAiJChfX2dpdGRpcikiL0JJU0VDVF9TVEFSVCBdOyB0aGVuCisJCV9fZ2l0X2ZpbmRfcmVwb19wYXRoCisJCWlmIFsgLWYgIiRfX2dpdF9yZXBvX3BhdGgiL0JJU0VDVF9TVEFSVCBdOyB0aGVuCiAJCQlfX2dpdGNvbXAgIiRzdWJjb21tYW5kcyIKIAkJZWxzZQogCQkJX19naXRjb21wICJyZXBsYXkgc3RhcnQiCkBAIC0xMDAwLDcgKzExNzYsNyBAQAogCiAJY2FzZSAiJHN1YmNvbW1hbmQiIGluCiAJYmFkfGdvb2R8cmVzZXR8c2tpcHxzdGFydCkKLQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCQlfX2dpdF9jb21wbGV0ZV9yZWZzCiAJCTs7CiAJKikKIAkJOzsKQEAgLTEwMjIsMTIgKzExOTgsMTIgQEAKIAogCWNhc2UgIiRjdXIiIGluCiAJLS1zZXQtdXBzdHJlYW0tdG89KikKLQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIiAiIiAiJHtjdXIjIy0tc2V0LXVwc3RyZWFtLXRvPX0iCisJCV9fZ2l0X2NvbXBsZXRlX3JlZnMgLS1jdXI9IiR7Y3VyIyMtLXNldC11cHN0cmVhbS10bz19IgogCQk7OwogCS0tKikKIAkJX19naXRjb21wICIKIAkJCS0tY29sb3IgLS1uby1jb2xvciAtLXZlcmJvc2UgLS1hYmJyZXY9IC0tbm8tYWJicmV2Ci0JCQktLXRyYWNrIC0tbm8tdHJhY2sgLS1jb250YWlucyAtLW1lcmdlZCAtLW5vLW1lcmdlZAorCQkJLS10cmFjayAtLW5vLXRyYWNrIC0tY29udGFpbnMgLS1uby1jb250YWlucyAtLW1lcmdlZCAtLW5vLW1lcmdlZAogCQkJLS1zZXQtdXBzdHJlYW0tdG89IC0tZWRpdC1kZXNjcmlwdGlvbiAtLWxpc3QKIAkJCS0tdW5zZXQtdXBzdHJlYW0gLS1kZWxldGUgLS1tb3ZlIC0tcmVtb3RlcwogCQkJLS1jb2x1bW4gLS1uby1jb2x1bW4gLS1zb3J0PSAtLXBvaW50cy1hdApAQCAtMTAzNSw5ICsxMjExLDkgQEAKIAkJOzsKIAkqKQogCQlpZiBbICRvbmx5X2xvY2FsX3JlZiA9ICJ5IiAtYSAkaGFzX3IgPSAibiIgXTsgdGhlbgotCQkJX19naXRjb21wX25sICIkKF9fZ2l0X2hlYWRzKSIKKwkJCV9fZ2l0Y29tcF9kaXJlY3QgIiQoX19naXRfaGVhZHMgIiIgIiRjdXIiICIgIikiCiAJCWVsc2UKLQkJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIKKwkJCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIAkJZmkKIAkJOzsKIAllc2FjCkBAIC0xMDgwLDI0ICsxMjU2LDI1IEBACiAJKikKIAkJIyBjaGVjayBpZiAtLXRyYWNrLCAtLW5vLXRyYWNrLCBvciAtLW5vLWd1ZXNzIHdhcyBzcGVjaWZpZWQKIAkJIyBpZiBzbywgZGlzYWJsZSBEV0lNIG1vZGUKLQkJbG9jYWwgZmxhZ3M9Ii0tdHJhY2sgLS1uby10cmFjayAtLW5vLWd1ZXNzIiB0cmFjaz0xCi0JCWlmIFsgLW4gIiQoX19naXRfZmluZF9vbl9jbWRsaW5lICIkZmxhZ3MiKSIgXTsgdGhlbgotCQkJdHJhY2s9JycKKwkJbG9jYWwgZmxhZ3M9Ii0tdHJhY2sgLS1uby10cmFjayAtLW5vLWd1ZXNzIiB0cmFja19vcHQ9Ii0tdHJhY2siCisJCWlmIFsgIiRHSVRfQ09NUExFVElPTl9DSEVDS09VVF9OT19HVUVTUyIgPSAiMSIgXSB8fAorCQkgICBbIC1uICIkKF9fZ2l0X2ZpbmRfb25fY21kbGluZSAiJGZsYWdzIikiIF07IHRoZW4KKwkJCXRyYWNrX29wdD0nJwogCQlmaQotCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVmcyAnJyAkdHJhY2spIgorCQlfX2dpdF9jb21wbGV0ZV9yZWZzICR0cmFja19vcHQKIAkJOzsKIAllc2FjCiB9CiAKIF9naXRfY2hlcnJ5ICgpCiB7Ci0JX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIH0KIAogX2dpdF9jaGVycnlfcGljayAoKQogewotCWxvY2FsIGRpcj0iJChfX2dpdGRpcikiCi0JaWYgWyAtZiAiJGRpciIvQ0hFUlJZX1BJQ0tfSEVBRCBdOyB0aGVuCisJX19naXRfZmluZF9yZXBvX3BhdGgKKwlpZiBbIC1mICIkX19naXRfcmVwb19wYXRoIi9DSEVSUllfUElDS19IRUFEIF07IHRoZW4KIAkJX19naXRjb21wICItLWNvbnRpbnVlIC0tcXVpdCAtLWFib3J0IgogCQlyZXR1cm4KIAlmaQpAQCAtMTEwNiw3ICsxMjgzLDcgQEAKIAkJX19naXRjb21wICItLWVkaXQgLS1uby1jb21taXQgLS1zaWdub2ZmIC0tc3RyYXRlZ3k9IC0tbWFpbmxpbmUiCiAJCTs7CiAJKikKLQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCQlfX2dpdF9jb21wbGV0ZV9yZWZzCiAJCTs7CiAJZXNhYwogfQpAQCAtMTE0Miw2ICsxMzE5LDcgQEAKIAkJCS0tdGVtcGxhdGU9CiAJCQktLWRlcHRoCiAJCQktLXNpbmdsZS1icmFuY2gKKwkJCS0tbm8tdGFncwogCQkJLS1icmFuY2gKIAkJCS0tcmVjdXJzZS1zdWJtb2R1bGVzCiAJCQktLW5vLXNpbmdsZS1icmFuY2gKQEAgLTExNTgsNyArMTMzNiw3IEBACiB7CiAJY2FzZSAiJHByZXYiIGluCiAJLWN8LUMpCi0JCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIgIiIgIiR7Y3VyfSIKKwkJX19naXRfY29tcGxldGVfcmVmcwogCQlyZXR1cm4KIAkJOzsKIAllc2FjCkBAIC0xMTcxLDcgKzEzNDksNyBAQAogCQk7OwogCS0tcmV1c2UtbWVzc2FnZT0qfC0tcmVlZGl0LW1lc3NhZ2U9KnxcCiAJLS1maXh1cD0qfC0tc3F1YXNoPSopCi0JCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIgIiIgIiR7Y3VyIyo9fSIKKwkJX19naXRfY29tcGxldGVfcmVmcyAtLWN1cj0iJHtjdXIjKj19IgogCQlyZXR1cm4KIAkJOzsKIAktLXVudHJhY2tlZC1maWxlcz0qKQpAQCAtMTE5Miw3ICsxMzcwLDcgQEAKIAkJcmV0dXJuCiAJZXNhYwogCi0JaWYgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtLXF1aWV0IEhFQUQgPi9kZXYvbnVsbDsgdGhlbgorCWlmIF9fZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtLXF1aWV0IEhFQUQgPi9kZXYvbnVsbDsgdGhlbgogCQlfX2dpdF9jb21wbGV0ZV9pbmRleF9maWxlICItLWNvbW1pdHRhYmxlIgogCWVsc2UKIAkJIyBUaGlzIGlzIHRoZSBmaXJzdCBjb21taXQKQEAgLTEyMDcsMTAgKzEzODUsMTEgQEAKIAkJX19naXRjb21wICIKIAkJCS0tYWxsIC0tdGFncyAtLWNvbnRhaW5zIC0tYWJicmV2PSAtLWNhbmRpZGF0ZXM9CiAJCQktLWV4YWN0LW1hdGNoIC0tZGVidWcgLS1sb25nIC0tbWF0Y2ggLS1hbHdheXMgLS1maXJzdC1wYXJlbnQKKwkJCS0tZXhjbHVkZQogCQkJIgogCQlyZXR1cm4KIAllc2FjCi0JX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIH0KIAogX19naXRfZGlmZl9hbGdvcml0aG1zPSJteWVycyBtaW5pbWFsIHBhdGllbmNlIGhpc3RvZ3JhbSIKQEAgLTEzNjEsOCArMTU0MCw0MyBAQAogCV9naXRrCiB9CiAKLV9fZ2l0X21hdGNoX2N0YWcoKSB7Ci0JYXdrICIvXiR7MS8vXC8vXFwvfS8geyBwcmludCBcJDEgfSIgIiQyIgorIyBMaXN0cyBtYXRjaGluZyBzeW1ib2wgbmFtZXMgZnJvbSBhIHRhZyAoYXMgaW4gY3RhZ3MpIGZpbGUuCisjIDE6IExpc3Qgc3ltYm9sIG5hbWVzIG1hdGNoaW5nIHRoaXMgd29yZC4KKyMgMjogVGhlIHRhZyBmaWxlIHRvIGxpc3Qgc3ltYm9sIG5hbWVzIGZyb20uCisjIDM6IEEgcHJlZml4IHRvIGJlIGFkZGVkIHRvIGVhY2ggbGlzdGVkIHN5bWJvbCBuYW1lIChvcHRpb25hbCkuCisjIDQ6IEEgc3VmZml4IHRvIGJlIGFwcGVuZGVkIHRvIGVhY2ggbGlzdGVkIHN5bWJvbCBuYW1lIChvcHRpb25hbCkuCitfX2dpdF9tYXRjaF9jdGFnICgpIHsKKwlhd2sgLXYgcGZ4PSIkezMtfSIgLXYgc2Z4PSIkezQtfSIgIgorCQkvXiR7MS8vXC8vXFwvfS8geyBwcmludCBwZnggXCQxIHNmeCB9CisJCSIgIiQyIgorfQorCisjIENvbXBsZXRlIHN5bWJvbCBuYW1lcyBmcm9tIGEgdGFnIGZpbGUuCisjIFVzYWdlOiBfX2dpdF9jb21wbGV0ZV9zeW1ib2wgWzxvcHRpb24+XS4uLgorIyAtLXRhZ3M9PGZpbGU+OiBUaGUgdGFnIGZpbGUgdG8gbGlzdCBzeW1ib2wgbmFtZXMgZnJvbSBpbnN0ZWFkIG9mIHRoZQorIyAgICAgICAgICAgICAgICBkZWZhdWx0ICJ0YWdzIi4KKyMgLS1wZng9PHByZWZpeD46IEEgcHJlZml4IHRvIGJlIGFkZGVkIHRvIGVhY2ggc3ltYm9sIG5hbWUuCisjIC0tY3VyPTx3b3JkPjogVGhlIGN1cnJlbnQgc3ltYm9sIG5hbWUgdG8gYmUgY29tcGxldGVkLiAgRGVmYXVsdHMgdG8KKyMgICAgICAgICAgICAgICB0aGUgY3VycmVudCB3b3JkIHRvIGJlIGNvbXBsZXRlZC4KKyMgLS1zZng9PHN1ZmZpeD46IEEgc3VmZml4IHRvIGJlIGFwcGVuZGVkIHRvIGVhY2ggc3ltYm9sIG5hbWUgaW5zdGVhZAorIyAgICAgICAgICAgICAgICAgb2YgdGhlIGRlZmF1bHQgc3BhY2UuCitfX2dpdF9jb21wbGV0ZV9zeW1ib2wgKCkgeworCWxvY2FsIHRhZ3M9dGFncyBwZng9IiIgY3VyXz0iJHtjdXItfSIgc2Z4PSIgIgorCisJd2hpbGUgdGVzdCAkIyAhPSAwOyBkbworCQljYXNlICIkMSIgaW4KKwkJLS10YWdzPSopCXRhZ3M9IiR7MSMjLS10YWdzPX0iIDs7CisJCS0tcGZ4PSopCXBmeD0iJHsxIyMtLXBmeD19IiA7OworCQktLWN1cj0qKQljdXJfPSIkezEjIy0tY3VyPX0iIDs7CisJCS0tc2Z4PSopCXNmeD0iJHsxIyMtLXNmeD19IiA7OworCQkqKQkJcmV0dXJuIDEgOzsKKwkJZXNhYworCQlzaGlmdAorCWRvbmUKKworCWlmIHRlc3QgLXIgIiR0YWdzIjsgdGhlbgorCQlfX2dpdGNvbXBfZGlyZWN0ICIkKF9fZ2l0X21hdGNoX2N0YWcgIiRjdXJfIiAiJHRhZ3MiICIkcGZ4IiAiJHNmeCIpIgorCWZpCiB9CiAKIF9naXRfZ3JlcCAoKQpAQCAtMTM5MiwxNCArMTYwNiwxMSBAQAogCiAJY2FzZSAiJGN3b3JkLCRwcmV2IiBpbgogCTIsKnwqLC0qKQotCQlpZiB0ZXN0IC1yIHRhZ3M7IHRoZW4KLQkJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9tYXRjaF9jdGFnICIkY3VyIiB0YWdzKSIKLQkJCXJldHVybgotCQlmaQorCQlfX2dpdF9jb21wbGV0ZV9zeW1ib2wgJiYgcmV0dXJuCiAJCTs7CiAJZXNhYwogCi0JX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIH0KIAogX2dpdF9oZWxwICgpCkBAIC0xNTAwLDEyICsxNzExLDI1IEBACiBfZ2l0X2xvZyAoKQogewogCV9fZ2l0X2hhc19kb3VibGVkYXNoICYmIHJldHVybgorCV9fZ2l0X2ZpbmRfcmVwb19wYXRoCiAKLQlsb2NhbCBnPSIkKGdpdCByZXYtcGFyc2UgLS1naXQtZGlyIDI+L2Rldi9udWxsKSIKIAlsb2NhbCBtZXJnZT0iIgotCWlmIFsgLWYgIiRnL01FUkdFX0hFQUQiIF07IHRoZW4KKwlpZiBbIC1mICIkX19naXRfcmVwb19wYXRoL01FUkdFX0hFQUQiIF07IHRoZW4KIAkJbWVyZ2U9Ii0tbWVyZ2UiCiAJZmkKKwljYXNlICIkcHJldiwkY3VyIiBpbgorCS1MLDoqOiopCisJCXJldHVybgkjIGZhbGwgYmFjayB0byBCYXNoIGZpbGVuYW1lIGNvbXBsZXRpb24KKwkJOzsKKwktTCw6KikKKwkJX19naXRfY29tcGxldGVfc3ltYm9sIC0tY3VyPSIke2N1ciM6fSIgLS1zZng9IjoiCisJCXJldHVybgorCQk7OworCS1HLCp8LVMsKikKKwkJX19naXRfY29tcGxldGVfc3ltYm9sCisJCXJldHVybgorCQk7OworCWVzYWMKIAljYXNlICIkY3VyIiBpbgogCS0tcHJldHR5PSp8LS1mb3JtYXQ9KikKIAkJX19naXRjb21wICIkX19naXRfbG9nX3ByZXR0eV9mb3JtYXRzICQoX19naXRfcHJldHR5X2FsaWFzZXMpCkBAIC0xNTUxLDYgKzE3NzUsMjEgQEAKIAkJCSIKIAkJcmV0dXJuCiAJCTs7CisJLUw6KjoqKQorCQlyZXR1cm4JIyBmYWxsIGJhY2sgdG8gQmFzaCBmaWxlbmFtZSBjb21wbGV0aW9uCisJCTs7CisJLUw6KikKKwkJX19naXRfY29tcGxldGVfc3ltYm9sIC0tY3VyPSIke2N1ciMtTDp9IiAtLXNmeD0iOiIKKwkJcmV0dXJuCisJCTs7CisJLUcqKQorCQlfX2dpdF9jb21wbGV0ZV9zeW1ib2wgLS1wZng9Ii1HIiAtLWN1cj0iJHtjdXIjLUd9IgorCQlyZXR1cm4KKwkJOzsKKwktUyopCisJCV9fZ2l0X2NvbXBsZXRlX3N5bWJvbCAtLXBmeD0iLVMiIC0tY3VyPSIke2N1ciMtU30iCisJCXJldHVybgorCQk7OwogCWVzYWMKIAlfX2dpdF9jb21wbGV0ZV9yZXZsaXN0CiB9CkBAIC0xNTczLDcgKzE4MTIsNyBAQAogCQkJLS1yZXJlcmUtYXV0b3VwZGF0ZSAtLW5vLXJlcmVyZS1hdXRvdXBkYXRlIC0tYWJvcnQgLS1jb250aW51ZSIKIAkJcmV0dXJuCiAJZXNhYwotCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIKKwlfX2dpdF9jb21wbGV0ZV9yZWZzCiB9CiAKIF9naXRfbWVyZ2V0b29sICgpCkBAIC0xNTk4LDcgKzE4MzcsNyBAQAogCQlyZXR1cm4KIAkJOzsKIAllc2FjCi0JX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIH0KIAogX2dpdF9tdiAoKQpAQCAtMTYzNiw3ICsxODc1LDcgQEAKIAksKikKIAkJY2FzZSAiJHByZXYiIGluCiAJCS0tcmVmKQotCQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCQkJX19naXRfY29tcGxldGVfcmVmcwogCQkJOzsKIAkJKikKIAkJCV9fZ2l0Y29tcCAiJHN1YmNvbW1hbmRzIC0tcmVmIgpAQCAtMTY0NSw3ICsxODg0LDcgQEAKIAkJOzsKIAlhZGQsLS1yZXVzZS1tZXNzYWdlPSp8YXBwZW5kLC0tcmV1c2UtbWVzc2FnZT0qfFwKIAlhZGQsLS1yZWVkaXQtbWVzc2FnZT0qfGFwcGVuZCwtLXJlZWRpdC1tZXNzYWdlPSopCi0JCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIgIiIgIiR7Y3VyIyo9fSIKKwkJX19naXRfY29tcGxldGVfcmVmcyAtLWN1cj0iJHtjdXIjKj19IgogCQk7OwogCWFkZCwtLSp8YXBwZW5kLC0tKikKIAkJX19naXRjb21wICctLWZpbGU9IC0tbWVzc2FnZT0gLS1yZWVkaXQtbWVzc2FnZT0KQEAgLTE2NjQsNyArMTkwMyw3IEBACiAJCS1tfC1GKQogCQkJOzsKIAkJKikKLQkJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIKKwkJCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIAkJCTs7CiAJCWVzYWMKIAkJOzsKQEAgLTE3MDIsMTAgKzE5NDEsMTAgQEAKIAktLSo9KQogCQk7OwogCSo6KikKLQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIiAiIiAiJHtjdXJfIyo6fSIKKwkJX19naXRfY29tcGxldGVfcmVmcyAtLWN1cj0iJHtjdXJfIyo6fSIKIAkJOzsKIAkqKQotCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVmcykiICIiICIkY3VyXyIKKwkJX19naXRfY29tcGxldGVfcmVmcyAtLWN1cj0iJGN1cl8iCiAJCTs7CiAJZXNhYwogfQpAQCAtMTc1MCwxMSArMTk4OSwxMiBAQAogCiBfZ2l0X3JlYmFzZSAoKQogewotCWxvY2FsIGRpcj0iJChfX2dpdGRpcikiCi0JaWYgWyAtZiAiJGRpciIvcmViYXNlLW1lcmdlL2ludGVyYWN0aXZlIF07IHRoZW4KKwlfX2dpdF9maW5kX3JlcG9fcGF0aAorCWlmIFsgLWYgIiRfX2dpdF9yZXBvX3BhdGgiL3JlYmFzZS1tZXJnZS9pbnRlcmFjdGl2ZSBdOyB0aGVuCiAJCV9fZ2l0Y29tcCAiLS1jb250aW51ZSAtLXNraXAgLS1hYm9ydCAtLXF1aXQgLS1lZGl0LXRvZG8iCiAJCXJldHVybgotCWVsaWYgWyAtZCAiJGRpciIvcmViYXNlLWFwcGx5IF0gfHwgWyAtZCAiJGRpciIvcmViYXNlLW1lcmdlIF07IHRoZW4KKwllbGlmIFsgLWQgIiRfX2dpdF9yZXBvX3BhdGgiL3JlYmFzZS1hcHBseSBdIHx8IFwKKwkgICAgIFsgLWQgIiRfX2dpdF9yZXBvX3BhdGgiL3JlYmFzZS1tZXJnZSBdOyB0aGVuCiAJCV9fZ2l0Y29tcCAiLS1jb250aW51ZSAtLXNraXAgLS1hYm9ydCAtLXF1aXQiCiAJCXJldHVybgogCWZpCkBAIC0xNzgwLDcgKzIwMjAsNyBAQAogCiAJCXJldHVybgogCWVzYWMKLQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVmcykiCisJX19naXRfY29tcGxldGVfcmVmcwogfQogCiBfZ2l0X3JlZmxvZyAoKQpAQCAtMTc5MSw3ICsyMDMxLDcgQEAKIAlpZiBbIC16ICIkc3ViY29tbWFuZCIgXTsgdGhlbgogCQlfX2dpdGNvbXAgIiRzdWJjb21tYW5kcyIKIAllbHNlCi0JCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIKKwkJX19naXRfY29tcGxldGVfcmVmcwogCWZpCiB9CiAKQEAgLTE4MDIsOSArMjA0Miw3IEBACiB7CiAJY2FzZSAiJHByZXYiIGluCiAJLS10b3wtLWNjfC0tYmNjfC0tZnJvbSkKLQkJX19naXRjb21wICIKLQkJJChnaXQgLS1naXQtZGlyPSIkKF9fZ2l0ZGlyKSIgc2VuZC1lbWFpbCAtLWR1bXAtYWxpYXNlcyAyPi9kZXYvbnVsbCkKLQkJIgorCQlfX2dpdGNvbXAgIiQoX19naXQgc2VuZC1lbWFpbCAtLWR1bXAtYWxpYXNlcykiCiAJCXJldHVybgogCQk7OwogCWVzYWMKQEAgLTE4MzQsOSArMjA3Miw3IEBACiAJCXJldHVybgogCQk7OwogCS0tdG89KnwtLWNjPSp8LS1iY2M9KnwtLWZyb209KikKLQkJX19naXRjb21wICIKLQkJJChnaXQgLS1naXQtZGlyPSIkKF9fZ2l0ZGlyKSIgc2VuZC1lbWFpbCAtLWR1bXAtYWxpYXNlcyAyPi9kZXYvbnVsbCkKLQkJIiAiIiAiJHtjdXIjLS0qPX0iCisJCV9fZ2l0Y29tcCAiJChfX2dpdCBzZW5kLWVtYWlsIC0tZHVtcC1hbGlhc2VzKSIgIiIgIiR7Y3VyIy0tKj19IgogCQlyZXR1cm4KIAkJOzsKIAktLSopCkBAIC0xOTMwLDcgKzIxNjYsNyBAQAogCQljPSQoKC0tYykpCiAJZG9uZQogCi0JZ2l0IC0tZ2l0LWRpcj0iJChfX2dpdGRpcikiIGNvbmZpZyAkY29uZmlnX2ZpbGUgLS1uYW1lLW9ubHkgLS1saXN0IDI+L2Rldi9udWxsCisJX19naXQgY29uZmlnICRjb25maWdfZmlsZSAtLW5hbWUtb25seSAtLWxpc3QKIH0KIAogX2dpdF9jb25maWcgKCkKQEAgLTE5NDEsNyArMjE3Nyw3IEBACiAJCXJldHVybgogCQk7OwogCWJyYW5jaC4qLm1lcmdlKQotCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVmcykiCisJCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIAkJcmV0dXJuCiAJCTs7CiAJYnJhbmNoLioucmViYXNlKQpAQCAtMTk2NSw5ICsyMjAxLDggQEAKIAlyZW1vdGUuKi5wdXNoKQogCQlsb2NhbCByZW1vdGU9IiR7cHJldiNyZW1vdGUufSIKIAkJcmVtb3RlPSIke3JlbW90ZSUucHVzaH0iCi0JCV9fZ2l0Y29tcF9ubCAiJChnaXQgLS1naXQtZGlyPSIkKF9fZ2l0ZGlyKSIgXAotCQkJZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSclKHJlZm5hbWUpOiUocmVmbmFtZSknIFwKLQkJCXJlZnMvaGVhZHMpIgorCQlfX2dpdGNvbXBfbmwgIiQoX19naXQgZm9yLWVhY2gtcmVmIFwKKwkJCS0tZm9ybWF0PSclKHJlZm5hbWUpOiUocmVmbmFtZSknIHJlZnMvaGVhZHMpIgogCQlyZXR1cm4KIAkJOzsKIAlwdWxsLnR3b2hlYWR8cHVsbC5vY3RvcHVzKQpAQCAtMjA0Niw3ICsyMjgxLDcgQEAKIAkJOzsKIAlicmFuY2guKikKIAkJbG9jYWwgcGZ4PSIke2N1ciUuKn0uIiBjdXJfPSIke2N1ciMqLn0iCi0JCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9oZWFkcykiICIkcGZ4IiAiJGN1cl8iICIuIgorCQlfX2dpdGNvbXBfZGlyZWN0ICIkKF9fZ2l0X2hlYWRzICIkcGZ4IiAiJGN1cl8iICIuIikiCiAJCV9fZ2l0Y29tcF9ubF9hcHBlbmQgJCdhdXRvc2V0dXBtZXJnZVxuYXV0b3NldHVwcmViYXNlXG4nICIkcGZ4IiAiJGN1cl8iCiAJCXJldHVybgogCQk7OwpAQCAtMjEwMSwxNCArMjMzNiwyMyBAQAogCWVzYWMKIAlfX2dpdGNvbXAgIgogCQlhZGQuaWdub3JlRXJyb3JzCisJCWFkdmljZS5hbVdvcmtEaXIKIAkJYWR2aWNlLmNvbW1pdEJlZm9yZU1lcmdlCiAJCWFkdmljZS5kZXRhY2hlZEhlYWQKIAkJYWR2aWNlLmltcGxpY2l0SWRlbnRpdHkKLQkJYWR2aWNlLnB1c2hOb25GYXN0Rm9yd2FyZAorCQlhZHZpY2UucHVzaEFscmVhZHlFeGlzdHMKKwkJYWR2aWNlLnB1c2hGZXRjaEZpcnN0CisJCWFkdmljZS5wdXNoTmVlZHNGb3JjZQorCQlhZHZpY2UucHVzaE5vbkZGQ3VycmVudAorCQlhZHZpY2UucHVzaE5vbkZGTWF0Y2hpbmcKKwkJYWR2aWNlLnB1c2hVcGRhdGVSZWplY3RlZAogCQlhZHZpY2UucmVzb2x2ZUNvbmZsaWN0CisJCWFkdmljZS5ybUhpbnRzCiAJCWFkdmljZS5zdGF0dXNIaW50cworCQlhZHZpY2Uuc3RhdHVzVW9wdGlvbgogCQlhbGlhcy4KIAkJYW0ua2VlcGNyCisJCWFtLnRocmVlV2F5CiAJCWFwcGx5Lmlnbm9yZXdoaXRlc3BhY2UKIAkJYXBwbHkud2hpdGVzcGFjZQogCQlicmFuY2guYXV0b3NldHVwbWVyZ2UKQEAgLTIxNTMsMTkgKzIzOTcsMjYgQEAKIAkJY29sb3Iuc3RhdHVzLmFkZGVkCiAJCWNvbG9yLnN0YXR1cy5jaGFuZ2VkCiAJCWNvbG9yLnN0YXR1cy5oZWFkZXIKKwkJY29sb3Iuc3RhdHVzLmxvY2FsQnJhbmNoCiAJCWNvbG9yLnN0YXR1cy5ub2JyYW5jaAorCQljb2xvci5zdGF0dXMucmVtb3RlQnJhbmNoCiAJCWNvbG9yLnN0YXR1cy51bm1lcmdlZAogCQljb2xvci5zdGF0dXMudW50cmFja2VkCiAJCWNvbG9yLnN0YXR1cy51cGRhdGVkCiAJCWNvbG9yLnVpCisJCWNvbW1pdC5jbGVhbnVwCisJCWNvbW1pdC5ncGdTaWduCiAJCWNvbW1pdC5zdGF0dXMKIAkJY29tbWl0LnRlbXBsYXRlCisJCWNvbW1pdC52ZXJib3NlCiAJCWNvcmUuYWJicmV2CiAJCWNvcmUuYXNrcGFzcwogCQljb3JlLmF0dHJpYnV0ZXNmaWxlCiAJCWNvcmUuYXV0b2NybGYKIAkJY29yZS5iYXJlCiAJCWNvcmUuYmlnRmlsZVRocmVzaG9sZAorCQljb3JlLmNoZWNrU3RhdAorCQljb3JlLmNvbW1lbnRDaGFyCiAJCWNvcmUuY29tcHJlc3Npb24KIAkJY29yZS5jcmVhdGVPYmplY3QKIAkJY29yZS5kZWx0YUJhc2VDYWNoZUxpbWl0CkBAIC0yMTc1LDYgKzI0MjYsOCBAQAogCQljb3JlLmZpbGVNb2RlCiAJCWNvcmUuZnN5bmNvYmplY3RmaWxlcwogCQljb3JlLmdpdFByb3h5CisJCWNvcmUuaGlkZURvdEZpbGVzCisJCWNvcmUuaG9va3NQYXRoCiAJCWNvcmUuaWdub3JlU3RhdAogCQljb3JlLmlnbm9yZWNhc2UKIAkJY29yZS5sb2dBbGxSZWZVcGRhdGVzCkBAIC0yMTgyLDIwICsyNDM1LDMwIEBACiAJCWNvcmUubm90ZXNSZWYKIAkJY29yZS5wYWNrZWRHaXRMaW1pdAogCQljb3JlLnBhY2tlZEdpdFdpbmRvd1NpemUKKwkJY29yZS5wYWNrZWRSZWZzVGltZW91dAogCQljb3JlLnBhZ2VyCisJCWNvcmUucHJlY29tcG9zZVVuaWNvZGUKIAkJY29yZS5wcmVmZXJTeW1saW5rUmVmcwogCQljb3JlLnByZWxvYWRpbmRleAorCQljb3JlLnByb3RlY3RIRlMKKwkJY29yZS5wcm90ZWN0TlRGUwogCQljb3JlLnF1b3RlcGF0aAogCQljb3JlLnJlcG9zaXRvcnlGb3JtYXRWZXJzaW9uCiAJCWNvcmUuc2FmZWNybGYKIAkJY29yZS5zaGFyZWRSZXBvc2l0b3J5CiAJCWNvcmUuc3BhcnNlQ2hlY2tvdXQKKwkJY29yZS5zcGxpdEluZGV4CisJCWNvcmUuc3NoQ29tbWFuZAogCQljb3JlLnN5bWxpbmtzCiAJCWNvcmUudHJ1c3RjdGltZQogCQljb3JlLnVudHJhY2tlZENhY2hlCiAJCWNvcmUud2FybkFtYmlndW91c1JlZnMKIAkJY29yZS53aGl0ZXNwYWNlCiAJCWNvcmUud29ya3RyZWUKKwkJY3JlZGVudGlhbC5oZWxwZXIKKwkJY3JlZGVudGlhbC51c2VIdHRwUGF0aAorCQljcmVkZW50aWFsLnVzZXJuYW1lCisJCWNyZWRlbnRpYWxDYWNoZS5pZ25vcmVTSUdIVVAKIAkJZGlmZi5hdXRvcmVmcmVzaGluZGV4CiAJCWRpZmYuZXh0ZXJuYWwKIAkJZGlmZi5pZ25vcmVTdWJtb2R1bGVzCkBAIC0yMjI3LDE1ICsyNDkwLDE5IEBACiAJCWZvcm1hdC50aHJlYWQKIAkJZm9ybWF0LnRvCiAJCWdjLgorCQlnYy5hZ2dyZXNzaXZlRGVwdGgKIAkJZ2MuYWdncmVzc2l2ZVdpbmRvdwogCQlnYy5hdXRvCisJCWdjLmF1dG9EZXRhY2gKIAkJZ2MuYXV0b3BhY2tsaW1pdAorCQlnYy5sb2dFeHBpcnkKIAkJZ2MucGFja3JlZnMKIAkJZ2MucHJ1bmVleHBpcmUKIAkJZ2MucmVmbG9nZXhwaXJlCiAJCWdjLnJlZmxvZ2V4cGlyZXVucmVhY2hhYmxlCiAJCWdjLnJlcmVyZXJlc29sdmVkCiAJCWdjLnJlcmVyZXVucmVzb2x2ZWQKKwkJZ2Mud29ya3RyZWVQcnVuZUV4cGlyZQogCQlnaXRjdnMuYWxsYmluYXJ5CiAJCWdpdGN2cy5jb21taXRtc2dhbm5vdGF0aW9uCiAJCWdpdGN2cy5kYlRhYmxlTmFtZVByZWZpeApAQCAtMjM3NCw2ICsyNjQxLDggQEAKIAkJc2VuZGVtYWlsLnRocmVhZAogCQlzZW5kZW1haWwudG8KIAkJc2VuZGVtYWlsLnZhbGlkYXRlCisJCXNlbmRlbWFpbC5zbXRwYmF0Y2hzaXplCisJCXNlbmRlbWFpbC5zbXRwcmVsb2dpbmRlbGF5CiAJCXNob3dicmFuY2guZGVmYXVsdAogCQlzdGF0dXMucmVsYXRpdmVQYXRocwogCQlzdGF0dXMuc2hvd1VudHJhY2tlZEZpbGVzCkBAIC0yNDUzLDcgKzI3MjIsNyBAQAogCQlyZXR1cm4KIAkJOzsKIAllc2FjCi0JX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIgorCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIH0KIAogX2dpdF9yZXJlcmUgKCkKQEAgLTI0NzcsMTMgKzI3NDYsMTMgQEAKIAkJcmV0dXJuCiAJCTs7CiAJZXNhYwotCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzKSIKKwlfX2dpdF9jb21wbGV0ZV9yZWZzCiB9CiAKIF9naXRfcmV2ZXJ0ICgpCiB7Ci0JbG9jYWwgZGlyPSIkKF9fZ2l0ZGlyKSIKLQlpZiBbIC1mICIkZGlyIi9SRVZFUlRfSEVBRCBdOyB0aGVuCisJX19naXRfZmluZF9yZXBvX3BhdGgKKwlpZiBbIC1mICIkX19naXRfcmVwb19wYXRoIi9SRVZFUlRfSEVBRCBdOyB0aGVuCiAJCV9fZ2l0Y29tcCAiLS1jb250aW51ZSAtLXF1aXQgLS1hYm9ydCIKIAkJcmV0dXJuCiAJZmkKQEAgLTI0OTYsNyArMjc2NSw3IEBACiAJCXJldHVybgogCQk7OwogCWVzYWMKLQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVmcykiCisJX19naXRfY29tcGxldGVfcmVmcwogfQogCiBfZ2l0X3JtICgpCkBAIC0yNTc2LDcgKzI4NDUsNyBAQAogX2dpdF9zdGFzaCAoKQogewogCWxvY2FsIHNhdmVfb3B0cz0nLS1hbGwgLS1rZWVwLWluZGV4IC0tbm8ta2VlcC1pbmRleCAtLXF1aWV0IC0tcGF0Y2ggLS1pbmNsdWRlLXVudHJhY2tlZCcKLQlsb2NhbCBzdWJjb21tYW5kcz0nc2F2ZSBsaXN0IHNob3cgYXBwbHkgY2xlYXIgZHJvcCBwb3AgY3JlYXRlIGJyYW5jaCcKKwlsb2NhbCBzdWJjb21tYW5kcz0ncHVzaCBzYXZlIGxpc3Qgc2hvdyBhcHBseSBjbGVhciBkcm9wIHBvcCBjcmVhdGUgYnJhbmNoJwogCWxvY2FsIHN1YmNvbW1hbmQ9IiQoX19naXRfZmluZF9vbl9jbWRsaW5lICIkc3ViY29tbWFuZHMiKSIKIAlpZiBbIC16ICIkc3ViY29tbWFuZCIgXTsgdGhlbgogCQljYXNlICIkY3VyIiBpbgpAQCAtMjU5MSw2ICsyODYwLDkgQEAKIAkJZXNhYwogCWVsc2UKIAkJY2FzZSAiJHN1YmNvbW1hbmQsJGN1ciIgaW4KKwkJcHVzaCwtLSopCisJCQlfX2dpdGNvbXAgIiRzYXZlX29wdHMgLS1tZXNzYWdlIgorCQkJOzsKIAkJc2F2ZSwtLSopCiAJCQlfX2dpdGNvbXAgIiRzYXZlX29wdHMiCiAJCQk7OwpAQCAtMjYwNCwxNCArMjg3NiwxNCBAQAogCQkJOzsKIAkJYnJhbmNoLCopCiAJCQlpZiBbICRjd29yZCAtZXEgMyBdOyB0aGVuCi0JCQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnMpIjsKKwkJCQlfX2dpdF9jb21wbGV0ZV9yZWZzCiAJCQllbHNlCi0JCQkJX19naXRjb21wX25sICIkKGdpdCAtLWdpdC1kaXI9IiQoX19naXRkaXIpIiBzdGFzaCBsaXN0IFwKKwkJCQlfX2dpdGNvbXBfbmwgIiQoX19naXQgc3Rhc2ggbGlzdCBcCiAJCQkJCQl8IHNlZCAtbiAtZSAncy86LiovL3AnKSIKIAkJCWZpCiAJCQk7OwogCQlzaG93LCp8YXBwbHksKnxkcm9wLCp8cG9wLCopCi0JCQlfX2dpdGNvbXBfbmwgIiQoZ2l0IC0tZ2l0LWRpcj0iJChfX2dpdGRpcikiIHN0YXNoIGxpc3QgXAorCQkJX19naXRjb21wX25sICIkKF9fZ2l0IHN0YXNoIGxpc3QgXAogCQkJCQl8IHNlZCAtbiAtZSAncy86LiovL3AnKSIKIAkJCTs7CiAJCSopCkBAIC0yNzcxLDcgKzMwNDMsNyBAQAogCQlpPSIke3dvcmRzW2NdfSIKIAkJY2FzZSAiJGkiIGluCiAJCS1kfC12KQotCQkJX19naXRjb21wX25sICIkKF9fZ2l0X3RhZ3MpIgorCQkJX19naXRjb21wX2RpcmVjdCAiJChfX2dpdF90YWdzICIiICIkY3VyIiAiICIpIgogCQkJcmV0dXJuCiAJCQk7OwogCQktZikKQEAgLTI3ODYsMTEgKzMwNTgsMTEgQEAKIAkJOzsKIAktKnx0YWcpCiAJCWlmIFsgJGYgPSAxIF07IHRoZW4KLQkJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF90YWdzKSIKKwkJCV9fZ2l0Y29tcF9kaXJlY3QgIiQoX19naXRfdGFncyAiIiAiJGN1ciIgIiAiKSIKIAkJZmkKIAkJOzsKIAkqKQotCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVmcykiCisJCV9fZ2l0X2NvbXBsZXRlX3JlZnMKIAkJOzsKIAllc2FjCiAKQEAgLTI3OTksNyArMzA3MSw3IEBACiAJCV9fZ2l0Y29tcCAiCiAJCQktLWxpc3QgLS1kZWxldGUgLS12ZXJpZnkgLS1hbm5vdGF0ZSAtLW1lc3NhZ2UgLS1maWxlCiAJCQktLXNpZ24gLS1jbGVhbnVwIC0tbG9jYWwtdXNlciAtLWZvcmNlIC0tY29sdW1uIC0tc29ydD0KLQkJCS0tY29udGFpbnMgLS1wb2ludHMtYXQgLS1tZXJnZWQgLS1uby1tZXJnZWQgLS1jcmVhdGUtcmVmbG9nCisJCQktLWNvbnRhaW5zIC0tbm8tY29udGFpbnMgLS1wb2ludHMtYXQgLS1tZXJnZWQgLS1uby1tZXJnZWQgLS1jcmVhdGUtcmVmbG9nCiAJCQkiCiAJCTs7CiAJZXNhYwpAQCAtMjgzOCw3ICszMTEwLDggQEAKIAogX19naXRfbWFpbiAoKQogewotCWxvY2FsIGkgYz0xIGNvbW1hbmQgX19naXRfZGlyCisJbG9jYWwgaSBjPTEgY29tbWFuZCBfX2dpdF9kaXIgX19naXRfcmVwb19wYXRoCisJbG9jYWwgX19naXRfQ19hcmdzIENfYXJnc19jb3VudD0wCiAKIAl3aGlsZSBbICRjIC1sdCAkY3dvcmQgXTsgZG8KIAkJaT0iJHt3b3Jkc1tjXX0iCkBAIC0yODQ4LDYgKzMxMjEsMTAgQEAKIAkJLS1iYXJlKSAgICAgIF9fZ2l0X2Rpcj0iLiIgOzsKIAkJLS1oZWxwKSBjb21tYW5kPSJoZWxwIjsgYnJlYWsgOzsKIAkJLWN8LS13b3JrLXRyZWV8LS1uYW1lc3BhY2UpICgoYysrKSkgOzsKKwkJLUMpCV9fZ2l0X0NfYXJnc1tDX2FyZ3NfY291bnQrK109LUMKKwkJCSgoYysrKSkKKwkJCV9fZ2l0X0NfYXJnc1tDX2FyZ3NfY291bnQrK109IiR7d29yZHNbY119IgorCQkJOzsKIAkJLSopIDs7CiAJCSopIGNvbW1hbmQ9IiRpIjsgYnJlYWsgOzsKIAkJZXNhYwpAQCAtMjg1NSw2ICszMTMyLDE3IEBACiAJZG9uZQogCiAJaWYgWyAteiAiJGNvbW1hbmQiIF07IHRoZW4KKwkJY2FzZSAiJHByZXYiIGluCisJCS0tZ2l0LWRpcnwtQ3wtLXdvcmstdHJlZSkKKwkJCSMgdGhlc2UgbmVlZCBhIHBhdGggYXJndW1lbnQsIGxldCdzIGZhbGwgYmFjayB0bworCQkJIyBCYXNoIGZpbGVuYW1lIGNvbXBsZXRpb24KKwkJCXJldHVybgorCQkJOzsKKwkJLWN8LS1uYW1lc3BhY2UpCisJCQkjIHdlIGRvbid0IHN1cHBvcnQgY29tcGxldGluZyB0aGVzZSBvcHRpb25zJyBhcmd1bWVudHMKKwkJCXJldHVybgorCQkJOzsKKwkJZXNhYwogCQljYXNlICIkY3VyIiBpbgogCQktLSopICAgX19naXRjb21wICIKIAkJCS0tcGFnaW5hdGUKQEAgLTI4ODAsMTMgKzMxNjgsMTMgQEAKIAlmaQogCiAJbG9jYWwgY29tcGxldGlvbl9mdW5jPSJfZ2l0XyR7Y29tbWFuZC8vLS9ffSIKLQlkZWNsYXJlIC1mICRjb21wbGV0aW9uX2Z1bmMgPi9kZXYvbnVsbCAmJiAkY29tcGxldGlvbl9mdW5jICYmIHJldHVybgorCWRlY2xhcmUgLWYgJGNvbXBsZXRpb25fZnVuYyA+L2Rldi9udWxsIDI+L2Rldi9udWxsICYmICRjb21wbGV0aW9uX2Z1bmMgJiYgcmV0dXJuCiAKIAlsb2NhbCBleHBhbnNpb249JChfX2dpdF9hbGlhc2VkX2NvbW1hbmQgIiRjb21tYW5kIikKIAlpZiBbIC1uICIkZXhwYW5zaW9uIiBdOyB0aGVuCiAJCXdvcmRzWzFdPSRleHBhbnNpb24KIAkJY29tcGxldGlvbl9mdW5jPSJfZ2l0XyR7ZXhwYW5zaW9uLy8tL199IgotCQlkZWNsYXJlIC1mICRjb21wbGV0aW9uX2Z1bmMgPi9kZXYvbnVsbCAmJiAkY29tcGxldGlvbl9mdW5jCisJCWRlY2xhcmUgLWYgJGNvbXBsZXRpb25fZnVuYyA+L2Rldi9udWxsIDI+L2Rldi9udWxsICYmICRjb21wbGV0aW9uX2Z1bmMKIAlmaQogfQogCkBAIC0yODk0LDkgKzMxODIsMTEgQEAKIHsKIAlfX2dpdF9oYXNfZG91YmxlZGFzaCAmJiByZXR1cm4KIAotCWxvY2FsIGc9IiQoX19naXRkaXIpIgorCWxvY2FsIF9fZ2l0X3JlcG9fcGF0aAorCV9fZ2l0X2ZpbmRfcmVwb19wYXRoCisKIAlsb2NhbCBtZXJnZT0iIgotCWlmIFsgLWYgIiRnL01FUkdFX0hFQUQiIF07IHRoZW4KKwlpZiBbIC1mICIkX19naXRfcmVwb19wYXRoL01FUkdFX0hFQUQiIF07IHRoZW4KIAkJbWVyZ2U9Ii0tbWVyZ2UiCiAJZmkKIAljYXNlICIkY3VyIiBpbgpAQCAtMjk0Myw2ICszMjMzLDE1IEBACiAJCWVzYWMKIAl9CiAKKwlfX2dpdGNvbXBfZGlyZWN0ICgpCisJeworCQllbXVsYXRlIC1MIHpzaAorCisJCWxvY2FsIElGUz0kJ1xuJworCQljb21wc2V0IC1QICcqWz06XScKKwkJY29tcGFkZCAtUSAtLSAkez0xfSAmJiBfcmV0PTAKKwl9CisKIAlfX2dpdGNvbXBfbmwgKCkKIAl7CiAJCWVtdWxhdGUgLUwgenNoCmRpZmYgLS1naXQgYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uenNoIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1jb21wbGV0aW9uLnpzaAppbmRleCBlMjU1NDEzLi5jMzUyMWZiIDEwMDY0NAotLS0gYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uenNoCisrKyBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi56c2gKQEAgLTY3LDYgKzY3LDE1IEBACiAJZXNhYwogfQogCitfX2dpdGNvbXBfZGlyZWN0ICgpCit7CisJZW11bGF0ZSAtTCB6c2gKKworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBzZXQgLVAgJypbPTpdJworCWNvbXBhZGQgLVEgLS0gJHs9MX0gJiYgX3JldD0wCit9CisKIF9fZ2l0Y29tcF9ubCAoKQogewogCWVtdWxhdGUgLUwgenNoCmRpZmYgLS1naXQgYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LXByb21wdC5zaCBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtcHJvbXB0LnNoCmluZGV4IDk3ZWFjZDcuLmM2Y2JlZjMgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtcHJvbXB0LnNoCisrKyBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtcHJvbXB0LnNoCkBAIC04Miw2ICs4Miw3IEBACiAjICAgICBjb250YWlucyAgICAgIHJlbGF0aXZlIHRvIG5ld2VyIGFubm90YXRlZCB0YWcgKHYxLjYuMy4yfjM1KQogIyAgICAgYnJhbmNoICAgICAgICByZWxhdGl2ZSB0byBuZXdlciB0YWcgb3IgYnJhbmNoIChtYXN0ZXJ+NCkKICMgICAgIGRlc2NyaWJlICAgICAgcmVsYXRpdmUgdG8gb2xkZXIgYW5ub3RhdGVkIHRhZyAodjEuNi4zLjEtMTMtZ2RkNDJjMmYpCisjICAgICB0YWcgICAgICAgICAgIHJlbGF0aXZlIHRvIGFueSBvbGRlciB0YWcgKHYxLjYuMy4xLTEzLWdkZDQyYzJmKQogIyAgICAgZGVmYXVsdCAgICAgICBleGFjdGx5IG1hdGNoaW5nIHRhZwogIwogIyBJZiB5b3Ugd291bGQgbGlrZSBhIGNvbG9yZWQgaGludCBhYm91dCB0aGUgY3VycmVudCBkaXJ0eSBzdGF0ZSwgc2V0CkBAIC00NDMsNiArNDQ0LDggQEAKIAkJCQkJZ2l0IGRlc2NyaWJlIC0tY29udGFpbnMgSEVBRCA7OwogCQkJCShicmFuY2gpCiAJCQkJCWdpdCBkZXNjcmliZSAtLWNvbnRhaW5zIC0tYWxsIEhFQUQgOzsKKwkJCQkodGFnKQorCQkJCQlnaXQgZGVzY3JpYmUgLS10YWdzIEhFQUQgOzsKIAkJCQkoZGVzY3JpYmUpCiAJCQkJCWdpdCBkZXNjcmliZSBIRUFEIDs7CiAJCQkJKCogfCBkZWZhdWx0KQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jb250YWN0cy9naXQtY29udGFjdHMgYi9jb250cmliL2NvbnRhY3RzL2dpdC1jb250YWN0cwppbmRleCBkYmUyYWJmLi44NWFkNzMyIDEwMDc1NQotLS0gYS9jb250cmliL2NvbnRhY3RzL2dpdC1jb250YWN0cworKysgYi9jb250cmliL2NvbnRhY3RzL2dpdC1jb250YWN0cwpAQCAtMTEsNyArMTEsNyBAQAogCiBteSAkc2luY2UgPSAnNS15ZWFycy1hZ28nOwogbXkgJG1pbl9wZXJjZW50ID0gMTA7Ci1teSAkbGFiZWxzX3J4ID0gcXIvU2lnbmVkLW9mZi1ieXxSZXZpZXdlZC1ieXxBY2tlZC1ieXxDYy9pOworbXkgJGxhYmVsc19yeCA9IHFyL1NpZ25lZC1vZmYtYnl8UmV2aWV3ZWQtYnl8QWNrZWQtYnl8Q2N8UmVwb3J0ZWQtYnkvaTsKIG15ICVzZWVuOwogCiBzdWIgZm9ybWF0X2NvbnRhY3QgewpkaWZmIC0tZ2l0IGEvY29udHJpYi9kaWZmLWhpZ2hsaWdodC8uZ2l0aWdub3JlIGIvY29udHJpYi9kaWZmLWhpZ2hsaWdodC8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwNzQ1NDgKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0Ly5naXRpZ25vcmUKQEAgLTAsMCArMSwyIEBACitzaGViYW5nLnBlcmwKK2RpZmYtaGlnaGxpZ2h0CmRpZmYgLS1naXQgYS9jb250cmliL2RpZmYtaGlnaGxpZ2h0L2RpZmYtaGlnaGxpZ2h0IGIvY29udHJpYi9kaWZmLWhpZ2hsaWdodC9EaWZmSGlnaGxpZ2h0LnBtCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKc2ltaWxhcml0eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gY29udHJpYi9kaWZmLWhpZ2hsaWdodC9kaWZmLWhpZ2hsaWdodApyZW5hbWUgdG8gY29udHJpYi9kaWZmLWhpZ2hsaWdodC9EaWZmSGlnaGxpZ2h0LnBtCmluZGV4IDgxYmQ4MDQuLjY2Mzk5MmUKLS0tIGEvY29udHJpYi9kaWZmLWhpZ2hsaWdodC9kaWZmLWhpZ2hsaWdodAorKysgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0L0RpZmZIaWdobGlnaHQucG0KQEAgLTEsNCArMSw0IEBACi0jIS91c3IvYmluL3BlcmwKK3BhY2thZ2UgRGlmZkhpZ2hsaWdodDsKIAogdXNlIDUuMDA4OwogdXNlIHdhcm5pbmdzIEZBVEFMID0+ICdhbGwnOwpAQCAtMjksMTMgKzI5LDE0IEBACiBteSBAYWRkZWQ7CiBteSAkaW5faHVuazsKIAotIyBTb21lIHNjcmlwdHMgbWF5IG5vdCByZWFsaXplIHRoYXQgU0lHUElQRSBpcyBiZWluZyBpZ25vcmVkIHdoZW4gbGF1bmNoaW5nIHRoZQotIyBwYWdlci0tZm9yIGluc3RhbmNlIHNjcmlwdHMgd3JpdHRlbiBpbiBQeXRob24uCi0kU0lHe1BJUEV9ID0gJ0RFRkFVTFQnOworb3VyICRsaW5lX2NiID0gc3ViIHsgcHJpbnQgQF8gfTsKK291ciAkZmx1c2hfY2IgPSBzdWIgeyBsb2NhbCAkfCA9IDEgfTsKIAotd2hpbGUgKDw+KSB7CitzdWIgaGFuZGxlX2xpbmUgeworCWxvY2FsICRfID0gc2hpZnQ7CisKIAlpZiAoISRpbl9odW5rKSB7Ci0JCXByaW50OworCQkkbGluZV9jYi0+KCRfKTsKIAkJJGluX2h1bmsgPSAvXiRHUkFQSCokQ09MT1IqXEBcQCAvOwogCX0KIAllbHNpZiAoL14kR1JBUEgqJENPTE9SKi0vKSB7CkBAIC00OSw3ICs1MCw3IEBACiAJCUByZW1vdmVkID0gKCk7CiAJCUBhZGRlZCA9ICgpOwogCi0JCXByaW50OworCQkkbGluZV9jYi0+KCRfKTsKIAkJJGluX2h1bmsgPSAvXiRHUkFQSCokQ09MT1IqW1xAIF0vOwogCX0KIApAQCAtNjIsMTUgKzYzLDIyIEBACiAJIyBwbGFjZSB0byBmbHVzaC4gRmx1c2hpbmcgb24gYSBibGFuayBsaW5lIGlzIGEgaGV1cmlzdGljIHRoYXQKIAkjIGhhcHBlbnMgdG8gbWF0Y2ggZ2l0LWxvZyBvdXRwdXQuCiAJaWYgKCFsZW5ndGgpIHsKLQkJbG9jYWwgJHwgPSAxOworCQkkZmx1c2hfY2ItPigpOwogCX0KIH0KIAotIyBGbHVzaCBhbnkgcXVldWVkIGh1bmsgKHRoaXMgY2FuIGhhcHBlbiB3aGVuIHRoZXJlIGlzIG5vIHRyYWlsaW5nIGNvbnRleHQgaW4KLSMgdGhlIGZpbmFsIGRpZmYgb2YgdGhlIGlucHV0KS4KLXNob3dfaHVuayhcQHJlbW92ZWQsIFxAYWRkZWQpOworc3ViIGZsdXNoIHsKKwkjIEZsdXNoIGFueSBxdWV1ZWQgaHVuayAodGhpcyBjYW4gaGFwcGVuIHdoZW4gdGhlcmUgaXMgbm8gdHJhaWxpbmcKKwkjIGNvbnRleHQgaW4gdGhlIGZpbmFsIGRpZmYgb2YgdGhlIGlucHV0KS4KKwlzaG93X2h1bmsoXEByZW1vdmVkLCBcQGFkZGVkKTsKK30KIAotZXhpdCAwOworc3ViIGhpZ2hsaWdodF9zdGRpbiB7CisJd2hpbGUgKDxTVERJTj4pIHsKKwkJaGFuZGxlX2xpbmUoJF8pOworCX0KKwlmbHVzaCgpOworfQogCiAjIElkZWFsbHkgd2Ugd291bGQgZmVlZCB0aGUgZGVmYXVsdCBhcyBhIGh1bWFuLXJlYWRhYmxlIGNvbG9yIHRvCiAjIGdpdC1jb25maWcgYXMgdGhlIGZhbGxiYWNrIHZhbHVlLiBCdXQgZGlmZi1oaWdobGlnaHQgZG9lcwpAQCAtODgsNyArOTYsNyBAQAogCiAJIyBJZiBvbmUgc2lkZSBpcyBlbXB0eSwgdGhlbiB0aGVyZSBpcyBub3RoaW5nIHRvIGNvbXBhcmUgb3IgaGlnaGxpZ2h0LgogCWlmICghQCRhIHx8ICFAJGIpIHsKLQkJcHJpbnQgQCRhLCBAJGI7CisJCSRsaW5lX2NiLT4oQCRhLCBAJGIpOwogCQlyZXR1cm47CiAJfQogCkBAIC05NywxNyArMTA1LDE3IEBACiAJIyBzdHVwaWQsIGFuZCBvbmx5IGhhbmRsZSBtdWx0aS1saW5lIGh1bmtzIHRoYXQgcmVtb3ZlIGFuZCBhZGQgdGhlIHNhbWUKIAkjIG51bWJlciBvZiBsaW5lcy4KIAlpZiAoQCRhICE9IEAkYikgewotCQlwcmludCBAJGEsIEAkYjsKKwkJJGxpbmVfY2ItPihAJGEsIEAkYik7CiAJCXJldHVybjsKIAl9CiAKIAlteSBAcXVldWU7CiAJZm9yIChteSAkaSA9IDA7ICRpIDwgQCRhOyAkaSsrKSB7CiAJCW15ICgkcm0sICRhZGQpID0gaGlnaGxpZ2h0X3BhaXIoJGEtPlskaV0sICRiLT5bJGldKTsKLQkJcHJpbnQgJHJtOworCQkkbGluZV9jYi0+KCRybSk7CiAJCXB1c2ggQHF1ZXVlLCAkYWRkOwogCX0KLQlwcmludCBAcXVldWU7CisJJGxpbmVfY2ItPihAcXVldWUpOwogfQogCiBzdWIgaGlnaGxpZ2h0X3BhaXIgewpkaWZmIC0tZ2l0IGEvY29udHJpYi9kaWZmLWhpZ2hsaWdodC9NYWtlZmlsZSBiL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvTWFrZWZpbGUKaW5kZXggOTAxODcyNC4uZjJiZTdjYyAxMDA2NDQKLS0tIGEvY29udHJpYi9kaWZmLWhpZ2hsaWdodC9NYWtlZmlsZQorKysgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0L01ha2VmaWxlCkBAIC0xLDUgKzEsMjMgQEAKLSMgbm90aGluZyB0byBidWlsZAotYWxsOgorYWxsOiBkaWZmLWhpZ2hsaWdodAogCi10ZXN0OgorUEVSTF9QQVRIID0gL3Vzci9iaW4vcGVybAorLWluY2x1ZGUgLi4vLi4vY29uZmlnLm1haworCitQRVJMX1BBVEhfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKFBFUkxfUEFUSCkpCisKK2RpZmYtaGlnaGxpZ2h0OiBzaGViYW5nLnBlcmwgRGlmZkhpZ2hsaWdodC5wbSBkaWZmLWhpZ2hsaWdodC5wZXJsCisJY2F0ICReID4kQCsKKwljaG1vZCAreCAkQCsKKwltdiAkQCsgJEAKKworc2hlYmFuZy5wZXJsOiBGT1JDRQorCUBlY2hvICcjISQoUEVSTF9QQVRIX1NRKScgPiRAKworCUBjbXAgJEArICRAID4vZGV2L251bGwgMj4vZGV2L251bGwgfHwgbXYgJEArICRACisKK3Rlc3Q6IGFsbAogCSQoTUFLRSkgLUMgdAorCitjbGVhbjoKKwkkKFJNKSBkaWZmLWhpZ2hsaWdodAorCisuUEhPTlk6IEZPUkNFCmRpZmYgLS1naXQgYS9jb250cmliL2RpZmYtaGlnaGxpZ2h0L1JFQURNRSBiL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvUkVBRE1FCmluZGV4IDgzNmI5N2EuLmQ0YzIzNDMgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvUkVBRE1FCisrKyBiL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvUkVBRE1FCkBAIC05OSw2ICs5OSwzNiBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIAorVXNpbmcgZGlmZi1oaWdobGlnaHQgYXMgYSBtb2R1bGUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0lmIHlvdSB3YW50IHRvIHByZS0gb3IgcG9zdC0gcHJvY2VzcyB0aGUgaGlnaGxpZ2h0ZWQgbGluZXMgYXMgcGFydCBvZgorYW5vdGhlciBwZXJsIHNjcmlwdCwgeW91IGNhbiB1c2UgdGhlIERpZmZIaWdobGlnaHQgbW9kdWxlLiBZb3UgY2FuCitlaXRoZXIgInJlcXVpcmUiIGl0IG9yIGp1c3QgY2F0IHRoZSBtb2R1bGUgdG9nZXRoZXIgd2l0aCB5b3VyIHNjcmlwdCAodG8KK2F2b2lkIHJ1bi10aW1lIGRlcGVuZGVuY2llcykuCisKK1lvdXIgc2NyaXB0IG1heSBzZXQgdXAgb25lIG9yIG1vcmUgb2YgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXM6CisKKyAgLSAkRGlmZkhpZ2hsaWdodDo6bGluZV9jYiAtIHRoaXMgc2hvdWxkIHBvaW50IHRvIGEgZnVuY3Rpb24gd2hpY2ggaXMKKyAgICBjYWxsZWQgd2hlbmV2ZXIgRGlmZkhpZ2hsaWdodCBoYXMgbGluZXMgKHdoaWNoIG1heSBjb250YWluCisgICAgaGlnaGxpZ2h0cykgdG8gb3V0cHV0LiBUaGUgZGVmYXVsdCBmdW5jdGlvbiBwcmludHMgZWFjaCBsaW5lIHRvCisgICAgc3Rkb3V0LiBOb3RlIHRoYXQgdGhlIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgd2l0aCBtdWx0aXBsZSBsaW5lcy4KKworICAtICREaWZmSGlnaGxpZ2h0OjpmbHVzaF9jYiAtIHRoaXMgc2hvdWxkIHBvaW50IHRvIGEgZnVuY3Rpb24gd2hpY2gKKyAgICBmbHVzaGVzIHRoZSBvdXRwdXQgKGJlY2F1c2UgRGlmZkhpZ2hsaWdodCBiZWxpZXZlcyBpdCBoYXMgY29tcGxldGVkCisgICAgcHJvY2Vzc2luZyBhIGxvZ2ljYWwgY2h1bmsgb2YgaW5wdXQpLiBUaGUgZGVmYXVsdCBmdW5jdGlvbiBmbHVzaGVzCisgICAgc3Rkb3V0LgorCitUaGUgc2NyaXB0IG1heSB0aGVuIGZlZWQgbGluZXMsIG9uZSBhdCBhIHRpbWUsIHRvIERpZmZIaWdobGlnaHQ6OmhhbmRsZV9saW5lKCkuCitXaGVuIGxpbmVzIGFyZSBkb25lIHByb2Nlc3NpbmcsIHRoZXkgd2lsbCBiZSBmZWQgdG8gJGxpbmVfY2IuIE5vdGUgdGhhdAorRGlmZkhpZ2hsaWdodCBtYXkgcXVldWUgdXAgbWFueSBpbnB1dCBsaW5lcyAodG8gYW5hbHl6ZSBhIHdob2xlIGh1bmspCitiZWZvcmUgY2FsbGluZyAkbGluZV9jYi4gQWZ0ZXIgcHJvdmlkaW5nIGFsbCBsaW5lcywgY2FsbAorRGlmZkhpZ2hsaWdodDo6Zmx1c2goKSB0byBmbHVzaCBhbnkgdW5wcm9jZXNzZWQgbGluZXMuCisKK0lmIHlvdSBqdXN0IHdhbnQgdG8gcHJvY2VzcyBzdGRpbiwgRGlmZkhpZ2hsaWdodDo6aGlnaGxpZ2h0X3N0ZGluKCkKK2lzIGEgY29udmVuaWVuY2UgaGVscGVyIHdoaWNoIHdpbGwgbG9vcCBhbmQgZmx1c2ggZm9yIHlvdS4KKworCiBCdWdzCiAtLS0tCiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvZGlmZi1oaWdobGlnaHQucGVybCBiL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvZGlmZi1oaWdobGlnaHQucGVybApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjNlOWMxCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9kaWZmLWhpZ2hsaWdodC9kaWZmLWhpZ2hsaWdodC5wZXJsCkBAIC0wLDAgKzEsOCBAQAorcGFja2FnZSBtYWluOworCisjIFNvbWUgc2NyaXB0cyBtYXkgbm90IHJlYWxpemUgdGhhdCBTSUdQSVBFIGlzIGJlaW5nIGlnbm9yZWQgd2hlbiBsYXVuY2hpbmcgdGhlCisjIHBhZ2VyLS1mb3IgaW5zdGFuY2Ugc2NyaXB0cyB3cml0dGVuIGluIFB5dGhvbi4KKyRTSUd7UElQRX0gPSAnREVGQVVMVCc7CisKK0RpZmZIaWdobGlnaHQ6OmhpZ2hsaWdodF9zdGRpbigpOworZXhpdCAwOwpkaWZmIC0tZ2l0IGEvY29udHJpYi9leGFtcGxlcy9naXQtbWVyZ2Uuc2ggYi9jb250cmliL2V4YW1wbGVzL2dpdC1tZXJnZS5zaAppbmRleCBlZTk5ZjFhLi45MzJlNzhkIDEwMDc1NQotLS0gYS9jb250cmliL2V4YW1wbGVzL2dpdC1tZXJnZS5zaAorKysgYi9jb250cmliL2V4YW1wbGVzL2dpdC1tZXJnZS5zaApAQCAtMzk5LDcgKzM5OSw3IEBACiA/LDEsIiQxIiwqKQogCSMgSWYgaGVhZCBjYW4gcmVhY2ggYWxsIHRoZSBtZXJnZSB0aGVuIHdlIGFyZSB1cCB0byBkYXRlLgogCSMgYnV0IGZpcnN0IHRoZSBtb3N0IGNvbW1vbiBjYXNlIG9mIG1lcmdpbmcgb25lIHJlbW90ZS4KLQlmaW5pc2hfdXBfdG9fZGF0ZSAiQWxyZWFkeSB1cC10by1kYXRlLiIKKwlmaW5pc2hfdXBfdG9fZGF0ZSAiQWxyZWFkeSB1cCB0byBkYXRlLiIKIAlleGl0IDAKIAk7OwogdCwxLCIkaGVhZCIsKikKQEAgLTQ1OSw3ICs0NTksNyBAQAogCWRvbmUKIAlpZiB0ZXN0ICIkdXBfdG9fZGF0ZSIgPSB0CiAJdGhlbgotCQlmaW5pc2hfdXBfdG9fZGF0ZSAiQWxyZWFkeSB1cC10by1kYXRlLiBZZWVhaCEiCisJCWZpbmlzaF91cF90b19kYXRlICJBbHJlYWR5IHVwIHRvIGRhdGUuIFllZWFoISIKIAkJZXhpdCAwCiAJZmkKIAk7OwpkaWZmIC0tZ2l0IGEvY29udHJpYi9leGFtcGxlcy9naXQtcmVzb2x2ZS5zaCBiL2NvbnRyaWIvZXhhbXBsZXMvZ2l0LXJlc29sdmUuc2gKaW5kZXggNzBmZGMyNy4uMzA5OWRjOCAxMDA3NTUKLS0tIGEvY29udHJpYi9leGFtcGxlcy9naXQtcmVzb2x2ZS5zaAorKysgYi9jb250cmliL2V4YW1wbGVzL2dpdC1yZXNvbHZlLnNoCkBAIC00MSw3ICs0MSw3IEBACiAKIGNhc2UgIiRjb21tb24iIGluCiAiJG1lcmdlIikKLQllY2hvICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKKwllY2hvICJBbHJlYWR5IHVwIHRvIGRhdGUuIFllZWFoISIKIAlkcm9waGVhZHMKIAlleGl0IDAKIAk7OwpkaWZmIC0tZ2l0IGEvY29udHJpYi9naXQtcmVzdXJyZWN0LnNoIGIvY29udHJpYi9naXQtcmVzdXJyZWN0LnNoCmluZGV4IGQ3ZTk3YmIuLjhjMTcxZGQgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvZ2l0LXJlc3VycmVjdC5zaAorKysgYi9jb250cmliL2dpdC1yZXN1cnJlY3Quc2gKQEAgLTI2LDEzICsyNiwxMyBAQAogLiBnaXQtc2gtc2V0dXAKIAogc2VhcmNoX3JlZmxvZyAoKSB7Ci0gICAgICAgIHNlZCAtbmUgJ3N+XlwoW14gXSpcKSAuKlx0Y2hlY2tvdXQ6IG1vdmluZyBmcm9tICciJDEiJyAuKn5cMX5wJyBcCisJc2VkIC1uZSAnc35eXChbXiBdKlwpIC4qCWNoZWNrb3V0OiBtb3ZpbmcgZnJvbSAnIiQxIicgLip+XDF+cCcgXAogICAgICAgICAgICAgICAgIDwgIiRHSVRfRElSIi9sb2dzL0hFQUQKIH0KIAogc2VhcmNoX3JlZmxvZ19tZXJnZXMgKCkgewogCWdpdCByZXYtcGFyc2UgJCgKLQkJc2VkIC1uZSAnc35eW14gXSogXChbXiBdKlwpIC4qXHRtZXJnZSAnIiQxIic6Lip+XDFeMn5wJyBcCisJCXNlZCAtbmUgJ3N+XlteIF0qIFwoW14gXSpcKSAuKgltZXJnZSAnIiQxIic6Lip+XDFeMn5wJyBcCiAJCQk8ICIkR0lUX0RJUiIvbG9ncy9IRUFECiAJKQogfQpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvZ2l0X211bHRpbWFpbC5weSBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL2dpdF9tdWx0aW1haWwucHkKaW5kZXggYzdmODY0MC4uNzNmZGRhNiAxMDA3NTUKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvZ2l0X211bHRpbWFpbC5weQorKysgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9naXRfbXVsdGltYWlsLnB5CkBAIC0yOTY0LDcgKzI5NjQsNyBAQAogCiAKIGNsYXNzIENMSVJlY2lwaWVudHNFbnZpcm9ubWVudE1peGluKEVudmlyb25tZW50KToKLSAgICAiIiJNaXhpbiBzdG9yaW5nIHJlY2lwaWVudHMgaW5mb3JtYXRpb24gY29tbWluZyBmcm9tIHRoZQorICAgICIiIk1peGluIHN0b3JpbmcgcmVjaXBpZW50cyBpbmZvcm1hdGlvbiBjb21pbmcgZnJvbSB0aGUKICAgICBjb21tYW5kLWxpbmUuIiIiCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgY2xpX3JlY2lwaWVudHM9Tm9uZSwgKiprdyk6CmRpZmYgLS1naXQgYS9jb250cmliL213LXRvLWdpdC9naXQtcmVtb3RlLW1lZGlhd2lraS5wZXJsIGIvY29udHJpYi9tdy10by1naXQvZ2l0LXJlbW90ZS1tZWRpYXdpa2kucGVybAppbmRleCA0MWU3NGZiLi5lN2Y4NTdjIDEwMDc1NQotLS0gYS9jb250cmliL213LXRvLWdpdC9naXQtcmVtb3RlLW1lZGlhd2lraS5wZXJsCisrKyBiL2NvbnRyaWIvbXctdG8tZ2l0L2dpdC1yZW1vdGUtbWVkaWF3aWtpLnBlcmwKQEAgLTg1Nyw3ICs4NTcsNyBAQAogCiAJbXkgJG4gPSAwOwogCW15ICRuX2FjdHVhbCA9IDA7Ci0JbXkgJGxhc3RfdGltZXN0YW1wID0gMDsgIyBQbGFjZWhvbGVyIGluIGNhc2UgJHJldi0+dGltZXN0YW1wIGlzIHVuZGVmaW5lZAorCW15ICRsYXN0X3RpbWVzdGFtcCA9IDA7ICMgUGxhY2Vob2xkZXIgaW4gY2FzZSAkcmV2LT50aW1lc3RhbXAgaXMgdW5kZWZpbmVkCiAKIAlmb3JlYWNoIG15ICRwYWdlcmV2aWQgKEB7JHJldmlzaW9uX2lkc30pIHsKIAkgICAgICAgICMgQ291bnQgcGFnZSBldmVuIGlmIHdlIHNraXAgaXQsIHNpbmNlIHdlIGRpc3BsYXkKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbXctdG8tZ2l0L3QvUkVBRE1FIGIvY29udHJpYi9tdy10by1naXQvdC9SRUFETUUKaW5kZXggMDNmNmVlNS4uMmVlMzRiZSAxMDA2NDQKLS0tIGEvY29udHJpYi9tdy10by1naXQvdC9SRUFETUUKKysrIGIvY29udHJpYi9tdy10by1naXQvdC9SRUFETUUKQEAgLTEyMSw0ICsxMjEsNCBAQAogCiBQbGVhc2UsIGZvbGxvdyB0aGUgc3RhbmRhcmRzIGdpdmVuIGJ5IGdpdC4gU2VlIGdpdC90L1JFQURNRS4KIE5ldyBmaWxlIHNob3VsZCBiZSBuYW1lZCBhcyB0OTM2WzAtOV0tKi5zaC4KLUJlIHN1cmUgdG8gcmVzZXQgeW91ciB3aWtpIHJlZ3VsYXJ5IHdpdGggdGhlIGZ1bmN0aW9uIGB3aWtpX3Jlc2V0YC4KK0JlIHN1cmUgdG8gcmVzZXQgeW91ciB3aWtpIHJlZ3VsYXJseSB3aXRoIHRoZSBmdW5jdGlvbiBgd2lraV9yZXNldGAuCmRpZmYgLS1naXQgYS9jb250cmliL3BlcnNpc3RlbnQtaHR0cHMvUkVBRE1FIGIvY29udHJpYi9wZXJzaXN0ZW50LWh0dHBzL1JFQURNRQppbmRleCBmNzg0ZGQyLi43YzRjZDhkIDEwMDY0NAotLS0gYS9jb250cmliL3BlcnNpc3RlbnQtaHR0cHMvUkVBRE1FCisrKyBiL2NvbnRyaWIvcGVyc2lzdGVudC1odHRwcy9SRUFETUUKQEAgLTM1LDYgKzM1LDE2IEBACiBbdXJsICJwZXJzaXN0ZW50LWh0dHAiXQogCWluc3RlYWRvZiA9IGh0dHAKIAorWW91IG1heSBhbHNvIHdhbnQgdG8gYWxsb3cgdGhlIHVzZSBvZiB0aGUgcGVyc2lzdGVudC1odHRwcyBoZWxwZXIgZm9yCitzdWJtb2R1bGUgVVJMcyAoc2luY2UgYW55IGh0dHBzIFVSTHMgcG9pbnRpbmcgdG8gc3VibW9kdWxlcyB3aWxsIGJlCityZXdyaXR0ZW4sIGFuZCBHaXQncyBvdXQtb2YtdGhlLWJveCBkZWZhdWx0cyBmb3JiaWQgc3VibW9kdWxlcyBmcm9tCit1c2luZyB1bmtub3duIHJlbW90ZSBoZWxwZXJzKToKKworW3Byb3RvY29sICJwZXJzaXN0ZW50LWh0dHBzIl0KKwlhbGxvdyA9IGFsd2F5cworW3Byb3RvY29sICJwZXJzaXN0ZW50LWh0dHAiXQorCWFsbG93ID0gYWx3YXlzCisKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIEJVSUxESU5HIEZST00gU09VUkNFCmRpZmYgLS1naXQgYS9jb250cmliL3JlcmVyZS10cmFpbi5zaCBiL2NvbnRyaWIvcmVyZXJlLXRyYWluLnNoCmluZGV4IDUyYWQ5ZTQuLmVlZWU0NWQgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvcmVyZXJlLXRyYWluLnNoCisrKyBiL2NvbnRyaWIvcmVyZXJlLXRyYWluLnNoCkBAIC0zLDEwICszLDU2IEBACiAjIFByaW1lIHJlcmVyZSBkYXRhYmFzZSBmcm9tIGV4aXN0aW5nIG1lcmdlIGNvbW1pdHMKIAogbWU9cmVyZXJlLXRyYWluCi1VU0FHRT0iJG1lIHJldi1saXN0LWFyZ3MiCitVU0FHRT0kKGNhdCA8PC1FT0YKK3VzYWdlOiAkbWUgWy0tb3ZlcndyaXRlXSA8cmV2LWxpc3QtYXJncz4KKworICAgIC1oLCAtLWhlbHAgICAgICAgICAgICBzaG93IHRoZSBoZWxwCisgICAgLW8sIC0tb3ZlcndyaXRlICAgICAgIG92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgcmVyZXJlIGNhY2hlCitFT0YKKykKIAogU1VCRElSRUNUT1JZX09LPVllcwotT1BUSU9OU19TUEVDPQorCitvdmVyd3JpdGU9MAorCit3aGlsZSB0ZXN0ICQjIC1ndCAwCitkbworCW9wdD0iJDEiCisJY2FzZSAiJG9wdCIgaW4KKwktaHwtLWhlbHApCisJCWVjaG8gIiRVU0FHRSIKKwkJZXhpdCAwCisJCTs7CisJLW98LS1vdmVyd3JpdGUpCisJCW92ZXJ3cml0ZT0xCisJCXNoaWZ0CisJCWJyZWFrCisJCTs7CisJLS0pCisJCXNoaWZ0CisJCWJyZWFrCisJCTs7CisJKikKKwkJYnJlYWsKKwkJOzsKKwllc2FjCitkb25lCisKKyMgT3ZlcndyaXRlIG9yIGhlbHAgb3B0aW9ucyBhcmUgbm90IHZhbGlkIGV4Y2VwdCBhcyBmaXJzdCBhcmcKK2ZvciBvcHQgaW4gIiRAIgorZG8KKwljYXNlICIkb3B0IiBpbgorCS1ofC0taGVscCkKKwkJZWNobyAiJFVTQUdFIgorCQlleGl0IDAKKwkJOzsKKwktb3wtLW92ZXJ3cml0ZSkKKwkJZWNobyAiJFVTQUdFIgorCQlleGl0IDAKKwkJOzsKKwllc2FjCitkb25lCisKIC4gIiQoZ2l0IC0tZXhlYy1wYXRoKS9naXQtc2gtc2V0dXAiCiByZXF1aXJlX3dvcmtfdHJlZQogY2RfdG9fdG9wbGV2ZWwKQEAgLTM0LDYgKzgwLDEwIEBACiAJCSMgQ2xlYW5seSBtZXJnZXMKIAkJY29udGludWUKIAlmaQorCWlmIHRlc3QgJG92ZXJ3cml0ZSA9IDEKKwl0aGVuCisJCWdpdCByZXJlcmUgZm9yZ2V0IC4KKwlmaQogCWlmIHRlc3QgLXMgIiRHSVRfRElSL01FUkdFX1JSIgogCXRoZW4KIAkJZ2l0IHNob3cgLXMgLS1wcmV0dHk9Zm9ybWF0OiJMZWFybmluZyBmcm9tICVoICVzIiAiJGNvbW1pdCIKZGlmZiAtLWdpdCBhL2NvbnRyaWIvc3VidHJlZS9NYWtlZmlsZSBiL2NvbnRyaWIvc3VidHJlZS9NYWtlZmlsZQppbmRleCA2YWZhOWFhLi41YzZjYzRhIDEwMDY0NAotLS0gYS9jb250cmliL3N1YnRyZWUvTWFrZWZpbGUKKysrIGIvY29udHJpYi9zdWJ0cmVlL01ha2VmaWxlCkBAIC0xOSwxNSArMTksMjcgQEAKIElOU1RBTEwgID89IGluc3RhbGwKIFJNICAgICAgID89IHJtIC1mCiAKLUFTQ0lJRE9DID0gYXNjaWlkb2MKLVhNTFRPICAgID0geG1sdG8KK0FTQ0lJRE9DICAgICAgICAgPSBhc2NpaWRvYworQVNDSUlET0NfQ09ORiAgICA9IC1mIC4uLy4uL0RvY3VtZW50YXRpb24vYXNjaWlkb2MuY29uZgorQVNDSUlET0NfSFRNTCAgICA9IHhodG1sMTEKK0FTQ0lJRE9DX0RPQ0JPT0sgPSBkb2Nib29rCitBU0NJSURPQ19FWFRSQSAgID0KK1hNTFRPICAgICAgICAgICAgPSB4bWx0bworCitpZmRlZiBVU0VfQVNDSUlET0NUT1IKK0FTQ0lJRE9DICAgICAgICAgPSBhc2NpaWRvY3RvcgorQVNDSUlET0NfQ09ORiAgICA9CitBU0NJSURPQ19IVE1MICAgID0geGh0bWw1CitBU0NJSURPQ19ET0NCT09LID0gZG9jYm9vazQ1CitBU0NJSURPQ19FWFRSQSAgKz0gLUkuLi8uLi9Eb2N1bWVudGF0aW9uIC1yYXNjaWlkb2N0b3ItZXh0ZW5zaW9ucworQVNDSUlET0NfRVhUUkEgICs9IC1hbGl0ZGQ9JyZcI3gyZDsmXCN4MmQ7JworZW5kaWYKIAogaWZuZGVmIFNIRUxMX1BBVEgKIAlTSEVMTF9QQVRIID0gL2Jpbi9zaAogZW5kaWYKIFNIRUxMX1BBVEhfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKFNIRUxMX1BBVEgpKQogCi1BU0NJSURPQ19DT05GID0gLi4vLi4vRG9jdW1lbnRhdGlvbi9hc2NpaWRvYy5jb25mCiBNQU5QQUdFX1hTTCAgID0gLi4vLi4vRG9jdW1lbnRhdGlvbi9tYW5wYWdlLW5vcm1hbC54c2wKIAogR0lUX1NVQlRSRUVfU0ggOj0gZ2l0LXN1YnRyZWUuc2gKQEAgLTY1LDEyICs3NywxMiBAQAogCSQoWE1MVE8pIC1tICQoTUFOUEFHRV9YU0wpIG1hbiAkXgogCiAkKEdJVF9TVUJUUkVFX1hNTCk6ICQoR0lUX1NVQlRSRUVfVFhUKQotCSQoQVNDSUlET0MpIC1iIGRvY2Jvb2sgLWQgbWFucGFnZSAtZiAkKEFTQ0lJRE9DX0NPTkYpIFwKLQkJLWFnaXRfdmVyc2lvbj0kKEdJVF9WRVJTSU9OKSAkXgorCSQoQVNDSUlET0MpIC1iICQoQVNDSUlET0NfRE9DQk9PSykgLWQgbWFucGFnZSAkKEFTQ0lJRE9DX0NPTkYpIFwKKwkJLWFnaXRfdmVyc2lvbj0kKEdJVF9WRVJTSU9OKSAkKEFTQ0lJRE9DX0VYVFJBKSAkXgogCiAkKEdJVF9TVUJUUkVFX0hUTUwpOiAkKEdJVF9TVUJUUkVFX1RYVCkKLQkkKEFTQ0lJRE9DKSAtYiB4aHRtbDExIC1kIG1hbnBhZ2UgLWYgJChBU0NJSURPQ19DT05GKSBcCi0JCS1hZ2l0X3ZlcnNpb249JChHSVRfVkVSU0lPTikgJF4KKwkkKEFTQ0lJRE9DKSAtYiAkKEFTQ0lJRE9DX0hUTUwpIC1kIG1hbnBhZ2UgJChBU0NJSURPQ19DT05GKSBcCisJCS1hZ2l0X3ZlcnNpb249JChHSVRfVkVSU0lPTikgJChBU0NJSURPQ19FWFRSQSkgJF4KIAogJChHSVRfU1VCVFJFRV9URVNUKTogJChHSVRfU1VCVFJFRSkKIAljcCAkPCAkQApkaWZmIC0tZ2l0IGEvY29udHJpYi9zdWJ0cmVlL3QvdDc5MDAtc3VidHJlZS5zaCBiL2NvbnRyaWIvc3VidHJlZS90L3Q3OTAwLXN1YnRyZWUuc2gKaW5kZXggM2M4N2ViYS4uZDA1YzYxMyAxMDA3NTUKLS0tIGEvY29udHJpYi9zdWJ0cmVlL3QvdDc5MDAtc3VidHJlZS5zaAorKysgYi9jb250cmliL3N1YnRyZWUvdC90NzkwMC1zdWJ0cmVlLnNoCkBAIC0yNTMsNyArMjUzLDcgQEAKIAkJIyB0aGlzIHNob3VsZG4gbm90IGFjdHVhbGx5IGRvIGFueXRoaW5nLCBzaW5jZSBGRVRDSF9IRUFECiAJCSMgaXMgYWxyZWFkeSBhIHBhcmVudAogCQlyZXN1bHQ9JChnaXQgbWVyZ2UgLXMgb3VycyAtbSAibWVyZ2UgLXMgLW91cnMiIEZFVENIX0hFQUQpICYmCi0JCWNoZWNrX2VxdWFsICIke3Jlc3VsdH0iICJBbHJlYWR5IHVwLXRvLWRhdGUuIgorCQljaGVja19lcXVhbCAiJHtyZXN1bHR9IiAiQWxyZWFkeSB1cCB0byBkYXRlLiIKIAkpCiAnCiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvd29ya2Rpci8uZ2l0YXR0cmlidXRlcyBiL2NvbnRyaWIvd29ya2Rpci8uZ2l0YXR0cmlidXRlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjc4YzVkCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi93b3JrZGlyLy5naXRhdHRyaWJ1dGVzCkBAIC0wLDAgKzEgQEAKKy9naXQtbmV3LXdvcmtkaXIgZW9sPWxmCmRpZmYgLS1naXQgYS9jb252ZXJ0LmMgYi9jb252ZXJ0LmMKaW5kZXggNGUxN2U0NS4uMjBkN2FiNiAxMDA2NDQKLS0tIGEvY29udmVydC5jCisrKyBiL2NvbnZlcnQuYwpAQCAtMSw5ICsxLDEyIEBACisjZGVmaW5lIE5PX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYXR0ci5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJzaWdjaGFpbi5oIgogI2luY2x1ZGUgInBrdC1saW5lLmgiCisjaW5jbHVkZSAic3ViLXByb2Nlc3MuaCIKIAogLyoKICAqIGNvbnZlcnQuYyAtIGNvbnZlcnQgYSBmaWxlIHdoZW4gY2hlY2tpbmcgaXQgb3V0IGFuZCBjaGVja2luZyBpdCBpbi4KQEAgLTEzMywxMSArMTM2LDEyIEBACiAJfQogfQogCi1jb25zdCBjaGFyICpnZXRfY2FjaGVkX2NvbnZlcnRfc3RhdHNfYXNjaWkoY29uc3QgY2hhciAqcGF0aCkKK2NvbnN0IGNoYXIgKmdldF9jYWNoZWRfY29udmVydF9zdGF0c19hc2NpaShjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCQkJICAgY29uc3QgY2hhciAqcGF0aCkKIHsKIAljb25zdCBjaGFyICpyZXQ7CiAJdW5zaWduZWQgbG9uZyBzejsKLQl2b2lkICpkYXRhID0gcmVhZF9ibG9iX2RhdGFfZnJvbV9jYWNoZShwYXRoLCAmc3opOworCXZvaWQgKmRhdGEgPSByZWFkX2Jsb2JfZGF0YV9mcm9tX2luZGV4KGlzdGF0ZSwgcGF0aCwgJnN6KTsKIAlyZXQgPSBnYXRoZXJfY29udmVydF9zdGF0c19hc2NpaShkYXRhLCBzeik7CiAJZnJlZShkYXRhKTsKIAlyZXR1cm4gcmV0OwpAQCAtMjE2LDEzICsyMjAsMTMgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgaGFzX2NyX2luX2luZGV4KGNvbnN0IGNoYXIgKnBhdGgpCitzdGF0aWMgaW50IGhhc19jcl9pbl9pbmRleChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqcGF0aCkKIHsKIAl1bnNpZ25lZCBsb25nIHN6OwogCXZvaWQgKmRhdGE7CiAJaW50IGhhc19jcjsKIAotCWRhdGEgPSByZWFkX2Jsb2JfZGF0YV9mcm9tX2NhY2hlKHBhdGgsICZzeik7CisJZGF0YSA9IHJlYWRfYmxvYl9kYXRhX2Zyb21faW5kZXgoaXN0YXRlLCBwYXRoLCAmc3opOwogCWlmICghZGF0YSkKIAkJcmV0dXJuIDA7CiAJaGFzX2NyID0gbWVtY2hyKGRhdGEsICdccicsIHN6KSAhPSBOVUxMOwpAQCAtMjUyLDcgKzI1Niw4IEBACiAKIH0KIAotc3RhdGljIGludCBjcmxmX3RvX2dpdChjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCitzdGF0aWMgaW50IGNybGZfdG9fZ2l0KGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICAgICAgY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLAogCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqYnVmLAogCQkgICAgICAgZW51bSBjcmxmX2FjdGlvbiBjcmxmX2FjdGlvbiwgZW51bSBzYWZlX2NybGYgY2hlY2tzYWZlKQogewpAQCAtMjg0LDcgKzI4OSw4IEBACiAJCSAqIHVubGVzcyB3ZSB3YW50IHRvIHJlbm9ybWFsaXplIGluIGEgbWVyZ2Ugb3IKIAkJICogY2hlcnJ5LXBpY2suCiAJCSAqLwotCQlpZiAoKGNoZWNrc2FmZSAhPSBTQUZFX0NSTEZfUkVOT1JNQUxJWkUpICYmIGhhc19jcl9pbl9pbmRleChwYXRoKSkKKwkJaWYgKChjaGVja3NhZmUgIT0gU0FGRV9DUkxGX1JFTk9STUFMSVpFKSAmJgorCQkgICAgaGFzX2NyX2luX2luZGV4KGlzdGF0ZSwgcGF0aCkpCiAJCQljb252ZXJ0X2NybGZfaW50b19sZiA9IDA7CiAJfQogCWlmICgoY2hlY2tzYWZlID09IFNBRkVfQ1JMRl9XQVJOIHx8CkBAIC00MTcsOCArNDIzLDEwIEBACiAJY2hpbGRfcHJvY2Vzcy5pbiA9IC0xOwogCWNoaWxkX3Byb2Nlc3Mub3V0ID0gb3V0OwogCi0JaWYgKHN0YXJ0X2NvbW1hbmQoJmNoaWxkX3Byb2Nlc3MpKQorCWlmIChzdGFydF9jb21tYW5kKCZjaGlsZF9wcm9jZXNzKSkgeworCQlzdHJidWZfcmVsZWFzZSgmY21kKTsKIAkJcmV0dXJuIGVycm9yKCJjYW5ub3QgZm9yayB0byBydW4gZXh0ZXJuYWwgZmlsdGVyICclcyciLCBwYXJhbXMtPmNtZCk7CisJfQogCiAJc2lnY2hhaW5fcHVzaChTSUdQSVBFLCBTSUdfSUdOKTsKIApAQCAtNDk1LDIxNiArNTAzLDk0IEBACiAKICNkZWZpbmUgQ0FQX0NMRUFOICAgICgxdTw8MCkKICNkZWZpbmUgQ0FQX1NNVURHRSAgICgxdTw8MSkKKyNkZWZpbmUgQ0FQX0RFTEFZICAgICgxdTw8MikKIAogc3RydWN0IGNtZDJwcm9jZXNzIHsKLQlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnQ7IC8qIG11c3QgYmUgdGhlIGZpcnN0IG1lbWJlciEgKi8KKwlzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSBzdWJwcm9jZXNzOyAvKiBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhICovCiAJdW5zaWduZWQgaW50IHN1cHBvcnRlZF9jYXBhYmlsaXRpZXM7Ci0JY29uc3QgY2hhciAqY21kOwotCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHByb2Nlc3M7CiB9OwogCi1zdGF0aWMgaW50IGNtZF9wcm9jZXNzX21hcF9pbml0aWFsaXplZDsKLXN0YXRpYyBzdHJ1Y3QgaGFzaG1hcCBjbWRfcHJvY2Vzc19tYXA7CitzdGF0aWMgaW50IHN1YnByb2Nlc3NfbWFwX2luaXRpYWxpemVkOworc3RhdGljIHN0cnVjdCBoYXNobWFwIHN1YnByb2Nlc3NfbWFwOwogCi1zdGF0aWMgaW50IGNtZDJwcm9jZXNzX2NtcChjb25zdCBzdHJ1Y3QgY21kMnByb2Nlc3MgKmUxLAotCQkJICAgY29uc3Qgc3RydWN0IGNtZDJwcm9jZXNzICplMiwKLQkJCSAgIGNvbnN0IHZvaWQgKnVudXNlZCkKK3N0YXRpYyBpbnQgc3RhcnRfbXVsdGlfZmlsZV9maWx0ZXJfZm4oc3RydWN0IHN1YnByb2Nlc3NfZW50cnkgKnN1YnByb2Nlc3MpCiB7Ci0JcmV0dXJuIHN0cmNtcChlMS0+Y21kLCBlMi0+Y21kKTsKKwlzdGF0aWMgaW50IHZlcnNpb25zW10gPSB7MiwgMH07CisJc3RhdGljIHN0cnVjdCBzdWJwcm9jZXNzX2NhcGFiaWxpdHkgY2FwYWJpbGl0aWVzW10gPSB7CisJCXsgImNsZWFuIiwgIENBUF9DTEVBTiAgfSwKKwkJeyAic211ZGdlIiwgQ0FQX1NNVURHRSB9LAorCQl7ICJkZWxheSIsICBDQVBfREVMQVkgIH0sCisJCXsgTlVMTCwgMCB9CisJfTsKKwlzdHJ1Y3QgY21kMnByb2Nlc3MgKmVudHJ5ID0gKHN0cnVjdCBjbWQycHJvY2VzcyAqKXN1YnByb2Nlc3M7CisJcmV0dXJuIHN1YnByb2Nlc3NfaGFuZHNoYWtlKHN1YnByb2Nlc3MsICJnaXQtZmlsdGVyIiwgdmVyc2lvbnMsIE5VTEwsCisJCQkJICAgIGNhcGFiaWxpdGllcywKKwkJCQkgICAgJmVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzKTsKIH0KIAotc3RhdGljIHN0cnVjdCBjbWQycHJvY2VzcyAqZmluZF9tdWx0aV9maWxlX2ZpbHRlcl9lbnRyeShzdHJ1Y3QgaGFzaG1hcCAqaGFzaG1hcCwgY29uc3QgY2hhciAqY21kKQotewotCXN0cnVjdCBjbWQycHJvY2VzcyBrZXk7Ci0JaGFzaG1hcF9lbnRyeV9pbml0KCZrZXksIHN0cmhhc2goY21kKSk7Ci0Ja2V5LmNtZCA9IGNtZDsKLQlyZXR1cm4gaGFzaG1hcF9nZXQoaGFzaG1hcCwgJmtleSwgTlVMTCk7Ci19Ci0KLXN0YXRpYyBpbnQgcGFja2V0X3dyaXRlX2xpc3QoaW50IGZkLCBjb25zdCBjaGFyICpsaW5lLCAuLi4pCi17Ci0JdmFfbGlzdCBhcmdzOwotCWludCBlcnI7Ci0JdmFfc3RhcnQoYXJncywgbGluZSk7Ci0JZm9yICg7OykgewotCQlpZiAoIWxpbmUpCi0JCQlicmVhazsKLQkJaWYgKHN0cmxlbihsaW5lKSA+IExBUkdFX1BBQ0tFVF9EQVRBX01BWCkKLQkJCXJldHVybiAtMTsKLQkJZXJyID0gcGFja2V0X3dyaXRlX2ZtdF9nZW50bHkoZmQsICIlc1xuIiwgbGluZSk7Ci0JCWlmIChlcnIpCi0JCQlyZXR1cm4gZXJyOwotCQlsaW5lID0gdmFfYXJnKGFyZ3MsIGNvbnN0IGNoYXIqKTsKK3N0YXRpYyB2b2lkIGhhbmRsZV9maWx0ZXJfZXJyb3IoY29uc3Qgc3RydWN0IHN0cmJ1ZiAqZmlsdGVyX3N0YXR1cywKKwkJCQlzdHJ1Y3QgY21kMnByb2Nlc3MgKmVudHJ5LAorCQkJCWNvbnN0IHVuc2lnbmVkIGludCB3YW50ZWRfY2FwYWJpbGl0eSkgeworCWlmICghc3RyY21wKGZpbHRlcl9zdGF0dXMtPmJ1ZiwgImVycm9yIikpCisJCTsgLyogVGhlIGZpbHRlciBzaWduYWxlZCBhIHByb2JsZW0gd2l0aCB0aGUgZmlsZS4gKi8KKwllbHNlIGlmICghc3RyY21wKGZpbHRlcl9zdGF0dXMtPmJ1ZiwgImFib3J0IikgJiYgd2FudGVkX2NhcGFiaWxpdHkpIHsKKwkJLyoKKwkJICogVGhlIGZpbHRlciBzaWduYWxlZCBhIHBlcm1hbmVudCBwcm9ibGVtLiBEb24ndCB0cnkgdG8gZmlsdGVyCisJCSAqIGZpbGVzIHdpdGggdGhlIHNhbWUgY29tbWFuZCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjdXJyZW50CisJCSAqIEdpdCBwcm9jZXNzLgorCQkgKi8KKwkJIGVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzICY9IH53YW50ZWRfY2FwYWJpbGl0eTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBTb21ldGhpbmcgd2VudCB3cm9uZyB3aXRoIHRoZSBwcm90b2NvbCBmaWx0ZXIuCisJCSAqIEZvcmNlIHNodXRkb3duIGFuZCByZXN0YXJ0IGlmIGFub3RoZXIgYmxvYiByZXF1aXJlcyBmaWx0ZXJpbmcuCisJCSAqLworCQllcnJvcigiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIiwgZW50cnktPnN1YnByb2Nlc3MuY21kKTsKKwkJc3VicHJvY2Vzc19zdG9wKCZzdWJwcm9jZXNzX21hcCwgJmVudHJ5LT5zdWJwcm9jZXNzKTsKKwkJZnJlZShlbnRyeSk7CiAJfQotCXZhX2VuZChhcmdzKTsKLQlyZXR1cm4gcGFja2V0X2ZsdXNoX2dlbnRseShmZCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlYWRfbXVsdGlfZmlsZV9maWx0ZXJfc3RhdHVzKGludCBmZCwgc3RydWN0IHN0cmJ1ZiAqc3RhdHVzKQotewotCXN0cnVjdCBzdHJidWYgKipwYWlyOwotCWNoYXIgKmxpbmU7Ci0JZm9yICg7OykgewotCQlsaW5lID0gcGFja2V0X3JlYWRfbGluZShmZCwgTlVMTCk7Ci0JCWlmICghbGluZSkKLQkJCWJyZWFrOwotCQlwYWlyID0gc3RyYnVmX3NwbGl0X3N0cihsaW5lLCAnPScsIDIpOwotCQlpZiAocGFpclswXSAmJiBwYWlyWzBdLT5sZW4gJiYgcGFpclsxXSkgewotCQkJLyogdGhlIGxhc3QgInN0YXR1cz08Zm9vPiIgbGluZSB3aW5zICovCi0JCQlpZiAoIXN0cmNtcChwYWlyWzBdLT5idWYsICJzdGF0dXM9IikpIHsKLQkJCQlzdHJidWZfcmVzZXQoc3RhdHVzKTsKLQkJCQlzdHJidWZfYWRkYnVmKHN0YXR1cywgcGFpclsxXSk7Ci0JCQl9Ci0JCX0KLQkJc3RyYnVmX2xpc3RfZnJlZShwYWlyKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGtpbGxfbXVsdGlfZmlsZV9maWx0ZXIoc3RydWN0IGhhc2htYXAgKmhhc2htYXAsIHN0cnVjdCBjbWQycHJvY2VzcyAqZW50cnkpCi17Ci0JaWYgKCFlbnRyeSkKLQkJcmV0dXJuOwotCi0JZW50cnktPnByb2Nlc3MuY2xlYW5fb25fZXhpdCA9IDA7Ci0Ja2lsbChlbnRyeS0+cHJvY2Vzcy5waWQsIFNJR1RFUk0pOwotCWZpbmlzaF9jb21tYW5kKCZlbnRyeS0+cHJvY2Vzcyk7Ci0KLQloYXNobWFwX3JlbW92ZShoYXNobWFwLCBlbnRyeSwgTlVMTCk7Ci0JZnJlZShlbnRyeSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN0b3BfbXVsdGlfZmlsZV9maWx0ZXIoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnByb2Nlc3MpCi17Ci0Jc2lnY2hhaW5fcHVzaChTSUdQSVBFLCBTSUdfSUdOKTsKLQkvKiBDbG9zaW5nIHRoZSBwaXBlIHNpZ25hbHMgdGhlIGZpbHRlciB0byBpbml0aWF0ZSBhIHNodXRkb3duLiAqLwotCWNsb3NlKHByb2Nlc3MtPmluKTsKLQljbG9zZShwcm9jZXNzLT5vdXQpOwotCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKLQkvKiBGaW5pc2ggY29tbWFuZCB3aWxsIHdhaXQgdW50aWwgdGhlIHNodXRkb3duIGlzIGNvbXBsZXRlLiAqLwotCWZpbmlzaF9jb21tYW5kKHByb2Nlc3MpOwotfQotCi1zdGF0aWMgc3RydWN0IGNtZDJwcm9jZXNzICpzdGFydF9tdWx0aV9maWxlX2ZpbHRlcihzdHJ1Y3QgaGFzaG1hcCAqaGFzaG1hcCwgY29uc3QgY2hhciAqY21kKQotewotCWludCBlcnI7Ci0Jc3RydWN0IGNtZDJwcm9jZXNzICplbnRyeTsKLQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqcHJvY2VzczsKLQljb25zdCBjaGFyICphcmd2W10gPSB7IGNtZCwgTlVMTCB9OwotCXN0cnVjdCBzdHJpbmdfbGlzdCBjYXBfbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7Ci0JY2hhciAqY2FwX2J1ZjsKLQljb25zdCBjaGFyICpjYXBfbmFtZTsKLQotCWVudHJ5ID0geG1hbGxvYyhzaXplb2YoKmVudHJ5KSk7Ci0JZW50cnktPmNtZCA9IGNtZDsKLQllbnRyeS0+c3VwcG9ydGVkX2NhcGFiaWxpdGllcyA9IDA7Ci0JcHJvY2VzcyA9ICZlbnRyeS0+cHJvY2VzczsKLQotCWNoaWxkX3Byb2Nlc3NfaW5pdChwcm9jZXNzKTsKLQlwcm9jZXNzLT5hcmd2ID0gYXJndjsKLQlwcm9jZXNzLT51c2Vfc2hlbGwgPSAxOwotCXByb2Nlc3MtPmluID0gLTE7Ci0JcHJvY2Vzcy0+b3V0ID0gLTE7Ci0JcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdCA9IDE7Ci0JcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdF9oYW5kbGVyID0gc3RvcF9tdWx0aV9maWxlX2ZpbHRlcjsKLQotCWlmIChzdGFydF9jb21tYW5kKHByb2Nlc3MpKSB7Ci0JCWVycm9yKCJjYW5ub3QgZm9yayB0byBydW4gZXh0ZXJuYWwgZmlsdGVyICclcyciLCBjbWQpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0KLQloYXNobWFwX2VudHJ5X2luaXQoZW50cnksIHN0cmhhc2goY21kKSk7Ci0KLQlzaWdjaGFpbl9wdXNoKFNJR1BJUEUsIFNJR19JR04pOwotCi0JZXJyID0gcGFja2V0X3dyaXRlX2xpc3QocHJvY2Vzcy0+aW4sICJnaXQtZmlsdGVyLWNsaWVudCIsICJ2ZXJzaW9uPTIiLCBOVUxMKTsKLQlpZiAoZXJyKQotCQlnb3RvIGRvbmU7Ci0KLQllcnIgPSBzdHJjbXAocGFja2V0X3JlYWRfbGluZShwcm9jZXNzLT5vdXQsIE5VTEwpLCAiZ2l0LWZpbHRlci1zZXJ2ZXIiKTsKLQlpZiAoZXJyKSB7Ci0JCWVycm9yKCJleHRlcm5hbCBmaWx0ZXIgJyVzJyBkb2VzIG5vdCBzdXBwb3J0IGZpbHRlciBwcm90b2NvbCB2ZXJzaW9uIDIiLCBjbWQpOwotCQlnb3RvIGRvbmU7Ci0JfQotCWVyciA9IHN0cmNtcChwYWNrZXRfcmVhZF9saW5lKHByb2Nlc3MtPm91dCwgTlVMTCksICJ2ZXJzaW9uPTIiKTsKLQlpZiAoZXJyKQotCQlnb3RvIGRvbmU7Ci0JZXJyID0gcGFja2V0X3JlYWRfbGluZShwcm9jZXNzLT5vdXQsIE5VTEwpICE9IE5VTEw7Ci0JaWYgKGVycikKLQkJZ290byBkb25lOwotCi0JZXJyID0gcGFja2V0X3dyaXRlX2xpc3QocHJvY2Vzcy0+aW4sICJjYXBhYmlsaXR5PWNsZWFuIiwgImNhcGFiaWxpdHk9c211ZGdlIiwgTlVMTCk7Ci0KLQlmb3IgKDs7KSB7Ci0JCWNhcF9idWYgPSBwYWNrZXRfcmVhZF9saW5lKHByb2Nlc3MtPm91dCwgTlVMTCk7Ci0JCWlmICghY2FwX2J1ZikKLQkJCWJyZWFrOwotCQlzdHJpbmdfbGlzdF9zcGxpdF9pbl9wbGFjZSgmY2FwX2xpc3QsIGNhcF9idWYsICc9JywgMSk7Ci0KLQkJaWYgKGNhcF9saXN0Lm5yICE9IDIgfHwgc3RyY21wKGNhcF9saXN0Lml0ZW1zWzBdLnN0cmluZywgImNhcGFiaWxpdHkiKSkKLQkJCWNvbnRpbnVlOwotCi0JCWNhcF9uYW1lID0gY2FwX2xpc3QuaXRlbXNbMV0uc3RyaW5nOwotCQlpZiAoIXN0cmNtcChjYXBfbmFtZSwgImNsZWFuIikpIHsKLQkJCWVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzIHw9IENBUF9DTEVBTjsKLQkJfSBlbHNlIGlmICghc3RyY21wKGNhcF9uYW1lLCAic211ZGdlIikpIHsKLQkJCWVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzIHw9IENBUF9TTVVER0U7Ci0JCX0gZWxzZSB7Ci0JCQl3YXJuaW5nKAotCQkJCSJleHRlcm5hbCBmaWx0ZXIgJyVzJyByZXF1ZXN0ZWQgdW5zdXBwb3J0ZWQgZmlsdGVyIGNhcGFiaWxpdHkgJyVzJyIsCi0JCQkJY21kLCBjYXBfbmFtZQotCQkJKTsKLQkJfQotCi0JCXN0cmluZ19saXN0X2NsZWFyKCZjYXBfbGlzdCwgMCk7Ci0JfQotCi1kb25lOgotCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKLQotCWlmIChlcnIgfHwgZXJybm8gPT0gRVBJUEUpIHsKLQkJZXJyb3IoImluaXRpYWxpemF0aW9uIGZvciBleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiLCBjbWQpOwotCQlraWxsX211bHRpX2ZpbGVfZmlsdGVyKGhhc2htYXAsIGVudHJ5KTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JaGFzaG1hcF9hZGQoaGFzaG1hcCwgZW50cnkpOwotCXJldHVybiBlbnRyeTsKIH0KIAogc3RhdGljIGludCBhcHBseV9tdWx0aV9maWxlX2ZpbHRlcihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCiAJCQkJICAgaW50IGZkLCBzdHJ1Y3Qgc3RyYnVmICpkc3QsIGNvbnN0IGNoYXIgKmNtZCwKLQkJCQkgICBjb25zdCB1bnNpZ25lZCBpbnQgd2FudGVkX2NhcGFiaWxpdHkpCisJCQkJICAgY29uc3QgdW5zaWduZWQgaW50IHdhbnRlZF9jYXBhYmlsaXR5LAorCQkJCSAgIHN0cnVjdCBkZWxheWVkX2NoZWNrb3V0ICpkY28pCiB7CiAJaW50IGVycjsKKwlpbnQgY2FuX2RlbGF5ID0gMDsKIAlzdHJ1Y3QgY21kMnByb2Nlc3MgKmVudHJ5OwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzICpwcm9jZXNzOwogCXN0cnVjdCBzdHJidWYgbmJ1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgZmlsdGVyX3N0YXR1cyA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKmZpbHRlcl90eXBlOwogCi0JaWYgKCFjbWRfcHJvY2Vzc19tYXBfaW5pdGlhbGl6ZWQpIHsKLQkJY21kX3Byb2Nlc3NfbWFwX2luaXRpYWxpemVkID0gMTsKLQkJaGFzaG1hcF9pbml0KCZjbWRfcHJvY2Vzc19tYXAsIChoYXNobWFwX2NtcF9mbikgY21kMnByb2Nlc3NfY21wLCAwKTsKKwlpZiAoIXN1YnByb2Nlc3NfbWFwX2luaXRpYWxpemVkKSB7CisJCXN1YnByb2Nlc3NfbWFwX2luaXRpYWxpemVkID0gMTsKKwkJaGFzaG1hcF9pbml0KCZzdWJwcm9jZXNzX21hcCwgY21kMnByb2Nlc3NfY21wLCBOVUxMLCAwKTsKIAkJZW50cnkgPSBOVUxMOwogCX0gZWxzZSB7Ci0JCWVudHJ5ID0gZmluZF9tdWx0aV9maWxlX2ZpbHRlcl9lbnRyeSgmY21kX3Byb2Nlc3NfbWFwLCBjbWQpOworCQllbnRyeSA9IChzdHJ1Y3QgY21kMnByb2Nlc3MgKilzdWJwcm9jZXNzX2ZpbmRfZW50cnkoJnN1YnByb2Nlc3NfbWFwLCBjbWQpOwogCX0KIAogCWZmbHVzaChOVUxMKTsKIAogCWlmICghZW50cnkpIHsKLQkJZW50cnkgPSBzdGFydF9tdWx0aV9maWxlX2ZpbHRlcigmY21kX3Byb2Nlc3NfbWFwLCBjbWQpOwotCQlpZiAoIWVudHJ5KQotCQkJcmV0dXJuIDA7Ci0JfQotCXByb2Nlc3MgPSAmZW50cnktPnByb2Nlc3M7CisJCWVudHJ5ID0geG1hbGxvYyhzaXplb2YoKmVudHJ5KSk7CisJCWVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzID0gMDsKIAotCWlmICghKHdhbnRlZF9jYXBhYmlsaXR5ICYgZW50cnktPnN1cHBvcnRlZF9jYXBhYmlsaXRpZXMpKQorCQlpZiAoc3VicHJvY2Vzc19zdGFydCgmc3VicHJvY2Vzc19tYXAsICZlbnRyeS0+c3VicHJvY2VzcywgY21kLCBzdGFydF9tdWx0aV9maWxlX2ZpbHRlcl9mbikpIHsKKwkJCWZyZWUoZW50cnkpOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJcHJvY2VzcyA9ICZlbnRyeS0+c3VicHJvY2Vzcy5wcm9jZXNzOworCisJaWYgKCEoZW50cnktPnN1cHBvcnRlZF9jYXBhYmlsaXRpZXMgJiB3YW50ZWRfY2FwYWJpbGl0eSkpCiAJCXJldHVybiAwOwogCi0JaWYgKENBUF9DTEVBTiAmIHdhbnRlZF9jYXBhYmlsaXR5KQorCWlmICh3YW50ZWRfY2FwYWJpbGl0eSAmIENBUF9DTEVBTikKIAkJZmlsdGVyX3R5cGUgPSAiY2xlYW4iOwotCWVsc2UgaWYgKENBUF9TTVVER0UgJiB3YW50ZWRfY2FwYWJpbGl0eSkKKwllbHNlIGlmICh3YW50ZWRfY2FwYWJpbGl0eSAmIENBUF9TTVVER0UpCiAJCWZpbHRlcl90eXBlID0gInNtdWRnZSI7CiAJZWxzZQogCQlkaWUoInVuZXhwZWN0ZWQgZmlsdGVyIHR5cGUiKTsKQEAgLTcyNiw2ICs2MTIsMTQgQEAKIAlpZiAoZXJyKQogCQlnb3RvIGRvbmU7CiAKKwlpZiAoKGVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzICYgQ0FQX0RFTEFZKSAmJgorCSAgICBkY28gJiYgZGNvLT5zdGF0ZSA9PSBDRV9DQU5fREVMQVkpIHsKKwkJY2FuX2RlbGF5ID0gMTsKKwkJZXJyID0gcGFja2V0X3dyaXRlX2ZtdF9nZW50bHkocHJvY2Vzcy0+aW4sICJjYW4tZGVsYXk9MVxuIik7CisJCWlmIChlcnIpCisJCQlnb3RvIGRvbmU7CisJfQorCiAJZXJyID0gcGFja2V0X2ZsdXNoX2dlbnRseShwcm9jZXNzLT5pbik7CiAJaWYgKGVycikKIAkJZ290byBkb25lOwpAQCAtNzM3LDQzICs2MzEsODggQEAKIAlpZiAoZXJyKQogCQlnb3RvIGRvbmU7CiAKLQlyZWFkX211bHRpX2ZpbGVfZmlsdGVyX3N0YXR1cyhwcm9jZXNzLT5vdXQsICZmaWx0ZXJfc3RhdHVzKTsKLQllcnIgPSBzdHJjbXAoZmlsdGVyX3N0YXR1cy5idWYsICJzdWNjZXNzIik7CisJZXJyID0gc3VicHJvY2Vzc19yZWFkX3N0YXR1cyhwcm9jZXNzLT5vdXQsICZmaWx0ZXJfc3RhdHVzKTsKIAlpZiAoZXJyKQogCQlnb3RvIGRvbmU7CiAKLQllcnIgPSByZWFkX3BhY2tldGl6ZWRfdG9fc3RyYnVmKHByb2Nlc3MtPm91dCwgJm5idWYpIDwgMDsKKwlpZiAoY2FuX2RlbGF5ICYmICFzdHJjbXAoZmlsdGVyX3N0YXR1cy5idWYsICJkZWxheWVkIikpIHsKKwkJc3RyaW5nX2xpc3RfaW5zZXJ0KCZkY28tPmZpbHRlcnMsIGNtZCk7CisJCXN0cmluZ19saXN0X2luc2VydCgmZGNvLT5wYXRocywgcGF0aCk7CisJfSBlbHNlIHsKKwkJLyogVGhlIGZpbHRlciBnb3QgdGhlIGJsb2IgYW5kIHdhbnRzIHRvIHNlbmQgdXMgYSByZXNwb25zZS4gKi8KKwkJZXJyID0gc3RyY21wKGZpbHRlcl9zdGF0dXMuYnVmLCAic3VjY2VzcyIpOworCQlpZiAoZXJyKQorCQkJZ290byBkb25lOworCisJCWVyciA9IHJlYWRfcGFja2V0aXplZF90b19zdHJidWYocHJvY2Vzcy0+b3V0LCAmbmJ1ZikgPCAwOworCQlpZiAoZXJyKQorCQkJZ290byBkb25lOworCisJCWVyciA9IHN1YnByb2Nlc3NfcmVhZF9zdGF0dXMocHJvY2Vzcy0+b3V0LCAmZmlsdGVyX3N0YXR1cyk7CisJCWlmIChlcnIpCisJCQlnb3RvIGRvbmU7CisKKwkJZXJyID0gc3RyY21wKGZpbHRlcl9zdGF0dXMuYnVmLCAic3VjY2VzcyIpOworCX0KKworZG9uZToKKwlzaWdjaGFpbl9wb3AoU0lHUElQRSk7CisKKwlpZiAoZXJyKQorCQloYW5kbGVfZmlsdGVyX2Vycm9yKCZmaWx0ZXJfc3RhdHVzLCBlbnRyeSwgd2FudGVkX2NhcGFiaWxpdHkpOworCWVsc2UKKwkJc3RyYnVmX3N3YXAoZHN0LCAmbmJ1Zik7CisJc3RyYnVmX3JlbGVhc2UoJm5idWYpOworCXJldHVybiAhZXJyOworfQorCisKK2ludCBhc3luY19xdWVyeV9hdmFpbGFibGVfYmxvYnMoY29uc3QgY2hhciAqY21kLCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmF2YWlsYWJsZV9wYXRocykKK3sKKwlpbnQgZXJyOworCWNoYXIgKmxpbmU7CisJc3RydWN0IGNtZDJwcm9jZXNzICplbnRyeTsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqcHJvY2VzczsKKwlzdHJ1Y3Qgc3RyYnVmIGZpbHRlcl9zdGF0dXMgPSBTVFJCVUZfSU5JVDsKKworCWFzc2VydChzdWJwcm9jZXNzX21hcF9pbml0aWFsaXplZCk7CisJZW50cnkgPSAoc3RydWN0IGNtZDJwcm9jZXNzICopc3VicHJvY2Vzc19maW5kX2VudHJ5KCZzdWJwcm9jZXNzX21hcCwgY21kKTsKKwlpZiAoIWVudHJ5KSB7CisJCWVycm9yKCJleHRlcm5hbCBmaWx0ZXIgJyVzJyBpcyBub3QgYXZhaWxhYmxlIGFueW1vcmUgYWx0aG91Z2ggIgorCQkgICAgICAibm90IGFsbCBwYXRocyBoYXZlIGJlZW4gZmlsdGVyZWQiLCBjbWQpOworCQlyZXR1cm4gMDsKKwl9CisJcHJvY2VzcyA9ICZlbnRyeS0+c3VicHJvY2Vzcy5wcm9jZXNzOworCXNpZ2NoYWluX3B1c2goU0lHUElQRSwgU0lHX0lHTik7CisKKwllcnIgPSBwYWNrZXRfd3JpdGVfZm10X2dlbnRseSgKKwkJcHJvY2Vzcy0+aW4sICJjb21tYW5kPWxpc3RfYXZhaWxhYmxlX2Jsb2JzXG4iKTsKIAlpZiAoZXJyKQogCQlnb3RvIGRvbmU7CiAKLQlyZWFkX211bHRpX2ZpbGVfZmlsdGVyX3N0YXR1cyhwcm9jZXNzLT5vdXQsICZmaWx0ZXJfc3RhdHVzKTsKKwllcnIgPSBwYWNrZXRfZmx1c2hfZ2VudGx5KHByb2Nlc3MtPmluKTsKKwlpZiAoZXJyKQorCQlnb3RvIGRvbmU7CisKKwl3aGlsZSAoKGxpbmUgPSBwYWNrZXRfcmVhZF9saW5lKHByb2Nlc3MtPm91dCwgTlVMTCkpKSB7CisJCWNvbnN0IGNoYXIgKnBhdGg7CisJCWlmIChza2lwX3ByZWZpeChsaW5lLCAicGF0aG5hbWU9IiwgJnBhdGgpKQorCQkJc3RyaW5nX2xpc3RfaW5zZXJ0KGF2YWlsYWJsZV9wYXRocywgeHN0cmR1cChwYXRoKSk7CisJCWVsc2UKKwkJCTsgLyogaWdub3JlIHVua25vd24ga2V5cyAqLworCX0KKworCWVyciA9IHN1YnByb2Nlc3NfcmVhZF9zdGF0dXMocHJvY2Vzcy0+b3V0LCAmZmlsdGVyX3N0YXR1cyk7CisJaWYgKGVycikKKwkJZ290byBkb25lOworCiAJZXJyID0gc3RyY21wKGZpbHRlcl9zdGF0dXMuYnVmLCAic3VjY2VzcyIpOwogCiBkb25lOgogCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKIAotCWlmIChlcnIgfHwgZXJybm8gPT0gRVBJUEUpIHsKLQkJaWYgKCFzdHJjbXAoZmlsdGVyX3N0YXR1cy5idWYsICJlcnJvciIpKSB7Ci0JCQkvKiBUaGUgZmlsdGVyIHNpZ25hbGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmaWxlLiAqLwotCQl9IGVsc2UgaWYgKCFzdHJjbXAoZmlsdGVyX3N0YXR1cy5idWYsICJhYm9ydCIpKSB7Ci0JCQkvKgotCQkJICogVGhlIGZpbHRlciBzaWduYWxlZCBhIHBlcm1hbmVudCBwcm9ibGVtLiBEb24ndCB0cnkgdG8gZmlsdGVyCi0JCQkgKiBmaWxlcyB3aXRoIHRoZSBzYW1lIGNvbW1hbmQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY3VycmVudAotCQkJICogR2l0IHByb2Nlc3MuCi0JCQkgKi8KLQkJCSBlbnRyeS0+c3VwcG9ydGVkX2NhcGFiaWxpdGllcyAmPSB+d2FudGVkX2NhcGFiaWxpdHk7Ci0JCX0gZWxzZSB7Ci0JCQkvKgotCQkJICogU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2l0aCB0aGUgcHJvdG9jb2wgZmlsdGVyLgotCQkJICogRm9yY2Ugc2h1dGRvd24gYW5kIHJlc3RhcnQgaWYgYW5vdGhlciBibG9iIHJlcXVpcmVzIGZpbHRlcmluZy4KLQkJCSAqLwotCQkJZXJyb3IoImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIsIGNtZCk7Ci0JCQlraWxsX211bHRpX2ZpbGVfZmlsdGVyKCZjbWRfcHJvY2Vzc19tYXAsIGVudHJ5KTsKLQkJfQotCX0gZWxzZSB7Ci0JCXN0cmJ1Zl9zd2FwKGRzdCwgJm5idWYpOwotCX0KLQlzdHJidWZfcmVsZWFzZSgmbmJ1Zik7CisJaWYgKGVycikKKwkJaGFuZGxlX2ZpbHRlcl9lcnJvcigmZmlsdGVyX3N0YXR1cywgZW50cnksIDApOwogCXJldHVybiAhZXJyOwogfQogCkBAIC03ODgsNyArNzI3LDggQEAKIAogc3RhdGljIGludCBhcHBseV9maWx0ZXIoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLAogCQkJaW50IGZkLCBzdHJ1Y3Qgc3RyYnVmICpkc3QsIHN0cnVjdCBjb252ZXJ0X2RyaXZlciAqZHJ2LAotCQkJY29uc3QgdW5zaWduZWQgaW50IHdhbnRlZF9jYXBhYmlsaXR5KQorCQkJY29uc3QgdW5zaWduZWQgaW50IHdhbnRlZF9jYXBhYmlsaXR5LAorCQkJc3RydWN0IGRlbGF5ZWRfY2hlY2tvdXQgKmRjbykKIHsKIAljb25zdCBjaGFyICpjbWQgPSBOVUxMOwogCkBAIC03OTgsMTUgKzczOCwxNiBAQAogCWlmICghZHN0KQogCQlyZXR1cm4gMTsKIAotCWlmICgoQ0FQX0NMRUFOICYgd2FudGVkX2NhcGFiaWxpdHkpICYmICFkcnYtPnByb2Nlc3MgJiYgZHJ2LT5jbGVhbikKKwlpZiAoKHdhbnRlZF9jYXBhYmlsaXR5ICYgQ0FQX0NMRUFOKSAmJiAhZHJ2LT5wcm9jZXNzICYmIGRydi0+Y2xlYW4pCiAJCWNtZCA9IGRydi0+Y2xlYW47Ci0JZWxzZSBpZiAoKENBUF9TTVVER0UgJiB3YW50ZWRfY2FwYWJpbGl0eSkgJiYgIWRydi0+cHJvY2VzcyAmJiBkcnYtPnNtdWRnZSkKKwllbHNlIGlmICgod2FudGVkX2NhcGFiaWxpdHkgJiBDQVBfU01VREdFKSAmJiAhZHJ2LT5wcm9jZXNzICYmIGRydi0+c211ZGdlKQogCQljbWQgPSBkcnYtPnNtdWRnZTsKIAogCWlmIChjbWQgJiYgKmNtZCkKIAkJcmV0dXJuIGFwcGx5X3NpbmdsZV9maWxlX2ZpbHRlcihwYXRoLCBzcmMsIGxlbiwgZmQsIGRzdCwgY21kKTsKIAllbHNlIGlmIChkcnYtPnByb2Nlc3MgJiYgKmRydi0+cHJvY2VzcykKLQkJcmV0dXJuIGFwcGx5X211bHRpX2ZpbGVfZmlsdGVyKHBhdGgsIHNyYywgbGVuLCBmZCwgZHN0LCBkcnYtPnByb2Nlc3MsIHdhbnRlZF9jYXBhYmlsaXR5KTsKKwkJcmV0dXJuIGFwcGx5X211bHRpX2ZpbGVfZmlsdGVyKHBhdGgsIHNyYywgbGVuLCBmZCwgZHN0LAorCQkJZHJ2LT5wcm9jZXNzLCB3YW50ZWRfY2FwYWJpbGl0eSwgZGNvKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTAyOCw3ICs5NjksNyBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgZW51bSBjcmxmX2FjdGlvbiBnaXRfcGF0aF9jaGVja19jcmxmKHN0cnVjdCBnaXRfYXR0cl9jaGVjayAqY2hlY2spCitzdGF0aWMgZW51bSBjcmxmX2FjdGlvbiBnaXRfcGF0aF9jaGVja19jcmxmKHN0cnVjdCBhdHRyX2NoZWNrX2l0ZW0gKmNoZWNrKQogewogCWNvbnN0IGNoYXIgKnZhbHVlID0gY2hlY2stPnZhbHVlOwogCkBAIC0xMDQ1LDcgKzk4Niw3IEBACiAJcmV0dXJuIENSTEZfVU5ERUZJTkVEOwogfQogCi1zdGF0aWMgZW51bSBlb2wgZ2l0X3BhdGhfY2hlY2tfZW9sKHN0cnVjdCBnaXRfYXR0cl9jaGVjayAqY2hlY2spCitzdGF0aWMgZW51bSBlb2wgZ2l0X3BhdGhfY2hlY2tfZW9sKHN0cnVjdCBhdHRyX2NoZWNrX2l0ZW0gKmNoZWNrKQogewogCWNvbnN0IGNoYXIgKnZhbHVlID0gY2hlY2stPnZhbHVlOwogCkBAIC0xMDU4LDcgKzk5OSw3IEBACiAJcmV0dXJuIEVPTF9VTlNFVDsKIH0KIAotc3RhdGljIHN0cnVjdCBjb252ZXJ0X2RyaXZlciAqZ2l0X3BhdGhfY2hlY2tfY29udmVydChzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgKmNoZWNrKQorc3RhdGljIHN0cnVjdCBjb252ZXJ0X2RyaXZlciAqZ2l0X3BhdGhfY2hlY2tfY29udmVydChzdHJ1Y3QgYXR0cl9jaGVja19pdGVtICpjaGVjaykKIHsKIAljb25zdCBjaGFyICp2YWx1ZSA9IGNoZWNrLT52YWx1ZTsKIAlzdHJ1Y3QgY29udmVydF9kcml2ZXIgKmRydjsKQEAgLTEwNzEsNyArMTAxMiw3IEBACiAJcmV0dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyBpbnQgZ2l0X3BhdGhfY2hlY2tfaWRlbnQoc3RydWN0IGdpdF9hdHRyX2NoZWNrICpjaGVjaykKK3N0YXRpYyBpbnQgZ2l0X3BhdGhfY2hlY2tfaWRlbnQoc3RydWN0IGF0dHJfY2hlY2tfaXRlbSAqY2hlY2spCiB7CiAJY29uc3QgY2hhciAqdmFsdWUgPSBjaGVjay0+dmFsdWU7CiAKQEAgLTEwODUsMjggKzEwMjYsMjIgQEAKIAlpbnQgaWRlbnQ7CiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqY29udl9hdHRyX25hbWVbXSA9IHsKLQkiY3JsZiIsICJpZGVudCIsICJmaWx0ZXIiLCAiZW9sIiwgInRleHQiLAotfTsKLSNkZWZpbmUgTlVNX0NPTlZfQVRUUlMgQVJSQVlfU0laRShjb252X2F0dHJfbmFtZSkKLQogc3RhdGljIHZvaWQgY29udmVydF9hdHRycyhzdHJ1Y3QgY29udl9hdHRycyAqY2EsIGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0JaW50IGk7Ci0Jc3RhdGljIHN0cnVjdCBnaXRfYXR0cl9jaGVjayBjY2hlY2tbTlVNX0NPTlZfQVRUUlNdOworCXN0YXRpYyBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2s7CiAKLQlpZiAoIWNjaGVja1swXS5hdHRyKSB7Ci0JCWZvciAoaSA9IDA7IGkgPCBOVU1fQ09OVl9BVFRSUzsgaSsrKQotCQkJY2NoZWNrW2ldLmF0dHIgPSBnaXRfYXR0cihjb252X2F0dHJfbmFtZVtpXSk7CisJaWYgKCFjaGVjaykgeworCQljaGVjayA9IGF0dHJfY2hlY2tfaW5pdGwoImNybGYiLCAiaWRlbnQiLCAiZmlsdGVyIiwKKwkJCQkJICJlb2wiLCAidGV4dCIsIE5VTEwpOwogCQl1c2VyX2NvbnZlcnRfdGFpbCA9ICZ1c2VyX2NvbnZlcnQ7CiAJCWdpdF9jb25maWcocmVhZF9jb252ZXJ0X2NvbmZpZywgTlVMTCk7CiAJfQogCi0JaWYgKCFnaXRfY2hlY2tfYXR0cihwYXRoLCBOVU1fQ09OVl9BVFRSUywgY2NoZWNrKSkgeworCWlmICghZ2l0X2NoZWNrX2F0dHIocGF0aCwgY2hlY2spKSB7CisJCXN0cnVjdCBhdHRyX2NoZWNrX2l0ZW0gKmNjaGVjayA9IGNoZWNrLT5pdGVtczsKIAkJY2EtPmNybGZfYWN0aW9uID0gZ2l0X3BhdGhfY2hlY2tfY3JsZihjY2hlY2sgKyA0KTsKIAkJaWYgKGNhLT5jcmxmX2FjdGlvbiA9PSBDUkxGX1VOREVGSU5FRCkKIAkJCWNhLT5jcmxmX2FjdGlvbiA9IGdpdF9wYXRoX2NoZWNrX2NybGYoY2NoZWNrICsgMCk7Ci0JCWNhLT5hdHRyX2FjdGlvbiA9IGNhLT5jcmxmX2FjdGlvbjsKIAkJY2EtPmlkZW50ID0gZ2l0X3BhdGhfY2hlY2tfaWRlbnQoY2NoZWNrICsgMSk7CiAJCWNhLT5kcnYgPSBnaXRfcGF0aF9jaGVja19jb252ZXJ0KGNjaGVjayArIDIpOwogCQlpZiAoY2EtPmNybGZfYWN0aW9uICE9IENSTEZfQklOQVJZKSB7CkBAIC0xMTIwLDEyICsxMDU1LDE0IEBACiAJCQllbHNlIGlmIChlb2xfYXR0ciA9PSBFT0xfQ1JMRikKIAkJCQljYS0+Y3JsZl9hY3Rpb24gPSBDUkxGX1RFWFRfQ1JMRjsKIAkJfQotCQljYS0+YXR0cl9hY3Rpb24gPSBjYS0+Y3JsZl9hY3Rpb247CiAJfSBlbHNlIHsKIAkJY2EtPmRydiA9IE5VTEw7CiAJCWNhLT5jcmxmX2FjdGlvbiA9IENSTEZfVU5ERUZJTkVEOwogCQljYS0+aWRlbnQgPSAwOwogCX0KKworCS8qIFNhdmUgYXR0ciBhbmQgbWFrZSBhIGRlY2lzaW9uIGZvciBhY3Rpb24gKi8KKwljYS0+YXR0cl9hY3Rpb24gPSBjYS0+Y3JsZl9hY3Rpb247CiAJaWYgKGNhLT5jcmxmX2FjdGlvbiA9PSBDUkxGX1RFWFQpCiAJCWNhLT5jcmxmX2FjdGlvbiA9IHRleHRfZW9sX2lzX2NybGYoKSA/IENSTEZfVEVYVF9DUkxGIDogQ1JMRl9URVhUX0lOUFVUOwogCWlmIChjYS0+Y3JsZl9hY3Rpb24gPT0gQ1JMRl9VTkRFRklORUQgJiYgYXV0b19jcmxmID09IEFVVE9fQ1JMRl9GQUxTRSkKQEAgLTExNTIsNyArMTA4OSw3IEBACiAJaWYgKCFjYS5kcnYtPnJlcXVpcmVkKQogCQlyZXR1cm4gMDsKIAotCXJldHVybiBhcHBseV9maWx0ZXIocGF0aCwgTlVMTCwgMCwgLTEsIE5VTEwsIGNhLmRydiwgQ0FQX0NMRUFOKTsKKwlyZXR1cm4gYXBwbHlfZmlsdGVyKHBhdGgsIE5VTEwsIDAsIC0xLCBOVUxMLCBjYS5kcnYsIENBUF9DTEVBTiwgTlVMTCk7CiB9CiAKIGNvbnN0IGNoYXIgKmdldF9jb252ZXJ0X2F0dHJfYXNjaWkoY29uc3QgY2hhciAqcGF0aCkKQEAgLTExODEsNyArMTExOCw4IEBACiAJcmV0dXJuICIiOwogfQogCi1pbnQgY29udmVydF90b19naXQoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLAoraW50IGNvbnZlcnRfdG9fZ2l0KGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCiAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN0cmJ1ZiAqZHN0LCBlbnVtIHNhZmVfY3JsZiBjaGVja3NhZmUpCiB7CiAJaW50IHJldCA9IDA7CkBAIC0xMTg5LDcgKzExMjcsNyBAQAogCiAJY29udmVydF9hdHRycygmY2EsIHBhdGgpOwogCi0JcmV0IHw9IGFwcGx5X2ZpbHRlcihwYXRoLCBzcmMsIGxlbiwgLTEsIGRzdCwgY2EuZHJ2LCBDQVBfQ0xFQU4pOworCXJldCB8PSBhcHBseV9maWx0ZXIocGF0aCwgc3JjLCBsZW4sIC0xLCBkc3QsIGNhLmRydiwgQ0FQX0NMRUFOLCBOVUxMKTsKIAlpZiAoIXJldCAmJiBjYS5kcnYgJiYgY2EuZHJ2LT5yZXF1aXJlZCkKIAkJZGllKCIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIiwgcGF0aCwgY2EuZHJ2LT5uYW1lKTsKIApAQCAtMTE5NywxNSArMTEzNSwxOCBAQAogCQlzcmMgPSBkc3QtPmJ1ZjsKIAkJbGVuID0gZHN0LT5sZW47CiAJfQotCXJldCB8PSBjcmxmX3RvX2dpdChwYXRoLCBzcmMsIGxlbiwgZHN0LCBjYS5jcmxmX2FjdGlvbiwgY2hlY2tzYWZlKTsKLQlpZiAocmV0ICYmIGRzdCkgewotCQlzcmMgPSBkc3QtPmJ1ZjsKLQkJbGVuID0gZHN0LT5sZW47CisJaWYgKGNoZWNrc2FmZSAhPSBTQUZFX0NSTEZfS0VFUF9DUkxGKSB7CisJCXJldCB8PSBjcmxmX3RvX2dpdChpc3RhdGUsIHBhdGgsIHNyYywgbGVuLCBkc3QsIGNhLmNybGZfYWN0aW9uLCBjaGVja3NhZmUpOworCQlpZiAocmV0ICYmIGRzdCkgeworCQkJc3JjID0gZHN0LT5idWY7CisJCQlsZW4gPSBkc3QtPmxlbjsKKwkJfQogCX0KIAlyZXR1cm4gcmV0IHwgaWRlbnRfdG9fZ2l0KHBhdGgsIHNyYywgbGVuLCBkc3QsIGNhLmlkZW50KTsKIH0KIAotdm9pZCBjb252ZXJ0X3RvX2dpdF9maWx0ZXJfZmQoY29uc3QgY2hhciAqcGF0aCwgaW50IGZkLCBzdHJ1Y3Qgc3RyYnVmICpkc3QsCit2b2lkIGNvbnZlcnRfdG9fZ2l0X2ZpbHRlcl9mZChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKnBhdGgsIGludCBmZCwgc3RydWN0IHN0cmJ1ZiAqZHN0LAogCQkJICAgICAgZW51bSBzYWZlX2NybGYgY2hlY2tzYWZlKQogewogCXN0cnVjdCBjb252X2F0dHJzIGNhOwpAQCAtMTIxNCwxNiArMTE1NSwxNiBAQAogCWFzc2VydChjYS5kcnYpOwogCWFzc2VydChjYS5kcnYtPmNsZWFuIHx8IGNhLmRydi0+cHJvY2Vzcyk7CiAKLQlpZiAoIWFwcGx5X2ZpbHRlcihwYXRoLCBOVUxMLCAwLCBmZCwgZHN0LCBjYS5kcnYsIENBUF9DTEVBTikpCisJaWYgKCFhcHBseV9maWx0ZXIocGF0aCwgTlVMTCwgMCwgZmQsIGRzdCwgY2EuZHJ2LCBDQVBfQ0xFQU4sIE5VTEwpKQogCQlkaWUoIiVzOiBjbGVhbiBmaWx0ZXIgJyVzJyBmYWlsZWQiLCBwYXRoLCBjYS5kcnYtPm5hbWUpOwogCi0JY3JsZl90b19naXQocGF0aCwgZHN0LT5idWYsIGRzdC0+bGVuLCBkc3QsIGNhLmNybGZfYWN0aW9uLCBjaGVja3NhZmUpOworCWNybGZfdG9fZ2l0KGlzdGF0ZSwgcGF0aCwgZHN0LT5idWYsIGRzdC0+bGVuLCBkc3QsIGNhLmNybGZfYWN0aW9uLCBjaGVja3NhZmUpOwogCWlkZW50X3RvX2dpdChwYXRoLCBkc3QtPmJ1ZiwgZHN0LT5sZW4sIGRzdCwgY2EuaWRlbnQpOwogfQogCiBzdGF0aWMgaW50IGNvbnZlcnRfdG9fd29ya2luZ190cmVlX2ludGVybmFsKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnNyYywKIAkJCQkJICAgIHNpemVfdCBsZW4sIHN0cnVjdCBzdHJidWYgKmRzdCwKLQkJCQkJICAgIGludCBub3JtYWxpemluZykKKwkJCQkJICAgIGludCBub3JtYWxpemluZywgc3RydWN0IGRlbGF5ZWRfY2hlY2tvdXQgKmRjbykKIHsKIAlpbnQgcmV0ID0gMCwgcmV0X2ZpbHRlciA9IDA7CiAJc3RydWN0IGNvbnZfYXR0cnMgY2E7CkBAIC0xMjQ4LDI2ICsxMTg5LDM1IEBACiAJCX0KIAl9CiAKLQlyZXRfZmlsdGVyID0gYXBwbHlfZmlsdGVyKHBhdGgsIHNyYywgbGVuLCAtMSwgZHN0LCBjYS5kcnYsIENBUF9TTVVER0UpOworCXJldF9maWx0ZXIgPSBhcHBseV9maWx0ZXIoCisJCXBhdGgsIHNyYywgbGVuLCAtMSwgZHN0LCBjYS5kcnYsIENBUF9TTVVER0UsIGRjbyk7CiAJaWYgKCFyZXRfZmlsdGVyICYmIGNhLmRydiAmJiBjYS5kcnYtPnJlcXVpcmVkKQogCQlkaWUoIiVzOiBzbXVkZ2UgZmlsdGVyICVzIGZhaWxlZCIsIHBhdGgsIGNhLmRydi0+bmFtZSk7CiAKIAlyZXR1cm4gcmV0IHwgcmV0X2ZpbHRlcjsKIH0KIAotaW50IGNvbnZlcnRfdG9fd29ya2luZ190cmVlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGxlbiwgc3RydWN0IHN0cmJ1ZiAqZHN0KQoraW50IGFzeW5jX2NvbnZlcnRfdG9fd29ya2luZ190cmVlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnNyYywKKwkJCQkgIHNpemVfdCBsZW4sIHN0cnVjdCBzdHJidWYgKmRzdCwKKwkJCQkgIHZvaWQgKmRjbykKIHsKLQlyZXR1cm4gY29udmVydF90b193b3JraW5nX3RyZWVfaW50ZXJuYWwocGF0aCwgc3JjLCBsZW4sIGRzdCwgMCk7CisJcmV0dXJuIGNvbnZlcnRfdG9fd29ya2luZ190cmVlX2ludGVybmFsKHBhdGgsIHNyYywgbGVuLCBkc3QsIDAsIGRjbyk7CiB9CiAKLWludCByZW5vcm1hbGl6ZV9idWZmZXIoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLCBzdHJ1Y3Qgc3RyYnVmICpkc3QpCitpbnQgY29udmVydF90b193b3JraW5nX3RyZWUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLCBzdHJ1Y3Qgc3RyYnVmICpkc3QpCiB7Ci0JaW50IHJldCA9IGNvbnZlcnRfdG9fd29ya2luZ190cmVlX2ludGVybmFsKHBhdGgsIHNyYywgbGVuLCBkc3QsIDEpOworCXJldHVybiBjb252ZXJ0X3RvX3dvcmtpbmdfdHJlZV9pbnRlcm5hbChwYXRoLCBzcmMsIGxlbiwgZHN0LCAwLCBOVUxMKTsKK30KKworaW50IHJlbm9ybWFsaXplX2J1ZmZlcihjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqcGF0aCwKKwkJICAgICAgIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGxlbiwgc3RydWN0IHN0cmJ1ZiAqZHN0KQoreworCWludCByZXQgPSBjb252ZXJ0X3RvX3dvcmtpbmdfdHJlZV9pbnRlcm5hbChwYXRoLCBzcmMsIGxlbiwgZHN0LCAxLCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCXNyYyA9IGRzdC0+YnVmOwogCQlsZW4gPSBkc3QtPmxlbjsKIAl9Ci0JcmV0dXJuIHJldCB8IGNvbnZlcnRfdG9fZ2l0KHBhdGgsIHNyYywgbGVuLCBkc3QsIFNBRkVfQ1JMRl9SRU5PUk1BTElaRSk7CisJcmV0dXJuIHJldCB8IGNvbnZlcnRfdG9fZ2l0KGlzdGF0ZSwgcGF0aCwgc3JjLCBsZW4sIGRzdCwgU0FGRV9DUkxGX1JFTk9STUFMSVpFKTsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xNTk1LDggKzE1NDUsOSBAQAogCQlzd2l0Y2ggKGlkZW50LT5zdGF0ZSkgewogCQlkZWZhdWx0OgogCQkJc3RyYnVmX2FkZCgmaWRlbnQtPmxlZnQsIGhlYWQsIGlkZW50LT5zdGF0ZSk7CisJCQkvKiBmYWxsdGhyb3VnaCAqLwogCQljYXNlIElERU5UX1NLSVBQSU5HOgotCQkJLyogZmFsbHRocnUgKi8KKwkJCS8qIGZhbGx0aHJvdWdoICovCiAJCWNhc2UgSURFTlRfRFJBSU5JTkc6CiAJCQlpZGVudF9kcmFpbihpZGVudCwgJm91dHB1dCwgb3NpemVfcCk7CiAJCX0KZGlmZiAtLWdpdCBhL2NvbnZlcnQuaCBiL2NvbnZlcnQuaAppbmRleCA4Mjg3MWExLi40ZjJkYTIyIDEwMDY0NAotLS0gYS9jb252ZXJ0LmgKKysrIGIvY29udmVydC5oCkBAIC00LDExICs0LDE2IEBACiAjaWZuZGVmIENPTlZFUlRfSAogI2RlZmluZSBDT05WRVJUX0gKIAorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisKK3N0cnVjdCBpbmRleF9zdGF0ZTsKKwogZW51bSBzYWZlX2NybGYgewogCVNBRkVfQ1JMRl9GQUxTRSA9IDAsCiAJU0FGRV9DUkxGX0ZBSUwgPSAxLAogCVNBRkVfQ1JMRl9XQVJOID0gMiwKLQlTQUZFX0NSTEZfUkVOT1JNQUxJWkUgPSAzCisJU0FGRV9DUkxGX1JFTk9STUFMSVpFID0gMywKKwlTQUZFX0NSTEZfS0VFUF9DUkxGID0gNAogfTsKIAogZXh0ZXJuIGVudW0gc2FmZV9jcmxmIHNhZmVfY3JsZjsKQEAgLTMyLDI0ICszNyw1MyBAQAogI2VuZGlmCiB9OwogCitlbnVtIGNlX2RlbGF5X3N0YXRlIHsKKwlDRV9OT19ERUxBWSA9IDAsCisJQ0VfQ0FOX0RFTEFZID0gMSwKKwlDRV9SRVRSWSA9IDIKK307CisKK3N0cnVjdCBkZWxheWVkX2NoZWNrb3V0IHsKKwkvKgorCSAqIFN0YXRlIG9mIHRoZSBjdXJyZW50bHkgcHJvY2Vzc2VkIGNhY2hlIGVudHJ5LiBJZiB0aGUgc3RhdGUgaXMKKwkgKiBDRV9DQU5fREVMQVksIHRoZW4gdGhlIGZpbHRlciBjYW4gZGVsYXkgdGhlIGN1cnJlbnQgY2FjaGUgZW50cnkuCisJICogSWYgdGhlIHN0YXRlIGlzIENFX1JFVFJZLCB0aGVuIHRoaXMgc2lnbmFscyB0aGUgZmlsdGVyIHRoYXQgdGhlCisJICogY2FjaGUgZW50cnkgd2FzIHJlcXVlc3RlZCBiZWZvcmUuCisJICovCisJZW51bSBjZV9kZWxheV9zdGF0ZSBzdGF0ZTsKKwkvKiBMaXN0IG9mIGZpbHRlciBkcml2ZXJzIHRoYXQgc2lnbmFsZWQgZGVsYXllZCBibG9icy4gKi8KKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgZmlsdGVyczsKKwkvKiBMaXN0IG9mIGRlbGF5ZWQgYmxvYnMgaWRlbnRpZmllZCBieSB0aGVpciBwYXRoLiAqLworCXN0cnVjdCBzdHJpbmdfbGlzdCBwYXRoczsKK307CisKIGV4dGVybiBlbnVtIGVvbCBjb3JlX2VvbDsKLWV4dGVybiBjb25zdCBjaGFyICpnZXRfY2FjaGVkX2NvbnZlcnRfc3RhdHNfYXNjaWkoY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gY29uc3QgY2hhciAqZ2V0X2NhY2hlZF9jb252ZXJ0X3N0YXRzX2FzY2lpKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJCQkJICBjb25zdCBjaGFyICpwYXRoKTsKIGV4dGVybiBjb25zdCBjaGFyICpnZXRfd3RfY29udmVydF9zdGF0c19hc2NpaShjb25zdCBjaGFyICpwYXRoKTsKIGV4dGVybiBjb25zdCBjaGFyICpnZXRfY29udmVydF9hdHRyX2FzY2lpKGNvbnN0IGNoYXIgKnBhdGgpOwogCiAvKiByZXR1cm5zIDEgaWYgKmRzdCB3YXMgdXNlZCAqLwotZXh0ZXJuIGludCBjb252ZXJ0X3RvX2dpdChjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCitleHRlcm4gaW50IGNvbnZlcnRfdG9fZ2l0KGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJICBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCiAJCQkgIHN0cnVjdCBzdHJidWYgKmRzdCwgZW51bSBzYWZlX2NybGYgY2hlY2tzYWZlKTsKIGV4dGVybiBpbnQgY29udmVydF90b193b3JraW5nX3RyZWUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLAogCQkJCSAgIHNpemVfdCBsZW4sIHN0cnVjdCBzdHJidWYgKmRzdCk7Ci1leHRlcm4gaW50IHJlbm9ybWFsaXplX2J1ZmZlcihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCitleHRlcm4gaW50IGFzeW5jX2NvbnZlcnRfdG9fd29ya2luZ190cmVlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnNyYywKKwkJCQkJIHNpemVfdCBsZW4sIHN0cnVjdCBzdHJidWYgKmRzdCwKKwkJCQkJIHZvaWQgKmRjbyk7CitleHRlcm4gaW50IGFzeW5jX3F1ZXJ5X2F2YWlsYWJsZV9ibG9icyhjb25zdCBjaGFyICpjbWQsIHN0cnVjdCBzdHJpbmdfbGlzdCAqYXZhaWxhYmxlX3BhdGhzKTsKK2V4dGVybiBpbnQgcmVub3JtYWxpemVfYnVmZmVyKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJICAgICAgY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLAogCQkJICAgICAgc3RydWN0IHN0cmJ1ZiAqZHN0KTsKLXN0YXRpYyBpbmxpbmUgaW50IHdvdWxkX2NvbnZlcnRfdG9fZ2l0KGNvbnN0IGNoYXIgKnBhdGgpCitzdGF0aWMgaW5saW5lIGludCB3b3VsZF9jb252ZXJ0X3RvX2dpdChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCQkgICAgICAgY29uc3QgY2hhciAqcGF0aCkKIHsKLQlyZXR1cm4gY29udmVydF90b19naXQocGF0aCwgTlVMTCwgMCwgTlVMTCwgMCk7CisJcmV0dXJuIGNvbnZlcnRfdG9fZ2l0KGlzdGF0ZSwgcGF0aCwgTlVMTCwgMCwgTlVMTCwgMCk7CiB9CiAvKiBQcmVjb25kaXRpb246IHdvdWxkX2NvbnZlcnRfdG9fZ2l0X2ZpbHRlcl9mZChwYXRoKSA9PSB0cnVlICovCi1leHRlcm4gdm9pZCBjb252ZXJ0X3RvX2dpdF9maWx0ZXJfZmQoY29uc3QgY2hhciAqcGF0aCwgaW50IGZkLAorZXh0ZXJuIHZvaWQgY29udmVydF90b19naXRfZmlsdGVyX2ZkKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJCSAgICAgY29uc3QgY2hhciAqcGF0aCwgaW50IGZkLAogCQkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqZHN0LAogCQkJCSAgICAgZW51bSBzYWZlX2NybGYgY2hlY2tzYWZlKTsKIGV4dGVybiBpbnQgd291bGRfY29udmVydF90b19naXRfZmlsdGVyX2ZkKGNvbnN0IGNoYXIgKnBhdGgpOwpkaWZmIC0tZ2l0IGEvY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmMgYi9jcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYwppbmRleCA0NmM1OTM3Li40ZGZiYzhjIDEwMDY0NAotLS0gYS9jcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYworKysgYi9jcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYwpAQCAtMSwxNCArMSwxMyBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAidGVtcGZpbGUuaCIKICNpbmNsdWRlICJjcmVkZW50aWFsLmgiCiAjaW5jbHVkZSAidW5peC1zb2NrZXQuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAKLXN0YXRpYyBzdHJ1Y3QgdGVtcGZpbGUgc29ja2V0X2ZpbGU7Ci0KIHN0cnVjdCBjcmVkZW50aWFsX2NhY2hlX2VudHJ5IHsKIAlzdHJ1Y3QgY3JlZGVudGlhbCBpdGVtOwotCXVuc2lnbmVkIGxvbmcgZXhwaXJhdGlvbjsKKwl0aW1lc3RhbXBfdCBleHBpcmF0aW9uOwogfTsKIHN0YXRpYyBzdHJ1Y3QgY3JlZGVudGlhbF9jYWNoZV9lbnRyeSAqZW50cmllczsKIHN0YXRpYyBpbnQgZW50cmllc19ucjsKQEAgLTQ3LDEyICs0NiwxMiBAQAogCQllLT5leHBpcmF0aW9uID0gMDsKIH0KIAotc3RhdGljIGludCBjaGVja19leHBpcmF0aW9ucyh2b2lkKQorc3RhdGljIHRpbWVzdGFtcF90IGNoZWNrX2V4cGlyYXRpb25zKHZvaWQpCiB7Ci0Jc3RhdGljIHVuc2lnbmVkIGxvbmcgd2FpdF9mb3JfZW50cnlfdW50aWw7CisJc3RhdGljIHRpbWVzdGFtcF90IHdhaXRfZm9yX2VudHJ5X3VudGlsOwogCWludCBpID0gMDsKLQl1bnNpZ25lZCBsb25nIG5vdyA9IHRpbWUoTlVMTCk7Ci0JdW5zaWduZWQgbG9uZyBuZXh0ID0gKHVuc2lnbmVkIGxvbmcpLTE7CisJdGltZXN0YW1wX3Qgbm93ID0gdGltZShOVUxMKTsKKwl0aW1lc3RhbXBfdCBuZXh0ID0gVElNRV9NQVg7CiAKIAkvKgogCSAqIEluaXRpYWxseSBnaXZlIHRoZSBjbGllbnQgMzAgc2Vjb25kcyB0byBhY3R1YWxseSBjb250YWN0IHVzCkBAIC0xNTksNyArMTU4LDcgQEAKIHN0YXRpYyBpbnQgc2VydmVfY2FjaGVfbG9vcChpbnQgZmQpCiB7CiAJc3RydWN0IHBvbGxmZCBwZmQ7Ci0JdW5zaWduZWQgbG9uZyB3YWtldXA7CisJdGltZXN0YW1wX3Qgd2FrZXVwOwogCiAJd2FrZXVwID0gY2hlY2tfZXhwaXJhdGlvbnMoKTsKIAlpZiAoIXdha2V1cCkKQEAgLTI1OSw2ICsyNTgsNyBAQAogCiBpbnQgY21kX21haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogeworCXN0cnVjdCB0ZW1wZmlsZSAqc29ja2V0X2ZpbGU7CiAJY29uc3QgY2hhciAqc29ja2V0X3BhdGg7CiAJaW50IGlnbm9yZV9zaWdodXAgPSAwOwogCXN0YXRpYyBjb25zdCBjaGFyICp1c2FnZVtdID0gewpAQCAtMjg0LDcgKzI4NCw3IEBACiAJCWRpZSgic29ja2V0IGRpcmVjdG9yeSBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGgiKTsKIAogCWluaXRfc29ja2V0X2RpcmVjdG9yeShzb2NrZXRfcGF0aCk7Ci0JcmVnaXN0ZXJfdGVtcGZpbGUoJnNvY2tldF9maWxlLCBzb2NrZXRfcGF0aCk7CisJc29ja2V0X2ZpbGUgPSByZWdpc3Rlcl90ZW1wZmlsZShzb2NrZXRfcGF0aCk7CiAKIAlpZiAoaWdub3JlX3NpZ2h1cCkKIAkJc2lnbmFsKFNJR0hVUCwgU0lHX0lHTik7CmRpZmYgLS1naXQgYS9jcmVkZW50aWFsLWNhY2hlLmMgYi9jcmVkZW50aWFsLWNhY2hlLmMKaW5kZXggY2M4YTZlZS4uMWNjY2MzYSAxMDA2NDQKLS0tIGEvY3JlZGVudGlhbC1jYWNoZS5jCisrKyBiL2NyZWRlbnRpYWwtY2FjaGUuYwpAQCAtMjUsNyArMjUsNyBAQAogCQlpbnQgcjsKIAogCQlyID0gcmVhZF9pbl9mdWxsKGZkLCBpbiwgc2l6ZW9mKGluKSk7Ci0JCWlmIChyID09IDApCisJCWlmIChyID09IDAgfHwgKHIgPCAwICYmIGVycm5vID09IEVDT05OUkVTRVQpKQogCQkJYnJlYWs7CiAJCWlmIChyIDwgMCkKIAkJCWRpZV9lcnJubygicmVhZCBlcnJvciBmcm9tIGNhY2hlIGRhZW1vbiIpOwpAQCAtODMsNiArODMsMTkgQEAKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KIAorc3RhdGljIGNoYXIgKmdldF9zb2NrZXRfcGF0aCh2b2lkKQoreworCXN0cnVjdCBzdGF0IHNiOworCWNoYXIgKm9sZF9kaXIsICpzb2NrZXQ7CisJb2xkX2RpciA9IGV4cGFuZF91c2VyX3BhdGgoIn4vLmdpdC1jcmVkZW50aWFsLWNhY2hlIiwgMCk7CisJaWYgKG9sZF9kaXIgJiYgIXN0YXQob2xkX2RpciwgJnNiKSAmJiBTX0lTRElSKHNiLnN0X21vZGUpKQorCQlzb2NrZXQgPSB4c3RyZm10KCIlcy9zb2NrZXQiLCBvbGRfZGlyKTsKKwllbHNlCisJCXNvY2tldCA9IHhkZ19jYWNoZV9ob21lKCJjcmVkZW50aWFsL3NvY2tldCIpOworCWZyZWUob2xkX2Rpcik7CisJcmV0dXJuIHNvY2tldDsKK30KKwogaW50IGNtZF9tYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIHsKIAljaGFyICpzb2NrZXRfcGF0aCA9IE5VTEw7CkBAIC0xMDYsNyArMTE5LDcgQEAKIAlvcCA9IGFyZ3ZbMF07CiAKIAlpZiAoIXNvY2tldF9wYXRoKQotCQlzb2NrZXRfcGF0aCA9IGV4cGFuZF91c2VyX3BhdGgoIn4vLmdpdC1jcmVkZW50aWFsLWNhY2hlL3NvY2tldCIpOworCQlzb2NrZXRfcGF0aCA9IGdldF9zb2NrZXRfcGF0aCgpOwogCWlmICghc29ja2V0X3BhdGgpCiAJCWRpZSgidW5hYmxlIHRvIGZpbmQgYSBzdWl0YWJsZSBzb2NrZXQgcGF0aDsgdXNlIC0tc29ja2V0Iik7CiAKZGlmZiAtLWdpdCBhL2NyZWRlbnRpYWwtc3RvcmUuYyBiL2NyZWRlbnRpYWwtc3RvcmUuYwppbmRleCA1NWNhMWIxLi5hYzI5NTQyIDEwMDY0NAotLS0gYS9jcmVkZW50aWFsLXN0b3JlLmMKKysrIGIvY3JlZGVudGlhbC1zdG9yZS5jCkBAIC0xNjgsNyArMTY4LDcgQEAKIAlpZiAoZmlsZSkgewogCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmZucywgZmlsZSk7CiAJfSBlbHNlIHsKLQkJaWYgKChmaWxlID0gZXhwYW5kX3VzZXJfcGF0aCgifi8uZ2l0LWNyZWRlbnRpYWxzIikpKQorCQlpZiAoKGZpbGUgPSBleHBhbmRfdXNlcl9wYXRoKCJ+Ly5naXQtY3JlZGVudGlhbHMiLCAwKSkpCiAJCQlzdHJpbmdfbGlzdF9hcHBlbmRfbm9kdXAoJmZucywgZmlsZSk7CiAJCWZpbGUgPSB4ZGdfY29uZmlnX2hvbWUoImNyZWRlbnRpYWxzIik7CiAJCWlmIChmaWxlKQpkaWZmIC0tZ2l0IGEvY3JlZGVudGlhbC5jIGIvY3JlZGVudGlhbC5jCmluZGV4IGFhOTk2NjYuLjk3NDdmNDcgMTAwNjQ0Ci0tLSBhL2NyZWRlbnRpYWwuYworKysgYi9jcmVkZW50aWFsLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJjcmVkZW50aWFsLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgpAQCAtOTMsOCArOTQsNyBAQAogCWMtPmNvbmZpZ3VyZWQgPSAxOwogCiAJaWYgKCFjLT51c2VfaHR0cF9wYXRoICYmIHByb3RvX2lzX2h0dHAoYy0+cHJvdG9jb2wpKSB7Ci0JCWZyZWUoYy0+cGF0aCk7Ci0JCWMtPnBhdGggPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKGMtPnBhdGgpOwogCX0KIH0KIApAQCAtMzE0LDEwICszMTQsOCBAQAogCWZvciAoaSA9IDA7IGkgPCBjLT5oZWxwZXJzLm5yOyBpKyspCiAJCWNyZWRlbnRpYWxfZG8oYywgYy0+aGVscGVycy5pdGVtc1tpXS5zdHJpbmcsICJlcmFzZSIpOwogCi0JZnJlZShjLT51c2VybmFtZSk7Ci0JYy0+dXNlcm5hbWUgPSBOVUxMOwotCWZyZWUoYy0+cGFzc3dvcmQpOwotCWMtPnBhc3N3b3JkID0gTlVMTDsKKwlGUkVFX0FORF9OVUxMKGMtPnVzZXJuYW1lKTsKKwlGUkVFX0FORF9OVUxMKGMtPnBhc3N3b3JkKTsKIAljLT5hcHByb3ZlZCA9IDA7CiB9CiAKZGlmZiAtLWdpdCBhL2NzdW0tZmlsZS5jIGIvY3N1bS1maWxlLmMKaW5kZXggYTE3MjE5OS4uMmFkYWUwNCAxMDA2NDQKLS0tIGEvY3N1bS1maWxlLmMKKysrIGIvY3N1bS1maWxlLmMKQEAgLTE5LDcgKzE5LDcgQEAKIAogCQlpZiAocmV0IDwgMCkKIAkJCWRpZV9lcnJubygiJXM6IHNoYTEgZmlsZSByZWFkIGVycm9yIiwgZi0+bmFtZSk7Ci0JCWlmIChyZXQgPCBjb3VudCkKKwkJaWYgKHJldCAhPSBjb3VudCkKIAkJCWRpZSgiJXM6IHNoYTEgZmlsZSB0cnVuY2F0ZWQiLCBmLT5uYW1lKTsKIAkJaWYgKG1lbWNtcChidWYsIGNoZWNrX2J1ZmZlciwgY291bnQpKQogCQkJZGllKCJzaGExIGZpbGUgJyVzJyB2YWxpZGF0aW9uIGVycm9yIiwgZi0+bmFtZSk7CmRpZmYgLS1naXQgYS9kYWVtb24uYyBiL2RhZW1vbi5jCmluZGV4IDQ3M2U2YjYuLjMwNzQ3MDcgMTAwNjQ0Ci0tLSBhL2RhZW1vbi5jCisrKyBiL2RhZW1vbi5jCkBAIC0xLDEzICsxLDEwIEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJwa3QtbGluZS5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKIAotI2lmbmRlZiBIT1NUX05BTUVfTUFYCi0jZGVmaW5lIEhPU1RfTkFNRV9NQVggMjU2Ci0jZW5kaWYKLQogI2lmZGVmIE5PX0lOSVRHUk9VUFMKICNkZWZpbmUgaW5pdGdyb3Vwcyh4LCB5KSAoMCkgLyogbm90aGluZyAqLwogI2VuZGlmCkBAIC00NDksNDYgKzQ0Niw0MiBAQAogCWZjbG9zZShmcCk7CiB9CiAKLXN0YXRpYyBpbnQgcnVuX3NlcnZpY2VfY29tbWFuZChjb25zdCBjaGFyICoqYXJndikKK3N0YXRpYyBpbnQgcnVuX3NlcnZpY2VfY29tbWFuZChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY2xkKQogewotCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNsZCA9IENISUxEX1BST0NFU1NfSU5JVDsKLQotCWNsZC5hcmd2ID0gYXJndjsKLQljbGQuZ2l0X2NtZCA9IDE7Ci0JY2xkLmVyciA9IC0xOwotCWlmIChzdGFydF9jb21tYW5kKCZjbGQpKQorCWFyZ3ZfYXJyYXlfcHVzaCgmY2xkLT5hcmdzLCAiLiIpOworCWNsZC0+Z2l0X2NtZCA9IDE7CisJY2xkLT5lcnIgPSAtMTsKKwlpZiAoc3RhcnRfY29tbWFuZChjbGQpKQogCQlyZXR1cm4gLTE7CiAKIAljbG9zZSgwKTsKIAljbG9zZSgxKTsKIAotCWNvcHlfdG9fbG9nKGNsZC5lcnIpOworCWNvcHlfdG9fbG9nKGNsZC0+ZXJyKTsKIAotCXJldHVybiBmaW5pc2hfY29tbWFuZCgmY2xkKTsKKwlyZXR1cm4gZmluaXNoX2NvbW1hbmQoY2xkKTsKIH0KIAogc3RhdGljIGludCB1cGxvYWRfcGFjayh2b2lkKQogewotCS8qIFRpbWVvdXQgYXMgc3RyaW5nICovCi0JY2hhciB0aW1lb3V0X2J1Zls2NF07Ci0JY29uc3QgY2hhciAqYXJndltdID0geyAidXBsb2FkLXBhY2siLCAiLS1zdHJpY3QiLCBOVUxMLCAiLiIsIE5VTEwgfTsKLQotCWFyZ3ZbMl0gPSB0aW1lb3V0X2J1ZjsKLQotCXNucHJpbnRmKHRpbWVvdXRfYnVmLCBzaXplb2YgdGltZW91dF9idWYsICItLXRpbWVvdXQ9JXUiLCB0aW1lb3V0KTsKLQlyZXR1cm4gcnVuX3NlcnZpY2VfY29tbWFuZChhcmd2KTsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbGQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJYXJndl9hcnJheV9wdXNobCgmY2xkLmFyZ3MsICJ1cGxvYWQtcGFjayIsICItLXN0cmljdCIsIE5VTEwpOworCWFyZ3ZfYXJyYXlfcHVzaGYoJmNsZC5hcmdzLCAiLS10aW1lb3V0PSV1IiwgdGltZW91dCk7CisJcmV0dXJuIHJ1bl9zZXJ2aWNlX2NvbW1hbmQoJmNsZCk7CiB9CiAKIHN0YXRpYyBpbnQgdXBsb2FkX2FyY2hpdmUodm9pZCkKIHsKLQlzdGF0aWMgY29uc3QgY2hhciAqYXJndltdID0geyAidXBsb2FkLWFyY2hpdmUiLCAiLiIsIE5VTEwgfTsKLQlyZXR1cm4gcnVuX3NlcnZpY2VfY29tbWFuZChhcmd2KTsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbGQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJYXJndl9hcnJheV9wdXNoKCZjbGQuYXJncywgInVwbG9hZC1hcmNoaXZlIik7CisJcmV0dXJuIHJ1bl9zZXJ2aWNlX2NvbW1hbmQoJmNsZCk7CiB9CiAKIHN0YXRpYyBpbnQgcmVjZWl2ZV9wYWNrKHZvaWQpCiB7Ci0Jc3RhdGljIGNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHsgInJlY2VpdmUtcGFjayIsICIuIiwgTlVMTCB9OwotCXJldHVybiBydW5fc2VydmljZV9jb21tYW5kKGFyZ3YpOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNsZCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlhcmd2X2FycmF5X3B1c2goJmNsZC5hcmdzLCAicmVjZWl2ZS1wYWNrIik7CisJcmV0dXJuIHJ1bl9zZXJ2aWNlX2NvbW1hbmQoJmNsZCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgZGFlbW9uX3NlcnZpY2UgZGFlbW9uX3NlcnZpY2VbXSA9IHsKZGlmZiAtLWdpdCBhL2RhdGUuYyBiL2RhdGUuYwppbmRleCBhOTk2MzMxLi5jM2U2NzNmIDEwMDY0NAotLS0gYS9kYXRlLmMKKysrIGIvZGF0ZS5jCkBAIC0zOSwxNCArMzksMjQgQEAKIAkiU3VuZGF5cyIsICJNb25kYXlzIiwgIlR1ZXNkYXlzIiwgIldlZG5lc2RheXMiLCAiVGh1cnNkYXlzIiwgIkZyaWRheXMiLCAiU2F0dXJkYXlzIgogfTsKIAotc3RhdGljIHRpbWVfdCBnbV90aW1lX3QodW5zaWduZWQgbG9uZyB0aW1lLCBpbnQgdHopCitzdGF0aWMgdGltZV90IGdtX3RpbWVfdCh0aW1lc3RhbXBfdCB0aW1lLCBpbnQgdHopCiB7CiAJaW50IG1pbnV0ZXM7CiAKIAltaW51dGVzID0gdHogPCAwID8gLXR6IDogdHo7CiAJbWludXRlcyA9IChtaW51dGVzIC8gMTAwKSo2MCArIChtaW51dGVzICUgMTAwKTsKIAltaW51dGVzID0gdHogPCAwID8gLW1pbnV0ZXMgOiBtaW51dGVzOwotCXJldHVybiB0aW1lICsgbWludXRlcyAqIDYwOworCisJaWYgKG1pbnV0ZXMgPiAwKSB7CisJCWlmICh1bnNpZ25lZF9hZGRfb3ZlcmZsb3dzKHRpbWUsIG1pbnV0ZXMgKiA2MCkpCisJCQlkaWUoIlRpbWVzdGFtcCt0eiB0b28gbGFyZ2U6ICUiUFJJdGltZSIgKyUwNGQiLAorCQkJICAgIHRpbWUsIHR6KTsKKwl9IGVsc2UgaWYgKHRpbWUgPCAtbWludXRlcyAqIDYwKQorCQlkaWUoIlRpbWVzdGFtcCBiZWZvcmUgVW5peCBlcG9jaDogJSJQUkl0aW1lIiAlMDRkIiwgdGltZSwgdHopOworCXRpbWUgKz0gbWludXRlcyAqIDYwOworCWlmIChkYXRlX292ZXJmbG93cyh0aW1lKSkKKwkJZGllKCJUaW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJSJQUkl0aW1lLCB0aW1lKTsKKwlyZXR1cm4gKHRpbWVfdCl0aW1lOwogfQogCiAvKgpAQCAtNTQsMjMgKzY0LDMyIEBACiAgKiB0aGluZywgd2hpY2ggbWVhbnMgdGhhdCB0eiAtMDEwMCBpcyBwYXNzZWQgaW4gYXMgdGhlIGludGVnZXIgLTEwMCwKICAqIGV2ZW4gdGhvdWdoIGl0IG1lYW5zICJzaXh0eSBtaW51dGVzIG9mZiIKICAqLwotc3RhdGljIHN0cnVjdCB0bSAqdGltZV90b190bSh1bnNpZ25lZCBsb25nIHRpbWUsIGludCB0eikKK3N0YXRpYyBzdHJ1Y3QgdG0gKnRpbWVfdG9fdG0odGltZXN0YW1wX3QgdGltZSwgaW50IHR6KQogewogCXRpbWVfdCB0ID0gZ21fdGltZV90KHRpbWUsIHR6KTsKIAlyZXR1cm4gZ210aW1lKCZ0KTsKIH0KIAorc3RhdGljIHN0cnVjdCB0bSAqdGltZV90b190bV9sb2NhbCh0aW1lc3RhbXBfdCB0aW1lKQoreworCXRpbWVfdCB0ID0gdGltZTsKKwlyZXR1cm4gbG9jYWx0aW1lKCZ0KTsKK30KKwogLyoKICAqIFdoYXQgdmFsdWUgb2YgInR6IiB3YXMgaW4gZWZmZWN0IGJhY2sgdGhlbiBhdCAidGltZSIgaW4gdGhlCiAgKiBsb2NhbCB0aW1lem9uZT8KICAqLwotc3RhdGljIGludCBsb2NhbF90em9mZnNldCh1bnNpZ25lZCBsb25nIHRpbWUpCitzdGF0aWMgaW50IGxvY2FsX3R6b2Zmc2V0KHRpbWVzdGFtcF90IHRpbWUpCiB7CiAJdGltZV90IHQsIHRfbG9jYWw7CiAJc3RydWN0IHRtIHRtOwogCWludCBvZmZzZXQsIGVhc3R3ZXN0OwogCi0JdCA9IHRpbWU7CisJaWYgKGRhdGVfb3ZlcmZsb3dzKHRpbWUpKQorCQlkaWUoIlRpbWVzdGFtcCB0b28gbGFyZ2UgZm9yIHRoaXMgc3lzdGVtOiAlIlBSSXRpbWUsIHRpbWUpOworCisJdCA9ICh0aW1lX3QpdGltZTsKIAlsb2NhbHRpbWVfcigmdCwgJnRtKTsKIAl0X2xvY2FsID0gdG1fdG9fdGltZV90KCZ0bSk7CiAKQEAgLTg4LDExICsxMDcsMTEgQEAKIAlyZXR1cm4gb2Zmc2V0ICogZWFzdHdlc3Q7CiB9CiAKLXZvaWQgc2hvd19kYXRlX3JlbGF0aXZlKHVuc2lnbmVkIGxvbmcgdGltZSwgaW50IHR6LAordm9pZCBzaG93X2RhdGVfcmVsYXRpdmUodGltZXN0YW1wX3QgdGltZSwgaW50IHR6LAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICpub3csCiAJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqdGltZWJ1ZikKIHsKLQl1bnNpZ25lZCBsb25nIGRpZmY7CisJdGltZXN0YW1wX3QgZGlmZjsKIAlpZiAobm93LT50dl9zZWMgPCB0aW1lKSB7CiAJCXN0cmJ1Zl9hZGRzdHIodGltZWJ1ZiwgXygiaW4gdGhlIGZ1dHVyZSIpKTsKIAkJcmV0dXJuOwpAQCAtMTAwLDY1ICsxMTksNjUgQEAKIAlkaWZmID0gbm93LT50dl9zZWMgLSB0aW1lOwogCWlmIChkaWZmIDwgOTApIHsKIAkJc3RyYnVmX2FkZGYodGltZWJ1ZiwKLQkJCSBRXygiJWx1IHNlY29uZCBhZ28iLCAiJWx1IHNlY29uZHMgYWdvIiwgZGlmZiksIGRpZmYpOworCQkJIFFfKCIlIlBSSXRpbWUiIHNlY29uZCBhZ28iLCAiJSJQUkl0aW1lIiBzZWNvbmRzIGFnbyIsIGRpZmYpLCBkaWZmKTsKIAkJcmV0dXJuOwogCX0KIAkvKiBUdXJuIGl0IGludG8gbWludXRlcyAqLwogCWRpZmYgPSAoZGlmZiArIDMwKSAvIDYwOwogCWlmIChkaWZmIDwgOTApIHsKIAkJc3RyYnVmX2FkZGYodGltZWJ1ZiwKLQkJCSBRXygiJWx1IG1pbnV0ZSBhZ28iLCAiJWx1IG1pbnV0ZXMgYWdvIiwgZGlmZiksIGRpZmYpOworCQkJIFFfKCIlIlBSSXRpbWUiIG1pbnV0ZSBhZ28iLCAiJSJQUkl0aW1lIiBtaW51dGVzIGFnbyIsIGRpZmYpLCBkaWZmKTsKIAkJcmV0dXJuOwogCX0KIAkvKiBUdXJuIGl0IGludG8gaG91cnMgKi8KIAlkaWZmID0gKGRpZmYgKyAzMCkgLyA2MDsKIAlpZiAoZGlmZiA8IDM2KSB7CiAJCXN0cmJ1Zl9hZGRmKHRpbWVidWYsCi0JCQkgUV8oIiVsdSBob3VyIGFnbyIsICIlbHUgaG91cnMgYWdvIiwgZGlmZiksIGRpZmYpOworCQkJIFFfKCIlIlBSSXRpbWUiIGhvdXIgYWdvIiwgIiUiUFJJdGltZSIgaG91cnMgYWdvIiwgZGlmZiksIGRpZmYpOwogCQlyZXR1cm47CiAJfQogCS8qIFdlIGRlYWwgd2l0aCBudW1iZXIgb2YgZGF5cyBmcm9tIGhlcmUgb24gKi8KIAlkaWZmID0gKGRpZmYgKyAxMikgLyAyNDsKIAlpZiAoZGlmZiA8IDE0KSB7CiAJCXN0cmJ1Zl9hZGRmKHRpbWVidWYsCi0JCQkgUV8oIiVsdSBkYXkgYWdvIiwgIiVsdSBkYXlzIGFnbyIsIGRpZmYpLCBkaWZmKTsKKwkJCSBRXygiJSJQUkl0aW1lIiBkYXkgYWdvIiwgIiUiUFJJdGltZSIgZGF5cyBhZ28iLCBkaWZmKSwgZGlmZik7CiAJCXJldHVybjsKIAl9CiAJLyogU2F5IHdlZWtzIGZvciB0aGUgcGFzdCAxMCB3ZWVrcyBvciBzbyAqLwogCWlmIChkaWZmIDwgNzApIHsKIAkJc3RyYnVmX2FkZGYodGltZWJ1ZiwKLQkJCSBRXygiJWx1IHdlZWsgYWdvIiwgIiVsdSB3ZWVrcyBhZ28iLCAoZGlmZiArIDMpIC8gNyksCisJCQkgUV8oIiUiUFJJdGltZSIgd2VlayBhZ28iLCAiJSJQUkl0aW1lIiB3ZWVrcyBhZ28iLCAoZGlmZiArIDMpIC8gNyksCiAJCQkgKGRpZmYgKyAzKSAvIDcpOwogCQlyZXR1cm47CiAJfQogCS8qIFNheSBtb250aHMgZm9yIHRoZSBwYXN0IDEyIG1vbnRocyBvciBzbyAqLwogCWlmIChkaWZmIDwgMzY1KSB7CiAJCXN0cmJ1Zl9hZGRmKHRpbWVidWYsCi0JCQkgUV8oIiVsdSBtb250aCBhZ28iLCAiJWx1IG1vbnRocyBhZ28iLCAoZGlmZiArIDE1KSAvIDMwKSwKKwkJCSBRXygiJSJQUkl0aW1lIiBtb250aCBhZ28iLCAiJSJQUkl0aW1lIiBtb250aHMgYWdvIiwgKGRpZmYgKyAxNSkgLyAzMCksCiAJCQkgKGRpZmYgKyAxNSkgLyAzMCk7CiAJCXJldHVybjsKIAl9CiAJLyogR2l2ZSB5ZWFycyBhbmQgbW9udGhzIGZvciA1IHllYXJzIG9yIHNvICovCiAJaWYgKGRpZmYgPCAxODI1KSB7Ci0JCXVuc2lnbmVkIGxvbmcgdG90YWxtb250aHMgPSAoZGlmZiAqIDEyICogMiArIDM2NSkgLyAoMzY1ICogMik7Ci0JCXVuc2lnbmVkIGxvbmcgeWVhcnMgPSB0b3RhbG1vbnRocyAvIDEyOwotCQl1bnNpZ25lZCBsb25nIG1vbnRocyA9IHRvdGFsbW9udGhzICUgMTI7CisJCXRpbWVzdGFtcF90IHRvdGFsbW9udGhzID0gKGRpZmYgKiAxMiAqIDIgKyAzNjUpIC8gKDM2NSAqIDIpOworCQl0aW1lc3RhbXBfdCB5ZWFycyA9IHRvdGFsbW9udGhzIC8gMTI7CisJCXRpbWVzdGFtcF90IG1vbnRocyA9IHRvdGFsbW9udGhzICUgMTI7CiAJCWlmIChtb250aHMpIHsKIAkJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQkJCXN0cmJ1Zl9hZGRmKCZzYiwgUV8oIiVsdSB5ZWFyIiwgIiVsdSB5ZWFycyIsIHllYXJzKSwgeWVhcnMpOworCQkJc3RyYnVmX2FkZGYoJnNiLCBRXygiJSJQUkl0aW1lIiB5ZWFyIiwgIiUiUFJJdGltZSIgeWVhcnMiLCB5ZWFycyksIHllYXJzKTsKIAkJCXN0cmJ1Zl9hZGRmKHRpbWVidWYsCiAJCQkJIC8qIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiICovCi0JCQkJIFFfKCIlcywgJWx1IG1vbnRoIGFnbyIsICIlcywgJWx1IG1vbnRocyBhZ28iLCBtb250aHMpLAorCQkJCSBRXygiJXMsICUiUFJJdGltZSIgbW9udGggYWdvIiwgIiVzLCAlIlBSSXRpbWUiIG1vbnRocyBhZ28iLCBtb250aHMpLAogCQkJCSBzYi5idWYsIG1vbnRocyk7CiAJCQlzdHJidWZfcmVsZWFzZSgmc2IpOwogCQl9IGVsc2UKIAkJCXN0cmJ1Zl9hZGRmKHRpbWVidWYsCi0JCQkJIFFfKCIlbHUgeWVhciBhZ28iLCAiJWx1IHllYXJzIGFnbyIsIHllYXJzKSwgeWVhcnMpOworCQkJCSBRXygiJSJQUkl0aW1lIiB5ZWFyIGFnbyIsICIlIlBSSXRpbWUiIHllYXJzIGFnbyIsIHllYXJzKSwgeWVhcnMpOwogCQlyZXR1cm47CiAJfQogCS8qIE90aGVyd2lzZSwganVzdCB5ZWFycy4gQ2VudHVyaWVzIGlzIHByb2JhYmx5IG92ZXJraWxsLiAqLwogCXN0cmJ1Zl9hZGRmKHRpbWVidWYsCi0JCSBRXygiJWx1IHllYXIgYWdvIiwgIiVsdSB5ZWFycyBhZ28iLCAoZGlmZiArIDE4MykgLyAzNjUpLAorCQkgUV8oIiUiUFJJdGltZSIgeWVhciBhZ28iLCAiJSJQUkl0aW1lIiB5ZWFycyBhZ28iLCAoZGlmZiArIDE4MykgLyAzNjUpLAogCQkgKGRpZmYgKyAxODMpIC8gMzY1KTsKIH0KIApAQCAtMTcyLDE0ICsxOTEsMTQgQEAKIAlyZXR1cm4gJm1vZGU7CiB9CiAKLWNvbnN0IGNoYXIgKnNob3dfZGF0ZSh1bnNpZ25lZCBsb25nIHRpbWUsIGludCB0eiwgY29uc3Qgc3RydWN0IGRhdGVfbW9kZSAqbW9kZSkKK2NvbnN0IGNoYXIgKnNob3dfZGF0ZSh0aW1lc3RhbXBfdCB0aW1lLCBpbnQgdHosIGNvbnN0IHN0cnVjdCBkYXRlX21vZGUgKm1vZGUpCiB7CiAJc3RydWN0IHRtICp0bTsKIAlzdGF0aWMgc3RydWN0IHN0cmJ1ZiB0aW1lYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAlpZiAobW9kZS0+dHlwZSA9PSBEQVRFX1VOSVgpIHsKIAkJc3RyYnVmX3Jlc2V0KCZ0aW1lYnVmKTsKLQkJc3RyYnVmX2FkZGYoJnRpbWVidWYsICIlbHUiLCB0aW1lKTsKKwkJc3RyYnVmX2FkZGYoJnRpbWVidWYsICIlIlBSSXRpbWUsIHRpbWUpOwogCQlyZXR1cm4gdGltZWJ1Zi5idWY7CiAJfQogCkBAIC0xODgsNyArMjA3LDcgQEAKIAogCWlmIChtb2RlLT50eXBlID09IERBVEVfUkFXKSB7CiAJCXN0cmJ1Zl9yZXNldCgmdGltZWJ1Zik7Ci0JCXN0cmJ1Zl9hZGRmKCZ0aW1lYnVmLCAiJWx1ICUrMDVkIiwgdGltZSwgdHopOworCQlzdHJidWZfYWRkZigmdGltZWJ1ZiwgIiUiUFJJdGltZSIgJSswNWQiLCB0aW1lLCB0eik7CiAJCXJldHVybiB0aW1lYnVmLmJ1ZjsKIAl9CiAKQEAgLTIwMSw3ICsyMjAsMTAgQEAKIAkJcmV0dXJuIHRpbWVidWYuYnVmOwogCX0KIAotCXRtID0gdGltZV90b190bSh0aW1lLCB0eik7CisJaWYgKG1vZGUtPmxvY2FsKQorCQl0bSA9IHRpbWVfdG9fdG1fbG9jYWwodGltZSk7CisJZWxzZQorCQl0bSA9IHRpbWVfdG9fdG0odGltZSwgdHopOwogCWlmICghdG0pIHsKIAkJdG0gPSB0aW1lX3RvX3RtKDAsIDApOwogCQl0eiA9IDA7CkBAIC0yMzMsNyArMjU1LDggQEAKIAkJCW1vbnRoX25hbWVzW3RtLT50bV9tb25dLCB0bS0+dG1feWVhciArIDE5MDAsCiAJCQl0bS0+dG1faG91ciwgdG0tPnRtX21pbiwgdG0tPnRtX3NlYywgdHopOwogCWVsc2UgaWYgKG1vZGUtPnR5cGUgPT0gREFURV9TVFJGVElNRSkKLQkJc3RyYnVmX2FkZGZ0aW1lKCZ0aW1lYnVmLCBtb2RlLT5zdHJmdGltZV9mbXQsIHRtKTsKKwkJc3RyYnVmX2FkZGZ0aW1lKCZ0aW1lYnVmLCBtb2RlLT5zdHJmdGltZV9mbXQsIHRtLCB0eiwKKwkJCQkhbW9kZS0+bG9jYWwpOwogCWVsc2UKIAkJc3RyYnVmX2FkZGYoJnRpbWVidWYsICIlLjNzICUuM3MgJWQgJTAyZDolMDJkOiUwMmQgJWQlYyUrMDVkIiwKIAkJCQl3ZWVrZGF5X25hbWVzW3RtLT50bV93ZGF5XSwKQEAgLTQyNSw3ICs0NDgsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IG1hdGNoX211bHRpX251bWJlcih1bnNpZ25lZCBsb25nIG51bSwgY2hhciBjLCBjb25zdCBjaGFyICpkYXRlLAorc3RhdGljIGludCBtYXRjaF9tdWx0aV9udW1iZXIodGltZXN0YW1wX3QgbnVtLCBjaGFyIGMsIGNvbnN0IGNoYXIgKmRhdGUsCiAJCQkgICAgICBjaGFyICplbmQsIHN0cnVjdCB0bSAqdG0sIHRpbWVfdCBub3cpCiB7CiAJc3RydWN0IHRtIG5vd190bTsKQEAgLTUwOCw5ICs1MzEsOSBAQAogewogCWludCBuOwogCWNoYXIgKmVuZDsKLQl1bnNpZ25lZCBsb25nIG51bTsKKwl0aW1lc3RhbXBfdCBudW07CiAKLQludW0gPSBzdHJ0b3VsKGRhdGUsICZlbmQsIDEwKTsKKwludW0gPSBwYXJzZV90aW1lc3RhbXAoZGF0ZSwgJmVuZCwgMTApOwogCiAJLyoKIAkgKiBTZWNvbmRzIHNpbmNlIDE5NzA/IFdlIHRyaWdnZXIgb24gdGhhdCBmb3IgYW55IG51bWJlcnMgd2l0aApAQCAtNjM1LDcgKzY1OCw3IEBACiAJcmV0dXJuIGVuZCAtIGRhdGU7CiB9CiAKLXN0YXRpYyB2b2lkIGRhdGVfc3RyaW5nKHVuc2lnbmVkIGxvbmcgZGF0ZSwgaW50IG9mZnNldCwgc3RydWN0IHN0cmJ1ZiAqYnVmKQorc3RhdGljIHZvaWQgZGF0ZV9zdHJpbmcodGltZXN0YW1wX3QgZGF0ZSwgaW50IG9mZnNldCwgc3RydWN0IHN0cmJ1ZiAqYnVmKQogewogCWludCBzaWduID0gJysnOwogCkBAIC02NDMsMjMgKzY2NiwyMyBAQAogCQlvZmZzZXQgPSAtb2Zmc2V0OwogCQlzaWduID0gJy0nOwogCX0KLQlzdHJidWZfYWRkZihidWYsICIlbHUgJWMlMDJkJTAyZCIsIGRhdGUsIHNpZ24sIG9mZnNldCAvIDYwLCBvZmZzZXQgJSA2MCk7CisJc3RyYnVmX2FkZGYoYnVmLCAiJSJQUkl0aW1lIiAlYyUwMmQlMDJkIiwgZGF0ZSwgc2lnbiwgb2Zmc2V0IC8gNjAsIG9mZnNldCAlIDYwKTsKIH0KIAogLyoKICAqIFBhcnNlIGEgc3RyaW5nIGxpa2UgIjAgKzAwMDAiIGFzIGFuY2llbnQgdGltZXN0YW1wIG5lYXIgZXBvY2gsIGJ1dAogICogb25seSB3aGVuIGl0IGFwcGVhcnMgbm90IGFzIHBhcnQgb2YgYW55IG90aGVyIHN0cmluZy4KICAqLwotc3RhdGljIGludCBtYXRjaF9vYmplY3RfaGVhZGVyX2RhdGUoY29uc3QgY2hhciAqZGF0ZSwgdW5zaWduZWQgbG9uZyAqdGltZXN0YW1wLCBpbnQgKm9mZnNldCkKK3N0YXRpYyBpbnQgbWF0Y2hfb2JqZWN0X2hlYWRlcl9kYXRlKGNvbnN0IGNoYXIgKmRhdGUsIHRpbWVzdGFtcF90ICp0aW1lc3RhbXAsIGludCAqb2Zmc2V0KQogewogCWNoYXIgKmVuZDsKLQl1bnNpZ25lZCBsb25nIHN0YW1wOworCXRpbWVzdGFtcF90IHN0YW1wOwogCWludCBvZnM7CiAKIAlpZiAoKmRhdGUgPCAnMCcgfHwgJzknIDwgKmRhdGUpCiAJCXJldHVybiAtMTsKLQlzdGFtcCA9IHN0cnRvdWwoZGF0ZSwgJmVuZCwgMTApOwotCWlmICgqZW5kICE9ICcgJyB8fCBzdGFtcCA9PSBVTE9OR19NQVggfHwgKGVuZFsxXSAhPSAnKycgJiYgZW5kWzFdICE9ICctJykpCisJc3RhbXAgPSBwYXJzZV90aW1lc3RhbXAoZGF0ZSwgJmVuZCwgMTApOworCWlmICgqZW5kICE9ICcgJyB8fCBzdGFtcCA9PSBUSU1FX01BWCB8fCAoZW5kWzFdICE9ICcrJyAmJiBlbmRbMV0gIT0gJy0nKSkKIAkJcmV0dXJuIC0xOwogCWRhdGUgPSBlbmQgKyAyOwogCW9mcyA9IHN0cnRvbChkYXRlLCAmZW5kLCAxMCk7CkBAIC02NzUsMTEgKzY5OCwxMSBAQAogCiAvKiBHci4gc3RycHRpbWUgaXMgY3JhcCBmb3IgdGhpczsgaXQgZG9lc24ndCBoYXZlIGEgd2F5IHRvIHJlcXVpcmUgUkZDMjgyMgogICAgKGkuZS4gRW5nbGlzaCkgZGF5L21vbnRoIG5hbWVzLCBhbmQgaXQgZG9lc24ndCB3b3JrIGNvcnJlY3RseSB3aXRoICV6LiAqLwotaW50IHBhcnNlX2RhdGVfYmFzaWMoY29uc3QgY2hhciAqZGF0ZSwgdW5zaWduZWQgbG9uZyAqdGltZXN0YW1wLCBpbnQgKm9mZnNldCkKK2ludCBwYXJzZV9kYXRlX2Jhc2ljKGNvbnN0IGNoYXIgKmRhdGUsIHRpbWVzdGFtcF90ICp0aW1lc3RhbXAsIGludCAqb2Zmc2V0KQogewogCXN0cnVjdCB0bSB0bTsKIAlpbnQgdG1fZ210OwotCXVuc2lnbmVkIGxvbmcgZHVtbXlfdGltZXN0YW1wOworCXRpbWVzdGFtcF90IGR1bW15X3RpbWVzdGFtcDsKIAlpbnQgZHVtbXlfb2Zmc2V0OwogCiAJaWYgKCF0aW1lc3RhbXApCkBAIC03NDcsNyArNzcwLDcgQEAKIAlyZXR1cm4gMDsgLyogc3VjY2VzcyAqLwogfQogCi1pbnQgcGFyc2VfZXhwaXJ5X2RhdGUoY29uc3QgY2hhciAqZGF0ZSwgdW5zaWduZWQgbG9uZyAqdGltZXN0YW1wKQoraW50IHBhcnNlX2V4cGlyeV9kYXRlKGNvbnN0IGNoYXIgKmRhdGUsIHRpbWVzdGFtcF90ICp0aW1lc3RhbXApCiB7CiAJaW50IGVycm9ycyA9IDA7CiAKQEAgLTc2Miw3ICs3ODUsNyBAQAogCQkgKiBvZiB0aGUgcGFzdCwgYW5kIHRoZXJlIGlzIG5vdGhpbmcgZnJvbSB0aGUgZnV0dXJlCiAJCSAqIHRvIGJlIGtlcHQuCiAJCSAqLwotCQkqdGltZXN0YW1wID0gVUxPTkdfTUFYOworCQkqdGltZXN0YW1wID0gVElNRV9NQVg7CiAJZWxzZQogCQkqdGltZXN0YW1wID0gYXBwcm94aWRhdGVfY2FyZWZ1bChkYXRlLCAmZXJyb3JzKTsKIApAQCAtNzcxLDcgKzc5NCw3IEBACiAKIGludCBwYXJzZV9kYXRlKGNvbnN0IGNoYXIgKmRhdGUsIHN0cnVjdCBzdHJidWYgKnJlc3VsdCkKIHsKLQl1bnNpZ25lZCBsb25nIHRpbWVzdGFtcDsKKwl0aW1lc3RhbXBfdCB0aW1lc3RhbXA7CiAJaW50IG9mZnNldDsKIAlpZiAocGFyc2VfZGF0ZV9iYXNpYyhkYXRlLCAmdGltZXN0YW1wLCAmb2Zmc2V0KSkKIAkJcmV0dXJuIC0xOwpAQCAtODQ1LDcgKzg2OCw3IEBACiAgKiBSZWxhdGl2ZSB0aW1lIHVwZGF0ZSAoZWcgIjIgZGF5cyBhZ28iKS4gIElmIHdlIGhhdmVuJ3Qgc2V0IHRoZSB0aW1lCiAgKiB5ZXQsIHdlIG5lZWQgdG8gc2V0IGl0IGZyb20gY3VycmVudCB0aW1lLgogICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyB1cGRhdGVfdG0oc3RydWN0IHRtICp0bSwgc3RydWN0IHRtICpub3csIHVuc2lnbmVkIGxvbmcgc2VjKQorc3RhdGljIHRpbWVfdCB1cGRhdGVfdG0oc3RydWN0IHRtICp0bSwgc3RydWN0IHRtICpub3csIHRpbWVfdCBzZWMpCiB7CiAJdGltZV90IG47CiAKQEAgLTEwNjYsNyArMTA4OSw3IEBACiAJCQkJICAgICB0aW1lX3Qgbm93KQogewogCWNoYXIgKmVuZDsKLQl1bnNpZ25lZCBsb25nIG51bWJlciA9IHN0cnRvdWwoZGF0ZSwgJmVuZCwgMTApOworCXRpbWVzdGFtcF90IG51bWJlciA9IHBhcnNlX3RpbWVzdGFtcChkYXRlLCAmZW5kLCAxMCk7CiAKIAlzd2l0Y2ggKCplbmQpIHsKIAljYXNlICc6JzoKQEAgLTExMTQsOSArMTEzNyw5IEBACiAJfQogfQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBhcHByb3hpZGF0ZV9zdHIoY29uc3QgY2hhciAqZGF0ZSwKLQkJCQkgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICp0diwKLQkJCQkgICAgIGludCAqZXJyb3JfcmV0KQorc3RhdGljIHRpbWVzdGFtcF90IGFwcHJveGlkYXRlX3N0cihjb25zdCBjaGFyICpkYXRlLAorCQkJCSAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICp0diwKKwkJCQkgICBpbnQgKmVycm9yX3JldCkKIHsKIAlpbnQgbnVtYmVyID0gMDsKIAlpbnQgdG91Y2hlZCA9IDA7CkBAIC0xMTQ4LDEyICsxMTcxLDEyIEBACiAJcGVuZGluZ19udW1iZXIoJnRtLCAmbnVtYmVyKTsKIAlpZiAoIXRvdWNoZWQpCiAJCSplcnJvcl9yZXQgPSAxOwotCXJldHVybiB1cGRhdGVfdG0oJnRtLCAmbm93LCAwKTsKKwlyZXR1cm4gKHRpbWVzdGFtcF90KXVwZGF0ZV90bSgmdG0sICZub3csIDApOwogfQogCi11bnNpZ25lZCBsb25nIGFwcHJveGlkYXRlX3JlbGF0aXZlKGNvbnN0IGNoYXIgKmRhdGUsIGNvbnN0IHN0cnVjdCB0aW1ldmFsICp0dikKK3RpbWVzdGFtcF90IGFwcHJveGlkYXRlX3JlbGF0aXZlKGNvbnN0IGNoYXIgKmRhdGUsIGNvbnN0IHN0cnVjdCB0aW1ldmFsICp0dikKIHsKLQl1bnNpZ25lZCBsb25nIHRpbWVzdGFtcDsKKwl0aW1lc3RhbXBfdCB0aW1lc3RhbXA7CiAJaW50IG9mZnNldDsKIAlpbnQgZXJyb3JzID0gMDsKIApAQCAtMTE2MiwxMCArMTE4NSwxMCBAQAogCXJldHVybiBhcHByb3hpZGF0ZV9zdHIoZGF0ZSwgdHYsICZlcnJvcnMpOwogfQogCi11bnNpZ25lZCBsb25nIGFwcHJveGlkYXRlX2NhcmVmdWwoY29uc3QgY2hhciAqZGF0ZSwgaW50ICplcnJvcl9yZXQpCit0aW1lc3RhbXBfdCBhcHByb3hpZGF0ZV9jYXJlZnVsKGNvbnN0IGNoYXIgKmRhdGUsIGludCAqZXJyb3JfcmV0KQogewogCXN0cnVjdCB0aW1ldmFsIHR2OwotCXVuc2lnbmVkIGxvbmcgdGltZXN0YW1wOworCXRpbWVzdGFtcF90IHRpbWVzdGFtcDsKIAlpbnQgb2Zmc2V0OwogCWludCBkdW1teSA9IDA7CiAJaWYgKCFlcnJvcl9yZXQpCkBAIC0xMTgwLDEyICsxMjAzLDEyIEBACiAJcmV0dXJuIGFwcHJveGlkYXRlX3N0cihkYXRlLCAmdHYsIGVycm9yX3JldCk7CiB9CiAKLWludCBkYXRlX292ZXJmbG93cyh1bnNpZ25lZCBsb25nIHQpCitpbnQgZGF0ZV9vdmVyZmxvd3ModGltZXN0YW1wX3QgdCkKIHsKIAl0aW1lX3Qgc3lzOwogCi0JLyogSWYgd2Ugb3ZlcmZsb3dlZCBvdXIgdW5zaWduZWQgbG9uZywgdGhhdCdzIGJhZC4uLiAqLwotCWlmICh0ID09IFVMT05HX01BWCkKKwkvKiBJZiB3ZSBvdmVyZmxvd2VkIG91ciB0aW1lc3RhbXAgZGF0YSB0eXBlLCB0aGF0J3MgYmFkLi4uICovCisJaWYgKCh1aW50bWF4X3QpdCA+PSBUSU1FX01BWCkKIAkJcmV0dXJuIDE7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZGlmZi1kZWx0YS5jIGIvZGlmZi1kZWx0YS5jCmluZGV4IDM3OTdjZTYuLmU0OTY0MzMgMTAwNjQ0Ci0tLSBhL2RpZmYtZGVsdGEuYworKysgYi9kaWZmLWRlbHRhLmMKQEAgLTMxOSw3ICszMTksOSBAQAogCSAgICAgY29uc3Qgdm9pZCAqdHJnX2J1ZiwgdW5zaWduZWQgbG9uZyB0cmdfc2l6ZSwKIAkgICAgIHVuc2lnbmVkIGxvbmcgKmRlbHRhX3NpemUsIHVuc2lnbmVkIGxvbmcgbWF4X3NpemUpCiB7Ci0JdW5zaWduZWQgaW50IGksIG91dHBvcywgb3V0c2l6ZSwgbW9mZiwgbXNpemUsIHZhbDsKKwl1bnNpZ25lZCBpbnQgaSwgdmFsOworCW9mZl90IG91dHBvcywgbW9mZjsKKwlzaXplX3QgbCwgb3V0c2l6ZSwgbXNpemU7CiAJaW50IGluc2NudDsKIAljb25zdCB1bnNpZ25lZCBjaGFyICpyZWZfZGF0YSwgKnJlZl90b3AsICpkYXRhLCAqdG9wOwogCXVuc2lnbmVkIGNoYXIgKm91dDsKQEAgLTMzNiwyMCArMzM4LDIwIEBACiAJCXJldHVybiBOVUxMOwogCiAJLyogc3RvcmUgcmVmZXJlbmNlIGJ1ZmZlciBzaXplICovCi0JaSA9IGluZGV4LT5zcmNfc2l6ZTsKLQl3aGlsZSAoaSA+PSAweDgwKSB7Ci0JCW91dFtvdXRwb3MrK10gPSBpIHwgMHg4MDsKLQkJaSA+Pj0gNzsKKwlsID0gaW5kZXgtPnNyY19zaXplOworCXdoaWxlIChsID49IDB4ODApIHsKKwkJb3V0W291dHBvcysrXSA9IGwgfCAweDgwOworCQlsID4+PSA3OwogCX0KLQlvdXRbb3V0cG9zKytdID0gaTsKKwlvdXRbb3V0cG9zKytdID0gbDsKIAogCS8qIHN0b3JlIHRhcmdldCBidWZmZXIgc2l6ZSAqLwotCWkgPSB0cmdfc2l6ZTsKLQl3aGlsZSAoaSA+PSAweDgwKSB7Ci0JCW91dFtvdXRwb3MrK10gPSBpIHwgMHg4MDsKLQkJaSA+Pj0gNzsKKwlsID0gdHJnX3NpemU7CisJd2hpbGUgKGwgPj0gMHg4MCkgeworCQlvdXRbb3V0cG9zKytdID0gbCB8IDB4ODA7CisJCWwgPj49IDc7CiAJfQotCW91dFtvdXRwb3MrK10gPSBpOworCW91dFtvdXRwb3MrK10gPSBsOwogCiAJcmVmX2RhdGEgPSBpbmRleC0+c3JjX2J1ZjsKIAlyZWZfdG9wID0gcmVmX2RhdGEgKyBpbmRleC0+c3JjX3NpemU7CkBAIC00NTIsNiArNDU0LDkgQEAKIAkJCW1vZmYgKz0gbXNpemU7CiAJCQltc2l6ZSA9IGxlZnQ7CiAKKwkJCWlmIChtb2ZmID4gMHhmZmZmZmZmZikKKwkJCQltc2l6ZSA9IDA7CisKIAkJCWlmIChtc2l6ZSA8IDQwOTYpIHsKIAkJCQlpbnQgajsKIAkJCQl2YWwgPSAwOwpkaWZmIC0tZ2l0IGEvZGlmZi1saWIuYyBiL2RpZmYtbGliLmMKaW5kZXggNTI0NDc0Ni4uNGUwOTgwYyAxMDA2NDQKLS0tIGEvZGlmZi1saWIuYworKysgYi9kaWZmLWxpYi5jCkBAIC0yOSw3ICsyOSw3IEBACiBzdGF0aWMgaW50IGNoZWNrX3JlbW92ZWQoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgc3RydWN0IHN0YXQgKnN0KQogewogCWlmIChsc3RhdChjZS0+bmFtZSwgc3QpIDwgMCkgewotCQlpZiAoZXJybm8gIT0gRU5PRU5UICYmIGVycm5vICE9IEVOT1RESVIpCisJCWlmICghaXNfbWlzc2luZ19maWxlX2Vycm9yKGVycm5vKSkKIAkJCXJldHVybiAtMTsKIAkJcmV0dXJuIDE7CiAJfQpAQCAtMTAxLDcgKzEwMSw3IEBACiAJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07CiAJCWludCBjaGFuZ2VkOwogCQl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUgPSAwOwotCQljb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwgKm5ld19zaGExOworCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkLCAqbmV3X29pZDsKIAogCQlpZiAoZGlmZl9jYW5fcXVpdF9lYXJseSgmcmV2cy0+ZGlmZm9wdCkpCiAJCQlicmVhazsKQEAgLTE3OSw4ICsxNzksNyBAQAogCQkJCWZyZWUoZHBhdGgpOwogCQkJCWNvbnRpbnVlOwogCQkJfQotCQkJZnJlZShkcGF0aCk7Ci0JCQlkcGF0aCA9IE5VTEw7CisJCQlGUkVFX0FORF9OVUxMKGRwYXRoKTsKIAogCQkJLyoKIAkJCSAqIFNob3cgdGhlIGRpZmYgZm9yIHRoZSAnY2UnIGlmIHdlIGZvdW5kIHRoZSBvbmUKQEAgLTIxMCwxNCArMjA5LDE0IEBACiAJCQkJCWNvbnRpbnVlOwogCQkJCX0KIAkJCQlkaWZmX2FkZHJlbW92ZSgmcmV2cy0+ZGlmZm9wdCwgJy0nLCBjZS0+Y2VfbW9kZSwKLQkJCQkJICAgICAgIGNlLT5vaWQuaGFzaCwKKwkJCQkJICAgICAgICZjZS0+b2lkLAogCQkJCQkgICAgICAgIWlzX251bGxfb2lkKCZjZS0+b2lkKSwKIAkJCQkJICAgICAgIGNlLT5uYW1lLCAwKTsKIAkJCQljb250aW51ZTsKIAkJCX0gZWxzZSBpZiAocmV2cy0+ZGlmZm9wdC5pdGFfaW52aXNpYmxlX2luX2luZGV4ICYmCiAJCQkJICAgY2VfaW50ZW50X3RvX2FkZChjZSkpIHsKIAkJCQlkaWZmX2FkZHJlbW92ZSgmcmV2cy0+ZGlmZm9wdCwgJysnLCBjZS0+Y2VfbW9kZSwKLQkJCQkJICAgICAgIEVNUFRZX0JMT0JfU0hBMV9CSU4sIDAsCisJCQkJCSAgICAgICAmZW1wdHlfdHJlZV9vaWQsIDAsCiAJCQkJCSAgICAgICBjZS0+bmFtZSwgMCk7CiAJCQkJY29udGludWU7CiAJCQl9CkBAIC0yMzMsMTIgKzIzMiwxMiBAQAogCQkJCWNvbnRpbnVlOwogCQl9CiAJCW9sZG1vZGUgPSBjZS0+Y2VfbW9kZTsKLQkJb2xkX3NoYTEgPSBjZS0+b2lkLmhhc2g7Ci0JCW5ld19zaGExID0gY2hhbmdlZCA/IG51bGxfc2hhMSA6IGNlLT5vaWQuaGFzaDsKKwkJb2xkX29pZCA9ICZjZS0+b2lkOworCQluZXdfb2lkID0gY2hhbmdlZCA/ICZudWxsX29pZCA6ICZjZS0+b2lkOwogCQlkaWZmX2NoYW5nZSgmcmV2cy0+ZGlmZm9wdCwgb2xkbW9kZSwgbmV3bW9kZSwKLQkJCSAgICBvbGRfc2hhMSwgbmV3X3NoYTEsCi0JCQkgICAgIWlzX251bGxfc2hhMShvbGRfc2hhMSksCi0JCQkgICAgIWlzX251bGxfc2hhMShuZXdfc2hhMSksCisJCQkgICAgb2xkX29pZCwgbmV3X29pZCwKKwkJCSAgICAhaXNfbnVsbF9vaWQob2xkX29pZCksCisJCQkgICAgIWlzX251bGxfb2lkKG5ld19vaWQpLAogCQkJICAgIGNlLT5uYW1lLCAwLCBkaXJ0eV9zdWJtb2R1bGUpOwogCiAJfQpAQCAtMjU1LDIxICsyNTQsMjEgQEAKIHN0YXRpYyB2b2lkIGRpZmZfaW5kZXhfc2hvd19maWxlKHN0cnVjdCByZXZfaW5mbyAqcmV2cywKIAkJCQkgY29uc3QgY2hhciAqcHJlZml4LAogCQkJCSBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAotCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgc2hhMV92YWxpZCwKKwkJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgb2lkX3ZhbGlkLAogCQkJCSB1bnNpZ25lZCBpbnQgbW9kZSwKIAkJCQkgdW5zaWduZWQgZGlydHlfc3VibW9kdWxlKQogewogCWRpZmZfYWRkcmVtb3ZlKCZyZXZzLT5kaWZmb3B0LCBwcmVmaXhbMF0sIG1vZGUsCi0JCSAgICAgICBzaGExLCBzaGExX3ZhbGlkLCBjZS0+bmFtZSwgZGlydHlfc3VibW9kdWxlKTsKKwkJICAgICAgIG9pZCwgb2lkX3ZhbGlkLCBjZS0+bmFtZSwgZGlydHlfc3VibW9kdWxlKTsKIH0KIAogc3RhdGljIGludCBnZXRfc3RhdF9kYXRhKGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCi0JCQkgY29uc3QgdW5zaWduZWQgY2hhciAqKnNoYTFwLAorCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKipvaWRwLAogCQkJIHVuc2lnbmVkIGludCAqbW9kZXAsCiAJCQkgaW50IGNhY2hlZCwgaW50IG1hdGNoX21pc3NpbmcsCiAJCQkgdW5zaWduZWQgKmRpcnR5X3N1Ym1vZHVsZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqZGlmZm9wdCkKIHsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0gY2UtPm9pZC5oYXNoOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCA9ICZjZS0+b2lkOwogCXVuc2lnbmVkIGludCBtb2RlID0gY2UtPmNlX21vZGU7CiAKIAlpZiAoIWNhY2hlZCAmJiAhY2VfdXB0b2RhdGUoY2UpKSB7CkBAIC0yODAsNyArMjc5LDcgQEAKIAkJCXJldHVybiAtMTsKIAkJZWxzZSBpZiAoY2hhbmdlZCkgewogCQkJaWYgKG1hdGNoX21pc3NpbmcpIHsKLQkJCQkqc2hhMXAgPSBzaGExOworCQkJCSpvaWRwID0gb2lkOwogCQkJCSptb2RlcCA9IG1vZGU7CiAJCQkJcmV0dXJuIDA7CiAJCQl9CkBAIC0yOTAsMTEgKzI4OSwxMSBAQAogCQkJCQkJICAgIDAsIGRpcnR5X3N1Ym1vZHVsZSk7CiAJCWlmIChjaGFuZ2VkKSB7CiAJCQltb2RlID0gY2VfbW9kZV9mcm9tX3N0YXQoY2UsIHN0LnN0X21vZGUpOwotCQkJc2hhMSA9IG51bGxfc2hhMTsKKwkJCW9pZCA9ICZudWxsX29pZDsKIAkJfQogCX0KIAotCSpzaGExcCA9IHNoYTE7CisJKm9pZHAgPSBvaWQ7CiAJKm1vZGVwID0gbW9kZTsKIAlyZXR1cm4gMDsKIH0KQEAgLTMwMyw3ICszMDIsNyBAQAogCQkJICBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKm5ldywKIAkJCSAgaW50IGNhY2hlZCwgaW50IG1hdGNoX21pc3NpbmcpCiB7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7CiAJdW5zaWduZWQgaW50IG1vZGU7CiAJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlID0gMDsKIApAQCAtMzExLDExICszMTAsMTEgQEAKIAkgKiBOZXcgZmlsZSBpbiB0aGUgaW5kZXg6IGl0IG1pZ2h0IGFjdHVhbGx5IGJlIGRpZmZlcmVudCBpbgogCSAqIHRoZSB3b3JraW5nIHRyZWUuCiAJICovCi0JaWYgKGdldF9zdGF0X2RhdGEobmV3LCAmc2hhMSwgJm1vZGUsIGNhY2hlZCwgbWF0Y2hfbWlzc2luZywKKwlpZiAoZ2V0X3N0YXRfZGF0YShuZXcsICZvaWQsICZtb2RlLCBjYWNoZWQsIG1hdGNoX21pc3NpbmcsCiAJICAgICZkaXJ0eV9zdWJtb2R1bGUsICZyZXZzLT5kaWZmb3B0KSA8IDApCiAJCXJldHVybjsKIAotCWRpZmZfaW5kZXhfc2hvd19maWxlKHJldnMsICIrIiwgbmV3LCBzaGExLCAhaXNfbnVsbF9zaGExKHNoYTEpLCBtb2RlLCBkaXJ0eV9zdWJtb2R1bGUpOworCWRpZmZfaW5kZXhfc2hvd19maWxlKHJldnMsICIrIiwgbmV3LCBvaWQsICFpc19udWxsX29pZChvaWQpLCBtb2RlLCBkaXJ0eV9zdWJtb2R1bGUpOwogfQogCiBzdGF0aWMgaW50IHNob3dfbW9kaWZpZWQoc3RydWN0IHJldl9pbmZvICpyZXZzLApAQCAtMzI1LDIwICszMjQsMjAgQEAKIAkJCSBpbnQgY2FjaGVkLCBpbnQgbWF0Y2hfbWlzc2luZykKIHsKIAl1bnNpZ25lZCBpbnQgbW9kZSwgb2xkbW9kZTsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZDsKIAl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUgPSAwOwogCi0JaWYgKGdldF9zdGF0X2RhdGEobmV3LCAmc2hhMSwgJm1vZGUsIGNhY2hlZCwgbWF0Y2hfbWlzc2luZywKKwlpZiAoZ2V0X3N0YXRfZGF0YShuZXcsICZvaWQsICZtb2RlLCBjYWNoZWQsIG1hdGNoX21pc3NpbmcsCiAJCQkgICZkaXJ0eV9zdWJtb2R1bGUsICZyZXZzLT5kaWZmb3B0KSA8IDApIHsKIAkJaWYgKHJlcG9ydF9taXNzaW5nKQogCQkJZGlmZl9pbmRleF9zaG93X2ZpbGUocmV2cywgIi0iLCBvbGQsCi0JCQkJCSAgICAgb2xkLT5vaWQuaGFzaCwgMSwgb2xkLT5jZV9tb2RlLAorCQkJCQkgICAgICZvbGQtPm9pZCwgMSwgb2xkLT5jZV9tb2RlLAogCQkJCQkgICAgIDApOwogCQlyZXR1cm4gLTE7CiAJfQogCiAJaWYgKHJldnMtPmNvbWJpbmVfbWVyZ2VzICYmICFjYWNoZWQgJiYKLQkgICAgKGhhc2hjbXAoc2hhMSwgb2xkLT5vaWQuaGFzaCkgfHwgb2lkY21wKCZvbGQtPm9pZCwgJm5ldy0+b2lkKSkpIHsKKwkgICAgKG9pZGNtcChvaWQsICZvbGQtPm9pZCkgfHwgb2lkY21wKCZvbGQtPm9pZCwgJm5ldy0+b2lkKSkpIHsKIAkJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpwOwogCQlpbnQgcGF0aGxlbiA9IGNlX25hbWVsZW4obmV3KTsKIApAQCAtMzYyLDEyICszNjEsMTIgQEAKIAl9CiAKIAlvbGRtb2RlID0gb2xkLT5jZV9tb2RlOwotCWlmIChtb2RlID09IG9sZG1vZGUgJiYgIWhhc2hjbXAoc2hhMSwgb2xkLT5vaWQuaGFzaCkgJiYgIWRpcnR5X3N1Ym1vZHVsZSAmJgorCWlmIChtb2RlID09IG9sZG1vZGUgJiYgIW9pZGNtcChvaWQsICZvbGQtPm9pZCkgJiYgIWRpcnR5X3N1Ym1vZHVsZSAmJgogCSAgICAhRElGRl9PUFRfVFNUKCZyZXZzLT5kaWZmb3B0LCBGSU5EX0NPUElFU19IQVJERVIpKQogCQlyZXR1cm4gMDsKIAogCWRpZmZfY2hhbmdlKCZyZXZzLT5kaWZmb3B0LCBvbGRtb2RlLCBtb2RlLAotCQkgICAgb2xkLT5vaWQuaGFzaCwgc2hhMSwgMSwgIWlzX251bGxfc2hhMShzaGExKSwKKwkJICAgICZvbGQtPm9pZCwgb2lkLCAxLCAhaXNfbnVsbF9vaWQob2lkKSwKIAkJICAgIG9sZC0+bmFtZSwgMCwgZGlydHlfc3VibW9kdWxlKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTQwOSw3ICs0MDgsNyBAQAogCQlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcGFpcjsKIAkJcGFpciA9IGRpZmZfdW5tZXJnZSgmcmV2cy0+ZGlmZm9wdCwgaWR4LT5uYW1lKTsKIAkJaWYgKHRyZWUpCi0JCQlmaWxsX2ZpbGVzcGVjKHBhaXItPm9uZSwgdHJlZS0+b2lkLmhhc2gsIDEsCisJCQlmaWxsX2ZpbGVzcGVjKHBhaXItPm9uZSwgJnRyZWUtPm9pZCwgMSwKIAkJCQkgICAgICB0cmVlLT5jZV9tb2RlKTsKIAkJcmV0dXJuOwogCX0KQEAgLTQyNiw3ICs0MjUsNyBAQAogCSAqIFNvbWV0aGluZyByZW1vdmVkIGZyb20gdGhlIHRyZWU/CiAJICovCiAJaWYgKCFpZHgpIHsKLQkJZGlmZl9pbmRleF9zaG93X2ZpbGUocmV2cywgIi0iLCB0cmVlLCB0cmVlLT5vaWQuaGFzaCwgMSwKKwkJZGlmZl9pbmRleF9zaG93X2ZpbGUocmV2cywgIi0iLCB0cmVlLCAmdHJlZS0+b2lkLCAxLAogCQkJCSAgICAgdHJlZS0+Y2VfbW9kZSwgMCk7CiAJCXJldHVybjsKIAl9CkBAIC00NzgsNyArNDc3LDcgQEAKIH0KIAogc3RhdGljIGludCBkaWZmX2NhY2hlKHN0cnVjdCByZXZfaW5mbyAqcmV2cywKLQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqdHJlZV9zaGExLAorCQkgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlX29pZCwKIAkJICAgICAgY29uc3QgY2hhciAqdHJlZV9uYW1lLAogCQkgICAgICBpbnQgY2FjaGVkKQogewpAQCAtNDg2LDEwICs0ODUsMTAgQEAKIAlzdHJ1Y3QgdHJlZV9kZXNjIHQ7CiAJc3RydWN0IHVucGFja190cmVlc19vcHRpb25zIG9wdHM7CiAKLQl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdCh0cmVlX3NoYTEpOworCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KHRyZWVfb2lkKTsKIAlpZiAoIXRyZWUpCiAJCXJldHVybiBlcnJvcigiYmFkIHRyZWUgb2JqZWN0ICVzIiwKLQkJCSAgICAgdHJlZV9uYW1lID8gdHJlZV9uYW1lIDogc2hhMV90b19oZXgodHJlZV9zaGExKSk7CisJCQkgICAgIHRyZWVfbmFtZSA/IHRyZWVfbmFtZSA6IG9pZF90b19oZXgodHJlZV9vaWQpKTsKIAltZW1zZXQoJm9wdHMsIDAsIHNpemVvZihvcHRzKSk7CiAJb3B0cy5oZWFkX2lkeCA9IDE7CiAJb3B0cy5pbmRleF9vbmx5ID0gY2FjaGVkOwpAQCAtNTEyLDcgKzUxMSw3IEBACiAJc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqZW50OwogCiAJZW50ID0gcmV2cy0+cGVuZGluZy5vYmplY3RzOwotCWlmIChkaWZmX2NhY2hlKHJldnMsIGVudC0+aXRlbS0+b2lkLmhhc2gsIGVudC0+bmFtZSwgY2FjaGVkKSkKKwlpZiAoZGlmZl9jYWNoZShyZXZzLCAmZW50LT5pdGVtLT5vaWQsIGVudC0+bmFtZSwgY2FjaGVkKSkKIAkJZXhpdCgxMjgpOwogCiAJZGlmZl9zZXRfbW5lbW9uaWNfcHJlZml4KCZyZXZzLT5kaWZmb3B0LCAiYy8iLCBjYWNoZWQgPyAiaS8iIDogIncvIik7CkBAIC01MjIsNyArNTIxLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IGRvX2RpZmZfY2FjaGUoY29uc3QgdW5zaWduZWQgY2hhciAqdHJlZV9zaGExLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCitpbnQgZG9fZGlmZl9jYWNoZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlX29pZCwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQogewogCXN0cnVjdCByZXZfaW5mbyByZXZzOwogCkBAIC01MzAsNyArNTI5LDcgQEAKIAljb3B5X3BhdGhzcGVjKCZyZXZzLnBydW5lX2RhdGEsICZvcHQtPnBhdGhzcGVjKTsKIAlyZXZzLmRpZmZvcHQgPSAqb3B0OwogCi0JaWYgKGRpZmZfY2FjaGUoJnJldnMsIHRyZWVfc2hhMSwgTlVMTCwgMSkpCisJaWYgKGRpZmZfY2FjaGUoJnJldnMsIHRyZWVfb2lkLCBOVUxMLCAxKSkKIAkJZXhpdCgxMjgpOwogCXJldHVybiAwOwogfQpAQCAtNTUwLDcgKzU0OSw2IEBACiAJcmV2LmRpZmZvcHQuZmxhZ3MgfD0gZGlmZl9mbGFnczsKIAlyZXYuZGlmZm9wdC5pdGFfaW52aXNpYmxlX2luX2luZGV4ID0gaXRhX2ludmlzaWJsZV9pbl9pbmRleDsKIAlydW5fZGlmZl9pbmRleCgmcmV2LCAxKTsKLQlpZiAocmV2LnBlbmRpbmcuYWxsb2MpCi0JCWZyZWUocmV2LnBlbmRpbmcub2JqZWN0cyk7CisJb2JqZWN0X2FycmF5X2NsZWFyKCZyZXYucGVuZGluZyk7CiAJcmV0dXJuIChESUZGX09QVF9UU1QoJnJldi5kaWZmb3B0LCBIQVNfQ0hBTkdFUykgIT0gMCk7CiB9CmRpZmYgLS1naXQgYS9kaWZmLW5vLWluZGV4LmMgYi9kaWZmLW5vLWluZGV4LmMKaW5kZXggZGY3NjJmZC4uODBmZjE3ZCAxMDA2NDQKLS0tIGEvZGlmZi1uby1pbmRleC5jCisrKyBiL2RpZmYtbm8taW5kZXguYwpAQCAtODIsNyArODIsNyBAQAogCWlmICghbmFtZSkKIAkJbmFtZSA9ICIvZGV2L251bGwiOwogCXMgPSBhbGxvY19maWxlc3BlYyhuYW1lKTsKLQlmaWxsX2ZpbGVzcGVjKHMsIG51bGxfc2hhMSwgMCwgbW9kZSk7CisJZmlsbF9maWxlc3BlYyhzLCAmbnVsbF9vaWQsIDAsIG1vZGUpOwogCWlmIChuYW1lID09IGZpbGVfZnJvbV9zdGFuZGFyZF9pbnB1dCkKIAkJcG9wdWxhdGVfZnJvbV9zdGRpbihzKTsKIAlyZXR1cm4gczsKQEAgLTIzNiw3ICsyMzYsNyBAQAogdm9pZCBkaWZmX25vX2luZGV4KHN0cnVjdCByZXZfaW5mbyAqcmV2cywKIAkJICAgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewotCWludCBpLCBwcmVmaXhsZW47CisJaW50IGk7CiAJY29uc3QgY2hhciAqcGF0aHNbMl07CiAJc3RydWN0IHN0cmJ1ZiByZXBsYWNlbWVudCA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKnByZWZpeCA9IHJldnMtPnByZWZpeDsKQEAgLTI1Nyw3ICsyNTcsNiBAQAogCQl9CiAJfQogCi0JcHJlZml4bGVuID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOwogCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKIAkJY29uc3QgY2hhciAqcCA9IGFyZ3ZbYXJnYyAtIDIgKyBpXTsKIAkJaWYgKCFzdHJjbXAocCwgIi0iKSkKQEAgLTI2Niw4ICsyNjUsOCBAQAogCQkJICogcGF0aCB0aGF0IGlzICItIiwgc3BlbGwgaXQgYXMgIi4vLSIuCiAJCQkgKi8KIAkJCXAgPSBmaWxlX2Zyb21fc3RhbmRhcmRfaW5wdXQ7Ci0JCWVsc2UgaWYgKHByZWZpeGxlbikKLQkJCXAgPSB4c3RyZHVwKHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHByZWZpeGxlbiwgcCkpOworCQllbHNlIGlmIChwcmVmaXgpCisJCQlwID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgcCk7CiAJCXBhdGhzW2ldID0gcDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RpZmYuYyBiL2RpZmYuYwppbmRleCBhNjI4YWMzLi42OWYwMzU3IDEwMDY0NAotLS0gYS9kaWZmLmMKKysrIGIvZGlmZi5jCkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA1IEp1bmlvIEMgSGFtYW5vCiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInRlbXBmaWxlLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJkaWZmLmgiCkBAIC0xNSwxMCArMTYsMTIgQEAKICNpbmNsdWRlICJ1c2VyZGlmZi5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS1jb25maWcuaCIKICNpbmNsdWRlICJzdWJtb2R1bGUuaCIKKyNpbmNsdWRlICJoYXNobWFwLmgiCiAjaW5jbHVkZSAibGwtbWVyZ2UuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJncmFwaC5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKICNpZmRlZiBOT19GQVNUX1dPUktJTkdfRElSRUNUT1JZCiAjZGVmaW5lIEZBU1RfV09SS0lOR19ESVJFQ1RPUlkgMApAQCAtMjcsMTAgKzMwLDExIEBACiAjZW5kaWYKIAogc3RhdGljIGludCBkaWZmX2RldGVjdF9yZW5hbWVfZGVmYXVsdDsKLXN0YXRpYyBpbnQgZGlmZl9pbmRlbnRfaGV1cmlzdGljOyAvKiBleHBlcmltZW50YWwgKi8KK3N0YXRpYyBpbnQgZGlmZl9pbmRlbnRfaGV1cmlzdGljID0gMTsKIHN0YXRpYyBpbnQgZGlmZl9yZW5hbWVfbGltaXRfZGVmYXVsdCA9IDQwMDsKIHN0YXRpYyBpbnQgZGlmZl9zdXBwcmVzc19ibGFua19lbXB0eTsKIHN0YXRpYyBpbnQgZGlmZl91c2VfY29sb3JfZGVmYXVsdCA9IC0xOworc3RhdGljIGludCBkaWZmX2NvbG9yX21vdmVkX2RlZmF1bHQ7CiBzdGF0aWMgaW50IGRpZmZfY29udGV4dF9kZWZhdWx0ID0gMzsKIHN0YXRpYyBpbnQgZGlmZl9pbnRlcmh1bmtfY29udGV4dF9kZWZhdWx0Owogc3RhdGljIGNvbnN0IGNoYXIgKmRpZmZfd29yZF9yZWdleF9jZmc7CkBAIC01NSw2ICs1OSwxNCBAQAogCUdJVF9DT0xPUl9ZRUxMT1csCS8qIENPTU1JVCAqLwogCUdJVF9DT0xPUl9CR19SRUQsCS8qIFdISVRFU1BBQ0UgKi8KIAlHSVRfQ09MT1JfTk9STUFMLAkvKiBGVU5DSU5GTyAqLworCUdJVF9DT0xPUl9CT0xEX01BR0VOVEEsCS8qIE9MRF9NT1ZFRCAqLworCUdJVF9DT0xPUl9CT0xEX0JMVUUsCS8qIE9MRF9NT1ZFRCBBTFRFUk5BVElWRSAqLworCUdJVF9DT0xPUl9GQUlOVCwJLyogT0xEX01PVkVEX0RJTSAqLworCUdJVF9DT0xPUl9GQUlOVF9JVEFMSUMsCS8qIE9MRF9NT1ZFRF9BTFRFUk5BVElWRV9ESU0gKi8KKwlHSVRfQ09MT1JfQk9MRF9DWUFOLAkvKiBORVdfTU9WRUQgKi8KKwlHSVRfQ09MT1JfQk9MRF9ZRUxMT1csCS8qIE5FV19NT1ZFRCBBTFRFUk5BVElWRSAqLworCUdJVF9DT0xPUl9GQUlOVCwJLyogTkVXX01PVkVEX0RJTSAqLworCUdJVF9DT0xPUl9GQUlOVF9JVEFMSUMsCS8qIE5FV19NT1ZFRF9BTFRFUk5BVElWRV9ESU0gKi8KIH07CiAKIHN0YXRpYyBOT1JFVFVSTiB2b2lkIGRpZV93YW50X29wdGlvbihjb25zdCBjaGFyICpvcHRpb25fbmFtZSkKQEAgLTgwLDYgKzkyLDIyIEBACiAJCXJldHVybiBESUZGX1dISVRFU1BBQ0U7CiAJaWYgKCFzdHJjYXNlY21wKHZhciwgImZ1bmMiKSkKIAkJcmV0dXJuIERJRkZfRlVOQ0lORk87CisJaWYgKCFzdHJjYXNlY21wKHZhciwgIm9sZG1vdmVkIikpCisJCXJldHVybiBESUZGX0ZJTEVfT0xEX01PVkVEOworCWlmICghc3RyY2FzZWNtcCh2YXIsICJvbGRtb3ZlZGFsdGVybmF0aXZlIikpCisJCXJldHVybiBESUZGX0ZJTEVfT0xEX01PVkVEX0FMVDsKKwlpZiAoIXN0cmNhc2VjbXAodmFyLCAib2xkbW92ZWRkaW1tZWQiKSkKKwkJcmV0dXJuIERJRkZfRklMRV9PTERfTU9WRURfRElNOworCWlmICghc3RyY2FzZWNtcCh2YXIsICJvbGRtb3ZlZGFsdGVybmF0aXZlZGltbWVkIikpCisJCXJldHVybiBESUZGX0ZJTEVfT0xEX01PVkVEX0FMVF9ESU07CisJaWYgKCFzdHJjYXNlY21wKHZhciwgIm5ld21vdmVkIikpCisJCXJldHVybiBESUZGX0ZJTEVfTkVXX01PVkVEOworCWlmICghc3RyY2FzZWNtcCh2YXIsICJuZXdtb3ZlZGFsdGVybmF0aXZlIikpCisJCXJldHVybiBESUZGX0ZJTEVfTkVXX01PVkVEX0FMVDsKKwlpZiAoIXN0cmNhc2VjbXAodmFyLCAibmV3bW92ZWRkaW1tZWQiKSkKKwkJcmV0dXJuIERJRkZfRklMRV9ORVdfTU9WRURfRElNOworCWlmICghc3RyY2FzZWNtcCh2YXIsICJuZXdtb3ZlZGFsdGVybmF0aXZlZGltbWVkIikpCisJCXJldHVybiBESUZGX0ZJTEVfTkVXX01PVkVEX0FMVF9ESU07CiAJcmV0dXJuIC0xOwogfQogCkBAIC0yMjgsMTIgKzI1Niw0NCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHBhcnNlX2NvbG9yX21vdmVkKGNvbnN0IGNoYXIgKmFyZykKK3sKKwlzd2l0Y2ggKGdpdF9wYXJzZV9tYXliZV9ib29sKGFyZykpIHsKKwljYXNlIDA6CisJCXJldHVybiBDT0xPUl9NT1ZFRF9OTzsKKwljYXNlIDE6CisJCXJldHVybiBDT0xPUl9NT1ZFRF9ERUZBVUxUOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCWlmICghc3RyY21wKGFyZywgIm5vIikpCisJCXJldHVybiBDT0xPUl9NT1ZFRF9OTzsKKwllbHNlIGlmICghc3RyY21wKGFyZywgInBsYWluIikpCisJCXJldHVybiBDT0xPUl9NT1ZFRF9QTEFJTjsKKwllbHNlIGlmICghc3RyY21wKGFyZywgInplYnJhIikpCisJCXJldHVybiBDT0xPUl9NT1ZFRF9aRUJSQTsKKwllbHNlIGlmICghc3RyY21wKGFyZywgImRlZmF1bHQiKSkKKwkJcmV0dXJuIENPTE9SX01PVkVEX0RFRkFVTFQ7CisJZWxzZSBpZiAoIXN0cmNtcChhcmcsICJkaW1tZWRfemVicmEiKSkKKwkJcmV0dXJuIENPTE9SX01PVkVEX1pFQlJBX0RJTTsKKwllbHNlCisJCXJldHVybiBlcnJvcihfKCJjb2xvciBtb3ZlZCBzZXR0aW5nIG11c3QgYmUgb25lIG9mICdubycsICdkZWZhdWx0JywgJ3plYnJhJywgJ2RpbW1lZF96ZWJyYScsICdwbGFpbiciKSk7Cit9CisKIGludCBnaXRfZGlmZl91aV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCiB7CiAJaWYgKCFzdHJjbXAodmFyLCAiZGlmZi5jb2xvciIpIHx8ICFzdHJjbXAodmFyLCAiY29sb3IuZGlmZiIpKSB7CiAJCWRpZmZfdXNlX2NvbG9yX2RlZmF1bHQgPSBnaXRfY29uZmlnX2NvbG9yYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CiAJfQorCWlmICghc3RyY21wKHZhciwgImRpZmYuY29sb3Jtb3ZlZCIpKSB7CisJCWludCBjbSA9IHBhcnNlX2NvbG9yX21vdmVkKHZhbHVlKTsKKwkJaWYgKGNtIDwgMCkKKwkJCXJldHVybiAtMTsKKwkJZGlmZl9jb2xvcl9tb3ZlZF9kZWZhdWx0ID0gY207CisJCXJldHVybiAwOworCX0KIAlpZiAoIXN0cmNtcCh2YXIsICJkaWZmLmNvbnRleHQiKSkgewogCQlkaWZmX2NvbnRleHRfZGVmYXVsdCA9IGdpdF9jb25maWdfaW50KHZhciwgdmFsdWUpOwogCQlpZiAoZGlmZl9jb250ZXh0X2RlZmF1bHQgPCAwKQpAQCAtMjkwLDkgKzM1MCw2IEBACiAJCXJldHVybiAwOwogCX0KIAotCWlmIChnaXRfZGlmZl9oZXVyaXN0aWNfY29uZmlnKHZhciwgdmFsdWUsIGNiKSA8IDApCi0JCXJldHVybiAtMTsKLQogCWlmICghc3RyY21wKHZhciwgImRpZmYud3NlcnJvcmhpZ2hsaWdodCIpKSB7CiAJCWludCB2YWwgPSBwYXJzZV93c19lcnJvcl9oaWdobGlnaHQodmFsdWUpOwogCQlpZiAodmFsIDwgMCkKQEAgLTMwMSw5ICszNTgsNiBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoZ2l0X2NvbG9yX2NvbmZpZyh2YXIsIHZhbHVlLCBjYikgPCAwKQotCQlyZXR1cm4gLTE7Ci0KIAlyZXR1cm4gZ2l0X2RpZmZfYmFzaWNfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIH0KIApAQCAtMzQ4LDggKzQwMiw4IEBACiAJCXJldHVybiAwOwogCX0KIAotCWlmIChzdGFydHNfd2l0aCh2YXIsICJzdWJtb2R1bGUuIikpCi0JCXJldHVybiBwYXJzZV9zdWJtb2R1bGVfY29uZmlnX29wdGlvbih2YXIsIHZhbHVlKTsKKwlpZiAoZ2l0X2RpZmZfaGV1cmlzdGljX2NvbmZpZyh2YXIsIHZhbHVlLCBjYikgPCAwKQorCQlyZXR1cm4gLTE7CiAKIAlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIH0KQEAgLTM5OCwxOCArNDUyLDE2IEBACiAJICovCiAJY29uc3QgY2hhciAqbmFtZTsKIAotCWNoYXIgaGV4W0dJVF9TSEExX0hFWFNaICsgMV07CisJY2hhciBoZXhbR0lUX01BWF9IRVhTWiArIDFdOwogCWNoYXIgbW9kZVsxMF07CiAKIAkvKgogCSAqIElmIHRoaXMgZGlmZl90ZW1wZmlsZSBpbnN0YW5jZSByZWZlcnMgdG8gYSB0ZW1wb3JhcnkgZmlsZSwKIAkgKiB0aGlzIHRlbXBmaWxlIG9iamVjdCBpcyB1c2VkIHRvIG1hbmFnZSBpdHMgbGlmZXRpbWUuCiAJICovCi0Jc3RydWN0IHRlbXBmaWxlIHRlbXBmaWxlOworCXN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGU7CiB9IGRpZmZfdGVtcFsyXTsKIAotdHlwZWRlZiB1bnNpZ25lZCBsb25nICgqc2FuZV90cnVuY2F0ZV9mbikoY2hhciAqbGluZSwgdW5zaWduZWQgbG9uZyBsZW4pOwotCiBzdHJ1Y3QgZW1pdF9jYWxsYmFjayB7CiAJaW50IGNvbG9yX2RpZmY7CiAJdW5zaWduZWQgd3NfcnVsZTsKQEAgLTQxNyw3ICs0NjksNiBAQAogCWludCBibGFua19hdF9lb2ZfaW5fcG9zdGltYWdlOwogCWludCBsbm9faW5fcHJlaW1hZ2U7CiAJaW50IGxub19pbl9wb3N0aW1hZ2U7Ci0Jc2FuZV90cnVuY2F0ZV9mbiB0cnVuY2F0ZTsKIAljb25zdCBjaGFyICoqbGFiZWxfcGF0aDsKIAlzdHJ1Y3QgZGlmZl93b3Jkc19kYXRhICpkaWZmX3dvcmRzOwogCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdDsKQEAgLTU1OSw2ICs2MTAsNjk5IEBACiAJZW1pdF9saW5lXzAobywgc2V0LCByZXNldCwgbGluZVswXSwgbGluZSsxLCBsZW4tMSk7CiB9CiAKK2VudW0gZGlmZl9zeW1ib2wgeworCURJRkZfU1lNQk9MX0JJTkFSWV9ESUZGX0hFQURFUiwKKwlESUZGX1NZTUJPTF9CSU5BUllfRElGRl9IRUFERVJfREVMVEEsCisJRElGRl9TWU1CT0xfQklOQVJZX0RJRkZfSEVBREVSX0xJVEVSQUwsCisJRElGRl9TWU1CT0xfQklOQVJZX0RJRkZfQk9EWSwKKwlESUZGX1NZTUJPTF9CSU5BUllfRElGRl9GT09URVIsCisJRElGRl9TWU1CT0xfU1RBVFNfU1VNTUFSWV9OT19GSUxFUywKKwlESUZGX1NZTUJPTF9TVEFUU19TVU1NQVJZX0FCQlJFViwKKwlESUZGX1NZTUJPTF9TVEFUU19TVU1NQVJZX0lOU0VSVFNfREVMRVRFUywKKwlESUZGX1NZTUJPTF9TVEFUU19MSU5FLAorCURJRkZfU1lNQk9MX1dPUkRfRElGRiwKKwlESUZGX1NZTUJPTF9TVEFUX1NFUCwKKwlESUZGX1NZTUJPTF9TVU1NQVJZLAorCURJRkZfU1lNQk9MX1NVQk1PRFVMRV9BREQsCisJRElGRl9TWU1CT0xfU1VCTU9EVUxFX0RFTCwKKwlESUZGX1NZTUJPTF9TVUJNT0RVTEVfVU5UUkFDS0VELAorCURJRkZfU1lNQk9MX1NVQk1PRFVMRV9NT0RJRklFRCwKKwlESUZGX1NZTUJPTF9TVUJNT0RVTEVfSEVBREVSLAorCURJRkZfU1lNQk9MX1NVQk1PRFVMRV9FUlJPUiwKKwlESUZGX1NZTUJPTF9TVUJNT0RVTEVfUElQRVRIUk9VR0gsCisJRElGRl9TWU1CT0xfUkVXUklURV9ESUZGLAorCURJRkZfU1lNQk9MX0JJTkFSWV9GSUxFUywKKwlESUZGX1NZTUJPTF9IRUFERVIsCisJRElGRl9TWU1CT0xfRklMRVBBSVJfUExVUywKKwlESUZGX1NZTUJPTF9GSUxFUEFJUl9NSU5VUywKKwlESUZGX1NZTUJPTF9XT1JEU19QT1JDRUxBSU4sCisJRElGRl9TWU1CT0xfV09SRFMsCisJRElGRl9TWU1CT0xfQ09OVEVYVCwKKwlESUZGX1NZTUJPTF9DT05URVhUX0lOQ09NUExFVEUsCisJRElGRl9TWU1CT0xfUExVUywKKwlESUZGX1NZTUJPTF9NSU5VUywKKwlESUZGX1NZTUJPTF9OT19MRl9FT0YsCisJRElGRl9TWU1CT0xfQ09OVEVYVF9GUkFHSU5GTywKKwlESUZGX1NZTUJPTF9DT05URVhUX01BUktFUiwKKwlESUZGX1NZTUJPTF9TRVBBUkFUT1IKK307CisvKgorICogRmxhZ3MgZm9yIGNvbnRlbnQgbGluZXM6CisgKiAwLi4xMiBhcmUgd2hpdGVzcGFjZSBydWxlcworICogMTMtMTUgYXJlIFdTRUhfTkVXIHwgV1NFSF9PTEQgfCBXU0VIX0NPTlRFWFQKKyAqIDE2IGlzIG1hcmtpbmcgaWYgdGhlIGxpbmUgaXMgYmxhbmsgYXQgRU9GCisgKi8KKyNkZWZpbmUgRElGRl9TWU1CT0xfQ09OVEVOVF9CTEFOS19MSU5FX0VPRgkoMTw8MTYpCisjZGVmaW5lIERJRkZfU1lNQk9MX01PVkVEX0xJTkUJCQkoMTw8MTcpCisjZGVmaW5lIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfQUxUCQkoMTw8MTgpCisjZGVmaW5lIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfVU5JTlRFUkVTVElORwkoMTw8MTkpCisjZGVmaW5lIERJRkZfU1lNQk9MX0NPTlRFTlRfV1NfTUFTSyAoV1NFSF9ORVcgfCBXU0VIX09MRCB8IFdTRUhfQ09OVEVYVCB8IFdTX1JVTEVfTUFTSykKKworLyoKKyAqIFRoaXMgc3RydWN0IGlzIHVzZWQgd2hlbiB3ZSBuZWVkIHRvIGJ1ZmZlciB0aGUgb3V0cHV0IG9mIHRoZSBkaWZmIG91dHB1dC4KKyAqCisgKiBORUVEU1dPUks6IEluc3RlYWQgb2Ygc3RvcmluZyBhIGNvcHkgb2YgdGhlIGxpbmUsIGFkZCBhbiBvZmZzZXQgcG9pbnRlcgorICogaW50byB0aGUgcHJlL3Bvc3QgaW1hZ2UgZmlsZS4gVGhpcyBwb2ludGVyIGNvdWxkIGJlIGEgdW5pb24gd2l0aCB0aGUKKyAqIGxpbmUgcG9pbnRlci4gQnkgc3RvcmluZyBhbiBvZmZzZXQgaW50byB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBsaXRlcmFsIGxpbmUsCisgKiB3ZSBjYW4gZGVjcmVhc2UgdGhlIG1lbW9yeSBmb290cHJpbnQgZm9yIHRoZSBidWZmZXJlZCBvdXRwdXQuIEF0IGZpcnN0IHdlCisgKiBtYXkgd2FudCB0byBvbmx5IGhhdmUgaW5kaXJlY3Rpb24gZm9yIHRoZSBjb250ZW50IGxpbmVzLCBidXQgd2UgY291bGQgYWxzbworICogZW5oYW5jZSB0aGUgc3RhdGUgZm9yIGVtaXR0aW5nIHByZWZhYnJpY2F0ZWQgbGluZXMsIGUuZy4gdGhlIHNpbWlsYXJpdHkKKyAqIHNjb3JlIGxpbmUgb3IgaHVuay9maWxlIGhlYWRlcnMgd291bGQgb25seSBuZWVkIHRvIHN0b3JlIGEgbnVtYmVyIG9yIHBhdGgKKyAqIGFuZCB0aGVuIHRoZSBvdXRwdXQgY2FuIGJlIGNvbnN0cnVjdGVkIGxhdGVyIG9uIGRlcGVuZGluZyBvbiBzdGF0ZS4KKyAqLworc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgeworCWNvbnN0IGNoYXIgKmxpbmU7CisJaW50IGxlbjsKKwlpbnQgZmxhZ3M7CisJZW51bSBkaWZmX3N5bWJvbCBzOworfTsKKyNkZWZpbmUgRU1JVFRFRF9ESUZGX1NZTUJPTF9JTklUIHtOVUxMfQorCitzdHJ1Y3QgZW1pdHRlZF9kaWZmX3N5bWJvbHMgeworCXN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sICpidWY7CisJaW50IG5yLCBhbGxvYzsKK307CisjZGVmaW5lIEVNSVRURURfRElGRl9TWU1CT0xTX0lOSVQge05VTEwsIDAsIDB9CisKK3N0YXRpYyB2b2lkIGFwcGVuZF9lbWl0dGVkX2RpZmZfc3ltYm9sKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sCisJCQkJICAgICAgIHN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sICplKQoreworCXN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sICpmOworCisJQUxMT0NfR1JPVyhvLT5lbWl0dGVkX3N5bWJvbHMtPmJ1ZiwKKwkJICAgby0+ZW1pdHRlZF9zeW1ib2xzLT5uciArIDEsCisJCSAgIG8tPmVtaXR0ZWRfc3ltYm9scy0+YWxsb2MpOworCWYgPSAmby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbby0+ZW1pdHRlZF9zeW1ib2xzLT5ucisrXTsKKworCW1lbWNweShmLCBlLCBzaXplb2Yoc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wpKTsKKwlmLT5saW5lID0gZS0+bGluZSA/IHhtZW1kdXB6KGUtPmxpbmUsIGUtPmxlbikgOiBOVUxMOworfQorCitzdHJ1Y3QgbW92ZWRfZW50cnkgeworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsKKwljb25zdCBzdHJ1Y3QgZW1pdHRlZF9kaWZmX3N5bWJvbCAqZXM7CisJc3RydWN0IG1vdmVkX2VudHJ5ICpuZXh0X2xpbmU7Cit9OworCitzdGF0aWMgaW50IG5leHRfYnl0ZShjb25zdCBjaGFyICoqY3AsIGNvbnN0IGNoYXIgKiplbmRwLAorCQkgICAgIGNvbnN0IHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQpCit7CisJaW50IHJldHZhbDsKKworCWlmICgqY3AgPiAqZW5kcCkKKwkJcmV0dXJuIC0xOworCisJaWYgKERJRkZfWERMX1RTVChkaWZmb3B0LCBJR05PUkVfV0hJVEVTUEFDRV9DSEFOR0UpKSB7CisJCXdoaWxlICgqY3AgPCAqZW5kcCAmJiBpc3NwYWNlKCoqY3ApKQorCQkJKCpjcCkrKzsKKwkJLyoKKwkJICogQWZ0ZXIgc2tpcHBpbmcgYSBjb3VwbGUgb2Ygd2hpdGVzcGFjZXMsIHdlIHN0aWxsIGhhdmUgdG8KKwkJICogYWNjb3VudCBmb3Igb25lIHNwYWNlLgorCQkgKi8KKwkJcmV0dXJuIChpbnQpJyAnOworCX0KKworCWlmIChESUZGX1hETF9UU1QoZGlmZm9wdCwgSUdOT1JFX1dISVRFU1BBQ0UpKSB7CisJCXdoaWxlICgqY3AgPCAqZW5kcCAmJiBpc3NwYWNlKCoqY3ApKQorCQkJKCpjcCkrKzsKKwkJLyogcmV0dXJuIHRoZSBmaXJzdCBub24td3MgY2hhcmFjdGVyIHZpYSB0aGUgdXN1YWwgYmVsb3cgKi8KKwl9CisKKwlyZXR2YWwgPSAodW5zaWduZWQgY2hhcikoKipjcCk7CisJKCpjcCkrKzsKKwlyZXR1cm4gcmV0dmFsOworfQorCitzdGF0aWMgaW50IG1vdmVkX2VudHJ5X2NtcChjb25zdCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpkaWZmb3B0LAorCQkJICAgY29uc3Qgc3RydWN0IG1vdmVkX2VudHJ5ICphLAorCQkJICAgY29uc3Qgc3RydWN0IG1vdmVkX2VudHJ5ICpiLAorCQkJICAgY29uc3Qgdm9pZCAqa2V5ZGF0YSkKK3sKKwljb25zdCBjaGFyICphcCA9IGEtPmVzLT5saW5lLCAqYWUgPSBhLT5lcy0+bGluZSArIGEtPmVzLT5sZW47CisJY29uc3QgY2hhciAqYnAgPSBiLT5lcy0+bGluZSwgKmJlID0gYi0+ZXMtPmxpbmUgKyBiLT5lcy0+bGVuOworCisJaWYgKCEoZGlmZm9wdC0+eGRsX29wdHMgJiBYREZfV0hJVEVTUEFDRV9GTEFHUykpCisJCXJldHVybiBhLT5lcy0+bGVuICE9IGItPmVzLT5sZW4gIHx8IG1lbWNtcChhcCwgYnAsIGEtPmVzLT5sZW4pOworCisJaWYgKERJRkZfWERMX1RTVChkaWZmb3B0LCBJR05PUkVfV0hJVEVTUEFDRV9BVF9FT0wpKSB7CisJCXdoaWxlIChhZSA+IGFwICYmIGlzc3BhY2UoKmFlKSkKKwkJCWFlLS07CisJCXdoaWxlIChiZSA+IGJwICYmIGlzc3BhY2UoKmJlKSkKKwkJCWJlLS07CisJfQorCisJd2hpbGUgKDEpIHsKKwkJaW50IGNhLCBjYjsKKwkJY2EgPSBuZXh0X2J5dGUoJmFwLCAmYWUsIGRpZmZvcHQpOworCQljYiA9IG5leHRfYnl0ZSgmYnAsICZiZSwgZGlmZm9wdCk7CisJCWlmIChjYSAhPSBjYikKKwkJCXJldHVybiAxOworCQlpZiAoY2EgPCAwKQorCQkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgdW5zaWduZWQgZ2V0X3N0cmluZ19oYXNoKHN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sICplcywgc3RydWN0IGRpZmZfb3B0aW9ucyAqbykKK3sKKwlpZiAoby0+eGRsX29wdHMgJiBYREZfV0hJVEVTUEFDRV9GTEFHUykgeworCQlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCQljb25zdCBjaGFyICphcCA9IGVzLT5saW5lLCAqYWUgPSBlcy0+bGluZSArIGVzLT5sZW47CisJCWludCBjOworCisJCXN0cmJ1Zl9yZXNldCgmc2IpOworCQl3aGlsZSAoYWUgPiBhcCAmJiBpc3NwYWNlKCphZSkpCisJCQlhZS0tOworCQl3aGlsZSAoKGMgPSBuZXh0X2J5dGUoJmFwLCAmYWUsIG8pKSA+IDApCisJCQlzdHJidWZfYWRkY2goJnNiLCBjKTsKKworCQlyZXR1cm4gbWVtaGFzaChzYi5idWYsIHNiLmxlbik7CisJfSBlbHNlIHsKKwkJcmV0dXJuIG1lbWhhc2goZXMtPmxpbmUsIGVzLT5sZW4pOworCX0KK30KKworc3RhdGljIHN0cnVjdCBtb3ZlZF9lbnRyeSAqcHJlcGFyZV9lbnRyeShzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLAorCQkJCQkgaW50IGxpbmVfbm8pCit7CisJc3RydWN0IG1vdmVkX2VudHJ5ICpyZXQgPSB4bWFsbG9jKHNpemVvZigqcmV0KSk7CisJc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgKmwgPSAmby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbGluZV9ub107CisKKwlyZXQtPmVudC5oYXNoID0gZ2V0X3N0cmluZ19oYXNoKGwsIG8pOworCXJldC0+ZXMgPSBsOworCXJldC0+bmV4dF9saW5lID0gTlVMTDsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9saW5lc190b19tb3ZlX2RldGVjdGlvbihzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLAorCQkJCQlzdHJ1Y3QgaGFzaG1hcCAqYWRkX2xpbmVzLAorCQkJCQlzdHJ1Y3QgaGFzaG1hcCAqZGVsX2xpbmVzKQoreworCXN0cnVjdCBtb3ZlZF9lbnRyeSAqcHJldl9saW5lID0gTlVMTDsKKworCWludCBuOworCWZvciAobiA9IDA7IG4gPCBvLT5lbWl0dGVkX3N5bWJvbHMtPm5yOyBuKyspIHsKKwkJc3RydWN0IGhhc2htYXAgKmhtOworCQlzdHJ1Y3QgbW92ZWRfZW50cnkgKmtleTsKKworCQlzd2l0Y2ggKG8tPmVtaXR0ZWRfc3ltYm9scy0+YnVmW25dLnMpIHsKKwkJY2FzZSBESUZGX1NZTUJPTF9QTFVTOgorCQkJaG0gPSBhZGRfbGluZXM7CisJCQlicmVhazsKKwkJY2FzZSBESUZGX1NZTUJPTF9NSU5VUzoKKwkJCWhtID0gZGVsX2xpbmVzOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlwcmV2X2xpbmUgPSBOVUxMOworCQkJY29udGludWU7CisJCX0KKworCQlrZXkgPSBwcmVwYXJlX2VudHJ5KG8sIG4pOworCQlpZiAocHJldl9saW5lICYmIHByZXZfbGluZS0+ZXMtPnMgPT0gby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbl0ucykKKwkJCXByZXZfbGluZS0+bmV4dF9saW5lID0ga2V5OworCisJCWhhc2htYXBfYWRkKGhtLCBrZXkpOworCQlwcmV2X2xpbmUgPSBrZXk7CisJfQorfQorCitzdGF0aWMgaW50IHNocmlua19wb3RlbnRpYWxfbW92ZWRfYmxvY2tzKHN0cnVjdCBtb3ZlZF9lbnRyeSAqKnBtYiwKKwkJCQkJIGludCBwbWJfbnIpCit7CisJaW50IGxwLCBycDsKKworCS8qIFNocmluayB0aGUgc2V0IG9mIHBvdGVudGlhbCBibG9jayB0byB0aGUgcmVtYWluaW5nIHJ1bm5pbmcgKi8KKwlmb3IgKGxwID0gMCwgcnAgPSBwbWJfbnIgLSAxOyBscCA8PSBycDspIHsKKwkJd2hpbGUgKGxwIDwgcG1iX25yICYmIHBtYltscF0pCisJCQlscCsrOworCQkvKiBscCBwb2ludHMgYXQgdGhlIGZpcnN0IE5VTEwgbm93ICovCisKKwkJd2hpbGUgKHJwID4gLTEgJiYgIXBtYltycF0pCisJCQlycC0tOworCQkvKiBycCBwb2ludHMgYXQgdGhlIGxhc3Qgbm9uLU5VTEwgKi8KKworCQlpZiAobHAgPCBwbWJfbnIgJiYgcnAgPiAtMSAmJiBscCA8IHJwKSB7CisJCQlwbWJbbHBdID0gcG1iW3JwXTsKKwkJCXBtYltycF0gPSBOVUxMOworCQkJcnAtLTsKKwkJCWxwKys7CisJCX0KKwl9CisKKwkvKiBSZW1lbWJlciB0aGUgbnVtYmVyIG9mIHJ1bm5pbmcgc2V0cyAqLworCXJldHVybiBycCArIDE7Cit9CisKKy8qCisgKiBJZiBvLT5jb2xvcl9tb3ZlZCBpcyBDT0xPUl9NT1ZFRF9QTEFJTiwgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuCisgKgorICogT3RoZXJ3aXNlLCBpZiB0aGUgbGFzdCBibG9jayBoYXMgZmV3ZXIgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgdGhhbgorICogQ09MT1JfTU9WRURfTUlOX0FMTlVNX0NPVU5ULCB1bnNldCBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FIG9uIGFsbCBsaW5lcyBpbgorICogdGhhdCBibG9jay4KKyAqCisgKiBUaGUgbGFzdCBibG9jayBjb25zaXN0cyBvZiB0aGUgKG4gLSBibG9ja19sZW5ndGgpJ3RoIGxpbmUgdXAgdG8gYnV0IG5vdAorICogaW5jbHVkaW5nIHRoZSBudGggbGluZS4KKyAqCisgKiBORUVEU1dPUks6IFRoaXMgdXNlcyB0aGUgc2FtZSBoZXVyaXN0aWMgYXMgYmxhbWVfZW50cnlfc2NvcmUoKSBpbiBibGFtZS5jLgorICogVGhpbmsgb2YgYSB3YXkgdG8gdW5pZnkgdGhlbS4KKyAqLworc3RhdGljIHZvaWQgYWRqdXN0X2xhc3RfYmxvY2soc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgaW50IG4sIGludCBibG9ja19sZW5ndGgpCit7CisJaW50IGksIGFsbnVtX2NvdW50ID0gMDsKKwlpZiAoby0+Y29sb3JfbW92ZWQgPT0gQ09MT1JfTU9WRURfUExBSU4pCisJCXJldHVybjsKKwlmb3IgKGkgPSAxOyBpIDwgYmxvY2tfbGVuZ3RoICsgMTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmMgPSBvLT5lbWl0dGVkX3N5bWJvbHMtPmJ1ZltuIC0gaV0ubGluZTsKKwkJZm9yICg7ICpjOyBjKyspIHsKKwkJCWlmICghaXNhbG51bSgqYykpCisJCQkJY29udGludWU7CisJCQlhbG51bV9jb3VudCsrOworCQkJaWYgKGFsbnVtX2NvdW50ID49IENPTE9SX01PVkVEX01JTl9BTE5VTV9DT1VOVCkKKwkJCQlyZXR1cm47CisJCX0KKwl9CisJZm9yIChpID0gMTsgaSA8IGJsb2NrX2xlbmd0aCArIDE7IGkrKykKKwkJby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbiAtIGldLmZsYWdzICY9IH5ESUZGX1NZTUJPTF9NT1ZFRF9MSU5FOworfQorCisvKiBGaW5kIGJsb2NrcyBvZiBtb3ZlZCBjb2RlLCBkZWxlZ2F0ZSBhY3R1YWwgY29sb3JpbmcgZGVjaXNpb24gdG8gaGVscGVyICovCitzdGF0aWMgdm9pZCBtYXJrX2NvbG9yX2FzX21vdmVkKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sCisJCQkJc3RydWN0IGhhc2htYXAgKmFkZF9saW5lcywKKwkJCQlzdHJ1Y3QgaGFzaG1hcCAqZGVsX2xpbmVzKQoreworCXN0cnVjdCBtb3ZlZF9lbnRyeSAqKnBtYiA9IE5VTEw7IC8qIHBvdGVudGlhbGx5IG1vdmVkIGJsb2NrcyAqLworCWludCBwbWJfbnIgPSAwLCBwbWJfYWxsb2MgPSAwOworCWludCBuLCBmbGlwcGVkX2Jsb2NrID0gMSwgYmxvY2tfbGVuZ3RoID0gMDsKKworCisJZm9yIChuID0gMDsgbiA8IG8tPmVtaXR0ZWRfc3ltYm9scy0+bnI7IG4rKykgeworCQlzdHJ1Y3QgaGFzaG1hcCAqaG0gPSBOVUxMOworCQlzdHJ1Y3QgbW92ZWRfZW50cnkgKmtleTsKKwkJc3RydWN0IG1vdmVkX2VudHJ5ICptYXRjaCA9IE5VTEw7CisJCXN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sICpsID0gJm8tPmVtaXR0ZWRfc3ltYm9scy0+YnVmW25dOworCQlpbnQgaTsKKworCQlzd2l0Y2ggKGwtPnMpIHsKKwkJY2FzZSBESUZGX1NZTUJPTF9QTFVTOgorCQkJaG0gPSBkZWxfbGluZXM7CisJCQlrZXkgPSBwcmVwYXJlX2VudHJ5KG8sIG4pOworCQkJbWF0Y2ggPSBoYXNobWFwX2dldChobSwga2V5LCBvKTsKKwkJCWZyZWUoa2V5KTsKKwkJCWJyZWFrOworCQljYXNlIERJRkZfU1lNQk9MX01JTlVTOgorCQkJaG0gPSBhZGRfbGluZXM7CisJCQlrZXkgPSBwcmVwYXJlX2VudHJ5KG8sIG4pOworCQkJbWF0Y2ggPSBoYXNobWFwX2dldChobSwga2V5LCBvKTsKKwkJCWZyZWUoa2V5KTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZmxpcHBlZF9ibG9jayA9IDE7CisJCX0KKworCQlpZiAoIW1hdGNoKSB7CisJCQlhZGp1c3RfbGFzdF9ibG9jayhvLCBuLCBibG9ja19sZW5ndGgpOworCQkJcG1iX25yID0gMDsKKwkJCWJsb2NrX2xlbmd0aCA9IDA7CisJCQljb250aW51ZTsKKwkJfQorCisJCWwtPmZsYWdzIHw9IERJRkZfU1lNQk9MX01PVkVEX0xJTkU7CisKKwkJaWYgKG8tPmNvbG9yX21vdmVkID09IENPTE9SX01PVkVEX1BMQUlOKQorCQkJY29udGludWU7CisKKwkJLyogQ2hlY2sgYW55IHBvdGVudGlhbCBibG9jayBydW5zLCBhZHZhbmNlIGVhY2ggb3IgbnVsbGlmeSAqLworCQlmb3IgKGkgPSAwOyBpIDwgcG1iX25yOyBpKyspIHsKKwkJCXN0cnVjdCBtb3ZlZF9lbnRyeSAqcCA9IHBtYltpXTsKKwkJCXN0cnVjdCBtb3ZlZF9lbnRyeSAqcG5leHQgPSAocCAmJiBwLT5uZXh0X2xpbmUpID8KKwkJCQkJcC0+bmV4dF9saW5lIDogTlVMTDsKKwkJCWlmIChwbmV4dCAmJiAhaG0tPmNtcGZuKG8sIHBuZXh0LCBtYXRjaCwgTlVMTCkpIHsKKwkJCQlwbWJbaV0gPSBwLT5uZXh0X2xpbmU7CisJCQl9IGVsc2UgeworCQkJCXBtYltpXSA9IE5VTEw7CisJCQl9CisJCX0KKworCQlwbWJfbnIgPSBzaHJpbmtfcG90ZW50aWFsX21vdmVkX2Jsb2NrcyhwbWIsIHBtYl9ucik7CisKKwkJaWYgKHBtYl9uciA9PSAwKSB7CisJCQkvKgorCQkJICogVGhlIGN1cnJlbnQgbGluZSBpcyB0aGUgc3RhcnQgb2YgYSBuZXcgYmxvY2suCisJCQkgKiBTZXR1cCB0aGUgc2V0IG9mIHBvdGVudGlhbCBibG9ja3MuCisJCQkgKi8KKwkJCWZvciAoOyBtYXRjaDsgbWF0Y2ggPSBoYXNobWFwX2dldF9uZXh0KGhtLCBtYXRjaCkpIHsKKwkJCQlBTExPQ19HUk9XKHBtYiwgcG1iX25yICsgMSwgcG1iX2FsbG9jKTsKKwkJCQlwbWJbcG1iX25yKytdID0gbWF0Y2g7CisJCQl9CisKKwkJCWZsaXBwZWRfYmxvY2sgPSAoZmxpcHBlZF9ibG9jayArIDEpICUgMjsKKworCQkJYWRqdXN0X2xhc3RfYmxvY2sobywgbiwgYmxvY2tfbGVuZ3RoKTsKKwkJCWJsb2NrX2xlbmd0aCA9IDA7CisJCX0KKworCQlibG9ja19sZW5ndGgrKzsKKworCQlpZiAoZmxpcHBlZF9ibG9jaykKKwkJCWwtPmZsYWdzIHw9IERJRkZfU1lNQk9MX01PVkVEX0xJTkVfQUxUOworCX0KKwlhZGp1c3RfbGFzdF9ibG9jayhvLCBuLCBibG9ja19sZW5ndGgpOworCisJZnJlZShwbWIpOworfQorCisjZGVmaW5lIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfWkVCUkFfTUFTSyBcCisgIChESUZGX1NZTUJPTF9NT1ZFRF9MSU5FIHwgRElGRl9TWU1CT0xfTU9WRURfTElORV9BTFQpCitzdGF0aWMgdm9pZCBkaW1fbW92ZWRfbGluZXMoc3RydWN0IGRpZmZfb3B0aW9ucyAqbykKK3sKKwlpbnQgbjsKKwlmb3IgKG4gPSAwOyBuIDwgby0+ZW1pdHRlZF9zeW1ib2xzLT5ucjsgbisrKSB7CisJCXN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sICpwcmV2ID0gKG4gIT0gMCkgPworCQkJCSZvLT5lbWl0dGVkX3N5bWJvbHMtPmJ1ZltuIC0gMV0gOiBOVUxMOworCQlzdHJ1Y3QgZW1pdHRlZF9kaWZmX3N5bWJvbCAqbCA9ICZvLT5lbWl0dGVkX3N5bWJvbHMtPmJ1ZltuXTsKKwkJc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgKm5leHQgPQorCQkJCShuIDwgby0+ZW1pdHRlZF9zeW1ib2xzLT5uciAtIDEpID8KKwkJCQkmby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbiArIDFdIDogTlVMTDsKKworCQkvKiBOb3QgYSBwbHVzIG9yIG1pbnVzIGxpbmU/ICovCisJCWlmIChsLT5zICE9IERJRkZfU1lNQk9MX1BMVVMgJiYgbC0+cyAhPSBESUZGX1NZTUJPTF9NSU5VUykKKwkJCWNvbnRpbnVlOworCisJCS8qIE5vdCBhIG1vdmVkIGxpbmU/ICovCisJCWlmICghKGwtPmZsYWdzICYgRElGRl9TWU1CT0xfTU9WRURfTElORSkpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBJZiBwcmV2IG9yIG5leHQgYXJlIG5vdCBhIHBsdXMgb3IgbWludXMgbGluZSwKKwkJICogcHJldGVuZCB0aGV5IGRvbid0IGV4aXN0CisJCSAqLworCQlpZiAocHJldiAmJiBwcmV2LT5zICE9IERJRkZfU1lNQk9MX1BMVVMgJiYKKwkJCSAgICBwcmV2LT5zICE9IERJRkZfU1lNQk9MX01JTlVTKQorCQkJcHJldiA9IE5VTEw7CisJCWlmIChuZXh0ICYmIG5leHQtPnMgIT0gRElGRl9TWU1CT0xfUExVUyAmJgorCQkJICAgIG5leHQtPnMgIT0gRElGRl9TWU1CT0xfTUlOVVMpCisJCQluZXh0ID0gTlVMTDsKKworCQkvKiBJbnNpZGUgYSBibG9jaz8gKi8KKwkJaWYgKChwcmV2ICYmCisJCSAgICAocHJldi0+ZmxhZ3MgJiBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX1pFQlJBX01BU0spID09CisJCSAgICAobC0+ZmxhZ3MgJiBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX1pFQlJBX01BU0spKSAmJgorCQkgICAgKG5leHQgJiYKKwkJICAgIChuZXh0LT5mbGFncyAmIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfWkVCUkFfTUFTSykgPT0KKwkJICAgIChsLT5mbGFncyAmIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfWkVCUkFfTUFTSykpKSB7CisJCQlsLT5mbGFncyB8PSBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX1VOSU5URVJFU1RJTkc7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIENoZWNrIGlmIHdlIGFyZSBhdCBhbiBpbnRlcmVzdGluZyBib3VuZDogKi8KKwkJaWYgKHByZXYgJiYgKHByZXYtPmZsYWdzICYgRElGRl9TWU1CT0xfTU9WRURfTElORSkgJiYKKwkJICAgIChwcmV2LT5mbGFncyAmIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfQUxUKSAhPQorCQkgICAgICAgKGwtPmZsYWdzICYgRElGRl9TWU1CT0xfTU9WRURfTElORV9BTFQpKQorCQkJY29udGludWU7CisJCWlmIChuZXh0ICYmIChuZXh0LT5mbGFncyAmIERJRkZfU1lNQk9MX01PVkVEX0xJTkUpICYmCisJCSAgICAobmV4dC0+ZmxhZ3MgJiBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX0FMVCkgIT0KKwkJICAgICAgIChsLT5mbGFncyAmIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfQUxUKSkKKwkJCWNvbnRpbnVlOworCisJCS8qCisJCSAqIFRoZSBib3VuZGFyeSB0byBwcmV2IGFuZCBuZXh0IGFyZSBub3QgaW50ZXJlc3RpbmcsCisJCSAqIHNvIHRoaXMgbGluZSBpcyBub3QgaW50ZXJlc3RpbmcgYXMgYSB3aG9sZQorCQkgKi8KKwkJbC0+ZmxhZ3MgfD0gRElGRl9TWU1CT0xfTU9WRURfTElORV9VTklOVEVSRVNUSU5HOworCX0KK30KKworc3RhdGljIHZvaWQgZW1pdF9saW5lX3dzX21hcmt1cChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLAorCQkJCWNvbnN0IGNoYXIgKnNldCwgY29uc3QgY2hhciAqcmVzZXQsCisJCQkJY29uc3QgY2hhciAqbGluZSwgaW50IGxlbiwgY2hhciBzaWduLAorCQkJCXVuc2lnbmVkIHdzX3J1bGUsIGludCBibGFua19hdF9lb2YpCit7CisJY29uc3QgY2hhciAqd3MgPSBOVUxMOworCisJaWYgKG8tPndzX2Vycm9yX2hpZ2hsaWdodCAmIHdzX3J1bGUpIHsKKwkJd3MgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9XSElURVNQQUNFKTsKKwkJaWYgKCEqd3MpCisJCQl3cyA9IE5VTEw7CisJfQorCisJaWYgKCF3cykKKwkJZW1pdF9saW5lXzAobywgc2V0LCByZXNldCwgc2lnbiwgbGluZSwgbGVuKTsKKwllbHNlIGlmIChibGFua19hdF9lb2YpCisJCS8qIEJsYW5rIGxpbmUgYXQgRU9GIC0gcGFpbnQgJysnIGFzIHdlbGwgKi8KKwkJZW1pdF9saW5lXzAobywgd3MsIHJlc2V0LCBzaWduLCBsaW5lLCBsZW4pOworCWVsc2UgeworCQkvKiBFbWl0IGp1c3QgdGhlIHByZWZpeCwgdGhlbiB0aGUgcmVzdC4gKi8KKwkJZW1pdF9saW5lXzAobywgc2V0LCByZXNldCwgc2lnbiwgIiIsIDApOworCQl3c19jaGVja19lbWl0KGxpbmUsIGxlbiwgd3NfcnVsZSwKKwkJCSAgICAgIG8tPmZpbGUsIHNldCwgcmVzZXQsIHdzKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGVtaXRfZGlmZl9zeW1ib2xfZnJvbV9zdHJ1Y3Qoc3RydWN0IGRpZmZfb3B0aW9ucyAqbywKKwkJCQkJIHN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sICplZHMpCit7CisJc3RhdGljIGNvbnN0IGNoYXIgKm5uZW9mID0gIiBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlXG4iOworCWNvbnN0IGNoYXIgKmNvbnRleHQsICpyZXNldCwgKnNldCwgKm1ldGEsICpmcmFnaW5mbzsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisKKwllbnVtIGRpZmZfc3ltYm9sIHMgPSBlZHMtPnM7CisJY29uc3QgY2hhciAqbGluZSA9IGVkcy0+bGluZTsKKwlpbnQgbGVuID0gZWRzLT5sZW47CisJdW5zaWduZWQgZmxhZ3MgPSBlZHMtPmZsYWdzOworCisJc3dpdGNoIChzKSB7CisJY2FzZSBESUZGX1NZTUJPTF9OT19MRl9FT0Y6CisJCWNvbnRleHQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9DT05URVhUKTsKKwkJcmVzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9SRVNFVCk7CisJCXB1dGMoJ1xuJywgby0+ZmlsZSk7CisJCWVtaXRfbGluZV8wKG8sIGNvbnRleHQsIHJlc2V0LCAnXFwnLAorCQkJICAgIG5uZW9mLCBzdHJsZW4obm5lb2YpKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9TVUJNT0RVTEVfSEVBREVSOgorCWNhc2UgRElGRl9TWU1CT0xfU1VCTU9EVUxFX0VSUk9SOgorCWNhc2UgRElGRl9TWU1CT0xfU1VCTU9EVUxFX1BJUEVUSFJPVUdIOgorCWNhc2UgRElGRl9TWU1CT0xfU1RBVFNfU1VNTUFSWV9JTlNFUlRTX0RFTEVURVM6CisJY2FzZSBESUZGX1NZTUJPTF9TVU1NQVJZOgorCWNhc2UgRElGRl9TWU1CT0xfU1RBVFNfTElORToKKwljYXNlIERJRkZfU1lNQk9MX0JJTkFSWV9ESUZGX0JPRFk6CisJY2FzZSBESUZGX1NZTUJPTF9DT05URVhUX0ZSQUdJTkZPOgorCQllbWl0X2xpbmUobywgIiIsICIiLCBsaW5lLCBsZW4pOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX0NPTlRFWFRfSU5DT01QTEVURToKKwljYXNlIERJRkZfU1lNQk9MX0NPTlRFWFRfTUFSS0VSOgorCQljb250ZXh0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfQ09OVEVYVCk7CisJCXJlc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfUkVTRVQpOworCQllbWl0X2xpbmUobywgY29udGV4dCwgcmVzZXQsIGxpbmUsIGxlbik7CisJCWJyZWFrOworCWNhc2UgRElGRl9TWU1CT0xfU0VQQVJBVE9SOgorCQlmcHJpbnRmKG8tPmZpbGUsICIlcyVjIiwKKwkJCWRpZmZfbGluZV9wcmVmaXgobyksCisJCQlvLT5saW5lX3Rlcm1pbmF0aW9uKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9DT05URVhUOgorCQlzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9DT05URVhUKTsKKwkJcmVzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9SRVNFVCk7CisJCWVtaXRfbGluZV93c19tYXJrdXAobywgc2V0LCByZXNldCwgbGluZSwgbGVuLCAnICcsCisJCQkJICAgIGZsYWdzICYgKERJRkZfU1lNQk9MX0NPTlRFTlRfV1NfTUFTSyksIDApOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX1BMVVM6CisJCXN3aXRjaCAoZmxhZ3MgJiAoRElGRl9TWU1CT0xfTU9WRURfTElORSB8CisJCQkJIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfQUxUIHwKKwkJCQkgRElGRl9TWU1CT0xfTU9WRURfTElORV9VTklOVEVSRVNUSU5HKSkgeworCQljYXNlIERJRkZfU1lNQk9MX01PVkVEX0xJTkUgfAorCQkgICAgIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfQUxUIHwKKwkJICAgICBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX1VOSU5URVJFU1RJTkc6CisJCQlzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX05FV19NT1ZFRF9BTFRfRElNKTsKKwkJCWJyZWFrOworCQljYXNlIERJRkZfU1lNQk9MX01PVkVEX0xJTkUgfAorCQkgICAgIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfQUxUOgorCQkJc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9ORVdfTU9WRURfQUxUKTsKKwkJCWJyZWFrOworCQljYXNlIERJRkZfU1lNQk9MX01PVkVEX0xJTkUgfAorCQkgICAgIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfVU5JTlRFUkVTVElORzoKKwkJCXNldCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX0ZJTEVfTkVXX01PVkVEX0RJTSk7CisJCQlicmVhazsKKwkJY2FzZSBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FOgorCQkJc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9ORVdfTU9WRUQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX05FVyk7CisJCX0KKwkJcmVzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9SRVNFVCk7CisJCWVtaXRfbGluZV93c19tYXJrdXAobywgc2V0LCByZXNldCwgbGluZSwgbGVuLCAnKycsCisJCQkJICAgIGZsYWdzICYgRElGRl9TWU1CT0xfQ09OVEVOVF9XU19NQVNLLAorCQkJCSAgICBmbGFncyAmIERJRkZfU1lNQk9MX0NPTlRFTlRfQkxBTktfTElORV9FT0YpOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX01JTlVTOgorCQlzd2l0Y2ggKGZsYWdzICYgKERJRkZfU1lNQk9MX01PVkVEX0xJTkUgfAorCQkJCSBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX0FMVCB8CisJCQkJIERJRkZfU1lNQk9MX01PVkVEX0xJTkVfVU5JTlRFUkVTVElORykpIHsKKwkJY2FzZSBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FIHwKKwkJICAgICBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX0FMVCB8CisJCSAgICAgRElGRl9TWU1CT0xfTU9WRURfTElORV9VTklOVEVSRVNUSU5HOgorCQkJc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9PTERfTU9WRURfQUxUX0RJTSk7CisJCQlicmVhazsKKwkJY2FzZSBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FIHwKKwkJICAgICBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX0FMVDoKKwkJCXNldCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX0ZJTEVfT0xEX01PVkVEX0FMVCk7CisJCQlicmVhazsKKwkJY2FzZSBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FIHwKKwkJICAgICBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX1VOSU5URVJFU1RJTkc6CisJCQlzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX09MRF9NT1ZFRF9ESU0pOworCQkJYnJlYWs7CisJCWNhc2UgRElGRl9TWU1CT0xfTU9WRURfTElORToKKwkJCXNldCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX0ZJTEVfT0xEX01PVkVEKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9PTEQpOworCQl9CisJCXJlc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfUkVTRVQpOworCQllbWl0X2xpbmVfd3NfbWFya3VwKG8sIHNldCwgcmVzZXQsIGxpbmUsIGxlbiwgJy0nLAorCQkJCSAgICBmbGFncyAmIERJRkZfU1lNQk9MX0NPTlRFTlRfV1NfTUFTSywgMCk7CisJCWJyZWFrOworCWNhc2UgRElGRl9TWU1CT0xfV09SRFNfUE9SQ0VMQUlOOgorCQljb250ZXh0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfQ09OVEVYVCk7CisJCXJlc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfUkVTRVQpOworCQllbWl0X2xpbmUobywgY29udGV4dCwgcmVzZXQsIGxpbmUsIGxlbik7CisJCWZwdXRzKCJ+XG4iLCBvLT5maWxlKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9XT1JEUzoKKwkJY29udGV4dCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX0NPTlRFWFQpOworCQlyZXNldCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX1JFU0VUKTsKKwkJLyoKKwkJICogU2tpcCB0aGUgcHJlZml4IGNoYXJhY3RlciwgaWYgYW55LiAgV2l0aAorCQkgKiBkaWZmX3N1cHByZXNzX2JsYW5rX2VtcHR5LCB0aGVyZSBtYXkgYmUKKwkJICogbm9uZS4KKwkJICovCisJCWlmIChsaW5lWzBdICE9ICdcbicpIHsKKwkJCWxpbmUrKzsKKwkJCWxlbi0tOworCQl9CisJCWVtaXRfbGluZShvLCBjb250ZXh0LCByZXNldCwgbGluZSwgbGVuKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9GSUxFUEFJUl9QTFVTOgorCQltZXRhID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfTUVUQUlORk8pOworCQlyZXNldCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX1JFU0VUKTsKKwkJZnByaW50ZihvLT5maWxlLCAiJXMlcysrKyAlcyVzJXNcbiIsIGRpZmZfbGluZV9wcmVmaXgobyksIG1ldGEsCisJCQlsaW5lLCByZXNldCwKKwkJCXN0cmNocihsaW5lLCAnICcpID8gIlx0IiA6ICIiKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9GSUxFUEFJUl9NSU5VUzoKKwkJbWV0YSA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX01FVEFJTkZPKTsKKwkJcmVzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9SRVNFVCk7CisJCWZwcmludGYoby0+ZmlsZSwgIiVzJXMtLS0gJXMlcyVzXG4iLCBkaWZmX2xpbmVfcHJlZml4KG8pLCBtZXRhLAorCQkJbGluZSwgcmVzZXQsCisJCQlzdHJjaHIobGluZSwgJyAnKSA/ICJcdCIgOiAiIik7CisJCWJyZWFrOworCWNhc2UgRElGRl9TWU1CT0xfQklOQVJZX0ZJTEVTOgorCWNhc2UgRElGRl9TWU1CT0xfSEVBREVSOgorCQlmcHJpbnRmKG8tPmZpbGUsICIlcyIsIGxpbmUpOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX0JJTkFSWV9ESUZGX0hFQURFUjoKKwkJZnByaW50ZihvLT5maWxlLCAiJXNHSVQgYmluYXJ5IHBhdGNoXG4iLCBkaWZmX2xpbmVfcHJlZml4KG8pKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9CSU5BUllfRElGRl9IRUFERVJfREVMVEE6CisJCWZwcmludGYoby0+ZmlsZSwgIiVzZGVsdGEgJXNcbiIsIGRpZmZfbGluZV9wcmVmaXgobyksIGxpbmUpOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX0JJTkFSWV9ESUZGX0hFQURFUl9MSVRFUkFMOgorCQlmcHJpbnRmKG8tPmZpbGUsICIlc2xpdGVyYWwgJXNcbiIsIGRpZmZfbGluZV9wcmVmaXgobyksIGxpbmUpOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX0JJTkFSWV9ESUZGX0ZPT1RFUjoKKwkJZnB1dHMoZGlmZl9saW5lX3ByZWZpeChvKSwgby0+ZmlsZSk7CisJCWZwdXRjKCdcbicsIG8tPmZpbGUpOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX1JFV1JJVEVfRElGRjoKKwkJZnJhZ2luZm8gPSBkaWZmX2dldF9jb2xvcihvLT51c2VfY29sb3IsIERJRkZfRlJBR0lORk8pOworCQlyZXNldCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX1JFU0VUKTsKKwkJZW1pdF9saW5lKG8sIGZyYWdpbmZvLCByZXNldCwgbGluZSwgbGVuKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9TVUJNT0RVTEVfQUREOgorCQlzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX05FVyk7CisJCXJlc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfUkVTRVQpOworCQllbWl0X2xpbmUobywgc2V0LCByZXNldCwgbGluZSwgbGVuKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9TVUJNT0RVTEVfREVMOgorCQlzZXQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX09MRCk7CisJCXJlc2V0ID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfUkVTRVQpOworCQllbWl0X2xpbmUobywgc2V0LCByZXNldCwgbGluZSwgbGVuKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9TVUJNT0RVTEVfVU5UUkFDS0VEOgorCQlmcHJpbnRmKG8tPmZpbGUsICIlc1N1Ym1vZHVsZSAlcyBjb250YWlucyB1bnRyYWNrZWQgY29udGVudFxuIiwKKwkJCWRpZmZfbGluZV9wcmVmaXgobyksIGxpbmUpOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX1NVQk1PRFVMRV9NT0RJRklFRDoKKwkJZnByaW50ZihvLT5maWxlLCAiJXNTdWJtb2R1bGUgJXMgY29udGFpbnMgbW9kaWZpZWQgY29udGVudFxuIiwKKwkJCWRpZmZfbGluZV9wcmVmaXgobyksIGxpbmUpOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX1NUQVRTX1NVTU1BUllfTk9fRklMRVM6CisJCWVtaXRfbGluZShvLCAiIiwgIiIsICIgMCBmaWxlcyBjaGFuZ2VkXG4iLAorCQkJICBzdHJsZW4oIiAwIGZpbGVzIGNoYW5nZWRcbiIpKTsKKwkJYnJlYWs7CisJY2FzZSBESUZGX1NZTUJPTF9TVEFUU19TVU1NQVJZX0FCQlJFVjoKKwkJZW1pdF9saW5lKG8sICIiLCAiIiwgIiAuLi5cbiIsIHN0cmxlbigiIC4uLlxuIikpOworCQlicmVhazsKKwljYXNlIERJRkZfU1lNQk9MX1dPUkRfRElGRjoKKwkJZnByaW50ZihvLT5maWxlLCAiJS4qcyIsIGxlbiwgbGluZSk7CisJCWJyZWFrOworCWNhc2UgRElGRl9TWU1CT0xfU1RBVF9TRVA6CisJCWZwdXRzKG8tPnN0YXRfc2VwLCBvLT5maWxlKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGllKCJCVUc6IHVua25vd24gZGlmZiBzeW1ib2wiKTsKKwl9CisJc3RyYnVmX3JlbGVhc2UoJnNiKTsKK30KKworc3RhdGljIHZvaWQgZW1pdF9kaWZmX3N5bWJvbChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBlbnVtIGRpZmZfc3ltYm9sIHMsCisJCQkgICAgIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sIHVuc2lnbmVkIGZsYWdzKQoreworCXN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sIGUgPSB7bGluZSwgbGVuLCBmbGFncywgc307CisKKwlpZiAoby0+ZW1pdHRlZF9zeW1ib2xzKQorCQlhcHBlbmRfZW1pdHRlZF9kaWZmX3N5bWJvbChvLCAmZSk7CisJZWxzZQorCQllbWl0X2RpZmZfc3ltYm9sX2Zyb21fc3RydWN0KG8sICZlKTsKK30KKwordm9pZCBkaWZmX2VtaXRfc3VibW9kdWxlX2RlbChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICpsaW5lKQoreworCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfU1VCTU9EVUxFX0RFTCwgbGluZSwgc3RybGVuKGxpbmUpLCAwKTsKK30KKwordm9pZCBkaWZmX2VtaXRfc3VibW9kdWxlX2FkZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICpsaW5lKQoreworCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfU1VCTU9EVUxFX0FERCwgbGluZSwgc3RybGVuKGxpbmUpLCAwKTsKK30KKwordm9pZCBkaWZmX2VtaXRfc3VibW9kdWxlX3VudHJhY2tlZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICpwYXRoKQoreworCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfU1VCTU9EVUxFX1VOVFJBQ0tFRCwKKwkJCSBwYXRoLCBzdHJsZW4ocGF0aCksIDApOworfQorCit2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfbW9kaWZpZWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX1NVQk1PRFVMRV9NT0RJRklFRCwKKwkJCSBwYXRoLCBzdHJsZW4ocGF0aCksIDApOworfQorCit2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfaGVhZGVyKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKmhlYWRlcikKK3sKKwllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX1NVQk1PRFVMRV9IRUFERVIsCisJCQkgaGVhZGVyLCBzdHJsZW4oaGVhZGVyKSwgMCk7Cit9CisKK3ZvaWQgZGlmZl9lbWl0X3N1Ym1vZHVsZV9lcnJvcihzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICplcnIpCit7CisJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9TVUJNT0RVTEVfRVJST1IsIGVyciwgc3RybGVuKGVyciksIDApOworfQorCit2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfcGlwZXRocm91Z2goc3RydWN0IGRpZmZfb3B0aW9ucyAqbywKKwkJCQkgICAgIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pCit7CisJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9TVUJNT0RVTEVfUElQRVRIUk9VR0gsIGxpbmUsIGxlbiwgMCk7Cit9CisKIHN0YXRpYyBpbnQgbmV3X2JsYW5rX2xpbmVfYXRfZW9mKHN0cnVjdCBlbWl0X2NhbGxiYWNrICplY2JkYXRhLCBjb25zdCBjaGFyICpsaW5lLCBpbnQgbGVuKQogewogCWlmICghKChlY2JkYXRhLT53c19ydWxlICYgV1NfQkxBTktfQVRfRU9GKSAmJgpAQCAtNTcwLDU3ICsxMzE0LDMxIEBACiAJcmV0dXJuIHdzX2JsYW5rX2xpbmUobGluZSwgbGVuLCBlY2JkYXRhLT53c19ydWxlKTsKIH0KIAotc3RhdGljIHZvaWQgZW1pdF9saW5lX2NoZWNrZWQoY29uc3QgY2hhciAqcmVzZXQsCi0JCQkgICAgICBzdHJ1Y3QgZW1pdF9jYWxsYmFjayAqZWNiZGF0YSwKLQkJCSAgICAgIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sCi0JCQkgICAgICBlbnVtIGNvbG9yX2RpZmYgY29sb3IsCi0JCQkgICAgICB1bnNpZ25lZCB3c19lcnJvcl9oaWdobGlnaHQsCi0JCQkgICAgICBjaGFyIHNpZ24pCi17Ci0JY29uc3QgY2hhciAqc2V0ID0gZGlmZl9nZXRfY29sb3IoZWNiZGF0YS0+Y29sb3JfZGlmZiwgY29sb3IpOwotCWNvbnN0IGNoYXIgKndzID0gTlVMTDsKLQotCWlmIChlY2JkYXRhLT5vcHQtPndzX2Vycm9yX2hpZ2hsaWdodCAmIHdzX2Vycm9yX2hpZ2hsaWdodCkgewotCQl3cyA9IGRpZmZfZ2V0X2NvbG9yKGVjYmRhdGEtPmNvbG9yX2RpZmYsIERJRkZfV0hJVEVTUEFDRSk7Ci0JCWlmICghKndzKQotCQkJd3MgPSBOVUxMOwotCX0KLQotCWlmICghd3MpCi0JCWVtaXRfbGluZV8wKGVjYmRhdGEtPm9wdCwgc2V0LCByZXNldCwgc2lnbiwgbGluZSwgbGVuKTsKLQllbHNlIGlmIChzaWduID09ICcrJyAmJiBuZXdfYmxhbmtfbGluZV9hdF9lb2YoZWNiZGF0YSwgbGluZSwgbGVuKSkKLQkJLyogQmxhbmsgbGluZSBhdCBFT0YgLSBwYWludCAnKycgYXMgd2VsbCAqLwotCQllbWl0X2xpbmVfMChlY2JkYXRhLT5vcHQsIHdzLCByZXNldCwgc2lnbiwgbGluZSwgbGVuKTsKLQllbHNlIHsKLQkJLyogRW1pdCBqdXN0IHRoZSBwcmVmaXgsIHRoZW4gdGhlIHJlc3QuICovCi0JCWVtaXRfbGluZV8wKGVjYmRhdGEtPm9wdCwgc2V0LCByZXNldCwgc2lnbiwgIiIsIDApOwotCQl3c19jaGVja19lbWl0KGxpbmUsIGxlbiwgZWNiZGF0YS0+d3NfcnVsZSwKLQkJCSAgICAgIGVjYmRhdGEtPm9wdC0+ZmlsZSwgc2V0LCByZXNldCwgd3MpOwotCX0KLX0KLQogc3RhdGljIHZvaWQgZW1pdF9hZGRfbGluZShjb25zdCBjaGFyICpyZXNldCwKIAkJCSAgc3RydWN0IGVtaXRfY2FsbGJhY2sgKmVjYmRhdGEsCiAJCQkgIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pCiB7Ci0JZW1pdF9saW5lX2NoZWNrZWQocmVzZXQsIGVjYmRhdGEsIGxpbmUsIGxlbiwKLQkJCSAgRElGRl9GSUxFX05FVywgV1NFSF9ORVcsICcrJyk7CisJdW5zaWduZWQgZmxhZ3MgPSBXU0VIX05FVyB8IGVjYmRhdGEtPndzX3J1bGU7CisJaWYgKG5ld19ibGFua19saW5lX2F0X2VvZihlY2JkYXRhLCBsaW5lLCBsZW4pKQorCQlmbGFncyB8PSBESUZGX1NZTUJPTF9DT05URU5UX0JMQU5LX0xJTkVfRU9GOworCisJZW1pdF9kaWZmX3N5bWJvbChlY2JkYXRhLT5vcHQsIERJRkZfU1lNQk9MX1BMVVMsIGxpbmUsIGxlbiwgZmxhZ3MpOwogfQogCiBzdGF0aWMgdm9pZCBlbWl0X2RlbF9saW5lKGNvbnN0IGNoYXIgKnJlc2V0LAogCQkJICBzdHJ1Y3QgZW1pdF9jYWxsYmFjayAqZWNiZGF0YSwKIAkJCSAgY29uc3QgY2hhciAqbGluZSwgaW50IGxlbikKIHsKLQllbWl0X2xpbmVfY2hlY2tlZChyZXNldCwgZWNiZGF0YSwgbGluZSwgbGVuLAotCQkJICBESUZGX0ZJTEVfT0xELCBXU0VIX09MRCwgJy0nKTsKKwl1bnNpZ25lZCBmbGFncyA9IFdTRUhfT0xEIHwgZWNiZGF0YS0+d3NfcnVsZTsKKwllbWl0X2RpZmZfc3ltYm9sKGVjYmRhdGEtPm9wdCwgRElGRl9TWU1CT0xfTUlOVVMsIGxpbmUsIGxlbiwgZmxhZ3MpOwogfQogCiBzdGF0aWMgdm9pZCBlbWl0X2NvbnRleHRfbGluZShjb25zdCBjaGFyICpyZXNldCwKIAkJCSAgICAgIHN0cnVjdCBlbWl0X2NhbGxiYWNrICplY2JkYXRhLAogCQkJICAgICAgY29uc3QgY2hhciAqbGluZSwgaW50IGxlbikKIHsKLQllbWl0X2xpbmVfY2hlY2tlZChyZXNldCwgZWNiZGF0YSwgbGluZSwgbGVuLAotCQkJICBESUZGX0NPTlRFWFQsIFdTRUhfQ09OVEVYVCwgJyAnKTsKKwl1bnNpZ25lZCBmbGFncyA9IFdTRUhfQ09OVEVYVCB8IGVjYmRhdGEtPndzX3J1bGU7CisJZW1pdF9kaWZmX3N5bWJvbChlY2JkYXRhLT5vcHQsIERJRkZfU1lNQk9MX0NPTlRFWFQsIGxpbmUsIGxlbiwgZmxhZ3MpOwogfQogCiBzdGF0aWMgdm9pZCBlbWl0X2h1bmtfaGVhZGVyKHN0cnVjdCBlbWl0X2NhbGxiYWNrICplY2JkYXRhLApAQCAtNjQzLDcgKzEzNjEsOCBAQAogCWlmIChsZW4gPCAxMCB8fAogCSAgICBtZW1jbXAobGluZSwgYXRhdCwgMikgfHwKIAkgICAgIShlcCA9IG1lbW1lbShsaW5lICsgMiwgbGVuIC0gMiwgYXRhdCwgMikpKSB7Ci0JCWVtaXRfbGluZShlY2JkYXRhLT5vcHQsIGNvbnRleHQsIHJlc2V0LCBsaW5lLCBsZW4pOworCQllbWl0X2RpZmZfc3ltYm9sKGVjYmRhdGEtPm9wdCwKKwkJCQkgRElGRl9TWU1CT0xfQ09OVEVYVF9NQVJLRVIsIGxpbmUsIGxlbiwgMCk7CiAJCXJldHVybjsKIAl9CiAJZXAgKz0gMjsgLyogc2tpcCBvdmVyIEBAICovCkBAIC02NzcsNyArMTM5Niw5IEBACiAJfQogCiAJc3RyYnVmX2FkZCgmbXNnYnVmLCBsaW5lICsgbGVuLCBvcmdfbGVuIC0gbGVuKTsKLQllbWl0X2xpbmUoZWNiZGF0YS0+b3B0LCAiIiwgIiIsIG1zZ2J1Zi5idWYsIG1zZ2J1Zi5sZW4pOworCXN0cmJ1Zl9jb21wbGV0ZV9saW5lKCZtc2didWYpOworCWVtaXRfZGlmZl9zeW1ib2woZWNiZGF0YS0+b3B0LAorCQkJIERJRkZfU1lNQk9MX0NPTlRFWFRfRlJBR0lORk8sIG1zZ2J1Zi5idWYsIG1zZ2J1Zi5sZW4sIDApOwogCXN0cmJ1Zl9yZWxlYXNlKCZtc2didWYpOwogfQogCkBAIC02OTMsMjMgKzE0MTQsMjMgQEAKIHsKIAlpbnQgaTsKIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShkaWZmX3RlbXApOyBpKyspIHsKLQkJaWYgKGlzX3RlbXBmaWxlX2FjdGl2ZSgmZGlmZl90ZW1wW2ldLnRlbXBmaWxlKSkKKwkJaWYgKGlzX3RlbXBmaWxlX2FjdGl2ZShkaWZmX3RlbXBbaV0udGVtcGZpbGUpKQogCQkJZGVsZXRlX3RlbXBmaWxlKCZkaWZmX3RlbXBbaV0udGVtcGZpbGUpOwogCQlkaWZmX3RlbXBbaV0ubmFtZSA9IE5VTEw7CiAJfQogfQogCi1zdGF0aWMgdm9pZCBwcmludF9saW5lX2NvdW50KEZJTEUgKmZpbGUsIGludCBjb3VudCkKK3N0YXRpYyB2b2lkIGFkZF9saW5lX2NvdW50KHN0cnVjdCBzdHJidWYgKm91dCwgaW50IGNvdW50KQogewogCXN3aXRjaCAoY291bnQpIHsKIAljYXNlIDA6Ci0JCWZwcmludGYoZmlsZSwgIjAsMCIpOworCQlzdHJidWZfYWRkc3RyKG91dCwgIjAsMCIpOwogCQlicmVhazsKIAljYXNlIDE6Ci0JCWZwcmludGYoZmlsZSwgIjEiKTsKKwkJc3RyYnVmX2FkZHN0cihvdXQsICIxIik7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCWZwcmludGYoZmlsZSwgIjEsJWQiLCBjb3VudCk7CisJCXN0cmJ1Zl9hZGRmKG91dCwgIjEsJWQiLCBjb3VudCk7CiAJCWJyZWFrOwogCX0KIH0KQEAgLTcxOCw3ICsxNDM5LDYgQEAKIAkJCSAgICAgICBpbnQgcHJlZml4LCBjb25zdCBjaGFyICpkYXRhLCBpbnQgc2l6ZSkKIHsKIAljb25zdCBjaGFyICplbmRwID0gTlVMTDsKLQlzdGF0aWMgY29uc3QgY2hhciAqbm5lb2YgPSAiIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGVcbiI7CiAJY29uc3QgY2hhciAqcmVzZXQgPSBkaWZmX2dldF9jb2xvcihlY2ItPmNvbG9yX2RpZmYsIERJRkZfUkVTRVQpOwogCiAJd2hpbGUgKDAgPCBzaXplKSB7CkBAIC03MzYsMTMgKzE0NTYsOCBAQAogCQlzaXplIC09IGxlbjsKIAkJZGF0YSArPSBsZW47CiAJfQotCWlmICghZW5kcCkgewotCQljb25zdCBjaGFyICpjb250ZXh0ID0gZGlmZl9nZXRfY29sb3IoZWNiLT5jb2xvcl9kaWZmLAotCQkJCQkJICAgICBESUZGX0NPTlRFWFQpOwotCQlwdXRjKCdcbicsIGVjYi0+b3B0LT5maWxlKTsKLQkJZW1pdF9saW5lXzAoZWNiLT5vcHQsIGNvbnRleHQsIHJlc2V0LCAnXFwnLAotCQkJICAgIG5uZW9mLCBzdHJsZW4obm5lb2YpKTsKLQl9CisJaWYgKCFlbmRwKQorCQllbWl0X2RpZmZfc3ltYm9sKGVjYi0+b3B0LCBESUZGX1NZTUJPTF9OT19MRl9FT0YsIE5VTEwsIDAsIDApOwogfQogCiBzdGF0aWMgdm9pZCBlbWl0X3Jld3JpdGVfZGlmZihjb25zdCBjaGFyICpuYW1lX2EsCkBAIC03NTQsMTYgKzE0NjksMTIgQEAKIAkJCSAgICAgIHN0cnVjdCBkaWZmX29wdGlvbnMgKm8pCiB7CiAJaW50IGxjX2EsIGxjX2I7Ci0JY29uc3QgY2hhciAqbmFtZV9hX3RhYiwgKm5hbWVfYl90YWI7Ci0JY29uc3QgY2hhciAqbWV0YWluZm8gPSBkaWZmX2dldF9jb2xvcihvLT51c2VfY29sb3IsIERJRkZfTUVUQUlORk8pOwotCWNvbnN0IGNoYXIgKmZyYWdpbmZvID0gZGlmZl9nZXRfY29sb3Ioby0+dXNlX2NvbG9yLCBESUZGX0ZSQUdJTkZPKTsKLQljb25zdCBjaGFyICpyZXNldCA9IGRpZmZfZ2V0X2NvbG9yKG8tPnVzZV9jb2xvciwgRElGRl9SRVNFVCk7CiAJc3RhdGljIHN0cnVjdCBzdHJidWYgYV9uYW1lID0gU1RSQlVGX0lOSVQsIGJfbmFtZSA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKmFfcHJlZml4LCAqYl9wcmVmaXg7CiAJY2hhciAqZGF0YV9vbmUsICpkYXRhX3R3bzsKIAlzaXplX3Qgc2l6ZV9vbmUsIHNpemVfdHdvOwogCXN0cnVjdCBlbWl0X2NhbGxiYWNrIGVjYmRhdGE7Ci0JY29uc3QgY2hhciAqbGluZV9wcmVmaXggPSBkaWZmX2xpbmVfcHJlZml4KG8pOworCXN0cnVjdCBzdHJidWYgb3V0ID0gU1RSQlVGX0lOSVQ7CiAKIAlpZiAoZGlmZl9tbmVtb25pY19wcmVmaXggJiYgRElGRl9PUFRfVFNUKG8sIFJFVkVSU0VfRElGRikpIHsKIAkJYV9wcmVmaXggPSBvLT5iX3ByZWZpeDsKQEAgLTc3NSw4ICsxNDg2LDYgQEAKIAogCW5hbWVfYSArPSAoKm5hbWVfYSA9PSAnLycpOwogCW5hbWVfYiArPSAoKm5hbWVfYiA9PSAnLycpOwotCW5hbWVfYV90YWIgPSBzdHJjaHIobmFtZV9hLCAnICcpID8gIlx0IiA6ICIiOwotCW5hbWVfYl90YWIgPSBzdHJjaHIobmFtZV9iLCAnICcpID8gIlx0IiA6ICIiOwogCiAJc3RyYnVmX3Jlc2V0KCZhX25hbWUpOwogCXN0cmJ1Zl9yZXNldCgmYl9uYW1lKTsKQEAgLTgwMywxOCArMTUxMiwyMyBAQAogCiAJbGNfYSA9IGNvdW50X2xpbmVzKGRhdGFfb25lLCBzaXplX29uZSk7CiAJbGNfYiA9IGNvdW50X2xpbmVzKGRhdGFfdHdvLCBzaXplX3R3byk7Ci0JZnByaW50ZihvLT5maWxlLAotCQkiJXMlcy0tLSAlcyVzJXNcbiVzJXMrKysgJXMlcyVzXG4lcyVzQEAgLSIsCi0JCWxpbmVfcHJlZml4LCBtZXRhaW5mbywgYV9uYW1lLmJ1ZiwgbmFtZV9hX3RhYiwgcmVzZXQsCi0JCWxpbmVfcHJlZml4LCBtZXRhaW5mbywgYl9uYW1lLmJ1ZiwgbmFtZV9iX3RhYiwgcmVzZXQsCi0JCWxpbmVfcHJlZml4LCBmcmFnaW5mbyk7CisKKwllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX0ZJTEVQQUlSX01JTlVTLAorCQkJIGFfbmFtZS5idWYsIGFfbmFtZS5sZW4sIDApOworCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfRklMRVBBSVJfUExVUywKKwkJCSBiX25hbWUuYnVmLCBiX25hbWUubGVuLCAwKTsKKworCXN0cmJ1Zl9hZGRzdHIoJm91dCwgIkBAIC0iKTsKIAlpZiAoIW8tPmlycmV2ZXJzaWJsZV9kZWxldGUpCi0JCXByaW50X2xpbmVfY291bnQoby0+ZmlsZSwgbGNfYSk7CisJCWFkZF9saW5lX2NvdW50KCZvdXQsIGxjX2EpOwogCWVsc2UKLQkJZnByaW50ZihvLT5maWxlLCAiPyw/Iik7Ci0JZnByaW50ZihvLT5maWxlLCAiICsiKTsKLQlwcmludF9saW5lX2NvdW50KG8tPmZpbGUsIGxjX2IpOwotCWZwcmludGYoby0+ZmlsZSwgIiBAQCVzXG4iLCByZXNldCk7CisJCXN0cmJ1Zl9hZGRzdHIoJm91dCwgIj8sPyIpOworCXN0cmJ1Zl9hZGRzdHIoJm91dCwgIiArIik7CisJYWRkX2xpbmVfY291bnQoJm91dCwgbGNfYik7CisJc3RyYnVmX2FkZHN0cigmb3V0LCAiIEBAXG4iKTsKKwllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX1JFV1JJVEVfRElGRiwgb3V0LmJ1Ziwgb3V0LmxlbiwgMCk7CisJc3RyYnVmX3JlbGVhc2UoJm91dCk7CisKIAlpZiAobGNfYSAmJiAhby0+aXJyZXZlcnNpYmxlX2RlbGV0ZSkKIAkJZW1pdF9yZXdyaXRlX2xpbmVzKCZlY2JkYXRhLCAnLScsIGRhdGFfb25lLCBzaXplX29uZSk7CiAJaWYgKGxjX2IpCkBAIC04MjcsNyArMTU0MSw3IEBACiAKIHN0cnVjdCBkaWZmX3dvcmRzX2J1ZmZlciB7CiAJbW1maWxlX3QgdGV4dDsKLQlsb25nIGFsbG9jOworCXVuc2lnbmVkIGxvbmcgYWxsb2M7CiAJc3RydWN0IGRpZmZfd29yZHNfb3JpZyB7CiAJCWNvbnN0IGNoYXIgKmJlZ2luLCAqZW5kOwogCX0gKm9yaWc7CkBAIC04NzQsNDQgKzE1ODgsNTYgQEAKIAlzdHJ1Y3QgZGlmZl93b3Jkc19zdHlsZSAqc3R5bGU7CiB9OwogCi1zdGF0aWMgaW50IGZuX291dF9kaWZmX3dvcmRzX3dyaXRlX2hlbHBlcihGSUxFICpmcCwKK3N0YXRpYyBpbnQgZm5fb3V0X2RpZmZfd29yZHNfd3JpdGVfaGVscGVyKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sCiAJCQkJCSAgc3RydWN0IGRpZmZfd29yZHNfc3R5bGVfZWxlbSAqc3RfZWwsCiAJCQkJCSAgY29uc3QgY2hhciAqbmV3bGluZSwKLQkJCQkJICBzaXplX3QgY291bnQsIGNvbnN0IGNoYXIgKmJ1ZiwKLQkJCQkJICBjb25zdCBjaGFyICpsaW5lX3ByZWZpeCkKKwkJCQkJICBzaXplX3QgY291bnQsIGNvbnN0IGNoYXIgKmJ1ZikKIHsKIAlpbnQgcHJpbnQgPSAwOworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAogCXdoaWxlIChjb3VudCkgewogCQljaGFyICpwID0gbWVtY2hyKGJ1ZiwgJ1xuJywgY291bnQpOwogCQlpZiAocHJpbnQpCi0JCQlmcHV0cyhsaW5lX3ByZWZpeCwgZnApOworCQkJc3RyYnVmX2FkZHN0cigmc2IsIGRpZmZfbGluZV9wcmVmaXgobykpOworCiAJCWlmIChwICE9IGJ1ZikgewotCQkJaWYgKHN0X2VsLT5jb2xvciAmJiBmcHV0cyhzdF9lbC0+Y29sb3IsIGZwKSA8IDApCi0JCQkJcmV0dXJuIC0xOwotCQkJaWYgKGZwdXRzKHN0X2VsLT5wcmVmaXgsIGZwKSA8IDAgfHwKLQkJCSAgICBmd3JpdGUoYnVmLCBwID8gcCAtIGJ1ZiA6IGNvdW50LCAxLCBmcCkgIT0gMSB8fAotCQkJICAgIGZwdXRzKHN0X2VsLT5zdWZmaXgsIGZwKSA8IDApCi0JCQkJcmV0dXJuIC0xOwotCQkJaWYgKHN0X2VsLT5jb2xvciAmJiAqc3RfZWwtPmNvbG9yCi0JCQkgICAgJiYgZnB1dHMoR0lUX0NPTE9SX1JFU0VULCBmcCkgPCAwKQotCQkJCXJldHVybiAtMTsKKwkJCWNvbnN0IGNoYXIgKnJlc2V0ID0gc3RfZWwtPmNvbG9yICYmICpzdF9lbC0+Y29sb3IgPworCQkJCQkgICAgR0lUX0NPTE9SX1JFU0VUIDogTlVMTDsKKwkJCWlmIChzdF9lbC0+Y29sb3IgJiYgKnN0X2VsLT5jb2xvcikKKwkJCQlzdHJidWZfYWRkc3RyKCZzYiwgc3RfZWwtPmNvbG9yKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoJnNiLCBzdF9lbC0+cHJlZml4KTsKKwkJCXN0cmJ1Zl9hZGQoJnNiLCBidWYsIHAgPyBwIC0gYnVmIDogY291bnQpOworCQkJc3RyYnVmX2FkZHN0cigmc2IsIHN0X2VsLT5zdWZmaXgpOworCQkJaWYgKHJlc2V0KQorCQkJCXN0cmJ1Zl9hZGRzdHIoJnNiLCByZXNldCk7CiAJCX0KIAkJaWYgKCFwKQotCQkJcmV0dXJuIDA7Ci0JCWlmIChmcHV0cyhuZXdsaW5lLCBmcCkgPCAwKQotCQkJcmV0dXJuIC0xOworCQkJZ290byBvdXQ7CisKKwkJc3RyYnVmX2FkZHN0cigmc2IsIG5ld2xpbmUpOwogCQljb3VudCAtPSBwICsgMSAtIGJ1ZjsKIAkJYnVmID0gcCArIDE7CiAJCXByaW50ID0gMTsKKwkJaWYgKGNvdW50KSB7CisJCQllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX1dPUkRfRElGRiwKKwkJCQkJIHNiLmJ1Ziwgc2IubGVuLCAwKTsKKwkJCXN0cmJ1Zl9yZXNldCgmc2IpOworCQl9CiAJfQorCitvdXQ6CisJaWYgKHNiLmxlbikKKwkJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9XT1JEX0RJRkYsCisJCQkJIHNiLmJ1Ziwgc2IubGVuLCAwKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOwogCXJldHVybiAwOwogfQogCiAvKgogICogJy0tY29sb3Itd29yZHMnIGFsZ29yaXRobSBjYW4gYmUgZGVzY3JpYmVkIGFzOgogICoKLSAqICAgMS4gY29sbGVjdCBhIHRoZSBtaW51cy9wbHVzIGxpbmVzIG9mIGEgZGlmZiBodW5rLCBkaXZpZGVkIGludG8KKyAqICAgMS4gY29sbGVjdCB0aGUgbWludXMvcGx1cyBsaW5lcyBvZiBhIGRpZmYgaHVuaywgZGl2aWRlZCBpbnRvCiAgKiAgICAgIG1pbnVzLWxpbmVzIGFuZCBwbHVzLWxpbmVzOwogICoKICAqICAgMi4gYnJlYWsgYm90aCBtaW51cy1saW5lcyBhbmQgcGx1cy1saW5lcyBpbnRvIHdvcmRzIGFuZApAQCAtOTg2LDI0ICsxNzEyLDIwIEBACiAJCWZwdXRzKGxpbmVfcHJlZml4LCBkaWZmX3dvcmRzLT5vcHQtPmZpbGUpOwogCX0KIAlpZiAoZGlmZl93b3Jkcy0+Y3VycmVudF9wbHVzICE9IHBsdXNfYmVnaW4pIHsKLQkJZm5fb3V0X2RpZmZfd29yZHNfd3JpdGVfaGVscGVyKGRpZmZfd29yZHMtPm9wdC0+ZmlsZSwKKwkJZm5fb3V0X2RpZmZfd29yZHNfd3JpdGVfaGVscGVyKGRpZmZfd29yZHMtPm9wdCwKIAkJCQkmc3R5bGUtPmN0eCwgc3R5bGUtPm5ld2xpbmUsCiAJCQkJcGx1c19iZWdpbiAtIGRpZmZfd29yZHMtPmN1cnJlbnRfcGx1cywKLQkJCQlkaWZmX3dvcmRzLT5jdXJyZW50X3BsdXMsIGxpbmVfcHJlZml4KTsKLQkJaWYgKCoocGx1c19iZWdpbiAtIDEpID09ICdcbicpCi0JCQlmcHV0cyhsaW5lX3ByZWZpeCwgZGlmZl93b3Jkcy0+b3B0LT5maWxlKTsKKwkJCQlkaWZmX3dvcmRzLT5jdXJyZW50X3BsdXMpOwogCX0KIAlpZiAobWludXNfYmVnaW4gIT0gbWludXNfZW5kKSB7Ci0JCWZuX291dF9kaWZmX3dvcmRzX3dyaXRlX2hlbHBlcihkaWZmX3dvcmRzLT5vcHQtPmZpbGUsCisJCWZuX291dF9kaWZmX3dvcmRzX3dyaXRlX2hlbHBlcihkaWZmX3dvcmRzLT5vcHQsCiAJCQkJJnN0eWxlLT5vbGQsIHN0eWxlLT5uZXdsaW5lLAotCQkJCW1pbnVzX2VuZCAtIG1pbnVzX2JlZ2luLCBtaW51c19iZWdpbiwKLQkJCQlsaW5lX3ByZWZpeCk7CisJCQkJbWludXNfZW5kIC0gbWludXNfYmVnaW4sIG1pbnVzX2JlZ2luKTsKIAl9CiAJaWYgKHBsdXNfYmVnaW4gIT0gcGx1c19lbmQpIHsKLQkJZm5fb3V0X2RpZmZfd29yZHNfd3JpdGVfaGVscGVyKGRpZmZfd29yZHMtPm9wdC0+ZmlsZSwKKwkJZm5fb3V0X2RpZmZfd29yZHNfd3JpdGVfaGVscGVyKGRpZmZfd29yZHMtPm9wdCwKIAkJCQkmc3R5bGUtPm5ldywgc3R5bGUtPm5ld2xpbmUsCi0JCQkJcGx1c19lbmQgLSBwbHVzX2JlZ2luLCBwbHVzX2JlZ2luLAotCQkJCWxpbmVfcHJlZml4KTsKKwkJCQlwbHVzX2VuZCAtIHBsdXNfYmVnaW4sIHBsdXNfYmVnaW4pOwogCX0KIAogCWRpZmZfd29yZHMtPmN1cnJlbnRfcGx1cyA9IHBsdXNfZW5kOwpAQCAtMTA5NywxMSArMTgxOSwxMiBAQAogCiAJLyogc3BlY2lhbCBjYXNlOiBvbmx5IHJlbW92YWwgKi8KIAlpZiAoIWRpZmZfd29yZHMtPnBsdXMudGV4dC5zaXplKSB7Ci0JCWZwdXRzKGxpbmVfcHJlZml4LCBkaWZmX3dvcmRzLT5vcHQtPmZpbGUpOwotCQlmbl9vdXRfZGlmZl93b3Jkc193cml0ZV9oZWxwZXIoZGlmZl93b3Jkcy0+b3B0LT5maWxlLAorCQllbWl0X2RpZmZfc3ltYm9sKGRpZmZfd29yZHMtPm9wdCwgRElGRl9TWU1CT0xfV09SRF9ESUZGLAorCQkJCSBsaW5lX3ByZWZpeCwgc3RybGVuKGxpbmVfcHJlZml4KSwgMCk7CisJCWZuX291dF9kaWZmX3dvcmRzX3dyaXRlX2hlbHBlcihkaWZmX3dvcmRzLT5vcHQsCiAJCQkmc3R5bGUtPm9sZCwgc3R5bGUtPm5ld2xpbmUsCiAJCQlkaWZmX3dvcmRzLT5taW51cy50ZXh0LnNpemUsCi0JCQlkaWZmX3dvcmRzLT5taW51cy50ZXh0LnB0ciwgbGluZV9wcmVmaXgpOworCQkJZGlmZl93b3Jkcy0+bWludXMudGV4dC5wdHIpOwogCQlkaWZmX3dvcmRzLT5taW51cy50ZXh0LnNpemUgPSAwOwogCQlyZXR1cm47CiAJfQpAQCAtMTEyNCwxMiArMTg0NywxMiBAQAogCWlmIChkaWZmX3dvcmRzLT5jdXJyZW50X3BsdXMgIT0gZGlmZl93b3Jkcy0+cGx1cy50ZXh0LnB0ciArCiAJCQlkaWZmX3dvcmRzLT5wbHVzLnRleHQuc2l6ZSkgewogCQlpZiAoY29sb3Jfd29yZHNfb3V0cHV0X2dyYXBoX3ByZWZpeChkaWZmX3dvcmRzKSkKLQkJCWZwdXRzKGxpbmVfcHJlZml4LCBkaWZmX3dvcmRzLT5vcHQtPmZpbGUpOwotCQlmbl9vdXRfZGlmZl93b3Jkc193cml0ZV9oZWxwZXIoZGlmZl93b3Jkcy0+b3B0LT5maWxlLAorCQkJZW1pdF9kaWZmX3N5bWJvbChkaWZmX3dvcmRzLT5vcHQsIERJRkZfU1lNQk9MX1dPUkRfRElGRiwKKwkJCQkJIGxpbmVfcHJlZml4LCBzdHJsZW4obGluZV9wcmVmaXgpLCAwKTsKKwkJZm5fb3V0X2RpZmZfd29yZHNfd3JpdGVfaGVscGVyKGRpZmZfd29yZHMtPm9wdCwKIAkJCSZzdHlsZS0+Y3R4LCBzdHlsZS0+bmV3bGluZSwKIAkJCWRpZmZfd29yZHMtPnBsdXMudGV4dC5wdHIgKyBkaWZmX3dvcmRzLT5wbHVzLnRleHQuc2l6ZQotCQkJLSBkaWZmX3dvcmRzLT5jdXJyZW50X3BsdXMsIGRpZmZfd29yZHMtPmN1cnJlbnRfcGx1cywKLQkJCWxpbmVfcHJlZml4KTsKKwkJCS0gZGlmZl93b3Jkcy0+Y3VycmVudF9wbHVzLCBkaWZmX3dvcmRzLT5jdXJyZW50X3BsdXMpOwogCX0KIAlkaWZmX3dvcmRzLT5taW51cy50ZXh0LnNpemUgPSBkaWZmX3dvcmRzLT5wbHVzLnRleHQuc2l6ZSA9IDA7CiB9CkBAIC0xMTM3LDkgKzE4NjAsMjkgQEAKIC8qIEluICJjb2xvci13b3JkcyIgbW9kZSwgc2hvdyB3b3JkLWRpZmYgb2Ygd29yZHMgYWNjdW11bGF0ZWQgaW4gdGhlIGJ1ZmZlciAqLwogc3RhdGljIHZvaWQgZGlmZl93b3Jkc19mbHVzaChzdHJ1Y3QgZW1pdF9jYWxsYmFjayAqZWNiZGF0YSkKIHsKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICp3byA9IGVjYmRhdGEtPmRpZmZfd29yZHMtPm9wdDsKKwogCWlmIChlY2JkYXRhLT5kaWZmX3dvcmRzLT5taW51cy50ZXh0LnNpemUgfHwKIAkgICAgZWNiZGF0YS0+ZGlmZl93b3Jkcy0+cGx1cy50ZXh0LnNpemUpCiAJCWRpZmZfd29yZHNfc2hvdyhlY2JkYXRhLT5kaWZmX3dvcmRzKTsKKworCWlmICh3by0+ZW1pdHRlZF9zeW1ib2xzKSB7CisJCXN0cnVjdCBkaWZmX29wdGlvbnMgKm8gPSBlY2JkYXRhLT5vcHQ7CisJCXN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9scyAqd29sID0gd28tPmVtaXR0ZWRfc3ltYm9sczsKKwkJaW50IGk7CisKKwkJLyoKKwkJICogTkVFRFNXT1JLOgorCQkgKiBJbnN0ZWFkIG9mIGFwcGVuZGluZyBlYWNoLCBjb25jYXQgYWxsIHdvcmRzIHRvIGEgbGluZT8KKwkJICovCisJCWZvciAoaSA9IDA7IGkgPCB3b2wtPm5yOyBpKyspCisJCQlhcHBlbmRfZW1pdHRlZF9kaWZmX3N5bWJvbChvLCAmd29sLT5idWZbaV0pOworCisJCWZvciAoaSA9IDA7IGkgPCB3b2wtPm5yOyBpKyspCisJCQlmcmVlKCh2b2lkICopd29sLT5idWZbaV0ubGluZSk7CisKKwkJd29sLT5uciA9IDA7CisJfQogfQogCiBzdGF0aWMgdm9pZCBkaWZmX2ZpbGVzcGVjX2xvYWRfZHJpdmVyKHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvbmUpCkBAIC0xMTc1LDYgKzE5MTgsMTEgQEAKIAkJeGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGRpZmZfd29yZHNfZGF0YSkpOwogCWVjYmRhdGEtPmRpZmZfd29yZHMtPnR5cGUgPSBvLT53b3JkX2RpZmY7CiAJZWNiZGF0YS0+ZGlmZl93b3Jkcy0+b3B0ID0gbzsKKworCWlmIChvcmlnX29wdHMtPmVtaXR0ZWRfc3ltYm9scykKKwkJby0+ZW1pdHRlZF9zeW1ib2xzID0KKwkJCXhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9scykpOworCiAJaWYgKCFvLT53b3JkX3JlZ2V4KQogCQlvLT53b3JkX3JlZ2V4ID0gdXNlcmRpZmZfd29yZF9yZWdleChvbmUpOwogCWlmICghby0+d29yZF9yZWdleCkKQEAgLTEyMDksNiArMTk1Nyw3IEBACiB7CiAJaWYgKGVjYmRhdGEtPmRpZmZfd29yZHMpIHsKIAkJZGlmZl93b3Jkc19mbHVzaChlY2JkYXRhKTsKKwkJZnJlZSAoZWNiZGF0YS0+ZGlmZl93b3Jkcy0+b3B0LT5lbWl0dGVkX3N5bWJvbHMpOwogCQlmcmVlIChlY2JkYXRhLT5kaWZmX3dvcmRzLT5vcHQpOwogCQlmcmVlIChlY2JkYXRhLT5kaWZmX3dvcmRzLT5taW51cy50ZXh0LnB0cik7CiAJCWZyZWUgKGVjYmRhdGEtPmRpZmZfd29yZHMtPm1pbnVzLm9yaWcpOwpAQCAtMTIxOCw4ICsxOTY3LDcgQEAKIAkJCXJlZ2ZyZWUoZWNiZGF0YS0+ZGlmZl93b3Jkcy0+d29yZF9yZWdleCk7CiAJCQlmcmVlKGVjYmRhdGEtPmRpZmZfd29yZHMtPndvcmRfcmVnZXgpOwogCQl9Ci0JCWZyZWUoZWNiZGF0YS0+ZGlmZl93b3Jkcyk7Ci0JCWVjYmRhdGEtPmRpZmZfd29yZHMgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKGVjYmRhdGEtPmRpZmZfd29yZHMpOwogCX0KIH0KIApAQCAtMTI0Niw4ICsxOTk0LDYgQEAKIAl1bnNpZ25lZCBsb25nIGFsbG90OwogCXNpemVfdCBsID0gbGVuOwogCi0JaWYgKGVjYi0+dHJ1bmNhdGUpCi0JCXJldHVybiBlY2ItPnRydW5jYXRlKGxpbmUsIGxlbik7CiAJY3AgPSBsaW5lOwogCWFsbG90ID0gbDsKIAl3aGlsZSAoMCA8IGwpIHsKQEAgLTEyNzYsMzAgKzIwMjIsMjUgQEAKIHN0YXRpYyB2b2lkIGZuX291dF9jb25zdW1lKHZvaWQgKnByaXYsIGNoYXIgKmxpbmUsIHVuc2lnbmVkIGxvbmcgbGVuKQogewogCXN0cnVjdCBlbWl0X2NhbGxiYWNrICplY2JkYXRhID0gcHJpdjsKLQljb25zdCBjaGFyICptZXRhID0gZGlmZl9nZXRfY29sb3IoZWNiZGF0YS0+Y29sb3JfZGlmZiwgRElGRl9NRVRBSU5GTyk7Ci0JY29uc3QgY2hhciAqY29udGV4dCA9IGRpZmZfZ2V0X2NvbG9yKGVjYmRhdGEtPmNvbG9yX2RpZmYsIERJRkZfQ09OVEVYVCk7CiAJY29uc3QgY2hhciAqcmVzZXQgPSBkaWZmX2dldF9jb2xvcihlY2JkYXRhLT5jb2xvcl9kaWZmLCBESUZGX1JFU0VUKTsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvID0gZWNiZGF0YS0+b3B0OwotCWNvbnN0IGNoYXIgKmxpbmVfcHJlZml4ID0gZGlmZl9saW5lX3ByZWZpeChvKTsKIAogCW8tPmZvdW5kX2NoYW5nZXMgPSAxOwogCiAJaWYgKGVjYmRhdGEtPmhlYWRlcikgewotCQlmcHJpbnRmKG8tPmZpbGUsICIlcyIsIGVjYmRhdGEtPmhlYWRlci0+YnVmKTsKKwkJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9IRUFERVIsCisJCQkJIGVjYmRhdGEtPmhlYWRlci0+YnVmLCBlY2JkYXRhLT5oZWFkZXItPmxlbiwgMCk7CiAJCXN0cmJ1Zl9yZXNldChlY2JkYXRhLT5oZWFkZXIpOwogCQllY2JkYXRhLT5oZWFkZXIgPSBOVUxMOwogCX0KIAogCWlmIChlY2JkYXRhLT5sYWJlbF9wYXRoWzBdKSB7Ci0JCWNvbnN0IGNoYXIgKm5hbWVfYV90YWIsICpuYW1lX2JfdGFiOwotCi0JCW5hbWVfYV90YWIgPSBzdHJjaHIoZWNiZGF0YS0+bGFiZWxfcGF0aFswXSwgJyAnKSA/ICJcdCIgOiAiIjsKLQkJbmFtZV9iX3RhYiA9IHN0cmNocihlY2JkYXRhLT5sYWJlbF9wYXRoWzFdLCAnICcpID8gIlx0IiA6ICIiOwotCi0JCWZwcmludGYoby0+ZmlsZSwgIiVzJXMtLS0gJXMlcyVzXG4iLAotCQkJbGluZV9wcmVmaXgsIG1ldGEsIGVjYmRhdGEtPmxhYmVsX3BhdGhbMF0sIHJlc2V0LCBuYW1lX2FfdGFiKTsKLQkJZnByaW50ZihvLT5maWxlLCAiJXMlcysrKyAlcyVzJXNcbiIsCi0JCQlsaW5lX3ByZWZpeCwgbWV0YSwgZWNiZGF0YS0+bGFiZWxfcGF0aFsxXSwgcmVzZXQsIG5hbWVfYl90YWIpOworCQllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX0ZJTEVQQUlSX01JTlVTLAorCQkJCSBlY2JkYXRhLT5sYWJlbF9wYXRoWzBdLAorCQkJCSBzdHJsZW4oZWNiZGF0YS0+bGFiZWxfcGF0aFswXSksIDApOworCQllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX0ZJTEVQQUlSX1BMVVMsCisJCQkJIGVjYmRhdGEtPmxhYmVsX3BhdGhbMV0sCisJCQkJIHN0cmxlbihlY2JkYXRhLT5sYWJlbF9wYXRoWzFdKSwgMCk7CiAJCWVjYmRhdGEtPmxhYmVsX3BhdGhbMF0gPSBlY2JkYXRhLT5sYWJlbF9wYXRoWzFdID0gTlVMTDsKIAl9CiAKQEAgLTEzMTUsMTIgKzIwNTYsMTMgQEAKIAkJbGVuID0gc2FuZV90cnVuY2F0ZV9saW5lKGVjYmRhdGEsIGxpbmUsIGxlbik7CiAJCWZpbmRfbG5vKGxpbmUsIGVjYmRhdGEpOwogCQllbWl0X2h1bmtfaGVhZGVyKGVjYmRhdGEsIGxpbmUsIGxlbik7Ci0JCWlmIChsaW5lW2xlbi0xXSAhPSAnXG4nKQotCQkJcHV0YygnXG4nLCBvLT5maWxlKTsKIAkJcmV0dXJuOwogCX0KIAogCWlmIChlY2JkYXRhLT5kaWZmX3dvcmRzKSB7CisJCWVudW0gZGlmZl9zeW1ib2wgcyA9CisJCQllY2JkYXRhLT5kaWZmX3dvcmRzLT50eXBlID09IERJRkZfV09SRFNfUE9SQ0VMQUlOID8KKwkJCURJRkZfU1lNQk9MX1dPUkRTX1BPUkNFTEFJTiA6IERJRkZfU1lNQk9MX1dPUkRTOwogCQlpZiAobGluZVswXSA9PSAnLScpIHsKIAkJCWRpZmZfd29yZHNfYXBwZW5kKGxpbmUsIGxlbiwKIAkJCQkJICAmZWNiZGF0YS0+ZGlmZl93b3Jkcy0+bWludXMpOwpAQCAtMTM0MCwyMSArMjA4Miw3IEBACiAJCQlyZXR1cm47CiAJCX0KIAkJZGlmZl93b3Jkc19mbHVzaChlY2JkYXRhKTsKLQkJaWYgKGVjYmRhdGEtPmRpZmZfd29yZHMtPnR5cGUgPT0gRElGRl9XT1JEU19QT1JDRUxBSU4pIHsKLQkJCWVtaXRfbGluZShvLCBjb250ZXh0LCByZXNldCwgbGluZSwgbGVuKTsKLQkJCWZwdXRzKCJ+XG4iLCBvLT5maWxlKTsKLQkJfSBlbHNlIHsKLQkJCS8qCi0JCQkgKiBTa2lwIHRoZSBwcmVmaXggY2hhcmFjdGVyLCBpZiBhbnkuICBXaXRoCi0JCQkgKiBkaWZmX3N1cHByZXNzX2JsYW5rX2VtcHR5LCB0aGVyZSBtYXkgYmUKLQkJCSAqIG5vbmUuCi0JCQkgKi8KLQkJCWlmIChsaW5lWzBdICE9ICdcbicpIHsKLQkJCSAgICAgIGxpbmUrKzsKLQkJCSAgICAgIGxlbi0tOwotCQkJfQotCQkJZW1pdF9saW5lKG8sIGNvbnRleHQsIHJlc2V0LCBsaW5lLCBsZW4pOwotCQl9CisJCWVtaXRfZGlmZl9zeW1ib2wobywgcywgbGluZSwgbGVuLCAwKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtMTM3NSw4ICsyMTAzLDggQEAKIAlkZWZhdWx0OgogCQkvKiBpbmNvbXBsZXRlIGxpbmUgYXQgdGhlIGVuZCAqLwogCQllY2JkYXRhLT5sbm9faW5fcHJlaW1hZ2UrKzsKLQkJZW1pdF9saW5lKG8sIGRpZmZfZ2V0X2NvbG9yKGVjYmRhdGEtPmNvbG9yX2RpZmYsIERJRkZfQ09OVEVYVCksCi0JCQkgIHJlc2V0LCBsaW5lLCBsZW4pOworCQllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX0NPTlRFWFRfSU5DT01QTEVURSwKKwkJCQkgbGluZSwgbGVuLCAwKTsKIAkJYnJlYWs7CiAJfQogfQpAQCAtMTUyMSwyMCArMjI0OSwxNCBAQAogCXJldHVybiAxICsgKGl0ICogKHdpZHRoIC0gMSkgLyBtYXhfY2hhbmdlKTsKIH0KIAotc3RhdGljIHZvaWQgc2hvd19uYW1lKEZJTEUgKmZpbGUsCi0JCSAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbikKLXsKLQlmcHJpbnRmKGZpbGUsICIgJXMlLSpzIHwiLCBwcmVmaXgsIGxlbiwgbmFtZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNob3dfZ3JhcGgoRklMRSAqZmlsZSwgY2hhciBjaCwgaW50IGNudCwgY29uc3QgY2hhciAqc2V0LCBjb25zdCBjaGFyICpyZXNldCkKK3N0YXRpYyB2b2lkIHNob3dfZ3JhcGgoc3RydWN0IHN0cmJ1ZiAqb3V0LCBjaGFyIGNoLCBpbnQgY250LAorCQkgICAgICAgY29uc3QgY2hhciAqc2V0LCBjb25zdCBjaGFyICpyZXNldCkKIHsKIAlpZiAoY250IDw9IDApCiAJCXJldHVybjsKLQlmcHJpbnRmKGZpbGUsICIlcyIsIHNldCk7Ci0Jd2hpbGUgKGNudC0tKQotCQlwdXRjKGNoLCBmaWxlKTsKLQlmcHJpbnRmKGZpbGUsICIlcyIsIHJlc2V0KTsKKwlzdHJidWZfYWRkc3RyKG91dCwgc2V0KTsKKwlzdHJidWZfYWRkY2hhcnMob3V0LCBjaCwgY250KTsKKwlzdHJidWZfYWRkc3RyKG91dCwgcmVzZXQpOwogfQogCiBzdGF0aWMgdm9pZCBmaWxsX3ByaW50X25hbWUoc3RydWN0IGRpZmZzdGF0X2ZpbGUgKmZpbGUpCkBAIC0xNTU4LDE0ICsyMjgwLDE2IEBACiAJZmlsZS0+cHJpbnRfbmFtZSA9IHBuYW1lOwogfQogCi1pbnQgcHJpbnRfc3RhdF9zdW1tYXJ5KEZJTEUgKmZwLCBpbnQgZmlsZXMsIGludCBpbnNlcnRpb25zLCBpbnQgZGVsZXRpb25zKQorc3RhdGljIHZvaWQgcHJpbnRfc3RhdF9zdW1tYXJ5X2luc2VydHNfZGVsZXRlcyhzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAorCQlpbnQgZmlsZXMsIGludCBpbnNlcnRpb25zLCBpbnQgZGVsZXRpb25zKQogewogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQlpbnQgcmV0OwogCiAJaWYgKCFmaWxlcykgewogCQlhc3NlcnQoaW5zZXJ0aW9ucyA9PSAwICYmIGRlbGV0aW9ucyA9PSAwKTsKLQkJcmV0dXJuIGZwcmludGYoZnAsICIlc1xuIiwgIiAwIGZpbGVzIGNoYW5nZWQiKTsKKwkJZW1pdF9kaWZmX3N5bWJvbChvcHRpb25zLCBESUZGX1NZTUJPTF9TVEFUU19TVU1NQVJZX05PX0ZJTEVTLAorCQkJCSBOVUxMLCAwLCAwKTsKKwkJcmV0dXJuOwogCX0KIAogCXN0cmJ1Zl9hZGRmKCZzYiwKQEAgLTE1OTIsOSArMjMxNiwxOSBAQAogCQkJICAgIGRlbGV0aW9ucyk7CiAJfQogCXN0cmJ1Zl9hZGRjaCgmc2IsICdcbicpOwotCXJldCA9IGZwdXRzKHNiLmJ1ZiwgZnApOworCWVtaXRfZGlmZl9zeW1ib2wob3B0aW9ucywgRElGRl9TWU1CT0xfU1RBVFNfU1VNTUFSWV9JTlNFUlRTX0RFTEVURVMsCisJCQkgc2IuYnVmLCBzYi5sZW4sIDApOwogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7Ci0JcmV0dXJuIHJldDsKK30KKwordm9pZCBwcmludF9zdGF0X3N1bW1hcnkoRklMRSAqZnAsIGludCBmaWxlcywKKwkJCWludCBpbnNlcnRpb25zLCBpbnQgZGVsZXRpb25zKQoreworCXN0cnVjdCBkaWZmX29wdGlvbnMgbzsKKwltZW1zZXQoJm8sIDAsIHNpemVvZihvKSk7CisJby5maWxlID0gZnA7CisKKwlwcmludF9zdGF0X3N1bW1hcnlfaW5zZXJ0c19kZWxldGVzKCZvLCBmaWxlcywgaW5zZXJ0aW9ucywgZGVsZXRpb25zKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19zdGF0cyhzdHJ1Y3QgZGlmZnN0YXRfdCAqZGF0YSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucykKQEAgLTE2MDQsMTMgKzIzMzgsMTMgQEAKIAlpbnQgdG90YWxfZmlsZXMgPSBkYXRhLT5uciwgY291bnQ7CiAJaW50IHdpZHRoLCBuYW1lX3dpZHRoLCBncmFwaF93aWR0aCwgbnVtYmVyX3dpZHRoID0gMCwgYmluX3dpZHRoID0gMDsKIAljb25zdCBjaGFyICpyZXNldCwgKmFkZF9jLCAqZGVsX2M7Ci0JY29uc3QgY2hhciAqbGluZV9wcmVmaXggPSAiIjsKIAlpbnQgZXh0cmFfc2hvd24gPSAwOworCWNvbnN0IGNoYXIgKmxpbmVfcHJlZml4ID0gZGlmZl9saW5lX3ByZWZpeChvcHRpb25zKTsKKwlzdHJ1Y3Qgc3RyYnVmIG91dCA9IFNUUkJVRl9JTklUOwogCiAJaWYgKGRhdGEtPm5yID09IDApCiAJCXJldHVybjsKIAotCWxpbmVfcHJlZml4ID0gZGlmZl9saW5lX3ByZWZpeChvcHRpb25zKTsKIAljb3VudCA9IG9wdGlvbnMtPnN0YXRfY291bnQgPyBvcHRpb25zLT5zdGF0X2NvdW50IDogZGF0YS0+bnI7CiAKIAlyZXNldCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvcHRpb25zLCBESUZGX1JFU0VUKTsKQEAgLTE3NjQsMjYgKzI0OTgsMzIgQEAKIAkJfQogCiAJCWlmIChmaWxlLT5pc19iaW5hcnkpIHsKLQkJCWZwcmludGYob3B0aW9ucy0+ZmlsZSwgIiVzIiwgbGluZV9wcmVmaXgpOwotCQkJc2hvd19uYW1lKG9wdGlvbnMtPmZpbGUsIHByZWZpeCwgbmFtZSwgbGVuKTsKLQkJCWZwcmludGYob3B0aW9ucy0+ZmlsZSwgIiAlKnMiLCBudW1iZXJfd2lkdGgsICJCaW4iKTsKKwkJCXN0cmJ1Zl9hZGRmKCZvdXQsICIgJXMlLSpzIHwiLCBwcmVmaXgsIGxlbiwgbmFtZSk7CisJCQlzdHJidWZfYWRkZigmb3V0LCAiICUqcyIsIG51bWJlcl93aWR0aCwgIkJpbiIpOwogCQkJaWYgKCFhZGRlZCAmJiAhZGVsZXRlZCkgewotCQkJCXB1dGMoJ1xuJywgb3B0aW9ucy0+ZmlsZSk7CisJCQkJc3RyYnVmX2FkZGNoKCZvdXQsICdcbicpOworCQkJCWVtaXRfZGlmZl9zeW1ib2wob3B0aW9ucywgRElGRl9TWU1CT0xfU1RBVFNfTElORSwKKwkJCQkJCSBvdXQuYnVmLCBvdXQubGVuLCAwKTsKKwkJCQlzdHJidWZfcmVzZXQoJm91dCk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlmcHJpbnRmKG9wdGlvbnMtPmZpbGUsICIgJXMlIlBSSXVNQVgiJXMiLAorCQkJc3RyYnVmX2FkZGYoJm91dCwgIiAlcyUiUFJJdU1BWCIlcyIsCiAJCQkJZGVsX2MsIGRlbGV0ZWQsIHJlc2V0KTsKLQkJCWZwcmludGYob3B0aW9ucy0+ZmlsZSwgIiAtPiAiKTsKLQkJCWZwcmludGYob3B0aW9ucy0+ZmlsZSwgIiVzJSJQUkl1TUFYIiVzIiwKKwkJCXN0cmJ1Zl9hZGRzdHIoJm91dCwgIiAtPiAiKTsKKwkJCXN0cmJ1Zl9hZGRmKCZvdXQsICIlcyUiUFJJdU1BWCIlcyIsCiAJCQkJYWRkX2MsIGFkZGVkLCByZXNldCk7Ci0JCQlmcHJpbnRmKG9wdGlvbnMtPmZpbGUsICIgYnl0ZXMiKTsKLQkJCWZwcmludGYob3B0aW9ucy0+ZmlsZSwgIlxuIik7CisJCQlzdHJidWZfYWRkc3RyKCZvdXQsICIgYnl0ZXNcbiIpOworCQkJZW1pdF9kaWZmX3N5bWJvbChvcHRpb25zLCBESUZGX1NZTUJPTF9TVEFUU19MSU5FLAorCQkJCQkgb3V0LmJ1Ziwgb3V0LmxlbiwgMCk7CisJCQlzdHJidWZfcmVzZXQoJm91dCk7CiAJCQljb250aW51ZTsKIAkJfQogCQllbHNlIGlmIChmaWxlLT5pc191bm1lcmdlZCkgewotCQkJZnByaW50ZihvcHRpb25zLT5maWxlLCAiJXMiLCBsaW5lX3ByZWZpeCk7Ci0JCQlzaG93X25hbWUob3B0aW9ucy0+ZmlsZSwgcHJlZml4LCBuYW1lLCBsZW4pOwotCQkJZnByaW50ZihvcHRpb25zLT5maWxlLCAiIFVubWVyZ2VkXG4iKTsKKwkJCXN0cmJ1Zl9hZGRmKCZvdXQsICIgJXMlLSpzIHwiLCBwcmVmaXgsIGxlbiwgbmFtZSk7CisJCQlzdHJidWZfYWRkc3RyKCZvdXQsICIgVW5tZXJnZWRcbiIpOworCQkJZW1pdF9kaWZmX3N5bWJvbChvcHRpb25zLCBESUZGX1NZTUJPTF9TVEFUU19MSU5FLAorCQkJCQkgb3V0LmJ1Ziwgb3V0LmxlbiwgMCk7CisJCQlzdHJidWZfcmVzZXQoJm91dCk7CiAJCQljb250aW51ZTsKIAkJfQogCkBAIC0xODA2LDE0ICsyNTQ2LDE2IEBACiAJCQkJYWRkID0gdG90YWwgLSBkZWw7CiAJCQl9CiAJCX0KLQkJZnByaW50ZihvcHRpb25zLT5maWxlLCAiJXMiLCBsaW5lX3ByZWZpeCk7Ci0JCXNob3dfbmFtZShvcHRpb25zLT5maWxlLCBwcmVmaXgsIG5hbWUsIGxlbik7Ci0JCWZwcmludGYob3B0aW9ucy0+ZmlsZSwgIiAlKiJQUkl1TUFYIiVzIiwKKwkJc3RyYnVmX2FkZGYoJm91dCwgIiAlcyUtKnMgfCIsIHByZWZpeCwgbGVuLCBuYW1lKTsKKwkJc3RyYnVmX2FkZGYoJm91dCwgIiAlKiJQUkl1TUFYIiVzIiwKIAkJCW51bWJlcl93aWR0aCwgYWRkZWQgKyBkZWxldGVkLAogCQkJYWRkZWQgKyBkZWxldGVkID8gIiAiIDogIiIpOwotCQlzaG93X2dyYXBoKG9wdGlvbnMtPmZpbGUsICcrJywgYWRkLCBhZGRfYywgcmVzZXQpOwotCQlzaG93X2dyYXBoKG9wdGlvbnMtPmZpbGUsICctJywgZGVsLCBkZWxfYywgcmVzZXQpOwotCQlmcHJpbnRmKG9wdGlvbnMtPmZpbGUsICJcbiIpOworCQlzaG93X2dyYXBoKCZvdXQsICcrJywgYWRkLCBhZGRfYywgcmVzZXQpOworCQlzaG93X2dyYXBoKCZvdXQsICctJywgZGVsLCBkZWxfYywgcmVzZXQpOworCQlzdHJidWZfYWRkY2goJm91dCwgJ1xuJyk7CisJCWVtaXRfZGlmZl9zeW1ib2wob3B0aW9ucywgRElGRl9TWU1CT0xfU1RBVFNfTElORSwKKwkJCQkgb3V0LmJ1Ziwgb3V0LmxlbiwgMCk7CisJCXN0cmJ1Zl9yZXNldCgmb3V0KTsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgZGF0YS0+bnI7IGkrKykgewpAQCAtMTgzNCwxMSArMjU3NiwxNCBAQAogCQlpZiAoaSA8IGNvdW50KQogCQkJY29udGludWU7CiAJCWlmICghZXh0cmFfc2hvd24pCi0JCQlmcHJpbnRmKG9wdGlvbnMtPmZpbGUsICIlcyAuLi5cbiIsIGxpbmVfcHJlZml4KTsKKwkJCWVtaXRfZGlmZl9zeW1ib2wob3B0aW9ucywKKwkJCQkJIERJRkZfU1lNQk9MX1NUQVRTX1NVTU1BUllfQUJCUkVWLAorCQkJCQkgTlVMTCwgMCwgMCk7CiAJCWV4dHJhX3Nob3duID0gMTsKIAl9Ci0JZnByaW50ZihvcHRpb25zLT5maWxlLCAiJXMiLCBsaW5lX3ByZWZpeCk7Ci0JcHJpbnRfc3RhdF9zdW1tYXJ5KG9wdGlvbnMtPmZpbGUsIHRvdGFsX2ZpbGVzLCBhZGRzLCBkZWxzKTsKKworCXByaW50X3N0YXRfc3VtbWFyeV9pbnNlcnRzX2RlbGV0ZXMob3B0aW9ucywgdG90YWxfZmlsZXMsIGFkZHMsIGRlbHMpOworCXN0cmJ1Zl9yZWxlYXNlKCZvdXQpOwogfQogCiBzdGF0aWMgdm9pZCBzaG93X3Nob3J0c3RhdHMoc3RydWN0IGRpZmZzdGF0X3QgKmRhdGEsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMpCkBAIC0xODUwLDcgKzI1OTUsNyBAQAogCiAJZm9yIChpID0gMDsgaSA8IGRhdGEtPm5yOyBpKyspIHsKIAkJaW50IGFkZGVkID0gZGF0YS0+ZmlsZXNbaV0tPmFkZGVkOwotCQlpbnQgZGVsZXRlZD0gZGF0YS0+ZmlsZXNbaV0tPmRlbGV0ZWQ7CisJCWludCBkZWxldGVkID0gZGF0YS0+ZmlsZXNbaV0tPmRlbGV0ZWQ7CiAKIAkJaWYgKGRhdGEtPmZpbGVzW2ldLT5pc191bm1lcmdlZCB8fAogCQkgICAgKCFkYXRhLT5maWxlc1tpXS0+aXNfaW50ZXJlc3RpbmcgJiYgKGFkZGVkICsgZGVsZXRlZCA9PSAwKSkpIHsKQEAgLTE4NjAsOCArMjYwNSw3IEBACiAJCQlkZWxzICs9IGRlbGV0ZWQ7CiAJCX0KIAl9Ci0JZnByaW50ZihvcHRpb25zLT5maWxlLCAiJXMiLCBkaWZmX2xpbmVfcHJlZml4KG9wdGlvbnMpKTsKLQlwcmludF9zdGF0X3N1bW1hcnkob3B0aW9ucy0+ZmlsZSwgdG90YWxfZmlsZXMsIGFkZHMsIGRlbHMpOworCXByaW50X3N0YXRfc3VtbWFyeV9pbnNlcnRzX2RlbGV0ZXMob3B0aW9ucywgdG90YWxfZmlsZXMsIGFkZHMsIGRlbHMpOwogfQogCiBzdGF0aWMgdm9pZCBzaG93X251bXN0YXQoc3RydWN0IGRpZmZzdGF0X3QgKmRhdGEsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMpCkBAIC0yMDk1LDcgKzI4MzksNyBAQAogCQkJICogYnl0ZXMgcGVyICJsaW5lIi4KIAkJCSAqIFRoaXMgaXMgc3R1cGlkIGFuZCB1Z2x5LCBidXQgdmVyeSBjaGVhcC4uLgogCQkJICovCi0JCQlkYW1hZ2UgPSAoZGFtYWdlICsgNjMpIC8gNjQ7CisJCQlkYW1hZ2UgPSBESVZfUk9VTkRfVVAoZGFtYWdlLCA2NCk7CiAJCUFMTE9DX0dST1coZGlyLmZpbGVzLCBkaXIubnIgKyAxLCBkaXIuYWxsb2MpOwogCQlkaXIuZmlsZXNbZGlyLm5yXS5uYW1lID0gZmlsZS0+bmFtZTsKIAkJZGlyLmZpbGVzW2Rpci5ucl0uY2hhbmdlZCA9IGRhbWFnZTsKQEAgLTIyMjUsOCArMjk2OSw4IEBACiAJcmV0dXJuIGRlZmxhdGVkOwogfQogCi1zdGF0aWMgdm9pZCBlbWl0X2JpbmFyeV9kaWZmX2JvZHkoRklMRSAqZmlsZSwgbW1maWxlX3QgKm9uZSwgbW1maWxlX3QgKnR3bywKLQkJCQkgIGNvbnN0IGNoYXIgKnByZWZpeCkKK3N0YXRpYyB2b2lkIGVtaXRfYmluYXJ5X2RpZmZfYm9keShzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLAorCQkJCSAgbW1maWxlX3QgKm9uZSwgbW1maWxlX3QgKnR3bykKIHsKIAl2b2lkICpjcDsKIAl2b2lkICpkZWx0YTsKQEAgLTIyNTUsMTMgKzI5OTksMTggQEAKIAl9CiAKIAlpZiAoZGVsdGEgJiYgZGVsdGFfc2l6ZSA8IGRlZmxhdGVfc2l6ZSkgewotCQlmcHJpbnRmKGZpbGUsICIlc2RlbHRhICVsdVxuIiwgcHJlZml4LCBvcmlnX3NpemUpOworCQljaGFyICpzID0geHN0cmZtdCgiJWx1Iiwgb3JpZ19zaXplKTsKKwkJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9CSU5BUllfRElGRl9IRUFERVJfREVMVEEsCisJCQkJIHMsIHN0cmxlbihzKSwgMCk7CisJCWZyZWUocyk7CiAJCWZyZWUoZGVmbGF0ZWQpOwogCQlkYXRhID0gZGVsdGE7CiAJCWRhdGFfc2l6ZSA9IGRlbHRhX3NpemU7Ci0JfQotCWVsc2UgewotCQlmcHJpbnRmKGZpbGUsICIlc2xpdGVyYWwgJWx1XG4iLCBwcmVmaXgsIHR3by0+c2l6ZSk7CisJfSBlbHNlIHsKKwkJY2hhciAqcyA9IHhzdHJmbXQoIiVsdSIsIHR3by0+c2l6ZSk7CisJCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfQklOQVJZX0RJRkZfSEVBREVSX0xJVEVSQUwsCisJCQkJIHMsIHN0cmxlbihzKSwgMCk7CisJCWZyZWUocyk7CiAJCWZyZWUoZGVsdGEpOwogCQlkYXRhID0gZGVmbGF0ZWQ7CiAJCWRhdGFfc2l6ZSA9IGRlZmxhdGVfc2l6ZTsKQEAgLTIyNzAsOCArMzAxOSw5IEBACiAJLyogZW1pdCBkYXRhIGVuY29kZWQgaW4gYmFzZTg1ICovCiAJY3AgPSBkYXRhOwogCXdoaWxlIChkYXRhX3NpemUpIHsKKwkJaW50IGxlbjsKIAkJaW50IGJ5dGVzID0gKDUyIDwgZGF0YV9zaXplKSA/IDUyIDogZGF0YV9zaXplOwotCQljaGFyIGxpbmVbNzBdOworCQljaGFyIGxpbmVbNzFdOwogCQlkYXRhX3NpemUgLT0gYnl0ZXM7CiAJCWlmIChieXRlcyA8PSAyNikKIAkJCWxpbmVbMF0gPSBieXRlcyArICdBJyAtIDE7CkBAIC0yMjc5LDIwICszMDI5LDI0IEBACiAJCQlsaW5lWzBdID0gYnl0ZXMgLSAyNiArICdhJyAtIDE7CiAJCWVuY29kZV84NShsaW5lICsgMSwgY3AsIGJ5dGVzKTsKIAkJY3AgPSAoY2hhciAqKSBjcCArIGJ5dGVzOwotCQlmcHJpbnRmKGZpbGUsICIlcyIsIHByZWZpeCk7Ci0JCWZwdXRzKGxpbmUsIGZpbGUpOwotCQlmcHV0YygnXG4nLCBmaWxlKTsKKworCQlsZW4gPSBzdHJsZW4obGluZSk7CisJCWxpbmVbbGVuKytdID0gJ1xuJzsKKwkJbGluZVtsZW5dID0gJ1wwJzsKKworCQllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX0JJTkFSWV9ESUZGX0JPRFksCisJCQkJIGxpbmUsIGxlbiwgMCk7CiAJfQotCWZwcmludGYoZmlsZSwgIiVzXG4iLCBwcmVmaXgpOworCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfQklOQVJZX0RJRkZfRk9PVEVSLCBOVUxMLCAwLCAwKTsKIAlmcmVlKGRhdGEpOwogfQogCi1zdGF0aWMgdm9pZCBlbWl0X2JpbmFyeV9kaWZmKEZJTEUgKmZpbGUsIG1tZmlsZV90ICpvbmUsIG1tZmlsZV90ICp0d28sCi0JCQkgICAgIGNvbnN0IGNoYXIgKnByZWZpeCkKK3N0YXRpYyB2b2lkIGVtaXRfYmluYXJ5X2RpZmYoc3RydWN0IGRpZmZfb3B0aW9ucyAqbywKKwkJCSAgICAgbW1maWxlX3QgKm9uZSwgbW1maWxlX3QgKnR3bykKIHsKLQlmcHJpbnRmKGZpbGUsICIlc0dJVCBiaW5hcnkgcGF0Y2hcbiIsIHByZWZpeCk7Ci0JZW1pdF9iaW5hcnlfZGlmZl9ib2R5KGZpbGUsIG9uZSwgdHdvLCBwcmVmaXgpOwotCWVtaXRfYmluYXJ5X2RpZmZfYm9keShmaWxlLCB0d28sIG9uZSwgcHJlZml4KTsKKwllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX0JJTkFSWV9ESUZGX0hFQURFUiwgTlVMTCwgMCwgMCk7CisJZW1pdF9iaW5hcnlfZGlmZl9ib2R5KG8sIG9uZSwgdHdvKTsKKwllbWl0X2JpbmFyeV9kaWZmX2JvZHkobywgdHdvLCBvbmUpOwogfQogCiBpbnQgZGlmZl9maWxlc3BlY19pc19iaW5hcnkoc3RydWN0IGRpZmZfZmlsZXNwZWMgKm9uZSkKQEAgLTIzNjksMjQgKzMxMjMsMTYgQEAKIAlpZiAoby0+c3VibW9kdWxlX2Zvcm1hdCA9PSBESUZGX1NVQk1PRFVMRV9MT0cgJiYKIAkgICAgKCFvbmUtPm1vZGUgfHwgU19JU0dJVExJTksob25lLT5tb2RlKSkgJiYKIAkgICAgKCF0d28tPm1vZGUgfHwgU19JU0dJVExJTksodHdvLT5tb2RlKSkpIHsKLQkJY29uc3QgY2hhciAqZGVsID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9PTEQpOwotCQljb25zdCBjaGFyICphZGQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX05FVyk7Ci0JCXNob3dfc3VibW9kdWxlX3N1bW1hcnkoby0+ZmlsZSwgb25lLT5wYXRoID8gb25lLT5wYXRoIDogdHdvLT5wYXRoLAotCQkJCWxpbmVfcHJlZml4LAorCQlzaG93X3N1Ym1vZHVsZV9zdW1tYXJ5KG8sIG9uZS0+cGF0aCA/IG9uZS0+cGF0aCA6IHR3by0+cGF0aCwKIAkJCQkmb25lLT5vaWQsICZ0d28tPm9pZCwKLQkJCQl0d28tPmRpcnR5X3N1Ym1vZHVsZSwKLQkJCQltZXRhLCBkZWwsIGFkZCwgcmVzZXQpOworCQkJCXR3by0+ZGlydHlfc3VibW9kdWxlKTsKIAkJcmV0dXJuOwogCX0gZWxzZSBpZiAoby0+c3VibW9kdWxlX2Zvcm1hdCA9PSBESUZGX1NVQk1PRFVMRV9JTkxJTkVfRElGRiAmJgogCQkgICAoIW9uZS0+bW9kZSB8fCBTX0lTR0lUTElOSyhvbmUtPm1vZGUpKSAmJgogCQkgICAoIXR3by0+bW9kZSB8fCBTX0lTR0lUTElOSyh0d28tPm1vZGUpKSkgewotCQljb25zdCBjaGFyICpkZWwgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX09MRCk7Ci0JCWNvbnN0IGNoYXIgKmFkZCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX0ZJTEVfTkVXKTsKLQkJc2hvd19zdWJtb2R1bGVfaW5saW5lX2RpZmYoby0+ZmlsZSwgb25lLT5wYXRoID8gb25lLT5wYXRoIDogdHdvLT5wYXRoLAotCQkJCWxpbmVfcHJlZml4LAorCQlzaG93X3N1Ym1vZHVsZV9pbmxpbmVfZGlmZihvLCBvbmUtPnBhdGggPyBvbmUtPnBhdGggOiB0d28tPnBhdGgsCiAJCQkJJm9uZS0+b2lkLCAmdHdvLT5vaWQsCi0JCQkJdHdvLT5kaXJ0eV9zdWJtb2R1bGUsCi0JCQkJbWV0YSwgZGVsLCBhZGQsIHJlc2V0LCBvKTsKKwkJCQl0d28tPmRpcnR5X3N1Ym1vZHVsZSk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTI0MzUsNyArMzE4MSw4IEBACiAJCWlmIChjb21wbGV0ZV9yZXdyaXRlICYmCiAJCSAgICAodGV4dGNvbnZfb25lIHx8ICFkaWZmX2ZpbGVzcGVjX2lzX2JpbmFyeShvbmUpKSAmJgogCQkgICAgKHRleHRjb252X3R3byB8fCAhZGlmZl9maWxlc3BlY19pc19iaW5hcnkodHdvKSkpIHsKLQkJCWZwcmludGYoby0+ZmlsZSwgIiVzIiwgaGVhZGVyLmJ1Zik7CisJCQllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX0hFQURFUiwKKwkJCQkJIGhlYWRlci5idWYsIGhlYWRlci5sZW4sIDApOwogCQkJc3RyYnVmX3Jlc2V0KCZoZWFkZXIpOwogCQkJZW1pdF9yZXdyaXRlX2RpZmYobmFtZV9hLCBuYW1lX2IsIG9uZSwgdHdvLAogCQkJCQkJdGV4dGNvbnZfb25lLCB0ZXh0Y29udl90d28sIG8pOwpAQCAtMjQ0NSwyMyArMzE5MiwzMSBAQAogCX0KIAogCWlmIChvLT5pcnJldmVyc2libGVfZGVsZXRlICYmIGxibFsxXVswXSA9PSAnLycpIHsKLQkJZnByaW50ZihvLT5maWxlLCAiJXMiLCBoZWFkZXIuYnVmKTsKKwkJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9IRUFERVIsIGhlYWRlci5idWYsCisJCQkJIGhlYWRlci5sZW4sIDApOwogCQlzdHJidWZfcmVzZXQoJmhlYWRlcik7CiAJCWdvdG8gZnJlZV9hYl9hbmRfcmV0dXJuOwogCX0gZWxzZSBpZiAoIURJRkZfT1BUX1RTVChvLCBURVhUKSAmJgogCSAgICAoICghdGV4dGNvbnZfb25lICYmIGRpZmZfZmlsZXNwZWNfaXNfYmluYXJ5KG9uZSkpIHx8CiAJICAgICAgKCF0ZXh0Y29udl90d28gJiYgZGlmZl9maWxlc3BlY19pc19iaW5hcnkodHdvKSkgKSkgeworCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJCWlmICghb25lLT5kYXRhICYmICF0d28tPmRhdGEgJiYKIAkJICAgIFNfSVNSRUcob25lLT5tb2RlKSAmJiBTX0lTUkVHKHR3by0+bW9kZSkgJiYKIAkJICAgICFESUZGX09QVF9UU1QobywgQklOQVJZKSkgewogCQkJaWYgKCFvaWRjbXAoJm9uZS0+b2lkLCAmdHdvLT5vaWQpKSB7CiAJCQkJaWYgKG11c3Rfc2hvd19oZWFkZXIpCi0JCQkJCWZwcmludGYoby0+ZmlsZSwgIiVzIiwgaGVhZGVyLmJ1Zik7CisJCQkJCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfSEVBREVSLAorCQkJCQkJCSBoZWFkZXIuYnVmLCBoZWFkZXIubGVuLAorCQkJCQkJCSAwKTsKIAkJCQlnb3RvIGZyZWVfYWJfYW5kX3JldHVybjsKIAkJCX0KLQkJCWZwcmludGYoby0+ZmlsZSwgIiVzIiwgaGVhZGVyLmJ1Zik7Ci0JCQlmcHJpbnRmKG8tPmZpbGUsICIlc0JpbmFyeSBmaWxlcyAlcyBhbmQgJXMgZGlmZmVyXG4iLAotCQkJCWxpbmVfcHJlZml4LCBsYmxbMF0sIGxibFsxXSk7CisJCQllbWl0X2RpZmZfc3ltYm9sKG8sIERJRkZfU1lNQk9MX0hFQURFUiwKKwkJCQkJIGhlYWRlci5idWYsIGhlYWRlci5sZW4sIDApOworCQkJc3RyYnVmX2FkZGYoJnNiLCAiJXNCaW5hcnkgZmlsZXMgJXMgYW5kICVzIGRpZmZlclxuIiwKKwkJCQkgICAgZGlmZl9saW5lX3ByZWZpeChvKSwgbGJsWzBdLCBsYmxbMV0pOworCQkJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9CSU5BUllfRklMRVMsCisJCQkJCSBzYi5idWYsIHNiLmxlbiwgMCk7CisJCQlzdHJidWZfcmVsZWFzZSgmc2IpOwogCQkJZ290byBmcmVlX2FiX2FuZF9yZXR1cm47CiAJCX0KIAkJaWYgKGZpbGxfbW1maWxlKCZtZjEsIG9uZSkgPCAwIHx8IGZpbGxfbW1maWxlKCZtZjIsIHR3bykgPCAwKQpAQCAtMjQ3MCwxNiArMzIyNSwyMSBAQAogCQlpZiAobWYxLnNpemUgPT0gbWYyLnNpemUgJiYKIAkJICAgICFtZW1jbXAobWYxLnB0ciwgbWYyLnB0ciwgbWYxLnNpemUpKSB7CiAJCQlpZiAobXVzdF9zaG93X2hlYWRlcikKLQkJCQlmcHJpbnRmKG8tPmZpbGUsICIlcyIsIGhlYWRlci5idWYpOworCQkJCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfSEVBREVSLAorCQkJCQkJIGhlYWRlci5idWYsIGhlYWRlci5sZW4sIDApOwogCQkJZ290byBmcmVlX2FiX2FuZF9yZXR1cm47CiAJCX0KLQkJZnByaW50ZihvLT5maWxlLCAiJXMiLCBoZWFkZXIuYnVmKTsKKwkJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9IRUFERVIsIGhlYWRlci5idWYsIGhlYWRlci5sZW4sIDApOwogCQlzdHJidWZfcmVzZXQoJmhlYWRlcik7CiAJCWlmIChESUZGX09QVF9UU1QobywgQklOQVJZKSkKLQkJCWVtaXRfYmluYXJ5X2RpZmYoby0+ZmlsZSwgJm1mMSwgJm1mMiwgbGluZV9wcmVmaXgpOwotCQllbHNlCi0JCQlmcHJpbnRmKG8tPmZpbGUsICIlc0JpbmFyeSBmaWxlcyAlcyBhbmQgJXMgZGlmZmVyXG4iLAotCQkJCWxpbmVfcHJlZml4LCBsYmxbMF0sIGxibFsxXSk7CisJCQllbWl0X2JpbmFyeV9kaWZmKG8sICZtZjEsICZtZjIpOworCQllbHNlIHsKKwkJCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzQmluYXJ5IGZpbGVzICVzIGFuZCAlcyBkaWZmZXJcbiIsCisJCQkJICAgIGRpZmZfbGluZV9wcmVmaXgobyksIGxibFswXSwgbGJsWzFdKTsKKwkJCWVtaXRfZGlmZl9zeW1ib2wobywgRElGRl9TWU1CT0xfQklOQVJZX0ZJTEVTLAorCQkJCQkgc2IuYnVmLCBzYi5sZW4sIDApOworCQkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKKwkJfQogCQlvLT5mb3VuZF9jaGFuZ2VzID0gMTsKIAl9IGVsc2UgewogCQkvKiBDcmF6eSB4ZGwgaW50ZXJmYWNlcy4uICovCkBAIC0yNDkxLDcgKzMyNTEsOCBAQAogCQljb25zdCBzdHJ1Y3QgdXNlcmRpZmZfZnVuY25hbWUgKnBlOwogCiAJCWlmIChtdXN0X3Nob3dfaGVhZGVyKSB7Ci0JCQlmcHJpbnRmKG8tPmZpbGUsICIlcyIsIGhlYWRlci5idWYpOworCQkJZW1pdF9kaWZmX3N5bWJvbChvLCBESUZGX1NZTUJPTF9IRUFERVIsCisJCQkJCSBoZWFkZXIuYnVmLCBoZWFkZXIubGVuLCAwKTsKIAkJCXN0cmJ1Zl9yZXNldCgmaGVhZGVyKTsKIAkJfQogCkBAIC0yNzAyLDEzICszNDYzLDEzIEBACiAJfQogfQogCi12b2lkIGZpbGxfZmlsZXNwZWMoc3RydWN0IGRpZmZfZmlsZXNwZWMgKnNwZWMsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCSAgIGludCBzaGExX3ZhbGlkLCB1bnNpZ25lZCBzaG9ydCBtb2RlKQordm9pZCBmaWxsX2ZpbGVzcGVjKHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpzcGVjLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCSAgIGludCBvaWRfdmFsaWQsIHVuc2lnbmVkIHNob3J0IG1vZGUpCiB7CiAJaWYgKG1vZGUpIHsKIAkJc3BlYy0+bW9kZSA9IGNhbm9uX21vZGUobW9kZSk7Ci0JCWhhc2hjcHkoc3BlYy0+b2lkLmhhc2gsIHNoYTEpOwotCQlzcGVjLT5vaWRfdmFsaWQgPSBzaGExX3ZhbGlkOworCQlvaWRjcHkoJnNwZWMtPm9pZCwgb2lkKTsKKwkJc3BlYy0+b2lkX3ZhbGlkID0gb2lkX3ZhbGlkOwogCX0KIH0KIApAQCAtMjcxNyw3ICszNDc4LDcgQEAKICAqIHRoZSB3b3JrIHRyZWUgaGFzIHRoYXQgb2JqZWN0IGNvbnRlbnRzLCByZXR1cm4gdHJ1ZSwgc28gdGhhdAogICogcHJlcGFyZV90ZW1wX2ZpbGUoKSBkb2VzIG5vdCBoYXZlIHRvIGluZmxhdGUgYW5kIGV4dHJhY3QuCiAgKi8KLXN0YXRpYyBpbnQgcmV1c2Vfd29ya3RyZWVfZmlsZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgd2FudF9maWxlKQorc3RhdGljIGludCByZXVzZV93b3JrdHJlZV9maWxlKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IHdhbnRfZmlsZSkKIHsKIAljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwogCXN0cnVjdCBzdGF0IHN0OwpAQCAtMjc0OCwxNCArMzUwOSwxNCBAQAogCSAqIG9iamVjdHMgaG93ZXZlciB3b3VsZCB0ZW5kIHRvIGJlIHNsb3dlciBhcyB0aGV5IG5lZWQKIAkgKiB0byBiZSBpbmRpdmlkdWFsbHkgb3BlbmVkIGFuZCBpbmZsYXRlZC4KIAkgKi8KLQlpZiAoIUZBU1RfV09SS0lOR19ESVJFQ1RPUlkgJiYgIXdhbnRfZmlsZSAmJiBoYXNfc2hhMV9wYWNrKHNoYTEpKQorCWlmICghRkFTVF9XT1JLSU5HX0RJUkVDVE9SWSAmJiAhd2FudF9maWxlICYmIGhhc19zaGExX3BhY2sob2lkLT5oYXNoKSkKIAkJcmV0dXJuIDA7CiAKIAkvKgogCSAqIFNpbWlsYXJseSwgaWYgd2UnZCBoYXZlIHRvIGNvbnZlcnQgdGhlIGZpbGUgY29udGVudHMgYW55d2F5LCB0aGF0CiAJICogbWFrZXMgdGhlIG9wdGltaXphdGlvbiBub3Qgd29ydGh3aGlsZS4KIAkgKi8KLQlpZiAoIXdhbnRfZmlsZSAmJiB3b3VsZF9jb252ZXJ0X3RvX2dpdChuYW1lKSkKKwlpZiAoIXdhbnRfZmlsZSAmJiB3b3VsZF9jb252ZXJ0X3RvX2dpdCgmdGhlX2luZGV4LCBuYW1lKSkKIAkJcmV0dXJuIDA7CiAKIAlsZW4gPSBzdHJsZW4obmFtZSk7CkBAIC0yNzY4LDcgKzM1MjksNyBAQAogCSAqIFRoaXMgaXMgbm90IHRoZSBzaGExIHdlIGFyZSBsb29raW5nIGZvciwgb3IKIAkgKiB1bnJldXNhYmxlIGJlY2F1c2UgaXQgaXMgbm90IGEgcmVndWxhciBmaWxlLgogCSAqLwotCWlmIChoYXNoY21wKHNoYTEsIGNlLT5vaWQuaGFzaCkgfHwgIVNfSVNSRUcoY2UtPmNlX21vZGUpKQorCWlmIChvaWRjbXAob2lkLCAmY2UtPm9pZCkgfHwgIVNfSVNSRUcoY2UtPmNlX21vZGUpKQogCQlyZXR1cm4gMDsKIAogCS8qCkBAIC0yODQyLDcgKzM2MDMsNyBAQAogCQlyZXR1cm4gZGlmZl9wb3B1bGF0ZV9naXRsaW5rKHMsIHNpemVfb25seSk7CiAKIAlpZiAoIXMtPm9pZF92YWxpZCB8fAotCSAgICByZXVzZV93b3JrdHJlZV9maWxlKHMtPnBhdGgsIHMtPm9pZC5oYXNoLCAwKSkgeworCSAgICByZXVzZV93b3JrdHJlZV9maWxlKHMtPnBhdGgsICZzLT5vaWQsIDApKSB7CiAJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJCXN0cnVjdCBzdGF0IHN0OwogCQlpbnQgZmQ7CkBAIC0yODc3LDcgKzM2MzgsNyBAQAogCQkgKiBwb2ludCBpZiB0aGUgcGF0aCByZXF1aXJlcyB1cyB0byBydW4gdGhlIGNvbnRlbnQKIAkJICogY29udmVyc2lvbi4KIAkJICovCi0JCWlmIChzaXplX29ubHkgJiYgIXdvdWxkX2NvbnZlcnRfdG9fZ2l0KHMtPnBhdGgpKQorCQlpZiAoc2l6ZV9vbmx5ICYmICF3b3VsZF9jb252ZXJ0X3RvX2dpdCgmdGhlX2luZGV4LCBzLT5wYXRoKSkKIAkJCXJldHVybiAwOwogCiAJCS8qCkBAIC0yOTA0LDcgKzM2NjUsNyBAQAogCQkvKgogCQkgKiBDb252ZXJ0IGZyb20gd29ya2luZyB0cmVlIGZvcm1hdCB0byBjYW5vbmljYWwgZ2l0IGZvcm1hdAogCQkgKi8KLQkJaWYgKGNvbnZlcnRfdG9fZ2l0KHMtPnBhdGgsIHMtPmRhdGEsIHMtPnNpemUsICZidWYsIGNybGZfd2FybikpIHsKKwkJaWYgKGNvbnZlcnRfdG9fZ2l0KCZ0aGVfaW5kZXgsIHMtPnBhdGgsIHMtPmRhdGEsIHMtPnNpemUsICZidWYsIGNybGZfd2FybikpIHsKIAkJCXNpemVfdCBzaXplID0gMDsKIAkJCW11bm1hcChzLT5kYXRhLCBzLT5zaXplKTsKIAkJCXMtPnNob3VsZF9tdW5tYXAgPSAwOwpAQCAtMjk1MSw4ICszNzEyLDcgQEAKIHZvaWQgZGlmZl9mcmVlX2ZpbGVzcGVjX2RhdGEoc3RydWN0IGRpZmZfZmlsZXNwZWMgKnMpCiB7CiAJZGlmZl9mcmVlX2ZpbGVzcGVjX2Jsb2Iocyk7Ci0JZnJlZShzLT5jbnRfZGF0YSk7Ci0Jcy0+Y250X2RhdGEgPSBOVUxMOworCUZSRUVfQU5EX05VTEwocy0+Y250X2RhdGEpOwogfQogCiBzdGF0aWMgdm9pZCBwcmVwX3RlbXBfYmxvYihjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgZGlmZl90ZW1wZmlsZSAqdGVtcCwKQEAgLTI5NjEsNyArMzcyMSw2IEBACiAJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgICBpbnQgbW9kZSkKIHsKLQlpbnQgZmQ7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHRlbXBsYXRlID0gU1RSQlVGX0lOSVQ7CiAJY2hhciAqcGF0aF9kdXAgPSB4c3RyZHVwKHBhdGgpOwpAQCAtMjk3MSwxOCArMzczMCwxOCBAQAogCXN0cmJ1Zl9hZGRzdHIoJnRlbXBsYXRlLCAiWFhYWFhYXyIpOwogCXN0cmJ1Zl9hZGRzdHIoJnRlbXBsYXRlLCBiYXNlKTsKIAotCWZkID0gbWtzX3RlbXBmaWxlX3RzKCZ0ZW1wLT50ZW1wZmlsZSwgdGVtcGxhdGUuYnVmLCBzdHJsZW4oYmFzZSkgKyAxKTsKLQlpZiAoZmQgPCAwKQorCXRlbXAtPnRlbXBmaWxlID0gbWtzX3RlbXBmaWxlX3RzKHRlbXBsYXRlLmJ1Ziwgc3RybGVuKGJhc2UpICsgMSk7CisJaWYgKCF0ZW1wLT50ZW1wZmlsZSkKIAkJZGllX2Vycm5vKCJ1bmFibGUgdG8gY3JlYXRlIHRlbXAtZmlsZSIpOwogCWlmIChjb252ZXJ0X3RvX3dvcmtpbmdfdHJlZShwYXRoLAogCQkJKGNvbnN0IGNoYXIgKilibG9iLCAoc2l6ZV90KXNpemUsICZidWYpKSB7CiAJCWJsb2IgPSBidWYuYnVmOwogCQlzaXplID0gYnVmLmxlbjsKIAl9Ci0JaWYgKHdyaXRlX2luX2Z1bGwoZmQsIGJsb2IsIHNpemUpICE9IHNpemUpCisJaWYgKHdyaXRlX2luX2Z1bGwodGVtcC0+dGVtcGZpbGUtPmZkLCBibG9iLCBzaXplKSA8IDAgfHwKKwkgICAgY2xvc2VfdGVtcGZpbGVfZ2VudGx5KHRlbXAtPnRlbXBmaWxlKSkKIAkJZGllX2Vycm5vKCJ1bmFibGUgdG8gd3JpdGUgdGVtcC1maWxlIik7Ci0JY2xvc2VfdGVtcGZpbGUoJnRlbXAtPnRlbXBmaWxlKTsKLQl0ZW1wLT5uYW1lID0gZ2V0X3RlbXBmaWxlX3BhdGgoJnRlbXAtPnRlbXBmaWxlKTsKKwl0ZW1wLT5uYW1lID0gZ2V0X3RlbXBmaWxlX3BhdGgodGVtcC0+dGVtcGZpbGUpOwogCW9pZF90b19oZXhfcih0ZW1wLT5oZXgsIG9pZCk7CiAJeHNucHJpbnRmKHRlbXAtPm1vZGUsIHNpemVvZih0ZW1wLT5tb2RlKSwgIiUwNm8iLCBtb2RlKTsKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKQEAgLTMwMDgsNyArMzc2Nyw3IEBACiAKIAlpZiAoIVNfSVNHSVRMSU5LKG9uZS0+bW9kZSkgJiYKIAkgICAgKCFvbmUtPm9pZF92YWxpZCB8fAotCSAgICAgcmV1c2Vfd29ya3RyZWVfZmlsZShuYW1lLCBvbmUtPm9pZC5oYXNoLCAxKSkpIHsKKwkgICAgIHJldXNlX3dvcmt0cmVlX2ZpbGUobmFtZSwgJm9uZS0+b2lkLCAxKSkpIHsKIAkJc3RydWN0IHN0YXQgc3Q7CiAJCWlmIChsc3RhdChuYW1lLCAmc3QpIDwgMCkgewogCQkJaWYgKGVycm5vID09IEVOT0VOVCkKQEAgLTMwMzAsMTMgKzM3ODksMTMgQEAKIAkJCS8qIHdlIGNhbiBib3Jyb3cgZnJvbSB0aGUgZmlsZSBpbiB0aGUgd29yayB0cmVlICovCiAJCQl0ZW1wLT5uYW1lID0gbmFtZTsKIAkJCWlmICghb25lLT5vaWRfdmFsaWQpCi0JCQkJc2hhMV90b19oZXhfcih0ZW1wLT5oZXgsIG51bGxfc2hhMSk7CisJCQkJb2lkX3RvX2hleF9yKHRlbXAtPmhleCwgJm51bGxfb2lkKTsKIAkJCWVsc2UKIAkJCQlvaWRfdG9faGV4X3IodGVtcC0+aGV4LCAmb25lLT5vaWQpOwogCQkJLyogRXZlbiB0aG91Z2ggd2UgbWF5IHNvbWV0aW1lcyBib3Jyb3cgdGhlCiAJCQkgKiBjb250ZW50cyBmcm9tIHRoZSB3b3JrIHRyZWUsIHdlIGFsd2F5cyB3YW50CiAJCQkgKiBvbmUtPm1vZGUuICBtb2RlIGlzIHRydXN0d29ydGh5IGV2ZW4gd2hlbgotCQkJICogIShvbmUtPnNoYTFfdmFsaWQpLCBhcyBsb25nIGFzCisJCQkgKiAhKG9uZS0+b2lkX3ZhbGlkKSwgYXMgbG9uZyBhcwogCQkJICogRElGRl9GSUxFX1ZBTElEKG9uZSkuCiAJCQkgKi8KIAkJCXhzbnByaW50Zih0ZW1wLT5tb2RlLCBzaXplb2YodGVtcC0+bW9kZSksICIlMDZvIiwgb25lLT5tb2RlKTsKQEAgLTMyMzksNyArMzk5OCw3IEBACiAJCWZwcmludGYoby0+ZmlsZSwgIiogVW5tZXJnZWQgcGF0aCAlc1xuIiwgbmFtZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGRpZmZfZmlsbF9zaGExX2luZm8oc3RydWN0IGRpZmZfZmlsZXNwZWMgKm9uZSkKK3N0YXRpYyB2b2lkIGRpZmZfZmlsbF9vaWRfaW5mbyhzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lKQogewogCWlmIChESUZGX0ZJTEVfVkFMSUQob25lKSkgewogCQlpZiAoIW9uZS0+b2lkX3ZhbGlkKSB7CkBAIC0zMjUwLDcgKzQwMDksNyBAQAogCQkJfQogCQkJaWYgKGxzdGF0KG9uZS0+cGF0aCwgJnN0KSA8IDApCiAJCQkJZGllX2Vycm5vKCJzdGF0ICclcyciLCBvbmUtPnBhdGgpOwotCQkJaWYgKGluZGV4X3BhdGgob25lLT5vaWQuaGFzaCwgb25lLT5wYXRoLCAmc3QsIDApKQorCQkJaWYgKGluZGV4X3BhdGgoJm9uZS0+b2lkLCBvbmUtPnBhdGgsICZzdCwgMCkpCiAJCQkJZGllKCJjYW5ub3QgaGFzaCAlcyIsIG9uZS0+cGF0aCk7CiAJCX0KIAl9CkBAIC0zMjgzLDggKzQwNDIsOCBAQAogCWNvbnN0IGNoYXIgKm90aGVyOwogCWNvbnN0IGNoYXIgKmF0dHJfcGF0aDsKIAotCW5hbWUgID0gcC0+b25lLT5wYXRoOwotCW90aGVyID0gKHN0cmNtcChuYW1lLCBwLT50d28tPnBhdGgpID8gcC0+dHdvLT5wYXRoIDogTlVMTCk7CisJbmFtZSAgPSBvbmUtPnBhdGg7CisJb3RoZXIgPSAoc3RyY21wKG5hbWUsIHR3by0+cGF0aCkgPyB0d28tPnBhdGggOiBOVUxMKTsKIAlhdHRyX3BhdGggPSBuYW1lOwogCWlmIChvLT5wcmVmaXhfbGVuZ3RoKQogCQlzdHJpcF9wcmVmaXgoby0+cHJlZml4X2xlbmd0aCwgJm5hbWUsICZvdGhlcik7CkBAIC0zMjk4LDggKzQwNTcsOCBAQAogCQlyZXR1cm47CiAJfQogCi0JZGlmZl9maWxsX3NoYTFfaW5mbyhvbmUpOwotCWRpZmZfZmlsbF9zaGExX2luZm8odHdvKTsKKwlkaWZmX2ZpbGxfb2lkX2luZm8ob25lKTsKKwlkaWZmX2ZpbGxfb2lkX2luZm8odHdvKTsKIAogCWlmICghcGdtICYmCiAJICAgIERJRkZfRklMRV9WQUxJRChvbmUpICYmIERJRkZfRklMRV9WQUxJRCh0d28pICYmCkBAIC0zMzQ0LDggKzQxMDMsOCBAQAogCWlmIChvLT5wcmVmaXhfbGVuZ3RoKQogCQlzdHJpcF9wcmVmaXgoby0+cHJlZml4X2xlbmd0aCwgJm5hbWUsICZvdGhlcik7CiAKLQlkaWZmX2ZpbGxfc2hhMV9pbmZvKHAtPm9uZSk7Ci0JZGlmZl9maWxsX3NoYTFfaW5mbyhwLT50d28pOworCWRpZmZfZmlsbF9vaWRfaW5mbyhwLT5vbmUpOworCWRpZmZfZmlsbF9vaWRfaW5mbyhwLT50d28pOwogCiAJYnVpbHRpbl9kaWZmc3RhdChuYW1lLCBvdGhlciwgcC0+b25lLCBwLT50d28sIGRpZmZzdGF0LCBvLCBwKTsKIH0KQEAgLTMzNjgsOCArNDEyNyw4IEBACiAJaWYgKG8tPnByZWZpeF9sZW5ndGgpCiAJCXN0cmlwX3ByZWZpeChvLT5wcmVmaXhfbGVuZ3RoLCAmbmFtZSwgJm90aGVyKTsKIAotCWRpZmZfZmlsbF9zaGExX2luZm8ocC0+b25lKTsKLQlkaWZmX2ZpbGxfc2hhMV9pbmZvKHAtPnR3byk7CisJZGlmZl9maWxsX29pZF9pbmZvKHAtPm9uZSk7CisJZGlmZl9maWxsX29pZF9pbmZvKHAtPnR3byk7CiAKIAlidWlsdGluX2NoZWNrZGlmZihuYW1lLCBvdGhlciwgYXR0cl9wYXRoLCBwLT5vbmUsIHAtPnR3bywgbyk7CiB9CkBAIC0zNDA3LDYgKzQxNjYsOCBAQAogCQlvcHRpb25zLT5hX3ByZWZpeCA9ICJhLyI7CiAJCW9wdGlvbnMtPmJfcHJlZml4ID0gImIvIjsKIAl9CisKKwlvcHRpb25zLT5jb2xvcl9tb3ZlZCA9IGRpZmZfY29sb3JfbW92ZWRfZGVmYXVsdDsKIH0KIAogdm9pZCBkaWZmX3NldHVwX2RvbmUoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucykKQEAgLTM1MTYsNiArNDI3Nyw5IEBACiAKIAlpZiAoRElGRl9PUFRfVFNUKG9wdGlvbnMsIEZPTExPV19SRU5BTUVTKSAmJiBvcHRpb25zLT5wYXRoc3BlYy5uciAhPSAxKQogCQlkaWUoXygiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiKSk7CisKKwlpZiAoIW9wdGlvbnMtPnVzZV9jb2xvciB8fCBleHRlcm5hbF9kaWZmKCkpCisJCW9wdGlvbnMtPmNvbG9yX21vdmVkID0gMDsKIH0KIAogc3RhdGljIGludCBvcHRfYXJnKGNvbnN0IGNoYXIgKmFyZywgaW50IGFyZ19zaG9ydCwgY29uc3QgY2hhciAqYXJnX2xvbmcsIGludCAqdmFsKQpAQCAtMzk0MCw3ICs0NzA0LDE5IEBACiAJfQogCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1jb2xvciIpKQogCQlvcHRpb25zLT51c2VfY29sb3IgPSAwOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1jb2xvci13b3JkcyIpKSB7CisJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWNvbG9yLW1vdmVkIikpIHsKKwkJaWYgKGRpZmZfY29sb3JfbW92ZWRfZGVmYXVsdCkKKwkJCW9wdGlvbnMtPmNvbG9yX21vdmVkID0gZGlmZl9jb2xvcl9tb3ZlZF9kZWZhdWx0OworCQlpZiAob3B0aW9ucy0+Y29sb3JfbW92ZWQgPT0gQ09MT1JfTU9WRURfTk8pCisJCQlvcHRpb25zLT5jb2xvcl9tb3ZlZCA9IENPTE9SX01PVkVEX0RFRkFVTFQ7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tY29sb3ItbW92ZWQiKSkKKwkJb3B0aW9ucy0+Y29sb3JfbW92ZWQgPSBDT0xPUl9NT1ZFRF9OTzsKKwllbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLWNvbG9yLW1vdmVkPSIsICZhcmcpKSB7CisJCWludCBjbSA9IHBhcnNlX2NvbG9yX21vdmVkKGFyZyk7CisJCWlmIChjbSA8IDApCisJCQlkaWUoImJhZCAtLWNvbG9yLW1vdmVkIGFyZ3VtZW50OiAlcyIsIGFyZyk7CisJCW9wdGlvbnMtPmNvbG9yX21vdmVkID0gY207CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tY29sb3Itd29yZHMiKSkgewogCQlvcHRpb25zLT51c2VfY29sb3IgPSAxOwogCQlvcHRpb25zLT53b3JkX2RpZmYgPSBESUZGX1dPUkRTX0NPTE9SOwogCX0KQEAgLTQwMjMsOCArNDc5OSw3IEBACiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXBpY2theGUtcmVnZXgiKSkKIAkJb3B0aW9ucy0+cGlja2F4ZV9vcHRzIHw9IERJRkZfUElDS0FYRV9SRUdFWDsKIAllbHNlIGlmICgoYXJnY291bnQgPSBzaG9ydF9vcHQoJ08nLCBhdiwgJm9wdGFyZykpKSB7Ci0JCWNvbnN0IGNoYXIgKnBhdGggPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBzdHJsZW4ocHJlZml4KSwgb3B0YXJnKTsKLQkJb3B0aW9ucy0+b3JkZXJmaWxlID0geHN0cmR1cChwYXRoKTsKKwkJb3B0aW9ucy0+b3JkZXJmaWxlID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgb3B0YXJnKTsKIAkJcmV0dXJuIGFyZ2NvdW50OwogCX0KIAllbHNlIGlmICgoYXJnY291bnQgPSBwYXJzZV9sb25nX29wdCgiZGlmZi1maWx0ZXIiLCBhdiwgJm9wdGFyZykpKSB7CkBAIC00MDcxLDEzICs0ODQ2LDEyIEBACiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLWZ1bmN0aW9uLWNvbnRleHQiKSkKIAkJRElGRl9PUFRfQ0xSKG9wdGlvbnMsIEZVTkNDT05URVhUKTsKIAllbHNlIGlmICgoYXJnY291bnQgPSBwYXJzZV9sb25nX29wdCgib3V0cHV0IiwgYXYsICZvcHRhcmcpKSkgewotCQljb25zdCBjaGFyICpwYXRoID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgc3RybGVuKHByZWZpeCksIG9wdGFyZyk7Ci0JCW9wdGlvbnMtPmZpbGUgPSBmb3BlbihwYXRoLCAidyIpOwotCQlpZiAoIW9wdGlvbnMtPmZpbGUpCi0JCQlkaWVfZXJybm8oIkNvdWxkIG5vdCBvcGVuICclcyciLCBwYXRoKTsKKwkJY2hhciAqcGF0aCA9IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIG9wdGFyZyk7CisJCW9wdGlvbnMtPmZpbGUgPSB4Zm9wZW4ocGF0aCwgInciKTsKIAkJb3B0aW9ucy0+Y2xvc2VfZmlsZSA9IDE7CiAJCWlmIChvcHRpb25zLT51c2VfY29sb3IgIT0gR0lUX0NPTE9SX0FMV0FZUykKIAkJCW9wdGlvbnMtPnVzZV9jb2xvciA9IEdJVF9DT0xPUl9ORVZFUjsKKwkJZnJlZShwYXRoKTsKIAkJcmV0dXJuIGFyZ2NvdW50OwogCX0gZWxzZQogCQlyZXR1cm4gMDsKQEAgLTQyMTksNyArNDk5Myw3IEBACiAJICogdW5pcXVlbmVzcyBhY3Jvc3MgYWxsIG9iamVjdHMgKHN0YXRpc3RpY2FsbHkgc3BlYWtpbmcpLgogCSAqLwogCWlmIChhYmJsZW4gPCBHSVRfU0hBMV9IRVhTWiAtIDMpIHsKLQkJc3RhdGljIGNoYXIgaGV4W0dJVF9TSEExX0hFWFNaICsgMV07CisJCXN0YXRpYyBjaGFyIGhleFtHSVRfTUFYX0hFWFNaICsgMV07CiAJCWlmIChsZW4gPCBhYmJsZW4gJiYgYWJibGVuIDw9IGxlbiArIDIpCiAJCQl4c25wcmludGYoaGV4LCBzaXplb2YoaGV4KSwgIiVzJS4qcyIsIGFiYnJldiwgbGVuKzMtYWJibGVuLCAiLi4iKTsKIAkJZWxzZQpAQCAtNDQ3Miw2NyArNTI0Niw3OSBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgc2hvd19maWxlX21vZGVfbmFtZShGSUxFICpmaWxlLCBjb25zdCBjaGFyICpuZXdkZWxldGUsIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpmcykKK3N0YXRpYyB2b2lkIHNob3dfZmlsZV9tb2RlX25hbWUoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0LCBjb25zdCBjaGFyICpuZXdkZWxldGUsIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpmcykKIHsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJaWYgKGZzLT5tb2RlKQotCQlmcHJpbnRmKGZpbGUsICIgJXMgbW9kZSAlMDZvICIsIG5ld2RlbGV0ZSwgZnMtPm1vZGUpOworCQlzdHJidWZfYWRkZigmc2IsICIgJXMgbW9kZSAlMDZvICIsIG5ld2RlbGV0ZSwgZnMtPm1vZGUpOwogCWVsc2UKLQkJZnByaW50ZihmaWxlLCAiICVzICIsIG5ld2RlbGV0ZSk7Ci0Jd3JpdGVfbmFtZV9xdW90ZWQoZnMtPnBhdGgsIGZpbGUsICdcbicpOworCQlzdHJidWZfYWRkZigmc2IsICIgJXMgIiwgbmV3ZGVsZXRlKTsKKworCXF1b3RlX2Nfc3R5bGUoZnMtPnBhdGgsICZzYiwgTlVMTCwgMCk7CisJc3RyYnVmX2FkZGNoKCZzYiwgJ1xuJyk7CisJZW1pdF9kaWZmX3N5bWJvbChvcHQsIERJRkZfU1lNQk9MX1NVTU1BUlksCisJCQkgc2IuYnVmLCBzYi5sZW4sIDApOworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiB9CiAKLQotc3RhdGljIHZvaWQgc2hvd19tb2RlX2NoYW5nZShGSUxFICpmaWxlLCBzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcCwgaW50IHNob3dfbmFtZSwKLQkJY29uc3QgY2hhciAqbGluZV9wcmVmaXgpCitzdGF0aWMgdm9pZCBzaG93X21vZGVfY2hhbmdlKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCwgc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAsCisJCWludCBzaG93X25hbWUpCiB7CiAJaWYgKHAtPm9uZS0+bW9kZSAmJiBwLT50d28tPm1vZGUgJiYgcC0+b25lLT5tb2RlICE9IHAtPnR3by0+bW9kZSkgewotCQlmcHJpbnRmKGZpbGUsICIlcyBtb2RlIGNoYW5nZSAlMDZvID0+ICUwNm8lYyIsIGxpbmVfcHJlZml4LCBwLT5vbmUtPm1vZGUsCi0JCQlwLT50d28tPm1vZGUsIHNob3dfbmFtZSA/ICcgJyA6ICdcbicpOworCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJCXN0cmJ1Zl9hZGRmKCZzYiwgIiBtb2RlIGNoYW5nZSAlMDZvID0+ICUwNm8iLAorCQkJICAgIHAtPm9uZS0+bW9kZSwgcC0+dHdvLT5tb2RlKTsKIAkJaWYgKHNob3dfbmFtZSkgewotCQkJd3JpdGVfbmFtZV9xdW90ZWQocC0+dHdvLT5wYXRoLCBmaWxlLCAnXG4nKTsKKwkJCXN0cmJ1Zl9hZGRjaCgmc2IsICcgJyk7CisJCQlxdW90ZV9jX3N0eWxlKHAtPnR3by0+cGF0aCwgJnNiLCBOVUxMLCAwKTsKIAkJfQorCQlzdHJidWZfYWRkY2goJnNiLCAnXG4nKTsKKwkJZW1pdF9kaWZmX3N5bWJvbChvcHQsIERJRkZfU1lNQk9MX1NVTU1BUlksCisJCQkJIHNiLmJ1Ziwgc2IubGVuLCAwKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHNob3dfcmVuYW1lX2NvcHkoRklMRSAqZmlsZSwgY29uc3QgY2hhciAqcmVuYW1lY29weSwgc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAsCi0JCQljb25zdCBjaGFyICpsaW5lX3ByZWZpeCkKK3N0YXRpYyB2b2lkIHNob3dfcmVuYW1lX2NvcHkoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0LCBjb25zdCBjaGFyICpyZW5hbWVjb3B5LAorCQlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcCkKIHsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJY2hhciAqbmFtZXMgPSBwcHJpbnRfcmVuYW1lKHAtPm9uZS0+cGF0aCwgcC0+dHdvLT5wYXRoKTsKLQotCWZwcmludGYoZmlsZSwgIiAlcyAlcyAoJWQlJSlcbiIsIHJlbmFtZWNvcHksIG5hbWVzLCBzaW1pbGFyaXR5X2luZGV4KHApKTsKKwlzdHJidWZfYWRkZigmc2IsICIgJXMgJXMgKCVkJSUpXG4iLAorCQkJcmVuYW1lY29weSwgbmFtZXMsIHNpbWlsYXJpdHlfaW5kZXgocCkpOwogCWZyZWUobmFtZXMpOwotCXNob3dfbW9kZV9jaGFuZ2UoZmlsZSwgcCwgMCwgbGluZV9wcmVmaXgpOworCWVtaXRfZGlmZl9zeW1ib2wob3B0LCBESUZGX1NZTUJPTF9TVU1NQVJZLAorCQkJCSBzYi5idWYsIHNiLmxlbiwgMCk7CisJc2hvd19tb2RlX2NoYW5nZShvcHQsIHAsIDApOworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiB9CiAKIHN0YXRpYyB2b2lkIGRpZmZfc3VtbWFyeShzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsIHN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwKQogewotCUZJTEUgKmZpbGUgPSBvcHQtPmZpbGU7Ci0JY29uc3QgY2hhciAqbGluZV9wcmVmaXggPSBkaWZmX2xpbmVfcHJlZml4KG9wdCk7Ci0KIAlzd2l0Y2gocC0+c3RhdHVzKSB7CiAJY2FzZSBESUZGX1NUQVRVU19ERUxFVEVEOgotCQlmcHV0cyhsaW5lX3ByZWZpeCwgZmlsZSk7Ci0JCXNob3dfZmlsZV9tb2RlX25hbWUoZmlsZSwgImRlbGV0ZSIsIHAtPm9uZSk7CisJCXNob3dfZmlsZV9tb2RlX25hbWUob3B0LCAiZGVsZXRlIiwgcC0+b25lKTsKIAkJYnJlYWs7CiAJY2FzZSBESUZGX1NUQVRVU19BRERFRDoKLQkJZnB1dHMobGluZV9wcmVmaXgsIGZpbGUpOwotCQlzaG93X2ZpbGVfbW9kZV9uYW1lKGZpbGUsICJjcmVhdGUiLCBwLT50d28pOworCQlzaG93X2ZpbGVfbW9kZV9uYW1lKG9wdCwgImNyZWF0ZSIsIHAtPnR3byk7CiAJCWJyZWFrOwogCWNhc2UgRElGRl9TVEFUVVNfQ09QSUVEOgotCQlmcHV0cyhsaW5lX3ByZWZpeCwgZmlsZSk7Ci0JCXNob3dfcmVuYW1lX2NvcHkoZmlsZSwgImNvcHkiLCBwLCBsaW5lX3ByZWZpeCk7CisJCXNob3dfcmVuYW1lX2NvcHkob3B0LCAiY29weSIsIHApOwogCQlicmVhazsKIAljYXNlIERJRkZfU1RBVFVTX1JFTkFNRUQ6Ci0JCWZwdXRzKGxpbmVfcHJlZml4LCBmaWxlKTsKLQkJc2hvd19yZW5hbWVfY29weShmaWxlLCAicmVuYW1lIiwgcCwgbGluZV9wcmVmaXgpOworCQlzaG93X3JlbmFtZV9jb3B5KG9wdCwgInJlbmFtZSIsIHApOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlpZiAocC0+c2NvcmUpIHsKLQkJCWZwcmludGYoZmlsZSwgIiVzIHJld3JpdGUgIiwgbGluZV9wcmVmaXgpOwotCQkJd3JpdGVfbmFtZV9xdW90ZWQocC0+dHdvLT5wYXRoLCBmaWxlLCAnICcpOwotCQkJZnByaW50ZihmaWxlLCAiKCVkJSUpXG4iLCBzaW1pbGFyaXR5X2luZGV4KHApKTsKKwkJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwkJCXN0cmJ1Zl9hZGRzdHIoJnNiLCAiIHJld3JpdGUgIik7CisJCQlxdW90ZV9jX3N0eWxlKHAtPnR3by0+cGF0aCwgJnNiLCBOVUxMLCAwKTsKKwkJCXN0cmJ1Zl9hZGRmKCZzYiwgIiAoJWQlJSlcbiIsIHNpbWlsYXJpdHlfaW5kZXgocCkpOworCQkJZW1pdF9kaWZmX3N5bWJvbChvcHQsIERJRkZfU1lNQk9MX1NVTU1BUlksCisJCQkJCSBzYi5idWYsIHNiLmxlbiwgMCk7CisJCQlzdHJidWZfcmVsZWFzZSgmc2IpOwogCQl9Ci0JCXNob3dfbW9kZV9jaGFuZ2UoZmlsZSwgcCwgIXAtPnNjb3JlLCBsaW5lX3ByZWZpeCk7CisJCXNob3dfbW9kZV9jaGFuZ2Uob3B0LCBwLCAhcC0+c2NvcmUpOwogCQlicmVhazsKIAl9CiB9CkBAIC00NTcwLDE0ICs1MzU2LDI2IEBACiAJZGF0YS0+cGF0Y2hsZW4gKz0gbmV3X2xlbjsKIH0KIAorc3RhdGljIHZvaWQgcGF0Y2hfaWRfYWRkX3N0cmluZyhnaXRfU0hBX0NUWCAqY3R4LCBjb25zdCBjaGFyICpzdHIpCit7CisJZ2l0X1NIQTFfVXBkYXRlKGN0eCwgc3RyLCBzdHJsZW4oc3RyKSk7Cit9CisKK3N0YXRpYyB2b2lkIHBhdGNoX2lkX2FkZF9tb2RlKGdpdF9TSEFfQ1RYICpjdHgsIHVuc2lnbmVkIG1vZGUpCit7CisJLyogbGFyZ2UgZW5vdWdoIGZvciAyXjMyIGluIG9jdGFsICovCisJY2hhciBidWZbMTJdOworCWludCBsZW4gPSB4c25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiUwNm8iLCBtb2RlKTsKKwlnaXRfU0hBMV9VcGRhdGUoY3R4LCBidWYsIGxlbik7Cit9CisKIC8qIHJldHVybnMgMCB1cG9uIHN1Y2Nlc3MsIGFuZCB3cml0ZXMgcmVzdWx0IGludG8gc2hhMSAqLwotc3RhdGljIGludCBkaWZmX2dldF9wYXRjaF9pZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZGlmZl9oZWFkZXJfb25seSkKK3N0YXRpYyBpbnQgZGlmZl9nZXRfcGF0Y2hfaWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZGlmZl9oZWFkZXJfb25seSkKIHsKIAlzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnEgPSAmZGlmZl9xdWV1ZWRfZGlmZjsKIAlpbnQgaTsKIAlnaXRfU0hBX0NUWCBjdHg7CiAJc3RydWN0IHBhdGNoX2lkX3QgZGF0YTsKLQljaGFyIGJ1ZmZlcltQQVRIX01BWCAqIDQgKyAyMF07CiAKIAlnaXRfU0hBMV9Jbml0KCZjdHgpOwogCW1lbXNldCgmZGF0YSwgMCwgc2l6ZW9mKHN0cnVjdCBwYXRjaF9pZF90KSk7CkBAIC00NjA0LDQxICs1NDAyLDM1IEBACiAJCWlmIChESUZGX1BBSVJfVU5NRVJHRUQocCkpCiAJCQljb250aW51ZTsKIAotCQlkaWZmX2ZpbGxfc2hhMV9pbmZvKHAtPm9uZSk7Ci0JCWRpZmZfZmlsbF9zaGExX2luZm8ocC0+dHdvKTsKKwkJZGlmZl9maWxsX29pZF9pbmZvKHAtPm9uZSk7CisJCWRpZmZfZmlsbF9vaWRfaW5mbyhwLT50d28pOwogCiAJCWxlbjEgPSByZW1vdmVfc3BhY2UocC0+b25lLT5wYXRoLCBzdHJsZW4ocC0+b25lLT5wYXRoKSk7CiAJCWxlbjIgPSByZW1vdmVfc3BhY2UocC0+dHdvLT5wYXRoLCBzdHJsZW4ocC0+dHdvLT5wYXRoKSk7Ci0JCWlmIChwLT5vbmUtPm1vZGUgPT0gMCkKLQkJCWxlbjEgPSBzbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpLAotCQkJCQkiZGlmZi0tZ2l0YS8lLipzYi8lLipzIgotCQkJCQkibmV3ZmlsZW1vZGUlMDZvIgotCQkJCQkiLS0tL2Rldi9udWxsIgotCQkJCQkiKysrYi8lLipzIiwKLQkJCQkJbGVuMSwgcC0+b25lLT5wYXRoLAotCQkJCQlsZW4yLCBwLT50d28tPnBhdGgsCi0JCQkJCXAtPnR3by0+bW9kZSwKLQkJCQkJbGVuMiwgcC0+dHdvLT5wYXRoKTsKLQkJZWxzZSBpZiAocC0+dHdvLT5tb2RlID09IDApCi0JCQlsZW4xID0gc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwKLQkJCQkJImRpZmYtLWdpdGEvJS4qc2IvJS4qcyIKLQkJCQkJImRlbGV0ZWRmaWxlbW9kZSUwNm8iCi0JCQkJCSItLS1hLyUuKnMiCi0JCQkJCSIrKysvZGV2L251bGwiLAotCQkJCQlsZW4xLCBwLT5vbmUtPnBhdGgsCi0JCQkJCWxlbjIsIHAtPnR3by0+cGF0aCwKLQkJCQkJcC0+b25lLT5tb2RlLAotCQkJCQlsZW4xLCBwLT5vbmUtPnBhdGgpOwotCQllbHNlCi0JCQlsZW4xID0gc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwKLQkJCQkJImRpZmYtLWdpdGEvJS4qc2IvJS4qcyIKLQkJCQkJIi0tLWEvJS4qcyIKLQkJCQkJIisrK2IvJS4qcyIsCi0JCQkJCWxlbjEsIHAtPm9uZS0+cGF0aCwKLQkJCQkJbGVuMiwgcC0+dHdvLT5wYXRoLAotCQkJCQlsZW4xLCBwLT5vbmUtPnBhdGgsCi0JCQkJCWxlbjIsIHAtPnR3by0+cGF0aCk7Ci0JCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBidWZmZXIsIGxlbjEpOworCQlwYXRjaF9pZF9hZGRfc3RyaW5nKCZjdHgsICJkaWZmLS1naXQiKTsKKwkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAiYS8iKTsKKwkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIHAtPm9uZS0+cGF0aCwgbGVuMSk7CisJCXBhdGNoX2lkX2FkZF9zdHJpbmcoJmN0eCwgImIvIik7CisJCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBwLT50d28tPnBhdGgsIGxlbjIpOworCisJCWlmIChwLT5vbmUtPm1vZGUgPT0gMCkgeworCQkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAibmV3ZmlsZW1vZGUiKTsKKwkJCXBhdGNoX2lkX2FkZF9tb2RlKCZjdHgsIHAtPnR3by0+bW9kZSk7CisJCQlwYXRjaF9pZF9hZGRfc3RyaW5nKCZjdHgsICItLS0vZGV2L251bGwiKTsKKwkJCXBhdGNoX2lkX2FkZF9zdHJpbmcoJmN0eCwgIisrK2IvIik7CisJCQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgcC0+dHdvLT5wYXRoLCBsZW4yKTsKKwkJfSBlbHNlIGlmIChwLT50d28tPm1vZGUgPT0gMCkgeworCQkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAiZGVsZXRlZGZpbGVtb2RlIik7CisJCQlwYXRjaF9pZF9hZGRfbW9kZSgmY3R4LCBwLT5vbmUtPm1vZGUpOworCQkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAiLS0tYS8iKTsKKwkJCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBwLT5vbmUtPnBhdGgsIGxlbjEpOworCQkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAiKysrL2Rldi9udWxsIik7CisJCX0gZWxzZSB7CisJCQlwYXRjaF9pZF9hZGRfc3RyaW5nKCZjdHgsICItLS1hLyIpOworCQkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIHAtPm9uZS0+cGF0aCwgbGVuMSk7CisJCQlwYXRjaF9pZF9hZGRfc3RyaW5nKCZjdHgsICIrKytiLyIpOworCQkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIHAtPnR3by0+cGF0aCwgbGVuMik7CisJCX0KIAogCQlpZiAoZGlmZl9oZWFkZXJfb25seSkKIAkJCWNvbnRpbnVlOwpAQCAtNDY1MCw5ICs1NDQyLDkgQEAKIAkJaWYgKGRpZmZfZmlsZXNwZWNfaXNfYmluYXJ5KHAtPm9uZSkgfHwKIAkJICAgIGRpZmZfZmlsZXNwZWNfaXNfYmluYXJ5KHAtPnR3bykpIHsKIAkJCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBvaWRfdG9faGV4KCZwLT5vbmUtPm9pZCksCi0JCQkJCTQwKTsKKwkJCQkJR0lUX1NIQTFfSEVYU1opOwogCQkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIG9pZF90b19oZXgoJnAtPnR3by0+b2lkKSwKLQkJCQkJNDApOworCQkJCQlHSVRfU0hBMV9IRVhTWik7CiAJCQljb250aW51ZTsKIAkJfQogCkBAIC00NjY1LDE1ICs1NDU3LDE1IEBACiAJCQkJICAgICBwLT5vbmUtPnBhdGgpOwogCX0KIAotCWdpdF9TSEExX0ZpbmFsKHNoYTEsICZjdHgpOworCWdpdF9TSEExX0ZpbmFsKG9pZC0+aGFzaCwgJmN0eCk7CiAJcmV0dXJuIDA7CiB9CiAKLWludCBkaWZmX2ZsdXNoX3BhdGNoX2lkKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBkaWZmX2hlYWRlcl9vbmx5KQoraW50IGRpZmZfZmx1c2hfcGF0Y2hfaWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZGlmZl9oZWFkZXJfb25seSkKIHsKIAlzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnEgPSAmZGlmZl9xdWV1ZWRfZGlmZjsKIAlpbnQgaTsKLQlpbnQgcmVzdWx0ID0gZGlmZl9nZXRfcGF0Y2hfaWQob3B0aW9ucywgc2hhMSwgZGlmZl9oZWFkZXJfb25seSk7CisJaW50IHJlc3VsdCA9IGRpZmZfZ2V0X3BhdGNoX2lkKG9wdGlvbnMsIG9pZCwgZGlmZl9oZWFkZXJfb25seSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcS0+bnI7IGkrKykKIAkJZGlmZl9mcmVlX2ZpbGVwYWlyKHEtPnF1ZXVlW2ldKTsKQEAgLTQ3MzEsNiArNTUyMyw1MSBAQAogCQl3YXJuaW5nKF8ocmVuYW1lX2xpbWl0X2FkdmljZSksIHZhcm5hbWUsIG5lZWRlZCk7CiB9CiAKK3N0YXRpYyB2b2lkIGRpZmZfZmx1c2hfcGF0Y2hfYWxsX2ZpbGVfcGFpcnMoc3RydWN0IGRpZmZfb3B0aW9ucyAqbykKK3sKKwlpbnQgaTsKKwlzdGF0aWMgc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2xzIGVzbSA9IEVNSVRURURfRElGRl9TWU1CT0xTX0lOSVQ7CisJc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxID0gJmRpZmZfcXVldWVkX2RpZmY7CisKKwlpZiAoV1NFSF9ORVcgJiBXU19SVUxFX01BU0spCisJCWRpZSgiQlVHOiBXUyBydWxlcyBiaXQgbWFzayBvdmVybGFwcyB3aXRoIGRpZmYgc3ltYm9sIGZsYWdzIik7CisKKwlpZiAoby0+Y29sb3JfbW92ZWQpCisJCW8tPmVtaXR0ZWRfc3ltYm9scyA9ICZlc207CisKKwlmb3IgKGkgPSAwOyBpIDwgcS0+bnI7IGkrKykgeworCQlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcCA9IHEtPnF1ZXVlW2ldOworCQlpZiAoY2hlY2tfcGFpcl9zdGF0dXMocCkpCisJCQlkaWZmX2ZsdXNoX3BhdGNoKHAsIG8pOworCX0KKworCWlmIChvLT5lbWl0dGVkX3N5bWJvbHMpIHsKKwkJaWYgKG8tPmNvbG9yX21vdmVkKSB7CisJCQlzdHJ1Y3QgaGFzaG1hcCBhZGRfbGluZXMsIGRlbF9saW5lczsKKworCQkJaGFzaG1hcF9pbml0KCZkZWxfbGluZXMsCisJCQkJICAgICAoaGFzaG1hcF9jbXBfZm4pbW92ZWRfZW50cnlfY21wLCBvLCAwKTsKKwkJCWhhc2htYXBfaW5pdCgmYWRkX2xpbmVzLAorCQkJCSAgICAgKGhhc2htYXBfY21wX2ZuKW1vdmVkX2VudHJ5X2NtcCwgbywgMCk7CisKKwkJCWFkZF9saW5lc190b19tb3ZlX2RldGVjdGlvbihvLCAmYWRkX2xpbmVzLCAmZGVsX2xpbmVzKTsKKwkJCW1hcmtfY29sb3JfYXNfbW92ZWQobywgJmFkZF9saW5lcywgJmRlbF9saW5lcyk7CisJCQlpZiAoby0+Y29sb3JfbW92ZWQgPT0gQ09MT1JfTU9WRURfWkVCUkFfRElNKQorCQkJCWRpbV9tb3ZlZF9saW5lcyhvKTsKKworCQkJaGFzaG1hcF9mcmVlKCZhZGRfbGluZXMsIDApOworCQkJaGFzaG1hcF9mcmVlKCZkZWxfbGluZXMsIDApOworCQl9CisKKwkJZm9yIChpID0gMDsgaSA8IGVzbS5ucjsgaSsrKQorCQkJZW1pdF9kaWZmX3N5bWJvbF9mcm9tX3N0cnVjdChvLCAmZXNtLmJ1ZltpXSk7CisKKwkJZm9yIChpID0gMDsgaSA8IGVzbS5ucjsgaSsrKQorCQkJZnJlZSgodm9pZCAqKWVzbS5idWZbaV0ubGluZSk7CisJfQorCWVzbS5uciA9IDA7Cit9CisKIHZvaWQgZGlmZl9mbHVzaChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQogewogCXN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSA9ICZkaWZmX3F1ZXVlZF9kaWZmOwpAQCAtNDgwMSwxMCArNTYzOCw5IEBACiAJCSAqLwogCQlpZiAob3B0aW9ucy0+Y2xvc2VfZmlsZSkKIAkJCWZjbG9zZShvcHRpb25zLT5maWxlKTsKLQkJb3B0aW9ucy0+ZmlsZSA9IGZvcGVuKCIvZGV2L251bGwiLCAidyIpOwotCQlpZiAoIW9wdGlvbnMtPmZpbGUpCi0JCQlkaWVfZXJybm8oIkNvdWxkIG5vdCBvcGVuIC9kZXYvbnVsbCIpOworCQlvcHRpb25zLT5maWxlID0geGZvcGVuKCIvZGV2L251bGwiLCAidyIpOwogCQlvcHRpb25zLT5jbG9zZV9maWxlID0gMTsKKwkJb3B0aW9ucy0+Y29sb3JfbW92ZWQgPSAwOwogCQlmb3IgKGkgPSAwOyBpIDwgcS0+bnI7IGkrKykgewogCQkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBxLT5xdWV1ZVtpXTsKIAkJCWlmIChjaGVja19wYWlyX3N0YXR1cyhwKSkKQEAgLTQ4MTYsMjAgKzU2NTIsMTQgQEAKIAogCWlmIChvdXRwdXRfZm9ybWF0ICYgRElGRl9GT1JNQVRfUEFUQ0gpIHsKIAkJaWYgKHNlcGFyYXRvcikgewotCQkJZnByaW50ZihvcHRpb25zLT5maWxlLCAiJXMlYyIsCi0JCQkJZGlmZl9saW5lX3ByZWZpeChvcHRpb25zKSwKLQkJCQlvcHRpb25zLT5saW5lX3Rlcm1pbmF0aW9uKTsKLQkJCWlmIChvcHRpb25zLT5zdGF0X3NlcCkgeworCQkJZW1pdF9kaWZmX3N5bWJvbChvcHRpb25zLCBESUZGX1NZTUJPTF9TRVBBUkFUT1IsIE5VTEwsIDAsIDApOworCQkJaWYgKG9wdGlvbnMtPnN0YXRfc2VwKQogCQkJCS8qIGF0dGFjaCBwYXRjaCBpbnN0ZWFkIG9mIGlubGluZSAqLwotCQkJCWZwdXRzKG9wdGlvbnMtPnN0YXRfc2VwLCBvcHRpb25zLT5maWxlKTsKLQkJCX0KKwkJCQllbWl0X2RpZmZfc3ltYm9sKG9wdGlvbnMsIERJRkZfU1lNQk9MX1NUQVRfU0VQLAorCQkJCQkJIE5VTEwsIDAsIDApOwogCQl9CiAKLQkJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKLQkJCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gcS0+cXVldWVbaV07Ci0JCQlpZiAoY2hlY2tfcGFpcl9zdGF0dXMocCkpCi0JCQkJZGlmZl9mbHVzaF9wYXRjaChwLCBvcHRpb25zKTsKLQkJfQorCQlkaWZmX2ZsdXNoX3BhdGNoX2FsbF9maWxlX3BhaXJzKG9wdGlvbnMpOwogCX0KIAogCWlmIChvdXRwdXRfZm9ybWF0ICYgRElGRl9GT1JNQVRfQ0FMTEJBQ0spCkBAIC01MDc1LDggKzU5MDUsOCBAQAogCiB2b2lkIGRpZmZfYWRkcmVtb3ZlKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCiAJCSAgICBpbnQgYWRkcmVtb3ZlLCB1bnNpZ25lZCBtb2RlLAotCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJICAgIGludCBzaGExX3ZhbGlkLAorCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkgICAgaW50IG9pZF92YWxpZCwKIAkJICAgIGNvbnN0IGNoYXIgKmNvbmNhdHBhdGgsIHVuc2lnbmVkIGRpcnR5X3N1Ym1vZHVsZSkKIHsKIAlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lLCAqdHdvOwpAQCAtNTEwOCw5ICs1OTM4LDkgQEAKIAl0d28gPSBhbGxvY19maWxlc3BlYyhjb25jYXRwYXRoKTsKIAogCWlmIChhZGRyZW1vdmUgIT0gJysnKQotCQlmaWxsX2ZpbGVzcGVjKG9uZSwgc2hhMSwgc2hhMV92YWxpZCwgbW9kZSk7CisJCWZpbGxfZmlsZXNwZWMob25lLCBvaWQsIG9pZF92YWxpZCwgbW9kZSk7CiAJaWYgKGFkZHJlbW92ZSAhPSAnLScpIHsKLQkJZmlsbF9maWxlc3BlYyh0d28sIHNoYTEsIHNoYTFfdmFsaWQsIG1vZGUpOworCQlmaWxsX2ZpbGVzcGVjKHR3bywgb2lkLCBvaWRfdmFsaWQsIG1vZGUpOwogCQl0d28tPmRpcnR5X3N1Ym1vZHVsZSA9IGRpcnR5X3N1Ym1vZHVsZTsKIAl9CiAKQEAgLTUxMjEsOSArNTk1MSw5IEBACiAKIHZvaWQgZGlmZl9jaGFuZ2Uoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywKIAkJIHVuc2lnbmVkIG9sZF9tb2RlLCB1bnNpZ25lZCBuZXdfbW9kZSwKLQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAotCQkgY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsCi0JCSBpbnQgb2xkX3NoYTFfdmFsaWQsIGludCBuZXdfc2hhMV92YWxpZCwKKwkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9sZF9vaWQsCisJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpuZXdfb2lkLAorCQkgaW50IG9sZF9vaWRfdmFsaWQsIGludCBuZXdfb2lkX3ZhbGlkLAogCQkgY29uc3QgY2hhciAqY29uY2F0cGF0aCwKIAkJIHVuc2lnbmVkIG9sZF9kaXJ0eV9zdWJtb2R1bGUsIHVuc2lnbmVkIG5ld19kaXJ0eV9zdWJtb2R1bGUpCiB7CkBAIC01MTM2LDggKzU5NjYsOCBAQAogCiAJaWYgKERJRkZfT1BUX1RTVChvcHRpb25zLCBSRVZFUlNFX0RJRkYpKSB7CiAJCVNXQVAob2xkX21vZGUsIG5ld19tb2RlKTsKLQkJU1dBUChvbGRfc2hhMSwgbmV3X3NoYTEpOwotCQlTV0FQKG9sZF9zaGExX3ZhbGlkLCBuZXdfc2hhMV92YWxpZCk7CisJCVNXQVAob2xkX29pZCwgbmV3X29pZCk7CisJCVNXQVAob2xkX29pZF92YWxpZCwgbmV3X29pZF92YWxpZCk7CiAJCVNXQVAob2xkX2RpcnR5X3N1Ym1vZHVsZSwgbmV3X2RpcnR5X3N1Ym1vZHVsZSk7CiAJfQogCkBAIC01MTQ3LDggKzU5NzcsOCBAQAogCiAJb25lID0gYWxsb2NfZmlsZXNwZWMoY29uY2F0cGF0aCk7CiAJdHdvID0gYWxsb2NfZmlsZXNwZWMoY29uY2F0cGF0aCk7Ci0JZmlsbF9maWxlc3BlYyhvbmUsIG9sZF9zaGExLCBvbGRfc2hhMV92YWxpZCwgb2xkX21vZGUpOwotCWZpbGxfZmlsZXNwZWModHdvLCBuZXdfc2hhMSwgbmV3X3NoYTFfdmFsaWQsIG5ld19tb2RlKTsKKwlmaWxsX2ZpbGVzcGVjKG9uZSwgb2xkX29pZCwgb2xkX29pZF92YWxpZCwgb2xkX21vZGUpOworCWZpbGxfZmlsZXNwZWModHdvLCBuZXdfb2lkLCBuZXdfb2lkX3ZhbGlkLCBuZXdfbW9kZSk7CiAJb25lLT5kaXJ0eV9zdWJtb2R1bGUgPSBvbGRfZGlydHlfc3VibW9kdWxlOwogCXR3by0+ZGlydHlfc3VibW9kdWxlID0gbmV3X2RpcnR5X3N1Ym1vZHVsZTsKIAlwID0gZGlmZl9xdWV1ZSgmZGlmZl9xdWV1ZWRfZGlmZiwgb25lLCB0d28pOwpAQCAtNTIzOCw3ICs2MDY4LDcgQEAKIAogCWlmIChkcml2ZXItPnRleHRjb252X2NhY2hlICYmIGRmLT5vaWRfdmFsaWQpIHsKIAkJKm91dGJ1ZiA9IG5vdGVzX2NhY2hlX2dldChkcml2ZXItPnRleHRjb252X2NhY2hlLAotCQkJCQkgIGRmLT5vaWQuaGFzaCwKKwkJCQkJICAmZGYtPm9pZCwKIAkJCQkJICAmc2l6ZSk7CiAJCWlmICgqb3V0YnVmKQogCQkJcmV0dXJuIHNpemU7CkBAIC01MjUwLDcgKzYwODAsNyBAQAogCiAJaWYgKGRyaXZlci0+dGV4dGNvbnZfY2FjaGUgJiYgZGYtPm9pZF92YWxpZCkgewogCQkvKiBpZ25vcmUgZXJyb3JzLCBhcyB3ZSBtaWdodCBiZSBpbiBhIHJlYWRvbmx5IHJlcG9zaXRvcnkgKi8KLQkJbm90ZXNfY2FjaGVfcHV0KGRyaXZlci0+dGV4dGNvbnZfY2FjaGUsIGRmLT5vaWQuaGFzaCwgKm91dGJ1ZiwKKwkJbm90ZXNfY2FjaGVfcHV0KGRyaXZlci0+dGV4dGNvbnZfY2FjaGUsICZkZi0+b2lkLCAqb3V0YnVmLAogCQkJCXNpemUpOwogCQkvKgogCQkgKiB3ZSBjb3VsZCBzYXZlIHVwIGNoYW5nZXMgYW5kIGZsdXNoIHRoZW0gYWxsIGF0IHRoZSBlbmQsCkBAIC01MjY0LDYgKzYwOTQsMjkgQEAKIAlyZXR1cm4gc2l6ZTsKIH0KIAoraW50IHRleHRjb252X29iamVjdChjb25zdCBjaGFyICpwYXRoLAorCQkgICAgdW5zaWduZWQgbW9kZSwKKwkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJICAgIGludCBvaWRfdmFsaWQsCisJCSAgICBjaGFyICoqYnVmLAorCQkgICAgdW5zaWduZWQgbG9uZyAqYnVmX3NpemUpCit7CisJc3RydWN0IGRpZmZfZmlsZXNwZWMgKmRmOworCXN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKnRleHRjb252OworCisJZGYgPSBhbGxvY19maWxlc3BlYyhwYXRoKTsKKwlmaWxsX2ZpbGVzcGVjKGRmLCBvaWQsIG9pZF92YWxpZCwgbW9kZSk7CisJdGV4dGNvbnYgPSBnZXRfdGV4dGNvbnYoZGYpOworCWlmICghdGV4dGNvbnYpIHsKKwkJZnJlZV9maWxlc3BlYyhkZik7CisJCXJldHVybiAwOworCX0KKworCSpidWZfc2l6ZSA9IGZpbGxfdGV4dGNvbnYodGV4dGNvbnYsIGRmLCBidWYpOworCWZyZWVfZmlsZXNwZWMoZGYpOworCXJldHVybiAxOworfQorCiB2b2lkIHNldHVwX2RpZmZfcGFnZXIoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQogewogCS8qCmRpZmYgLS1naXQgYS9kaWZmLmggYi9kaWZmLmgKaW5kZXggZTljY2IzOC4uYWNhMTUwYiAxMDA2NDQKLS0tIGEvZGlmZi5oCisrKyBiL2RpZmYuaApAQCAtMTQsNyArMTQsNyBAQAogc3RydWN0IHN0cmJ1ZjsKIHN0cnVjdCBkaWZmX2ZpbGVzcGVjOwogc3RydWN0IHVzZXJkaWZmX2RyaXZlcjsKLXN0cnVjdCBzaGExX2FycmF5Oworc3RydWN0IG9pZF9hcnJheTsKIHN0cnVjdCBjb21taXQ7CiBzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGg7CiAKQEAgLTIzLDE2ICsyMywxNiBAQAogCiB0eXBlZGVmIHZvaWQgKCpjaGFuZ2VfZm5fdCkoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywKIAkJIHVuc2lnbmVkIG9sZF9tb2RlLCB1bnNpZ25lZCBuZXdfbW9kZSwKLQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAotCQkgY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsCi0JCSBpbnQgb2xkX3NoYTFfdmFsaWQsIGludCBuZXdfc2hhMV92YWxpZCwKKwkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9sZF9vaWQsCisJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpuZXdfb2lkLAorCQkgaW50IG9sZF9vaWRfdmFsaWQsIGludCBuZXdfb2lkX3ZhbGlkLAogCQkgY29uc3QgY2hhciAqZnVsbHBhdGgsCiAJCSB1bnNpZ25lZCBvbGRfZGlydHlfc3VibW9kdWxlLCB1bnNpZ25lZCBuZXdfZGlydHlfc3VibW9kdWxlKTsKIAogdHlwZWRlZiB2b2lkICgqYWRkX3JlbW92ZV9mbl90KShzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAogCQkgICAgaW50IGFkZHJlbW92ZSwgdW5zaWduZWQgbW9kZSwKLQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCSAgICBpbnQgc2hhMV92YWxpZCwKKwkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJICAgIGludCBvaWRfdmFsaWQsCiAJCSAgICBjb25zdCBjaGFyICpmdWxscGF0aCwgdW5zaWduZWQgZGlydHlfc3VibW9kdWxlKTsKIAogdHlwZWRlZiB2b2lkICgqZGlmZl9mb3JtYXRfZm5fdCkoc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxLApAQCAtMTQ4LDkgKzE0OCw5IEBACiAJaW50IGFiYnJldjsKIAlpbnQgaXRhX2ludmlzaWJsZV9pbl9pbmRleDsKIC8qIHdoaXRlLXNwYWNlIGVycm9yIGhpZ2hsaWdodGluZyAqLwotI2RlZmluZSBXU0VIX05FVyAxCi0jZGVmaW5lIFdTRUhfQ09OVEVYVCAyCi0jZGVmaW5lIFdTRUhfT0xEIDQKKyNkZWZpbmUgV1NFSF9ORVcgKDE8PDEyKQorI2RlZmluZSBXU0VIX0NPTlRFWFQgKDE8PDEzKQorI2RlZmluZSBXU0VIX09MRCAoMTw8MTQpCiAJdW5zaWduZWQgd3NfZXJyb3JfaGlnaGxpZ2h0OwogCWNvbnN0IGNoYXIgKnByZWZpeDsKIAlpbnQgcHJlZml4X2xlbmd0aDsKQEAgLTE4Niw4ICsxODYsMjcgQEAKIAl2b2lkICpvdXRwdXRfcHJlZml4X2RhdGE7CiAKIAlpbnQgZGlmZl9wYXRoX2NvdW50ZXI7CisKKwlzdHJ1Y3QgZW1pdHRlZF9kaWZmX3N5bWJvbHMgKmVtaXR0ZWRfc3ltYm9sczsKKwllbnVtIHsKKwkJQ09MT1JfTU9WRURfTk8gPSAwLAorCQlDT0xPUl9NT1ZFRF9QTEFJTiA9IDEsCisJCUNPTE9SX01PVkVEX1pFQlJBID0gMiwKKwkJQ09MT1JfTU9WRURfWkVCUkFfRElNID0gMywKKwl9IGNvbG9yX21vdmVkOworCSNkZWZpbmUgQ09MT1JfTU9WRURfREVGQVVMVCBDT0xPUl9NT1ZFRF9aRUJSQQorCSNkZWZpbmUgQ09MT1JfTU9WRURfTUlOX0FMTlVNX0NPVU5UIDIwCiB9OwogCit2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfZGVsKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKmxpbmUpOwordm9pZCBkaWZmX2VtaXRfc3VibW9kdWxlX2FkZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICpsaW5lKTsKK3ZvaWQgZGlmZl9lbWl0X3N1Ym1vZHVsZV91bnRyYWNrZWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgY29uc3QgY2hhciAqcGF0aCk7Cit2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfbW9kaWZpZWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgY29uc3QgY2hhciAqcGF0aCk7Cit2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfaGVhZGVyKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKmhlYWRlcik7Cit2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfZXJyb3Ioc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgY29uc3QgY2hhciAqZXJyKTsKK3ZvaWQgZGlmZl9lbWl0X3N1Ym1vZHVsZV9waXBldGhyb3VnaChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLAorCQkJCSAgICAgY29uc3QgY2hhciAqbGluZSwgaW50IGxlbik7CisKIGVudW0gY29sb3JfZGlmZiB7CiAJRElGRl9SRVNFVCA9IDAsCiAJRElGRl9DT05URVhUID0gMSwKQEAgLTE5Nyw3ICsyMTYsMTUgQEAKIAlESUZGX0ZJTEVfTkVXID0gNSwKIAlESUZGX0NPTU1JVCA9IDYsCiAJRElGRl9XSElURVNQQUNFID0gNywKLQlESUZGX0ZVTkNJTkZPID0gOAorCURJRkZfRlVOQ0lORk8gPSA4LAorCURJRkZfRklMRV9PTERfTU9WRUQgPSA5LAorCURJRkZfRklMRV9PTERfTU9WRURfQUxUID0gMTAsCisJRElGRl9GSUxFX09MRF9NT1ZFRF9ESU0gPSAxMSwKKwlESUZGX0ZJTEVfT0xEX01PVkVEX0FMVF9ESU0gPSAxMiwKKwlESUZGX0ZJTEVfTkVXX01PVkVEID0gMTMsCisJRElGRl9GSUxFX05FV19NT1ZFRF9BTFQgPSAxNCwKKwlESUZGX0ZJTEVfTkVXX01PVkVEX0RJTSA9IDE1LAorCURJRkZfRklMRV9ORVdfTU9WRURfQUxUX0RJTSA9IDE2CiB9OwogY29uc3QgY2hhciAqZGlmZl9nZXRfY29sb3IoaW50IGRpZmZfdXNlX2NvbG9yLCBlbnVtIGNvbG9yX2RpZmYgaXgpOwogI2RlZmluZSBkaWZmX2dldF9jb2xvcl9vcHQobywgaXgpIFwKQEAgLTIxMCwxMyArMjM3LDE0IEBACiBleHRlcm4gY29uc3QgY2hhciBtaW1lX2JvdW5kYXJ5X2xlYWRlcltdOwogCiBleHRlcm4gc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpkaWZmX3RyZWVfcGF0aHMoCi0Jc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpwLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKipwYXJlbnRfc2hhMSwgaW50IG5wYXJlbnQsCisJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpwLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKnBhcmVudHNfb2lkLCBpbnQgbnBhcmVudCwKIAlzdHJ1Y3Qgc3RyYnVmICpiYXNlLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpOwotZXh0ZXJuIGludCBkaWZmX3RyZWVfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpvbGQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ldywKLQkJCSAgY29uc3QgY2hhciAqYmFzZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KTsKLWV4dGVybiBpbnQgZGlmZl9yb290X3RyZWVfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpuZXcsIGNvbnN0IGNoYXIgKmJhc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KTsKK2V4dGVybiBpbnQgZGlmZl90cmVlX29pZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkLAorCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5ld19vaWQsCisJCQkgY29uc3QgY2hhciAqYmFzZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KTsKK2V4dGVybiBpbnQgZGlmZl9yb290X3RyZWVfb2lkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5ld19vaWQsIGNvbnN0IGNoYXIgKmJhc2UsCisJCQkgICAgICBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpOwogCiBzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggewogCXN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqbmV4dDsKQEAgLTIzNiw3ICsyNjQsNyBAQAogZXh0ZXJuIHZvaWQgc2hvd19jb21iaW5lZF9kaWZmKHN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqZWxlbSwgaW50IG51bV9wYXJlbnQsCiAJCQkgICAgICBpbnQgZGVuc2UsIHN0cnVjdCByZXZfaW5mbyAqKTsKIAotZXh0ZXJuIHZvaWQgZGlmZl90cmVlX2NvbWJpbmVkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpwYXJlbnRzLCBpbnQgZGVuc2UsIHN0cnVjdCByZXZfaW5mbyAqcmV2KTsKK2V4dGVybiB2b2lkIGRpZmZfdHJlZV9jb21iaW5lZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IHN0cnVjdCBvaWRfYXJyYXkgKnBhcmVudHMsIGludCBkZW5zZSwgc3RydWN0IHJldl9pbmZvICpyZXYpOwogCiBleHRlcm4gdm9pZCBkaWZmX3RyZWVfY29tYmluZWRfbWVyZ2UoY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0LCBpbnQgZGVuc2UsIHN0cnVjdCByZXZfaW5mbyAqcmV2KTsKIApAQCAtMjQ3LDE2ICsyNzUsMTUgQEAKIGV4dGVybiB2b2lkIGRpZmZfYWRkcmVtb3ZlKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwKIAkJCSAgIGludCBhZGRyZW1vdmUsCiAJCQkgICB1bnNpZ25lZCBtb2RlLAotCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJCSAgIGludCBzaGExX3ZhbGlkLAorCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICAgaW50IG9pZF92YWxpZCwKIAkJCSAgIGNvbnN0IGNoYXIgKmZ1bGxwYXRoLCB1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUpOwogCiBleHRlcm4gdm9pZCBkaWZmX2NoYW5nZShzdHJ1Y3QgZGlmZl9vcHRpb25zICosCiAJCQl1bnNpZ25lZCBtb2RlMSwgdW5zaWduZWQgbW9kZTIsCi0JCQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMiwKLQkJCWludCBzaGExX3ZhbGlkLAotCQkJaW50IHNoYTJfdmFsaWQsCisJCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkLAorCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbmV3X29pZCwKKwkJCWludCBvbGRfb2lkX3ZhbGlkLCBpbnQgbmV3X29pZF92YWxpZCwKIAkJCWNvbnN0IGNoYXIgKmZ1bGxwYXRoLAogCQkJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlMSwgdW5zaWduZWQgZGlydHlfc3VibW9kdWxlMik7CiAKQEAgLTM1NCw4ICszODEsOCBAQAogZXh0ZXJuIGludCBydW5fZGlmZl9maWxlcyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIHVuc2lnbmVkIGludCBvcHRpb24pOwogZXh0ZXJuIGludCBydW5fZGlmZl9pbmRleChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGludCBjYWNoZWQpOwogCi1leHRlcm4gaW50IGRvX2RpZmZfY2FjaGUoY29uc3QgdW5zaWduZWQgY2hhciAqLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICopOwotZXh0ZXJuIGludCBkaWZmX2ZsdXNoX3BhdGNoX2lkKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgdW5zaWduZWQgY2hhciAqLCBpbnQpOworZXh0ZXJuIGludCBkb19kaWZmX2NhY2hlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKK2V4dGVybiBpbnQgZGlmZl9mbHVzaF9wYXRjaF9pZChzdHJ1Y3QgZGlmZl9vcHRpb25zICosIHN0cnVjdCBvYmplY3RfaWQgKiwgaW50KTsKIAogZXh0ZXJuIGludCBkaWZmX3Jlc3VsdF9jb2RlKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgaW50KTsKIApAQCAtMzg1LDEyICs0MTIsMTkgQEAKICAqLwogZXh0ZXJuIHN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmdldF90ZXh0Y29udihzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lKTsKIAorLyoKKyAqIFByZXBhcmUgZGlmZl9maWxlc3BlYyBhbmQgY29udmVydCBpdCB1c2luZyBkaWZmIHRleHRjb252IEFQSQorICogaWYgdGhlIHRleHRjb252IGRyaXZlciBleGlzdHMuCisgKiBSZXR1cm4gMSBpZiB0aGUgY29udmVyc2lvbiBzdWNjZWVkcywgMCBvdGhlcndpc2UuCisgKi8KK2V4dGVybiBpbnQgdGV4dGNvbnZfb2JqZWN0KGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIG1vZGUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IG9pZF92YWxpZCwgY2hhciAqKmJ1ZiwgdW5zaWduZWQgbG9uZyAqYnVmX3NpemUpOworCiBleHRlcm4gaW50IHBhcnNlX3JlbmFtZV9zY29yZShjb25zdCBjaGFyICoqY3BfcCk7CiAKIGV4dGVybiBsb25nIHBhcnNlX2FsZ29yaXRobV92YWx1ZShjb25zdCBjaGFyICp2YWx1ZSk7CiAKLWV4dGVybiBpbnQgcHJpbnRfc3RhdF9zdW1tYXJ5KEZJTEUgKmZwLCBpbnQgZmlsZXMsCi0JCQkgICAgICBpbnQgaW5zZXJ0aW9ucywgaW50IGRlbGV0aW9ucyk7CitleHRlcm4gdm9pZCBwcmludF9zdGF0X3N1bW1hcnkoRklMRSAqZnAsIGludCBmaWxlcywKKwkJCSAgICAgICBpbnQgaW5zZXJ0aW9ucywgaW50IGRlbGV0aW9ucyk7CiBleHRlcm4gdm9pZCBzZXR1cF9kaWZmX3BhZ2VyKHN0cnVjdCBkaWZmX29wdGlvbnMgKik7CiAKICNlbmRpZiAvKiBESUZGX0ggKi8KZGlmZiAtLWdpdCBhL2RpZmZjb3JlLW9yZGVyLmMgYi9kaWZmY29yZS1vcmRlci5jCmluZGV4IDE5NTdmODIuLjE5ZTczMzEgMTAwNjQ0Ci0tLSBhL2RpZmZjb3JlLW9yZGVyLmMKKysrIGIvZGlmZmNvcmUtb3JkZXIuYwpAQCAtNjcsNyArNjcsNyBAQAogCQlzdHJidWZfYWRkc3RyKCZwLCBwYXRoKTsKIAkJd2hpbGUgKHAuYnVmWzBdKSB7CiAJCQljaGFyICpjcDsKLQkJCWlmICghd2lsZG1hdGNoKG9yZGVyW2ldLCBwLmJ1ZiwgMCwgTlVMTCkpCisJCQlpZiAoIXdpbGRtYXRjaChvcmRlcltpXSwgcC5idWYsIDApKQogCQkJCXJldHVybiBpOwogCQkJY3AgPSBzdHJyY2hyKHAuYnVmLCAnLycpOwogCQkJaWYgKCFjcCkKZGlmZiAtLWdpdCBhL2RpZmZjb3JlLXJlbmFtZS5jIGIvZGlmZmNvcmUtcmVuYW1lLmMKaW5kZXggZjc0NDRjOC4uMGQ4YzNkMiAxMDA2NDQKLS0tIGEvZGlmZmNvcmUtcmVuYW1lLmMKKysrIGIvZGlmZmNvcmUtcmVuYW1lLmMKQEAgLTYwLDcgKzYwLDcgQEAKIAkJbWVtbW92ZShyZW5hbWVfZHN0ICsgZmlyc3QgKyAxLCByZW5hbWVfZHN0ICsgZmlyc3QsCiAJCQkocmVuYW1lX2RzdF9uciAtIGZpcnN0IC0gMSkgKiBzaXplb2YoKnJlbmFtZV9kc3QpKTsKIAlyZW5hbWVfZHN0W2ZpcnN0XS50d28gPSBhbGxvY19maWxlc3BlYyh0d28tPnBhdGgpOwotCWZpbGxfZmlsZXNwZWMocmVuYW1lX2RzdFtmaXJzdF0udHdvLCB0d28tPm9pZC5oYXNoLCB0d28tPm9pZF92YWxpZCwKKwlmaWxsX2ZpbGVzcGVjKHJlbmFtZV9kc3RbZmlyc3RdLnR3bywgJnR3by0+b2lkLCB0d28tPm9pZF92YWxpZCwKIAkJICAgICAgdHdvLT5tb2RlKTsKIAlyZW5hbWVfZHN0W2ZpcnN0XS5wYWlyID0gTlVMTDsKIAlyZXR1cm4gMDsKQEAgLTM0MSw3ICszNDEsNyBAQAogCS8qIEFkZCBhbGwgc291cmNlcyB0byB0aGUgaGFzaCB0YWJsZSBpbiByZXZlcnNlIG9yZGVyLCBiZWNhdXNlCiAJICogbGF0ZXIgb24gdGhleSB3aWxsIGJlIHJldHJpZXZlZCBpbiBMSUZPIG9yZGVyLgogCSAqLwotCWhhc2htYXBfaW5pdCgmZmlsZV90YWJsZSwgTlVMTCwgcmVuYW1lX3NyY19ucik7CisJaGFzaG1hcF9pbml0KCZmaWxlX3RhYmxlLCBOVUxMLCBOVUxMLCByZW5hbWVfc3JjX25yKTsKIAlmb3IgKGkgPSByZW5hbWVfc3JjX25yLTE7IGkgPj0gMDsgaS0tKQogCQlpbnNlcnRfZmlsZV90YWJsZSgmZmlsZV90YWJsZSwgaSwgcmVuYW1lX3NyY1tpXS5wLT5vbmUpOwogCkBAIC00NjQsNyArNDY0LDcgQEAKIAkJCQkgc3RyY21wKG9wdGlvbnMtPnNpbmdsZV9mb2xsb3csIHAtPnR3by0+cGF0aCkpCiAJCQkJY29udGludWU7IC8qIG5vdCBpbnRlcmVzdGVkICovCiAJCQllbHNlIGlmICghRElGRl9PUFRfVFNUKG9wdGlvbnMsIFJFTkFNRV9FTVBUWSkgJiYKLQkJCQkgaXNfZW1wdHlfYmxvYl9zaGExKHAtPnR3by0+b2lkLmhhc2gpKQorCQkJCSBpc19lbXB0eV9ibG9iX29pZCgmcC0+dHdvLT5vaWQpKQogCQkJCWNvbnRpbnVlOwogCQkJZWxzZSBpZiAoYWRkX3JlbmFtZV9kc3QocC0+dHdvKSA8IDApIHsKIAkJCQl3YXJuaW5nKCJza2lwcGluZyByZW5hbWUgZGV0ZWN0aW9uLCBkZXRlY3RlZCIKQEAgLTQ3NCw3ICs0NzQsNyBAQAogCQkJfQogCQl9CiAJCWVsc2UgaWYgKCFESUZGX09QVF9UU1Qob3B0aW9ucywgUkVOQU1FX0VNUFRZKSAmJgotCQkJIGlzX2VtcHR5X2Jsb2Jfc2hhMShwLT5vbmUtPm9pZC5oYXNoKSkKKwkJCSBpc19lbXB0eV9ibG9iX29pZCgmcC0+b25lLT5vaWQpKQogCQkJY29udGludWU7CiAJCWVsc2UgaWYgKCFESUZGX1BBSVJfVU5NRVJHRUQocCkgJiYgIURJRkZfRklMRV9WQUxJRChwLT50d28pKSB7CiAJCQkvKgpAQCAtNTMyLDkgKzUzMiw5IEBACiAJfQogCiAJaWYgKG9wdGlvbnMtPnNob3dfcmVuYW1lX3Byb2dyZXNzKSB7Ci0JCXByb2dyZXNzID0gc3RhcnRfcHJvZ3Jlc3NfZGVsYXkoCisJCXByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcygKIAkJCQlfKCJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIpLAotCQkJCXJlbmFtZV9kc3RfbnIgKiByZW5hbWVfc3JjX25yLCA1MCwgMSk7CisJCQkJcmVuYW1lX2RzdF9uciAqIHJlbmFtZV9zcmNfbnIpOwogCX0KIAogCW14ID0geGNhbGxvYyhzdF9tdWx0KE5VTV9DQU5ESURBVEVfUEVSX0RTVCwgbnVtX2NyZWF0ZSksIHNpemVvZigqbXgpKTsKQEAgLTY2NywxMSArNjY3LDkgQEAKIAlmb3IgKGkgPSAwOyBpIDwgcmVuYW1lX2RzdF9ucjsgaSsrKQogCQlmcmVlX2ZpbGVzcGVjKHJlbmFtZV9kc3RbaV0udHdvKTsKIAotCWZyZWUocmVuYW1lX2RzdCk7Ci0JcmVuYW1lX2RzdCA9IE5VTEw7CisJRlJFRV9BTkRfTlVMTChyZW5hbWVfZHN0KTsKIAlyZW5hbWVfZHN0X25yID0gcmVuYW1lX2RzdF9hbGxvYyA9IDA7Ci0JZnJlZShyZW5hbWVfc3JjKTsKLQlyZW5hbWVfc3JjID0gTlVMTDsKKwlGUkVFX0FORF9OVUxMKHJlbmFtZV9zcmMpOwogCXJlbmFtZV9zcmNfbnIgPSByZW5hbWVfc3JjX2FsbG9jID0gMDsKIAlyZXR1cm47CiB9CmRpZmYgLS1naXQgYS9kaWZmY29yZS5oIGIvZGlmZmNvcmUuaAppbmRleCA2MjMwMjQxLi5hMzBkYTE2IDEwMDY0NAotLS0gYS9kaWZmY29yZS5oCisrKyBiL2RpZmZjb3JlLmgKQEAgLTUyLDcgKzUyLDcgQEAKIAogZXh0ZXJuIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICphbGxvY19maWxlc3BlYyhjb25zdCBjaGFyICopOwogZXh0ZXJuIHZvaWQgZnJlZV9maWxlc3BlYyhzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqKTsKLWV4dGVybiB2b2lkIGZpbGxfZmlsZXNwZWMoc3RydWN0IGRpZmZfZmlsZXNwZWMgKiwgY29uc3QgdW5zaWduZWQgY2hhciAqLAorZXh0ZXJuIHZvaWQgZmlsbF9maWxlc3BlYyhzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosCiAJCQkgIGludCwgdW5zaWduZWQgc2hvcnQpOwogCiAjZGVmaW5lIENIRUNLX1NJWkVfT05MWSAxCmRpZmYgLS1naXQgYS9kaXIuYyBiL2Rpci5jCmluZGV4IGFlZWI1Y2UuLjFkMTdiODAgMTAwNjQ0Ci0tLSBhL2Rpci5jCisrKyBiL2Rpci5jCkBAIC03LDggKzcsMTEgQEAKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUtMjAwNgogICoJCSBKdW5pbyBIYW1hbm8sIDIwMDUtMjAwNgogICovCisjZGVmaW5lIE5PX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAiYXR0ci5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJ3aWxkbWF0Y2guaCIKICNpbmNsdWRlICJwYXRoc3BlYy5oIgpAQCAtNDQsOSArNDcsMjAgQEAKIH07CiAKIHN0YXRpYyBlbnVtIHBhdGhfdHJlYXRtZW50IHJlYWRfZGlyZWN0b3J5X3JlY3Vyc2l2ZShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLAotCWNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4sIHN0cnVjdCB1bnRyYWNrZWRfY2FjaGVfZGlyICp1bnRyYWNrZWQsCi0JaW50IGNoZWNrX29ubHksIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOwotc3RhdGljIGludCBnZXRfZHR5cGUoc3RydWN0IGRpcmVudCAqZGUsIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4pOworCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuLAorCXN0cnVjdCB1bnRyYWNrZWRfY2FjaGVfZGlyICp1bnRyYWNrZWQsCisJaW50IGNoZWNrX29ubHksIGludCBzdG9wX2F0X2ZpcnN0X2ZpbGUsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOworc3RhdGljIGludCBnZXRfZHR5cGUoc3RydWN0IGRpcmVudCAqZGUsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICAgIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4pOworCitpbnQgY291bnRfc2xhc2hlcyhjb25zdCBjaGFyICpzKQoreworCWludCBjbnQgPSAwOworCXdoaWxlICgqcykKKwkJaWYgKCpzKysgPT0gJy8nKQorCQkJY250Kys7CisJcmV0dXJuIGNudDsKK30KIAogaW50IGZzcGF0aGNtcChjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKQogewpAQCAtNzgsMTMgKzkyLDExIEBACiAJaWYgKGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfR0xPQikKIAkJcmV0dXJuIHdpbGRtYXRjaChwYXR0ZXJuLCBzdHJpbmcsCiAJCQkJIFdNX1BBVEhOQU1FIHwKLQkJCQkgKGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfSUNBU0UgPyBXTV9DQVNFRk9MRCA6IDApLAotCQkJCSBOVUxMKTsKKwkJCQkgKGl0ZW0tPm1hZ2ljICYgUEFUSFNQRUNfSUNBU0UgPyBXTV9DQVNFRk9MRCA6IDApKTsKIAllbHNlCiAJCS8qIHdpbGRtYXRjaCBoYXMgbm90IGxlYXJuZWQgbm8gRk5NX1BBVEhOQU1FIG1vZGUgeWV0ICovCiAJCXJldHVybiB3aWxkbWF0Y2gocGF0dGVybiwgc3RyaW5nLAotCQkJCSBpdGVtLT5tYWdpYyAmIFBBVEhTUEVDX0lDQVNFID8gV01fQ0FTRUZPTEQgOiAwLAotCQkJCSBOVUxMKTsKKwkJCQkgaXRlbS0+bWFnaWMgJiBQQVRIU1BFQ19JQ0FTRSA/IFdNX0NBU0VGT0xEIDogMCk7CiB9CiAKIHN0YXRpYyBpbnQgZm5tYXRjaF9pY2FzZV9tZW0oY29uc3QgY2hhciAqcGF0dGVybiwgaW50IHBhdHRlcm5sZW4sCkBAIC0xMDgsNyArMTIwLDcgQEAKIAogCWlmIChpZ25vcmVfY2FzZSkKIAkJZmxhZ3MgfD0gV01fQ0FTRUZPTEQ7Ci0JbWF0Y2hfc3RhdHVzID0gd2lsZG1hdGNoKHVzZV9wYXQsIHVzZV9zdHIsIGZsYWdzLCBOVUxMKTsKKwltYXRjaF9zdGF0dXMgPSB3aWxkbWF0Y2godXNlX3BhdCwgdXNlX3N0ciwgZmxhZ3MpOwogCiAJc3RyYnVmX3JlbGVhc2UoJnBhdF9idWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZzdHJfYnVmKTsKQEAgLTEzNCw3ICsxNDYsOCBAQAogCQkgICAgICAgUEFUSFNQRUNfTElURVJBTCB8CiAJCSAgICAgICBQQVRIU1BFQ19HTE9CIHwKIAkJICAgICAgIFBBVEhTUEVDX0lDQVNFIHwKLQkJICAgICAgIFBBVEhTUEVDX0VYQ0xVREUpOworCQkgICAgICAgUEFUSFNQRUNfRVhDTFVERSB8CisJCSAgICAgICBQQVRIU1BFQ19BVFRSKTsKIAogCWZvciAobiA9IDA7IG4gPCBwYXRoc3BlYy0+bnI7IG4rKykgewogCQlzaXplX3QgaSA9IDAsIGxlbiA9IDAsIGl0ZW1fbGVuOwpAQCAtMTcyLDcgKzE4NSw5IEBACiAJcmV0dXJuIGxlbiA/IHhtZW1kdXB6KHBhdGhzcGVjLT5pdGVtc1swXS5tYXRjaCwgbGVuKSA6IE5VTEw7CiB9CiAKLWludCBmaWxsX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQoraW50IGZpbGxfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCisJCSAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCWNvbnN0IGNoYXIgKnByZWZpeDsKIAlzaXplX3QgcHJlZml4X2xlbjsKQEAgLTE4NSw3ICsyMDAsNyBAQAogCXByZWZpeCA9IHByZWZpeF9sZW4gPyBwYXRoc3BlYy0+aXRlbXNbMF0ubWF0Y2ggOiAiIjsKIAogCS8qIFJlYWQgdGhlIGRpcmVjdG9yeSBhbmQgcHJ1bmUgaXQgKi8KLQlyZWFkX2RpcmVjdG9yeShkaXIsIHByZWZpeCwgcHJlZml4X2xlbiwgcGF0aHNwZWMpOworCXJlYWRfZGlyZWN0b3J5KGRpciwgaXN0YXRlLCBwcmVmaXgsIHByZWZpeF9sZW4sIHBhdGhzcGVjKTsKIAogCXJldHVybiBwcmVmaXhfbGVuOwogfQpAQCAtMjA5LDYgKzIyNCwzNiBAQAogI2RlZmluZSBET19NQVRDSF9ESVJFQ1RPUlkgKDE8PDEpCiAjZGVmaW5lIERPX01BVENIX1NVQk1PRFVMRSAoMTw8MikKIAorc3RhdGljIGludCBtYXRjaF9hdHRycyhjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtKQoreworCWludCBpOworCisJZ2l0X2NoZWNrX2F0dHIobmFtZSwgaXRlbS0+YXR0cl9jaGVjayk7CisJZm9yIChpID0gMDsgaSA8IGl0ZW0tPmF0dHJfbWF0Y2hfbnI7IGkrKykgeworCQljb25zdCBjaGFyICp2YWx1ZTsKKwkJaW50IG1hdGNoZWQ7CisJCWVudW0gYXR0cl9tYXRjaF9tb2RlIG1hdGNoX21vZGU7CisKKwkJdmFsdWUgPSBpdGVtLT5hdHRyX2NoZWNrLT5pdGVtc1tpXS52YWx1ZTsKKwkJbWF0Y2hfbW9kZSA9IGl0ZW0tPmF0dHJfbWF0Y2hbaV0ubWF0Y2hfbW9kZTsKKworCQlpZiAoQVRUUl9UUlVFKHZhbHVlKSkKKwkJCW1hdGNoZWQgPSAobWF0Y2hfbW9kZSA9PSBNQVRDSF9TRVQpOworCQllbHNlIGlmIChBVFRSX0ZBTFNFKHZhbHVlKSkKKwkJCW1hdGNoZWQgPSAobWF0Y2hfbW9kZSA9PSBNQVRDSF9VTlNFVCk7CisJCWVsc2UgaWYgKEFUVFJfVU5TRVQodmFsdWUpKQorCQkJbWF0Y2hlZCA9IChtYXRjaF9tb2RlID09IE1BVENIX1VOU1BFQ0lGSUVEKTsKKwkJZWxzZQorCQkJbWF0Y2hlZCA9IChtYXRjaF9tb2RlID09IE1BVENIX1ZBTFVFICYmCisJCQkJICAgIXN0cmNtcChpdGVtLT5hdHRyX21hdGNoW2ldLnZhbHVlLCB2YWx1ZSkpOworCQlpZiAoIW1hdGNoZWQpCisJCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKwogLyoKICAqIERvZXMgJ21hdGNoJyBtYXRjaCB0aGUgZ2l2ZW4gbmFtZT8KICAqIEEgbWF0Y2ggaXMgZm91bmQgaWYKQEAgLTI2MSw2ICszMDYsOSBAQAogCSAgICBzdHJuY21wKGl0ZW0tPm1hdGNoLCBuYW1lIC0gcHJlZml4LCBpdGVtLT5wcmVmaXgpKQogCQlyZXR1cm4gMDsKIAorCWlmIChpdGVtLT5hdHRyX21hdGNoX25yICYmICFtYXRjaF9hdHRycyhuYW1lLCBuYW1lbGVuLCBpdGVtKSkKKwkJcmV0dXJuIDA7CisKIAkvKiBJZiB0aGUgbWF0Y2ggd2FzIGp1c3QgdGhlIHByZWZpeCwgd2UgbWF0Y2hlZCAqLwogCWlmICghKm1hdGNoKQogCQlyZXR1cm4gTUFUQ0hFRF9SRUNVUlNJVkVMWTsKQEAgLTMzOSw3ICszODcsOCBAQAogCQkgICAgICAgUEFUSFNQRUNfTElURVJBTCB8CiAJCSAgICAgICBQQVRIU1BFQ19HTE9CIHwKIAkJICAgICAgIFBBVEhTUEVDX0lDQVNFIHwKLQkJICAgICAgIFBBVEhTUEVDX0VYQ0xVREUpOworCQkgICAgICAgUEFUSFNQRUNfRVhDTFVERSB8CisJCSAgICAgICBQQVRIU1BFQ19BVFRSKTsKIAogCWlmICghcHMtPm5yKSB7CiAJCWlmICghcHMtPnJlY3Vyc2l2ZSB8fApAQCAtNTUxLDcgKzYwMCw4IEBACiAJeC0+ZWwgPSBlbDsKIH0KIAotc3RhdGljIHZvaWQgKnJlYWRfc2tpcF93b3JrdHJlZV9maWxlX2Zyb21faW5kZXgoY29uc3QgY2hhciAqcGF0aCwgc2l6ZV90ICpzaXplLAorc3RhdGljIHZvaWQgKnJlYWRfc2tpcF93b3JrdHJlZV9maWxlX2Zyb21faW5kZXgoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkJCQljb25zdCBjaGFyICpwYXRoLCBzaXplX3QgKnNpemUsCiAJCQkJCQlzdHJ1Y3Qgc2hhMV9zdGF0ICpzaGExX3N0YXQpCiB7CiAJaW50IHBvcywgbGVuOwpAQCAtNTYwLDEyICs2MTAsMTIgQEAKIAl2b2lkICpkYXRhOwogCiAJbGVuID0gc3RybGVuKHBhdGgpOwotCXBvcyA9IGNhY2hlX25hbWVfcG9zKHBhdGgsIGxlbik7CisJcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBwYXRoLCBsZW4pOwogCWlmIChwb3MgPCAwKQogCQlyZXR1cm4gTlVMTDsKLQlpZiAoIWNlX3NraXBfd29ya3RyZWUoYWN0aXZlX2NhY2hlW3Bvc10pKQorCWlmICghY2Vfc2tpcF93b3JrdHJlZShpc3RhdGUtPmNhY2hlW3Bvc10pKQogCQlyZXR1cm4gTlVMTDsKLQlkYXRhID0gcmVhZF9zaGExX2ZpbGUoYWN0aXZlX2NhY2hlW3Bvc10tPm9pZC5oYXNoLCAmdHlwZSwgJnN6KTsKKwlkYXRhID0gcmVhZF9zaGExX2ZpbGUoaXN0YXRlLT5jYWNoZVtwb3NdLT5vaWQuaGFzaCwgJnR5cGUsICZzeik7CiAJaWYgKCFkYXRhIHx8IHR5cGUgIT0gT0JKX0JMT0IpIHsKIAkJZnJlZShkYXRhKTsKIAkJcmV0dXJuIE5VTEw7CkBAIC01NzMsNyArNjIzLDcgQEAKIAkqc2l6ZSA9IHhzaXplX3Qoc3opOwogCWlmIChzaGExX3N0YXQpIHsKIAkJbWVtc2V0KCZzaGExX3N0YXQtPnN0YXQsIDAsIHNpemVvZihzaGExX3N0YXQtPnN0YXQpKTsKLQkJaGFzaGNweShzaGExX3N0YXQtPnNoYTEsIGFjdGl2ZV9jYWNoZVtwb3NdLT5vaWQuaGFzaCk7CisJCWhhc2hjcHkoc2hhMV9zdGF0LT5zaGExLCBpc3RhdGUtPmNhY2hlW3Bvc10tPm9pZC5oYXNoKTsKIAl9CiAJcmV0dXJuIGRhdGE7CiB9CkBAIC02OTEsNyArNzQxLDcgQEAKIAogLyoKICAqIEdpdmVuIGEgZmlsZSB3aXRoIG5hbWUgImZuYW1lIiwgcmVhZCBpdCAoZWl0aGVyIGZyb20gZGlzaywgb3IgZnJvbQotICogdGhlIGluZGV4IGlmICJjaGVja19pbmRleCIgaXMgbm9uLXplcm8pLCBwYXJzZSBpdCBhbmQgc3RvcmUgdGhlCisgKiBhbiBpbmRleCBpZiAnaXN0YXRlJyBpcyBub24tbnVsbCksIHBhcnNlIGl0IGFuZCBzdG9yZSB0aGUKICAqIGV4Y2x1ZGUgcnVsZXMgaW4gImVsIi4KICAqCiAgKiBJZiAic3MiIGlzIG5vdCBOVUxMLCBjb21wdXRlIFNIQS0xIG9mIHRoZSBleGNsdWRlIGZpbGUgYW5kIGZpbGwKQEAgLTY5OSw3ICs3NDksOCBAQAogICogc3NfdmFsaWQgaXMgbm9uLXplcm8sICJzcyIgbXVzdCBjb250YWluIGdvb2QgdmFsdWUgYXMgaW5wdXQuCiAgKi8KIHN0YXRpYyBpbnQgYWRkX2V4Y2x1ZGVzKGNvbnN0IGNoYXIgKmZuYW1lLCBjb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbiwKLQkJCXN0cnVjdCBleGNsdWRlX2xpc3QgKmVsLCBpbnQgY2hlY2tfaW5kZXgsCisJCQlzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwKKwkJCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAogCQkJc3RydWN0IHNoYTFfc3RhdCAqc2hhMV9zdGF0KQogewogCXN0cnVjdCBzdGF0IHN0OwpAQCAtNzA5LDEyICs3NjAsMTIgQEAKIAogCWZkID0gb3BlbihmbmFtZSwgT19SRE9OTFkpOwogCWlmIChmZCA8IDAgfHwgZnN0YXQoZmQsICZzdCkgPCAwKSB7Ci0JCWlmIChlcnJubyAhPSBFTk9FTlQpCi0JCQl3YXJuX29uX2luYWNjZXNzaWJsZShmbmFtZSk7Ci0JCWlmICgwIDw9IGZkKQorCQlpZiAoZmQgPCAwKQorCQkJd2Fybl9vbl9mb3Blbl9lcnJvcnMoZm5hbWUpOworCQllbHNlCiAJCQljbG9zZShmZCk7Ci0JCWlmICghY2hlY2tfaW5kZXggfHwKLQkJICAgIChidWYgPSByZWFkX3NraXBfd29ya3RyZWVfZmlsZV9mcm9tX2luZGV4KGZuYW1lLCAmc2l6ZSwgc2hhMV9zdGF0KSkgPT0gTlVMTCkKKwkJaWYgKCFpc3RhdGUgfHwKKwkJICAgIChidWYgPSByZWFkX3NraXBfd29ya3RyZWVfZmlsZV9mcm9tX2luZGV4KGlzdGF0ZSwgZm5hbWUsICZzaXplLCBzaGExX3N0YXQpKSA9PSBOVUxMKQogCQkJcmV0dXJuIC0xOwogCQlpZiAoc2l6ZSA9PSAwKSB7CiAJCQlmcmVlKGJ1Zik7CkBAIC03NDYsMTUgKzc5NywxNSBAQAogCQlpZiAoc2hhMV9zdGF0KSB7CiAJCQlpbnQgcG9zOwogCQkJaWYgKHNoYTFfc3RhdC0+dmFsaWQgJiYKLQkJCSAgICAhbWF0Y2hfc3RhdF9kYXRhX3JhY3koJnRoZV9pbmRleCwgJnNoYTFfc3RhdC0+c3RhdCwgJnN0KSkKKwkJCSAgICAhbWF0Y2hfc3RhdF9kYXRhX3JhY3koaXN0YXRlLCAmc2hhMV9zdGF0LT5zdGF0LCAmc3QpKQogCQkJCTsgLyogbm8gY29udGVudCBjaGFuZ2UsIHNzLT5zaGExIHN0aWxsIGdvb2QgKi8KLQkJCWVsc2UgaWYgKGNoZWNrX2luZGV4ICYmCi0JCQkJIChwb3MgPSBjYWNoZV9uYW1lX3BvcyhmbmFtZSwgc3RybGVuKGZuYW1lKSkpID49IDAgJiYKLQkJCQkgIWNlX3N0YWdlKGFjdGl2ZV9jYWNoZVtwb3NdKSAmJgotCQkJCSBjZV91cHRvZGF0ZShhY3RpdmVfY2FjaGVbcG9zXSkgJiYKLQkJCQkgIXdvdWxkX2NvbnZlcnRfdG9fZ2l0KGZuYW1lKSkKKwkJCWVsc2UgaWYgKGlzdGF0ZSAmJgorCQkJCSAocG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBmbmFtZSwgc3RybGVuKGZuYW1lKSkpID49IDAgJiYKKwkJCQkgIWNlX3N0YWdlKGlzdGF0ZS0+Y2FjaGVbcG9zXSkgJiYKKwkJCQkgY2VfdXB0b2RhdGUoaXN0YXRlLT5jYWNoZVtwb3NdKSAmJgorCQkJCSAhd291bGRfY29udmVydF90b19naXQoaXN0YXRlLCBmbmFtZSkpCiAJCQkJaGFzaGNweShzaGExX3N0YXQtPnNoYTEsCi0JCQkJCWFjdGl2ZV9jYWNoZVtwb3NdLT5vaWQuaGFzaCk7CisJCQkJCWlzdGF0ZS0+Y2FjaGVbcG9zXS0+b2lkLmhhc2gpOwogCQkJZWxzZQogCQkJCWhhc2hfc2hhMV9maWxlKGJ1Ziwgc2l6ZSwgImJsb2IiLCBzaGExX3N0YXQtPnNoYTEpOwogCQkJZmlsbF9zdGF0X2RhdGEoJnNoYTFfc3RhdC0+c3RhdCwgJnN0KTsKQEAgLTc4NSw5ICs4MzYsOSBAQAogCiBpbnQgYWRkX2V4Y2x1ZGVzX2Zyb21fZmlsZV90b19saXN0KGNvbnN0IGNoYXIgKmZuYW1lLCBjb25zdCBjaGFyICpiYXNlLAogCQkJCSAgIGludCBiYXNlbGVuLCBzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwKLQkJCQkgICBpbnQgY2hlY2tfaW5kZXgpCisJCQkJICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7Ci0JcmV0dXJuIGFkZF9leGNsdWRlcyhmbmFtZSwgYmFzZSwgYmFzZWxlbiwgZWwsIGNoZWNrX2luZGV4LCBOVUxMKTsKKwlyZXR1cm4gYWRkX2V4Y2x1ZGVzKGZuYW1lLCBiYXNlLCBiYXNlbGVuLCBlbCwgaXN0YXRlLCBOVUxMKTsKIH0KIAogc3RydWN0IGV4Y2x1ZGVfbGlzdCAqYWRkX2V4Y2x1ZGVfbGlzdChzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLApAQCAtODE5LDcgKzg3MCw3IEBACiAJaWYgKCFkaXItPnVudHJhY2tlZCkKIAkJZGlyLT51bm1hbmFnZWRfZXhjbHVkZV9maWxlcysrOwogCWVsID0gYWRkX2V4Y2x1ZGVfbGlzdChkaXIsIEVYQ19GSUxFLCBmbmFtZSk7Ci0JaWYgKGFkZF9leGNsdWRlcyhmbmFtZSwgIiIsIDAsIGVsLCAwLCBzaGExX3N0YXQpIDwgMCkKKwlpZiAoYWRkX2V4Y2x1ZGVzKGZuYW1lLCAiIiwgMCwgZWwsIE5VTEwsIHNoYTFfc3RhdCkgPCAwKQogCQlkaWUoImNhbm5vdCB1c2UgJXMgYXMgYW4gZXhjbHVkZSBmaWxlIiwgZm5hbWUpOwogfQogCkBAIC05MjIsNyArOTczLDggQEAKIAkJCQkJCSAgICAgICBpbnQgcGF0aGxlbiwKIAkJCQkJCSAgICAgICBjb25zdCBjaGFyICpiYXNlbmFtZSwKIAkJCQkJCSAgICAgICBpbnQgKmR0eXBlLAotCQkJCQkJICAgICAgIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsKQorCQkJCQkJICAgICAgIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsLAorCQkJCQkJICAgICAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQogewogCXN0cnVjdCBleGNsdWRlICpleGMgPSBOVUxMOyAvKiB1bmRlY2lkZWQgKi8KIAlpbnQgaTsKQEAgLTkzNyw3ICs5ODksNyBAQAogCiAJCWlmICh4LT5mbGFncyAmIEVYQ19GTEFHX01VU1RCRURJUikgewogCQkJaWYgKCpkdHlwZSA9PSBEVF9VTktOT1dOKQotCQkJCSpkdHlwZSA9IGdldF9kdHlwZShOVUxMLCBwYXRobmFtZSwgcGF0aGxlbik7CisJCQkJKmR0eXBlID0gZ2V0X2R0eXBlKE5VTEwsIGlzdGF0ZSwgcGF0aG5hbWUsIHBhdGhsZW4pOwogCQkJaWYgKCpkdHlwZSAhPSBEVF9ESVIpCiAJCQkJY29udGludWU7CiAJCX0KQEAgLTk3MCwxNiArMTAyMiwxOCBAQAogICovCiBpbnQgaXNfZXhjbHVkZWRfZnJvbV9saXN0KGNvbnN0IGNoYXIgKnBhdGhuYW1lLAogCQkJICBpbnQgcGF0aGxlbiwgY29uc3QgY2hhciAqYmFzZW5hbWUsIGludCAqZHR5cGUsCi0JCQkgIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsKQorCQkJICBzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7CiAJc3RydWN0IGV4Y2x1ZGUgKmV4Y2x1ZGU7Ci0JZXhjbHVkZSA9IGxhc3RfZXhjbHVkZV9tYXRjaGluZ19mcm9tX2xpc3QocGF0aG5hbWUsIHBhdGhsZW4sIGJhc2VuYW1lLCBkdHlwZSwgZWwpOworCWV4Y2x1ZGUgPSBsYXN0X2V4Y2x1ZGVfbWF0Y2hpbmdfZnJvbV9saXN0KHBhdGhuYW1lLCBwYXRobGVuLCBiYXNlbmFtZSwKKwkJCQkJCSAgZHR5cGUsIGVsLCBpc3RhdGUpOwogCWlmIChleGNsdWRlKQogCQlyZXR1cm4gZXhjbHVkZS0+ZmxhZ3MgJiBFWENfRkxBR19ORUdBVElWRSA/IDAgOiAxOwogCXJldHVybiAtMTsgLyogdW5kZWNpZGVkICovCiB9CiAKIHN0YXRpYyBzdHJ1Y3QgZXhjbHVkZSAqbGFzdF9leGNsdWRlX21hdGNoaW5nX2Zyb21fbGlzdHMoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJCQkJCQlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCBwYXRobGVuLCBjb25zdCBjaGFyICpiYXNlbmFtZSwKIAkJaW50ICpkdHlwZV9wKQogewpAQCAtOTkxLDcgKzEwNDUsNyBAQAogCQlmb3IgKGogPSBncm91cC0+bnIgLSAxOyBqID49IDA7IGotLSkgewogCQkJZXhjbHVkZSA9IGxhc3RfZXhjbHVkZV9tYXRjaGluZ19mcm9tX2xpc3QoCiAJCQkJcGF0aG5hbWUsIHBhdGhsZW4sIGJhc2VuYW1lLCBkdHlwZV9wLAotCQkJCSZncm91cC0+ZWxbal0pOworCQkJCSZncm91cC0+ZWxbal0sIGlzdGF0ZSk7CiAJCQlpZiAoZXhjbHVkZSkKIAkJCQlyZXR1cm4gZXhjbHVkZTsKIAkJfQpAQCAtMTAwMyw3ICsxMDU3LDkgQEAKICAqIExvYWRzIHRoZSBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgbGlzdCBmb3IgdGhlIHN1YnN0cmluZyBvZiBiYXNlCiAgKiB3aGljaCBoYXMgYSBjaGFyIGxlbmd0aCBvZiBiYXNlbGVuLgogICovCi1zdGF0aWMgdm9pZCBwcmVwX2V4Y2x1ZGUoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4pCitzdGF0aWMgdm9pZCBwcmVwX2V4Y2x1ZGUoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJCSBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSBjb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbikKIHsKIAlzdHJ1Y3QgZXhjbHVkZV9saXN0X2dyb3VwICpncm91cDsKIAlzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbDsKQEAgLTEwODIsNiArMTEzOCw3IEBACiAJCQlpbnQgZHQgPSBEVF9ESVI7CiAJCQlkaXItPmJhc2VidWYuYnVmW3N0ay0+YmFzZWxlbiAtIDFdID0gMDsKIAkJCWRpci0+ZXhjbHVkZSA9IGxhc3RfZXhjbHVkZV9tYXRjaGluZ19mcm9tX2xpc3RzKGRpciwKKwkJCQkJCQkJCWlzdGF0ZSwKIAkJCQlkaXItPmJhc2VidWYuYnVmLCBzdGstPmJhc2VsZW4gLSAxLAogCQkJCWRpci0+YmFzZWJ1Zi5idWYgKyBjdXJyZW50LCAmZHQpOwogCQkJZGlyLT5iYXNlYnVmLmJ1ZltzdGstPmJhc2VsZW4gLSAxXSA9ICcvJzsKQEAgLTExMjMsNyArMTE4MCw3IEBACiAJCQlzdHJidWZfYWRkYnVmKCZzYiwgJmRpci0+YmFzZWJ1Zik7CiAJCQlzdHJidWZfYWRkc3RyKCZzYiwgZGlyLT5leGNsdWRlX3Blcl9kaXIpOwogCQkJZWwtPnNyYyA9IHN0cmJ1Zl9kZXRhY2goJnNiLCBOVUxMKTsKLQkJCWFkZF9leGNsdWRlcyhlbC0+c3JjLCBlbC0+c3JjLCBzdGstPmJhc2VsZW4sIGVsLCAxLAorCQkJYWRkX2V4Y2x1ZGVzKGVsLT5zcmMsIGVsLT5zcmMsIHN0ay0+YmFzZWxlbiwgZWwsIGlzdGF0ZSwKIAkJCQkgICAgIHVudHJhY2tlZCA/ICZzaGExX3N0YXQgOiBOVUxMKTsKIAkJfQogCQkvKgpAQCAtMTE1OCwxOSArMTIxNSwyMCBAQAogICogdW5kZWNpZGVkLgogICovCiBzdHJ1Y3QgZXhjbHVkZSAqbGFzdF9leGNsdWRlX21hdGNoaW5nKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCi0JCQkJCSAgICAgY29uc3QgY2hhciAqcGF0aG5hbWUsCi0JCQkJCSAgICAgaW50ICpkdHlwZV9wKQorCQkJCSAgICAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKnBhdGhuYW1lLAorCQkJCSAgICAgIGludCAqZHR5cGVfcCkKIHsKIAlpbnQgcGF0aGxlbiA9IHN0cmxlbihwYXRobmFtZSk7CiAJY29uc3QgY2hhciAqYmFzZW5hbWUgPSBzdHJyY2hyKHBhdGhuYW1lLCAnLycpOwogCWJhc2VuYW1lID0gKGJhc2VuYW1lKSA/IGJhc2VuYW1lKzEgOiBwYXRobmFtZTsKIAotCXByZXBfZXhjbHVkZShkaXIsIHBhdGhuYW1lLCBiYXNlbmFtZS1wYXRobmFtZSk7CisJcHJlcF9leGNsdWRlKGRpciwgaXN0YXRlLCBwYXRobmFtZSwgYmFzZW5hbWUtcGF0aG5hbWUpOwogCiAJaWYgKGRpci0+ZXhjbHVkZSkKIAkJcmV0dXJuIGRpci0+ZXhjbHVkZTsKIAotCXJldHVybiBsYXN0X2V4Y2x1ZGVfbWF0Y2hpbmdfZnJvbV9saXN0cyhkaXIsIHBhdGhuYW1lLCBwYXRobGVuLAorCXJldHVybiBsYXN0X2V4Y2x1ZGVfbWF0Y2hpbmdfZnJvbV9saXN0cyhkaXIsIGlzdGF0ZSwgcGF0aG5hbWUsIHBhdGhsZW4sCiAJCQliYXNlbmFtZSwgZHR5cGVfcCk7CiB9CiAKQEAgLTExNzksMTAgKzEyMzcsMTEgQEAKICAqIHNjYW5zIGFsbCBleGNsdWRlIGxpc3RzIHRvIGRldGVybWluZSB3aGV0aGVyIHBhdGhuYW1lIGlzIGV4Y2x1ZGVkLgogICogUmV0dXJucyAxIGlmIHRydWUsIG90aGVyd2lzZSAwLgogICovCi1pbnQgaXNfZXhjbHVkZWQoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCAqZHR5cGVfcCkKK2ludCBpc19leGNsdWRlZChzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCAqZHR5cGVfcCkKIHsKIAlzdHJ1Y3QgZXhjbHVkZSAqZXhjbHVkZSA9Ci0JCWxhc3RfZXhjbHVkZV9tYXRjaGluZyhkaXIsIHBhdGhuYW1lLCBkdHlwZV9wKTsKKwkJbGFzdF9leGNsdWRlX21hdGNoaW5nKGRpciwgaXN0YXRlLCBwYXRobmFtZSwgZHR5cGVfcCk7CiAJaWYgKGV4Y2x1ZGUpCiAJCXJldHVybiBleGNsdWRlLT5mbGFncyAmIEVYQ19GTEFHX05FR0FUSVZFID8gMCA6IDE7CiAJcmV0dXJuIDA7CkBAIC0xMTk3LDE4ICsxMjU2LDIyIEBACiAJcmV0dXJuIGVudDsKIH0KIAotc3RhdGljIHN0cnVjdCBkaXJfZW50cnkgKmRpcl9hZGRfbmFtZShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBjaGFyICpwYXRobmFtZSwgaW50IGxlbikKK3N0YXRpYyBzdHJ1Y3QgZGlyX2VudHJ5ICpkaXJfYWRkX25hbWUoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJCQkgICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCQkgICAgICBjb25zdCBjaGFyICpwYXRobmFtZSwgaW50IGxlbikKIHsKLQlpZiAoY2FjaGVfZmlsZV9leGlzdHMocGF0aG5hbWUsIGxlbiwgaWdub3JlX2Nhc2UpKQorCWlmIChpbmRleF9maWxlX2V4aXN0cyhpc3RhdGUsIHBhdGhuYW1lLCBsZW4sIGlnbm9yZV9jYXNlKSkKIAkJcmV0dXJuIE5VTEw7CiAKIAlBTExPQ19HUk9XKGRpci0+ZW50cmllcywgZGlyLT5ucisxLCBkaXItPmFsbG9jKTsKIAlyZXR1cm4gZGlyLT5lbnRyaWVzW2Rpci0+bnIrK10gPSBkaXJfZW50cnlfbmV3KHBhdGhuYW1lLCBsZW4pOwogfQogCi1zdHJ1Y3QgZGlyX2VudHJ5ICpkaXJfYWRkX2lnbm9yZWQoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCBsZW4pCitzdHJ1Y3QgZGlyX2VudHJ5ICpkaXJfYWRkX2lnbm9yZWQoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJCQkgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJCSAgY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCBsZW4pCiB7Ci0JaWYgKCFjYWNoZV9uYW1lX2lzX290aGVyKHBhdGhuYW1lLCBsZW4pKQorCWlmICghaW5kZXhfbmFtZV9pc19vdGhlcihpc3RhdGUsIHBhdGhuYW1lLCBsZW4pKQogCQlyZXR1cm4gTlVMTDsKIAogCUFMTE9DX0dST1coZGlyLT5pZ25vcmVkLCBkaXItPmlnbm9yZWRfbnIrMSwgZGlyLT5pZ25vcmVkX2FsbG9jKTsKQEAgLTEyMjYsMTQgKzEyODksMTUgQEAKICAqIHRoZSBkaXJlY3RvcnkgbmFtZTsgaW5zdGVhZCwgdXNlIHRoZSBjYXNlIGluc2Vuc2l0aXZlCiAgKiBkaXJlY3RvcnkgaGFzaC4KICAqLwotc3RhdGljIGVudW0gZXhpc3Rfc3RhdHVzIGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXhfaWNhc2UoY29uc3QgY2hhciAqZGlybmFtZSwgaW50IGxlbikKK3N0YXRpYyBlbnVtIGV4aXN0X3N0YXR1cyBkaXJlY3RvcnlfZXhpc3RzX2luX2luZGV4X2ljYXNlKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJCQkJCSBjb25zdCBjaGFyICpkaXJuYW1lLCBpbnQgbGVuKQogewogCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CiAKLQlpZiAoY2FjaGVfZGlyX2V4aXN0cyhkaXJuYW1lLCBsZW4pKQorCWlmIChpbmRleF9kaXJfZXhpc3RzKGlzdGF0ZSwgZGlybmFtZSwgbGVuKSkKIAkJcmV0dXJuIGluZGV4X2RpcmVjdG9yeTsKIAotCWNlID0gY2FjaGVfZmlsZV9leGlzdHMoZGlybmFtZSwgbGVuLCBpZ25vcmVfY2FzZSk7CisJY2UgPSBpbmRleF9maWxlX2V4aXN0cyhpc3RhdGUsIGRpcm5hbWUsIGxlbiwgaWdub3JlX2Nhc2UpOwogCWlmIChjZSAmJiBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpCiAJCXJldHVybiBpbmRleF9naXRkaXI7CiAKQEAgLTEyNDcsMTggKzEzMTEsMTkgQEAKICAqIHRoZSBmaWxlcyBpdCBjb250YWlucykgd2lsbCBzb3J0IHdpdGggdGhlICcvJyBhdCB0aGUKICAqIGVuZC4KICAqLwotc3RhdGljIGVudW0gZXhpc3Rfc3RhdHVzIGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXgoY29uc3QgY2hhciAqZGlybmFtZSwgaW50IGxlbikKK3N0YXRpYyBlbnVtIGV4aXN0X3N0YXR1cyBkaXJlY3RvcnlfZXhpc3RzX2luX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJCQkJICAgY29uc3QgY2hhciAqZGlybmFtZSwgaW50IGxlbikKIHsKIAlpbnQgcG9zOwogCiAJaWYgKGlnbm9yZV9jYXNlKQotCQlyZXR1cm4gZGlyZWN0b3J5X2V4aXN0c19pbl9pbmRleF9pY2FzZShkaXJuYW1lLCBsZW4pOworCQlyZXR1cm4gZGlyZWN0b3J5X2V4aXN0c19pbl9pbmRleF9pY2FzZShpc3RhdGUsIGRpcm5hbWUsIGxlbik7CiAKLQlwb3MgPSBjYWNoZV9uYW1lX3BvcyhkaXJuYW1lLCBsZW4pOworCXBvcyA9IGluZGV4X25hbWVfcG9zKGlzdGF0ZSwgZGlybmFtZSwgbGVuKTsKIAlpZiAocG9zIDwgMCkKIAkJcG9zID0gLXBvcy0xOwotCXdoaWxlIChwb3MgPCBhY3RpdmVfbnIpIHsKLQkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGFjdGl2ZV9jYWNoZVtwb3MrK107CisJd2hpbGUgKHBvcyA8IGlzdGF0ZS0+Y2FjaGVfbnIpIHsKKwkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGlzdGF0ZS0+Y2FjaGVbcG9zKytdOwogCQl1bnNpZ25lZCBjaGFyIGVuZGNoYXI7CiAKIAkJaWYgKHN0cm5jbXAoY2UtPm5hbWUsIGRpcm5hbWUsIGxlbikpCkBAIC0xMzA4LDEyICsxMzczLDEzIEBACiAgKiAgKGMpIG90aGVyd2lzZSwgd2UgcmVjdXJzZSBpbnRvIGl0LgogICovCiBzdGF0aWMgZW51bSBwYXRoX3RyZWF0bWVudCB0cmVhdF9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAlzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdW50cmFja2VkLAogCWNvbnN0IGNoYXIgKmRpcm5hbWUsIGludCBsZW4sIGludCBiYXNlbGVuLCBpbnQgZXhjbHVkZSwKIAljb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCS8qIFRoZSAibGVuLTEiIGlzIHRvIHN0cmlwIHRoZSBmaW5hbCAnLycgKi8KLQlzd2l0Y2ggKGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXgoZGlybmFtZSwgbGVuLTEpKSB7CisJc3dpdGNoIChkaXJlY3RvcnlfZXhpc3RzX2luX2luZGV4KGlzdGF0ZSwgZGlybmFtZSwgbGVuLTEpKSB7CiAJY2FzZSBpbmRleF9kaXJlY3Rvcnk6CiAJCXJldHVybiBwYXRoX3JlY3Vyc2U7CiAKQEAgLTEzMzgsOCArMTQwNCwxMyBAQAogCiAJdW50cmFja2VkID0gbG9va3VwX3VudHJhY2tlZChkaXItPnVudHJhY2tlZCwgdW50cmFja2VkLAogCQkJCSAgICAgZGlybmFtZSArIGJhc2VsZW4sIGxlbiAtIGJhc2VsZW4pOwotCXJldHVybiByZWFkX2RpcmVjdG9yeV9yZWN1cnNpdmUoZGlyLCBkaXJuYW1lLCBsZW4sCi0JCQkJCXVudHJhY2tlZCwgMSwgcGF0aHNwZWMpOworCisJLyoKKwkgKiBJZiB0aGlzIGlzIGFuIGV4Y2x1ZGVkIGRpcmVjdG9yeSwgdGhlbiB3ZSBvbmx5IG5lZWQgdG8gY2hlY2sgaWYKKwkgKiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5zIGFueSBmaWxlcy4KKwkgKi8KKwlyZXR1cm4gcmVhZF9kaXJlY3RvcnlfcmVjdXJzaXZlKGRpciwgaXN0YXRlLCBkaXJuYW1lLCBsZW4sCisJCQkJCXVudHJhY2tlZCwgMSwgZXhjbHVkZSwgcGF0aHNwZWMpOwogfQogCiAvKgpAQCAtMTM2MSw3ICsxNDMyLDggQEAKIAkJICAgICAgIFBBVEhTUEVDX0xJVEVSQUwgfAogCQkgICAgICAgUEFUSFNQRUNfR0xPQiB8CiAJCSAgICAgICBQQVRIU1BFQ19JQ0FTRSB8Ci0JCSAgICAgICBQQVRIU1BFQ19FWENMVURFKTsKKwkJICAgICAgIFBBVEhTUEVDX0VYQ0xVREUgfAorCQkgICAgICAgUEFUSFNQRUNfQVRUUik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMtPm5yOyBpKyspIHsKIAkJY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0gPSAmcGF0aHNwZWMtPml0ZW1zW2ldOwpAQCAtMTQxOCwxMiArMTQ5MCwxMyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdldF9pbmRleF9kdHlwZShjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuKQorc3RhdGljIGludCBnZXRfaW5kZXhfZHR5cGUoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkgICBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuKQogewogCWludCBwb3M7CiAJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKIAotCWNlID0gY2FjaGVfZmlsZV9leGlzdHMocGF0aCwgbGVuLCAwKTsKKwljZSA9IGluZGV4X2ZpbGVfZXhpc3RzKGlzdGF0ZSwgcGF0aCwgbGVuLCAwKTsKIAlpZiAoY2UpIHsKIAkJaWYgKCFjZV91cHRvZGF0ZShjZSkpCiAJCQlyZXR1cm4gRFRfVU5LTk9XTjsKQEAgLTE0MzcsMTIgKzE1MTAsMTIgQEAKIAl9CiAKIAkvKiBUcnkgdG8gbG9vayBpdCB1cCBhcyBhIGRpcmVjdG9yeSAqLwotCXBvcyA9IGNhY2hlX25hbWVfcG9zKHBhdGgsIGxlbik7CisJcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBwYXRoLCBsZW4pOwogCWlmIChwb3MgPj0gMCkKIAkJcmV0dXJuIERUX1VOS05PV047CiAJcG9zID0gLXBvcy0xOwotCXdoaWxlIChwb3MgPCBhY3RpdmVfbnIpIHsKLQkJY2UgPSBhY3RpdmVfY2FjaGVbcG9zKytdOworCXdoaWxlIChwb3MgPCBpc3RhdGUtPmNhY2hlX25yKSB7CisJCWNlID0gaXN0YXRlLT5jYWNoZVtwb3MrK107CiAJCWlmIChzdHJuY21wKGNlLT5uYW1lLCBwYXRoLCBsZW4pKQogCQkJYnJlYWs7CiAJCWlmIChjZS0+bmFtZVtsZW5dID4gJy8nKQpAQCAtMTQ1NiwxNCArMTUyOSwxNSBAQAogCXJldHVybiBEVF9VTktOT1dOOwogfQogCi1zdGF0aWMgaW50IGdldF9kdHlwZShzdHJ1Y3QgZGlyZW50ICpkZSwgY29uc3QgY2hhciAqcGF0aCwgaW50IGxlbikKK3N0YXRpYyBpbnQgZ2V0X2R0eXBlKHN0cnVjdCBkaXJlbnQgKmRlLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJICAgICBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuKQogewogCWludCBkdHlwZSA9IGRlID8gRFRZUEUoZGUpIDogRFRfVU5LTk9XTjsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIAogCWlmIChkdHlwZSAhPSBEVF9VTktOT1dOKQogCQlyZXR1cm4gZHR5cGU7Ci0JZHR5cGUgPSBnZXRfaW5kZXhfZHR5cGUocGF0aCwgbGVuKTsKKwlkdHlwZSA9IGdldF9pbmRleF9kdHlwZShpc3RhdGUsIHBhdGgsIGxlbik7CiAJaWYgKGR0eXBlICE9IERUX1VOS05PV04pCiAJCXJldHVybiBkdHlwZTsKIAlpZiAobHN0YXQocGF0aCwgJnN0KSkKQEAgLTE0NzksMTYgKzE1NTMsMTcgQEAKIAogc3RhdGljIGVudW0gcGF0aF90cmVhdG1lbnQgdHJlYXRfb25lX3BhdGgoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKIAkJCQkJICBzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdW50cmFja2VkLAorCQkJCQkgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAogCQkJCQkgIHN0cnVjdCBzdHJidWYgKnBhdGgsCiAJCQkJCSAgaW50IGJhc2VsZW4sCiAJCQkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKIAkJCQkJICBpbnQgZHR5cGUsIHN0cnVjdCBkaXJlbnQgKmRlKQogewogCWludCBleGNsdWRlOwotCWludCBoYXNfcGF0aF9pbl9pbmRleCA9ICEhY2FjaGVfZmlsZV9leGlzdHMocGF0aC0+YnVmLCBwYXRoLT5sZW4sIGlnbm9yZV9jYXNlKTsKKwlpbnQgaGFzX3BhdGhfaW5faW5kZXggPSAhIWluZGV4X2ZpbGVfZXhpc3RzKGlzdGF0ZSwgcGF0aC0+YnVmLCBwYXRoLT5sZW4sIGlnbm9yZV9jYXNlKTsKIAogCWlmIChkdHlwZSA9PSBEVF9VTktOT1dOKQotCQlkdHlwZSA9IGdldF9kdHlwZShkZSwgcGF0aC0+YnVmLCBwYXRoLT5sZW4pOworCQlkdHlwZSA9IGdldF9kdHlwZShkZSwgaXN0YXRlLCBwYXRoLT5idWYsIHBhdGgtPmxlbik7CiAKIAkvKiBBbHdheXMgZXhjbHVkZSBpbmRleGVkIGZpbGVzICovCiAJaWYgKGR0eXBlICE9IERUX0RJUiAmJiBoYXNfcGF0aF9pbl9pbmRleCkKQEAgLTE1MTUsMTAgKzE1OTAsMTAgQEAKIAlpZiAoKGRpci0+ZmxhZ3MgJiBESVJfQ09MTEVDVF9LSUxMRURfT05MWSkgJiYKIAkgICAgKGR0eXBlID09IERUX0RJUikgJiYKIAkgICAgIWhhc19wYXRoX2luX2luZGV4ICYmCi0JICAgIChkaXJlY3RvcnlfZXhpc3RzX2luX2luZGV4KHBhdGgtPmJ1ZiwgcGF0aC0+bGVuKSA9PSBpbmRleF9ub25leGlzdGVudCkpCisJICAgIChkaXJlY3RvcnlfZXhpc3RzX2luX2luZGV4KGlzdGF0ZSwgcGF0aC0+YnVmLCBwYXRoLT5sZW4pID09IGluZGV4X25vbmV4aXN0ZW50KSkKIAkJcmV0dXJuIHBhdGhfbm9uZTsKIAotCWV4Y2x1ZGUgPSBpc19leGNsdWRlZChkaXIsIHBhdGgtPmJ1ZiwgJmR0eXBlKTsKKwlleGNsdWRlID0gaXNfZXhjbHVkZWQoZGlyLCBpc3RhdGUsIHBhdGgtPmJ1ZiwgJmR0eXBlKTsKIAogCS8qCiAJICogRXhjbHVkZWQ/IElmIHdlIGRvbid0IGV4cGxpY2l0bHkgd2FudCB0byBzaG93CkBAIC0xNTMyLDcgKzE2MDcsNyBAQAogCQlyZXR1cm4gcGF0aF9ub25lOwogCWNhc2UgRFRfRElSOgogCQlzdHJidWZfYWRkY2gocGF0aCwgJy8nKTsKLQkJcmV0dXJuIHRyZWF0X2RpcmVjdG9yeShkaXIsIHVudHJhY2tlZCwgcGF0aC0+YnVmLCBwYXRoLT5sZW4sCisJCXJldHVybiB0cmVhdF9kaXJlY3RvcnkoZGlyLCBpc3RhdGUsIHVudHJhY2tlZCwgcGF0aC0+YnVmLCBwYXRoLT5sZW4sCiAJCQkJICAgICAgIGJhc2VsZW4sIGV4Y2x1ZGUsIHBhdGhzcGVjKTsKIAljYXNlIERUX1JFRzoKIAljYXNlIERUX0xOSzoKQEAgLTE1NDMsNiArMTYxOCw3IEBACiBzdGF0aWMgZW51bSBwYXRoX3RyZWF0bWVudCB0cmVhdF9wYXRoX2Zhc3Qoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKIAkJCQkJICAgc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgKnVudHJhY2tlZCwKIAkJCQkJICAgc3RydWN0IGNhY2hlZF9kaXIgKmNkaXIsCisJCQkJCSAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAogCQkJCQkgICBzdHJ1Y3Qgc3RyYnVmICpwYXRoLAogCQkJCQkgICBpbnQgYmFzZWxlbiwKIAkJCQkJICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKQEAgLTE1NjEsOCArMTYzNyw4IEBACiAJCSAqIHRvIGl0cyBib3R0b20uIFZlcmlmeSBhZ2FpbiB0aGUgc2FtZSBzZXQgb2YgZGlyZWN0b3JpZXMKIAkJICogd2l0aCBjaGVja19vbmx5IHNldC4KIAkJICovCi0JCXJldHVybiByZWFkX2RpcmVjdG9yeV9yZWN1cnNpdmUoZGlyLCBwYXRoLT5idWYsIHBhdGgtPmxlbiwKLQkJCQkJCWNkaXItPnVjZCwgMSwgcGF0aHNwZWMpOworCQlyZXR1cm4gcmVhZF9kaXJlY3RvcnlfcmVjdXJzaXZlKGRpciwgaXN0YXRlLCBwYXRoLT5idWYsIHBhdGgtPmxlbiwKKwkJCQkJCWNkaXItPnVjZCwgMSwgMCwgcGF0aHNwZWMpOwogCS8qCiAJICogV2UgZ2V0IHBhdGhfcmVjdXJzZSBpbiB0aGUgZmlyc3QgcnVuIHdoZW4KIAkgKiBkaXJlY3RvcnlfZXhpc3RzX2luX2luZGV4KCkgcmV0dXJucyBpbmRleF9ub25leGlzdGVudC4gV2UKQEAgLTE1NzUsNiArMTY1MSw3IEBACiBzdGF0aWMgZW51bSBwYXRoX3RyZWF0bWVudCB0cmVhdF9wYXRoKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCiAJCQkJICAgICAgc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgKnVudHJhY2tlZCwKIAkJCQkgICAgICBzdHJ1Y3QgY2FjaGVkX2RpciAqY2RpciwKKwkJCQkgICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICpwYXRoLAogCQkJCSAgICAgIGludCBiYXNlbGVuLAogCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCkBAIC0xNTgzLDcgKzE2NjAsNyBAQAogCXN0cnVjdCBkaXJlbnQgKmRlID0gY2Rpci0+ZGU7CiAKIAlpZiAoIWRlKQotCQlyZXR1cm4gdHJlYXRfcGF0aF9mYXN0KGRpciwgdW50cmFja2VkLCBjZGlyLCBwYXRoLAorCQlyZXR1cm4gdHJlYXRfcGF0aF9mYXN0KGRpciwgdW50cmFja2VkLCBjZGlyLCBpc3RhdGUsIHBhdGgsCiAJCQkJICAgICAgIGJhc2VsZW4sIHBhdGhzcGVjKTsKIAlpZiAoaXNfZG90X29yX2RvdGRvdChkZS0+ZF9uYW1lKSB8fCAhc3RyY21wKGRlLT5kX25hbWUsICIuZ2l0IikpCiAJCXJldHVybiBwYXRoX25vbmU7CkBAIC0xNTkzLDcgKzE2NzAsNyBAQAogCQlyZXR1cm4gcGF0aF9ub25lOwogCiAJZHR5cGUgPSBEVFlQRShkZSk7Ci0JcmV0dXJuIHRyZWF0X29uZV9wYXRoKGRpciwgdW50cmFja2VkLCBwYXRoLCBiYXNlbGVuLCBwYXRoc3BlYywgZHR5cGUsIGRlKTsKKwlyZXR1cm4gdHJlYXRfb25lX3BhdGgoZGlyLCB1bnRyYWNrZWQsIGlzdGF0ZSwgcGF0aCwgYmFzZWxlbiwgcGF0aHNwZWMsIGR0eXBlLCBkZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGFkZF91bnRyYWNrZWQoc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgKmRpciwgY29uc3QgY2hhciAqbmFtZSkKQEAgLTE2MDcsNiArMTY4NCw3IEBACiAKIHN0YXRpYyBpbnQgdmFsaWRfY2FjaGVkX2RpcihzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLAogCQkJICAgIHN0cnVjdCB1bnRyYWNrZWRfY2FjaGVfZGlyICp1bnRyYWNrZWQsCisJCQkgICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCiAJCQkgICAgc3RydWN0IHN0cmJ1ZiAqcGF0aCwKIAkJCSAgICBpbnQgY2hlY2tfb25seSkKIHsKQEAgLTE2MjEsNyArMTY5OSw3IEBACiAJCXJldHVybiAwOwogCX0KIAlpZiAoIXVudHJhY2tlZC0+dmFsaWQgfHwKLQkgICAgbWF0Y2hfc3RhdF9kYXRhX3JhY3koJnRoZV9pbmRleCwgJnVudHJhY2tlZC0+c3RhdF9kYXRhLCAmc3QpKSB7CisJICAgIG1hdGNoX3N0YXRfZGF0YV9yYWN5KGlzdGF0ZSwgJnVudHJhY2tlZC0+c3RhdF9kYXRhLCAmc3QpKSB7CiAJCWlmICh1bnRyYWNrZWQtPnZhbGlkKQogCQkJaW52YWxpZGF0ZV9kaXJlY3RvcnkoZGlyLT51bnRyYWNrZWQsIHVudHJhY2tlZCk7CiAJCWZpbGxfc3RhdF9kYXRhKCZ1bnRyYWNrZWQtPnN0YXRfZGF0YSwgJnN0KTsKQEAgLTE2NDIsMTAgKzE3MjAsMTAgQEAKIAkgKi8KIAlpZiAocGF0aC0+bGVuICYmIHBhdGgtPmJ1ZltwYXRoLT5sZW4gLSAxXSAhPSAnLycpIHsKIAkJc3RyYnVmX2FkZGNoKHBhdGgsICcvJyk7Ci0JCXByZXBfZXhjbHVkZShkaXIsIHBhdGgtPmJ1ZiwgcGF0aC0+bGVuKTsKKwkJcHJlcF9leGNsdWRlKGRpciwgaXN0YXRlLCBwYXRoLT5idWYsIHBhdGgtPmxlbik7CiAJCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgcGF0aC0+bGVuIC0gMSk7CiAJfSBlbHNlCi0JCXByZXBfZXhjbHVkZShkaXIsIHBhdGgtPmJ1ZiwgcGF0aC0+bGVuKTsKKwkJcHJlcF9leGNsdWRlKGRpciwgaXN0YXRlLCBwYXRoLT5idWYsIHBhdGgtPmxlbik7CiAKIAkvKiBob3BlZnVsbHkgcHJlcF9leGNsdWRlKCkgaGF2ZW4ndCBpbnZhbGlkYXRlZCB0aGlzIGVudHJ5Li4uICovCiAJcmV0dXJuIHVudHJhY2tlZC0+dmFsaWQ7CkBAIC0xNjU0LDEyICsxNzMyLDEzIEBACiBzdGF0aWMgaW50IG9wZW5fY2FjaGVkX2RpcihzdHJ1Y3QgY2FjaGVkX2RpciAqY2RpciwKIAkJCSAgIHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCiAJCQkgICBzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdW50cmFja2VkLAorCQkJICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCiAJCQkgICBzdHJ1Y3Qgc3RyYnVmICpwYXRoLAogCQkJICAgaW50IGNoZWNrX29ubHkpCiB7CiAJbWVtc2V0KGNkaXIsIDAsIHNpemVvZigqY2RpcikpOwogCWNkaXItPnVudHJhY2tlZCA9IHVudHJhY2tlZDsKLQlpZiAodmFsaWRfY2FjaGVkX2RpcihkaXIsIHVudHJhY2tlZCwgcGF0aCwgY2hlY2tfb25seSkpCisJaWYgKHZhbGlkX2NhY2hlZF9kaXIoZGlyLCB1bnRyYWNrZWQsIGlzdGF0ZSwgcGF0aCwgY2hlY2tfb25seSkpCiAJCXJldHVybiAwOwogCWNkaXItPmZkaXIgPSBvcGVuZGlyKHBhdGgtPmxlbiA/IHBhdGgtPmJ1ZiA6ICIuIik7CiAJaWYgKGRpci0+dW50cmFja2VkKQpAQCAtMTcxOSwxMiArMTc5OCwyMCBAQAogICogQWxzbywgd2UgaWdub3JlIHRoZSBuYW1lICIuZ2l0IiAoZXZlbiBpZiBpdCBpcyBub3QgYSBkaXJlY3RvcnkpLgogICogVGhhdCBsaWtlbHkgd2lsbCBub3QgY2hhbmdlLgogICoKKyAqIElmICdzdG9wX2F0X2ZpcnN0X2ZpbGUnIGlzIHNwZWNpZmllZCwgJ3BhdGhfZXhjbHVkZWQnIGlzIHJldHVybmVkCisgKiB0byBzaWduYWwgdGhhdCBhIGZpbGUgd2FzIGZvdW5kLiBUaGlzIGlzIHRoZSBsZWFzdCBzaWduaWZpY2FudCB2YWx1ZSB0aGF0CisgKiBpbmRpY2F0ZXMgdGhhdCBhIGZpbGUgd2FzIGVuY291bnRlcmVkIHRoYXQgZG9lcyBub3QgZGVwZW5kIG9uIHRoZSBvcmRlciBvZgorICogd2hldGhlciBhbiB1bnRyYWNrZWQgb3IgZXhsdWRlZCBwYXRoIHdhcyBlbmNvdW50ZXJlZCBmaXJzdC4KKyAqCiAgKiBSZXR1cm5zIHRoZSBtb3N0IHNpZ25pZmljYW50IHBhdGhfdHJlYXRtZW50IHZhbHVlIGVuY291bnRlcmVkIGluIHRoZSBzY2FuLgorICogSWYgJ3N0b3BfYXRfZmlyc3RfZmlsZScgaXMgc3BlY2lmaWVkLCBgcGF0aF9leGNsdWRlZGAgaXMgdGhlIG1vc3QKKyAqIHNpZ25pZmljYW50IHBhdGhfdHJlYXRtZW50IHZhbHVlIHRoYXQgd2lsbCBiZSByZXR1cm5lZC4KICAqLworCiBzdGF0aWMgZW51bSBwYXRoX3RyZWF0bWVudCByZWFkX2RpcmVjdG9yeV9yZWN1cnNpdmUoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKLQkJCQkgICAgY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCi0JCQkJICAgIHN0cnVjdCB1bnRyYWNrZWRfY2FjaGVfZGlyICp1bnRyYWNrZWQsIGludCBjaGVja19vbmx5LAotCQkJCSAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQorCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbiwKKwlzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdW50cmFja2VkLCBpbnQgY2hlY2tfb25seSwKKwlpbnQgc3RvcF9hdF9maXJzdF9maWxlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCXN0cnVjdCBjYWNoZWRfZGlyIGNkaXI7CiAJZW51bSBwYXRoX3RyZWF0bWVudCBzdGF0ZSwgc3ViZGlyX3N0YXRlLCBkaXJfc3RhdGUgPSBwYXRoX25vbmU7CkBAIC0xNzMyLDcgKzE4MTksNyBAQAogCiAJc3RyYnVmX2FkZCgmcGF0aCwgYmFzZSwgYmFzZWxlbik7CiAKLQlpZiAob3Blbl9jYWNoZWRfZGlyKCZjZGlyLCBkaXIsIHVudHJhY2tlZCwgJnBhdGgsIGNoZWNrX29ubHkpKQorCWlmIChvcGVuX2NhY2hlZF9kaXIoJmNkaXIsIGRpciwgdW50cmFja2VkLCBpc3RhdGUsICZwYXRoLCBjaGVja19vbmx5KSkKIAkJZ290byBvdXQ7CiAKIAlpZiAodW50cmFja2VkKQpAQCAtMTc0MCwyNyArMTgyNyw1MiBAQAogCiAJd2hpbGUgKCFyZWFkX2NhY2hlZF9kaXIoJmNkaXIpKSB7CiAJCS8qIGNoZWNrIGhvdyB0aGUgZmlsZSBvciBkaXJlY3Rvcnkgc2hvdWxkIGJlIHRyZWF0ZWQgKi8KLQkJc3RhdGUgPSB0cmVhdF9wYXRoKGRpciwgdW50cmFja2VkLCAmY2RpciwgJnBhdGgsCisJCXN0YXRlID0gdHJlYXRfcGF0aChkaXIsIHVudHJhY2tlZCwgJmNkaXIsIGlzdGF0ZSwgJnBhdGgsCiAJCQkJICAgYmFzZWxlbiwgcGF0aHNwZWMpOwogCiAJCWlmIChzdGF0ZSA+IGRpcl9zdGF0ZSkKIAkJCWRpcl9zdGF0ZSA9IHN0YXRlOwogCiAJCS8qIHJlY3Vyc2UgaW50byBzdWJkaXIgaWYgaW5zdHJ1Y3RlZCBieSB0cmVhdF9wYXRoICovCi0JCWlmIChzdGF0ZSA9PSBwYXRoX3JlY3Vyc2UpIHsKKwkJaWYgKChzdGF0ZSA9PSBwYXRoX3JlY3Vyc2UpIHx8CisJCQkoKHN0YXRlID09IHBhdGhfdW50cmFja2VkKSAmJgorCQkJIChkaXItPmZsYWdzICYgRElSX1NIT1dfSUdOT1JFRF9UT08pICYmCisJCQkgKGdldF9kdHlwZShjZGlyLmRlLCBpc3RhdGUsIHBhdGguYnVmLCBwYXRoLmxlbikgPT0gRFRfRElSKSkpIHsKIAkJCXN0cnVjdCB1bnRyYWNrZWRfY2FjaGVfZGlyICp1ZDsKIAkJCXVkID0gbG9va3VwX3VudHJhY2tlZChkaXItPnVudHJhY2tlZCwgdW50cmFja2VkLAogCQkJCQkgICAgICBwYXRoLmJ1ZiArIGJhc2VsZW4sCiAJCQkJCSAgICAgIHBhdGgubGVuIC0gYmFzZWxlbik7CiAJCQlzdWJkaXJfc3RhdGUgPQotCQkJCXJlYWRfZGlyZWN0b3J5X3JlY3Vyc2l2ZShkaXIsIHBhdGguYnVmLAorCQkJCXJlYWRfZGlyZWN0b3J5X3JlY3Vyc2l2ZShkaXIsIGlzdGF0ZSwgcGF0aC5idWYsCiAJCQkJCQkJIHBhdGgubGVuLCB1ZCwKLQkJCQkJCQkgY2hlY2tfb25seSwgcGF0aHNwZWMpOworCQkJCQkJCSBjaGVja19vbmx5LCBzdG9wX2F0X2ZpcnN0X2ZpbGUsIHBhdGhzcGVjKTsKIAkJCWlmIChzdWJkaXJfc3RhdGUgPiBkaXJfc3RhdGUpCiAJCQkJZGlyX3N0YXRlID0gc3ViZGlyX3N0YXRlOwogCQl9CiAKIAkJaWYgKGNoZWNrX29ubHkpIHsKKwkJCWlmIChzdG9wX2F0X2ZpcnN0X2ZpbGUpIHsKKwkJCQkvKgorCQkJCSAqIElmIHN0b3BwaW5nIGF0IGZpcnN0IGZpbGUsIHRoZW4KKwkJCQkgKiBzaWduYWwgdGhhdCBhIGZpbGUgd2FzIGZvdW5kIGJ5CisJCQkJICogcmV0dXJuaW5nIGBwYXRoX2V4Y2x1ZGVkYC4gVGhpcyBpcworCQkJCSAqIHRvIHJldHVybiBhIGNvbnNpc3RlbnQgdmFsdWUKKwkJCQkgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgYW4gaWdub3JlZCBvcgorCQkJCSAqIGV4Y2x1ZGVkIGZpbGUgaGFwcGVuZWQgdG8gYmUKKwkJCQkgKiBlbmNvdW50ZXJlZCAxc3QuCisJCQkJICoKKwkJCQkgKiBJbiBjdXJyZW50IHVzYWdlLCB0aGUKKwkJCQkgKiBgc3RvcF9hdF9maXJzdF9maWxlYCBpcyBwYXNzZWQgd2hlbgorCQkJCSAqIGFuIGFuY2VzdG9yIGRpcmVjdG9yeSBoYXMgbWF0Y2hlZAorCQkJCSAqIGFuIGV4Y2x1ZGUgcGF0dGVybiwgc28gYW55IGZvdW5kCisJCQkJICogZmlsZXMgd2lsbCBiZSBleGNsdWRlZC4KKwkJCQkgKi8KKwkJCQlpZiAoZGlyX3N0YXRlID49IHBhdGhfZXhjbHVkZWQpIHsKKwkJCQkJZGlyX3N0YXRlID0gcGF0aF9leGNsdWRlZDsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCiAJCQkvKiBhYm9ydCBlYXJseSBpZiBtYXhpbXVtIHN0YXRlIGhhcyBiZWVuIHJlYWNoZWQgKi8KIAkJCWlmIChkaXJfc3RhdGUgPT0gcGF0aF91bnRyYWNrZWQpIHsKIAkJCQlpZiAoY2Rpci5mZGlyKQpAQCAtMTc3NSwxOCArMTg4NywxOCBAQAogCQlzd2l0Y2ggKHN0YXRlKSB7CiAJCWNhc2UgcGF0aF9leGNsdWRlZDoKIAkJCWlmIChkaXItPmZsYWdzICYgRElSX1NIT1dfSUdOT1JFRCkKLQkJCQlkaXJfYWRkX25hbWUoZGlyLCBwYXRoLmJ1ZiwgcGF0aC5sZW4pOworCQkJCWRpcl9hZGRfbmFtZShkaXIsIGlzdGF0ZSwgcGF0aC5idWYsIHBhdGgubGVuKTsKIAkJCWVsc2UgaWYgKChkaXItPmZsYWdzICYgRElSX1NIT1dfSUdOT1JFRF9UT08pIHx8CiAJCQkJKChkaXItPmZsYWdzICYgRElSX0NPTExFQ1RfSUdOT1JFRCkgJiYKIAkJCQlleGNsdWRlX21hdGNoZXNfcGF0aHNwZWMocGF0aC5idWYsIHBhdGgubGVuLAogCQkJCQkJCSBwYXRoc3BlYykpKQotCQkJCWRpcl9hZGRfaWdub3JlZChkaXIsIHBhdGguYnVmLCBwYXRoLmxlbik7CisJCQkJZGlyX2FkZF9pZ25vcmVkKGRpciwgaXN0YXRlLCBwYXRoLmJ1ZiwgcGF0aC5sZW4pOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBwYXRoX3VudHJhY2tlZDoKIAkJCWlmIChkaXItPmZsYWdzICYgRElSX1NIT1dfSUdOT1JFRCkKIAkJCQlicmVhazsKLQkJCWRpcl9hZGRfbmFtZShkaXIsIHBhdGguYnVmLCBwYXRoLmxlbik7CisJCQlkaXJfYWRkX25hbWUoZGlyLCBpc3RhdGUsIHBhdGguYnVmLCBwYXRoLmxlbik7CiAJCQlpZiAoY2Rpci5mZGlyKQogCQkJCWFkZF91bnRyYWNrZWQodW50cmFja2VkLCBwYXRoLmJ1ZiArIGJhc2VsZW4pOwogCQkJYnJlYWs7CkBAIC0xODAyLDcgKzE5MTQsNyBAQAogCXJldHVybiBkaXJfc3RhdGU7CiB9CiAKLXN0YXRpYyBpbnQgY21wX25hbWUoY29uc3Qgdm9pZCAqcDEsIGNvbnN0IHZvaWQgKnAyKQoraW50IGNtcF9kaXJfZW50cnkoY29uc3Qgdm9pZCAqcDEsIGNvbnN0IHZvaWQgKnAyKQogewogCWNvbnN0IHN0cnVjdCBkaXJfZW50cnkgKmUxID0gKihjb25zdCBzdHJ1Y3QgZGlyX2VudHJ5ICoqKXAxOwogCWNvbnN0IHN0cnVjdCBkaXJfZW50cnkgKmUyID0gKihjb25zdCBzdHJ1Y3QgZGlyX2VudHJ5ICoqKXAyOwpAQCAtMTgxMCw3ICsxOTIyLDE2IEBACiAJcmV0dXJuIG5hbWVfY29tcGFyZShlMS0+bmFtZSwgZTEtPmxlbiwgZTItPm5hbWUsIGUyLT5sZW4pOwogfQogCisvKiBjaGVjayBpZiAqb3V0IGxleGljYWxseSBzdHJpY3RseSBjb250YWlucyAqaW4gKi8KK2ludCBjaGVja19kaXJfZW50cnlfY29udGFpbnMoY29uc3Qgc3RydWN0IGRpcl9lbnRyeSAqb3V0LCBjb25zdCBzdHJ1Y3QgZGlyX2VudHJ5ICppbikKK3sKKwlyZXR1cm4gKG91dC0+bGVuIDwgaW4tPmxlbikgJiYKKwkJKG91dC0+bmFtZVtvdXQtPmxlbiAtIDFdID09ICcvJykgJiYKKwkJIW1lbWNtcChvdXQtPm5hbWUsIGluLT5uYW1lLCBvdXQtPmxlbik7Cit9CisKIHN0YXRpYyBpbnQgdHJlYXRfbGVhZGluZ19wYXRoKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCisJCQkgICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJCSAgICAgIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4sCiAJCQkgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewpAQCAtMTgzOCw3ICsxOTU5LDcgQEAKIAkJCWJyZWFrOwogCQlpZiAoc2ltcGxpZnlfYXdheShzYi5idWYsIHNiLmxlbiwgcGF0aHNwZWMpKQogCQkJYnJlYWs7Ci0JCWlmICh0cmVhdF9vbmVfcGF0aChkaXIsIE5VTEwsICZzYiwgYmFzZWxlbiwgcGF0aHNwZWMsCisJCWlmICh0cmVhdF9vbmVfcGF0aChkaXIsIE5VTEwsIGlzdGF0ZSwgJnNiLCBiYXNlbGVuLCBwYXRoc3BlYywKIAkJCQkgICBEVF9ESVIsIE5VTEwpID09IHBhdGhfbm9uZSkKIAkJCWJyZWFrOyAvKiBkbyBub3QgcmVjdXJzZSBpbnRvIGl0ICovCiAJCWlmIChsZW4gPD0gYmFzZWxlbikgewpAQCAtMjAwNiw4ICsyMTI3LDggQEAKIAlyZXR1cm4gcm9vdDsKIH0KIAotaW50IHJlYWRfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKnBhdGgsCi0JCSAgIGludCBsZW4sIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCitpbnQgcmVhZF9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCSAgIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4sIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CiAJc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgKnVudHJhY2tlZDsKIApAQCAtMjAyMSwxMCArMjE0MiwzMyBAQAogCQkgKiBlLmcuIHByZXBfZXhjbHVkZSgpCiAJCSAqLwogCQlkaXItPnVudHJhY2tlZCA9IE5VTEw7Ci0JaWYgKCFsZW4gfHwgdHJlYXRfbGVhZGluZ19wYXRoKGRpciwgcGF0aCwgbGVuLCBwYXRoc3BlYykpCi0JCXJlYWRfZGlyZWN0b3J5X3JlY3Vyc2l2ZShkaXIsIHBhdGgsIGxlbiwgdW50cmFja2VkLCAwLCBwYXRoc3BlYyk7Ci0JUVNPUlQoZGlyLT5lbnRyaWVzLCBkaXItPm5yLCBjbXBfbmFtZSk7Ci0JUVNPUlQoZGlyLT5pZ25vcmVkLCBkaXItPmlnbm9yZWRfbnIsIGNtcF9uYW1lKTsKKwlpZiAoIWxlbiB8fCB0cmVhdF9sZWFkaW5nX3BhdGgoZGlyLCBpc3RhdGUsIHBhdGgsIGxlbiwgcGF0aHNwZWMpKQorCQlyZWFkX2RpcmVjdG9yeV9yZWN1cnNpdmUoZGlyLCBpc3RhdGUsIHBhdGgsIGxlbiwgdW50cmFja2VkLCAwLCAwLCBwYXRoc3BlYyk7CisJUVNPUlQoZGlyLT5lbnRyaWVzLCBkaXItPm5yLCBjbXBfZGlyX2VudHJ5KTsKKwlRU09SVChkaXItPmlnbm9yZWQsIGRpci0+aWdub3JlZF9uciwgY21wX2Rpcl9lbnRyeSk7CisKKwkvKgorCSAqIElmIERJUl9TSE9XX0lHTk9SRURfVE9PIGlzIHNldCwgcmVhZF9kaXJlY3RvcnlfcmVjdXJzaXZlKCkgd2lsbAorCSAqIGFsc28gcGljayB1cCB1bnRyYWNrZWQgY29udGVudHMgb2YgdW50cmFja2VkIGRpcnM7IGJ5IGRlZmF1bHQKKwkgKiB3ZSBkaXNjYXJkIHRoZXNlLCBidXQgZ2l2ZW4gRElSX0tFRVBfVU5UUkFDS0VEX0NPTlRFTlRTIHdlIGRvIG5vdC4KKwkgKi8KKwlpZiAoKGRpci0+ZmxhZ3MgJiBESVJfU0hPV19JR05PUkVEX1RPTykgJiYKKwkJICAgICAhKGRpci0+ZmxhZ3MgJiBESVJfS0VFUF9VTlRSQUNLRURfQ09OVEVOVFMpKSB7CisJCWludCBpLCBqOworCisJCS8qIHJlbW92ZSBmcm9tIGRpci0+ZW50cmllcyB1bnRyYWNrZWQgY29udGVudHMgb2YgdW50cmFja2VkIGRpcnMgKi8KKwkJZm9yIChpID0gaiA9IDA7IGogPCBkaXItPm5yOyBqKyspIHsKKwkJCWlmIChpICYmCisJCQkgICAgY2hlY2tfZGlyX2VudHJ5X2NvbnRhaW5zKGRpci0+ZW50cmllc1tpIC0gMV0sIGRpci0+ZW50cmllc1tqXSkpIHsKKwkJCQlGUkVFX0FORF9OVUxMKGRpci0+ZW50cmllc1tqXSk7CisJCQl9IGVsc2UgeworCQkJCWRpci0+ZW50cmllc1tpKytdID0gZGlyLT5lbnRyaWVzW2pdOworCQkJfQorCQl9CisKKwkJZGlyLT5uciA9IGk7CisJfQorCiAJaWYgKGRpci0+dW50cmFja2VkKSB7CiAJCXN0YXRpYyBzdHJ1Y3QgdHJhY2Vfa2V5IHRyYWNlX3VudHJhY2tlZF9zdGF0cyA9IFRSQUNFX0tFWV9JTklUKFVOVFJBQ0tFRF9TVEFUUyk7CiAJCXRyYWNlX3ByaW50Zl9rZXkoJnRyYWNlX3VudHJhY2tlZF9zdGF0cywKQEAgLTIwMzYsMTQgKzIxODAsMTMgQEAKIAkJCQkgZGlyLT51bnRyYWNrZWQtPmdpdGlnbm9yZV9pbnZhbGlkYXRlZCwKIAkJCQkgZGlyLT51bnRyYWNrZWQtPmRpcl9pbnZhbGlkYXRlZCwKIAkJCQkgZGlyLT51bnRyYWNrZWQtPmRpcl9vcGVuZWQpOwotCQlpZiAoZGlyLT51bnRyYWNrZWQgPT0gdGhlX2luZGV4LnVudHJhY2tlZCAmJgorCQlpZiAoZGlyLT51bnRyYWNrZWQgPT0gaXN0YXRlLT51bnRyYWNrZWQgJiYKIAkJICAgIChkaXItPnVudHJhY2tlZC0+ZGlyX29wZW5lZCB8fAogCQkgICAgIGRpci0+dW50cmFja2VkLT5naXRpZ25vcmVfaW52YWxpZGF0ZWQgfHwKIAkJICAgICBkaXItPnVudHJhY2tlZC0+ZGlyX2ludmFsaWRhdGVkKSkKLQkJCXRoZV9pbmRleC5jYWNoZV9jaGFuZ2VkIHw9IFVOVFJBQ0tFRF9DSEFOR0VEOwotCQlpZiAoZGlyLT51bnRyYWNrZWQgIT0gdGhlX2luZGV4LnVudHJhY2tlZCkgewotCQkJZnJlZShkaXItPnVudHJhY2tlZCk7Ci0JCQlkaXItPnVudHJhY2tlZCA9IE5VTEw7CisJCQlpc3RhdGUtPmNhY2hlX2NoYW5nZWQgfD0gVU5UUkFDS0VEX0NIQU5HRUQ7CisJCWlmIChkaXItPnVudHJhY2tlZCAhPSBpc3RhdGUtPnVudHJhY2tlZCkgeworCQkJRlJFRV9BTkRfTlVMTChkaXItPnVudHJhY2tlZCk7CiAJCX0KIAl9CiAJcmV0dXJuIGRpci0+bnI7CkBAIC0yMjM1LDcgKzIzNzgsNyBAQAogewogCWNoYXIgKnNsYXNoOwogCi0JaWYgKHVubGluayhuYW1lKSAmJiBlcnJubyAhPSBFTk9FTlQgJiYgZXJybm8gIT0gRU5PVERJUikKKwlpZiAodW5saW5rKG5hbWUpICYmICFpc19taXNzaW5nX2ZpbGVfZXJyb3IoZXJybm8pKQogCQlyZXR1cm4gLTE7CiAKIAlzbGFzaCA9IHN0cnJjaHIobmFtZSwgJy8nKTsKQEAgLTIyOTAsNyArMjQzMyw4IEBACiAJY2hhciBleGNsdWRlX3Blcl9kaXJbRkxFWF9BUlJBWV07CiB9OwogCi0jZGVmaW5lIG91Y19zaXplKGxlbikgKG9mZnNldG9mKHN0cnVjdCBvbmRpc2tfdW50cmFja2VkX2NhY2hlLCBleGNsdWRlX3Blcl9kaXIpICsgbGVuICsgMSkKKyNkZWZpbmUgb3VjX29mZnNldCh4KSBvZmZzZXRvZihzdHJ1Y3Qgb25kaXNrX3VudHJhY2tlZF9jYWNoZSwgeCkKKyNkZWZpbmUgb3VjX3NpemUobGVuKSAob3VjX29mZnNldChleGNsdWRlX3Blcl9kaXIpICsgbGVuICsgMSkKIAogc3RydWN0IHdyaXRlX2RhdGEgewogCWludCBpbmRleDsJICAgLyogbnVtYmVyIG9mIHdyaXR0ZW4gdW50cmFja2VkX2NhY2hlX2RpciAqLwpAQCAtMjM4Niw4ICsyNTMwLDcgQEAKIAlzdHJidWZfYWRkYnVmKG91dCwgJnVudHJhY2tlZC0+aWRlbnQpOwogCiAJc3RyYnVmX2FkZChvdXQsIG91Yywgb3VjX3NpemUobGVuKSk7Ci0JZnJlZShvdWMpOwotCW91YyA9IE5VTEw7CisJRlJFRV9BTkRfTlVMTChvdWMpOwogCiAJaWYgKCF1bnRyYWNrZWQtPnJvb3QpIHsKIAkJdmFyaW50X2xlbiA9IGVuY29kZV92YXJpbnQoMCwgdmFyYnVmKTsKQEAgLTI0NTMsMTcgKzI1OTYsMTggQEAKIAljb25zdCB1bnNpZ25lZCBjaGFyICplbmQ7CiB9OwogCi1zdGF0aWMgdm9pZCBzdGF0X2RhdGFfZnJvbV9kaXNrKHN0cnVjdCBzdGF0X2RhdGEgKnRvLCBjb25zdCBzdHJ1Y3Qgc3RhdF9kYXRhICpmcm9tKQorc3RhdGljIHZvaWQgc3RhdF9kYXRhX2Zyb21fZGlzayhzdHJ1Y3Qgc3RhdF9kYXRhICp0bywgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKLQl0by0+c2RfY3RpbWUuc2VjICA9IGdldF9iZTMyKCZmcm9tLT5zZF9jdGltZS5zZWMpOwotCXRvLT5zZF9jdGltZS5uc2VjID0gZ2V0X2JlMzIoJmZyb20tPnNkX2N0aW1lLm5zZWMpOwotCXRvLT5zZF9tdGltZS5zZWMgID0gZ2V0X2JlMzIoJmZyb20tPnNkX210aW1lLnNlYyk7Ci0JdG8tPnNkX210aW1lLm5zZWMgPSBnZXRfYmUzMigmZnJvbS0+c2RfbXRpbWUubnNlYyk7Ci0JdG8tPnNkX2RldgkgID0gZ2V0X2JlMzIoJmZyb20tPnNkX2Rldik7Ci0JdG8tPnNkX2lubwkgID0gZ2V0X2JlMzIoJmZyb20tPnNkX2lubyk7Ci0JdG8tPnNkX3VpZAkgID0gZ2V0X2JlMzIoJmZyb20tPnNkX3VpZCk7Ci0JdG8tPnNkX2dpZAkgID0gZ2V0X2JlMzIoJmZyb20tPnNkX2dpZCk7Ci0JdG8tPnNkX3NpemUJICA9IGdldF9iZTMyKCZmcm9tLT5zZF9zaXplKTsKKwltZW1jcHkodG8sIGRhdGEsIHNpemVvZigqdG8pKTsKKwl0by0+c2RfY3RpbWUuc2VjICA9IG50b2hsKHRvLT5zZF9jdGltZS5zZWMpOworCXRvLT5zZF9jdGltZS5uc2VjID0gbnRvaGwodG8tPnNkX2N0aW1lLm5zZWMpOworCXRvLT5zZF9tdGltZS5zZWMgID0gbnRvaGwodG8tPnNkX210aW1lLnNlYyk7CisJdG8tPnNkX210aW1lLm5zZWMgPSBudG9obCh0by0+c2RfbXRpbWUubnNlYyk7CisJdG8tPnNkX2RldgkgID0gbnRvaGwodG8tPnNkX2Rldik7CisJdG8tPnNkX2lubwkgID0gbnRvaGwodG8tPnNkX2lubyk7CisJdG8tPnNkX3VpZAkgID0gbnRvaGwodG8tPnNkX3VpZCk7CisJdG8tPnNkX2dpZAkgID0gbnRvaGwodG8tPnNkX2dpZCk7CisJdG8tPnNkX3NpemUJICA9IG50b2hsKHRvLT5zZF9zaXplKTsKIH0KIAogc3RhdGljIGludCByZWFkX29uZV9kaXIoc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgKip1bnRyYWNrZWRfLApAQCAtMjUzOCw3ICsyNjgyLDcgQEAKIAkJcmQtPmRhdGEgPSByZC0+ZW5kICsgMTsKIAkJcmV0dXJuOwogCX0KLQlzdGF0X2RhdGFfZnJvbV9kaXNrKCZ1ZC0+c3RhdF9kYXRhLCAoc3RydWN0IHN0YXRfZGF0YSAqKXJkLT5kYXRhKTsKKwlzdGF0X2RhdGFfZnJvbV9kaXNrKCZ1ZC0+c3RhdF9kYXRhLCByZC0+ZGF0YSk7CiAJcmQtPmRhdGEgKz0gc2l6ZW9mKHN0cnVjdCBzdGF0X2RhdGEpOwogCXVkLT52YWxpZCA9IDE7CiB9CkBAIC0yNTU2LDIyICsyNzAwLDIyIEBACiB9CiAKIHN0YXRpYyB2b2lkIGxvYWRfc2hhMV9zdGF0KHN0cnVjdCBzaGExX3N0YXQgKnNoYTFfc3RhdCwKLQkJCSAgIGNvbnN0IHN0cnVjdCBzdGF0X2RhdGEgKnN0YXQsCisJCQkgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLAogCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKLQlzdGF0X2RhdGFfZnJvbV9kaXNrKCZzaGExX3N0YXQtPnN0YXQsIHN0YXQpOworCXN0YXRfZGF0YV9mcm9tX2Rpc2soJnNoYTFfc3RhdC0+c3RhdCwgZGF0YSk7CiAJaGFzaGNweShzaGExX3N0YXQtPnNoYTEsIHNoYTEpOwogCXNoYTFfc3RhdC0+dmFsaWQgPSAxOwogfQogCiBzdHJ1Y3QgdW50cmFja2VkX2NhY2hlICpyZWFkX3VudHJhY2tlZF9leHRlbnNpb24oY29uc3Qgdm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBzeikKIHsKLQljb25zdCBzdHJ1Y3Qgb25kaXNrX3VudHJhY2tlZF9jYWNoZSAqb3VjOwogCXN0cnVjdCB1bnRyYWNrZWRfY2FjaGUgKnVjOwogCXN0cnVjdCByZWFkX2RhdGEgcmQ7CiAJY29uc3QgdW5zaWduZWQgY2hhciAqbmV4dCA9IGRhdGEsICplbmQgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKWRhdGEgKyBzejsKIAljb25zdCBjaGFyICppZGVudDsKIAlpbnQgaWRlbnRfbGVuLCBsZW47CisJY29uc3QgY2hhciAqZXhjbHVkZV9wZXJfZGlyOwogCiAJaWYgKHN6IDw9IDEgfHwgZW5kWy0xXSAhPSAnXDAnKQogCQlyZXR1cm4gTlVMTDsKQEAgLTI1ODMsMjEgKzI3MjcsMjMgQEAKIAlpZGVudCA9IChjb25zdCBjaGFyICopbmV4dDsKIAluZXh0ICs9IGlkZW50X2xlbjsKIAotCW91YyA9IChjb25zdCBzdHJ1Y3Qgb25kaXNrX3VudHJhY2tlZF9jYWNoZSAqKW5leHQ7CiAJaWYgKG5leHQgKyBvdWNfc2l6ZSgwKSA+IGVuZCkKIAkJcmV0dXJuIE5VTEw7CiAKIAl1YyA9IHhjYWxsb2MoMSwgc2l6ZW9mKCp1YykpOwogCXN0cmJ1Zl9pbml0KCZ1Yy0+aWRlbnQsIGlkZW50X2xlbik7CiAJc3RyYnVmX2FkZCgmdWMtPmlkZW50LCBpZGVudCwgaWRlbnRfbGVuKTsKLQlsb2FkX3NoYTFfc3RhdCgmdWMtPnNzX2luZm9fZXhjbHVkZSwgJm91Yy0+aW5mb19leGNsdWRlX3N0YXQsCi0JCSAgICAgICBvdWMtPmluZm9fZXhjbHVkZV9zaGExKTsKLQlsb2FkX3NoYTFfc3RhdCgmdWMtPnNzX2V4Y2x1ZGVzX2ZpbGUsICZvdWMtPmV4Y2x1ZGVzX2ZpbGVfc3RhdCwKLQkJICAgICAgIG91Yy0+ZXhjbHVkZXNfZmlsZV9zaGExKTsKLQl1Yy0+ZGlyX2ZsYWdzID0gZ2V0X2JlMzIoJm91Yy0+ZGlyX2ZsYWdzKTsKLQl1Yy0+ZXhjbHVkZV9wZXJfZGlyID0geHN0cmR1cChvdWMtPmV4Y2x1ZGVfcGVyX2Rpcik7CisJbG9hZF9zaGExX3N0YXQoJnVjLT5zc19pbmZvX2V4Y2x1ZGUsCisJCSAgICAgICBuZXh0ICsgb3VjX29mZnNldChpbmZvX2V4Y2x1ZGVfc3RhdCksCisJCSAgICAgICBuZXh0ICsgb3VjX29mZnNldChpbmZvX2V4Y2x1ZGVfc2hhMSkpOworCWxvYWRfc2hhMV9zdGF0KCZ1Yy0+c3NfZXhjbHVkZXNfZmlsZSwKKwkJICAgICAgIG5leHQgKyBvdWNfb2Zmc2V0KGV4Y2x1ZGVzX2ZpbGVfc3RhdCksCisJCSAgICAgICBuZXh0ICsgb3VjX29mZnNldChleGNsdWRlc19maWxlX3NoYTEpKTsKKwl1Yy0+ZGlyX2ZsYWdzID0gZ2V0X2JlMzIobmV4dCArIG91Y19vZmZzZXQoZGlyX2ZsYWdzKSk7CisJZXhjbHVkZV9wZXJfZGlyID0gKGNvbnN0IGNoYXIgKiluZXh0ICsgb3VjX29mZnNldChleGNsdWRlX3Blcl9kaXIpOworCXVjLT5leGNsdWRlX3Blcl9kaXIgPSB4c3RyZHVwKGV4Y2x1ZGVfcGVyX2Rpcik7CiAJLyogTlVMIGFmdGVyIGV4Y2x1ZGVfcGVyX2RpciBpcyBjb3ZlcmVkIGJ5IHNpemVvZigqb3VjKSAqLwotCW5leHQgKz0gb3VjX3NpemUoc3RybGVuKG91Yy0+ZXhjbHVkZV9wZXJfZGlyKSk7CisJbmV4dCArPSBvdWNfc2l6ZShzdHJsZW4oZXhjbHVkZV9wZXJfZGlyKSk7CiAJaWYgKG5leHQgPj0gZW5kKQogCQlnb3RvIGRvbmUyOwogCkBAIC0yNzI4LDIzICsyODc0LDMzIEBACiAvKiBVcGRhdGUgZ2l0ZmlsZSBhbmQgY29yZS53b3JrdHJlZSBzZXR0aW5nIHRvIGNvbm5lY3Qgd29yayB0cmVlIGFuZCBnaXQgZGlyICovCiB2b2lkIGNvbm5lY3Rfd29ya190cmVlX2FuZF9naXRfZGlyKGNvbnN0IGNoYXIgKndvcmtfdHJlZV8sIGNvbnN0IGNoYXIgKmdpdF9kaXJfKQogewotCXN0cnVjdCBzdHJidWYgZmlsZV9uYW1lID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBnaXRmaWxlX3NiID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBjZmdfc2IgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHJlbF9wYXRoID0gU1RSQlVGX0lOSVQ7Ci0JY2hhciAqZ2l0X2RpciA9IHJlYWxfcGF0aGR1cChnaXRfZGlyXywgMSk7Ci0JY2hhciAqd29ya190cmVlID0gcmVhbF9wYXRoZHVwKHdvcmtfdHJlZV8sIDEpOworCWNoYXIgKmdpdF9kaXIsICp3b3JrX3RyZWU7CiAKLQkvKiBVcGRhdGUgZ2l0ZmlsZSAqLwotCXN0cmJ1Zl9hZGRmKCZmaWxlX25hbWUsICIlcy8uZ2l0Iiwgd29ya190cmVlKTsKLQl3cml0ZV9maWxlKGZpbGVfbmFtZS5idWYsICJnaXRkaXI6ICVzIiwKKwkvKiBQcmVwYXJlIC5naXQgZmlsZSAqLworCXN0cmJ1Zl9hZGRmKCZnaXRmaWxlX3NiLCAiJXMvLmdpdCIsIHdvcmtfdHJlZV8pOworCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KGdpdGZpbGVfc2IuYnVmKSkKKwkJZGllKF8oImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3JpZXMgZm9yICVzIiksIGdpdGZpbGVfc2IuYnVmKTsKKworCS8qIFByZXBhcmUgY29uZmlnIGZpbGUgKi8KKwlzdHJidWZfYWRkZigmY2ZnX3NiLCAiJXMvY29uZmlnIiwgZ2l0X2Rpcl8pOworCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KGNmZ19zYi5idWYpKQorCQlkaWUoXygiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiKSwgY2ZnX3NiLmJ1Zik7CisKKwlnaXRfZGlyID0gcmVhbF9wYXRoZHVwKGdpdF9kaXJfLCAxKTsKKwl3b3JrX3RyZWUgPSByZWFsX3BhdGhkdXAod29ya190cmVlXywgMSk7CisKKwkvKiBXcml0ZSAuZ2l0IGZpbGUgKi8KKwl3cml0ZV9maWxlKGdpdGZpbGVfc2IuYnVmLCAiZ2l0ZGlyOiAlcyIsCiAJCSAgIHJlbGF0aXZlX3BhdGgoZ2l0X2Rpciwgd29ya190cmVlLCAmcmVsX3BhdGgpKTsKLQogCS8qIFVwZGF0ZSBjb3JlLndvcmt0cmVlIHNldHRpbmcgKi8KLQlzdHJidWZfcmVzZXQoJmZpbGVfbmFtZSk7Ci0Jc3RyYnVmX2FkZGYoJmZpbGVfbmFtZSwgIiVzL2NvbmZpZyIsIGdpdF9kaXIpOwotCWdpdF9jb25maWdfc2V0X2luX2ZpbGUoZmlsZV9uYW1lLmJ1ZiwgImNvcmUud29ya3RyZWUiLAorCWdpdF9jb25maWdfc2V0X2luX2ZpbGUoY2ZnX3NiLmJ1ZiwgImNvcmUud29ya3RyZWUiLAogCQkJICAgICAgIHJlbGF0aXZlX3BhdGgod29ya190cmVlLCBnaXRfZGlyLCAmcmVsX3BhdGgpKTsKIAotCXN0cmJ1Zl9yZWxlYXNlKCZmaWxlX25hbWUpOworCXN0cmJ1Zl9yZWxlYXNlKCZnaXRmaWxlX3NiKTsKKwlzdHJidWZfcmVsZWFzZSgmY2ZnX3NiKTsKIAlzdHJidWZfcmVsZWFzZSgmcmVsX3BhdGgpOwogCWZyZWUod29ya190cmVlKTsKIAlmcmVlKGdpdF9kaXIpOwpkaWZmIC0tZ2l0IGEvZGlyLmggYi9kaXIuaAppbmRleCBiZjIzYTQ3Li5lMzcxNzA1IDEwMDY0NAotLS0gYS9kaXIuaAorKysgYi9kaXIuaApAQCAtMTUxLDcgKzE1MSw4IEBACiAJCURJUl9OT19HSVRMSU5LUyA9IDE8PDMsCiAJCURJUl9DT0xMRUNUX0lHTk9SRUQgPSAxPDw0LAogCQlESVJfU0hPV19JR05PUkVEX1RPTyA9IDE8PDUsCi0JCURJUl9DT0xMRUNUX0tJTExFRF9PTkxZID0gMTw8NgorCQlESVJfQ09MTEVDVF9LSUxMRURfT05MWSA9IDE8PDYsCisJCURJUl9LRUVQX1VOVFJBQ0tFRF9DT05URU5UUyA9IDE8PDcKIAl9IGZsYWdzOwogCXN0cnVjdCBkaXJfZW50cnkgKiplbnRyaWVzOwogCXN0cnVjdCBkaXJfZW50cnkgKippZ25vcmVkOwpAQCAtMTk2LDYgKzE5Nyw5IEBACiAJdW5zaWduZWQgdW5tYW5hZ2VkX2V4Y2x1ZGVfZmlsZXM7CiB9OwogCisvKkNvdW50IHRoZSBudW1iZXIgb2Ygc2xhc2hlcyBmb3Igc3RyaW5nIHMqLworZXh0ZXJuIGludCBjb3VudF9zbGFzaGVzKGNvbnN0IGNoYXIgKnMpOworCiAvKgogICogVGhlIG9yZGVyaW5nIG9mIHRoZXNlIGNvbnN0YW50cyBpcyBzaWduaWZpY2FudCwgd2l0aAogICogaGlnaGVyLW51bWJlcmVkIG1hdGNoIHR5cGVzIHNpZ25pZnlpbmcgImNsb3NlciIgKGkuZS4gbW9yZQpAQCAtMjE0LDEyICsyMTgsMjAgQEAKIGV4dGVybiBpbnQgcmVwb3J0X3BhdGhfZXJyb3IoY29uc3QgY2hhciAqcHNfbWF0Y2hlZCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgY29uc3QgY2hhciAqcHJlZml4KTsKIGV4dGVybiBpbnQgd2l0aGluX2RlcHRoKGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgZGVwdGgsIGludCBtYXhfZGVwdGgpOwogCi1leHRlcm4gaW50IGZpbGxfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOwotZXh0ZXJuIGludCByZWFkX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKK2V4dGVybiBpbnQgZmlsbF9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJCSAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOworZXh0ZXJuIGludCByZWFkX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSAgY29uc3QgY2hhciAqcGF0aCwgaW50IGxlbiwKKwkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiAKLWV4dGVybiBpbnQgaXNfZXhjbHVkZWRfZnJvbV9saXN0KGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgcGF0aGxlbiwgY29uc3QgY2hhciAqYmFzZW5hbWUsCi0JCQkJIGludCAqZHR5cGUsIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsKTsKLXN0cnVjdCBkaXJfZW50cnkgKmRpcl9hZGRfaWdub3JlZChzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBjaGFyICpwYXRobmFtZSwgaW50IGxlbik7CitleHRlcm4gaW50IGlzX2V4Y2x1ZGVkX2Zyb21fbGlzdChjb25zdCBjaGFyICpwYXRobmFtZSwgaW50IHBhdGhsZW4sCisJCQkJIGNvbnN0IGNoYXIgKmJhc2VuYW1lLCBpbnQgKmR0eXBlLAorCQkJCSBzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwKKwkJCQkgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpOworc3RydWN0IGRpcl9lbnRyeSAqZGlyX2FkZF9pZ25vcmVkKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCisJCQkJICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCQkgIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgbGVuKTsKIAogLyoKICAqIHRoZXNlIGltcGxlbWVudCB0aGUgbWF0Y2hpbmcgbG9naWMgZm9yIGRpci5jOmV4Y2x1ZGVkX2Zyb21fbGlzdCBhbmQKQEAgLTIzMiwxNCArMjQ0LDE3IEBACiAJCQkgIGNvbnN0IGNoYXIgKiwgaW50LCBpbnQsIHVuc2lnbmVkKTsKIAogZXh0ZXJuIHN0cnVjdCBleGNsdWRlICpsYXN0X2V4Y2x1ZGVfbWF0Y2hpbmcoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJCQkJICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJCQkJICAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgKmR0eXBlKTsKIAotZXh0ZXJuIGludCBpc19leGNsdWRlZChzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgKmR0eXBlKTsKK2V4dGVybiBpbnQgaXNfZXhjbHVkZWQoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJICAgICAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50ICpkdHlwZSk7CiAKIGV4dGVybiBzdHJ1Y3QgZXhjbHVkZV9saXN0ICphZGRfZXhjbHVkZV9saXN0KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCiAJCQkJCSAgICAgaW50IGdyb3VwX3R5cGUsIGNvbnN0IGNoYXIgKnNyYyk7CiBleHRlcm4gaW50IGFkZF9leGNsdWRlc19mcm9tX2ZpbGVfdG9fbGlzdChjb25zdCBjaGFyICpmbmFtZSwgY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCi0JCQkJCSAgc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwsIGludCBjaGVja19pbmRleCk7CisJCQkJCSAgc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwsIHN0cnVjdCAgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CiBleHRlcm4gdm9pZCBhZGRfZXhjbHVkZXNfZnJvbV9maWxlKHN0cnVjdCBkaXJfc3RydWN0ICosIGNvbnN0IGNoYXIgKmZuYW1lKTsKIGV4dGVybiB2b2lkIHBhcnNlX2V4Y2x1ZGVfcGF0dGVybihjb25zdCBjaGFyICoqc3RyaW5nLCBpbnQgKnBhdHRlcm5sZW4sIHVuc2lnbmVkICpmbGFncywgaW50ICpub3dpbGRjYXJkbGVuKTsKIGV4dGVybiB2b2lkIGFkZF9leGNsdWRlKGNvbnN0IGNoYXIgKnN0cmluZywgY29uc3QgY2hhciAqYmFzZSwKQEAgLTMyNiw2ICszNDEsOSBAQAogCQkJICAgICAgaGFzX3RyYWlsaW5nX2Rpcik7CiB9CiAKK2ludCBjbXBfZGlyX2VudHJ5KGNvbnN0IHZvaWQgKnAxLCBjb25zdCB2b2lkICpwMik7CitpbnQgY2hlY2tfZGlyX2VudHJ5X2NvbnRhaW5zKGNvbnN0IHN0cnVjdCBkaXJfZW50cnkgKm91dCwgY29uc3Qgc3RydWN0IGRpcl9lbnRyeSAqaW4pOworCiB2b2lkIHVudHJhY2tlZF9jYWNoZV9pbnZhbGlkYXRlX3BhdGgoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKik7CiB2b2lkIHVudHJhY2tlZF9jYWNoZV9yZW1vdmVfZnJvbV9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqKTsKIHZvaWQgdW50cmFja2VkX2NhY2hlX2FkZF90b19pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqKTsKZGlmZiAtLWdpdCBhL2VudHJ5LmMgYi9lbnRyeS5jCmluZGV4IGM2ZWVhMjQuLjFjN2UzYzEgMTAwNjQ0Ci0tLSBhL2VudHJ5LmMKKysrIGIvZW50cnkuYwpAQCAtMiw2ICsyLDggQEAKICNpbmNsdWRlICJibG9iLmgiCiAjaW5jbHVkZSAiZGlyLmgiCiAjaW5jbHVkZSAic3RyZWFtaW5nLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLmgiCisjaW5jbHVkZSAicHJvZ3Jlc3MuaCIKIAogc3RhdGljIHZvaWQgY3JlYXRlX2RpcmVjdG9yaWVzKGNvbnN0IGNoYXIgKnBhdGgsIGludCBwYXRoX2xlbiwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlKQpAQCAtMTM2LDYgKzEzOCwxMTcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCit2b2lkIGVuYWJsZV9kZWxheWVkX2NoZWNrb3V0KHN0cnVjdCBjaGVja291dCAqc3RhdGUpCit7CisJaWYgKCFzdGF0ZS0+ZGVsYXllZF9jaGVja291dCkgeworCQlzdGF0ZS0+ZGVsYXllZF9jaGVja291dCA9IHhtYWxsb2Moc2l6ZW9mKCpzdGF0ZS0+ZGVsYXllZF9jaGVja291dCkpOworCQlzdGF0ZS0+ZGVsYXllZF9jaGVja291dC0+c3RhdGUgPSBDRV9DQU5fREVMQVk7CisJCXN0cmluZ19saXN0X2luaXQoJnN0YXRlLT5kZWxheWVkX2NoZWNrb3V0LT5maWx0ZXJzLCAwKTsKKwkJc3RyaW5nX2xpc3RfaW5pdCgmc3RhdGUtPmRlbGF5ZWRfY2hlY2tvdXQtPnBhdGhzLCAwKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcmVtb3ZlX2F2YWlsYWJsZV9wYXRocyhzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbSwgdm9pZCAqY2JfZGF0YSkKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmF2YWlsYWJsZV9wYXRocyA9IGNiX2RhdGE7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKmF2YWlsYWJsZTsKKworCWF2YWlsYWJsZSA9IHN0cmluZ19saXN0X2xvb2t1cChhdmFpbGFibGVfcGF0aHMsIGl0ZW0tPnN0cmluZyk7CisJaWYgKGF2YWlsYWJsZSkKKwkJYXZhaWxhYmxlLT51dGlsID0gKHZvaWQgKilpdGVtLT5zdHJpbmc7CisJcmV0dXJuICFhdmFpbGFibGU7Cit9CisKK2ludCBmaW5pc2hfZGVsYXllZF9jaGVja291dChzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlKQoreworCWludCBlcnJzID0gMDsKKwl1bnNpZ25lZCBkZWxheWVkX29iamVjdF9jb3VudDsKKwlvZmZfdCBmaWx0ZXJlZF9ieXRlcyA9IDA7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKmZpbHRlciwgKnBhdGg7CisJc3RydWN0IHByb2dyZXNzICpwcm9ncmVzczsKKwlzdHJ1Y3QgZGVsYXllZF9jaGVja291dCAqZGNvID0gc3RhdGUtPmRlbGF5ZWRfY2hlY2tvdXQ7CisKKwlpZiAoIXN0YXRlLT5kZWxheWVkX2NoZWNrb3V0KQorCQlyZXR1cm4gZXJyczsKKworCWRjby0+c3RhdGUgPSBDRV9SRVRSWTsKKwlkZWxheWVkX29iamVjdF9jb3VudCA9IGRjby0+cGF0aHMubnI7CisJcHJvZ3Jlc3MgPSBzdGFydF9kZWxheWVkX3Byb2dyZXNzKF8oIkZpbHRlcmluZyBjb250ZW50IiksIGRlbGF5ZWRfb2JqZWN0X2NvdW50KTsKKwl3aGlsZSAoZGNvLT5maWx0ZXJzLm5yID4gMCkgeworCQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGZpbHRlciwgJmRjby0+ZmlsdGVycykgeworCQkJc3RydWN0IHN0cmluZ19saXN0IGF2YWlsYWJsZV9wYXRocyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CisJCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCBkZWxheWVkX29iamVjdF9jb3VudCAtIGRjby0+cGF0aHMubnIpOworCisJCQlpZiAoIWFzeW5jX3F1ZXJ5X2F2YWlsYWJsZV9ibG9icyhmaWx0ZXItPnN0cmluZywgJmF2YWlsYWJsZV9wYXRocykpIHsKKwkJCQkvKiBGaWx0ZXIgcmVwb3J0ZWQgYW4gZXJyb3IgKi8KKwkJCQllcnJzID0gMTsKKwkJCQlmaWx0ZXItPnN0cmluZyA9ICIiOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKGF2YWlsYWJsZV9wYXRocy5uciA8PSAwKSB7CisJCQkJLyoKKwkJCQkgKiBGaWx0ZXIgcmVzcG9uZGVkIHdpdGggbm8gZW50cmllcy4gVGhhdCBtZWFucworCQkJCSAqIHRoZSBmaWx0ZXIgaXMgZG9uZSBhbmQgd2UgY2FuIHJlbW92ZSB0aGUKKwkJCQkgKiBmaWx0ZXIgZnJvbSB0aGUgbGlzdCAoc2VlCisJCQkJICogInN0cmluZ19saXN0X3JlbW92ZV9lbXB0eV9pdGVtcyIgY2FsbCBiZWxvdykuCisJCQkJICovCisJCQkJZmlsdGVyLT5zdHJpbmcgPSAiIjsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJLyoKKwkJCSAqIEluIGRjby0+cGF0aHMgd2Ugc3RvcmUgYSBsaXN0IG9mIGFsbCBkZWxheWVkIHBhdGhzLgorCQkJICogVGhlIGZpbHRlciBqdXN0IHNlbmQgdXMgYSBsaXN0IG9mIGF2YWlsYWJsZSBwYXRocy4KKwkJCSAqIFJlbW92ZSB0aGVtIGZyb20gdGhlIGxpc3QuCisJCQkgKi8KKwkJCWZpbHRlcl9zdHJpbmdfbGlzdCgmZGNvLT5wYXRocywgMCwKKwkJCQkmcmVtb3ZlX2F2YWlsYWJsZV9wYXRocywgJmF2YWlsYWJsZV9wYXRocyk7CisKKwkJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0ocGF0aCwgJmF2YWlsYWJsZV9wYXRocykgeworCQkJCXN0cnVjdCBjYWNoZV9lbnRyeSogY2U7CisKKwkJCQlpZiAoIXBhdGgtPnV0aWwpIHsKKwkJCQkJZXJyb3IoImV4dGVybmFsIGZpbHRlciAnJXMnIHNpZ25hbGVkIHRoYXQgJyVzJyAiCisJCQkJCSAgICAgICJpcyBub3cgYXZhaWxhYmxlIGFsdGhvdWdoIGl0IGhhcyBub3QgYmVlbiAiCisJCQkJCSAgICAgICJkZWxheWVkIGVhcmxpZXIiLAorCQkJCQkgICAgICBmaWx0ZXItPnN0cmluZywgcGF0aC0+c3RyaW5nKTsKKwkJCQkJZXJycyB8PSAxOworCisJCQkJCS8qCisJCQkJCSAqIERvIG5vdCBhc2sgdGhlIGZpbHRlciBmb3IgYXZhaWxhYmxlIGJsb2JzLAorCQkJCQkgKiBhZ2FpbiwgYXMgdGhlIGZpbHRlciBpcyBsaWtlbHkgYnVnZ3kuCisJCQkJCSAqLworCQkJCQlmaWx0ZXItPnN0cmluZyA9ICIiOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJY2UgPSBpbmRleF9maWxlX2V4aXN0cyhzdGF0ZS0+aXN0YXRlLCBwYXRoLT5zdHJpbmcsCisJCQkJCQkgICAgICAgc3RybGVuKHBhdGgtPnN0cmluZyksIDApOworCQkJCWlmIChjZSkgeworCQkJCQllcnJzIHw9IGNoZWNrb3V0X2VudHJ5KGNlLCBzdGF0ZSwgTlVMTCk7CisJCQkJCWZpbHRlcmVkX2J5dGVzICs9IGNlLT5jZV9zdGF0X2RhdGEuc2Rfc2l6ZTsKKwkJCQkJZGlzcGxheV90aHJvdWdocHV0KHByb2dyZXNzLCBmaWx0ZXJlZF9ieXRlcyk7CisJCQkJfSBlbHNlCisJCQkJCWVycnMgPSAxOworCQkJfQorCQl9CisJCXN0cmluZ19saXN0X3JlbW92ZV9lbXB0eV9pdGVtcygmZGNvLT5maWx0ZXJzLCAwKTsKKwl9CisJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOworCXN0cmluZ19saXN0X2NsZWFyKCZkY28tPmZpbHRlcnMsIDApOworCisJLyogQXQgdGhpcyBwb2ludCB3ZSBzaG91bGQgbm90IGhhdmUgYW55IGRlbGF5ZWQgcGF0aHMgYW55bW9yZS4gKi8KKwllcnJzIHw9IGRjby0+cGF0aHMubnI7CisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShwYXRoLCAmZGNvLT5wYXRocykgeworCQllcnJvcigiJyVzJyB3YXMgbm90IGZpbHRlcmVkIHByb3Blcmx5IiwgcGF0aC0+c3RyaW5nKTsKKwl9CisJc3RyaW5nX2xpc3RfY2xlYXIoJmRjby0+cGF0aHMsIDApOworCisJZnJlZShkY28pOworCXN0YXRlLT5kZWxheWVkX2NoZWNrb3V0ID0gTlVMTDsKKworCXJldHVybiBlcnJzOworfQorCiBzdGF0aWMgaW50IHdyaXRlX2VudHJ5KHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCiAJCSAgICAgICBjaGFyICpwYXRoLCBjb25zdCBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlLCBpbnQgdG9fdGVtcGZpbGUpCiB7CkBAIC0xNDQsOCArMjU3LDEwIEBACiAJY2hhciAqbmV3OwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJdW5zaWduZWQgbG9uZyBzaXplOwotCXNpemVfdCB3cm90ZSwgbmV3c2l6ZSA9IDA7CisJc3NpemVfdCB3cm90ZTsKKwlzaXplX3QgbmV3c2l6ZSA9IDA7CiAJc3RydWN0IHN0YXQgc3Q7CisJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViOwogCiAJaWYgKGNlX21vZGVfc19pZm10ID09IFNfSUZSRUcpIHsKIAkJc3RydWN0IHN0cmVhbV9maWx0ZXIgKmZpbHRlciA9IGdldF9zdHJlYW1fZmlsdGVyKGNlLT5uYW1lLApAQCAtMTc3LDExICsyOTIsMzQgQEAKIAkJLyoKIAkJICogQ29udmVydCBmcm9tIGdpdCBpbnRlcm5hbCBmb3JtYXQgdG8gd29ya2luZyB0cmVlIGZvcm1hdAogCQkgKi8KLQkJaWYgKGNlX21vZGVfc19pZm10ID09IFNfSUZSRUcgJiYKLQkJICAgIGNvbnZlcnRfdG9fd29ya2luZ190cmVlKGNlLT5uYW1lLCBuZXcsIHNpemUsICZidWYpKSB7Ci0JCQlmcmVlKG5ldyk7Ci0JCQluZXcgPSBzdHJidWZfZGV0YWNoKCZidWYsICZuZXdzaXplKTsKLQkJCXNpemUgPSBuZXdzaXplOworCQlpZiAoY2VfbW9kZV9zX2lmbXQgPT0gU19JRlJFRykgeworCQkJc3RydWN0IGRlbGF5ZWRfY2hlY2tvdXQgKmRjbyA9IHN0YXRlLT5kZWxheWVkX2NoZWNrb3V0OworCQkJaWYgKGRjbyAmJiBkY28tPnN0YXRlICE9IENFX05PX0RFTEFZKSB7CisJCQkJLyogRG8gbm90IHNlbmQgdGhlIGJsb2IgaW4gY2FzZSBvZiBhIHJldHJ5LiAqLworCQkJCWlmIChkY28tPnN0YXRlID09IENFX1JFVFJZKSB7CisJCQkJCW5ldyA9IE5VTEw7CisJCQkJCXNpemUgPSAwOworCQkJCX0KKwkJCQlyZXQgPSBhc3luY19jb252ZXJ0X3RvX3dvcmtpbmdfdHJlZSgKKwkJCQkJY2UtPm5hbWUsIG5ldywgc2l6ZSwgJmJ1ZiwgZGNvKTsKKwkJCQlpZiAocmV0ICYmIHN0cmluZ19saXN0X2hhc19zdHJpbmcoJmRjby0+cGF0aHMsIGNlLT5uYW1lKSkgeworCQkJCQlmcmVlKG5ldyk7CisJCQkJCWdvdG8gZmluaXNoOworCQkJCX0KKwkJCX0gZWxzZQorCQkJCXJldCA9IGNvbnZlcnRfdG9fd29ya2luZ190cmVlKAorCQkJCQljZS0+bmFtZSwgbmV3LCBzaXplLCAmYnVmKTsKKworCQkJaWYgKHJldCkgeworCQkJCWZyZWUobmV3KTsKKwkJCQluZXcgPSBzdHJidWZfZGV0YWNoKCZidWYsICZuZXdzaXplKTsKKwkJCQlzaXplID0gbmV3c2l6ZTsKKwkJCX0KKwkJCS8qCisJCQkgKiBObyAiZWxzZSIgaGVyZSBhcyBlcnJvcnMgZnJvbSBjb252ZXJ0IGFyZSBPSyBhdCB0aGlzCisJCQkgKiBwb2ludC4gSWYgdGhlIGVycm9yIHdvdWxkIGhhdmUgYmVlbiBmYXRhbCAoZS5nLgorCQkJICogZmlsdGVyIGlzIHJlcXVpcmVkKSwgdGhlbiB3ZSB3b3VsZCBoYXZlIGRpZWQgYWxyZWFkeS4KKwkJCSAqLwogCQl9CiAKIAkJZmQgPSBvcGVuX291dHB1dF9mZChwYXRoLCBjZSwgdG9fdGVtcGZpbGUpOwpAQCAtMTk1LDcgKzMzMyw3IEBACiAJCQlmc3RhdF9kb25lID0gZnN0YXRfb3V0cHV0KGZkLCBzdGF0ZSwgJnN0KTsKIAkJY2xvc2UoZmQpOwogCQlmcmVlKG5ldyk7Ci0JCWlmICh3cm90ZSAhPSBzaXplKQorCQlpZiAod3JvdGUgPCAwKQogCQkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gd3JpdGUgZmlsZSAlcyIsIHBhdGgpOwogCQlicmVhazsKIAljYXNlIFNfSUZHSVRMSU5LOgpAQCAtMjAzLDYgKzM0MSwxMSBAQAogCQkJcmV0dXJuIGVycm9yKCJjYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBzdWJtb2R1bGUgJXMiLCBwYXRoKTsKIAkJaWYgKG1rZGlyKHBhdGgsIDA3NzcpIDwgMCkKIAkJCXJldHVybiBlcnJvcigiY2Fubm90IGNyZWF0ZSBzdWJtb2R1bGUgZGlyZWN0b3J5ICVzIiwgcGF0aCk7CisJCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX2NlKGNlKTsKKwkJaWYgKHN1YikKKwkJCXJldHVybiBzdWJtb2R1bGVfbW92ZV9oZWFkKGNlLT5uYW1lLAorCQkJCU5VTEwsIG9pZF90b19oZXgoJmNlLT5vaWQpLAorCQkJCXN0YXRlLT5mb3JjZSA/IFNVQk1PRFVMRV9NT1ZFX0hFQURfRk9SQ0UgOiAwKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIGVycm9yKCJ1bmtub3duIGZpbGUgbW9kZSBmb3IgJXMgaW4gaW5kZXgiLCBwYXRoKTsKQEAgLTI1OSw3ICs0MDIsMzAgQEAKIAlzdHJidWZfYWRkKCZwYXRoLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSkpOwogCiAJaWYgKCFjaGVja19wYXRoKHBhdGguYnVmLCBwYXRoLmxlbiwgJnN0LCBzdGF0ZS0+YmFzZV9kaXJfbGVuKSkgeworCQljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWI7CiAJCXVuc2lnbmVkIGNoYW5nZWQgPSBjZV9tYXRjaF9zdGF0KGNlLCAmc3QsIENFX01BVENIX0lHTk9SRV9WQUxJRHxDRV9NQVRDSF9JR05PUkVfU0tJUF9XT1JLVFJFRSk7CisJCS8qCisJCSAqIE5lZWRzIHRvIGJlIGNoZWNrZWQgYmVmb3JlICFjaGFuZ2VkIHJldHVybnMgZWFybHksCisJCSAqIGFzIHRoZSBwb3NzaWJseSBlbXB0eSBkaXJlY3Rvcnkgd2FzIG5vdCBjaGFuZ2VkCisJCSAqLworCQlzdWIgPSBzdWJtb2R1bGVfZnJvbV9jZShjZSk7CisJCWlmIChzdWIpIHsKKwkJCWludCBlcnI7CisJCQlpZiAoIWlzX3N1Ym1vZHVsZV9wb3B1bGF0ZWRfZ2VudGx5KGNlLT5uYW1lLCAmZXJyKSkgeworCQkJCXN0cnVjdCBzdGF0IHNiOworCQkJCWlmIChsc3RhdChjZS0+bmFtZSwgJnNiKSkKKwkJCQkJZGllKF8oImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIpLCBjZS0+bmFtZSk7CisJCQkJaWYgKCEoc3Quc3RfbW9kZSAmIFNfSUZESVIpKQorCQkJCQl1bmxpbmtfb3Jfd2FybihjZS0+bmFtZSk7CisKKwkJCQlyZXR1cm4gc3VibW9kdWxlX21vdmVfaGVhZChjZS0+bmFtZSwKKwkJCQkJTlVMTCwgb2lkX3RvX2hleCgmY2UtPm9pZCksIDApOworCQkJfSBlbHNlCisJCQkJcmV0dXJuIHN1Ym1vZHVsZV9tb3ZlX2hlYWQoY2UtPm5hbWUsCisJCQkJCSJIRUFEIiwgb2lkX3RvX2hleCgmY2UtPm9pZCksCisJCQkJCXN0YXRlLT5mb3JjZSA/IFNVQk1PRFVMRV9NT1ZFX0hFQURfRk9SQ0UgOiAwKTsKKwkJfQorCiAJCWlmICghY2hhbmdlZCkKIAkJCXJldHVybiAwOwogCQlpZiAoIXN0YXRlLT5mb3JjZSkgewpkaWZmIC0tZ2l0IGEvZW52aXJvbm1lbnQuYyBiL2Vudmlyb25tZW50LmMKaW5kZXggMmZkYmE3Ni4uODI4OWMyNSAxMDA2NDQKLS0tIGEvZW52aXJvbm1lbnQuYworKysgYi9lbnZpcm9ubWVudC5jCkBAIC04LDYgKzgsOCBAQAogICogYXJlLgogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImZtdC1tZXJnZS1tc2cuaCIKICNpbmNsdWRlICJjb21taXQuaCIKQEAgLTk0LDE3ICs5NiwxMSBAQAogCiAvKiBUaGlzIGlzIHNldCBieSBzZXR1cF9naXRfZGlyX2dlbnRseSgpIGFuZC9vciBnaXRfZGVmYXVsdF9jb25maWcoKSAqLwogY2hhciAqZ2l0X3dvcmtfdHJlZV9jZmc7Ci1zdGF0aWMgY2hhciAqd29ya190cmVlOwogCi1zdGF0aWMgY29uc3QgY2hhciAqbmFtZXNwYWNlOwotc3RhdGljIHNpemVfdCBuYW1lc3BhY2VfbGVuOworc3RhdGljIGNoYXIgKm5hbWVzcGFjZTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKnN1cGVyX3ByZWZpeDsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmdpdF9kaXIsICpnaXRfY29tbW9uX2RpcjsKLXN0YXRpYyBjaGFyICpnaXRfb2JqZWN0X2RpciwgKmdpdF9pbmRleF9maWxlLCAqZ2l0X2dyYWZ0X2ZpbGU7Ci1pbnQgZ2l0X2RiX2VudiwgZ2l0X2luZGV4X2VudiwgZ2l0X2dyYWZ0X2VudiwgZ2l0X2NvbW1vbl9kaXJfZW52OwotCiAvKgogICogUmVwb3NpdG9yeS1sb2NhbCBHSVRfKiBlbnZpcm9ubWVudCB2YXJpYWJsZXM7IHNlZSBjYWNoZS5oIGZvciBkZXRhaWxzLgogICovCkBAIC0xNDgsNDUgKzE0NCwxOSBAQAogCXJldHVybiBzdHJidWZfZGV0YWNoKCZidWYsIE5VTEwpOwogfQogCi1zdGF0aWMgY2hhciAqZ2l0X3BhdGhfZnJvbV9lbnYoY29uc3QgY2hhciAqZW52dmFyLCBjb25zdCBjaGFyICpnaXRfZGlyLAotCQkJICAgICAgIGNvbnN0IGNoYXIgKnBhdGgsIGludCAqZnJvbWVudikKK3ZvaWQgc2V0dXBfZ2l0X2Vudih2b2lkKQogewotCWNvbnN0IGNoYXIgKnZhbHVlID0gZ2V0ZW52KGVudnZhcik7Ci0JaWYgKCF2YWx1ZSkKLQkJcmV0dXJuIHhzdHJmbXQoIiVzLyVzIiwgZ2l0X2RpciwgcGF0aCk7Ci0JaWYgKGZyb21lbnYpCi0JCSpmcm9tZW52ID0gMTsKLQlyZXR1cm4geHN0cmR1cCh2YWx1ZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNldHVwX2dpdF9lbnYodm9pZCkKLXsKLQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7Ci0JY29uc3QgY2hhciAqZ2l0ZmlsZTsKIAljb25zdCBjaGFyICpzaGFsbG93X2ZpbGU7CiAJY29uc3QgY2hhciAqcmVwbGFjZV9yZWZfYmFzZTsKIAotCWdpdF9kaXIgPSBnZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCk7Ci0JaWYgKCFnaXRfZGlyKQotCQlnaXRfZGlyID0gREVGQVVMVF9HSVRfRElSX0VOVklST05NRU5UOwotCWdpdGZpbGUgPSByZWFkX2dpdGZpbGUoZ2l0X2Rpcik7Ci0JZ2l0X2RpciA9IHhzdHJkdXAoZ2l0ZmlsZSA/IGdpdGZpbGUgOiBnaXRfZGlyKTsKLQlpZiAoZ2V0X2NvbW1vbl9kaXIoJnNiLCBnaXRfZGlyKSkKLQkJZ2l0X2NvbW1vbl9kaXJfZW52ID0gMTsKLQlnaXRfY29tbW9uX2RpciA9IHN0cmJ1Zl9kZXRhY2goJnNiLCBOVUxMKTsKLQlnaXRfb2JqZWN0X2RpciA9IGdpdF9wYXRoX2Zyb21fZW52KERCX0VOVklST05NRU5ULCBnaXRfY29tbW9uX2RpciwKLQkJCQkJICAgIm9iamVjdHMiLCAmZ2l0X2RiX2Vudik7Ci0JZ2l0X2luZGV4X2ZpbGUgPSBnaXRfcGF0aF9mcm9tX2VudihJTkRFWF9FTlZJUk9OTUVOVCwgZ2l0X2RpciwKLQkJCQkJICAgImluZGV4IiwgJmdpdF9pbmRleF9lbnYpOwotCWdpdF9ncmFmdF9maWxlID0gZ2l0X3BhdGhfZnJvbV9lbnYoR1JBRlRfRU5WSVJPTk1FTlQsIGdpdF9jb21tb25fZGlyLAotCQkJCQkgICAiaW5mby9ncmFmdHMiLCAmZ2l0X2dyYWZ0X2Vudik7CiAJaWYgKGdldGVudihOT19SRVBMQUNFX09CSkVDVFNfRU5WSVJPTk1FTlQpKQogCQljaGVja19yZXBsYWNlX3JlZnMgPSAwOwogCXJlcGxhY2VfcmVmX2Jhc2UgPSBnZXRlbnYoR0lUX1JFUExBQ0VfUkVGX0JBU0VfRU5WSVJPTk1FTlQpOworCWZyZWUoZ2l0X3JlcGxhY2VfcmVmX2Jhc2UpOwogCWdpdF9yZXBsYWNlX3JlZl9iYXNlID0geHN0cmR1cChyZXBsYWNlX3JlZl9iYXNlID8gcmVwbGFjZV9yZWZfYmFzZQogCQkJCQkJCSAgOiAicmVmcy9yZXBsYWNlLyIpOworCWZyZWUobmFtZXNwYWNlKTsKIAluYW1lc3BhY2UgPSBleHBhbmRfbmFtZXNwYWNlKGdldGVudihHSVRfTkFNRVNQQUNFX0VOVklST05NRU5UKSk7Ci0JbmFtZXNwYWNlX2xlbiA9IHN0cmxlbihuYW1lc3BhY2UpOwogCXNoYWxsb3dfZmlsZSA9IGdldGVudihHSVRfU0hBTExPV19GSUxFX0VOVklST05NRU5UKTsKIAlpZiAoc2hhbGxvd19maWxlKQogCQlzZXRfYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZShzaGFsbG93X2ZpbGUsIDApOwpAQCAtMjAxLDM0ICsxNzEsMzYgQEAKIGludCBoYXZlX2dpdF9kaXIodm9pZCkKIHsKIAlyZXR1cm4gc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkKLQkJfHwgZ2l0X2RpcgotCQl8fCBnZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCk7CisJCXx8IHRoZV9yZXBvc2l0b3J5LT5naXRkaXI7CiB9CiAKIGNvbnN0IGNoYXIgKmdldF9naXRfZGlyKHZvaWQpCiB7Ci0JaWYgKCFnaXRfZGlyKQotCQlzZXR1cF9naXRfZW52KCk7Ci0JcmV0dXJuIGdpdF9kaXI7CisJaWYgKCF0aGVfcmVwb3NpdG9yeS0+Z2l0ZGlyKQorCQlCVUcoImdpdCBlbnZpcm9ubWVudCBoYXNuJ3QgYmVlbiBzZXR1cCIpOworCXJldHVybiB0aGVfcmVwb3NpdG9yeS0+Z2l0ZGlyOwogfQogCiBjb25zdCBjaGFyICpnZXRfZ2l0X2NvbW1vbl9kaXIodm9pZCkKIHsKLQlyZXR1cm4gZ2l0X2NvbW1vbl9kaXI7CisJaWYgKCF0aGVfcmVwb3NpdG9yeS0+Y29tbW9uZGlyKQorCQlCVUcoImdpdCBlbnZpcm9ubWVudCBoYXNuJ3QgYmVlbiBzZXR1cCIpOworCXJldHVybiB0aGVfcmVwb3NpdG9yeS0+Y29tbW9uZGlyOwogfQogCiBjb25zdCBjaGFyICpnZXRfZ2l0X25hbWVzcGFjZSh2b2lkKQogewogCWlmICghbmFtZXNwYWNlKQotCQlzZXR1cF9naXRfZW52KCk7CisJCUJVRygiZ2l0IGVudmlyb25tZW50IGhhc24ndCBiZWVuIHNldHVwIik7CiAJcmV0dXJuIG5hbWVzcGFjZTsKIH0KIAogY29uc3QgY2hhciAqc3RyaXBfbmFtZXNwYWNlKGNvbnN0IGNoYXIgKm5hbWVzcGFjZWRfcmVmKQogewotCWlmICghc3RhcnRzX3dpdGgobmFtZXNwYWNlZF9yZWYsIGdldF9naXRfbmFtZXNwYWNlKCkpKQotCQlyZXR1cm4gTlVMTDsKLQlyZXR1cm4gbmFtZXNwYWNlZF9yZWYgKyBuYW1lc3BhY2VfbGVuOworCWNvbnN0IGNoYXIgKm91dDsKKwlpZiAoc2tpcF9wcmVmaXgobmFtZXNwYWNlZF9yZWYsIGdldF9naXRfbmFtZXNwYWNlKCksICZvdXQpKQorCQlyZXR1cm4gb3V0OworCXJldHVybiBOVUxMOwogfQogCiBjb25zdCBjaGFyICpnZXRfc3VwZXJfcHJlZml4KHZvaWQpCkBAIC0yNTIsMjkgKzIyNCwyOSBAQAogewogCWlmIChnaXRfd29ya190cmVlX2luaXRpYWxpemVkKSB7CiAJCW5ld193b3JrX3RyZWUgPSByZWFsX3BhdGgobmV3X3dvcmtfdHJlZSk7Ci0JCWlmIChzdHJjbXAobmV3X3dvcmtfdHJlZSwgd29ya190cmVlKSkKKwkJaWYgKHN0cmNtcChuZXdfd29ya190cmVlLCB0aGVfcmVwb3NpdG9yeS0+d29ya3RyZWUpKQogCQkJZGllKCJpbnRlcm5hbCBlcnJvcjogd29yayB0cmVlIGhhcyBhbHJlYWR5IGJlZW4gc2V0XG4iCiAJCQkgICAgIkN1cnJlbnQgd29ya3RyZWU6ICVzXG5OZXcgd29ya3RyZWU6ICVzIiwKLQkJCSAgICB3b3JrX3RyZWUsIG5ld193b3JrX3RyZWUpOworCQkJICAgIHRoZV9yZXBvc2l0b3J5LT53b3JrdHJlZSwgbmV3X3dvcmtfdHJlZSk7CiAJCXJldHVybjsKIAl9CiAJZ2l0X3dvcmtfdHJlZV9pbml0aWFsaXplZCA9IDE7Ci0Jd29ya190cmVlID0gcmVhbF9wYXRoZHVwKG5ld193b3JrX3RyZWUsIDEpOworCXJlcG9fc2V0X3dvcmt0cmVlKHRoZV9yZXBvc2l0b3J5LCBuZXdfd29ya190cmVlKTsKIH0KIAogY29uc3QgY2hhciAqZ2V0X2dpdF93b3JrX3RyZWUodm9pZCkKIHsKLQlyZXR1cm4gd29ya190cmVlOworCXJldHVybiB0aGVfcmVwb3NpdG9yeS0+d29ya3RyZWU7CiB9CiAKIGNoYXIgKmdldF9vYmplY3RfZGlyZWN0b3J5KHZvaWQpCiB7Ci0JaWYgKCFnaXRfb2JqZWN0X2RpcikKLQkJc2V0dXBfZ2l0X2VudigpOwotCXJldHVybiBnaXRfb2JqZWN0X2RpcjsKKwlpZiAoIXRoZV9yZXBvc2l0b3J5LT5vYmplY3RkaXIpCisJCUJVRygiZ2l0IGVudmlyb25tZW50IGhhc24ndCBiZWVuIHNldHVwIik7CisJcmV0dXJuIHRoZV9yZXBvc2l0b3J5LT5vYmplY3RkaXI7CiB9CiAKLWludCBvZGJfbWtzdGVtcChjaGFyICp0ZW1wbGF0ZSwgc2l6ZV90IGxpbWl0LCBjb25zdCBjaGFyICpwYXR0ZXJuKQoraW50IG9kYl9ta3N0ZW1wKHN0cnVjdCBzdHJidWYgKnRlbXBsYXRlLCBjb25zdCBjaGFyICpwYXR0ZXJuKQogewogCWludCBmZDsKIAkvKgpAQCAtMjgyLDE4ICsyNTQsMTYgQEAKIAkgKiByZXN0cmljdGl2ZSBleGNlcHQgdG8gcmVtb3ZlIHdyaXRlIHBlcm1pc3Npb24uCiAJICovCiAJaW50IG1vZGUgPSAwNDQ0OwotCXNucHJpbnRmKHRlbXBsYXRlLCBsaW1pdCwgIiVzLyVzIiwKLQkJIGdldF9vYmplY3RfZGlyZWN0b3J5KCksIHBhdHRlcm4pOwotCWZkID0gZ2l0X21rc3RlbXBfbW9kZSh0ZW1wbGF0ZSwgbW9kZSk7CisJZ2l0X3BhdGhfYnVmKHRlbXBsYXRlLCAib2JqZWN0cy8lcyIsIHBhdHRlcm4pOworCWZkID0gZ2l0X21rc3RlbXBfbW9kZSh0ZW1wbGF0ZS0+YnVmLCBtb2RlKTsKIAlpZiAoMCA8PSBmZCkKIAkJcmV0dXJuIGZkOwogCiAJLyogc2xvdyBwYXRoICovCiAJLyogc29tZSBta3N0ZW1wIGltcGxlbWVudGF0aW9ucyBlcmFzZSB0ZW1wbGF0ZSBvbiBmYWlsdXJlICovCi0Jc25wcmludGYodGVtcGxhdGUsIGxpbWl0LCAiJXMvJXMiLAotCQkgZ2V0X29iamVjdF9kaXJlY3RvcnkoKSwgcGF0dGVybik7Ci0Jc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllcyh0ZW1wbGF0ZSk7Ci0JcmV0dXJuIHhta3N0ZW1wX21vZGUodGVtcGxhdGUsIG1vZGUpOworCWdpdF9wYXRoX2J1Zih0ZW1wbGF0ZSwgIm9iamVjdHMvJXMiLCBwYXR0ZXJuKTsKKwlzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKHRlbXBsYXRlLT5idWYpOworCXJldHVybiB4bWtzdGVtcF9tb2RlKHRlbXBsYXRlLT5idWYsIG1vZGUpOwogfQogCiBpbnQgb2RiX3BhY2tfa2VlcChjb25zdCBjaGFyICpuYW1lKQpAQCAtMzExLDIyICsyODEsMjMgQEAKIAogY2hhciAqZ2V0X2luZGV4X2ZpbGUodm9pZCkKIHsKLQlpZiAoIWdpdF9pbmRleF9maWxlKQotCQlzZXR1cF9naXRfZW52KCk7Ci0JcmV0dXJuIGdpdF9pbmRleF9maWxlOworCWlmICghdGhlX3JlcG9zaXRvcnktPmluZGV4X2ZpbGUpCisJCUJVRygiZ2l0IGVudmlyb25tZW50IGhhc24ndCBiZWVuIHNldHVwIik7CisJcmV0dXJuIHRoZV9yZXBvc2l0b3J5LT5pbmRleF9maWxlOwogfQogCiBjaGFyICpnZXRfZ3JhZnRfZmlsZSh2b2lkKQogewotCWlmICghZ2l0X2dyYWZ0X2ZpbGUpCi0JCXNldHVwX2dpdF9lbnYoKTsKLQlyZXR1cm4gZ2l0X2dyYWZ0X2ZpbGU7CisJaWYgKCF0aGVfcmVwb3NpdG9yeS0+Z3JhZnRfZmlsZSkKKwkJQlVHKCJnaXQgZW52aXJvbm1lbnQgaGFzbid0IGJlZW4gc2V0dXAiKTsKKwlyZXR1cm4gdGhlX3JlcG9zaXRvcnktPmdyYWZ0X2ZpbGU7CiB9CiAKIGludCBzZXRfZ2l0X2Rpcihjb25zdCBjaGFyICpwYXRoKQogewogCWlmIChzZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCwgcGF0aCwgMSkpCiAJCXJldHVybiBlcnJvcigiQ291bGQgbm90IHNldCBHSVRfRElSIHRvICclcyciLCBwYXRoKTsKKwlyZXBvX3NldF9naXRkaXIodGhlX3JlcG9zaXRvcnksIHBhdGgpOwogCXNldHVwX2dpdF9lbnYoKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTM2NywzICszMzgsOCBAQAogewogCW5lZWRfc2hhcmVkX3JlcG9zaXRvcnlfZnJvbV9jb25maWcgPSAxOwogfQorCitpbnQgdXNlX29wdGlvbmFsX2xvY2tzKHZvaWQpCit7CisJcmV0dXJuIGdpdF9lbnZfYm9vbChHSVRfT1BUSU9OQUxfTE9DS1NfRU5WSVJPTk1FTlQsIDEpOworfQpkaWZmIC0tZ2l0IGEvZXdhaC9ld2FoX2JpdG1hcC5jIGIvZXdhaC9ld2FoX2JpdG1hcC5jCmluZGV4IDJkYzljODIuLjA2YzQ3OWYgMTAwNjQ0Ci0tLSBhL2V3YWgvZXdhaF9iaXRtYXAuYworKysgYi9ld2FoL2V3YWhfYml0bWFwLmMKQEAgLTIxMCw4ICsyMTAsOCBAQAogdm9pZCBld2FoX3NldChzdHJ1Y3QgZXdhaF9iaXRtYXAgKnNlbGYsIHNpemVfdCBpKQogewogCWNvbnN0IHNpemVfdCBkaXN0ID0KLQkJKGkgKyBCSVRTX0lOX0VXT1JEKSAvIEJJVFNfSU5fRVdPUkQgLQotCQkoc2VsZi0+Yml0X3NpemUgKyBCSVRTX0lOX0VXT1JEIC0gMSkgLyBCSVRTX0lOX0VXT1JEOworCQlESVZfUk9VTkRfVVAoaSArIDEsIEJJVFNfSU5fRVdPUkQpIC0KKwkJRElWX1JPVU5EX1VQKHNlbGYtPmJpdF9zaXplLCBCSVRTX0lOX0VXT1JEKTsKIAogCWFzc2VydChpID49IHNlbGYtPmJpdF9zaXplKTsKIApkaWZmIC0tZ2l0IGEvZXhlY19jbWQuYyBiL2V4ZWNfY21kLmMKaW5kZXggZmI5NGFlYi4uY2UxOTJhMiAxMDA2NDQKLS0tIGEvZXhlY19jbWQuYworKysgYi9leGVjX2NtZC5jCkBAIC01LDIxICs1LDE0IEBACiAjZGVmaW5lIE1BWF9BUkdTCTMyCiAKIHN0YXRpYyBjb25zdCBjaGFyICphcmd2X2V4ZWNfcGF0aDsKKworI2lmZGVmIFJVTlRJTUVfUFJFRklYCiBzdGF0aWMgY29uc3QgY2hhciAqYXJndjBfcGF0aDsKIAotY2hhciAqc3lzdGVtX3BhdGgoY29uc3QgY2hhciAqcGF0aCkKK3N0YXRpYyBjb25zdCBjaGFyICpzeXN0ZW1fcHJlZml4KHZvaWQpCiB7Ci0jaWZkZWYgUlVOVElNRV9QUkVGSVgKIAlzdGF0aWMgY29uc3QgY2hhciAqcHJlZml4OwotI2Vsc2UKLQlzdGF0aWMgY29uc3QgY2hhciAqcHJlZml4ID0gUFJFRklYOwotI2VuZGlmCi0Jc3RydWN0IHN0cmJ1ZiBkID0gU1RSQlVGX0lOSVQ7CiAKLQlpZiAoaXNfYWJzb2x1dGVfcGF0aChwYXRoKSkKLQkJcmV0dXJuIHhzdHJkdXAocGF0aCk7Ci0KLSNpZmRlZiBSVU5USU1FX1BSRUZJWAogCWFzc2VydChhcmd2MF9wYXRoKTsKIAlhc3NlcnQoaXNfYWJzb2x1dGVfcGF0aChhcmd2MF9wYXRoKSk7CiAKQEAgLTMyLDEwICsyNSw3IEBACiAJCQkJImJ1dCBwcmVmaXggY29tcHV0YXRpb24gZmFpbGVkLiAgIgogCQkJCSJVc2luZyBzdGF0aWMgZmFsbGJhY2sgJyVzJy5cbiIsIHByZWZpeCk7CiAJfQotI2VuZGlmCi0KLQlzdHJidWZfYWRkZigmZCwgIiVzLyVzIiwgcHJlZml4LCBwYXRoKTsKLQlyZXR1cm4gc3RyYnVmX2RldGFjaCgmZCwgTlVMTCk7CisJcmV0dXJuIHByZWZpeDsKIH0KIAogdm9pZCBnaXRfZXh0cmFjdF9hcmd2MF9wYXRoKGNvbnN0IGNoYXIgKmFyZ3YwKQpAQCAtNTEsNiArNDEsMzAgQEAKIAkJYXJndjBfcGF0aCA9IHhzdHJuZHVwKGFyZ3YwLCBzbGFzaCAtIGFyZ3YwKTsKIH0KIAorI2Vsc2UKKworc3RhdGljIGNvbnN0IGNoYXIgKnN5c3RlbV9wcmVmaXgodm9pZCkKK3sKKwlyZXR1cm4gUFJFRklYOworfQorCit2b2lkIGdpdF9leHRyYWN0X2FyZ3YwX3BhdGgoY29uc3QgY2hhciAqYXJndjApCit7Cit9CisKKyNlbmRpZiAvKiBSVU5USU1FX1BSRUZJWCAqLworCitjaGFyICpzeXN0ZW1fcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCXN0cnVjdCBzdHJidWYgZCA9IFNUUkJVRl9JTklUOworCisJaWYgKGlzX2Fic29sdXRlX3BhdGgocGF0aCkpCisJCXJldHVybiB4c3RyZHVwKHBhdGgpOworCisJc3RyYnVmX2FkZGYoJmQsICIlcy8lcyIsIHN5c3RlbV9wcmVmaXgoKSwgcGF0aCk7CisJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmQsIE5VTEwpOworfQorCiB2b2lkIGdpdF9zZXRfYXJndl9leGVjX3BhdGgoY29uc3QgY2hhciAqZXhlY19wYXRoKQogewogCWFyZ3ZfZXhlY19wYXRoID0gZXhlY19wYXRoOwpkaWZmIC0tZ2l0IGEvZmFzdC1pbXBvcnQuYyBiL2Zhc3QtaW1wb3J0LmMKaW5kZXggNGQ1YTdmNS4uZDVlNGNmMCAxMDA2NDQKLS0tIGEvZmFzdC1pbXBvcnQuYworKysgYi9mYXN0LWltcG9ydC5jCkBAIC0xNTQsNiArMTU0LDcgQEAKIAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAib2JqZWN0LmgiCiAjaW5jbHVkZSAiYmxvYi5oIgpAQCAtMTY2LDYgKzE2Nyw3IEBACiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKICNkZWZpbmUgUEFDS19JRF9CSVRTIDE2CiAjZGVmaW5lIE1BWF9QQUNLX0lEICgoMTw8UEFDS19JRF9CSVRTKS0xKQpAQCAtMjI2LDcgKzIyOCw3IEBACiAJc3RydWN0IGF0b21fc3RyICpuYW1lOwogCXN0cnVjdCB0cmVlX2VudHJ5X21zIHsKIAkJdWludDE2X3QgbW9kZTsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJfSB2ZXJzaW9uc1syXTsKIH07CiAKQEAgLTI1MiwxOSArMjU0LDE5IEBACiAJdW5zaWduZWQgYWN0aXZlIDogMTsKIAl1bnNpZ25lZCBkZWxldGUgOiAxOwogCXVuc2lnbmVkIHBhY2tfaWQgOiBQQUNLX0lEX0JJVFM7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIH07CiAKIHN0cnVjdCB0YWcgewogCXN0cnVjdCB0YWcgKm5leHRfdGFnOwogCWNvbnN0IGNoYXIgKm5hbWU7CiAJdW5zaWduZWQgaW50IHBhY2tfaWQ7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIH07CiAKIHN0cnVjdCBoYXNoX2xpc3QgewogCXN0cnVjdCBoYXNoX2xpc3QgKm5leHQ7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIH07CiAKIHR5cGVkZWYgZW51bSB7CkBAIC0yODAsNyArMjgyLDcgQEAKIH07CiAKIC8qIENvbmZpZ3VyZWQgbGltaXRzIG9uIG91dHB1dCAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbWF4X2RlcHRoID0gMTA7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBtYXhfZGVwdGggPSA1MDsKIHN0YXRpYyBvZmZfdCBtYXhfcGFja3NpemU7CiBzdGF0aWMgaW50IHVucGFja19saW1pdCA9IDEwMDsKIHN0YXRpYyBpbnQgZm9yY2VfdXBkYXRlOwpAQCAtMzg2LDEzICszODgsMTUgQEAKIAkJZnB1dHMoIiBhY3RpdmUiLCBycHQpOwogCWlmIChiLT5icmFuY2hfdHJlZS50cmVlKQogCQlmcHV0cygiIGxvYWRlZCIsIHJwdCk7Ci0JaWYgKGlzX251bGxfc2hhMShiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5zaGExKSkKKwlpZiAoaXNfbnVsbF9vaWQoJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLm9pZCkpCiAJCWZwdXRzKCIgZGlydHkiLCBycHQpOwogCWZwdXRjKCdcbicsIHJwdCk7CiAKLQlmcHJpbnRmKHJwdCwgIiAgdGlwIGNvbW1pdCAgOiAlc1xuIiwgc2hhMV90b19oZXgoYi0+c2hhMSkpOwotCWZwcmludGYocnB0LCAiICBvbGQgdHJlZSAgICA6ICVzXG4iLCBzaGExX3RvX2hleChiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1swXS5zaGExKSk7Ci0JZnByaW50ZihycHQsICIgIGN1ciB0cmVlICAgIDogJXNcbiIsIHNoYTFfdG9faGV4KGItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLnNoYTEpKTsKKwlmcHJpbnRmKHJwdCwgIiAgdGlwIGNvbW1pdCAgOiAlc1xuIiwgb2lkX3RvX2hleCgmYi0+b2lkKSk7CisJZnByaW50ZihycHQsICIgIG9sZCB0cmVlICAgIDogJXNcbiIsCisJCW9pZF90b19oZXgoJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzBdLm9pZCkpOworCWZwcmludGYocnB0LCAiICBjdXIgdHJlZSAgICA6ICVzXG4iLAorCQlvaWRfdG9faGV4KCZiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5vaWQpKTsKIAlmcHJpbnRmKHJwdCwgIiAgY29tbWl0IGNsb2NrOiAlIiBQUkl1TUFYICJcbiIsIGItPmxhc3RfY29tbWl0KTsKIAogCWZwdXRzKCIgIGxhc3QgcGFjayAgIDogIiwgcnB0KTsKQEAgLTQ3MCw3ICs0NzQsNyBAQAogCQlmcHV0cygiQW5ub3RhdGVkIFRhZ3NcbiIsIHJwdCk7CiAJCWZwdXRzKCItLS0tLS0tLS0tLS0tLVxuIiwgcnB0KTsKIAkJZm9yICh0ZyA9IGZpcnN0X3RhZzsgdGc7IHRnID0gdGctPm5leHRfdGFnKSB7Ci0JCQlmcHV0cyhzaGExX3RvX2hleCh0Zy0+c2hhMSksIHJwdCk7CisJCQlmcHV0cyhvaWRfdG9faGV4KCZ0Zy0+b2lkKSwgcnB0KTsKIAkJCWZwdXRjKCcgJywgcnB0KTsKIAkJCWZwdXRzKHRnLT5uYW1lLCBycHQpOwogCQkJZnB1dGMoJ1xuJywgcnB0KTsKQEAgLTU1NSw3ICs1NTksNyBAQAogCWFsbG9jX2NvdW50ICs9IGNudDsKIH0KIAotc3RhdGljIHN0cnVjdCBvYmplY3RfZW50cnkgKm5ld19vYmplY3QodW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpuZXdfb2JqZWN0KHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICplOwogCkBAIC01NjMsMzIgKzU2NywzMiBAQAogCQlhbGxvY19vYmplY3RzKG9iamVjdF9lbnRyeV9hbGxvYyk7CiAKIAllID0gYmxvY2tzLT5uZXh0X2ZyZWUrKzsKLQloYXNoY3B5KGUtPmlkeC5zaGExLCBzaGExKTsKKwlvaWRjcHkoJmUtPmlkeC5vaWQsIG9pZCk7CiAJcmV0dXJuIGU7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpmaW5kX29iamVjdCh1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHN0cnVjdCBvYmplY3RfZW50cnkgKmZpbmRfb2JqZWN0KHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQl1bnNpZ25lZCBpbnQgaCA9IHNoYTFbMF0gPDwgOCB8IHNoYTFbMV07CisJdW5zaWduZWQgaW50IGggPSBvaWQtPmhhc2hbMF0gPDwgOCB8IG9pZC0+aGFzaFsxXTsKIAlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICplOwogCWZvciAoZSA9IG9iamVjdF90YWJsZVtoXTsgZTsgZSA9IGUtPm5leHQpCi0JCWlmICghaGFzaGNtcChzaGExLCBlLT5pZHguc2hhMSkpCisJCWlmICghb2lkY21wKG9pZCwgJmUtPmlkeC5vaWQpKQogCQkJcmV0dXJuIGU7CiAJcmV0dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICppbnNlcnRfb2JqZWN0KHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgc3RydWN0IG9iamVjdF9lbnRyeSAqaW5zZXJ0X29iamVjdChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0JdW5zaWduZWQgaW50IGggPSBzaGExWzBdIDw8IDggfCBzaGExWzFdOworCXVuc2lnbmVkIGludCBoID0gb2lkLT5oYXNoWzBdIDw8IDggfCBvaWQtPmhhc2hbMV07CiAJc3RydWN0IG9iamVjdF9lbnRyeSAqZSA9IG9iamVjdF90YWJsZVtoXTsKIAogCXdoaWxlIChlKSB7Ci0JCWlmICghaGFzaGNtcChzaGExLCBlLT5pZHguc2hhMSkpCisJCWlmICghb2lkY21wKG9pZCwgJmUtPmlkeC5vaWQpKQogCQkJcmV0dXJuIGU7CiAJCWUgPSBlLT5uZXh0OwogCX0KIAotCWUgPSBuZXdfb2JqZWN0KHNoYTEpOworCWUgPSBuZXdfb2JqZWN0KG9pZCk7CiAJZS0+bmV4dCA9IG9iamVjdF90YWJsZVtoXTsKIAllLT5pZHgub2Zmc2V0ID0gMDsKIAlvYmplY3RfdGFibGVbaF0gPSBlOwpAQCAtODc2LDcgKzg4MCw3IEBACiAJCWEgPSBzLT5lbnRyaWVzW2ldOwogCQliID0gbmV3X3RyZWVfZW50cnkoKTsKIAkJbWVtY3B5KGIsIGEsIHNpemVvZigqYSkpOwotCQlpZiAoYS0+dHJlZSAmJiBpc19udWxsX3NoYTEoYi0+dmVyc2lvbnNbMV0uc2hhMSkpCisJCWlmIChhLT50cmVlICYmIGlzX251bGxfb2lkKCZiLT52ZXJzaW9uc1sxXS5vaWQpKQogCQkJYi0+dHJlZSA9IGR1cF90cmVlX2NvbnRlbnQoYS0+dHJlZSk7CiAJCWVsc2UKIAkJCWItPnRyZWUgPSBOVUxMOwpAQCAtODkwLDE0ICs4OTQsMTUgQEAKIAogc3RhdGljIHZvaWQgc3RhcnRfcGFja2ZpbGUodm9pZCkKIHsKLQlzdGF0aWMgY2hhciB0bXBfZmlsZVtQQVRIX01BWF07CisJc3RydWN0IHN0cmJ1ZiB0bXBfZmlsZSA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCXN0cnVjdCBwYWNrX2hlYWRlciBoZHI7CiAJaW50IHBhY2tfZmQ7CiAKLQlwYWNrX2ZkID0gb2RiX21rc3RlbXAodG1wX2ZpbGUsIHNpemVvZih0bXBfZmlsZSksCi0JCQkgICAgICAicGFjay90bXBfcGFja19YWFhYWFgiKTsKLQlGTEVYX0FMTE9DX1NUUihwLCBwYWNrX25hbWUsIHRtcF9maWxlKTsKKwlwYWNrX2ZkID0gb2RiX21rc3RlbXAoJnRtcF9maWxlLCAicGFjay90bXBfcGFja19YWFhYWFgiKTsKKwlGTEVYX0FMTE9DX1NUUihwLCBwYWNrX25hbWUsIHRtcF9maWxlLmJ1Zik7CisJc3RyYnVmX3JlbGVhc2UoJnRtcF9maWxlKTsKKwogCXAtPnBhY2tfZmQgPSBwYWNrX2ZkOwogCXAtPmRvX25vdF9jbG9zZSA9IDE7CiAJcGFja19maWxlID0gc2hhMWZkKHBhY2tfZmQsIHAtPnBhY2tfbmFtZSk7CkBAIC0xMDA0LDE3ICsxMDA5LDE3IEBACiAJY2xlYXJfZGVsdGFfYmFzZV9jYWNoZSgpOwogCWlmIChvYmplY3RfY291bnQpIHsKIAkJc3RydWN0IHBhY2tlZF9naXQgKm5ld19wOwotCQl1bnNpZ25lZCBjaGFyIGN1cl9wYWNrX3NoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIGN1cl9wYWNrX29pZDsKIAkJY2hhciAqaWR4X25hbWU7CiAJCWludCBpOwogCQlzdHJ1Y3QgYnJhbmNoICpiOwogCQlzdHJ1Y3QgdGFnICp0OwogCiAJCWNsb3NlX3BhY2tfd2luZG93cyhwYWNrX2RhdGEpOwotCQlzaGExY2xvc2UocGFja19maWxlLCBjdXJfcGFja19zaGExLCAwKTsKKwkJc2hhMWNsb3NlKHBhY2tfZmlsZSwgY3VyX3BhY2tfb2lkLmhhc2gsIDApOwogCQlmaXh1cF9wYWNrX2hlYWRlcl9mb290ZXIocGFja19kYXRhLT5wYWNrX2ZkLCBwYWNrX2RhdGEtPnNoYTEsCiAJCQkJICAgIHBhY2tfZGF0YS0+cGFja19uYW1lLCBvYmplY3RfY291bnQsCi0JCQkJICAgIGN1cl9wYWNrX3NoYTEsIHBhY2tfc2l6ZSk7CisJCQkJICAgIGN1cl9wYWNrX29pZC5oYXNoLCBwYWNrX3NpemUpOwogCiAJCWlmIChvYmplY3RfY291bnQgPD0gdW5wYWNrX2xpbWl0KSB7CiAJCQlpZiAoIWxvb3Nlbl9zbWFsbF9wYWNrKHBhY2tfZGF0YSkpIHsKQEAgLTEwNDAsMTIgKzEwNDUsMTQgQEAKIAkJCWZvciAoaSA9IDA7IGkgPCBicmFuY2hfdGFibGVfc3o7IGkrKykgewogCQkJCWZvciAoYiA9IGJyYW5jaF90YWJsZVtpXTsgYjsgYiA9IGItPnRhYmxlX25leHRfYnJhbmNoKSB7CiAJCQkJCWlmIChiLT5wYWNrX2lkID09IHBhY2tfaWQpCi0JCQkJCQlmcHJpbnRmKHBhY2tfZWRnZXMsICIgJXMiLCBzaGExX3RvX2hleChiLT5zaGExKSk7CisJCQkJCQlmcHJpbnRmKHBhY2tfZWRnZXMsICIgJXMiLAorCQkJCQkJCW9pZF90b19oZXgoJmItPm9pZCkpOwogCQkJCX0KIAkJCX0KIAkJCWZvciAodCA9IGZpcnN0X3RhZzsgdDsgdCA9IHQtPm5leHRfdGFnKSB7CiAJCQkJaWYgKHQtPnBhY2tfaWQgPT0gcGFja19pZCkKLQkJCQkJZnByaW50ZihwYWNrX2VkZ2VzLCAiICVzIiwgc2hhMV90b19oZXgodC0+c2hhMSkpOworCQkJCQlmcHJpbnRmKHBhY2tfZWRnZXMsICIgJXMiLAorCQkJCQkJb2lkX3RvX2hleCgmdC0+b2lkKSk7CiAJCQl9CiAJCQlmcHV0YygnXG4nLCBwYWNrX2VkZ2VzKTsKIAkJCWZmbHVzaChwYWNrX2VkZ2VzKTsKQEAgLTEwNTgsOCArMTA2NSw3IEBACiAJCWNsb3NlKHBhY2tfZGF0YS0+cGFja19mZCk7CiAJCXVubGlua19vcl93YXJuKHBhY2tfZGF0YS0+cGFja19uYW1lKTsKIAl9Ci0JZnJlZShwYWNrX2RhdGEpOwotCXBhY2tfZGF0YSA9IE5VTEw7CisJRlJFRV9BTkRfTlVMTChwYWNrX2RhdGEpOwogCXJ1bm5pbmcgPSAwOwogCiAJLyogV2UgY2FuJ3QgY2FycnkgYSBkZWx0YSBhY3Jvc3MgcGFja2ZpbGVzLiAqLwpAQCAtMTA3OCwxMyArMTA4NCwxMyBAQAogCWVudW0gb2JqZWN0X3R5cGUgdHlwZSwKIAlzdHJ1Y3Qgc3RyYnVmICpkYXQsCiAJc3RydWN0IGxhc3Rfb2JqZWN0ICpsYXN0LAotCXVuc2lnbmVkIGNoYXIgKnNoYTFvdXQsCisJc3RydWN0IG9iamVjdF9pZCAqb2lkb3V0LAogCXVpbnRtYXhfdCBtYXJrKQogewogCXZvaWQgKm91dCwgKmRlbHRhOwogCXN0cnVjdCBvYmplY3RfZW50cnkgKmU7CiAJdW5zaWduZWQgY2hhciBoZHJbOTZdOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJdW5zaWduZWQgbG9uZyBoZHJsZW4sIGRlbHRhbGVuOwogCWdpdF9TSEFfQ1RYIGM7CiAJZ2l0X3pzdHJlYW0gczsKQEAgLTEwOTQsMTcgKzExMDAsMTcgQEAKIAlnaXRfU0hBMV9Jbml0KCZjKTsKIAlnaXRfU0hBMV9VcGRhdGUoJmMsIGhkciwgaGRybGVuKTsKIAlnaXRfU0hBMV9VcGRhdGUoJmMsIGRhdC0+YnVmLCBkYXQtPmxlbik7Ci0JZ2l0X1NIQTFfRmluYWwoc2hhMSwgJmMpOwotCWlmIChzaGExb3V0KQotCQloYXNoY3B5KHNoYTFvdXQsIHNoYTEpOworCWdpdF9TSEExX0ZpbmFsKG9pZC5oYXNoLCAmYyk7CisJaWYgKG9pZG91dCkKKwkJb2lkY3B5KG9pZG91dCwgJm9pZCk7CiAKLQllID0gaW5zZXJ0X29iamVjdChzaGExKTsKKwllID0gaW5zZXJ0X29iamVjdCgmb2lkKTsKIAlpZiAobWFyaykKIAkJaW5zZXJ0X21hcmsobWFyaywgZSk7CiAJaWYgKGUtPmlkeC5vZmZzZXQpIHsKIAkJZHVwbGljYXRlX2NvdW50X2J5X3R5cGVbdHlwZV0rKzsKIAkJcmV0dXJuIDE7Ci0JfSBlbHNlIGlmIChmaW5kX3NoYTFfcGFjayhzaGExLCBwYWNrZWRfZ2l0KSkgeworCX0gZWxzZSBpZiAoZmluZF9zaGExX3BhY2sob2lkLmhhc2gsIHBhY2tlZF9naXQpKSB7CiAJCWUtPnR5cGUgPSB0eXBlOwogCQllLT5wYWNrX2lkID0gTUFYX1BBQ0tfSUQ7CiAJCWUtPmlkeC5vZmZzZXQgPSAxOyAvKiBqdXN0IG5vdCB6ZXJvISAqLwpAQCAtMTE0NCw4ICsxMTUwLDcgQEAKIAogCQkvKiBXZSBjYW5ub3QgY2FycnkgYSBkZWx0YSBpbnRvIHRoZSBuZXcgcGFjay4gKi8KIAkJaWYgKGRlbHRhKSB7Ci0JCQlmcmVlKGRlbHRhKTsKLQkJCWRlbHRhID0gTlVMTDsKKwkJCUZSRUVfQU5EX05VTEwoZGVsdGEpOwogCiAJCQlnaXRfZGVmbGF0ZV9pbml0KCZzLCBwYWNrX2NvbXByZXNzaW9uX2xldmVsKTsKIAkJCXMubmV4dF9pbiA9ICh2b2lkICopZGF0LT5idWY7CkBAIC0xMTczLDcgKzExNzgsOCBAQAogCQlkZWx0YV9jb3VudF9ieV90eXBlW3R5cGVdKys7CiAJCWUtPmRlcHRoID0gbGFzdC0+ZGVwdGggKyAxOwogCi0JCWhkcmxlbiA9IGVuY29kZV9pbl9wYWNrX29iamVjdF9oZWFkZXIoT0JKX09GU19ERUxUQSwgZGVsdGFsZW4sIGhkcik7CisJCWhkcmxlbiA9IGVuY29kZV9pbl9wYWNrX29iamVjdF9oZWFkZXIoaGRyLCBzaXplb2YoaGRyKSwKKwkJCQkJCSAgICAgIE9CSl9PRlNfREVMVEEsIGRlbHRhbGVuKTsKIAkJc2hhMXdyaXRlKHBhY2tfZmlsZSwgaGRyLCBoZHJsZW4pOwogCQlwYWNrX3NpemUgKz0gaGRybGVuOwogCkBAIC0xMTg0LDcgKzExOTAsOCBAQAogCQlwYWNrX3NpemUgKz0gc2l6ZW9mKGhkcikgLSBwb3M7CiAJfSBlbHNlIHsKIAkJZS0+ZGVwdGggPSAwOwotCQloZHJsZW4gPSBlbmNvZGVfaW5fcGFja19vYmplY3RfaGVhZGVyKHR5cGUsIGRhdC0+bGVuLCBoZHIpOworCQloZHJsZW4gPSBlbmNvZGVfaW5fcGFja19vYmplY3RfaGVhZGVyKGhkciwgc2l6ZW9mKGhkciksCisJCQkJCQkgICAgICB0eXBlLCBkYXQtPmxlbik7CiAJCXNoYTF3cml0ZShwYWNrX2ZpbGUsIGhkciwgaGRybGVuKTsKIAkJcGFja19zaXplICs9IGhkcmxlbjsKIAl9CkBAIC0xMjE1LDEzICsxMjIyLDEzIEBACiAJcGFja19zaXplID0gY2hlY2twb2ludC0+b2Zmc2V0OwogfQogCi1zdGF0aWMgdm9pZCBzdHJlYW1fYmxvYih1aW50bWF4X3QgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExb3V0LCB1aW50bWF4X3QgbWFyaykKK3N0YXRpYyB2b2lkIHN0cmVhbV9ibG9iKHVpbnRtYXhfdCBsZW4sIHN0cnVjdCBvYmplY3RfaWQgKm9pZG91dCwgdWludG1heF90IG1hcmspCiB7CiAJc2l6ZV90IGluX3N6ID0gNjQgKiAxMDI0LCBvdXRfc3ogPSA2NCAqIDEwMjQ7CiAJdW5zaWduZWQgY2hhciAqaW5fYnVmID0geG1hbGxvYyhpbl9zeik7CiAJdW5zaWduZWQgY2hhciAqb3V0X2J1ZiA9IHhtYWxsb2Mob3V0X3N6KTsKIAlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICplOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJdW5zaWduZWQgbG9uZyBoZHJsZW47CiAJb2ZmX3Qgb2Zmc2V0OwogCWdpdF9TSEFfQ1RYIGM7CkBAIC0xMjM3LDkgKzEyNDQsNyBAQAogCXNoYTFmaWxlX2NoZWNrcG9pbnQocGFja19maWxlLCAmY2hlY2twb2ludCk7CiAJb2Zmc2V0ID0gY2hlY2twb2ludC5vZmZzZXQ7CiAKLQloZHJsZW4gPSBzbnByaW50ZigoY2hhciAqKW91dF9idWYsIG91dF9zeiwgImJsb2IgJSIgUFJJdU1BWCwgbGVuKSArIDE7Ci0JaWYgKG91dF9zeiA8PSBoZHJsZW4pCi0JCWRpZSgiaW1wb3NzaWJseSBsYXJnZSBvYmplY3QgaGVhZGVyIik7CisJaGRybGVuID0geHNucHJpbnRmKChjaGFyICopb3V0X2J1Ziwgb3V0X3N6LCAiYmxvYiAlIiBQUkl1TUFYLCBsZW4pICsgMTsKIAogCWdpdF9TSEExX0luaXQoJmMpOwogCWdpdF9TSEExX1VwZGF0ZSgmYywgb3V0X2J1ZiwgaGRybGVuKTsKQEAgLTEyNDgsOSArMTI1Myw3IEBACiAKIAlnaXRfZGVmbGF0ZV9pbml0KCZzLCBwYWNrX2NvbXByZXNzaW9uX2xldmVsKTsKIAotCWhkcmxlbiA9IGVuY29kZV9pbl9wYWNrX29iamVjdF9oZWFkZXIoT0JKX0JMT0IsIGxlbiwgb3V0X2J1Zik7Ci0JaWYgKG91dF9zeiA8PSBoZHJsZW4pCi0JCWRpZSgiaW1wb3NzaWJseSBsYXJnZSBvYmplY3QgaGVhZGVyIik7CisJaGRybGVuID0gZW5jb2RlX2luX3BhY2tfb2JqZWN0X2hlYWRlcihvdXRfYnVmLCBvdXRfc3osIE9CSl9CTE9CLCBsZW4pOwogCiAJcy5uZXh0X291dCA9IG91dF9idWYgKyBoZHJsZW47CiAJcy5hdmFpbF9vdXQgPSBvdXRfc3ogLSBoZHJsZW47CkBAIC0xMjg4LDEyICsxMjkxLDEyIEBACiAJCX0KIAl9CiAJZ2l0X2RlZmxhdGVfZW5kKCZzKTsKLQlnaXRfU0hBMV9GaW5hbChzaGExLCAmYyk7CisJZ2l0X1NIQTFfRmluYWwob2lkLmhhc2gsICZjKTsKIAotCWlmIChzaGExb3V0KQotCQloYXNoY3B5KHNoYTFvdXQsIHNoYTEpOworCWlmIChvaWRvdXQpCisJCW9pZGNweShvaWRvdXQsICZvaWQpOwogCi0JZSA9IGluc2VydF9vYmplY3Qoc2hhMSk7CisJZSA9IGluc2VydF9vYmplY3QoJm9pZCk7CiAKIAlpZiAobWFyaykKIAkJaW5zZXJ0X21hcmsobWFyaywgZSk7CkBAIC0xMzAyLDcgKzEzMDUsNyBAQAogCQlkdXBsaWNhdGVfY291bnRfYnlfdHlwZVtPQkpfQkxPQl0rKzsKIAkJdHJ1bmNhdGVfcGFjaygmY2hlY2twb2ludCk7CiAKLQl9IGVsc2UgaWYgKGZpbmRfc2hhMV9wYWNrKHNoYTEsIHBhY2tlZF9naXQpKSB7CisJfSBlbHNlIGlmIChmaW5kX3NoYTFfcGFjayhvaWQuaGFzaCwgcGFja2VkX2dpdCkpIHsKIAkJZS0+dHlwZSA9IE9CSl9CTE9COwogCQllLT5wYWNrX2lkID0gTUFYX1BBQ0tfSUQ7CiAJCWUtPmlkeC5vZmZzZXQgPSAxOyAvKiBqdXN0IG5vdCB6ZXJvISAqLwpAQCAtMTM4Niw3ICsxMzg5LDcgQEAKIAogc3RhdGljIHZvaWQgbG9hZF90cmVlKHN0cnVjdCB0cmVlX2VudHJ5ICpyb290KQogewotCXVuc2lnbmVkIGNoYXIgKnNoYTEgPSByb290LT52ZXJzaW9uc1sxXS5zaGExOworCXN0cnVjdCBvYmplY3RfaWQgKm9pZCA9ICZyb290LT52ZXJzaW9uc1sxXS5vaWQ7CiAJc3RydWN0IG9iamVjdF9lbnRyeSAqbXlvZTsKIAlzdHJ1Y3QgdHJlZV9jb250ZW50ICp0OwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKQEAgLTEzOTQsMjIgKzEzOTcsMjIgQEAKIAljb25zdCBjaGFyICpjOwogCiAJcm9vdC0+dHJlZSA9IHQgPSBuZXdfdHJlZV9jb250ZW50KDgpOwotCWlmIChpc19udWxsX3NoYTEoc2hhMSkpCisJaWYgKGlzX251bGxfb2lkKG9pZCkpCiAJCXJldHVybjsKIAotCW15b2UgPSBmaW5kX29iamVjdChzaGExKTsKKwlteW9lID0gZmluZF9vYmplY3Qob2lkKTsKIAlpZiAobXlvZSAmJiBteW9lLT5wYWNrX2lkICE9IE1BWF9QQUNLX0lEKSB7CiAJCWlmIChteW9lLT50eXBlICE9IE9CSl9UUkVFKQotCQkJZGllKCJOb3QgYSB0cmVlOiAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCWRpZSgiTm90IGEgdHJlZTogJXMiLCBvaWRfdG9faGV4KG9pZCkpOwogCQl0LT5kZWx0YV9kZXB0aCA9IG15b2UtPmRlcHRoOwogCQlidWYgPSBnZmlfdW5wYWNrX2VudHJ5KG15b2UsICZzaXplKTsKIAkJaWYgKCFidWYpCi0JCQlkaWUoIkNhbid0IGxvYWQgdHJlZSAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCWRpZSgiQ2FuJ3QgbG9hZCB0cmVlICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAl9IGVsc2UgewogCQllbnVtIG9iamVjdF90eXBlIHR5cGU7Ci0JCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJnR5cGUsICZzaXplKTsKIAkJaWYgKCFidWYgfHwgdHlwZSAhPSBPQkpfVFJFRSkKLQkJCWRpZSgiQ2FuJ3QgbG9hZCB0cmVlICVzIiwgc2hhMV90b19oZXgoc2hhMSkpOworCQkJZGllKCJDYW4ndCBsb2FkIHRyZWUgJXMiLCBvaWRfdG9faGV4KG9pZCkpOwogCX0KIAogCWMgPSBidWY7CkBAIC0xNDIzLDEzICsxNDI2LDEzIEBACiAJCWUtPnRyZWUgPSBOVUxMOwogCQljID0gZ2V0X21vZGUoYywgJmUtPnZlcnNpb25zWzFdLm1vZGUpOwogCQlpZiAoIWMpCi0JCQlkaWUoIkNvcnJ1cHQgbW9kZSBpbiAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCWRpZSgiQ29ycnVwdCBtb2RlIGluICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAkJZS0+dmVyc2lvbnNbMF0ubW9kZSA9IGUtPnZlcnNpb25zWzFdLm1vZGU7CiAJCWUtPm5hbWUgPSB0b19hdG9tKGMsIHN0cmxlbihjKSk7CiAJCWMgKz0gZS0+bmFtZS0+c3RyX2xlbiArIDE7Ci0JCWhhc2hjcHkoZS0+dmVyc2lvbnNbMF0uc2hhMSwgKHVuc2lnbmVkIGNoYXIgKiljKTsKLQkJaGFzaGNweShlLT52ZXJzaW9uc1sxXS5zaGExLCAodW5zaWduZWQgY2hhciAqKWMpOwotCQljICs9IDIwOworCQloYXNoY3B5KGUtPnZlcnNpb25zWzBdLm9pZC5oYXNoLCAodW5zaWduZWQgY2hhciAqKWMpOworCQloYXNoY3B5KGUtPnZlcnNpb25zWzFdLm9pZC5oYXNoLCAodW5zaWduZWQgY2hhciAqKWMpOworCQljICs9IEdJVF9TSEExX1JBV1NaOwogCX0KIAlmcmVlKGJ1Zik7CiB9CkBAIC0xNDc2LDcgKzE0NzksNyBAQAogCQlzdHJidWZfYWRkZihiLCAiJW8gJXMlYyIsCiAJCQkodW5zaWduZWQgaW50KShlLT52ZXJzaW9uc1t2XS5tb2RlICYgfk5PX0RFTFRBKSwKIAkJCWUtPm5hbWUtPnN0cl9kYXQsICdcMCcpOwotCQlzdHJidWZfYWRkKGIsIGUtPnZlcnNpb25zW3ZdLnNoYTEsIDIwKTsKKwkJc3RyYnVmX2FkZChiLCBlLT52ZXJzaW9uc1t2XS5vaWQuaGFzaCwgR0lUX1NIQTFfUkFXU1opOwogCX0KIH0KIApAQCAtMTQ4Nyw3ICsxNDkwLDcgQEAKIAlzdHJ1Y3QgbGFzdF9vYmplY3QgbG8gPSB7IFNUUkJVRl9JTklULCAwLCAwLCAvKiBub19zd2FwICovIDEgfTsKIAlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpsZSA9IE5VTEw7CiAKLQlpZiAoIWlzX251bGxfc2hhMShyb290LT52ZXJzaW9uc1sxXS5zaGExKSkKKwlpZiAoIWlzX251bGxfb2lkKCZyb290LT52ZXJzaW9uc1sxXS5vaWQpKQogCQlyZXR1cm47CiAKIAlpZiAoIXJvb3QtPnRyZWUpCkBAIC0xNTAwLDcgKzE1MDMsNyBAQAogCX0KIAogCWlmICghKHJvb3QtPnZlcnNpb25zWzBdLm1vZGUgJiBOT19ERUxUQSkpCi0JCWxlID0gZmluZF9vYmplY3Qocm9vdC0+dmVyc2lvbnNbMF0uc2hhMSk7CisJCWxlID0gZmluZF9vYmplY3QoJnJvb3QtPnZlcnNpb25zWzBdLm9pZCk7CiAJaWYgKFNfSVNESVIocm9vdC0+dmVyc2lvbnNbMF0ubW9kZSkgJiYgbGUgJiYgbGUtPnBhY2tfaWQgPT0gcGFja19pZCkgewogCQlta3RyZWUodCwgMCwgJm9sZF90cmVlKTsKIAkJbG8uZGF0YSA9IG9sZF90cmVlOwpAQCAtMTUwOSwxNCArMTUxMiwxNCBAQAogCX0KIAogCW1rdHJlZSh0LCAxLCAmbmV3X3RyZWUpOwotCXN0b3JlX29iamVjdChPQkpfVFJFRSwgJm5ld190cmVlLCAmbG8sIHJvb3QtPnZlcnNpb25zWzFdLnNoYTEsIDApOworCXN0b3JlX29iamVjdChPQkpfVFJFRSwgJm5ld190cmVlLCAmbG8sICZyb290LT52ZXJzaW9uc1sxXS5vaWQsIDApOwogCiAJdC0+ZGVsdGFfZGVwdGggPSBsby5kZXB0aDsKIAlmb3IgKGkgPSAwLCBqID0gMCwgZGVsID0gMDsgaSA8IHQtPmVudHJ5X2NvdW50OyBpKyspIHsKIAkJc3RydWN0IHRyZWVfZW50cnkgKmUgPSB0LT5lbnRyaWVzW2ldOwogCQlpZiAoZS0+dmVyc2lvbnNbMV0ubW9kZSkgewogCQkJZS0+dmVyc2lvbnNbMF0ubW9kZSA9IGUtPnZlcnNpb25zWzFdLm1vZGU7Ci0JCQloYXNoY3B5KGUtPnZlcnNpb25zWzBdLnNoYTEsIGUtPnZlcnNpb25zWzFdLnNoYTEpOworCQkJb2lkY3B5KCZlLT52ZXJzaW9uc1swXS5vaWQsICZlLT52ZXJzaW9uc1sxXS5vaWQpOwogCQkJdC0+ZW50cmllc1tqKytdID0gZTsKIAkJfSBlbHNlIHsKIAkJCXJlbGVhc2VfdHJlZV9lbnRyeShlKTsKQEAgLTE1MjgsMTQgKzE1MzEsMTQgQEAKIAogc3RhdGljIHZvaWQgdHJlZV9jb250ZW50X3JlcGxhY2UoCiAJc3RydWN0IHRyZWVfZW50cnkgKnJvb3QsCi0JY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJY29uc3QgdWludDE2X3QgbW9kZSwKIAlzdHJ1Y3QgdHJlZV9jb250ZW50ICpuZXd0cmVlKQogewogCWlmICghU19JU0RJUihtb2RlKSkKIAkJZGllKCJSb290IGNhbm5vdCBiZSBhIG5vbi1kaXJlY3RvcnkiKTsKLQloYXNoY2xyKHJvb3QtPnZlcnNpb25zWzBdLnNoYTEpOwotCWhhc2hjcHkocm9vdC0+dmVyc2lvbnNbMV0uc2hhMSwgc2hhMSk7CisJb2lkY2xyKCZyb290LT52ZXJzaW9uc1swXS5vaWQpOworCW9pZGNweSgmcm9vdC0+dmVyc2lvbnNbMV0ub2lkLCBvaWQpOwogCWlmIChyb290LT50cmVlKQogCQlyZWxlYXNlX3RyZWVfY29udGVudF9yZWN1cnNpdmUocm9vdC0+dHJlZSk7CiAJcm9vdC0+dHJlZSA9IG5ld3RyZWU7CkBAIC0xNTQ0LDcgKzE1NDcsNyBAQAogc3RhdGljIGludCB0cmVlX2NvbnRlbnRfc2V0KAogCXN0cnVjdCB0cmVlX2VudHJ5ICpyb290LAogCWNvbnN0IGNoYXIgKnAsCi0JY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJY29uc3QgdWludDE2X3QgbW9kZSwKIAlzdHJ1Y3QgdHJlZV9jb250ZW50ICpzdWJ0cmVlKQogewpAQCAtMTU2OSwxMCArMTU3MiwxMCBAQAogCQkJaWYgKCEqc2xhc2gxKSB7CiAJCQkJaWYgKCFTX0lTRElSKG1vZGUpCiAJCQkJCQkmJiBlLT52ZXJzaW9uc1sxXS5tb2RlID09IG1vZGUKLQkJCQkJCSYmICFoYXNoY21wKGUtPnZlcnNpb25zWzFdLnNoYTEsIHNoYTEpKQorCQkJCQkJJiYgIW9pZGNtcCgmZS0+dmVyc2lvbnNbMV0ub2lkLCBvaWQpKQogCQkJCQlyZXR1cm4gMDsKIAkJCQllLT52ZXJzaW9uc1sxXS5tb2RlID0gbW9kZTsKLQkJCQloYXNoY3B5KGUtPnZlcnNpb25zWzFdLnNoYTEsIHNoYTEpOworCQkJCW9pZGNweSgmZS0+dmVyc2lvbnNbMV0ub2lkLCBvaWQpOwogCQkJCWlmIChlLT50cmVlKQogCQkJCQlyZWxlYXNlX3RyZWVfY29udGVudF9yZWN1cnNpdmUoZS0+dHJlZSk7CiAJCQkJZS0+dHJlZSA9IHN1YnRyZWU7CkBAIC0xNTkzLDcgKzE1OTYsNyBAQAogCQkJCWlmIChTX0lTRElSKGUtPnZlcnNpb25zWzBdLm1vZGUpKQogCQkJCQllLT52ZXJzaW9uc1swXS5tb2RlIHw9IE5PX0RFTFRBOwogCi0JCQkJaGFzaGNscihyb290LT52ZXJzaW9uc1sxXS5zaGExKTsKKwkJCQlvaWRjbHIoJnJvb3QtPnZlcnNpb25zWzFdLm9pZCk7CiAJCQkJcmV0dXJuIDE7CiAJCQl9CiAJCQlpZiAoIVNfSVNESVIoZS0+dmVyc2lvbnNbMV0ubW9kZSkpIHsKQEAgLTE2MDIsOCArMTYwNSw4IEBACiAJCQl9CiAJCQlpZiAoIWUtPnRyZWUpCiAJCQkJbG9hZF90cmVlKGUpOwotCQkJaWYgKHRyZWVfY29udGVudF9zZXQoZSwgc2xhc2gxICsgMSwgc2hhMSwgbW9kZSwgc3VidHJlZSkpIHsKLQkJCQloYXNoY2xyKHJvb3QtPnZlcnNpb25zWzFdLnNoYTEpOworCQkJaWYgKHRyZWVfY29udGVudF9zZXQoZSwgc2xhc2gxICsgMSwgb2lkLCBtb2RlLCBzdWJ0cmVlKSkgeworCQkJCW9pZGNscigmcm9vdC0+dmVyc2lvbnNbMV0ub2lkKTsKIAkJCQlyZXR1cm4gMTsKIAkJCX0KIAkJCXJldHVybiAwOwpAQCAtMTYxNSwxOCArMTYxOCwxOCBAQAogCWUgPSBuZXdfdHJlZV9lbnRyeSgpOwogCWUtPm5hbWUgPSB0b19hdG9tKHAsIG4pOwogCWUtPnZlcnNpb25zWzBdLm1vZGUgPSAwOwotCWhhc2hjbHIoZS0+dmVyc2lvbnNbMF0uc2hhMSk7CisJb2lkY2xyKCZlLT52ZXJzaW9uc1swXS5vaWQpOwogCXQtPmVudHJpZXNbdC0+ZW50cnlfY291bnQrK10gPSBlOwogCWlmICgqc2xhc2gxKSB7CiAJCWUtPnRyZWUgPSBuZXdfdHJlZV9jb250ZW50KDgpOwogCQllLT52ZXJzaW9uc1sxXS5tb2RlID0gU19JRkRJUjsKLQkJdHJlZV9jb250ZW50X3NldChlLCBzbGFzaDEgKyAxLCBzaGExLCBtb2RlLCBzdWJ0cmVlKTsKKwkJdHJlZV9jb250ZW50X3NldChlLCBzbGFzaDEgKyAxLCBvaWQsIG1vZGUsIHN1YnRyZWUpOwogCX0gZWxzZSB7CiAJCWUtPnRyZWUgPSBzdWJ0cmVlOwogCQllLT52ZXJzaW9uc1sxXS5tb2RlID0gbW9kZTsKLQkJaGFzaGNweShlLT52ZXJzaW9uc1sxXS5zaGExLCBzaGExKTsKKwkJb2lkY3B5KCZlLT52ZXJzaW9uc1sxXS5vaWQsIG9pZCk7CiAJfQotCWhhc2hjbHIocm9vdC0+dmVyc2lvbnNbMV0uc2hhMSk7CisJb2lkY2xyKCZyb290LT52ZXJzaW9uc1sxXS5vaWQpOwogCXJldHVybiAxOwogfQogCkBAIC0xNjcxLDcgKzE2NzQsNyBAQAogCQkJaWYgKHRyZWVfY29udGVudF9yZW1vdmUoZSwgc2xhc2gxICsgMSwgYmFja3VwX2xlYWYsIDApKSB7CiAJCQkJZm9yIChuID0gMDsgbiA8IGUtPnRyZWUtPmVudHJ5X2NvdW50OyBuKyspIHsKIAkJCQkJaWYgKGUtPnRyZWUtPmVudHJpZXNbbl0tPnZlcnNpb25zWzFdLm1vZGUpIHsKLQkJCQkJCWhhc2hjbHIocm9vdC0+dmVyc2lvbnNbMV0uc2hhMSk7CisJCQkJCQlvaWRjbHIoJnJvb3QtPnZlcnNpb25zWzFdLm9pZCk7CiAJCQkJCQlyZXR1cm4gMTsKIAkJCQkJfQogCQkJCX0KQEAgLTE2OTAsOCArMTY5Myw4IEBACiAJCXJlbGVhc2VfdHJlZV9jb250ZW50X3JlY3Vyc2l2ZShlLT50cmVlKTsKIAllLT50cmVlID0gTlVMTDsKIAllLT52ZXJzaW9uc1sxXS5tb2RlID0gMDsKLQloYXNoY2xyKGUtPnZlcnNpb25zWzFdLnNoYTEpOwotCWhhc2hjbHIocm9vdC0+dmVyc2lvbnNbMV0uc2hhMSk7CisJb2lkY2xyKCZlLT52ZXJzaW9uc1sxXS5vaWQpOworCW9pZGNscigmcm9vdC0+dmVyc2lvbnNbMV0ub2lkKTsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMTczNiw3ICsxNzM5LDcgQEAKIAogZm91bmRfZW50cnk6CiAJbWVtY3B5KGxlYWYsIGUsIHNpemVvZigqbGVhZikpOwotCWlmIChlLT50cmVlICYmIGlzX251bGxfc2hhMShlLT52ZXJzaW9uc1sxXS5zaGExKSkKKwlpZiAoZS0+dHJlZSAmJiBpc19udWxsX29pZCgmZS0+dmVyc2lvbnNbMV0ub2lkKSkKIAkJbGVhZi0+dHJlZSA9IGR1cF90cmVlX2NvbnRlbnQoZS0+dHJlZSk7CiAJZWxzZQogCQlsZWFmLT50cmVlID0gTlVMTDsKQEAgLTE3NDcsMzQgKzE3NTAsMzUgQEAKIHsKIAlzdGF0aWMgY29uc3QgY2hhciAqbXNnID0gImZhc3QtaW1wb3J0IjsKIAlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbjsKLQl1bnNpZ25lZCBjaGFyIG9sZF9zaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9sZF9vaWQ7CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAotCWlmIChpc19udWxsX3NoYTEoYi0+c2hhMSkpIHsKKwlpZiAoaXNfbnVsbF9vaWQoJmItPm9pZCkpIHsKIAkJaWYgKGItPmRlbGV0ZSkKLQkJCWRlbGV0ZV9yZWYoYi0+bmFtZSwgTlVMTCwgMCk7CisJCQlkZWxldGVfcmVmKE5VTEwsIGItPm5hbWUsIE5VTEwsIDApOwogCQlyZXR1cm4gMDsKIAl9Ci0JaWYgKHJlYWRfcmVmKGItPm5hbWUsIG9sZF9zaGExKSkKLQkJaGFzaGNscihvbGRfc2hhMSk7Ci0JaWYgKCFmb3JjZV91cGRhdGUgJiYgIWlzX251bGxfc2hhMShvbGRfc2hhMSkpIHsKKwlpZiAocmVhZF9yZWYoYi0+bmFtZSwgb2xkX29pZC5oYXNoKSkKKwkJb2lkY2xyKCZvbGRfb2lkKTsKKwlpZiAoIWZvcmNlX3VwZGF0ZSAmJiAhaXNfbnVsbF9vaWQoJm9sZF9vaWQpKSB7CiAJCXN0cnVjdCBjb21taXQgKm9sZF9jbWl0LCAqbmV3X2NtaXQ7CiAKLQkJb2xkX2NtaXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2xkX3NoYTEsIDApOwotCQluZXdfY21pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShiLT5zaGExLCAwKTsKKwkJb2xkX2NtaXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoJm9sZF9vaWQsIDApOworCQluZXdfY21pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSgmYi0+b2lkLCAwKTsKIAkJaWYgKCFvbGRfY21pdCB8fCAhbmV3X2NtaXQpCiAJCQlyZXR1cm4gZXJyb3IoIkJyYW5jaCAlcyBpcyBtaXNzaW5nIGNvbW1pdHMuIiwgYi0+bmFtZSk7CiAKIAkJaWYgKCFpbl9tZXJnZV9iYXNlcyhvbGRfY21pdCwgbmV3X2NtaXQpKSB7CiAJCQl3YXJuaW5nKCJOb3QgdXBkYXRpbmcgJXMiCiAJCQkJIiAobmV3IHRpcCAlcyBkb2VzIG5vdCBjb250YWluICVzKSIsCi0JCQkJYi0+bmFtZSwgc2hhMV90b19oZXgoYi0+c2hhMSksIHNoYTFfdG9faGV4KG9sZF9zaGExKSk7CisJCQkJYi0+bmFtZSwgb2lkX3RvX2hleCgmYi0+b2lkKSwKKwkJCQlvaWRfdG9faGV4KCZvbGRfb2lkKSk7CiAJCQlyZXR1cm4gLTE7CiAJCX0KIAl9CiAJdHJhbnNhY3Rpb24gPSByZWZfdHJhbnNhY3Rpb25fYmVnaW4oJmVycik7CiAJaWYgKCF0cmFuc2FjdGlvbiB8fAotCSAgICByZWZfdHJhbnNhY3Rpb25fdXBkYXRlKHRyYW5zYWN0aW9uLCBiLT5uYW1lLCBiLT5zaGExLCBvbGRfc2hhMSwKKwkgICAgcmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSh0cmFuc2FjdGlvbiwgYi0+bmFtZSwgYi0+b2lkLmhhc2gsIG9sZF9vaWQuaGFzaCwKIAkJCQkgICAwLCBtc2csICZlcnIpIHx8CiAJICAgIHJlZl90cmFuc2FjdGlvbl9jb21taXQodHJhbnNhY3Rpb24sICZlcnIpKSB7CiAJCXJlZl90cmFuc2FjdGlvbl9mcmVlKHRyYW5zYWN0aW9uKTsKQEAgLTE4MTYsNyArMTgyMCw3IEBACiAJCXN0cmJ1Zl9hZGRmKCZyZWZfbmFtZSwgInJlZnMvdGFncy8lcyIsIHQtPm5hbWUpOwogCiAJCWlmIChyZWZfdHJhbnNhY3Rpb25fdXBkYXRlKHRyYW5zYWN0aW9uLCByZWZfbmFtZS5idWYsCi0JCQkJCSAgIHQtPnNoYTEsIE5VTEwsIDAsIG1zZywgJmVycikpIHsKKwkJCQkJICAgdC0+b2lkLmhhc2gsIE5VTEwsIDAsIG1zZywgJmVycikpIHsKIAkJCWZhaWx1cmUgfD0gZXJyb3IoIiVzIiwgZXJyLmJ1Zik7CiAJCQlnb3RvIGNsZWFudXA7CiAJCX0KQEAgLTE4NDUsNyArMTg0OSw3IEBACiAJCWZvciAoayA9IDA7IGsgPCAxMDI0OyBrKyspIHsKIAkJCWlmIChtLT5kYXRhLm1hcmtlZFtrXSkKIAkJCQlmcHJpbnRmKGYsICI6JSIgUFJJdU1BWCAiICVzXG4iLCBiYXNlICsgaywKLQkJCQkJc2hhMV90b19oZXgobS0+ZGF0YS5tYXJrZWRba10tPmlkeC5zaGExKSk7CisJCQkJCW9pZF90b19oZXgoJm0tPmRhdGEubWFya2VkW2tdLT5pZHgub2lkKSk7CiAJCX0KIAl9CiB9CkBAIC0xODk0LDcgKzE4OTgsNyBAQAogCXdoaWxlIChmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIGYpKSB7CiAJCXVpbnRtYXhfdCBtYXJrOwogCQljaGFyICplbmQ7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICplOwogCiAJCWVuZCA9IHN0cmNocihsaW5lLCAnXG4nKTsKQEAgLTE5MDMsMTQgKzE5MDcsMTQgQEAKIAkJKmVuZCA9IDA7CiAJCW1hcmsgPSBzdHJ0b3VtYXgobGluZSArIDEsICZlbmQsIDEwKTsKIAkJaWYgKCFtYXJrIHx8IGVuZCA9PSBsaW5lICsgMQotCQkJfHwgKmVuZCAhPSAnICcgfHwgZ2V0X3NoYTFfaGV4KGVuZCArIDEsIHNoYTEpKQorCQkJfHwgKmVuZCAhPSAnICcgfHwgZ2V0X29pZF9oZXgoZW5kICsgMSwgJm9pZCkpCiAJCQlkaWUoImNvcnJ1cHQgbWFyayBsaW5lOiAlcyIsIGxpbmUpOwotCQllID0gZmluZF9vYmplY3Qoc2hhMSk7CisJCWUgPSBmaW5kX29iamVjdCgmb2lkKTsKIAkJaWYgKCFlKSB7Ci0JCQllbnVtIG9iamVjdF90eXBlIHR5cGUgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOworCQkJZW51bSBvYmplY3RfdHlwZSB0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvaWQuaGFzaCwgTlVMTCk7CiAJCQlpZiAodHlwZSA8IDApCi0JCQkJZGllKCJvYmplY3Qgbm90IGZvdW5kOiAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKLQkJCWUgPSBpbnNlcnRfb2JqZWN0KHNoYTEpOworCQkJCWRpZSgib2JqZWN0IG5vdCBmb3VuZDogJXMiLCBvaWRfdG9faGV4KCZvaWQpKTsKKwkJCWUgPSBpbnNlcnRfb2JqZWN0KCZvaWQpOwogCQkJZS0+dHlwZSA9IHR5cGU7CiAJCQllLT5wYWNrX2lkID0gTUFYX1BBQ0tfSUQ7CiAJCQllLT5pZHgub2Zmc2V0ID0gMTsgLyoganVzdCBub3QgemVybyEgKi8KQEAgLTIxMTgsMjEgKzIxMjIsMjEgQEAKIAogc3RhdGljIHZvaWQgcGFyc2VfYW5kX3N0b3JlX2Jsb2IoCiAJc3RydWN0IGxhc3Rfb2JqZWN0ICpsYXN0LAotCXVuc2lnbmVkIGNoYXIgKnNoYTFvdXQsCisJc3RydWN0IG9iamVjdF9pZCAqb2lkb3V0LAogCXVpbnRtYXhfdCBtYXJrKQogewogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCXVpbnRtYXhfdCBsZW47CiAKIAlpZiAocGFyc2VfZGF0YSgmYnVmLCBiaWdfZmlsZV90aHJlc2hvbGQsICZsZW4pKQotCQlzdG9yZV9vYmplY3QoT0JKX0JMT0IsICZidWYsIGxhc3QsIHNoYTFvdXQsIG1hcmspOworCQlzdG9yZV9vYmplY3QoT0JKX0JMT0IsICZidWYsIGxhc3QsIG9pZG91dCwgbWFyayk7CiAJZWxzZSB7CiAJCWlmIChsYXN0KSB7CiAJCQlzdHJidWZfcmVsZWFzZSgmbGFzdC0+ZGF0YSk7CiAJCQlsYXN0LT5vZmZzZXQgPSAwOwogCQkJbGFzdC0+ZGVwdGggPSAwOwogCQl9Ci0JCXN0cmVhbV9ibG9iKGxlbiwgc2hhMW91dCwgbWFyayk7CisJCXN0cmVhbV9ibG9iKGxlbiwgb2lkb3V0LCBtYXJrKTsKIAkJc2tpcF9vcHRpb25hbF9sZigpOwogCX0KIH0KQEAgLTIyMDgsMjEgKzIyMTIsMjEgQEAKIAkJcGF0aFtpKytdID0gJy8nOwogCQlmYW5vdXQtLTsKIAl9Ci0JbWVtY3B5KHBhdGggKyBpLCBoZXhfc2hhMSArIGosIDQwIC0gaik7Ci0JcGF0aFtpICsgNDAgLSBqXSA9ICdcMCc7CisJbWVtY3B5KHBhdGggKyBpLCBoZXhfc2hhMSArIGosIEdJVF9TSEExX0hFWFNaIC0gaik7CisJcGF0aFtpICsgR0lUX1NIQTFfSEVYU1ogLSBqXSA9ICdcMCc7CiB9CiAKIHN0YXRpYyB1aW50bWF4X3QgZG9fY2hhbmdlX25vdGVfZmFub3V0KAogCQlzdHJ1Y3QgdHJlZV9lbnRyeSAqb3JpZ19yb290LCBzdHJ1Y3QgdHJlZV9lbnRyeSAqcm9vdCwKLQkJY2hhciAqaGV4X3NoYTEsIHVuc2lnbmVkIGludCBoZXhfc2hhMV9sZW4sCisJCWNoYXIgKmhleF9vaWQsIHVuc2lnbmVkIGludCBoZXhfb2lkX2xlbiwKIAkJY2hhciAqZnVsbHBhdGgsIHVuc2lnbmVkIGludCBmdWxscGF0aF9sZW4sCiAJCXVuc2lnbmVkIGNoYXIgZmFub3V0KQogewogCXN0cnVjdCB0cmVlX2NvbnRlbnQgKnQ7CiAJc3RydWN0IHRyZWVfZW50cnkgKmUsIGxlYWY7Ci0JdW5zaWduZWQgaW50IGksIHRtcF9oZXhfc2hhMV9sZW4sIHRtcF9mdWxscGF0aF9sZW47CisJdW5zaWduZWQgaW50IGksIHRtcF9oZXhfb2lkX2xlbiwgdG1wX2Z1bGxwYXRoX2xlbjsKIAl1aW50bWF4X3QgbnVtX25vdGVzID0gMDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNoYXIgcmVhbHBhdGhbNjBdOwogCiAJaWYgKCFyb290LT50cmVlKQpAQCAtMjIzMSw3ICsyMjM1LDcgQEAKIAogCWZvciAoaSA9IDA7IHQgJiYgaSA8IHQtPmVudHJ5X2NvdW50OyBpKyspIHsKIAkJZSA9IHQtPmVudHJpZXNbaV07Ci0JCXRtcF9oZXhfc2hhMV9sZW4gPSBoZXhfc2hhMV9sZW4gKyBlLT5uYW1lLT5zdHJfbGVuOworCQl0bXBfaGV4X29pZF9sZW4gPSBoZXhfb2lkX2xlbiArIGUtPm5hbWUtPnN0cl9sZW47CiAJCXRtcF9mdWxscGF0aF9sZW4gPSBmdWxscGF0aF9sZW47CiAKIAkJLyoKQEAgLTIyNDMsMTIgKzIyNDcsMTIgQEAKIAkJICogb2YgMiBjaGFycy4KIAkJICovCiAJCWlmICghZS0+dmVyc2lvbnNbMV0ubW9kZSB8fAotCQkgICAgdG1wX2hleF9zaGExX2xlbiA+IDQwIHx8CisJCSAgICB0bXBfaGV4X29pZF9sZW4gPiBHSVRfU0hBMV9IRVhTWiB8fAogCQkgICAgZS0+bmFtZS0+c3RyX2xlbiAlIDIpCiAJCQljb250aW51ZTsKIAogCQkvKiBUaGlzIF9tYXlfIGJlIGEgbm90ZSBlbnRyeSwgb3IgYSBzdWJkaXIgY29udGFpbmluZyBub3RlcyAqLwotCQltZW1jcHkoaGV4X3NoYTEgKyBoZXhfc2hhMV9sZW4sIGUtPm5hbWUtPnN0cl9kYXQsCisJCW1lbWNweShoZXhfb2lkICsgaGV4X29pZF9sZW4sIGUtPm5hbWUtPnN0cl9kYXQsCiAJCSAgICAgICBlLT5uYW1lLT5zdHJfbGVuKTsKIAkJaWYgKHRtcF9mdWxscGF0aF9sZW4pCiAJCQlmdWxscGF0aFt0bXBfZnVsbHBhdGhfbGVuKytdID0gJy8nOwpAQCAtMjI1NywxNCArMjI2MSwxNCBAQAogCQl0bXBfZnVsbHBhdGhfbGVuICs9IGUtPm5hbWUtPnN0cl9sZW47CiAJCWZ1bGxwYXRoW3RtcF9mdWxscGF0aF9sZW5dID0gJ1wwJzsKIAotCQlpZiAodG1wX2hleF9zaGExX2xlbiA9PSA0MCAmJiAhZ2V0X3NoYTFfaGV4KGhleF9zaGExLCBzaGExKSkgeworCQlpZiAodG1wX2hleF9vaWRfbGVuID09IEdJVF9TSEExX0hFWFNaICYmICFnZXRfb2lkX2hleChoZXhfb2lkLCAmb2lkKSkgewogCQkJLyogVGhpcyBpcyBhIG5vdGUgZW50cnkgKi8KIAkJCWlmIChmYW5vdXQgPT0gMHhmZikgewogCQkJCS8qIENvdW50aW5nIG1vZGUsIG5vIHJlbmFtZSAqLwogCQkJCW51bV9ub3RlcysrOwogCQkJCWNvbnRpbnVlOwogCQkJfQotCQkJY29uc3RydWN0X3BhdGhfd2l0aF9mYW5vdXQoaGV4X3NoYTEsIGZhbm91dCwgcmVhbHBhdGgpOworCQkJY29uc3RydWN0X3BhdGhfd2l0aF9mYW5vdXQoaGV4X29pZCwgZmFub3V0LCByZWFscGF0aCk7CiAJCQlpZiAoIXN0cmNtcChmdWxscGF0aCwgcmVhbHBhdGgpKSB7CiAJCQkJLyogTm90ZSBlbnRyeSBpcyBpbiBjb3JyZWN0IGxvY2F0aW9uICovCiAJCQkJbnVtX25vdGVzKys7CkBAIC0yMjc1LDEzICsyMjc5LDEzIEBACiAJCQlpZiAoIXRyZWVfY29udGVudF9yZW1vdmUob3JpZ19yb290LCBmdWxscGF0aCwgJmxlYWYsIDApKQogCQkJCWRpZSgiRmFpbGVkIHRvIHJlbW92ZSBwYXRoICVzIiwgZnVsbHBhdGgpOwogCQkJdHJlZV9jb250ZW50X3NldChvcmlnX3Jvb3QsIHJlYWxwYXRoLAotCQkJCWxlYWYudmVyc2lvbnNbMV0uc2hhMSwKKwkJCQkmbGVhZi52ZXJzaW9uc1sxXS5vaWQsCiAJCQkJbGVhZi52ZXJzaW9uc1sxXS5tb2RlLAogCQkJCWxlYWYudHJlZSk7CiAJCX0gZWxzZSBpZiAoU19JU0RJUihlLT52ZXJzaW9uc1sxXS5tb2RlKSkgewogCQkJLyogVGhpcyBpcyBhIHN1YmRpciB0aGF0IG1heSBjb250YWluIG5vdGUgZW50cmllcyAqLwogCQkJbnVtX25vdGVzICs9IGRvX2NoYW5nZV9ub3RlX2Zhbm91dChvcmlnX3Jvb3QsIGUsCi0JCQkJaGV4X3NoYTEsIHRtcF9oZXhfc2hhMV9sZW4sCisJCQkJaGV4X29pZCwgdG1wX2hleF9vaWRfbGVuLAogCQkJCWZ1bGxwYXRoLCB0bXBfZnVsbHBhdGhfbGVuLCBmYW5vdXQpOwogCQl9CiAKQEAgLTIyOTQsOCArMjI5OCwxNCBAQAogc3RhdGljIHVpbnRtYXhfdCBjaGFuZ2Vfbm90ZV9mYW5vdXQoc3RydWN0IHRyZWVfZW50cnkgKnJvb3QsCiAJCXVuc2lnbmVkIGNoYXIgZmFub3V0KQogewotCWNoYXIgaGV4X3NoYTFbNDBdLCBwYXRoWzYwXTsKLQlyZXR1cm4gZG9fY2hhbmdlX25vdGVfZmFub3V0KHJvb3QsIHJvb3QsIGhleF9zaGExLCAwLCBwYXRoLCAwLCBmYW5vdXQpOworCS8qCisJICogVGhlIHNpemUgb2YgcGF0aCBpcyBkdWUgdG8gb25lIHNsYXNoIGJldHdlZW4gZXZlcnkgdHdvIGhleCBkaWdpdHMsCisJICogcGx1cyB0aGUgdGVybWluYXRpbmcgTlVMLiAgTm90ZSB0aGF0IHRoZXJlIGlzIG5vIHNsYXNoIGF0IHRoZSBlbmQsIHNvCisJICogdGhlIG51bWJlciBvZiBzbGFzaGVzIGlzIG9uZSBsZXNzIHRoYW4gaGFsZiB0aGUgbnVtYmVyIG9mIGhleAorCSAqIGNoYXJhY3RlcnMuCisJICovCisJY2hhciBoZXhfb2lkW0dJVF9NQVhfSEVYU1pdLCBwYXRoW0dJVF9NQVhfSEVYU1ogKyAoR0lUX01BWF9IRVhTWiAvIDIpIC0gMSArIDFdOworCXJldHVybiBkb19jaGFuZ2Vfbm90ZV9mYW5vdXQocm9vdCwgcm9vdCwgaGV4X29pZCwgMCwgcGF0aCwgMCwgZmFub3V0KTsKIH0KIAogLyoKQEAgLTIzNTYsNyArMjM2Niw3IEBACiAJc3RhdGljIHN0cnVjdCBzdHJidWYgdXEgPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICplbmRwOwogCXN0cnVjdCBvYmplY3RfZW50cnkgKm9lOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJdWludDE2X3QgbW9kZSwgaW5saW5lX2RhdGEgPSAwOwogCiAJcCA9IGdldF9tb2RlKHAsICZtb2RlKTsKQEAgLTIzNzksMTUgKzIzODksMTQgQEAKIAogCWlmICgqcCA9PSAnOicpIHsKIAkJb2UgPSBmaW5kX21hcmsocGFyc2VfbWFya19yZWZfc3BhY2UoJnApKTsKLQkJaGFzaGNweShzaGExLCBvZS0+aWR4LnNoYTEpOworCQlvaWRjcHkoJm9pZCwgJm9lLT5pZHgub2lkKTsKIAl9IGVsc2UgaWYgKHNraXBfcHJlZml4KHAsICJpbmxpbmUgIiwgJnApKSB7CiAJCWlubGluZV9kYXRhID0gMTsKIAkJb2UgPSBOVUxMOyAvKiBub3QgdXNlZCB3aXRoIGlubGluZV9kYXRhLCBidXQgbWFrZXMgZ2NjIGhhcHB5ICovCiAJfSBlbHNlIHsKLQkJaWYgKGdldF9zaGExX2hleChwLCBzaGExKSkKKwkJaWYgKHBhcnNlX29pZF9oZXgocCwgJm9pZCwgJnApKQogCQkJZGllKCJJbnZhbGlkIGRhdGFyZWY6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKLQkJb2UgPSBmaW5kX29iamVjdChzaGExKTsKLQkJcCArPSA0MDsKKwkJb2UgPSBmaW5kX29iamVjdCgmb2lkKTsKIAkJaWYgKCpwKysgIT0gJyAnKQogCQkJZGllKCJNaXNzaW5nIHNwYWNlIGFmdGVyIFNIQTE6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKIAl9CkBAIC0yNDAwLDcgKzI0MDksNyBAQAogCX0KIAogCS8qIEdpdCBkb2VzIG5vdCB0cmFjayBlbXB0eSwgbm9uLXRvcGxldmVsIGRpcmVjdG9yaWVzLiAqLwotCWlmIChTX0lTRElSKG1vZGUpICYmICFoYXNoY21wKHNoYTEsIEVNUFRZX1RSRUVfU0hBMV9CSU4pICYmICpwKSB7CisJaWYgKFNfSVNESVIobW9kZSkgJiYgaXNfZW1wdHlfdHJlZV9vaWQoJm9pZCkgJiYgKnApIHsKIAkJdHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHAsIE5VTEwsIDApOwogCQlyZXR1cm47CiAJfQpAQCAtMjQyNywxMiArMjQzNiwxMiBAQAogCQkJcCA9IHVxLmJ1ZjsKIAkJfQogCQlyZWFkX25leHRfY29tbWFuZCgpOwotCQlwYXJzZV9hbmRfc3RvcmVfYmxvYigmbGFzdF9ibG9iLCBzaGExLCAwKTsKKwkJcGFyc2VfYW5kX3N0b3JlX2Jsb2IoJmxhc3RfYmxvYiwgJm9pZCwgMCk7CiAJfSBlbHNlIHsKIAkJZW51bSBvYmplY3RfdHlwZSBleHBlY3RlZCA9IFNfSVNESVIobW9kZSkgPwogCQkJCQkJT0JKX1RSRUU6IE9CSl9CTE9COwogCQllbnVtIG9iamVjdF90eXBlIHR5cGUgPSBvZSA/IG9lLT50eXBlIDoKLQkJCQkJc2hhMV9vYmplY3RfaW5mbyhzaGExLCBOVUxMKTsKKwkJCQkJc2hhMV9vYmplY3RfaW5mbyhvaWQuaGFzaCwgTlVMTCk7CiAJCWlmICh0eXBlIDwgMCkKIAkJCWRpZSgiJXMgbm90IGZvdW5kOiAlcyIsCiAJCQkJCVNfSVNESVIobW9kZSkgPyAgIlRyZWUiIDogIkJsb2IiLApAQCAtMjQ0NCwxMCArMjQ1MywxMCBAQAogCX0KIAogCWlmICghKnApIHsKLQkJdHJlZV9jb250ZW50X3JlcGxhY2UoJmItPmJyYW5jaF90cmVlLCBzaGExLCBtb2RlLCBOVUxMKTsKKwkJdHJlZV9jb250ZW50X3JlcGxhY2UoJmItPmJyYW5jaF90cmVlLCAmb2lkLCBtb2RlLCBOVUxMKTsKIAkJcmV0dXJuOwogCX0KLQl0cmVlX2NvbnRlbnRfc2V0KCZiLT5icmFuY2hfdHJlZSwgcCwgc2hhMSwgbW9kZSwgTlVMTCk7CisJdHJlZV9jb250ZW50X3NldCgmYi0+YnJhbmNoX3RyZWUsIHAsICZvaWQsIG1vZGUsIE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCBmaWxlX2NoYW5nZV9kKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBicmFuY2ggKmIpCkBAIC0yNTA1LDEzICsyNTE0LDEzIEBACiAJCWRpZSgiUGF0aCAlcyBub3QgaW4gYnJhbmNoIiwgcyk7CiAJaWYgKCEqZCkgewkvKiBDICJwYXRoL3RvL3N1YmRpciIgIiIgKi8KIAkJdHJlZV9jb250ZW50X3JlcGxhY2UoJmItPmJyYW5jaF90cmVlLAotCQkJbGVhZi52ZXJzaW9uc1sxXS5zaGExLAorCQkJJmxlYWYudmVyc2lvbnNbMV0ub2lkLAogCQkJbGVhZi52ZXJzaW9uc1sxXS5tb2RlLAogCQkJbGVhZi50cmVlKTsKIAkJcmV0dXJuOwogCX0KIAl0cmVlX2NvbnRlbnRfc2V0KCZiLT5icmFuY2hfdHJlZSwgZCwKLQkJbGVhZi52ZXJzaW9uc1sxXS5zaGExLAorCQkmbGVhZi52ZXJzaW9uc1sxXS5vaWQsCiAJCWxlYWYudmVyc2lvbnNbMV0ubW9kZSwKIAkJbGVhZi50cmVlKTsKIH0KQEAgLTI1MjEsNyArMjUzMCw3IEBACiAJc3RhdGljIHN0cnVjdCBzdHJidWYgdXEgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpvZTsKIAlzdHJ1Y3QgYnJhbmNoICpzOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sIGNvbW1pdF9zaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZCwgY29tbWl0X29pZDsKIAljaGFyIHBhdGhbNjBdOwogCXVpbnQxNl90IGlubGluZV9kYXRhID0gMDsKIAl1bnNpZ25lZCBjaGFyIG5ld19mYW5vdXQ7CkBAIC0yNTQ2LDE1ICsyNTU1LDE0IEBACiAJLyogPGRhdGFyZWY+IG9yICdpbmxpbmUnICovCiAJaWYgKCpwID09ICc6JykgewogCQlvZSA9IGZpbmRfbWFyayhwYXJzZV9tYXJrX3JlZl9zcGFjZSgmcCkpOwotCQloYXNoY3B5KHNoYTEsIG9lLT5pZHguc2hhMSk7CisJCW9pZGNweSgmb2lkLCAmb2UtPmlkeC5vaWQpOwogCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgocCwgImlubGluZSAiLCAmcCkpIHsKIAkJaW5saW5lX2RhdGEgPSAxOwogCQlvZSA9IE5VTEw7IC8qIG5vdCB1c2VkIHdpdGggaW5saW5lX2RhdGEsIGJ1dCBtYWtlcyBnY2MgaGFwcHkgKi8KIAl9IGVsc2UgewotCQlpZiAoZ2V0X3NoYTFfaGV4KHAsIHNoYTEpKQorCQlpZiAocGFyc2Vfb2lkX2hleChwLCAmb2lkLCAmcCkpCiAJCQlkaWUoIkludmFsaWQgZGF0YXJlZjogJXMiLCBjb21tYW5kX2J1Zi5idWYpOwotCQlvZSA9IGZpbmRfb2JqZWN0KHNoYTEpOwotCQlwICs9IDQwOworCQlvZSA9IGZpbmRfb2JqZWN0KCZvaWQpOwogCQlpZiAoKnArKyAhPSAnICcpCiAJCQlkaWUoIk1pc3Npbmcgc3BhY2UgYWZ0ZXIgU0hBMTogJXMiLCBjb21tYW5kX2J1Zi5idWYpOwogCX0KQEAgLTI1NjIsMTkgKzI1NzAsMTkgQEAKIAkvKiA8Y29tbWl0LWlzaD4gKi8KIAlzID0gbG9va3VwX2JyYW5jaChwKTsKIAlpZiAocykgewotCQlpZiAoaXNfbnVsbF9zaGExKHMtPnNoYTEpKQorCQlpZiAoaXNfbnVsbF9vaWQoJnMtPm9pZCkpCiAJCQlkaWUoIkNhbid0IGFkZCBhIG5vdGUgb24gZW1wdHkgYnJhbmNoLiIpOwotCQloYXNoY3B5KGNvbW1pdF9zaGExLCBzLT5zaGExKTsKKwkJb2lkY3B5KCZjb21taXRfb2lkLCAmcy0+b2lkKTsKIAl9IGVsc2UgaWYgKCpwID09ICc6JykgewogCQl1aW50bWF4X3QgY29tbWl0X21hcmsgPSBwYXJzZV9tYXJrX3JlZl9lb2wocCk7CiAJCXN0cnVjdCBvYmplY3RfZW50cnkgKmNvbW1pdF9vZSA9IGZpbmRfbWFyayhjb21taXRfbWFyayk7CiAJCWlmIChjb21taXRfb2UtPnR5cGUgIT0gT0JKX0NPTU1JVCkKIAkJCWRpZSgiTWFyayA6JSIgUFJJdU1BWCAiIG5vdCBhIGNvbW1pdCIsIGNvbW1pdF9tYXJrKTsKLQkJaGFzaGNweShjb21taXRfc2hhMSwgY29tbWl0X29lLT5pZHguc2hhMSk7Ci0JfSBlbHNlIGlmICghZ2V0X3NoYTEocCwgY29tbWl0X3NoYTEpKSB7CisJCW9pZGNweSgmY29tbWl0X29pZCwgJmNvbW1pdF9vZS0+aWR4Lm9pZCk7CisJfSBlbHNlIGlmICghZ2V0X29pZChwLCAmY29tbWl0X29pZCkpIHsKIAkJdW5zaWduZWQgbG9uZyBzaXplOwotCQljaGFyICpidWYgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShjb21taXRfc2hhMSwKLQkJCWNvbW1pdF90eXBlLCAmc2l6ZSwgY29tbWl0X3NoYTEpOworCQljaGFyICpidWYgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShjb21taXRfb2lkLmhhc2gsCisJCQljb21taXRfdHlwZSwgJnNpemUsIGNvbW1pdF9vaWQuaGFzaCk7CiAJCWlmICghYnVmIHx8IHNpemUgPCA0NikKIAkJCWRpZSgiTm90IGEgdmFsaWQgY29tbWl0OiAlcyIsIHApOwogCQlmcmVlKGJ1Zik7CkBAIC0yNTg3LDEzICsyNTk1LDEzIEBACiAJCQlwID0gdXEuYnVmOwogCQl9CiAJCXJlYWRfbmV4dF9jb21tYW5kKCk7Ci0JCXBhcnNlX2FuZF9zdG9yZV9ibG9iKCZsYXN0X2Jsb2IsIHNoYTEsIDApOworCQlwYXJzZV9hbmRfc3RvcmVfYmxvYigmbGFzdF9ibG9iLCAmb2lkLCAwKTsKIAl9IGVsc2UgaWYgKG9lKSB7CiAJCWlmIChvZS0+dHlwZSAhPSBPQkpfQkxPQikKIAkJCWRpZSgiTm90IGEgYmxvYiAoYWN0dWFsbHkgYSAlcyk6ICVzIiwKIAkJCQl0eXBlbmFtZShvZS0+dHlwZSksIGNvbW1hbmRfYnVmLmJ1Zik7Ci0JfSBlbHNlIGlmICghaXNfbnVsbF9zaGExKHNoYTEpKSB7Ci0JCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CisJfSBlbHNlIGlmICghaXNfbnVsbF9vaWQoJm9pZCkpIHsKKwkJZW51bSBvYmplY3RfdHlwZSB0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvaWQuaGFzaCwgTlVMTCk7CiAJCWlmICh0eXBlIDwgMCkKIAkJCWRpZSgiQmxvYiBub3QgZm91bmQ6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKIAkJaWYgKHR5cGUgIT0gT0JKX0JMT0IpCkBAIC0yNjAxLDUwICsyNjA5LDUxIEBACiAJCQkgICAgdHlwZW5hbWUodHlwZSksIGNvbW1hbmRfYnVmLmJ1Zik7CiAJfQogCi0JY29uc3RydWN0X3BhdGhfd2l0aF9mYW5vdXQoc2hhMV90b19oZXgoY29tbWl0X3NoYTEpLCAqb2xkX2Zhbm91dCwgcGF0aCk7CisJY29uc3RydWN0X3BhdGhfd2l0aF9mYW5vdXQob2lkX3RvX2hleCgmY29tbWl0X29pZCksICpvbGRfZmFub3V0LCBwYXRoKTsKIAlpZiAodHJlZV9jb250ZW50X3JlbW92ZSgmYi0+YnJhbmNoX3RyZWUsIHBhdGgsIE5VTEwsIDApKQogCQliLT5udW1fbm90ZXMtLTsKIAotCWlmIChpc19udWxsX3NoYTEoc2hhMSkpCisJaWYgKGlzX251bGxfb2lkKCZvaWQpKQogCQlyZXR1cm47IC8qIG5vdGhpbmcgdG8gaW5zZXJ0ICovCiAKIAliLT5udW1fbm90ZXMrKzsKIAluZXdfZmFub3V0ID0gY29udmVydF9udW1fbm90ZXNfdG9fZmFub3V0KGItPm51bV9ub3Rlcyk7Ci0JY29uc3RydWN0X3BhdGhfd2l0aF9mYW5vdXQoc2hhMV90b19oZXgoY29tbWl0X3NoYTEpLCBuZXdfZmFub3V0LCBwYXRoKTsKLQl0cmVlX2NvbnRlbnRfc2V0KCZiLT5icmFuY2hfdHJlZSwgcGF0aCwgc2hhMSwgU19JRlJFRyB8IDA2NDQsIE5VTEwpOworCWNvbnN0cnVjdF9wYXRoX3dpdGhfZmFub3V0KG9pZF90b19oZXgoJmNvbW1pdF9vaWQpLCBuZXdfZmFub3V0LCBwYXRoKTsKKwl0cmVlX2NvbnRlbnRfc2V0KCZiLT5icmFuY2hfdHJlZSwgcGF0aCwgJm9pZCwgU19JRlJFRyB8IDA2NDQsIE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCBmaWxlX2NoYW5nZV9kZWxldGVhbGwoc3RydWN0IGJyYW5jaCAqYikKIHsKIAlyZWxlYXNlX3RyZWVfY29udGVudF9yZWN1cnNpdmUoYi0+YnJhbmNoX3RyZWUudHJlZSk7Ci0JaGFzaGNscihiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1swXS5zaGExKTsKLQloYXNoY2xyKGItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLnNoYTEpOworCW9pZGNscigmYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMF0ub2lkKTsKKwlvaWRjbHIoJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLm9pZCk7CiAJbG9hZF90cmVlKCZiLT5icmFuY2hfdHJlZSk7CiAJYi0+bnVtX25vdGVzID0gMDsKIH0KIAogc3RhdGljIHZvaWQgcGFyc2VfZnJvbV9jb21taXQoc3RydWN0IGJyYW5jaCAqYiwgY2hhciAqYnVmLCB1bnNpZ25lZCBsb25nIHNpemUpCiB7Ci0JaWYgKCFidWYgfHwgc2l6ZSA8IDQ2KQotCQlkaWUoIk5vdCBhIHZhbGlkIGNvbW1pdDogJXMiLCBzaGExX3RvX2hleChiLT5zaGExKSk7CisJaWYgKCFidWYgfHwgc2l6ZSA8IEdJVF9TSEExX0hFWFNaICsgNikKKwkJZGllKCJOb3QgYSB2YWxpZCBjb21taXQ6ICVzIiwgb2lkX3RvX2hleCgmYi0+b2lkKSk7CiAJaWYgKG1lbWNtcCgidHJlZSAiLCBidWYsIDUpCi0JCXx8IGdldF9zaGExX2hleChidWYgKyA1LCBiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5zaGExKSkKLQkJZGllKCJUaGUgY29tbWl0ICVzIGlzIGNvcnJ1cHQiLCBzaGExX3RvX2hleChiLT5zaGExKSk7Ci0JaGFzaGNweShiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1swXS5zaGExLAotCQliLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5zaGExKTsKKwkJfHwgZ2V0X29pZF9oZXgoYnVmICsgNSwgJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLm9pZCkpCisJCWRpZSgiVGhlIGNvbW1pdCAlcyBpcyBjb3JydXB0Iiwgb2lkX3RvX2hleCgmYi0+b2lkKSk7CisJb2lkY3B5KCZiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1swXS5vaWQsCisJICAgICAgICZiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5vaWQpOwogfQogCiBzdGF0aWMgdm9pZCBwYXJzZV9mcm9tX2V4aXN0aW5nKHN0cnVjdCBicmFuY2ggKmIpCiB7Ci0JaWYgKGlzX251bGxfc2hhMShiLT5zaGExKSkgewotCQloYXNoY2xyKGItPmJyYW5jaF90cmVlLnZlcnNpb25zWzBdLnNoYTEpOwotCQloYXNoY2xyKGItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLnNoYTEpOworCWlmIChpc19udWxsX29pZCgmYi0+b2lkKSkgeworCQlvaWRjbHIoJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzBdLm9pZCk7CisJCW9pZGNscigmYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMV0ub2lkKTsKIAl9IGVsc2UgewogCQl1bnNpZ25lZCBsb25nIHNpemU7CiAJCWNoYXIgKmJ1ZjsKIAotCQlidWYgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShiLT5zaGExLAotCQkJY29tbWl0X3R5cGUsICZzaXplLCBiLT5zaGExKTsKKwkJYnVmID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UoYi0+b2lkLmhhc2gsCisJCQkJCQkgY29tbWl0X3R5cGUsICZzaXplLAorCQkJCQkJIGItPm9pZC5oYXNoKTsKIAkJcGFyc2VfZnJvbV9jb21taXQoYiwgYnVmLCBzaXplKTsKIAkJZnJlZShidWYpOwogCX0KQEAgLTI2NTQsMjggKzI2NjMsMjggQEAKIHsKIAljb25zdCBjaGFyICpmcm9tOwogCXN0cnVjdCBicmFuY2ggKnM7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCWlmICghc2tpcF9wcmVmaXgoY29tbWFuZF9idWYuYnVmLCAiZnJvbSAiLCAmZnJvbSkpCiAJCXJldHVybiAwOwogCi0JaGFzaGNweShzaGExLCBiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5zaGExKTsKKwlvaWRjcHkoJm9pZCwgJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLm9pZCk7CiAKIAlzID0gbG9va3VwX2JyYW5jaChmcm9tKTsKIAlpZiAoYiA9PSBzKQogCQlkaWUoIkNhbid0IGNyZWF0ZSBhIGJyYW5jaCBmcm9tIGl0c2VsZjogJXMiLCBiLT5uYW1lKTsKIAllbHNlIGlmIChzKSB7Ci0JCXVuc2lnbmVkIGNoYXIgKnQgPSBzLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5zaGExOwotCQloYXNoY3B5KGItPnNoYTEsIHMtPnNoYTEpOwotCQloYXNoY3B5KGItPmJyYW5jaF90cmVlLnZlcnNpb25zWzBdLnNoYTEsIHQpOwotCQloYXNoY3B5KGItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLnNoYTEsIHQpOworCQlzdHJ1Y3Qgb2JqZWN0X2lkICp0ID0gJnMtPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLm9pZDsKKwkJb2lkY3B5KCZiLT5vaWQsICZzLT5vaWQpOworCQlvaWRjcHkoJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzBdLm9pZCwgdCk7CisJCW9pZGNweSgmYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMV0ub2lkLCB0KTsKIAl9IGVsc2UgaWYgKCpmcm9tID09ICc6JykgewogCQl1aW50bWF4X3QgaWRudW0gPSBwYXJzZV9tYXJrX3JlZl9lb2woZnJvbSk7CiAJCXN0cnVjdCBvYmplY3RfZW50cnkgKm9lID0gZmluZF9tYXJrKGlkbnVtKTsKIAkJaWYgKG9lLT50eXBlICE9IE9CSl9DT01NSVQpCiAJCQlkaWUoIk1hcmsgOiUiIFBSSXVNQVggIiBub3QgYSBjb21taXQiLCBpZG51bSk7Ci0JCWlmIChoYXNoY21wKGItPnNoYTEsIG9lLT5pZHguc2hhMSkpIHsKLQkJCWhhc2hjcHkoYi0+c2hhMSwgb2UtPmlkeC5zaGExKTsKKwkJaWYgKG9pZGNtcCgmYi0+b2lkLCAmb2UtPmlkeC5vaWQpKSB7CisJCQlvaWRjcHkoJmItPm9pZCwgJm9lLT5pZHgub2lkKTsKIAkJCWlmIChvZS0+cGFja19pZCAhPSBNQVhfUEFDS19JRCkgewogCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAkJCQljaGFyICpidWYgPSBnZmlfdW5wYWNrX2VudHJ5KG9lLCAmc2l6ZSk7CkBAIC0yNjg0LDE1ICsyNjkzLDE1IEBACiAJCQl9IGVsc2UKIAkJCQlwYXJzZV9mcm9tX2V4aXN0aW5nKGIpOwogCQl9Ci0JfSBlbHNlIGlmICghZ2V0X3NoYTEoZnJvbSwgYi0+c2hhMSkpIHsKKwl9IGVsc2UgaWYgKCFnZXRfb2lkKGZyb20sICZiLT5vaWQpKSB7CiAJCXBhcnNlX2Zyb21fZXhpc3RpbmcoYik7Ci0JCWlmIChpc19udWxsX3NoYTEoYi0+c2hhMSkpCisJCWlmIChpc19udWxsX29pZCgmYi0+b2lkKSkKIAkJCWItPmRlbGV0ZSA9IDE7CiAJfQogCWVsc2UKIAkJZGllKCJJbnZhbGlkIHJlZiBuYW1lIG9yIFNIQTEgZXhwcmVzc2lvbjogJXMiLCBmcm9tKTsKIAotCWlmIChiLT5icmFuY2hfdHJlZS50cmVlICYmIGhhc2hjbXAoc2hhMSwgYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMV0uc2hhMSkpIHsKKwlpZiAoYi0+YnJhbmNoX3RyZWUudHJlZSAmJiBvaWRjbXAoJm9pZCwgJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLm9pZCkpIHsKIAkJcmVsZWFzZV90cmVlX2NvbnRlbnRfcmVjdXJzaXZlKGItPmJyYW5jaF90cmVlLnRyZWUpOwogCQliLT5icmFuY2hfdHJlZS50cmVlID0gTlVMTDsKIAl9CkBAIC0yNzEyLDE3ICsyNzIxLDE3IEBACiAJCW4gPSB4bWFsbG9jKHNpemVvZigqbikpOwogCQlzID0gbG9va3VwX2JyYW5jaChmcm9tKTsKIAkJaWYgKHMpCi0JCQloYXNoY3B5KG4tPnNoYTEsIHMtPnNoYTEpOworCQkJb2lkY3B5KCZuLT5vaWQsICZzLT5vaWQpOwogCQllbHNlIGlmICgqZnJvbSA9PSAnOicpIHsKIAkJCXVpbnRtYXhfdCBpZG51bSA9IHBhcnNlX21hcmtfcmVmX2VvbChmcm9tKTsKIAkJCXN0cnVjdCBvYmplY3RfZW50cnkgKm9lID0gZmluZF9tYXJrKGlkbnVtKTsKIAkJCWlmIChvZS0+dHlwZSAhPSBPQkpfQ09NTUlUKQogCQkJCWRpZSgiTWFyayA6JSIgUFJJdU1BWCAiIG5vdCBhIGNvbW1pdCIsIGlkbnVtKTsKLQkJCWhhc2hjcHkobi0+c2hhMSwgb2UtPmlkeC5zaGExKTsKLQkJfSBlbHNlIGlmICghZ2V0X3NoYTEoZnJvbSwgbi0+c2hhMSkpIHsKKwkJCW9pZGNweSgmbi0+b2lkLCAmb2UtPmlkeC5vaWQpOworCQl9IGVsc2UgaWYgKCFnZXRfb2lkKGZyb20sICZuLT5vaWQpKSB7CiAJCQl1bnNpZ25lZCBsb25nIHNpemU7Ci0JCQljaGFyICpidWYgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShuLT5zaGExLAotCQkJCWNvbW1pdF90eXBlLCAmc2l6ZSwgbi0+c2hhMSk7CisJCQljaGFyICpidWYgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShuLT5vaWQuaGFzaCwKKwkJCQljb21taXRfdHlwZSwgJnNpemUsIG4tPm9pZC5oYXNoKTsKIAkJCWlmICghYnVmIHx8IHNpemUgPCA0NikKIAkJCQlkaWUoIk5vdCBhIHZhbGlkIGNvbW1pdDogJXMiLCBmcm9tKTsKIAkJCWZyZWUoYnVmKTsKQEAgLTI4MDksMTcgKzI4MTgsMTkgQEAKIAogCS8qIGJ1aWxkIHRoZSB0cmVlIGFuZCB0aGUgY29tbWl0ICovCiAJc3RvcmVfdHJlZSgmYi0+YnJhbmNoX3RyZWUpOwotCWhhc2hjcHkoYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMF0uc2hhMSwKLQkJYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMV0uc2hhMSk7CisJb2lkY3B5KCZiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1swXS5vaWQsCisJICAgICAgICZiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5vaWQpOwogCiAJc3RyYnVmX3Jlc2V0KCZuZXdfZGF0YSk7CiAJc3RyYnVmX2FkZGYoJm5ld19kYXRhLCAidHJlZSAlc1xuIiwKLQkJc2hhMV90b19oZXgoYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMV0uc2hhMSkpOwotCWlmICghaXNfbnVsbF9zaGExKGItPnNoYTEpKQotCQlzdHJidWZfYWRkZigmbmV3X2RhdGEsICJwYXJlbnQgJXNcbiIsIHNoYTFfdG9faGV4KGItPnNoYTEpKTsKKwkJb2lkX3RvX2hleCgmYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMV0ub2lkKSk7CisJaWYgKCFpc19udWxsX29pZCgmYi0+b2lkKSkKKwkJc3RyYnVmX2FkZGYoJm5ld19kYXRhLCAicGFyZW50ICVzXG4iLAorCQkJICAgIG9pZF90b19oZXgoJmItPm9pZCkpOwogCXdoaWxlIChtZXJnZV9saXN0KSB7CiAJCXN0cnVjdCBoYXNoX2xpc3QgKm5leHQgPSBtZXJnZV9saXN0LT5uZXh0OwotCQlzdHJidWZfYWRkZigmbmV3X2RhdGEsICJwYXJlbnQgJXNcbiIsIHNoYTFfdG9faGV4KG1lcmdlX2xpc3QtPnNoYTEpKTsKKwkJc3RyYnVmX2FkZGYoJm5ld19kYXRhLCAicGFyZW50ICVzXG4iLAorCQkJICAgIG9pZF90b19oZXgoJm1lcmdlX2xpc3QtPm9pZCkpOwogCQlmcmVlKG1lcmdlX2xpc3QpOwogCQltZXJnZV9saXN0ID0gbmV4dDsKIAl9CkBAIC0yODMyLDcgKzI4NDMsNyBAQAogCWZyZWUoYXV0aG9yKTsKIAlmcmVlKGNvbW1pdHRlcik7CiAKLQlpZiAoIXN0b3JlX29iamVjdChPQkpfQ09NTUlULCAmbmV3X2RhdGEsIE5VTEwsIGItPnNoYTEsIG5leHRfbWFyaykpCisJaWYgKCFzdG9yZV9vYmplY3QoT0JKX0NPTU1JVCwgJm5ld19kYXRhLCBOVUxMLCAmYi0+b2lkLCBuZXh0X21hcmspKQogCQliLT5wYWNrX2lkID0gcGFja19pZDsKIAliLT5sYXN0X2NvbW1pdCA9IG9iamVjdF9jb3VudF9ieV90eXBlW09CSl9DT01NSVRdOwogfQpAQCAtMjg0NSw3ICsyODU2LDcgQEAKIAlzdHJ1Y3QgYnJhbmNoICpzOwogCXN0cnVjdCB0YWcgKnQ7CiAJdWludG1heF90IGZyb21fbWFyayA9IDA7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJY29uc3QgY2hhciAqdjsKIApAQCAtMjg2NCwyMCArMjg3NSwyMCBAQAogCQlkaWUoIkV4cGVjdGVkIGZyb20gY29tbWFuZCwgZ290ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKIAlzID0gbG9va3VwX2JyYW5jaChmcm9tKTsKIAlpZiAocykgewotCQlpZiAoaXNfbnVsbF9zaGExKHMtPnNoYTEpKQorCQlpZiAoaXNfbnVsbF9vaWQoJnMtPm9pZCkpCiAJCQlkaWUoIkNhbid0IHRhZyBhbiBlbXB0eSBicmFuY2guIik7Ci0JCWhhc2hjcHkoc2hhMSwgcy0+c2hhMSk7CisJCW9pZGNweSgmb2lkLCAmcy0+b2lkKTsKIAkJdHlwZSA9IE9CSl9DT01NSVQ7CiAJfSBlbHNlIGlmICgqZnJvbSA9PSAnOicpIHsKIAkJc3RydWN0IG9iamVjdF9lbnRyeSAqb2U7CiAJCWZyb21fbWFyayA9IHBhcnNlX21hcmtfcmVmX2VvbChmcm9tKTsKIAkJb2UgPSBmaW5kX21hcmsoZnJvbV9tYXJrKTsKIAkJdHlwZSA9IG9lLT50eXBlOwotCQloYXNoY3B5KHNoYTEsIG9lLT5pZHguc2hhMSk7Ci0JfSBlbHNlIGlmICghZ2V0X3NoYTEoZnJvbSwgc2hhMSkpIHsKLQkJc3RydWN0IG9iamVjdF9lbnRyeSAqb2UgPSBmaW5kX29iamVjdChzaGExKTsKKwkJb2lkY3B5KCZvaWQsICZvZS0+aWR4Lm9pZCk7CisJfSBlbHNlIGlmICghZ2V0X29pZChmcm9tLCAmb2lkKSkgeworCQlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpvZSA9IGZpbmRfb2JqZWN0KCZvaWQpOwogCQlpZiAoIW9lKSB7Ci0JCQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhzaGExLCBOVUxMKTsKKwkJCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKG9pZC5oYXNoLCBOVUxMKTsKIAkJCWlmICh0eXBlIDwgMCkKIAkJCQlkaWUoIk5vdCBhIHZhbGlkIG9iamVjdDogJXMiLCBmcm9tKTsKIAkJfSBlbHNlCkBAIC0yOTAzLDcgKzI5MTQsNyBAQAogCQkgICAgIm9iamVjdCAlc1xuIgogCQkgICAgInR5cGUgJXNcbiIKIAkJICAgICJ0YWcgJXNcbiIsCi0JCSAgICBzaGExX3RvX2hleChzaGExKSwgdHlwZW5hbWUodHlwZSksIHQtPm5hbWUpOworCQkgICAgb2lkX3RvX2hleCgmb2lkKSwgdHlwZW5hbWUodHlwZSksIHQtPm5hbWUpOwogCWlmICh0YWdnZXIpCiAJCXN0cmJ1Zl9hZGRmKCZuZXdfZGF0YSwKIAkJCSAgICAidGFnZ2VyICVzXG4iLCB0YWdnZXIpOwpAQCAtMjkxMSw3ICsyOTIyLDcgQEAKIAlzdHJidWZfYWRkYnVmKCZuZXdfZGF0YSwgJm1zZyk7CiAJZnJlZSh0YWdnZXIpOwogCi0JaWYgKHN0b3JlX29iamVjdChPQkpfVEFHLCAmbmV3X2RhdGEsIE5VTEwsIHQtPnNoYTEsIDApKQorCWlmIChzdG9yZV9vYmplY3QoT0JKX1RBRywgJm5ld19kYXRhLCBOVUxMLCAmdC0+b2lkLCAwKSkKIAkJdC0+cGFja19pZCA9IE1BWF9QQUNLX0lEOwogCWVsc2UKIAkJdC0+cGFja19pZCA9IHBhY2tfaWQ7CkBAIC0yOTIzLDkgKzI5MzQsOSBAQAogCiAJYiA9IGxvb2t1cF9icmFuY2goYXJnKTsKIAlpZiAoYikgewotCQloYXNoY2xyKGItPnNoYTEpOwotCQloYXNoY2xyKGItPmJyYW5jaF90cmVlLnZlcnNpb25zWzBdLnNoYTEpOwotCQloYXNoY2xyKGItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLnNoYTEpOworCQlvaWRjbHIoJmItPm9pZCk7CisJCW9pZGNscigmYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMF0ub2lkKTsKKwkJb2lkY2xyKCZiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5vaWQpOwogCQlpZiAoYi0+YnJhbmNoX3RyZWUudHJlZSkgewogCQkJcmVsZWFzZV90cmVlX2NvbnRlbnRfcmVjdXJzaXZlKGItPmJyYW5jaF90cmVlLnRyZWUpOwogCQkJYi0+YnJhbmNoX3RyZWUudHJlZSA9IE5VTEw7CkBAIC0yOTQxLDExICsyOTUyLDExIEBACiAKIHN0YXRpYyB2b2lkIGNhdF9ibG9iX3dyaXRlKGNvbnN0IGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplKQogewotCWlmICh3cml0ZV9pbl9mdWxsKGNhdF9ibG9iX2ZkLCBidWYsIHNpemUpICE9IHNpemUpCisJaWYgKHdyaXRlX2luX2Z1bGwoY2F0X2Jsb2JfZmQsIGJ1Ziwgc2l6ZSkgPCAwKQogCQlkaWVfZXJybm8oIldyaXRlIHRvIGZyb250ZW5kIGZhaWxlZCIpOwogfQogCi1zdGF0aWMgdm9pZCBjYXRfYmxvYihzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpvZSwgdW5zaWduZWQgY2hhciBzaGExWzIwXSkKK3N0YXRpYyB2b2lkIGNhdF9ibG9iKHN0cnVjdCBvYmplY3RfZW50cnkgKm9lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3RydWN0IHN0cmJ1ZiBsaW5lID0gU1RSQlVGX0lOSVQ7CiAJdW5zaWduZWQgbG9uZyBzaXplOwpAQCAtMjk1Myw3ICsyOTY0LDcgQEAKIAljaGFyICpidWY7CiAKIAlpZiAoIW9lIHx8IG9lLT5wYWNrX2lkID09IE1BWF9QQUNLX0lEKSB7Ci0JCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJnR5cGUsICZzaXplKTsKIAl9IGVsc2UgewogCQl0eXBlID0gb2UtPnR5cGU7CiAJCWJ1ZiA9IGdmaV91bnBhY2tfZW50cnkob2UsICZzaXplKTsKQEAgLTI5NjQsMTkgKzI5NzUsMTkgQEAKIAkgKi8KIAlpZiAodHlwZSA8PSAwKSB7CiAJCXN0cmJ1Zl9yZXNldCgmbGluZSk7Ci0JCXN0cmJ1Zl9hZGRmKCZsaW5lLCAiJXMgbWlzc2luZ1xuIiwgc2hhMV90b19oZXgoc2hhMSkpOworCQlzdHJidWZfYWRkZigmbGluZSwgIiVzIG1pc3NpbmdcbiIsIG9pZF90b19oZXgob2lkKSk7CiAJCWNhdF9ibG9iX3dyaXRlKGxpbmUuYnVmLCBsaW5lLmxlbik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZsaW5lKTsKIAkJZnJlZShidWYpOwogCQlyZXR1cm47CiAJfQogCWlmICghYnVmKQotCQlkaWUoIkNhbid0IHJlYWQgb2JqZWN0ICVzIiwgc2hhMV90b19oZXgoc2hhMSkpOworCQlkaWUoIkNhbid0IHJlYWQgb2JqZWN0ICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAlpZiAodHlwZSAhPSBPQkpfQkxPQikKIAkJZGllKCJPYmplY3QgJXMgaXMgYSAlcyBidXQgYSBibG9iIHdhcyBleHBlY3RlZC4iLAotCQkgICAgc2hhMV90b19oZXgoc2hhMSksIHR5cGVuYW1lKHR5cGUpKTsKKwkJICAgIG9pZF90b19oZXgob2lkKSwgdHlwZW5hbWUodHlwZSkpOwogCXN0cmJ1Zl9yZXNldCgmbGluZSk7Ci0Jc3RyYnVmX2FkZGYoJmxpbmUsICIlcyAlcyAlbHVcbiIsIHNoYTFfdG9faGV4KHNoYTEpLAorCXN0cmJ1Zl9hZGRmKCZsaW5lLCAiJXMgJXMgJWx1XG4iLCBvaWRfdG9faGV4KG9pZCksCiAJCQkJCQl0eXBlbmFtZSh0eXBlKSwgc2l6ZSk7CiAJY2F0X2Jsb2Jfd3JpdGUobGluZS5idWYsIGxpbmUubGVuKTsKIAlzdHJidWZfcmVsZWFzZSgmbGluZSk7CkBAIC0yOTkzLDcgKzMwMDQsNyBAQAogc3RhdGljIHZvaWQgcGFyc2VfZ2V0X21hcmsoY29uc3QgY2hhciAqcCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpvZSA9IG9lOwotCWNoYXIgb3V0cHV0WzQyXTsKKwljaGFyIG91dHB1dFtHSVRfTUFYX0hFWFNaICsgMl07CiAKIAkvKiBnZXQtbWFyayBTUCA8b2JqZWN0PiBMRiAqLwogCWlmICgqcCAhPSAnOicpCkBAIC0zMDAzLDQzICszMDE0LDQzIEBACiAJaWYgKCFvZSkKIAkJZGllKCJVbmtub3duIG1hcms6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKIAotCXNucHJpbnRmKG91dHB1dCwgc2l6ZW9mKG91dHB1dCksICIlc1xuIiwgc2hhMV90b19oZXgob2UtPmlkeC5zaGExKSk7Ci0JY2F0X2Jsb2Jfd3JpdGUob3V0cHV0LCA0MSk7CisJeHNucHJpbnRmKG91dHB1dCwgc2l6ZW9mKG91dHB1dCksICIlc1xuIiwgb2lkX3RvX2hleCgmb2UtPmlkeC5vaWQpKTsKKwljYXRfYmxvYl93cml0ZShvdXRwdXQsIEdJVF9TSEExX0hFWFNaICsgMSk7CiB9CiAKIHN0YXRpYyB2b2lkIHBhcnNlX2NhdF9ibG9iKGNvbnN0IGNoYXIgKnApCiB7CiAJc3RydWN0IG9iamVjdF9lbnRyeSAqb2UgPSBvZTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJLyogY2F0LWJsb2IgU1AgPG9iamVjdD4gTEYgKi8KIAlpZiAoKnAgPT0gJzonKSB7CiAJCW9lID0gZmluZF9tYXJrKHBhcnNlX21hcmtfcmVmX2VvbChwKSk7CiAJCWlmICghb2UpCiAJCQlkaWUoIlVua25vd24gbWFyazogJXMiLCBjb21tYW5kX2J1Zi5idWYpOwotCQloYXNoY3B5KHNoYTEsIG9lLT5pZHguc2hhMSk7CisJCW9pZGNweSgmb2lkLCAmb2UtPmlkeC5vaWQpOwogCX0gZWxzZSB7Ci0JCWlmIChnZXRfc2hhMV9oZXgocCwgc2hhMSkpCisJCWlmIChwYXJzZV9vaWRfaGV4KHAsICZvaWQsICZwKSkKIAkJCWRpZSgiSW52YWxpZCBkYXRhcmVmOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7Ci0JCWlmIChwWzQwXSkKKwkJaWYgKCpwKQogCQkJZGllKCJHYXJiYWdlIGFmdGVyIFNIQTE6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKLQkJb2UgPSBmaW5kX29iamVjdChzaGExKTsKKwkJb2UgPSBmaW5kX29iamVjdCgmb2lkKTsKIAl9CiAKLQljYXRfYmxvYihvZSwgc2hhMSk7CisJY2F0X2Jsb2Iob2UsICZvaWQpOwogfQogCiBzdGF0aWMgc3RydWN0IG9iamVjdF9lbnRyeSAqZGVyZWZlcmVuY2Uoc3RydWN0IG9iamVjdF9lbnRyeSAqb2UsCi0JCQkJCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF0pCisJCQkJCXN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJY2hhciAqYnVmID0gTlVMTDsKIAlpZiAoIW9lKSB7Ci0JCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CisJCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8ob2lkLT5oYXNoLCBOVUxMKTsKIAkJaWYgKHR5cGUgPCAwKQotCQkJZGllKCJvYmplY3Qgbm90IGZvdW5kOiAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCWRpZSgib2JqZWN0IG5vdCBmb3VuZDogJXMiLCBvaWRfdG9faGV4KG9pZCkpOwogCQkvKiBjYWNoZSBpdCEgKi8KLQkJb2UgPSBpbnNlcnRfb2JqZWN0KHNoYTEpOworCQlvZSA9IGluc2VydF9vYmplY3Qob2lkKTsKIAkJb2UtPnR5cGUgPSB0eXBlOwogCQlvZS0+cGFja19pZCA9IE1BWF9QQUNLX0lEOwogCQlvZS0+aWR4Lm9mZnNldCA9IDE7CkBAIC0zMDU4LDQ5ICszMDY5LDQ4IEBACiAJCWJ1ZiA9IGdmaV91bnBhY2tfZW50cnkob2UsICZzaXplKTsKIAl9IGVsc2UgewogCQllbnVtIG9iamVjdF90eXBlIHVudXNlZDsKLQkJYnVmID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnVudXNlZCwgJnNpemUpOworCQlidWYgPSByZWFkX3NoYTFfZmlsZShvaWQtPmhhc2gsICZ1bnVzZWQsICZzaXplKTsKIAl9CiAJaWYgKCFidWYpCi0JCWRpZSgiQ2FuJ3QgbG9hZCBvYmplY3QgJXMiLCBzaGExX3RvX2hleChzaGExKSk7CisJCWRpZSgiQ2FuJ3QgbG9hZCBvYmplY3QgJXMiLCBvaWRfdG9faGV4KG9pZCkpOwogCiAJLyogUGVlbCBvbmUgbGF5ZXIuICovCiAJc3dpdGNoIChvZS0+dHlwZSkgewogCWNhc2UgT0JKX1RBRzoKLQkJaWYgKHNpemUgPCA0MCArIHN0cmxlbigib2JqZWN0ICIpIHx8Ci0JCSAgICBnZXRfc2hhMV9oZXgoYnVmICsgc3RybGVuKCJvYmplY3QgIiksIHNoYTEpKQorCQlpZiAoc2l6ZSA8IEdJVF9TSEExX0hFWFNaICsgc3RybGVuKCJvYmplY3QgIikgfHwKKwkJICAgIGdldF9vaWRfaGV4KGJ1ZiArIHN0cmxlbigib2JqZWN0ICIpLCBvaWQpKQogCQkJZGllKCJJbnZhbGlkIFNIQTEgaW4gdGFnOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7CiAJCWJyZWFrOwogCWNhc2UgT0JKX0NPTU1JVDoKLQkJaWYgKHNpemUgPCA0MCArIHN0cmxlbigidHJlZSAiKSB8fAotCQkgICAgZ2V0X3NoYTFfaGV4KGJ1ZiArIHN0cmxlbigidHJlZSAiKSwgc2hhMSkpCisJCWlmIChzaXplIDwgR0lUX1NIQTFfSEVYU1ogKyBzdHJsZW4oInRyZWUgIikgfHwKKwkJICAgIGdldF9vaWRfaGV4KGJ1ZiArIHN0cmxlbigidHJlZSAiKSwgb2lkKSkKIAkJCWRpZSgiSW52YWxpZCBTSEExIGluIGNvbW1pdDogJXMiLCBjb21tYW5kX2J1Zi5idWYpOwogCX0KIAogCWZyZWUoYnVmKTsKLQlyZXR1cm4gZmluZF9vYmplY3Qoc2hhMSk7CisJcmV0dXJuIGZpbmRfb2JqZWN0KG9pZCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpwYXJzZV90cmVlaXNoX2RhdGFyZWYoY29uc3QgY2hhciAqKnApCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICplOwogCiAJaWYgKCoqcCA9PSAnOicpIHsJLyogPG1hcms+ICovCiAJCWUgPSBmaW5kX21hcmsocGFyc2VfbWFya19yZWZfc3BhY2UocCkpOwogCQlpZiAoIWUpCiAJCQlkaWUoIlVua25vd24gbWFyazogJXMiLCBjb21tYW5kX2J1Zi5idWYpOwotCQloYXNoY3B5KHNoYTEsIGUtPmlkeC5zaGExKTsKKwkJb2lkY3B5KCZvaWQsICZlLT5pZHgub2lkKTsKIAl9IGVsc2UgewkvKiA8c2hhMT4gKi8KLQkJaWYgKGdldF9zaGExX2hleCgqcCwgc2hhMSkpCisJCWlmIChwYXJzZV9vaWRfaGV4KCpwLCAmb2lkLCBwKSkKIAkJCWRpZSgiSW52YWxpZCBkYXRhcmVmOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7Ci0JCWUgPSBmaW5kX29iamVjdChzaGExKTsKLQkJKnAgKz0gNDA7CisJCWUgPSBmaW5kX29iamVjdCgmb2lkKTsKIAkJaWYgKCooKnApKysgIT0gJyAnKQogCQkJZGllKCJNaXNzaW5nIHNwYWNlIGFmdGVyIHRyZWUtaXNoOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7CiAJfQogCiAJd2hpbGUgKCFlIHx8IGUtPnR5cGUgIT0gT0JKX1RSRUUpCi0JCWUgPSBkZXJlZmVyZW5jZShlLCBzaGExKTsKKwkJZSA9IGRlcmVmZXJlbmNlKGUsICZvaWQpOwogCXJldHVybiBlOwogfQogCkBAIC0zMTQ0LDggKzMxNTQsOCBAQAogCX0gZWxzZSB7CiAJCXN0cnVjdCBvYmplY3RfZW50cnkgKmUgPSBwYXJzZV90cmVlaXNoX2RhdGFyZWYoJnApOwogCQlyb290ID0gbmV3X3RyZWVfZW50cnkoKTsKLQkJaGFzaGNweShyb290LT52ZXJzaW9uc1sxXS5zaGExLCBlLT5pZHguc2hhMSk7Ci0JCWlmICghaXNfbnVsbF9zaGExKHJvb3QtPnZlcnNpb25zWzFdLnNoYTEpKQorCQlvaWRjcHkoJnJvb3QtPnZlcnNpb25zWzFdLm9pZCwgJmUtPmlkeC5vaWQpOworCQlpZiAoIWlzX251bGxfb2lkKCZyb290LT52ZXJzaW9uc1sxXS5vaWQpKQogCQkJcm9vdC0+dmVyc2lvbnNbMV0ubW9kZSA9IFNfSUZESVI7CiAJCWxvYWRfdHJlZShyb290KTsKIAl9CkBAIC0zMTY3LDcgKzMxNzcsNyBAQAogCWlmIChTX0lTRElSKGxlYWYudmVyc2lvbnNbMV0ubW9kZSkpCiAJCXN0b3JlX3RyZWUoJmxlYWYpOwogCi0JcHJpbnRfbHMobGVhZi52ZXJzaW9uc1sxXS5tb2RlLCBsZWFmLnZlcnNpb25zWzFdLnNoYTEsIHApOworCXByaW50X2xzKGxlYWYudmVyc2lvbnNbMV0ubW9kZSwgbGVhZi52ZXJzaW9uc1sxXS5vaWQuaGFzaCwgcCk7CiAJaWYgKGxlYWYudHJlZSkKIAkJcmVsZWFzZV90cmVlX2NvbnRlbnRfcmVjdXJzaXZlKGxlYWYudHJlZSk7CiAJaWYgKCFiIHx8IHJvb3QgIT0gJmItPmJyYW5jaF90cmVlKQpAQCAtMzE3OSwxMCArMzE4OSwxMCBAQAogCWNoZWNrcG9pbnRfcmVxdWVzdGVkID0gMDsKIAlpZiAob2JqZWN0X2NvdW50KSB7CiAJCWN5Y2xlX3BhY2tmaWxlKCk7Ci0JCWR1bXBfYnJhbmNoZXMoKTsKLQkJZHVtcF90YWdzKCk7Ci0JCWR1bXBfbWFya3MoKTsKIAl9CisJZHVtcF9icmFuY2hlcygpOworCWR1bXBfdGFncygpOworCWR1bXBfbWFya3MoKTsKIH0KIAogc3RhdGljIHZvaWQgcGFyc2VfY2hlY2twb2ludCh2b2lkKQpAQCAtMzIwMyw3ICszMjEzLDcgQEAKIHsKIAlpZiAoIXJlbGF0aXZlX21hcmtzX3BhdGhzIHx8IGlzX2Fic29sdXRlX3BhdGgocGF0aCkpCiAJCXJldHVybiB4c3RyZHVwKHBhdGgpOwotCXJldHVybiB4c3RyZHVwKGdpdF9wYXRoKCJpbmZvL2Zhc3QtaW1wb3J0LyVzIiwgcGF0aCkpOworCXJldHVybiBnaXRfcGF0aGR1cCgiaW5mby9mYXN0LWltcG9ydC8lcyIsIHBhdGgpOwogfQogCiBzdGF0aWMgdm9pZCBvcHRpb25faW1wb3J0X21hcmtzKGNvbnN0IGNoYXIgKm1hcmtzLApAQCAtMzI3NSw5ICszMjg1LDcgQEAKIHsKIAlpZiAocGFja19lZGdlcykKIAkJZmNsb3NlKHBhY2tfZWRnZXMpOwotCXBhY2tfZWRnZXMgPSBmb3BlbihlZGdlcywgImEiKTsKLQlpZiAoIXBhY2tfZWRnZXMpCi0JCWRpZV9lcnJubygiQ2Fubm90IG9wZW4gJyVzJyIsIGVkZ2VzKTsKKwlwYWNrX2VkZ2VzID0geGZvcGVuKGVkZ2VzLCAiYSIpOwogfQogCiBzdGF0aWMgaW50IHBhcnNlX29uZV9vcHRpb24oY29uc3QgY2hhciAqb3B0aW9uKQpkaWZmIC0tZ2l0IGEvZmV0Y2gtcGFjay5jIGIvZmV0Y2gtcGFjay5jCmluZGV4IGYxMmJmY2QuLjEwNTUwNmUgMTAwNjQ0Ci0tLSBhL2ZldGNoLXBhY2suYworKysgYi9mZXRjaC1wYWNrLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJwa3QtbGluZS5oIgpAQCAtMTUsNiArMTYsOCBAQAogI2luY2x1ZGUgInZlcnNpb24uaCIKICNpbmNsdWRlICJwcmlvLXF1ZXVlLmgiCiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgorI2luY2x1ZGUgIm9pZHNldC5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKIHN0YXRpYyBpbnQgdHJhbnNmZXJfdW5wYWNrX2xpbWl0ID0gLTE7CiBzdGF0aWMgaW50IGZldGNoX3VucGFja19saW1pdCA9IC0xOwpAQCAtMzUsNiArMzgsNyBAQAogI2RlZmluZSBDT01NT05fUkVGCSgxVSA8PCAyKQogI2RlZmluZSBTRUVOCQkoMVUgPDwgMykKICNkZWZpbmUgUE9QUEVECQkoMVUgPDwgNCkKKyNkZWZpbmUgQUxURVJOQVRFCSgxVSA8PCA1KQogCiBzdGF0aWMgaW50IG1hcmtlZDsKIApAQCAtNjcsNiArNzEsNDEgQEAKIAlmcHV0YygnXG4nLCBzdGRlcnIpOwogfQogCitzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9jYWNoZSB7CisJc3RydWN0IG9iamVjdCAqKml0ZW1zOworCXNpemVfdCBuciwgYWxsb2M7Cit9OworCitzdGF0aWMgdm9pZCBjYWNoZV9vbmVfYWx0ZXJuYXRlKGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCXZvaWQgKnZjYWNoZSkKK3sKKwlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9jYWNoZSAqY2FjaGUgPSB2Y2FjaGU7CisJc3RydWN0IG9iamVjdCAqb2JqID0gcGFyc2Vfb2JqZWN0KG9pZCk7CisKKwlpZiAoIW9iaiB8fCAob2JqLT5mbGFncyAmIEFMVEVSTkFURSkpCisJCXJldHVybjsKKworCW9iai0+ZmxhZ3MgfD0gQUxURVJOQVRFOworCUFMTE9DX0dST1coY2FjaGUtPml0ZW1zLCBjYWNoZS0+bnIgKyAxLCBjYWNoZS0+YWxsb2MpOworCWNhY2hlLT5pdGVtc1tjYWNoZS0+bnIrK10gPSBvYmo7Cit9CisKK3N0YXRpYyB2b2lkIGZvcl9lYWNoX2NhY2hlZF9hbHRlcm5hdGUodm9pZCAoKmNiKShzdHJ1Y3Qgb2JqZWN0ICopKQoreworCXN0YXRpYyBpbnQgaW5pdGlhbGl6ZWQ7CisJc3RhdGljIHN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2NhY2hlIGNhY2hlOworCXNpemVfdCBpOworCisJaWYgKCFpbml0aWFsaXplZCkgeworCQlmb3JfZWFjaF9hbHRlcm5hdGVfcmVmKGNhY2hlX29uZV9hbHRlcm5hdGUsICZjYWNoZSk7CisJCWluaXRpYWxpemVkID0gMTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgY2FjaGUubnI7IGkrKykKKwkJY2IoY2FjaGUuaXRlbXNbaV0pOworfQorCiBzdGF0aWMgdm9pZCByZXZfbGlzdF9wdXNoKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgaW50IG1hcmspCiB7CiAJaWYgKCEoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBtYXJrKSkgewpAQCAtODIsOSArMTIxLDkgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgcmV2X2xpc3RfaW5zZXJ0X3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCByZXZfbGlzdF9pbnNlcnRfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChzaGExKSwgcmVmbmFtZSwgMCk7CisJc3RydWN0IG9iamVjdCAqbyA9IGRlcmVmX3RhZyhwYXJzZV9vYmplY3Qob2lkKSwgcmVmbmFtZSwgMCk7CiAKIAlpZiAobyAmJiBvLT50eXBlID09IE9CSl9DT01NSVQpCiAJCXJldl9saXN0X3B1c2goKHN0cnVjdCBjb21taXQgKilvLCBTRUVOKTsKQEAgLTk1LDEzICsxMzQsMTMgQEAKIHN0YXRpYyBpbnQgcmV2X2xpc3RfaW5zZXJ0X3JlZl9vaWQoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJCSAgIGludCBmbGFnLCB2b2lkICpjYl9kYXRhKQogewotCXJldHVybiByZXZfbGlzdF9pbnNlcnRfcmVmKHJlZm5hbWUsIG9pZC0+aGFzaCk7CisJcmV0dXJuIHJldl9saXN0X2luc2VydF9yZWYocmVmbmFtZSwgb2lkKTsKIH0KIAogc3RhdGljIGludCBjbGVhcl9tYXJrcyhjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCSAgICAgICBpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChvaWQtPmhhc2gpLCByZWZuYW1lLCAwKTsKKwlzdHJ1Y3Qgb2JqZWN0ICpvID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChvaWQpLCByZWZuYW1lLCAwKTsKIAogCWlmIChvICYmIG8tPnR5cGUgPT0gT0JKX0NPTU1JVCkKIAkJY2xlYXJfY29tbWl0X21hcmtzKChzdHJ1Y3QgY29tbWl0ICopbywKQEAgLTE0Nyw3ICsxODYsNyBAQAogICBHZXQgdGhlIG5leHQgcmV2IHRvIHNlbmQsIGlnbm9yaW5nIHRoZSBjb21tb24uCiAqLwogCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqZ2V0X3Jldih2b2lkKQorc3RhdGljIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmdldF9yZXYodm9pZCkKIHsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBOVUxMOwogCkBAIC0xODYsNyArMjI1LDcgQEAKIAkJfQogCX0KIAotCXJldHVybiBjb21taXQtPm9iamVjdC5vaWQuaGFzaDsKKwlyZXR1cm4gJmNvbW1pdC0+b2JqZWN0Lm9pZDsKIH0KIAogZW51bSBhY2tfdHlwZSB7CkBAIC0yMTUsNyArMjU0LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBlbnVtIGFja190eXBlIGdldF9hY2soaW50IGZkLCB1bnNpZ25lZCBjaGFyICpyZXN1bHRfc2hhMSkKK3N0YXRpYyBlbnVtIGFja190eXBlIGdldF9hY2soaW50IGZkLCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHRfb2lkKQogewogCWludCBsZW47CiAJY2hhciAqbGluZSA9IHBhY2tldF9yZWFkX2xpbmUoZmQsICZsZW4pOwpAQCAtMjI2LDcgKzI2NSw3IEBACiAJaWYgKCFzdHJjbXAobGluZSwgIk5BSyIpKQogCQlyZXR1cm4gTkFLOwogCWlmIChza2lwX3ByZWZpeChsaW5lLCAiQUNLICIsICZhcmcpKSB7Ci0JCWlmICghZ2V0X3NoYTFfaGV4KGFyZywgcmVzdWx0X3NoYTEpKSB7CisJCWlmICghZ2V0X29pZF9oZXgoYXJnLCByZXN1bHRfb2lkKSkgewogCQkJYXJnICs9IDQwOwogCQkJbGVuIC09IGFyZyAtIGxpbmU7CiAJCQlpZiAobGVuIDwgMSkKQEAgLTI0MCw2ICsyNzksOCBAQAogCQkJcmV0dXJuIEFDSzsKIAkJfQogCX0KKwlpZiAoc2tpcF9wcmVmaXgobGluZSwgIkVSUiAiLCAmYXJnKSkKKwkJZGllKF8oInJlbW90ZSBlcnJvcjogJXMiKSwgYXJnKTsKIAlkaWUoXygiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIiksIGxpbmUpOwogfQogCkBAIC0yNTMsOSArMjk0LDkgQEAKIAkJd3JpdGVfb3JfZGllKGZkLCBidWYtPmJ1ZiwgYnVmLT5sZW4pOwogfQogCi1zdGF0aWMgdm9pZCBpbnNlcnRfb25lX2FsdGVybmF0ZV9yZWYoY29uc3Qgc3RydWN0IHJlZiAqcmVmLCB2b2lkICp1bnVzZWQpCitzdGF0aWMgdm9pZCBpbnNlcnRfb25lX2FsdGVybmF0ZV9vYmplY3Qoc3RydWN0IG9iamVjdCAqb2JqKQogewotCXJldl9saXN0X2luc2VydF9yZWYoTlVMTCwgcmVmLT5vbGRfb2lkLmhhc2gpOworCXJldl9saXN0X2luc2VydF9yZWYoTlVMTCwgJm9iai0+b2lkKTsKIH0KIAogI2RlZmluZSBJTklUSUFMX0ZMVVNIIDE2CkBAIC0yNzksMTIgKzMyMCwxMiBAQAogfQogCiBzdGF0aWMgaW50IGZpbmRfY29tbW9uKHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsCi0JCSAgICAgICBpbnQgZmRbMl0sIHVuc2lnbmVkIGNoYXIgKnJlc3VsdF9zaGExLAorCQkgICAgICAgaW50IGZkWzJdLCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHRfb2lkLAogCQkgICAgICAgc3RydWN0IHJlZiAqcmVmcykKIHsKIAlpbnQgZmV0Y2hpbmc7CiAJaW50IGNvdW50ID0gMCwgZmx1c2hlcyA9IDAsIGZsdXNoX2F0ID0gSU5JVElBTF9GTFVTSCwgcmV0dmFsOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTE7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkOwogCXVuc2lnbmVkIGluX3ZhaW4gPSAwOwogCWludCBnb3RfY29udGludWUgPSAwOwogCWludCBnb3RfcmVhZHkgPSAwOwpAQCAtMjk4LDExICszMzksMTEgQEAKIAltYXJrZWQgPSAxOwogCiAJZm9yX2VhY2hfcmVmKHJldl9saXN0X2luc2VydF9yZWZfb2lkLCBOVUxMKTsKLQlmb3JfZWFjaF9hbHRlcm5hdGVfcmVmKGluc2VydF9vbmVfYWx0ZXJuYXRlX3JlZiwgTlVMTCk7CisJZm9yX2VhY2hfY2FjaGVkX2FsdGVybmF0ZShpbnNlcnRfb25lX2FsdGVybmF0ZV9vYmplY3QpOwogCiAJZmV0Y2hpbmcgPSAwOwogCWZvciAoIDsgcmVmcyA7IHJlZnMgPSByZWZzLT5uZXh0KSB7Ci0JCXVuc2lnbmVkIGNoYXIgKnJlbW90ZSA9IHJlZnMtPm9sZF9vaWQuaGFzaDsKKwkJc3RydWN0IG9iamVjdF9pZCAqcmVtb3RlID0gJnJlZnMtPm9sZF9vaWQ7CiAJCWNvbnN0IGNoYXIgKnJlbW90ZV9oZXg7CiAJCXN0cnVjdCBvYmplY3QgKm87CiAKQEAgLTMxNiwxMiArMzU3LDEyIEBACiAJCSAqIGludGVyZXN0ZWQgaW4gdGhlIGNhc2Ugd2UgKmtub3cqIHRoZSBvYmplY3QgaXMKIAkJICogcmVhY2hhYmxlIGFuZCB3ZSBoYXZlIGFscmVhZHkgc2Nhbm5lZCBpdC4KIAkJICovCi0JCWlmICgoKG8gPSBsb29rdXBfb2JqZWN0KHJlbW90ZSkpICE9IE5VTEwpICYmCisJCWlmICgoKG8gPSBsb29rdXBfb2JqZWN0KHJlbW90ZS0+aGFzaCkpICE9IE5VTEwpICYmCiAJCQkJKG8tPmZsYWdzICYgQ09NUExFVEUpKSB7CiAJCQljb250aW51ZTsKIAkJfQogCi0JCXJlbW90ZV9oZXggPSBzaGExX3RvX2hleChyZW1vdGUpOworCQlyZW1vdGVfaGV4ID0gb2lkX3RvX2hleChyZW1vdGUpOwogCQlpZiAoIWZldGNoaW5nKSB7CiAJCQlzdHJ1Y3Qgc3RyYnVmIGMgPSBTVFJCVUZfSU5JVDsKIAkJCWlmIChtdWx0aV9hY2sgPT0gMikgICAgIHN0cmJ1Zl9hZGRzdHIoJmMsICIgbXVsdGlfYWNrX2RldGFpbGVkIik7CkBAIC0zNTYsOCArMzk3LDggQEAKIAlpZiAoYXJncy0+ZGVwdGggPiAwKQogCQlwYWNrZXRfYnVmX3dyaXRlKCZyZXFfYnVmLCAiZGVlcGVuICVkIiwgYXJncy0+ZGVwdGgpOwogCWlmIChhcmdzLT5kZWVwZW5fc2luY2UpIHsKLQkJdW5zaWduZWQgbG9uZyBtYXhfYWdlID0gYXBwcm94aWRhdGUoYXJncy0+ZGVlcGVuX3NpbmNlKTsKLQkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgImRlZXBlbi1zaW5jZSAlbHUiLCBtYXhfYWdlKTsKKwkJdGltZXN0YW1wX3QgbWF4X2FnZSA9IGFwcHJveGlkYXRlKGFyZ3MtPmRlZXBlbl9zaW5jZSk7CisJCXBhY2tldF9idWZfd3JpdGUoJnJlcV9idWYsICJkZWVwZW4tc2luY2UgJSJQUkl0aW1lLCBtYXhfYWdlKTsKIAl9CiAJaWYgKGFyZ3MtPmRlZXBlbl9ub3QpIHsKIAkJaW50IGk7CkBAIC0zNzIsMjUgKzQxMywyNSBAQAogCWlmIChhcmdzLT5kZWVwZW4pIHsKIAkJY2hhciAqbGluZTsKIAkJY29uc3QgY2hhciAqYXJnOwotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCQlzZW5kX3JlcXVlc3QoYXJncywgZmRbMV0sICZyZXFfYnVmKTsKIAkJd2hpbGUgKChsaW5lID0gcGFja2V0X3JlYWRfbGluZShmZFswXSwgTlVMTCkpKSB7CiAJCQlpZiAoc2tpcF9wcmVmaXgobGluZSwgInNoYWxsb3cgIiwgJmFyZykpIHsKLQkJCQlpZiAoZ2V0X3NoYTFfaGV4KGFyZywgc2hhMSkpCisJCQkJaWYgKGdldF9vaWRfaGV4KGFyZywgJm9pZCkpCiAJCQkJCWRpZShfKCJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiKSwgbGluZSk7Ci0JCQkJcmVnaXN0ZXJfc2hhbGxvdyhzaGExKTsKKwkJCQlyZWdpc3Rlcl9zaGFsbG93KCZvaWQpOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJaWYgKHNraXBfcHJlZml4KGxpbmUsICJ1bnNoYWxsb3cgIiwgJmFyZykpIHsKLQkJCQlpZiAoZ2V0X3NoYTFfaGV4KGFyZywgc2hhMSkpCisJCQkJaWYgKGdldF9vaWRfaGV4KGFyZywgJm9pZCkpCiAJCQkJCWRpZShfKCJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIpLCBsaW5lKTsKLQkJCQlpZiAoIWxvb2t1cF9vYmplY3Qoc2hhMSkpCisJCQkJaWYgKCFsb29rdXBfb2JqZWN0KG9pZC5oYXNoKSkKIAkJCQkJZGllKF8oIm9iamVjdCBub3QgZm91bmQ6ICVzIiksIGxpbmUpOwogCQkJCS8qIG1ha2Ugc3VyZSB0aGF0IGl0IGlzIHBhcnNlZCBhcyBzaGFsbG93ICovCi0JCQkJaWYgKCFwYXJzZV9vYmplY3Qoc2hhMSkpCisJCQkJaWYgKCFwYXJzZV9vYmplY3QoJm9pZCkpCiAJCQkJCWRpZShfKCJlcnJvciBpbiBvYmplY3Q6ICVzIiksIGxpbmUpOwotCQkJCWlmICh1bnJlZ2lzdGVyX3NoYWxsb3coc2hhMSkpCisJCQkJaWYgKHVucmVnaXN0ZXJfc2hhbGxvdygmb2lkKSkKIAkJCQkJZGllKF8oIm5vIHNoYWxsb3cgZm91bmQ6ICVzIiksIGxpbmUpOwogCQkJCWNvbnRpbnVlOwogCQkJfQpAQCAtNDA5LDkgKzQ1MCw5IEBACiAKIAlmbHVzaGVzID0gMDsKIAlyZXR2YWwgPSAtMTsKLQl3aGlsZSAoKHNoYTEgPSBnZXRfcmV2KCkpKSB7Ci0JCXBhY2tldF9idWZfd3JpdGUoJnJlcV9idWYsICJoYXZlICVzXG4iLCBzaGExX3RvX2hleChzaGExKSk7Ci0JCXByaW50X3ZlcmJvc2UoYXJncywgImhhdmUgJXMiLCBzaGExX3RvX2hleChzaGExKSk7CisJd2hpbGUgKChvaWQgPSBnZXRfcmV2KCkpKSB7CisJCXBhY2tldF9idWZfd3JpdGUoJnJlcV9idWYsICJoYXZlICVzXG4iLCBvaWRfdG9faGV4KG9pZCkpOworCQlwcmludF92ZXJib3NlKGFyZ3MsICJoYXZlICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAkJaW5fdmFpbisrOwogCQlpZiAoZmx1c2hfYXQgPD0gKytjb3VudCkgewogCQkJaW50IGFjazsKQEAgLTQzMSwxMCArNDcyLDEwIEBACiAKIAkJCWNvbnN1bWVfc2hhbGxvd19saXN0KGFyZ3MsIGZkWzBdKTsKIAkJCWRvIHsKLQkJCQlhY2sgPSBnZXRfYWNrKGZkWzBdLCByZXN1bHRfc2hhMSk7CisJCQkJYWNrID0gZ2V0X2FjayhmZFswXSwgcmVzdWx0X29pZCk7CiAJCQkJaWYgKGFjaykKIAkJCQkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJnb3QgJXMgJWQgJXMiKSwgImFjayIsCi0JCQkJCQkgICAgICBhY2ssIHNoYTFfdG9faGV4KHJlc3VsdF9zaGExKSk7CisJCQkJCQkgICAgICBhY2ssIG9pZF90b19oZXgocmVzdWx0X29pZCkpOwogCQkJCXN3aXRjaCAoYWNrKSB7CiAJCQkJY2FzZSBBQ0s6CiAJCQkJCWZsdXNoZXMgPSAwOwpAQCAtNDQ1LDkgKzQ4Niw5IEBACiAJCQkJY2FzZSBBQ0tfcmVhZHk6CiAJCQkJY2FzZSBBQ0tfY29udGludWU6IHsKIAkJCQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0KLQkJCQkJCWxvb2t1cF9jb21taXQocmVzdWx0X3NoYTEpOworCQkJCQkJbG9va3VwX2NvbW1pdChyZXN1bHRfb2lkKTsKIAkJCQkJaWYgKCFjb21taXQpCi0JCQkJCQlkaWUoXygiaW52YWxpZCBjb21taXQgJXMiKSwgc2hhMV90b19oZXgocmVzdWx0X3NoYTEpKTsKKwkJCQkJCWRpZShfKCJpbnZhbGlkIGNvbW1pdCAlcyIpLCBvaWRfdG9faGV4KHJlc3VsdF9vaWQpKTsKIAkJCQkJaWYgKGFyZ3MtPnN0YXRlbGVzc19ycGMKIAkJCQkJICYmIGFjayA9PSBBQ0tfY29tbW9uCiAJCQkJCSAmJiAhKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgQ09NTU9OKSkgewpAQCAtNDU1LDcgKzQ5Niw3IEBACiAJCQkJCQkgKiBvbiB0aGUgbmV4dCBSUEMgcmVxdWVzdCBzbyB0aGUgcGVlciBrbm93cwogCQkJCQkJICogaXQgaXMgaW4gY29tbW9uIHdpdGggdXMuCiAJCQkJCQkgKi8KLQkJCQkJCWNvbnN0IGNoYXIgKmhleCA9IHNoYTFfdG9faGV4KHJlc3VsdF9zaGExKTsKKwkJCQkJCWNvbnN0IGNoYXIgKmhleCA9IG9pZF90b19oZXgocmVzdWx0X29pZCk7CiAJCQkJCQlwYWNrZXRfYnVmX3dyaXRlKCZyZXFfYnVmLCAiaGF2ZSAlc1xuIiwgaGV4KTsKIAkJCQkJCXN0YXRlX2xlbiA9IHJlcV9idWYubGVuOwogCQkJCQkJLyoKQEAgLTUwMCwxMCArNTQxLDEwIEBACiAJaWYgKCFnb3RfcmVhZHkgfHwgIW5vX2RvbmUpCiAJCWNvbnN1bWVfc2hhbGxvd19saXN0KGFyZ3MsIGZkWzBdKTsKIAl3aGlsZSAoZmx1c2hlcyB8fCBtdWx0aV9hY2spIHsKLQkJaW50IGFjayA9IGdldF9hY2soZmRbMF0sIHJlc3VsdF9zaGExKTsKKwkJaW50IGFjayA9IGdldF9hY2soZmRbMF0sIHJlc3VsdF9vaWQpOwogCQlpZiAoYWNrKSB7CiAJCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oImdvdCAlcyAoJWQpICVzIiksICJhY2siLAotCQkJCSAgICAgIGFjaywgc2hhMV90b19oZXgocmVzdWx0X3NoYTEpKTsKKwkJCQkgICAgICBhY2ssIG9pZF90b19oZXgocmVzdWx0X29pZCkpOwogCQkJaWYgKGFjayA9PSBBQ0spCiAJCQkJcmV0dXJuIDA7CiAJCQltdWx0aV9hY2sgPSAxOwpAQCAtNTE3LDE2ICs1NTgsMTYgQEAKIAogc3RhdGljIHN0cnVjdCBjb21taXRfbGlzdCAqY29tcGxldGU7CiAKLXN0YXRpYyBpbnQgbWFya19jb21wbGV0ZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCBtYXJrX2NvbXBsZXRlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KHNoYTEpOworCXN0cnVjdCBvYmplY3QgKm8gPSBwYXJzZV9vYmplY3Qob2lkKTsKIAogCXdoaWxlIChvICYmIG8tPnR5cGUgPT0gT0JKX1RBRykgewogCQlzdHJ1Y3QgdGFnICp0ID0gKHN0cnVjdCB0YWcgKikgbzsKIAkJaWYgKCF0LT50YWdnZWQpCiAJCQlicmVhazsgLyogYnJva2VuIHJlcG9zaXRvcnkgKi8KIAkJby0+ZmxhZ3MgfD0gQ09NUExFVEU7Ci0JCW8gPSBwYXJzZV9vYmplY3QodC0+dGFnZ2VkLT5vaWQuaGFzaCk7CisJCW8gPSBwYXJzZV9vYmplY3QoJnQtPnRhZ2dlZC0+b2lkKTsKIAl9CiAJaWYgKG8gJiYgby0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7CiAJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IChzdHJ1Y3QgY29tbWl0ICopbzsKQEAgLTU0MSwxMSArNTgyLDExIEBACiBzdGF0aWMgaW50IG1hcmtfY29tcGxldGVfb2lkKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSAgICAgaW50IGZsYWcsIHZvaWQgKmNiX2RhdGEpCiB7Ci0JcmV0dXJuIG1hcmtfY29tcGxldGUob2lkLT5oYXNoKTsKKwlyZXR1cm4gbWFya19jb21wbGV0ZShvaWQpOwogfQogCiBzdGF0aWMgdm9pZCBtYXJrX3JlY2VudF9jb21wbGV0ZV9jb21taXRzKHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsCi0JCQkJCSB1bnNpZ25lZCBsb25nIGN1dG9mZikKKwkJCQkJIHRpbWVzdGFtcF90IGN1dG9mZikKIHsKIAl3aGlsZSAoY29tcGxldGUgJiYgY3V0b2ZmIDw9IGNvbXBsZXRlLT5pdGVtLT5kYXRlKSB7CiAJCXByaW50X3ZlcmJvc2UoYXJncywgXygiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIpLApAQCAtNTU0LDEzICs1OTUsMzggQEAKIAl9CiB9CiAKK3N0YXRpYyB2b2lkIGFkZF9yZWZzX3RvX29pZHNldChzdHJ1Y3Qgb2lkc2V0ICpvaWRzLCBzdHJ1Y3QgcmVmICpyZWZzKQoreworCWZvciAoOyByZWZzOyByZWZzID0gcmVmcy0+bmV4dCkKKwkJb2lkc2V0X2luc2VydChvaWRzLCAmcmVmcy0+b2xkX29pZCk7Cit9CisKK3N0YXRpYyBpbnQgdGlwX29pZHNfY29udGFpbihzdHJ1Y3Qgb2lkc2V0ICp0aXBfb2lkcywKKwkJCSAgICBzdHJ1Y3QgcmVmICp1bm1hdGNoZWQsIHN0cnVjdCByZWYgKm5ld2xpc3QsCisJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqaWQpCit7CisJLyoKKwkgKiBOb3RlIHRoYXQgdGhpcyBvbmx5IGxvb2tzIGF0IHRoZSByZWYgbGlzdHMgdGhlIGZpcnN0IHRpbWUgaXQncworCSAqIGNhbGxlZC4gVGhpcyB3b3JrcyBvdXQgaW4gZmlsdGVyX3JlZnMoKSBiZWNhdXNlIGV2ZW4gdGhvdWdoIGl0IG1heQorCSAqIGFkZCB0byAibmV3bGlzdCIgYmV0d2VlbiBjYWxscywgdGhlIGFkZGl0aW9ucyB3aWxsIGFsd2F5cyBiZSBmb3IKKwkgKiBvaWRzIHRoYXQgYXJlIGFscmVhZHkgaW4gdGhlIHNldC4KKwkgKi8KKwlpZiAoIXRpcF9vaWRzLT5tYXAudGFibGVzaXplKSB7CisJCWFkZF9yZWZzX3RvX29pZHNldCh0aXBfb2lkcywgdW5tYXRjaGVkKTsKKwkJYWRkX3JlZnNfdG9fb2lkc2V0KHRpcF9vaWRzLCBuZXdsaXN0KTsKKwl9CisJcmV0dXJuIG9pZHNldF9jb250YWlucyh0aXBfb2lkcywgaWQpOworfQorCiBzdGF0aWMgdm9pZCBmaWx0ZXJfcmVmcyhzdHJ1Y3QgZmV0Y2hfcGFja19hcmdzICphcmdzLAogCQkJc3RydWN0IHJlZiAqKnJlZnMsCiAJCQlzdHJ1Y3QgcmVmICoqc291Z2h0LCBpbnQgbnJfc291Z2h0KQogewogCXN0cnVjdCByZWYgKm5ld2xpc3QgPSBOVUxMOwogCXN0cnVjdCByZWYgKipuZXd0YWlsID0gJm5ld2xpc3Q7CisJc3RydWN0IHJlZiAqdW5tYXRjaGVkID0gTlVMTDsKIAlzdHJ1Y3QgcmVmICpyZWYsICpuZXh0OworCXN0cnVjdCBvaWRzZXQgdGlwX29pZHMgPSBPSURTRVRfSU5JVDsKIAlpbnQgaTsKIAogCWkgPSAwOwpAQCAtNTkzLDI0ICs2NTksMjggQEAKIAkJCXJlZi0+bmV4dCA9IE5VTEw7CiAJCQluZXd0YWlsID0gJnJlZi0+bmV4dDsKIAkJfSBlbHNlIHsKLQkJCWZyZWUocmVmKTsKKwkJCXJlZi0+bmV4dCA9IHVubWF0Y2hlZDsKKwkJCXVubWF0Y2hlZCA9IHJlZjsKIAkJfQogCX0KIAogCS8qIEFwcGVuZCB1bm1hdGNoZWQgcmVxdWVzdHMgdG8gdGhlIGxpc3QgKi8KIAlmb3IgKGkgPSAwOyBpIDwgbnJfc291Z2h0OyBpKyspIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJCWNvbnN0IGNoYXIgKnA7CiAKIAkJcmVmID0gc291Z2h0W2ldOwogCQlpZiAocmVmLT5tYXRjaF9zdGF0dXMgIT0gUkVGX05PVF9NQVRDSEVEKQogCQkJY29udGludWU7Ci0JCWlmIChnZXRfc2hhMV9oZXgocmVmLT5uYW1lLCBzaGExKSB8fAotCQkgICAgcmVmLT5uYW1lWzQwXSAhPSAnXDAnIHx8Ci0JCSAgICBoYXNoY21wKHNoYTEsIHJlZi0+b2xkX29pZC5oYXNoKSkKKwkJaWYgKHBhcnNlX29pZF9oZXgocmVmLT5uYW1lLCAmb2lkLCAmcCkgfHwKKwkJICAgICpwICE9ICdcMCcgfHwKKwkJICAgIG9pZGNtcCgmb2lkLCAmcmVmLT5vbGRfb2lkKSkKIAkJCWNvbnRpbnVlOwogCiAJCWlmICgoYWxsb3dfdW5hZHZlcnRpc2VkX29iamVjdF9yZXF1ZXN0ICYKLQkJICAgIChBTExPV19USVBfU0hBMSB8IEFMTE9XX1JFQUNIQUJMRV9TSEExKSkpIHsKKwkJICAgICAoQUxMT1dfVElQX1NIQTEgfCBBTExPV19SRUFDSEFCTEVfU0hBMSkpIHx8CisJCSAgICB0aXBfb2lkc19jb250YWluKCZ0aXBfb2lkcywgdW5tYXRjaGVkLCBuZXdsaXN0LAorCQkJCSAgICAgJnJlZi0+b2xkX29pZCkpIHsKIAkJCXJlZi0+bWF0Y2hfc3RhdHVzID0gUkVGX01BVENIRUQ7CiAJCQkqbmV3dGFpbCA9IGNvcHlfcmVmKHJlZik7CiAJCQluZXd0YWlsID0gJigqbmV3dGFpbCktPm5leHQ7CkBAIC02MTgsMTIgKzY4OCwxOSBAQAogCQkJcmVmLT5tYXRjaF9zdGF0dXMgPSBSRUZfVU5BRFZFUlRJU0VEX05PVF9BTExPV0VEOwogCQl9CiAJfQorCisJb2lkc2V0X2NsZWFyKCZ0aXBfb2lkcyk7CisJZm9yIChyZWYgPSB1bm1hdGNoZWQ7IHJlZjsgcmVmID0gbmV4dCkgeworCQluZXh0ID0gcmVmLT5uZXh0OworCQlmcmVlKHJlZik7CisJfQorCiAJKnJlZnMgPSBuZXdsaXN0OwogfQogCi1zdGF0aWMgdm9pZCBtYXJrX2FsdGVybmF0ZV9jb21wbGV0ZShjb25zdCBzdHJ1Y3QgcmVmICpyZWYsIHZvaWQgKnVudXNlZCkKK3N0YXRpYyB2b2lkIG1hcmtfYWx0ZXJuYXRlX2NvbXBsZXRlKHN0cnVjdCBvYmplY3QgKm9iaikKIHsKLQltYXJrX2NvbXBsZXRlKHJlZi0+b2xkX29pZC5oYXNoKTsKKwltYXJrX2NvbXBsZXRlKCZvYmotPm9pZCk7CiB9CiAKIHN0YXRpYyBpbnQgZXZlcnl0aGluZ19sb2NhbChzdHJ1Y3QgZmV0Y2hfcGFja19hcmdzICphcmdzLApAQCAtNjMyLDcgKzcwOSw3IEBACiB7CiAJc3RydWN0IHJlZiAqcmVmOwogCWludCByZXR2YWw7Ci0JdW5zaWduZWQgbG9uZyBjdXRvZmYgPSAwOworCXRpbWVzdGFtcF90IGN1dG9mZiA9IDA7CiAKIAlzYXZlX2NvbW1pdF9idWZmZXIgPSAwOwogCkBAIC02NDIsNyArNzE5LDcgQEAKIAkJaWYgKCFoYXNfb2JqZWN0X2ZpbGUoJnJlZi0+b2xkX29pZCkpCiAJCQljb250aW51ZTsKIAotCQlvID0gcGFyc2Vfb2JqZWN0KHJlZi0+b2xkX29pZC5oYXNoKTsKKwkJbyA9IHBhcnNlX29iamVjdCgmcmVmLT5vbGRfb2lkKTsKIAkJaWYgKCFvKQogCQkJY29udGludWU7CiAKQEAgLTY1OSw3ICs3MzYsNyBAQAogCiAJaWYgKCFhcmdzLT5kZWVwZW4pIHsKIAkJZm9yX2VhY2hfcmVmKG1hcmtfY29tcGxldGVfb2lkLCBOVUxMKTsKLQkJZm9yX2VhY2hfYWx0ZXJuYXRlX3JlZihtYXJrX2FsdGVybmF0ZV9jb21wbGV0ZSwgTlVMTCk7CisJCWZvcl9lYWNoX2NhY2hlZF9hbHRlcm5hdGUobWFya19hbHRlcm5hdGVfY29tcGxldGUpOwogCQljb21taXRfbGlzdF9zb3J0X2J5X2RhdGUoJmNvbXBsZXRlKTsKIAkJaWYgKGN1dG9mZikKIAkJCW1hcmtfcmVjZW50X2NvbXBsZXRlX2NvbW1pdHMoYXJncywgY3V0b2ZmKTsKQEAgLTY4NiwxNyArNzYzLDE3IEBACiAJZmlsdGVyX3JlZnMoYXJncywgcmVmcywgc291Z2h0LCBucl9zb3VnaHQpOwogCiAJZm9yIChyZXR2YWwgPSAxLCByZWYgPSAqcmVmczsgcmVmIDsgcmVmID0gcmVmLT5uZXh0KSB7Ci0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlbW90ZSA9IHJlZi0+b2xkX29pZC5oYXNoOworCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZW1vdGUgPSAmcmVmLT5vbGRfb2lkOwogCQlzdHJ1Y3Qgb2JqZWN0ICpvOwogCi0JCW8gPSBsb29rdXBfb2JqZWN0KHJlbW90ZSk7CisJCW8gPSBsb29rdXBfb2JqZWN0KHJlbW90ZS0+aGFzaCk7CiAJCWlmICghbyB8fCAhKG8tPmZsYWdzICYgQ09NUExFVEUpKSB7CiAJCQlyZXR2YWwgPSAwOwotCQkJcHJpbnRfdmVyYm9zZShhcmdzLCAid2FudCAlcyAoJXMpIiwgc2hhMV90b19oZXgocmVtb3RlKSwKKwkJCXByaW50X3ZlcmJvc2UoYXJncywgIndhbnQgJXMgKCVzKSIsIG9pZF90b19oZXgocmVtb3RlKSwKIAkJCQkgICAgICByZWYtPm5hbWUpOwogCQkJY29udGludWU7CiAJCX0KLQkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJhbHJlYWR5IGhhdmUgJXMgKCVzKSIpLCBzaGExX3RvX2hleChyZW1vdGUpLAorCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oImFscmVhZHkgaGF2ZSAlcyAoJXMpIiksIG9pZF90b19oZXgocmVtb3RlKSwKIAkJCSAgICAgIHJlZi0+bmFtZSk7CiAJfQogCXJldHVybiByZXR2YWw7CkBAIC03NjYsOCArODQzLDggQEAKIAkJaWYgKGFyZ3MtPnVzZV90aGluX3BhY2spCiAJCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLS1maXgtdGhpbiIpOwogCQlpZiAoYXJncy0+bG9ja19wYWNrIHx8IHVucGFja19saW1pdCkgewotCQkJY2hhciBob3N0bmFtZVsyNTZdOwotCQkJaWYgKGdldGhvc3RuYW1lKGhvc3RuYW1lLCBzaXplb2YoaG9zdG5hbWUpKSkKKwkJCWNoYXIgaG9zdG5hbWVbSE9TVF9OQU1FX01BWCArIDFdOworCQkJaWYgKHhnZXRob3N0bmFtZShob3N0bmFtZSwgc2l6ZW9mKGhvc3RuYW1lKSkpCiAJCQkJeHNucHJpbnRmKGhvc3RuYW1lLCBzaXplb2YoaG9zdG5hbWUpLCAibG9jYWxob3N0Iik7CiAJCQlhcmd2X2FycmF5X3B1c2hmKCZjbWQuYXJncywKIAkJCQkJIi0ta2VlcD1mZXRjaC1wYWNrICUiUFJJdU1BWCAiIG9uICVzIiwKQEAgLTgzNSw3ICs5MTIsNyBAQAogCQkJCSBjaGFyICoqcGFja19sb2NrZmlsZSkKIHsKIAlzdHJ1Y3QgcmVmICpyZWYgPSBjb3B5X3JlZl9saXN0KG9yaWdfcmVmKTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNvbnN0IGNoYXIgKmFnZW50X2ZlYXR1cmU7CiAJaW50IGFnZW50X2xlbjsKIApAQCAtOTA3LDcgKzk4NCw3IEBACiAJCXBhY2tldF9mbHVzaChmZFsxXSk7CiAJCWdvdG8gYWxsX2RvbmU7CiAJfQotCWlmIChmaW5kX2NvbW1vbihhcmdzLCBmZCwgc2hhMSwgcmVmKSA8IDApCisJaWYgKGZpbmRfY29tbW9uKGFyZ3MsIGZkLCAmb2lkLCByZWYpIDwgMCkKIAkJaWYgKCFhcmdzLT5rZWVwX3BhY2spCiAJCQkvKiBXaGVuIGNsb25pbmcsIGl0IGlzIG5vdCB1bnVzdWFsIHRvIGhhdmUKIAkJCSAqIG5vIGNvbW1vbiBjb21taXQuCkBAIC05NzksNyArMTA1Niw3IEBACiAJCQkgICBzdHJ1Y3QgcmVmICoqc291Z2h0LCBpbnQgbnJfc291Z2h0LAogCQkJICAgc3RydWN0IHNoYWxsb3dfaW5mbyAqc2kpCiB7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgcmVmID0gU0hBMV9BUlJBWV9JTklUOworCXN0cnVjdCBvaWRfYXJyYXkgcmVmID0gT0lEX0FSUkFZX0lOSVQ7CiAJaW50ICpzdGF0dXM7CiAJaW50IGk7CiAKQEAgLTEwMDIsMTggKzEwNzksMTggQEAKIAkJICogc2hhbGxvdyBwb2ludHMgdGhhdCBleGlzdCBpbiB0aGUgcGFjayAoaW93IGluIHJlcG8KIAkJICogYWZ0ZXIgZ2V0X3BhY2soKSBhbmQgcmVwcmVwYXJlX3BhY2tlZF9naXQoKSkKIAkJICovCi0JCXN0cnVjdCBzaGExX2FycmF5IGV4dHJhID0gU0hBMV9BUlJBWV9JTklUOwotCQl1bnNpZ25lZCBjaGFyICgqc2hhMSlbMjBdID0gc2ktPnNoYWxsb3ctPnNoYTE7CisJCXN0cnVjdCBvaWRfYXJyYXkgZXh0cmEgPSBPSURfQVJSQVlfSU5JVDsKKwkJc3RydWN0IG9iamVjdF9pZCAqb2lkID0gc2ktPnNoYWxsb3ctPm9pZDsKIAkJZm9yIChpID0gMDsgaSA8IHNpLT5zaGFsbG93LT5ucjsgaSsrKQotCQkJaWYgKGhhc19zaGExX2ZpbGUoc2hhMVtpXSkpCi0JCQkJc2hhMV9hcnJheV9hcHBlbmQoJmV4dHJhLCBzaGExW2ldKTsKKwkJCWlmIChoYXNfb2JqZWN0X2ZpbGUoJm9pZFtpXSkpCisJCQkJb2lkX2FycmF5X2FwcGVuZCgmZXh0cmEsICZvaWRbaV0pOwogCQlpZiAoZXh0cmEubnIpIHsKIAkJCXNldHVwX2FsdGVybmF0ZV9zaGFsbG93KCZzaGFsbG93X2xvY2ssCiAJCQkJCQkmYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSwKIAkJCQkJCSZleHRyYSk7CiAJCQljb21taXRfbG9ja19maWxlKCZzaGFsbG93X2xvY2spOwogCQl9Ci0JCXNoYTFfYXJyYXlfY2xlYXIoJmV4dHJhKTsKKwkJb2lkX2FycmF5X2NsZWFyKCZleHRyYSk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTEwMjQsNyArMTEwMSw3IEBACiAJaWYgKCFzaS0+bnJfb3VycyAmJiAhc2ktPm5yX3RoZWlycykKIAkJcmV0dXJuOwogCWZvciAoaSA9IDA7IGkgPCBucl9zb3VnaHQ7IGkrKykKLQkJc2hhMV9hcnJheV9hcHBlbmQoJnJlZiwgc291Z2h0W2ldLT5vbGRfb2lkLmhhc2gpOworCQlvaWRfYXJyYXlfYXBwZW5kKCZyZWYsICZzb3VnaHRbaV0tPm9sZF9vaWQpOwogCXNpLT5yZWYgPSAmcmVmOwogCiAJaWYgKGFyZ3MtPnVwZGF0ZV9zaGFsbG93KSB7CkBAIC0xMDM0LDIzICsxMTExLDIzIEBACiAJCSAqIHNoYWxsb3cgcm9vdHMgdGhhdCBhcmUgYWN0dWFsbHkgcmVhY2hhYmxlIGZyb20gbmV3CiAJCSAqIHJlZnMuCiAJCSAqLwotCQlzdHJ1Y3Qgc2hhMV9hcnJheSBleHRyYSA9IFNIQTFfQVJSQVlfSU5JVDsKLQkJdW5zaWduZWQgY2hhciAoKnNoYTEpWzIwXSA9IHNpLT5zaGFsbG93LT5zaGExOworCQlzdHJ1Y3Qgb2lkX2FycmF5IGV4dHJhID0gT0lEX0FSUkFZX0lOSVQ7CisJCXN0cnVjdCBvYmplY3RfaWQgKm9pZCA9IHNpLT5zaGFsbG93LT5vaWQ7CiAJCWFzc2lnbl9zaGFsbG93X2NvbW1pdHNfdG9fcmVmcyhzaSwgTlVMTCwgTlVMTCk7CiAJCWlmICghc2ktPm5yX291cnMgJiYgIXNpLT5ucl90aGVpcnMpIHsKLQkJCXNoYTFfYXJyYXlfY2xlYXIoJnJlZik7CisJCQlvaWRfYXJyYXlfY2xlYXIoJnJlZik7CiAJCQlyZXR1cm47CiAJCX0KIAkJZm9yIChpID0gMDsgaSA8IHNpLT5ucl9vdXJzOyBpKyspCi0JCQlzaGExX2FycmF5X2FwcGVuZCgmZXh0cmEsIHNoYTFbc2ktPm91cnNbaV1dKTsKKwkJCW9pZF9hcnJheV9hcHBlbmQoJmV4dHJhLCAmb2lkW3NpLT5vdXJzW2ldXSk7CiAJCWZvciAoaSA9IDA7IGkgPCBzaS0+bnJfdGhlaXJzOyBpKyspCi0JCQlzaGExX2FycmF5X2FwcGVuZCgmZXh0cmEsIHNoYTFbc2ktPnRoZWlyc1tpXV0pOworCQkJb2lkX2FycmF5X2FwcGVuZCgmZXh0cmEsICZvaWRbc2ktPnRoZWlyc1tpXV0pOwogCQlzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdygmc2hhbGxvd19sb2NrLAogCQkJCQkmYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSwKIAkJCQkJJmV4dHJhKTsKIAkJY29tbWl0X2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKLQkJc2hhMV9hcnJheV9jbGVhcigmZXh0cmEpOwotCQlzaGExX2FycmF5X2NsZWFyKCZyZWYpOworCQlvaWRfYXJyYXlfY2xlYXIoJmV4dHJhKTsKKwkJb2lkX2FycmF5X2NsZWFyKCZyZWYpOwogCQlyZXR1cm47CiAJfQogCkBAIC0xMDY2LDcgKzExNDMsNyBAQAogCQkJCXNvdWdodFtpXS0+c3RhdHVzID0gUkVGX1NUQVRVU19SRUpFQ1RfU0hBTExPVzsKIAl9CiAJZnJlZShzdGF0dXMpOwotCXNoYTFfYXJyYXlfY2xlYXIoJnJlZik7CisJb2lkX2FycmF5X2NsZWFyKCZyZWYpOwogfQogCiBzdHJ1Y3QgcmVmICpmZXRjaF9wYWNrKHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsCkBAIC0xMDc0LDcgKzExNTEsNyBAQAogCQkgICAgICAgY29uc3Qgc3RydWN0IHJlZiAqcmVmLAogCQkgICAgICAgY29uc3QgY2hhciAqZGVzdCwKIAkJICAgICAgIHN0cnVjdCByZWYgKipzb3VnaHQsIGludCBucl9zb3VnaHQsCi0JCSAgICAgICBzdHJ1Y3Qgc2hhMV9hcnJheSAqc2hhbGxvdywKKwkJICAgICAgIHN0cnVjdCBvaWRfYXJyYXkgKnNoYWxsb3csCiAJCSAgICAgICBjaGFyICoqcGFja19sb2NrZmlsZSkKIHsKIAlzdHJ1Y3QgcmVmICpyZWZfY3B5OwpkaWZmIC0tZ2l0IGEvZmV0Y2gtcGFjay5oIGIvZmV0Y2gtcGFjay5oCmluZGV4IGEyZDQ2ZTYuLmI2YWViNDMgMTAwNjQ0Ci0tLSBhL2ZldGNoLXBhY2suaAorKysgYi9mZXRjaC1wYWNrLmgKQEAgLTQsNyArNCw3IEBACiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogCi1zdHJ1Y3Qgc2hhMV9hcnJheTsKK3N0cnVjdCBvaWRfYXJyYXk7CiAKIHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgewogCWNvbnN0IGNoYXIgKnVwbG9hZHBhY2s7CkBAIC00Miw3ICs0Miw3IEBACiAJCSAgICAgICBjb25zdCBjaGFyICpkZXN0LAogCQkgICAgICAgc3RydWN0IHJlZiAqKnNvdWdodCwKIAkJICAgICAgIGludCBucl9zb3VnaHQsCi0JCSAgICAgICBzdHJ1Y3Qgc2hhMV9hcnJheSAqc2hhbGxvdywKKwkJICAgICAgIHN0cnVjdCBvaWRfYXJyYXkgKnNoYWxsb3csCiAJCSAgICAgICBjaGFyICoqcGFja19sb2NrZmlsZSk7CiAKIC8qCmRpZmYgLS1naXQgYS9mc2NrLmMgYi9mc2NrLmMKaW5kZXggOTM5NzkyNy4uMmFkMDBmYyAxMDA2NDQKLS0tIGEvZnNjay5jCisrKyBiL2ZzY2suYwpAQCAtMTMyLDEwICsxMzIsMTAgQEAKIAogc3RhdGljIHZvaWQgaW5pdF9za2lwbGlzdChzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zLCBjb25zdCBjaGFyICpwYXRoKQogewotCXN0YXRpYyBzdHJ1Y3Qgc2hhMV9hcnJheSBza2lwbGlzdCA9IFNIQTFfQVJSQVlfSU5JVDsKKwlzdGF0aWMgc3RydWN0IG9pZF9hcnJheSBza2lwbGlzdCA9IE9JRF9BUlJBWV9JTklUOwogCWludCBzb3J0ZWQsIGZkOwotCWNoYXIgYnVmZmVyWzQxXTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCWNoYXIgYnVmZmVyW0dJVF9NQVhfSEVYU1ogKyAxXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCWlmIChvcHRpb25zLT5za2lwbGlzdCkKIAkJc29ydGVkID0gb3B0aW9ucy0+c2tpcGxpc3QtPnNvcnRlZDsKQEAgLTE0OCwxNyArMTQ4LDE4IEBACiAJaWYgKGZkIDwgMCkKIAkJZGllKCJDb3VsZCBub3Qgb3BlbiBza2lwIGxpc3Q6ICVzIiwgcGF0aCk7CiAJZm9yICg7OykgeworCQljb25zdCBjaGFyICpwOwogCQlpbnQgcmVzdWx0ID0gcmVhZF9pbl9mdWxsKGZkLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKIAkJaWYgKHJlc3VsdCA8IDApCiAJCQlkaWVfZXJybm8oIkNvdWxkIG5vdCByZWFkICclcyciLCBwYXRoKTsKIAkJaWYgKCFyZXN1bHQpCiAJCQlicmVhazsKLQkJaWYgKGdldF9zaGExX2hleChidWZmZXIsIHNoYTEpIHx8IGJ1ZmZlcls0MF0gIT0gJ1xuJykKKwkJaWYgKHBhcnNlX29pZF9oZXgoYnVmZmVyLCAmb2lkLCAmcCkgfHwgKnAgIT0gJ1xuJykKIAkJCWRpZSgiSW52YWxpZCBTSEEtMTogJXMiLCBidWZmZXIpOwotCQlzaGExX2FycmF5X2FwcGVuZCgmc2tpcGxpc3QsIHNoYTEpOworCQlvaWRfYXJyYXlfYXBwZW5kKCZza2lwbGlzdCwgJm9pZCk7CiAJCWlmIChzb3J0ZWQgJiYgc2tpcGxpc3QubnIgPiAxICYmCi0JCQkJaGFzaGNtcChza2lwbGlzdC5zaGExW3NraXBsaXN0Lm5yIC0gMl0sCi0JCQkJCXNoYTEpID4gMCkKKwkJCQlvaWRjbXAoJnNraXBsaXN0Lm9pZFtza2lwbGlzdC5uciAtIDJdLAorCQkJCSAgICAgICAmb2lkKSA+IDApCiAJCQlzb3J0ZWQgPSAwOwogCX0KIAljbG9zZShmZCk7CkBAIC0yNzksNyArMjgwLDcgQEAKIAkJcmV0dXJuIDA7CiAKIAlpZiAob3B0aW9ucy0+c2tpcGxpc3QgJiYgb2JqZWN0ICYmCi0JCQlzaGExX2FycmF5X2xvb2t1cChvcHRpb25zLT5za2lwbGlzdCwgb2JqZWN0LT5vaWQuaGFzaCkgPj0gMCkKKwkJCW9pZF9hcnJheV9sb29rdXAob3B0aW9ucy0+c2tpcGxpc3QsICZvYmplY3QtPm9pZCkgPj0gMCkKIAkJcmV0dXJuIDA7CiAKIAlpZiAobXNnX3R5cGUgPT0gRlNDS19GQVRBTCkKQEAgLTM1NywxNCArMzU4LDE0IEBACiAJCQljb250aW51ZTsKIAogCQlpZiAoU19JU0RJUihlbnRyeS5tb2RlKSkgewotCQkJb2JqID0gJmxvb2t1cF90cmVlKGVudHJ5Lm9pZC0+aGFzaCktPm9iamVjdDsKKwkJCW9iaiA9ICZsb29rdXBfdHJlZShlbnRyeS5vaWQpLT5vYmplY3Q7CiAJCQlpZiAobmFtZSkKIAkJCQlwdXRfb2JqZWN0X25hbWUob3B0aW9ucywgb2JqLCAiJXMlcy8iLCBuYW1lLAogCQkJCQllbnRyeS5wYXRoKTsKIAkJCXJlc3VsdCA9IG9wdGlvbnMtPndhbGsob2JqLCBPQkpfVFJFRSwgZGF0YSwgb3B0aW9ucyk7CiAJCX0KIAkJZWxzZSBpZiAoU19JU1JFRyhlbnRyeS5tb2RlKSB8fCBTX0lTTE5LKGVudHJ5Lm1vZGUpKSB7Ci0JCQlvYmogPSAmbG9va3VwX2Jsb2IoZW50cnkub2lkLT5oYXNoKS0+b2JqZWN0OworCQkJb2JqID0gJmxvb2t1cF9ibG9iKGVudHJ5Lm9pZCktPm9iamVjdDsKIAkJCWlmIChuYW1lKQogCQkJCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCBvYmosICIlcyVzIiwgbmFtZSwKIAkJCQkJZW50cnkucGF0aCk7CkBAIC00NjAsNyArNDYxLDcgQEAKIAkJcmV0dXJuIC0xOwogCiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfTk9ORSkKLQkJcGFyc2Vfb2JqZWN0KG9iai0+b2lkLmhhc2gpOworCQlwYXJzZV9vYmplY3QoJm9iai0+b2lkKTsKIAogCXN3aXRjaCAob2JqLT50eXBlKSB7CiAJY2FzZSBPQkpfQkxPQjoKQEAgLTU4Nyw2ICs1ODgsNyBAQAogCQljYXNlIFNfSUZSRUcgfCAwNjY0OgogCQkJaWYgKCFvcHRpb25zLT5zdHJpY3QpCiAJCQkJYnJlYWs7CisJCQkvKiBmYWxsdGhyb3VnaCAqLwogCQlkZWZhdWx0OgogCQkJaGFzX2JhZF9tb2RlcyA9IDE7CiAJCX0KQEAgLTY5MCw3ICs2OTIsNyBAQAogCXArKzsKIAlpZiAoKnAgPT0gJzAnICYmIHBbMV0gIT0gJyAnKQogCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9iaiwgRlNDS19NU0dfWkVST19QQURERURfREFURSwgImludmFsaWQgYXV0aG9yL2NvbW1pdHRlciBsaW5lIC0gemVyby1wYWRkZWQgZGF0ZSIpOwotCWlmIChkYXRlX292ZXJmbG93cyhzdHJ0b3VsKHAsICZlbmQsIDEwKSkpCisJaWYgKGRhdGVfb3ZlcmZsb3dzKHBhcnNlX3RpbWVzdGFtcChwLCAmZW5kLCAxMCkpKQogCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9iaiwgRlNDS19NU0dfQkFEX0RBVEVfT1ZFUkZMT1csICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIGRhdGUgY2F1c2VzIGludGVnZXIgb3ZlcmZsb3ciKTsKIAlpZiAoKGVuZCA9PSBwIHx8ICplbmQgIT0gJyAnKSkKIAkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvYmosIEZTQ0tfTVNHX0JBRF9EQVRFLCAiaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIGxpbmUgLSBiYWQgZGF0ZSIpOwpAQCAtNzM1LDcgKzczNyw3IEBACiAJCWJ1ZmZlciArPSA0MTsKIAkJcGFyZW50X2xpbmVfY291bnQrKzsKIAl9Ci0JZ3JhZnQgPSBsb29rdXBfY29tbWl0X2dyYWZ0KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwlncmFmdCA9IGxvb2t1cF9jb21taXRfZ3JhZnQoJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAJcGFyZW50X2NvdW50ID0gY29tbWl0X2xpc3RfY291bnQoY29tbWl0LT5wYXJlbnRzKTsKIAlpZiAoZ3JhZnQpIHsKIAkJaWYgKGdyYWZ0LT5ucl9wYXJlbnQgPT0gLTEgJiYgIXBhcmVudF9jb3VudCkKZGlmZiAtLWdpdCBhL2ZzY2suaCBiL2ZzY2suaAppbmRleCAxODkxYzE4Li40NTI1NTEwIDEwMDY0NAotLS0gYS9mc2NrLmgKKysrIGIvZnNjay5oCkBAIC0zNCw3ICszNCw3IEBACiAJZnNja19lcnJvciBlcnJvcl9mdW5jOwogCXVuc2lnbmVkIHN0cmljdDoxOwogCWludCAqbXNnX3R5cGU7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgKnNraXBsaXN0OworCXN0cnVjdCBvaWRfYXJyYXkgKnNraXBsaXN0OwogCXN0cnVjdCBkZWNvcmF0aW9uICpvYmplY3RfbmFtZXM7CiB9OwogCmRpZmYgLS1naXQgYS9naXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsIGIvZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybAppbmRleCBmNWM4MTZlLi4yOGIzMjVkIDEwMDc1NQotLS0gYS9naXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsCisrKyBiL2dpdC1hZGQtLWludGVyYWN0aXZlLnBlcmwKQEAgLTMsNyArMyw3IEBACiB1c2UgNS4wMDg7CiB1c2Ugc3RyaWN0OwogdXNlIHdhcm5pbmdzOwotdXNlIEdpdDsKK3VzZSBHaXQgcXcodW5xdW90ZV9wYXRoKTsKIHVzZSBHaXQ6OkkxOE47CiAKIGJpbm1vZGUoU1RET1VULCAiOnJhdyIpOwpAQCAtNDYsNyArNDYsNiBAQAogbXkgJG5vcm1hbF9jb2xvciA9ICRyZXBvLT5nZXRfY29sb3IoIiIsICJyZXNldCIpOwogCiBteSAkZGlmZl9hbGdvcml0aG0gPSAkcmVwby0+Y29uZmlnKCdkaWZmLmFsZ29yaXRobScpOwotbXkgJGRpZmZfaW5kZW50X2hldXJpc3RpYyA9ICRyZXBvLT5jb25maWdfYm9vbCgnZGlmZi5pbmRlbnRoZXVyaXN0aWMnKTsKIG15ICRkaWZmX2ZpbHRlciA9ICRyZXBvLT5jb25maWcoJ2ludGVyYWN0aXZlLmRpZmZmaWx0ZXInKTsKIAogbXkgJHVzZV9yZWFka2V5ID0gMDsKQEAgLTE3NSw0NyArMTc0LDYgQEAKIH0KIGNob21wKCRHSVRfRElSKTsKIAotbXkgJWNxdW90ZV9tYXAgPSAoCi0gImIiID0+IGNocig4KSwKLSAidCIgPT4gY2hyKDkpLAotICJuIiA9PiBjaHIoMTApLAotICJ2IiA9PiBjaHIoMTEpLAotICJmIiA9PiBjaHIoMTIpLAotICJyIiA9PiBjaHIoMTMpLAotICJcXCIgPT4gIlxcIiwKLSAiXDA0MiIgPT4gIlwwNDIiLAotKTsKLQotc3ViIHVucXVvdGVfcGF0aCB7Ci0JbG9jYWwgKCRfKSA9IEBfOwotCW15ICgkcmV0dmFsLCAkcmVtYWluZGVyKTsKLQlpZiAoIS9eXDA0MiguKilcMDQyJC8pIHsKLQkJcmV0dXJuICRfOwotCX0KLQkoJF8sICRyZXR2YWwpID0gKCQxLCAiIik7Ci0Jd2hpbGUgKC9eKFteXFxdKilcXCguKikkLykgewotCQkkcmVtYWluZGVyID0gJDI7Ci0JCSRyZXR2YWwgLj0gJDE7Ci0JCWZvciAoJHJlbWFpbmRlcikgewotCQkJaWYgKC9eKFswLTNdWzAtN11bMC03XSkoLiopJC8pIHsKLQkJCQkkcmV0dmFsIC49IGNocihvY3QoJDEpKTsKLQkJCQkkXyA9ICQyOwotCQkJCWxhc3Q7Ci0JCQl9Ci0JCQlpZiAoL14oW1xcXDA0MmJ0bnZmcl0pKC4qKSQvKSB7Ci0JCQkJJHJldHZhbCAuPSAkY3F1b3RlX21hcHskMX07Ci0JCQkJJF8gPSAkMjsKLQkJCQlsYXN0OwotCQkJfQotCQkJIyBUaGlzIGlzIG1hbGZvcm1lZCAtLSBqdXN0IHJldHVybiBpdCBhcy1pcyBmb3Igbm93LgotCQkJcmV0dXJuICRfWzBdOwotCQl9Ci0JCSRfID0gJHJlbWFpbmRlcjsKLQl9Ci0JJHJldHZhbCAuPSAkXzsKLQlyZXR1cm4gJHJldHZhbDsKLX0KLQogc3ViIHJlZnJlc2ggewogCW15ICRmaDsKIAlvcGVuICRmaCwgJ2dpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoIHwnCkBAIC0yNzUsMjAgKzIzMywxMSBAQAogCW15ICgkb25seSkgPSBAXzsKIAlteSAoJWRhdGEsIEByZXR1cm4pOwogCW15ICgkYWRkLCAkZGVsLCAkYWRkZGVsLCAkZmlsZSk7Ci0JbXkgQHRyYWNrZWQgPSAoKTsKLQotCWlmIChAQVJHVikgewotCQlAdHJhY2tlZCA9IG1hcCB7Ci0JCQljaG9tcCAkXzsKLQkJCXVucXVvdGVfcGF0aCgkXyk7Ci0JCX0gcnVuX2NtZF9waXBlKHF3KGdpdCBscy1maWxlcyAtLSksIEBBUkdWKTsKLQkJcmV0dXJuIGlmICghQHRyYWNrZWQpOwotCX0KIAogCW15ICRyZWZlcmVuY2UgPSBnZXRfZGlmZl9yZWZlcmVuY2UoJHBhdGNoX21vZGVfcmV2aXNpb24pOwogCWZvciAocnVuX2NtZF9waXBlKHF3KGdpdCBkaWZmLWluZGV4IC0tY2FjaGVkCiAJCQkgICAgIC0tbnVtc3RhdCAtLXN1bW1hcnkpLCAkcmVmZXJlbmNlLAotCQkJICAgICAnLS0nLCBAdHJhY2tlZCkpIHsKKwkJCSAgICAgJy0tJywgQEFSR1YpKSB7CiAJCWlmICgoJGFkZCwgJGRlbCwgJGZpbGUpID0KIAkJICAgIC9eKFstXGRdKykJKFstXGRdKykJKC4qKS8pIHsKIAkJCW15ICgkY2hhbmdlLCAkYmluKTsKQEAgLTMxMyw3ICsyNjIsNyBAQAogCQl9CiAJfQogCi0JZm9yIChydW5fY21kX3BpcGUocXcoZ2l0IGRpZmYtZmlsZXMgLS1udW1zdGF0IC0tc3VtbWFyeSAtLXJhdyAtLSksIEB0cmFja2VkKSkgeworCWZvciAocnVuX2NtZF9waXBlKHF3KGdpdCBkaWZmLWZpbGVzIC0tbnVtc3RhdCAtLXN1bW1hcnkgLS1yYXcgLS0pLCBAQVJHVikpIHsKIAkJaWYgKCgkYWRkLCAkZGVsLCAkZmlsZSkgPQogCQkgICAgL14oWy1cZF0rKQkoWy1cZF0rKQkoLiopLykgewogCQkJJGZpbGUgPSB1bnF1b3RlX3BhdGgoJGZpbGUpOwpAQCAtNzM5LDkgKzY4OCw2IEBACiAJaWYgKGRlZmluZWQgJGRpZmZfYWxnb3JpdGhtKSB7CiAJCXNwbGljZSBAZGlmZl9jbWQsIDEsIDAsICItLWRpZmYtYWxnb3JpdGhtPSR7ZGlmZl9hbGdvcml0aG19IjsKIAl9Ci0JaWYgKCRkaWZmX2luZGVudF9oZXVyaXN0aWMpIHsKLQkJc3BsaWNlIEBkaWZmX2NtZCwgMSwgMCwgIi0taW5kZW50LWhldXJpc3RpYyI7Ci0JfQogCWlmIChkZWZpbmVkICRwYXRjaF9tb2RlX3JldmlzaW9uKSB7CiAJCXB1c2ggQGRpZmZfY21kLCBnZXRfZGlmZl9yZWZlcmVuY2UoJHBhdGNoX21vZGVfcmV2aXNpb24pOwogCX0KQEAgLTEwNDksNyArOTk1LDcgQEAKIG1hcmtlZCBmb3IgYXBwbHlpbmcuIiksCiAJY2hlY2tvdXRfaW5kZXggPT4gTl9fKAogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlCi1tYXJrZWQgZm9yIGRpc2NhcmRpbmciKSwKK21hcmtlZCBmb3IgZGlzY2FyZGluZy4iKSwKIAljaGVja291dF9oZWFkID0+IE5fXygKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZQogbWFya2VkIGZvciBkaXNjYXJkaW5nLiIpLApAQCAtMTA5NCw3ICsxMDQwLDcgQEAKIAogCW9wZW4gJGZoLCAnPCcsICRodW5rZmlsZQogCQlvciBkaWUgc3ByaW50ZihfXygiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHJlYWRpbmc6ICVzIiksICQhKTsKLQlteSBAbmV3dGV4dCA9IGdyZXAgeyAhL14kY29tbWVudF9saW5lX2NoYXIvIH0gPCRmaD47CisJbXkgQG5ld3RleHQgPSBncmVwIHsgIS9eXFEkY29tbWVudF9saW5lX2NoYXJcRS8gfSA8JGZoPjsKIAljbG9zZSAkZmg7CiAJdW5saW5rICRodW5rZmlsZTsKIApAQCAtMTE0OSw2ICsxMDk1LDcgQEAKIAl3aGlsZSAoMSkgewogCQlwcmludCBjb2xvcmVkICRwcm9tcHRfY29sb3IsICRwcm9tcHQ7CiAJCW15ICRsaW5lID0gcHJvbXB0X3NpbmdsZV9jaGFyYWN0ZXI7CisJCXJldHVybiB1bmRlZiB1bmxlc3MgZGVmaW5lZCAkbGluZTsKIAkJcmV0dXJuIDAgaWYgJGxpbmUgPX4gL15uL2k7CiAJCXJldHVybiAxIGlmICRsaW5lID1+IC9eeS9pOwogCX0KZGlmZiAtLWdpdCBhL2dpdC1jb21wYXQtdXRpbC5oIGIvZ2l0LWNvbXBhdC11dGlsLmgKaW5kZXggOGE0YTNmOC4uY2VkYWQ0ZCAxMDA2NDQKLS0tIGEvZ2l0LWNvbXBhdC11dGlsLmgKKysrIGIvZ2l0LWNvbXBhdC11dGlsLmgKQEAgLTE4OSw2ICsxODksOSBAQAogI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KICNlbmRpZgogCisjaWYgZGVmaW5lZChfX0NZR1dJTl9fKQorI2luY2x1ZGUgImNvbXBhdC9jeWd3aW4uaCIKKyNlbmRpZgogI2lmIGRlZmluZWQoX19NSU5HVzMyX18pCiAvKiBwdWxsIGluIFdpbmRvd3MgY29tcGF0aWJpbGl0eSBzdHVmZiAqLwogI2luY2x1ZGUgImNvbXBhdC9taW5ndy5oIgpAQCAtMzE5LDYgKzMyMiwxMSBAQAogI2RlZmluZSBQUklvMzIgIm8iCiAjZW5kaWYKIAordHlwZWRlZiB1aW50bWF4X3QgdGltZXN0YW1wX3Q7CisjZGVmaW5lIFBSSXRpbWUgUFJJdU1BWAorI2RlZmluZSBwYXJzZV90aW1lc3RhbXAgc3RydG91bWF4CisjZGVmaW5lIFRJTUVfTUFYIFVJTlRNQVhfTUFYCisKICNpZm5kZWYgUEFUSF9TRVAKICNkZWZpbmUgUEFUSF9TRVAgJzonCiAjZW5kaWYKQEAgLTQ0NSw3ICs0NTMsNiBAQAogZXh0ZXJuIHZvaWQgc2V0X3dhcm5fcm91dGluZSh2b2lkICgqcm91dGluZSkoY29uc3QgY2hhciAqd2FybiwgdmFfbGlzdCBwYXJhbXMpKTsKIGV4dGVybiB2b2lkICgqZ2V0X3dhcm5fcm91dGluZSh2b2lkKSkoY29uc3QgY2hhciAqd2FybiwgdmFfbGlzdCBwYXJhbXMpOwogZXh0ZXJuIHZvaWQgc2V0X2RpZV9pc19yZWN1cnNpbmdfcm91dGluZShpbnQgKCpyb3V0aW5lKSh2b2lkKSk7Ci1leHRlcm4gdm9pZCBzZXRfZXJyb3JfaGFuZGxlKEZJTEUgKik7CiAKIGV4dGVybiBpbnQgc3RhcnRzX3dpdGgoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwcmVmaXgpOwogCkBAIC02MTYsNyArNjIzLDcgQEAKICNlbmRpZgogCiAjZGVmaW5lIERFRkFVTFRfUEFDS0VEX0dJVF9MSU1JVCBcCi0JKCgxMDI0TCAqIDEwMjRMKSAqIChzaXplX3QpKHNpemVvZih2b2lkKikgPj0gOCA/IDgxOTIgOiAyNTYpKQorCSgoMTAyNEwgKiAxMDI0TCkgKiAoc2l6ZV90KShzaXplb2Yodm9pZCopID49IDggPyAoMzIgKiAxMDI0TCAqIDEwMjRMKSA6IDI1NikpCiAKICNpZmRlZiBOT19QUkVBRAogI2RlZmluZSBwcmVhZCBnaXRfcHJlYWQKQEAgLTY4OSwxMCArNjk2LDEyIEBACiAjZW5kaWYKIAogI2lmZGVmIEZSRUFEX1JFQURTX0RJUkVDVE9SSUVTCi0jaWZkZWYgZm9wZW4KLSN1bmRlZiBmb3BlbgotI2VuZGlmCi0jZGVmaW5lIGZvcGVuKGEsYikgZ2l0X2ZvcGVuKGEsYikKKyMgaWYgIWRlZmluZWQoU1VQUFJFU1NfRk9QRU5fUkVERUZJTklUSU9OKQorIyAgaWZkZWYgZm9wZW4KKyMgICB1bmRlZiBmb3BlbgorIyAgZW5kaWYKKyMgIGRlZmluZSBmb3BlbihhLGIpIGdpdF9mb3BlbihhLGIpCisjIGVuZGlmCiBleHRlcm4gRklMRSAqZ2l0X2ZvcGVuKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKik7CiAjZW5kaWYKIApAQCAtNzQwLDggKzc0OSw2IEBACiBleHRlcm4gaW50IGdpdF9hdGV4aXQodm9pZCAoKmhhbmRsZXIpKHZvaWQpKTsKICNlbmRpZgogCi1leHRlcm4gdm9pZCByZWxlYXNlX3BhY2tfbWVtb3J5KHNpemVfdCk7Ci0KIHR5cGVkZWYgdm9pZCAoKnRyeV90b19mcmVlX3QpKHNpemVfdCk7CiBleHRlcm4gdHJ5X3RvX2ZyZWVfdCBzZXRfdHJ5X3RvX2ZyZWVfcm91dGluZSh0cnlfdG9fZnJlZV90KTsKIApAQCAtODAwLDYgKzgwNywxMyBAQAogZXh0ZXJuIGludCB4bWtzdGVtcF9tb2RlKGNoYXIgKnRlbXBsYXRlLCBpbnQgbW9kZSk7CiBleHRlcm4gY2hhciAqeGdldGN3ZCh2b2lkKTsKIGV4dGVybiBGSUxFICpmb3Blbl9mb3Jfd3JpdGluZyhjb25zdCBjaGFyICpwYXRoKTsKK2V4dGVybiBGSUxFICpmb3Blbl9vcl93YXJuKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpOworCisvKgorICogRlJFRV9BTkRfTlVMTChwdHIpIGlzIGxpa2UgZnJlZShwdHIpIGZvbGxvd2VkIGJ5IHB0ciA9IE5VTEwuIE5vdGUKKyAqIHRoYXQgcHRyIGlzIHVzZWQgdHdpY2UsIHNvIGRvbid0IHBhc3MgZS5nLiBwdHIrKy4KKyAqLworI2RlZmluZSBGUkVFX0FORF9OVUxMKHApIGRvIHsgZnJlZShwKTsgKHApID0gTlVMTDsgfSB3aGlsZSAoMCkKIAogI2RlZmluZSBBTExPQ19BUlJBWSh4LCBhbGxvYykgKHgpID0geG1hbGxvYyhzdF9tdWx0KHNpemVvZigqKHgpKSwgKGFsbG9jKSkpCiAjZGVmaW5lIFJFQUxMT0NfQVJSQVkoeCwgYWxsb2MpICh4KSA9IHhyZWFsbG9jKCh4KSwgc3RfbXVsdChzaXplb2YoKih4KSksIChhbGxvYykpKQpAQCAtODEyLDYgKzgyNiwxNCBAQAogCQltZW1jcHkoZHN0LCBzcmMsIHN0X211bHQoc2l6ZSwgbikpOwogfQogCisjZGVmaW5lIE1PVkVfQVJSQVkoZHN0LCBzcmMsIG4pIG1vdmVfYXJyYXkoKGRzdCksIChzcmMpLCAobiksIHNpemVvZigqKGRzdCkpICsgXAorCUJVSUxEX0FTU0VSVF9PUl9aRVJPKHNpemVvZigqKGRzdCkpID09IHNpemVvZigqKHNyYykpKSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBtb3ZlX2FycmF5KHZvaWQgKmRzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3Qgbiwgc2l6ZV90IHNpemUpCit7CisJaWYgKG4pCisJCW1lbW1vdmUoZHN0LCBzcmMsIHN0X211bHQoc2l6ZSwgbikpOworfQorCiAvKgogICogVGhlc2UgZnVuY3Rpb25zIGhlbHAgeW91IGFsbG9jYXRlIHN0cnVjdHMgd2l0aCBmbGV4IGFycmF5cywgYW5kIGNvcHkKICAqIHRoZSBkYXRhIGRpcmVjdGx5IGludG8gdGhlIGFycmF5LiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhZDoKQEAgLTg3NiwxNCArODk4LDIyIEBACiAKIHN0YXRpYyBpbmxpbmUgc2l6ZV90IHhzaXplX3Qob2ZmX3QgbGVuKQogewotCWlmIChsZW4gPiAoc2l6ZV90KSBsZW4pCisJc2l6ZV90IHNpemUgPSAoc2l6ZV90KSBsZW47CisKKwlpZiAobGVuICE9IChvZmZfdCkgc2l6ZSkKIAkJZGllKCJDYW5ub3QgaGFuZGxlIGZpbGVzIHRoaXMgYmlnIik7Ci0JcmV0dXJuIChzaXplX3QpbGVuOworCXJldHVybiBzaXplOwogfQogCiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMywgNCkpKQogZXh0ZXJuIGludCB4c25wcmludGYoY2hhciAqZHN0LCBzaXplX3QgbWF4LCBjb25zdCBjaGFyICpmbXQsIC4uLik7CiAKKyNpZm5kZWYgSE9TVF9OQU1FX01BWAorI2RlZmluZSBIT1NUX05BTUVfTUFYIDI1NgorI2VuZGlmCisKK2V4dGVybiBpbnQgeGdldGhvc3RuYW1lKGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbik7CisKIC8qIGluIGN0eXBlLmMsIGZvciBrd3NldCB1c2VycyAqLwogZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgdG9sb3dlcl90cmFuc190YmxbMjU2XTsKIApAQCAtMTA1OCw2ICsxMDg4LDE1IEBACiAjZGVmaW5lIEhBVkVfVkFSSUFESUNfTUFDUk9TIDEKICNlbmRpZgogCisjaWZkZWYgSEFWRV9WQVJJQURJQ19NQUNST1MKK19fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpIE5PUkVUVVJOCit2b2lkIEJVR19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm10LCAuLi4pOworI2RlZmluZSBCVUcoLi4uKSBCVUdfZmwoX19GSUxFX18sIF9fTElORV9fLCBfX1ZBX0FSR1NfXykKKyNlbHNlCitfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKSBOT1JFVFVSTgordm9pZCBCVUcoY29uc3QgY2hhciAqZm10LCAuLi4pOworI2VuZGlmCisKIC8qCiAgKiBQcmVzZXJ2ZXMgZXJybm8sIHByaW50cyBhIG1lc3NhZ2UsIGJ1dCBnaXZlcyBubyB3YXJuaW5nIGZvciBFTk9FTlQuCiAgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgd2hpY2ggaW5jbHVkZXMgdHJ5aW5nIHRvIHVubGluayBhbiBvYmplY3QgdGhhdCBkb2VzCkBAIC0xMDkxLDggKzExMzAsOCBAQAogaW50IGFjY2Vzc19vcl93YXJuKGNvbnN0IGNoYXIgKnBhdGgsIGludCBtb2RlLCB1bnNpZ25lZCBmbGFnKTsKIGludCBhY2Nlc3Nfb3JfZGllKGNvbnN0IGNoYXIgKnBhdGgsIGludCBtb2RlLCB1bnNpZ25lZCBmbGFnKTsKIAotLyogV2FybiBvbiBhbiBpbmFjY2Vzc2libGUgZmlsZSB0aGF0IG91Z2h0IHRvIGJlIGFjY2Vzc2libGUgKi8KLXZvaWQgd2Fybl9vbl9pbmFjY2Vzc2libGUoY29uc3QgY2hhciAqcGF0aCk7CisvKiBXYXJuIG9uIGFuIGluYWNjZXNzaWJsZSBmaWxlIGlmIGVycm5vIGluZGljYXRlcyB0aGlzIGlzIGFuIGVycm9yICovCitpbnQgd2Fybl9vbl9mb3Blbl9lcnJvcnMoY29uc3QgY2hhciAqcGF0aCk7CiAKICNpZmRlZiBHTVRJTUVfVU5SRUxJQUJMRV9FUlJPUlMKIHN0cnVjdCB0bSAqZ2l0X2dtdGltZShjb25zdCB0aW1lX3QgKik7CkBAIC0xMTE1LDYgKzExNTQsNDEgQEAKICNkZWZpbmUgZ2V0Y191bmxvY2tlZChmaCkgZ2V0YyhmaCkKICNlbmRpZgogCisvKgorICogT3VyIGNvZGUgb2Z0ZW4gb3BlbnMgYSBwYXRoIHRvIGFuIG9wdGlvbmFsIGZpbGUsIHRvIHdvcmsgb24gaXRzCisgKiBjb250ZW50cyB3aGVuIHdlIGNhbiBzdWNjZXNzZnVsbHkgb3BlbiBpdC4gIFdlIGNhbiBpZ25vcmUgYSBmYWlsdXJlCisgKiB0byBvcGVuIGlmIHN1Y2ggYW4gb3B0aW9uYWwgZmlsZSBkb2VzIG5vdCBleGlzdCwgYnV0IHdlIGRvIHdhbnQgdG8KKyAqIHJlcG9ydCBhIGZhaWx1cmUgaW4gb3BlbmluZyBmb3Igb3RoZXIgcmVhc29ucyAoZS5nLiB3ZSBnb3QgYW4gSS9PCisgKiBlcnJvciwgb3IgdGhlIGZpbGUgaXMgdGhlcmUsIGJ1dCB3ZSBsYWNrIHRoZSBwZXJtaXNzaW9uIHRvIG9wZW4pLgorICoKKyAqIENhbGwgdGhpcyBmdW5jdGlvbiBhZnRlciBzZWVpbmcgYW4gZXJyb3IgZnJvbSBvcGVuKCkgb3IgZm9wZW4oKSB0bworICogc2VlIGlmIHRoZSBlcnJubyBpbmRpY2F0ZXMgYSBtaXNzaW5nIGZpbGUgdGhhdCB3ZSBjYW4gc2FmZWx5IGlnbm9yZS4KKyAqLworc3RhdGljIGlubGluZSBpbnQgaXNfbWlzc2luZ19maWxlX2Vycm9yKGludCBlcnJub18pCit7CisJcmV0dXJuIChlcnJub18gPT0gRU5PRU5UIHx8IGVycm5vXyA9PSBFTk9URElSKTsKK30KKwogZXh0ZXJuIGludCBjbWRfbWFpbihpbnQsIGNvbnN0IGNoYXIgKiopOwogCisvKgorICogWW91IGNhbiBtYXJrIGEgc3RhY2sgdmFyaWFibGUgd2l0aCBVTkxFQUsodmFyKSB0byBhdm9pZCBpdCBiZWluZworICogcmVwb3J0ZWQgYXMgYSBsZWFrIGJ5IHRvb2xzIGxpa2UgTFNBTiBvciB2YWxncmluZC4gVGhlIGFyZ3VtZW50CisgKiBzaG91bGQgZ2VuZXJhbGx5IGJlIHRoZSB2YXJpYWJsZSBpdHNlbGYgKG5vdCBpdHMgYWRkcmVzcyBhbmQgbm90IHdoYXQKKyAqIGl0IHBvaW50cyB0bykuIEl0J3Mgc2FmZSB0byB1c2UgdGhpcyBvbiBwb2ludGVycyB3aGljaCBtYXkgYWxyZWFkeQorICogaGF2ZSBiZWVuIGZyZWVkLCBvciBvbiBwb2ludGVycyB3aGljaCBtYXkgc3RpbGwgYmUgaW4gdXNlLgorICoKKyAqIFVzZSB0aGlzIF9vbmx5XyBmb3IgYSB2YXJpYWJsZSB0aGF0IGxlYWtzIGJ5IGdvaW5nIG91dCBvZiBzY29wZSBhdAorICogcHJvZ3JhbSBleGl0IChzbyBvbmx5IGZyb20gY21kXyogZnVuY3Rpb25zIG9yIHRoZWlyIGRpcmVjdCBoZWxwZXJzKS4KKyAqIE5vcm1hbCBmdW5jdGlvbnMsIGVzcGVjaWFsbHkgdGhvc2Ugd2hpY2ggbWF5IGJlIGNhbGxlZCBtdWx0aXBsZQorICogdGltZXMsIHNob3VsZCBhY3R1YWxseSBmcmVlIHRoZWlyIG1lbW9yeS4gVGhpcyBpcyBvbmx5IG1lYW50IGFzCisgKiBhbiBhbm5vdGF0aW9uLCBhbmQgZG9lcyBub3RoaW5nIGluIG5vbi1sZWFrLWNoZWNraW5nIGJ1aWxkcy4KKyAqLworI2lmZGVmIFNVUFBSRVNTX0FOTk9UQVRFRF9MRUFLUworZXh0ZXJuIHZvaWQgdW5sZWFrX21lbW9yeShjb25zdCB2b2lkICpwdHIsIHNpemVfdCBsZW4pOworI2RlZmluZSBVTkxFQUsodmFyKSB1bmxlYWtfbWVtb3J5KCYodmFyKSwgc2l6ZW9mKHZhcikpCisjZWxzZQorI2RlZmluZSBVTkxFQUsodmFyKSBkbyB7fSB3aGlsZSAoMCkKKyNlbmRpZgorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2dpdC1maWx0ZXItYnJhbmNoLnNoIGIvZ2l0LWZpbHRlci1icmFuY2guc2gKaW5kZXggMmI4Y2RiYS4uMzM2NWEzYiAxMDA3NTUKLS0tIGEvZ2l0LWZpbHRlci1icmFuY2guc2gKKysrIGIvZ2l0LWZpbHRlci1icmFuY2guc2gKQEAgLTgxLDEyICs4MSwxMyBAQAogCWZpbmlzaF9pZGVudCBDT01NSVRURVIKIH0KIAotVVNBR0U9IlstLWVudi1maWx0ZXIgPGNvbW1hbmQ+XSBbLS10cmVlLWZpbHRlciA8Y29tbWFuZD5dCi0JWy0taW5kZXgtZmlsdGVyIDxjb21tYW5kPl0gWy0tcGFyZW50LWZpbHRlciA8Y29tbWFuZD5dCi0JWy0tbXNnLWZpbHRlciA8Y29tbWFuZD5dIFstLWNvbW1pdC1maWx0ZXIgPGNvbW1hbmQ+XQotCVstLXRhZy1uYW1lLWZpbHRlciA8Y29tbWFuZD5dIFstLXN1YmRpcmVjdG9yeS1maWx0ZXIgPGRpcmVjdG9yeT5dCi0JWy0tb3JpZ2luYWwgPG5hbWVzcGFjZT5dIFstZCA8ZGlyZWN0b3J5Pl0gWy1mIHwgLS1mb3JjZV0KLQlbPHJldi1saXN0IG9wdGlvbnM+Li4uXSIKK1VTQUdFPSJbLS1zZXR1cCA8Y29tbWFuZD5dIFstLWVudi1maWx0ZXIgPGNvbW1hbmQ+XQorCVstLXRyZWUtZmlsdGVyIDxjb21tYW5kPl0gWy0taW5kZXgtZmlsdGVyIDxjb21tYW5kPl0KKwlbLS1wYXJlbnQtZmlsdGVyIDxjb21tYW5kPl0gWy0tbXNnLWZpbHRlciA8Y29tbWFuZD5dCisJWy0tY29tbWl0LWZpbHRlciA8Y29tbWFuZD5dIFstLXRhZy1uYW1lLWZpbHRlciA8Y29tbWFuZD5dCisJWy0tc3ViZGlyZWN0b3J5LWZpbHRlciA8ZGlyZWN0b3J5Pl0gWy0tb3JpZ2luYWwgPG5hbWVzcGFjZT5dCisJWy1kIDxkaXJlY3Rvcnk+XSBbLWYgfCAtLWZvcmNlXSBbLS1zdGF0ZS1icmFuY2ggPGJyYW5jaD5dCisJWy0tXSBbPHJldi1saXN0IG9wdGlvbnM+Li4uXSIKIAogT1BUSU9OU19TUEVDPQogLiBnaXQtc2gtc2V0dXAKQEAgLTk2LDYgKzk3LDcgQEAKIGZpCiAKIHRlbXBkaXI9LmdpdC1yZXdyaXRlCitmaWx0ZXJfc2V0dXA9CiBmaWx0ZXJfZW52PQogZmlsdGVyX3RyZWU9CiBmaWx0ZXJfaW5kZXg9CkBAIC0xMDQsNiArMTA2LDcgQEAKIGZpbHRlcl9jb21taXQ9CiBmaWx0ZXJfdGFnX25hbWU9CiBmaWx0ZXJfc3ViZGlyPQorc3RhdGVfYnJhbmNoPQogb3JpZ19uYW1lc3BhY2U9cmVmcy9vcmlnaW5hbC8KIGZvcmNlPQogcHJ1bmVfZW1wdHk9CkBAIC0xNDgsNiArMTUxLDkgQEAKIAktZCkKIAkJdGVtcGRpcj0iJE9QVEFSRyIKIAkJOzsKKwktLXNldHVwKQorCQlmaWx0ZXJfc2V0dXA9IiRPUFRBUkciCisJCTs7CiAJLS1lbnYtZmlsdGVyKQogCQlmaWx0ZXJfZW52PSIkT1BUQVJHIgogCQk7OwpAQCAtMTc2LDYgKzE4Miw5IEBACiAJLS1vcmlnaW5hbCkKIAkJb3JpZ19uYW1lc3BhY2U9JChleHByICIkT1BUQVJHLyIgOiAnXCguKlteL11cKS8qJCcpLwogCQk7OworCS0tc3RhdGUtYnJhbmNoKQorCQlzdGF0ZV9icmFuY2g9IiRPUFRBUkciCisJCTs7CiAJKikKIAkJdXNhZ2UKIAkJOzsKQEAgLTIxNCw2ICsyMjMsMTMgQEAKIE9SSUdfR0lUX0RJUj0iJEdJVF9ESVIiCiBPUklHX0dJVF9XT1JLX1RSRUU9IiRHSVRfV09SS19UUkVFIgogT1JJR19HSVRfSU5ERVhfRklMRT0iJEdJVF9JTkRFWF9GSUxFIgorT1JJR19HSVRfQVVUSE9SX05BTUU9IiRHSVRfQVVUSE9SX05BTUUiCitPUklHX0dJVF9BVVRIT1JfRU1BSUw9IiRHSVRfQVVUSE9SX0VNQUlMIgorT1JJR19HSVRfQVVUSE9SX0RBVEU9IiRHSVRfQVVUSE9SX0RBVEUiCitPUklHX0dJVF9DT01NSVRURVJfTkFNRT0iJEdJVF9DT01NSVRURVJfTkFNRSIKK09SSUdfR0lUX0NPTU1JVFRFUl9FTUFJTD0iJEdJVF9DT01NSVRURVJfRU1BSUwiCitPUklHX0dJVF9DT01NSVRURVJfREFURT0iJEdJVF9DT01NSVRURVJfREFURSIKKwogR0lUX1dPUktfVFJFRT0uCiBleHBvcnQgR0lUX0RJUiBHSVRfV09SS19UUkVFCiAKQEAgLTIzOSw3ICsyNTUsNyBAQAogc2VkIC1lICcvXl4vZCcgIiR0ZW1wZGlyIi9yYXctaGVhZHMgPiIkdGVtcGRpciIvaGVhZHMKIAogdGVzdCAtcyAiJHRlbXBkaXIiL2hlYWRzIHx8Ci0JZGllICJXaGljaCByZWYgZG8geW91IHdhbnQgdG8gcmV3cml0ZT8iCisJZGllICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVmIHRvIHJld3JpdGUuIgogCiBHSVRfSU5ERVhfRklMRT0iJChwd2QpLy4uL2luZGV4IgogZXhwb3J0IEdJVF9JTkRFWF9GSUxFCkBAIC0yNDcsNiArMjYzLDI2IEBACiAjIG1hcCBvbGQtPm5ldyBjb21taXQgaWRzIGZvciByZXdyaXRpbmcgcGFyZW50cwogbWtkaXIgLi4vbWFwIHx8IGRpZSAiQ291bGQgbm90IGNyZWF0ZSBtYXAvIGRpcmVjdG9yeSIKIAoraWYgdGVzdCAtbiAiJHN0YXRlX2JyYW5jaCIKK3RoZW4KKwlzdGF0ZV9jb21taXQ9JChnaXQgcmV2LXBhcnNlIC0tbm8tZmxhZ3MgLS1yZXZzLW9ubHkgIiRzdGF0ZV9icmFuY2giKQorCWlmIHRlc3QgLW4gIiRzdGF0ZV9jb21taXQiCisJdGhlbgorCQllY2hvICJQb3B1bGF0aW5nIG1hcCBmcm9tICRzdGF0ZV9icmFuY2ggKCRzdGF0ZV9jb21taXQpIiAxPiYyCisJCXBlcmwgLWUnb3BlbihNQVAsICItfCIsICJnaXQgc2hvdyAkQVJHVlswXTpmaWx0ZXIubWFwIikgb3IgZGllOworCQkJd2hpbGUgKDxNQVA+KSB7CisJCQkJbS8oLiopOiguKikvIG9yIGRpZTsKKwkJCQlvcGVuIEYsICI+Li4vbWFwLyQxIiBvciBkaWU7CisJCQkJcHJpbnQgRiAiJDIiIG9yIGRpZTsKKwkJCQljbG9zZShGKSBvciBkaWU7CisJCQl9CisJCQljbG9zZShNQVApIG9yIGRpZTsnICIkc3RhdGVfY29tbWl0IiBcCisJCQkJfHwgZGllICJVbmFibGUgdG8gbG9hZCBzdGF0ZSBmcm9tICRzdGF0ZV9icmFuY2g6ZmlsdGVyLm1hcCIKKwllbHNlCisJCWVjaG8gIkJyYW5jaCAkc3RhdGVfYnJhbmNoIGRvZXMgbm90IGV4aXN0LiBXaWxsIGNyZWF0ZSIgMT4mMgorCWZpCitmaQorCiAjIHdlIG5lZWQgIi0tIiBvbmx5IGlmIHRoZXJlIGFyZSBubyBwYXRoIGFyZ3VtZW50cyBpbiAkQAogbm9ucmV2cz0kKGdpdCByZXYtcGFyc2UgLS1uby1yZXZzICIkQCIpIHx8IGV4aXQKIGlmIHRlc3QgLXogIiRub25yZXZzIgpAQCAtMzE3LDYgKzM1Myw5IEBACiAJbmVlZF9pbmRleD0KIGZpCiAKK2V2YWwgIiRmaWx0ZXJfc2V0dXAiIDwgL2Rldi9udWxsIHx8CisJZGllICJmaWx0ZXIgc2V0dXAgZmFpbGVkOiAkZmlsdGVyX3NldHVwIgorCiB3aGlsZSByZWFkIGNvbW1pdCBwYXJlbnRzOyBkbwogCWdpdF9maWx0ZXJfYnJhbmNoX19jb21taXRfY291bnQ9JCgoJGdpdF9maWx0ZXJfYnJhbmNoX19jb21taXRfY291bnQrMSkpCiAKQEAgLTUyMiw3ICs1NjEsNyBAQAogCQkJCQl9JyBcCiAJCQkJICAgIC1lICcvXi0tLS0tQkVHSU4gUEdQIFNJR05BVFVSRS0tLS0tL3EnIFwKIAkJCQkgICAgLWUgJ3AnICkgfAotCQkJCWdpdCBta3RhZykgfHwKKwkJCQlnaXQgaGFzaC1vYmplY3QgLXQgdGFnIC13IC0tc3RkaW4pIHx8CiAJCQkJZGllICJDb3VsZCBub3QgY3JlYXRlIG5ldyB0YWcgb2JqZWN0IGZvciAkcmVmIgogCQkJaWYgZ2l0IGNhdC1maWxlIHRhZyAiJHJlZiIgfCBcCiAJCQkgICBzYW5lX2dyZXAgJ14tLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLScgPi9kZXYvbnVsbCAyPiYxCkBAIC01MzYsMTIgKzU3NSw5IEBACiAJZG9uZQogZmkKIAotY2QgIiRvcmlnX2RpciIKLXJtIC1yZiAiJHRlbXBkaXIiCi0KLXRyYXAgLSAwCi0KIHVuc2V0IEdJVF9ESVIgR0lUX1dPUktfVFJFRSBHSVRfSU5ERVhfRklMRQordW5zZXQgR0lUX0FVVEhPUl9OQU1FIEdJVF9BVVRIT1JfRU1BSUwgR0lUX0FVVEhPUl9EQVRFCit1bnNldCBHSVRfQ09NTUlUVEVSX05BTUUgR0lUX0NPTU1JVFRFUl9FTUFJTCBHSVRfQ09NTUlUVEVSX0RBVEUKIHRlc3QgLXogIiRPUklHX0dJVF9ESVIiIHx8IHsKIAlHSVRfRElSPSIkT1JJR19HSVRfRElSIiAmJiBleHBvcnQgR0lUX0RJUgogfQpAQCAtNTUzLDYgKzU4OSw1OCBAQAogCUdJVF9JTkRFWF9GSUxFPSIkT1JJR19HSVRfSU5ERVhfRklMRSIgJiYKIAlleHBvcnQgR0lUX0lOREVYX0ZJTEUKIH0KK3Rlc3QgLXogIiRPUklHX0dJVF9BVVRIT1JfTkFNRSIgfHwgeworCUdJVF9BVVRIT1JfTkFNRT0iJE9SSUdfR0lUX0FVVEhPUl9OQU1FIiAmJgorCWV4cG9ydCBHSVRfQVVUSE9SX05BTUUKK30KK3Rlc3QgLXogIiRPUklHX0dJVF9BVVRIT1JfRU1BSUwiIHx8IHsKKwlHSVRfQVVUSE9SX0VNQUlMPSIkT1JJR19HSVRfQVVUSE9SX0VNQUlMIiAmJgorCWV4cG9ydCBHSVRfQVVUSE9SX0VNQUlMCit9Cit0ZXN0IC16ICIkT1JJR19HSVRfQVVUSE9SX0RBVEUiIHx8IHsKKwlHSVRfQVVUSE9SX0RBVEU9IiRPUklHX0dJVF9BVVRIT1JfREFURSIgJiYKKwlleHBvcnQgR0lUX0FVVEhPUl9EQVRFCit9Cit0ZXN0IC16ICIkT1JJR19HSVRfQ09NTUlUVEVSX05BTUUiIHx8IHsKKwlHSVRfQ09NTUlUVEVSX05BTUU9IiRPUklHX0dJVF9DT01NSVRURVJfTkFNRSIgJiYKKwlleHBvcnQgR0lUX0NPTU1JVFRFUl9OQU1FCit9Cit0ZXN0IC16ICIkT1JJR19HSVRfQ09NTUlUVEVSX0VNQUlMIiB8fCB7CisJR0lUX0NPTU1JVFRFUl9FTUFJTD0iJE9SSUdfR0lUX0NPTU1JVFRFUl9FTUFJTCIgJiYKKwlleHBvcnQgR0lUX0NPTU1JVFRFUl9FTUFJTAorfQordGVzdCAteiAiJE9SSUdfR0lUX0NPTU1JVFRFUl9EQVRFIiB8fCB7CisJR0lUX0NPTU1JVFRFUl9EQVRFPSIkT1JJR19HSVRfQ09NTUlUVEVSX0RBVEUiICYmCisJZXhwb3J0IEdJVF9DT01NSVRURVJfREFURQorfQorCitpZiB0ZXN0IC1uICIkc3RhdGVfYnJhbmNoIgordGhlbgorCWVjaG8gIlNhdmluZyByZXdyaXRlIHN0YXRlIHRvICRzdGF0ZV9icmFuY2giIDE+JjIKKwlzdGF0ZV9ibG9iPSQoCisJCXBlcmwgLWUnb3BlbmRpciBELCAiLi4vbWFwIiBvciBkaWU7CisJCQlvcGVuIEgsICJ8LSIsICJnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbiIgb3IgZGllOworCQkJZm9yZWFjaCAoc29ydCByZWFkZGlyKEQpKSB7CisJCQkJbmV4dCBpZiBtL15cLlwuPyQvOworCQkJCW9wZW4gRiwgIjwuLi9tYXAvJF8iIG9yIGRpZTsKKwkJCQljaG9tcCgkZiA9IDxGPik7CisJCQkJcHJpbnQgSCAiJF86JGZcbiIgb3IgZGllOworCQkJfQorCQkJY2xvc2UoSCkgb3IgZGllOycgfHwgZGllICJVbmFibGUgdG8gc2F2ZSBzdGF0ZSIpCisJc3RhdGVfdHJlZT0kKC9iaW4vZWNobyAtZSAiMTAwNjQ0IGJsb2IgJHN0YXRlX2Jsb2JcdGZpbHRlci5tYXAiIHwgZ2l0IG1rdHJlZSkKKwlpZiB0ZXN0IC1uICIkc3RhdGVfY29tbWl0IgorCXRoZW4KKwkJc3RhdGVfY29tbWl0PSQoL2Jpbi9lY2hvICJTeW5jIiB8IGdpdCBjb21taXQtdHJlZSAiJHN0YXRlX3RyZWUiIC1wICIkc3RhdGVfY29tbWl0IikKKwllbHNlCisJCXN0YXRlX2NvbW1pdD0kKC9iaW4vZWNobyAiU3luYyIgfCBnaXQgY29tbWl0LXRyZWUgIiRzdGF0ZV90cmVlIiApCisJZmkKKwlnaXQgdXBkYXRlLXJlZiAiJHN0YXRlX2JyYW5jaCIgIiRzdGF0ZV9jb21taXQiCitmaQorCitjZCAiJG9yaWdfZGlyIgorcm0gLXJmICIkdGVtcGRpciIKKwordHJhcCAtIDAKIAogaWYgWyAiJChpc19iYXJlX3JlcG9zaXRvcnkpIiA9IGZhbHNlIF07IHRoZW4KIAlnaXQgcmVhZC10cmVlIC11IC1tIEhFQUQgfHwgZXhpdApkaWZmIC0tZ2l0IGEvZ2l0LWd1aS8uZ2l0YXR0cmlidXRlcyBiL2dpdC1ndWkvLmdpdGF0dHJpYnV0ZXMKaW5kZXggMzNkMDdjMC4uNTljZDQxZCAxMDA2NDQKLS0tIGEvZ2l0LWd1aS8uZ2l0YXR0cmlidXRlcworKysgYi9naXQtZ3VpLy5naXRhdHRyaWJ1dGVzCkBAIC0yLDMgKzIsNCBAQAogKiAgICAgICAgICAgZW5jb2Rpbmc9VVMtQVNDSUkKIGdpdC1ndWkuc2ggIGVuY29kaW5nPVVURi04CiAvcG8vKi5wbyAgICBlbmNvZGluZz1VVEYtOAorL0dJVC1WRVJTSU9OLUdFTiBlb2w9bGYKZGlmZiAtLWdpdCBhL2dpdC1ndWkvTWFrZWZpbGUgYi9naXQtZ3VpL01ha2VmaWxlCmluZGV4IGZlMzBiZTMuLjkxOGE4ZGUgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvTWFrZWZpbGUKKysrIGIvZ2l0LWd1aS9NYWtlZmlsZQpAQCAtMTYxLDcgKzE2MSw5IEBACiAJZW5kaWYKIGVuZGlmCiBpZm5lcSAoLCQoZmluZHN0cmluZyBNSU5HVywkKHVuYW1lX1MpKSkKK2lmZXEgKCQoc2hlbGwgZXhwciAiJCh1bmFtZV9SKSIgOiAnMVwuJyksMikKIAlOT19NU0dGTVQ9MQorZW5kaWYKIAlHSVRHVUlfV0lORE9XU19XUkFQUEVSIDo9IFllc1BsZWFzZQogCUdJVEdVSV9SRUxBVElWRSA6PSAxCiBlbmRpZgpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9saWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsIGIvZ2l0LWd1aS9saWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsCmluZGV4IDc1ZDFkYTguLjgwZjVhNTkgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbAorKysgYi9naXQtZ3VpL2xpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2wKQEAgLTE0Miw2ICsxNDIsMTAgQEAKIAkJCQktbGFiZWwgW21jICJSZWNlbnQgUmVwb3NpdG9yaWVzIl0KIAkJfQogCisJaWYge1tzZXQgbGVucmVjZW50IFtsbGVuZ3RoICRzb3J0ZWRfcmVjZW50XV0gPCAkbWF4cmVjZW50fSB7CisJCXNldCBsZW5yZWNlbnQgJG1heHJlY2VudAorCX0KKwogCQkke05TfTo6bGFiZWwgJHdfYm9keS5zcGFjZQogCQkke05TfTo6bGFiZWwgJHdfYm9keS5yZWNlbnRsYWJlbCBcCiAJCQktYW5jaG9yIHcgXApAQCAtMTUzLDcgKzE1Nyw3IEBACiAJCQktYmFja2dyb3VuZCBbZ2V0X2JnX2NvbG9yICR3X2JvZHkucmVjZW50bGFiZWxdIFwKIAkJCS13cmFwIG5vbmUgXAogCQkJLXdpZHRoIDUwIFwKLQkJCS1oZWlnaHQgJG1heHJlY2VudAorCQkJLWhlaWdodCAkbGVucmVjZW50CiAJCSR3X3JlY2VudGxpc3QgdGFnIGNvbmYgbGluayBcCiAJCQktZm9yZWdyb3VuZCBibHVlIFwKIAkJCS11bmRlcmxpbmUgMQpAQCAtMjM1LDE5ICsyMzksMTkgQEAKIAogcHJvYyBfZ2V0X3JlY2VudHJlcG9zIHt9IHsKIAlzZXQgcmVjZW50IFtsaXN0XQotCWZvcmVhY2ggcCBbZ2V0X2NvbmZpZyBndWkucmVjZW50cmVwb10geworCWZvcmVhY2ggcCBbbHNvcnQgLXVuaXF1ZSBbZ2V0X2NvbmZpZyBndWkucmVjZW50cmVwb11dIHsKIAkJaWYge1tfaXNfZ2l0IFtmaWxlIGpvaW4gJHAgLmdpdF1dfSB7CiAJCQlsYXBwZW5kIHJlY2VudCAkcAogCQl9IGVsc2UgewogCQkJX3Vuc2V0X3JlY2VudHJlcG8gJHAKIAkJfQogCX0KLQlyZXR1cm4gW2xzb3J0ICRyZWNlbnRdCisJcmV0dXJuICRyZWNlbnQKIH0KIAogcHJvYyBfdW5zZXRfcmVjZW50cmVwbyB7cH0gewogCXJlZ3N1YiAtYWxsIC0tIHsoWygpXFtcXXt9XC5eJCsqP1xcXSl9ICRwIHtcXFwxfSBwCi0JZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLXVuc2V0IGd1aS5yZWNlbnRyZXBvICJeJHBcJCIKKwljYXRjaCB7Z2l0IGNvbmZpZyAtLWdsb2JhbCAtLXVuc2V0LWFsbCBndWkucmVjZW50cmVwbyAiXiRwXCQifQogCWxvYWRfY29uZmlnIDEKIH0KIApAQCAtMjYyLDEyICsyNjYsMTEgQEAKIAlzZXQgaSBbbHNlYXJjaCAkcmVjZW50ICRwYXRoXQogCWlmIHskaSA+PSAwfSB7CiAJCV91bnNldF9yZWNlbnRyZXBvICRwYXRoCi0JCXNldCByZWNlbnQgW2xyZXBsYWNlICRyZWNlbnQgJGkgJGldCiAJfQogCi0JbGFwcGVuZCByZWNlbnQgJHBhdGgKIAlnaXQgY29uZmlnIC0tZ2xvYmFsIC0tYWRkIGd1aS5yZWNlbnRyZXBvICRwYXRoCiAJbG9hZF9jb25maWcgMQorCXNldCByZWNlbnQgW2dldF9jb25maWcgZ3VpLnJlY2VudHJlcG9dCiAKIAlpZiB7W3NldCBtYXhyZWNlbnQgW2dldF9jb25maWcgZ3VpLm1heHJlY2VudHJlcG9dXSBlcSB7fX0gewogCQlzZXQgbWF4cmVjZW50IDEwCkBAIC0yNzUsNyArMjc4LDcgQEAKIAogCXdoaWxlIHtbbGxlbmd0aCAkcmVjZW50XSA+ICRtYXhyZWNlbnR9IHsKIAkJX3Vuc2V0X3JlY2VudHJlcG8gW2xpbmRleCAkcmVjZW50IDBdCi0JCXNldCByZWNlbnQgW2xyYW5nZSAkcmVjZW50IDEgZW5kXQorCQlzZXQgcmVjZW50IFtnZXRfY29uZmlnIGd1aS5yZWNlbnRyZXBvXQogCX0KIH0KIApkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9wby9SRUFETUUgYi9naXQtZ3VpL3BvL1JFQURNRQppbmRleCAwZjU4MzdkLi4yNTE0YmMyIDEwMDY0NAotLS0gYS9naXQtZ3VpL3BvL1JFQURNRQorKysgYi9naXQtZ3VpL3BvL1JFQURNRQpAQCAtMTY1LDcgKzE2NSw3IEBACiB0aGUgdHJhbnNsYXRpb24gb2YgZXhpc3RpbmcgbWVzc2FnZXMsIG9yIGJlY2F1c2UgdGhlIGdpdC1ndWkgc29mdHdhcmUKIGl0c2VsZiB3YXMgdXBkYXRlZCBhbmQgdGhlcmUgYXJlIG5ldyBtZXNzYWdlcyB0aGF0IG5lZWQgdHJhbnNsYXRpb24uCiAKLUluIGFueSBjYXNlLCBtYWtlIHN1cmUgeW91IGFyZSB1cC10by1kYXRlIGJlZm9yZSBzdGFydGluZyB5b3VyIHdvcms6CitJbiBhbnkgY2FzZSwgbWFrZSBzdXJlIHlvdSBhcmUgdXAgdG8gZGF0ZSBiZWZvcmUgc3RhcnRpbmcgeW91ciB3b3JrOgogCiAJJCBnaXQgY2hlY2tvdXQgbWFzdGVyCiAJJCBnaXQgcHVsbApkaWZmIC0tZ2l0IGEvZ2l0LW1lcmdlLW9jdG9wdXMuc2ggYi9naXQtbWVyZ2Utb2N0b3B1cy5zaAppbmRleCBiY2YwZDkyLi43ZDE5ZDM3IDEwMDc1NQotLS0gYS9naXQtbWVyZ2Utb2N0b3B1cy5zaAorKysgYi9naXQtbWVyZ2Utb2N0b3B1cy5zaApAQCAtNzQsNyArNzQsNyBAQAogCiAJY2FzZSAiJExGJGNvbW1vbiRMRiIgaW4KIAkqIiRMRiRTSEExJExGIiopCi0JCWV2YWxfZ2V0dGV4dGxuICJBbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCBcJHByZXR0eV9uYW1lIgorCQlldmFsX2dldHRleHRsbiAiQWxyZWFkeSB1cCB0byBkYXRlIHdpdGggXCRwcmV0dHlfbmFtZSIKIAkJY29udGludWUKIAkJOzsKIAllc2FjCkBAIC0xMDAsNyArMTAwLDcgQEAKIAlpZiB0ZXN0ICQ/IC1uZSAwCiAJdGhlbgogCQlnZXR0ZXh0bG4gIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgotCQlnaXQtbWVyZ2UtaW5kZXggLW8gZ2l0LW1lcmdlLW9uZS1maWxlIC1hIHx8CisJCWdpdCBtZXJnZS1pbmRleCAtbyBnaXQtbWVyZ2Utb25lLWZpbGUgLWEgfHwKIAkJT0NUT1BVU19GQUlMVVJFPTEKIAkJbmV4dD0kKGdpdCB3cml0ZS10cmVlIDI+L2Rldi9udWxsKQogCWZpCmRpZmYgLS1naXQgYS9naXQtbWVyZ2Utb25lLWZpbGUuc2ggYi9naXQtbWVyZ2Utb25lLWZpbGUuc2gKaW5kZXggNDI0YjAzNC4uOTg3OWM1OSAxMDA3NTUKLS0tIGEvZ2l0LW1lcmdlLW9uZS1maWxlLnNoCisrKyBiL2dpdC1tZXJnZS1vbmUtZmlsZS5zaApAQCAtMTE1LDE2ICsxMTUsMTYgQEAKIAkJOzsKIAllc2FjCiAKLQlzcmMxPSQoZ2l0LXVucGFjay1maWxlICQyKQotCXNyYzI9JChnaXQtdW5wYWNrLWZpbGUgJDMpCisJc3JjMT0kKGdpdCB1bnBhY2stZmlsZSAkMikKKwlzcmMyPSQoZ2l0IHVucGFjay1maWxlICQzKQogCWNhc2UgIiQxIiBpbgogCScnKQogCQllY2hvICJBZGRlZCAkNCBpbiBib3RoLCBidXQgZGlmZmVyZW50bHkuIgotCQlvcmlnPSQoZ2l0LXVucGFjay1maWxlIGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEpCisJCW9yaWc9JChnaXQgdW5wYWNrLWZpbGUgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSkKIAkJOzsKIAkqKQogCQllY2hvICJBdXRvLW1lcmdpbmcgJDQiCi0JCW9yaWc9JChnaXQtdW5wYWNrLWZpbGUgJDEpCisJCW9yaWc9JChnaXQgdW5wYWNrLWZpbGUgJDEpCiAJCTs7CiAJZXNhYwogCmRpZmYgLS1naXQgYS9naXQtbWVyZ2UtcmVzb2x2ZS5zaCBiL2dpdC1tZXJnZS1yZXNvbHZlLnNoCmluZGV4IGM5ZGE3NDcuLjM0M2ZlN2IgMTAwNzU1Ci0tLSBhL2dpdC1tZXJnZS1yZXNvbHZlLnNoCisrKyBiL2dpdC1tZXJnZS1yZXNvbHZlLnNoCkBAIC00NSw3ICs0NSw3IEBACiAJZXhpdCAwCiBlbHNlCiAJZWNobyAiU2ltcGxlIG1lcmdlIGZhaWxlZCwgdHJ5aW5nIEF1dG9tYXRpYyBtZXJnZS4iCi0JaWYgZ2l0LW1lcmdlLWluZGV4IC1vIGdpdC1tZXJnZS1vbmUtZmlsZSAtYQorCWlmIGdpdCBtZXJnZS1pbmRleCAtbyBnaXQtbWVyZ2Utb25lLWZpbGUgLWEKIAl0aGVuCiAJCWV4aXQgMAogCWVsc2UKZGlmZiAtLWdpdCBhL2dpdC1wNC5weSBiL2dpdC1wNC5weQppbmRleCBlYWIzMTlkLi43Njg1OWI0IDEwMDc1NQotLS0gYS9naXQtcDQucHkKKysrIGIvZ2l0LXA0LnB5CkBAIC0xNjAsMTcgKzE2MCw0MiBAQAogICAgIHJlYWxfY21kID0gcDRfYnVpbGRfY21kKGMpCiAgICAgcmV0dXJuIHdyaXRlX3BpcGUocmVhbF9jbWQsIHN0ZGluKQogCi1kZWYgcmVhZF9waXBlKGMsIGlnbm9yZV9lcnJvcj1GYWxzZSk6CitkZWYgcmVhZF9waXBlX2Z1bGwoYyk6CisgICAgIiIiIFJlYWQgb3V0cHV0IGZyb20gIGNvbW1hbmQuIFJldHVybnMgYSB0dXBsZQorICAgICAgICBvZiB0aGUgcmV0dXJuIHN0YXR1cywgc3Rkb3V0IHRleHQgYW5kIHN0ZGVycgorICAgICAgICB0ZXh0LgorICAgICIiIgogICAgIGlmIHZlcmJvc2U6CiAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ1JlYWRpbmcgcGlwZTogJXNcbicgJSBzdHIoYykpCiAKICAgICBleHBhbmQgPSBpc2luc3RhbmNlKGMsYmFzZXN0cmluZykKICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihjLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLCBzaGVsbD1leHBhbmQpCiAgICAgKG91dCwgZXJyKSA9IHAuY29tbXVuaWNhdGUoKQotICAgIGlmIHAucmV0dXJuY29kZSAhPSAwIGFuZCBub3QgaWdub3JlX2Vycm9yOgotICAgICAgICBkaWUoJ0NvbW1hbmQgZmFpbGVkOiAlc1xuRXJyb3I6ICVzJyAlIChzdHIoYyksIGVycikpCisgICAgcmV0dXJuIChwLnJldHVybmNvZGUsIG91dCwgZXJyKQorCitkZWYgcmVhZF9waXBlKGMsIGlnbm9yZV9lcnJvcj1GYWxzZSk6CisgICAgIiIiIFJlYWQgb3V0cHV0IGZyb20gIGNvbW1hbmQuIFJldHVybnMgdGhlIG91dHB1dCB0ZXh0IG9uCisgICAgICAgIHN1Y2Nlc3MuIE9uIGZhaWx1cmUsIHRlcm1pbmF0ZXMgZXhlY3V0aW9uLCB1bmxlc3MKKyAgICAgICAgaWdub3JlX2Vycm9yIGlzIFRydWUsIHdoZW4gaXQgcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuCisgICAgIiIiCisgICAgKHJldGNvZGUsIG91dCwgZXJyKSA9IHJlYWRfcGlwZV9mdWxsKGMpCisgICAgaWYgcmV0Y29kZSAhPSAwOgorICAgICAgICBpZiBpZ25vcmVfZXJyb3I6CisgICAgICAgICAgICBvdXQgPSAiIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZGllKCdDb21tYW5kIGZhaWxlZDogJXNcbkVycm9yOiAlcycgJSAoc3RyKGMpLCBlcnIpKQogICAgIHJldHVybiBvdXQKIAorZGVmIHJlYWRfcGlwZV90ZXh0KGMpOgorICAgICIiIiBSZWFkIG91dHB1dCBmcm9tIGEgY29tbWFuZCB3aXRoIHRyYWlsaW5nIHdoaXRlc3BhY2Ugc3RyaXBwZWQuCisgICAgICAgIE9uIGVycm9yLCByZXR1cm5zIE5vbmUuCisgICAgIiIiCisgICAgKHJldGNvZGUsIG91dCwgZXJyKSA9IHJlYWRfcGlwZV9mdWxsKGMpCisgICAgaWYgcmV0Y29kZSAhPSAwOgorICAgICAgICByZXR1cm4gTm9uZQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBvdXQucnN0cmlwKCkKKwogZGVmIHA0X3JlYWRfcGlwZShjLCBpZ25vcmVfZXJyb3I9RmFsc2UpOgogICAgIHJlYWxfY21kID0gcDRfYnVpbGRfY21kKGMpCiAgICAgcmV0dXJuIHJlYWRfcGlwZShyZWFsX2NtZCwgaWdub3JlX2Vycm9yKQpAQCAtMjg4LDcgKzMxMyw3IEBACiAgICAgcDRfc3lzdGVtKFsibW92ZSIsICItayIsIHdpbGRjYXJkX2VuY29kZShzcmMpLCB3aWxkY2FyZF9lbmNvZGUoZGVzdCldKQogCiBkZWYgcDRfbGFzdF9jaGFuZ2UoKToKLSAgICByZXN1bHRzID0gcDRDbWRMaXN0KFsiY2hhbmdlcyIsICItbSIsICIxIl0pCisgICAgcmVzdWx0cyA9IHA0Q21kTGlzdChbImNoYW5nZXMiLCAiLW0iLCAiMSJdLCBza2lwX2luZm89VHJ1ZSkKICAgICByZXR1cm4gaW50KHJlc3VsdHNbMF1bJ2NoYW5nZSddKQogCiBkZWYgcDRfZGVzY3JpYmUoY2hhbmdlKToKQEAgLTI5Niw3ICszMjEsNyBAQAogICAgICAgIHRoZSBwcmVzZW5jZSBvZiBmaWVsZCAidGltZSIuICBSZXR1cm4gYSBkaWN0IG9mIHRoZQogICAgICAgIHJlc3VsdHMuIiIiCiAKLSAgICBkcyA9IHA0Q21kTGlzdChbImRlc2NyaWJlIiwgIi1zIiwgc3RyKGNoYW5nZSldKQorICAgIGRzID0gcDRDbWRMaXN0KFsiZGVzY3JpYmUiLCAiLXMiLCBzdHIoY2hhbmdlKV0sIHNraXBfaW5mbz1UcnVlKQogICAgIGlmIGxlbihkcykgIT0gMToKICAgICAgICAgZGllKCJwNCBkZXNjcmliZSAtcyAlZCBkaWQgbm90IHJldHVybiAxIHJlc3VsdDogJXMiICUgKGNoYW5nZSwgc3RyKGRzKSkpCiAKQEAgLTQ4NCw3ICs1MDksNyBAQAogZGVmIGlzTW9kZUV4ZWNDaGFuZ2VkKHNyY19tb2RlLCBkc3RfbW9kZSk6CiAgICAgcmV0dXJuIGlzTW9kZUV4ZWMoc3JjX21vZGUpICE9IGlzTW9kZUV4ZWMoZHN0X21vZGUpCiAKLWRlZiBwNENtZExpc3QoY21kLCBzdGRpbj1Ob25lLCBzdGRpbl9tb2RlPSd3K2InLCBjYj1Ob25lKToKK2RlZiBwNENtZExpc3QoY21kLCBzdGRpbj1Ob25lLCBzdGRpbl9tb2RlPSd3K2InLCBjYj1Ob25lLCBza2lwX2luZm89RmFsc2UpOgogCiAgICAgaWYgaXNpbnN0YW5jZShjbWQsYmFzZXN0cmluZyk6CiAgICAgICAgIGNtZCA9ICItRyAiICsgY21kCkBAIC01MjAsNiArNTQ1LDkgQEAKICAgICB0cnk6CiAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICBlbnRyeSA9IG1hcnNoYWwubG9hZChwNC5zdGRvdXQpCisgICAgICAgICAgICBpZiBza2lwX2luZm86CisgICAgICAgICAgICAgICAgaWYgJ2NvZGUnIGluIGVudHJ5IGFuZCBlbnRyeVsnY29kZSddID09ICdpbmZvJzoKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGlmIGNiIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIGNiKGVudHJ5KQogICAgICAgICAgICAgZWxzZToKQEAgLTU3NywxMiArNjA1LDcgQEAKICAgICByZXR1cm4gY2xpZW50UGF0aAogCiBkZWYgY3VycmVudEdpdEJyYW5jaCgpOgotICAgIHJldGNvZGUgPSBzeXN0ZW0oWyJnaXQiLCAic3ltYm9saWMtcmVmIiwgIi1xIiwgIkhFQUQiXSwgaWdub3JlX2Vycm9yPVRydWUpCi0gICAgaWYgcmV0Y29kZSAhPSAwOgotICAgICAgICAjIG9uIGEgZGV0YWNoZWQgaGVhZAotICAgICAgICByZXR1cm4gTm9uZQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiByZWFkX3BpcGUoWyJnaXQiLCAibmFtZS1yZXYiLCAiSEVBRCJdKS5zcGxpdCgiICIpWzFdLnN0cmlwKCkKKyAgICByZXR1cm4gcmVhZF9waXBlX3RleHQoWyJnaXQiLCAic3ltYm9saWMtcmVmIiwgIi0tc2hvcnQiLCAiLXEiLCAiSEVBRCJdKQogCiBkZWYgaXNWYWxpZEdpdERpcihwYXRoKToKICAgICByZXR1cm4gZ2l0X2RpcihwYXRoKSAhPSBOb25lCkBAIC04NTksOCArODgyLDEyIEBACiAgICAgICAgICAgICBjbWQgKz0gWyIlcy4uLkAlcyIgJSAocCwgcmV2aXNpb25SYW5nZSldCiAKICAgICAgICAgIyBJbnNlcnQgY2hhbmdlcyBpbiBjaHJvbm9sb2dpY2FsIG9yZGVyCi0gICAgICAgIGZvciBsaW5lIGluIHJldmVyc2VkKHA0X3JlYWRfcGlwZV9saW5lcyhjbWQpKToKLSAgICAgICAgICAgIGNoYW5nZXMuYWRkKGludChsaW5lLnNwbGl0KCIgIilbMV0pKQorICAgICAgICBmb3IgZW50cnkgaW4gcmV2ZXJzZWQocDRDbWRMaXN0KGNtZCkpOgorICAgICAgICAgICAgaWYgZW50cnkuaGFzX2tleSgncDRFeGl0Q29kZScpOgorICAgICAgICAgICAgICAgIGRpZSgnRXJyb3IgcmV0cmlldmluZyBjaGFuZ2VzIGRlc2NyaXB0aW9ucyAoe30pJy5mb3JtYXQoZW50cnlbJ3A0RXhpdENvZGUnXSkpCisgICAgICAgICAgICBpZiBub3QgZW50cnkuaGFzX2tleSgnY2hhbmdlJyk6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGNoYW5nZXMuYWRkKGludChlbnRyeVsnY2hhbmdlJ10pKQogCiAgICAgICAgIGlmIG5vdCBibG9ja19zaXplOgogICAgICAgICAgICAgYnJlYWsKQEAgLTE1MDYsMzcgKzE1MzMsNjIgQEAKIAogICAgICAgICBbdXBzdHJlYW0sIHNldHRpbmdzXSA9IGZpbmRVcHN0cmVhbUJyYW5jaFBvaW50KCkKIAotICAgICAgICB0ZW1wbGF0ZSA9ICIiCisgICAgICAgIHRlbXBsYXRlID0gIiIiXAorIyBBIFBlcmZvcmNlIENoYW5nZSBTcGVjaWZpY2F0aW9uLgorIworIyAgQ2hhbmdlOiAgICAgIFRoZSBjaGFuZ2UgbnVtYmVyLiAnbmV3JyBvbiBhIG5ldyBjaGFuZ2VsaXN0LgorIyAgRGF0ZTogICAgICAgIFRoZSBkYXRlIHRoaXMgc3BlY2lmaWNhdGlvbiB3YXMgbGFzdCBtb2RpZmllZC4KKyMgIENsaWVudDogICAgICBUaGUgY2xpZW50IG9uIHdoaWNoIHRoZSBjaGFuZ2VsaXN0IHdhcyBjcmVhdGVkLiAgUmVhZC1vbmx5LgorIyAgVXNlcjogICAgICAgIFRoZSB1c2VyIHdobyBjcmVhdGVkIHRoZSBjaGFuZ2VsaXN0LgorIyAgU3RhdHVzOiAgICAgIEVpdGhlciAncGVuZGluZycgb3IgJ3N1Ym1pdHRlZCcuIFJlYWQtb25seS4KKyMgIFR5cGU6ICAgICAgICBFaXRoZXIgJ3B1YmxpYycgb3IgJ3Jlc3RyaWN0ZWQnLiBEZWZhdWx0IGlzICdwdWJsaWMnLgorIyAgRGVzY3JpcHRpb246IENvbW1lbnRzIGFib3V0IHRoZSBjaGFuZ2VsaXN0LiAgUmVxdWlyZWQuCisjICBKb2JzOiAgICAgICAgV2hhdCBvcGVuZWQgam9icyBhcmUgdG8gYmUgY2xvc2VkIGJ5IHRoaXMgY2hhbmdlbGlzdC4KKyMgICAgICAgICAgICAgICBZb3UgbWF5IGRlbGV0ZSBqb2JzIGZyb20gdGhpcyBsaXN0LiAgKE5ldyBjaGFuZ2VsaXN0cyBvbmx5LikKKyMgIEZpbGVzOiAgICAgICBXaGF0IG9wZW5lZCBmaWxlcyBmcm9tIHRoZSBkZWZhdWx0IGNoYW5nZWxpc3QgYXJlIHRvIGJlIGFkZGVkCisjICAgICAgICAgICAgICAgdG8gdGhpcyBjaGFuZ2VsaXN0LiAgWW91IG1heSBkZWxldGUgZmlsZXMgZnJvbSB0aGlzIGxpc3QuCisjICAgICAgICAgICAgICAgKE5ldyBjaGFuZ2VsaXN0cyBvbmx5LikKKyIiIgorICAgICAgICBmaWxlc19saXN0ID0gW10KICAgICAgICAgaW5GaWxlc1NlY3Rpb24gPSBGYWxzZQorICAgICAgICBjaGFuZ2VfZW50cnkgPSBOb25lCiAgICAgICAgIGFyZ3MgPSBbJ2NoYW5nZScsICctbyddCiAgICAgICAgIGlmIGNoYW5nZWxpc3Q6CiAgICAgICAgICAgICBhcmdzLmFwcGVuZChzdHIoY2hhbmdlbGlzdCkpCi0KLSAgICAgICAgZm9yIGxpbmUgaW4gcDRfcmVhZF9waXBlX2xpbmVzKGFyZ3MpOgotICAgICAgICAgICAgaWYgbGluZS5lbmRzd2l0aCgiXHJcbiIpOgotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lWzotMl0gKyAiXG4iCi0gICAgICAgICAgICBpZiBpbkZpbGVzU2VjdGlvbjoKLSAgICAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIlx0Iik6Ci0gICAgICAgICAgICAgICAgICAgICMgcGF0aCBzdGFydHMgYW5kIGVuZHMgd2l0aCBhIHRhYgotICAgICAgICAgICAgICAgICAgICBwYXRoID0gbGluZVsxOl0KLSAgICAgICAgICAgICAgICAgICAgbGFzdFRhYiA9IHBhdGgucmZpbmQoIlx0IikKLSAgICAgICAgICAgICAgICAgICAgaWYgbGFzdFRhYiAhPSAtMToKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBwYXRoWzpsYXN0VGFiXQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2V0dGluZ3MuaGFzX2tleSgnZGVwb3QtcGF0aHMnKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgW3AgZm9yIHAgaW4gc2V0dGluZ3NbJ2RlcG90LXBhdGhzJ10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHA0UGF0aFN0YXJ0c1dpdGgocGF0aCwgcCldOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgcDRQYXRoU3RhcnRzV2l0aChwYXRoLCBzZWxmLmRlcG90UGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGZvciBlbnRyeSBpbiBwNENtZExpc3QoYXJncyk6CisgICAgICAgICAgICBpZiBub3QgZW50cnkuaGFzX2tleSgnY29kZScpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBpZiBlbnRyeVsnY29kZSddID09ICdzdGF0JzoKKyAgICAgICAgICAgICAgICBjaGFuZ2VfZW50cnkgPSBlbnRyeQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGlmIG5vdCBjaGFuZ2VfZW50cnk6CisgICAgICAgICAgICBkaWUoJ0ZhaWxlZCB0byBkZWNvZGUgb3V0cHV0IG9mIHA0IGNoYW5nZSAtbycpCisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIGNoYW5nZV9lbnRyeS5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIGlmIGtleS5zdGFydHN3aXRoKCdGaWxlJyk6CisgICAgICAgICAgICAgICAgaWYgc2V0dGluZ3MuaGFzX2tleSgnZGVwb3QtcGF0aHMnKToKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IFtwIGZvciBwIGluIHNldHRpbmdzWydkZXBvdC1wYXRocyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgcDRQYXRoU3RhcnRzV2l0aCh2YWx1ZSwgcCldOgorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBpbkZpbGVzU2VjdGlvbiA9IEZhbHNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiRmlsZXM6Iik6Ci0gICAgICAgICAgICAgICAgICAgIGluRmlsZXNTZWN0aW9uID0gVHJ1ZQotCi0gICAgICAgICAgICB0ZW1wbGF0ZSArPSBsaW5lCi0KKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHA0UGF0aFN0YXJ0c1dpdGgodmFsdWUsIHNlbGYuZGVwb3RQYXRoKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgZmlsZXNfbGlzdC5hcHBlbmQodmFsdWUpCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgIyBPdXRwdXQgaW4gdGhlIG9yZGVyIGV4cGVjdGVkIGJ5IHByZXBhcmVMb2dNZXNzYWdlCisgICAgICAgIGZvciBrZXkgaW4gWydDaGFuZ2UnLCAnQ2xpZW50JywgJ1VzZXInLCAnU3RhdHVzJywgJ0Rlc2NyaXB0aW9uJywgJ0pvYnMnXToKKyAgICAgICAgICAgIGlmIG5vdCBjaGFuZ2VfZW50cnkuaGFzX2tleShrZXkpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICB0ZW1wbGF0ZSArPSAnXG4nCisgICAgICAgICAgICB0ZW1wbGF0ZSArPSBrZXkgKyAnOicKKyAgICAgICAgICAgIGlmIGtleSA9PSAnRGVzY3JpcHRpb24nOgorICAgICAgICAgICAgICAgIHRlbXBsYXRlICs9ICdcbicKKyAgICAgICAgICAgIGZvciBmaWVsZF9saW5lIGluIGNoYW5nZV9lbnRyeVtrZXldLnNwbGl0bGluZXMoKToKKyAgICAgICAgICAgICAgICB0ZW1wbGF0ZSArPSAnXHQnK2ZpZWxkX2xpbmUrJ1xuJworICAgICAgICBpZiBsZW4oZmlsZXNfbGlzdCkgPiAwOgorICAgICAgICAgICAgdGVtcGxhdGUgKz0gJ1xuJworICAgICAgICAgICAgdGVtcGxhdGUgKz0gJ0ZpbGVzOlxuJworICAgICAgICBmb3IgcGF0aCBpbiBmaWxlc19saXN0OgorICAgICAgICAgICAgdGVtcGxhdGUgKz0gJ1x0JytwYXRoKydcbicKICAgICAgICAgcmV0dXJuIHRlbXBsYXRlCiAKICAgICBkZWYgZWRpdF90ZW1wbGF0ZShzZWxmLCB0ZW1wbGF0ZV9maWxlKToKQEAgLTM1NjIsNyArMzYxNCw3IEBACiAKICAgICBkZWYgcmViYXNlKHNlbGYpOgogICAgICAgICBpZiBvcy5zeXN0ZW0oImdpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoIikgIT0gMDoKLSAgICAgICAgICAgIGRpZSgiU29tZSBmaWxlcyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGFyZSBtb2RpZmllZCBhbmQgZGlmZmVyZW50IHRoYW4gd2hhdCBpcyBpbiB5b3VyIGluZGV4LiBZb3UgY2FuIHVzZSBnaXQgdXBkYXRlLWluZGV4IDxmaWxlbmFtZT4gdG8gYnJpbmcgdGhlIGluZGV4IHVwLXRvLWRhdGUgb3Igc3Rhc2ggYXdheSBhbGwgeW91ciBjaGFuZ2VzIHdpdGggZ2l0IHN0YXNoLiIpOworICAgICAgICAgICAgZGllKCJTb21lIGZpbGVzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgYXJlIG1vZGlmaWVkIGFuZCBkaWZmZXJlbnQgdGhhbiB3aGF0IGlzIGluIHlvdXIgaW5kZXguIFlvdSBjYW4gdXNlIGdpdCB1cGRhdGUtaW5kZXggPGZpbGVuYW1lPiB0byBicmluZyB0aGUgaW5kZXggdXAgdG8gZGF0ZSBvciBzdGFzaCBhd2F5IGFsbCB5b3VyIGNoYW5nZXMgd2l0aCBnaXQgc3Rhc2guIik7CiAgICAgICAgIGlmIGxlbihyZWFkX3BpcGUoImdpdCBkaWZmLWluZGV4IEhFQUQgLS0iKSkgPiAwOgogICAgICAgICAgICAgZGllKCJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzLiBQbGVhc2UgY29tbWl0IHRoZW0gYmVmb3JlIHJlYmFzaW5nIG9yIHN0YXNoIHRoZW0gYXdheSB3aXRoIGdpdCBzdGFzaC4iKTsKIApkaWZmIC0tZ2l0IGEvZ2l0LXJlYmFzZS0tYW0uc2ggYi9naXQtcmViYXNlLS1hbS5zaAppbmRleCAzNzUyMzkzLi42ZTY0ZDQwIDEwMDY0NAotLS0gYS9naXQtcmViYXNlLS1hbS5zaAorKysgYi9naXQtcmViYXNlLS1hbS5zaApAQCAtNDUsNyArNDUsNyBAQAogCSMgaXRzZWxmIHdlbGwgdG8gcmVjb3JkaW5nIGVtcHR5IHBhdGNoZXMuICBmb3J0dW5hdGVseSwgY2hlcnJ5LXBpY2sKIAkjIG1ha2VzIHRoaXMgZWFzeQogCWdpdCBjaGVycnktcGljayAke2dwZ19zaWduX29wdDorIiRncGdfc2lnbl9vcHQifSAtLWFsbG93LWVtcHR5IFwKLQkJLS1yaWdodC1vbmx5ICIkcmV2aXNpb25zIiBcCisJCSRhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSAtLXJpZ2h0LW9ubHkgIiRyZXZpc2lvbnMiIFwKIAkJJHtyZXN0cmljdF9yZXZpc2lvbiteJHJlc3RyaWN0X3JldmlzaW9ufQogCXJldD0kPwogZWxzZQpAQCAtNTMsNiArNTMsNyBAQAogCiAJZ2l0IGZvcm1hdC1wYXRjaCAtayAtLXN0ZG91dCAtLWZ1bGwtaW5kZXggLS1jaGVycnktcGljayAtLXJpZ2h0LW9ubHkgXAogCQktLXNyYy1wcmVmaXg9YS8gLS1kc3QtcHJlZml4PWIvIC0tbm8tcmVuYW1lcyAtLW5vLWNvdmVyLWxldHRlciBcCisJCSRnaXRfZm9ybWF0X3BhdGNoX29wdCBcCiAJCSIkcmV2aXNpb25zIiAke3Jlc3RyaWN0X3JldmlzaW9uK14kcmVzdHJpY3RfcmV2aXNpb259IFwKIAkJPiIkR0lUX0RJUi9yZWJhc2VkLXBhdGNoZXMiCiAJcmV0PSQ/CkBAIC04Miw2ICs4Myw3IEBACiAJZmkKIAogCWdpdCBhbSAkZ2l0X2FtX29wdCAtLXJlYmFzaW5nIC0tcmVzb2x2ZW1zZz0iJHJlc29sdmVtc2ciIFwKKwkJJGFsbG93X3JlcmVyZV9hdXRvdXBkYXRlIFwKIAkJJHtncGdfc2lnbl9vcHQ6KyIkZ3BnX3NpZ25fb3B0In0gPCIkR0lUX0RJUi9yZWJhc2VkLXBhdGNoZXMiCiAJcmV0PSQ/CiAKZGlmZiAtLWdpdCBhL2dpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoIGIvZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2gKaW5kZXggNDczNDA5NC4uMjU2M2RjNSAxMDA2NDQKLS0tIGEvZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2gKKysrIGIvZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2gKQEAgLTUsNyArNSw3IEBACiAjIENvcHlyaWdodCAoYykgMjAwNiBKb2hhbm5lcyBFLiBTY2hpbmRlbGluCiAjCiAjIFRoZSBvcmlnaW5hbCBpZGVhIGNvbWVzIGZyb20gRXJpYyBXLiBCaWVkZXJtYW4sIGluCi0jIGh0dHA6Ly9hcnRpY2xlLmdtYW5lLm9yZy9nbWFuZS5jb21wLnZlcnNpb24tY29udHJvbC5naXQvMjI0MDcKKyMgaHR0cHM6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC9tMW9kd2t5dWY1LmZzZl8tX0BlYmllZGVybS5kc2wueG1pc3Npb24uY29tLwogIwogIyBUaGUgZmlsZSBjb250YWluaW5nIHJlYmFzZSBjb21tYW5kcywgY29tbWVudHMsIGFuZCBlbXB0eSBsaW5lcy4KICMgVGhpcyBmaWxlIGlzIGNyZWF0ZWQgYnkgImdpdCByZWJhc2UgLWkiIHRoZW4gZWRpdGVkIGJ5IHRoZSB1c2VyLiAgQXMKQEAgLTE1NSwxMyArMTU1LDEzIEBACiBhcHBlbmRfdG9kb19oZWxwICgpIHsKIAlnZXR0ZXh0ICIKIENvbW1hbmRzOgotIHAsIHBpY2sgPSB1c2UgY29tbWl0Ci0gciwgcmV3b3JkID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlCi0gZSwgZWRpdCA9IHVzZSBjb21taXQsIGJ1dCBzdG9wIGZvciBhbWVuZGluZwotIHMsIHNxdWFzaCA9IHVzZSBjb21taXQsIGJ1dCBtZWxkIGludG8gcHJldmlvdXMgY29tbWl0Ci0gZiwgZml4dXAgPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2UKLSB4LCBleGVjID0gcnVuIGNvbW1hbmQgKHRoZSByZXN0IG9mIHRoZSBsaW5lKSB1c2luZyBzaGVsbAotIGQsIGRyb3AgPSByZW1vdmUgY29tbWl0CitwLCBwaWNrID0gdXNlIGNvbW1pdAorciwgcmV3b3JkID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlCitlLCBlZGl0ID0gdXNlIGNvbW1pdCwgYnV0IHN0b3AgZm9yIGFtZW5kaW5nCitzLCBzcXVhc2ggPSB1c2UgY29tbWl0LCBidXQgbWVsZCBpbnRvIHByZXZpb3VzIGNvbW1pdAorZiwgZml4dXAgPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2UKK3gsIGV4ZWMgPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsCitkLCBkcm9wID0gcmVtb3ZlIGNvbW1pdAogCiBUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLgogIiB8IGdpdCBzdHJpcHNwYWNlIC0tY29tbWVudC1saW5lcyA+PiIkdG9kbyIKQEAgLTI4MSw3ICsyODEsNyBAQAogCiAJdGVzdCAtZCAiJHJld3JpdHRlbiIgJiYKIAkJcGlja19vbmVfcHJlc2VydmluZ19tZXJnZXMgIiRAIiAmJiByZXR1cm4KLQlvdXRwdXQgZXZhbCBnaXQgY2hlcnJ5LXBpY2sgXAorCW91dHB1dCBldmFsIGdpdCBjaGVycnktcGljayAkYWxsb3dfcmVyZXJlX2F1dG91cGRhdGUgXAogCQkJJHtncGdfc2lnbl9vcHQ6KyQoZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlICIkZ3BnX3NpZ25fb3B0Iil9IFwKIAkJCSIkc3RyYXRlZ3lfYXJncyIgJGVtcHR5X2FyZ3MgJGZmICIkQCIKIApAQCAtMzkzLDcgKzM5Myw4IEBACiAJCQltZXJnZV9hcmdzPSItLW5vLWxvZyAtLW5vLWZmIgogCQkJaWYgISBkb193aXRoX2F1dGhvciBvdXRwdXQgZXZhbCBcCiAJCQknZ2l0IG1lcmdlICR7Z3BnX3NpZ25fb3B0OisiJGdwZ19zaWduX29wdCJ9IFwKLQkJCQkkbWVyZ2VfYXJncyAkc3RyYXRlZ3lfYXJncyAtbSAiJG1zZ19jb250ZW50IiAkbmV3X3BhcmVudHMnCisJCQkJJGFsbG93X3JlcmVyZV9hdXRvdXBkYXRlICRtZXJnZV9hcmdzIFwKKwkJCQkkc3RyYXRlZ3lfYXJncyAtbSAiJG1zZ19jb250ZW50IiAkbmV3X3BhcmVudHMnCiAJCQl0aGVuCiAJCQkJcHJpbnRmICIlc1xuIiAiJG1zZ19jb250ZW50IiA+ICIkR0lUX0RJUiIvTUVSR0VfTVNHCiAJCQkJZGllX3dpdGhfcGF0Y2ggJHNoYTEgIiQoZXZhbF9nZXR0ZXh0ICJFcnJvciByZWRvaW5nIG1lcmdlIFwkc2hhMSIpIgpAQCAtNDAxLDcgKzQwMiw3IEBACiAJCQllY2hvICIkc2hhMSAkKGdpdCByZXYtcGFyc2UgSEVBRF4wKSIgPj4gIiRyZXdyaXR0ZW5fbGlzdCIKIAkJCTs7CiAJCSopCi0JCQlvdXRwdXQgZXZhbCBnaXQgY2hlcnJ5LXBpY2sgXAorCQkJb3V0cHV0IGV2YWwgZ2l0IGNoZXJyeS1waWNrICRhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSBcCiAJCQkJJHtncGdfc2lnbl9vcHQ6KyQoZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlICIkZ3BnX3NpZ25fb3B0Iil9IFwKIAkJCQkiJHN0cmF0ZWd5X2FyZ3MiICIkQCIgfHwKIAkJCQlkaWVfd2l0aF9wYXRjaCAkc2hhMSAiJChldmFsX2dldHRleHQgIkNvdWxkIG5vdCBwaWNrIFwkc2hhMSIpIgpAQCAtNzEzLDE1NCArNzE0LDEyIEBACiAJZG9uZQogfQogCi0jIHNraXAgcGlja2luZyBjb21taXRzIHdob3NlIHBhcmVudHMgYXJlIHVuY2hhbmdlZAotc2tpcF91bm5lY2Vzc2FyeV9waWNrcyAoKSB7Ci0JZmQ9MwotCXdoaWxlIHJlYWQgLXIgY29tbWFuZCByZXN0Ci0JZG8KLQkJIyBmZD0zIG1lYW5zIHdlIHNraXAgdGhlIGNvbW1hbmQKLQkJY2FzZSAiJGZkLCRjb21tYW5kIiBpbgotCQkzLHBpY2t8MyxwKQotCQkJIyBwaWNrIGEgY29tbWl0IHdob3NlIHBhcmVudCBpcyBjdXJyZW50ICRvbnRvIC0+IHNraXAKLQkJCXNoYTE9JHtyZXN0JSUgKn0KLQkJCWNhc2UgIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtLXF1aWV0ICIkc2hhMSJeKSIgaW4KLQkJCSIkb250byIqKQotCQkJCW9udG89JHNoYTEKLQkJCQk7OwotCQkJKikKLQkJCQlmZD0xCi0JCQkJOzsKLQkJCWVzYWMKLQkJCTs7Ci0JCTMsIiRjb21tZW50X2NoYXIiKnwzLCkKLQkJCSMgY29weSBjb21tZW50cwotCQkJOzsKLQkJKikKLQkJCWZkPTEKLQkJCTs7Ci0JCWVzYWMKLQkJcHJpbnRmICclc1xuJyAiJGNvbW1hbmQke3Jlc3Q6KyB9JHJlc3QiID4mJGZkCi0JZG9uZSA8IiR0b2RvIiA+IiR0b2RvLm5ldyIgMz4+IiRkb25lIiAmJgotCW12IC1mICIkdG9kbyIubmV3ICIkdG9kbyIgJiYKLQljYXNlICIkKHBlZWtfbmV4dF9jb21tYW5kKSIgaW4KLQlzcXVhc2h8c3xmaXh1cHxmKQotCQlyZWNvcmRfaW5fcmV3cml0dGVuICIkb250byIKLQkJOzsKLQllc2FjIHx8Ci0JCWRpZSAiJChnZXR0ZXh0ICJDb3VsZCBub3Qgc2tpcCB1bm5lY2Vzc2FyeSBwaWNrIGNvbW1hbmRzIikiCi19Ci0KLXRyYW5zZm9ybV90b2RvX2lkcyAoKSB7Ci0Jd2hpbGUgcmVhZCAtciBjb21tYW5kIHJlc3QKLQlkbwotCQljYXNlICIkY29tbWFuZCIgaW4KLQkJIiRjb21tZW50X2NoYXIiKiB8IGV4ZWMpCi0JCQkjIEJlIGNhcmVmdWwgZm9yIG9kZGJhbGwgY29tbWFuZHMgbGlrZSAnZXhlYycKLQkJCSMgdGhhdCBkbyBub3QgaGF2ZSBhIFNIQS0xIGF0IHRoZSBiZWdpbm5pbmcgb2YgJHJlc3QuCi0JCQk7OwotCQkqKQotCQkJc2hhMT0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLS1xdWlldCAiJEAiICR7cmVzdCUlWwkgXSp9KSAmJgotCQkJcmVzdD0iJHNoYTEgJHtyZXN0IypbCSBdfSIKLQkJCTs7Ci0JCWVzYWMKLQkJcHJpbnRmICclc1xuJyAiJGNvbW1hbmQke3Jlc3Q6KyB9JHJlc3QiCi0JZG9uZSA8IiR0b2RvIiA+IiR0b2RvLm5ldyIgJiYKLQltdiAtZiAiJHRvZG8ubmV3IiAiJHRvZG8iCi19Ci0KIGV4cGFuZF90b2RvX2lkcygpIHsKLQl0cmFuc2Zvcm1fdG9kb19pZHMKKwlnaXQgcmViYXNlLS1oZWxwZXIgLS1leHBhbmQtaWRzCiB9CiAKIGNvbGxhcHNlX3RvZG9faWRzKCkgewotCXRyYW5zZm9ybV90b2RvX2lkcyAtLXNob3J0Ci19Ci0KLSMgUmVhcnJhbmdlIHRoZSB0b2RvIGxpc3QgdGhhdCBoYXMgYm90aCAicGljayBzaGExIG1zZyIgYW5kCi0jICJwaWNrIHNoYTEgZml4dXAhL3NxdWFzaCEgbXNnIiBhcHBlYXJzIGluIGl0IHNvIHRoYXQgdGhlIGxhdHRlcgotIyBjb21lcyBpbW1lZGlhdGVseSBhZnRlciB0aGUgZm9ybWVyLCBhbmQgY2hhbmdlICJwaWNrIiB0bwotIyAiZml4dXAiLyJzcXVhc2giLgotIwotIyBOb3RlIHRoYXQgaWYgdGhlIGNvbmZpZyBoYXMgc3BlY2lmaWVkIGEgY3VzdG9tIGluc3RydWN0aW9uIGZvcm1hdAotIyBlYWNoIGxvZyBtZXNzYWdlIHdpbGwgYmUgcmUtcmV0cmlldmVkIGluIG9yZGVyIHRvIG5vcm1hbGl6ZSB0aGUKLSMgYXV0b3NxdWFzaCBhcnJhbmdlbWVudAotcmVhcnJhbmdlX3NxdWFzaCAoKSB7Ci0JIyBleHRyYWN0IGZpeHVwIS9zcXVhc2ghIGxpbmVzIGFuZCByZXNvbHZlIGFueSByZWZlcmVuY2VkIHNoYTEncwotCXdoaWxlIHJlYWQgLXIgcGljayBzaGExIG1lc3NhZ2UKLQlkbwotCQl0ZXN0IC16ICIke2Zvcm1hdH0iIHx8IG1lc3NhZ2U9JChnaXQgbG9nIC1uIDEgLS1mb3JtYXQ9IiVzIiAke3NoYTF9KQotCQljYXNlICIkbWVzc2FnZSIgaW4KLQkJInNxdWFzaCEgIip8ImZpeHVwISAiKikKLQkJCWFjdGlvbj0iJHttZXNzYWdlJSUhKn0iCi0JCQlyZXN0PSRtZXNzYWdlCi0JCQlwcmVmaXg9Ci0JCQkjIHNraXAgYWxsIHNxdWFzaCEgb3IgZml4dXAhIChidXQgc2F2ZSBmb3IgbGF0ZXIpCi0JCQl3aGlsZSA6Ci0JCQlkbwotCQkJCWNhc2UgIiRyZXN0IiBpbgotCQkJCSJzcXVhc2ghICIqfCJmaXh1cCEgIiopCi0JCQkJCXByZWZpeD0iJHByZWZpeCR7cmVzdCUlISp9LCIKLQkJCQkJcmVzdD0iJHtyZXN0IyohIH0iCi0JCQkJCTs7Ci0JCQkJKikKLQkJCQkJYnJlYWsKLQkJCQkJOzsKLQkJCQllc2FjCi0JCQlkb25lCi0JCQlwcmludGYgJyVzICVzICVzICVzXG4nICIkc2hhMSIgIiRhY3Rpb24iICIkcHJlZml4IiAiJHJlc3QiCi0JCQkjIGlmIGl0J3MgYSBzaW5nbGUgd29yZCwgdHJ5IHRvIHJlc29sdmUgdG8gYSBmdWxsIHNoYTEgYW5kCi0JCQkjIGVtaXQgYSBzZWNvbmQgY29weS4gVGhpcyBhbGxvd3MgdXMgdG8gbWF0Y2ggb24gYm90aCBtZXNzYWdlCi0JCQkjIGFuZCBvbiBzaGExIHByZWZpeAotCQkJaWYgdGVzdCAiJHtyZXN0IyogfSIgPSAiJHJlc3QiOyB0aGVuCi0JCQkJZnVsbHNoYT0iJChnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5ICIkcmVzdCIgMj4vZGV2L251bGwpIgotCQkJCWlmIHRlc3QgLW4gIiRmdWxsc2hhIjsgdGhlbgotCQkJCQkjIHByZWZpeCB0aGUgYWN0aW9uIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgbGluZSBhcwotCQkJCQkjIGludGVuZGVkIGZvciBmdWxsIHNoYTEgbWF0Y2gKLQkJCQkJZWNobyAiJHNoYTEgKyRhY3Rpb24gJHByZWZpeCAkZnVsbHNoYSIKLQkJCQlmaQotCQkJZmkKLQkJZXNhYwotCWRvbmUgPiIkMS5zcSIgPCIkMSIKLQl0ZXN0IC1zICIkMS5zcSIgfHwgcmV0dXJuCi0KLQl1c2VkPQotCXdoaWxlIHJlYWQgLXIgcGljayBzaGExIG1lc3NhZ2UKLQlkbwotCQljYXNlICIgJHVzZWQiIGluCi0JCSoiICRzaGExICIqKSBjb250aW51ZSA7OwotCQllc2FjCi0JCXByaW50ZiAnJXNcbicgIiRwaWNrICRzaGExICRtZXNzYWdlIgotCQl0ZXN0IC16ICIke2Zvcm1hdH0iIHx8IG1lc3NhZ2U9JChnaXQgbG9nIC1uIDEgLS1mb3JtYXQ9IiVzIiAke3NoYTF9KQotCQl1c2VkPSIkdXNlZCRzaGExICIKLQkJd2hpbGUgcmVhZCAtciBzcXVhc2ggYWN0aW9uIG1zZ19wcmVmaXggbXNnX2NvbnRlbnQKLQkJZG8KLQkJCWNhc2UgIiAkdXNlZCIgaW4KLQkJCSoiICRzcXVhc2ggIiopIGNvbnRpbnVlIDs7Ci0JCQllc2FjCi0JCQllbWl0PTAKLQkJCWNhc2UgIiRhY3Rpb24iIGluCi0JCQkrKikKLQkJCQlhY3Rpb249IiR7YWN0aW9uIyt9IgotCQkJCSMgZnVsbCBzaGExIHByZWZpeCB0ZXN0Ci0JCQkJY2FzZSAiJG1zZ19jb250ZW50IiBpbiAiJHNoYTEiKikgZW1pdD0xOzsgZXNhYyA7OwotCQkJKikKLQkJCQkjIG1lc3NhZ2UgcHJlZml4IHRlc3QKLQkJCQljYXNlICIkbWVzc2FnZSIgaW4gIiRtc2dfY29udGVudCIqKSBlbWl0PTE7OyBlc2FjIDs7Ci0JCQllc2FjCi0JCQlpZiB0ZXN0ICRlbWl0ID0gMTsgdGhlbgotCQkJCWlmIHRlc3QgLW4gIiR7Zm9ybWF0fSIKLQkJCQl0aGVuCi0JCQkJCW1zZ19jb250ZW50PSQoZ2l0IGxvZyAtbiAxIC0tZm9ybWF0PSIke2Zvcm1hdH0iICR7c3F1YXNofSkKLQkJCQllbHNlCi0JCQkJCW1zZ19jb250ZW50PSIkKGVjaG8gIiRtc2dfcHJlZml4IiB8IHNlZCAicy8sLyEgL2ciKSRtc2dfY29udGVudCIKLQkJCQlmaQotCQkJCXByaW50ZiAnJXNcbicgIiRhY3Rpb24gJHNxdWFzaCAkbXNnX2NvbnRlbnQiCi0JCQkJdXNlZD0iJHVzZWQkc3F1YXNoICIKLQkJCWZpCi0JCWRvbmUgPCIkMS5zcSIKLQlkb25lID4iJDEucmVhcnJhbmdlZCIgPCIkMSIKLQljYXQgIiQxLnJlYXJyYW5nZWQiID4iJDEiCi0Jcm0gLWYgIiQxLnNxIiAiJDEucmVhcnJhbmdlZCIKKwlnaXQgcmViYXNlLS1oZWxwZXIgLS1zaG9ydGVuLWlkcwogfQogCiAjIEFkZCBjb21tYW5kcyBhZnRlciBhIHBpY2sgb3IgYWZ0ZXIgYSBzcXVhc2gvZml4dXAgc2VyaWUKQEAgLTg4NCw5NiArNzQzLDYgQEAKIAltdiAiJDEubmV3IiAiJDEiCiB9CiAKLSMgQ2hlY2sgaWYgdGhlIFNIQS0xIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBpcyBhCi0jIGNvcnJlY3Qgb25lLCBpZiBub3QgdGhlbiBwcmludCAkMiBpbiAiJHRvZG8iLmJhZHNoYQotIyAkMTogdGhlIFNIQS0xIHRvIHRlc3QKLSMgJDI6IHRoZSBsaW5lIG51bWJlciBvZiB0aGUgaW5wdXQKLSMgJDM6IHRoZSBpbnB1dCBmaWxlbmFtZQotY2hlY2tfY29tbWl0X3NoYSAoKSB7Ci0JYmFkc2hhPTAKLQlpZiB0ZXN0IC16ICIkMSIKLQl0aGVuCi0JCWJhZHNoYT0xCi0JZWxzZQotCQlzaGExX3ZlcmlmPSIkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLS1xdWlldCAkMV57Y29tbWl0fSkiCi0JCWlmIHRlc3QgLXogIiRzaGExX3ZlcmlmIgotCQl0aGVuCi0JCQliYWRzaGE9MQotCQlmaQotCWZpCi0KLQlpZiB0ZXN0ICRiYWRzaGEgLW5lIDAKLQl0aGVuCi0JCWxpbmU9IiQoc2VkIC1uIC1lICIkezJ9cCIgIiQzIikiCi0JCXdhcm4gIiQoZXZhbF9nZXR0ZXh0ICJcCi1XYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6Ci0gLSBcJGxpbmUiKSIKLQkJd2FybgotCWZpCi0KLQlyZXR1cm4gJGJhZHNoYQotfQotCi0jIHByaW50cyB0aGUgYmFkIGNvbW1pdHMgYW5kIGJhZCBjb21tYW5kcwotIyBmcm9tIHRoZSB0b2RvbGlzdCBpbiBzdGRpbgotY2hlY2tfYmFkX2NtZF9hbmRfc2hhICgpIHsKLQlyZXR2YWw9MAotCWxpbmVubz0wCi0Jd2hpbGUgcmVhZCAtciBjb21tYW5kIHJlc3QKLQlkbwotCQlsaW5lbm89JCgoICRsaW5lbm8gKyAxICkpCi0JCWNhc2UgJGNvbW1hbmQgaW4KLQkJIiRjb21tZW50X2NoYXIiKnwnJ3xub29wfHh8ZXhlYykKLQkJCSMgRG9lc24ndCBleHBlY3QgYSBTSEEtMQotCQkJOzsKLQkJIiRjciIpCi0JCQkjIFdvcmsgYXJvdW5kIENSIGxlZnQgYnkgInJlYWQiIChlLmcuIHdpdGggR2l0IGZvcgotCQkJIyBXaW5kb3dzJyBCYXNoKS4KLQkJCTs7Ci0JCXBpY2t8cHxkcm9wfGR8cmV3b3JkfHJ8ZWRpdHxlfHNxdWFzaHxzfGZpeHVwfGYpCi0JCQlpZiAhIGNoZWNrX2NvbW1pdF9zaGEgIiR7cmVzdCUlWyAJXSp9IiAiJGxpbmVubyIgIiQxIgotCQkJdGhlbgotCQkJCXJldHZhbD0xCi0JCQlmaQotCQkJOzsKLQkJKikKLQkJCWxpbmU9IiQoc2VkIC1uIC1lICIke2xpbmVub31wIiAiJDEiKSIKLQkJCXdhcm4gIiQoZXZhbF9nZXR0ZXh0ICJcCi1XYXJuaW5nOiB0aGUgY29tbWFuZCBpc24ndCByZWNvZ25pemVkIGluIHRoZSBmb2xsb3dpbmcgbGluZToKLSAtIFwkbGluZSIpIgotCQkJd2FybgotCQkJcmV0dmFsPTEKLQkJCTs7Ci0JCWVzYWMKLQlkb25lIDwiJDEiCi0JcmV0dXJuICRyZXR2YWwKLX0KLQotIyBQcmludCB0aGUgbGlzdCBvZiB0aGUgU0hBLTEgb2YgdGhlIGNvbW1pdHMKLSMgZnJvbSBzdGRpbiB0byBzdGRvdXQKLXRvZG9fbGlzdF90b19zaGFfbGlzdCAoKSB7Ci0JZ2l0IHN0cmlwc3BhY2UgLS1zdHJpcC1jb21tZW50cyB8Ci0Jd2hpbGUgcmVhZCAtciBjb21tYW5kIHNoYTEgcmVzdAotCWRvCi0JCWNhc2UgJGNvbW1hbmQgaW4KLQkJIiRjb21tZW50X2NoYXIiKnwnJ3xub29wfHh8ImV4ZWMiKQotCQkJOzsKLQkJKikKLQkJCWxvbmdfc2hhPSQoZ2l0IHJldi1saXN0IC0tbm8td2FsayAiJHNoYTEiIDI+L2Rldi9udWxsKQotCQkJcHJpbnRmICIlc1xuIiAiJGxvbmdfc2hhIgotCQkJOzsKLQkJZXNhYwotCWRvbmUKLX0KLQotIyBVc2Ugd2FybiBmb3IgZWFjaCBsaW5lIGluIHN0ZGluCi13YXJuX2xpbmVzICgpIHsKLQl3aGlsZSByZWFkIC1yIGxpbmUKLQlkbwotCQl3YXJuICIgLSAkbGluZSIKLQlkb25lCi19Ci0KICMgU3dpdGNoIHRvIHRoZSBicmFuY2ggaW4gJGludG8gYW5kIG5vdGlmeSBpdCBpbiB0aGUgcmVmbG9nCiBjaGVja291dF9vbnRvICgpIHsKIAlHSVRfUkVGTE9HX0FDVElPTj0iJEdJVF9SRUZMT0dfQUNUSU9OOiBjaGVja291dCAkb250b19uYW1lIgpAQCAtOTg4LDc0ICs3NTcsNiBAQAogCXByaW50ZiAnJXMnICIkY2hlY2tfbGV2ZWwiIHwgdHIgJ0EtWicgJ2EteicKIH0KIAotIyBDaGVjayBpZiB0aGUgdXNlciBkcm9wcGVkIHNvbWUgY29tbWl0cyBieSBtaXN0YWtlCi0jIEJlaGF2aW91ciBkZXRlcm1pbmVkIGJ5IHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLgotIyBDaGVjayBpZiB0aGVyZSBpcyBhbiB1bnJlY29nbml6ZWQgY29tbWFuZCBvciBhCi0jIGJhZCBTSEEtMSBpbiBhIGNvbW1hbmQuCi1jaGVja190b2RvX2xpc3QgKCkgewotCXJhaXNlX2Vycm9yPWYKLQotCWNoZWNrX2xldmVsPSQoZ2V0X21pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsKQotCi0JY2FzZSAiJGNoZWNrX2xldmVsIiBpbgotCXdhcm58ZXJyb3IpCi0JCSMgR2V0IHRoZSBTSEEtMSBvZiB0aGUgY29tbWl0cwotCQl0b2RvX2xpc3RfdG9fc2hhX2xpc3QgPCIkdG9kbyIuYmFja3VwID4iJHRvZG8iLm9sZHNoYTEKLQkJdG9kb19saXN0X3RvX3NoYV9saXN0IDwiJHRvZG8iID4iJHRvZG8iLm5ld3NoYTEKLQotCQkjIFNvcnQgdGhlIFNIQS0xIGFuZCBjb21wYXJlIHRoZW0KLQkJc29ydCAtdSAiJHRvZG8iLm9sZHNoYTEgPiIkdG9kbyIub2xkc2hhMSsKLQkJbXYgIiR0b2RvIi5vbGRzaGExKyAiJHRvZG8iLm9sZHNoYTEKLQkJc29ydCAtdSAiJHRvZG8iLm5ld3NoYTEgPiIkdG9kbyIubmV3c2hhMSsKLQkJbXYgIiR0b2RvIi5uZXdzaGExKyAiJHRvZG8iLm5ld3NoYTEKLQkJY29tbSAtMiAtMyAiJHRvZG8iLm9sZHNoYTEgIiR0b2RvIi5uZXdzaGExID4iJHRvZG8iLm1pc3MKLQotCQkjIFdhcm4gYWJvdXQgbWlzc2luZyBjb21taXRzCi0JCWlmIHRlc3QgLXMgIiR0b2RvIi5taXNzCi0JCXRoZW4KLQkJCXRlc3QgIiRjaGVja19sZXZlbCIgPSBlcnJvciAmJiByYWlzZV9lcnJvcj10Ci0KLQkJCXdhcm4gIiQoZ2V0dGV4dCAiXAotV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuCi1Ecm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToiKSIKLQotCQkJIyBNYWtlIHRoZSBsaXN0IHVzZXItZnJpZW5kbHkgYW5kIGRpc3BsYXkKLQkJCW9wdD0iLS1uby13YWxrPXNvcnRlZCAtLWZvcm1hdD1vbmVsaW5lIC0tYWJicmV2LWNvbW1pdCAtLXN0ZGluIgotCQkJZ2l0IHJldi1saXN0ICRvcHQgPCIkdG9kbyIubWlzcyB8IHdhcm5fbGluZXMKLQotCQkJd2FybiAiJChnZXR0ZXh0ICJcCi1UbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC4KLQotVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mIHdhcm5pbmdzLgotVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLiIpIgotCQkJd2FybgotCQlmaQotCQk7OwotCWlnbm9yZSkKLQkJOzsKLQkqKQotCQl3YXJuICIkKGV2YWxfZ2V0dGV4dCAiVW5yZWNvZ25pemVkIHNldHRpbmcgXCRjaGVja19sZXZlbCBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iKSIKLQkJOzsKLQllc2FjCi0KLQlpZiAhIGNoZWNrX2JhZF9jbWRfYW5kX3NoYSAiJHRvZG8iCi0JdGhlbgotCQlyYWlzZV9lcnJvcj10Ci0JZmkKLQotCWlmIHRlc3QgJHJhaXNlX2Vycm9yID0gdAotCXRoZW4KLQkJIyBDaGVja291dCBiZWZvcmUgdGhlIGZpcnN0IGNvbW1pdCBvZiB0aGUKLQkJIyByZWJhc2U6IHRoaXMgd2F5IGdpdCByZWJhc2UgLS1jb250aW51ZQotCQkjIHdpbGwgd29yayBjb3JyZWN0bHkgYXMgaXQgZXhwZWN0cyBIRUFEIHRvIGJlCi0JCSMgcGxhY2VkIGJlZm9yZSB0aGUgY29tbWl0IG9mIHRoZSBuZXh0IGFjdGlvbgotCQljaGVja291dF9vbnRvCi0KLQkJd2FybiAiJChnZXR0ZXh0ICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJy4iKSIKLQkJZGllICIkKGdldHRleHQgIk9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLiIpIgotCWZpCi19Ci0KICMgVGhlIHdob2xlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSBpcyBydW4gYnkgZG90LXNvdXJjaW5nIGl0IGZyb20KICMgaW5zaWRlIGEgc2hlbGwgZnVuY3Rpb24uICBJdCB1c2VkIHRvIGJlIHRoYXQgInJldHVybiJzIHdlIHNlZQogIyBiZWxvdyB3ZXJlIG5vdCBpbnNpZGUgYW55IGZ1bmN0aW9uLCBhbmQgZXhwZWN0ZWQgdG8gcmV0dXJuCkBAIC0xMDY5LDYgKzc3MCwxMCBAQAogCiBjYXNlICIkYWN0aW9uIiBpbgogY29udGludWUpCisJaWYgdGVzdCAhIC1kICIkcmV3cml0dGVuIgorCXRoZW4KKwkJZXhlYyBnaXQgcmViYXNlLS1oZWxwZXIgJHtmb3JjZV9yZWJhc2U6Ky0tbm8tZmZ9IC0tY29udGludWUKKwlmaQogCSMgZG8gd2UgaGF2ZSBhbnl0aGluZyB0byBjb21taXQ/CiAJaWYgZ2l0IGRpZmYtaW5kZXggLS1jYWNoZWQgLS1xdWlldCBIRUFEIC0tCiAJdGhlbgpAQCAtMTEyOCw2ICs4MzMsMTAgQEAKIHNraXApCiAJZ2l0IHJlcmVyZSBjbGVhcgogCisJaWYgdGVzdCAhIC1kICIkcmV3cml0dGVuIgorCXRoZW4KKwkJZXhlYyBnaXQgcmViYXNlLS1oZWxwZXIgJHtmb3JjZV9yZWJhc2U6Ky0tbm8tZmZ9IC0tY29udGludWUKKwlmaQogCWRvX3Jlc3QKIAlyZXR1cm4gMAogCTs7CkBAIC0xMjAyLDI2ICs5MTEsMjcgQEAKIAlyZXZpc2lvbnM9JG9udG8uLi4kb3JpZ19oZWFkCiAJc2hvcnRyZXZpc2lvbnM9JHNob3J0aGVhZAogZmkKLWZvcm1hdD0kKGdpdCBjb25maWcgLS1nZXQgcmViYXNlLmluc3RydWN0aW9uRm9ybWF0KQotIyB0aGUgJ3Jldi1saXN0IC4uIHwgc2VkJyByZXF1aXJlcyAlbSB0byBwYXJzZTsgdGhlIGluc3RydWN0aW9uIHJlcXVpcmVzICVIIHRvIHBhcnNlCi1naXQgcmV2LWxpc3QgJG1lcmdlc19vcHRpb24gLS1mb3JtYXQ9IiVtJUggJHtmb3JtYXQ6LSVzfSIgXAotCS0tcmV2ZXJzZSAtLWxlZnQtcmlnaHQgLS10b3BvLW9yZGVyIFwKLQkkcmV2aXNpb25zICR7cmVzdHJpY3RfcmV2aXNpb24rXiRyZXN0cmljdF9yZXZpc2lvbn0gfCBcCi0Jc2VkIC1uICJzL14+Ly9wIiB8Ci13aGlsZSByZWFkIC1yIHNoYTEgcmVzdAotZG8KK2lmIHRlc3QgdCAhPSAiJHByZXNlcnZlX21lcmdlcyIKK3RoZW4KKwlnaXQgcmViYXNlLS1oZWxwZXIgLS1tYWtlLXNjcmlwdCAke2tlZXBfZW1wdHk6Ky0ta2VlcC1lbXB0eX0gXAorCQkkcmV2aXNpb25zICR7cmVzdHJpY3RfcmV2aXNpb24rXiRyZXN0cmljdF9yZXZpc2lvbn0gPiIkdG9kbyIKK2Vsc2UKKwlmb3JtYXQ9JChnaXQgY29uZmlnIC0tZ2V0IHJlYmFzZS5pbnN0cnVjdGlvbkZvcm1hdCkKKwkjIHRoZSAncmV2LWxpc3QgLi4gfCBzZWQnIHJlcXVpcmVzICVtIHRvIHBhcnNlOyB0aGUgaW5zdHJ1Y3Rpb24gcmVxdWlyZXMgJUggdG8gcGFyc2UKKwlnaXQgcmV2LWxpc3QgJG1lcmdlc19vcHRpb24gLS1mb3JtYXQ9IiVtJUggJHtmb3JtYXQ6LSVzfSIgXAorCQktLXJldmVyc2UgLS1sZWZ0LXJpZ2h0IC0tdG9wby1vcmRlciBcCisJCSRyZXZpc2lvbnMgJHtyZXN0cmljdF9yZXZpc2lvbiteJHJlc3RyaWN0X3JldmlzaW9ufSB8IFwKKwkJc2VkIC1uICJzL14+Ly9wIiB8CisJd2hpbGUgcmVhZCAtciBzaGExIHJlc3QKKwlkbwogCi0JaWYgdGVzdCAteiAiJGtlZXBfZW1wdHkiICYmIGlzX2VtcHR5X2NvbW1pdCAkc2hhMSAmJiAhIGlzX21lcmdlX2NvbW1pdCAkc2hhMQotCXRoZW4KLQkJY29tbWVudF9vdXQ9IiRjb21tZW50X2NoYXIgIgotCWVsc2UKLQkJY29tbWVudF9vdXQ9Ci0JZmkKKwkJaWYgdGVzdCAteiAiJGtlZXBfZW1wdHkiICYmIGlzX2VtcHR5X2NvbW1pdCAkc2hhMSAmJiAhIGlzX21lcmdlX2NvbW1pdCAkc2hhMQorCQl0aGVuCisJCQljb21tZW50X291dD0iJGNvbW1lbnRfY2hhciAiCisJCWVsc2UKKwkJCWNvbW1lbnRfb3V0PQorCQlmaQogCi0JaWYgdGVzdCB0ICE9ICIkcHJlc2VydmVfbWVyZ2VzIgotCXRoZW4KLQkJcHJpbnRmICclc1xuJyAiJHtjb21tZW50X291dH1waWNrICRzaGExICRyZXN0IiA+PiIkdG9kbyIKLQllbHNlCiAJCWlmIHRlc3QgLXogIiRyZWJhc2Vfcm9vdCIKIAkJdGhlbgogCQkJcHJlc2VydmU9dApAQCAtMTI0MCw4ICs5NTAsOCBAQAogCQkJdG91Y2ggIiRyZXdyaXR0ZW4iLyRzaGExCiAJCQlwcmludGYgJyVzXG4nICIke2NvbW1lbnRfb3V0fXBpY2sgJHNoYTEgJHJlc3QiID4+IiR0b2RvIgogCQlmaQotCWZpCi1kb25lCisJZG9uZQorZmkKIAogIyBXYXRjaCBmb3IgY29tbWl0cyB0aGF0IGJlZW4gZHJvcHBlZCBieSAtLWNoZXJyeS1waWNrCiBpZiB0ZXN0IHQgPSAiJHByZXNlcnZlX21lcmdlcyIKQEAgLTEyNzEsNyArOTgxLDcgQEAKIGZpCiAKIHRlc3QgLXMgIiR0b2RvIiB8fCBlY2hvIG5vb3AgPj4gIiR0b2RvIgotdGVzdCAtbiAiJGF1dG9zcXVhc2giICYmIHJlYXJyYW5nZV9zcXVhc2ggIiR0b2RvIgordGVzdCAteiAiJGF1dG9zcXVhc2giIHx8IGdpdCByZWJhc2UtLWhlbHBlciAtLXJlYXJyYW5nZS1zcXVhc2ggfHwgZXhpdAogdGVzdCAtbiAiJGNtZCIgJiYgYWRkX2V4ZWNfY29tbWFuZHMgIiR0b2RvIgogCiB0b2RvY291bnQ9JChnaXQgc3RyaXBzcGFjZSAtLXN0cmlwLWNvbW1lbnRzIDwiJHRvZG8iIHwgd2MgLWwpCkBAIC0xMzA3LDEzICsxMDE3LDI0IEBACiBoYXNfYWN0aW9uICIkdG9kbyIgfHwKIAlyZXR1cm4gMgogCi1jaGVja190b2RvX2xpc3QKK2dpdCByZWJhc2UtLWhlbHBlciAtLWNoZWNrLXRvZG8tbGlzdCB8fCB7CisJcmV0PSQ/CisJY2hlY2tvdXRfb250bworCWV4aXQgJHJldAorfQogCiBleHBhbmRfdG9kb19pZHMKIAotdGVzdCAtZCAiJHJld3JpdHRlbiIgfHwgdGVzdCAtbiAiJGZvcmNlX3JlYmFzZSIgfHwgc2tpcF91bm5lY2Vzc2FyeV9waWNrcwordGVzdCAtZCAiJHJld3JpdHRlbiIgfHwgdGVzdCAtbiAiJGZvcmNlX3JlYmFzZSIgfHwKK29udG89IiQoZ2l0IHJlYmFzZS0taGVscGVyIC0tc2tpcC11bm5lY2Vzc2FyeS1waWNrcykiIHx8CitkaWUgIkNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCiAKIGNoZWNrb3V0X29udG8KK2lmIHRlc3QgLXogIiRyZWJhc2Vfcm9vdCIgJiYgdGVzdCAhIC1kICIkcmV3cml0dGVuIgordGhlbgorCXJlcXVpcmVfY2xlYW5fd29ya190cmVlICJyZWJhc2UiCisJZXhlYyBnaXQgcmViYXNlLS1oZWxwZXIgJHtmb3JjZV9yZWJhc2U6Ky0tbm8tZmZ9IC0tY29udGludWUKK2ZpCiBkb19yZXN0CiAKIH0KZGlmZiAtLWdpdCBhL2dpdC1yZWJhc2Uuc2ggYi9naXQtcmViYXNlLnNoCmluZGV4IDQ4ZDdjNWQuLjYzNDRlOGQgMTAwNzU1Ci0tLSBhL2dpdC1yZWJhc2Uuc2gKKysrIGIvZ2l0LXJlYmFzZS5zaApAQCAtMzQsNiArMzQsNyBAQAogYXV0b3NxdWFzaCAgICAgICAgIG1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEgdW5kZXIgLWkKIGNvbW1pdHRlci1kYXRlLWlzLWF1dGhvci1kYXRlISBwYXNzZWQgdG8gJ2dpdCBhbScKIGlnbm9yZS1kYXRlISAgICAgICBwYXNzZWQgdG8gJ2dpdCBhbScKK3NpZ25vZmYgICAgICAgICAgICBwYXNzZWQgdG8gJ2dpdCBhbScKIHdoaXRlc3BhY2U9ISAgICAgICBwYXNzZWQgdG8gJ2dpdCBhcHBseScKIGlnbm9yZS13aGl0ZXNwYWNlISBwYXNzZWQgdG8gJ2dpdCBhcHBseScKIEM9ISAgICAgICAgICAgICAgICBwYXNzZWQgdG8gJ2dpdCBhcHBseScKQEAgLTU0LDkgKzU1LDEwIEBACiAnCiBva190b19za2lwX3ByZV9yZWJhc2U9CiByZXNvbHZlbXNnPSIKLSQoZ2V0dGV4dCAnV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIi4KLUlmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gImdpdCByZWJhc2UgLS1za2lwIiBpbnN0ZWFkLgotVG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcmViYXNpbmcsIHJ1biAiZ2l0IHJlYmFzZSAtLWFib3J0Ii4nKQorJChnZXR0ZXh0ICdSZXNvbHZlIGFsbCBjb25mbGljdHMgbWFudWFsbHksIG1hcmsgdGhlbSBhcyByZXNvbHZlZCB3aXRoCisiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz4iLCB0aGVuIHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIi4KK1lvdSBjYW4gaW5zdGVhZCBza2lwIHRoaXMgY29tbWl0OiBydW4gImdpdCByZWJhc2UgLS1za2lwIi4KK1RvIGFib3J0IGFuZCBnZXQgYmFjayB0byB0aGUgc3RhdGUgYmVmb3JlICJnaXQgcmViYXNlIiwgcnVuICJnaXQgcmViYXNlIC0tYWJvcnQiLicpCiAiCiB1bnNldCBvbnRvCiB1bnNldCByZXN0cmljdF9yZXZpc2lvbgpAQCAtNzIsNiArNzQsNyBAQAogYXV0b3N0YXNoPSIkKGdpdCBjb25maWcgLS1ib29sIHJlYmFzZS5hdXRvc3Rhc2ggfHwgZWNobyBmYWxzZSkiCiBmb3JrX3BvaW50PWF1dG8KIGdpdF9hbV9vcHQ9CitnaXRfZm9ybWF0X3BhdGNoX29wdD0KIHJlYmFzZV9yb290PQogZm9yY2VfcmViYXNlPQogYWxsb3dfcmVyZXJlX2F1dG91cGRhdGU9CkBAIC0xNjUsMTQgKzE2OCwxNCBAQAogCQlzdGFzaF9zaGExPSQoY2F0ICIkc3RhdGVfZGlyL2F1dG9zdGFzaCIpCiAJCWlmIGdpdCBzdGFzaCBhcHBseSAkc3Rhc2hfc2hhMSAyPiYxID4vZGV2L251bGwKIAkJdGhlbgotCQkJZWNobyAiJChnZXR0ZXh0ICdBcHBsaWVkIGF1dG9zdGFzaC4nKSIKKwkJCWVjaG8gIiQoZ2V0dGV4dCAnQXBwbGllZCBhdXRvc3Rhc2guJykiID4mMgogCQllbHNlCiAJCQlnaXQgc3Rhc2ggc3RvcmUgLW0gImF1dG9zdGFzaCIgLXEgJHN0YXNoX3NoYTEgfHwKIAkJCWRpZSAiJChldmFsX2dldHRleHQgIkNhbm5vdCBzdG9yZSBcJHN0YXNoX3NoYTEiKSIKIAkJCWdldHRleHQgJ0FwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuCiBZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLgogWW91IGNhbiBydW4gImdpdCBzdGFzaCBwb3AiIG9yICJnaXQgc3Rhc2ggZHJvcCIgYXQgYW55IHRpbWUuCi0nCisnID4mMgogCQlmaQogCWZpCiB9CkBAIC0zMjEsNyArMzI0LDcgQEAKIAktLWlnbm9yZS13aGl0ZXNwYWNlKQogCQlnaXRfYW1fb3B0PSIkZ2l0X2FtX29wdCAkMSIKIAkJOzsKLQktLWNvbW1pdHRlci1kYXRlLWlzLWF1dGhvci1kYXRlfC0taWdub3JlLWRhdGUpCisJLS1jb21taXR0ZXItZGF0ZS1pcy1hdXRob3ItZGF0ZXwtLWlnbm9yZS1kYXRlfC0tc2lnbm9mZnwtLW5vLXNpZ25vZmYpCiAJCWdpdF9hbV9vcHQ9IiRnaXRfYW1fb3B0ICQxIgogCQlmb3JjZV9yZWJhc2U9dAogCQk7OwpAQCAtMzQ3LDYgKzM1MCw5IEBACiAJCXNoaWZ0CiAJCWJyZWFrCiAJCTs7CisJKikKKwkJdXNhZ2UKKwkJOzsKIAllc2FjCiAJc2hpZnQKIGRvbmUKQEAgLTQ0Myw2ICs0NDksMTEgQEAKIAlzdGF0ZV9kaXI9IiRhcHBseV9kaXIiCiBmaQogCitpZiB0ZXN0IC10IDIgJiYgdGVzdCAteiAiJEdJVF9RVUlFVCIKK3RoZW4KKwlnaXRfZm9ybWF0X3BhdGNoX29wdD0iJGdpdF9mb3JtYXRfcGF0Y2hfb3B0IC0tcHJvZ3Jlc3MiCitmaQorCiBpZiB0ZXN0IC16ICIkcmViYXNlX3Jvb3QiCiB0aGVuCiAJY2FzZSAiJCMiIGluCmRpZmYgLS1naXQgYS9naXQtc2VuZC1lbWFpbC5wZXJsIGIvZ2l0LXNlbmQtZW1haWwucGVybAppbmRleCBlZWEwYTUxLi4yMjA4ZGNjIDEwMDc1NQotLS0gYS9naXQtc2VuZC1lbWFpbC5wZXJsCisrKyBiL2dpdC1zZW5kLWVtYWlsLnBlcmwKQEAgLTI1LDggKzI1LDkgQEAKIHVzZSBUZXh0OjpQYXJzZVdvcmRzOwogdXNlIFRlcm06OkFOU0lDb2xvcjsKIHVzZSBGaWxlOjpUZW1wIHF3LyB0ZW1wZGlyIHRlbXBmaWxlIC87Ci11c2UgRmlsZTo6U3BlYzo6RnVuY3Rpb25zIHF3KGNhdGZpbGUpOwordXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRkaXIgY2F0ZmlsZSk7CiB1c2UgRXJyb3IgcXcoOnRyeSk7Cit1c2UgQ3dkIHF3KGFic19wYXRoIGN3ZCk7CiB1c2UgR2l0OwogdXNlIEdpdDo6STE4TjsKIApAQCAtODEsNiArODIsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHNldHRpbmcgZm9yY2VzIHRvIHVzZSBvbmUgb2YgdGhlIGxpc3RlZCBtZWNoYW5pc21zLgogICAgIC0tc210cC1kZWJ1ZyAgICAgICAgICAgIDwwfDE+ICAqIERpc2FibGUsIGVuYWJsZSBOZXQ6OlNNVFAgZGVidWcuCiAKKyAgICAtLWJhdGNoLXNpemUgICAgICAgICAgICA8aW50PiAgKiBzZW5kIG1heCA8aW50PiBtZXNzYWdlIHBlciBjb25uZWN0aW9uLgorICAgIC0tcmVsb2dpbi1kZWxheSAgICAgICAgIDxpbnQ+ICAqIGRlbGF5IDxpbnQ+IHNlY29uZHMgYmV0d2VlbiB0d28gc3VjY2Vzc2l2ZSBsb2dpbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIG9wdGlvbiBjYW4gb25seSBiZSB1c2VkIHdpdGggLS1iYXRjaC1zaXplCisKICAgQXV0b21hdGluZzoKICAgICAtLWlkZW50aXR5ICAgICAgICAgICAgICA8c3RyPiAgKiBVc2UgdGhlIHNlbmRlbWFpbC48aWQ+IG9wdGlvbnMuCiAgICAgLS10by1jbWQgICAgICAgICAgICAgICAgPHN0cj4gICogRW1haWwgVG86IHZpYSBgPHN0cj4gXCRwYXRjaF9wYXRoYApAQCAtMTUwLDkgKzE1NSw5IEBACiB9CiAKIG15ICRoYXZlX2VtYWlsX3ZhbGlkID0gZXZhbCB7IHJlcXVpcmUgRW1haWw6OlZhbGlkOyAxIH07Ci1teSAkaGF2ZV9tYWlsX2FkZHJlc3MgPSBldmFsIHsgcmVxdWlyZSBNYWlsOjpBZGRyZXNzOyAxIH07CiBteSAkc210cDsKIG15ICRhdXRoOworbXkgJG51bV9zZW50ID0gMDsKIAogIyBSZWdleGVzIGZvciBSRkMgMjA0NyBwcm9kdWN0aW9ucy4KIG15ICRyZV90b2tlbiA9IHFyL1teXVsoKTw+QCw7OlxcIlwvPy49IFwwMDAtXDAzN1wxNzctXDM3N10rLzsKQEAgLTIxNiw2ICsyMjEsNyBAQAogbXkgKCR0b19jbWQsICRjY19jbWQpOwogbXkgKCRzbXRwX3NlcnZlciwgJHNtdHBfc2VydmVyX3BvcnQsIEBzbXRwX3NlcnZlcl9vcHRpb25zKTsKIG15ICgkc210cF9hdXRodXNlciwgJHNtdHBfZW5jcnlwdGlvbiwgJHNtdHBfc3NsX2NlcnRfcGF0aCk7CitteSAoJGJhdGNoX3NpemUsICRyZWxvZ2luX2RlbGF5KTsKIG15ICgkaWRlbnRpdHksICRhbGlhc2ZpbGV0eXBlLCBAYWxpYXNfZmlsZXMsICRzbXRwX2RvbWFpbiwgJHNtdHBfYXV0aCk7CiBteSAoJHZhbGlkYXRlLCAkY29uZmlybSk7CiBteSAoQHN1cHByZXNzX2NjKTsKQEAgLTI0Nyw2ICsyNTMsOCBAQAogICAgICJzbXRwcGFzcyIgPT4gXCRzbXRwX2F1dGhwYXNzLAogICAgICJzbXRwZG9tYWluIiA9PiBcJHNtdHBfZG9tYWluLAogICAgICJzbXRwYXV0aCIgPT4gXCRzbXRwX2F1dGgsCisgICAgInNtdHBiYXRjaHNpemUiID0+IFwkYmF0Y2hfc2l6ZSwKKyAgICAic210cHJlbG9naW5kZWxheSIgPT4gXCRyZWxvZ2luX2RlbGF5LAogICAgICJ0byIgPT4gXEBpbml0aWFsX3RvLAogICAgICJ0b2NtZCIgPT4gXCR0b19jbWQsCiAgICAgImNjIiA9PiBcQGluaXRpYWxfY2MsCkBAIC0zNTgsNiArMzY2LDggQEAKIAkJICAgICJmb3JjZSIgPT4gXCRmb3JjZSwKIAkJICAgICJ4bWFpbGVyISIgPT4gXCR1c2VfeG1haWxlciwKIAkJICAgICJuby14bWFpbGVyIiA9PiBzdWIgeyR1c2VfeG1haWxlciA9IDB9LAorCQkgICAgImJhdGNoLXNpemU9aSIgPT4gXCRiYXRjaF9zaXplLAorCQkgICAgInJlbG9naW4tZGVsYXk9aSIgPT4gXCRyZWxvZ2luX2RlbGF5LAogCSApOwogCiB1c2FnZSgpIGlmICRoZWxwOwpAQCAtNDc5LDExICs0ODksNyBAQAogKCRyZXBvY29tbWl0dGVyKSA9IEdpdDo6aWRlbnRfcGVyc29uKEByZXBvLCAnY29tbWl0dGVyJyk7CiAKIHN1YiBwYXJzZV9hZGRyZXNzX2xpbmUgewotCWlmICgkaGF2ZV9tYWlsX2FkZHJlc3MpIHsKLQkJcmV0dXJuIG1hcCB7ICRfLT5mb3JtYXQgfSBNYWlsOjpBZGRyZXNzLT5wYXJzZSgkX1swXSk7Ci0JfSBlbHNlIHsKLQkJcmV0dXJuIEdpdDo6cGFyc2VfbWFpbGJveGVzKCRfWzBdKTsKLQl9CisJcmV0dXJuIEdpdDo6cGFyc2VfbWFpbGJveGVzKCRfWzBdKTsKIH0KIAogc3ViIHNwbGl0X2FkZHJzIHsKQEAgLTEwNzgsNiArMTA4NCwyNiBAQAogCiB9CiAKK3N1YiBzdHJpcF9nYXJiYWdlX29uZV9hZGRyZXNzIHsKKwlteSAoJGFkZHIpID0gQF87CisJY2hvbXAgJGFkZHI7CisJaWYgKCRhZGRyID1+IC9eKCgiW14iXSoifFteIjxdKik/ICo8W14+XSo+KS4qLykgeworCQkjICJGb28gQmFyIiA8Zm9vYmFyQGV4YW1wbGUuY29tPiBbcG9zc2libHkgZ2FyYmFnZSBoZXJlXQorCQkjIEZvbyBCYXIgPGZvb2JhckBleGFtcGxlLmNvbT4gW3Bvc3NpYmx5IGdhcmJhZ2UgaGVyZV0KKwkJcmV0dXJuICQxOworCX0KKwlpZiAoJGFkZHIgPX4gL14oPFtePl0qPikuKi8pIHsKKwkJIyA8Zm9vQGV4YW1wbGUuY29tPiBbcG9zc2libHkgZ2FyYmFnZSBoZXJlXQorCQkjIGlmIGdhcmJhZ2UgY29udGFpbnMgb3RoZXIgYWRkcmVzc2VzLCB0aGV5IGFyZSBpZ25vcmVkLgorCQlyZXR1cm4gJDE7CisJfQorCWlmICgkYWRkciA9fiAvXihbXiIjLFxzXSopLykgeworCQkjIGFkZHJlc3Mgd2l0aG91dCBxdW90aW5nOiByZW1vdmUgYW55dGhpbmcgYWZ0ZXIgdGhlIGFkZHJlc3MKKwkJcmV0dXJuICQxOworCX0KKwlyZXR1cm4gJGFkZHI7Cit9CisKIHN1YiBzYW5pdGl6ZV9hZGRyZXNzX2xpc3QgewogCXJldHVybiAobWFwIHsgc2FuaXRpemVfYWRkcmVzcygkXykgfSBAXyk7CiB9CkBAIC0xMzUzLDEwICsxMzc5LDEyIEBACiAJCQlkaWUgX18oIlRoZSByZXF1aXJlZCBTTVRQIHNlcnZlciBpcyBub3QgcHJvcGVybHkgZGVmaW5lZC4iKQogCQl9CiAKKwkJcmVxdWlyZSBOZXQ6OlNNVFA7CisJCW15ICR1c2VfbmV0X3NtdHBfc3NsID0gdmVyc2lvbi0+cGFyc2UoJE5ldDo6U01UUDo6VkVSU0lPTikgPCB2ZXJzaW9uLT5wYXJzZSgiMi4zNCIpOworCQkkc210cF9kb21haW4gfHw9IG1haWxkb21haW4oKTsKKwogCQlpZiAoJHNtdHBfZW5jcnlwdGlvbiBlcSAnc3NsJykgewogCQkJJHNtdHBfc2VydmVyX3BvcnQgfHw9IDQ2NTsgIyBzc210cAotCQkJcmVxdWlyZSBOZXQ6OlNNVFA6OlNTTDsKLQkJCSRzbXRwX2RvbWFpbiB8fD0gbWFpbGRvbWFpbigpOwogCQkJcmVxdWlyZSBJTzo6U29ja2V0OjpTU0w7CiAKIAkJCSMgU3VwcHJlc3MgInZhcmlhYmxlIGFjY2Vzc2VkIG9uY2UiIHdhcm5pbmcuCkBAIC0xMzY4LDM0ICsxMzk2LDQ4IEBACiAJCQkjIE5ldDo6U01UUDo6U1NMLT5uZXcoKSBkb2VzIG5vdCBmb3J3YXJkIGFueSBTU0wgb3B0aW9ucwogCQkJSU86OlNvY2tldDo6U1NMOjpzZXRfY2xpZW50X2RlZmF1bHRzKAogCQkJCXNzbF92ZXJpZnlfcGFyYW1zKCkpOwotCQkJJHNtdHAgfHw9IE5ldDo6U01UUDo6U1NMLT5uZXcoJHNtdHBfc2VydmVyLAotCQkJCQkJICAgICAgSGVsbG8gPT4gJHNtdHBfZG9tYWluLAotCQkJCQkJICAgICAgUG9ydCA9PiAkc210cF9zZXJ2ZXJfcG9ydCwKLQkJCQkJCSAgICAgIERlYnVnID0+ICRkZWJ1Z19uZXRfc210cCk7CisKKwkJCWlmICgkdXNlX25ldF9zbXRwX3NzbCkgeworCQkJCXJlcXVpcmUgTmV0OjpTTVRQOjpTU0w7CisJCQkJJHNtdHAgfHw9IE5ldDo6U01UUDo6U1NMLT5uZXcoJHNtdHBfc2VydmVyLAorCQkJCQkJCSAgICAgIEhlbGxvID0+ICRzbXRwX2RvbWFpbiwKKwkJCQkJCQkgICAgICBQb3J0ID0+ICRzbXRwX3NlcnZlcl9wb3J0LAorCQkJCQkJCSAgICAgIERlYnVnID0+ICRkZWJ1Z19uZXRfc210cCk7CisJCQl9CisJCQllbHNlIHsKKwkJCQkkc210cCB8fD0gTmV0OjpTTVRQLT5uZXcoJHNtdHBfc2VydmVyLAorCQkJCQkJCSBIZWxsbyA9PiAkc210cF9kb21haW4sCisJCQkJCQkJIFBvcnQgPT4gJHNtdHBfc2VydmVyX3BvcnQsCisJCQkJCQkJIERlYnVnID0+ICRkZWJ1Z19uZXRfc210cCwKKwkJCQkJCQkgU1NMID0+IDEpOworCQkJfQogCQl9CiAJCWVsc2UgewotCQkJcmVxdWlyZSBOZXQ6OlNNVFA7Ci0JCQkkc210cF9kb21haW4gfHw9IG1haWxkb21haW4oKTsKIAkJCSRzbXRwX3NlcnZlcl9wb3J0IHx8PSAyNTsKIAkJCSRzbXRwIHx8PSBOZXQ6OlNNVFAtPm5ldygkc210cF9zZXJ2ZXIsCiAJCQkJCQkgSGVsbG8gPT4gJHNtdHBfZG9tYWluLAogCQkJCQkJIERlYnVnID0+ICRkZWJ1Z19uZXRfc210cCwKIAkJCQkJCSBQb3J0ID0+ICRzbXRwX3NlcnZlcl9wb3J0KTsKIAkJCWlmICgkc210cF9lbmNyeXB0aW9uIGVxICd0bHMnICYmICRzbXRwKSB7Ci0JCQkJcmVxdWlyZSBOZXQ6OlNNVFA6OlNTTDsKLQkJCQkkc210cC0+Y29tbWFuZCgnU1RBUlRUTFMnKTsKLQkJCQkkc210cC0+cmVzcG9uc2UoKTsKLQkJCQlpZiAoJHNtdHAtPmNvZGUgPT0gMjIwKSB7CisJCQkJaWYgKCR1c2VfbmV0X3NtdHBfc3NsKSB7CisJCQkJCSRzbXRwLT5jb21tYW5kKCdTVEFSVFRMUycpOworCQkJCQkkc210cC0+cmVzcG9uc2UoKTsKKwkJCQkJaWYgKCRzbXRwLT5jb2RlICE9IDIyMCkgeworCQkJCQkJZGllIHNwcmludGYoX18oIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIpLCAkc210cC0+bWVzc2FnZSk7CisJCQkJCX0KKwkJCQkJcmVxdWlyZSBOZXQ6OlNNVFA6OlNTTDsKIAkJCQkJJHNtdHAgPSBOZXQ6OlNNVFA6OlNTTC0+c3RhcnRfU1NMKCRzbXRwLAogCQkJCQkJCQkJICBzc2xfdmVyaWZ5X3BhcmFtcygpKQotCQkJCQkJb3IgZGllICJTVEFSVFRMUyBmYWlsZWQhICIuSU86OlNvY2tldDo6U1NMOjplcnJzdHIoKTsKLQkJCQkJJHNtdHBfZW5jcnlwdGlvbiA9ICcnOwotCQkJCQkjIFNlbmQgRUhMTyBhZ2FpbiB0byByZWNlaXZlIGZyZXNoCi0JCQkJCSMgc3VwcG9ydGVkIGNvbW1hbmRzCi0JCQkJCSRzbXRwLT5oZWxsbygkc210cF9kb21haW4pOwotCQkJCX0gZWxzZSB7Ci0JCQkJCWRpZSBzcHJpbnRmKF9fKCJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiKSwgJHNtdHAtPm1lc3NhZ2UpOworCQkJCQkJb3IgZGllIHNwcmludGYoX18oIlNUQVJUVExTIGZhaWxlZCEgJXMiKSwgSU86OlNvY2tldDo6U1NMOjplcnJzdHIoKSk7CiAJCQkJfQorCQkJCWVsc2UgeworCQkJCQkkc210cC0+c3RhcnR0bHMoc3NsX3ZlcmlmeV9wYXJhbXMoKSkKKwkJCQkJCW9yIGRpZSBzcHJpbnRmKF9fKCJTVEFSVFRMUyBmYWlsZWQhICVzIiksIElPOjpTb2NrZXQ6OlNTTDo6ZXJyc3RyKCkpOworCQkJCX0KKwkJCQkkc210cF9lbmNyeXB0aW9uID0gJyc7CisJCQkJIyBTZW5kIEVITE8gYWdhaW4gdG8gcmVjZWl2ZSBmcmVzaAorCQkJCSMgc3VwcG9ydGVkIGNvbW1hbmRzCisJCQkJJHNtdHAtPmhlbGxvKCRzbXRwX2RvbWFpbik7CiAJCQl9CiAJCX0KIApAQCAtMTU2MywxMCArMTYwNSwxMiBAQAogCSMgTm93IHBhcnNlIHRoZSBtZXNzYWdlIGJvZHkKIAl3aGlsZSg8JGZoPikgewogCQkkbWVzc2FnZSAuPSAgJF87Ci0JCWlmICgvXihTaWduZWQtb2ZmLWJ5fENjKTogKFtePl0qPj8pL2kpIHsKKwkJaWYgKC9eKFNpZ25lZC1vZmYtYnl8Q2MpOiAoLiopL2kpIHsKIAkJCWNob21wOwogCQkJbXkgKCR3aGF0LCAkYykgPSAoJDEsICQyKTsKLQkJCWNob21wICRjOworCQkJIyBzdHJpcCBnYXJiYWdlIGZvciB0aGUgYWRkcmVzcyB3ZSdsbCB1c2U6CisJCQkkYyA9IHN0cmlwX2dhcmJhZ2Vfb25lX2FkZHJlc3MoJGMpOworCQkJIyBzYW5pdGl6ZSBhIGJpdCBtb3JlIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHN1cHByZXNzIHRoZSBhZGRyZXNzOgogCQkJbXkgJHNjID0gc2FuaXRpemVfYWRkcmVzcygkYyk7CiAJCQlpZiAoJHNjIGVxICRzZW5kZXIpIHsKIAkJCQluZXh0IGlmICgkc3VwcHJlc3NfY2N7J3NlbGYnfSk7CkBAIC0xNjY0LDYgKzE3MDgsMTQgQEAKIAkJfQogCX0KIAkkbWVzc2FnZV9pZCA9IHVuZGVmOworCSRudW1fc2VudCsrOworCWlmIChkZWZpbmVkICRiYXRjaF9zaXplICYmICRudW1fc2VudCA9PSAkYmF0Y2hfc2l6ZSkgeworCQkkbnVtX3NlbnQgPSAwOworCQkkc210cC0+cXVpdCBpZiBkZWZpbmVkICRzbXRwOworCQl1bmRlZiAkc210cDsKKwkJdW5kZWYgJGF1dGg7CisJCXNsZWVwKCRyZWxvZ2luX2RlbGF5KSBpZiBkZWZpbmVkICRyZWxvZ2luX2RlbGF5OworCX0KIH0KIAogIyBFeGVjdXRlIGEgY29tbWFuZCAoZS5nLiAkdG9fY21kKSB0byBnZXQgYSBsaXN0IG9mIGVtYWlsIGFkZHJlc3NlcwpAQCAtMTczNyw2ICsxNzg5LDI1IEBACiAKIHN1YiB2YWxpZGF0ZV9wYXRjaCB7CiAJbXkgJGZuID0gc2hpZnQ7CisKKwlpZiAoJHJlcG8pIHsKKwkJbXkgJHZhbGlkYXRlX2hvb2sgPSBjYXRmaWxlKGNhdGRpcigkcmVwby0+cmVwb19wYXRoKCksICdob29rcycpLAorCQkJCQkgICAgJ3NlbmRlbWFpbC12YWxpZGF0ZScpOworCQlteSAkaG9va19lcnJvcjsKKwkJaWYgKC14ICR2YWxpZGF0ZV9ob29rKSB7CisJCQlteSAkdGFyZ2V0ID0gYWJzX3BhdGgoJGZuKTsKKwkJCSMgVGhlIGhvb2sgbmVlZHMgYSBjb3JyZWN0IGN3ZCBhbmQgR0lUX0RJUi4KKwkJCW15ICRjd2Rfc2F2ZSA9IGN3ZCgpOworCQkJY2hkaXIoJHJlcG8tPndjX3BhdGgoKSBvciAkcmVwby0+cmVwb19wYXRoKCkpCisJCQkJb3IgZGllKCJjaGRpcjogJCEiKTsKKwkJCWxvY2FsICRFTlZ7IkdJVF9ESVIifSA9ICRyZXBvLT5yZXBvX3BhdGgoKTsKKwkJCSRob29rX2Vycm9yID0gInJlamVjdGVkIGJ5IHNlbmRlbWFpbC12YWxpZGF0ZSBob29rIgorCQkJCWlmIHN5c3RlbSgkdmFsaWRhdGVfaG9vaywgJHRhcmdldCk7CisJCQljaGRpcigkY3dkX3NhdmUpIG9yIGRpZSgiY2hkaXI6ICQhIik7CisJCX0KKwkJcmV0dXJuICRob29rX2Vycm9yIGlmICRob29rX2Vycm9yOworCX0KKwogCW9wZW4obXkgJGZoLCAnPCcsICRmbikKIAkJb3IgZGllIHNwcmludGYoX18oInVuYWJsZSB0byBvcGVuICVzOiAlc1xuIiksICRmbiwgJCEpOwogCXdoaWxlIChteSAkbGluZSA9IDwkZmg+KSB7CmRpZmYgLS1naXQgYS9naXQtc3Rhc2guc2ggYi9naXQtc3Rhc2guc2gKaW5kZXggMTBjMjg0ZC4uOGIyY2U5YSAxMDA3NTUKLS0tIGEvZ2l0LXN0YXNoLnNoCisrKyBiL2dpdC1zdGFzaC5zaApAQCAtNyw4ICs3LDExIEBACiAgICBvcjogJGRhc2hsZXNzIGRyb3AgWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XQogICAgb3I6ICRkYXNobGVzcyAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0KICAgIG9yOiAkZGFzaGxlc3MgYnJhbmNoIDxicmFuY2huYW1lPiBbPHN0YXNoPl0KLSAgIG9yOiAkZGFzaGxlc3MgW3NhdmUgWy0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdCi0JCSAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbPG1lc3NhZ2U+XV0KKyAgIG9yOiAkZGFzaGxlc3Mgc2F2ZSBbLS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF0KKwkJICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzxtZXNzYWdlPl0KKyAgIG9yOiAkZGFzaGxlc3MgW3B1c2ggWy0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdCisJCSAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW0gPG1lc3NhZ2U+XQorCQkgICAgICAgWy0tIDxwYXRoc3BlYz4uLi5dXQogICAgb3I6ICRkYXNobGVzcyBjbGVhciIKIAogU1VCRElSRUNUT1JZX09LPVllcwpAQCAtMTYsNiArMTksNyBAQAogU1RBUlRfRElSPSQocHdkKQogLiBnaXQtc2gtc2V0dXAKIHJlcXVpcmVfd29ya190cmVlCitwcmVmaXg9JChnaXQgcmV2LXBhcnNlIC0tc2hvdy1wcmVmaXgpIHx8IGV4aXQgMQogY2RfdG9fdG9wbGV2ZWwKIAogVE1QPSIkR0lUX0RJUi8uZ2l0LXN0YXNoLiQkIgpAQCAtMzMsMTUgKzM3LDIyIEBACiBmaQogCiBub19jaGFuZ2VzICgpIHsKLQlnaXQgZGlmZi1pbmRleCAtLXF1aWV0IC0tY2FjaGVkIEhFQUQgLS1pZ25vcmUtc3VibW9kdWxlcyAtLSAmJgotCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgLS1pZ25vcmUtc3VibW9kdWxlcyAmJgorCWdpdCBkaWZmLWluZGV4IC0tcXVpZXQgLS1jYWNoZWQgSEVBRCAtLWlnbm9yZS1zdWJtb2R1bGVzIC0tICIkQCIgJiYKKwlnaXQgZGlmZi1maWxlcyAtLXF1aWV0IC0taWdub3JlLXN1Ym1vZHVsZXMgLS0gIiRAIiAmJgogCSh0ZXN0IC16ICIkdW50cmFja2VkIiB8fCB0ZXN0IC16ICIkKHVudHJhY2tlZF9maWxlcykiKQogfQogCiB1bnRyYWNrZWRfZmlsZXMgKCkgeworCWlmIHRlc3QgIiQxIiA9ICIteiIKKwl0aGVuCisJCXNoaWZ0CisJCXo9LXoKKwllbHNlCisJCXo9CisJZmkKIAlleGNsX29wdD0tLWV4Y2x1ZGUtc3RhbmRhcmQKIAl0ZXN0ICIkdW50cmFja2VkIiA9ICJhbGwiICYmIGV4Y2xfb3B0PQotCWdpdCBscy1maWxlcyAtbyAteiAkZXhjbF9vcHQKKwlnaXQgbHMtZmlsZXMgLW8gJHogJGV4Y2xfb3B0IC0tICIkQCIKIH0KIAogY2xlYXJfc3Rhc2ggKCkgewpAQCAtNTYsMTEgKzY3LDI5IEBACiB9CiAKIGNyZWF0ZV9zdGFzaCAoKSB7Ci0Jc3Rhc2hfbXNnPSIkMSIKLQl1bnRyYWNrZWQ9IiQyIgorCXN0YXNoX21zZz0KKwl1bnRyYWNrZWQ9CisJd2hpbGUgdGVzdCAkIyAhPSAwCisJZG8KKwkJY2FzZSAiJDEiIGluCisJCS1tfC0tbWVzc2FnZSkKKwkJCXNoaWZ0CisJCQlzdGFzaF9tc2c9JHsxPyJCVUc6IGNyZWF0ZV9zdGFzaCAoKSAtbSByZXF1aXJlcyBhbiBhcmd1bWVudCJ9CisJCQk7OworCQktdXwtLWluY2x1ZGUtdW50cmFja2VkKQorCQkJc2hpZnQKKwkJCXVudHJhY2tlZD0kezE/IkJVRzogY3JlYXRlX3N0YXNoICgpIC11IHJlcXVpcmVzIGFuIGFyZ3VtZW50In0KKwkJCTs7CisJCS0tKQorCQkJc2hpZnQKKwkJCWJyZWFrCisJCQk7OworCQllc2FjCisJCXNoaWZ0CisJZG9uZQogCiAJZ2l0IHVwZGF0ZS1pbmRleCAtcSAtLXJlZnJlc2gKLQlpZiBub19jaGFuZ2VzCisJaWYgbm9fY2hhbmdlcyAiJEAiCiAJdGhlbgogCQlleGl0IDAKIAlmaQpAQCAtOTIsNyArMTIxLDcgQEAKIAkJIyBVbnRyYWNrZWQgZmlsZXMgYXJlIHN0b3JlZCBieSB0aGVtc2VsdmVzIGluIGEgcGFyZW50bGVzcyBjb21taXQsIGZvcgogCQkjIGVhc2Ugb2YgdW5wYWNraW5nIGxhdGVyLgogCQl1X2NvbW1pdD0kKAotCQkJdW50cmFja2VkX2ZpbGVzIHwgKAorCQkJdW50cmFja2VkX2ZpbGVzIC16ICIkQCIgfCAoCiAJCQkJR0lUX0lOREVYX0ZJTEU9IiRUTVBpbmRleCIgJiYKIAkJCQlleHBvcnQgR0lUX0lOREVYX0ZJTEUgJiYKIAkJCQlybSAtZiAiJFRNUGluZGV4IiAmJgpAQCAtMTE1LDcgKzE0NCw3IEBACiAJCQlnaXQgcmVhZC10cmVlIC0taW5kZXgtb3V0cHV0PSIkVE1QaW5kZXgiIC1tICRpX3RyZWUgJiYKIAkJCUdJVF9JTkRFWF9GSUxFPSIkVE1QaW5kZXgiICYmCiAJCQlleHBvcnQgR0lUX0lOREVYX0ZJTEUgJiYKLQkJCWdpdCBkaWZmLWluZGV4IC0tbmFtZS1vbmx5IC16IEhFQUQgLS0gPiIkVE1QLXN0YWdlbmFtZXMiICYmCisJCQlnaXQgZGlmZi1pbmRleCAtLW5hbWUtb25seSAteiBIRUFEIC0tICIkQCIgPiIkVE1QLXN0YWdlbmFtZXMiICYmCiAJCQlnaXQgdXBkYXRlLWluZGV4IC16IC0tYWRkIC0tcmVtb3ZlIC0tc3RkaW4gPCIkVE1QLXN0YWdlbmFtZXMiICYmCiAJCQlnaXQgd3JpdGUtdHJlZSAmJgogCQkJcm0gLWYgIiRUTVBpbmRleCIKQEAgLTEyOSw3ICsxNTgsNyBAQAogCiAJCSMgZmluZCBvdXQgd2hhdCB0aGUgdXNlciB3YW50cwogCQlHSVRfSU5ERVhfRklMRT0iJFRNUC1pbmRleCIgXAotCQkJZ2l0IGFkZC0taW50ZXJhY3RpdmUgLS1wYXRjaD1zdGFzaCAtLSAmJgorCQkJZ2l0IGFkZC0taW50ZXJhY3RpdmUgLS1wYXRjaD1zdGFzaCAtLSAiJEAiICYmCiAKIAkJIyBzdGF0ZSBvZiB0aGUgd29ya2luZyB0cmVlCiAJCXdfdHJlZT0kKEdJVF9JTkRFWF9GSUxFPSIkVE1QLWluZGV4IiBnaXQgd3JpdGUtdHJlZSkgfHwKQEAgLTE4OSwxMCArMjE4LDExIEBACiAJcmV0dXJuICRyZXQKIH0KIAotc2F2ZV9zdGFzaCAoKSB7CitwdXNoX3N0YXNoICgpIHsKIAlrZWVwX2luZGV4PQogCXBhdGNoX21vZGU9CiAJdW50cmFja2VkPQorCXN0YXNoX21zZz0KIAl3aGlsZSB0ZXN0ICQjICE9IDAKIAlkbwogCQljYXNlICIkMSIgaW4KQEAgLTIxNiw2ICsyNDYsMTEgQEAKIAkJLWF8LS1hbGwpCiAJCQl1bnRyYWNrZWQ9YWxsCiAJCQk7OworCQktbXwtLW1lc3NhZ2UpCisJCQlzaGlmdAorCQkJdGVzdCAteiAkezEreH0gJiYgdXNhZ2UKKwkJCXN0YXNoX21zZz0kMQorCQkJOzsKIAkJLS1oZWxwKQogCQkJc2hvd19oZWxwCiAJCQk7OwpAQCAtMjQ2LDM5ICsyODEsNTMgQEAKIAkJc2hpZnQKIAlkb25lCiAKKwlldmFsICJzZXQgJChnaXQgcmV2LXBhcnNlIC0tc3EgLS1wcmVmaXggIiRwcmVmaXgiIC0tICIkQCIpIgorCiAJaWYgdGVzdCAtbiAiJHBhdGNoX21vZGUiICYmIHRlc3QgLW4gIiR1bnRyYWNrZWQiCiAJdGhlbgogCQlkaWUgIiQoZ2V0dGV4dCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIpIgogCWZpCiAKLQlzdGFzaF9tc2c9IiQqIgorCXRlc3QgLW4gIiR1bnRyYWNrZWQiIHx8IGdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggLS0gIiRAIiA+L2Rldi9udWxsIHx8IGV4aXQgMQogCiAJZ2l0IHVwZGF0ZS1pbmRleCAtcSAtLXJlZnJlc2gKLQlpZiBub19jaGFuZ2VzCisJaWYgbm9fY2hhbmdlcyAiJEAiCiAJdGhlbgogCQlzYXkgIiQoZ2V0dGV4dCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIikiCiAJCWV4aXQgMAogCWZpCisKIAlnaXQgcmVmbG9nIGV4aXN0cyAkcmVmX3N0YXNoIHx8CiAJCWNsZWFyX3N0YXNoIHx8IGRpZSAiJChnZXR0ZXh0ICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIpIgogCi0JY3JlYXRlX3N0YXNoICIkc3Rhc2hfbXNnIiAkdW50cmFja2VkCisJY3JlYXRlX3N0YXNoIC1tICIkc3Rhc2hfbXNnIiAtdSAiJHVudHJhY2tlZCIgLS0gIiRAIgogCXN0b3JlX3N0YXNoIC1tICIkc3Rhc2hfbXNnIiAtcSAkd19jb21taXQgfHwKIAlkaWUgIiQoZ2V0dGV4dCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIikiCiAJc2F5ICIkKGV2YWxfZ2V0dGV4dCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlIFwkc3Rhc2hfbXNnIikiCiAKIAlpZiB0ZXN0IC16ICIkcGF0Y2hfbW9kZSIKIAl0aGVuCi0JCWdpdCByZXNldCAtLWhhcmQgJHtHSVRfUVVJRVQ6Ky1xfQogCQl0ZXN0ICIkdW50cmFja2VkIiA9ICJhbGwiICYmIENMRUFOX1hfT1BUSU9OPS14IHx8IENMRUFOX1hfT1BUSU9OPQogCQlpZiB0ZXN0IC1uICIkdW50cmFja2VkIgogCQl0aGVuCi0JCQlnaXQgY2xlYW4gLS1mb3JjZSAtLXF1aWV0IC1kICRDTEVBTl9YX09QVElPTgorCQkJZ2l0IGNsZWFuIC0tZm9yY2UgLS1xdWlldCAtZCAkQ0xFQU5fWF9PUFRJT04gLS0gIiRAIgorCQlmaQorCisJCWlmIHRlc3QgJCMgIT0gMAorCQl0aGVuCisJCQlnaXQgcmVzZXQgLXEgLS0gIiRAIgorCQkJZ2l0IGxzLWZpbGVzIC16IC0tbW9kaWZpZWQgLS0gIiRAIiB8CisJCQlnaXQgY2hlY2tvdXQtaW5kZXggLXogLS1mb3JjZSAtLXN0ZGluCisJCQlnaXQgY2xlYW4gLS1mb3JjZSAtcSAtZCAtLSAiJEAiCisJCWVsc2UKKwkJCWdpdCByZXNldCAtLWhhcmQgLXEKIAkJZmkKIAogCQlpZiB0ZXN0ICIka2VlcF9pbmRleCIgPSAidCIgJiYgdGVzdCAtbiAiJGlfdHJlZSIKIAkJdGhlbgotCQkJZ2l0IHJlYWQtdHJlZSAtLXJlc2V0IC11ICRpX3RyZWUKKwkJCWdpdCByZWFkLXRyZWUgLS1yZXNldCAkaV90cmVlCisJCQlnaXQgbHMtZmlsZXMgLXogLS1tb2RpZmllZCAtLSAiJEAiIHwKKwkJCWdpdCBjaGVja291dC1pbmRleCAteiAtLWZvcmNlIC0tc3RkaW4KIAkJZmkKIAllbHNlCiAJCWdpdCBhcHBseSAtUiA8ICIkVE1QLXBhdGNoIiB8fApAQCAtMjg2LDExICszMzUsNDEgQEAKIAogCQlpZiB0ZXN0ICIka2VlcF9pbmRleCIgIT0gInQiCiAJCXRoZW4KLQkJCWdpdCByZXNldAorCQkJZ2l0IHJlc2V0IC1xIC0tICIkQCIKIAkJZmkKIAlmaQogfQogCitzYXZlX3N0YXNoICgpIHsKKwlwdXNoX29wdGlvbnM9CisJd2hpbGUgdGVzdCAkIyAhPSAwCisJZG8KKwkJY2FzZSAiJDEiIGluCisJCS0tKQorCQkJc2hpZnQKKwkJCWJyZWFrCisJCQk7OworCQktKikKKwkJCSMgcGFzcyBhbGwgb3B0aW9ucyB0aHJvdWdoIHRvIHB1c2hfc3Rhc2gKKwkJCXB1c2hfb3B0aW9ucz0iJHB1c2hfb3B0aW9ucyAkMSIKKwkJCTs7CisJCSopCisJCQlicmVhaworCQkJOzsKKwkJZXNhYworCQlzaGlmdAorCWRvbmUKKworCXN0YXNoX21zZz0iJCoiCisKKwlpZiB0ZXN0IC16ICIkc3Rhc2hfbXNnIgorCXRoZW4KKwkJcHVzaF9zdGFzaCAkcHVzaF9vcHRpb25zCisJZWxzZQorCQlwdXNoX3N0YXNoICRwdXNoX29wdGlvbnMgLW0gIiRzdGFzaF9tc2ciCisJZmkKK30KKwogaGF2ZV9zdGFzaCAoKSB7CiAJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtLXF1aWV0ICRyZWZfc3Rhc2ggPi9kZXYvbnVsbAogfQpAQCAtNDEzLDcgKzQ5Miw3IEBACiAKIAljYXNlICQjIGluCiAJCTApCi0JCQloYXZlX3N0YXNoIHx8IGRpZSAiJChnZXR0ZXh0ICJObyBzdGFzaCBmb3VuZC4iKSIKKwkJCWhhdmVfc3Rhc2ggfHwgZGllICIkKGdldHRleHQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIikiCiAJCQlzZXQgLS0gJHtyZWZfc3Rhc2h9QHswfQogCQk7OwogCQkxKQpAQCAtNTAyLDEwICs1ODEsMTAgQEAKIAogCWlmIHRlc3QgLW4gIiR1X3RyZWUiCiAJdGhlbgotCQlHSVRfSU5ERVhfRklMRT0iJFRNUGluZGV4IiBnaXQtcmVhZC10cmVlICIkdV90cmVlIiAmJgorCQlHSVRfSU5ERVhfRklMRT0iJFRNUGluZGV4IiBnaXQgcmVhZC10cmVlICIkdV90cmVlIiAmJgogCQlHSVRfSU5ERVhfRklMRT0iJFRNUGluZGV4IiBnaXQgY2hlY2tvdXQtaW5kZXggLS1hbGwgJiYKIAkJcm0gLWYgIiRUTVBpbmRleCIgfHwKLQkJZGllICIkKGdldHRleHQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIikiCisJCWRpZSAiJChnZXR0ZXh0ICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIpIgogCWZpCiAKIAlldmFsICIKQEAgLTU1OSw3ICs2MzgsNyBAQAogCQlkcm9wX3N0YXNoICIkQCIKIAllbHNlCiAJCXN0YXR1cz0kPwotCQlzYXkgIiQoZ2V0dGV4dCAiVGhlIHN0YXNoIGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iKSIKKwkJc2F5ICIkKGdldHRleHQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIikiCiAJCWV4aXQgJHN0YXR1cwogCWZpCiB9CkBAIC01OTAsMTggKzY2OSwyMSBAQAogCX0KIH0KIAordGVzdCAiJDEiID0gIi1wIiAmJiBzZXQgInB1c2giICIkQCIKKwogUEFSU0VfQ0FDSEU9Jy0tbm90LXBhcnNlZCcKLSMgVGhlIGRlZmF1bHQgY29tbWFuZCBpcyAic2F2ZSIgaWYgbm90aGluZyBidXQgb3B0aW9ucyBhcmUgZ2l2ZW4KKyMgVGhlIGRlZmF1bHQgY29tbWFuZCBpcyAicHVzaCIgaWYgbm90aGluZyBidXQgb3B0aW9ucyBhcmUgZ2l2ZW4KIHNlZW5fbm9uX29wdGlvbj0KIGZvciBvcHQKIGRvCiAJY2FzZSAiJG9wdCIgaW4KKwktLSkgYnJlYWsgOzsKIAktKikgOzsKIAkqKSBzZWVuX25vbl9vcHRpb249dDsgYnJlYWsgOzsKIAllc2FjCiBkb25lCiAKLXRlc3QgLW4gIiRzZWVuX25vbl9vcHRpb24iIHx8IHNldCAic2F2ZSIgIiRAIgordGVzdCAtbiAiJHNlZW5fbm9uX29wdGlvbiIgfHwgc2V0ICJwdXNoIiAiJEAiCiAKICMgTWFpbiBjb21tYW5kIHNldAogY2FzZSAiJDEiIGluCkBAIC02MTcsNiArNjk5LDEwIEBACiAJc2hpZnQKIAlzYXZlX3N0YXNoICIkQCIKIAk7OworcHVzaCkKKwlzaGlmdAorCXB1c2hfc3Rhc2ggIiRAIgorCTs7CiBhcHBseSkKIAlzaGlmdAogCWFwcGx5X3N0YXNoICIkQCIKQEAgLTYyNyw3ICs3MTMsNyBAQAogCTs7CiBjcmVhdGUpCiAJc2hpZnQKLQljcmVhdGVfc3Rhc2ggIiQqIiAmJiBlY2hvICIkd19jb21taXQiCisJY3JlYXRlX3N0YXNoIC1tICIkKiIgJiYgZWNobyAiJHdfY29tbWl0IgogCTs7CiBzdG9yZSkKIAlzaGlmdApAQCAtNjQ4LDcgKzczNCw3IEBACiAqKQogCWNhc2UgJCMgaW4KIAkwKQotCQlzYXZlX3N0YXNoICYmCisJCXB1c2hfc3Rhc2ggJiYKIAkJc2F5ICIkKGdldHRleHQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIpIgogCQk7OwogCSopCmRpZmYgLS1naXQgYS9naXQtc3VibW9kdWxlLnNoIGIvZ2l0LXN1Ym1vZHVsZS5zaAppbmRleCAxMzZlMjZhLi42NmQxYWU4IDEwMDc1NQotLS0gYS9naXQtc3VibW9kdWxlLnNoCisrKyBiL2dpdC1zdWJtb2R1bGUuc2gKQEAgLTIxMyw3ICsyMTMsOCBAQAogCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICInXCRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXggYW5kIGlzIG5vdCBhIHN1Ym1vZHVsZSIpIgogCWZpCiAKLQlpZiB0ZXN0IC16ICIkZm9yY2UiICYmICEgZ2l0IGFkZCAtLWRyeS1ydW4gLS1pZ25vcmUtbWlzc2luZyAiJHNtX3BhdGgiID4gL2Rldi9udWxsIDI+JjEKKwlpZiB0ZXN0IC16ICIkZm9yY2UiICYmCisJCSEgZ2l0IGFkZCAtLWRyeS1ydW4gLS1pZ25vcmUtbWlzc2luZyAtLW5vLXdhcm4tZW1iZWRkZWQtcmVwbyAiJHNtX3BhdGgiID4gL2Rldi9udWxsIDI+JjEKIAl0aGVuCiAJCWV2YWxfZ2V0dGV4dGxuICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOgogXCRzbV9wYXRoCkBAIC0yNjcsNyArMjY4LDcgQEAKIAlmaQogCWdpdCBjb25maWcgc3VibW9kdWxlLiIkc21fbmFtZSIudXJsICIkcmVhbHJlcG8iCiAKLQlnaXQgYWRkICRmb3JjZSAiJHNtX3BhdGgiIHx8CisJZ2l0IGFkZCAtLW5vLXdhcm4tZW1iZWRkZWQtcmVwbyAkZm9yY2UgIiRzbV9wYXRoIiB8fAogCWRpZSAiJChldmFsX2dldHRleHQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICdcJHNtX3BhdGgnIikiCiAKIAlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS4iJHNtX25hbWUiLnBhdGggIiRzbV9wYXRoIiAmJgpAQCAtMjc4LDYgKzI3OSwyMCBAQAogCWZpICYmCiAJZ2l0IGFkZCAtLWZvcmNlIC5naXRtb2R1bGVzIHx8CiAJZGllICIkKGV2YWxfZ2V0dGV4dCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnXCRzbV9wYXRoJyIpIgorCisJIyBORUVEU1dPUks6IEluIGEgbXVsdGktd29ya2luZy10cmVlIHdvcmxkLCB0aGlzIG5lZWRzIHRvIGJlCisJIyBzZXQgaW4gdGhlIHBlci13b3JrdHJlZSBjb25maWcuCisJaWYgZ2l0IGNvbmZpZyAtLWdldCBzdWJtb2R1bGUuYWN0aXZlID4vZGV2L251bGwKKwl0aGVuCisJCSMgSWYgdGhlIHN1Ym1vZHVsZSBiZWluZyBhZGRpbmcgaXNuJ3QgYWxyZWFkeSBjb3ZlcmVkIGJ5IHRoZQorCQkjIGN1cnJlbnQgY29uZmlndXJlZCBwYXRoc3BlYywgc2V0IHRoZSBzdWJtb2R1bGUncyBhY3RpdmUgZmxhZworCQlpZiAhIGdpdCBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgIiRzbV9wYXRoIgorCQl0aGVuCisJCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS4iJHNtX25hbWUiLmFjdGl2ZSAidHJ1ZSIKKwkJZmkKKwllbHNlCisJCWdpdCBjb25maWcgc3VibW9kdWxlLiIkc21fbmFtZSIuYWN0aXZlICJ0cnVlIgorCWZpCiB9CiAKICMKQEAgLTMxOCw3ICszMzMsNyBAQAogCQlnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCAtLXByZWZpeCAiJHd0X3ByZWZpeCIgfHwKIAkJZWNobyAiI3VubWF0Y2hlZCIgJD8KIAl9IHwKLQl3aGlsZSByZWFkIG1vZGUgc2hhMSBzdGFnZSBzbV9wYXRoCisJd2hpbGUgcmVhZCAtciBtb2RlIHNoYTEgc3RhZ2Ugc21fcGF0aAogCWRvCiAJCWRpZV9pZl91bm1hdGNoZWQgIiRtb2RlIiAiJHNoYTEiCiAJCWlmIHRlc3QgLWUgIiRzbV9wYXRoIi8uZ2l0CkBAIC00MjcsNyArNDQyLDcgQEAKIAkJZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgLS1wcmVmaXggIiR3dF9wcmVmaXgiICIkQCIgfHwKIAkJZWNobyAiI3VubWF0Y2hlZCIgJD8KIAl9IHwKLQl3aGlsZSByZWFkIG1vZGUgc2hhMSBzdGFnZSBzbV9wYXRoCisJd2hpbGUgcmVhZCAtciBtb2RlIHNoYTEgc3RhZ2Ugc21fcGF0aAogCWRvCiAJCWRpZV9pZl91bm1hdGNoZWQgIiRtb2RlIiAiJHNoYTEiCiAJCW5hbWU9JChnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSAiJHNtX3BhdGgiKSB8fCBleGl0CkBAIC01OTEsMTIgKzYwNiwxMSBAQAogCQkiJEAiIHx8IGVjaG8gIiN1bm1hdGNoZWQiICQ/CiAJfSB8IHsKIAllcnI9Ci0Jd2hpbGUgcmVhZCBtb2RlIHNoYTEgc3RhZ2UganVzdF9jbG9uZWQgc21fcGF0aAorCXdoaWxlIHJlYWQgLXIgbW9kZSBzaGExIHN0YWdlIGp1c3RfY2xvbmVkIHNtX3BhdGgKIAlkbwogCQlkaWVfaWZfdW5tYXRjaGVkICIkbW9kZSIgIiRzaGExIgogCiAJCW5hbWU9JChnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSAiJHNtX3BhdGgiKSB8fCBleGl0Ci0JCXVybD0kKGdpdCBjb25maWcgc3VibW9kdWxlLiIkbmFtZSIudXJsKQogCQlpZiAhIHRlc3QgLXogIiR1cGRhdGUiCiAJCXRoZW4KIAkJCXVwZGF0ZV9tb2R1bGU9JHVwZGF0ZQpAQCAtODMzLDcgKzg0Nyw3IEBACiAJIyBHZXQgbW9kaWZpZWQgbW9kdWxlcyBjYXJlZCBieSB1c2VyCiAJbW9kdWxlcz0kKGdpdCAkZGlmZl9jbWQgJGNhY2hlZCAtLWlnbm9yZS1zdWJtb2R1bGVzPWRpcnR5IC0tcmF3ICRoZWFkIC0tICIkQCIgfAogCQlzYW5lX2VncmVwICdeOihbMC03XSogKT8xNjAwMDAnIHwKLQkJd2hpbGUgcmVhZCBtb2Rfc3JjIG1vZF9kc3Qgc2hhMV9zcmMgc2hhMV9kc3Qgc3RhdHVzIHNtX3BhdGgKKwkJd2hpbGUgcmVhZCAtciBtb2Rfc3JjIG1vZF9kc3Qgc2hhMV9zcmMgc2hhMV9kc3Qgc3RhdHVzIHNtX3BhdGgKIAkJZG8KIAkJCSMgQWx3YXlzIHNob3cgbW9kdWxlcyBkZWxldGVkIG9yIHR5cGUtY2hhbmdlZCAoYmxvYjwtPm1vZHVsZSkKIAkJCWlmIHRlc3QgIiRzdGF0dXMiID0gRCB8fCB0ZXN0ICIkc3RhdHVzIiA9IFQKQEAgLTg0OSw3ICs4NjMsNyBAQAogCQkJCXRlc3QgJHN0YXR1cyAhPSBBICYmIHRlc3QgJGlnbm9yZV9jb25maWcgPSBhbGwgJiYgY29udGludWUKIAkJCWZpCiAJCQkjIEFsc28gc2hvdyBhZGRlZCBvciBtb2RpZmllZCBtb2R1bGVzIHdoaWNoIGFyZSBjaGVja2VkIG91dAotCQkJR0lUX0RJUj0iJHNtX3BhdGgvLmdpdCIgZ2l0LXJldi1wYXJzZSAtLWdpdC1kaXIgPi9kZXYvbnVsbCAyPiYxICYmCisJCQlHSVRfRElSPSIkc21fcGF0aC8uZ2l0IiBnaXQgcmV2LXBhcnNlIC0tZ2l0LWRpciA+L2Rldi9udWxsIDI+JjEgJiYKIAkJCXByaW50ZiAnJXNcbicgIiRzbV9wYXRoIgogCQlkb25lCiAJKQpAQCAtODU5LDcgKzg3Myw3IEBACiAJZ2l0ICRkaWZmX2NtZCAkY2FjaGVkIC0taWdub3JlLXN1Ym1vZHVsZXM9ZGlydHkgLS1yYXcgJGhlYWQgLS0gJG1vZHVsZXMgfAogCXNhbmVfZWdyZXAgJ146KFswLTddKiApPzE2MDAwMCcgfAogCWN1dCAtYzItIHwKLQl3aGlsZSByZWFkIG1vZF9zcmMgbW9kX2RzdCBzaGExX3NyYyBzaGExX2RzdCBzdGF0dXMgbmFtZQorCXdoaWxlIHJlYWQgLXIgbW9kX3NyYyBtb2RfZHN0IHNoYTFfc3JjIHNoYTFfZHN0IHN0YXR1cyBuYW1lCiAJZG8KIAkJaWYgdGVzdCAteiAiJGNhY2hlZCIgJiYKIAkJCXRlc3QgJHNoYTFfZHN0ID0gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApAQCAtODgzLDExICs4OTcsMTEgQEAKIAkJbWlzc2luZ19kc3Q9CiAKIAkJdGVzdCAkbW9kX3NyYyA9IDE2MDAwMCAmJgotCQkhIEdJVF9ESVI9IiRuYW1lLy5naXQiIGdpdC1yZXYtcGFyc2UgLXEgLS12ZXJpZnkgJHNoYTFfc3JjXjAgPi9kZXYvbnVsbCAmJgorCQkhIEdJVF9ESVI9IiRuYW1lLy5naXQiIGdpdCByZXYtcGFyc2UgLXEgLS12ZXJpZnkgJHNoYTFfc3JjXjAgPi9kZXYvbnVsbCAmJgogCQltaXNzaW5nX3NyYz10CiAKIAkJdGVzdCAkbW9kX2RzdCA9IDE2MDAwMCAmJgotCQkhIEdJVF9ESVI9IiRuYW1lLy5naXQiIGdpdC1yZXYtcGFyc2UgLXEgLS12ZXJpZnkgJHNoYTFfZHN0XjAgPi9kZXYvbnVsbCAmJgorCQkhIEdJVF9ESVI9IiRuYW1lLy5naXQiIGdpdCByZXYtcGFyc2UgLXEgLS12ZXJpZnkgJHNoYTFfZHN0XjAgPi9kZXYvbnVsbCAmJgogCQltaXNzaW5nX2RzdD10CiAKIAkJZGlzcGxheV9uYW1lPSQoZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHJlbGF0aXZlLXBhdGggIiRuYW1lIiAiJHd0X3ByZWZpeCIpCkBAIC0xMDA2LDE4ICsxMDIwLDE3IEBACiAJCWdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IC0tcHJlZml4ICIkd3RfcHJlZml4IiAiJEAiIHx8CiAJCWVjaG8gIiN1bm1hdGNoZWQiICQ/CiAJfSB8Ci0Jd2hpbGUgcmVhZCBtb2RlIHNoYTEgc3RhZ2Ugc21fcGF0aAorCXdoaWxlIHJlYWQgLXIgbW9kZSBzaGExIHN0YWdlIHNtX3BhdGgKIAlkbwogCQlkaWVfaWZfdW5tYXRjaGVkICIkbW9kZSIgIiRzaGExIgogCQluYW1lPSQoZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgIiRzbV9wYXRoIikgfHwgZXhpdAotCQl1cmw9JChnaXQgY29uZmlnIHN1Ym1vZHVsZS4iJG5hbWUiLnVybCkKIAkJZGlzcGxheXBhdGg9JChnaXQgc3VibW9kdWxlLS1oZWxwZXIgcmVsYXRpdmUtcGF0aCAiJHByZWZpeCRzbV9wYXRoIiAiJHd0X3ByZWZpeCIpCiAJCWlmIHRlc3QgIiRzdGFnZSIgPSBVCiAJCXRoZW4KIAkJCXNheSAiVSRzaGExICRkaXNwbGF5cGF0aCIKIAkJCWNvbnRpbnVlCiAJCWZpCi0JCWlmIHRlc3QgLXogIiR1cmwiIHx8CisJCWlmICEgZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGlzLWFjdGl2ZSAiJHNtX3BhdGgiIHx8CiAJCXsKIAkJCSEgdGVzdCAtZCAiJHNtX3BhdGgiLy5naXQgJiYKIAkJCSEgdGVzdCAtZiAiJHNtX3BhdGgiLy5naXQKQEAgLTEwODcsOSArMTEwMCwxNiBAQAogCQlnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCAtLXByZWZpeCAiJHd0X3ByZWZpeCIgIiRAIiB8fAogCQllY2hvICIjdW5tYXRjaGVkIiAkPwogCX0gfAotCXdoaWxlIHJlYWQgbW9kZSBzaGExIHN0YWdlIHNtX3BhdGgKKwl3aGlsZSByZWFkIC1yIG1vZGUgc2hhMSBzdGFnZSBzbV9wYXRoCiAJZG8KIAkJZGllX2lmX3VubWF0Y2hlZCAiJG1vZGUiICIkc2hhMSIKKworCQkjIHNraXAgaW5hY3RpdmUgc3VibW9kdWxlcworCQlpZiAhIGdpdCBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgIiRzbV9wYXRoIgorCQl0aGVuCisJCQljb250aW51ZQorCQlmaQorCiAJCW5hbWU9JChnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSAiJHNtX3BhdGgiKQogCQl1cmw9JChnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIC0tZ2V0IHN1Ym1vZHVsZS4iJG5hbWUiLnVybCkKIApAQCAtMTExMiwyNyArMTEzMiwyNCBAQAogCQkJOzsKIAkJZXNhYwogCi0JCWlmIGdpdCBjb25maWcgInN1Ym1vZHVsZS4kbmFtZS51cmwiID4vZGV2L251bGwgMj4vZGV2L251bGwKKwkJZGlzcGxheXBhdGg9JChnaXQgc3VibW9kdWxlLS1oZWxwZXIgcmVsYXRpdmUtcGF0aCAiJHByZWZpeCRzbV9wYXRoIiAiJHd0X3ByZWZpeCIpCisJCXNheSAiJChldmFsX2dldHRleHQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJ1wkZGlzcGxheXBhdGgnIikiCisJCWdpdCBjb25maWcgc3VibW9kdWxlLiIkbmFtZSIudXJsICIkc3VwZXJfY29uZmlnX3VybCIKKworCQlpZiB0ZXN0IC1lICIkc21fcGF0aCIvLmdpdAogCQl0aGVuCi0JCQlkaXNwbGF5cGF0aD0kKGdpdCBzdWJtb2R1bGUtLWhlbHBlciByZWxhdGl2ZS1wYXRoICIkcHJlZml4JHNtX3BhdGgiICIkd3RfcHJlZml4IikKLQkJCXNheSAiJChldmFsX2dldHRleHQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJ1wkZGlzcGxheXBhdGgnIikiCi0JCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS4iJG5hbWUiLnVybCAiJHN1cGVyX2NvbmZpZ191cmwiCisJCSgKKwkJCXNhbml0aXplX3N1Ym1vZHVsZV9lbnYKKwkJCWNkICIkc21fcGF0aCIKKwkJCXJlbW90ZT0kKGdldF9kZWZhdWx0X3JlbW90ZSkKKwkJCWdpdCBjb25maWcgcmVtb3RlLiIkcmVtb3RlIi51cmwgIiRzdWJfb3JpZ2luX3VybCIKIAotCQkJaWYgdGVzdCAtZSAiJHNtX3BhdGgiLy5naXQKKwkJCWlmIHRlc3QgLW4gIiRyZWN1cnNpdmUiCiAJCQl0aGVuCi0JCQkoCi0JCQkJc2FuaXRpemVfc3VibW9kdWxlX2VudgotCQkJCWNkICIkc21fcGF0aCIKLQkJCQlyZW1vdGU9JChnZXRfZGVmYXVsdF9yZW1vdGUpCi0JCQkJZ2l0IGNvbmZpZyByZW1vdGUuIiRyZW1vdGUiLnVybCAiJHN1Yl9vcmlnaW5fdXJsIgotCi0JCQkJaWYgdGVzdCAtbiAiJHJlY3Vyc2l2ZSIKLQkJCQl0aGVuCi0JCQkJCXByZWZpeD0iJHByZWZpeCRzbV9wYXRoLyIKLQkJCQkJZXZhbCBjbWRfc3luYwotCQkJCWZpCi0JCQkpCisJCQkJcHJlZml4PSIkcHJlZml4JHNtX3BhdGgvIgorCQkJCWV2YWwgY21kX3N5bmMKIAkJCWZpCisJCSkKIAkJZmkKIAlkb25lCiB9CmRpZmYgLS1naXQgYS9naXQtc3ZuLnBlcmwgYi9naXQtc3ZuLnBlcmwKaW5kZXggZmE0MjM2NC4uZDI0MDQxOCAxMDA3NTUKLS0tIGEvZ2l0LXN2bi5wZXJsCisrKyBiL2dpdC1zdm4ucGVybApAQCAtMTE3NSwxMCArMTE3NSwxMCBAQAogCTo6X3JlcV9zdm4oKTsKIAlyZXF1aXJlIFNWTjo6Q2xpZW50OwogCisJbXkgKCRjb25maWcsICRiYXRvbiwgdW5kZWYpID0gR2l0OjpTVk46OlJhOjpwcmVwYXJlX2NvbmZpZ19vbmNlKCk7CiAJbXkgJGN0eCA9IFNWTjo6Q2xpZW50LT5uZXcoCi0JCWNvbmZpZyA9PiBTVk46OkNvcmU6OmNvbmZpZ19nZXRfY29uZmlnKAotCQkJJEdpdDo6U1ZOOjpSYTo6Y29uZmlnX2RpcgotCQkpLAorCQlhdXRoID0+ICRiYXRvbiwKKwkJY29uZmlnID0+ICRjb25maWcsCiAJCWxvZ19tc2cgPT4gc3ViIHsKIAkJCSR7ICRfWzBdIH0gPSBkZWZpbmVkICRfbWVzc2FnZQogCQkJCT8gJF9tZXNzYWdlCmRpZmYgLS1naXQgYS9naXQuYyBiL2dpdC5jCmluZGV4IGM4ODcyNzIuLjllOTZkZDQgMTAwNjQ0Ci0tLSBhL2dpdC5jCisrKyBiL2dpdC5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJleGVjX2NtZC5oIgogI2luY2x1ZGUgImhlbHAuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgpAQCAtMTYsNTAgKzE3LDggQEAKIAkgICAidG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC4iKTsKIAogc3RhdGljIGludCB1c2VfcGFnZXIgPSAtMTsKLXN0YXRpYyBjaGFyICpvcmlnX2N3ZDsKLXN0YXRpYyBjb25zdCBjaGFyICplbnZfbmFtZXNbXSA9IHsKLQlHSVRfRElSX0VOVklST05NRU5ULAotCUdJVF9XT1JLX1RSRUVfRU5WSVJPTk1FTlQsCi0JR0lUX0lNUExJQ0lUX1dPUktfVFJFRV9FTlZJUk9OTUVOVCwKLQlHSVRfUFJFRklYX0VOVklST05NRU5UCi19Owotc3RhdGljIGNoYXIgKm9yaWdfZW52WzRdOwotc3RhdGljIGludCBzYXZlX3Jlc3RvcmVfZW52X2JhbGFuY2U7CiAKLXN0YXRpYyB2b2lkIHNhdmVfZW52X2JlZm9yZV9hbGlhcyh2b2lkKQotewotCWludCBpOwotCi0JYXNzZXJ0KHNhdmVfcmVzdG9yZV9lbnZfYmFsYW5jZSA9PSAwKTsKLQlzYXZlX3Jlc3RvcmVfZW52X2JhbGFuY2UgPSAxOwotCW9yaWdfY3dkID0geGdldGN3ZCgpOwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGVudl9uYW1lcyk7IGkrKykgewotCQlvcmlnX2VudltpXSA9IGdldGVudihlbnZfbmFtZXNbaV0pOwotCQlvcmlnX2VudltpXSA9IHhzdHJkdXBfb3JfbnVsbChvcmlnX2VudltpXSk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCByZXN0b3JlX2VudihpbnQgZXh0ZXJuYWxfYWxpYXMpCi17Ci0JaW50IGk7Ci0KLQlhc3NlcnQoc2F2ZV9yZXN0b3JlX2Vudl9iYWxhbmNlID09IDEpOwotCXNhdmVfcmVzdG9yZV9lbnZfYmFsYW5jZSA9IDA7Ci0JaWYgKCFleHRlcm5hbF9hbGlhcyAmJiBvcmlnX2N3ZCAmJiBjaGRpcihvcmlnX2N3ZCkpCi0JCWRpZV9lcnJubygiY291bGQgbm90IG1vdmUgdG8gJXMiLCBvcmlnX2N3ZCk7Ci0JZnJlZShvcmlnX2N3ZCk7Ci0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZW52X25hbWVzKTsgaSsrKSB7Ci0JCWlmIChleHRlcm5hbF9hbGlhcyAmJgotCQkgICAgIXN0cmNtcChlbnZfbmFtZXNbaV0sIEdJVF9QUkVGSVhfRU5WSVJPTk1FTlQpKQotCQkJY29udGludWU7Ci0JCWlmIChvcmlnX2VudltpXSkgewotCQkJc2V0ZW52KGVudl9uYW1lc1tpXSwgb3JpZ19lbnZbaV0sIDEpOwotCQkJZnJlZShvcmlnX2VudltpXSk7Ci0JCX0gZWxzZSB7Ci0JCQl1bnNldGVudihlbnZfbmFtZXNbaV0pOwotCQl9Ci0JfQotfQorc3RhdGljIHZvaWQgbGlzdF9idWlsdGlucyh2b2lkKTsKIAogc3RhdGljIHZvaWQgY29tbWl0X3BhZ2VyX2Nob2ljZSh2b2lkKSB7CiAJc3dpdGNoICh1c2VfcGFnZXIpIHsKQEAgLTc0LDYgKzMzLDE2IEBACiAJfQogfQogCit2b2lkIHNldHVwX2F1dG9fcGFnZXIoY29uc3QgY2hhciAqY21kLCBpbnQgZGVmKQoreworCWlmICh1c2VfcGFnZXIgIT0gLTEgfHwgcGFnZXJfaW5fdXNlKCkpCisJCXJldHVybjsKKwl1c2VfcGFnZXIgPSBjaGVja19wYWdlcl9jb25maWcoY21kKTsKKwlpZiAodXNlX3BhZ2VyID09IC0xKQorCQl1c2VfcGFnZXIgPSBkZWY7CisJY29tbWl0X3BhZ2VyX2Nob2ljZSgpOworfQorCiBzdGF0aWMgaW50IGhhbmRsZV9vcHRpb25zKGNvbnN0IGNoYXIgKioqYXJndiwgaW50ICphcmdjLCBpbnQgKmVudmNoYW5nZWQpCiB7CiAJY29uc3QgY2hhciAqKm9yaWdfYXJndiA9ICphcmd2OwpAQCAtMjEzLDYgKzE4MiwxMCBAQAogCQkJc2V0ZW52KEdJVF9JQ0FTRV9QQVRIU1BFQ1NfRU5WSVJPTk1FTlQsICIxIiwgMSk7CiAJCQlpZiAoZW52Y2hhbmdlZCkKIAkJCQkqZW52Y2hhbmdlZCA9IDE7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItLW5vLW9wdGlvbmFsLWxvY2tzIikpIHsKKwkJCXNldGVudihHSVRfT1BUSU9OQUxfTE9DS1NfRU5WSVJPTk1FTlQsICIwIiwgMSk7CisJCQlpZiAoZW52Y2hhbmdlZCkKKwkJCQkqZW52Y2hhbmdlZCA9IDE7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItLXNoYWxsb3ctZmlsZSIpKSB7CiAJCQkoKmFyZ3YpKys7CiAJCQkoKmFyZ2MpLS07CkBAIC0yMzIsNiArMjA1LDkgQEAKIAkJCX0KIAkJCSgqYXJndikrKzsKIAkJCSgqYXJnYyktLTsKKwkJfSBlbHNlIGlmICghc3RyY21wKGNtZCwgIi0tbGlzdC1idWlsdGlucyIpKSB7CisJCQlsaXN0X2J1aWx0aW5zKCk7CisJCQlleGl0KDApOwogCQl9IGVsc2UgewogCQkJZnByaW50ZihzdGRlcnIsICJVbmtub3duIG9wdGlvbjogJXNcbiIsIGNtZCk7CiAJCQl1c2FnZShnaXRfdXNhZ2Vfc3RyaW5nKTsKQEAgLTI1MCwxOSArMjI2LDE4IEBACiAJY29uc3QgY2hhciAqKm5ld19hcmd2OwogCWNvbnN0IGNoYXIgKmFsaWFzX2NvbW1hbmQ7CiAJY2hhciAqYWxpYXNfc3RyaW5nOwotCWludCB1bnVzZWRfbm9uZ2l0OwotCi0Jc2F2ZV9lbnZfYmVmb3JlX2FsaWFzKCk7Ci0Jc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHkoJnVudXNlZF9ub25naXQpOwogCiAJYWxpYXNfY29tbWFuZCA9ICgqYXJndilbMF07CiAJYWxpYXNfc3RyaW5nID0gYWxpYXNfbG9va3VwKGFsaWFzX2NvbW1hbmQpOwogCWlmIChhbGlhc19zdHJpbmcpIHsKIAkJaWYgKGFsaWFzX3N0cmluZ1swXSA9PSAnIScpIHsKIAkJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNoaWxkID0gQ0hJTERfUFJPQ0VTU19JTklUOworCQkJaW50IG5vbmdpdF9vazsKKworCQkJLyogQWxpYXNlcyBleHBlY3QgR0lUX1BSRUZJWCwgR0lUX0RJUiBldGMgdG8gYmUgc2V0ICovCisJCQlzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseSgmbm9uZ2l0X29rKTsKIAogCQkJY29tbWl0X3BhZ2VyX2Nob2ljZSgpOwotCQkJcmVzdG9yZV9lbnYoMSk7CiAKIAkJCWNoaWxkLnVzZV9zaGVsbCA9IDE7CiAJCQlhcmd2X2FycmF5X3B1c2goJmNoaWxkLmFyZ3MsIGFsaWFzX3N0cmluZyArIDEpOwpAQCAtMzA4LDggKzI4Myw2IEBACiAJCXJldCA9IDE7CiAJfQogCi0JcmVzdG9yZV9lbnYoMCk7Ci0KIAllcnJubyA9IHNhdmVkX2Vycm5vOwogCiAJcmV0dXJuIHJldDsKQEAgLTMyNCw2ICsyOTcsNyBAQAogICovCiAjZGVmaW5lIE5FRURfV09SS19UUkVFCQkoMTw8MykKICNkZWZpbmUgU1VQUE9SVF9TVVBFUl9QUkVGSVgJKDE8PDQpCisjZGVmaW5lIERFTEFZX1BBR0VSX0NPTkZJRwkoMTw8NSkKIAogc3RydWN0IGNtZF9zdHJ1Y3QgewogCWNvbnN0IGNoYXIgKmNtZDsKQEAgLTM0Nyw3ICszMjEsOCBAQAogCQkJcHJlZml4ID0gc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHkoJm5vbmdpdF9vayk7CiAJCX0KIAotCQlpZiAodXNlX3BhZ2VyID09IC0xICYmIHAtPm9wdGlvbiAmIChSVU5fU0VUVVAgfCBSVU5fU0VUVVBfR0VOVExZKSkKKwkJaWYgKHVzZV9wYWdlciA9PSAtMSAmJiBwLT5vcHRpb24gJiAoUlVOX1NFVFVQIHwgUlVOX1NFVFVQX0dFTlRMWSkgJiYKKwkJICAgICEocC0+b3B0aW9uICYgREVMQVlfUEFHRVJfQ09ORklHKSkKIAkJCXVzZV9wYWdlciA9IGNoZWNrX3BhZ2VyX2NvbmZpZyhwLT5jbWQpOwogCQlpZiAodXNlX3BhZ2VyID09IC0xICYmIHAtPm9wdGlvbiAmIFVTRV9QQUdFUikKIAkJCXVzZV9wYWdlciA9IDE7CkBAIC0zNjEsOCArMzM2LDYgQEAKIAlpZiAoIWhlbHAgJiYgZ2V0X3N1cGVyX3ByZWZpeCgpKSB7CiAJCWlmICghKHAtPm9wdGlvbiAmIFNVUFBPUlRfU1VQRVJfUFJFRklYKSkKIAkJCWRpZSgiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IiwgcC0+Y21kKTsKLQkJaWYgKHByZWZpeCkKLQkJCWRpZSgiY2FuJ3QgdXNlIC0tc3VwZXItcHJlZml4IGZyb20gYSBzdWJkaXJlY3RvcnkiKTsKIAl9CiAKIAlpZiAoIWhlbHAgJiYgcC0+b3B0aW9uICYgTkVFRF9XT1JLX1RSRUUpCkBAIC00MzUsNyArNDA4LDcgQEAKIAl7ICJmc2NrLW9iamVjdHMiLCBjbWRfZnNjaywgUlVOX1NFVFVQIH0sCiAJeyAiZ2MiLCBjbWRfZ2MsIFJVTl9TRVRVUCB9LAogCXsgImdldC10YXItY29tbWl0LWlkIiwgY21kX2dldF90YXJfY29tbWl0X2lkIH0sCi0JeyAiZ3JlcCIsIGNtZF9ncmVwLCBSVU5fU0VUVVBfR0VOVExZIHwgU1VQUE9SVF9TVVBFUl9QUkVGSVggfSwKKwl7ICJncmVwIiwgY21kX2dyZXAsIFJVTl9TRVRVUF9HRU5UTFkgfSwKIAl7ICJoYXNoLW9iamVjdCIsIGNtZF9oYXNoX29iamVjdCB9LAogCXsgImhlbHAiLCBjbWRfaGVscCB9LAogCXsgImluZGV4LXBhY2siLCBjbWRfaW5kZXhfcGFjaywgUlVOX1NFVFVQX0dFTlRMWSB9LApAQCAtNDQzLDcgKzQxNiw3IEBACiAJeyAiaW5pdC1kYiIsIGNtZF9pbml0X2RiIH0sCiAJeyAiaW50ZXJwcmV0LXRyYWlsZXJzIiwgY21kX2ludGVycHJldF90cmFpbGVycywgUlVOX1NFVFVQX0dFTlRMWSB9LAogCXsgImxvZyIsIGNtZF9sb2csIFJVTl9TRVRVUCB9LAotCXsgImxzLWZpbGVzIiwgY21kX2xzX2ZpbGVzLCBSVU5fU0VUVVAgfCBTVVBQT1JUX1NVUEVSX1BSRUZJWCB9LAorCXsgImxzLWZpbGVzIiwgY21kX2xzX2ZpbGVzLCBSVU5fU0VUVVAgfSwKIAl7ICJscy1yZW1vdGUiLCBjbWRfbHNfcmVtb3RlLCBSVU5fU0VUVVBfR0VOVExZIH0sCiAJeyAibHMtdHJlZSIsIGNtZF9sc190cmVlLCBSVU5fU0VUVVAgfSwKIAl7ICJtYWlsaW5mbyIsIGNtZF9tYWlsaW5mbywgUlVOX1NFVFVQX0dFTlRMWSB9LApAQCAtNDczLDYgKzQ0Niw3IEBACiAJeyAicHVsbCIsIGNtZF9wdWxsLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAogCXsgInB1c2giLCBjbWRfcHVzaCwgUlVOX1NFVFVQIH0sCiAJeyAicmVhZC10cmVlIiwgY21kX3JlYWRfdHJlZSwgUlVOX1NFVFVQIHwgU1VQUE9SVF9TVVBFUl9QUkVGSVh9LAorCXsgInJlYmFzZS0taGVscGVyIiwgY21kX3JlYmFzZV9faGVscGVyLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAogCXsgInJlY2VpdmUtcGFjayIsIGNtZF9yZWNlaXZlX3BhY2sgfSwKIAl7ICJyZWZsb2ciLCBjbWRfcmVmbG9nLCBSVU5fU0VUVVAgfSwKIAl7ICJyZW1vdGUiLCBjbWRfcmVtb3RlLCBSVU5fU0VUVVAgfSwKQEAgLTQ5Niw3ICs0NzAsNyBAQAogCXsgInN0cmlwc3BhY2UiLCBjbWRfc3RyaXBzcGFjZSB9LAogCXsgInN1Ym1vZHVsZS0taGVscGVyIiwgY21kX3N1Ym1vZHVsZV9faGVscGVyLCBSVU5fU0VUVVAgfCBTVVBQT1JUX1NVUEVSX1BSRUZJWH0sCiAJeyAic3ltYm9saWMtcmVmIiwgY21kX3N5bWJvbGljX3JlZiwgUlVOX1NFVFVQIH0sCi0JeyAidGFnIiwgY21kX3RhZywgUlVOX1NFVFVQIH0sCisJeyAidGFnIiwgY21kX3RhZywgUlVOX1NFVFVQIHwgREVMQVlfUEFHRVJfQ09ORklHIH0sCiAJeyAidW5wYWNrLWZpbGUiLCBjbWRfdW5wYWNrX2ZpbGUsIFJVTl9TRVRVUCB9LAogCXsgInVucGFjay1vYmplY3RzIiwgY21kX3VucGFja19vYmplY3RzLCBSVU5fU0VUVVAgfSwKIAl7ICJ1cGRhdGUtaW5kZXgiLCBjbWRfdXBkYXRlX2luZGV4LCBSVU5fU0VUVVAgfSwKQEAgLTUzMCw2ICs1MDQsMTMgQEAKIAlyZXR1cm4gISFnZXRfYnVpbHRpbihzKTsKIH0KIAorc3RhdGljIHZvaWQgbGlzdF9idWlsdGlucyh2b2lkKQoreworCWludCBpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbW1hbmRzKTsgaSsrKQorCQlwcmludGYoIiVzXG4iLCBjb21tYW5kc1tpXS5jbWQpOworfQorCiAjaWZkZWYgU1RSSVBfRVhURU5TSU9OCiBzdGF0aWMgdm9pZCBzdHJpcF9leHRlbnNpb24oY29uc3QgY2hhciAqKmFyZ3YpCiB7CkBAIC01ODIsNyArNTYzLDcgQEAKIAlpZiAoZ2V0X3N1cGVyX3ByZWZpeCgpKQogCQlkaWUoIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIsIGFyZ3ZbMF0pOwogCi0JaWYgKHVzZV9wYWdlciA9PSAtMSkKKwlpZiAodXNlX3BhZ2VyID09IC0xICYmICFpc19idWlsdGluKGFyZ3ZbMF0pKQogCQl1c2VfcGFnZXIgPSBjaGVja19wYWdlcl9jb25maWcoYXJndlswXSk7CiAJY29tbWl0X3BhZ2VyX2Nob2ljZSgpOwogCmRpZmYgLS1naXQgYS9naXR3ZWIvZ2l0d2ViLnBlcmwgYi9naXR3ZWIvZ2l0d2ViLnBlcmwKaW5kZXggN2NmNjhmMC4uOTU5ZjA0YiAxMDA3NTUKLS0tIGEvZ2l0d2ViL2dpdHdlYi5wZXJsCisrKyBiL2dpdHdlYi9naXR3ZWIucGVybApAQCAtMzA3MSw2ICszMDcxLDggQEAKIAkJCQlyZXR1cm4gaWYgKG0hXlsvLl0kISk7CiAJCQkJIyBvbmx5IGRpcmVjdG9yaWVzIGNhbiBiZSBnaXQgcmVwb3NpdG9yaWVzCiAJCQkJcmV0dXJuIHVubGVzcyAoLWQgJF8pOworCQkJCSMgbmVlZCBzZWFyY2ggcGVybWlzc2lvbgorCQkJCXJldHVybiB1bmxlc3MgKC14ICRfKTsKIAkJCQkjIGRvbid0IHRyYXZlcnNlIHRvbyBkZWVwIChGaW5kIGlzIHN1cGVyIHNsb3cgb24gb3MgeCkKIAkJCQkjICRwcm9qZWN0X21heGRlcHRoIGV4Y2x1ZGVzIGRlcHRoIG9mICRwcm9qZWN0cm9vdAogCQkJCWlmICgoJEZpbGU6OkZpbmQ6Om5hbWUgPX4gdHIhLyEhKSAtICRwZnhkZXB0aCA+ICRwcm9qZWN0X21heGRlcHRoKSB7CkBAIC0zMTI1LDcgKzMxMjcsNyBAQAogCXJldHVybiBAbGlzdDsKIH0KIAotIyB3cml0dGVuIHdpdGggaGVscCBvZiBUcmVlOjpUcmllIG1vZHVsZSAoUGVybCBBcnRpc3RpYyBMaWNlbnNlLCBHUEwgY29tcGF0aWJpbGUpCisjIHdyaXR0ZW4gd2l0aCBoZWxwIG9mIFRyZWU6OlRyaWUgbW9kdWxlIChQZXJsIEFydGlzdGljIExpY2Vuc2UsIEdQTCBjb21wYXRpYmxlKQogIyBhcyBzaWRlIGVmZmVjdHMgaXQgc2V0cyAnZm9ya3MnIGZpZWxkIHRvIGxpc3Qgb2YgZm9ya3MgZm9yIGZvcmtlZCBwcm9qZWN0cwogc3ViIGZpbHRlcl9mb3Jrc19mcm9tX3Byb2plY3RzX2xpc3QgewogCW15ICRwcm9qZWN0cyA9IHNoaWZ0OwpAQCAtNDM3Niw3ICs0Mzc4LDcgQEAKIAkgICAgICAiPC9kaXY+XG4iOwogfQogCi0jIHJldHVybnMgYSBzdWJtZW51IGZvciB0aGUgbmFnaXZhdGlvbiBvZiB0aGUgcmVmcyB2aWV3cyAodGFncywgaGVhZHMsCisjIHJldHVybnMgYSBzdWJtZW51IGZvciB0aGUgbmF2aWdhdGlvbiBvZiB0aGUgcmVmcyB2aWV3cyAodGFncywgaGVhZHMsCiAjIHJlbW90ZXMpIHdpdGggdGhlIGN1cnJlbnQgdmlldyBkaXNhYmxlZCBhbmQgdGhlIHJlbW90ZXMgdmlldyBvbmx5CiAjIGF2YWlsYWJsZSBpZiB0aGUgZmVhdHVyZSBpcyBlbmFibGVkCiBzdWIgZm9ybWF0X3JlZl92aWV3cyB7CkBAIC01OTY1LDYgKzU5NjcsOSBAQAogCQkgICAgICAkY2dpLT5hKHstaHJlZiA9PiBocmVmKGFjdGlvbj0+ImNvbW1pdGRpZmYiLCBoYXNoPT4kY29tbWl0KX0sICJjb21taXRkaWZmIik7CiAKIAkJaWYgKCRmdHlwZSBlcSAnYmxvYicpIHsKKwkJCXByaW50ICIgfCAiIC4KKwkJCSAgICAgICRjZ2ktPmEoey1ocmVmID0+IGhyZWYoYWN0aW9uPT4iYmxvYl9wbGFpbiIsIGhhc2hfYmFzZT0+JGNvbW1pdCwgZmlsZV9uYW1lPT4kZmlsZV9uYW1lKX0sICJyYXciKTsKKwogCQkJbXkgJGJsb2JfY3VycmVudCA9ICRmaWxlX2hhc2g7CiAJCQlteSAkYmxvYl9wYXJlbnQgID0gZ2l0X2dldF9oYXNoX2J5X3BhdGgoJGNvbW1pdCwgJGZpbGVfbmFtZSk7CiAJCQlpZiAoZGVmaW5lZCAkYmxvYl9jdXJyZW50ICYmIGRlZmluZWQgJGJsb2JfcGFyZW50ICYmCkBAIC04MDg1LDcgKzgwOTAsNyBAQAogPHA+PHN0cm9uZz5QYXR0ZXJuPC9zdHJvbmc+IGlzIGJ5IGRlZmF1bHQgYSBub3JtYWwgc3RyaW5nIHRoYXQgaXMgbWF0Y2hlZCBwcmVjaXNlbHkgKGJ1dCB3aXRob3V0CiByZWdhcmQgdG8gY2FzZSwgZXhjZXB0IGluIHRoZSBjYXNlIG9mIHBpY2theGUpLiBIb3dldmVyLCB3aGVuIHlvdSBjaGVjayB0aGUgPGVtPnJlPC9lbT4gY2hlY2tib3gsCiB0aGUgcGF0dGVybiBlbnRlcmVkIGlzIHJlY29nbml6ZWQgYXMgdGhlIFBPU0lYIGV4dGVuZGVkCi08YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1JlZ3VsYXJfZXhwcmVzc2lvbiI+cmVndWxhciBleHByZXNzaW9uPC9hPiAoYWxzbyBjYXNlCis8YSBocmVmPSJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9SZWd1bGFyX2V4cHJlc3Npb24iPnJlZ3VsYXIgZXhwcmVzc2lvbjwvYT4gKGFsc28gY2FzZQogaW5zZW5zaXRpdmUpLjwvcD4KIDxkbD4KIDxkdD48Yj5jb21taXQ8L2I+PC9kdD4KZGlmZiAtLWdpdCBhL2dwZy1pbnRlcmZhY2UuYyBiL2dwZy1pbnRlcmZhY2UuYwppbmRleCBlNDRjYzI3Li40ZmVhY2YxIDEwMDY0NAotLS0gYS9ncGctaW50ZXJmYWNlLmMKKysrIGIvZ3BnLWludGVyZmFjZS5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJzdHJidWYuaCIKICNpbmNsdWRlICJncGctaW50ZXJmYWNlLmgiCkBAIC0xMywxNiArMTQsMTEgQEAKIAogdm9pZCBzaWduYXR1cmVfY2hlY2tfY2xlYXIoc3RydWN0IHNpZ25hdHVyZV9jaGVjayAqc2lnYykKIHsKLQlmcmVlKHNpZ2MtPnBheWxvYWQpOwotCWZyZWUoc2lnYy0+Z3BnX291dHB1dCk7Ci0JZnJlZShzaWdjLT5ncGdfc3RhdHVzKTsKLQlmcmVlKHNpZ2MtPnNpZ25lcik7Ci0JZnJlZShzaWdjLT5rZXkpOwotCXNpZ2MtPnBheWxvYWQgPSBOVUxMOwotCXNpZ2MtPmdwZ19vdXRwdXQgPSBOVUxMOwotCXNpZ2MtPmdwZ19zdGF0dXMgPSBOVUxMOwotCXNpZ2MtPnNpZ25lciA9IE5VTEw7Ci0Jc2lnYy0+a2V5ID0gTlVMTDsKKwlGUkVFX0FORF9OVUxMKHNpZ2MtPnBheWxvYWQpOworCUZSRUVfQU5EX05VTEwoc2lnYy0+Z3BnX291dHB1dCk7CisJRlJFRV9BTkRfTlVMTChzaWdjLT5ncGdfc3RhdHVzKTsKKwlGUkVFX0FORF9OVUxMKHNpZ2MtPnNpZ25lcik7CisJRlJFRV9BTkRfTlVMTChzaWdjLT5rZXkpOwogfQogCiBzdGF0aWMgc3RydWN0IHsKQEAgLTIwNiwyNiArMjAyLDI2IEBACiAJCQkgc3RydWN0IHN0cmJ1ZiAqZ3BnX291dHB1dCwgc3RydWN0IHN0cmJ1ZiAqZ3BnX3N0YXR1cykKIHsKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBncGcgPSBDSElMRF9QUk9DRVNTX0lOSVQ7Ci0Jc3RhdGljIHN0cnVjdCB0ZW1wZmlsZSB0ZW1wOwotCWludCBmZCwgcmV0OworCXN0cnVjdCB0ZW1wZmlsZSAqdGVtcDsKKwlpbnQgcmV0OwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKLQlmZCA9IG1rc190ZW1wZmlsZV90KCZ0ZW1wLCAiLmdpdF92dGFnX3RtcFhYWFhYWCIpOwotCWlmIChmZCA8IDApCisJdGVtcCA9IG1rc190ZW1wZmlsZV90KCIuZ2l0X3Z0YWdfdG1wWFhYWFhYIik7CisJaWYgKCF0ZW1wKQogCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIpKTsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgc2lnbmF0dXJlLCBzaWduYXR1cmVfc2l6ZSkgPCAwKSB7CisJaWYgKHdyaXRlX2luX2Z1bGwodGVtcC0+ZmQsIHNpZ25hdHVyZSwgc2lnbmF0dXJlX3NpemUpIDwgMCB8fAorCSAgICBjbG9zZV90ZW1wZmlsZV9nZW50bHkodGVtcCkgPCAwKSB7CiAJCWVycm9yX2Vycm5vKF8oImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIiksCi0JCQkgICAgdGVtcC5maWxlbmFtZS5idWYpOworCQkJICAgIHRlbXAtPmZpbGVuYW1lLmJ1Zik7CiAJCWRlbGV0ZV90ZW1wZmlsZSgmdGVtcCk7CiAJCXJldHVybiAtMTsKIAl9Ci0JY2xvc2UoZmQpOwogCiAJYXJndl9hcnJheV9wdXNobCgmZ3BnLmFyZ3MsCiAJCQkgZ3BnX3Byb2dyYW0sCiAJCQkgIi0tc3RhdHVzLWZkPTEiLAogCQkJICItLWtleWlkLWZvcm1hdD1sb25nIiwKLQkJCSAiLS12ZXJpZnkiLCB0ZW1wLmZpbGVuYW1lLmJ1ZiwgIi0iLAorCQkJICItLXZlcmlmeSIsIHRlbXAtPmZpbGVuYW1lLmJ1ZiwgIi0iLAogCQkJIE5VTEwpOwogCiAJaWYgKCFncGdfc3RhdHVzKQpkaWZmIC0tZ2l0IGEvZ3JhcGguYyBiL2dyYXBoLmMKaW5kZXggOGI5MDQ5ZC4uZTFmNmQzYiAxMDA2NDQKLS0tIGEvZ3JhcGguYworKysgYi9ncmFwaC5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAiY29sb3IuaCIKICNpbmNsdWRlICJncmFwaC5oIgpAQCAtNjk1LDEyICs2OTYsOCBAQAogCSAqIFRoaXMgd2F5LCBmaWVsZHMgcHJpbnRlZCB0byB0aGUgcmlnaHQgb2YgdGhlIGdyYXBoIHdpbGwgcmVtYWluCiAJICogYWxpZ25lZCBmb3IgdGhlIGVudGlyZSBjb21taXQuCiAJICovCi0JaW50IGV4dHJhOwotCWlmIChjaGFyc193cml0dGVuID49IGdyYXBoLT53aWR0aCkKLQkJcmV0dXJuOwotCi0JZXh0cmEgPSBncmFwaC0+d2lkdGggLSBjaGFyc193cml0dGVuOwotCXN0cmJ1Zl9hZGRmKHNiLCAiJSpzIiwgKGludCkgZXh0cmEsICIiKTsKKwlpZiAoY2hhcnNfd3JpdHRlbiA8IGdyYXBoLT53aWR0aCkKKwkJc3RyYnVmX2FkZGNoYXJzKHNiLCAnICcsIGdyYXBoLT53aWR0aCAtIGNoYXJzX3dyaXR0ZW4pOwogfQogCiBzdGF0aWMgdm9pZCBncmFwaF9vdXRwdXRfcGFkZGluZ19saW5lKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLApAQCAtNzg2LDcgKzc4Myw3IEBACiAJCWlmIChjb2wtPmNvbW1pdCA9PSBncmFwaC0+Y29tbWl0KSB7CiAJCQlzZWVuX3RoaXMgPSAxOwogCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgY29sLCAnfCcpOwotCQkJc3RyYnVmX2FkZGYoc2IsICIlKnMiLCBncmFwaC0+ZXhwYW5zaW9uX3JvdywgIiIpOworCQkJc3RyYnVmX2FkZGNoYXJzKHNiLCAnICcsIGdyYXBoLT5leHBhbnNpb25fcm93KTsKIAkJCWNoYXJzX3dyaXR0ZW4gKz0gMSArIGdyYXBoLT5leHBhbnNpb25fcm93OwogCQl9IGVsc2UgaWYgKHNlZW5fdGhpcyAmJiAoZ3JhcGgtPmV4cGFuc2lvbl9yb3cgPT0gMCkpIHsKIAkJCS8qCmRpZmYgLS1naXQgYS9ncmVwLmMgYi9ncmVwLmMKaW5kZXggMGRiZGMxZC4uY2U2YTQ4ZSAxMDA2NDQKLS0tIGEvZ3JlcC5jCisrKyBiL2dyZXAuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImdyZXAuaCIKICNpbmNsdWRlICJ1c2VyZGlmZi5oIgogI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgpAQCAtMTIsNiArMTMsMTEgQEAKIAogc3RhdGljIHN0cnVjdCBncmVwX29wdCBncmVwX2RlZmF1bHRzOwogCitzdGF0aWMgdm9pZCBzdGRfb3V0cHV0KHN0cnVjdCBncmVwX29wdCAqb3B0LCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBzaXplKQoreworCWZ3cml0ZShidWYsIHNpemUsIDEsIHN0ZG91dCk7Cit9CisKIC8qCiAgKiBJbml0aWFsaXplIHRoZSBncmVwX2RlZmF1bHRzIHRlbXBsYXRlIHdpdGggaGFyZGNvZGVkIGRlZmF1bHRzLgogICogV2UgY291bGQgbGV0IHRoZSBjb21waWxlciBkbyB0aGlzLCBidXQgd2l0aG91dCBDOTkgaW5pdGlhbGl6ZXJzCkBAIC0yOSwxMCArMzUsOCBAQAogCW1lbXNldChvcHQsIDAsIHNpemVvZigqb3B0KSk7CiAJb3B0LT5yZWxhdGl2ZSA9IDE7CiAJb3B0LT5wYXRobmFtZSA9IDE7Ci0Jb3B0LT5yZWdmbGFncyA9IFJFR19ORVdMSU5FOwogCW9wdC0+bWF4X2RlcHRoID0gLTE7CiAJb3B0LT5wYXR0ZXJuX3R5cGVfb3B0aW9uID0gR1JFUF9QQVRURVJOX1RZUEVfVU5TUEVDSUZJRUQ7Ci0Jb3B0LT5leHRlbmRlZF9yZWdleHBfb3B0aW9uID0gMDsKIAljb2xvcl9zZXQob3B0LT5jb2xvcl9jb250ZXh0LCAiIik7CiAJY29sb3Jfc2V0KG9wdC0+Y29sb3JfZmlsZW5hbWUsICIiKTsKIAljb2xvcl9zZXQob3B0LT5jb2xvcl9mdW5jdGlvbiwgIiIpOwpAQCAtNDIsNiArNDYsNyBAQAogCWNvbG9yX3NldChvcHQtPmNvbG9yX3NlbGVjdGVkLCAiIik7CiAJY29sb3Jfc2V0KG9wdC0+Y29sb3Jfc2VwLCBHSVRfQ09MT1JfQ1lBTik7CiAJb3B0LT5jb2xvciA9IC0xOworCW9wdC0+b3V0cHV0ID0gc3RkX291dHB1dDsKIH0KIAogc3RhdGljIGludCBwYXJzZV9wYXR0ZXJuX3R5cGVfYXJnKGNvbnN0IGNoYXIgKm9wdCwgY29uc3QgY2hhciAqYXJnKQpAQCAtNzIsMTAgKzc3LDcgQEAKIAkJcmV0dXJuIC0xOwogCiAJaWYgKCFzdHJjbXAodmFyLCAiZ3JlcC5leHRlbmRlZHJlZ2V4cCIpKSB7Ci0JCWlmIChnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSkpCi0JCQlvcHQtPmV4dGVuZGVkX3JlZ2V4cF9vcHRpb24gPSAxOwotCQllbHNlCi0JCQlvcHQtPmV4dGVuZGVkX3JlZ2V4cF9vcHRpb24gPSAwOworCQlvcHQtPmV4dGVuZGVkX3JlZ2V4cF9vcHRpb24gPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMTUwLDggKzE1Miw4IEBACiAJb3B0LT5saW5lbnVtID0gZGVmLT5saW5lbnVtOwogCW9wdC0+bWF4X2RlcHRoID0gZGVmLT5tYXhfZGVwdGg7CiAJb3B0LT5wYXRobmFtZSA9IGRlZi0+cGF0aG5hbWU7Ci0Jb3B0LT5yZWdmbGFncyA9IGRlZi0+cmVnZmxhZ3M7CiAJb3B0LT5yZWxhdGl2ZSA9IGRlZi0+cmVsYXRpdmU7CisJb3B0LT5vdXRwdXQgPSBkZWYtPm91dHB1dDsKIAogCWNvbG9yX3NldChvcHQtPmNvbG9yX2NvbnRleHQsIGRlZi0+Y29sb3JfY29udGV4dCk7CiAJY29sb3Jfc2V0KG9wdC0+Y29sb3JfZmlsZW5hbWUsIGRlZi0+Y29sb3JfZmlsZW5hbWUpOwpAQCAtMTY1LDMyICsxNjcsNTEgQEAKIAogc3RhdGljIHZvaWQgZ3JlcF9zZXRfcGF0dGVybl90eXBlX29wdGlvbihlbnVtIGdyZXBfcGF0dGVybl90eXBlIHBhdHRlcm5fdHlwZSwgc3RydWN0IGdyZXBfb3B0ICpvcHQpCiB7CisJLyoKKwkgKiBXaGVuIGNvbW1pdHRpbmcgdG8gdGhlIHBhdHRlcm4gdHlwZSBieSBzZXR0aW5nIHRoZSByZWxldmFudAorCSAqIGZpZWxkcyBpbiBncmVwX29wdCBpdCdzIGdlbmVyYWxseSBub3QgbmVjZXNzYXJ5IHRvIHplcm8gb3V0CisJICogdGhlIGZpZWxkcyB3ZSdyZSBub3QgY2hvb3NpbmcsIHNpbmNlIHRoZXkgd29uJ3QgaGF2ZSBiZWVuCisJICogc2V0IGJ5IGFueXRoaW5nLiBUaGUgZXh0ZW5kZWRfcmVnZXhwX29wdGlvbiBmaWVsZCBpcyB0aGUKKwkgKiBvbmx5IGV4Y2VwdGlvbiB0byB0aGlzLgorCSAqCisJICogVGhpcyBpcyBiZWNhdXNlIGluIHRoZSBwcm9jZXNzIG9mIHBhcnNpbmcgZ3JlcC5wYXR0ZXJuVHlwZQorCSAqICYgZ3JlcC5leHRlbmRlZFJlZ2V4cCB3ZSBzZXQgb3B0LT5wYXR0ZXJuX3R5cGVfb3B0aW9uIGFuZAorCSAqIG9wdC0+ZXh0ZW5kZWRfcmVnZXhwX29wdGlvbiwgcmVzcGVjdGl2ZWx5LiBXZSB0aGVuCisJICogaW50ZXJuYWxseSB1c2Ugb3B0LT5leHRlbmRlZF9yZWdleHBfb3B0aW9uIHRvIHNlZSBpZiB3ZSdyZQorCSAqIGNvbXBpbGluZyBhbiBFUkUuIEl0IG11c3QgYmUgdW5zZXQgaWYgdGhhdCdzIG5vdCBhY3R1YWxseQorCSAqIHRoZSBjYXNlLgorCSAqLworCWlmIChwYXR0ZXJuX3R5cGUgIT0gR1JFUF9QQVRURVJOX1RZUEVfRVJFICYmCisJICAgIG9wdC0+ZXh0ZW5kZWRfcmVnZXhwX29wdGlvbikKKwkJb3B0LT5leHRlbmRlZF9yZWdleHBfb3B0aW9uID0gMDsKKwogCXN3aXRjaCAocGF0dGVybl90eXBlKSB7CiAJY2FzZSBHUkVQX1BBVFRFUk5fVFlQRV9VTlNQRUNJRklFRDoKIAkJLyogZmFsbCB0aHJvdWdoICovCiAKIAljYXNlIEdSRVBfUEFUVEVSTl9UWVBFX0JSRToKLQkJb3B0LT5maXhlZCA9IDA7Ci0JCW9wdC0+cGNyZSA9IDA7Ci0JCW9wdC0+cmVnZmxhZ3MgJj0gflJFR19FWFRFTkRFRDsKIAkJYnJlYWs7CiAKIAljYXNlIEdSRVBfUEFUVEVSTl9UWVBFX0VSRToKLQkJb3B0LT5maXhlZCA9IDA7Ci0JCW9wdC0+cGNyZSA9IDA7Ci0JCW9wdC0+cmVnZmxhZ3MgfD0gUkVHX0VYVEVOREVEOworCQlvcHQtPmV4dGVuZGVkX3JlZ2V4cF9vcHRpb24gPSAxOwogCQlicmVhazsKIAogCWNhc2UgR1JFUF9QQVRURVJOX1RZUEVfRklYRUQ6CiAJCW9wdC0+Zml4ZWQgPSAxOwotCQlvcHQtPnBjcmUgPSAwOwotCQlvcHQtPnJlZ2ZsYWdzICY9IH5SRUdfRVhURU5ERUQ7CiAJCWJyZWFrOwogCiAJY2FzZSBHUkVQX1BBVFRFUk5fVFlQRV9QQ1JFOgotCQlvcHQtPmZpeGVkID0gMDsKLQkJb3B0LT5wY3JlID0gMTsKLQkJb3B0LT5yZWdmbGFncyAmPSB+UkVHX0VYVEVOREVEOworI2lmZGVmIFVTRV9MSUJQQ1JFMgorCQlvcHQtPnBjcmUyID0gMTsKKyNlbHNlCisJCS8qCisJCSAqIEl0J3MgaW1wb3J0YW50IHRoYXQgcGNyZTEgYWx3YXlzIGJlIGFzc2lnbmVkIHRvCisJCSAqIGV2ZW4gd2hlbiB0aGVyZSdzIG5vIFVTRV9MSUJQQ1JFKiBkZWZpbmVkLiBXZSBzdGlsbAorCQkgKiBjYWxsIHRoZSBQQ1JFIHN0dWIgZnVuY3Rpb24sIGl0IGp1c3QgZGllcyB3aXRoCisJCSAqICJjYW5ub3QgdXNlIFBlcmwtY29tcGF0aWJsZSByZWdleGVzWy4uLl0iLgorCQkgKi8KKwkJb3B0LT5wY3JlMSA9IDE7CisjZW5kaWYKIAkJYnJlYWs7CiAJfQogfQpAQCAtMjAyLDYgKzIyMywxMSBAQAogCWVsc2UgaWYgKG9wdC0+cGF0dGVybl90eXBlX29wdGlvbiAhPSBHUkVQX1BBVFRFUk5fVFlQRV9VTlNQRUNJRklFRCkKIAkJZ3JlcF9zZXRfcGF0dGVybl90eXBlX29wdGlvbihvcHQtPnBhdHRlcm5fdHlwZV9vcHRpb24sIG9wdCk7CiAJZWxzZSBpZiAob3B0LT5leHRlbmRlZF9yZWdleHBfb3B0aW9uKQorCQkvKgorCQkgKiBUaGlzIGJyYW5jaCAqbXVzdCogaGFwcGVuIGFmdGVyIHNldHRpbmcgZnJvbSB0aGUKKwkJICogb3B0LT5wYXR0ZXJuX3R5cGVfb3B0aW9uIGFib3ZlLCB3ZSBkb24ndCB3YW50CisJCSAqIGdyZXAuZXh0ZW5kZWRSZWdleHAgdG8gb3ZlcnJpZGUgZ3JlcC5wYXR0ZXJuVHlwZSEKKwkJICovCiAJCWdyZXBfc2V0X3BhdHRlcm5fdHlwZV9vcHRpb24oR1JFUF9QQVRURVJOX1RZUEVfRVJFLCBvcHQpOwogfQogCkBAIC0zMTcsOCArMzQzLDMyIEBACiAJZGllKCIlcyclcyc6ICVzIiwgd2hlcmUsIHAtPnBhdHRlcm4sIGVycm9yKTsKIH0KIAotI2lmZGVmIFVTRV9MSUJQQ1JFCi1zdGF0aWMgdm9pZCBjb21waWxlX3BjcmVfcmVnZXhwKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3Qgc3RydWN0IGdyZXBfb3B0ICpvcHQpCitzdGF0aWMgaW50IGlzX2ZpeGVkKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4pCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKwkJaWYgKGlzX3JlZ2V4X3NwZWNpYWwoc1tpXSkpCisJCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBoYXNfbnVsbChjb25zdCBjaGFyICpzLCBzaXplX3QgbGVuKQoreworCS8qCisJICogcmVnY29tcCBjYW5ub3QgYWNjZXB0IHBhdHRlcm5zIHdpdGggTlVMcyBzbyB3aGVuIHVzaW5nIGl0CisJICogd2UgY29uc2lkZXIgYW55IHBhdHRlcm4gY29udGFpbmluZyBhIE5VTCBmaXhlZC4KKwkgKi8KKwlpZiAobWVtY2hyKHMsIDAsIGxlbikpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBVU0VfTElCUENSRTEKK3N0YXRpYyB2b2lkIGNvbXBpbGVfcGNyZTFfcmVnZXhwKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3Qgc3RydWN0IGdyZXBfb3B0ICpvcHQpCiB7CiAJY29uc3QgY2hhciAqZXJyb3I7CiAJaW50IGVycm9mZnNldDsKQEAgLTMyNiwyMyArMzc2LDM2IEBACiAKIAlpZiAob3B0LT5pZ25vcmVfY2FzZSkgewogCQlpZiAoaGFzX25vbl9hc2NpaShwLT5wYXR0ZXJuKSkKLQkJCXAtPnBjcmVfdGFibGVzID0gcGNyZV9tYWtldGFibGVzKCk7CisJCQlwLT5wY3JlMV90YWJsZXMgPSBwY3JlX21ha2V0YWJsZXMoKTsKIAkJb3B0aW9ucyB8PSBQQ1JFX0NBU0VMRVNTOwogCX0KIAlpZiAoaXNfdXRmOF9sb2NhbGUoKSAmJiBoYXNfbm9uX2FzY2lpKHAtPnBhdHRlcm4pKQogCQlvcHRpb25zIHw9IFBDUkVfVVRGODsKIAotCXAtPnBjcmVfcmVnZXhwID0gcGNyZV9jb21waWxlKHAtPnBhdHRlcm4sIG9wdGlvbnMsICZlcnJvciwgJmVycm9mZnNldCwKLQkJCQkgICAgICBwLT5wY3JlX3RhYmxlcyk7Ci0JaWYgKCFwLT5wY3JlX3JlZ2V4cCkKKwlwLT5wY3JlMV9yZWdleHAgPSBwY3JlX2NvbXBpbGUocC0+cGF0dGVybiwgb3B0aW9ucywgJmVycm9yLCAmZXJyb2Zmc2V0LAorCQkJCSAgICAgIHAtPnBjcmUxX3RhYmxlcyk7CisJaWYgKCFwLT5wY3JlMV9yZWdleHApCiAJCWNvbXBpbGVfcmVnZXhwX2ZhaWxlZChwLCBlcnJvcik7CiAKLQlwLT5wY3JlX2V4dHJhX2luZm8gPSBwY3JlX3N0dWR5KHAtPnBjcmVfcmVnZXhwLCAwLCAmZXJyb3IpOwotCWlmICghcC0+cGNyZV9leHRyYV9pbmZvICYmIGVycm9yKQorCXAtPnBjcmUxX2V4dHJhX2luZm8gPSBwY3JlX3N0dWR5KHAtPnBjcmUxX3JlZ2V4cCwgUENSRV9TVFVEWV9KSVRfQ09NUElMRSwgJmVycm9yKTsKKwlpZiAoIXAtPnBjcmUxX2V4dHJhX2luZm8gJiYgZXJyb3IpCiAJCWRpZSgiJXMiLCBlcnJvcik7CisKKyNpZmRlZiBHSVRfUENSRTFfVVNFX0pJVAorCXBjcmVfY29uZmlnKFBDUkVfQ09ORklHX0pJVCwgJnAtPnBjcmUxX2ppdF9vbik7CisJaWYgKHAtPnBjcmUxX2ppdF9vbiA9PSAxKSB7CisJCXAtPnBjcmUxX2ppdF9zdGFjayA9IHBjcmVfaml0X3N0YWNrX2FsbG9jKDEsIDEwMjQgKiAxMDI0KTsKKwkJaWYgKCFwLT5wY3JlMV9qaXRfc3RhY2spCisJCQlkaWUoIkNvdWxkbid0IGFsbG9jYXRlIFBDUkUgSklUIHN0YWNrIik7CisJCXBjcmVfYXNzaWduX2ppdF9zdGFjayhwLT5wY3JlMV9leHRyYV9pbmZvLCBOVUxMLCBwLT5wY3JlMV9qaXRfc3RhY2spOworCX0gZWxzZSBpZiAocC0+cGNyZTFfaml0X29uICE9IDApIHsKKwkJZGllKCJCVUc6IFRoZSBwY3JlMV9qaXRfb24gdmFyaWFibGUgc2hvdWxkIGJlIDAgb3IgMSwgbm90ICVkIiwKKwkJICAgIHAtPnBjcmUxX2ppdF9vbik7CisJfQorI2VuZGlmCiB9CiAKLXN0YXRpYyBpbnQgcGNyZW1hdGNoKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3QgY2hhciAqbGluZSwgY29uc3QgY2hhciAqZW9sLAorc3RhdGljIGludCBwY3JlMW1hdGNoKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3QgY2hhciAqbGluZSwgY29uc3QgY2hhciAqZW9sLAogCQlyZWdtYXRjaF90ICptYXRjaCwgaW50IGVmbGFncykKIHsKIAlpbnQgb3ZlY3RvclszMF0sIHJldCwgZmxhZ3MgPSAwOwpAQCAtMzUwLDggKzQxMywxOSBAQAogCWlmIChlZmxhZ3MgJiBSRUdfTk9UQk9MKQogCQlmbGFncyB8PSBQQ1JFX05PVEJPTDsKIAotCXJldCA9IHBjcmVfZXhlYyhwLT5wY3JlX3JlZ2V4cCwgcC0+cGNyZV9leHRyYV9pbmZvLCBsaW5lLCBlb2wgLSBsaW5lLAotCQkJMCwgZmxhZ3MsIG92ZWN0b3IsIEFSUkFZX1NJWkUob3ZlY3RvcikpOworI2lmZGVmIEdJVF9QQ1JFMV9VU0VfSklUCisJaWYgKHAtPnBjcmUxX2ppdF9vbikgeworCQlyZXQgPSBwY3JlX2ppdF9leGVjKHAtPnBjcmUxX3JlZ2V4cCwgcC0+cGNyZTFfZXh0cmFfaW5mbywgbGluZSwKKwkJCQkgICAgZW9sIC0gbGluZSwgMCwgZmxhZ3MsIG92ZWN0b3IsCisJCQkJICAgIEFSUkFZX1NJWkUob3ZlY3RvciksIHAtPnBjcmUxX2ppdF9zdGFjayk7CisJfSBlbHNlCisjZW5kaWYKKwl7CisJCXJldCA9IHBjcmVfZXhlYyhwLT5wY3JlMV9yZWdleHAsIHAtPnBjcmUxX2V4dHJhX2luZm8sIGxpbmUsCisJCQkJZW9sIC0gbGluZSwgMCwgZmxhZ3MsIG92ZWN0b3IsCisJCQkJQVJSQVlfU0laRShvdmVjdG9yKSk7CisJfQorCiAJaWYgKHJldCA8IDAgJiYgcmV0ICE9IFBDUkVfRVJST1JfTk9NQVRDSCkKIAkJZGllKCJwY3JlX2V4ZWMgZmFpbGVkIHdpdGggZXJyb3IgY29kZSAlZCIsIHJldCk7CiAJaWYgKHJldCA+IDApIHsKQEAgLTM2Myw1NSArNDM3LDE2NSBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGZyZWVfcGNyZV9yZWdleHAoc3RydWN0IGdyZXBfcGF0ICpwKQorc3RhdGljIHZvaWQgZnJlZV9wY3JlMV9yZWdleHAoc3RydWN0IGdyZXBfcGF0ICpwKQogewotCXBjcmVfZnJlZShwLT5wY3JlX3JlZ2V4cCk7Ci0JcGNyZV9mcmVlKHAtPnBjcmVfZXh0cmFfaW5mbyk7Ci0JcGNyZV9mcmVlKCh2b2lkICopcC0+cGNyZV90YWJsZXMpOworCXBjcmVfZnJlZShwLT5wY3JlMV9yZWdleHApOworI2lmZGVmIEdJVF9QQ1JFMV9VU0VfSklUCisJaWYgKHAtPnBjcmUxX2ppdF9vbikgeworCQlwY3JlX2ZyZWVfc3R1ZHkocC0+cGNyZTFfZXh0cmFfaW5mbyk7CisJCXBjcmVfaml0X3N0YWNrX2ZyZWUocC0+cGNyZTFfaml0X3N0YWNrKTsKKwl9IGVsc2UKKyNlbmRpZgorCXsKKwkJcGNyZV9mcmVlKHAtPnBjcmUxX2V4dHJhX2luZm8pOworCX0KKwlwY3JlX2ZyZWUoKHZvaWQgKilwLT5wY3JlMV90YWJsZXMpOwogfQotI2Vsc2UgLyogIVVTRV9MSUJQQ1JFICovCi1zdGF0aWMgdm9pZCBjb21waWxlX3BjcmVfcmVnZXhwKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3Qgc3RydWN0IGdyZXBfb3B0ICpvcHQpCisjZWxzZSAvKiAhVVNFX0xJQlBDUkUxICovCitzdGF0aWMgdm9pZCBjb21waWxlX3BjcmUxX3JlZ2V4cChzdHJ1Y3QgZ3JlcF9wYXQgKnAsIGNvbnN0IHN0cnVjdCBncmVwX29wdCAqb3B0KQogewogCWRpZSgiY2Fubm90IHVzZSBQZXJsLWNvbXBhdGlibGUgcmVnZXhlcyB3aGVuIG5vdCBjb21waWxlZCB3aXRoIFVTRV9MSUJQQ1JFIik7CiB9CiAKLXN0YXRpYyBpbnQgcGNyZW1hdGNoKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3QgY2hhciAqbGluZSwgY29uc3QgY2hhciAqZW9sLAorc3RhdGljIGludCBwY3JlMW1hdGNoKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3QgY2hhciAqbGluZSwgY29uc3QgY2hhciAqZW9sLAogCQlyZWdtYXRjaF90ICptYXRjaCwgaW50IGVmbGFncykKIHsKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIHZvaWQgZnJlZV9wY3JlX3JlZ2V4cChzdHJ1Y3QgZ3JlcF9wYXQgKnApCitzdGF0aWMgdm9pZCBmcmVlX3BjcmUxX3JlZ2V4cChzdHJ1Y3QgZ3JlcF9wYXQgKnApCiB7CiB9Ci0jZW5kaWYgLyogIVVTRV9MSUJQQ1JFICovCisjZW5kaWYgLyogIVVTRV9MSUJQQ1JFMSAqLwogCi1zdGF0aWMgaW50IGlzX2ZpeGVkKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4pCisjaWZkZWYgVVNFX0xJQlBDUkUyCitzdGF0aWMgdm9pZCBjb21waWxlX3BjcmUyX3BhdHRlcm4oc3RydWN0IGdyZXBfcGF0ICpwLCBjb25zdCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCkKIHsKLQlzaXplX3QgaTsKKwlpbnQgZXJyb3I7CisJUENSRTJfVUNIQVIgZXJyYnVmWzI1Nl07CisJUENSRTJfU0laRSBlcnJvZmZzZXQ7CisJaW50IG9wdGlvbnMgPSBQQ1JFMl9NVUxUSUxJTkU7CisJY29uc3QgdWludDhfdCAqY2hhcmFjdGVyX3RhYmxlcyA9IE5VTEw7CisJaW50IGppdHJldDsKIAotCS8qIHJlZ2NvbXAgY2Fubm90IGFjY2VwdCBwYXR0ZXJucyB3aXRoIE5VTHMgc28gd2UKLQkgKiBjb25zaWRlciBhbnkgcGF0dGVybiBjb250YWluaW5nIGEgTlVMIGZpeGVkLgotCSAqLwotCWlmIChtZW1jaHIocywgMCwgbGVuKSkKLQkJcmV0dXJuIDE7CisJYXNzZXJ0KG9wdC0+cGNyZTIpOwogCi0JZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0JCWlmIChpc19yZWdleF9zcGVjaWFsKHNbaV0pKQotCQkJcmV0dXJuIDA7CisJcC0+cGNyZTJfY29tcGlsZV9jb250ZXh0ID0gTlVMTDsKKworCWlmIChvcHQtPmlnbm9yZV9jYXNlKSB7CisJCWlmIChoYXNfbm9uX2FzY2lpKHAtPnBhdHRlcm4pKSB7CisJCQljaGFyYWN0ZXJfdGFibGVzID0gcGNyZTJfbWFrZXRhYmxlcyhOVUxMKTsKKwkJCXAtPnBjcmUyX2NvbXBpbGVfY29udGV4dCA9IHBjcmUyX2NvbXBpbGVfY29udGV4dF9jcmVhdGUoTlVMTCk7CisJCQlwY3JlMl9zZXRfY2hhcmFjdGVyX3RhYmxlcyhwLT5wY3JlMl9jb21waWxlX2NvbnRleHQsIGNoYXJhY3Rlcl90YWJsZXMpOworCQl9CisJCW9wdGlvbnMgfD0gUENSRTJfQ0FTRUxFU1M7CisJfQorCWlmIChpc191dGY4X2xvY2FsZSgpICYmIGhhc19ub25fYXNjaWkocC0+cGF0dGVybikpCisJCW9wdGlvbnMgfD0gUENSRTJfVVRGOworCisJcC0+cGNyZTJfcGF0dGVybiA9IHBjcmUyX2NvbXBpbGUoKFBDUkUyX1NQVFIpcC0+cGF0dGVybiwKKwkJCQkJIHAtPnBhdHRlcm5sZW4sIG9wdGlvbnMsICZlcnJvciwgJmVycm9mZnNldCwKKwkJCQkJIHAtPnBjcmUyX2NvbXBpbGVfY29udGV4dCk7CisKKwlpZiAocC0+cGNyZTJfcGF0dGVybikgeworCQlwLT5wY3JlMl9tYXRjaF9kYXRhID0gcGNyZTJfbWF0Y2hfZGF0YV9jcmVhdGVfZnJvbV9wYXR0ZXJuKHAtPnBjcmUyX3BhdHRlcm4sIE5VTEwpOworCQlpZiAoIXAtPnBjcmUyX21hdGNoX2RhdGEpCisJCQlkaWUoIkNvdWxkbid0IGFsbG9jYXRlIFBDUkUyIG1hdGNoIGRhdGEiKTsKKwl9IGVsc2UgeworCQlwY3JlMl9nZXRfZXJyb3JfbWVzc2FnZShlcnJvciwgZXJyYnVmLCBzaXplb2YoZXJyYnVmKSk7CisJCWNvbXBpbGVfcmVnZXhwX2ZhaWxlZChwLCAoY29uc3QgY2hhciAqKSZlcnJidWYpOwogCX0KIAorCXBjcmUyX2NvbmZpZyhQQ1JFMl9DT05GSUdfSklULCAmcC0+cGNyZTJfaml0X29uKTsKKwlpZiAocC0+cGNyZTJfaml0X29uID09IDEpIHsKKwkJaml0cmV0ID0gcGNyZTJfaml0X2NvbXBpbGUocC0+cGNyZTJfcGF0dGVybiwgUENSRTJfSklUX0NPTVBMRVRFKTsKKwkJaWYgKGppdHJldCkKKwkJCWRpZSgiQ291bGRuJ3QgSklUIHRoZSBQQ1JFMiBwYXR0ZXJuICclcycsIGdvdCAnJWQnXG4iLCBwLT5wYXR0ZXJuLCBqaXRyZXQpOworCQlwLT5wY3JlMl9qaXRfc3RhY2sgPSBwY3JlMl9qaXRfc3RhY2tfY3JlYXRlKDEsIDEwMjQgKiAxMDI0LCBOVUxMKTsKKwkJaWYgKCFwLT5wY3JlMl9qaXRfc3RhY2spCisJCQlkaWUoIkNvdWxkbid0IGFsbG9jYXRlIFBDUkUyIEpJVCBzdGFjayIpOworCQlwLT5wY3JlMl9tYXRjaF9jb250ZXh0ID0gcGNyZTJfbWF0Y2hfY29udGV4dF9jcmVhdGUoTlVMTCk7CisJCWlmICghcC0+cGNyZTJfbWF0Y2hfY29udGV4dCkKKwkJCWRpZSgiQ291bGRuJ3QgYWxsb2NhdGUgUENSRTIgbWF0Y2ggY29udGV4dCIpOworCQlwY3JlMl9qaXRfc3RhY2tfYXNzaWduKHAtPnBjcmUyX21hdGNoX2NvbnRleHQsIE5VTEwsIHAtPnBjcmUyX2ppdF9zdGFjayk7CisJfSBlbHNlIGlmIChwLT5wY3JlMl9qaXRfb24gIT0gMCkgeworCQlkaWUoIkJVRzogVGhlIHBjcmUyX2ppdF9vbiB2YXJpYWJsZSBzaG91bGQgYmUgMCBvciAxLCBub3QgJWQiLAorCQkgICAgcC0+cGNyZTFfaml0X29uKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcGNyZTJtYXRjaChzdHJ1Y3QgZ3JlcF9wYXQgKnAsIGNvbnN0IGNoYXIgKmxpbmUsIGNvbnN0IGNoYXIgKmVvbCwKKwkJcmVnbWF0Y2hfdCAqbWF0Y2gsIGludCBlZmxhZ3MpCit7CisJaW50IHJldCwgZmxhZ3MgPSAwOworCVBDUkUyX1NJWkUgKm92ZWN0b3I7CisJUENSRTJfVUNIQVIgZXJyYnVmWzI1Nl07CisKKwlpZiAoZWZsYWdzICYgUkVHX05PVEJPTCkKKwkJZmxhZ3MgfD0gUENSRTJfTk9UQk9MOworCisJaWYgKHAtPnBjcmUyX2ppdF9vbikKKwkJcmV0ID0gcGNyZTJfaml0X21hdGNoKHAtPnBjcmUyX3BhdHRlcm4sICh1bnNpZ25lZCBjaGFyICopbGluZSwKKwkJCQkgICAgICBlb2wgLSBsaW5lLCAwLCBmbGFncywgcC0+cGNyZTJfbWF0Y2hfZGF0YSwKKwkJCQkgICAgICBOVUxMKTsKKwllbHNlCisJCXJldCA9IHBjcmUyX21hdGNoKHAtPnBjcmUyX3BhdHRlcm4sICh1bnNpZ25lZCBjaGFyICopbGluZSwKKwkJCQkgIGVvbCAtIGxpbmUsIDAsIGZsYWdzLCBwLT5wY3JlMl9tYXRjaF9kYXRhLAorCQkJCSAgTlVMTCk7CisKKwlpZiAocmV0IDwgMCAmJiByZXQgIT0gUENSRTJfRVJST1JfTk9NQVRDSCkgeworCQlwY3JlMl9nZXRfZXJyb3JfbWVzc2FnZShyZXQsIGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZikpOworCQlkaWUoIiVzIGZhaWxlZCB3aXRoIGVycm9yIGNvZGUgJWQ6ICVzIiwKKwkJICAgIChwLT5wY3JlMl9qaXRfb24gPyAicGNyZTJfaml0X21hdGNoIiA6ICJwY3JlMl9tYXRjaCIpLCByZXQsCisJCSAgICBlcnJidWYpOworCX0KKwlpZiAocmV0ID4gMCkgeworCQlvdmVjdG9yID0gcGNyZTJfZ2V0X292ZWN0b3JfcG9pbnRlcihwLT5wY3JlMl9tYXRjaF9kYXRhKTsKKwkJcmV0ID0gMDsKKwkJbWF0Y2gtPnJtX3NvID0gKGludClvdmVjdG9yWzBdOworCQltYXRjaC0+cm1fZW8gPSAoaW50KW92ZWN0b3JbMV07CisJfQorCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgZnJlZV9wY3JlMl9wYXR0ZXJuKHN0cnVjdCBncmVwX3BhdCAqcCkKK3sKKwlwY3JlMl9jb21waWxlX2NvbnRleHRfZnJlZShwLT5wY3JlMl9jb21waWxlX2NvbnRleHQpOworCXBjcmUyX2NvZGVfZnJlZShwLT5wY3JlMl9wYXR0ZXJuKTsKKwlwY3JlMl9tYXRjaF9kYXRhX2ZyZWUocC0+cGNyZTJfbWF0Y2hfZGF0YSk7CisJcGNyZTJfaml0X3N0YWNrX2ZyZWUocC0+cGNyZTJfaml0X3N0YWNrKTsKKwlwY3JlMl9tYXRjaF9jb250ZXh0X2ZyZWUocC0+cGNyZTJfbWF0Y2hfY29udGV4dCk7Cit9CisjZWxzZSAvKiAhVVNFX0xJQlBDUkUyICovCitzdGF0aWMgdm9pZCBjb21waWxlX3BjcmUyX3BhdHRlcm4oc3RydWN0IGdyZXBfcGF0ICpwLCBjb25zdCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCkKK3sKKwkvKgorCSAqIFVucmVhY2hhYmxlIHVudGlsIFVTRV9MSUJQQ1JFMiBiZWNvbWVzIHN5bm9ueW1vdXMgd2l0aAorCSAqIFVTRV9MSUJQQ1JFLiBTZWUgdGhlIHNpYmxpbmcgY29tbWVudCBpbgorCSAqIGdyZXBfc2V0X3BhdHRlcm5fdHlwZV9vcHRpb24oKS4KKwkgKi8KKwlkaWUoImNhbm5vdCB1c2UgUGVybC1jb21wYXRpYmxlIHJlZ2V4ZXMgd2hlbiBub3QgY29tcGlsZWQgd2l0aCBVU0VfTElCUENSRSIpOworfQorCitzdGF0aWMgaW50IHBjcmUybWF0Y2goc3RydWN0IGdyZXBfcGF0ICpwLCBjb25zdCBjaGFyICpsaW5lLCBjb25zdCBjaGFyICplb2wsCisJCXJlZ21hdGNoX3QgKm1hdGNoLCBpbnQgZWZsYWdzKQorewogCXJldHVybiAxOwogfQogCitzdGF0aWMgdm9pZCBmcmVlX3BjcmUyX3BhdHRlcm4oc3RydWN0IGdyZXBfcGF0ICpwKQoreworfQorI2VuZGlmIC8qICFVU0VfTElCUENSRTIgKi8KKwogc3RhdGljIHZvaWQgY29tcGlsZV9maXhlZF9yZWdleHAoc3RydWN0IGdyZXBfcGF0ICpwLCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJaW50IGVycjsKLQlpbnQgcmVnZmxhZ3M7CisJaW50IHJlZ2ZsYWdzID0gMDsKIAogCWJhc2ljX3JlZ2V4X3F1b3RlX2J1Zigmc2IsIHAtPnBhdHRlcm4pOwotCXJlZ2ZsYWdzID0gb3B0LT5yZWdmbGFncyAmIH5SRUdfRVhURU5ERUQ7CiAJaWYgKG9wdC0+aWdub3JlX2Nhc2UpCiAJCXJlZ2ZsYWdzIHw9IFJFR19JQ0FTRTsKIAllcnIgPSByZWdjb21wKCZwLT5yZWdleHAsIHNiLmJ1ZiwgcmVnZmxhZ3MpOwpAQCAtNDI4LDEyICs2MTIsMTIgQEAKIAogc3RhdGljIHZvaWQgY29tcGlsZV9yZWdleHAoc3RydWN0IGdyZXBfcGF0ICpwLCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCkKIHsKLQlpbnQgaWNhc2UsIGFzY2lpX29ubHk7CisJaW50IGFzY2lpX29ubHk7CiAJaW50IGVycjsKKwlpbnQgcmVnZmxhZ3MgPSBSRUdfTkVXTElORTsKIAogCXAtPndvcmRfcmVnZXhwID0gb3B0LT53b3JkX3JlZ2V4cDsKIAlwLT5pZ25vcmVfY2FzZSA9IG9wdC0+aWdub3JlX2Nhc2U7Ci0JaWNhc2UJICAgICAgID0gb3B0LT5yZWdmbGFncyAmIFJFR19JQ0FTRSB8fCBwLT5pZ25vcmVfY2FzZTsKIAlhc2NpaV9vbmx5ICAgICA9ICFoYXNfbm9uX2FzY2lpKHAtPnBhdHRlcm4pOwogCiAJLyoKQEAgLTQ0OCwxMyArNjMyLDEzIEBACiAJICogc2ltcGxlIHN0cmluZyBtYXRjaCB1c2luZyBrd3MuICBwLT5maXhlZCB0ZWxscyB1cyBpZiB3ZQogCSAqIHdhbnQgdG8gdXNlIGt3cy4KIAkgKi8KLQlpZiAob3B0LT5maXhlZCB8fCBpc19maXhlZChwLT5wYXR0ZXJuLCBwLT5wYXR0ZXJubGVuKSkKLQkJcC0+Zml4ZWQgPSAhaWNhc2UgfHwgYXNjaWlfb25seTsKLQllbHNlCi0JCXAtPmZpeGVkID0gMDsKKwlpZiAob3B0LT5maXhlZCB8fAorCSAgICBoYXNfbnVsbChwLT5wYXR0ZXJuLCBwLT5wYXR0ZXJubGVuKSB8fAorCSAgICBpc19maXhlZChwLT5wYXR0ZXJuLCBwLT5wYXR0ZXJubGVuKSkKKwkJcC0+Zml4ZWQgPSAhcC0+aWdub3JlX2Nhc2UgfHwgYXNjaWlfb25seTsKIAogCWlmIChwLT5maXhlZCkgewotCQlwLT5rd3MgPSBrd3NhbGxvYyhpY2FzZSA/IHRvbG93ZXJfdHJhbnNfdGJsIDogTlVMTCk7CisJCXAtPmt3cyA9IGt3c2FsbG9jKHAtPmlnbm9yZV9jYXNlID8gdG9sb3dlcl90cmFuc190YmwgOiBOVUxMKTsKIAkJa3dzaW5jcihwLT5rd3MsIHAtPnBhdHRlcm4sIHAtPnBhdHRlcm5sZW4pOwogCQlrd3NwcmVwKHAtPmt3cyk7CiAJCXJldHVybjsKQEAgLTQ2OCwxMiArNjUyLDIxIEBACiAJCXJldHVybjsKIAl9CiAKLQlpZiAob3B0LT5wY3JlKSB7Ci0JCWNvbXBpbGVfcGNyZV9yZWdleHAocCwgb3B0KTsKKwlpZiAob3B0LT5wY3JlMikgeworCQljb21waWxlX3BjcmUyX3BhdHRlcm4ocCwgb3B0KTsKIAkJcmV0dXJuOwogCX0KIAotCWVyciA9IHJlZ2NvbXAoJnAtPnJlZ2V4cCwgcC0+cGF0dGVybiwgb3B0LT5yZWdmbGFncyk7CisJaWYgKG9wdC0+cGNyZTEpIHsKKwkJY29tcGlsZV9wY3JlMV9yZWdleHAocCwgb3B0KTsKKwkJcmV0dXJuOworCX0KKworCWlmIChwLT5pZ25vcmVfY2FzZSkKKwkJcmVnZmxhZ3MgfD0gUkVHX0lDQVNFOworCWlmIChvcHQtPmV4dGVuZGVkX3JlZ2V4cF9vcHRpb24pCisJCXJlZ2ZsYWdzIHw9IFJFR19FWFRFTkRFRDsKKwllcnIgPSByZWdjb21wKCZwLT5yZWdleHAsIHAtPnBhdHRlcm4sIHJlZ2ZsYWdzKTsKIAlpZiAoZXJyKSB7CiAJCWNoYXIgZXJyYnVmWzEwMjRdOwogCQlyZWdlcnJvcihlcnIsICZwLT5yZWdleHAsIGVycmJ1ZiwgMTAyNCk7CkBAIC04MjUsOCArMTAxOCwxMCBAQAogCQljYXNlIEdSRVBfUEFUVEVSTl9CT0RZOgogCQkJaWYgKHAtPmt3cykKIAkJCQlrd3NmcmVlKHAtPmt3cyk7Ci0JCQllbHNlIGlmIChwLT5wY3JlX3JlZ2V4cCkKLQkJCQlmcmVlX3BjcmVfcmVnZXhwKHApOworCQkJZWxzZSBpZiAocC0+cGNyZTFfcmVnZXhwKQorCQkJCWZyZWVfcGNyZTFfcmVnZXhwKHApOworCQkJZWxzZSBpZiAocC0+cGNyZTJfcGF0dGVybikKKwkJCQlmcmVlX3BjcmUyX3BhdHRlcm4ocCk7CiAJCQllbHNlCiAJCQkJcmVnZnJlZSgmcC0+cmVnZXhwKTsKIAkJCWZyZWUocC0+cGF0dGVybik7CkBAIC05MDUsOCArMTEwMCwxMCBAQAogCiAJaWYgKHAtPmZpeGVkKQogCQloaXQgPSAhZml4bWF0Y2gocCwgbGluZSwgZW9sLCBtYXRjaCk7Ci0JZWxzZSBpZiAocC0+cGNyZV9yZWdleHApCi0JCWhpdCA9ICFwY3JlbWF0Y2gocCwgbGluZSwgZW9sLCBtYXRjaCwgZWZsYWdzKTsKKwllbHNlIGlmIChwLT5wY3JlMV9yZWdleHApCisJCWhpdCA9ICFwY3JlMW1hdGNoKHAsIGxpbmUsIGVvbCwgbWF0Y2gsIGVmbGFncyk7CisJZWxzZSBpZiAocC0+cGNyZTJfcGF0dGVybikKKwkJaGl0ID0gIXBjcmUybWF0Y2gocCwgbGluZSwgZW9sLCBtYXRjaCwgZWZsYWdzKTsKIAllbHNlCiAJCWhpdCA9ICFyZWdleGVjX2J1ZigmcC0+cmVnZXhwLCBsaW5lLCBlb2wgLSBsaW5lLCAxLCBtYXRjaCwKIAkJCQkgICBlZmxhZ3MpOwpAQCAtMTE2NCw3ICsxMzYxLDcgQEAKIAl9CiAJaWYgKG9wdC0+bGluZW51bSkgewogCQljaGFyIGJ1ZlszMl07Ci0JCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZCIsIGxubyk7CisJCXhzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWQiLCBsbm8pOwogCQlvdXRwdXRfY29sb3Iob3B0LCBidWYsIHN0cmxlbihidWYpLCBvcHQtPmNvbG9yX2xpbmVubyk7CiAJCW91dHB1dF9zZXAob3B0LCBzaWduKTsKIAl9CkBAIC0xMzc5LDExICsxNTc2LDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgc3RkX291dHB1dChzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3Qgc2l6ZSkKLXsKLQlmd3JpdGUoYnVmLCBzaXplLCAxLCBzdGRvdXQpOwotfQotCiBzdGF0aWMgaW50IGZpbGxfdGV4dGNvbnZfZ3JlcChzdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyICpkcml2ZXIsCiAJCQkgICAgICBzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzKQogewpAQCAtMTQwMSwxMSArMTU5MywxMSBAQAogCSAqLwogCWRmID0gYWxsb2NfZmlsZXNwZWMoZ3MtPnBhdGgpOwogCXN3aXRjaCAoZ3MtPnR5cGUpIHsKLQljYXNlIEdSRVBfU09VUkNFX1NIQTE6CisJY2FzZSBHUkVQX1NPVVJDRV9PSUQ6CiAJCWZpbGxfZmlsZXNwZWMoZGYsIGdzLT5pZGVudGlmaWVyLCAxLCAwMTAwNjQ0KTsKIAkJYnJlYWs7CiAJY2FzZSBHUkVQX1NPVVJDRV9GSUxFOgotCQlmaWxsX2ZpbGVzcGVjKGRmLCBudWxsX3NoYTEsIDAsIDAxMDA2NDQpOworCQlmaWxsX2ZpbGVzcGVjKGRmLCAmbnVsbF9vaWQsIDAsIDAxMDA2NDQpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlkaWUoIkJVRzogYXR0ZW1wdCB0byB0ZXh0Y29udiBzb21ldGhpbmcgd2l0aG91dCBhIHBhdGg/Iik7CkBAIC0xNjI5LDcgKzE4MjEsNyBAQAogCQlyZXR1cm4gMDsKIAogCWlmIChvcHQtPnN0YXR1c19vbmx5KQotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIG9wdC0+dW5tYXRjaF9uYW1lX29ubHk7CiAJaWYgKG9wdC0+dW5tYXRjaF9uYW1lX29ubHkpIHsKIAkJLyogV2UgZGlkIG5vdCBzZWUgYW55IGhpdCwgc28gd2Ugd2FudCB0byBzaG93IHRoaXMgKi8KIAkJc2hvd19uYW1lKG9wdCwgZ3MtPm5hbWUpOwpAQCAtMTY1MSw3ICsxODQzLDcgQEAKIAkJCQkgICAgIG9wdC0+Y29sb3JfZmlsZW5hbWUpOwogCQkJb3V0cHV0X3NlcChvcHQsICc6Jyk7CiAJCX0KLQkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiV1XG4iLCBjb3VudCk7CisJCXhzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXVcbiIsIGNvdW50KTsKIAkJb3B0LT5vdXRwdXQob3B0LCBidWYsIHN0cmxlbihidWYpKTsKIAkJcmV0dXJuIDE7CiAJfQpAQCAtMTczNSwxOSArMTkyNyw4IEBACiAJY2FzZSBHUkVQX1NPVVJDRV9GSUxFOgogCQlncy0+aWRlbnRpZmllciA9IHhzdHJkdXAoaWRlbnRpZmllcik7CiAJCWJyZWFrOwotCWNhc2UgR1JFUF9TT1VSQ0VfU1VCTU9EVUxFOgotCQlpZiAoIWlkZW50aWZpZXIpIHsKLQkJCWdzLT5pZGVudGlmaWVyID0gTlVMTDsKLQkJCWJyZWFrOwotCQl9Ci0JCS8qCi0JCSAqIEZBTEwgVEhST1VHSAotCQkgKiBJZiB0aGUgaWRlbnRpZmllciBpcyBub24tTlVMTCAoaW4gdGhlIHN1Ym1vZHVsZSBjYXNlKSBpdAotCQkgKiB3aWxsIGJlIGEgU0hBMSB0aGF0IG5lZWRzIHRvIGJlIGNvcGllZC4KLQkJICovCi0JY2FzZSBHUkVQX1NPVVJDRV9TSEExOgotCQlncy0+aWRlbnRpZmllciA9IHhtYWxsb2MoMjApOwotCQloYXNoY3B5KGdzLT5pZGVudGlmaWVyLCBpZGVudGlmaWVyKTsKKwljYXNlIEdSRVBfU09VUkNFX09JRDoKKwkJZ3MtPmlkZW50aWZpZXIgPSBvaWRkdXAoaWRlbnRpZmllcik7CiAJCWJyZWFrOwogCWNhc2UgR1JFUF9TT1VSQ0VfQlVGOgogCQlncy0+aWRlbnRpZmllciA9IE5VTEw7CkBAIC0xNzU3LDEyICsxOTM4LDkgQEAKIAogdm9pZCBncmVwX3NvdXJjZV9jbGVhcihzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzKQogewotCWZyZWUoZ3MtPm5hbWUpOwotCWdzLT5uYW1lID0gTlVMTDsKLQlmcmVlKGdzLT5wYXRoKTsKLQlncy0+cGF0aCA9IE5VTEw7Ci0JZnJlZShncy0+aWRlbnRpZmllcik7Ci0JZ3MtPmlkZW50aWZpZXIgPSBOVUxMOworCUZSRUVfQU5EX05VTEwoZ3MtPm5hbWUpOworCUZSRUVfQU5EX05VTEwoZ3MtPnBhdGgpOworCUZSRUVfQU5EX05VTEwoZ3MtPmlkZW50aWZpZXIpOwogCWdyZXBfc291cmNlX2NsZWFyX2RhdGEoZ3MpOwogfQogCkBAIC0xNzcwLDEwICsxOTQ4LDggQEAKIHsKIAlzd2l0Y2ggKGdzLT50eXBlKSB7CiAJY2FzZSBHUkVQX1NPVVJDRV9GSUxFOgotCWNhc2UgR1JFUF9TT1VSQ0VfU0hBMToKLQljYXNlIEdSRVBfU09VUkNFX1NVQk1PRFVMRToKLQkJZnJlZShncy0+YnVmKTsKLQkJZ3MtPmJ1ZiA9IE5VTEw7CisJY2FzZSBHUkVQX1NPVVJDRV9PSUQ6CisJCUZSRUVfQU5EX05VTEwoZ3MtPmJ1Zik7CiAJCWdzLT5zaXplID0gMDsKIAkJYnJlYWs7CiAJY2FzZSBHUkVQX1NPVVJDRV9CVUY6CkBAIC0xNzgyLDcgKzE5NTgsNyBAQAogCX0KIH0KIAotc3RhdGljIGludCBncmVwX3NvdXJjZV9sb2FkX3NoYTEoc3RydWN0IGdyZXBfc291cmNlICpncykKK3N0YXRpYyBpbnQgZ3JlcF9zb3VyY2VfbG9hZF9vaWQoc3RydWN0IGdyZXBfc291cmNlICpncykKIHsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAKQEAgLTE3OTMsNyArMTk2OSw3IEBACiAJaWYgKCFncy0+YnVmKQogCQlyZXR1cm4gZXJyb3IoXygiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiKSwKIAkJCSAgICAgZ3MtPm5hbWUsCi0JCQkgICAgIHNoYTFfdG9faGV4KGdzLT5pZGVudGlmaWVyKSk7CisJCQkgICAgIG9pZF90b19oZXgoZ3MtPmlkZW50aWZpZXIpKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTgzOSwxMiArMjAxNSwxMCBAQAogCXN3aXRjaCAoZ3MtPnR5cGUpIHsKIAljYXNlIEdSRVBfU09VUkNFX0ZJTEU6CiAJCXJldHVybiBncmVwX3NvdXJjZV9sb2FkX2ZpbGUoZ3MpOwotCWNhc2UgR1JFUF9TT1VSQ0VfU0hBMToKLQkJcmV0dXJuIGdyZXBfc291cmNlX2xvYWRfc2hhMShncyk7CisJY2FzZSBHUkVQX1NPVVJDRV9PSUQ6CisJCXJldHVybiBncmVwX3NvdXJjZV9sb2FkX29pZChncyk7CiAJY2FzZSBHUkVQX1NPVVJDRV9CVUY6CiAJCXJldHVybiBncy0+YnVmID8gMCA6IC0xOwotCWNhc2UgR1JFUF9TT1VSQ0VfU1VCTU9EVUxFOgotCQlicmVhazsKIAl9CiAJZGllKCJCVUc6IGludmFsaWQgZ3JlcF9zb3VyY2UgdHlwZSB0byBsb2FkIik7CiB9CmRpZmYgLS1naXQgYS9ncmVwLmggYi9ncmVwLmgKaW5kZXggMjY3NTM0Yy4uNTJhZWNmYSAxMDA2NDQKLS0tIGEvZ3JlcC5oCisrKyBiL2dyZXAuaApAQCAtMSwxMSArMSwzNSBAQAogI2lmbmRlZiBHUkVQX0gKICNkZWZpbmUgR1JFUF9ICiAjaW5jbHVkZSAiY29sb3IuaCIKLSNpZmRlZiBVU0VfTElCUENSRQorI2lmZGVmIFVTRV9MSUJQQ1JFMQogI2luY2x1ZGUgPHBjcmUuaD4KKyNpZmRlZiBQQ1JFX0NPTkZJR19KSVQKKyNpZiBQQ1JFX01BSk9SID49IDggJiYgUENSRV9NSU5PUiA+PSAzMgorI2lmbmRlZiBOT19MSUJQQ1JFMV9KSVQKKyNkZWZpbmUgR0lUX1BDUkUxX1VTRV9KSVQKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNpZm5kZWYgUENSRV9TVFVEWV9KSVRfQ09NUElMRQorI2RlZmluZSBQQ1JFX1NUVURZX0pJVF9DT01QSUxFIDAKKyNlbmRpZgorI2lmIFBDUkVfTUFKT1IgPD0gOCAmJiBQQ1JFX01JTk9SIDwgMjAKK3R5cGVkZWYgaW50IHBjcmVfaml0X3N0YWNrOworI2VuZGlmCiAjZWxzZQogdHlwZWRlZiBpbnQgcGNyZTsKIHR5cGVkZWYgaW50IHBjcmVfZXh0cmE7Cit0eXBlZGVmIGludCBwY3JlX2ppdF9zdGFjazsKKyNlbmRpZgorI2lmZGVmIFVTRV9MSUJQQ1JFMgorI2RlZmluZSBQQ1JFMl9DT0RFX1VOSVRfV0lEVEggOAorI2luY2x1ZGUgPHBjcmUyLmg+CisjZWxzZQordHlwZWRlZiBpbnQgcGNyZTJfY29kZTsKK3R5cGVkZWYgaW50IHBjcmUyX21hdGNoX2RhdGE7Cit0eXBlZGVmIGludCBwY3JlMl9jb21waWxlX2NvbnRleHQ7Cit0eXBlZGVmIGludCBwY3JlMl9tYXRjaF9jb250ZXh0OwordHlwZWRlZiBpbnQgcGNyZTJfaml0X3N0YWNrOwogI2VuZGlmCiAjaW5jbHVkZSAia3dzZXQuaCIKICNpbmNsdWRlICJ0aHJlYWQtdXRpbHMuaCIKQEAgLTQ2LDkgKzcwLDE3IEBACiAJc2l6ZV90IHBhdHRlcm5sZW47CiAJZW51bSBncmVwX2hlYWRlcl9maWVsZCBmaWVsZDsKIAlyZWdleF90IHJlZ2V4cDsKLQlwY3JlICpwY3JlX3JlZ2V4cDsKLQlwY3JlX2V4dHJhICpwY3JlX2V4dHJhX2luZm87Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqcGNyZV90YWJsZXM7CisJcGNyZSAqcGNyZTFfcmVnZXhwOworCXBjcmVfZXh0cmEgKnBjcmUxX2V4dHJhX2luZm87CisJcGNyZV9qaXRfc3RhY2sgKnBjcmUxX2ppdF9zdGFjazsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwY3JlMV90YWJsZXM7CisJaW50IHBjcmUxX2ppdF9vbjsKKwlwY3JlMl9jb2RlICpwY3JlMl9wYXR0ZXJuOworCXBjcmUyX21hdGNoX2RhdGEgKnBjcmUyX21hdGNoX2RhdGE7CisJcGNyZTJfY29tcGlsZV9jb250ZXh0ICpwY3JlMl9jb21waWxlX2NvbnRleHQ7CisJcGNyZTJfbWF0Y2hfY29udGV4dCAqcGNyZTJfbWF0Y2hfY29udGV4dDsKKwlwY3JlMl9qaXRfc3RhY2sgKnBjcmUyX2ppdF9zdGFjazsKKwl1aW50MzJfdCBwY3JlMl9qaXRfb247CiAJa3dzZXRfdCBrd3M7CiAJdW5zaWduZWQgZml4ZWQ6MTsKIAl1bnNpZ25lZCBpZ25vcmVfY2FzZToxOwpAQCAtMTExLDcgKzE0Myw4IEBACiAJaW50IGFsbG93X3RleHRjb252OwogCWludCBleHRlbmRlZDsKIAlpbnQgdXNlX3JlZmxvZ19maWx0ZXI7Ci0JaW50IHBjcmU7CisJaW50IHBjcmUxOworCWludCBwY3JlMjsKIAlpbnQgcmVsYXRpdmU7CiAJaW50IHBhdGhuYW1lOwogCWludCBudWxsX2ZvbGxvd2luZ19uYW1lOwpAQCAtMTI5LDcgKzE2Miw2IEBACiAJY2hhciBjb2xvcl9tYXRjaF9zZWxlY3RlZFtDT0xPUl9NQVhMRU5dOwogCWNoYXIgY29sb3Jfc2VsZWN0ZWRbQ09MT1JfTUFYTEVOXTsKIAljaGFyIGNvbG9yX3NlcFtDT0xPUl9NQVhMRU5dOwotCWludCByZWdmbGFnczsKIAl1bnNpZ25lZCBwcmVfY29udGV4dDsKIAl1bnNpZ25lZCBwb3N0X2NvbnRleHQ7CiAJdW5zaWduZWQgbGFzdF9zaG93bjsKQEAgLTE1OCwxMCArMTkwLDkgQEAKIAljaGFyICpuYW1lOwogCiAJZW51bSBncmVwX3NvdXJjZV90eXBlIHsKLQkJR1JFUF9TT1VSQ0VfU0hBMSwKKwkJR1JFUF9TT1VSQ0VfT0lELAogCQlHUkVQX1NPVVJDRV9GSUxFLAogCQlHUkVQX1NPVVJDRV9CVUYsCi0JCUdSRVBfU09VUkNFX1NVQk1PRFVMRSwKIAl9IHR5cGU7CiAJdm9pZCAqaWRlbnRpZmllcjsKIApkaWZmIC0tZ2l0IGEvaGFzaC5oIGIvaGFzaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyNGQwZDMKLS0tIC9kZXYvbnVsbAorKysgYi9oYXNoLmgKQEAgLTAsMCArMSwxNiBAQAorI2lmbmRlZiBIQVNIX0gKKyNkZWZpbmUgSEFTSF9ICisKKyNpZiBkZWZpbmVkKFNIQTFfUFBDKQorI2luY2x1ZGUgInBwYy9zaGExLmgiCisjZWxpZiBkZWZpbmVkKFNIQTFfQVBQTEUpCisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkRpZ2VzdC5oPgorI2VsaWYgZGVmaW5lZChTSEExX09QRU5TU0wpCisjaW5jbHVkZSA8b3BlbnNzbC9zaGEuaD4KKyNlbGlmIGRlZmluZWQoU0hBMV9EQykKKyNpbmNsdWRlICJzaGExZGNfZ2l0LmgiCisjZWxzZSAvKiBTSEExX0JMSyAqLworI2luY2x1ZGUgImJsb2NrLXNoYTEvc2hhMS5oIgorI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaGFzaG1hcC5jIGIvaGFzaG1hcC5jCmluZGV4IGIxMGI2NDIuLmQ0MmYwMWYgMTAwNjQ0Ci0tLSBhL2hhc2htYXAuYworKysgYi9oYXNobWFwLmMKQEAgLTUwLDYgKzUwLDIzIEBACiAJcmV0dXJuIGhhc2g7CiB9CiAKKy8qCisgKiBJbmNvcG9yYXRlIGFub3RoZXIgY2h1bmsgb2YgZGF0YSBpbnRvIGEgbWVtaWhhc2gKKyAqIGNvbXB1dGF0aW9uLgorICovCit1bnNpZ25lZCBpbnQgbWVtaWhhc2hfY29udCh1bnNpZ25lZCBpbnQgaGFzaF9zZWVkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBsZW4pCit7CisJdW5zaWduZWQgaW50IGhhc2ggPSBoYXNoX3NlZWQ7CisJdW5zaWduZWQgY2hhciAqdWNidWYgPSAodW5zaWduZWQgY2hhciAqKSBidWY7CisJd2hpbGUgKGxlbi0tKSB7CisJCXVuc2lnbmVkIGludCBjID0gKnVjYnVmKys7CisJCWlmIChjID49ICdhJyAmJiBjIDw9ICd6JykKKwkJCWMgLT0gJ2EnIC0gJ0EnOworCQloYXNoID0gKGhhc2ggKiBGTlYzMl9QUklNRSkgXiBjOworCX0KKwlyZXR1cm4gaGFzaDsKK30KKwogI2RlZmluZSBIQVNITUFQX0lOSVRJQUxfU0laRSA2NAogLyogZ3JvdyAvIHNocmluayBieSAyXjIgKi8KICNkZWZpbmUgSEFTSE1BUF9SRVNJWkVfQklUUyAyCkBAIC03OCw3ICs5NSw5IEBACiAJCWNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplMSwgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmUyLAogCQljb25zdCB2b2lkICprZXlkYXRhKQogewotCXJldHVybiAoZTEgPT0gZTIpIHx8IChlMS0+aGFzaCA9PSBlMi0+aGFzaCAmJiAhbWFwLT5jbXBmbihlMSwgZTIsIGtleWRhdGEpKTsKKwlyZXR1cm4gKGUxID09IGUyKSB8fAorCSAgICAgICAoZTEtPmhhc2ggPT0gZTItPmhhc2ggJiYKKwkJIW1hcC0+Y21wZm4obWFwLT5jbXBmbl9kYXRhLCBlMSwgZTIsIGtleWRhdGEpKTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYnVja2V0KGNvbnN0IHN0cnVjdCBoYXNobWFwICptYXAsCkBAIC04Nyw2ICsxMDYsMTEgQEAKIAlyZXR1cm4ga2V5LT5oYXNoICYgKG1hcC0+dGFibGVzaXplIC0gMSk7CiB9CiAKK2ludCBoYXNobWFwX2J1Y2tldChjb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLCB1bnNpZ25lZCBpbnQgaGFzaCkKK3sKKwlyZXR1cm4gaGFzaCAmIChtYXAtPnRhYmxlc2l6ZSAtIDEpOworfQorCiBzdGF0aWMgdm9pZCByZWhhc2goc3RydWN0IGhhc2htYXAgKm1hcCwgdW5zaWduZWQgaW50IG5ld3NpemUpCiB7CiAJdW5zaWduZWQgaW50IGksIG9sZHNpemUgPSBtYXAtPnRhYmxlc2l6ZTsKQEAgLTExNSwxNyArMTM5LDIzIEBACiAJcmV0dXJuIGU7CiB9CiAKLXN0YXRpYyBpbnQgYWx3YXlzX2VxdWFsKGNvbnN0IHZvaWQgKnVudXNlZDEsIGNvbnN0IHZvaWQgKnVudXNlZDIsIGNvbnN0IHZvaWQgKnVudXNlZDMpCitzdGF0aWMgaW50IGFsd2F5c19lcXVhbChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCisJCQljb25zdCB2b2lkICp1bnVzZWQxLAorCQkJY29uc3Qgdm9pZCAqdW51c2VkMiwKKwkJCWNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKQogewogCXJldHVybiAwOwogfQogCiB2b2lkIGhhc2htYXBfaW5pdChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBoYXNobWFwX2NtcF9mbiBlcXVhbHNfZnVuY3Rpb24sCi0JCXNpemVfdCBpbml0aWFsX3NpemUpCisJCWNvbnN0IHZvaWQgKmNtcGZuX2RhdGEsIHNpemVfdCBpbml0aWFsX3NpemUpCiB7CiAJdW5zaWduZWQgaW50IHNpemUgPSBIQVNITUFQX0lOSVRJQUxfU0laRTsKLQltYXAtPnNpemUgPSAwOworCisJbWVtc2V0KG1hcCwgMCwgc2l6ZW9mKCptYXApKTsKKwogCW1hcC0+Y21wZm4gPSBlcXVhbHNfZnVuY3Rpb24gPyBlcXVhbHNfZnVuY3Rpb24gOiBhbHdheXNfZXF1YWw7CisJbWFwLT5jbXBmbl9kYXRhID0gY21wZm5fZGF0YTsKIAogCS8qIGNhbGN1bGF0ZSBpbml0aWFsIHRhYmxlIHNpemUgYW5kIGFsbG9jYXRlIHRoZSB0YWJsZSAqLwogCWluaXRpYWxfc2l6ZSA9ICh1bnNpZ25lZCBpbnQpICgodWludDY0X3QpIGluaXRpYWxfc2l6ZSAqIDEwMApAQCAtMTMzLDYgKzE2MywxMiBAQAogCXdoaWxlIChpbml0aWFsX3NpemUgPiBzaXplKQogCQlzaXplIDw8PSBIQVNITUFQX1JFU0laRV9CSVRTOwogCWFsbG9jX3RhYmxlKG1hcCwgc2l6ZSk7CisKKwkvKgorCSAqIEtlZXAgdHJhY2sgb2YgdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgbWFwIGFuZAorCSAqIGFsbG93IHRoZSBtYXAgdG8gYXV0b21hdGljYWxseSBncm93IGFzIG5lY2Vzc2FyeS4KKwkgKi8KKwltYXAtPmRvX2NvdW50X2l0ZW1zID0gMTsKIH0KIAogdm9pZCBoYXNobWFwX2ZyZWUoc3RydWN0IGhhc2htYXAgKm1hcCwgaW50IGZyZWVfZW50cmllcykKQEAgLTE3Myw5ICsyMDksMTEgQEAKIAltYXAtPnRhYmxlW2JdID0gZW50cnk7CiAKIAkvKiBmaXggc2l6ZSBhbmQgcmVoYXNoIGlmIGFwcHJvcHJpYXRlICovCi0JbWFwLT5zaXplKys7Ci0JaWYgKG1hcC0+c2l6ZSA+IG1hcC0+Z3Jvd19hdCkKLQkJcmVoYXNoKG1hcCwgbWFwLT50YWJsZXNpemUgPDwgSEFTSE1BUF9SRVNJWkVfQklUUyk7CisJaWYgKG1hcC0+ZG9fY291bnRfaXRlbXMpIHsKKwkJbWFwLT5wcml2YXRlX3NpemUrKzsKKwkJaWYgKG1hcC0+cHJpdmF0ZV9zaXplID4gbWFwLT5ncm93X2F0KQorCQkJcmVoYXNoKG1hcCwgbWFwLT50YWJsZXNpemUgPDwgSEFTSE1BUF9SRVNJWkVfQklUUyk7CisJfQogfQogCiB2b2lkICpoYXNobWFwX3JlbW92ZShzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmtleWRhdGEpCkBAIC0xOTEsOSArMjI5LDEyIEBACiAJb2xkLT5uZXh0ID0gTlVMTDsKIAogCS8qIGZpeCBzaXplIGFuZCByZWhhc2ggaWYgYXBwcm9wcmlhdGUgKi8KLQltYXAtPnNpemUtLTsKLQlpZiAobWFwLT5zaXplIDwgbWFwLT5zaHJpbmtfYXQpCi0JCXJlaGFzaChtYXAsIG1hcC0+dGFibGVzaXplID4+IEhBU0hNQVBfUkVTSVpFX0JJVFMpOworCWlmIChtYXAtPmRvX2NvdW50X2l0ZW1zKSB7CisJCW1hcC0+cHJpdmF0ZV9zaXplLS07CisJCWlmIChtYXAtPnByaXZhdGVfc2l6ZSA8IG1hcC0+c2hyaW5rX2F0KQorCQkJcmVoYXNoKG1hcCwgbWFwLT50YWJsZXNpemUgPj4gSEFTSE1BUF9SRVNJWkVfQklUUyk7CisJfQorCiAJcmV0dXJuIG9sZDsKIH0KIApAQCAtMjMzLDcgKzI3NCw4IEBACiAJdW5zaWduZWQgY2hhciBkYXRhW0ZMRVhfQVJSQVldOwogfTsKIAotc3RhdGljIGludCBwb29sX2VudHJ5X2NtcChjb25zdCBzdHJ1Y3QgcG9vbF9lbnRyeSAqZTEsCitzdGF0aWMgaW50IHBvb2xfZW50cnlfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJCSAgY29uc3Qgc3RydWN0IHBvb2xfZW50cnkgKmUxLAogCQkJICBjb25zdCBzdHJ1Y3QgcG9vbF9lbnRyeSAqZTIsCiAJCQkgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmtleWRhdGEpCiB7CkBAIC0yNDgsNyArMjkwLDcgQEAKIAogCS8qIGluaXRpYWxpemUgc3RyaW5nIHBvb2wgaGFzaG1hcCAqLwogCWlmICghbWFwLnRhYmxlc2l6ZSkKLQkJaGFzaG1hcF9pbml0KCZtYXAsIChoYXNobWFwX2NtcF9mbikgcG9vbF9lbnRyeV9jbXAsIDApOworCQloYXNobWFwX2luaXQoJm1hcCwgKGhhc2htYXBfY21wX2ZuKSBwb29sX2VudHJ5X2NtcCwgTlVMTCwgMCk7CiAKIAkvKiBsb29rdXAgaW50ZXJuZWQgc3RyaW5nIGluIHBvb2wgKi8KIAloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgbWVtaGFzaChkYXRhLCBsZW4pKTsKZGlmZiAtLWdpdCBhL2hhc2htYXAuaCBiL2hhc2htYXAuaAppbmRleCBhYjc5NThhLi43Y2IyOWE2IDEwMDY0NAotLS0gYS9oYXNobWFwLmgKKysrIGIvaGFzaG1hcC5oCkBAIC0zLDE2ICszLDEyMyBAQAogCiAvKgogICogR2VuZXJpYyBpbXBsZW1lbnRhdGlvbiBvZiBoYXNoLWJhc2VkIGtleS12YWx1ZSBtYXBwaW5ncy4KLSAqIFNlZSBEb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktaGFzaG1hcC50eHQuCisgKgorICogQW4gZXhhbXBsZSB0aGF0IG1hcHMgbG9uZyB0byBhIHN0cmluZzoKKyAqIEZvciB0aGUgc2FrZSBvZiB0aGUgZXhhbXBsZSB0aGlzIGFsbG93cyB0byBsb29rdXAgZXhhY3QgdmFsdWVzLCB0b28KKyAqIChpLmUuIGl0IGlzIG9wZXJhdGVkIGFzIGEgc2V0LCB0aGUgdmFsdWUgaXMgcGFydCBvZiB0aGUga2V5KQorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIHN0cnVjdCBoYXNobWFwIG1hcDsKKyAqIHN0cnVjdCBsb25nMnN0cmluZyB7CisgKiAgICAgc3RydWN0IGhhc2htYXBfZW50cnkgZW50OyAvLyBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhCisgKiAgICAgbG9uZyBrZXk7CisgKiAgICAgY2hhciB2YWx1ZVtGTEVYX0FSUkFZXTsgICAvLyBiZSBjYXJlZnVsIHdpdGggYWxsb2NhdGluZyBvbiBzdGFjayEKKyAqIH07CisgKgorICogI2RlZmluZSBDT01QQVJFX1ZBTFVFIDEKKyAqCisgKiBzdGF0aWMgaW50IGxvbmcyc3RyaW5nX2NtcChjb25zdCBzdHJ1Y3QgbG9uZzJzdHJpbmcgKmUxLAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGxvbmcyc3RyaW5nICplMiwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmtleWRhdGEsIGNvbnN0IHZvaWQgKnVzZXJkYXRhKQorICogeworICogICAgIGNoYXIgKnN0cmluZyA9IGtleWRhdGE7CisgKiAgICAgdW5zaWduZWQgKmZsYWdzID0gKHVuc2lnbmVkKil1c2VyZGF0YTsKKyAqCisgKiAgICAgaWYgKGZsYWdzICYgQ09NUEFSRV9WQUxVRSkKKyAqICAgICAgICAgcmV0dXJuICEoZTEtPmtleSA9PSBlMi0+a2V5KSB8fCAoa2V5ZGF0YSA/CisgKiAgICAgICAgICAgICAgICAgIHN0cmNtcChlMS0+dmFsdWUsIGtleWRhdGEpIDogc3RyY21wKGUxLT52YWx1ZSwgZTItPnZhbHVlKSk7CisgKiAgICAgZWxzZQorICogICAgICAgICByZXR1cm4gIShlMS0+a2V5ID09IGUyLT5rZXkpOworICogfQorICoKKyAqIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAqIHsKKyAqICAgICBsb25nIGtleTsKKyAqICAgICBjaGFyICp2YWx1ZSwgKmFjdGlvbjsKKyAqCisgKiAgICAgdW5zaWduZWQgZmxhZ3MgPSBBTExPV19EVVBMSUNBVEVfS0VZUzsKKyAqCisgKiAgICAgaGFzaG1hcF9pbml0KCZtYXAsIChoYXNobWFwX2NtcF9mbikgbG9uZzJzdHJpbmdfY21wLCAmZmxhZ3MsIDApOworICoKKyAqICAgICB3aGlsZSAoc2NhbmYoIiVzICVsICVzIiwgYWN0aW9uLCBrZXksIHZhbHVlKSkgeworICoKKyAqICAgICAgICAgaWYgKCFzdHJjbXAoImFkZCIsIGFjdGlvbikpIHsKKyAqICAgICAgICAgICAgIHN0cnVjdCBsb25nMnN0cmluZyAqZTsKKyAqICAgICAgICAgICAgIGUgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBsb25nMnN0cmluZykgKyBzdHJsZW4odmFsdWUpKTsKKyAqICAgICAgICAgICAgIGhhc2htYXBfZW50cnlfaW5pdChlLCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOworICogICAgICAgICAgICAgZS0+a2V5ID0ga2V5OworICogICAgICAgICAgICAgbWVtY3B5KGUtPnZhbHVlLCB2YWx1ZSwgc3RybGVuKHZhbHVlKSk7CisgKiAgICAgICAgICAgICBoYXNobWFwX2FkZCgmbWFwLCBlKTsKKyAqICAgICAgICAgfQorICoKKyAqICAgICAgICAgaWYgKCFzdHJjbXAoInByaW50X2FsbF9ieV9rZXkiLCBhY3Rpb24pKSB7CisgKiAgICAgICAgICAgICBmbGFncyAmPSB+Q09NUEFSRV9WQUxVRTsKKyAqCisgKiAgICAgICAgICAgICBzdHJ1Y3QgbG9uZzJzdHJpbmcgazsKKyAqICAgICAgICAgICAgIGhhc2htYXBfZW50cnlfaW5pdCgmaywgbWVtaGFzaCgma2V5LCBzaXplb2YobG9uZykpKTsKKyAqICAgICAgICAgICAgIGsua2V5ID0ga2V5OworICoKKyAqICAgICAgICAgICAgIHN0cnVjdCBsb25nMnN0cmluZyAqZSA9IGhhc2htYXBfZ2V0KCZtYXAsICZrLCBOVUxMKTsKKyAqICAgICAgICAgICAgIGlmIChlKSB7CisgKiAgICAgICAgICAgICAgICAgcHJpbnRmKCJmaXJzdDogJWwgJXNcbiIsIGUtPmtleSwgZS0+dmFsdWUpOworICogICAgICAgICAgICAgICAgIHdoaWxlIChlID0gaGFzaG1hcF9nZXRfbmV4dCgmbWFwLCBlKSkKKyAqICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJmb3VuZCBtb3JlOiAlbCAlc1xuIiwgZS0+a2V5LCBlLT52YWx1ZSk7CisgKiAgICAgICAgICAgICB9CisgKiAgICAgICAgIH0KKyAqCisgKiAgICAgICAgIGlmICghc3RyY21wKCJoYXNfZXhhY3RfbWF0Y2giLCBhY3Rpb24pKSB7CisgKiAgICAgICAgICAgICBmbGFncyB8PSBDT01QQVJFX1ZBTFVFOworICoKKyAqICAgICAgICAgICAgIHN0cnVjdCBsb25nMnN0cmluZyAqZTsKKyAqICAgICAgICAgICAgIGUgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBsb25nMnN0cmluZykgKyBzdHJsZW4odmFsdWUpKTsKKyAqICAgICAgICAgICAgIGhhc2htYXBfZW50cnlfaW5pdChlLCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOworICogICAgICAgICAgICAgZS0+a2V5ID0ga2V5OworICogICAgICAgICAgICAgbWVtY3B5KGUtPnZhbHVlLCB2YWx1ZSwgc3RybGVuKHZhbHVlKSk7CisgKgorICogICAgICAgICAgICAgcHJpbnRmKCIlcyBmb3VuZFxuIiwgaGFzaG1hcF9nZXQoJm1hcCwgZSwgTlVMTCkgPyAiIiA6ICJub3QiKTsKKyAqICAgICAgICAgfQorICoKKyAqICAgICAgICAgaWYgKCFzdHJjbXAoImhhc19leGFjdF9tYXRjaF9ub19oZWFwX2FsbG9jIiwgYWN0aW9uKSkgeworICogICAgICAgICAgICAgZmxhZ3MgfD0gQ09NUEFSRV9WQUxVRTsKKyAqCisgKiAgICAgICAgICAgICBzdHJ1Y3QgbG9uZzJzdHJpbmcgZTsKKyAqICAgICAgICAgICAgIGhhc2htYXBfZW50cnlfaW5pdChlLCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOworICogICAgICAgICAgICAgZS5rZXkgPSBrZXk7CisgKgorICogICAgICAgICAgICAgcHJpbnRmKCIlcyBmb3VuZFxuIiwgaGFzaG1hcF9nZXQoJm1hcCwgZSwgdmFsdWUpID8gIiIgOiAibm90Iik7CisgKiAgICAgICAgIH0KKyAqCisgKiAgICAgICAgIGlmICghc3RyY21wKCJlbmQiLCBhY3Rpb24pKSB7CisgKiAgICAgICAgICAgICBoYXNobWFwX2ZyZWUoJm1hcCwgMSk7CisgKiAgICAgICAgICAgICBicmVhazsKKyAqICAgICAgICAgfQorICogICAgIH0KKyAqIH0KICAqLwogCi0vKiBGTlYtMSBmdW5jdGlvbnMgKi8KLQorLyoKKyAqIFJlYWR5LXRvLXVzZSBoYXNoIGZ1bmN0aW9ucyBmb3Igc3RyaW5ncywgdXNpbmcgdGhlIEZOVi0xIGFsZ29yaXRobSAoc2VlCisgKiBodHRwOi8vd3d3LmlzdGhlLmNvbS9jaG9uZ28vdGVjaC9jb21wL2ZudikuCisgKiBgc3RyaGFzaGAgYW5kIGBzdHJpaGFzaGAgdGFrZSAwLXRlcm1pbmF0ZWQgc3RyaW5ncywgd2hpbGUgYG1lbWhhc2hgIGFuZAorICogYG1lbWloYXNoYCBvcGVyYXRlIG9uIGFyYml0cmFyeS1sZW5ndGggbWVtb3J5LgorICogYHN0cmloYXNoYCBhbmQgYG1lbWloYXNoYCBhcmUgY2FzZSBpbnNlbnNpdGl2ZSB2ZXJzaW9ucy4KKyAqIGBtZW1paGFzaF9jb250YCBpcyBhIHZhcmlhbnQgb2YgYG1lbWloYXNoYCB0aGF0IGFsbG93cyBhIGNvbXB1dGF0aW9uIHRvIGJlCisgKiBjb250aW51ZWQgd2l0aCBhbm90aGVyIGNodW5rIG9mIGRhdGEuCisgKi8KIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RyaGFzaChjb25zdCBjaGFyICpidWYpOwogZXh0ZXJuIHVuc2lnbmVkIGludCBzdHJpaGFzaChjb25zdCBjaGFyICpidWYpOwogZXh0ZXJuIHVuc2lnbmVkIGludCBtZW1oYXNoKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbik7CiBleHRlcm4gdW5zaWduZWQgaW50IG1lbWloYXNoKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbik7CitleHRlcm4gdW5zaWduZWQgaW50IG1lbWloYXNoX2NvbnQodW5zaWduZWQgaW50IGhhc2hfc2VlZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKTsKIAorLyoKKyAqIENvbnZlcnRzIGEgY3J5cHRvZ3JhcGhpYyBoYXNoIChlLmcuIFNIQS0xKSBpbnRvIGFuIGludC1zaXplZCBoYXNoIGNvZGUKKyAqIGZvciB1c2UgaW4gaGFzaCB0YWJsZXMuIENyeXB0b2dyYXBoaWMgaGFzaGVzIGFyZSBzdXBwb3NlZCB0byBoYXZlCisgKiB1bmlmb3JtIGRpc3RyaWJ1dGlvbiwgc28gaW4gY29udHJhc3QgdG8gYG1lbWhhc2goKWAsIHRoaXMganVzdCBjb3BpZXMKKyAqIHRoZSBmaXJzdCBgc2l6ZW9mKGludClgIGJ5dGVzIHdpdGhvdXQgc2h1ZmZsaW5nIGFueSBiaXRzLiBOb3RlIHRoYXQKKyAqIHRoZSByZXN1bHRzIHdpbGwgYmUgZGlmZmVyZW50IG9uIGJpZy1lbmRpYW4gYW5kIGxpdHRsZS1lbmRpYW4KKyAqIHBsYXRmb3Jtcywgc28gdGhleSBzaG91bGQgbm90IGJlIHN0b3JlZCBvciB0cmFuc2ZlcnJlZCBvdmVyIHRoZSBuZXQuCisgKi8KIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHNoYTFoYXNoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJLyoKQEAgLTI0LDYyICsxMzEsMjQ4IEBACiAJcmV0dXJuIGhhc2g7CiB9CiAKLS8qIGRhdGEgc3RydWN0dXJlcyAqLwotCisvKgorICogc3RydWN0IGhhc2htYXBfZW50cnkgaXMgYW4gb3BhcXVlIHN0cnVjdHVyZSByZXByZXNlbnRpbmcgYW4gZW50cnkgaW4gdGhlCisgKiBoYXNoIHRhYmxlLCB3aGljaCBtdXN0IGJlIHVzZWQgYXMgZmlyc3QgbWVtYmVyIG9mIHVzZXIgZGF0YSBzdHJ1Y3R1cmVzLgorICogSWRlYWxseSBpdCBzaG91bGQgYmUgZm9sbG93ZWQgYnkgYW4gaW50LXNpemVkIG1lbWJlciB0byBwcmV2ZW50IHVudXNlZAorICogbWVtb3J5IG9uIDY0LWJpdCBzeXN0ZW1zIGR1ZSB0byBhbGlnbm1lbnQuCisgKi8KIHN0cnVjdCBoYXNobWFwX2VudHJ5IHsKKwkvKgorCSAqIG5leHQgcG9pbnRzIHRvIHRoZSBuZXh0IGVudHJ5IGluIGNhc2Ugb2YgY29sbGlzaW9ucyAoaS5lLiBpZgorCSAqIG11bHRpcGxlIGVudHJpZXMgbWFwIHRvIHRoZSBzYW1lIGJ1Y2tldCkKKwkgKi8KIAlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqbmV4dDsKKworCS8qIGVudHJ5J3MgaGFzaCBjb2RlICovCiAJdW5zaWduZWQgaW50IGhhc2g7CiB9OwogCi10eXBlZGVmIGludCAoKmhhc2htYXBfY21wX2ZuKShjb25zdCB2b2lkICplbnRyeSwgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAotCQljb25zdCB2b2lkICprZXlkYXRhKTsKKy8qCisgKiBVc2VyLXN1cHBsaWVkIGZ1bmN0aW9uIHRvIHRlc3QgdHdvIGhhc2htYXAgZW50cmllcyBmb3IgZXF1YWxpdHkuIFNoYWxsCisgKiByZXR1cm4gMCBpZiB0aGUgZW50cmllcyBhcmUgZXF1YWwuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBhbHdheXMgY2FsbGVkIHdpdGggbm9uLU5VTEwgYGVudHJ5YCBhbmQgYGVudHJ5X29yX2tleWAKKyAqIHBhcmFtZXRlcnMgdGhhdCBoYXZlIHRoZSBzYW1lIGhhc2ggY29kZS4KKyAqCisgKiBXaGVuIGxvb2tpbmcgdXAgYW4gZW50cnksIHRoZSBga2V5YCBhbmQgYGtleWRhdGFgIHBhcmFtZXRlcnMgdG8gaGFzaG1hcF9nZXQKKyAqIGFuZCBoYXNobWFwX3JlbW92ZSBhcmUgYWx3YXlzIHBhc3NlZCBhcyBzZWNvbmQgYGVudHJ5X29yX2tleWAgYW5kIHRoaXJkCisgKiBhcmd1bWVudCBga2V5ZGF0YWAsIHJlc3BlY3RpdmVseS4gT3RoZXJ3aXNlLCBga2V5ZGF0YWAgaXMgTlVMTC4KKyAqCisgKiBXaGVuIGl0IGlzIHRvbyBleHBlbnNpdmUgdG8gYWxsb2NhdGUgYSB1c2VyIGVudHJ5IChlaXRoZXIgYmVjYXVzZSBpdCBpcworICogbGFyZ2Ugb3IgdmFyaWFsYmUgc2l6ZWQsIHN1Y2ggdGhhdCBpdCBpcyBub3Qgb24gdGhlIHN0YWNrKSwgdGhlbiB0aGUKKyAqIHJlbGV2YW50IGRhdGEgdG8gY2hlY2sgZm9yIGVxdWFsaXR5IHNob3VsZCBiZSBwYXNzZWQgdmlhIGBrZXlkYXRhYC4KKyAqIEluIHRoaXMgY2FzZSBga2V5YCBjYW4gYmUgYSBzdHJpcHBlZCBkb3duIHZlcnNpb24gb2YgdGhlIHVzZXIga2V5IGRhdGEKKyAqIG9yIGV2ZW4ganVzdCBhIGhhc2htYXBfZW50cnkgaGF2aW5nIHRoZSBjb3JyZWN0IGhhc2guCisgKgorICogVGhlIGBoYXNobWFwX2NtcF9mbl9kYXRhYCBlbnRyeSBpcyB0aGUgcG9pbnRlciBnaXZlbiBpbiB0aGUgaW5pdCBmdW5jdGlvbi4KKyAqLwordHlwZWRlZiBpbnQgKCpoYXNobWFwX2NtcF9mbikoY29uc3Qgdm9pZCAqaGFzaG1hcF9jbXBfZm5fZGF0YSwKKwkJCSAgICAgIGNvbnN0IHZvaWQgKmVudHJ5LCBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgICAgICBjb25zdCB2b2lkICprZXlkYXRhKTsKIAorLyoKKyAqIHN0cnVjdCBoYXNobWFwIGlzIHRoZSBoYXNoIHRhYmxlIHN0cnVjdHVyZS4gTWVtYmVycyBjYW4gYmUgdXNlZCBhcyBmb2xsb3dzLAorICogYnV0IHNob3VsZCBub3QgYmUgbW9kaWZpZWQgZGlyZWN0bHkuCisgKi8KIHN0cnVjdCBoYXNobWFwIHsKIAlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqKnRhYmxlOwotCWhhc2htYXBfY21wX2ZuIGNtcGZuOwotCXVuc2lnbmVkIGludCBzaXplLCB0YWJsZXNpemUsIGdyb3dfYXQsIHNocmlua19hdDsKLX07CiAKLXN0cnVjdCBoYXNobWFwX2l0ZXIgewotCXN0cnVjdCBoYXNobWFwICptYXA7Ci0Jc3RydWN0IGhhc2htYXBfZW50cnkgKm5leHQ7Ci0JdW5zaWduZWQgaW50IHRhYmxlcG9zOworCS8qIFN0b3JlcyB0aGUgY29tcGFyaXNvbiBmdW5jdGlvbiBzcGVjaWZpZWQgaW4gYGhhc2htYXBfaW5pdCgpYC4gKi8KKwloYXNobWFwX2NtcF9mbiBjbXBmbjsKKwljb25zdCB2b2lkICpjbXBmbl9kYXRhOworCisJLyogdG90YWwgbnVtYmVyIG9mIGVudHJpZXMgKDAgbWVhbnMgdGhlIGhhc2htYXAgaXMgZW1wdHkpICovCisJdW5zaWduZWQgaW50IHByaXZhdGVfc2l6ZTsgLyogdXNlIGhhc2htYXBfZ2V0X3NpemUoKSAqLworCisJLyoKKwkgKiB0YWJsZXNpemUgaXMgdGhlIGFsbG9jYXRlZCBzaXplIG9mIHRoZSBoYXNoIHRhYmxlLiBBIG5vbi0wIHZhbHVlCisJICogaW5kaWNhdGVzIHRoYXQgdGhlIGhhc2htYXAgaXMgaW5pdGlhbGl6ZWQuIEl0IG1heSBhbHNvIGJlIHVzZWZ1bAorCSAqIGZvciBzdGF0aXN0aWNhbCBwdXJwb3NlcyAoaS5lLiBgc2l6ZSAvIHRhYmxlc2l6ZWAgaXMgdGhlIGN1cnJlbnQKKwkgKiBsb2FkIGZhY3RvcikuCisJICovCisJdW5zaWduZWQgaW50IHRhYmxlc2l6ZTsKKworCXVuc2lnbmVkIGludCBncm93X2F0OworCXVuc2lnbmVkIGludCBzaHJpbmtfYXQ7CisKKwl1bnNpZ25lZCBpbnQgZG9fY291bnRfaXRlbXMgOiAxOwogfTsKIAogLyogaGFzaG1hcCBmdW5jdGlvbnMgKi8KIAotZXh0ZXJuIHZvaWQgaGFzaG1hcF9pbml0KHN0cnVjdCBoYXNobWFwICptYXAsIGhhc2htYXBfY21wX2ZuIGVxdWFsc19mdW5jdGlvbiwKLQkJc2l6ZV90IGluaXRpYWxfc2l6ZSk7CisvKgorICogSW5pdGlhbGl6ZXMgYSBoYXNobWFwIHN0cnVjdHVyZS4KKyAqCisgKiBgbWFwYCBpcyB0aGUgaGFzaG1hcCB0byBpbml0aWFsaXplLgorICoKKyAqIFRoZSBgZXF1YWxzX2Z1bmN0aW9uYCBjYW4gYmUgc3BlY2lmaWVkIHRvIGNvbXBhcmUgdHdvIGVudHJpZXMgZm9yIGVxdWFsaXR5LgorICogSWYgTlVMTCwgZW50cmllcyBhcmUgY29uc2lkZXJlZCBlcXVhbCBpZiB0aGVpciBoYXNoIGNvZGVzIGFyZSBlcXVhbC4KKyAqCisgKiBUaGUgYGVxdWFsc19mdW5jdGlvbl9kYXRhYCBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBhZGRpdGlvbmFsIGRhdGEKKyAqIChhIGNhbGxiYWNrIGNvb2tpZSkgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byBgZXF1YWxzX2Z1bmN0aW9uYCBlYWNoIHRpbWUgaXQKKyAqIGlzIGNhbGxlZC4gVGhpcyBhbGxvd3MgYSBzaW5nbGUgYGVxdWFsc19mdW5jdGlvbmAgdG8gaW1wbGVtZW50IG11bHRpcGxlCisgKiBjb21wYXJpc29uIGZ1bmN0aW9ucy4KKyAqCisgKiBJZiB0aGUgdG90YWwgbnVtYmVyIG9mIGVudHJpZXMgaXMga25vd24gaW4gYWR2YW5jZSwgdGhlIGBpbml0aWFsX3NpemVgCisgKiBwYXJhbWV0ZXIgbWF5IGJlIHVzZWQgdG8gcHJlYWxsb2NhdGUgYSBzdWZmaWNpZW50bHkgbGFyZ2UgdGFibGUgYW5kIHRodXMKKyAqIHByZXZlbnQgZXhwZW5zaXZlIHJlc2l6aW5nLiBJZiAwLCB0aGUgdGFibGUgaXMgZHluYW1pY2FsbHkgcmVzaXplZC4KKyAqLworZXh0ZXJuIHZvaWQgaGFzaG1hcF9pbml0KHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkgaGFzaG1hcF9jbXBfZm4gZXF1YWxzX2Z1bmN0aW9uLAorCQkJIGNvbnN0IHZvaWQgKmVxdWFsc19mdW5jdGlvbl9kYXRhLAorCQkJIHNpemVfdCBpbml0aWFsX3NpemUpOworCisvKgorICogRnJlZXMgYSBoYXNobWFwIHN0cnVjdHVyZSBhbmQgYWxsb2NhdGVkIG1lbW9yeS4KKyAqCisgKiBJZiBgZnJlZV9lbnRyaWVzYCBpcyB0cnVlLCBlYWNoIGhhc2htYXBfZW50cnkgaW4gdGhlIG1hcCBpcyBmcmVlZCBhcyB3ZWxsCisgKiB1c2luZyBzdGRsaWJzIGZyZWUoKS4KKyAqLwogZXh0ZXJuIHZvaWQgaGFzaG1hcF9mcmVlKHN0cnVjdCBoYXNobWFwICptYXAsIGludCBmcmVlX2VudHJpZXMpOwogCiAvKiBoYXNobWFwX2VudHJ5IGZ1bmN0aW9ucyAqLwogCisvKgorICogSW5pdGlhbGl6ZXMgYSBoYXNobWFwX2VudHJ5IHN0cnVjdHVyZS4KKyAqCisgKiBgZW50cnlgIHBvaW50cyB0byB0aGUgZW50cnkgdG8gaW5pdGlhbGl6ZS4KKyAqIGBoYXNoYCBpcyB0aGUgaGFzaCBjb2RlIG9mIHRoZSBlbnRyeS4KKyAqCisgKiBUaGUgaGFzaG1hcF9lbnRyeSBzdHJ1Y3R1cmUgZG9lcyBub3QgaG9sZCByZWZlcmVuY2VzIHRvIGV4dGVybmFsIHJlc291cmNlcywKKyAqIGFuZCBpdCBpcyBzYWZlIHRvIGp1c3QgZGlzY2FyZCBpdCBvbmNlIHlvdSBhcmUgZG9uZSB3aXRoIGl0IChpLmUuIGlmCisgKiB5b3VyIHN0cnVjdHVyZSB3YXMgYWxsb2NhdGVkIHdpdGggeG1hbGxvYygpLCB5b3UgY2FuIGp1c3QgZnJlZSgzKSBpdCwKKyAqIGFuZCBpZiBpdCBpcyBvbiBzdGFjaywgeW91IGNhbiBqdXN0IGxldCBpdCBnbyBvdXQgb2Ygc2NvcGUpLgorICovCiBzdGF0aWMgaW5saW5lIHZvaWQgaGFzaG1hcF9lbnRyeV9pbml0KHZvaWQgKmVudHJ5LCB1bnNpZ25lZCBpbnQgaGFzaCkKIHsKIAlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZSA9IGVudHJ5OwogCWUtPmhhc2ggPSBoYXNoOwogCWUtPm5leHQgPSBOVUxMOwogfQotZXh0ZXJuIHZvaWQgKmhhc2htYXBfZ2V0KGNvbnN0IHN0cnVjdCBoYXNobWFwICptYXAsIGNvbnN0IHZvaWQgKmtleSwKLQkJY29uc3Qgdm9pZCAqa2V5ZGF0YSk7Ci1leHRlcm4gdm9pZCAqaGFzaG1hcF9nZXRfbmV4dChjb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBjb25zdCB2b2lkICplbnRyeSk7Ci1leHRlcm4gdm9pZCBoYXNobWFwX2FkZChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCB2b2lkICplbnRyeSk7Ci1leHRlcm4gdm9pZCAqaGFzaG1hcF9wdXQoc3RydWN0IGhhc2htYXAgKm1hcCwgdm9pZCAqZW50cnkpOwotZXh0ZXJuIHZvaWQgKmhhc2htYXBfcmVtb3ZlKHN0cnVjdCBoYXNobWFwICptYXAsIGNvbnN0IHZvaWQgKmtleSwKLQkJY29uc3Qgdm9pZCAqa2V5ZGF0YSk7CiAKKy8qCisgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgbWFwLgorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBoYXNobWFwX2dldF9zaXplKHN0cnVjdCBoYXNobWFwICptYXApCit7CisJaWYgKG1hcC0+ZG9fY291bnRfaXRlbXMpCisJCXJldHVybiBtYXAtPnByaXZhdGVfc2l6ZTsKKworCUJVRygiaGFzaG1hcF9nZXRfc2l6ZTogc2l6ZSBub3Qgc2V0Iik7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZXR1cm5zIHRoZSBoYXNobWFwIGVudHJ5IGZvciB0aGUgc3BlY2lmaWVkIGtleSwgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKgorICogYG1hcGAgaXMgdGhlIGhhc2htYXAgc3RydWN0dXJlLgorICoKKyAqIGBrZXlgIGlzIGEgdXNlciBkYXRhIHN0cnVjdHVyZSB0aGF0IHN0YXJ0cyB3aXRoIGhhc2htYXBfZW50cnkgdGhhdCBoYXMgYXQKKyAqIGxlYXN0IGJlZW4gaW5pdGlhbGl6ZWQgd2l0aCB0aGUgcHJvcGVyIGhhc2ggY29kZSAodmlhIGBoYXNobWFwX2VudHJ5X2luaXRgKS4KKyAqCisgKiBga2V5ZGF0YWAgaXMgYSBkYXRhIHN0cnVjdHVyZSB0aGF0IGhvbGRzIGp1c3QgZW5vdWdoIGluZm9ybWF0aW9uIHRvIGNoZWNrCisgKiBmb3IgZXF1YWxpdHkgdG8gYSBnaXZlbiBlbnRyeS4KKyAqCisgKiBJZiB0aGUga2V5IGRhdGEgaXMgdmFyaWFibGUtc2l6ZWQgKGUuZy4gYSBGTEVYX0FSUkFZIHN0cmluZykgb3IgcXVpdGUgbGFyZ2UsCisgKiBpdCBpcyB1bmRlc2lyYWJsZSB0byBjcmVhdGUgYSBmdWxsLWZsZWRnZWQgZW50cnkgc3RydWN0dXJlIG9uIHRoZSBoZWFwIGFuZAorICogY29weSBhbGwgdGhlIGtleSBkYXRhIGludG8gdGhlIHN0cnVjdHVyZS4KKyAqCisgKiBJbiB0aGlzIGNhc2UsIHRoZSBga2V5ZGF0YWAgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHBhc3MKKyAqIHZhcmlhYmxlLXNpemVkIGtleSBkYXRhIGRpcmVjdGx5IHRvIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uLCBhbmQgdGhlIGBrZXlgCisgKiBwYXJhbWV0ZXIgY2FuIGJlIGEgc3RyaXBwZWQtZG93biwgZml4ZWQgc2l6ZSBlbnRyeSBzdHJ1Y3R1cmUgYWxsb2NhdGVkIG9uIHRoZQorICogc3RhY2suCisgKgorICogSWYgYW4gZW50cnkgd2l0aCBtYXRjaGluZyBoYXNoIGNvZGUgaXMgZm91bmQsIGBrZXlgIGFuZCBga2V5ZGF0YWAgYXJlIHBhc3NlZAorICogdG8gYGhhc2htYXBfY21wX2ZuYCB0byBkZWNpZGUgd2hldGhlciB0aGUgZW50cnkgbWF0Y2hlcyB0aGUga2V5LgorICovCitleHRlcm4gdm9pZCAqaGFzaG1hcF9nZXQoY29uc3Qgc3RydWN0IGhhc2htYXAgKm1hcCwgY29uc3Qgdm9pZCAqa2V5LAorCQkJIGNvbnN0IHZvaWQgKmtleWRhdGEpOworCisvKgorICogUmV0dXJucyB0aGUgaGFzaG1hcCBlbnRyeSBmb3IgdGhlIHNwZWNpZmllZCBoYXNoIGNvZGUgYW5kIGtleSBkYXRhLAorICogb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKgorICogYG1hcGAgaXMgdGhlIGhhc2htYXAgc3RydWN0dXJlLgorICogYGhhc2hgIGlzIHRoZSBoYXNoIGNvZGUgb2YgdGhlIGVudHJ5IHRvIGxvb2sgdXAuCisgKgorICogSWYgYW4gZW50cnkgd2l0aCBtYXRjaGluZyBoYXNoIGNvZGUgaXMgZm91bmQsIGBrZXlkYXRhYCBpcyBwYXNzZWQgdG8KKyAqIGBoYXNobWFwX2NtcF9mbmAgdG8gZGVjaWRlIHdoZXRoZXIgdGhlIGVudHJ5IG1hdGNoZXMgdGhlIGtleS4gVGhlCisgKiBgZW50cnlfb3Jfa2V5YCBwYXJhbWV0ZXIgb2YgYGhhc2htYXBfY21wX2ZuYCBwb2ludHMgdG8gYSBoYXNobWFwX2VudHJ5CisgKiBzdHJ1Y3R1cmUgdGhhdCBzaG91bGQgbm90IGJlIHVzZWQgaW4gdGhlIGNvbXBhcmlzb24uCisgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCAqaGFzaG1hcF9nZXRfZnJvbV9oYXNoKGNvbnN0IHN0cnVjdCBoYXNobWFwICptYXAsCi0JCXVuc2lnbmVkIGludCBoYXNoLCBjb25zdCB2b2lkICprZXlkYXRhKQorCQkJCQkgIHVuc2lnbmVkIGludCBoYXNoLAorCQkJCQkgIGNvbnN0IHZvaWQgKmtleWRhdGEpCiB7CiAJc3RydWN0IGhhc2htYXBfZW50cnkga2V5OwogCWhhc2htYXBfZW50cnlfaW5pdCgma2V5LCBoYXNoKTsKIAlyZXR1cm4gaGFzaG1hcF9nZXQobWFwLCAma2V5LCBrZXlkYXRhKTsKIH0KIAotLyogaGFzaG1hcF9pdGVyIGZ1bmN0aW9ucyAqLworLyoKKyAqIFJldHVybnMgdGhlIG5leHQgZXF1YWwgaGFzaG1hcCBlbnRyeSwgb3IgTlVMTCBpZiBub3QgZm91bmQuIFRoaXMgY2FuIGJlCisgKiB1c2VkIHRvIGl0ZXJhdGUgb3ZlciBkdXBsaWNhdGUgZW50cmllcyAoc2VlIGBoYXNobWFwX2FkZGApLgorICoKKyAqIGBtYXBgIGlzIHRoZSBoYXNobWFwIHN0cnVjdHVyZS4KKyAqIGBlbnRyeWAgaXMgdGhlIGhhc2htYXBfZW50cnkgdG8gc3RhcnQgdGhlIHNlYXJjaCBmcm9tLCBvYnRhaW5lZCB2aWEgYSBwcmV2aW91cworICogY2FsbCB0byBgaGFzaG1hcF9nZXRgIG9yIGBoYXNobWFwX2dldF9uZXh0YC4KKyAqLworZXh0ZXJuIHZvaWQgKmhhc2htYXBfZ2V0X25leHQoY29uc3Qgc3RydWN0IGhhc2htYXAgKm1hcCwgY29uc3Qgdm9pZCAqZW50cnkpOwogCisvKgorICogQWRkcyBhIGhhc2htYXAgZW50cnkuIFRoaXMgYWxsb3dzIHRvIGFkZCBkdXBsaWNhdGUgZW50cmllcyAoaS5lLgorICogc2VwYXJhdGUgdmFsdWVzIHdpdGggdGhlIHNhbWUga2V5IGFjY29yZGluZyB0byBoYXNobWFwX2NtcF9mbikuCisgKgorICogYG1hcGAgaXMgdGhlIGhhc2htYXAgc3RydWN0dXJlLgorICogYGVudHJ5YCBpcyB0aGUgZW50cnkgdG8gYWRkLgorICovCitleHRlcm4gdm9pZCBoYXNobWFwX2FkZChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCB2b2lkICplbnRyeSk7CisKKy8qCisgKiBBZGRzIG9yIHJlcGxhY2VzIGEgaGFzaG1hcCBlbnRyeS4gSWYgdGhlIGhhc2htYXAgY29udGFpbnMgZHVwbGljYXRlCisgKiBlbnRyaWVzIGVxdWFsIHRvIHRoZSBzcGVjaWZpZWQgZW50cnksIG9ubHkgb25lIG9mIHRoZW0gd2lsbCBiZSByZXBsYWNlZC4KKyAqCisgKiBgbWFwYCBpcyB0aGUgaGFzaG1hcCBzdHJ1Y3R1cmUuCisgKiBgZW50cnlgIGlzIHRoZSBlbnRyeSB0byBhZGQgb3IgcmVwbGFjZS4KKyAqIFJldHVybnMgdGhlIHJlcGxhY2VkIGVudHJ5LCBvciBOVUxMIGlmIG5vdCBmb3VuZCAoaS5lLiB0aGUgZW50cnkgd2FzIGFkZGVkKS4KKyAqLworZXh0ZXJuIHZvaWQgKmhhc2htYXBfcHV0KHN0cnVjdCBoYXNobWFwICptYXAsIHZvaWQgKmVudHJ5KTsKKworLyoKKyAqIFJlbW92ZXMgYSBoYXNobWFwIGVudHJ5IG1hdGNoaW5nIHRoZSBzcGVjaWZpZWQga2V5LiBJZiB0aGUgaGFzaG1hcCBjb250YWlucworICogZHVwbGljYXRlIGVudHJpZXMgZXF1YWwgdG8gdGhlIHNwZWNpZmllZCBrZXksIG9ubHkgb25lIG9mIHRoZW0gd2lsbCBiZQorICogcmVtb3ZlZC4gUmV0dXJucyB0aGUgcmVtb3ZlZCBlbnRyeSwgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKgorICogQXJndW1lbnQgZXhwbGFuYXRpb24gaXMgdGhlIHNhbWUgYXMgaW4gYGhhc2htYXBfZ2V0YC4KKyAqLworZXh0ZXJuIHZvaWQgKmhhc2htYXBfcmVtb3ZlKHN0cnVjdCBoYXNobWFwICptYXAsIGNvbnN0IHZvaWQgKmtleSwKKwkJY29uc3Qgdm9pZCAqa2V5ZGF0YSk7CisKKy8qCisgKiBSZXR1cm5zIHRoZSBgYnVja2V0YCBhbiBlbnRyeSBpcyBzdG9yZWQgaW4uCisgKiBVc2VmdWwgZm9yIG11bHRpdGhyZWFkZWQgcmVhZCBhY2Nlc3MuCisgKi8KK2ludCBoYXNobWFwX2J1Y2tldChjb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLCB1bnNpZ25lZCBpbnQgaGFzaCk7CisKKy8qCisgKiBVc2VkIHRvIGl0ZXJhdGUgb3ZlciBhbGwgZW50cmllcyBvZiBhIGhhc2htYXAuIE5vdGUgdGhhdCBpdCBpcworICogbm90IHNhZmUgdG8gYWRkIG9yIHJlbW92ZSBlbnRyaWVzIHRvIHRoZSBoYXNobWFwIHdoaWxlCisgKiBpdGVyYXRpbmcuCisgKi8KK3N0cnVjdCBoYXNobWFwX2l0ZXIgeworCXN0cnVjdCBoYXNobWFwICptYXA7CisJc3RydWN0IGhhc2htYXBfZW50cnkgKm5leHQ7CisJdW5zaWduZWQgaW50IHRhYmxlcG9zOworfTsKKworLyogSW5pdGlhbGl6ZXMgYSBgaGFzaG1hcF9pdGVyYCBzdHJ1Y3R1cmUuICovCiBleHRlcm4gdm9pZCBoYXNobWFwX2l0ZXJfaW5pdChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBzdHJ1Y3QgaGFzaG1hcF9pdGVyICppdGVyKTsKKworLyogUmV0dXJucyB0aGUgbmV4dCBoYXNobWFwX2VudHJ5LCBvciBOVUxMIGlmIHRoZXJlIGFyZSBubyBtb3JlIGVudHJpZXMuICovCiBleHRlcm4gdm9pZCAqaGFzaG1hcF9pdGVyX25leHQoc3RydWN0IGhhc2htYXBfaXRlciAqaXRlcik7CisKKy8qIEluaXRpYWxpemVzIHRoZSBpdGVyYXRvciBhbmQgcmV0dXJucyB0aGUgZmlyc3QgZW50cnksIGlmIGFueS4gKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCAqaGFzaG1hcF9pdGVyX2ZpcnN0KHN0cnVjdCBoYXNobWFwICptYXAsCiAJCXN0cnVjdCBoYXNobWFwX2l0ZXIgKml0ZXIpCiB7CkBAIC04Nyw4ICszODAsNTggQEAKIAlyZXR1cm4gaGFzaG1hcF9pdGVyX25leHQoaXRlcik7CiB9CiAKLS8qIHN0cmluZyBpbnRlcm5pbmcgKi8KKy8qCisgKiBEaXNhYmxlIGl0ZW0gY291bnRpbmcgYW5kIGF1dG9tYXRpYyByZWhhc2hpbmcgd2hlbiBhZGRpbmcvcmVtb3ZpbmcgaXRlbXMuCisgKgorICogTm9ybWFsbHksIHRoZSBoYXNobWFwIGtlZXBzIHRyYWNrIG9mIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gdGhlIG1hcAorICogYW5kIHVzZXMgaXQgdG8gZHluYW1pY2FsbHkgcmVzaXplIGl0LiAgVGhpcyAoYm90aCB0aGUgY291bnRpbmcgYW5kCisgKiB0aGUgcmVzaXppbmcpIGNhbiBjYXVzZSBwcm9ibGVtcyB3aGVuIHRoZSBtYXAgaXMgYmVpbmcgdXNlZCBieQorICogdGhyZWFkZWQgY2FsbGVycyAoYmVjYXVzZSB0aGUgaGFzaG1hcCBjb2RlIGRvZXMgbm90IGtub3cgYWJvdXQgdGhlCisgKiBsb2NraW5nIHN0cmF0ZWd5IHVzZWQgYnkgdGhlIHRocmVhZGVkIGNhbGxlcnMgYW5kIHRoZXJlZm9yZSwgZG9lcworICogbm90IGtub3cgaG93IHRvIHByb3RlY3QgdGhlICJwcml2YXRlX3NpemUiIGNvdW50ZXIpLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaGFzaG1hcF9kaXNhYmxlX2l0ZW1fY291bnRpbmcoc3RydWN0IGhhc2htYXAgKm1hcCkKK3sKKwltYXAtPmRvX2NvdW50X2l0ZW1zID0gMDsKK30KIAorLyoKKyAqIFJlLWVuYWJsZSBpdGVtIGNvdXRpbmcgd2hlbiBhZGRpbmcvcmVtb3ZpbmcgaXRlbXMuCisgKiBJZiBjb3VudGluZyBpcyBjdXJyZW50bHkgZGlzYWJsZWQsIGl0IHdpbGwgZm9yY2UgY291bnQgdGhlbS4KKyAqIEl0IFdJTEwgTk9UIGF1dG9tYXRpY2FsbHkgcmVoYXNoIHRoZW0uCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBoYXNobWFwX2VuYWJsZV9pdGVtX2NvdW50aW5nKHN0cnVjdCBoYXNobWFwICptYXApCit7CisJdm9pZCAqaXRlbTsKKwl1bnNpZ25lZCBpbnQgbiA9IDA7CisJc3RydWN0IGhhc2htYXBfaXRlciBpdGVyOworCisJaWYgKG1hcC0+ZG9fY291bnRfaXRlbXMpCisJCXJldHVybjsKKworCWhhc2htYXBfaXRlcl9pbml0KG1hcCwgJml0ZXIpOworCXdoaWxlICgoaXRlbSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpCisJCW4rKzsKKworCW1hcC0+ZG9fY291bnRfaXRlbXMgPSAxOworCW1hcC0+cHJpdmF0ZV9zaXplID0gbjsKK30KKworLyogU3RyaW5nIGludGVybmluZyAqLworCisvKgorICogUmV0dXJucyB0aGUgdW5pcXVlLCBpbnRlcm5lZCB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpZWQgc3RyaW5nIG9yIGRhdGEsCisgKiBzaW1pbGFyIHRvIHRoZSBgU3RyaW5nLmludGVybmAgQVBJIGluIEphdmEgYW5kIC5ORVQsIHJlc3BlY3RpdmVseS4KKyAqIEludGVybmVkIHN0cmluZ3MgcmVtYWluIHZhbGlkIGZvciB0aGUgZW50aXJlIGxpZmV0aW1lIG9mIHRoZSBwcm9jZXNzLgorICoKKyAqIENhbiBiZSB1c2VkIGFzIGBbeF1zdHJkdXAoKWAgb3IgYHhtZW1kdXB6YCByZXBsYWNlbWVudCwgZXhjZXB0IHRoYXQgaW50ZXJuZWQKKyAqIHN0cmluZ3MgLyBkYXRhIG11c3Qgbm90IGJlIG1vZGlmaWVkIG9yIGZyZWVkLgorICoKKyAqIEludGVybmVkIHN0cmluZ3MgYXJlIGJlc3QgdXNlZCBmb3Igc2hvcnQgc3RyaW5ncyB3aXRoIGhpZ2ggcHJvYmFiaWxpdHkgb2YKKyAqIGR1cGxpY2F0ZXMuCisgKgorICogVXNlcyBhIGhhc2htYXAgdG8gc3RvcmUgdGhlIHBvb2wgb2YgaW50ZXJuZWQgc3RyaW5ncy4KKyAqLwogZXh0ZXJuIGNvbnN0IHZvaWQgKm1lbWludGVybihjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKTsKIHN0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqc3RyaW50ZXJuKGNvbnN0IGNoYXIgKnN0cmluZykKIHsKZGlmZiAtLWdpdCBhL2hlbHAuYyBiL2hlbHAuYwppbmRleCBiYzZjZDE5Li44OGEzYWVhIDEwMDY0NAotLS0gYS9oZWxwLmMKKysrIGIvaGVscC5jCkBAIC0xLDYgKzEsOCBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImV4ZWNfY21kLmgiCisjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJsZXZlbnNodGVpbi5oIgogI2luY2x1ZGUgImhlbHAuaCIKICNpbmNsdWRlICJjb21tb24tY21kcy5oIgpAQCAtOCw2ICsxMCw3IEBACiAjaW5jbHVkZSAiY29sdW1uLmgiCiAjaW5jbHVkZSAidmVyc2lvbi5oIgogI2luY2x1ZGUgInJlZnMuaCIKKyNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAKIHZvaWQgYWRkX2NtZG5hbWUoc3RydWN0IGNtZG5hbWVzICpjbWRzLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuKQogewpAQCAtOTYsNDggKzk5LDYgQEAKIAlzdHJpbmdfbGlzdF9jbGVhcigmbGlzdCwgMCk7CiB9CiAKLXN0YXRpYyBpbnQgaXNfZXhlY3V0YWJsZShjb25zdCBjaGFyICpuYW1lKQotewotCXN0cnVjdCBzdGF0IHN0OwotCi0JaWYgKHN0YXQobmFtZSwgJnN0KSB8fCAvKiBzdGF0LCBub3QgbHN0YXQgKi8KLQkgICAgIVNfSVNSRUcoc3Quc3RfbW9kZSkpCi0JCXJldHVybiAwOwotCi0jaWYgZGVmaW5lZChHSVRfV0lORE9XU19OQVRJVkUpCi0JLyoKLQkgKiBPbiBXaW5kb3dzIHRoZXJlIGlzIG5vIGV4ZWN1dGFibGUgYml0LiBUaGUgZmlsZSBleHRlbnNpb24KLQkgKiBpbmRpY2F0ZXMgd2hldGhlciBpdCBjYW4gYmUgcnVuIGFzIGFuIGV4ZWN1dGFibGUsIGFuZCBHaXQKLQkgKiBoYXMgc3BlY2lhbC1oYW5kbGluZyB0byBkZXRlY3Qgc2NyaXB0cyBhbmQgbGF1bmNoIHRoZW0KLQkgKiB0aHJvdWdoIHRoZSBpbmRpY2F0ZWQgc2NyaXB0IGludGVycHJldGVyLiBXZSB0ZXN0IGZvciB0aGUKLQkgKiBmaWxlIGV4dGVuc2lvbiBmaXJzdCBiZWNhdXNlIHZpcnVzIHNjYW5uZXJzIG1heSBtYWtlCi0JICogaXQgcXVpdGUgZXhwZW5zaXZlIHRvIG9wZW4gbWFueSBmaWxlcy4KLQkgKi8KLQlpZiAoZW5kc193aXRoKG5hbWUsICIuZXhlIikpCi0JCXJldHVybiBTX0lYVVNSOwotCi17Ci0JLyoKLQkgKiBOb3cgdGhhdCB3ZSBrbm93IGl0IGRvZXMgbm90IGhhdmUgYW4gZXhlY3V0YWJsZSBleHRlbnNpb24sCi0JICogcGVlayBpbnRvIHRoZSBmaWxlIGluc3RlYWQuCi0JICovCi0JY2hhciBidWZbM10gPSB7IDAgfTsKLQlpbnQgbjsKLQlpbnQgZmQgPSBvcGVuKG5hbWUsIE9fUkRPTkxZKTsKLQlzdC5zdF9tb2RlICY9IH5TX0lYVVNSOwotCWlmIChmZCA+PSAwKSB7Ci0JCW4gPSByZWFkKGZkLCBidWYsIDIpOwotCQlpZiAobiA9PSAyKQotCQkJLyogbG9vayBmb3IgYSBzaGUtYmFuZyAqLwotCQkJaWYgKCFzdHJjbXAoYnVmLCAiIyEiKSkKLQkJCQlzdC5zdF9tb2RlIHw9IFNfSVhVU1I7Ci0JCWNsb3NlKGZkKTsKLQl9Ci19Ci0jZW5kaWYKLQlyZXR1cm4gc3Quc3RfbW9kZSAmIFNfSVhVU1I7Ci19Ci0KIHN0YXRpYyB2b2lkIGxpc3RfY29tbWFuZHNfaW5fZGlyKHN0cnVjdCBjbWRuYW1lcyAqY21kcywKIAkJCQkJIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkJCSBjb25zdCBjaGFyICpwcmVmaXgpCkBAIC0zMDgsOSArMjY5LDggQEAKIAogCWZvciAoaSA9IDA7IGkgPCBvbGQtPmNudDsgaSsrKQogCQljbWRzLT5uYW1lc1tjbWRzLT5jbnQrK10gPSBvbGQtPm5hbWVzW2ldOwotCWZyZWUob2xkLT5uYW1lcyk7CisJRlJFRV9BTkRfTlVMTChvbGQtPm5hbWVzKTsKIAlvbGQtPmNudCA9IDA7Ci0Jb2xkLT5uYW1lcyA9IE5VTEw7CiB9CiAKIC8qIEFuIGVtcGlyaWNhbGx5IGRlcml2ZWQgbWFnaWMgbnVtYmVyICovCkBAIC0zMzAsNyArMjkwLDcgQEAKIAltZW1zZXQoJm90aGVyX2NtZHMsIDAsIHNpemVvZihvdGhlcl9jbWRzKSk7CiAJbWVtc2V0KCZhbGlhc2VzLCAwLCBzaXplb2YoYWxpYXNlcykpOwogCi0JZ2l0X2NvbmZpZyhnaXRfdW5rbm93bl9jbWRfY29uZmlnLCBOVUxMKTsKKwlyZWFkX2Vhcmx5X2NvbmZpZyhnaXRfdW5rbm93bl9jbWRfY29uZmlnLCBOVUxMKTsKIAogCWxvYWRfY29tbWFuZF9saXN0KCJnaXQtIiwgJm1haW5fY21kcywgJm90aGVyX2NtZHMpOwogCkBAIC0zOTYsMTIgKzM1NiwxOCBAQAogCQljbGVhbl9jbWRuYW1lcygmbWFpbl9jbWRzKTsKIAkJZnByaW50Zl9sbihzdGRlcnIsCiAJCQkgICBfKCJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgIgotCQkJICAgICAid2hpY2ggZG9lcyBub3QgZXhpc3QuXG4iCi0JCQkgICAgICJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciKSwKLQkJCWNtZCwgYXNzdW1lZCk7Ci0JCWlmIChhdXRvY29ycmVjdCA+IDApIHsKLQkJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iKSwKLQkJCQkoZmxvYXQpYXV0b2NvcnJlY3QvMTAuMCk7CisJCQkgICAgICJ3aGljaCBkb2VzIG5vdCBleGlzdC4iKSwKKwkJCSAgIGNtZCk7CisJCWlmIChhdXRvY29ycmVjdCA8IDApCisJCQlmcHJpbnRmX2xuKHN0ZGVyciwKKwkJCQkgICBfKCJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgIgorCQkJCSAgICAgInlvdSBtZWFudCAnJXMnLiIpLAorCQkJCSAgIGFzc3VtZWQpOworCQllbHNlIHsKKwkJCWZwcmludGZfbG4oc3RkZXJyLAorCQkJCSAgIF8oIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgIgorCQkJCSAgICAgImFzc3VtaW5nIHRoYXQgeW91IG1lYW50ICclcycuIiksCisJCQkJICAgKGZsb2F0KWF1dG9jb3JyZWN0LzEwLjAsIGFzc3VtZWQpOwogCQkJc2xlZXBfbWlsbGlzZWMoYXV0b2NvcnJlY3QgKiAxMDApOwogCQl9CiAJCXJldHVybiBhc3N1bWVkOwpAQCAtNDExLDggKzM3Nyw4IEBACiAKIAlpZiAoU0lNSUxBUl9FTk9VR0goYmVzdF9zaW1pbGFyaXR5KSkgewogCQlmcHJpbnRmX2xuKHN0ZGVyciwKLQkJCSAgIFFfKCJcbkRpZCB5b3UgbWVhbiB0aGlzPyIsCi0JCQkgICAgICAiXG5EaWQgeW91IG1lYW4gb25lIG9mIHRoZXNlPyIsCisJCQkgICBRXygiXG5UaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiLAorCQkJICAgICAgIlxuVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kcyBhcmUiLAogCQkJICAgbikpOwogCiAJCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCkBAIC00MjQsMTYgKzM5MCwzMCBAQAogCiBpbnQgY21kX3ZlcnNpb24oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CisJaW50IGJ1aWxkX29wdGlvbnMgPSAwOworCWNvbnN0IGNoYXIgKiBjb25zdCB1c2FnZVtdID0geworCQlOXygiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iKSwKKwkJTlVMTAorCX07CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9CT09MKDAsICJidWlsZC1vcHRpb25zIiwgJmJ1aWxkX29wdGlvbnMsCisJCQkgImFsc28gcHJpbnQgYnVpbGQgb3B0aW9ucyIpLAorCQlPUFRfRU5EKCkKKwl9OworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCB1c2FnZSwgMCk7CisKIAkvKgogCSAqIFRoZSBmb3JtYXQgb2YgdGhpcyBzdHJpbmcgc2hvdWxkIGJlIGtlcHQgc3RhYmxlIGZvciBjb21wYXRpYmlsaXR5CiAJICogd2l0aCBleHRlcm5hbCBwcm9qZWN0cyB0aGF0IHJlbHkgb24gdGhlIG91dHB1dCBvZiAiZ2l0IHZlcnNpb24iLgorCSAqCisJICogQWx3YXlzIHNob3cgdGhlIHZlcnNpb24sIGV2ZW4gaWYgb3RoZXIgb3B0aW9ucyBhcmUgZ2l2ZW4uCiAJICovCiAJcHJpbnRmKCJnaXQgdmVyc2lvbiAlc1xuIiwgZ2l0X3ZlcnNpb25fc3RyaW5nKTsKLQl3aGlsZSAoKisrYXJndikgewotCQlpZiAoIXN0cmNtcCgqYXJndiwgIi0tYnVpbGQtb3B0aW9ucyIpKSB7Ci0JCQlwcmludGYoInNpemVvZi1sb25nOiAlZFxuIiwgKGludClzaXplb2YobG9uZykpOwotCQkJLyogTkVFRFNXT1JLOiBhbHNvIHNhdmUgYW5kIG91dHB1dCBHSVQtQlVJTERfT1BUSU9OUz8gKi8KLQkJfQorCisJaWYgKGJ1aWxkX29wdGlvbnMpIHsKKwkJcHJpbnRmKCJzaXplb2YtbG9uZzogJWRcbiIsIChpbnQpc2l6ZW9mKGxvbmcpKTsKKwkJLyogTkVFRFNXT1JLOiBhbHNvIHNhdmUgYW5kIG91dHB1dCBHSVQtQlVJTERfT1BUSU9OUz8gKi8KIAl9CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9oZXguYyBiL2hleC5jCmluZGV4IDg0NWIwMWEuLjI4YjQ0MTEgMTAwNjQ0Ci0tLSBhL2hleC5jCisrKyBiL2hleC5jCkBAIC01Myw2ICs1MywxNCBAQAogCXJldHVybiBnZXRfc2hhMV9oZXgoaGV4LCBvaWQtPmhhc2gpOwogfQogCitpbnQgcGFyc2Vfb2lkX2hleChjb25zdCBjaGFyICpoZXgsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqKmVuZCkKK3sKKwlpbnQgcmV0ID0gZ2V0X29pZF9oZXgoaGV4LCBvaWQpOworCWlmICghcmV0KQorCQkqZW5kID0gaGV4ICsgR0lUX1NIQTFfSEVYU1o7CisJcmV0dXJuIHJldDsKK30KKwogY2hhciAqc2hhMV90b19oZXhfcihjaGFyICpidWZmZXIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgaGV4W10gPSAiMDEyMzQ1Njc4OWFiY2RlZiI7CkBAIC03Nyw3ICs4NSw3IEBACiBjaGFyICpzaGExX3RvX2hleChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQogewogCXN0YXRpYyBpbnQgYnVmbm87Ci0Jc3RhdGljIGNoYXIgaGV4YnVmZmVyWzRdW0dJVF9TSEExX0hFWFNaICsgMV07CisJc3RhdGljIGNoYXIgaGV4YnVmZmVyWzRdW0dJVF9NQVhfSEVYU1ogKyAxXTsKIAlidWZubyA9IChidWZubyArIDEpICUgQVJSQVlfU0laRShoZXhidWZmZXIpOwogCXJldHVybiBzaGExX3RvX2hleF9yKGhleGJ1ZmZlcltidWZub10sIHNoYTEpOwogfQpkaWZmIC0tZ2l0IGEvaHR0cC1iYWNrZW5kLmMgYi9odHRwLWJhY2tlbmQuYwppbmRleCBlZWYwYTM2Li5mM2RjMjE4IDEwMDY0NAotLS0gYS9odHRwLWJhY2tlbmQuYworKysgYi9odHRwLWJhY2tlbmQuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJwa3QtbGluZS5oIgogI2luY2x1ZGUgIm9iamVjdC5oIgpAQCAtOCw2ICs5LDcgQEAKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgInVybC5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiBzdGF0aWMgY29uc3QgY2hhciBjb250ZW50X3R5cGVbXSA9ICJDb250ZW50LVR5cGUiOwogc3RhdGljIGNvbnN0IGNoYXIgY29udGVudF9sZW5ndGhbXSA9ICJDb250ZW50LUxlbmd0aCI7CkBAIC05MCw3ICs5Miw3IEBACiAJc3RyYnVmX2FkZGYoaGRyLCAiJXM6ICUiIFBSSXVNQVggIlxyXG4iLCBuYW1lLCB2YWx1ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGhkcl9kYXRlKHN0cnVjdCBzdHJidWYgKmhkciwgY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgbG9uZyB3aGVuKQorc3RhdGljIHZvaWQgaGRyX2RhdGUoc3RydWN0IHN0cmJ1ZiAqaGRyLCBjb25zdCBjaGFyICpuYW1lLCB0aW1lc3RhbXBfdCB3aGVuKQogewogCWNvbnN0IGNoYXIgKnZhbHVlID0gc2hvd19kYXRlKHdoZW4sIDAsIERBVEVfTU9ERShSRkMyODIyKSk7CiAJaGRyX3N0cihoZHIsIG5hbWUsIHZhbHVlKTsKQEAgLTEwNSw3ICsxMDcsNyBAQAogCiBzdGF0aWMgdm9pZCBoZHJfY2FjaGVfZm9yZXZlcihzdHJ1Y3Qgc3RyYnVmICpoZHIpCiB7Ci0JdW5zaWduZWQgbG9uZyBub3cgPSB0aW1lKE5VTEwpOworCXRpbWVzdGFtcF90IG5vdyA9IHRpbWUoTlVMTCk7CiAJaGRyX2RhdGUoaGRyLCAiRGF0ZSIsIG5vdyk7CiAJaGRyX2RhdGUoaGRyLCAiRXhwaXJlcyIsIG5vdyArIDMxNTM2MDAwKTsKIAloZHJfc3RyKGhkciwgIkNhY2hlLUNvbnRyb2wiLCAicHVibGljLCBtYXgtYWdlPTMxNTM2MDAwIik7CkBAIC0zNTYsNyArMzU4LDcgQEAKIAkJCQlkaWUoInpsaWIgZXJyb3IgaW5mbGF0aW5nIHJlcXVlc3QsIHJlc3VsdCAlZCIsIHJldCk7CiAKIAkJCW4gPSBzdHJlYW0udG90YWxfb3V0IC0gY250OwotCQkJaWYgKHdyaXRlX2luX2Z1bGwob3V0LCBvdXRfYnVmLCBuKSAhPSBuKQorCQkJaWYgKHdyaXRlX2luX2Z1bGwob3V0LCBvdXRfYnVmLCBuKSA8IDApCiAJCQkJZGllKCIlcyBhYm9ydGVkIHJlYWRpbmcgcmVxdWVzdCIsIHByb2dfbmFtZSk7CiAJCQljbnQgKz0gbjsKIApAQCAtMzc3LDcgKzM3OSw3IEBACiAJc3NpemVfdCBuID0gcmVhZF9yZXF1ZXN0KDAsICZidWYpOwogCWlmIChuIDwgMCkKIAkJZGllX2Vycm5vKCJlcnJvciByZWFkaW5nIHJlcXVlc3QgYm9keSIpOwotCWlmICh3cml0ZV9pbl9mdWxsKG91dCwgYnVmLCBuKSAhPSBuKQorCWlmICh3cml0ZV9pbl9mdWxsKG91dCwgYnVmLCBuKSA8IDApCiAJCWRpZSgiJXMgYWJvcnRlZCByZWFkaW5nIHJlcXVlc3QiLCBwcm9nX25hbWUpOwogCWNsb3NlKG91dCk7CiAJZnJlZShidWYpOwpAQCAtNDMxLDcgKzQzMyw3IEBACiB7CiAJY29uc3QgY2hhciAqbmFtZV9ub25zID0gc3RyaXBfbmFtZXNwYWNlKG5hbWUpOwogCXN0cnVjdCBzdHJidWYgKmJ1ZiA9IGNiX2RhdGE7Ci0Jc3RydWN0IG9iamVjdCAqbyA9IHBhcnNlX29iamVjdChvaWQtPmhhc2gpOworCXN0cnVjdCBvYmplY3QgKm8gPSBwYXJzZV9vYmplY3Qob2lkKTsKIAlpZiAoIW8pCiAJCXJldHVybiAwOwogCkBAIC00ODQsMTAgKzQ4Niw5IEBACiAJc3RydWN0IHN0cmJ1ZiAqYnVmID0gY2JfZGF0YTsKIAogCWlmIChmbGFnICYgUkVGX0lTU1lNUkVGKSB7Ci0JCXN0cnVjdCBvYmplY3RfaWQgdW51c2VkOwogCQljb25zdCBjaGFyICp0YXJnZXQgPSByZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwKIAkJCQkJCQlSRVNPTFZFX1JFRl9SRUFESU5HLAotCQkJCQkJCXVudXNlZC5oYXNoLCBOVUxMKTsKKwkJCQkJCQlOVUxMLCBOVUxMKTsKIAogCQlpZiAodGFyZ2V0KQogCQkJc3RyYnVmX2FkZGYoYnVmLCAicmVmOiAlc1xuIiwgc3RyaXBfbmFtZXNwYWNlKHRhcmdldCkpOwpkaWZmIC0tZ2l0IGEvaHR0cC1mZXRjaC5jIGIvaHR0cC1mZXRjaC5jCmluZGV4IDNiNTU2ZDYuLjhhZjM4MDAgMTAwNjQ0Ci0tLSBhL2h0dHAtZmV0Y2guYworKysgYi9odHRwLWZldGNoLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJleGVjX2NtZC5oIgogI2luY2x1ZGUgImh0dHAuaCIKICNpbmNsdWRlICJ3YWxrZXIuaCIKZGlmZiAtLWdpdCBhL2h0dHAtcHVzaC5jIGIvaHR0cC1wdXNoLmMKaW5kZXggZjBlMzEwOC4uZDg2MGM0NyAxMDA2NDQKLS0tIGEvaHR0cC1wdXNoLmMKKysrIGIvaHR0cC1wdXNoLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlICJsaXN0LW9iamVjdHMuaCIKICNpbmNsdWRlICJzaWdjaGFpbi5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiAjaWZkZWYgRVhQQVRfTkVFRFNfWE1MUEFSU0VfSAogI2luY2x1ZGUgPHhtbHBhcnNlLmg+CkBAIC0yOTEsOCArMjkyLDcgQEAKIAkJcmVxdWVzdC0+c3RhdGUgPSBSVU5fTUtDT0w7CiAJfSBlbHNlIHsKIAkJcmVxdWVzdC0+c3RhdGUgPSBBQk9SVEVEOwotCQlmcmVlKHJlcXVlc3QtPnVybCk7Ci0JCXJlcXVlc3QtPnVybCA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwocmVxdWVzdC0+dXJsKTsKIAl9CiB9CiAjZW5kaWYKQEAgLTQwOSw4ICs0MDksNyBAQAogCQlyZXF1ZXN0LT5zdGF0ZSA9IFJVTl9QVVQ7CiAJfSBlbHNlIHsKIAkJcmVxdWVzdC0+c3RhdGUgPSBBQk9SVEVEOwotCQlmcmVlKHJlcXVlc3QtPnVybCk7Ci0JCXJlcXVlc3QtPnVybCA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwocmVxdWVzdC0+dXJsKTsKIAl9CiB9CiAKQEAgLTQzMiw4ICs0MzEsNyBAQAogCQlyZXF1ZXN0LT5zdGF0ZSA9IFJVTl9NT1ZFOwogCX0gZWxzZSB7CiAJCXJlcXVlc3QtPnN0YXRlID0gQUJPUlRFRDsKLQkJZnJlZShyZXF1ZXN0LT51cmwpOwotCQlyZXF1ZXN0LT51cmwgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKHJlcXVlc3QtPnVybCk7CiAJfQogfQogCkBAIC01MjYsOCArNTI0LDcgQEAKIAogCS8qIFVSTCBpcyByZXVzZWQgZm9yIE1PVkUgYWZ0ZXIgUFVUICovCiAJaWYgKHJlcXVlc3QtPnN0YXRlICE9IFJVTl9QVVQpIHsKLQkJZnJlZShyZXF1ZXN0LT51cmwpOwotCQlyZXF1ZXN0LT51cmwgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKHJlcXVlc3QtPnVybCk7CiAJfQogCiAJaWYgKHJlcXVlc3QtPnN0YXRlID09IFJVTl9NS0NPTCkgewpAQCAtNzE4LDEzICs3MTUsMTMgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBvbmVfcmVtb3RlX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHZvaWQgb25lX3JlbW90ZV9vYmplY3QoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBvYmplY3QgKm9iajsKIAotCW9iaiA9IGxvb2t1cF9vYmplY3Qoc2hhMSk7CisJb2JqID0gbG9va3VwX29iamVjdChvaWQtPmhhc2gpOwogCWlmICghb2JqKQotCQlvYmogPSBwYXJzZV9vYmplY3Qoc2hhMSk7CisJCW9iaiA9IHBhcnNlX29iamVjdChvaWQpOwogCiAJLyogSWdub3JlIHJlbW90ZSBvYmplY3RzIHRoYXQgZG9uJ3QgZXhpc3QgbG9jYWxseSAqLwogCWlmICghb2JqKQpAQCAtODAzLDggKzgwMCw3IEBACiAJfQogCXhzbnByaW50ZihjdHgtPm5hbWUgKyBvbGRfbmFtZWxlbiwgY3R4LT5sZW4gLSBvbGRfbmFtZWxlbiwgIi4lcyIsIGMpOwogCi0JZnJlZShjdHgtPmNkYXRhKTsKLQljdHgtPmNkYXRhID0gTlVMTDsKKwlGUkVFX0FORF9OVUxMKGN0eC0+Y2RhdGEpOwogCiAJY3R4LT51c2VyRnVuYyhjdHgsIDApOwogfQpAQCAtOTMyLDggKzkyOCw3IEBACiAJCWZyZWUobG9jay0+dG9rZW4pOwogCQlmcmVlKGxvY2stPm93bmVyKTsKIAkJZnJlZSh1cmwpOwotCQlmcmVlKGxvY2spOwotCQlsb2NrID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTChsb2NrKTsKIAl9IGVsc2UgewogCQlsb2NrLT51cmwgPSB1cmw7CiAJCWxvY2stPnN0YXJ0X3RpbWUgPSB0aW1lKE5VTEwpOwpAQCAtMTAxMywyNiArMTAwOCwyNiBAQAogCQkgICAgICB2b2lkICp1c2VyRGF0YSk7CiAKIC8qIGV4dHJhY3QgaGV4IGZyb20gc2hhcmRlZCAieHgveHs0MH0iIGZpbGVuYW1lICovCi1zdGF0aWMgaW50IGdldF9zaGExX2hleF9mcm9tX29ianBhdGgoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgZ2V0X29pZF9oZXhfZnJvbV9vYmpwYXRoKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQljaGFyIGhleFs0MF07CisJY2hhciBoZXhbR0lUX01BWF9IRVhTWl07CiAKLQlpZiAoc3RybGVuKHBhdGgpICE9IDQxKQorCWlmIChzdHJsZW4ocGF0aCkgIT0gR0lUX1NIQTFfSEVYU1ogKyAxKQogCQlyZXR1cm4gLTE7CiAKIAltZW1jcHkoaGV4LCBwYXRoLCAyKTsKIAlwYXRoICs9IDI7CiAJcGF0aCsrOyAvKiBza2lwICcvJyAqLwotCW1lbWNweShoZXgsIHBhdGgsIDM4KTsKKwltZW1jcHkoaGV4LCBwYXRoLCBHSVRfU0hBMV9IRVhTWiAtIDIpOwogCi0JcmV0dXJuIGdldF9zaGExX2hleChoZXgsIHNoYTEpOworCXJldHVybiBnZXRfb2lkX2hleChoZXgsIG9pZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHByb2Nlc3NfbHNfb2JqZWN0KHN0cnVjdCByZW1vdGVfbHNfY3R4ICpscykKIHsKIAl1bnNpZ25lZCBpbnQgKnBhcmVudCA9ICh1bnNpZ25lZCBpbnQgKilscy0+dXNlckRhdGE7CiAJY29uc3QgY2hhciAqcGF0aCA9IGxzLT5kZW50cnlfbmFtZTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJaWYgKCFzdHJjbXAobHMtPnBhdGgsIGxzLT5kZW50cnlfbmFtZSkgJiYgKGxzLT5mbGFncyAmIElTX0RJUikpIHsKIAkJcmVtb3RlX2Rpcl9leGlzdHNbKnBhcmVudF0gPSAxOwpAQCAtMTA0MCwxMCArMTAzNSwxMCBAQAogCX0KIAogCWlmICghc2tpcF9wcmVmaXgocGF0aCwgIm9iamVjdHMvIiwgJnBhdGgpIHx8Ci0JICAgIGdldF9zaGExX2hleF9mcm9tX29ianBhdGgocGF0aCwgc2hhMSkpCisJICAgIGdldF9vaWRfaGV4X2Zyb21fb2JqcGF0aChwYXRoLCAmb2lkKSkKIAkJcmV0dXJuOwogCi0Jb25lX3JlbW90ZV9vYmplY3Qoc2hhMSk7CisJb25lX3JlbW90ZV9vYmplY3QoJm9pZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHByb2Nlc3NfbHNfcmVmKHN0cnVjdCByZW1vdGVfbHNfY3R4ICpscykKQEAgLTExMDUsOCArMTEwMCw3IEBACiAJCQlscy0+ZGVudHJ5X2ZsYWdzIHw9IElTX0RJUjsKIAkJfQogCX0gZWxzZSBpZiAoIXN0cmNtcChjdHgtPm5hbWUsIERBVl9QUk9QRklORF9SRVNQKSkgewotCQlmcmVlKGxzLT5kZW50cnlfbmFtZSk7Ci0JCWxzLT5kZW50cnlfbmFtZSA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwobHMtPmRlbnRyeV9uYW1lKTsKIAkJbHMtPmRlbnRyeV9mbGFncyA9IDA7CiAJfQogfQpAQCAtMTMxMiwxMCArMTMwNiwxMCBAQAogCXdoaWxlICh0cmVlX2VudHJ5KCZkZXNjLCAmZW50cnkpKQogCQlzd2l0Y2ggKG9iamVjdF90eXBlKGVudHJ5Lm1vZGUpKSB7CiAJCWNhc2UgT0JKX1RSRUU6Ci0JCQlwID0gcHJvY2Vzc190cmVlKGxvb2t1cF90cmVlKGVudHJ5Lm9pZC0+aGFzaCksIHApOworCQkJcCA9IHByb2Nlc3NfdHJlZShsb29rdXBfdHJlZShlbnRyeS5vaWQpLCBwKTsKIAkJCWJyZWFrOwogCQljYXNlIE9CSl9CTE9COgotCQkJcCA9IHByb2Nlc3NfYmxvYihsb29rdXBfYmxvYihlbnRyeS5vaWQtPmhhc2gpLCBwKTsKKwkJCXAgPSBwcm9jZXNzX2Jsb2IobG9va3VwX2Jsb2IoZW50cnkub2lkKSwgcCk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCS8qIFN1YnByb2plY3QgY29tbWl0IC0gbm90IGluIHRoaXMgcmVwb3NpdG9yeSAqLwpAQCAtMTQ2Miw3ICsxNDU2LDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCW8gPSBwYXJzZV9vYmplY3QocmVmLT5vbGRfb2lkLmhhc2gpOworCW8gPSBwYXJzZV9vYmplY3QoJnJlZi0+b2xkX29pZCk7CiAJaWYgKCFvKSB7CiAJCWZwcmludGYoc3RkZXJyLAogCQkJIlVuYWJsZSB0byBwYXJzZSBvYmplY3QgJXMgZm9yIHJlbW90ZSByZWYgJXNcbiIsCkBAIC0xNTI5LDYgKzE1MjMsNyBAQAogCQlicmVhazsKIAljYXNlIEhUVFBfRVJST1I6CiAJCWVycm9yKCJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIiwgdXJsLCBjdXJsX2Vycm9yc3RyKTsKKwkJLyogZmFsbHRocm91Z2ggKi8KIAlkZWZhdWx0OgogCQlyZXQgPSAtMTsKIAl9CkBAIC0xNTM2LDcgKzE1MzEsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGZldGNoX3N5bXJlZihjb25zdCBjaGFyICpwYXRoLCBjaGFyICoqc3ltcmVmLCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHZvaWQgZmV0Y2hfc3ltcmVmKGNvbnN0IGNoYXIgKnBhdGgsIGNoYXIgKipzeW1yZWYsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAljaGFyICp1cmwgPSB4c3RyZm10KCIlcyVzIiwgcmVwby0+dXJsLCBwYXRoKTsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZmZlciA9IFNUUkJVRl9JTklUOwpAQCAtMTU0Nyw5ICsxNTQyLDggQEAKIAkJICAgIGN1cmxfZXJyb3JzdHIpOwogCWZyZWUodXJsKTsKIAotCWZyZWUoKnN5bXJlZik7Ci0JKnN5bXJlZiA9IE5VTEw7Ci0JaGFzaGNscihzaGExKTsKKwlGUkVFX0FORF9OVUxMKCpzeW1yZWYpOworCW9pZGNscihvaWQpOwogCiAJaWYgKGJ1ZmZlci5sZW4gPT0gMCkKIAkJcmV0dXJuOwpAQCAtMTU2MSwxNiArMTU1NSwxNyBAQAogCWlmIChza2lwX3ByZWZpeChidWZmZXIuYnVmLCAicmVmOiAiLCAmbmFtZSkpIHsKIAkJKnN5bXJlZiA9IHhtZW1kdXB6KG5hbWUsIGJ1ZmZlci5sZW4gLSAobmFtZSAtIGJ1ZmZlci5idWYpKTsKIAl9IGVsc2UgewotCQlnZXRfc2hhMV9oZXgoYnVmZmVyLmJ1Ziwgc2hhMSk7CisJCWdldF9vaWRfaGV4KGJ1ZmZlci5idWYsIG9pZCk7CiAJfQogCiAJc3RyYnVmX3JlbGVhc2UoJmJ1ZmZlcik7CiB9CiAKLXN0YXRpYyBpbnQgdmVyaWZ5X21lcmdlX2Jhc2UodW5zaWduZWQgY2hhciAqaGVhZF9zaGExLCBzdHJ1Y3QgcmVmICpyZW1vdGUpCitzdGF0aWMgaW50IHZlcmlmeV9tZXJnZV9iYXNlKHN0cnVjdCBvYmplY3RfaWQgKmhlYWRfb2lkLCBzdHJ1Y3QgcmVmICpyZW1vdGUpCiB7Ci0Jc3RydWN0IGNvbW1pdCAqaGVhZCA9IGxvb2t1cF9jb21taXRfb3JfZGllKGhlYWRfc2hhMSwgIkhFQUQiKTsKLQlzdHJ1Y3QgY29tbWl0ICpicmFuY2ggPSBsb29rdXBfY29tbWl0X29yX2RpZShyZW1vdGUtPm9sZF9vaWQuaGFzaCwgcmVtb3RlLT5uYW1lKTsKKwlzdHJ1Y3QgY29tbWl0ICpoZWFkID0gbG9va3VwX2NvbW1pdF9vcl9kaWUoaGVhZF9vaWQsICJIRUFEIik7CisJc3RydWN0IGNvbW1pdCAqYnJhbmNoID0gbG9va3VwX2NvbW1pdF9vcl9kaWUoJnJlbW90ZS0+b2xkX29pZCwKKwkJCQkJCSAgICAgcmVtb3RlLT5uYW1lKTsKIAogCXJldHVybiBpbl9tZXJnZV9iYXNlcyhicmFuY2gsIGhlYWQpOwogfQpAQCAtMTU3OSw3ICsxNTc0LDcgQEAKIHsKIAlzdHJ1Y3QgcmVmICpyZWZzID0gcmVtb3RlX3JlZnM7CiAJc3RydWN0IHJlZiAqcmVtb3RlX3JlZiA9IE5VTEw7Ci0JdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CiAJY2hhciAqc3ltcmVmID0gTlVMTDsKIAlpbnQgbWF0Y2g7CiAJaW50IHBhdGxlbiA9IHN0cmxlbihwYXR0ZXJuKTsKQEAgLTE2MTAsNyArMTYwNSw3IEBACiAJICogUmVtb3RlIEhFQUQgbXVzdCBiZSBhIHN5bXJlZiAobm90IGV4YWN0bHkgZm9vbHByb29mOyBhIHJlbW90ZQogCSAqIHN5bWxpbmsgdG8gYSBzeW1yZWYgd2lsbCBsb29rIGxpa2UgYSBzeW1yZWYpCiAJICovCi0JZmV0Y2hfc3ltcmVmKCJIRUFEIiwgJnN5bXJlZiwgaGVhZF9zaGExKTsKKwlmZXRjaF9zeW1yZWYoIkhFQUQiLCAmc3ltcmVmLCAmaGVhZF9vaWQpOwogCWlmICghc3ltcmVmKQogCQlyZXR1cm4gZXJyb3IoIlJlbW90ZSBIRUFEIGlzIG5vdCBhIHN5bXJlZiIpOwogCkBAIC0xNjE5LDcgKzE2MTQsNyBAQAogCQlpZiAoIXN0cmNtcChyZW1vdGVfcmVmLT5uYW1lLCBzeW1yZWYpKQogCQkJcmV0dXJuIGVycm9yKCJSZW1vdGUgYnJhbmNoICVzIGlzIHRoZSBjdXJyZW50IEhFQUQiLAogCQkJCSAgICAgcmVtb3RlX3JlZi0+bmFtZSk7Ci0JCWZldGNoX3N5bXJlZihzeW1yZWYsICZzeW1yZWYsIGhlYWRfc2hhMSk7CisJCWZldGNoX3N5bXJlZihzeW1yZWYsICZzeW1yZWYsICZoZWFkX29pZCk7CiAJfQogCiAJLyogUnVuIGV4dHJhIHNhbml0eSBjaGVja3MgaWYgZGVsZXRlIGlzIG5vdCBmb3JjZWQgKi8KQEAgLTE2MjcsMTAgKzE2MjIsMTAgQEAKIAkJLyogUmVtb3RlIEhFQUQgbXVzdCByZXNvbHZlIHRvIGEga25vd24gb2JqZWN0ICovCiAJCWlmIChzeW1yZWYpCiAJCQlyZXR1cm4gZXJyb3IoIlJlbW90ZSBIRUFEIHN5bXJlZnMgdG9vIGRlZXAiKTsKLQkJaWYgKGlzX251bGxfc2hhMShoZWFkX3NoYTEpKQorCQlpZiAoaXNfbnVsbF9vaWQoJmhlYWRfb2lkKSkKIAkJCXJldHVybiBlcnJvcigiVW5hYmxlIHRvIHJlc29sdmUgcmVtb3RlIEhFQUQiKTsKLQkJaWYgKCFoYXNfc2hhMV9maWxlKGhlYWRfc2hhMSkpCi0JCQlyZXR1cm4gZXJyb3IoIlJlbW90ZSBIRUFEIHJlc29sdmVzIHRvIG9iamVjdCAlc1xud2hpY2ggZG9lcyBub3QgZXhpc3QgbG9jYWxseSwgcGVyaGFwcyB5b3UgbmVlZCB0byBmZXRjaD8iLCBzaGExX3RvX2hleChoZWFkX3NoYTEpKTsKKwkJaWYgKCFoYXNfb2JqZWN0X2ZpbGUoJmhlYWRfb2lkKSkKKwkJCXJldHVybiBlcnJvcigiUmVtb3RlIEhFQUQgcmVzb2x2ZXMgdG8gb2JqZWN0ICVzXG53aGljaCBkb2VzIG5vdCBleGlzdCBsb2NhbGx5LCBwZXJoYXBzIHlvdSBuZWVkIHRvIGZldGNoPyIsIG9pZF90b19oZXgoJmhlYWRfb2lkKSk7CiAKIAkJLyogUmVtb3RlIGJyYW5jaCBtdXN0IHJlc29sdmUgdG8gYSBrbm93biBvYmplY3QgKi8KIAkJaWYgKGlzX251bGxfb2lkKCZyZW1vdGVfcmVmLT5vbGRfb2lkKSkKQEAgLTE2NDAsNyArMTYzNSw3IEBACiAJCQlyZXR1cm4gZXJyb3IoIlJlbW90ZSBicmFuY2ggJXMgcmVzb2x2ZXMgdG8gb2JqZWN0ICVzXG53aGljaCBkb2VzIG5vdCBleGlzdCBsb2NhbGx5LCBwZXJoYXBzIHlvdSBuZWVkIHRvIGZldGNoPyIsIHJlbW90ZV9yZWYtPm5hbWUsIG9pZF90b19oZXgoJnJlbW90ZV9yZWYtPm9sZF9vaWQpKTsKIAogCQkvKiBSZW1vdGUgYnJhbmNoIG11c3QgYmUgYW4gYW5jZXN0b3Igb2YgcmVtb3RlIEhFQUQgKi8KLQkJaWYgKCF2ZXJpZnlfbWVyZ2VfYmFzZShoZWFkX3NoYTEsIHJlbW90ZV9yZWYpKSB7CisJCWlmICghdmVyaWZ5X21lcmdlX2Jhc2UoJmhlYWRfb2lkLCByZW1vdGVfcmVmKSkgewogCQkJcmV0dXJuIGVycm9yKCJUaGUgYnJhbmNoICclcycgaXMgbm90IGFuIGFuY2VzdG9yICIKIAkJCQkgICAgICJvZiB5b3VyIGN1cnJlbnQgSEVBRC5cbiIKIAkJCQkgICAgICJJZiB5b3UgYXJlIHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGl0LCIKZGlmZiAtLWdpdCBhL2h0dHAtd2Fsa2VyLmMgYi9odHRwLXdhbGtlci5jCmluZGV4IGVlMDQ5Y2IuLjFhZTgzNjMgMTAwNjQ0Ci0tLSBhL2h0dHAtd2Fsa2VyLmMKKysrIGIvaHR0cC13YWxrZXIuYwpAQCAtNCw2ICs0LDcgQEAKICNpbmNsdWRlICJodHRwLmgiCiAjaW5jbHVkZSAibGlzdC5oIgogI2luY2x1ZGUgInRyYW5zcG9ydC5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKIHN0cnVjdCBhbHRfYmFzZSB7CiAJY2hhciAqYmFzZTsKZGlmZiAtLWdpdCBhL2h0dHAuYyBiL2h0dHAuYwppbmRleCA5NmQ4NGJiLi43MTM1MjVmIDEwMDY0NAotLS0gYS9odHRwLmMKKysrIGIvaHR0cC5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgogI2luY2x1ZGUgImh0dHAuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJwYWNrLmgiCiAjaW5jbHVkZSAic2lkZWJhbmQuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgpAQCAtMTAsNiArMTEsNyBAQAogI2luY2x1ZGUgInBrdC1saW5lLmgiCiAjaW5jbHVkZSAiZ2V0dGV4dC5oIgogI2luY2x1ZGUgInRyYW5zcG9ydC5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKIHN0YXRpYyBzdHJ1Y3QgdHJhY2Vfa2V5IHRyYWNlX2N1cmwgPSBUUkFDRV9LRVlfSU5JVChDVVJMKTsKICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcwYTA4CkBAIC0xOSw3ICsyMSw3IEBACiAjZW5kaWYKIGludCBhY3RpdmVfcmVxdWVzdHM7CiBpbnQgaHR0cF9pc192ZXJib3NlOwotc2l6ZV90IGh0dHBfcG9zdF9idWZmZXIgPSAxNiAqIExBUkdFX1BBQ0tFVF9NQVg7Citzc2l6ZV90IGh0dHBfcG9zdF9idWZmZXIgPSAxNiAqIExBUkdFX1BBQ0tFVF9NQVg7CiAKICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcwYTA2CiAjZGVmaW5lIExJQkNVUkxfQ0FOX0hBTkRMRV9BVVRIX0FOWQpAQCAtOTAsNyArOTIsNyBAQAogCSAqIGhlcmUsIHRvbwogCSAqLwogfTsKLSNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcxNjAwCisjaWZkZWYgQ1VSTEdTU0FQSV9ERUxFR0FUSU9OX0ZMQUcKIHN0YXRpYyBjb25zdCBjaGFyICpjdXJsX2RlbGVnOwogc3RhdGljIHN0cnVjdCB7CiAJY29uc3QgY2hhciAqbmFtZTsKQEAgLTI3MSwxMCArMjczLDEwIEBACiAJaWYgKCFzdHJjbXAoImh0dHAuc3NsdmVyc2lvbiIsIHZhcikpCiAJCXJldHVybiBnaXRfY29uZmlnX3N0cmluZygmc3NsX3ZlcnNpb24sIHZhciwgdmFsdWUpOwogCWlmICghc3RyY21wKCJodHRwLnNzbGNlcnQiLCB2YXIpKQotCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJnNzbF9jZXJ0LCB2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIGdpdF9jb25maWdfcGF0aG5hbWUoJnNzbF9jZXJ0LCB2YXIsIHZhbHVlKTsKICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcwOTAzCiAJaWYgKCFzdHJjbXAoImh0dHAuc3Nsa2V5IiwgdmFyKSkKLQkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZzc2xfa2V5LCB2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIGdpdF9jb25maWdfcGF0aG5hbWUoJnNzbF9rZXksIHZhciwgdmFsdWUpOwogI2VuZGlmCiAjaWYgTElCQ1VSTF9WRVJTSU9OX05VTSA+PSAweDA3MDkwOAogCWlmICghc3RyY21wKCJodHRwLnNzbGNhcGF0aCIsIHZhcikpCkBAIC0zMzEsNyArMzMzLDkgQEAKIAl9CiAKIAlpZiAoIXN0cmNtcCgiaHR0cC5wb3N0YnVmZmVyIiwgdmFyKSkgewotCQlodHRwX3Bvc3RfYnVmZmVyID0gZ2l0X2NvbmZpZ19pbnQodmFyLCB2YWx1ZSk7CisJCWh0dHBfcG9zdF9idWZmZXIgPSBnaXRfY29uZmlnX3NzaXplX3QodmFyLCB2YWx1ZSk7CisJCWlmIChodHRwX3Bvc3RfYnVmZmVyIDwgMCkKKwkJCXdhcm5pbmcoXygibmVnYXRpdmUgdmFsdWUgZm9yIGh0dHAucG9zdGJ1ZmZlcjsgZGVmYXVsdGluZyB0byAlZCIpLCBMQVJHRV9QQUNLRVRfTUFYKTsKIAkJaWYgKGh0dHBfcG9zdF9idWZmZXIgPCBMQVJHRV9QQUNLRVRfTUFYKQogCQkJaHR0cF9wb3N0X2J1ZmZlciA9IExBUkdFX1BBQ0tFVF9NQVg7CiAJCXJldHVybiAwOwpAQCAtMzQ5LDcgKzM1Myw3IEBACiAJfQogCiAJaWYgKCFzdHJjbXAoImh0dHAuZGVsZWdhdGlvbiIsIHZhcikpIHsKLSNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcxNjAwCisjaWZkZWYgQ1VSTEdTU0FQSV9ERUxFR0FUSU9OX0ZMQUcKIAkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZjdXJsX2RlbGVnLCB2YXIsIHZhbHVlKTsKICNlbHNlCiAJCXdhcm5pbmcoXygiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIikpOwpAQCAtNjM0LDkgKzYzOCw3IEBACiAJc3dpdGNoICh0eXBlKSB7CiAJY2FzZSBDVVJMSU5GT19URVhUOgogCQl0cmFjZV9wcmludGZfa2V5KCZ0cmFjZV9jdXJsLCAiPT0gSW5mbzogJXMiLCBkYXRhKTsKLQlkZWZhdWx0OgkJLyogd2UgaWdub3JlIHVua25vd24gdHlwZXMgYnkgZGVmYXVsdCAqLwotCQlyZXR1cm4gMDsKLQorCQlicmVhazsKIAljYXNlIENVUkxJTkZPX0hFQURFUl9PVVQ6CiAJCXRleHQgPSAiPT4gU2VuZCBoZWFkZXIiOwogCQljdXJsX2R1bXBfaGVhZGVyKHRleHQsICh1bnNpZ25lZCBjaGFyICopZGF0YSwgc2l6ZSwgRE9fRklMVEVSKTsKQEAgLTY2MSw2ICs2NjMsOSBAQAogCQl0ZXh0ID0gIjw9IFJlY3YgU1NMIGRhdGEiOwogCQljdXJsX2R1bXBfZGF0YSh0ZXh0LCAodW5zaWduZWQgY2hhciAqKWRhdGEsIHNpemUpOwogCQlicmVhazsKKworCWRlZmF1bHQ6CQkvKiB3ZSBpZ25vcmUgdW5rbm93biB0eXBlcyBieSBkZWZhdWx0ICovCisJCXJldHVybiAwOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTY3NCw2ICs2NzksNyBAQAogCWN1cmxfZWFzeV9zZXRvcHQoaGFuZGxlLCBDVVJMT1BUX0RFQlVHREFUQSwgTlVMTCk7CiB9CiAKKyNpZmRlZiBDVVJMUFJPVE9fSFRUUAogc3RhdGljIGxvbmcgZ2V0X2N1cmxfYWxsb3dlZF9wcm90b2NvbHMoaW50IGZyb21fdXNlcikKIHsKIAlsb25nIGFsbG93ZWRfcHJvdG9jb2xzID0gMDsKQEAgLTY4OSw2ICs2OTUsNyBAQAogCiAJcmV0dXJuIGFsbG93ZWRfcHJvdG9jb2xzOwogfQorI2VuZGlmCiAKIHN0YXRpYyBDVVJMICpnZXRfY3VybF9oYW5kbGUodm9pZCkKIHsKQEAgLTcxNCw3ICs3MjEsNyBAQAogCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX0hUVFBBVVRILCBDVVJMQVVUSF9BTlkpOwogI2VuZGlmCiAKLSNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcxNjAwCisjaWZkZWYgQ1VSTEdTU0FQSV9ERUxFR0FUSU9OX0ZMQUcKIAlpZiAoY3VybF9kZWxlZykgewogCQlpbnQgaTsKIAkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY3VybF9kZWxlZ19sZXZlbHMpOyBpKyspIHsKQEAgLTc4Nyw3ICs3OTQsNyBAQAogI2VsaWYgTElCQ1VSTF9WRVJTSU9OX05VTSA+PSAweDA3MTEwMQogCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX1BPU1QzMDEsIDEpOwogI2VuZGlmCi0jaWYgTElCQ1VSTF9WRVJTSU9OX05VTSA+PSAweDA3MTMwNAorI2lmZGVmIENVUkxQUk9UT19IVFRQCiAJY3VybF9lYXN5X3NldG9wdChyZXN1bHQsIENVUkxPUFRfUkVESVJfUFJPVE9DT0xTLAogCQkJIGdldF9jdXJsX2FsbG93ZWRfcHJvdG9jb2xzKDApKTsKIAljdXJsX2Vhc3lfc2V0b3B0KHJlc3VsdCwgQ1VSTE9QVF9QUk9UT0NPTFMsCkBAIC04MzYsOCArODQzLDE0IEBACiAJCX0KIAl9CiAKLQlpZiAoY3VybF9odHRwX3Byb3h5KSB7Ci0JCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX1BST1hZLCBjdXJsX2h0dHBfcHJveHkpOworCWlmIChjdXJsX2h0dHBfcHJveHkgJiYgY3VybF9odHRwX3Byb3h5WzBdID09ICdcMCcpIHsKKwkJLyoKKwkJICogSGFuZGxlIGNhc2Ugd2l0aCB0aGUgZW1wdHkgaHR0cC5wcm94eSB2YWx1ZSBoZXJlIHRvIGtlZXAKKwkJICogY29tbW9uIGNvZGUgY2xlYW4uCisJCSAqIE5COiBlbXB0eSBvcHRpb24gZGlzYWJsZXMgcHJveHlpbmcgYXQgYWxsLgorCQkgKi8KKwkJY3VybF9lYXN5X3NldG9wdChyZXN1bHQsIENVUkxPUFRfUFJPWFksICIiKTsKKwl9IGVsc2UgaWYgKGN1cmxfaHR0cF9wcm94eSkgewogI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPj0gMHgwNzE4MDAKIAkJaWYgKHN0YXJ0c193aXRoKGN1cmxfaHR0cF9wcm94eSwgInNvY2tzNWgiKSkKIAkJCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LApAQCAtODYxLDYgKzg3NCw5IEBACiAJCQlzdHJidWZfcmVsZWFzZSgmdXJsKTsKIAkJfQogCisJCWlmICghcHJveHlfYXV0aC5ob3N0KQorCQkJZGllKCJJbnZhbGlkIHByb3h5IFVSTCAnJXMnIiwgY3VybF9odHRwX3Byb3h5KTsKKwogCQljdXJsX2Vhc3lfc2V0b3B0KHJlc3VsdCwgQ1VSTE9QVF9QUk9YWSwgcHJveHlfYXV0aC5ob3N0KTsKICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcxMzA0CiAJCXZhcl9vdmVycmlkZSgmY3VybF9ub19wcm94eSwgZ2V0ZW52KCJOT19QUk9YWSIpKTsKQEAgLTEwMTUsOCArMTAzMSw3IEBACiAKIAlpZiAocHJveHlfYXV0aC5wYXNzd29yZCkgewogCQltZW1zZXQocHJveHlfYXV0aC5wYXNzd29yZCwgMCwgc3RybGVuKHByb3h5X2F1dGgucGFzc3dvcmQpKTsKLQkJZnJlZShwcm94eV9hdXRoLnBhc3N3b3JkKTsKLQkJcHJveHlfYXV0aC5wYXNzd29yZCA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwocHJveHlfYXV0aC5wYXNzd29yZCk7CiAJfQogCiAJZnJlZSgodm9pZCAqKWN1cmxfcHJveHl1c2VycHdkKTsKQEAgLTEwMjcsMTMgKzEwNDIsMTEgQEAKIAogCWlmIChjZXJ0X2F1dGgucGFzc3dvcmQgIT0gTlVMTCkgewogCQltZW1zZXQoY2VydF9hdXRoLnBhc3N3b3JkLCAwLCBzdHJsZW4oY2VydF9hdXRoLnBhc3N3b3JkKSk7Ci0JCWZyZWUoY2VydF9hdXRoLnBhc3N3b3JkKTsKLQkJY2VydF9hdXRoLnBhc3N3b3JkID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTChjZXJ0X2F1dGgucGFzc3dvcmQpOwogCX0KIAlzc2xfY2VydF9wYXNzd29yZF9yZXF1aXJlZCA9IDA7CiAKLQlmcmVlKGNhY2hlZF9hY2NlcHRfbGFuZ3VhZ2UpOwotCWNhY2hlZF9hY2NlcHRfbGFuZ3VhZ2UgPSBOVUxMOworCUZSRUVfQU5EX05VTEwoY2FjaGVkX2FjY2VwdF9sYW5ndWFnZSk7CiB9CiAKIHN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpnZXRfYWN0aXZlX3Nsb3Qodm9pZCkKQEAgLTEzNjYsOSArMTM3OSw5IEBACiAJCSAqIEZBSUxPTkVSUk9SIGl0IGlzIGxvc3QsIHNvIHdlIGNhbiBnaXZlIG9ubHkgdGhlIG51bWVyaWMKIAkJICogc3RhdHVzIGNvZGUuCiAJCSAqLwotCQlzbnByaW50ZihjdXJsX2Vycm9yc3RyLCBzaXplb2YoY3VybF9lcnJvcnN0ciksCi0JCQkgIlRoZSByZXF1ZXN0ZWQgVVJMIHJldHVybmVkIGVycm9yOiAlbGQiLAotCQkJIHJlc3VsdHMtPmh0dHBfY29kZSk7CisJCXhzbnByaW50ZihjdXJsX2Vycm9yc3RyLCBzaXplb2YoY3VybF9lcnJvcnN0ciksCisJCQkgICJUaGUgcmVxdWVzdGVkIFVSTCByZXR1cm5lZCBlcnJvcjogJWxkIiwKKwkJCSAgcmVzdWx0cy0+aHR0cF9jb2RlKTsKIAl9CiAKIAlpZiAocmVzdWx0cy0+Y3VybF9yZXN1bHQgPT0gQ1VSTEVfT0spIHsKQEAgLTE0MTAsOCArMTQyMyw4IEBACiB7CiAJc2xvdC0+cmVzdWx0cyA9IHJlc3VsdHM7CiAJaWYgKCFzdGFydF9hY3RpdmVfc2xvdChzbG90KSkgewotCQlzbnByaW50ZihjdXJsX2Vycm9yc3RyLCBzaXplb2YoY3VybF9lcnJvcnN0ciksCi0JCQkgImZhaWxlZCB0byBzdGFydCBIVFRQIHJlcXVlc3QiKTsKKwkJeHNucHJpbnRmKGN1cmxfZXJyb3JzdHIsIHNpemVvZihjdXJsX2Vycm9yc3RyKSwKKwkJCSAgImZhaWxlZCB0byBzdGFydCBIVFRQIHJlcXVlc3QiKTsKIAkJcmV0dXJuIEhUVFBfU1RBUlRfRkFJTEVEOwogCX0KIApAQCAtMTg4NSw4ICsxODk4LDcgQEAKIAogCWlmIChodHRwX2dldF9maWxlKHVybCwgdG1wLCBOVUxMKSAhPSBIVFRQX09LKSB7CiAJCWVycm9yKCJVbmFibGUgdG8gZ2V0IHBhY2sgaW5kZXggJXMiLCB1cmwpOwotCQlmcmVlKHRtcCk7Ci0JCXRtcCA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwodG1wKTsKIAl9CiAKIAlmcmVlKHVybCk7CkBAIC0yMzE3LDggKzIzMjksNyBAQAogCQlmcmVxLT5sb2NhbGZpbGUgPSAtMTsKIAl9CiAJaWYgKGZyZXEtPnVybCAhPSBOVUxMKSB7Ci0JCWZyZWUoZnJlcS0+dXJsKTsKLQkJZnJlcS0+dXJsID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTChmcmVxLT51cmwpOwogCX0KIAlpZiAoZnJlcS0+c2xvdCAhPSBOVUxMKSB7CiAJCWZyZXEtPnNsb3QtPmNhbGxiYWNrX2Z1bmMgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvaHR0cC5oIGIvaHR0cC5oCmluZGV4IDAyYmNjYjcuLmY3YmQzYjIgMTAwNjQ0Ci0tLSBhL2h0dHAuaAorKysgYi9odHRwLmgKQEAgLTExMSw3ICsxMTEsNyBAQAogZXh0ZXJuIGxvbmcgaW50IGdpdF9jdXJsX2lwcmVzb2x2ZTsKIGV4dGVybiBpbnQgYWN0aXZlX3JlcXVlc3RzOwogZXh0ZXJuIGludCBodHRwX2lzX3ZlcmJvc2U7Ci1leHRlcm4gc2l6ZV90IGh0dHBfcG9zdF9idWZmZXI7CitleHRlcm4gc3NpemVfdCBodHRwX3Bvc3RfYnVmZmVyOwogZXh0ZXJuIHN0cnVjdCBjcmVkZW50aWFsIGh0dHBfYXV0aDsKIAogZXh0ZXJuIGNoYXIgY3VybF9lcnJvcnN0cltDVVJMX0VSUk9SX1NJWkVdOwpkaWZmIC0tZ2l0IGEvaWRlbnQuYyBiL2lkZW50LmMKaW5kZXggYzAzNjRmZS4uMzI3YWJlNSAxMDA2NDQKLS0tIGEvaWRlbnQuYworKysgYi9pZGVudC5jCkBAIC02LDYgKzYsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA1IExpbnVzIFRvcnZhbGRzCiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogCiBzdGF0aWMgc3RydWN0IHN0cmJ1ZiBnaXRfZGVmYXVsdF9uYW1lID0gU1RSQlVGX0lOSVQ7CiBzdGF0aWMgc3RydWN0IHN0cmJ1ZiBnaXRfZGVmYXVsdF9lbWFpbCA9IFNUUkJVRl9JTklUOwpAQCAtNzIsMTIgKzczLDEwIEBACiAJRklMRSAqbWFpbG5hbWU7CiAJc3RydWN0IHN0cmJ1ZiBtYWlsbmFtZWJ1ZiA9IFNUUkJVRl9JTklUOwogCi0JbWFpbG5hbWUgPSBmb3BlbigiL2V0Yy9tYWlsbmFtZSIsICJyIik7Ci0JaWYgKCFtYWlsbmFtZSkgewotCQlpZiAoZXJybm8gIT0gRU5PRU5UKQotCQkJd2FybmluZ19lcnJubygiY2Fubm90IG9wZW4gL2V0Yy9tYWlsbmFtZSIpOworCW1haWxuYW1lID0gZm9wZW5fb3Jfd2FybigiL2V0Yy9tYWlsbmFtZSIsICJyIik7CisJaWYgKCFtYWlsbmFtZSkKIAkJcmV0dXJuIC0xOwotCX0KKwogCWlmIChzdHJidWZfZ2V0bGluZSgmbWFpbG5hbWVidWYsIG1haWxuYW1lKSA9PSBFT0YpIHsKIAkJaWYgKGZlcnJvcihtYWlsbmFtZSkpCiAJCQl3YXJuaW5nX2Vycm5vKCJjYW5ub3QgcmVhZCAvZXRjL21haWxuYW1lIik7CkBAIC0xMjAsOSArMTE5LDkgQEAKIAogc3RhdGljIHZvaWQgYWRkX2RvbWFpbm5hbWUoc3RydWN0IHN0cmJ1ZiAqb3V0LCBpbnQgKmlzX2JvZ3VzKQogewotCWNoYXIgYnVmWzEwMjRdOworCWNoYXIgYnVmW0hPU1RfTkFNRV9NQVggKyAxXTsKIAotCWlmIChnZXRob3N0bmFtZShidWYsIHNpemVvZihidWYpKSkgeworCWlmICh4Z2V0aG9zdG5hbWUoYnVmLCBzaXplb2YoYnVmKSkpIHsKIAkJd2FybmluZ19lcnJubygiY2Fubm90IGdldCBob3N0IG5hbWUiKTsKIAkJc3RyYnVmX2FkZHN0cihvdXQsICIobm9uZSkiKTsKIAkJKmlzX2JvZ3VzID0gMTsKZGlmZiAtLWdpdCBhL2ltYXAtc2VuZC5jIGIvaW1hcC1zZW5kLmMKaW5kZXggNWM3ZTI3YS4uOGM3ODVmMyAxMDA2NDQKLS0tIGEvaW1hcC1zZW5kLmMKKysrIGIvaW1hcC1zZW5kLmMKQEAgLTIzLDYgKzIzLDcgQEAKICAqLwogCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJjcmVkZW50aWFsLmgiCiAjaW5jbHVkZSAiZXhlY19jbWQuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgpAQCAtMzQsMTEgKzM1LDExIEBACiAjaW5jbHVkZSAiaHR0cC5oIgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKFVTRV9DVVJMX0ZPUl9JTUFQX1NFTkQpICYmIGRlZmluZWQoTk9fT1BFTlNTTCkKLS8qIG9ubHkgYXZhaWxhYmxlIG9wdGlvbiAqLworI2lmIGRlZmluZWQoVVNFX0NVUkxfRk9SX0lNQVBfU0VORCkKKy8qIEFsd2F5cyBkZWZhdWx0IHRvIGN1cmwgaWYgaXQncyBhdmFpbGFibGUuICovCiAjZGVmaW5lIFVTRV9DVVJMX0RFRkFVTFQgMQogI2Vsc2UKLS8qIHN0cmljdGx5IG9wdCBpbiAqLworLyogV2UgZG9uJ3QgaGF2ZSBjdXJsLCBzbyBjb250aW51ZSB0byB1c2UgdGhlIGhpc3RvcmljYWwgaW1wbGVtZW50YXRpb24gKi8KICNkZWZpbmUgVVNFX0NVUkxfREVGQVVMVCAwCiAjZW5kaWYKIApAQCAtNzc2LDggKzc3Nyw3IEBACiAJCQkgICAgICAgb2Zmc2V0b2Yoc3RydWN0IGltYXBfY21kLCBuZXh0KSk7CiAJCQlpZiAoY21kcC0+Y2IuZGF0YSkgewogCQkJCW4gPSBzb2NrZXRfd3JpdGUoJmltYXAtPmJ1Zi5zb2NrLCBjbWRwLT5jYi5kYXRhLCBjbWRwLT5jYi5kbGVuKTsKLQkJCQlmcmVlKGNtZHAtPmNiLmRhdGEpOwotCQkJCWNtZHAtPmNiLmRhdGEgPSBOVUxMOworCQkJCUZSRUVfQU5EX05VTEwoY21kcC0+Y2IuZGF0YSk7CiAJCQkJaWYgKG4gIT0gKGludCljbWRwLT5jYi5kbGVuKQogCQkJCQlyZXR1cm4gUkVTUF9CQUQ7CiAJCQl9IGVsc2UgaWYgKGNtZHAtPmNiLmNvbnQpIHsKQEAgLTg2MSw3ICs4NjEsNyBAQAogCXJldHVybiBiIDwgMTAgPyAnMCcgKyBiIDogJ2EnICsgKGIgLSAxMCk7CiB9CiAKLSNkZWZpbmUgRU5DT0RFRF9TSVpFKG4pICg0KigobisyKS8zKSkKKyNkZWZpbmUgRU5DT0RFRF9TSVpFKG4pICg0ICogRElWX1JPVU5EX1VQKChuKSwgMykpCiBzdGF0aWMgY2hhciAqY3JhbShjb25zdCBjaGFyICpjaGFsbGVuZ2VfNjQsIGNvbnN0IGNoYXIgKnVzZXIsIGNvbnN0IGNoYXIgKnBhc3MpCiB7CiAJaW50IGksIHJlc3BfbGVuLCBlbmNvZGVkX2xlbiwgZGVjb2RlZF9sZW47CkBAIC05MjYsNiArOTI2LDI1IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIHNlcnZlcl9maWxsX2NyZWRlbnRpYWwoc3RydWN0IGltYXBfc2VydmVyX2NvbmYgKnNydmMsIHN0cnVjdCBjcmVkZW50aWFsICpjcmVkKQoreworCWlmIChzcnZjLT51c2VyICYmIHNydmMtPnBhc3MpCisJCXJldHVybjsKKworCWNyZWQtPnByb3RvY29sID0geHN0cmR1cChzcnZjLT51c2Vfc3NsID8gImltYXBzIiA6ICJpbWFwIik7CisJY3JlZC0+aG9zdCA9IHhzdHJkdXAoc3J2Yy0+aG9zdCk7CisKKwljcmVkLT51c2VybmFtZSA9IHhzdHJkdXBfb3JfbnVsbChzcnZjLT51c2VyKTsKKwljcmVkLT5wYXNzd29yZCA9IHhzdHJkdXBfb3JfbnVsbChzcnZjLT5wYXNzKTsKKworCWNyZWRlbnRpYWxfZmlsbChjcmVkKTsKKworCWlmICghc3J2Yy0+dXNlcikKKwkJc3J2Yy0+dXNlciA9IHhzdHJkdXAoY3JlZC0+dXNlcm5hbWUpOworCWlmICghc3J2Yy0+cGFzcykKKwkJc3J2Yy0+cGFzcyA9IHhzdHJkdXAoY3JlZC0+cGFzc3dvcmQpOworfQorCiBzdGF0aWMgc3RydWN0IGltYXBfc3RvcmUgKmltYXBfb3Blbl9zdG9yZShzdHJ1Y3QgaW1hcF9zZXJ2ZXJfY29uZiAqc3J2YywgY2hhciAqZm9sZGVyKQogewogCXN0cnVjdCBjcmVkZW50aWFsIGNyZWQgPSBDUkVERU5USUFMX0lOSVQ7CkBAIC05NjQsNyArOTgzLDcgQEAKIAkJaW50IGdhaTsKIAkJY2hhciBwb3J0c3RyWzZdOwogCi0JCXNucHJpbnRmKHBvcnRzdHIsIHNpemVvZihwb3J0c3RyKSwgIiVkIiwgc3J2Yy0+cG9ydCk7CisJCXhzbnByaW50Zihwb3J0c3RyLCBzaXplb2YocG9ydHN0ciksICIlZCIsIHNydmMtPnBvcnQpOwogCiAJCW1lbXNldCgmaGludHMsIDAsIHNpemVvZihoaW50cykpOwogCQloaW50cy5haV9zb2NrdHlwZSA9IFNPQ0tfU1RSRUFNOwpAQCAtMTA3OCwyMCArMTA5Nyw3IEBACiAJCX0KICNlbmRpZgogCQlpbWFwX2luZm8oIkxvZ2dpbmcgaW4uLi5cbiIpOwotCQlpZiAoIXNydmMtPnVzZXIgfHwgIXNydmMtPnBhc3MpIHsKLQkJCWNyZWQucHJvdG9jb2wgPSB4c3RyZHVwKHNydmMtPnVzZV9zc2wgPyAiaW1hcHMiIDogImltYXAiKTsKLQkJCWNyZWQuaG9zdCA9IHhzdHJkdXAoc3J2Yy0+aG9zdCk7Ci0KLQkJCWNyZWQudXNlcm5hbWUgPSB4c3RyZHVwX29yX251bGwoc3J2Yy0+dXNlcik7Ci0JCQljcmVkLnBhc3N3b3JkID0geHN0cmR1cF9vcl9udWxsKHNydmMtPnBhc3MpOwotCi0JCQljcmVkZW50aWFsX2ZpbGwoJmNyZWQpOwotCi0JCQlpZiAoIXNydmMtPnVzZXIpCi0JCQkJc3J2Yy0+dXNlciA9IHhzdHJkdXAoY3JlZC51c2VybmFtZSk7Ci0JCQlpZiAoIXNydmMtPnBhc3MpCi0JCQkJc3J2Yy0+cGFzcyA9IHhzdHJkdXAoY3JlZC5wYXNzd29yZCk7Ci0JCX0KKwkJc2VydmVyX2ZpbGxfY3JlZGVudGlhbChzcnZjLCAmY3JlZCk7CiAKIAkJaWYgKHNydmMtPmF1dGhfbWV0aG9kKSB7CiAJCQlzdHJ1Y3QgaW1hcF9jbWRfY2IgY2I7CkBAIC0xMzkyLDcgKzEzOTgsNyBAQAogfQogCiAjaWZkZWYgVVNFX0NVUkxfRk9SX0lNQVBfU0VORAotc3RhdGljIENVUkwgKnNldHVwX2N1cmwoc3RydWN0IGltYXBfc2VydmVyX2NvbmYgKnNydmMpCitzdGF0aWMgQ1VSTCAqc2V0dXBfY3VybChzdHJ1Y3QgaW1hcF9zZXJ2ZXJfY29uZiAqc3J2Yywgc3RydWN0IGNyZWRlbnRpYWwgKmNyZWQpCiB7CiAJQ1VSTCAqY3VybDsKIAlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKQEAgLTE0MDUsNiArMTQxMSw3IEBACiAJaWYgKCFjdXJsKQogCQlkaWUoImN1cmxfZWFzeV9pbml0IGZhaWxlZCIpOwogCisJc2VydmVyX2ZpbGxfY3JlZGVudGlhbCgmc2VydmVyLCBjcmVkKTsKIAljdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfVVNFUk5BTUUsIHNlcnZlci51c2VyKTsKIAljdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfUEFTU1dPUkQsIHNlcnZlci5wYXNzKTsKIApAQCAtMTQ1NCw4ICsxNDYxLDkgQEAKIAlzdHJ1Y3QgYnVmZmVyIG1zZ2J1ZiA9IHsgU1RSQlVGX0lOSVQsIDAgfTsKIAlDVVJMICpjdXJsOwogCUNVUkxjb2RlIHJlcyA9IENVUkxFX09LOworCXN0cnVjdCBjcmVkZW50aWFsIGNyZWQgPSBDUkVERU5USUFMX0lOSVQ7CiAKLQljdXJsID0gc2V0dXBfY3VybChzZXJ2ZXIpOworCWN1cmwgPSBzZXR1cF9jdXJsKHNlcnZlciwgJmNyZWQpOwogCWN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9SRUFEREFUQSwgJm1zZ2J1Zik7CiAKIAlmcHJpbnRmKHN0ZGVyciwgInNlbmRpbmcgJWQgbWVzc2FnZSVzXG4iLCB0b3RhbCwgKHRvdGFsICE9IDEpID8gInMiIDogIiIpOwpAQCAtMTQ5MCw3ICsxNDk4LDIwIEBACiAJY3VybF9lYXN5X2NsZWFudXAoY3VybCk7CiAJY3VybF9nbG9iYWxfY2xlYW51cCgpOwogCi0JcmV0dXJuIDA7CisJaWYgKGNyZWQudXNlcm5hbWUpIHsKKwkJaWYgKHJlcyA9PSBDVVJMRV9PSykKKwkJCWNyZWRlbnRpYWxfYXBwcm92ZSgmY3JlZCk7CisjaWYgTElCQ1VSTF9WRVJTSU9OX05VTSA+PSAweDA3MGQwMQorCQllbHNlIGlmIChyZXMgPT0gQ1VSTEVfTE9HSU5fREVOSUVEKQorI2Vsc2UKKwkJZWxzZQorI2VuZGlmCisJCQljcmVkZW50aWFsX3JlamVjdCgmY3JlZCk7CisJfQorCisJY3JlZGVudGlhbF9jbGVhcigmY3JlZCk7CisKKwlyZXR1cm4gcmVzICE9IENVUkxFX09LOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2xpbmUtbG9nLmMgYi9saW5lLWxvZy5jCmluZGV4IGEyM2I5MTAuLjU0NWFkMGYgMTAwNjQ0Ci0tLSBhL2xpbmUtbG9nLmMKKysrIGIvbGluZS1sb2cuYwpAQCAtMzQsOSArMzQsOCBAQAogCiB2b2lkIHJhbmdlX3NldF9yZWxlYXNlKHN0cnVjdCByYW5nZV9zZXQgKnJzKQogewotCWZyZWUocnMtPnJhbmdlcyk7CisJRlJFRV9BTkRfTlVMTChycy0+cmFuZ2VzKTsKIAlycy0+YWxsb2MgPSBycy0+bnIgPSAwOwotCXJzLT5yYW5nZXMgPSBOVUxMOwogfQogCiAvKiBkc3QgbXVzdCBiZSB1bmluaXRpYWxpemVkISAqLwpAQCAtOTEsNyArOTAsNyBAQAogICovCiBzdGF0aWMgdm9pZCByYW5nZV9zZXRfY2hlY2tfaW52YXJpYW50cyhzdHJ1Y3QgcmFuZ2Vfc2V0ICpycykKIHsKLQlpbnQgaTsKKwl1bnNpZ25lZCBpbnQgaTsKIAogCWlmICghcnMpCiAJCXJldHVybjsKQEAgLTExMSw4ICsxMTAsOCBAQAogICovCiB2b2lkIHNvcnRfYW5kX21lcmdlX3JhbmdlX3NldChzdHJ1Y3QgcmFuZ2Vfc2V0ICpycykKIHsKLQlpbnQgaTsKLQlpbnQgbyA9IDA7IC8qIG91dHB1dCBjdXJzb3IgKi8KKwl1bnNpZ25lZCBpbnQgaTsKKwl1bnNpZ25lZCBpbnQgbyA9IDA7IC8qIG91dHB1dCBjdXJzb3IgKi8KIAogCVFTT1JUKHJzLT5yYW5nZXMsIHJzLT5uciwgcmFuZ2VfY21wKTsKIApAQCAtMTQ1LDcgKzE0NCw3IEBACiBzdGF0aWMgdm9pZCByYW5nZV9zZXRfdW5pb24oc3RydWN0IHJhbmdlX3NldCAqb3V0LAogCQkJICAgICBzdHJ1Y3QgcmFuZ2Vfc2V0ICphLCBzdHJ1Y3QgcmFuZ2Vfc2V0ICpiKQogewotCWludCBpID0gMCwgaiA9IDA7CisJdW5zaWduZWQgaW50IGkgPSAwLCBqID0gMDsKIAlzdHJ1Y3QgcmFuZ2UgKnJhID0gYS0+cmFuZ2VzOwogCXN0cnVjdCByYW5nZSAqcmIgPSBiLT5yYW5nZXM7CiAJLyogY2Fubm90IG1ha2UgYW4gYWxpYXMgb2Ygb3V0LT5yYW5nZXM6IGl0IG1heSBjaGFuZ2UgZHVyaW5nIGdyb3cgKi8KQEAgLTE4Nyw3ICsxODYsNyBAQAogc3RhdGljIHZvaWQgcmFuZ2Vfc2V0X2RpZmZlcmVuY2Uoc3RydWN0IHJhbmdlX3NldCAqb3V0LAogCQkJCSAgc3RydWN0IHJhbmdlX3NldCAqYSwgc3RydWN0IHJhbmdlX3NldCAqYikKIHsKLQlpbnQgaSwgaiA9ICAwOworCXVuc2lnbmVkIGludCBpLCBqID0gIDA7CiAJZm9yIChpID0gMDsgaSA8IGEtPm5yOyBpKyspIHsKIAkJbG9uZyBzdGFydCA9IGEtPnJhbmdlc1tpXS5zdGFydDsKIAkJbG9uZyBlbmQgPSBhLT5yYW5nZXNbaV0uZW5kOwpAQCAtMzk4LDcgKzM5Nyw3IEBACiAJCQkJICAgICAgIHN0cnVjdCBkaWZmX3JhbmdlcyAqZGlmZiwKIAkJCQkgICAgICAgc3RydWN0IHJhbmdlX3NldCAqcnMpCiB7Ci0JaW50IGksIGogPSAwOworCXVuc2lnbmVkIGludCBpLCBqID0gMDsKIAogCWFzc2VydChvdXQtPnRhcmdldC5uciA9PSAwKTsKIApAQCAtNDI3LDcgKzQyNiw3IEBACiAJCQkJIHN0cnVjdCByYW5nZV9zZXQgKnJzLAogCQkJCSBzdHJ1Y3QgZGlmZl9yYW5nZXMgKmRpZmYpCiB7Ci0JaW50IGksIGogPSAwOworCXVuc2lnbmVkIGludCBpLCBqID0gMDsKIAlsb25nIG9mZnNldCA9IDA7CiAJc3RydWN0IHJhbmdlICpzcmMgPSBycy0+cmFuZ2VzOwogCXN0cnVjdCByYW5nZSAqdGFyZ2V0ID0gZGlmZi0+dGFyZ2V0LnJhbmdlczsKQEAgLTUwMCwxMiArNDk5LDEyIEBACiBzdGF0aWMgdm9pZCBmaWxsX2Jsb2Jfc2hhMShzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpzcGVjKQogewogCXVuc2lnbmVkIG1vZGU7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCWlmIChnZXRfdHJlZV9lbnRyeShjb21taXQtPm9iamVjdC5vaWQuaGFzaCwgc3BlYy0+cGF0aCwKLQkJCSAgIHNoYTEsICZtb2RlKSkKKwkJCSAgIG9pZC5oYXNoLCAmbW9kZSkpCiAJCWRpZSgiVGhlcmUgaXMgbm8gcGF0aCAlcyBpbiB0aGUgY29tbWl0Iiwgc3BlYy0+cGF0aCk7Ci0JZmlsbF9maWxlc3BlYyhzcGVjLCBzaGExLCAxLCBtb2RlKTsKKwlmaWxsX2ZpbGVzcGVjKHNwZWMsICZvaWQsIDEsIG1vZGUpOwogCiAJcmV0dXJuOwogfQpAQCAtNjEwLDggKzYwOSw3IEBACiAJCWxpbmVfbG9nX2RhdGFfaW5zZXJ0KCZyYW5nZXMsIGZ1bGxfbmFtZSwgYmVnaW4sIGVuZCk7CiAKIAkJZnJlZV9maWxlc3BlYyhzcGVjKTsKLQkJZnJlZShlbmRzKTsKLQkJZW5kcyA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwoZW5kcyk7CiAJfQogCiAJZm9yIChwID0gcmFuZ2VzOyBwOyBwID0gcC0+bmV4dCkKQEAgLTgxOSw4ICs4MTcsOCBAQAogCWFzc2VydChjb21taXQpOwogCiAJRElGRl9RVUVVRV9DTEVBUigmZGlmZl9xdWV1ZWRfZGlmZik7Ci0JZGlmZl90cmVlX3NoYTEocGFyZW50ID8gcGFyZW50LT50cmVlLT5vYmplY3Qub2lkLmhhc2ggOiBOVUxMLAotCQkJY29tbWl0LT50cmVlLT5vYmplY3Qub2lkLmhhc2gsICIiLCBvcHQpOworCWRpZmZfdHJlZV9vaWQocGFyZW50ID8gJnBhcmVudC0+dHJlZS0+b2JqZWN0Lm9pZCA6IE5VTEwsCisJCSAgICAgICZjb21taXQtPnRyZWUtPm9iamVjdC5vaWQsICIiLCBvcHQpOwogCWlmIChvcHQtPmRldGVjdF9yZW5hbWUpIHsKIAkJZmlsdGVyX2RpZmZzX2Zvcl9wYXRocyhyYW5nZSwgMSk7CiAJCWlmIChkaWZmX21pZ2h0X2JlX3JlbmFtZSgpKQpAQCAtODc1LDcgKzg3Myw3IEBACiAKIHN0YXRpYyB2b2lkIGR1bXBfZGlmZl9oYWNreV9vbmUoc3RydWN0IHJldl9pbmZvICpyZXYsIHN0cnVjdCBsaW5lX2xvZ19kYXRhICpyYW5nZSkKIHsKLQlpbnQgaSwgaiA9IDA7CisJdW5zaWduZWQgaW50IGksIGogPSAwOwogCWxvbmcgcF9saW5lcywgdF9saW5lczsKIAl1bnNpZ25lZCBsb25nICpwX2VuZHMgPSBOVUxMLCAqdF9lbmRzID0gTlVMTDsKIAlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcGFpciA9IHJhbmdlLT5wYWlyOwpAQCAtOTA4LDcgKzkwNiw3IEBACiAJCWxvbmcgdF9zdGFydCA9IHJhbmdlLT5yYW5nZXMucmFuZ2VzW2ldLnN0YXJ0OwogCQlsb25nIHRfZW5kID0gcmFuZ2UtPnJhbmdlcy5yYW5nZXNbaV0uZW5kOwogCQlsb25nIHRfY3VyID0gdF9zdGFydDsKLQkJaW50IGpfbGFzdDsKKwkJdW5zaWduZWQgaW50IGpfbGFzdDsKIAogCQl3aGlsZSAoaiA8IGRpZmYtPnRhcmdldC5uciAmJiBkaWZmLT50YXJnZXQucmFuZ2VzW2pdLmVuZCA8IHRfc3RhcnQpCiAJCQlqKys7CkBAIC0xMTI1LDYgKzExMjMsNyBAQAogCWNoYW5nZWQgPSBwcm9jZXNzX2FsbF9maWxlcygmcGFyZW50X3JhbmdlLCByZXYsICZxdWV1ZSwgcmFuZ2UpOwogCWlmIChwYXJlbnQpCiAJCWFkZF9saW5lX3JhbmdlKHJldiwgcGFyZW50LCBwYXJlbnRfcmFuZ2UpOworCWZyZWVfbGluZV9sb2dfZGF0YShwYXJlbnRfcmFuZ2UpOwogCXJldHVybiBjaGFuZ2VkOwogfQogCmRpZmYgLS1naXQgYS9saW5lLWxvZy5oIGIvbGluZS1sb2cuaAppbmRleCA3YTVjMjRlLi5lMmE1ZWU3IDEwMDY0NAotLS0gYS9saW5lLWxvZy5oCisrKyBiL2xpbmUtbG9nLmgKQEAgLTE0LDcgKzE0LDcgQEAKIAogLyogQSBzZXQgb2YgcmFuZ2VzLiAgVGhlIHJhbmdlcyBtdXN0IGFsd2F5cyBiZSBkaXNqb2ludCBhbmQgc29ydGVkLiAqLwogc3RydWN0IHJhbmdlX3NldCB7Ci0JaW50IGFsbG9jLCBucjsKKwl1bnNpZ25lZCBpbnQgYWxsb2MsIG5yOwogCXN0cnVjdCByYW5nZSAqcmFuZ2VzOwogfTsKIApkaWZmIC0tZ2l0IGEvbGlzdC1vYmplY3RzLmMgYi9saXN0LW9iamVjdHMuYwppbmRleCBmM2NhNmFhLi5iMzkzMWZhIDEwMDY0NAotLS0gYS9saXN0LW9iamVjdHMuYworKysgYi9saXN0LW9iamVjdHMuYwpAQCAtMTEwLDcgKzExMCw3IEBACiAKIAkJaWYgKFNfSVNESVIoZW50cnkubW9kZSkpCiAJCQlwcm9jZXNzX3RyZWUocmV2cywKLQkJCQkgICAgIGxvb2t1cF90cmVlKGVudHJ5Lm9pZC0+aGFzaCksCisJCQkJICAgICBsb29rdXBfdHJlZShlbnRyeS5vaWQpLAogCQkJCSAgICAgc2hvdywgYmFzZSwgZW50cnkucGF0aCwKIAkJCQkgICAgIGNiX2RhdGEpOwogCQllbHNlIGlmIChTX0lTR0lUTElOSyhlbnRyeS5tb2RlKSkKQEAgLTExOSw3ICsxMTksNyBAQAogCQkJCQljYl9kYXRhKTsKIAkJZWxzZQogCQkJcHJvY2Vzc19ibG9iKHJldnMsCi0JCQkJICAgICBsb29rdXBfYmxvYihlbnRyeS5vaWQtPmhhc2gpLAorCQkJCSAgICAgbG9va3VwX2Jsb2IoZW50cnkub2lkKSwKIAkJCQkgICAgIHNob3csIGJhc2UsIGVudHJ5LnBhdGgsCiAJCQkJICAgICBjYl9kYXRhKTsKIAl9CmRpZmYgLS1naXQgYS9saXN0LmggYi9saXN0LmgKaW5kZXggYTIyNmE4Ny4uZWI2MDExOSAxMDA2NDQKLS0tIGEvbGlzdC5oCisrKyBiL2xpc3QuaApAQCAtMTYzLDQgKzE2Myw0MiBAQAogCUlOSVRfTElTVF9IRUFEKG9sZCk7CiB9CiAKKy8qCisgKiBUaGlzIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgYSBub3JtYWwgbGlzdF9oZWFkLCBleGNlcHQgdGhhdCBpdCBjYW4gYmUKKyAqIGRlY2xhcmVkIHZvbGF0aWxlIChlLmcuLCBpZiB5b3UgaGF2ZSBhIGxpc3QgdGhhdCBtYXkgYmUgYWNjZXNzZWQgZnJvbSBzaWduYWwKKyAqIGhhbmRsZXJzKS4KKyAqLworc3RydWN0IHZvbGF0aWxlX2xpc3RfaGVhZCB7CisJdm9sYXRpbGUgc3RydWN0IHZvbGF0aWxlX2xpc3RfaGVhZCAqbmV4dCwgKnByZXY7Cit9OworCisjZGVmaW5lIFZPTEFUSUxFX0xJU1RfSEVBRChuYW1lKSBcCisJdm9sYXRpbGUgc3RydWN0IHZvbGF0aWxlX2xpc3RfaGVhZCBuYW1lID0geyAmKG5hbWUpLCAmKG5hbWUpIH0KKworc3RhdGljIGlubGluZSB2b2lkIF9fdm9sYXRpbGVfbGlzdF9kZWwodm9sYXRpbGUgc3RydWN0IHZvbGF0aWxlX2xpc3RfaGVhZCAqcHJldiwKKwkJCQkgICAgICAgdm9sYXRpbGUgc3RydWN0IHZvbGF0aWxlX2xpc3RfaGVhZCAqbmV4dCkKK3sKKwluZXh0LT5wcmV2ID0gcHJldjsKKwlwcmV2LT5uZXh0ID0gbmV4dDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZvbGF0aWxlX2xpc3RfZGVsKHZvbGF0aWxlIHN0cnVjdCB2b2xhdGlsZV9saXN0X2hlYWQgKmVsZW0pCit7CisJX192b2xhdGlsZV9saXN0X2RlbChlbGVtLT5wcmV2LCBlbGVtLT5uZXh0KTsKK30KKworc3RhdGljIGlubGluZSBpbnQgdm9sYXRpbGVfbGlzdF9lbXB0eSh2b2xhdGlsZSBzdHJ1Y3Qgdm9sYXRpbGVfbGlzdF9oZWFkICpoZWFkKQoreworCXJldHVybiBoZWFkID09IGhlYWQtPm5leHQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2b2xhdGlsZV9saXN0X2FkZCh2b2xhdGlsZSBzdHJ1Y3Qgdm9sYXRpbGVfbGlzdF9oZWFkICpuZXdwLAorCQkJCSAgICAgdm9sYXRpbGUgc3RydWN0IHZvbGF0aWxlX2xpc3RfaGVhZCAqaGVhZCkKK3sKKwloZWFkLT5uZXh0LT5wcmV2ID0gbmV3cDsKKwluZXdwLT5uZXh0ID0gaGVhZC0+bmV4dDsKKwluZXdwLT5wcmV2ID0gaGVhZDsKKwloZWFkLT5uZXh0ID0gbmV3cDsKK30KKwogI2VuZGlmIC8qIExJU1RfSCAqLwpkaWZmIC0tZ2l0IGEvbGwtbWVyZ2UuYyBiL2xsLW1lcmdlLmMKaW5kZXggYWQ4YmU0Mi4uYTZhZDJlYyAxMDA2NDQKLS0tIGEvbGwtbWVyZ2UuYworKysgYi9sbC1tZXJnZS5jCkBAIC01LDYgKzUsNyBAQAogICovCiAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImF0dHIuaCIKICNpbmNsdWRlICJ4ZGlmZi1pbnRlcmZhY2UuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgpAQCAtMTUzLDcgKzE1NCw3IEBACiAKIAl4c25wcmludGYocGF0aCwgbGVuLCAiLm1lcmdlX2ZpbGVfWFhYWFhYIik7CiAJZmQgPSB4bWtzdGVtcChwYXRoKTsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgc3JjLT5wdHIsIHNyYy0+c2l6ZSkgIT0gc3JjLT5zaXplKQorCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBzcmMtPnB0ciwgc3JjLT5zaXplKSA8IDApCiAJCWRpZV9lcnJubygidW5hYmxlIHRvIHdyaXRlIHRlbXAtZmlsZSIpOwogCWNsb3NlKGZkKTsKIH0KQEAgLTIwOSw4ICsyMTAsNyBAQAogCXJlc3VsdC0+c2l6ZSA9IHN0LnN0X3NpemU7CiAJcmVzdWx0LT5wdHIgPSB4bWFsbG9jeihyZXN1bHQtPnNpemUpOwogCWlmIChyZWFkX2luX2Z1bGwoZmQsIHJlc3VsdC0+cHRyLCByZXN1bHQtPnNpemUpICE9IHJlc3VsdC0+c2l6ZSkgewotCQlmcmVlKHJlc3VsdC0+cHRyKTsKLQkJcmVzdWx0LT5wdHIgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKHJlc3VsdC0+cHRyKTsKIAkJcmVzdWx0LT5zaXplID0gMDsKIAl9CiAgY2xvc2VfYmFkOgpAQCAtMzM2LDE5ICszMzYsMTAgQEAKIAlyZXR1cm4gJmxsX21lcmdlX2RydltMTF9URVhUX01FUkdFXTsKIH0KIAotc3RhdGljIGludCBnaXRfcGF0aF9jaGVja19tZXJnZShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgY2hlY2tbMl0pCi17Ci0JaWYgKCFjaGVja1swXS5hdHRyKSB7Ci0JCWNoZWNrWzBdLmF0dHIgPSBnaXRfYXR0cigibWVyZ2UiKTsKLQkJY2hlY2tbMV0uYXR0ciA9IGdpdF9hdHRyKCJjb25mbGljdC1tYXJrZXItc2l6ZSIpOwotCX0KLQlyZXR1cm4gZ2l0X2NoZWNrX2F0dHIocGF0aCwgMiwgY2hlY2spOwotfQotCiBzdGF0aWMgdm9pZCBub3JtYWxpemVfZmlsZShtbWZpbGVfdCAqbW0sIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJc3RydWN0IHN0cmJ1ZiBzdHJidWYgPSBTVFJCVUZfSU5JVDsKLQlpZiAocmVub3JtYWxpemVfYnVmZmVyKHBhdGgsIG1tLT5wdHIsIG1tLT5zaXplLCAmc3RyYnVmKSkgeworCWlmIChyZW5vcm1hbGl6ZV9idWZmZXIoJnRoZV9pbmRleCwgcGF0aCwgbW0tPnB0ciwgbW0tPnNpemUsICZzdHJidWYpKSB7CiAJCWZyZWUobW0tPnB0cik7CiAJCW1tLT5zaXplID0gc3RyYnVmLmxlbjsKIAkJbW0tPnB0ciA9IHN0cmJ1Zl9kZXRhY2goJnN0cmJ1ZiwgTlVMTCk7CkBAIC0zNjIsNyArMzUzLDcgQEAKIAkgICAgIG1tZmlsZV90ICp0aGVpcnMsIGNvbnN0IGNoYXIgKnRoZWlyX2xhYmVsLAogCSAgICAgY29uc3Qgc3RydWN0IGxsX21lcmdlX29wdGlvbnMgKm9wdHMpCiB7Ci0Jc3RhdGljIHN0cnVjdCBnaXRfYXR0cl9jaGVjayBjaGVja1syXTsKKwlzdGF0aWMgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrOwogCXN0YXRpYyBjb25zdCBzdHJ1Y3QgbGxfbWVyZ2Vfb3B0aW9ucyBkZWZhdWx0X29wdHM7CiAJY29uc3QgY2hhciAqbGxfZHJpdmVyX25hbWUgPSBOVUxMOwogCWludCBtYXJrZXJfc2l6ZSA9IERFRkFVTFRfQ09ORkxJQ1RfTUFSS0VSX1NJWkU7CkBAIC0zNzYsMTAgKzM2NywxNCBAQAogCQlub3JtYWxpemVfZmlsZShvdXJzLCBwYXRoKTsKIAkJbm9ybWFsaXplX2ZpbGUodGhlaXJzLCBwYXRoKTsKIAl9Ci0JaWYgKCFnaXRfcGF0aF9jaGVja19tZXJnZShwYXRoLCBjaGVjaykpIHsKLQkJbGxfZHJpdmVyX25hbWUgPSBjaGVja1swXS52YWx1ZTsKLQkJaWYgKGNoZWNrWzFdLnZhbHVlKSB7Ci0JCQltYXJrZXJfc2l6ZSA9IGF0b2koY2hlY2tbMV0udmFsdWUpOworCisJaWYgKCFjaGVjaykKKwkJY2hlY2sgPSBhdHRyX2NoZWNrX2luaXRsKCJtZXJnZSIsICJjb25mbGljdC1tYXJrZXItc2l6ZSIsIE5VTEwpOworCisJaWYgKCFnaXRfY2hlY2tfYXR0cihwYXRoLCBjaGVjaykpIHsKKwkJbGxfZHJpdmVyX25hbWUgPSBjaGVjay0+aXRlbXNbMF0udmFsdWU7CisJCWlmIChjaGVjay0+aXRlbXNbMV0udmFsdWUpIHsKKwkJCW1hcmtlcl9zaXplID0gYXRvaShjaGVjay0+aXRlbXNbMV0udmFsdWUpOwogCQkJaWYgKG1hcmtlcl9zaXplIDw9IDApCiAJCQkJbWFya2VyX3NpemUgPSBERUZBVUxUX0NPTkZMSUNUX01BUktFUl9TSVpFOwogCQl9CkBAIC0zOTgsMTMgKzM5MywxMyBAQAogCiBpbnQgbGxfbWVyZ2VfbWFya2VyX3NpemUoY29uc3QgY2hhciAqcGF0aCkKIHsKLQlzdGF0aWMgc3RydWN0IGdpdF9hdHRyX2NoZWNrIGNoZWNrOworCXN0YXRpYyBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2s7CiAJaW50IG1hcmtlcl9zaXplID0gREVGQVVMVF9DT05GTElDVF9NQVJLRVJfU0laRTsKIAotCWlmICghY2hlY2suYXR0cikKLQkJY2hlY2suYXR0ciA9IGdpdF9hdHRyKCJjb25mbGljdC1tYXJrZXItc2l6ZSIpOwotCWlmICghZ2l0X2NoZWNrX2F0dHIocGF0aCwgMSwgJmNoZWNrKSAmJiBjaGVjay52YWx1ZSkgewotCQltYXJrZXJfc2l6ZSA9IGF0b2koY2hlY2sudmFsdWUpOworCWlmICghY2hlY2spCisJCWNoZWNrID0gYXR0cl9jaGVja19pbml0bCgiY29uZmxpY3QtbWFya2VyLXNpemUiLCBOVUxMKTsKKwlpZiAoIWdpdF9jaGVja19hdHRyKHBhdGgsIGNoZWNrKSAmJiBjaGVjay0+aXRlbXNbMF0udmFsdWUpIHsKKwkJbWFya2VyX3NpemUgPSBhdG9pKGNoZWNrLT5pdGVtc1swXS52YWx1ZSk7CiAJCWlmIChtYXJrZXJfc2l6ZSA8PSAwKQogCQkJbWFya2VyX3NpemUgPSBERUZBVUxUX0NPTkZMSUNUX01BUktFUl9TSVpFOwogCX0KZGlmZiAtLWdpdCBhL2xvY2tmaWxlLmMgYi9sb2NrZmlsZS5jCmluZGV4IGFhNjkyMTAuLmVmY2I3ZDcgMTAwNjQ0Ci0tLSBhL2xvY2tmaWxlLmMKKysrIGIvbG9ja2ZpbGUuYwpAQCAtNzIsNyArNzIsNiBAQAogLyogTWFrZSBzdXJlIGVycm5vIGNvbnRhaW5zIGEgbWVhbmluZ2Z1bCB2YWx1ZSBvbiBlcnJvciAqLwogc3RhdGljIGludCBsb2NrX2ZpbGUoc3RydWN0IGxvY2tfZmlsZSAqbGssIGNvbnN0IGNoYXIgKnBhdGgsIGludCBmbGFncykKIHsKLQlpbnQgZmQ7CiAJc3RydWN0IHN0cmJ1ZiBmaWxlbmFtZSA9IFNUUkJVRl9JTklUOwogCiAJc3RyYnVmX2FkZHN0cigmZmlsZW5hbWUsIHBhdGgpOwpAQCAtODAsOSArNzksOSBAQAogCQlyZXNvbHZlX3N5bWxpbmsoJmZpbGVuYW1lKTsKIAogCXN0cmJ1Zl9hZGRzdHIoJmZpbGVuYW1lLCBMT0NLX1NVRkZJWCk7Ci0JZmQgPSBjcmVhdGVfdGVtcGZpbGUoJmxrLT50ZW1wZmlsZSwgZmlsZW5hbWUuYnVmKTsKKwlsay0+dGVtcGZpbGUgPSBjcmVhdGVfdGVtcGZpbGUoZmlsZW5hbWUuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmZmlsZW5hbWUpOwotCXJldHVybiBmZDsKKwlyZXR1cm4gbGstPnRlbXBmaWxlID8gbGstPnRlbXBmaWxlLT5mZCA6IC0xOwogfQogCiAvKgpAQCAtMTkxLDcgKzE5MCw3IEBACiB7CiAJc3RydWN0IHN0cmJ1ZiByZXQgPSBTVFJCVUZfSU5JVDsKIAotCXN0cmJ1Zl9hZGRzdHIoJnJldCwgZ2V0X3RlbXBmaWxlX3BhdGgoJmxrLT50ZW1wZmlsZSkpOworCXN0cmJ1Zl9hZGRzdHIoJnJldCwgZ2V0X3RlbXBmaWxlX3BhdGgobGstPnRlbXBmaWxlKSk7CiAJaWYgKHJldC5sZW4gPD0gTE9DS19TVUZGSVhfTEVOIHx8CiAJICAgIHN0cmNtcChyZXQuYnVmICsgcmV0LmxlbiAtIExPQ0tfU1VGRklYX0xFTiwgTE9DS19TVUZGSVgpKQogCQlkaWUoIkJVRzogZ2V0X2xvY2tlZF9maWxlX3BhdGgoKSBjYWxsZWQgZm9yIG1hbGZvcm1lZCBsb2NrIG9iamVjdCIpOwpkaWZmIC0tZ2l0IGEvbG9ja2ZpbGUuaCBiL2xvY2tmaWxlLmgKaW5kZXggN2I3MTVmOS4uN2MxYzQ4NCAxMDA2NDQKLS0tIGEvbG9ja2ZpbGUuaAorKysgYi9sb2NrZmlsZS5oCkBAIC0zNywxMiArMzcsMTIgQEAKICAqCiAgKiBUaGUgY2FsbGVyOgogICoKLSAqICogQWxsb2NhdGVzIGEgYHN0cnVjdCBsb2NrX2ZpbGVgIGVpdGhlciBhcyBhIHN0YXRpYyB2YXJpYWJsZSBvciBvbgotICogICB0aGUgaGVhcCwgaW5pdGlhbGl6ZWQgdG8gemVyb3MuIE9uY2UgeW91IHVzZSB0aGUgc3RydWN0dXJlIHRvCi0gKiAgIGNhbGwgdGhlIGBob2xkX2xvY2tfZmlsZV9mb3JfKigpYCBmYW1pbHkgb2YgZnVuY3Rpb25zLCBpdCBiZWxvbmdzCi0gKiAgIHRvIHRoZSBsb2NrZmlsZSBzdWJzeXN0ZW0gYW5kIGl0cyBzdG9yYWdlIG11c3QgcmVtYWluIHZhbGlkCi0gKiAgIHRocm91Z2hvdXQgdGhlIGxpZmUgb2YgdGhlIHByb2dyYW0gKGkuZS4geW91IGNhbm5vdCB1c2UgYW4KLSAqICAgb24tc3RhY2sgdmFyaWFibGUgdG8gaG9sZCB0aGlzIHN0cnVjdHVyZSkuCisgKiAqIEFsbG9jYXRlcyBhIGBzdHJ1Y3QgbG9ja19maWxlYCB3aXRoIHdoYXRldmVyIHN0b3JhZ2UgZHVyYXRpb24geW91CisgKiAgIGRlc2lyZS4gVGhlIHN0cnVjdCBkb2VzIG5vdCBoYXZlIHRvIGJlIGluaXRpYWxpemVkIGJlZm9yZSBiZWluZworICogICB1c2VkLCBidXQgaXQgaXMgZ29vZCBwcmFjdGljZSB0byBkbyBzbyB1c2luZyBieSBzZXR0aW5nIGl0IHRvCisgKiAgIGFsbC16ZXJvcyAob3IgdXNpbmcgdGhlIExPQ0tfSU5JVCBtYWNybykuIFRoaXMgcHV0cyB0aGUgb2JqZWN0IGluIGEKKyAqICAgY29uc2lzdGVudCBzdGF0ZSB0aGF0IGFsbG93cyB5b3UgdG8gY2FsbCByb2xsYmFja19sb2NrX2ZpbGUoKSBldmVuCisgKiAgIGlmIHRoZSBsb2NrIHdhcyBuZXZlciB0YWtlbiAoaW4gd2hpY2ggY2FzZSBpdCBpcyBhIG5vb3ApLgogICoKICAqICogQXR0ZW1wdHMgdG8gY3JlYXRlIGEgbG9ja2ZpbGUgYnkgY2FsbGluZyBgaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgpYC4KICAqCkBAIC02OSwxNCArNjksMTIgQEAKICAqICAgYHJvbGxiYWNrX2xvY2tfZmlsZSgpYC4KICAqCiAgKiAqIENsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3Igd2l0aG91dCByZW1vdmluZyBvciByZW5hbWluZyB0aGUKLSAqICAgbG9ja2ZpbGUgYnkgY2FsbGluZyBgY2xvc2VfbG9ja19maWxlKClgLCBhbmQgbGF0ZXIgY2FsbAorICogICBsb2NrZmlsZSBieSBjYWxsaW5nIGBjbG9zZV9sb2NrX2ZpbGVfZ2VudGx5KClgLCBhbmQgbGF0ZXIgY2FsbAogICogICBgY29tbWl0X2xvY2tfZmlsZSgpYCwgYGNvbW1pdF9sb2NrX2ZpbGVfdG8oKWAsCiAgKiAgIGByb2xsYmFja19sb2NrX2ZpbGUoKWAsIG9yIGByZW9wZW5fbG9ja19maWxlKClgLgogICoKLSAqIEV2ZW4gYWZ0ZXIgdGhlIGxvY2tmaWxlIGlzIGNvbW1pdHRlZCBvciByb2xsZWQgYmFjaywgdGhlCi0gKiBgbG9ja19maWxlYCBvYmplY3QgbXVzdCBub3QgYmUgZnJlZWQgb3IgYWx0ZXJlZCBieSB0aGUgY2FsbGVyLgotICogSG93ZXZlciwgaXQgbWF5IGJlIHJldXNlZDsganVzdCBwYXNzIGl0IHRvIGFub3RoZXIgY2FsbCBvZgotICogYGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoKWAuCisgKiBBZnRlciB0aGUgbG9ja2ZpbGUgaXMgY29tbWl0dGVkIG9yIHJvbGxlZCBiYWNrLCB0aGUgYGxvY2tfZmlsZWAKKyAqIG9iamVjdCBjYW4gYmUgZGlzY2FyZGVkIG9yIHJldXNlZC4KICAqCiAgKiBJZiB0aGUgcHJvZ3JhbSBleGl0cyBiZWZvcmUgYGNvbW1pdF9sb2NrX2ZpbGUoKWAsCiAgKiBgY29tbWl0X2xvY2tfZmlsZV90bygpYCwgb3IgYHJvbGxiYWNrX2xvY2tfZmlsZSgpYCBpcyBjYWxsZWQsIHRoZQpAQCAtODUsNyArODMsNyBAQAogICoKICAqIElmIHlvdSBuZWVkIHRvIGNsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3IgeW91IG9idGFpbmVkIGZyb20gYQogICogYGhvbGRfbG9ja19maWxlX2Zvcl8qKClgIGZ1bmN0aW9uIHlvdXJzZWxmLCBkbyBzbyBieSBjYWxsaW5nCi0gKiBgY2xvc2VfbG9ja19maWxlKClgLiBTZWUgInRlbXBmaWxlLmgiIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICogYGNsb3NlX2xvY2tfZmlsZV9nZW50bHkoKWAuIFNlZSAidGVtcGZpbGUuaCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAgKgogICoKICAqIFVuZGVyIHRoZSBjb3ZlcnMsIGEgbG9ja2ZpbGUgaXMganVzdCBhIHRlbXBmaWxlIHdpdGggYSBmZXcgaGVscGVyCkBAIC0xMDQsMTYgKzEwMiwxOCBAQAogICoKICAqIFNpbWlsYXJseSwgYGNvbW1pdF9sb2NrX2ZpbGVgLCBgY29tbWl0X2xvY2tfZmlsZV90b2AsIGFuZAogICogYGNsb3NlX2xvY2tfZmlsZWAgcmV0dXJuIDAgb24gc3VjY2Vzcy4gT24gZmFpbHVyZSB0aGV5IHNldCBgZXJybm9gCi0gKiBhcHByb3ByaWF0ZWx5LCBkbyB0aGVpciBiZXN0IHRvIHJvbGwgYmFjayB0aGUgbG9ja2ZpbGUsIGFuZCByZXR1cm4KLSAqIC0xLgorICogYXBwcm9wcmlhdGVseSBhbmQgcmV0dXJuIC0xLiBUaGUgYGNvbW1pdGAgdmFyaWFudHMgKGJ1dCBub3QgYGNsb3NlYCkKKyAqIGRvIHRoZWlyIGJlc3QgdG8gZGVsZXRlIHRoZSB0ZW1wb3JhcnkgZmlsZSBiZWZvcmUgcmV0dXJuaW5nLgogICovCiAKICNpbmNsdWRlICJ0ZW1wZmlsZS5oIgogCiBzdHJ1Y3QgbG9ja19maWxlIHsKLQlzdHJ1Y3QgdGVtcGZpbGUgdGVtcGZpbGU7CisJc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZTsKIH07CiAKKyNkZWZpbmUgTE9DS19JTklUIHsgTlVMTCB9CisKIC8qIFN0cmluZyBhcHBlbmRlZCB0byBhIGZpbGVuYW1lIHRvIGRlcml2ZSB0aGUgbG9ja2ZpbGUgbmFtZTogKi8KICNkZWZpbmUgTE9DS19TVUZGSVggIi5sb2NrIgogI2RlZmluZSBMT0NLX1NVRkZJWF9MRU4gNQpAQCAtMTc2LDYgKzE3NiwxNCBAQAogfQogCiAvKgorICogUmV0dXJuIGEgbm9uemVybyB2YWx1ZSBpZmYgYGxrYCBpcyBjdXJyZW50bHkgbG9ja2VkLgorICovCitzdGF0aWMgaW5saW5lIGludCBpc19sb2NrX2ZpbGVfbG9ja2VkKHN0cnVjdCBsb2NrX2ZpbGUgKmxrKQoreworCXJldHVybiBpc190ZW1wZmlsZV9hY3RpdmUobGstPnRlbXBmaWxlKTsKK30KKworLyoKICAqIEFwcGVuZCBhbiBhcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlIHRvIGBidWZgIGZvbGxvd2luZyB0aGUgZmFpbHVyZQogICogb2YgYGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoKWAgdG8gbG9jayBgcGF0aGAuIGBlcnJgIHNob3VsZCBiZSB0aGUKICAqIGBlcnJub2Agc2V0IGJ5IHRoZSBmYWlsaW5nIGNhbGwuCkBAIC0xOTQsMTIgKzIwMiwxMyBAQAogLyoKICAqIEFzc29jaWF0ZSBhIHN0ZGlvIHN0cmVhbSB3aXRoIHRoZSBsb2NrZmlsZSAod2hpY2ggbXVzdCBzdGlsbCBiZQogICogb3BlbikuIFJldHVybiBgTlVMTGAgKCp3aXRob3V0KiByb2xsaW5nIGJhY2sgdGhlIGxvY2tmaWxlKSBvbgotICogZXJyb3IuIFRoZSBzdHJlYW0gaXMgY2xvc2VkIGF1dG9tYXRpY2FsbHkgd2hlbiBgY2xvc2VfbG9ja19maWxlKClgCi0gKiBpcyBjYWxsZWQgb3Igd2hlbiB0aGUgZmlsZSBpcyBjb21taXR0ZWQgb3Igcm9sbGVkIGJhY2suCisgKiBlcnJvci4gVGhlIHN0cmVhbSBpcyBjbG9zZWQgYXV0b21hdGljYWxseSB3aGVuCisgKiBgY2xvc2VfbG9ja19maWxlX2dlbnRseSgpYCBpcyBjYWxsZWQgb3Igd2hlbiB0aGUgZmlsZSBpcyBjb21taXR0ZWQgb3IKKyAqIHJvbGxlZCBiYWNrLgogICovCiBzdGF0aWMgaW5saW5lIEZJTEUgKmZkb3Blbl9sb2NrX2ZpbGUoc3RydWN0IGxvY2tfZmlsZSAqbGssIGNvbnN0IGNoYXIgKm1vZGUpCiB7Ci0JcmV0dXJuIGZkb3Blbl90ZW1wZmlsZSgmbGstPnRlbXBmaWxlLCBtb2RlKTsKKwlyZXR1cm4gZmRvcGVuX3RlbXBmaWxlKGxrLT50ZW1wZmlsZSwgbW9kZSk7CiB9CiAKIC8qCkBAIC0yMDgsMTcgKzIxNywxNyBAQAogICovCiBzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmdldF9sb2NrX2ZpbGVfcGF0aChzdHJ1Y3QgbG9ja19maWxlICpsaykKIHsKLQlyZXR1cm4gZ2V0X3RlbXBmaWxlX3BhdGgoJmxrLT50ZW1wZmlsZSk7CisJcmV0dXJuIGdldF90ZW1wZmlsZV9wYXRoKGxrLT50ZW1wZmlsZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGdldF9sb2NrX2ZpbGVfZmQoc3RydWN0IGxvY2tfZmlsZSAqbGspCiB7Ci0JcmV0dXJuIGdldF90ZW1wZmlsZV9mZCgmbGstPnRlbXBmaWxlKTsKKwlyZXR1cm4gZ2V0X3RlbXBmaWxlX2ZkKGxrLT50ZW1wZmlsZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRklMRSAqZ2V0X2xvY2tfZmlsZV9mcChzdHJ1Y3QgbG9ja19maWxlICpsaykKIHsKLQlyZXR1cm4gZ2V0X3RlbXBmaWxlX2ZwKCZsay0+dGVtcGZpbGUpOworCXJldHVybiBnZXRfdGVtcGZpbGVfZnAobGstPnRlbXBmaWxlKTsKIH0KIAogLyoKQEAgLTIzMywyMiArMjQyLDIxIEBACiAgKiBsb2NrZmlsZSBvdmVyIHRoZSBmaWxlIGJlaW5nIGxvY2tlZC4gUmV0dXJuIDAgdXBvbiBzdWNjZXNzLiBPbgogICogZmFpbHVyZSB0byBgY2xvc2UoMilgLCByZXR1cm4gYSBuZWdhdGl2ZSB2YWx1ZSBhbmQgcm9sbCBiYWNrIHRoZQogICogbG9jayBmaWxlLiBVc3VhbGx5IGBjb21taXRfbG9ja19maWxlKClgLCBgY29tbWl0X2xvY2tfZmlsZV90bygpYCwKLSAqIG9yIGByb2xsYmFja19sb2NrX2ZpbGUoKWAgc2hvdWxkIGV2ZW50dWFsbHkgYmUgY2FsbGVkIGlmCi0gKiBgY2xvc2VfbG9ja19maWxlKClgIHN1Y2NlZWRzLgorICogb3IgYHJvbGxiYWNrX2xvY2tfZmlsZSgpYCBzaG91bGQgZXZlbnR1YWxseSBiZSBjYWxsZWQuCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IGNsb3NlX2xvY2tfZmlsZShzdHJ1Y3QgbG9ja19maWxlICpsaykKK3N0YXRpYyBpbmxpbmUgaW50IGNsb3NlX2xvY2tfZmlsZV9nZW50bHkoc3RydWN0IGxvY2tfZmlsZSAqbGspCiB7Ci0JcmV0dXJuIGNsb3NlX3RlbXBmaWxlKCZsay0+dGVtcGZpbGUpOworCXJldHVybiBjbG9zZV90ZW1wZmlsZV9nZW50bHkobGstPnRlbXBmaWxlKTsKIH0KIAogLyoKLSAqIFJlLW9wZW4gYSBsb2NrZmlsZSB0aGF0IGhhcyBiZWVuIGNsb3NlZCB1c2luZyBgY2xvc2VfbG9ja19maWxlKClgCisgKiBSZS1vcGVuIGEgbG9ja2ZpbGUgdGhhdCBoYXMgYmVlbiBjbG9zZWQgdXNpbmcgYGNsb3NlX2xvY2tfZmlsZV9nZW50bHkoKWAKICAqIGJ1dCBub3QgeWV0IGNvbW1pdHRlZCBvciByb2xsZWQgYmFjay4gVGhpcyBjYW4gYmUgdXNlZCB0byBpbXBsZW1lbnQKICAqIGEgc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucyBsaWtlIHRoZSBmb2xsb3dpbmc6CiAgKgogICogKiBMb2NrIGZpbGUuCiAgKgotICogKiBXcml0ZSBuZXcgY29udGVudHMgdG8gbG9ja2ZpbGUsIHRoZW4gYGNsb3NlX2xvY2tfZmlsZSgpYCB0bworICogKiBXcml0ZSBuZXcgY29udGVudHMgdG8gbG9ja2ZpbGUsIHRoZW4gYGNsb3NlX2xvY2tfZmlsZV9nZW50bHkoKWAgdG8KICAqICAgY2F1c2UgdGhlIGNvbnRlbnRzIHRvIGJlIHdyaXR0ZW4gdG8gZGlzay4KICAqCiAgKiAqIFBhc3MgdGhlIG5hbWUgb2YgdGhlIGxvY2tmaWxlIHRvIGFub3RoZXIgcHJvZ3JhbSB0byBhbGxvdyBpdCAoYW5kCkBAIC0yNjIsNyArMjcwLDcgQEAKICAqLwogc3RhdGljIGlubGluZSBpbnQgcmVvcGVuX2xvY2tfZmlsZShzdHJ1Y3QgbG9ja19maWxlICpsaykKIHsKLQlyZXR1cm4gcmVvcGVuX3RlbXBmaWxlKCZsay0+dGVtcGZpbGUpOworCXJldHVybiByZW9wZW5fdGVtcGZpbGUobGstPnRlbXBmaWxlKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2xvZy10cmVlLmMgYi9sb2ctdHJlZS5jCmluZGV4IDhjMjQxNTcuLmNlYTA1NjIgMTAwNjQ0Ci0tLSBhL2xvZy10cmVlLmMKKysrIGIvbG9nLXRyZWUuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJ0YWcuaCIKQEAgLTEwNSwxMyArMTA2LDEzIEBACiAJCQl3YXJuaW5nKCJpbnZhbGlkIHJlcGxhY2UgcmVmICVzIiwgcmVmbmFtZSk7CiAJCQlyZXR1cm4gMDsKIAkJfQotCQlvYmogPSBwYXJzZV9vYmplY3Qob3JpZ2luYWxfb2lkLmhhc2gpOworCQlvYmogPSBwYXJzZV9vYmplY3QoJm9yaWdpbmFsX29pZCk7CiAJCWlmIChvYmopCiAJCQlhZGRfbmFtZV9kZWNvcmF0aW9uKERFQ09SQVRJT05fR1JBRlRFRCwgInJlcGxhY2VkIiwgb2JqKTsKIAkJcmV0dXJuIDA7CiAJfQogCi0Jb2JqID0gcGFyc2Vfb2JqZWN0KG9pZC0+aGFzaCk7CisJb2JqID0gcGFyc2Vfb2JqZWN0KG9pZCk7CiAJaWYgKCFvYmopCiAJCXJldHVybiAwOwogCkBAIC0xMzIsNyArMTMzLDcgQEAKIAkJaWYgKCFvYmopCiAJCQlicmVhazsKIAkJaWYgKCFvYmotPnBhcnNlZCkKLQkJCXBhcnNlX29iamVjdChvYmotPm9pZC5oYXNoKTsKKwkJCXBhcnNlX29iamVjdCgmb2JqLT5vaWQpOwogCQlhZGRfbmFtZV9kZWNvcmF0aW9uKERFQ09SQVRJT05fUkVGX1RBRywgcmVmbmFtZSwgb2JqKTsKIAl9CiAJcmV0dXJuIDA7CkBAIC0xNDAsNyArMTQxLDcgQEAKIAogc3RhdGljIGludCBhZGRfZ3JhZnRfZGVjb3JhdGlvbihjb25zdCBzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdCwgdm9pZCAqY2JfZGF0YSkKIHsKLQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBsb29rdXBfY29tbWl0KGdyYWZ0LT5vaWQuaGFzaCk7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdCgmZ3JhZnQtPm9pZCk7CiAJaWYgKCFjb21taXQpCiAJCXJldHVybiAwOwogCWFkZF9uYW1lX2RlY29yYXRpb24oREVDT1JBVElPTl9HUkFGVEVELCAiZ3JhZnRlZCIsICZjb21taXQtPm9iamVjdCk7CkBAIC0xODQsNyArMTg1LDYgQEAKIHsKIAljb25zdCBzdHJ1Y3QgbmFtZV9kZWNvcmF0aW9uICpsaXN0LCAqaGVhZCA9IE5VTEw7CiAJY29uc3QgY2hhciAqYnJhbmNoX25hbWUgPSBOVUxMOwotCXVuc2lnbmVkIGNoYXIgdW51c2VkWzIwXTsKIAlpbnQgcnJ1X2ZsYWdzOwogCiAJLyogRmlyc3QgZmluZCBIRUFEICovCkBAIC0xOTcsNyArMTk3LDcgQEAKIAkJcmV0dXJuIE5VTEw7CiAKIAkvKiBOb3cgcmVzb2x2ZSBhbmQgZmluZCB0aGUgbWF0Y2hpbmcgY3VycmVudCBicmFuY2ggKi8KLQlicmFuY2hfbmFtZSA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIDAsIHVudXNlZCwgJnJydV9mbGFncyk7CisJYnJhbmNoX25hbWUgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCAwLCBOVUxMLCAmcnJ1X2ZsYWdzKTsKIAlpZiAoIShycnVfZmxhZ3MgJiBSRUZfSVNTWU1SRUYpKQogCQlyZXR1cm4gTlVMTDsKIApAQCAtMzMyLDM1ICszMzIsMzEgQEAKIAlzdHJidWZfcmVsZWFzZSgmc3ViamVjdCk7CiB9CiAKK3ZvaWQgZm10X291dHB1dF9lbWFpbF9zdWJqZWN0KHN0cnVjdCBzdHJidWYgKnNiLCBzdHJ1Y3QgcmV2X2luZm8gKm9wdCkKK3sKKwlpZiAob3B0LT50b3RhbCA+IDApIHsKKwkJc3RyYnVmX2FkZGYoc2IsICJTdWJqZWN0OiBbJXMlcyUwKmQvJWRdICIsCisJCQkgICAgb3B0LT5zdWJqZWN0X3ByZWZpeCwKKwkJCSAgICAqb3B0LT5zdWJqZWN0X3ByZWZpeCA/ICIgIiA6ICIiLAorCQkJICAgIGRpZ2l0c19pbl9udW1iZXIob3B0LT50b3RhbCksCisJCQkgICAgb3B0LT5uciwgb3B0LT50b3RhbCk7CisJfSBlbHNlIGlmIChvcHQtPnRvdGFsID09IDAgJiYgb3B0LT5zdWJqZWN0X3ByZWZpeCAmJiAqb3B0LT5zdWJqZWN0X3ByZWZpeCkgeworCQlzdHJidWZfYWRkZihzYiwgIlN1YmplY3Q6IFslc10gIiwKKwkJCSAgICBvcHQtPnN1YmplY3RfcHJlZml4KTsKKwl9IGVsc2UgeworCQlzdHJidWZfYWRkc3RyKHNiLCAiU3ViamVjdDogIik7CisJfQorfQorCiB2b2lkIGxvZ193cml0ZV9lbWFpbF9oZWFkZXJzKHN0cnVjdCByZXZfaW5mbyAqb3B0LCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCi0JCQkgICAgIGNvbnN0IGNoYXIgKipzdWJqZWN0X3AsCiAJCQkgICAgIGNvbnN0IGNoYXIgKipleHRyYV9oZWFkZXJzX3AsCiAJCQkgICAgIGludCAqbmVlZF84Yml0X2N0ZV9wKQogewotCWNvbnN0IGNoYXIgKnN1YmplY3QgPSBOVUxMOwogCWNvbnN0IGNoYXIgKmV4dHJhX2hlYWRlcnMgPSBvcHQtPmV4dHJhX2hlYWRlcnM7CiAJY29uc3QgY2hhciAqbmFtZSA9IG9pZF90b19oZXgob3B0LT56ZXJvX2NvbW1pdCA/CiAJCQkJICAgICAgJm51bGxfb2lkIDogJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAKIAkqbmVlZF84Yml0X2N0ZV9wID0gMDsgLyogdW5rbm93biAqLwotCWlmIChvcHQtPnRvdGFsID4gMCkgewotCQlzdGF0aWMgY2hhciBidWZmZXJbNjRdOwotCQlzbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpLAotCQkJICJTdWJqZWN0OiBbJXMlcyUwKmQvJWRdICIsCi0JCQkgb3B0LT5zdWJqZWN0X3ByZWZpeCwKLQkJCSAqb3B0LT5zdWJqZWN0X3ByZWZpeCA/ICIgIiA6ICIiLAotCQkJIGRpZ2l0c19pbl9udW1iZXIob3B0LT50b3RhbCksCi0JCQkgb3B0LT5uciwgb3B0LT50b3RhbCk7Ci0JCXN1YmplY3QgPSBidWZmZXI7Ci0JfSBlbHNlIGlmIChvcHQtPnRvdGFsID09IDAgJiYgb3B0LT5zdWJqZWN0X3ByZWZpeCAmJiAqb3B0LT5zdWJqZWN0X3ByZWZpeCkgewotCQlzdGF0aWMgY2hhciBidWZmZXJbMjU2XTsKLQkJc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwKLQkJCSAiU3ViamVjdDogWyVzXSAiLAotCQkJIG9wdC0+c3ViamVjdF9wcmVmaXgpOwotCQlzdWJqZWN0ID0gYnVmZmVyOwotCX0gZWxzZSB7Ci0JCXN1YmplY3QgPSAiU3ViamVjdDogIjsKLQl9CiAKIAlmcHJpbnRmKG9wdC0+ZGlmZm9wdC5maWxlLCAiRnJvbSAlcyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDFcbiIsIG5hbWUpOwogCWdyYXBoX3Nob3dfb25lbGluZShvcHQtPmdyYXBoKTsKQEAgLTQxNyw3ICs0MTMsNiBAQAogCQlvcHQtPmRpZmZvcHQuc3RhdF9zZXAgPSBidWZmZXI7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZmaWxlbmFtZSk7CiAJfQotCSpzdWJqZWN0X3AgPSBzdWJqZWN0OwogCSpleHRyYV9oZWFkZXJzX3AgPSBleHRyYV9oZWFkZXJzOwogfQogCkBAIC00NjEsMTMgKzQ1NiwxMyBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZzaWduYXR1cmUpOwogfQogCi1zdGF0aWMgaW50IHdoaWNoX3BhcmVudChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCitzdGF0aWMgaW50IHdoaWNoX3BhcmVudChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKIAlpbnQgbnRoOwogCWNvbnN0IHN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50OwogCiAJZm9yIChudGggPSAwLCBwYXJlbnQgPSBjb21taXQtPnBhcmVudHM7IHBhcmVudDsgcGFyZW50ID0gcGFyZW50LT5uZXh0KSB7Ci0JCWlmICghaGFzaGNtcChwYXJlbnQtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwgc2hhMSkpCisJCWlmICghb2lkY21wKCZwYXJlbnQtPml0ZW0tPm9iamVjdC5vaWQsIG9pZCkpCiAJCQlyZXR1cm4gbnRoOwogCQludGgrKzsKIAl9CkBAIC00ODYsMTQgKzQ4MSwxNCBAQAogCQkJICAgICAgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgcmV2X2luZm8gKm9wdCA9IChzdHJ1Y3QgcmV2X2luZm8gKilkYXRhOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJc3RydWN0IHRhZyAqdGFnOwogCXN0cnVjdCBzdHJidWYgdmVyaWZ5X21lc3NhZ2U7CiAJaW50IHN0YXR1cywgbnRoOwogCXNpemVfdCBwYXlsb2FkX3NpemUsIGdwZ19tZXNzYWdlX29mZnNldDsKIAotCWhhc2hfc2hhMV9maWxlKGV4dHJhLT52YWx1ZSwgZXh0cmEtPmxlbiwgdHlwZW5hbWUoT0JKX1RBRyksIHNoYTEpOwotCXRhZyA9IGxvb2t1cF90YWcoc2hhMSk7CisJaGFzaF9zaGExX2ZpbGUoZXh0cmEtPnZhbHVlLCBleHRyYS0+bGVuLCB0eXBlbmFtZShPQkpfVEFHKSwgb2lkLmhhc2gpOworCXRhZyA9IGxvb2t1cF90YWcoJm9pZCk7CiAJaWYgKCF0YWcpCiAJCXJldHVybjsgLyogZXJyb3IgbWVzc2FnZSBhbHJlYWR5IGdpdmVuICovCiAKQEAgLTUwNSw3ICs1MDAsNyBAQAogCQkJICAmY29tbWl0LT5wYXJlbnRzLT5uZXh0LT5pdGVtLT5vYmplY3Qub2lkKSkKIAkJc3RyYnVmX2FkZGYoJnZlcmlmeV9tZXNzYWdlLAogCQkJICAgICJtZXJnZWQgdGFnICclcydcbiIsIHRhZy0+dGFnKTsKLQllbHNlIGlmICgobnRoID0gd2hpY2hfcGFyZW50KHRhZy0+dGFnZ2VkLT5vaWQuaGFzaCwgY29tbWl0KSkgPCAwKQorCWVsc2UgaWYgKChudGggPSB3aGljaF9wYXJlbnQoJnRhZy0+dGFnZ2VkLT5vaWQsIGNvbW1pdCkpIDwgMCkKIAkJc3RyYnVmX2FkZGYoJnZlcmlmeV9tZXNzYWdlLCAidGFnICVzIG5hbWVzIGEgbm9uLXBhcmVudCAlc1xuIiwKIAkJCQkgICAgdGFnLT50YWcsIHRhZy0+dGFnZ2VkLT5vaWQuaGFzaCk7CiAJZWxzZQpAQCAtNTQxLDcgKzUzNiw3IEBACiAJc3RydWN0IHN0cmJ1ZiBtc2didWYgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3QgbG9nX2luZm8gKmxvZyA9IG9wdC0+bG9naW5mbzsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBsb2ctPmNvbW1pdCwgKnBhcmVudCA9IGxvZy0+cGFyZW50OwotCWludCBhYmJyZXZfY29tbWl0ID0gb3B0LT5hYmJyZXZfY29tbWl0ID8gb3B0LT5hYmJyZXYgOiA0MDsKKwlpbnQgYWJicmV2X2NvbW1pdCA9IG9wdC0+YWJicmV2X2NvbW1pdCA/IG9wdC0+YWJicmV2IDogR0lUX1NIQTFfSEVYU1o7CiAJY29uc3QgY2hhciAqZXh0cmFfaGVhZGVycyA9IG9wdC0+ZXh0cmFfaGVhZGVyczsKIAlzdHJ1Y3QgcHJldHR5X3ByaW50X2NvbnRleHQgY3R4ID0gezB9OwogCkBAIC02MDIsOCArNTk3LDEwIEBACiAJICovCiAKIAlpZiAoY21pdF9mbXRfaXNfbWFpbChvcHQtPmNvbW1pdF9mb3JtYXQpKSB7Ci0JCWxvZ193cml0ZV9lbWFpbF9oZWFkZXJzKG9wdCwgY29tbWl0LCAmY3R4LnN1YmplY3QsICZleHRyYV9oZWFkZXJzLAorCQlsb2dfd3JpdGVfZW1haWxfaGVhZGVycyhvcHQsIGNvbW1pdCwgJmV4dHJhX2hlYWRlcnMsCiAJCQkJCSZjdHgubmVlZF84Yml0X2N0ZSk7CisJCWN0eC5yZXYgPSBvcHQ7CisJCWN0eC5wcmludF9lbWFpbF9zdWJqZWN0ID0gMTsKIAl9IGVsc2UgaWYgKG9wdC0+Y29tbWl0X2Zvcm1hdCAhPSBDTUlUX0ZNVF9VU0VSRk9STUFUKSB7CiAJCWZwdXRzKGRpZmZfZ2V0X2NvbG9yX29wdCgmb3B0LT5kaWZmb3B0LCBESUZGX0NPTU1JVCksIG9wdC0+ZGlmZm9wdC5maWxlKTsKIAkJaWYgKG9wdC0+Y29tbWl0X2Zvcm1hdCAhPSBDTUlUX0ZNVF9PTkVMSU5FKQpAQCAtNjU4LDcgKzY1NSw3IEBACiAJCXN0cnVjdCBzdHJidWYgbm90ZWJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJCXJhdyA9IChvcHQtPmNvbW1pdF9mb3JtYXQgPT0gQ01JVF9GTVRfVVNFUkZPUk1BVCk7Ci0JCWZvcm1hdF9kaXNwbGF5X25vdGVzKGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCAmbm90ZWJ1ZiwKKwkJZm9ybWF0X2Rpc3BsYXlfbm90ZXMoJmNvbW1pdC0+b2JqZWN0Lm9pZCwgJm5vdGVidWYsCiAJCQkJICAgICBnZXRfbG9nX291dHB1dF9lbmNvZGluZygpLCByYXcpOwogCQljdHgubm90ZXNfbWVzc2FnZSA9IG5vdGVidWYubGVuCiAJCQk/IHN0cmJ1Zl9kZXRhY2goJm5vdGVidWYsIE5VTEwpCkBAIC04MDYsNyArODAzLDcgQEAKIAlwYXJlbnRzID0gZ2V0X3NhdmVkX3BhcmVudHMob3B0LCBjb21taXQpOwogCWlmICghcGFyZW50cykgewogCQlpZiAob3B0LT5zaG93X3Jvb3RfZGlmZikgewotCQkJZGlmZl9yb290X3RyZWVfc2hhMShvaWQtPmhhc2gsICIiLCAmb3B0LT5kaWZmb3B0KTsKKwkJCWRpZmZfcm9vdF90cmVlX29pZChvaWQsICIiLCAmb3B0LT5kaWZmb3B0KTsKIAkJCWxvZ190cmVlX2RpZmZfZmx1c2gob3B0KTsKIAkJfQogCQlyZXR1cm4gIW9wdC0+bG9naW5mbzsKQEAgLTgyNSw4ICs4MjIsOCBAQAogCQkJICogd2UgbWVyZ2VkIF9pbl8uCiAJCQkgKi8KIAkJCXBhcnNlX2NvbW1pdF9vcl9kaWUocGFyZW50cy0+aXRlbSk7Ci0JCQlkaWZmX3RyZWVfc2hhMShwYXJlbnRzLT5pdGVtLT50cmVlLT5vYmplY3Qub2lkLmhhc2gsCi0JCQkJICAgICAgIG9pZC0+aGFzaCwgIiIsICZvcHQtPmRpZmZvcHQpOworCQkJZGlmZl90cmVlX29pZCgmcGFyZW50cy0+aXRlbS0+dHJlZS0+b2JqZWN0Lm9pZCwKKwkJCQkgICAgICBvaWQsICIiLCAmb3B0LT5kaWZmb3B0KTsKIAkJCWxvZ190cmVlX2RpZmZfZmx1c2gob3B0KTsKIAkJCXJldHVybiAhb3B0LT5sb2dpbmZvOwogCQl9CkBAIC04NDAsOCArODM3LDggQEAKIAkJc3RydWN0IGNvbW1pdCAqcGFyZW50ID0gcGFyZW50cy0+aXRlbTsKIAogCQlwYXJzZV9jb21taXRfb3JfZGllKHBhcmVudCk7Ci0JCWRpZmZfdHJlZV9zaGExKHBhcmVudC0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJICAgICAgIG9pZC0+aGFzaCwgIiIsICZvcHQtPmRpZmZvcHQpOworCQlkaWZmX3RyZWVfb2lkKCZwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQsCisJCQkgICAgICBvaWQsICIiLCAmb3B0LT5kaWZmb3B0KTsKIAkJbG9nX3RyZWVfZGlmZl9mbHVzaChvcHQpOwogCiAJCXNob3dlZF9sb2cgfD0gIW9wdC0+bG9naW5mbzsKZGlmZiAtLWdpdCBhL2xvZy10cmVlLmggYi9sb2ctdHJlZS5oCmluZGV4IGM4MTE2ZTYuLjQ4ZjExZmIgMTAwNjQ0Ci0tLSBhL2xvZy10cmVlLmgKKysrIGIvbG9nLXRyZWUuaApAQCAtMjIsNyArMjIsNiBAQAogCQkJICAgICBmb3JtYXRfZGVjb3JhdGlvbnNfZXh0ZW5kZWQoKHN0cmJ1ZiksIChjb21taXQpLCAoY29sb3IpLCAiICgiLCAiLCAiLCAiKSIpCiB2b2lkIHNob3dfZGVjb3JhdGlvbnMoc3RydWN0IHJldl9pbmZvICpvcHQsIHN0cnVjdCBjb21taXQgKmNvbW1pdCk7CiB2b2lkIGxvZ193cml0ZV9lbWFpbF9oZWFkZXJzKHN0cnVjdCByZXZfaW5mbyAqb3B0LCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCi0JCQkgICAgIGNvbnN0IGNoYXIgKipzdWJqZWN0X3AsCiAJCQkgICAgIGNvbnN0IGNoYXIgKipleHRyYV9oZWFkZXJzX3AsCiAJCQkgICAgIGludCAqbmVlZF84Yml0X2N0ZV9wKTsKIHZvaWQgbG9hZF9yZWZfZGVjb3JhdGlvbnMoaW50IGZsYWdzKTsKQEAgLTMwLDUgKzI5LDYgQEAKICNkZWZpbmUgRk9STUFUX1BBVENIX05BTUVfTUFYIDY0CiB2b2lkIGZtdF9vdXRwdXRfY29tbWl0KHN0cnVjdCBzdHJidWYgKiwgc3RydWN0IGNvbW1pdCAqLCBzdHJ1Y3QgcmV2X2luZm8gKik7CiB2b2lkIGZtdF9vdXRwdXRfc3ViamVjdChzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKnN1YmplY3QsIHN0cnVjdCByZXZfaW5mbyAqKTsKK3ZvaWQgZm10X291dHB1dF9lbWFpbF9zdWJqZWN0KHN0cnVjdCBzdHJidWYgKiwgc3RydWN0IHJldl9pbmZvICopOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL21haWxpbmZvLmMgYi9tYWlsaW5mby5jCmluZGV4IGE0ODlkOWQuLmE4OWRiMjIgMTAwNjQ0Ci0tLSBhL21haWxpbmZvLmMKKysrIGIvbWFpbGluZm8uYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInV0ZjguaCIKICNpbmNsdWRlICJzdHJidWYuaCIKICNpbmNsdWRlICJtYWlsaW5mby5oIgpAQCAtNTcsMTcgKzU4LDE3IEBACiBzdGF0aWMgY29uc3QgY2hhciAqdW5xdW90ZV9jb21tZW50KHN0cnVjdCBzdHJidWYgKm91dGJ1ZiwgY29uc3QgY2hhciAqaW4pCiB7CiAJaW50IGM7Ci0JaW50IHRha2VfbmV4dF9saXR0ZXJhbGx5ID0gMDsKKwlpbnQgdGFrZV9uZXh0X2xpdGVyYWxseSA9IDA7CiAKIAlzdHJidWZfYWRkY2gob3V0YnVmLCAnKCcpOwogCiAJd2hpbGUgKChjID0gKmluKyspICE9IDApIHsKLQkJaWYgKHRha2VfbmV4dF9saXR0ZXJhbGx5ID09IDEpIHsKLQkJCXRha2VfbmV4dF9saXR0ZXJhbGx5ID0gMDsKKwkJaWYgKHRha2VfbmV4dF9saXRlcmFsbHkgPT0gMSkgeworCQkJdGFrZV9uZXh0X2xpdGVyYWxseSA9IDA7CiAJCX0gZWxzZSB7CiAJCQlzd2l0Y2ggKGMpIHsKIAkJCWNhc2UgJ1xcJzoKLQkJCQl0YWtlX25leHRfbGl0dGVyYWxseSA9IDE7CisJCQkJdGFrZV9uZXh0X2xpdGVyYWxseSA9IDE7CiAJCQkJY29udGludWU7CiAJCQljYXNlICcoJzoKIAkJCQlpbiA9IHVucXVvdGVfY29tbWVudChvdXRidWYsIGluKTsKQEAgLTg3LDE1ICs4OCwxNSBAQAogc3RhdGljIGNvbnN0IGNoYXIgKnVucXVvdGVfcXVvdGVkX3N0cmluZyhzdHJ1Y3Qgc3RyYnVmICpvdXRidWYsIGNvbnN0IGNoYXIgKmluKQogewogCWludCBjOwotCWludCB0YWtlX25leHRfbGl0dGVyYWxseSA9IDA7CisJaW50IHRha2VfbmV4dF9saXRlcmFsbHkgPSAwOwogCiAJd2hpbGUgKChjID0gKmluKyspICE9IDApIHsKLQkJaWYgKHRha2VfbmV4dF9saXR0ZXJhbGx5ID09IDEpIHsKLQkJCXRha2VfbmV4dF9saXR0ZXJhbGx5ID0gMDsKKwkJaWYgKHRha2VfbmV4dF9saXRlcmFsbHkgPT0gMSkgeworCQkJdGFrZV9uZXh0X2xpdGVyYWxseSA9IDA7CiAJCX0gZWxzZSB7CiAJCQlzd2l0Y2ggKGMpIHsKIAkJCWNhc2UgJ1xcJzoKLQkJCQl0YWtlX25leHRfbGl0dGVyYWxseSA9IDE7CisJCQkJdGFrZV9uZXh0X2xpdGVyYWxseSA9IDE7CiAJCQkJY29udGludWU7CiAJCQljYXNlICciJzoKIAkJCQlyZXR1cm4gaW47CkBAIC0xNDgsMTYgKzE0OSwxNCBAQAogCWF0ID0gc3RyY2hyKGYuYnVmLCAnQCcpOwogCWlmICghYXQpIHsKIAkJcGFyc2VfYm9ndXNfZnJvbShtaSwgZnJvbSk7Ci0JCXJldHVybjsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyoKIAkgKiBJZiB3ZSBhbHJlYWR5IGhhdmUgb25lIGVtYWlsLCBkb24ndCB0YWtlIGFueSBjb25mdXNpbmcgbGluZXMKIAkgKi8KLQlpZiAobWktPmVtYWlsLmxlbiAmJiBzdHJjaHIoYXQgKyAxLCAnQCcpKSB7Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZmKTsKLQkJcmV0dXJuOwotCX0KKwlpZiAobWktPmVtYWlsLmxlbiAmJiBzdHJjaHIoYXQgKyAxLCAnQCcpKQorCQlnb3RvIG91dDsKIAogCS8qIFBpY2sgdXAgdGhlIHN0cmluZyBhcm91bmQgJ0AnLCBwb3NzaWJseSBkZWxpbWl0ZWQgd2l0aCA8PgogCSAqIHBhaXI7IHRoYXQgaXMgdGhlIGVtYWlsIHBhcnQuCkBAIC0xOTcsNiArMTk2LDcgQEAKIAl9CiAKIAlnZXRfc2FuZV9uYW1lKCZtaS0+bmFtZSwgJmYsICZtaS0+ZW1haWwpOworb3V0OgogCXN0cmJ1Zl9yZWxlYXNlKCZmKTsKIH0KIApAQCAtMzY3LDExICszNjcsMTYgQEAKIAogCXdoaWxlICgoYyA9ICppbisrKSAhPSAwKSB7CiAJCWlmIChjID09ICc9JykgewotCQkJaW50IGQgPSAqaW4rKzsKKwkJCWludCBjaCwgZCA9ICppbjsKIAkJCWlmIChkID09ICdcbicgfHwgIWQpCiAJCQkJYnJlYWs7IC8qIGRyb3AgdHJhaWxpbmcgbmV3bGluZSAqLwotCQkJc3RyYnVmX2FkZGNoKG91dCwgKGhleHZhbChkKSA8PCA0KSB8IGhleHZhbCgqaW4rKykpOwotCQkJY29udGludWU7CisJCQljaCA9IGhleDJjaHIoaW4pOworCQkJaWYgKGNoID49IDApIHsKKwkJCQlzdHJidWZfYWRkY2gob3V0LCBjaCk7CisJCQkJaW4gKz0gMjsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCS8qIGdhcmJhZ2UgLS0gZmFsbCB0aHJvdWdoICovCiAJCX0KIAkJaWYgKHJmYzIwNDcgJiYgYyA9PSAnXycpIC8qIHJmYzIwNDcgNC4yICgyKSAqLwogCQkJYyA9IDB4MjA7CkBAIC03NTcsOCArNzYyLDEzIEBACiAJYXNzZXJ0KCFtaS0+ZmlsdGVyX3N0YWdlKTsKIAogCWlmIChtaS0+aGVhZGVyX3N0YWdlKSB7Ci0JCWlmICghbGluZS0+bGVuIHx8IChsaW5lLT5sZW4gPT0gMSAmJiBsaW5lLT5idWZbMF0gPT0gJ1xuJykpCisJCWlmICghbGluZS0+bGVuIHx8IChsaW5lLT5sZW4gPT0gMSAmJiBsaW5lLT5idWZbMF0gPT0gJ1xuJykpIHsKKwkJCWlmIChtaS0+aW5ib2R5X2hlYWRlcl9hY2N1bS5sZW4pIHsKKwkJCQlmbHVzaF9pbmJvZHlfaGVhZGVyX2FjY3VtKG1pKTsKKwkJCQltaS0+aGVhZGVyX3N0YWdlID0gMDsKKwkJCX0KIAkJCXJldHVybiAwOworCQl9CiAJfQogCiAJaWYgKG1pLT51c2VfaW5ib2R5X2hlYWRlcnMgJiYgbWktPmhlYWRlcl9zdGFnZSkgewpAQCAtODE3LDYgKzgyNyw3IEBACiAJCWlmICghaGFuZGxlX2NvbW1pdF9tc2cobWksIGxpbmUpKQogCQkJYnJlYWs7CiAJCW1pLT5maWx0ZXJfc3RhZ2UrKzsKKwkJLyogZmFsbHRocm91Z2ggKi8KIAljYXNlIDE6CiAJCWhhbmRsZV9wYXRjaChtaSwgbGluZSk7CiAJCWJyZWFrOwpAQCAtODc3LDcgKzg4OCwxMCBAQAogCWZvciAoOzspIHsKIAkJaW50IHBlZWs7CiAKLQkJcGVlayA9IGZnZXRjKGluKTsgdW5nZXRjKHBlZWssIGluKTsKKwkJcGVlayA9IGZnZXRjKGluKTsKKwkJaWYgKHBlZWsgPT0gRU9GKQorCQkJYnJlYWs7CisJCXVuZ2V0YyhwZWVrLCBpbik7CiAJCWlmIChwZWVrICE9ICcgJyAmJiBwZWVrICE9ICdcdCcpCiAJCQlicmVhazsKIAkJaWYgKHN0cmJ1Zl9nZXRsaW5lX2xmKCZjb250aW51YXRpb24sIGluKSkKQEAgLTkxMSw4ICs5MjUsNyBAQAogCQkvKiB3ZSBoaXQgYW4gZW5kIGJvdW5kYXJ5ICovCiAJCS8qIHBvcCB0aGUgY3VycmVudCBib3VuZGFyeSBvZmYgdGhlIHN0YWNrICovCiAJCXN0cmJ1Zl9yZWxlYXNlKCoobWktPmNvbnRlbnRfdG9wKSk7Ci0JCWZyZWUoKihtaS0+Y29udGVudF90b3ApKTsKLQkJKihtaS0+Y29udGVudF90b3ApID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTCgqKG1pLT5jb250ZW50X3RvcCkpOwogCiAJCS8qIHRlY2huaWNhbGx5IHdvbid0IGhhcHBlbiBhcyBpc19tdWx0aXBhcnRfYm91bmRhcnkoKQogCQkgICB3aWxsIGZhaWwgZmlyc3QuICBCdXQganVzdCBpbiBjYXNlLi4KQEAgLTkyMSw2ICs5MzQsNyBAQAogCQkJZXJyb3IoIkRldGVjdGVkIG1pc21hdGNoZWQgYm91bmRhcmllcywgY2FuJ3QgcmVjb3ZlciIpOwogCQkJbWktPmlucHV0X2Vycm9yID0gLTE7CiAJCQltaS0+Y29udGVudF90b3AgPSBtaS0+Y29udGVudDsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZuZXdsaW5lKTsKIAkJCXJldHVybiAwOwogCQl9CiAJCWhhbmRsZV9maWx0ZXIobWksICZuZXdsaW5lKTsKQEAgLTEwOTQsNiArMTEwOCwxMCBAQAogCiAJZG8gewogCQlwZWVrID0gZmdldGMobWktPmlucHV0KTsKKwkJaWYgKHBlZWsgPT0gRU9GKSB7CisJCQlmY2xvc2UoY21pdG1zZyk7CisJCQlyZXR1cm4gZXJyb3IoImVtcHR5IHBhdGNoOiAnJXMnIiwgcGF0Y2gpOworCQl9CiAJfSB3aGlsZSAoaXNzcGFjZShwZWVrKSk7CiAJdW5nZXRjKHBlZWssIG1pLT5pbnB1dCk7CiAKZGlmZiAtLWdpdCBhL21haWxtYXAuYyBiL21haWxtYXAuYwppbmRleCBjMWE3OWMxLi5jYjkyMWI0IDEwMDY0NAotLS0gYS9tYWlsbWFwLmMKKysrIGIvbWFpbG1hcC5jCkBAIC0yMTQsMTcgKzIxNCwxNyBAQAogCQkJICAgICBjb25zdCBjaGFyICpuYW1lLAogCQkJICAgICBjaGFyICoqcmVwb19hYmJyZXYpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAljaGFyICpidWY7CiAJdW5zaWduZWQgbG9uZyBzaXplOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAogCWlmICghbmFtZSkKIAkJcmV0dXJuIDA7Ci0JaWYgKGdldF9zaGExKG5hbWUsIHNoYTEpIDwgMCkKKwlpZiAoZ2V0X29pZChuYW1lLCAmb2lkKSA8IDApCiAJCXJldHVybiAwOwogCi0JYnVmID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZzaXplKTsKKwlidWYgPSByZWFkX3NoYTFfZmlsZShvaWQuaGFzaCwgJnR5cGUsICZzaXplKTsKIAlpZiAoIWJ1ZikKIAkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gcmVhZCBtYWlsbWFwIG9iamVjdCBhdCAlcyIsIG5hbWUpOwogCWlmICh0eXBlICE9IE9CSl9CTE9CKQpkaWZmIC0tZ2l0IGEvbWVyZ2UtcmVjdXJzaXZlLmMgYi9tZXJnZS1yZWN1cnNpdmUuYwppbmRleCBiN2ZmMWFkLi4xZDNmOGYwIDEwMDY0NAotLS0gYS9tZXJnZS1yZWN1cnNpdmUuYworKysgYi9tZXJnZS1yZWN1cnNpdmUuYwpAQCAtNCw2ICs0LDcgQEAKICAqIFRoZSB0aGlldmVzIHdlcmUgQWxleCBSaWVzZW4gYW5kIEpvaGFubmVzIFNjaGluZGVsaW4sIGluIEp1bmUvSnVseSAyMDA2CiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImFkdmljZS5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgpAQCAtMjMsNiArMjQsMzEgQEAKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJzdWJtb2R1bGUuaCIKIAorc3RydWN0IHBhdGhfaGFzaG1hcF9lbnRyeSB7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZTsKKwljaGFyIHBhdGhbRkxFWF9BUlJBWV07Cit9OworCitzdGF0aWMgaW50IHBhdGhfaGFzaG1hcF9jbXAoY29uc3Qgdm9pZCAqY21wX2RhdGEsCisJCQkgICAgY29uc3Qgdm9pZCAqZW50cnksCisJCQkgICAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJICAgIGNvbnN0IHZvaWQgKmtleWRhdGEpCit7CisJY29uc3Qgc3RydWN0IHBhdGhfaGFzaG1hcF9lbnRyeSAqYSA9IGVudHJ5OworCWNvbnN0IHN0cnVjdCBwYXRoX2hhc2htYXBfZW50cnkgKmIgPSBlbnRyeV9vcl9rZXk7CisJY29uc3QgY2hhciAqa2V5ID0ga2V5ZGF0YTsKKworCWlmIChpZ25vcmVfY2FzZSkKKwkJcmV0dXJuIHN0cmNhc2VjbXAoYS0+cGF0aCwga2V5ID8ga2V5IDogYi0+cGF0aCk7CisJZWxzZQorCQlyZXR1cm4gc3RyY21wKGEtPnBhdGgsIGtleSA/IGtleSA6IGItPnBhdGgpOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHBhdGhfaGFzaChjb25zdCBjaGFyICpwYXRoKQoreworCXJldHVybiBpZ25vcmVfY2FzZSA/IHN0cmloYXNoKHBhdGgpIDogc3RyaGFzaChwYXRoKTsKK30KKwogc3RhdGljIHZvaWQgZmx1c2hfb3V0cHV0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvKQogewogCWlmIChvLT5idWZmZXJfb3V0cHV0IDwgMiAmJiBvLT5vYnVmLmxlbikgewpAQCAtNjcsNyArOTMsNyBAQAogCX0KIAlpZiAoIW9pZGNtcCgmdHdvLT5vYmplY3Qub2lkLCAmc2hpZnRlZCkpCiAJCXJldHVybiB0d287Ci0JcmV0dXJuIGxvb2t1cF90cmVlKHNoaWZ0ZWQuaGFzaCk7CisJcmV0dXJuIGxvb2t1cF90cmVlKCZzaGlmdGVkKTsKIH0KIAogc3RhdGljIHN0cnVjdCBjb21taXQgKm1ha2VfdmlydHVhbF9jb21taXQoc3RydWN0IHRyZWUgKnRyZWUsIGNvbnN0IGNoYXIgKmNvbW1lbnQpCkBAIC0zMDQsNyArMzMwLDcgQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JcmVzdWx0ID0gbG9va3VwX3RyZWUoYWN0aXZlX2NhY2hlX3RyZWUtPnNoYTEpOworCXJlc3VsdCA9IGxvb2t1cF90cmVlKCZhY3RpdmVfY2FjaGVfdHJlZS0+b2lkKTsKIAogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0zMTMsMjkgKzMzOSwyNSBAQAogCQlzdHJ1Y3Qgc3RyYnVmICpiYXNlLCBjb25zdCBjaGFyICpwYXRoLAogCQl1bnNpZ25lZCBpbnQgbW9kZSwgaW50IHN0YWdlLCB2b2lkICpjb250ZXh0KQogeworCXN0cnVjdCBwYXRoX2hhc2htYXBfZW50cnkgKmVudHJ5OwogCWludCBiYXNlbGVuID0gYmFzZS0+bGVuOwogCXN0cnVjdCBtZXJnZV9vcHRpb25zICpvID0gY29udGV4dDsKIAogCXN0cmJ1Zl9hZGRzdHIoYmFzZSwgcGF0aCk7CiAKLQlpZiAoU19JU0RJUihtb2RlKSkKLQkJc3RyaW5nX2xpc3RfaW5zZXJ0KCZvLT5jdXJyZW50X2RpcmVjdG9yeV9zZXQsIGJhc2UtPmJ1Zik7Ci0JZWxzZQotCQlzdHJpbmdfbGlzdF9pbnNlcnQoJm8tPmN1cnJlbnRfZmlsZV9zZXQsIGJhc2UtPmJ1Zik7CisJRkxFWF9BTExPQ19NRU0oZW50cnksIHBhdGgsIGJhc2UtPmJ1ZiwgYmFzZS0+bGVuKTsKKwloYXNobWFwX2VudHJ5X2luaXQoZW50cnksIHBhdGhfaGFzaChlbnRyeS0+cGF0aCkpOworCWhhc2htYXBfYWRkKCZvLT5jdXJyZW50X2ZpbGVfZGlyX3NldCwgZW50cnkpOwogCiAJc3RyYnVmX3NldGxlbihiYXNlLCBiYXNlbGVuKTsKIAlyZXR1cm4gKFNfSVNESVIobW9kZSkgPyBSRUFEX1RSRUVfUkVDVVJTSVZFIDogMCk7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2ZpbGVzX2RpcnMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIHN0cnVjdCB0cmVlICp0cmVlKQorc3RhdGljIHZvaWQgZ2V0X2ZpbGVzX2RpcnMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIHN0cnVjdCB0cmVlICp0cmVlKQogewotCWludCBuOwogCXN0cnVjdCBwYXRoc3BlYyBtYXRjaF9hbGw7CiAJbWVtc2V0KCZtYXRjaF9hbGwsIDAsIHNpemVvZihtYXRjaF9hbGwpKTsKLQlpZiAocmVhZF90cmVlX3JlY3Vyc2l2ZSh0cmVlLCAiIiwgMCwgMCwgJm1hdGNoX2FsbCwgc2F2ZV9maWxlc19kaXJzLCBvKSkKLQkJcmV0dXJuIDA7Ci0JbiA9IG8tPmN1cnJlbnRfZmlsZV9zZXQubnIgKyBvLT5jdXJyZW50X2RpcmVjdG9yeV9zZXQubnI7Ci0JcmV0dXJuIG47CisJcmVhZF90cmVlX3JlY3Vyc2l2ZSh0cmVlLCAiIiwgMCwgMCwgJm1hdGNoX2FsbCwgc2F2ZV9maWxlc19kaXJzLCBvKTsKIH0KIAogLyoKQEAgLTUyOCw3ICs1NTAsNyBAQAogCW9wdHMuc2hvd19yZW5hbWVfcHJvZ3Jlc3MgPSBvLT5zaG93X3JlbmFtZV9wcm9ncmVzczsKIAlvcHRzLm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9OT19PVVRQVVQ7CiAJZGlmZl9zZXR1cF9kb25lKCZvcHRzKTsKLQlkaWZmX3RyZWVfc2hhMShvX3RyZWUtPm9iamVjdC5vaWQuaGFzaCwgdHJlZS0+b2JqZWN0Lm9pZC5oYXNoLCAiIiwgJm9wdHMpOworCWRpZmZfdHJlZV9vaWQoJm9fdHJlZS0+b2JqZWN0Lm9pZCwgJnRyZWUtPm9iamVjdC5vaWQsICIiLCAmb3B0cyk7CiAJZGlmZmNvcmVfc3RkKCZvcHRzKTsKIAlpZiAob3B0cy5uZWVkZWRfcmVuYW1lX2xpbWl0ID4gby0+bmVlZGVkX3JlbmFtZV9saW1pdCkKIAkJby0+bmVlZGVkX3JlbmFtZV9saW1pdCA9IG9wdHMubmVlZGVkX3JlbmFtZV9saW1pdDsKQEAgLTY0NSw2ICs2NjcsNyBAQAogCiBzdGF0aWMgY2hhciAqdW5pcXVlX3BhdGgoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmJyYW5jaCkKIHsKKwlzdHJ1Y3QgcGF0aF9oYXNobWFwX2VudHJ5ICplbnRyeTsKIAlzdHJ1Y3Qgc3RyYnVmIG5ld3BhdGggPSBTVFJCVUZfSU5JVDsKIAlpbnQgc3VmZml4ID0gMDsKIAlzaXplX3QgYmFzZV9sZW47CkBAIC02NTMsMTQgKzY3NiwxNiBAQAogCWFkZF9mbGF0dGVuZWRfcGF0aCgmbmV3cGF0aCwgYnJhbmNoKTsKIAogCWJhc2VfbGVuID0gbmV3cGF0aC5sZW47Ci0Jd2hpbGUgKHN0cmluZ19saXN0X2hhc19zdHJpbmcoJm8tPmN1cnJlbnRfZmlsZV9zZXQsIG5ld3BhdGguYnVmKSB8fAotCSAgICAgICBzdHJpbmdfbGlzdF9oYXNfc3RyaW5nKCZvLT5jdXJyZW50X2RpcmVjdG9yeV9zZXQsIG5ld3BhdGguYnVmKSB8fAorCXdoaWxlIChoYXNobWFwX2dldF9mcm9tX2hhc2goJm8tPmN1cnJlbnRfZmlsZV9kaXJfc2V0LAorCQkJCSAgICAgcGF0aF9oYXNoKG5ld3BhdGguYnVmKSwgbmV3cGF0aC5idWYpIHx8CiAJICAgICAgICghby0+Y2FsbF9kZXB0aCAmJiBmaWxlX2V4aXN0cyhuZXdwYXRoLmJ1ZikpKSB7CiAJCXN0cmJ1Zl9zZXRsZW4oJm5ld3BhdGgsIGJhc2VfbGVuKTsKIAkJc3RyYnVmX2FkZGYoJm5ld3BhdGgsICJfJWQiLCBzdWZmaXgrKyk7CiAJfQogCi0Jc3RyaW5nX2xpc3RfaW5zZXJ0KCZvLT5jdXJyZW50X2ZpbGVfc2V0LCBuZXdwYXRoLmJ1Zik7CisJRkxFWF9BTExPQ19NRU0oZW50cnksIHBhdGgsIG5ld3BhdGguYnVmLCBuZXdwYXRoLmxlbik7CisJaGFzaG1hcF9lbnRyeV9pbml0KGVudHJ5LCBwYXRoX2hhc2goZW50cnktPnBhdGgpKTsKKwloYXNobWFwX2FkZCgmby0+Y3VycmVudF9maWxlX2Rpcl9zZXQsIGVudHJ5KTsKIAlyZXR1cm4gc3RyYnVmX2RldGFjaCgmbmV3cGF0aCwgTlVMTCk7CiB9CiAKQEAgLTk5NCwxMSArMTAxOSwxMSBAQAogCQkJCXJldHVybiByZXQ7CiAJCQlyZXN1bHQtPmNsZWFuID0gKG1lcmdlX3N0YXR1cyA9PSAwKTsKIAkJfSBlbHNlIGlmIChTX0lTR0lUTElOSyhhLT5tb2RlKSkgewotCQkJcmVzdWx0LT5jbGVhbiA9IG1lcmdlX3N1Ym1vZHVsZShyZXN1bHQtPm9pZC5oYXNoLAorCQkJcmVzdWx0LT5jbGVhbiA9IG1lcmdlX3N1Ym1vZHVsZSgmcmVzdWx0LT5vaWQsCiAJCQkJCQkgICAgICAgb25lLT5wYXRoLAotCQkJCQkJICAgICAgIG9uZS0+b2lkLmhhc2gsCi0JCQkJCQkgICAgICAgYS0+b2lkLmhhc2gsCi0JCQkJCQkgICAgICAgYi0+b2lkLmhhc2gsCisJCQkJCQkgICAgICAgJm9uZS0+b2lkLAorCQkJCQkJICAgICAgICZhLT5vaWQsCisJCQkJCQkgICAgICAgJmItPm9pZCwKIAkJCQkJCSAgICAgICAhby0+Y2FsbF9kZXB0aCk7CiAJCX0gZWxzZSBpZiAoU19JU0xOSyhhLT5tb2RlKSkgewogCQkJb2lkY3B5KCZyZXN1bHQtPm9pZCwgJmEtPm9pZCk7CkBAIC0xMDYxLDE2ICsxMDg2LDIwIEBACiB9CiAKIHN0YXRpYyBpbnQgaGFuZGxlX2NoYW5nZV9kZWxldGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCi0JCQkJIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkJIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm9sZF9wYXRoLAogCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvX29pZCwgaW50IG9fbW9kZSwKLQkJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYV9vaWQsIGludCBhX21vZGUsCi0JCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmJfb2lkLCBpbnQgYl9tb2RlLAorCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjaGFuZ2VkX29pZCwKKwkJCQkgaW50IGNoYW5nZWRfbW9kZSwKKwkJCQkgY29uc3QgY2hhciAqY2hhbmdlX2JyYW5jaCwKKwkJCQkgY29uc3QgY2hhciAqZGVsZXRlX2JyYW5jaCwKIAkJCQkgY29uc3QgY2hhciAqY2hhbmdlLCBjb25zdCBjaGFyICpjaGFuZ2VfcGFzdCkKIHsKLQljaGFyICpyZW5hbWVkID0gTlVMTDsKKwljaGFyICphbHRfcGF0aCA9IE5VTEw7CisJY29uc3QgY2hhciAqdXBkYXRlX3BhdGggPSBwYXRoOwogCWludCByZXQgPSAwOworCiAJaWYgKGRpcl9pbl93YXkocGF0aCwgIW8tPmNhbGxfZGVwdGgsIDApKSB7Ci0JCXJlbmFtZWQgPSB1bmlxdWVfcGF0aChvLCBwYXRoLCBhX29pZCA/IG8tPmJyYW5jaDEgOiBvLT5icmFuY2gyKTsKKwkJdXBkYXRlX3BhdGggPSBhbHRfcGF0aCA9IHVuaXF1ZV9wYXRoKG8sIHBhdGgsIGNoYW5nZV9icmFuY2gpOwogCX0KIAogCWlmIChvLT5jYWxsX2RlcHRoKSB7CkBAIC0xMDgxLDQzICsxMTEwLDQzIEBACiAJCSAqLwogCQlyZXQgPSByZW1vdmVfZmlsZV9mcm9tX2NhY2hlKHBhdGgpOwogCQlpZiAoIXJldCkKLQkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsIG9fb2lkLCBvX21vZGUsCi0JCQkJCSAgcmVuYW1lZCA/IHJlbmFtZWQgOiBwYXRoKTsKLQl9IGVsc2UgaWYgKCFhX29pZCkgewotCQlpZiAoIXJlbmFtZWQpIHsKLQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCi0JCQkgICAgICAgImFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0IGluIHRyZWUuIiksCi0JCQkgICAgICAgY2hhbmdlLCBwYXRoLCBvLT5icmFuY2gxLCBjaGFuZ2VfcGFzdCwKLQkJCSAgICAgICBvLT5icmFuY2gyLCBvLT5icmFuY2gyLCBwYXRoKTsKLQkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsIGJfb2lkLCBiX21vZGUsIHBhdGgpOwotCQl9IGVsc2UgewotCQkJb3V0cHV0KG8sIDEsIF8oIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzICIKLQkJCSAgICAgICAiYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgaW4gdHJlZSBhdCAlcy4iKSwKLQkJCSAgICAgICBjaGFuZ2UsIHBhdGgsIG8tPmJyYW5jaDEsIGNoYW5nZV9wYXN0LAotCQkJICAgICAgIG8tPmJyYW5jaDIsIG8tPmJyYW5jaDIsIHBhdGgsIHJlbmFtZWQpOwotCQkJcmV0ID0gdXBkYXRlX2ZpbGUobywgMCwgYl9vaWQsIGJfbW9kZSwgcmVuYW1lZCk7Ci0JCX0KKwkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsIG9fb2lkLCBvX21vZGUsIHVwZGF0ZV9wYXRoKTsKIAl9IGVsc2UgewotCQlpZiAoIXJlbmFtZWQpIHsKLQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCi0JCQkgICAgICAgImFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0IGluIHRyZWUuIiksCi0JCQkgICAgICAgY2hhbmdlLCBwYXRoLCBvLT5icmFuY2gyLCBjaGFuZ2VfcGFzdCwKLQkJCSAgICAgICBvLT5icmFuY2gxLCBvLT5icmFuY2gxLCBwYXRoKTsKKwkJaWYgKCFhbHRfcGF0aCkgeworCQkJaWYgKCFvbGRfcGF0aCkgeworCQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCisJCQkJICAgICAgICJhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCBpbiB0cmVlLiIpLAorCQkJCSAgICAgICBjaGFuZ2UsIHBhdGgsIGRlbGV0ZV9icmFuY2gsIGNoYW5nZV9wYXN0LAorCQkJCSAgICAgICBjaGFuZ2VfYnJhbmNoLCBjaGFuZ2VfYnJhbmNoLCBwYXRoKTsKKwkJCX0gZWxzZSB7CisJCQkJb3V0cHV0KG8sIDEsIF8oIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzICIKKwkJCQkgICAgICAgImFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0IGluIHRyZWUuIiksCisJCQkJICAgICAgIGNoYW5nZSwgb2xkX3BhdGgsIGRlbGV0ZV9icmFuY2gsIGNoYW5nZV9wYXN0LCBwYXRoLAorCQkJCSAgICAgICBjaGFuZ2VfYnJhbmNoLCBjaGFuZ2VfYnJhbmNoLCBwYXRoKTsKKwkJCX0KIAkJfSBlbHNlIHsKLQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCi0JCQkgICAgICAgImFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0IGluIHRyZWUgYXQgJXMuIiksCi0JCQkgICAgICAgY2hhbmdlLCBwYXRoLCBvLT5icmFuY2gyLCBjaGFuZ2VfcGFzdCwKLQkJCSAgICAgICBvLT5icmFuY2gxLCBvLT5icmFuY2gxLCBwYXRoLCByZW5hbWVkKTsKLQkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsIGFfb2lkLCBhX21vZGUsIHJlbmFtZWQpOworCQkJaWYgKCFvbGRfcGF0aCkgeworCQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCisJCQkJICAgICAgICJhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCBpbiB0cmVlIGF0ICVzLiIpLAorCQkJCSAgICAgICBjaGFuZ2UsIHBhdGgsIGRlbGV0ZV9icmFuY2gsIGNoYW5nZV9wYXN0LAorCQkJCSAgICAgICBjaGFuZ2VfYnJhbmNoLCBjaGFuZ2VfYnJhbmNoLCBwYXRoLCBhbHRfcGF0aCk7CisJCQl9IGVsc2UgeworCQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCisJCQkJICAgICAgICJhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCBpbiB0cmVlIGF0ICVzLiIpLAorCQkJCSAgICAgICBjaGFuZ2UsIG9sZF9wYXRoLCBkZWxldGVfYnJhbmNoLCBjaGFuZ2VfcGFzdCwgcGF0aCwKKwkJCQkgICAgICAgY2hhbmdlX2JyYW5jaCwgY2hhbmdlX2JyYW5jaCwgcGF0aCwgYWx0X3BhdGgpOworCQkJfQogCQl9CiAJCS8qCi0JCSAqIE5vIG5lZWQgdG8gY2FsbCB1cGRhdGVfZmlsZSgpIG9uIHBhdGggd2hlbiAhcmVuYW1lZCwgc2luY2UKLQkJICogdGhhdCB3b3VsZCBuZWVkbGVzc2x5IHRvdWNoIHBhdGguICBXZSBjb3VsZCBjYWxsCi0JCSAqIHVwZGF0ZV9maWxlX2ZsYWdzKCkgd2l0aCB1cGRhdGVfY2FjaGU9MCBhbmQgdXBkYXRlX3dkPTAsCi0JCSAqIGJ1dCB0aGF0J3MgYSBuby1vcC4KKwkJICogTm8gbmVlZCB0byBjYWxsIHVwZGF0ZV9maWxlKCkgb24gcGF0aCB3aGVuIGNoYW5nZV9icmFuY2ggPT0KKwkJICogby0+YnJhbmNoMSAmJiAhYWx0X3BhdGgsIHNpbmNlIHRoYXQgd291bGQgbmVlZGxlc3NseSB0b3VjaAorCQkgKiBwYXRoLiAgV2UgY291bGQgY2FsbCB1cGRhdGVfZmlsZV9mbGFncygpIHdpdGggdXBkYXRlX2NhY2hlPTAKKwkJICogYW5kIHVwZGF0ZV93ZD0wLCBidXQgdGhhdCdzIGEgbm8tb3AuCiAJCSAqLworCQlpZiAoY2hhbmdlX2JyYW5jaCAhPSBvLT5icmFuY2gxIHx8IGFsdF9wYXRoKQorCQkJcmV0ID0gdXBkYXRlX2ZpbGUobywgMCwgY2hhbmdlZF9vaWQsIGNoYW5nZWRfbW9kZSwgdXBkYXRlX3BhdGgpOwogCX0KLQlmcmVlKHJlbmFtZWQpOworCWZyZWUoYWx0X3BhdGgpOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTExMjUsMjggKzExNTQsMTcgQEAKIHN0YXRpYyBpbnQgY29uZmxpY3RfcmVuYW1lX2RlbGV0ZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKIAkJCQkgICBzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcGFpciwKIAkJCQkgICBjb25zdCBjaGFyICpyZW5hbWVfYnJhbmNoLAotCQkJCSAgIGNvbnN0IGNoYXIgKm90aGVyX2JyYW5jaCkKKwkJCQkgICBjb25zdCBjaGFyICpkZWxldGVfYnJhbmNoKQogewogCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvcmlnID0gcGFpci0+b25lOwogCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpkZXN0ID0gcGFpci0+dHdvOwotCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmFfb2lkID0gTlVMTDsKLQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiX29pZCA9IE5VTEw7Ci0JaW50IGFfbW9kZSA9IDA7Ci0JaW50IGJfbW9kZSA9IDA7Ci0KLQlpZiAocmVuYW1lX2JyYW5jaCA9PSBvLT5icmFuY2gxKSB7Ci0JCWFfb2lkID0gJmRlc3QtPm9pZDsKLQkJYV9tb2RlID0gZGVzdC0+bW9kZTsKLQl9IGVsc2UgewotCQliX29pZCA9ICZkZXN0LT5vaWQ7Ci0JCWJfbW9kZSA9IGRlc3QtPm1vZGU7Ci0JfQogCiAJaWYgKGhhbmRsZV9jaGFuZ2VfZGVsZXRlKG8sCiAJCQkJIG8tPmNhbGxfZGVwdGggPyBvcmlnLT5wYXRoIDogZGVzdC0+cGF0aCwKKwkJCQkgby0+Y2FsbF9kZXB0aCA/IE5VTEwgOiBvcmlnLT5wYXRoLAogCQkJCSAmb3JpZy0+b2lkLCBvcmlnLT5tb2RlLAotCQkJCSBhX29pZCwgYV9tb2RlLAotCQkJCSBiX29pZCwgYl9tb2RlLAorCQkJCSAmZGVzdC0+b2lkLCBkZXN0LT5tb2RlLAorCQkJCSByZW5hbWVfYnJhbmNoLCBkZWxldGVfYnJhbmNoLAogCQkJCSBfKCJyZW5hbWUiKSwgXygicmVuYW1lZCIpKSkKIAkJcmV0dXJuIC0xOwogCkBAIC0xNjQ2LDggKzE2NjQsOCBAQAogCSAqIHBlcmZvcm1lZC4gIENvbXBhcmlzb24gY2FuIGJlIHNraXBwZWQgaWYgYm90aCBmaWxlcyBhcmUKIAkgKiB1bmNoYW5nZWQgc2luY2UgdGhlaXIgc2hhMXMgaGF2ZSBhbHJlYWR5IGJlZW4gY29tcGFyZWQuCiAJICovCi0JaWYgKHJlbm9ybWFsaXplX2J1ZmZlcihwYXRoLCBvLmJ1Ziwgby5sZW4sICZvKSB8Ci0JICAgIHJlbm9ybWFsaXplX2J1ZmZlcihwYXRoLCBhLmJ1ZiwgYS5sZW4sICZhKSkKKwlpZiAocmVub3JtYWxpemVfYnVmZmVyKCZ0aGVfaW5kZXgsIHBhdGgsIG8uYnVmLCBvLmxlbiwgJm8pIHwKKwkgICAgcmVub3JtYWxpemVfYnVmZmVyKCZ0aGVfaW5kZXgsIHBhdGgsIGEuYnVmLCBhLmxlbiwgJmEpKQogCQlyZXQgPSAoby5sZW4gPT0gYS5sZW4gJiYgIW1lbWNtcChvLmJ1ZiwgYS5idWYsIG8ubGVuKSk7CiAKIGVycm9yX3JldHVybjoKQEAgLTE2NjIsMTEgKzE2ODAsMjcgQEAKIAkJCQkgc3RydWN0IG9iamVjdF9pZCAqYV9vaWQsIGludCBhX21vZGUsCiAJCQkJIHN0cnVjdCBvYmplY3RfaWQgKmJfb2lkLCBpbnQgYl9tb2RlKQogeworCWNvbnN0IGNoYXIgKm1vZGlmeV9icmFuY2gsICpkZWxldGVfYnJhbmNoOworCXN0cnVjdCBvYmplY3RfaWQgKmNoYW5nZWRfb2lkOworCWludCBjaGFuZ2VkX21vZGU7CisKKwlpZiAoYV9vaWQpIHsKKwkJbW9kaWZ5X2JyYW5jaCA9IG8tPmJyYW5jaDE7CisJCWRlbGV0ZV9icmFuY2ggPSBvLT5icmFuY2gyOworCQljaGFuZ2VkX29pZCA9IGFfb2lkOworCQljaGFuZ2VkX21vZGUgPSBhX21vZGU7CisJfSBlbHNlIHsKKwkJbW9kaWZ5X2JyYW5jaCA9IG8tPmJyYW5jaDI7CisJCWRlbGV0ZV9icmFuY2ggPSBvLT5icmFuY2gxOworCQljaGFuZ2VkX29pZCA9IGJfb2lkOworCQljaGFuZ2VkX21vZGUgPSBiX21vZGU7CisJfQorCiAJcmV0dXJuIGhhbmRsZV9jaGFuZ2VfZGVsZXRlKG8sCi0JCQkJICAgIHBhdGgsCisJCQkJICAgIHBhdGgsIE5VTEwsCiAJCQkJICAgIG9fb2lkLCBvX21vZGUsCi0JCQkJICAgIGFfb2lkLCBhX21vZGUsCi0JCQkJICAgIGJfb2lkLCBiX21vZGUsCisJCQkJICAgIGNoYW5nZWRfb2lkLCBjaGFuZ2VkX21vZGUsCisJCQkJICAgIG1vZGlmeV9icmFuY2gsIGRlbGV0ZV9icmFuY2gsCiAJCQkJICAgIF8oIm1vZGlmeSIpLCBfKCJtb2RpZmllZCIpKTsKIH0KIApAQCAtMTkxNyw3ICsxOTUxLDcgQEAKIAl9CiAKIAlpZiAob2lkX2VxKCZjb21tb24tPm9iamVjdC5vaWQsICZtZXJnZS0+b2JqZWN0Lm9pZCkpIHsKLQkJb3V0cHV0KG8sIDAsIF8oIkFscmVhZHkgdXAtdG8tZGF0ZSEiKSk7CisJCW91dHB1dChvLCAwLCBfKCJBbHJlYWR5IHVwIHRvIGRhdGUhIikpOwogCQkqcmVzdWx0ID0gaGVhZDsKIAkJcmV0dXJuIDE7CiAJfQpAQCAtMTkzNSw4ICsxOTY5LDE0IEBACiAJaWYgKHVubWVyZ2VkX2NhY2hlKCkpIHsKIAkJc3RydWN0IHN0cmluZ19saXN0ICplbnRyaWVzLCAqcmVfaGVhZCwgKnJlX21lcmdlOwogCQlpbnQgaTsKLQkJc3RyaW5nX2xpc3RfY2xlYXIoJm8tPmN1cnJlbnRfZmlsZV9zZXQsIDEpOwotCQlzdHJpbmdfbGlzdF9jbGVhcigmby0+Y3VycmVudF9kaXJlY3Rvcnlfc2V0LCAxKTsKKwkJLyoKKwkJICogT25seSBuZWVkIHRoZSBoYXNobWFwIHdoaWxlIHByb2Nlc3NpbmcgZW50cmllcywgc28KKwkJICogaW5pdGlhbGl6ZSBpdCBoZXJlIGFuZCBmcmVlIGl0IHdoZW4gd2UgYXJlIGRvbmUgcnVubmluZworCQkgKiB0aHJvdWdoIHRoZSBlbnRyaWVzLiBLZWVwaW5nIGl0IGluIHRoZSBtZXJnZV9vcHRpb25zIGFzCisJCSAqIG9wcG9zZWQgdG8gZGVjYXJpbmcgYSBsb2NhbCBoYXNobWFwIGlzIGZvciBjb252ZW5pZW5jZQorCQkgKiBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gcGFzcyBpdCB0byBhcm91bmQuCisJCSAqLworCQloYXNobWFwX2luaXQoJm8tPmN1cnJlbnRfZmlsZV9kaXJfc2V0LCBwYXRoX2hhc2htYXBfY21wLCBOVUxMLCA1MTIpOwogCQlnZXRfZmlsZXNfZGlycyhvLCBoZWFkKTsKIAkJZ2V0X2ZpbGVzX2RpcnMobywgbWVyZ2UpOwogCkBAIC0xOTQ2LDcgKzE5ODYsNyBAQAogCQlyZV9tZXJnZSA9IGdldF9yZW5hbWVzKG8sIG1lcmdlLCBjb21tb24sIGhlYWQsIG1lcmdlLCBlbnRyaWVzKTsKIAkJY2xlYW4gPSBwcm9jZXNzX3JlbmFtZXMobywgcmVfaGVhZCwgcmVfbWVyZ2UpOwogCQlpZiAoY2xlYW4gPCAwKQotCQkJcmV0dXJuIGNsZWFuOworCQkJZ290byBjbGVhbnVwOwogCQlmb3IgKGkgPSBlbnRyaWVzLT5uci0xOyAwIDw9IGk7IGktLSkgewogCQkJY29uc3QgY2hhciAqcGF0aCA9IGVudHJpZXMtPml0ZW1zW2ldLnN0cmluZzsKIAkJCXN0cnVjdCBzdGFnZV9kYXRhICplID0gZW50cmllcy0+aXRlbXNbaV0udXRpbDsKQEAgLTE5NTQsOCArMTk5NCwxMCBAQAogCQkJCWludCByZXQgPSBwcm9jZXNzX2VudHJ5KG8sIHBhdGgsIGUpOwogCQkJCWlmICghcmV0KQogCQkJCQljbGVhbiA9IDA7Ci0JCQkJZWxzZSBpZiAocmV0IDwgMCkKLQkJCQkJcmV0dXJuIHJldDsKKwkJCQllbHNlIGlmIChyZXQgPCAwKSB7CisJCQkJCWNsZWFuID0gcmV0OworCQkJCQlnb3RvIGNsZWFudXA7CisJCQkJfQogCQkJfQogCQl9CiAJCWZvciAoaSA9IDA7IGkgPCBlbnRyaWVzLT5ucjsgaSsrKSB7CkBAIC0xOTY1LDEzICsyMDA3LDE5IEBACiAJCQkJICAgIGVudHJpZXMtPml0ZW1zW2ldLnN0cmluZyk7CiAJCX0KIAorY2xlYW51cDoKIAkJc3RyaW5nX2xpc3RfY2xlYXIocmVfbWVyZ2UsIDApOwogCQlzdHJpbmdfbGlzdF9jbGVhcihyZV9oZWFkLCAwKTsKIAkJc3RyaW5nX2xpc3RfY2xlYXIoZW50cmllcywgMSk7CiAKKwkJaGFzaG1hcF9mcmVlKCZvLT5jdXJyZW50X2ZpbGVfZGlyX3NldCwgMSk7CisKIAkJZnJlZShyZV9tZXJnZSk7CiAJCWZyZWUocmVfaGVhZCk7CiAJCWZyZWUoZW50cmllcyk7CisKKwkJaWYgKGNsZWFuIDwgMCkKKwkJCXJldHVybiBjbGVhbjsKIAl9CiAJZWxzZQogCQljbGVhbiA9IDE7CkBAIC0yMDMzLDcgKzIwODEsNyBAQAogCQkvKiBpZiB0aGVyZSBpcyBubyBjb21tb24gYW5jZXN0b3IsIHVzZSBhbiBlbXB0eSB0cmVlICovCiAJCXN0cnVjdCB0cmVlICp0cmVlOwogCi0JCXRyZWUgPSBsb29rdXBfdHJlZShFTVBUWV9UUkVFX1NIQTFfQklOKTsKKwkJdHJlZSA9IGxvb2t1cF90cmVlKCZlbXB0eV90cmVlX29pZCk7CiAJCW1lcmdlZF9jb21tb25fYW5jZXN0b3JzID0gbWFrZV92aXJ0dWFsX2NvbW1pdCh0cmVlLCAiYW5jZXN0b3IiKTsKIAl9CiAKQEAgLTIwOTQsNyArMjE0Miw3IEBACiB7CiAJc3RydWN0IG9iamVjdCAqb2JqZWN0OwogCi0Jb2JqZWN0ID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChvaWQtPmhhc2gpLCBuYW1lLCBzdHJsZW4obmFtZSkpOworCW9iamVjdCA9IGRlcmVmX3RhZyhwYXJzZV9vYmplY3Qob2lkKSwgbmFtZSwgc3RybGVuKG5hbWUpKTsKIAlpZiAoIW9iamVjdCkKIAkJcmV0dXJuIE5VTEw7CiAJaWYgKG9iamVjdC0+dHlwZSA9PSBPQkpfVFJFRSkKQEAgLTIxNjcsOCArMjIxNSw2IEBACiAJaWYgKG8tPnZlcmJvc2l0eSA+PSA1KQogCQlvLT5idWZmZXJfb3V0cHV0ID0gMDsKIAlzdHJidWZfaW5pdCgmby0+b2J1ZiwgMCk7Ci0Jc3RyaW5nX2xpc3RfaW5pdCgmby0+Y3VycmVudF9maWxlX3NldCwgMSk7Ci0Jc3RyaW5nX2xpc3RfaW5pdCgmby0+Y3VycmVudF9kaXJlY3Rvcnlfc2V0LCAxKTsKIAlzdHJpbmdfbGlzdF9pbml0KCZvLT5kZl9jb25mbGljdF9maWxlX3NldCwgMSk7CiB9CiAKQEAgLTIyMDAsMTEgKzIyNDYsMTEgQEAKIAkJby0+eGRsX29wdHMgfD0gdmFsdWU7CiAJfQogCWVsc2UgaWYgKCFzdHJjbXAocywgImlnbm9yZS1zcGFjZS1jaGFuZ2UiKSkKLQkJby0+eGRsX29wdHMgfD0gWERGX0lHTk9SRV9XSElURVNQQUNFX0NIQU5HRTsKKwkJRElGRl9YRExfU0VUKG8sIElHTk9SRV9XSElURVNQQUNFX0NIQU5HRSk7CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAiaWdub3JlLWFsbC1zcGFjZSIpKQotCQlvLT54ZGxfb3B0cyB8PSBYREZfSUdOT1JFX1dISVRFU1BBQ0U7CisJCURJRkZfWERMX1NFVChvLCBJR05PUkVfV0hJVEVTUEFDRSk7CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAiaWdub3JlLXNwYWNlLWF0LWVvbCIpKQotCQlvLT54ZGxfb3B0cyB8PSBYREZfSUdOT1JFX1dISVRFU1BBQ0VfQVRfRU9MOworCQlESUZGX1hETF9TRVQobywgSUdOT1JFX1dISVRFU1BBQ0VfQVRfRU9MKTsKIAllbHNlIGlmICghc3RyY21wKHMsICJyZW5vcm1hbGl6ZSIpKQogCQlvLT5yZW5vcm1hbGl6ZSA9IDE7CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAibm8tcmVub3JtYWxpemUiKSkKZGlmZiAtLWdpdCBhL21lcmdlLXJlY3Vyc2l2ZS5oIGIvbWVyZ2UtcmVjdXJzaXZlLmgKaW5kZXggNzM1MzQzYi4uODBkNjlkMSAxMDA2NDQKLS0tIGEvbWVyZ2UtcmVjdXJzaXZlLmgKKysrIGIvbWVyZ2UtcmVjdXJzaXZlLmgKQEAgLTI1LDggKzI1LDcgQEAKIAlpbnQgc2hvd19yZW5hbWVfcHJvZ3Jlc3M7CiAJaW50IGNhbGxfZGVwdGg7CiAJc3RydWN0IHN0cmJ1ZiBvYnVmOwotCXN0cnVjdCBzdHJpbmdfbGlzdCBjdXJyZW50X2ZpbGVfc2V0OwotCXN0cnVjdCBzdHJpbmdfbGlzdCBjdXJyZW50X2RpcmVjdG9yeV9zZXQ7CisJc3RydWN0IGhhc2htYXAgY3VycmVudF9maWxlX2Rpcl9zZXQ7CiAJc3RydWN0IHN0cmluZ19saXN0IGRmX2NvbmZsaWN0X2ZpbGVfc2V0OwogfTsKIApkaWZmIC0tZ2l0IGEvbWVyZ2UuYyBiL21lcmdlLmMKaW5kZXggMDRlZTVmYy4uMWQ0NDFhZCAxMDA2NDQKLS0tIGEvbWVyZ2UuYworKysgYi9tZXJnZS5jCkBAIC00NCw4ICs0NCw4IEBACiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGNoZWNrb3V0X2Zhc3RfZm9yd2FyZChjb25zdCB1bnNpZ25lZCBjaGFyICpoZWFkLAotCQkJICBjb25zdCB1bnNpZ25lZCBjaGFyICpyZW1vdGUsCitpbnQgY2hlY2tvdXRfZmFzdF9mb3J3YXJkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmhlYWQsCisJCQkgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnJlbW90ZSwKIAkJCSAgaW50IG92ZXJ3cml0ZV9pZ25vcmUpCiB7CiAJc3RydWN0IHRyZWUgKnRyZWVzW01BWF9VTlBBQ0tfVFJFRVNdOwpkaWZmIC0tZ2l0IGEvbWVyZ2V0b29scy9tZWxkIGIvbWVyZ2V0b29scy9tZWxkCmluZGV4IGJjMTc4ZTguLjdhMDg0NzAgMTAwNjQ0Ci0tLSBhL21lcmdldG9vbHMvbWVsZAorKysgYi9tZXJnZXRvb2xzL21lbGQKQEAgLTEwLDcgKzEwLDcgQEAKIAogCWlmIHRlc3QgIiRtZWxkX2hhc19vdXRwdXRfb3B0aW9uIiA9IHRydWUKIAl0aGVuCi0JCSIkbWVyZ2VfdG9vbF9wYXRoIiAtLW91dHB1dCAiJE1FUkdFRCIgXAorCQkiJG1lcmdlX3Rvb2xfcGF0aCIgLS1vdXRwdXQ9IiRNRVJHRUQiIFwKIAkJCSIkTE9DQUwiICIkQkFTRSIgIiRSRU1PVEUiCiAJZWxzZQogCQkiJG1lcmdlX3Rvb2xfcGF0aCIgIiRMT0NBTCIgIiRNRVJHRUQiICIkUkVNT1RFIgpkaWZmIC0tZ2l0IGEvbmFtZS1oYXNoLmMgYi9uYW1lLWhhc2guYwppbmRleCA2ZDlmMjNlLi40NWM5OGRiIDEwMDY0NAotLS0gYS9uYW1lLWhhc2guYworKysgYi9uYW1lLWhhc2guYwpAQCAtMTYsMjAgKzE2LDMyIEBACiAJY2hhciBuYW1lW0ZMRVhfQVJSQVldOwogfTsKIAotc3RhdGljIGludCBkaXJfZW50cnlfY21wKGNvbnN0IHN0cnVjdCBkaXJfZW50cnkgKmUxLAotCQljb25zdCBzdHJ1Y3QgZGlyX2VudHJ5ICplMiwgY29uc3QgY2hhciAqbmFtZSkKK3N0YXRpYyBpbnQgZGlyX2VudHJ5X2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCisJCQkgY29uc3Qgdm9pZCAqZW50cnksCisJCQkgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJIGNvbnN0IHZvaWQgKmtleWRhdGEpCiB7CisJY29uc3Qgc3RydWN0IGRpcl9lbnRyeSAqZTEgPSBlbnRyeTsKKwljb25zdCBzdHJ1Y3QgZGlyX2VudHJ5ICplMiA9IGVudHJ5X29yX2tleTsKKwljb25zdCBjaGFyICpuYW1lID0ga2V5ZGF0YTsKKwogCXJldHVybiBlMS0+bmFtZWxlbiAhPSBlMi0+bmFtZWxlbiB8fCBzdHJuY2FzZWNtcChlMS0+bmFtZSwKIAkJCW5hbWUgPyBuYW1lIDogZTItPm5hbWUsIGUxLT5uYW1lbGVuKTsKIH0KIAorc3RhdGljIHN0cnVjdCBkaXJfZW50cnkgKmZpbmRfZGlyX2VudHJ5X19oYXNoKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQljb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBpbnQgbmFtZWxlbiwgdW5zaWduZWQgaW50IGhhc2gpCit7CisJc3RydWN0IGRpcl9lbnRyeSBrZXk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZrZXksIGhhc2gpOworCWtleS5uYW1lbGVuID0gbmFtZWxlbjsKKwlyZXR1cm4gaGFzaG1hcF9nZXQoJmlzdGF0ZS0+ZGlyX2hhc2gsICZrZXksIG5hbWUpOworfQorCiBzdGF0aWMgc3RydWN0IGRpcl9lbnRyeSAqZmluZF9kaXJfZW50cnkoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCiAJCWNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGludCBuYW1lbGVuKQogewotCXN0cnVjdCBkaXJfZW50cnkga2V5OwotCWhhc2htYXBfZW50cnlfaW5pdCgma2V5LCBtZW1paGFzaChuYW1lLCBuYW1lbGVuKSk7Ci0Ja2V5Lm5hbWVsZW4gPSBuYW1lbGVuOwotCXJldHVybiBoYXNobWFwX2dldCgmaXN0YXRlLT5kaXJfaGFzaCwgJmtleSwgbmFtZSk7CisJcmV0dXJuIGZpbmRfZGlyX2VudHJ5X19oYXNoKGlzdGF0ZSwgbmFtZSwgbmFtZWxlbiwgbWVtaWhhc2gobmFtZSwgbmFtZWxlbikpOwogfQogCiBzdGF0aWMgc3RydWN0IGRpcl9lbnRyeSAqaGFzaF9kaXJfZW50cnkoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCkBAIC0xMDEsOSArMTEzLDEzIEBACiAJCWFkZF9kaXJfZW50cnkoaXN0YXRlLCBjZSk7CiB9CiAKLXN0YXRpYyBpbnQgY2FjaGVfZW50cnlfY21wKGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UxLAotCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlMiwgY29uc3Qgdm9pZCAqcmVtb3ZlKQorc3RhdGljIGludCBjYWNoZV9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAorCQkJICAgY29uc3Qgdm9pZCAqZW50cnksCisJCQkgICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgICBjb25zdCB2b2lkICpyZW1vdmUpCiB7CisJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTEgPSBlbnRyeTsKKwljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlMiA9IGVudHJ5X29yX2tleTsKIAkvKgogCSAqIEZvciByZW1vdmVfbmFtZV9oYXNoLCBmaW5kIHRoZSBleGFjdCBlbnRyeSAocG9pbnRlciBlcXVhbGl0eSk7IGZvcgogCSAqIGluZGV4X2ZpbGVfZXhpc3RzLCBmaW5kIGFsbCBlbnRyaWVzIHdpdGggbWF0Y2hpbmcgaGFzaCBjb2RlIGFuZApAQCAtMTEyLDIwICsxMjgsNDk5IEBACiAJcmV0dXJuIHJlbW92ZSA/ICEoY2UxID09IGNlMikgOiAwOwogfQogCitzdGF0aWMgaW50IGxhenlfdHJ5X3RocmVhZGVkID0gMTsKK3N0YXRpYyBpbnQgbGF6eV9ucl9kaXJfdGhyZWFkczsKKworI2lmZGVmIE5PX1BUSFJFQURTCisKK3N0YXRpYyBpbmxpbmUgaW50IGxvb2t1cF9sYXp5X3BhcmFtcyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHRocmVhZGVkX2xhenlfaW5pdF9uYW1lX2hhc2goCisJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCit7Cit9CisKKyNlbHNlCisKKyNpbmNsdWRlICJ0aHJlYWQtdXRpbHMuaCIKKworLyoKKyAqIFNldCBhIG1pbmltdW0gbnVtYmVyIG9mIGNhY2hlX2VudHJpZXMgdGhhdCB3ZSB3aWxsIGhhbmRsZSBwZXIKKyAqIHRocmVhZCBhbmQgdXNlIHRoYXQgdG8gZGVjaWRlIGhvdyBtYW55IHRocmVhZHMgdG8gcnVuICh1cHRvCisgKiB0aGUgbnVtYmVyIG9uIHRoZSBzeXN0ZW0pLgorICoKKyAqIEZvciBndWlkYW5jZSBzZXR0aW5nIHRoZSBsb3dlciBwZXItdGhyZWFkIGJvdW5kLCBzZWU6CisgKiAgICAgdC9oZWxwZXIvdGVzdC1sYXp5LWluaXQtbmFtZS1oYXNoIC0tYW5hbHl6ZQorICovCisjZGVmaW5lIExBWllfVEhSRUFEX0NPU1QgKDIwMDApCisKKy8qCisgKiBXZSB1c2UgbiBtdXRleGVzIHRvIGd1YXJkIG4gcGFydGl0aW9ucyBvZiB0aGUgImlzdGF0ZS0+ZGlyX2hhc2giCisgKiBoYXNodGFibGUuICBTaW5jZSAiZmluZCIgYW5kICJpbnNlcnQiIG9wZXJhdGlvbnMgd2lsbCBoYXNoIHRvIGEKKyAqIHBhcnRpY3VsYXIgYnVja2V0IGFuZCBtb2RpZnkvc2VhcmNoIGEgc2luZ2xlIGNoYWluLCB3ZSBjYW4gc2F5CisgKiB0aGF0ICJhbGwgY2hhaW5zIG1vZCBuIiBhcmUgZ3VhcmRlZCBieSB0aGUgc2FtZSBtdXRleCAtLSByYXRoZXIKKyAqIHRoYW4gaGF2aW5nIGEgc2luZ2xlIG11dGV4IHRvIGd1YXJkIHRoZSBlbnRpcmUgdGFibGUuICAoVGhpcyBkb2VzCisgKiByZXF1aXJlIHRoYXQgd2UgZGlzYWJsZSAicmVoYXNoaW5nIiBvbiB0aGUgaGFzaHRhYmxlLikKKyAqCisgKiBTbywgYSBsYXJnZXIgdmFsdWUgaGVyZSBkZWNyZWFzZXMgdGhlIHByb2JhYmlsaXR5IG9mIGEgY29sbGlzaW9uCisgKiBhbmQgdGhlIHRpbWUgdGhhdCBlYWNoIHRocmVhZCBtdXN0IHdhaXQgZm9yIHRoZSBtdXRleC4KKyAqLworI2RlZmluZSBMQVpZX01BWF9NVVRFWCAgICgzMikKKworc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCAqbGF6eV9kaXJfbXV0ZXhfYXJyYXk7CisKKy8qCisgKiBBbiBhcnJheSBvZiBsYXp5X2VudHJ5IGl0ZW1zIGlzIHVzZWQgYnkgdGhlIG4gdGhyZWFkcyBpbgorICogdGhlIGRpcmVjdG9yeSBwYXJzZSAoZmlyc3QpIHBoYXNlIHRvIChsb2NrLWZyZWUpIHN0b3JlIHRoZQorICogaW50ZXJtZWRpYXRlIHJlc3VsdHMuICBUaGVzZSB2YWx1ZXMgYXJlIHRoZW4gcmVmZXJlbmNlZCBieQorICogdGhlIDIgdGhyZWFkcyBpbiB0aGUgc2Vjb25kIHBoYXNlLgorICovCitzdHJ1Y3QgbGF6eV9lbnRyeSB7CisJc3RydWN0IGRpcl9lbnRyeSAqZGlyOworCXVuc2lnbmVkIGludCBoYXNoX2RpcjsKKwl1bnNpZ25lZCBpbnQgaGFzaF9uYW1lOworfTsKKworLyoKKyAqIERlY2lkZSBpZiB3ZSB3YW50IHRvIHVzZSB0aHJlYWRzIChpZiBhdmFpbGFibGUpIHRvIGxvYWQKKyAqIHRoZSBoYXNoIHRhYmxlcy4gIFdlIHNldCAibGF6eV9ucl9kaXJfdGhyZWFkcyIgdG8gemVybyB3aGVuCisgKiBpdCBpcyBub3Qgd29ydGggaXQuCisgKi8KK3N0YXRpYyBpbnQgbG9va3VwX2xhenlfcGFyYW1zKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQoreworCWludCBucl9jcHVzOworCisJbGF6eV9ucl9kaXJfdGhyZWFkcyA9IDA7CisKKwlpZiAoIWxhenlfdHJ5X3RocmVhZGVkKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogSWYgd2UgYXJlIHJlc3BlY3RpbmcgY2FzZSwganVzdCB1c2UgdGhlIG9yaWdpbmFsCisJICogY29kZSB0byBidWlsZCB0aGUgImlzdGF0ZS0+bmFtZV9oYXNoIi4gIFdlIGRvbid0CisJICogbmVlZCB0aGUgY29tcGxleGl0eSBoZXJlLgorCSAqLworCWlmICghaWdub3JlX2Nhc2UpCisJCXJldHVybiAwOworCisJbnJfY3B1cyA9IG9ubGluZV9jcHVzKCk7CisJaWYgKG5yX2NwdXMgPCAyKQorCQlyZXR1cm4gMDsKKworCWlmIChpc3RhdGUtPmNhY2hlX25yIDwgMiAqIExBWllfVEhSRUFEX0NPU1QpCisJCXJldHVybiAwOworCisJaWYgKGlzdGF0ZS0+Y2FjaGVfbnIgPCBucl9jcHVzICogTEFaWV9USFJFQURfQ09TVCkKKwkJbnJfY3B1cyA9IGlzdGF0ZS0+Y2FjaGVfbnIgLyBMQVpZX1RIUkVBRF9DT1NUOworCWxhenlfbnJfZGlyX3RocmVhZHMgPSBucl9jcHVzOworCXJldHVybiBsYXp5X25yX2Rpcl90aHJlYWRzOworfQorCisvKgorICogSW5pdGlhbGl6ZSBuIG11dGV4ZXMgZm9yIHVzZSB3aGVuIHNlYXJjaGluZyBhbmQgaW5zZXJ0aW5nCisgKiBpbnRvICJpc3RhdGUtPmRpcl9oYXNoIi4gIEFsbCAiZGlyIiB0aHJlYWRzIGFyZSB0cnlpbmcKKyAqIHRvIGluc2VydCBwYXJ0aWFsIHBhdGhuYW1lcyBpbnRvIHRoZSBoYXNoIGFzIHRoZXkgaXRlcmF0ZQorICogb3ZlciB0aGVpciBwb3J0aW9ucyBvZiB0aGUgaW5kZXgsIHNvIGxvY2sgY29udGVudGlvbiBpcworICogaGlnaC4KKyAqCisgKiBIb3dldmVyLCB0aGUgaGFzaG1hcCBpcyBnb2luZyB0byBwdXQgaXRlbXMgaW50byBidWNrZXQKKyAqIGNoYWlucyBiYXNlZCBvbiB0aGVpciBoYXNoIHZhbHVlcy4gIFVzZSB0aGF0IHRvIGNyZWF0ZSBuCisgKiBtdXRleGVzIGFuZCBsb2NrIG9uIG11dGV4W2J1Y2tldChoYXNoKSAlIG5dLiAgVGhpcyB3aWxsCisgKiBkZWNyZWFzZSB0aGUgY29sbGlzaW9uIHJhdGUgYnkgKGhvcGVmdWxseSkgYnkgYSBmYWN0b3Igb2Ygbi4KKyAqLworc3RhdGljIHZvaWQgaW5pdF9kaXJfbXV0ZXgodm9pZCkKK3sKKwlpbnQgajsKKworCWxhenlfZGlyX211dGV4X2FycmF5ID0geGNhbGxvYyhMQVpZX01BWF9NVVRFWCwgc2l6ZW9mKHB0aHJlYWRfbXV0ZXhfdCkpOworCisJZm9yIChqID0gMDsgaiA8IExBWllfTUFYX01VVEVYOyBqKyspCisJCWluaXRfcmVjdXJzaXZlX211dGV4KCZsYXp5X2Rpcl9tdXRleF9hcnJheVtqXSk7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFudXBfZGlyX211dGV4KHZvaWQpCit7CisJaW50IGo7CisKKwlmb3IgKGogPSAwOyBqIDwgTEFaWV9NQVhfTVVURVg7IGorKykKKwkJcHRocmVhZF9tdXRleF9kZXN0cm95KCZsYXp5X2Rpcl9tdXRleF9hcnJheVtqXSk7CisKKwlmcmVlKGxhenlfZGlyX211dGV4X2FycmF5KTsKK30KKworc3RhdGljIHZvaWQgbG9ja19kaXJfbXV0ZXgoaW50IGopCit7CisJcHRocmVhZF9tdXRleF9sb2NrKCZsYXp5X2Rpcl9tdXRleF9hcnJheVtqXSk7Cit9CisKK3N0YXRpYyB2b2lkIHVubG9ja19kaXJfbXV0ZXgoaW50IGopCit7CisJcHRocmVhZF9tdXRleF91bmxvY2soJmxhenlfZGlyX211dGV4X2FycmF5W2pdKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgY29tcHV0ZV9kaXJfbG9ja19ucigKKwljb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLAorCXVuc2lnbmVkIGludCBoYXNoKQoreworCXJldHVybiBoYXNobWFwX2J1Y2tldChtYXAsIGhhc2gpICUgTEFaWV9NQVhfTVVURVg7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZGlyX2VudHJ5ICpoYXNoX2Rpcl9lbnRyeV93aXRoX3BhcmVudF9hbmRfcHJlZml4KAorCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCXN0cnVjdCBkaXJfZW50cnkgKnBhcmVudCwKKwlzdHJ1Y3Qgc3RyYnVmICpwcmVmaXgpCit7CisJc3RydWN0IGRpcl9lbnRyeSAqZGlyOworCXVuc2lnbmVkIGludCBoYXNoOworCWludCBsb2NrX25yOworCisJLyoKKwkgKiBFaXRoZXIgd2UgaGF2ZSBhIHBhcmVudCBkaXJlY3RvcnkgYW5kIHBhdGggd2l0aCBzbGFzaChlcykKKwkgKiBvciB0aGUgZGlyZWN0b3J5IGlzIGFuIGltbWVkaWF0ZSBjaGlsZCBvZiB0aGUgcm9vdCBkaXJlY3RvcnkuCisJICovCisJYXNzZXJ0KChwYXJlbnQgIT0gTlVMTCkgXiAoc3RyY2hyKHByZWZpeC0+YnVmLCAnLycpID09IE5VTEwpKTsKKworCWlmIChwYXJlbnQpCisJCWhhc2ggPSBtZW1paGFzaF9jb250KHBhcmVudC0+ZW50Lmhhc2gsCisJCQlwcmVmaXgtPmJ1ZiArIHBhcmVudC0+bmFtZWxlbiwKKwkJCXByZWZpeC0+bGVuIC0gcGFyZW50LT5uYW1lbGVuKTsKKwllbHNlCisJCWhhc2ggPSBtZW1paGFzaChwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4pOworCisJbG9ja19uciA9IGNvbXB1dGVfZGlyX2xvY2tfbnIoJmlzdGF0ZS0+ZGlyX2hhc2gsIGhhc2gpOworCWxvY2tfZGlyX211dGV4KGxvY2tfbnIpOworCisJZGlyID0gZmluZF9kaXJfZW50cnlfX2hhc2goaXN0YXRlLCBwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4sIGhhc2gpOworCWlmICghZGlyKSB7CisJCUZMRVhfQUxMT0NfTUVNKGRpciwgbmFtZSwgcHJlZml4LT5idWYsIHByZWZpeC0+bGVuKTsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KGRpciwgaGFzaCk7CisJCWRpci0+bmFtZWxlbiA9IHByZWZpeC0+bGVuOworCQlkaXItPnBhcmVudCA9IHBhcmVudDsKKwkJaGFzaG1hcF9hZGQoJmlzdGF0ZS0+ZGlyX2hhc2gsIGRpcik7CisKKwkJaWYgKHBhcmVudCkgeworCQkJdW5sb2NrX2Rpcl9tdXRleChsb2NrX25yKTsKKworCQkJLyogQWxsIEkgcmVhbGx5IG5lZWQgaGVyZSBpcyBhbiBJbnRlcmxvY2tlZEluY3JlbWVudCgmKHBhcmVudC0+bnIpKSAqLworCQkJbG9ja19uciA9IGNvbXB1dGVfZGlyX2xvY2tfbnIoJmlzdGF0ZS0+ZGlyX2hhc2gsIHBhcmVudC0+ZW50Lmhhc2gpOworCQkJbG9ja19kaXJfbXV0ZXgobG9ja19ucik7CisJCQlwYXJlbnQtPm5yKys7CisJCX0KKwl9CisKKwl1bmxvY2tfZGlyX211dGV4KGxvY2tfbnIpOworCisJcmV0dXJuIGRpcjsKK30KKworLyoKKyAqIGhhbmRsZV9yYW5nZV8xKCkgYW5kIGhhbmRsZV9yYW5nZV9kaXIoKSBhcmUgZGVyaXZlZCBmcm9tCisgKiBjbGVhcl9jZV9mbGFnc18xKCkgYW5kIGNsZWFyX2NlX2ZsYWdzX2RpcigpIGluIHVucGFjay10cmVlcy5jCisgKiBhbmQgaGFuZGxlIHRoZSBpdGVyYXRpb24gb3ZlciB0aGUgZW50aXJlIGFycmF5IG9mIGluZGV4IGVudHJpZXMuCisgKiBUaGV5IHVzZSByZWN1cnNpb24gZm9yIGFkamFjZW50IGVudHJpZXMgaW4gdGhlIHNhbWUgcGFyZW50CisgKiBkaXJlY3RvcnkuCisgKi8KK3N0YXRpYyBpbnQgaGFuZGxlX3JhbmdlXzEoCisJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJaW50IGtfc3RhcnQsCisJaW50IGtfZW5kLAorCXN0cnVjdCBkaXJfZW50cnkgKnBhcmVudCwKKwlzdHJ1Y3Qgc3RyYnVmICpwcmVmaXgsCisJc3RydWN0IGxhenlfZW50cnkgKmxhenlfZW50cmllcyk7CisKK3N0YXRpYyBpbnQgaGFuZGxlX3JhbmdlX2RpcigKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwlpbnQga19zdGFydCwKKwlpbnQga19lbmQsCisJc3RydWN0IGRpcl9lbnRyeSAqcGFyZW50LAorCXN0cnVjdCBzdHJidWYgKnByZWZpeCwKKwlzdHJ1Y3QgbGF6eV9lbnRyeSAqbGF6eV9lbnRyaWVzLAorCXN0cnVjdCBkaXJfZW50cnkgKipkaXJfbmV3X291dCkKK3sKKwlpbnQgcmMsIGs7CisJaW50IGlucHV0X3ByZWZpeF9sZW4gPSBwcmVmaXgtPmxlbjsKKwlzdHJ1Y3QgZGlyX2VudHJ5ICpkaXJfbmV3OworCisJZGlyX25ldyA9IGhhc2hfZGlyX2VudHJ5X3dpdGhfcGFyZW50X2FuZF9wcmVmaXgoaXN0YXRlLCBwYXJlbnQsIHByZWZpeCk7CisKKwlzdHJidWZfYWRkY2gocHJlZml4LCAnLycpOworCisJLyoKKwkgKiBTY2FuIGZvcndhcmQgaW4gdGhlIGluZGV4IGFycmF5IGZvciBpbmRleCBlbnRyaWVzIGhhdmluZyB0aGUgc2FtZQorCSAqIHBhdGggcHJlZml4ICh0aGF0IGFyZSBhbHNvIGluIHRoaXMgZGlyZWN0b3J5KS4KKwkgKi8KKwlpZiAoa19zdGFydCArIDEgPj0ga19lbmQpCisJCWsgPSBrX2VuZDsKKwllbHNlIGlmIChzdHJuY21wKGlzdGF0ZS0+Y2FjaGVba19zdGFydCArIDFdLT5uYW1lLCBwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4pID4gMCkKKwkJayA9IGtfc3RhcnQgKyAxOworCWVsc2UgaWYgKHN0cm5jbXAoaXN0YXRlLT5jYWNoZVtrX2VuZCAtIDFdLT5uYW1lLCBwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4pID09IDApCisJCWsgPSBrX2VuZDsKKwllbHNlIHsKKwkJaW50IGJlZ2luID0ga19zdGFydDsKKwkJaW50IGVuZCA9IGtfZW5kOworCQl3aGlsZSAoYmVnaW4gPCBlbmQpIHsKKwkJCWludCBtaWQgPSAoYmVnaW4gKyBlbmQpID4+IDE7CisJCQlpbnQgY21wID0gc3RybmNtcChpc3RhdGUtPmNhY2hlW21pZF0tPm5hbWUsIHByZWZpeC0+YnVmLCBwcmVmaXgtPmxlbik7CisJCQlpZiAoY21wID09IDApIC8qIG1pZCBoYXMgc2FtZSBwcmVmaXg7IGxvb2sgaW4gc2Vjb25kIHBhcnQgKi8KKwkJCQliZWdpbiA9IG1pZCArIDE7CisJCQllbHNlIGlmIChjbXAgPiAwKSAvKiBtaWQgaXMgcGFzdCBncm91cDsgbG9vayBpbiBmaXJzdCBwYXJ0ICovCisJCQkJZW5kID0gbWlkOworCQkJZWxzZQorCQkJCWRpZSgiY2FjaGUgZW50cnkgb3V0IG9mIG9yZGVyIik7CisJCX0KKwkJayA9IGJlZ2luOworCX0KKworCS8qCisJICogUmVjdXJzZSBhbmQgcHJvY2VzcyB3aGF0IHdlIGNhbiBvZiB0aGlzIHN1YnNldCBba19zdGFydCwgaykuCisJICovCisJcmMgPSBoYW5kbGVfcmFuZ2VfMShpc3RhdGUsIGtfc3RhcnQsIGssIGRpcl9uZXcsIHByZWZpeCwgbGF6eV9lbnRyaWVzKTsKKworCXN0cmJ1Zl9zZXRsZW4ocHJlZml4LCBpbnB1dF9wcmVmaXhfbGVuKTsKKworCSpkaXJfbmV3X291dCA9IGRpcl9uZXc7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGhhbmRsZV9yYW5nZV8xKAorCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCWludCBrX3N0YXJ0LAorCWludCBrX2VuZCwKKwlzdHJ1Y3QgZGlyX2VudHJ5ICpwYXJlbnQsCisJc3RydWN0IHN0cmJ1ZiAqcHJlZml4LAorCXN0cnVjdCBsYXp5X2VudHJ5ICpsYXp5X2VudHJpZXMpCit7CisJaW50IGlucHV0X3ByZWZpeF9sZW4gPSBwcmVmaXgtPmxlbjsKKwlpbnQgayA9IGtfc3RhcnQ7CisKKwl3aGlsZSAoayA8IGtfZW5kKSB7CisJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2VfayA9IGlzdGF0ZS0+Y2FjaGVba107CisJCWNvbnN0IGNoYXIgKm5hbWUsICpzbGFzaDsKKworCQlpZiAocHJlZml4LT5sZW4gJiYgc3RybmNtcChjZV9rLT5uYW1lLCBwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4pKQorCQkJYnJlYWs7CisKKwkJbmFtZSA9IGNlX2stPm5hbWUgKyBwcmVmaXgtPmxlbjsKKwkJc2xhc2ggPSBzdHJjaHIobmFtZSwgJy8nKTsKKworCQlpZiAoc2xhc2gpIHsKKwkJCWludCBsZW4gPSBzbGFzaCAtIG5hbWU7CisJCQlpbnQgcHJvY2Vzc2VkOworCQkJc3RydWN0IGRpcl9lbnRyeSAqZGlyX25ldzsKKworCQkJc3RyYnVmX2FkZChwcmVmaXgsIG5hbWUsIGxlbik7CisJCQlwcm9jZXNzZWQgPSBoYW5kbGVfcmFuZ2VfZGlyKGlzdGF0ZSwgaywga19lbmQsIHBhcmVudCwgcHJlZml4LCBsYXp5X2VudHJpZXMsICZkaXJfbmV3KTsKKwkJCWlmIChwcm9jZXNzZWQpIHsKKwkJCQlrICs9IHByb2Nlc3NlZDsKKwkJCQlzdHJidWZfc2V0bGVuKHByZWZpeCwgaW5wdXRfcHJlZml4X2xlbik7CisJCQkJY29udGludWU7CisJCQl9CisKKwkJCXN0cmJ1Zl9hZGRjaChwcmVmaXgsICcvJyk7CisJCQlwcm9jZXNzZWQgPSBoYW5kbGVfcmFuZ2VfMShpc3RhdGUsIGssIGtfZW5kLCBkaXJfbmV3LCBwcmVmaXgsIGxhenlfZW50cmllcyk7CisJCQlrICs9IHByb2Nlc3NlZDsKKwkJCXN0cmJ1Zl9zZXRsZW4ocHJlZml4LCBpbnB1dF9wcmVmaXhfbGVuKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyoKKwkJICogSXQgaXMgdG9vIGV4cGVuc2l2ZSB0byB0YWtlIGEgbG9jayB0byBpbnNlcnQgImNlX2siCisJCSAqIGludG8gImlzdGF0ZS0+bmFtZV9oYXNoIiBhbmQgaW5jcmVtZW50IHRoZSByZWYtY291bnQKKwkJICogb24gdGhlICJwYXJlbnQiIGRpci4gIFNvIHdlIGRlZmVyIGFjdHVhbGx5IHVwZGF0aW5nCisJCSAqIHBlcm1hbmVudCBkYXRhIHN0cnVjdHVyZXMgdW50aWwgcGhhc2UgMiAod2hlcmUgd2UKKwkJICogY2FuIGNoYW5nZSB0aGUgbG9ja2luZyByZXF1aXJlbWVudHMpIGFuZCBzaW1wbHkKKwkJICogYWNjdW11bGF0ZSBvdXIgY3VycmVudCByZXN1bHRzIGludG8gdGhlIGxhenlfZW50cmllcworCQkgKiBkYXRhIGFycmF5KS4KKwkJICoKKwkJICogV2UgZG8gbm90IG5lZWQgdG8gbG9jayB0aGUgbGF6eV9lbnRyaWVzIGFycmF5IGJlY2F1c2UKKwkJICogd2UgaGF2ZSBleGNsdXNpdmUgYWNjZXNzIHRvIHRoZSBjZWxscyBpbiB0aGUgcmFuZ2UKKwkJICogW2tfc3RhcnQsa19lbmQpIHRoYXQgdGhpcyB0aHJlYWQgd2FzIGdpdmVuLgorCQkgKi8KKwkJbGF6eV9lbnRyaWVzW2tdLmRpciA9IHBhcmVudDsKKwkJaWYgKHBhcmVudCkgeworCQkJbGF6eV9lbnRyaWVzW2tdLmhhc2hfbmFtZSA9IG1lbWloYXNoX2NvbnQoCisJCQkJcGFyZW50LT5lbnQuaGFzaCwKKwkJCQljZV9rLT5uYW1lICsgcGFyZW50LT5uYW1lbGVuLAorCQkJCWNlX25hbWVsZW4oY2VfaykgLSBwYXJlbnQtPm5hbWVsZW4pOworCQkJbGF6eV9lbnRyaWVzW2tdLmhhc2hfZGlyID0gcGFyZW50LT5lbnQuaGFzaDsKKwkJfSBlbHNlIHsKKwkJCWxhenlfZW50cmllc1trXS5oYXNoX25hbWUgPSBtZW1paGFzaChjZV9rLT5uYW1lLCBjZV9uYW1lbGVuKGNlX2spKTsKKwkJfQorCisJCWsrKzsKKwl9CisKKwlyZXR1cm4gayAtIGtfc3RhcnQ7Cit9CisKK3N0cnVjdCBsYXp5X2Rpcl90aHJlYWRfZGF0YSB7CisJcHRocmVhZF90IHB0aHJlYWQ7CisJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGU7CisJc3RydWN0IGxhenlfZW50cnkgKmxhenlfZW50cmllczsKKwlpbnQga19zdGFydDsKKwlpbnQga19lbmQ7Cit9OworCitzdGF0aWMgdm9pZCAqbGF6eV9kaXJfdGhyZWFkX3Byb2Modm9pZCAqX2RhdGEpCit7CisJc3RydWN0IGxhenlfZGlyX3RocmVhZF9kYXRhICpkID0gX2RhdGE7CisJc3RydWN0IHN0cmJ1ZiBwcmVmaXggPSBTVFJCVUZfSU5JVDsKKwloYW5kbGVfcmFuZ2VfMShkLT5pc3RhdGUsIGQtPmtfc3RhcnQsIGQtPmtfZW5kLCBOVUxMLCAmcHJlZml4LCBkLT5sYXp5X2VudHJpZXMpOworCXN0cmJ1Zl9yZWxlYXNlKCZwcmVmaXgpOworCXJldHVybiBOVUxMOworfQorCitzdHJ1Y3QgbGF6eV9uYW1lX3RocmVhZF9kYXRhIHsKKwlwdGhyZWFkX3QgcHRocmVhZDsKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZTsKKwlzdHJ1Y3QgbGF6eV9lbnRyeSAqbGF6eV9lbnRyaWVzOworfTsKKworc3RhdGljIHZvaWQgKmxhenlfbmFtZV90aHJlYWRfcHJvYyh2b2lkICpfZGF0YSkKK3sKKwlzdHJ1Y3QgbGF6eV9uYW1lX3RocmVhZF9kYXRhICpkID0gX2RhdGE7CisJaW50IGs7CisKKwlmb3IgKGsgPSAwOyBrIDwgZC0+aXN0YXRlLT5jYWNoZV9ucjsgaysrKSB7CisJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2VfayA9IGQtPmlzdGF0ZS0+Y2FjaGVba107CisJCWNlX2stPmNlX2ZsYWdzIHw9IENFX0hBU0hFRDsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KGNlX2ssIGQtPmxhenlfZW50cmllc1trXS5oYXNoX25hbWUpOworCQloYXNobWFwX2FkZCgmZC0+aXN0YXRlLT5uYW1lX2hhc2gsIGNlX2spOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbGF6eV91cGRhdGVfZGlyX3JlZl9jb3VudHMoCisJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJc3RydWN0IGxhenlfZW50cnkgKmxhenlfZW50cmllcykKK3sKKwlpbnQgazsKKworCWZvciAoayA9IDA7IGsgPCBpc3RhdGUtPmNhY2hlX25yOyBrKyspIHsKKwkJaWYgKGxhenlfZW50cmllc1trXS5kaXIpCisJCQlsYXp5X2VudHJpZXNba10uZGlyLT5ucisrOworCX0KK30KKworc3RhdGljIHZvaWQgdGhyZWFkZWRfbGF6eV9pbml0X25hbWVfaGFzaCgKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKK3sKKwlpbnQgbnJfZWFjaDsKKwlpbnQga19zdGFydDsKKwlpbnQgdDsKKwlzdHJ1Y3QgbGF6eV9lbnRyeSAqbGF6eV9lbnRyaWVzOworCXN0cnVjdCBsYXp5X2Rpcl90aHJlYWRfZGF0YSAqdGRfZGlyOworCXN0cnVjdCBsYXp5X25hbWVfdGhyZWFkX2RhdGEgKnRkX25hbWU7CisKKwlrX3N0YXJ0ID0gMDsKKwlucl9lYWNoID0gRElWX1JPVU5EX1VQKGlzdGF0ZS0+Y2FjaGVfbnIsIGxhenlfbnJfZGlyX3RocmVhZHMpOworCisJbGF6eV9lbnRyaWVzID0geGNhbGxvYyhpc3RhdGUtPmNhY2hlX25yLCBzaXplb2Yoc3RydWN0IGxhenlfZW50cnkpKTsKKwl0ZF9kaXIgPSB4Y2FsbG9jKGxhenlfbnJfZGlyX3RocmVhZHMsIHNpemVvZihzdHJ1Y3QgbGF6eV9kaXJfdGhyZWFkX2RhdGEpKTsKKwl0ZF9uYW1lID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxhenlfbmFtZV90aHJlYWRfZGF0YSkpOworCisJaW5pdF9kaXJfbXV0ZXgoKTsKKworCS8qCisJICogUGhhc2UgMToKKwkgKiBCdWlsZCAiaXN0YXRlLT5kaXJfaGFzaCIgdXNpbmcgbiAiZGlyIiB0aHJlYWRzIChhbmQgYSByZWFkLW9ubHkgaW5kZXgpLgorCSAqLworCWZvciAodCA9IDA7IHQgPCBsYXp5X25yX2Rpcl90aHJlYWRzOyB0KyspIHsKKwkJc3RydWN0IGxhenlfZGlyX3RocmVhZF9kYXRhICp0ZF9kaXJfdCA9IHRkX2RpciArIHQ7CisJCXRkX2Rpcl90LT5pc3RhdGUgPSBpc3RhdGU7CisJCXRkX2Rpcl90LT5sYXp5X2VudHJpZXMgPSBsYXp5X2VudHJpZXM7CisJCXRkX2Rpcl90LT5rX3N0YXJ0ID0ga19zdGFydDsKKwkJa19zdGFydCArPSBucl9lYWNoOworCQlpZiAoa19zdGFydCA+IGlzdGF0ZS0+Y2FjaGVfbnIpCisJCQlrX3N0YXJ0ID0gaXN0YXRlLT5jYWNoZV9ucjsKKwkJdGRfZGlyX3QtPmtfZW5kID0ga19zdGFydDsKKwkJaWYgKHB0aHJlYWRfY3JlYXRlKCZ0ZF9kaXJfdC0+cHRocmVhZCwgTlVMTCwgbGF6eV9kaXJfdGhyZWFkX3Byb2MsIHRkX2Rpcl90KSkKKwkJCWRpZSgidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X2Rpcl90aHJlYWQiKTsKKwl9CisJZm9yICh0ID0gMDsgdCA8IGxhenlfbnJfZGlyX3RocmVhZHM7IHQrKykgeworCQlzdHJ1Y3QgbGF6eV9kaXJfdGhyZWFkX2RhdGEgKnRkX2Rpcl90ID0gdGRfZGlyICsgdDsKKwkJaWYgKHB0aHJlYWRfam9pbih0ZF9kaXJfdC0+cHRocmVhZCwgTlVMTCkpCisJCQlkaWUoInVuYWJsZSB0byBqb2luIGxhenlfZGlyX3RocmVhZCIpOworCX0KKworCS8qCisJICogUGhhc2UgMjoKKwkgKiBJdGVyYXRlIG92ZXIgYWxsIGluZGV4IGVudHJpZXMgYW5kIGFkZCB0aGVtIHRvIHRoZSAiaXN0YXRlLT5uYW1lX2hhc2giCisJICogdXNpbmcgYSBzaW5nbGUgIm5hbWUiIGJhY2tncm91bmQgdGhyZWFkLgorCSAqIChUZXN0aW5nIHNob3dlZCBpdCB3YXNuJ3Qgd29ydGggcnVubmluZyBtb3JlIHRoYW4gMSB0aHJlYWQgZm9yIHRoaXMuKQorCSAqCisJICogTWVhbndoaWxlLCBmaW5pc2ggdXBkYXRpbmcgdGhlIHBhcmVudCBkaXJlY3RvcnkgcmVmLWNvdW50cyBmb3IgZWFjaAorCSAqIGluZGV4IGVudHJ5IHVzaW5nIHRoZSBjdXJyZW50IHRocmVhZC4gIChUaGlzIHN0ZXAgaXMgdmVyeSBmYXN0IGFuZAorCSAqIGRvZXNuJ3QgbmVlZCB0aHJlYWRpbmcuKQorCSAqLworCXRkX25hbWUtPmlzdGF0ZSA9IGlzdGF0ZTsKKwl0ZF9uYW1lLT5sYXp5X2VudHJpZXMgPSBsYXp5X2VudHJpZXM7CisJaWYgKHB0aHJlYWRfY3JlYXRlKCZ0ZF9uYW1lLT5wdGhyZWFkLCBOVUxMLCBsYXp5X25hbWVfdGhyZWFkX3Byb2MsIHRkX25hbWUpKQorCQlkaWUoInVuYWJsZSB0byBjcmVhdGUgbGF6eV9uYW1lX3RocmVhZCIpOworCisJbGF6eV91cGRhdGVfZGlyX3JlZl9jb3VudHMoaXN0YXRlLCBsYXp5X2VudHJpZXMpOworCisJaWYgKHB0aHJlYWRfam9pbih0ZF9uYW1lLT5wdGhyZWFkLCBOVUxMKSkKKwkJZGllKCJ1bmFibGUgdG8gam9pbiBsYXp5X25hbWVfdGhyZWFkIik7CisKKwljbGVhbnVwX2Rpcl9tdXRleCgpOworCisJZnJlZSh0ZF9uYW1lKTsKKwlmcmVlKHRkX2Rpcik7CisJZnJlZShsYXp5X2VudHJpZXMpOworfQorCisjZW5kaWYKKwogc3RhdGljIHZvaWQgbGF6eV9pbml0X25hbWVfaGFzaChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKIHsKLQlpbnQgbnI7Ci0KIAlpZiAoaXN0YXRlLT5uYW1lX2hhc2hfaW5pdGlhbGl6ZWQpCiAJCXJldHVybjsKLQloYXNobWFwX2luaXQoJmlzdGF0ZS0+bmFtZV9oYXNoLCAoaGFzaG1hcF9jbXBfZm4pIGNhY2hlX2VudHJ5X2NtcCwKLQkJCWlzdGF0ZS0+Y2FjaGVfbnIpOwotCWhhc2htYXBfaW5pdCgmaXN0YXRlLT5kaXJfaGFzaCwgKGhhc2htYXBfY21wX2ZuKSBkaXJfZW50cnlfY21wLCAwKTsKLQlmb3IgKG5yID0gMDsgbnIgPCBpc3RhdGUtPmNhY2hlX25yOyBucisrKQotCQloYXNoX2luZGV4X2VudHJ5KGlzdGF0ZSwgaXN0YXRlLT5jYWNoZVtucl0pOworCWhhc2htYXBfaW5pdCgmaXN0YXRlLT5uYW1lX2hhc2gsIGNhY2hlX2VudHJ5X2NtcCwgTlVMTCwgaXN0YXRlLT5jYWNoZV9ucik7CisJaGFzaG1hcF9pbml0KCZpc3RhdGUtPmRpcl9oYXNoLCBkaXJfZW50cnlfY21wLCBOVUxMLCBpc3RhdGUtPmNhY2hlX25yKTsKKworCWlmIChsb29rdXBfbGF6eV9wYXJhbXMoaXN0YXRlKSkgeworCQkvKgorCQkgKiBEaXNhYmxlIGl0ZW0gY291bnRpbmcgYW5kIGF1dG9tYXRpYyByZWhhc2hpbmcgYmVjYXVzZQorCQkgKiB3ZSBkbyBwZXItY2hhaW4gKG1vZCBuKSBsb2NraW5nIHJhdGhlciB0aGFuIHdob2xlIGhhc2htYXAKKwkJICogbG9ja2luZyBhbmQgd2UgbmVlZCB0byBwcmV2ZW50IHRoZSB0YWJsZS1zaXplIGZyb20gY2hhbmdpbmcKKwkJICogYW5kIGJ1Y2tldCBpdGVtcyBmcm9tIGJlaW5nIHJlZGlzdHJpYnV0ZWQuCisJCSAqLworCQloYXNobWFwX2Rpc2FibGVfaXRlbV9jb3VudGluZygmaXN0YXRlLT5kaXJfaGFzaCk7CisJCXRocmVhZGVkX2xhenlfaW5pdF9uYW1lX2hhc2goaXN0YXRlKTsKKwkJaGFzaG1hcF9lbmFibGVfaXRlbV9jb3VudGluZygmaXN0YXRlLT5kaXJfaGFzaCk7CisJfSBlbHNlIHsKKwkJaW50IG5yOworCQlmb3IgKG5yID0gMDsgbnIgPCBpc3RhdGUtPmNhY2hlX25yOyBucisrKQorCQkJaGFzaF9pbmRleF9lbnRyeShpc3RhdGUsIGlzdGF0ZS0+Y2FjaGVbbnJdKTsKKwl9CisKIAlpc3RhdGUtPm5hbWVfaGFzaF9pbml0aWFsaXplZCA9IDE7CiB9CiAKKy8qCisgKiBBIHRlc3Qgcm91dGluZSBmb3IgdC9oZWxwZXIvIHNvdXJjZXMuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHRocmVhZHMgdXNlZCBvciAwIHdoZW4KKyAqIHRoZSBub24tdGhyZWFkZWQgY29kZSBwYXRoIHdhcyB1c2VkLgorICoKKyAqIFJlcXVlc3RpbmcgdGhyZWFkaW5nIFdJTEwgTk9UIG92ZXJyaWRlIGd1YXJkcworICogaW4gbG9va3VwX2xhenlfcGFyYW1zKCkuCisgKi8KK2ludCB0ZXN0X2xhenlfaW5pdF9uYW1lX2hhc2goc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGludCB0cnlfdGhyZWFkZWQpCit7CisJbGF6eV9ucl9kaXJfdGhyZWFkcyA9IDA7CisJbGF6eV90cnlfdGhyZWFkZWQgPSB0cnlfdGhyZWFkZWQ7CisKKwlsYXp5X2luaXRfbmFtZV9oYXNoKGlzdGF0ZSk7CisKKwlyZXR1cm4gbGF6eV9ucl9kaXJfdGhyZWFkczsKK30KKwogdm9pZCBhZGRfbmFtZV9oYXNoKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKQogewogCWlmIChpc3RhdGUtPm5hbWVfaGFzaF9pbml0aWFsaXplZCkKZGlmZiAtLWdpdCBhL25vdGVzLWNhY2hlLmMgYi9ub3Rlcy1jYWNoZS5jCmluZGV4IDVkZmM1Y2IuLjI5YjRjZWQgMTAwNjQ0Ci0tLSBhL25vdGVzLWNhY2hlLmMKKysrIGIvbm90ZXMtY2FjaGUuYwpAQCAtNSwxNiArNSwxNiBAQAogCiBzdGF0aWMgaW50IG5vdGVzX2NhY2hlX21hdGNoX3ZhbGlkaXR5KGNvbnN0IGNoYXIgKnJlZiwgY29uc3QgY2hhciAqdmFsaWRpdHkpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJc3RydWN0IHByZXR0eV9wcmludF9jb250ZXh0IHByZXR0eV9jdHg7CiAJc3RydWN0IHN0cmJ1ZiBtc2cgPSBTVFJCVUZfSU5JVDsKIAlpbnQgcmV0OwogCi0JaWYgKHJlYWRfcmVmKHJlZiwgc2hhMSkgPCAwKQorCWlmIChyZWFkX3JlZihyZWYsIG9pZC5oYXNoKSA8IDApCiAJCXJldHVybiAwOwogCi0JY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHNoYTEsIDEpOworCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSgmb2lkLCAxKTsKIAlpZiAoIWNvbW1pdCkKIAkJcmV0dXJuIDA7CiAKQEAgLTQ2LDggKzQ2LDcgQEAKIAogaW50IG5vdGVzX2NhY2hlX3dyaXRlKHN0cnVjdCBub3Rlc19jYWNoZSAqYykKIHsKLQl1bnNpZ25lZCBjaGFyIHRyZWVfc2hhMVsyMF07Ci0JdW5zaWduZWQgY2hhciBjb21taXRfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCB0cmVlX29pZCwgY29tbWl0X29pZDsKIAogCWlmICghYyB8fCAhYy0+dHJlZS5pbml0aWFsaXplZCB8fCAhYy0+dHJlZS51cGRhdGVfcmVmIHx8CiAJICAgICEqYy0+dHJlZS51cGRhdGVfcmVmKQpAQCAtNTUsNDEgKzU0LDQxIEBACiAJaWYgKCFjLT50cmVlLmRpcnR5KQogCQlyZXR1cm4gMDsKIAotCWlmICh3cml0ZV9ub3Rlc190cmVlKCZjLT50cmVlLCB0cmVlX3NoYTEpKQorCWlmICh3cml0ZV9ub3Rlc190cmVlKCZjLT50cmVlLCB0cmVlX29pZC5oYXNoKSkKIAkJcmV0dXJuIC0xOwotCWlmIChjb21taXRfdHJlZShjLT52YWxpZGl0eSwgc3RybGVuKGMtPnZhbGlkaXR5KSwgdHJlZV9zaGExLCBOVUxMLAotCQkJY29tbWl0X3NoYTEsIE5VTEwsIE5VTEwpIDwgMCkKKwlpZiAoY29tbWl0X3RyZWUoYy0+dmFsaWRpdHksIHN0cmxlbihjLT52YWxpZGl0eSksIHRyZWVfb2lkLmhhc2gsIE5VTEwsCisJCQljb21taXRfb2lkLmhhc2gsIE5VTEwsIE5VTEwpIDwgMCkKIAkJcmV0dXJuIC0xOwotCWlmICh1cGRhdGVfcmVmKCJ1cGRhdGUgbm90ZXMgY2FjaGUiLCBjLT50cmVlLnVwZGF0ZV9yZWYsIGNvbW1pdF9zaGExLAorCWlmICh1cGRhdGVfcmVmKCJ1cGRhdGUgbm90ZXMgY2FjaGUiLCBjLT50cmVlLnVwZGF0ZV9yZWYsIGNvbW1pdF9vaWQuaGFzaCwKIAkJICAgICAgIE5VTEwsIDAsIFVQREFURV9SRUZTX1FVSUVUX09OX0VSUikgPCAwKQogCQlyZXR1cm4gLTE7CiAKIAlyZXR1cm4gMDsKIH0KIAotY2hhciAqbm90ZXNfY2FjaGVfZ2V0KHN0cnVjdCBub3Rlc19jYWNoZSAqYywgdW5zaWduZWQgY2hhciBrZXlfc2hhMVsyMF0sCitjaGFyICpub3Rlc19jYWNoZV9nZXQoc3RydWN0IG5vdGVzX2NhY2hlICpjLCBzdHJ1Y3Qgb2JqZWN0X2lkICprZXlfb2lkLAogCQkgICAgICBzaXplX3QgKm91dHNpemUpCiB7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqdmFsdWVfc2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp2YWx1ZV9vaWQ7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCWNoYXIgKnZhbHVlOwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAotCXZhbHVlX3NoYTEgPSBnZXRfbm90ZSgmYy0+dHJlZSwga2V5X3NoYTEpOwotCWlmICghdmFsdWVfc2hhMSkKKwl2YWx1ZV9vaWQgPSBnZXRfbm90ZSgmYy0+dHJlZSwga2V5X29pZCk7CisJaWYgKCF2YWx1ZV9vaWQpCiAJCXJldHVybiBOVUxMOwotCXZhbHVlID0gcmVhZF9zaGExX2ZpbGUodmFsdWVfc2hhMSwgJnR5cGUsICZzaXplKTsKKwl2YWx1ZSA9IHJlYWRfc2hhMV9maWxlKHZhbHVlX29pZC0+aGFzaCwgJnR5cGUsICZzaXplKTsKIAogCSpvdXRzaXplID0gc2l6ZTsKIAlyZXR1cm4gdmFsdWU7CiB9CiAKLWludCBub3Rlc19jYWNoZV9wdXQoc3RydWN0IG5vdGVzX2NhY2hlICpjLCB1bnNpZ25lZCBjaGFyIGtleV9zaGExWzIwXSwKK2ludCBub3Rlc19jYWNoZV9wdXQoc3RydWN0IG5vdGVzX2NhY2hlICpjLCBzdHJ1Y3Qgb2JqZWN0X2lkICprZXlfb2lkLAogCQkgICAgY29uc3QgY2hhciAqZGF0YSwgc2l6ZV90IHNpemUpCiB7Ci0JdW5zaWduZWQgY2hhciB2YWx1ZV9zaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHZhbHVlX29pZDsKIAotCWlmICh3cml0ZV9zaGExX2ZpbGUoZGF0YSwgc2l6ZSwgImJsb2IiLCB2YWx1ZV9zaGExKSA8IDApCisJaWYgKHdyaXRlX3NoYTFfZmlsZShkYXRhLCBzaXplLCAiYmxvYiIsIHZhbHVlX29pZC5oYXNoKSA8IDApCiAJCXJldHVybiAtMTsKLQlyZXR1cm4gYWRkX25vdGUoJmMtPnRyZWUsIGtleV9zaGExLCB2YWx1ZV9zaGExLCBOVUxMKTsKKwlyZXR1cm4gYWRkX25vdGUoJmMtPnRyZWUsIGtleV9vaWQsICZ2YWx1ZV9vaWQsIE5VTEwpOwogfQpkaWZmIC0tZ2l0IGEvbm90ZXMtY2FjaGUuaCBiL25vdGVzLWNhY2hlLmgKaW5kZXggMzU2Zjg4Zi4uYWVlZWU4NCAxMDA2NDQKLS0tIGEvbm90ZXMtY2FjaGUuaAorKysgYi9ub3Rlcy1jYWNoZS5oCkBAIC0xMiw5ICsxMiw5IEBACiAJCSAgICAgY29uc3QgY2hhciAqdmFsaWRpdHkpOwogaW50IG5vdGVzX2NhY2hlX3dyaXRlKHN0cnVjdCBub3Rlc19jYWNoZSAqYyk7CiAKLWNoYXIgKm5vdGVzX2NhY2hlX2dldChzdHJ1Y3Qgbm90ZXNfY2FjaGUgKmMsIHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sIHNpemVfdAorY2hhciAqbm90ZXNfY2FjaGVfZ2V0KHN0cnVjdCBub3Rlc19jYWNoZSAqYywgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBzaXplX3QKIAkJICAgICAgKm91dHNpemUpOwotaW50IG5vdGVzX2NhY2hlX3B1dChzdHJ1Y3Qgbm90ZXNfY2FjaGUgKmMsIHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sCitpbnQgbm90ZXNfY2FjaGVfcHV0KHN0cnVjdCBub3Rlc19jYWNoZSAqYywgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkgICAgY29uc3QgY2hhciAqZGF0YSwgc2l6ZV90IHNpemUpOwogCiAjZW5kaWYgLyogTk9URVNfQ0FDSEVfSCAqLwpkaWZmIC0tZ2l0IGEvbm90ZXMtbWVyZ2UuYyBiL25vdGVzLW1lcmdlLmMKaW5kZXggNTk5ODYwNS4uNDM1MmMzNCAxMDA2NDQKLS0tIGEvbm90ZXMtbWVyZ2UuYworKysgYi9ub3Rlcy1tZXJnZS5jCkBAIC0yMiwyMSArMjIsMjEgQEAKIAlvLT52ZXJib3NpdHkgPSBOT1RFU19NRVJHRV9WRVJCT1NJVFlfREVGQVVMVDsKIH0KIAotc3RhdGljIGludCBwYXRoX3RvX3NoYTEoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgcGF0aF90b19vaWQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCWNoYXIgaGV4X3NoYTFbNDBdOworCWNoYXIgaGV4X29pZFtHSVRfU0hBMV9IRVhTWl07CiAJaW50IGkgPSAwOwotCXdoaWxlICgqcGF0aCAmJiBpIDwgNDApIHsKKwl3aGlsZSAoKnBhdGggJiYgaSA8IEdJVF9TSEExX0hFWFNaKSB7CiAJCWlmICgqcGF0aCAhPSAnLycpCi0JCQloZXhfc2hhMVtpKytdID0gKnBhdGg7CisJCQloZXhfb2lkW2krK10gPSAqcGF0aDsKIAkJcGF0aCsrOwogCX0KLQlpZiAoKnBhdGggfHwgaSAhPSA0MCkKKwlpZiAoKnBhdGggfHwgaSAhPSBHSVRfU0hBMV9IRVhTWikKIAkJcmV0dXJuIC0xOwotCXJldHVybiBnZXRfc2hhMV9oZXgoaGV4X3NoYTEsIHNoYTEpOworCXJldHVybiBnZXRfb2lkX2hleChoZXhfb2lkLCBvaWQpOwogfQogCi1zdGF0aWMgaW50IHZlcmlmeV9ub3Rlc19maWxlcGFpcihzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcCwgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgdmVyaWZ5X25vdGVzX2ZpbGVwYWlyKHN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3dpdGNoIChwLT5zdGF0dXMpIHsKIAljYXNlIERJRkZfU1RBVFVTX01PRElGSUVEOgpAQCAtNTQsMTEgKzU0LDExIEBACiAJCXJldHVybiAtMTsKIAl9CiAJYXNzZXJ0KCFzdHJjbXAocC0+b25lLT5wYXRoLCBwLT50d28tPnBhdGgpKTsKLQlyZXR1cm4gcGF0aF90b19zaGExKHAtPm9uZS0+cGF0aCwgc2hhMSk7CisJcmV0dXJuIHBhdGhfdG9fb2lkKHAtPm9uZS0+cGF0aCwgb2lkKTsKIH0KIAogc3RhdGljIHN0cnVjdCBub3Rlc19tZXJnZV9wYWlyICpmaW5kX25vdGVzX21lcmdlX3BhaXJfcG9zKAotCQlzdHJ1Y3Qgbm90ZXNfbWVyZ2VfcGFpciAqbGlzdCwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqb2JqLAorCQlzdHJ1Y3Qgbm90ZXNfbWVyZ2VfcGFpciAqbGlzdCwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2JqLAogCQlpbnQgaW5zZXJ0X25ldywgaW50ICpvY2N1cGllZCkKIHsKIAkvKgpAQCAtNzUsNyArNzUsNyBAQAogCWludCBpID0gbGFzdF9pbmRleCA8IGxlbiA/IGxhc3RfaW5kZXggOiBsZW4gLSAxOwogCWludCBwcmV2X2NtcCA9IDAsIGNtcCA9IC0xOwogCXdoaWxlIChpID49IDAgJiYgaSA8IGxlbikgewotCQljbXAgPSBoYXNoY21wKG9iaiwgbGlzdFtpXS5vYmouaGFzaCk7CisJCWNtcCA9IG9pZGNtcChvYmosICZsaXN0W2ldLm9iaik7CiAJCWlmICghY21wKSAvKiBvYmogYmVsb25ncyBAIGkgKi8KIAkJCWJyZWFrOwogCQllbHNlIGlmIChjbXAgPCAwICYmIHByZXZfY21wIDw9IDApIC8qIG9iaiBiZWxvbmdzIDwgaSAqLwpAQCAtOTksOCArOTksNyBAQAogCWVsc2UgewogCQkqb2NjdXBpZWQgPSAwOwogCQlpZiAoaW5zZXJ0X25ldyAmJiBpIDwgbGVuKSB7Ci0JCQltZW1tb3ZlKGxpc3QgKyBpICsgMSwgbGlzdCArIGksCi0JCQkJKGxlbiAtIGkpICogc2l6ZW9mKHN0cnVjdCBub3Rlc19tZXJnZV9wYWlyKSk7CisJCQlNT1ZFX0FSUkFZKGxpc3QgKyBpICsgMSwgbGlzdCArIGksIGxlbiAtIGkpOwogCQkJbWVtc2V0KGxpc3QgKyBpLCAwLCBzaXplb2Yoc3RydWN0IG5vdGVzX21lcmdlX3BhaXIpKTsKIAkJfQogCX0KQEAgLTExNCw4ICsxMTMsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBub3Rlc19tZXJnZV9wYWlyICpkaWZmX3RyZWVfcmVtb3RlKHN0cnVjdCBub3Rlc19tZXJnZV9vcHRpb25zICpvLAotCQkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJhc2UsCi0JCQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqcmVtb3RlLAorCQkJCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmJhc2UsCisJCQkJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqcmVtb3RlLAogCQkJCQkJIGludCAqbnVtX2NoYW5nZXMpCiB7CiAJc3RydWN0IGRpZmZfb3B0aW9ucyBvcHQ7CkBAIC0xMjMsMTMgKzEyMiwxMyBAQAogCWludCBpLCBsZW4gPSAwOwogCiAJdHJhY2VfcHJpbnRmKCJcdGRpZmZfdHJlZV9yZW1vdGUoYmFzZSA9ICUuN3MsIHJlbW90ZSA9ICUuN3MpXG4iLAotCSAgICAgICBzaGExX3RvX2hleChiYXNlKSwgc2hhMV90b19oZXgocmVtb3RlKSk7CisJICAgICAgIG9pZF90b19oZXgoYmFzZSksIG9pZF90b19oZXgocmVtb3RlKSk7CiAKIAlkaWZmX3NldHVwKCZvcHQpOwogCURJRkZfT1BUX1NFVCgmb3B0LCBSRUNVUlNJVkUpOwogCW9wdC5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTk9fT1VUUFVUOwogCWRpZmZfc2V0dXBfZG9uZSgmb3B0KTsKLQlkaWZmX3RyZWVfc2hhMShiYXNlLCByZW1vdGUsICIiLCAmb3B0KTsKKwlkaWZmX3RyZWVfb2lkKGJhc2UsIHJlbW90ZSwgIiIsICZvcHQpOwogCWRpZmZjb3JlX3N0ZCgmb3B0KTsKIAogCWNoYW5nZXMgPSB4Y2FsbG9jKGRpZmZfcXVldWVkX2RpZmYubnIsIHNpemVvZihzdHJ1Y3Qgbm90ZXNfbWVyZ2VfcGFpcikpOwpAQCAtMTM4LDE5ICsxMzcsMTkgQEAKIAkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBkaWZmX3F1ZXVlZF9kaWZmLnF1ZXVlW2ldOwogCQlzdHJ1Y3Qgbm90ZXNfbWVyZ2VfcGFpciAqbXA7CiAJCWludCBvY2N1cGllZDsKLQkJdW5zaWduZWQgY2hhciBvYmpbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9iajsKIAotCQlpZiAodmVyaWZ5X25vdGVzX2ZpbGVwYWlyKHAsIG9iaikpIHsKKwkJaWYgKHZlcmlmeV9ub3Rlc19maWxlcGFpcihwLCAmb2JqKSkgewogCQkJdHJhY2VfcHJpbnRmKCJcdFx0Q2Fubm90IG1lcmdlIGVudHJ5ICclcycgKCVjKTogIgogCQkJICAgICAgICIlLjdzIC0+ICUuN3MuIFNraXBwaW5nIVxuIiwgcC0+b25lLT5wYXRoLAogCQkJICAgICAgIHAtPnN0YXR1cywgb2lkX3RvX2hleCgmcC0+b25lLT5vaWQpLAogCQkJICAgICAgIG9pZF90b19oZXgoJnAtPnR3by0+b2lkKSk7CiAJCQljb250aW51ZTsKIAkJfQotCQltcCA9IGZpbmRfbm90ZXNfbWVyZ2VfcGFpcl9wb3MoY2hhbmdlcywgbGVuLCBvYmosIDEsICZvY2N1cGllZCk7CisJCW1wID0gZmluZF9ub3Rlc19tZXJnZV9wYWlyX3BvcyhjaGFuZ2VzLCBsZW4sICZvYmosIDEsICZvY2N1cGllZCk7CiAJCWlmIChvY2N1cGllZCkgewogCQkJLyogV2UndmUgZm91bmQgYW4gYWRkaXRpb24vZGVsZXRpb24gcGFpciAqLwotCQkJYXNzZXJ0KCFoYXNoY21wKG1wLT5vYmouaGFzaCwgb2JqKSk7CisJCQlhc3NlcnQoIW9pZGNtcCgmbXAtPm9iaiwgJm9iaikpOwogCQkJaWYgKGlzX251bGxfb2lkKCZwLT5vbmUtPm9pZCkpIHsgLyogYWRkaXRpb24gKi8KIAkJCQlhc3NlcnQoaXNfbnVsbF9vaWQoJm1wLT5yZW1vdGUpKTsKIAkJCQlvaWRjcHkoJm1wLT5yZW1vdGUsICZwLT50d28tPm9pZCk7CkBAIC0xNjAsNyArMTU5LDcgQEAKIAkJCX0gZWxzZQogCQkJCWFzc2VydCghIkludmFsaWQgZXhpc3RpbmcgY2hhbmdlIHJlY29yZGVkIik7CiAJCX0gZWxzZSB7Ci0JCQloYXNoY3B5KG1wLT5vYmouaGFzaCwgb2JqKTsKKwkJCW9pZGNweSgmbXAtPm9iaiwgJm9iaik7CiAJCQlvaWRjcHkoJm1wLT5iYXNlLCAmcC0+b25lLT5vaWQpOwogCQkJb2lkY3B5KCZtcC0+bG9jYWwsICZ1bmluaXRpYWxpemVkKTsKIAkJCW9pZGNweSgmbXAtPnJlbW90ZSwgJnAtPnR3by0+b2lkKTsKQEAgLTE3OSw0NSArMTc4LDQ1IEBACiAKIHN0YXRpYyB2b2lkIGRpZmZfdHJlZV9sb2NhbChzdHJ1Y3Qgbm90ZXNfbWVyZ2Vfb3B0aW9ucyAqbywKIAkJCSAgICBzdHJ1Y3Qgbm90ZXNfbWVyZ2VfcGFpciAqY2hhbmdlcywgaW50IGxlbiwKLQkJCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpiYXNlLAotCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmxvY2FsKQorCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmJhc2UsCisJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbG9jYWwpCiB7CiAJc3RydWN0IGRpZmZfb3B0aW9ucyBvcHQ7CiAJaW50IGk7CiAKIAl0cmFjZV9wcmludGYoIlx0ZGlmZl90cmVlX2xvY2FsKGxlbiA9ICVpLCBiYXNlID0gJS43cywgbG9jYWwgPSAlLjdzKVxuIiwKLQkgICAgICAgbGVuLCBzaGExX3RvX2hleChiYXNlKSwgc2hhMV90b19oZXgobG9jYWwpKTsKKwkgICAgICAgbGVuLCBvaWRfdG9faGV4KGJhc2UpLCBvaWRfdG9faGV4KGxvY2FsKSk7CiAKIAlkaWZmX3NldHVwKCZvcHQpOwogCURJRkZfT1BUX1NFVCgmb3B0LCBSRUNVUlNJVkUpOwogCW9wdC5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTk9fT1VUUFVUOwogCWRpZmZfc2V0dXBfZG9uZSgmb3B0KTsKLQlkaWZmX3RyZWVfc2hhMShiYXNlLCBsb2NhbCwgIiIsICZvcHQpOworCWRpZmZfdHJlZV9vaWQoYmFzZSwgbG9jYWwsICIiLCAmb3B0KTsKIAlkaWZmY29yZV9zdGQoJm9wdCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZGlmZl9xdWV1ZWRfZGlmZi5ucjsgaSsrKSB7CiAJCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gZGlmZl9xdWV1ZWRfZGlmZi5xdWV1ZVtpXTsKIAkJc3RydWN0IG5vdGVzX21lcmdlX3BhaXIgKm1wOwogCQlpbnQgbWF0Y2g7Ci0JCXVuc2lnbmVkIGNoYXIgb2JqWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvYmo7CiAKLQkJaWYgKHZlcmlmeV9ub3Rlc19maWxlcGFpcihwLCBvYmopKSB7CisJCWlmICh2ZXJpZnlfbm90ZXNfZmlsZXBhaXIocCwgJm9iaikpIHsKIAkJCXRyYWNlX3ByaW50ZigiXHRcdENhbm5vdCBtZXJnZSBlbnRyeSAnJXMnICglYyk6ICIKIAkJCSAgICAgICAiJS43cyAtPiAlLjdzLiBTa2lwcGluZyFcbiIsIHAtPm9uZS0+cGF0aCwKIAkJCSAgICAgICBwLT5zdGF0dXMsIG9pZF90b19oZXgoJnAtPm9uZS0+b2lkKSwKIAkJCSAgICAgICBvaWRfdG9faGV4KCZwLT50d28tPm9pZCkpOwogCQkJY29udGludWU7CiAJCX0KLQkJbXAgPSBmaW5kX25vdGVzX21lcmdlX3BhaXJfcG9zKGNoYW5nZXMsIGxlbiwgb2JqLCAwLCAmbWF0Y2gpOworCQltcCA9IGZpbmRfbm90ZXNfbWVyZ2VfcGFpcl9wb3MoY2hhbmdlcywgbGVuLCAmb2JqLCAwLCAmbWF0Y2gpOwogCQlpZiAoIW1hdGNoKSB7CiAJCQl0cmFjZV9wcmludGYoIlx0XHRJZ25vcmluZyBsb2NhbC1vbmx5IGNoYW5nZSBmb3IgJXM6ICIKLQkJCSAgICAgICAiJS43cyAtPiAlLjdzXG4iLCBzaGExX3RvX2hleChvYmopLAorCQkJICAgICAgICIlLjdzIC0+ICUuN3NcbiIsIG9pZF90b19oZXgoJm9iaiksCiAJCQkgICAgICAgb2lkX3RvX2hleCgmcC0+b25lLT5vaWQpLAogCQkJICAgICAgIG9pZF90b19oZXgoJnAtPnR3by0+b2lkKSk7CiAJCQljb250aW51ZTsKIAkJfQogCi0JCWFzc2VydCghaGFzaGNtcChtcC0+b2JqLmhhc2gsIG9iaikpOworCQlhc3NlcnQoIW9pZGNtcCgmbXAtPm9iaiwgJm9iaikpOwogCQlpZiAoaXNfbnVsbF9vaWQoJnAtPnR3by0+b2lkKSkgeyAvKiBkZWxldGlvbiAqLwogCQkJLyoKIAkJCSAqIEVpdGhlciB0aGlzIGlzIGEgdHJ1ZSBkZWxldGlvbiAoMSksIG9yIGl0IGlzIHBhcnQKQEAgLTI5MiwyNSArMjkxLDIzIEBACiAJCSAgICBnaXRfcGF0aChOT1RFU19NRVJHRV9XT1JLVFJFRSkpOwogfQogCi1zdGF0aWMgdm9pZCB3cml0ZV9idWZfdG9fd29ya3RyZWUoY29uc3QgdW5zaWduZWQgY2hhciAqb2JqLAorc3RhdGljIHZvaWQgd3JpdGVfYnVmX3RvX3dvcmt0cmVlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9iaiwKIAkJCQkgIGNvbnN0IGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplKQogewogCWludCBmZDsKLQljaGFyICpwYXRoID0gZ2l0X3BhdGhkdXAoTk9URVNfTUVSR0VfV09SS1RSRUUgIi8lcyIsIHNoYTFfdG9faGV4KG9iaikpOworCWNoYXIgKnBhdGggPSBnaXRfcGF0aGR1cChOT1RFU19NRVJHRV9XT1JLVFJFRSAiLyVzIiwgb2lkX3RvX2hleChvYmopKTsKIAlpZiAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllc19jb25zdChwYXRoKSkKIAkJZGllX2Vycm5vKCJ1bmFibGUgdG8gY3JlYXRlIGRpcmVjdG9yeSBmb3IgJyVzJyIsIHBhdGgpOwogCiAJZmQgPSB4b3BlbihwYXRoLCBPX1dST05MWSB8IE9fRVhDTCB8IE9fQ1JFQVQsIDA2NjYpOwogCiAJd2hpbGUgKHNpemUgPiAwKSB7Ci0JCWxvbmcgcmV0ID0gd3JpdGVfaW5fZnVsbChmZCwgYnVmLCBzaXplKTsKKwkJc3NpemVfdCByZXQgPSB3cml0ZV9pbl9mdWxsKGZkLCBidWYsIHNpemUpOwogCQlpZiAocmV0IDwgMCkgewogCQkJLyogSWdub3JlIGVwaXBlICovCiAJCQlpZiAoZXJybm8gPT0gRVBJUEUpCiAJCQkJYnJlYWs7CiAJCQlkaWVfZXJybm8oIm5vdGVzLW1lcmdlIik7Ci0JCX0gZWxzZSBpZiAoIXJldCkgewotCQkJZGllKCJub3Rlcy1tZXJnZTogZGlzayBmdWxsPyIpOwogCQl9CiAJCXNpemUgLT0gcmV0OwogCQlidWYgKz0gcmV0OwpAQCAtMzIwLDE5ICszMTcsMTkgQEAKIAlmcmVlKHBhdGgpOwogfQogCi1zdGF0aWMgdm9pZCB3cml0ZV9ub3RlX3RvX3dvcmt0cmVlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9iaiwKLQkJCQkgICBjb25zdCB1bnNpZ25lZCBjaGFyICpub3RlKQorc3RhdGljIHZvaWQgd3JpdGVfbm90ZV90b193b3JrdHJlZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmosCisJCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbm90ZSkKIHsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJdW5zaWduZWQgbG9uZyBzaXplOwotCXZvaWQgKmJ1ZiA9IHJlYWRfc2hhMV9maWxlKG5vdGUsICZ0eXBlLCAmc2l6ZSk7CisJdm9pZCAqYnVmID0gcmVhZF9zaGExX2ZpbGUobm90ZS0+aGFzaCwgJnR5cGUsICZzaXplKTsKIAogCWlmICghYnVmKQogCQlkaWUoImNhbm5vdCByZWFkIG5vdGUgJXMgZm9yIG9iamVjdCAlcyIsCi0JCSAgICBzaGExX3RvX2hleChub3RlKSwgc2hhMV90b19oZXgob2JqKSk7CisJCSAgICBvaWRfdG9faGV4KG5vdGUpLCBvaWRfdG9faGV4KG9iaikpOwogCWlmICh0eXBlICE9IE9CSl9CTE9CKQogCQlkaWUoImJsb2IgZXhwZWN0ZWQgaW4gbm90ZSAlcyBmb3Igb2JqZWN0ICVzIiwKLQkJICAgIHNoYTFfdG9faGV4KG5vdGUpLCBzaGExX3RvX2hleChvYmopKTsKKwkJICAgIG9pZF90b19oZXgobm90ZSksIG9pZF90b19oZXgob2JqKSk7CiAJd3JpdGVfYnVmX3RvX3dvcmt0cmVlKG9iaiwgYnVmLCBzaXplKTsKIAlmcmVlKGJ1Zik7CiB9CkBAIC0zNTgsNyArMzU1LDcgQEAKIAlpZiAoKHN0YXR1cyA8IDApIHx8ICFyZXN1bHRfYnVmLnB0cikKIAkJZGllKCJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIpOwogCi0Jd3JpdGVfYnVmX3RvX3dvcmt0cmVlKHAtPm9iai5oYXNoLCByZXN1bHRfYnVmLnB0ciwgcmVzdWx0X2J1Zi5zaXplKTsKKwl3cml0ZV9idWZfdG9fd29ya3RyZWUoJnAtPm9iaiwgcmVzdWx0X2J1Zi5wdHIsIHJlc3VsdF9idWYuc2l6ZSk7CiAJZnJlZShyZXN1bHRfYnVmLnB0cik7CiAKIAlyZXR1cm4gc3RhdHVzOwpAQCAtMzkzLDcgKzM5MCw3IEBACiAJCQkJImRlbGV0ZWQgaW4gJXMgYW5kIG1vZGlmaWVkIGluICVzLiBWZXJzaW9uIGZyb20gJXMgIgogCQkJCSJsZWZ0IGluIHRyZWUuXG4iLAogCQkJCW9pZF90b19oZXgoJnAtPm9iaiksIGxyZWYsIHJyZWYsIHJyZWYpOwotCQl3cml0ZV9ub3RlX3RvX3dvcmt0cmVlKHAtPm9iai5oYXNoLCBwLT5yZW1vdGUuaGFzaCk7CisJCXdyaXRlX25vdGVfdG9fd29ya3RyZWUoJnAtPm9iaiwgJnAtPnJlbW90ZSk7CiAJfSBlbHNlIGlmIChpc19udWxsX29pZCgmcC0+cmVtb3RlKSkgewogCQkvKiBEL0YgY29uZmxpY3QsIGNoZWNrb3V0IHAtPmxvY2FsICovCiAJCWFzc2VydCghaXNfbnVsbF9vaWQoJnAtPmxvY2FsKSk7CkBAIC00MDIsNyArMzk5LDcgQEAKIAkJCQkiZGVsZXRlZCBpbiAlcyBhbmQgbW9kaWZpZWQgaW4gJXMuIFZlcnNpb24gZnJvbSAlcyAiCiAJCQkJImxlZnQgaW4gdHJlZS5cbiIsCiAJCQkJb2lkX3RvX2hleCgmcC0+b2JqKSwgcnJlZiwgbHJlZiwgbHJlZik7Ci0JCXdyaXRlX25vdGVfdG9fd29ya3RyZWUocC0+b2JqLmhhc2gsIHAtPmxvY2FsLmhhc2gpOworCQl3cml0ZV9ub3RlX3RvX3dvcmt0cmVlKCZwLT5vYmosICZwLT5sb2NhbCk7CiAJfSBlbHNlIHsKIAkJLyogInJlZ3VsYXIiIGNvbmZsaWN0LCBjaGVja291dCByZXN1bHQgb2YgbGxfbWVyZ2UoKSAqLwogCQljb25zdCBjaGFyICpyZWFzb24gPSAiY29udGVudCI7CkBAIC00NDQsMTQgKzQ0MSwxNCBAQAogCQlpZiAoby0+dmVyYm9zaXR5ID49IDIpCiAJCQlwcmludGYoIlVzaW5nIHJlbW90ZSBub3RlcyBmb3IgJXNcbiIsCiAJCQkJCQlvaWRfdG9faGV4KCZwLT5vYmopKTsKLQkJaWYgKGFkZF9ub3RlKHQsIHAtPm9iai5oYXNoLCBwLT5yZW1vdGUuaGFzaCwgY29tYmluZV9ub3Rlc19vdmVyd3JpdGUpKQorCQlpZiAoYWRkX25vdGUodCwgJnAtPm9iaiwgJnAtPnJlbW90ZSwgY29tYmluZV9ub3Rlc19vdmVyd3JpdGUpKQogCQkJZGllKCJCVUc6IGNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlIGZhaWxlZCIpOwogCQlyZXR1cm4gMDsKIAljYXNlIE5PVEVTX01FUkdFX1JFU09MVkVfVU5JT046CiAJCWlmIChvLT52ZXJib3NpdHkgPj0gMikKIAkJCXByaW50ZigiQ29uY2F0ZW5hdGluZyBsb2NhbCBhbmQgcmVtb3RlIG5vdGVzIGZvciAlc1xuIiwKIAkJCQkJCQlvaWRfdG9faGV4KCZwLT5vYmopKTsKLQkJaWYgKGFkZF9ub3RlKHQsIHAtPm9iai5oYXNoLCBwLT5yZW1vdGUuaGFzaCwgY29tYmluZV9ub3Rlc19jb25jYXRlbmF0ZSkpCisJCWlmIChhZGRfbm90ZSh0LCAmcC0+b2JqLCAmcC0+cmVtb3RlLCBjb21iaW5lX25vdGVzX2NvbmNhdGVuYXRlKSkKIAkJCWRpZSgiZmFpbGVkIHRvIGNvbmNhdGVuYXRlIG5vdGVzICIKIAkJCSAgICAiKGNvbWJpbmVfbm90ZXNfY29uY2F0ZW5hdGUpIik7CiAJCXJldHVybiAwOwpAQCAtNDU5LDcgKzQ1Niw3IEBACiAJCWlmIChvLT52ZXJib3NpdHkgPj0gMikKIAkJCXByaW50ZigiQ29uY2F0ZW5hdGluZyB1bmlxdWUgbGluZXMgaW4gbG9jYWwgYW5kIHJlbW90ZSAiCiAJCQkJIm5vdGVzIGZvciAlc1xuIiwgb2lkX3RvX2hleCgmcC0+b2JqKSk7Ci0JCWlmIChhZGRfbm90ZSh0LCBwLT5vYmouaGFzaCwgcC0+cmVtb3RlLmhhc2gsIGNvbWJpbmVfbm90ZXNfY2F0X3NvcnRfdW5pcSkpCisJCWlmIChhZGRfbm90ZSh0LCAmcC0+b2JqLCAmcC0+cmVtb3RlLCBjb21iaW5lX25vdGVzX2NhdF9zb3J0X3VuaXEpKQogCQkJZGllKCJmYWlsZWQgdG8gY29uY2F0ZW5hdGUgbm90ZXMgIgogCQkJICAgICIoY29tYmluZV9ub3Rlc19jYXRfc29ydF91bmlxKSIpOwogCQlyZXR1cm4gMDsKQEAgLTQ5MSw3ICs0ODgsNyBAQAogCQkJICAgIW9pZGNtcCgmcC0+bG9jYWwsICZwLT5iYXNlKSkgewogCQkJLyogbm8gbG9jYWwgY2hhbmdlOyBhZG9wdCByZW1vdGUgY2hhbmdlICovCiAJCQl0cmFjZV9wcmludGYoIlx0XHRcdG5vIGxvY2FsIGNoYW5nZSwgYWRvcHRlZCByZW1vdGVcbiIpOwotCQkJaWYgKGFkZF9ub3RlKHQsIHAtPm9iai5oYXNoLCBwLT5yZW1vdGUuaGFzaCwKKwkJCWlmIChhZGRfbm90ZSh0LCAmcC0+b2JqLCAmcC0+cmVtb3RlLAogCQkJCSAgICAgY29tYmluZV9ub3Rlc19vdmVyd3JpdGUpKQogCQkJCWRpZSgiQlVHOiBjb21iaW5lX25vdGVzX292ZXJ3cml0ZSBmYWlsZWQiKTsKIAkJfSBlbHNlIHsKQEAgLTUwNSwxNiArNTAyLDE3IEBACiB9CiAKIHN0YXRpYyBpbnQgbWVyZ2VfZnJvbV9kaWZmcyhzdHJ1Y3Qgbm90ZXNfbWVyZ2Vfb3B0aW9ucyAqbywKLQkJCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpiYXNlLAotCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmxvY2FsLAotCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlbW90ZSwgc3RydWN0IG5vdGVzX3RyZWUgKnQpCisJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYmFzZSwKKwkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpsb2NhbCwKKwkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZW1vdGUsCisJCQkgICAgc3RydWN0IG5vdGVzX3RyZWUgKnQpCiB7CiAJc3RydWN0IG5vdGVzX21lcmdlX3BhaXIgKmNoYW5nZXM7CiAJaW50IG51bV9jaGFuZ2VzLCBjb25mbGljdHM7CiAKIAl0cmFjZV9wcmludGYoIlx0bWVyZ2VfZnJvbV9kaWZmcyhiYXNlID0gJS43cywgbG9jYWwgPSAlLjdzLCAiCi0JICAgICAgICJyZW1vdGUgPSAlLjdzKVxuIiwgc2hhMV90b19oZXgoYmFzZSksIHNoYTFfdG9faGV4KGxvY2FsKSwKLQkgICAgICAgc2hhMV90b19oZXgocmVtb3RlKSk7CisJICAgICAgICJyZW1vdGUgPSAlLjdzKVxuIiwgb2lkX3RvX2hleChiYXNlKSwgb2lkX3RvX2hleChsb2NhbCksCisJICAgICAgIG9pZF90b19oZXgocmVtb3RlKSk7CiAKIAljaGFuZ2VzID0gZGlmZl90cmVlX3JlbW90ZShvLCBiYXNlLCByZW1vdGUsICZudW1fY2hhbmdlcyk7CiAJZGlmZl90cmVlX2xvY2FsKG8sIGNoYW5nZXMsIG51bV9jaGFuZ2VzLCBiYXNlLCBsb2NhbCk7CkBAIC01MzMsNjIgKzUzMSw2MiBAQAogCiBpbnQgbm90ZXNfbWVyZ2Uoc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8sCiAJCXN0cnVjdCBub3Rlc190cmVlICpsb2NhbF90cmVlLAotCQl1bnNpZ25lZCBjaGFyICpyZXN1bHRfc2hhMSkKKwkJc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0X29pZCkKIHsKLQl1bnNpZ25lZCBjaGFyIGxvY2FsX3NoYTFbMjBdLCByZW1vdGVfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBsb2NhbF9vaWQsIHJlbW90ZV9vaWQ7CiAJc3RydWN0IGNvbW1pdCAqbG9jYWwsICpyZW1vdGU7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpiYXNlcyA9IE5VTEw7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqYmFzZV9zaGExLCAqYmFzZV90cmVlX3NoYTE7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYmFzZV9vaWQsICpiYXNlX3RyZWVfb2lkOwogCWludCByZXN1bHQgPSAwOwogCiAJYXNzZXJ0KG8tPmxvY2FsX3JlZiAmJiBvLT5yZW1vdGVfcmVmKTsKIAlhc3NlcnQoIXN0cmNtcChvLT5sb2NhbF9yZWYsIGxvY2FsX3RyZWUtPnJlZikpOwotCWhhc2hjbHIocmVzdWx0X3NoYTEpOworCW9pZGNscihyZXN1bHRfb2lkKTsKIAogCXRyYWNlX3ByaW50Zigibm90ZXNfbWVyZ2Uoby0+bG9jYWxfcmVmID0gJXMsIG8tPnJlbW90ZV9yZWYgPSAlcylcbiIsCiAJICAgICAgIG8tPmxvY2FsX3JlZiwgby0+cmVtb3RlX3JlZik7CiAKIAkvKiBEZXJlZmVyZW5jZSBvLT5sb2NhbF9yZWYgaW50byBsb2NhbF9zaGExICovCi0JaWYgKHJlYWRfcmVmX2Z1bGwoby0+bG9jYWxfcmVmLCAwLCBsb2NhbF9zaGExLCBOVUxMKSkKKwlpZiAocmVhZF9yZWZfZnVsbChvLT5sb2NhbF9yZWYsIDAsIGxvY2FsX29pZC5oYXNoLCBOVUxMKSkKIAkJZGllKCJGYWlsZWQgdG8gcmVzb2x2ZSBsb2NhbCBub3RlcyByZWYgJyVzJyIsIG8tPmxvY2FsX3JlZik7CiAJZWxzZSBpZiAoIWNoZWNrX3JlZm5hbWVfZm9ybWF0KG8tPmxvY2FsX3JlZiwgMCkgJiYKLQkJaXNfbnVsbF9zaGExKGxvY2FsX3NoYTEpKQotCQlsb2NhbCA9IE5VTEw7IC8qIGxvY2FsX3NoYTEgPT0gbnVsbF9zaGExIGluZGljYXRlcyB1bmJvcm4gcmVmICovCi0JZWxzZSBpZiAoIShsb2NhbCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKGxvY2FsX3NoYTEpKSkKKwkJaXNfbnVsbF9vaWQoJmxvY2FsX29pZCkpCisJCWxvY2FsID0gTlVMTDsgLyogbG9jYWxfb2lkID09IG51bGxfb2lkIGluZGljYXRlcyB1bmJvcm4gcmVmICovCisJZWxzZSBpZiAoIShsb2NhbCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZsb2NhbF9vaWQpKSkKIAkJZGllKCJDb3VsZCBub3QgcGFyc2UgbG9jYWwgY29tbWl0ICVzICglcykiLAotCQkgICAgc2hhMV90b19oZXgobG9jYWxfc2hhMSksIG8tPmxvY2FsX3JlZik7Ci0JdHJhY2VfcHJpbnRmKCJcdGxvY2FsIGNvbW1pdDogJS43c1xuIiwgc2hhMV90b19oZXgobG9jYWxfc2hhMSkpOworCQkgICAgb2lkX3RvX2hleCgmbG9jYWxfb2lkKSwgby0+bG9jYWxfcmVmKTsKKwl0cmFjZV9wcmludGYoIlx0bG9jYWwgY29tbWl0OiAlLjdzXG4iLCBvaWRfdG9faGV4KCZsb2NhbF9vaWQpKTsKIAotCS8qIERlcmVmZXJlbmNlIG8tPnJlbW90ZV9yZWYgaW50byByZW1vdGVfc2hhMSAqLwotCWlmIChnZXRfc2hhMShvLT5yZW1vdGVfcmVmLCByZW1vdGVfc2hhMSkpIHsKKwkvKiBEZXJlZmVyZW5jZSBvLT5yZW1vdGVfcmVmIGludG8gcmVtb3RlX29pZCAqLworCWlmIChnZXRfb2lkKG8tPnJlbW90ZV9yZWYsICZyZW1vdGVfb2lkKSkgewogCQkvKgotCQkgKiBGYWlsZWQgdG8gZ2V0IHJlbW90ZV9zaGExLiBJZiBvLT5yZW1vdGVfcmVmIGxvb2tzIGxpa2UgYW4KKwkJICogRmFpbGVkIHRvIGdldCByZW1vdGVfb2lkLiBJZiBvLT5yZW1vdGVfcmVmIGxvb2tzIGxpa2UgYW4KIAkJICogdW5ib3JuIHJlZiwgcGVyZm9ybSB0aGUgbWVyZ2UgdXNpbmcgYW4gZW1wdHkgbm90ZXMgdHJlZS4KIAkJICovCiAJCWlmICghY2hlY2tfcmVmbmFtZV9mb3JtYXQoby0+cmVtb3RlX3JlZiwgMCkpIHsKLQkJCWhhc2hjbHIocmVtb3RlX3NoYTEpOworCQkJb2lkY2xyKCZyZW1vdGVfb2lkKTsKIAkJCXJlbW90ZSA9IE5VTEw7CiAJCX0gZWxzZSB7CiAJCQlkaWUoIkZhaWxlZCB0byByZXNvbHZlIHJlbW90ZSBub3RlcyByZWYgJyVzJyIsCiAJCQkgICAgby0+cmVtb3RlX3JlZik7CiAJCX0KLQl9IGVsc2UgaWYgKCEocmVtb3RlID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UocmVtb3RlX3NoYTEpKSkgeworCX0gZWxzZSBpZiAoIShyZW1vdGUgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmcmVtb3RlX29pZCkpKSB7CiAJCWRpZSgiQ291bGQgbm90IHBhcnNlIHJlbW90ZSBjb21taXQgJXMgKCVzKSIsCi0JCSAgICBzaGExX3RvX2hleChyZW1vdGVfc2hhMSksIG8tPnJlbW90ZV9yZWYpOworCQkgICAgb2lkX3RvX2hleCgmcmVtb3RlX29pZCksIG8tPnJlbW90ZV9yZWYpOwogCX0KLQl0cmFjZV9wcmludGYoIlx0cmVtb3RlIGNvbW1pdDogJS43c1xuIiwgc2hhMV90b19oZXgocmVtb3RlX3NoYTEpKTsKKwl0cmFjZV9wcmludGYoIlx0cmVtb3RlIGNvbW1pdDogJS43c1xuIiwgb2lkX3RvX2hleCgmcmVtb3RlX29pZCkpOwogCiAJaWYgKCFsb2NhbCAmJiAhcmVtb3RlKQogCQlkaWUoIkNhbm5vdCBtZXJnZSBlbXB0eSBub3RlcyByZWYgKCVzKSBpbnRvIGVtcHR5IG5vdGVzIHJlZiAiCiAJCSAgICAiKCVzKSIsIG8tPnJlbW90ZV9yZWYsIG8tPmxvY2FsX3JlZik7CiAJaWYgKCFsb2NhbCkgewogCQkvKiByZXN1bHQgPT0gcmVtb3RlIGNvbW1pdCAqLwotCQloYXNoY3B5KHJlc3VsdF9zaGExLCByZW1vdGVfc2hhMSk7CisJCW9pZGNweShyZXN1bHRfb2lkLCAmcmVtb3RlX29pZCk7CiAJCWdvdG8gZm91bmRfcmVzdWx0OwogCX0KIAlpZiAoIXJlbW90ZSkgewogCQkvKiByZXN1bHQgPT0gbG9jYWwgY29tbWl0ICovCi0JCWhhc2hjcHkocmVzdWx0X3NoYTEsIGxvY2FsX3NoYTEpOworCQlvaWRjcHkocmVzdWx0X29pZCwgJmxvY2FsX29pZCk7CiAJCWdvdG8gZm91bmRfcmVzdWx0OwogCX0KIAlhc3NlcnQobG9jYWwgJiYgcmVtb3RlKTsKQEAgLTU5Niw0OCArNTk0LDQ4IEBACiAJLyogRmluZCBtZXJnZSBiYXNlcyAqLwogCWJhc2VzID0gZ2V0X21lcmdlX2Jhc2VzKGxvY2FsLCByZW1vdGUpOwogCWlmICghYmFzZXMpIHsKLQkJYmFzZV9zaGExID0gbnVsbF9zaGExOwotCQliYXNlX3RyZWVfc2hhMSA9IEVNUFRZX1RSRUVfU0hBMV9CSU47CisJCWJhc2Vfb2lkID0gJm51bGxfb2lkOworCQliYXNlX3RyZWVfb2lkID0gJmVtcHR5X3RyZWVfb2lkOwogCQlpZiAoby0+dmVyYm9zaXR5ID49IDQpCiAJCQlwcmludGYoIk5vIG1lcmdlIGJhc2UgZm91bmQ7IGRvaW5nIGhpc3RvcnktbGVzcyBtZXJnZVxuIik7CiAJfSBlbHNlIGlmICghYmFzZXMtPm5leHQpIHsKLQkJYmFzZV9zaGExID0gYmFzZXMtPml0ZW0tPm9iamVjdC5vaWQuaGFzaDsKLQkJYmFzZV90cmVlX3NoYTEgPSBiYXNlcy0+aXRlbS0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoOworCQliYXNlX29pZCA9ICZiYXNlcy0+aXRlbS0+b2JqZWN0Lm9pZDsKKwkJYmFzZV90cmVlX29pZCA9ICZiYXNlcy0+aXRlbS0+dHJlZS0+b2JqZWN0Lm9pZDsKIAkJaWYgKG8tPnZlcmJvc2l0eSA+PSA0KQogCQkJcHJpbnRmKCJPbmUgbWVyZ2UgYmFzZSBmb3VuZCAoJS43cylcbiIsCi0JCQkJc2hhMV90b19oZXgoYmFzZV9zaGExKSk7CisJCQkgICAgICAgb2lkX3RvX2hleChiYXNlX29pZCkpOwogCX0gZWxzZSB7CiAJCS8qIFRPRE86IEhvdyB0byBoYW5kbGUgbXVsdGlwbGUgbWVyZ2UtYmFzZXM/ICovCi0JCWJhc2Vfc2hhMSA9IGJhc2VzLT5pdGVtLT5vYmplY3Qub2lkLmhhc2g7Ci0JCWJhc2VfdHJlZV9zaGExID0gYmFzZXMtPml0ZW0tPnRyZWUtPm9iamVjdC5vaWQuaGFzaDsKKwkJYmFzZV9vaWQgPSAmYmFzZXMtPml0ZW0tPm9iamVjdC5vaWQ7CisJCWJhc2VfdHJlZV9vaWQgPSAmYmFzZXMtPml0ZW0tPnRyZWUtPm9iamVjdC5vaWQ7CiAJCWlmIChvLT52ZXJib3NpdHkgPj0gMykKIAkJCXByaW50ZigiTXVsdGlwbGUgbWVyZ2UgYmFzZXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCAiCi0JCQkJIiglLjdzKVxuIiwgc2hhMV90b19oZXgoYmFzZV9zaGExKSk7CisJCQkJIiglLjdzKVxuIiwgb2lkX3RvX2hleChiYXNlX29pZCkpOwogCX0KIAogCWlmIChvLT52ZXJib3NpdHkgPj0gNCkKIAkJcHJpbnRmKCJNZXJnaW5nIHJlbW90ZSBjb21taXQgJS43cyBpbnRvIGxvY2FsIGNvbW1pdCAlLjdzIHdpdGggIgogCQkJIm1lcmdlLWJhc2UgJS43c1xuIiwgb2lkX3RvX2hleCgmcmVtb3RlLT5vYmplY3Qub2lkKSwKIAkJCW9pZF90b19oZXgoJmxvY2FsLT5vYmplY3Qub2lkKSwKLQkJCXNoYTFfdG9faGV4KGJhc2Vfc2hhMSkpOworCQkJb2lkX3RvX2hleChiYXNlX29pZCkpOwogCi0JaWYgKCFoYXNoY21wKHJlbW90ZS0+b2JqZWN0Lm9pZC5oYXNoLCBiYXNlX3NoYTEpKSB7CisJaWYgKCFvaWRjbXAoJnJlbW90ZS0+b2JqZWN0Lm9pZCwgYmFzZV9vaWQpKSB7CiAJCS8qIEFscmVhZHkgbWVyZ2VkOyByZXN1bHQgPT0gbG9jYWwgY29tbWl0ICovCiAJCWlmIChvLT52ZXJib3NpdHkgPj0gMikKLQkJCXByaW50ZigiQWxyZWFkeSB1cC10by1kYXRlIVxuIik7Ci0JCWhhc2hjcHkocmVzdWx0X3NoYTEsIGxvY2FsLT5vYmplY3Qub2lkLmhhc2gpOworCQkJcHJpbnRmKCJBbHJlYWR5IHVwIHRvIGRhdGUhXG4iKTsKKwkJb2lkY3B5KHJlc3VsdF9vaWQsICZsb2NhbC0+b2JqZWN0Lm9pZCk7CiAJCWdvdG8gZm91bmRfcmVzdWx0OwogCX0KLQlpZiAoIWhhc2hjbXAobG9jYWwtPm9iamVjdC5vaWQuaGFzaCwgYmFzZV9zaGExKSkgeworCWlmICghb2lkY21wKCZsb2NhbC0+b2JqZWN0Lm9pZCwgYmFzZV9vaWQpKSB7CiAJCS8qIEZhc3QtZm9yd2FyZDsgcmVzdWx0ID09IHJlbW90ZSBjb21taXQgKi8KIAkJaWYgKG8tPnZlcmJvc2l0eSA+PSAyKQogCQkJcHJpbnRmKCJGYXN0LWZvcndhcmRcbiIpOwotCQloYXNoY3B5KHJlc3VsdF9zaGExLCByZW1vdGUtPm9iamVjdC5vaWQuaGFzaCk7CisJCW9pZGNweShyZXN1bHRfb2lkLCAmcmVtb3RlLT5vYmplY3Qub2lkKTsKIAkJZ290byBmb3VuZF9yZXN1bHQ7CiAJfQogCi0JcmVzdWx0ID0gbWVyZ2VfZnJvbV9kaWZmcyhvLCBiYXNlX3RyZWVfc2hhMSwgbG9jYWwtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCwKLQkJCQkgIHJlbW90ZS0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoLCBsb2NhbF90cmVlKTsKKwlyZXN1bHQgPSBtZXJnZV9mcm9tX2RpZmZzKG8sIGJhc2VfdHJlZV9vaWQsICZsb2NhbC0+dHJlZS0+b2JqZWN0Lm9pZCwKKwkJCQkgICZyZW1vdGUtPnRyZWUtPm9iamVjdC5vaWQsIGxvY2FsX3RyZWUpOwogCiAJaWYgKHJlc3VsdCAhPSAwKSB7IC8qIG5vbi10cml2aWFsIG1lcmdlICh3aXRoIG9yIHdpdGhvdXQgY29uZmxpY3RzKSAqLwogCQkvKiBDb21taXQgKHBhcnRpYWwpIHJlc3VsdCAqLwpAQCAtNjQ2LDI4ICs2NDQsMjggQEAKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KGxvY2FsLCAmcGFyZW50cyk7CiAJCWNyZWF0ZV9ub3Rlc19jb21taXQobG9jYWxfdHJlZSwgcGFyZW50cywKIAkJCQkgICAgby0+Y29tbWl0X21zZy5idWYsIG8tPmNvbW1pdF9tc2cubGVuLAotCQkJCSAgICByZXN1bHRfc2hhMSk7CisJCQkJICAgIHJlc3VsdF9vaWQtPmhhc2gpOwogCX0KIAogZm91bmRfcmVzdWx0OgogCWZyZWVfY29tbWl0X2xpc3QoYmFzZXMpOwogCXN0cmJ1Zl9yZWxlYXNlKCYoby0+Y29tbWl0X21zZykpOwotCXRyYWNlX3ByaW50Zigibm90ZXNfbWVyZ2UoKTogcmVzdWx0ID0gJWksIHJlc3VsdF9zaGExID0gJS43c1xuIiwKLQkgICAgICAgcmVzdWx0LCBzaGExX3RvX2hleChyZXN1bHRfc2hhMSkpOworCXRyYWNlX3ByaW50Zigibm90ZXNfbWVyZ2UoKTogcmVzdWx0ID0gJWksIHJlc3VsdF9vaWQgPSAlLjdzXG4iLAorCSAgICAgICByZXN1bHQsIG9pZF90b19oZXgocmVzdWx0X29pZCkpOwogCXJldHVybiByZXN1bHQ7CiB9CiAKIGludCBub3Rlc19tZXJnZV9jb21taXQoc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8sCiAJCSAgICAgICBzdHJ1Y3Qgbm90ZXNfdHJlZSAqcGFydGlhbF90cmVlLAogCQkgICAgICAgc3RydWN0IGNvbW1pdCAqcGFydGlhbF9jb21taXQsCi0JCSAgICAgICB1bnNpZ25lZCBjaGFyICpyZXN1bHRfc2hhMSkKKwkJICAgICAgIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdF9vaWQpCiB7CiAJLyoKIAkgKiBJdGVyYXRlIHRocm91Z2ggZmlsZXMgaW4gLmdpdC9OT1RFU19NRVJHRV9XT1JLVFJFRSBhbmQgYWRkIGFsbAogCSAqIGZvdW5kIG5vdGVzIHRvICdwYXJ0aWFsX3RyZWUnLiBXcml0ZSB0aGUgdXBkYXRlZCBub3RlcyB0cmVlIHRvCiAJICogdGhlIERCLCBhbmQgY29tbWl0IHRoZSByZXN1bHRpbmcgdHJlZSBvYmplY3Qgd2hpbGUgcmV1c2luZyB0aGUKIAkgKiBjb21taXQgbWVzc2FnZSBhbmQgcGFyZW50cyBmcm9tICdwYXJ0aWFsX2NvbW1pdCcuCi0JICogRmluYWxseSBzdG9yZSB0aGUgbmV3IGNvbW1pdCBvYmplY3QgU0hBMSBpbnRvICdyZXN1bHRfc2hhMScuCisJICogRmluYWxseSBzdG9yZSB0aGUgbmV3IGNvbW1pdCBvYmplY3QgT0lEIGludG8gJ3Jlc3VsdF9vaWQnLgogCSAqLwogCURJUiAqZGlyOwogCXN0cnVjdCBkaXJlbnQgKmU7CkBAIC02NzYsNyArNjc0LDcgQEAKIAljb25zdCBjaGFyICptc2cgPSBzdHJzdHIoYnVmZmVyLCAiXG5cbiIpOwogCWludCBiYXNlbGVuOwogCi0Jc3RyYnVmX2FkZHN0cigmcGF0aCwgZ2l0X3BhdGgoTk9URVNfTUVSR0VfV09SS1RSRUUpKTsKKwlnaXRfcGF0aF9idWYoJnBhdGgsIE5PVEVTX01FUkdFX1dPUktUUkVFKTsKIAlpZiAoby0+dmVyYm9zaXR5ID49IDMpCiAJCXByaW50ZigiQ29tbWl0dGluZyBub3RlcyBpbiBub3RlcyBtZXJnZSB3b3JrdHJlZSBhdCAlc1xuIiwKIAkJCXBhdGguYnVmKTsKQEAgLTY5MywxMiArNjkxLDEyIEBACiAJYmFzZWxlbiA9IHBhdGgubGVuOwogCXdoaWxlICgoZSA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgewogCQlzdHJ1Y3Qgc3RhdCBzdDsKLQkJdW5zaWduZWQgY2hhciBvYmpfc2hhMVsyMF0sIGJsb2Jfc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2JqX29pZCwgYmxvYl9vaWQ7CiAKIAkJaWYgKGlzX2RvdF9vcl9kb3Rkb3QoZS0+ZF9uYW1lKSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChzdHJsZW4oZS0+ZF9uYW1lKSAhPSA0MCB8fCBnZXRfc2hhMV9oZXgoZS0+ZF9uYW1lLCBvYmpfc2hhMSkpIHsKKwkJaWYgKGdldF9vaWRfaGV4KGUtPmRfbmFtZSwgJm9ial9vaWQpKSB7CiAJCQlpZiAoby0+dmVyYm9zaXR5ID49IDMpCiAJCQkJcHJpbnRmKCJTa2lwcGluZyBub24tU0hBMSBlbnRyeSAnJXMlcydcbiIsCiAJCQkJCXBhdGguYnVmLCBlLT5kX25hbWUpOwpAQCAtNzA5LDIzICs3MDcsMjMgQEAKIAkJLyogd3JpdGUgZmlsZSBhcyBibG9iLCBhbmQgYWRkIHRvIHBhcnRpYWxfdHJlZSAqLwogCQlpZiAoc3RhdChwYXRoLmJ1ZiwgJnN0KSkKIAkJCWRpZV9lcnJubygiRmFpbGVkIHRvIHN0YXQgJyVzJyIsIHBhdGguYnVmKTsKLQkJaWYgKGluZGV4X3BhdGgoYmxvYl9zaGExLCBwYXRoLmJ1ZiwgJnN0LCBIQVNIX1dSSVRFX09CSkVDVCkpCisJCWlmIChpbmRleF9wYXRoKCZibG9iX29pZCwgcGF0aC5idWYsICZzdCwgSEFTSF9XUklURV9PQkpFQ1QpKQogCQkJZGllKCJGYWlsZWQgdG8gd3JpdGUgYmxvYiBvYmplY3QgZnJvbSAnJXMnIiwgcGF0aC5idWYpOwotCQlpZiAoYWRkX25vdGUocGFydGlhbF90cmVlLCBvYmpfc2hhMSwgYmxvYl9zaGExLCBOVUxMKSkKKwkJaWYgKGFkZF9ub3RlKHBhcnRpYWxfdHJlZSwgJm9ial9vaWQsICZibG9iX29pZCwgTlVMTCkpCiAJCQlkaWUoIkZhaWxlZCB0byBhZGQgcmVzb2x2ZWQgbm90ZSAnJXMnIHRvIG5vdGVzIHRyZWUiLAogCQkJICAgIHBhdGguYnVmKTsKIAkJaWYgKG8tPnZlcmJvc2l0eSA+PSA0KQogCQkJcHJpbnRmKCJBZGRlZCByZXNvbHZlZCBub3RlIGZvciBvYmplY3QgJXM6ICVzXG4iLAotCQkJCXNoYTFfdG9faGV4KG9ial9zaGExKSwgc2hhMV90b19oZXgoYmxvYl9zaGExKSk7CisJCQkJb2lkX3RvX2hleCgmb2JqX29pZCksIG9pZF90b19oZXgoJmJsb2Jfb2lkKSk7CiAJCXN0cmJ1Zl9zZXRsZW4oJnBhdGgsIGJhc2VsZW4pOwogCX0KIAogCWNyZWF0ZV9ub3Rlc19jb21taXQocGFydGlhbF90cmVlLCBwYXJ0aWFsX2NvbW1pdC0+cGFyZW50cywKLQkJCSAgICBtc2csIHN0cmxlbihtc2cpLCByZXN1bHRfc2hhMSk7CisJCQkgICAgbXNnLCBzdHJsZW4obXNnKSwgcmVzdWx0X29pZC0+aGFzaCk7CiAJdW51c2VfY29tbWl0X2J1ZmZlcihwYXJ0aWFsX2NvbW1pdCwgYnVmZmVyKTsKIAlpZiAoby0+dmVyYm9zaXR5ID49IDQpCiAJCXByaW50ZigiRmluYWxpemVkIG5vdGVzIG1lcmdlIGNvbW1pdDogJXNcbiIsCi0JCQlzaGExX3RvX2hleChyZXN1bHRfc2hhMSkpOworCQkJb2lkX3RvX2hleChyZXN1bHRfb2lkKSk7CiAJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwogCWNsb3NlZGlyKGRpcik7CiAJcmV0dXJuIDA7CkBAIC03NDEsNyArNzM5LDcgQEAKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCWludCByZXQ7CiAKLQlzdHJidWZfYWRkc3RyKCZidWYsIGdpdF9wYXRoKE5PVEVTX01FUkdFX1dPUktUUkVFKSk7CisJZ2l0X3BhdGhfYnVmKCZidWYsIE5PVEVTX01FUkdFX1dPUktUUkVFKTsKIAlpZiAoby0+dmVyYm9zaXR5ID49IDMpCiAJCXByaW50ZigiUmVtb3Zpbmcgbm90ZXMgbWVyZ2Ugd29ya3RyZWUgYXQgJXMvKlxuIiwgYnVmLmJ1Zik7CiAJcmV0ID0gcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmYnVmLCBSRU1PVkVfRElSX0tFRVBfVE9QTEVWRUwpOwpkaWZmIC0tZ2l0IGEvbm90ZXMtbWVyZ2UuaCBiL25vdGVzLW1lcmdlLmgKaW5kZXggMGQ4OTA1Ni4uZjgxNWYyMyAxMDA2NDQKLS0tIGEvbm90ZXMtbWVyZ2UuaAorKysgYi9ub3Rlcy1tZXJnZS5oCkBAIC0zMiwxNiArMzIsMTYgQEAKICAqIG91dGNvbWVzOgogICoKICAqIDEuIFRoZSBtZXJnZSB0cml2aWFsbHkgcmVzdWx0cyBpbiBhbiBleGlzdGluZyBjb21taXQgKGUuZy4gZmFzdC1mb3J3YXJkIG9yCi0gKiAgICBhbHJlYWR5LXVwLXRvLWRhdGUpLiAnbG9jYWxfdHJlZScgaXMgdW50b3VjaGVkLCB0aGUgU0hBMSBvZiB0aGUgcmVzdWx0Ci0gKiAgICBpcyB3cml0dGVuIGludG8gJ3Jlc3VsdF9zaGExJyBhbmQgMCBpcyByZXR1cm5lZC4KKyAqICAgIGFscmVhZHktdXAtdG8tZGF0ZSkuICdsb2NhbF90cmVlJyBpcyB1bnRvdWNoZWQsIHRoZSBPSUQgb2YgdGhlIHJlc3VsdAorICogICAgaXMgd3JpdHRlbiBpbnRvICdyZXN1bHRfb2lkJyBhbmQgMCBpcyByZXR1cm5lZC4KICAqIDIuIFRoZSBtZXJnZSBzdWNjZXNzZnVsbHkgY29tcGxldGVzLCBwcm9kdWNpbmcgYSBtZXJnZSBjb21taXQuIGxvY2FsX3RyZWUKLSAqICAgIGNvbnRhaW5zIHRoZSB1cGRhdGVkIG5vdGVzIHRyZWUsIHRoZSBTSEExIG9mIHRoZSByZXN1bHRpbmcgY29tbWl0IGlzCi0gKiAgICB3cml0dGVuIGludG8gJ3Jlc3VsdF9zaGExJywgYW5kIDEgaXMgcmV0dXJuZWQuCisgKiAgICBjb250YWlucyB0aGUgdXBkYXRlZCBub3RlcyB0cmVlLCB0aGUgT0lEIG9mIHRoZSByZXN1bHRpbmcgY29tbWl0IGlzCisgKiAgICB3cml0dGVuIGludG8gJ3Jlc3VsdF9vaWQnLCBhbmQgMSBpcyByZXR1cm5lZC4KICAqIDMuIFRoZSBtZXJnZSByZXN1bHRzIGluIGNvbmZsaWN0cy4gVGhpcyBpcyBzaW1pbGFyIHRvICMyIGluIHRoYXQgdGhlCiAgKiAgICBwYXJ0aWFsIG1lcmdlIHJlc3VsdCAoaS5lLiBtZXJnZSByZXN1bHQgbWludXMgdGhlIHVubWVyZ2VkIGVudHJpZXMpCi0gKiAgICBhcmUgc3RvcmVkIGluICdsb2NhbF90cmVlJywgYW5kIHRoZSBTSEExIG9yIHRoZSByZXN1bHRpbmcgY29tbWl0CisgKiAgICBhcmUgc3RvcmVkIGluICdsb2NhbF90cmVlJywgYW5kIHRoZSBPSUQgb3IgdGhlIHJlc3VsdGluZyBjb21taXQKICAqICAgICh0byBiZSBhbWVuZGVkIHdoZW4gdGhlIGNvbmZsaWN0cyBoYXZlIGJlZW4gcmVzb2x2ZWQpIGlzIHdyaXR0ZW4gaW50bwotICogICAgJ3Jlc3VsdF9zaGExJy4gVGhlIHVubWVyZ2VkIGVudHJpZXMgYXJlIHdyaXR0ZW4gaW50byB0aGUKKyAqICAgICdyZXN1bHRfb2lkJy4gVGhlIHVubWVyZ2VkIGVudHJpZXMgYXJlIHdyaXR0ZW4gaW50byB0aGUKICAqICAgIC5naXQvTk9URVNfTUVSR0VfV09SS1RSRUUgZGlyZWN0b3J5IHdpdGggY29uZmxpY3QgbWFya2Vycy4KICAqICAgIC0xIGlzIHJldHVybmVkLgogICoKQEAgLTUyLDcgKzUyLDcgQEAKICAqLwogaW50IG5vdGVzX21lcmdlKHN0cnVjdCBub3Rlc19tZXJnZV9vcHRpb25zICpvLAogCQlzdHJ1Y3Qgbm90ZXNfdHJlZSAqbG9jYWxfdHJlZSwKLQkJdW5zaWduZWQgY2hhciAqcmVzdWx0X3NoYTEpOworCQlzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHRfb2lkKTsKIAogLyoKICAqIEZpbmFsaXplIGNvbmZsaWN0IHJlc29sdXRpb24gZnJvbSBhbiBlYXJsaWVyIG5vdGVzX21lcmdlKCkKQEAgLTYyLDEzICs2MiwxMyBAQAogICogY2FsbCB0byBub3Rlc19tZXJnZSgpLgogICoKICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgdGhlIChub3cgcmVzb2x2ZWQpIG5vdGVzIGluIC5naXQvTk9URVNfTUVSR0VfV09SS1RSRUUKLSAqIHRvICdwYXJ0aWFsX3RyZWUnLCBhbmQgY3JlYXRlIGEgZmluYWwgbm90ZXMgbWVyZ2UgY29tbWl0LCB0aGUgU0hBMSBvZiB3aGljaAotICogd2lsbCBiZSBzdG9yZWQgaW4gJ3Jlc3VsdF9zaGExJy4KKyAqIHRvICdwYXJ0aWFsX3RyZWUnLCBhbmQgY3JlYXRlIGEgZmluYWwgbm90ZXMgbWVyZ2UgY29tbWl0LCB0aGUgT0lEIG9mIHdoaWNoCisgKiB3aWxsIGJlIHN0b3JlZCBpbiAncmVzdWx0X29pZCcuCiAgKi8KIGludCBub3Rlc19tZXJnZV9jb21taXQoc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8sCiAJCSAgICAgICBzdHJ1Y3Qgbm90ZXNfdHJlZSAqcGFydGlhbF90cmVlLAogCQkgICAgICAgc3RydWN0IGNvbW1pdCAqcGFydGlhbF9jb21taXQsCi0JCSAgICAgICB1bnNpZ25lZCBjaGFyICpyZXN1bHRfc2hhMSk7CisJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHRfb2lkKTsKIAogLyoKICAqIEFib3J0IGNvbmZsaWN0IHJlc29sdXRpb24gZnJvbSBhbiBlYXJsaWVyIG5vdGVzX21lcmdlKCkKZGlmZiAtLWdpdCBhL25vdGVzLXV0aWxzLmMgYi9ub3Rlcy11dGlscy5jCmluZGV4IDI0YTMzNjEuLjk3NjVkZWIgMTAwNjQ0Ci0tLSBhL25vdGVzLXV0aWxzLmMKKysrIGIvbm90ZXMtdXRpbHMuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJub3Rlcy11dGlscy5oIgpAQCAtNywxOCArOCwxOCBAQAogCQkJIGNvbnN0IGNoYXIgKm1zZywgc2l6ZV90IG1zZ19sZW4sCiAJCQkgdW5zaWduZWQgY2hhciAqcmVzdWx0X3NoYTEpCiB7Ci0JdW5zaWduZWQgY2hhciB0cmVlX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgdHJlZV9vaWQ7CiAKIAlhc3NlcnQodC0+aW5pdGlhbGl6ZWQpOwogCi0JaWYgKHdyaXRlX25vdGVzX3RyZWUodCwgdHJlZV9zaGExKSkKKwlpZiAod3JpdGVfbm90ZXNfdHJlZSh0LCB0cmVlX29pZC5oYXNoKSkKIAkJZGllKCJGYWlsZWQgdG8gd3JpdGUgbm90ZXMgdHJlZSB0byBkYXRhYmFzZSIpOwogCiAJaWYgKCFwYXJlbnRzKSB7CiAJCS8qIERlZHVjZSBwYXJlbnQgY29tbWl0IGZyb20gdC0+cmVmICovCi0JCXVuc2lnbmVkIGNoYXIgcGFyZW50X3NoYTFbMjBdOwotCQlpZiAoIXJlYWRfcmVmKHQtPnJlZiwgcGFyZW50X3NoYTEpKSB7Ci0JCQlzdHJ1Y3QgY29tbWl0ICpwYXJlbnQgPSBsb29rdXBfY29tbWl0KHBhcmVudF9zaGExKTsKKwkJc3RydWN0IG9iamVjdF9pZCBwYXJlbnRfb2lkOworCQlpZiAoIXJlYWRfcmVmKHQtPnJlZiwgcGFyZW50X29pZC5oYXNoKSkgeworCQkJc3RydWN0IGNvbW1pdCAqcGFyZW50ID0gbG9va3VwX2NvbW1pdCgmcGFyZW50X29pZCk7CiAJCQlpZiAocGFyc2VfY29tbWl0KHBhcmVudCkpCiAJCQkJZGllKCJGYWlsZWQgdG8gZmluZC9wYXJzZSBjb21taXQgJXMiLCB0LT5yZWYpOwogCQkJY29tbWl0X2xpc3RfaW5zZXJ0KHBhcmVudCwgJnBhcmVudHMpOwpAQCAtMjYsMTQgKzI3LDE0IEBACiAJCS8qIGVsc2U6IHQtPnJlZiBwb2ludHMgdG8gbm90aGluZywgYXNzdW1lIHJvb3Qvb3JwaGFuIGNvbW1pdCAqLwogCX0KIAotCWlmIChjb21taXRfdHJlZShtc2csIG1zZ19sZW4sIHRyZWVfc2hhMSwgcGFyZW50cywgcmVzdWx0X3NoYTEsIE5VTEwsIE5VTEwpKQorCWlmIChjb21taXRfdHJlZShtc2csIG1zZ19sZW4sIHRyZWVfb2lkLmhhc2gsIHBhcmVudHMsIHJlc3VsdF9zaGExLCBOVUxMLCBOVUxMKSkKIAkJZGllKCJGYWlsZWQgdG8gY29tbWl0IG5vdGVzIHRyZWUgdG8gZGF0YWJhc2UiKTsKIH0KIAogdm9pZCBjb21taXRfbm90ZXMoc3RydWN0IG5vdGVzX3RyZWUgKnQsIGNvbnN0IGNoYXIgKm1zZykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCXVuc2lnbmVkIGNoYXIgY29tbWl0X3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgY29tbWl0X29pZDsKIAogCWlmICghdCkKIAkJdCA9ICZkZWZhdWx0X25vdGVzX3RyZWU7CkBAIC00Niw5ICs0Nyw5IEBACiAJc3RyYnVmX2FkZHN0cigmYnVmLCBtc2cpOwogCXN0cmJ1Zl9jb21wbGV0ZV9saW5lKCZidWYpOwogCi0JY3JlYXRlX25vdGVzX2NvbW1pdCh0LCBOVUxMLCBidWYuYnVmLCBidWYubGVuLCBjb21taXRfc2hhMSk7CisJY3JlYXRlX25vdGVzX2NvbW1pdCh0LCBOVUxMLCBidWYuYnVmLCBidWYubGVuLCBjb21taXRfb2lkLmhhc2gpOwogCXN0cmJ1Zl9pbnNlcnQoJmJ1ZiwgMCwgIm5vdGVzOiAiLCA3KTsgLyogY29tbWl0IG1lc3NhZ2Ugc3RhcnRzIGF0IGluZGV4IDcgKi8KLQl1cGRhdGVfcmVmKGJ1Zi5idWYsIHQtPnVwZGF0ZV9yZWYsIGNvbW1pdF9zaGExLCBOVUxMLCAwLAorCXVwZGF0ZV9yZWYoYnVmLmJ1ZiwgdC0+dXBkYXRlX3JlZiwgY29tbWl0X29pZC5oYXNoLCBOVUxMLCAwLAogCQkgICBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwpAQCAtMTMyLDggKzEzMywxMSBAQAogCQljLT5tb2RlX2Zyb21fZW52ID0gMTsKIAkJYy0+Y29tYmluZSA9IHBhcnNlX2NvbWJpbmVfbm90ZXNfZm4ocmV3cml0ZV9tb2RlX2Vudik7CiAJCWlmICghYy0+Y29tYmluZSkKLQkJCS8qIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YgdGhlCi0JCQkgICBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcyBpdHMgdmFsdWUgKi8KKwkJCS8qCisJCQkgKiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mCisJCQkgKiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMKKwkJCSAqIGl0cyB2YWx1ZS4KKwkJCSAqLwogCQkJZXJyb3IoXygiQmFkICVzIHZhbHVlOiAnJXMnIiksIEdJVF9OT1RFU19SRVdSSVRFX01PREVfRU5WSVJPTk1FTlQsCiAJCQkJCXJld3JpdGVfbW9kZV9lbnYpOwogCX0KQEAgLTE1NSw3ICsxNTksNyBAQAogfQogCiBpbnQgY29weV9ub3RlX2Zvcl9yZXdyaXRlKHN0cnVjdCBub3Rlc19yZXdyaXRlX2NmZyAqYywKLQkJCSAgY29uc3QgdW5zaWduZWQgY2hhciAqZnJvbV9vYmosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRvX29iaikKKwkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqZnJvbV9vYmosIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnRvX29iaikKIHsKIAlpbnQgcmV0ID0gMDsKIAlpbnQgaTsKZGlmZiAtLWdpdCBhL25vdGVzLXV0aWxzLmggYi9ub3Rlcy11dGlscy5oCmluZGV4IGZhNTM4ZTEuLjExOTA1NzggMTAwNjQ0Ci0tLSBhL25vdGVzLXV0aWxzLmgKKysrIGIvbm90ZXMtdXRpbHMuaApAQCAtNDAsNyArNDAsNyBAQAogaW50IHBhcnNlX25vdGVzX21lcmdlX3N0cmF0ZWd5KGNvbnN0IGNoYXIgKnYsIGVudW0gbm90ZXNfbWVyZ2Vfc3RyYXRlZ3kgKnMpOwogc3RydWN0IG5vdGVzX3Jld3JpdGVfY2ZnICppbml0X2NvcHlfbm90ZXNfZm9yX3Jld3JpdGUoY29uc3QgY2hhciAqY21kKTsKIGludCBjb3B5X25vdGVfZm9yX3Jld3JpdGUoc3RydWN0IG5vdGVzX3Jld3JpdGVfY2ZnICpjLAotCQkJICBjb25zdCB1bnNpZ25lZCBjaGFyICpmcm9tX29iaiwgY29uc3QgdW5zaWduZWQgY2hhciAqdG9fb2JqKTsKKwkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqZnJvbV9vYmosIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnRvX29iaik7CiB2b2lkIGZpbmlzaF9jb3B5X25vdGVzX2Zvcl9yZXdyaXRlKHN0cnVjdCBub3Rlc19yZXdyaXRlX2NmZyAqYywgY29uc3QgY2hhciAqbXNnKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9ub3Rlcy5jIGIvbm90ZXMuYwppbmRleCAyYmFiOTYxLi41YzYyODYyIDEwMDY0NAotLS0gYS9ub3Rlcy5jCisrKyBiL25vdGVzLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJub3Rlcy5oIgogI2luY2x1ZGUgImJsb2IuaCIKICNpbmNsdWRlICJ0cmVlLmgiCkBAIC0zNSw4ICszNiw4IEBACiAgKiBzdWJ0cmVlLgogICovCiBzdHJ1Y3QgbGVhZl9ub2RlIHsKLQl1bnNpZ25lZCBjaGFyIGtleV9zaGExWzIwXTsKLQl1bnNpZ25lZCBjaGFyIHZhbF9zaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGtleV9vaWQ7CisJc3RydWN0IG9iamVjdF9pZCB2YWxfb2lkOwogfTsKIAogLyoKQEAgLTUxLDcgKzUyLDcgQEAKIAlzdHJ1Y3Qgbm9uX25vdGUgKm5leHQ7IC8qIGdyb3VuZGVkIChsYXN0LT5uZXh0ID09IE5VTEwpICovCiAJY2hhciAqcGF0aDsKIAl1bnNpZ25lZCBpbnQgbW9kZTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogfTsKIAogI2RlZmluZSBQVFJfVFlQRV9OVUxMICAgICAwCkBAIC02MywxMCArNjQsMTIgQEAKICNkZWZpbmUgQ0xSX1BUUl9UWVBFKHB0cikgICAgICAgKCh2b2lkICopICgodWludHB0cl90KSAocHRyKSAmIH4zKSkKICNkZWZpbmUgU0VUX1BUUl9UWVBFKHB0ciwgdHlwZSkgKCh2b2lkICopICgodWludHB0cl90KSAocHRyKSB8ICh0eXBlKSkpCiAKLSNkZWZpbmUgR0VUX05JQkJMRShuLCBzaGExKSAoKChzaGExWyhuKSA+PiAxXSkgPj4gKCh+KG4pICYgMHgwMSkgPDwgMikpICYgMHgwZikKKyNkZWZpbmUgR0VUX05JQkJMRShuLCBzaGExKSAoKCgoc2hhMSlbKG4pID4+IDFdKSA+PiAoKH4obikgJiAweDAxKSA8PCAyKSkgJiAweDBmKQogCisjZGVmaW5lIEtFWV9JTkRFWCAoR0lUX1NIQTFfUkFXU1ogLSAxKQorI2RlZmluZSBGQU5PVVRfUEFUSF9TRVBBUkFUT1JTICgoR0lUX1NIQTFfSEVYU1ogLyAyKSAtIDEpCiAjZGVmaW5lIFNVQlRSRUVfU0hBMV9QUkVGSVhDTVAoa2V5X3NoYTEsIHN1YnRyZWVfc2hhMSkgXAotCShtZW1jbXAoa2V5X3NoYTEsIHN1YnRyZWVfc2hhMSwgc3VidHJlZV9zaGExWzE5XSkpCisJKG1lbWNtcChrZXlfc2hhMSwgc3VidHJlZV9zaGExLCBzdWJ0cmVlX3NoYTFbS0VZX0lOREVYXSkpCiAKIHN0cnVjdCBub3Rlc190cmVlIGRlZmF1bHRfbm90ZXNfdHJlZTsKIApAQCAtMTAwLDcgKzEwMyw3IEBACiAKIAlpZiAoR0VUX1BUUl9UWVBFKHApID09IFBUUl9UWVBFX1NVQlRSRUUpIHsKIAkJbCA9IChzdHJ1Y3QgbGVhZl9ub2RlICopIENMUl9QVFJfVFlQRShwKTsKLQkJaWYgKCFTVUJUUkVFX1NIQTFfUFJFRklYQ01QKGtleV9zaGExLCBsLT5rZXlfc2hhMSkpIHsKKwkJaWYgKCFTVUJUUkVFX1NIQTFfUFJFRklYQ01QKGtleV9zaGExLCBsLT5rZXlfb2lkLmhhc2gpKSB7CiAJCQkvKiB1bnBhY2sgdHJlZSBhbmQgcmVzdW1lIHNlYXJjaCAqLwogCQkJKCp0cmVlKS0+YVswXSA9IE5VTEw7CiAJCQlsb2FkX3N1YnRyZWUodCwgbCwgKnRyZWUsICpuKTsKQEAgLTExOCw3ICsxMjEsNyBAQAogCQlyZXR1cm4gbm90ZV90cmVlX3NlYXJjaCh0LCB0cmVlLCBuLCBrZXlfc2hhMSk7CiAJY2FzZSBQVFJfVFlQRV9TVUJUUkVFOgogCQlsID0gKHN0cnVjdCBsZWFmX25vZGUgKikgQ0xSX1BUUl9UWVBFKHApOwotCQlpZiAoIVNVQlRSRUVfU0hBMV9QUkVGSVhDTVAoa2V5X3NoYTEsIGwtPmtleV9zaGExKSkgeworCQlpZiAoIVNVQlRSRUVfU0hBMV9QUkVGSVhDTVAoa2V5X3NoYTEsIGwtPmtleV9vaWQuaGFzaCkpIHsKIAkJCS8qIHVucGFjayB0cmVlIGFuZCByZXN1bWUgc2VhcmNoICovCiAJCQkoKnRyZWUpLT5hW2ldID0gTlVMTDsKIAkJCWxvYWRfc3VidHJlZSh0LCBsLCAqdHJlZSwgKm4pOwpAQCAtMTQzLDcgKzE0Niw3IEBACiAJdm9pZCAqKnAgPSBub3RlX3RyZWVfc2VhcmNoKHQsICZ0cmVlLCAmbiwga2V5X3NoYTEpOwogCWlmIChHRVRfUFRSX1RZUEUoKnApID09IFBUUl9UWVBFX05PVEUpIHsKIAkJc3RydWN0IGxlYWZfbm9kZSAqbCA9IChzdHJ1Y3QgbGVhZl9ub2RlICopIENMUl9QVFJfVFlQRSgqcCk7Ci0JCWlmICghaGFzaGNtcChrZXlfc2hhMSwgbC0+a2V5X3NoYTEpKQorCQlpZiAoIWhhc2hjbXAoa2V5X3NoYTEsIGwtPmtleV9vaWQuaGFzaCkpCiAJCQlyZXR1cm4gbDsKIAl9CiAJcmV0dXJuIE5VTEw7CkBAIC0xNTMsOCArMTU2LDggQEAKICAqIEhvdyB0byBjb25zb2xpZGF0ZSBhbiBpbnRfbm9kZToKICAqIElmIHRoZXJlIGFyZSA+IDEgbm9uLU5VTEwgZW50cmllcywgZ2l2ZSB1cCBhbmQgcmV0dXJuIG5vbi16ZXJvLgogICogT3RoZXJ3aXNlIHJlcGxhY2UgdGhlIGludF9ub2RlIGF0IHRoZSBnaXZlbiBpbmRleCBpbiB0aGUgZ2l2ZW4gcGFyZW50IG5vZGUKLSAqIHdpdGggdGhlIG9ubHkgZW50cnkgKG9yIGEgTlVMTCBlbnRyeSBpZiBubyBlbnRyaWVzKSBmcm9tIHRoZSBnaXZlbiB0cmVlLAotICogYW5kIHJldHVybiAwLgorICogd2l0aCB0aGUgb25seSBOT1RFIGVudHJ5IChvciBhIE5VTEwgZW50cnkgaWYgbm8gZW50cmllcykgZnJvbSB0aGUgZ2l2ZW4KKyAqIHRyZWUsIGFuZCByZXR1cm4gMC4KICAqLwogc3RhdGljIGludCBub3RlX3RyZWVfY29uc29saWRhdGUoc3RydWN0IGludF9ub2RlICp0cmVlLAogCXN0cnVjdCBpbnRfbm9kZSAqcGFyZW50LCB1bnNpZ25lZCBjaGFyIGluZGV4KQpAQCAtMTczLDYgKzE3Niw4IEBACiAJCX0KIAl9CiAKKwlpZiAocCAmJiAoR0VUX1BUUl9UWVBFKHApICE9IFBUUl9UWVBFX05PVEUpKQorCQlyZXR1cm4gLTI7CiAJLyogcmVwbGFjZSB0cmVlIHdpdGggcCBpbiBwYXJlbnRbaW5kZXhdICovCiAJcGFyZW50LT5hW2luZGV4XSA9IHA7CiAJZnJlZSh0cmVlKTsKQEAgLTE5MiwxOSArMTk3LDE5IEBACiAJCXN0cnVjdCBsZWFmX25vZGUgKmVudHJ5KQogewogCXN0cnVjdCBsZWFmX25vZGUgKmw7Ci0Jc3RydWN0IGludF9ub2RlICpwYXJlbnRfc3RhY2tbMjBdOworCXN0cnVjdCBpbnRfbm9kZSAqcGFyZW50X3N0YWNrW0dJVF9TSEExX1JBV1NaXTsKIAl1bnNpZ25lZCBjaGFyIGksIGo7Ci0Jdm9pZCAqKnAgPSBub3RlX3RyZWVfc2VhcmNoKHQsICZ0cmVlLCAmbiwgZW50cnktPmtleV9zaGExKTsKKwl2b2lkICoqcCA9IG5vdGVfdHJlZV9zZWFyY2godCwgJnRyZWUsICZuLCBlbnRyeS0+a2V5X29pZC5oYXNoKTsKIAogCWFzc2VydChHRVRfUFRSX1RZUEUoZW50cnkpID09IDApOyAvKiBubyB0eXBlIGJpdHMgc2V0ICovCiAJaWYgKEdFVF9QVFJfVFlQRSgqcCkgIT0gUFRSX1RZUEVfTk9URSkKIAkJcmV0dXJuOyAvKiB0eXBlIG1pc21hdGNoLCBub3RoaW5nIHRvIHJlbW92ZSAqLwogCWwgPSAoc3RydWN0IGxlYWZfbm9kZSAqKSBDTFJfUFRSX1RZUEUoKnApOwotCWlmIChoYXNoY21wKGwtPmtleV9zaGExLCBlbnRyeS0+a2V5X3NoYTEpKQorCWlmIChvaWRjbXAoJmwtPmtleV9vaWQsICZlbnRyeS0+a2V5X29pZCkpCiAJCXJldHVybjsgLyoga2V5IG1pc21hdGNoLCBub3RoaW5nIHRvIHJlbW92ZSAqLwogCiAJLyogd2UgaGF2ZSBmb3VuZCBhIG1hdGNoaW5nIGVudHJ5ICovCi0JaGFzaGNweShlbnRyeS0+dmFsX3NoYTEsIGwtPnZhbF9zaGExKTsKKwlvaWRjcHkoJmVudHJ5LT52YWxfb2lkLCAmbC0+dmFsX29pZCk7CiAJZnJlZShsKTsKIAkqcCA9IFNFVF9QVFJfVFlQRShOVUxMLCBQVFJfVFlQRV9OVUxMKTsKIApAQCAtMjE0LDE0ICsyMTksMTQgQEAKIAkvKiBmaXJzdCwgYnVpbGQgc3RhY2sgb2YgYW5jZXN0b3JzIGJldHdlZW4gcm9vdCBhbmQgY3VycmVudCBub2RlICovCiAJcGFyZW50X3N0YWNrWzBdID0gdC0+cm9vdDsKIAlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7Ci0JCWogPSBHRVRfTklCQkxFKGksIGVudHJ5LT5rZXlfc2hhMSk7CisJCWogPSBHRVRfTklCQkxFKGksIGVudHJ5LT5rZXlfb2lkLmhhc2gpOwogCQlwYXJlbnRfc3RhY2tbaSArIDFdID0gQ0xSX1BUUl9UWVBFKHBhcmVudF9zdGFja1tpXS0+YVtqXSk7CiAJfQogCWFzc2VydChpID09IG4gJiYgcGFyZW50X3N0YWNrW2ldID09IHRyZWUpOwogCS8qIG5leHQsIHVud2luZCBzdGFjayB1bnRpbCBub3RlX3RyZWVfY29uc29saWRhdGUoKSBpcyBkb25lICovCiAJd2hpbGUgKGkgPiAwICYmCiAJICAgICAgICFub3RlX3RyZWVfY29uc29saWRhdGUocGFyZW50X3N0YWNrW2ldLCBwYXJlbnRfc3RhY2tbaSAtIDFdLAotCQkJCSAgICAgIEdFVF9OSUJCTEUoaSAtIDEsIGVudHJ5LT5rZXlfc2hhMSkpKQorCQkJCSAgICAgIEdFVF9OSUJCTEUoaSAtIDEsIGVudHJ5LT5rZXlfb2lkLmhhc2gpKSkKIAkJaS0tOwogfQogCkBAIC0yNDQsNyArMjQ5LDcgQEAKIHsKIAlzdHJ1Y3QgaW50X25vZGUgKm5ld19ub2RlOwogCXN0cnVjdCBsZWFmX25vZGUgKmw7Ci0Jdm9pZCAqKnAgPSBub3RlX3RyZWVfc2VhcmNoKHQsICZ0cmVlLCAmbiwgZW50cnktPmtleV9zaGExKTsKKwl2b2lkICoqcCA9IG5vdGVfdHJlZV9zZWFyY2godCwgJnRyZWUsICZuLCBlbnRyeS0+a2V5X29pZC5oYXNoKTsKIAlpbnQgcmV0ID0gMDsKIAogCWFzc2VydChHRVRfUFRSX1RZUEUoZW50cnkpID09IDApOyAvKiBubyB0eXBlIGJpdHMgc2V0ICovCkBAIC0yNTIsNyArMjU3LDcgQEAKIAlzd2l0Y2ggKEdFVF9QVFJfVFlQRSgqcCkpIHsKIAljYXNlIFBUUl9UWVBFX05VTEw6CiAJCWFzc2VydCghKnApOwotCQlpZiAoaXNfbnVsbF9zaGExKGVudHJ5LT52YWxfc2hhMSkpCisJCWlmIChpc19udWxsX29pZCgmZW50cnktPnZhbF9vaWQpKQogCQkJZnJlZShlbnRyeSk7CiAJCWVsc2UKIAkJCSpwID0gU0VUX1BUUl9UWVBFKGVudHJ5LCB0eXBlKTsKQEAgLTI2MCwyMiArMjY1LDIyIEBACiAJY2FzZSBQVFJfVFlQRV9OT1RFOgogCQlzd2l0Y2ggKHR5cGUpIHsKIAkJY2FzZSBQVFJfVFlQRV9OT1RFOgotCQkJaWYgKCFoYXNoY21wKGwtPmtleV9zaGExLCBlbnRyeS0+a2V5X3NoYTEpKSB7CisJCQlpZiAoIW9pZGNtcCgmbC0+a2V5X29pZCwgJmVudHJ5LT5rZXlfb2lkKSkgewogCQkJCS8qIHNraXAgY29uY2F0ZW5hdGlvbiBpZiBsID09IGVudHJ5ICovCi0JCQkJaWYgKCFoYXNoY21wKGwtPnZhbF9zaGExLCBlbnRyeS0+dmFsX3NoYTEpKQorCQkJCWlmICghb2lkY21wKCZsLT52YWxfb2lkLCAmZW50cnktPnZhbF9vaWQpKQogCQkJCQlyZXR1cm4gMDsKIAotCQkJCXJldCA9IGNvbWJpbmVfbm90ZXMobC0+dmFsX3NoYTEsCi0JCQkJCQkgICAgZW50cnktPnZhbF9zaGExKTsKLQkJCQlpZiAoIXJldCAmJiBpc19udWxsX3NoYTEobC0+dmFsX3NoYTEpKQorCQkJCXJldCA9IGNvbWJpbmVfbm90ZXMobC0+dmFsX29pZC5oYXNoLAorCQkJCQkJICAgIGVudHJ5LT52YWxfb2lkLmhhc2gpOworCQkJCWlmICghcmV0ICYmIGlzX251bGxfb2lkKCZsLT52YWxfb2lkKSkKIAkJCQkJbm90ZV90cmVlX3JlbW92ZSh0LCB0cmVlLCBuLCBlbnRyeSk7CiAJCQkJZnJlZShlbnRyeSk7CiAJCQkJcmV0dXJuIHJldDsKIAkJCX0KIAkJCWJyZWFrOwogCQljYXNlIFBUUl9UWVBFX1NVQlRSRUU6Ci0JCQlpZiAoIVNVQlRSRUVfU0hBMV9QUkVGSVhDTVAobC0+a2V5X3NoYTEsCi0JCQkJCQkgICAgZW50cnktPmtleV9zaGExKSkgeworCQkJaWYgKCFTVUJUUkVFX1NIQTFfUFJFRklYQ01QKGwtPmtleV9vaWQuaGFzaCwKKwkJCQkJCSAgICBlbnRyeS0+a2V5X29pZC5oYXNoKSkgewogCQkJCS8qIHVucGFjayAnZW50cnknICovCiAJCQkJbG9hZF9zdWJ0cmVlKHQsIGVudHJ5LCB0cmVlLCBuKTsKIAkJCQlmcmVlKGVudHJ5KTsKQEAgLTI4NSw3ICsyOTAsNyBAQAogCQl9CiAJCWJyZWFrOwogCWNhc2UgUFRSX1RZUEVfU1VCVFJFRToKLQkJaWYgKCFTVUJUUkVFX1NIQTFfUFJFRklYQ01QKGVudHJ5LT5rZXlfc2hhMSwgbC0+a2V5X3NoYTEpKSB7CisJCWlmICghU1VCVFJFRV9TSEExX1BSRUZJWENNUChlbnRyeS0+a2V5X29pZC5oYXNoLCBsLT5rZXlfb2lkLmhhc2gpKSB7CiAJCQkvKiB1bnBhY2sgJ2wnIGFuZCByZXN0YXJ0IGluc2VydCAqLwogCQkJKnAgPSBOVUxMOwogCQkJbG9hZF9zdWJ0cmVlKHQsIGwsIHRyZWUsIG4pOwpAQCAtMjk5LDcgKzMwNCw3IEBACiAJLyogbm9uLW1hdGNoaW5nIGxlYWZfbm9kZSAqLwogCWFzc2VydChHRVRfUFRSX1RZUEUoKnApID09IFBUUl9UWVBFX05PVEUgfHwKIAkgICAgICAgR0VUX1BUUl9UWVBFKCpwKSA9PSBQVFJfVFlQRV9TVUJUUkVFKTsKLQlpZiAoaXNfbnVsbF9zaGExKGVudHJ5LT52YWxfc2hhMSkpIHsgLyogc2tpcCBpbnNlcnRpb24gb2YgZW1wdHkgbm90ZSAqLworCWlmIChpc19udWxsX29pZCgmZW50cnktPnZhbF9vaWQpKSB7IC8qIHNraXAgaW5zZXJ0aW9uIG9mIGVtcHR5IG5vdGUgKi8KIAkJZnJlZShlbnRyeSk7CiAJCXJldHVybiAwOwogCX0KQEAgLTMzMCwzMSArMzM1LDIwIEBACiB9CiAKIC8qCi0gKiBDb252ZXJ0IGEgcGFydGlhbCBTSEExIGhleCBzdHJpbmcgdG8gdGhlIGNvcnJlc3BvbmRpbmcgcGFydGlhbCBTSEExIHZhbHVlLgotICogLSBoZXggICAgICAtIFBhcnRpYWwgU0hBMSBzZWdtZW50IGluIEFTQ0lJIGhleCBmb3JtYXQKLSAqIC0gaGV4X2xlbiAgLSBMZW5ndGggb2YgYWJvdmUgc2VnbWVudC4gTXVzdCBiZSBtdWx0aXBsZSBvZiAyIGJldHdlZW4gMCBhbmQgNDAKLSAqIC0gc2hhMSAgICAgLSBQYXJ0aWFsIFNIQTEgdmFsdWUgaXMgd3JpdHRlbiBoZXJlCi0gKiAtIHNoYTFfbGVuIC0gTWF4ICNieXRlcyB0byBzdG9yZSBpbiBzaGExLCBNdXN0IGJlID49IGhleF9sZW4gLyAyLCBhbmQgPCAyMAotICogUmV0dXJucyAtMSBvbiBlcnJvciAoaW52YWxpZCBhcmd1bWVudHMgb3IgaW52YWxpZCBTSEExIChub3QgaW4gaGV4IGZvcm1hdCkpLgotICogT3RoZXJ3aXNlLCByZXR1cm5zIG51bWJlciBvZiBieXRlcyB3cml0dGVuIHRvIHNoYTEgKGkuZS4gaGV4X2xlbiAvIDIpLgotICogUGFkcyBzaGExIHdpdGggTlVMcyB1cCB0byBzaGExX2xlbiAobm90IGluY2x1ZGVkIGluIHJldHVybmVkIGxlbmd0aCkuCisgKiBSZWFkIGBsZW5gIHBhaXJzIG9mIGhleGFkZWNpbWFsIGRpZ2l0cyBmcm9tIGBoZXhgIGFuZCB3cml0ZSB0aGUKKyAqIHZhbHVlcyB0byBgYmluYXJ5YCBhcyBgbGVuYCBieXRlcy4gUmV0dXJuIDAgb24gc3VjY2Vzcywgb3IgLTEgaWYKKyAqIHRoZSBpbnB1dCBkb2VzIG5vdCBjb25zaXN0IG9mIGhleCBkaWdpdHMpLgogICovCi1zdGF0aWMgaW50IGdldF9zaGExX2hleF9zZWdtZW50KGNvbnN0IGNoYXIgKmhleCwgdW5zaWduZWQgaW50IGhleF9sZW4sCi0JCXVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGludCBzaGExX2xlbikKK3N0YXRpYyBpbnQgaGV4X3RvX2J5dGVzKHVuc2lnbmVkIGNoYXIgKmJpbmFyeSwgY29uc3QgY2hhciAqaGV4LCBzaXplX3QgbGVuKQogewotCXVuc2lnbmVkIGludCBpLCBsZW4gPSBoZXhfbGVuID4+IDE7Ci0JaWYgKGhleF9sZW4gJSAyICE9IDAgfHwgbGVuID4gc2hhMV9sZW4pCi0JCXJldHVybiAtMTsKLQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKwlmb3IgKDsgbGVuOyBsZW4tLSwgaGV4ICs9IDIpIHsKIAkJdW5zaWduZWQgaW50IHZhbCA9IChoZXh2YWwoaGV4WzBdKSA8PCA0KSB8IGhleHZhbChoZXhbMV0pOworCiAJCWlmICh2YWwgJiB+MHhmZikKIAkJCXJldHVybiAtMTsKLQkJKnNoYTErKyA9IHZhbDsKLQkJaGV4ICs9IDI7CisJCSpiaW5hcnkrKyA9IHZhbDsKIAl9Ci0JZm9yICg7IGkgPCBzaGExX2xlbjsgaSsrKQotCQkqc2hhMSsrID0gMDsKLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IG5vbl9ub3RlX2NtcChjb25zdCBzdHJ1Y3Qgbm9uX25vdGUgKmEsIGNvbnN0IHN0cnVjdCBub25fbm90ZSAqYikKQEAgLTM3MSw3ICszNjUsNyBAQAogCW4tPm5leHQgPSBOVUxMOwogCW4tPnBhdGggPSBwYXRoOwogCW4tPm1vZGUgPSBtb2RlOwotCWhhc2hjcHkobi0+c2hhMSwgc2hhMSk7CisJaGFzaGNweShuLT5vaWQuaGFzaCwgc2hhMSk7CiAJdC0+cHJldl9ub25fbm90ZSA9IG47CiAKIAlpZiAoIXQtPmZpcnN0X25vbl9ub3RlKSB7CkBAIC0zOTcsNyArMzkxLDcgQEAKIAlpZiAobm9uX25vdGVfY21wKHAsIG4pID09IDApIHsgLyogbiB+PSBwOyBvdmVyd3JpdGUgcCB3aXRoIG4gKi8KIAkJYXNzZXJ0KHN0cmNtcChwLT5wYXRoLCBuLT5wYXRoKSA9PSAwKTsKIAkJcC0+bW9kZSA9IG4tPm1vZGU7Ci0JCWhhc2hjcHkocC0+c2hhMSwgbi0+c2hhMSk7CisJCW9pZGNweSgmcC0+b2lkLCAmbi0+b2lkKTsKIAkJZnJlZShuKTsKIAkJdC0+cHJldl9ub25fbm90ZSA9IHA7CiAJCXJldHVybjsKQEAgLTQxMSw4MSArNDA1LDkxIEBACiBzdGF0aWMgdm9pZCBsb2FkX3N1YnRyZWUoc3RydWN0IG5vdGVzX3RyZWUgKnQsIHN0cnVjdCBsZWFmX25vZGUgKnN1YnRyZWUsCiAJCXN0cnVjdCBpbnRfbm9kZSAqbm9kZSwgdW5zaWduZWQgaW50IG4pCiB7Ci0JdW5zaWduZWQgY2hhciBvYmplY3Rfc2hhMVsyMF07Ci0JdW5zaWduZWQgaW50IHByZWZpeF9sZW47CisJc3RydWN0IG9iamVjdF9pZCBvYmplY3Rfb2lkOworCXNpemVfdCBwcmVmaXhfbGVuOwogCXZvaWQgKmJ1ZjsKIAlzdHJ1Y3QgdHJlZV9kZXNjIGRlc2M7CiAJc3RydWN0IG5hbWVfZW50cnkgZW50cnk7Ci0JaW50IGxlbiwgcGF0aF9sZW47Ci0JdW5zaWduZWQgY2hhciB0eXBlOwotCXN0cnVjdCBsZWFmX25vZGUgKmw7CiAKLQlidWYgPSBmaWxsX3RyZWVfZGVzY3JpcHRvcigmZGVzYywgc3VidHJlZS0+dmFsX3NoYTEpOworCWJ1ZiA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKCZkZXNjLCAmc3VidHJlZS0+dmFsX29pZCk7CiAJaWYgKCFidWYpCiAJCWRpZSgiQ291bGQgbm90IHJlYWQgJXMgZm9yIG5vdGVzLWluZGV4IiwKLQkJICAgICBzaGExX3RvX2hleChzdWJ0cmVlLT52YWxfc2hhMSkpOworCQkgICAgIG9pZF90b19oZXgoJnN1YnRyZWUtPnZhbF9vaWQpKTsKIAotCXByZWZpeF9sZW4gPSBzdWJ0cmVlLT5rZXlfc2hhMVsxOV07Ci0JYXNzZXJ0KHByZWZpeF9sZW4gKiAyID49IG4pOwotCW1lbWNweShvYmplY3Rfc2hhMSwgc3VidHJlZS0+a2V5X3NoYTEsIHByZWZpeF9sZW4pOworCXByZWZpeF9sZW4gPSBzdWJ0cmVlLT5rZXlfb2lkLmhhc2hbS0VZX0lOREVYXTsKKwlpZiAocHJlZml4X2xlbiA+PSBHSVRfU0hBMV9SQVdTWikKKwkJQlVHKCJwcmVmaXhfbGVuICglIlBSSXVNQVgiKSBpcyBvdXQgb2YgcmFuZ2UiLCAodWludG1heF90KXByZWZpeF9sZW4pOworCWlmIChwcmVmaXhfbGVuICogMiA8IG4pCisJCUJVRygicHJlZml4X2xlbiAoJSJQUkl1TUFYIikgaXMgdG9vIHNtYWxsIiwgKHVpbnRtYXhfdClwcmVmaXhfbGVuKTsKKwltZW1jcHkob2JqZWN0X29pZC5oYXNoLCBzdWJ0cmVlLT5rZXlfb2lkLmhhc2gsIHByZWZpeF9sZW4pOwogCXdoaWxlICh0cmVlX2VudHJ5KCZkZXNjLCAmZW50cnkpKSB7Ci0JCXBhdGhfbGVuID0gc3RybGVuKGVudHJ5LnBhdGgpOwotCQlsZW4gPSBnZXRfc2hhMV9oZXhfc2VnbWVudChlbnRyeS5wYXRoLCBwYXRoX2xlbiwKLQkJCQlvYmplY3Rfc2hhMSArIHByZWZpeF9sZW4sIDIwIC0gcHJlZml4X2xlbik7Ci0JCWlmIChsZW4gPCAwKQotCQkJZ290byBoYW5kbGVfbm9uX25vdGU7IC8qIGVudHJ5LnBhdGggaXMgbm90IGEgU0hBMSAqLwotCQlsZW4gKz0gcHJlZml4X2xlbjsKKwkJdW5zaWduZWQgY2hhciB0eXBlOworCQlzdHJ1Y3QgbGVhZl9ub2RlICpsOworCQlzaXplX3QgcGF0aF9sZW4gPSBzdHJsZW4oZW50cnkucGF0aCk7CiAKLQkJLyoKLQkJICogSWYgb2JqZWN0IFNIQTEgaXMgY29tcGxldGUgKGxlbiA9PSAyMCksIGFzc3VtZSBub3RlIG9iamVjdAotCQkgKiBJZiBvYmplY3QgU0hBMSBpcyBpbmNvbXBsZXRlIChsZW4gPCAyMCksIGFuZCBjdXJyZW50Ci0JCSAqIGNvbXBvbmVudCBjb25zaXN0cyBvZiAyIGhleCBjaGFycywgYXNzdW1lIG5vdGUgc3VidHJlZQotCQkgKi8KLQkJaWYgKGxlbiA8PSAyMCkgeworCQlpZiAocGF0aF9sZW4gPT0gMiAqIChHSVRfU0hBMV9SQVdTWiAtIHByZWZpeF9sZW4pKSB7CisJCQkvKiBUaGlzIGlzIHBvdGVudGlhbGx5IHRoZSByZW1haW5kZXIgb2YgdGhlIFNIQS0xICovCisKKwkJCWlmICghU19JU1JFRyhlbnRyeS5tb2RlKSkKKwkJCQkvKiBub3RlcyBtdXN0IGJlIGJsb2JzICovCisJCQkJZ290byBoYW5kbGVfbm9uX25vdGU7CisKKwkJCWlmIChoZXhfdG9fYnl0ZXMob2JqZWN0X29pZC5oYXNoICsgcHJlZml4X2xlbiwgZW50cnkucGF0aCwKKwkJCQkJIEdJVF9TSEExX1JBV1NaIC0gcHJlZml4X2xlbikpCisJCQkJZ290byBoYW5kbGVfbm9uX25vdGU7IC8qIGVudHJ5LnBhdGggaXMgbm90IGEgU0hBMSAqLworCiAJCQl0eXBlID0gUFRSX1RZUEVfTk9URTsKLQkJCWwgPSAoc3RydWN0IGxlYWZfbm9kZSAqKQotCQkJCXhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBsZWFmX25vZGUpKTsKLQkJCWhhc2hjcHkobC0+a2V5X3NoYTEsIG9iamVjdF9zaGExKTsKLQkJCWhhc2hjcHkobC0+dmFsX3NoYTEsIGVudHJ5Lm9pZC0+aGFzaCk7Ci0JCQlpZiAobGVuIDwgMjApIHsKLQkJCQlpZiAoIVNfSVNESVIoZW50cnkubW9kZSkgfHwgcGF0aF9sZW4gIT0gMikKLQkJCQkJZ290byBoYW5kbGVfbm9uX25vdGU7IC8qIG5vdCBzdWJ0cmVlICovCi0JCQkJbC0+a2V5X3NoYTFbMTldID0gKHVuc2lnbmVkIGNoYXIpIGxlbjsKLQkJCQl0eXBlID0gUFRSX1RZUEVfU1VCVFJFRTsKLQkJCX0KLQkJCWlmIChub3RlX3RyZWVfaW5zZXJ0KHQsIG5vZGUsIG4sIGwsIHR5cGUsCi0JCQkJCSAgICAgY29tYmluZV9ub3Rlc19jb25jYXRlbmF0ZSkpCi0JCQkJZGllKCJGYWlsZWQgdG8gbG9hZCAlcyAlcyBpbnRvIG5vdGVzIHRyZWUgIgotCQkJCSAgICAiZnJvbSAlcyIsCi0JCQkJICAgIHR5cGUgPT0gUFRSX1RZUEVfTk9URSA/ICJub3RlIiA6ICJzdWJ0cmVlIiwKLQkJCQkgICAgc2hhMV90b19oZXgobC0+a2V5X3NoYTEpLCB0LT5yZWYpOworCQl9IGVsc2UgaWYgKHBhdGhfbGVuID09IDIpIHsKKwkJCS8qIFRoaXMgaXMgcG90ZW50aWFsbHkgYW4gaW50ZXJuYWwgbm9kZSAqLworCQkJc2l6ZV90IGxlbiA9IHByZWZpeF9sZW47CisKKwkJCWlmICghU19JU0RJUihlbnRyeS5tb2RlKSkKKwkJCQkvKiBpbnRlcm5hbCBub2RlcyBtdXN0IGJlIHRyZWVzICovCisJCQkJZ290byBoYW5kbGVfbm9uX25vdGU7CisKKwkJCWlmIChoZXhfdG9fYnl0ZXMob2JqZWN0X29pZC5oYXNoICsgbGVuKyssIGVudHJ5LnBhdGgsIDEpKQorCQkJCWdvdG8gaGFuZGxlX25vbl9ub3RlOyAvKiBlbnRyeS5wYXRoIGlzIG5vdCBhIFNIQTEgKi8KKworCQkJLyoKKwkJCSAqIFBhZCB0aGUgcmVzdCBvZiB0aGUgU0hBLTEgd2l0aCB6ZXJvcywKKwkJCSAqIGV4Y2VwdCBmb3IgdGhlIGxhc3QgYnl0ZSwgd2hlcmUgd2Ugd3JpdGUKKwkJCSAqIHRoZSBsZW5ndGg6CisJCQkgKi8KKwkJCW1lbXNldChvYmplY3Rfb2lkLmhhc2ggKyBsZW4sIDAsIEdJVF9TSEExX1JBV1NaIC0gbGVuIC0gMSk7CisJCQlvYmplY3Rfb2lkLmhhc2hbS0VZX0lOREVYXSA9ICh1bnNpZ25lZCBjaGFyKWxlbjsKKworCQkJdHlwZSA9IFBUUl9UWVBFX1NVQlRSRUU7CisJCX0gZWxzZSB7CisJCQkvKiBUaGlzIGNhbid0IGJlIHBhcnQgb2YgYSBub3RlICovCisJCQlnb3RvIGhhbmRsZV9ub25fbm90ZTsKIAkJfQorCisJCWwgPSB4Y2FsbG9jKDEsIHNpemVvZigqbCkpOworCQlvaWRjcHkoJmwtPmtleV9vaWQsICZvYmplY3Rfb2lkKTsKKwkJb2lkY3B5KCZsLT52YWxfb2lkLCBlbnRyeS5vaWQpOworCQlpZiAobm90ZV90cmVlX2luc2VydCh0LCBub2RlLCBuLCBsLCB0eXBlLAorCQkJCSAgICAgY29tYmluZV9ub3Rlc19jb25jYXRlbmF0ZSkpCisJCQlkaWUoIkZhaWxlZCB0byBsb2FkICVzICVzIGludG8gbm90ZXMgdHJlZSAiCisJCQkgICAgImZyb20gJXMiLAorCQkJICAgIHR5cGUgPT0gUFRSX1RZUEVfTk9URSA/ICJub3RlIiA6ICJzdWJ0cmVlIiwKKwkJCSAgICBvaWRfdG9faGV4KCZsLT5rZXlfb2lkKSwgdC0+cmVmKTsKKwogCQljb250aW51ZTsKIAogaGFuZGxlX25vbl9ub3RlOgogCQkvKgotCQkgKiBEZXRlcm1pbmUgZnVsbCBwYXRoIGZvciB0aGlzIG5vbi1ub3RlIGVudHJ5OgotCQkgKiBUaGUgZmlsZW5hbWUgaXMgYWxyZWFkeSBmb3VuZCBpbiBlbnRyeS5wYXRoLCBidXQgdGhlCi0JCSAqIGRpcmVjdG9yeSBwYXJ0IG9mIHRoZSBwYXRoIG11c3QgYmUgZGVkdWNlZCBmcm9tIHRoZSBzdWJ0cmVlCi0JCSAqIGNvbnRhaW5pbmcgdGhpcyBlbnRyeS4gV2UgYXNzdW1lIGhlcmUgdGhhdCB0aGUgb3ZlcmFsbCBub3RlcwotCQkgKiB0cmVlIGZvbGxvd3MgYSBzdHJpY3QgYnl0ZS1iYXNlZCBwcm9ncmVzc2l2ZSBmYW5vdXQKLQkJICogc3RydWN0dXJlIChpLmUuIHVzaW5nIDIvMzgsIDIvMi8zNiwgZXRjLiBmYW5vdXRzLCBhbmQgbm90Ci0JCSAqIGUuZy4gNC8zNiBmYW5vdXQpLiBUaGlzIG1lYW5zIHRoYXQgaWYgYSBub24tbm90ZSBpcyBmb3VuZCBhdAotCQkgKiBwYXRoICJkZWFkL2JlZWYiLCB0aGUgZm9sbG93aW5nIGNvZGUgd2lsbCByZWdpc3RlciBpdCBhcwotCQkgKiBiZWluZyBmb3VuZCBvbiAiZGUvYWQvYmVlZiIuCi0JCSAqIE9uIHRoZSBvdGhlciBoYW5kLCBpZiB5b3UgdXNlIHN1Y2ggbm9uLW9idmlvdXMgbm9uLW5vdGUKLQkJICogcGF0aHMgaW4gdGhlIG1pZGRsZSBvZiBhIG5vdGVzIHRyZWUsIHlvdSBkZXNlcnZlIHdoYXQncwotCQkgKiBjb21pbmcgdG8geW91IDspLiBOb3RlIHRoYXQgZm9yIG5vbi1ub3RlcyB0aGF0IGFyZSBub3QKLQkJICogU0hBMS1saWtlIGF0IHRoZSB0b3AgbGV2ZWwsIHRoZXJlIHdpbGwgYmUgbm8gcHJvYmxlbXMuCi0JCSAqCi0JCSAqIFRvIGNvbmNsdWRlLCBpdCBpcyBzdHJvbmdseSBhZHZpc2VkIHRvIG1ha2Ugc3VyZSBub24tbm90ZXMKLQkJICogaGF2ZSBhdCBsZWFzdCBvbmUgbm9uLWhleCBjaGFyYWN0ZXIgaW4gdGhlIHRvcC1sZXZlbCBwYXRoCi0JCSAqIGNvbXBvbmVudC4KKwkJICogRGV0ZXJtaW5lIGZ1bGwgcGF0aCBmb3IgdGhpcyBub24tbm90ZSBlbnRyeS4gVGhlCisJCSAqIGZpbGVuYW1lIGlzIGFscmVhZHkgZm91bmQgaW4gZW50cnkucGF0aCwgYnV0IHRoZQorCQkgKiBkaXJlY3RvcnkgcGFydCBvZiB0aGUgcGF0aCBtdXN0IGJlIGRlZHVjZWQgZnJvbSB0aGUKKwkJICogc3VidHJlZSBjb250YWluaW5nIHRoaXMgZW50cnkgYmFzZWQgb24gb3VyCisJCSAqIGtub3dsZWRnZSB0aGF0IHRoZSBvdmVyYWxsIG5vdGVzIHRyZWUgZm9sbG93cyBhCisJCSAqIHN0cmljdCBieXRlLWJhc2VkIHByb2dyZXNzaXZlIGZhbm91dCBzdHJ1Y3R1cmUKKwkJICogKGkuZS4gdXNpbmcgMi8zOCwgMi8yLzM2LCBldGMuIGZhbm91dHMpLgogCQkgKi8KIAkJewogCQkJc3RydWN0IHN0cmJ1ZiBub25fbm90ZV9wYXRoID0gU1RSQlVGX0lOSVQ7Ci0JCQljb25zdCBjaGFyICpxID0gc2hhMV90b19oZXgoc3VidHJlZS0+a2V5X3NoYTEpOwotCQkJaW50IGk7CisJCQljb25zdCBjaGFyICpxID0gb2lkX3RvX2hleCgmc3VidHJlZS0+a2V5X29pZCk7CisJCQlzaXplX3QgaTsKIAkJCWZvciAoaSA9IDA7IGkgPCBwcmVmaXhfbGVuOyBpKyspIHsKIAkJCQlzdHJidWZfYWRkY2goJm5vbl9ub3RlX3BhdGgsICpxKyspOwogCQkJCXN0cmJ1Zl9hZGRjaCgmbm9uX25vdGVfcGF0aCwgKnErKyk7CkBAIC01NDAsMTQgKzU0NCwxNCBAQAogfQogCiAvKiBoZXggU0hBMSArIDE5ICogJy8nICsgTlVMICovCi0jZGVmaW5lIEZBTk9VVF9QQVRIX01BWCA0MCArIDE5ICsgMQorI2RlZmluZSBGQU5PVVRfUEFUSF9NQVggR0lUX1NIQTFfSEVYU1ogKyBGQU5PVVRfUEFUSF9TRVBBUkFUT1JTICsgMQogCiBzdGF0aWMgdm9pZCBjb25zdHJ1Y3RfcGF0aF93aXRoX2Zhbm91dChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAogCQl1bnNpZ25lZCBjaGFyIGZhbm91dCwgY2hhciAqcGF0aCkKIHsKIAl1bnNpZ25lZCBpbnQgaSA9IDAsIGogPSAwOwogCWNvbnN0IGNoYXIgKmhleF9zaGExID0gc2hhMV90b19oZXgoc2hhMSk7Ci0JYXNzZXJ0KGZhbm91dCA8IDIwKTsKKwlhc3NlcnQoZmFub3V0IDwgR0lUX1NIQTFfUkFXU1opOwogCXdoaWxlIChmYW5vdXQpIHsKIAkJcGF0aFtpKytdID0gaGV4X3NoYTFbaisrXTsKIAkJcGF0aFtpKytdID0gaGV4X3NoYTFbaisrXTsKQEAgLTU5NywxNSArNjAxLDE3IEBACiAJCQkgICAgZmxhZ3MgJiBGT1JfRUFDSF9OT1RFX1lJRUxEX1NVQlRSRUVTKSB7CiAJCQkJLyogaW52b2tlIGNhbGxiYWNrIHdpdGggc3VidHJlZSAqLwogCQkJCXVuc2lnbmVkIGludCBwYXRoX2xlbiA9Ci0JCQkJCWwtPmtleV9zaGExWzE5XSAqIDIgKyBmYW5vdXQ7CisJCQkJCWwtPmtleV9vaWQuaGFzaFtLRVlfSU5ERVhdICogMiArIGZhbm91dDsKIAkJCQlhc3NlcnQocGF0aF9sZW4gPCBGQU5PVVRfUEFUSF9NQVggLSAxKTsKLQkJCQljb25zdHJ1Y3RfcGF0aF93aXRoX2Zhbm91dChsLT5rZXlfc2hhMSwgZmFub3V0LAorCQkJCWNvbnN0cnVjdF9wYXRoX3dpdGhfZmFub3V0KGwtPmtleV9vaWQuaGFzaCwKKwkJCQkJCQkgICBmYW5vdXQsCiAJCQkJCQkJICAgcGF0aCk7CiAJCQkJLyogQ3JlYXRlIHRyYWlsaW5nIHNsYXNoLCBpZiBuZWVkZWQgKi8KIAkJCQlpZiAocGF0aFtwYXRoX2xlbiAtIDFdICE9ICcvJykKIAkJCQkJcGF0aFtwYXRoX2xlbisrXSA9ICcvJzsKIAkJCQlwYXRoW3BhdGhfbGVuXSA9ICdcMCc7Ci0JCQkJcmV0ID0gZm4obC0+a2V5X3NoYTEsIGwtPnZhbF9zaGExLCBwYXRoLAorCQkJCXJldCA9IGZuKCZsLT5rZXlfb2lkLCAmbC0+dmFsX29pZCwKKwkJCQkJIHBhdGgsCiAJCQkJCSBjYl9kYXRhKTsKIAkJCX0KIAkJCWlmIChuID4gZmFub3V0ICogMiB8fApAQCAtNjE5LDggKzYyNSwxMCBAQAogCQkJYnJlYWs7CiAJCWNhc2UgUFRSX1RZUEVfTk9URToKIAkJCWwgPSAoc3RydWN0IGxlYWZfbm9kZSAqKSBDTFJfUFRSX1RZUEUocCk7Ci0JCQljb25zdHJ1Y3RfcGF0aF93aXRoX2Zhbm91dChsLT5rZXlfc2hhMSwgZmFub3V0LCBwYXRoKTsKLQkJCXJldCA9IGZuKGwtPmtleV9zaGExLCBsLT52YWxfc2hhMSwgcGF0aCwgY2JfZGF0YSk7CisJCQljb25zdHJ1Y3RfcGF0aF93aXRoX2Zhbm91dChsLT5rZXlfb2lkLmhhc2gsIGZhbm91dCwKKwkJCQkJCSAgIHBhdGgpOworCQkJcmV0ID0gZm4oJmwtPmtleV9vaWQsICZsLT52YWxfb2lkLCBwYXRoLAorCQkJCSBjYl9kYXRhKTsKIAkJCWJyZWFrOwogCQl9CiAJCWlmIChyZXQpCkBAIC02NDgsNyArNjU2LDcgQEAKIAkJdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKIAlzdHJidWZfYWRkZihidWYsICIlbyAlLipzJWMiLCBtb2RlLCBwYXRoX2xlbiwgcGF0aCwgJ1wwJyk7Ci0Jc3RyYnVmX2FkZChidWYsIHNoYTEsIDIwKTsKKwlzdHJidWZfYWRkKGJ1Ziwgc2hhMSwgR0lUX1NIQTFfUkFXU1opOwogfQogCiBzdGF0aWMgdm9pZCB0cmVlX3dyaXRlX3N0YWNrX2luaXRfc3VidHJlZShzdHJ1Y3QgdHJlZV93cml0ZV9zdGFjayAqdHdzLApAQCAtNjYwLDcgKzY2OCw3IEBACiAJbiA9IChzdHJ1Y3QgdHJlZV93cml0ZV9zdGFjayAqKQogCQl4bWFsbG9jKHNpemVvZihzdHJ1Y3QgdHJlZV93cml0ZV9zdGFjaykpOwogCW4tPm5leHQgPSBOVUxMOwotCXN0cmJ1Zl9pbml0KCZuLT5idWYsIDI1NiAqICgzMiArIDQwKSk7IC8qIGFzc3VtZSAyNTYgZW50cmllcyBwZXIgdHJlZSAqLworCXN0cmJ1Zl9pbml0KCZuLT5idWYsIDI1NiAqICgzMiArIEdJVF9TSEExX0hFWFNaKSk7IC8qIGFzc3VtZSAyNTYgZW50cmllcyBwZXIgdHJlZSAqLwogCW4tPnBhdGhbMF0gPSBuLT5wYXRoWzFdID0gJ1wwJzsKIAl0d3MtPm5leHQgPSBuOwogCXR3cy0+cGF0aFswXSA9IHBhdGhbMF07CkBAIC02NzEsMTggKzY3OSwxOCBAQAogewogCWludCByZXQ7CiAJc3RydWN0IHRyZWVfd3JpdGVfc3RhY2sgKm4gPSB0d3MtPm5leHQ7Ci0JdW5zaWduZWQgY2hhciBzWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHM7CiAJaWYgKG4pIHsKIAkJcmV0ID0gdHJlZV93cml0ZV9zdGFja19maW5pc2hfc3VidHJlZShuKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7Ci0JCXJldCA9IHdyaXRlX3NoYTFfZmlsZShuLT5idWYuYnVmLCBuLT5idWYubGVuLCB0cmVlX3R5cGUsIHMpOworCQlyZXQgPSB3cml0ZV9zaGExX2ZpbGUobi0+YnVmLmJ1Ziwgbi0+YnVmLmxlbiwgdHJlZV90eXBlLCBzLmhhc2gpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAkJc3RyYnVmX3JlbGVhc2UoJm4tPmJ1Zik7CiAJCWZyZWUobik7CiAJCXR3cy0+bmV4dCA9IE5VTEw7Ci0JCXdyaXRlX3RyZWVfZW50cnkoJnR3cy0+YnVmLCAwNDAwMDAsIHR3cy0+cGF0aCwgMiwgcyk7CisJCXdyaXRlX3RyZWVfZW50cnkoJnR3cy0+YnVmLCAwNDAwMDAsIHR3cy0+cGF0aCwgMiwgcy5oYXNoKTsKIAkJdHdzLT5wYXRoWzBdID0gdHdzLT5wYXRoWzFdID0gJ1wwJzsKIAl9CiAJcmV0dXJuIDA7CkBAIC02OTAsNyArNjk4LDcgQEAKIAogc3RhdGljIGludCB3cml0ZV9lYWNoX25vdGVfaGVscGVyKHN0cnVjdCB0cmVlX3dyaXRlX3N0YWNrICp0d3MsCiAJCWNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGludCBtb2RlLAotCQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc2l6ZV90IHBhdGhfbGVuID0gc3RybGVuKHBhdGgpOwogCXVuc2lnbmVkIGludCBuID0gMDsKQEAgLTcyMCw3ICs3MjgsNyBAQAogCiAJLyogRmluYWxseSBhZGQgZ2l2ZW4gZW50cnkgdG8gdGhlIGN1cnJlbnQgdHJlZSBvYmplY3QgKi8KIAl3cml0ZV90cmVlX2VudHJ5KCZ0d3MtPmJ1ZiwgbW9kZSwgcGF0aCArIDMgKiBuLCBwYXRoX2xlbiAtICgzICogbiksCi0JCQkgc2hhMSk7CisJCQkgb2lkLT5oYXNoKTsKIAogCXJldHVybiAwOwogfQpAQCAtNzQwLDcgKzc0OCw3IEBACiAJCQk7IC8qIGRvIG5vdGhpbmcsIHByZWZlciBub3RlIHRvIG5vbi1ub3RlICovCiAJCWVsc2UgewogCQkJcmV0ID0gd3JpdGVfZWFjaF9ub3RlX2hlbHBlcihkLT5yb290LCBuLT5wYXRoLCBuLT5tb2RlLAotCQkJCQkJICAgICBuLT5zaGExKTsKKwkJCQkJCSAgICAgJm4tPm9pZCk7CiAJCQlpZiAocmV0KQogCQkJCXJldHVybiByZXQ7CiAJCX0KQEAgLTc1MCw4ICs3NTgsOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdyaXRlX2VhY2hfbm90ZShjb25zdCB1bnNpZ25lZCBjaGFyICpvYmplY3Rfc2hhMSwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqbm90ZV9zaGExLCBjaGFyICpub3RlX3BhdGgsCitzdGF0aWMgaW50IHdyaXRlX2VhY2hfbm90ZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3Rfb2lkLAorCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlX29pZCwgY2hhciAqbm90ZV9wYXRoLAogCQl2b2lkICpjYl9kYXRhKQogewogCXN0cnVjdCB3cml0ZV9lYWNoX25vdGVfZGF0YSAqZCA9CkBAIC03NjUsMTEgKzc3MywxMSBAQAogCQlub3RlX3BhdGhbbm90ZV9wYXRoX2xlbl0gPSAnXDAnOwogCQltb2RlID0gMDQwMDAwOwogCX0KLQlhc3NlcnQobm90ZV9wYXRoX2xlbiA8PSA0MCArIDE5KTsKKwlhc3NlcnQobm90ZV9wYXRoX2xlbiA8PSBHSVRfU0hBMV9IRVhTWiArIEZBTk9VVF9QQVRIX1NFUEFSQVRPUlMpOwogCiAJLyogV2VhdmUgbm9uLW5vdGUgZW50cmllcyBpbnRvIG5vdGUgZW50cmllcyAqLwogCXJldHVybiAgd3JpdGVfZWFjaF9ub25fbm90ZV91bnRpbChub3RlX3BhdGgsIGQpIHx8Ci0JCXdyaXRlX2VhY2hfbm90ZV9oZWxwZXIoZC0+cm9vdCwgbm90ZV9wYXRoLCBtb2RlLCBub3RlX3NoYTEpOworCQl3cml0ZV9lYWNoX25vdGVfaGVscGVyKGQtPnJvb3QsIG5vdGVfcGF0aCwgbW9kZSwgbm90ZV9vaWQpOwogfQogCiBzdHJ1Y3Qgbm90ZV9kZWxldGVfbGlzdCB7CkBAIC03NzcsMjAgKzc4NSwyMCBAQAogCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTE7CiB9OwogCi1zdGF0aWMgaW50IHBydW5lX25vdGVzX2hlbHBlcihjb25zdCB1bnNpZ25lZCBjaGFyICpvYmplY3Rfc2hhMSwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqbm90ZV9zaGExLCBjaGFyICpub3RlX3BhdGgsCitzdGF0aWMgaW50IHBydW5lX25vdGVzX2hlbHBlcihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3Rfb2lkLAorCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlX29pZCwgY2hhciAqbm90ZV9wYXRoLAogCQl2b2lkICpjYl9kYXRhKQogewogCXN0cnVjdCBub3RlX2RlbGV0ZV9saXN0ICoqbCA9IChzdHJ1Y3Qgbm90ZV9kZWxldGVfbGlzdCAqKikgY2JfZGF0YTsKIAlzdHJ1Y3Qgbm90ZV9kZWxldGVfbGlzdCAqbjsKIAotCWlmIChoYXNfc2hhMV9maWxlKG9iamVjdF9zaGExKSkKKwlpZiAoaGFzX29iamVjdF9maWxlKG9iamVjdF9vaWQpKQogCQlyZXR1cm4gMDsgLyogbm90aGluZyB0byBkbyBmb3IgdGhpcyBub3RlICovCiAKIAkvKiBmYWlsZWQgdG8gZmluZCBvYmplY3QgPT4gcHJ1bmUgdGhpcyBub3RlICovCiAJbiA9IChzdHJ1Y3Qgbm90ZV9kZWxldGVfbGlzdCAqKSB4bWFsbG9jKHNpemVvZigqbikpOwogCW4tPm5leHQgPSAqbDsKLQluLT5zaGExID0gb2JqZWN0X3NoYTE7CisJbi0+c2hhMSA9IG9iamVjdF9vaWQtPmhhc2g7CiAJKmwgPSBuOwogCXJldHVybiAwOwogfQpAQCAtOTQwLDggKzk0OCw4IEBACiAJaWYgKGhhc19nbG9iX3NwZWNpYWxzKGdsb2IpKSB7CiAJCWZvcl9lYWNoX2dsb2JfcmVmKHN0cmluZ19saXN0X2FkZF9vbmVfcmVmLCBnbG9iLCBsaXN0KTsKIAl9IGVsc2UgewotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCQlpZiAoZ2V0X3NoYTEoZ2xvYiwgc2hhMSkpCisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCQlpZiAoZ2V0X29pZChnbG9iLCAmb2lkKSkKIAkJCXdhcm5pbmcoIm5vdGVzIHJlZiAlcyBpcyBpbnZhbGlkIiwgZ2xvYik7CiAJCWlmICghdW5zb3J0ZWRfc3RyaW5nX2xpc3RfaGFzX3N0cmluZyhsaXN0LCBnbG9iKSkKIAkJCXN0cmluZ19saXN0X2FwcGVuZChsaXN0LCBnbG9iKTsKQEAgLTEwMTcsNyArMTAyNSw3IEBACiAJdC0+ZGlydHkgPSAwOwogCiAJaWYgKGZsYWdzICYgTk9URVNfSU5JVF9FTVBUWSB8fCAhbm90ZXNfcmVmIHx8Ci0JICAgIGdldF9zaGExX3RyZWVpc2gobm90ZXNfcmVmLCBvYmplY3Rfb2lkLmhhc2gpKQorCSAgICBnZXRfb2lkX3RyZWVpc2gobm90ZXNfcmVmLCAmb2JqZWN0X29pZCkpCiAJCXJldHVybjsKIAlpZiAoZmxhZ3MgJiBOT1RFU19JTklUX1dSSVRBQkxFICYmIHJlYWRfcmVmKG5vdGVzX3JlZiwgb2JqZWN0X29pZC5oYXNoKSkKIAkJZGllKCJDYW5ub3QgdXNlIG5vdGVzIHJlZiAlcyIsIG5vdGVzX3JlZik7CkBAIC0xMDI1LDggKzEwMzMsOCBAQAogCQlkaWUoIkZhaWxlZCB0byByZWFkIG5vdGVzIHRyZWUgcmVmZXJlbmNlZCBieSAlcyAoJXMpIiwKIAkJICAgIG5vdGVzX3JlZiwgb2lkX3RvX2hleCgmb2JqZWN0X29pZCkpOwogCi0JaGFzaGNscihyb290X3RyZWUua2V5X3NoYTEpOwotCWhhc2hjcHkocm9vdF90cmVlLnZhbF9zaGExLCBvaWQuaGFzaCk7CisJb2lkY2xyKCZyb290X3RyZWUua2V5X29pZCk7CisJb2lkY3B5KCZyb290X3RyZWUudmFsX29pZCwgJm9pZCk7CiAJbG9hZF9zdWJ0cmVlKHQsICZyb290X3RyZWUsIHQtPnJvb3QsIDApOwogfQogCkBAIC0xMDc4LDggKzEwODYsOCBAQAogCXN0cmluZ19saXN0X2NsZWFyKCZkaXNwbGF5X25vdGVzX3JlZnMsIDApOwogfQogCi1pbnQgYWRkX25vdGUoc3RydWN0IG5vdGVzX3RyZWUgKnQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9iamVjdF9zaGExLAotCQljb25zdCB1bnNpZ25lZCBjaGFyICpub3RlX3NoYTEsIGNvbWJpbmVfbm90ZXNfZm4gY29tYmluZV9ub3RlcykKK2ludCBhZGRfbm90ZShzdHJ1Y3Qgbm90ZXNfdHJlZSAqdCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2JqZWN0X29pZCwKKwkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbm90ZV9vaWQsIGNvbWJpbmVfbm90ZXNfZm4gY29tYmluZV9ub3RlcykKIHsKIAlzdHJ1Y3QgbGVhZl9ub2RlICpsOwogCkBAIC0xMDkwLDggKzEwOTgsOCBAQAogCWlmICghY29tYmluZV9ub3RlcykKIAkJY29tYmluZV9ub3RlcyA9IHQtPmNvbWJpbmVfbm90ZXM7CiAJbCA9IChzdHJ1Y3QgbGVhZl9ub2RlICopIHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBsZWFmX25vZGUpKTsKLQloYXNoY3B5KGwtPmtleV9zaGExLCBvYmplY3Rfc2hhMSk7Ci0JaGFzaGNweShsLT52YWxfc2hhMSwgbm90ZV9zaGExKTsKKwlvaWRjcHkoJmwtPmtleV9vaWQsIG9iamVjdF9vaWQpOworCW9pZGNweSgmbC0+dmFsX29pZCwgbm90ZV9vaWQpOwogCXJldHVybiBub3RlX3RyZWVfaW5zZXJ0KHQsIHQtPnJvb3QsIDAsIGwsIFBUUl9UWVBFX05PVEUsIGNvbWJpbmVfbm90ZXMpOwogfQogCkBAIC0xMTAyLDI1ICsxMTEwLDI1IEBACiAJaWYgKCF0KQogCQl0ID0gJmRlZmF1bHRfbm90ZXNfdHJlZTsKIAlhc3NlcnQodC0+aW5pdGlhbGl6ZWQpOwotCWhhc2hjcHkobC5rZXlfc2hhMSwgb2JqZWN0X3NoYTEpOwotCWhhc2hjbHIobC52YWxfc2hhMSk7CisJaGFzaGNweShsLmtleV9vaWQuaGFzaCwgb2JqZWN0X3NoYTEpOworCW9pZGNscigmbC52YWxfb2lkKTsKIAlub3RlX3RyZWVfcmVtb3ZlKHQsIHQtPnJvb3QsIDAsICZsKTsKLQlpZiAoaXNfbnVsbF9zaGExKGwudmFsX3NoYTEpKSAvKiBubyBub3RlIHdhcyByZW1vdmVkICovCisJaWYgKGlzX251bGxfb2lkKCZsLnZhbF9vaWQpKSAvKiBubyBub3RlIHdhcyByZW1vdmVkICovCiAJCXJldHVybiAxOwogCXQtPmRpcnR5ID0gMTsKIAlyZXR1cm4gMDsKIH0KIAotY29uc3QgdW5zaWduZWQgY2hhciAqZ2V0X25vdGUoc3RydWN0IG5vdGVzX3RyZWUgKnQsCi0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm9iamVjdF9zaGExKQorY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqZ2V0X25vdGUoc3RydWN0IG5vdGVzX3RyZWUgKnQsCisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3QgbGVhZl9ub2RlICpmb3VuZDsKIAogCWlmICghdCkKIAkJdCA9ICZkZWZhdWx0X25vdGVzX3RyZWU7CiAJYXNzZXJ0KHQtPmluaXRpYWxpemVkKTsKLQlmb3VuZCA9IG5vdGVfdHJlZV9maW5kKHQsIHQtPnJvb3QsIDAsIG9iamVjdF9zaGExKTsKLQlyZXR1cm4gZm91bmQgPyBmb3VuZC0+dmFsX3NoYTEgOiBOVUxMOworCWZvdW5kID0gbm90ZV90cmVlX2ZpbmQodCwgdC0+cm9vdCwgMCwgb2lkLT5oYXNoKTsKKwlyZXR1cm4gZm91bmQgPyAmZm91bmQtPnZhbF9vaWQgOiBOVUxMOwogfQogCiBpbnQgZm9yX2VhY2hfbm90ZShzdHJ1Y3Qgbm90ZXNfdHJlZSAqdCwgaW50IGZsYWdzLCBlYWNoX25vdGVfZm4gZm4sCkBAIC0xMTQ0LDcgKzExNTIsNyBAQAogCiAJLyogUHJlcGFyZSBmb3IgdHJhdmVyc2FsIG9mIGN1cnJlbnQgbm90ZXMgdHJlZSAqLwogCXJvb3QubmV4dCA9IE5VTEw7IC8qIGxhc3QgZm9yd2FyZCBlbnRyeSBpbiBsaXN0IGlzIGdyb3VuZGVkICovCi0Jc3RyYnVmX2luaXQoJnJvb3QuYnVmLCAyNTYgKiAoMzIgKyA0MCkpOyAvKiBhc3N1bWUgMjU2IGVudHJpZXMgKi8KKwlzdHJidWZfaW5pdCgmcm9vdC5idWYsIDI1NiAqICgzMiArIEdJVF9TSEExX0hFWFNaKSk7IC8qIGFzc3VtZSAyNTYgZW50cmllcyAqLwogCXJvb3QucGF0aFswXSA9IHJvb3QucGF0aFsxXSA9ICdcMCc7CiAJY2JfZGF0YS5yb290ID0gJnJvb3Q7CiAJY2JfZGF0YS5uZXh0X25vbl9ub3RlID0gdC0+Zmlyc3Rfbm9uX25vdGU7CkBAIC0xMjA3LDExICsxMjE1LDExIEBACiAgKiAocmF3ICE9IDApIGdpdmVzIHRoZSAlTiB1c2VyZm9ybWF0OyBvdGhlcndpc2UsIHRoZSBub3RlIG1lc3NhZ2UgaXMgZ2l2ZW4KICAqIGZvciBodW1hbiBjb25zdW1wdGlvbi4KICAqLwotc3RhdGljIHZvaWQgZm9ybWF0X25vdGUoc3RydWN0IG5vdGVzX3RyZWUgKnQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9iamVjdF9zaGExLAorc3RhdGljIHZvaWQgZm9ybWF0X25vdGUoc3RydWN0IG5vdGVzX3RyZWUgKnQsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9iamVjdF9vaWQsCiAJCQlzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqb3V0cHV0X2VuY29kaW5nLCBpbnQgcmF3KQogewogCXN0YXRpYyBjb25zdCBjaGFyIHV0ZjhbXSA9ICJ1dGYtOCI7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7CiAJY2hhciAqbXNnLCAqbXNnX3A7CiAJdW5zaWduZWQgbG9uZyBsaW5lbGVuLCBtc2dsZW47CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwpAQCAtMTIyMSwxMSArMTIyOSwxMSBAQAogCWlmICghdC0+aW5pdGlhbGl6ZWQpCiAJCWluaXRfbm90ZXModCwgTlVMTCwgTlVMTCwgMCk7CiAKLQlzaGExID0gZ2V0X25vdGUodCwgb2JqZWN0X3NoYTEpOwotCWlmICghc2hhMSkKKwlvaWQgPSBnZXRfbm90ZSh0LCBvYmplY3Rfb2lkKTsKKwlpZiAoIW9pZCkKIAkJcmV0dXJuOwogCi0JaWYgKCEobXNnID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZtc2dsZW4pKSB8fCB0eXBlICE9IE9CSl9CTE9CKSB7CisJaWYgKCEobXNnID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgJm1zZ2xlbikpIHx8IHR5cGUgIT0gT0JKX0JMT0IpIHsKIAkJZnJlZShtc2cpOwogCQlyZXR1cm47CiAJfQpAQCAtMTI2OSwyMiArMTI3NywyMiBAQAogCWZyZWUobXNnKTsKIH0KIAotdm9pZCBmb3JtYXRfZGlzcGxheV9ub3Rlcyhjb25zdCB1bnNpZ25lZCBjaGFyICpvYmplY3Rfc2hhMSwKK3ZvaWQgZm9ybWF0X2Rpc3BsYXlfbm90ZXMoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2JqZWN0X29pZCwKIAkJCSAgc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKm91dHB1dF9lbmNvZGluZywgaW50IHJhdykKIHsKIAlpbnQgaTsKIAlhc3NlcnQoZGlzcGxheV9ub3Rlc190cmVlcyk7CiAJZm9yIChpID0gMDsgZGlzcGxheV9ub3Rlc190cmVlc1tpXTsgaSsrKQotCQlmb3JtYXRfbm90ZShkaXNwbGF5X25vdGVzX3RyZWVzW2ldLCBvYmplY3Rfc2hhMSwgc2IsCisJCWZvcm1hdF9ub3RlKGRpc3BsYXlfbm90ZXNfdHJlZXNbaV0sIG9iamVjdF9vaWQsIHNiLAogCQkJICAgIG91dHB1dF9lbmNvZGluZywgcmF3KTsKIH0KIAogaW50IGNvcHlfbm90ZShzdHJ1Y3Qgbm90ZXNfdHJlZSAqdCwKLQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpmcm9tX29iaiwgY29uc3QgdW5zaWduZWQgY2hhciAqdG9fb2JqLAorCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmZyb21fb2JqLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0b19vYmosCiAJICAgICAgaW50IGZvcmNlLCBjb21iaW5lX25vdGVzX2ZuIGNvbWJpbmVfbm90ZXMpCiB7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqbm90ZSA9IGdldF9ub3RlKHQsIGZyb21fb2JqKTsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpleGlzdGluZ19ub3RlID0gZ2V0X25vdGUodCwgdG9fb2JqKTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlID0gZ2V0X25vdGUodCwgZnJvbV9vYmopOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmV4aXN0aW5nX25vdGUgPSBnZXRfbm90ZSh0LCB0b19vYmopOwogCiAJaWYgKCFmb3JjZSAmJiBleGlzdGluZ19ub3RlKQogCQlyZXR1cm4gMTsKQEAgLTEyOTIsNyArMTMwMCw3IEBACiAJaWYgKG5vdGUpCiAJCXJldHVybiBhZGRfbm90ZSh0LCB0b19vYmosIG5vdGUsIGNvbWJpbmVfbm90ZXMpOwogCWVsc2UgaWYgKGV4aXN0aW5nX25vdGUpCi0JCXJldHVybiBhZGRfbm90ZSh0LCB0b19vYmosIG51bGxfc2hhMSwgY29tYmluZV9ub3Rlcyk7CisJCXJldHVybiBhZGRfbm90ZSh0LCB0b19vYmosICZudWxsX29pZCwgY29tYmluZV9ub3Rlcyk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEzMDksOSArMTMxNyw5IEBACiAKIHZvaWQgZXhwYW5kX2xvb3NlX25vdGVzX3JlZihzdHJ1Y3Qgc3RyYnVmICpzYikKIHsKLQl1bnNpZ25lZCBjaGFyIG9iamVjdFsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvYmplY3Q7CiAKLQlpZiAoZ2V0X3NoYTEoc2ItPmJ1Ziwgb2JqZWN0KSkgeworCWlmIChnZXRfb2lkKHNiLT5idWYsICZvYmplY3QpKSB7CiAJCS8qIGZhbGxiYWNrIHRvIGV4cGFuZF9ub3Rlc19yZWYgKi8KIAkJZXhwYW5kX25vdGVzX3JlZihzYik7CiAJfQpkaWZmIC0tZ2l0IGEvbm90ZXMuaCBiL25vdGVzLmgKaW5kZXggNTM0NTY0Mi4uMzg0OGMyZiAxMDA2NDQKLS0tIGEvbm90ZXMuaAorKysgYi9ub3Rlcy5oCkBAIC0xMjEsOCArMTIxLDggQEAKICAqIGFyZSBub3QgcGVyc2lzdGVudCB1bnRpbCBhIHN1YnNlcXVlbnQgY2FsbCB0byB3cml0ZV9ub3Rlc190cmVlKCkgcmV0dXJucwogICogemVyby4KICAqLwotaW50IGFkZF9ub3RlKHN0cnVjdCBub3Rlc190cmVlICp0LCBjb25zdCB1bnNpZ25lZCBjaGFyICpvYmplY3Rfc2hhMSwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqbm90ZV9zaGExLCBjb21iaW5lX25vdGVzX2ZuIGNvbWJpbmVfbm90ZXMpOworaW50IGFkZF9ub3RlKHN0cnVjdCBub3Rlc190cmVlICp0LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3Rfb2lkLAorCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlX29pZCwgY29tYmluZV9ub3Rlc19mbiBjb21iaW5lX25vdGVzKTsKIAogLyoKICAqIFJlbW92ZSB0aGUgZ2l2ZW4gbm90ZSBvYmplY3QgZnJvbSB0aGUgZ2l2ZW4gbm90ZXNfdHJlZSBzdHJ1Y3R1cmUKQEAgLTE0MCw4ICsxNDAsOCBAQAogICoKICAqIFJldHVybiBOVUxMIGlmIHRoZSBnaXZlbiBvYmplY3QgaGFzIG5vIG5vdGVzLgogICovCi1jb25zdCB1bnNpZ25lZCBjaGFyICpnZXRfbm90ZShzdHJ1Y3Qgbm90ZXNfdHJlZSAqdCwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqb2JqZWN0X3NoYTEpOworY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqZ2V0X25vdGUoc3RydWN0IG5vdGVzX3RyZWUgKnQsCisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9iamVjdF9vaWQpOwogCiAvKgogICogQ29weSBhIG5vdGUgZnJvbSBvbmUgb2JqZWN0IHRvIGFub3RoZXIgaW4gdGhlIGdpdmVuIG5vdGVzX3RyZWUuCkBAIC0xNTYsNyArMTU2LDcgQEAKICAqIHplcm8uCiAgKi8KIGludCBjb3B5X25vdGUoc3RydWN0IG5vdGVzX3RyZWUgKnQsCi0JICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZnJvbV9vYmosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRvX29iaiwKKwkgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpmcm9tX29iaiwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdG9fb2JqLAogCSAgICAgIGludCBmb3JjZSwgY29tYmluZV9ub3Rlc19mbiBjb21iaW5lX25vdGVzKTsKIAogLyoKQEAgLTIwMiw4ICsyMDIsOCBAQAogICogLSBjb3B5X25vdGUoKQogICogLSBmcmVlX25vdGVzKCkKICAqLwotdHlwZWRlZiBpbnQgZWFjaF9ub3RlX2ZuKGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9iamVjdF9zaGExLAotCQljb25zdCB1bnNpZ25lZCBjaGFyICpub3RlX3NoYTEsIGNoYXIgKm5vdGVfcGF0aCwKK3R5cGVkZWYgaW50IGVhY2hfbm90ZV9mbihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3Rfb2lkLAorCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlX29pZCwgY2hhciAqbm90ZV9wYXRoLAogCQl2b2lkICpjYl9kYXRhKTsKIGludCBmb3JfZWFjaF9ub3RlKHN0cnVjdCBub3Rlc190cmVlICp0LCBpbnQgZmxhZ3MsIGVhY2hfbm90ZV9mbiBmbiwKIAkJdm9pZCAqY2JfZGF0YSk7CkBAIC0yNzcsNyArMjc3LDcgQEAKICAqCiAgKiBZb3UgKm11c3QqIGNhbGwgaW5pdF9kaXNwbGF5X25vdGVzKCkgYmVmb3JlIHVzaW5nIHRoaXMgZnVuY3Rpb24uCiAgKi8KLXZvaWQgZm9ybWF0X2Rpc3BsYXlfbm90ZXMoY29uc3QgdW5zaWduZWQgY2hhciAqb2JqZWN0X3NoYTEsCit2b2lkIGZvcm1hdF9kaXNwbGF5X25vdGVzKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9iamVjdF9vaWQsCiAJCQkgIHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpvdXRwdXRfZW5jb2RpbmcsIGludCByYXcpOwogCiAvKgpkaWZmIC0tZ2l0IGEvb2JqZWN0LmMgYi9vYmplY3QuYwppbmRleCBlNjgwZDg4Li5iOWE0YTBlIDEwMDY0NAotLS0gYS9vYmplY3QuYworKysgYi9vYmplY3QuYwpAQCAtMTQxLDcgKzE0MSw2IEBACiAJc3RydWN0IG9iamVjdCAqb2JqID0gbzsKIAogCW9iai0+cGFyc2VkID0gMDsKLQlvYmotPnVzZWQgPSAwOwogCW9iai0+ZmxhZ3MgPSAwOwogCWhhc2hjcHkob2JqLT5vaWQuaGFzaCwgc2hhMSk7CiAKQEAgLTE4MCwyMSArMTc5LDIxIEBACiAJcmV0dXJuIG9iajsKIH0KIAotc3RydWN0IG9iamVjdCAqcGFyc2Vfb2JqZWN0X2J1ZmZlcihjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlIHR5cGUsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdm9pZCAqYnVmZmVyLCBpbnQgKmVhdGVuX3ApCitzdHJ1Y3Qgb2JqZWN0ICpwYXJzZV9vYmplY3RfYnVmZmVyKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgZW51bSBvYmplY3RfdHlwZSB0eXBlLCB1bnNpZ25lZCBsb25nIHNpemUsIHZvaWQgKmJ1ZmZlciwgaW50ICplYXRlbl9wKQogewogCXN0cnVjdCBvYmplY3QgKm9iajsKIAkqZWF0ZW5fcCA9IDA7CiAKIAlvYmogPSBOVUxMOwogCWlmICh0eXBlID09IE9CSl9CTE9CKSB7Ci0JCXN0cnVjdCBibG9iICpibG9iID0gbG9va3VwX2Jsb2Ioc2hhMSk7CisJCXN0cnVjdCBibG9iICpibG9iID0gbG9va3VwX2Jsb2Iob2lkKTsKIAkJaWYgKGJsb2IpIHsKIAkJCWlmIChwYXJzZV9ibG9iX2J1ZmZlcihibG9iLCBidWZmZXIsIHNpemUpKQogCQkJCXJldHVybiBOVUxMOwogCQkJb2JqID0gJmJsb2ItPm9iamVjdDsKIAkJfQogCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfVFJFRSkgewotCQlzdHJ1Y3QgdHJlZSAqdHJlZSA9IGxvb2t1cF90cmVlKHNoYTEpOworCQlzdHJ1Y3QgdHJlZSAqdHJlZSA9IGxvb2t1cF90cmVlKG9pZCk7CiAJCWlmICh0cmVlKSB7CiAJCQlvYmogPSAmdHJlZS0+b2JqZWN0OwogCQkJaWYgKCF0cmVlLT5idWZmZXIpCkBAIC0yMDYsNyArMjA1LDcgQEAKIAkJCX0KIAkJfQogCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfQ09NTUlUKSB7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXQoc2hhMSk7CisJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXQob2lkKTsKIAkJaWYgKGNvbW1pdCkgewogCQkJaWYgKHBhcnNlX2NvbW1pdF9idWZmZXIoY29tbWl0LCBidWZmZXIsIHNpemUpKQogCQkJCXJldHVybiBOVUxMOwpAQCAtMjE3LDU0ICsyMTYsNTQgQEAKIAkJCW9iaiA9ICZjb21taXQtPm9iamVjdDsKIAkJfQogCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfVEFHKSB7Ci0JCXN0cnVjdCB0YWcgKnRhZyA9IGxvb2t1cF90YWcoc2hhMSk7CisJCXN0cnVjdCB0YWcgKnRhZyA9IGxvb2t1cF90YWcob2lkKTsKIAkJaWYgKHRhZykgewogCQkJaWYgKHBhcnNlX3RhZ19idWZmZXIodGFnLCBidWZmZXIsIHNpemUpKQogCQkJICAgICAgIHJldHVybiBOVUxMOwogCQkJb2JqID0gJnRhZy0+b2JqZWN0OwogCQl9CiAJfSBlbHNlIHsKLQkJd2FybmluZygib2JqZWN0ICVzIGhhcyB1bmtub3duIHR5cGUgaWQgJWQiLCBzaGExX3RvX2hleChzaGExKSwgdHlwZSk7CisJCXdhcm5pbmcoIm9iamVjdCAlcyBoYXMgdW5rbm93biB0eXBlIGlkICVkIiwgb2lkX3RvX2hleChvaWQpLCB0eXBlKTsKIAkJb2JqID0gTlVMTDsKIAl9CiAJcmV0dXJuIG9iajsKIH0KIAotc3RydWN0IG9iamVjdCAqcGFyc2Vfb2JqZWN0X29yX2RpZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RydWN0IG9iamVjdCAqcGFyc2Vfb2JqZWN0X29yX2RpZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkJICAgY29uc3QgY2hhciAqbmFtZSkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KHNoYTEpOworCXN0cnVjdCBvYmplY3QgKm8gPSBwYXJzZV9vYmplY3Qob2lkKTsKIAlpZiAobykKIAkJcmV0dXJuIG87CiAKLQlkaWUoXygidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiKSwgbmFtZSA/IG5hbWUgOiBzaGExX3RvX2hleChzaGExKSk7CisJZGllKF8oInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIiksIG5hbWUgPyBuYW1lIDogb2lkX3RvX2hleChvaWQpKTsKIH0KIAotc3RydWN0IG9iamVjdCAqcGFyc2Vfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdHJ1Y3Qgb2JqZWN0ICpwYXJzZV9vYmplY3QoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJaW50IGVhdGVuOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlcGwgPSBsb29rdXBfcmVwbGFjZV9vYmplY3Qoc2hhMSk7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcmVwbCA9IGxvb2t1cF9yZXBsYWNlX29iamVjdChvaWQtPmhhc2gpOwogCXZvaWQgKmJ1ZmZlcjsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiAKLQlvYmogPSBsb29rdXBfb2JqZWN0KHNoYTEpOworCW9iaiA9IGxvb2t1cF9vYmplY3Qob2lkLT5oYXNoKTsKIAlpZiAob2JqICYmIG9iai0+cGFyc2VkKQogCQlyZXR1cm4gb2JqOwogCiAJaWYgKChvYmogJiYgb2JqLT50eXBlID09IE9CSl9CTE9CKSB8fAotCSAgICAoIW9iaiAmJiBoYXNfc2hhMV9maWxlKHNoYTEpICYmCi0JICAgICBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpID09IE9CSl9CTE9CKSkgeworCSAgICAoIW9iaiAmJiBoYXNfb2JqZWN0X2ZpbGUob2lkKSAmJgorCSAgICAgc2hhMV9vYmplY3RfaW5mbyhvaWQtPmhhc2gsIE5VTEwpID09IE9CSl9CTE9CKSkgewogCQlpZiAoY2hlY2tfc2hhMV9zaWduYXR1cmUocmVwbCwgTlVMTCwgMCwgTlVMTCkgPCAwKSB7Ci0JCQllcnJvcigic2hhMSBtaXNtYXRjaCAlcyIsIHNoYTFfdG9faGV4KHJlcGwpKTsKKwkJCWVycm9yKCJzaGExIG1pc21hdGNoICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAkJCXJldHVybiBOVUxMOwogCQl9Ci0JCXBhcnNlX2Jsb2JfYnVmZmVyKGxvb2t1cF9ibG9iKHNoYTEpLCBOVUxMLCAwKTsKLQkJcmV0dXJuIGxvb2t1cF9vYmplY3Qoc2hhMSk7CisJCXBhcnNlX2Jsb2JfYnVmZmVyKGxvb2t1cF9ibG9iKG9pZCksIE5VTEwsIDApOworCQlyZXR1cm4gbG9va3VwX29iamVjdChvaWQtPmhhc2gpOwogCX0KIAotCWJ1ZmZlciA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJYnVmZmVyID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgJnNpemUpOwogCWlmIChidWZmZXIpIHsKIAkJaWYgKGNoZWNrX3NoYTFfc2lnbmF0dXJlKHJlcGwsIGJ1ZmZlciwgc2l6ZSwgdHlwZW5hbWUodHlwZSkpIDwgMCkgewogCQkJZnJlZShidWZmZXIpOwpAQCAtMjcyLDcgKzI3MSw3IEBACiAJCQlyZXR1cm4gTlVMTDsKIAkJfQogCi0JCW9iaiA9IHBhcnNlX29iamVjdF9idWZmZXIoc2hhMSwgdHlwZSwgc2l6ZSwgYnVmZmVyLCAmZWF0ZW4pOworCQlvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKG9pZCwgdHlwZSwgc2l6ZSwgYnVmZmVyLCAmZWF0ZW4pOwogCQlpZiAoIWVhdGVuKQogCQkJZnJlZShidWZmZXIpOwogCQlyZXR1cm4gb2JqOwpAQCAtMzU0LDYgKzM1MywxOSBAQAogCWZyZWUoZW50LT5wYXRoKTsKIH0KIAorc3RydWN0IG9iamVjdCAqb2JqZWN0X2FycmF5X3BvcChzdHJ1Y3Qgb2JqZWN0X2FycmF5ICphcnJheSkKK3sKKwlzdHJ1Y3Qgb2JqZWN0ICpyZXQ7CisKKwlpZiAoIWFycmF5LT5ucikKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXQgPSBhcnJheS0+b2JqZWN0c1thcnJheS0+bnIgLSAxXS5pdGVtOworCW9iamVjdF9hcnJheV9yZWxlYXNlX2VudHJ5KCZhcnJheS0+b2JqZWN0c1thcnJheS0+bnIgLSAxXSk7CisJYXJyYXktPm5yLS07CisJcmV0dXJuIHJldDsKK30KKwogdm9pZCBvYmplY3RfYXJyYXlfZmlsdGVyKHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5LAogCQkJIG9iamVjdF9hcnJheV9lYWNoX2Z1bmNfdCB3YW50LCB2b2lkICpjYl9kYXRhKQogewpAQCAtMzc3LDggKzM4OSw3IEBACiAJaW50IGk7CiAJZm9yIChpID0gMDsgaSA8IGFycmF5LT5ucjsgaSsrKQogCQlvYmplY3RfYXJyYXlfcmVsZWFzZV9lbnRyeSgmYXJyYXktPm9iamVjdHNbaV0pOwotCWZyZWUoYXJyYXktPm9iamVjdHMpOwotCWFycmF5LT5vYmplY3RzID0gTlVMTDsKKwlGUkVFX0FORF9OVUxMKGFycmF5LT5vYmplY3RzKTsKIAlhcnJheS0+bnIgPSBhcnJheS0+YWxsb2MgPSAwOwogfQogCmRpZmYgLS1naXQgYS9vYmplY3QuaCBiL29iamVjdC5oCmluZGV4IDYxNGEwMDYuLmRmOGFiZTkgMTAwNjQ0Ci0tLSBhL29iamVjdC5oCisrKyBiL29iamVjdC5oCkBAIC0yOSw3ICsyOSw3IEBACiAvKgogICogb2JqZWN0IGZsYWcgYWxsb2NhdGlvbjoKICAqIHJldmlzaW9uLmg6ICAgICAgMC0tLS0tLS0tLTEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNgotICogZmV0Y2gtcGFjay5jOiAgICAwLS0tNAorICogZmV0Y2gtcGFjay5jOiAgICAwLS0tNQogICogd2Fsa2VyLmM6ICAgICAgICAwLTIKICAqIHVwbG9hZC1wYWNrLmM6ICAgICAgIDQgICAgICAgMTEtLS0tLS0tLS0tLS0tLS0tMTkKICAqIGJ1aWx0aW4vYmxhbWUuYzogICAgICAgICAgICAgICAxMi0xMwpAQCAtMzgsNiArMzgsNyBAQAogICogaHR0cC1wdXNoLmM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2LS0tLS0xOQogICogY29tbWl0LmM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2LS0tLS0xOQogICogc2hhMV9uYW1lLmM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwCisgKiBidWlsdGluL2ZzY2suYzogIDAtLTMKICAqLwogI2RlZmluZSBGTEFHX0JJVFMgIDI3CiAKQEAgLTQ2LDcgKzQ3LDYgQEAKICAqLwogc3RydWN0IG9iamVjdCB7CiAJdW5zaWduZWQgcGFyc2VkIDogMTsKLQl1bnNpZ25lZCB1c2VkIDogMTsKIAl1bnNpZ25lZCB0eXBlIDogVFlQRV9CSVRTOwogCXVuc2lnbmVkIGZsYWdzIDogRkxBR19CSVRTOwogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwpAQCAtODksMjAgKzg5LDIwIEBACiAgKgogICogUmV0dXJucyBOVUxMIGlmIHRoZSBvYmplY3QgaXMgbWlzc2luZyBvciBjb3JydXB0LgogICovCi1zdHJ1Y3Qgb2JqZWN0ICpwYXJzZV9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CitzdHJ1Y3Qgb2JqZWN0ICpwYXJzZV9vYmplY3QoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAogLyoKICAqIExpa2UgcGFyc2Vfb2JqZWN0LCBidXQgd2lsbCBkaWUoKSBpbnN0ZWFkIG9mIHJldHVybmluZyBOVUxMLiBJZiB0aGUKICAqICJuYW1lIiBwYXJhbWV0ZXIgaXMgbm90IE5VTEwsIGl0IGlzIGluY2x1ZGVkIGluIHRoZSBlcnJvciBtZXNzYWdlCi0gKiAob3RoZXJ3aXNlLCB0aGUgc2hhMSBoZXggaXMgZ2l2ZW4pLgorICogKG90aGVyd2lzZSwgdGhlIGhleCBvYmplY3QgSUQgaXMgZ2l2ZW4pLgogICovCi1zdHJ1Y3Qgb2JqZWN0ICpwYXJzZV9vYmplY3Rfb3JfZGllKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKm5hbWUpOworc3RydWN0IG9iamVjdCAqcGFyc2Vfb2JqZWN0X29yX2RpZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKm5hbWUpOwogCiAvKiBHaXZlbiB0aGUgcmVzdWx0IG9mIHJlYWRfc2hhMV9maWxlKCksIHJldHVybnMgdGhlIG9iamVjdCBhZnRlcgogICogcGFyc2luZyBpdC4gIGVhdGVuX3AgaW5kaWNhdGVzIGlmIHRoZSBvYmplY3QgaGFzIGEgYm9ycm93ZWQgY29weQogICogb2YgYnVmZmVyIGFuZCB0aGUgY2FsbGVyIHNob3VsZCBub3QgZnJlZSgpIGl0LgogICovCi1zdHJ1Y3Qgb2JqZWN0ICpwYXJzZV9vYmplY3RfYnVmZmVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBzaXplLCB2b2lkICpidWZmZXIsIGludCAqZWF0ZW5fcCk7CitzdHJ1Y3Qgb2JqZWN0ICpwYXJzZV9vYmplY3RfYnVmZmVyKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgZW51bSBvYmplY3RfdHlwZSB0eXBlLCB1bnNpZ25lZCBsb25nIHNpemUsIHZvaWQgKmJ1ZmZlciwgaW50ICplYXRlbl9wKTsKIAogLyoqIFJldHVybnMgdGhlIG9iamVjdCwgd2l0aCBwb3RlbnRpYWxseSBleGNlc3MgbWVtb3J5IGFsbG9jYXRlZC4gKiovCiBzdHJ1Y3Qgb2JqZWN0ICpsb29rdXBfdW5rbm93bl9vYmplY3QoY29uc3QgdW5zaWduZWQgIGNoYXIgKnNoYTEpOwpAQCAtMTE2LDYgKzExNiwxNCBAQAogdm9pZCBhZGRfb2JqZWN0X2FycmF5KHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXkpOwogdm9pZCBhZGRfb2JqZWN0X2FycmF5X3dpdGhfcGF0aChzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5LCB1bnNpZ25lZCBtb2RlLCBjb25zdCBjaGFyICpwYXRoKTsKIAorLyoKKyAqIFJldHVybnMgTlVMTCBpZiB0aGUgYXJyYXkgaXMgZW1wdHkuIE90aGVyd2lzZSwgcmV0dXJucyB0aGUgbGFzdCBvYmplY3QKKyAqIGFmdGVyIHJlbW92aW5nIGl0cyBlbnRyeSBmcm9tIHRoZSBhcnJheS4gT3RoZXIgcmVzb3VyY2VzIGFzc29jaWF0ZWQKKyAqIHdpdGggdGhhdCBvYmplY3QgYXJlIGxlZnQgaW4gYW4gdW5zcGVjaWZpZWQgc3RhdGUgYW5kIHNob3VsZCBub3QgYmUKKyAqIGV4YW1pbmVkLgorICovCitzdHJ1Y3Qgb2JqZWN0ICpvYmplY3RfYXJyYXlfcG9wKHN0cnVjdCBvYmplY3RfYXJyYXkgKmFycmF5KTsKKwogdHlwZWRlZiBpbnQgKCpvYmplY3RfYXJyYXlfZWFjaF9mdW5jX3QpKHN0cnVjdCBvYmplY3RfYXJyYXlfZW50cnkgKiwgdm9pZCAqKTsKIAogLyoKZGlmZiAtLWdpdCBhL29pZHNldC5jIGIvb2lkc2V0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZhMDhiYQotLS0gL2Rldi9udWxsCisrKyBiL29pZHNldC5jCkBAIC0wLDAgKzEsNTAgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgIm9pZHNldC5oIgorCitzdHJ1Y3Qgb2lkc2V0X2VudHJ5IHsKKwlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBoYXNoOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworfTsKKworc3RhdGljIGludCBvaWRzZXRfaGFzaGNtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCisJCQkgIGNvbnN0IHZvaWQgKnZhLCBjb25zdCB2b2lkICp2YiwKKwkJCSAgY29uc3Qgdm9pZCAqdmtleSkKK3sKKwljb25zdCBzdHJ1Y3Qgb2lkc2V0X2VudHJ5ICphID0gdmEsICpiID0gdmI7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqa2V5ID0gdmtleTsKKwlyZXR1cm4gb2lkY21wKCZhLT5vaWQsIGtleSA/IGtleSA6ICZiLT5vaWQpOworfQorCitpbnQgb2lkc2V0X2NvbnRhaW5zKGNvbnN0IHN0cnVjdCBvaWRzZXQgKnNldCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQoreworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGtleTsKKworCWlmICghc2V0LT5tYXAuY21wZm4pCisJCXJldHVybiAwOworCisJaGFzaG1hcF9lbnRyeV9pbml0KCZrZXksIHNoYTFoYXNoKG9pZC0+aGFzaCkpOworCXJldHVybiAhIWhhc2htYXBfZ2V0KCZzZXQtPm1hcCwgJmtleSwgb2lkKTsKK30KKworaW50IG9pZHNldF9pbnNlcnQoc3RydWN0IG9pZHNldCAqc2V0LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCit7CisJc3RydWN0IG9pZHNldF9lbnRyeSAqZW50cnk7CisKKwlpZiAoIXNldC0+bWFwLmNtcGZuKQorCQloYXNobWFwX2luaXQoJnNldC0+bWFwLCBvaWRzZXRfaGFzaGNtcCwgTlVMTCwgMCk7CisKKwlpZiAob2lkc2V0X2NvbnRhaW5zKHNldCwgb2lkKSkKKwkJcmV0dXJuIDE7CisKKwllbnRyeSA9IHhtYWxsb2Moc2l6ZW9mKCplbnRyeSkpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmhhc2gsIHNoYTFoYXNoKG9pZC0+aGFzaCkpOworCW9pZGNweSgmZW50cnktPm9pZCwgb2lkKTsKKworCWhhc2htYXBfYWRkKCZzZXQtPm1hcCwgZW50cnkpOworCXJldHVybiAwOworfQorCit2b2lkIG9pZHNldF9jbGVhcihzdHJ1Y3Qgb2lkc2V0ICpzZXQpCit7CisJaGFzaG1hcF9mcmVlKCZzZXQtPm1hcCwgMSk7Cit9CmRpZmYgLS1naXQgYS9vaWRzZXQuaCBiL29pZHNldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3ZWFhYjUKLS0tIC9kZXYvbnVsbAorKysgYi9vaWRzZXQuaApAQCAtMCwwICsxLDQ1IEBACisjaWZuZGVmIE9JRFNFVF9ICisjZGVmaW5lIE9JRFNFVF9ICisKKy8qKgorICogVGhpcyBBUEkgaXMgc2ltaWxhciB0byBzaGExLWFycmF5LCBpbiB0aGF0IGl0IG1haW50YWlucyBhIHNldCBvZiBvYmplY3QgaWRzCisgKiBpbiBhIG1lbW9yeS1lZmZpY2llbnQgd2F5LiBUaGUgbWFqb3IgZGlmZmVyZW5jZXMgYXJlOgorICoKKyAqICAgMS4gSXQgdXNlcyBhIGhhc2gsIHNvIHdlIGNhbiBkbyBvbmxpbmUgZHVwbGljYXRlIHJlbW92YWwsIHJhdGhlciB0aGFuCisgKiAgICAgIHNvcnQtYW5kLXVuaXEgYXQgdGhlIGVuZC4gVGhpcyBjYW4gcmVkdWNlIG1lbW9yeSBmb290cHJpbnQgaWYgeW91IGhhdmUKKyAqICAgICAgYSBsYXJnZSBsaXN0IG9mIG9pZHMgd2l0aCBtYW55IGR1cGxpY2F0ZXMuCisgKgorICogICAyLiBUaGUgcGVyLXVuaXF1ZS1vaWQgbWVtb3J5IGZvb3RwcmludCBpcyBzbGlnaHRseSBoaWdoZXIgZHVlIHRvIGhhc2gKKyAqICAgICAgdGFibGUgb3ZlcmhlYWQuCisgKi8KKworLyoqCisgKiBBIHNpbmdsZSBvaWRzZXQ7IHNob3VsZCBiZSB6ZXJvLWluaXRpYWxpemVkIChvciB1c2UgT0lEU0VUX0lOSVQpLgorICovCitzdHJ1Y3Qgb2lkc2V0IHsKKwlzdHJ1Y3QgaGFzaG1hcCBtYXA7Cit9OworCisjZGVmaW5lIE9JRFNFVF9JTklUIHsgeyBOVUxMIH0gfQorCisvKioKKyAqIFJldHVybnMgdHJ1ZSBpZmYgYHNldGAgY29udGFpbnMgYG9pZGAuCisgKi8KK2ludCBvaWRzZXRfY29udGFpbnMoY29uc3Qgc3RydWN0IG9pZHNldCAqc2V0LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworCisvKioKKyAqIEluc2VydCB0aGUgb2lkIGludG8gdGhlIHNldDsgYSBjb3B5IGlzIG1hZGUsIHNvICJvaWQiIGRvZXMgbm90IG5lZWQKKyAqIHRvIHBlcnNpc3QgYWZ0ZXIgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuCisgKgorICogUmV0dXJucyAxIGlmIHRoZSBvaWQgd2FzIGFscmVhZHkgaW4gdGhlIHNldCwgMCBvdGhlcndpc2UuIFRoaXMgY2FuIGJlIHVzZWQKKyAqIHRvIHBlcmZvcm0gYW4gZWZmaWNpZW50IGNoZWNrLWFuZC1hZGQuCisgKi8KK2ludCBvaWRzZXRfaW5zZXJ0KHN0cnVjdCBvaWRzZXQgKnNldCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKKworLyoqCisgKiBSZW1vdmUgYWxsIGVudHJpZXMgZnJvbSB0aGUgb2lkc2V0LCBmcmVlaW5nIGFueSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoCisgKiBpdC4KKyAqLwordm9pZCBvaWRzZXRfY2xlYXIoc3RydWN0IG9pZHNldCAqc2V0KTsKKworI2VuZGlmIC8qIE9JRFNFVF9IICovCmRpZmYgLS1naXQgYS9wYWNrLWJpdG1hcC13cml0ZS5jIGIvcGFjay1iaXRtYXAtd3JpdGUuYwppbmRleCA5NzA1NTk2Li5hOGRmNWNlIDEwMDY0NAotLS0gYS9wYWNrLWJpdG1hcC13cml0ZS5jCisrKyBiL3BhY2stYml0bWFwLXdyaXRlLmMKQEAgLTczLDcgKzczLDggQEAKIAkJCWJyZWFrOwogCiAJCWRlZmF1bHQ6Ci0JCQlyZWFsX3R5cGUgPSBzaGExX29iamVjdF9pbmZvKGVudHJ5LT5pZHguc2hhMSwgTlVMTCk7CisJCQlyZWFsX3R5cGUgPSBzaGExX29iamVjdF9pbmZvKGVudHJ5LT5pZHgub2lkLmhhc2gsCisJCQkJCQkgICAgIE5VTEwpOwogCQkJYnJlYWs7CiAJCX0KIApAQCAtOTYsNyArOTcsOCBAQAogCiAJCWRlZmF1bHQ6CiAJCQlkaWUoIk1pc3NpbmcgdHlwZSBpbmZvcm1hdGlvbiBmb3IgJXMgKCVkLyVkKSIsCi0JCQkgICAgc2hhMV90b19oZXgoZW50cnktPmlkeC5zaGExKSwgcmVhbF90eXBlLCBlbnRyeS0+dHlwZSk7CisJCQkgICAgb2lkX3RvX2hleCgmZW50cnktPmlkeC5vaWQpLCByZWFsX3R5cGUsCisJCQkgICAgZW50cnktPnR5cGUpOwogCQl9CiAJfQogfQpAQCAtMjk1LDkgKzI5Nyw3IEBACiAKIAkJCXRyYXZlcnNlX2NvbW1pdF9saXN0KCZyZXZzLCBzaG93X2NvbW1pdCwgc2hvd19vYmplY3QsIGJhc2UpOwogCi0JCQlyZXZzLnBlbmRpbmcubnIgPSAwOwotCQkJcmV2cy5wZW5kaW5nLmFsbG9jID0gMDsKLQkJCXJldnMucGVuZGluZy5vYmplY3RzID0gTlVMTDsKKwkJCW9iamVjdF9hcnJheV9jbGVhcigmcmV2cy5wZW5kaW5nKTsKIAogCQkJc3RvcmVkLT5iaXRtYXAgPSBiaXRtYXBfdG9fZXdhaChiYXNlKTsKIAkJCW5lZWRfcmVzZXQgPSAwOwpAQCAtNDU5LDcgKzQ1OSw3IEBACiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMV9hY2Nlc3Moc2l6ZV90IHBvcywgdm9pZCAqdGFibGUpCiB7CiAJc3RydWN0IHBhY2tfaWR4X2VudHJ5ICoqaW5kZXggPSB0YWJsZTsKLQlyZXR1cm4gaW5kZXhbcG9zXS0+c2hhMTsKKwlyZXR1cm4gaW5kZXhbcG9zXS0+b2lkLmhhc2g7CiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlX3NlbGVjdGVkX2NvbW1pdHNfdjEoc3RydWN0IHNoYTFmaWxlICpmLApAQCAtNTA4LDE4ICs1MDgsMTYgQEAKIAkJCSAgY29uc3QgY2hhciAqZmlsZW5hbWUsCiAJCQkgIHVpbnQxNl90IG9wdGlvbnMpCiB7Ci0Jc3RhdGljIGNoYXIgdG1wX2ZpbGVbUEFUSF9NQVhdOwogCXN0YXRpYyB1aW50MTZfdCBkZWZhdWx0X3ZlcnNpb24gPSAxOwogCXN0YXRpYyB1aW50MTZfdCBmbGFncyA9IEJJVE1BUF9PUFRfRlVMTF9EQUc7CisJc3RydWN0IHN0cmJ1ZiB0bXBfZmlsZSA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzaGExZmlsZSAqZjsKIAogCXN0cnVjdCBiaXRtYXBfZGlza19oZWFkZXIgaGVhZGVyOwogCi0JaW50IGZkID0gb2RiX21rc3RlbXAodG1wX2ZpbGUsIHNpemVvZih0bXBfZmlsZSksICJwYWNrL3RtcF9iaXRtYXBfWFhYWFhYIik7CisJaW50IGZkID0gb2RiX21rc3RlbXAoJnRtcF9maWxlLCAicGFjay90bXBfYml0bWFwX1hYWFhYWCIpOwogCi0JaWYgKGZkIDwgMCkKLQkJZGllX2Vycm5vKCJ1bmFibGUgdG8gY3JlYXRlICclcyciLCB0bXBfZmlsZSk7Ci0JZiA9IHNoYTFmZChmZCwgdG1wX2ZpbGUpOworCWYgPSBzaGExZmQoZmQsIHRtcF9maWxlLmJ1Zik7CiAKIAltZW1jcHkoaGVhZGVyLm1hZ2ljLCBCSVRNQVBfSURYX1NJR05BVFVSRSwgc2l6ZW9mKEJJVE1BUF9JRFhfU0lHTkFUVVJFKSk7CiAJaGVhZGVyLnZlcnNpb24gPSBodG9ucyhkZWZhdWx0X3ZlcnNpb24pOwpAQCAtNTM5LDkgKzUzNywxMSBAQAogCiAJc2hhMWNsb3NlKGYsIE5VTEwsIENTVU1fRlNZTkMpOwogCi0JaWYgKGFkanVzdF9zaGFyZWRfcGVybSh0bXBfZmlsZSkpCisJaWYgKGFkanVzdF9zaGFyZWRfcGVybSh0bXBfZmlsZS5idWYpKQogCQlkaWVfZXJybm8oInVuYWJsZSB0byBtYWtlIHRlbXBvcmFyeSBiaXRtYXAgZmlsZSByZWFkYWJsZSIpOwogCi0JaWYgKHJlbmFtZSh0bXBfZmlsZSwgZmlsZW5hbWUpKQorCWlmIChyZW5hbWUodG1wX2ZpbGUuYnVmLCBmaWxlbmFtZSkpCiAJCWRpZV9lcnJubygidW5hYmxlIHRvIHJlbmFtZSB0ZW1wb3JhcnkgYml0bWFwIGZpbGUgdG8gJyVzJyIsIGZpbGVuYW1lKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZ0bXBfZmlsZSk7CiB9CmRpZmYgLS1naXQgYS9wYWNrLWJpdG1hcC5jIGIvcGFjay1iaXRtYXAuYwppbmRleCAzOWJjYzE2Li40MmUzZDVmIDEwMDY0NAotLS0gYS9wYWNrLWJpdG1hcC5jCisrKyBiL3BhY2stYml0bWFwLmMKQEAgLTksNiArOSw3IEBACiAjaW5jbHVkZSAicGFjay1iaXRtYXAuaCIKICNpbmNsdWRlICJwYWNrLXJldmluZGV4LmgiCiAjaW5jbHVkZSAicGFjay1vYmplY3RzLmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogLyoKICAqIEFuIGVudHJ5IG9uIHRoZSBiaXRtYXAgaW5kZXgsIHJlcHJlc2VudGluZyB0aGUgYml0bWFwIGZvciBhIGdpdmVuCkBAIC02MjcsNyArNjI4LDcgQEAKIAkJCXNoYTEgPSBudGhfcGFja2VkX29iamVjdF9zaGExKGJpdG1hcF9naXQucGFjaywgZW50cnktPm5yKTsKIAogCQkJaWYgKGJpdG1hcF9naXQuaGFzaGVzKQotCQkJCWhhc2ggPSBudG9obChiaXRtYXBfZ2l0Lmhhc2hlc1tlbnRyeS0+bnJdKTsKKwkJCQloYXNoID0gZ2V0X2JlMzIoYml0bWFwX2dpdC5oYXNoZXMgKyBlbnRyeS0+bnIpOwogCiAJCQlzaG93X3JlYWNoKHNoYTEsIG9iamVjdF90eXBlLCAwLCBoYXNoLCBiaXRtYXBfZ2l0LnBhY2ssIGVudHJ5LT5vZmZzZXQpOwogCQl9CkBAIC02NTMsOCArNjU0LDYgQEAKIGludCBwcmVwYXJlX2JpdG1hcF93YWxrKHN0cnVjdCByZXZfaW5mbyAqcmV2cykKIHsKIAl1bnNpZ25lZCBpbnQgaTsKLQl1bnNpZ25lZCBpbnQgcGVuZGluZ19uciA9IHJldnMtPnBlbmRpbmcubnI7Ci0Jc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqcGVuZGluZ19lID0gcmV2cy0+cGVuZGluZy5vYmplY3RzOwogCiAJc3RydWN0IG9iamVjdF9saXN0ICp3YW50cyA9IE5VTEw7CiAJc3RydWN0IG9iamVjdF9saXN0ICpoYXZlcyA9IE5VTEw7CkBAIC02NjksMTEgKzY2OCwxMSBAQAogCQkJcmV0dXJuIC0xOwogCX0KIAotCWZvciAoaSA9IDA7IGkgPCBwZW5kaW5nX25yOyArK2kpIHsKLQkJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gcGVuZGluZ19lW2ldLml0ZW07CisJZm9yIChpID0gMDsgaSA8IHJldnMtPnBlbmRpbmcubnI7ICsraSkgeworCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0uaXRlbTsKIAogCQlpZiAob2JqZWN0LT50eXBlID09IE9CSl9OT05FKQotCQkJcGFyc2Vfb2JqZWN0X29yX2RpZShvYmplY3QtPm9pZC5oYXNoLCBOVUxMKTsKKwkJCXBhcnNlX29iamVjdF9vcl9kaWUoJm9iamVjdC0+b2lkLCBOVUxMKTsKIAogCQl3aGlsZSAob2JqZWN0LT50eXBlID09IE9CSl9UQUcpIHsKIAkJCXN0cnVjdCB0YWcgKnRhZyA9IChzdHJ1Y3QgdGFnICopIG9iamVjdDsKQEAgLTY4NSw3ICs2ODQsNyBAQAogCiAJCQlpZiAoIXRhZy0+dGFnZ2VkKQogCQkJCWRpZSgiYmFkIHRhZyIpOwotCQkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0X29yX2RpZSh0YWctPnRhZ2dlZC0+b2lkLmhhc2gsIE5VTEwpOworCQkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0X29yX2RpZSgmdGFnLT50YWdnZWQtPm9pZCwgTlVMTCk7CiAJCX0KIAogCQlpZiAob2JqZWN0LT5mbGFncyAmIFVOSU5URVJFU1RJTkcpCkBAIC03MTQsOSArNzEzLDcgQEAKIAlpZiAoIWJpdG1hcF9naXQubG9hZGVkICYmIGxvYWRfcGFja19iaXRtYXAoKSA8IDApCiAJCXJldHVybiAtMTsKIAotCXJldnMtPnBlbmRpbmcubnIgPSAwOwotCXJldnMtPnBlbmRpbmcuYWxsb2MgPSAwOwotCXJldnMtPnBlbmRpbmcub2JqZWN0cyA9IE5VTEw7CisJb2JqZWN0X2FycmF5X2NsZWFyKCZyZXZzLT5wZW5kaW5nKTsKIAogCWlmIChoYXZlcykgewogCQlyZXZzLT5pZ25vcmVfbWlzc2luZ19saW5rcyA9IDE7CmRpZmYgLS1naXQgYS9wYWNrLWNoZWNrLmMgYi9wYWNrLWNoZWNrLmMKaW5kZXggMjdmNzBkMy4uMDczYzFmYiAxMDA2NDQKLS0tIGEvcGFjay1jaGVjay5jCisrKyBiL3BhY2stY2hlY2suYwpAQCAtMiwxMCArMiwxNCBAQAogI2luY2x1ZGUgInBhY2suaCIKICNpbmNsdWRlICJwYWNrLXJldmluZGV4LmgiCiAjaW5jbHVkZSAicHJvZ3Jlc3MuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiBzdHJ1Y3QgaWR4X2VudHJ5IHsKIAlvZmZfdCAgICAgICAgICAgICAgICBvZmZzZXQ7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMTsKKwl1bmlvbiBpZHhfZW50cnlfb2JqZWN0IHsKKwkJY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaDsKKwkJc3RydWN0IG9iamVjdF9pZCAqb2lkOworCX0gb2lkOwogCXVuc2lnbmVkIGludCBucjsKIH07CiAKQEAgLTUxLDcgKzU1LDcgQEAKIAlvZmZfdCBpbmRleF9zaXplID0gcC0+aW5kZXhfc2l6ZTsKIAljb25zdCB1bnNpZ25lZCBjaGFyICppbmRleF9iYXNlID0gcC0+aW5kZXhfZGF0YTsKIAlnaXRfU0hBX0NUWCBjdHg7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXSwgKnBhY2tfc2lnOworCXVuc2lnbmVkIGNoYXIgaGFzaFtHSVRfTUFYX1JBV1NaXSwgKnBhY2tfc2lnOwogCW9mZl90IG9mZnNldCA9IDAsIHBhY2tfc2lnX29mcyA9IDA7CiAJdWludDMyX3QgbnJfb2JqZWN0cywgaTsKIAlpbnQgZXJyID0gMDsKQEAgLTcxLDkgKzc1LDkgQEAKIAkJCXJlbWFpbmluZyAtPSAodW5zaWduZWQgaW50KShvZmZzZXQgLSBwYWNrX3NpZ19vZnMpOwogCQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgaW4sIHJlbWFpbmluZyk7CiAJfSB3aGlsZSAob2Zmc2V0IDwgcGFja19zaWdfb2ZzKTsKLQlnaXRfU0hBMV9GaW5hbChzaGExLCAmY3R4KTsKKwlnaXRfU0hBMV9GaW5hbChoYXNoLCAmY3R4KTsKIAlwYWNrX3NpZyA9IHVzZV9wYWNrKHAsIHdfY3VycywgcGFja19zaWdfb2ZzLCBOVUxMKTsKLQlpZiAoaGFzaGNtcChzaGExLCBwYWNrX3NpZykpCisJaWYgKGhhc2hjbXAoaGFzaCwgcGFja19zaWcpKQogCQllcnIgPSBlcnJvcigiJXMgU0hBMSBjaGVja3N1bSBtaXNtYXRjaCIsCiAJCQkgICAgcC0+cGFja19uYW1lKTsKIAlpZiAoaGFzaGNtcChpbmRleF9iYXNlICsgaW5kZXhfc2l6ZSAtIDQwLCBwYWNrX3NpZykpCkBAIC05MCw4ICs5NCw4IEBACiAJZW50cmllc1tucl9vYmplY3RzXS5vZmZzZXQgPSBwYWNrX3NpZ19vZnM7CiAJLyogZmlyc3Qgc29ydCBlbnRyaWVzIGJ5IHBhY2sgb2Zmc2V0LCBzaW5jZSB1bnBhY2tpbmcgdGhlbSBpcyBtb3JlIGVmZmljaWVudCB0aGF0IHdheSAqLwogCWZvciAoaSA9IDA7IGkgPCBucl9vYmplY3RzOyBpKyspIHsKLQkJZW50cmllc1tpXS5zaGExID0gbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShwLCBpKTsKLQkJaWYgKCFlbnRyaWVzW2ldLnNoYTEpCisJCWVudHJpZXNbaV0ub2lkLmhhc2ggPSBudGhfcGFja2VkX29iamVjdF9zaGExKHAsIGkpOworCQlpZiAoIWVudHJpZXNbaV0ub2lkLmhhc2gpCiAJCQlkaWUoImludGVybmFsIGVycm9yIHBhY2stY2hlY2sgbnRoLXBhY2tlZC1vYmplY3QiKTsKIAkJZW50cmllc1tpXS5vZmZzZXQgPSBudGhfcGFja2VkX29iamVjdF9vZmZzZXQocCwgaSk7CiAJCWVudHJpZXNbaV0ubnIgPSBpOwpAQCAtMTEyLDcgKzExNiw3IEBACiAJCQlpZiAoY2hlY2tfcGFja19jcmMocCwgd19jdXJzLCBvZmZzZXQsIGxlbiwgbnIpKQogCQkJCWVyciA9IGVycm9yKCJpbmRleCBDUkMgbWlzbWF0Y2ggZm9yIG9iamVjdCAlcyAiCiAJCQkJCSAgICAiZnJvbSAlcyBhdCBvZmZzZXQgJSJQUkl1TUFYIiIsCi0JCQkJCSAgICBzaGExX3RvX2hleChlbnRyaWVzW2ldLnNoYTEpLAorCQkJCQkgICAgb2lkX3RvX2hleChlbnRyaWVzW2ldLm9pZC5vaWQpLAogCQkJCQkgICAgcC0+cGFja19uYW1lLCAodWludG1heF90KW9mZnNldCk7CiAJCX0KIApAQCAtMTM1LDE0ICsxMzksMTQgQEAKIAogCQlpZiAoZGF0YV92YWxpZCAmJiAhZGF0YSkKIAkJCWVyciA9IGVycm9yKCJjYW5ub3QgdW5wYWNrICVzIGZyb20gJXMgYXQgb2Zmc2V0ICUiUFJJdU1BWCIiLAotCQkJCSAgICBzaGExX3RvX2hleChlbnRyaWVzW2ldLnNoYTEpLCBwLT5wYWNrX25hbWUsCisJCQkJICAgIG9pZF90b19oZXgoZW50cmllc1tpXS5vaWQub2lkKSwgcC0+cGFja19uYW1lLAogCQkJCSAgICAodWludG1heF90KWVudHJpZXNbaV0ub2Zmc2V0KTsKLQkJZWxzZSBpZiAoY2hlY2tfc2hhMV9zaWduYXR1cmUoZW50cmllc1tpXS5zaGExLCBkYXRhLCBzaXplLCB0eXBlbmFtZSh0eXBlKSkpCisJCWVsc2UgaWYgKGNoZWNrX3NoYTFfc2lnbmF0dXJlKGVudHJpZXNbaV0ub2lkLmhhc2gsIGRhdGEsIHNpemUsIHR5cGVuYW1lKHR5cGUpKSkKIAkJCWVyciA9IGVycm9yKCJwYWNrZWQgJXMgZnJvbSAlcyBpcyBjb3JydXB0IiwKLQkJCQkgICAgc2hhMV90b19oZXgoZW50cmllc1tpXS5zaGExKSwgcC0+cGFja19uYW1lKTsKKwkJCQkgICAgb2lkX3RvX2hleChlbnRyaWVzW2ldLm9pZC5vaWQpLCBwLT5wYWNrX25hbWUpOwogCQllbHNlIGlmIChmbikgewogCQkJaW50IGVhdGVuID0gMDsKLQkJCWVyciB8PSBmbihlbnRyaWVzW2ldLnNoYTEsIHR5cGUsIHNpemUsIGRhdGEsICZlYXRlbik7CisJCQllcnIgfD0gZm4oZW50cmllc1tpXS5vaWQub2lkLCB0eXBlLCBzaXplLCBkYXRhLCAmZWF0ZW4pOwogCQkJaWYgKGVhdGVuKQogCQkJCWRhdGEgPSBOVUxMOwogCQl9CmRpZmYgLS1naXQgYS9wYWNrLW9iamVjdHMuYyBiL3BhY2stb2JqZWN0cy5jCmluZGV4IDYzOThhOGEuLjk1NThkMTMgMTAwNjQ0Ci0tLSBhL3BhY2stb2JqZWN0cy5jCisrKyBiL3BhY2stb2JqZWN0cy5jCkBAIC0xNCw3ICsxNCw3IEBACiAJd2hpbGUgKHBkYXRhLT5pbmRleFtpXSA+IDApIHsKIAkJdWludDMyX3QgcG9zID0gcGRhdGEtPmluZGV4W2ldIC0gMTsKIAotCQlpZiAoIWhhc2hjbXAoc2hhMSwgcGRhdGEtPm9iamVjdHNbcG9zXS5pZHguc2hhMSkpIHsKKwkJaWYgKCFoYXNoY21wKHNoYTEsIHBkYXRhLT5vYmplY3RzW3Bvc10uaWR4Lm9pZC5oYXNoKSkgewogCQkJKmZvdW5kID0gMTsKIAkJCXJldHVybiBpOwogCQl9CkBAIC01Myw3ICs1Myw5IEBACiAKIAlmb3IgKGkgPSAwOyBpIDwgcGRhdGEtPm5yX29iamVjdHM7IGkrKykgewogCQlpbnQgZm91bmQ7Ci0JCXVpbnQzMl90IGl4ID0gbG9jYXRlX29iamVjdF9lbnRyeV9oYXNoKHBkYXRhLCBlbnRyeS0+aWR4LnNoYTEsICZmb3VuZCk7CisJCXVpbnQzMl90IGl4ID0gbG9jYXRlX29iamVjdF9lbnRyeV9oYXNoKHBkYXRhLAorCQkJCQkJICAgICAgIGVudHJ5LT5pZHgub2lkLmhhc2gsCisJCQkJCQkgICAgICAgJmZvdW5kKTsKIAogCQlpZiAoZm91bmQpCiAJCQlkaWUoIkJVRzogRHVwbGljYXRlIG9iamVjdCBpbiBoYXNoIik7CkBAIC05OCw3ICsxMDAsNyBAQAogCW5ld19lbnRyeSA9IHBkYXRhLT5vYmplY3RzICsgcGRhdGEtPm5yX29iamVjdHMrKzsKIAogCW1lbXNldChuZXdfZW50cnksIDAsIHNpemVvZigqbmV3X2VudHJ5KSk7Ci0JaGFzaGNweShuZXdfZW50cnktPmlkeC5zaGExLCBzaGExKTsKKwloYXNoY3B5KG5ld19lbnRyeS0+aWR4Lm9pZC5oYXNoLCBzaGExKTsKIAogCWlmIChwZGF0YS0+aW5kZXhfc2l6ZSAqIDMgPD0gcGRhdGEtPm5yX29iamVjdHMgKiA0KQogCQlyZWhhc2hfb2JqZWN0cyhwZGF0YSk7CmRpZmYgLS1naXQgYS9wYWNrLXdyaXRlLmMgYi9wYWNrLXdyaXRlLmMKaW5kZXggODhiYzdmOS4uZmVhNjI4NCAxMDA2NDQKLS0tIGEvcGFjay13cml0ZS5jCisrKyBiL3BhY2std3JpdGUuYwpAQCAtMTMsNyArMTMsNyBAQAogewogCXN0cnVjdCBwYWNrX2lkeF9lbnRyeSAqYSA9ICooc3RydWN0IHBhY2tfaWR4X2VudHJ5ICoqKV9hOwogCXN0cnVjdCBwYWNrX2lkeF9lbnRyeSAqYiA9ICooc3RydWN0IHBhY2tfaWR4X2VudHJ5ICoqKV9iOwotCXJldHVybiBoYXNoY21wKGEtPnNoYTEsIGItPnNoYTEpOworCXJldHVybiBvaWRjbXAoJmEtPm9pZCwgJmItPm9pZCk7CiB9CiAKIHN0YXRpYyBpbnQgY21wX3VpbnQzMihjb25zdCB2b2lkICphXywgY29uc3Qgdm9pZCAqYl8pCkBAIC03MSwxNSArNzEsMTUgQEAKIAkJZiA9IHNoYTFmZF9jaGVjayhpbmRleF9uYW1lKTsKIAl9IGVsc2UgewogCQlpZiAoIWluZGV4X25hbWUpIHsKLQkJCXN0YXRpYyBjaGFyIHRtcF9maWxlW1BBVEhfTUFYXTsKLQkJCWZkID0gb2RiX21rc3RlbXAodG1wX2ZpbGUsIHNpemVvZih0bXBfZmlsZSksICJwYWNrL3RtcF9pZHhfWFhYWFhYIik7Ci0JCQlpbmRleF9uYW1lID0geHN0cmR1cCh0bXBfZmlsZSk7CisJCQlzdHJ1Y3Qgc3RyYnVmIHRtcF9maWxlID0gU1RSQlVGX0lOSVQ7CisJCQlmZCA9IG9kYl9ta3N0ZW1wKCZ0bXBfZmlsZSwgInBhY2svdG1wX2lkeF9YWFhYWFgiKTsKKwkJCWluZGV4X25hbWUgPSBzdHJidWZfZGV0YWNoKCZ0bXBfZmlsZSwgTlVMTCk7CiAJCX0gZWxzZSB7CiAJCQl1bmxpbmsoaW5kZXhfbmFtZSk7CiAJCQlmZCA9IG9wZW4oaW5kZXhfbmFtZSwgT19DUkVBVHxPX0VYQ0x8T19XUk9OTFksIDA2MDApOworCQkJaWYgKGZkIDwgMCkKKwkJCQlkaWVfZXJybm8oInVuYWJsZSB0byBjcmVhdGUgJyVzJyIsIGluZGV4X25hbWUpOwogCQl9Ci0JCWlmIChmZCA8IDApCi0JCQlkaWVfZXJybm8oInVuYWJsZSB0byBjcmVhdGUgJyVzJyIsIGluZGV4X25hbWUpOwogCQlmID0gc2hhMWZkKGZkLCBpbmRleF9uYW1lKTsKIAl9CiAKQEAgLTEwMyw3ICsxMDMsNyBAQAogCQlzdHJ1Y3QgcGFja19pZHhfZW50cnkgKipuZXh0ID0gbGlzdDsKIAkJd2hpbGUgKG5leHQgPCBsYXN0KSB7CiAJCQlzdHJ1Y3QgcGFja19pZHhfZW50cnkgKm9iaiA9ICpuZXh0OwotCQkJaWYgKG9iai0+c2hhMVswXSAhPSBpKQorCQkJaWYgKG9iai0+b2lkLmhhc2hbMF0gIT0gaSkKIAkJCQlicmVhazsKIAkJCW5leHQrKzsKIAkJfQpAQCAtMTIyLDExICsxMjIsMTEgQEAKIAkJCXVpbnQzMl90IG9mZnNldCA9IGh0b25sKG9iai0+b2Zmc2V0KTsKIAkJCXNoYTF3cml0ZShmLCAmb2Zmc2V0LCA0KTsKIAkJfQotCQlzaGExd3JpdGUoZiwgb2JqLT5zaGExLCAyMCk7CisJCXNoYTF3cml0ZShmLCBvYmotPm9pZC5oYXNoLCAyMCk7CiAJCWlmICgob3B0cy0+ZmxhZ3MgJiBXUklURV9JRFhfU1RSSUNUKSAmJgotCQkgICAgKGkgJiYgIWhhc2hjbXAobGlzdFstMl0tPnNoYTEsIG9iai0+c2hhMSkpKQorCQkgICAgKGkgJiYgIW9pZGNtcCgmbGlzdFstMl0tPm9pZCwgJm9iai0+b2lkKSkpCiAJCQlkaWUoIlRoZSBzYW1lIG9iamVjdCAlcyBhcHBlYXJzIHR3aWNlIGluIHRoZSBwYWNrIiwKLQkJCSAgICBzaGExX3RvX2hleChvYmotPnNoYTEpKTsKKwkJCSAgICBvaWRfdG9faGV4KCZvYmotPm9pZCkpOwogCX0KIAogCWlmIChpbmRleF92ZXJzaW9uID49IDIpIHsKQEAgLTIxMywxNCArMjEzLDE5IEBACiAJZ2l0X1NIQV9DVFggb2xkX3NoYTFfY3R4LCBuZXdfc2hhMV9jdHg7CiAJc3RydWN0IHBhY2tfaGVhZGVyIGhkcjsKIAljaGFyICpidWY7CisJc3NpemVfdCByZWFkX3Jlc3VsdDsKIAogCWdpdF9TSEExX0luaXQoJm9sZF9zaGExX2N0eCk7CiAJZ2l0X1NIQTFfSW5pdCgmbmV3X3NoYTFfY3R4KTsKIAogCWlmIChsc2VlayhwYWNrX2ZkLCAwLCBTRUVLX1NFVCkgIT0gMCkKIAkJZGllX2Vycm5vKCJGYWlsZWQgc2Vla2luZyB0byBzdGFydCBvZiAnJXMnIiwgcGFja19uYW1lKTsKLQlpZiAocmVhZF9pbl9mdWxsKHBhY2tfZmQsICZoZHIsIHNpemVvZihoZHIpKSAhPSBzaXplb2YoaGRyKSkKKwlyZWFkX3Jlc3VsdCA9IHJlYWRfaW5fZnVsbChwYWNrX2ZkLCAmaGRyLCBzaXplb2YoaGRyKSk7CisJaWYgKHJlYWRfcmVzdWx0IDwgMCkKIAkJZGllX2Vycm5vKCJVbmFibGUgdG8gcmVyZWFkIGhlYWRlciBvZiAnJXMnIiwgcGFja19uYW1lKTsKKwllbHNlIGlmIChyZWFkX3Jlc3VsdCAhPSBzaXplb2YoaGRyKSkKKwkJZGllX2Vycm5vKCJVbmV4cGVjdGVkIHNob3J0IHJlYWQgZm9yIGhlYWRlciBvZiAnJXMnIiwKKwkJCSAgcGFja19uYW1lKTsKIAlpZiAobHNlZWsocGFja19mZCwgMCwgU0VFS19TRVQpICE9IDApCiAJCWRpZV9lcnJubygiRmFpbGVkIHNlZWtpbmcgdG8gc3RhcnQgb2YgJyVzJyIsIHBhY2tfbmFtZSk7CiAJZ2l0X1NIQTFfVXBkYXRlKCZvbGRfc2hhMV9jdHgsICZoZHIsIHNpemVvZihoZHIpKTsKQEAgLTMwNCw3ICszMDksOCBAQAogICogIC0gZWFjaCBieXRlIGFmdGVyd2FyZHM6IGxvdyBzZXZlbiBiaXRzIGFyZSBzaXplIGNvbnRpbnVhdGlvbiwKICAqICAgIHdpdGggdGhlIGhpZ2ggYml0IGJlaW5nICJzaXplIGNvbnRpbnVlcyIKICAqLwotaW50IGVuY29kZV9pbl9wYWNrX29iamVjdF9oZWFkZXIoZW51bSBvYmplY3RfdHlwZSB0eXBlLCB1aW50bWF4X3Qgc2l6ZSwgdW5zaWduZWQgY2hhciAqaGRyKQoraW50IGVuY29kZV9pbl9wYWNrX29iamVjdF9oZWFkZXIodW5zaWduZWQgY2hhciAqaGRyLCBpbnQgaGRyX2xlbiwKKwkJCQkgZW51bSBvYmplY3RfdHlwZSB0eXBlLCB1aW50bWF4X3Qgc2l6ZSkKIHsKIAlpbnQgbiA9IDE7CiAJdW5zaWduZWQgY2hhciBjOwpAQCAtMzE1LDYgKzMyMSw4IEBACiAJYyA9ICh0eXBlIDw8IDQpIHwgKHNpemUgJiAxNSk7CiAJc2l6ZSA+Pj0gNDsKIAl3aGlsZSAoc2l6ZSkgeworCQlpZiAobiA9PSBoZHJfbGVuKQorCQkJZGllKCJvYmplY3Qgc2l6ZSBpcyB0b28gZW5vcm1vdXMgdG8gZm9ybWF0Iik7CiAJCSpoZHIrKyA9IGMgfCAweDgwOwogCQljID0gc2l6ZSAmIDB4N2Y7CiAJCXNpemUgPj49IDc7CkBAIC0zMjYsMTEgKzMzNCwxMSBAQAogCiBzdHJ1Y3Qgc2hhMWZpbGUgKmNyZWF0ZV90bXBfcGFja2ZpbGUoY2hhciAqKnBhY2tfdG1wX25hbWUpCiB7Ci0JY2hhciB0bXBuYW1lW1BBVEhfTUFYXTsKKwlzdHJ1Y3Qgc3RyYnVmIHRtcG5hbWUgPSBTVFJCVUZfSU5JVDsKIAlpbnQgZmQ7CiAKLQlmZCA9IG9kYl9ta3N0ZW1wKHRtcG5hbWUsIHNpemVvZih0bXBuYW1lKSwgInBhY2svdG1wX3BhY2tfWFhYWFhYIik7Ci0JKnBhY2tfdG1wX25hbWUgPSB4c3RyZHVwKHRtcG5hbWUpOworCWZkID0gb2RiX21rc3RlbXAoJnRtcG5hbWUsICJwYWNrL3RtcF9wYWNrX1hYWFhYWCIpOworCSpwYWNrX3RtcF9uYW1lID0gc3RyYnVmX2RldGFjaCgmdG1wbmFtZSwgTlVMTCk7CiAJcmV0dXJuIHNoYTFmZChmZCwgKnBhY2tfdG1wX25hbWUpOwogfQogCmRpZmYgLS1naXQgYS9wYWNrLmggYi9wYWNrLmgKaW5kZXggMGU3NzQyOS4uODI5NDM0MSAxMDA2NDQKLS0tIGEvcGFjay5oCisrKyBiL3BhY2suaApAQCAtNjcsNyArNjcsNyBAQAogICogQ29tbW9uIHBhcnQgb2Ygb2JqZWN0IHN0cnVjdHVyZSB1c2VkIGZvciB3cml0ZV9pZHhfZmlsZQogICovCiBzdHJ1Y3QgcGFja19pZHhfZW50cnkgewotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJdWludDMyX3QgY3JjMzI7CiAJb2ZmX3Qgb2Zmc2V0OwogfTsKQEAgLTc1LDcgKzc1LDcgQEAKIAogc3RydWN0IHByb2dyZXNzOwogLyogTm90ZSwgdGhlIGRhdGEgYXJndW1lbnQgY291bGQgYmUgTlVMTCBpZiBvYmplY3QgdHlwZSBpcyBibG9iICovCi10eXBlZGVmIGludCAoKnZlcmlmeV9mbikoY29uc3QgdW5zaWduZWQgY2hhciosIGVudW0gb2JqZWN0X3R5cGUsIHVuc2lnbmVkIGxvbmcsIHZvaWQqLCBpbnQqKTsKK3R5cGVkZWYgaW50ICgqdmVyaWZ5X2ZuKShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIGVudW0gb2JqZWN0X3R5cGUsIHVuc2lnbmVkIGxvbmcsIHZvaWQqLCBpbnQqKTsKIAogZXh0ZXJuIGNvbnN0IGNoYXIgKndyaXRlX2lkeF9maWxlKGNvbnN0IGNoYXIgKmluZGV4X25hbWUsIHN0cnVjdCBwYWNrX2lkeF9lbnRyeSAqKm9iamVjdHMsIGludCBucl9vYmplY3RzLCBjb25zdCBzdHJ1Y3QgcGFja19pZHhfb3B0aW9uICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogZXh0ZXJuIGludCBjaGVja19wYWNrX2NyYyhzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzLCBvZmZfdCBvZmZzZXQsIG9mZl90IGxlbiwgdW5zaWduZWQgaW50IG5yKTsKQEAgLTg0LDcgKzg0LDE0IEBACiBleHRlcm4gb2ZmX3Qgd3JpdGVfcGFja19oZWFkZXIoc3RydWN0IHNoYTFmaWxlICpmLCB1aW50MzJfdCk7CiBleHRlcm4gdm9pZCBmaXh1cF9wYWNrX2hlYWRlcl9mb290ZXIoaW50LCB1bnNpZ25lZCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdWludDMyX3QsIHVuc2lnbmVkIGNoYXIgKiwgb2ZmX3QpOwogZXh0ZXJuIGNoYXIgKmluZGV4X3BhY2tfbG9ja2ZpbGUoaW50IGZkKTsKLWV4dGVybiBpbnQgZW5jb2RlX2luX3BhY2tfb2JqZWN0X2hlYWRlcihlbnVtIG9iamVjdF90eXBlLCB1aW50bWF4X3QsIHVuc2lnbmVkIGNoYXIgKik7CisKKy8qCisgKiBUaGUgImhkciIgb3V0cHV0IGJ1ZmZlciBzaG91bGQgYmUgYXQgbGVhc3QgdGhpcyBiaWcsIHdoaWNoIHdpbGwgaGFuZGxlIHNpemVzCisgKiB1cCB0byAyXjY3LgorICovCisjZGVmaW5lIE1BWF9QQUNLX09CSkVDVF9IRUFERVIgMTAKK2V4dGVybiBpbnQgZW5jb2RlX2luX3BhY2tfb2JqZWN0X2hlYWRlcih1bnNpZ25lZCBjaGFyICpoZHIsIGludCBoZHJfbGVuLAorCQkJCQllbnVtIG9iamVjdF90eXBlLCB1aW50bWF4X3QpOwogCiAjZGVmaW5lIFBIX0VSUk9SX0VPRgkJKC0xKQogI2RlZmluZSBQSF9FUlJPUl9QQUNLX1NJR05BVFVSRQkoLTIpCmRpZmYgLS1naXQgYS9wYWNrZmlsZS5jIGIvcGFja2ZpbGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWI3NTQyCi0tLSAvZGV2L251bGwKKysrIGIvcGFja2ZpbGUuYwpAQCAtMCwwICsxLDE5MDEgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgIm1ydS5oIgorI2luY2x1ZGUgInBhY2suaCIKKyNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJtZXJnZXNvcnQuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgorI2luY2x1ZGUgImRlbHRhLmgiCisjaW5jbHVkZSAibGlzdC5oIgorI2luY2x1ZGUgInN0cmVhbWluZy5oIgorI2luY2x1ZGUgInNoYTEtbG9va3VwLmgiCisKK2NoYXIgKm9kYl9wYWNrX25hbWUoc3RydWN0IHN0cmJ1ZiAqYnVmLAorCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJICAgIGNvbnN0IGNoYXIgKmV4dCkKK3sKKwlzdHJidWZfcmVzZXQoYnVmKTsKKwlzdHJidWZfYWRkZihidWYsICIlcy9wYWNrL3BhY2stJXMuJXMiLCBnZXRfb2JqZWN0X2RpcmVjdG9yeSgpLAorCQkgICAgc2hhMV90b19oZXgoc2hhMSksIGV4dCk7CisJcmV0dXJuIGJ1Zi0+YnVmOworfQorCitjaGFyICpzaGExX3BhY2tfbmFtZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQoreworCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCXJldHVybiBvZGJfcGFja19uYW1lKCZidWYsIHNoYTEsICJwYWNrIik7Cit9CisKK2NoYXIgKnNoYTFfcGFja19pbmRleF9uYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCit7CisJc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJcmV0dXJuIG9kYl9wYWNrX25hbWUoJmJ1Ziwgc2hhMSwgImlkeCIpOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHBhY2tfdXNlZF9jdHI7CitzdGF0aWMgdW5zaWduZWQgaW50IHBhY2tfbW1hcF9jYWxsczsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcGVha19wYWNrX29wZW5fd2luZG93czsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcGFja19vcGVuX3dpbmRvd3M7CitzdGF0aWMgdW5zaWduZWQgaW50IHBhY2tfb3Blbl9mZHM7CitzdGF0aWMgdW5zaWduZWQgaW50IHBhY2tfbWF4X2ZkczsKK3N0YXRpYyBzaXplX3QgcGVha19wYWNrX21hcHBlZDsKK3N0YXRpYyBzaXplX3QgcGFja19tYXBwZWQ7CitzdHJ1Y3QgcGFja2VkX2dpdCAqcGFja2VkX2dpdDsKK3N0cnVjdCBtcnUgcGFja2VkX2dpdF9tcnU7CisKKyNkZWZpbmUgU1pfRk1UIFBSSXVNQVgKK3N0YXRpYyBpbmxpbmUgdWludG1heF90IHN6X2ZtdChzaXplX3QgcykgeyByZXR1cm4gczsgfQorCit2b2lkIHBhY2tfcmVwb3J0KHZvaWQpCit7CisJZnByaW50ZihzdGRlcnIsCisJCSJwYWNrX3JlcG9ydDogZ2V0cGFnZXNpemUoKSAgICAgICAgICAgID0gJTEwIiBTWl9GTVQgIlxuIgorCQkicGFja19yZXBvcnQ6IGNvcmUucGFja2VkR2l0V2luZG93U2l6ZSA9ICUxMCIgU1pfRk1UICJcbiIKKwkJInBhY2tfcmVwb3J0OiBjb3JlLnBhY2tlZEdpdExpbWl0ICAgICAgPSAlMTAiIFNaX0ZNVCAiXG4iLAorCQlzel9mbXQoZ2V0cGFnZXNpemUoKSksCisJCXN6X2ZtdChwYWNrZWRfZ2l0X3dpbmRvd19zaXplKSwKKwkJc3pfZm10KHBhY2tlZF9naXRfbGltaXQpKTsKKwlmcHJpbnRmKHN0ZGVyciwKKwkJInBhY2tfcmVwb3J0OiBwYWNrX3VzZWRfY3RyICAgICAgICAgICAgPSAlMTB1XG4iCisJCSJwYWNrX3JlcG9ydDogcGFja19tbWFwX2NhbGxzICAgICAgICAgID0gJTEwdVxuIgorCQkicGFja19yZXBvcnQ6IHBhY2tfb3Blbl93aW5kb3dzICAgICAgICA9ICUxMHUgLyAlMTB1XG4iCisJCSJwYWNrX3JlcG9ydDogcGFja19tYXBwZWQgICAgICAgICAgICAgID0gIgorCQkJIiUxMCIgU1pfRk1UICIgLyAlMTAiIFNaX0ZNVCAiXG4iLAorCQlwYWNrX3VzZWRfY3RyLAorCQlwYWNrX21tYXBfY2FsbHMsCisJCXBhY2tfb3Blbl93aW5kb3dzLCBwZWFrX3BhY2tfb3Blbl93aW5kb3dzLAorCQlzel9mbXQocGFja19tYXBwZWQpLCBzel9mbXQocGVha19wYWNrX21hcHBlZCkpOworfQorCisvKgorICogT3BlbiBhbmQgbW1hcCB0aGUgaW5kZXggZmlsZSBhdCBwYXRoLCBwZXJmb3JtIGEgY291cGxlIG9mCisgKiBjb25zaXN0ZW5jeSBjaGVja3MsIHRoZW4gcmVjb3JkIGl0cyBpbmZvcm1hdGlvbiB0byBwLiAgUmV0dXJuIDAgb24KKyAqIHN1Y2Nlc3MuCisgKi8KK3N0YXRpYyBpbnQgY2hlY2tfcGFja2VkX2dpdF9pZHgoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHBhY2tlZF9naXQgKnApCit7CisJdm9pZCAqaWR4X21hcDsKKwlzdHJ1Y3QgcGFja19pZHhfaGVhZGVyICpoZHI7CisJc2l6ZV90IGlkeF9zaXplOworCXVpbnQzMl90IHZlcnNpb24sIG5yLCBpLCAqaW5kZXg7CisJaW50IGZkID0gZ2l0X29wZW4ocGF0aCk7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gLTE7CisJaWYgKGZzdGF0KGZkLCAmc3QpKSB7CisJCWNsb3NlKGZkKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZHhfc2l6ZSA9IHhzaXplX3Qoc3Quc3Rfc2l6ZSk7CisJaWYgKGlkeF9zaXplIDwgNCAqIDI1NiArIDIwICsgMjApIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gZXJyb3IoImluZGV4IGZpbGUgJXMgaXMgdG9vIHNtYWxsIiwgcGF0aCk7CisJfQorCWlkeF9tYXAgPSB4bW1hcChOVUxMLCBpZHhfc2l6ZSwgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOworCWNsb3NlKGZkKTsKKworCWhkciA9IGlkeF9tYXA7CisJaWYgKGhkci0+aWR4X3NpZ25hdHVyZSA9PSBodG9ubChQQUNLX0lEWF9TSUdOQVRVUkUpKSB7CisJCXZlcnNpb24gPSBudG9obChoZHItPmlkeF92ZXJzaW9uKTsKKwkJaWYgKHZlcnNpb24gPCAyIHx8IHZlcnNpb24gPiAyKSB7CisJCQltdW5tYXAoaWR4X21hcCwgaWR4X3NpemUpOworCQkJcmV0dXJuIGVycm9yKCJpbmRleCBmaWxlICVzIGlzIHZlcnNpb24gJSJQUkl1MzIKKwkJCQkgICAgICIgYW5kIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBiaW5hcnkiCisJCQkJICAgICAiICh0cnkgdXBncmFkaW5nIEdJVCB0byBhIG5ld2VyIHZlcnNpb24pIiwKKwkJCQkgICAgIHBhdGgsIHZlcnNpb24pOworCQl9CisJfSBlbHNlCisJCXZlcnNpb24gPSAxOworCisJbnIgPSAwOworCWluZGV4ID0gaWR4X21hcDsKKwlpZiAodmVyc2lvbiA+IDEpCisJCWluZGV4ICs9IDI7ICAvKiBza2lwIGluZGV4IGhlYWRlciAqLworCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgeworCQl1aW50MzJfdCBuID0gbnRvaGwoaW5kZXhbaV0pOworCQlpZiAobiA8IG5yKSB7CisJCQltdW5tYXAoaWR4X21hcCwgaWR4X3NpemUpOworCQkJcmV0dXJuIGVycm9yKCJub24tbW9ub3RvbmljIGluZGV4ICVzIiwgcGF0aCk7CisJCX0KKwkJbnIgPSBuOworCX0KKworCWlmICh2ZXJzaW9uID09IDEpIHsKKwkJLyoKKwkJICogVG90YWwgc2l6ZToKKwkJICogIC0gMjU2IGluZGV4IGVudHJpZXMgNCBieXRlcyBlYWNoCisJCSAqICAtIDI0LWJ5dGUgZW50cmllcyAqIG5yICgyMC1ieXRlIHNoYTEgKyA0LWJ5dGUgb2Zmc2V0KQorCQkgKiAgLSAyMC1ieXRlIFNIQTEgb2YgdGhlIHBhY2tmaWxlCisJCSAqICAtIDIwLWJ5dGUgU0hBMSBmaWxlIGNoZWNrc3VtCisJCSAqLworCQlpZiAoaWR4X3NpemUgIT0gNCoyNTYgKyBuciAqIDI0ICsgMjAgKyAyMCkgeworCQkJbXVubWFwKGlkeF9tYXAsIGlkeF9zaXplKTsKKwkJCXJldHVybiBlcnJvcigid3JvbmcgaW5kZXggdjEgZmlsZSBzaXplIGluICVzIiwgcGF0aCk7CisJCX0KKwl9IGVsc2UgaWYgKHZlcnNpb24gPT0gMikgeworCQkvKgorCQkgKiBNaW5pbXVtIHNpemU6CisJCSAqICAtIDggYnl0ZXMgb2YgaGVhZGVyCisJCSAqICAtIDI1NiBpbmRleCBlbnRyaWVzIDQgYnl0ZXMgZWFjaAorCQkgKiAgLSAyMC1ieXRlIHNoYTEgZW50cnkgKiBucgorCQkgKiAgLSA0LWJ5dGUgY3JjIGVudHJ5ICogbnIKKwkJICogIC0gNC1ieXRlIG9mZnNldCBlbnRyeSAqIG5yCisJCSAqICAtIDIwLWJ5dGUgU0hBMSBvZiB0aGUgcGFja2ZpbGUKKwkJICogIC0gMjAtYnl0ZSBTSEExIGZpbGUgY2hlY2tzdW0KKwkJICogQW5kIGFmdGVyIHRoZSA0LWJ5dGUgb2Zmc2V0IHRhYmxlIG1pZ2h0IGJlIGEKKwkJICogdmFyaWFibGUgc2l6ZWQgdGFibGUgY29udGFpbmluZyA4LWJ5dGUgZW50cmllcworCQkgKiBmb3Igb2Zmc2V0cyBsYXJnZXIgdGhhbiAyXjMxLgorCQkgKi8KKwkJdW5zaWduZWQgbG9uZyBtaW5fc2l6ZSA9IDggKyA0KjI1NiArIG5yKigyMCArIDQgKyA0KSArIDIwICsgMjA7CisJCXVuc2lnbmVkIGxvbmcgbWF4X3NpemUgPSBtaW5fc2l6ZTsKKwkJaWYgKG5yKQorCQkJbWF4X3NpemUgKz0gKG5yIC0gMSkqODsKKwkJaWYgKGlkeF9zaXplIDwgbWluX3NpemUgfHwgaWR4X3NpemUgPiBtYXhfc2l6ZSkgeworCQkJbXVubWFwKGlkeF9tYXAsIGlkeF9zaXplKTsKKwkJCXJldHVybiBlcnJvcigid3JvbmcgaW5kZXggdjIgZmlsZSBzaXplIGluICVzIiwgcGF0aCk7CisJCX0KKwkJaWYgKGlkeF9zaXplICE9IG1pbl9zaXplICYmCisJCSAgICAvKgorCQkgICAgICogbWFrZSBzdXJlIHdlIGNhbiBkZWFsIHdpdGggbGFyZ2UgcGFjayBvZmZzZXRzLgorCQkgICAgICogMzEtYml0IHNpZ25lZCBvZmZzZXQgd29uJ3QgYmUgZW5vdWdoLCBuZWl0aGVyCisJCSAgICAgKiAzMi1iaXQgdW5zaWduZWQgb25lIHdpbGwgYmUuCisJCSAgICAgKi8KKwkJICAgIChzaXplb2Yob2ZmX3QpIDw9IDQpKSB7CisJCQltdW5tYXAoaWR4X21hcCwgaWR4X3NpemUpOworCQkJcmV0dXJuIGVycm9yKCJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IGluICVzIiwgcGF0aCk7CisJCX0KKwl9CisKKwlwLT5pbmRleF92ZXJzaW9uID0gdmVyc2lvbjsKKwlwLT5pbmRleF9kYXRhID0gaWR4X21hcDsKKwlwLT5pbmRleF9zaXplID0gaWR4X3NpemU7CisJcC0+bnVtX29iamVjdHMgPSBucjsKKwlyZXR1cm4gMDsKK30KKworaW50IG9wZW5fcGFja19pbmRleChzdHJ1Y3QgcGFja2VkX2dpdCAqcCkKK3sKKwljaGFyICppZHhfbmFtZTsKKwlzaXplX3QgbGVuOworCWludCByZXQ7CisKKwlpZiAocC0+aW5kZXhfZGF0YSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIXN0cmlwX3N1ZmZpeChwLT5wYWNrX25hbWUsICIucGFjayIsICZsZW4pKQorCQlkaWUoIkJVRzogcGFja19uYW1lIGRvZXMgbm90IGVuZCBpbiAucGFjayIpOworCWlkeF9uYW1lID0geHN0cmZtdCgiJS4qcy5pZHgiLCAoaW50KWxlbiwgcC0+cGFja19uYW1lKTsKKwlyZXQgPSBjaGVja19wYWNrZWRfZ2l0X2lkeChpZHhfbmFtZSwgcCk7CisJZnJlZShpZHhfbmFtZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBwYWNrZWRfZ2l0ICphbGxvY19wYWNrZWRfZ2l0KGludCBleHRyYSkKK3sKKwlzdHJ1Y3QgcGFja2VkX2dpdCAqcCA9IHhtYWxsb2Moc3RfYWRkKHNpemVvZigqcCksIGV4dHJhKSk7CisJbWVtc2V0KHAsIDAsIHNpemVvZigqcCkpOworCXAtPnBhY2tfZmQgPSAtMTsKKwlyZXR1cm4gcDsKK30KKworc3RydWN0IHBhY2tlZF9naXQgKnBhcnNlX3BhY2tfaW5kZXgodW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqaWR4X3BhdGgpCit7CisJY29uc3QgY2hhciAqcGF0aCA9IHNoYTFfcGFja19uYW1lKHNoYTEpOworCXNpemVfdCBhbGxvYyA9IHN0X2FkZChzdHJsZW4ocGF0aCksIDEpOworCXN0cnVjdCBwYWNrZWRfZ2l0ICpwID0gYWxsb2NfcGFja2VkX2dpdChhbGxvYyk7CisKKwltZW1jcHkocC0+cGFja19uYW1lLCBwYXRoLCBhbGxvYyk7IC8qIGluY2x1ZGVzIE5VTCAqLworCWhhc2hjcHkocC0+c2hhMSwgc2hhMSk7CisJaWYgKGNoZWNrX3BhY2tlZF9naXRfaWR4KGlkeF9wYXRoLCBwKSkgeworCQlmcmVlKHApOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gcDsKK30KKworc3RhdGljIHZvaWQgc2Nhbl93aW5kb3dzKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAorCXN0cnVjdCBwYWNrZWRfZ2l0ICoqbHJ1X3AsCisJc3RydWN0IHBhY2tfd2luZG93ICoqbHJ1X3csCisJc3RydWN0IHBhY2tfd2luZG93ICoqbHJ1X2wpCit7CisJc3RydWN0IHBhY2tfd2luZG93ICp3LCAqd19sOworCisJZm9yICh3X2wgPSBOVUxMLCB3ID0gcC0+d2luZG93czsgdzsgdyA9IHctPm5leHQpIHsKKwkJaWYgKCF3LT5pbnVzZV9jbnQpIHsKKwkJCWlmICghKmxydV93IHx8IHctPmxhc3RfdXNlZCA8ICgqbHJ1X3cpLT5sYXN0X3VzZWQpIHsKKwkJCQkqbHJ1X3AgPSBwOworCQkJCSpscnVfdyA9IHc7CisJCQkJKmxydV9sID0gd19sOworCQkJfQorCQl9CisJCXdfbCA9IHc7CisJfQorfQorCitzdGF0aWMgaW50IHVudXNlX29uZV93aW5kb3coc3RydWN0IHBhY2tlZF9naXQgKmN1cnJlbnQpCit7CisJc3RydWN0IHBhY2tlZF9naXQgKnAsICpscnVfcCA9IE5VTEw7CisJc3RydWN0IHBhY2tfd2luZG93ICpscnVfdyA9IE5VTEwsICpscnVfbCA9IE5VTEw7CisKKwlpZiAoY3VycmVudCkKKwkJc2Nhbl93aW5kb3dzKGN1cnJlbnQsICZscnVfcCwgJmxydV93LCAmbHJ1X2wpOworCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KQorCQlzY2FuX3dpbmRvd3MocCwgJmxydV9wLCAmbHJ1X3csICZscnVfbCk7CisJaWYgKGxydV9wKSB7CisJCW11bm1hcChscnVfdy0+YmFzZSwgbHJ1X3ctPmxlbik7CisJCXBhY2tfbWFwcGVkIC09IGxydV93LT5sZW47CisJCWlmIChscnVfbCkKKwkJCWxydV9sLT5uZXh0ID0gbHJ1X3ctPm5leHQ7CisJCWVsc2UKKwkJCWxydV9wLT53aW5kb3dzID0gbHJ1X3ctPm5leHQ7CisJCWZyZWUobHJ1X3cpOworCQlwYWNrX29wZW5fd2luZG93cy0tOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgcmVsZWFzZV9wYWNrX21lbW9yeShzaXplX3QgbmVlZCkKK3sKKwlzaXplX3QgY3VyID0gcGFja19tYXBwZWQ7CisJd2hpbGUgKG5lZWQgPj0gKGN1ciAtIHBhY2tfbWFwcGVkKSAmJiB1bnVzZV9vbmVfd2luZG93KE5VTEwpKQorCQk7IC8qIG5vdGhpbmcgKi8KK30KKwordm9pZCBjbG9zZV9wYWNrX3dpbmRvd3Moc3RydWN0IHBhY2tlZF9naXQgKnApCit7CisJd2hpbGUgKHAtPndpbmRvd3MpIHsKKwkJc3RydWN0IHBhY2tfd2luZG93ICp3ID0gcC0+d2luZG93czsKKworCQlpZiAody0+aW51c2VfY250KQorCQkJZGllKCJwYWNrICclcycgc3RpbGwgaGFzIG9wZW4gd2luZG93cyB0byBpdCIsCisJCQkgICAgcC0+cGFja19uYW1lKTsKKwkJbXVubWFwKHctPmJhc2UsIHctPmxlbik7CisJCXBhY2tfbWFwcGVkIC09IHctPmxlbjsKKwkJcGFja19vcGVuX3dpbmRvd3MtLTsKKwkJcC0+d2luZG93cyA9IHctPm5leHQ7CisJCWZyZWUodyk7CisJfQorfQorCitzdGF0aWMgaW50IGNsb3NlX3BhY2tfZmQoc3RydWN0IHBhY2tlZF9naXQgKnApCit7CisJaWYgKHAtPnBhY2tfZmQgPCAwKQorCQlyZXR1cm4gMDsKKworCWNsb3NlKHAtPnBhY2tfZmQpOworCXBhY2tfb3Blbl9mZHMtLTsKKwlwLT5wYWNrX2ZkID0gLTE7CisKKwlyZXR1cm4gMTsKK30KKwordm9pZCBjbG9zZV9wYWNrX2luZGV4KHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQoreworCWlmIChwLT5pbmRleF9kYXRhKSB7CisJCW11bm1hcCgodm9pZCAqKXAtPmluZGV4X2RhdGEsIHAtPmluZGV4X3NpemUpOworCQlwLT5pbmRleF9kYXRhID0gTlVMTDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGNsb3NlX3BhY2soc3RydWN0IHBhY2tlZF9naXQgKnApCit7CisJY2xvc2VfcGFja193aW5kb3dzKHApOworCWNsb3NlX3BhY2tfZmQocCk7CisJY2xvc2VfcGFja19pbmRleChwKTsKK30KKwordm9pZCBjbG9zZV9hbGxfcGFja3Modm9pZCkKK3sKKwlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKKworCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KQorCQlpZiAocC0+ZG9fbm90X2Nsb3NlKQorCQkJZGllKCJCVUc6IHdhbnQgdG8gY2xvc2UgcGFjayBtYXJrZWQgJ2RvLW5vdC1jbG9zZSciKTsKKwkJZWxzZQorCQkJY2xvc2VfcGFjayhwKTsKK30KKworLyoKKyAqIFRoZSBMUlUgcGFjayBpcyB0aGUgb25lIHdpdGggdGhlIG9sZGVzdCBNUlUgd2luZG93LCBwcmVmZXJyaW5nIHBhY2tzCisgKiB3aXRoIG5vIHVzZWQgd2luZG93cywgb3IgdGhlIG9sZGVzdCBtdGltZSBpZiBpdCBoYXMgbm8gd2luZG93cyBhbGxvY2F0ZWQuCisgKi8KK3N0YXRpYyB2b2lkIGZpbmRfbHJ1X3BhY2soc3RydWN0IHBhY2tlZF9naXQgKnAsIHN0cnVjdCBwYWNrZWRfZ2l0ICoqbHJ1X3AsIHN0cnVjdCBwYWNrX3dpbmRvdyAqKm1ydV93LCBpbnQgKmFjY2VwdF93aW5kb3dzX2ludXNlKQoreworCXN0cnVjdCBwYWNrX3dpbmRvdyAqdywgKnRoaXNfbXJ1X3c7CisJaW50IGhhc193aW5kb3dzX2ludXNlID0gMDsKKworCS8qCisJICogUmVqZWN0IHRoaXMgcGFjayBpZiBpdCBoYXMgd2luZG93cyBhbmQgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQKKwkgKiBvbmUgZG9lcyBub3QuICBJZiB0aGlzIHBhY2sgZG9lcyBub3QgaGF2ZSB3aW5kb3dzLCByZWplY3QKKwkgKiBpdCBpZiB0aGUgcGFjayBmaWxlIGlzIG5ld2VyIHRoYW4gdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgb25lLgorCSAqLworCWlmICgqbHJ1X3AgJiYgISptcnVfdyAmJiAocC0+d2luZG93cyB8fCBwLT5tdGltZSA+ICgqbHJ1X3ApLT5tdGltZSkpCisJCXJldHVybjsKKworCWZvciAodyA9IHRoaXNfbXJ1X3cgPSBwLT53aW5kb3dzOyB3OyB3ID0gdy0+bmV4dCkgeworCQkvKgorCQkgKiBSZWplY3QgdGhpcyBwYWNrIGlmIGFueSBvZiBpdHMgd2luZG93cyBhcmUgaW4gdXNlLAorCQkgKiBidXQgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgcGFjayBkaWQgbm90IGhhdmUgYW55CisJCSAqIGludXNlIHdpbmRvd3MuICBPdGhlcndpc2UsIHJlY29yZCB0aGF0IHRoaXMgcGFjaworCQkgKiBoYXMgd2luZG93cyBpbiB1c2UuCisJCSAqLworCQlpZiAody0+aW51c2VfY250KSB7CisJCQlpZiAoKmFjY2VwdF93aW5kb3dzX2ludXNlKQorCQkJCWhhc193aW5kb3dzX2ludXNlID0gMTsKKwkJCWVsc2UKKwkJCQlyZXR1cm47CisJCX0KKworCQlpZiAody0+bGFzdF91c2VkID4gdGhpc19tcnVfdy0+bGFzdF91c2VkKQorCQkJdGhpc19tcnVfdyA9IHc7CisKKwkJLyoKKwkJICogUmVqZWN0IHRoaXMgcGFjayBpZiBpdCBoYXMgd2luZG93cyB0aGF0IGhhdmUgYmVlbgorCQkgKiB1c2VkIG1vcmUgcmVjZW50bHkgdGhhbiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCBwYWNrLgorCQkgKiBJZiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCBwYWNrIGhhZCB3aW5kb3dzIGludXNlIGFuZAorCQkgKiB3ZSBoYXZlIG5vdCBlbmNvdW50ZXJlZCBhIHdpbmRvdyBpbiB0aGlzIHBhY2sgdGhhdCBpcworCQkgKiBpbnVzZSwgc2tpcCB0aGlzIGNoZWNrIHNpbmNlIHdlIHByZWZlciBhIHBhY2sgd2l0aCBubworCQkgKiBpbnVzZSB3aW5kb3dzIHRvIG9uZSB0aGF0IGhhcyBpbnVzZSB3aW5kb3dzLgorCQkgKi8KKwkJaWYgKCptcnVfdyAmJiAqYWNjZXB0X3dpbmRvd3NfaW51c2UgPT0gaGFzX3dpbmRvd3NfaW51c2UgJiYKKwkJICAgIHRoaXNfbXJ1X3ctPmxhc3RfdXNlZCA+ICgqbXJ1X3cpLT5sYXN0X3VzZWQpCisJCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBTZWxlY3QgdGhpcyBwYWNrLgorCSAqLworCSptcnVfdyA9IHRoaXNfbXJ1X3c7CisJKmxydV9wID0gcDsKKwkqYWNjZXB0X3dpbmRvd3NfaW51c2UgPSBoYXNfd2luZG93c19pbnVzZTsKK30KKworc3RhdGljIGludCBjbG9zZV9vbmVfcGFjayh2b2lkKQoreworCXN0cnVjdCBwYWNrZWRfZ2l0ICpwLCAqbHJ1X3AgPSBOVUxMOworCXN0cnVjdCBwYWNrX3dpbmRvdyAqbXJ1X3cgPSBOVUxMOworCWludCBhY2NlcHRfd2luZG93c19pbnVzZSA9IDE7CisKKwlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkgeworCQlpZiAocC0+cGFja19mZCA9PSAtMSkKKwkJCWNvbnRpbnVlOworCQlmaW5kX2xydV9wYWNrKHAsICZscnVfcCwgJm1ydV93LCAmYWNjZXB0X3dpbmRvd3NfaW51c2UpOworCX0KKworCWlmIChscnVfcCkKKwkJcmV0dXJuIGNsb3NlX3BhY2tfZmQobHJ1X3ApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X21heF9mZF9saW1pdCh2b2lkKQoreworI2lmZGVmIFJMSU1JVF9OT0ZJTEUKKwl7CisJCXN0cnVjdCBybGltaXQgbGltOworCisJCWlmICghZ2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZsaW0pKQorCQkJcmV0dXJuIGxpbS5ybGltX2N1cjsKKwl9CisjZW5kaWYKKworI2lmZGVmIF9TQ19PUEVOX01BWAorCXsKKwkJbG9uZyBvcGVuX21heCA9IHN5c2NvbmYoX1NDX09QRU5fTUFYKTsKKwkJaWYgKDAgPCBvcGVuX21heCkKKwkJCXJldHVybiBvcGVuX21heDsKKwkJLyoKKwkJICogT3RoZXJ3aXNlLCB3ZSBnb3QgLTEgZm9yIG9uZSBvZiB0aGUgdHdvCisJCSAqIHJlYXNvbnM6CisJCSAqCisJCSAqICgxKSBzeXNjb25mKCkgZGlkIG5vdCB1bmRlcnN0YW5kIF9TQ19PUEVOX01BWAorCQkgKiAgICAgYW5kIHNpZ25hbGVkIGFuIGVycm9yIHdpdGggLTE7IG9yCisJCSAqICgyKSBzeXNjb25mKCkgc2FpZCB0aGVyZSBpcyBubyBsaW1pdC4KKwkJICoKKwkJICogV2UgX2NvdWxkXyBjbGVhciBlcnJubyBiZWZvcmUgY2FsbGluZyBzeXNjb25mKCkgdG8KKwkJICogdGVsbCB0aGVzZSB0d28gY2FzZXMgYXBhcnQgYW5kIHJldHVybiBhIGh1Z2UgbnVtYmVyCisJCSAqIGluIHRoZSBsYXR0ZXIgY2FzZSB0byBsZXQgdGhlIGNhbGxlciBjYXAgaXQgdG8gYQorCQkgKiB2YWx1ZSB0aGF0IGlzIG5vdCBzbyBzZWxmaXNoLCBidXQgbGV0dGluZyB0aGUKKwkJICogZmFsbGJhY2sgT1BFTl9NQVggY29kZXBhdGggdGFrZSBjYXJlIG9mIHRoZXNlIGNhc2VzCisJCSAqIGlzIGEgbG90IHNpbXBsZXIuCisJCSAqLworCX0KKyNlbmRpZgorCisjaWZkZWYgT1BFTl9NQVgKKwlyZXR1cm4gT1BFTl9NQVg7CisjZWxzZQorCXJldHVybiAxOyAvKiBzZWUgdGhlIGNhbGxlciA7LSkgKi8KKyNlbmRpZgorfQorCisvKgorICogRG8gbm90IGNhbGwgdGhpcyBkaXJlY3RseSBhcyB0aGlzIGxlYWtzIHAtPnBhY2tfZmQgb24gZXJyb3IgcmV0dXJuOworICogY2FsbCBvcGVuX3BhY2tlZF9naXQoKSBpbnN0ZWFkLgorICovCitzdGF0aWMgaW50IG9wZW5fcGFja2VkX2dpdF8xKHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQoreworCXN0cnVjdCBzdGF0IHN0OworCXN0cnVjdCBwYWNrX2hlYWRlciBoZHI7CisJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwl1bnNpZ25lZCBjaGFyICppZHhfc2hhMTsKKwlsb25nIGZkX2ZsYWc7CisJc3NpemVfdCByZWFkX3Jlc3VsdDsKKworCWlmICghcC0+aW5kZXhfZGF0YSAmJiBvcGVuX3BhY2tfaW5kZXgocCkpCisJCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgaW5kZXggdW5hdmFpbGFibGUiLCBwLT5wYWNrX25hbWUpOworCisJaWYgKCFwYWNrX21heF9mZHMpIHsKKwkJdW5zaWduZWQgaW50IG1heF9mZHMgPSBnZXRfbWF4X2ZkX2xpbWl0KCk7CisKKwkJLyogU2F2ZSAzIGZvciBzdGRpbi9zdGRvdXQvc3RkZXJyLCAyMiBmb3Igd29yayAqLworCQlpZiAoMjUgPCBtYXhfZmRzKQorCQkJcGFja19tYXhfZmRzID0gbWF4X2ZkcyAtIDI1OworCQllbHNlCisJCQlwYWNrX21heF9mZHMgPSAxOworCX0KKworCXdoaWxlIChwYWNrX21heF9mZHMgPD0gcGFja19vcGVuX2ZkcyAmJiBjbG9zZV9vbmVfcGFjaygpKQorCQk7IC8qIG5vdGhpbmcgKi8KKworCXAtPnBhY2tfZmQgPSBnaXRfb3BlbihwLT5wYWNrX25hbWUpOworCWlmIChwLT5wYWNrX2ZkIDwgMCB8fCBmc3RhdChwLT5wYWNrX2ZkLCAmc3QpKQorCQlyZXR1cm4gLTE7CisJcGFja19vcGVuX2ZkcysrOworCisJLyogSWYgd2UgY3JlYXRlZCB0aGUgc3RydWN0IGJlZm9yZSB3ZSBoYWQgdGhlIHBhY2sgd2UgbGFjayBzaXplLiAqLworCWlmICghcC0+cGFja19zaXplKSB7CisJCWlmICghU19JU1JFRyhzdC5zdF9tb2RlKSkKKwkJCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgbm90IGEgcmVndWxhciBmaWxlIiwgcC0+cGFja19uYW1lKTsKKwkJcC0+cGFja19zaXplID0gc3Quc3Rfc2l6ZTsKKwl9IGVsc2UgaWYgKHAtPnBhY2tfc2l6ZSAhPSBzdC5zdF9zaXplKQorCQlyZXR1cm4gZXJyb3IoInBhY2tmaWxlICVzIHNpemUgY2hhbmdlZCIsIHAtPnBhY2tfbmFtZSk7CisKKwkvKiBXZSBsZWF2ZSB0aGVzZSBmaWxlIGRlc2NyaXB0b3JzIG9wZW4gd2l0aCBzbGlkaW5nIG1tYXA7CisJICogdGhlcmUgaXMgbm8gcG9pbnQga2VlcGluZyB0aGVtIG9wZW4gYWNyb3NzIGV4ZWMoKSwgdGhvdWdoLgorCSAqLworCWZkX2ZsYWcgPSBmY250bChwLT5wYWNrX2ZkLCBGX0dFVEZELCAwKTsKKwlpZiAoZmRfZmxhZyA8IDApCisJCXJldHVybiBlcnJvcigiY2Fubm90IGRldGVybWluZSBmaWxlIGRlc2NyaXB0b3IgZmxhZ3MiKTsKKwlmZF9mbGFnIHw9IEZEX0NMT0VYRUM7CisJaWYgKGZjbnRsKHAtPnBhY2tfZmQsIEZfU0VURkQsIGZkX2ZsYWcpID09IC0xKQorCQlyZXR1cm4gZXJyb3IoImNhbm5vdCBzZXQgRkRfQ0xPRVhFQyIpOworCisJLyogVmVyaWZ5IHdlIHJlY29nbml6ZSB0aGlzIHBhY2sgZmlsZSBmb3JtYXQuICovCisJcmVhZF9yZXN1bHQgPSByZWFkX2luX2Z1bGwocC0+cGFja19mZCwgJmhkciwgc2l6ZW9mKGhkcikpOworCWlmIChyZWFkX3Jlc3VsdCA8IDApCisJCXJldHVybiBlcnJvcl9lcnJubygiZXJyb3IgcmVhZGluZyBmcm9tICVzIiwgcC0+cGFja19uYW1lKTsKKwlpZiAocmVhZF9yZXN1bHQgIT0gc2l6ZW9mKGhkcikpCisJCXJldHVybiBlcnJvcigiZmlsZSAlcyBpcyBmYXIgdG9vIHNob3J0IHRvIGJlIGEgcGFja2ZpbGUiLCBwLT5wYWNrX25hbWUpOworCWlmIChoZHIuaGRyX3NpZ25hdHVyZSAhPSBodG9ubChQQUNLX1NJR05BVFVSRSkpCisJCXJldHVybiBlcnJvcigiZmlsZSAlcyBpcyBub3QgYSBHSVQgcGFja2ZpbGUiLCBwLT5wYWNrX25hbWUpOworCWlmICghcGFja192ZXJzaW9uX29rKGhkci5oZHJfdmVyc2lvbikpCisJCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgaXMgdmVyc2lvbiAlIlBSSXUzMiIgYW5kIG5vdCIKKwkJCSIgc3VwcG9ydGVkICh0cnkgdXBncmFkaW5nIEdJVCB0byBhIG5ld2VyIHZlcnNpb24pIiwKKwkJCXAtPnBhY2tfbmFtZSwgbnRvaGwoaGRyLmhkcl92ZXJzaW9uKSk7CisKKwkvKiBWZXJpZnkgdGhlIHBhY2sgbWF0Y2hlcyBpdHMgaW5kZXguICovCisJaWYgKHAtPm51bV9vYmplY3RzICE9IG50b2hsKGhkci5oZHJfZW50cmllcykpCisJCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgY2xhaW1zIHRvIGhhdmUgJSJQUkl1MzIiIG9iamVjdHMiCisJCQkgICAgICIgd2hpbGUgaW5kZXggaW5kaWNhdGVzICUiUFJJdTMyIiBvYmplY3RzIiwKKwkJCSAgICAgcC0+cGFja19uYW1lLCBudG9obChoZHIuaGRyX2VudHJpZXMpLAorCQkJICAgICBwLT5udW1fb2JqZWN0cyk7CisJaWYgKGxzZWVrKHAtPnBhY2tfZmQsIHAtPnBhY2tfc2l6ZSAtIHNpemVvZihzaGExKSwgU0VFS19TRVQpID09IC0xKQorCQlyZXR1cm4gZXJyb3IoImVuZCBvZiBwYWNrZmlsZSAlcyBpcyB1bmF2YWlsYWJsZSIsIHAtPnBhY2tfbmFtZSk7CisJcmVhZF9yZXN1bHQgPSByZWFkX2luX2Z1bGwocC0+cGFja19mZCwgc2hhMSwgc2l6ZW9mKHNoYTEpKTsKKwlpZiAocmVhZF9yZXN1bHQgPCAwKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oImVycm9yIHJlYWRpbmcgZnJvbSAlcyIsIHAtPnBhY2tfbmFtZSk7CisJaWYgKHJlYWRfcmVzdWx0ICE9IHNpemVvZihzaGExKSkKKwkJcmV0dXJuIGVycm9yKCJwYWNrZmlsZSAlcyBzaWduYXR1cmUgaXMgdW5hdmFpbGFibGUiLCBwLT5wYWNrX25hbWUpOworCWlkeF9zaGExID0gKCh1bnNpZ25lZCBjaGFyICopcC0+aW5kZXhfZGF0YSkgKyBwLT5pbmRleF9zaXplIC0gNDA7CisJaWYgKGhhc2hjbXAoc2hhMSwgaWR4X3NoYTEpKQorCQlyZXR1cm4gZXJyb3IoInBhY2tmaWxlICVzIGRvZXMgbm90IG1hdGNoIGluZGV4IiwgcC0+cGFja19uYW1lKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBvcGVuX3BhY2tlZF9naXQoc3RydWN0IHBhY2tlZF9naXQgKnApCit7CisJaWYgKCFvcGVuX3BhY2tlZF9naXRfMShwKSkKKwkJcmV0dXJuIDA7CisJY2xvc2VfcGFja19mZChwKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgaW5fd2luZG93KHN0cnVjdCBwYWNrX3dpbmRvdyAqd2luLCBvZmZfdCBvZmZzZXQpCit7CisJLyogV2UgbXVzdCBwcm9taXNlIGF0IGxlYXN0IDIwIGJ5dGVzIChvbmUgaGFzaCkgYWZ0ZXIgdGhlCisJICogb2Zmc2V0IGlzIGF2YWlsYWJsZSBmcm9tIHRoaXMgd2luZG93LCBvdGhlcndpc2UgdGhlIG9mZnNldAorCSAqIGlzIG5vdCBhY3R1YWxseSBpbiB0aGlzIHdpbmRvdyBhbmQgYSBkaWZmZXJlbnQgd2luZG93ICh3aGljaAorCSAqIGhhcyB0aGF0IG9uZSBoYXNoIGV4Y2VzcykgbXVzdCBiZSB1c2VkLiAgVGhpcyBpcyB0byBzdXBwb3J0CisJICogdGhlIG9iamVjdCBoZWFkZXIgYW5kIGRlbHRhIGJhc2UgcGFyc2luZyByb3V0aW5lcyBiZWxvdy4KKwkgKi8KKwlvZmZfdCB3aW5fb2ZmID0gd2luLT5vZmZzZXQ7CisJcmV0dXJuIHdpbl9vZmYgPD0gb2Zmc2V0CisJCSYmIChvZmZzZXQgKyAyMCkgPD0gKHdpbl9vZmYgKyB3aW4tPmxlbik7Cit9CisKK3Vuc2lnbmVkIGNoYXIgKnVzZV9wYWNrKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAorCQlzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnNvciwKKwkJb2ZmX3Qgb2Zmc2V0LAorCQl1bnNpZ25lZCBsb25nICpsZWZ0KQoreworCXN0cnVjdCBwYWNrX3dpbmRvdyAqd2luID0gKndfY3Vyc29yOworCisJLyogU2luY2UgcGFja2ZpbGVzIGVuZCBpbiBhIGhhc2ggb2YgdGhlaXIgY29udGVudCBhbmQgaXQncworCSAqIHBvaW50bGVzcyB0byBhc2sgZm9yIGFuIG9mZnNldCBpbnRvIHRoZSBtaWRkbGUgb2YgdGhhdAorCSAqIGhhc2gsIGFuZCB0aGUgaW5fd2luZG93IGZ1bmN0aW9uIGFib3ZlIHdvdWxkbid0IG1hdGNoCisJICogZG9uJ3QgYWxsb3cgYW4gb2Zmc2V0IHRvbyBjbG9zZSB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLgorCSAqLworCWlmICghcC0+cGFja19zaXplICYmIHAtPnBhY2tfZmQgPT0gLTEgJiYgb3Blbl9wYWNrZWRfZ2l0KHApKQorCQlkaWUoInBhY2tmaWxlICVzIGNhbm5vdCBiZSBhY2Nlc3NlZCIsIHAtPnBhY2tfbmFtZSk7CisJaWYgKG9mZnNldCA+IChwLT5wYWNrX3NpemUgLSAyMCkpCisJCWRpZSgib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFja2ZpbGUgKHRydW5jYXRlZCBwYWNrPykiKTsKKwlpZiAob2Zmc2V0IDwgMCkKKwkJZGllKF8oIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIikpOworCisJaWYgKCF3aW4gfHwgIWluX3dpbmRvdyh3aW4sIG9mZnNldCkpIHsKKwkJaWYgKHdpbikKKwkJCXdpbi0+aW51c2VfY250LS07CisJCWZvciAod2luID0gcC0+d2luZG93czsgd2luOyB3aW4gPSB3aW4tPm5leHQpIHsKKwkJCWlmIChpbl93aW5kb3cod2luLCBvZmZzZXQpKQorCQkJCWJyZWFrOworCQl9CisJCWlmICghd2luKSB7CisJCQlzaXplX3Qgd2luZG93X2FsaWduID0gcGFja2VkX2dpdF93aW5kb3dfc2l6ZSAvIDI7CisJCQlvZmZfdCBsZW47CisKKwkJCWlmIChwLT5wYWNrX2ZkID09IC0xICYmIG9wZW5fcGFja2VkX2dpdChwKSkKKwkJCQlkaWUoInBhY2tmaWxlICVzIGNhbm5vdCBiZSBhY2Nlc3NlZCIsIHAtPnBhY2tfbmFtZSk7CisKKwkJCXdpbiA9IHhjYWxsb2MoMSwgc2l6ZW9mKCp3aW4pKTsKKwkJCXdpbi0+b2Zmc2V0ID0gKG9mZnNldCAvIHdpbmRvd19hbGlnbikgKiB3aW5kb3dfYWxpZ247CisJCQlsZW4gPSBwLT5wYWNrX3NpemUgLSB3aW4tPm9mZnNldDsKKwkJCWlmIChsZW4gPiBwYWNrZWRfZ2l0X3dpbmRvd19zaXplKQorCQkJCWxlbiA9IHBhY2tlZF9naXRfd2luZG93X3NpemU7CisJCQl3aW4tPmxlbiA9IChzaXplX3QpbGVuOworCQkJcGFja19tYXBwZWQgKz0gd2luLT5sZW47CisJCQl3aGlsZSAocGFja2VkX2dpdF9saW1pdCA8IHBhY2tfbWFwcGVkCisJCQkJJiYgdW51c2Vfb25lX3dpbmRvdyhwKSkKKwkJCQk7IC8qIG5vdGhpbmcgKi8KKwkJCXdpbi0+YmFzZSA9IHhtbWFwKE5VTEwsIHdpbi0+bGVuLAorCQkJCVBST1RfUkVBRCwgTUFQX1BSSVZBVEUsCisJCQkJcC0+cGFja19mZCwgd2luLT5vZmZzZXQpOworCQkJaWYgKHdpbi0+YmFzZSA9PSBNQVBfRkFJTEVEKQorCQkJCWRpZV9lcnJubygicGFja2ZpbGUgJXMgY2Fubm90IGJlIG1hcHBlZCIsCisJCQkJCSAgcC0+cGFja19uYW1lKTsKKwkJCWlmICghd2luLT5vZmZzZXQgJiYgd2luLT5sZW4gPT0gcC0+cGFja19zaXplCisJCQkJJiYgIXAtPmRvX25vdF9jbG9zZSkKKwkJCQljbG9zZV9wYWNrX2ZkKHApOworCQkJcGFja19tbWFwX2NhbGxzKys7CisJCQlwYWNrX29wZW5fd2luZG93cysrOworCQkJaWYgKHBhY2tfbWFwcGVkID4gcGVha19wYWNrX21hcHBlZCkKKwkJCQlwZWFrX3BhY2tfbWFwcGVkID0gcGFja19tYXBwZWQ7CisJCQlpZiAocGFja19vcGVuX3dpbmRvd3MgPiBwZWFrX3BhY2tfb3Blbl93aW5kb3dzKQorCQkJCXBlYWtfcGFja19vcGVuX3dpbmRvd3MgPSBwYWNrX29wZW5fd2luZG93czsKKwkJCXdpbi0+bmV4dCA9IHAtPndpbmRvd3M7CisJCQlwLT53aW5kb3dzID0gd2luOworCQl9CisJfQorCWlmICh3aW4gIT0gKndfY3Vyc29yKSB7CisJCXdpbi0+bGFzdF91c2VkID0gcGFja191c2VkX2N0cisrOworCQl3aW4tPmludXNlX2NudCsrOworCQkqd19jdXJzb3IgPSB3aW47CisJfQorCW9mZnNldCAtPSB3aW4tPm9mZnNldDsKKwlpZiAobGVmdCkKKwkJKmxlZnQgPSB3aW4tPmxlbiAtIHhzaXplX3Qob2Zmc2V0KTsKKwlyZXR1cm4gd2luLT5iYXNlICsgb2Zmc2V0OworfQorCit2b2lkIHVudXNlX3BhY2soc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzb3IpCit7CisJc3RydWN0IHBhY2tfd2luZG93ICp3ID0gKndfY3Vyc29yOworCWlmICh3KSB7CisJCXctPmludXNlX2NudC0tOworCQkqd19jdXJzb3IgPSBOVUxMOworCX0KK30KKworc3RhdGljIHZvaWQgdHJ5X3RvX2ZyZWVfcGFja19tZW1vcnkoc2l6ZV90IHNpemUpCit7CisJcmVsZWFzZV9wYWNrX21lbW9yeShzaXplKTsKK30KKworc3RydWN0IHBhY2tlZF9naXQgKmFkZF9wYWNrZWRfZ2l0KGNvbnN0IGNoYXIgKnBhdGgsIHNpemVfdCBwYXRoX2xlbiwgaW50IGxvY2FsKQoreworCXN0YXRpYyBpbnQgaGF2ZV9zZXRfdHJ5X3RvX2ZyZWVfcm91dGluZTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzaXplX3QgYWxsb2M7CisJc3RydWN0IHBhY2tlZF9naXQgKnA7CisKKwlpZiAoIWhhdmVfc2V0X3RyeV90b19mcmVlX3JvdXRpbmUpIHsKKwkJaGF2ZV9zZXRfdHJ5X3RvX2ZyZWVfcm91dGluZSA9IDE7CisJCXNldF90cnlfdG9fZnJlZV9yb3V0aW5lKHRyeV90b19mcmVlX3BhY2tfbWVtb3J5KTsKKwl9CisKKwkvKgorCSAqIE1ha2Ugc3VyZSBhIGNvcnJlc3BvbmRpbmcgLnBhY2sgZmlsZSBleGlzdHMgYW5kIHRoYXQKKwkgKiB0aGUgaW5kZXggbG9va3Mgc2FuZS4KKwkgKi8KKwlpZiAoIXN0cmlwX3N1ZmZpeF9tZW0ocGF0aCwgJnBhdGhfbGVuLCAiLmlkeCIpKQorCQlyZXR1cm4gTlVMTDsKKworCS8qCisJICogIi5wYWNrIiBpcyBsb25nIGVub3VnaCB0byBob2xkIGFueSBzdWZmaXggd2UncmUgYWRkaW5nIChhbmQKKwkgKiB0aGUgdXNlIHhzbnByaW50ZiBkb3VibGUtY2hlY2tzIHRoYXQpCisJICovCisJYWxsb2MgPSBzdF9hZGQzKHBhdGhfbGVuLCBzdHJsZW4oIi5wYWNrIiksIDEpOworCXAgPSBhbGxvY19wYWNrZWRfZ2l0KGFsbG9jKTsKKwltZW1jcHkocC0+cGFja19uYW1lLCBwYXRoLCBwYXRoX2xlbik7CisKKwl4c25wcmludGYocC0+cGFja19uYW1lICsgcGF0aF9sZW4sIGFsbG9jIC0gcGF0aF9sZW4sICIua2VlcCIpOworCWlmICghYWNjZXNzKHAtPnBhY2tfbmFtZSwgRl9PSykpCisJCXAtPnBhY2tfa2VlcCA9IDE7CisKKwl4c25wcmludGYocC0+cGFja19uYW1lICsgcGF0aF9sZW4sIGFsbG9jIC0gcGF0aF9sZW4sICIucGFjayIpOworCWlmIChzdGF0KHAtPnBhY2tfbmFtZSwgJnN0KSB8fCAhU19JU1JFRyhzdC5zdF9tb2RlKSkgeworCQlmcmVlKHApOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwkvKiBvaywgaXQgbG9va3Mgc2FuZSBhcyBmYXIgYXMgd2UgY2FuIGNoZWNrIHdpdGhvdXQKKwkgKiBhY3R1YWxseSBtYXBwaW5nIHRoZSBwYWNrIGZpbGUuCisJICovCisJcC0+cGFja19zaXplID0gc3Quc3Rfc2l6ZTsKKwlwLT5wYWNrX2xvY2FsID0gbG9jYWw7CisJcC0+bXRpbWUgPSBzdC5zdF9tdGltZTsKKwlpZiAocGF0aF9sZW4gPCA0MCB8fCBnZXRfc2hhMV9oZXgocGF0aCArIHBhdGhfbGVuIC0gNDAsIHAtPnNoYTEpKQorCQloYXNoY2xyKHAtPnNoYTEpOworCXJldHVybiBwOworfQorCit2b2lkIGluc3RhbGxfcGFja2VkX2dpdChzdHJ1Y3QgcGFja2VkX2dpdCAqcGFjaykKK3sKKwlpZiAocGFjay0+cGFja19mZCAhPSAtMSkKKwkJcGFja19vcGVuX2ZkcysrOworCisJcGFjay0+bmV4dCA9IHBhY2tlZF9naXQ7CisJcGFja2VkX2dpdCA9IHBhY2s7Cit9CisKK3ZvaWQgKCpyZXBvcnRfZ2FyYmFnZSkodW5zaWduZWQgc2Vlbl9iaXRzLCBjb25zdCBjaGFyICpwYXRoKTsKKworc3RhdGljIHZvaWQgcmVwb3J0X2hlbHBlcihjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsCisJCQkgIGludCBzZWVuX2JpdHMsIGludCBmaXJzdCwgaW50IGxhc3QpCit7CisJaWYgKHNlZW5fYml0cyA9PSAoUEFDS0RJUl9GSUxFX1BBQ0t8UEFDS0RJUl9GSUxFX0lEWCkpCisJCXJldHVybjsKKworCWZvciAoOyBmaXJzdCA8IGxhc3Q7IGZpcnN0KyspCisJCXJlcG9ydF9nYXJiYWdlKHNlZW5fYml0cywgbGlzdC0+aXRlbXNbZmlyc3RdLnN0cmluZyk7Cit9CisKK3N0YXRpYyB2b2lkIHJlcG9ydF9wYWNrX2dhcmJhZ2Uoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0KQoreworCWludCBpLCBiYXNlbGVuID0gLTEsIGZpcnN0ID0gMCwgc2Vlbl9iaXRzID0gMDsKKworCWlmICghcmVwb3J0X2dhcmJhZ2UpCisJCXJldHVybjsKKworCXN0cmluZ19saXN0X3NvcnQobGlzdCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGlzdC0+bnI7IGkrKykgeworCQljb25zdCBjaGFyICpwYXRoID0gbGlzdC0+aXRlbXNbaV0uc3RyaW5nOworCQlpZiAoYmFzZWxlbiAhPSAtMSAmJgorCQkgICAgc3RybmNtcChwYXRoLCBsaXN0LT5pdGVtc1tmaXJzdF0uc3RyaW5nLCBiYXNlbGVuKSkgeworCQkJcmVwb3J0X2hlbHBlcihsaXN0LCBzZWVuX2JpdHMsIGZpcnN0LCBpKTsKKwkJCWJhc2VsZW4gPSAtMTsKKwkJCXNlZW5fYml0cyA9IDA7CisJCX0KKwkJaWYgKGJhc2VsZW4gPT0gLTEpIHsKKwkJCWNvbnN0IGNoYXIgKmRvdCA9IHN0cnJjaHIocGF0aCwgJy4nKTsKKwkJCWlmICghZG90KSB7CisJCQkJcmVwb3J0X2dhcmJhZ2UoUEFDS0RJUl9GSUxFX0dBUkJBR0UsIHBhdGgpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJYmFzZWxlbiA9IGRvdCAtIHBhdGggKyAxOworCQkJZmlyc3QgPSBpOworCQl9CisJCWlmICghc3RyY21wKHBhdGggKyBiYXNlbGVuLCAicGFjayIpKQorCQkJc2Vlbl9iaXRzIHw9IDE7CisJCWVsc2UgaWYgKCFzdHJjbXAocGF0aCArIGJhc2VsZW4sICJpZHgiKSkKKwkJCXNlZW5fYml0cyB8PSAyOworCX0KKwlyZXBvcnRfaGVscGVyKGxpc3QsIHNlZW5fYml0cywgZmlyc3QsIGxpc3QtPm5yKTsKK30KKworc3RhdGljIHZvaWQgcHJlcGFyZV9wYWNrZWRfZ2l0X29uZShjaGFyICpvYmpkaXIsIGludCBsb2NhbCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgZGlybmFtZWxlbjsKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkZTsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgZ2FyYmFnZSA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCisJc3RyYnVmX2FkZHN0cigmcGF0aCwgb2JqZGlyKTsKKwlzdHJidWZfYWRkc3RyKCZwYXRoLCAiL3BhY2siKTsKKwlkaXIgPSBvcGVuZGlyKHBhdGguYnVmKTsKKwlpZiAoIWRpcikgeworCQlpZiAoZXJybm8gIT0gRU5PRU5UKQorCQkJZXJyb3JfZXJybm8oInVuYWJsZSB0byBvcGVuIG9iamVjdCBwYWNrIGRpcmVjdG9yeTogJXMiLAorCQkJCSAgICBwYXRoLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKKwkJcmV0dXJuOworCX0KKwlzdHJidWZfYWRkY2goJnBhdGgsICcvJyk7CisJZGlybmFtZWxlbiA9IHBhdGgubGVuOworCXdoaWxlICgoZGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKKwkJc3RydWN0IHBhY2tlZF9naXQgKnA7CisJCXNpemVfdCBiYXNlX2xlbjsKKworCQlpZiAoaXNfZG90X29yX2RvdGRvdChkZS0+ZF9uYW1lKSkKKwkJCWNvbnRpbnVlOworCisJCXN0cmJ1Zl9zZXRsZW4oJnBhdGgsIGRpcm5hbWVsZW4pOworCQlzdHJidWZfYWRkc3RyKCZwYXRoLCBkZS0+ZF9uYW1lKTsKKworCQliYXNlX2xlbiA9IHBhdGgubGVuOworCQlpZiAoc3RyaXBfc3VmZml4X21lbShwYXRoLmJ1ZiwgJmJhc2VfbGVuLCAiLmlkeCIpKSB7CisJCQkvKiBEb24ndCByZW9wZW4gYSBwYWNrIHdlIGFscmVhZHkgaGF2ZS4gKi8KKwkJCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KSB7CisJCQkJc2l6ZV90IGxlbjsKKwkJCQlpZiAoc3RyaXBfc3VmZml4KHAtPnBhY2tfbmFtZSwgIi5wYWNrIiwgJmxlbikgJiYKKwkJCQkgICAgbGVuID09IGJhc2VfbGVuICYmCisJCQkJICAgICFtZW1jbXAocC0+cGFja19uYW1lLCBwYXRoLmJ1ZiwgbGVuKSkKKwkJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAocCA9PSBOVUxMICYmCisJCQkgICAgLyoKKwkJCSAgICAgKiBTZWUgaWYgaXQgcmVhbGx5IGlzIGEgdmFsaWQgLmlkeCBmaWxlIHdpdGgKKwkJCSAgICAgKiBjb3JyZXNwb25kaW5nIC5wYWNrIGZpbGUgdGhhdCB3ZSBjYW4gbWFwLgorCQkJICAgICAqLworCQkJICAgIChwID0gYWRkX3BhY2tlZF9naXQocGF0aC5idWYsIHBhdGgubGVuLCBsb2NhbCkpICE9IE5VTEwpCisJCQkJaW5zdGFsbF9wYWNrZWRfZ2l0KHApOworCQl9CisKKwkJaWYgKCFyZXBvcnRfZ2FyYmFnZSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChlbmRzX3dpdGgoZGUtPmRfbmFtZSwgIi5pZHgiKSB8fAorCQkgICAgZW5kc193aXRoKGRlLT5kX25hbWUsICIucGFjayIpIHx8CisJCSAgICBlbmRzX3dpdGgoZGUtPmRfbmFtZSwgIi5iaXRtYXAiKSB8fAorCQkgICAgZW5kc193aXRoKGRlLT5kX25hbWUsICIua2VlcCIpKQorCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZnYXJiYWdlLCBwYXRoLmJ1Zik7CisJCWVsc2UKKwkJCXJlcG9ydF9nYXJiYWdlKFBBQ0tESVJfRklMRV9HQVJCQUdFLCBwYXRoLmJ1Zik7CisJfQorCWNsb3NlZGlyKGRpcik7CisJcmVwb3J0X3BhY2tfZ2FyYmFnZSgmZ2FyYmFnZSk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJmdhcmJhZ2UsIDApOworCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKK30KKworc3RhdGljIGludCBhcHByb3hpbWF0ZV9vYmplY3RfY291bnRfdmFsaWQ7CisKKy8qCisgKiBHaXZlIGEgZmFzdCwgcm91Z2ggY291bnQgb2YgdGhlIG51bWJlciBvZiBvYmplY3RzIGluIHRoZSByZXBvc2l0b3J5LiBUaGlzCisgKiBpZ25vcmVzIGxvb3NlIG9iamVjdHMgY29tcGxldGVseS4gSWYgeW91IGhhdmUgYSBsb3Qgb2YgdGhlbSwgdGhlbiBlaXRoZXIKKyAqIHlvdSBzaG91bGQgcmVwYWNrIGJlY2F1c2UgeW91ciBwZXJmb3JtYW5jZSB3aWxsIGJlIGF3ZnVsLCBvciB0aGV5IGFyZQorICogYWxsIHVucmVhY2hhYmxlIG9iamVjdHMgYWJvdXQgdG8gYmUgcHJ1bmVkLCBpbiB3aGljaCBjYXNlIHRoZXkncmUgbm90IHJlYWxseQorICogaW50ZXJlc3RpbmcgYXMgYSBtZWFzdXJlIG9mIHJlcG8gc2l6ZSBpbiB0aGUgZmlyc3QgcGxhY2UuCisgKi8KK3Vuc2lnbmVkIGxvbmcgYXBwcm94aW1hdGVfb2JqZWN0X2NvdW50KHZvaWQpCit7CisJc3RhdGljIHVuc2lnbmVkIGxvbmcgY291bnQ7CisJaWYgKCFhcHByb3hpbWF0ZV9vYmplY3RfY291bnRfdmFsaWQpIHsKKwkJc3RydWN0IHBhY2tlZF9naXQgKnA7CisKKwkJcHJlcGFyZV9wYWNrZWRfZ2l0KCk7CisJCWNvdW50ID0gMDsKKwkJZm9yIChwID0gcGFja2VkX2dpdDsgcDsgcCA9IHAtPm5leHQpIHsKKwkJCWlmIChvcGVuX3BhY2tfaW5kZXgocCkpCisJCQkJY29udGludWU7CisJCQljb3VudCArPSBwLT5udW1fb2JqZWN0czsKKwkJfQorCX0KKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyB2b2lkICpnZXRfbmV4dF9wYWNrZWRfZ2l0KGNvbnN0IHZvaWQgKnApCit7CisJcmV0dXJuICgoY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKilwKS0+bmV4dDsKK30KKworc3RhdGljIHZvaWQgc2V0X25leHRfcGFja2VkX2dpdCh2b2lkICpwLCB2b2lkICpuZXh0KQoreworCSgoc3RydWN0IHBhY2tlZF9naXQgKilwKS0+bmV4dCA9IG5leHQ7Cit9CisKK3N0YXRpYyBpbnQgc29ydF9wYWNrKGNvbnN0IHZvaWQgKmFfLCBjb25zdCB2b2lkICpiXykKK3sKKwljb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqYSA9IGFfOworCWNvbnN0IHN0cnVjdCBwYWNrZWRfZ2l0ICpiID0gYl87CisJaW50IHN0OworCisJLyoKKwkgKiBMb2NhbCBwYWNrcyB0ZW5kIHRvIGNvbnRhaW4gb2JqZWN0cyBzcGVjaWZpYyB0byBvdXIKKwkgKiB2YXJpYW50IG9mIHRoZSBwcm9qZWN0IHRoYW4gcmVtb3RlIG9uZXMuICBJbiBhZGRpdGlvbiwKKwkgKiByZW1vdGUgb25lcyBjb3VsZCBiZSBvbiBhIG5ldHdvcmsgbW91bnRlZCBmaWxlc3lzdGVtLgorCSAqIEZhdm9yIGxvY2FsIG9uZXMgZm9yIHRoZXNlIHJlYXNvbnMuCisJICovCisJc3QgPSBhLT5wYWNrX2xvY2FsIC0gYi0+cGFja19sb2NhbDsKKwlpZiAoc3QpCisJCXJldHVybiAtc3Q7CisKKwkvKgorCSAqIFlvdW5nZXIgcGFja3MgdGVuZCB0byBjb250YWluIG1vcmUgcmVjZW50IG9iamVjdHMsCisJICogYW5kIG1vcmUgcmVjZW50IG9iamVjdHMgdGVuZCB0byBnZXQgYWNjZXNzZWQgbW9yZQorCSAqIG9mdGVuLgorCSAqLworCWlmIChhLT5tdGltZSA8IGItPm10aW1lKQorCQlyZXR1cm4gMTsKKwllbHNlIGlmIChhLT5tdGltZSA9PSBiLT5tdGltZSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCByZWFycmFuZ2VfcGFja2VkX2dpdCh2b2lkKQoreworCXBhY2tlZF9naXQgPSBsbGlzdF9tZXJnZXNvcnQocGFja2VkX2dpdCwgZ2V0X25leHRfcGFja2VkX2dpdCwKKwkJCQkgICAgIHNldF9uZXh0X3BhY2tlZF9naXQsIHNvcnRfcGFjayk7Cit9CisKK3N0YXRpYyB2b2lkIHByZXBhcmVfcGFja2VkX2dpdF9tcnUodm9pZCkKK3sKKwlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKKworCW1ydV9jbGVhcigmcGFja2VkX2dpdF9tcnUpOworCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KQorCQltcnVfYXBwZW5kKCZwYWNrZWRfZ2l0X21ydSwgcCk7Cit9CisKK3N0YXRpYyBpbnQgcHJlcGFyZV9wYWNrZWRfZ2l0X3J1bl9vbmNlID0gMDsKK3ZvaWQgcHJlcGFyZV9wYWNrZWRfZ2l0KHZvaWQpCit7CisJc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdDsKKworCWlmIChwcmVwYXJlX3BhY2tlZF9naXRfcnVuX29uY2UpCisJCXJldHVybjsKKwlwcmVwYXJlX3BhY2tlZF9naXRfb25lKGdldF9vYmplY3RfZGlyZWN0b3J5KCksIDEpOworCXByZXBhcmVfYWx0X29kYigpOworCWZvciAoYWx0ID0gYWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkKKwkJcHJlcGFyZV9wYWNrZWRfZ2l0X29uZShhbHQtPnBhdGgsIDApOworCXJlYXJyYW5nZV9wYWNrZWRfZ2l0KCk7CisJcHJlcGFyZV9wYWNrZWRfZ2l0X21ydSgpOworCXByZXBhcmVfcGFja2VkX2dpdF9ydW5fb25jZSA9IDE7Cit9CisKK3ZvaWQgcmVwcmVwYXJlX3BhY2tlZF9naXQodm9pZCkKK3sKKwlhcHByb3hpbWF0ZV9vYmplY3RfY291bnRfdmFsaWQgPSAwOworCXByZXBhcmVfcGFja2VkX2dpdF9ydW5fb25jZSA9IDA7CisJcHJlcGFyZV9wYWNrZWRfZ2l0KCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgdW5wYWNrX29iamVjdF9oZWFkZXJfYnVmZmVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZiwKKwkJdW5zaWduZWQgbG9uZyBsZW4sIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemVwKQoreworCXVuc2lnbmVkIHNoaWZ0OworCXVuc2lnbmVkIGxvbmcgc2l6ZSwgYzsKKwl1bnNpZ25lZCBsb25nIHVzZWQgPSAwOworCisJYyA9IGJ1Zlt1c2VkKytdOworCSp0eXBlID0gKGMgPj4gNCkgJiA3OworCXNpemUgPSBjICYgMTU7CisJc2hpZnQgPSA0OworCXdoaWxlIChjICYgMHg4MCkgeworCQlpZiAobGVuIDw9IHVzZWQgfHwgYml0c2l6ZW9mKGxvbmcpIDw9IHNoaWZ0KSB7CisJCQllcnJvcigiYmFkIG9iamVjdCBoZWFkZXIiKTsKKwkJCXNpemUgPSB1c2VkID0gMDsKKwkJCWJyZWFrOworCQl9CisJCWMgPSBidWZbdXNlZCsrXTsKKwkJc2l6ZSArPSAoYyAmIDB4N2YpIDw8IHNoaWZ0OworCQlzaGlmdCArPSA3OworCX0KKwkqc2l6ZXAgPSBzaXplOworCXJldHVybiB1c2VkOworfQorCit1bnNpZ25lZCBsb25nIGdldF9zaXplX2Zyb21fZGVsdGEoc3RydWN0IHBhY2tlZF9naXQgKnAsCisJCQkJICBzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsCisJCQkJICBvZmZfdCBjdXJwb3MpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YTsKKwl1bnNpZ25lZCBjaGFyIGRlbHRhX2hlYWRbMjBdLCAqaW47CisJZ2l0X3pzdHJlYW0gc3RyZWFtOworCWludCBzdDsKKworCW1lbXNldCgmc3RyZWFtLCAwLCBzaXplb2Yoc3RyZWFtKSk7CisJc3RyZWFtLm5leHRfb3V0ID0gZGVsdGFfaGVhZDsKKwlzdHJlYW0uYXZhaWxfb3V0ID0gc2l6ZW9mKGRlbHRhX2hlYWQpOworCisJZ2l0X2luZmxhdGVfaW5pdCgmc3RyZWFtKTsKKwlkbyB7CisJCWluID0gdXNlX3BhY2socCwgd19jdXJzLCBjdXJwb3MsICZzdHJlYW0uYXZhaWxfaW4pOworCQlzdHJlYW0ubmV4dF9pbiA9IGluOworCQlzdCA9IGdpdF9pbmZsYXRlKCZzdHJlYW0sIFpfRklOSVNIKTsKKwkJY3VycG9zICs9IHN0cmVhbS5uZXh0X2luIC0gaW47CisJfSB3aGlsZSAoKHN0ID09IFpfT0sgfHwgc3QgPT0gWl9CVUZfRVJST1IpICYmCisJCSBzdHJlYW0udG90YWxfb3V0IDwgc2l6ZW9mKGRlbHRhX2hlYWQpKTsKKwlnaXRfaW5mbGF0ZV9lbmQoJnN0cmVhbSk7CisJaWYgKChzdCAhPSBaX1NUUkVBTV9FTkQpICYmIHN0cmVhbS50b3RhbF9vdXQgIT0gc2l6ZW9mKGRlbHRhX2hlYWQpKSB7CisJCWVycm9yKCJkZWx0YSBkYXRhIHVucGFjay1pbml0aWFsIGZhaWxlZCIpOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBFeGFtaW5lIHRoZSBpbml0aWFsIHBhcnQgb2YgdGhlIGRlbHRhIHRvIGZpZ3VyZSBvdXQKKwkgKiB0aGUgcmVzdWx0IHNpemUuCisJICovCisJZGF0YSA9IGRlbHRhX2hlYWQ7CisKKwkvKiBpZ25vcmUgYmFzZSBzaXplICovCisJZ2V0X2RlbHRhX2hkcl9zaXplKCZkYXRhLCBkZWx0YV9oZWFkK3NpemVvZihkZWx0YV9oZWFkKSk7CisKKwkvKiBSZWFkIHRoZSByZXN1bHQgc2l6ZSAqLworCXJldHVybiBnZXRfZGVsdGFfaGRyX3NpemUoJmRhdGEsIGRlbHRhX2hlYWQrc2l6ZW9mKGRlbHRhX2hlYWQpKTsKK30KKworaW50IHVucGFja19vYmplY3RfaGVhZGVyKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAorCQkJIHN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycywKKwkJCSBvZmZfdCAqY3VycG9zLAorCQkJIHVuc2lnbmVkIGxvbmcgKnNpemVwKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2U7CisJdW5zaWduZWQgbG9uZyBsZWZ0OworCXVuc2lnbmVkIGxvbmcgdXNlZDsKKwllbnVtIG9iamVjdF90eXBlIHR5cGU7CisKKwkvKiB1c2VfcGFjaygpIGFzc3VyZXMgdXMgd2UgaGF2ZSBbYmFzZSwgYmFzZSArIDIwKSBhdmFpbGFibGUKKwkgKiBhcyBhIHJhbmdlIHRoYXQgd2UgY2FuIGxvb2sgYXQuICAoSXRzIGFjdHVhbGx5IHRoZSBoYXNoCisJICogc2l6ZSB0aGF0IGlzIGFzc3VyZWQuKSAgV2l0aCBvdXIgb2JqZWN0IGhlYWRlciBlbmNvZGluZworCSAqIHRoZSBtYXhpbXVtIGRlZmxhdGVkIG9iamVjdCBzaXplIGlzIDJeMTM3LCB3aGljaCBpcyBqdXN0CisJICogaW5zYW5lLCBzbyB3ZSBrbm93IHdvbid0IGV4Y2VlZCB3aGF0IHdlIGhhdmUgYmVlbiBnaXZlbi4KKwkgKi8KKwliYXNlID0gdXNlX3BhY2socCwgd19jdXJzLCAqY3VycG9zLCAmbGVmdCk7CisJdXNlZCA9IHVucGFja19vYmplY3RfaGVhZGVyX2J1ZmZlcihiYXNlLCBsZWZ0LCAmdHlwZSwgc2l6ZXApOworCWlmICghdXNlZCkgeworCQl0eXBlID0gT0JKX0JBRDsKKwl9IGVsc2UKKwkJKmN1cnBvcyArPSB1c2VkOworCisJcmV0dXJuIHR5cGU7Cit9CisKK3ZvaWQgbWFya19iYWRfcGFja2VkX29iamVjdChzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3sKKwl1bnNpZ25lZCBpOworCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fYmFkX29iamVjdHM7IGkrKykKKwkJaWYgKCFoYXNoY21wKHNoYTEsIHAtPmJhZF9vYmplY3Rfc2hhMSArIEdJVF9TSEExX1JBV1NaICogaSkpCisJCQlyZXR1cm47CisJcC0+YmFkX29iamVjdF9zaGExID0geHJlYWxsb2MocC0+YmFkX29iamVjdF9zaGExLAorCQkJCSAgICAgIHN0X211bHQoR0lUX01BWF9SQVdTWiwKKwkJCQkJICAgICAgc3RfYWRkKHAtPm51bV9iYWRfb2JqZWN0cywgMSkpKTsKKwloYXNoY3B5KHAtPmJhZF9vYmplY3Rfc2hhMSArIEdJVF9TSEExX1JBV1NaICogcC0+bnVtX2JhZF9vYmplY3RzLCBzaGExKTsKKwlwLT5udW1fYmFkX29iamVjdHMrKzsKK30KKworY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKmhhc19wYWNrZWRfYW5kX2JhZChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQoreworCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOworCXVuc2lnbmVkIGk7CisKKwlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkKKwkJZm9yIChpID0gMDsgaSA8IHAtPm51bV9iYWRfb2JqZWN0czsgaSsrKQorCQkJaWYgKCFoYXNoY21wKHNoYTEsIHAtPmJhZF9vYmplY3Rfc2hhMSArIDIwICogaSkpCisJCQkJcmV0dXJuIHA7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBvZmZfdCBnZXRfZGVsdGFfYmFzZShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwKKwkJCQkgICAgc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzLAorCQkJCSAgICBvZmZfdCAqY3VycG9zLAorCQkJCSAgICBlbnVtIG9iamVjdF90eXBlIHR5cGUsCisJCQkJICAgIG9mZl90IGRlbHRhX29ial9vZmZzZXQpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZV9pbmZvID0gdXNlX3BhY2socCwgd19jdXJzLCAqY3VycG9zLCBOVUxMKTsKKwlvZmZfdCBiYXNlX29mZnNldDsKKworCS8qIHVzZV9wYWNrKCkgYXNzdXJlZCB1cyB3ZSBoYXZlIFtiYXNlX2luZm8sIGJhc2VfaW5mbyArIDIwKQorCSAqIGFzIGEgcmFuZ2UgdGhhdCB3ZSBjYW4gbG9vayBhdCB3aXRob3V0IHdhbGtpbmcgb2ZmIHRoZQorCSAqIGVuZCBvZiB0aGUgbWFwcGVkIHdpbmRvdy4gIEl0cyBhY3R1YWxseSB0aGUgaGFzaCBzaXplCisJICogdGhhdCBpcyBhc3N1cmVkLiAgQW4gT0ZTX0RFTFRBIGxvbmdlciB0aGFuIHRoZSBoYXNoIHNpemUKKwkgKiBpcyBzdHVwaWQsIGFzIHRoZW4gYSBSRUZfREVMVEEgd291bGQgYmUgc21hbGxlciB0byBzdG9yZS4KKwkgKi8KKwlpZiAodHlwZSA9PSBPQkpfT0ZTX0RFTFRBKSB7CisJCXVuc2lnbmVkIHVzZWQgPSAwOworCQl1bnNpZ25lZCBjaGFyIGMgPSBiYXNlX2luZm9bdXNlZCsrXTsKKwkJYmFzZV9vZmZzZXQgPSBjICYgMTI3OworCQl3aGlsZSAoYyAmIDEyOCkgeworCQkJYmFzZV9vZmZzZXQgKz0gMTsKKwkJCWlmICghYmFzZV9vZmZzZXQgfHwgTVNCKGJhc2Vfb2Zmc2V0LCA3KSkKKwkJCQlyZXR1cm4gMDsgIC8qIG92ZXJmbG93ICovCisJCQljID0gYmFzZV9pbmZvW3VzZWQrK107CisJCQliYXNlX29mZnNldCA9IChiYXNlX29mZnNldCA8PCA3KSArIChjICYgMTI3KTsKKwkJfQorCQliYXNlX29mZnNldCA9IGRlbHRhX29ial9vZmZzZXQgLSBiYXNlX29mZnNldDsKKwkJaWYgKGJhc2Vfb2Zmc2V0IDw9IDAgfHwgYmFzZV9vZmZzZXQgPj0gZGVsdGFfb2JqX29mZnNldCkKKwkJCXJldHVybiAwOyAgLyogb3V0IG9mIGJvdW5kICovCisJCSpjdXJwb3MgKz0gdXNlZDsKKwl9IGVsc2UgaWYgKHR5cGUgPT0gT0JKX1JFRl9ERUxUQSkgeworCQkvKiBUaGUgYmFzZSBlbnRyeSBfbXVzdF8gYmUgaW4gdGhlIHNhbWUgcGFjayAqLworCQliYXNlX29mZnNldCA9IGZpbmRfcGFja19lbnRyeV9vbmUoYmFzZV9pbmZvLCBwKTsKKwkJKmN1cnBvcyArPSAyMDsKKwl9IGVsc2UKKwkJZGllKCJJIGFtIHRvdGFsbHkgc2NyZXdlZCIpOworCXJldHVybiBiYXNlX29mZnNldDsKK30KKworLyoKKyAqIExpa2UgZ2V0X2RlbHRhX2Jhc2UgYWJvdmUsIGJ1dCB3ZSByZXR1cm4gdGhlIHNoYTEgaW5zdGVhZCBvZiB0aGUgcGFjaworICogb2Zmc2V0LiBUaGlzIG1lYW5zIGl0IGlzIGNoZWFwZXIgZm9yIFJFRiBkZWx0YXMgKHdlIGRvIG5vdCBoYXZlIHRvIGRvCisgKiB0aGUgZmluYWwgb2JqZWN0IGxvb2t1cCksIGJ1dCBtb3JlIGV4cGVuc2l2ZSBmb3IgT0ZTIGRlbHRhcyAod2UKKyAqIGhhdmUgdG8gbG9hZCB0aGUgcmV2aWR4IHRvIGNvbnZlcnQgdGhlIG9mZnNldCBiYWNrIGludG8gYSBzaGExKS4KKyAqLworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmdldF9kZWx0YV9iYXNlX3NoYTEoc3RydWN0IHBhY2tlZF9naXQgKnAsCisJCQkJCQlzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsCisJCQkJCQlvZmZfdCBjdXJwb3MsCisJCQkJCQllbnVtIG9iamVjdF90eXBlIHR5cGUsCisJCQkJCQlvZmZfdCBkZWx0YV9vYmpfb2Zmc2V0KQoreworCWlmICh0eXBlID09IE9CSl9SRUZfREVMVEEpIHsKKwkJdW5zaWduZWQgY2hhciAqYmFzZSA9IHVzZV9wYWNrKHAsIHdfY3VycywgY3VycG9zLCBOVUxMKTsKKwkJcmV0dXJuIGJhc2U7CisJfSBlbHNlIGlmICh0eXBlID09IE9CSl9PRlNfREVMVEEpIHsKKwkJc3RydWN0IHJldmluZGV4X2VudHJ5ICpyZXZpZHg7CisJCW9mZl90IGJhc2Vfb2Zmc2V0ID0gZ2V0X2RlbHRhX2Jhc2UocCwgd19jdXJzLCAmY3VycG9zLAorCQkJCQkJICAgdHlwZSwgZGVsdGFfb2JqX29mZnNldCk7CisKKwkJaWYgKCFiYXNlX29mZnNldCkKKwkJCXJldHVybiBOVUxMOworCisJCXJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBiYXNlX29mZnNldCk7CisJCWlmICghcmV2aWR4KQorCQkJcmV0dXJuIE5VTEw7CisKKwkJcmV0dXJuIG50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgcmV2aWR4LT5ucik7CisJfSBlbHNlCisJCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IHJldHJ5X2JhZF9wYWNrZWRfb2Zmc2V0KHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBvYmpfb2Zmc2V0KQoreworCWludCB0eXBlOworCXN0cnVjdCByZXZpbmRleF9lbnRyeSAqcmV2aWR4OworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTE7CisJcmV2aWR4ID0gZmluZF9wYWNrX3JldmluZGV4KHAsIG9ial9vZmZzZXQpOworCWlmICghcmV2aWR4KQorCQlyZXR1cm4gT0JKX0JBRDsKKwlzaGExID0gbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShwLCByZXZpZHgtPm5yKTsKKwltYXJrX2JhZF9wYWNrZWRfb2JqZWN0KHAsIHNoYTEpOworCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOworCWlmICh0eXBlIDw9IE9CSl9OT05FKQorCQlyZXR1cm4gT0JKX0JBRDsKKwlyZXR1cm4gdHlwZTsKK30KKworI2RlZmluZSBQT0lfU1RBQ0tfUFJFQUxMT0MgNjQKKworc3RhdGljIGVudW0gb2JqZWN0X3R5cGUgcGFja2VkX3RvX29iamVjdF90eXBlKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAorCQkJCQkgICAgICBvZmZfdCBvYmpfb2Zmc2V0LAorCQkJCQkgICAgICBlbnVtIG9iamVjdF90eXBlIHR5cGUsCisJCQkJCSAgICAgIHN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycywKKwkJCQkJICAgICAgb2ZmX3QgY3VycG9zKQoreworCW9mZl90IHNtYWxsX3BvaV9zdGFja1tQT0lfU1RBQ0tfUFJFQUxMT0NdOworCW9mZl90ICpwb2lfc3RhY2sgPSBzbWFsbF9wb2lfc3RhY2s7CisJaW50IHBvaV9zdGFja19uciA9IDAsIHBvaV9zdGFja19hbGxvYyA9IFBPSV9TVEFDS19QUkVBTExPQzsKKworCXdoaWxlICh0eXBlID09IE9CSl9PRlNfREVMVEEgfHwgdHlwZSA9PSBPQkpfUkVGX0RFTFRBKSB7CisJCW9mZl90IGJhc2Vfb2Zmc2V0OworCQl1bnNpZ25lZCBsb25nIHNpemU7CisJCS8qIFB1c2ggdGhlIG9iamVjdCB3ZSdyZSBnb2luZyB0byBsZWF2ZSBiZWhpbmQgKi8KKwkJaWYgKHBvaV9zdGFja19uciA+PSBwb2lfc3RhY2tfYWxsb2MgJiYgcG9pX3N0YWNrID09IHNtYWxsX3BvaV9zdGFjaykgeworCQkJcG9pX3N0YWNrX2FsbG9jID0gYWxsb2NfbnIocG9pX3N0YWNrX25yKTsKKwkJCUFMTE9DX0FSUkFZKHBvaV9zdGFjaywgcG9pX3N0YWNrX2FsbG9jKTsKKwkJCW1lbWNweShwb2lfc3RhY2ssIHNtYWxsX3BvaV9zdGFjaywgc2l6ZW9mKG9mZl90KSpwb2lfc3RhY2tfbnIpOworCQl9IGVsc2UgeworCQkJQUxMT0NfR1JPVyhwb2lfc3RhY2ssIHBvaV9zdGFja19ucisxLCBwb2lfc3RhY2tfYWxsb2MpOworCQl9CisJCXBvaV9zdGFja1twb2lfc3RhY2tfbnIrK10gPSBvYmpfb2Zmc2V0OworCQkvKiBJZiBwYXJzaW5nIHRoZSBiYXNlIG9mZnNldCBmYWlscywganVzdCB1bndpbmQgKi8KKwkJYmFzZV9vZmZzZXQgPSBnZXRfZGVsdGFfYmFzZShwLCB3X2N1cnMsICZjdXJwb3MsIHR5cGUsIG9ial9vZmZzZXQpOworCQlpZiAoIWJhc2Vfb2Zmc2V0KQorCQkJZ290byB1bndpbmQ7CisJCWN1cnBvcyA9IG9ial9vZmZzZXQgPSBiYXNlX29mZnNldDsKKwkJdHlwZSA9IHVucGFja19vYmplY3RfaGVhZGVyKHAsIHdfY3VycywgJmN1cnBvcywgJnNpemUpOworCQlpZiAodHlwZSA8PSBPQkpfTk9ORSkgeworCQkJLyogSWYgZ2V0dGluZyB0aGUgYmFzZSBpdHNlbGYgZmFpbHMsIHdlIGZpcnN0CisJCQkgKiByZXRyeSB0aGUgYmFzZSwgb3RoZXJ3aXNlIHVud2luZCAqLworCQkJdHlwZSA9IHJldHJ5X2JhZF9wYWNrZWRfb2Zmc2V0KHAsIGJhc2Vfb2Zmc2V0KTsKKwkJCWlmICh0eXBlID4gT0JKX05PTkUpCisJCQkJZ290byBvdXQ7CisJCQlnb3RvIHVud2luZDsKKwkJfQorCX0KKworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgT0JKX0JBRDoKKwljYXNlIE9CSl9DT01NSVQ6CisJY2FzZSBPQkpfVFJFRToKKwljYXNlIE9CSl9CTE9COgorCWNhc2UgT0JKX1RBRzoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJyb3IoInVua25vd24gb2JqZWN0IHR5cGUgJWkgYXQgb2Zmc2V0ICUiUFJJdU1BWCIgaW4gJXMiLAorCQkgICAgICB0eXBlLCAodWludG1heF90KW9ial9vZmZzZXQsIHAtPnBhY2tfbmFtZSk7CisJCXR5cGUgPSBPQkpfQkFEOworCX0KKworb3V0OgorCWlmIChwb2lfc3RhY2sgIT0gc21hbGxfcG9pX3N0YWNrKQorCQlmcmVlKHBvaV9zdGFjayk7CisJcmV0dXJuIHR5cGU7CisKK3Vud2luZDoKKwl3aGlsZSAocG9pX3N0YWNrX25yKSB7CisJCW9ial9vZmZzZXQgPSBwb2lfc3RhY2tbLS1wb2lfc3RhY2tfbnJdOworCQl0eXBlID0gcmV0cnlfYmFkX3BhY2tlZF9vZmZzZXQocCwgb2JqX29mZnNldCk7CisJCWlmICh0eXBlID4gT0JKX05PTkUpCisJCQlnb3RvIG91dDsKKwl9CisJdHlwZSA9IE9CSl9CQUQ7CisJZ290byBvdXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaG1hcCBkZWx0YV9iYXNlX2NhY2hlOworc3RhdGljIHNpemVfdCBkZWx0YV9iYXNlX2NhY2hlZDsKKworc3RhdGljIExJU1RfSEVBRChkZWx0YV9iYXNlX2NhY2hlX2xydSk7CisKK3N0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2tleSB7CisJc3RydWN0IHBhY2tlZF9naXQgKnA7CisJb2ZmX3QgYmFzZV9vZmZzZXQ7Cit9OworCitzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSB7CisJc3RydWN0IGhhc2htYXAgaGFzaDsKKwlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9rZXkga2V5OworCXN0cnVjdCBsaXN0X2hlYWQgbHJ1OworCXZvaWQgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBzaXplOworCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKK307CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcGFja19lbnRyeV9oYXNoKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBiYXNlX29mZnNldCkKK3sKKwl1bnNpZ25lZCBpbnQgaGFzaDsKKworCWhhc2ggPSAodW5zaWduZWQgaW50KShpbnRwdHJfdClwICsgKHVuc2lnbmVkIGludCliYXNlX29mZnNldDsKKwloYXNoICs9IChoYXNoID4+IDgpICsgKGhhc2ggPj4gMTYpOworCXJldHVybiBoYXNoOworfQorCitzdGF0aWMgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKgorZ2V0X2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkoc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IGJhc2Vfb2Zmc2V0KQoreworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudHJ5OworCXN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2tleSBrZXk7CisKKwlpZiAoIWRlbHRhX2Jhc2VfY2FjaGUuY21wZm4pCisJCXJldHVybiBOVUxMOworCisJaGFzaG1hcF9lbnRyeV9pbml0KCZlbnRyeSwgcGFja19lbnRyeV9oYXNoKHAsIGJhc2Vfb2Zmc2V0KSk7CisJa2V5LnAgPSBwOworCWtleS5iYXNlX29mZnNldCA9IGJhc2Vfb2Zmc2V0OworCXJldHVybiBoYXNobWFwX2dldCgmZGVsdGFfYmFzZV9jYWNoZSwgJmVudHJ5LCAma2V5KTsKK30KKworc3RhdGljIGludCBkZWx0YV9iYXNlX2NhY2hlX2tleV9lcShjb25zdCBzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9rZXkgKmEsCisJCQkJICAgY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfa2V5ICpiKQoreworCXJldHVybiBhLT5wID09IGItPnAgJiYgYS0+YmFzZV9vZmZzZXQgPT0gYi0+YmFzZV9vZmZzZXQ7Cit9CisKK3N0YXRpYyBpbnQgZGVsdGFfYmFzZV9jYWNoZV9oYXNoX2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCisJCQkJICAgICBjb25zdCB2b2lkICp2YSwgY29uc3Qgdm9pZCAqdmIsCisJCQkJICAgICBjb25zdCB2b2lkICp2a2V5KQoreworCWNvbnN0IHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICphID0gdmEsICpiID0gdmI7CisJY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfa2V5ICprZXkgPSB2a2V5OworCWlmIChrZXkpCisJCXJldHVybiAhZGVsdGFfYmFzZV9jYWNoZV9rZXlfZXEoJmEtPmtleSwga2V5KTsKKwllbHNlCisJCXJldHVybiAhZGVsdGFfYmFzZV9jYWNoZV9rZXlfZXEoJmEtPmtleSwgJmItPmtleSk7Cit9CisKK3N0YXRpYyBpbnQgaW5fZGVsdGFfYmFzZV9jYWNoZShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3QgYmFzZV9vZmZzZXQpCit7CisJcmV0dXJuICEhZ2V0X2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkocCwgYmFzZV9vZmZzZXQpOworfQorCisvKgorICogUmVtb3ZlIHRoZSBlbnRyeSBmcm9tIHRoZSBjYWNoZSwgYnV0IGRvIF9ub3RfIGZyZWUgdGhlIGFzc29jaWF0ZWQKKyAqIGVudHJ5IGRhdGEuIFRoZSBjYWxsZXIgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSAiZGF0YSIgYnVmZmVyLCBhbmQKKyAqIHNob3VsZCBjb3B5IG91dCBhbnkgZmllbGRzIGl0IHdhbnRzIGJlZm9yZSBkZXRhY2hpbmcuCisgKi8KK3N0YXRpYyB2b2lkIGRldGFjaF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnQpCit7CisJaGFzaG1hcF9yZW1vdmUoJmRlbHRhX2Jhc2VfY2FjaGUsIGVudCwgJmVudC0+a2V5KTsKKwlsaXN0X2RlbCgmZW50LT5scnUpOworCWRlbHRhX2Jhc2VfY2FjaGVkIC09IGVudC0+c2l6ZTsKKwlmcmVlKGVudCk7Cit9CisKK3N0YXRpYyB2b2lkICpjYWNoZV9vcl91bnBhY2tfZW50cnkoc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IGJhc2Vfb2Zmc2V0LAorCXVuc2lnbmVkIGxvbmcgKmJhc2Vfc2l6ZSwgZW51bSBvYmplY3RfdHlwZSAqdHlwZSkKK3sKKwlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZW50OworCisJZW50ID0gZ2V0X2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkocCwgYmFzZV9vZmZzZXQpOworCWlmICghZW50KQorCQlyZXR1cm4gdW5wYWNrX2VudHJ5KHAsIGJhc2Vfb2Zmc2V0LCB0eXBlLCBiYXNlX3NpemUpOworCisJaWYgKHR5cGUpCisJCSp0eXBlID0gZW50LT50eXBlOworCWlmIChiYXNlX3NpemUpCisJCSpiYXNlX3NpemUgPSBlbnQtPnNpemU7CisJcmV0dXJuIHhtZW1kdXB6KGVudC0+ZGF0YSwgZW50LT5zaXplKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHJlbGVhc2VfZGVsdGFfYmFzZV9jYWNoZShzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZW50KQoreworCWZyZWUoZW50LT5kYXRhKTsKKwlkZXRhY2hfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShlbnQpOworfQorCit2b2lkIGNsZWFyX2RlbHRhX2Jhc2VfY2FjaGUodm9pZCkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpscnUsICp0bXA7CisJbGlzdF9mb3JfZWFjaF9zYWZlKGxydSwgdG1wLCAmZGVsdGFfYmFzZV9jYWNoZV9scnUpIHsKKwkJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudHJ5ID0KKwkJCWxpc3RfZW50cnkobHJ1LCBzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSwgbHJ1KTsKKwkJcmVsZWFzZV9kZWx0YV9iYXNlX2NhY2hlKGVudHJ5KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9kZWx0YV9iYXNlX2NhY2hlKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBiYXNlX29mZnNldCwKKwl2b2lkICpiYXNlLCB1bnNpZ25lZCBsb25nIGJhc2Vfc2l6ZSwgZW51bSBvYmplY3RfdHlwZSB0eXBlKQoreworCXN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnQgPSB4bWFsbG9jKHNpemVvZigqZW50KSk7CisJc3RydWN0IGxpc3RfaGVhZCAqbHJ1LCAqdG1wOworCisJZGVsdGFfYmFzZV9jYWNoZWQgKz0gYmFzZV9zaXplOworCisJbGlzdF9mb3JfZWFjaF9zYWZlKGxydSwgdG1wLCAmZGVsdGFfYmFzZV9jYWNoZV9scnUpIHsKKwkJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmYgPQorCQkJbGlzdF9lbnRyeShscnUsIHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5LCBscnUpOworCQlpZiAoZGVsdGFfYmFzZV9jYWNoZWQgPD0gZGVsdGFfYmFzZV9jYWNoZV9saW1pdCkKKwkJCWJyZWFrOworCQlyZWxlYXNlX2RlbHRhX2Jhc2VfY2FjaGUoZik7CisJfQorCisJZW50LT5rZXkucCA9IHA7CisJZW50LT5rZXkuYmFzZV9vZmZzZXQgPSBiYXNlX29mZnNldDsKKwllbnQtPnR5cGUgPSB0eXBlOworCWVudC0+ZGF0YSA9IGJhc2U7CisJZW50LT5zaXplID0gYmFzZV9zaXplOworCWxpc3RfYWRkX3RhaWwoJmVudC0+bHJ1LCAmZGVsdGFfYmFzZV9jYWNoZV9scnUpOworCisJaWYgKCFkZWx0YV9iYXNlX2NhY2hlLmNtcGZuKQorCQloYXNobWFwX2luaXQoJmRlbHRhX2Jhc2VfY2FjaGUsIGRlbHRhX2Jhc2VfY2FjaGVfaGFzaF9jbXAsIE5VTEwsIDApOworCWhhc2htYXBfZW50cnlfaW5pdChlbnQsIHBhY2tfZW50cnlfaGFzaChwLCBiYXNlX29mZnNldCkpOworCWhhc2htYXBfYWRkKCZkZWx0YV9iYXNlX2NhY2hlLCBlbnQpOworfQorCitpbnQgcGFja2VkX29iamVjdF9pbmZvKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBvYmpfb2Zmc2V0LAorCQkgICAgICAgc3RydWN0IG9iamVjdF9pbmZvICpvaSkKK3sKKwlzdHJ1Y3QgcGFja193aW5kb3cgKndfY3VycyA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBzaXplOworCW9mZl90IGN1cnBvcyA9IG9ial9vZmZzZXQ7CisJZW51bSBvYmplY3RfdHlwZSB0eXBlOworCisJLyoKKwkgKiBXZSBhbHdheXMgZ2V0IHRoZSByZXByZXNlbnRhdGlvbiB0eXBlLCBidXQgb25seSBjb252ZXJ0IGl0IHRvCisJICogYSAicmVhbCIgdHlwZSBsYXRlciBpZiB0aGUgY2FsbGVyIGlzIGludGVyZXN0ZWQuCisJICovCisJaWYgKG9pLT5jb250ZW50cCkgeworCQkqb2ktPmNvbnRlbnRwID0gY2FjaGVfb3JfdW5wYWNrX2VudHJ5KHAsIG9ial9vZmZzZXQsIG9pLT5zaXplcCwKKwkJCQkJCSAgICAgICZ0eXBlKTsKKwkJaWYgKCEqb2ktPmNvbnRlbnRwKQorCQkJdHlwZSA9IE9CSl9CQUQ7CisJfSBlbHNlIHsKKwkJdHlwZSA9IHVucGFja19vYmplY3RfaGVhZGVyKHAsICZ3X2N1cnMsICZjdXJwb3MsICZzaXplKTsKKwl9CisKKwlpZiAoIW9pLT5jb250ZW50cCAmJiBvaS0+c2l6ZXApIHsKKwkJaWYgKHR5cGUgPT0gT0JKX09GU19ERUxUQSB8fCB0eXBlID09IE9CSl9SRUZfREVMVEEpIHsKKwkJCW9mZl90IHRtcF9wb3MgPSBjdXJwb3M7CisJCQlvZmZfdCBiYXNlX29mZnNldCA9IGdldF9kZWx0YV9iYXNlKHAsICZ3X2N1cnMsICZ0bXBfcG9zLAorCQkJCQkJCSAgIHR5cGUsIG9ial9vZmZzZXQpOworCQkJaWYgKCFiYXNlX29mZnNldCkgeworCQkJCXR5cGUgPSBPQkpfQkFEOworCQkJCWdvdG8gb3V0OworCQkJfQorCQkJKm9pLT5zaXplcCA9IGdldF9zaXplX2Zyb21fZGVsdGEocCwgJndfY3VycywgdG1wX3Bvcyk7CisJCQlpZiAoKm9pLT5zaXplcCA9PSAwKSB7CisJCQkJdHlwZSA9IE9CSl9CQUQ7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCX0gZWxzZSB7CisJCQkqb2ktPnNpemVwID0gc2l6ZTsKKwkJfQorCX0KKworCWlmIChvaS0+ZGlza19zaXplcCkgeworCQlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKnJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBvYmpfb2Zmc2V0KTsKKwkJKm9pLT5kaXNrX3NpemVwID0gcmV2aWR4WzFdLm9mZnNldCAtIG9ial9vZmZzZXQ7CisJfQorCisJaWYgKG9pLT50eXBlcCB8fCBvaS0+dHlwZW5hbWUpIHsKKwkJZW51bSBvYmplY3RfdHlwZSBwdG90OworCQlwdG90ID0gcGFja2VkX3RvX29iamVjdF90eXBlKHAsIG9ial9vZmZzZXQsIHR5cGUsICZ3X2N1cnMsCisJCQkJCSAgICAgY3VycG9zKTsKKwkJaWYgKG9pLT50eXBlcCkKKwkJCSpvaS0+dHlwZXAgPSBwdG90OworCQlpZiAob2ktPnR5cGVuYW1lKSB7CisJCQljb25zdCBjaGFyICp0biA9IHR5cGVuYW1lKHB0b3QpOworCQkJaWYgKHRuKQorCQkJCXN0cmJ1Zl9hZGRzdHIob2ktPnR5cGVuYW1lLCB0bik7CisJCX0KKwkJaWYgKHB0b3QgPCAwKSB7CisJCQl0eXBlID0gT0JKX0JBRDsKKwkJCWdvdG8gb3V0OworCQl9CisJfQorCisJaWYgKG9pLT5kZWx0YV9iYXNlX3NoYTEpIHsKKwkJaWYgKHR5cGUgPT0gT0JKX09GU19ERUxUQSB8fCB0eXBlID09IE9CSl9SRUZfREVMVEEpIHsKKwkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmJhc2U7CisKKwkJCWJhc2UgPSBnZXRfZGVsdGFfYmFzZV9zaGExKHAsICZ3X2N1cnMsIGN1cnBvcywKKwkJCQkJCSAgIHR5cGUsIG9ial9vZmZzZXQpOworCQkJaWYgKCFiYXNlKSB7CisJCQkJdHlwZSA9IE9CSl9CQUQ7CisJCQkJZ290byBvdXQ7CisJCQl9CisKKwkJCWhhc2hjcHkob2ktPmRlbHRhX2Jhc2Vfc2hhMSwgYmFzZSk7CisJCX0gZWxzZQorCQkJaGFzaGNscihvaS0+ZGVsdGFfYmFzZV9zaGExKTsKKwl9CisKKwlvaS0+d2hlbmNlID0gaW5fZGVsdGFfYmFzZV9jYWNoZShwLCBvYmpfb2Zmc2V0KSA/IE9JX0RCQ0FDSEVEIDoKKwkJCQkJCQkgIE9JX1BBQ0tFRDsKKworb3V0OgorCXVudXNlX3BhY2soJndfY3Vycyk7CisJcmV0dXJuIHR5cGU7Cit9CisKK3N0YXRpYyB2b2lkICp1bnBhY2tfY29tcHJlc3NlZF9lbnRyeShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwKKwkJCQkgICAgc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzLAorCQkJCSAgICBvZmZfdCBjdXJwb3MsCisJCQkJICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwlpbnQgc3Q7CisJZ2l0X3pzdHJlYW0gc3RyZWFtOworCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgKmluOworCisJYnVmZmVyID0geG1hbGxvY3pfZ2VudGx5KHNpemUpOworCWlmICghYnVmZmVyKQorCQlyZXR1cm4gTlVMTDsKKwltZW1zZXQoJnN0cmVhbSwgMCwgc2l6ZW9mKHN0cmVhbSkpOworCXN0cmVhbS5uZXh0X291dCA9IGJ1ZmZlcjsKKwlzdHJlYW0uYXZhaWxfb3V0ID0gc2l6ZSArIDE7CisKKwlnaXRfaW5mbGF0ZV9pbml0KCZzdHJlYW0pOworCWRvIHsKKwkJaW4gPSB1c2VfcGFjayhwLCB3X2N1cnMsIGN1cnBvcywgJnN0cmVhbS5hdmFpbF9pbik7CisJCXN0cmVhbS5uZXh0X2luID0gaW47CisJCXN0ID0gZ2l0X2luZmxhdGUoJnN0cmVhbSwgWl9GSU5JU0gpOworCQlpZiAoIXN0cmVhbS5hdmFpbF9vdXQpCisJCQlicmVhazsgLyogdGhlIHBheWxvYWQgaXMgbGFyZ2VyIHRoYW4gaXQgc2hvdWxkIGJlICovCisJCWN1cnBvcyArPSBzdHJlYW0ubmV4dF9pbiAtIGluOworCX0gd2hpbGUgKHN0ID09IFpfT0sgfHwgc3QgPT0gWl9CVUZfRVJST1IpOworCWdpdF9pbmZsYXRlX2VuZCgmc3RyZWFtKTsKKwlpZiAoKHN0ICE9IFpfU1RSRUFNX0VORCkgfHwgc3RyZWFtLnRvdGFsX291dCAhPSBzaXplKSB7CisJCWZyZWUoYnVmZmVyKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmV0dXJuIGJ1ZmZlcjsKK30KKworc3RhdGljIHZvaWQgd3JpdGVfcGFja19hY2Nlc3NfbG9nKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBvYmpfb2Zmc2V0KQoreworCXN0YXRpYyBzdHJ1Y3QgdHJhY2Vfa2V5IHBhY2tfYWNjZXNzID0gVFJBQ0VfS0VZX0lOSVQoUEFDS19BQ0NFU1MpOworCXRyYWNlX3ByaW50Zl9rZXkoJnBhY2tfYWNjZXNzLCAiJXMgJSJQUkl1TUFYIlxuIiwKKwkJCSBwLT5wYWNrX25hbWUsICh1aW50bWF4X3Qpb2JqX29mZnNldCk7Cit9CisKK2ludCBkb19jaGVja19wYWNrZWRfb2JqZWN0X2NyYzsKKworI2RlZmluZSBVTlBBQ0tfRU5UUllfU1RBQ0tfUFJFQUxMT0MgNjQKK3N0cnVjdCB1bnBhY2tfZW50cnlfc3RhY2tfZW50IHsKKwlvZmZfdCBvYmpfb2Zmc2V0OworCW9mZl90IGN1cnBvczsKKwl1bnNpZ25lZCBsb25nIHNpemU7Cit9OworCitzdGF0aWMgdm9pZCAqcmVhZF9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgZW51bSBvYmplY3RfdHlwZSAqdHlwZSwKKwkJCSB1bnNpZ25lZCBsb25nICpzaXplKQoreworCXN0cnVjdCBvYmplY3RfaW5mbyBvaSA9IE9CSkVDVF9JTkZPX0lOSVQ7CisJdm9pZCAqY29udGVudDsKKwlvaS50eXBlcCA9IHR5cGU7CisJb2kuc2l6ZXAgPSBzaXplOworCW9pLmNvbnRlbnRwID0gJmNvbnRlbnQ7CisKKwlpZiAoc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZChzaGExLCAmb2ksIDApIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisJcmV0dXJuIGNvbnRlbnQ7Cit9CisKK3ZvaWQgKnVucGFja19lbnRyeShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3Qgb2JqX29mZnNldCwKKwkJICAgZW51bSBvYmplY3RfdHlwZSAqZmluYWxfdHlwZSwgdW5zaWduZWQgbG9uZyAqZmluYWxfc2l6ZSkKK3sKKwlzdHJ1Y3QgcGFja193aW5kb3cgKndfY3VycyA9IE5VTEw7CisJb2ZmX3QgY3VycG9zID0gb2JqX29mZnNldDsKKwl2b2lkICpkYXRhID0gTlVMTDsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisJZW51bSBvYmplY3RfdHlwZSB0eXBlOworCXN0cnVjdCB1bnBhY2tfZW50cnlfc3RhY2tfZW50IHNtYWxsX2RlbHRhX3N0YWNrW1VOUEFDS19FTlRSWV9TVEFDS19QUkVBTExPQ107CisJc3RydWN0IHVucGFja19lbnRyeV9zdGFja19lbnQgKmRlbHRhX3N0YWNrID0gc21hbGxfZGVsdGFfc3RhY2s7CisJaW50IGRlbHRhX3N0YWNrX25yID0gMCwgZGVsdGFfc3RhY2tfYWxsb2MgPSBVTlBBQ0tfRU5UUllfU1RBQ0tfUFJFQUxMT0M7CisJaW50IGJhc2VfZnJvbV9jYWNoZSA9IDA7CisKKwl3cml0ZV9wYWNrX2FjY2Vzc19sb2cocCwgb2JqX29mZnNldCk7CisKKwkvKiBQSEFTRSAxOiBkcmlsbCBkb3duIHRvIHRoZSBpbm5lcm1vc3QgYmFzZSBvYmplY3QgKi8KKwlmb3IgKDs7KSB7CisJCW9mZl90IGJhc2Vfb2Zmc2V0OworCQlpbnQgaTsKKwkJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudDsKKworCQllbnQgPSBnZXRfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShwLCBjdXJwb3MpOworCQlpZiAoZW50KSB7CisJCQl0eXBlID0gZW50LT50eXBlOworCQkJZGF0YSA9IGVudC0+ZGF0YTsKKwkJCXNpemUgPSBlbnQtPnNpemU7CisJCQlkZXRhY2hfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShlbnQpOworCQkJYmFzZV9mcm9tX2NhY2hlID0gMTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKGRvX2NoZWNrX3BhY2tlZF9vYmplY3RfY3JjICYmIHAtPmluZGV4X3ZlcnNpb24gPiAxKSB7CisJCQlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKnJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBvYmpfb2Zmc2V0KTsKKwkJCW9mZl90IGxlbiA9IHJldmlkeFsxXS5vZmZzZXQgLSBvYmpfb2Zmc2V0OworCQkJaWYgKGNoZWNrX3BhY2tfY3JjKHAsICZ3X2N1cnMsIG9ial9vZmZzZXQsIGxlbiwgcmV2aWR4LT5ucikpIHsKKwkJCQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0KKwkJCQkJbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShwLCByZXZpZHgtPm5yKTsKKwkJCQllcnJvcigiYmFkIHBhY2tlZCBvYmplY3QgQ1JDIGZvciAlcyIsCisJCQkJICAgICAgc2hhMV90b19oZXgoc2hhMSkpOworCQkJCW1hcmtfYmFkX3BhY2tlZF9vYmplY3QocCwgc2hhMSk7CisJCQkJZGF0YSA9IE5VTEw7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCX0KKworCQl0eXBlID0gdW5wYWNrX29iamVjdF9oZWFkZXIocCwgJndfY3VycywgJmN1cnBvcywgJnNpemUpOworCQlpZiAodHlwZSAhPSBPQkpfT0ZTX0RFTFRBICYmIHR5cGUgIT0gT0JKX1JFRl9ERUxUQSkKKwkJCWJyZWFrOworCisJCWJhc2Vfb2Zmc2V0ID0gZ2V0X2RlbHRhX2Jhc2UocCwgJndfY3VycywgJmN1cnBvcywgdHlwZSwgb2JqX29mZnNldCk7CisJCWlmICghYmFzZV9vZmZzZXQpIHsKKwkJCWVycm9yKCJmYWlsZWQgdG8gdmFsaWRhdGUgZGVsdGEgYmFzZSByZWZlcmVuY2UgIgorCQkJICAgICAgImF0IG9mZnNldCAlIlBSSXVNQVgiIGZyb20gJXMiLAorCQkJICAgICAgKHVpbnRtYXhfdCljdXJwb3MsIHAtPnBhY2tfbmFtZSk7CisJCQkvKiBiYWlsIHRvIHBoYXNlIDIsIGluIGhvcGVzIG9mIHJlY292ZXJ5ICovCisJCQlkYXRhID0gTlVMTDsKKwkJCWJyZWFrOworCQl9CisKKwkJLyogcHVzaCBvYmplY3QsIHByb2NlZWQgdG8gYmFzZSAqLworCQlpZiAoZGVsdGFfc3RhY2tfbnIgPj0gZGVsdGFfc3RhY2tfYWxsb2MKKwkJICAgICYmIGRlbHRhX3N0YWNrID09IHNtYWxsX2RlbHRhX3N0YWNrKSB7CisJCQlkZWx0YV9zdGFja19hbGxvYyA9IGFsbG9jX25yKGRlbHRhX3N0YWNrX25yKTsKKwkJCUFMTE9DX0FSUkFZKGRlbHRhX3N0YWNrLCBkZWx0YV9zdGFja19hbGxvYyk7CisJCQltZW1jcHkoZGVsdGFfc3RhY2ssIHNtYWxsX2RlbHRhX3N0YWNrLAorCQkJICAgICAgIHNpemVvZigqZGVsdGFfc3RhY2spKmRlbHRhX3N0YWNrX25yKTsKKwkJfSBlbHNlIHsKKwkJCUFMTE9DX0dST1coZGVsdGFfc3RhY2ssIGRlbHRhX3N0YWNrX25yKzEsIGRlbHRhX3N0YWNrX2FsbG9jKTsKKwkJfQorCQlpID0gZGVsdGFfc3RhY2tfbnIrKzsKKwkJZGVsdGFfc3RhY2tbaV0ub2JqX29mZnNldCA9IG9ial9vZmZzZXQ7CisJCWRlbHRhX3N0YWNrW2ldLmN1cnBvcyA9IGN1cnBvczsKKwkJZGVsdGFfc3RhY2tbaV0uc2l6ZSA9IHNpemU7CisKKwkJY3VycG9zID0gb2JqX29mZnNldCA9IGJhc2Vfb2Zmc2V0OworCX0KKworCS8qIFBIQVNFIDI6IGhhbmRsZSB0aGUgYmFzZSAqLworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgT0JKX09GU19ERUxUQToKKwljYXNlIE9CSl9SRUZfREVMVEE6CisJCWlmIChkYXRhKQorCQkJZGllKCJCVUc6IHVucGFja19lbnRyeTogbGVmdCBsb29wIGF0IGEgdmFsaWQgZGVsdGEiKTsKKwkJYnJlYWs7CisJY2FzZSBPQkpfQ09NTUlUOgorCWNhc2UgT0JKX1RSRUU6CisJY2FzZSBPQkpfQkxPQjoKKwljYXNlIE9CSl9UQUc6CisJCWlmICghYmFzZV9mcm9tX2NhY2hlKQorCQkJZGF0YSA9IHVucGFja19jb21wcmVzc2VkX2VudHJ5KHAsICZ3X2N1cnMsIGN1cnBvcywgc2l6ZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRhdGEgPSBOVUxMOworCQllcnJvcigidW5rbm93biBvYmplY3QgdHlwZSAlaSBhdCBvZmZzZXQgJSJQUkl1TUFYIiBpbiAlcyIsCisJCSAgICAgIHR5cGUsICh1aW50bWF4X3Qpb2JqX29mZnNldCwgcC0+cGFja19uYW1lKTsKKwl9CisKKwkvKiBQSEFTRSAzOiBhcHBseSBkZWx0YXMgaW4gb3JkZXIgKi8KKworCS8qIGludmFyaWFudHM6CisJICogICAnZGF0YScgaG9sZHMgdGhlIGJhc2UgZGF0YSwgb3IgTlVMTCBpZiB0aGVyZSB3YXMgY29ycnVwdGlvbgorCSAqLworCXdoaWxlIChkZWx0YV9zdGFja19ucikgeworCQl2b2lkICpkZWx0YV9kYXRhOworCQl2b2lkICpiYXNlID0gZGF0YTsKKwkJdm9pZCAqZXh0ZXJuYWxfYmFzZSA9IE5VTEw7CisJCXVuc2lnbmVkIGxvbmcgZGVsdGFfc2l6ZSwgYmFzZV9zaXplID0gc2l6ZTsKKwkJaW50IGk7CisKKwkJZGF0YSA9IE5VTEw7CisKKwkJaWYgKGJhc2UpCisJCQlhZGRfZGVsdGFfYmFzZV9jYWNoZShwLCBvYmpfb2Zmc2V0LCBiYXNlLCBiYXNlX3NpemUsIHR5cGUpOworCisJCWlmICghYmFzZSkgeworCQkJLyoKKwkJCSAqIFdlJ3JlIHByb2JhYmx5IGluIGRlZXAgc2hpdCwgYnV0IGxldCdzIHRyeSB0byBmZXRjaAorCQkJICogdGhlIHJlcXVpcmVkIGJhc2UgYW55d2F5IGZyb20gYW5vdGhlciBwYWNrIG9yIGxvb3NlLgorCQkJICogVGhpcyBpcyBjb3N0bHkgYnV0IHNob3VsZCBoYXBwZW4gb25seSBpbiB0aGUgcHJlc2VuY2UKKwkJCSAqIG9mIGEgY29ycnVwdGVkIHBhY2ssIGFuZCBpcyBiZXR0ZXIgdGhhbiBmYWlsaW5nIG91dHJpZ2h0LgorCQkJICovCisJCQlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKnJldmlkeDsKKwkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmJhc2Vfc2hhMTsKKwkJCXJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBvYmpfb2Zmc2V0KTsKKwkJCWlmIChyZXZpZHgpIHsKKwkJCQliYXNlX3NoYTEgPSBudGhfcGFja2VkX29iamVjdF9zaGExKHAsIHJldmlkeC0+bnIpOworCQkJCWVycm9yKCJmYWlsZWQgdG8gcmVhZCBkZWx0YSBiYXNlIG9iamVjdCAlcyIKKwkJCQkgICAgICAiIGF0IG9mZnNldCAlIlBSSXVNQVgiIGZyb20gJXMiLAorCQkJCSAgICAgIHNoYTFfdG9faGV4KGJhc2Vfc2hhMSksICh1aW50bWF4X3Qpb2JqX29mZnNldCwKKwkJCQkgICAgICBwLT5wYWNrX25hbWUpOworCQkJCW1hcmtfYmFkX3BhY2tlZF9vYmplY3QocCwgYmFzZV9zaGExKTsKKwkJCQliYXNlID0gcmVhZF9vYmplY3QoYmFzZV9zaGExLCAmdHlwZSwgJmJhc2Vfc2l6ZSk7CisJCQkJZXh0ZXJuYWxfYmFzZSA9IGJhc2U7CisJCQl9CisJCX0KKworCQlpID0gLS1kZWx0YV9zdGFja19ucjsKKwkJb2JqX29mZnNldCA9IGRlbHRhX3N0YWNrW2ldLm9ial9vZmZzZXQ7CisJCWN1cnBvcyA9IGRlbHRhX3N0YWNrW2ldLmN1cnBvczsKKwkJZGVsdGFfc2l6ZSA9IGRlbHRhX3N0YWNrW2ldLnNpemU7CisKKwkJaWYgKCFiYXNlKQorCQkJY29udGludWU7CisKKwkJZGVsdGFfZGF0YSA9IHVucGFja19jb21wcmVzc2VkX2VudHJ5KHAsICZ3X2N1cnMsIGN1cnBvcywgZGVsdGFfc2l6ZSk7CisKKwkJaWYgKCFkZWx0YV9kYXRhKSB7CisJCQllcnJvcigiZmFpbGVkIHRvIHVucGFjayBjb21wcmVzc2VkIGRlbHRhICIKKwkJCSAgICAgICJhdCBvZmZzZXQgJSJQUkl1TUFYIiBmcm9tICVzIiwKKwkJCSAgICAgICh1aW50bWF4X3QpY3VycG9zLCBwLT5wYWNrX25hbWUpOworCQkJZGF0YSA9IE5VTEw7CisJCQlmcmVlKGV4dGVybmFsX2Jhc2UpOworCQkJY29udGludWU7CisJCX0KKworCQlkYXRhID0gcGF0Y2hfZGVsdGEoYmFzZSwgYmFzZV9zaXplLAorCQkJCSAgIGRlbHRhX2RhdGEsIGRlbHRhX3NpemUsCisJCQkJICAgJnNpemUpOworCisJCS8qCisJCSAqIFdlIGNvdWxkIG5vdCBhcHBseSB0aGUgZGVsdGE7IHdhcm4gdGhlIHVzZXIsIGJ1dCBrZWVwIGdvaW5nLgorCQkgKiBPdXIgZmFpbHVyZSB3aWxsIGJlIG5vdGljZWQgZWl0aGVyIGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZgorCQkgKiB0aGUgbG9vcCwgb3IgaWYgdGhpcyBpcyB0aGUgZmluYWwgZGVsdGEsIGluIHRoZSBjYWxsZXIgd2hlbgorCQkgKiB3ZSByZXR1cm4gTlVMTC4gVGhvc2UgY29kZSBwYXRocyB3aWxsIHRha2UgY2FyZSBvZiBtYWtpbmcKKwkJICogYSBtb3JlIGV4cGxpY2l0IHdhcm5pbmcgYW5kIHJldHJ5aW5nIHdpdGggYW5vdGhlciBjb3B5IG9mCisJCSAqIHRoZSBvYmplY3QuCisJCSAqLworCQlpZiAoIWRhdGEpCisJCQllcnJvcigiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIik7CisKKwkJZnJlZShkZWx0YV9kYXRhKTsKKwkJZnJlZShleHRlcm5hbF9iYXNlKTsKKwl9CisKKwlpZiAoZmluYWxfdHlwZSkKKwkJKmZpbmFsX3R5cGUgPSB0eXBlOworCWlmIChmaW5hbF9zaXplKQorCQkqZmluYWxfc2l6ZSA9IHNpemU7CisKK291dDoKKwl1bnVzZV9wYWNrKCZ3X2N1cnMpOworCisJaWYgKGRlbHRhX3N0YWNrICE9IHNtYWxsX2RlbHRhX3N0YWNrKQorCQlmcmVlKGRlbHRhX3N0YWNrKTsKKworCXJldHVybiBkYXRhOworfQorCitjb25zdCB1bnNpZ25lZCBjaGFyICpudGhfcGFja2VkX29iamVjdF9zaGExKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAorCQkJCQkgICAgdWludDMyX3QgbikKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbmRleCA9IHAtPmluZGV4X2RhdGE7CisJaWYgKCFpbmRleCkgeworCQlpZiAob3Blbl9wYWNrX2luZGV4KHApKQorCQkJcmV0dXJuIE5VTEw7CisJCWluZGV4ID0gcC0+aW5kZXhfZGF0YTsKKwl9CisJaWYgKG4gPj0gcC0+bnVtX29iamVjdHMpCisJCXJldHVybiBOVUxMOworCWluZGV4ICs9IDQgKiAyNTY7CisJaWYgKHAtPmluZGV4X3ZlcnNpb24gPT0gMSkgeworCQlyZXR1cm4gaW5kZXggKyAyNCAqIG4gKyA0OworCX0gZWxzZSB7CisJCWluZGV4ICs9IDg7CisJCXJldHVybiBpbmRleCArIDIwICogbjsKKwl9Cit9CisKK2NvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm50aF9wYWNrZWRfb2JqZWN0X29pZChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJCSAgICAgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAorCQkJCQkgICAgICB1aW50MzJfdCBuKQoreworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmhhc2ggPSBudGhfcGFja2VkX29iamVjdF9zaGExKHAsIG4pOworCWlmICghaGFzaCkKKwkJcmV0dXJuIE5VTEw7CisJaGFzaGNweShvaWQtPmhhc2gsIGhhc2gpOworCXJldHVybiBvaWQ7Cit9CisKK3ZvaWQgY2hlY2tfcGFja19pbmRleF9wdHIoY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKnAsIGNvbnN0IHZvaWQgKnZwdHIpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcHRyID0gdnB0cjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpzdGFydCA9IHAtPmluZGV4X2RhdGE7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZW5kID0gc3RhcnQgKyBwLT5pbmRleF9zaXplOworCWlmIChwdHIgPCBzdGFydCkKKwkJZGllKF8oIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIpLAorCQkgICAgcC0+cGFja19uYW1lKTsKKwkvKiBObyBuZWVkIHRvIGNoZWNrIGZvciB1bmRlcmZsb3c7IC5pZHggZmlsZXMgbXVzdCBiZSBhdCBsZWFzdCA4IGJ5dGVzICovCisJaWYgKHB0ciA+PSBlbmQgLSA4KQorCQlkaWUoXygib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFjayBpbmRleCBmb3IgJXMgKHRydW5jYXRlZCBpbmRleD8pIiksCisJCSAgICBwLT5wYWNrX25hbWUpOworfQorCitvZmZfdCBudGhfcGFja2VkX29iamVjdF9vZmZzZXQoY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKnAsIHVpbnQzMl90IG4pCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW5kZXggPSBwLT5pbmRleF9kYXRhOworCWluZGV4ICs9IDQgKiAyNTY7CisJaWYgKHAtPmluZGV4X3ZlcnNpb24gPT0gMSkgeworCQlyZXR1cm4gbnRvaGwoKigodWludDMyX3QgKikoaW5kZXggKyAyNCAqIG4pKSk7CisJfSBlbHNlIHsKKwkJdWludDMyX3Qgb2ZmOworCQlpbmRleCArPSA4ICsgcC0+bnVtX29iamVjdHMgKiAoMjAgKyA0KTsKKwkJb2ZmID0gbnRvaGwoKigodWludDMyX3QgKikoaW5kZXggKyA0ICogbikpKTsKKwkJaWYgKCEob2ZmICYgMHg4MDAwMDAwMCkpCisJCQlyZXR1cm4gb2ZmOworCQlpbmRleCArPSBwLT5udW1fb2JqZWN0cyAqIDQgKyAob2ZmICYgMHg3ZmZmZmZmZikgKiA4OworCQljaGVja19wYWNrX2luZGV4X3B0cihwLCBpbmRleCk7CisJCXJldHVybiAoKCh1aW50NjRfdCludG9obCgqKCh1aW50MzJfdCAqKShpbmRleCArIDApKSkpIDw8IDMyKSB8CisJCQkJICAgbnRvaGwoKigodWludDMyX3QgKikoaW5kZXggKyA0KSkpOworCX0KK30KKworb2ZmX3QgZmluZF9wYWNrX2VudHJ5X29uZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJCSAgc3RydWN0IHBhY2tlZF9naXQgKnApCit7CisJY29uc3QgdWludDMyX3QgKmxldmVsMV9vZnMgPSBwLT5pbmRleF9kYXRhOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmluZGV4ID0gcC0+aW5kZXhfZGF0YTsKKwl1bnNpZ25lZCBoaSwgbG8sIHN0cmlkZTsKKwlzdGF0aWMgaW50IGRlYnVnX2xvb2t1cCA9IC0xOworCisJaWYgKGRlYnVnX2xvb2t1cCA8IDApCisJCWRlYnVnX2xvb2t1cCA9ICEhZ2V0ZW52KCJHSVRfREVCVUdfTE9PS1VQIik7CisKKwlpZiAoIWluZGV4KSB7CisJCWlmIChvcGVuX3BhY2tfaW5kZXgocCkpCisJCQlyZXR1cm4gMDsKKwkJbGV2ZWwxX29mcyA9IHAtPmluZGV4X2RhdGE7CisJCWluZGV4ID0gcC0+aW5kZXhfZGF0YTsKKwl9CisJaWYgKHAtPmluZGV4X3ZlcnNpb24gPiAxKSB7CisJCWxldmVsMV9vZnMgKz0gMjsKKwkJaW5kZXggKz0gODsKKwl9CisJaW5kZXggKz0gNCAqIDI1NjsKKwloaSA9IG50b2hsKGxldmVsMV9vZnNbKnNoYTFdKTsKKwlsbyA9ICgoKnNoYTEgPT0gMHgwKSA/IDAgOiBudG9obChsZXZlbDFfb2ZzWypzaGExIC0gMV0pKTsKKwlpZiAocC0+aW5kZXhfdmVyc2lvbiA+IDEpIHsKKwkJc3RyaWRlID0gMjA7CisJfSBlbHNlIHsKKwkJc3RyaWRlID0gMjQ7CisJCWluZGV4ICs9IDQ7CisJfQorCisJaWYgKGRlYnVnX2xvb2t1cCkKKwkJcHJpbnRmKCIlMDJ4JTAyeCUwMnguLi4gbG8gJXUgaGkgJXUgbnIgJSJQUkl1MzIiXG4iLAorCQkgICAgICAgc2hhMVswXSwgc2hhMVsxXSwgc2hhMVsyXSwgbG8sIGhpLCBwLT5udW1fb2JqZWN0cyk7CisKKwl3aGlsZSAobG8gPCBoaSkgeworCQl1bnNpZ25lZCBtaSA9IChsbyArIGhpKSAvIDI7CisJCWludCBjbXAgPSBoYXNoY21wKGluZGV4ICsgbWkgKiBzdHJpZGUsIHNoYTEpOworCisJCWlmIChkZWJ1Z19sb29rdXApCisJCQlwcmludGYoImxvICV1IGhpICV1IHJnICV1IG1pICV1XG4iLAorCQkJICAgICAgIGxvLCBoaSwgaGkgLSBsbywgbWkpOworCQlpZiAoIWNtcCkKKwkJCXJldHVybiBudGhfcGFja2VkX29iamVjdF9vZmZzZXQocCwgbWkpOworCQlpZiAoY21wID4gMCkKKwkJCWhpID0gbWk7CisJCWVsc2UKKwkJCWxvID0gbWkrMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCBpc19wYWNrX3ZhbGlkKHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQoreworCS8qIEFuIGFscmVhZHkgb3BlbiBwYWNrIGlzIGtub3duIHRvIGJlIHZhbGlkLiAqLworCWlmIChwLT5wYWNrX2ZkICE9IC0xKQorCQlyZXR1cm4gMTsKKworCS8qIElmIHRoZSBwYWNrIGhhcyBvbmUgd2luZG93IGNvbXBsZXRlbHkgY292ZXJpbmcgdGhlCisJICogZmlsZSBzaXplLCB0aGUgcGFjayBpcyBrbm93biB0byBiZSB2YWxpZCBldmVuIGlmCisJICogdGhlIGRlc2NyaXB0b3IgaXMgbm90IGN1cnJlbnRseSBvcGVuLgorCSAqLworCWlmIChwLT53aW5kb3dzKSB7CisJCXN0cnVjdCBwYWNrX3dpbmRvdyAqdyA9IHAtPndpbmRvd3M7CisKKwkJaWYgKCF3LT5vZmZzZXQgJiYgdy0+bGVuID09IHAtPnBhY2tfc2l6ZSkKKwkJCXJldHVybiAxOworCX0KKworCS8qIEZvcmNlIHRoZSBwYWNrIHRvIG9wZW4gdG8gcHJvdmUgaXRzIHZhbGlkLiAqLworCXJldHVybiAhb3Blbl9wYWNrZWRfZ2l0KHApOworfQorCitzdHJ1Y3QgcGFja2VkX2dpdCAqZmluZF9zaGExX3BhY2soY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCQkgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrcykKK3sKKwlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKKworCWZvciAocCA9IHBhY2tzOyBwOyBwID0gcC0+bmV4dCkgeworCQlpZiAoZmluZF9wYWNrX2VudHJ5X29uZShzaGExLCBwKSkKKwkJCXJldHVybiBwOworCX0KKwlyZXR1cm4gTlVMTDsKKworfQorCitzdGF0aWMgaW50IGZpbGxfcGFja19lbnRyeShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJICAgc3RydWN0IHBhY2tfZW50cnkgKmUsCisJCQkgICBzdHJ1Y3QgcGFja2VkX2dpdCAqcCkKK3sKKwlvZmZfdCBvZmZzZXQ7CisKKwlpZiAocC0+bnVtX2JhZF9vYmplY3RzKSB7CisJCXVuc2lnbmVkIGk7CisJCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fYmFkX29iamVjdHM7IGkrKykKKwkJCWlmICghaGFzaGNtcChzaGExLCBwLT5iYWRfb2JqZWN0X3NoYTEgKyAyMCAqIGkpKQorCQkJCXJldHVybiAwOworCX0KKworCW9mZnNldCA9IGZpbmRfcGFja19lbnRyeV9vbmUoc2hhMSwgcCk7CisJaWYgKCFvZmZzZXQpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBXZSBhcmUgYWJvdXQgdG8gdGVsbCB0aGUgY2FsbGVyIHdoZXJlIHRoZXkgY2FuIGxvY2F0ZSB0aGUKKwkgKiByZXF1ZXN0ZWQgb2JqZWN0LiAgV2UgYmV0dGVyIG1ha2Ugc3VyZSB0aGUgcGFja2ZpbGUgaXMKKwkgKiBzdGlsbCBoZXJlIGFuZCBjYW4gYmUgYWNjZXNzZWQgYmVmb3JlIHN1cHBseWluZyB0aGF0CisJICogYW5zd2VyLCBhcyBpdCBtYXkgaGF2ZSBiZWVuIGRlbGV0ZWQgc2luY2UgdGhlIGluZGV4IHdhcworCSAqIGxvYWRlZCEKKwkgKi8KKwlpZiAoIWlzX3BhY2tfdmFsaWQocCkpCisJCXJldHVybiAwOworCWUtPm9mZnNldCA9IG9mZnNldDsKKwllLT5wID0gcDsKKwloYXNoY3B5KGUtPnNoYTEsIHNoYTEpOworCXJldHVybiAxOworfQorCisvKgorICogSWZmIGEgcGFjayBmaWxlIGNvbnRhaW5zIHRoZSBvYmplY3QgbmFtZWQgYnkgc2hhMSwgcmV0dXJuIHRydWUgYW5kCisgKiBzdG9yZSBpdHMgbG9jYXRpb24gdG8gZS4KKyAqLworaW50IGZpbmRfcGFja19lbnRyeShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcGFja19lbnRyeSAqZSkKK3sKKwlzdHJ1Y3QgbXJ1X2VudHJ5ICpwOworCisJcHJlcGFyZV9wYWNrZWRfZ2l0KCk7CisJaWYgKCFwYWNrZWRfZ2l0KQorCQlyZXR1cm4gMDsKKworCWZvciAocCA9IHBhY2tlZF9naXRfbXJ1LmhlYWQ7IHA7IHAgPSBwLT5uZXh0KSB7CisJCWlmIChmaWxsX3BhY2tfZW50cnkoc2hhMSwgZSwgcC0+aXRlbSkpIHsKKwkJCW1ydV9tYXJrKCZwYWNrZWRfZ2l0X21ydSwgcCk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworaW50IGhhc19zaGExX3BhY2soY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3sKKwlzdHJ1Y3QgcGFja19lbnRyeSBlOworCXJldHVybiBmaW5kX3BhY2tfZW50cnkoc2hhMSwgJmUpOworfQorCitpbnQgaGFzX3BhY2tfaW5kZXgoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpZiAoc3RhdChzaGExX3BhY2tfaW5kZXhfbmFtZShzaGExKSwgJnN0KSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgZm9yX2VhY2hfb2JqZWN0X2luX3BhY2soc3RydWN0IHBhY2tlZF9naXQgKnAsIGVhY2hfcGFja2VkX29iamVjdF9mbiBjYiwgdm9pZCAqZGF0YSkKK3sKKwl1aW50MzJfdCBpOworCWludCByID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fb2JqZWN0czsgaSsrKSB7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCisJCWlmICghbnRoX3BhY2tlZF9vYmplY3Rfb2lkKCZvaWQsIHAsIGkpKQorCQkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gZ2V0IHNoYTEgb2Ygb2JqZWN0ICV1IGluICVzIiwKKwkJCQkgICAgIGksIHAtPnBhY2tfbmFtZSk7CisKKwkJciA9IGNiKCZvaWQsIHAsIGksIGRhdGEpOworCQlpZiAocikKKwkJCWJyZWFrOworCX0KKwlyZXR1cm4gcjsKK30KKworaW50IGZvcl9lYWNoX3BhY2tlZF9vYmplY3QoZWFjaF9wYWNrZWRfb2JqZWN0X2ZuIGNiLCB2b2lkICpkYXRhLCB1bnNpZ25lZCBmbGFncykKK3sKKwlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKKwlpbnQgciA9IDA7CisJaW50IHBhY2tfZXJyb3JzID0gMDsKKworCXByZXBhcmVfcGFja2VkX2dpdCgpOworCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KSB7CisJCWlmICgoZmxhZ3MgJiBGT1JfRUFDSF9PQkpFQ1RfTE9DQUxfT05MWSkgJiYgIXAtPnBhY2tfbG9jYWwpCisJCQljb250aW51ZTsKKwkJaWYgKG9wZW5fcGFja19pbmRleChwKSkgeworCQkJcGFja19lcnJvcnMgPSAxOworCQkJY29udGludWU7CisJCX0KKwkJciA9IGZvcl9lYWNoX29iamVjdF9pbl9wYWNrKHAsIGNiLCBkYXRhKTsKKwkJaWYgKHIpCisJCQlicmVhazsKKwl9CisJcmV0dXJuIHIgPyByIDogcGFja19lcnJvcnM7Cit9CmRpZmYgLS1naXQgYS9wYWNrZmlsZS5oIGIvcGFja2ZpbGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2RlYjU0Ci0tLSAvZGV2L251bGwKKysrIGIvcGFja2ZpbGUuaApAQCAtMCwwICsxLDEzOCBAQAorI2lmbmRlZiBQQUNLRklMRV9ICisjZGVmaW5lIFBBQ0tGSUxFX0gKKworLyoKKyAqIEdlbmVyYXRlIHRoZSBmaWxlbmFtZSB0byBiZSB1c2VkIGZvciBhIHBhY2sgZmlsZSB3aXRoIGNoZWNrc3VtICJzaGExIiBhbmQKKyAqIGV4dGVuc2lvbiAiZXh0Ii4gVGhlIHJlc3VsdCBpcyB3cml0dGVuIGludG8gdGhlIHN0cmJ1ZiAiYnVmIiwgb3ZlcndyaXRpbmcKKyAqIGFueSBleGlzdGluZyBjb250ZW50cy4gQSBwb2ludGVyIHRvIGJ1Zi0+YnVmIGlzIHJldHVybmVkIGFzIGEgY29udmVuaWVuY2UuCisgKgorICogRXhhbXBsZTogb2RiX3BhY2tfbmFtZShvdXQsIHNoYTEsICJpZHgiKSA9PiAiLmdpdC9vYmplY3RzL3BhY2svcGFjay0xMjM0Li5pZHgiCisgKi8KK2V4dGVybiBjaGFyICpvZGJfcGFja19uYW1lKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqZXh0KTsKKworLyoKKyAqIFJldHVybiB0aGUgbmFtZSBvZiB0aGUgKGxvY2FsKSBwYWNrZmlsZSB3aXRoIHRoZSBzcGVjaWZpZWQgc2hhMSBpbgorICogaXRzIG5hbWUuICBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgcG9pbnRlciB0byBtZW1vcnkgdGhhdCBpcworICogb3ZlcndyaXR0ZW4gZWFjaCB0aW1lIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLgorICovCitleHRlcm4gY2hhciAqc2hhMV9wYWNrX25hbWUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CisKKy8qCisgKiBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIChsb2NhbCkgcGFjayBpbmRleCBmaWxlIHdpdGggdGhlIHNwZWNpZmllZAorICogc2hhMSBpbiBpdHMgbmFtZS4gIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBwb2ludGVyIHRvIG1lbW9yeSB0aGF0IGlzCisgKiBvdmVyd3JpdHRlbiBlYWNoIHRpbWUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuCisgKi8KK2V4dGVybiBjaGFyICpzaGExX3BhY2tfaW5kZXhfbmFtZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKKworZXh0ZXJuIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYXJzZV9wYWNrX2luZGV4KHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmlkeF9wYXRoKTsKKworLyogQSBob29rIHRvIHJlcG9ydCBpbnZhbGlkIGZpbGVzIGluIHBhY2sgZGlyZWN0b3J5ICovCisjZGVmaW5lIFBBQ0tESVJfRklMRV9QQUNLIDEKKyNkZWZpbmUgUEFDS0RJUl9GSUxFX0lEWCAyCisjZGVmaW5lIFBBQ0tESVJfRklMRV9HQVJCQUdFIDQKK2V4dGVybiB2b2lkICgqcmVwb3J0X2dhcmJhZ2UpKHVuc2lnbmVkIHNlZW5fYml0cywgY29uc3QgY2hhciAqcGF0aCk7CisKK2V4dGVybiB2b2lkIHByZXBhcmVfcGFja2VkX2dpdCh2b2lkKTsKK2V4dGVybiB2b2lkIHJlcHJlcGFyZV9wYWNrZWRfZ2l0KHZvaWQpOworZXh0ZXJuIHZvaWQgaW5zdGFsbF9wYWNrZWRfZ2l0KHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrKTsKKworLyoKKyAqIEdpdmUgYSByb3VnaCBjb3VudCBvZiBvYmplY3RzIGluIHRoZSByZXBvc2l0b3J5LiBUaGlzIHNhY3JpZmljZXMgYWNjdXJhY3kKKyAqIGZvciBzcGVlZC4KKyAqLwordW5zaWduZWQgbG9uZyBhcHByb3hpbWF0ZV9vYmplY3RfY291bnQodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3QgcGFja2VkX2dpdCAqZmluZF9zaGExX3BhY2soY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCQkJIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrcyk7CisKK2V4dGVybiB2b2lkIHBhY2tfcmVwb3J0KHZvaWQpOworCisvKgorICogbW1hcCB0aGUgaW5kZXggZmlsZSBmb3IgdGhlIHNwZWNpZmllZCBwYWNrZmlsZSAoaWYgaXQgaXMgbm90CisgKiBhbHJlYWR5IG1tYXBwZWQpLiAgUmV0dXJuIDAgb24gc3VjY2Vzcy4KKyAqLworZXh0ZXJuIGludCBvcGVuX3BhY2tfaW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKik7CisKKy8qCisgKiBtdW5tYXAgdGhlIGluZGV4IGZpbGUgZm9yIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUgKGlmIGl0IGlzCisgKiBjdXJyZW50bHkgbW1hcHBlZCkuCisgKi8KK2V4dGVybiB2b2lkIGNsb3NlX3BhY2tfaW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKik7CisKK2V4dGVybiB1bnNpZ25lZCBjaGFyICp1c2VfcGFjayhzdHJ1Y3QgcGFja2VkX2dpdCAqLCBzdHJ1Y3QgcGFja193aW5kb3cgKiosIG9mZl90LCB1bnNpZ25lZCBsb25nICopOworZXh0ZXJuIHZvaWQgY2xvc2VfcGFja193aW5kb3dzKHN0cnVjdCBwYWNrZWRfZ2l0ICopOworZXh0ZXJuIHZvaWQgY2xvc2VfYWxsX3BhY2tzKHZvaWQpOworZXh0ZXJuIHZvaWQgdW51c2VfcGFjayhzdHJ1Y3QgcGFja193aW5kb3cgKiopOworZXh0ZXJuIHZvaWQgY2xlYXJfZGVsdGFfYmFzZV9jYWNoZSh2b2lkKTsKK2V4dGVybiBzdHJ1Y3QgcGFja2VkX2dpdCAqYWRkX3BhY2tlZF9naXQoY29uc3QgY2hhciAqcGF0aCwgc2l6ZV90IHBhdGhfbGVuLCBpbnQgbG9jYWwpOworCisvKgorICogTWFrZSBzdXJlIHRoYXQgYSBwb2ludGVyIGFjY2VzcyBpbnRvIGFuIG1tYXAnZCBpbmRleCBmaWxlIGlzIHdpdGhpbiBib3VuZHMsCisgKiBhbmQgY2FuIHByb3ZpZGUgYXQgbGVhc3QgOCBieXRlcyBvZiBkYXRhLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGZvciB2YXJpYWJsZS1sZW5ndGggc2VnbWVudHMgb2YgdGhlIGZpbGUKKyAqIChsaWtlIHRoZSA2NC1iaXQgZXh0ZW5kZWQgb2Zmc2V0IHRhYmxlKSwgYXMgd2UgY29tcGFyZSB0aGUgc2l6ZSB0byB0aGUKKyAqIGZpeGVkLWxlbmd0aCBwYXJ0cyB3aGVuIHdlIG9wZW4gdGhlIGZpbGUuCisgKi8KK2V4dGVybiB2b2lkIGNoZWNrX3BhY2tfaW5kZXhfcHRyKGNvbnN0IHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBjb25zdCB2b2lkICpwdHIpOworCisvKgorICogUmV0dXJuIHRoZSBTSEEtMSBvZiB0aGUgbnRoIG9iamVjdCB3aXRoaW4gdGhlIHNwZWNpZmllZCBwYWNrZmlsZS4KKyAqIE9wZW4gdGhlIGluZGV4IGlmIGl0IGlzIG5vdCBhbHJlYWR5IG9wZW4uICBUaGUgcmV0dXJuIHZhbHVlIHBvaW50cworICogYXQgdGhlIFNIQS0xIHdpdGhpbiB0aGUgbW1hcHBlZCBpbmRleC4gIFJldHVybiBOVUxMIGlmIHRoZXJlIGlzIGFuCisgKiBlcnJvci4KKyAqLworZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm50aF9wYWNrZWRfb2JqZWN0X3NoYTEoc3RydWN0IHBhY2tlZF9naXQgKiwgdWludDMyX3Qgbik7CisvKgorICogTGlrZSBudGhfcGFja2VkX29iamVjdF9zaGExLCBidXQgd3JpdGUgdGhlIGRhdGEgaW50byB0aGUgb2JqZWN0IHNwZWNpZmllZCBieQorICogdGhlIHRoZSBmaXJzdCBhcmd1bWVudC4gIFJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IG9uIHN1Y2Nlc3MsIGFuZCBOVUxMIG9uCisgKiBlcnJvci4KKyAqLworZXh0ZXJuIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm50aF9wYWNrZWRfb2JqZWN0X29pZChzdHJ1Y3Qgb2JqZWN0X2lkICosIHN0cnVjdCBwYWNrZWRfZ2l0ICosIHVpbnQzMl90IG4pOworCisvKgorICogUmV0dXJuIHRoZSBvZmZzZXQgb2YgdGhlIG50aCBvYmplY3Qgd2l0aGluIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUuCisgKiBUaGUgaW5kZXggbXVzdCBhbHJlYWR5IGJlIG9wZW5lZC4KKyAqLworZXh0ZXJuIG9mZl90IG50aF9wYWNrZWRfb2JqZWN0X29mZnNldChjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqLCB1aW50MzJfdCBuKTsKKworLyoKKyAqIElmIHRoZSBvYmplY3QgbmFtZWQgc2hhMSBpcyBwcmVzZW50IGluIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUsCisgKiByZXR1cm4gaXRzIG9mZnNldCB3aXRoaW4gdGhlIHBhY2tmaWxlOyBvdGhlcndpc2UsIHJldHVybiAwLgorICovCitleHRlcm4gb2ZmX3QgZmluZF9wYWNrX2VudHJ5X29uZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKKworZXh0ZXJuIGludCBpc19wYWNrX3ZhbGlkKHN0cnVjdCBwYWNrZWRfZ2l0ICopOworZXh0ZXJuIHZvaWQgKnVucGFja19lbnRyeShzdHJ1Y3QgcGFja2VkX2dpdCAqLCBvZmZfdCwgZW51bSBvYmplY3RfdHlwZSAqLCB1bnNpZ25lZCBsb25nICopOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdW5wYWNrX29iamVjdF9oZWFkZXJfYnVmZmVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4sIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemVwKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGdldF9zaXplX2Zyb21fZGVsdGEoc3RydWN0IHBhY2tlZF9naXQgKiwgc3RydWN0IHBhY2tfd2luZG93ICoqLCBvZmZfdCk7CitleHRlcm4gaW50IHVucGFja19vYmplY3RfaGVhZGVyKHN0cnVjdCBwYWNrZWRfZ2l0ICosIHN0cnVjdCBwYWNrX3dpbmRvdyAqKiwgb2ZmX3QgKiwgdW5zaWduZWQgbG9uZyAqKTsKKworZXh0ZXJuIHZvaWQgcmVsZWFzZV9wYWNrX21lbW9yeShzaXplX3QpOworCisvKiBnbG9iYWwgZmxhZyB0byBlbmFibGUgZXh0cmEgY2hlY2tzIHdoZW4gYWNjZXNzaW5nIHBhY2tlZCBvYmplY3RzICovCitleHRlcm4gaW50IGRvX2NoZWNrX3BhY2tlZF9vYmplY3RfY3JjOworCitleHRlcm4gaW50IHBhY2tlZF9vYmplY3RfaW5mbyhzdHJ1Y3QgcGFja2VkX2dpdCAqcGFjaywgb2ZmX3Qgb2Zmc2V0LCBzdHJ1Y3Qgb2JqZWN0X2luZm8gKik7CisKK2V4dGVybiB2b2lkIG1hcmtfYmFkX3BhY2tlZF9vYmplY3Qoc3RydWN0IHBhY2tlZF9naXQgKnAsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBwYWNrZWRfZ2l0ICpoYXNfcGFja2VkX2FuZF9iYWQoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CisKK2V4dGVybiBpbnQgZmluZF9wYWNrX2VudHJ5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCBwYWNrX2VudHJ5ICplKTsKKworZXh0ZXJuIGludCBoYXNfc2hhMV9wYWNrKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworCitleHRlcm4gaW50IGhhc19wYWNrX2luZGV4KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworCisvKgorICogSXRlcmF0ZSBvdmVyIHBhY2tlZCBvYmplY3RzIGluIGJvdGggdGhlIGxvY2FsCisgKiByZXBvc2l0b3J5IGFuZCBhbnkgYWx0ZXJuYXRlcyByZXBvc2l0b3JpZXMgKHVubGVzcyB0aGUKKyAqIEZPUl9FQUNIX09CSkVDVF9MT0NBTF9PTkxZIGZsYWcsIGRlZmluZWQgaW4gY2FjaGUuaCwgaXMgc2V0KS4KKyAqLwordHlwZWRlZiBpbnQgZWFjaF9wYWNrZWRfb2JqZWN0X2ZuKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCQkgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrLAorCQkJCSAgdWludDMyX3QgcG9zLAorCQkJCSAgdm9pZCAqZGF0YSk7CitleHRlcm4gaW50IGZvcl9lYWNoX3BhY2tlZF9vYmplY3QoZWFjaF9wYWNrZWRfb2JqZWN0X2ZuLCB2b2lkICosIHVuc2lnbmVkIGZsYWdzKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9wYWdlci5jIGIvcGFnZXIuYwppbmRleCBhZTc5NjQzLi45MmIyM2U2IDEwMDY0NAotLS0gYS9wYWdlci5jCisrKyBiL3BhZ2VyLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgInNpZ2NoYWluLmgiCiAKQEAgLTQzLDM3ICs0NCw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHJlYWRfZWFybHlfY29uZmlnKGNvbmZpZ19mbl90IGNiLCB2b2lkICpkYXRhKQotewotCWdpdF9jb25maWdfd2l0aF9vcHRpb25zKGNiLCBkYXRhLCBOVUxMLCAxKTsKLQotCS8qCi0JICogTm90ZSB0aGF0IHRoaXMgaXMgYSByZWFsbHkgZGlydHkgaGFjayB0aGF0IGRvZXMgdGhlIHdyb25nIHRoaW5nIGluCi0JICogbWFueSBjYXNlcy4gVGhlIGNydXggb2YgdGhlIHByb2JsZW0gaXMgdGhhdCB3ZSBjYW5ub3QgcnVuCi0JICogc2V0dXBfZ2l0X2RpcmVjdG9yeSgpIGVhcmx5IG9uIGluIGdpdCdzIHNldHVwLCBzbyB3ZSBoYXZlIG5vIGlkZWEgaWYKLQkgKiB3ZSBhcmUgaW4gYSByZXBvc2l0b3J5IG9yIG5vdCwgYW5kIHRoZXJlZm9yZSBhcmUgbm90IHN1cmUgd2hldGhlcgotCSAqIGFuZCBob3cgdG8gcmVhZCByZXBvc2l0b3J5LWxvY2FsIGNvbmZpZy4KLQkgKgotCSAqIFNvIGlmIHdlIF9hcmVuJ3RfIGluIGEgcmVwb3NpdG9yeSAob3Igd2UgYXJlIGJ1dCB3ZSB3b3VsZCByZWplY3QgaXRzCi0JICogY29yZS5yZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiksIHdlJ2xsIHJlYWQgd2hhdGV2ZXIgaXMgaW4gLmdpdC9jb25maWcKLQkgKiBibGluZGx5LiBTaW1pbGFybHksIGlmIHdlIF9hcmVfIGluIGEgcmVwb3NpdG9yeSwgYnV0IG5vdCBhdCB0aGUKLQkgKiByb290LCB3ZSdsbCBmYWlsIHRvIGZpbmQgLmdpdC9jb25maWcgKGJlY2F1c2UgaXQncyByZWFsbHkKLQkgKiAuLi8uZ2l0L2NvbmZpZywgZXRjKS4gU2VlIHQ3MDA2IGZvciBhIGNvbXBsZXRlIHNldCBvZiBmYWlsdXJlcy4KLQkgKgotCSAqIEhvd2V2ZXIsIHdlIGhhdmUgaGlzdG9yaWNhbGx5IHByb3ZpZGVkIHRoaXMgaGFjayBiZWNhdXNlIGl0IGRvZXMKLQkgKiB3b3JrIHNvbWUgb2YgdGhlIHRpbWUgKG5hbWVseSB3aGVuIHlvdSBhcmUgYXQgdGhlIHRvcC1sZXZlbCBvZiBhCi0JICogdmFsaWQgcmVwb3NpdG9yeSksIGFuZCB3b3VsZCByYXJlbHkgbWFrZSB0aGluZ3Mgd29yc2UgKGkuZS4sIHlvdSBkbwotCSAqIG5vdCBnZW5lcmFsbHkgaGF2ZSBhIC5naXQvY29uZmlnIGZpbGUgc2l0dGluZyBhcm91bmQpLgotCSAqLwotCWlmICghc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkpIHsKLQkJc3RydWN0IGdpdF9jb25maWdfc291cmNlIHJlcG9fY29uZmlnOwotCi0JCW1lbXNldCgmcmVwb19jb25maWcsIDAsIHNpemVvZihyZXBvX2NvbmZpZykpOwotCQlyZXBvX2NvbmZpZy5maWxlID0gIi5naXQvY29uZmlnIjsKLQkJZ2l0X2NvbmZpZ193aXRoX29wdGlvbnMoY2IsIGRhdGEsICZyZXBvX2NvbmZpZywgMSk7Ci0JfQotfQotCiBjb25zdCBjaGFyICpnaXRfcGFnZXIoaW50IHN0ZG91dF9pc190dHkpCiB7CiAJY29uc3QgY2hhciAqcGFnZXI7CkBAIC0xNjYsOSArMTM2LDcgQEAKIAogaW50IHBhZ2VyX2luX3VzZSh2b2lkKQogewotCWNvbnN0IGNoYXIgKmVudjsKLQllbnYgPSBnZXRlbnYoIkdJVF9QQUdFUl9JTl9VU0UiKTsKLQlyZXR1cm4gZW52ID8gZ2l0X2NvbmZpZ19ib29sKCJHSVRfUEFHRVJfSU5fVVNFIiwgZW52KSA6IDA7CisJcmV0dXJuIGdpdF9lbnZfYm9vbCgiR0lUX1BBR0VSX0lOX1VTRSIsIDApOwogfQogCiAvKgpAQCAtMjI2LDcgKzE5NCw3IEBACiAJY29uc3QgY2hhciAqY21kOwogCiAJaWYgKHNraXBfcHJlZml4KHZhciwgInBhZ2VyLiIsICZjbWQpICYmICFzdHJjbXAoY21kLCBkYXRhLT5jbWQpKSB7Ci0JCWludCBiID0gZ2l0X2NvbmZpZ19tYXliZV9ib29sKHZhciwgdmFsdWUpOworCQlpbnQgYiA9IGdpdF9wYXJzZV9tYXliZV9ib29sKHZhbHVlKTsKIAkJaWYgKGIgPj0gMCkKIAkJCWRhdGEtPndhbnQgPSBiOwogCQllbHNlIHsKZGlmZiAtLWdpdCBhL3BhcnNlLW9wdGlvbnMtY2IuYyBiL3BhcnNlLW9wdGlvbnMtY2IuYwppbmRleCBiN2Q4ZjdkLi5jNjY3OWNiIDEwMDY0NAotLS0gYS9wYXJzZS1vcHRpb25zLWNiLmMKKysrIGIvcGFyc2Utb3B0aW9ucy1jYi5jCkBAIC0zMSwxNCArMzEsMTQgQEAKIGludCBwYXJzZV9vcHRfYXBwcm94aWRhdGVfY2IoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsCiAJCQkgICAgIGludCB1bnNldCkKIHsKLQkqKHVuc2lnbmVkIGxvbmcgKikob3B0LT52YWx1ZSkgPSBhcHByb3hpZGF0ZShhcmcpOworCSoodGltZXN0YW1wX3QgKikob3B0LT52YWx1ZSkgPSBhcHByb3hpZGF0ZShhcmcpOwogCXJldHVybiAwOwogfQogCiBpbnQgcGFyc2Vfb3B0X2V4cGlyeV9kYXRlX2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqYXJnLAogCQkJICAgICBpbnQgdW5zZXQpCiB7Ci0JcmV0dXJuIHBhcnNlX2V4cGlyeV9kYXRlKGFyZywgKHVuc2lnbmVkIGxvbmcgKilvcHQtPnZhbHVlKTsKKwlyZXR1cm4gcGFyc2VfZXhwaXJ5X2RhdGUoYXJnLCAodGltZXN0YW1wX3QgKilvcHQtPnZhbHVlKTsKIH0KIAogaW50IHBhcnNlX29wdF9jb2xvcl9mbGFnX2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqYXJnLApAQCAtODAsMTQgKzgwLDE0IEBACiAKIGludCBwYXJzZV9vcHRfY29tbWl0cyhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogewotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCiAJaWYgKCFhcmcpCiAJCXJldHVybiAtMTsKLQlpZiAoZ2V0X3NoYTEoYXJnLCBzaGExKSkKKwlpZiAoZ2V0X29pZChhcmcsICZvaWQpKQogCQlyZXR1cm4gZXJyb3IoIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIsIGFyZyk7Ci0JY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7CisJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJm9pZCk7CiAJaWYgKCFjb21taXQpCiAJCXJldHVybiBlcnJvcigibm8gc3VjaCBjb21taXQgJXMiLCBhcmcpOwogCWNvbW1pdF9saXN0X2luc2VydChjb21taXQsIG9wdC0+dmFsdWUpOwpAQCAtOTYsMTcgKzk2LDE3IEBACiAKIGludCBwYXJzZV9vcHRfb2JqZWN0X25hbWUoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJaWYgKHVuc2V0KSB7Ci0JCXNoYTFfYXJyYXlfY2xlYXIob3B0LT52YWx1ZSk7CisJCW9pZF9hcnJheV9jbGVhcihvcHQtPnZhbHVlKTsKIAkJcmV0dXJuIDA7CiAJfQogCWlmICghYXJnKQogCQlyZXR1cm4gLTE7Ci0JaWYgKGdldF9zaGExKGFyZywgc2hhMSkpCisJaWYgKGdldF9vaWQoYXJnLCAmb2lkKSkKIAkJcmV0dXJuIGVycm9yKF8oIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIiksIGFyZyk7Ci0Jc2hhMV9hcnJheV9hcHBlbmQob3B0LT52YWx1ZSwgc2hhMSk7CisJb2lkX2FycmF5X2FwcGVuZChvcHQtPnZhbHVlLCAmb2lkKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvcGFyc2Utb3B0aW9ucy5jIGIvcGFyc2Utb3B0aW9ucy5jCmluZGV4IDRmYmU5MjQuLmZjYTcxNTkgMTAwNjQ0Ci0tLSBhL3BhcnNlLW9wdGlvbnMuYworKysgYi9wYXJzZS1vcHRpb25zLmMKQEAgLTEsNiArMSw3IEBACiAjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAiY29sb3IuaCIKICNpbmNsdWRlICJ1dGY4LmgiCkBAIC00MCw3ICs0MSw3IEBACiAJaWYgKCFmaWxlIHx8ICEqZmlsZSB8fCAhcHJlZml4IHx8IGlzX2Fic29sdXRlX3BhdGgoKmZpbGUpCiAJICAgIHx8ICFzdHJjbXAoIi0iLCAqZmlsZSkpCiAJCXJldHVybjsKLQkqZmlsZSA9IHhzdHJkdXAocHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgc3RybGVuKHByZWZpeCksICpmaWxlKSk7CisJKmZpbGUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCAqZmlsZSk7CiB9CiAKIHN0YXRpYyBpbnQgb3B0X2NvbW1hbmRfbW9kZV9lcnJvcihjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCkBAIC01ODAsNiArNTgxLDcgQEAKIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0cywgaW50IGZ1bGwsIGludCBlcnIpCiB7CiAJRklMRSAqb3V0ZmlsZSA9IGVyciA/IHN0ZGVyciA6IHN0ZG91dDsKKwlpbnQgbmVlZF9uZXdsaW5lOwogCiAJaWYgKCF1c2FnZXN0cikKIAkJcmV0dXJuIFBBUlNFX09QVF9IRUxQOwpAQCAtNTg5LDE5ICs1OTEsMjAgQEAKIAogCWZwcmludGZfbG4ob3V0ZmlsZSwgXygidXNhZ2U6ICVzIiksIF8oKnVzYWdlc3RyKyspKTsKIAl3aGlsZSAoKnVzYWdlc3RyICYmICoqdXNhZ2VzdHIpCi0JCS8qIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKLQkJICAgb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uICovCisJCS8qCisJCSAqIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKKwkJICogb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgorCQkgKi8KIAkJZnByaW50Zl9sbihvdXRmaWxlLCBfKCIgICBvcjogJXMiKSwgXygqdXNhZ2VzdHIrKykpOwogCXdoaWxlICgqdXNhZ2VzdHIpIHsKIAkJaWYgKCoqdXNhZ2VzdHIpCiAJCQlmcHJpbnRmX2xuKG91dGZpbGUsIF8oIiAgICAlcyIpLCBfKCp1c2FnZXN0cikpOwogCQllbHNlCi0JCQlwdXRjaGFyKCdcbicpOworCQkJZnB1dGMoJ1xuJywgb3V0ZmlsZSk7CiAJCXVzYWdlc3RyKys7CiAJfQogCi0JaWYgKG9wdHMtPnR5cGUgIT0gT1BUSU9OX0dST1VQKQotCQlmcHV0YygnXG4nLCBvdXRmaWxlKTsKKwluZWVkX25ld2xpbmUgPSAxOwogCiAJZm9yICg7IG9wdHMtPnR5cGUgIT0gT1BUSU9OX0VORDsgb3B0cysrKSB7CiAJCXNpemVfdCBwb3M7CkBAIC02MDksNiArNjEyLDcgQEAKIAogCQlpZiAob3B0cy0+dHlwZSA9PSBPUFRJT05fR1JPVVApIHsKIAkJCWZwdXRjKCdcbicsIG91dGZpbGUpOworCQkJbmVlZF9uZXdsaW5lID0gMDsKIAkJCWlmICgqb3B0cy0+aGVscCkKIAkJCQlmcHJpbnRmKG91dGZpbGUsICIlc1xuIiwgXyhvcHRzLT5oZWxwKSk7CiAJCQljb250aW51ZTsKQEAgLTYxNiw2ICs2MjAsMTEgQEAKIAkJaWYgKCFmdWxsICYmIChvcHRzLT5mbGFncyAmIFBBUlNFX09QVF9ISURERU4pKQogCQkJY29udGludWU7CiAKKwkJaWYgKG5lZWRfbmV3bGluZSkgeworCQkJZnB1dGMoJ1xuJywgb3V0ZmlsZSk7CisJCQluZWVkX25ld2xpbmUgPSAwOworCQl9CisKIAkJcG9zID0gZnByaW50ZihvdXRmaWxlLCAiICAgICIpOwogCQlpZiAob3B0cy0+c2hvcnRfbmFtZSkgewogCQkJaWYgKG9wdHMtPmZsYWdzICYgUEFSU0VfT1BUX05PREFTSCkKZGlmZiAtLWdpdCBhL3BhcnNlLW9wdGlvbnMuaCBiL3BhcnNlLW9wdGlvbnMuaAppbmRleCBkY2Q4YTA5Li5hZjcxMTIyIDEwMDY0NAotLS0gYS9wYXJzZS1vcHRpb25zLmgKKysrIGIvcGFyc2Utb3B0aW9ucy5oCkBAIC0yNTgsNyArMjU4LDkgQEAKIAkgIFBBUlNFX09QVF9MQVNUQVJHX0RFRkFVTFQgfCBmbGFnLCBcCiAJICBwYXJzZV9vcHRfY29tbWl0cywgKGludHB0cl90KSAiSEVBRCIgXAogCX0KLSNkZWZpbmUgT1BUX0NPTlRBSU5TKHYsIGgpIF9PUFRfQ09OVEFJTlNfT1JfV0lUSCgiY29udGFpbnMiLCB2LCBoLCAwKQotI2RlZmluZSBPUFRfV0lUSCh2LCBoKSBfT1BUX0NPTlRBSU5TX09SX1dJVEgoIndpdGgiLCB2LCBoLCBQQVJTRV9PUFRfSElEREVOKQorI2RlZmluZSBPUFRfQ09OVEFJTlModiwgaCkgX09QVF9DT05UQUlOU19PUl9XSVRIKCJjb250YWlucyIsIHYsIGgsIFBBUlNFX09QVF9OT05FRykKKyNkZWZpbmUgT1BUX05PX0NPTlRBSU5TKHYsIGgpIF9PUFRfQ09OVEFJTlNfT1JfV0lUSCgibm8tY29udGFpbnMiLCB2LCBoLCBQQVJTRV9PUFRfTk9ORUcpCisjZGVmaW5lIE9QVF9XSVRIKHYsIGgpIF9PUFRfQ09OVEFJTlNfT1JfV0lUSCgid2l0aCIsIHYsIGgsIFBBUlNFX09QVF9ISURERU4gfCBQQVJTRV9PUFRfTk9ORUcpCisjZGVmaW5lIE9QVF9XSVRIT1VUKHYsIGgpIF9PUFRfQ09OVEFJTlNfT1JfV0lUSCgid2l0aG91dCIsIHYsIGgsIFBBUlNFX09QVF9ISURERU4gfCBQQVJTRV9PUFRfTk9ORUcpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvcGF0Y2gtaWRzLmMgYi9wYXRjaC1pZHMuYwppbmRleCBjZTI4NWMyLi43YTU4M2IzIDEwMDY0NAotLS0gYS9wYXRjaC1pZHMuYworKysgYi9wYXRjaC1pZHMuYwpAQCAtMTEsMTggKzExLDE4IEBACiB9CiAKIGludCBjb21taXRfcGF0Y2hfaWQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAotCQkgICAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGRpZmZfaGVhZGVyX29ubHkpCisJCSAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBkaWZmX2hlYWRlcl9vbmx5KQogewogCWlmICghcGF0Y2hfaWRfZGVmaW5lZChjb21taXQpKQogCQlyZXR1cm4gLTE7CiAKIAlpZiAoY29tbWl0LT5wYXJlbnRzKQotCQlkaWZmX3RyZWVfc2hhMShjb21taXQtPnBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwKLQkJCSAgICAgICBjb21taXQtPm9iamVjdC5vaWQuaGFzaCwgIiIsIG9wdGlvbnMpOworCQlkaWZmX3RyZWVfb2lkKCZjb21taXQtPnBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQsCisJCQkgICAgICAmY29tbWl0LT5vYmplY3Qub2lkLCAiIiwgb3B0aW9ucyk7CiAJZWxzZQotCQlkaWZmX3Jvb3RfdHJlZV9zaGExKGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCAiIiwgb3B0aW9ucyk7CisJCWRpZmZfcm9vdF90cmVlX29pZCgmY29tbWl0LT5vYmplY3Qub2lkLCAiIiwgb3B0aW9ucyk7CiAJZGlmZmNvcmVfc3RkKG9wdGlvbnMpOwotCXJldHVybiBkaWZmX2ZsdXNoX3BhdGNoX2lkKG9wdGlvbnMsIHNoYTEsIGRpZmZfaGVhZGVyX29ubHkpOworCXJldHVybiBkaWZmX2ZsdXNoX3BhdGNoX2lkKG9wdGlvbnMsIG9pZCwgZGlmZl9oZWFkZXJfb25seSk7CiB9CiAKIC8qCkBAIC0zNSwxOSArMzUsMjUgQEAKICAqIHRoZSBzaWRlIG9mIHNhZmV0eS4gIFRoZSBhY3R1YWwgdmFsdWUgYmVpbmcgbmVnYXRpdmUgZG9lcyBub3QgaGF2ZQogICogYW55IHNpZ25pZmljYW5jZTsgb25seSB0aGF0IGl0IGlzIG5vbi16ZXJvIG1hdHRlcnMuCiAgKi8KLXN0YXRpYyBpbnQgcGF0Y2hfaWRfY21wKHN0cnVjdCBwYXRjaF9pZCAqYSwKLQkJCXN0cnVjdCBwYXRjaF9pZCAqYiwKLQkJCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKK3N0YXRpYyBpbnQgcGF0Y2hfaWRfY21wKGNvbnN0IHZvaWQgKmNtcGZuX2RhdGEsCisJCQljb25zdCB2b2lkICplbnRyeSwKKwkJCWNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJCWNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKQogewotCWlmIChpc19udWxsX3NoYTEoYS0+cGF0Y2hfaWQpICYmCi0JICAgIGNvbW1pdF9wYXRjaF9pZChhLT5jb21taXQsIG9wdCwgYS0+cGF0Y2hfaWQsIDApKQorCS8qIE5FRURTV09SSzogY29uc3QgY29ycmVjdG5lc3M/ICovCisJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0ID0gKHZvaWQgKiljbXBmbl9kYXRhOworCXN0cnVjdCBwYXRjaF9pZCAqYSA9ICh2b2lkICopZW50cnk7CisJc3RydWN0IHBhdGNoX2lkICpiID0gKHZvaWQgKillbnRyeV9vcl9rZXk7CisKKwlpZiAoaXNfbnVsbF9vaWQoJmEtPnBhdGNoX2lkKSAmJgorCSAgICBjb21taXRfcGF0Y2hfaWQoYS0+Y29tbWl0LCBvcHQsICZhLT5wYXRjaF9pZCwgMCkpCiAJCXJldHVybiBlcnJvcigiQ291bGQgbm90IGdldCBwYXRjaCBJRCBmb3IgJXMiLAogCQkJb2lkX3RvX2hleCgmYS0+Y29tbWl0LT5vYmplY3Qub2lkKSk7Ci0JaWYgKGlzX251bGxfc2hhMShiLT5wYXRjaF9pZCkgJiYKLQkgICAgY29tbWl0X3BhdGNoX2lkKGItPmNvbW1pdCwgb3B0LCBiLT5wYXRjaF9pZCwgMCkpCisJaWYgKGlzX251bGxfb2lkKCZiLT5wYXRjaF9pZCkgJiYKKwkgICAgY29tbWl0X3BhdGNoX2lkKGItPmNvbW1pdCwgb3B0LCAmYi0+cGF0Y2hfaWQsIDApKQogCQlyZXR1cm4gZXJyb3IoIkNvdWxkIG5vdCBnZXQgcGF0Y2ggSUQgZm9yICVzIiwKIAkJCW9pZF90b19oZXgoJmItPmNvbW1pdC0+b2JqZWN0Lm9pZCkpOwotCXJldHVybiBoYXNoY21wKGEtPnBhdGNoX2lkLCBiLT5wYXRjaF9pZCk7CisJcmV0dXJuIG9pZGNtcCgmYS0+cGF0Y2hfaWQsICZiLT5wYXRjaF9pZCk7CiB9CiAKIGludCBpbml0X3BhdGNoX2lkcyhzdHJ1Y3QgcGF0Y2hfaWRzICppZHMpCkBAIC01Nyw3ICs2Myw3IEBACiAJaWRzLT5kaWZmb3B0cy5kZXRlY3RfcmVuYW1lID0gMDsKIAlESUZGX09QVF9TRVQoJmlkcy0+ZGlmZm9wdHMsIFJFQ1VSU0lWRSk7CiAJZGlmZl9zZXR1cF9kb25lKCZpZHMtPmRpZmZvcHRzKTsKLQloYXNobWFwX2luaXQoJmlkcy0+cGF0Y2hlcywgKGhhc2htYXBfY21wX2ZuKXBhdGNoX2lkX2NtcCwgMjU2KTsKKwloYXNobWFwX2luaXQoJmlkcy0+cGF0Y2hlcywgcGF0Y2hfaWRfY21wLCAmaWRzLT5kaWZmb3B0cywgMjU2KTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzEsMTMgKzc3LDEzIEBACiAJCQkgICAgICAgc3RydWN0IGNvbW1pdCAqY29tbWl0LAogCQkJICAgICAgIHN0cnVjdCBwYXRjaF9pZHMgKmlkcykKIHsKLQl1bnNpZ25lZCBjaGFyIGhlYWRlcl9vbmx5X3BhdGNoX2lkW0dJVF9TSEExX1JBV1NaXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWRlcl9vbmx5X3BhdGNoX2lkOwogCiAJcGF0Y2gtPmNvbW1pdCA9IGNvbW1pdDsKLQlpZiAoY29tbWl0X3BhdGNoX2lkKGNvbW1pdCwgJmlkcy0+ZGlmZm9wdHMsIGhlYWRlcl9vbmx5X3BhdGNoX2lkLCAxKSkKKwlpZiAoY29tbWl0X3BhdGNoX2lkKGNvbW1pdCwgJmlkcy0+ZGlmZm9wdHMsICZoZWFkZXJfb25seV9wYXRjaF9pZCwgMSkpCiAJCXJldHVybiAtMTsKIAotCWhhc2htYXBfZW50cnlfaW5pdChwYXRjaCwgc2hhMWhhc2goaGVhZGVyX29ubHlfcGF0Y2hfaWQpKTsKKwloYXNobWFwX2VudHJ5X2luaXQocGF0Y2gsIHNoYTFoYXNoKGhlYWRlcl9vbmx5X3BhdGNoX2lkLmhhc2gpKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtOTMsMTcgKzk5LDE4IEBACiAJaWYgKGluaXRfcGF0Y2hfaWRfZW50cnkoJnBhdGNoLCBjb21taXQsIGlkcykpCiAJCXJldHVybiBOVUxMOwogCi0JcmV0dXJuIGhhc2htYXBfZ2V0KCZpZHMtPnBhdGNoZXMsICZwYXRjaCwgJmlkcy0+ZGlmZm9wdHMpOworCXJldHVybiBoYXNobWFwX2dldCgmaWRzLT5wYXRjaGVzLCAmcGF0Y2gsIE5VTEwpOwogfQogCiBzdHJ1Y3QgcGF0Y2hfaWQgKmFkZF9jb21taXRfcGF0Y2hfaWQoc3RydWN0IGNvbW1pdCAqY29tbWl0LAogCQkJCSAgICAgc3RydWN0IHBhdGNoX2lkcyAqaWRzKQogewotCXN0cnVjdCBwYXRjaF9pZCAqa2V5ID0geGNhbGxvYygxLCBzaXplb2YoKmtleSkpOworCXN0cnVjdCBwYXRjaF9pZCAqa2V5OwogCiAJaWYgKCFwYXRjaF9pZF9kZWZpbmVkKGNvbW1pdCkpCiAJCXJldHVybiBOVUxMOwogCisJa2V5ID0geGNhbGxvYygxLCBzaXplb2YoKmtleSkpOwogCWlmIChpbml0X3BhdGNoX2lkX2VudHJ5KGtleSwgY29tbWl0LCBpZHMpKSB7CiAJCWZyZWUoa2V5KTsKIAkJcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9wYXRjaC1pZHMuaCBiL3BhdGNoLWlkcy5oCmluZGV4IDBmMzRlYTEuLmJlYzBmNzIgMTAwNjQ0Ci0tLSBhL3BhdGNoLWlkcy5oCisrKyBiL3BhdGNoLWlkcy5oCkBAIC0zLDcgKzMsNyBAQAogCiBzdHJ1Y3QgcGF0Y2hfaWQgewogCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsKLQl1bnNpZ25lZCBjaGFyIHBhdGNoX2lkW0dJVF9TSEExX1JBV1NaXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHBhdGNoX2lkOwogCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIH07CiAKQEAgLTEzLDcgKzEzLDcgQEAKIH07CiAKIGludCBjb21taXRfcGF0Y2hfaWQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAotCQkgICAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50KTsKKwkJICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50KTsKIGludCBpbml0X3BhdGNoX2lkcyhzdHJ1Y3QgcGF0Y2hfaWRzICopOwogaW50IGZyZWVfcGF0Y2hfaWRzKHN0cnVjdCBwYXRjaF9pZHMgKik7CiBzdHJ1Y3QgcGF0Y2hfaWQgKmFkZF9jb21taXRfcGF0Y2hfaWQoc3RydWN0IGNvbW1pdCAqLCBzdHJ1Y3QgcGF0Y2hfaWRzICopOwpkaWZmIC0tZ2l0IGEvcGF0aC5jIGIvcGF0aC5jCmluZGV4IDg5N2IzNDEuLjAwZWMwNGUgMTAwNjQ0Ci0tLSBhL3BhdGguYworKysgYi9wYXRoLmMKQEAgLTIsMTEgKzIsMTQgQEAKICAqIFV0aWxpdGllcyBmb3IgcGF0aHMgYW5kIHBhdGhuYW1lcwogICovCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJ3b3JrdHJlZS5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS1jb25maWcuaCIKKyNpbmNsdWRlICJwYXRoLmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogc3RhdGljIGludCBnZXRfc3RfbW9kZV9iaXRzKGNvbnN0IGNoYXIgKnBhdGgsIGludCAqbW9kZSkKIHsKQEAgLTM0Myw4ICszNDYsNiBAQAogewogCWNoYXIgKmJhc2UgPSBidWYtPmJ1ZiArIGdpdF9kaXJfbGVuOwogCWluaXRfY29tbW9uX3RyaWUoKTsKLQlpZiAoIWNvbW1vbl9kaXIpCi0JCWNvbW1vbl9kaXIgPSBnZXRfZ2l0X2NvbW1vbl9kaXIoKTsKIAlpZiAodHJpZV9maW5kKCZjb21tb25fdHJpZSwgYmFzZSwgY2hlY2tfY29tbW9uLCBOVUxMKSA+IDApCiAJCXJlcGxhY2VfZGlyKGJ1ZiwgZ2l0X2Rpcl9sZW4sIGNvbW1vbl9kaXIpOwogfQpAQCAtMzU1LDcgKzM1Niw3IEBACiAJY29uc3Qgc3RydWN0IGNvbW1vbl9kaXIgKnA7CiAJaW50IGxlbjsKIAotCWlmICghZ2l0X2NvbW1vbl9kaXJfZW52KQorCWlmICghdGhlX3JlcG9zaXRvcnktPmRpZmZlcmVudF9jb21tb25kaXIpCiAJCXJldHVybjsKIAlzdHJidWZfYWRkZigmc2IsICIlcy8iLCBnZXRfZ2l0X2RpcigpKTsKIAlsZW4gPSBzYi5sZW47CkBAIC0zNzEsNDIgKzM3Miw3OCBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiB9CiAKLXN0YXRpYyB2b2lkIGFkanVzdF9naXRfcGF0aChzdHJ1Y3Qgc3RyYnVmICpidWYsIGludCBnaXRfZGlyX2xlbikKK3N0YXRpYyB2b2lkIGFkanVzdF9naXRfcGF0aChjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgICBzdHJ1Y3Qgc3RyYnVmICpidWYsIGludCBnaXRfZGlyX2xlbikKIHsKIAljb25zdCBjaGFyICpiYXNlID0gYnVmLT5idWYgKyBnaXRfZGlyX2xlbjsKLQlpZiAoZ2l0X2dyYWZ0X2VudiAmJiBpc19kaXJfZmlsZShiYXNlLCAiaW5mbyIsICJncmFmdHMiKSkKKwlpZiAoaXNfZGlyX2ZpbGUoYmFzZSwgImluZm8iLCAiZ3JhZnRzIikpCiAJCXN0cmJ1Zl9zcGxpY2UoYnVmLCAwLCBidWYtPmxlbiwKLQkJCSAgICAgIGdldF9ncmFmdF9maWxlKCksIHN0cmxlbihnZXRfZ3JhZnRfZmlsZSgpKSk7Ci0JZWxzZSBpZiAoZ2l0X2luZGV4X2VudiAmJiAhc3RyY21wKGJhc2UsICJpbmRleCIpKQorCQkJICAgICAgcmVwby0+Z3JhZnRfZmlsZSwgc3RybGVuKHJlcG8tPmdyYWZ0X2ZpbGUpKTsKKwllbHNlIGlmICghc3RyY21wKGJhc2UsICJpbmRleCIpKQogCQlzdHJidWZfc3BsaWNlKGJ1ZiwgMCwgYnVmLT5sZW4sCi0JCQkgICAgICBnZXRfaW5kZXhfZmlsZSgpLCBzdHJsZW4oZ2V0X2luZGV4X2ZpbGUoKSkpOwotCWVsc2UgaWYgKGdpdF9kYl9lbnYgJiYgZGlyX3ByZWZpeChiYXNlLCAib2JqZWN0cyIpKQotCQlyZXBsYWNlX2RpcihidWYsIGdpdF9kaXJfbGVuICsgNywgZ2V0X29iamVjdF9kaXJlY3RvcnkoKSk7CisJCQkgICAgICByZXBvLT5pbmRleF9maWxlLCBzdHJsZW4ocmVwby0+aW5kZXhfZmlsZSkpOworCWVsc2UgaWYgKGRpcl9wcmVmaXgoYmFzZSwgIm9iamVjdHMiKSkKKwkJcmVwbGFjZV9kaXIoYnVmLCBnaXRfZGlyX2xlbiArIDcsIHJlcG8tPm9iamVjdGRpcik7CiAJZWxzZSBpZiAoZ2l0X2hvb2tzX3BhdGggJiYgZGlyX3ByZWZpeChiYXNlLCAiaG9va3MiKSkKIAkJcmVwbGFjZV9kaXIoYnVmLCBnaXRfZGlyX2xlbiArIDUsIGdpdF9ob29rc19wYXRoKTsKLQllbHNlIGlmIChnaXRfY29tbW9uX2Rpcl9lbnYpCi0JCXVwZGF0ZV9jb21tb25fZGlyKGJ1ZiwgZ2l0X2Rpcl9sZW4sIE5VTEwpOworCWVsc2UgaWYgKHJlcG8tPmRpZmZlcmVudF9jb21tb25kaXIpCisJCXVwZGF0ZV9jb21tb25fZGlyKGJ1ZiwgZ2l0X2Rpcl9sZW4sIHJlcG8tPmNvbW1vbmRpcik7CiB9CiAKLXN0YXRpYyB2b2lkIGRvX2dpdF9wYXRoKGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3QsIHN0cnVjdCBzdHJidWYgKmJ1ZiwKK3N0YXRpYyB2b2lkIHN0cmJ1Zl93b3JrdHJlZV9naXRkaXIoc3RydWN0IHN0cmJ1ZiAqYnVmLAorCQkJCSAgIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSAgIGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3QpCit7CisJaWYgKCF3dCkKKwkJc3RyYnVmX2FkZHN0cihidWYsIHJlcG8tPmdpdGRpcik7CisJZWxzZSBpZiAoIXd0LT5pZCkKKwkJc3RyYnVmX2FkZHN0cihidWYsIHJlcG8tPmNvbW1vbmRpcik7CisJZWxzZQorCQlzdHJidWZfZ2l0X2NvbW1vbl9wYXRoKGJ1ZiwgcmVwbywgIndvcmt0cmVlcy8lcyIsIHd0LT5pZCk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX2dpdF9wYXRoKGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJY29uc3Qgc3RydWN0IHdvcmt0cmVlICp3dCwgc3RydWN0IHN0cmJ1ZiAqYnVmLAogCQkJY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFyZ3MpCiB7CiAJaW50IGdpdGRpcl9sZW47Ci0Jc3RyYnVmX2FkZHN0cihidWYsIGdldF93b3JrdHJlZV9naXRfZGlyKHd0KSk7CisJc3RyYnVmX3dvcmt0cmVlX2dpdGRpcihidWYsIHJlcG8sIHd0KTsKIAlpZiAoYnVmLT5sZW4gJiYgIWlzX2Rpcl9zZXAoYnVmLT5idWZbYnVmLT5sZW4gLSAxXSkpCiAJCXN0cmJ1Zl9hZGRjaChidWYsICcvJyk7CiAJZ2l0ZGlyX2xlbiA9IGJ1Zi0+bGVuOwogCXN0cmJ1Zl92YWRkZihidWYsIGZtdCwgYXJncyk7Ci0JYWRqdXN0X2dpdF9wYXRoKGJ1ZiwgZ2l0ZGlyX2xlbik7CisJaWYgKCF3dCkKKwkJYWRqdXN0X2dpdF9wYXRoKHJlcG8sIGJ1ZiwgZ2l0ZGlyX2xlbik7CiAJc3RyYnVmX2NsZWFudXBfcGF0aChidWYpOwogfQogCitjaGFyICpyZXBvX2dpdF9wYXRoKGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CisJdmFfbGlzdCBhcmdzOworCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7CisJZG9fZ2l0X3BhdGgocmVwbywgTlVMTCwgJnBhdGgsIGZtdCwgYXJncyk7CisJdmFfZW5kKGFyZ3MpOworCXJldHVybiBzdHJidWZfZGV0YWNoKCZwYXRoLCBOVUxMKTsKK30KKwordm9pZCBzdHJidWZfcmVwb19naXRfcGF0aChzdHJ1Y3Qgc3RyYnVmICpzYiwKKwkJCSAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXJnczsKKwl2YV9zdGFydChhcmdzLCBmbXQpOworCWRvX2dpdF9wYXRoKHJlcG8sIE5VTEwsIHNiLCBmbXQsIGFyZ3MpOworCXZhX2VuZChhcmdzKTsKK30KKwogY2hhciAqZ2l0X3BhdGhfYnVmKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAJdmFfbGlzdCBhcmdzOwogCXN0cmJ1Zl9yZXNldChidWYpOwogCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JZG9fZ2l0X3BhdGgoTlVMTCwgYnVmLCBmbXQsIGFyZ3MpOworCWRvX2dpdF9wYXRoKHRoZV9yZXBvc2l0b3J5LCBOVUxMLCBidWYsIGZtdCwgYXJncyk7CiAJdmFfZW5kKGFyZ3MpOwogCXJldHVybiBidWYtPmJ1ZjsKIH0KQEAgLTQxNSw3ICs0NTIsNyBAQAogewogCXZhX2xpc3QgYXJnczsKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCWRvX2dpdF9wYXRoKE5VTEwsIHNiLCBmbXQsIGFyZ3MpOworCWRvX2dpdF9wYXRoKHRoZV9yZXBvc2l0b3J5LCBOVUxMLCBzYiwgZm10LCBhcmdzKTsKIAl2YV9lbmQoYXJncyk7CiB9CiAKQEAgLTQyNCw3ICs0NjEsNyBAQAogCXN0cnVjdCBzdHJidWYgKnBhdGhuYW1lID0gZ2V0X3BhdGhuYW1lKCk7CiAJdmFfbGlzdCBhcmdzOwogCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JZG9fZ2l0X3BhdGgoTlVMTCwgcGF0aG5hbWUsIGZtdCwgYXJncyk7CisJZG9fZ2l0X3BhdGgodGhlX3JlcG9zaXRvcnksIE5VTEwsIHBhdGhuYW1lLCBmbXQsIGFyZ3MpOwogCXZhX2VuZChhcmdzKTsKIAlyZXR1cm4gcGF0aG5hbWUtPmJ1ZjsKIH0KQEAgLTQzNCw3ICs0NzEsNyBAQAogCXN0cnVjdCBzdHJidWYgcGF0aCA9IFNUUkJVRl9JTklUOwogCXZhX2xpc3QgYXJnczsKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCWRvX2dpdF9wYXRoKE5VTEwsICZwYXRoLCBmbXQsIGFyZ3MpOworCWRvX2dpdF9wYXRoKHRoZV9yZXBvc2l0b3J5LCBOVUxMLCAmcGF0aCwgZm10LCBhcmdzKTsKIAl2YV9lbmQoYXJncyk7CiAJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJnBhdGgsIE5VTEwpOwogfQpAQCAtNDY1LDQ1ICs1MDIsNjYgQEAKIAlzdHJ1Y3Qgc3RyYnVmICpwYXRobmFtZSA9IGdldF9wYXRobmFtZSgpOwogCXZhX2xpc3QgYXJnczsKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCWRvX2dpdF9wYXRoKHd0LCBwYXRobmFtZSwgZm10LCBhcmdzKTsKKwlkb19naXRfcGF0aCh0aGVfcmVwb3NpdG9yeSwgd3QsIHBhdGhuYW1lLCBmbXQsIGFyZ3MpOwogCXZhX2VuZChhcmdzKTsKIAlyZXR1cm4gcGF0aG5hbWUtPmJ1ZjsKIH0KIAorc3RhdGljIHZvaWQgZG9fd29ya3RyZWVfcGF0aChjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqYnVmLAorCQkJICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXJncykKK3sKKwlzdHJidWZfYWRkc3RyKGJ1ZiwgcmVwby0+d29ya3RyZWUpOworCWlmKGJ1Zi0+bGVuICYmICFpc19kaXJfc2VwKGJ1Zi0+YnVmW2J1Zi0+bGVuIC0gMV0pKQorCQlzdHJidWZfYWRkY2goYnVmLCAnLycpOworCisJc3RyYnVmX3ZhZGRmKGJ1ZiwgZm10LCBhcmdzKTsKKwlzdHJidWZfY2xlYW51cF9wYXRoKGJ1Zik7Cit9CisKK2NoYXIgKnJlcG9fd29ya3RyZWVfcGF0aChjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CisJdmFfbGlzdCBhcmdzOworCisJaWYgKCFyZXBvLT53b3JrdHJlZSkKKwkJcmV0dXJuIE5VTEw7CisKKwl2YV9zdGFydChhcmdzLCBmbXQpOworCWRvX3dvcmt0cmVlX3BhdGgocmVwbywgJnBhdGgsIGZtdCwgYXJncyk7CisJdmFfZW5kKGFyZ3MpOworCisJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJnBhdGgsIE5VTEwpOworfQorCit2b2lkIHN0cmJ1Zl9yZXBvX3dvcmt0cmVlX3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcmdzOworCisJaWYgKCFyZXBvLT53b3JrdHJlZSkKKwkJcmV0dXJuOworCisJdmFfc3RhcnQoYXJncywgZm10KTsKKwlkb193b3JrdHJlZV9wYXRoKHJlcG8sIHNiLCBmbXQsIGFyZ3MpOworCXZhX2VuZChhcmdzKTsKK30KKwogLyogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG9uIGZhaWx1cmUuICovCi0jZGVmaW5lIFNVQk1PRFVMRV9QQVRIX0VSUl9OT1RfQ09ORklHVVJFRCAtMQogc3RhdGljIGludCBkb19zdWJtb2R1bGVfcGF0aChzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkgICAgIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQogewotCWNvbnN0IGNoYXIgKmdpdF9kaXI7CiAJc3RydWN0IHN0cmJ1ZiBnaXRfc3VibW9kdWxlX2NvbW1vbl9kaXIgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIGdpdF9zdWJtb2R1bGVfZGlyID0gU1RSQlVGX0lOSVQ7Ci0JY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViOwotCWludCBlcnIgPSAwOworCWludCByZXQ7CiAKLQlzdHJidWZfYWRkc3RyKGJ1ZiwgcGF0aCk7Ci0Jc3RyYnVmX2NvbXBsZXRlKGJ1ZiwgJy8nKTsKLQlzdHJidWZfYWRkc3RyKGJ1ZiwgIi5naXQiKTsKKwlyZXQgPSBzdWJtb2R1bGVfdG9fZ2l0ZGlyKCZnaXRfc3VibW9kdWxlX2RpciwgcGF0aCk7CisJaWYgKHJldCkKKwkJZ290byBjbGVhbnVwOwogCi0JZ2l0X2RpciA9IHJlYWRfZ2l0ZmlsZShidWYtPmJ1Zik7Ci0JaWYgKGdpdF9kaXIpIHsKLQkJc3RyYnVmX3Jlc2V0KGJ1Zik7Ci0JCXN0cmJ1Zl9hZGRzdHIoYnVmLCBnaXRfZGlyKTsKLQl9Ci0JaWYgKCFpc19naXRfZGlyZWN0b3J5KGJ1Zi0+YnVmKSkgewotCQlnaXRtb2R1bGVzX2NvbmZpZygpOwotCQlzdWIgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKG51bGxfc2hhMSwgcGF0aCk7Ci0JCWlmICghc3ViKSB7Ci0JCQllcnIgPSBTVUJNT0RVTEVfUEFUSF9FUlJfTk9UX0NPTkZJR1VSRUQ7Ci0JCQlnb3RvIGNsZWFudXA7Ci0JCX0KLQkJc3RyYnVmX3Jlc2V0KGJ1Zik7Ci0JCXN0cmJ1Zl9naXRfcGF0aChidWYsICIlcy8lcyIsICJtb2R1bGVzIiwgc3ViLT5uYW1lKTsKLQl9Ci0KLQlzdHJidWZfYWRkY2goYnVmLCAnLycpOwotCXN0cmJ1Zl9hZGRidWYoJmdpdF9zdWJtb2R1bGVfZGlyLCBidWYpOwotCisJc3RyYnVmX2NvbXBsZXRlKCZnaXRfc3VibW9kdWxlX2RpciwgJy8nKTsKKwlzdHJidWZfYWRkYnVmKGJ1ZiwgJmdpdF9zdWJtb2R1bGVfZGlyKTsKIAlzdHJidWZfdmFkZGYoYnVmLCBmbXQsIGFyZ3MpOwogCiAJaWYgKGdldF9jb21tb25fZGlyX25vZW52KCZnaXRfc3VibW9kdWxlX2NvbW1vbl9kaXIsIGdpdF9zdWJtb2R1bGVfZGlyLmJ1ZikpCkBAIC01MTQsOCArNTcyLDcgQEAKIGNsZWFudXA6CiAJc3RyYnVmX3JlbGVhc2UoJmdpdF9zdWJtb2R1bGVfZGlyKTsKIAlzdHJidWZfcmVsZWFzZSgmZ2l0X3N1Ym1vZHVsZV9jb21tb25fZGlyKTsKLQotCXJldHVybiBlcnI7CisJcmV0dXJuIHJldDsKIH0KIAogY2hhciAqZ2l0X3BhdGhkdXBfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQpAQCAtNTQ1LDExICs2MDIsMTIgQEAKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgdm9pZCBkb19naXRfY29tbW9uX3BhdGgoc3RydWN0IHN0cmJ1ZiAqYnVmLAorc3RhdGljIHZvaWQgZG9fZ2l0X2NvbW1vbl9wYXRoKGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICAgIHN0cnVjdCBzdHJidWYgKmJ1ZiwKIAkJCSAgICAgICBjb25zdCBjaGFyICpmbXQsCiAJCQkgICAgICAgdmFfbGlzdCBhcmdzKQogewotCXN0cmJ1Zl9hZGRzdHIoYnVmLCBnZXRfZ2l0X2NvbW1vbl9kaXIoKSk7CisJc3RyYnVmX2FkZHN0cihidWYsIHJlcG8tPmNvbW1vbmRpcik7CiAJaWYgKGJ1Zi0+bGVuICYmICFpc19kaXJfc2VwKGJ1Zi0+YnVmW2J1Zi0+bGVuIC0gMV0pKQogCQlzdHJidWZfYWRkY2goYnVmLCAnLycpOwogCXN0cmJ1Zl92YWRkZihidWYsIGZtdCwgYXJncyk7CkBAIC01NjEsMjQgKzYxOSwyNyBAQAogCXN0cnVjdCBzdHJidWYgKnBhdGhuYW1lID0gZ2V0X3BhdGhuYW1lKCk7CiAJdmFfbGlzdCBhcmdzOwogCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JZG9fZ2l0X2NvbW1vbl9wYXRoKHBhdGhuYW1lLCBmbXQsIGFyZ3MpOworCWRvX2dpdF9jb21tb25fcGF0aCh0aGVfcmVwb3NpdG9yeSwgcGF0aG5hbWUsIGZtdCwgYXJncyk7CiAJdmFfZW5kKGFyZ3MpOwogCXJldHVybiBwYXRobmFtZS0+YnVmOwogfQogCi12b2lkIHN0cmJ1Zl9naXRfY29tbW9uX3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBzdHJidWZfZ2l0X2NvbW1vbl9wYXRoKHN0cnVjdCBzdHJidWYgKnNiLAorCQkJICAgIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogCXZhX2xpc3QgYXJnczsKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCWRvX2dpdF9jb21tb25fcGF0aChzYiwgZm10LCBhcmdzKTsKKwlkb19naXRfY29tbW9uX3BhdGgocmVwbywgc2IsIGZtdCwgYXJncyk7CiAJdmFfZW5kKGFyZ3MpOwogfQogCiBpbnQgdmFsaWRhdGVfaGVhZHJlZihjb25zdCBjaGFyICpwYXRoKQogewogCXN0cnVjdCBzdGF0IHN0OwotCWNoYXIgKmJ1ZiwgYnVmZmVyWzI1Nl07Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwljaGFyIGJ1ZmZlclsyNTZdOworCWNvbnN0IGNoYXIgKnJlZm5hbWU7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJaW50IGZkOwogCXNzaXplX3QgbGVuOwogCkBAIC02MDIsMjQgKzY2MywyNCBAQAogCWxlbiA9IHJlYWRfaW5fZnVsbChmZCwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKS0xKTsKIAljbG9zZShmZCk7CiAKKwlpZiAobGVuIDwgMCkKKwkJcmV0dXJuIC0xOworCWJ1ZmZlcltsZW5dID0gJ1wwJzsKKwogCS8qCiAJICogSXMgaXQgYSBzeW1ib2xpYyByZWY/CiAJICovCi0JaWYgKGxlbiA8IDQpCi0JCXJldHVybiAtMTsKLQlpZiAoIW1lbWNtcCgicmVmOiIsIGJ1ZmZlciwgNCkpIHsKLQkJYnVmID0gYnVmZmVyICsgNDsKLQkJbGVuIC09IDQ7Ci0JCXdoaWxlIChsZW4gJiYgaXNzcGFjZSgqYnVmKSkKLQkJCWJ1ZisrLCBsZW4tLTsKLQkJaWYgKGxlbiA+PSA1ICYmICFtZW1jbXAoInJlZnMvIiwgYnVmLCA1KSkKKwlpZiAoc2tpcF9wcmVmaXgoYnVmZmVyLCAicmVmOiIsICZyZWZuYW1lKSkgeworCQl3aGlsZSAoaXNzcGFjZSgqcmVmbmFtZSkpCisJCQlyZWZuYW1lKys7CisJCWlmIChzdGFydHNfd2l0aChyZWZuYW1lLCAicmVmcy8iKSkKIAkJCXJldHVybiAwOwogCX0KIAogCS8qCiAJICogSXMgdGhpcyBhIGRldGFjaGVkIEhFQUQ/CiAJICovCi0JaWYgKCFnZXRfc2hhMV9oZXgoYnVmZmVyLCBzaGExKSkKKwlpZiAoIWdldF9vaWRfaGV4KGJ1ZmZlciwgJm9pZCkpCiAJCXJldHVybiAwOwogCiAJcmV0dXJuIC0xOwpAQCAtNjM4LDggKzY5OSwxMCBAQAogICogUmV0dXJuIGEgc3RyaW5nIHdpdGggfiBhbmQgfnVzZXIgZXhwYW5kZWQgdmlhIGdldHB3Ki4gIElmIGJ1ZiAhPSBOVUxMLAogICogdGhlbiBpdCBpcyBhIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcuIFJldHVybnMgTlVMTCBvbiBnZXRwdyBmYWlsdXJlIG9yCiAgKiBpZiBwYXRoIGlzIE5VTEwuCisgKgorICogSWYgcmVhbF9ob21lIGlzIHRydWUsIHJlYWxfcGF0aCgkSE9NRSkgaXMgdXNlZCBpbiB0aGUgZXhwYW5zaW9uLgogICovCi1jaGFyICpleHBhbmRfdXNlcl9wYXRoKGNvbnN0IGNoYXIgKnBhdGgpCitjaGFyICpleHBhbmRfdXNlcl9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIGludCByZWFsX2hvbWUpCiB7CiAJc3RydWN0IHN0cmJ1ZiB1c2VyX3BhdGggPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICp0b19jb3B5ID0gcGF0aDsKQEAgLTY1NCw3ICs3MTcsMTAgQEAKIAkJCWNvbnN0IGNoYXIgKmhvbWUgPSBnZXRlbnYoIkhPTUUiKTsKIAkJCWlmICghaG9tZSkKIAkJCQlnb3RvIHJldHVybl9udWxsOwotCQkJc3RyYnVmX2FkZHN0cigmdXNlcl9wYXRoLCBob21lKTsKKwkJCWlmIChyZWFsX2hvbWUpCisJCQkJc3RyYnVmX2FkZF9yZWFsX3BhdGgoJnVzZXJfcGF0aCwgaG9tZSk7CisJCQllbHNlCisJCQkJc3RyYnVmX2FkZHN0cigmdXNlcl9wYXRoLCBob21lKTsKICNpZmRlZiBHSVRfV0lORE9XU19OQVRJVkUKIAkJCWNvbnZlcnRfc2xhc2hlcyh1c2VyX3BhdGguYnVmKTsKICNlbmRpZgpAQCAtNzIzLDcgKzc4OSw3IEBACiAJCXN0cmJ1Zl9hZGQoJnZhbGlkYXRlZF9wYXRoLCBwYXRoLCBsZW4pOwogCiAJCWlmICh1c2VkX3BhdGguYnVmWzBdID09ICd+JykgewotCQkJY2hhciAqbmV3cGF0aCA9IGV4cGFuZF91c2VyX3BhdGgodXNlZF9wYXRoLmJ1Zik7CisJCQljaGFyICpuZXdwYXRoID0gZXhwYW5kX3VzZXJfcGF0aCh1c2VkX3BhdGguYnVmLCAwKTsKIAkJCWlmICghbmV3cGF0aCkKIAkJCQlyZXR1cm4gTlVMTDsKIAkJCXN0cmJ1Zl9hdHRhY2goJnVzZWRfcGF0aCwgbmV3cGF0aCwgc3RybGVuKG5ld3BhdGgpLApAQCAtMTI3Nyw2ICsxMzQzLDIxIEBACiAJcmV0dXJuIE5VTEw7CiB9CiAKK2NoYXIgKnhkZ19jYWNoZV9ob21lKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWNvbnN0IGNoYXIgKmhvbWUsICpjYWNoZV9ob21lOworCisJYXNzZXJ0KGZpbGVuYW1lKTsKKwljYWNoZV9ob21lID0gZ2V0ZW52KCJYREdfQ0FDSEVfSE9NRSIpOworCWlmIChjYWNoZV9ob21lICYmICpjYWNoZV9ob21lKQorCQlyZXR1cm4gbWtwYXRoZHVwKCIlcy9naXQvJXMiLCBjYWNoZV9ob21lLCBmaWxlbmFtZSk7CisKKwlob21lID0gZ2V0ZW52KCJIT01FIik7CisJaWYgKGhvbWUpCisJCXJldHVybiBta3BhdGhkdXAoIiVzLy5jYWNoZS9naXQvJXMiLCBob21lLCBmaWxlbmFtZSk7CisJcmV0dXJuIE5VTEw7Cit9CisKIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCwgIkNIRVJSWV9QSUNLX0hFQUQiKQogR0lUX1BBVEhfRlVOQyhnaXRfcGF0aF9yZXZlcnRfaGVhZCwgIlJFVkVSVF9IRUFEIikKIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfc3F1YXNoX21zZywgIlNRVUFTSF9NU0ciKQpkaWZmIC0tZ2l0IGEvcGF0aC5oIGIvcGF0aC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NDE2MjAKLS0tIC9kZXYvbnVsbAorKysgYi9wYXRoLmgKQEAgLTAsMCArMSw4MiBAQAorI2lmbmRlZiBQQVRIX0gKKyNkZWZpbmUgUEFUSF9ICisKK3N0cnVjdCByZXBvc2l0b3J5OworCisvKgorICogUmV0dXJuIGEgc3RhdGljYWxseSBhbGxvY2F0ZWQgZmlsZW5hbWUsIGVpdGhlciBnZW5lcmljYWxseSAobWtwYXRoKSwgaW4KKyAqIHRoZSByZXBvc2l0b3J5IGRpcmVjdG9yeSAoZ2l0X3BhdGgpLCBvciBpbiBhIHN1Ym1vZHVsZSdzIHJlcG9zaXRvcnkKKyAqIGRpcmVjdG9yeSAoZ2l0X3BhdGhfc3VibW9kdWxlKS4gSW4gYWxsIGNhc2VzLCBub3RlIHRoYXQgdGhlIHJlc3VsdAorICogbWF5IGJlIG92ZXJ3cml0dGVuIGJ5IGFub3RoZXIgY2FsbCB0byBfYW55XyBvZiB0aGUgZnVuY3Rpb25zLiBDb25zaWRlcgorICogdXNpbmcgdGhlIHNhZmVyICJkdXAiIG9yICJzdHJidWYiIGZvcm1hdHMgYmVsb3cgKGluIHNvbWUgY2FzZXMsIHRoZQorICogdW5zYWZlIHZlcnNpb25zIGhhdmUgYWxyZWFkeSBiZWVuIHJlbW92ZWQpLgorICovCitleHRlcm4gY29uc3QgY2hhciAqbWtwYXRoKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKK2V4dGVybiBjb25zdCBjaGFyICpnaXRfcGF0aChjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CitleHRlcm4gY29uc3QgY2hhciAqZ2l0X2NvbW1vbl9wYXRoKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKKworZXh0ZXJuIGNoYXIgKm1rc25wYXRoKGNoYXIgKmJ1Ziwgc2l6ZV90IG4sIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpOworZXh0ZXJuIHZvaWQgc3RyYnVmX2dpdF9wYXRoKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpmbXQsIC4uLikKKwlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKK2V4dGVybiB2b2lkIHN0cmJ1Zl9naXRfY29tbW9uX3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsCisJCQkJICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJICAgY29uc3QgY2hhciAqZm10LCAuLi4pCisJX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDMsIDQpKSk7CitleHRlcm4gY2hhciAqZ2l0X3BhdGhfYnVmKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqZm10LCAuLi4pCisJX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7CitleHRlcm4gaW50IHN0cmJ1Zl9naXRfcGF0aF9zdWJtb2R1bGUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkJICAgICBjb25zdCBjaGFyICpmbXQsIC4uLikKKwlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMywgNCkpKTsKK2V4dGVybiBjaGFyICpnaXRfcGF0aGR1cChjb25zdCBjaGFyICpmbXQsIC4uLikKKwlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKK2V4dGVybiBjaGFyICpta3BhdGhkdXAoY29uc3QgY2hhciAqZm10LCAuLi4pCisJX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CitleHRlcm4gY2hhciAqZ2l0X3BhdGhkdXBfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAyLCAzKSkpOworCitleHRlcm4gY2hhciAqcmVwb19naXRfcGF0aChjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAyLCAzKSkpOworZXh0ZXJuIHZvaWQgc3RyYnVmX3JlcG9fZ2l0X3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsCisJCQkJIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSBjb25zdCBjaGFyICpmbXQsIC4uLikKKwlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMywgNCkpKTsKKworZXh0ZXJuIGNoYXIgKnJlcG9fd29ya3RyZWVfcGF0aChjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQljb25zdCBjaGFyICpmbXQsIC4uLikKKwlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKK2V4dGVybiB2b2lkIHN0cmJ1Zl9yZXBvX3dvcmt0cmVlX3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsCisJCQkJICAgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCisJX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDMsIDQpKSk7CisKK2V4dGVybiB2b2lkIHJlcG9ydF9saW5rZWRfY2hlY2tvdXRfZ2FyYmFnZSh2b2lkKTsKKworLyoKKyAqIFlvdSBjYW4gZGVmaW5lIGEgc3RhdGljIG1lbW9pemVkIGdpdCBwYXRoIGxpa2U6CisgKgorICogICAgc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfZm9vLCAiRk9PIik7CisgKgorICogb3IgdXNlIG9uZSBvZiB0aGUgZ2xvYmFsIG9uZXMgYmVsb3cuCisgKi8KKyNkZWZpbmUgR0lUX1BBVEhfRlVOQyhmdW5jLCBmaWxlbmFtZSkgXAorCWNvbnN0IGNoYXIgKmZ1bmModm9pZCkgXAorCXsgXAorCQlzdGF0aWMgY2hhciAqcmV0OyBcCisJCWlmICghcmV0KSBcCisJCQlyZXQgPSBnaXRfcGF0aGR1cChmaWxlbmFtZSk7IFwKKwkJcmV0dXJuIHJldDsgXAorCX0KKworY29uc3QgY2hhciAqZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCh2b2lkKTsKK2NvbnN0IGNoYXIgKmdpdF9wYXRoX3JldmVydF9oZWFkKHZvaWQpOworY29uc3QgY2hhciAqZ2l0X3BhdGhfc3F1YXNoX21zZyh2b2lkKTsKK2NvbnN0IGNoYXIgKmdpdF9wYXRoX21lcmdlX21zZyh2b2lkKTsKK2NvbnN0IGNoYXIgKmdpdF9wYXRoX21lcmdlX3JyKHZvaWQpOworY29uc3QgY2hhciAqZ2l0X3BhdGhfbWVyZ2VfbW9kZSh2b2lkKTsKK2NvbnN0IGNoYXIgKmdpdF9wYXRoX21lcmdlX2hlYWQodm9pZCk7Citjb25zdCBjaGFyICpnaXRfcGF0aF9mZXRjaF9oZWFkKHZvaWQpOworY29uc3QgY2hhciAqZ2l0X3BhdGhfc2hhbGxvdyh2b2lkKTsKKworI2VuZGlmIC8qIFBBVEhfSCAqLwpkaWZmIC0tZ2l0IGEvcGF0aHNwZWMuYyBiL3BhdGhzcGVjLmMKaW5kZXggN2FiYWJiMy4uY2RlZmRjNyAxMDA2NDQKLS0tIGEvcGF0aHNwZWMuYworKysgYi9wYXRoc3BlYy5jCkBAIC0xLDYgKzEsOSBAQAorI2RlZmluZSBOT19USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInBhdGhzcGVjLmgiCisjaW5jbHVkZSAiYXR0ci5oIgogCiAvKgogICogRmluZHMgd2hpY2ggb2YgdGhlIGdpdmVuIHBhdGhzcGVjcyBtYXRjaCBpdGVtcyBpbiB0aGUgaW5kZXguCkBAIC0xNiw2ICsxOSw3IEBACiAgKiB0byB1c2UgZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleCgpIGluc3RlYWQuCiAgKi8KIHZvaWQgYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkJCQljb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJCQkJY2hhciAqc2VlbikKIHsKIAlpbnQgbnVtX3VubWF0Y2hlZCA9IDAsIGk7CkBAIC0zMSw4ICszNSw4IEBACiAJCQludW1fdW5tYXRjaGVkKys7CiAJaWYgKCFudW1fdW5tYXRjaGVkKQogCQlyZXR1cm47Ci0JZm9yIChpID0gMDsgaSA8IGFjdGl2ZV9ucjsgaSsrKSB7Ci0JCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07CisJZm9yIChpID0gMDsgaSA8IGlzdGF0ZS0+Y2FjaGVfbnI7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gaXN0YXRlLT5jYWNoZVtpXTsKIAkJY2VfcGF0aF9tYXRjaChjZSwgcGF0aHNwZWMsIHNlZW4pOwogCX0KIH0KQEAgLTQ1LDEwICs0OSwxMSBAQAogICogbmF0dXJlIG9mIHRoZSAiY2xvc2VzdCIgKGkuZS4gbW9zdCBzcGVjaWZpYykgbWF0Y2hlcyB3aGljaCBlYWNoIG9mIHRoZQogICogZ2l2ZW4gcGF0aHNwZWNzIGFjaGlldmVzIGFnYWluc3QgYWxsIGl0ZW1zIGluIHRoZSBpbmRleC4KICAqLwotY2hhciAqZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQorY2hhciAqZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkJCQkgICAgY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7CiAJY2hhciAqc2VlbiA9IHhjYWxsb2MocGF0aHNwZWMtPm5yLCAxKTsKLQlhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KHBhdGhzcGVjLCBzZWVuKTsKKwlhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KHBhdGhzcGVjLCBpc3RhdGUsIHNlZW4pOwogCXJldHVybiBzZWVuOwogfQogCkBAIC03Miw2ICs3Nyw3IEBACiAJeyBQQVRIU1BFQ19HTE9CLCAgICAnXDAnLCAiZ2xvYiIgfSwKIAl7IFBBVEhTUEVDX0lDQVNFLCAgICdcMCcsICJpY2FzZSIgfSwKIAl7IFBBVEhTUEVDX0VYQ0xVREUsICAnIScsICJleGNsdWRlIiB9LAorCXsgUEFUSFNQRUNfQVRUUiwgICAgJ1wwJywgImF0dHIiIH0sCiB9OwogCiBzdGF0aWMgdm9pZCBwcmVmaXhfbWFnaWMoc3RydWN0IHN0cmJ1ZiAqc2IsIGludCBwcmVmaXhsZW4sIHVuc2lnbmVkIG1hZ2ljKQpAQCAtODcsNiArOTMsMTE2IEBACiAJc3RyYnVmX2FkZGYoc2IsICIscHJlZml4OiVkKSIsIHByZWZpeGxlbik7CiB9CiAKK3N0YXRpYyBzaXplX3Qgc3RyY3Nwbl9lc2NhcGVkKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKnN0b3ApCit7CisJY29uc3QgY2hhciAqaTsKKworCWZvciAoaSA9IHM7ICppOyBpKyspIHsKKwkJLyogc2tpcCB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIgKi8KKwkJaWYgKGlbMF0gPT0gJ1xcJyAmJiBpWzFdKSB7CisJCQlpKys7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChzdHJjaHIoc3RvcCwgKmkpKQorCQkJYnJlYWs7CisJfQorCXJldHVybiBpIC0gczsKK30KKworc3RhdGljIGlubGluZSBpbnQgaW52YWxpZF92YWx1ZV9jaGFyKGNvbnN0IGNoYXIgY2gpCit7CisJaWYgKGlzYWxudW0oY2gpIHx8IHN0cmNocigiLC1fIiwgY2gpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBjaGFyICphdHRyX3ZhbHVlX3VuZXNjYXBlKGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWNvbnN0IGNoYXIgKnNyYzsKKwljaGFyICpkc3QsICpyZXQ7CisKKwlyZXQgPSB4bWFsbG9jeihzdHJsZW4odmFsdWUpKTsKKwlmb3IgKHNyYyA9IHZhbHVlLCBkc3QgPSByZXQ7ICpzcmM7IHNyYysrLCBkc3QrKykgeworCQlpZiAoKnNyYyA9PSAnXFwnKSB7CisJCQlpZiAoIXNyY1sxXSkKKwkJCQlkaWUoXygiRXNjYXBlIGNoYXJhY3RlciAnXFwnIG5vdCBhbGxvd2VkIGFzICIKKwkJCQkgICAgICAibGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIpKTsKKwkJCXNyYysrOworCQl9CisJCWlmIChpbnZhbGlkX3ZhbHVlX2NoYXIoKnNyYykpCisJCQlkaWUoImNhbm5vdCB1c2UgJyVjJyBmb3IgdmFsdWUgbWF0Y2hpbmciLCAqc3JjKTsKKwkJKmRzdCA9ICpzcmM7CisJfQorCSpkc3QgPSAnXDAnOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX3BhdGhzcGVjX2F0dHJfbWF0Y2goc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpzaTsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCisJaWYgKGl0ZW0tPmF0dHJfY2hlY2sgfHwgaXRlbS0+YXR0cl9tYXRjaCkKKwkJZGllKF8oIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIpKTsKKworCWlmICghdmFsdWUgfHwgISp2YWx1ZSkKKwkJZGllKF8oImF0dHIgc3BlYyBtdXN0IG5vdCBiZSBlbXB0eSIpKTsKKworCXN0cmluZ19saXN0X3NwbGl0KCZsaXN0LCB2YWx1ZSwgJyAnLCAtMSk7CisJc3RyaW5nX2xpc3RfcmVtb3ZlX2VtcHR5X2l0ZW1zKCZsaXN0LCAwKTsKKworCWl0ZW0tPmF0dHJfY2hlY2sgPSBhdHRyX2NoZWNrX2FsbG9jKCk7CisJaXRlbS0+YXR0cl9tYXRjaCA9IHhjYWxsb2MobGlzdC5uciwgc2l6ZW9mKHN0cnVjdCBhdHRyX21hdGNoKSk7CisKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKHNpLCAmbGlzdCkgeworCQlzaXplX3QgYXR0cl9sZW47CisJCWNoYXIgKmF0dHJfbmFtZTsKKwkJY29uc3Qgc3RydWN0IGdpdF9hdHRyICphOworCisJCWludCBqID0gaXRlbS0+YXR0cl9tYXRjaF9ucisrOworCQljb25zdCBjaGFyICphdHRyID0gc2ktPnN0cmluZzsKKwkJc3RydWN0IGF0dHJfbWF0Y2ggKmFtID0gJml0ZW0tPmF0dHJfbWF0Y2hbal07CisKKwkJc3dpdGNoICgqYXR0cikgeworCQljYXNlICchJzoKKwkJCWFtLT5tYXRjaF9tb2RlID0gTUFUQ0hfVU5TUEVDSUZJRUQ7CisJCQlhdHRyKys7CisJCQlhdHRyX2xlbiA9IHN0cmxlbihhdHRyKTsKKwkJCWJyZWFrOworCQljYXNlICctJzoKKwkJCWFtLT5tYXRjaF9tb2RlID0gTUFUQ0hfVU5TRVQ7CisJCQlhdHRyKys7CisJCQlhdHRyX2xlbiA9IHN0cmxlbihhdHRyKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYXR0cl9sZW4gPSBzdHJjc3BuKGF0dHIsICI9Iik7CisJCQlpZiAoYXR0clthdHRyX2xlbl0gIT0gJz0nKQorCQkJCWFtLT5tYXRjaF9tb2RlID0gTUFUQ0hfU0VUOworCQkJZWxzZSB7CisJCQkJY29uc3QgY2hhciAqdiA9ICZhdHRyW2F0dHJfbGVuICsgMV07CisJCQkJYW0tPm1hdGNoX21vZGUgPSBNQVRDSF9WQUxVRTsKKwkJCQlhbS0+dmFsdWUgPSBhdHRyX3ZhbHVlX3VuZXNjYXBlKHYpOworCQkJfQorCQkJYnJlYWs7CisJCX0KKworCQlhdHRyX25hbWUgPSB4bWVtZHVweihhdHRyLCBhdHRyX2xlbik7CisJCWEgPSBnaXRfYXR0cihhdHRyX25hbWUpOworCQlpZiAoIWEpCisJCQlkaWUoXygiaW52YWxpZCBhdHRyaWJ1dGUgbmFtZSAlcyIpLCBhdHRyX25hbWUpOworCisJCWF0dHJfY2hlY2tfYXBwZW5kKGl0ZW0tPmF0dHJfY2hlY2ssIGEpOworCisJCWZyZWUoYXR0cl9uYW1lKTsKKwl9CisKKwlpZiAoaXRlbS0+YXR0cl9jaGVjay0+bnIgIT0gaXRlbS0+YXR0cl9tYXRjaF9ucikKKwkJZGllKCJCVUc6IHNob3VsZCBoYXZlIHNhbWUgbnVtYmVyIG9mIGVudHJpZXMiKTsKKworCXN0cmluZ19saXN0X2NsZWFyKCZsaXN0LCAwKTsKK30KKwogc3RhdGljIGlubGluZSBpbnQgZ2V0X2xpdGVyYWxfZ2xvYmFsKHZvaWQpCiB7CiAJc3RhdGljIGludCBsaXRlcmFsID0gLTE7CkBAIC0xNjQsMTMgKzI4MCwxNCBAQAogICogcmV0dXJucyB0aGUgcG9zaXRpb24gaW4gJ2VsZW0nIGFmdGVyIGFsbCBtYWdpYyBoYXMgYmVlbiBwYXJzZWQKICAqLwogc3RhdGljIGNvbnN0IGNoYXIgKnBhcnNlX2xvbmdfbWFnaWModW5zaWduZWQgKm1hZ2ljLCBpbnQgKnByZWZpeF9sZW4sCisJCQkJICAgIHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAogCQkJCSAgICBjb25zdCBjaGFyICplbGVtKQogewogCWNvbnN0IGNoYXIgKnBvczsKIAljb25zdCBjaGFyICpuZXh0YXQ7CiAKIAlmb3IgKHBvcyA9IGVsZW0gKyAyOyAqcG9zICYmICpwb3MgIT0gJyknOyBwb3MgPSBuZXh0YXQpIHsKLQkJc2l6ZV90IGxlbiA9IHN0cmNzcG4ocG9zLCAiLCkiKTsKKwkJc2l6ZV90IGxlbiA9IHN0cmNzcG5fZXNjYXBlZChwb3MsICIsKSIpOwogCQlpbnQgaTsKIAogCQlpZiAocG9zW2xlbl0gPT0gJywnKQpAQCAtMTg5LDYgKzMwNiwxNCBAQAogCQkJY29udGludWU7CiAJCX0KIAorCQlpZiAoc3RhcnRzX3dpdGgocG9zLCAiYXR0cjoiKSkgeworCQkJY2hhciAqYXR0cl9ib2R5ID0geG1lbWR1cHoocG9zICsgNSwgbGVuIC0gNSk7CisJCQlwYXJzZV9wYXRoc3BlY19hdHRyX21hdGNoKGl0ZW0sIGF0dHJfYm9keSk7CisJCQkqbWFnaWMgfD0gUEFUSFNQRUNfQVRUUjsKKwkJCWZyZWUoYXR0cl9ib2R5KTsKKwkJCWNvbnRpbnVlOworCQl9CisKIAkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGF0aHNwZWNfbWFnaWMpOyBpKyspIHsKIAkJCWlmIChzdHJsZW4ocGF0aHNwZWNfbWFnaWNbaV0ubmFtZSkgPT0gbGVuICYmCiAJCQkgICAgIXN0cm5jbXAocGF0aHNwZWNfbWFnaWNbaV0ubmFtZSwgcG9zLCBsZW4pKSB7CkBAIC0yMjQsNiArMzQ5LDEyIEBACiAJCWNoYXIgY2ggPSAqcG9zOwogCQlpbnQgaTsKIAorCQkvKiBTcGVjaWFsIGNhc2UgYWxpYXMgZm9yICchJyAqLworCQlpZiAoY2ggPT0gJ14nKSB7CisJCQkqbWFnaWMgfD0gUEFUSFNQRUNfRVhDTFVERTsKKwkJCWNvbnRpbnVlOworCQl9CisKIAkJaWYgKCFpc19wYXRoc3BlY19tYWdpYyhjaCkpCiAJCQlicmVhazsKIApAQCAtMjQ2LDc3ICszNzcsMTkgQEAKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKnBhcnNlX2VsZW1lbnRfbWFnaWModW5zaWduZWQgKm1hZ2ljLCBpbnQgKnByZWZpeF9sZW4sCisJCQkJICAgICAgIHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAogCQkJCSAgICAgICBjb25zdCBjaGFyICplbGVtKQogewogCWlmIChlbGVtWzBdICE9ICc6JyB8fCBnZXRfbGl0ZXJhbF9nbG9iYWwoKSkKIAkJcmV0dXJuIGVsZW07IC8qIG5vdGhpbmcgdG8gZG8gKi8KIAllbHNlIGlmIChlbGVtWzFdID09ICcoJykKIAkJLyogbG9uZ2hhbmQgKi8KLQkJcmV0dXJuIHBhcnNlX2xvbmdfbWFnaWMobWFnaWMsIHByZWZpeF9sZW4sIGVsZW0pOworCQlyZXR1cm4gcGFyc2VfbG9uZ19tYWdpYyhtYWdpYywgcHJlZml4X2xlbiwgaXRlbSwgZWxlbSk7CiAJZWxzZQogCQkvKiBzaG9ydGhhbmQgKi8KIAkJcmV0dXJuIHBhcnNlX3Nob3J0X21hZ2ljKG1hZ2ljLCBlbGVtKTsKIH0KIAotc3RhdGljIHZvaWQgc3RyaXBfc3VibW9kdWxlX3NsYXNoX2NoZWFwKHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtKQotewotCWlmIChpdGVtLT5sZW4gPj0gMSAmJiBpdGVtLT5tYXRjaFtpdGVtLT5sZW4gLSAxXSA9PSAnLycpIHsKLQkJaW50IGkgPSBjYWNoZV9uYW1lX3BvcyhpdGVtLT5tYXRjaCwgaXRlbS0+bGVuIC0gMSk7Ci0KLQkJaWYgKGkgPj0gMCAmJiBTX0lTR0lUTElOSyhhY3RpdmVfY2FjaGVbaV0tPmNlX21vZGUpKSB7Ci0JCQlpdGVtLT5sZW4tLTsKLQkJCWl0ZW0tPm1hdGNoW2l0ZW0tPmxlbl0gPSAnXDAnOwotCQl9Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBzdHJpcF9zdWJtb2R1bGVfc2xhc2hfZXhwZW5zaXZlKHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGFjdGl2ZV9ucjsgaSsrKSB7Ci0JCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07Ci0JCWludCBjZV9sZW4gPSBjZV9uYW1lbGVuKGNlKTsKLQotCQlpZiAoIVNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChpdGVtLT5sZW4gPD0gY2VfbGVuIHx8IGl0ZW0tPm1hdGNoW2NlX2xlbl0gIT0gJy8nIHx8Ci0JCSAgICBtZW1jbXAoY2UtPm5hbWUsIGl0ZW0tPm1hdGNoLCBjZV9sZW4pKQotCQkJY29udGludWU7Ci0KLQkJaWYgKGl0ZW0tPmxlbiA9PSBjZV9sZW4gKyAxKSB7Ci0JCQkvKiBzdHJpcCB0cmFpbGluZyBzbGFzaCAqLwotCQkJaXRlbS0+bGVuLS07Ci0JCQlpdGVtLT5tYXRjaFtpdGVtLT5sZW5dID0gJ1wwJzsKLQkJfSBlbHNlIHsKLQkJCWRpZShfKCJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciKSwKLQkJCSAgICBpdGVtLT5vcmlnaW5hbCwgY2VfbGVuLCBjZS0+bmFtZSk7Ci0JCX0KLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGRpZV9pbnNpZGVfc3VibW9kdWxlX3BhdGgoc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOyBpKyspIHsKLQkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGFjdGl2ZV9jYWNoZVtpXTsKLQkJaW50IGNlX2xlbiA9IGNlX25hbWVsZW4oY2UpOwotCi0JCWlmICghU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQotCQkJY29udGludWU7Ci0KLQkJaWYgKGl0ZW0tPmxlbiA8IGNlX2xlbiB8fAotCQkgICAgIShpdGVtLT5tYXRjaFtjZV9sZW5dID09ICcvJyB8fCBpdGVtLT5tYXRjaFtjZV9sZW5dID09ICdcMCcpIHx8Ci0JCSAgICBtZW1jbXAoY2UtPm5hbWUsIGl0ZW0tPm1hdGNoLCBjZV9sZW4pKQotCQkJY29udGludWU7Ci0KLQkJZGllKF8oIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIpLAotCQkgICAgaXRlbS0+b3JpZ2luYWwsIGNlX2xlbiwgY2UtPm5hbWUpOwotCX0KLX0KLQogLyoKICAqIFBlcmZvcm0gdGhlIGluaXRpYWxpemF0aW9uIG9mIGEgcGF0aHNwZWNfaXRlbSBiYXNlZCBvbiBhIHBhdGhzcGVjIGVsZW1lbnQuCiAgKi8KQEAgLTMyOSwxMiArNDAyLDE3IEBACiAJY2hhciAqbWF0Y2g7CiAJaW50IHBhdGhzcGVjX3ByZWZpeCA9IC0xOwogCisJaXRlbS0+YXR0cl9jaGVjayA9IE5VTEw7CisJaXRlbS0+YXR0cl9tYXRjaCA9IE5VTEw7CisJaXRlbS0+YXR0cl9tYXRjaF9uciA9IDA7CisKIAkvKiBQQVRIU1BFQ19MSVRFUkFMX1BBVEggaWdub3JlcyBtYWdpYyAqLwogCWlmIChmbGFncyAmIFBBVEhTUEVDX0xJVEVSQUxfUEFUSCkgewogCQltYWdpYyA9IFBBVEhTUEVDX0xJVEVSQUw7CiAJfSBlbHNlIHsKIAkJY29weWZyb20gPSBwYXJzZV9lbGVtZW50X21hZ2ljKCZlbGVtZW50X21hZ2ljLAogCQkJCQkgICAgICAgJnBhdGhzcGVjX3ByZWZpeCwKKwkJCQkJICAgICAgIGl0ZW0sCiAJCQkJCSAgICAgICBlbHQpOwogCQltYWdpYyB8PSBlbGVtZW50X21hZ2ljOwogCQltYWdpYyB8PSBnZXRfZ2xvYmFsX21hZ2ljKGVsZW1lbnRfbWFnaWMpOwpAQCAtMzcyLDcgKzQ1MCw3IEBACiAJICogb3JpZ2luYWwuIFVzZWZ1bCBmb3IgcGFzc2luZyB0byBhbm90aGVyIGNvbW1hbmQuCiAJICovCiAJaWYgKChmbGFncyAmIFBBVEhTUEVDX1BSRUZJWF9PUklHSU4pICYmCi0JICAgIHByZWZpeGxlbiAmJiAhZ2V0X2xpdGVyYWxfZ2xvYmFsKCkpIHsKKwkgICAgIWdldF9saXRlcmFsX2dsb2JhbCgpKSB7CiAJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAogCQkvKiBQcmVzZXJ2ZSB0aGUgYWN0dWFsIHByZWZpeCBsZW5ndGggb2YgZWFjaCBwYXR0ZXJuICovCkBAIC0zODQsMTIgKzQ2Miw2IEBACiAJCWl0ZW0tPm9yaWdpbmFsID0geHN0cmR1cChlbHQpOwogCX0KIAotCWlmIChmbGFncyAmIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9DSEVBUCkKLQkJc3RyaXBfc3VibW9kdWxlX3NsYXNoX2NoZWFwKGl0ZW0pOwotCi0JaWYgKGZsYWdzICYgUEFUSFNQRUNfU1RSSVBfU1VCTU9EVUxFX1NMQVNIX0VYUEVOU0lWRSkKLQkJc3RyaXBfc3VibW9kdWxlX3NsYXNoX2V4cGVuc2l2ZShpdGVtKTsKLQogCWlmIChtYWdpYyAmIFBBVEhTUEVDX0xJVEVSQUwpIHsKIAkJaXRlbS0+bm93aWxkY2FyZF9sZW4gPSBpdGVtLT5sZW47CiAJfSBlbHNlIHsKQEAgLTQxNCwxNSArNDg2LDcgQEAKIAkvKiBzYW5pdHkgY2hlY2tzLCBwYXRoc3BlYyBtYXRjaGVycyBhc3N1bWUgdGhlc2UgYXJlIHNhbmUgKi8KIAlpZiAoaXRlbS0+bm93aWxkY2FyZF9sZW4gPiBpdGVtLT5sZW4gfHwKIAkgICAgaXRlbS0+cHJlZml4ICAgICAgICAgPiBpdGVtLT5sZW4pIHsKLQkJLyoKLQkJICogVGhpcyBjYXNlIGNhbiBiZSB0cmlnZ2VyZWQgYnkgdGhlIHVzZXIgcG9pbnRpbmcgdXMgdG8gYQotCQkgKiBwYXRoc3BlYyBpbnNpZGUgYSBzdWJtb2R1bGUsIHdoaWNoIGlzIGFuIGlucHV0IGVycm9yLgotCQkgKiBEZXRlY3QgdGhhdCBoZXJlIGFuZCBjb21wbGFpbiwgYnV0IGZhbGxiYWNrIGluIHRoZQotCQkgKiBub24tc3VibW9kdWxlIGNhc2UgdG8gYSBCVUcsIGFzIHdlIGhhdmUgbm8gaWRlYSB3aGF0Ci0JCSAqIHdvdWxkIHRyaWdnZXIgdGhhdC4KLQkJICovCi0JCWRpZV9pbnNpZGVfc3VibW9kdWxlX3BhdGgoaXRlbSk7Ci0JCWRpZSAoIkJVRzogaXRlbS0+bm93aWxkY2FyZF9sZW4gPiBpdGVtLT5sZW4gfHwgaXRlbS0+cHJlZml4ID4gaXRlbS0+bGVuKSIpOworCQlkaWUgKCJCVUc6IGVycm9yIGluaXRpYWxpemluZyBwYXRoc3BlY19pdGVtIik7CiAJfQogfQogCkBAIC00NjIsMTAgKzUyNiw2IEBACiAJICAgIHBhdHRlcm4sIHNiLmJ1Zik7CiB9CiAKLS8qCi0gKiBHaXZlbiBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGFuZCBhIHByZWZpeCwgY29udmVydCB0aGUgaW5wdXQgdG8KLSAqIHBhdGhzcGVjLiBkaWUoKSBpZiBhbnkgbWFnaWMgaW4gbWFnaWNfbWFzayBpcyB1c2VkLgotICovCiB2b2lkIHBhcnNlX3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCSAgICB1bnNpZ25lZCBtYWdpY19tYXNrLCB1bnNpZ25lZCBmbGFncywKIAkJICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqKmFyZ3YpCkBAIC01MTYsNyArNTc2LDcgQEAKIAl9CiAKIAlwYXRoc3BlYy0+bnIgPSBuOwotCUFMTE9DX0FSUkFZKHBhdGhzcGVjLT5pdGVtcywgbik7CisJQUxMT0NfQVJSQVkocGF0aHNwZWMtPml0ZW1zLCBuICsgMSk7CiAJaXRlbSA9IHBhdGhzcGVjLT5pdGVtczsKIAlwcmVmaXhsZW4gPSBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDA7CiAKQEAgLTU0MCwxMCArNjAwLDE1IEBACiAJCXBhdGhzcGVjLT5tYWdpYyB8PSBpdGVtW2ldLm1hZ2ljOwogCX0KIAotCWlmIChucl9leGNsdWRlID09IG4pCi0JCWRpZShfKCJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgotCQkgICAgICAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIpKTsKLQorCS8qCisJICogSWYgZXZlcnl0aGluZyBpcyBhbiBleGNsdWRlIHBhdHRlcm4sIGFkZCBvbmUgcG9zaXRpdmUgcGF0dGVybgorCSAqIHRoYXQgbWF0Y2hlcyBldmVyeXRoaW5nLiBXZSBhbGxvY2F0ZWQgYW4gZXh0cmEgb25lIGZvciB0aGlzLgorCSAqLworCWlmIChucl9leGNsdWRlID09IG4pIHsKKwkJaW50IHBsZW4gPSAoIShmbGFncyAmIFBBVEhTUEVDX1BSRUZFUl9DV0QpKSA/IDAgOiBwcmVmaXhsZW47CisJCWluaXRfcGF0aHNwZWNfaXRlbShpdGVtICsgbiwgMCwgcHJlZml4LCBwbGVuLCAiIik7CisJCXBhdGhzcGVjLT5ucisrOworCX0KIAogCWlmIChwYXRoc3BlYy0+bWFnaWMgJiBQQVRIU1BFQ19NQVhERVBUSCkgewogCQlpZiAoZmxhZ3MgJiBQQVRIU1BFQ19LRUVQX09SREVSKQpAQCAtNTU0LDI3ICs2MTksNDYgQEAKIAogdm9pZCBjb3B5X3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqZHN0LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnNyYykKIHsKLQlpbnQgaTsKKwlpbnQgaSwgajsKIAogCSpkc3QgPSAqc3JjOwogCUFMTE9DX0FSUkFZKGRzdC0+aXRlbXMsIGRzdC0+bnIpOwogCUNPUFlfQVJSQVkoZHN0LT5pdGVtcywgc3JjLT5pdGVtcywgZHN0LT5ucik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZHN0LT5ucjsgaSsrKSB7Ci0JCWRzdC0+aXRlbXNbaV0ubWF0Y2ggPSB4c3RyZHVwKHNyYy0+aXRlbXNbaV0ubWF0Y2gpOwotCQlkc3QtPml0ZW1zW2ldLm9yaWdpbmFsID0geHN0cmR1cChzcmMtPml0ZW1zW2ldLm9yaWdpbmFsKTsKKwkJc3RydWN0IHBhdGhzcGVjX2l0ZW0gKmQgPSAmZHN0LT5pdGVtc1tpXTsKKwkJc3RydWN0IHBhdGhzcGVjX2l0ZW0gKnMgPSAmc3JjLT5pdGVtc1tpXTsKKworCQlkLT5tYXRjaCA9IHhzdHJkdXAocy0+bWF0Y2gpOworCQlkLT5vcmlnaW5hbCA9IHhzdHJkdXAocy0+b3JpZ2luYWwpOworCisJCUFMTE9DX0FSUkFZKGQtPmF0dHJfbWF0Y2gsIGQtPmF0dHJfbWF0Y2hfbnIpOworCQlDT1BZX0FSUkFZKGQtPmF0dHJfbWF0Y2gsIHMtPmF0dHJfbWF0Y2gsIGQtPmF0dHJfbWF0Y2hfbnIpOworCQlmb3IgKGogPSAwOyBqIDwgZC0+YXR0cl9tYXRjaF9ucjsgaisrKSB7CisJCQljb25zdCBjaGFyICp2YWx1ZSA9IHMtPmF0dHJfbWF0Y2hbal0udmFsdWU7CisJCQlkLT5hdHRyX21hdGNoW2pdLnZhbHVlID0geHN0cmR1cF9vcl9udWxsKHZhbHVlKTsKKwkJfQorCisJCWQtPmF0dHJfY2hlY2sgPSBhdHRyX2NoZWNrX2R1cChzLT5hdHRyX2NoZWNrKTsKIAl9CiB9CiAKIHZvaWQgY2xlYXJfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKIHsKLQlpbnQgaTsKKwlpbnQgaSwgajsKIAogCWZvciAoaSA9IDA7IGkgPCBwYXRoc3BlYy0+bnI7IGkrKykgewogCQlmcmVlKHBhdGhzcGVjLT5pdGVtc1tpXS5tYXRjaCk7CiAJCWZyZWUocGF0aHNwZWMtPml0ZW1zW2ldLm9yaWdpbmFsKTsKKworCQlmb3IgKGogPSAwOyBqIDwgcGF0aHNwZWMtPml0ZW1zW2ldLmF0dHJfbWF0Y2hfbnI7IGorKykKKwkJCWZyZWUocGF0aHNwZWMtPml0ZW1zW2ldLmF0dHJfbWF0Y2hbal0udmFsdWUpOworCQlmcmVlKHBhdGhzcGVjLT5pdGVtc1tpXS5hdHRyX21hdGNoKTsKKworCQlpZiAocGF0aHNwZWMtPml0ZW1zW2ldLmF0dHJfY2hlY2spCisJCQlhdHRyX2NoZWNrX2ZyZWUocGF0aHNwZWMtPml0ZW1zW2ldLmF0dHJfY2hlY2spOwogCX0KLQlmcmVlKHBhdGhzcGVjLT5pdGVtcyk7Ci0JcGF0aHNwZWMtPml0ZW1zID0gTlVMTDsKKworCUZSRUVfQU5EX05VTEwocGF0aHNwZWMtPml0ZW1zKTsKIAlwYXRoc3BlYy0+bnIgPSAwOwogfQpkaWZmIC0tZ2l0IGEvcGF0aHNwZWMuaCBiL3BhdGhzcGVjLmgKaW5kZXggNDlmZDgyMy4uNjQyMGQxMCAxMDA2NDQKLS0tIGEvcGF0aHNwZWMuaAorKysgYi9wYXRoc3BlYy5oCkBAIC04LDEzICs4LDE1IEBACiAjZGVmaW5lIFBBVEhTUEVDX0dMT0IJCSgxPDwzKQogI2RlZmluZSBQQVRIU1BFQ19JQ0FTRQkJKDE8PDQpCiAjZGVmaW5lIFBBVEhTUEVDX0VYQ0xVREUJKDE8PDUpCisjZGVmaW5lIFBBVEhTUEVDX0FUVFIJCSgxPDw2KQogI2RlZmluZSBQQVRIU1BFQ19BTExfTUFHSUMJICBcCiAJKFBBVEhTUEVDX0ZST01UT1AJfCBcCiAJIFBBVEhTUEVDX01BWERFUFRICXwgXAogCSBQQVRIU1BFQ19MSVRFUkFMCXwgXAogCSBQQVRIU1BFQ19HTE9CCQl8IFwKIAkgUEFUSFNQRUNfSUNBU0UJCXwgXAotCSBQQVRIU1BFQ19FWENMVURFKQorCSBQQVRIU1BFQ19FWENMVURFCXwgXAorCSBQQVRIU1BFQ19BVFRSKQogCiAjZGVmaW5lIFBBVEhTUEVDX09ORVNUQVIgMQkvKiB0aGUgcGF0aHNwZWMgcGF0dGVybiBzYXRpc2ZpZXMgR0ZOTV9PTkVTVEFSICovCiAKQEAgLTMxLDYgKzMzLDE3IEBACiAJCWludCBsZW4sIHByZWZpeDsKIAkJaW50IG5vd2lsZGNhcmRfbGVuOwogCQlpbnQgZmxhZ3M7CisJCWludCBhdHRyX21hdGNoX25yOworCQlzdHJ1Y3QgYXR0cl9tYXRjaCB7CisJCQljaGFyICp2YWx1ZTsKKwkJCWVudW0gYXR0cl9tYXRjaF9tb2RlIHsKKwkJCQlNQVRDSF9TRVQsCisJCQkJTUFUQ0hfVU5TRVQsCisJCQkJTUFUQ0hfVkFMVUUsCisJCQkJTUFUQ0hfVU5TUEVDSUZJRUQKKwkJCX0gbWF0Y2hfbW9kZTsKKwkJfSAqYXR0cl9tYXRjaDsKKwkJc3RydWN0IGF0dHJfY2hlY2sgKmF0dHJfY2hlY2s7CiAJfSAqaXRlbXM7CiB9OwogCkBAIC00NSwyOCArNTgsMjUgQEAKICNkZWZpbmUgUEFUSFNQRUNfUFJFRkVSX0NXRCAoMTw8MCkgLyogTm8gYXJncyBtZWFucyBtYXRjaCBjd2QgKi8KICNkZWZpbmUgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgKDE8PDEpIC8qIE5vIGFyZ3MgbWVhbnMgbWF0Y2ggZXZlcnl0aGluZyAqLwogI2RlZmluZSBQQVRIU1BFQ19NQVhERVBUSF9WQUxJRCAoMTw8MikgLyogbWF4X2RlcHRoIGZpZWxkIGlzIHZhbGlkICovCi0vKiBzdHJpcCB0aGUgdHJhaWxpbmcgc2xhc2ggaWYgdGhlIGdpdmVuIHBhdGggaXMgYSBnaXRsaW5rICovCi0jZGVmaW5lIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9DSEVBUCAoMTw8MykKIC8qIGRpZSBpZiBhIHN5bWxpbmsgaXMgcGFydCBvZiB0aGUgZ2l2ZW4gcGF0aCdzIGRpcmVjdG9yeSAqLwotI2RlZmluZSBQQVRIU1BFQ19TWU1MSU5LX0xFQURJTkdfUEFUSCAoMTw8NCkKLS8qCi0gKiBUaGlzIGlzIGxpa2UgYSBjb21iaW5hdGlvbiBvZiAuLkxFQURJTkdfUEFUSCBhbmQgLi5fU0xBU0hfQ0hFQVAKLSAqIChidXQgbm90IHRoZSBzYW1lKTogaXQgc3RyaXBzIHRoZSB0cmFpbGluZyBzbGFzaCBpZiB0aGUgZ2l2ZW4gcGF0aAotICogaXMgYSBnaXRsaW5rIGJ1dCBhbHNvIGNoZWNrcyBhbmQgZGllcyBpZiBnaXRsaW5rIGlzIHBhcnQgb2YgdGhlCi0gKiBsZWFkaW5nIHBhdGggKGkuZS4gdGhlIGdpdmVuIHBhdGggZ29lcyBiZXlvbmQgYSBzdWJtb2R1bGUpLiBJdCdzCi0gKiBzYWZlciB0aGFuIF9TTEFTSF9DSEVBUCBhbmQgYWxzbyBtb3JlIGV4cGVuc2l2ZS4KLSAqLwotI2RlZmluZSBQQVRIU1BFQ19TVFJJUF9TVUJNT0RVTEVfU0xBU0hfRVhQRU5TSVZFICgxPDw1KQotI2RlZmluZSBQQVRIU1BFQ19QUkVGSVhfT1JJR0lOICgxPDw2KQotI2RlZmluZSBQQVRIU1BFQ19LRUVQX09SREVSICgxPDw3KQorI2RlZmluZSBQQVRIU1BFQ19TWU1MSU5LX0xFQURJTkdfUEFUSCAoMTw8MykKKyNkZWZpbmUgUEFUSFNQRUNfUFJFRklYX09SSUdJTiAoMTw8NCkKKyNkZWZpbmUgUEFUSFNQRUNfS0VFUF9PUkRFUiAoMTw8NSkKIC8qCiAgKiBGb3IgdGhlIGNhbGxlcnMgdGhhdCBqdXN0IG5lZWQgcHVyZSBwYXRocyBmcm9tIHNvbWV3aGVyZSBlbHNlLCBub3QKICAqIGZyb20gY29tbWFuZCBsaW5lLiBHbG9iYWwgLS0qLXBhdGhzcGVjcyBvcHRpb25zIGFyZSBpZ25vcmVkLiBObwogICogbWFnaWMgaXMgcGFyc2VkIGluIGVhY2ggcGF0aHNwZWMgZWl0aGVyLiBJZiBQQVRIU1BFQ19MSVRFUkFMIGlzCiAgKiBhbGxvd2VkLCB0aGVuIGl0IHdpbGwgYXV0b21hdGljYWxseSBzZXQgZm9yIGV2ZXJ5IHBhdGhzcGVjLgogICovCi0jZGVmaW5lIFBBVEhTUEVDX0xJVEVSQUxfUEFUSCAoMTw8OCkKKyNkZWZpbmUgUEFUSFNQRUNfTElURVJBTF9QQVRIICgxPDw2KQogCisvKgorICogR2l2ZW4gY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhbmQgYSBwcmVmaXgsIGNvbnZlcnQgdGhlIGlucHV0IHRvCisgKiBwYXRoc3BlYy4gZGllKCkgaWYgYW55IG1hZ2ljIGluIG1hZ2ljX21hc2sgaXMgdXNlZC4KKyAqCisgKiBBbnkgYXJndW1lbnRzIHVzZWQgYXJlIGNvcGllZC4gSXQgaXMgc2FmZSBmb3IgdGhlIGNhbGxlciB0byBtb2RpZnkKKyAqIG9yIGZyZWUgJ3ByZWZpeCcgYW5kICdhcmdzJyBhZnRlciBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCisgKi8KIGV4dGVybiB2b2lkIHBhcnNlX3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCQkgICB1bnNpZ25lZCBtYWdpY19tYXNrLAogCQkJICAgdW5zaWduZWQgZmxhZ3MsCkBAIC05Myw3ICsxMDMsMTAgQEAKIAkJcmV0dXJuIHN0cmNtcChzMSwgczIpOwogfQogCi1leHRlcm4gY2hhciAqZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKLWV4dGVybiB2b2lkIGFkZF9wYXRoc3BlY19tYXRjaGVzX2FnYWluc3RfaW5kZXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgY2hhciAqc2Vlbik7CitleHRlcm4gdm9pZCBhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCQkJICAgICAgIGNoYXIgKnNlZW4pOworZXh0ZXJuIGNoYXIgKmZpbmRfcGF0aHNwZWNzX21hdGNoaW5nX2FnYWluc3RfaW5kZXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCQkJCSAgIGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKIAogI2VuZGlmIC8qIFBBVEhTUEVDX0ggKi8KZGlmZiAtLWdpdCBhL3BlcmwvR2l0LnBtIGIvcGVybC9HaXQucG0KaW5kZXggYmZjZTFmNy4uZmZhMDlhYyAxMDA2NDQKLS0tIGEvcGVybC9HaXQucG0KKysrIGIvcGVybC9HaXQucG0KQEAgLTYxLDcgKzYxLDggQEAKICAgICAgICAgICAgICAgICByZW1vdGVfcmVmcyBwcm9tcHQKICAgICAgICAgICAgICAgICBnZXRfdHpfb2Zmc2V0IGdldF9yZWNvcmQKICAgICAgICAgICAgICAgICBjcmVkZW50aWFsIGNyZWRlbnRpYWxfcmVhZCBjcmVkZW50aWFsX3dyaXRlCi0gICAgICAgICAgICAgICAgdGVtcF9hY3F1aXJlIHRlbXBfaXNfbG9ja2VkIHRlbXBfcmVsZWFzZSB0ZW1wX3Jlc2V0IHRlbXBfcGF0aCk7CisgICAgICAgICAgICAgICAgdGVtcF9hY3F1aXJlIHRlbXBfaXNfbG9ja2VkIHRlbXBfcmVsZWFzZSB0ZW1wX3Jlc2V0IHRlbXBfcGF0aAorICAgICAgICAgICAgICAgIHVucXVvdGVfcGF0aCk7CiAKIAogPWhlYWQxIERFU0NSSVBUSU9OCkBAIC01MzEsNyArNTMyLDcgQEAKID1jdXQKIAogc3ViIGdldF90el9vZmZzZXQgewotCSMgc29tZSBzeXN0bWVzIGRvbid0IGhhbmRsZSBvciBtaXNoYW5kbGUgJXosIHNvIGJlIGNyZWF0aXZlLgorCSMgc29tZSBzeXN0ZW1zIGRvbid0IGhhbmRsZSBvciBtaXNoYW5kbGUgJXosIHNvIGJlIGNyZWF0aXZlLgogCW15ICR0ID0gc2hpZnQgfHwgdGltZTsKIAlteSAkZ20gPSB0aW1lZ20obG9jYWx0aW1lKCR0KSk7CiAJbXkgJHNpZ24gPSBxdyggKyArIC0gKVsgJGdtIDw9PiAkdCBdOwpAQCAtMTQ1MSw2ICsxNDUyLDU3IEBACiAJcmV0dXJuICRzdHJpbmc7CiB9CiAKKz1pdGVtIHVucXVvdGVfcGF0aCAoIFBBVEggKQorCitVbnF1b3RlIGEgcXVvdGVkIHBhdGggY29udGFpbmluZyBjLWVzY2FwZXMgYXMgcmV0dXJuZWQgYnkgbHMtZmlsZXMgZXRjLgord2hlbiBub3QgdXNpbmcgLXogb3Igd2hlbiBwYXJzaW5nIHRoZSBvdXRwdXQgb2YgZGlmZiAtdS4KKworPWN1dAorCit7CisJbXkgJWNxdW90ZV9tYXAgPSAoCisJCSJhIiA9PiBjaHIoNyksCisJCSJiIiA9PiBjaHIoOCksCisJCSJ0IiA9PiBjaHIoOSksCisJCSJuIiA9PiBjaHIoMTApLAorCQkidiIgPT4gY2hyKDExKSwKKwkJImYiID0+IGNocigxMiksCisJCSJyIiA9PiBjaHIoMTMpLAorCQkiXFwiID0+ICJcXCIsCisJCSJcMDQyIiA9PiAiXDA0MiIsCisJKTsKKworCXN1YiB1bnF1b3RlX3BhdGggeworCQlsb2NhbCAoJF8pID0gQF87CisJCW15ICgkcmV0dmFsLCAkcmVtYWluZGVyKTsKKwkJaWYgKCEvXlwwNDIoLiopXDA0MiQvKSB7CisJCQlyZXR1cm4gJF87CisJCX0KKwkJKCRfLCAkcmV0dmFsKSA9ICgkMSwgIiIpOworCQl3aGlsZSAoL14oW15cXF0qKVxcKC4qKSQvKSB7CisJCQkkcmVtYWluZGVyID0gJDI7CisJCQkkcmV0dmFsIC49ICQxOworCQkJZm9yICgkcmVtYWluZGVyKSB7CisJCQkJaWYgKC9eKFswLTNdWzAtN11bMC03XSkoLiopJC8pIHsKKwkJCQkJJHJldHZhbCAuPSBjaHIob2N0KCQxKSk7CisJCQkJCSRfID0gJDI7CisJCQkJCWxhc3Q7CisJCQkJfQorCQkJCWlmICgvXihbXFxcMDQyYWJ0bnZmcl0pKC4qKSQvKSB7CisJCQkJCSRyZXR2YWwgLj0gJGNxdW90ZV9tYXB7JDF9OworCQkJCQkkXyA9ICQyOworCQkJCQlsYXN0OworCQkJCX0KKwkJCQkjIFRoaXMgaXMgbWFsZm9ybWVkCisJCQkJdGhyb3cgRXJyb3I6OlNpbXBsZSgiaW52YWxpZCBxdW90ZWQgcGF0aCAkX1swXSIpOworCQkJfQorCQkJJF8gPSAkcmVtYWluZGVyOworCQl9CisJCSRyZXR2YWwgLj0gJF87CisJCXJldHVybiAkcmV0dmFsOworCX0KK30KKwogPWl0ZW0gZ2V0X2NvbW1lbnRfbGluZV9jaGFyICggKQogCiBHZXRzIHRoZSBjb3JlLmNvbW1lbnRjaGFyIGNvbmZpZ3VyYXRpb24gdmFsdWUuCmRpZmYgLS1naXQgYS9wZXJsL0dpdC9JMThOLnBtIGIvcGVybC9HaXQvSTE4Ti5wbQppbmRleCBjNDE0MjVjLi44MzZhNWMyIDEwMDY0NAotLS0gYS9wZXJsL0dpdC9JMThOLnBtCisrKyBiL3BlcmwvR2l0L0kxOE4ucG0KQEAgLTc0LDcgKzc0LDcgQEAKIAogCXByaW50ZiBfXygiVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZDogJXNcbiIpLCAkZXJyb3I7CiAKLQlwcmludGYgX19uKCJjb21taXRlZCAlZCBmaWxlXG4iLCAiY29tbWl0ZWQgJWQgZmlsZXNcbiIsICRmaWxlcyksICRmaWxlczsKKwlwcmludGYgX19uKCJjb21taXR0ZWQgJWQgZmlsZVxuIiwgImNvbW1pdHRlZCAlZCBmaWxlc1xuIiwgJGZpbGVzKSwgJGZpbGVzOwogCiAKID1oZWFkMSBERVNDUklQVElPTgpkaWZmIC0tZ2l0IGEvcGVybC9HaXQvU1ZOLnBtIGIvcGVybC9HaXQvU1ZOLnBtCmluZGV4IDk4NTE4ZjQuLmJjNGVlZDMgMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi5wbQorKysgYi9wZXJsL0dpdC9TVk4ucG0KQEAgLTE0MTYsNyArMTQxNiw3IEBACiAJCQlkZWxldGUgJEVOVntUWn07CiAJCX0KIAotCQlteSAkb3VyX1RaID0gZ2V0X3R6X29mZnNldCgpOworCQlteSAkb3VyX1RaID0gZ2V0X3R6X29mZnNldCgkZXBvY2hfaW5fVVRDKTsKIAogCQkjIFRoaXMgY29udmVydHMgJGVwb2NoX2luX1VUQyBpbnRvIG91ciBsb2NhbCB0aW1lem9uZS4KIAkJbXkgKCRzZWMsICRtaW4sICRob3VyLCAkbWRheSwgJG1vbiwgJHllYXIsCmRpZmYgLS1naXQgYS9wa3QtbGluZS5jIGIvcGt0LWxpbmUuYwppbmRleCBkNGI2YmZlLi45M2VhMzExIDEwMDY0NAotLS0gYS9wa3QtbGluZS5jCisrKyBiL3BrdC1saW5lLmMKQEAgLTk0LDkgKzk0LDkgQEAKIGludCBwYWNrZXRfZmx1c2hfZ2VudGx5KGludCBmZCkKIHsKIAlwYWNrZXRfdHJhY2UoIjAwMDAiLCA0LCAxKTsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgIjAwMDAiLCA0KSA9PSA0KQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gZXJyb3IoImZsdXNoIHBhY2tldCB3cml0ZSBmYWlsZWQiKTsKKwlpZiAod3JpdGVfaW5fZnVsbChmZCwgIjAwMDAiLCA0KSA8IDApCisJCXJldHVybiBlcnJvcigiZmx1c2ggcGFja2V0IHdyaXRlIGZhaWxlZCIpOworCXJldHVybiAwOwogfQogCiB2b2lkIHBhY2tldF9idWZfZmx1c2goc3RydWN0IHN0cmJ1ZiAqYnVmKQpAQCAtMTM2LDE5ICsxMzYsMTkgQEAKIHN0YXRpYyBpbnQgcGFja2V0X3dyaXRlX2ZtdF8xKGludCBmZCwgaW50IGdlbnRseSwKIAkJCSAgICAgIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQogewotCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0Jc3NpemVfdCBjb3VudDsKKwlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAorCXN0cmJ1Zl9yZXNldCgmYnVmKTsKIAlmb3JtYXRfcGFja2V0KCZidWYsIGZtdCwgYXJncyk7Ci0JY291bnQgPSB3cml0ZV9pbl9mdWxsKGZkLCBidWYuYnVmLCBidWYubGVuKTsKLQlpZiAoY291bnQgPT0gYnVmLmxlbikKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoIWdlbnRseSkgewotCQljaGVja19waXBlKGVycm5vKTsKLQkJZGllX2Vycm5vKCJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIik7CisJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIGJ1Zi5idWYsIGJ1Zi5sZW4pIDwgMCkgeworCQlpZiAoIWdlbnRseSkgeworCQkJY2hlY2tfcGlwZShlcnJubyk7CisJCQlkaWVfZXJybm8oInBhY2tldCB3cml0ZSB3aXRoIGZvcm1hdCBmYWlsZWQiKTsKKwkJfQorCQlyZXR1cm4gZXJyb3IoInBhY2tldCB3cml0ZSB3aXRoIGZvcm1hdCBmYWlsZWQiKTsKIAl9Ci0JcmV0dXJuIGVycm9yKCJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIik7CisKKwlyZXR1cm4gMDsKIH0KIAogdm9pZCBwYWNrZXRfd3JpdGVfZm10KGludCBmZCwgY29uc3QgY2hhciAqZm10LCAuLi4pCkBAIC0xODMsOSArMTgzLDkgQEAKIAlwYWNrZXRfc2l6ZSA9IHNpemUgKyA0OwogCXNldF9wYWNrZXRfaGVhZGVyKHBhY2tldF93cml0ZV9idWZmZXIsIHBhY2tldF9zaXplKTsKIAltZW1jcHkocGFja2V0X3dyaXRlX2J1ZmZlciArIDQsIGJ1Ziwgc2l6ZSk7Ci0JaWYgKHdyaXRlX2luX2Z1bGwoZmRfb3V0LCBwYWNrZXRfd3JpdGVfYnVmZmVyLCBwYWNrZXRfc2l6ZSkgPT0gcGFja2V0X3NpemUpCi0JCXJldHVybiAwOwotCXJldHVybiBlcnJvcigicGFja2V0IHdyaXRlIGZhaWxlZCIpOworCWlmICh3cml0ZV9pbl9mdWxsKGZkX291dCwgcGFja2V0X3dyaXRlX2J1ZmZlciwgcGFja2V0X3NpemUpIDwgMCkKKwkJcmV0dXJuIGVycm9yKCJwYWNrZXQgd3JpdGUgZmFpbGVkIik7CisJcmV0dXJuIDA7CiB9CiAKIHZvaWQgcGFja2V0X2J1Zl93cml0ZShzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQpAQCAtMjU4LDcgKzI1OCw3IEBACiAJfQogCiAJLyogQW5kIGNvbXBsYWluIGlmIHdlIGRpZG4ndCBnZXQgZW5vdWdoIGJ5dGVzIHRvIHNhdGlzZnkgdGhlIHJlYWQuICovCi0JaWYgKHJldCA8IHNpemUpIHsKKwlpZiAocmV0ICE9IHNpemUpIHsKIAkJaWYgKG9wdGlvbnMgJiBQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GKQogCQkJcmV0dXJuIC0xOwogCkBAIC0zMTUsNyArMzE1LDcgQEAKIAkJCSAgICAgIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUpOwogCWlmIChkc3RfbGVuKQogCQkqZHN0X2xlbiA9IGxlbjsKLQlyZXR1cm4gbGVuID8gcGFja2V0X2J1ZmZlciA6IE5VTEw7CisJcmV0dXJuIChsZW4gPiAwKSA/IHBhY2tldF9idWZmZXIgOiBOVUxMOwogfQogCiBjaGFyICpwYWNrZXRfcmVhZF9saW5lKGludCBmZCwgaW50ICpsZW5fcCkKQEAgLTMyMyw2ICszMjMsMTggQEAKIAlyZXR1cm4gcGFja2V0X3JlYWRfbGluZV9nZW5lcmljKGZkLCBOVUxMLCBOVUxMLCBsZW5fcCk7CiB9CiAKK2ludCBwYWNrZXRfcmVhZF9saW5lX2dlbnRseShpbnQgZmQsIGludCAqZHN0X2xlbiwgY2hhciAqKmRzdF9saW5lKQoreworCWludCBsZW4gPSBwYWNrZXRfcmVhZChmZCwgTlVMTCwgTlVMTCwKKwkJCSAgICAgIHBhY2tldF9idWZmZXIsIHNpemVvZihwYWNrZXRfYnVmZmVyKSwKKwkJCSAgICAgIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkV8UEFDS0VUX1JFQURfR0VOVExFX09OX0VPRik7CisJaWYgKGRzdF9sZW4pCisJCSpkc3RfbGVuID0gbGVuOworCWlmIChkc3RfbGluZSkKKwkJKmRzdF9saW5lID0gKGxlbiA+IDApID8gcGFja2V0X2J1ZmZlciA6IE5VTEw7CisJcmV0dXJuIGxlbjsKK30KKwogY2hhciAqcGFja2V0X3JlYWRfbGluZV9idWYoY2hhciAqKnNyYywgc2l6ZV90ICpzcmNfbGVuLCBpbnQgKmRzdF9sZW4pCiB7CiAJcmV0dXJuIHBhY2tldF9yZWFkX2xpbmVfZ2VuZXJpYygtMSwgc3JjLCBzcmNfbGVuLCBkc3RfbGVuKTsKZGlmZiAtLWdpdCBhL3BrdC1saW5lLmggYi9wa3QtbGluZS5oCmluZGV4IDE4ZWFjNjQuLjY2ZWY2MTAgMTAwNjQ0Ci0tLSBhL3BrdC1saW5lLmgKKysrIGIvcGt0LWxpbmUuaApAQCAtNzQsNiArNzQsMTcgQEAKIGNoYXIgKnBhY2tldF9yZWFkX2xpbmUoaW50IGZkLCBpbnQgKnNpemUpOwogCiAvKgorICogQ29udmVuaWVuY2Ugd3JhcHBlciBmb3IgcGFja2V0X3JlYWQgdGhhdCBzZXRzIHRoZSBQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GCisgKiBhbmQgQ0hPTVBfTkVXTElORSBvcHRpb25zLiBUaGUgcmV0dXJuIHZhbHVlIHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGJ5dGVzCisgKiByZWFkIGludG8gdGhlIGJ1ZmZlciBvciAtMSBvbiB0cnVuY2F0ZWQgaW5wdXQuIElmIHRoZSAqZHN0X2xpbmUgcGFyYW1ldGVyCisgKiBpcyBub3QgTlVMTCBpdCB3aWxsIHJldHVybiBOVUxMIGZvciBhIGZsdXNoIHBhY2tldCBvciB3aGVuIHRoZSBudW1iZXIgb2YKKyAqIGJ5dGVzIGNvcGllZCBpcyB6ZXJvIGFuZCBvdGhlcndpc2UgcG9pbnRzIHRvIGEgc3RhdGljIGJ1ZmZlciAodGhhdCBtYXkgYmUKKyAqIG92ZXJ3cml0dGVuIGJ5IHN1YnNlcXVlbnQgY2FsbHMpLiBJZiB0aGUgc2l6ZSBwYXJhbWV0ZXIgaXMgbm90IE5VTEwsIHRoZQorICogbGVuZ3RoIG9mIHRoZSBwYWNrZXQgaXMgd3JpdHRlbiB0byBpdC4KKyAqLworaW50IHBhY2tldF9yZWFkX2xpbmVfZ2VudGx5KGludCBmZCwgaW50ICpzaXplLCBjaGFyICoqZHN0X2xpbmUpOworCisvKgogICogU2FtZSBhcyBwYWNrZXRfcmVhZF9saW5lLCBidXQgcmVhZCBmcm9tIGEgYnVmIHJhdGhlciB0aGFuIGEgZGVzY3JpcHRvcjsKICAqIHNlZSBwYWNrZXRfcmVhZCBmb3IgZGV0YWlscyBvbiBob3cgc3JjXyogaXMgdXNlZC4KICAqLwpkaWZmIC0tZ2l0IGEvcG8vVEVBTVMgYi9wby9URUFNUwppbmRleCBiMjIxNDAyLi5iMzE4NGNiIDEwMDY0NAotLS0gYS9wby9URUFNUworKysgYi9wby9URUFNUwpAQCAtNTgsNSArNTgsNiBAQAogCiBMYW5ndWFnZToJemhfQ04gKFNpbXBsaWZpZWQgQ2hpbmVzZSkKIFJlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9qaWFuZ3hpbi9naXQvCi1MZWFkZXI6CQlKaWFuZyBYaW4gPHdvcmxkaGVsbG8ubmV0QGdtYWlsLmNvbT4KLU1lbWJlcnM6CVJheSBDaGVuIDxvbGRzaGFycEBnbWFpbC5jb20+CitMZWFkZXI6CQlKaWFuZyBYaW4gPHdvcmxkaGVsbG8ubmV0IEFUIGdtYWlsLmNvbT4KK01lbWJlcnM6CVJheSBDaGVuIDxvbGRzaGFycCBBVCBnbWFpbC5jb20+CisJCeS+neS6kSA8bGlseWRqd2cgQVQgZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvcG8vYmcucG8gYi9wby9iZy5wbwppbmRleCAxNDg4NjJkLi4xOWJlMTcxIDEwMDY0NAotLS0gYS9wby9iZy5wbworKysgYi9wby9iZy5wbwpAQCAtOSw3ICs5LDEyIEBACiAjIHJhbmdlINC00LjQsNC/0LDQt9C+0L0KICMgdW5yZWFjaGFibGUgb2JqZWN0INC90LXQtNC+0YHRgtC40LbQuNC8INC+0LHQtdC60YIKICMgZGFuZ2xpbmcgb2JqZWN0cyDQvtCx0LXQutGCINC40LfQstGK0L0g0LrQu9C+0L0KLSMgZmFzdC1mb3J3YXJkINGC0YDQuNCy0LjQsNC70L3QviDRgdC70LjQstCw0L3QtQorIyBmYXN0LWZvcndhcmQg0L/RgNC10LLRitGA0YLQsNC90LUKKyMgdHJlZS1sZXZlbCBtZXJnZSDRgtGA0LjQstC40LDQu9C90L4g0YHQu9C40LLQsNC90LUgKNGA0LDQt9C70LjRh9C90Lgg0YTQsNC50LvQvtCy0LUg0YHQsCDQv9GA0L7QvNC10L3Rj9C90LgsINGB0LvQuNCy0LAg0YHQtSDQutCw0YLQviDQtNGK0YDQstC+KQorIyBhdXRvbWF0aWMgbWVyZ2Ug0LDQstGC0L7QvNCw0L3QuNGH0L3QviDRgdC70LjQstCw0LLQtSAo0LXQtNC90LDQutCy0Lgg0YTQsNC50LvQvtCy0LUg0YHQsCDQv9GA0L7QvNC10L3Rj9C90LgsINC90L4g0LIg0L3QtdC/0YDQuNC/0L7QutGA0LjQstCw0YnQuCDRgdC1INGH0LDRgdGC0LgpCisjIHJlYWwgbWVyZ2Ug0YHRitGJ0LjQvdGB0LrQviDRgdC70LjQstCw0L3QtSAo0LAg0L3QtSDQv9GA0LXQstGK0YDRgtCw0L3QtSkKKyMgdGhyZWUtd2F5IG1lcmdlINGC0YDQvtC50L3QviDRgdC70LjQstCw0L3QtQorIyBvY3RvcHVzIG1lcmdlINC80L3QvtC20LXRgdGC0LLQtdC90L4g0YHQu9C40LLQsNC90LUKICMgc3RhbGUgcmVtb3RlINGB0YLQsNGA0L4g0YXRgNCw0L3QuNC70LjRidC1CiAjIHJlYmFzZSDQv9GA0LXQsdCw0LfQuNGA0LDQvAogIyBmb3JjZSAocHVzaCkg0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC40LfRgtC70LDRgdC60LLQsNC8CkBAIC0yOCw2ICszMyw3IEBACiAjIGNvdmVyIGxldHRlciDQv9GA0LjQtNGA0YPQttCw0LLQsNGJ0L4g0L/QuNGB0LzQvgogIyByZWZlcmVuY2UgcmVwb3NpdG9yeSDQtdGC0LDQu9C+0L3QvdC+INGF0YDQsNC90LjQu9C40YnQtQogIyBncmFmdGVkIHJlcG9zaXRvcnkg0YXRgNCw0L3QuNC70LjRidC1INGBINC/0YDQuNGB0LDQttC00LDQvdC1CisjIGVtYmVkZGVkIHJlcG9zaXRvcnkg0LLQs9GA0LDQtNC10L3Qvi/QstGK0YLRgNC10YjQvdC+INGF0YDQsNC90LjQu9C40YnQtSAo0LTQvtCx0LDQstGP0L3QtdGC0L4g0LzRgyDQtSDQs9GA0LXRiNC60LApCiAjIHRoaW4gcGFjayDRgdGK0LrRgNCw0YLQtdC9INC/0LDQutC10YIKICMgc3RhdCAoYSBmaWxlKSDQv9C+0LvRg9GH0LDQstCw0Lwg0LjQvdGE0L7RgNC80LDRhtC40Y8g0YfRgNC10Lcg4oCec3RhdOKAnCAo0LfQsCDRhNCw0LnQuykKICMgbWl4ZWQgcmVzZXQg0YHQvNC10YHQtdC90L4g0LfQsNC90YPQu9GP0LLQsNC90LUgKNC40L3QtNC10LrRgdCwINC4INGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcLCDQsdC10Lcg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4pCkBAIC00NCw3ICs1MCw2IEBACiAjIHRvcGljIGJyYW5jaCDRgtC10LzQsNGC0LjRh9C10L0g0LrQu9C+0L0KICMgZW1wdHkgaGVhZCDQstGA0YrRhSDQsdC10Lcg0LjRgdGC0L7RgNC40Y8KICMgdHJlZS1pc2gg0YPQutCw0LfQsNGC0LXQuyDQutGK0Lwg0LTRitGA0LLQvgotIyB0aHJlZS13YXkgbWVyZ2Ug0YLRgNC+0LnQvdC+INGB0LvQuNCy0LDQvdC1CiAjIGRpcnR5INC90LXRh9C40YHRgiwg0LzRgNGK0YHQtdC9ICjRhNCw0LnQuywg0LjQvdC00LXQutGBKQogIyBmYWxsYmFjayDRgNC10LfQtdGA0LLQtdC9INCy0LDRgNC40LDQvdGCCiAjIHBhdGhzcGVjIG1hZ2ljINC+0L/RhtC40Y8g0LfQsCDQvNCw0LPQuNGH0LXRgdC60Lgg0L/RitGC0LjRidCwCkBAIC01Myw2ICs1OCw3IEBACiAjIHBsdW1iaW5nINC60L7QvNCw0L3QtNC4INC+0YIg0YHQuNGB0YLQtdC80L3QviDQvdC40LLQvgogIyBwb3JjZWxhaW4g0LrQvtC80LDQvdC00Lgg0L7RgiDQv9C+0YLRgNC10LHQuNGC0LXQu9GB0LrQviDQvdC40LLQvgogIyBwYWNrIFtub3VuXSDQv9Cw0LrQtdGC0LXQvSDRhNCw0LnQuyAtIGZpeG1lIGluIGdsb3NzYXJ5CisjIHJlcGFjayDQv9GA0LXQv9Cw0LrQtdGC0LjRgNCw0LwKICMgbWFpbmxpbmUg0LHQsNC30L7QstC+INC/0L7QtNCw0LLQsNC90LUgLSDQv9GA0LggY2hlcnJ5LXBpY2sg0L3QsCBtZXJnZSAtINC60YrQvCDQutC+0Y8g0LLQtdGA0YHQuNGPINC00LAg0YHQtSDQuNC30YfQuNGB0LvRj9Cy0LAg0YDQsNC30LvQuNC60LDRgtCwCiAjIHRva2VuINC70LXQutGB0LXQvNCwCiAjIHRyYWlsZXIg0LXQv9C40LvQvtCzL9C30LDQstGK0YDRiNC10Log0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LUKQEAgLTczLDQ1ICs3OSwyMyBAQAogIyBiaW5hcnkgcGF0Y2gg0LTQstC+0LjRh9C90LAg0LrRgNGK0L/QutCwCiAjIHJldmVyc2UtYXBwbHkg0L/RgNC40LvQsNCz0LDQvCDQsiDQvtCx0YDQsNGC0L3QsCDQv9C+0YHQvtC60LAKICMgdG9kbyBmaWxlINC60L7QvNCw0L3QtNC10L0g0YTQsNC50LsKLSMgb2N0b3B1cyBtZXJnZSDQvNC90L7QttC10YHRgtCy0LXQvdC+INGB0LvQuNCy0LDQvdC1CiAjIGFsdGVybmF0ZSDQsNC70YLQtdGA0L3QsNGC0LjQstC10L0g0LjQt9GC0L7Rh9C90LjQugogIyBzdXBlcnByb2plY3Qg0L7QsdGF0LLQsNGJ0LDRiSDQv9GA0L7QtdC60YIKLSMgLS0tLQorIyBzcGxpdCBpbmRleCDRgNCw0LfQtNC10LvRj9C90LUg0L3QsCDQuNC90LTQtdC60YHQsAorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMg4oCeJHZhcuKAnCAtINC80L7QttC1INC00LAg0L3QtSDRgdGA0LDQsdC+0YLQstCwINC30LAgc2hlbGwg0LjQvNCwIGdldHRleHQg0LggZXZhbF9nZXR0ZXh0IC0g0L/RgNC+0LLQtdGA0LrQsCAtINC90LDQvNC40YDQsNGCINGB0LUg0LvQtdGB0L3QviDQv9C+IOKAniQKLSMgPT09PT09PT09PT09PT09PT09PT09PT09Ci0jIOKAnuKAnOKApuKAlCDil4/iiavRneKGkgotIwotIyBjb25zaXN0ZW5jeSBiZXR3ZWVuIHN0ZG91dCAtIHN0YW5kYXJkIG91dHB1dC8gc3RkaW4gLSBzdGFuZGFyZCBpbnB1dC8gc3RkZXJyIC0gc3RhbmRhcmQgZXJyb3IKLSMKLSMKLSMgPT09PT09PT09PT09PT09PT09PT09PT09Ci0jIFJFQ0hFQ0sKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIEZJWE1FCiAjIEhFQUQgYXMgYSByZWZlcmVuY2UgdnMgaGVhZCBvZiBhIGJyYW5jaAogIyBnaXQgdXBkYXRlLWluZGV4IC1oINC40LfQstC10LbQtNCwINGB0LDQvNC+INC10LTQuNC9INGA0LXQtCwg0LAg0L3QtSDRhtGP0LvQsNGC0LAg0L/QvtC80L7RiSDQt9CwINC+0L/RhtC40LjRgtC1CiAjIGdpdCBmZXRjaCAtLWFsINGA0LDQsdC+0YLQuCDQv9C+0LTQvtCx0L3QviDQvdCwIC0tYWxsCi0jID09PT09PT09PT09PT09PT09PT09PT09PQotIyBHRU5FUkFURSBTVEFUUwotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgZ3JlcCBeIzogYmcucG8gfCBjdXQgLWM0LSB8dHIgJyAnICdcbid8IHNlZCAtZSAncy86WzAtOV1bMC05XSovLycgLWUgJ3MlLiovJSUnIC1lICdzL1suXVteLl0qJC8vJyA+IE9VVAotIyBzb3J0IC11IE9VVCA+IFVOSVFVRQotIyBmb3IgaSBpbiBgY2F0IFVOSVFVRWA7IGRvIGVjaG8gYGdyZXAgIl4kaSQiIE9VVCB8IHdjIC1sYCAkaSA7IGRvbmUgfCBzb3J0IC1uciA+IFNUQVRTCi0jCi0jID09PT09PT09PT09PT09PT09PT09PT09PQotIyBGSU5EIE5PTiBGVUxMWSBUUkFOU0xBVEVECi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBtc2dhdHRyaWIgLS11bnRyYW5zbGF0ZWQgYmcucG8gPiB1bnRyYW5zbGF0ZWQucG8KLSMgbXNnYXR0cmliIC0tb25seS1mdXp6eSBiZy5wbyA+IGZ1enp5LnBvCi0jIG1zZ2NhdC5leGUgdW50cmFuc2xhdGVkLnBvIGZ1enp5LnBvID4gbmV3LnBvCi0jIGdyZXAgXiM6IG5ldy5wbyB8IGN1dCAtYzQtIHx0ciAnICcgJ1xuJ3wgc2VkIC1lICdzLzpbMC05XVswLTldKi8vJyAtZSAncyUuKi8lJScgLWUgJ3MvWy5dW14uXSokLy8nIHwgc29ydCAtdQogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0IG1hc3RlclxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjUwKzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTAxLTI4IDE5OjM0KzAyMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wNy0yNCAyMTo1NCswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNy0wNy0yNCAxNzoyNiswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAa2FtYmFuYXJpYS5vcmc+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogQnVsZ2FyaWFuIDxkaWN0QGZzYS1iZy5vcmc+XG4iCiAiTGFuZ3VhZ2U6IGJnXG4iCkBAIC0xMjAsMzggKzEwNCwzNyBAQAogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKIAotIzogYWR2aWNlLmM6NTUKKyM6IGFkdmljZS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImhpbnQ6ICUuKnNcbiIKIG1zZ3N0ciAi0J/QvtC00YHQutCw0LfQutCwOiAlLipzXG4iCiAKLSM6IGFkdmljZS5jOjgzCisjOiBhZHZpY2UuYzo4NgogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi0J7RgtCx0LjRgNCw0L3QtdGC0L4g0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8g0LUg0LHQu9C+0LrQuNGA0LDQvdC+INC+0YIg0L3QtdGB0LvQtdGC0Lgg0YTQsNC50LvQvtCy0LUuIgogCi0jOiBhZHZpY2UuYzo4NQorIzogYWR2aWNlLmM6ODgKIG1zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4g0LUg0LHQu9C+0LrQuNGA0LDQvdC+INC+0YIg0L3QtdGB0LvQtdGC0Lgg0YTQsNC50LvQvtCy0LUuIgogCi0jOiBhZHZpY2UuYzo4NworIzogYWR2aWNlLmM6OTAKIG1zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi0KHQu9C40LLQsNC90LXRgtC+INC1INCx0LvQvtC60LjRgNCw0L3QviDQvtGCINC90LXRgdC70LXRgtC4INGE0LDQudC70L7QstC1LiIKIAotIzogYWR2aWNlLmM6ODkKKyM6IGFkdmljZS5jOjkyCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCY0LfQtNGK0YDQv9Cy0LDQvdC10YLQviDQtSDQsdC70L7QutC40YDQsNC90L4g0L7RgiDQvdC10YHQu9C10YLQuCDRhNCw0LnQu9C+0LLQtS4iCiAKLSM6IGFkdmljZS5jOjkxCisjOiBhZHZpY2UuYzo5NAogbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCe0YLQvNGP0L3QsNGC0LAg0LUg0LHQu9C+0LrQuNGA0LDQvdCwINC+0YIg0L3QtdGB0LvQtdGC0Lgg0YTQsNC50LvQvtCy0LUuIgogCi0jOiBhZHZpY2UuYzo5MworIzogYWR2aWNlLmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLQlNC10LnRgdGC0LLQuNC10YLQviDigJ4lc+KAnCDQtSDQsdC70L7QutC40YDQsNC90L4g0L7RgiDQvdC10YHQu9C10YLQuCDRhNCw0LnQu9C+0LLQtS4iCiAKLSMgVFJBTlNGRVIKLSM6IGFkdmljZS5jOjEwMQorIzogYWR2aWNlLmM6MTA0CiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKQEAgLTE1OSwyMyArMTQyLDIzIEBACiAi0KDQtdC00LDQutGC0LjRgNCw0LnRgtC1INCz0Lgg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4sINC4INGC0L7Qs9Cw0LLQsCDQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGFkZC9ybSDQpNCQ0JnQm+KAnFxuIgogItC30LAg0LTQsCDQvtGC0LHQtdC70LXQttC40YLQtSDQutC+0YDQuNCz0LjRgNCw0L3QtdGC0L4g0LjQvC4gINCh0LvQtdC0INGC0L7QstCwINC40LfQstGK0YDRiNC10YLQtSDQv9C+0LTQsNCy0LDQvdC10YLQvi4iCiAKLSM6IGFkdmljZS5jOjEwOQorIzogYWR2aWNlLmM6MTEyCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICLQmNC30YXQvtC0INC+0YIg0L/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsNGA0LDQtNC4INC90LXQutC+0YDQuNCz0LjRgNCw0L0g0LrQvtC90YTQu9C40LrRgi4iCiAKLSM6IGFkdmljZS5jOjExNCBidWlsdGluL21lcmdlLmM6MTE4MQorIzogYWR2aWNlLmM6MTE3IGJ1aWx0aW4vbWVyZ2UuYzoxMTg0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICLQndC1INGB0YLQtSDQt9Cw0LLRitGA0YjQuNC70Lgg0YHQu9C40LLQsNC90LUuICAo0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeTUVSR0VfSEVBROKAnCDRgdGK0YnQtdGB0YLQstGD0LLQsCkuIgogCi0jOiBhZHZpY2UuYzoxMTYKKyM6IGFkdmljZS5jOjExOQogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgItCf0YDQvtC80LXQvdC40YLQtSDRgtGA0Y/QsdCy0LAg0LTQsCDRgdC1INC/0L7QtNCw0LTQsNGCINC/0YDQtdC00Lgg0YHQu9C40LLQsNC90LUuIgogCi0jOiBhZHZpY2UuYzoxMTcKKyM6IGFkdmljZS5jOjEyMAogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAi0JjQt9GF0L7QtCDQvtGCINC/0YDQvtCz0YDQsNC80LDRgtCwINC30LDRgNCw0LTQuCDQvdC10LfQsNCy0YrRgNGI0LXQvdC+INGB0LvQuNCy0LDQvdC1LiIKIAotIzogYWR2aWNlLmM6MTIzCisjOiBhZHZpY2UuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdGU6IGNoZWNraW5nIG91dCAnJXMnLlxuIgpAQCAtMjA0LDkwICsxODcsMTAwIEBACiAiICBnaXQgY2hlY2tvdXQgLWIg0JjQnNCVX9Cd0JBf0J3QntCSX9Ca0JvQntCdXG4iCiAiXG4iCiAKLSM6IGFwcGx5LmM6NTcKKyM6IGFwcGx5LmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQsCDQvtC/0YbQuNGPINC30LAg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70Lgg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6NzMKKyM6IGFwcGx5LmM6NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L7Qv9GG0LjRjyDQt9CwINC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70Lgg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6MTI1CisjOiBhcHBseS5jOjEyNgogbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLXJlamVjdOKAnCDQuCDigJ4tLTN3YXnigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEyOAogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWNhY2hlZOKAnCDQuCDigJ4tLTN3YXnigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGFwcGx5LmM6MTMwCisjOiBhcHBseS5jOjEzMQogbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0LrQsNGC0L4g4oCeLS0zd2F54oCcLCDQvdC+INC40LfQstGK0L0g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBhcHBseS5jOjE0MQorIzogYXBwbHkuYzoxNDIKIG1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICLQutCw0YLQviDigJ4tLWluZGV44oCcLCDQvdC+INC40LfQstGK0L0g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBhcHBseS5jOjE0NAorIzogYXBwbHkuYzoxNDUKIG1zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0LrQsNGC0L4g4oCeLS1jYWNoZWTigJwsINC90L4g0LjQt9Cy0YrQvSDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGFwcGx5LmM6ODQ1CisjOiBhcHBseS5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgogbXNnc3RyICLQoNC10LPRg9C70Y/RgNC90LjRj9GCINC40LfRgNCw0Lcg0LfQsCDQstGA0LXQvNC10YLQviDigJ4lc+KAnCDQvdC1INC80L7QttC1INC30LAg0LHRitC00LUg0LrQvtC80L/QuNC70LjRgNCw0L0iCiAKLSM6IGFwcGx5LmM6ODU0CisjOiBhcHBseS5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgItCg0LXQs9GD0LvRj9GA0L3QuNGP0YIg0LjQt9GA0LDQtyDQstGK0YDQvdCwICVkINC/0YDQuCDQv9C+0LTQsNC00LXQvdCwINC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9C90L7RgdGCIOKAniVz4oCcINC90LAg0LLRhdC+0LTQsCIKIAotIzogYXBwbHkuYzo5MzgKKyM6IGFwcGx5LmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgItCb0LjQv9GB0LLQsCDQuNC80LUg0L3QsCDRhNCw0LnQuyDQvdCwINGA0LXQtCAlZCDQvtGCINC60YDRitC/0LrQsNGC0LAiCiAKLSM6IGFwcGx5LmM6OTc3CisjOiBhcHBseS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6INC70L7RiCDQuNC30YXQvtC0INC+0YIg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1kaWZm4oCcIOKAlCDQvdCwINGA0LXQtCAlMiRkINGB0LUg0L7Rh9Cw0LrQstCw0YjQtSDigJ4vZGV2LyIKICJudWxs4oCcLCDQsCDQsdC1INC/0L7Qu9GD0YfQtdC9IOKAniUxJHPigJwiCiAKLSM6IGFwcGx5LmM6OTgzCisjOiBhcHBseS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTog0LvQvtGIINC40LfRhdC+0LQg0L7RgiDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LWRpZmbigJwg4oCUINC90LAg0YDQtdC0ICVkINCx0LUg0L/QvtC70YPRh9C10L3QviAiCiAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L3QvtCyINGE0LDQudC7IgogCi0jOiBhcHBseS5jOjk4NAorIzogYXBwbHkuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6INC70L7RiCDQuNC30YXQvtC0INC+0YIg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1kaWZm4oCcIOKAlCDQvdCwINGA0LXQtCAlZCDQsdC1INC/0L7Qu9GD0YfQtdC90L4gIgogItC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINGB0YLQsNGAINGE0LDQudC7IgogCi0jOiBhcHBseS5jOjk5MAorIzogYXBwbHkuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTog0LvQvtGIINC40LfRhdC+0LQg0L7RgiDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LWRpZmbigJwg4oCUINC90LAg0YDQtdC0ICVkINGB0LUg0L7Rh9Cw0LrQstCw0YjQtSDigJ4vZGV2LyIKICJudWxs4oCcIgogCi0jOiBhcHBseS5jOjE0ODgKKyM6IGFwcGx5LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCittc2dzdHIgItCz0YDQtdGI0LXQvSDRgNC10LbQuNC8INC90LAg0YDQtdC0IOKEliVkOiAlcyIKKworIzogYXBwbHkuYzoxMzI2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgorbXNnc3RyICLQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0LfQsNCz0LvQsNCy0L3QuCDRh9Cw0YHRgtC4INC90LAg0YDQtdC00L7QstC1IOKEliVkINC4IOKEliVkIgorCisjOiBhcHBseS5jOjE0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgogbXNnc3RyICLQv9GA0Lgg0L/QvtCy0YLQvtGA0L3QvtGC0L4g0L/RgNC10LHRgNC+0Y/QstCw0L3QtSDQsdC1INC/0L7Qu9GD0YfQtdC9INC90LXQvtGH0LDQutCy0LDQvSDRgNC10LQ6IOKAniUuKnPigJwiCiAKLSM6IGFwcGx5LmM6MTU1NworIzogYXBwbHkuYzoxNTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgItGH0LDRgdGCINC+0YIg0LrRgNGK0L/QutCwINCx0LXQtyDQt9Cw0LPQu9Cw0LLQvdCwINGH0LDRgdGCINC90LAg0YDQtdC0ICVkOiAlLipzIgogCi0jOiBhcHBseS5jOjE1NzcKKyM6IGFwcGx5LmM6MTU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCkBAIC0zMDIsNzEgKzI5NSw3MSBAQAogItCh0LvQtdC0INGB0YrQutGA0LDRidCw0LLQsNC90LXRgtC+INC90LAg0L/RitGA0LLQuNGC0LUgJWQg0YfQsNGB0YLQuCDQvtGCINC60L7QvNC/0L7QvdC10L3RgtC40YLQtSDQvdCwINC/0YrRgtGPLCDQsiDQt9Cw0LPQu9Cw0LLQvdCw0YLQsCAiCiAi0YfQsNGB0YIg0L3QsCDigJ5naXQgZGlmZuKAnCDQu9C40L/RgdCy0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQuNC80LUg0L3QsCDRhNCw0LnQuyAo0YDQtdC0OiAlZCkiCiAKLSM6IGFwcGx5LmM6MTU4OQorIzogYXBwbHkuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgIiIKICLQsiDQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDQvdCwIOKAnmdpdCBkaWZm4oCcINC70LjQv9GB0LLQsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC40LzQtSDQvdCwINGE0LDQudC7ICjRgNC10LQ6ICVkKSIKIAotIzogYXBwbHkuYzoxNzU5CisjOiBhcHBseS5jOjE3NzAKIG1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAi0L3QvtCy0LjRj9GCINGE0LDQudC7INC30LDQstC40YHQuCDQvtGCINGB0YLQsNGA0L7RgtC+INGB0YrQtNGK0YDQttCw0L3QuNC1INC90LAg0YTQsNC50LvQsCIKIAotIzogYXBwbHkuYzoxNzYxCisjOiBhcHBseS5jOjE3NzIKIG1zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgogbXNnc3RyICLQuNC30YLRgNC40YLQuNGP0YIg0YTQsNC50Lsg0L3QtSDQtSDQv9GA0LDQt9C10L0iCiAKLSM6IGFwcGx5LmM6MTc5NQorIzogYXBwbHkuYzoxODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINCyINC60YDRitC/0LrQsNGC0LAg0L3QsCDRgNC10LQgJWQiCiAKLSM6IGFwcGx5LmM6MTgzMgorIzogYXBwbHkuYzoxODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICLQvdC+0LLQuNGP0YIg0YTQsNC50Lsg4oCeJXPigJwg0LfQsNCy0LjRgdC4INC+0YIg0YHRgtCw0YDQvtGC0L4g0YHRitC00YrRgNC20LDQvdC40LUg0L3QsCDRhNCw0LnQu9CwIgogCi0jOiBhcHBseS5jOjE4MzQKKyM6IGFwcGx5LmM6MTg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgogbXNnc3RyICLQuNC30YLRgNC40YLQuNGP0YIg0YTQsNC50Lsg4oCeJXPigJwg0L3QtSDQtSDQv9GA0LDQt9C10L0iCiAKLSM6IGFwcGx5LmM6MTgzNworIzogYXBwbHkuYzoxODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIuKXjyDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRhNCw0LnQu9GK0YIg4oCeJXPigJwg0LLQtdGH0LUg0LUg0L/RgNCw0LfQtdC9LCDQvdC+INC90LUg0LUg0LjQt9GC0YDQuNGCIgogCi0jOiBhcHBseS5jOjE5ODQKKyM6IGFwcGx5LmM6MTk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0LIg0LTQstC+0LjRh9C90LDRgtCwINC60YDRitC/0LrQsCDQvdCwINGA0LXQtCAlZDogJS4qcyIKIAotIzogYXBwbHkuYzoyMDIxCisjOiBhcHBseS5jOjIwMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICLQvdC10YDQsNC30L/QvtC30L3QsNGC0LAg0LTQstC+0LjRh9C90LDRgtCwINC60YDRitC/0LrQsCDQvdCwINGA0LXQtCAlZCIKIAotIzogYXBwbHkuYzoyMTgyCisjOiBhcHBseS5jOjIxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKIG1zZ3N0ciAi0LrRgNGK0L/QutCw0YLQsCDQtSDRgSDQuNC30YbRj9C70L4g0L/QvtCy0YDQtdC00LXQvdC4INC00LDQvdC90Lgg0L3QsCDRgNC10LQgJWQiCiAKLSM6IGFwcGx5LmM6MjI3NAorIzogYXBwbHkuYzoyMjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCiBtc2dzdHIgItGB0LjQvNCy0L7Qu9C90LDRgtCwINCy0YDRitC30LrQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdCwIgogCi0jOiBhcHBseS5jOjIyNzgKKyM6IGFwcGx5LmM6MjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9INC40LvQuCDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBhcHBseS5jOjI5MzEKKyM6IGFwcGx5LmM6MjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC90LDRh9Cw0LvQviDQvdCwINGA0LXQtDog4oCeJWPigJwiCiAKLSM6IGFwcGx5LmM6MzA1MAorIzogYXBwbHkuYzozMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKIG1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKQEAgLTM3NSwxMyArMzY4LDEzIEBACiBtc2dzdHJbMV0gIiIKICIlZC3RgtC+INC/0LDRgNGH0LUg0LrQvtC0INCx0LUg0YPRgdC/0LXRiNC90L4g0L/RgNC40LvQvtC20LXQvdC+INC90LAg0YDQtdC0ICVkICjQvtGC0LzQtdGB0YLQstCw0L3QtSDQvtGCICVkINGA0LXQtNCwKS4iCiAKLSM6IGFwcGx5LmM6MzA2MgorIzogYXBwbHkuYzozMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCiBtc2dzdHIgIiIKICLQmtC+0L3RgtC10LrRgdGC0YrRgiDQtSDQvdCw0LzQsNC70LXQvSDQvdCwICglbGQvJWxkKSDQt9CwINC/0YDQuNC70LDQs9Cw0L3QtdGC0L4g0L3QsCDQv9Cw0YDRh9C10YLQviDQutC+0LQg0L3QsCDRgNC10LQgJWQiCiAKLSM6IGFwcGx5LmM6MzA2OAorIzogYXBwbHkuYzozMDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgpAQCAtMzkwLDI5MyArMzgzLDI5MyBAQAogItC/0YDQuCDRgtGK0YDRgdC10L3QtSDQt9CwOlxuIgogIiUuKnMiCiAKLSM6IGFwcGx5LmM6MzA5MAorIzogYXBwbHkuYzozMDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCiBtc2dzdHIgItC70LjQv9GB0LLQsNGCINC00LDQvdC90LjRgtC1INC30LAg0LTQstC+0LjRh9C90LDRgtCwINC60YDRitC/0LrQsCDQt9CwIOKAniVz4oCcIgogCi0jOiBhcHBseS5jOjMwOTgKKyM6IGFwcGx5LmM6MzEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAiIgogItC00LLQvtC40YfQvdCw0YLQsCDQutGA0YrQv9C60LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC40LvQvtC20Lgg0LIg0L7QsdGA0LDRgtC90LAg0L/QvtGB0L7QutCwLCDQutC+0LPQsNGC0L4g0L7QsdGA0LDRgtC90L7RgtC+ICIKICLQv9Cw0YDRh9C1INC30LAg4oCeJXPigJwg0LvQuNC/0YHQstCwIgogCi0jOiBhcHBseS5jOjMxNDQKKyM6IGFwcGx5LmM6MzE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCiBtc2dzdHIgItC60YrQvCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LjQu9C+0LbQuCDQtNCy0L7QuNGH0L3QsCDQutGA0YrQv9C60LAg0LHQtdC3INC/0YrQu9C10L0g0LjQvdC00LXQutGBIgogCi0jOiBhcHBseS5jOjMxNTQKKyM6IGFwcGx5LmM6MzE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCiBtc2dzdHIgItC60YDRitC/0LrQsNGC0LAg0YHRitC+0YLQstC10YLRgdGC0LLQsCDQvdCwIOKAniVz4oCcICglcyksINC60L7QudGC0L4g0L3QtSDRgdGK0LLQv9Cw0LTQsCDQv9C+INGB0YrQtNGK0YDQttCw0L3QuNC1LiIKIAotIzogYXBwbHkuYzozMTYyCisjOiBhcHBseS5jOjMxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgogbXNnc3RyICLQutGA0YrQv9C60LDRgtCwINGB0YrQvtGC0LLQtdGC0YHRgtCy0LAg0L3QsCDigJ4lc+KAnCwg0LrQvtC50YLQviDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDQv9GA0LDQt9C10L0sINC90L4g0L3QtSDQtSIKIAotIzogYXBwbHkuYzozMTgwCisjOiBhcHBseS5jOjMxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIiIKICLQvdC10L7QsdGF0L7QtNC40LzQuNGP0YIg0YDQtdC30YPQu9GC0LDRgiDRgdC70LXQtCDQvtC/0LXRgNCw0YbQuNGP0YLQsCAg4oCUIOKAniVz4oCcINC30LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1ICIKICLQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBhcHBseS5jOjMxOTMKKyM6IGFwcGx5LmM6MzE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKIG1zZ3N0ciAi0LTQstC+0LjRh9C90LDRgtCwINC60YDRitC/0LrQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwINCy0YrRgNGF0YMg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6MzE5OQorIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgogbXNnc3RyICIiCiAi0LTQstC+0LjRh9C90LDRgtCwINC60YDRitC/0LrQsCDQt9CwIOKAniVz4oCcINCy0L7QtNC4INC00L4g0L3QtdC/0YDQsNCy0LjQu9C90Lgg0YDQtdC30YPQu9GC0LDRgtC4ICjQvtGH0LDQutCy0LDRiNC1INGB0LU6IOKAniVz4oCcLCDQsCAiCiAi0LHQtSDQv9C+0LvRg9GH0LXQvdC+OiDigJ4lc+KAnCkiCiAKLSM6IGFwcGx5LmM6MzIyMAorIzogYXBwbHkuYzozMjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0LrRgNGK0L/QutCwOiDigJ4lczolbGTigJwiCiAKLSM6IGFwcGx5LmM6MzM0MgorIzogYXBwbHkuYzozMzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9GC0LXQs9C70LgiCiAKLSM6IGFwcGx5LmM6MzM5MCBhcHBseS5jOjM0MDEgYXBwbHkuYzozNDQ3IHNldHVwLmM6MjQ4CisjOiBhcHBseS5jOjMzOTIgYXBwbHkuYzozNDAzIGFwcGx5LmM6MzQ0OSBzZXR1cC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBhcHBseS5jOjMzOTgKKyM6IGFwcGx5LmM6MzQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg4oCeJXPigJwg0YHQu9C10LQg0L/RgNC+0YHQu9C10LTRj9Cy0LDQvdC1INC90LAg0YHQuNC80LLQvtC70L3QsCDQstGA0YrQt9C60LAiCiAKLSM6IGFwcGx5LmM6MzQyNyBhcHBseS5jOjM2NjcKKyM6IGFwcGx5LmM6MzQyOSBhcHBseS5jOjM2NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCINGBINC/0YrRgiDigJ4lc+KAnCDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC40LvQuCDQuNC30YLRgNC40YIiCiAKLSM6IGFwcGx5LmM6MzUxMCBhcHBseS5jOjM2ODEKKyM6IGFwcGx5LmM6MzUxMiBhcHBseS5jOjM2ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwINCyINC40L3QtNC10LrRgdCwIgogCi0jOiBhcHBseS5jOjM1MTkgYXBwbHkuYzozNjg5CisjOiBhcHBseS5jOjM1MjEgYXBwbHkuYzozNjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDRgdGK0L7RgtCy0LXRgtGB0YLQstCwINC90LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6MzU1NAorIzogYXBwbHkuYzozNTU2CiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogItCyINGF0YDQsNC90LjQu9C40YnQtdGC0L4g0LvQuNC/0YHQstCw0YIg0L3QtdC+0LHRhdC+0LTQuNC80LjRgtC1INC+0LHQtdC60YLQuCBCTE9CLCDQt9CwINC00LAg0YHQtSDQv9GA0LXQvNC40L3QtSDQutGK0Lwg0YLRgNC+0LnQvdC+ICIKICLRgdC70LjQstCw0L3QtS4iCiAKLSM6IGFwcGx5LmM6MzU1NworIzogYXBwbHkuYzozNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAi0J/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg0YLRgNC+0LnQvdC+INGB0LvQuNCy0LDQvdC14oCmXG4iCiAKLSM6IGFwcGx5LmM6MzU3MyBhcHBseS5jOjM1NzcKKyM6IGFwcGx5LmM6MzU3NSBhcHBseS5jOjM1NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAi0YLQtdC60YPRidC+0YLQviDRgdGK0LTRitGA0LbQsNC90LjQtSDQvdCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC90L4iCiAKLSM6IGFwcGx5LmM6MzU4OQorIzogYXBwbHkuYzozNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQv9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDRgtGA0L7QudC90L4g0YHQu9C40LLQsNC90LXigKZcbiIKIAotIzogYXBwbHkuYzozNjAzCisjOiBhcHBseS5jOjM2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIgogbXNnc3RyICLQmtC+0L3RhNC70LjQutGC0Lgg0L/RgNC4INC/0YDQuNC70LDQs9Cw0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LDRgtCwINC60YrQvCDigJ4lc+KAnC5cbiIKIAotIzogYXBwbHkuYzozNjA4CisjOiBhcHBseS5jOjM2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCiBtc2dzdHIgItCa0YDRitC/0LrQsNGC0LAg0LHQtSDQv9GA0LjQu9C+0LbQtdC90LAg0YfQuNGB0YLQviDQutGK0Lwg4oCeJXPigJwuXG4iCiAKLSM6IGFwcGx5LmM6MzYzNAorIzogYXBwbHkuYzozNjM2CiBtc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKIG1zZ3N0ciAi0LjQt9GC0YDQuNCy0LDRidCw0YLQsCDQutGA0YrQv9C60LAg0L7RgdGC0LDQstGPINGE0LDQudC70LAg0L3QtdC/0YDQsNC30LXQvSIKIAotIzogYXBwbHkuYzozNzA2CisjOiBhcHBseS5jOjM3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdyb25nIHR5cGUiCiBtc2dzdHIgIuKAniVz4oCcOiDQvdC10L/RgNCw0LLQuNC70LXQvSDQstC40LQiCiAKLSM6IGFwcGx5LmM6MzcwOAorIzogYXBwbHkuYzozNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKIG1zZ3N0ciAi4oCeJXPigJwg0LUg0L7RgiDQstC40LQg4oCeJW/igJwsINCwINGB0LUg0L7Rh9Cw0LrQstCw0YjQtSDigJ4lb+KAnCIKIAotIzogYXBwbHkuYzozODU5IGFwcGx5LmM6Mzg2MQorIzogYXBwbHkuYzozODYwIGFwcGx5LmM6Mzg2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L/RitGCOiDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzozOTE3CisjOiBhcHBseS5jOjM5MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgogbXNnc3RyICLigJ4lc+KAnDog0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6MzkyMAorIzogYXBwbHkuYzozOTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi4oCeJXPigJw6INCy0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwINCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBhcHBseS5jOjM5NDAKKyM6IGFwcGx5LmM6Mzk0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCiBtc2dzdHIgItC90L7QstC40YLQtSDQv9GA0LDQstCwINC30LAg0LTQvtGB0YLRitC/ICglbykg0L3QsCDigJ4lc+KAnCDQvdC1INGB0YrQstC/0LDQtNCw0YIg0YHRitGBINGB0YLQsNGA0LjRgtC1ICglbykiCiAKLSM6IGFwcGx5LmM6Mzk0NQorIzogYXBwbHkuYzozOTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAiIgogItC90L7QstC40YLQtSDQv9GA0LDQstCwINC30LAg0LTQvtGB0YLRitC/ICglbykg0L3QsCDigJ4lc+KAnCDQvdC1INGB0YrQstC/0LDQtNCw0YIg0YHRitGBINGB0YLQsNGA0LjRgtC1ICglbykg0L3QsCDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzozOTY1CisjOiBhcHBseS5jOjM5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWZmZWN0ZWQgZmlsZSAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgItC30LDRgdC10LPQvdCw0YLQuNGP0YIg0YTQsNC50Lsg4oCeJXPigJwg0LUg0YHQu9C10LQg0YHQuNC80LLQvtC70L3QsCDQstGA0YrQt9C60LAiCiAKLSM6IGFwcGx5LmM6Mzk2OQorIzogYXBwbHkuYzozOTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAi0JrRgNGK0L/QutCw0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwIgogCi0jOiBhcHBseS5jOjM5ODQKKyM6IGFwcGx5LmM6Mzk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0Y/QstCw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg4oCeJXPigJzigKYiCiAKLSM6IGFwcGx5LmM6NDA3NQorIzogYXBwbHkuYzo0MDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIiIKICLQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0LfQsCDRgdGD0LzQsNGC0LAg0L/QviBTSEExINC30LAg0L/QvtC00LzQvtC00YPQu9CwINC70LjQv9GB0LLQsCDQuNC70Lgg0L3QtSDQtSDQtNC+0YHRgtCw0YLRitGH0L3QsCAoJXMpLiIKIAotIzogYXBwbHkuYzo0MDgyCisjOiBhcHBseS5jOjQwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgogbXNnc3RyICLRgdC80Y/QvdCwINC90LAg0YDQtdC20LjQvNCwINC90LAg0LTQvtGB0YLRitC/0LAg0L3QsCDigJ4lc+KAnCwg0LrQvtC50YLQviDQvdC1INC1INCyINGC0LXQutGD0YnQuNGPINCy0YDRitGFIOKAnkhFQUTigJwiCiAKLSM6IGFwcGx5LmM6NDA4NQorIzogYXBwbHkuYzo0MDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgogbXNnc3RyICLQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0LfQsCDRgdGD0LzQsNGC0LAg0L/QviBTSEExINC70LjQv9GB0LLQsCDQuNC70Lgg0L3QtSDQtSDQtNC+0YHRgtCw0YLRitGH0L3QsCAoJXMpLiIKIAotIzogYXBwbHkuYzo0MDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIzogYXBwbHkuYzo0MDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzUgYnVpbHRpbi9yZXNldC5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LfQsNC/0LjRgSDQsiDQutC10YjQsCDRh9GA0LXQtyDigJ5tYWtlX2NhY2hlX2VudHJ54oCcINC30LAg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6NDA5NAorIzogYXBwbHkuYzo0MDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNC+0LHQsNCy0Lgg0LrRitC8INCy0YDQtdC80LXQvdC90LjRjyDQuNC90LTQtdC60YEiCiAKLSM6IGFwcGx5LmM6NDEwNAorIzogYXBwbHkuYzo0MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCiBtc2dzdHIgItCy0YDQtdC80LXQvdC90LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0L/QsNC30Lgg0LIg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6NDI0MgorIzogYXBwbHkuYzo0MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0LDQtNC4INC+0YIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6NDI3NworIzogYXBwbHkuYzo0Mjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi0L/QvtCy0YDQtdC00LXQvdCwINC60YDRitC/0LrQsCDQt9CwINC80L7QtNGD0LvQsCDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0MjgzCisjOiBhcHBseS5jOjQyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCiBtc2dzdHIgIiIKICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvRg9GH0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y8g0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINC90L7QstC+0YHRitC30LTQsNC00LXQvdC40Y8g0YTQsNC50Lsg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6NDI5MQorIzogYXBwbHkuYzo0MjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsCDRgdGK0LfQtNCw0LTQtSDQvNGP0YHRgtC+0YLQviDQt9CwINGB0YrRhdGA0LDQvdC10L3QuNC1INC90LAg0L3QvtCy0L7RgdGK0LfQtNCw0LTQtdC90LjRjyDRhNCw0LnQuyDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0Mjk3IGFwcGx5LmM6NDQ0MQorIzogYXBwbHkuYzo0Mjk4IGFwcGx5LmM6NDQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LTQvtCx0LDQstC4INC30LDQv9C40YEg0LIg0LrQtdGI0LAg0LfQsCDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0MzM4CisjOiBhcHBseS5jOjQzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgItCyIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0LjRiNC1IgogCi0jOiBhcHBseS5jOjQzNDIKKyM6IGFwcGx5LmM6NDM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0LfQsNGC0LLQsNGA0Y/QvdC1INC90LAg0YTQsNC50LvQsCDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0NDEyCisjOiBhcHBseS5jOjQ0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC/0LjRiNC1INGBINGA0LXQttC40Lwg0L3QsCDQtNC+0YHRgtGK0L8g4oCeJW/igJwiCiAKLSM6IGFwcGx5LmM6NDUxMAorIzogYXBwbHkuYzo0NTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCiBtc2dzdHIgItCa0YDRitC/0LrQsNGC0LAg4oCeJXPigJwg0LHQtSDQv9GA0LjQu9C+0LbQtdC90LAg0YfQuNGB0YLQvi4iCiAKLSM6IGFwcGx5LmM6NDUxOAorIzogYXBwbHkuYzo0NTE5CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgItCy0YrRgtGA0LXRiNC90LAg0LPRgNC10YjQutCwIgogCi0jOiBhcHBseS5jOjQ1MjEKKyM6IGFwcGx5LmM6NDUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCiBtc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCiBtc2dzdHJbMF0gItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg4oCeJSVz4oCcINGBICVkINC+0YLRhdCy0YrRgNC70LXQvdC+INC/0LDRgNGH0LXigKYiCiBtc2dzdHJbMV0gItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg4oCeJSVz4oCcINGBICVkINC+0YLRhdCy0YrRgNC70LXQvdC4INC/0LDRgNGH0LXRgtCw4oCmIgogCi0jOiBhcHBseS5jOjQ1MzIKKyM6IGFwcGx5LmM6NDUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCiBtc2dzdHIgItGB0YrQutGA0LDRidCw0LLQsNC90LUg0L3QsCDQuNC80LXRgtC+INC90LAg0YTQsNC50LvQsCDRgSDQvtGC0YXQstGK0YDQu9C10L3QuNGC0LUg0L/QsNGA0YfQtdGC0LAg0L3QsCDigJ4gJS4qcy5yZWrigJwiCiAKLSM6IGFwcGx5LmM6NDU0MCBidWlsdGluL2ZldGNoLmM6NzQwIGJ1aWx0aW4vZmV0Y2guYzo5ODkKKyM6IGFwcGx5LmM6NDU0MSBidWlsdGluL2ZldGNoLmM6NzM4IGJ1aWx0aW4vZmV0Y2guYzo5ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSIKIAotIzogYXBwbHkuYzo0NTU0CisjOiBhcHBseS5jOjQ1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAiJWQt0YLQviDQv9Cw0YDRh9C1INCx0LUg0YPRgdC/0LXRiNC90L4g0L/RgNC40LvQvtC20LXQvdC+LiIKIAotIzogYXBwbHkuYzo0NTU4CisjOiBhcHBseS5jOjQ1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgogbXNnc3RyICIlZC3RgtC+INC/0LDRgNGH0LUg0LHQtSDQvtGC0YXQstGK0YDQu9C10L3Qvi4iCiAKLSM6IGFwcGx5LmM6NDY2OAorIzogYXBwbHkuYzo0NjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgItCf0YDQvtC/0YPRgdC90LDRgtCwINC60YDRitC/0LrQsDog4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6NDY3NgorIzogYXBwbHkuYzo0Njc3CiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGCINCy0YXQvtC0IgogCi0jOiBhcHBseS5jOjQ2OTUKKyM6IGFwcGx5LmM6NDY5NgogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgItC40L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC9IgogCkBAIC02ODUsMjEgKzY3OCwyMSBAQAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgItC60YDRitC/0LrQsNGC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC90LA6ICVzIgogCi0jOiBhcHBseS5jOjQ4NTgKKyM6IGFwcGx5LmM6NDg2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKIG1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyWzBdICLQv9GA0LXQvdC10LHRgNC10LPQvdCw0YLQsCDQtSAlZCDQs9GA0LXRiNC60LAg0LIg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70LgiCiBtc2dzdHJbMV0gItC/0YDQtdC90LXQsdGA0LXQs9C90LDRgtC4INGB0LAgJWQg0LPRgNC10YjQutC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4IgogCi0jOiBhcHBseS5jOjQ4NjQgYXBwbHkuYzo0ODc5CisjOiBhcHBseS5jOjQ4NjYgYXBwbHkuYzo0ODgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkINGA0LXQtCDQtNC+0LHQsNCy0Y8g0LPRgNC10YjQutC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4LiIKIG1zZ3N0clsxXSAiJWQg0YDQtdC00LAg0LTQvtCx0LDQstGP0YIg0LPRgNC10YjQutC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4LiIKIAotIzogYXBwbHkuYzo0ODcyCisjOiBhcHBseS5jOjQ4NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKQEAgLTcwOCwyNTYgKzcwMSwyNjIgQEAKIG1zZ3N0clsxXSAiIgogItCU0L7QsdCw0LLQtdC90Lgg0YHQsCAlZCDRgNC10LTQsCDRgdC70LXQtCDQutC+0YDQtdC60YbQuNGP0YLQsCDQvdCwINCz0YDQtdGI0LrQuNGC0LUg0LIg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70LguIgogCi0jOiBhcHBseS5jOjQ4ODggYnVpbHRpbi9hZGQuYzo0NjMgYnVpbHRpbi9tdi5jOjI4NiBidWlsdGluL3JtLmM6NDMxCisjOiBhcHBseS5jOjQ4OTAgYnVpbHRpbi9hZGQuYzo1MTMgYnVpbHRpbi9tdi5jOjI5OSBidWlsdGluL3JtLmM6MzkxCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICLQndC+0LLQuNGP0YIg0LjQvdC00LXQutGBINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKIAotIzogYXBwbHkuYzo0OTE5IGFwcGx5LmM6NDkyMiBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAotIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU4OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkyCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDcKKyM6IGFwcGx5LmM6NDkyMSBhcHBseS5jOjQ5MjQgYnVpbHRpbi9hbS5jOjIyNTcgYnVpbHRpbi9hbS5jOjIyNjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUgYnVpbHRpbi9mZXRjaC5jOjkzIGJ1aWx0aW4vcHVsbC5jOjE4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMwNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjI5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3CiBtc2dpZCAicGF0aCIKIG1zZ3N0ciAi0L/RitGCIgogCi0jOiBhcHBseS5jOjQ5MjAKKyM6IGFwcGx5LmM6NDkyMgogbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgItCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0L3QsNC/0LDRgdCy0LDRidC4INC90LAg0LTQsNC00LXQvdC40Y8g0L/RitGCIgogCi0jOiBhcHBseS5jOjQ5MjMKKyM6IGFwcGx5LmM6NDkyNQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgItC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQvdCw0L/QsNGB0LLQsNGJ0Lgg0L3QsCDQtNCw0LTQtdC90LjRjyDQv9GK0YIiCiAKLSM6IGFwcGx5LmM6NDkyNSBidWlsdGluL2FtLmM6MjI4NgorIzogYXBwbHkuYzo0OTI3IGJ1aWx0aW4vYW0uYzoyMjY2CiBtc2dpZCAibnVtIgogbXNnc3RyICLQkdCg0J7QmSIKIAotIzogYXBwbHkuYzo0OTI2CisjOiBhcHBseS5jOjQ5MjgKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAi0L/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDRgtC+0LfQuCDQkdCg0J7QmSDQstC+0LTQtdGJ0Lgg0LXQu9C10LzQtdC90YLQuCDQvtGCINC/0YrRgtC40YnQsNGC0LAg0LIg0YDQsNC30LvQuNC60LDRgtCwIgogCi0jOiBhcHBseS5jOjQ5MjkKKyM6IGFwcGx5LmM6NDkzMQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0YDQtdC00L7QstC10YLQtSDQtNC+0LHQsNCy0LXQvdC4INC+0YIg0YLQsNC30Lgg0LrRgNGK0L/QutCwIgogCi0jOiBhcHBseS5jOjQ5MzEKKyM6IGFwcGx5LmM6NDkzMwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRgtCw0YLQuNGB0YLQuNC60LAg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0LHQtdC3INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAiCiAKLSM6IGFwcGx5LmM6NDkzNQorIzogYXBwbHkuYzo0OTM3CiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LHRgNC+0Y8g0L3QsCDQtNC+0LHQsNCy0LXQvdC40YLQtSDQuCDQuNC30YLRgNC40YLQuNGC0LUg0YDQtdC00L7QstC1IgogCi0jOiBhcHBseS5jOjQ5MzcKKyM6IGFwcGx5LmM6NDkzOQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YLQsNGC0LjRgdGC0LjQutCwINC90LAg0LLRhdC+0LTQvdC40YLQtSDQtNCw0L3QvdC4INCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQutGA0YrQv9C60LDRgtCwIgogCi0jOiBhcHBseS5jOjQ5MzkKKyM6IGFwcGx5LmM6NDk0MQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgItC/0YDQvtCy0LXRgNC60LAg0LTQsNC70Lgg0LrRgNGK0L/QutCw0YLQsCDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC40LvQvtC20LgsINCx0LXQtyDQtNC10LnRgdGC0LLQuNGC0LXQu9C90L4g0L/RgNC40LvQsNCz0LDQvdC1IgogCi0jOiBhcHBseS5jOjQ5NDEKKyM6IGFwcGx5LmM6NDk0MwogbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQsCDQtNCw0LvQuCDQutGA0YrQv9C60LDRgtCwINC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwINC60YrQvCDRgtC10LrRg9GJ0LjRjyDQuNC90LTQtdC60YEiCiAKLSM6IGFwcGx5LmM6NDk0MworIzogYXBwbHkuYzo0OTQ1CiBtc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg0LHQtdC3INC/0YDQvtC80Y/QvdCwINC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGFwcGx5LmM6NDk0NQorIzogYXBwbHkuYzo0OTQ3CiBtc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKIG1zZ3N0ciAi0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0LrRgNGK0L/QutCwLCDQutC+0Y/RgtC+INC/0YDQvtC80LXQvdGPINC4INGE0LDQudC70L7QstC1INC40LfQstGK0L0g0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGFwcGx5LmM6NDk0NworIzogYXBwbHkuYzo0OTQ5CiBtc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiBtc2dzdHIgIiIKICLQutGA0YrQv9C60LDRgtCwINC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwLiAg0J7Qv9GG0LjRj9GC0LAg0YHQtSDQutC+0LzQsdC40L3QuNGA0LAg0YEg4oCeLS1jaGVja+KAnC/igJ4tLXN0YXTigJwv4oCeLS0iCiAic3VtbWFyeeKAnCIKIAotIzogYXBwbHkuYzo0OTQ5CisjOiBhcHBseS5jOjQ5NTEKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICLQv9GA0L7QsdCy0LDQvdC1INGBINGC0YDQvtC50L3QviDRgdC70LjQstCw0L3QtSwg0LDQutC+INC60YDRitC/0LrQsNGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC40LvQvtC20Lgg0LTQuNGA0LXQutGC0L3QviIKIAotIzogYXBwbHkuYzo0OTUxCisjOiBhcHBseS5jOjQ5NTMKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogItGB0YrQt9C00LDQstCw0L3QtSDQvdCwINCy0YDQtdC80LXQvdC10L0g0LjQvdC00LXQutGBINC90LAg0LHQsNC30LAg0L3QsCDQstC60LvRjtGH0LXQvdCw0YLQsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC40L3QtNC10LrRgdCwIgogCi0jOiBhcHBseS5jOjQ5NTQgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA1CisjOiBhcHBseS5jOjQ5NTYgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MCBidWlsdGluL2xzLWZpbGVzLmM6NTE1CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgItGA0LDQt9C00LXQu9GP0L3QtSDQvdCwINC/0YrRgtC40YnQsNGC0LAg0YEg0L3Rg9C70LXQstC40Y8g0LfQvdCw0Log4oCeTlVM4oCcIgogCi0jOiBhcHBseS5jOjQ5NTYKKyM6IGFwcGx5LmM6NDk1OAogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAi0LTQsCDRgdC1INC+0YHQuNCz0YPRgNC4INC60L7QvdGC0LXQutGB0YIg0L7RgiDQv9C+0L3QtSDRgtCw0LrRitCyINCR0KDQntCZINGB0YrQstC/0LDQtNCw0YnQuCDRgNC10LTQvtCy0LUiCiAKLSM6IGFwcGx5LmM6NDk1NyBidWlsdGluL2FtLmM6MjI2NQorIzogYXBwbHkuYzo0OTU5IGJ1aWx0aW4vYW0uYzoyMjQ1CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICLQtNC10LnRgdGC0LLQuNC1IgogCi0jOiBhcHBseS5jOjQ5NTgKKyM6IGFwcGx5LmM6NDk2MAogbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyICLQt9Cw0YHQuNGH0LDQvdC1INC90LAg0L3QvtCy0Lgg0LjQu9C4INC/0YDQvtC80LXQvdC10L3QuCDRgNC10LTQvtCy0LUg0YEg0LPRgNC10YjQutC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4IgogCi0jOiBhcHBseS5jOjQ5NjEgYXBwbHkuYzo0OTY0CisjOiBhcHBseS5jOjQ5NjMgYXBwbHkuYzo0OTY2CiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAiIgogItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4INC/0YDQuCDQvtGC0LrRgNC40LLQsNC90LUg0L3QsCDQutC+0L3RgtC10LrRgdGC0LAiCiAKLSM6IGFwcGx5LmM6NDk2NworIzogYXBwbHkuYzo0OTY5CiBtc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCiBtc2dzdHIgItC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg0LIg0L7QsdGA0LDRgtC90LAg0L/QvtGB0L7QutCwIgogCi0jOiBhcHBseS5jOjQ5NjkKKyM6IGFwcGx5LmM6NDk3MQogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICLQsdC10Lcg0LjQt9C40YHQutCy0LDQvdC1INC90LAg0LTQvtGA0Lgg0Lgg0LXQtNC40L0g0YDQtdC0INC60L7QvdGC0LXQutGB0YIiCiAKLSM6IGFwcGx5LmM6NDk3MQorIzogYXBwbHkuYzo0OTczCiBtc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCiBtc2dzdHIgItC+0YHRgtCw0LLRj9C90LUg0L3QsCDQvtGC0YXQstGK0YDQu9C10L3QuNGC0LUg0L/QsNGA0YfQtdGC0LAg0LLRitCyINGE0LDQudC70L7QstC1INGBINGA0LDQt9GI0LjRgNC10L3QuNC1IOKAni5yZWrigJwiCiAKLSM6IGFwcGx5LmM6NDk3MworIzogYXBwbHkuYzo0OTc1CiBtc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQt9Cw0YHRgtGK0L/QstCw0YnQuCDRgdC1INC/0LDRgNGH0LXRgtCwIgogCi0jOiBhcHBseS5jOjQ5NzQgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjU5MwotIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKKyM6IGFwcGx5LmM6NDk3NiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjUxCisjOiBidWlsdGluL2xvZy5jOjE4NzcgYnVpbHRpbi9tdi5jOjEyMyBidWlsdGluL3JlYWQtdHJlZS5jOjEyNQogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgItC/0L7QstC10YfQtSDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4IgogCi0jOiBhcHBseS5jOjQ5NzYKKyM6IGFwcGx5LmM6NDk3OAogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICLQv9GA0LXQvdC10LHRgNC10LPQstCw0L3QtSDQvdCwINC90LXQv9GA0LDQstC40LvQvdC+INC70LjQv9GB0LLQsNGJINC30L3QsNC6INC30LAg0L3QvtCyINGA0LXQtCDQsiDQutGA0LDRjyDQvdCwINGE0LDQudC7IgogCi0jOiBhcHBseS5jOjQ5NzkKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKIG1zZ3N0ciAi0LHQtdC3INC00L7QstC10YDRj9Cy0LDQvdC1INC90LAg0L3QvtC80LXRgNCw0YLQsCDQvdCwINGA0LXQtNC+0LLQtdGC0LUg0LIg0LfQsNCz0LvQsNCy0L3QuNGC0LUg0YfQsNGB0YLQuCDQvdCwINC/0LDRgNGH0LXRgtCw0YLQsCIKIAotIzogYXBwbHkuYzo0OTgxIGJ1aWx0aW4vYW0uYzoyMjc0CisjOiBhcHBseS5jOjQ5ODMgYnVpbHRpbi9hbS5jOjIyNTQKIG1zZ2lkICJyb290IgogbXNnc3RyICLQndCQ0KfQkNCb0J3QkF/QlNCY0KDQldCa0KLQntCg0JjQryIKIAotIzogYXBwbHkuYzo0OTgyCisjOiBhcHBseS5jOjQ5ODQKIG1zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQsNC30Lgg0J3QkNCn0JDQm9Cd0JBf0JTQmNCg0JXQmtCi0J7QoNCY0K8g0LrRitC8INC40LzQtdC90LDRgtCwINC90LAg0LLRgdC40YfQutC4INGE0LDQudC70L7QstC1IgogCi0jOiBhcmNoaXZlLmM6MTIKKyM6IGFyY2hpdmUuYzoxMwogbXNnaWQgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBhcmNoaXZlIFvQntCf0KbQmNCv4oCmXSDQo9Ca0JDQl9CQ0KLQldCbX9Ca0KrQnF/QlNCq0KDQktCeIFvQn9Cq0KLigKZdIgogCi0jOiBhcmNoaXZlLmM6MTMKKyM6IGFyY2hpdmUuYzoxNAogbXNnaWQgImdpdCBhcmNoaXZlIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MTQKKyM6IGFyY2hpdmUuYzoxNQogbXNnaWQgIiIKICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogImdpdCBhcmNoaXZlIC0tcmVtb3RlINCl0KDQkNCd0JjQm9CY0KnQlSBbLS1leGVjINCa0J7QnNCQ0J3QlNCQXSBb0J7Qn9Cm0JjQr+KApl0g0KPQmtCQ0JfQkNCi0JXQm1/QmtCq0Jxf0JTQqtCg0JLQniAiCiAiW9Cf0KrQouKApl0iCiAKLSM6IGFyY2hpdmUuYzoxNQorIzogYXJjaGl2ZS5jOjE2CiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUg0KXQoNCQ0J3QmNCb0JjQqdCVIFstLWV4ZWMg0JrQntCc0JDQndCU0JBdIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzI3CisjOiBhcmNoaXZlLmM6MzMzIGJ1aWx0aW4vYWRkLmM6MTU0IGJ1aWx0aW4vYWRkLmM6NDkyIGJ1aWx0aW4vcm0uYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAi0L/RitGC0Y/RgiDigJ4lc+KAnCDQvdC1INGB0YrQstC/0LDQtNCwINGBINC90LjQutC+0Lkg0YTQsNC50LsiCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJmbXQiCiBtc2dzdHIgItCk0J7QoNCc0JDQoiIKIAotIzogYXJjaGl2ZS5jOjQyOQorIzogYXJjaGl2ZS5jOjQxOAogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICLQpNCe0KDQnNCQ0KIg0L3QsCDQsNGA0YXQuNCy0LAiCiAKLSM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CisjOiBhcmNoaXZlLmM6NDE5IGJ1aWx0aW4vbG9nLmM6MTQ0NgogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAi0J/QoNCV0KTQmNCa0KEiCiAKLSM6IGFyY2hpdmUuYzo0MzEKKyM6IGFyY2hpdmUuYzo0MjAKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQvtC30Lgg0J/QoNCV0KTQmNCa0KEg0LrRitC8INCy0YHQtdC60Lgg0L/RitGCINCyINCw0YDRhdC40LLQsCIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2JsYW1lLmM6MjYwMyBidWlsdGluL2JsYW1lLmM6MjYwNCBidWlsdGluL2NvbmZpZy5jOjU5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6NzIzCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkgYnVpbHRpbi9scy1maWxlcy5jOjU0MgotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMSBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5CisjOiBhcmNoaXZlLmM6NDIxIGJ1aWx0aW4vYmxhbWUuYzo2OTMgYnVpbHRpbi9ibGFtZS5jOjY5NCBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTEgYnVpbHRpbi9ncmVwLmM6MTA4MAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMiBidWlsdGluL2xzLWZpbGVzLmM6NTQ5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL3JlYWQtdHJlZS5jOjEyMAogIzogcGFyc2Utb3B0aW9ucy5oOjE1MwogbXNnaWQgImZpbGUiCiBtc2dzdHIgItCk0JDQmdCbIgogCi0jOiBhcmNoaXZlLmM6NDMzIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6NDIyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQsNGA0YXQuNCy0LAg0LIg0YLQvtC30Lgg0KTQkNCZ0JsiCiAKLSM6IGFyY2hpdmUuYzo0MzUKKyM6IGFyY2hpdmUuYzo0MjQKIG1zZ2lkICJyZWFkIC5naXRhdHRyaWJ1dGVzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg4oCeLmdpdGF0dHJpYnV0ZXPigJwg0LIg0YDQsNCx0L7RgtC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPIgogCi0jOiBhcmNoaXZlLmM6NDM2CisjOiBhcmNoaXZlLmM6NDI1CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LDRgNGF0LjQstC40YDQsNC90LjRgtC1INGE0LDQudC70L7QstC1INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LDRgtCwINCz0YDQtdGI0LrQsCIKIAotIzogYXJjaGl2ZS5jOjQzNworIzogYXJjaGl2ZS5jOjQyNgogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgItGB0LDQvNC+INGB0YrRhdGA0LDQvdC10L3QuNC1INCx0LXQtyDQutC+0LzQv9GA0LXRgdC40YDQsNC90LUiCiAKLSM6IGFyY2hpdmUuYzo0MzgKKyM6IGFyY2hpdmUuYzo0MjcKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgItCx0YrRgNC30L4g0LrQvtC80L/RgNC10YHQuNGA0LDQvdC1IgogCi0jOiBhcmNoaXZlLmM6NDQ2CisjOiBhcmNoaXZlLmM6NDM1CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICLQtNC+0LHRgNC+INC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtSIKIAotIzogYXJjaGl2ZS5jOjQ0OQorIzogYXJjaGl2ZS5jOjQzOAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHQv9C40YHRitC60LAg0YEg0L/QvtC00LTRitGA0LbQsNC90LjRgtC1INGE0L7RgNC80LDRgtC4IgogCi0jOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2Nsb25lLmM6ODgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MworIzogYXJjaGl2ZS5jOjQ0MCBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6MTA1IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MgogbXNnaWQgInJlcG8iCiBtc2dzdHIgItGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYXJjaGl2ZS5jOjQ1MiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjQ0MSBidWlsdGluL2FyY2hpdmUuYzo5MQogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICLQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDQsNGA0YXQuNCy0LAg0L7RgiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0KXQoNCQ0J3QmNCb0JjQqdCVIgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODUKKyM6IGFyY2hpdmUuYzo0NDIgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgItC60L7QvNCw0L3QtNCwIgogCi0jOiBhcmNoaXZlLmM6NDU0IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6NDQzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICLQv9GK0YIg0LrRitC8INC+0YLQtNCw0LvQtdGH0LXQvdCw0YLQsCDQutC+0LzQsNC90LTQsCDigJ5naXQtdXBsb2FkLWFyY2hpdmXigJwiCiAKLSM6IGFyY2hpdmUuYzo0NjEKKyM6IGFyY2hpdmUuYzo0NTAKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKIG1zZ3N0ciAi0J3QtdC+0YfQsNC60LLQsNC90LAg0L7Qv9GG0LjRjyDigJ4tLXJlbW90ZeKAnCIKIAotIzogYXJjaGl2ZS5jOjQ2MworIzogYXJjaGl2ZS5jOjQ1MgogbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tLWV4ZWPigJwg0LjQt9C40YHQutCy0LAg4oCeLS1yZW1vdGXigJwiCiAKLSM6IGFyY2hpdmUuYzo0NjUKKyM6IGFyY2hpdmUuYzo0NTQKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKIG1zZ3N0ciAi0J3QtdC+0YfQsNC60LLQsNC90LAg0L7Qv9GG0LjRjyDigJ4tLW91dHB1dOKAnCIKIAotIzogYXJjaGl2ZS5jOjQ4NworIzogYXJjaGl2ZS5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCiBtc2dzdHIgItCd0LXQv9C+0LfQvdCw0YIg0YTQvtGA0LzQsNGCINC90LAg0LDRgNGF0LjQsjog4oCeJXPigJwiCiAKLSM6IGFyY2hpdmUuYzo0OTQKKyM6IGFyY2hpdmUuYzo0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAi0JDRgNCz0YPQvNC10L3RgtGK0YIg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAg0LfQsCDRhNC+0YDQvNCwzIDRgtCwIOKAniVz4oCcOiAtJWQiCiAKLSM6IGF0dHIuYzoyNjMKKyM6IGF0dHIuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS4qcyBpcyBub3QgYSB2YWxpZCBhdHRyaWJ1dGUgbmFtZSIKK21zZ3N0ciAi4oCeJS4qc+KAnCDQtSDQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0LfQsCDQsNGC0YDQuNCx0YPRgiIKKworIzogYXR0ci5jOjQxMAogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgogIlVzZSAnXFwhJyBmb3IgbGl0ZXJhbCBsZWFkaW5nIGV4Y2xhbWF0aW9uLiIKQEAgLTk2NSwxMiArOTY0LDcgQEAKICLQntGC0YDQuNGG0LDRgtC10LvQvdC40YLQtSDRiNCw0LHQu9C+0L3QuCDRgdC1INC40LPQvdC+0YDQuNGA0LDRgiDQsiDQsNGC0YDQuNCx0YPRgtC40YLQtSDQvdCwIGdpdC5cbiIKICLQkNC60L4g0LLQuCDRgtGA0Y/QsdCy0LAg0L3QsNGH0LDQu9C90LAg0YPQtNC40LLQuNGC0LXQu9C90LAsINC/0L7Qu9C30LLQsNC50YLQtSDigJ5cXCHigJwuIgogCi0jOiBiaXNlY3QuYzo0NDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgotbXNnc3RyICLQpNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4IgotCi0jOiBiaXNlY3QuYzo0NDYKKyM6IGJpc2VjdC5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QviDRhtC40YLQuNGA0LDQvdC+INGB0YrQtNGK0YDQttCw0L3QuNC1INCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcOiAlcyIKQEAgLTEwMTUsNyArMTAwOSw3IEBACiAjOiBiaXNlY3QuYzo3NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9yIG9mIHRoZSAlcyByZXYuXG4iCisiU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3JzIG9mIHRoZSAlcyByZXYuXG4iCiAiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCiAiTWF5YmUgeW91IG1pc3Rvb2sgJXMgYW5kICVzIHJldnM/XG4iCiBtc2dzdHIgIiIKQEAgLTEwNDQsNyArMTAzOCw3IEBACiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgItC90LXQvtCx0YXQvtC00LjQvNCwINC1INCy0LXRgNGB0LjRjyDigJ4lc+KAnCIKIAotIzogYmlzZWN0LmM6ODY2IGJ1aWx0aW4vbm90ZXMuYzoxNzQgYnVpbHRpbi90YWcuYzoyNDgKKyM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L0iCkBAIC0xMDc5LDE1ICsxMDczLDU0IEBACiBtc2dzdHJbMF0gIijQv9GA0LjQsdC70LjQt9C40YLQtdC70L3QviAlZCDRgdGC0YrQv9C60LApIgogbXNnc3RyWzFdICIo0L/RgNC40LHQu9C40LfQuNGC0LXQu9C90L4gJWQg0YHRgtGK0L/QutC4KSIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAotIy4gIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24KLSM6IGJpc2VjdC5jOjk5OAorIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAiKHJvdWdobHkgJWQKKyMuIHN0ZXBzKSIgdHJhbnNsYXRpb24uCisjLgorIzogYmlzZWN0LmM6MTAwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9uIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCiBtc2dpZF9wbHVyYWwgIkJpc2VjdGluZzogJWQgcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCiBtc2dzdHJbMF0gItCU0LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1OiDQvtGB0YLQsNCy0LAgJWQg0LLQtdGA0YHQuNGPINGB0LvQtdC0INGC0LDQt9C4ICVzXG4iCiBtc2dzdHJbMV0gItCU0LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1OiDQvtGB0YLQsNCy0LDRgiAlZCDQstC10YDRgdC40Lgg0YHQu9C10LQg0YLQsNC30LggJXNcbiIKIAorIzogYmxhbWUuYzoxNzU3Cittc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKK21zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1jb250ZW50c+KAnCDQuCDigJ4tLXJldmVyc2XigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCisKKyM6IGJsYW1lLmM6MTc2OAorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1jb250ZW50c+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0LjQvNC1INC90LAg0L7QsdC10LrRgiDQvtGCINC60YDQsNC50L3QviDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBibGFtZS5jOjE3ODgKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIiIKKyLQldC00L3QvtCy0YDQtdC80LXQvdC90L7RgtC+INC30LDQtNCw0LLQsNC90LUg0L3QsCDQvtC/0YbQuNC40YLQtSDigJ4tLXJldmVyc2XigJwg0Lgg4oCeLS1maXJzdC1wYXJlbnTigJwg0LjQt9C40YHQutCy0LAgIgorItGD0LrQsNC30LLQsNC90LXRgtC+INC90LAg0LrRgNCw0LnQvdC+INC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGJsYW1lLmM6MTc5NyBidW5kbGUuYzoxNjQgcmVmLWZpbHRlci5jOjE5MTkgc2VxdWVuY2VyLmM6MTE2NgorIzogc2VxdWVuY2VyLmM6MjMyOCBidWlsdGluL2NvbW1pdC5jOjEwNTggYnVpbHRpbi9sb2cuYzozNTYgYnVpbHRpbi9sb2cuYzo5MDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1NyBidWlsdGluL2xvZy5jOjE2ODMgYnVpbHRpbi9sb2cuYzoxOTI2IGJ1aWx0aW4vbWVyZ2UuYzozNjAKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzcKK21zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKK21zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC90LDRgdGC0YDQvtC50LLQsNC90LUg0L3QsCDQvtCx0YXQvtC20LTQsNC90LXRgtC+INC90LAg0LLQtdGA0YHQuNC40YLQtSIKKworIzogYmxhbWUuYzoxODE1Cittc2dpZCAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKK21zZ3N0ciAiIgorItCV0LTQvdC+0LLRgNC10LzQtdC90L3QvtGC0L4g0LfQsNC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40LjRgtC1IOKAni0tcmV2ZXJzZeKAnCDQuCDigJ4tLWZpcnN0LXBhcmVudOKAnCDQuNC30LjRgdC60LLQsCAiCisi0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDQtNC40LDQv9Cw0LfQvtC9INC/0L4g0LLQtdGA0LjQs9Cw0YLQsCDQvdCwINC/0YrRgNCy0LjRgtC1INC90LDRgdC70LXQtNC90LjRhtC4IgorCisjOiBibGFtZS5jOjE4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgorbXNnc3RyICLQvdGP0LzQsCDQv9GK0YIg0L3QsCDQuNC80LUg4oCeJXPigJwg0LIg4oCeJXPigJwiCisKKyM6IGJsYW1lLmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICLQvtCx0LXQutGC0YrRgiBCTE9CIOKAniVz4oCcINCyINC/0YrRgtGPICVzINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgorCiAjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0xMjIyLDcgKzEyNTUsNyBAQAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQstC10YfQtSDQtSDQuNC30YLQtdCz0LvQtdC9INCyIOKAniVz4oCcIgogCi0jOiBicmFuY2guYzozNjMKKyM6IGJyYW5jaC5jOjM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IOKAniVz4oCcINC90LUg0LUg0L7QsdC90L7QstC10L0iCkBAIC0xMjMyLDk4ICsxMjY1LDkxIEBACiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBsb29rIGxpa2UgYSB2MiBidW5kbGUgZmlsZSIKIG1zZ3N0ciAi0KTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LjQt9Cz0LvQtdC20LTQsCDQtNCwINC1INC/0YDQsNGC0LrQsCDQvdCwIGdpdCDQstC10YDRgdC40Y8gMiIKIAotIzogYnVuZGxlLmM6NjEKKyM6IGJ1bmRsZS5jOjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINC30LDQs9C70LDQstC90LAg0YfQsNGB0YI6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6OTYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CisjOiBidW5kbGUuYzo4OCBzZXF1ZW5jZXIuYzoxMzQ0IHNlcXVlbmNlci5jOjE3NzAgYnVpbHRpbi9jb21taXQuYzo3NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4IgogCi0jOiBidW5kbGUuYzoxMzkKKyM6IGJ1bmRsZS5jOjE0MAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICLQkiDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+INC70LjQv9GB0LLQsNGCINGB0LvQtdC00L3QuNGC0LUg0L3QtdC+0LHRhdC+0LTQuNC80Lgg0L/QvtC00LDQstCw0L3QuNGPOiIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDYyIHNlcXVlbmNlci5jOjgzMCBzZXF1ZW5jZXIuYzoxMzc0Ci0jOiBidWlsdGluL2JsYW1lLmM6MjgxNCBidWlsdGluL2NvbW1pdC5jOjEwNjEgYnVpbHRpbi9sb2cuYzozNDgKLSM6IGJ1aWx0aW4vbG9nLmM6ODkwIGJ1aWx0aW4vbG9nLmM6MTM0MCBidWlsdGluL2xvZy5jOjE2NjYgYnVpbHRpbi9sb2cuYzoxOTA5Ci0jOiBidWlsdGluL21lcmdlLmM6MzU2IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzAKLW1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKLW1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC90LDRgdGC0YDQvtC50LLQsNC90LUg0L3QsCDQvtCx0YXQvtC20LTQsNC90LXRgtC+INC90LAg0LLQtdGA0YHQuNC40YLQtSIKLQotIzogYnVuZGxlLmM6MTg1CisjOiBidW5kbGUuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgY29udGFpbnMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gItCf0YDQsNGC0LrQsNGC0LAg0YHRitC00YrRgNC20LAg0YHQu9C10LTQvdC40Y8g0YPQutCw0LfQsNGC0LXQuzoiCiBtc2dzdHJbMV0gItCf0YDQsNGC0LrQsNGC0LAg0YHRitC00YrRgNC20LAg0YHQu9C10LTQvdC40YLQtSAlZCDRg9C60LDQt9Cw0YLQtdC70Lg6IgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE5MwogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICLQn9GA0LDRgtC60LDRgtCwINGB0YrQtNGK0YDQttCwINC/0YrQu9C90LAg0LjRgdGC0L7RgNC40Y8uIgogCi0jOiBidW5kbGUuYzoxOTQKKyM6IGJ1bmRsZS5jOjE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAi0J/RgNCw0YLQutCw0YLQsCDQuNC30LjRgdC60LLQsCDRgdC70LXQtNC90LjRjyDRg9C60LDQt9Cw0YLQtdC7OiIKIG1zZ3N0clsxXSAi0J/RgNCw0YLQutCw0YLQsCDQuNC30LjRgdC60LLQsCDRgdC70LXQtNC90LjRgtC1ICVkINGD0LrQsNC30LDRgtC10LvQuDoiCiAKLSM6IGJ1bmRsZS5jOjI1MworIzogYnVuZGxlLmM6MjU0CiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBwYWNrLW9iamVjdHPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YLQsNGA0YLQuNGA0LDQvdCwIgogCi0jOiBidW5kbGUuYzoyNjQKKyM6IGJ1bmRsZS5jOjI2NQogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICLQmtC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHBhY2stb2JqZWN0c+KAnCDQvdC1INC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+IgogCi0jOiBidW5kbGUuYzozMDQKKyM6IGJ1bmRsZS5jOjMwNwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgcmV2LWxpc3TigJwg0L3QtSDQt9Cw0LLRitGA0YjQuCDRg9GB0L/QtdGI0L3QviIKIAotIzogYnVuZGxlLmM6MzUzCisjOiBidW5kbGUuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgIiIKICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ4lc+KAnCDQvdC1INC1INCx0LjQuyDQstC60LvRjtGH0LXQvSDQv9C+0YDQsNC00Lgg0L7Qv9GG0LjQuNGC0LUg0LfQsNC00LDQtNC10L3QuCDQvdCwIOKAnmdpdCByZXYtbGlzdOKAnCIKIAotIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTY1IGJ1aWx0aW4vbG9nLmM6MTU3MiBidWlsdGluL3Nob3J0bG9nLmM6MjczCisjOiBidW5kbGUuYzo0NDYgYnVpbHRpbi9sb2cuYzoxNzMgYnVpbHRpbi9sb2cuYzoxNTg5IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQsNGA0LPRg9C80LXQvdGCOiAlcyIKIAotIzogYnVuZGxlLmM6NDUxCisjOiBidW5kbGUuYzo0NTQKIG1zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKIG1zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC10YLQviDQvdCwINC/0YDQsNC30L3QsCDQv9GA0LDRgtC60LAg0LUg0L3QtdCy0YrQt9C80L7QttC90L4uIgogCi0jOiBidW5kbGUuYzo0NjMKKyM6IGJ1bmRsZS5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgItCk0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvSIKIAotIzogYnVuZGxlLmM6NDkxCisjOiBidW5kbGUuYzo0OTQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgaW5kZXgtcGFja+KAnCDQvdC1INC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+IgogCi0jOiBjb2xvci5jOjI5MAorIzogY29sb3IuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwINGG0LLRj9GCOiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDIxIGJ1aWx0aW4vYW0uYzo0NTcgYnVpbHRpbi9hbS5jOjE0OTMKLSM6IGJ1aWx0aW4vYW0uYzoyMTI3CisjOiBjb21taXQuYzo0MSBzZXF1ZW5jZXIuYzoxNTgyIGJ1aWx0aW4vYW0uYzo0MjAgYnVpbHRpbi9hbS5jOjQ1NgorIzogYnVpbHRpbi9hbS5jOjE0NjkgYnVpbHRpbi9hbS5jOjIxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCiAKLSM6IGNvbW1pdC5jOjQyCisjOiBjb21taXQuYzo0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyDQvdC1INC1INC/0L7QtNCw0LLQsNC90LUhIgogCi0jOiBjb21taXQuYzoxNTE0CisjOiBjb21taXQuYzoxNTExCiBtc2dpZCAiIgogIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKICJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgpAQCAtMTMzNywxMzIgKzEzNjMsMTY1IEBACiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAi0L/QsNC80LXRgtGC0LAg0YHQstGK0YDRiNC4IgogCi0jOiBjb25maWcuYzo1MTYKKyM6IGNvbmZpZy5jOjE4NgorbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlIGNvbmRpdGlvbmFscyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKK21zZ3N0ciAi0L7RgtC90L7RgdC40YLQtdC70L3QuNGC0LUg0YPRgdC70L7QstC90Lgg0LjQt9GA0LDQt9C4INC30LAg0LLQvNGK0LrQstCw0L3QtSDRgtGA0Y/QsdCy0LAg0LTQsCDQuNC00LLQsNGCINC+0YIg0YTQsNC50LvQvtCy0LUiCisKKyM6IGNvbmZpZy5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INC30LAg0L3QsNGB0YLRgNC+0LnQutC4ICVkINCyIEJMT0Ig4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjUyMAorIzogY29uZmlnLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRgNC10LQg0LfQsCDQvdCw0YHRgtGA0L7QudC60LggJWQg0LLRitCyINGE0LDQudC70LAg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjUyNAorIzogY29uZmlnLmM6NzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INC30LAg0L3QsNGB0YLRgNC+0LnQutC4ICVkINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogY29uZmlnLmM6NTI4CisjOiBjb25maWcuYzo3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRgNC10LQg0LfQsCDQvdCw0YHRgtGA0L7QudC60LggJWQg0LIgQkxPQiDQt9CwINC/0L7QtNC80L7QtNGD0Lsg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjUzMgorIzogY29uZmlnLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGA0LXQtCDQt9CwINC90LDRgdGC0YDQvtC50LrQuCAlZCDQvdCwINC60L7QvNCw0L3QtNC90LjRjyDRgNC10LQg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjUzNgorIzogY29uZmlnLmM6NzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INC30LAg0L3QsNGB0YLRgNC+0LnQutC4ICVkINCyIOKAniVz4oCcIgogCi0jOiBjb25maWcuYzo2NTUKKyM6IGNvbmZpZy5jOjg2OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAi0LjQt9Cy0YrQvSDQtNC40LDQv9Cw0LfQvtC90LAiCiAKLSM6IGNvbmZpZy5jOjY1NQorIzogY29uZmlnLmM6ODY4CiBtc2dpZCAiaW52YWxpZCB1bml0IgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQvNC10YDQvdCwINC10LTQuNC90LjRhtCwIgogCi0jOiBjb25maWcuYzo2NjEKKyM6IGNvbmZpZy5jOjg3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGH0LjRgdC70L7QstCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDigJ4lc+KAnDogJXMiCiAKLSM6IGNvbmZpZy5jOjY2NgorIzogY29uZmlnLmM6ODc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRh9C40YHQu9C+0LLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LAg4oCeJXPigJwg0LIgQkxPQiDigJ4lc+KAnDogJXMiCiAKLSM6IGNvbmZpZy5jOjY2OQorIzogY29uZmlnLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRh9C40YHQu9C+0LLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LAg4oCeJXPigJwg0LLRitCyINGE0LDQudC70LAg4oCeJXPigJw6ICVzIgogCi0jOiBjb25maWcuYzo2NzIKKyM6IGNvbmZpZy5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGH0LjRgdC70L7QstCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDigJ4lc+KAnCDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQ6ICVzIgogCi0jOiBjb25maWcuYzo2NzUKKyM6IGNvbmZpZy5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGH0LjRgdC70L7QstCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDigJ4lc+KAnCDQsiBCTE9CINC+0YIg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnDogJXMiCiAKLSM6IGNvbmZpZy5jOjY3OAorIzogY29uZmlnLmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGH0LjRgdC70L7QstCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDigJ4lc+KAnCDQvdCwINC60L7QvNCw0L3QtNC90LjRjyDRgNC10LQg4oCeJXPigJw6ICVzIgogCi0jOiBjb25maWcuYzo2ODEKKyM6IGNvbmZpZy5jOjg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGH0LjRgdC70L7QstCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDigJ4lc+KAnCDQsiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjc2OAorIzogY29uZmlnLmM6OTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgItC00L7QvNCw0YjQvdCw0YLQsCDQv9Cw0L/QutCwINC90LAg0L/QvtGC0YDQtdCx0LjRgtC10LvRjyDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGC0LA6IOKAniVz4oCcIgogCi0jOiBjb25maWcuYzo4NTIgY29uZmlnLmM6ODYzCisjOiBjb25maWcuYzoxMDg0IGNvbmZpZy5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC90LjQstC+INC90LAg0LrQvtC80L/RgNC10YHQuNGA0LDQvdC1OiAlZCIKIAotIzogY29uZmlnLmM6OTc4CisjOiBjb25maWcuYzoxMjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC20LjQvCDQt9CwINGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQvtCx0LXQutGC0Lg6ICVzIgogCi0jOiBjb25maWcuYzoxMzEyCisjOiBjb25maWcuYzoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBwYWNrIGNvbXByZXNzaW9uIGxldmVsICVkIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDQvdC40LLQviDQvdCwINC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtSDQv9GA0Lgg0L/QsNC60LXRgtC40YDQsNC90LU6ICVkIgorCisjOiBjb25maWcuYzoxNTY0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC4INC90LDRgdGC0YDQvtC50LrQuCDQvtGCINC60L7QvNCw0L3QtNC90LjRjyDRgNC10LQiCiAKLSM6IGNvbmZpZy5jOjEzNjIKKyM6IGNvbmZpZy5jOjE4OTQKIG1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvdCwINCz0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9GH0LjRgtCw0L3QtdGC0L4g0L3QsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC90LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBjb25maWcuYzoxNzE2CisjOiBjb25maWcuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgJXM6ICclcyciCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvQtdC9ICVzOiDigJ4lc+KAnCIKKworIzogY29uZmlnLmM6MjA4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCittc2dzdHIgIiIKKyLQvdC10L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDigJ4lc+KAnCDQt9CwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeY29yZS51bnRyYWNrZWRDYWNoZeKAnC4g0KnQtSDRgdC1INC/0L7Qu9C30LLQsCAiCisi0YHRgtCw0L3QtNCw0YDRgtC90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg4oCea2VlcOKAnCAo0LfQsNC/0LDQt9Cy0LDQvdC1KSIKKworIzogY29uZmlnLmM6MjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCittc2dzdHIgIiIKKyLRgdGC0L7QudC90L7RgdGC0YLQsCDQvdCwIOKAnnNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZeKAnCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDQvNC10LbQtNGDIDEg0LggMTAwLCDQsCDQvdC1ICIKKyIlZCIKKworIzogY29uZmlnLmM6MjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgItC90LXRgNCw0LfQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC+0YIg0LrQvtC80LDQvdC00L3QuNGPINGA0LXQtCIKIAotIzogY29uZmlnLmM6MTcxOAorIzogY29uZmlnLmM6MjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINC90LDRgdGC0YDQvtC50LrQsCDigJ4lc+KAnCDQstGK0LIg0YTQsNC50LvQsCDigJ4lc+KAnCDQvdCwINGA0LXQtCDihJYlZCIKIAotIzogY29uZmlnLmM6MTc3NworIzogY29uZmlnLmM6MjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICLQt9Cw0LTQsNC00LXQvdC4INGB0LAg0L3Rj9C60L7Qu9C60L4g0YHRgtC+0LnQvdC+0YHRgtC4INC30LAg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjIzMTEKKyM6IGNvbmZpZy5jOjI1MTcgY29uZmlnLmM6Mjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJmc3RhdCBvbiAlcyBmYWlsZWQiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmZzdGF04oCcINCy0YrRgNGF0YMg4oCeJXPigJwiCisKKyM6IGNvbmZpZy5jOjI2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQtNCw0LTQtSDQtNCwINC1IOKAniVz4oCcIgogCi0jOiBjb25maWcuYzoyMzEzCisjOiBjb25maWcuYzoyNjM3IGJ1aWx0aW4vcmVtb3RlLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvNCw0YXQvdC1IgogCi0jOiBjb25uZWN0LmM6NDkKKyM6IGNvbm5lY3QuYzo1MAogbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCiBtc2dzdHIgItCe0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0L/RgNC10LrRitGB0L3QsCDQstGA0YrQt9C60LDRgtCwINCy0LXQtNC90LDQs9CwINGB0LvQtdC0INC+0YLQstCw0YDRj9C90LXRgtC+INGdIgogCi0jOiBjb25uZWN0LmM6NTEKKyM6IGNvbm5lY3QuYzo1MgogbXNnaWQgIiIKICJDb3VsZCBub3QgcmVhZCBmcm9tIHJlbW90ZSByZXBvc2l0b3J5LlxuIgogIlxuIgpAQCAtMTQ3NCw3ICsxNTMzLDcgQEAKICLQn9GA0L7QstC10YDQtdGC0LUg0LTQsNC70Lgg0YLQviDRgdGK0YnQtdGB0YLQstGD0LLQsCDQuCDQtNCw0LvQuCDQuNC80LDRgtC1INC/0YDQsNCy0LBcbiIKICLQt9CwINC00L7RgdGC0YrQvy4iCiAKLSM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE3MyBidWlsdGluL3BydW5lLmM6MTQwCisjOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxOTEgYnVpbHRpbi9wcnVuZS5jOjE0MQogbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQvdCwINCy0YDRitC30LrQsNGC0LAiCiAKQEAgLTE0OTAsNyArMTU0OSw3IEBACiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgItGB0YLQsNC90LTQsNGA0YLQvdC40Y/RgiDQstGF0L7QtCDQvdCwINGB0L/QuNGB0YrQutCwINGBINCy0LXRgNGB0LjQuNGC0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDRgtCy0L7RgNC10L0iCiAKLSM6IGNvbnZlcnQuYzoyMDEKKyM6IGNvbnZlcnQuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKQEAgLTE1MDAsMTIgKzE1NTksMTIgQEAKICLQpNCw0LnQu9GK0YIg0YnQtSDQvtGB0YLQsNC90LUg0YEg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC40YLQtSDQt9C90LDRhtC4INC30LAg0LrRgNCw0Lkg0L3QsCDRgNC10LQg0LIg0YDQsNCx0L7RgtC90LDRgtCwINCy0LggIgogItC00LjRgNC10LrRgtC+0YDQuNGPLiIKIAotIzogY29udmVydC5jOjIwNQorIzogY29udmVydC5jOjIwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLiIKIG1zZ3N0ciAi0JLRgdGP0LrQsCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvQvdC+0YHRgiDQvtGCINC30L3QsNGG0Lgg4oCeQ1JMRuKAnCDRidC1INCx0YrQtGUg0LfQsNC80LXQvdC10L3QsCDRgSDigJ5MRuKAnCDQsiDigJ4lc+KAnC4iCiAKLSM6IGNvbnZlcnQuYzoyMTEKKyM6IGNvbnZlcnQuYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKQEAgLTE1MTYsNzkgKzE1NzUsNzkgQEAKICLQpNCw0LnQu9GK0YIg0YnQtSDQvtGB0YLQsNC90LUg0YEg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC40YLQtSDQt9C90LDRhtC4INC30LAg0LrRgNCw0Lkg0L3QsCDRgNC10LQg0LIg0YDQsNCx0L7RgtC90LDRgtCwINCy0LggIgogItC00LjRgNC10LrRgtC+0YDQuNGPLiIKIAotIzogY29udmVydC5jOjIxNQorIzogY29udmVydC5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIgogbXNnc3RyICIiCiAi0JLRgdC10LrQuCDQt9C90LDQuiDigJ5MRuKAnCDRidC1INCx0YrQtGUg0LfQsNC80LXQvdC10L0g0YEg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70L3QvtGB0YLRgtCwINC+0YIg0LfQvdCw0YbQuCDigJ5DUkxG4oCcINCyIOKAniVz4oCcLiIKIAotIzogZGF0ZS5jOjk3CisjOiBkYXRlLmM6MTE2CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAi0LIg0LHRitC00LXRidC10YLQviIKIAotIzogZGF0ZS5jOjEwMworIzogZGF0ZS5jOjEyMgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgotbXNnc3RyWzBdICLQv9GA0LXQtNC4ICVsdSDRgdC10LrRg9C90LTQsCIKLW1zZ3N0clsxXSAi0L/RgNC10LTQuCAlbHUg0YHQtdC60YPQvdC00LgiCittc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgorbXNnc3RyWzBdICLQv9GA0LXQtNC4ICU8UFJJdU1BWD4g0YHQtdC60YPQvdC00LAiCittc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDRgdC10LrRg9C90LTQuCIKIAotIzogZGF0ZS5jOjExMAorIzogZGF0ZS5jOjEyOQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbWludXRlIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1pbnV0ZXMgYWdvIgotbXNnc3RyWzBdICLQv9GA0LXQtNC4ICVsdSDQvNC40L3Rg9GC0LAiCi1tc2dzdHJbMV0gItC/0YDQtdC00LggJWx1INC80LjQvdGD0YLQuCIKK21zZ2lkICIlPFBSSXVNQVg+IG1pbnV0ZSBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbWludXRlcyBhZ28iCittc2dzdHJbMF0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQvNC40L3Rg9GC0LAiCittc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQvNC40L3Rg9GC0LgiCiAKLSM6IGRhdGUuYzoxMTcKKyM6IGRhdGUuYzoxMzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IGhvdXIgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgotbXNnc3RyWzBdICLQv9GA0LXQtNC4ICVsdSDRh9Cw0YEiCi1tc2dzdHJbMV0gItC/0YDQtdC00LggJWx1INGH0LDRgdCwIgorbXNnaWQgIiU8UFJJdU1BWD4gaG91ciBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gaG91cnMgYWdvIgorbXNnc3RyWzBdICLQv9GA0LXQtNC4ICU8UFJJdU1BWD4g0YfQsNGBIgorbXNnc3RyWzFdICLQv9GA0LXQtNC4ICU8UFJJdU1BWD4g0YfQsNGB0LAiCiAKLSM6IGRhdGUuYzoxMjQKKyM6IGRhdGUuYzoxNDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IGRheSBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBkYXlzIGFnbyIKLW1zZ3N0clswXSAi0L/RgNC10LTQuCAlbHUg0LTQtdC9IgotbXNnc3RyWzFdICLQv9GA0LXQtNC4ICVsdSDQtNC10L3QsCIKK21zZ2lkICIlPFBSSXVNQVg+IGRheSBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gZGF5cyBhZ28iCittc2dzdHJbMF0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQtNC10L0iCittc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQtNC10L3QsCIKIAotIzogZGF0ZS5jOjEzMAorIzogZGF0ZS5jOjE0OQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgd2VlayBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCi1tc2dzdHJbMF0gItC/0YDQtdC00LggJWx1INGB0LXQtNC80LjRhtCwIgotbXNnc3RyWzFdICLQv9GA0LXQtNC4ICVsdSDRgdC10LTQvNC40YbQuCIKK21zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKK21zZ3N0clswXSAi0L/RgNC10LTQuCAlPFBSSXVNQVg+INGB0LXQtNC80LjRhtCwIgorbXNnc3RyWzFdICLQv9GA0LXQtNC4ICU8UFJJdU1BWD4g0YHQtdC00LzQuNGG0LgiCiAKLSM6IGRhdGUuYzoxMzcKKyM6IGRhdGUuYzoxNTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1vbnRocyBhZ28iCi1tc2dzdHJbMF0gItC/0YDQtdC00LggJWx1INC80LXRgdC10YYiCi1tc2dzdHJbMV0gItC/0YDQtdC00LggJWx1INC80LXRgdC10YbQsCIKK21zZ2lkICIlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICLQv9GA0LXQtNC4ICU8UFJJdU1BWD4g0LzQtdGB0LXRhiIKK21zZ3N0clsxXSAi0L/RgNC10LTQuCAlPFBSSXVNQVg+INC80LXRgdC10YbQsCIKIAotIzogZGF0ZS5jOjE0OAorIzogZGF0ZS5jOjE2NwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgotbXNnc3RyWzBdICIlbHUg0LPQvtC00LjQvdCwIgotbXNnc3RyWzFdICIlbHUg0LPQvtC00LjQvdC4IgorbXNnaWQgIiU8UFJJdU1BWD4geWVhciIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiDQs9C+0LTQuNC90LAiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g0LPQvtC00LjQvdC4IgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE1MQorIzogZGF0ZS5jOjE3MAogIywgYy1mb3JtYXQKLW1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgotbXNnc3RyWzBdICLQv9GA0LXQtNC4ICVzINC4ICVsdSDQvNC10YHQtdGGIgotbXNnc3RyWzFdICLQv9GA0LXQtNC4ICVzINC4ICVsdSDQvNC10YHQtdGG0LAiCittc2dpZCAiJXMsICU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlcywgJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICLQv9GA0LXQtNC4ICVzINC4ICU8UFJJdU1BWD4g0LzQtdGB0LXRhiIKK21zZ3N0clsxXSAi0L/RgNC10LTQuCAlcyDQuCAlPFBSSXVNQVg+INC80LXRgdC10YbQsCIKIAotIzogZGF0ZS5jOjE1NiBkYXRlLmM6MTYxCisjOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHllYXIgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMgYWdvIgotbXNnc3RyWzBdICLQv9GA0LXQtNC4ICVsdSDQs9C+0LTQuNC90LAiCi1tc2dzdHJbMV0gItC/0YDQtdC00LggJWx1INCz0L7QtNC40L3QuCIKK21zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKK21zZ3N0clswXSAi0L/RgNC10LTQuCAlPFBSSXVNQVg+INCz0L7QtNC40L3QsCIKK21zZ3N0clsxXSAi0L/RgNC10LTQuCAlPFBSSXVNQVg+INCz0L7QtNC40L3QuCIKIAogIzogZGlmZmNvcmUtb3JkZXIuYzoyNAogIywgYy1mb3JtYXQKQEAgLTE1OTksMjkgKzE2NTgsMjkgQEAKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAi0KLRitGA0YHQtdC90LUg0L3QsCDQv9GA0LXQuNC80LXQvdGD0LLQsNC90LjRjyDQvdCwINC+0LHQtdC60YLQuCDRgdGK0YfQtdGC0LDQvdC4INGBINC/0YDQvtC80LXQvdC4IgogCi0jOiBkaWZmLmM6NjIKKyM6IGRpZmYuYzo2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQuNC30LjRgdC60LLQsCDRgdGC0L7QudC90L7RgdGCIgogCi0jOiBkaWZmLmM6MTI0CisjOiBkaWZmLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmFpbGVkIHRvIHBhcnNlIGRpcnN0YXQgY3V0LW9mZiBwZXJjZW50YWdlICclcydcbiIKIG1zZ3N0ciAiIgogIiAg0J3QtdGD0YHQv9C10YjQvdC+INGA0LDQt9C/0L7Qt9C90LDQstCw0L3QtSDQvdCwIOKAniVz4oCcINC60LDRgtC+INC/0YDQvtGG0LXQvdGCLdC/0YDQsNCzINC30LAg0YHRgtCw0YLQuNGB0YLQuNC60LDRgtCwINC/0L4gIgogItC00LjRgNC10LrRgtC+0YDQuNC4XG4iCiAKLSM6IGRpZmYuYzoxMjkKKyM6IGRpZmYuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICDQndC10L/QvtC30L3QsNGCINC/0LDRgNCw0LzQtdGC0YrRgCDigJ4lc+KAnCDQt9CwINGB0YLQsNGC0LjRgdGC0LjQutCw0YLQsCDQv9C+INC00LjRgNC10LrRgtC+0YDQuNC4J1xuIgogCi0jOiBkaWZmLmM6MjgzCisjOiBkaWZmLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDigJ4lc+KAnCDQt9CwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeZGlmZi5zdWJtb2R1bGXigJwiCiAKLSM6IGRpZmYuYzozNDYKKyM6IGRpZmYuYzozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCkBAIC0xNjMwLDIzICsxNjg5LDIzIEBACiAi0JPRgNC10YjQutC4INCyINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeZGlmZi5kaXJzdGF04oCcOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzA4NworIzogZGlmZi5jOjMxMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAiIgogItCy0YrQvdGI0L3QsNGC0LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGA0LDQt9C70LjQutC4INC30LDQstGK0YDRiNC4INC90LXRg9GB0L/QtdGI0L3Qvi4gINCh0L/QuNGA0LDQvdC1INC90LAg0YDQsNCx0L7RgtCw0YLQsCDQv9GA0Lgg4oCeJXPigJwiCiAKLSM6IGRpZmYuYzozNDEyCisjOiBkaWZmLmM6MzQyNwogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1uYW1lLW9ubHnigJwsIOKAni0tbmFtZS1zdGF0dXPigJwsIOKAni0tY2hlY2vigJwg0Lgg4oCeLXPigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LggIgogItC10LTQvdCwINGBINC00YDRg9Cz0LAiCiAKLSM6IGRpZmYuYzozNTAyCisjOiBkaWZmLmM6MzUxNwogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tLWZvbGxvd+KAnCDQuNC30LjRgdC60LLQsCDRgtC+0YfQvdC+INC10LTQuNC9INC/0YrRgiIKIAotIzogZGlmZi5jOjM2NjUKKyM6IGRpZmYuYzozNjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC0xNjU1LDI0NiArMTcxNCwyODEgQEAKICLQndC10YDQsNC30L/QvtC30L3QsNGCINC/0LDRgNCw0LzQtdGC0YrRgCDQutGK0Lwg0L7Qv9GG0LjRj9GC0LAg4oCeLS1kaXJzdGF0Ly1Y4oCcOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzY3OQorIzogZGlmZi5jOjM2OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgItCd0LXRgNCw0LfQv9C+0LfQvdCw0YIg0L/QsNGA0LDQvNC10YLRitGAINC60YrQvCDQvtC/0YbQuNGP0YLQsCDigJ4tLXN1Ym1vZHVsZeKAnDog4oCeJXPigJwiCiAKLSM6IGRpZmYuYzo0NzAwCisjOiBkaWZmLmM6NDcxNgogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCiAi0YLRitGA0YHQtdC90LXRgtC+INC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y8g0L3QsCDQvtCx0LXQutGC0Lgg0YHRitGH0LXRgtCw0L3QuCDRgSDQv9GA0L7QvNC10L3QuCDRgdC1INC/0YDQtdGB0LrQsNGH0LAg0L/QvtGA0LDQtNC4ICIKICLQvNC90L7Qs9C+0YLQviDRhNCw0LnQu9C+0LLQtS4iCiAKLSM6IGRpZmYuYzo0NzAzCisjOiBkaWZmLmM6NDcxOQogbXNnaWQgIm9ubHkgZm91bmQgY29waWVzIGZyb20gbW9kaWZpZWQgcGF0aHMgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAiIgogItGD0YHRgtCw0L3QvtCy0LXQvdC4INGB0LAg0YLQvtGH0L3QuNGC0LUg0LrQvtC/0LjRjyDQvdCwINC/0YDQvtC80LXQvdC10L3QuNGC0LUg0L/RitGC0LjRidCwINC/0L7RgNCw0LTQuCDQvNC90L7Qs9C+0YLQviDRhNCw0LnQu9C+0LLQtS4iCiAKLSM6IGRpZmYuYzo0NzA2CisjOiBkaWZmLmM6NDcyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCiBtc2dzdHIgItC30LDQtNCw0LnRgtC1INC/0YDQvtC80LXQvdC70LjQstCw0YLQsCDigJ4lc+KAnCDQtNCwINC1INC/0L7QvdC1ICVkINC4INC+0YLQvdC+0LLQviDQuNC30L/RitC70L3QtdGC0LUg0LrQvtC80LDQvdC00LDRgtCwLiIKIAotIzogZGlyLmM6MTg2NgorIzogZGlyLmM6MTk0OAogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICLQuNC80LXRgtC+INC4INCy0LXRgNGB0LjRj9GC0LAg0L3QsCDRj9C00YDQvtGC0L4g0L3QtSDQsdGP0YXQsCDQv9C+0LvRg9GH0LXQvdC4IgogCi0jOiBkaXIuYzoxOTg1CisjOiBkaXIuYzoyMDY3CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAiIgogItCa0LXRiNCwINC30LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQtSDQuNC30LrQu9GO0YfQtdC9INC90LAg0YLQsNC30Lgg0YHQuNGB0YLQtdC80LAg0LjQu9C4INC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LUuIgogCi0jOiBmZXRjaC1wYWNrLmM6MjEzCisjOiBkaXIuYzoyODQ2IGRpci5jOjI4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCittc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNC40YLQtSDQt9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQsNGCINGB0YrQt9C00LDQtNC10L3QuCIKKworIzogZGlyLmM6Mjg3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0L3QsCBnaXQg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LzQuNCz0YDQuNGA0LAg0L7RgiDigJ4lc+KAnCDQtNC+IOKAniVz4oCcIgorCisjOiBlbnRyeS5jOjI4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnnN0YXTigJwg0LLRitGA0YXRgyDRhNCw0LnQu9CwIOKAniVz4oCcIgorCisjOiBmZXRjaC1wYWNrLmM6MjUxCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INC+0YfQsNC60LLQsCDRgdC1INC/0LvQuNGC0YrQuiDRgdC/0LjRgdGK0LoiCiAKLSM6IGZldGNoLXBhY2suYzoyMjUKKyM6IGZldGNoLXBhY2suYzoyNjMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INC+0YfQsNC60LLQsNGI0LUg0YHQtSDigJ5BQ0vigJwv4oCeTkFL4oCcLCDQsCDQsdC1INC/0L7Qu9GD0YfQtdC9IOKAnkVPRuKAnCIKIAotIzogZmV0Y2gtcGFjay5jOjI0MworIzogZmV0Y2gtcGFjay5jOjI4MiBidWlsdGluL2FyY2hpdmUuYzo2MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgorbXNnc3RyICLQvtGC0LTQsNC70LXRh9C10L3QsCDQs9GA0LXRiNC60LA6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INC+0YfQsNC60LLQsNGI0LUg0YHQtSDigJ5BQ0vigJwv4oCeTkFL4oCcLCDQsCDQsdC1INC/0L7Qu9GD0YfQtdC9IOKAniVz4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6Mjk1CisjOiBmZXRjaC1wYWNrLmM6MzM1CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1zdGF0ZWxlc3MtcnBj4oCcINC40LfQuNGB0LrQstCwICDigJ5tdWx0aV9hY2tfZGV0YWlsZWTigJwiCiAKLSM6IGZldGNoLXBhY2suYzozODEKKyM6IGZldGNoLXBhY2suYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQv9C70LjRgtGK0Log0YDQtdC0OiDigJ4lc+KAnCIKIAotIzogZmV0Y2gtcGFjay5jOjM4NworIzogZmV0Y2gtcGFjay5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L3QtdC/0LvQuNGC0YrQuiDRgNC10LQ6IOKAniVz4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzg5CisjOiBmZXRjaC1wYWNrLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQu9C40L/RgdCy0LAiCiAKLSM6IGZldGNoLXBhY2suYzozOTIKKyM6IGZldGNoLXBhY2suYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINCyINC+0LHQtdC60YLQsDog4oCeJXPigJwiCiAKLSM6IGZldGNoLXBhY2suYzozOTQKKyM6IGZldGNoLXBhY2suYzo0MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCiBtc2dzdHIgItC90LUg0LUg0L7RgtC60YDQuNGCINC/0LvQuNGC0YrQuiDQvtCx0LXQutGCOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5NworIzogZmV0Y2gtcGFjay5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQv9C70LjRgtGK0Log0LjQu9C4INC90LUg0L7QsdC10LrRgiwg0LAg0LHQtSDQv9C+0LvRg9GH0LXQvdC+OiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQzNgorIzogZmV0Y2gtcGFjay5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgJWQgJXMiCiBtc2dzdHIgItC/0L7Qu9GD0YfQtdC90L4g0LHQtSAlcyAlZCAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQ1MAorIzogZmV0Y2gtcGFjay5jOjQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0L/QvtC00LDQstCw0L3QtTog4oCeJXPigJwiCiAKLSM6IGZldGNoLXBhY2suYzo0ODMKKyM6IGZldGNoLXBhY2suYzo1MjMKIG1zZ2lkICJnaXZpbmcgdXAiCiBtc2dzdHIgItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSIKIAotIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorIzogZmV0Y2gtcGFjay5jOjUzMyBwcm9ncmVzcy5jOjIzNwogbXNnaWQgImRvbmUiCiBtc2dzdHIgItC00LXQudGB0YLQstC40LXRgtC+INC30LDQstGK0YDRiNC4IgogCi0jOiBmZXRjaC1wYWNrLmM6NTA1CisjOiBmZXRjaC1wYWNrLmM6NTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAoJWQpICVzIgogbXNnc3RyICLQv9C+0LvRg9GH0LXQvdC+INCx0LUgJXMgKCVkKSAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjU1MQorIzogZmV0Y2gtcGFjay5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgogbXNnc3RyICLQntGC0LHQtdC70Y/Qt9Cy0LDQvdC1INC90LAg4oCeJXPigJwg0LrQsNGC0L4g0L/RitC70L3QviIKIAotIzogZmV0Y2gtcGFjay5jOjY5NworIzogZmV0Y2gtcGFjay5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAi0LLQtdGH0LUg0LjQvNCwIOKAniVz4oCcICglcykiCiAKLSM6IGZldGNoLXBhY2suYzo3MzUKKyM6IGZldGNoLXBhY2suYzo4MTMKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiZmV0Y2gtcGFjazog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L/RgNC+0YbQtdGBINC30LAg0LTQtdC80YPQu9GC0LjQv9C70LXQutGB0L7RgNCwIgogCi0jOiBmZXRjaC1wYWNrLmM6NzQzCisjOiBmZXRjaC1wYWNrLmM6ODIxCiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKIG1zZ3N0ciAi0L/RgNC+0YLQvtC60L7Qu9C90LAg0LPRgNC10YjQutCwOiDQvdC10L/RgNCw0LLQuNC70L3QsCDQt9Cw0LPQu9Cw0LLQvdCwINGH0LDRgdGCINC90LAg0L/QsNC60LXRgiIKIAotIzogZmV0Y2gtcGFjay5jOjc5OQorIzogZmV0Y2gtcGFjay5jOjg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiCiBtc2dzdHIgImZldGNoLXBhY2s6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGB0YrQt9C00LDQtNC1INC/0YDQvtGG0LXRgSDQt9CwIOKAniVz4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6ODE1CisjOiBmZXRjaC1wYWNrLmM6ODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCeJXPigJwiCiAKLSM6IGZldGNoLXBhY2suYzo4MTcKKyM6IGZldGNoLXBhY2suYzo4OTUKIG1zZ2lkICJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0LIg0LTQtdC80YPQu9GC0LjQv9C70LXQutGB0L7RgNCwIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ0CisjOiBmZXRjaC1wYWNrLmM6OTIyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgogbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC90LUg0L/QvtC00LTRitGA0LbQsCDQv9C70LjRgtC60Lgg0LrQu9C40LXQvdGC0LgiCiAKLSM6IGZldGNoLXBhY2suYzo4NDgKKyM6IGZldGNoLXBhY2suYzo5MjYKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC/0L7QtNC00YrRgNC20LAg4oCebXVsdGlfYWNrX2RldGFpbGVk4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6ODUxCisjOiBmZXRjaC1wYWNrLmM6OTI5CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCiBtc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L/QvtC00LTRitGA0LbQsCDigJ5uby1kb25l4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6ODU3CisjOiBmZXRjaC1wYWNrLmM6OTM1CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKIG1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQv9C+0LTQtNGK0YDQttCwIOKAnm11bHRpX2Fja+KAnCIKIAotIzogZmV0Y2gtcGFjay5jOjg2MQorIzogZmV0Y2gtcGFjay5jOjkzOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgogbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC/0L7QtNC00YrRgNC20LAg4oCec2lkZS1iYW5kLTY0a+KAnCIKIAotIzogZmV0Y2gtcGFjay5jOjg2NQorIzogZmV0Y2gtcGFjay5jOjk0MwogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiCiBtc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L/QvtC00LTRitGA0LbQsCDigJ5zaWRlLWJhbmTigJwiCiAKLSM6IGZldGNoLXBhY2suYzo4NjkKKyM6IGZldGNoLXBhY2suYzo5NDcKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQv9C+0LTQtNGK0YDQttCwIOKAnmFsbG93LXRpcC1zaGExLWluLXdhbnTigJwiCiAKLSM6IGZldGNoLXBhY2suYzo4NzMKKyM6IGZldGNoLXBhY2suYzo5NTEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQv9C+0LTQtNGK0YDQttCwIOKAnmFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnTigJwiCiAKLSM6IGZldGNoLXBhY2suYzo4ODMKKyM6IGZldGNoLXBhY2suYzo5NjEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhIgogbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC/0L7QtNC00YrRgNC20LAg4oCeb2ZzLWRlbHRh4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6ODkwCisjOiBmZXRjaC1wYWNrLmM6OTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCiBtc2dzdHIgItCS0LXRgNGB0LjRj9GC0LAg0L3QsCDRgdGK0YDQstGK0YDQsCDQtTogJS4qcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NgorIzogZmV0Y2gtcGFjay5jOjk3NAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKIG1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQvdC1INC/0L7QtNC00YrRgNC20LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zaGFsbG93LXNpbmNl4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAwCisjOiBmZXRjaC1wYWNrLmM6OTc4CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCiBtc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC+0L/RhtC40Y/RgtCwIOKAni0tc2hhbGxvdy1leGNsdWRl4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAyCisjOiBmZXRjaC1wYWNrLmM6OTgwCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC+0L/RhtC40Y/RgtCwIOKAni0tZGVlcGVu4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6OTEzCisjOiBmZXRjaC1wYWNrLmM6OTkxCiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgItC90Y/QvNCwINC+0LHRidC4INC/0L7QtNCw0LLQsNC90LjRjyIKIAotIzogZmV0Y2gtcGFjay5jOjkyNQorIzogZmV0Y2gtcGFjay5jOjEwMDMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INC90LXRg9GB0L/QtdGI0L3QviDQtNC+0YHRgtCw0LLRj9C90LUuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTA4NworIzogZmV0Y2gtcGFjay5jOjExNjUKIG1zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgiDQv9C+0LTRhdC+0LTRj9GJINCy0YDRitGFINC+0YIg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE4NQorIzogZmV0Y2gtcGFjay5jOjExODcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZW1vdGUgcmVmICVzIgorbXNnc3RyICLRgtCw0LrRitCyINC+0YLQtNCw0LvQtdGH0LXQvSDRg9C60LDQt9Cw0YLQtdC7INC90Y/QvNCwOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IGFsbG93IHJlcXVlc3QgZm9yIHVuYWR2ZXJ0aXNlZCBvYmplY3QgJXMiCittc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L3QtSDQv9C+0LfQstC+0LvRj9Cy0LAg0LfQsNGP0LLQutCwINC30LAg0L3QtdC+0LHRj9Cy0LXQvSDigJ4lc+KAnCIKKworIzogZ3BnLWludGVyZmFjZS5jOjE4MQogbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKIG1zZ3N0ciAi0J/RgNC+0LPRgNCw0LzQsNGC0LAg4oCeZ3Bn4oCcINC90LUg0L/QvtC00L/QuNGB0LAg0LTQsNC90L3QuNGC0LUuIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjE1CisjOiBncGctaW50ZXJmYWNlLmM6MjExCiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0LLRgNC10LzQtdC90LXQvSDRhNCw0LnQuyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIxNworIzogZ3BnLWludGVyZmFjZS5jOjIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAi0J/RgNC+0LPRgNCw0LzQsNGC0LAg0L3QtSDRg9GB0L/RjyDQtNCwINC30LDQv9C40YjQtSDRgdCw0LzQvtGB0YLQvtGP0YLQtdC70L3QuNGPINC/0L7QtNC/0LjRgSDQsiDigJ4lc+KAnCIKIAotIzogZ3JlcC5jOjE3ODIKKyM6IGdyYXBoLmM6OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JlIGludmFsaWQgY29sb3IgJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKK21zZ3N0ciAi0L/RgNC10YHQutCw0YfQsNC90LUg0L3QsCDQvdC10L/RgNCw0LLQuNC70L3QuNGPINGG0LLRj9GCIOKAniUuKnPigJwg0LIg4oCebG9nLmdyYXBoQ29sb3Jz4oCcIgorCisjOiBncmVwLmM6MTk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAi4oCeJXPigJw6INGE0LDQudC70YrRgiDRgdC+0YfQtdC9INC+0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGdyZXAuYzoxNzk5IGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODQgYnVpbHRpbi9ybS5jOjE1NQorIzogZ3JlcC5jOjE5OTggYnVpbHRpbi9jbG9uZS5jOjQwMyBidWlsdGluL2RpZmYuYzo4MSBidWlsdGluL3JtLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDigJ4lc+KAnCIKIAotIzogZ3JlcC5jOjE4MTAKKyM6IGdyZXAuYzoyMDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIuKAniVz4oCcOiDQuNC30YfQuNGC0LDQvdC10YLQviDQstGK0YDQvdCwINC/0L4t0LzQsNC70LrQviDQsdCw0LnRgtC+0LLQtSDQvtGCINC30LDRj9Cy0LXQvdC40YLQtSIKIAotIzogaGVscC5jOjIwMworIzogaGVscC5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgItC90LDQu9C40YfQvdC4INC60L7QvNCw0L3QtNC4INC90LAgZ2l0INC+0YIg4oCeJXPigJwiCiAKLSM6IGhlbHAuYzoyMTAKKyM6IGhlbHAuYzoxODYKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgItC60L7QvNCw0L3QtNC4INC90LAgZ2l0INC+0YIg0LTRgNGD0LPQuCDQtNC40YDQtdC60YLQvtGA0LjQuCDQvtGCIOKAniRQQVRI4oCcIgogCi0jOiBoZWxwLmM6MjQxCisjOiBoZWxwLmM6MjE3CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICLQotC+0LLQsCDRgdCwINC90LDQuS3Rh9C10YHRgtC+INC40LfQv9C+0LvQt9Cy0LDQvdC40YLQtSDQutC+0LzQsNC90LTQuCDQvdCwIEdpdDoiCiAKLSM6IGhlbHAuYzozMDYKKyM6IGhlbHAuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTE5MDMsMzIgKzE5OTcsNTkgQEAKICLQmNC30LPQu9C10LbQtNCwLCDRh9C1IOKAniVz4oCcINC1INC60L7QvNCw0L3QtNCwINC90LAgZ2l0LCDQvdC+INGC0Y8g0L3QtSDQvNC+0LbQtSDQtNCwXG4iCiAi0LHRitC00LUg0LjQt9C/0YrQu9C90LXQvdCwLiAg0JLQtdGA0L7Rj9GC0L3QviDQv9Cw0LrQtdGC0YrRgiDigJ5naXQtJXPigJwg0LUg0L/QvtCy0YDQtdC00LXQvS4iCiAKLSM6IGhlbHAuYzozNjEKKyM6IGhlbHAuYzozMzYKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAi0KHRgtGA0LDQvdC90L4sINC40LfQs9C70LXQttC00LAsINGH0LUg0L3QsCDRgdC40YHRgtC10LzQsNGC0LAg0LLQuCDQvdGP0LzQsCDQvdC40YLQviDQtdC00L3QsCDQutC+0LzQsNC90LTQsCDQvdCwIGdpdC4iCiAKLSM6IGhlbHAuYzozODMKKyM6IGhlbHAuYzozNTgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKLSJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciCittc2dpZCAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiIgogItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INCf0YDQvtCx0LLQsNGF0YLQtSDQtNCwINC40LfQv9GK0LvQvdC40YLQtSDQutC+0LzQsNC90LTQsCDQvdCwIEdpdCDQvdCwINC40LzQtSDigJ4lc+KAnCwg0LAg0YLQsNC60LDQstCwICIKLSLQvdC1XG4iCi0i0YHRitGJ0LXRgdGC0LLRg9Cy0LAuICDQmNC30L/RitC70L3QtdC90LjQtdGC0L4g0LDQstGC0L7QvNCw0YLQuNGH0L3QviDQv9GA0L7QtNGK0LvQttCw0LLQsCwg0LrQsNGC0L4g0YHQtSDRgdGH0LjRgtCwLCDRh9C1INC40LzQsNGC0LUgIgotItC/0YDQtdC00LLQuNC0IOKAniVz4oCcIgorItC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuIgogCi0jOiBoZWxwLmM6Mzg4CisjOiBoZWxwLmM6MzYzCiAjLCBjLWZvcm1hdAotbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKLW1zZ3N0ciAi0YHQu9C10LQgJTAuMWYg0YHQtdC60YPQvdC00LjigKYiCittc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKK21zZ3N0ciAiIgorItCY0LfQv9GK0LvQvdC10L3QuNC10YLQviDQsNCy0YLQvtC80LDRgtC40YfQvdC+INC/0YDQvtC00YrQu9C20LDQstCwLCDQutCw0YLQviDRgdC1INGB0YfQuNGC0LAsINGH0LUg0LjQvNCw0YLQtSDQv9GA0LXQtNCy0LjQtCDigJ4lc+KAnC4iCiAKLSM6IGhlbHAuYzozOTUKKyM6IGhlbHAuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29udGludWluZyBpbiAlMC4xZiBzZWNvbmRzLCBhc3N1bWluZyB0aGF0IHlvdSBtZWFudCAnJXMnLiIKK21zZ3N0ciAiIgorItCY0LfQv9GK0LvQvdC10L3QuNC10YLQviDQsNCy0YLQvtC80LDRgtC40YfQvdC+INGJ0LUg0L/RgNC+0LTRitC70LbQuCDRgdC70LXQtCAlMC4xZiDRgdC10LouLCDQutCw0YLQviDRgdC1INGB0YfQuNGC0LAsINGH0LUgIgorItC40LzQsNGC0LUg0L/RgNC10LTQstC40LQg4oCeJXPigJwuIgorCisjOiBoZWxwLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCiBtc2dzdHIgImdpdDog4oCeJXPigJwg0L3QtSDQtSDQutC+0LzQsNC90LTQsCDQvdCwIGdpdC4gINCf0L7Qs9C70LXQtNC90LXRgtC1INC40LfRhdC+0LTQsCDQvtGCIOKAnmdpdCAtLWhlbHDigJwuIgogCi0jOiBoZWxwLmM6Mzk5IGhlbHAuYzo0NjUKKyM6IGhlbHAuYzozODAKK21zZ2lkICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgorbXNnaWRfcGx1cmFsICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kcyBhcmUiCittc2dzdHJbMF0gIiIKKyJcbiIKKyLQndCw0Lkt0LHQu9C40LfQutCw0YLQsCDQutC+0LzQsNC90LTQsCDQtSIKK21zZ3N0clsxXSAiIgorIlxuIgorItCd0LDQuS3QsdC70LjQt9C60LjRgtC1INC60L7QvNCw0L3QtNC4INGB0LAiCisKKyM6IGhlbHAuYzozOTUKK21zZ2lkICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHZlcnNpb24gW9Ce0J/QptCY0K/igKZdIgorCisjOiBoZWxwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAtICVzIgorbXNnc3RyICIlczogJXMg4oCUICVzIgorCisjOiBoZWxwLmM6NDYwCiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTE5NDIsMTIgKzIwNjMsNyBAQAogIlxuIgogItCa0L7QvNCw0L3QtNC4INGBINC/0L7QtNC+0LHQvdC+INC40LzQtSDRgdCwOiIKIAotIzogaGVscC5jOjQ2MQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXMgLSAlcyIKLW1zZ3N0ciAiJXM6ICVzIOKAlCAlcyIKLQotIzogaWRlbnQuYzozMzQKKyM6IGlkZW50LmM6MzQyCiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTE5NzQsNiArMjA5MCw0MSBAQAogItGF0YDQsNC90LjQu9C40YnQtS5cbiIKICJcbiIKIAorIzogaWRlbnQuYzozNjYKK21zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICLQu9C40L/RgdCy0LAg0LDQtNGA0LXRgSDQt9CwINC1LdC/0L7RidCwLCDQsCDQsNCy0YLQvtC80LDRgtC40YfQvdC+0YLQviDQvtGC0LPQsNGC0LLQsNC90LUg0LUg0LjQt9C60LvRjtGH0LXQvdC+IgorCisjOiBpZGVudC5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgZW1haWwgYWRkcmVzcyAoZ290ICclcycpIgorbXNnc3RyICIiCisi0LDQtNGA0LXRgdGK0YIg0LfQsCDQtS3Qv9C+0YnQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCz0LDRgtC90LDRgiAo0L3QsNC5LdC00L7QsdGA0L7RgtC+INC/0YDQtdC00L/QvtC70L7QttC10L3QuNC1INCx0LUgIgorIuKAniVz4oCcKSIKKworIzogaWRlbnQuYzozODEKK21zZ2lkICJubyBuYW1lIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCittc2dzdHIgItC70LjQv9GB0LLQsCDQuNC80LUsINCwINCw0LLRgtC+0LzQsNGC0LjRh9C90L7RgtC+INC+0YLQs9Cw0YLQstCw0L3QtSDQtSDQuNC30LrQu9GO0YfQtdC90L4iCisKKyM6IGlkZW50LmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBuYW1lIChnb3QgJyVzJykiCittc2dzdHIgItC40LzQtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQs9Cw0YLQvdCw0YLQviAo0L3QsNC5LdC00L7QsdGA0L7RgtC+INC/0YDQtdC00L/QvtC70L7QttC10L3QuNC1INCx0LUg4oCeJXPigJwpIgorCisjOiBpZGVudC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBpZGVudCBuYW1lIChmb3IgPCVzPikgbm90IGFsbG93ZWQiCittc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9C30LLQsCDQv9GA0LDQt9C90L4g0LjQvNC1INC60LDRgtC+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAICjQt9CwIDwlcz4pIgorCisjOiBpZGVudC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKK21zZ3N0ciAi0LjQvNC10YLQviDRgdGK0LTRitGA0LbQsCDRgdCw0LzQviDQvdC10L/QvtC30LLQvtC70LXQvdC4INC30L3QsNGG0Lg6IOKAniVz4oCcIgorCisjOiBpZGVudC5jOjQxNiBidWlsdGluL2NvbW1pdC5jOjYxMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YTQvtGA0LzQsNGCINC90LAg0LTQsNGC0LA6ICVzIgorCiAjOiBsb2NrZmlsZS5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0yMDAyLDgwICsyMTUzLDgwIEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICLQutC10YjRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBtZXJnZS5jOjk2IGJ1aWx0aW4vYW0uYzoyMDAwIGJ1aWx0aW4vYW0uYzoyMDM1IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzQKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODggYnVpbHRpbi9jbG9uZS5jOjczMQorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MTk4MCBidWlsdGluL2FtLmM6MjAxNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTkxIGJ1aWx0aW4vY2xvbmUuYzo3NTMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDQvdC+0LLQuNGPINC40L3QtNC10LrRgSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTAKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKNC70L7RiNC+INC/0L7QtNCw0LLQsNC90LUpXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMyIG1lcmdlLXJlY3Vyc2l2ZS5jOjI0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmZvX2NhY2hlIGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5hZGRpbmZvX2NhY2hl4oCcINC30LAg0L/RitGC0Y8g4oCeJXPigJwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA0CiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9Cz0YDQsNC20LTQsNC90LUg0L3QsCDQtNGK0YDQstC10YLQsNGC0LAiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0YHRitC30LTQsNCy0LDQvdC10YLQviDQvdCwINC/0YrRgtGPIOKAniVz4oCcJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjczMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwIOKAniVz4oCcLCDQt9CwINC00LAg0YHQtSDQvtGB0LLQvtCx0L7QtNC4INC80Y/RgdGC0L4g0LfQsCDQv9C+0LTQtNC40YDQtdC60YLQvtGA0LjRj1xuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NDUgbWVyZ2UtcmVjdXJzaXZlLmM6NzY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTMgbWVyZ2UtcmVjdXJzaXZlLmM6NzcyCiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiOiDQstGK0LfQvNC+0LbQvdC+INC1INC00LAg0LjQvNCwINC60L7QvdGE0LvQuNC60YIg0LTQuNGA0LXQutGC0L7RgNC40Y8v0YTQsNC50LsuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgIiIKICLQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDQtNC10LnRgdGC0LLQuNC10YLQviwg0LfQsCDQtNCwINC90LUg0YHQtSDQuNC30YLRgNC40LUg0L3QtdGB0LvQtdC00LXQvdC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk2IGJ1aWx0aW4vY2F0LWZpbGUuYzozNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA0IGJ1aWx0aW4vY2F0LWZpbGUuYzozNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg4oCeJXPigJwgKCVzKSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg4oCeJXPigJwgKCVzKSDRgdC1INC+0YfQsNC60LLQsNGI0LUg0LTQsCDQtSBCTE9CLCDQsCDQvdC1INC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnOiAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4OiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODMzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDRgdC40LzQstC+0LvQvdCw0YLQsCDQstGA0YrQt9C60LAg4oCeJXPigJw6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICIiCiAi0L3QtSDQtSDRj9GB0L3QviDQutCw0LrQstC+INC00LAg0YHQtSDQv9GA0LDQstC4INGBINC+0LHQtdC60YLQsCDigJ4lMiRz4oCcICglMyRzKSDRgSDQv9GA0LDQstCwINC30LAg0LTQvtGB0YLRitC/IOKAniUxJDA2b+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTc4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODYKIG1zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INCy0YrRgtGA0LXRiNC90L4g0YHQu9C40LLQsNC90LUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC00L7QsdCw0LLQuCDQsiDQsdCw0LfQsNGC0LAg0YEg0LTQsNC90L3QuCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4MSBtZXJnZS1yZWN1cnNpdmUuYzoxMDk1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0yMDg0LDcgKzIyMzUsMTYgQEAKICLQmtCe0J3QpNCb0JjQmtCiICglcy/QuNC30YLRgNC40LLQsNC90LUpOiDigJ4lc+KAnCDQtSDQuNC30YLRgNC40YIg0LIgJXMsINCwIOKAniVz4oCcINCyICVzLiAg0JLQtdGA0YHQuNGPICVzINC90LAg4oCeJXPigJwgIgogItC1INC+0YHRgtCw0LLQtdC90LAg0LIg0LTRitGA0LLQvtGC0L4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDg3IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlLiIKK21zZ3N0ciAiIgorItCa0J7QndCk0JvQmNCa0KIgKCVzL9C40LfRgtGA0LjQstCw0L3QtSk6IOKAniVz4oCcINC1INC40LfRgtGA0LjRgiDQsiAlcywg0LAg4oCeJXPigJwg0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSDQvdCwIOKAniVz4oCcINCyICIKKyIlcy4gINCS0LXRgNGB0LjRjyAlcyDQvdCwIOKAniVz4oCcINC1INC+0YHRgtCw0LLQtdC90LAg0LIg0LTRitGA0LLQvtGC0L4uIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0yMDkzLDIwICsyMjUzLDI5IEBACiAi0JrQntCd0KTQm9CY0JrQoiAoJXMv0LjQt9GC0YDQuNCy0LDQvdC1KTog4oCeJXPigJwg0LUg0LjQt9GC0YDQuNGCINCyICVzLCDQsCDigJ4lc+KAnCDQsiAlcy4gINCS0LXRgNGB0LjRjyAlcyDQvdCwIOKAniVz4oCcICIKICLQtSDQvtGB0YLQsNCy0LXQvdCwINCyINC00YrRgNCy0L7RgtC+OiAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorItCa0J7QndCk0JvQmNCa0KIgKCVzL9C40LfRgtGA0LjQstCw0L3QtSk6IOKAniVz4oCcINC1INC40LfRgtGA0LjRgiDQsiAlcywg0LAg4oCeJXPigJwg0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSDQvdCwIOKAniVz4oCcINCyICIKKyIlcy4gINCS0LXRgNGB0LjRjyAlcyDQvdCwIOKAniVz4oCcINC1INC+0YHRgtCw0LLQtdC90LAg0LIg0LTRitGA0LLQvtGC0L46ICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0NAogbXNnaWQgInJlbmFtZSIKIG1zZ3N0ciAi0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQ0CiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAi0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAi4oCeJXPigJwg0LUg0LTQuNGA0LXQutGC0L7RgNC40Y8g0LIg4oCeJXPigJwsINC30LDRgtC+0LLQsCDRgdC1INC00L7QsdCw0LLRjyDQutCw0YLQviDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTIxMTUsMTM5ICsyMjg0LDEzOSBAQAogItCa0J7QndCk0JvQmNCa0KIgKNC/0YDQtdC40LzQtdC90YPQstCw0L3QtS/Qv9GA0LXQuNC80LXQvdGD0LLQsNC90LUpOiDigJ4lc+KAnCDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC90LAg4oCeJXPigJwg0LIg0LrQu9C+0L0gIgogIuKAniVz4oCcLCDQsCDigJ4lc+KAnCDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC90LAg4oCeJXPigJwg0LIg4oCeJXPigJwvJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMxCiBtc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgogbXNnc3RyICIgKNC90LXQutC+0YDQuNCz0LjRgNCw0L0g0LrQvtC90YTQu9C40LrRgikiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgogbXNnc3RyICIiCiAi0JrQntCd0KTQm9CY0JrQoiAo0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1L9C/0YDQtdC40LzQtdC90YPQstCw0L3QtSk6IOKAniVz4oCcINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCDQsiDQutC70L7QvSAiCiAi4oCeJXPigJwsINCwIOKAniVz4oCcINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCDQsiDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAi0J/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg4oCeJXPigJwg0L3QsCDigJ4lc+KAnCwg0LAg4oCeJXPigJwg0L3QsCDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgogbXNnc3RyICIiCiAi0JrQntCd0KTQm9CY0JrQoiAo0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1L9C00L7QsdCw0LLRj9C90LUpOiDigJ4lc+KAnCDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC90LAg4oCeJXPigJwg0LIg0LrQu9C+0L0g4oCeJXPigJwsINCwICIKICLigJ4lc+KAnCDQtSDQtNC+0LHQsNCy0LXQvSDQsiDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0YHQu9C10YLQuNGPIOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUzIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTEgbWVyZ2UtcmVjdXJzaXZlLmM6MTc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQutCw0YLQviDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtGH0LXRgtC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjEzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQvdC1INC1IEJMT0IiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODAKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgItC/0YDQvtC80Y/QvdCwIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgItC/0YDQvtC80LXQvdC10L0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTAKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICLRgdGK0LTRitGA0LbQsNC90LjQtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5NwogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUv0LTQvtCx0LDQstGP0L3QtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgItCf0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg4oCeJXPigJwgKNGB0LvQtdGC0LjRj9GCINGA0LXQt9GD0LvRgtCw0YIg0LUg0LjQtNC10L3RgtC40YfQtdC9INGB0YrRgSDRgdC10LPQsNGI0L3QuNGPKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgItCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0YHQu9C40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNiBnaXQtc3VibW9kdWxlLnNoOjkyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1MSBnaXQtc3VibW9kdWxlLnNoOjk0NQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAi0J/QntCU0JzQntCU0KPQmyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAoJXMpOiDQmtC+0L3RhNC70LjQutGCINC/0YDQuCDRgdC70LjQstCw0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3MgogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICLRhNCw0LnQuy/QtNC40YDQtdC60YLQvtGA0LjRjyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3OAogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRjy/RhNCw0LnQuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKIG1zZ3N0ciAiIgogItCa0J7QndCk0JvQmNCa0KIgKCVzKTog0KHRitGJ0LXRgdGC0LLRg9Cy0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QsCDQuNC80LUg4oCeJXPigJwg0LIg4oCeJXPigJwuICDQlNC+0LHQsNCy0Y/QvdC1INC90LAg4oCeJXPigJwgIgogItC60LDRgtC+IOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTMwCiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlISIKIG1zZ3N0ciAi0JLQtdGH0LUg0LUg0L7QsdC90L7QstC10L3QviEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHQu9C40LLQsNC90LUg0L3QsCDQtNGK0YDQstC10YLQsNGC0LAg4oCeJXPigJwg0Lgg4oCeJXPigJwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjIKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAi0KHQu9C40LLQsNC90LU6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDE5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICLQvtGC0LrRgNC40YIg0LUgJXUg0L7QsdGJINC/0YDQtdC00YjQtdGB0YLQstC10L3QuNC6OiIKIG1zZ3N0clsxXSAi0L7RgtC60YDQuNGC0Lgg0YHQsCAldSDQvtCx0YnQuCDQv9GA0LXQtNGI0LXRgdGC0LLQtdC90LjRhtC4OiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA1OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA3NAogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAi0YHQu9C40LLQsNC90LXRgtC+INC90LUg0LLRitGA0L3QsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTIxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQtdC9INCw0L3QsNC70LjQtyDQvdCwINC+0LHQtdC60YLQsCDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEzNSBidWlsdGluL21lcmdlLmM6NjQxIGJ1aWx0aW4vbWVyZ2UuYzo3ODgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTEgYnVpbHRpbi9tZXJnZS5jOjY0NiBidWlsdGluL21lcmdlLmM6NzkzCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAi0JjQvdC00LXQutGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIApAQCAtMjI2MiwxMSArMjQzMSwxMSBAQAogItGB0YrRidC10YHRgtCy0YPQstCwKS5cbiIKICLQl9CwINC00LAg0LfQsNCy0YrRgNGI0LjRgtC1INC/0YDQtdC00LjRiNC90L7RgtC+INGB0LvQuNCy0LDQvdC1LCDQuNC30L/RitC70L3QtdGC0LU6XG4iCiAiXG4iCi0iICAgICAgICBnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXRcbiIKKyIgICAgZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0XG4iCiAiXG4iCiAi0JfQsCDQtNCwINC+0YLQvNC10L3QuNGC0LUg0L/RgNC10LTQuNGI0L3QvtGC0L4g0YHQu9C40LLQsNC90LUsINC40LfQv9GK0LvQvdC10YLQtTpcbiIKICJcbiIKLSIgICAgICAgIGdpdCBub3RlcyBtZXJnZSAtLWFib3J0IgorIiAgICBnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCIKIAogIzogbm90ZXMtbWVyZ2UuYzoyODAKICMsIGMtZm9ybWF0CkBAIC0yMjc0LDU2ICsyNDQzLDU5IEBACiBtc2dzdHIgIiIKICLQndC1INGB0YLQtSDQt9Cw0LLRitGA0YjQuNC70Lgg0YHQu9C40LLQsNC90LXRgtC+INC90LAg0LHQtdC70LXQttC60LjRgtC1LiAgKNCj0LrQsNC30LDRgtC10LvRj9GCIOKAniVz4oCcINGB0YrRidC10YHRgtCy0YPQstCwKS4iCiAKLSM6IG5vdGVzLXV0aWxzLmM6NDEKKyM6IG5vdGVzLXV0aWxzLmM6NDIKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIiIKICLQndC10LjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L3QviDQuNC70Lgg0L3QtdGA0LXRhNC10YDQuNGA0LDQvdC+INC00YrRgNCy0L4g0LfQsCDQsdC10LvQtdC20LrQuCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC00LDQtNC10L3QviIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDAKKyM6IG5vdGVzLXV0aWxzLmM6MTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIOKAnm5vdGVzLnJld3JpdGVNb2Rl4oCcOiDigJ4lc+KAnCIKIAotIzogbm90ZXMtdXRpbHMuYzoxMTAKKyM6IG5vdGVzLXV0aWxzLmM6MTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICIiCiAi0JHQtdC70LXQttC60LjRgtC1INCyIOKAniVz4oCcINC90Y/QvNCwINC00LAg0LHRitC00LDRgiDQv9GA0LXQt9Cw0L/QuNGB0LDQvdC4LCDQt9Cw0YnQvtGC0L4g0YHQsCDQuNC30LLRitC9IOKAnnJlZnMvbm90ZXMv4oCcLiIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKLSMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQotIzogbm90ZXMtdXRpbHMuYzoxMzcKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YKKyMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcworIy4gaXRzIHZhbHVlLgorIy4KKyM6IG5vdGVzLXV0aWxzLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAi0JfQsNC00LDQtNC10L3QsCDQtSDQu9C+0YjQsCDRgdGC0L7QudC90L7RgdGCINC90LAg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwIOKAniVz4oCcOiDigJ4lc+KAnCIKIAotIzogb2JqZWN0LmM6MjQyCisjOiBvYmplY3QuYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvSIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU3MgorIzogcGFyc2Utb3B0aW9ucy5jOjU3MwogbXNnaWQgIi4uLiIKIG1zZ3N0ciAi4oCmIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTkwCisjOiBwYXJzZS1vcHRpb25zLmM6NTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAi0YPQv9C+0YLRgNC10LHQsDogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKLSMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjU5NAorIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgorIy4KKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICAgINC40LvQuDogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKKyM6IHBhcnNlLW9wdGlvbnMuYzo2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo2MzEKKyM6IHBhcnNlLW9wdGlvbnMuYzo2MzQKIG1zZ2lkICItTlVNIgogbXNnc3RyICIt0KfQmNCh0JvQniIKIApAQCAtMjMzMiwxNiArMjUwNCwzNCBAQAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0L3QsCDQvtCx0LXQutGCIOKAniVz4oCcIgogCi0jOiBwYXRoLmM6ODI2CisjOiBwYXRoLmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICLQndC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC00LDQtNCw0YIg0L/RgNCw0LLQsCDQt9CwINC30LDQv9C40YEg0LIg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcINC90LAg0LPRgNGD0L/QsNGC0LAiCiAKLSM6IHBhdGhzcGVjLmM6MTMzCisjOiBwYXRoc3BlYy5jOjEyOQorbXNnaWQgIkVzY2FwZSBjaGFyYWN0ZXIgJ1xcJyBub3QgYWxsb3dlZCBhcyBsYXN0IGNoYXJhY3RlciBpbiBhdHRyIHZhbHVlIgorbXNnc3RyICIiCisi0JXQutGA0LDQvdC40YDQsNGJ0LjRj9GCINC30L3QsNC6IOKAnlxc4oCc0L3QtSDQvNC+0LbQtSDQtNCwINC1INC/0L7RgdC70LXQtNC10L0g0LfQvdCw0Log0LIg0YHRgtC+0LnQvdC+0YHRgtGC0LAg0L3QsCDQsNGC0YDQuNCx0YPRgiIKKworIzogcGF0aHNwZWMuYzoxNDcKK21zZ2lkICJPbmx5IG9uZSAnYXR0cjonIHNwZWNpZmljYXRpb24gaXMgYWxsb3dlZC4iCittc2dzdHIgItCf0L7Qt9Cy0L7Qu9C10L3QviDQtSDRgdCw0LzQviDQtdC00L3QviDRg9C60LDQt9Cy0LDQvdC1INC90LAg4oCeYXR0cjrigJwuIgorCisjOiBwYXRoc3BlYy5jOjE1MAorbXNnaWQgImF0dHIgc3BlYyBtdXN0IG5vdCBiZSBlbXB0eSIKK21zZ3N0ciAi4oCeYXR0cjrigJwg0YLRgNGP0LHQstCwINC00LAg0YPQutCw0LfQstCwINGB0YLQvtC50L3QvtGB0YIiCisKKyM6IHBhdGhzcGVjLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINCw0YLRgNC40LHRg9GCOiDigJ4lc+KAnCIKKworIzogcGF0aHNwZWMuYzoyNTgKIG1zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICLQs9C70L7QsdCw0LvQvdC40YLQtSDQvdCw0YHRgtGA0L7QudC60Lgg0LfQsCDQv9GK0YLQuNGJ0LAg4oCeZ2xvYuKAnCDQuCDigJ5ub2dsb2LigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IHBhdGhzcGVjLmM6MTQzCisjOiBwYXRoc3BlYy5jOjI2NQogbXNnaWQgIiIKICJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCiAicGF0aHNwZWMgc2V0dGluZ3MiCkBAIC0yMzQ5LDQ2ICsyNTM5LDQ2IEBACiAi0LPQu9C+0LHQsNC70L3QsNGC0LAg0L3QsNGB0YLRgNC+0LnQutCwINC30LAg0LTQvtGB0LvQvtCy0L3QuCDQv9GK0YLQuNGJ0LAg4oCebGl0ZXJhbOKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0LLRgdC40YfQutC4ICIKICLQtNGA0YPQs9C4INCz0LvQvtCx0LDQu9C90Lgg0L3QsNGB0YLRgNC+0LnQutC4INC30LAg0L/RitGC0LjRidCwIgogCi0jOiBwYXRoc3BlYy5jOjE3NworIzogcGF0aHNwZWMuYzozMDUKIG1zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC/0LDRgNCw0LzQtdGC0YrRgCDQt9CwINC+0L/RhtC40Y/RgtCwINC30LAg0LzQsNCz0LjRh9C10YHQutC4INC/0YrRgtC40YnQsCDigJ5wcmVmaXjigJwiCiAKLSM6IHBhdGhzcGVjLmM6MTgzCisjOiBwYXRoc3BlYy5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg0L7Qv9GG0LjRj9GC0LAg0LfQsCDQvNCw0LPQuNGH0LXRgdC60Lgg0L/RitGC0LjRidCwIOKAniUuKnPigJwg0LIg4oCeJXPigJwiCiAKLSM6IHBhdGhzcGVjLmM6MTg3CisjOiBwYXRoc3BlYy5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCiBtc2dzdHIgItCX0L3QsNC60YrRgiDigJ4p4oCcINC70LjQv9GB0LLQsCDQsiDQvtC/0YbQuNGP0YLQsCDQt9CwINC80LDQs9C40YfQtdGB0LrQuCDQv9GK0YLQuNGJ0LAg0LIg4oCeJXPigJwiCiAKLSM6IHBhdGhzcGVjLmM6MjA1CisjOiBwYXRoc3BlYy5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKIG1zZ3N0ciAi0JzQsNCz0LjRh9C10YHQutC40YLQtSDQv9GK0YLQuNGJ0LAg4oCeJWPigJwg0YHQsCDQsdC10Lcg0YDQtdCw0LvQuNC30LDRhtC40Y8g0LfQsCDigJ4lc+KAnCIKIAotIzogcGF0aHNwZWMuYzoyMzAKKyM6IHBhdGhzcGVjLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIlczog0L7Qv9GG0LjQuNGC0LUg4oCebGl0ZXJhbOKAnCDQuCDigJ5nbG9i4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBwYXRoc3BlYy5jOjI0MQorIzogcGF0aHNwZWMuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIlczog4oCeJXPigJwg0LUg0LjQt9Cy0YrQvSDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+IgogCi0jOiBwYXRoc3BlYy5jOjI5MQorIzogcGF0aHNwZWMuYzo1MTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgotbXNnc3RyICLQn9GK0YLRj9GCIOKAniVz4oCcINC1INCyINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lLipz4oCcIgorbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKK21zZ3N0ciAi4oCeJXPigJwgKNC60LvQsNCy0LjRiDog4oCeJWPigJwpIgogCi0jOiBwYXRoc3BlYy5jOjM1MworIzogcGF0aHNwZWMuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiJXM6INC80LDQs9C40YfQtdGB0LrQuNGC0LUg0L/RitGC0LjRidCwINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCw0YIg0L7RgiDQutC+0LzQsNC90LTQsNGC0LAg4oCeJXPigJwiCiAKLSM6IHBhdGhzcGVjLmM6NDA4CisjOiBwYXRoc3BlYy5jOjU3NQogbXNnaWQgIiIKICJlbXB0eSBzdHJpbmdzIGFzIHBhdGhzcGVjcyB3aWxsIGJlIG1hZGUgaW52YWxpZCBpbiB1cGNvbWluZyByZWxlYXNlcy4gcGxlYXNlICIKICJ1c2UgLiBpbnN0ZWFkIGlmIHlvdSBtZWFudCB0byBtYXRjaCBhbGwgcGF0aHMiCkBAIC0yMzk3LDI0ICsyNTg3LDE2IEBACiAi0YHQu9C10LTQstCw0YnQuCDQstC10YDRgdC40Lgg0L3QsCBHaXQuICDQkNC60L4g0LjRgdC60LDRgtC1INGB0YrQstC/0LDQtNC10L3QuNC1INGBINCy0YHQuNGH0LrQuCDQv9GK0YLQuNGJ0LAsINC40LfQv9C+0LvQt9Cy0LDQudGC0LU6ICIKICLigJ4u4oCcIgogCi0jOiBwYXRoc3BlYy5jOjQ0MAorIzogcGF0aHNwZWMuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLQv9GK0YLRj9GCIOKAniVz4oCcINC1INGB0LvQtdC0INGB0LjQvNCy0L7Qu9C90LAg0LLRgNGK0LfQutCwIgogCi0jOiBwYXRoc3BlYy5jOjQ0OQotbXNnaWQgIiIKLSJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgotIlBlcmhhcHMgeW91IGZvcmdvdCB0byBhZGQgZWl0aGVyICc6Lycgb3IgJy4nID8iCi1tc2dzdHIgIiIKLSLQndC40YnQviDQvdC1INGB0LUg0LjQt9C60LvRjtGH0LLQsCDQvtGCINGI0LDQsdC70L7QvdC40YLQtSDQt9CwINC40LfQutC70Y7Rh9Cy0LDQvdC1LlxuIgotItCi0L7QstCwINGH0LXRgdGC0L4g0YHQtSDRgdC70YPRh9Cy0LAsINCw0LrQviDRgdGC0LUg0LfQsNCx0YDQsNCy0LjQu9C4INC00LAg0LTQvtCx0LDQstC40YLQtSDigJ46L+KAnCDQuNC70Lgg4oCeLuKAnC4iCi0KLSM6IHByZXR0eS5jOjk3MQorIzogcHJldHR5LmM6OTYzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAi0LDRgNCz0YPQvNC10L3RgtGK0YIg0LrRitC8INC+0L/RhtC40Y/RgtCwIOKAni0tcHJldHR54oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCIKIAotIzogcmVhZC1jYWNoZS5jOjEzMTUKKyM6IHJlYWQtY2FjaGUuYzoxNDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMjQyMyw3ICsyNjA1LDcgQEAKICLQl9Cw0LTQsNC00LXQvdCwINC1INC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0L3QsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmluZGV4LnZlcnNpb27igJwuXG4iCiAi0KnQtSDRgdC1INC/0L7Qu9C30LLQsCDQstC10YDRgdC40Y8gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxMzI1CisjOiByZWFkLWNhY2hlLmM6MTQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0yNDMzLDE5OSArMjYxNSwzMTggQEAKICLigJ5HSVRfSU5ERVhfVkVSU0lPTuKAnC5cbiIKICLQqdC1INGB0LUg0L/QvtC70LfQstCwINCy0LXRgNGB0LjRjyAlaSIKIAotIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQwCisjOiByZWFkLWNhY2hlLmM6MjMwOCBidWlsdGluL21lcmdlLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNGC0LLQvtGA0LgiCisKKyM6IHJlYWQtY2FjaGUuYzoyMzgzIHNlcXVlbmNlci5jOjEzNTMgc2VxdWVuY2VyLmM6MjA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5zdGF04oCcINCy0YrRgNGF0YMg4oCeJXPigJwiCisKKyM6IHJlYWQtY2FjaGUuYzoyMzk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgorbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lgg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC90LAgZ2l0OiAlcyIKKworIzogcmVhZC1jYWNoZS5jOjI0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKKworIzogcmVmcy5jOjYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0g0LfQsCDQt9Cw0L/QuNGBIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDgxCisjOiByZWZzLmM6MTc2OQorbXNnaWQgInJlZiB1cGRhdGVzIGZvcmJpZGRlbiBpbnNpZGUgcXVhcmFudGluZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAi0L7QsdC90L7QstGP0LLQsNC90LjRj9GC0LAg0L3QsCDRg9C60LDQt9Cw0YLQtdC70Lgg0YHQsCDQt9Cw0LHRgNCw0L3QtdC90Lgg0LIg0YHRgNC10LTQuCDQv9C+0LQg0LrQsNGA0LDQvdGC0LjQvdCwIgorCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxNjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgjogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODQKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9C40YLQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LDRgiDQuNC30YLRgNC40YLQuDogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0OTMKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IHJlZi1maWx0ZXIuYzo1NQorIzogcmVmLWZpbHRlci5jOjM1IHd0LXN0YXR1cy5jOjE4MTEKK21zZ2lkICJnb25lIgorbXNnc3RyICLQuNC30YLRgNC40YIiCisKKyM6IHJlZi1maWx0ZXIuYzozNgorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCIKK21zZ3N0ciAi0L3QsNC/0YDQtdC0INGBICVkIgorCisjOiByZWYtZmlsdGVyLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmVoaW5kICVkIgorbXNnc3RyICLQvdCw0LfQsNC0INGBICVkIgorCisjOiByZWYtZmlsdGVyLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWhlYWQgJWQsIGJlaGluZCAlZCIKK21zZ3N0ciAi0L3QsNC/0YDQtdC0INGBICVkLCDQvdCw0LfQsNC0INGBICVkIgorCisjOiByZWYtZmlsdGVyLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgItC+0YfQsNC60LLQsNC9INGE0L7RgNC80LDRgjogJSUoY29sb3I60KbQktCv0KIpIgogCi0jOiByZWYtZmlsdGVyLmM6NTcKKyM6IHJlZi1maWx0ZXIuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGNvbG9yOiAlJShjb2xvcjolcykiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0YbQstGP0YI6ICUlKGNvbG9yOiVzKSIKIAotIzogcmVmLWZpbHRlci5jOjcxCisjOiByZWYtZmlsdGVyLmM6MTIxCiAjLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQ6ICUlKCVzKSIKLW1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDRhNC+0YDQvNCw0YI6ICUlKCVzKSIKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgorbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDRhtGP0LvQviDRh9C40YHQu9C+INC30LAg4oCecmVmbmFtZTpsc3RyaXA9JXPigJwiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NworIzogcmVmLWZpbHRlci5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6cnN0cmlwPSVzIgorbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDRhtGP0LvQviDRh9C40YHQu9C+INC30LAg4oCecmVmbmFtZTpyc3RyaXA9JXPigJwiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiCittc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0LDRgNCz0YPQvNC10L3RgiDQt9CwIOKAniUlKCVzKeKAnDogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpINC90LUg0L/RgNC40LXQvNCwINCw0YDQs9GD0LzQtdC90YLQuCIKIAotIzogcmVmLWZpbHRlci5jOjg0CisjOiByZWYtZmlsdGVyLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShzdWJqZWN0KSDQvdC1INC/0YDQuNC10LzQsCDQsNGA0LPRg9C80LXQvdGC0LgiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDEKKyM6IHJlZi1maWx0ZXIuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUodHJhaWxlcnMpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIlJSh0cmFpbGVycykg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3RgtC4IgorCisjOiByZWYtZmlsdGVyLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIGNvbnRlbnRzOmxpbmVzPSVzIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQv9C+0LvQvtC20LjRgtC10LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ5jb250ZW50czpsaW5lcz0lc+KAnCIKIAotIzogcmVmLWZpbHRlci5jOjEwMworIzogcmVmLWZpbHRlci5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoY29udGVudHMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQsNGA0LPRg9C80LXQvdGCINC30LAgJSUoY29udGVudHMpOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjExMworIzogcmVmLWZpbHRlci5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIgorbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQv9C+0LvQvtC20LjRgtC10LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ5vYmplY3RuYW1lOnNob3J0PSVz4oCcIgorCisjOiByZWYtZmlsdGVyLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0LDRgNCz0YPQvNC10L3RgiDQt9CwICUlKG9iamVjdG5hbWUpOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjEzNQorIzogcmVmLWZpbHRlci5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiBtc2dzdHIgItC+0YfQsNC60LLQsNC9INGE0L7RgNC80LDRgjogJSUoYWxpZ2460KjQmNCg0J7Qp9CY0J3QkCzQn9Ce0JfQmNCm0JjQrykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDcKKyM6IHJlZi1maWx0ZXIuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L/QvtC30LjRhtC40Y86ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTUxCisjOiByZWYtZmlsdGVyLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aWR0aDolcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINGI0LjRgNC+0YfQuNC90LA6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTU3CisjOiByZWYtZmlsdGVyLmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShhbGlnbikgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGCINCw0YDQs9GD0LzQtdC90YIg0LfQsCAlJShhbGlnbik6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTYxCisjOiByZWYtZmlsdGVyLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQv9C+0LvQvtC20LjRgtC10LvQvdCwINGI0LjRgNC+0YfQuNC90LAg0YEg0LvQtdC60YHQtdC80LDRgtCwIOKAniUlKGFsaWduKeKAnCIKIAotIzogcmVmLWZpbHRlci5jOjI0NAorIzogcmVmLWZpbHRlci5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoaWYpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQsNGA0LPRg9C80LXQvdGCINC30LAg4oCeJSUoaWYp4oCcOiAlcyIKKworIzogcmVmLWZpbHRlci5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L7QsdC10LrRgjog4oCeJS4qc+KAnCIKIAotIzogcmVmLWZpbHRlci5jOjI3MAorIzogcmVmLWZpbHRlci5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQviDQuNC80LUg0L3QsCDQvtCx0LXQutGCOiDigJ4lLipz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MzcyCisjOiByZWYtZmlsdGVyLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoaWYpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKK21zZ3N0ciAi0YTQvtGA0LzQsNGCOiDQu9C10LrRgdC10LzQsNGC0LAgJSUoaWYpINC1INC40LfQv9C+0LvQt9Cy0LDQvdCwINCx0LXQtyDRgdGK0L7RgtCy0LXRgtC90LDRgtCwINGdICUlKHRoZW4pIgorCisjOiByZWYtZmlsdGVyLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCittc2dzdHIgItGE0L7RgNC80LDRgjog0LvQtdC60YHQtdC80LDRgtCwICUlKHRoZW4pINC1INC40LfQv9C+0LvQt9Cy0LDQvdCwINCx0LXQtyDRgdGK0L7RgtCy0LXRgtC90LDRgtCwINGdICUlKGlmKSIKKworIzogcmVmLWZpbHRlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi0YTQvtGA0LzQsNGCOiDQu9C10LrRgdC10LzQsNGC0LAgJSUodGhlbikg0LUg0LjQt9C/0L7Qu9C30LLQsNC90LAg0L/QvtCy0LXRh9C1INC+0YIg0LXQtNC40L0g0L/RitGCIgorCisjOiByZWYtZmlsdGVyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIGFmdGVyICUlKGVsc2UpIgorbXNnc3RyICLRhNC+0YDQvNCw0YI6INC70LXQutGB0LXQvNCw0YLQsCAlJSh0aGVuKSDQtSDQuNC30L/QvtC70LfQstCw0L3QsCDRgdC70LXQtCAlJShlbHNlKSIKKworIzogcmVmLWZpbHRlci5jOjU5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgorbXNnc3RyICLRhNC+0YDQvNCw0YI6INC70LXQutGB0LXQvNCw0YLQsCAlJShlbHNlKSDQtSDQuNC30L/QvtC70LfQstCw0L3QsCDQsdC10Lcg0YHRitC+0YLQstC10YLQvdCw0YLQsCDRnSAlJShpZikiCisKKyM6IHJlZi1maWx0ZXIuYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCittc2dzdHIgItGE0L7RgNC80LDRgjog0LvQtdC60YHQtdC80LDRgtCwICUlKGVsc2UpINC1INC40LfQv9C+0LvQt9Cy0LDQvdCwINCx0LXQtyDRgdGK0L7RgtCy0LXRgtC90LDRgtCwINGdICUlKHRoZW4pIgorCisjOiByZWYtZmlsdGVyLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLRhNC+0YDQvNCw0YI6INC70LXQutGB0LXQvNCw0YLQsCAlJShlbHNlKSDQtSDQuNC30L/QvtC70LfQstCw0L3QsCDQv9C+0LLQtdGH0LUg0L7RgiDQtdC00LjQvSDQv9GK0YIiCisKKyM6IHJlZi1maWx0ZXIuYzo2MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gdXNlZCB3aXRob3V0IGNvcnJlc3BvbmRpbmcgYXRvbSIKLW1zZ3N0ciAi0LPRgNC10YjQutCwINCy0YrQsiDRhNC+0YDQvNCwzIDRgtCwOiDQu9C10LrRgdC10LzQsNGC0LAgJSUoZW5kKSDQtSDQuNC30L/QvtC70LfQstCw0L3QsCDQsdC10Lcg0YHRitC+0YLQstC10YLQvdCw0YLQsCDRnSIKK21zZ3N0ciAi0YTQvtGA0LzQsNGCOiDQu9C10LrRgdC10LzQsNGC0LAgJSUoZW5kKSDQtSDQuNC30L/QvtC70LfQstCw0L3QsCDQsdC10Lcg0YHRitC+0YLQstC10YLQvdCw0YLQsCDRnSIKIAotIzogcmVmLWZpbHRlci5jOjQyNAorIzogcmVmLWZpbHRlci5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L3QuNC3INC30LAg0YTQvtGA0LzQsNGC0LjRgNCw0L3QtSDigJ4lc+KAnCIKIAotIzogcmVmLWZpbHRlci5jOjg3OAotbXNnaWQgIjpzdHJpcD0gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFyZ3VtZW50IgotbXNnc3RyICLigJ46c3RyaXA94oCcINC40LfQuNGB0LrQstCwINCw0YDQs9GD0LzQtdC90YIg0YbRj9C70L4sINC/0L7Qu9C+0LbQuNGC0LXQu9C90L4g0YfQuNGB0LvQviIKLQotIzogcmVmLWZpbHRlci5jOjg4MworIzogcmVmLWZpbHRlci5jOjEyNTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmICclcycgZG9lcyBub3QgaGF2ZSAlbGQgY29tcG9uZW50cyB0byA6c3RyaXAiCi1tc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCIOKAniVz4oCcINC90LUg0YDQsNC30L/QvtC70LDQs9CwINGBICVsZCDQutC+0LzQv9C+0L3QtdC90YLQuCDQt9CwINC/0YDQtdC80LDRhdCy0LDQvdC1ICg6c3RyaXApIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKNC40LfQstGK0L0g0LrQu9C+0L0sINC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDigJ4lc+KAnCkiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDQ2CisjOiByZWYtZmlsdGVyLmM6MTI1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgotbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0L4g4oCeJS4qc+KAnCwg0YTQvtGA0LzQsNGCIOKAniVz4oCcIgorbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKK21zZ3N0ciAiKNC40LfQstGK0L0g0LrQu9C+0L0sINC00LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1INC+0YIg4oCeJXPigJwpIgogCi0jOiByZWYtZmlsdGVyLmM6MTA2NiByZWYtZmlsdGVyLmM6MTA5NworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKKyMuCisjOiByZWYtZmlsdGVyLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCittc2dzdHIgIijQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LUg0YHQstGK0YDQt9Cw0L0g0Lgg0LUg0L/RgNC4IOKAniVz4oCcKSIKKworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYworIy4KKyM6IHJlZi1maWx0ZXIuYzoxMjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgorbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LUg0YHQstGK0YDQt9Cw0L0g0Lgg0LUg0L7RgtC00LXQu9C1zIDQvSDQvtGCIOKAniVz4oCcIgorCisjOiByZWYtZmlsdGVyLmM6MTI3NgorbXNnaWQgIihubyBicmFuY2gpIgorbXNnc3RyICIo0LjQt9Cy0YrQvSDQutC70L7QvSkiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDI2IHJlZi1maWx0ZXIuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg4oCeJXPigJwg0LvQuNC/0YHQstCwINC30LAg4oCeJXPigJwiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDY5IHJlZi1maWx0ZXIuYzoxMTAwCisjOiByZWYtZmlsdGVyLmM6MTQyOSByZWYtZmlsdGVyLmM6MTQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQsNC90LDQu9C40LfQuNGA0LDQvdC1INGH0YDQtdC3IOKAnnBhcnNlX29iamVjdF9idWZmZXLigJwg0L3QsCDigJ4lc+KAnCDQt9CwIOKAniVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MTMxMQorIzogcmVmLWZpbHRlci5jOjE3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICLQvtCx0LXQutGCINGB0YrRgSDRgdCz0YDQtdGI0LXQvSDRhNC+0YDQvNCw0YIg0L/RgNC4IOKAniVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MTM3MworIzogcmVmLWZpbHRlci5jOjE4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgcmVmIHdpdGggYnJva2VuIG5hbWUgJXMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9GPINGBINCz0YDQtdGI0L3QviDQuNC80LUg4oCeJXPigJwiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzc4CisjOiByZWYtZmlsdGVyLmM6MTgzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINC/0L7QstGA0LXQtNC10L3QuNGPINGD0LrQsNC30LDRgtC10Lsg4oCeJXPigJwiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjMzCisjOiByZWYtZmlsdGVyLmM6MjA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0LLRitCyINGE0L7RgNC80LDMgNGC0LA6INC70LjQv9GB0LLQsCDQu9C10LrRgdC10LzQsNGC0LAgJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjE2ODcKKyM6IHJlZi1maWx0ZXIuYzoyMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L7QsdC10LrRgiDigJ4lc+KAnCIKIAotIzogcmVtb3RlLmM6NzQ2CisjOiByZW1vdGUuYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICLQndC10LLRitC30LzQvtC20L3QviDQtSDQtNCwINGB0LUg0LTQvtGB0YLQsNCy0Y/RgiDQtdC00L3QvtCy0YDQtdC80LXQvdC90L4g0Lgg4oCeJXPigJwsINC4IOKAniVz4oCcINC60YrQvCDigJ4lc+KAnCIKIAotIzogcmVtb3RlLmM6NzUwCisjOiByZW1vdGUuYzo3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdXN1YWxseSB0cmFja3MgJXMsIG5vdCAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L7QsdC40LrQvdC+0LLQtdC90L4g0YHQu9C10LTQuCDigJ4lc+KAnCwg0LAg0L3QtSDigJ4lc+KAnCIKIAotIzogcmVtb3RlLmM6NzU0CisjOiByZW1vdGUuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgogbXNnc3RyICLigJ4lc+KAnCDRgdC70LXQtNC4INC60LDQutGC0L4g4oCeJXPigJwsINGC0LDQutCwINC4IOKAniVz4oCcIgogCi0jOiByZW1vdGUuYzo3NjIKKyM6IHJlbW90ZS5jOjc2MwogbXNnaWQgIkludGVybmFsIGVycm9yIgogbXNnc3RyICLQktGK0YLRgNC10YjQvdCwINCz0YDQtdGI0LrQsCIKIAotIzogcmVtb3RlLmM6MTY3NyByZW1vdGUuYzoxNzIwCisjOiByZW1vdGUuYzoxNjgwIHJlbW90ZS5jOjE3ODIKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0YHQvtGH0Lgg0LrRitC8INC60LvQvtC9IgogCi0jOiByZW1vdGUuYzoxNjg2CisjOiByZW1vdGUuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICLQvdGP0LzQsCDQutC70L7QvSDQvdCwINC40LzQtSDigJ4lc+KAnCIKIAotIzogcmVtb3RlLmM6MTY4OQorIzogcmVtb3RlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvSDQutC70L7QvS3QuNC30YLQvtGH0L3QuNC6INC30LAg0LrQu9C+0L3QsCDigJ4lc+KAnCIKIAotIzogcmVtb3RlLmM6MTY5NQorIzogcmVtb3RlLmM6MTY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAi0LrQu9C+0L3RitGCLdC40LfRgtC+0YfQvdC40Log4oCeJXPigJwg0L3QtSDQtSDRgdGK0YXRgNCw0L3QtdC9INC60LDRgtC+INGB0LvQtdC00Y/RiSDQutC70L7QvSIKIAotIzogcmVtb3RlLmM6MTcxMAorIzogcmVtb3RlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgpAQCAtMjY1MCw0NiArMjk1MSw0NCBAQAogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgItC/0YDQvtGB0YLQvtGC0L4gKHNpbXBsZSkg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdC1INGB0YrQvtGC0LLQtdGC0YHRgtCy0LAg0L3QsCDQtdC00L3QsCDRhtC10LsiCiAKLSM6IHJlbW90ZS5jOjIwNzMKKyM6IHJlbW90ZS5jOjIwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICLQotC+0LfQuCDQutC70L7QvSDRgdC70LXQtNC4IOKAniVz4oCcLCDQvdC+INGB0LvQtdC00LXQvdC40Y/RgiDQutC70L7QvSDQtSDQuNC30YLRgNC40YIuXG4iCiAKLSM6IHJlbW90ZS5jOjIwNzcKKyM6IHJlbW90ZS5jOjIwODAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiICAo0LfQsCDQtNCwINC60L7RgNC40LPQuNGA0LDRgtC1INGC0L7QstCwLCDQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbeKAnClcbiIKIAotIzogcmVtb3RlLmM6MjA4MAorIzogcmVtb3RlLmM6MjA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKIG1zZ3N0ciAi0JrQu9C+0L3RitGCINC1INCw0LrRgtGD0LDQu9C40LfQuNGA0LDQvSDQutGK0Lwg4oCeJXPigJwuXG4iCiAKLSM6IHJlbW90ZS5jOjIwODQKKyM6IHJlbW90ZS5jOjIwODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAi0JrQu9C+0L3RitGCINCy0Lgg0LUg0YEgJTIkZCDQv9C+0LTQsNCy0LDQvdC1INC/0YDQtdC0IOKAniUxJHPigJwuXG4iCiBtc2dzdHJbMV0gItCa0LvQvtC90YrRgiDQstC4INC1INGBICUyJGQg0L/QvtC00LDQstCw0L3QuNGPINC/0YDQtdC0IOKAniUxJHPigJwuXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTAKKyM6IHJlbW90ZS5jOjIwOTMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgICjQv9GD0LHQu9C40LrRg9Cy0LDQudGC0LUg0LvQvtC60LDQu9C90LjRgtC1INGB0Lgg0L/RgNC+0LzQtdC90Lgg0YfRgNC10Lcg4oCeZ2l0IHB1c2jigJwpXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTMKKyM6IHJlbW90ZS5jOjIwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCiAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0cywgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKLW1zZ3N0clswXSAiIgotItCa0LvQvtC90YrRgiDQstC4INC1INGBICUyJGQg0L/QvtC00LDQstCw0L3QtSDQt9Cw0LQg4oCeJTEkc+KAnCDQuCDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGC0YDQuNCy0LjQsNC70L3QviDRgdC70Y/Rgi5cbiIKLW1zZ3N0clsxXSAiIgotItCa0LvQvtC90YrRgiDQstC4INC1INGBICUyJGQg0L/QvtC00LDQstCw0L3QuNGPINC30LDQtCDigJ4lMSRz4oCcINC4INC80L7QttC1INC00LAg0LHRitC00LUg0YLRgNC40LLQuNCw0LvQvdC+INGB0LvRj9GCLlxuIgorbXNnc3RyWzBdICLQmtC70L7QvdGK0YIg0LLQuCDQtSDRgSAlMiRkINC/0L7QtNCw0LLQsNC90LUg0LfQsNC0IOKAniUxJHPigJwg0Lgg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LXQstGK0YDRgtGP0L0uXG4iCittc2dzdHJbMV0gItCa0LvQvtC90YrRgiDQstC4INC1INGBICUyJGQg0L/QvtC00LDQstCw0L3QuNGPINC30LDQtCDigJ4lMSRz4oCcINC4INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC10LLRitGA0YLRj9C9LlxuIgogCi0jOiByZW1vdGUuYzoyMTAxCisjOiByZW1vdGUuYzoyMTA0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAgKNC+0LHQvdC+0LLQtdGC0LUg0LvQvtC60LDQu9C90LjRjyDRgdC4INC60LvQvtC9INGH0YDQtdC3IOKAnmdpdCBwdWxs4oCcKVxuIgogCi0jOiByZW1vdGUuYzoyMTA0CisjOiByZW1vdGUuYzoyMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMjcwNCw0MSArMzAwMyw0NyBAQAogItCi0LXQutGD0YnQuNGP0YIg0LrQu9C+0L0g0YHQtSDQtSDQvtGC0LTQtdC70LjQuyDQvtGCIOKAniVz4oCcLFxuIgogItC00LLQsNGC0LAg0LjQvNCw0YIg0YHRitC+0YLQstC10YLQvdC+INC/0L4gJWQg0LggJWQg0L3QtdGB0YrQstC/0LDQtNCw0YnQuCDQv9C+0LTQsNCy0LDQvdC40Y8uXG4iCiAKLSM6IHJlbW90ZS5jOjIxMTQKKyM6IHJlbW90ZS5jOjIxMTcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiAgKNGB0LvQtdC50YLQtSDQvtGC0LTQsNC70LXRh9C10L3QuNGPINC60LvQvtC9INCyINC70L7QutCw0LvQvdC40Y8g0YfRgNC10Lcg4oCeZ2l0IHB1bGzigJwpXG4iCiAKLSM6IHJldmlzaW9uLmM6MjE1OAorIzogcmV2aXNpb24uYzoyMTg3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAi0KLQtdC60YPRidC40Y/RgiDQutC70L7QvSDQtSDQv9C+0LLRgNC10LTQtdC9IgogCi0jOiByZXZpc2lvbi5jOjIxNjEKKyM6IHJldmlzaW9uLmM6MjE5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgItCi0LXQutGD0YnQuNGP0YIg0LrQu9C+0L0g4oCeJXPigJwg0LUg0LHQtdC3INC/0L7QtNCw0LLQsNC90LjRjyAiCiAKLSM6IHJldmlzaW9uLmM6MjM1NQorIzogcmV2aXNpb24uYzoyMzg0CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tZmlyc3QtcGFyZW504oCcINC4IOKAni0tYmlzZWN04oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBydW4tY29tbWFuZC5jOjEwNgorIzogcnVuLWNvbW1hbmQuYzo2NDQKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQvtGC0LLQsNGA0Y/QvdC1INC90LAg4oCeL2Rldi9udWxs4oCcIgogCi0jOiBydW4tY29tbWFuZC5jOjEwOAorIzogc2VuZC1wYWNrLmM6MTUxCiAjLCBjLWZvcm1hdAotbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKLW1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAgZHVwMiglZCwlZCkiCittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKK21zZ3N0ciAiIgorItGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L7RgiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YDQsNC30L/QsNC60LXRgtC40YDQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INCw0L3QsNC70LjQt9C40YDQsNC90L46ICVzIgogCi0jOiBzZW5kLXBhY2suYzoyOTcKKyM6IHNlbmQtcGFjay5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQvtGC0LTQsNC70LXRh9C10L3QviDRgNCw0LfQv9Cw0LrQtdGC0LjRgNCw0L3QtTogJXMiCisKKyM6IHNlbmQtcGFjay5jOjMxNgogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICLRgdC10YDRgtC40YTQuNC60LDRgtGK0YIg0LfQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LTQv9C40YHQsNC9IgogCi0jOiBzZW5kLXBhY2suYzo0MTAKKyM6IHNlbmQtcGFjay5jOjQyOQogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAi0L7RgtGB0YDQtdGJ0L3QsNGC0LAg0YHRgtGA0LDQvdCwINC90LUg0L/QvtC00LTRitGA0LbQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INGBINC+0L/RhtC40Y/RgtCwIOKAni0tc2lnbmVk4oCcIgogCi0jOiBzZW5kLXBhY2suYzo0MTIKKyM6IHNlbmQtcGFjay5jOjQzMQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKQEAgLTI3NDYsMjMgKzMwNTEsMzIgQEAKICLQvtGC0YHRgNC10YnQvdCw0YLQsCDRgdGC0YDQsNC90LAg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC40LfRgtC70LDRgdC60LLQsNC90LUg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zaWduZWTigJwsINC30LDRgtC+0LLQsCDQvdC1INGB0LUgIgogItC40LfQv9C+0LvQt9Cy0LAg0YHQtdGA0YLQuNGE0LjQutCw0YIiCiAKLSM6IHNlbmQtcGFjay5jOjQyNAorIzogc2VuZC1wYWNrLmM6NDQzCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICLQv9C+0LvRg9GH0LDQstCw0YnQsNGC0LAg0YHRgtGA0LDQvdCwINC90LUg0L/QvtC00LTRitGA0LbQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INGBINC+0L/RhtC40Y/RgtCwIOKAni0tYXRvbWlj4oCcIgogCi0jOiBzZW5kLXBhY2suYzo0MjkKKyM6IHNlbmQtcGFjay5jOjQ0OAogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICLQvtGC0YHRgNC10YnQvdCw0YLQsCDRgdGC0YDQsNC90LAg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC+0L/RhtC40Lgg0L/RgNC4INC40LfRgtC70LDRgdC60LLQsNC90LUiCiAKLSM6IHNlcXVlbmNlci5jOjE3MQorIzogc2VxdWVuY2VyLmM6MjE2CiBtc2dpZCAicmV2ZXJ0IgogbXNnc3RyICLQvtGC0LzRj9C90LAiCiAKLSM6IHNlcXVlbmNlci5jOjE3MQorIzogc2VxdWVuY2VyLmM6MjE4CiBtc2dpZCAiY2hlcnJ5LXBpY2siCiBtc2dzdHIgItC+0YLQsdC40YDQsNC90LUiCiAKLSM6IHNlcXVlbmNlci5jOjIyOAorIzogc2VxdWVuY2VyLmM6MjIwCittc2dpZCAicmViYXNlIC1pIgorbXNnc3RyICJyZWJhc2UgLWkiCisKKyM6IHNlcXVlbmNlci5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGFjdGlvbjogJWQiCittc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdC+INC00LXQudGB0YLQstC40LU6ICVkIgorCisjOiBzZXF1ZW5jZXIuYzoyNzkKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKQEAgLTI3NzAsNyArMzA4NCw3IEBACiAi0YHQu9C10LQg0LrQvtGA0LjQs9C40YDQsNC90LXRgtC+INC90LAg0LrQvtC90YTQu9C40LrRgtC40YLQtSwg0L7RgtCx0LXQu9C10LbQtdGC0LUg0YHRitC+0YLQstC10YLQvdC40YLQtVxuIgogItC/0YrRgtC40YnQsCDRgSDigJ5naXQgYWRkINCf0KrQouKApuKAnCDQuNC70Lgg4oCeZ2l0IHJtINCf0KrQouKApuKAnC4iCiAKLSM6IHNlcXVlbmNlci5jOjIzMQorIzogc2VxdWVuY2VyLmM6MjgyCiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPidcbiIKQEAgLTI3ODAsNjEgKzMwOTQsNjMgQEAKICLQv9GK0YLQuNGJ0LAg0YEg4oCeZ2l0IGFkZCDQn9Cq0KLigKbigJwg0LjQu9C4IOKAnmdpdCBybSDQn9Cq0KLigKbigJwsINGB0LvQtdC0INC60L7QtdGC0L5cbiIKICLQv9C+0LTQsNC50YLQtSDRgNC10LfRg9C70YLQsNGC0LAg0YEg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBjb21taXQn4oCcLiIKIAotIzogc2VxdWVuY2VyLmM6MjQ0IHNlcXVlbmNlci5jOjEyMDkKKyM6IHNlcXVlbmNlci5jOjI5NSBzZXF1ZW5jZXIuYzoxNjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQutC70Y7Rh9C4IgogCi0jOiBzZXF1ZW5jZXIuYzoyNDcgc2VxdWVuY2VyLmM6MTEyNSBzZXF1ZW5jZXIuYzoxMjE0CisjOiBzZXF1ZW5jZXIuYzoyOTggc2VxdWVuY2VyLmM6MTU2MyBzZXF1ZW5jZXIuYzoxNjkwIHNlcXVlbmNlci5jOjE3MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCiBtc2dzdHIgItCyIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0LjRiNC1IgogCi0jIEZJWE1FIC0gbXVzdCBiZSB0aGUgc2FtZSBhcyBDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyBhYm92ZQotIzogc2VxdWVuY2VyLmM6MjUxCisjOiBzZXF1ZW5jZXIuYzozMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgogbXNnc3RyICLQutGA0LDRj9GCINC90LAg0YDQtdC0INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQv9C40YjQtSDQsiDigJ4lc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6MjU1IHNlcXVlbmNlci5jOjExMzAgc2VxdWVuY2VyLmM6MTIxNgorIzogc2VxdWVuY2VyLmM6MzA2IHNlcXVlbmNlci5jOjE1Njggc2VxdWVuY2VyLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQstGK0YDRiNC4LiIKIAotIzogc2VxdWVuY2VyLmM6Mjc5IGJ1aWx0aW4vYW0uYzoyNTkgYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwMzIKKyM6IHNlcXVlbmNlci5jOjMzMCBzZXF1ZW5jZXIuYzo4MTcgc2VxdWVuY2VyLmM6MTU4OSBidWlsdGluL2FtLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjc1MCBidWlsdGluL21lcmdlLmM6MTAxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IHNlcXVlbmNlci5jOjMwNQorIzogc2VxdWVuY2VyLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCiBtc2dzdHIgItC70L7QutCw0LvQvdC40YLQtSDQstC4INC/0YDQvtC80LXQvdC4INGJ0LUg0LHRitC00LDRgiDQv9GA0LXQt9Cw0L/QuNGB0LDQvdC4INC/0YDQuCAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjMwOQorIzogc2VxdWVuY2VyLmM6MzYwCiBtc2dpZCAiY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgogbXNnc3RyICLQv9C+0LTQsNC50YLQtSDQuNC70Lgg0YHQutCw0YLQsNC50YLQtSDQv9GA0L7QvNC10L3QuNGC0LUsINC30LAg0LTQsCDQv9GA0L7QtNGK0LvQttC40YLQtSIKIAotIzogc2VxdWVuY2VyLmM6MzI0CisjOiBzZXF1ZW5jZXIuYzozODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKLW1zZ3N0ciAiJXM6INGC0YDQuNCy0LjQsNC70L3QviDRgdC70LjQstCw0L3QtSIKK21zZ3N0ciAiJXM6INC/0YDQtdCy0YrRgNGC0LDQvdC1IgogCi0jLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzozOTkKKyMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCisjLiAicmViYXNlIC1pIi4KKyMuCisjOiBzZXF1ZW5jZXIuYzo0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6INC90L7QstC40Y/RgiDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC9IgogCi0jOiBzZXF1ZW5jZXIuYzo0MTgKKyM6IHNlcXVlbmNlci5jOjQ5MQogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+INGB0L7Rh9C10L3QviDQvtGCINGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YLQvlxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0MzgKKyM6IHNlcXVlbmNlci5jOjUxMQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICLQtNGK0YDQstC+0YLQviDQvdCwINC60LXRiNCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvdC+XG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4MworIzogc2VxdWVuY2VyLmM6NTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgpAQCAtMjg1MywxOTMgKzMxNjksNDE2IEBACiAi0LIg0YLQvtCy0LAg0YDQsNCx0L7RgtC90L4g0LTRitGA0LLQviDQuNC80LAg0YHQutCw0YLQsNC90Lgg0L/RgNC+0LzQtdC90LguXG4iCiAi0JDQutC+INC40YHQutCw0YLQtSDQtNCwINCz0Lgg0YHQu9C10LXRgtC1INGBINC/0YDQtdC00LjRiNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUsINC40LfQv9GK0LvQvdC10YLQtTpcbiIKICJcbiIKLSIgICAgICAgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgJXNcbiIKICJcbiIKICLQkNC60L4g0LjRgdC60LDRgtC1INC00LAg0YHRitC30LTQsNC00LXRgtC1INC90L7QstC+INC/0L7QtNCw0LLQsNC90LUsINC40LfQv9GK0LvQvdC10YLQtTpcbiIKICJcbiIKLSIgICAgICAgIGdpdCBjb21taXQgJXNcbiIKKyIgICAgZ2l0IGNvbW1pdCAlc1xuIgogIlxuIgogItCYINCyINC00LLQsNGC0LAg0YHQu9GD0YfQsNGPINC/0YDQvtC00YrQu9C20LDQstCw0YLQtSDRgdC70LXQtCDRgtC+0LLQsCDRgSDQutC+0LzQsNC90LTQsNGC0LA6XG4iCiAiXG4iCi0iICAgICAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjU2NworIzogc2VxdWVuY2VyLmM6Njk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INCw0L3QsNC70LjQt9C40YDQsNC90L5cbiIKIAotIzogc2VxdWVuY2VyLmM6NTcyCisjOiBzZXF1ZW5jZXIuYzo3MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKIG1zZ3N0ciAi0YDQvtC00LjRgtC10LvRgdC60L7RgtC+INC/0L7QtNCw0LLQsNC90LUg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INCw0L3QsNC70LjQt9C40YDQsNC90L5cbiIKIAotIzogc2VxdWVuY2VyLmM6NjU2CisjOiBzZXF1ZW5jZXIuYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVuZXhwZWN0ZWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCisiXG4iCisiXHQlLipzIgorbXNnc3RyICIiCisi0L3QtdC+0YfQsNC60LLQsNC9INC/0YrRgNCy0Lgg0YDQtdC0INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQv9GA0Lgg0YHQvNCw0YfQutCy0LDQvdC1OlxuIgorIlxuIgorIiAgICAlLipzIgorCisjOiBzZXF1ZW5jZXIuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCisiXG4iCisiXHQlLipzIgorbXNnc3RyICIiCisi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L/RitGA0LLQuCDRgNC10LQg0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDRgdC80LDRh9C60LLQsNC90LU6XG4iCisiXG4iCisiICAgICUuKnMiCisKKyM6IHNlcXVlbmNlci5jOjgzNiBzZXF1ZW5jZXIuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICVkIGNvbW1pdHMuIgorbXNnc3RyICLQotC+0LLQsCDQtSDQvtCx0LXQtNC40L3QtdC90LjQtSDQvtGCICVkINC/0L7QtNCw0LLQsNC90LjRjyIKKworIzogc2VxdWVuY2VyLmM6ODQ1Cittc2dpZCAibmVlZCBhIEhFQUQgdG8gZml4dXAiCittc2dzdHIgItCX0LAg0YHQvNCw0YfQutCy0LDQvdC1INCy0Lgg0YLRgNGP0LHQstCwINGD0LrQsNC30LDRgtC10Lsg4oCeSEVBROKAnCIKKworIzogc2VxdWVuY2VyLmM6ODQ3Cittc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKK21zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0L7Rh9C10YLQtSIKKworIzogc2VxdWVuY2VyLmM6ODQ5Cittc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCdzIGNvbW1pdCBtZXNzYWdlIgorbXNnc3RyICIiCisi0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINC/0L7QtNCw0LLQsNC90LUg0LrRitC8INGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC90L46ICVzIgorCisjOiBzZXF1ZW5jZXIuYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICclcyciCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQv9Cw0LfQuCIKKworIzogc2VxdWVuY2VyLmM6ODY0IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQorbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCittc2dzdHIgItCi0L7QstCwINC1IDEt0YLQviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LU6IgorCisjOiBzZXF1ZW5jZXIuYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2Ugb2YgJXMiCittc2dzdHIgItGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0LfQsCDQv9C+0LTQsNCy0LDQvdC1INC60YrQvCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdC+IgorCisjOiBzZXF1ZW5jZXIuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyVkOiIKK21zZ3N0ciAi0KLQvtCy0LAg0LUg0YHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IOKEliVkOiIKKworIzogc2VxdWVuY2VyLmM6ODg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJWQgd2lsbCBiZSBza2lwcGVkOiIKK21zZ3N0ciAi0KHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IOKEliVkINGJ0LUg0LHRitC00LUg0L/RgNC10YHQutC+0YfQtdC90L46IgorCisjOiBzZXF1ZW5jZXIuYzo4ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKK21zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINC60L7QvNCw0L3QtNCwOiAlZCIKKworIzogc2VxdWVuY2VyLmM6OTU1CiBtc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQvdC1INC1INGB0LvRj9GCLiIKIAotIzogc2VxdWVuY2VyLmM6Njc1CisjOiBzZXF1ZW5jZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQtSDRgdC70LjQstCw0L3QtSwg0L3QviDQvdC1INC1INC00LDQtNC10L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tbeKAnCIKIAotIzogc2VxdWVuY2VyLmM6NjgzCisjOiBzZXF1ZW5jZXIuYzo5ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQvdGP0LzQsCDRgNC+0LTQuNGC0LXQuyAlZCIKIAotIzogc2VxdWVuY2VyLmM6Njg3CisjOiBzZXF1ZW5jZXIuYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAi0YPQutCw0LfQsNC90L4g0LUg0LHQsNC30L7QstC+INC/0L7QtNCw0LLQsNC90LUsINC90L4g0L/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwg0L3QtSDQtSDRgdC70LjQstCw0L3QtS4iCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKLSMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzo3MDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgotbXNnc3RyICIlczog0L3QtdGA0LDQt9C/0L7Qt9C90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDRgNC+0LTQuNGC0LXQu9GB0LrQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCIKLQotIzogc2VxdWVuY2VyLmM6NzA1CisjOiBzZXF1ZW5jZXIuYzo5OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30LLQu9C40YfQsNC90LUg0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzo3OTcKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKKyMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCisjOiBzZXF1ZW5jZXIuYzoxMDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKK21zZ3N0ciAiJXM6INC90LXRgNCw0LfQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCINC30LAg0YDQvtC00LjRgtC10LvRgdC60L7RgtC+INC/0L7QtNCw0LLQsNC90LUg4oCeJXPigJwiCisKKyM6IHNlcXVlbmNlci5jOjEwNzUgc2VxdWVuY2VyLmM6MTgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVuYW1lICclcycgdG8gJyVzJyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LAg0L3QsCDigJ4lc+KAnCIKKworIzogc2VxdWVuY2VyLmM6MTEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnOKApiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC80LXQvdC10L3Qvjog4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjc5OAorIzogc2VxdWVuY2VyLmM6MTEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCc4oCmINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LjQu9C+0LbQtdC90L46IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzMKKyM6IHNlcXVlbmNlci5jOjExNjkKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAi0LfQsNC00LDQtNC10L3QviDQtSDQv9GA0LDQt9C90L4g0LzQvdC+0LbQtdGB0YLQstC+INC+0YIg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDMKKyM6IHNlcXVlbmNlci5jOjExNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczog0L3QtdGD0YHQv9C10YjQvdC+INC40LfRh9C40YLQsNC90LUg0L3QsCDQuNC90LTQtdC60YHQsCIKIAotIzogc2VxdWVuY2VyLmM6ODUwCisjOiBzZXF1ZW5jZXIuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6INC90LXRg9GB0L/QtdGI0L3QviDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwIgogCi0jOiBzZXF1ZW5jZXIuYzo5NDQKKyM6IHNlcXVlbmNlci5jOjEzMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRgNC10LQgJWQ6ICUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjk1MAotbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKLW1zZ3N0ciAi0L3QuNC60L7QtSDQvtGCINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YDQsNC30L/QvtC30L3QsNC1LiIKKyM6IHNlcXVlbmNlci5jOjEzMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICclcycgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAi0JHQtdC3INC/0YDQtdC00LjRiNC90L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuCDigJ4lc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6OTY2CisjOiBzZXF1ZW5jZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgogbXNnc3RyICLQvtGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGH0LXRgtC1LiIKIAotIzogc2VxdWVuY2VyLmM6OTcyCisjOiBzZXF1ZW5jZXIuYzoxMzU5Cittc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgItC60L7RgNC40LPQuNGA0LDQudGC0LUg0YLQvtCy0LAg0YfRgNC10Lcg4oCeZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb+KAnC4iCisKKyM6IHNlcXVlbmNlci5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCiBtc2dzdHIgItC90LXQuNC30L/QvtC70LfQstCw0LXQvCDRhNCw0LnQuyDRgSDQvtC/0LjRgdCw0L3QuNC1INC90LAg0L/RgNC10LTRgdGC0L7Rj9GJ0LjRgtC1INC00LXQudGB0YLQstC40Y86IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzo5ODMKKyM6IHNlcXVlbmNlci5jOjEzNjYKK21zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCittc2dzdHIgItC90LjQutC+0LUg0L7RgiDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGA0LDQt9C/0L7Qt9C90LDQtS4iCisKKyM6IHNlcXVlbmNlci5jOjEzNzcKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAiIgogItC/0L4g0LLRgNC10LzQtSDQvdCwINC+0YLQvNGP0L3QsCDQvdCwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0Lgg0L7RgtCx0LjRgNCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUuIgogCi0jOiBzZXF1ZW5jZXIuYzo5ODUKKyM6IHNlcXVlbmNlci5jOjEzNzkKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAi0L/QviDQstGA0LXQvNC1INC90LAg0L7RgtCx0LjRgNCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDQvtGC0LzRj9C90LAg0L3QsCDQv9C+0LTQsNCy0LDQvdC1LiIKIAotIzogc2VxdWVuY2VyLmM6MTAyOAorIzogc2VxdWVuY2VyLmM6MTQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC60LvRjtGHOiDigJ4lc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6MTAzMQorIzogc2VxdWVuY2VyLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ4lc+KAnDog4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjEwNjMKKyM6IHNlcXVlbmNlci5jOjE1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICclcyciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGE0LDQudC7INGBINC+0L/RhtC40Lg6IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTAxCisjOiBzZXF1ZW5jZXIuYzoxNTQwCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiIgogItCyINC80L7QvNC10L3RgtCwINCy0LXRh9C1INGB0LUg0LjQt9Cy0YrRgNGI0LLQsCDQvtGC0LHQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGPINC40LvQuCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INC90LAg0LrQu9C+0L3QsCIKIAotIzogc2VxdWVuY2VyLmM6MTEwMgorIzogc2VxdWVuY2VyLmM6MTU0MQogbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydCnigJwiCiAKLSM6IHNlcXVlbmNlci5jOjExMDYKKyM6IHNlcXVlbmNlci5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQt9CwINGB0LXQutCy0LXQvdGB0L7RgNCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCiAKLSM6IHNlcXVlbmNlci5jOjExMjAKKyM6IHNlcXVlbmNlci5jOjE1NTgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQutC70Y7Rh9C4IgogCi0jOiBzZXF1ZW5jZXIuYzoxMTUxIHNlcXVlbmNlci5jOjEyODkKKyM6IHNlcXVlbmNlci5jOjE2MTQgc2VxdWVuY2VyLmM6MjE4OAogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiIgogItCyINC80L7QvNC10L3RgtCwINC90LUg0YHQtSDQuNC30LLRitGA0YjQstCwINC+0YLQsdC40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8g0LjQu9C4INC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDQutC70L7QvdCwIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTUzCisjOiBzZXF1ZW5jZXIuYzoxNjE2CiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4g0YHQvtGH0LXQvdC+INC+0YIg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+IgogCi0jOiBzZXF1ZW5jZXIuYzoxMTU1IHNlcXVlbmNlci5jOjExODkKKyM6IHNlcXVlbmNlci5jOjE2MTggc2VxdWVuY2VyLmM6MTY1MgogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICIiCiAi0LTQtdC50YHRgtCy0LjQtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0LXQvdC+LCDQutC+0LPQsNGC0L4g0YHRgtC1INC90LAg0LrQu9C+0L0sINC60L7QudGC0L4g0YLQtdC/0YrRgNCy0LAgIgogItC/0YDQtdC00YHRgtC+0Lgg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC9IgogCi0jOiBzZXF1ZW5jZXIuYzoxMTc1IGJ1aWx0aW4vZ3JlcC5jOjU3OAorIzogc2VxdWVuY2VyLmM6MTYzOCBidWlsdGluL2dyZXAuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9IgogCi0jOiBzZXF1ZW5jZXIuYzoxMTc3CisjOiBzZXF1ZW5jZXIuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvTogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjExNzgKKyM6IHNlcXVlbmNlci5jOjE2NDEKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LrRgNCw0Lkg0L3QsCDRhNCw0LnQuyIKIAotIzogc2VxdWVuY2VyLmM6MTE4NAorIzogc2VxdWVuY2VyLmM6MTY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIiIKICLQt9Cw0L/QsNC30LXQvdC40Y/RgiDQv9GA0LXQtNC4INC30LDQv9C+0YfQstCw0L3QtdGC0L4g0L3QsCDQvtGC0LHQuNGA0LDQvdC10YLQviDRhNCw0LnQuyDQt9CwINGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcIOKAlCDigJ4lc+KAnCDQtSAiCiAi0L/QvtCy0YDQtdC00LXQvSIKIAotIzogc2VxdWVuY2VyLmM6MTM1NAorIzogc2VxdWVuY2VyLmM6MTY1OAorbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKK21zZ3N0ciAiIgorItCY0LfQs9C70LXQttC00LAg0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQtSDQv9GA0L7QvNC10L3QtdC9LiAg0J/RgNC+0LLQtdGA0LXRgtC1INC60YrQvCDQutCw0LrQstC+INGB0L7Rh9C4LlxuIgorItCd0LUg0YHQtSDQv9GA0LDQstGP0YIg0L/RgNC+0LzQtdC90LguIgorCisjOiBzZXF1ZW5jZXIuYzoxNzk1IHNlcXVlbmNlci5jOjIwODYKK21zZ2lkICJjYW5ub3QgcmVhZCBIRUFEIgorbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgorCisjOiBzZXF1ZW5jZXIuYzoxODM1IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQutC+0L/QuNGA0LAg0LrQsNGC0L4g4oCeJXPigJwiCisKKyM6IHNlcXVlbmNlci5jOjE4NTEKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKK21zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKKworIzogc2VxdWVuY2VyLmM6MTg1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKKyIlc1lvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorbXNnc3RyICIiCisi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1OiAlc1xuIgorIiVz0JzQvtC20LUg0LTQsCDQutC+0YDQuNCz0LjRgNCw0YLQtSDQv9GA0L7QsdC70LXQvNCwLCDRgdC70LXQtCDQutC+0LXRgtC+INC40LfQv9GK0LvQvdC10YLQtTpcbiIKKyJcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCisKKyM6IHNlcXVlbmNlci5jOjE4NjIKK21zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorbXNnc3RyICLQuCDQv9GA0L7QvNC10L3QuCDQuNC90LTQtdC60YHQsCDQuC/QuNC70Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L5cbiIKKworIzogc2VxdWVuY2VyLmM6MTg2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCittc2dzdHIgIiIKKyLQo9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtTogJXNcbiIKKyLQntGB0YLQsNCy0LDRgiDQvtGJ0LUg0L/RgNC+0LzQtdC90Lgg0LIg0LjQvdC00LXQutGB0LAg0LjQu9C4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+LlxuIgorItCi0YDRj9Cx0LLQsCDQtNCwINCz0Lgg0L/QvtC00LDQtNC10YLQtSDQuNC70Lgg0YHQutCw0YLQsNC10YLQtSDQuCDRgdC70LXQtCDRgtC+0LLQsCDQuNC30L/RitC70L3QtdGC0LU6XG4iCisiXG4iCisiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorCisjOiBzZXF1ZW5jZXIuYzoxOTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLlxuIgorbXNnc3RyICLQkNCy0YLQvtC80LDRgtC40YfQvdC+INGB0LrQsNGC0LDQvdC+0YLQviDQtSDQv9GA0LjQu9C+0LbQtdC90L4uXG4iCisKKyM6IHNlcXVlbmNlci5jOjE5MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0b3JlICVzIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L0iCisKKyM6IHNlcXVlbmNlci5jOjE5NDAgZ2l0LXJlYmFzZS5zaDoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCisiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKKyJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCittc2dzdHIgIiIKKyLQn9GA0LjQu9Cw0LPQsNC90LXRgtC+INC90LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QviDRgdC60LDRgtCw0L3QvtGC0L4g0LTQvtCy0LXQtNC1INC00L4g0LrQvtC90YTQu9C40LrRgtC4LiAg0J/RgNC+0LzQtdC90LjRgtC1INCy0Lgg0YHQsFxuIgorItC90LDQtNC10LbQtNC90L4g0YHQutCw0YLQsNC90LguICDQnNC+0LbQtdGC0LUg0LTQsCDQv9GA0L7QsdCy0LDRgtC1INC00LAg0LPQuCDQv9GA0LjQu9C+0LbQuNGC0LUg0YfRgNC10Lcg4oCeZ2l0IHN0YXNoIHBvcOKAnFxuIgorItC40LvQuCDQtNCwINCz0Lgg0LjQt9GF0LLRitGA0LvQuNGC0LUg0YfRgNC10Lcg4oCeZ2l0IHN0YXNoIGRyb3DigJwsINC60L7Qs9Cw0YLQviDQv9C+0LjRgdC60LDRgtC1LlxuIgorCisjOiBzZXF1ZW5jZXIuYzoyMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKK21zZ3N0ciAi0KHQv9C40YDQsNC90LUg0L/RgNC4IOKAniVz4oCc4oCmICAlLipzXG4iCisKKyM6IHNlcXVlbmNlci5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21tYW5kICVkIgorbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0LrQvtC80LDQvdC00LAgJWQiCisKKyM6IHNlcXVlbmNlci5jOjIwOTQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvcmlnLWhlYWQiCittc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCINC30LAg4oCeb3JpZy1oZWFk4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtGH0LXRgtC1IgorCisjOiBzZXF1ZW5jZXIuYzoyMDk5Cittc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgorbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDQt9CwIOKAnm9udG/igJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC+0YfQtdGC0LUiCisKKyM6IHNlcXVlbmNlci5jOjIxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7QsdC90L7QstC4IgorCisjOiBzZXF1ZW5jZXIuYzoyMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgSEVBRCB0byAlcyIKK21zZ3N0ciAi4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7QsdC90L7QstC10L0g0LTQviDigJ4lc+KAnCIKKworIzogc2VxdWVuY2VyLmM6MjE5NworbXNnaWQgImNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0L/RgNC10LHQsNC30LjRgNCw0YLQtSwg0LfQsNGJ0L7RgtC+INC40LzQsCDQv9GA0L7QvNC10L3QuCwg0LrQvtC40YLQviDQvdC1INGB0LAg0LIg0LjQvdC00LXQutGB0LAuIgorCisjOiBzZXF1ZW5jZXIuYzoyMjAyCittc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgorbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5DSEVSUllfUElDS19IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCisKKyM6IHNlcXVlbmNlci5jOjIyMTEKK21zZ2lkICJjYW5ub3QgYW1lbmQgbm9uLWV4aXN0aW5nIGNvbW1pdCIKK21zZ3N0ciAi0L3QtdGB0YrRidC10YHRgtCy0YPQstCw0YnQviDQv9C+0LTQsNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qv9GA0LDQstC4IgorCisjOiBzZXF1ZW5jZXIuYzoyMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YTQsNC50Ls6IOKAniVz4oCcIgorCisjOiBzZXF1ZW5jZXIuYzoyMjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29udGVudHM6ICclcyciCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INGB0YrQtNGK0YDQttCw0L3QuNC1OiDigJ4lc+KAnCIKKworIzogc2VxdWVuY2VyLmM6MjIxOAorbXNnaWQgIiIKKyJcbiIKKyJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UsIGNvbW1pdCB0aGVtXG4iCisiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKK21zZ3N0ciAiIgorIlxuIgorItCSINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC40LzQsCDQvdC10L/QvtC00LDQtNC10L3QuCDQv9GA0L7QvNC10L3QuC4gINCf0YrRgNCy0L4g0LPQuCDQv9C+0LTQsNC50YLQtSwg0LAg0YHQu9C10LQg0YLQvtCy0LBcbiIKKyLQvtGC0L3QvtCy0L4g0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCByZWJhc2UgLS1jb250aW51ZeKAnC4iCisKKyM6IHNlcXVlbmNlci5jOjIyMjgKK21zZ2lkICJjb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi0L/RgNC+0LzQtdC90LjRgtC1INCyINC40L3QtNC10LrRgdCwINC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0L/QvtC00LDQtNC10L3QuC4iCisKKyM6IHNlcXVlbmNlci5jOjIzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LHQtdGA0LUg4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjEzNTgKKyM6IHNlcXVlbmNlci5jOjIzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvQvdCwINCy0LXRgNGB0LjRjyIKIAotIzogc2VxdWVuY2VyLmM6MTM5MQorIzogc2VxdWVuY2VyLmM6MjM0NQogbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAi0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LzQtdC90LXQvdC+IgogCi0jOiBzZXR1cC5jOjE2MAorIzogc2V0dXAuYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTMwNDgsOSArMzU4Nyw5IEBACiAiJXM6INCyINGC0L7QstCwINGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4g0L3Rj9C80LAg0YLQsNC60YrQsiDQv9GK0YIuXG4iCiAi0JfQsCDQtNCwINGD0LrQsNC30LLQsNGC0LUg0L/RitGC0LjRidCwLCDQutC+0LjRgtC+INC70L7QutCw0LvQvdC+INC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRgiwg0LjQt9C/0L7Qu9C30LLQsNC50YLQtTpcbiIKICJcbiIKLSIgICAgICAgIGdpdCDQmtCe0JzQkNCd0JTQkCAtLSDQn9Cq0KLigKYiCisiICAgIGdpdCDQmtCe0JzQkNCd0JTQkCAtLSDQn9Cq0KLigKYiCiAKLSM6IHNldHVwLmM6MTczCisjOiBzZXR1cC5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTMwNjEsOSArMzYwMCw5IEBACiAi0LTRitGA0LLQvi5cbiIKICLQoNCw0LfQtNC10LvRj9C50YLQtSDQv9GK0YLQuNGJ0LDRgtCwINC+0YIg0LLQtdGA0YHQuNC40YLQtSDRgSDigJ4tLeKAnCwg0LXRgtC+INGC0LDQutCwOlxuIgogIlxuIgotIiAgICAgICAgZ2l0INCa0J7QnNCQ0J3QlNCQIFvQktCV0KDQodCY0K/igKZdIC0tIFvQpNCQ0JnQm+KApl0iCisiICAgIGdpdCDQmtCe0JzQkNCd0JTQkCBb0JLQldCg0KHQmNCv4oCmXSAtLSBb0KTQkNCZ0JvigKZdIgogCi0jOiBzZXR1cC5jOjIyMworIzogc2V0dXAuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtMzA3MywzMyArMzYxMiwzOCBAQAogItC90LXQtdC00L3QvtC30L3QsNGH0LXQvSDQsNGA0LPRg9C80LXQvdGCIOKAniVzOiDQutCw0LrRgtC+INCy0LXRgNGB0LjRjywg0YLQsNC60LAg0Lgg0L/RitGCLlxuIgogItCg0LDQt9C00LXQu9GP0LnRgtC1INC/0YrRgtC40YnQsNGC0LAg0L7RgiDQstC10YDRgdC40LjRgtC1INGBIOKAni0t4oCcLCDQtdGC0L4g0YLQsNC60LA6XG4iCiAiXG4iCi0iICAgICAgICBnaXQg0JrQntCc0JDQndCU0JAgW9CS0JXQoNCh0JjQr+KApl0gLS0gW9Ck0JDQmdCb4oCmXSIKKyIgICAgZ2l0INCa0J7QnNCQ0J3QlNCQIFvQktCV0KDQodCY0K/igKZdIC0tIFvQpNCQ0JnQm+KApl0iCiAKLSM6IHNldHVwLmM6NDY4CisjOiBzZXR1cC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9ICVkLCBmb3VuZCAlZCIKIG1zZ3N0ciAi0J7Rh9Cw0LrQstCwINGB0LUg0LLQtdGA0YHQuNGPINC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviDQvdCwIGdpdCA8PSAlZCwg0LAg0L3QtSAlZCIKIAotIzogc2V0dXAuYzo0NzYKKyM6IHNldHVwLmM6NTEyCiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICLQvtGC0LrRgNC40YLQuCDRgdCwINC90LXQv9C+0LfQvdCw0YLQuCDRgNCw0LfRiNC40YDQtdC90LjRjyDQsiDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+OiIKIAotIzogc2V0dXAuYzo3NjIKKyM6IHNldHVwLmM6ODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgogbXNnc3RyICIiCiAi0J3QuNGC0L4g0YLQsNC30LgsINC90LjRgtC+INC60L7Rj9GC0L4g0Lgg0LTQsCDQtSDQvtGCINC/0L4t0LPQvtGA0L3QuNGC0LUg0LTQuNGA0LXQutGC0L7RgNC40LgsINC90LUg0LUg0YXRgNCw0L3QuNC70LjRidC1INC90LAgIgogImdpdDogJXMiCiAKLSM6IHNldHVwLmM6NzY0IHNldHVwLmM6OTE1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDEKKyM6IHNldHVwLmM6ODEyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTIKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAi0J/RgNC+0YbQtdGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQstGK0YDQvdC1INC60YrQvCDQv9GA0LXQtNC40YjQvdCw0YLQsCDRgNCw0LHQvtGC0L3QsCDQtNC40YDQtdC60YLQvtGA0LjRjyIKIAotIzogc2V0dXAuYzo4NDUKKyM6IHNldHVwLmM6MTA1MAogbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgItCi0LXQutGD0YnQsNGC0LAg0YDQsNCx0L7RgtC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L3QsCIKIAotIzogc2V0dXAuYzo5MjAKKyM6IHNldHVwLmM6MTA2MiBzZXR1cC5jOjEwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMnIgorbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQtSDQstC70LXQt9C1INCyINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCIKKworIzogc2V0dXAuYzoxMDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKQEAgLTMxMTAsMTIgKzM2NTQsNyBAQAogIkdpdCDRgNCw0LHQvtGC0Lgg0LIg0YDQsNC80LrQuNGC0LUg0L3QsCDQtdC00L3QsCDRhNCw0LnQu9C+0LLQsCDRgdC40YHRgtC10LzQsCwg0LfQsNGJ0L7RgtC+INC/0YDQvtC80LXQvdC70LjQstCw0YLQsCDQvdCwINGB0YDQtdC00LDRgtCwICIKICLigJ5HSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVN4oCcINC90LUg0LUg0LfQsNC00LDQtNC10L3QsC4iCiAKLSM6IHNldHVwLmM6OTI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIKLW1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LLQu9C10LfQtSDQsiDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwiCi0KLSM6IHNldHVwLmM6OTg5CisjOiBzZXR1cC5jOjExNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKQEAgLTMxMjUsNjAgKzM2NjQsNjAgQEAKICIoMCUuM28pLlxuIgogItCh0L7QsdGB0YLQstC10L3QuNC60YrRgiDQvdCwINGE0LDQudC70LAg0YLRgNGP0LHQstCwINC00LAg0LjQvNCwINC/0YDQsNCy0LAg0LfQsCDQv9C40YHQsNC90LUg0Lgg0YfQtdGC0LXQvdC1LiIKIAotIzogc2hhMV9maWxlLmM6NDczCisjOiBzaGExX2ZpbGUuYzo1NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLQv9GK0YLRj9GCIOKAniVz4oCcINC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuIgogCi0jOiBzaGExX2ZpbGUuYzo0OTkKKyM6IHNoYTFfZmlsZS5jOjU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKIG1zZ3N0ciAi0LLRgdC1INC+0YnQtSDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCDQtdGC0LDQu9C+0L3QvdC+INGF0YDQsNC90LjQu9C40YnQtSDigJ4lc+KAnCDQutCw0YLQviDRgdCy0YrRgNC30LDQvdC+LiIKIAotIzogc2hhMV9maWxlLmM6NTA1CisjOiBzaGExX2ZpbGUuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAi0LXRgtCw0LvQvtC90L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcINC90LUg0LUg0LvQvtC60LDQu9C90L4iCiAKLSM6IHNoYTFfZmlsZS5jOjUxMQorIzogc2hhMV9maWxlLmM6NTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKIG1zZ3N0ciAi0LXRgtCw0LvQvtC90L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcINC1INC/0LvQuNGC0LrQviIKIAotIzogc2hhMV9maWxlLmM6NTE5CisjOiBzaGExX2ZpbGUuYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgogbXNnc3RyICLQtdGC0LDQu9C+0L3QvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwg0LUg0YEg0L/RgNC40YHQsNC20LTQsNC90LUiCiAKLSM6IHNoYTFfZmlsZS5jOjExNTkKKyM6IHNoYTFfZmlsZS5jOjEyNDUKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAiIgogItC+0YLQvNC10YHRgtCy0LDQvdC1INC/0YDQtdC00Lgg0LrRgNCw0Y8g0L3QsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7ICjQstGK0LfQvNC+0LbQvdC+INC1INC40L3QtNC10LrRgdGK0YIg0LTQsCDQtSDQv9C+0LLRgNC10LTQtdC9KSIKIAotIzogc2hhMV9maWxlLmM6MjU5MgorIzogc2hhMV9maWxlLmM6MjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgIiIKICLQvtGC0LzQtdGB0YLQstCw0L3QtSDQv9GA0LXQtNC4INC90LDRh9Cw0LvQvtGC0L4g0L3QsCDQuNC90LTQtdC60YHQsCDQvdCwINC/0LDQutC10YLQvdC40Y8g0YTQsNC50Lsg4oCeJXPigJwgKNCy0YrQt9C80L7QttC90L4g0LUgIgogItC40L3QtNC10LrRgdGK0YIg0LTQsCDQtSDQv9C+0LLRgNC10LTQtdC9KSIKIAotIzogc2hhMV9maWxlLmM6MjU5NgorIzogc2hhMV9maWxlLmM6MjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIiIKICLQvtGC0LzQtdGB0YLQstCw0L3QtSDQv9GA0LXQtNC4INC60YDQsNGPINC90LAg0LjQvdC00LXQutGB0LAg0L3QsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7IOKAniVz4oCcICjQstGK0LfQvNC+0LbQvdC+INC1INC40L3QtNC10LrRgdGK0YIgIgogItC00LAg0LUg0L7RgtGA0Y/Qt9Cw0L0pIgogCi0jOiBzaGExX25hbWUuYzo0MDcKKyM6IHNoYTFfbmFtZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAi0LrRitGB0LjRj9GCIFNIQTEg4oCeJXPigJwg0L3QtSDQtSDQtdC00L3QvtC30L3QsNGH0LXQvSIKIAotIzogc2hhMV9uYW1lLmM6NDE4CisjOiBzaGExX25hbWUuYzo0MzAKIG1zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgogbXNnc3RyICLQktGK0LfQvNC+0LbQvdC+0YHRgtC40YLQtSDRgdCwOiIKIAotIzogc2hhMV9uYW1lLmM6NTc4CisjOiBzaGExX25hbWUuYzo1ODkKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0zMjAyLDEwNSArMzc0MSwxODMgQEAKICLRgdC/0YDQtdGC0LUg0YLQvtCy0LAg0YHRitC+0LHRidC10L3QuNC1INC60LDRgtC+INC40LfQv9GK0LvQvdC40YLQtSDQutC+0LzQsNC90LTQsNGC0LA6XG4iCiAi4oCeZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2XigJwiCiAKLSM6IHN1Ym1vZHVsZS5jOjY0IHN1Ym1vZHVsZS5jOjk4CisjOiBzdWJtb2R1bGUuYzo3MCBzdWJtb2R1bGUuYzoxMDQKIG1zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKIG1zZ3N0ciAiIgogItCd0LXRgdC70LXRgtC40YLQtSDRhNCw0LnQu9C+0LLQtSDigJ4uZ2l0bW9kdWxlc+KAnCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC/0YDQvtC80LXQvdGP0L3QuC4gINCf0YrRgNCy0L4gIgogItC60L7RgNC40LPQuNGA0LDQudGC0LUg0LrQvtC90YTQu9C40LrRgtC40YLQtSIKIAotIzogc3VibW9kdWxlLmM6Njggc3VibW9kdWxlLmM6MTAyCisjOiBzdWJtb2R1bGUuYzo3NCBzdWJtb2R1bGUuYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgogbXNnc3RyICLQktGK0LIg0YTQsNC50LvQsCDigJ4uZ2l0bW9kdWxlc+KAnCDQu9C40L/RgdCy0LAg0YDQsNC30LTQtdC7INC30LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g4oCecGF0aD0lc+KAnCIKIAotIzogc3VibW9kdWxlLmM6NzYKKyM6IHN1Ym1vZHVsZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCiBtc2dzdHIgItCX0LDQv9C40YHRitGCIOKAniVz4oCcINCy0YrQsiDRhNCw0LnQu9CwIOKAni5naXRtb2R1bGVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7QvNC10L3QtdC9IgogCi0jOiBzdWJtb2R1bGUuYzoxMDkKKyM6IHN1Ym1vZHVsZS5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAi0JfQsNC/0LjRgdGK0YIg4oCeJXPigJwg0LLRitCyINGE0LDQudC70LAg4oCeLmdpdG1vZHVsZXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKIAotIzogc3VibW9kdWxlLmM6MTIwCisjOiBzdWJtb2R1bGUuYzoxMjYKIG1zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LTQvtCx0LDQstGP0L3QtSDQvdCwINC/0YDQvtC80LXQvdC10L3QuNGPINGE0LDQudC7IOKAni5naXRtb2R1bGVz4oCcINCyINC40L3QtNC10LrRgdCwIgogCi0jOiBzdWJtb2R1bGUuYzoxNTgKKyM6IHN1Ym1vZHVsZS5jOjE2NQogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlcyBub3QgYWxsb3dlZCBmb3Igc3VibW9kdWxlLmZldGNoSm9icyIKIG1zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5zdWJtb2R1bGUuZmV0Y2hKb2Jz4oCcINC90LUg0L/RgNC40LXQvNCwINC+0YLRgNC40YbQsNGC0LXQu9C90Lgg0YHRgtC+0LnQvdC+0YHRgtC4IgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzU4CisjOiBzdWJtb2R1bGUuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlICclcyciCittc2dzdHIgItCyINC90LXQv9C+0LTQs9C+0YLQstC10L3QuNGPINC/0L7QtNC80L7QtNGD0Lsg4oCeJXPigJwiCisKKyM6IHN1Ym1vZHVsZS5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCittc2dzdHIgItCf0YrRgtGP0YIg4oCeJXPigJwg0LUg0LIg0L/QvtC00LzQvtC00YPQu9CwIOKAniUuKnPigJwiCisKKyM6IHN1Ym1vZHVsZS5jOjEzMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBub3QgcmVjb2duaXplZCBhcyBhIGdpdCByZXBvc2l0b3J5IgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INGF0YDQsNC90LjQu9C40YnQtSDQvdCwIGdpdCIKKworIzogc3VibW9kdWxlLmM6MTQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHN0YXR1c+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuCDQsiDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwiCisKKyM6IHN1Ym1vZHVsZS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgItC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgc3RhdHVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9GK0LvQvdC4INCyINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCIKKworIzogc3VibW9kdWxlLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBoYXMgZGlydHkgaW5kZXgiCittc2dzdHIgItC40L3QtNC10LrRgdGK0YIg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwg0L3QtSDQtSDRh9C40YHRgiIKKworIzogc3VibW9kdWxlLmM6MTg0NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorItC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwIOKAnnJlbG9jYXRlX2dpdGRpcuKAnCDQt9CwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCwg0LrQvtC50YLQviDQuNC80LAg0L/QvtCy0LXRh9C1INC+0YIg0LXQtNC90L4gIgorItGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4iCisKKyM6IHN1Ym1vZHVsZS5jOjE4NTcgc3VibW9kdWxlLmM6MTkxMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbG9va3VwIG5hbWUgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLQuNC80LXRgtC+INC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvdCw0LzQtdGA0LXQvdC+IgorCisjOiBzdWJtb2R1bGUuYzoxODYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAi0JTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCisKKyM6IHN1Ym1vZHVsZS5jOjE4NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1pZ3JhdGluZyBnaXQgZGlyZWN0b3J5IG9mICclcyVzJyBmcm9tXG4iCisiJyVzJyB0b1xuIgorIiclcydcbiIKK21zZ3N0ciAiIgorItCc0LjQs9GA0LjRgNCw0L3QtSDQvdCwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdCwIGdpdCDigJQg4oCeJXMlc+KAnCDQvtGCOlxuIgorIuKAniVz4oCcINC60YrQvFxuIgorIuKAniVz4oCcXG4iCisKKyM6IHN1Ym1vZHVsZS5jOjE5NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdCwINC+0LHRgNCw0LHQvtGC0LrQsCDQvdCwINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNC40YLQtSDQsiDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwiCisKKyM6IHN1Ym1vZHVsZS5jOjE5OTIKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgbHMtZmlsZXMgaW4gLi4iCittc2dzdHIgIuKAnmxzLXN0YXTigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRgtCw0YDRgtC40YDQsCDQsiDigJ4uLuKAnCIKKworIzogc3VibW9kdWxlLmM6MjAxMgorbXNnaWQgIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IgorbXNnc3RyICLQk9Cg0JXQqNCa0JA6INC/0L7Qu9GD0YfQtdC90LjRj9GCINC90LjQtyDQt9CwINC/0YrRgtGPINC90LUg0YHRitCy0L/QsNC00LAg0YEg0LLRitGA0L3QsNGC0L7RgtC+INC+0YIg4oCeY3dk4oCcIgorCisjOiBzdWJtb2R1bGUuYzoyMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKK21zZ3N0ciAi4oCebHMtdHJlZeKAnCDQt9Cw0LLRitGA0YjQuCDRgSDQvdC10L7Rh9Cw0LrQstCw0L0g0LjQt9GF0L7QtNC10L0g0LrQvtC0OiAlZCIKKworIzogc3VibW9kdWxlLWNvbmZpZy5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIOKAniVz4oCcIgogCi0jOiB0cmFpbGVyLmM6MjM4CisjOiB0cmFpbGVyLmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQt9Cw0LLRitGA0YjQstCw0YnQsNGC0LAg0LrQvtC80LDQvdC00LAg4oCeJXPigJwiCiAKLSM6IHRyYWlsZXIuYzo0NzEgdHJhaWxlci5jOjQ3NSB0cmFpbGVyLmM6NDc5IHRyYWlsZXIuYzo1MzMgdHJhaWxlci5jOjUzNwotIzogdHJhaWxlci5jOjU0MQorIzogdHJhaWxlci5jOjQ3NCB0cmFpbGVyLmM6NDc4IHRyYWlsZXIuYzo0ODIgdHJhaWxlci5jOjUzNiB0cmFpbGVyLmM6NTQwCisjOiB0cmFpbGVyLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCi1tc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAniVz4oCcIgorbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDigJ4lc+KAnCDQt9CwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeJXPigJwiCiAKLSM6IHRyYWlsZXIuYzo1MjMgdHJhaWxlci5jOjUyOCBidWlsdGluL3JlbW90ZS5jOjI4OQorIzogdHJhaWxlci5jOjUyNiB0cmFpbGVyLmM6NTMxIGJ1aWx0aW4vcmVtb3RlLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCiBtc2dzdHIgItGB0YLQvtC50L3QvtGB0YLRgtCwIOKAniVz4oCcINGB0LUg0L/QvtCy0YLQsNGA0Y8g0LIg0L3QsNGB0YLRgNC+0LnQutC40YLQtSIKIAotIzogdHJhaWxlci5jOjY3MgorIzogdHJhaWxlci5jOjcwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIgogbXNnc3RyICLQv9GA0LDQt9C90LAg0LfQsNCy0YrRgNGI0LLQsNGJ0LAg0LvQtdC60YHQtdC80LAg0LIg0LXQv9C40LvQvtCz0LAg4oCeJS4qc+KAnCIKIAotIzogdHJhaWxlci5jOjY5NQorIzogdHJhaWxlci5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbnB1dCBmaWxlICclcyciCiBtc2dzdHIgItCy0YXQvtC00L3QuNGP0YIg0YTQsNC50Lsg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IHRyYWlsZXIuYzo2OTgKKyM6IHRyYWlsZXIuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICLQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YfQtdGC0LUiCiAKLSM6IHRyYWlsZXIuYzo5MjkgYnVpbHRpbi9hbS5jOjQ0CisjOiB0cmFpbGVyLmM6OTUwIGJ1aWx0aW4vYW0uYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/QvtC70YPRh9C4INC40L3RhNC+0YDQvNCw0YbQuNGPINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDigJ4lc+KAnCIKIAotIzogdHJhaWxlci5jOjkzMQorIzogdHJhaWxlci5jOjk1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDQvtCx0LjQutC90L7QstC10L0g0YTQsNC50LsiCiAKLSM6IHRyYWlsZXIuYzo5MzMKKyM6IHRyYWlsZXIuYzo5NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3Qgd3JpdGFibGUgYnkgdXNlciIKIG1zZ3N0ciAi4oCeJXPigJw6INC90Y/QvNCwINC/0YDQsNCy0LAg0LfQsCDQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDRhNCw0LnQu9CwIgogCi0jOiB0cmFpbGVyLmM6OTQ1CisjOiB0cmFpbGVyLmM6OTY2CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgItCy0YDQtdC80LXQvdC90LjRj9GCINGE0LDQudC7INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCIKIAotIzogdHJhaWxlci5jOjk4MworIzogdHJhaWxlci5jOjEwMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSB0ZW1wb3JhcnkgZmlsZSB0byAlcyIKIG1zZ3N0ciAi0LLRgNC10LzQtdC90L3QuNGP0YIg0YTQsNC50Lsg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LAg0L3QsCDigJ4lc+KAnCIKIAotIzogdHJhbnNwb3J0LmM6NjIKKyM6IHRyYW5zcG9ydC5jOjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgogbXNnc3RyICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0YnQtSDRgdC70LXQtNC4IOKAniVz4oCcINC+0YIg4oCeJXPigJxcbiIKIAotIzogdHJhbnNwb3J0LmM6MTUxCisjOiB0cmFuc3BvcnQuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgogbXNnc3RyICJ0cmFuc3BvcnQ6INC90LXQv9GA0LDQstC40LvQvdCwINC+0L/RhtC40Y8g0LfQsCDQtNGK0LvQsdC+0YfQuNC90LA6ICVzIgogCi0jOiB0cmFuc3BvcnQuYzo4MTcKKyM6IHRyYW5zcG9ydC5jOjg5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCkBAIC0zMzA5LDcgKzM5MjYsNyBAQAogItCh0LvQtdC00L3QuNGC0LUg0L/RitGC0LjRidCwINC30LAg0L/QvtC00LzQvtC00YPQu9C4INGB0YrQtNGK0YDQttCw0YIg0L/RgNC+0LzQtdC90LgsXG4iCiAi0LrQvtC40YLQviDQu9C40L/RgdCy0LDRgiDQvtGCINCy0YHQuNGH0LrQuCDQvtGC0LTQsNC70LXRh9C10L3QuCDRhdGA0LDQvdC40LvQuNGJ0LA6XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjgyMQorIzogdHJhbnNwb3J0LmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTMzMjcsMTggKzM5NDQsMTggQEAKICJcbiIKICLQn9GA0L7QsdCy0LDQudGC0LUg0LTQsCDQs9C4INC40LfRgtC70LDRgdC60LDRgtC1INGH0YDQtdC3INC60L7QvNCw0L3QtNCw0YLQsDpcbiIKICJcbiIKLSIgICAgICAgIGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIiAgICBnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKICJcbiIKICLQuNC70Lgg0L7RgtC40LTQtdGC0LUg0LIg0YHRitC+0YLQstC10YLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQuCDQuNC30L/RitC70L3QtdGC0LU6XG4iCiAiXG4iCi0iICAgICAgICBnaXQgcHVzaFxuIgorIiAgICBnaXQgcHVzaFxuIgogIlxuIgogCi0jOiB0cmFuc3BvcnQuYzo4MjkKKyM6IHRyYW5zcG9ydC5jOjkwMgogbXNnaWQgIkFib3J0aW5nLiIKIG1zZ3N0ciAi0J/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LTQtdC50YHRgtCy0LjQtdGC0L4uIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3NQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0L7Rh9C10YLQtS4iCkBAIC0zMzU5LDcgKzM5NzYsNyBAQAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgItC/0YDQtdC60LDQu9C10L3QviDQutGA0LDRgtGK0Log0YTQsNC50Lst0LTRitGA0LLQviIKIAotIzogdW5wYWNrLXRyZWVzLmM6NjQKKyM6IHVucGFjay10cmVlcy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC0zMzY4LDcgKzM5ODUsNyBAQAogItCY0LfRgtC10LPQu9GP0L3QtdGC0L4g0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0LvQvtC60LDQu9C90LjRgtC1INC/0YDQvtC80LXQvdC4INC90LAg0YLQtdC30Lgg0YTQsNC50LvQvtCy0LU6XG4iCiAiJSVz0J/QvtC00LDQudGC0LUg0LjQu9C4INGB0LrQsNGC0LDQudGC0LUg0L/RgNC+0LzQtdC90LjRgtC1LCDQt9CwINC00LAg0L/RgNC10LzQuNC90LXRgtC1INC60YrQvCDQvdC+0LIg0LrQu9C+0L0uIgogCi0jOiB1bnBhY2stdHJlZXMuYzo2NgorIzogdW5wYWNrLXRyZWVzLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKQEAgLTMzNzcsNyArMzk5NCw3IEBACiAi0JjQt9GC0LXQs9C70Y/QvdC10YLQviDRidC1INC/0YDQtdC30LDQv9C40YjQtSDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0L3QsCDRgtC10LfQuCDRhNCw0LnQu9C+0LLQtTpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjY5CisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzM4Niw3ICs0MDAzLDcgQEAKICLQodC70LjQstCw0L3QtdGC0L4g0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0LvQvtC60LDQu9C90LjRgtC1INC/0YDQvtC80LXQvdC4INC90LAg0YLQtdC30Lgg0YTQsNC50LvQvtCy0LU6XG4iCiAiJSVz0J/QvtC00LDQudGC0LUg0LjQu9C4INGB0LrQsNGC0LDQudGC0LUg0L/RgNC+0LzQtdC90LjRgtC1LCDQt9CwINC00LAg0YHQu9C10LXRgtC1LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6NzEKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zMzk1LDcgKzQwMTIsNyBAQAogItCh0LvQuNCy0LDQvdC10YLQviDRidC1INC/0YDQtdC30LDQv9C40YjQtSDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0L3QsCDRgtC10LfQuCDRhNCw0LnQu9C+0LLQtTpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjc0CisjOiB1bnBhY2stdHJlZXMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzQwNCw3ICs0MDIxLDcgQEAKICLigJ4lc+KAnCDRidC1INC/0YDQtdC30LDQv9C40YjQtSDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0L3QsCDRgtC10LfQuCDRhNCw0LnQu9C+0LLQtTpcbiIKICIlJXPQn9C+0LTQsNC50YLQtSDQuNC70Lgg0YHQutCw0YLQsNC50YLQtSDQv9GA0L7QvNC10L3QuNGC0LUsINC30LAg0LTQsCDQuNC30LLRitGA0YjQuNGC0LUg4oCeJXPigJwuIgogCi0jOiB1bnBhY2stdHJlZXMuYzo3NgorIzogdW5wYWNrLXRyZWVzLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM0MTMsMTYgKzQwMzAsMTYgQEAKICLigJ4lc+KAnCDRidC1INC/0YDQtdC30LDQv9C40YjQtSDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0L3QsCDRgtC10LfQuCDRhNCw0LnQu9C+0LLQtTpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjgxCisjOiB1bnBhY2stdHJlZXMuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlVwZGF0aW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgd291bGQgbG9zZSB1bnRyYWNrZWQgZmlsZXMgaW4gaXQ6XG4iCisiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgogIiVzIgogbXNnc3RyICIiCi0i0J7QsdC90L7QstGP0LLQsNC90LXRgtC+INC90LAg0YLQtdC30Lgg0LTQuNGA0LXQutGC0L7RgNC40Lgg0YnQtSDQuNC30YLRgNC40LUg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQsiDRgtGP0YU6XG4iCisi0J7QsdC90L7QstGP0LLQsNC90LXRgtC+INC90LAg0YHQu9C10LTQvdC40YLQtSDQtNC40YDQtdC60YLQvtGA0LjQuCDRidC1INC40LfRgtGA0LjQtSDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INCyINGC0Y/RhTpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6ODUKKyM6IHVucGFjay10cmVlcy5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNDMxLDcgKzQwNDgsNyBAQAogItCY0LfRgtC10LPQu9GP0L3QtdGC0L4g0YnQtSDQuNC30YLRgNC40LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlc9Cf0YDQtdC80LXRgdGC0LXRgtC1INCz0Lgg0LjQu9C4INCz0Lgg0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINC/0YDQtdC80LjQvdC10YLQtSDQvdCwINC00YDRg9CzINC60LvQvtC9LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6ODcKKyM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNDQwLDcgKzQwNTcsNyBAQAogItCY0LfRgtC10LPQu9GP0L3QtdGC0L4g0YnQtSDQuNC30YLRgNC40LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6OTAKKyM6IHVucGFjay10cmVlcy5jOjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCkBAIC0zNDQ5LDcgKzQwNjYsNyBAQAogItCh0LvQuNCy0LDQvdC10YLQviDRidC1INC40LfRgtGA0LjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVz0J/RgNC10LzQtdGB0YLQtdGC0LUg0LPQuCDQuNC70Lgg0LPQuCDQuNC30YLRgNC40LnRgtC1LCDQt9CwINC00LAg0YHQu9C10LXRgtC1LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6OTIKKyM6IHVucGFjay10cmVlcy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCkBAIC0zNDU4LDcgKzQwNzUsNyBAQAogItCh0LvQuNCy0LDQvdC10YLQviDRidC1INC40LfRgtGA0LjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzo5NQorIzogdW5wYWNrLXRyZWVzLmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTM0NjcsNyArNDA4NCw3IEBACiAi4oCeJXPigJwg0YnQtSDQuNC30YLRgNC40LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlc9Cf0YDQtdC80LXRgdGC0LXRgtC1INCz0Lgg0LjQu9C4INCz0Lgg0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINC40LfQstGK0YDRiNC40YLQtSDigJ4lc+KAnC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjk3CisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtMzQ3Niw3ICs0MDkzLDcgQEAKICLigJ4lc+KAnCDRidC1INC40LfRgtGA0LjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDIKKyM6IHVucGFjay10cmVlcy5jOjE0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKQEAgLTM0ODYsNyArNDEwMyw3IEBACiAi0JjQt9GC0LXQs9C70Y/QvdC10YLQviDRidC1INC/0YDQtdC30LDQv9C40YjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVz0J/RgNC10LzQtdGB0YLQtdGC0LUg0LPQuCDQuNC70Lgg0LPQuCDQuNC30YLRgNC40LnRgtC1LCDQt9CwINC00LAg0YHQvNC10L3QuNGC0LUg0LrQu9C+0L0uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDQKKyM6IHVucGFjay10cmVlcy5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKQEAgLTM0OTYsNyArNDExMyw3IEBACiAi0JjQt9GC0LXQs9C70Y/QvdC10YLQviDRidC1INC/0YDQtdC30LDQv9C40YjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDcKKyM6IHVucGFjay10cmVlcy5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzUwNSw3ICs0MTIyLDcgQEAKICLQodC70LjQstCw0L3QtdGC0L4g0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlc9Cf0YDQtdC80LXRgdGC0LXRgtC1INCz0Lgg0LjQu9C4INCz0Lgg0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINGB0LvQtdC10YLQtS4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEwOQorIzogdW5wYWNrLXRyZWVzLmM6MTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNTE0LDcgKzQxMzEsNyBAQAogItCh0LvQuNCy0LDQvdC10YLQviDRidC1INC/0YDQtdC30LDQv9C40YjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTIKKyM6IHVucGFjay10cmVlcy5jOjE1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzUyMyw3ICs0MTQwLDcgQEAKICLigJ4lc+KAnCDRidC1INC/0YDQtdC30LDQv9C40YjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVz0J/RgNC10LzQtdGB0YLQtdGC0LUg0LPQuCDQuNC70Lgg0LPQuCDQuNC30YLRgNC40LnRgtC1LCDQt9CwINC00LAg0LjQt9Cy0YrRgNGI0LjRgtC1IOKAniVz4oCcLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE0CisjOiB1bnBhY2stdHJlZXMuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM1MzIsMTIgKzQxNDksMTIgQEAKICLigJ4lc+KAnCDRidC1INC/0YDQtdC30LDQv9C40YjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjEKKyM6IHVucGFjay10cmVlcy5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAi0JfQsNC/0LjRgdGK0YIg0LfQsCDigJ4lc+KAnCDRgdGK0LLQv9Cw0LTQsCDRgSDRgtC+0LfQuCDQt9CwIOKAniVz4oCcLiAg0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC40YHQstC+0LguIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjQKKyM6IHVucGFjay10cmVlcy5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwLXRvLWRhdGU6XG4iCkBAIC0zNTQ3LDcgKzQxNjQsNyBAQAogItCw0LrRgtGD0LDQu9C90Lg6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNgorIzogdW5wYWNrLXRyZWVzLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtMzU1OCw3ICs0MTc1LDcgQEAKICLQtNGK0YDQstC+OlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjgKKyM6IHVucGFjay10cmVlcy5jOjE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtMzU2OSwyMzQgKzQxODYsMjUzIEBACiAi0LTRitGA0LLQvjpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjA1CisjOiB1bnBhY2stdHJlZXMuYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCB1cGRhdGUgc3VibW9kdWxlOlxuIgorIiVzIgorbXNnc3RyICIiCisi0J/QvtC00LzQvtC00YPQu9GK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0LHQvdC+0LLQtdC9OlxuIgorIuKAniVz4oCcIgorCisjOiB1bnBhY2stdHJlZXMuYzoyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAi0J/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LTQtdC50YHRgtCy0LjQtdGC0L5cbiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjM3CisjOiB1bnBhY2stdHJlZXMuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlIHVwZGF0ZSBzdHJhdGVneSBub3Qgc3VwcG9ydGVkIGZvciBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi0L/QvtC00LzQvtC00YPQu9GK0YIg4oCeJXPigJwg0L3QtSDQv9C+0LTQtNGK0YDQttCwINGB0YLRgNCw0YLQtdCz0LjRj9GC0LAg0LfQsCDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQutCw0YLQviDQv9C+0LTQvNC+0LTRg9C7IgorCisjOiB1bnBhY2stdHJlZXMuYzozNDYKIG1zZ2lkICJDaGVja2luZyBvdXQgZmlsZXMiCiBtc2dzdHIgItCY0LfRgtC10LPQu9GP0L3QtSDQvdCwINGE0LDQudC70L7QstC1IgogCi0jOiB1cmxtYXRjaC5jOjEyMAorIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YHRhdC10LzQsCDQt9CwINCw0LTRgNC10YEg0LjQu9C4INGB0YPRhNC40LrRgdGK0YIg4oCeOi8v4oCcINC70LjQv9GB0LLQsCIKIAotIzogdXJsbWF0Y2guYzoxNDQgdXJsbWF0Y2guYzoyOTcgdXJsbWF0Y2guYzozNTYKKyM6IHVybG1hdGNoLmM6MTg3IHVybG1hdGNoLmM6MzQ2IHVybG1hdGNoLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0LXQutGA0LDQvdC40YDQsNGJ0LAg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70L3QvtGB0YIg4oCeJVhY4oCcIgogCi0jOiB1cmxtYXRjaC5jOjE3MgorIzogdXJsbWF0Y2guYzoyMTUKIG1zZ2lkICJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIKIG1zZ3N0ciAi0L3QtSDQtSDRg9C60LDQt9Cw0L3QsCDQvNCw0YjQuNC90LAsINCwINGB0YXQtdC80LDRgtCwINC90LUg0LUg4oCeZmlsZTrigJwiCiAKLSM6IHVybG1hdGNoLmM6MTg5CisjOiB1cmxtYXRjaC5jOjIzMgogbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCiBtc2dzdHIgItC/0YDQuCDRgdGF0LXQvNCwIOKAnmZpbGU64oCcINC90LUg0LzQvtC20LXRgtC1INC00LAg0YPQutCw0LfQstCw0YLQtSDQvdC+0LzQtdGAINC90LAg0L/QvtGA0YIiCiAKLSM6IHVybG1hdGNoLmM6MTk5CisjOiB1cmxtYXRjaC5jOjI0NwogbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC4INC30L3QsNGG0Lgg0LIg0LjQvNC10YLQviDQvdCwINC80LDRiNC40L3QsCIKIAotIzogdXJsbWF0Y2guYzoyNDQgdXJsbWF0Y2guYzoyNTUKKyM6IHVybG1hdGNoLmM6MjkyIHVybG1hdGNoLmM6MzAzCiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L3QvtC80LXRgCDQvdCwINC/0L7RgNGCIgogCi0jOiB1cmxtYXRjaC5jOjMyMgorIzogdXJsbWF0Y2guYzozNzEKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRh9Cw0YHRgiDQvtGCINC/0YrRgtGPIOKAni4u4oCcIgogCi0jOiB3b3JrdHJlZS5jOjI4MgorIzogd29ya3RyZWUuYzoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM5MgorIzogd3JhcHBlci5jOjIyMyB3cmFwcGVyLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSDQuCDQt9CwINGH0LXRgtC10L3QtSwg0Lgg0LfQsCDQt9Cw0L/QuNGBIgogCi0jOiB3cmFwcGVyLmM6MjI0IHdyYXBwZXIuYzozOTQgYnVpbHRpbi9hbS5jOjc2NgorIzogd3JhcHBlci5jOjIyNSB3cmFwcGVyLmM6Mzk1IGJ1aWx0aW4vYW0uYzo3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9INC30LAg0LfQsNC/0LjRgSIKIAotIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzk2IGJ1aWx0aW4vYW0uYzozMjAgYnVpbHRpbi9hbS5jOjc1OQotIzogYnVpbHRpbi9hbS5jOjg0NyBidWlsdGluL2NvbW1pdC5jOjE3MDUgYnVpbHRpbi9tZXJnZS5jOjEwMjkKLSM6IGJ1aWx0aW4vcHVsbC5jOjM0MQorIzogd3JhcHBlci5jOjIyNyB3cmFwcGVyLmM6Mzk3IGJ1aWx0aW4vYW0uYzozMTkgYnVpbHRpbi9hbS5jOjc1NworIzogYnVpbHRpbi9hbS5jOjg0OSBidWlsdGluL21lcmdlLmM6MTAxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L06IOKAniVz4oCcIgogCi0jOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKKyM6IHdyYXBwZXIuYzo0MjQgd3JhcHBlci5jOjYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgItC90Y/QvNCwINC00L7RgdGC0YrQvyDQtNC+IOKAniVz4oCcIgogCi0jOiB3cmFwcGVyLmM6NjM0CisjOiB3cmFwcGVyLmM6NjMyCiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICLRgtC10LrRg9GJ0LDRgtCwINGA0LDQsdC+0YLQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPINC1INC90LXQtNC+0YHRgtGK0L/QvdCwIgogCi0jIEZJWE1FIC0gbXVzdCBiZSB0aGUgc2FtZSBhcyBDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyBhYm92ZQotIzogd3JhcHBlci5jOjY1OAorIzogd3JhcHBlci5jOjY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKIAotIzogd3JhcHBlci5jOjY2MAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDRgtCy0L7RgNC4IgogCi0jOiB3dC1zdGF0dXMuYzoxNTEKKyM6IHd0LXN0YXR1cy5jOjE1MgogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAi0J3QtdGB0LvQtdGC0Lgg0L/RitGC0LjRidCwOiIKIAotIzogd3Qtc3RhdHVzLmM6MTc4IHd0LXN0YXR1cy5jOjIwNQorIzogd3Qtc3RhdHVzLmM6MTc5IHd0LXN0YXR1cy5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IHJlc2V0ICVzINCk0JDQmdCb4oCm4oCcLCDQt9CwINC00LAg0LjQt9Cy0LDQtNC40YLQtSDQpNCQ0JnQm9CwINC+0YIg0LjQvdC00LXQutGB0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxODAgd3Qtc3RhdHVzLmM6MjA3CisjOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MjA4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcm0gLS1jYWNoZWQgJXMg0KTQkNCZ0JvigKbigJwsINC30LAg0LTQsCDQuNC30LLQsNC00LjRgtC1INCk0JDQmdCb0LAg0L7RgiDQuNC90LTQtdC60YHQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NAorIzogd3Qtc3RhdHVzLmM6MTg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYWRkINCk0JDQmdCb4oCm4oCcLCDQt9CwINC00LAg0YPQutCw0LbQtdGC0LUg0YDQsNC30YDQtdGI0LDQstCw0L3QtdGC0L4g0L3QsCDQutC+0L3RhNC70LjQutGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxODYgd3Qtc3RhdHVzLmM6MTkwCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MTkxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYWRkL3JtINCk0JDQmdCb4oCm4oCcLCDRgdC/0L7RgNC10LQg0YDQtdGI0LXQvdC40LXRgtC+LCDQutC+0LXRgtC+INC40LfQsdC40YDQsNGC0LUg0LfQsCAiCiAi0LrQvtC90YTQu9C40LrRgtCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg4CisjOiB3dC1zdGF0dXMuYzoxODkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IHJtINCk0JDQmdCb4oCm4oCcLCDQt9CwINC00LAg0YPQutCw0LbQtdGC0LUg0YDQsNC30YDQtdGI0LDQstCw0L3QtdGC0L4g0L3QsCDQutC+0L3RhNC70LjQutGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxOTkgd3Qtc3RhdHVzLmM6OTQ1CisjOiB3dC1zdGF0dXMuYzoyMDAgd3Qtc3RhdHVzLmM6OTgxCiBtc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICLQn9GA0L7QvNC10L3QuCwg0LrQvtC40YLQviDRidC1INCx0YrQtNCw0YIg0L/QvtC00LDQtNC10L3QuDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNyB3dC1zdGF0dXMuYzo5NTQKKyM6IHd0LXN0YXR1cy5jOjIxOCB3dC1zdGF0dXMuYzo5OTAKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgItCf0YDQvtC80LXQvdC4LCDQutC+0LjRgtC+INC90LUg0YHQsCDQsiDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LU6IgogCi0jOiB3dC1zdGF0dXMuYzoyMjEKKyM6IHd0LXN0YXR1cy5jOjIyMgogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYWRkINCk0JDQmdCb4oCm4oCcLCDQt9CwINC00LAg0L7QsdC90L7QstC40YLQtSDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0LfQsCDQv9C+0LTQsNCy0LDQvdC1KSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGFkZC9ybSDQpNCQ0JnQm+KApuKAnCwg0LfQsCDQtNCwINC+0LHQvdC+0LLQuNGC0LUg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjI1CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgY2hlY2tvdXQgLS0g0KTQkNCZ0JvigKbigJwsINC30LAg0LTQsCDQvtGC0YXQstGK0YDQu9C40YLQtSDQv9GA0L7QvNC10L3QuNGC0LUg0LIgIgogItGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+KSIKIAotIzogd3Qtc3RhdHVzLmM6MjI2CisjOiB3dC1zdGF0dXMuYzoyMjcKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKICIgICjQv9C+0LTQsNC50YLQtSDQuNC70Lgg0L7RgtGF0LLRitGA0LvQtdGC0LUg0L3QtdGB0LvQtdC00LXQvdC+0YLQviDQuNC70Lgg0L/RgNC+0LzQtdC90LXQvdC+0YLQviDRgdGK0LTRitGA0LbQsNC90LjQtSDQsiAiCiAi0L/QvtC00LzQvtC00YPQu9C40YLQtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIzOAorIzogd3Qtc3RhdHVzLmM6MjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgJXMg0KTQkNCZ0JvigKbigJwsINC30LAg0LTQsCDQvtC/0YDQtdC00LXQu9C40YLQtSDQutCw0LrQstC+INCy0LrQu9GO0YfQstCw0YLQtSDQsiDQv9C+0LTQsNCy0LDQvdC10YLQvikiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjU0CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAi0LjQt9GC0YDQuNGC0Lgg0LIg0LTQstCw0YLQsCDRgdC70YPRh9Cw0Y86IgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI1NgogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAi0LTQvtCx0LDQstC10L3QuCDQvtGCINCy0LDRgToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NworIzogd3Qtc3RhdHVzLmM6MjU4CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi0LjQt9GC0YDQuNGC0Lgg0L7RgiDRgtGP0YU6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTkKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICLQtNC+0LHQsNCy0LXQvdC4INC+0YIg0YLRj9GFOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYxCisjOiB3dC1zdGF0dXMuYzoyNjIKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAi0LjQt9GC0YDQuNGC0Lgg0L7RgiDQstCw0YE6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjMKKyM6IHd0LXN0YXR1cy5jOjI2NAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICLQtNC+0LHQsNCy0LXQvdC4INC4INCyINC00LLQsNGC0LAg0YHQu9GD0YfQsNGPOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY1CisjOiB3dC1zdGF0dXMuYzoyNjYKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAi0L/RgNC+0LzQtdC90LXQvdC4INC4INCyINC00LLQsNGC0LAg0YHQu9GD0YfQsNGPOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc1CisjOiB3dC1zdGF0dXMuYzoyNzYKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgItC90L7QsiDRhNCw0LnQuzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NworIzogd3Qtc3RhdHVzLmM6Mjc4CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAi0LrQvtC/0LjRgNCw0L06IgogCi0jOiB3dC1zdGF0dXMuYzoyNzkKKyM6IHd0LXN0YXR1cy5jOjI4MAogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICLQuNC30YLRgNC40YI6IgogCi0jOiB3dC1zdGF0dXMuYzoyODEKKyM6IHd0LXN0YXR1cy5jOjI4MgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAi0L/RgNC+0LzQtdC90LXQvToiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MworIzogd3Qtc3RhdHVzLmM6Mjg0CiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgItC/0YDQtdC40LzQtdC90YPQstCw0L06IgogCi0jOiB3dC1zdGF0dXMuYzoyODUKKyM6IHd0LXN0YXR1cy5jOjI4NgogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICLRgdC80Y/QvdCwINC90LAg0LLQuNC00LA6IgogCi0jOiB3dC1zdGF0dXMuYzoyODcKKyM6IHd0LXN0YXR1cy5jOjI4OAogbXNnaWQgInVua25vd246IgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L/RgNC+0LzRj9C90LA6IgogCi0jOiB3dC1zdGF0dXMuYzoyODkKKyM6IHd0LXN0YXR1cy5jOjI5MAogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAi0L3QtdGB0LvRj9GCOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcxCisjOiB3dC1zdGF0dXMuYzozNzIKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICLQvdC+0LLQuCDQv9C+0LTQsNCy0LDQvdC40Y8sICIKIAotIzogd3Qtc3RhdHVzLmM6MzczCisjOiB3dC1zdGF0dXMuYzozNzQKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgItC/0YDQvtC80LXQvdC10L3QviDRgdGK0LTRitGA0LbQsNC90LjQtSwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzUKKyM6IHd0LXN0YXR1cy5jOjM3NgogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgItC90LXRgdC70LXQtNC10L3QviDRgdGK0LTRitGA0LbQsNC90LjQtSwgIgogCi0jOiB3dC1zdGF0dXMuYzo4MTgKKyM6IHd0LXN0YXR1cy5jOjgyMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cnkiCittc2dpZF9wbHVyYWwgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyaWVzIgorbXNnc3RyWzBdICLQmNC80LAgJWQg0YHQutCw0YLQsNCy0LDQvdC1LiIKK21zZ3N0clsxXSAi0JjQvNCwICVkINGB0LrQsNGC0LDQstCw0L3QuNGPLiIKKworIzogd3Qtc3RhdHVzLmM6ODUzCiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgItCf0L7QtNC80L7QtNGD0LvQuNGC0LUg0YHQsCDQv9GA0L7QvNC10L3QtdC90LgsINC90L4g0L3QtSDRgdCwINC+0LHQvdC+0LLQtdC90Lg6IgogCi0jOiB3dC1zdGF0dXMuYzo4MjAKKyM6IHd0LXN0YXR1cy5jOjg1NQogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgItCf0YDQvtC80LXQvdC4INCyINC/0L7QtNC80L7QtNGD0LvQuNGC0LUg0LfQsCDQv9C+0LTQsNCy0LDQvdC1OiIKIAotIzogd3Qtc3RhdHVzLmM6OTAxCisjOiB3dC1zdGF0dXMuYzo5MzcKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKQEAgLTM4MDQsMjMzICs0NDQwLDI0MSBAQAogItCd0LUg0L/RgNC+0LzQtdC90Y/QudGC0LUg0LPQvtGA0L3QuNGPINGA0LXQtC5cbiIKICLQktGB0LjRh9C60L4g0L7RgtC00L7Qu9GDINGJ0LUg0LHRitC00LUg0LjQt9GC0YDQuNGC0L4uIgogCi0jOiB3dC1zdGF0dXMuYzoxMDEzCisjOiB3dC1zdGF0dXMuYzoxMDQ5CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICLQndGP0LrQvtC4INC/0YrRgtC40YnQsCDQvdC1INGB0LAg0YHQu9C10YLQuC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTYKKyM6IHd0LXN0YXR1cy5jOjEwNTIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgICjQutC+0YDQuNCz0LjRgNCw0LnRgtC1INC60L7QvdGE0LvQuNC60YLQuNGC0LUg0Lgg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCBjb21taXTigJwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE4CisjOiB3dC1zdGF0dXMuYzoxMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBtZXJnZSAtLWFib3J04oCcLCDQt9CwINC00LAg0L/RgNC10YPRgdGC0LDQvdC+0LLQuNGC0LUg0YHQu9C40LLQsNC90LXRgtC+KSIKIAotIzogd3Qtc3RhdHVzLmM6MTAyMworIzogd3Qtc3RhdHVzLmM6MTA1OQogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgItCS0YHQuNGH0LrQuCDQutC+0L3RhNC70LjQutGC0Lgg0YHQsCDRgNC10YjQtdC90LgsINC90L4g0L/RgNC+0LTRitC70LbQsNCy0LDRgtC1INGB0LvQuNCy0LDQvdC10YLQvi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMjYKKyM6IHd0LXN0YXR1cy5jOjEwNjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBjb21taXTigJwsINC30LAg0LTQsCDQt9Cw0LLRitGA0YjQuNGC0LUg0YHQu9C40LLQsNC90LXRgtC+KSIKIAotIzogd3Qtc3RhdHVzLmM6MTAzNgorIzogd3Qtc3RhdHVzLmM6MTA3MgogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0L/RgNC40LvQsNCz0LDRgtC1INC/0L7RgNC10LTQuNGG0LAg0L7RgiDQutGA0YrQv9C60Lgg0YfRgNC10Lcg4oCeZ2l0IGFt4oCcLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAzOQorIzogd3Qtc3RhdHVzLmM6MTA3NQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAi0KLQtdC60YPRidCw0YLQsCDQutGA0YrQv9C60LAg0LUg0L/RgNCw0LfQvdCwLiIKIAotIzogd3Qtc3RhdHVzLmM6MTA0MworIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNC60L7RgNC40LPQuNGA0LDQudGC0LUg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQuCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IGFtIC0tY29udGludWXigJwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDQ1CisjOiB3dC1zdGF0dXMuYzoxMDgxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGFtIC0tc2tpcOKAnCwg0LfQsCDQtNCwINC/0YDQvtC/0YPRgdC90LXRgtC1INGC0LDQt9C4INC60YDRitC/0LrQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEwNDcKKyM6IHd0LXN0YXR1cy5jOjEwODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBhbSAtLWFib3J04oCcLCDQt9CwINC00LAg0LLRitC30YHRgtCw0L3QvtCy0LjRgtC1INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QuNGPINC60LvQvtC9KSIKIAotIzogd3Qtc3RhdHVzLmM6MTE3MgorIzogd3Qtc3RhdHVzLmM6MTIxNAorbXNnaWQgImdpdC1yZWJhc2UtdG9kbyBpcyBtaXNzaW5nLiIKK21zZ3N0ciAi4oCeZ2l0LXJlYmFzZS10b2Rv4oCcINC70LjQv9GB0LLQsC4iCisKKyM6IHd0LXN0YXR1cy5jOjEyMTYKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAi0J3QtSDRgdCwINC40LfQv9GK0LvQvdC10L3QuCDQutC+0LzQsNC90LTQuC4iCiAKLSM6IHd0LXN0YXR1cy5jOjExNzUKKyM6IHd0LXN0YXR1cy5jOjEyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGFzdCBjb21tYW5kIGRvbmUgKCVkIGNvbW1hbmQgZG9uZSk6IgogbXNnaWRfcGx1cmFsICJMYXN0IGNvbW1hbmRzIGRvbmUgKCVkIGNvbW1hbmRzIGRvbmUpOiIKIG1zZ3N0clswXSAi0J/QvtGB0LvQtdC00L3QsCDQuNC30L/RitC70L3QtdC90LAg0LrQvtC80LDQvdC00LAgKNC40LfQv9GK0LvQvdC10L3QsCDQtSDQvtCx0YnQviAlZCDQutC+0LzQsNC90LTQsCk6IgogbXNnc3RyWzFdICLQn9C+0YHQu9C10LTQvdCwINC40LfQv9GK0LvQvdC10L3QsCDQutC+0LzQsNC90LTQsCAo0LjQt9C/0YrQu9C90LXQvdC4INGB0LAg0L7QsdGJ0L4gJWQg0LrQvtC80LDQvdC00LgpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NgorIzogd3Qtc3RhdHVzLmM6MTIzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICDQv9C+0LLQtdGH0LUg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LjQvNCwINCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MQorIzogd3Qtc3RhdHVzLmM6MTIzNQogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgItCd0LUg0L7RgdGC0LDQstCw0YIg0L/QvtCy0LXRh9C1INC60L7QvNCw0L3QtNC4LiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5NAorIzogd3Qtc3RhdHVzLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICLQodC70LXQtNCy0LDRidCwINC60L7QvNCw0L3QtNCwINC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUgKNC+0YHRgtCw0LLQsCDQvtGJ0LUgJWQg0LrQvtC80LDQvdC00LApOiIKIG1zZ3N0clsxXSAi0KHQu9C10LTQstCw0YnQsCDQutC+0LzQsNC90LTQsCDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC1ICjQvtGB0YLQsNCy0LDRgiDQvtGJ0LUgJWQg0LrQvtC80LDQvdC00LgpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMgorIzogd3Qtc3RhdHVzLmM6MTI0NgogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB0byB2aWV3IGFuZCBlZGl0KSIKIG1zZ3N0ciAiIgogIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb+KAnCwg0LfQsCDQtNCwINGA0LDQt9Cz0LvQtdC00LDRgtC1INC4INGA0LXQtNCw0LrRgtC40YDQsNGC0LUpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjE1CisjOiB3dC1zdGF0dXMuYzoxMjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INC60LvQvtC90LAg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjAKKyM6IHd0LXN0YXR1cy5jOjEyNjQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC/0YDQtdCx0LDQt9C40YDQsNGC0LUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM0CisjOiB3dC1zdGF0dXMuYzoxMjc4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNC60L7RgNC40LPQuNGA0LDQudGC0LUg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQuCDQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCByZWJhc2UgLS1jb250aW51ZeKAnCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzYKKyM6IHd0LXN0YXR1cy5jOjEyODAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IHJlYmFzZSAtLXNraXDigJwsINC30LAg0LTQsCDQv9GA0L7Qv9GD0YHQvdC10YLQtSDRgtCw0LfQuCDQutGA0YrQv9C60LApIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM4CisjOiB3dC1zdGF0dXMuYzoxMjgyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcmViYXNlIC0tYWJvcnTigJwsINC30LAg0LTQsCDQstGK0LfRgdGC0LDQvdC+0LLQuNGC0LUg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC40Y8g0LrQu9C+0L0pIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ0CisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjQstGB0LjRh9C60Lgg0LrQvtC90YTQu9C40LrRgtC4INGB0LAg0LrQvtGA0LjQs9C40YDQsNC90Lg6INC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgcmViYXNlIC0tY29udGludWXigJwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ4CisjOiB3dC1zdGF0dXMuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGA0LDQt9C00LXQu9GP0YLQtSDQv9C+0LTQsNCy0LDQvdC1INC00L7QutCw0YLQviDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INC60LvQvtC90LAg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTMKKyM6IHd0LXN0YXR1cy5jOjEyOTcKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YDQsNC30LTQtdC70Y/RgtC1INC/0L7QtNCw0LLQsNC90LUg0LTQvtC60LDRgtC+INC/0YDQtdCx0LDQt9C40YDQsNGC0LUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU2CisjOiB3dC1zdGF0dXMuYzoxMzAwCiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgICjQodC70LXQtCDQutCw0YLQviDRgNCw0LHQvtGC0L3QvtGC0L4g0LLQuCDQtNGK0YDQstC+INGB0YLQsNC90LUg0YfQuNGB0YLQviwg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcmViYXNlIC0tIgogImNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAi0JIg0LzQvtC80LXQvdGC0LAg0YDQtdC00LDQutGC0LjRgNCw0YLQtSDQv9C+0LTQsNCy0LDQvdC1INC00L7QutCw0YLQviDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INC60LvQvtC90LAg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjUKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGA0LXQtNCw0LrRgtC40YDQsNGC0LUg0L/QvtC00LDQstCw0L3QtSDQtNC+0LrQsNGC0L4g0L/RgNC10LHQsNC30LjRgNCw0YLQtS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjgKKyM6IHd0LXN0YXR1cy5jOjEzMTIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgY29tbWl0IC0tYW1lbmTigJwsINC30LAg0LTQsCDRgNC10LTQsNC60YLQuNGA0LDRgtC1INGC0LXQutGD0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzAKKyM6IHd0LXN0YXR1cy5jOjEzMTQKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCByZWJhc2UgLS1jb250aW51ZeKAnCwg0YHQu9C10LQg0LrQsNGC0L4g0LfQsNCy0YrRgNGI0LjRgtC1INC/0YDQvtC80LXQvdC40YLQtSDRgdC4KSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4MAorIzogd3Qtc3RhdHVzLmM6MTMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDQvtGC0LHQuNGA0LDRgtC1INC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI4NQorIzogd3Qtc3RhdHVzLmM6MTMyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjQutC+0YDQuNCz0LjRgNCw0LnRgtC1INC60L7QvdGE0LvQuNC60YLQuNGC0LUg0Lgg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCBjaGVycnktcGljayAtLWNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4OAorIzogd3Qtc3RhdHVzLmM6MTMzMgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAo0LLRgdC40YfQutC4INC60L7QvdGE0LvQuNC60YLQuCDRgdCwINC60L7RgNC40LPQuNGA0LDQvdC4LCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWXigJwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjkwCisjOiB3dC1zdGF0dXMuYzoxMzM0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBjaGVycnktcGljayAtLWFib3J04oCcLCDQt9CwINC00LAg0L7RgtC80LXQvdC40YLQtSDQstGB0LjRh9C60Lgg0LTQtdC50YHRgtCy0LjRjyDRgSAiCiAi0L7RgtCx0LjRgNCw0L3QtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTkKKyM6IHd0LXN0YXR1cy5jOjEzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC+0YLQvNC10L3Rj9GC0LUg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDQKKyM6IHd0LXN0YXR1cy5jOjEzNDgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNC60L7RgNC40LPQuNGA0LDQudGC0LUg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQuCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHJldmVydCAtLWNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwNworIzogd3Qtc3RhdHVzLmM6MTM1MQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo0LLRgdC40YfQutC4INC60L7QvdGE0LvQuNC60YLQuCDRgdCwINC60L7RgNC40LPQuNGA0LDQvdC4LCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHJldmVydCAtLWNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwOQorIzogd3Qtc3RhdHVzLmM6MTM1MwogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCByZXZlcnQgLS1hYm9ydOKAnCwg0LfQsCDQtNCwINC/0YDQtdGD0YHRgtCw0L3QvtCy0LjRgtC1INC+0YLQvNGP0L3QsNGC0LAg0L3QsCAiCiAi0L/QvtC00LDQstCw0L3QtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjAKKyM6IHd0LXN0YXR1cy5jOjEzNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDRgtGK0YDRgdC40YLQtSDQtNCy0L7QuNGH0L3Qviwg0LrQsNGC0L4g0YHRgtC1INGB0YLQsNGA0YLQuNGA0LDQu9C4INC+0YIg0LrQu9C+0L0g4oCeJXPigJwuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI0CisjOiB3dC1zdGF0dXMuYzoxMzY4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YLRitGA0YHQuNGC0LUg0LTQstC+0LjRh9C90L4uIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI3CisjOiB3dC1zdGF0dXMuYzoxMzcxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYmlzZWN0IHJlc2V04oCcLCDQt9CwINC00LAg0YHQtSDQstGK0YDQvdC10YLQtSDQutGK0Lwg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviAiCiAi0YHRitGB0YLQvtGP0L3QuNC1INC4INC60LvQvtC9KSIKIAotIzogd3Qtc3RhdHVzLmM6MTUyNAorIzogd3Qtc3RhdHVzLmM6MTU2OAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgItCd0LAg0LrQu9C+0L0gIgogCi0jOiB3dC1zdGF0dXMuYzoxNTMwCisjOiB3dC1zdGF0dXMuYzoxNTc0CiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAi0LjQt9Cy0YrRgNGI0LLQsNGC0LUg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+INC/0YDQtdCx0LDQt9C40YDQsNC90LUg0LLRitGA0YXRgyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzIKKyM6IHd0LXN0YXR1cy5jOjE1NzYKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICLQuNC30LLRitGA0YjQstCw0YLQtSDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INCy0YrRgNGF0YMgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM3CisjOiB3dC1zdGF0dXMuYzoxNTgxCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3QtSDQtSDRgdCy0YrRgNC30LDQvSDQuCDQtSDQv9GA0LggIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM5CisjOiB3dC1zdGF0dXMuYzoxNTgzCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC1INGB0LLRitGA0LfQsNC9INC4INC1INC+0YLQtNC10LvQtcyA0L0g0L7RgiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDIKKyM6IHd0LXN0YXR1cy5jOjE1ODYKIG1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgogbXNnc3RyICLQmNC30LLRitC9INCy0YHQuNGH0LrQuCDQutC70L7QvdC4LiIKIAotIzogd3Qtc3RhdHVzLmM6MTU2MAorIzogd3Qtc3RhdHVzLmM6MTYwNgogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICLQn9GK0YDQstC+0L3QsNGH0LDQu9C90L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogd3Qtc3RhdHVzLmM6MTU3NAorIzogd3Qtc3RhdHVzLmM6MTYwNworbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgorbXNnc3RyICLQktGB0LUg0L7RidC1INC70LjQv9GB0LLQsNGCINC/0L7QtNCw0LLQsNC90LjRjyIKKworIzogd3Qtc3RhdHVzLmM6MTYyMQogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi0J3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1IgogCi0jOiB3dC1zdGF0dXMuYzoxNTc2CisjOiB3dC1zdGF0dXMuYzoxNjIzCiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi0JjQs9C90L7RgNC40YDQsNC90Lgg0YTQsNC50LvQvtCy0LUiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODAKKyM6IHd0LXN0YXR1cy5jOjE2MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTQwNDIsMzIgKzQ2ODYsMzIgQEAKICLQuNC30L/RitC70L3QtdC90LjQtdGC0L4sINC90L4g0L3QtSDRgtGA0Y/QsdCy0LAg0LTQsCDQt9Cw0LHRgNCw0LLRj9GC0LUg0YDRitGH0L3QviDQtNCwINC00L7QsdCw0LLRj9GC0LUg0L3QvtCy0LjRgtC1INGE0LDQudC70L7QstC1LlxuIgogItCX0LAg0L/QvtCy0LXRh9C1INC/0L7QtNGA0L7QsdC90L7RgdGC0Lgg0L/QvtCz0LvQtdC00L3QtdGC0LUg4oCeZ2l0IHN0YXR1cyBoZWxw4oCcLiIKIAotIzogd3Qtc3RhdHVzLmM6MTU4NgorIzogd3Qtc3RhdHVzLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICLQndC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INC90LUg0YHQsCDQuNC30LLQtdC00LXQvdC4JXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODgKKyM6IHd0LXN0YXR1cy5jOjE2MzUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLXXigJwsINC30LAg0LTQsCDQuNC30LLQtdC00LXRgtC1INC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUpIgogCi0jOiB3dC1zdGF0dXMuYzoxNTk0CisjOiB3dC1zdGF0dXMuYzoxNjQxCiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAi0J3Rj9C80LAg0L/RgNC+0LzQtdC90LgiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTkKKyM6IHd0LXN0YXR1cy5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICLQutGK0Lwg0LjQvdC00LXQutGB0LAg0LfQsCDQv9C+0LTQsNCy0LDQvdC1INC90LUg0YHQsCDQtNC+0LHQsNCy0LXQvdC4INC/0YDQvtC80LXQvdC4ICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBhZGTigJwg0Lgv0LjQu9C4ICIKICLigJ5naXQgY29tbWl0IC1h4oCcKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjAyCisjOiB3dC1zdGF0dXMuYzoxNjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgItC60YrQvCDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDRgdCwINC00L7QsdCw0LLQtdC90Lgg0L/RgNC+0LzQtdC90LhcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYwNQorIzogd3Qtc3RhdHVzLmM6MTY1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtNDA3NiwzMzcgKzQ3MjAsMzczIEBACiAi0LrRitC8INC40L3QtNC10LrRgdCwINC30LAg0L/QvtC00LDQstCw0L3QtSDQvdC1INGB0LAg0LTQvtCx0LDQstC10L3QuCDQv9GA0L7QvNC10L3QuCwg0L3QviDQuNC80LAg0L3QvtCy0Lgg0YTQsNC50LvQvtCy0LUgIgogIijQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBhZGTigJwsINC30LAg0LTQsCDQt9Cw0L/QvtGH0L3QtSDRgtGP0YXQvdC+0YLQviDRgdC70LXQtNC10L3QtSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYwOAorIzogd3Qtc3RhdHVzLmM6MTY1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAi0LrRitC8INC40L3QtNC10LrRgdCwINC30LAg0L/QvtC00LDQstCw0L3QtSDQvdC1INGB0LAg0LTQvtCx0LDQstC10L3QuCDQv9GA0L7QvNC10L3QuCwg0L3QviDQuNC80LAg0L3QvtCy0Lgg0YTQsNC50LvQvtCy0LVcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYxMQorIzogd3Qtc3RhdHVzLmM6MTY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogItC70LjQv9GB0LLQsNGCINC60LDQutCy0LjRgtC+INC4INC00LAg0LUg0L/RgNC+0LzQtdC90LggKNGB0YrQt9C00LDQudGC0LUg0LjQu9C4INC60L7Qv9C40YDQsNC50YLQtSDRhNCw0LnQu9C+0LLQtSDQuCDQuNC30L/QvtC70LfQstCw0LnRgtC1ICIKICLigJ5naXQgYWRk4oCcLCDQt9CwINC00LAg0LfQsNC/0L7Rh9C90LUg0YLRj9GF0L3QvtGC0L4g0YHQu9C10LTQtdC90LUpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTQgd3Qtc3RhdHVzLmM6MTYxOQorIzogd3Qtc3RhdHVzLmM6MTY2MSB3dC1zdGF0dXMuYzoxNjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgItC70LjQv9GB0LLQsNGCINC60LDQutCy0LjRgtC+INC4INC00LAg0LUg0L/RgNC+0LzQtdC90LhcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYxNworIzogd3Qtc3RhdHVzLmM6MTY2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICIiCiAi0LvQuNC/0YHQstCw0YIg0LrQsNC60LLQuNGC0L4g0Lgg0LTQsCDQtSDQv9GA0L7QvNC10L3QuCAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tdeKAnCwg0LfQsCDQtNCwINGB0LUg0LjQt9Cy0LXQtNCw0YIg0LggIgogItC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjEKKyM6IHd0LXN0YXR1cy5jOjE2NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICLQu9C40L/RgdCy0LDRgiDQutCw0LrQstC40YLQviDQuCDQtNCwINC1INC/0YDQvtC80LXQvdC4LCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQtSDRh9C40YHRgtC+XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MjgKLW1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCi1tc2dzdHIgItCf0YrRgNCy0L7QvdCw0YfQsNC70L3QviDQv9C+0LTQsNCy0LDQvdC1INC90LAg0LrQu9C+0L0iCisjOiB3dC1zdGF0dXMuYzoxNzgwCittc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgorbXNnc3RyICLQktGB0LUg0L7RidC1INC70LjQv9GB0LLQsNGCINC/0L7QtNCw0LLQsNC90LjRjyDQsiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MzIKKyM6IHd0LXN0YXR1cy5jOjE3ODQKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEICjQuNC30LLRitC9INC60LvQvtC9KSIKIAotIzogd3Qtc3RhdHVzLmM6MTc2MQotbXNnaWQgImdvbmUiCi1tc2dzdHIgItC40LfRgtGA0LjRgiIKLQotIzogd3Qtc3RhdHVzLmM6MTc2MyB3dC1zdGF0dXMuYzoxNzcxCisjOiB3dC1zdGF0dXMuYzoxODEzIHd0LXN0YXR1cy5jOjE4MjEKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICLQvdCw0LfQsNC0INGBICIKIAotIzogd3Qtc3RhdHVzLmM6MTc2NiB3dC1zdGF0dXMuYzoxNzY5CisjOiB3dC1zdGF0dXMuYzoxODE2IHd0LXN0YXR1cy5jOjE4MTkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgItC90LDQv9GA0LXQtCDRgSAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMjcwCisjOiB3dC1zdGF0dXMuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQuNC30LLRitGA0YjQuNGC0LUg4oCeJXPigJwsINC30LDRidC+0YLQviDQuNC80LAg0L/RgNC+0LzQtdC90LgsINC60L7QuNGC0L4g0L3QtSDRgdCwINCyINC40L3QtNC10LrRgdCwLiIKIAotIzogd3Qtc3RhdHVzLmM6MjI3NgorIzogd3Qtc3RhdHVzLmM6MjMxNwogbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0L7RgdCy0LXQvSDRgtC+0LLQsCDQsiDQuNC90LTQtdC60YHQsCDQuNC80LAg0L3QtdC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90LguIgogCi0jOiB3dC1zdGF0dXMuYzoyMjc4CisjOiB3dC1zdGF0dXMuYzoyMzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINC40LfQstGK0YDRiNC40YLQtSDigJ4lc+KAnCwg0LfQsNGJ0L7RgtC+INCyINC40L3QtNC10LrRgdCwINC40LzQsCDQvdC10L/QvtC00LDQtNC10L3QuCDQv9GA0L7QvNC10L3QuC4iCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDE0CisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMgorIzogYnVpbHRpbi9hZGQuYzoyNAogbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgYWRkIFvQntCf0KbQmNCv4oCmXSBbLS1dINCf0KrQouKApiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MAorIzogYnVpbHRpbi9hZGQuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LjQt9GF0L7QtNC10L0g0LrQvtC0INC/0YDQuCDQs9C10L3QtdGA0LjRgNCw0L3QtSDQvdCwINGA0LDQt9C70LjQutCwOiAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQorIzogYnVpbHRpbi9hZGQuYzo4NyBidWlsdGluL2NvbW1pdC5jOjI5MgogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1IgogCi0jOiBidWlsdGluL2FkZC5jOjk1CisjOiBidWlsdGluL2FkZC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTQ5CisjOiBidWlsdGluL2FkZC5jOjE1MQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICLQn9GA0L7QvNC10L3QuCwg0LrQvtC40YLQviDQuCDRgdC70LXQtCDQvtCx0L3QvtCy0Y/QstCw0L3QtdGC0L4g0L3QsCDQuNC90LTQtdC60YHQsCDQvdC1INGB0LAg0LTQvtCx0LDQstC10L3QuCDQutGK0Lwg0L3QtdCz0L46IgogCi0jOiBidWlsdGluL2FkZC5jOjIwOSBidWlsdGluL3Jldi1wYXJzZS5jOjg0MAorIzogYnVpbHRpbi9hZGQuYzoyMTEgYnVpbHRpbi9yZXYtcGFyc2UuYzo4NzMKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIwCisjOiBidWlsdGluL2FkZC5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAi0KTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSDQt9CwINC30LDQv9C40YEuIgogCi0jOiBidWlsdGluL2FkZC5jOjIyNAorIzogYnVpbHRpbi9hZGQuYzoyMjYKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgItCa0YDRitC/0LrQsNGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC90LAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjI3CisjOiBidWlsdGluL2FkZC5jOjIyOQogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC60YDRitC/0LrQsCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzAKKyM6IGJ1aWx0aW4vYWRkLmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9GD0YfQuCDQuNC90YTQvtGA0LzQsNGG0LjRjyDRh9GA0LXQtyDigJ5zdGF04oCcINC30LAg0YTQsNC50LvQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjM0CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLQn9GA0LDQt9C90LAg0LrRgNGK0L/QutCwLCDQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDQtNC10LnRgdGC0LLQuNC10YLQvi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjM3CisjOiBidWlsdGluL2FkZC5jOjIzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAi0JrRgNGK0L/QutCw0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwIgogCi0jOiBidWlsdGluL2FkZC5jOjI0NworIzogYnVpbHRpbi9hZGQuYzoyNDkKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIiIKICLQodC70LXQtNC90LjRgtC1INC/0YrRgtC40YnQsCDRidC1INCx0YrQtNCw0YIg0LjQs9C90L7RgNC40YDQsNC90Lgg0YHQv9C+0YDQtdC0INC90Y/QutC+0Lkg0L7RgiDRhNCw0LnQu9C+0LLQtdGC0LUg4oCeLmdpdGlnbm9yZeKAnDpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjYgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vbXYuYzoxMTEKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTk4IGJ1aWx0aW4vcHVzaC5jOjUyMQotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI2IGJ1aWx0aW4vcm0uYzoyNjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY5IGJ1aWx0aW4vY2xlYW4uYzo5MDcgYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjIwMSBidWlsdGluL3B1c2guYzo1MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjQyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAi0L/RgNC+0LHQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1IgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0L7RgtCx0LjRgNCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC4IgogCi0jOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1NiBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MyBidWlsdGluL2NoZWNrb3V0LmM6MTE2MiBidWlsdGluL3Jlc2V0LmM6Mjk5CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0LXQvSDQuNC30LHQvtGAINC90LAg0L/QsNGA0YfQtdGC0LAg0LrQvtC0IgogCi0jOiBidWlsdGluL2FkZC5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzoyNzQKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgItGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRgtC10LrRg9GJ0LDRgtCwINGA0LDQt9C70LjQutCwINC4INC/0YDQuNC70LDQs9Cw0L3QtSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC4INC90LAg0LjQvdCw0YfQtSDQuNCz0L3QvtGA0LjRgNCw0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjczCisjOiBidWlsdGluL2FkZC5jOjI3NgogbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgogbXNnc3RyICLQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzQKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc3CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICLQvtGC0LHQtdC70Y/Qt9Cy0LDQvdC1INGB0LDQvNC+INC90LAg0YTQsNC60YLQsCwg0YfQtSDQv9GK0YLRj9GCINGJ0LUg0LHRitC00LUg0LTQvtCx0LDQstC10L0g0L/Qvi3QutGK0YHQvdC+IgogCi0jOiBidWlsdGluL2FkZC5jOjI3NQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQstGB0LjRh9C60Lgg0L/RgNC+0LzQtdC90Lgg0LIg0YHQu9C10LTQtdC90LjRgtC1INC4INC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjc4CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICIiCiAi0LjQs9C90L7RgNC40YDQsNC90LUg0L3QsCDQv9GK0YLQuNGJ0LDRgtCwLCDQutC+0LjRgtC+INGB0LAg0LjQt9GC0YDQuNGC0Lgg0L7RgiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviAo0YHRitGJ0L7RgtC+INC60LDRgtC+IOKAni0tIgogIm5vLWFsbOKAnCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgwCisjOiBidWlsdGluL2FkZC5jOjI4MwogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LHQtdC3INC00L7QsdCw0LLRj9C90LUg0L3QsCDQvdC+0LLQuCDRhNCw0LnQu9C+0LLQtSwg0YHQsNC80L4g0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9hZGQuYzoyODEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg0CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiIgogItC/0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LTQvtCx0LDQstC10L3QuCDQv9C+0YDQsNC00Lgg0LPRgNC10YjQutC4IgogCi0jOiBidWlsdGluL2FkZC5jOjI4MgorIzogYnVpbHRpbi9hZGQuYzoyODUKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgIiIKICLQv9GA0L7QstC10YDQutCwLCDRh9C1INC/0YDQuCDQv9GA0L7QsdC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0LLRgdC40YfQutC4INGE0LDQudC70L7QstC1LCDQtNC+0YDQuCDQuCDQuNC30YLRgNC40YLQuNGC0LUsINGB0LUgIgogItC40LPQvdC+0YDQuNGA0LDRgiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg2IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCiBtc2dpZCAiKCsvLSl4IgogbXNnc3RyICIoKy8tKXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MwogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICLQuNC30YDQuNGH0L3QviDQt9Cw0LTQsNCy0LDQvdC1INC90LAg0YHRgtC+0LnQvdC+0YHRgtGC0LAg0L3QsCDRhNC70LDQs9CwINC00LDQu9C4INGE0LDQudC70YrRgiDQtSDQuNC30L/RitC70L3QuNC8IgogCi0jOiBidWlsdGluL2FkZC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzoyODgKK21zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCittc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LDQstCw0L3QtSDQv9GA0Lgg0LTQvtCx0LDQstGP0L3QtSDQvdCwINCy0LPRgNCw0LTQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgorCisjOiBidWlsdGluL2FkZC5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgorIkNsb25lcyBvZiB0aGUgb3V0ZXIgcmVwb3NpdG9yeSB3aWxsIG5vdCBjb250YWluIHRoZSBjb250ZW50cyBvZlxuIgorInRoZSBlbWJlZGRlZCByZXBvc2l0b3J5IGFuZCB3aWxsIG5vdCBrbm93IGhvdyB0byBvYnRhaW4gaXQuXG4iCisiSWYgeW91IG1lYW50IHRvIGFkZCBhIHN1Ym1vZHVsZSwgdXNlOlxuIgorIlxuIgorIlx0Z2l0IHN1Ym1vZHVsZSBhZGQgPHVybD4gJXNcbiIKKyJcbiIKKyJJZiB5b3UgYWRkZWQgdGhpcyBwYXRoIGJ5IG1pc3Rha2UsIHlvdSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlXG4iCisiaW5kZXggd2l0aDpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIlNlZSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorItCY0LfRgtC10LPQu9C40LvQuCDRgdGC0LUg0LTQvtC/0YrQu9C90LjRgtC10LvQvdC+INGF0YDQsNC90LjQu9C40YnQtSDQsiDRgtC10LrRg9GJ0L7RgtC+LiAg0JrQvtCz0LDRgtC+INC60LvQvtC90LjRgNCw0YLQtSAiCisi0L7QsdGF0LLQsNGJ0LDRidC+0YLQvlxuIgorItGF0YDQsNC90LjQu9C40YnQtSDQvdGP0LzQsCDQtNCwINC/0L7Qu9GD0YfQuNGC0Lgg0LLQs9GA0LDQtNC10L3QvtGC0L4sINC30LDRidC+0YLQviDQstGK0L3RiNC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDQvdGP0LzQsCAiCisi0L/RgNC10LTRgdGC0LDQstCwXG4iCisi0LfQsCDQstGK0YLRgNC10YjQvdC+0YLQvi4gINCX0LAg0LTQsCDQtNC+0LHQsNCy0LjRgtC1INC/0L7QtNC80L7QtNGD0LssINC40LfQv9GK0LvQvdC10YLQtTpcbiIKKyJcbiIKKyIgICAgZ2l0IHN1Ym1vZHVsZSBhZGQg0JDQlNCg0JXQoSAlc1xuIgorIlxuIgorItCQ0LrQviDQtNC+0LHQsNCy0Y/QvdC10YLQviDQtSDQs9GA0LXRiNC60LAsINC80L7QttC1INC00LAg0LPQviDQuNC30LLQsNC00LjRgtC1INC+0YIg0LjQvdC00LXQutGB0LAg0YEg0LrQvtC80LDQvdC00LDRgtCwOlxuIgorIlxuIgorIiAgICBnaXQgcm0gLS1jYWNoZWQgJXNcbiIKKyJcbiIKKyLQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQv9C+0LPQu9C10LTQvdC10YLQtSDigJ5naXQgaGVscCBzdWJtb2R1bGXigJwuIgorCisjOiBidWlsdGluL2FkZC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJhZGRpbmcgZW1iZWRkZWQgZ2l0IHJlcG9zaXRvcnk6ICVzIgorbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LLQs9GA0LDQtNC10L3QviDRhdGA0LDQvdC40LvQuNGJ0LU6ICVzIgorCisjOiBidWlsdGluL2FkZC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICLQmNC30L/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIOKAni1m4oCcLCDQt9CwINC00LAg0LPQuCDQtNC+0LHQsNCy0LjRgtC1INC90LDQuNGB0YLQuNC90LAuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzEyCisjOiBidWlsdGluL2FkZC5jOjM1NwogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzQ4CisjOiBidWlsdGluL2FkZC5jOjM5NAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tQeKAnCDQuCDigJ4tdeKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9hZGQuYzozNTUKKyM6IGJ1aWx0aW4vYWRkLmM6NDAxCiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1pZ25vcmUtbWlzc2luZ+KAnCDQtSDRgdGK0LLQvNC10YHRgtC40LzQsCDRgdCw0LzQviDRgSDigJ4tLWRyeS1ydW7igJwiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjOiBidWlsdGluL2FkZC5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YrRgNGK0YIg0LrRitC8IOKAni0tY2htb2TigJwg4oCUIOKAniVz4oCcINC80L7QttC1INC00LAg0LUg0LjQu9C4IOKAni144oCcLCDQuNC70Lgg4oCeK3jigJwiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc0CisjOiBidWlsdGluL2FkZC5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAi0J3QuNGJ0L4g0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdC+INC4INC90LjRidC+INC90LUg0LUg0LTQvtCx0LDQstC10L3Qvi5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNzUKKyM6IGJ1aWx0aW4vYWRkLmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICLQktC10YDQvtGP0YLQvdC+INC40YHQutCw0YXRgtC1INC00LAg0LjQt9C/0L7Qu9C30LLQsNGC0LUg4oCeZ2l0IGFkZCAu4oCcP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjM4MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQgYnVpbHRpbi9jb21taXQuYzozNTAKLSM6IGJ1aWx0aW4vbXYuYzoxMzEgYnVpbHRpbi9yZXNldC5jOjIzNSBidWlsdGluL3JtLmM6Mjk4CisjOiBidWlsdGluL2FkZC5jOjQyNiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NiBidWlsdGluL2NoZWNrb3V0LmM6MjgyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDc1IGJ1aWx0aW4vY2xlYW4uYzo5NTQgYnVpbHRpbi9jb21taXQuYzozNTEKKyM6IGJ1aWx0aW4vbXYuYzoxNDQgYnVpbHRpbi9yZXNldC5jOjIzOCBidWlsdGluL3JtLmM6MjcyCiAjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQ0CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICLRhNCw0LnQu9GK0YIg0YEg0LjQvdC00LXQutGB0LAg0LUg0L/QvtCy0YDQtdC00LXQvSIKIAotIzogYnVpbHRpbi9hbS5jOjQxNAorIzogYnVpbHRpbi9hbS5jOjQxMwogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICLRgdC60YDQuNC/0YLRitGCINC30LAg0LDQstGC0L7RgCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzo0OTEKKyM6IGJ1aWx0aW4vYW0uYzo0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIKIG1zZ3N0ciAi4oCeJXPigJwg0LHQtSDQuNC30YLRgNC40YIg0L7RgiDQutGD0LrQsNGC0LAg4oCeYXBwbHlwYXRjaC1tc2figJwiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MzIKKyM6IGJ1aWx0aW4vYW0uYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLQlNCw0LTQtdC90LjRj9GCINCy0YXQvtC00LXQvSDRgNC10LQg0LUg0YEg0L3QtdC/0YDQsNCy0LjQu9C10L0g0YTQvtGA0LzQsNGCOiDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NjkKKyM6IGJ1aWx0aW4vYW0uYzo1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgItCR0LXQu9C10LbQutCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQutC+0L/QuNGA0LAg0L7RgiDigJ4lc+KAnCDQutGK0Lwg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1OTUKKyM6IGJ1aWx0aW4vYW0uYzo1OTMKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmZzZWVr4oCcIgogCi0jOiBidWlsdGluL2FtLmM6Nzc1CisjOiBidWlsdGluL2FtLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICLQutGA0YrQv9C60LDRgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCIKIAotIzogYnVpbHRpbi9hbS5jOjg0MAorIzogYnVpbHRpbi9hbS5jOjg0MgogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICIiCiAi0KHQsNC80L4g0LXQtNC90LAg0YHQtdGA0LjRjyDQutGA0YrQv9C60Lgg0L7RgiDigJ5TdEdJVOKAnCDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQuNC70LDQs9Cw0L3QsCDQsiDQtNCw0LTQtdC9INC80L7QvNC10L3RgiIKIAotIzogYnVpbHRpbi9hbS5jOjg4NworIzogYnVpbHRpbi9hbS5jOjg4OQogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg0LLRgNC10LzQtSIKIAotIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CisjOiBidWlsdGluL2FtLmM6ODkyIGJ1aWx0aW4vYW0uYzo5MDAKIG1zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INC30LAg0LTQsNGC0LAg4oCeRGF0ZeKAnCIKIAotIzogYnVpbHRpbi9hbS5jOjg5NQorIzogYnVpbHRpbi9hbS5jOjg5NwogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDQvtGC0LzQtdGB0YLQstCw0L3QtSDQvdCwINGH0LDRgdC+0LLQuNGPINC/0L7Rj9GBIgogCi0jOiBidWlsdGluL2FtLmM6OTg0CisjOiBidWlsdGluL2FtLmM6OTg2CiBtc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgogbXNnc3RyICLQpNC+0YDQvNCw0YLRitGCINC90LAg0LrRgNGK0L/QutCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7Qv9GA0LXQtNC10LvQtdC9LiIKIAotIzogYnVpbHRpbi9hbS5jOjk4OSBidWlsdGluL2Nsb25lLmM6Mzc5CisjOiBidWlsdGluL2FtLmM6OTkxIGJ1aWx0aW4vY2xvbmUuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5OTMKKyM6IGJ1aWx0aW4vYW0uYzo5OTUKIG1zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCiBtc2dzdHIgItCa0YDRitC/0LrQuNGC0LUg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDRgNCw0LfQtNC10LvQtdC90LguIgogCi0jOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgorIzogYnVpbHRpbi9hbS5jOjExMjAgYnVpbHRpbi9jb21taXQuYzozNzcKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTc2CisjOiBidWlsdGluL2FtLmM6MTE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAi0KHQu9C10LQg0LrQvtGA0LjQs9C40YDQsNC90LXRgtC+INC90LAg0YLQvtC30Lgg0L/RgNC+0LHQu9C10Lwg0LjQt9C/0YrQu9C90LXRgtC1IOKAniVzIC0tY29udGludWXigJwuIgogCi0jOiBidWlsdGluL2FtLmM6MTE3NworIzogYnVpbHRpbi9hbS5jOjExNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICLQkNC60L4g0L/RgNC10LTQv9C+0YfQuNGC0LDRgtC1INC00LAg0L/RgNC10YHQutC+0YfQuNGC0LUg0YLQsNC30Lgg0LrRgNGK0L/QutCwLCDQuNC30L/RitC70L3QtdGC0LUg4oCeJXMgLS1za2lw4oCcLiIKIAotIzogYnVpbHRpbi9hbS5jOjExNzgKKyM6IGJ1aWx0aW4vYW0uYzoxMTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAi0JfQsCDQtNCwINGB0LUg0LLRitGA0L3QtdGC0LUg0LrRitC8INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QvtGC0L4g0YHRitGB0YLQvtGP0L3QuNC1LCDQuNC30L/RitC70L3QtdGC0LUg4oCeJXMgLS1hYm9ydOKAnC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzE2Ci1tc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCi1tc2dzdHIgItCf0YDQsNC30L3QsCDQutGA0YrQv9C60LAuICDQlNCw0LvQuCDQvdC1INC1INGA0LDQt9C00LXQu9C10L3QsCDQv9C+0LPRgNC10YjQvdC+PyIKKyM6IGJ1aWx0aW4vYW0uYzoxMzA0Cittc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgorbXNnc3RyICLQmtGA0YrQv9C60LDRgtCwINC1INC/0YDQsNC30L3QsC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vbG9nLmM6MTU1MAorIzogYnVpbHRpbi9hbS5jOjEzNzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKLW1zZ3N0ciAi0LPRgNC10YjQvdCwINC40LTQtdC90YLQuNGH0L3QvtGB0YI6ICVzIgorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKK21zZ3N0ciAi0LPRgNC10YjQtdC9INGA0LXQtCDRgSDQuNC00LXQvdGC0LjRh9C90L7RgdGCOiAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTQxNworIzogYnVpbHRpbi9hbS5jOjEzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INCw0L3QsNC70LjQt9C40YDQsNC90L46ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MTYxMAorIzogYnVpbHRpbi9hbS5jOjE1ODYKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgogbXNnc3RyICIiCiAi0JIg0YXRgNCw0L3QuNC70LjRidC10YLQviDQu9C40L/RgdCy0LDRgiDQvdC10L7QsdGF0L7QtNC40LzQuNGC0LUg0L7QsdC10LrRgtC4IEJMT0IsINC30LAg0LTQsCDRgdC1INC/0YDQtdC80LjQvdC1INC60YrQvCDRgtGA0L7QudC90L4gIgogItGB0LvQuNCy0LDQvdC1LiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MTIKKyM6IGJ1aWx0aW4vYW0uYzoxNTg4CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAi0JHQsNC30L7QstC+0YLQviDQtNGK0YDQstC+INGB0LUg0YDQtdC60L7QvdGB0YLRgNGD0LjRgNCwINC+0YIg0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINCyINC40L3QtNC10LrRgdCw4oCmIgogCi0jOiBidWlsdGluL2FtLmM6MTYzMQorIzogYnVpbHRpbi9hbS5jOjE2MDcKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtNDQxNCwzOSArNTA5NCwzOSBAQAogItCa0YDRitC/0LrQsNGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC40LvQvtC20Lgg0LrRitC8INC+0LHQtdC60YLQuNGC0LUgQkxPQiDQsiDQuNC90LTQtdC60YHQsC5cbiIKICLQlNCwINC90LUg0LHQuCDQtNCwINGB0YLQtSDRjyDRgNC10LTQsNC60YLQuNGA0LDQu9C4INC90LAg0YDRitC60LA/IgogCi0jOiBidWlsdGluL2FtLmM6MTYzNworIzogYnVpbHRpbi9hbS5jOjE2MTMKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCiBtc2dzdHIgItCf0YDQtdC80LjQvdCw0LLQsNC90LUg0LrRitC8INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsCDQutGK0Lwg0LHQsNC30LDRgtCwINC4INGC0YDQvtC50L3QviDRgdC70LjQstCw0L3QteKApiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NjIKKyM6IGJ1aWx0aW4vYW0uYzoxNjM4CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1LiIKIAotIzogYnVpbHRpbi9hbS5jOjE2ODYgYnVpbHRpbi9tZXJnZS5jOjYyOAorIzogYnVpbHRpbi9hbS5jOjE2NjIgYnVpbHRpbi9tZXJnZS5jOjYzMgogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgd3JpdGUtdHJlZeKAnCDQvdC1INGD0YHQv9GPINC00LAg0LfQsNC/0LjRiNC1INC+0LHQtdC60YIt0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi9hbS5jOjE2OTMKKyM6IGJ1aWx0aW4vYW0uYzoxNjY5CiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAi0L/RgNC40LvQsNCz0LDQvdC1INCy0YrRgNGF0YMg0L/RgNCw0LfQvdCwINC40YHRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2FtLmM6MTcwNiBidWlsdGluL2NvbW1pdC5jOjE3NjkgYnVpbHRpbi9tZXJnZS5jOjc5OAotIzogYnVpbHRpbi9tZXJnZS5jOjgyMworIzogYnVpbHRpbi9hbS5jOjE2ODIgYnVpbHRpbi9jb21taXQuYzoxNzY3IGJ1aWx0aW4vbWVyZ2UuYzo4MDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjgKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg0LfQsCDQv9C+0LTQsNCy0LDQvdC10YLQviDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCisjOiBidWlsdGluL2FtLmM6MTcxNSBidWlsdGluL2FtLmM6MTcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtC00YrQu9C20Lgg4oCUIOKAniVz4oCcINC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuIgogCi0jOiBidWlsdGluL2FtLmM6MTc1OQorIzogYnVpbHRpbi9hbS5jOjE3MzUKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKICLQl9CwINC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdGC0LDQvdC00LDRgNGC0L3QuNGP0YJcbiIKLSLQuNC30YXQvtC0INC00LAg0LUg0YHQstGK0YDQt9Cw0L0g0YEg0YLQtdGA0LzQuNC90LDQuywg0LAg0LIg0LzQvtC80LXQvdGC0LAg0L3QtSDQtS4iCisi0LLRhdC+0LQg0LTQsCDQtSDRgdCy0YrRgNC30LDQvSDRgSDRgtC10YDQvNC40L3QsNC7LCDQsCDQsiDQvNC+0LzQtdC90YLQsCDQvdC1INC1LiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NjQKKyM6IGJ1aWx0aW4vYW0uYzoxNzQwCiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICLQotGP0LvQvtGC0L4g0L3QsCDQutGA0YrQv9C60LDRgtCwINC30LAg0L/RgNC40LvQsNCz0LDQvdC1INC1OiIKIApAQCAtNDQ1NCwzOCArNTEzNCwzOCBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNzc0CisjOiBidWlsdGluL2FtLmM6MTc1MAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIiIKICLQn9GA0LjQu9Cw0LPQsNC90LU/IOKAnnnigJwg4oCUINC00LAv4oCebuKAnCDigJQg0L3QtS/igJ5l4oCcIOKAlCDRgNC10LTQsNC60YLQuNGA0LDQvdC1L+KAnnbigJwg4oCUINC/0YDQtdCz0LvQtdC0L+KAnmHigJwg4oCUINC/0YDQuNC10LzQsNC90LUgIgogItC90LAg0LLRgdC40YfQutC+OiIKIAotIzogYnVpbHRpbi9hbS5jOjE4MjQKKyM6IGJ1aWx0aW4vYW0uYzoxODAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiIgogItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQtSDRh9C40YHRgjog0LrRgNGK0L/QutC40YLQtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC/0YDQuNC70L7QttC10L3QuCAo0LfQsNC80YrRgNGB0LXQvdC4INGB0LA6ICVzKSIKIAotIzogYnVpbHRpbi9hbS5jOjE4NjEgYnVpbHRpbi9hbS5jOjE5MzMKKyM6IGJ1aWx0aW4vYW0uYzoxODQwIGJ1aWx0aW4vYW0uYzoxOTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICLQn9GA0LjQu9Cw0LPQsNC90LU6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODc3CisjOiBidWlsdGluL2FtLmM6MTg1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAi0JHQtdC3INC/0YDQvtC80LXQvdC4IOKAlCDQutGA0YrQv9C60LDRgtCwINCy0LXRh9C1INC1INC/0YDQuNC70L7QttC10L3QsC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODg1CisjOiBidWlsdGluL2FtLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsCDQv9GA0LggJXMgJS4qc+KAnCIKIAotIzogYnVpbHRpbi9hbS5jOjE4OTEKKyM6IGJ1aWx0aW4vYW0uYzoxODcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb3B5IG9mIHRoZSBwYXRjaCB0aGF0IGZhaWxlZCBpcyBmb3VuZCBpbjogJXMiCiBtc2dzdHIgItCU0YPQsdC70LjQutCw0YIg0L3QsCDQv9GA0L7QsdC70LXQvNC90LDRgtCwINC60YDRitC/0LrQsCDRgdC1INC90LDQvNC40YDQsCDQsjogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTM2CisjOiBidWlsdGluL2FtLmM6MTkxNQogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKQEAgLTQ0OTUsMjUgKzUxNzUsMjggQEAKICLQkNC60L4g0L3Rj9C80LAg0LTRgNGD0LPQsCDQv9GA0L7QvNGP0L3QsCDQt9CwINCy0LrQu9GO0YfQstCw0L3QtSDQsiDQuNC90LTQtdC60YHQsCwg0L3QsNC5LdCy0LXRgNC+0Y/RgtC90L4g0L3Rj9C60L7RjyDQtNGA0YPQs9CwXG4iCiAi0LrRgNGK0L/QutCwINC1INC00L7QstC10LvQsCDQtNC+INGB0YrRidC40YLQtSDQv9GA0L7QvNC10L3QuCDQuCDQsiDRgtCw0LrRitCyINGB0LvRg9GH0LDQuSDQv9GA0L7RgdGC0L4g0L/RgNC+0L/Rg9GB0L3QtdGC0LUg0YLQsNC30LguIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MjIKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKLSJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKKyJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKKyJzdWNoLlxuIgorIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgIiIKICLQmNC90LTQtdC60YHRitGCINCy0YHQtSDQvtGJ0LUg0YHRitC00YrRgNC20LAg0L3QtdGB0LvQtdGC0Lgg0L/RgNC+0LzQtdC90LguXG4iCi0i0JLRitC30LzQvtC20L3QviDQtSDQtNCwINC90LUg0YHRgtC1INC40LfQv9GK0LvQvdC40LvQuCDigJ5naXQgYWRk4oCcLiIKKyLQodC70LXQtCDQutC+0YDQtdC60YbQuNGPINC90LAg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IGFkZOKAnCDQstGK0YDRhdGDINC/0L7Qv9GA0LDQstC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUuXG4iCisi0JfQsCDQtNCwINC/0YDQuNC10LzQtdGC0LUg4oCe0LjQt9GC0YDQuNGC0Lgg0L7RgiDRgtGP0YXigJwsINC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgcm3igJwg0LLRitGA0YXRgyDQuNC30YLRgNC40YLQuNGC0LUg0YTQsNC50LvQvtCy0LUuIgogCi0jOiBidWlsdGluL2FtLmM6MjA1MSBidWlsdGluL2FtLmM6MjA1NSBidWlsdGluL2FtLmM6MjA2NyBidWlsdGluL3Jlc2V0LmM6MzA4Ci0jOiBidWlsdGluL3Jlc2V0LmM6MzE2CisjOiBidWlsdGluL2FtLmM6MjAzMSBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2FtLmM6MjA0NyBidWlsdGluL3Jlc2V0LmM6MzIzCisjOiBidWlsdGluL3Jlc2V0LmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0YDQsNC30L/QvtC30L3QsNGCINC60LDRgtC+INC+0LHQtdC60YIuIgogCi0jOiBidWlsdGluL2FtLmM6MjEwMworIzogYnVpbHRpbi9hbS5jOjIwODMKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgItC40L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRh9C40YHRgtC10L0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTM3CisjOiBidWlsdGluL2FtLmM6MjExNwogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtNDUyNCwxMzggKzUyMDcsMTM5IEBACiAi0YHQvtGH0Lgg0LrRitC8XG4iCiAi4oCeT1JJR19IRUFE4oCcIgogCi0jOiBidWlsdGluL2FtLmM6MjIwMAorIzogYnVpbHRpbi9hbS5jOjIxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeLS1wYXRjaC1mb3JtYXTigJw6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFvQntCf0KbQmNCv4oCmXSBbKNCk0JDQmdCbX9ChX9Cf0J7QqdCQfNCU0JjQoNCV0JrQotCe0KDQmNCvX9ChX9Cf0J7QqdCQKeKApl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM0CisjOiBidWlsdGluL2FtLmM6MjIxNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gW9Ce0J/QptCY0K/igKZdICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQwCisjOiBidWlsdGluL2FtLmM6MjIyMAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90LAg0YDQsNCx0L7RgtCwIgogCi0jOiBidWlsdGluL2FtLmM6MjI0MgorIzogYnVpbHRpbi9hbS5jOjIyMjIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAi0LjQt9C+0YHRgtCw0LLQtdC90LAg0L7Qv9GG0LjRjywg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0L/QviDQuNGB0YLQvtGA0LjRh9C10YHQutC4INC/0YDQuNGH0LjQvdC4LCDQvdC40YnQviDQvdC1INC/0YDQsNCy0LgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ0CisjOiBidWlsdGluL2FtLmM6MjIyNAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICLQtNCwINGB0LUg0L/RgNC10LzQuNC90LDQstCwINC60YrQvCDRgtGA0L7QudC90L4g0YHQu9C40LLQsNC90LUg0L/RgNC4INC90YPQttC00LAuIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NSBidWlsdGluL2luaXQtZGIuYzo0ODMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NwotIzogYnVpbHRpbi9yZXBhY2suYzoxNzIKKyM6IGJ1aWx0aW4vYW0uYzoyMjI1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3CisjOiBidWlsdGluL3JlcGFjay5jOjE4MAogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ3CisjOiBidWlsdGluL2FtLmM6MjIyNwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgNC10LQg0LfQsCDQv9C+0LTQv9C40YEg4oCeU2lnbmVkLW9mZi1ieeKAnCDQsiDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgItC/0YDQtdC60L7QtNC40YDQsNC90LUg0LIgVVRGLTggKNGB0YLQsNC90LTQsNGA0YLQvdC+KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni1r4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1tYWlsaW5mb+KAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQKKyM6IGJ1aWx0aW4vYW0uYzoyMjM0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni1i4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1tYWlsaW5mb+KAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjM2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni1t4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1tYWlsaW5mb+KAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjM4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAiIgogItC/0L7QtNCw0LLQsNC90LUg0L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tLWtlZXAtY3LigJwg0L3QsCDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LW1haWxzcGxpdOKAnCDQt9CwINGE0L7RgNC80LDRgiDigJ5tYm944oCcIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MQorIzogYnVpbHRpbi9hbS5jOjIyNDEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAiIgogItCx0LXQtyDQv9C+0LTQsNCy0LDQvdC1INC90LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1rZWVwLWNy4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1tYWlsc3BsaXTigJwg0L3QtdC30LDQstC40YHQuNC80L4gIgogItC+0YIg4oCeYW0ua2VlcGNy4oCcIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NAorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgItC/0YDQvtC/0YPRgdC60LDQvdC1INC90LAg0LLRgdC40YfQutC+INC/0YDQtdC00Lgg0YDQtdC00LAg0LfQsCDQvtGC0YDRj9C30LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY2IGJ1aWx0aW4vYW0uYzoyMjY5IGJ1aWx0aW4vYW0uYzoyMjcyIGJ1aWx0aW4vYW0uYzoyMjc1Ci0jOiBidWlsdGluL2FtLmM6MjI3OCBidWlsdGluL2FtLmM6MjI4MSBidWlsdGluL2FtLmM6MjI4NCBidWlsdGluL2FtLmM6MjI4NwotIzogYnVpbHRpbi9hbS5jOjIyOTMKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ2IGJ1aWx0aW4vYW0uYzoyMjQ5IGJ1aWx0aW4vYW0uYzoyMjUyIGJ1aWx0aW4vYW0uYzoyMjU1CisjOiBidWlsdGluL2FtLmM6MjI1OCBidWlsdGluL2FtLmM6MjI2MSBidWlsdGluL2FtLmM6MjI2NCBidWlsdGluL2FtLmM6MjI2NworIzogYnVpbHRpbi9hbS5jOjIyNzMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICLQv9GA0LXQutCw0YDQstCw0L3QtSDQv9GA0LXQtyDigJ5naXQtYXBwbHnigJwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjUKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNyBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNSBidWlsdGluL3B1bGwuYzoxOTQKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgxIGJ1aWx0aW4vcmVwYWNrLmM6MTg1IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUgYnVpbHRpbi90YWcuYzozNDAgcGFyc2Utb3B0aW9ucy5oOjEzMgotIzogcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBidWlsdGluL2FtLmM6MjI2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzoxMDY0IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTQyCisjOiBidWlsdGluL3B1bGwuYzoxOTcgYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk1IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzEgYnVpbHRpbi9zaG93LXJlZi5jOjE2OQorIzogYnVpbHRpbi90YWcuYzozOTkgcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAi0JHQoNCe0JkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4Ci0jOiBidWlsdGluL3RhZy5jOjM3MgorIzogYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9icmFuY2guYzo1OTYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ0IGJ1aWx0aW4vdGFnLmM6NDM0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICLQpNCe0KDQnNCQ0KIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjkwCisjOiBidWlsdGluL2FtLmM6MjI3MAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCINC90LAg0LrRgNGK0L/QutC40YLQtSIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjc2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICLQuNC30LHRgNCw0L3QviDQvtGCINCy0LDRgSDRgdGK0L7QsdGJ0LXQvdC40LUg0LfQsCDQs9GA0LXRiNC60LAg0L/RgNC4INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQuCIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjc4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAi0L/RgNC+0LTRitC70LbQsNCy0LDQvdC1INC90LAg0L/RgNC40LvQsNCz0LDQvdC10YLQviDQvdCwINC60YDRitC/0LrQuCDRgdC70LXQtCDQutC+0YDQuNCz0LjRgNCw0L3QtdGC0L4g0L3QsCDQutC+0L3RhNC70LjQutGCIgogCi0jOiBidWlsdGluL2FtLmM6MjMwMQorIzogYnVpbHRpbi9hbS5jOjIyODEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAi0YHQuNC90L7QvdC40LzQuCDQvdCwIOKAni0tY29udGludWXigJwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA0CisjOiBidWlsdGluL2FtLmM6MjI4NAogbXNnaWQgInNraXAgdGhlIGN1cnJlbnQgcGF0Y2giCiBtc2dzdHIgItC/0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0YLQtdC60YPRidCw0YLQsCDQutGA0YrQv9C60LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA3CisjOiBidWlsdGluL2FtLmM6MjI4NwogbXNnaWQgInJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbi4iCiBtc2dzdHIgIiIKICLQstGK0LfRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDRgdGK0YHRgtC+0Y/QvdC40LUg0L3QsCDQutC70L7QvdCwINC4INC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwICIKICLQv9GA0LjQu9Cw0LPQsNC90LXRgtC+INC90LAg0LrRgNGK0L/QutCw0YLQsC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzExCisjOiBidWlsdGluL2FtLmM6MjI5MQogbXNnaWQgImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIKIG1zZ3N0ciAi0LTQsNGC0LAg0LfQsCDQv9C+0LTQsNCy0LDQvdC1INGA0LDQt9C70LjRh9C90LAg0L7RgiDQv9GK0YDQstC+0L3QsNGH0LDQu9C90LDRgtCwIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMworIzogYnVpbHRpbi9hbS5jOjIyOTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINGC0LXQutGD0YnQvtGC0L4g0LLRgNC10LzQtSDQutCw0YLQviDRgtC+0LLQsCDQt9CwINCw0LLRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjI5Ci0jOiBidWlsdGluL3B1bGwuYzoxNjUgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQorIzogYnVpbHRpbi9hbS5jOjIyOTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3MiBidWlsdGluL3JldmVydC5jOjExMiBidWlsdGluL3RhZy5jOjQxNAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAi0JjQlNCV0J3QotCY0KTQmNCa0JDQotCe0KBf0J3QkF/QmtCb0K7QpyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAiR1BHLXNpZ24gY29tbWl0cyIKIG1zZ3N0ciAi0L/QvtC00L/QuNGB0LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINGBIEdQRyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjk5CiBtc2dpZCAiKGludGVybmFsIHVzZSBmb3IgZ2l0LXJlYmFzZSkiCiBtc2dzdHIgIijQv9C+0LvQt9Cy0LAg0YHQtSDQstGK0YLRgNC10YjQvdC+INC30LAg4oCeZ2l0LXJlYmFzZeKAnCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM0CisjOiBidWlsdGluL2FtLmM6MjMxNwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTQ2NjMsMTggKzUzNDcsMTggQEAKICLQntC/0YbQuNC40YLQtSDigJ4tYuKAnC/igJ4tLWJpbmFyeeKAnCDQvtGC0LTQsNCy0L3QsCDQvdC1INC/0YDQsNCy0Y/RgiDQvdC40YnQviDQuFxuIgogItGJ0LUg0LHRitC00LDRgiDQv9GA0LXQvNCw0YXQvdCw0YLQuCDQsiDQsdGK0LTQtdGJ0LUuICDQndC1INCz0Lgg0L/QvtC70LfQstCw0LnRgtC1LiIKIAotIzogYnVpbHRpbi9hbS5jOjIzNDEKKyM6IGJ1aWx0aW4vYW0uYzoyMzI0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9GH0LjRgtCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2FtLmM6MjM1NgorIzogYnVpbHRpbi9hbS5jOjIzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICIiCiAi0L/RgNC10LTQuNGI0L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0LfQsCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1IOKAniVz4oCcINCy0YHQtSDQvtGJ0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAsINCwINC1INC30LDQtNCw0LTQtdC9ICIKICLRhNCw0LnQuyDigJ5tYm944oCcLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODAKKyM6IGJ1aWx0aW4vYW0uYzoyMzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCkBAIC00NjgzLDcgKzUzNjcsNyBAQAogItCe0YLQutGA0LjRgtCwINC1INC40LfQu9C40YjQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPIOKAniVz4oCcLlxuIgogItCc0L7QttC10YLQtSDQtNCwINGPINC40LfRgtGA0LjQtdGC0LUg0YEg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBhbSAtLWFib3J04oCcLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODYKKyM6IGJ1aWx0aW4vYW0uYzoyMzY5CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0L3QtSDRgtC10YfQtSDQvtC/0LXRgNCw0YbQuNGPINC/0L4g0LrQvtGA0LjQs9C40YDQsNC90LUg0Lgg0L3Rj9C80LAg0LrQsNC6INC00LAg0YHQtSDQv9GA0L7QtNGK0LvQttC4LiIKIApAQCAtNDcxMywxMSArNTM5Nyw2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiDQv9C+0LvRg9GH0LXQvSDQtSDigJ5OQUNL4oCcIOKAlCAlcyIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKLW1zZ3N0ciAi0L7RgtC00LDQu9C10YfQtdC90LAg0LPRgNC10YjQutCwOiAlcyIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiDQv9GA0L7RgtC+0LrQvtC70L3QsCDQs9GA0LXRiNC60LAiCkBAIC00NzM5LDI0MCArNTQxOCwyMDkgQEAKIG1zZ3N0ciAiIgogItC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkJJU0VDVF9IRUFE4oCcINCy0LzQtdGB0YLQviDQtNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDRgtC10LrRg9GJ0L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozMworIzogYnVpbHRpbi9ibGFtZS5jOjI3CiBtc2dpZCAiZ2l0IGJsYW1lIFs8b3B0aW9ucz5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPGZpbGU+IgogbXNnc3RyICJnaXQgYmxhbWUgW9Ce0J/QptCY0K/igKZdIFvQntCf0KbQmNCvX9CX0JBf0JLQldCg0KHQmNCv0KLQkOKApl0gW9CS0JXQoNCh0JjQr10gWy0tXSDQpNCQ0JnQmyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjM4CisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICI8cmV2LW9wdHM+IGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAi0J7Qn9Cm0JjQmNGC0LVf0JfQkF/QktCV0KDQodCY0K/QotCQINGB0LAg0LTQvtC60YPQvNC10L3RgtC40YDQsNC90Lgg0LIg0YDRitC60L7QstC+0LTRgdGC0LLQvtGC0L4gZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4MQotbXNnaWQgIkJsYW1pbmcgbGluZXMiCi1tc2dzdHIgItCQ0L3QvtGC0LjRgNCw0L3QuCDRgNC10LTQvtCy0LUiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc3CisjOiBidWlsdGluL2JsYW1lLmM6NjY4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0LDQvdC+0YLQsNGG0LjQuNGC0LUg0YEg0L3QsNC80LjRgNCw0L3QtdGC0L4g0LjQvCwg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70L3QviIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NzgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NjkKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0L/RgNCw0LfQvdC4INGB0YPQvNC4INC/0L4gU0hBMSDQt9CwINCz0YDQsNC90LjRh9C90LjRgtC1INC/0L7QtNCw0LLQsNC90LjRjyAo0YHRgtCw0L3QtNCw0YDRgtC90L4g0L7Qv9GG0LjRj9GC0LAgIgogItC1INC40LfQutC70Y7Rh9C10L3QsCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc5CisjOiBidWlsdGluL2JsYW1lLmM6NjcwCiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAi0J3QsNGH0LDQu9C90LjRgtC1INC/0L7QtNCw0LLQsNC90LjRjyDQtNCwINC90LUg0YHQtSDRgdGH0LjRgtCw0YIg0LfQsCDQs9GA0LDQvdC40YfQvdC4ICjRgdGC0LDQvdC00LDRgNGC0L3QviDQvtC/0YbQuNGP0YLQsCDQtSAiCiAi0LjQt9C60LvRjtGH0LXQvdCwKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzEKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsCDQt9CwINC40LfQstGK0YDRiNC10L3QuNGC0LUg0LTQtdC50YHRgtCy0LjRjyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzIKIG1zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgItCf0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCisjOiBidWlsdGluL2JsYW1lLmM6NjczCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINC00L7Qv9GK0LvQvdC40YLQtdC70L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC+0L/RgNC10LTQtdC70Y/QvdC10YLQviDQvdCwINCw0L3QvtGC0LDRhtC40LjRgtC1IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MworIzogYnVpbHRpbi9ibGFtZS5jOjY3NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICIiCiAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDQuNC80LUg0L3QsCDRhNCw0LnQuyAo0YHRgtCw0L3QtNCw0YDRgtC90L4g0YLQvtCy0LAg0LUg0LDQstGC0L7QvNCw0YLQuNGH0L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg0CisjOiBidWlsdGluL2JsYW1lLmM6Njc1CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC40Y/RgiDQvdC+0LzQtdGAINC90LAg0YDQtdC0ICjRgdGC0LDQvdC00LDRgNGC0L3QviDQvtC/0YbQuNGP0YLQsCDQtSDQuNC30LrQu9GO0YfQtdC90LApIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NQorIzogYnVpbHRpbi9ibGFtZS5jOjY3NgogbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQstGK0LIg0YTQvtGA0LzQsNGCINC30LAg0L/Qvi3QvdCw0YLQsNGC0YrRiNC90LAg0L7QsdGA0LDQsdC+0YLQutCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NgorIzogYnVpbHRpbi9ibGFtZS5jOjY3NwogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogItCY0LfQstC10LbQtNCw0L3QtSDQstGK0LIg0YTQvtGA0LzQsNGCINC30LAg0LrQvtC80LDQvdC00Lgg0L7RgiDQv9C+0YLRgNC10LHQuNGC0LXQu9GB0LrQviDQvdC40LLQviDRgSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQvdCwINCy0YHQtdC60LggIgogItGA0LXQtCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzgKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdGK0YnQuNGPINGE0L7RgNC80LDRgiDQutCw0YLQviDigJ5naXQtYW5ub3RhdGXigJwgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC+0L/RhtC40Y/RgtCwINC1ICIKICLQuNC30LrQu9GO0YfQtdC90LApIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4OAorIzogYnVpbHRpbi9ibGFtZS5jOjY3OQogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QtdGE0L7RgNC80LDRgtC40YDQsNC90Lgg0LLRgNC10LzQtdC90LAgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC+0L/RhtC40Y/RgtCwINC1INC40LfQutC70Y7Rh9C10L3QsCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg5CisjOiBidWlsdGluL2JsYW1lLmM6NjgwCiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9GK0LvQvdC40YLQtSDRgdGD0LzQuCDQv9C+IFNIQTEgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC+0L/RhtC40Y/RgtCwINC1INC40LfQutC70Y7Rh9C10L3QsCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkwCisjOiBidWlsdGluL2JsYW1lLmM6NjgxCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0JHQtdC3INC40LzQtSDQvdCwINCw0LLRgtC+0YAg0Lgg0LLRgNC10LzQtSDQvdCwINC/0YDQvtC80Y/QvdCwICjRgdGC0LDQvdC00LDRgNGC0L3QviDQvtC/0YbQuNGP0YLQsCDQtSDQuNC30LrQu9GO0YfQtdC90LApIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MQorIzogYnVpbHRpbi9ibGFtZS5jOjY4MgogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINC1LdC/0L7RidCw0YLQsCDQvdCwINCw0LLRgtC+0YDQsCwg0LAg0L3QtSDQuNC80LXRgtC+INC80YMgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC+0L/RhtC40Y/RgtCwINC1ICIKICLQuNC30LrQu9GO0YfQtdC90LApIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MgorIzogYnVpbHRpbi9ibGFtZS5jOjY4MwogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICLQkdC10Lcg0YDQsNC30LvQuNC60Lgg0LIg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70LgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk5Ci1tc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBpbmRlbnQtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCi1tc2dzdHIgItCf0L7QtNC+0LHRgNGP0LLQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQuNGC0LUg0YfRgNC10Lcg0LXQutGB0L/QtdGA0LjQvNC10L3RgtCw0LvQvdCwINC10LLRgNC40YHRgtC40LrQsCDRgdC/0L7RgNC10LQg0L7RgtGB0YLRitC/0LAiCisjOiBidWlsdGluL2JsYW1lLmM6NjkwCittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAi0J/QvtC00L7QsdGA0Y/QstCw0L3QtSDQvdCwINGA0LDQt9C70LjQutC40YLQtSDRh9GA0LXQtyDQtdC60YHQv9C10YDQuNC80LXQvdGC0LDQu9C90LAg0LXQstGA0LjRgdGC0LjQutCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwMAotbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAiIgotItCf0L7QtNC+0LHRgNGP0LLQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQuNGC0LUg0YfRgNC10Lcg0LXQutGB0L/QtdGA0LjQvNC10L3RgtCw0LvQvdCwINC10LLRgNC40YHRgtC40LrQsCDRgdC/0L7RgNC10LQg0L/RgNCw0LfQvdC40YLQtSAiCi0i0YDQtdC00L7QstC1IgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwMgorIzogYnVpbHRpbi9ibGFtZS5jOjY5MgogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAi0JTQvtC/0YrQu9C90LjRgtC10LvQvdC4INC40LfRh9C40YHQu9C10L3QuNGPINC30LAg0L/Qvi3QtNC+0LHRgNC4INGA0LXQt9GD0LvRgtCw0YLQuCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTMKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgItCY0LfRh9C40YLQsNC90LUg0L3QsCDQstC10YDRgdC40LjRgtC1INC+0YIg0KTQkNCZ0JssINCwINC90LUg0YfRgNC10Lcg0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5naXQtcmV2LWxpc3TigJwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CisjOiBidWlsdGluL2JsYW1lLmM6Njk0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDQpNCQ0JnQm9CwINC60LDRgtC+INC60YDQsNC50L3QviDQv9C+0LvQvtC20LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA1IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CisjOiBidWlsdGluL2JsYW1lLmM6Njk1IGJ1aWx0aW4vYmxhbWUuYzo2OTYKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAi0L3QsNC/0LDRgdCy0LDQvdC1INC90LAg0YDQtdC00L7QstC10YLQtSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTUKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICIiCiAi0KLRitGA0YHQtdC90LUg0L3QsCDQutC+0L/QuNGA0LDQvdC4INGA0LXQtNC+0LLQtSDQutCw0LrRgtC+INCyINGA0LDQvNC60LjRgtC1INC90LAg0LXQtNC40L0g0YTQsNC50LssINGC0LDQutCwINC4INC+0YIg0LXQtNC40L0g0YTQsNC50LsgIgogItC60YrQvCDQtNGA0YPQsyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTYKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICIiCiAi0KLRitGA0YHQtdC90LUg0L3QsCDQv9GA0LXQvNC10YHRgtC10L3QuCDRgNC10LTQvtCy0LUg0LrQsNC60YLQviDQsiDRgNCw0LzQutC40YLQtSDQvdCwINC10LTQuNC9INGE0LDQudC7LCDRgtCw0LrQsCDQuCDQvtGCINC10LTQuNC9ICIKICLRhNCw0LnQuyDQutGK0Lwg0LTRgNGD0LMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKICLQmNC90YTQvtGA0LzQsNGG0LjRjyDRgdCw0LzQviDQt9CwINGA0LXQtNC+0LLQtdGC0LUg0LIg0LTQuNCw0L/QsNC30L7QvdCwINC+0YIgbiDQtNC+IG0g0LLQutC70Y7Rh9C40YLQtdC70L3Qvi4gINCR0YDQvtC10L3QtdGC0L4gIgogItC30LDQv9C+0YfQstCwINC+0YIgMSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2NTQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3NDQKIG1zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgogbXNnc3RyICIiCiAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1wcm9ncmVzc+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeLS1pbmNyZW1lbnRhbOKAnCDQuCDRhNC+0YDQvNCwzIDRgtCwINC90LAg0LrQvtC80LDQvdC00LjRgtC1ICIKICLQvtGCINC/0L7RgtGA0LXQsdC40YLQtdC70YHQutC+INC90LjQstC+IgogCi0jLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZSBtYXhpbXVtCi0jLiBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbiAiZ2l0IGJsYW1lIgotIy4gb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIsIHdoaWNoCi0jLiB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0IGFtb25nIHZhcmlvdXMgZm9ybXMgb2YKLSMuIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dCB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IKLSMuIGZld2VyIGRpc3BsYXkgY29sdW1ucy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzAwCisjLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZQorIy4gbWF4aW11bSBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbgorIy4gImdpdCBibGFtZSIgb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEKKyMuIG1vbnRocyBhZ28iLCB3aGljaCB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0CisjLiBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dAorIy4geW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yIGZld2VyIGRpc3BsYXkKKyMuIGNvbHVtbnMuCisjLgorIzogYnVpbHRpbi9ibGFtZS5jOjc5NQogbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCiBtc2dzdHIgItC/0YDQtdC00LggNCDQs9C+0LTQuNC90Lgg0LggMTEg0LzQtdGB0LXRhtCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc4MAotbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCi1tc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tY29udGVudHPigJwg0Lgg4oCeLS1yZXZlcnNl4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgwMAotbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKLW1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1jb250ZW50c+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0LjQvNC1INC90LAg0L7QsdC10LrRgiDQvtGCINC60YDQsNC50L3QviDQv9C+0LTQsNCy0LDQvdC1IgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgwNQotbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKLW1zZ3N0ciAiIgotItCV0LTQvdC+0LLRgNC10LzQtdC90L3QvtGC0L4g0LfQsNC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40LjRgtC1IOKAni0tcmV2ZXJzZeKAnCDQuCDigJ4tLWZpcnN0LXBhcmVudOKAnCDQuNC30LjRgdC60LLQsCAiCi0i0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDQutGA0LDQudC90L4g0L/QvtC00LDQstCw0L3QtSIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MzIKLW1zZ2lkICIiCi0iLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgotbXNnc3RyICIiCi0i0JXQtNC90L7QstGA0LXQvNC10L3QvdC+0YLQviDQt9Cw0LTQsNCy0LDQvdC1INC90LAg0L7Qv9GG0LjQuNGC0LUg4oCeLS1yZXZlcnNl4oCcINC4IOKAni0tZmlyc3QtcGFyZW504oCcINC40LfQuNGB0LrQstCwICIKLSLRg9C60LDQt9Cy0LDQvdC10YLQviDQvdCwINC00LjQsNC/0LDQt9C+0L0g0L/QviDQstC10YDQuNCz0LDRgtCwINC90LAg0L/RitGA0LLQuNGC0LUg0L3QsNGB0LvQtdC00L3QuNGG0LgiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODQzCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKLW1zZ3N0ciAi0L3Rj9C80LAg0L/RitGCINC90LAg0LjQvNC1IOKAniVz4oCcINCyIOKAniVz4oCcIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg1NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgotbXNnc3RyICLQvtCx0LXQutGC0YrRgiBCTE9CIOKAniVz4oCcINCyINC/0YrRgtGPICVzINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg3MworIzogYnVpbHRpbi9ibGFtZS5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgogbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKIG1zZ3N0clswXSAi0LjQvNCwINGB0LDQvNC+ICUyJGx1INGA0LXQtCDQstGK0LIg0YTQsNC50LvQsCDigJ4lMSRz4oCcIgogbXNnc3RyWzFdICLQuNC80LAg0YHQsNC80L4gJTIkbHUg0YDQtdC00LAg0LLRitCyINGE0LDQudC70LAg4oCeJTEkc+KAnCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNgorIzogYnVpbHRpbi9ibGFtZS5jOjkyOAorbXNnaWQgIkJsYW1pbmcgbGluZXMiCittc2dzdHIgItCQ0L3QvtGC0LjRgNCw0L3QuCDRgNC10LTQvtCy0LUiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiBtc2dzdHIgImdpdCBicmFuY2ggW9Ce0J/QptCY0K/igKZdIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstbF0gWy1mXSA8YnJhbmNoLW5hbWU+IFs8c3RhcnQtcG9pbnQ+XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBb0J7Qn9Cm0JjQr+KApl0gWy1sXSBbLWZdINCY0JzQlV/QndCQX9Ca0JvQntCdIFvQndCQ0KfQkNCb0J5dIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI4CisjOiBidWlsdGluL2JyYW5jaC5jOjI5CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXJdICgtZCB8IC1EKSA8YnJhbmNoLW5hbWU+Li4uIgogbXNnc3RyICJnaXQgYnJhbmNoIFvQntCf0KbQmNCv4oCmXSBbLXJdICgtZCB8IC1EKSDQmNCc0JVf0J3QkF/QmtCb0J7QneKApiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyOQorIzogYnVpbHRpbi9icmFuY2guYzozMAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBb0J7Qn9Cm0JjQr+KApl0gKC1tIHwgLU0pIFvQodCi0JDQoF/QmtCb0J7QnV0g0J3QntCSX9Ca0JvQntCdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMxCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBb0J7Qn9Cm0JjQr+KApl0gWy1yIHwgLWFdIFstLXBvaW50cy1hdF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjMyCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBb0J7Qn9Cm0JjQr+KApl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgogIiAgICAgICAgICclcycsIGJ1dCBub3QgeWV0IG1lcmdlZCB0byBIRUFELiIKIG1zZ3N0ciAiIgogItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC90LAg4oCeJXPigJwsINC60L7QudGC0L4g0LUg0YHQu9GP0YIg0LrRitC8IOKAniVz4oCcLFxuIgotIiAgICAgICAgINC90L4g0L7RidC1INC90LUg0LUg0YHQu9GP0YIg0LrRitC8INCy0YrRgNGF0LAg4oCeSEVBROKAnC4iCisiICAgINC90L4g0L7RidC1INC90LUg0LUg0YHQu9GP0YIg0LrRitC8INCy0YrRgNGF0LAg4oCeSEVBROKAnC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ3CisjOiBidWlsdGluL2JyYW5jaC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKICIgICAgICAgICAnJXMnLCBldmVuIHRob3VnaCBpdCBpcyBtZXJnZWQgdG8gSEVBRC4iCiBtc2dzdHIgIiIKICLQvtGC0LrQsNC30LLQsNC90LUg0L3QsCDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDQutC70L7QvdCwIOKAniVz4oCcLCDQutC+0LnRgtC+INC90LUg0LUg0YHQu9GP0YIg0LrRitC8XG4iCi0iICAgICAgICAg4oCeJXPigJwsINC90L4g0LUg0YHQu9GP0YIg0LrRitC8INCy0YrRgNGF0LAg4oCeSEVBROKAnC4iCisiICAgIOKAniVz4oCcLCDQvdC+INC1INGB0LvRj9GCINC60YrQvCDQstGK0YDRhdCwIOKAnkhFQUTigJwuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MQorIzogYnVpbHRpbi9icmFuY2guYzoxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgogbXNnc3RyICLQntCx0LXQutGC0YrRgi3Qv9C+0LTQsNCy0LDQvdC1INC30LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgYnJhbmNoICclcycgaXMgbm90IGZ1bGx5IG1lcmdlZC5cbiIKQEAgLTQ5ODEsMTY0ICs1NjI5LDkyIEBACiAi0JrQu9C+0L3RitGCIOKAniVz4oCcINC90LUg0LUg0YHQu9GP0YIg0L3QsNC/0YrQu9C90L4uICDQkNC60L4g0YHRgtC1INGB0LjQs9GD0YDQvdC4LCDRh9C1INC40YHQutCw0YLQtVxuIgogItC00LAg0LPQviDQuNC30YLRgNC40LXRgtC1LCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IGJyYW5jaCAtRCAlc+KAnC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTc4CisjOiBidWlsdGluL2JyYW5jaC5jOjE4MAogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QuNGPINGE0LDQudC7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwNgorIzogYnVpbHRpbi9icmFuY2guYzoyMTEKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni1h4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQvtC/0YbQuNGP0YLQsCDigJ4tZOKAnCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE3CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgogbXNnc3RyICLQntCx0LXQutGC0YrRgi3Qv9C+0LTQsNCy0LDQvdC1LCDRgdC+0YfQtdC9INC+0YIg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwsINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZGVsZXRlIGJyYW5jaCAnJXMnIGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgItCd0LUg0LzQvtC20LXRgtC1INC00LAg0LjQt9GC0YDQuNC10YLQtSDQutC70L7QvdCwIOKAniVz4oCcLCDQutC+0LnRgtC+INC1INC40LfRgtC10LPQu9C10L0g0LIg0L/RitGC0Y8g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQxCisjOiBidWlsdGluL2JyYW5jaC5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAi0YHQu9C10LTRj9GJ0LjRj9GCINC60LvQvtC9IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YIuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MgorIzogYnVpbHRpbi9icmFuY2guYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAi0LrQu9C+0L3RitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YIuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1NworIzogYnVpbHRpbi9icmFuY2guYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC40LfRgtGA0LjQstCw0L3QtdGC0L4g0L3QsCDRgdC70LXQtNGP0YnQuNGPINC60LvQvtC9IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1OAorIzogYnVpbHRpbi9icmFuY2guYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9GC0YDQuNCy0LDQvdC10YLQviDQvdCwINC60LvQvtC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgItCY0LfRgtGA0LjRgiDRgdC70LXQtNGP0Ykg0LrQu9C+0L0g4oCeJXPigJwgKNGC0L7QuSDRgdC+0YfQtdGI0LUg0LrRitC8IOKAniVz4oCcKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICLQmNC30YLRgNC40YIg0LrQu9C+0L0g4oCeJXPigJwgKNGC0L7QuSDRgdC+0YfQtdGI0LUg0LrRitC8IOKAniVz4oCcKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBnb25lXSIKLW1zZ3N0ciAiWyVzOiDQuNC30YLRgNC40YJdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXNdIgotbXNnc3RyICJbJXNdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCi1tc2dzdHIgIlslczog0L3QsNC30LDQtCDRgSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIltiZWhpbmQgJWRdIgotbXNnc3RyICJb0L3QsNC30LDQtCDRgSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWRdIgotbXNnc3RyICJbJXM6INC90LDQv9GA0LXQtCDRgSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMwCi0jLCBjLWZvcm1hdAotbXNnaWQgIlthaGVhZCAlZF0iCi1tc2dzdHIgIlvQvdCw0L/RgNC10LQg0YEgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgotbXNnc3RyICJbJXM6INC90LDQv9GA0LXQtCDRgSAlZCwg0L3QsNC30LDQtCDRgSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiW9C90LDQv9GA0LXQtCDRgSAlZCwg0L3QsNC30LDQtCDRgSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ5Ci1tc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKLW1zZ3N0ciAiIOKXj+KXj+KXjyDQvdC10L/RgNCw0LLQuNC70LXQvSDRg9C60LDQt9Cw0YLQtdC7IOKXj+KXj+KXjyIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICIo0LjQt9Cy0YrQvSDQutC70L7QvSwg0L/RgNC10LHQsNC30LjRgNCw0L3QtSDQvdCwIOKAniVz4oCcKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgotbXNnc3RyICIo0LjQt9Cy0YrQvSDQutC70L7QvSwg0LTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LUg0L7RgiDigJ4lc+KAnCkiCi0KLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCi0jLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4NAotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCi1tc2dzdHIgIijQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LUg0YHQstGK0YDQt9Cw0L0g0Lgg0LUg0L/RgNC4IOKAniVz4oCcKSIKLQotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKLSMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCi1tc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3QtSDQtSDRgdCy0YrRgNC30LDQvSDQuCDQtSDQvtGC0LTQtdC70LXMgNC9INC+0YIg4oCeJXPigJwiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkzCi1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIijQuNC30LLRitC9INC60LvQvtC9KSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1NDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0YHQtSDQv9GA0LXQsdCw0LfQuNGA0LAg0LLRitGA0YXRgyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAi0KLRitGA0YHQuCDRgdC1INC00LLQvtC40YfQvdC+INCyINC60LvQvtC90LAg4oCeJXPigJwg0L/RgNC4IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU2MworIzogYnVpbHRpbi9icmFuY2guYzo0NjQKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiIgogItC90LUg0LzQvtC20LXRgtC1INC00LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDRgtC1INGC0LXQutGD0YnQuNGPINC60LvQvtC9LCDQt9Cw0YnQvtGC0L4g0YHRgtC1INC40LfQstGK0L0g0LrQvtC50YLQviDQuCDQtNCwINC1INC60LvQvtC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU3MworIzogYnVpbHRpbi9icmFuY2guYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0LrQu9C+0L06IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5MAorIzogYnVpbHRpbi9icmFuY2guYzo0OTEKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwINC60LvQvtC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NAorIzogYnVpbHRpbi9icmFuY2guYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgItCd0LAg0LrQu9C+0L3QsCDRgSDQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg4oCeJXPigJwg0LUg0LTQsNC00LXQvdC+INGB0LvRg9C20LXQsdC90L4g0LjQvNC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NworIzogYnVpbHRpbi9icmFuY2guYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAi0JrQu9C+0L3RitGCINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCwg0L3QviDRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LUg0L7QsdC90L7QstC10L0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA0CisjOiBidWlsdGluL2JyYW5jaC5jOjUwNgogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAi0JrQu9C+0L3RitGCINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0sINC90L4g0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC40Y/RgiDRhNCw0LnQuyDQvdC1INC1INC+0LHQvdC+0LLQtdC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMAorIzogYnVpbHRpbi9icmFuY2guYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgpAQCAtNTE0OSwxNjYgKzU3MjUsMTc5IEBACiAiICAlc1xuIgogItCg0LXQtNC+0LLQtdGC0LUsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRgiDRgSDigJ4lY+KAnCwg0YnQtSDQsdGK0LTQsNGCINC/0YDQvtC/0YPRgdC90LDRgtC4LlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9icmFuY2guYzo1NTUKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgItCe0LHRidC4INC90LDRgdGC0YDQvtC50LrQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU3CiBtc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRhdC10YjQsCDQuCDRgtC10LzQsNGC0LAuICDQn9C+0LLRgtCw0YDRj9C90LXRgtC+INC90LAg0L7Qv9GG0LjRj9GC0LAg0L/RgNC40LHQsNCy0Y8g0L7RgtC00LDQu9C10YfQtdC90LjRgtC1ICIKICLQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9icmFuY2guYzo1NTgKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICLQsdC10Lcg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90Lgg0YHRitC+0LHRidC10L3QuNGPIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NQorIzogYnVpbHRpbi9icmFuY2guYzo1NTkKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINGA0LXQttC40LzQsCDQvdCwINGB0LvQtdC00LXQvdC1ICjQstC40LYgZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NworIzogYnVpbHRpbi9icmFuY2guYzo1NjEKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAi0YHQvNGP0L3QsCDQvdCwINGB0LvQtdC00LXQvdC40Y8g0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICLQutC70L7QvS3QuNC30YLQvtGH0L3QuNC6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgItGB0LzRj9C90LAg0L3QsCDQutC70L7QvdCwLdC40LfRgtC+0YfQvdC40LoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NAogbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLQsdC10Lcg0LrQu9C+0L0t0LjQt9GC0L7Rh9C90LjQuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY1CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICLRhtCy0LXRgtC10L0g0LjQt9GF0L7QtCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtSDQstGK0YDRhdGDINGB0LvQtdC00Y/RidC40YLQtSDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NCBidWlsdGluL2JyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9icmFuY2guYzo1NjggYnVpbHRpbi9icmFuY2guYzo1NzAKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQutC70L7QvdC40YLQtSwg0LrQvtC40YLQviDRgdGK0LTRitGA0LbQsNGCINGC0L7QstCwINCf0J7QlNCQ0JLQkNCd0JUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OSBidWlsdGluL2JyYW5jaC5jOjU3MQorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC60LvQvtC90LjRgtC1LCDQutC+0LjRgtC+INC90LUg0YHRitC00YrRgNC20LDRgiDRgtC+0LLQsCDQn9Ce0JTQkNCS0JDQndCVIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU3NAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgItCh0L/QtdGG0LjQsNC70L3QuCDQtNC10LnRgdGC0LLQuNGPINC90LAg4oCeZ2l0LWJyYW5jaOKAnDoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjU3NQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0LrQsNC60YLQviDQvdCwINGB0LvQtdC00Y/RidC40YLQtSwg0YLQsNC60LAg0Lgg0L3QsCDQu9C+0LrQsNC70L3QuNGC0LUg0LrQu9C+0L3QuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc3CiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC90LgsINC60L7QuNGC0L4g0YHQsCDQvdCw0L/RitC70L3QviDRgdC70LXRgtC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9icmFuY2guYzo1NzgKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0Lgg0L3QsCDQutC70L7QvdC4LCDQutC+0LjRgtC+INC90LUg0YHQsCDQvdCw0L/RitC70L3QviDRgdC70LXRgtC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MworIzogYnVpbHRpbi9icmFuY2guYzo1NzkKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiIgogItC/0YDQtdC80LXRgdGC0LLQsNC90LUv0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg0LrQu9C+0L0g0Lgg0L/RgNC40L3QsNC00LvQtdC20LDRidC40Y/RgiDQvNGDINC20YPRgNC90LDQuyDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc0CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MAogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgItC/0YDQtdC80LXRgdGC0LLQsNC90LUv0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg0LrQu9C+0L0sINC00L7RgNC4INCw0LrQviDQuNC80LAg0LLQtdGH0LUg0LrQu9C+0L0g0YEg0YLQsNC60L7QstCwINC40LzQtSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgxCiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40LzQtdC90LDRgtCwINC90LAg0LrQu9C+0L3QuNGC0LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc2CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MgogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQttGD0YDQvdCw0LvQsCDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L3QsCDQutC70L7QvdCwIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3OAorIzogYnVpbHRpbi9icmFuY2guYzo1ODQKIG1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKIG1zZ3N0ciAi0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC+0L/QuNGB0LDQvdC40LXRgtC+INC90LAg0LrQu9C+0L3QsCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INGB0YrQt9C00LDQstCw0L3QtSwg0L/RgNC10LzQtdGB0YLQstCw0L3QtSwg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1LCDQuNC30YLRgNC40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgwCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NgogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDRgdC70LXRgtC40YLQtSDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MQorIzogYnVpbHRpbi9icmFuY2guYzo1ODcKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC90LXRgdC70LXRgtC40YLQtSDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MgorIzogYnVpbHRpbi9icmFuY2guYzo1ODgKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQv9C+INC60L7Qu9C+0L3QuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODMgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjM2NgorIzogYnVpbHRpbi9icmFuY2guYzo1ODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgImtleSIKIG1zZ3N0ciAi0JrQm9Cu0KciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg0IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzozNjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgItC40LzQtSDQvdCwINC/0L7Qu9C10YLQviwg0L/QviDQutC+0LXRgtC+INC00LAg0LUg0L/QvtC00YDQtdC00LHQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9ub3Rlcy5jOjQwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNyBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vbm90ZXMuYzo1NzAKLSM6IGJ1aWx0aW4vdGFnLmM6MzY5CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyIGJ1aWx0aW4vbm90ZXMuYzo0MDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3MCBidWlsdGluL25vdGVzLmM6NTczCisjOiBidWlsdGluL3RhZy5jOjQzMAogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAi0J7QkdCV0JrQoiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQutC70L7QvdC40YLQtSDQvdCwINCe0JHQldCa0KLQkCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk1IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0MzUKK21zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCittc2dzdHIgItC/0L7QtNGA0LXQtNCx0LDRgtCwINC4INGE0LjQu9GC0YDQuNGA0LDQvdC10YLQviDRgtGA0LXRgtC40YDQsNGCINC10LTQvdCw0LrQstC+INC80LDQu9C60LjRgtC1INC4INCz0LvQsNCy0L3QuNGC0LUg0LHRg9C60LLQuCIKKworIzogYnVpbHRpbi9icmFuY2guYzo1OTYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQzNAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKK21zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgorbXNnc3RyICLQpNCe0KDQnNCQ0KIg0LfQsCDQuNC30YXQvtC00LAiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE1CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSDQutGK0Lwg0LrQsNC60LLQviDRgdC+0YfQuCDRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA2CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOSBidWlsdGluL2Nsb25lLmM6NzI4CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgItCSINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ5yZWZzL2hlYWRz4oCcINC70LjQv9GB0LLQsCDRhNCw0LnQuyDigJ5IRUFE4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyOQorIzogYnVpbHRpbi9icmFuY2guYzo2NDIKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tY29sdW1u4oCcINC4IOKAni0tdmVyYm9zZeKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NDAgYnVpbHRpbi9icmFuY2guYzo3ODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzIGJ1aWx0aW4vYnJhbmNoLmM6NzA1CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgItCd0LXQvtCx0YXQvtC00LjQvNC+INC1INC40LzQtSDQvdCwINC60LvQvtC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc1OAorIzogYnVpbHRpbi9icmFuY2guYzo2ODEKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0LfQsNC00LDQtNC10YLQtSDQvtC/0LjRgdCw0L3QuNC1INC90LAg0L3QtdGB0LLRitGA0LfQsNC9IOKAnkhFQUTigJwiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCisjOiBidWlsdGluL2JyYW5jaC5jOjY4NgogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YDQtdC00LDQutGC0LjRgNCw0YLQtSDQvtC/0LjRgdCw0L3QuNC10YLQviDQvdCwINC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9INC60LvQvtC9INC10LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICLQkiDQutC70L7QvdCwIOKAniVz4oCcINCy0YHQtSDQvtGJ0LUg0L3Rj9C80LAg0L/QvtC00LDQstCw0L3QuNGPLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAi0JvQuNC/0YHQstCwINC60LvQvtC9INC90LAg0LjQvNC1IOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAi0J/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0LrQu9C+0L3QuCDQt9CwINC/0YDQtdC40LzQtdC90YPQstCw0L3QtSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE2CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gc2V0IG5ldyB1cHN0cmVhbSIKIG1zZ3N0ciAi0JfQsNC00LDQtNC10L3QuCDRgdCwINC/0YDQtdC60LDQu9C10L3QviDQvNC90L7Qs9C+INC60LvQvtC90Lgg0LfQsCDRgdC70LXQtNC10L3QtSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKQEAgLTUzMTYsMzkgKzU5MDUsMzkgQEAKICLQodC70LXQtNC10L3QvtGC0L4g0L7RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQtNCw0LTQtSDQtNCwINC1IOKAniVz4oCcLCDQt9Cw0YnQvtGC0L4g0YLQviDQvdC1INGB0L7Rh9C4INC60YrQvCAiCiAi0L3QuNC60L7QuSDQutC70L7QvS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAwIGJ1aWx0aW4vYnJhbmNoLmM6ODIyIGJ1aWx0aW4vYnJhbmNoLmM6ODQzCisjOiBidWlsdGluL2JyYW5jaC5jOjcyMyBidWlsdGluL2JyYW5jaC5jOjc0NSBidWlsdGluL2JyYW5jaC5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQndGP0LzQsCDQutC70L7QvSDQvdCwINC40LzQtSDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA0CisjOiBidWlsdGluL2JyYW5jaC5jOjcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0J3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQutC70L7QvSDQvdCwINC40LzQtSDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE2CisjOiBidWlsdGluL2JyYW5jaC5jOjczOQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICLQn9GA0LXQutCw0LvQtdC90L4g0LzQvdC+0LPQviDQutC70L7QvdC4INC30LAg0LzQsNGF0LDQvdC1INC90LAg0YHQu9C10LTQtdC90LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIwCisjOiBidWlsdGluL2JyYW5jaC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICLQodC70LXQtNC10L3QvtGC0L4g0L7RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQvNCw0YXQvdC1LCDQt9Cw0YnQvtGC0L4g0YLQviDQvdC1INGB0L7Rh9C4INC60YrQvCDQvdC40LrQvtC5INC60LvQvtC9LiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0J3Rj9C80LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LrQu9C+0L3RitGCIOKAniVz4oCcINC00LAg0YHQu9C10LTQuCDQvdGP0LrQvtC5INC00YDRg9CzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0MAorIzogYnVpbHRpbi9icmFuY2guYzo3NjMKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgItCd0Y/QvNCwINC90LjQutCw0LrRitCyINGB0LzQuNGB0YrQuyDRgNGK0YfQvdC+INC00LAg0YHRitC30LTQsNCy0LDRgtC1IOKAnkhFQUTigJwuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0NgorIzogYnVpbHRpbi9icmFuY2guYzo3NjkKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tYeKAnCDQuCDigJ4tcuKAnCDQvdCwIOKAnmdpdCBicmFuY2jigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0YEg0LjQvNC1INC90LAg0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ5CisjOiBidWlsdGluL2JyYW5jaC5jOjc3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC0tc2V0LXVwc3RyZWFtIGZsYWcgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBDb25zaWRlciB1c2luZyAtLSIKQEAgLTUzNTcsNyArNTk0Niw3IEBACiAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1zZXQtdXBzdHJlYW3igJwg0LLQtdGH0LUg0LUg0L7RgdGC0LDRgNGP0LvQsCDQuCDQv9GA0LXQtNGB0YLQvtC4INC00LAg0LHRitC00LUg0LzQsNGF0L3QsNGC0LAuICAiCiAi0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ4tLXRyYWNr4oCcINC40LvQuCDigJ4tLXNldC11cHN0cmVhbS10b+KAnFxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg2NgorIzogYnVpbHRpbi9icmFuY2guYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTM2OCwyMCArNTk1NywyMCBAQAogItCX0LAg0LTQsCDQvdCw0LrQsNGA0LDRgtC1IOKAniVz4oCcINC00LAg0YHQu9C10LTQuCDigJ4lc+KAnCwg0LjQt9C/0YrQu9C90LXRgtC1INGB0LvQtdC00L3QsNGC0LAg0LrQvtC80LDQvdC00LA6XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NTEKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgb2theVxuIgogbXNnc3RyICLQn9GA0LDRgtC60LDRgtCwIOKAniVz4oCcINC1INC90LDRgNC10LRcbiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2NAorIzogYnVpbHRpbi9idW5kbGUuYzo1OAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCiBtc2dzdHIgItCX0LAg0YHRitC30LTQsNCy0LDQvdC10YLQviDQvdCwINC/0YDQsNGC0LrQsCDQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRhdGA0LDQvdC40LvQuNGJ0LUuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjY4CisjOiBidWlsdGluL2J1bmRsZS5jOjYyCiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICLQl9CwINC/0YDQuNC10LzQsNC90LXRgtC+INC90LAg0L/RgNCw0YLQutCwINC1INC90LXQvtCx0YXQvtC00LjQvNC+INGF0YDQsNC90LjQu9C40YnQtS4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTkKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKICJwIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGF0aD5dIDxvYmplY3Q+IgpAQCAtNTM4OSw3ICs1OTc4LDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCDQktCY0JQgfCAtLXRleHRjb252IC0tZmlsdGVycykgWy0tcGF0aD3Qn9Cq0KJdINCe0JHQldCa0KIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MjAKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtNTM5NywzMTAgKzU5ODYsMzEwIEBACiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU3CiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICIiCiAi0JLQmNCU0YrRgiDQvNC+0LbQtSDQtNCwINC1OiDigJ5ibG9i4oCcICjQvtCx0LXQutGCIEJMT0IpLCDigJ50cmVl4oCcICjQtNGK0YDQstC+KSwg4oCeY29tbWl04oCcICjQv9C+0LTQsNCy0LDQvdC1KSwgIgogIuKAnnRhZ+KAnCAo0LXRgtC40LrQtdGCKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OAogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCy0LjQtNCwINC90LAg0L7QsdC10LrRgiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OQogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9C80LXRgNCwINC90LAg0L7QsdC10LrRgiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAi0LjQt9GF0L7QtCDRgSAwLCDQutC+0LPQsNGC0L4g0L3Rj9C80LAg0LPRgNC10YjQutCwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYyCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgItGE0L7RgNC80LDRgtC40YDQsNC90L4g0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0L7QsdC10LrRgtCwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY0CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIiIKICLQtNCwINGB0LUg0YHRgtCw0YDRgtC40YDQsCDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDQt9Cw0LTQsNC00LXQvdCwINCyINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCedGV4dGNvbnbigJwg0LfQsCDQv9GA0LXQvtCx0YDQsNC30YPQstCw0L3QtSAiCiAi0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDQvtCx0LXQutGC0LAgQkxPQiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NgogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIiIKICLQtNCwINGB0LUg0YHRgtCw0YDRgtC40YDQsNGCINC/0YDQvtCz0YDQsNC80LjRgtC1INC30LAg0L/RgNC10L7QsdGA0LDQt9GD0LLQsNC90LUg0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDQvtCx0LXQutGC0LjRgtC1IEJMT0IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjEgZ2l0LXN1Ym1vZHVsZS5zaDo5MjMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjcgZ2l0LXN1Ym1vZHVsZS5zaDo5NDQKIG1zZ2lkICJibG9iIgogbXNnc3RyICLQvtCx0LXQutGCIEJMT0IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjgKIG1zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS10ZXh0Y29uduKAnC/igJ4tLWZpbHRlcnPigJwg0LjQt9C40YHQutCy0LDRgiDQv9GK0YIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQvtC/0YbQuNC40YLQtSDigJ4tc+KAnCDQuCDigJ4tdOKAnCDQtNCwINGA0LDQsdC+0YLRj9GCINGBINC/0L7QstGA0LXQtNC10L3QuCDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzEKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgItCx0YPRhNC10YDQuNGA0LDQvdC1INC90LAg0LjQt9GF0L7QtNCwINC+0YIg4oCeLS1iYXRjaOKAnCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC4INGB0YrQtNGK0YDQttCw0L3QuNC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQv9C+0LTQsNC00LXQvdC4INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NgogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQvtCx0LXQutGC0LjRgtC1INC/0L7QtNCw0LTQtdC90Lgg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc5CiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAi0YHQu9C10LTQstCw0L3QtSDQvdCwINGB0LjQvNCy0L7Qu9C90LjRgtC1INCy0YDRitC30LrQuCDRgdC+0YfQtdGJ0Lgg0LIg0LTRitGA0LLQvtGC0L4gKNC/0L7Qu9C30LLQsCDRgdC1INGBIOKAni0tYmF0Y2jigJwg0LjQu9C4IOKAni0tIgogImJhdGNoLWNoZWNr4oCcKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4MQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDQvtCx0LXQutGC0Lgg0YEg4oCeLS1iYXRjaOKAnCDQuNC70Lgg4oCeLS1iYXRjaC1jaGVja+KAnCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCDQkNCi0KDQmNCR0KPQouKApl0gWy0tXSDQn9Cq0KLigKYiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8INCQ0KLQoNCY0JHQo9Ci4oCmXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTkKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0LDRgtGA0LjQsdGD0YLQuCwg0LfQsNC00LDQtNC10L3QuCDQstGK0YDRhdGDINGE0LDQudC7IgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKIG1zZ2lkICJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRhNCw0LnQu9CwIOKAni5naXRhdHRyaWJ1dGVz4oCcINGB0LDQvNC+INC+0YIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0LjQvNC10L3QsNGC0LAg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgItGA0LDQt9C00LXQu9GP0L3QtSDQvdCwINCy0YXQvtC00L3QuNGC0LUg0Lgg0LjQt9GF0L7QtNC90LjRgtC1INC30LDQv9C40YHQuCDRgSDQvdGD0LvQtdCy0LjRjyDQt9C90LDQuiDigJ5OVUzigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzcgYnVpbHRpbi9nYy5jOjMyNQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2djLmM6MzU3CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLQsdC10Lcg0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0L3QsNC/0YDQtdC00YrQutCwIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LXRgdGK0LLQv9Cw0LTQsNGJ0LjRgtC1INC/0YrRgtC40YnQsCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMAogbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgogbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwINC/0YDQuCDQv9GA0L7QstC10YDQutCw0YLQsCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU4CiBtc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1zdGRpbuKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0LjQvNC10L3QsCDQvdCwINC/0YrRgtC40YnQsCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxCiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni164oCcINC40LfQuNGB0LrQstCwIOKAni0tc3RkaW7igJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MwogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICLQvdC1INC1INC30LDQtNCw0LTQtdC9INC/0YrRgiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY3CiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tcXVpZXTigJwg0LjQt9C40YHQutCy0LAg0LTQsCDQtSDQv9C+0LTQsNC00LXQvSDRgtC+0YfQvdC+INC10LTQuNC9INC/0YrRgiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tcXVpZXTigJwg0Lgg4oCeLS12ZXJib3Nl4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLW5vbi1tYXRjaGluZ+KAnCDQuNC30LjRgdC60LLQsCDigJ4tLXZlcmJvc2XigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjgKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjkKIG1zZ2lkICJnaXQgY2hlY2stbWFpbG1hcCBbPG9wdGlvbnM+XSA8Y29udGFjdD4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1tYWlsbWFwIFvQntCf0KbQmNCv4oCmXSDQmtCe0J3QotCQ0JrQouKApiIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MTMKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjE0CiBtc2dpZCAiYWxzbyByZWFkIGNvbnRhY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgItGH0LXRgtC10L3QtSDQvdCwINC60L7QvdGC0LDQutGC0Lgg0Lgg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNAorIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbnRhY3Q6ICVzIgogbXNnc3RyICLQutC+0L3RgtCw0LrRgtGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INCw0L3QsNC70LjQt9C40YDQsNC9OiAlcyIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDcKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjQ4CiBtc2dpZCAibm8gY29udGFjdHMgc3BlY2lmaWVkIgogbXNnc3RyICLQvdC1INGB0LAg0YPQutCw0LfQsNC90Lgg0LrQvtC90YLQsNC60YLQuCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyNworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggW9Ce0J/QptCY0K/igKZdIFstLV0gW9Ck0JDQmdCb4oCmXSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NQogbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgogbXNnc3RyICLQtdGC0LDQv9GK0YIg0YLRgNGP0LHQstCwINC00LAg0LUg4oCeMeKAnCwg4oCeMuKAnCwg4oCeM+KAnCDQuNC70Lgg4oCeYWxs4oCcICjQstGB0LjRh9C60LgpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYwCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCiBtc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgItC40LfRgtC10LPQu9GP0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDRhNCw0LnQu9C+0LLQtSDQsiDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBleGlzdGluZyBmaWxlcyIKIG1zZ3N0ciAi0L/RgNC10LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1LCDQtNC+0YDQuCDQuCDQtNCwINGB0YrRidC10YHRgtCy0YPQstCw0YIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjQKIG1zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgogbXNnc3RyICLQsdC10Lcg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjRjyDQv9GA0Lgg0LvQuNC/0YHQstCw0YnQuCDRhNCw0LnQu9C+0LLQtSDQuCDRhNCw0LnQu9C+0LLQtSDQvdC1INCyINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY2CiBtc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgogbXNnc3RyICLQsdC10Lcg0LjQt9GC0LXQs9C70Y/QvdC1INC90LAg0L3QvtCy0Lgg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjgKIG1zZ2lkICJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0L/QvtC70YPRh9C10L3QsCDRh9GA0LXQtyDigJ5zdGF04oCcINC30LAg0YTQsNC50LvQvtCy0LXRgtC1INCyINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcyCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0L/RitGC0LjRidCw0YLQsCDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQKIG1zZ2lkICJ3cml0ZSB0aGUgY29udGVudCB0byB0ZW1wb3JhcnkgZmlsZXMiCiBtc2dzdHIgItC30LDQv9C40YHQstCw0L3QtSDQvdCwINGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQstGK0LIg0LLRgNC10LzQtdC90L3QuCDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NCBidWlsdGluL2NvbHVtbi5jOjMwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2OQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NSBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3OAogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAi0J3QmNCXIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc2CiBtc2dpZCAid2hlbiBjcmVhdGluZyBmaWxlcywgcHJlcGVuZCA8c3RyaW5nPiIKIG1zZ3N0ciAi0L/RgNC4INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQvdC+0LLQuCDRhNCw0LnQu9C+0LLQtSDQtNCwINGB0LUg0LTQvtCx0LDQstGPINC/0YDQtdGE0LjQutGB0LAg0J3QmNCXIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc4CiBtc2dpZCAiY29weSBvdXQgdGhlIGZpbGVzIGZyb20gbmFtZWQgc3RhZ2UiCiBtc2dzdHIgItC60L7Qv9C40YDQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUg0L7RgiDRgtC+0LLQsCDRgdGK0YHRgtC+0Y/QvdC40LUg0L3QsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gPGJyYW5jaD4iCiBtc2dzdHIgImdpdCBjaGVja291dCBb0J7Qn9Cm0JjQr+KApl0g0JrQm9Ce0J0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjI3CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgW9Ce0J/QptCY0K/igKZdIFvQmtCb0J7QnV0gLS0g0KTQkNCZ0JvigKYiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQgYnVpbHRpbi9jaGVja291dC5jOjE2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNSBidWlsdGluL2NoZWNrb3V0LmM6MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICLQstCw0YjQsNGC0LAg0LLQtdGA0YHQuNGPINC70LjQv9GB0LLQsCDQsiDQv9GK0YLRjyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAi0YfRg9C20LTQsNGC0LAg0LLQtdGA0YHQuNGPINC70LjQv9GB0LLQsCDQsiDQv9GK0YLRjyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLQvdGP0LrQvtGPINC+0YIg0L3QtdC+0LHRhdC+0LTQuNC80LjRgtC1INCy0LXRgNGB0LjQuCDQu9C40L/RgdCy0LAg0LIg0L/RitGC0Y8g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLQvdGP0LrQvtGPINC+0YIg0L3QtdC+0LHRhdC+0LTQuNC80LjRgtC1INCy0LXRgNGB0LjQuCDQu9C40L/RgdCy0LAg0LIg0L/RitGC0Y8g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgItC/0YrRgtGP0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0LvRj9C9IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICLQoNC10LfRg9C70YLQsNGC0YrRgiDQt9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdC70Y/QvSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1MCBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjI1NiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINC+0LHQvdC+0LLRj9Cy0LDQvdC10YLQviDQvdCwINC/0YrRgtC40YnQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICIiCiAi0J3QtdCy0YrQt9C80L7QttC90L4g0LUg0LXQtNC90L7QstGA0LXQvNC10L3QvdC+INC00LAg0L7QsdC90L7QstGP0LLQsNGC0LUg0L/RitGC0LjRidCwINC4INC00LAg0L/RgNC10LzQuNC90LXRgtC1INC60YrQvCDQutC70L7QvdCwIOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjMzOSBidWlsdGluL2NoZWNrb3V0LmM6MzQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzQyIGJ1aWx0aW4vY2hlY2tvdXQuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICLQv9GK0YLRj9GCIOKAniVz4oCcINC90LUg0LUg0YHQu9GP0YIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTcKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAi0L/RitGA0LLQviDRgtGA0Y/QsdCy0LAg0LTQsCDQutC+0YDQuNCz0LjRgNCw0YLQtSDQuNC90LTQtdC60YHQsCDRgdC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjI0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICLQltGD0YDQvdCw0LvRitGCINC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSDQt9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtGB0LvQtdC00Lg6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjkKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQsiDQvNC+0LzQtdC90YLQsCDRgdC+0YfQuCDQutGK0LwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjcgYnVpbHRpbi9jbG9uZS5jOjY2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY3MyBidWlsdGluL2Nsb25lLmM6NjgyCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLQl9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINC60LvQvtC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NAorIzogYnVpbHRpbi9jaGVja291dC5jOjY4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAi0JLQtdGH0LUg0YHRgtC1INC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3OAorIzogYnVpbHRpbi9jaGVja291dC5jOjY4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi0J/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg0LrQu9C+0L3QsCDigJ4lc+KAnCDQuCDQt9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgItCf0YDQtdC80LjQvdCw0YXRgtC1INC60YrQvCDQvdC+0LLQuNGPINC60LvQvtC9IOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi0J/RgNC10LzQuNC90LDRhdGC0LUg0LrRitC8INC60LvQvtC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczMworIzogYnVpbHRpbi9jaGVja291dC5jOjczOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICLigKYg0Lgg0L7RidC1ICVkLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNTcyMiw3ICs2MzExLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTU3NDksMTY4ICs2MzM4LDE2NCBAQAogIiBnaXQgYnJhbmNoINCY0JzQlV/QndCQX9Cd0J7QktCY0K9f0JrQm9Ce0J0gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjgwMAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgItCy0YrRgtGA0LXRiNC90LAg0LPRgNC10YjQutCwINC/0YDQuCDQvtCx0YXQvtC20LTQsNC90LXRgtC+INC90LAg0LLQtdGA0YHQuNC40YLQtSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjgwNAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICLQn9GA0LXQtNC4INGC0L7QstCwIOKAnkhFQUTigJwg0YHQvtGH0LXRiNC1INC60YrQvCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgyNSBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAorIzogYnVpbHRpbi9jaGVja291dC5jOjgzMiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MAogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGB0YLQtSDQvdCwINC60LvQvtC9LCDQutC+0LnRgtC+INC/0YDQtdC00YHRgtC+0Lgg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC9IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTcwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgogbXNnc3RyICLQvtGH0LDQutCy0LDRiNC1INGB0LUg0LXQtNC40L0g0YPQutCw0LfQsNGC0LXQuywg0LAg0YHRgtC1INC/0L7QtNCw0LvQuCAlZC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDEwIGJ1aWx0aW4vd29ya3RyZWUuYzoyMTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDE2IGJ1aWx0aW4vd29ya3RyZWUuYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRg9C60LDQt9Cw0YLQtdC7OiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg0L3QtSDRgdC+0YfQuCDQutGK0Lwg0L7QsdC10LrRgi3QtNGK0YDQstC+OiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg0CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgItC30LDQtNCw0LLQsNC90LXRgtC+INC90LAg0L/RitGCINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQviDRgSDQv9GA0LXQvNC40L3QsNCy0LDQvdC10YLQviDQvtGCINC10LTQuNC9INC60LvQvtC9INC60YrQvCDQtNGA0YPQsyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEgYnVpbHRpbi9jaGVja291dC5jOjEwODUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQv9GA0LXQvNC40L3QsNCy0LDQvdC10YLQviDQvtGCINC10LTQuNC9INC60LvQvtC9INC60YrQvCDQtNGA0YPQsyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NSBidWlsdGluL2NoZWNrb3V0LmM6MTA5OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICIiCiAi0JfQsCDQtNCwINC/0YDQtdC80LjQvdC10YLQtSDQutGK0Lwg0LrQu9C+0L0sINC/0L7QtNCw0LnRgtC1INGD0LrQsNC30LDRgtC10LssINC60L7QudGC0L4g0YHQvtGH0Lgg0LrRitC8INC/0L7QtNCw0LLQsNC90LUuICDigJ4lc+KAnCAiCiAi0L3QtSDQtSDRgtCw0LrRitCyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL2Nsb25lLmM6OTMKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vY2xvbmUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTY4IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzAKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgItC60LvQvtC9IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC4INC/0YDQtdC80LjQvdCw0LLQsNC90LUg0LrRitC8INC90L7QsiDQutC70L7QvSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1L9C30LDQvdGD0LvRj9Cy0LDQvdC1INC90LAg0LrQu9C+0L0g0Lgg0L/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg0L3QtdCz0L4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OAogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQvdCwINC20YPRgNC90LDQuyDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0LfQsCDQvdC+0LIg0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5IGJ1aWx0aW4vd29ya3RyZWUuYzozMzIKIG1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgItC+0YLQtNC10LvRj9C90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCDQutGK0Lwg0YPQutCw0LfQsNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLQt9Cw0LTQsNCy0LDQvdC1INC90LAg0LrQvtC5INC60LvQvtC9INCx0LjQstCwINGB0LvQtdC00LXQvSDQv9GA0Lgg0YHRitC30LTQsNCy0LDQvdC10YLQviDQvdCwINC90L7QstC40Y8g0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldy1icmFuY2giCiBtc2dzdHIgItCd0J7Qkl/QmtCb0J7QnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICLQvdC+0LIg0LrQu9C+0L0g0LHQtdC3INGA0L7QtNC40YLQtdC7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgItC40LfRgtC10LPQu9GP0L3QtSDQvdCwINCy0LDRiNCw0YLQsCDQstC10YDRgdC40Y8g0L3QsCDQvdC10YHQu9C10YLQuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICLQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDRh9GD0LbQtNCw0YLQsCDQstC10YDRgdC40Y8g0L3QsCDQvdC10YHQu9C10YLQuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NwogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0LjQt9GC0LXQs9C70Y/QvdC1ICjQstCw0YjQuNGC0LUg0L/RgNC+0LzQtdC90Lgg0YnQtSDQsdGK0LTQsNGCINC30LDQvdGD0LvQtdC90LgpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi0LjQt9Cy0YrRgNGI0LLQsNC90LUg0L3QsCDRgtGA0L7QudC90L4g0YHQu9C40LLQsNC90LUg0YEg0L3QvtCy0LjRjyDQutC70L7QvSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMgYnVpbHRpbi9tZXJnZS5jOjIzMQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTkgYnVpbHRpbi9tZXJnZS5jOjIzNQogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAi0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQuNCz0L3QvtGA0LjRgNCw0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUgKNGB0YLQsNC90LTQsNGA0YLQvdC+KSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9sb2cuYzoxNDY2IHBhcnNlLW9wdGlvbnMuaDoyNTEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwIGJ1aWx0aW4vbG9nLmM6MTQ4MyBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgItCh0KLQmNCbIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICLQtNC10LnRgdGC0LLQuNC1INC/0YDQuCDQutC+0L3RhNC70LjQutGCICjRgdC70LjQstCw0L3QtSDQuNC70Lgg0YLRgNC+0LnQvdCwINGA0LDQt9C70LjQutCwKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY0CiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICLQsdC10Lcg0L7Qs9GA0LDQvdC40YfQsNCy0LDQvdC1INC90LAg0LjQt9Cx0YDQvtC10L3QuNGC0LUg0L/RitGC0LjRidCwINGB0LDQvNC+INC00L4g0YfQsNGB0YLQuNGH0L3QviDQuNC30YLQtdCz0LvQtdC90LjRgtC1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAiIgogItC+0L/QuNGCINC30LAg0L7RgtCz0LDRgtCy0LDQvdC1INC90LAg0LjQvNC1INC90LAg0LrQu9C+0L0g0YHQu9C10LQg0L3QtdGD0YHQv9C10YjQtdC9INC+0L/QuNGCINGBIOKAnmdpdCBjaGVja291dCAiCiAi0J3QldCh0KrQqdCV0KHQotCS0KPQktCQ0Klf0JrQm9Ce0J3igJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2OAogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKIG1zZ3N0ciAi0LHQtdC3INC/0YDQvtCy0LXRgNC60LAg0LTQsNC70Lgg0LTRgNGD0LPQviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+INC00YrRgNC20Lgg0YPQutCw0LfQsNGC0LXQu9GPIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MyBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQotIzogYnVpbHRpbi9tZXJnZS5jOjIyOCBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM2Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzIgYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vZmV0Y2guYzoxMTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTIwIGJ1aWx0aW4vcHVzaC5jOjU0NAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAzCiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tYuKAnCwg4oCeLULigJwg0Lgg4oCeLS1vcnBoYW7igJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0LXQtNC90LAg0YEg0LTRgNGD0LPQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjIwCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLXRyYWNr4oCcINC40LfQuNGB0LrQstCwINC40LzQtSDQvdCwINC60LvQvtC9IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMjUKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgItCb0LjQv9GB0LLQsCDQuNC80LUg0L3QsCDQutC70L7QvSwg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tYuKAnCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYxCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgItGD0LrQsNC30LDQvSDQtSDQvdC10L/RgNCw0LLQuNC70LXQvSDQv9GK0YIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2OAogIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCi0iRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCi1tc2dzdHIgIiIKLSLQndC1INC80L7QttC10YLQtSDQtdC00L3QvtCy0YDQtdC80LXQvdC90L4g0LTQsCDQvtCx0L3QvtCy0Y/QstCw0YLQtSDQv9GK0YLQuNGJ0LAg0Lgg0LTQsCDQv9GA0LXQvNC40L3QtdGC0LUg0LrRitC8INC60LvQvtC90LAg4oCeJXPigJwuXG4iCi0i0JTQsNC70Lgg0L3QtSDQuNGB0LrQsNGC0LUg0LTQsCDQuNC30YLQtdCz0LvQuNGC0LUg4oCeJXPigJwsINC60L7QudGC0L4g0L3QtSDRgdC+0YfQuCDQutGK0Lwg0L/QvtC00LDQstCw0L3QtT8iCittc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQgYW5kIGEgYnJhbmNoICclcycgY2Fubm90IGJlIGNyZWF0ZWQgZnJvbSBpdCIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDQv9C+0LTQsNCy0LDQvdC1LCDQt9Cw0YLQvtCy0LAg0L7RgiDQvdC10LPQviDQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQutC70L7QvSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiDQvtC/0YbQuNGP0YLQsCDigJ4tLWRldGFjaOKAnCDQvdC1INC/0YDQuNC10LzQsCDQsNGA0LPRg9C80LXQvdGCLdC/0YrRgiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjc2CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNTkxOCw0OSArNjUwMyw1MSBAQAogImdpdCBjaGVja291dDog0L7Qv9GG0LjQuNGC0LUg4oCeLS1vdXJz4oCcL+KAni0tdGhlaXJz4oCcLCDigJ4tLWZvcmNl4oCcINC4IOKAni0tbWVyZ2XigJxcbiIKICLRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCDRgSDQuNC30YLQtdCz0LvRj9C90LUg0L7RgiDQuNC90LTQtdC60YHQsC4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNQorIzogYnVpbHRpbi9jbGVhbi5jOjI2CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUg0KjQkNCR0JvQntCdXSBbLXggfCAtWF0gWy0tXSDQn9Cq0KLigKYiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMAorIzogYnVpbHRpbi9jbGVhbi5jOjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICLQpNCw0LnQu9GK0YIg4oCeJXPigJwg0YnQtSDQsdGK0LTQtSDQuNC30YLRgNC40YJcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICLQn9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtdGC0L4g4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgItCl0YDQsNC90LjQu9C40YnQtdGC0L4g4oCeJXPigJwg0YnQtSDQsdGK0LTQtSDQv9GA0LXRgdC60L7Rh9C10L3QvlxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MQorIzogYnVpbHRpbi9jbGVhbi5jOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MgorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIG51bWJlcmVkIGl0ZW1cbiIKICJmb28gICAgICAgIC0gc2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeFxuIgotIiAgICAgICAgICAgLSAoZW1wdHkpIHNlbGVjdCBub3RoaW5nIgorIiAgICAgICAgICAgLSAoZW1wdHkpIHNlbGVjdCBub3RoaW5nXG4iCiBtc2dzdHIgIiIKICLQn9C+0LTRgdC60LDQt9C60LA6XG4iCiAiMSAgICAgICAgICDigJQg0LjQt9Cx0L7RgCDQvdCwINC+0LHQtdC60YIg0YHQv9C+0YDQtdC0INGA0LXQtNCwXG4iCiAi0J/QoNCV0KTQmNCa0KEgICAg4oCUINC40LfQsdC+0YAg0L3QsCDQtdC00LjQvdGB0YLQstC10L0g0L7QsdC10LrRgiDQv9C+INGC0L7Qt9C4INGD0L3QuNC60LDQu9C10L0g0L/RgNC10YTQuNC60YFcbiIKLSIgICAgICAgICAgIOKAlCAo0L/RgNCw0LfQvdC+KSDQvdC40YnQviDQtNCwINC90LUg0YHQtSDQuNC30LHQuNGA0LAiCisiICAgICAgICAgICDigJQgKNC/0YDQsNC30L3Qvikg0L3QuNGJ0L4g0LTQsCDQvdC1INGB0LUg0LjQt9Cx0LjRgNCwXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTUKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgpAQCAtNTk2OSw0OCArNjU1Niw1MCBAQAogImZvbyAgICAgICAgLSBzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4XG4iCiAiLS4uLiAgICAgICAtIHVuc2VsZWN0IHNwZWNpZmllZCBpdGVtc1xuIgogIiogICAgICAgICAgLSBjaG9vc2UgYWxsIGl0ZW1zXG4iCi0iICAgICAgICAgICAtIChlbXB0eSkgZmluaXNoIHNlbGVjdGluZyIKKyIgICAgICAgICAgIC0gKGVtcHR5KSBmaW5pc2ggc2VsZWN0aW5nXG4iCiBtc2dzdHIgIiIKICLQn9C+0LTRgdC60LDQt9C60LA6XG4iCiAiMSAgICAgICAgICDigJQg0LjQt9Cx0L7RgCDQvdCwINC10LTQuNC9INC+0LHQtdC60YJcbiIKICIzLTUgICAgICAgIOKAlCDQtNC40LDQv9Cw0LfQvtC9INC30LAg0LjQt9Cx0L7RgCDQvdCwINC+0LHQtdC60YLQuFxuIgotIjItMyw2LTkgICAg4oCUINC80L3QvtC20LXRgdGC0LLQviDQtNC40LDQv9Cw0LfQvtC9INC30LAg0LjQt9Cx0L7RgCDQvdCwINC+0LHQtdC60YLQuFxuIgorIjItMyw2LTkgICAg4oCUINC80L3QvtC20LXRgdGC0LLQviDQtNC40LDQv9Cw0LfQvtC90Lgg0LfQsCDQuNC30LHQvtGAINC90LAg0L7QsdC10LrRgtC4XG4iCiAi0J/QoNCV0KTQmNCa0KEgICAg4oCUINC40LfQsdC+0YAg0L3QsCDQtdC00LjQvdGB0YLQstC10L0g0L7QsdC10LrRgiDQv9C+INGC0L7Qt9C4INGD0L3QuNC60LDQu9C10L0g0L/RgNC10YTQuNC60YFcbiIKICIt4oCmICAgICAgICAg4oCUINC+0YLQvNGP0L3QsCDQvdCwINC40LfQsdC+0YDQsCDQvdCwINC+0LHQtdC60YLQuFxuIgogIiogICAgICAgICAg4oCUINC40LfQsdC40YDQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L7QsdC10LrRgtC4XG4iCi0iICAgICAgICAgICDigJQgKNC/0YDQsNC30L3Qvikg0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDQuNC30LHQuNGA0LDQvdC10YLQviIKKyIgICAgICAgICAgIOKAlCAo0L/RgNCw0LfQvdC+KSDQt9Cw0LLRitGA0YjQstCw0L3QtSDQvdCwINC40LfQsdC40YDQsNC90LXRgtC+XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVoICglcyk/IgotbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDQuNC30LHQvtGAICglcykuICDQmNC30LHQtdGA0LXRgtC1INC+0YLQvdC+0LLQvi4iCisjOiBidWlsdGluL2NsZWFuLmM6NTE4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTQ3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1MgorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAiSHVoICglcyk/XG4iCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvQtdC9INC40LfQsdC+0YAgKCVzKS5cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1MworIzogYnVpbHRpbi9jbGVhbi5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgItCo0LDQsdC70L7QvdC4INC30LAg0LjQs9C90L7RgNC40YDQsNC90Lgg0LXQu9C10LzQtdC90YLQuOKJqyAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2OTAKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCiBtc2dzdHIgItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INCd0LjQutC+0Lkg0L7QsdC10LrRgiDQvdC1INC90LDQv9Cw0YHQstCwINC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3MTEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MTgKIG1zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgogbXNnc3RyICLQmNC30LHQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC4INC30LAg0LjQt9GC0YDQuNCy0LDQvdC1IgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGtlZXAgW3kvTl0gYXMgaXMKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZlICVzIFt5L05dPyAiCiBtc2dzdHIgItCU0LAg0YHQtSDQuNC30YLRgNC40LUg0LvQuCDigJ4lc+KAnD8g4oCeeeKAnCDigJQgINC00LAsIOKAnk7igJwg4oCUINCd0JUiCiAKICMKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NzcKLW1zZ2lkICJCeWUuIgotbXNnc3RyICLQmNC30YXQvtC0LiIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJ5ZS5cbiIKK21zZ3N0ciAi0JjQt9GF0L7QtC5cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc4NQorIzogYnVpbHRpbi9jbGVhbi5jOjc5MgogbXNnaWQgIiIKICJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKICJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCkBAIC02MDI4LDYyICs2NjE3LDYzIEBACiAiaGVscCAgICAgICAgICAgICAgICDigJQg0YLQvtC30Lgg0LrRgNCw0LlcbiIKICI/ICAgICAgICAgICAgICAgICAgIOKAlCDQv9C+0LTRgdC60LDQt9C60LAg0LfQsCDRiNCw0LHQu9C+0L3QuNGC0LUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjkyCiBtc2dpZCAiKioqIENvbW1hbmRzICoqKiIKIG1zZ3N0ciAi4peP4peP4pePINCa0L7QvNCw0L3QtNC4IOKXj+KXj+KXjyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMworIzogYnVpbHRpbi9jbGVhbi5jOjgyMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2ODkKIG1zZ2lkICJXaGF0IG5vdyIKIG1zZ3N0ciAi0JjQt9Cx0L7RgCDQvdCwINGB0LvQtdC00LLQsNGJ0L4g0LTQtdC50YHRgtCy0LjQtSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgyMQorIzogYnVpbHRpbi9jbGVhbi5jOjgyOAogbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgogbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCiBtc2dzdHJbMF0gItCh0LvQtdC00L3QuNGP0YIg0L7QsdC10LrRgiDRidC1INCx0YrQtNC1INC40LfRgtGA0LjRgjoiCiBtc2dzdHJbMV0gItCh0LvQtdC00L3QuNGC0LUg0L7QsdC10LrRgtC4INGJ0LUg0LHRitC00LDRgiDQuNC30YLRgNC40YLQuDoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MzgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDQKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAi0KTQsNC50LvQvtCy0LXRgtC1INC30LAg0LjQt9GH0LjRgdGC0LLQsNC90LUg0YHQstGK0YDRiNC40YXQsC4gINCY0LfRhdC+0LQg0L7RgiDQv9GA0L7Qs9GA0LDQvNCw0YLQsC4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDYKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40LzQtdC90LDRgtCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INGJ0LUg0LHRitC00LDRgiDQuNC30YLRgNC40YLQuCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3MQorIzogYnVpbHRpbi9jbGVhbi5jOjkwOAogbXNnaWQgImZvcmNlIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0LjQt9GC0YDQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcyCisjOiBidWlsdGluL2NsZWFuLmM6OTA5CiBtc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQuNC30YLRgNC40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTEKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINGG0LXQu9C4INC00LjRgNC10LrRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgorIzogYnVpbHRpbi9jbGVhbi5jOjkxMiBidWlsdGluL2Rlc2NyaWJlLmM6NDUyIGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIgYnVpbHRpbi9scy1maWxlcy5jOjU0NiBidWlsdGluL25hbWUtcmV2LmM6Mzk3CisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk5IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICLQqNCQ0JHQm9Ce0J0iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTMKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINCo0JDQkdCb0J7QnSDQvtGCINGE0LDQudC70L7QstC1LCDQutC+0LjRgtC+INC00LAg0L3QtSDRgdC1INGC0YDQuNGP0YIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0Lgg0L3QsCDQuNCz0L3QvtGA0LjRgNCw0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0YHQsNC80L4g0L3QsCDQuNCz0L3QvtGA0LjRgNCw0L3QuCDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg5NworIzogYnVpbHRpbi9jbGVhbi5jOjkzNAogbXNnaWQgIi14IGFuZCAtWCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLXjigJwg0Lgg4oCeLVjigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzgKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCiAiY2xlYW4iCkBAIC02MDkxLDcgKzY2ODEsNyBAQAogItCd0LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeY2xlYW4ucmVxdWlyZUZvcmNl4oCcINC1INC30LDQtNCw0LTQtdC90LAg0LrQsNGC0L4g0LjRgdGC0LjQvdCwLCDQutC+0LXRgtC+INC40LfQuNGB0LrQstCwINC90Y/QutC+0Y8gIgogItC+0YIg0L7Qv9GG0LjQuNGC0LUg4oCeLWnigJwsIOKAni1u4oCcINC40LvQuCDigJ4tZuKAnC4gINCd0Y/QvNCwINC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDQuNC30YfQuNGB0YLQstCw0L3QtSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtNjEwMCwxMzYgKzY2OTAsMTQ2IEBACiAi0LrQvtC10YLQviDQuNC30LjRgdC60LLQsCDQvdGP0LrQvtGPINC+0YIg0L7Qv9GG0LjQuNGC0LUg4oCeLWnigJwsIOKAni1u4oCcINC40LvQuCDigJ4tZuKAnC4gINCd0Y/QvNCwINC00LAg0YHQtSDQuNC30LLRitGA0YjQuCAiCiAi0LjQt9GH0LjRgdGC0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNworIzogYnVpbHRpbi9jbG9uZS5jOjM4CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBb0J7Qn9Cm0JjQr+KApl0gWy0tXSDQpdCg0JDQndCY0JvQmNCp0JUgW9CU0JjQoNCV0JrQotCe0KDQmNCvXSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1CisjOiBidWlsdGluL2Nsb25lLmM6ODIKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAi0LHQtdC3INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9pbml0LWRiLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LPQvtC70L4g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICIiCiAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0YXRgNCw0L3QuNC70LjRidC1LdC+0LPQu9C10LTQsNC70L4gKNCy0LrQu9GO0YfQstCwINC+0L/RhtC40Y/RgtCwIOKAni0tYmFyZeKAnCDQt9CwINCz0L7Qu9C+INGF0YDQsNC90LjQu9C40YnQtSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MgorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgItC60LvQvtC90LjRgNCw0L3QtSDQvtGCINC70L7QutCw0LvQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAi0LHQtdC3INGC0LLRitGA0LTQuCDQstGA0YrQt9C60LgsINGE0LDQudC70L7QstC10YLQtSDQstC40L3QsNCz0Lgg0LTQsCDRgdC1INC60L7Qv9C40YDQsNGCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICLQvdCw0YHRgtGA0L7QudCy0LDQvdC1INC30LAg0YHQv9C+0LTQtdC70LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc4IGJ1aWx0aW4vY2xvbmUuYzo4MAorIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vY2xvbmUuYzo5OQorbXNnaWQgInBhdGhzcGVjIgorbXNnc3RyICLQv9GK0YIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2Nsb25lLmM6OTkKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICLQuNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9C40YLQtSDQv9GA0Lgg0YLQvtCy0LAg0LrQu9C+0L3QuNGA0LDQvdC1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgItCx0YDQvtC5INC/0L7QtNC80L7QtNGD0LvQuCwg0LrQu9C+0L3QuNGA0LDQvdC4INC/0LDRgNCw0LvQtdC70L3QviIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMyBidWlsdGluL2luaXQtZGIuYzo0NzYKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGPINGBINGI0LDQsdC70L7QvdC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODQgYnVpbHRpbi9pbml0LWRiLmM6NDc2CisjOiBidWlsdGluL2Nsb25lLmM6MTA0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NwogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGPLCDQutC+0Y/RgtC+INGB0YrQtNGK0YDQttCwINGI0LDQsdC70L7QvdC40YLQtSwg0LrQvtC40YLQviDQtNCwINGB0LUg0L/QvtC70LfQstCw0YIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1NAorIzogYnVpbHRpbi9jbG9uZS5jOjEwNiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODMKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0LXRgtCw0LvQvtC90L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9jbG9uZS5jOjExMAogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tcmVmZXJlbmNl4oCcINC80L7QttC1INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINGB0LDQvNC+INC/0YDQuCDQutC70L7QvdC40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICLQmNCc0JUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MgorIzogYnVpbHRpbi9jbG9uZS5jOjExMgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgtC+0LLQsCDQmNCc0JUg0LLQvNC10YHRgtC+IOKAnm9yaWdpbuKAnCDQv9GA0Lgg0L/RgNC+0YHQu9C10LTRj9Cy0LDQvdC1INC90LAg0LrQu9C+0L3QuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0CisjOiBidWlsdGluL2Nsb25lLmM6MTE0CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAi0LjQt9GC0LXQs9C70Y/QvdC1INC90LAg0YLQvtC30Lgg0JrQm9Ce0J0sINCwINC90LUg0YHQvtGH0LXQvdC40Y/RgiDQvtGCINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0YPQutCw0LfQsNGC0LXQuyDigJ5IRUFE4oCcIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLQv9GK0YIg0LrRitC8INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQtdXBsb2FkLXBhY2vigJwg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL2dyZXAuYzo2NjggYnVpbHRpbi9wdWxsLmM6MjAyCisjOiBidWlsdGluL2Nsb25lLmM6MTE3IGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9ncmVwLmM6MTAyNQorIzogYnVpbHRpbi9wdWxsLmM6MjA1CiBtc2dpZCAiZGVwdGgiCiBtc2dzdHIgItCU0KrQm9CR0J7Qp9CY0J3QkCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4CisjOiBidWlsdGluL2Nsb25lLmM6MTE4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICLQv9C70LjRgtC60L4g0LrQu9C+0L3QuNGA0LDQvdC1INC00L4g0YLQsNC30Lgg0JTQqtCb0JHQntCn0JjQndCQIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkgYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzIKICM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKIG1zZ2lkICJ0aW1lIgogbXNnc3RyICLQktCg0JXQnNCVIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgItC/0LvQuNGC0LrQviDQutC70L7QvdC40YDQsNC90LUg0LTQviDQvNC+0LzQtdC90YIg0LLRitCyINCy0YDQtdC80LXRgtC+IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vZmV0Y2guYzoxMjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjExOQogbXNnaWQgInJldmlzaW9uIgogbXNnc3RyICLQstC10YDRgdC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEyNQotbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUgYnkgZXhjbHVkaW5nIHJldiIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIgYnVpbHRpbi9mZXRjaC5jOjEyMAorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgItC30LDQtNGK0LvQsdC+0YfQsNCy0LDQvdC1INC90LAg0LjRgdGC0L7RgNC40Y/RgtCwINC90LAg0L/Qu9C40YLQutC+INGF0YDQsNC90LjQu9C40YnQtSDQtNC+INC40LfQutC70Y7Rh9Cy0LDRiSDRg9C60LDQt9Cw0YLQtdC7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0CisjOiBidWlsdGluL2Nsb25lLmM6MTI0CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICIiCiAi0LrQu9C+0L3QuNGA0LDQvdC1INGB0LDQvNC+INC90LAg0LXQtNC40L0g0LrQu9C+0L0g4oCUINC40LvQuCDRgdC+0YfQtdC90LjRjyDQvtGCINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g4oCeSEVBROKAnCwg0LjQu9C4INC40LfRgNC40YfQvdC+ICIKICLQt9Cw0LTQsNC00LXQvdC40Y8g0YEg4oCeLS1icmFuY2jigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKK21zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCittc2dzdHIgIiIKKyLQsdC10Lcg0LrQu9C+0L3QuNGA0LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LgsINC60LDRgtC+INC/0L7RgdC70LXQtNCy0LDRidC40YLQtSDQtNC+0YHRgtCw0LLRj9C90LjRjyDQvdGP0LzQsCDQtNCwINCz0Lgg0YHQu9C10LTRj9GCIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAi0LLRgdC40YfQutC4INC60LvQvtC90LjRgNCw0L3QuCDQv9C+0LTQvNC+0LTRg9C70Lgg0YnQtSDRgdCwINC/0LvQuNGC0LrQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICLQodCb0KPQltCV0JHQndCQX9CU0JjQoNCV0JrQotCe0KDQmNCvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQorIzogYnVpbHRpbi9jbG9uZS5jOjEzMCBidWlsdGluL2luaXQtZGIuYzo0ODYKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICLQvtGC0LTQtdC70L3QsCDQodCb0KPQltCV0JHQndCQX9CU0JjQoNCV0JrQotCe0KDQmNCvINC30LAgZ2l0INC40LfQstGK0L0g0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzEKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgItCa0JvQrtCnPdCh0KLQntCZ0J3QntCh0KIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCDQvdCw0YHRgtGA0L7QudC60LjRgtC1INC90LAg0L3QvtCy0L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2ZldGNoLmM6MTQwIGJ1aWx0aW4vcHVzaC5jOjU0NworIzogYnVpbHRpbi9jbG9uZS5jOjEzMyBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vcHVzaC5jOjU1NQogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICLRgdCw0LzQviDQsNC00YDQtdGB0LggSVB2NCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVzaC5jOjU1NwogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICLRgdCw0LzQviDQsNC00YDQtdGB0LggSVB2NiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI1MAorIzogYnVpbHRpbi9jbG9uZS5jOjI3MgogbXNnaWQgIiIKICJObyBkaXJlY3RvcnkgbmFtZSBjb3VsZCBiZSBndWVzc2VkLlxuIgogIlBsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG9uIHRoZSBjb21tYW5kIGxpbmUiCkBAIC02MjM3LDQzICs2ODM3LDQzIEBACiAi0JjQvNC10YLQviDQvdCwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCz0LDRgtC90LDRgtC+LlxuIgogItCX0LDQtNCw0LnRgtC1INC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQuNC30YDQuNGH0L3QviDQvdCwINC60L7QvNCw0L3QtNC90LjRjyDRgNC10LQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIiIKICLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNC+0LHQsNCy0Lgg0LDQu9GC0LXRgNC90LDRgtC40LLQtdC9INC40LfRgtC+0YfQvdC40Log0L3QsCDigJ4lc+KAnDogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3NQorIzogYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC90LAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIuKAniVz4oCcINGB0YrRidC10YHRgtCy0YPQstCwINC4INC90LUg0LUg0LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7Qu9GD0YfQtdC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgItCy0YDRitC30LrQsNGC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L3QsCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMworIzogYnVpbHRpbi9jbG9uZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgItGE0LDQudC70YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LrQvtC/0LjRgNCw0L0g0LrQsNGC0L4g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtdGC0L4g0LfQsNCy0YrRgNGI0LguXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0ODIKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtNjI4NCwxMDQgKzY4ODQsMTAzIEBACiAi0LrQu9C+0L0g0LIg0LzQvtC80LXQvdGC0LAg0YHQsCDQuNC30YLQtdCz0LvQtdC90Lgg0YEg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBzdGF0dXPigJwuICDQnNC+0LbQtdGC0LUg0LTQsFxuIgogItC30LDQstGK0YDRiNC40YLQtSDQuNC30YLQtdCz0LvRj9C90LXRgtC+INC90LAg0LrQu9C+0L3QsCDRgSDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IGNoZWNrb3V0IC1mIEhFQUTigJwuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1MzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIiIKICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0L7RgiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1LCDQutC+0LXRgtC+INC60LvQvtC90LjRgNCw0YLQtSxcbiIKICLQuCDQutC+0LnRgtC+INGB0LvQtdC00LLQsCDQtNCwINCx0YrQtNC1INC40LfRgtC10LPQu9C10L0sINC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjMyCisjOiBidWlsdGluL2Nsb25lLmM6NjU0CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgItC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QtSDQuNC30L/RgNCw0YLQuCDQstGB0LjRh9C60Lgg0L3QtdC+0LHRhdC+0LTQuNC80Lgg0L7QsdC10LrRgtC4LiIKIAotIyBGSVhNRSBtZXJnZSB3aXRoIG5leHQ/Ci0jOiBidWlsdGluL2Nsb25lLmM6NjQ4CisjOiBidWlsdGluL2Nsb25lLmM6NjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5NworIzogYnVpbHRpbi9jbG9uZS5jOjcxOQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogItGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L7RgiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INGB0L7Rh9C4INC60YrQvCDQvdC10YnQvixcbiIKICLQutC+0LXRgtC+INC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuICDQndC1INC80L7QttC1INC00LAg0YHQtSDQuNC30YLQtdCz0LvQuCDQvtC/0YDQtdC00LXQu9C10L0g0LrQu9C+0L0uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTAKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICLRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC00LPQvtGC0LLQtdC90L4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LnQutC40YLQtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC30LDQv9C40YHQsNC90Lgg0LIg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC40Y8g0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQt9CwINC40LfRh9C40YHRgtCy0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMzCisjOiBidWlsdGluL2Nsb25lLmM6ODU3CiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICLQstGA0LXQvNC10L3QvdC40Y/RgiDRhNCw0LnQuyDQt9CwINCw0LvRgtC10YDQvdCw0YLQuNCy0L3QuCDQvtCx0LXQutGC0Lgg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2NiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTAgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ1CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAi0J/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtC4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3MAorIzogYnVpbHRpbi9jbG9uZS5jOjg5NAogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAi0KLRgNGP0LHQstCwINC00LAg0YPQutCw0LbQtdGC0LUg0LrQvtC1INGF0YDQsNC90LjQu9C40YnQtSDQuNGB0LrQsNGC0LUg0LTQsCDQutC70L7QvdC40YDQsNGC0LUuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgzCisjOiBidWlsdGluL2Nsb25lLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1iYXJl4oCcINC4IOKAni0tb3JpZ2luICVz4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4NgorIzogYnVpbHRpbi9jbG9uZS5jOjkxMAogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWJhcmXigJwg0Lgg4oCeLS1zZXBhcmF0ZS1naXQtZGly4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5OQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTA1IGJ1aWx0aW4vZmV0Y2guYzoxMzM4CisjOiBidWlsdGluL2Nsb25lLmM6OTI5IGJ1aWx0aW4vZmV0Y2guYzoxMzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAi0LTRitC70LHQvtGH0LjQvdCw0YLQsCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDQv9C+0LvQvtC20LjRgtC10LvQvdC+INGG0Y/Qu9C+INGH0LjRgdC70L4sINCwINC90LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi0YbQtdC70LXQstC40Y/RgiDQv9GK0YIg4oCeJXPigJwg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0Lgg0L3QtSDQtSDQv9GA0LDQt9C90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI1CisjOiBidWlsdGluL2Nsb25lLmM6OTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAi0LIg4oCeJXPigJwg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0YDQsNCx0L7RgtC90L4g0LTRitGA0LLQvi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjQgYnVpbHRpbi9jbG9uZS5jOjk3NSBidWlsdGluL2RpZmZ0b29sLmM6MjYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgItGA0L7QtNC40YLQtdC70YHQutC40YLQtSDQtNC40YDQtdC60YLQvtGA0LjQuCDQvdCwIOKAniVz4oCcINC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0YHRitC30LTQsNC00LXQvdC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQzCisjOiBidWlsdGluL2Nsb25lLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICLRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQsiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvdC+LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAi0JrQu9C+0L3QuNGA0LDQvdC1INC4INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINCz0L7Qu9C+INGF0YDQsNC90LjQu9C40YnQtSDQsiDigJ4lc+KAnOKAplxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgItCa0LvQvtC90LjRgNCw0L3QtSDQuCDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDRhdGA0LDQvdC40LvQuNGJ0LUg0LIg4oCeJXPigJzigKZcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2MworIzogYnVpbHRpbi9jbG9uZS5jOjEwMDUKIG1zZ2lkICIiCiAiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCiAiYWJsZSIKQEAgLTYzODksODcgKzY5ODgsODcgQEAKICLQntC/0YbQuNGP0YLQsCDigJ4tLXJlY3Vyc2l2ZeKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0L7Qv9GG0LjQuNGC0LUg4oCeLS1yZWZlcmVuY2XigJwg0Lgg4oCeLS1yZWZlcmVuY2UtIgogImlmLWFibGXigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CisjOiBidWlsdGluL2Nsb25lLmM6MTA2NwogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAi0J/RgNC4INC70L7QutCw0LvQvdC+INC60LvQvtC90LjRgNCw0L3QtSDQvtC/0YbQuNGP0YLQsCDigJ4tLWRlcHRo4oCcINGB0LUg0L/RgNC10YHQutCw0YfQsC4gINCf0L7Qu9C30LLQsNC50YLQtSDRgdGF0LXQvNCw0YLQsCAiCiAi4oCeZmlsZTovL+KAnC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIxCisjOiBidWlsdGluL2Nsb25lLmM6MTA2OQogbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICLQn9GA0Lgg0LvQvtC60LDQu9C90L4g0LrQu9C+0L3QuNGA0LDQvdC1INC+0L/RhtC40Y/RgtCwIOKAni0tc2hhbGxvdy1zaW5jZeKAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAuICDQn9C+0LvQt9Cy0LDQudGC0LUgIgogItGB0YXQtdC80LDRgtCwIOKAnmZpbGU6Ly/igJwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyMworIzogYnVpbHRpbi9jbG9uZS5jOjEwNzEKIG1zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICLQn9GA0Lgg0LvQvtC60LDQu9C90L4g0LrQu9C+0L3QuNGA0LDQvdC1INC+0L/RhtC40Y/RgtCwIOKAni0tc2hhbGxvdy1leGNsdWRl4oCcINGB0LUg0L/RgNC10YHQutCw0YfQsC4gINCf0L7Qu9C30LLQsNC50YLQtSAiCiAi0YHRhdC10LzQsNGC0LAg4oCeZmlsZTovL+KAnC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDI2CisjOiBidWlsdGluL2Nsb25lLmM6MTA3NAogbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCiBtc2dzdHIgItC60LvQvtC90LjRgNCw0L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INC1INC/0LvQuNGC0LrQviwg0LfQsNGC0L7QstCwINC+0L/RhtC40Y/RgtCwIOKAni0tbG9jYWzigJwg0YHQtSDQv9GA0LXRgdC60LDRh9CwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzkKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tbG9jYWzigJwg0YHQtSDQv9GA0LXRgdC60LDRh9CwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgItCd0LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwINC60LvQvtC90LjRgNCw0L3QtSDQvdCwINCy0YDRitC30LrQuCDQvtGCINCy0LjQtNCwIOKAniVz4oCcICIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOTAgYnVpbHRpbi9jbG9uZS5jOjEwOTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTM4IGJ1aWx0aW4vY2xvbmUuYzoxMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICLQntGC0LTQsNC70LXRh9C10L3QuNGP0YIg0LrQu9C+0L0g4oCeJXPigJwg0LvQuNC/0YHQstCwINCyINC60LvQvtC90LjRgNCw0L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNDkKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICLQmNC30LPQu9C10LbQtNCwINC60LvQvtC90LjRgNCw0YXRgtC1INC/0YDQsNC30L3QviDRhdGA0LDQvdC40LvQuNGJ0LUuIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjkKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MTAKIG1zZ2lkICJnaXQgY29sdW1uIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29sdW1uIFvQntCf0KbQmNCv4oCmXSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyNgorIzogYnVpbHRpbi9jb2x1bW4uYzoyNwogbXNnaWQgImxvb2t1cCBjb25maWcgdmFycyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QsNGB0YLRgNC+0LnQutC40YLQtSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL2NvbHVtbi5jOjI4CisjOiBidWlsdGluL2NvbHVtbi5jOjI4IGJ1aWx0aW4vY29sdW1uLmM6MjkKIG1zZ2lkICJsYXlvdXQgdG8gdXNlIgogbXNnc3RyICLQutCw0Log0LTQsCDRgdC1INC/0L7QtNGA0LXQtNC4INGA0LXQt9GD0LvRgtCw0YLQsCIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyOQorIzogYnVpbHRpbi9jb2x1bW4uYzozMAogbXNnaWQgIk1heGltdW0gd2lkdGgiCiBtc2dzdHIgItCc0LDQutGB0LjQvNCw0LvQvdCwINGI0LjRgNC+0YfQuNC90LAiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzAKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzEKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIG9uIGxlZnQgYm9yZGVyIgogbXNnc3RyICLQn9C+0LvQtSDQsiDQt9C90LDRhtC4INC+0YLQu9GP0LLQviIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9jb2x1bW4uYzozMgogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gcmlnaHQgYm9yZGVyIgogbXNnc3RyICLQn9C+0LvQtSDQsiDQt9C90LDRhtC4INC+0YLQtNGP0YHQvdC+IgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMyCisjOiBidWlsdGluL2NvbHVtbi5jOjMzCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMiCiBtc2dzdHIgItCf0L7Qu9C1INCyINC30L3QsNGG0Lgg0LzQtdC20LTRgyDQutC+0LvQvtC90LjRgtC1IgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjUxCisjOiBidWlsdGluL2NvbHVtbi5jOjUyCiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWNvbW1hbmTigJwg0YLRgNGP0LHQstCwINC00LAg0LUg0L/RitGA0LLQuNGP0YIg0LDRgNCz0YPQvNC10L3RgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOAorIzogYnVpbHRpbi9jb21taXQuYzozOQogbXNnaWQgImdpdCBjb21taXQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgY29tbWl0IFvQntCf0KbQmNCv4oCmXSBbLS1dINCf0KrQouKApiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MworIzogYnVpbHRpbi9jb21taXQuYzo0NAogbXNnaWQgImdpdCBzdGF0dXMgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgc3RhdHVzIFvQntCf0KbQmNCv4oCmXSBbLS1dINCf0KrQouKApiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0OAorIzogYnVpbHRpbi9jb21taXQuYzo0OQogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC02NDk3LDcgKzcwOTYsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MQorIzogYnVpbHRpbi9jb21taXQuYzo2MgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC02NTIyLDcgKzcxMjEsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MworIzogYnVpbHRpbi9jb21taXQuYzo3NAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgpAQCAtNjUzNCw3ICs3MTMzLDcgQEAKICLRgSDQvtC/0YbQuNGP0YLQsCDigJ4tLWFsbG93LWVtcHR54oCcLCDQuNC70Lgg0LTQsCDQs9C+INC40LfRgtGA0LjQtdGC0LUg0L7RgiDQuNGB0YLQvtGA0LjRj9GC0LAg0YEg0LrQvtC80LDQvdC00LDRgtCwOlxuIgogIuKAnmdpdCByZXNldCBIRUFEXuKAnC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OAorIzogYnVpbHRpbi9jb21taXQuYzo3OQogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC02NTQ5LDExICs3MTQ4LDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2CiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgItCSINC/0YDQvtGC0LjQstC10L0g0YHQu9GD0YfQsNC5INC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCByZXNldOKAnFxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4CisjOiBidWlsdGluL2NvbW1pdC5jOjg5CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTY1NjksNjYgKzcxNjgsNjEgQEAKICLQp9GA0LXQtyDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWXigJwg0YnQtSDQv9GA0L7QtNGK0LvQttC40YLQtSDQvtGC0LHQuNGA0LDQvdC10YLQviDQvdCwXG4iCiAi0L7RgdGC0LDQvdCw0LvQuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMxOAorIzogYnVpbHRpbi9jb21taXQuYzozMTkKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgItCy0YrRgNGF0L7QstC+0YLQviDQtNGK0YDQstC+IChIRUFEIHRyZWUgb2JqZWN0KSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9Cy0LDQtNC10L3QviDQvtGCINC/0LDQutC10YIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjM2MAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLQstGA0LXQvNC10L3QvdC40Y/RgiDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NgogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0LTQvtCx0LDQstGP0L3QtSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc5CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgItCy0YDQtdC80LXQvdC90LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7QsdC90L7QstC10L0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzgwCisjOiBidWlsdGluL2NvbW1pdC5jOjM4MQogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICLQlNGK0YDQstC+0YLQviDQvdCwINC+0YHQvdC+0LLQvdC40Y8g0LrQtdGIINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvdC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgorIzogYnVpbHRpbi9jb21taXQuYzo0MDUgYnVpbHRpbi9jb21taXQuYzo0MjggYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgItC90L7QstC40Y/RgiDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC9IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1OAorIzogYnVpbHRpbi9jb21taXQuYzo0NTkKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgItC/0L4g0LLRgNC10LzQtSDQvdCwINGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQstGK0YDRiNC4INGH0LDRgdGC0LjRh9C90L4g0L/QvtC00LDQstCw0L3QtS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAi0L/QviDQstGA0LXQvNC1INC90LAg0L7RgtCx0LjRgNCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDRh9Cw0YHRgtC40YfQvdC+INC/0L7QtNCw0LLQsNC90LUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2OQorIzogYnVpbHRpbi9jb21taXQuYzo0NzAKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgItC40L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDg4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ4OQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0LLRgNC10LzQtdC90L3QuNGP0YIg0LjQvdC00LXQutGBINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGxhY2tzIGF1dGhvciBoZWFkZXIiCiBtc2dzdHIgItC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCINC30LAg0LDQstGC0L7RgCDQsiDQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQu9C40L/RgdCy0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTg0CisjOiBidWlsdGluL2NvbW1pdC5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgogbXNnc3RyICLQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDQt9CwINCw0LLRgtC+0YAg0LIg0L/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwg0LUg0L3QtdC/0YDQsNCy0LjQu9C90LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjAzCisjOiBidWlsdGluL2NvbW1pdC5jOjYwNAogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC/0LDRgNCw0LzQtdGC0YrRgCDQutGK0Lwg0L7Qv9GG0LjRj9GC0LAg4oCeLS1hdXRob3LigJwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjExCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgotbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRhNC+0YDQvNCw0YIg0L3QsCDQtNCw0YLQsDogJXMiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjU1CisjOiBidWlsdGluL2NvbW1pdC5jOjY1NgogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgpAQCAtNjYzNiwzOCArNzIzMCwzOCBAQAogItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQsdC10YDQtSDQt9C90LDQuiDQt9CwINC60L7QvNC10L3RgtCw0YAg4oCUINCyINGC0LXQutGD0YnQvtGC0L4g0YHRitC+0LHRidC10L3QuNC1INC30LAg0L/QvtC00LDQstCw0L3QtSDRgdCwICIKICLQuNC30L/QvtC70LfQstCw0L3QuCDQstGB0LjRh9C60Lgg0L/QvtC00L7QsdC90Lgg0LfQvdCw0YbQuCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CisjOiBidWlsdGluL2NvbW1pdC5jOjY5MyBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL2NvbW1pdC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgItGB0LvQtdC00L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGC0L46ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNCBidWlsdGluL3Nob3J0bG9nLmM6Mjg2CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNSBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIijQuNC30YfQuNGC0LDQvdC1INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0KVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNgorIzogYnVpbHRpbi9jb21taXQuYzo3MDcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDQsdC1INC/0YDQvtGH0LXRgtC10L3QviDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxMAorIzogYnVpbHRpbi9jb21taXQuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCINGB0YrRgSDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzcgYnVpbHRpbi9jb21taXQuYzo3NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzM4IGJ1aWx0aW4vY29tbWl0LmM6NzQ2CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAi0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINGB0LzQsNGH0LrQstCw0L3QtSBTUVVBU0hfTVNHINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC90L4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAi0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINGB0LvQuNCy0LDQvdC1IE1FUkdFX01TRyDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc5NgorIzogYnVpbHRpbi9jb21taXQuYzo3OTcKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgogbXNnc3RyICLRiNCw0LHQu9C+0L3RitGCINC30LAg0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE0CisjOiBidWlsdGluL2NvbW1pdC5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02NjgyLDcgKzcyNzYsNyBAQAogIiAgJXNcbiIKICLQuCDQvtC/0LjRgtCw0LnRgtC1INC+0YLQvdC+0LLQvi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY2OTgsNyArNzI5Miw3IEBACiAiICAlc1xuIgogItC4INC+0L/QuNGC0LDQudGC0LUg0L7RgtC90L7QstC+LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzMgorIzogYnVpbHRpbi9jb21taXQuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTY3MDcsNyArNzMwMSw3IEBACiAi0JLRitCy0LXQtNC10YLQtSDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtS4gINCg0LXQtNC+0LLQtdGC0LUsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRglxuIgogItGBIOKAniVj4oCcLCDRidC1INCx0YrQtNCw0YIg0L/RgNC+0L/Rg9GB0L3QsNGC0LgsINCwINC/0YDQsNC30L3QviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LAg0L/QvtC00LDQstCw0L3QtdGC0L4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM5CisjOiBidWlsdGluL2NvbW1pdC5jOjg0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNjcxOCwxNjQgKzczMTIsMTUzIEBACiAi0YEg4oCeJWPigJwsINGB0YrRidC+INGJ0LUg0LHRitC00LDRgiDQstC60LvRjtGH0LXQvdC4IOKAlCDQvNC+0LbQtSDQtNCwINCz0Lgg0LjQt9GC0YDQuNC10YLQtSDQstC40LUuICDQn9GA0LDQt9C90L4gXG4iCiAi0YHRitC+0LHRidC10L3QuNC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCwINC/0L7QtNCw0LLQsNC90LXRgtC+LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1OQorIzogYnVpbHRpbi9jb21taXQuYzo4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNBdXRob3I6ICAgICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc9CQ0LLRgtC+0YA6ICAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY3CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVz0JTQsNGC0LA6ICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg3NAorIzogYnVpbHRpbi9jb21taXQuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc9Cf0L7QtNCw0LLQsNGJOiAlLipzIDwlLipzPiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODg5CiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTU0CisjOiBidWlsdGluL2NvbW1pdC5jOjk1MQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC40LfQs9GA0LDQttC00LDQvdC1INC90LAg0LTRitGA0LLQtdGC0LDRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2OSBidWlsdGluL3RhZy5jOjI2NgorIzogYnVpbHRpbi9jb21taXQuYzo5NjUgYnVpbHRpbi90YWcuYzoyNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICLQn9C+0LTQsNC50YLQtSDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INGBINC90Y/QutC+0Y8g0L7RgiDQvtC/0YbQuNC40YLQtSDigJ4tbeKAnCDQuNC70Lgg4oCeLUbigJwuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiIgogItCe0L/RhtC40Y/RgtCwIOKAni0tYXV0aG9yICclcyfigJwg0L3QtSDQvtGC0LPQvtCy0LDRgNGPINC90LAg0YTQvtGA0LzQsMyA0YLQsCDigJ7QmNC80LUgPNC1LdC/0L7RidCwPuKAnCDQuCDQvdC1INGB0YrQstC/0LDQtNCwINGBICIKICLQvdC40LrQvtC5INCw0LLRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4NiBidWlsdGluL2NvbW1pdC5jOjEzMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MyBidWlsdGluL2NvbW1pdC5jOjEzMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtTog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTIxCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tLWxvbmfigJwg0Lgg4oCeLXrigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LguIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1MQogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tcmVzZXQtYXV0aG9y4oCcINC4IOKAni0tYXV0aG9y4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjAKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAi0J3Rj9C80LAg0LrQsNC60LLQviDQtNCwINCx0YrQtNC1INC/0L7Qv9GA0LDQstC10L3Qvi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YHQtSDQuNC30LLRitGA0YjQstCwINGB0LvQuNCy0LDQvdC1LCDQvdC1INC80L7QttC10YLQtSDQtNCwINC/0L7Qv9GA0LDQstGP0YLQtS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMTY1CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YHQtSDQuNC30LLRitGA0YjQstCwINC+0YLQsdC40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC1LCDQvdC1INC80L7QttC10YLQtSDQtNCwINC/0L7Qv9GA0LDQstGP0YLQtS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1zcXVhc2jigJwg0Lgg4oCeLS1maXh1cOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc4CiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni1j4oCcLCDigJ4tQ+KAnCwg4oCeLUbigJwg0Lgg4oCeLS1maXh1cOKAnOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MworIzogYnVpbHRpbi9jb21taXQuYzoxMTgwCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tbeKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeLWPigJwsIOKAni1D4oCcLCDigJ4tRuKAnCDQuCDigJ4tLWZpeHVw4oCcLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjExODgKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICIiCiAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1yZXNldC1hdXRob3LigJwg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0YHQsNC80L4g0LfQsNC10LTQvdC+INGBIOKAni1D4oCcLCDigJ4tY+KAnCDQuNC70LhcbiIKICLigJ4tLWFtZW5k4oCcLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDUKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICLQntC/0YbQuNC40YLQtSDigJ4tLWluY2x1ZGXigJwsIOKAni0tb25seeKAnCwg4oCeLS1hbGzigJwsIOKAni0taW50ZXJhY3RpdmXigJwg0Lgg4oCeLS1wYXRjaOKAnCDRgdCwXG4iCiAi0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjEwCisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDcKIG1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0taW5jbHVkZeKAnCDQuCDigJ4tLW9ubHnigJwg0LjQt9C40YHQutCy0LDRgiDQsNGA0LPRg9C80LXQvdGC0LguIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTIKLW1zZ2lkICJDbGV2ZXIuLi4gYW1lbmRpbmcgdGhlIGxhc3Qgb25lIHdpdGggZGlydHkgaW5kZXguIgotbXNnc3RyICIiCi0i0KfRg9C00LXRgdC90L4g0YHRgtC1INGB0LUg0YHQtdGC0LjQu9C4INC60LDQuiDQtNCwINC/0L7Qv9GA0LDQstC40YLQtSDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC90LAg0L/QvtGB0LvQtdC00L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSAiCi0i0L/RgNC4XG4iCi0i0L/RgNC+0LzQtdC90LXQvSDQuNC90LTQtdC60YEuICDQodC/0L7QtNC10LvQtdGC0LUg0Lgg0YEg0LTRgNGD0LMg0L/QvtGC0YDQtdCx0LjRgtC10Lsg0YLRgNC40LrQsCDRgSDigJ5naXQgY29tbWl0IC0tYW1lbmQgLSIKLSJv4oCcLiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjE0Ci1tc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKLW1zZ3N0ciAiIgotItCX0LDQtNCw0LTQtdC90Lgg0YHQsCDQuNC30YDQuNGH0L3QuCDQv9GK0YLQuNGJ0LAg0LHQtdC3INC+0L/RhtC40LjRgtC1IOKAni1p4oCcINC40LvQuCDigJ4tb+KAnC4gINCf0YDQuNC10LzQsCDRgdC1LCDRh9C1INCy0YHQtSAiCi0i0LXQtNC90L4g0YHRgtC1XG4iCi0i0L/QvtC70LfQstCw0LvQuCDQvtC/0YbQuNGP0YLQsCDigJ4tLW9ubHnigJwg0YEg0J/QqtCi0LjRidCw4oCmIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi90YWcuYzo0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxOSBidWlsdGluL3RhZy5jOjU1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKIG1zZ3N0ciAi0J3QtdGB0YrRidC10YHRgtCy0YPQstCw0Ykg0YDQtdC20LjQvCDQvdCwINC40LfRh9C40YHRgtCy0LDQvdC1IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNAogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni1h4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgdGK0YEg0LfQsNC00LDQstCw0L3QtdGC0L4g0L3QsCDQv9GK0YLQuNGJ0LAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICLQutGA0LDRgtC60LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDMgYnVpbHRpbi9jb21taXQuYzoxNjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDQgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0LrQu9C+0L3QuNGC0LUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2Cittc2dpZCAic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDRgdC60LDRgtCw0L3QvtGC0L4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OAogbXNnaWQgInZlcnNpb24iCiBtc2dzdHIgItCy0LXRgNGB0LjRjyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1IGJ1aWx0aW4vY29tbWl0LmM6MTYyMSBidWlsdGluL3B1c2guYzo1MjIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MjEgYnVpbHRpbi9wdXNoLmM6NTMwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQ5CiBtc2dpZCAibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiCiBtc2dzdHIgItGE0L7RgNC80LDRgiDQvdCwINC40LfRhdC+0LTQsCDQt9CwINGH0LXRgtC10L3QtSDQvtGCINC/0YDQvtCz0YDQsNC80LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjMKIG1zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCiBtc2dzdHIgItC/0L7QtNGA0L7QsdC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+ICjRgdGC0LDQvdC00LDRgNGC0L3QvikiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAi0YDQsNC30LTQtdC70Y/QvdC1INC90LAg0LXQu9C10LzQtdC90YLQuNGC0LUg0YEg0L3Rg9C70LXQstC40Y8g0LfQvdCw0Log4oCeTlVM4oCcIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTMgYnVpbHRpbi9jb21taXQuYzoxNjI5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODEKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQgYnVpbHRpbi90YWcuYzozNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBidWlsdGluL2NvbW1pdC5jOjE2MjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NiBidWlsdGluL3RhZy5jOjQxMgogbXNnaWQgIm1vZGUiCiBtc2dzdHIgItCg0JXQltCY0JwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NyBidWlsdGluL2NvbW1pdC5jOjE2MjkKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1LiAg0JLRitC30LzQvtC20L3QuNGC0LUg0KDQldCW0JjQnNC4INGB0LAg4oCeYWxs4oCcICjQv9C+0LTRgNC+0LHQvdCwICIKICLQuNC90YTQvtGA0LzQsNGG0LjRjyksIOKAnm5vcm1hbOKAnCAo0LrRgNCw0YLQutCwINC40L3RhNC+0YDQvNCw0YbQuNGPKSwg4oCebm/igJwgKNCx0LXQtyDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1KS4gICIKICLQodGC0LDQvdC00LDRgNGC0L3QuNGP0YIg0KDQldCW0JjQnCDQtTog4oCeYWxs4oCcLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40LPQvdC+0YDQuNGA0LDQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU4IHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MSBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAi0JrQntCT0JAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYyCiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgpAQCAtNjg4NCwyMyArNzQ2NywyMyBAQAogItC10LTQvdCwINC+0YIg4oCeYWxs4oCcICjQstGB0LjRh9C60LgpLCDigJ5kaXJ0eeKAnCAo0YLQtdC30Lgg0YEg0L3QtdC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90LgpLCAiCiAi4oCedW50cmFja2Vk4oCcICjQvdC10YHQu9C10LTQtdC90LgpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NAogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0LIg0LrQvtC70L7QvdC4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MAogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgItGC0L7QutGDINGJ0L4g0YHRitC30LTQsNC00LXQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YLQviIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM5CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NDIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgItGC0L7QutGDINGJ0L4g0YHRitC30LTQsNC00LXQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvdC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgItC90LXRgdCy0YrRgNC30LDQvSDQstGA0YrRhSDigJ5IRUFE4oCcIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIgKNC90LDRh9Cw0LvQvdC+INC/0L7QtNCw0LLQsNC90LUpIgogCkBAIC02OTE2LDcgKzc0OTksNyBAQAogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgItCe0L/RhtC40Lgg0LfQsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzozNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MSBidWlsdGluL3RhZy5jOjQxMAogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgItCy0LfQuNC80LDQvdC1INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQvtGCINCk0JDQmdCbIgogCkBAIC02OTI4LDcgKzc1MTEsNyBAQAogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICLQt9Cw0LTQsNCy0LDQvdC1INC90LAg0JDQktCi0J7QoCDQt9CwINC/0L7QtNCw0LLQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9nYy5jOjMyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkzIGJ1aWx0aW4vZ2MuYzozNTgKIG1zZ2lkICJkYXRlIgogbXNnc3RyICLQlNCQ0KLQkCIKIApAQCAtNjkzNiw4ICs3NTE5LDggQEAKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCDQlNCQ0KLQkCDQt9CwINC/0L7QtNCw0LLQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTQgYnVpbHRpbi9tZXJnZS5jOjIyMCBidWlsdGluL25vdGVzLmM6Mzk4Ci0jOiBidWlsdGluL25vdGVzLmM6NTYxIGJ1aWx0aW4vdGFnLmM6MzQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQgYnVpbHRpbi9tZXJnZS5jOjIyMiBidWlsdGluL25vdGVzLmM6NDAxCisjOiBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vdGFnLmM6NDA4CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAi0KHQqtCe0JHQqdCV0J3QmNCVIgogCkBAIC02OTQ2LDcgKzc1MjksNyBAQAogbXNnc3RyICLQodCq0J7QkdCp0JXQndCY0JUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUiCiAKICM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo3NwogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAi0J/QntCU0JDQktCQ0J3QlSIKIApAQCAtNjk3NSw3ICs3NTU4LDcgQEAKIG1zZ3N0ciAiIgogItGB0LzRj9C90LAg0L3QsCDQsNCy0YLQvtGA0LAg0LTQsCDRgdGK0LLQv9Cw0LTQsCDRgSDQv9C+0LTQsNCy0LDRidC40Y8gKNC40LfQv9C+0LvQt9Cy0LAg0YHQtSDRgSDigJ4tQ+KAnC/igJ4tY+KAnC/igJ4tLWFtZW5k4oCcKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9sb2cuYzoxNDMwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L/QvtC70LUg0LfQsCDQv9C+0LTQv9C40YEg4oCUIOKAnlNpZ25lZC1vZmYtYnk64oCcIgogCkBAIC02OTkxLDcgKzc1NzQsNyBAQAogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgItGB0YLQsNC90LTQsNGA0YLQvdC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDMgYnVpbHRpbi90YWcuYzozNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMyBidWlsdGluL3RhZy5jOjQxMwogbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCiBtc2dzdHIgItC60L7QuCDQv9GA0LDQt9C90Lgg0LfQvdCw0YbQuCDQuCAj0LrQvtC80LXQvdGC0LDRgNC4INC00LAg0YHQtSDQvNCw0YXQsNGCINC+0YIg0YHRitC+0LHRidC10L3QuNGP0YLQsCIKIApAQCAtNjk5OSw4ICs3NTgyLDggQEAKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi0LLQvNGK0LrQstCw0L3QtSDQvdCwINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0LIg0YjQsNCx0LvQvtC90LAg0LfQsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDYgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3B1bGwuYzoxNjYKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNiBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTMKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCiBtc2dzdHIgItC/0L7QtNC/0LjRgdCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtdGC0L4g0YEgR1BHIgogCkBAIC03MDU0LDM1ICs3NjM3LDM1IEBACiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAi0L/QvtC30LLQvtC70Y/QstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRjyDRgSDQv9GA0LDQt9C90Lgg0YHRitC+0LHRidC10L3QuNGPIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAi0LLRitGA0YXQvtCy0L7RgtC+INC/0L7QtNCw0LLQsNC90LUg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICLQn9C+0LLRgNC10LTQtdC9INGE0LDQudC7INC30LAg0LLRitGA0YXQsCDQt9CwINGB0LvQuNCy0LDQvdC10YLQviDigJ5NRVJHRV9IRUFE4oCcICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxOQorIzogYnVpbHRpbi9jb21taXQuYzoxNzE3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAi0YDQtdC20LjQvNGK0YIg0L3QsCDRgdC70LjQstCw0L3QtSDigJ5NRVJHRV9NT0RF4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgItGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0LfQsCDQv9C+0LTQsNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC90L46ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgItCd0LXQuNC30LLRitGA0YjQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUg0L/QvtGA0LDQtNC4INC90LXRgNC10LTQsNC60YLQuNGA0LDQvdC+INGB0YrQvtCx0YnQtdC90LjQtS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE3NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAi0J3QtdC40LfQstGK0YDRiNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtSDQv9C+0YDQsNC00Lgg0L/RgNCw0LfQvdC+INGB0YrQvtCx0YnQtdC90LjQtS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxODAyCisjOiBidWlsdGluL2NvbW1pdC5jOjE4MDAKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKQEAgLTcwOTIsMTQwICs3Njc1LDE0MCBAQAogItC90LUg0LUg0LfQsNC/0LjRgdCw0L0uICDQn9GA0L7QstC10YDQtdGC0LUg0LTQsNC70Lgg0LTQuNGB0LrRitGCINC90LUg0LUg0L/RgNC10L/RitC70L3QtdC9INC40LvQuCDQvdC1INGB0YLQtVxuIgogItC/0YDQtdCy0LjRiNC40LvQuCDQtNC40YHQutC+0LLQsNGC0LAg0YHQuCDQutCy0L7RgtCwLiAg0KHQu9C10LQg0YLQvtCy0LAg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCByZXNldCBIRUFE4oCcLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo5CisjOiBidWlsdGluL2NvbmZpZy5jOjEwCiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBb0J7Qn9Cm0JjQr+KApl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAi0JzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtSDQvdCwINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QuNGPINGE0LDQudC7IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU2CisjOiBidWlsdGluL2NvbmZpZy5jOjU4CiBtc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQs9C70L7QsdCw0LvQvdC40Y8g0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QtdC9INGE0LDQudC7IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdC40YHRgtC10LzQvdC40Y8g0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QtdC9INGE0LDQudC7IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC40Y8g0YTQsNC50Lsg0L3QsCDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC30LDQtNCw0LTQtdC90LjRjyDQutC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC10L0g0KTQkNCZ0JsiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJibG9iLWlkIgogbXNnc3RyICLQmNCU0JXQndCi0JjQpNCY0JrQkNCi0J7QoCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgIiIKICLQuNC30YfQuNGC0LDQvdC1INC90LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGP0YLQsCDQvtGCIEJMT0Ig0YEg0YLQvtC30Lgg0JjQlNCV0J3QotCY0KTQmNCa0JDQotCe0KAg0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgItCU0LXQudGB0YLQstC40LUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRgtC+0LnQvdC+0YHRgjog0JjQnNCVIFvQoNCV0JPQo9Cb0K/QoNCV0J1f0JjQl9Cg0JDQl1/Ql9CQX9Ch0KLQntCZ0J3QntCh0KLQotCQXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MworIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LLRgdC40YfQutC4INGB0YLQvtC50L3QvtGB0YLQuDog0LrQu9GO0YcgW9Cg0JXQk9Cj0JvQr9Cg0JXQnV/QmNCX0KDQkNCXX9CX0JBf0KHQotCe0JnQndCe0KHQotCi0JBdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY0CisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0L7QudC90L7RgdGC0LjRgtC1INC30LAg0KDQldCT0KPQm9Cv0KDQndC40Y9f0JjQl9Cg0JDQlzog0KDQldCT0KPQm9Cv0KDQldCdX9CY0JfQoNCQ0Jdf0JfQkF/QmNCc0JXQotCeICIKICJb0KDQldCT0KPQm9Cv0KDQldCdX9CY0JfQoNCQ0Jdf0JfQkF/QodCi0J7QmdCd0J7QodCi0KLQkF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0L7QudC90L7RgdGC0YLQsCDQt9CwINGD0LrQsNC30LDQvdC40Y8g0LDQtNGA0LXRgTog0KDQkNCX0JTQldCbWy7Qn9Cg0J7QnNCV0J3Qm9CY0JLQkF0g0JDQlNCg0JXQoSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICIiCiAi0LfQsNC80Y/QvdCwINC90LAg0LLRgdC40YfQutC4INGB0YrQstC/0LDQtNCw0YnQuCDQv9GA0L7QvNC10L3Qu9C40LLQuDog0JjQnNCVINCh0KLQntCZ0J3QntCh0KIgIgogIlvQoNCV0JPQo9Cb0K/QoNCV0J1f0JjQl9Cg0JDQl1/Ql9CQX9Ch0KLQntCZ0J3QntCh0KLQotCQXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NworIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC90L7QstCwINC/0YDQvtC80LXQvdC70LjQstCwOiDQmNCc0JUg0KHQotCe0JnQndCe0KHQoiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC70LjQstCwOiDQmNCc0JUgW9Cg0JXQk9Cj0JvQr9Cg0JXQnV/QmNCX0KDQkNCXX9CX0JBf0KHQotCe0JnQndCe0KHQotCi0JBdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjcxCiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDRgdGK0LLQv9Cw0LTQsNGJ0Lg6INCY0JzQlSBb0KDQldCT0KPQm9Cv0KDQldCdX9CY0JfQoNCQ0Jdf0JfQkF/QodCi0J7QmdCd0J7QodCi0KLQkF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgItC/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwINGA0LDQt9C00LXQuzog0KHQotCQ0KDQnl/QmNCc0JUg0J3QntCS0J5f0JjQnNCVIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcxCisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0YDQsNC30LTQtdC7OiDQmNCc0JUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAi0LjQt9Cx0YDQvtGP0LLQsNC90LUg0L3QsCDQstGB0LjRh9C60LgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJvcGVuIGFuIGVkaXRvciIKIG1zZ3N0ciAi0L7RgtCy0LDRgNGP0L3QtSDQvdCwINGA0LXQtNCw0LrRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBzbG90IFtkZWZhdWx0XSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LfQsNC00LDQtNC10L3QuNGPINGG0LLRj9GCOiDQvdC+0LzQtdGAIFvRgdGC0LDQvdC00LDRgNGC0L3Qvl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKLW1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LfQsNC00LDQtNC10L3QuNGPINGG0LLRj9GCOiDQvdC+0LzQtdGAIFvRgdGC0LDQvdC00LDRgNGC0L3QuNGP0YIg0LjQt9GF0L7QtCDQtSDRgtC10YDQvNC40L3QsNC7XSIKK21zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LfQsNC00LDQtNC10L3QuNGPINGG0LLRj9GCOiDQvdC+0LzQtdGAICjRgdGC0LDQvdC00LDRgNGC0L3QuNGP0YIg0LjQt9GF0L7QtCDQtSDRgtC10YDQvNC40L3QsNC7KSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3OAogbXNnaWQgIlR5cGUiCiBtc2dzdHIgItCS0LjQtCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAi0KHQotCe0JnQndCe0KHQotCi0JAg0LUg4oCedHJ1ZeKAnCAo0LjRgdGC0LjQvdCwKSDQuNC70Lgg4oCeZmFsc2XigJwgKNC70YrQttCwKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICLQodCi0J7QmdCd0J7QodCi0KLQkCDQtSDRhtGP0LvQviwg0LTQtdGB0LXRgtC40YfQvdC+INGH0LjRgdC70L4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgItCh0KLQntCZ0J3QntCh0KLQotCQINC1IOKAni0tYm9vbOKAnCAo0LHRg9C70LXQstCwKSDQuNC70Lgg4oCeLS1pbnTigJwgKNC00LXRgdC10YLQuNGH0L3QviDRhtGP0LvQviDRh9C40YHQu9C+KSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgItCh0KLQntCZ0J3QntCh0KLQotCQINC1INC/0YrRgiAo0LTQviDRhNCw0LnQuyDQuNC70Lgg0LTQuNGA0LXQutGC0L7RgNC40Y8pIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgxCisjOiBidWlsdGluL2NvbmZpZy5jOjgzCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgItCU0YDRg9Cz0LgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgItGA0LDQt9C00LXQu9GP0L3QtSDQvdCwINGB0YLQvtC50L3QvtGB0YLQuNGC0LUg0YEg0L3Rg9C70LXQstC40Y8g0LfQvdCw0Log4oCeTlVM4oCcIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgzCisjOiBidWlsdGluL2NvbmZpZy5jOjg1CiBtc2dpZCAic2hvdyB2YXJpYWJsZSBuYW1lcyBvbmx5IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINC/0YDQvtC80LXQvdC70LjQstC40YLQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NAorIzogYnVpbHRpbi9jb25maWcuYzo4NgogbXNnaWQgInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIKIG1zZ3N0ciAi0L/RgNC4INGC0YrRgNGB0LXQvdC1INC00LAg0YHQtSDRg9Cy0LDQttCw0YIg0Lgg0LTQuNGA0LXQutGC0LjQstC40YLQtSDQt9CwINCy0LrQu9GO0YfQstCw0L3QtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NQorIzogYnVpbHRpbi9jb25maWcuYzo4NwogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvNGP0YHRgtC+0YLQviDQvdCwINC30LDQtNCw0LLQsNC90LUg0L3QsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwICjRhNCw0LnQuywg0YHRgtCw0L3QtNCw0YDRgtC10L0g0LLRhdC+0LQsICIKQEAgLTcyNTAsNzggKzc4MzMsOTQgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCisjOiBidWlsdGluL2NvbmZpZy5jOjQ5OQorbXNnaWQgIi0tbG9jYWwgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAi4oCeLS1sb2NhbOKAnCDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDRgdCw0LzQviDQsiDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICLQutC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC90LjRj9GCINGE0LDQudC7IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC9IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyNQorIzogYnVpbHRpbi9jb25maWcuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKICIgICAgICAgVXNlIGEgcmVnZXhwLCAtLWFkZCBvciAtLXJlcGxhY2UtYWxsIHRvIGNoYW5nZSAlcy4iCiBtc2dzdHIgIiIKICLQvNC90L7QttC10YHRgtCy0L4g0YHRgtC+0LnQvdC+0YHRgtC4INC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC80LXQvdGP0YIg0YEg0LXQtNC90LAuXG4iCi0i0JfQsCDQtNCwINC/0YDQvtC80LXQvdC40YLQtSDigJ4lc+KAnCwg0L/QvtC70LfQstCw0LnRgtC1INGA0LXQs9GD0LvRj9GA0LXQvSDQuNC30YDQsNC3INC40LvQuCDQvtGG0LjQuNGC0LUg4oCeLS1hZGTigJwg0Lgg4oCeLS0iCisi0JfQsCDQtNCwINC/0YDQvtC80LXQvdC40YLQtSDigJ4lc+KAnCwg0L/QvtC70LfQstCw0LnRgtC1INGA0LXQs9GD0LvRj9GA0LXQvSDQuNC30YDQsNC3INC40LvQuCDQvtC/0YbQuNC40YLQtSDigJ4tLWFkZOKAnCDQuCDigJ4tLSIKICJyZXBsYWNlLWFsbOKAnC4iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NwogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiBtc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NwogbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YDQsNC30LzQtdGA0LjRgtC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQstGK0LIg0YTQvtGA0LzQsNGCINC70LXRgdC90L4g0YfQtdGC0LjQvCDQvtGCINGF0L7RgNCwIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxOQogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSBbPGNvbW1pdC1pc2g+Li4uXSIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFvQntCf0KbQmNCv4oCmXSDQo9Ca0JDQl9CQ0KLQldCbX9Ca0KrQnF/Qn9Ce0JTQkNCS0JDQndCV4oCmIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMAogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSAtLWRpcnR5IgogbXNnc3RyICJnaXQgZGVzY3JpYmUgW9Ce0J/QptCY0K/igKZdIC0tZGlydHkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImhlYWQiCittc2dzdHIgItC+0YHQvdC+0LLQvdC+IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJsaWdodHdlaWdodCIKK21zZ3N0ciAi0LrRgNCw0YLQutC+IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJhbm5vdGF0ZWQiCittc2dzdHIgItCw0L3QvtGC0LjRgNCw0L3QviIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgItC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0LDQvdC+0YLQuNGA0LDQvSDQtdGC0LjQutC10YIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKIG1zZ3N0ciAi0LIg0LDQvdC+0YLQuNGA0LDQvdC40Y8g0LXRgtC40LrQtdGCIOKAniVz4oCcINC70LjQv9GB0LLQsCDQstCz0YDQsNC00LXQvdC+INC40LzQtSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIyMworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICLQtdGC0LjQutC10YLRitGCIOKAniVz4oCcINGC0YPQuiDQtSDQstGB0YrRidC90L7RgdGCIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg2IGJ1aWx0aW4vbG9nLmM6NDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0L3QsCDQvtCx0LXQutGCIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgogbXNnc3RyICLigJ4lc+KAnCDQtSDQvdC10L/RgNCw0LLQuNC70LXQvSDQvtCx0LXQutGCIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAi0L3QuNC60L7QuSDQtdGC0LjQutC10YIg0L3QtSDQvdCw0L/QsNGB0LLQsCDRgtC+0YfQvdC+IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNlYXJjaGluZyB0byBkZXNjcmliZSAlc1xuIgogbXNnc3RyICLRgtGK0YDRgdC10L3QtSDQt9CwINC+0L/QuNGB0LDQvdC40LUg0L3QsCDigJ4lc+KAnFxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzE5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICLRgtGK0YDRgdC10L3QtdGC0L4g0L/RgNC40LrQu9GO0YfQuCDQv9GA0Lgg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM0NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC03MzMwLDcgKzc5MjksNyBAQAogItCd0LjQutC+0Lkg0LDQvdC+0YLQuNGA0LDQvSDQtdGC0LjQutC10YIg0L3QtSDQvtC/0LjRgdCy0LAg4oCeJXPigJwuXG4iCiAi0KHRitGJ0LXRgdGC0LLRg9Cy0LDRgiDQuCDQvdC10LDQvdC+0YLQuNGA0LDQvdC4INC10YLQuNC60LXRgtC4LiAg0J/RgNC+0LHQstCw0LnRgtC1INGBINC+0L/RhtC40Y/RgtCwIOKAni0tdGFnc+KAnC4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC03MzM5LDEzICs3OTM4LDEyIEBACiAi0J3QuNC60L7QuSDQtdGC0LjQutC10YIg0L3QtSDQvtC/0LjRgdCy0LAg4oCeJXPigJwuXG4iCiAi0J/RgNC+0LHQstCw0LnRgtC1INGBINC+0L/RhtC40Y/RgtCwIOKAni0tYWx3YXlz4oCcINC40LvQuCDRgdGK0LfQtNCw0LnRgtC1INC10YLQuNC60LXRgtC4LiIKIAotIyBGSVhNRSAtIHBsdXJhbAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmF2ZXJzZWQgJWx1IGNvbW1pdHNcbiIKIG1zZ3N0ciAi0L/RgNC10YLRitGA0YHQtdC90Lgg0YHQsCAlbHUg0L/QvtC00LDQstCw0L3QuNGPXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKQEAgLTczNTQsMzI2ICs3OTUyLDQ0NyBAQAogItC+0YLQutGA0LjRgtC4INGB0LAg0L3QsNC0ICVpINC10YLQuNC60LXRgtCwLCDQuNC30LLQtdC00LXQvdC4INGB0LAg0L/QvtGB0LvQtdC00L3QuNGC0LUgJWksXG4iCiAi0YLRitGA0YHQtdC90LXRgtC+INCx0LUg0L/RgNC10LrRgNCw0YLQtdC90L4g0L/RgNC4IOKAniVz4oCcLlxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiBtc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKIG1zZ3N0ciAi0L7RgtC60YDQuNCy0LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LAsINC60L7QudGC0L4g0YHQu9C10LTQstCwINC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDIKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICIiCiAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDRgtGA0LDRgdC40YDQsNC90LUg0L3QsCDRgdGC0YDQsNGC0LXQs9C40Y/RgtCwINC30LAg0YLRitGA0YHQtdC90LUg0L3QsCAiCiAi0YHRgtCw0L3QtNCw0YDRgtC90LDRgtCwINCz0YDQtdGI0LrQsCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MwogbXNnaWQgInVzZSBhbnkgcmVmIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC/0YDQvtC40LfQstC+0LvQtdC9INGD0LrQsNC30LDRgtC10LsiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDQKIG1zZ2lkICJ1c2UgYW55IHRhZywgZXZlbiB1bmFubm90YXRlZCIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQstGB0LXQutC4INC10YLQuNC60LXRgiDigJQg0LLQutC70Y7Rh9C40YLQtdC70L3QviDQuCDQvdC10LDQvdC+0YLQuNGA0LDQvdC40YLQtSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgItCy0LjQvdCw0LPQuCDQtNCwINGB0LUg0L/QvtC70LfQstCwINC00YrQu9Cz0LjRj9GCINGE0L7RgNC80LDRgiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAi0L/RgNC+0YHQu9C10LTRj9Cy0LDQvdC1INGB0LDQvNC+INC90LAg0L/RitGA0LLQuNGPINGA0L7QtNC40YLQtdC7IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ5CiBtc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YLQvtGH0L3QuNGC0LUg0YHRitCy0L/QsNC00LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTEKIG1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgogbXNnc3RyICLQtNCwINGB0LUg0YLRitGA0YHQuCDRgdCw0LzQviDQsiDRgtC+0LfQuCDQkdCg0J7QmSDQv9C+0YHQu9C10LTQvdC4INC10YLQuNC60LXRgtC4ICjRgdGC0LDQvdC00LDRgNGC0L3QvjogMTApIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDUzCiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi0LTQsCDRgdC1INGC0YrRgNGB0Lgg0YHQsNC80L4g0LjQt9C80LXQttC00YMg0LXRgtC40LrQtdGC0LjRgtC1INC90LDQv9Cw0YHQstCw0YnQuCDRgtC+0LfQuCDQqNCQ0JHQm9Ce0J0iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAgYnVpbHRpbi9uYW1lLXJldi5jOjMyMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NQorbXNnaWQgImRvIG5vdCBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAi0LTQsCDQvdC1INGB0LUg0YLRitGA0YHQuCDQuNC30LzQtdC20LTRgyDQtdGC0LjQutC10YLQuNGC0LUg0L3QsNC/0LDRgdCy0LDRidC4INGC0L7Qt9C4INCo0JDQkdCb0J7QnSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NyBidWlsdGluL25hbWUtcmV2LmM6NDA2CiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGK0LrRgNCw0YLQtdC90L4g0LjQvNC1INC90LAg0L7QsdC10LrRgiDQutCw0YLQviDRgNC10LfQtdGA0LLQtdC9INCy0LDRgNC40LDQvdGCIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU4IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjEKIG1zZ2lkICJtYXJrIgogbXNnc3RyICLQnNCQ0KDQmtCV0KAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTkKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtCw0LrRitCyINCc0JDQoNCa0JXQoCDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+ICjRgdGC0LDQvdC00LDRgNGC0L3QviDQtSDigJ4tZGlydHnigJwpIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDMwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDYyCittc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBicm9rZW4gd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1icm9rZW5cIikiCittc2dzdHIgIiIKKyLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQsNC60YrQsiDQnNCQ0KDQmtCV0KAg0L3QsCDRgdGH0YPQv9C10L3QvtGC0L4g0YDQsNCx0L7RgtC90L4g0LTRitGA0LLQviAo0YHRgtCw0L3QtNCw0YDRgtC90L4g0LUg4oCeLWJyb2tlbuKAnCkiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODAKIG1zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1sb25n4oCcINC4IOKAni0tYWJicmV2PTDigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MDkKIG1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKIG1zZ3N0ciAi0J3QtSDRgdCwINC+0YLQutGA0LjRgtC4INC40LzQtdC90LAg4oCUINC90LjRidC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtC/0LjRgdCw0L3Qvi4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1kaXJ0eeKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0YPQutCw0LfQsNGC0LXQuyDQutGK0Lwg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9kaWZmLmM6ODYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQKK21zZ2lkICItLWJyb2tlbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tYnJva2Vu4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDRg9C60LDQt9Cw0YLQtdC7INC60YrQvCDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAi4oCeJXPigJw6INC90LUg0LUg0L3QuNGC0L4g0L7QsdC40LrQvdC+0LLQtdC9INGE0LDQudC7LCDQvdC40YLQviDRgdC40LzQstC+0LvQvdCwINCy0YDRitC30LrQsCIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjM3CisjOiBidWlsdGluL2RpZmYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQvtC/0YbQuNGPOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYxCisjOiBidWlsdGluL2RpZmYuYzozNTkKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0J3QtSDQtSDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCBHaXQiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwNAorIzogYnVpbHRpbi9kaWZmLmM6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICLQt9Cw0LTQsNC00LXQvSDQtSDQvdC10L/RgNCw0LLQuNC70LXQvSDQvtCx0LXQutGCIOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEzCisjOiBidWlsdGluL2RpZmYuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAi0LfQsNC00LDQtNC10L3QuCDRgdCwINC/0L7QstC10YfQtSDQvtGCIDIg0L7QsdC10LrRgtCwIEJMT0I6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MjAKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICLQt9Cw0LTQsNC00LXQvSDQtSDQvdC10L/QvtC00LTRitGA0LbQsNC9INC+0LHQtdC60YIg4oCeJXPigJwuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOQorbXNnaWQgImdpdCBkaWZmdG9vbCBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IGRpZmZ0b29sIFvQntCf0KbQmNCv4oCmXSBb0J/QntCU0JDQktCQ0J3QlSBb0J/QntCU0JDQktCQ0J3QlV1dIFtbLS1dINCf0KrQouKApl0iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkOiAlZCIKK21zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC00LXQudGB0YLQstC40LUg0YEg0LjQt9GF0L7QtNC10L0g0LrQvtC0OiAlZCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICLRgdC40LzQstC+0LvQvdCw0YLQsCDQstGA0YrQt9C60LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L3QsCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rIGZpbGUgJXMiCittc2dzdHIgItGE0LDQudC70YrRgiwg0YHQvtGH0LXQvSDQvtGCINGB0LjQvNCy0L7Qu9C90LDRgtCwINCy0YDRitC30LrQsCDigJ4lc+KAnCwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIGZvciBzeW1saW5rICVzIgorbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQt9CwINGB0LjQvNCy0L7Qu9C90LDRgtCwINCy0YDRitC30LrQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjQwMworbXNnaWQgIiIKKyJjb21iaW5lZCBkaWZmIGZvcm1hdHMoJy1jJyBhbmQgJy0tY2MnKSBhcmUgbm90IHN1cHBvcnRlZCBpblxuIgorImRpcmVjdG9yeSBkaWZmIG1vZGUoJy1kJyBhbmQgJy0tZGlyLWRpZmYnKS4iCittc2dzdHIgIiIKKyLQutC+0LzQsdC40L3QuNGA0LDQvdC40YLQtSDRhNC+0YDQvNCw0YLQuCDQvdCwINGA0LDQt9C70LjQutC40YLQtSAo4oCeLWPigJwg0Lgg4oCeLS1jY+KAnCkg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LDRglxuIgorItCyINGA0LXQttC40LzQsCDQt9CwINGA0LDQt9C70LjQutC4INCy0YrRgNGF0YMg0LTQuNGA0LXQutGC0L7RgNC40LggKOKAni1k4oCcINC4IOKAni0tZGlyLWRpZmbigJwpLiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJib3RoIGZpbGVzIG1vZGlmaWVkOiAnJXMnIGFuZCAnJXMnLiIKK21zZ3N0ciAi0Lgg0LTQstCw0YLQsCDRhNCw0LnQu9CwINGB0LAg0L/RgNC+0LzQtdC90LXQvdC4OiDigJ4lc+KAnCDQuCDigJ4lc+KAnC4iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKK21zZ2lkICJ3b3JraW5nIHRyZWUgZmlsZSBoYXMgYmVlbiBsZWZ0LiIKK21zZ3N0ciAi0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0LUg0LjQt9C+0YHRgtCw0LLQtdC90L4uIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKK21zZ3N0ciAi0LIg4oCeJXPigJwg0LjQvNCwINCy0YDQtdC80LXQvdC90Lgg0YTQsNC50LvQvtCy0LUuIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCittc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCittc2dzdHIgItCy0YrQt9C80L7QttC90L4g0LUg0LTQsCDQs9C4INC40LfRh9C40YHRgtC40YLQtSDQuNC70Lgg0LLRitC30YHRgtCw0L3QvtCy0LjRgtC1IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njg5Cittc2dpZCAidXNlIGBkaWZmLmd1aXRvb2xgIGluc3RlYWQgb2YgYGRpZmYudG9vbGAiCittc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZGlmZi5ndWl0b29s4oCcINCy0LzQtdGB0YLQviDigJ5kaWZmLnRvb2zigJwiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTEKK21zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKK21zZ3N0ciAi0YDQsNC30LvQuNC60LAg0L/QviDQtNC40YDQtdC60YLQvtGA0LjQuCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5MworbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKK21zZ3N0ciAi0YHRgtCw0YDRgtC40YDQsNC90LUg0L3QsCDQn9Cg0J7Qk9Cg0JDQnNCQ0YLQsCDQt9CwINGA0LDQt9C70LjQutC4INCx0LXQtyDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk5Cittc2dpZCAidXNlIHN5bWxpbmtzIGluIGRpci1kaWZmIG1vZGUiCittc2dzdHIgItGB0LvQtdC00LLQsNC90LUg0L3QsCDRgdC40LzQstC+0LvQvdC40YLQtSDQstGA0YrQt9C60Lgg0L/RgNC4INGA0LDQt9C70LjQutCwINC/0L4g0LTQuNGA0LXQutGC0L7RgNC40LgiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDAKK21zZ2lkICI8dG9vbD4iCittc2dzdHIgItCf0KDQntCT0KDQkNCc0JAiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKK21zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCittc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YPQutCw0LfQsNC90LDRgtCwINCf0KDQntCT0KDQkNCc0JAiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDMKK21zZ2lkICJwcmludCBhIGxpc3Qgb2YgZGlmZiB0b29scyB0aGF0IG1heSBiZSB1c2VkIHdpdGggYC0tdG9vbGAiCittc2dzdHIgIiIKKyLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdC/0LjRgdGK0Log0YEg0LLRgdC40YfQutC4INCf0KDQntCT0KDQkNCc0LgsINC60L7QuNGC0L4g0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9C30LLQsNGCINGBINC+0L/RhtC40Y/RgtCwIOKAni0tIgorInRvb2zigJwiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKK21zZ2lkICIiCisibWFrZSAnZ2l0LWRpZmZ0b29sJyBleGl0IHdoZW4gYW4gaW52b2tlZCBkaWZmIHRvb2wgcmV0dXJucyBhIG5vbiAtIHplcm8gZXhpdCAiCisiY29kZSIKK21zZ3N0ciAiIgorIuKAnmdpdC1kaWZmdG9vbOKAnCDQtNCwINGB0L/RgNC1INGA0LDQsdC+0YLQsCwg0LrQvtCz0LDRgtC+INGB0YLQsNGA0YLQuNGA0LDQvdCw0YLQsCDQn9Cg0J7Qk9Cg0JDQnNCQINC30LDQstGK0YDRiNC4INGBICIKKyLQvdC10L3Rg9C70LXQsiDQutC+0LQiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKK21zZ2lkICI8Y29tbWFuZD4iCittc2dzdHIgItCa0J7QnNCQ0J3QlNCQIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5Cittc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgorbXNnc3RyICLQutC+0LzQsNC90LTQsCDQt9CwINGA0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQuCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjczMworbXNnaWQgIm5vIDx0b29sPiBnaXZlbiBmb3IgLS10b29sPTx0b29sPiIKK21zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDigJ4tLXRvb2w90J/QoNCe0JPQoNCQ0JzQkOKAnCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MAorbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKK21zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdCwINC60L7QvNCw0L3QtNCwINC30LAg4oCeLS1leHRjbWQ90JrQntCc0JDQndCU0JDigJwiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyNgogbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiBtc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBb0J7Qn9Cm0JjQmF/Ql9CQX9Ch0J/QmNCh0KrQmtCQX9ChX9CS0JXQoNCh0JjQmF0iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICLQodGK0L7QsdGJ0LXQvdC40LUg0LfQsCDQvdCw0L/RgNC10LTRitC60LAg0L3QsCDQstGB0LXQutC4INGC0LDQutGK0LIg0JHQoNCe0Jkg0L7QsdC10LrRgtCwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICLQmtCw0Log0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0LLQsNGCINC/0L7QtNC/0LjRgdCw0L3QuNGC0LUg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICLQmtCw0Log0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0LLQsNGCINC10YLQuNC60LXRgtC40YLQtSDQvdCwINGE0LjQu9GC0YDQuNGA0LDQvdC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTAKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAi0JfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LzQsNGA0LrQtdGA0LjRgtC1INCyINGC0L7Qt9C4INCk0JDQmdCbIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkyCiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICLQktC90LDRgdGP0L3QtSDQvdCwINC80LDRgNC60LXRgNC40YLQtSDQvtGCINGC0L7Qt9C4INCk0JDQmdCbIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk0CiBtc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCiBtc2dzdHIgItCU0LAg0YHQtSDQuNC30L/QvtC70LfQstCwINC40LfQutGD0YHRgtCy0LXQvdC+INC40LzQtSDQvdCwINGH0L7QstC10Log0L/RgNC4INC70LjQv9GB0LAg0L3QsCDQt9Cw0LTQsNCy0LDRiSDQtdGC0LjQutC10YLQsCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NgogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDRhtGP0LvQvtGC0L4g0LTRitGA0LLQviDQt9CwINCy0YHRj9C60L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5OAogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICLQmNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC80LDRgNC60LXRgCDQt9CwINC30LDQstGK0YDRiNCy0LDQvdC1INC90LAg0L/QvtGC0L7QutCwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk3CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICLQkdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0L7QsdC10LrRgtC40YLQtSBCTE9CIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMAogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgItCj0JrQkNCX0JDQotCV0Jtf0J3QkF/QktCV0KDQodCY0K8iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTkKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAxCiBtc2dpZCAiQXBwbHkgcmVmc3BlYyB0byBleHBvcnRlZCByZWZzIgogbXNnc3RyICLQn9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQo9Ca0JDQl9CQ0KLQldCb0Y9f0J3QkF/QktCV0KDQodCY0K8g0LrRitC8INC40LfQvdC10YHQtdC90LjRgtC1INGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAyCiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAi0LDQvdC+0L3QuNC80LjQt9C40YDQsNC90LUg0L3QsCDQuNC30LLQtdC20LTQsNC90LDRgtCwINC40L3RhNC+0YDQvNCw0YbQuNGPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFvQntCf0KbQmNCv4oCmXSBb0KXQoNCQ0J3QmNCb0JjQqdCVIFvQo9Ca0JDQl9CQ0KLQldCb4oCmXV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMgorIzogYnVpbHRpbi9mZXRjaC5jOjIzCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCiBtc2dzdHIgImdpdCBmZXRjaCBb0J7Qn9Cm0JjQr+KApl0g0JPQoNCj0J/QkCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgW9Ce0J/QptCY0K/igKZdIFso0KXQoNCQ0J3QmNCb0JjQqdCVIHwg0JPQoNCj0J/QkCnigKZdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyNQogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFvQntCf0KbQmNCv4oCmXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE3NQorIzogYnVpbHRpbi9mZXRjaC5jOjkwIGJ1aWx0aW4vcHVsbC5jOjE4MgogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgItC00L7RgdGC0LDQstGP0L3QtSDQvtGCINCy0YHQuNGH0LrQuCDQvtGC0LTQsNC70LXRh9C10L3QuCDRhdGA0LDQvdC40LvQuNGJ0LAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL3B1bGwuYzoxNzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL3B1bGwuYzoxODUKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0LrRitC8IOKAni5naXQvRkVUQ0hfSEVBROKAnCDQstC80LXRgdGC0L4g0LfQsNC80Y/QvdCwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTgxCisjOiBidWlsdGluL2ZldGNoLmM6OTQgYnVpbHRpbi9wdWxsLmM6MTg4CiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICLQvtGC0LTQsNC70LXRh9C10L0g0L/RitGCLCDQutGK0LTQtdGC0L4g0LTQsCDRgdC1INC60LDRh9C4INC/0LDQutC10YLRitGCIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAwIGJ1aWx0aW4vcHVsbC5jOjE4MworIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE5MAogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQv9GA0LXQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDQu9C+0LrQsNC70L3QuNGPINC60LvQvtC9IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAyCisjOiBidWlsdGluL2ZldGNoLmM6OTcKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgItC00L7RgdGC0LDQstGP0L3QtSDQvtGCINC80L3QvtC20LXRgdGC0LLQviDQvtGC0LTQsNC70LXRh9C10L3QuCDRhdGA0LDQvdC40LvQuNGJ0LAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQgYnVpbHRpbi9wdWxsLmM6MTg1CisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0LTQvtGB0YLQsNCy0Y/QvdC1INC90LAg0LLRgdC40YfQutC4INC10YLQuNC60LXRgtC4INC4INC/0YDQuNC90LDQtNC70LXQttCw0YnQuCDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgItCx0LXQtyDQtNC+0YHRgtCw0LLRj9C90LXRgtC+INC90LAg0LLRgdC40YfQutC4INC10YLQuNC60LXRgtC4IOKAni0tbm8tdGFnc+KAnCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMwogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgItCx0YDQvtC5INC/0L7QtNC80L7QtNGD0LvQuCDQtNC+0YHRgtCw0LLQtdC90Lgg0L/QsNGA0LDQu9C10LvQvdC+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vcHVsbC5jOjE4OAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNSBidWlsdGluL3B1bGwuYzoxOTUKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAi0L7QutCw0YHRgtGA0Y/QvdC1INC90LAg0LrQu9C+0L3QuNGC0LUg0YHQu9C10LTRj9GJ0Lgg0LLQtdGH0LUg0L3QtdGB0YrRidC10YHRgtCy0YPQstCw0YnQuCDQvtGC0LTQsNC70LXRh9C10L3QuCDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTExIGJ1aWx0aW4vcHVsbC5jOjE5MQorIzogYnVpbHRpbi9mZXRjaC5jOjEwNiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjEyMwogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAi0J/QoNCYINCd0KPQltCU0JAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9wdWxsLmM6MTkyCisjOiBidWlsdGluL2ZldGNoLmM6MTA3CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAi0YPQv9GA0LDQstC70LXQvdC40LUg0L3QsCDRgNC10LrRg9GA0YHQuNCy0L3QvtGC0L4g0LTQvtGB0YLQsNCy0Y/QvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9C40YLQtSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNiBidWlsdGluL3B1bGwuYzoyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC40LfRgtC10LPQu9C10L3QuNGC0LUg0L/QsNC60LXRgtC4INGBINC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMwogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg0L7QsdC90L7QstGP0LLQsNC90LXRgtC+INC90LAg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICLQt9Cw0LTRitC70LHQvtGH0LDQstCw0L3QtSDQvdCwINC40YHRgtC+0YDQuNGP0YLQsCDQvdCwINC/0LvQuNGC0LrQviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKIG1zZ3N0ciAi0LfQsNC00YrQu9Cx0L7Rh9Cw0LLQsNC90LUg0L3QsCDQuNGB0YLQvtGA0LjRj9GC0LAg0L3QsCDQv9C70LjRgtC60L4g0YXRgNCw0L3QuNC70LjRidC1INC00L4g0L7Qv9GA0LXQtNC10LvQtdC90L4g0LLRgNC10LzQtSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoyMDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjQgYnVpbHRpbi9wdWxsLmM6MjA5CiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgItC/0YDQtdCy0YDRitGJ0LDQvdC1INCyINC/0YrQu9C90L4g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9mZXRjaC5jOjEyNiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJkaXIiCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTI3CiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINGC0L7QstCwINC/0YDQtdC0INC/0YrRgtGPINC90LAg0L/QvtC00LzQvtC00YPQu9CwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM1Ci1tc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCi1tc2dzdHIgItGB0YLQsNC90LTQsNGA0YLQtdC9INGA0LXQttC40Lwg0L3QsCDRgNC10LrRg9GA0YHQuNGPIgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMAorbXNnaWQgIiIKKyJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgorImZpbGVzKSIKK21zZ3N0ciAiIgorItGB0YLQsNC90LTQsNGA0YLQvdC+INGA0LXQutGD0YDRgdC40LLQvdC+INC40LfRgtC10LPQu9GP0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQuNGC0LUgKNGE0LDQudC70L7QstC10YLQtSDRgSDQvdCw0YHRgtGA0L7QudC60Lgg0YHQsCDRgSAiCisi0L/RgNC40L7RgNC40YLQtdGCKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQgYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICLQv9GA0LjQtdC80LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9C4LCDQutC+0LjRgtC+INC+0LHQvdC+0LLRj9Cy0LDRgiDigJ4uZ2l0L3NoYWxsb3figJwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCisjOiBidWlsdGluL2ZldGNoLmM6MTM1IGJ1aWx0aW4vcHVsbC5jOjIxNAogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAi0JrQkNCg0KLQkF/QoV/Qo9Ca0JDQl9CQ0KLQldCb0JgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjEyCisjOiBidWlsdGluL2ZldGNoLmM6MTM2IGJ1aWx0aW4vcHVsbC5jOjIxNQogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICLRg9C60LDQt9Cy0LDQvdC1INC90LAg0JrQkNCg0KLQkNGC0LBf0KFf0KPQmtCQ0JfQkNCi0JXQm9CYINC30LAg0LTQvtGB0YLQsNCy0Y/QvdC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzk4CisjOiBidWlsdGluL2ZldGNoLmM6Mzk0CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0LIg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGCIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTE0CisjOiBidWlsdGluL2ZldGNoLmM6NTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCiBtc2dzdHIgItC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeZmV0Y2gub3V0cHV04oCcINC1INGBINC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg4oCeJXPigJwg0LvQuNC/0YHQstCwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjExCisjOiBidWlsdGluL2ZldGNoLmM6NjA5CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJb0LDQutGC0YPQsNC70LjQt9C40YDQsNC9XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyNCBidWlsdGluL2ZldGNoLmM6NzA0CisjOiBidWlsdGluL2ZldGNoLmM6NjIyIGJ1aWx0aW4vZmV0Y2guYzo3MDIKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICJb0L7RgtGF0LLRitGA0LvQtdC9XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyNQorIzogYnVpbHRpbi9mZXRjaC5jOjYyMwogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLQsiDRgtC10LrRg9GJ0LjRjyDQutC70L7QvSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNC+0YHRgtCw0LLRjyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYzNAorIzogYnVpbHRpbi9mZXRjaC5jOjYzMgogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW9C+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LjRgtC1XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYzNSBidWlsdGluL2ZldGNoLmM6NjY4IGJ1aWx0aW4vZmV0Y2guYzo2ODQKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzMgYnVpbHRpbi9mZXRjaC5jOjY2NiBidWlsdGluL2ZldGNoLmM6NjgyCisjOiBidWlsdGluL2ZldGNoLmM6Njk3CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgItC70L7QutCw0LvQtdC9INGD0LrQsNC30LDRgtC10Lsg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0LHQvdC+0LLQtdC9IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjU0CisjOiBidWlsdGluL2ZldGNoLmM6NjUyCiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJb0L3QvtCyINC10YLQuNC60LXRgl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTUKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCiBtc2dzdHIgIlvQvdC+0LIg0LrQu9C+0L1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjYwCisjOiBidWlsdGluL2ZldGNoLmM6NjU4CiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJb0L3QvtCyINGD0LrQsNC30LDRgtC10LtdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Njk5CisjOiBidWlsdGluL2ZldGNoLmM6Njk3CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC+0LHQvdC+0LLRj9Cy0LDQvdC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA0CisjOiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKLW1zZ3N0ciAi0YHQu9C40LLQsNC90LXRgtC+INC90LUg0LUg0YLRgNC40LLQuNCw0LvQvdC+IgorbXNnc3RyICLRgdGK0YnQuNC90YHQutC+INGB0LvQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQ5CisjOiBidWlsdGluL2ZldGNoLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAi0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnCDQvdC1INC40LfQv9GA0LDRgtC4INCy0YHQuNGH0LrQuCDQvdC10L7QsdGF0L7QtNC40LzQuCDQvtCx0LXQutGC0LhcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2OQorIzogYnVpbHRpbi9mZXRjaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICIiCiAi0L7RgtGF0LLRitGA0LvRj9C90LUg0L3QsCDQstGK0YDRhdCwIOKAniVz4oCcLCDQt9Cw0YnQvtGC0L4g0L/Qu9C40YLQutC40YLQtSDRhdGA0LDQvdC40LvQuNGJ0LAg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiAiCiAi0L7QsdC90L7QstGP0LLQsNC90LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYgYnVpbHRpbi9mZXRjaC5jOjk1MgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NSBidWlsdGluL2ZldGNoLmM6OTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICLQntGCICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2NworIzogYnVpbHRpbi9mZXRjaC5jOjg2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtNzY4Myw1NSArODQwMiw1NSBAQAogIuKAnmdpdCByZW1vdGUgcHJ1bmUgJXPigJwsINC30LAg0LTQsCDQv9GA0LXQvNCw0YXQvdC10YLQtSDQvtGB0YLQsNGA0LXQu9C40YLQtSDQutC70L7QvdC4LCDQutC+0LjRgtC+XG4iCiAi0L/RgNC10LTQuNC30LLQuNC60LLQsNGCINC60L7QvdGE0LvQuNC60YLQsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyMgorIzogYnVpbHRpbi9mZXRjaC5jOjkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAo0L7QsdC10LrRgtGK0YIg4oCeJXPigJwg0YnQtSDRgdC1INC+0LrQsNC20LUg0LjQt9Cy0YrQvSDQutC70L7QvSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAo0L7QsdC10LrRgtGK0YIg4oCeJXPigJwg0LLQtdGH0LUg0LUg0LjQt9Cy0YrQvSDQutC70L7QvSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTQKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIlvQuNC30YLRgNC40YJdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMAorIzogYnVpbHRpbi9mZXRjaC5jOjk1NSBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIijQvdC40YnQvikiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0LTQvtGB0YLQsNCy0LjRgtC1INCyINGC0LXQutGD0YnQuNGPINC60LvQvtC9IOKAniVz4oCcINC90LAg0YXRgNCw0L3QuNC70LjRidC1LCDQutC+0LXRgtC+INC90LUg0LUg0LPQvtC70L4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAi0KHRgtC+0LnQvdC+0YHRgtGC0LAg4oCeJTIkc+KAnCDQt9CwINC+0L/RhtC40Y/RgtCwIOKAniUxJHPigJwg0L3QtSDQtSDRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDigJ4lMyRz4oCcIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAwMQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4lc+KAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAg0L/RgNC4IOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc3CisjOiBidWlsdGluL2ZldGNoLmM6MTA3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogbXNnc3RyICLQndC1INGB0LUg0L/QvtC00LTRitGA0LbQsCDQtNC+0YHRgtCw0LLRj9C90LUg0L7RgiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgItCU0L7RgdGC0LDQstGP0L3QtSDQvdCwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM5IGJ1aWx0aW4vcmVtb3RlLmM6OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM4IGJ1aWx0aW4vcmVtb3RlLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNC+0YHRgtCw0LLQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU2CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCkBAIC03NzM5LDIwNCArODQ1OCwyMDQgQEAKICLQndC1INGB0YLQtSDRg9C60LDQt9Cw0LvQuCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUuICDQl9Cw0LTQsNC50YLQtSDQuNC70Lgg0LDQtNGA0LXRgSwg0LjQu9C4INC40LzQtVxuIgogItC90LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1LCDQvtGC0LrRitC00LXRgtC+INC00LAg0YHQtSDQtNC+0YHRgtCw0LLRj9GCINC90L7QstC40YLQtSDQstC10YDRgdC40LguIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4MAorIzogYnVpbHRpbi9mZXRjaC5jOjEyNzkKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICLQotGA0Y/QsdCy0LAg0LTQsCDRg9C60LDQttC10YLQtSDQuNC80LUg0L3QsCDQtdGC0LjQutC10YIuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyMgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjEKIG1zZ2lkICJOZWdhdGl2ZSBkZXB0aCBpbiAtLWRlZXBlbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICLQntGC0YDQuNGG0LDRgtC10LvQvdCwINC00YrQu9Cx0L7Rh9C40L3QsCDQutCw0YLQviDQsNGA0LPRg9C80LXQvdGCINC90LAg4oCeLS1kZWVwZW7igJwg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI0CisjOiBidWlsdGluL2ZldGNoLmM6MTMyMwogbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tZGVlcGVu4oCcINC4IOKAni0tZGVwdGjigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0LXQtNC90LAg0YEg0LTRgNGD0LPQsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tZGVwdGjigJwg0Lgg4oCeLS11bnNoYWxsb3figJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMxCisjOiBidWlsdGluL2ZldGNoLmM6MTMzMAogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQvdC1INC80L7QttC10YLQtSDQtNCwINC40LfQv9C+0LvQt9Cy0LDRgtC1INC+0L/RhtC40Y/RgtCwIOKAni0tdW5zaGFsbG934oCcINCy0YrRgNGF0YMg0L/RitC70L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUzCisjOiBidWlsdGluL2ZldGNoLmM6MTM0OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICLQutGK0Lwg4oCeZ2l0IGZldGNoIC0tYWxs4oCcINC90LUg0LzQvtC20LXRgtC1INC00LAg0LTQvtCx0LDQstC40YLQtSDQsNGA0LPRg9C80LXQvdGCIOKAlCDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzU1CisjOiBidWlsdGluL2ZldGNoLmM6MTM1MQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiIgogItC60YrQvCDigJ5naXQgZmV0Y2ggLS1hbGzigJwg0L3QtSDQvNC+0LbQtdGC0LUg0LTQsCDQtNC+0LHQsNCy0LjRgtC1INCw0YDQs9GD0LzQtdC90YIg4oCUINGD0LrQsNC30LDRgtC10Lsg0L3QsCDQstC10YDRgdC40Y8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzY2CisjOiBidWlsdGluL2ZldGNoLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICLQndGP0LzQsCDQvdC40YLQviDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUsINC90LjRgtC+INCz0YDRg9C/0LAg0L7RgiDRhdGA0LDQvdC40LvQuNGJ0LAg0L3QsCDQuNC80LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzc0CisjOiBidWlsdGluL2ZldGNoLmM6MTM3MAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi0KPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDQs9GA0YPQv9CwINC4INGD0LrQsNC30LLQsNC90LXRgtC+INC90LAg0LLQtdGA0YHQuNGPINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTUKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSDQodCq0J7QkdCp0JXQndCY0JVdIFstLWxvZ1s90JHQoNCe0JldIHwgLS1uby1sb2ddIFstLWZpbGUg0KTQkNCZ0JtdIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NAogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAiIgogItCy0LzRitC60LLQsNC90LUg0L3QsCDQttGD0YDQvdCw0Lsg0YHRitGB0YLQvtGP0Ykg0YHQtSDQvtGCINC90LUg0L/QvtCy0LXRh9C1INC+0YIg0JHQoNCe0Jkg0LfQsNC/0LjRgdCwINC+0YIg0YHRitC60YDQsNGC0LXQvdC40Y8gIgogItC20YPRgNC90LDQuyIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjcKIG1zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgogbXNnc3RyICLRgdC40L3QvtC90LjQvCDQvdCwIOKAni0tbG9n4oCcICjQvtGB0YLQsNGA0Y/Qu9C+KSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICLQotCV0JrQodCiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAi0LfQsCDQvdCw0YfQsNC70L4g0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC00LAg0YHQtSDQv9C+0LvQt9Cy0LAg0KLQldCa0KHQoiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzIKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAi0YTQsNC50LssINC+0YIg0LrQvtC50YLQviDQtNCwINGB0LUg0YfQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMAogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWzxvcHRpb25zPl0gWzxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgW9Ce0J/QptCY0K/igKZdIFvQqNCQ0JHQm9Ce0J1dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9iamVjdD5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50cyDQntCR0JXQmtCiXSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPG9iamVjdD5dXSIKLW1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZlsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgW9Ce0JHQldCa0KJdXSIKLQogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMgotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxvYmplY3Q+XV0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMg0J7QkdCV0JrQol0iCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8Y29tbWl0Pl1dIgorbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBb0J/QntCU0JDQktCQ0J3QlV1dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjI3CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEzCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPGNvbW1pdD5dXSBbLS1uby1jb250YWlucyBbPGNvbW1pdD5dXSIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBb0J/QntCU0JDQktCQ0J3QlV1dIFstLW5vLWNvbnRhaW5zIFvQn9Ce0JTQkNCS0JDQndCVXV0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAi0YbQuNGC0LjRgNCw0L3QtSDQv9C+0LTRhdC+0LTRj9GJ0L4g0LfQsCDQutC+0LzQsNC90LTQvdC4INC40L3RgtC10YDQv9GA0LXRgtCw0YLQvtGA0Lgg0L3QsCDQvtCx0LLQuNCy0LrQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzAKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCiBtc2dzdHIgItGG0LjRgtC40YDQsNC90LUg0L/QvtC00YXQvtC00Y/RidC+INC30LAgcGVybCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcHl0aG9uIgogbXNnc3RyICLRhtC40YLQuNGA0LDQvdC1INC/0L7QtNGF0L7QtNGP0YnQviDQt9CwIHB5dGhvbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgVGNsIgogbXNnc3RyICLRhtC40YLQuNGA0LDQvdC1INC/0L7QtNGF0L7QtNGP0YnQviDQt9CwIHRjbCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNwogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDRgtC+0LfQuCDQkdCg0J7QmSDQvdCw0L/QsNGB0L3QsNGC0Lgg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vdGFnLmM6MzcyCi1tc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKLW1zZ3N0ciAi0KTQntCg0JzQkNCiINC30LAg0LjQt9GF0L7QtNCwIgotCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyCiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIHBvaW50cyBhdCB0aGUgZ2l2ZW4gb2JqZWN0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1LCDRgdC+0YfQtdGJ0Lgg0LrRitC8INCe0JHQldCa0KLQkCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINGB0LvQtdGC0LjRgtC1INGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQvdC10YHQu9C10YLQuNGC0LUg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSwg0LrQvtC40YLQviDRgdGK0LTRitGA0LbQsNGCINGC0L7QstCwINCf0J7QlNCQ0JLQkNCd0JUiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjUxOQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NworbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUsINC60L7QuNGC0L4g0L3QtSDRgdGK0LTRitGA0LbQsNGCINGC0L7QstCwINCf0J7QlNCQ0JLQkNCd0JUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU1NAogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQvdCwINC00LjRgNC10LrRgtC+0YDQuNC40YLQtSDRgSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU4OAorIzogYnVpbHRpbi9mc2NrLmM6NjQ2CiBtc2dpZCAiZ2l0IGZzY2sgWzxvcHRpb25zPl0gWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiZ2l0IGZzY2sgW9Ce0J/QptCY0K/igKZdIFvQntCR0JXQmtCi4oCmXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTk0CisjOiBidWlsdGluL2ZzY2suYzo2NTIKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC90LXQtNC+0YHRgtC40LbQuNC80LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTk1CisjOiBidWlsdGluL2ZzY2suYzo2NTMKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUg0LjQt9Cy0YrQvSDQutC70L7QvdC40YLQtSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTk2CisjOiBidWlsdGluL2ZzY2suYzo2NTQKIG1zZ2lkICJyZXBvcnQgdGFncyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LjRgtC1IgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTcKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NQogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQutC+0YDQtdC90L7QstC40YLQtSDQstGK0LfQu9C4IgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTgKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NgogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICLQt9Cw0LTQsNCy0LDQvdC1INC90LAg0L7QsdC10LrRgtC4INC+0YIg0LjQvdC00LXQutGB0LAg0LTQsCDRgdCwINC60L7RgNC10L3QvtCy0LgiCiAKICMgRklYTUUgYmFkIG1lc3NhZ2UKLSM6IGJ1aWx0aW4vZnNjay5jOjU5OQorIzogYnVpbHRpbi9mc2NrLmM6NjU3CiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICLQv9GA0L7RgdC70LXQtNGP0LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1INC+0YIg0LbRg9GA0L3QsNC70LAg0LrQsNGC0L4g0LPQu9Cw0LLQuCAo0YHRgtCw0L3QtNCw0YDRgtC90L4pIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDAKKyM6IGJ1aWx0aW4vZnNjay5jOjY1OAogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICLQtNC+0L/RitC70L3QuNGC0LXQu9C90L4g0LTQsCDRgdC1INC/0YDQvtCy0LXRgNGP0LLQsNGCINC/0LDQutC10YLQuNGC0LUg0Lgg0LDQu9GC0LXRgNC90LDRgtC40LLQvdC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwMQorIzogYnVpbHRpbi9mc2NrLmM6NjU5CiBtc2dpZCAiY2hlY2sgb25seSBjb25uZWN0aXZpdHkiCiBtc2dzdHIgItC/0YDQvtCy0LXRgNC60LAg0YHQsNC80L4g0L3QsCDQstGA0YrQt9C60LDRgtCwIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDIKKyM6IGJ1aWx0aW4vZnNjay5jOjY2MAogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAi0L/Qvi3RgdGC0YDQvtCz0Lgg0L/RgNC+0LLQtdGA0LrQuCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjA0CisjOiBidWlsdGluL2ZzY2suYzo2NjIKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQuNC30LLRitC9INC60LvQvtC90LjRgtC1INCyINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4uZ2l0L2xvc3QtZm91bmTigJwiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwNSBidWlsdGluL3BydW5lLmM6MTA3CisjOiBidWlsdGluL2ZzY2suYzo2NjMgYnVpbHRpbi9wcnVuZS5jOjEwNwogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjA2CisjOiBidWlsdGluL2ZzY2suYzo2NjQKIG1zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQv9C+0LTRgNC+0LHQvdC4INC40LzQtdC90LAg0L3QsCDQtNC+0YHRgtC40LbQuNC80LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjY1CisjOiBidWlsdGluL2ZzY2suYzo3MjUKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi9nYy5jOjI1CisjOiBidWlsdGluL2djLmM6MjYKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBnYyBb0J7Qn9Cm0JjQr+KApl0iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo3MgorIzogYnVpbHRpbi9nYy5jOjc5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgJXM6ICclcyciCi1tc2dzdHIgItCd0LXQv9GA0LDQstC40LvQtdC9ICVzOiDigJ4lc+KAnCIKK21zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5mc3RhdOKAnCDQstGK0YDRhdGDIOKAniVz4oCcOiAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjEzOQorIzogYnVpbHRpbi9nYy5jOjMxMQogIywgYy1mb3JtYXQKLW1zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKLW1zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC00YrQu9Cz0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0YEg0L7QsdC10LrRgtC4IOKAniUuKnPigJwiCittc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCec3RhdOKAnCDQstGK0YDRhdGDIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2djLmM6MjkwCisjOiBidWlsdGluL2djLmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTc5NTMsNDQgKzg2NzIsNDkgQEAKICJcbiIKICIlcyIKIAotIzogYnVpbHRpbi9nYy5jOjMyNworIzogYnVpbHRpbi9nYy5jOjM1OQogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICLQvtC60LDRgdGC0YDRj9C90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1LCDQutGK0Lwg0LrQvtC40YLQviDQvdC40YnQviDQvdC1INGB0L7Rh9C4IgogCi0jOiBidWlsdGluL2djLmM6MzI5CisjOiBidWlsdGluL2djLmM6MzYxCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICLQuNC30YfQtdGA0L/QsNGC0LXQu9C90L4g0YLRitGA0YHQtdC90LUg0L3QsCDQsdC+0LrQu9GD0LrQsCAo0LfQsCDRgdC80LXRgtC60LAg0L3QsCDQv9C+0LLQtdGH0LUg0LLRgNC10LzQtSDRgNCw0LHQvtGC0LApIgogCi0jOiBidWlsdGluL2djLmM6MzMwCisjOiBidWlsdGluL2djLmM6MzYyCiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAi0LLQutC70Y7Rh9Cy0LDQvdC1INC90LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QvtGC0L4g0YHRitCx0LjRgNCw0L3QtSDQvdCwINCx0L7QutC70YPQutCwIChhdXRvLWdjKSIKIAotIzogYnVpbHRpbi9nYy5jOjMzMQorIzogYnVpbHRpbi9nYy5jOjM2MwogbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgogbXNnc3RyICIiCiAi0LjQt9GA0LjRh9C90L4g0YHRgtCw0YDRgtC40YDQsNC90LUg0L3QsCDRgdGK0LHQuNGA0LDQvdC10YLQviDQvdCwINCx0L7QutC70YPQutCwLCDQtNC+0YDQuCDQuCDQsNC60L4g0LLQtdGH0LUg0YDQsNCx0L7RgtC4INC00YDRg9Cz0L4gIgogItGB0YrQsdC40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNzMKKyM6IGJ1aWx0aW4vZ2MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGdjLmxvZ2V4cGlyeSB2YWx1ZSAlcyIKK21zZ3N0ciAi0J3QtdGA0LDQt9C/0L7Qt9C90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg0L3QsCDigJ5nYy5sb2dleHBpcnnigJw6ICVzIgorCisjOiBidWlsdGluL2djLmM6NDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICIiCiAi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQvdCwINC30LDQtNC10L0g0YTQvtC9INC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviDQt9CwINC/0L4t0LTQvtCx0YDQsCAiCiAi0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70L3QvtGB0YIuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNzUKKyM6IGJ1aWx0aW4vZ2MuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICLQkNCy0YLQvtC80LDRgtC40YfQvdC+INC/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviDQt9CwINC/0L4t0LTQvtCx0YDQsCDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvQvdC+0YHRgi5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjM3NgorIzogYnVpbHRpbi9nYy5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtYW51YWwgaG91c2VrZWVwaW5nLlxuIgogbXNnc3RyICIiCiAi0J/QvtCz0LvQtdC00L3QtdGC0LUg0YDRitC60L7QstC+0LTRgdGC0LLQvtGC0L4g0LfQsCDQv9C+0LLQtdGH0LUg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LrQsNC6INC00LAg0LjQt9C/0YrQu9C90LjRgtC1IOKAnmdpdCBoZWxwICIKICJnY+KAnC5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjM5NworIzogYnVpbHRpbi9nYy5jOjQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKQEAgLTc5OTksMjU5ICs4NzIzLDI5MiBAQAogItC/0YDQvtGG0LXRgdCwOiAlPFBSSXVNQVg+ICjQsNC60L4g0YHRgtC1INGB0LjQs9GD0YDQvdC4LCDRh9C1INGC0L7QstCwINC90LUg0LUg0LLRj9GA0L3Qviwg0YLQvtCy0LAg0LjQt9C/0L7Qu9C30LLQsNC50YLQtVxuIgogItC+0L/RhtC40Y/RgtCwIOKAni0tZm9yY2XigJwpIgogCi0jOiBidWlsdGluL2djLmM6NDQxCisjOiBidWlsdGluL2djLmM6NDgwCiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICIiCiAi0JjQvNCwINC/0YDQtdC60LDQu9C10L3QviDQvNC90L7Qs9C+INC90LXQtNC+0YHRgtC40LbQuNC80LgsINC90LXQv9Cw0LrQtdGC0LjRgNCw0L3QuCDQvtCx0LXQutGC0LguXG4iCiAi0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcHJ1bmXigJwsINC30LAg0LTQsCDQs9C4INC+0LrQsNGB0YLRgNC40YLQtS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIzCisjOiBidWlsdGluL2dyZXAuYzoyNwogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgW9Ce0J/QptCY0K/igKZdIFstZV0g0KjQkNCR0JvQntCdIFvQktCV0KDQodCY0K/igKZdIFtbLS1dINCf0KrQouKApl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIxOQorIzogYnVpbHRpbi9ncmVwLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDog0L3QtdGD0YHQv9C10YjQvdC+INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINC90LjRiNC60LA6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoyNzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAi0LfQsNC00LDQtNC10L0g0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0g0LHRgNC+0Lkg0L3QuNGI0LrQuCAoJWQpINC30LAgJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MyBidWlsdGluL2dyZXAuYzo0ODgKKyMuIFRSQU5TTEFUT1JTOiAlcyBpcyB0aGUgY29uZmlndXJhdGlvbgorIy4gdmFyaWFibGUgZm9yIHR3ZWFraW5nIHRocmVhZHMsIGN1cnJlbnRseQorIy4gZ3JlcC50aHJlYWRzCisjLgorIzogYnVpbHRpbi9ncmVwLmM6MzAyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MgorIywgYy1mb3JtYXQKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgorbXNnc3RyICLQu9C40L/RgdCy0LAg0L/QvtC00LTRgNGK0LbQutCwINC30LAg0L3QuNGI0LrQuC4gIOKAniVz4oCcINGJ0LUg0YHQtSDQv9GA0LXQvdC10LHRgNC10LPQvdC1IgorCisjOiBidWlsdGluL2dyZXAuYzo3ODggYnVpbHRpbi9ncmVwLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAi0LTRitGA0LLQvtGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L3QviAoJXMpIgogCi0jOiBidWlsdGluL2dyZXAuYzo1MDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuCDigJ5ncmVw4oCcINC+0YIg0L7QsdC10LrRgiDQvtGCINCy0LjQtNCwICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4lY+KAnCDQvtGH0LDQutCy0LAg0YfQuNGB0LvQviDQt9CwINCw0YDQs9GD0LzQtdC90YIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0NworIzogYnVpbHRpbi9ncmVwLmM6OTk5CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAi0YLRitGA0YHQtdC90LUg0LIg0LjQvdC00LXQutGB0LAsINCwINC90LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0OQorIzogYnVpbHRpbi9ncmVwLmM6MTAwMQogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICLRgtGK0YDRgdC10L3QtSDQuCDQstGK0LIg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC90LUg0YHQsCDQv9C+0LQg0YPQv9GA0LDQstC70LXQvdC40LXRgtC+INC90LAgZ2l0IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDMKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgItGC0YrRgNGB0LXQvdC1INC4INCyINGB0LvQtdC00LXQvdC40YLQtSwg0Lgg0LIg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUzCisjOiBidWlsdGluL2dyZXAuYzoxMDA1CiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSDRg9C60LDQt9Cw0L3QuCDQsiDigJ4uZ2l0aWdub3Jl4oCcIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKK21zZ2lkICJyZWN1cnNpdmVseSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCittc2dzdHIgItGA0LXQutGD0YDRgdC40LLQvdC+INGC0YrRgNGB0LXQvdC1INCy0YrQsiDQstGB0LjRh9C60Lgg0L/QvtC00LzQvtC00YPQu9C4IgorCisjOiBidWlsdGluL2dyZXAuYzoxMDA5Cittc2dpZCAiYmFzZW5hbWUiCittc2dzdHIgItCe0KHQndCe0JLQndCeINCY0JzQlSIKKworIzogYnVpbHRpbi9ncmVwLmM6MTAxMAorbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCittc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQntCh0J3QntCS0J3QntGC0L4g0JjQnNCVINC90LAg0L/RgNC+0LXQutGC0LAg0LrRitC8INC40LfRhdC+0LTQsCIKKworIzogYnVpbHRpbi9ncmVwLmM6MTAxMwogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC90LUg0YHRitCy0L/QsNC00LDRgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU4CisjOiBidWlsdGluL2dyZXAuYzoxMDE1CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAi0LHQtdC3INC30L3QsNGH0LXQvdC40LUg0L3QsCDRgNC10LPQuNGB0YLRitGA0LAg0L3QsCDQsdGD0LrQstC40YLQtSAo0LPQu9Cw0LLQvdC4L9C80LDQu9C60LgpIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAi0L3QsNC/0LDRgdCy0LDQvdC1INC90LAg0YjQsNCx0LvQvtC90LjRgtC1INGB0LDQvNC+INC/0L4g0LPRgNCw0L3QuNGG0LjRgtC1INC90LAg0LTRg9C80LjRgtC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTkKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICLQvtCx0YDQsNCx0L7RgtCy0LDQvdC1INC90LAg0LTQstC+0LjRh9C90LjRgtC1INGE0LDQudC70L7QstC1INC60LDRgtC+INGC0LXQutGB0YLQvtCy0LgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAorIzogYnVpbHRpbi9ncmVwLmM6MTAyMQogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAi0L/RgNC10YHQutCw0YfQsNC90LUg0L3QsCDQtNCy0L7QuNGH0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2NworIzogYnVpbHRpbi9ncmVwLmM6MTAyNAogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAiIgogItC+0LHRgNCw0LHQvtGC0LLQsNC90LUg0L3QsCDQtNCy0L7QuNGH0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0YfRgNC10Lcg0YTQuNC70YLRgNC4INC30LAg0L/RgNC10L7QsdGA0LDQt9GD0LLQsNC90LUg0LrRitC8INGC0LXQutGB0YIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OQorIzogYnVpbHRpbi9ncmVwLmM6MTAyNgogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAi0L3QsNCy0LvQuNC30LDQvdC1INC80LDQutGB0LjQvNCw0LvQvdC+INC90LAg0YLQsNC30Lgg0JTQqtCb0JHQntCn0JjQndCQINCyINC00YrRgNCy0L7RgtC+IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzAKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi0YDQsNC30YjQuNGA0LXQvdC4INGA0LXQs9GD0LvRj9GA0L3QuCDQuNC30YDQsNC30Lgg0L/QviBQT1NJWCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc2CisjOiBidWlsdGluL2dyZXAuYzoxMDMzCiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICLQvtGB0L3QvtCy0L3QuCDRgNC10LPRg9C70Y/RgNC90Lgg0LjQt9GA0LDQt9C4INC/0L4gUE9TSVggKNGB0YLQsNC90LTQsNGA0YLQvdC+KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc5CisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgItGI0LDQsdC70L7QvdC40YLQtSDRgdCwINC00L7RgdC70L7QstC90Lgg0L3QuNC30L7QstC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzkKIG1zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgItGA0LXQs9GD0LvRj9GA0L3QuCDQuNC30YDQsNC30Lgg0L3QsCBQZXJsIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDIKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QvtC80LXRgNCw0YLQsCDQvdCwINGA0LXQtNC+0LLQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgorIzogYnVpbHRpbi9ncmVwLmM6MTA0MwogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvNC10L3QsNGC0LAg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NworIzogYnVpbHRpbi9ncmVwLmM6MTA0NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINGE0LDQudC70L7QstC10YLQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg5CisjOiBidWlsdGluL2dyZXAuYzoxMDQ2CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC+0YLQvdC+0YHQuNGC0LXQu9C90LjRgtC1INC40LzQtdC90LAg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUg0YHQv9GA0Y/QvNC+INC+0YHQvdC+0LLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwICIKICLRhdGA0LDQvdC40LvQuNGJ0LXRgtC+IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDgKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC40LzQtdC90LDRgtCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1INCx0LXQtyDQvdCw0L/QsNGB0LLQsNGJ0LjRgtC1INGA0LXQtNC+0LLQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkzCisjOiBidWlsdGluL2dyZXAuYzoxMDUwCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgItGB0LjQvdC+0L3QuNC8INC90LAg4oCeLS1maWxlcy13aXRoLW1hdGNoZXPigJwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgorIzogYnVpbHRpbi9ncmVwLmM6MTA1MwogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC40LzQtdC90LDRgtCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC90LUg0YHRitC00YrRgNC20LDRgiDRgNC10LQsINC90LDQv9Cw0YHQstCw0Ykg0L3QsCAiCiAi0YjQsNCx0LvQvtC90LAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAorIzogYnVpbHRpbi9ncmVwLmM6MTA1NQogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90YPQu9C10LLQuNGPINC30L3QsNC6IOKAnk5VTOKAnCDRgdC70LXQtCDQstGB0Y/QutC+INC40LzQtSDQvdCwINGE0LDQudC7IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQsdGA0L7RjyDQvdCwINGB0YrQstC/0LDQtNC10L3QuNGP0YLQsCDQstC80LXRgdGC0L4g0L3QsNC/0LDRgdCy0LDRidC40YLQtSDRgNC10LTQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMQorIzogYnVpbHRpbi9ncmVwLmM6MTA1OAogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICLQvtGG0LLQtdGC0Y/QstCw0L3QtSDQvdCwINC90LDQv9Cw0YHQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAzCisjOiBidWlsdGluL2dyZXAuYzoxMDYwCiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YDQsNC30LXQvSDRgNC10LQg0LzQtdC20LTRgyDQvdCw0L/QsNGB0LLQsNC90LjRj9GC0LAg0L7RgiDRgNCw0LfQu9C40YfQvdC4INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjIKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCiAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvNC10YLQviDQvdCwINGE0LDQudC70LAg0YHQsNC80L4g0LLQtdC00L3RitC2INC30LAg0LLRgdC40YfQutC4INC90LDQv9Cw0YHQstCw0L3QuNGPINC+0YIg0YLQvtC30Lgg0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAorIzogYnVpbHRpbi9ncmVwLmM6MTA2NQogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgtCw0LrRitCyINCR0KDQntCZINGA0LXQtNC+0LLQtSDQv9GA0LXQtNC4INC4INGB0LvQtdC0INC90LDQv9Cw0YHQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzExCisjOiBidWlsdGluL2dyZXAuYzoxMDY4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YLQsNC60YrQsiDQkdCg0J7QmSDRgNC10LTQvtCy0LUg0L/RgNC10LTQuCDQvdCw0L/QsNGB0LLQsNC90LjRj9GC0LAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMworIzogYnVpbHRpbi9ncmVwLmM6MTA3MAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YLQsNC60YrQsiDQkdCg0J7QmSDRgNC10LTQvtCy0LUg0YHQu9C10LQg0L3QsNC/0LDRgdCy0LDQvdC40Y/RgtCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzIKIG1zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINGC0LDQutGK0LIg0JHQoNCe0Jkg0YDQsNCx0L7RgtC10YnQuCDQvdC40YjQutC4IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICLRgdC40L3QvtC90LjQvCDQvdCwIOKAni1DINCR0KDQntCZ4oCcIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzYKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgNC10LQg0YEg0LjQvNC10YLQviDQvdCwINGE0YPQvdC60YbQuNGP0YLQsCwg0LIg0LrQvtGP0YLQviDQtSDQvdCw0L/QsNGB0L3QsNGCINGI0LDQsdC70L7QvdCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzgKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L7QsdGF0LLQsNGJ0LDRidCw0YLQsCDRhNGD0L3QutGG0LjRjyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI0CisjOiBidWlsdGluL2dyZXAuYzoxMDgxCiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgItC40LfRh9C40YLQsNC90LUg0L3QsCDRiNCw0LHQu9C+0L3QuNGC0LUg0L7RgiDQpNCQ0JnQmyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI2CisjOiBidWlsdGluL2dyZXAuYzoxMDgzCiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICLQvdCw0L/QsNGB0LLQsNC90LUg0L3QsCDQqNCQ0JHQm9Ce0J0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyOAorIzogYnVpbHRpbi9ncmVwLmM6MTA4NQogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgItC60L7QvNCx0LjQvdC40YDQsNC90LUg0L3QsCDRiNCw0LHQu9C+0L3QuNGC0LUg0YPQutCw0LfQsNC90Lgg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLWXigJwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MAorIzogYnVpbHRpbi9ncmVwLmM6MTA5NwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICIiCiAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LjQt9GF0L7QtC4gINCY0LfRhdC+0LTQvdC40Y/RgiDQutC+0LQg0YPQutCw0LfQstCwINC90LDQu9C40YfQuNC10YLQviDQvdCwICIKICLQvdCw0L/QsNGB0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MgorIzogYnVpbHRpbi9ncmVwLmM6MTA5OQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgNC10LTQvtCy0LUg0YHQsNC80L4g0L7RgiDRhNCw0LnQu9C+0LLQtdGC0LUsINC60L7QuNGC0L4g0L3QsNC/0LDRgdCy0LDRgiDQvdCwINCy0YHQuNGH0LrQuCDRiNCw0LHQu9C+0L3QuCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ0CisjOiBidWlsdGluL2dyZXAuYzoxMTAxCiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC00YrRgNCy0L7RgtC+INC30LAg0LDQvdCw0LvQuNC3INC90LAg0YDQtdCz0YPQu9GP0YDQvdC40Y8g0LjQt9GA0LDQtyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ4CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0LXQs9C70LXQtCDQv9C+INGB0YLRgNCw0L3QuNGG0LgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0OAorIzogYnVpbHRpbi9ncmVwLmM6MTEwNQogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGK0LLQv9Cw0LTQsNGJ0LjRgtC1INGE0LDQudC70L7QstC1INCyINC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0LXQs9C70LXQtCDQv9C+INGB0YLRgNCw0L3QuNGG0LgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc1MQorIzogYnVpbHRpbi9ncmVwLmM6MTEwOAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAiIgogItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDRgdGC0LDRgNGC0LjRgNCw0L3QtdGC0L4g0L3QsCBncmVwKDEpICjRgtC10LrRg9GJ0LjRj9GCINC60L7QvNC/0LjQu9Cw0YIg0L/RgNC10L3QtdCx0YDQtdCz0LLQsCDRgtCw0LfQuCAiCiAi0L7Qv9GG0LjRjykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNAorIzogYnVpbHRpbi9ncmVwLmM6MTE3MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICLQu9C40L/RgdCy0LAg0YjQsNCx0LvQvtC9LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyMDQKK21zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cyIKK21zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1jYWNoZWTigJwg0Lgg4oCeLS11bnRyYWNrZWTigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0YEg0LLQtdGA0YHQuNC4LiIKKworIzogYnVpbHRpbi9ncmVwLmM6MTIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCittc2dzdHIgItCy0LXRgNGB0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQsdGK0LTQtSDQvtGC0LrRgNC40YLQsCIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI0NSBidWlsdGluL2luZGV4LXBhY2suYzoxNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgItC30LDQtNCw0LTQtdC9INC1INC90LXQv9GA0LDQstC40LvQtdC9INCx0YDQvtC5INC90LjRiNC60Lg6ICVkIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTAKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAi0LvQuNC/0YHQstCwINC/0L7QtNC00YDRitC20LrQsCDQt9CwINC90LjRiNC60LguICDigJ4tLXRocmVhZHPigJwg0YnQtSDRgdC1INC/0YDQtdC90LXQsdGA0LXQs9C90LUiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyODEKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIiIKICLQvtC/0YbQuNGP0YLQsCDigJ4tLW9wZW4tZmlsZXMtaW4tcGFnZXLigJwg0LUg0YHRitCy0LzQtdGB0YLQuNC80LAg0YHQsNC80L4g0YEg0YLRitGA0YHQtdC90LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMgorIzogYnVpbHRpbi9ncmVwLmM6MTMwNAorbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMuIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeLS1yZWN1cnNlLXN1Ym1vZHVsZXPigJwuIgorCisjOiBidWlsdGluL2dyZXAuYzoxMzEwCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1jYWNoZWTigJwg0Lgg4oCeLS11bnRyYWNrZWTigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0YEg4oCeLS1uby1pbmRleOKAnC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNwotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiIgotItC+0L/RhtC40LjRgtC1IOKAni0tY2FjaGVk4oCcINC4IOKAni0tdW50cmFja2Vk4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4INGBINGC0YrRgNGB0LXQvdC1INCy0YrQsiDQstC10YDRgdC40LguIgotCi0jOiBidWlsdGluL2dyZXAuYzo5MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMTYKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIiIKICLQvtC/0YbQuNC40YLQtSDigJ4tLShuby0pZXhjbHVkZS1zdGFuZGFyZOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCDRgSDRgtGK0YDRgdC10L3QtSDQv9C+INGB0LvQtdC00LXQvdC4ICIKICLRhNCw0LnQu9C+0LLQtS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkxOAorIzogYnVpbHRpbi9ncmVwLmM6MTMyNAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tY2FjaGVk4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgdGK0YEg0LfQsNC00LDQstCw0L3QtSDQvdCwINC00YrRgNCy0L4uIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaWxlPi4uLiIKQEAgLTgyNTksOTMgKzkwMTYsOTMgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10INCS0JjQlF0gWy13XSBbLS1wYXRoPdCk0JDQmdCbIHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gWy0tXSAiCiAi0KTQkNCZ0JvigKYiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgzCiBtc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICLQktCY0JQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgItCS0JjQlCDQvdCwINC+0LHQtdC60YLQsCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0L7QsdC10LrRgtCwINCyINCx0LDQt9Cw0YLQsCDQvtGCINC00LDQvdC90Lgg0LfQsCDQvtCx0LXQutGC0LjRgtC1IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0L7QsdC10LrRgtCwINC+0YIg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINGE0LDQudC70LAg0LrQsNC60YLQviDQtSDigJQg0LHQtdC3INGE0LjQu9GC0YDQuCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgIiIKICLRgdGK0LfQtNCw0LLQsNC90LUg0Lgg0YXQtdGI0LjRgNCw0L3QtSDQvdCwINC/0YDQvtC40LfQstC+0LvQvdC4INC00LDQvdC90Lgg0LfQsCDQv9C+0LLRgNC10LTQtdC90Lgg0L7QsdC10LrRgtC4INC30LAg0YLRgNCw0YHQuNGA0LDQvdC1INC90LAgIgogIkdpdCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMgogbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgogbXNnc3RyICLQvtCx0YDQsNCx0L7RgtCy0LDQvdC1INC90LAg0KTQkNCZ0JvQsCDQstGB0LUg0LXQtNC90L4g0LUg0YEg0YLQvtC30Lgg0L/RitGCIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MgorIzogYnVpbHRpbi9oZWxwLmM6NDMKIG1zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgogbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L3QsNC70LjRh9C90Lgg0LrQvtC80LDQvdC00LgiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzCisjOiBidWlsdGluL2hlbHAuYzo0NAogbXNnaWQgImV4Y2x1ZGUgZ3VpZGVzIgogbXNnc3RyICLQsdC10Lcg0L/RitGC0LXQstC+0LTQtdGC0LXQu9C4IgogCi0jOiBidWlsdGluL2hlbHAuYzo0NAorIzogYnVpbHRpbi9oZWxwLmM6NDUKIG1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINGB0L/QuNGB0YrQuiDRgSDQv9GK0YLQtdCy0L7QtNC40YLQtdC70LgiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ1CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFuIHBhZ2UiCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINGB0YLRgNCw0L3QuNGG0LAg0L7RgiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQviIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3CiBtc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINGB0YLRgNCw0L3QuNGG0LAg0L7RgiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQviDQsiDRg9C10LEg0LHRgNCw0YPQt9GK0YAiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ4CisjOiBidWlsdGluL2hlbHAuYzo0OQogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjQvtC90L3QsCDRgdGC0YDQsNC90LjRhtCwIgogCi0jOiBidWlsdGluL2hlbHAuYzo1NAorIzogYnVpbHRpbi9oZWxwLmM6NTUKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFvQmtCe0JzQkNCd0JTQkF0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjY2CisjOiBidWlsdGluL2hlbHAuYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDRhNC+0YDQvNCw0YIg0L3QsCDQv9C+0LzQvtGJ0YLQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9oZWxwLmM6OTMKKyM6IGJ1aWx0aW4vaGVscC5jOjk0CiBtc2dpZCAiRmFpbGVkIHRvIHN0YXJ0IGVtYWNzY2xpZW50LiIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg4oCeZW1hY3NjbGllbnTigJwuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDYKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNwogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKIG1zZ3N0ciAi0JLQtdGA0YHQuNGP0YLQsCDQvdCwIOKAnmVtYWNzY2xpZW504oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExNAorIzogYnVpbHRpbi9oZWxwLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgItCf0YDQtdC60LDQu9C10L3QviDRgdGC0LDRgNCwINCy0LXRgNGB0LjRjyDQvdCwIOKAnmVtYWNzY2xpZW504oCcIOKAlCAlZCAoPCAyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzIgYnVpbHRpbi9oZWxwLmM6MTUzIGJ1aWx0aW4vaGVscC5jOjE2MiBidWlsdGluL2hlbHAuYzoxNzAKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMyBidWlsdGluL2hlbHAuYzoxNTQgYnVpbHRpbi9oZWxwLmM6MTYzIGJ1aWx0aW4vaGVscC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjA3CisjOiBidWlsdGluL2hlbHAuYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC04MzU0LDcgKzkxMTEsNyBAQAogIuKAniVz4oCcOiDQv9GK0YIg0LrRitC8INC90LXQv9C+0LTQtNGK0YDQttCw0L3QsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC10LPQu9C10LQg0L3QsFxuIgogIiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQvi4gINCS0LzQtdGB0YLQviDQvdC10Y8g0L/RgNC+0LHQstCw0LnRgtC1IOKAnm1hbi48dG9vbD4uY21k4oCcLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE5CisjOiBidWlsdGluL2hlbHAuYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC04MzYzLDQ0OSArOTEyMCw0NTEgQEAKICLigJ4lc+KAnDog0LrQvtC80LDQvdC00LAg0LfQsCDQv9C+0LTQtNGK0YDQttCw0L3QsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC10LPQu9C10LQg0L3QsFxuIgogIiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQvi4gINCS0LzQtdGB0YLQviDQvdC10Y8g0L/RgNC+0LHQstCw0LnRgtC1IOKAnm1hbi48dG9vbD4ucGF0aOKAnC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjMzNgorIzogYnVpbHRpbi9oZWxwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIuKAniVz4oCcOiDQvdC10L/QvtC30L3QsNGC0LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINC/0YDQtdCz0LvQtdC0INC90LAg0YDRitC60L7QstC+0LTRgdGC0LLQvtGC0L4uIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTMKKyM6IGJ1aWx0aW4vaGVscC5jOjM1NAogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAi0L3QuNC60L7RjyDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC10LPQu9C10LQg0L3QsCDRgNGK0LrQvtCy0L7QtNGB0YLQstC+INC90LUg0YPRgdC/0Y8g0LTQsCDQvtCx0YDQsNCx0L7RgtC4INC30LDRj9Cy0LrQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MQorIzogYnVpbHRpbi9oZWxwLmM6MzYyCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiIgogItC90LjQutC+0Y8g0L/RgNC+0LPRgNCw0LzQsCDQt9CwINC/0YDQtdCz0LvQtdC0INC90LAg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90LjRgtC1INGB0YLRgNCw0L3QuNGG0Lgg0L3QtSDRg9GB0L/RjyDQtNCwINC+0LHRgNCw0LHQvtGC0LggIgogItC30LDRj9Cy0LrQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwMworIzogYnVpbHRpbi9oZWxwLmM6NDA0CiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAi0KPQutCw0LfQstCw0L3QtSDQvdCwINCw0YLRgNC40LHRg9GC0Lgg0LrRitC8INC/0YrRgiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA0CisjOiBidWlsdGluL2hlbHAuYzo0MDUKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAi0JXQttC10LTQvdC10LLQuNC10YLQviDQsiBHaXQg0LIg0YDQsNC80LrQuNGC0LUg0L3QsCAyMC3QuNC90LAg0LrQvtC80LDQvdC00LgiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNQorIzogYnVpbHRpbi9oZWxwLmM6NDA2CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgItCg0LXRh9C90LjQuiDRgSDRgtC10YDQvNC40L3QuNGC0LUg0L3QsCBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNgorIzogYnVpbHRpbi9oZWxwLmM6NDA3CiBtc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKIG1zZ3N0ciAi0KPQutCw0LfQstCw0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtSwg0LrQvtC40YLQviDQtNCwINCx0YrQtNCw0YIg0L3QsNGA0L7Rh9C90L4g0L/RgNC10L3QtdCx0YDQtdCz0LLQsNC90LgiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNworIzogYnVpbHRpbi9oZWxwLmM6NDA4CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgItCU0LXRhNC40L3QuNGA0LDQvdC1INC90LAg0YHQstC+0LnRgdGC0LLQsNGC0LAg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LjRgtC1IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOQogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAi0KPQutCw0LfQstCw0L3QtSDQvdCwINCy0LXRgNGB0LjQuCDQuCDQtNC40LDQv9Cw0LfQvtC90Lgg0LIgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDkKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgogbXNnc3RyICLQktGK0LLQtdC20LTQsNGJINGD0YDQvtC6INC30LAgR2l0ICjQstC10YDRgdC40Lgg0L/QvtC90LUgMS41LjEpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTAKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMQogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAi0J7QsdGJINC/0YDQtdCz0LvQtdC0INC90LAg0L/RgNC10L/QvtGA0YrRh9Cy0LDQvdC40YLQtSDQvdCw0YfQuNC90Lgg0LfQsCDRgNCw0LHQvtGC0LAg0YEgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjIKKyM6IGJ1aWx0aW4vaGVscC5jOjQyMwogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6XG4iCiBtc2dzdHIgItCf0L7Qv9GD0LvRj9GA0L3QuNGC0LUg0L/RitGC0LXQstC+0LTQuNGC0LXQu9C4INCyIEdpdCDRgdCwOlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDAKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgIuKAnmdpdCAlc+KAnCDQtSDRgdC40L3QvtC90LjQvCDQvdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NjIgYnVpbHRpbi9oZWxwLmM6NDc5CisjOiBidWlsdGluL2hlbHAuYzo0NjMgYnVpbHRpbi9oZWxwLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICLRg9C/0L7RgtGA0LXQsdCwOiAlcyVzIgogCi0jIEZJWE1FIG1lcmdlIHdpdGggbmV4dD8KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQstC40LQg0L3QsCDQvtCx0LXQutGC0LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgItC+0YfQsNC60LLQsNC90LjRj9GCINC+0LHQtdC60YIg4oCeJXPigJwg0L3QtSDQsdC1INC/0L7Qu9GD0YfQtdC9IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXM6IGV4cGVjdGVkIHR5cGUgJXMsIGZvdW5kICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQstC40LQg0L3QsCDQvtCx0LXQutGC0LAg4oCeJXPigJw6INC+0YfQsNC60LLQsNGI0LUg0YHQtSDigJ4lc+KAnCwg0LAg0LHQtSDQv9C+0LvRg9GH0LXQvSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQv9GK0LvQvdC4ICVkINCx0LDQudGCIgogbXNnc3RyWzFdICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0L/RitC70L3Rj9GCICVkINCx0LDQudGC0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LrRgNCw0Lkg0L3QsCDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODEKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INGH0LXRgtC10L3QtSDQvdCwINCy0YXQvtC00L3QuNGC0LUg0LTQsNC90L3QuCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTMKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90Lgg0YHQsCDQv9C+0LLQtdGH0LUg0L7RgiDQvdCw0LvQuNGH0L3QuNGC0LUg0LHQsNC50YLQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAwCiBtc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKIG1zZ3N0ciAi0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7INC1INC/0YDQtdC60LDQu9C10L3QviDQs9C+0LvRj9C8INC30LAg0YLQtdC60YPRidCw0YLQsCDRgdGC0L7QudC90L7RgdGCINC90LAg0YLQuNC/0LAg4oCeb2ZmX3TigJwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTMKIG1zZ2lkICJwYWNrIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHNpemUiCiBtc2dzdHIgItC/0LDQutC10YLQvdC40Y/RgiDRhNCw0LnQuyDQvdCw0LTQstC40YjQsNCy0LAg0LzQsNC60YHQuNC80LDQu9C90LjRjyDQstGK0LfQvNC+0LbQtdC9INGA0LDQt9C80LXRgCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgogbXNnc3RyICLQv9Cw0LrQtdGC0L3QuNGP0YIg0YTQsNC50Lsg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgItC/0LDQutC10YLQvdC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM4CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgItC90LXRgdGK0L7RgtCy0LXRgtGB0YLQstC40LUg0LIg0L/QvtC00L/QuNGB0LAg0LrRitC8INC/0LDQutC10YLQvdC40Y8g0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgItC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwINC/0LDQutC10YLQuNGA0LDQvdC1INCyZdGA0YHQuNGPIOKAniU8UFJJdTMyPuKAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgItC/0L7QstGA0LXQtNC10L0g0L7QsdC10LrRgiDQsiDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7INC/0YDQuCDQvtGC0LzQtdGB0YLQstCw0L3QtSAlPFBSSXVNQVg+OiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKIG1zZ3N0ciAi0LTQtdC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtdGC0L4g0YEg4oCeaW5mbGF0ZeKAnCDQstGK0YDQvdCwICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyOAogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgItGB0YLQvtC50L3QvtGB0YLRgtCwINC90LAg0L7RgtC80LXRgdGC0LLQsNC90LXRgtC+INC30LAg0L7QsdC10LrRgtCwLdGA0LDQt9C70LjQutCwINCy0L7QtNC4INC00L4g0L/RgNC10L/RitC70LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM2CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICLRgdGC0L7QudC90L7RgdGC0YLQsCDQvdCwINC+0YLQvNC10YHRgtCy0LDQvdC10YLQviDQt9CwINC+0LHQtdC60YLQsC3RgNCw0LfQu9C40LrQsCDQtSDQuNC30LLRitC9INC00LjQsNC/0LDQt9C+0L3QsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQstC40LQg0L7QsdC10LrRgiAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzUKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICLQv9Cw0LrQtdGC0L3QuNGP0YIg0YTQsNC50Lsg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGUgbWlzc2luZyIKIG1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZXMgbWlzc2luZyIKIG1zZ3N0clswXSAi0L3QtdC+0YfQsNC60LLQsNC9INC60YDQsNC5INC90LAg0YTQsNC50LssINC70LjQv9GB0LLQsCAlPFBSSXVNQVg+INCx0LDQudGCIgogbXNnc3RyWzFdICLQvdC10L7Rh9Cw0LrQstCw0L0g0LrRgNCw0Lkg0L3QsCDRhNCw0LnQuywg0LvQuNC/0YHQstCw0YIgJTxQUkl1TUFYPiDQsdCw0LnRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMwogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICLRgdC10YDQuNC+0LfQvdCwINCz0YDQtdGI0LrQsCDQv9GA0Lgg0LTQtdC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtSDRgSDigJ5pbmZsYXRl4oCcIgogCiAjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDggYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3NwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODExIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIiIKICLQodCq0JLQn9CQ0JTQldCd0JjQlSDQndCQINCh0KLQntCZ0J3QntCh0KLQmNCi0JUg0JfQkCDQodCj0JzQmNCi0JUg0JfQkCBTSEExOiDigJ4lc+KAnCDQndCQINCU0JLQkCDQoNCQ0JfQm9CY0KfQndCYINCe0JHQldCa0KLQkCEiCiAKLSMgRklYTUUgbWVyZ2Ugd2l0aCBuZXh0PwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzUxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTY2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzUxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTY3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgorbXNnc3RyICLRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0LjRj9GCINC+0LHQtdC60YIg0LIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgItGB0YrRidC10YHRgtCy0YPQstCw0YnQuNGP0YIg0L7QsdC10LrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L7QsdC10LrRgiBCTE9CIOKAniVz4oCcIgogCiAjIEZJWE1FIHBlcmhhcHMgaW52YWxpZCBvYmplY3QKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC+0LHQtdC60YIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODU0CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICLQk9GA0LXRiNC60LAg0LIg0L7QsdC10LrRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAi0J3Rj9C60L7QuCDQvtCx0LXQutGC0LgsINC90LDRgdC70LXQtNC90LjRhtC4INC90LAg4oCeJXPigJwsINC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LTQvtGB0YLQuNCz0L3QsNGC0LgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyMiBidWlsdGluL2luZGV4LXBhY2suYzo5NTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyOCBidWlsdGluL2luZGV4LXBhY2suYzo5NTkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgItGA0LDQt9C70LjQutCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgItCf0L7Qu9GD0YfQsNCy0LDQvdC1INC90LAg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0JjQvdC00LXQutGB0LjRgNCw0L3QtSDQvdCwINC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2NAogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAi0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7INC1INC/0L7QstGA0LXQtNC10L0gKNC90LXQtdC00L3QsNC60LLQuCDRgdGD0LzQuCDQv9C+IFNIQTEpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvRg9GH0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7INGBIOKAnmZzdGF04oCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcyCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICLQsiDQutGA0LDRjyDQvdCwINC/0LDQutC10YLQvdC40Y8g0YTQsNC50Lsg0LjQvNCwINC/0L7QstGA0LXQtNC10L3QuCDQtNCw0L3QvdC4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTg0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiIgogItGE0LDRgtCw0LvQvdCwINCz0YDQtdGI0LrQsCDQstGK0LIg0YTRg9C90LrRhtC40Y/RgtCwIOKAnnBhcnNlX3BhY2tfb2JqZWN0c+KAnC4gINCi0L7QstCwINC1INCz0YDQtdGI0LrQsCDQsiBHaXQsICIKICLQtNC+0LrQu9Cw0LTQstCw0LnRgtC1INGPINC90LAg0YDQsNC30YDQsNCx0L7RgtGH0LjRhtC40YLQtSwg0LrQsNGC0L4g0L/RgNCw0YLQuNGC0LUg0LUt0L/QuNGB0LzQviDQvdCwINCw0LTRgNC10YE6IOKAnmdpdEB2Z2VyLiIKICJrZXJuZWwub3Jn4oCcLiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNwogbXNnaWQgIlJlc29sdmluZyBkZWx0YXMiCiBtc2dzdHIgItCe0YLQutGA0LjQstCw0L3QtSDQvdCwINGB0YrQvtGC0LLQtdGC0L3QuNGC0LUg0YDQsNC30LvQuNC60LgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQvdC40YjQutCwOiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2MAogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkiCiBtc2dzdHIgIiIKICLRhNCw0YLQsNC70L3QsCDQs9GA0LXRiNC60LAg0LLRitCyINGE0YPQvdC60YbQuNGP0YLQsCDigJ5jb25jbHVkZV9wYWNr4oCcLiAg0KLQvtCy0LAg0LUg0LPRgNC10YjQutCwINCyIEdpdCwgIgogItC00L7QutC70LDQtNCy0LDQudGC0LUg0Y8g0L3QsCDRgNCw0LfRgNCw0LHQvtGC0YfQuNGG0LjRgtC1LCDQutCw0YLQviDQv9GA0LDRgtC40YLQtSDQtS3Qv9C40YHQvNC+INC90LAg0LDQtNGA0LXRgTog4oCeZ2l0QHZnZXIuIgogImtlcm5lbC5vcmfigJwuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAi0LTQtdC50YHRgtCy0LjQtdGC0L4g0LfQsNCy0YrRgNGI0Lgg0YEgJWQg0LvQvtC60LDQu9C10L0g0L7QsdC10LrRgiIKIG1zZ3N0clsxXSAi0LTQtdC50YHRgtCy0LjQtdGC0L4g0LfQsNCy0YrRgNGI0Lgg0YEgJWQg0LvQvtC60LDQu9C90Lgg0L7QsdC10LrRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICIiCiAi0J3QtdC+0YfQsNC60LLQsNC90LAg0L/QvtGB0LvQtdC00LLQsNGJ0LAg0YHRg9C80LAg0LfQsCDQs9GA0LXRiNC60Lgg0LfQsCDigJ4lc+KAnCAo0L/RgNC40YfQuNC90LDRgtCwINC80L7QttC1INC00LAg0LUg0LPRgNC10YjQutCwINCyICIKICLQtNC40YHQutCwKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAi0LIg0L/QsNC60LXRgtCwINC40LzQsCAlZCDQvdC10L3QsNC/0LDRgdCy0LDRidCwINGA0LDQt9C70LjQutCwIgogbXNnc3RyWzFdICLQsiDQv9Cw0LrQtdGC0LAg0LjQvNCwICVkINC90LXQvdCw0L/QsNGB0LLQsNGJ0Lgg0YDQsNC30LvQuNC60LgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgItC00L7QsdCw0LLQtdC90LjRj9GCINC+0LHQtdC60YIg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LrQvtC80L/RgNC10YHQuNGA0LAg0YEg4oCeZGVmbGF0ZeKAnDogJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgItC70L7QutCw0LvQvdC40Y/RgiDQvtCx0LXQutGCIOKAniVz4oCcINC1INC/0L7QstGA0LXQtNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDgKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQt9Cw0YLQstCw0YDRj9C90LXRgtC+INC90LAg0L/QsNC60LXRgtC90LjRjyDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIiIKICLQs9GA0LXRiNC60LAg0L/RgNC4INC30LDQv9C40YHQstCw0L3QtdGC0L4g0L3QsCDRhNCw0LnQu9CwIOKAniVz4oCcLCDQvtGB0LjQs9GD0YDRj9Cy0LDRiSDQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQtNC40YDQtdC60YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNGC0LLQsNGA0Y/QvdC10YLQviDQvdCwINC30LDQv9C40YHQsNC90LjRjyDRhNCw0LnQuyDigJ4lc+KAnCwg0L7RgdC40LPRg9GA0Y/QstCw0Ykg0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAgIgogItC00LjRgNC10LrRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM4CiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAi0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0NgogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg0LfQsCDQuNC90LTQtdC60YHQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitGF0YDQsNC90LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICLQt9Cw0LTQsNC00LXQvdCwINC1INC90LXQv9GA0LDQstC40LvQvdCwINCy0LXRgNGB0LjRjyDQv9Cw0LrQtdGC0LjRgNCw0L3QtTog4oCecGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+4oCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2ODEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKLW1zZ3N0ciAi0LvQuNC/0YHQstCwINC/0L7QtNC00YDRitC20LrQsCDQt9CwINC90LjRiNC60LguICDigJ4lc+KAnCDRidC1INGB0LUg0L/RgNC10L3QtdCx0YDQtdCz0L3QtSIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0KHRitGJ0LXRgdGC0LLRg9Cy0LDRidC40Y/RgiDQv9Cw0LrQtdGC0LXQvSDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAi0KHRitGJ0LXRgdGC0LLRg9Cy0LDRidC40Y/RgiDQuNC90LTQtdC60YEg0LfQsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICIlZCDQvtCx0LXQutGCINC90LUg0LUg0YDQsNC30LvQuNC60LAiCiBtc2dzdHJbMV0gIiVkINC+0LHQtdC60YLQsCDQvdC1INGB0LAg0YDQsNC30LvQuNC60LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAi0LTRitC70LbQuNC90LDRgtCwINC90LAg0LLQtdGA0LjQs9Cw0YLQsCDQtSAlZDogJWx1INC+0LHQtdC60YIiCiBtc2dzdHJbMV0gItC00YrQu9C20LjQvdCw0YLQsCDQvdCwINCy0LXRgNC40LPQsNGC0LAg0LUgJWQ6ICVsdSDQvtCx0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgItC40LzQtdGC0L4g0L3QsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7IOKAniVz4oCcINC90LUg0LfQsNCy0YrRgNGI0LLQsCDQvdCwIOKAni5wYWNr4oCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTYKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQzCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tZml4LXRoaW7igJwg0LjQt9C40YHQutCy0LAg4oCeLS1zdGRpbuKAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NQorbXNnaWQgIi0tc3RkaW4gcmVxdWlyZXMgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAi4oCeLS1zdGRpbuKAnCDQuNC30LjRgdC60LLQsCDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCBnaXQiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTMKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tdmVyaWZ54oCcINC40LfQuNGB0LrQstCwINC40LzQtSDQvdCwINC/0LDQutC10YLQtdC9INGE0LDQudC7IgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/QvtC70YPRh9C4INC40L3RhNC+0YDQvNCw0YbQuNGPINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYwCisjOiBidWlsdGluL2luaXQtZGIuYzo2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCB0ZW1wbGF0ZSAnJXMnIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvRg9GH0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y8g0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINGI0LDQsdC70L7QvdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW5kaXIgJyVzJyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvdCwIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgItCy0YDRitC30LrQsNGC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L3QsCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0YHQuNC80LLQvtC70L3QsCDQstGA0YrQt9C60LAg4oCeJXPigJwg0LIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg0CisjOiBidWlsdGluL2luaXQtZGIuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC60L7Qv9C40YDQsCDQsiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINGI0LDQsdC70L7QvdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0YEg0YjQsNCx0LvQvtC90LjRgtC1INC90LUg0LUg0L7RgtC60YDQuNGC0LA6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAi0YjQsNCx0LvQvtC90LjRgtC1INC90Y/QvNCwINC00LAg0LHRitC00LDRgiDQutC+0L/QuNGA0LDQvdC4INC+0YIg4oCeJXPigJw6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMjcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAi0YTQsNC50LvQvtCy0LUg0L7RgiDQstC40LQgJWQg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LDRgiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzMwCisjOiBidWlsdGluL2luaXQtZGIuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQtdC80LXRgdGC0Lgg0LIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OCBidWlsdGluL2luaXQtZGIuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDAzCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICIiCiAi0JjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L3QtSDQvdCw0L3QvtCy0L4g0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0L4sINGB0L/QvtC00LXQu9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCBHaXQg0LIg4oCeJXMlc+KAnFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi0JjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L3QtSDQvdCw0L3QvtCy0L4g0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0L4g0YXRgNCw0L3QuNC70LjRidC1INC90LAgR2l0INCyIOKAniVzJXPigJxcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA4CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi0JjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L3QtSDQvdCwINC/0YDQsNC30L3Qviwg0YHQv9C+0LTQtdC70LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSDQvdCwIEdpdCDQsiDigJ4lcyVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi0JjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L3QtSDQvdCwINC/0YDQsNC30L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCBHaXQg0LIg4oCeJXMlc+KAnFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC04ODEzLDI3ICs5NTcyLDI3IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU90JTQmNCg0JXQmtCi0J7QoNCY0K9f0KFf0KjQkNCR0JvQntCd0JhdIFstLSIKICJzaGFyZWRbPdCf0KDQkNCS0JBdXSBb0JTQmNCg0JXQmtCi0J7QoNCY0K9dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICLQv9GA0LDQstCwIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MgogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiIgogItGD0LrQsNC30LLQsNC90LUsINGH0LUg0YXRgNCw0L3QuNC70LjRidC10YLQviDQvdCwIEdpdCDRidC1INCx0YrQtNC1INGB0L/QvtC00LXQu9C10L3QviDQvtGCINC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9ICIKICLQv9C+0YLRgNC10LHQuNGC0LXQuyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE1IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTE2IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvdCwIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCy0LvQtdC30LUg0LIg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTg4NDIsNyArOTYwMSw3IEBACiAiJXMgKNC40LvQuCAtLXdvcmstdHJlZT3QlNCY0KDQldCa0KLQntCg0JjQrykg0LjQt9C40YHQutCy0LAg0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCAlcyAo0LjQu9C4IC0tZ2l0LSIKICJkaXI90JTQmNCg0JXQmtCi0J7QoNCY0K8pIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NzMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICLQoNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQsiDigJ4lc+KAnCDQtSDQvdC10LTQvtGB0YLRitC/0L3QviIKQEAgLTg4NzUsMTE2ICs5NjM0LDExNiBAQAogbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciCiBtc2dzdHIgItC90LUg0LUg0LfQsNC00LDQtNC10L0g0LLRhdC+0LTQtdC9INGE0LDQudC7INC30LAg0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC80Y/RgdGC0L4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDQKKyM6IGJ1aWx0aW4vbG9nLmM6NDUKIG1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbG9nIFvQntCf0KbQmNCv4oCmXSBb0JTQmNCQ0J/QkNCX0J7QnV/QndCQX9CS0JXQoNCh0JjQmNCi0JVdIFtbLS1dINCf0KrQouKApl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDYKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgW9Ce0J/QptCY0K/igKZdINCe0JHQldCa0KLigKYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODQKKyM6IGJ1aWx0aW4vbG9nLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINC+0L/RhtC40Y8g4oCeLS1kZWNvcmF0ZeKAnDogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5CisjOiBidWlsdGluL2xvZy5jOjE0NwogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YDQsNC30LvQuNC60LjRgtC1IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDgKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQt9GF0L7QtNC90LjRjyDQutC+0LQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxCisjOiBidWlsdGluL2xvZy5jOjE0OQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICIiCiAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRhNCw0LnQuyDQt9CwINGB0YrQvtGC0LLQtdGC0YHRgtCy0LjRj9GC0LAg0L3QsCDQuNC80LXQvdCw0YLQsCDQuCDQsNC00YDQtdGB0LjRgtC1INC90LAg0LUt0L/QvtGJ0LAgKOKAni4iCiAibWFpbG1hcOKAnCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyCisjOiBidWlsdGluL2xvZy5jOjE1MAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgItC90LDRgdGC0YDQvtC50LrQuCDQvdCwINGE0L7RgNC80LDMgNGC0LAg0L3QsCDQuNC30LLQtdC20LTQsNC90LDRgtCwINC40L3RhNC+0YDQvNCw0YbQuNGPIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NQorIzogYnVpbHRpbi9sb2cuYzoxNTMKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiIgogItCe0LHRgNCw0LHQvtGC0LLQsNC90LUg0YHQsNC80L4g0L3QsCDRgNC10LTQvtCy0LXRgtC1INCy0YrQsiDRhNCw0LnQu9CwINCyINC00LjQsNC/0LDQt9C+0L3QsCDQvtGCIG4g0LTQviBtINCy0LrQu9GO0YfQuNGC0LXQu9C90L4uICAiCiAi0JHRgNC+0LXQvdC10YLQviDQt9Cw0L/QvtGH0LLQsCDQvtGCIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjQxCisjOiBidWlsdGluL2xvZy5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgItCg0LXQt9GD0LvRgtCw0YI6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDg2CisjOiBidWlsdGluL2xvZy5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiDQv9C+0LLRgNC10LTQtdC9INGE0LDQudC7IgogCi0jOiBidWlsdGluL2xvZy5jOjUwMCBidWlsdGluL2xvZy5jOjU5NAorIzogYnVpbHRpbi9sb2cuYzo1MTIgYnVpbHRpbi9sb2cuYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICLQntCx0LXQutGC0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjE4CisjOiBidWlsdGluL2xvZy5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0LXQvSDQstC40LQ6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjczOQorIzogYnVpbHRpbi9sb2cuYzo3NTEKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICLQvdC1INC1INC30LDQtNCw0LTQtdC90LAg0YHRgtC+0LnQvdC+0YHRgiDQvdCwIOKAnmZvcm1hdC5oZWFkZXJz4oCcIgogCi0jOiBidWlsdGluL2xvZy5jOjgzOQorIzogYnVpbHRpbi9sb2cuYzo4NTIKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgItC/0YDQtdC60LDQu9C10L3QviDQtNGK0LvQs9C+INC40LzQtSDQvdCwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQt9CwINC40LfRhdC+0LTQvdCw0YLQsCDQuNC90YTQvtGA0LzQsNGG0LjRjyIKIAotIzogYnVpbHRpbi9sb2cuYzo4NTQKKyM6IGJ1aWx0aW4vbG9nLmM6ODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCiBtc2dzdHIgItCk0LDQudC70YrRgi3QutGA0YrQv9C60LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9IgogCi0jOiBidWlsdGluL2xvZy5jOjg2OAorIzogYnVpbHRpbi9sb2cuYzo4ODUKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKIG1zZ3N0ciAi0KLRgNGP0LHQstCwINC00LAg0LfQsNC00LDQtNC10YLQtSDRgtC+0YfQvdC+INC10LTQuNC9INC00LjQsNC/0LDQt9C+0L0uIgogCi0jOiBidWlsdGluL2xvZy5jOjg3OAorIzogYnVpbHRpbi9sb2cuYzo4OTUKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgItCd0LUg0LUg0LTQuNCw0L/QsNC30L7QvS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTg0CisjOiBidWlsdGluL2xvZy5jOjEwMDEKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICLQn9GA0LjQtNGA0YPQttCw0LLQsNGJ0L7RgtC+INC/0LjRgdC80L4g0YLRgNGP0LHQstCwINC00LAg0LUg0YTQvtGA0LzQsNGC0LjRgNCw0L3QviDQutCw0YLQviDQtS3Qv9C40YHQvNC+IgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTA4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRhNC+0YDQvNCw0YIg0L3QsCDQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDQt9CwINC+0YLQs9C+0LLQvtGAIOKAnmluLXJlcGx5LXRv4oCcOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDkxCisjOiBidWlsdGluL2xvZy5jOjExMDgKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggW9Ce0J/QptCY0K/igKZdIFvQntCiIHwg0JTQmNCQ0J/QkNCX0J7QnV/QndCQX9CS0JXQoNCh0JjQmNCi0JVdIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTE1OAogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICLQnNC+0LbQtdGC0LUg0LTQsCDRg9C60LDQttC10YLQtSDQvNCw0LrRgdC40LzRg9C8INC10LTQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPINC30LAg0LjQt9GF0L7QtC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0OCBidWlsdGluL2xvZy5jOjE4OTEgYnVpbHRpbi9sb2cuYzoxODkzIGJ1aWx0aW4vbG9nLmM6MTkwNQorIzogYnVpbHRpbi9sb2cuYzoxMjY1IGJ1aWx0aW4vbG9nLmM6MTkwOCBidWlsdGluL2xvZy5jOjE5MTAgYnVpbHRpbi9sb2cuYzoxOTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGC0L4g0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjU4IGJ1aWx0aW4vbm90ZXMuYzo4ODQgYnVpbHRpbi90YWcuYzo0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI3NSBidWlsdGluL25vdGVzLmM6ODg2IGJ1aWx0aW4vdGFnLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LrRgNC40LUg0LrRitC8INC60LDQutCy0L4g0YHQvtGH0Lgg4oCeJXPigJwuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4MAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICLQotC+0YfQvdCw0YLQsCDQsdCw0LfQsCDQt9CwINGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2NworIzogYnVpbHRpbi9sb2cuYzoxMjg0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgogInBsZWFzZSB1c2UgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byB0byB0cmFjayBhIHJlbW90ZSBicmFuY2guXG4iCkBAIC04OTk0LDIyMSArOTc1MywyMjYgQEAKICLQt9Cw0LTQsNC00LXRgtC1LCDQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG/igJwuXG4iCiAi0JzQvtC20LXRgtC1INGA0YrRh9C90L4g0LTQsCDQt9Cw0LTQsNC00LXRgtC1INCx0LDQt9C+0LLQviDQv9C+0LTQsNCy0LDQvdC1INGH0YDQtdC3IOKAni0tYmFzZT08YmFzZS1jb21taXQtaWQ+4oCcLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg3CisjOiBidWlsdGluL2xvZy5jOjEzMDQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICLQotC+0YfQvdCw0YLQsCDQsdCw0LfQsCDQv9GA0Lgg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtCwIgogCi0jOiBidWlsdGluL2xvZy5jOjEyOTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxNQogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAi0LHQsNC30L7QstC+0YLQviDQv9C+0LTQsNCy0LDQvdC1INGC0YDRj9Cx0LLQsCDQtNCwINC1INC/0YDQtdC00YjQtdGB0YLQstC10L3QuNC60YrRgiDQvdCwINGB0L/QuNGB0YrQutCwINGBINCy0LXRgNGB0LjQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwMgorIzogYnVpbHRpbi9sb2cuYzoxMzE5CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgItCx0LDQt9C+0LLQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LUg0LIg0YHQv9C40YHRitC60LAg0YEg0LLQtdGA0YHQuNC40YLQtSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzUxCisjOiBidWlsdGluL2xvZy5jOjEzNjgKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGK0YIg0L3QsCDQutGA0YrQv9C60LDRgtCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA4CisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICLQvdC+0LzQtdGA0LDRhtC40Y8g4oCeW1BBVENIIG4vbV3igJwg0LTQvtGA0Lgg0Lgg0L/RgNC4INC10LTQuNC90YHRgtCy0LXQvdCwINC60YDRitC/0LrQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0MjgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAi0L3QvtC80LXRgNCw0YbQuNGPIOKAnltQQVRDSF3igJwg0LTQvtGA0Lgg0Lgg0L/RgNC4INC80L3QvtC20LXRgdGC0LLQviDQutGA0YrQv9C60LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDMyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC60YDRitC/0LrQuNGC0LUg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINC40LfRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNworIzogYnVpbHRpbi9sb2cuYzoxNDM0CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQvdCwINC/0YDQuNC00YDRg9C20LDQstCw0YnQviDQv9C40YHQvNC+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNgogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAi0L/RgNC+0YHRgtCwINGH0LjRgdC70L7QstCwINC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9C90L7RgdGCINC30LAg0LjQvNC10L3QsNGC0LAg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUt0LrRgNGK0L/QutC4IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNwogbXNnaWQgInNmeCIKIG1zZ3N0ciAi0JfQndCQ0KbQmCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIxCisjOiBidWlsdGluL2xvZy5jOjE0MzgKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgtC10LfQuCDQl9Cd0JDQptCYINC30LAg0YHRg9GE0LjQutGBINCy0LzQtdGB0YLQviDigJ4ucGF0Y2jigJwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMworIzogYnVpbHRpbi9sb2cuYzoxNDQwCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAi0L3QvtC80LXRgNC40YDQsNC90LXRgtC+INC90LAg0LrRgNGK0L/QutC40YLQtSDQtNCwINC30LDQv9C+0YfQstCwINC+0YIg0YLQvtC30Lgg0JHQoNCe0JksINCwINC90LUg0YEgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI1CisjOiBidWlsdGluL2xvZy5jOjE0NDIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgItC+0YLQsdC10LvRj9C30LLQsNC90LUsINGH0LUg0YLQvtCy0LAg0LUgTi3RgtCw0YLQsCDQv9C+0YDQtdC00L3QsCDRgNC10LTQsNC60YbQuNGPINC90LAg0L/QvtGA0LXQtNC40YbQsNGC0LAg0L7RgiDQutGA0YrQv9C60LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNworIzogYnVpbHRpbi9sb2cuYzoxNDQ0CiBtc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDigJ5bUkZDIFBBVENIXeKAnCDQstC80LXRgdGC0L4g4oCeW1BBVENIXeKAnCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMwCisjOiBidWlsdGluL2xvZy5jOjE0NDcKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgItCY0LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YLQvtC30Lgg4oCeW9Cf0KDQldCk0JjQmtChXeKAnCDQstC80LXRgdGC0L4g4oCeW1BBVENIXeKAnCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC40LfRhdC+0LTQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQsiDRgtCw0LfQuCDQlNCY0KDQldCa0KLQntCg0JjQryIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM2CisjOiBidWlsdGluL2xvZy5jOjE0NTMKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAi0LHQtdC3INC00L7QsdCw0LLRj9C90LUv0LzQsNGF0LDQvdC1INC90LAg0L/RgNC10YTQuNC60YHQsCDigJ5bUEFUQ0hd4oCcIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NgogbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCiBtc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQuCDQvNC10LbQtNGDINC00LLQvtC40YfQvdC4INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OAogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICLQsiDQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDigJ5Gcm9tOuKAnCAo0L7Rgikg0YXQtdGI0YrRgiDQtNCwINC1INGB0LDQvNC+INC+0YIg0L3Rg9C70LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MworIzogYnVpbHRpbi9sb2cuYzoxNDYwCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICLQtNCwINC90LUg0YHQtSDQstC60LvRjtGH0LLQsNGCINC60YDRitC/0LrQuCwg0LrQvtC40YLQviDQv9GA0LjRgdGK0YHRgtCy0LDRgiDQsiDRgdC70LXQtNC10L3QuNGPINC60LvQvtC9IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MgogbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQstGK0LIg0YTQvtGA0LzQsNGCINC30LAg0LrRgNGK0L/QutC4LCDQsCDQvdCwINCyINGB0YLQsNC90LTQsNGA0YLQvdC40Y8gKNC60YDRitC/0LrQsCDQuCDRgdGC0LDRgtC40YHRgtC40LrQsCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NworIzogYnVpbHRpbi9sb2cuYzoxNDY0CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICLQntC/0YbQuNC4INC/0YDQuCDQuNC30L/RgNCw0YnQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAorIzogYnVpbHRpbi9sb2cuYzoxNDY1CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICLQl9CQ0JPQm9CQ0JLQndCQX9Cn0JDQodCiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NgogbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtCw0LfQuCDQl9CQ0JPQm9CQ0JLQndCQX9Cn0JDQodCiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAgYnVpbHRpbi9sb2cuYzoxNDUyCisjOiBidWlsdGluL2xvZy5jOjE0NjcgYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgItCVLdCf0J7QqdCQIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LfQsNCz0LvQsNCy0L3QsCDRh9Cw0YHRgiDigJ5UbzrigJwgKNC00L4pIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LfQsNCz0LvQsNCy0L3QsCDRh9Cw0YHRgiDigJ5DYzrigJwgKNC4INC00L4pIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQogbXNnaWQgImlkZW50IgogbXNnc3RyICLQmNCU0JXQndCi0JjQp9Cd0J7QodCiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKICLQt9Cw0LTQsNCy0LDQvdC1INC90LAg0LDQtNGA0LXRgdCwINCyINC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCIOKAnkZyb23igJwgKNC+0YIpINC00LAg0LUg0YLQsNC30Lgg0JjQlNCV0J3QotCY0KfQndCe0KHQoi4gINCQ0LrQviAiCiAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdCwINGC0LDQutCw0LLQsCwg0YHQtSDQstC30LjQvNCwINCw0LTRgNC10YHQsCDQvdCwINC/0L7QtNCw0LLQsNGJ0LjRjyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU3CisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICLQmNCU0JXQndCi0JjQpNCY0JrQkNCi0J7QoF/QndCQX9Ch0KrQntCR0KnQldCd0JjQlSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU4CisjOiBidWlsdGluL2xvZy5jOjE0NzUKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgIiIKICLQv9GK0YDQstC+0YLQviDRgdGK0L7QsdGJ0LXQvdC40LUg0LTQsCDQtSDQsiDQvtGC0LPQvtCy0L7RgCDQvdCwINC1LdC/0LjRgdC80L7RgtC+INGBINGC0L7Qt9C4ICIKICLQmNCU0JXQndCi0JjQpNCY0JrQkNCi0J7QoF/QndCQX9Ch0KrQntCR0KnQldCd0JjQlSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU5IGJ1aWx0aW4vbG9nLmM6MTQ2MgorIzogYnVpbHRpbi9sb2cuYzoxNDc2IGJ1aWx0aW4vbG9nLmM6MTQ3OQogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICLQs9GA0LDQvdC40YbQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYwCisjOiBidWlsdGluL2xvZy5jOjE0NzcKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLQv9GA0LjQutGA0LXQv9GP0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworIzogYnVpbHRpbi9sb2cuYzoxNDgwCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9Cy0LDQvdC1INC90LAg0LrRgNGK0L/QutCw0YLQsCDQsiDRgtC10LrRgdGC0LAg0L3QsCDQv9C40YHQvNCw0YLQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDY3CisjOiBidWlsdGluL2xvZy5jOjE0ODQKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAiIgogItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0L3QuNGI0LrQuCDQt9CwINGB0YrQvtCx0YnQtdC90LjRj9GC0LAuICDQodCi0JjQm9GK0YIg0LUg4oCec2hhbGxvd+KAnCAo0L/Qu9C40YLRitC6KSDQuNC70LggIgogIuKAnmRlZXDigJwgKNC00YrQu9Cx0L7QuikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQorIzogYnVpbHRpbi9sb2cuYzoxNDg2CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICLQv9C+0LTQv9C40YEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAorIzogYnVpbHRpbi9sb2cuYzoxNDg3CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L/QvtC70LUg0LfQsCDQv9C+0LTQv9C40YEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQorIzogYnVpbHRpbi9sb2cuYzoxNDg4CiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgItCR0JDQl9Ce0JLQnl/Qn9Ce0JTQkNCS0JDQndCVIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4OQogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQvdC10L7QsdGF0L7QtNC40LzQvtGC0L4g0JHQkNCX0L7QstC+INC00YrRgNCy0L4g0LrRitC8INGB0LXRgNC40Y/RgtCwINC60YDRitC/0LrQuCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc0CisjOiBidWlsdGluL2xvZy5jOjE0OTEKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQv9C+0LTQv9C40YEg0L7RgiDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc1CisjOiBidWlsdGluL2xvZy5jOjE0OTIKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvNC10L3QsNGC0LAg0L3QsCDQutGA0YrQv9C60LjRgtC1IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgorbXNnc3RyICLQs9GA0LXRiNC90LAg0LjQtNC10L3RgtC40YfQvdC+0YHRgjogJXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4MgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLW7igJwg0Lgg4oCeLWvigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LguIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4NAogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLXN1YmplY3QtcHJlZml44oCcL+KAni1yZmPigJwg0Lgg4oCeLWvigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LguIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MgogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tbmFtZS1vbmx54oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQs9C10L3QtdGA0LjRgNCw0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NworIzogYnVpbHRpbi9sb2cuYzoxNTk0CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLW5hbWUtc3RhdHVz4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQs9C10L3QtdGA0LjRgNCw0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3OQorIzogYnVpbHRpbi9sb2cuYzoxNTk2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWNoZWNr4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQs9C10L3QtdGA0LjRgNCw0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYwOQorIzogYnVpbHRpbi9sb2cuYzoxNjI2CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIiIKICLQuNC30YXQvtC00YrRgiDQvNC+0LbQtSDQtNCwINC40LvQuCDRgdGC0LDQvdC00LDRgNGC0L3QuNGP0YIsINC40LvQuCDQtNCwINC1INCyINC00LjRgNC10LrRgtC+0YDQuNGPLCDQvdC+INC90LUg0Lgg0LTQstC10YLQtS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYxMQorIzogYnVpbHRpbi9sb2cuYzoxNjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvdCwIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTcyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0YEg0L/QvtC00L/QuNGBINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBidWlsdGluL2xvZy5jOjE3NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5NAogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICLQmNC30YXQvtC00L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDRgdGK0LfQtNCw0LTQtdC90LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBb0J7QotCU0JDQm9CV0KfQldCdX9Ca0JvQntCdIFvQktCg0KrQpSBb0J/QoNCV0JTQldCbXV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4ODAKKyM6IGJ1aWx0aW4vbG9nLmM6MTg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC05MjE2LDEwNiArOTk4MCwxMDUgQEAKICLQodC70LXQtNC10L3QuNGP0YIg0L7RgtC00LDQu9C10YfQtdC9INC60LvQvtC9INC90LUg0LHQtSDQvtGC0LrRgNC40YIsINC30LDRgtC+0LLQsCDQuNC30YDQuNGH0L3QviDQt9Cw0LTQsNC50YLQtSAiCiAi0J7QotCU0JDQm9CV0KfQldCdX9Ca0JvQntCdLlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgW9Ce0J/QptCY0K/igKZdIFvQpNCQ0JnQm+KApl0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTcKIG1zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0YTQsNC50LvQvtCy0LXRgtC1INGBINC10LTQvdC+0LHRg9C60LLQtdC90Lgg0YTQu9Cw0LPQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAi0LzQsNC70LrQuCDQsdGD0LrQstC4INC30LAg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC00LAg0YHQtSDRgdGH0LXRgtCw0YIg0LfQsCDQvdC10L/RgNC+0LzQtdC90LXQvdC4IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTExCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIxCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC60LXRiNC40YDQsNC90LjRgtC1INGE0LDQudC70L7QstC1ICjRgdGC0LDQvdC00LDRgNGC0L3QvikiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjMKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQt9GC0YDQuNGC0LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI1CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QtdC90LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQtNGA0YPQs9C40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOQogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNCz0L3QvtGA0LjRgNCw0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvNC10YLQviDQvdCwINC+0LHQtdC60YLQsCDQt9CwINGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdCwINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM0CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INGC0YDRj9Cx0LLQsCDQtNCwINCx0YrQtNCw0YIg0LjQt9GC0YDQuNGC0LgiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC40LzQtdGC0L4g0L3QsCDQtNGA0YPQs9C40YLQtSAo0L3QtdGB0LvQtdC00LXQvdC40YLQtSkg0LTQuNGA0LXQutGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LfQvdCw0YbQuNGC0LUg0LfQsCDQutGA0LDQuSDQvdCwINGA0LXQtCDQstGK0LIg0YTQsNC50LvQvtCy0LXRgtC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YDQsNC30L3QuNGC0LUg0LTQuNGA0LXQutGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LXRgdC70LXRgtC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIyBGSVhNRSBub3QgY2xlYXIgYWJvdXQgd2hhdCB0aGlzIG9wdGlvbiBkb2VzCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQt9CwINC+0YLQvNGP0L3QsCDQvdCwINGA0LDQt9GA0LXRiNC10L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSDQvdCw0L/QsNGB0LLQsNGJ0Lgg0KjQkNCR0JvQntCd0LAiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICLRiNCw0LHQu9C+0L3QuNGC0LUg0LfQsCDQuNCz0L3QvtGA0LjRgNCw0L3QtSDQtNCwINGB0LUg0L/RgNC+0YfQtdGC0LDRgiDQvtGCINGC0L7Qt9C4INCk0JDQmdCbIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIiIKICLQuNC30YfQuNGC0LDQvdC1INC90LAg0LTQvtC/0YrQu9C90LjRgtC10LvQvdC40YLQtSDRiNCw0LHQu9C+0L3QuCDQt9CwINC40LPQvdC+0YDQuNGA0LDQvdC1INC/0L4g0LTQuNGA0LXQutGC0L7RgNC40Y8g0L7RgiDRgtC+0LfQuCDQpNCQ0JnQmyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QviDQuNCz0L3QvtGA0LjRgNCw0L3QuNGC0LUg0L7RgiBHaXQg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTgKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0L/RitGC0LjRidCw0YLQsCDQtNCwINGB0LAg0L7RgtC90L7RgdC40YLQtdC70L3QuCDRgdC/0YDRj9C80L4g0L7RgdC90L7QstC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINC90LAg0L/RgNC+0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjEKIG1zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKIG1zZ3N0ciAi0YDQtdC60YPRgNGB0LjQstC90L4g0L7QsdGF0L7QttC00LDQvdC1INC/0L7QtNC80L7QtNGD0LvQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCwg0LDQutC+INC90Y/QutC+0Lkg0L7RgiDRgtC10LfQuCDQpNCQ0JnQm9C+0LLQtSDQvdC1INC1INCyINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY0CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgItCj0JrQkNCX0JDQotCV0Jtf0JrQqtCcX9CU0KrQoNCS0J4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjUKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAi0YHRh9C40YLQsNC90LUsINGH0LUg0L/RitGC0LjRidCw0YLQsCDQuNC30YLRgNC40YLQuCDRgdC70LXQtCDQo9Ca0JDQl9CQ0KLQldCb0Y9f0JrQqtCcX9CU0KrQoNCS0J4g0LLRgdC1INC+0YnQtSDRgdGK0YnQtdGB0YLQstGD0LLQsNGCIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY3CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC30LAg0LjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDQs9GA0LXRiNC60LgiCiAKQEAgLTkzMjksMjUxICsxMDA5MiwyNjAgQEAKICIgICAgICAgICAgICAgICAgICAgICBbLXEgfCAtLXF1aWV0XSBbLS1leGl0LWNvZGVdIFstLWdldC11cmxdXG4iCiAiICAgICAgICAgICAgICAgICAgICAgWy0tc3ltcmVmXSBb0KXQoNCQ0J3QmNCb0JjQqdCVIFvQo9Ca0JDQl9CQ0KLQldCb4oCmXV0iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKIG1zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINCw0LTRgNC10YHQuNGC0LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QuNGC0LUg0YXRgNCw0L3QuNC70LjRidCwIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMgYnVpbHRpbi9scy1yZW1vdGUuYzo1NQogbXNnaWQgImV4ZWMiCiBtc2dzdHIgItCa0J7QnNCQ0J3QlNCQIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUyIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTQKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTQgYnVpbHRpbi9scy1yZW1vdGUuYzo1NgogbXNnaWQgInBhdGggb2YgZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUgaG9zdCIKIG1zZ3N0ciAi0L/RitGCINC60YrQvCDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LXVwbG9hZC1wYWNr4oCcINC90LAg0L7RgtC00LDQu9C10YfQtdC90LDRgtCwINC80LDRiNC40L3QsCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAogbXNnaWQgImxpbWl0IHRvIHRhZ3MiCiBtc2dzdHIgItGB0LDQvNC+INC10YLQuNC60LXRgtC40YLQtSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OQogbXNnaWQgImxpbWl0IHRvIGhlYWRzIgogbXNnc3RyICLRgdCw0LzQviDQstGK0YDRhdC+0LLQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTgKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAKIG1zZ2lkICJkbyBub3Qgc2hvdyBwZWVsZWQgdGFncyIKIG1zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YDQvtGB0LvQtdC00LXQvdC40YLQtSDQtdGC0LjQutC10YLQuCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICLQstC30LjQvNCw0L3QtSDQv9GA0LXQtNCy0LjQtCDQvdCwIOKAnnVybC7QkdCQ0JfQkC5pbnN0ZWFkT2bigJwiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgItC40LfRhdC+0LQg0YEg0LrQvtC0IDIsINCw0LrQviDQvdC1INGB0LUg0L7RgtC60YDQuNGP0YIg0YHRitCy0L/QsNC00LDRidC4INGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NgogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70Y8g0LfQsNC10LTQvdC+INGBINC+0LHQtdC60YLQsCDRgdC+0YfQtdC9INC+0YIg0L3QtdCz0L4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOQogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBscy10cmVlIFvQntCf0KbQmNCv4oCmXSDQo9Ca0JDQl9CQ0KLQldCbX9Ca0KrQnF/QlNCq0KDQktCeIFvQn9Cq0KLigKZdIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNwogbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0LTRitGA0LLQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1YnRyZWVzIgogbXNnc3RyICLRgNC10LrRg9GA0YHQuNCy0L3QviDQvtCx0YXQvtC20LTQsNC90LUg0L/QvtC00LTRitGA0LLQtdGC0LDRgtCwIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMQogbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC00YrRgNCy0LXRgtCw0YLQsCDQv9GA0Lgg0YDQtdC60YPRgNGB0LjQstC90L7RgtC+INC+0LHRhdC+0LbQtNCw0L3QtSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM1CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzQKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICLRgNCw0LfQtNC10LvRj9C90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1INGBINC90YPQu9C10LLQuNGPINC30L3QsNC6IOKAnk5VTOKAnCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM2CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdCBzaXplIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgNCw0LfQvNC10YDQsCDQvdCwINC+0LHQtdC60YLQsCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM4IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MAorIzogYnVpbHRpbi9scy10cmVlLmM6MTM3IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOQogbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQuNC80LXQvdCw0YLQsCDQvdCwINGE0LDQudC70L7QstC10YLQtSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQzCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDIKIG1zZ2lkICJ1c2UgZnVsbCBwYXRoIG5hbWVzIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC/0YrQu9C90LjRgtC1INC40LzQtdC90LAg0L3QsCDQv9GK0YLQuNGJ0LDRgtCwIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDUKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0NAogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGG0Y/Qu9C+0YLQviDQtNGK0YDQstC+LCDQvdC1INGB0LDQvNC+INC90LAg0YLQtdC60YPRidCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyAo0LLQutC70Y7Rh9Cy0LAg0L7Qv9GG0LjRj9GC0LAgIgogIuKAni0tZnVsbC1uYW1l4oCcKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ2Ci1tc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCi1tc2dzdHIgImdpdCBtZXJnZSBb0J7Qn9Cm0JjQr+KApl0gW9Cf0J7QlNCQ0JLQkNCd0JXigKZdIgorIzogYnVpbHRpbi9tYWlsc3BsaXQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKK21zZ3N0ciAi0L/RgNCw0LfQvdCwINC/0L7RidC10L3RgdC60LAg0LrRg9GC0LjRjyBtYm94OiDigJ4lc+KAnCIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjQ3Ci1tc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCi1tc2dzdHIgImdpdCBtZXJnZSBb0J7Qn9Cm0JjQr+KApl0g0KHQqtCe0JHQqdCV0J3QmNCVIEhFQUQg0J/QntCU0JDQktCQ0J3QlSIKK21zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKK21zZ3N0ciAiZ2l0IG1lcmdlIFvQntCf0KbQmNCv4oCmXSBb0J/QntCU0JDQktCQ0J3QleKApl0iCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzo0OAogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgogbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMgorIzogYnVpbHRpbi9tZXJnZS5jOjQ5Cittc2dpZCAiZ2l0IG1lcmdlIC0tY29udGludWUiCittc2dzdHIgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgorCisjOiBidWlsdGluL21lcmdlLmM6MTA0CiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tbeKAnCDQuNC30LjRgdC60LLQsCDRgdGC0L7QudC90L7RgdGCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5CisjOiBidWlsdGluL21lcmdlLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgItCd0Y/QvNCwINGC0LDQutCw0LLQsCDRgdGC0YDQsNGC0LXQs9C40Y8g0LfQsCDRgdC70LjQstCw0L3QtTog4oCeJXPigJwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi0J3QsNC70LjRh9C90LjRgtC1INGB0YLRgNCw0YLQtdCz0LjQuCDRgdCwOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi0JTQvtC/0YrQu9C90LjRgtC10LvQvdC40YLQtSDRgdGC0YDQsNGC0LXQs9C40Lgg0YHQsDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTUgYnVpbHRpbi9wdWxsLmM6MTI3CisjOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEzNAogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsNGC0LAg0YHQu9C10LQg0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM3CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsNGC0LAg0YHQu9C10LQg0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTQwCiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKNGB0LjQvdC+0L3QuNC8INC90LAg4oCeLS1zdGF04oCcKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMSBidWlsdGluL3B1bGwuYzoxMzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTQzCiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAi0LTQvtCx0LDQstGP0L3QtSAo0L3QsCDQvNCw0LrRgdC40LzRg9C8INGC0LDQutGK0LIg0JHQoNCe0JkpINC30LDQv9C40YHQuCDQvtGCINGB0YrQutGA0LDRgtC10L3QuNGPINC20YPRgNC90LDQuyDQsiDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+ICIKICLQt9CwINC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQgYnVpbHRpbi9wdWxsLmM6MTM5CisjOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjE0NgogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQtdC00L3QviDQv9C+0LTQsNCy0LDQvdC1INCy0LzQtdGB0YLQviDQuNC30LLRitGA0YjQstCw0L3QtSDQvdCwINGB0LvQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgItC40LfQstGK0YDRiNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtSDQv9GA0Lgg0YPRgdC/0LXRiNC90L4g0YHQu9C40LLQsNC90LUgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC00LXQudGB0YLQstC40LUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0NQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNTIKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgItGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQtdC00Lgg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCi1tc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDRgtGA0LjQstC40LDQu9C90L4g0YHQu9C40LLQsNC90LUgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC00LXQudGB0YLQstC40LUpIgorbXNnc3RyICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg0L/RgNC10LLRitGA0YLQsNC90LUgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC00LXQudGB0YLQstC40LUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjExIGJ1aWx0aW4vcHVsbC5jOjE1MQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMyBidWlsdGluL3B1bGwuYzoxNTgKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgotbXNnc3RyICLQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUsINCw0LrQviDRgdC70LjQstCw0L3QtdGC0L4g0L3QtSDQtSDRgtGA0LjQstC40LDQu9C90L4iCittc2dzdHIgItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSwg0LDQutC+INC/0YDQtdCy0YrRgNGC0LDQvdC10YLQviDQtSDQvdC10LLRitC30LzQvtC20L3QviIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL3B1bGwuYzoxNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotbXNnc3RyICLQn9GA0L7QstC10YDQutCwLCDRh9C1INGD0LrQsNC30LDQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1INC1INGBINC/0YDQsNCy0LjQu9C10L0g0L/QvtC00L/QuNGBINC90LAgR1BHIgorbXNnc3RyICLQv9GA0L7QstC10YDQutCwLCDRh9C1INGD0LrQsNC30LDQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1INC1INGBINC/0YDQsNCy0LjQu9C10L0g0L/QvtC00L/QuNGBINC90LAgR1BHIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4Ci0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzYgYnVpbHRpbi9wdWxsLmM6MTY1CisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICLQodCi0KDQkNCi0JXQk9CY0K8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU5CisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE2NgogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAi0KHQotCg0JDQotCV0JPQmNCvINC30LAg0YHQu9C40LLQsNC90LUsINC60L7Rj9GC0L4g0LTQsCDRgdC1INC/0L7Qu9C30LLQsCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9wdWxsLmM6MTY5CiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICLQntCf0KbQmNCvPdCh0KLQntCZ0J3QntCh0KIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTYzCisjOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgItCe0J/QptCY0K8g0LfQsCDQuNC30LHRgNCw0L3QsNGC0LAg0YHRgtGA0LDRgtC10LPQuNGPINC30LAg0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjMKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCi1tc2dzdHIgItCh0KrQntCR0KnQldCd0JjQlSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtdGC0L4g0YHRitGBINGB0LvQuNCy0LDQvdC1ICjQv9GA0Lgg0L3QtdGC0YDQuNCy0LjQsNC70L3QuCDRgdC70LjQstCw0L3QuNGPKSIKK21zZ3N0ciAi0KHQqtCe0JHQqdCV0J3QmNCVINC/0YDQuCDQv9C+0LTQsNCy0LDQvdC10YLQviDRgdGK0YEg0YHQu9C40LLQsNC90LUgKNC/0YDQuCDRgdGK0YnQuNC90YHQutC4INGB0LvQuNCy0LDQvdC40Y8pIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjI1CisjOiBidWlsdGluL21lcmdlLmM6MjI3CiBtc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCiBtc2dzdHIgItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGC0LXQutGD0YnQvtGC0L4g0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcgYnVpbHRpbi9wdWxsLmM6MTcwCisjOiBidWlsdGluL21lcmdlLmM6MjI5Cittc2dpZCAiY29udGludWUgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCittc2dzdHIgItC/0YDQvtC00YrQu9C20LDQstCw0L3QtSDQvdCwINGC0LXQutGD0YnQvtGC0L4g0YHQu9C40LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzEgYnVpbHRpbi9wdWxsLmM6MTc3CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg0YHQu9C40LLQsNC90LUg0L3QsCDQvdC10LfQsNCy0LjRgdC40LzQuCDQuNGB0YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NQorIzogYnVpbHRpbi9tZXJnZS5jOjI1OQogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDRgdC60LDRgtCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjQKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgdC60LDRgtCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L7QsdC10LrRgjog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODQgYnVpbHRpbi9tZXJnZS5jOjMwMQorIzogYnVpbHRpbi9tZXJnZS5jOjI4OCBidWlsdGluL21lcmdlLmM6MzA1CiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC/0YDQvtGH0LjRgtCw0L3QtSDQvdCwINC+0LHQtdC60YIt0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMzMQorIzogYnVpbHRpbi9tZXJnZS5jOjMzNQogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgogbXNnc3RyICIgKNC90Y/QvNCwINC60LDQutCy0L4g0LTQsCDRgdC1INGB0LzQsNGH0LrQsCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1INGB0YrRgSDRgdC80LDRh9C60LLQsNC90LUg4oCUINGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3Rj9C80LAg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvVxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzkyCisjOiBidWlsdGluL21lcmdlLmM6Mzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiIgogItCb0LjQv9GB0LLQsCDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUg4oCUINGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3Rj9C80LAg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvVxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDQzCisjOiBidWlsdGluL21lcmdlLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0YHQvtGH0Lgg0LrRitC8INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C10L0g0L3QuNC3INC30LAg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5icmFuY2guJXMubWVyZ2VvcHRpb25z4oCcOiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY1MgorIzogYnVpbHRpbi9tZXJnZS5jOjY1NwogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgItCf0L7QtNC00YrRgNC20LAg0YHQtSDRgdCw0LzQviDRgdC70LjQstCw0L3QtSDQvdCwINGC0L7Rh9C90L4g0LTQstC1INC40YHRgtC+0YDQuNC4LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY2NgorIzogYnVpbHRpbi9tZXJnZS5jOjY3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0L7Qv9GG0LjRjyDQt9CwINGA0LXQutGD0YDRgdC40LLQvdC+0YLQviDRgdC70LjQstCw0L3QtSDigJ5tZXJnZS1yZWN1cnNpdmXigJw6IOKAni1YJXPigJwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICLQntGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGH0LXRgtC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6NzQyCisjOiBidWlsdGluL21lcmdlLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogItCh0LvQuNCy0LDQvdC10YLQviDQvdGP0LzQsCDQtNCwINCx0YrQtNC1INC/0L7QtNCw0LTQtdC90L4uICDQl9CwINC30LDQstGK0YDRiNCy0LDQvdC10YLQviDQvNGDINC4INC/0L7QtNCw0LLQsNC90LXRgtC+INC80YMgIgogItC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBjb21taXTigJwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtOTU4OCw2OCArMTAzNjAsNzIgQEAKICLQoNC10LTQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC30LDQv9C+0YfQstCw0YIg0YEg4oCeJWPigJwg0YnQtSDQsdGK0LTQsNGCINC/0YDQvtC/0YPRgdC90LDRgtC4LCDQsCDQv9GA0LDQt9C90L4g0YHRitC+0LHRidC10L3QuNC1XG4iCiAi0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LAg0L/QvtC00LDQstCw0L3QtdGC0L4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzcKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgItCf0YDQsNC30L3QviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzkyCisjOiBidWlsdGluL21lcmdlLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKLW1zZ3N0ciAi0J/RitGA0LLQuNGP0YIg0LXRgtCw0L8g0L3QsCDRgtGA0LjQstC40LDQu9C90L7RgtC+INGB0LvQuNCy0LDQvdC1INC30LDQstGK0YDRiNC4LlxuIgorbXNnc3RyICLQn9GK0YDQstC40Y/RgiDQtdGC0LDQvyDQvdCwINGB0LvQuNCy0LDQvdC10YLQviDQt9Cw0LLRitGA0YjQuC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg0NworIzogYnVpbHRpbi9tZXJnZS5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgotbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0YHQu9C40LLQsNC90LUg4oCUINC60L7RgNC40LPQuNGA0LDQudGC0LUg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQuCDQv9C+0LTQsNC50YLQtSDRgNC10LfRg9C70YLQsNGC0LAuXG4iCittc2dzdHIgIiIKKyLQndC10YPRgdC/0LXRiNC90L4g0LDQstGC0L7QvNCw0YLQuNGH0L3QviDRgdC70LjQstCw0L3QtSDigJQg0LrQvtGA0LjQs9C40YDQsNC50YLQtSDQutC+0L3RhNC70LjQutGC0LjRgtC1INC4INC/0L7QtNCw0LnRgtC1ICIKKyLRgNC10LfRg9C70YLQsNGC0LAuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCi1tc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0L/QvtC00LDQstCw0L3QtSIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjkwNAorIzogYnVpbHRpbi9tZXJnZS5jOjg4OQogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi0J3Rj9C80LAg0YLQtdC60YPRiSDQutC70L7QvS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTEKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgItCi0LXQutGD0YnQuNGP0YIg0LrQu9C+0L0g0L3QtSDRgdC70LXQtNC4INC90LjQutC+0LkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA4CisjOiBidWlsdGluL21lcmdlLmM6ODkzCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9INC90LUg0YHQu9C10LTQuCDQvdC40LrQvtC5INC60LvQvtC9LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkxMworIzogYnVpbHRpbi9tZXJnZS5jOjg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgogbXNnc3RyICLQndC40LrQvtC5INC60LvQvtC9INC90LUg0YHQu9C10LTQuCDQutC70L7QvdCwIOKAniVz4oCcINC+0YIg0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk2MAorIzogYnVpbHRpbi9tZXJnZS5jOjk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINCyINGB0YDQtdC00LDRgtCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAzNAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKLW1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNGC0LLQvtGA0LgiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDYxCisjOiBidWlsdGluL21lcmdlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGB0LvQtdC1INCyIOKAniVz4oCcOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGB0LvQtdC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2MgorIzogYnVpbHRpbi9tZXJnZS5jOjExNDUKK21zZ2lkICItLWFib3J0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWFib3J04oCcINC90LUg0L/RgNC40LXQvNCwINCw0YDQs9GD0LzQtdC90YLQuCIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExNDkKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIiIKICLQndC1INC80L7QttC1INC00LAg0L/RgNC10YPRgdGC0LDQvdC+0LLQuNGC0LUg0YHQu9C40LLQsNC90LUsINC30LDRidC+0YLQviDQsiDQvNC+0LzQtdC90YLQsCDQvdC1INGB0LUg0LjQt9Cy0YrRgNGI0LLQsCDRgtCw0LrQvtCy0LAgIgogIijQu9C40L/RgdCy0LAg0YPQutCw0LfQsNGC0LXQuyDigJ5NRVJHRV9IRUFE4oCcKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTc4CisjOiBidWlsdGluL21lcmdlLmM6MTE2MQorbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tY29udGludWXigJwg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3RgtC4IgorCisjOiBidWlsdGluL21lcmdlLmM6MTE2NQorbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIGluIHByb2dyZXNzIChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKK21zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0L3QtSDRgdC1INC40LfQstGK0YDRiNCy0LAg0YHQu9C40LLQsNC90LUgKNC70LjQv9GB0LLQsCDRg9C60LDQt9Cw0YLQtdC7IOKAnk1FUkdFX0hFQUTigJwpLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtOTY1Nyw3ICsxMDQzMyw3IEBACiAi0J3QtSDRgdGC0LUg0LfQsNCy0YrRgNGI0LjQu9C4INGB0LvQuNCy0LDQvdC1LiAgKNCj0LrQsNC30LDRgtC10LvRj9GCIOKAnk1FUkdFX0hFQUTigJwg0YHRitGJ0LXRgdGC0LLRg9Cy0LApLlxuIgogItCf0L7QtNCw0LnRgtC1INC/0YDQvtC80LXQvdC40YLQtSDRgdC4LCDQv9GA0LXQtNC4INC00LAg0LfQsNC/0L7Rh9C90LXRgtC1INC90L7QstC+INGB0LvQuNCy0LDQvdC1LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTk2NjUsMTcwICsxMDQ0MSwxNjkgQEAKICLQndC1INGB0YLQtSDQt9Cw0LLRitGA0YjQuNC70Lgg0L7RgtCx0LjRgNCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUgKNGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkNIRVJSWV9QSUNLX0hFQUTigJxcbiIKICLRgdGK0YnQtdGB0YLQstGD0LLQsCkuICDQn9C+0LTQsNC50YLQtSDQv9GA0L7QvNC10L3QuNGC0LUg0YHQuCwg0L/RgNC10LTQuCDQtNCwINC30LDQv9C+0YfQvdC10YLQtSDQvdC+0LLQviDRgdC70LjQstCw0L3QtS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CisjOiBidWlsdGluL21lcmdlLmM6MTE5MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogItCd0LUg0YHRgtC1INC30LDQstGK0YDRiNC40LvQuCDQvtGC0LHQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtSAo0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeQ0hFUlJZX1BJQ0tfSEVBROKAnFxuIgogItGB0YrRidC10YHRgtCy0YPQstCwKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTk3CisjOiBidWlsdGluL21lcmdlLmM6MTIwMAogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tLXNxdWFzaOKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeLS1uby1mZuKAnC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA1CisjOiBidWlsdGluL21lcmdlLmM6MTIwOAogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICIiCiAi0J3QtSDQtSDRg9C60LDQt9Cw0L3QviDQv9C+0LTQsNCy0LDQvdC1INC4INC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCebWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW3igJwg0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdCwLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI1CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgItCf0L7QtNCw0LLQsNC90LUg0YHRitGBINGB0LzQsNGH0LrQstCw0L3QtSDQstGK0LIg0LLRgNGK0YUg0LHQtdC3INC40YHRgtC+0YDQuNGPINCy0YHQtSDQvtGJ0LUg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI0CisjOiBidWlsdGluL21lcmdlLmM6MTIyNwogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICIiCi0i0J/QvtC90LXQttC1INCy0YrRgNGF0YrRgiDQtSDQsdC10Lcg0LjRgdGC0L7RgNC40Y8sINCy0YHQuNGH0LrQuCDRgdC70LjQstCw0L3QuNGPINGB0LAg0YLRgNC40LLQuNCw0LvQvdC4LCDQvdC1INC80L7QttC1INC00LAg0YHQtSAiCi0i0LjQt9Cy0YrRgNGI0Lgg0L3QtdGC0YDQuNCy0LjQsNC70L3QviDRgdC70LjQstCw0L3QtSDQuNC30LjRgdC60LLQsNC90L4g0L7RgiDQvtC/0YbQuNGP0YLQsCDigJ4tLW5vLWZm4oCcIgorItCf0L7QvdC10LbQtSDQstGK0YDRhdGK0YIg0LUg0LHQtdC3INC40YHRgtC+0YDQuNGPLCDQstGB0LjRh9C60Lgg0YHQu9C40LLQsNC90LjRjyDRgdCwINC/0YDQtdCy0YrRgNGC0LDQvdC40Y8sINC90LUg0LzQvtC20LUg0LTQsCDRgdC1ICIKKyLQuNC30LLRitGA0YjQuCDRgdGK0YnQuNC90YHQutC+INGB0LvQuNCy0LDQvdC1INC40LfQuNGB0LrQstCw0L3QviDQvtGCINC+0L/RhtC40Y/RgtCwIOKAni0tbm8tZmbigJwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI5CisjOiBidWlsdGluL21lcmdlLmM6MTIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICLigJ4lc+KAnCDigJQg0L3QtSDQtSDQvdC10YnQviwg0LrQvtC10YLQviDQvNC+0LbQtSDQtNCwINGB0LUg0YHQu9C10LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMxCisjOiBidWlsdGluL21lcmdlLmM6MTIzNAogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgItCc0L7QttC10YLQtSDQtNCwINGB0LvQtdC10YLQtSDRgtC+0YfQvdC+INC10LTQvdC+INC/0L7QtNCw0LLQsNC90LUg0LLRitCyINCy0YDRitGFINCx0LXQtyDQuNGB0YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKICLQn9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQtSDRgSDQvdC10LTQvtCy0LXRgNC10L0g0L/QvtC00L/QuNGBINC+0YIgR1BHLCDQutC+0LnRgtC+INGC0LLRitGA0LTQuCwg0YfQtSDQtSDQvdCwIOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAi0J/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwg0LUg0YEg0L3QtdC/0YDQsNCy0LjQu9C10L0g0L/QvtC00L/QuNGBINC+0YIgR1BHLCDQutC+0LnRgtC+INGC0LLRitGA0LTQuCwg0YfQtSDQtSDQvdCwIOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgItCf0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcINC1INCx0LXQtyDQv9C+0LTQv9C40YEg0L7RgiBHUEcuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQtSDRgSDQutC+0YDQtdC60YLQtdC9INC/0L7QtNC/0LjRgSDQvtGCIEdQRyDQvdCwIOKAniVz4oCcLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1OAorIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICLQvdC10LfQsNCy0LjRgdC40LzQuCDQuNGB0YLQvtGA0LjQuCDQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdC70LXRj9GCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM2NworIzogYnVpbHRpbi9tZXJnZS5jOjEzNDgKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgogbXNnc3RyICLQktC10YfQtSDQtSDQvtCx0L3QvtCy0LXQvdC+LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDigJ4lcy4uJXPigJxcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgotbXNnc3RyICLQn9GA0L7QsdCwINGBINC90LDQuS3RgtGA0LjQstC40LDQu9C90L7RgtC+INGB0LvQuNCy0LDQvdC1INCyINGA0LDQvNC60LjRgtC1INC90LAg0LjQvdC00LXQutGB0LDigKZcbiIKK21zZ3N0ciAi0J/RgNC+0LHQsCDRgdGK0YEg0YHQu9C40LLQsNC90LUg0LIg0YDQsNC80LrQuNGC0LUg0L3QsCDQuNC90LTQtdC60YHQsOKAplxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQyNQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ1MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0MzEKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKIG1zZ3N0ciAi0JLQtdGH0LUg0LUg0L7QsdC90L7QstC10L3QviEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDU2CisjOiBidWlsdGluL21lcmdlLmM6MTQzNwogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKLW1zZ3N0ciAiIgotItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQstGK0YDRiNC4INGC0YDQuNCy0LjQsNC70L3QviDRgdC70LjQstCw0L3QtSwg0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LTQtdC50YHRgtCy0LjQtdGC0L4uIgorbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDQv9GA0LXQstGK0YDRgtCw0L3QtSwg0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LTQtdC50YHRgtCy0LjQtdGC0L4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ3OSBidWlsdGluL21lcmdlLmM6MTU1OAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NjAgYnVpbHRpbi9tZXJnZS5jOjE1MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgItCf0YDQuNCy0LXQttC00LDQvdC1INC90LAg0LTRitGA0LLQvtGC0L4g0LrRitC8INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QvtGC0L7igKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICLQn9GA0L7QsdCy0LDQvdC1INGB0YrRgSDRgdGC0YDQsNGC0LXQs9C40Y/RgtCwINC30LAg0YHQu9C40LLQsNC90LUg4oCeJXPigJzigKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICLQndC40LrQvtGPINGB0YLRgNCw0YLQtdCz0LjRjyDQt9CwINGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQuNC30LLRitGA0YjQuCDRgdC70LjQstCw0L3QtdGC0L4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUxCisjOiBidWlsdGluL21lcmdlLmM6MTUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1INGB0YrRgSDRgdGC0YDQsNGC0LXQs9C40Y8g4oCeJXPigJwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTYwCisjOiBidWlsdGluL21lcmdlLmM6MTU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiIgogItCf0L7Qu9C30LLQsCDRgdC1INGB0YLRgNCw0YLQtdCz0LjRj9GC0LAg4oCeJXPigJwsINC60L7Rj9GC0L4g0YnQtSDQv9C+0LTQs9C+0YLQstC4INC00YrRgNCy0L7RgtC+INC30LAg0LrQvtGA0LjQs9C40YDQsNC90LUg0L3QsCAiCiAi0YDRitC60LAuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTcyCisjOiBidWlsdGluL21lcmdlLmM6MTU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCiAi0JDQstGC0L7QvNCw0YLQuNGH0L3QvtGC0L4g0YHQu9C40LLQsNC90LUg0LfQsNCy0YrRgNGI0Lgg0YPRgdC/0LXRiNC90L4uICDQodCw0LzQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC1INC40LfQstGK0YDRiNC10L3QviwgIgogItC30LDRidC+0YLQviDQsdC1INC30LDQtNCw0LTQtdC90LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1uby1jb21taXTigJwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdINCf0J7QlNCQ0JLQkNCd0JUg0J/QntCU0JDQktCQ0J3QleKApiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMxCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIC0tb2N0b3B1cyDQn9Ce0JTQkNCS0JDQndCV4oCmIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50INCf0J7QlNCQ0JLQkNCd0JXigKYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMwogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3Ig0J/QntCU0JDQktCQ0J3QlV8xINCf0J7QlNCQ0JLQkNCd0JVfMiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzMKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjM0CiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCDQo9Ca0JDQl9CQ0KLQldCbIFvQn9Ce0JTQkNCS0JDQndCVXSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE3CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTgKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDQvtCx0YnQuCDQv9GA0LXQtNGI0LXRgdGC0LLQtdC90LjRhtC4IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAiIgogItC+0YLQutGA0LjQstCw0L3QtSDQvdCwINC/0YDQtdC00YjQtdGB0YLQstC10L3QuNGG0LjRgtC1INC30LAg0LXQtNC90L7QutGA0LDRgtC90L4g0YHQu9C40LLQsNC90LUg0L3QsCDQvNC90L7QttC10YHRgtCy0L4g0LjRgdGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIyCiBtc2dpZCAibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LXQtNC+0YHRgtC40LbQuNC80LjRgtC1INC+0YIg0LTRgNGD0LPQuNGC0LUg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjMKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNAogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAi0J/QntCU0JDQktCQ0J3QlV8xINC/0YDQtdC00YjQtdGB0YLQstC10L3QuNC6INC70Lgg0LUg0L3QsCDQn9Ce0JTQkNCS0JDQndCVXzI/IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNgogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICLQvtGC0LrRgNC40LLQsNC90LUg0LrRitC00LUg0J/QntCU0JDQktCQ0J3QldGC0L4g0YHQtSDQtSDQvtGC0LrQu9C+0L3QuNC70L4g0L7RgiDQuNGB0YLQvtGA0LjRj9GC0LAg0L3QsCDQo9Ca0JDQl9CQ0KLQldCb0Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjgKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjkKIG1zZ2lkICIiCiAiZ2l0IG1lcmdlLWZpbGUgWzxvcHRpb25zPl0gWy1MIDxuYW1lMT4gWy1MIDxvcmlnPiBbLUwgPG5hbWUyPl1dXSA8ZmlsZTE+ICIKICI8b3JpZy1maWxlPiA8ZmlsZTI+IgpAQCAtOTkwMywxNTkgKzEwNjc4LDE2MyBAQAogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUyCisjOiBidWlsdGluL21rdHJlZS5jOjE1MwogbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgogbXNnc3RyICLQstGF0L7QtNC90LjRgtC1INC30LDQv9C40YHQuCDRgdCwINGA0LDQt9C00LXQu9C10L3QuCDRgSDQvdGD0LvQtdCy0LjRjyDQt9C90LDQuiDigJ5OVUzigJwiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUzIGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI0CisjOiBidWlsdGluL21rdHJlZS5jOjE1NCBidWlsdGluL3dyaXRlLXRyZWUuYzoyNQogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LDQstCw0L3QtSDQvdCwINC70LjQv9GB0LLQsNGJ0Lgg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NAorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNCw0LLQsNC90LUg0L3QsCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0L/QvtCy0LXRh9C1INC+0YIg0LXQtNC90L4g0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi9tdi5jOjE1CisjOiBidWlsdGluL212LmM6MTcKIG1zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFvQntCf0KbQmNCv4oCmXSDQntCR0JXQmtCi4oCmINCm0JXQmyIKIAotIzogYnVpbHRpbi9tdi5jOjcwCisjOiBidWlsdGluL212LmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgogbXNnc3RyICLQlNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0LUg0LIg0LjQvdC00LXQutGB0LAsINC90L4g0L3QtSDQtSDQv9C+0LTQvNC+0LTRg9C7IgogCi0jOiBidWlsdGluL212LmM6NzIgYnVpbHRpbi9ybS5jOjMxNworIzogYnVpbHRpbi9tdi5jOjg1IGJ1aWx0aW4vcm0uYzoyOTAKIG1zZ2lkICJQbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgogItCX0LAg0LTQsCDQv9GA0L7QtNGK0LvQttC40YLQtSwg0LjQu9C4INCy0LrQsNGA0LDQudGC0LUg0L/RgNC+0LzQtdC90LjRgtC1INC/0L4g0YTQsNC50LvQsCDigJ4uZ2l0bW9kdWxlc+KAnCDQsiDQuNC90LTQtdC60YHQsCxcbiIKICLQuNC70Lgg0LPQuCDRgdC60LDRgtCw0LnRgtC1IgogCi0jOiBidWlsdGluL212LmM6OTAKKyM6IGJ1aWx0aW4vbXYuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBpbiBpbmRleCIKIG1zZ3N0ciAi4oCeJS4qc+KAnCDQstC10YfQtSDQtSDQsiDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9tdi5jOjExMgorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC/0YDQtdC80LXRgdGC0LLQsNC90LUv0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC00L7RgNC4INGG0LXQu9GC0LAg0LTQsCDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogYnVpbHRpbi9tdi5jOjExMworIzogYnVpbHRpbi9tdi5jOjEyNgogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINCz0YDQtdGI0LrQuNGC0LUg0L/RgNC4INC/0YDQtdC80LXRgdGC0LLQsNC90LUv0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1IgogCi0jOiBidWlsdGluL212LmM6MTU1CisjOiBidWlsdGluL212LmM6MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICLRhtC10LvRgtCwIOKAniVz4oCcINGB0YrRidC10YHRgtCy0YPQstCwINC4INC90LUg0LUg0LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjYKKyM6IGJ1aWx0aW4vbXYuYzoxNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC10YLQviDQvdCwINC+0LHQtdC60YIg0L7RgiDigJ4lc+KAnCDQvdCwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzAKKyM6IGJ1aWx0aW4vbXYuYzoxODMKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvtCx0LXQutGCIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTg2CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LzQtdGB0YLQuCDQsiDRgdC10LHQtSDRgdC4IgogCi0jOiBidWlsdGluL212LmM6MTc2CisjOiBidWlsdGluL212LmM6MTg5CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LzQtdGB0YLQuCDQstGK0YDRhdGDINGE0LDQudC7IgogCi0jOiBidWlsdGluL212LmM6MTg1CisjOiBidWlsdGluL212LmM6MTk4CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAi0L/RitGA0LLQvtC90LDRh9Cw0LvQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQtSDQv9GA0LDQt9C90LAiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTAKKyM6IGJ1aWx0aW4vbXYuYzoyMjMKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICLQvdC1INC1INC/0L7QtCDQutC+0L3RgtGA0L7Qu9CwINC90LAgR2l0IgogCi0jOiBidWlsdGluL212LmM6MjEzCisjOiBidWlsdGluL212LmM6MjI2CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICLRhtC10LvRgtCwINGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBidWlsdGluL212LmM6MjIxCisjOiBidWlsdGluL212LmM6MjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgItC/0YDQtdC30LDQv9C40YHQstCw0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL212LmM6MjI0CisjOiBidWlsdGluL212LmM6MjM3CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAi0J/RgNC10LfQsNC/0LjRgdCy0LDQvdC10YLQviDQtSDQvdC10LLRitC30LzQvtC20L3QviIKIAotIzogYnVpbHRpbi9tdi5jOjIyNworIzogYnVpbHRpbi9tdi5jOjI0MAogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAi0LzQvdC+0LbQtdGB0YLQstC+INC40LfRgtC+0YfQvdC40YbQuCDQt9CwINC10LTQvdCwINGG0LXQuyIKIAotIzogYnVpbHRpbi9tdi5jOjIyOQorIzogYnVpbHRpbi9tdi5jOjI0MgogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0YbQtdC70LXQstCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBidWlsdGluL212LmM6MjM2CisjOiBidWlsdGluL212LmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywg0L7QsdC10LrRgjog4oCeJXPigJwsINGG0LXQuzog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNTcKKyM6IGJ1aWx0aW4vbXYuYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAi0J/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg4oCeJXPigJwg0L3QsCDigJ4lc+KAnFxuIgogCi0jOiBidWlsdGluL212LmM6MjYzIGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzc1CisjOiBidWlsdGluL212LmM6Mjc2IGJ1aWx0aW4vcmVtb3RlLmM6NzExIGJ1aWx0aW4vcmVwYWNrLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMzgKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBb0J7Qn9Cm0JjQr+KApl0g0J/QntCU0JDQktCQ0J3QleKApiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMzOQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFvQntCf0KbQmNCv4oCmXSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM0MAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgW9Ce0J/QptCY0K/igKZdIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTUKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC40LzQtdC90LDRgtCwICjQsdC10Lcg0YHRg9C80LjRgtC1INC/0L4gU0hBMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTYKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INGB0LDQvNC+INC90LAg0LXRgtC40LrQtdGC0LjRgtC1INC30LAg0LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDRgdCw0LzQviDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L3QsNC/0LDRgdCy0LDRidC4INC90LAg0KjQkNCR0JvQntCd0LAiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDAKK21zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSDQvdCw0L/QsNGB0LLQsNGJ0Lgg0L3QsCDQqNCQ0JHQm9Ce0J3QsCIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L/QvtC00LDQstCw0L3QuNGPLCDQutC+0LjRgtC+INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC00L7RgdGC0LjQs9C90LDRgtC4INC+0YIg0LLRgdC40YfQutC4ICIKICLRg9C60LDQt9Cw0YLQtdC70LgiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDMKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgItGH0LXRgtC10L3QtSDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgItC00LAg0YHQtSDQuNC30LLQtdC20LTQsNGCINC4INC90LXQtNC10YTQuNC90LjRgNCw0L3QuNGC0LUg0LjQvNC10L3QsCAo0YHRgtCw0L3QtNCw0YDRgtC90LAg0YHRgtC+0LnQvdC+0YHRgiDQvdCwINC+0L/RhtC40Y/RgtCwKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC40YLQtSDQvdCwINC+0LHQtdC60YLQuC3QtdGC0LjQutC10YLQuCAo0LfQsCDQstGK0YLRgNC10YjQvdC4INC90YPQttC00LgpIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmINCj0JrQkNCX0JDQotCV0Jtf0JfQkF/QkdCV0JvQldCW0JrQkF0gW2xpc3QgW9Ce0JHQldCa0KJdXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2CisjOiBidWlsdGluL25vdGVzLmM6MjcKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA8bXNnPiB8IC1GIDxmaWxlPiAiCiAifCAoLWMgfCAtQykgPG9iamVjdD5dIFs8b2JqZWN0Pl0iCkBAIC0xMDA2MywxMiArMTA4NDIsMTIgQEAKICJnaXQgbm90ZXMgWy0tcmVmINCj0JrQkNCX0JDQotCV0Jtf0JfQkF/QkdCV0JvQldCW0JrQkF0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSDQodCq0J7QkdCp0JXQndCY0JUgIgogInwgLUYg0KTQkNCZ0JsgfCAoLWMgfCAtQykg0J7QkdCV0JrQol0gW9Ce0JHQldCa0KJdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGNvcHkgWy1mXSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICIiCiAiZ2l0IG5vdGVzIFstLXJlZiDQo9Ca0JDQl9CQ0KLQldCbX9CX0JBf0JHQldCb0JXQltCa0JBdIGNvcHkgWy1mXSDQntCR0JXQmtCiX9CY0JfQotCe0KfQndCY0Jog0J7QkdCV0JrQol/QptCV0JsiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjI5CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgogIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKQEAgLTEwMDc2LDIwNyArMTA4NTUsMjA4IEBACiAiZ2l0IG5vdGVzIFstLXJlZiDQo9Ca0JDQl9CQ0KLQldCbX9CX0JBf0JHQldCb0JXQltCa0JBdIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tINCh0KrQntCR0KnQldCd0JjQlSB8ICIKICItRiDQpNCQ0JnQmyB8ICgtYyB8IC1DKSDQntCR0JXQmtCiXSBb0J7QkdCV0JrQol0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiDQo9Ca0JDQl9CQ0KLQldCbX9CX0JBf0JHQldCb0JXQltCa0JBdIGVkaXQgWy0tYWxsb3ctZW1wdHldIFvQntCR0JXQmtCiXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwCisjOiBidWlsdGluL25vdGVzLmM6MzEKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYg0KPQmtCQ0JfQkNCi0JXQm1/Ql9CQX9CR0JXQm9CV0JbQmtCQXSBzaG93IFvQntCR0JXQmtCiXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMxCisjOiBidWlsdGluL25vdGVzLmM6MzIKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8c3RyYXRlZ3k+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiIgogImdpdCBub3RlcyBbLS1yZWYg0KPQmtCQ0JfQkNCi0JXQm1/Ql9CQX9CR0JXQm9CV0JbQmtCQXSBtZXJnZSBbLXYgfCAtcV0gWy1zINCh0KLQoNCQ0KLQldCT0JjQr10gIgogItCj0JrQkNCX0JDQotCV0Jtf0JfQkF/QkdCV0JvQldCW0JrQkCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMyCisjOiBidWlsdGluL25vdGVzLmM6MzMKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNAogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNQogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHJlbW92ZSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmINCj0JrQkNCX0JDQotCV0Jtf0JfQkF/QkdCV0JvQldCW0JrQkF0gcmVtb3ZlIFvQntCR0JXQmtCi4oCmXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM1CisjOiBidWlsdGluL25vdGVzLmM6MzYKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBwcnVuZSBbLW4gfCAtdl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYg0KPQmtCQ0JfQkNCi0JXQm1/Ql9CQX9CR0JXQm9CV0JbQmtCQXSBwcnVuZSBbLW4gfCAtdl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiDQo9Ca0JDQl9CQ0KLQldCbX9CX0JBf0JHQldCb0JXQltCa0JBdIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQyCiBtc2dpZCAiZ2l0IG5vdGVzIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgW2xpc3QgW9Ce0JHQldCa0KJdXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2CisjOiBidWlsdGluL25vdGVzLmM6NDcKIG1zZ2lkICJnaXQgbm90ZXMgYWRkIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBhZGQgW9Ce0J/QptCY0K/igKZdIFvQntCR0JXQmtCiXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxCisjOiBidWlsdGluL25vdGVzLmM6NTIKIG1zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICJnaXQgbm90ZXMgY29weSBb0J7Qn9Cm0JjQr+KApl0g0J7QkdCV0JrQol/QmNCX0KLQntCn0J3QmNCaINCe0JHQldCa0KJf0KbQldCbIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MwogbXNnaWQgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD5dLi4uIgogbXNnc3RyICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFvQntCR0JXQmtCiX9CY0JfQotCe0KfQndCY0Jog0J7QkdCV0JrQol/QptCV0JvigKZdIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OAogbXNnaWQgImdpdCBub3RlcyBhcHBlbmQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGFwcGVuZCBb0J7Qn9Cm0JjQr+KApl0gW9Ce0JHQldCa0KJdIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MwogbXNnaWQgImdpdCBub3RlcyBlZGl0IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBlZGl0IFvQntCR0JXQmtCiXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY3CisjOiBidWlsdGluL25vdGVzLmM6NjgKIG1zZ2lkICJnaXQgbm90ZXMgc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgc2hvdyBb0J7QkdCV0JrQol0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjczCiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIFs8b3B0aW9ucz5dIDxub3Rlcy1yZWY+IgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgW9Ce0J/QptCY0K/igKZdINCj0JrQkNCX0JDQotCV0Jtf0JfQkF/QkdCV0JvQldCW0JrQkCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjczCisjOiBidWlsdGluL25vdGVzLmM6NzQKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBb0J7Qn9Cm0JjQr+KApl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc1CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFvQntCf0KbQmNCv4oCmXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5CisjOiBidWlsdGluL25vdGVzLmM6ODAKIG1zZ2lkICJnaXQgbm90ZXMgcmVtb3ZlIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyByZW1vdmUgW9Ce0JHQldCa0KJdIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NQogbXNnaWQgImdpdCBub3RlcyBwcnVuZSBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIHBydW5lIFvQntCf0KbQmNCv4oCmXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5CisjOiBidWlsdGluL25vdGVzLmM6OTAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1CiBtc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKIG1zZ3N0ciAi0JfQsNC/0LjRgdCy0LDQvdC1L9GA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQsdC10LvQtdC20LrQuNGC0LUg0LfQsCDRgdC70LXQtNC90LjRjyDQvtCx0LXQutGCOiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE0NworIzogYnVpbHRpbi9ub3Rlcy5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtdGC0L4g4oCec2hvd+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuCDQt9CwINC+0LHQtdC60YIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNTIKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnc2hvdycgb3V0cHV0IgogbXNnc3RyICLQuNC30LLQtdC00LXQvdCw0YLQsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQvtGCINC00LXQudGB0YLQstC40LXRgtC+IOKAnnNob3figJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC+0YfQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmlzaCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgogbXNnc3RyICLQtNC10LnRgdGC0LLQuNC10YLQviDigJ5zaG934oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQstGK0YDRiNC4INC30LAg0L7QsdC10LrRgiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjE5NQogbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKIG1zZ3N0ciAi0LfQsNC00LDQudGC0LUg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0LHQtdC70LXQttC60LDRgtCwINGBINC90Y/QutC+0Y8g0L7RgiDQvtC/0YbQuNC40YLQtSDigJ4tbeKAnCDQuNC70Lgg4oCeLUbigJwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCLdCx0LXQu9C10LbQutCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIwNQorIzogYnVpbHRpbi9ub3Rlcy5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAi0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0LHQtdC70LXQttC60LDRgtCwINC1INCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDM5CisjOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjIzNiBidWlsdGluL3RhZy5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0g0LjQu9C4INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTQgYnVpbHRpbi9ub3Rlcy5jOjMwNSBidWlsdGluL25vdGVzLmM6MzA3Ci0jOiBidWlsdGluL25vdGVzLmM6MzcyIGJ1aWx0aW4vbm90ZXMuYzo0MjcgYnVpbHRpbi9ub3Rlcy5jOjUxMwotIzogYnVpbHRpbi9ub3Rlcy5jOjUxOCBidWlsdGluL25vdGVzLmM6NTk2IGJ1aWx0aW4vbm90ZXMuYzo2NTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTUgYnVpbHRpbi9ub3Rlcy5jOjMwNiBidWlsdGluL25vdGVzLmM6MzA4CisjOiBidWlsdGluL25vdGVzLmM6Mzc1IGJ1aWx0aW4vbm90ZXMuYzo0MzAgYnVpbHRpbi9ub3Rlcy5jOjUxNgorIzogYnVpbHRpbi9ub3Rlcy5jOjUyMSBidWlsdGluL25vdGVzLmM6NTk5IGJ1aWx0aW4vbm90ZXMuYzo2NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSDQutGK0Lwg0LrQsNC60LLQviDRgdC+0YfQuCDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvS4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgogbXNnc3RyICIiCiAi0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0LHQtdC70LXQttC60LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LLQt9C10LzQtSDQvtGCINC+0LHQtdC60YIsINC60L7QudGC0L4g0L3QtSDQtSBCTE9COiDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLQstGF0L7QtNC10L0g0YDQtdC0INGBINC90LXQv9GA0LDQstC40LvQtdC9INGE0L7RgNC80LDRgjog4oCeJXPigJwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzE2CisjOiBidWlsdGluL25vdGVzLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLQsdC10LvQtdC20LrQsNGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LrQvtC/0LjRgNCwINC+0YIg4oCeJXPigJwg0LrRitC8IOKAniVz4oCcIgogCi0jLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYQotIy4gZ2l0IG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgotIzogYnVpbHRpbi9ub3Rlcy5jOjM0NQorIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgZ2l0CisjLiBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KKyMuCisjOiBidWlsdGluL25vdGVzLmM6MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAiIgogItC90Y/QvNCwINC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDigJ4lc+KAnCDQstGK0YDRhdGDINCx0LXQu9C10LbQutC40YLQtSDQsiDigJ4lc+KAnCwg0LfQsNGJ0L7RgtC+INGB0LAg0LjQt9Cy0YrQvSDigJ5yZWZzLyIKICJub3Rlcy/igJwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgotIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCisjOiBidWlsdGluL25vdGVzLmM6MzY4IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjUxMSBidWlsdGluL25vdGVzLmM6NTg3IGJ1aWx0aW4vbm90ZXMuYzo2NTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQgYnVpbHRpbi9ub3Rlcy5jOjk1MSBidWlsdGluL25vdGVzLmM6OTcyCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0L/QsNGA0LDQvNC10YLRgNC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo2NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODEgYnVpbHRpbi9ub3Rlcy5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgogbXNnc3RyICLQvdGP0LzQsCDQsdC10LvQtdC20LrQuCDQt9CwINC+0LHQtdC60YLQsCDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAi0L3QuNC3LCDQutC+0LnRgtC+INC1INGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdCwINCx0LXQu9C10LbQutCw0YLQsCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CisjOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKIG1zZ3N0ciAi0KTQkNCZ0Jsg0YHRitGBINGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdCwINCx0LXQu9C10LbQutCw0YLQsCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgItC/0YDQtdC40LfQv9C+0LvQt9Cy0LDQvdC1INC4INGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRg9C60LDQt9Cw0L3QuNGPINCe0JHQldCa0KIt0LHQtdC70LXQttC60LAiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLQv9GA0LXQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINGD0LrQsNC30LDQvdC40Y8g0J7QkdCV0JrQoi3QsdC10LvQtdC20LrQsCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CisjOiBidWlsdGluL25vdGVzLmM6NDE0IGJ1aWx0aW4vbm90ZXMuYzo1NzcKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgItC/0YDQuNC10LzQsNC90LUg0Lgg0L3QsCDQv9GA0LDQt9C90Lgg0LHQtdC70LXQttC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxNSBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi0LfQsNC80Y/QvdCwINC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC40YLQtSDQsdC10LvQtdC20LrQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNworIzogYnVpbHRpbi9ub3Rlcy5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTEwMjg1LDMxICsxMTA2NSwzMSBAQAogItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC00L7QsdCw0LLQuCDQsdC10LvQtdC20LrQsCwg0LfQsNGJ0L7RgtC+INGC0LDQutCw0LLQsCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQt9CwINC+0LHQtdC60YLQsCDigJ4lc+KAnC4gICIKICLQmNC30L/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIOKAni1m4oCcLCDQt9CwINC00LAg0L/RgNC10LfQsNC/0LjRiNC10YLQtSDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0Lgg0LHQtdC70LXQttC60LguIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDUyIGJ1aWx0aW4vbm90ZXMuYzo1MzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NTUgYnVpbHRpbi9ub3Rlcy5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPdmVyd3JpdGluZyBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgItCf0YDQtdC30LDQv9C40YHQstCw0L3QtSDQvdCwINGB0YrRidC10YHRgtCy0YPQstCw0YnQuNGC0LUg0LHQtdC70LXQttC60Lgg0LfQsCDQvtCx0LXQutGC0LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NjI0IGJ1aWx0aW4vbm90ZXMuYzo4ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjYgYnVpbHRpbi9ub3Rlcy5jOjYyNiBidWlsdGluL25vdGVzLmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDQsdC10LvQtdC20LrQsNGC0LAg0LfQsCDQvtCx0LXQutGC0LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NwogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODkKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAiIgogItC30LDRgNC10LbQtNCw0L3QtSDQvdCwINC90LDRgdGC0YDQvtC50LrQuNGC0LUg0LfQsCDQmtCe0JzQkNCd0JTQkNGC0LAsINC60L7Rj9GC0L4g0L/RgNC10LfQsNC/0LjRgdCy0LAg0L/QvtC00LDQstCw0L3QuNGPICjQstC60LvRjtGH0LLQsCAiCiAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1zdGRpbuKAnCkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDcKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgItC/0YDQtdC60LDQu9C10L3QviDQvNCw0LvQutC+INC/0LDRgNCw0LzQtdGC0YDQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyNQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCkBAIC0xMDMxOCwxMiArMTEwOTgsMTIgQEAKICLQndC1INC80L7QttC1INC00LAg0YHQtSDQutC+0L/QuNGA0LAg0LHQtdC70LXQttC60LAsINC30LDRidC+0YLQviDRgtCw0LrQsNCy0LAg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0LfQsCDQvtCx0LXQutGC0LAg4oCeJXPigJwuICAiCiAi0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tZuKAnCwg0LfQsCDQtNCwINC/0YDQtdC30LDQv9C40YjQtdGC0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC4INCx0LXQu9C10LbQutC4LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNworIzogYnVpbHRpbi9ub3Rlcy5jOjU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAi0L3Rj9C80LAg0LHQtdC70LXQttC60Lgg0LfQsCDQvtCx0LXQutGC0LAt0LjQt9GC0L7Rh9C90LjQuiDigJ4lc+KAnC4gINCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC60L7Qv9C40YDQsC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMDMzNCw1MiArMTExMTQsNTIgQEAKICLQktC80LXRgdGC0L4g0YLQvtCy0LAg0LPQuCDQuNC30L/QvtC70LfQstCw0LnRgtC1INGBINC/0L7QtNC60L7QvNCw0L3QtNCw0YLQsCDigJ5hZGTigJw6IOKAnmdpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLSIKICJD4oCcLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njg1CisjOiBidWlsdGluL25vdGVzLmM6Njg3CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeTk9URVNfTUVSR0VfUEFSVElBTOKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njg3CisjOiBidWlsdGluL25vdGVzLmM6Njg5CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5OT1RFU19NRVJHRV9SRUbigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjY5MQogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCiBtc2dzdHIgItGA0LDQsdC+0YLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwIOKAnmdpdCBub3RlcyBtZXJnZeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeTk9URVNfTUVSR0VfUEFSVElBTOKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQorIzogYnVpbHRpbi9ub3Rlcy5jOjcxMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC10YLQviDQvtGCIOKAnk5PVEVTX01FUkdFX1BBUlRJQUzigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtC60YDQuNC1LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMworIzogYnVpbHRpbi9ub3Rlcy5jOjcxNQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtdGC0L4g0L7RgiDigJ5OT1RFU19NRVJHRV9QQVJUSUFM4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjgKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSDQutGK0Lwg0LrQsNC60LLQviDRgdC+0YfQuCDigJ5OT1RFU19NRVJHRV9SRUbigJwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzEKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgdC70LjQstCw0L3QtSDQvdCwINCx0LXQu9C10LbQutC40YLQtSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc1NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0YHRgtGA0LDRgtC10LPQuNGPINC30LAg0YHQu9C40LLQsNC90LUg0L3QsCDQsdC10LvQtdC20LrQuCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3MwogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAi0J7QsdGJ0Lgg0L7Qv9GG0LjQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MworIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQogbXNnaWQgIk1lcmdlIG9wdGlvbnMiCiBtc2dzdHIgItCe0L/RhtC40Lgg0L/RgNC4INGB0LvQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc1CisjOiBidWlsdGluL25vdGVzLmM6Nzc3CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKQEAgLTEwMzg5LDQ2ICsxMTE2OSw0NiBAQAogIuKAnnVuaW9u4oCcICjQvtCx0LXQtNC40L3Rj9Cy0LDQvdC1KSwg4oCeY2F0X3NvcnRfdW5pceKAnCAo0L7QsdC10LTQuNC90Y/QstCw0L3QtSwg0L/QvtC00YDQtdC20LTQsNC90LUsINGD0L3QuNC60LDQu9C90LggIgogItGA0LXQt9GD0LvRgtCw0YLQuCkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1INC90LAg0L3QtdGB0LvQtdGC0Lgg0LHQtdC70LXQttC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICLQt9Cw0LLRitGA0YjQstCw0L3QtSDQvdCwINGB0LvQuNCy0LDQvdC10YLQviDRh9GA0LXQtyDQv9C+0LTQsNCy0LDQvdC1INC90LAg0L3QtdGB0LvQtdGC0Lgg0LHQtdC70LXQttC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICLQn9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDQutC+0YDQtdC60YbQuNGP0YLQsCDQv9GA0Lgg0YHQu9C40LLQsNC90LXRgtC+INC90LAg0LHQtdC70LXQttC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAi0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YHQu9C40LLQsNC90LXRgtC+INC90LAg0LHQtdC70LXQttC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTYKIG1zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCiBtc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tY29tbWl04oCcLCDigJ4tLWFib3J04oCcINC4IOKAni1z4oCcL+KAni0tc3RyYXRlZ3nigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDEKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgItGC0YDRj9Cx0LLQsCDQtNCwINGD0LrQsNC20LXRgtC1INGD0LrQsNC30LDRgtC10Lsg0LrRitC8INCx0LXQu9C10LbQutCwINC30LAg0YHQu9C40LLQsNC90LUuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODIzCisjOiBidWlsdGluL25vdGVzLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCwINGB0YLRgNCw0YLQtdCz0LjRjyDQutGK0Lwg0L7Qv9GG0LjRj9GC0LAg4oCeLXPigJwv4oCeLS1zdHJhdGVneeKAnDog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCiBtc2dzdHIgItCyINC80L7QvNC10L3RgtCwINGB0LUg0LjQt9Cy0YrRgNGI0LLQsCDRgdC70LjQstCw0L3QtSDQvdCwINCx0LXQu9C10LbQutC40YLQtSDQsiDigJ4lc+KAnCDQv9GA0Lgg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0b3JlIGxpbmsgdG8gY3VycmVudCBub3RlcyByZWYgKCVzKSIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC/0LDQt9C4INCy0YDRitC30LrQsCDQutGK0Lwg0YPQutCw0LfQsNGC0LXQu9GPINC90LAg0YLQtdC60YPRidCw0YLQsCDQsdC10LvQtdC20LrQsCAo4oCeJXPigJwpLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCkBAIC0xMDQzOSwyMzkgKzExMjE5LDIzOSBAQAogItGA0LXQt9GD0LvRgtCw0YLQsCDRgSDigJ5naXQgbm90ZXMgbWVyZ2UgLS1jb21taXTigJwg0LjQu9C4INC/0YDQtdGD0YHRgtCw0L3QvtCy0LXRgtC1INGB0LvQuNCy0LDQvdC10YLQviDRgSAiCiAi0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBub3RlcyBtZXJnZSAtLWFib3J04oCcLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODg3CisjOiBidWlsdGluL25vdGVzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICLQndGP0LzQsCDQsdC10LvQtdC20LrQuCDQt9CwINC+0LHQtdC60YLQsCDigJ4lc+KAnFxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6OTAxCiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICLQvtC/0LjRgtGK0YIg0LfQsCDQuNC30YLRgNC40LLQsNC90LXRgtC+INC90LAg0L3QtdGB0YrRidC10YHRgtCy0YPQstCw0YnQsCDQsdC10LvQtdC20LrQsCDQvdC1INGB0LUg0YHRh9C40YLQsCDQt9CwINCz0YDQtdGI0LrQsCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjkwNAogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0LjQvNC10L3QsNGC0LAg0L3QsCDQvtCx0LXQutGC0LjRgtC1INC+0YIg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk0MCBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDIgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI4CiBtc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgogbXNnc3RyICLRgdCw0LzQviDQuNC30LLQtdC20LTQsNC90LUg0LHQtdC3INC00LXQudGB0YLQstC40YLQtdC70L3QviDQvtC60LDRgdGC0YDRj9C90LUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDMKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgogbXNnc3RyICLQtNC+0LrQu9Cw0LTQstCw0L3QtSDQvdCwINC+0LrQsNGB0YLRgNC10L3QuNGC0LUg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgzCisjOiBidWlsdGluL25vdGVzLmM6OTg1CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICLQo9Ca0JDQl9CQ0KLQldCbX9CX0JBf0JHQldCb0JXQltCa0JAiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODYKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAi0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0LHQtdC70LXQttC60LDRgtCwINGB0L7Rh9C10L3QsCDQvtGCINGC0L7Qt9C4INCj0JrQkNCX0JDQotCV0Jtf0JfQkF/QkdCV0JvQldCW0JrQkCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQsCDQv9C+0LTQutC+0LzQsNC90LTQsDogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgW9Ce0J/QptCY0K/igKZdIFs8INCh0J/QmNCh0KrQml/QoV/Qo9Ca0JDQl9CQ0KLQldCb0JggfCA8INCh0J/QmNCh0KrQml/QoV/QntCR0JXQmtCi0JhdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIFvQntCf0KbQmNCv4oCmXSDQn9Cg0JXQpNCY0JrQoV/QndCQX9CY0JzQldCi0J4gWzwg0KHQn9CY0KHQqtCaX9ChX9Cj0JrQkNCX0JDQotCV0JvQmCB8IDwgIgogItCh0J/QmNCh0KrQml/QoV/QntCR0JXQmtCi0JhdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC00LXQutC+0LzQv9GA0LXRgdC40YDQsNC90LUg0YEg4oCeZGVmbGF0ZeKAnCAoJWQpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc2OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzYKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICIiCiAi0LjQt9C60LvRjtGH0LLQsNC90LUg0L3QsCDQt9Cw0L/QuNGB0LLQsNC90LXRgtC+INC90LAg0LHQuNGC0L7QstCw0YLQsCDQvNCw0YHQutCwLCDQv9Cw0LrQtdGC0LjRgtC1INGB0LAg0YDQsNC30LTQtdC70LXQvdC4INC/0L7RgNCw0LTQuCAiCiAi0YHRgtC+0LnQvdC+0YHRgtGC0LAg0L3QsCDigJ5wYWNrLnBhY2tTaXplTGltaXTigJwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4OQogbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0JfQsNC/0LjRgdCy0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDcwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNjkKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAiIgogItC40LfQutC70Y7Rh9Cy0LDQvdC1INC90LAg0LfQsNC/0LjRgdCy0LDQvdC10YLQviDQvdCwINCx0LjRgtC+0LLQsNGC0LAg0LzQsNGB0LrQsCwg0LfQsNGJ0L7RgtC+INC90Y/QutC+0Lgg0L7QsdC10LrRgtC4INC90Y/QvNCwINC00LAg0YHQtSAiCiAi0L/QsNC60LXRgtC40YDQsNGCIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQzNAogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgItCa0L7QvNC/0YDQtdGB0LjRgNCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgItC90LXQv9C+0LTQtNGK0YDQttCw0L3QsCDQstC10YDRgdC40Y8g0L3QsCDQuNC90LTQtdC60YHQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0LLQtdGA0YHQuNGPINC90LAg0LjQvdC00LXQutGB0LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc3CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc5CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QsNC/0YDQtdC00YrQutCwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4MQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAg0LLRitCyINGE0LDQt9Cw0YLQsCDQvdCwINC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg0CiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICIiCiAi0YHRitGJ0L7RgtC+INC00LXQudGB0YLQstC40LUg0LrQsNGC0L4g0L7Qv9GG0LjRj9GC0LAg4oCeLS1hbGwtcHJvZ3Jlc3PigJwg0L/RgNC4INC40LfQstC10LbQtNCw0L3QtdGC0L4g0L3QsCDQvdCw0L/RgNC10LTRitC60LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg1CiBtc2dpZCAidmVyc2lvblssb2Zmc2V0XSIKIG1zZ3N0ciAi0JLQldCg0KHQmNCvWyzQntCi0JzQldCh0KLQktCQ0J3QlV0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg2CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwINC90LAg0L/QsNC60LXRgtC90LjRgtC1INGE0LDQudC70L7QstC1INCy0YrQsiDRhNC+0YDQvNCwzIDRgtCwINGBINGD0LrQsNC30LDQvdCw0YLQsCDQstC10YDRgdC40Y8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg5CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9C10L0g0YDQsNC30LzQtdGAINC90LAg0LLRgdC10LrQuCDQv9Cw0LrQtdGC0LXQvSDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTEKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQt9Cw0LXRgtC4INC+0YIg0LTRgNGD0LPQuCDRhdGA0LDQvdC40LvQuNGJ0LAg0L3QsCDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODkzCiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINC/0LDQutC10YLQuNGA0LDQvdC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODk1CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQsNCy0LDQvdC1INC90LAg0L/RgNC+0LfQvtGA0LXRhtCwINC30LAg0L/QsNC60LXRgtC40YDQsNC90LUg0L/QviDQsdGA0L7QuSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODk3CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgogItC+0LPRgNCw0L3QuNGH0LDQstCw0L3QtSDQvdCwINC/0YDQvtC30L7RgNC10YbQsCDQt9CwINC/0LDQutC10YLQuNGA0LDQvdC1INC4INC/0L4g0L/QsNC80LXRgiDQvtGB0LLQtdC9INC/0L4g0LHRgNC+0Lkg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5OQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCiAi0LzQsNC60YHQuNC80LDQu9C90LAg0LTRitC70LbQuNC90LAg0L3QsCDQstC10YDQuNCz0LDRgtCwINC+0YIg0YDQsNC30LvQuNC60LgsINC60L7Rj9GC0L4g0LUg0L/QvtC30LLQvtC70LXQvdCwINCyINC/0LDQutC10YLQvdC40Y8g0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAxCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLQv9GA0LXQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINGB0YrRidC10YHRgtCy0YPQstCw0YnQuNGC0LUg0YDQsNC30LvQuNC60LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAzCiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0L/RgNC10LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0L7QsdC10LrRgtC4IOKAnk9GU19ERUxUQeKAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDcKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICIiCiAi0YHRgtCw0YDRgtC40YDQsNC90LUg0L3QsCDQvdC40YjQutC4INC30LAg0L/RgNC10YLRitGA0YHQstCw0L3QtSDQvdCwINC90LDQuS3QtNC+0LHRgNC40YLQtSDRgdGK0LLQv9Cw0LTQtdC90LjRjyDQvdCwINGA0LDQt9C70LjQutC40YLQtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDkKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICLQsdC10Lcg0YHRitC30LTQsNCy0LDQvdC1INC90LAg0L/RgNCw0LfQtdC9INC/0LDQutC10YLQtdC9INGE0LDQudC7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMQogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgItC40LfRh9C40YLQsNC90LUg0L3QsCDQstC10YDRgdC40LjRgtC1INC+0YIg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTMKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQsNCy0LDQvdC1INC00L4g0LLRgdC1INC+0YnQtSDQvdC10L/QsNC60LXRgtC40YDQsNC90LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTYKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiIgogItCy0LrQu9GO0YfQstCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDQvtCx0LXQutGC0LgsINC60L7QuNGC0L4g0LzQvtCz0LDRgiDQtNCwINGB0LUg0LTQvtGB0YLQuNCz0L3QsNGCINC+0YIg0L/RgNC+0LjQt9Cy0L7Qu9C10L0gIgogItGD0LrQsNC30LDRgtC10LsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE5CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICLQstC60LvRjtGH0LLQsNC90LUg0Lgg0L3QsCDQvtCx0LXQutGC0LjRgtC1INGB0L7Rh9C10L3QuCDQvtGCINC30LDQv9C40YHQuNGC0LUg0LIg0LbRg9GA0L3QsNC70LAg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkyMgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCB0byBieSB0aGUgaW5kZXgiCiBtc2dzdHIgItCy0LrQu9GO0YfQstCw0L3QtSDQuCDQvdCwINC+0LHQtdC60YLQuNGC0LUg0YHQvtGH0LXQvdC4INC+0YIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI1CiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9Cw0LrQtdGC0LAg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINC40LfRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI3CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICIiCiAi0LLQutC70Y7Rh9Cy0LDQvdC1INC4INC90LAg0L7QsdC10LrRgtC40YLQtS3QtdGC0LjQutC10YLQuCwg0LrQvtC40YLQviDRgdC+0YfQsNGCINC60YrQvCDQvtCx0LXQutGC0LjRgtC1LCDQutC+0LjRgtC+INGJ0LUg0LHRitC00LDRgiAiCiAi0L/QsNC60LXRgtC40YDQsNC90LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI5CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQvdC10LTQvtGB0YLQuNC20LjQvNC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMxCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQuCDQvdCwINC90LXQtNC+0YHRgtC40LbQuNC80LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzMKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAi0YDQsNC30L/QsNC60LXRgtC40YDQsNC90LUg0L3QsCDQvdC10LTQvtGB0YLQuNC20LjQvNC40YLQtSDQvtCx0LXQutGC0LgsINC60L7QuNGC0L4g0YHQsCDQv9C+LdC90L7QstC4INC+0YIg0YLQvtCy0LAg0JLQoNCV0JzQlSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0YHRitC60YDQsNGC0LXQvdC4INC/0LDQutC10YLQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzgKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAi0L/QsNC60LXRgtC40YDQsNC90LUg0L/QvtC00YXQvtC00Y/RidC+INC30LAg0L/Qu9C40YLQutC+INC00L7RgdGC0LDQstGP0L3QtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDAKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINC/0LDQutC10YLQuNGC0LUsINC60L7QuNGC0L4g0YHQsCDQv9GA0LjQtNGA0YPQttC10L3QuCDQvtGCINGE0LDQudC7IOKAni5rZWVw4oCcIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MgogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgItC90LjQstC+INC90LAg0LrQvtC80L/RgNC10YHQuNGA0LDQvdC1INC/0YDQuCDQv9Cw0LrQtdGC0LjRgNCw0L3QtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDQKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDRgNC+0LTQuNGC0LXQu9C4IOKAlCDQtNC+0YDQuCDQuCDRgtC10LfQuCwg0LrQvtC40YLQviDQvdC+0YDQvNCw0LvQvdC+INGB0LAg0YHQutGA0LjRgtC4INC/0YDQuCAiCiAi0L/RgNC40YHQsNC20LTQsNC90LjRj9GC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ2CiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0Lgg0LjQvdC00LXQutGB0Lgg0L3QsCDQsdCw0LfQsCDQsdC40YLQvtCy0Lgg0LzQsNGB0LrQuCDQt9CwINGD0YHQutC+0YDRj9Cy0LDQvdC1INC90LAgIgogItC/0YDQtdCx0YDQvtGP0LLQsNC90LXRgtC+INC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODY0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDgKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICIiCiAi0LfQsNC/0LDQt9Cy0LDQvdC1INC4INC90LAg0LjQvdC00LXQutGBINC90LAg0LHQsNC30LAg0L/QvtCx0LjRgtC+0LLQsCDQvNCw0YHQutCwLCDQt9Cw0LXQtNC90L4g0YEg0LjQvdC00LXQutGB0LAg0LfQsCDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDc1CiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0J/RgNC10LHRgNC+0Y/QstCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUiCiAKQEAgLTEwNjk5LDExICsxMTQ3OSwxMSBAQAogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1leHBpcmUg0JLQoNCV0JzQlV0gWy0tXSBb0JLQoNCq0KXigKZdIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDYKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0L7QutCw0YHRgtGA0LXQvdC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEzMAorIzogYnVpbHRpbi9wcnVuZS5jOjEwOQogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICLQvtC60LDRgdGC0YDRj9C90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1INC/0L4t0YHRgtCw0YDQuCDQvtGCINGC0L7QstCwINCS0KDQldCc0JUiCiAKQEAgLTEwNzExLDQ1ICsxMTQ5MSw0OSBAQAogbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAi0YXRgNCw0L3QuNC70LjRidC1INGBINCy0LDQttC90Lgg0L7QsdC10LrRgtC4INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0LrQsNGB0YLRgNGPIgogCi0jOiBidWlsdGluL3B1bGwuYzo1MSBidWlsdGluL3B1bGwuYzo1MworIzogYnVpbHRpbi9wdWxsLmM6NTQgYnVpbHRpbi9wdWxsLmM6NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeJXPigJw6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MworIzogYnVpbHRpbi9wdWxsLmM6NzYKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1c2ggW9Ce0J/QptCY0K/igKZdIFvQpdCg0JDQndCY0JvQmNCp0JUgW9Cj0JrQkNCX0JDQotCV0Jtf0J3QkF/QktCV0KDQodCY0K/igKZdXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTIxCisjOiBidWlsdGluL3B1bGwuYzoxMjQKK21zZ2lkICJjb250cm9sIGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAi0YPQv9GA0LDQstC70LXQvdC40LUg0L3QsCDRgNC10LrRg9GA0YHQuNCy0L3QvtGC0L4g0LTQvtGB0YLQsNCy0Y/QvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9C40YLQtSIKKworIzogYnVpbHRpbi9wdWxsLmM6MTI4CiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIG1lcmdpbmciCiBtc2dzdHIgItCe0L/RhtC40Lgg0L/RgNC4INGB0LvQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjEzMQogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKIG1zZ3N0ciAi0LLQvdCw0YHRj9C90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0YfRgNC10Lcg0L/RgNC10LHQsNC30LjRgNCw0L3QtSwg0LAg0L3QtSDRh9GA0LXQtyDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCisjOiBidWlsdGluL3B1bGwuYzoxNTUgYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjE5IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgotbXNnc3RyICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg0YLRgNC40LLQuNCw0LvQvdC4INGB0LvQuNCy0LDQvdC40Y8iCittc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQv9GA0LXQstGK0YDRgtCw0L3QuNGPIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNTcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NAogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICLQsNCy0YLQvtC80LDRgtC40YfQvdC+INGB0LrQsNGC0LDQstCw0L3QtS/Qv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDRgdC60LDRgtCw0L3QvtGC0L4g0L/RgNC10LTQuCDQuCDRgdC70LXQtCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1IgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4MAogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDQv9GA0Lgg0LTQvtGB0YLQsNCy0Y/QvdC1IgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5OAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi0LHRgNC+0Lkg0L/QvtC00LzQvtC00YPQu9C4INC40LfQtNGK0YDQv9Cw0L3QuCDQv9Cw0YDQsNC70LXQu9C90L4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjI4NAorIzogYnVpbHRpbi9wdWxsLmM6Mjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCecHVsbC5mZuKAnDog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM5NworIzogYnVpbHRpbi9wdWxsLmM6Mzk5CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKQEAgLTEwNzU3LDE0ICsxMTU0MSwxNCBAQAogItCc0LXQttC00YMg0YPQutCw0LfQsNGC0LXQu9C40YLQtSwg0LrQvtC40YLQviDRgtC+0LrRgyDRidC+INC00L7RgdGC0LDQstC40YXRgtC1LCDQvdGP0LzQsCDQv9C+0LTRhdC+0LTRj9GJINC60LDQvdC00LjQtNCw0YIsINCy0YrRgNGF0YMgIgogItC60L7QudGC0L4g0LTQsCDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzk5CisjOiBidWlsdGluL3B1bGwuYzo0MDEKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogItCc0LXQttC00YMg0YPQutCw0LfQsNGC0LXQu9C40YLQtSwg0LrQvtC40YLQviDRgtC+0LrRgyDRidC+INC00L7RgdGC0LDQstC40YXRgtC1LCDQvdGP0LzQsCDQv9C+0LTRhdC+0LTRj9GJINC60LDQvdC00LjQtNCw0YIsINC60L7QudGC0L4gIgogItC00LAg0YHQu9C10LXRgtC1LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAwCisjOiBidWlsdGluL3B1bGwuYzo0MDIKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtMTA3NzIsNyArMTE1NTYsNyBAQAogItCd0LDQuSDQstC10YDQvtGP0YLQvdC+INGB0YLQtSDQv9C+0LTQsNC70Lgg0YjQsNCx0LvQvtC9INC30LAg0YPQutCw0LfQsNGC0LXQu9C4LCDQutC+0LnRgtC+INC90LUg0LUg0L3QsNC/0LDRgdC90LDQuyDRgSDQvdC40YnQviDQsiAiCiAi0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQwMworIzogYnVpbHRpbi9wdWxsLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtMTA3ODMsNDQgKzExNTY3LDQ0IEBACiAi0J/QvtC90LXQttC1INGC0L7QstCwINC90LUg0LUg0YXRgNCw0L3QuNC70LjRidC10YLQviDQv9C+INC/0L7QtNGA0LDQt9Cx0LjRgNCw0L3QtSDQvdCwINGC0LXQutGD0YnQuNGPINC60LvQvtC9LCDRgtGA0Y/QsdCy0LBcbiIKICLQtNCwINGD0LrQsNC20LXRgtC1INC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g0L3QsCDQutC+0LzQsNC90LTQvdC40Y8g0YDQtdC0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAi0JjQt9Cy0YrQvSDQstGB0LjRh9C60Lgg0LrQu9C+0L3QuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBidWlsdGluL3B1bGwuYzo0MjUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAi0KPQutCw0LbQtdGC0LUg0LLRitGA0YXRgyDQutC+0Lkg0LrQu9C+0L0g0LjRgdC60LDRgtC1INC00LAg0L/RgNC10LHQsNC30LjRgNCw0YLQtS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDE0IGJ1aWx0aW4vcHVsbC5jOjQyOSBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICLQo9C60LDQttC10YLQtSDQutC+0Lkg0LrQu9C+0L0g0LjRgdC60LDRgtC1INC00LAg0YHQu9C10LXRgtC1LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEzIGJ1aWx0aW4vcHVsbC5jOjQyOAorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgItCX0LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINC/0L7Qs9C70LXQtNC90LXRgtC1INGA0YrQutC+0LLQvtC00YHRgtCy0L7RgtC+IOKAnmdpdC1wdWxsKDEp4oCcIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDIxIGJ1aWx0aW4vcHVsbC5jOjQzMAorIzogYnVpbHRpbi9wdWxsLmM6NDE3IGJ1aWx0aW4vcHVsbC5jOjQyMyBidWlsdGluL3B1bGwuYzo0MzIKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAi0J7QotCU0JDQm9CV0KfQldCd0J5f0KXQoNCQ0J3QmNCb0JjQqdCVIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDMwIGJ1aWx0aW4vcHVsbC5jOjQzNSBnaXQtcmViYXNlLnNoOjQ1MQorIzogYnVpbHRpbi9wdWxsLmM6NDE3IGJ1aWx0aW4vcHVsbC5jOjQzMiBidWlsdGluL3B1bGwuYzo0MzcgZ2l0LXJlYmFzZS5zaDo0NTYKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAi0JrQm9Ce0J0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CisjOiBidWlsdGluL3B1bGwuYzo0MjUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQogbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9INC90LUg0YHQu9C10LTQuCDQvdC40LrQvtC5LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogItCQ0LrQviDQuNGB0LrQsNGC0LUg0LTQsCDQt9Cw0LTQsNC00LXRgtC1INC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0YHQu9C10LTQtdC9INC60LvQvtC9LCDQvNC+0LbQtdGC0LUg0LTQsCDQvdCw0L/RgNCw0LLQuNGC0LUg0YLQvtCy0LAg0YEgIgogItC60L7QvNCw0L3QtNCw0YLQsDoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNworIzogYnVpbHRpbi9wdWxsLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC0xMDgyOSwyNyArMTE2MTMsMjcgQEAKICLQl9CwINGB0LvQuNCy0LDQvdC1INC1INGD0LrQsNC30LDQvSDQvtGC0LTQsNC70LXRh9C10L3QuNGP0YIg0YPQutCw0LfQsNGC0LXQuyDigJ4lc+KAnCxcbiIKICLQvdC+INGC0LDQutGK0LIg0L3QtSDQtSDQtNC+0YHRgtCw0LLQtdC9LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NzU0CisjOiBidWlsdGluL3B1bGwuYzo3OTIKIG1zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCiBtc2dzdHIgItCx0LXQtyDigJ4tLXZlcmlmeS1zaWduYXR1cmVz4oCcINC/0YDQuCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1IgogCi0jOiBidWlsdGluL3B1bGwuYzo4MDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MAogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tW25vLV1hdXRvc3Rhc2jigJwg0LjQt9C40YHQutCy0LAg4oCeLS1yZWJhc2XigJwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgwOQorIzogYnVpbHRpbi9wdWxsLmM6ODQ4CiBtc2dpZCAiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIKIG1zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQstGB0LUg0L7RidC1INC90LXRgdGK0LfQtNCw0LTQtdC9INC60LvQvtC9INGBINC/0YDQvtC80LXQvdC40YLQtSDQvtGCINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1MQogbXNnaWQgInB1bGwgd2l0aCByZWJhc2UiCiBtc2dzdHIgItC40LfQtNGK0YDQv9Cy0LDQvdC1INGBINC/0YDQtdCx0LDQt9C40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgxMworIzogYnVpbHRpbi9wdWxsLmM6ODUyCiBtc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAi0YLRgNGP0LHQstCwINC00LAg0L/QvtC00LDQtNC10YLQtSDQuNC70Lgg0YHQutCw0YLQsNC10YLQtSDQv9GA0L7QvNC10L3QuNGC0LUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MzgKKyM6IGJ1aWx0aW4vcHVsbC5jOjg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTEwODU3LDkgKzExNjQxLDkgQEAKICJjb21taXQgJXMuIgogbXNnc3RyICIiCiAi0LTQvtGB0YLQsNCy0Y/QvdC10YLQviDQvtCx0L3QvtCy0Lgg0LLRitGA0YXQsCDQvdCwINGC0LXQutGD0YnQuNGPINC60LvQvtC9LiAg0KDQsNCx0L7RgtC90L7RgtC+XG4iCi0i0LLQuCDQutC+0L/QuNC1INCx0LUg0YLRgNC40LLQuNCw0LvQvdC+INGB0LvRj9GC0L4g0L7RgiDQv9C+0LTQsNCy0LDQvdC1IOKAniVz4oCcLiIKKyLQstC4INC60L7Qv9C40LUg0LHQtSDQv9GA0LXQstGK0YDRgtGP0L3QviDQvtGCINC/0L7QtNCw0LLQsNC90LUg4oCeJXPigJwuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTEwODY5LDM0ICsxMTY1MywzOSBAQAogIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgogInRvIHJlY292ZXIuIgogbXNnc3RyICIiCi0i0KDQsNCx0L7RgtC90L7RgtC+INCy0Lgg0LrQvtC/0LjQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YLRgNC40LLQuNCw0LvQvdC+INGB0LvRj9GC0L4uXG4iCisi0KDQsNCx0L7RgtC90L7RgtC+INCy0Lgg0LrQvtC/0LjQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC10LLRitGA0YLRj9C90L4uXG4iCiAi0KHQu9C10LQg0LrQsNGC0L4g0LfQsNC/0LDQt9C40YLQtSDQstGB0LjRh9C60L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L/QvtGB0L7Rh9C10L3QviDQvtGCINC60L7QvNCw0L3QtNCw0YLQsDpcbiIKICIgICQgZ2l0IGRpZmYgJXNcbiIKICLQuNC30L/RitC70L3QtdGC0LU6XG4iCiAiICAkIGdpdCByZXNldCAtLWhhcmRcbiIKICLQt9CwINCy0YDRitGJ0LDQvdC1INC60YrQvCDQvdC+0YDQvNCw0LvQvdC+INGB0YrRgdGC0L7Rj9C90LjQtS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg1OAorIzogYnVpbHRpbi9wdWxsLmM6ODk3CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC70LjQstCw0YLQtSDQvNC90L7QttC10YHRgtCy0L4g0LrQu9C+0L3QuCDQsiDQv9GA0LDQt9C10L0g0LLRitGA0YXQvtCyINGD0LrQsNC30LDRgtC10LsuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NjIKKyM6IGJ1aWx0aW4vcHVsbC5jOjkwMQogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INCy0YrRgNGF0YMg0L/QvtCy0LXRh9C1INC+0YIg0LXQtNC40L0g0LrQu9C+0L0uIgogCi0jOiBidWlsdGluL3B1c2guYzoxNgorIzogYnVpbHRpbi9wdWxsLmM6OTA4Cittc2dpZCAiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgIiIKKyLQv9GA0LXQsdCw0LfQuNGA0LDQvdC10YLQviDQtSDQvdC10LLRitC30LzQvtC20L3QviDQt9Cw0YDQsNC00Lgg0LvQvtC60LDQu9C90L4g0LfQsNC/0LjRgdCw0L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0L/QviDQv9C+0LTQvNC+0LTRg9C70LjRgtC1IgorCisjOiBidWlsdGluL3B1c2guYzoxNwogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBb0J7Qn9Cm0JjQr+KApl0gW9Cl0KDQkNCd0JjQm9CY0KnQlSBb0KPQmtCQ0JfQkNCi0JXQm1/QndCQX9CS0JXQoNCh0JjQr+KApl1dIgogCi0jOiBidWlsdGluL3B1c2guYzo4OQorIzogYnVpbHRpbi9wdXNoLmM6OTAKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgItGB0YrQutGA0LDRidC10L3QuNC1INC30LAg0LXRgtC40LrQtdGCINCx0LXQtyDQldCi0JjQmtCV0KIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjk5CisjOiBidWlsdGluL3B1c2guYzoxMDAKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1kZWxldGXigJwg0L/RgNC40LXQvNCwINC30LAg0YbQtdC7INGB0LDQvNC+INC/0YDQvtGB0YLQuCDQuNC80LXQvdCwINC90LAg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL3B1c2guYzoxNDMKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NAogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCkBAIC0xMDkwNSw3ICsxMTY5NCw3IEBACiAi0JfQsCDQtNCwINCy0LrQu9GO0YfQuNGC0LUg0YLQsNC30Lgg0L7Qv9GG0LjRjyDQt9CwINC/0L7RgdGC0L7Rj9C90L3Qviwg0L/QvtCz0LvQtdC00L3QtdGC0LUg0LTQvtC60YPQvNC10L3RgtCw0YbQuNGP0YLQsCDQt9CwICIKICLQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnnB1c2guZGVmYXVsdOKAnCDQsiDigJ5naXQgaGVscCBjb25maWfigJwuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC0xMDkzMCw3ICsxMTcxOSw3IEBACiAiICAgIGdpdCBwdXNoICVzICVzXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6MTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC0xMDk0NCw3ICsxMTczMyw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ60JjQnNCVX9Cd0JBf0J7QotCU0JDQm9CV0KfQldCd0JjQr1/QmtCb0J7QnVxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC0xMDk1OCwxNCArMTE3NDcsMTQgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTgzCisjOiBidWlsdGluL3B1c2guYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIiIKICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9IOKAniVz4oCcINGB0LvQtdC00Lgg0L3Rj9C60L7Qu9C60L4g0L7RgtC00LDQu9C10YfQtdC90Lgg0LrQu9C+0L3QsCwg0L3QtSDQvNC+0LbQtdGC0LUg0L/RgNC+0YHRgtC+INC00LAgIgogItC40LfRgtC70LDRgdC60LDRgtC1LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTg2CisjOiBidWlsdGluL3B1c2guYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtMTA5NzcsMTQgKzExNzY2LDE0IEBACiAi0KLRgNGP0LHQstCwINC00LAg0YPQutCw0LbQtdGC0LUg0LrQvtGPINCy0LXRgNGB0LjRjyDQtNCwINGB0LUg0LjQt9GC0LvQsNGB0LrQsCwg0LfQsCDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8gIgogItC60LvQvtC9LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjQyCisjOiBidWlsdGluL3B1c2guYzoyNDYKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogItCd0LUg0YHRgtC1INGD0LrQsNC30LDQu9C4INCy0LXRgNGB0LjRjyDQt9CwINC/0L7QtNCw0LLQsNC90LUsINCwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCecHVzaC5kZWZhdWx04oCcINC1ICIKICLigJ5ub3RoaW5n4oCcICjQvdC40YnQviDQsdC10Lcg0LjQt9GA0LjRh9C90L4g0YPQutCw0LfQsNC90LAg0LLQtdGA0YHQuNGPINC00LAg0L3QtSDRgdC1INC40LfRgtC70LDRgdC60LLQsCkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0OQorIzogYnVpbHRpbi9wdXNoLmM6MjUzCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xMDk5OCw3ICsxMTc4Nyw3IEBACiAi0L/RgNC10LTQuCDQvtGC0L3QvtCy0L4g0LTQsCDQuNC30YLQu9Cw0YHQutCw0YLQtSDQv9GA0L7QvNC10L3QuNGC0LUuICDQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQstC40LbRgtC1INGA0LDQt9C00LXQu9CwXG4iCiAi4oCeTm90ZSBhYm91dCBmYXN0LWZvcndhcmRz4oCcINCyINGB0YLRgNCw0L3QuNGG0LDRgtCwINC+0YIg0YDRitC60L7QstC+0LTRgdGC0LLQvtGC0L4g4oCeZ2l0IHB1c2ggLS1oZWxw4oCcLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjU1CisjOiBidWlsdGluL3B1c2guYzoyNTkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTExMDExLDcgKzExODAwLDcgQEAKICLQuNC90YTQvtGA0LzQsNGG0LjRjyDQv9C+0LPQu9C10LTQvdC10YLQtSDRgNCw0LfQtNC10LvQsCDigJ5Ob3RlIGFib3V0IGZhc3QtZm9yd2FyZHPigJwg0LIg0YHRgtGA0LDQvdC40YbQsNGC0LAg0L7RglxuIgogItGA0YrQutC+0LLQvtC00YHRgtCy0L7RgtC+IOKAnmdpdCBwdXNoIC0taGVscOKAnC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2MQorIzogYnVpbHRpbi9wdXNoLmM6MjY1CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTExMDMwLDE0ICsxMTgxOSwxNCBAQAogItGB0YLRgNCw0L3QuNGG0LDRgtCwXG4iCiAi0L7RgiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQviDigJ5naXQgcHVzaCAtLWhlbHDigJwuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjgKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3MgogbXNnaWQgIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0YWcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlbW90ZS4iCiBtc2dzdHIgIiIKICLQmNC30YLQu9Cw0YHQutCy0LDQvdC10YLQviDQtSDQvtGC0YXQstGK0YDQu9C10L3Qviwg0LfQsNGJ0L7RgtC+INCyINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAgIgogItC10YLQuNC60LXRgixcbiIKICLQutC+0LnRgtC+INGJ0LUg0L/RgNC40L/QvtC60YDQuNC10YLQtSDRgSDQtdGC0LjQutC10YIg0L7RgiDQstCw0YjQtdGC0L4g0YXRgNCw0L3QuNC70LjRidC1LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjcxCisjOiBidWlsdGluL3B1c2guYzoyNzUKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCkBAIC0xMTA0NywyMiArMTE4MzYsMjIgQEAKICLRg9C60LDQt9Cw0YLQtdC7LCDQutC+0LnRgtC+INCy0LXRh9C1INGB0L7Rh9C4INC60YrQvCDQvtCx0LXQutGCLCDQutC+0LnRgtC+INC90LUg0LUg0L/QvtC00LDQstCw0L3QtSwg0LrQsNC60YLQviDQuCDRgtC10L/RitGA0LLQsFxuIgogItC00LAg0LPQviDQv9GA0L7QvNC10L3QuNGC0LUg0LTQsCDRgdC+0YfQuCDQutGK0Lwg0L/QvtC00L7QsdC10L0g0L7QsdC10LrRgi5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzMxCisjOiBidWlsdGluL3B1c2guYzozMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICLQmNC30YLQu9Cw0YHQutCy0LDQvdC1INC60YrQvCDigJ4lc+KAnFxuIgogCi0jOiBidWlsdGluL3B1c2guYzozMzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAi0YfQsNGB0YIg0L7RgiDRg9C60LDQt9Cw0YLQtdC70LjRgtC1INC90LUg0LHRj9GF0LAg0LjQt9GC0LvQsNGB0LrQsNC90Lgg0LrRitC8IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3B1c2guYzozNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDRg9C60LDQt9Cw0L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2NworIzogYnVpbHRpbi9wdXNoLmM6MzcxCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTEwODQsMTIwICsxMTg3MywxMTkgQEAKICJcbiIKICIgICAgZ2l0IHB1c2gg0JjQnNCVXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NQorIzogYnVpbHRpbi9wdXNoLmM6Mzg5CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWFsbOKAnCDQuCDigJ4tLXRhZ3PigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NgorIzogYnVpbHRpbi9wdXNoLmM6MzkwCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1hbGzigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINGD0LrQsNC30LLQsNC90LXRgtC+INC90LAg0LLQtdGA0YHQuNGPIgogCi0jOiBidWlsdGluL3B1c2guYzozOTEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NQogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1taXJyb3LigJwg0Lgg4oCeLS10YWdz4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL3B1c2guYzozOTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tbWlycm9y4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDRg9C60LDQt9Cy0LDQvdC10YLQviDQvdCwINCy0LXRgNGB0LjRjyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk3CisjOiBidWlsdGluL3B1c2guYzo0MDEKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1hbGzigJwg0Lgg4oCeLS1taXJyb3LigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNQorIzogYnVpbHRpbi9wdXNoLmM6NTIzCiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAi0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNCBidWlsdGluL3NlbmQtcGFjay5jOjE2MwogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgItC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKIG1zZ3N0ciAi0L7Qs9C70LXQtNCw0LvQvdC+INC60L7Qv9C40LUg0L3QsCDQstGB0LjRh9C60Lgg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNwogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IgogCi0jOiBidWlsdGluL3B1c2guYzo1MjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyOAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAi0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINC10YLQuNC60LXRgtC40YLQtSAo0L3QtdGB0YrQstC80LXRgdGC0LjQvNC+INGBINC+0L/RhtC40LjRgtC1IOKAni0tYWxs4oCcINC4IOKAni0tbWlycm9y4oCcKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CisjOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0L7QsdC90L7QstGP0LLQsNC90LUiCiAKLSMgRklYTUUgZG91YmxlIGNoZWNrIHRoaXMKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQorIzogYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgwCiBtc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKIG1zZ3N0ciAi0KPQmtCQ0JfQkNCi0JXQmz46PNCe0KfQkNCa0JLQkNCd0JBf0KHQotCe0JnQndCe0KHQoiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CisjOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKIG1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAi0KPQmtCQ0JfQkNCi0JXQm9GP0YIg0YLRgNGP0LHQstCwINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QviDQtNCwINC1INGBINGC0LDQt9C4INCe0KfQkNCa0JLQkNCd0JBf0KHQotCe0JnQndCe0KHQoiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5CisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItGD0L/RgNCw0LLQu9C10L3QuNC1INC90LAg0YDQtdC60YPRgNGB0LjQstC90L7RgtC+INC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LjRgtC1IgogCi0jOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NAogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YHRitC60YDQsNGC0LXQvdC4INC/0LDQutC10YLQuCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMyIGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MCBidWlsdGluL3B1c2guYzo1NDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjAKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCiBtc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9C+0LvRg9GH0LDQstCw0L3QtdGC0L4g0L3QsCDQv9Cw0LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNAorIzogYnVpbHRpbi9wdXNoLmM6NTQyCiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INC30LAg0LrQvtC80LDQvdC00LjRgtC1IOKAnmdpdCBwdWxsL3N0YXR1c+KAnCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM3CisjOiBidWlsdGluL3B1c2guYzo1NDUKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAi0L7QutCw0YHRgtGA0Y/QvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSwg0LrQvtC40YLQviDRgdCwINC/0YDQtdC80LDRhdC90LDRgtC4INC+0YIg0LvQvtC60LDQu9C90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM5CisjOiBidWlsdGluL3B1c2guYzo1NDcKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAi0LHQtdC3INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrRg9C60LDRgtCwINC/0YDQtdC00Lgg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSAocHJlLXB1c2gpIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0OAogbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKIG1zZ3N0ciAiIgogItC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQu9C40L/RgdCy0LDRidC40YLQtSDQsiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1LCDQvdC+INGB0LLRitGA0LfQsNC90Lgg0YEg0YLQtdC60YPRidC+0YLQviAiCiAi0LjQt9GC0LvQsNGB0LrQstCw0L3QtSwg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgorIzogYnVpbHRpbi9wdXNoLmM6NTUxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY4CiBtc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCiBtc2dzdHIgItC/0L7QtNC/0LjRgdCy0LDQvdC1INC90LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtdGC0L4g0YEgR1BHIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICLQuNC30LjRgdC60LLQsNC90LUg0L3QsCDQsNGC0L7QvNCw0YDQvdC4INC+0L/QtdGA0LDRhtC40Lgg0L7RgiDQvtGC0YHRgNC10YnQvdCw0YLQsCDRgdGC0YDQsNC90LAiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorIzogYnVpbHRpbi9wdXNoLmM6NTU0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcxCiBtc2dpZCAic2VydmVyLXNwZWNpZmljIgogbXNnc3RyICLRgdC/0LXRhtC40YTQuNGH0L3QuCDQt9CwINGB0YrRgNCy0YrRgNCwIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NCBidWlsdGluL3NlbmQtcGFjay5jOjE3MgogbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKIG1zZ3N0ciAi0L7Qv9GG0LjRjyDQt9CwINC/0YDQtdC90L7RgSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTYwCisjOiBidWlsdGluL3B1c2guYzo1NjgKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiIgogItC+0L/RhtC40Y/RgtCwIOKAni0tZGVsZXRl4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQvtC/0YbQuNC40YLQtSAg4oCeLS1hbGzigJwsIOKAni0tbWlycm9y4oCcINC4IOKAni0tdGFnc+KAnCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTYyCisjOiBidWlsdGluL3B1c2guYzo1NzAKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1kZWxldGXigJwg0LjQt9C40YHQutCy0LAg0L/QvtC90LUg0LXQtNC40L0g0YPQutCw0LfQsNGC0LXQuyDQvdCwINCy0LXRgNGB0LjRjyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTc5CisjOiBidWlsdGluL3B1c2guYzo1ODkKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgotbXNnc3RyICLQvtC/0YbQuNC40YLQtSDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QtSDRgtGA0Y/QsdCy0LAg0LTQsCDRgdGK0LTRitGA0LbQsNGCINC30L3QvtC6INC30LAg0L3QvtCyINGA0LXQtCIKK21zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg0LfQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LUg0YLRgNGP0LHQstCwINC00LAg0YHRitC00YrRgNC20LDRgiDQt9C90LDQuiDQt9CwINC90L7QsiDRgNC10LQiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgpAQCAtMTEyMDgsODMgKzExOTk2LDk1IEBACiAiY2hlY2tvdXRdIFstLWluZGV4LW91dHB1dD3QpNCQ0JnQm10gKC0tZW1wdHkgfCDQo9Ca0JDQl9CQ0KLQldCbX9Ca0KrQnF/QlNCq0KDQktCeXzEgIgogIlvQo9Ca0JDQl9CQ0KLQldCbX9Ca0KrQnF/QlNCq0KDQktCeXzIgW9Cj0JrQkNCX0JDQotCV0Jtf0JrQqtCcX9CU0KrQoNCS0J5fM11dKSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIxCiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAg0LIg0YLQvtC30Lgg0KTQkNCZ0JsiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICLRgdCw0LzQviDQt9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICLQodC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CiBtc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKIG1zZ3N0ciAi0LTQsCDRgdC1INC40LfQstGK0YDRiNC4INC4INGB0LvQuNCy0LDQvdC1INGB0LvQtdC0INC+0YHQstC10L0g0LjQt9GH0LjRgtCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE5CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAogbXNnaWQgIjMtd2F5IG1lcmdlIGlmIG5vIGZpbGUgbGV2ZWwgbWVyZ2luZyByZXF1aXJlZCIKIG1zZ3N0ciAi0YLRgNC+0LnQvdC+INGB0LvQuNCy0LDQvdC1LCDQsNC60L4g0L3QtSDRgdC1INC90LDQu9Cw0LPQsCDQv9C+0YTQsNC50LvQvtCy0L4g0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgogbXNnaWQgIjMtd2F5IG1lcmdlIGluIHByZXNlbmNlIG9mIGFkZHMgYW5kIHJlbW92ZXMiCiBtc2dzdHIgItGC0YDQvtC50L3QviDRgdC70LjQstCw0L3QtSDQv9GA0Lgg0LTQvtCx0LDQstGP0L3QtSDQvdCwINC00L7QsdCw0LLRj9C90LUg0Lgg0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAogbXNnaWQgInNhbWUgYXMgLW0sIGJ1dCBkaXNjYXJkIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgItGB0YrRidC+0YLQviDQutCw0YLQviDQvtC/0YbQuNGP0YLQsCDigJ4tbeKAnCwg0L3QviDQvdC10YHQu9C10YLQuNGC0LUg0L7QsdC10LrRgtC4INGB0LUg0L/RgNC10L3QtdCx0YDQtdCz0LLQsNGCIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICI8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgItCf0J7QlNCU0JjQoNCV0JrQotCe0KDQmNCvLyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM2CiBtc2dpZCAicmVhZCB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB1bmRlciA8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgItC40LfRh9C40YLQsNC90LUg0L3QsCDQtNGK0YDQstC+0YLQviDQutGK0Lwg0LjQvdC00LXQutGB0LAg0LrQsNGC0L4g0LTQsCDQtSDQsiDRgtCw0LfQuCDQn9Ce0JTQlNCY0KDQldCa0KLQntCg0JjQry8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQogbXNnaWQgInVwZGF0ZSB3b3JraW5nIHRyZWUgd2l0aCBtZXJnZSByZXN1bHQiCiBtc2dzdHIgItC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0YEg0YDQtdC30YPQu9GC0LDRgtCwINC+0YIg0YHQu9C40LLQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKIG1zZ2lkICJnaXRpZ25vcmUiCiBtc2dzdHIgItCk0JDQmdCbX9ChX9CY0JfQmtCb0K7Qp9CV0J3QmNCvIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQv9GA0LXQt9Cw0L/QuNGB0LLQsNC90LXRgtC+INC90LAg0LjQt9GA0LjRh9C90L4g0L/RgNC10L3QtdCx0YDQtdCz0LLQsNC90LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgItCx0LXQtyDQv9GA0L7QstC10YDQutCwINC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0YHQu9C10LQg0YHQu9C40LLQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDYKIG1zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgItCx0LXQtyDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQuCDQvdCwINC40L3QtNC10LrRgdCwLCDQuCDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgItCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDRhNC40LvRgtGK0YDQsCDQt9CwINGH0LDRgdGC0LjRh9C90L4g0LjQt9GC0LXQs9C70Y/QvdC1IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgItC40LfRh9C40YHRgtCy0LDQvdC1INC90LAg0LPRgNC10YjQutC4INCyINC60L7QvNCw0L3QtNCw0YLQsCDigJ51bnBhY2stdHJlZXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzo4Cittc2dpZCAiZ2l0IHJlYmFzZS0taGVscGVyIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcmViYXNlLS1oZWxwZXIgW9Ce0J/QptCY0K/igKZdIgorCisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MjAKK21zZ2lkICJjb250aW51ZSByZWJhc2UiCittc2dzdHIgItC/0YDQvtC00YrQu9C20LDQstCw0L3QtSDQvdCwINC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+IgorCisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MjIKK21zZ2lkICJhYm9ydCByZWJhc2UiCittc2dzdHIgItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+IgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI4CiBtc2dpZCAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiBtc2dzdHIgImdpdCByZWNlaXZlLXBhY2sg0JTQmNCg0JXQmtCi0J7QoNCY0K9f0J3QkF9HSVQiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6NzkzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgzOAogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCiAiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKICJ3aXRoIHdoYXQgeW91IHB1c2hlZCwgYW5kIHdpbGwgcmVxdWlyZSAnZ2l0IHJlc2V0IC0taGFyZCcgdG8gbWF0Y2hcbiIKICJ0aGUgd29yayB0cmVlIHRvIEhFQUQuXG4iCiAiXG4iCi0iWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKLSInaWdub3JlJyBvciAnd2FybicgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IHB1c2hpbmcgaW50b1xuIgorIllvdSBjYW4gc2V0IHRoZSAncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZVxuIgorInRvICdpZ25vcmUnIG9yICd3YXJuJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgcHVzaGluZyBpbnRvXG4iCiAiaXRzIGN1cnJlbnQgYnJhbmNoOyBob3dldmVyLCB0aGlzIGlzIG5vdCByZWNvbW1lbmRlZCB1bmxlc3MgeW91XG4iCiAiYXJyYW5nZWQgdG8gdXBkYXRlIGl0cyB3b3JrIHRyZWUgdG8gbWF0Y2ggd2hhdCB5b3UgcHVzaGVkIGluIHNvbWVcbiIKICJvdGhlciB3YXkuXG4iCkBAIC0xMTI5Nyw3ICsxMjA5Nyw3IEBACiAi0YLQvtCy0LAsINC60L7QtdGC0L4g0YHRgtC1INC40LfRgtC70LDRgdC60LDQu9C4INC4INC30LAg0LTQsCDQv9GA0LjQstC10LTQtdGC0LUg0LTRitGA0LLQvtGC0L4g0LrRitC8IOKAnkhFQUTigJwg0YnQtSDRgtGA0Y/QsdCy0LBcbiIKICLQtNCwINC40LfQv9GK0LvQvdC40YLQtTpcbiIKICJcbiIKLSIgICAgICAgIGdpdCByZXNldCAtLWhhcmRcbiIKKyIgICAgZ2l0IHJlc2V0IC0taGFyZFxuIgogIlxuIgogIlxuIgogItCX0LAg0LTQsCDQv9C+0LfQstC+0LvQuNGC0LUg0L/QvtC00L7QsdC90L4g0LjQt9GC0LvQsNGB0LrQstCw0L3QtSwg0LIg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDRgdC70LXQtNCy0LAg0LTQsFxuIgpAQCAtMTEzMDksNyArMTIxMDksNyBAQAogItCX0LAg0LTQsCDQt9Cw0LPQu9GD0YjQuNGC0LUg0YLQvtCy0LAg0YHRitC+0LHRidC10L3QuNC1LCDQutCw0YLQviDQt9Cw0L/QsNC30LjRgtC1INGB0YLQsNC90LTQsNGA0YLQvdC+0YLQviDQv9C+0LLQtdC00LXQvdC40LUsXG4iCiAi0LfQsNC00LDQudGC0LUg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5yZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNo4oCcINC00LAg0LUg4oCecmVmdXNl4oCcICjQvtGC0LrQsNC3KS4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODEzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjg1OAogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCBkZWxldGluZyB0aGUgY3VycmVudCBicmFuY2ggaXMgZGVuaWVkLCBiZWNhdXNlIHRoZSBuZXh0XG4iCiAiJ2dpdCBjbG9uZScgd29uJ3QgcmVzdWx0IGluIGFueSBmaWxlIGNoZWNrZWQgb3V0LCBjYXVzaW5nIGNvbmZ1c2lvbi5cbiIKQEAgLTExMzMwLDI5ICsxMjEzMCwyOSBAQAogItCX0LAg0LTQsCDQt9Cw0LPQu9GD0YjQuNGC0LUg0YLQvtCy0LAg0YHRitC+0LHRidC10L3QuNC1LCDQt9Cw0LTQsNC50YLQtSDQvdCw0YHRgtGA0L7QudC60LDRgtCwXG4iCiAi4oCecmVjZWl2ZS5kZW55RGVsZXRlQ3VycmVudOKAnCDQtNCwINC1IOKAnnJlZnVzZeKAnCAo0L7RgtC60LDQtykuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4ODMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkzMwogbXNnaWQgInF1aWV0IgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ3CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgItCi0YDRj9Cx0LLQsCDQtNCwINGD0LrQsNC20LXRgtC1INC00LjRgNC10LrRgtC+0YDQuNGPLiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo0MjMKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwINCy0YDQtdC80LUg0LfQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1NDAgYnVpbHRpbi9yZWZsb2cuYzo1NDUKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTQxIGJ1aWx0aW4vcmVmbG9nLmM6NTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwINCy0YDQtdC80LUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgpAQCAtMTEzNjAsODQgKzEyMTYwLDgzIEBACiAiZ2l0IHJlbW90ZSBhZGQgWy10INCa0JvQntCdXSBbLW0g0J7QodCd0J7QktCV0J1f0JrQm9Ce0J1dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dINCY0JzQlSDQkNCU0KDQldChIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0IGJ1aWx0aW4vcmVtb3RlLmM6MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzozNQogbXNnaWQgImdpdCByZW1vdGUgcmVuYW1lIDxvbGQ+IDxuZXc+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbmFtZSDQodCi0JDQoNCeX9CY0JzQlSDQndCe0JLQnl/QmNCc0JUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzozOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNiBidWlsdGluL3JlbW90ZS5jOjQwCiBtc2dpZCAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbW92ZSDQmNCc0JUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYgYnVpbHRpbi9yZW1vdGUuYzo0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNyBidWlsdGluL3JlbW90ZS5jOjQ1CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCDQmNCc0JUgKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8INCa0JvQntCdKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOAogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dINCY0JzQlSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxOQogbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSDQmNCc0JUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cD4gfCA8cmVtb3RlPikuLi5dIgogbXNnc3RyICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKNCT0KDQo9Cf0JAgfCAiCiAi0J7QotCU0JDQm9CV0KfQldCd0J5f0KXQoNCQ0J3QmNCb0JjQqdCVKeKApl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSDQmNCc0JUg0JrQm9Ce0J3igKYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEgYnVpbHRpbi9yZW1vdGUuYzo3MAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcxCiBtc2dpZCAiZ2l0IHJlbW90ZSBnZXQtdXJsIFstLXB1c2hdIFstLWFsbF0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSDQmNCc0JUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjIgYnVpbHRpbi9yZW1vdGUuYzo3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMyBidWlsdGluL3JlbW90ZS5jOjc2CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxuYW1lPiA8bmV3dXJsPiBbPG9sZHVybD5dIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0g0JjQnNCVINCd0J7Qkl/QkNCU0KDQldChIFvQodCi0JDQoF/QkNCU0KDQldChXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMyBidWlsdGluL3JlbW90ZS5jOjc2CisjOiBidWlsdGluL3JlbW90ZS5jOjI0IGJ1aWx0aW4vcmVtb3RlLmM6NzcKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPG5hbWU+IDxuZXd1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQg0JjQnNCVINCd0J7Qkl/QkNCU0KDQldChIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI0IGJ1aWx0aW4vcmVtb3RlLmM6NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjUgYnVpbHRpbi9yZW1vdGUuYzo3OAogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSDQmNCc0JUg0JDQlNCg0JXQoSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyOQorIzogYnVpbHRpbi9yZW1vdGUuYzozMAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgW9Ce0J/QptCY0K/igKZdINCY0JzQlSDQkNCU0KDQldChIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ5CisjOiBidWlsdGluL3JlbW90ZS5jOjUwCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyDQmNCc0JUg0JrQm9Ce0J3igKYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkINCY0JzQlSDQmtCb0J7QneKApiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1NQorIzogYnVpbHRpbi9yZW1vdGUuYzo1NgogbXNnaWQgImdpdCByZW1vdGUgc2hvdyBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2hvdyBb0J7Qn9Cm0JjQr+KApl0g0JjQnNCVIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYwCisjOiBidWlsdGluL3JlbW90ZS5jOjYxCiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgW9Ce0J/QptCY0K/igKZdINCY0JzQlSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NgogbXNnaWQgImdpdCByZW1vdGUgdXBkYXRlIFs8b3B0aW9ucz5dIFs8Z3JvdXA+IHwgPHJlbW90ZT5dLi4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHVwZGF0ZSBb0J7Qn9Cm0JjQr+KApl0gW9CT0KDQo9Cf0JAgfCDQntCi0JTQkNCb0JXQp9CV0J3Qnl/QpdCg0JDQndCY0JvQmNCp0JXigKZdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0CisjOiBidWlsdGluL3JlbW90ZS5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jIEZJWE1FIHRhYnVsYXRvcgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3CiBtc2dpZCAiIgogIi0tbWlycm9yIGlzIGRhbmdlcm91cyBhbmQgZGVwcmVjYXRlZDsgcGxlYXNlXG4iCiAiXHQgdXNlIC0tbWlycm9yPWZldGNoIG9yIC0tbWlycm9yPXB1c2ggaW5zdGVhZCIKQEAgLTExNDQ1LDkxICsxMjI0NCw5MCBAQAogItCY0LfQv9C+0LvQt9Cy0LDQvdC10YLQviDRgdCw0LzQviDQvdCwIOKAni0tbWlycm9y4oCcINC1INC+0L/QsNGB0L3Qvi4gINCS0LzQtdGB0YLQviDRgtC+0LLQsFxuIgogItC/0L7Qu9C30LLQsNC50YLQtSDigJ4tLW1pcnJvcj1mZXRjaOKAnCDQuNC70Lgg4oCeLS1taXJyb3I9cHVzaOKAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbWlycm9yIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIOKAni0tbWlycm9y4oCcOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYwCiBtc2dpZCAiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIKIG1zZ3N0ciAi0L7RgtC00LDQu9C10YfQtdC90LjRgtC1INC60LvQvtC90Lgg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQtNC+0YHRgtCw0LLQtdC90LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MgogbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCiBtc2dzdHIgItCy0L3QsNGB0Y/QvdC1INC90LAg0LLRgdC40YfQutC4INC10YLQuNC60LXRgtC4INC4INC/0YDQuNC90LDQtNC70LXQttCw0YnQuNGC0LUg0LjQvCDQvtCx0LXQutGC0Lgg0L/RgNC4INC00L7RgdGC0LDQstGP0L3QtSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1CiBtc2dpZCAib3IgZG8gbm90IGZldGNoIGFueSB0YWcgYXQgYWxsICgtLW5vLXRhZ3MpIgogbXNnc3RyICLQvNC+0LbQtSDQuCDQtNCwINC90LUg0YHQtSDQtNC+0YHRgtCw0LLRj9GCINC90LjQutCw0LrQstC4INC10YLQuNC60LXRgtC4ICjRh9GA0LXQtyDQvtC/0YbQuNGP0YLQsCDigJ4tLW5vLXRhZ3PigJwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjcKIG1zZ2lkICJicmFuY2goZXMpIHRvIHRyYWNrIgogbXNnc3RyICLQutC70L7QvS/QuCDQt9CwINGB0LvQtdC00LXQvdC1IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjgKIG1zZ2lkICJtYXN0ZXIgYnJhbmNoIgogbXNnc3RyICLQvtGB0L3QvtCy0LXQvSDQutC70L7QvSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5CiBtc2dpZCAicHVzaHxmZXRjaCIKIG1zZ3N0ciAi0LjQt9C00YrRgNC/0LLQsNC90LV80LTQvtGB0YLQsNCy0Y/QvdC1IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAiIgogItC90LDRgdGC0YDQvtC50LLQsNC90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUsINC+0YIg0LrQvtC10YLQviDQtNCwINGB0LUg0LjQt9C00YrRgNC/0LLQsCDQuNC70Lgg0LTQvtGB0YLQsNCy0Y8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE4MgogbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCiBtc2dzdHIgIiIKICLQvdGP0LzQsCDRgdC80LjRgdGK0Lsg0LTQsCDRgdC1INGD0LrQsNC30LLQsCDQvtGB0L3QvtCy0LXQvSDQutC70L7QvSDQv9GA0Lgg0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tLW1pcnJvcuKAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg0CiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKIG1zZ3N0ciAiIgogItGD0LrQsNC30LLQsNC90LXRgtC+INC90LAg0YHQu9C10LTQtdC90Lgg0LrQu9C+0L3QuCDQtSDRgdC80LjRgdC70LXQvdC+INGB0LDQvNC+INC30LAg0L7RgtC00LDQu9C10YfQtdC90Lgg0YXRgNCw0L3QuNC70LjRidCwLCDQvtGCICIKICLQutC+0LjRgtC+INGB0LUg0LTQvtGB0YLQsNCy0Y8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjE5MSBidWlsdGluL3JlbW90ZS5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICLQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0YEg0LjQvNC1IOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTQgYnVpbHRpbi9yZW1vdGUuYzo2MzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk1IGJ1aWx0aW4vcmVtb3RlLmM6NjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVtb3RlIG5hbWUiCiBtc2dzdHIgIuKAniVz4oCcINC1INC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQt9CwINC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCBtYXN0ZXIgJyVzJyIKIG1zZ3N0ciAi0J7RgdC90L7QstC90LjRj9GCINC60LvQvtC9IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvdCw0YHRgtGA0L7QtdC9IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjMzNgorIzogYnVpbHRpbi9yZW1vdGUuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGdldCBmZXRjaCBtYXAgZm9yIHJlZnNwZWMgJXMiCiBtc2dzdHIgItCe0LHQtdC60YLQuNGC0LUg0LfQsCDQtNC+0YHRgtCw0LLRj9C90LUg0LfQsCDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeJXPigJwg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQv9C+0LvRg9GH0LXQvdC4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQzNyBidWlsdGluL3JlbW90ZS5jOjQ0NQorIzogYnVpbHRpbi9yZW1vdGUuYzo0MzggYnVpbHRpbi9yZW1vdGUuYzo0NDYKIG1zZ2lkICIobWF0Y2hpbmcpIgogbXNnc3RyICIo0YHRitCy0L/QsNC00LDRidC4KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDUwCiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIijQt9CwINC40LfRgtGA0LjQstCw0L3QtSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzU3IGJ1aWx0aW4vcmVtb3RlLmM6ODU0CisjOiBidWlsdGluL3JlbW90ZS5jOjYyMyBidWlsdGluL3JlbW90ZS5jOjc1OCBidWlsdGluL3JlbW90ZS5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCiBtc2dzdHIgItCi0LDQutC+0LLQsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3Rj9C80LA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzOQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgItCg0LDQt9C00LXQu9GK0YIg4oCeJXPigJwg0LIg0L3QsNGB0YLRgNC+0LnQutC40YLQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSDQvdCwIOKAniVz4oCcIgogCi0jIEZJWE1FIHRhYnVsYXRvcgotIzogYnVpbHRpbi9yZW1vdGUuYzo2NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtMTE1NDAsMTcgKzEyMzM4LDE3IEBACiAiICAgICVzXG4iCiAiICDQn9GA0L7QvNC10L3QtdGC0LUg0L3QsNGB0YLRgNC+0LnQutC40YLQtSDRgNGK0YfQvdC+LCDQsNC60L4g0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5NQorIzogYnVpbHRpbi9yZW1vdGUuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCisjOiBidWlsdGluL3JlbW90ZS5jOjc5NQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTE1NjQsMTQxICsxMjM2MiwxNDIgQEAKICLQkdC10LvQtdC20LrQsDog0J3Rj9C60L7Qu9C60L4g0LrQu9C+0L3QsCDQuNC30LLRitC9INC50LXRgNCw0YDRhdC40Y/RgtCwIOKAnnJlZnMvcmVtb3Rlcy/igJwg0L3QtSDQsdGP0YXQsCDQuNC30YLRgNC40YLQuC5cbiIKICLQmNC30YLRgNC40LnRgtC1INCz0Lgg0YfRgNC10Lcg0LrQvtC80LDQvdC00LDRgtCwOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAi0KDQsNC30LTQtdC70YrRgiDigJ4lc+KAnCDQsiDQvdCw0YHRgtGA0L7QudC60LjRgtC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTA3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiDQvdC+0LIgKNGB0LvQtdC00LLQsNGJ0L7RgtC+INC00L7RgdGC0LDQstGP0L3QtSDRidC1INCz0L4g0YDQsNC30L/QvtC70L7QttC4INCyIOKAnnJlbW90ZXMvJXPigJwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTMKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiINGB0LvQtdC00LXQvSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE1CiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiDRgdGC0LDRgCAo0LjQt9GC0YDQuNC50YLQtSDRh9GA0LXQtyDigJ5naXQgcmVtb3RlIHBydW5l4oCcKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiINC90LXRj9GB0L3QviDRgdGK0YHRgtC+0Y/QvdC40LUiCiAKICMgQ0hFQ0sKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CisjOiBidWlsdGluL3JlbW90ZS5jOjk1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgIiIKICLQvdC10L/RgNCw0LLQuNC70LXQvSDQutC70L7QvSDQt9CwINGB0LvQuNCy0LDQvdC1IOKAniVz4oCcLiAg0J3QtdCy0YrQt9C80L7QttC90L4g0LUg0LTQsCDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INCy0YrRgNGF0YMg0L/QvtCy0LXRh9C1ICIKICLQvtGCIDEg0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCisjOiBidWlsdGluL3JlbW90ZS5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INCy0YrRgNGF0YMg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgItC/0YDQtdCx0LDQt9C40YDQsNC90LUg0LLRitGA0YXRgyDQvtGC0LTQsNC70LXRh9C10L3QuNGPINC60LvQvtC9IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NworIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiINGB0LvQuNCy0LDQvdC1INGBINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgItGB0LvQuNCy0LDQvdC1INGBINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjOiBidWlsdGluL3JlbW90ZS5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgogbXNnc3RyICIlLSpzICAgINC4INGBINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgItGB0YrQt9C00LDQtNC10L0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIyCiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICLQuNC30YLRgNC40YIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAi0LDQutGC0YPQsNC70LXQvSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2Ci1tc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKLW1zZ3N0ciAi0LzQvtC20LUg0LTQsCDRgdC1INGB0LvQtdC1INGC0YDQuNCy0LjQsNC70L3QviIKLQogIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI5Cittc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKK21zZ3N0ciAi0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQtdCy0YrRgNGC0LgiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMgogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICLQu9C+0LrQsNC70L3QuNGP0YIg0LUg0LjQt9C+0YHRgtCw0L3QsNC7IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0LjQt9GC0LvQsNGB0LrQstCwINC60YrQvCAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzINC40LfRgtC70LDRgdC60LLQsCDQutGK0LwgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzINC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30YLQu9Cw0YHQutCy0LAg0LrRitC8ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzINC40LfRgtC70LDRgdC60LLQsCDQutGK0LwgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE3CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgItCx0LXQtyDQt9Cw0Y/QstC60Lgg0LrRitC8INC+0YLQtNCw0LvQtdGH0LXQvdC40YLQtSDRhdGA0LDQvdC40LvQuNGJ0LAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICLil48g0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAg0JDQtNGA0LXRgSDQt9CwINC00L7RgdGC0LDQstGP0L3QtTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MyBidWlsdGluL3JlbW90ZS5jOjExNTYgYnVpbHRpbi9yZW1vdGUuYzoxMjk1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDYgYnVpbHRpbi9yZW1vdGUuYzoxMTYyIGJ1aWx0aW4vcmVtb3RlLmM6MTMwMQogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIo0LHQtdC3INCw0LTRgNC10YEpIgogCi0jIEZJWE1FIHNwYWNlcyBiZXR3ZW4gUHVzaCBhbmQgVVJMCi0jLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAotIy4gdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgorIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduCisjLiB3aXRoIHRoZSBvbmUgaW4gIiBGZXRjaCBVUkw6ICVzIgorIy4gdHJhbnNsYXRpb24uCisjLgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAg0JDQtNGA0LXRgSDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LU6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NiBidWlsdGluL3JlbW90ZS5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAg0LrQu9C+0L0g0YHQvtGH0LXQvSDQvtGCIEhFQUQ6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAogbXNnaWQgIihub3QgcXVlcmllZCkiCiBtc2dzdHIgIijQsdC10Lcg0L/RgNC+0LLQtdGA0LrQsCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY2CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIo0L3QtdC/0L7Qt9C90LDRgikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCkBAIC0xMTcwNywyOTYgKzEyNTA2LDMwOCBAQAogItGF0YDQsNC90LjQu9C40YnQtVxuIgogIiAg0L3QtSDQtSDQtdC00L3QvtC30L3QsNGH0LXQvSDQuCDQtSDQvdGP0LrQvtC5INC+0YIg0YHQu9C10LTQvdC40YLQtSk6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAg0J7RgtC00LDQu9C10YfQtdC9INC60LvQvtC9OiVzIgogbXNnc3RyWzFdICIgINCe0YLQtNCw0LvQtdGH0LXQvdC4INC60LvQvtC90Lg6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OSBidWlsdGluL3JlbW90ZS5jOjEyMDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4NSBidWlsdGluL3JlbW90ZS5jOjEyMTEKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAo0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdC1INCx0LUg0L/RgNC+0LLQtdGA0LXQvdC+KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg4CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICDQm9C+0LrQsNC70LXQvSDQutC70L7QvSDQvdCw0YHRgtGA0L7QtdC9INC30LAg0LjQt9C00YrRgNC/0LLQsNC90LUg0YfRgNC10Lcg4oCeZ2l0IHB1bGzigJw6IgogbXNnc3RyWzFdICIgINCb0L7QutCw0LvQvdC4INC60LvQvtC90Lgg0L3QsNGB0YLRgNC+0LXQvdC4INC30LAg0LjQt9C00YrRgNC/0LLQsNC90LUg0YfRgNC10Lcg4oCeZ2l0IHB1bGzigJw6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAg0JvQvtC60LDQu9C90LjRgtC1INGD0LrQsNC30LDRgtC10LvQuCDRidC1INCx0YrQtNCw0YIg0L/RgNC10L3QtdGB0LXQvdC4INGH0YDQtdC3IOKAniBwdXNo4oCcIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICDQm9C+0LrQsNC70L3QuNGP0YIg0YPQutCw0LfQsNGC0LXQuywg0L3QsNGB0YLRgNC+0LXQvSDQt9CwIOKAnmdpdCBwdXNo4oCcJXM6IgogbXNnc3RyWzFdICIgINCb0L7QutCw0LvQvdC40YLQtSDRg9C60LDQt9Cw0YLQtdC70LgsINC90LDRgdGC0YDQvtC10L3QuCDQt9CwIOKAnmdpdCBwdXNo4oCcJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyOQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwIHJlZnMvcmVtb3Rlcy/QmNCc0JUvSEVBRCDRgdC/0L7RgNC10LQg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCByZWZzL3JlbW90ZXMv0JjQnNCVL0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YPRgdGC0LDQvdC+0LLQuCDQvtGC0LTQsNC70LXRh9C10L3QuNGP0YIg0LLRgNGK0YUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIiIKICLQnNC90L7QttC10YHRgtCy0L4g0LrQu9C+0L3QuCDRgSDQstGK0YDRhdC+0LLQtS4gINCY0LfQsdC10YDQtdGC0LUg0LjQt9GA0LjRh9C90L4g0L3Rj9C60L7QuSDQvtGCINGC0Y/RhSDRh9GA0LXQtyDQutC+0LzQsNC90LTQsNGC0LA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDRg9C60LDQt9Cw0YLQtdC7OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvdCw0YHRgtGA0L7QuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAi4oCeJXPigJwg0YnQtSDRgdC1INC/0YDQtdCy0YrRgNC90LUg0LIg0L7QsdC10LrRgiDQuNC30LLRitC9INC60LvQvtC90LjRgtC1ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICLigJ4lc+KAnCDRgdC1INC/0YDQtdCy0YrRgNC90LAg0LIg0L7QsdC10LrRgiDQuNC30LLRitC9INC60LvQvtC90LjRgtC1ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAi0J7QutCw0YHRgtGA0Y/QvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgItCw0LTRgNC10YE6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIg4pePIFvRidC1INCx0YrQtNC1INC+0LrQsNGB0YLRgNC10L3Qvl0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIg4pePIFvQvtC60LDRgdGC0YDQtdC90L5dICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM2MgogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgItC+0LrQsNGB0YLRgNGP0L3QtSDQvdCwINC+0LPQu9C10LTQsNC70LDRgtCwINC90LAg0L7RgtC00LDQu9C10YfQtdC90LjRgtC1INGF0YDQsNC90LjQu9C40YnQsCDRgdC70LXQtCDQtNC+0YHRgtCw0LLRj9C90LUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxOSBidWlsdGluL3JlbW90ZS5jOjE0NzMgYnVpbHRpbi9yZW1vdGUuYzoxNTQxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MjUgYnVpbHRpbi9yZW1vdGUuYzoxNDc5IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICLQndGP0LzQsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCDQuNC80LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC60LvQvtC9IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgItC90LUg0LUg0YPQutCw0LfQsNC90L4g0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICLQt9Cw0L/QuNGC0LLQsNC90LUg0LrRitC8INCw0LTRgNC10YHQuNGC0LUg0LfQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1LCDQsCDQvdC1INC30LAg0LTQvtGB0YLQsNCy0Y/QvdC1IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NwogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LLRgdC40YfQutC4INCw0LTRgNC10YHQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CisjOiBidWlsdGluL3JlbW90ZS5jOjE0OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvSDQsNC00YDQtdGBINC30LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjEKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAi0L/RgNC+0LzRj9C90LAg0L3QsCDQsNC00YDQtdGB0LjRgtC1INC30LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjMKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LDQtNGA0LXRgdC4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCDQsNC00YDQtdGB0LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMyCiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWFkZOKAnCDQuCDigJ4tLWRlbGV0ZeKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSAo0YHRgtCw0YApINGE0L7RgNC80LDRgiDQt9CwINCw0LTRgNC10YE6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgItCi0LDQutGK0LIg0LDQtNGA0LXRgSDQvdC1INC1INC+0YLQutGA0LjRgjogJXMiCiAKLSMgRklYTUUgQ0hFQ0sgTUVBTklORwotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODMKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgItCd0LjQutC+0Lkg0L7RgiDQsNC00YDQtdGB0LjRgtC1LCDQutC+0LjRgtC+INC90LUg0YHQsCDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LUsINC90Y/QvNCwINC00LAg0YHQtSDQuNC30YLRgNC40LUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTk3CiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAi0L/QvtCy0LXRh9C1INC/0L7QtNGA0L7QsdC90L7RgdGC0LguICDQn9C+0YHRgtCw0LLRjyDRgdC1INC/0YDQtdC0INC/0L7QtNC60L7QvNCw0L3QtNCwIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0L/QvtC00LrQvtC80LDQvdC00LA6ICVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3CisjOiBidWlsdGluL3JlcGFjay5jOjE4CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBb0J7Qn9Cm0JjQr+KApl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYwCisjOiBidWlsdGluL3JlcGFjay5jOjIzCittc2dpZCAiIgorIkluY3JlbWVudGFsIHJlcGFja3MgYXJlIGluY29tcGF0aWJsZSB3aXRoIGJpdG1hcCBpbmRleGVzLiAgVXNlXG4iCisiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3IgZGlzYWJsZSB0aGUgcGFjay53cml0ZWJpdG1hcHMgY29uZmlndXJhdGlvbi4iCittc2dzdHIgIiIKKyLQn9C+0YHRgtC10L/QtdC90L3QvtGC0L4g0L/RgNC10L/QsNC60LXRgtC40YDQsNC90LUg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC+INGBINC40L3QtNC10LrRgdC4INC90LAg0LHQsNC30LAg0LHQuNGC0L7QstC4INC80LDRgdC60LguIFxuIgorItCf0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCAtLW5vLXdyaXRlLWJpdG1hcC1pbmRleCDQuNC70Lgg0LjQt9C60LvRjtGH0LXRgtC1INC90LDRgdGC0YDQvtC50LrQsNGC0LBcbiIKKyLigJ5wYWNrLndyaXRlYml0bWFwc+KAnC4iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY4CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgItC/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0LLRgdC40YfQutC+INCyINC/0LDQutC10YIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYyCisjOiBidWlsdGluL3JlcGFjay5jOjE3MAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgIiIKICLRgdGK0YnQvtGC0L4g0LrQsNGC0L4g0L7Qv9GG0LjRj9GC0LAg4oCeLWHigJwuICDQlNC+0L/RitC70L3QuNGC0LXQu9C90L4g4oCUINC90LXQtNC+0YHRgtC40LbQuNC80LjRgtC1INC+0LHQtdC60YLQuCDQtNCwINGB0YLQsNC90LDRgiAiCiAi0L3QtdC/0LDQutC10YLQuNGA0LDQvdC4IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgIiIKICLQv9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINC90LXQvdGD0LbQvdC40YLQtSDQv9Cw0LrQtdGC0LjRgNCw0L3QuCDRhNCw0LnQu9C+0LLQtSDQuCDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQtIgogInBydW5lLXBhY2tlZOKAnCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc1CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LUg0L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tLW5vLXJldXNlLWRlbHRh4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1wYWNrLW9iamVjdHPigJwiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY5CisjOiBidWlsdGluL3JlcGFjay5jOjE3NwogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiIgogItC/0L7QtNCw0LLQsNC90LUg0L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tLW5vLXJldXNlLW9iamVjdOKAnCDQvdCwINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQtcGFjay1vYmplY3Rz4oCcIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzkKIG1zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiBtc2dzdHIgItCx0LXQtyDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQtdXBkYXRlLXNlcnZlci1pbmZv4oCcIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NAorIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni0tbG9jYWzigJwg0L3QsCDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LXBhY2stb2JqZWN0c+KAnCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUg0Lgg0LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0LjQvdC00LXQutGB0Lgg0L3QsCDQsdCw0LfQsCDQsdC40YLQvtCy0Lgg0LzQsNGB0LrQuCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgItC10LLRgNC40YHRgtC40YfQvdCwINC00LDRgtCwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OAorIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICIiCiAi0L/RgNC4INC60L7QvNCx0LjQvdC40YDQsNC90LXRgtC+INGBINC+0L/RhtC40Y/RgtCwIOKAni1B4oCcIOKAlCDQsdC10Lcg0YDQsNC30L/QsNC60LXRgtC40YDQsNC90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1INC/0L4g0YHRgtCw0YDQuCDQvtGCICIKICLRgtC+0LLQsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg4CiBtc2dpZCAid2l0aCAtYSwgcmVwYWNrIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgItGBIOKAni1h4oCcIOKAlCDQv9GA0LXQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQvdCwINC90LXQtNC+0YHRgtC40LbQuNC80LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICLRgNCw0LfQvNC10YAg0L3QsCDQv9GA0L7Qt9C+0YDQtdGG0LAg0LfQsCDQtNC10LvRgtCwINC60L7QvNC/0YDQtdGB0LjRj9GC0LAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzIGJ1aWx0aW4vcmVwYWNrLmM6MTg3CisjOiBidWlsdGluL3JlcGFjay5jOjE5MSBidWlsdGluL3JlcGFjay5jOjE5NwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICLQsdCw0LnRgtC+0LLQtSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkyCiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIiIKICLRgdGK0YnQvtGC0L4g0LrQsNGC0L4g0LPQvtGA0L3QsNGC0LAg0L7Qv9GG0LjRjywg0L3QviDQvtCz0YDQsNC90LjRh9C10L3QuNC10YLQviDQtNCwINC1INC/0L4g0YDQsNC30LzQtdGAINC90LAg0L/QsNC80LXRgtGC0LAsINCwINC90LUgIgogItC/0L4g0LHRgNC+0Y8g0L3QsCDQvtCx0LXQutGC0LjRgtC1IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NgorIzogYnVpbHRpbi9yZXBhY2suYzoxOTQKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LDQstCw0L3QtSDQvdCwINC80LDQutGB0LjQvNCw0LvQvdCw0YLQsCDQtNGK0LvQsdC+0YfQuNC90LAg0L3QsCDQtNC10LvRgtCw0YLQsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk2Cittc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzIgorbXNnc3RyICLQvtCz0YDQsNC90LjRh9Cw0LLQsNC90LUg0L3QsCDQvNCw0LrRgdC40LzQsNC70L3QuNGPINCx0YDQvtC5INC90LjRiNC60LgiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk4CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCiBtc2dzdHIgItC80LDQutGB0LjQvNCw0LvQtdC9INGA0LDQt9C80LXRgCDQvdCwINCy0YHQtdC60Lgg0L/QsNC60LXRgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjAwCiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgItC/0YDQtdC/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQsiDQv9Cw0LrQtdGC0Lgg0LHQtdC70Y/Qt9Cw0L3QuCDRgSDigJ4ua2VlcOKAnCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMDAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjEwCiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAi0L/QsNC60LXRgtC40YLQtSDQsiDRhdGA0LDQvdC40LvQuNGJ0LUg0YEg0LLQsNC20L3QuCDQvtCx0LXQutGC0Lgg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YLRgNC40Y/RgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjE0CiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tLWtlZXAtdW5yZWFjaGFibGXigJwg0Lgg4oCeLUHigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzkxIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgtCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxOQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjAKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIDxvYmplY3Q+IDxyZXBsYWNlbWVudD4iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0g0J7QkdCV0JrQoiDQl9CQ0JzQr9Cd0JAiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIwCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMQogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1lZGl0IDxvYmplY3Q+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCDQntCR0JXQmtCiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjIKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPGNvbW1pdD4gWzxwYXJlbnQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWdyYWZ0INCf0J7QlNCQ0JLQkNCd0JUgW9Cg0J7QlNCY0KLQldCb4oCmXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzCiBtc2dpZCAiZ2l0IHJlcGxhY2UgLWQgPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCByZXBsYWNlIC1kINCe0JHQldCa0KLigKYiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNAogbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PdCk0J7QoNCc0JDQol0gWy1sIFvQqNCQ0JHQm9Ce0J1dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI1IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MyBidWlsdGluL3JlcGxhY2UuYzozOTEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzMSBidWlsdGluL3JlcGxhY2UuYzozNjkgYnVpbHRpbi9yZXBsYWNlLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0L3QsCDQvtCx0LXQutGCOiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzU1CisjOiBidWlsdGluL3JlcGxhY2UuYzozNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICLQtdGC0LjQutC10YLRitGCINC/0YDQuCDRgdC70LjQstCw0L3QtSDQsiDQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCBlINC90LXQv9GA0LDQstC40LvQtdC9IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgItC10YLQuNC60LXRgtGK0YIg0L/RgNC4INGB0LvQuNCy0LDQvdC1INCyINC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcIGUg0L3QtdC/0YDQsNCy0LjQu9C10L0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvcmlnaW5hbCBjb21taXQgJyVzJyBjb250YWlucyBtZXJnZXRhZyAnJXMnIHRoYXQgaXMgZGlzY2FyZGVkOyB1c2UgLS1lZGl0ICIKQEAgLTEyMDA1LDIwOSArMTI4MTYsMjA3IEBACiAi0J/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IOKAniVz4oCcINGB0YrQtNGK0YDQttCwINC10YLQuNC60LXRgtCwINC/0YDQuCDRgdC70LjQstCw0L3QtSDigJ4lc+KAnCwg0LrQvtC50YLQviDQtSAiCiAi0LjQt9GF0LLRitGA0LvQtdC9LCDQt9Cw0YLQvtCy0LAg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tLWVkaXTigJwsINCwINC90LUg4oCeLS1ncmFmdOKAnC4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBvcmlnaW5hbCBjb21taXQgJyVzJyBoYXMgYSBncGcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAi0J/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IOKAniVz4oCcINC1INGBINC/0L7QtNC/0LjRgSDQvdCwIEdQRy4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA4CiBtc2dpZCAidGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIHJlcGxhY2VtZW50IGNvbW1pdCEiCiBtc2dzdHIgItCf0L7QtNC/0LjRgdGK0YIg0YnQtSDQsdGK0LTQtSDQv9GA0LXQvNCw0YXQvdCw0YIg0LIg0LfQsNC80LXQvdGP0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgogbXNnc3RyICLQt9Cw0LzQtdC90Y/RidC+0YLQviDQv9C+0LTQsNCy0LDQvdC1INC30LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC90L4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM4CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0L/QuNGB0YrQutCwINGBINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0LfQsCDQt9Cw0LzRj9C90LAiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM5CiBtc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSDQt9CwINC30LDQvNGP0L3QsCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM0CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDAKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAi0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINGB0YrRidC10YHRgtCy0YPQstCw0Ykg0L7QsdC10LrRgiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM1CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDEKIG1zZ2lkICJjaGFuZ2UgYSBjb21taXQncyBwYXJlbnRzIgogbXNnc3RyICLRgdC80Y/QvdCwINC90LAg0YDQvtC00LjRgtC10LvQuNGC0LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgItC30LDQvNGP0L3QsCDQvdCwINGD0LrQsNC30LDRgtC10LvRjywg0LDQutC+INGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MwogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAi0LHQtdC3INGE0L7RgNC80LDRgtC40YDQsNC90L4g0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+IOKAlCDQt9CwINC+0L/RhtC40Y/RgtCwIOKAni0tZWRpdOKAnCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQKIG1zZ2lkICJ1c2UgdGhpcyBmb3JtYXQiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YLQvtC30Lgg0KTQntCg0JzQkNCiIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjEyCisjOiBidWlsdGluL3JlcmVyZS5jOjEzCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPHBhdGg+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQg0J/QqtCi4oCmIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzo1OAorIzogYnVpbHRpbi9yZXJlcmUuYzo1OQogbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgogbXNnc3RyICLRgNC10LPQuNGB0YLRgNC40YDQsNC90LUg0L3QsCDRh9C40YHRgtC4INC60L7RgNC10LrRhtC40Lgg0L3QsCDQutC+0L3RhNC70LjQutGC0Lgg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNgorIzogYnVpbHRpbi9yZXNldC5jOjI5CiBtc2dpZCAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIG1zZ3N0ciAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gW9Cf0J7QlNCQ0JLQkNCd0JVdIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMAogbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgImdpdCByZXNldCBbLXFdINCj0JrQkNCX0JDQotCV0Jtf0JrQqtCcX9CU0KrQoNCS0J4gWy0tXSDQn9Cq0KLQmNCp0JDigKYiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOAorIzogYnVpbHRpbi9yZXNldC5jOjMxCiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgogbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBb0KPQmtCQ0JfQkNCi0JXQm1/QmtCq0Jxf0JTQqtCg0JLQnl0gWy0tXSBb0J/QqtCi0JjQqdCQ4oCmXSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAi0YHQvNC10YHQtdC90L4gKG1peGVkKSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJzb2Z0IgogbXNnc3RyICLQvNC10LrQviAoc29mdCkiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAiaGFyZCIKIG1zZ3N0ciAi0L/RitC70L3QviAoaGFyZCkiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgItGB0LvRj9GC0L4gKG1lcmdlKSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJrZWVwIgogbXNnc3RyICLQt9Cw0L/QsNC30LLQsNGJ0L4gKGtlZXApIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3NwogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC1INC/0L7QstGA0LXQtNC10L0uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3OQogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgItCU0YrRgNCy0L7RgtC+LCDRgdC+0YfQtdC90L4g0L7RgiDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+LiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgyCisjOiBidWlsdGluL3Jlc2V0LmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iCiBtc2dzdHIgItCU0YrRgNCy0L7RgtC+LCDRgdC+0YfQtdC90L4g0L7RgiDigJ4lc+KAnCwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+LiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjEwMAorIzogYnVpbHRpbi9yZXNldC5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDRgdC+0YfQuCDQutGK0Lwg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxODMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0LggJXMg0LfQsNC90YPQu9GP0LLQsNC90LUg0L/QviDQstGA0LXQvNC1INC90LAg0YHQu9C40LLQsNC90LUuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc2CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIKIG1zZ3N0ciAi0L/Qvi3QvNCw0LvQutC+INC/0L7QtNGA0L7QsdC90L7RgdGC0LgsINC00LAg0YHQtSDQuNC30LLQtdC20LTQsNGCINGB0LDQvNC+INCz0YDQtdGI0LrQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODgKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAi0LjQvdC00LXQutGB0LAg0Lgg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwsINCx0LXQtyDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OQorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAi0YHQsNC80L4g0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwsINCx0LXQtyDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIyBGSVhNRSB2cyBtYW4gcGFnZQotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6MjgzCisjOiBidWlsdGluL3Jlc2V0LmM6MjkxIGJ1aWx0aW4vcmVzZXQuYzoyOTMKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCwg0LjQvdC00LXQutGB0LAg0Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSMgRklYTUUgdnMgbWFuIHBhZ2UKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgItC30LDQvdGD0LvRj9Cy0LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwsINC90L4g0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LvQvtC60LDQu9C90LjRgtC1INC/0YDQvtC80LXQvdC4IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg4CisjOiBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIiIKICLQvtGC0LHQtdC70Y/Qt9Cy0LDQvdC1INGB0LDQvNC+INC90LAg0YTQsNC60YLQsCwg0YfQtSDQuNC30YLRgNC40YLQuNGC0LUg0L/RitGC0LjRidCwINGJ0LUg0LHRitC00LDRgiDQtNC+0LHQsNCy0LXQvdC4INC/0L4t0LrRitGB0L3QviIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNQorIzogYnVpbHRpbi9yZXNldC5jOjMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmV2aXNpb24uIgogbXNnc3RyICLQodGC0L7QudC90L7RgdGC0YLQsCDigJ4lc+KAnCDQvdC1INC1INGA0LDQt9C/0L7Qt9C90LDRgtCwINC60LDRgtC+INGB0YrRidC10YHRgtCy0YPQstCw0YnQsCDQstC10YDRgdC40Y8uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEzCisjOiBidWlsdGluL3Jlc2V0LmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDRgNCw0LfQv9C+0LfQvdCw0YIg0LrQsNGC0L4g0LTRitGA0LLQvi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMjIKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMzcKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIiIKICLQvtC/0YbQuNGP0YLQsCDigJ4tLXBhdGNo4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQstGB0Y/QutCwINC+0YIg0L7Qv9GG0LjQuNGC0LUg4oCeLS1oYXJkLy0tbWl4ZWQvLS1zb2Z04oCcIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMxCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ2CiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1taXhlZOKAnCDQvdC1INCx0LjQstCwINC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINC30LDQtdC00L3QviDRgSDQv9GK0YLQuNGJ0LAuICDQktC80LXRgdGC0L4g0YLQvtCy0LAgIgogItC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgcmVzZXQgLS0g0J/QqtCi4oCm4oCcLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMworIzogYnVpbHRpbi9yZXNldC5jOjM0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDQuNC30LLRitGA0YjQuNGC0LUgJXMg0LfQsNC90YPQu9GP0LLQsNC90LUsINC60L7Qs9Cw0YLQviDRgdGC0LUg0LfQsNC00LDQu9C4INCf0KrQoi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgItCSINCz0L7Qu9C+INGF0YDQsNC90LjQu9C40YnQtSDQvdC1INC80L7QttC1INC00LAg0LjQt9Cy0YrRgNGI0LjRgtC1ICVzINC30LDQvdGD0LvRj9Cy0LDQvdC1IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ3CisjOiBidWlsdGluL3Jlc2V0LmM6MzYyCiBtc2dpZCAiLU4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIC0tbWl4ZWQiCiBtc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni1O4oCcINC1INGB0YrQstC80LXRgdGC0LjQvNCwINGB0LDQvNC+INGBIOKAni0tbWl4ZWTigJwiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNjQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzkKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKIG1zZ3N0ciAi0J/RgNC+0LzQtdC90Lgg0LjQt9Cy0YrQvSDQuNC90LTQtdC60YHQsCDRgdC70LXQtCDQt9Cw0L3Rg9C70Y/QstCw0L3QtdGC0L46IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzcwCisjOiBidWlsdGluL3Jlc2V0LmM6Mzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICLQmNC90LTQtdC60YHRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L3Rg9C70LXQvSDQutGK0Lwg0LLQtdGA0YHQuNGPIOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3NAorIzogYnVpbHRpbi9yZXNldC5jOjM4OQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgItCd0L7QstC40Y/RgiDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC9LiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1OAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00LDRgtCwIOKAnnJldi1saXN04oCcINC90LUg0L/QvtC00LTRitGA0LbQsCDQuNC30LLQtdC20LTQsNC90LXRgtC+INC90LAg0LHQtdC70LXQttC60LgiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzg2CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NAogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFvQntCf0KbQmNCv4oCmXSAtLSBb0JDQoNCT0KPQnNCV0J3QouKApl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5OQogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAi0LfQsNC00LDQtNC10L3QuNGP0YIg0L3QuNC3IOKAni0t4oCcINC00LAg0YHQtSDRgtGK0LvQutGD0LLQsCDQutCw0YLQviDQsNGA0LPRg9C80LXQvdGCIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDEKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgItGB0L/QuNGA0LDQvdC1INC90LAg0LDQvdCw0LvQuNC30LAg0YHQu9C10LQg0L/RitGA0LLQuNGPINCw0YDQs9GD0LzQtdC90YIsINC60L7QudGC0L4g0L3QtSDQtSDQvtC/0YbQuNGPIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDQKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICLQuNC30YXQvtC0INCyINC00YrQu9Cz0LjRjyDRhNC+0YDQvNCw0YIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTI3CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzNQogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEyMjIyLDExNiArMTMwMzEsOTYgQEAKICLQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC/0YrRgNCy0LjRjyDQstCw0YDQuNCw0L3RgiDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC0iCiAiaOKAnCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMwogbXNnaWQgImdpdCByZXZlcnQgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgogbXNnc3RyICJnaXQgcmV2ZXJ0IFvQntCf0KbQmNCv4oCmXSDQo9Ca0JDQl9CQ0KLQldCbX9Ca0KrQnF/Qn9Ce0JTQkNCS0JDQndCV4oCmIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIzCisjOiBidWlsdGluL3JldmVydC5jOjI0CiBtc2dpZCAiZ2l0IHJldmVydCA8c3ViY29tbWFuZD4iCiBtc2dzdHIgImdpdCByZXZlcnQg0J/QntCU0JrQntCc0JDQndCU0JAiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjkKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgW9Ce0J/QptCY0K/igKZdINCj0JrQkNCX0JDQotCV0Jtf0JrQqtCcX9Cf0J7QlNCQ0JLQkNCd0JXigKYiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MzAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sg0J/QntCU0JrQntCc0JDQndCU0JAiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiDQvtC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTkKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLQt9Cw0LLRitGA0YjQstCw0L3QtSDQvdCwINC/0L7RgNC10LTQuNGG0LAg0L7RgiDQvtGC0LHQuNGA0LDQvdC40Y8g0LjQu9C4INC+0YLQvNC10L3QuCDQvdCwINC/0L7QtNCw0LLQsNC90LjRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLQv9GA0L7QtNGK0LvQttCw0LLQsNC90LUg0L3QsCDQv9C+0YDQtdC00LjRhtCwINC+0YIg0L7RgtCx0LjRgNCw0L3QuNGPINC40LvQuCDQvtGC0LzQtdC90Lgg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAi0L7RgtC80Y/QvdCwINC90LAg0L/QvtGA0LXQtNC40YbQsCDQvtGCINC+0YLQsdC40YDQsNC90LjRjyDQuNC70Lgg0L7RgtC80LXQvdC4INC90LAg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgzCisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgogbXNnc3RyICLQsdC10Lcg0LDQstGC0L7QvNCw0YLQuNGH0L3QviDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL3JldmVydC5jOjg0CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4NwotbXNnaWQgInBhcmVudCBudW1iZXIiCisjOiBidWlsdGluL3JldmVydC5jOjEwNgorbXNnaWQgInBhcmVudC1udW1iZXIiCiBtc2dzdHIgItC90L7QvNC10YAg0L3QsCDRgNC+0LTQuNGC0LXQu9GPIgogCi0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL3JldmVydC5jOjEwNworbXNnaWQgInNlbGVjdCBtYWlubGluZSBwYXJlbnQiCittc2dzdHIgItC40LfQsdC+0YAg0L3QsCDQvtGB0L3QvtCy0L3QuNGPINGA0L7QtNC40YLQtdC7IgorCisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLRgdGC0YDQsNGC0LXQs9C40Y8g0L3QsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgItC+0L/RhtC40Y8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi0L7Qv9GG0LjRjyDQt9CwINGB0YLRgNCw0YLQtdCz0LjRj9GC0LAg0L3QsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LjQvNC10YLQviDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+INC/0YDQsNC30L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMjMKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQv9GA0LDQt9C90Lgg0YHRitC+0LHRidC10L3QuNGPINC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjQKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LjQt9C70LjRiNC90LjRgtC1LCDQv9GA0LDQt9C90Lgg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL3JldmVydC5jOjE5MgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90LAg0L7RgtC80Y/QvdCwIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIwNQorIzogYnVpbHRpbi9yZXZlcnQuYzoyMjUKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQvtGC0LHQuNGA0LDQvdC1IgogCi0jOiBidWlsdGluL3JtLmM6MTcKKyM6IGJ1aWx0aW4vcm0uYzoxOAogbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IHJtIFvQntCf0KbQmNCv4oCmXSBbLS1dINCk0JDQmdCb4oCmIgogCi0jOiBidWlsdGluL3JtLmM6NjUKLW1zZ2lkICIiCi0idGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpXG4iCi0idXNlcyBhIC5naXQgZGlyZWN0b3J5OiIKLW1zZ2lkX3BsdXJhbCAiIgotInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlcyAob3Igb25lIG9mIHRoZWlyIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgotInVzZSBhIC5naXQgZGlyZWN0b3J5OiIKLW1zZ3N0clswXSAiIgotItGB0LvQtdC00L3QuNGP0YIg0L/QvtC00LzQvtC00YPQuyDQuNC70Lgg0L3Rj9C60L7QuSDQvtGCINC90LXQs9C+0LLQuNGC0LUg0L/QvtC00LzQvtC00YPQu9C4INC40LfQv9C+0LvQt9Cy0LDRgiDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwICIKLSLQuNC80LVcbiIKLSLigJ4uZ2l04oCcOiIKLW1zZ3N0clsxXSAiIgotItGB0LvQtdC00L3QuNGC0LUg0L/QvtC00LzQvtC00YPQu9C4INC40LvQuCDQvdGP0LrQvtC4INC+0YIg0YLQtdGF0L3QuNGC0LUg0L/QvtC00LzQvtC00YPQu9C4INC40LfQv9C+0LvQt9Cy0LDRgiDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwICIKLSLQuNC80LVcbiIKLSLigJ4uZ2l04oCcOiIKLQotIzogYnVpbHRpbi9ybS5jOjcxCi1tc2dpZCAiIgotIlxuIgotIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKLW1zZ3N0ciAiIgotIlxuIgotIijQsNC60L4g0LjRgdC60LDRgtC1INC00LAg0LPQuCDQuNC30YLRgNC40LXRgtC1INC30LDQtdC00L3QviDRgSDRhtGP0LvQsNGC0LAg0LjQvCDQuNGB0YLQvtGA0LjRjywg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5ybSAtcmbigJwpIgotCi0jOiBidWlsdGluL3JtLmM6MjMwCisjOiBidWlsdGluL3JtLmM6MjA2CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xMjM0Nyw3ICsxMzEzNiw3IEBACiAi0YHRitC00YrRgNC20LDQvdC40LUg0LhcbiIKICLRgNCw0LfQu9C40YfQvdC+INC+0YIg0YHRitC+0YLQstC10YLRgdGC0LLQsNGJ0L7RgtC+INC90LAgSEVBRDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzUKKyM6IGJ1aWx0aW4vcm0uYzoyMTEKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTEyMzU1LDEzICsxMzE0NCwxMyBAQAogIlxuIgogIijQt9CwINC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30YLRgNC40LLQsNC90LUg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tZuKAnCkiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzkKKyM6IGJ1aWx0aW4vcm0uYzoyMTUKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICLRgdC70LXQtNC90LjRj9GCINGE0LDQudC7INC1INGBINC/0YDQvtC80LXQvdC10L3QviDRgdGK0LTRitGA0LbQsNC90LjQtSDQsiDQuNC90LTQtdC60YHQsDoiCiBtc2dzdHJbMV0gItGB0LvQtdC00L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0YHQsCDRgSDQv9GA0L7QvNC10L3QtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUg0LIg0LjQvdC00LXQutGB0LA6IgogCi0jOiBidWlsdGluL3JtLmM6MjQzIGJ1aWx0aW4vcm0uYzoyNTQKKyM6IGJ1aWx0aW4vcm0uYzoyMTkgYnVpbHRpbi9ybS5jOjIyOAogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTIzNzAsNDUgKzEzMTU5LDUwIEBACiAiKNC30LAg0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0YTQsNC50LvQsCDQuNC30L/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIOKAni0tY2FjaGVk4oCcLCDQsCDQt9CwINC/0YDQuNC90YPQtNC40YLQtdC70L3QvlxuIgogItC40LfRgtGA0LjQstCw0L3QtSDigJQg4oCeLWbigJwpIgogCi0jOiBidWlsdGluL3JtLmM6MjUxCisjOiBidWlsdGluL3JtLmM6MjI1CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnc3RyWzBdICLRgdC70LXQtNC90LjRj9GCINGE0LDQudC7INC1INGBINC/0YDQvtC80LXQvdC10L3QviDRgdGK0LTRitGA0LbQsNC90LjQtSIKIG1zZ3N0clsxXSAi0YHQu9C10LTQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDRgdCwINGBINC/0YDQvtC80LXQvdC10L3QviDRgdGK0LTRitGA0LbQsNC90LjQtSIKIAotIzogYnVpbHRpbi9ybS5jOjI2OQorIzogYnVpbHRpbi9ybS5jOjI0MwogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgItC00LAg0L3QtSDRgdC1INC40LfQstC10LbQtNCw0YIg0LjQt9GC0YDQuNGC0LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL3JtLmM6MjcwCisjOiBidWlsdGluL3JtLmM6MjQ0CiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDRgdCw0LzQviDQvtGCINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjQ1CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgItCy0YrQv9GA0LXQutC4INC/0YDQvtCy0LXRgNC60LDRgtCwINC30LAg0LDQutGC0YPQsNC70L3QvtGB0YLRgtCwINC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+IgogCi0jOiBidWlsdGluL3JtLmM6MjcyCisjOiBidWlsdGluL3JtLmM6MjQ2CiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgItGA0LXQutGD0YDRgdC40LLQvdC+INC40LfRgtGA0LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9ybS5jOjI3NAorIzogYnVpbHRpbi9ybS5jOjI0OAogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICIiCiAi0LjQt9GF0L7QtNC90LjRj9GCINC60L7QtCDQtNCwINC1IDAsINC00L7RgNC4INCw0LrQviDQvdC40LrQvtC5INGE0LDQudC7INC9ZSBlINC90LDQv9Cw0YHQvdCw0Lsg0YEg0YjQsNCx0LvQvtC90LAg0LfQsCAiCiAi0LjQt9GC0YDQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL3JtLmM6MzM1CisjOiBidWlsdGluL3JtLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgItCx0LXQtyDQuNC30L/QvtC70LfQstCw0L3QtdGC0L4g0L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tcuKAnCDigJ4lc+KAnCDQvdGP0LzQsCDQtNCwINGB0LUg0LjQt9GC0YDQuNC1INGA0LXQutGD0YDRgdC40LLQvdC+IgogCi0jOiBidWlsdGluL3JtLmM6Mzc0CisjOiBidWlsdGluL3JtLmM6MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBybTogdW5hYmxlIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ2l0IHJtOiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30YLRgNC40LUiCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgKKyM6IGJ1aWx0aW4vcm0uYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgorCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE5CiBtc2dpZCAiIgogImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC0iCiAicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPGhvc3Q+Ol08ZGlyZWN0b3J5PiAiCkBAIC0xMjQxOSw0OSArMTMyMTMsNTMgQEAKICJwYWNrPdCf0JDQmtCV0KJdIFstLXZlcmJvc2VdIFstLXRoaW5dIFstLWF0b21pY10gW9Cl0J7QodCiOl3QlNCY0KDQldCa0KLQntCg0JjQryBb0KPQmtCQ0JfQkNCi0JXQm+KApl1cbiIKICIgINC+0L/RhtC40Y/RgtCwIOKAni0tYWxs4oCcINC4INC40LfRgNC40YfQvdC+0YLQviDQv9C+0YHQvtGH0LLQsNC90LUg0L3QsCDQo9Ca0JDQl9CQ0KLQldCbINGB0LAg0LLQt9Cw0LjQvNC90L4g0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4LiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjAKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCiBtc2dpZCAicmVtb3RlIG5hbWUiCiBtc2dzdHIgItC40LzQtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAidXNlIHN0YXRlbGVzcyBSUEMgcHJvdG9jb2wiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0L/RgNC+0YLQvtC60L7QuyDQsdC10Lcg0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQt9CwIFJQQyIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc3CiBtc2dpZCAicmVhZCByZWZzIGZyb20gc3RkaW4iCiBtc2dzdHIgItGH0LXRgtC10L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MworIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzgKIG1zZ2lkICJwcmludCBzdGF0dXMgZnJvbSByZW1vdGUgaGVscGVyIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC+0YIg0L7RgtC00LDQu9C10YfQtdC90LDRgtCwINC/0L7QvNC+0YnQvdCwINGE0YPQvdC60YbQuNGPIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gWzxwYXRoPi4uLl1dIgogbXNnc3RyICJnaXQgc2hvcnRsb2cgW9Ce0J/QptCY0K/igKZdIFvQlNCY0JDQn9CQ0JfQntCdX9Cd0JBf0JLQldCg0KHQmNCY0KLQlV0gW1stLV0gW9Cf0KrQouKApl1dIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjQyCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjQ5Cittc2dpZCAiR3JvdXAgYnkgY29tbWl0dGVyIHJhdGhlciB0aGFuIGF1dGhvciIKK21zZ3N0ciAi0JPRgNGD0L/QuNGA0LDQvdC1INC/0L4g0L/QvtC00LDQstCw0YksINCwINC90LUg0L/QviDQsNCy0YLQvtGAIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjUxCiBtc2dpZCAic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIgogbXNnc3RyICLQv9C+0LTRgNC10LTQsdCwINC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQv9C+INCx0YDQvtGPINC/0L7QtNCw0LLQsNC90LjRjyDQvtGCINCw0LLRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNDQKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTMKIG1zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKIG1zZ3N0ciAi0JHQtdC3INC+0L/QuNGB0LDQvdC40Y8g0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwIOKAlCDQtNCwINGB0LUg0L/QvtC60LDQt9Cy0LAg0YHQsNC80L4g0LHRgNC+0Y8g0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjQ2CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjU1CiBtc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKIG1zZ3N0ciAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0LDQtNGA0LXRgdCwINC90LAg0LUt0L/QvtGJ0LAg0LfQsCDQstGB0LXQutC4INCw0LLRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNDcKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTYKIG1zZ2lkICJ3WyxpMVssaTJdXSIKIG1zZ3N0ciAi0KjQmNCg0J7Qp9CY0J3QkFss0J7QotCh0KLQqtCfXzFbLNCe0KLQodCi0KrQn18yXV0iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNDgKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTcKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIiIKICLQn9GA0LXQvdCw0YHRj9C90LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1INC00L4g0YLQsNC30Lgg0L7QsdGJ0LAg0KjQmNCg0J7Qp9CY0J3QkCAoNzYpLCDRgSDQntCi0KHQotCq0J9fMSAoNikg0LfQsCDQv9GK0YDQstC40Y8gIgogItGA0LXQtCDQuCDQntCi0KHQotCq0J9fMiAoOSkg0LfQsCDQvtGB0YLQsNC90LDQu9C40YLQtSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTIKIG1zZ2lkICIiCiAiZ2l0IHNob3ctYnJhbmNoIFstYSB8IC0tYWxsXSBbLXIgfCAtLXJlbW90ZXNdIFstLXRvcG8tb3JkZXIgfCAtLWRhdGUtb3JkZXJdXG4iCiAiXHRcdFstLWN1cnJlbnRdIFstLWNvbG9yWz08d2hlbj5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXVxuIgpAQCAtMTI0NzMsMTI4ICsxMzI3MSwxMjggQEAKICIgICAgWy0tbW9yZT3QkdCg0J7QmSB8IC0tbGlzdCB8IC0taW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdXG4iCiAiICAgIFstLW5vLW5hbWUgfCAtLXNoYTEtbmFtZV0gWy0tdG9waWNzXSBbKNCg0JXQktCY0JfQmNCvIHwg0KPQmtCQ0JfQkNCi0JXQmynigKZdIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxNgogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIG1zZ3N0ciAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs90JHQoNCe0JlbLNCR0JDQl9CQXV0gWy0tbGlzdF0gW9Cj0JrQkNCX0JDQotCV0JtdIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCiBtc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgogbXNnc3RyWzBdICLigJ4lc+KAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAg4oCUINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0Y/RgiDQv9C+0LLQtdGH0LUg0L7RgiAlZCDRg9C60LDQt9Cw0YLQtdC7IgogbXNnc3RyWzFdICLigJ4lc+KAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAg4oCUINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0Y/RgiDQv9C+0LLQtdGH0LUg0L7RgiAlZCDRg9C60LDQt9Cw0YLQtdC70LgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgogbXNnc3RyICLQvdC40LrQvtC5INGD0LrQsNC30LDRgtC10Lsg0L3QtSDRgdGK0LLQv9Cw0LTQsCDRgSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYyNgogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHQu9C10LTRj9GJ0LjRgtC1INC4INC70L7QutCw0LvQvdC40YLQtSDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI4CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0LvQtdC00Y/RidC40YLQtSDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMwCiBtc2dpZCAiY29sb3IgJyohKy0nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyYW5jaCIKIG1zZ3N0ciAi0L7RhtCy0LXRgtGP0LLQsNC90LUg0L3QsCDigJ4qISst4oCcINGB0L/QvtGA0LXQtCDQutC70L7QvdC40YLQtSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMgogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgtCw0LrRitCyINCR0KDQntCZINC/0L7QtNCw0LLQsNC90LjRjyDQvtGCINC+0LHRidC40Y8g0L/RgNC10LTRiNC10YHRgtCy0LXQvdC40LoiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzQKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgItGB0LjQvdC+0L3QuNC8INC90LAg4oCebW9yZT0tMeKAnCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNQogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICLQsdC10Lcg0L3QuNC30L7QstC1INC30LAg0LjQvNC10L3QsNGC0LAg0L3QsCDQutC70L7QvdC40YLQtSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNwogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLQstC60LvRjtGH0LLQsNC90LUg0Lgg0L3QsCDRgtC10LrRg9GJ0LjRjyDQutC70L7QvSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAi0LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDRgSDQuNC80LXQvdCw0YLQsCDQuNC8INC90LAg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCiBtc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LLRitC30LzQvtC20L3QuNGC0LUg0LHQsNC30Lgg0LfQsCDRgdC70LjQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQzCiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QtdC00L7RgdGC0LjQttC40LzQuNGC0LUg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CiBtc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINCyINGC0L7Qv9C+0LvQvtCz0LjRh9C10YHQutCwINC/0L7QtNGA0LXQtNCx0LAiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCwg0LrQvtC40YLQviDQvdC1INGB0LAg0L7RgiDQv9GK0YDQstC40Y8g0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0LvQuNCy0LDQvdC40Y/RgtCwLCDQutC+0LjRgtC+INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC00L7RgdGC0LjQs9C90LDRgiDRgdCw0LzQviDQvtGCINC10LTQuNC9INCy0YDRitGFIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICIiCiAi0YLQvtC/0L7Qu9C+0LPQuNGH0LXRgdC60LAg0L/QvtC00YDQtdC00LHQsCwg0L/RgNC4INC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC/0L7QtNGA0LXQtNCx0LDRgtCwINC/0L4g0LTQsNGC0LAsINC00L7QutC+0LvQutC+0YLQviDQtVxuIgogItCy0YrQt9C80L7QttC90L4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgItCR0KDQntCZWyzQkdCQ0JfQkF0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0L3QsNC5LdC80L3QvtCz0L4g0JHQoNCe0Jkg0LbRg9GA0L3QsNC70L3QuCDQt9Cw0L/QuNGB0LAg0YEg0L3QsNGH0LDQu9C+INGB0YrQvtGC0LLQtdGC0L3QsNGC0LAg0JHQkNCX0JAiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2OTAKIG1zZ2lkICIiCiAiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCiBtc2dzdHIgIiIKICLQvtC/0YbQuNGP0YLQsCDigJ4tLXJlZmxvZ+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0L7Qv9GG0LjQuNGC0LUgIOKAni0tYWxs4oCcLCDigJ4tLXJlbW90ZXPigJwsIOKAni0tIgogImluZGVwZW5kZW504oCcINC4IOKAni0tbWVyZ2UtYmFzZeKAnCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxNAogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgItC90LUg0LUg0LfQsNC00LDQtNC10L0g0LrQu9C+0L0sINCwINGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTcKIG1zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLXRyYWNr4oCcINC40LfQuNGB0LrQstCwINGC0L7Rh9C90L4g0LXQtNC90L4g0LjQvNC1INC90LAg0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ3N0clswXSAi0YHQsNC80L4gJWQg0LfQsNC/0LjRgSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7QutCw0LfQsNC9INC90LDQstC10LTQvdGK0LYuIgogbXNnc3RyWzFdICLRgdCw0LzQviAlZCDQt9Cw0L/QuNGB0LAg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LrQsNC30LDQvdC4INC90LDQstC10LTQvdGK0LYuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgogbXNnc3RyICLRgtCw0LrRitCyINGD0LrQsNC30LDRgtC10Lsg0L3Rj9C80LA6ICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgogbXNnc3RyWzBdICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0YDQsNCx0L7RgtC4INC/0L7QstC10YfQtSDQvtGCICVkINGD0LrQsNC30LDRgtC10LsuIgogbXNnc3RyWzFdICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0YDQsNCx0L7RgtGP0YIg0L/QvtCy0LXRh9C1INC+0YIgJWQg0YPQutCw0LfQsNGC0LXQu9C4LiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIuKAniVz4oCcINC1INC90LXQv9GA0LDQstC40LvQtdC9INGD0LrQsNC30LDRgtC10LsuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCAoJXMpINC70LjQv9GB0LLQsCIKQEAgLTEyNjExLDE2MiArMTM0MDksMTcwIEBACiBtc2dpZCAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s9PHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s90KjQkNCR0JvQntCdXSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NQorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE1OQogbXNnaWQgIm9ubHkgc2hvdyB0YWdzIChjYW4gYmUgY29tYmluZWQgd2l0aCBoZWFkcykiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC10YLQuNC60LXRgtC40YLQtSAo0LzQvtC20LUg0LTQsCDRgdC1INC60L7QvNCx0LjQvdC40YDQsCDRgSDQstGK0YDRhdC+0LLQtdGC0LUpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTY2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYwCiBtc2dpZCAib25seSBzaG93IGhlYWRzIChjYW4gYmUgY29tYmluZWQgd2l0aCB0YWdzKSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LLRitGA0YXQvtCy0LXRgtC1ICjQvNC+0LbQtSDQtNCwINGB0LUg0LrQvtC80LHQuNC90LjRgNCwINGBINC10YLQuNC60LXRgtC40YLQtSkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjcKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjEKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICLRgdGC0YDQvtCz0LAg0L/RgNC+0LLQtdGA0LrQsCDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUsINC40LfQuNGB0LrQstCwINGB0LUg0YPQutCw0LfQsNGC0LXQuyDRgSDQv9GK0LvQtdC9INC/0YrRgiIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MCBidWlsdGluL3Nob3ctcmVmLmM6MTcyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjYKIG1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCiBtc2dzdHIgItC30LDQtNGK0LvQttC40YLQtdC70L3QviDQuNC30LLQtdC20LTQsNC90LUg0Lgg0L3QsCDRg9C60LDQt9Cw0YLQtdC70Y8gSEVBRCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2OAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICLQtNCwINGB0LUg0LjQt9Cy0LXQttC00LDRgiDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC40YLQtSDQvdCwINC+0LHQtdC60YLQuNGC0LUt0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINGC0L7Qt9C4INCR0KDQntCZINGG0LjRhNGA0Lgg0L7RgiDQstGB0Y/QutCwINGB0YPQvNCwINC/0L4gU0hBMSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NAogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICIiCi0i0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINGA0LXQt9GD0LvRgtCw0YLQuNGC0LUg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0ICjQv9C+0LvQtdC30L3QviDRgSDQvtC/0YbQuNGP0YLQsCDigJ4tLSIKKyLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YDQtdC30YPQu9GC0LDRgtC40YLQtSDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LjQt9GF0L7QtCAo0L/QvtC70LXQt9C90L4g0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS0iCiAidmVyaWZ54oCcKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NgogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1INC/0YDQuNC10YLQuCDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQsINC60L7QuNGC0L4g0LvQuNC/0YHQstCw0YIg0LIgIgogItC70L7QutCw0LvQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE3CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE5CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzUKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM2CiBtc2dpZCAic2tpcCBhbmQgcmVtb3ZlIGFsbCBsaW5lcyBzdGFydGluZyB3aXRoIGNvbW1lbnQgY2hhcmFjdGVyIgogbXNnc3RyICLQv9GA0L7Qv9GD0YHQutCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDRgNC10LTQvtCy0LUsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRgiDRgSDigJ4j4oCcIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOAorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzkKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDigJ4jIOKAnCDQsiDQvdCw0YfQsNC70L7RgtC+INC90LAg0LLRgdC10LrQuCDRgNC10LQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVmOiAlcyIKIG1zZ3N0ciAi0KLQsNC60YrQsiDRg9C60LDQt9Cw0YLQtdC7INC90Y/QvNCwOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDU1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICLQntGH0LDQutCy0LAg0YHQtSDQv9GK0LvQvdC+INC40LzQtSDQvdCwINGD0LrQsNC30LDRgtC10LssINCwINC90LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LzQsNGF0L3QtSDQutC+0LzQv9C+0L3QtdC90YIg0L7RgiDQsNC00YDQtdGB0LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMwNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y8g0LfQsCDQvtC/0YDQtdC00LXQu9GP0L3QtdGC0L4g0L3QsCDQvtGC0L3QvtGB0LjRgtC10LvQvdC40YLQtSDQv9GK0YLQuNGJ0LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMTAKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PdCf0KrQol0gW9Cf0KrQouKApl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM0MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM1NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAi0JLRitCyINGE0LDQudC70LAg4oCeLmdpdG1vZHVsZXPigJwg0L3QtSDQtSDQvtGC0LrRgNC40YIg0LDQtNGA0LXRgSDQt9CwINC/0YrRgtGPINC60YrQvCDQv9C+0LTQvNC+0LTRg9C7IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgbG9va3VwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgorImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgorbXNnc3RyICIiCisi0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ4lc+KAnCDQu9C40L/RgdCy0LAuICDQn9GA0LjQtdC80LAg0YHQtSwg0YfQtSDRgtC+0LLQsCDRhdGA0LDQvdC40LvQuNGJ0LUg0LUg0L/RgNCw0LLQuNC70L3QuNGP0YIg0LjQt9GC0L7Rh9C90LjQuiAiCisi0LfQsCDRgdC10LHQtSDRgdC4LiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0YDQtdCz0LjRgdGC0YDQuNGA0LDQvdC1INC90LAg0LDQtNGA0LXRgSDQt9CwINC/0YrRgtGPINC60YrQvCDQv9C+0LTQvNC+0LTRg9C7IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgItCg0LXQs9C40YHRgtGA0LjRgNCw0L0g0LUg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnCAoJXMpINC30LAg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAi0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog0L/RgNC10L/QvtGA0YrRh9Cy0LAg0YHQtSDRgNC10LbQuNC8INC90LAg0L7QsdC90L7QstGP0LLQsNC90LUg0LfQsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM5MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKICLQndC10YPRgdC/0LXRiNC90L4g0YDQtdCz0LjRgdGC0YDQuNGA0LDQvdC1INC90LAg0YDQtdC20LjQvNCwINC90LAg0L7QsdC90L7QstGP0LLQsNC90LUg0LfQsCDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MwogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICLQkdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0L/RgNC4INC40L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LXRgtC+INC90LAg0L/QvtC00LzQvtC00YPQuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSBb0J/QqtCiXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3NgogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUg0J/QqtCiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgItCS0YrQsiDRhNCw0LnQu9CwIOKAni5naXRtb2R1bGVz4oCcINC70LjQv9GB0LLQsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC/0YrRgtGPIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCiBtc2dzdHIgItC60YrQvCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LTQvtCx0LDQstC4INCw0LvRgtC10YDQvdCw0YLQuNCy0LXQvSDQuNC30YLQvtGH0L3QuNC6OiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiIgogItCd0LXQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LAg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5zdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneeKAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgItCd0LXQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LAg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5zdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb27igJwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAi0LrRitC00LUg0LTQsCDRgdC1INC60LvQvtC90LjRgNCwINC90L7QstC40Y/RgiDQv9C+0LTQvNC+0LTRg9C7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM2CiBtc2dpZCAibmFtZSBvZiB0aGUgbmV3IHN1Ym1vZHVsZSIKIG1zZ3N0ciAi0LjQvNC1INC90LAg0L3QvtCy0LjRjyDQv9C+0LTQvNC+0LTRg9C7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM5CiBtc2dpZCAidXJsIHdoZXJlIHRvIGNsb25lIHRoZSBzdWJtb2R1bGUgZnJvbSIKIG1zZ3N0ciAi0LDQtNGA0LXRgSwg0L7RgiDQutC+0LnRgtC+INC00LAg0YHQtSDQutC70L7QvdC40YDQsCDQvdC+0LLQuNGP0YIg0L/QvtC00LzQvtC00YPQuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NQogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAi0LTRitC70LHQvtGH0LjQvdCwINC90LAg0L/Qu9C40YLQutC40YLQtSDRhdGA0LDQvdC40LvQuNGJ0LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkzCiBtc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QsNC/0YDQtdC00YrQutCwINC90LAg0LrQu9C+0L3QuNGA0LDQvdC10YLQviIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKQEAgLTEyNzc0LDk5ICsxMzU4MCw4NSBAQAogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg90J/QqtCiXSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlINCl0KDQkNCd0JjQm9CY0KnQlV0gIgogIlstLW5hbWUg0JjQnNCVXSBbLS1kZXB0aCDQlNCq0JvQkdCe0KfQmNCd0JBdIC0tdXJsINCQ0JTQoNCV0KEgLS1wYXRoINCf0KrQouKApiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvdCwIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC60LvQvtC90LjRgNCw0L3QtSDQvdCwINCw0LTRgNC10YHQsCDigJ4lc+KAnCDQsiDQv9GK0YLRjyDigJ4lc+KAnCDQutCw0YLQviDQv9C+0LTQvNC+0LTRg9C7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKLW1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSIKLQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIKLW1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDRgtCy0L7RgNC4IgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvdCwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzI2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgogbXNnc3RyICLQn9GK0YLRj9GCINC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LUg0LjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAi0JLQtdGA0L7Rj9GC0L3QviDQuNGB0LrQsNGF0YLQtSDQtNCwINC40LfQv9C+0LvQt9Cy0LDRgtC1IOKAnnVwZGF0ZSAtLWluaXTigJw/IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzU2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi0J/RgNC10YHQutCw0YfQsNC90LUg0L3QsCDQvdC10YHQu9C10YLQuNGPINC/0L7QtNC80L7QtNGD0Lsg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgItCf0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTEzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnLiBSZXRyeSBzY2hlZHVsZWQiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0LXQvSDQvtC/0LjRgiDQt9CwINC60LvQvtC90LjRgNCw0L3QtSDQvdCwIOKAniVz4oCcLiAg0J3QsNGB0YDQvtGH0LXQvSDQtSDQstGC0L7RgNC4INC+0L/QuNGCIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTI0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgotbXNnc3RyICLQktGC0L7RgNC4INC90LXRg9GB0L/QtdGI0LXQvSDQvtC/0LjRgiDQt9CwINC60LvQvtC90LjRgNCw0L3QtSDQvdCwIOKAniVz4oCcLiAg0JTQtdC50YHRgtCy0LjQtdGC0L4g0YHQtSDQvtGC0LrQsNC30LLQsCIKK21zZ3N0ciAiIgorItCS0YLQvtGA0Lgg0L3QtdGD0YHQv9C10YjQtdC9INC+0L/QuNGCINC30LAg0LrQu9C+0L3QuNGA0LDQvdC1INC90LAg4oCeJXPigJwuICDQlNC10LnRgdGC0LLQuNC10YLQviDRgdC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYyCiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC/0YrRgiDQutGK0Lwg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzcKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAi0L/RitGCINC60YrQvCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviwg0L/RgNC10Lcg0LPRgNCw0L3QuNGG0LjRgtC1INC90LAg0LLQu9C+0LbQtdC90LjRgtC1INC/0L7QtNC80L7QtNGD0LvQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MQogbXNnaWQgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG9yIG5vbmUiCiBtc2dzdHIgIiIKICLigJ5yZWJhc2XigJwgKNC/0YDQtdCx0LDQt9C40YDQsNC90LUpLCDigJ5tZXJnZeKAnCAo0YHQu9C40LLQsNC90LUpLCDigJ5jaGVja291dOKAnCAo0LjQt9GC0LXQs9C70Y/QvdC1KSDQuNC70LggIgogIuKAnm5vbmXigJwgKNC90LjRidC+INC00LAg0L3QtSDRgdC1INC/0YDQsNCy0LgpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg1CiBtc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgogbXNnc3RyICLQn9C70LjRgtC60L4g0LrQu9C+0L3QuNGA0LDQvdC1LCDQvtCz0YDQsNC90LjRh9C10L3QviDQtNC+INGD0LrQsNC30LDQvdC40Y8g0LHRgNC+0Lkg0LLQtdGA0YHQuNC4IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg4CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAi0LHRgNC+0Lkg0L/QsNGA0LDQu9C10LvQvdC4INC/0YDQvtGG0LXRgdC4IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkwCiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICLQtNCw0LvQuCDQv9GK0YDQstC+0L3QsNGH0LDQu9C90L7RgtC+INC60LvQvtC90LjRgNCw0L3QtSDQtNCwINC1INC/0LvQuNGC0LrQviwg0LrQsNC60YLQviDRgdC1INC/0YDQtdC/0L7RgNGK0YfQstCwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkxCiBtc2dpZCAiZG9uJ3QgcHJpbnQgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCDQvdCwINC60LvQvtC90LjRgNCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD3Qn9Cq0KJdIFvQn9Cq0KLigKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwOAogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L/QsNGA0LDQvNC10YLRitGAINC60YrQvCDQvtC/0YbQuNGP0YLQsCDigJ4tLXVwZGF0ZeKAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKQEAgLTEyODc1LDQ0ICsxMzY2Nyw1MyBAQAogItCa0LvQvtC90YrRgiDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCDQtSDQvdCw0YHRgtGA0L7QtdC9INC00LAg0L3QsNGB0LvQtdC00Y/QstCwINC60LvQvtC90LAg0L7RgiDQvtCx0YXQstCw0YnQsNGJ0LjRjyDQv9GA0L7QtdC60YIsICIKICLQvdC+INGC0L7QuSDQvdC1INC1INC90LAg0L3QuNC60L7QuSDQutC70L7QvSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDAKLW1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdWJjb21tYW5kIgotbXNnc3RyICLigJ5zdWJtb2R1bGUtLWhlbHBlcuKAnCDRgtGA0Y/QsdCy0LAg0LTQsCDRgdC1INGB0YLQsNGA0YLQuNGA0LAg0YEg0L/QvtC00LrQvtC80LDQvdC00LAiCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MworbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgorbXNnc3RyICLRgNC10LrRg9GA0YHQuNCy0L3QviDQvtCx0YXQvtC20LTQsNC90LUg0L/QvtC00LzQvtC00YPQu9C40YLQtSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTY5Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIGVtYmVkLWdpdC1kaXIgW9Cf0KrQouKApl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC+0L/RhtC40Y/RgtCwIOKAni0tc3VwZXItcHJlZml44oCcIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0L/QvtC00LrQvtC80LDQvdC00LAg0L3QsCDigJ5zdWJtb2R1bGUtLWhlbHBlcuKAnCIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo3CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKIG1zZ2lkICJnaXQgc3ltYm9saWMtcmVmIFs8b3B0aW9ucz5dIDxuYW1lPiBbPHJlZj5dIgogbXNnc3RyICJnaXQgc3ltYm9saWMtcmVmIFvQntCf0KbQmNCv4oCmXSDQmNCc0JUgW9Cj0JrQkNCX0JDQotCV0JtdIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OQogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgLWQgWy1xXSA8bmFtZT4iCiBtc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgLWQgWy1xXSDQmNCc0JUiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDAKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKIG1zZ2lkICJzdXBwcmVzcyBlcnJvciBtZXNzYWdlIGZvciBub24tc3ltYm9saWMgKGRldGFjaGVkKSByZWZzIgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LPRgNC10YjQutCwINC30LAg0L3QtdGB0LLRitGA0LfQsNC90LggKNC90LXRgdC40LzQstC+0LvQvdC4KSDRg9C60LDQt9Cw0YLQtdC70LgiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKIG1zZ2lkICJkZWxldGUgc3ltYm9saWMgcmVmIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCDRgdC40LzQstC+0LvQtdC9INGD0LrQsNC30LDRgtC10LsiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgItC60YDQsNGC0LrQsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINGD0LrQsNC30LDRgtC10LvRjyIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDQgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCiBtc2dpZCAicmVhc29uIgogbXNnc3RyICLQv9GA0LjRh9C40L3QsCIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDQgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCiBtc2dpZCAicmVhc29uIG9mIHRoZSB1cGRhdGUiCiBtc2dzdHIgItC/0YDQuNGH0LjQvdCwINC30LAg0L7QsdC90L7QstGP0LLQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL3RhZy5jOjIzCisjOiBidWlsdGluL3RhZy5jOjI0CiBtc2dpZCAiIgogImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCiAiWzxoZWFkPl0iCkBAIC0xMjkyMCwzOSArMTM3MjEsMzQgQEAKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUg0JjQlNCV0J3QotCY0KTQmNCa0JDQotCe0KBf0J3QkF/QmtCb0K7Qp10gWy1mXSBbLW0g0KHQqtCe0JHQqdCV0J3QmNCVIHwgLUYg0KTQkNCZ0JtdICIKICLQldCi0JjQmtCV0KIgW9CS0KDQqtClXSIKIAotIzogYnVpbHRpbi90YWcuYzoyNAorIzogYnVpbHRpbi90YWcuYzoyNQogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kINCV0KLQmNCa0JXQouKApiIKIAotIyBGSVhNRSB0YWJ1bGF0b3IKLSM6IGJ1aWx0aW4vdGFnLmM6MjUKKyM6IGJ1aWx0aW4vdGFnLmM6MjYKIG1zZ2lkICIiCi0iZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tcG9pbnRzLWF0IDxvYmplY3Q+XVxuIgorImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS0iCisicG9pbnRzLWF0IDxvYmplY3Q+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8cGF0dGVybj4uLi5dIgogbXNnc3RyICIiCi0iZ2l0IHRhZyAtbCBbLW7QkdCg0J7QmV0gWy0tY29udGFpbnMg0J/QntCU0JDQktCQ0J3QlV0gWy0tcG9pbnRzLWF0INCe0JHQldCa0KJdXG4iCisiZ2l0IHRhZyAtbCBbLW5b0JHQoNCe0JldXSBbLS1jb250YWlucyDQn9Ce0JTQkNCS0JDQndCVXSBbLS1wb2ludHMtYXQg0J7QkdCV0JrQol1cbiIKICIgICAgICAgICAgIFstLWZvcm1hdD3QpNCe0KDQnNCQ0KJdIFstLVtuby1dbWVyZ2VkIFvQn9Ce0JTQkNCS0JDQndCVXV0gW9Co0JDQkdCb0J7QneKApl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjcKLW1zZ2lkICJnaXQgdGFnIC12IDx0YWduYW1lPi4uLiIKLW1zZ3N0ciAiZ2l0IHRhZyAtdiDQldCi0JjQmtCV0KLigKYiCisjOiBidWlsdGluL3RhZy5jOjI4Cittc2dpZCAiZ2l0IHRhZyAtdiBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWduYW1lPi4uLiIKK21zZ3N0ciAiZ2l0IHRhZyAtdiBbLS1mb3JtYXQ90KTQntCg0JzQkNCiXSDQldCi0JjQmtCV0KLigKYiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCi1tc2dzdHIgItC40LzQtdGC0L4g0L3QsCDQtdGC0LjQutC10YLQsCDQtSDRgtCy0YrRgNC00LUg0LTRitC70LPQvjog4oCeJS4qc+KAnOKApiIKLQotIzogYnVpbHRpbi90YWcuYzo4NgorIzogYnVpbHRpbi90YWcuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICLQtdGC0LjQutC10YLRitGCIOKAniVz4oCcINC90LUg0LUg0L7RgtC60YDQuNGCLiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDEKKyM6IGJ1aWx0aW4vdGFnLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAi0JjQt9GC0YDQuNGCINC1INC10YLQuNC60LXRgtGK0YIg4oCeJXPigJwgKNCx0LUg4oCeJXPigJwpXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTE3CisjOiBidWlsdGluL3RhZy5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xMjk2NSw3ICsxMzc2MSw3IEBACiAiICAlc1xuIgogItCg0LXQtNC+0LLQtdGC0LUsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRgiDRgSDigJ4lY+KAnCwg0YnQtSDQsdGK0LTQsNGCINC/0YDQvtC/0YPRgdC90LDRgtC4LlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEyMQorIzogYnVpbHRpbi90YWcuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTI5ODAsMzQ3ICsxMzc3NiwzNjcgQEAKICLQoNC10LTQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC30LDQv9C+0YfQstCw0YIg0YEg4oCeJWPigJwsINGB0YrRidC+INGJ0LUg0LHRitC00LDRgiDQstC60LvRjtGH0LXQvdC4IOKAlCDQvNC+0LbQtSDQtNCwINCz0LggIgogItC40LfRgtGA0LjQtdGC0LUg0LLQuNC1LlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjE5OQorIzogYnVpbHRpbi90YWcuYzoyMTEKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICLQtdGC0LjQutC10YLRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LTQv9C40YHQsNC9IgogCi0jOiBidWlsdGluL3RhZy5jOjIwMQorIzogYnVpbHRpbi90YWcuYzoyMTMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGFnIGZpbGUiCiBtc2dzdHIgItGE0LDQudC70YrRgiDQt9CwINC10YLQuNC60LXRgtCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvSIKIAotIzogYnVpbHRpbi90YWcuYzoyMjYKKyM6IGJ1aWx0aW4vdGFnLmM6MjM3CiBtc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LLQuNC0INC+0LHQtdC60YIuIgogCi0jOiBidWlsdGluL3RhZy5jOjIzOQotbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCi1tc2dzdHIgItC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCINC90LAg0LXRgtC40LrQtdGC0LAg0LUg0L/RgNC10LrQsNC70LXQvdC+INC00YrQu9Cz0LAuIgotCi0jOiBidWlsdGluL3RhZy5jOjI3NQorIzogYnVpbHRpbi90YWcuYzoyODMKIG1zZ2lkICJubyB0YWcgbWVzc2FnZT8iCiBtc2dzdHIgItC70LjQv9GB0LLQsCDRgdGK0L7QsdGJ0LXQvdC40LUg0LfQsCDQtdGC0LjQutC10YLQsCIKIAotIzogYnVpbHRpbi90YWcuYzoyODEKKyM6IGJ1aWx0aW4vdGFnLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSB0YWcgbWVzc2FnZSBoYXMgYmVlbiBsZWZ0IGluICVzXG4iCiBtc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtdGC0L4g0LfQsCDQtdGC0LjQutC10YLQsCDQtSDQt9Cw0L/QsNC30LXQvdC+INCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzM5CisjOiBidWlsdGluL3RhZy5jOjM5OAogbXNnaWQgImxpc3QgdGFnIG5hbWVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINC10YLQuNC60LXRgtC40YLQtSIKIAotIzogYnVpbHRpbi90YWcuYzozNDEKKyM6IGJ1aWx0aW4vdGFnLmM6NDAwCiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGC0L7Qt9C4INCR0KDQntCZINGA0LXQtNC+0LLQtSDQvtGCINCy0YHRj9C60L4g0YHRitC+0LHRidC10L3QuNC1INC30LAg0LXRgtC40LrQtdGCIgogCi0jOiBidWlsdGluL3RhZy5jOjM0MworIzogYnVpbHRpbi90YWcuYzo0MDIKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzQ0CisjOiBidWlsdGluL3RhZy5jOjQwMwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICLQv9GA0L7QstC10YDQutCwINC90LAg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzQ2CisjOiBidWlsdGluL3RhZy5jOjQwNQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICLQntC/0YbQuNC4INC/0YDQuCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzQ4CisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAi0LDQvdC+0YLQuNGA0LDQvdC10YLQviDQvdCwINC10YLQuNC60LXRgtC4INC40LfQuNGB0LrQstCwINGB0YrQvtCx0YnQtdC90LjQtSIKIAotIzogYnVpbHRpbi90YWcuYzozNTAKKyM6IGJ1aWx0aW4vdGFnLmM6NDA5CiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgItCh0KrQntCR0KnQldCd0JjQlSDQt9CwINC10YLQuNC60LXRgiIKIAotIzogYnVpbHRpbi90YWcuYzozNTIKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCiBtc2dpZCAiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIKIG1zZ3N0ciAi0LDQvdC+0YLQuNGA0LDQvSDQtdGC0LjQutC10YIg0YEg0L/QvtC00L/QuNGBINC/0L4gR1BHIgogCi0jOiBidWlsdGluL3RhZy5jOjM1NgorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC00YDRg9CzINC60LvRjtGHINC30LAg0L/QvtC00L/QuNGB0LLQsNC90LXRgtC+INC90LAg0LXRgtC40LrQtdGCIgogCi0jOiBidWlsdGluL3RhZy5jOjM1NworIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICLQt9Cw0LzRj9C90LAg0L3QsCDQtdGC0LjQutC10YLQsCwg0LDQutC+INGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBidWlsdGluL3RhZy5jOjM1OCBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE3IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQogbXNnaWQgImNyZWF0ZSBhIHJlZmxvZyIKIG1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LbRg9GA0L3QsNC7INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSIKIAotIzogYnVpbHRpbi90YWcuYzozNjAKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAiVGFnIGxpc3Rpbmcgb3B0aW9ucyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDQt9CwINC40LfQstC10LbQtNCw0L3QtdGC0L4g0L3QsCDQtdGC0LjQutC10YLQuCIKIAotIzogYnVpbHRpbi90YWcuYzozNjEKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdC/0LjRgdGK0LrQsCDQvdCwINC10YLQuNC60LXRgtC40YLQtSDQv9C+INC60L7Qu9C+0L3QuCIKIAotIzogYnVpbHRpbi90YWcuYzozNjIgYnVpbHRpbi90YWcuYzozNjMKKyM6IGJ1aWx0aW4vdGFnLmM6NDIxIGJ1aWx0aW4vdGFnLmM6NDIzCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQtdGC0LjQutC10YLQuNGC0LUsINC60L7QuNGC0L4g0YHRitC00YrRgNC20LDRgiDQv9C+0LTQsNCy0LDQvdC10YLQviIKIAotIzogYnVpbHRpbi90YWcuYzozNjQKKyM6IGJ1aWx0aW4vdGFnLmM6NDIyIGJ1aWx0aW4vdGFnLmM6NDI0Cittc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQtdGC0LjQutC10YLQuNGC0LUsINC60L7QuNGC0L4g0L3QtSDRgdGK0LTRitGA0LbQsNGCINC/0L7QtNCw0LLQsNC90LXRgtC+IgorCisjOiBidWlsdGluL3RhZy5jOjQyNQogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINGB0LvQtdGC0LjRgtC1INC10YLQuNC60LXRgtC4IgogCi0jOiBidWlsdGluL3RhZy5jOjM2NQorIzogYnVpbHRpbi90YWcuYzo0MjYKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0L3QtdGB0LvQtdGC0LjRgtC1INC10YLQuNC60LXRgtC4IgogCi0jOiBidWlsdGluL3RhZy5jOjM3MAorIzogYnVpbHRpbi90YWcuYzo0MzEKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0LXRgtC40LrQtdGC0LjRgtC1INC90LAg0J7QkdCV0JrQotCQIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OQorIzogYnVpbHRpbi90YWcuYzo0NzAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1jb2x1bW7igJwg0Lgg4oCeLW7igJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE5Ci1tc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLW7igJwg0LjQt9C40YHQutCy0LAg0L7Qv9GG0LjRj9GC0LAg4oCeLWzigJwuIgorIzogYnVpbHRpbi90YWcuYzo0OTIKK21zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLW7igJwg0LjQt9C40YHQutCy0LAg0YDQtdC20LjQvCDQvdCwINGB0L/QuNGB0YrQui4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDIxCi1tc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tY29udGFpbnPigJwg0LjQt9C40YHQutCy0LAg0L7Qv9GG0LjRj9GC0LAg4oCeLWzigJwuIgorIzogYnVpbHRpbi90YWcuYzo0OTQKK21zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tY29udGFpbnPigJwg0LjQt9C40YHQutCy0LAg0YDQtdC20LjQvCDQvdCwINGB0L/QuNGB0YrQui4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDIzCi1tc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLXBvaW50cy1hdOKAnCDQuNC30LjRgdC60LLQsCDQvtC/0YbQuNGP0YLQsCDigJ4tbOKAnC4iCisjOiBidWlsdGluL3RhZy5jOjQ5NgorbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni1jb250YWluc+KAnCDQuNC30LjRgdC60LLQsCAg0YDQtdC20LjQvCDQvdCwINGB0L/QuNGB0YrQui4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDI1Ci1tc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbiBhcmUgb25seSBhbGxvd2VkIHdpdGggLWwiCi1tc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tbWVyZ2Vk4oCcINC4IOKAni0tbm8tbWVyZ2Vk4oCcINC40LfQuNGB0LrQstCw0YIg0L7Qv9GG0LjRj9GC0LAg4oCeLWzigJwuIgorIzogYnVpbHRpbi90YWcuYzo0OTgKK21zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLXBvaW50cy1hdOKAnCDQuNC30LjRgdC60LLQsCDRgNC10LbQuNC8INC90LAg0YHQv9C40YHRitC6LiIKIAotIzogYnVpbHRpbi90YWcuYzo0MzMKKyM6IGJ1aWx0aW4vdGFnLmM6NTAwCittc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tbWVyZ2Vk4oCcINC4IOKAni0tbm8tbWVyZ2Vk4oCcINC40LfQuNGB0LrQstCw0YIg0YDQtdC20LjQvCDQvdCwINGB0L/QuNGB0YrQui4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTExCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tRuKAnCDQuCDigJ4tbeKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDUyCisjOiBidWlsdGluL3RhZy5jOjUzMAogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAi0J/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtC4IgogCi0jOiBidWlsdGluL3RhZy5jOjQ1OAorIzogYnVpbHRpbi90YWcuYzo1MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIuKAniVz4oCcINC1INC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQt9CwINC10YLQuNC60LXRgi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDYzCisjOiBidWlsdGluL3RhZy5jOjU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi0LXRgtC40LrQtdGC0YrRgiDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogYnVpbHRpbi90YWcuYzo0OTEKKyM6IGJ1aWx0aW4vdGFnLmM6NTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAi0J7QsdC90L7QstC10L0g0LXRgtC40LrQtdGCIOKAniVz4oCcICjQsdC1IOKAniVz4oCcKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkzCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDk0CiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgItCg0LDQt9C/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGZpbGUgJXMiCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMSBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YLQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRlc3RpbmcgbXRpbWUgaW4gJyVzJyAiCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQstGA0LXQvNC10YLQviDQvdCwINC/0YDQvtC80Y/QvdCwIChtdGltZSkg0L3QsCDRhNCw0LnQu9CwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTAKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZmlsZSIKIG1zZ3N0ciAiIgogItC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQv9C+0LvRg9GH0LXQvdCwINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0L3QtSDRgdC1INC/0YDQvtC80LXQvdGPINGB0LvQtdC0ICIKICLQtNC+0LHQsNCy0Y/QvdC10YLQviDQvdCwINC90L7QsiDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTYzCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogItC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQv9C+0LvRg9GH0LXQvdCwINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0L3QtSDRgdC1INC/0YDQvtC80LXQvdGPINGB0LvQtdC0ICIKICLQtNC+0LHQsNCy0Y/QvdC10YLQviDQvdCwINC90L7QstCwINC00LjRgNC10LrRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzYKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgogbXNnc3RyICIiCiAi0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC/0L7Qu9GD0YfQtdC90LAg0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDRgdC1INC/0YDQvtC80LXQvdGPINGB0LvQtdC0ICIKICLQvtCx0L3QvtCy0Y/QstCw0L3QtdGC0L4g0L3QsCDQvdC+0LIg0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4NwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICLQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0L/QvtC70YPRh9C10L3QsCDRh9GA0LXQtyDigJ5zdGF04oCcINC30LAg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINGB0LUg0L/RgNC+0LzQtdC90Y8g0YHQu9C10LQg0LTQvtCx0LDQstGP0L3QtdGC0L4gIgogItC90LAg0YTQsNC50Lsg0LIg0L/QvtC00LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTkzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5OAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZmlsZSIKIG1zZ3N0ciAiIgogItC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQv9C+0LvRg9GH0LXQvdCwINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0L3QtSDRgdC1INC/0YDQvtC80LXQvdGPINGB0LvQtdC0ICIKICLQuNC30YLRgNC40LLQsNC90LXRgtC+INC90LAg0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAi0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC/0L7Qu9GD0YfQtdC90LAg0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdC1INGB0LUg0L/RgNC+0LzQtdC90Y8g0YHQu9C10LQgIgogItC40LfRgtGA0LjQstCw0L3QtdGC0L4g0L3QsCDQtNC40YDQtdC60YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE4CiBtc2dpZCAiIE9LIgogbXNnc3RyICIg0JTQvtCx0YDQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTY5CiBtc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFvQntCf0KbQmNCv4oCmXSBbLS1dIFvQpNCQ0JnQm+KApl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTE5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiIgogItC/0YDQvtC00YrQu9C20LDQstCw0L3QtSDRgSDQvtCx0L3QvtCy0Y/QstCw0L3QtdGC0L4sINC00L7RgNC4INC60L7Qs9Cw0YLQviDQuNC90LTQtdC60YHRitGCINGC0YDRj9Cx0LLQsCDQtNCwINCx0YrQtNC1INC+0LHQvdC+0LLQtdC9IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAi0L/QvtC00LzQvtC00YPQu9C40YLQtSDQtNCwINGB0LUg0LjQs9C90L7RgNC40YDQsNGCINC/0YDQuCDQvtCx0L3QvtCy0Y/QstCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMAogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICLQvdC+0LLQuNGC0LUg0YTQsNC50LvQvtCy0LUg0LTQsCDQvdC1INGB0LUg0LjQs9C90L7RgNC40YDQsNGCIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzIKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAi0YTQsNC50LvQvtCy0LUg0LTQsCDQvNC+0LPQsNGCINC00LAg0LfQsNC80LXQvdGP0YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0Lgg0L7QsdGA0LDRgtC90L4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LDQstCw0L3QtSDQv9GA0Lgg0LvQuNC/0YHQstCw0YnQuCDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgItC+0LHQvdC+0LLRj9Cy0LDQvdC1INC00L7RgNC4INC4INC40L3QtNC10LrRgdGK0YIg0LTQsCDRgdGK0LTRitGA0LbQsCDQvdC10YHQu9C10YLQuCDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0L7RgiDRhNGD0L3QutGG0LjRj9GC0LAg4oCec3RhdOKAnCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICIiCiAi0LrQsNGC0L4g0L7Qv9GG0LjRj9GC0LAg4oCeLS1yZWZyZXNo4oCcLCDQvdC+INC00LAg0YHQtSDQv9GA0L7QstC10YDRj9GCINC4INC+0LHQtdC60YLQuNGC0LUsINC60L7QuNGC0L4g0YHQsCDQsdC40LvQuCDQv9GA0LjQtdGC0LggIgogItC30LAg0L3QtdC/0YDQvtC80LXQvdC10L3QuCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAi0KDQldCW0JjQnCzQntCR0JXQmtCiLNCf0KrQoiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LjQt9Cx0YDQvtC10L3QuNGC0LUg0L7QsdC10LrRgtC4INC60YrQvCDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU3CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICLQt9Cw0LTQsNCy0LDQvdC1INC90LAg0YTQu9Cw0LMsINGH0LUg0YTQsNC50LvRitGCINC90LUg0YHQtSDQv9GA0L7QvNC10L3RjyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYwCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICLQuNC30YfQuNGB0YLQstCw0L3QtSDQvdCwINGE0LvQsNCz0LAsINGH0LUg0YTQsNC50LvRitGCINC90LUg0YHQtSDQv9GA0L7QvNC10L3RjyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYzCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINGE0LvQsNCzLCDRh9C1INGE0LDQudC70L7QstC10YLQtSDRgdCwINGB0LDQvNC+INC30LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICLQuNC30YfQuNGB0YLQstCw0L3QtSDQvdCwINGE0LvQsNCz0LAsICDRh9C1INGE0LDQudC70L7QstC10YLQtSDRgdCwINGB0LDQvNC+INC30LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OQogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INGB0LDQvNC+INC60YrQvCDQuNC90LTQtdC60YHQsCDQsdC10Lcg0LTQvtCx0LDQstGP0L3QtSDQutGK0Lwg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCDQt9CwINC+0LHQtdC60YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINGD0LrQsNC30LDQvdC40YLQtSDQv9GK0YLQuNGJ0LAsINC00L7RgNC4INC4INC00LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRgiDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTczCiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICIiCiAi0L/RgNC4INC60L7QvNCx0LjQvdC40YDQsNC90LUg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zdGRpbuKAnCDigJQg0LLRhdC+0LTQvdC40YLQtSDRgNC10LTQvtCy0LUg0YHQsCDRgNCw0LfQtNC10LvQtdC90Lgg0YEg0L3Rg9C70LXQstC40Y8gIgogItCx0LDQudGCIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzUKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0YHQv9C40YHRitC60LAg0YEg0L/RitGC0LjRidCwINC30LAg0L7QsdC90L7QstGP0LLQsNC90LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC10LvQtdC80LXQvdGC0LjRgtC1INC+0YIg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCDQutGK0Lwg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MwogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAiIgogItCy0YrQt9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC/0YDQtdC00Lgg0YHQu9C40LLQsNC90LUg0LjQu9C4INC90YPQttC00LAg0L7RgiDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQt9CwICIKICLQuNC30LHRgNC+0LXQvdC40YLQtSDQv9GK0YLQuNGJ0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NwogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INGB0LDQvNC+INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+LCDQutC+0LXRgtC+INGB0LUg0YDQsNC30LvQuNGH0LDQstCwINC+0YIg0YLQvtCy0LAg0LIg4oCeSEVBROKAnCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUsINC60L7QuNGC0L4g0LvQuNC/0YHQstCw0YIg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LTQtdC50YHRgtCy0LjRj9GC0LAg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINC40LfRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIiCiAi0LfQsNCx0YDQsNCy0Y/QvdC1INC90LAg0LfQsNC/0LjRgdCw0L3QsNGC0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQvdC10YDQsNC30YDQtdGI0LXQvdC4INC60L7QvdGE0LvQuNC60YLQuCDigJQg0LfQsCDQutC+0LzQsNC90LTQuNGC0LUgIgogItC+0YIg0L/QvtGC0YDQtdCx0LjRgtC10LvRgdC60L4g0L3QuNCy0L4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAg0LIg0YLQvtC30Lgg0YTQvtGA0LzQsNGCIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAyCiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgItCy0LrQu9GO0YfQstCw0L3QtSDQuNC70Lgg0LjQt9C60LvRjtGH0LLQsNC90LUg0L3QsCDRgNCw0LfQtNC10LvRj9C90LXRgtC+INC90LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDQKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgItCy0LrQu9GO0YfQstCw0L3QtS/QuNC30LrQu9GO0YfQstCw0L3QtSDQvdCwINC60LXRiNCwINC30LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDYKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQsCDQtNCw0LvQuCDRhNCw0LnQu9C+0LLQsNGC0LAg0YHQuNGB0YLQtdC80LAg0L/QvtC00LTRitGA0LbQsCDQutC10Ygg0LfQsCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgIiIKICLQstC60LvRjtGH0LLQsNC90LUg0L3QsCDQutC10YjQsCDQt9CwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0LHQtdC3INC/0YDQvtCy0LXRgNC60LAg0L3QsCDRhNCw0LnQu9C+0LLQsNGC0LAg0YHQuNGB0YLQtdC80LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTA4Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZW5hYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisi0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5jb3JlLnNwbGl0SW5kZXjigJwg0LUg0LfQsNC00LDQtNC10L3QsCDQvdCwIOKAnmZhbHNl4oCcICjQu9GK0LbQsCkuICDQodC80LXQvdC10YLQtSDRjyDQuNC70Lgg0Y8gIgorItC40LfRgtGA0LjQudGC0LUsINC30LAg0LTQsCDQstC60LvRjtGH0LjRgtC1INGA0LDQt9C00LXQu9GP0L3QtdGC0L4g0L3QsCDQuNC90LTQtdC60YHQsCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTE3Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJkaXNhYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisi0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5jb3JlLnNwbGl0SW5kZXjigJwg0LUg0LfQsNC00LDQtNC10L3QsCDQvdCwIOKAnnRydWXigJwgKNC40YHRgtC40L3QsCkuICDQodC80LXQvdC10YLQtSDRjyDQuNC70LggIgorItGPINC40LfRgtGA0LjQudGC0LUsINC30LAg0LTQsCDQuNC30LrQu9GO0YfQuNGC0LUg0YDQsNC30LTQtdC70Y/QvdC10YLQviDQvdCwINC40L3QtNC10LrRgdCwLiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTI4CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTMzMjgsMTEgKzE0MTQ0LDExIEBACiAi0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5jb3JlLnVudHJhY2tlZENhY2hl4oCcINC1INC30LDQtNCw0LTQtdC90LAg0L3QsCDigJ50cnVl4oCcICjQuNGB0YLQuNC90LApLiAg0KHQvNC10L3QtdGC0LUg0Y8gIgogItC40LvQuCDRjyDQuNC30YLRgNC40LnRgtC1LCDQt9CwINC00LAg0LjQt9C60LvRjtGH0LjRgtC1INC60LXRiNCwINC30LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTIzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzIKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCiBtc2dzdHIgItCa0LXRiNGK0YIg0LfQsCDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INC1INC40LfQutC70Y7Rh9C10L0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQwCiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTMzNDAsMTMwICsxNDE1NiwxMzggQEAKICLQndCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmNvcmUudW50cmFja2VkQ2FjaGXigJwg0LUg0LfQsNC00LDQtNC10L3QsCDQvdCwIOKAnmZhbHNl4oCcICjQu9GK0LbQsCkuICDQodC80LXQvdC10YLQtSDRjyAiCiAi0LjQu9C4INGPINC40LfRgtGA0LjQudGC0LUsINC30LAg0LTQsCDQstC60LvRjtGH0LjRgtC1INC60LXRiNCwINC30LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCiBtc2dzdHIgItCa0LXRiNGK0YIg0LfQsCDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INC1INCy0LrQu9GO0YfQtdC9INC30LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLWQgPHJlZm5hbWU+IFs8b2xkLXZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBb0J7Qn9Cm0JjQr+KApl0gLWQg0JjQnNCVX9Cd0JBf0KPQmtCQ0JfQkNCi0JXQmyBb0KHQotCQ0KDQkF/QodCi0J7QmdCd0J7QodCiXSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gICAgPHJlZm5hbWU+IDxuZXctdmFsPiBbPG9sZC12YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgW9Ce0J/QptCY0K/igKZdINCY0JzQlV/QndCQX9Cj0JrQkNCX0JDQotCV0Jsg0J3QntCS0JBf0KHQotCe0JnQndCe0KHQoiBb0KHQotCQ0KDQkF/QodCi0J7QmdCd0J7QodCiXSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBb0J7Qn9Cm0JjQr+KApl0gLS1zdGRpbiBbLXpdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NAogbXNnaWQgImRlbGV0ZSB0aGUgcmVmZXJlbmNlIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70Y8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY2CiBtc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCiBtc2dzdHIgItC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0JjQnNCV0YLQvl/QndCQX9Cj0JrQkNCX0JDQotCV0JvRjywg0LAg0L3QtSDRgtC+0LLQsCwg0LrRitC8INC60L7QtdGC0L4g0YHQvtGH0LgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NgorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY3CiBtc2dpZCAic3RkaW4gaGFzIE5VTC10ZXJtaW5hdGVkIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogItC90Y/QutC+0Lgg0L7RgiDQtdC70LXQvNC10L3RgtC40YLQtSDQv9C+0LTQsNC00LXQvdC4INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCDQt9Cw0LLRitGA0YjQstCw0YIg0YEg0L3Rg9C70LXQstC40Y8g0LfQvdCw0LogIgogIuKAnk5VTOKAnCIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY3CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKIG1zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0LjQt9GH0LjRgtCw0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NwogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogbXNnc3RyICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIAotIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzoxNAorIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzoxNQogbXNnaWQgInVwZGF0ZSB0aGUgaW5mbyBmaWxlcyBmcm9tIHNjcmF0Y2giCiBtc2dzdHIgItC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90LjRgtC1INGE0LDQudC70L7QstC1INC+0YIg0L3Rg9C70LDRgtCwIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxNworIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTgKIG1zZ2lkICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdINCf0J7QlNCQ0JLQkNCd0JXigKYiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjcyCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MwogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0L/QvtC00LDQstCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjczIGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM1CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NCBidWlsdGluL3ZlcmlmeS10YWcuYzozOAogbXNnaWQgInByaW50IHJhdyBncGcgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QtdC+0LHRgNCw0LHQvtGC0LXQvdC40Y8g0LjQt9GF0L7QtCDQvtGCINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDigJ5ncGfigJwiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU1CiBtc2dpZCAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldINCf0JDQmtCV0KLigKYiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY1CiBtc2dpZCAidmVyYm9zZSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L/QvtC00YDQvtCx0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY2CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjcKIG1zZ2lkICJzaG93IHN0YXRpc3RpY3Mgb25seSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YHRgtCw0YLQuNGB0YLQuNC60LDRgtCwIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxNwotbXNnaWQgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gPHRhZz4uLi4iCi1tc2dzdHIgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0g0JXQotCY0JrQldCi4oCmIgorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTkKK21zZ2lkICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZz4uLi4iCittc2dzdHIgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PdCk0J7QoNCc0JDQol0g0JXQotCY0JrQldCi4oCmIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKIG1zZ2lkICJwcmludCB0YWcgY29udGVudHMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdCwINCV0KLQmNCa0JXQotC4IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgogbXNnaWQgImdpdCB3b3JrdHJlZSBhZGQgWzxvcHRpb25zPl0gPHBhdGg+IFs8YnJhbmNoPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBhZGQgW9Ce0J/QptCY0K/igKZdINCf0KrQoiBb0JrQm9Ce0J1dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNwogbXNnaWQgImdpdCB3b3JrdHJlZSBsaXN0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgbGlzdCBb0J7Qn9Cm0JjQr+KApl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBb0J7Qn9Cm0JjQr+KApl0gW9Cf0KrQol0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgW9Ce0J/QptCY0K/igKZdIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMAogbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIFvQn9Cq0KJdIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IG5vdCBhIHZhbGlkIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg4oCed29ya3RyZWVzLyVz4oCcOiDQvdC1INC1INC/0YDQsNCy0LjQu9C90LAg0L/QvtC00LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwIOKAnndvcmt0cmVlcy8lc+KAnDog0YTQsNC50LvRitGCIOKAnmdpdGRpcuKAnCDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCiBtc2dzdHIgIiIKICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ53b3JrdHJlZXMvJXPigJw6INGE0LDQudC70YrRgiDigJ5naXRkaXLigJwgKCVzKSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBpbnZhbGlkIGdpdGRpciBmaWxlIgogbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ53b3JrdHJlZXMvJXPigJw6INC90LXQv9GA0LDQstC40LvQtdC9INGE0LDQudC7IOKAnmdpdGRpcuKAnCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICIiCiAi0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg4oCed29ya3RyZWVzLyVz4oCcOiDRhNCw0LnQu9GK0YIg4oCeZ2l0ZGly4oCcINGB0L7Rh9C4INC90LXRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0L4gIgogItC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjkKK21zZ2lkICJyZXBvcnQgcHJ1bmVkIHdvcmtpbmcgdHJlZXMiCittc2dzdHIgItC00L7QutC70LDQtNCy0LDQvdC1INC90LAg0L7QutCw0YHRgtGA0LXQvdC40YLQtSDRgNCw0LHQvtGC0L3QuCDQtNGK0YDQstC10YLQsCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjEzMQorbXNnaWQgImV4cGlyZSB3b3JraW5nIHRyZWVzIG9sZGVyIHRoYW4gPHRpbWU+IgorbXNnc3RyICLQvtCx0Y/QstGP0LLQsNC90LUg0L3QsCDRgNCw0LHQvtGC0L3QuNGC0LUg0LrQvtC/0LjRjyDQv9C+LdGB0YLQsNGA0Lgg0L7RgiDRgtC+0LLQsCDQktCg0JXQnNCVINC30LAg0L7RgdGC0LDRgNC10LvQuCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICLigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCIKQEAgLTEzNDczLDk3ICsxNDI5NywxMDEgQEAKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L3QsCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgJXMgKGlkZW50aWZpZXIgJXMpIgogbXNnc3RyICLQn9C+0LTQs9C+0YLQstGP0L3QtSDQvdCwICVzICjQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgItCY0LfRgtC10LPQu9GP0L3QtSDQmtCb0J7QndCwLCDQtNC+0YDQuCDQuCDQtNCwINC1INC40LfRgtC10LPQu9C10L0g0LIg0LTRgNGD0LPQviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0L3QvtCyINC60LvQvtC9IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMxCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUg0LjQu9C4INC30LDQvdGD0LvRj9Cy0LDQvdC1INC90LAg0LrQu9C+0L3QuCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzMwogbXNnaWQgInBvcHVsYXRlIHRoZSBuZXcgd29ya2luZyB0cmVlIgogbXNnc3RyICLQv9C+0LTQs9C+0YLQstGP0L3QtSDQvdCwINC90L7QstC+0YLQviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzM3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzM0Cittc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCittc2dzdHIgItC90L7QstC+0YLQviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+INC00LAg0L7RgdGC0LDQvdC1INC30LDQutC70Y7Rh9C10L3QviIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjM0MgogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni1i4oCcLCDigJ4tQuKAnCDQuCDigJ4tLWRldGFjaOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCDQtdC00L3QsCDRgSDQtNGA0YPQs9CwIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDcwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDc5CiBtc2dpZCAicmVhc29uIGZvciBsb2NraW5nIgogbXNnc3RyICLQv9GA0LjRh9C40L3QsCDQt9CwINC30LDQutC70Y7Rh9Cy0LDQvdC1IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDgyIGJ1aWx0aW4vd29ya3RyZWUuYzo1MTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEgYnVpbHRpbi93b3JrdHJlZS5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTMgYnVpbHRpbi93b3JrdHJlZS5jOjUyNgogbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgogbXNnc3RyICLQntGB0L3QvtCy0L3QvtGC0L4g0LTRitGA0LLQviDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LrQu9GO0YfQuCDQuNC70Lgg0LfQsNC60LvRjtGH0LgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0LLQtdGH0LUg0LUg0LfQsNC60LvRjtGH0LXQvdC+LCDQt9Cw0YnQvtGC0L4g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKIG1zZ3N0ciAi4oCeJXPigJwg0LLQtdGH0LUg0LUg0LfQsNC60LvRjtGH0LXQvdC+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTE5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDQt9Cw0LrQu9GO0YfQtdC90L4iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNAogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg90J/QoNCV0KTQmNCa0KEvXSIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CiBtc2dpZCAiPHByZWZpeD4vIgogbXNnc3RyICLQn9Cg0JXQpNCY0JrQoS8iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAi0LfQsNC/0LjRgSDQvdCwINC+0LHQtdC60YIt0LTRitGA0LLQviDQt9CwINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQt9Cw0L/QvtGH0LLQsNGJ0LAg0YEg0YLQsNC30Lgg0J/QoNCV0KTQmNCa0KEiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMwCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgItGB0LDQvNC+INC30LAg0LjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDQs9GA0LXRiNC60LgiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MjIKKyM6IHVwbG9hZC1wYWNrLmM6MjMKIG1zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCiBtc2dzdHIgImdpdCB1cGxvYWQtcmVwYWNrIFvQntCf0KbQmNCv4oCmXSDQlNCY0KDQldCa0KLQntCg0JjQryIKIAotIzogdXBsb2FkLXBhY2suYzoxMDI4CisjOiB1cGxvYWQtcGFjay5jOjEwNDEKIG1zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCiBtc2dzdHIgItC40LfRhdC+0LQg0YHQu9C10LQg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdCw0YLQsCDRgNCw0LfQvNGP0L3QsCDQvdCwINC30LDRj9Cy0LrQsCDQuCDQvtGC0LPQvtCy0L7RgCIKIAotIzogdXBsb2FkLXBhY2suYzoxMDMwCisjOiB1cGxvYWQtcGFjay5jOjEwNDMKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCiBtc2dzdHIgItC40LfRhdC+0LQg0YHQu9C10LQg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdCw0YLQsCDQvtCx0Y/QstCwINC90LAg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiB1cGxvYWQtcGFjay5jOjEwMzIKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NQogbXNnaWQgImRvIG5vdCB0cnkgPGRpcmVjdG9yeT4vLmdpdC8gaWYgPGRpcmVjdG9yeT4gaXMgbm8gR2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogItC00LAg0L3QtSDRgdC1INGC0YrRgNGB0Lgg4oCe0JTQmNCg0JXQmtCi0J7QoNCY0K8vLmdpdC/igJwsINCw0LrQviDQlNCY0KDQldCa0KLQntCg0JjQr9GC0LAg0L3QtSDQtSDQv9C+0LQg0LrQvtC90YLRgNC+0LvQsCDQvdCwIEdpdCIKIAotIzogdXBsb2FkLXBhY2suYzoxMDM0CisjOiB1cGxvYWQtcGFjay5jOjEwNDcKIG1zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKIG1zZ3N0ciAi0YLRgNCw0L3RgdGE0LXRgNGK0YIg0LTQsCDRgdC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0Lgg0YHQu9C10LQg0YLQvtC30Lgg0JHQoNCe0Jkg0YHQtdC60YPQvdC00LgiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCkBAIC0xMzU3NiwxMyArMTQ0MDQsMTMgQEAKICLQtNGA0YPQs9C40YLQtSDQv9C+0YLRgNC10LHQuNGC0LXQu9C4INC80L7Qs9Cw0YIg0LTQsCDQv9C+0LvRg9GH0LDRgiDQtNC+0YHRgtGK0L8g0LTQviDQutC10YjQuNGA0LDQvdC40YLQtSDQstC4INC/0LDRgNC+0LvQuC4gINCX0LAg0LTQsFxuIgogItC60L7RgNC40LPQuNGA0LDRgtC1INGC0L7QstCwLCDQuNC30L/RitC70L3QtdGC0LU6XG4iCiAiXG4iCi0iICAgICAgICBjaG1vZCAwNzAwICVzIgorIiAgICBjaG1vZCAwNzAwICVzIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MgogbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YrQvtCx0YnQtdC90LjRj9GC0LAg0LfQsCDRgtGA0LDRgdC40YDQsNC90LUg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QsNGC0LAg0LPRgNC10YjQutCwIgogCi0jOiBnaXQuYzoxNAorIzogZ2l0LmM6MTUKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKQEAgLTEzNTkyLDE2ICsxNDQyMCw0MSBAQAogItC90LDQu9C40YfQvdC40YLQtVxuIgogItGA0YrQutC+0LLQvtC00YHRgtCy0LAuICDQl9CwINC/0L7QvNC+0Ykg0LfQsCDRgdC/0LXRhtC40YTQuNGH0L3QsCDQmtCe0JzQkNCd0JTQkCDQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGhlbHAg0JrQntCc0JDQndCU0JDigJwsINCwICIKICLQt9CwXG4iCi0i0L3Rj9C60L7QtSDQvtC/0YDQtdC00LXQu9C10L3QviDQn9Ce0J3Qr9Ci0JjQlSDQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBoZWxwINCf0J7QndCv0KLQmNCV4oCcLiIKKyLQvdGP0LrQvtC1INC+0L/RgNC10LTQtdC70LXQvdC+INCf0J7QndCv0KLQmNCVINC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGhlbHAg0J/QntCd0K/QotCY0JXigJwuXG4iCisiXG4iCisi0JHRitC70LPQsNGA0YHQutC4INC/0YDQtdCy0L7QtCDQvdCwINC60L3QuNCz0LDRgtCwIOKAnlBybyBHaXTigJwg0L7RgiDQp9Cw0LrRitC9INC4INCh0YLRgNCw0YPQsTpcbiIKKyJodHRwOi8vaS1jYW4uZXUvcHJvZ2l0Mi1iZy9wcm9naXQuaHRtbCIKIAotIzogaHR0cC5jOjM0MgorIzogaHR0cC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgorbXNnc3RyICIiCisi0L7RgtGA0LjRhtCw0YLQtdC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeaHR0cC5wb3N0YnVmZmVy4oCcLiDQqdC1INGB0LUg0L/QvtC70LfQstCwINGB0YLQsNC90LTQsNGA0YLQvdCw0YLQsDogJWQiCisKKyM6IGh0dHAuYzozNTgKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgItCj0L/RgNCw0LLQu9C10L3QuNC10YLQviDQvdCwINC00LXQu9C10LPQuNGA0LDQvdC10YLQviDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCDQvtGCIGNVUkwgPCA3LjIyLjAiCiAKLSM6IGh0dHAuYzozNTEKKyM6IGh0dHAuYzozNjcKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgItCX0LDQtNCw0LLQsNC90LXRgtC+INC90LAg0L/QvtGB0YLQvtGP0L3QtdC9INC/0YPQsdC70LjRh9C10L0g0LrQu9GO0Ycg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAg0L7RgiBjVVJMIDwgNy40NC4wIgogCisjOiBodHRwLmM6MTc2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgorIiAgYXNrZWQgZm9yOiAlc1xuIgorIiAgIHJlZGlyZWN0OiAlcyIKK21zZ3N0ciAiIgorItCx0LDQt9C+0LLQuNGP0YIg0LDQtNGA0LXRgSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0L3QvtCy0Lgg0YHQu9C10LQg0L/RgNC10L3QsNGB0L7Rh9Cy0LDQvdC1OlxuIgorIiAgICDil48g0LfQsNGP0LLQtdC9INCw0LTRgNC10YE6ICVzXG4iCisiICAgIOKXjyDQv9GA0LXQvdCw0YHQvtGH0LLQsNC90LU6ICVzIgorCisjOiByZW1vdGUtY3VybC5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKK21zZ3N0ciAi0L/RgNC10L3QsNGB0L7Rh9Cy0LDQvdC1INC60YrQvCDigJ4lc+KAnCIKKwogIzogY29tbW9uLWNtZHMuaDo5CiBtc2dpZCAic3RhcnQgYSB3b3JraW5nIGFyZWEgKHNlZSBhbHNvOiBnaXQgaGVscCB0dXRvcmlhbCkiCiBtc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQvdCwINGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4gKNC/0L7Qs9C70LXQtNC90LXRgtC1OiDigJ5naXQgaGVscCB0dXRvcmlhbOKAnCkiCkBAIC0xMzk2OSw3ICsxNDgyMiw3IEBACiAjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHRvOiAkcHJldHR5X25hbWUiCi1tc2dzdHIgItCi0YDQuNCy0LjQsNC70L3QviDRgdC70LjQstCw0L3QtSDQtNC+IOKAniRwcmV0dHlfbmFtZeKAnCIKK21zZ3N0ciAi0J/RgNC10LLRitGA0YLQsNC90LUg0LTQviDigJ4kcHJldHR5X25hbWXigJwiCiAKICM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjk3CiAjLCBzaC1mb3JtYXQKQEAgLTEzOTgwLDcgKzE0ODMzLDcgQEAKIG1zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKIG1zZ3N0ciAi0J/RgNC+0YHRgtC+0YLQviDRgdC70LjQstCw0L3QtSDQvdC1INGB0YDQsNCx0L7RgtC4LCDQv9GA0L7QsdCy0LAg0YHQtSDQsNCy0YLQvtC80LDRgtC40YfQvdC+INGB0LvQuNCy0LDQvdC1LiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NgorIzogZ2l0LXJlYmFzZS5zaDo1OAogbXNnaWQgIiIKICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTEzOTkyLDU0ICsxNDg0NSw0NCBAQAogItCX0LAg0LTQsCDQvtGC0LrQsNC20LXRgtC1INC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+INC4INC00LAg0YHQtSDQstGK0YDQvdC10YLQtSDQutGK0Lwg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDRgdGK0YHRgtC+0Y/QvdC40LUsXG4iCiAi0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCByZWJhc2UgLS1hYm9ydOKAnC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTU2IGdpdC1yZWJhc2Uuc2g6Mzk1CisjOiBnaXQtcmViYXNlLnNoOjE1OCBnaXQtcmViYXNlLnNoOjM5NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgogbXNnc3RyICLQktGA0YrRidCw0L3QtdGC0L4g0LrRitC8IOKAniR7aGVhZF9uYW1lfeKAnCDQtSDQvdC10LLRitC30LzQvtC20L3QviIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjcKKyM6IGdpdC1yZWJhc2Uuc2g6MTY5CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgogbXNnc3RyICLQkNCy0YLQvtC80LDRgtC40YfQvdC+INGB0LrQsNGC0LDQvdC+0YLQviDQtSDQv9GA0LjQu9C+0LbQtdC90L4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MAorIzogZ2l0LXJlYmFzZS5zaDoxNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKIG1zZ3N0ciAi4oCeJHtzdGFzaF9zaGExfeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L0iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCi1tc2dpZCAiIgotIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCi0iWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKLSJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCi1tc2dzdHIgIiIKLSLQn9GA0LjQu9Cw0LPQsNC90LXRgtC+INC90LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QviDRgdC60LDRgtCw0L3QvtGC0L4g0LTQvtCy0LXQtNC1INC00L4g0LrQvtC90YTQu9C40LrRgtC4LiAg0J/RgNC+0LzQtdC90LjRgtC1INCy0Lgg0YHQsFxuIgotItC90LDQtNC10LbQtNC90L4g0YHQutCw0YLQsNC90LguICDQnNC+0LbQtdGC0LUg0LTQsCDQv9GA0L7QsdCy0LDRgtC1INC00LAg0LPQuCDQv9GA0LjQu9C+0LbQuNGC0LUg0YfRgNC10Lcg4oCeZ2l0IHN0YXNoIHBvcOKAnFxuIgotItC40LvQuCDQtNCwINCz0Lgg0LjQt9GF0LLRitGA0LvQuNGC0LUg0YfRgNC10Lcg4oCeZ2l0IHN0YXNoIGRyb3DigJwsINC60L7Qs9Cw0YLQviDQv9C+0LjRgdC60LDRgtC1LlxuIgotCi0jOiBnaXQtcmViYXNlLnNoOjIxMAorIzogZ2l0LXJlYmFzZS5zaDoyMTIKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAi0JrRg9C60LDRgtCwINC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUg0L/RgNC10LTQuCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INC+0YLRhdCy0YrRgNC70Lgg0L/RgNC10LHQsNC30LjRgNCw0L3QtdGC0L4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxNQorIzogZ2l0LXJlYmFzZS5zaDoyMTcKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIiIKICLQmNC30LPQu9C10LbQtNCwLCDRh9C1INGB0LXQs9CwINGB0LUg0L/RgNC40LvQsNCz0LDRgiDQutGA0YrQv9C60Lgg0YfRgNC10Lcg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1hbeKAnC4gINCd0LUg0LzQvtC20LUg0LTQsCAiCiAi0L/RgNC10LHQsNC30LjRgNCw0YLQtSDQsiDQvNC+0LzQtdC90YLQsC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU2CisjOiBnaXQtcmViYXNlLnNoOjM1OAogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgItCY0LfQs9C70LXQttC00LAg0LIg0LzQvtC80LXQvdGC0LAg0L3QtSDRgtC10YfQtSDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2NworIzogZ2l0LXJlYmFzZS5zaDozNjkKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICLQntC/0YbQuNGP0YLQsCDigJ4tLWVkaXQtdG9kb+KAnCDQtSDQtNC+0YHRgtGK0L/QvdCwINGB0LDQvNC+INC/0L4g0LLRgNC10LzQtSDQvdCwINC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1LiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzQKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc2CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzcKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc5CiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTQwNDcsNyArMTQ4OTAsNyBAQAogItCi0YDRj9Cx0LLQsCDQtNCwINGA0LXQtNCw0LrRgtC40YDQsNGC0LUg0LLRgdC40YfQutC4INC60L7QvdGE0LvQuNC60YLQuCDQv9GA0Lgg0YHQu9C40LLQsNC90LXRgtC+LiAg0KHQu9C10LQg0YLQvtCy0LBcbiIKICLQvtGC0LHQtdC70LXQttC10YLQtSDQutC+0YDQuNCz0LjRgNCw0L3QtdGC0L4g0LjQvCDRh9GA0LXQtyDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IGFkZOKAnCIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MTQKKyM6IGdpdC1yZWJhc2Uuc2g6NDE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xNDA2OCwxMDYgKzE0OTExLDEwNiBAQAogItC30LBcbiIKICLQtNCwINC90LUg0LfQsNCz0YPQsdC40YLQtSDRgdC70YPRh9Cw0LnQvdC+INC/0YDQvtC80LXQvdC4LiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjUKKyM6IGdpdC1yZWJhc2Uuc2g6NDcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQvtGB0L3QvtCy0LAg0LfQsCDRgdGA0LDQstC90LXQvdC40LUg4oCeJHt1cHN0cmVhbV9uYW1lfeKAnCIKIAotIzogZ2l0LXJlYmFzZS5zaDo0ODkKKyM6IGdpdC1yZWJhc2Uuc2g6NDk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiIgogItGD0LrQsNC30LDRgtC10LvRj9GCIOKAniR7b250b19uYW1lfeKAnCDQvNC+0LbQtSDQtNCwINGB0L7Rh9C4INC60YrQvCDQv9C+0LLQtdGH0LUg0L7RgiDQtdC00L3QsCDQvtGB0L3QvtCy0LAg0LfQsCAiCiAi0L/RgNC10LHQsNC30LjRgNCw0L3QtdGC0L4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDkyIGdpdC1yZWJhc2Uuc2g6NDk2CisjOiBnaXQtcmViYXNlLnNoOjQ5NyBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeJHtvbnRvX25hbWV94oCcINC90LUg0YHQvtGH0Lgg0LrRitC8INC90LjQutCw0LrQstCwINC+0YHQvdC+0LLQsCDQt9CwINC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+IgogCi0jOiBnaXQtcmViYXNlLnNoOjUwMQorIzogZ2l0LXJlYmFzZS5zaDo1MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ4ke29udG9fbmFtZX3igJwg0L3QtSDRgdC+0YfQuCDQutGK0Lwg0L/QvtC00LDQstCw0L3QtSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjQKKyM6IGdpdC1yZWJhc2Uuc2g6NTI5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAi0KTQkNCi0JDQm9Cd0JAg0JPQoNCV0KjQmtCQOiDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwINC60LvQvtC9IOKAniR7YnJhbmNoX25hbWV94oCcIgogCi0jOiBnaXQtcmViYXNlLnNoOjU1NworIzogZ2l0LXJlYmFzZS5zaDo1NjIKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQtSDRgdC60LDRgtCw0LUg0LDQstGC0L7QvNCw0YLQuNGH0L3QviIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjIKKyM6IGdpdC1yZWJhc2Uuc2g6NTY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDRgdC60LDRgtCw0L3Qvjog4oCeJHtzdGFzaF9hYmJyZXZ94oCcIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2NgorIzogZ2l0LXJlYmFzZS5zaDo1NzEKIG1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICLQn9GA0L7QvNC10L3QuNGC0LUg0YLRgNGP0LHQstCwINC40LvQuCDQtNCwINGB0LUg0L/QvtC00LDQtNCw0YIsINC40LvQuCDQtNCwINGB0LUg0YHQutCw0YLQsNGP0YIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4NgorIzogZ2l0LXJlYmFzZS5zaDo1OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAi0KLQtdC60YPRidC40Y/RgiDQutC70L7QvSDigJ4ke2JyYW5jaF9uYW1lfeKAnCDQtSDQvdCw0L/RitC70L3QviDQsNC60YLRg9Cw0LvQtdC9LiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTAKKyM6IGdpdC1yZWJhc2Uuc2g6NTk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIiIKICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9IOKAniR7YnJhbmNoX25hbWV94oCcINC1INC90LDQv9GK0LvQvdC+INCw0LrRgtGD0LDQu9C10L0uICDQn9GA0LXQsdCw0LfQuNGA0LDQvdC10YLQviDQtSAiCiAi0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+LiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MDEKKyM6IGdpdC1yZWJhc2Uuc2g6NjA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAi0J/RgNC+0LzQtdC90LjRgtC1INC+0YIg4oCeJHttYn3igJwg0LrRitC8IOKAniR7b250b33igJw6IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxMAorIzogZ2l0LXJlYmFzZS5zaDo2MTUKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICLQn9GK0YDQstC+LCDRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC30LDQv9C+0YfQstCwINC00LAg0YHQvtGH0Lgg0LrRitC8INCx0LDQt9Cw0YLQsCwg0LLRitGA0YXRgyDQutC+0Y/RgtC+INC/0YDQtdCx0LDQt9C40YDQsNGC0LXigKYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjIwCisjOiBnaXQtcmViYXNlLnNoOjYyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgotbXNnc3RyICLQotGA0LjQstC40LDQu9C90L4g0YHQu9C40LLQsNC90LUg0L3QsCDigJ4ke2JyYW5jaF9uYW1lfeKAnCDQstGK0YDRhdGDIOKAniR7b250b19uYW1lfeKAnC4iCittc2dzdHIgItCf0YDQtdCy0YrRgNGC0LDQvdC1INC90LAg4oCeJHticmFuY2hfbmFtZX3igJwg0LLRitGA0YXRgyDigJ4ke29udG9fbmFtZX3igJwuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAKKyM6IGdpdC1zdGFzaC5zaDo1NAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBzdGFzaCBjbGVhcuKAnCDQvdC1INC/0L7QtNC00YrRgNC20LAg0LDRgNCz0YPQvNC10L3RgtC4IgogCi0jOiBnaXQtc3Rhc2guc2g6NzMKKyM6IGdpdC1zdGFzaC5zaDo5NQogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgogbXNnc3RyICLQktGB0LUg0L7RidC1INC70LjQv9GB0LLQsCDQv9GK0YDQstC+0L3QsNGH0LDQu9C90L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogZ2l0LXN0YXNoLnNoOjg4CisjOiBnaXQtc3Rhc2guc2g6MTEwCiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgtC10LrRg9GJ0LjRjyDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCiAKLSM6IGdpdC1zdGFzaC5zaDoxMDMKKyM6IGdpdC1zdGFzaC5zaDoxMjUKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLQndC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC/0LDQt9GP0YIiCiAKLSM6IGdpdC1zdGFzaC5zaDoxMjMgZ2l0LXN0YXNoLnNoOjEzNgorIzogZ2l0LXN0YXNoLnNoOjE0NSBnaXQtc3Rhc2guc2g6MTU4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L3QviIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MAorIzogZ2l0LXN0YXNoLnNoOjE2MgogbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCiBtc2dzdHIgItCd0LUg0YHQsCDQuNC30LHRgNCw0L3QuCDQvdC40LrQsNC60LLQuCDQv9GA0L7QvNC10L3QuCIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MworIzogZ2l0LXN0YXNoLnNoOjE2NQogbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgogbXNnc3RyICLQktGA0LXQvNC10L3QvdC40Y/RgiDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NgorIzogZ2l0LXN0YXNoLnNoOjE3OAogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICLQodGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCiAKLSM6IGdpdC1zdGFzaC5zaDoxODgKKyM6IGdpdC1zdGFzaC5zaDoyMTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAiIgpAQCAtMTQxODMsNyArMTUwMjYsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIzOAorIzogZ2l0LXN0YXNoLnNoOjI2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC0xNDE5MiwxMzIgKzE1MDM1LDEzNyBAQAogItCz0YDQtdGI0LrQsDog0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBzdGFzaCBzYXZl4oCcINC90LUg0L/QvtC00LTRitGA0LbQsCDQvtC/0YbQuNGPIOKAniR7b3B0aW9ufeKAnFxuIgogIiAgICAgICAg0JfQsCDQtNCwINC30LDQtNCw0LTQtdGC0LUg0YHRitC+0LHRidC10L3QuNC1LCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHN0YXNoIHNhdmUgLS0gJyR7b3B0aW9ufSfigJwiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTEKKyM6IGdpdC1zdGFzaC5zaDoyODEKIG1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgotbXNnc3RyICLQntC/0YbQuNC40Y/RgtCwIOKAni0tcGF0Y2jigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBIOKAni0taW5jbHVkZS11bnRyYWNrZWTigJwg0Lgg4oCeLS1hbGzigJwiCittc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni0tcGF0Y2jigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBIOKAni0taW5jbHVkZS11bnRyYWNrZWTigJwg0Lgg4oCeLS1hbGzigJwiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTkKKyM6IGdpdC1zdGFzaC5zaDoyODkKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgItCd0Y/QvNCwINC90LjQutCw0LrQstC4INC70L7QutCw0LvQvdC4INC/0YDQvtC80LXQvdC4INC30LAg0YHQutCw0YLQsNCy0LDQvdC1IgogCi0jOiBnaXQtc3Rhc2guc2g6MjYzCisjOiBnaXQtc3Rhc2guc2g6Mjk0CiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgItCh0LrQsNGC0LDQstCw0L3QtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINGB0YLQsNGA0YLQuNGA0LAiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjcKKyM6IGdpdC1zdGFzaC5zaDoyOTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgItCi0LXQutGD0YnQvtGC0L4g0YHRitGB0YLQvtGP0L3QuNC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvdC+IgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4CisjOiBnaXQtc3Rhc2guc2g6Mjk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKIG1zZ3N0ciAiIgogItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgNCw0LHQvtGC0L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0Lgg0LjQvdC00LXQutGB0LAg0YHQsCDQt9Cw0L/QsNC30LXQvdC4OiDigJ4kc3Rhc2hfbXNn4oCcIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjg1CisjOiBnaXQtc3Rhc2guc2g6MzI2CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICLQn9GA0L7QvNC10L3QuNGC0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQt9Cw0L3Rg9C70LXQvdC4IgogCi0jOiBnaXQtc3Rhc2guc2g6NDAzCisjOiBnaXQtc3Rhc2guc2g6NDc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINC+0L/RhtC40Y86ICR7b3B0fSIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNgotbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKKyM6IGdpdC1zdGFzaC5zaDo0ODcKK21zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKIG1zZ3N0ciAi0J3QtSDQtSDQvtGC0LrRgNC40YLQviDQvdC40YnQviDRgdC60LDRgtCw0L3Qvi4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjMKKyM6IGdpdC1zdGFzaC5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgItCj0LrQsNC30LDQvdC4INGB0LAg0L/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0LLQtdGA0YHQuNC4OiDigJ4ke1JFVn3igJwiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzgKKyM6IGdpdC1zdGFzaC5zaDo1MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ4ke3JlZmVyZW5jZX3igJwg0LUg0LPRgNC10YjQtdC9IgogCi0jOiBnaXQtc3Rhc2guc2g6NDY2CisjOiBnaXQtc3Rhc2guc2g6NTM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICLigJ4ke2FyZ3N94oCcINC90LUg0LUg0L/QvtC00LDQstCw0L3QtSwg0L/RgNC40LvQuNGH0LDRidC+INC90LAg0L3QtdGJ0L4g0YHQutCw0YLQsNC90L4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzcKKyM6IGdpdC1zdGFzaC5zaDo1NDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICLigJ4ke2FyZ3N94oCcINC90LUg0LUg0YPQutCw0LfQsNGC0LXQuyDQutGK0Lwg0L3QtdGJ0L4g0YHQutCw0YLQsNC90L4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODUKKyM6IGdpdC1zdGFzaC5zaDo1NTYKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7QsdC90L7QstC10L0iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo1NjAKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgItCf0L4g0LLRgNC10LzQtSDQvdCwINGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQv9GA0LjQu9C+0LbQuNGC0LUg0L3QtdGJ0L4g0YHQutCw0YLQsNC90L4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0OTcKKyM6IGdpdC1zdGFzaC5zaDo1NjgKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICIiCiAi0JIg0LjQvdC00LXQutGB0LAg0LjQvNCwINC60L7QvdGE0LvQuNC60YLQuC4gINCf0YDQvtCx0LLQsNC50YLQtSDQtNCwINC40LfQv9GK0LvQvdC40YLQtSDQutC+0LzQsNC90LTQsNGC0LAg0LHQtdC3INC+0L/RhtC40Y/RgtCwIOKAni0tIgogImluZGV44oCcLiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5OQorIzogZ2l0LXN0YXNoLnNoOjU3MAogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgItCU0YrRgNCy0L7RgtC+INGB0L7Rh9C10L3QviDQvtGCINC40L3QtNC10LrRgdCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvdC+IgogCi0jOiBnaXQtc3Rhc2guc2g6NTA4Ci1tc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCi1tc2dzdHIgItCd0LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INCy0YrQt9GB0YLQsNC90L7QstGP0YIg0L7RgiDQuNC90LTQtdC60YHQsCIKKyM6IGdpdC1zdGFzaC5zaDo1NzkKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKK21zZ3N0ciAi0J3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LLRitC30YHRgtCw0L3QvtCy0Y/RgiDQvtGCINGB0LrQsNGC0LDQvdC+0YLQviIKIAotIzogZ2l0LXN0YXNoLnNoOjUzMworIzogZ2l0LXN0YXNoLnNoOjYwNAogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICLQn9GA0L7QvNC10L3QtdC90LjRgtC1INGE0LDQudC70L7QstC1INC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LjQt9Cy0LDQtNC10L3QuCDQvtGCINC40L3QtNC10LrRgdCwIgogCi0jOiBnaXQtc3Rhc2guc2g6NTQ4CisjOiBnaXQtc3Rhc2guc2g6NjE5CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICLQmNC90LTQtdC60YHRitGCINC90LUg0LUg0YHQutCw0YLQsNC9LiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgotbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorIzogZ2l0LXN0YXNoLnNoOjYzMworbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgogbXNnc3RyICLQodC60LDRgtCw0L3QvtGC0L4g0LUg0LfQsNC/0LDQt9C10L3QviDQsiDRgdC70YPRh9Cw0LksINGH0LUg0LLQuCDQv9C+0YLRgNGP0LHQstCwINC+0YLQvdC+0LLQviIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MQorIzogZ2l0LXN0YXNoLnNoOjY0MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAi0JjQt9GC0YDQuNGC0L4g0LUg0YHQutCw0YLQsNC90L7RgtC+IOKAniR7UkVWfeKAnCAoJHMpIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcyCisjOiBnaXQtc3Rhc2guc2g6NjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgogbXNnc3RyICLQodC60LDRgtCw0L3QvtGC0L4g4oCeJHtSRVZ94oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YLQviIKIAotIzogZ2l0LXN0YXNoLnNoOjU4MAorIzogZ2l0LXN0YXNoLnNoOjY1MQogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAi0J3QtSDQtSDRg9C60LDQt9Cw0L3QviDQuNC80LUg0L3QsCDQutC70L7QvSIKIAotIzogZ2l0LXN0YXNoLnNoOjY1MgorIzogZ2l0LXN0YXNoLnNoOjczMAogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKNCX0LAg0LTQsCDQs9C4INCy0YrQt9GB0YLQsNC90L7QstC40YLQtSwg0LjQt9C/0YrQu9C90LXRgtC1INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgc3Rhc2ggYXBwbHnigJwpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjE4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxODEKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogItCe0YLQvdC+0YHQuNGC0LXQu9C10L0g0L/RitGCINC80L7QttC1INC00LAg0YHQtSDQv9C+0LvQt9Cy0LAg0YHQsNC80L4g0L7RgiDQvtGB0L3QvtCy0L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4gIgogItC00YrRgNCy0L4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTk0CisjOiBnaXQtc3VibW9kdWxlLnNoOjE5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiIgogItCw0LTRgNC10YEg0L3QsCDRhdGA0LDQvdC40LvQuNGJ0LU6IOKAniR7cmVwb33igJwg0YLRgNGP0LHQstCwINC40LvQuCDQtNCwINC1INCw0LHRgdC+0LvRjtGC0LXQvSwg0LjQu9C4INC00LAg0LfQsNC/0L7Rh9Cy0LAg0YEgIgogIuKAni4v4oCcINC40LvQuCDigJ4uLi/igJwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjExCisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIuKAniR7c21fcGF0aH3igJwg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMworIywgc2gtZm9ybWF0Cittc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXggYW5kIGlzIG5vdCBhIHN1Ym1vZHVsZSIKK21zZ3N0ciAi4oCeJHtzbV9wYXRofeKAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQsiDQuNC90LTQtdC60YHQsCDQuCDQvdC1INC1INC/0L7QtNC80L7QtNGD0LsiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKQEAgLTE0MzI4LDI0ICsxNTE3NiwyNCBAQAogIiR7c21fcGF0aH1cbiIKICLQmNC30L/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIOKAni1m4oCcLCDQsNC60L4g0LfQsCDQtNCwINCz0L4g0LTQvtCx0LDQstC40YLQtSDQvdCw0LjRgdGC0LjQvdCwLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINGB0YrRidC10YHRgtCy0YPQstCw0YnQvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INCyIOKAniR7c21fcGF0aH3igJwg0LrRitC8INC40L3QtNC10LrRgdCwIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICLigJ4ke3NtX3BhdGh94oCcINGB0YrRidC10YHRgtCy0YPQstCwLCDQsCDQvdC1INC1INGF0YDQsNC90LjQu9C40YnQtSDQvdCwIEdpdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCiBtc2dzdHIgIiIKICLQntGC0LrRgNC40YLQsCDQtSDQu9C+0LrQsNC70L3QsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwIEdpdCDigJQg4oCeJHtzbV9uYW1lfeKAnCwg0LrQvtGP0YLQviDRgdC+0YfQuCDQutGK0LwgIgogItC+0YLQtNCw0LvQtdGH0LXQvdC40YLQtSDRhdGA0LDQvdC40LvQuNGJ0LA6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKQEAgLTE0MzU3LDUzICsxNTIwNSw1MyBAQAogbXNnc3RyICIiCiAi0JDQutC+INC40YHQutCw0YLQtSDQtNCwINC/0YDQtdC40LfQv9C+0LvQt9Cy0LDRgtC1INGC0LDQt9C4INC00LjRgNC10LrRgtC+0YDQuNGPINC90LAgZ2l0LCDQstC80LXRgdGC0L4g0LTQsCDQutC70L7QvdC40YDQsNGC0LUgIgogItC+0YLQvdC+0LLQvlxuIgotIiAgICAgICAgJHJlYWxyZXBvXG4iCisiICAgICRyZWFscmVwb1xuIgogItC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLS1mb3JjZeKAnC4gINCQ0LrQviDQu9C+0LrQsNC70L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QsCBnaXQg0L3QtSDQtSDQt9CwXG4iCiAi0L/RgNCw0LLQuNC70L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INC40LvQuCDQsNC60L4g0L3QtSDQt9C90LDQtdGC0LUg0LrQsNC60LLQviDQvtC30L3QsNGH0LDQstCwINGC0L7QstCwLCDQuNC30L/QvtC70LfQstCw0LnRgtC1XG4iCiAi0LTRgNGD0LPQviDQuNC80LUg0LrQsNGC0L4g0LDRgNCz0YPQvNC10L3RgiDQutGK0Lwg0L7Qv9GG0LjRj9GC0LAg4oCeLS1uYW1l4oCcLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICLQkNC60YLQuNCy0LjRgNCw0L3QtSDQvdCwINC70L7QutCw0LvQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0LfQsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJHtzbV9uYW1lfeKAnCDQvdCw0L3QvtCy0L4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2MworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9GK0YIg4oCeJHtzbV9wYXRofeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0LXQs9C70LXQvSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LTQvtCx0LDQstGP0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4ke3NtX3BhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3NworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGA0LXQs9C40YHRgtGA0LjRgNCw0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4ke3NtX3BhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMyNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQktC70LjQt9Cw0L3QtSDQsiDigJ4ke2Rpc3BsYXlwYXRofeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIiIKICLQodC/0LjRgNCw0L3QtSDQv9GA0Lgg4oCeJHtkaXNwbGF5cGF0aH3igJwg4oCUINC40LfRhdC+0LTQvdC40Y/RgiDQutC+0LQg0L7RgiDRgdC60YDQuNC/0YLQsCDQsdC1INGA0LDQt9C70LjRh9C10L0g0L7RgiAwLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDQv9GK0YIg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC+INGBINC+0L/RhtC40Y/RgtCwIOKAni0tYWxs4oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQyMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItCY0LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeLS1hbGzigJwsINC30LAg0LTQsCDQv9GA0LXQvNCw0YXQvdC10YLQtSDQstGB0LjRh9C60Lgg0L/QvtC00LzQvtC00YPQu9C4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ0MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKQEAgLTE0NDEyLDUxICsxNTI2MCw1MSBAQAogItCg0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC90LAg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnCDRgdGK0LTRitGA0LbQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDigJ4uZ2l04oCcLlxuIgogIijQsNC60L4g0LjRgdC60LDRgtC1INC00LAg0LPQuCDQuNC30YLRgNC40LXRgtC1INC30LDQtdC00L3QviDRgSDRhtGP0LvQsNGC0LAg0LjQvCDQuNGB0YLQvtGA0LjRjywg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5ybSAtcmbigJwpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ0OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKICJkaXNjYXJkIHRoZW0iCiBtc2dzdHIgIiIKICLQoNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQvdCwINC/0L7QtNC80L7QtNGD0Lsg4oCeJHtkaXNwbGF5cGF0aH3igJwg0YHRitC00YrRgNC20LAg0LvQvtC60LDQu9C90Lgg0L/RgNC+0LzQtdC90LguICAiCi0i0JzQvtC20LXRgtC1INC00LAg0LPQuCDQv9GA0LXQvdC10LHRgNC10LPQvdC10YLQtSDQuCDQvtGC0LzQtdC90LjRgtC1INGBINC+0L/RhtC40Y/RgtCwIOKAni1m4oCcIgorItCc0L7QttC10YLQtSDQtNCwINCz0L4g0L7RgtGF0LLRitGA0LvQuNGC0LUg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLWbigJwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDUxCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4ke2Rpc3BsYXlwYXRofeKAnCDQtSDQuNC30YfQuNGB0YLQtdC90LAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDUyCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAi0JTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC60YrQvCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4ke2Rpc3BsYXlwYXRofeKAnCDQvdC1INC80L7QttC1INC00LAgIgogItCx0YrQtNC1INC40LfRgtGA0LjRgtCwIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogItCf0YDQsNC30L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0LfQsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJHtkaXNwbGF5cGF0aH3igJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L3QsCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAi0J/RgNC10LzQsNGF0L3QsNGC0LAg0LUg0YDQtdCz0LjRgdGC0YDQsNGG0LjRj9GC0LAg0L3QsCDQv9C+0LTQvNC+0LTRg9C7IOKAniR7bmFtZX3igJwsINGB0L7Rh9C10Ykg0LrRitC8INCw0LTRgNC10YEg4oCeJHt1cmx94oCcLCAiCiAi0LfQsCDQv9GK0YLRjyDigJ4ke2Rpc3BsYXlwYXRofeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQotC10LrRg9GJ0LDRgtCwINCy0LXRgNGB0LjRjyDQt9CwINC/0L7QtNC80L7QtNGD0LvQsCDQsiDigJ4ke2Rpc3BsYXlwYXRofeKAnCDQu9C40L/RgdCy0LAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjY0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQtNC+0YHRgtCw0LLRj9C90LUg0LIg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtzbV9wYXRofeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTQ0NjUsMTA3ICsxNTMxMywxMDcgQEAKICLQotC10LrRg9GJ0LDRgtCwINCy0LXRgNGB0LjRjyDigJ4ke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH3igJwg0LIg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtzbV9wYXRofeKAnCAiCiAi0LvQuNC/0YHQstCwIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY1MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC00L7RgdGC0LDQstGP0L3QtSDQsiDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgogIkRpcmVjdCBmZXRjaGluZyBvZiB0aGF0IGNvbW1pdCBmYWlsZWQuIgogbXNnc3RyICIiCi0i0J/QvtC00LzQvtC00YPQu9GK0YIg0LIg0L/RitGC0Y8g4oCeJGRpc3BsYXlwYXRo4oCcINC1INC00L7RgdGC0LDQvdC10L0sINC90L4g0L3QtSDRgdGK0LTRitGA0LbQsCDQvtCx0LXQutGC0LAg0YHRitGBINGB0YPQvNCwXG4iCisi0J/QvtC00LzQvtC00YPQu9GK0YIg0LIg0L/RitGC0Y8g4oCeJGRpc3BsYXlwYXRo4oCcINC1INC00L7RgdGC0LDQstC10L0sINC90L4g0L3QtSDRgdGK0LTRitGA0LbQsCDQvtCx0LXQutGC0LAg0YHRitGBINGB0YPQvNCwXG4iCiAi4oCeJHNoYTHigJwuICDQlNC40YDQtdC60YLQvdC+0YLQviDQtNC+0YHRgtCw0LLRj9C90LUg0L3QsCDRgtC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1INC1INC90LXRg9GB0L/QtdGI0L3Qvi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjYzCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICLQndC10YPRgdC/0LXRiNC90L4g0LjQt9GC0LXQs9C70Y/QvdC1INC90LAg0LLQtdGA0YHQuNGPIOKAniR7c2hhMX3igJwg0LIg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtkaXNwbGF5cGF0aH3igJwnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICLQn9GK0YIg0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtkaXNwbGF5cGF0aH3igJw6INC40LfRgtC10LPQu9C10L3QsCDQtSDQstC10YDRgdC40Y8g4oCeJHtzaGExfeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICLQndC10YPRgdC/0LXRiNC90L4g0L/RgNC10LHQsNC30LjRgNCw0L3QtSDQvdCwINCy0LXRgNGB0LjRjyDigJ4ke3NoYTF94oCcINCyINC/0YrRgtGPINC60YrQvCDQv9C+0LTQvNC+0LTRg9C7ICIKICLigJ4ke2Rpc3BsYXlwYXRofeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgItCf0YrRgiDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnDog0L/RgNC10LHQsNC30LjRgNCw0L3QtSDQstGK0YDRhdGDINCy0LXRgNGB0LjRjyDigJ4ke3NoYTF94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAi0J3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1INC90LAg0LLQtdGA0YHQuNGPIOKAniR7c2hhMX3igJwg0LIg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtkaXNwbGF5cGF0aH3igJwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njc1CisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICLQn9GK0YIg0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtkaXNwbGF5cGF0aH3igJw6INGB0LvQuNCy0LDQvdC1INGBINCy0LXRgNGB0LjRjyDigJ4ke3NoYTF94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogItCd0LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60L7QvNCw0L3QtNCw0YLQsCDigJ4ke2NvbW1hbmR9ICR7c2hhMX3igJwg0LIg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0LsgIgogIuKAniR7ZGlzcGxheXBhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICLQn9GK0YIg0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtkaXNwbGF5cGF0aH3igJw6IOKAniR7Y29tbWFuZH0gJHtzaGExfeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAi0J3QtdGD0YHQv9C10YjQvdCwINC+0LHRgNCw0LHQvtGC0LrQsCDQvdCwINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNC40YLQtSDQsiDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODQxCiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1jYWNoZWTigJwg0Lgg4oCeLS1maWxlc+KAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODkzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDRgNC10LbQuNC8IOKAniR7bW9kX2RzdH3igJwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIiCiAiICDQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDigJ4ke2Rpc3BsYXlfbmFtZX3igJwg0L3QtSDRgdGK0LTRitGA0LbQsCDQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4ke3NoYTFfc3JjfeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKICIgINCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6IOKAniR7ZGlzcGxheV9uYW1lfeKAnCDQvdC1INGB0YrQtNGK0YDQttCwINC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniR7c2hhMV9kc3R94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogIiAg0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog4oCeJHtkaXNwbGF5X25hbWV94oCcINC90LUg0YHRitC00YrRgNC20LAg0L3QuNC60L7QtSDQvtGCINC/0L7QtNCw0LLQsNC90LjRj9GC0LAgIgogIuKAniR7c2hhMV9zcmN94oCcINC4IOKAniR7c2hhMV9kc3R94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNDUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICIiCiAi0J3QtdGD0YHQv9C10YjQvdCwINC+0LHRgNCw0LHQvtGC0LrQsCDQvdCwINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNC40YLQtSDQsiDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke3NtX3BhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0KHQuNC90YXRgNC+0L3QuNC30LjRgNCw0L3QtSDQvdCwINCw0LTRgNC10YHQsCDQt9CwINC/0YrRgtGPINC60YrQvCDQv9C+0LTQvNC+0LTRg9C7IOKAniR7ZGlzcGxheXBhdGh94oCcIgpAQCAtMTQ2MzgsMTEgKzE1NDg2LDExIEBACiBtc2dzdHIgIiIKICLQnNC+0LbQtSDQtNCwINC/0YDQvtC80LXQvdC40YLQtSDQv9C+0LTQsNCy0LDQvdC10YLQviDRgSDQutC+0LzQsNC90LTQsNGC0LA6XG4iCiAiXG4iCi0iICAgICAgICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCiAiXG4iCiAi0KHQu9C10LQg0LrQsNGC0L4g0L/RgNC40LLRitGA0YjQuNGC0LUsINC/0YDQvtC00YrQu9C20LXRgtC1INGBINC60L7QvNCw0L3QtNCw0YLQsDpcbiIKICJcbiIKLSIgICAgICAgIGdpdCByZWJhc2UgLS1jb250aW51ZSIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogCiAjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMzYKICMsIHNoLWZvcm1hdApAQCAtMTQ2NjIsMTIgKzE1NTEwLDEyIEBACiAjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKLW1zZ3N0ciAi0KLRgNC40LLQuNCw0LvQvdC+INGB0LvQuNCy0LDQvdC1INC00L4g4oCeJHNoYTHigJwiCittc2dzdHIgItCf0YDQtdCy0YrRgNGC0LDQvdC1INC00L4g4oCeJHNoYTHigJwiCiAKICM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKLW1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHQu9C10LUg0YLRgNC40LLQuNCw0LvQvdC+INC00L4g4oCeJHNoYTHigJwiCittc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQtdCy0YrRgNGC0Lgg0LTQviDigJ4kc2hhMeKAnCIKIAogIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzgwCiAjLCBzaC1mb3JtYXQKQEAgLTE0Njg0LDcgKzE1NTMyLDYgQEAKIG1zZ2lkICJFcnJvciByZWRvaW5nIG1lcmdlICRzaGExIgogbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC/0L7QstGC0LDRgNGP0L3QtdGC0L4g0L3QsCDRgdC70LjQstCw0L3QtdGC0L4g0L3QsCDigJ4kc2hhMeKAnCIKIAotIyBGSVhNRSBDb3VsZCBub3Qgb3BlbiAlcy4gLSBmdWxsIHN0b3AgZm9yIGNvbnNpc3RlbmNlIHdpdGggbmV4dCBtZXNzYWdlCiAjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgpAQCAtMTQ3MDcsMjYgKzE1NTU0LDIyIEBACiBtc2dzdHJbMF0gItCi0L7QstCwINC1INC+0LHQtdC00LjQvdC10L3QuNC1INC+0YIgJGNvdW50INC/0L7QtNCw0LLQsNC90LUuIgogbXNnc3RyWzFdICLQotC+0LLQsCDQtSDQvtCx0LXQtNC40L3QtdC90LjQtSDQvtGCICRjb3VudCDQv9C+0LTQsNCy0LDQvdC40Y8uIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHdyaXRlICRmaXh1cF9tc2ciCiBtc2dzdHIgItCd0L7QstC+0YLQviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUg4oCeJGZpeHVwX21zZ+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L3QviIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQzCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIKIG1zZ3N0ciAi0KLQvtCy0LAg0LUg0L7QsdC10LTQuNC90LXQvdC40LUg0L7RgiAyINC/0L7QtNCw0LLQsNC90LjRjyIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ0Ci1tc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKLW1zZ3N0ciAi0KLQvtCy0LAg0LUgMS3RgtC+INGB0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtToiCi0KLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ4NCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MjcKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjUzMAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDg1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjUyOAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTMxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJHNoYTEuLi4gJHJlc3QiCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7QtNCw0LTQtSAkc2hhMeKApiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTU4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCkBAIC0xNDc0MiwzMSArMTU1ODUsMzEgQEAKICLQutC+0YDQuNCz0LjRgNCw0YLQtSxcbiIKICLQv9GA0LXQtNC4INC00LAg0LzQvtC20LXRgtC1INC00LAg0L/RgNC+0LzQtdC90LjRgtC1INC/0L7QtNCw0LLQsNC90LXRgtC+LiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTczCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJHNoYTFfYWJicmV2Li4uICRyZXN0IgogbXNnc3RyICLQodC/0LjRgNCw0L3QtSDQv9GA0Lgg4oCeJHNoYTFfYWJicmV24oCm4oCcICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1ODgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLQkdC10Lcg0L/RgNC10LTQuNGI0L3QviDQv9C+0LTQsNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9GK0LvQvdC4IOKAniRzcXVhc2hfc3R5bGXigJwiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYzMAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpbmc6ICRyZXN0IgogbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDRgdC1INC40LfQv9GK0LvQvdGP0LLQsDogJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYzOAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjM5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gZmFpbGVkOiAkcmVzdCIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1OiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjQwCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDEKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0Lgg0L/RgNC+0LzQtdC90Lgg0LjQvdC00LXQutGB0LAg0Lgv0LjQu9C4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY0MwogbXNnaWQgIiIKICJZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCiAiXG4iCkBAIC0xNDc3Nyw3ICsxNTYyMCw3IEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAogIy4gVFJBTlNMQVRPUlM6IGFmdGVyIHRoZXNlIGxpbmVzIGlzIGEgY29tbWFuZCB0byBiZSBpc3N1ZWQgYnkgdGhlIHVzZXIKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY1NQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKQEAgLTE0NzkwLDI3ICsxNTYzMywyNyBAQAogItCe0YHRgtCw0LLQsNGCINC+0YnQtSDQv9GA0L7QvNC10L3QuCDQsiDQuNC90LTQtdC60YHQsCDQuNC70Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4uXG4iCiAi0KLRgNGP0LHQstCwINC00LAg0LPQuCDQv9C+0LTQsNC00LXRgtC1INC40LvQuCDRgdC60LDRgtCw0LXRgtC1INC4INGB0LvQtdC0INGC0L7QstCwINC40LfQv9GK0LvQvdC10YLQtTpcbiIKICJcbiIKLSJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NjYKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21tYW5kOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKIG1zZ3N0ciAi0J3QtdC/0L7Qt9C90LDRgtCwINC60L7QvNCw0L3QtNCwOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjY3CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NjgKIG1zZ2lkICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAi0JrQvtGA0LjQs9C40YDQsNC50YLQtSDRgtC+0LLQsCDRh9GA0LXQtyDigJ5naXQgcmViYXNlIC0tZWRpdC10b2Rv4oCcLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzAyCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo3MDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkICRoZWFkX25hbWUuIgogbXNnc3RyICLQo9GB0L/QtdGI0L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INC4INC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg4oCeJGhlYWRfbmFtZeKAnC4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjc0OQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzUwCiBtc2dpZCAiQ291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKIG1zZ3N0ciAi0JjQt9C70LjRiNC90LjRgtC1INC60L7QvNCw0L3QtNC4INC00LAg0L7RgtCx0LjRgNCw0L3QtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC/0YDQtdGB0LrQvtGH0LXQvdC4IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5MDcKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjkwOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHRoZSBTSEEtMSBpcyBtaXNzaW5nIG9yIGlzbid0IGEgY29tbWl0IGluIHRoZSBmb2xsb3dpbmcgbGluZTpcbiIKQEAgLTE0ODIwLDcgKzE1NjYzLDcgQEAKICIgLSAkbGluZVxuIgogIiDQu9C40L/RgdCy0LAg0LjQu9C4INC90LUg0LUg0L/RgNC10LTRgdGC0LDQstC70Y/QstCwINC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjk0MAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTQxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCkBAIC0xNDgyOSwxMSArMTU2NzIsMTEgQEAKICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQvdC10L/QvtC30L3QsNGC0LAg0LrQvtC80LDQvdC00LAg0L3QsCDRgNC10LQ6XG4iCiAiIC0gJGxpbmUiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjk3OQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTgwCiBtc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQtNC10LvQuCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAxNworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAxOAogbXNnaWQgIiIKICJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKICJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToiCkBAIC0xNDg0Miw3ICsxNTY4NSw3IEBACiAiXG4iCiAi0J/RgNC+0L/Rg9GB0L3QsNGC0Lgg0L/QvtC00LDQstCw0L3QuNGPICjQvdC+0LLQuNGC0LUg0YHQsCDQvdCw0Lkt0L7RgtCz0L7RgNC1KToiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMjUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMjYKIG1zZ2lkICIiCiAiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCiAiXG4iCkBAIC0xNDg1Nyw3ICsxNTcwMCw3IEBACiAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSlcbiIKICLQuNC70Lgg4oCeZXJyb3LigJwgKNGB0YfQuNGC0LDQvdC1INC30LAg0LPRgNC10YjQutCwKS4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMzYKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJVbnJlY29nbml6ZWQgc2V0dGluZyAkY2hlY2tfbGV2ZWwgZm9yIG9wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gIgpAQCAtMTQ4NjcsNyArMTU3MTAsNyBAQAogIm1pc3NpbmdDb21taXRzQ2hlY2vigJwuXG4iCiAi0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDRgdC1INC/0YDQtdGB0LrQsNGH0LAuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDUzCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDU0CiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlJy4iCkBAIC0xNDg3NSwxNiArMTU3MTgsMTYgQEAKICLQnNC+0LbQtdGC0LUg0LTQsCDQv9GA0L7QvNC10L3QuNGC0LUg0YLQvtCy0LAg0YEg0LrQvtC80LDQvdC00LjRgtC1IOKAnmdpdCByZWJhc2UgLS1lZGl0LXRvZG/igJwg0Lgg4oCeZ2l0IHJlYmFzZSAiCiAiLS1jb250aW51ZeKAnCDRgdC70LXQtCDRgtC+0LLQsC4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTQKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTUKIG1zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCiBtc2dzdHIgIiIKICLQnNC+0LbQtSDQuCDQtNCwINC/0YDQtdGD0YHRgtCw0L3QvtCy0LjRgtC1INC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+INGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgcmViYXNlIC0tYWJvcnTigJwuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDc4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDgzCiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5DSEVSUllfUElDS19IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0OTE0LDExICsxNTc1NywxMSBAQAogIlxuIgogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwMAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQogbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGCINCw0LLRgtC+0YAg0LfQsCDQv9C+0L/RgNCw0LLRj9C90LXRgtC+INC90LAg0L/QvtC00LDQstCw0L3QtdGC0L4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTAKIG1zZ2lkICIiCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKQEAgLTE0OTI2LDExICsxNTc2OSwxMSBAQAogItCSINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC40LzQsCDQvdC10L/QvtC00LDQtNC10L3QuCDQv9GA0L7QvNC10L3QuC4gINCf0YrRgNCy0L4g0LPQuCDQv9C+0LTQsNC50YLQtSwg0LAg0YHQu9C10LQg0YLQvtCy0LBcbiIKICLQvtGC0L3QvtCy0L4g0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCByZWJhc2UgLS1jb250aW51ZeKAnC4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTAgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE5CiBtc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgItCf0YDQvtC80LXQvdC40YLQtSDQsiDQuNC90LTQtdC60YHQsCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC/0L7QtNCw0LTQtdC90LguIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTM4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3CiBtc2dpZCAiIgogIlxuIgogIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgpAQCAtMTQ5NDQsMzMgKzE1Nzg3LDMzIEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ2IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDQKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMxMwogbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKIG1zZ3N0ciAi0KLQtdC60YHRgtC+0LLQuNGP0YIg0YDQtdC00LDQutGC0L7RgCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRgtCw0YDRgtC40YDQsNC9IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTU5CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKIG1zZ3N0ciAi4oCeJHN3aXRjaF90b+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30YLQtdCz0LvQuCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3MwogbXNnaWQgIk5vIEhFQUQ/IgogbXNnc3RyICLQm9C40L/RgdCy0LAg0YPQutCw0LfQsNGC0LXQuyDigJ5IRUFE4oCcIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICLQktGA0LXQvNC10L3QvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDigJ4kc3RhdGVfZGly4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjcKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzYKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAi0J/RgNC10LHQsNC30LjRgNCw0L3QtdGC0L4g0L3QtSDQtSDQuNC90YLQtdGA0LDQutGC0LjQstC90L4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzcgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4MgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4NiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTkxCiBtc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCiBtc2dzdHIgItCh0L/QuNGB0YrQutGK0YIg0YEg0L/RgNC10LfQsNC/0LjRgdCw0L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC9IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjgyCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKIG1zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgpAQCAtMTQ5NzksNyArMTU4MjIsNyBAQAogbXNnc3RyWzFdICIiCiAi0J/RgNC10LHQsNC30LjRgNCw0L3QtSDQvdCwICRzaG9ydHJldmlzaW9ucyDQstGK0YDRhdGDICRzaG9ydG9udG8gKCR0b2RvY291bnQg0LrQvtC80LDQvdC00LgpIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg3CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk2CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCkBAIC0xNDk4OSw3ICsxNTgzMiw3IEBACiAi0JDQutC+INC40LfRgtGA0LjQtdGC0LUg0LLRgdC40YfQutC+LCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC10YLQviDRidC1INCx0YrQtNC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0LXQvdC+LlxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk0CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzAzCiBtc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCiBtc2dzdHIgItCf0YDQsNC30L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPINGB0LAg0LrQvtC80LXQvdGC0LjRgNCw0L3QuCIKIApAQCAtMTUwNTksMyArMTU5MDIsOTEyIEBACiAjOiBnaXQtc2gtc2V0dXAuc2g6Mzc3CiBtc2dpZCAiVW5hYmxlIHRvIGRldGVybWluZSBhYnNvbHV0ZSBwYXRoIG9mIGdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgItCQ0LHRgdC+0LvRjtGC0L3QuNGP0YIg0L/RitGCINC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7Qv9GA0LXQtNC10LvQuCIKKworIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NgorIywgcGVybC1mb3JtYXQKK21zZ2lkICIlMTJzICUxMnMgJXMiCittc2dzdHIgIiUxNHMgJTE0cyAlcyIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKK21zZ2lkICJzdGFnZWQiCittc2dzdHIgItCyINC40L3QtNC10LrRgdCwIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NworbXNnaWQgInVuc3RhZ2VkIgorbXNnc3RyICLQuNC30LLRitC9INC40L3QtNC10LrRgdCwIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI0NiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3MQorbXNnaWQgImJpbmFyeSIKK21zZ3N0ciAi0LTQstC+0LjRh9C90L4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjU1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA5Cittc2dpZCAibm90aGluZyIKK21zZ3N0ciAi0L3QuNGJ0L4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjkxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA2Cittc2dpZCAidW5jaGFuZ2VkIgorbXNnc3RyICLQvdGP0LzQsCDQv9GA0L7QvNC10L3QuCIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiYWRkZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJhZGRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICIlZCDRhNCw0LnQuyDQtNC+0LHQsNCy0LXQvVxuIgorbXNnc3RyWzFdICIlZCDRhNCw0LnQu9CwINC00L7QsdCw0LLQtdC90LhcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAidXBkYXRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInVwZGF0ZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiJWQg0YTQsNC50Lsg0L7QsdC90L7QstC10L1cbiIKK21zZ3N0clsxXSAiJWQg0YTQsNC50LvQsCDQvtCx0L3QvtCy0LXQvdC4XG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiJWQg0YTQsNC50Lsg0YEg0L7RgtC80LXQvdC10L3QuCDQv9GA0L7QvNC10L3QuFxuIgorbXNnc3RyWzFdICIlZCDRhNCw0LnQu9CwINGBINC+0YLQvNC10L3QtdC90Lgg0L/RgNC+0LzQtdC90LhcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAidG91Y2hlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInRvdWNoZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiJWQg0YTQsNC50Lsg0LfQsNGB0LXQs9C90LDRglxuIgorbXNnc3RyWzFdICIlZCDRhNCw0LnQu9CwINC30LDRgdC10LPQvdCw0YLQuFxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyMAorbXNnaWQgIlVwZGF0ZSIKK21zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMyCittc2dpZCAiUmV2ZXJ0IgorbXNnc3RyICLQntGC0LzRj9C90LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgItCR0JXQm9CV0JbQmtCQOiDigJ4lc+KAnCDQstC10YfQtSDQvdC1INGB0LUg0YHQu9C10LTQuC5cbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjYKK21zZ2lkICJBZGQgdW50cmFja2VkIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0L3QtdGB0LvQtdC00LXQvdC4IgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MgorbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKK21zZ3N0ciAi0J3Rj9C80LAg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1LlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk4NQorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3Igc3RhZ2luZy4iCittc2dzdHIgIiIKKyLQkNC60L4g0LrRgNGK0L/QutCw0YLQsCDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC40LvQvtC20Lgg0YfQuNGB0YLQviwg0YDQtdC00LDQutGC0LjRgNCw0L3QvtGC0L4g0L/QsNGA0YfQtSDRidC1INCx0YrQtNC1ICIKKyLQvdC10LfQsNCx0LDQstC90L5cbiIKKyLQtNC+0LHQsNCy0LXQvdC+INC60YrQvCDQuNC90LTQtdC60YHQsCIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5ODgKK21zZ2lkICIiCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyJtYXJrZWQgZm9yIHN0YXNoaW5nLiIKK21zZ3N0ciAiIgorItCQ0LrQviDQutGA0YrQv9C60LDRgtCwINC80L7QttC1INC00LAg0YHQtSDQv9GA0LjQu9C+0LbQuCDRh9C40YHRgtC+LCDRgNC10LTQsNC60YLQuNGA0LDQvdC+0YLQviDQv9Cw0YDRh9C1INGJ0LUg0LHRitC00LUgIgorItC90LXQt9Cw0LHQsNCy0L3QvlxuIgorItGB0LrRitGC0LDQvdC+IgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5MQorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3IgdW5zdGFnaW5nLiIKK21zZ3N0ciAiIgorItCQ0LrQviDQutGA0YrQv9C60LDRgtCwINC80L7QttC1INC00LAg0YHQtSDQv9GA0LjQu9C+0LbQuCDRh9C40YHRgtC+LCDRgNC10LTQsNC60YLQuNGA0LDQvdC+0YLQviDQv9Cw0YDRh9C1INGJ0LUg0LHRitC00LUgIgorItC90LXQt9Cw0LHQsNCy0L3QvlxuIgorItC40LfQstCw0LTQtdC90L4g0L7RgiDQuNC90LTQtdC60YHQsC4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTk0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAwMworbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3IgYXBwbHlpbmcuIgorbXNnc3RyICIiCisi0JDQutC+INC60YDRitC/0LrQsNGC0LAg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNC70L7QttC4INGH0LjRgdGC0L4sINGA0LXQtNCw0LrRgtC40YDQsNC90L7RgtC+INC/0LDRgNGH0LUg0YnQtSDQsdGK0LTQtSAiCisi0L3QtdC30LDQsdCw0LLQvdC+XG4iCisi0L3QsNCx0LXQu9GP0LfQsNC90L4g0LfQsCDQv9GA0LjQu9Cw0LPQsNC90LUuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMDAKK21zZ2lkICIiCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyJtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIgorbXNnc3RyICIiCisi0JDQutC+INC60YDRitC/0LrQsNGC0LAg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNC70L7QttC4INGH0LjRgdGC0L4sINGA0LXQtNCw0LrRgtC40YDQsNC90L7RgtC+INC/0LDRgNGH0LUg0YnQtSDQsdGK0LTQtSAiCisi0L3QtdC30LDQsdCw0LLQvdC+XG4iCisi0L3QsNCx0LXQu9GP0LfQsNC90L4g0LfQsCDQt9Cw0L3Rg9C70Y/QstCw0L3QtS4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAxMworIywgcGVybC1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3Igd3JpdGluZzogJXMiCittc2dzdHIgItGE0LDQudC70YrRgiDQt9CwINGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQv9Cw0YDRh9C10YLQviDQutC+0LQg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9OiDigJ4lc+KAnCIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDE0Cittc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCittc2dzdHIgItCg0YrRh9C90L4g0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtCwINC60L7QtCDigJQg0L7RgtC00L7Qu9GDINC40LzQsCDQv9C+0LTRgdC60LDQt9C60LAuXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiLS0tXG4iCisiVG8gcmVtb3ZlICclcycgbGluZXMsIG1ha2UgdGhlbSAnICcgbGluZXMgKGNvbnRleHQpLlxuIgorIlRvIHJlbW92ZSAnJXMnIGxpbmVzLCBkZWxldGUgdGhlbS5cbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICVzIHdpbGwgYmUgcmVtb3ZlZC5cbiIKK21zZ3N0ciAiIgorIuKAlOKAlOKAlFxuIgorItCX0LAg0LTQsCDQv9GA0L7Qv9GD0YHQvdC10YLQtSDRgNC10LTQvtCy0LXRgtC1INC30LDQv9C+0YfQstCw0YnQuCDRgSDigJ4lc+KAnCDigJQg0LfQsNC80LXQvdC10YLQtSDQt9C90LDQutCwINGB0YrRgSDigJ4g4oCcICjRgdGC0LDQstCw0YIgIgorItC60L7QvdGC0LXQutGB0YIpXG4iCisi0JfQsCDQtNCwINC/0YDQvtC/0YPRgdC90LXRgtC1INGA0LXQtNC+0LLQtdGC0LUg0LfQsNC/0L7Rh9Cy0LDRidC4INGBIOKAniVz4oCcIOKAlCDQuNC30YLRgNC40LnRgtC1INCz0LguXG4iCisi0KDQtdC00L7QstC10YLQtSwg0LrQvtC40YLQviDQt9Cw0L/QvtGH0LLQsNGCINGBIOKAniVz4oCcINGJ0LUg0LHRitC00LDRgiDQv9GA0L7Qv9GD0YHQvdCw0YLQuC5cbiIKKworIy4gVFJBTlNMQVRPUlM6ICdpdCcgcmVmZXJzIHRvIHRoZSBwYXRjaCBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzIG1lc3NhZ2VzLgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDI4Cittc2dpZCAiIgorIklmIGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHksIHlvdSB3aWxsIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCisiZWRpdCBhZ2Fpbi4gIElmIGFsbCBsaW5lcyBvZiB0aGUgaHVuayBhcmUgcmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgorImFib3J0ZWQgYW5kIHRoZSBodW5rIGlzIGxlZnQgdW5jaGFuZ2VkLlxuIgorbXNnc3RyICIiCisi0JDQutC+INC1INC90LXQstGK0LfQvNC+0LbQvdC+INGH0LjRgdGC0L4g0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0LrQvtC00LAsINGJ0LUg0LzQvtC20LUg0L/QsNC6INC00LAg0YDQtdC00LDQutGC0LjRgNCw0YLQtS4gINCQ0LrQvlxuIgorItC40LfRgtGA0LjQtdGC0LUg0LLRgdC40YfQutC4INGA0LXQtNC+0LLQtSDQvtGCINC/0LDRgNGH0LXRgtC+INC60L7QtCwg0YLQviDRidC1INCx0YrQtNC1INC+0YHRgtCw0LLQtdC90L4g0L3QtdC/0YDQvtC80LXQvdC10L3Qviwg0LBcbiIKKyLRgNC10LTQsNC60YLQuNGA0LDQvdC10YLQviDigJQg0L7RgtC60LDQt9Cw0L3Qvi5cbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciByZWFkaW5nOiAlcyIKK21zZ3N0ciAiIgorItGE0LDQudC70YrRgiDQt9CwINGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQv9Cw0YDRh9C10YLQviDQutC+0LQg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9INC30LAg0YfQtdGC0LXQvdC1OiDigJ4lc+KAnCIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMzQKK21zZ2lkICIiCisiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCittc2dzdHIgIiIKKyLQoNC10LTQsNC60YLQuNGA0LDQvdC+0YLQviDQv9Cw0YDRh9C1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNC70L7QttC4LiDQlNCwINGB0LUg0L/RgNC+0LTRitC70LbQuCDQu9C4INGBICIKKyLRgNC10LTQsNC60YLQuNGA0LDQvdC10YLQvj8gKNGC0LXQutGD0YnQuNGC0LUg0YDQtdC00LDQutGG0LjQuCDRidC1INGB0LUg0L7RgtC80LXQvdGP0YIg0L/RgNC4INC+0YLQutCw0LchKTog4oCeeeKAnCAo0LTQsCkvICIKKyLigJ5u4oCcICjQvdC1KT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNDMKK21zZ2lkICIiCisieSAtIHN0YWdlIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBzdGFnZSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IOKAlCDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0LIg0LjQvdC00LXQutGB0LBcbiIKKyJuIOKAlCDQsdC10Lcg0LTQvtCx0LDQstGP0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INCyINC40L3QtNC10LrRgdCwXG4iCisicSDigJQg0LjQt9GF0L7QtCwg0LHQtdC3INC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0L7RgdGC0LDQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LBcbiIKKyJhIOKAlCDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINCyINC40L3QtNC10LrRgdCwXG4iCisiZCDigJQg0LHQtdC3INC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0LIg0LjQvdC00LXQutGB0LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0OQorbXNnaWQgIiIKKyJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YXNoIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YXNoIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkg4oCUINGB0LrQsNGC0LDQstCw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+XG4iCisibiDigJQg0LHQtdC3INGB0LrQsNGC0LDQstCw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+XG4iCisicSDigJQg0LjQt9GF0L7QtCwg0LHQtdC3INGB0LrQsNGC0LDQstCw0L3QtSDQvdCwINGC0L7QstCwINC4INCy0YHQuNGH0LrQuCDQvtGB0YLQsNCy0LDRidC4INC/0LDRgNGH0LXRgtCwXG4iCisiYSDigJQg0YHQutCw0YLQsNCy0LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwXG4iCisiZCDigJQg0LHQtdC3INGB0LrQsNGC0LDQstCw0L3QtSDQvdCwINGC0L7QstCwINC4INCy0YHQuNGH0LrQuCDRgdC70LXQtNCy0LDRidC4INC/0LDRgNGH0LXRgtCwINC+0YIg0YTQsNC50LvQsCIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTU1Cittc2dpZCAiIgorInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gdW5zdGFnZSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkg4oCUINC40LfQstCw0LbQtNCw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC+0YIg0LjQvdC00LXQutGB0LBcbiIKKyJuIOKAlCDQsdC10Lcg0LjQt9Cy0LDQttC00LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0L7RgiDQuNC90LTQtdC60YHQsFxuIgorInEg4oCUINC40LfRhdC+0LQsINCx0LXQtyDQuNC30LLQsNC20LTQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0L7RgdGC0LDQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINC40L3QtNC10LrRgdCwXG4iCisiYSDigJQg0LjQt9Cy0LDQttC00LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINC+0YIg0LjQvdC00LXQutGB0LBcbiIKKyJkIOKAlCDQsdC10Lcg0LjQt9Cy0LDQttC00LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINC+0YIg0LjQvdC00LXQutGB0LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE2MQorbXNnaWQgIiIKKyJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCisibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkg4oCUINC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC60YrQvCDQuNC90LTQtdC60YHQsFxuIgorIm4g4oCUINCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQv9Cw0YDRh9C10YLQviDQutGK0Lwg0LjQvdC00LXQutGB0LBcbiIKKyJxIOKAlCDQuNC30YXQvtC0LCDQsdC10Lcg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INC+0YHRgtCw0LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0LrRitC8INC40L3QtNC10LrRgdCwXG4iCisiYSDigJQg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINC60YrQvCDQuNC90LTQtdC60YHQsFxuIgorImQg4oCUINCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0LrRitC8INC40L3QtNC10LrRgdCwIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNjcKK21zZ2lkICIiCisieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gZGlzY2FyZCB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkg4oCUINC/0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0L7RgiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQvlxuIgorIm4g4oCUINCx0LXQtyDQv9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC+0YIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L5cbiIKKyJxIOKAlCDQuNC30YXQvtC0LCDQsdC10Lcg0L/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0L7RgdGC0LDQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGA0LDQsdC+0YLQvdC+0YLQviAiCisi0LTRitGA0LLQvlxuIgorImEg4oCUINC/0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINC+0YIg0YDQsNCx0L7RgtC90L7RgtC+ICIKKyLQtNGK0YDQstC+XG4iCisiZCDigJQg0LHQtdC3INC/0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINC+0YIg0YDQsNCx0L7RgtC90L7RgtC+ICIKKyLQtNGK0YDQstC+IgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNzMKK21zZ2lkICIiCisieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCisibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBkaXNjYXJkIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSDigJQg0L/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQv9Cw0YDRh9C10YLQviDQvtGCINC40L3QtNC10LrRgdCwINC4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+XG4iCisibiDigJQg0LHQtdC3INC/0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0L7RgiDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQvlxuIgorInEg4oCUINC40LfRhdC+0LQsINCx0LXQtyDQv9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINGC0L7QstCwINC4INCy0YHQuNGH0LrQuCDQvtGB0YLQsNCy0LDRidC4INC/0LDRgNGH0LXRgtCwINC+0YIg0LjQvdC00LXQutGB0LAg0LggIgorItGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+XG4iCisiYSDigJQg0L/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0L7RgiDQuNC90LTQtdC60YHQsCDQuCAiCisi0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L5cbiIKKyJkIOKAlCDQsdC10Lcg0L/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0L7RgiDQuNC90LTQtdC60YHQsCDQuCAiCisi0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3OQorbXNnaWQgIiIKKyJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSDigJQg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0L7RgiDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQvlxuIgorIm4g4oCUINCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQv9Cw0YDRh9C10YLQviDQvtGCINC40L3QtNC10LrRgdCwINC4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+XG4iCisicSDigJQg0LjQt9GF0L7QtCwg0LHQtdC3INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINGC0L7QstCwINC4INCy0YHQuNGH0LrQuCDQvtGB0YLQsNCy0LDRidC4INC/0LDRgNGH0LXRgtCwINC+0YIg0LjQvdC00LXQutGB0LAg0LggIgorItGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+XG4iCisiYSDigJQg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINC+0YIg0LjQvdC00LXQutGB0LAg0LggIgorItGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+XG4iCisiZCDigJQg0LHQtdC3INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINGC0L7QstCwINC4INCy0YHQuNGH0LrQuCDRgdC70LXQtNCy0LDRidC4INC/0LDRgNGH0LXRgtCwINC+0YIg0YTQsNC50LvQsCDQvtGCINC40L3QtNC10LrRgdCwINC4ICIKKyLRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTg4Cittc2dpZCAiIgorImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCisiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgorImogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCB1bmRlY2lkZWQgaHVua1xuIgorIkogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCBodW5rXG4iCisiayAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyB1bmRlY2lkZWQgaHVua1xuIgorIksgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgaHVua1xuIgorInMgLSBzcGxpdCB0aGUgY3VycmVudCBodW5rIGludG8gc21hbGxlciBodW5rc1xuIgorImUgLSBtYW51YWxseSBlZGl0IHRoZSBjdXJyZW50IGh1bmtcbiIKKyI/IC0gcHJpbnQgaGVscFxuIgorbXNnc3RyICIiCisiZyDigJQg0LjQt9Cx0L7RgCDQutGK0Lwg0LrQvtC1INC/0LDRgNGH0LUg0LTQsCDRgdC1INC/0YDQtdC80LjQvdC1XG4iCisiLyDigJQg0YLRitGA0YHQtdC90LUg0L3QsCDQv9Cw0YDRh9C1LCDQvdCw0L/QsNGB0LLQsNGJ0L4g0LrRitC8INC00LDQtNC10L0g0YDQtdCz0YPQu9GP0YDQtdC9INC40LfRgNCw0LdcbiIKKyJqIOKAlCDQsdC10Lcg0YDQtdGI0LXQvdC40LUg0LfQsCDQv9Cw0YDRh9C10YLQviwg0LrRitC8INGB0LvQtdC00LLQsNGJ0L7RgtC+INC/0LDRgNGH0LUg0LHQtdC3INGA0LXRiNC10L3QuNC1XG4iCisiSiDigJQg0LHQtdC3INGA0LXRiNC10L3QuNC1INC30LAg0L/QsNGA0YfQtdGC0L4sINC60YrQvCDRgdC70LXQtNCy0LDRidC+0YLQviDQv9Cw0YDRh9C1XG4iCisiayDigJQg0LHQtdC3INGA0LXRiNC10L3QuNC1INC30LAg0L/QsNGA0YfQtdGC0L4sINC60YrQvCDQv9GA0LXQtNC40YjQvdC+0YLQviDQv9Cw0YDRh9C1INCx0LXQtyDRgNC10YjQtdC90LjQtVxuIgorIksg4oCUINCx0LXQtyDRgNC10YjQtdC90LjQtSDQt9CwINC/0LDRgNGH0LXRgtC+LCDQutGK0Lwg0L/RgNC10LTQuNGI0L3QvtGC0L4g0L/QsNGA0YfQtVxuIgorInMg4oCUINGA0LDQt9C00LXQu9GP0L3QtSDQvdCwINGC0LXQutGD0YnQvtGC0L4g0L/QsNGA0YfQtSDQvdCwINC/0L4t0LzQsNC70LrQuFxuIgorImUg4oCUINGA0YrRh9C90L4g0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINGC0LXQutGD0YnQvtGC0L4g0L/QsNGA0YfQtVxuIgorIj8g4oCUINC40LfQstC10LbQtNCw0L3QtSDQvdC1INC/0L7QvNC+0YnRgtCwXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxOQorbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgorbXNnc3RyICLQmNC30LHRgNCw0L3QuNGC0LUg0L/QsNGA0YfQtdGC0LAg0L3QtSDQvNC+0LPQsNGCINC00LAg0YHQtSDQtNC+0LHQsNCy0Y/RgiDQsiDQuNC90LTQtdC60YHQsCFcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIwCittc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCittc2dzdHIgItCU0LAg0YHQtSDQv9GA0LjQu9C+0LbQsNGCINC70Lgg0LrRitC8INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+PyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMworbXNnaWQgIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iCittc2dzdHIgItCd0LjRidC+INC90LUg0LUg0L/RgNC40LvQvtC20LXQvdC+LlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCittc2dzdHIgItC/0YDQtdC90LXQsdGA0LXQs9Cy0LDQvdC1INC90LAg0L3QtdGB0LvRj9GC0L7RgtC+OiDigJ4lc+KAnFxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDMKK21zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgorbXNnc3RyICLQodCw0LzQviDQtNCy0L7QuNGH0L3QuCDRhNCw0LnQu9C+0LLQtSDRgdCwINC/0YDQvtC80LXQvdC10L3QuC5cbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQ1Cittc2dpZCAiTm8gY2hhbmdlcy5cbiIKK21zZ3N0ciAi0J3Rj9C80LAg0L/RgNC+0LzQtdC90LguXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1MworbXNnaWQgIlBhdGNoIHVwZGF0ZSIKK21zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQutGA0YrQv9C60LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0L/RgNC+0LzRj9C90LDRgtCwINC90LAg0L/RgNCw0LLQsNGC0LAg0LfQsCDQtNC+0YHRgtGK0L8gW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDQuNC30YLRgNC40LLQsNC90LXRgtC+IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNworIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINGC0L7QstCwINC/0LDRgNGH0LUgW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzEwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgItCh0LrQsNGC0LDQstCw0L3QtSDQvdCwINC/0YDQvtC80Y/QvdCw0YLQsCDQvdCwINC/0YDQsNCy0LDRgtCwINC30LAg0LTQvtGB0YLRitC/IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFzaCBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQodC60LDRgtCw0LLQsNC90LUg0L3QsCDQuNC30YLRgNC40LLQsNC90LXRgtC+IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0KHQutCw0YLQsNCy0LDQvdC1INC90LAg0YLQvtCy0LAg0L/QsNGA0YfQtSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L3QsCDQv9GA0L7QvNGP0L3QsNGC0LAg0L3QsCDQv9GA0LDQstCw0YLQsCDQt9CwINC00L7RgdGC0YrQvyBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L3QsCDQuNC30YLRgNC40LLQsNC90LXRgtC+IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNworIywgcGVybC1mb3JtYXQKK21zZ2lkICJVbnN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L3QsCDRgtC+0LLQsCDQv9Cw0YDRh9C1IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICIiCisi0J/RgNC40LvQsNCz0LDQvdC1INC90LAg0L/RgNC+0LzRj9C90LDRgtCwINC90LAg0L/RgNCw0LLQsNGC0LAg0LfQsCDQtNC+0YHRgtGK0L8g0LrRitC8INC40L3QtNC10LrRgdCwIFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQn9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQuNC30YLRgNC40LLQsNC90LXRgtC+INC60YrQvCDQuNC90LTQtdC60YHQsCBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINGC0L7QstCwINC/0LDRgNGH0LUg0LrRitC8INC40L3QtNC10LrRgdCwIFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAiIgorItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0L/RgNC+0LzRj9C90LDRgtCwINCyINC/0YDQsNCy0LDRgtCwINC30LAg0LTQvtGB0YLRitC/INC+0YIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gW3ksbixxLGEsZCwvIgorIiVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEaXNjYXJkIGRlbGV0aW9uIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0J/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQuNC30YLRgNC40LLQsNC90LXRgtC+INC+0YIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0J/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQv9Cw0YDRh9C10YLQviDQvtGCINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgIiIKKyLQn9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINC/0YDQvtC80Y/QvdCw0YLQsCDQsiDQv9GA0LDQstCw0YLQsCDQt9CwINC00L7RgdGC0YrQvyDQvtGCINC40L3QtNC10LrRgdCwINC4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IFt5LCIKKyJuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICIiCisi0J/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQuNC30YLRgNC40LLQsNC90LXRgtC+INC+0YIg0LjQvdC00LXQutGB0LAg0Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0L7RgiDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgIiIKKyLQn9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQv9GA0L7QvNGP0L3QsNGC0LAg0LIg0L/RgNCw0LLQsNGC0LAg0LfQsCDQtNC+0YHRgtGK0L8g0L7RgiDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviBbeSxuLCIKKyJxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICIiCisi0J/RgNC40LvQsNCz0LDQvdC1INC90LAg0LjQt9GC0YDQuNCy0LDQvdC10YLQviDQvtGCINC40L3QtNC10LrRgdCwINC4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNworIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC+0YIg0LjQvdC00LXQutGB0LAg0Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCittc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCittc2dzdHIgItC60YrQvCDQutC+0LUg0L/QsNGA0YfQtSDQtNCwINGB0LUg0L/RgNC40LTQstC40LbQuCAo0LfQsCDQv9C+0LLQtdGH0LUg0LLQsNGA0LjQsNC90YLQuCDQvdCw0YLQuNGB0L3QtdGC0LUg4oCeZW50ZXLigJwpPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MgorbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKK21zZ3N0ciAi0LrRitC8INC60L7QtSDQv9Cw0YDRh9C1INC00LAg0YHQtSDQv9GA0LjQtNCy0LjQttC4PyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDQvdC+0LzQtdGAOiDigJ4lc+KAnFxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuXG4iCittc2dpZF9wbHVyYWwgIlNvcnJ5LCBvbmx5ICVkIGh1bmtzIGF2YWlsYWJsZS5cbiIKK21zZ3N0clswXSAi0JjQvNCwINGB0LDQvNC+ICVkINC/0LDRgNGH0LUuXG4iCittc2dzdHJbMV0gItCY0LzQsCDRgdCw0LzQviAlZCDQv9Cw0YDRh9C10YLQsC5cbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDgyCittc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgorbXNnc3RyICLQtNCwINGB0LUg0YLRitGA0YHQuCDRgSDRgNC10LPRg9C70Y/RgNC10L0g0LjQt9GA0LDQtz8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCittc2dzdHIgItCh0LPRgNC10YjQtdC9INGA0LXQs9GD0LvRj9GA0LXQvSDQuNC30YDQsNC3IOKAniVz4oCcOiAlc1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDUKK21zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKK21zZ3N0ciAi0J3QuNC60L7QtSDQv9Cw0YDRh9C1INC90LUg0L3QsNC/0LDRgdCy0LAg0L3QsCDRgNC10LPRg9C70Y/RgNC90LjRjyDQuNC30YDQsNC3XG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUxNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzkKK21zZ2lkICJObyBwcmV2aW91cyBodW5rXG4iCittc2dzdHIgItCd0Y/QvNCwINC00YDRg9Cz0L4g0L/QsNGA0YfQtSDQv9GA0LXQtNC4INGC0L7QstCwXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyNiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKK21zZ2lkICJObyBuZXh0IGh1bmtcbiIKK21zZ3N0ciAi0J3Rj9C80LAg0LTRgNGD0LPQviDQv9Cw0YDRh9C1INGB0LvQtdC0INGC0L7QstCwXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU1MworIywgcGVybC1mb3JtYXQKK21zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCittc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCittc2dzdHJbMF0gItCg0LDQt9C00LXQu9GP0L3QtSDQvdCwICVkINC/0LDRgNGH0LUuXG4iCittc2dzdHJbMV0gItCg0LDQt9C00LXQu9GP0L3QtSDQvdCwICVkINC/0LDRgNGH0LXRgtCwLlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MDUKK21zZ2lkICJSZXZpZXcgZGlmZiIKK21zZ3N0ciAi0J/RgNC10LPQu9C10LQg0L3QsCDRgNCw0LfQu9C40LrQsNGC0LAiCisKKyMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcworIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjI0Cittc2dpZCAiIgorInN0YXR1cyAgICAgICAgLSBzaG93IHBhdGhzIHdpdGggY2hhbmdlc1xuIgorInVwZGF0ZSAgICAgICAgLSBhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKKyJyZXZlcnQgICAgICAgIC0gcmV2ZXJ0IHN0YWdlZCBzZXQgb2YgY2hhbmdlcyBiYWNrIHRvIHRoZSBIRUFEIHZlcnNpb25cbiIKKyJwYXRjaCAgICAgICAgIC0gcGljayBodW5rcyBhbmQgdXBkYXRlIHNlbGVjdGl2ZWx5XG4iCisiZGlmZiAgICAgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCisiYWRkIHVudHJhY2tlZCAtIGFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgIgorImNoYW5nZXNcbiIKK21zZ3N0ciAiIgorInN0YXR1cyAgICAgICAg4oCUINC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YrRgtC40YnQsNGC0LAg0YEg0L/RgNC+0LzQtdC90LjRgtC1XG4iCisidXBkYXRlICAgICAgICDigJQg0LTQvtCx0LDQstGP0L3QtSDQvdCwINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQutGK0Lwg0L/RgNC+0LzQtdC90LjRgtC1INCyXG4iCisiICAgICAgICAgICAgICAgINC40L3QtNC10LrRgdCwXG4iCisicmV2ZXJ0ICAgICAgICDigJQg0L7RgtC80Y/QvdCwINC90LAg0L/RgNC+0LzQtdC90LjRgtC1INCyINC40L3QtNC10LrRgdCwINC60YrQvCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INGB0L7Rh9C10L3QviDQvtGCICIKKyLigJ5IRUFE4oCcXG4iCisicGF0Y2ggICAgICAgICDigJQg0LjQt9Cx0LjRgNCw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtCwINC60L7QtCDQuCDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQv9C+0LXQtNC40L3QuNGH0L3QvlxuIgorImRpZmYgICAgICAgICAg4oCUINC40LfQstC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9C70LjQutCw0YLQsCDQvNC10LbQtNGDINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgdC+0YfQtdC90L7RgtC+INC+0YIgIgorIuKAnkhFQUTigJxcbiIKKyIgICAgICAgICAgICAgICAg0Lgg0LjQvdC00LXQutGB0LBcbiIKKyJhZGQgdW50cmFja2VkIOKAlCDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQutGK0Lwg0L/RgNC+0LzQtdC90LjRgtC1INCyINC40L3QtNC10LrRgdCwXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjYKK21zZ2lkICJtaXNzaW5nIC0tIgorbXNnc3RyICLigJ4tLeKAnCDQu9C40L/RgdCy0LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJ1bmtub3duIC0tcGF0Y2ggbW9kZTogJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCwINGB0YLRgNCw0YLQtdCz0LjRjyDQt9CwINC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsDog4oCeJXPigJwiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NzQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgorbXNnc3RyICLRg9C60LDQt9Cw0L0g0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0g0LDRgNCz0YPQvNC10L3RgiDigJ4lc+KAnCwg0LAg0YHQtSDQvtGH0LDQutCy0LAg4oCeLS3igJwuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyNgorbXNnaWQgImxvY2FsIHpvbmUgZGlmZmVycyBmcm9tIEdNVCBieSBhIG5vbi1taW51dGUgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIgorItGA0LDQt9C70LjQutCw0YLQsCDQvNC10LbQtNGDINC80LXRgdGC0L3QuNGPINGH0LDRgdC+0LLQuCDQv9C+0Y/RgSDQuCBHTVQg0YHRitC00YrRgNC20LAg0LTRgNC+0LHQvdCwINGH0LDRgdGCINC+0YIg0LzQuNC90YPRgtCwXG4iCisiXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM5Cittc2dpZCAibG9jYWwgdGltZSBvZmZzZXQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDI0IGhvdXJzXG4iCittc2dzdHIgItGA0LDQt9C70LjQutCw0YLQsCDQvNC10LbQtNGDINC80LXRgdGC0L3QuNGPINGH0LDRgdC+0LLQuNGPINC/0L7Rj9GBINC4IEdNVCDQtSAyNCDRh9Cw0YHQsCDQuNC70Lgg0L/QvtCy0LXRh9C1XG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjA4IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjE0Cittc2dpZCAidGhlIGVkaXRvciBleGl0ZWQgdW5jbGVhbmx5LCBhYm9ydGluZyBldmVyeXRoaW5nIgorbXNnc3RyICIiCisi0YLQtdC60YHRgtC+0LLQuNGP0YIg0YDQtdC00LDQutGC0L7RgCDQv9GA0LjQutC70Y7Rh9C4INGA0LDQsdC+0YLQsNGC0LAg0YEg0LPRgNC10YjQutCwLCDQstGB0LjRh9C60L4g0YHQtSDQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsCIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiIgorIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKK21zZ3N0ciAi4oCeJXPigJwg0YHRitC00YrRgNC20LAg0LLRgNC10LzQtdC90L3QsCDQstC10YDRgdC40Y8g0L3QsCDQv9C+0LTQs9C+0YLQstGP0L3QvtGC0L4g0LUt0L/QuNGB0LzQvi5cbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCittc2dzdHIgIuKAniVzLmZpbmFs4oCcINGB0YrQtNGK0YDQttCwINC/0L7QtNCz0L7RgtCy0LXQvdC+0YLQviDQtS3Qv9C40YHQvNC+LlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxNAorbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1kdW1wLWFsaWFzZXPigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINC00YDRg9Cz0LjRgtC1INC+0L/RhtC40LhcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDozNzkgZ2l0LXNlbmQtZW1haWwucGVybDo2MzQKK21zZ2lkICJDYW5ub3QgcnVuIGdpdCBmb3JtYXQtcGF0Y2ggZnJvbSBvdXRzaWRlIGEgcmVwb3NpdG9yeVxuIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IGZvcm1hdC1wYXRjaOKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuCDQuNC30LLRitC9INGF0YDQsNC90LjQu9C40YnQtVxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ0OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKK21zZ3N0ciAi0J3QtdC/0L7Qt9C90LDRgtC+INC/0L7Qu9C1INC30LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zdXBwcmVzcy1jY+KAnDog4oCeJXPigJxcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NzcKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5rbm93biAtLWNvbmZpcm0gc2V0dGluZzogJyVzJ1xuIgorbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIOKAni0tY29uZmlybeKAnDogJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MDkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogc2VuZG1haWwgYWxpYXMgd2l0aCBxdW90ZXMgaXMgbm90IHN1cHBvcnRlZDogJXNcbiIKK21zZ3N0ciAiIgorItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INGB0LjQvdC+0L3QuNC80Lgg0LfQsCBzZW5kbWFpbCDRgdGK0LTRitGA0LbQsNGJ0Lgg0LrQsNCy0LjRh9C60LggKOKAnlwi4oCcKSDQvdC1INGB0LUgIgorItC/0L7QtNC00YrRgNC20LDRgjogJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKK21zZ3N0ciAi0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog4oCeOmluY2x1ZGU64oCcINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwOiAlc1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxMworIywgcGVybC1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBgL2ZpbGVgIG9yIGB8cGlwZWAgcmVkaXJlY3Rpb24gbm90IHN1cHBvcnRlZDogJXNcbiIKK21zZ3N0ciAiIgorItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INC/0YDQtdC90LDRgdC+0YfQstCw0L3QuNGPIOKAni9maWxl4oCcINC40LvQuCDigJ58cGlwZeKAnCDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsNGCOiAlc1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgorbXNnc3RyICLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDRgNC10LTRitGCINC30LAg4oCec2VuZG1haWzigJwg0L3QtSDQtSDRgNCw0LfQv9C+0LfQvdCw0YI6ICVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjAwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiIKKyJGaWxlICclcycgZXhpc3RzIGJ1dCBpdCBjb3VsZCBhbHNvIGJlIHRoZSByYW5nZSBvZiBjb21taXRzXG4iCisidG8gcHJvZHVjZSBwYXRjaGVzIGZvci4gIFBsZWFzZSBkaXNhbWJpZ3VhdGUgYnkuLi5cbiIKKyJcbiIKKyIgICAgKiBTYXlpbmcgXCIuLyVzXCIgaWYgeW91IG1lYW4gYSBmaWxlOyBvclxuIgorIiAgICAqIEdpdmluZyAtLWZvcm1hdC1wYXRjaCBvcHRpb24gaWYgeW91IG1lYW4gYSByYW5nZS5cbiIKK21zZ3N0ciAiIgorItCk0LDQudC70YrRgiDigJ4lc+KAnCDRgdGK0YnQtdGB0YLQstGD0LLQsCwg0L3QviDQuNC80LXRgtC+INC80L7QttC1INC00LAg0L7Qt9C90LDRh9Cw0LLQsCDQuCDQtNC40LDQv9Cw0LfQvtC9INC+0YIg0L/QvtC00LDQstCw0L3QuNGPLFxuIgorItC30LAg0LrQvtC50YLQviDQtNCwINGB0LUg0YHRitC30LTQsNC00LDRgiDQutGA0YrQv9C60LguICDQnNC+0LbQtSDQuNC30YDQuNGH0L3QviDQtNCwINGD0LrQsNC20LXRgtC1INC30L3QsNGH0LXQvdC40LXRgtC+INC60LDRgtC+OlxuIgorIlxuIgorIiAgICDil48g0YPQutCw0LbQtdGC0LUg4oCeLi8lc+KAnCDQt9CwINGE0LDQudC7O1xuIgorIiAgICDil48g0LjQt9C/0L7Qu9C30LLQsNGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLS1mb3JtYXQtcGF0Y2jigJwg0LfQsCDQtNC40LDQv9Cw0LfQvtC9LlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYyMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCittc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lg6ICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiZmF0YWw6ICVzOiAlc1xuIgorIndhcm5pbmc6IG5vIHBhdGNoZXMgd2VyZSBzZW50XG4iCittc2dzdHIgIiIKKyLQpNCQ0KLQkNCb0J3QkCDQk9Cg0JXQqNCa0JA6ICVzOiAlc1xuIgorItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INC90LUg0YHQsCDQv9GA0LDRgtC10L3QuCDQvdC40LrQsNC60LLQuCDQutGA0YrQv9C60LhcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NTYKK21zZ2lkICIiCisiXG4iCisiTm8gcGF0Y2ggZmlsZXMgc3BlY2lmaWVkIVxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi0J3QtSDRgdCwINGD0LrQsNC30LDQvdC4INC60YDRitC/0LrQuCFcbiIKKyJcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiTm8gc3ViamVjdCBsaW5lIGluICVzPyIKK21zZ3N0ciAi0JIg4oCeJXPigJwg0LvQuNC/0YHQstCwINGC0LXQvNCwIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCDQt9CwINC30LDQv9C40YE6ICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4OQorbXNnaWQgIiIKKyJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgorIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCisiZm9yIHRoZSBwYXRjaCB5b3UgYXJlIHdyaXRpbmcuXG4iCisiXG4iCisiQ2xlYXIgdGhlIGJvZHkgY29udGVudCBpZiB5b3UgZG9uJ3Qgd2lzaCB0byBzZW5kIGEgc3VtbWFyeS5cbiIKK21zZ3N0ciAiIgorItCg0LXQtNC+0LLQtdGC0LUg0LfQsNC/0L7Rh9Cy0LDRidC4INGBIOKAnkdJVDrigJwg0YnQtSDQsdGK0LTQsNGCINC/0YDQtdGB0LrQsNGH0LDQvdC4LlxuIgorItCU0L7QsdGA0LUg0LUg0LTQsCDQstC60LvRjtGH0LjRgtC1INGB0YLQsNGC0LjRgdGC0LjQutCwINC90LAg0YDQsNC30LvQuNC60LjRgtC1INC40LvQuCDQvdGP0LrQsNC60LLQsCDRgtCw0LHQu9C40YbQsCDQvdCwICIKKyLRgdGK0LTRitGA0LbQsNC90LjQtdGC0L5cbiIKKyLQvdCwINC/0L7QtNCz0L7RgtCy0Y/QvdCw0YLQsCDQutGA0YrQv9C60LAuXG4iCisiXG4iCisi0JjQt9GC0YDQuNC50YLQtSDQstGB0LjRh9C60L4sINCw0LrQviDQvdC1INC40YHQutCw0YLQtSDQtNCwINC40LfQv9GA0LDRgtC40YLQtSDQvtCx0L7QsdGJ0LDQstCw0YnQviDQv9C40YHQvNC+LlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxMgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcy5maW5hbDogJXMiCittc2dzdHIgIuKAniVzLmZpbmFs4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuDogJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4OiAlcyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NTAKK21zZ2lkICJUby9DYy9CY2MgZmllbGRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgeWV0LCB0aGV5IGhhdmUgYmVlbiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyLQn9C+0LvQtdGC0LDRgtCwIOKAnlRv4oCcL+KAnkNj4oCcL+KAnkJjY+KAnCDQstGB0LUg0L7RidC1INC90LUg0YHQtSDQuNC90YLQtdGA0L/RgNC10YLQuNGA0LDRgi4g0KLQtSDQsdGP0YXQsCDQv9GA0LXRgdC60L7Rh9C10L3QuFxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc1OQorbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCittc2dzdHIgItCe0LHQvtCx0YnQsNCy0LDRidC+0YLQviDQv9C40YHQvNC+INC1INC/0YDQsNC30L3QviDQuCDRgdC1INC/0YDQtdGB0LrQsNGH0LBcbiIKKworIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3OTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVzZSA8JXM+IFt5L05dPyAiCittc2dzdHIgItCh0LjQs9GD0YDQvdC4INC70Lgg0YHRgtC1LCDRh9C1INC40YHQutCw0YLQtSDQtNCwINC/0L7Qu9C30LLQsNGC0LUg4oCeJXPigJwgW3kvTl0/ICIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCisiRW5jb2RpbmcuXG4iCittc2dzdHIgIiIKKyLQodC70LXQtNC90LjRgtC1INGE0LDQudC70L7QstC1INGB0LAgOCDQsdC40YLQvtCy0LgsINC90L4g0L3QtSDRgdCwINGBINC+0LHRj9Cy0LXQvdCwINC30LDQs9C70LDQstC90LAg0YfQsNGB0YIg4oCeQ29udGVudC0iCisiVHJhbnNmZXItRW5jb2RpbmfigJwuXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODI1Cittc2dpZCAiV2hpY2ggOGJpdCBlbmNvZGluZyBzaG91bGQgSSBkZWNsYXJlIFtVVEYtOF0/ICIKK21zZ3N0ciAi0JrQvtC1IDgg0LHQuNGC0L7QstC+INC60L7QtNC40YDQsNC90LUg0YHQtSDQv9C+0LvQt9Cy0LAgW9GB0YLQsNC90LTQsNGA0YLQvdC+OiBVVEYtOF0/ICIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MzMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiIgorIlJlZnVzaW5nIHRvIHNlbmQgYmVjYXVzZSB0aGUgcGF0Y2hcbiIKKyJcdCVzXG4iCisiaGFzIHRoZSB0ZW1wbGF0ZSBzdWJqZWN0ICcqKiogU1VCSkVDVCBIRVJFICoqKicuIFBhc3MgLS1mb3JjZSBpZiB5b3UgcmVhbGx5ICIKKyJ3YW50IHRvIHNlbmQuXG4iCittc2dzdHIgIiIKKyLQndC40YnQviDQvdGP0LzQsCDQtNCwINGB0LUg0L/RgNCw0YLQuCwg0LfQsNGJ0L7RgtC+INC60YDRitC/0LrQsNGC0LBcbiIKKyIgICAgJXNcbiIKKyLQstGB0LUg0L7RidC1INC1INGBINGI0LDQsdC70L7QvdC90L7RgtC+INC30LDQs9C70LDQstC40LUg4oCeKioqIFNVQkpFQ1QgSEVSRSAqKirigJwuICDQn9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LBcbiIKKyLigJ4tLWZvcmNl4oCcLCDQsNC60L4g0YHRgtC1INGB0LjQs9GD0YDQvdC4LCDRh9C1INGC0L7Rh9C90L4g0YLQvtCy0LAg0LjRgdC60LDRgtC1INC00LAg0LjQt9C/0YDQsNGC0LjRgtC1LlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1MgorbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCittc2dzdHIgItCd0LAg0LrQvtC5INC00LAg0YHQtSDQv9GA0LDRgtGP0YIg0LUt0L/QuNGB0LzQsNGC0LAgKNC90LXQt9Cw0LTRitC70LbQuNGC0LXQu9C90L4g0L/QvtC70LUpIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgorbXNnc3RyICLQpNCQ0KLQkNCb0J3QkCDQk9Cg0JXQqNCa0JA6IOKAniVz4oCcINC1INGB0LjQvdC+0L3QuNC8INC90LAg0YHQtdCx0LUg0YHQuFxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg4MgorbXNnaWQgIk1lc3NhZ2UtSUQgdG8gYmUgdXNlZCBhcyBJbi1SZXBseS1UbyBmb3IgdGhlIGZpcnN0IGVtYWlsIChpZiBhbnkpPyAiCittc2dzdHIgIiIKKyLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCwINGB0YrQvtCx0YnQtdC90LjQtSDigJ5NZXNzYWdlLUlE4oCcLCDQutC+0LXRgtC+INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINC30LAg0L7QsdGP0LLRj9Cy0LDQvdC10YLQviAiCisi0L3QsCDQvtGC0LPQvtCy0L7RgCDigJ5Jbi1SZXBseS1Ub+KAnCAo0L3QtdC30LDQtNGK0LvQttC40YLQtdC70L3QviDQv9C+0LvQtSkiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMyIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKK21zZ3N0ciAi0JPQoNCV0KjQmtCQOiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30LLQu9C10YfQtSDQsNC00YDQtdGBINC+0YIg4oCeJXPigJxcbiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtxXSBbZF0gW2VdIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0NAorbXNnaWQgIldoYXQgdG8gZG8gd2l0aCB0aGlzIGFkZHJlc3M/IChbcV11aXR8W2Rdcm9wfFtlXWRpdCk6ICIKK21zZ3N0ciAiIgorItCa0LDQutCy0L4g0LTQsCDRgdC1INC90LDQv9GA0LDQstC4INGBINGC0L7Qt9C4INCw0LTRgNC10YE/IOKAnnHigJwgKNGB0L/QuNGA0LDQvdC1KSwg4oCeZOKAnCAo0LjQt9GC0YDQuNCy0LDQvdC1KSwgIgorIuKAnmXigJwgKNGA0LXQtNCw0LrRgtC40YDQsNC90LUpOiAiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI0NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0J/RitGC0Y/RgiDQutGK0Lwg0YHQtdGA0YLQuNGE0LjQutCw0YIg4oCeJXPigJwg0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyMAorbXNnaWQgIiIKKyIgICAgVGhlIENjIGxpc3QgYWJvdmUgaGFzIGJlZW4gZXhwYW5kZWQgYnkgYWRkaXRpb25hbFxuIgorIiAgICBhZGRyZXNzZXMgZm91bmQgaW4gdGhlIHBhdGNoIGNvbW1pdCBtZXNzYWdlLiBCeSBkZWZhdWx0XG4iCisiICAgIHNlbmQtZW1haWwgcHJvbXB0cyBiZWZvcmUgc2VuZGluZyB3aGVuZXZlciB0aGlzIG9jY3Vycy5cbiIKKyIgICAgVGhpcyBiZWhhdmlvciBpcyBjb250cm9sbGVkIGJ5IHRoZSBzZW5kZW1haWwuY29uZmlybVxuIgorIiAgICBjb25maWd1cmF0aW9uIHNldHRpbmcuXG4iCisiXG4iCisiICAgIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLCBydW4gJ2dpdCBzZW5kLWVtYWlsIC0taGVscCcuXG4iCisiICAgIFRvIHJldGFpbiB0aGUgY3VycmVudCBiZWhhdmlvciwgYnV0IHNxdWVsY2ggdGhpcyBtZXNzYWdlLFxuIgorIiAgICBydW4gJ2dpdCBjb25maWcgLS1nbG9iYWwgc2VuZGVtYWlsLmNvbmZpcm0gYXV0bycuXG4iCisiXG4iCittc2dzdHIgIiIKKyIgICAg0JrRitC8INGB0L/QuNGB0YrQutCwINGBINC/0L7Qu9GD0YfQsNGC0LXQu9C40YLQtSAo4oCeQ2PigJwpINGB0LAg0LTQvtCx0LDQstC10L3QuCDQuCDQtNGA0YPQs9C40YLQtVxuIgorIiAgICDQsNC00YDQtdGB0Lgg0L3QsCDQtS3Qv9C+0YnQsCwg0LrQvtC40YLQviDRgdCwINGD0L/QvtC80LXQvdCw0YLQuCDQsiDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LBcbiIKKyIgICAg0L/QvtC00LDQstCw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAuICDQodGC0LDQvdC00LDRgNGC0L3QviDQutC+0LzQsNC90LTQsNGC0LAg4oCec2VuZC1lbWFpbOKAnFxuIgorIiAgICDQv9C40YLQsCDQt9CwINGC0L7QstCwINC/0YDQtdC00Lgg0LjQt9C/0YDQsNGJ0LDQvdC1LiAg0JzQvtC20LXRgtC1INC00LAg0L/RgNC10LzQtdC90LjRgtC1INGC0L7QstCwXG4iCisiICAgINC/0L7QstC10LTQtdC90LjQtSDRh9GA0LXQtyDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnnNlbmRlbWFpbC5jb25maXJt4oCcLlxuIgorIlxuIgorIiAgICDQmtC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHNlbmQtZW1haWwgLS1oZWxw4oCcINC/0YDQtdC00L7RgdGC0LDQstGPINC+0YnQtVxuIgorIiAgICDQuNC90YTQvtGA0LzQsNGG0LjRjy4gINCX0LAg0LTQsCDQt9Cw0L/QsNC30LjRgtC1INGC0LXQutGD0YnQvtGC0L4g0L/QvtCy0LXQtNC10L3QuNC1INC4INC00LAg0L3QtVxuIgorIiAgICDQv9C+0LvRg9GH0LDQstCw0YLQtSDQv9C+0LLQtdGH0LUg0YLQvtCy0LAg0YHRitC+0LHRidC10L3QuNC1LCDQuNC30L/RitC70L3QtdGC0LU6XG4iCisiICAgIOKAnmdpdCBjb25maWcgLS1nbG9iYWwgc2VuZGVtYWlsLmNvbmZpcm0gYXV0b+KAnC5cbiIKKyJcbiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSBbbl0gW3FdIFthXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM1Cittc2dpZCAiU2VuZCB0aGlzIGVtYWlsPyAoW3ldZXN8W25db3xbcV11aXR8W2FdbGwpOiAiCittc2dzdHIgIiIKKyLQmNC30L/RgNCw0YnQsNC90LUg0L3QsCDQtS3Qv9C40YHQvNC+0YLQvj8g4oCeeeKAnCAo0LTQsCksIOKAnm7igJwgKNC90LUpLCDigJ5x4oCcICjQuNC30YXQvtC0KSwg4oCeYeKAnCAo0LLRgdC40YfQutC+KTogIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMzgKK21zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCittc2dzdHIgItCY0LfQuNGB0LrQstCw0L3QtSDQvdCwINC+0YLQs9C+0LLQvtGAINC60YrQvCDRgtC+0LLQsCDQtS3Qv9C40YHQvNC+IgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNjQKK21zZ2lkICJUaGUgcmVxdWlyZWQgU01UUCBzZXJ2ZXIgaXMgbm90IHByb3Blcmx5IGRlZmluZWQuIgorbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC30LAgU01UUCDQvdC1INC1INC90LDRgdGC0YDQvtC10L0g0L/RgNCw0LLQuNC70L3Qvi4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCittc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L3QtSDQv9C+0LTQtNGK0YDQttCwIOKAnlNUQVJUVExT4oCcISAlcyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDE2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTVEFSVFRMUyBmYWlsZWQhICVzIgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCBTVEFSVFRMUyEgJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAorbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCittc2dzdHIgIiIKKyLQn9C+0LTRgdC40YHRgtC10LzQsNGC0LAg0LfQsCBTTVRQINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40L3QuNGG0LjQsNC70LjQt9C40YDQsC4g0J/RgNC+0LLQtdGA0LXRgtC1INC90LDRgdGC0YDQvtC50LrQuNGC0LUg0LggIgorItC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LA6IOKAni0tc210cC1kZWJ1Z+KAnC4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ0OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2VuZCAlc1xuIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9C/0YDQsNGC0LXQvVxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRHJ5LVNlbnQgJXNcbiIKK21zZ3N0ciAi0J/RgNC+0LHQsCDQt9CwINC40LfQv9GA0LDRidCw0L3QtSDQvdCwIOKAniVz4oCcXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTZW50ICVzXG4iCittc2dzdHIgItCY0LfQv9GA0LDRidCw0L3QtSDQvdCwIOKAniVz4oCcXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MworbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCittc2dzdHIgItCj0YHQv9C10YUg0L/RgNC4INC/0YDQvtCx0LDRgtCwLiDQntGCINC20YPRgNC90LDQu9CwOlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTMKK21zZ2lkICJPSy4gTG9nIHNheXM6XG4iCittc2dzdHIgItCj0YHQv9C10YUuINCe0YIg0LbRg9GA0L3QsNC70LA6XG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2NQorbXNnaWQgIlJlc3VsdDogIgorbXNnc3RyICLQoNC10LfRg9C70YLQsNGCOiAiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2OAorbXNnaWQgIlJlc3VsdDogT0tcbiIKK21zZ3N0ciAi0KDQtdC30YPQu9GC0LDRgjog0YPRgdC/0LXRhVxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0ODEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgb3BlbiBmaWxlICVzIgorbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9IgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MjggZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihtYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCittc2dzdHIgIihtYm94KSDQlNC+0LHQsNCy0Y/QvdC1INC90LAg4oCe0Y/QujogJXPigJwg0L7RgiDRgNC10LQg4oCeJXPigJxcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCittc2dzdHIgIihtYm94KSDQlNC+0LHQsNCy0Y/QvdC1INC90LAg4oCe0LTQvjogJXPigJwg0L7RgiDRgNC10LQg4oCeJXPigJxcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTgyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgorbXNnc3RyICIo0L3QtS1tYm94KSDQlNC+0LHQsNCy0Y/QvdC1INC90LAg4oCe0Y/QujogJXPigJwg0L7RgiDRgNC10LQg4oCeJXPigJxcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjA1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihib2R5KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCittc2dzdHIgIijRgtGP0LvQvikg0JTQvtCx0LDQstGP0L3QtSDQvdCwIOKAntGP0Lo6ICVz4oCcINC+0YIg0YDQtdC0IOKAniVz4oCcXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICIoJXMpIENvdWxkIG5vdCBleGVjdXRlICclcyciCittc2dzdHIgIiglcykg0J3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0LUg0LjQt9C/0YrQu9C90Lgg4oCeJXPigJwiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICIoJXMpIEFkZGluZyAlczogJXMgZnJvbTogJyVzJ1xuIgorbXNnc3RyICIoJXMpINCU0L7QsdCw0LLRj9C90LUg0L3QsCDigJ4lczogJXPigJwg0L7Rgjog4oCeJXPigJxcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiglcykgZmFpbGVkIHRvIGNsb3NlIHBpcGUgdG8gJyVzJyIKK21zZ3N0ciAiKCVzKSDQv9GA0L7Qs9GA0LDQvNC90LjRj9GCINC60LDQvdCw0Lsg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNGC0LLQvtGA0Lgg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtdGC0L4g0L3QsCDigJ4lc+KAnCIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzQ5Cittc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgorbXNnc3RyICLRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9GA0LDRgtC4INGH0YDQtdC3IDcg0LHQuNGC0L7QstC4INC30L3QsNGG0LgiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1NworbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC60L7QtNC40YDQsNC90LUg0LfQsCDQv9GA0LXQvdC+0YEiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc5NSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NDYgZ2l0LXNlbmQtZW1haWwucGVybDoxODU2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuICVzOiAlc1xuIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lg6ICVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc5OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgorbXNnc3RyICLigJ4lc+KAnDog0LrRgNGK0L/QutCw0YLQsCDRgdGK0LTRitGA0LbQsCDRgNC10LQg0YEg0L3QsNC0IDk4OCDQt9C90LDQutCwIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MTQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgJXMgd2l0aCBiYWNrdXAgc3VmZml4ICclcycuXG4iCittc2dzdHIgIuKAniVz4oCcINGB0LUg0L/RgNC+0L/Rg9GB0LrQsCwg0LfQsNGJ0L7RgtC+INC1INGBINGA0LDQt9GI0LjRgNC10L3QuNC1INC30LAg0LDRgNGF0LjQstC10L0g0YTQsNC50Ls6IOKAniVz4oCcLlxuIgorCisjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKK21zZ3N0ciAi0J3QsNC40YHRgtC40L3QsCDQu9C4INC40YHQutCw0YLQtSDQtNCwINC40LfQv9GA0LDRgtC40YLQtSDigJ4lc+KAnD8gW3l8Tl06ICIKZGlmZiAtLWdpdCBhL3BvL2NhLnBvIGIvcG8vY2EucG8KaW5kZXggMWI0OGE5ZS4uYTdiYzcxZiAxMDA2NDQKLS0tIGEvcG8vY2EucG8KKysrIGIvcG8vY2EucG8KQEAgLTEsMjIgKzEsMjQgQEAKLQogIyBDYXRhbGFuIHRyYW5zbGF0aW9ucyBmb3IgR2l0LgotIyBDb3B5cmlnaHQgKEMpIDIwMTQgQWxleCBIZW5yaWUgPGFsZXhoZW5yaWUyNEBnbWFpbC5jb20+CiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHaXQgcGFja2FnZS4KICMgQWxleCBIZW5yaWUgPGFsZXhoZW5yaWUyNEBnbWFpbC5jb20+LCAyMDE0LTIwMTYuCiAjIEpvcmRpIE1hcyBpIEhlcm7DoG5kZXogPGptYXNAc29mdGNhdGFsYS5vcmc+LCAyMDE2LTIwMTcKICMKLSMgVGVybWlub2xvZ2lhIGkgY3JpdGVyaXMgdXRpbGl0emF0cyAKKyMgVGVybWlub2xvZ2lhIGkgY3JpdGVyaXMgdXRpbGl0emF0cwogIwogIyAgIEFuZ2zDqHMgICAgICAgICAgIHwgIENhdGFsw6AKICMgICAtLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgICBhaGVhZCAgICAgICAgICAgIHwgIGRhdmFudCBwZXIKICMgICBhbWVuZCAgICAgICAgICAgIHwgIGVzbWVuYXIKICMgICBicm9rZW4gICAgICAgICAgIHwgIG1hbG3DqHMKKyMgICBkZWx0YSAgICAgICAgICAgIHwgIGRpZmVyw6huY2lhCiAjICAgZHJ5ICAgICAgICAgICAgICB8ICBzaW11bGFjacOzCiAjICAgZGVwcmVjYXRlZCAgICAgICB8ICBlbiBkZXPDunMKKyMgICBmYXRhbCAgICAgICAgICAgIHwgIGZhdGFsCiAjICAgaHVuayAgICAgICAgICAgICB8ICB0cm9zCiAjICAgbm90IHN1cHBvcnRlZCAgICB8ICBubyBlc3TDoCBhZG3DqHMKICMgICByZXBvc2l0b3J5ICAgICAgIHwgIGRpcMOyc2l0CiAjICAgc2tpcCAgICAgICAgICAgICB8ICBvbWV0cmUKKyMgICBzcXVlbGNoICAgICAgICAgIHwgIHNpbGVuY2lhcgogIyAgIHRva2VuICAgICAgICAgICAgfCAgdGVzdGltb25pCiAjCiAjIEFsZ3VucyB0ZXJtZXMgcXVlIHPDs24gY29tYW5kZXMgZXNwZWPDrWZpcXVlcyBkZWwgZ2l0IGkgZCfDoG1iaXQgbW9sdCB0w6hjbmljCkBAIC0zNiwxNSArMzgsMTIgQEAKICMgICBzdGFnZSAgICAgICAgICAgIHwgIMKrc3RhZ2XCuwogIyAgIHNxdWFzaCAgICAgICAgICAgfCAgwqtzcXVhc2jCuwogIyAgIHVuc3RhZ2UgICAgICAgICAgfCAgwqt1bnN0YWdlwrsKLQotCi0KIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IEdpdFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTE4IDAxOjAwKzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTAyLTE2IDE5OjU1KzAxMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wNy0yNCAyMTo1NCswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNy0wNy0xOCAyMDo0MSswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBKb3JkaSBNYXMgPGptYXNAc29mdGNhdGFsYS5vcmc+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogQ2F0YWxhblxuIgogIkxhbmd1YWdlOiBjYVxuIgpAQCAtNTIsMzkgKzUxLDM5IEBACiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgotIlgtR2VuZXJhdG9yOiBQb2VkaXQgMS44LjlcbiIKKyJYLUdlbmVyYXRvcjogUG9lZGl0IDIuMC4xXG4iCiAKLSM6IGFkdmljZS5jOjU1CisjOiBhZHZpY2UuYzo1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJoaW50OiAlLipzXG4iCiBtc2dzdHIgInBpc3RhOiAlLipzXG4iCiAKLSM6IGFkdmljZS5jOjgzCisjOiBhZHZpY2UuYzo4NgogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKLW1zZ3N0ciAiRmVyIMKrY2hlcnJ5IHBpY2vCuyBubyDDqXMgcG9zc2libGUgcGVycXXDqCB0ZW5pdSBmaXR4ZXJzIG5vIGZ1c2lvbmF0cy4iCittc2dzdHIgIkZlciDCq2NoZXJyeSBwaWNrwrsgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjg1CisjOiBhZHZpY2UuYzo4OAogbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgotbXNnc3RyICJDb21ldHJlIG5vIMOpcyBwb3NzaWJsZSBwZXJxdcOoIHRlbml1IGZpdHhlcnMgbm8gZnVzaW9uYXRzLiIKK21zZ3N0ciAiQ29tZXRyZSBubyDDqXMgcG9zc2libGUgcGVycXXDqCB0ZW5pdSBmaXR4ZXJzIHNlbnNlIGZ1c2lvbmFyLiIKIAotIzogYWR2aWNlLmM6ODcKKyM6IGFkdmljZS5jOjkwCiBtc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCi1tc2dzdHIgIkZ1c2lvbmFyIG5vIMOpcyBwb3NzaWJsZSBwZXJxdcOoIHRlbml1IGZpdHhlcnMgbm8gZnVzaW9uYXRzLiIKK21zZ3N0ciAiRnVzaW9uYXIgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjg5CisjOiBhZHZpY2UuYzo5MgogbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgotbXNnc3RyICJCYWl4YXIgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBubyBmdXNpb25hdHMuIgorbXNnc3RyICJCYWl4YXIgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjkxCisjOiBhZHZpY2UuYzo5NAogbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCi1tc2dzdHIgIlJldmVydGlyIG5vIMOpcyBwb3NzaWJsZSBwZXJxdcOoIHRlbml1IGZpdHhlcnMgbm8gZnVzaW9uYXRzLiIKK21zZ3N0ciAiUmV2ZXJ0aXIgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjkzCisjOiBhZHZpY2UuYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCi1tc2dzdHIgIk5vIMOpcyBwb3NzaWJsZSAlcyBwZXJxdcOoIHRlbml1IGZpdHhlcnMgbm8gZnVzaW9uYXRzLiIKK21zZ3N0ciAiTm8gw6lzIHBvc3NpYmxlICVzIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjEwMQorIzogYWR2aWNlLmM6MTA0CiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKQEAgLTkzLDIzICs5MiwyMyBAQAogIidnaXQgYWRkL3JtIDxmaXR4ZXI+JyBzZWdvbnMgc2lndWkgYXByb3BpYXQgcGVyIGEgbWFyY2FyIGxhXG4iCiAicmVzb2x1Y2nDsyBpIGZldSB1bmEgY29taXNzacOzLiIKIAotIzogYWR2aWNlLmM6MTA5CisjOiBhZHZpY2UuYzoxMTIKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCiBtc2dzdHIgIlMnZXN0w6Agc29ydGludCBhIGNhdXNhIGQndW4gY29uZmxpY3RlIG5vIHJlc29sdC4iCiAKLSM6IGFkdmljZS5jOjExNCBidWlsdGluL21lcmdlLmM6MTIwNgorIzogYWR2aWNlLmM6MTE3IGJ1aWx0aW4vbWVyZ2UuYzoxMTg0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICJObyBoZXUgY29uY2zDsnMgbGEgdm9zdHJhIGZ1c2nDsyAoTUVSR0VfSEVBRCBleGlzdGVpeCkuIgogCi0jOiBhZHZpY2UuYzoxMTYKKyM6IGFkdmljZS5jOjExOQogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgIlNpIHVzIHBsYXUsIGNvbWV0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIGFiYW5zIGRlIGZ1c2lvbmFyLiIKIAotIzogYWR2aWNlLmM6MTE3CisjOiBhZHZpY2UuYzoxMjAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIlMnZXN0w6Agc29ydGludCBhIGNhdXNhIGQndW5hIGZ1c2nDsyBubyB0ZXJtaW5hZGEuIgogCi0jOiBhZHZpY2UuYzoxMjMKKyM6IGFkdmljZS5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCkBAIC0xMzYsODUgKzEzNSw5NSBAQAogIlxuIgogIiAgZ2l0IGNoZWNrb3V0IC1iIDxub20tZGUtYnJhbmNhLW5vdmE+XG4iCiAKLSM6IGFwcGx5LmM6NTcKKyM6IGFwcGx5LmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgIm9wY2nDsyBkJ2VzcGFpIGVuIGJsYW5jICclcycgbm8gcmVjb25lZ3VkYSIKIAotIzogYXBwbHkuYzo3MworIzogYXBwbHkuYzo3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCiBtc2dzdHIgIm9wY2nDsyBkJ2lnbm9yYSBsJ2VzcGFpIGVuIGJsYW5jICclcycgbm8gcmVjb25lZ3VkYSIKIAotIzogYXBwbHkuYzoxMjUKKyM6IGFwcGx5LmM6MTI2CiBtc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIi0tcmVqZWN0IGkgLS0zd2F5IG5vIGVzIHBvZGVuIHVzYXIganVudHMuIgogCi0jOiBhcHBseS5jOjEyNworIzogYXBwbHkuYzoxMjgKIG1zZ2lkICItLWNhY2hlZCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1jYWNoZWQgaSAtLTN3YXkgbm8gZXMgcG9kZW4gdXNhciBqdW50cy4iCiAKLSM6IGFwcGx5LmM6MTMwCisjOiBhcHBseS5jOjEzMQogbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS0zd2F5IGZvcmEgZCd1biBkaXDDsnNpdCIKIAotIzogYXBwbHkuYzoxNDEKKyM6IGFwcGx5LmM6MTQyCiBtc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1pbmRleCBmb3JhIGQndW4gZGlww7JzaXQiCiAKLSM6IGFwcGx5LmM6MTQ0CisjOiBhcHBseS5jOjE0NQogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWNhY2hlZCBmb3JhIGQndW4gZGlww7JzaXQiCiAKLSM6IGFwcGx5LmM6ODQ1CisjOiBhcHBseS5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgogbXNnc3RyICJObyBlcyBwb3QgcHJlcGFyYXIgbCdleHByZXNzacOzIHJlZ3VsYXIgZGUgbWFyY2EgZGUgdGVtcHMgJXMiCiAKLSM6IGFwcGx5LmM6ODU0CisjOiBhcHBseS5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgInJlZ2V4ZWMgaGEgcmV0b3JuYXQgJWQgcGVyIGwnZW50cmFkYTogJXMiCiAKLSM6IGFwcGx5LmM6OTM4CisjOiBhcHBseS5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBub20gZGUgZml0eGVyIGVuIGVsIHBlZGHDpyBhIGxhIGzDrW5pYSAlZCIKIAotIzogYXBwbHkuYzo5NzcKKyM6IGFwcGx5LmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTogZ2l0LWRpZmYgZG9sZW50IC0gL2Rldi9udWxsIGVzcGVyYXQsICVzIHJlYnV0IGVuIGxhIGzDrW5pYSAlZCIKIAotIzogYXBwbHkuYzo5ODMKKyM6IGFwcGx5LmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBkb2xlbnQgLSBub20gZGUgZml0eGVyIG5vdSBpbmNvbnNpc3RlbnQgZW4gbGEgbMOtbmlhICVkIgogCi0jOiBhcHBseS5jOjk4NAorIzogYXBwbHkuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6IGdpdC1kaWZmIGRvbGVudCAtIG5vbSBkZSBmaXR4ZXIgYW50aWMgaW5jb25zaXN0ZW50IGVuIGxhIGzDrW5pYSAlZCIKIAotIzogYXBwbHkuYzo5OTAKKyM6IGFwcGx5LmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgZG9sZW50IC0gL2Rldi9udWxsIGVzcGVyYXQgZW4gbGEgbMOtbmlhICVkIgogCi0jOiBhcHBseS5jOjE0ODgKKyM6IGFwcGx5LmM6MTAwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBtb2RlIG9uIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJsw61uaWEgZCdpZGVudGl0YXQgbm8gdsOgbGlkYTogJXMiCisKKyM6IGFwcGx5LmM6MTMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbnNpc3RlbnQgaGVhZGVyIGxpbmVzICVkIGFuZCAlZCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjE0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgogbXNnc3RyICJyZWNvbXB0ZTogbMOtbmlhIGluZXNwZXJhZGE6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MTU1NworIzogYXBwbHkuYzoxNTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgImZyYWdtZW50IGRlIHBlZGHDpyBzZW5zZSBjYXDDp2FsZXJhIGEgbGEgbMOtbmlhICVkOiAlLipzIgogCi0jOiBhcHBseS5jOjE1NzcKKyM6IGFwcGx5LmM6MTU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCkBAIC0yMjksODMgKzIzOCw4MyBAQAogImEgbGEgY2Fww6dhbGVyYSBkZSBnaXQgZGlmZiBsaSBtYW5jYSBpbmZvcm1hY2nDsyBkZSBub20gZGUgZml0eGVyIGVuIGVsaW1pbmFyICIKICIlZCBjb21wb25lbnRzIGRlIG5vbSBkZSBjYW3DrSBpbmljaWFsIChsw61uaWEgJWQpIgogCi0jOiBhcHBseS5jOjE1ODkKKyM6IGFwcGx5LmM6MTYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgogbXNnc3RyICIiCiAiYSBsYSBjYXDDp2FsZXJhIGRlIGdpdCBkaWZmIGxpIG1hbmNhIGluZm9ybWFjacOzIGRlIG5vbSBkZSBmaXR4ZXIgKGzDrW5pYSAlZCkiCiAKLSM6IGFwcGx5LmM6MTc1OQorIzogYXBwbHkuYzoxNzcwCiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgImVsIGZpdHhlciBub3UgZGVww6huIGRlbHMgY29udGluZ3V0cyBhbnRpY3MiCiAKLSM6IGFwcGx5LmM6MTc2MQorIzogYXBwbHkuYzoxNzcyCiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiZWwgZml0eGVyIHN1cHJpbWl0IGVuY2FyYSB0w6kgY29udGluZ3V0cyIKIAotIzogYXBwbHkuYzoxNzk1CisjOiBhcHBseS5jOjE4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJwZWRhw6cgbWFsbcOocyBhIGxhIGzDrW5pYSAlZCIKIAotIzogYXBwbHkuYzoxODMyCisjOiBhcHBseS5jOjE4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgImVsIGZpdHhlciBub3UgJXMgZGVww6huIGRlbHMgY29udGluZ3V0cyBhbnRpY3MiCiAKLSM6IGFwcGx5LmM6MTgzNAorIzogYXBwbHkuYzoxODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgImVsIGZpdHhlciBzdXByaW1pdCAlcyBlbmNhcmEgdMOpIGNvbnRpbmd1dHMiCiAKLSM6IGFwcGx5LmM6MTgzNworIzogYXBwbHkuYzoxODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqIGFkdmVydMOobmNpYTogZWwgZml0eGVyICVzIHF1ZWRhIGJ1aXQgcGVyw7Igbm8gc2Ugc3VwcmltZWl4IgogCi0jOiBhcHBseS5jOjE5ODQKKyM6IGFwcGx5LmM6MTk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICJwZWRhw6cgYmluYXJpIG1hbG3DqHMgYSBsYSBsw61uaWEgJWQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MjAyMQorIzogYXBwbHkuYzoyMDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAicGVkYcOnIGJpbmFyaSBubyByZWNvbmVndXQgYSBsYSBsw61uaWEgJWQiCiAKLSM6IGFwcGx5LmM6MjE4MgorIzogYXBwbHkuYzoyMTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCiBtc2dzdHIgInBlZGHDpyBhbWIgbm9tw6lzIGVzY29tYnJhcmllcyBhIGxhIGzDrW5pYSAlZCIKIAotIzogYXBwbHkuYzoyMjY1CisjOiBhcHBseS5jOjIyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbCdlbmxsYcOnIHNpbWLDsmxpYyAlcyIKIAotIzogYXBwbHkuYzoyMjY5CisjOiBhcHBseS5jOjIyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciBvIGxsZWdpciAlcyIKIAotIzogYXBwbHkuYzoyOTIyCisjOiBhcHBseS5jOjI5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgogbXNnc3RyICJpbmljaSBkZSBsw61uaWEgbm8gdsOgbGlkOiAnJWMnIgogCi0jOiBhcHBseS5jOjMwNDEKKyM6IGFwcGx5LmM6MzA1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCiBtc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCiBtc2dzdHJbMF0gIkVsIHRyb3MgIyVkIGhhIHRpbmd1dCDDqHhpdCBhICVkIChkZXNwbGHDp2FtZW50IGQnJWQgbMOtbmlhKS4iCiBtc2dzdHJbMV0gIkVsIHRyb3MgIyVkIGhhIHRpbmd1dCDDqHhpdCBhICVkIChkZXNwbGHDp2FtZW50IGRlICVkIGzDrW5pZXMpLiIKIAotIzogYXBwbHkuYzozMDUzCisjOiBhcHBseS5jOjMwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAiRWwgY29udGV4dCBzJ2hhIHJlZHXDr3QgYSAoJWxkLyVsZCkgcGVyIGEgYXBsaWNhciBlbCBmcmFnbWVudCBhICVkIgogCi0jOiBhcHBseS5jOjMwNTkKKyM6IGFwcGx5LmM6MzA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKQEAgLTMxNCwyMyArMzIzLDIzIEBACiAidG90IGNlcmNhbnQ6XG4iCiAiJS4qcyIKIAotIzogYXBwbHkuYzozMDgxCisjOiBhcHBseS5jOjMwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAibWFucXVlbiBsZXMgZGFkZXMgZGUgcGVkYcOnIGJpbmFyaSBkZSAnJXMnIgogCi0jOiBhcHBseS5jOjMwODkKKyM6IGFwcGx5LmM6MzEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGFwbGljYXIgYWwgcmV2w6lzIHVuIHBlZGHDpyBiaW5hcmkgc2Vuc2UgZWwgdHJvcyByZXbDqXMgYSAnJXMnIgogCi0jOiBhcHBseS5jOjMxMzUKKyM6IGFwcGx5LmM6MzE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCiBtc2dzdHIgIiIKICJubyBlcyBwb3QgYXBsaWNhciB1biBwZWRhw6cgYmluYXJpIGEgJyVzJyBzZW5zZSBsYSBsw61uaWEgZCfDrW5kZXggY29tcGxldGEiCiAKLSM6IGFwcGx5LmM6MzE0NQorIzogYXBwbHkuYzozMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKQEAgLTMzOCwyODcgKzM0NywyODcgQEAKICJlbCBwZWRhw6cgcydhcGxpY2EgYSAnJXMnICglcyksIGVsIHF1YWwgbm8gY29pbmNpZGVpeCBhbWIgZWxzIGNvbnRpbmd1dHMgIgogImFjdHVhbHMuIgogCi0jOiBhcHBseS5jOjMxNTMKKyM6IGFwcGx5LmM6MzE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgImVsIHBlZGHDpyBzJ2FwbGljYSBhIHVuICclcycgYnVpdCBwZXLDsiBubyDDqXMgYnVpdCIKIAotIzogYXBwbHkuYzozMTcxCisjOiBhcHBseS5jOjMxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgbGEgcG9zdGltYXRnZSAlcyBuZWNlc3PDoHJpYSBwZXIgYSAnJXMnIgogCi0jOiBhcHBseS5jOjMxODQKKyM6IGFwcGx5LmM6MzE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKIG1zZ3N0ciAiZWwgcGVkYcOnIGJpbmFyaSBubyBzJ2FwbGljYSBhICclcyciCiAKLSM6IGFwcGx5LmM6MzE5MAorIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgogbXNnc3RyICIiCiAiZWwgcGVkYcOnIGJpbmFyaSBhICclcycgY3JlYSB1biByZXN1bHRhdCBpbmNvcnJlY3RlIChlc3BlcmFudCAlcywgJXMgcmVidXQpIgogCi0jOiBhcHBseS5jOjMyMTEKKyM6IGFwcGx5LmM6MzIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKIG1zZ3N0ciAiZWwgcGVkYcOnIGhhIGZhbGxhdDogJXM6JWxkIgogCi0jOiBhcHBseS5jOjMzMzMKKyM6IGFwcGx5LmM6MzM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBhZ2FmYXIgJXMiCiAKLSM6IGFwcGx5LmM6MzM4MSBhcHBseS5jOjMzOTIgYXBwbHkuYzozNDM4IHNldHVwLmM6MjQ4CisjOiBhcHBseS5jOjMzOTIgYXBwbHkuYzozNDAzIGFwcGx5LmM6MzQ0OSBzZXR1cC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgJXMiCiAKLSM6IGFwcGx5LmM6MzM4OQorIzogYXBwbHkuYzozNDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgInMnZXN0w6AgbGxlZ2ludCBkZSAnJXMnIG3DqXMgZW5sbMOgIGQndW4gZW5sbGHDpyBzaW1iw7JsaWMiCiAKLSM6IGFwcGx5LmM6MzQxOCBhcHBseS5jOjM2NTgKKyM6IGFwcGx5LmM6MzQyOSBhcHBseS5jOjM2NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCiBtc2dzdHIgImVsIGNhbcOtICVzIHMnaGEgY2FudmlhdCBkZSBub20gLyBzJ2hhIHN1cHJpbWl0IgogCi0jOiBhcHBseS5jOjM1MDEgYXBwbHkuYzozNjcyCisjOiBhcHBseS5jOjM1MTIgYXBwbHkuYzozNjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6IG5vIGV4aXN0ZWl4IGVuIGwnw61uZGV4IgogCi0jOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgwCisjOiBhcHBseS5jOjM1MjEgYXBwbHkuYzozNjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXM6IG5vIGNvaW5jaWRlaXggYW1iIGwnw61uZGV4IgogCi0jOiBhcHBseS5jOjM1NDUKKyM6IGFwcGx5LmM6MzU1NgogbXNnaWQgInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJhbCBkaXDDsnNpdCBsaSBtYW5jYSBlbCBibG9iIG5lY2Vzc2FyaSBwZXIgYSByZXRyb2NlZGlyIGEgdW5hIGZ1c2nDsyBkZSAzIHZpZXMuIgogCi0jOiBhcHBseS5jOjM1NDgKKyM6IGFwcGx5LmM6MzU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIlMnZXN0w6AgcmV0cm9jZWRpbnQgYSB1bmEgZnVzacOzIGRlIDMgdmllcy4uLlxuIgogCi0jOiBhcHBseS5jOjM1NjQgYXBwbHkuYzozNTY4CisjOiBhcHBseS5jOjM1NzUgYXBwbHkuYzozNTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciCiBtc2dzdHIgIm5vIGVzIHBvZGVuIGxsZWdpciBlbHMgY29udGluZ3V0cyBhY3R1YWxzIGRlICclcyciCiAKLSM6IGFwcGx5LmM6MzU4MAorIzogYXBwbHkuYzozNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gcmV0cm9jZWRpciBhIHVuYSBmdXNpw7MgZGUgMyB2aWVzLi4uXG4iCiAKLSM6IGFwcGx5LmM6MzU5NAorIzogYXBwbHkuYzozNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKIG1zZ3N0ciAiUydoYSBhcGxpY2F0IGVsIHBlZGHDpyBhICclcycgYW1iIGNvbmZsaWN0ZXMuXG4iCiAKLSM6IGFwcGx5LmM6MzU5OQorIzogYXBwbHkuYzozNjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICJTJ2hhIGFwbGljYXQgZWwgcGVkYcOnIGEgJyVzJyBuZXRhbWVudC5cbiIKIAotIzogYXBwbHkuYzozNjI1CisjOiBhcHBseS5jOjM2MzYKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICJlbCBwZWRhw6cgZCdlbGltaW5hY2nDsyBkZWl4YSBlbHMgY29udGluZ3V0cyBkZWxzIGZpdHhlcnMiCiAKLSM6IGFwcGx5LmM6MzY5NworIzogYXBwbHkuYzozNzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIlczogdGlwdXMgZXJyb25pIgogCi0jOiBhcHBseS5jOjM2OTkKKyM6IGFwcGx5LmM6MzcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIiVzIMOpcyBkZWwgdGlwdXMgJW8sIHMnZXNwZXJhdmEgJW8iCiAKLSM6IGFwcGx5LmM6Mzg1MCBhcHBseS5jOjM4NTIKKyM6IGFwcGx5LmM6Mzg2MCBhcHBseS5jOjM4NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBwYXRoICclcyciCiBtc2dzdHIgImNhbcOtIG5vIHbDoGxpZDogJXMiCiAKLSM6IGFwcGx5LmM6MzkwOAorIzogYXBwbHkuYzozOTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6IGphIGV4aXN0ZWl4IGVuIGwnw61uZGV4IgogCi0jOiBhcHBseS5jOjM5MTEKKyM6IGFwcGx5LmM6MzkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBqYSBleGlzdGVpeCBlbiBlbCBkaXJlY3RvcmkgZGUgdHJlYmFsbCIKIAotIzogYXBwbHkuYzozOTMxCisjOiBhcHBseS5jOjM5NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICJlbCBtb2RlIG5vdSAoJW8pIGRlICVzIG5vIGNvaW5jaWRlaXggYW1iIGVsIG1vZGUgYW50aWMgKCVvKSIKIAotIzogYXBwbHkuYzozOTM2CisjOiBhcHBseS5jOjM5NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgogbXNnc3RyICJlbCBtb2RlIG5vdSAoJW8pIGRlICVzIG5vIGNvaW5jaWRlaXggYW1iIGVsIG1vZGUgYW50aWMgKCVvKSBkZSAlcyIKIAotIzogYXBwbHkuYzozOTU2CisjOiBhcHBseS5jOjM5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWZmZWN0ZWQgZmlsZSAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgImVsIGZpdHhlciBhZmVjdGF0ICclcycgw6lzIG3DqXMgZW5sbMOgIGQndW4gZW5sbGHDpyBzaW1iw7JsaWMiCiAKLSM6IGFwcGx5LmM6Mzk2MAorIzogYXBwbHkuYzozOTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAiJXM6IGVsIHBlZGHDpyBubyBzJ2FwbGljYSIKIAotIzogYXBwbHkuYzozOTc1CisjOiBhcHBseS5jOjM5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgIlMnZXN0w6AgY29tcHJvdmFudCBlbCBwZWRhw6cgJXMuLi4iCiAKLSM6IGFwcGx5LmM6NDA2NgorIzogYXBwbHkuYzo0MDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgImZhbHRhIGxhIGluZm9ybWFjacOzIHNoYTEgbyDDqXMgaW7DunRpbCBwZXIgYWwgc3VibcOyZHVsICVzIgogCi0jOiBhcHBseS5jOjQwNzMKKyM6IGFwcGx5LmM6NDA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCiBtc2dzdHIgImNhbnZpIGRlIG1vZGUgcGVyIGEgJXMsIGVsIHF1YWwgbm8gZXN0w6AgZW4gZWwgSEVBRCBhY3R1YWwiCiAKLSM6IGFwcGx5LmM6NDA3NgorIzogYXBwbHkuYzo0MDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgogbXNnc3RyICJmYWx0YSBpbmZvcm1hY2nDsyBzaGExIG8gw6lzIGluw7p0aWwgKCVzKS4iCiAKLSM6IGFwcGx5LmM6NDA4MSBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKKyM6IGFwcGx5LmM6NDA5MSBidWlsdGluL2NoZWNrb3V0LmM6MjM1IGJ1aWx0aW4vcmVzZXQuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBoYSBmYWxsYXQgcGVyIGFsIGNhbcOtICclcyciCiAKLSM6IGFwcGx5LmM6NDA4NQorIzogYXBwbHkuYzo0MDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFmZWdpciAlcyBhIGwnw61uZGV4IHRlbXBvcmFsIgogCi0jOiBhcHBseS5jOjQwOTUKKyM6IGFwcGx5LmM6NDEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGwnw61uZGV4IHRlbXBvcmFsIGEgJXMiCiAKLSM6IGFwcGx5LmM6NDIzMworIzogYXBwbHkuYzo0MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlbGltaW5hciAlcyBkZSBsJ8OtbmRleCIKIAotIzogYXBwbHkuYzo0MjY4CisjOiBhcHBseS5jOjQyNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICJwZWRhw6cgbWFsbcOocyBwZXIgYWwgc3VibcOyZHVsICVzIgogCi0jOiBhcHBseS5jOjQyNzQKKyM6IGFwcGx5LmM6NDI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgc3RhdCBhbCBmaXR4ZXIgbm92YW1lbnQgY3JlYXQgJyVzJyIKIAotIzogYXBwbHkuYzo0MjgyCisjOiBhcHBseS5jOjQyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCiBtc2dzdHIgIiIKICJubyBzJ2hhIHBvZ3V0IGNyZWFyIHVuIG1hZ2F0emVtIGRlIHJlY29semFtZW50IHBlciBhbCBmaXR4ZXIgbm92YW1lbnQgY3JlYXQgIgogIiVzIgogCi0jOiBhcHBseS5jOjQyODggYXBwbHkuYzo0NDMyCisjOiBhcHBseS5jOjQyOTggYXBwbHkuYzo0NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFmZWdpciB1bmEgZW50cmFkYSBkZSBjYXUgcGVyIGEgJXMiCiAKLSM6IGFwcGx5LmM6NDMyOQorIzogYXBwbHkuYzo0MzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgJyVzJyIKIAotIzogYXBwbHkuYzo0MzMzCisjOiBhcHBseS5jOjQzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgInMnZXN0w6AgdGFuY2FudCBlbCBmaXR4ZXIgJyVzJyIKIAotIzogYXBwbHkuYzo0NDAzCisjOiBhcHBseS5jOjQ0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIGZpdHhlciAnJXMnIG1vZGUgJW8iCiAKLSM6IGFwcGx5LmM6NDUwMQorIzogYXBwbHkuYzo0NTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCiBtc2dzdHIgIkVsIHBlZGHDpyAlcyBzJ2hhIGFwbGljYXQgbmV0YW1lbnQuIgogCi0jOiBhcHBseS5jOjQ1MDkKKyM6IGFwcGx5LmM6NDUxOQogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICJlcnJvciBpbnRlcm4iCiAKLSM6IGFwcGx5LmM6NDUxMgorIzogYXBwbHkuYzo0NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKIG1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKIG1zZ3N0clswXSAiUydlc3TDoCBhcGxpY2FudCBlbCBwZWRhw6cgJSVzIGFtYiAlZCByZWJ1aWcuLi4iCiBtc2dzdHJbMV0gIlMnZXN0w6AgYXBsaWNhbnQgZWwgcGVkYcOnICUlcyBhbWIgJWQgcmVidXRqb3MuLi4iCiAKLSM6IGFwcGx5LmM6NDUyMworIzogYXBwbHkuYzo0NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKIG1zZ3N0ciAicydlc3TDoCB0cnVuY2FudCBlbCBub20gZGVsIGZpdHhlciAucmVqIGEgJS4qcy5yZWoiCiAKLSM6IGFwcGx5LmM6NDUzMSBidWlsdGluL2ZldGNoLmM6NzM3IGJ1aWx0aW4vZmV0Y2guYzo5ODYKKyM6IGFwcGx5LmM6NDU0MSBidWlsdGluL2ZldGNoLmM6NzM4IGJ1aWx0aW4vZmV0Y2guYzo5ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAlcyIKIAotIzogYXBwbHkuYzo0NTQ1CisjOiBhcHBseS5jOjQ1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAiRWwgdHJvcyAjJWQgcydoYSBhcGxpY2F0IG5ldGFtZW50LiIKIAotIzogYXBwbHkuYzo0NTQ5CisjOiBhcHBseS5jOjQ1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgogbXNnc3RyICJTJ2hhIHJlYnV0amF0IGVsIHRyb3MgIyVkLiIKIAotIzogYXBwbHkuYzo0NjU5CisjOiBhcHBseS5jOjQ2NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKIG1zZ3N0ciAiUydoYSBvbcOocyBlbCBwZWRhw6cgJyVzJy4iCiAKLSM6IGFwcGx5LmM6NDY2NworIzogYXBwbHkuYzo0Njc3CiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgogbXNnc3RyICJlbnRyYWRhIG5vIHJlY29uZWd1ZGEiCiAKLSM6IGFwcGx5LmM6NDY4NgorIzogYXBwbHkuYzo0Njk2CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBlbCBmaXR4ZXIgZCfDrW5kZXgiCiAKLSM6IGFwcGx5LmM6NDgyNAorIzogYXBwbHkuYzo0ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciBlbCBwZWRhw6cgJyVzJzogJXMiCiAKLSM6IGFwcGx5LmM6NDg0OQorIzogYXBwbHkuYzo0ODYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHJbMF0gInMnaGEgb23DqHMgJWQgZXJyb3IgZCdlc3BhaSBlbiBibGFuYyIKLW1zZ3N0clsxXSAicydoYW4gb23DqHMgJWQgZXJyb3JzIGQnZXNwYWkgZW4gYmxhbmMiCittc2dzdHJbMF0gInMnaGEgc2lsZW5jaWF0ICVkIGVycm9yIGQnZXNwYWkgZW4gYmxhbmMiCittc2dzdHJbMV0gInMnaGFuIHNpbGVuY2lhdCAlZCBlcnJvcnMgZCdlc3BhaSBlbiBibGFuYyIKIAotIzogYXBwbHkuYzo0ODU1IGFwcGx5LmM6NDg3MAorIzogYXBwbHkuYzo0ODY2IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZCBsw61uaWEgYWZlZ2VpeCBlcnJvcnMgZCdlc3BhaSBlbiBibGFuYy4iCiBtc2dzdHJbMV0gIiVkIGzDrW5pZXMgYWZlZ2VpeGVuIGVycm9ycyBkJ2VzcGFpIGVuIGJsYW5jLiIKIAotIzogYXBwbHkuYzo0ODYzCisjOiBhcHBseS5jOjQ4NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKQEAgLTYyNywyNTcgKzYzNiwyNjIgQEAKIG1zZ3N0clsxXSAiIgogIlMnaGFuIGFwbGljYXQgJWQgbMOtbmllcyBkZXNwcsOpcyBkJ2FycmVnbGFyIGVscyBlcnJvcnMgZCdlc3BhaSBlbiBibGFuYy4iCiAKLSM6IGFwcGx5LmM6NDg3OSBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjk4IGJ1aWx0aW4vcm0uYzozOTEKKyM6IGFwcGx5LmM6NDg5MCBidWlsdGluL2FkZC5jOjUxMyBidWlsdGluL212LmM6Mjk5IGJ1aWx0aW4vcm0uYzozOTEKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgdW4gZml0eGVyIGQnw61uZGV4IG5vdSIKIAotIzogYXBwbHkuYzo0OTEwIGFwcGx5LmM6NDkxMyBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAotIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA0Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOQorIzogYXBwbHkuYzo0OTIxIGFwcGx5LmM6NDkyNCBidWlsdGluL2FtLmM6MjI1NyBidWlsdGluL2FtLmM6MjI2MAorIzogYnVpbHRpbi9jbG9uZS5jOjExNSBidWlsdGluL2ZldGNoLmM6OTMgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKIG1zZ2lkICJwYXRoIgogbXNnc3RyICJjYW3DrSIKIAotIzogYXBwbHkuYzo0OTExCisjOiBhcHBseS5jOjQ5MjIKIG1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICJubyBhcGxpcXVpcyBlbHMgY2FudmlzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIGVsIGNhbcOtIGRvbmF0IgogCi0jOiBhcHBseS5jOjQ5MTQKKyM6IGFwcGx5LmM6NDkyNQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgImFwbGljYSBlbHMgY2FudmlzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIGVsIGNhbcOtIGRvbmF0IgogCi0jOiBhcHBseS5jOjQ5MTYgYnVpbHRpbi9hbS5jOjIyODYKKyM6IGFwcGx5LmM6NDkyNyBidWlsdGluL2FtLmM6MjI2NgogbXNnaWQgIm51bSIKIG1zZ3N0ciAibsO6bWVybyIKIAotIzogYXBwbHkuYzo0OTE3CisjOiBhcHBseS5jOjQ5MjgKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAiIgogImVsaW1pbmEgPG5vbWJyZT4gYmFycmVzIG9ibGlxw7xlcyBpbmljaWFscyBkZWxzIGNhbWlucyBkZSBkaWZlcsOobmNpYSAiCiAidHJhZGljaW9uYWxzIgogCi0jOiBhcHBseS5jOjQ5MjAKKyM6IGFwcGx5LmM6NDkzMQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgImlnbm9yYSBhZmVnaW1lbnRzIGZldHMgcGVsIHBlZGHDpyIKIAotIzogYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MzMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgIiIKICJlbiBsbG9jIGQnYXBsaWNhciBlbCBwZWRhw6csIGVtZXQgbGVzIGVzdGFkw61zdGlxdWVzIGRlIGRpZmVyw6huY2lhIGRlIGwnZW50cmFkYSIKIAotIzogYXBwbHkuYzo0OTI2CisjOiBhcHBseS5jOjQ5MzcKIG1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgogbXNnc3RyICJtb3N0cmEgZWwgbm9tYnJlIGRlIGzDrW5pZXMgYWZlZ2lkZXMgaSBzdXByaW1pZGVzIGVuIG5vdGFjacOzIGRlY2ltYWwiCiAKLSM6IGFwcGx5LmM6NDkyOAorIzogYXBwbHkuYzo0OTM5CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiZW4gbGxvYyBkJ2FwbGljYXIgZWwgcGVkYcOnLCBlbWV0IHVuIHJlc3VtIGRlIGwnZW50cmFkYSIKIAotIzogYXBwbHkuYzo0OTMwCisjOiBhcHBseS5jOjQ5NDEKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgogbXNnc3RyICJlbiBsbG9jIGQnYXBsaWNhciBlbCBwZWRhw6csIHZlZ2VzIHNpIGVsIHBlZGHDpyDDqXMgYXBsaWNhYmxlIgogCi0jOiBhcHBseS5jOjQ5MzIKKyM6IGFwcGx5LmM6NDk0MwogbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAiYXNzZWd1cmEgcXVlIGVsIHBlZGHDpyBzaWd1aSBhcGxpY2FibGUgYSBsJ8OtbmRleCBhY3R1YWwiCiAKLSM6IGFwcGx5LmM6NDkzNAorIzogYXBwbHkuYzo0OTQ1CiBtc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImFwbGljYSB1biBwZWRhw6cgc2Vuc2UgdG9jYXIgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBhcHBseS5jOjQ5MzYKKyM6IGFwcGx5LmM6NDk0NwogbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCiBtc2dzdHIgImFjY2VwdGEgdW4gcGVkYcOnIHF1ZSB0b3F1aSBmb3JhIGRlIGwnw6ByZWEgZGUgdHJlYmFsbCIKIAotIzogYXBwbHkuYzo0OTM4CisjOiBhcHBseS5jOjQ5NDkKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAiYXBsaWNhIGVsIHBlZGHDpyB0YW1iw6kgKHVzZXUgYW1iIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiAKLSM6IGFwcGx5LmM6NDk0MAorIzogYXBwbHkuYzo0OTUxCiBtc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAiaW50ZW50YSB1bmEgZnVzacOzIGRlIHRyZXMgdmllcyBzaSBlbCBwZWRhw6cgbm8gcydhcGxpY2EiCiAKLSM6IGFwcGx5LmM6NDk0MgorIzogYXBwbHkuYzo0OTUzCiBtc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCiBtc2dzdHIgImNvbnN0cnVlaXggdW4gw61uZGV4IHRlbXBvcmFsIGJhc2F0IGVuIGxhIGluZm9ybWFjacOzIGQnw61uZGV4IGluY3J1c3RhZGEiCiAKLSM6IGFwcGx5LmM6NDk0NSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDcKKyM6IGFwcGx5LmM6NDk1NiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTUKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiZWxzIGNhbWlucyBzZSBzZXBhcmVuIGFtYiBlbCBjYXLDoGN0ZXIgTlVMIgogCi0jOiBhcHBseS5jOjQ5NDcKKyM6IGFwcGx5LmM6NDk1OAogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAiYXNzZWd1cmEndCBxdWUgYWxtZW55cyA8bj4gbMOtbmllcyBkZSBjb250ZXh0IGNvaW5jaWRlaXhpbiIKIAotIzogYXBwbHkuYzo0OTQ4IGJ1aWx0aW4vYW0uYzoyMjY1CisjOiBhcHBseS5jOjQ5NTkgYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgImFjY2nDsyIKIAotIzogYXBwbHkuYzo0OTQ5CisjOiBhcHBseS5jOjQ5NjAKIG1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0ciAiIgogImRldGVjdGEgbGVzIGzDrW5pZXMgbm92ZXMgbyBtb2RpZmljYWRlcyBxdWUgdGluZ3VpbiBlcnJvcnMgZCdlc3BhaSBlbiBibGFuYyIKIAotIzogYXBwbHkuYzo0OTUyIGFwcGx5LmM6NDk1NQorIzogYXBwbHkuYzo0OTYzIGFwcGx5LmM6NDk2NgogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCiBtc2dzdHIgImlnbm9yYSBlbHMgY2FudmlzIGQnZXNwYWkgZW4gYmxhbmMgZW4gY2VyY2FyIGNvbnRleHQiCiAKLSM6IGFwcGx5LmM6NDk1OAorIzogYXBwbHkuYzo0OTY5CiBtc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCiBtc2dzdHIgImFwbGljYSBlbCBwZWRhw6cgYWwgcmV2w6lzIgogCi0jOiBhcHBseS5jOjQ5NjAKKyM6IGFwcGx5LmM6NDk3MQogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICJubyBlc3BlcmlzIGFsbWVueXMgdW5hIGzDrW5pYSBkZSBjb250ZXh0IgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk3MwogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICJkZWl4YSBlbHMgdHJvc3NvcyByZWJ1dGphdHMgZW4gZml0eGVycyAqLnJlaiBjb3JyZXNwb25lbnRzIgogCi0jOiBhcHBseS5jOjQ5NjQKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgogbXNnc3RyICJwZXJtZXQgdHJvc3NvcyBlbmNhdmFsY2FudHMiCiAKLSM6IGFwcGx5LmM6NDk2NSBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NjUxCi0jOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjEyMiBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorIzogYXBwbHkuYzo0OTc2IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MCBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg3NyBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAic2lndWVzIGRldGFsbGF0IgogCi0jOiBhcHBseS5jOjQ5NjcKKyM6IGFwcGx5LmM6NDk3OAogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICJ0b2xlcmEgdW5hIGzDrW5pYSBub3ZhIGluY29ycmVjdGFtZW50IGRldGVjdGFkYSBhbCBmaW5hbCBkZWwgZml0eGVyIgogCi0jOiBhcHBseS5jOjQ5NzAKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKIG1zZ3N0ciAibm8gY29uZmnDr3MgZW4gZWxzIHJlY29tcHRlcyBkZSBsw61uaWEgZW4gbGVzIGNhcMOnYWxlcmVzIGRlbHMgdHJvc3NvcyIKIAotIzogYXBwbHkuYzo0OTcyIGJ1aWx0aW4vYW0uYzoyMjc0CisjOiBhcHBseS5jOjQ5ODMgYnVpbHRpbi9hbS5jOjIyNTQKIG1zZ2lkICJyb290IgogbXNnc3RyICJhcnJlbCIKIAotIzogYXBwbHkuYzo0OTczCisjOiBhcHBseS5jOjQ5ODQKIG1zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgogbXNnc3RyICJhbnRlcG9zYSA8YXJyZWw+IGEgdG90cyBlbHMgbm9tcyBkZSBmaXR4ZXIiCiAKLSM6IGFyY2hpdmUuYzoxMgorIzogYXJjaGl2ZS5jOjEzCiBtc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgWzxvcGNpb25zPl0gPGFyYnJlPiBbPGNhbcOtPi4uLl0iCiAKLSM6IGFyY2hpdmUuYzoxMworIzogYXJjaGl2ZS5jOjE0CiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzoxNAorIzogYXJjaGl2ZS5jOjE1CiBtc2dpZCAiIgogImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGRpcMOyc2l0PiBbLS1leGVjIDxvcmRyZT5dIFs8b3BjaW9ucz5dIDxhcmJyZT4gIgogIls8Y2Ftw60+Li4uXSIKIAotIzogYXJjaGl2ZS5jOjE1CisjOiBhcmNoaXZlLmM6MTYKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8ZGlww7JzaXQ+IFstLWV4ZWMgPG9yZHJlPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTUyIGJ1aWx0aW4vYWRkLmM6NDQyIGJ1aWx0aW4vcm0uYzozMDAKKyM6IGFyY2hpdmUuYzozMzMgYnVpbHRpbi9hZGQuYzoxNTQgYnVpbHRpbi9hZGQuYzo0OTIgYnVpbHRpbi9ybS5jOjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICJsJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtICclcycgbm8gaGEgY29pbmNpZGl0IGFtYiBjYXAgZml0eGVyIgogCi0jOiBhcmNoaXZlLmM6NDI5CisjOiBhcmNoaXZlLmM6NDE4CiBtc2dpZCAiZm10IgogbXNnc3RyICJmb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IGQnYXJ4aXUiCiAKLSM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CisjOiBhcmNoaXZlLmM6NDE5IGJ1aWx0aW4vbG9nLmM6MTQ0NgogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAicHJlZml4IgogCi0jOiBhcmNoaXZlLmM6NDMxCisjOiBhcmNoaXZlLmM6NDIwCiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAiYW50ZXBvc2EgZWwgcHJlZml4IGEgY2FkYSBub20gZGUgY2Ftw60gZW4gbCdhcnhpdSIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2JsYW1lLmM6MjYwNyBidWlsdGluL2JsYW1lLmM6MjYwOCBidWlsdGluL2NvbmZpZy5jOjU5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6MTA1NAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMSBidWlsdGluL2xzLWZpbGVzLmM6NTQxIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDEgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3JlYWQtdHJlZS5jOjEwOQorIzogYXJjaGl2ZS5jOjQyMSBidWlsdGluL2JsYW1lLmM6NjkzIGJ1aWx0aW4vYmxhbWUuYzo2OTQgYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkxIGJ1aWx0aW4vZ3JlcC5jOjEwODAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIgYnVpbHRpbi9scy1maWxlcy5jOjU0OSBidWlsdGluL2xzLWZpbGVzLmM6NTUyCisjOiBidWlsdGluL25vdGVzLmM6NDA0IGJ1aWx0aW4vbm90ZXMuYzo1NjcgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjAKICM6IHBhcnNlLW9wdGlvbnMuaDoxNTMKIG1zZ2lkICJmaWxlIgogbXNnc3RyICJmaXR4ZXIiCiAKLSM6IGFyY2hpdmUuYzo0MzMgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzo0MjIgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgImVzY3JpdSBsJ2FyeGl1IGEgYXF1ZXN0IGZpdHhlciIKIAotIzogYXJjaGl2ZS5jOjQzNQorIzogYXJjaGl2ZS5jOjQyNAogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImxsZWdlaXggLmdpdGF0dHJpYnV0ZXMgZW4gZWwgZGlyZWN0b3JpIGRlIHRyZWJhbGwiCiAKLSM6IGFyY2hpdmUuYzo0MzYKKyM6IGFyY2hpdmUuYzo0MjUKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICJpbmZvcm1hIGRlIGZpdHhlcnMgYXJ4aXZhdHMgZW4gc3RkZXJyIgogCi0jOiBhcmNoaXZlLmM6NDM3CisjOiBhcmNoaXZlLmM6NDI2CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAibm9tw6lzIGVtbWFnYXR6ZW1hIgogCi0jOiBhcmNoaXZlLmM6NDM4CisjOiBhcmNoaXZlLmM6NDI3CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJjb21wcmltZWl4IG3DqXMgcsOgcGlkYW1lbnQiCiAKLSM6IGFyY2hpdmUuYzo0NDYKKyM6IGFyY2hpdmUuYzo0MzUKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgImNvbXByaW1laXggbWlsbG9yIgogCi0jOiBhcmNoaXZlLmM6NDQ5CisjOiBhcmNoaXZlLmM6NDM4CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICJsbGlzdGEgZWxzIGZvcm1hdHMgZCdhcnhpdSBhZG1lc29zIgogCi0jOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2Nsb25lLmM6ODgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OQorIzogYXJjaGl2ZS5jOjQ0MCBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6MTA1IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MgogbXNnaWQgInJlcG8iCiBtc2dzdHIgImRpcMOyc2l0IgogCi0jOiBhcmNoaXZlLmM6NDUyIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6NDQxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgInJlY3VwZXJhIGwnYXJ4aXUgZGVsIGRpcMOyc2l0IHJlbW90IDxkaXDDsnNpdD4iCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NQorIzogYXJjaGl2ZS5jOjQ0MiBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg4CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAib3JkcmUiCiAKLSM6IGFyY2hpdmUuYzo0NTQgYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzo0NDMgYnVpbHRpbi9hcmNoaXZlLmM6OTMKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgImNhbcOtIGEgbCdvcmRyZSBnaXQtdXBsb2FkLWFyY2hpdmUgcmVtb3RhIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDUwCiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgIk9wY2nDsyBpbmVzcGVyYWRhIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDYzCisjOiBhcmNoaXZlLmM6NDUyCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIkwnb3BjacOzIC0tZXhlYyBub23DqXMgZXMgcG90IHVzYXIganVudCBhbWIgLS1yZW1vdGUiCiAKLSM6IGFyY2hpdmUuYzo0NjUKKyM6IGFyY2hpdmUuYzo0NTQKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKIG1zZ3N0ciAiT3BjacOzIGluZXNwZXJhZGEgLS1vdXRwdXQiCiAKLSM6IGFyY2hpdmUuYzo0ODcKKyM6IGFyY2hpdmUuYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgogbXNnc3RyICJGb3JtYXQgZCdhcnhpdSBkZXNjb25lZ3V0ICclcyciCiAKLSM6IGFyY2hpdmUuYzo0OTQKKyM6IGFyY2hpdmUuYzo0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAiUGFyw6BtZXRyZSBubyBhZG3DqHMgcGVyIGFsIGZvcm1hdCAnJXMnOiAtJWQiCiAKLSM6IGF0dHIuYzoyNjMKKyM6IGF0dHIuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS4qcyBpcyBub3QgYSB2YWxpZCBhdHRyaWJ1dGUgbmFtZSIKK21zZ3N0ciAiJS4qcyBubyDDqXMgdW4gbm9tIGQnYXRyaWJ1dCB2w6BsaWQiCisKKyM6IGF0dHIuYzo0MTAKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKICJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iCkBAIC04ODUsMTIgKzg5OSw3IEBACiAiRWxzIHBhdHJvbnMgbmVnYXRpdXMgcydpZ25vcmVuIGVuIGVscyBhdHJpYnV0cyBkZSBnaXRcbiIKICJVc2V1ICdcXCEnIHBlciBleGNsYW1hY2nDsyBjYXBkYXZhbnRlcmEgbGl0ZXJhbC4iCiAKLSM6IGJpc2VjdC5jOjQ0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCi1tc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICclcyciCi0KLSM6IGJpc2VjdC5jOjQ0NgorIzogYmlzZWN0LmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCiBtc2dzdHIgIkNvbWVudGFyaSBhbWIgY29tZXRlcyBlcnLDsm5pZXMgZW4gZWwgZml0eGVyICclcyc6ICVzIgpAQCAtOTY1LDcgKzk3NCw3IEBACiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgImVzIG5lY2Vzc2l0YSB1bmEgcmV2aXNpw7MgJXMiCiAKLSM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjYyCisjOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NSBidWlsdGluL3RhZy5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBlbCBmaXR4ZXIgJyVzJyIKQEAgLTk5MCw3ICs5OTksNyBAQAogIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKICJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iCiBtc2dzdHIgIiIKLSJObyBzJ2hhIHRyb2JhdCBjYXAgY29taXNzacOzIHByb2JhYmxlLlxuIgorIk5vIHMnaGEgdHJvYmF0IGNhcCBjb21pc3Npw7MgY29tcHJvdmFibGUuXG4iCiAiUG90c2VyIGhldSBjb21lbsOnYXQgYW1iIHBhcsOgbWV0cmVzIGRlIGNhbcOtIGRvbGVudHM/XG4iCiAKICM6IGJpc2VjdC5jOjk5NApAQCAtMTAwMCwxNSArMTAwOSw1NCBAQAogbXNnc3RyWzBdICIoYXByb3hpbWFkYW1lbnQgJWQgcGFzKSIKIG1zZ3N0clsxXSAiKGFwcm94aW1hZGFtZW50ICVkIHBhc3NvcykiCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGgKLSMuICIocm91Z2hseSAlZCBzdGVwcykiIHRyYW5zbGF0aW9uCi0jOiBiaXNlY3QuYzo5OTgKKyMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggIihyb3VnaGx5ICVkCisjLiBzdGVwcykiIHRyYW5zbGF0aW9uLgorIy4KKyM6IGJpc2VjdC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbiBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgogbXNnaWRfcGx1cmFsICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgogbXNnc3RyWzBdICJCaXNlY2FudDogbWFuY2EgJWQgcmV2aXNpw7MgYSBwcm92YXIgZGVzcHLDqXMgZCdhcXVlc3RhICVzXG4iCiBtc2dzdHJbMV0gIkJpc2VjYW50OiBtYW5xdWVuICVkIHJldmlzaW9ucyBhIHByb3ZhciBkZXNwcsOpcyBkJ2FxdWVzdGEgJXNcbiIKIAorIzogYmxhbWUuYzoxNzU3Cittc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKK21zZ3N0ciAiLS1jb250ZW50cyBpIC0tcmV2ZXJzZSBubyBmdW5jaW9uZW4gYsOpIGp1bnRlcy4iCisKKyM6IGJsYW1lLmM6MTc2OAorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAibm8gZXMgcG90IHVzYXIgLS1jb250ZW50cyBhbWIgZWwgbm9tIGQnb2JqZWN0ZSBkZSBsYSBjb21pc3Npw7MgZmluYWwiCisKKyM6IGJsYW1lLmM6MTc4OAorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSBpIC0tZmlyc3QtcGFyZW50LXRvZ2V0aGVyIHJlcXVlcmVpeGVuIHVuYSDDumx0aW1hIGNvbWlzc2nDsyAiCisiZXNwZWNpZmljYWRhIgorCisjOiBibGFtZS5jOjE3OTcgYnVuZGxlLmM6MTY0IHJlZi1maWx0ZXIuYzoxOTE5IHNlcXVlbmNlci5jOjExNjYKKyM6IHNlcXVlbmNlci5jOjIzMjggYnVpbHRpbi9jb21taXQuYzoxMDU4IGJ1aWx0aW4vbG9nLmM6MzU2IGJ1aWx0aW4vbG9nLmM6OTA3CisjOiBidWlsdGluL2xvZy5jOjEzNTcgYnVpbHRpbi9sb2cuYzoxNjgzIGJ1aWx0aW4vbG9nLmM6MTkyNiBidWlsdGluL21lcmdlLmM6MzYwCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTc3Cittc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCittc2dzdHIgImxhIGNvbmZpZ3VyYWNpw7MgZGVsIHBhc3NlaWcgcGVyIHJldmlzaW9ucyBoYSBmYWxsYXQiCisKKyM6IGJsYW1lLmM6MTgxNQorbXNnaWQgIiIKKyItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCittc2dzdHIgIiIKKyItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQganVudHMgcmVxdWVyZWl4ZW4gdW4gcmFuZyBkZSBsYSBjYWRlbmEgZGUgbWFyZXMgIgorInByaW1lcmVzIgorCisjOiBibGFtZS5jOjE4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgorbXNnc3RyICJubyBoaSBoYSB0YWwgY2Ftw60gJXMgZW4gJXMiCisKKyM6IGJsYW1lLmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGVsIGJsb2IgJXMgcGVyIGFsIGNhbcOtICVzIgorCiAjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0xMDMxLDggKzEwNzksOCBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJXMgZnJvbSAlcyBieSByZWJhc2luZy4iCiBtc2dzdHIgIiIKLSJMYSBicmFuY2EgJXMgZXN0w6AgY29uZmlndXJhZGEgcGVyIGEgc2VndWlyIGxhIGJyYW5jYSByZW1vdGEgJXMgZGUgJXMgcGVyICIKLSJyZWJhc2FyLiIKKyJMYSBicmFuY2EgJXMgZXN0w6AgY29uZmlndXJhZGEgcGVyIGEgc2VndWlyIGxhIGJyYW5jYSByZW1vdGEgJXMgZGUgJXMgZmVudCAiCisiwqtyZWJhc2XCuy4iCiAKICM6IGJyYW5jaC5jOjk0CiAjLCBjLWZvcm1hdApAQCAtMTA0Myw3ICsxMDkxLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJXMgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCi0iTGEgYnJhbmNhICVzIGVzdMOgIGNvbmZpZ3VyYWRhIHBlciBhIHNlZ3VpciBsYSBicmFuY2EgbG9jYWwgJXMgcGVyIHJlYmFzYXIuIgorIkxhIGJyYW5jYSAlcyBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBzZWd1aXIgbGEgYnJhbmNhIGxvY2FsICVzIGZlbnQgwqtyZWJhc2XCuy4iCiAKICM6IGJyYW5jaC5jOjk5CiAjLCBjLWZvcm1hdApAQCAtMTA1NCw4ICsxMTAyLDggQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICVzIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgotIkxhIGJyYW5jYSAlcyBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBzZWd1aXIgbGEgcmVmZXLDqG5jaWEgcmVtb3RhICVzIHBlciAiCi0icmViYXNhci4iCisiTGEgYnJhbmNhICVzIGVzdMOgIGNvbmZpZ3VyYWRhIHBlciBhIHNlZ3VpciBsYSByZWZlcsOobmNpYSByZW1vdGEgJXMgZmVudCAiCisiwqtyZWJhc2XCuy4iCiAKICM6IGJyYW5jaC5jOjEwNQogIywgYy1mb3JtYXQKQEAgLTEwNjYsOCArMTExNCw4IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICVzIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgotIkxhIGJyYW5jYSAlcyBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBzZWd1aXIgbGEgcmVmZXLDqG5jaWEgbG9jYWwgJXMgcGVyICIKLSJyZWJhc2FyLiIKKyJMYSBicmFuY2EgJXMgZXN0w6AgY29uZmlndXJhZGEgcGVyIGEgc2VndWlyIGxhIHJlZmVyw6huY2lhIGxvY2FsICVzIGZlbnQgIgorIsKrcmViYXNlwrsuIgogCiAjOiBicmFuY2guYzoxMTAKICMsIGMtZm9ybWF0CkBAIC0xMTUwLDcgKzExOTgsNyBAQAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICInJXMnIGphIHMnaGEgYWdhZmF0IGEgJyVzJyIKIAotIzogYnJhbmNoLmM6MzYzCisjOiBicmFuY2guYzozNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgIkxhIEhFQUQgZGUgbCdhcmJyZSBkZSB0cmViYWxsICVzIG5vIGVzdMOgIGFjdHVhbGl0emF0IgpAQCAtMTE2MCw5NyArMTIwOCw5MCBAQAogbXNnaWQgIiclcycgZG9lcyBub3QgbG9vayBsaWtlIGEgdjIgYnVuZGxlIGZpbGUiCiBtc2dzdHIgIiclcycgbm8gc2VtYmxhIHVuIGZpdHhlciBkZSBmYXJjZWxsIHYyIgogCi0jOiBidW5kbGUuYzo2MQorIzogYnVuZGxlLmM6NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICJjYXDDp2FsZXJhIG5vIHJlY29uZWd1ZGE6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6MTMzMSBzZXF1ZW5jZXIuYzoxNzUyIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CisjOiBidW5kbGUuYzo4OCBzZXF1ZW5jZXIuYzoxMzQ0IHNlcXVlbmNlci5jOjE3NzAgYnVpbHRpbi9jb21taXQuYzo3NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciAnJXMnIgogCi0jOiBidW5kbGUuYzoxMzkKKyM6IGJ1bmRsZS5jOjE0MAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICJBbCBkaXDDsnNpdCBsaSBtYW5xdWVuIGFxdWVzdGVzIGNvbWlzc2lvbnMgcHJlcmVxdWlzaXRzOiIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDk5IHNlcXVlbmNlci5jOjExNTQgc2VxdWVuY2VyLmM6MjI5MAotIzogYnVpbHRpbi9ibGFtZS5jOjI4MjAgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzQ4Ci0jOiBidWlsdGluL2xvZy5jOjg5MCBidWlsdGluL2xvZy5jOjEzNDAgYnVpbHRpbi9sb2cuYzoxNjY2IGJ1aWx0aW4vbG9nLmM6MTkwOQotIzogYnVpbHRpbi9tZXJnZS5jOjM2MCBidWlsdGluL3Nob3J0bG9nLmM6MTc3Ci1tc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCi1tc2dzdHIgImxhIGNvbmZpZ3VyYWNpw7MgZGVsIHBhc3NlaWcgcGVyIHJldmlzaW9ucyBoYSBmYWxsYXQiCi0KLSM6IGJ1bmRsZS5jOjE4NQorIzogYnVuZGxlLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICJFbCBmYXJjZWxsIGNvbnTDqSBhcXVlc3RhIHJlZmVyw6huY2lhOiIKIG1zZ3N0clsxXSAiRWwgZmFyY2VsbCBjb250w6kgYXF1ZXN0ZXMgJWQgcmVmZXLDqG5jaWVzOiIKIAotIzogYnVuZGxlLmM6MTkyCisjOiBidW5kbGUuYzoxOTMKIG1zZ2lkICJUaGUgYnVuZGxlIHJlY29yZHMgYSBjb21wbGV0ZSBoaXN0b3J5LiIKIG1zZ3N0ciAiRWwgZmFyY2VsbCByZWdpc3RyYSB1bmEgaGlzdMOycmlhIGNvbXBsZXRhLiIKIAotIzogYnVuZGxlLmM6MTk0CisjOiBidW5kbGUuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIkVsIGZhcmNlbGwgcmVxdWVyZWl4IGFxdWVzdGEgcmVmZXLDqG5jaWE6IgogbXNnc3RyWzFdICJFbCBmYXJjZWxsIHJlcXVlcmVpeCBhcXVlc3RlcyAlZCByZWZlcsOobmNpZXM6IgogCi0jOiBidW5kbGUuYzoyNTMKKyM6IGJ1bmRsZS5jOjI1NAogbXNnaWQgIkNvdWxkIG5vdCBzcGF3biBwYWNrLW9iamVjdHMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgZWwgcGFjay1vYmplY3RzIgogCi0jOiBidW5kbGUuYzoyNjQKKyM6IGJ1bmRsZS5jOjI2NQogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICJFbCBwYWNrLW9iamVjdHMgcydoYSBtb3J0IgogCi0jOiBidW5kbGUuYzozMDQKKyM6IGJ1bmRsZS5jOjMwNwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgIkVsIHJldi1saXN0IHMnaGEgbW9ydCIKIAotIzogYnVuZGxlLmM6MzUzCisjOiBidW5kbGUuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgImxlcyBvcGNpb25zIGRlIGxhIGxsaXN0YSBkZSByZXZpc2lvbnMgZXhjbG91ZW4gbGEgcmVmZXLDqG5jaWEgJyVzJyIKIAotIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTY1IGJ1aWx0aW4vbG9nLmM6MTU3MiBidWlsdGluL3Nob3J0bG9nLmM6MjgyCisjOiBidW5kbGUuYzo0NDYgYnVpbHRpbi9sb2cuYzoxNzMgYnVpbHRpbi9sb2cuYzoxNTg5IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAicGFyw6BtZXRyZSBubyByZWNvbmVndXQ6ICVzIgogCi0jOiBidW5kbGUuYzo0NTEKKyM6IGJ1bmRsZS5jOjQ1NAogbXNnaWQgIlJlZnVzaW5nIHRvIGNyZWF0ZSBlbXB0eSBidW5kbGUuIgogbXNnc3RyICJTJ2VzdMOgIHJlZnVzYW50IGNyZWFyIHVuIGZhcmNlbGwgYnVpdC4iCiAKLSM6IGJ1bmRsZS5jOjQ2MworIzogYnVuZGxlLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGNyZWFyICclcyciCiAKLSM6IGJ1bmRsZS5jOjQ5MQorIzogYnVuZGxlLmM6NDk0CiBtc2dpZCAiaW5kZXgtcGFjayBkaWVkIgogbXNnc3RyICJMJ2luZGV4LXBhY2sgcydoYSBtb3J0IgogCi0jOiBjb2xvci5jOjMwMAorIzogY29sb3IuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAidmFsb3IgZGUgY29sb3Igbm8gdsOgbGlkOiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBzZXF1ZW5jZXIuYzoxNTY0IGJ1aWx0aW4vYW0uYzo0MjEgYnVpbHRpbi9hbS5jOjQ1NwotIzogYnVpbHRpbi9hbS5jOjE0OTMgYnVpbHRpbi9hbS5jOjIxMjcKKyM6IGNvbW1pdC5jOjQxIHNlcXVlbmNlci5jOjE1ODIgYnVpbHRpbi9hbS5jOjQyMCBidWlsdGluL2FtLmM6NDU2CisjOiBidWlsdGluL2FtLmM6MTQ2OSBidWlsdGluL2FtLmM6MjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyICVzIgogCi0jOiBjb21taXQuYzo0MgorIzogY29tbWl0LmM6NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMgbm8gw6lzIHVuYSBjb21pc3Npw7MhIgogCi0jOiBjb21taXQuYzoxNTE0CisjOiBjb21taXQuYzoxNTExCiBtc2dpZCAiIgogIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKICJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgpAQCAtMTI2NSwxNDcgKzEzMDYsMTY2IEBACiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAibWVtw7JyaWEgZXNnb3RhZGEiCiAKLSM6IGNvbmZpZy5jOjUxOAorIzogY29uZmlnLmM6MTg2Cittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAibMOtbmlhIGRlIGNvbmZpZ3VyYWNpw7MgJWQgZXJyw7JuaWEgZW4gZWwgYmxvYiAlcyIKIAotIzogY29uZmlnLmM6NTIyCisjOiBjb25maWcuYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCiBtc2dzdHIgImzDrW5pYSBkZSBjb25maWd1cmFjacOzICVkIGVycsOybmlhIGVuIGVsIGZpdHhlciAlcyIKIAotIzogY29uZmlnLmM6NTI2CisjOiBjb25maWcuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsw61uaWEgZGUgY29uZmlndXJhY2nDsyAlZCBlcnLDsm5pYSBlbiBsJ2VudHJhZGEgZXN0w6BuZGFyZCIKIAotIzogY29uZmlnLmM6NTMwCisjOiBjb25maWcuYzo3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgogbXNnc3RyICJsw61uaWEgZGUgY29uZmlndXJhY2nDsyAlZCBlcnLDsm5pYSBlbiBlbCBibG9iIGRlIHN1Ym3DsmR1bCAlcyIKIAotIzogY29uZmlnLmM6NTM0CisjOiBjb25maWcuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKIG1zZ3N0ciAibMOtbmlhIGRlIGNvbmZpZ3VyYWNpw7MgJWQgZXJyw7JuaWEgZW4gbGEgbMOtbmlhIGQnb3JkcmVzICVzIgogCi0jOiBjb25maWcuYzo1MzgKKyM6IGNvbmZpZy5jOjc0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCiBtc2dzdHIgImzDrW5pYSBkZSBjb25maWd1cmFjacOzICVkIGVycsOybmlhIGVuICVzIgogCi0jOiBjb25maWcuYzo2NTcKKyM6IGNvbmZpZy5jOjg2OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAiZm9yYSBkZSByYW5nIgogCi0jOiBjb25maWcuYzo2NTcKKyM6IGNvbmZpZy5jOjg2OAogbXNnaWQgImludmFsaWQgdW5pdCIKIG1zZ3N0ciAidW5pdGF0IG5vIHbDoGxpZGEiCiAKLSM6IGNvbmZpZy5jOjY2MworIzogY29uZmlnLmM6ODc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyBlcnJvbmkgJyVzJyBwZXIgJyVzJzogJXMiCiAKLSM6IGNvbmZpZy5jOjY2OAorIzogY29uZmlnLmM6ODc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgogbXNnc3RyICJ2YWxvciBkZSBjb25maWd1cmFjacOzIG51bcOocmljIGVycm9uaSAnJXMnIHBlciAnJXMnIGVuIGVsIGJsb2IgJXM6ICVzIgogCi0jOiBjb25maWcuYzo2NzEKKyM6IGNvbmZpZy5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKIG1zZ3N0ciAidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyAnJXMnIGVycm9uaSBwZXIgJyVzJyBlbiBlbCBmaXR4ZXIgJXM6ICVzIgogCi0jOiBjb25maWcuYzo2NzQKKyM6IGNvbmZpZy5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCiBtc2dzdHIgIiIKICJ2YWxvciBkZSBjb25maWd1cmFjacOzIG51bcOocmljICclcycgZXJyb25pIHBlciAnJXMnIGVuIGwnZW50cmFkYSBlc3TDoG5kYXJkOiAlcyIKIAotIzogY29uZmlnLmM6Njc3CisjOiBjb25maWcuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgogbXNnc3RyICIiCiAidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyAnJXMnIGVycm9uaScgcGVyICclcycgZW4gZWwgYmxvYiBkZSBzdWJtw7JkdWwgIgogIiVzOiAlcyIKIAotIzogY29uZmlnLmM6NjgwCisjOiBjb25maWcuYzo4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIKIG1zZ3N0ciAiIgogInZhbG9yIGRlIGNvbmZpZ3VyYWNpw7MgbnVtw6hyaWMgJyVzJyBlcnJvbmkgcGVyICclcycgZW4gbGEgbMOtbmlhIGQnb3JkcmVzICVzOiAiCiAiJXMiCiAKLSM6IGNvbmZpZy5jOjY4MworIzogY29uZmlnLmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyBkb2xlbnQgJyVzJyBwZXIgJyVzJyBlbiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjc3MAorIzogY29uZmlnLmM6OTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXhwYW5kaXIgZWwgZGlyZWN0b3JpIGQndXN1YXJpIGVuOiAnJXMnIgogCi0jOiBjb25maWcuYzo4NjUgY29uZmlnLmM6ODc2CisjOiBjb25maWcuYzoxMDg0IGNvbmZpZy5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm5pdmVsbCBkZSBjb21wcmVzc2nDsyBkZSB6bGliIGRvbGVudCAlZCIKIAotIzogY29uZmlnLmM6OTkzCisjOiBjb25maWcuYzoxMjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAibW9kZSBkZSBjcmVhY2nDsyBkJ29iamVjdGUgbm8gdsOgbGlkOiAlcyIKIAotIzogY29uZmlnLmM6MTE0OQorIzogY29uZmlnLmM6MTM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAibml2ZWxsIGRlIGNvbXByZXNzacOzIGRlIHBhcXVldCAlZCBFcnJvbmkiCiAKLSM6IGNvbmZpZy5jOjEzMzkKKyM6IGNvbmZpZy5jOjE1NjQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbGEgY29uZmlndXJhY2nDsyBkZSBsYSBsw61uaWEgZCdvcmRyZXMiCiAKLSM6IGNvbmZpZy5jOjEzODkKKyM6IGNvbmZpZy5jOjE4OTQKIG1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgInVuIGVycm9yIGRlc2NvbmVndXQgaGEgb2NvcnJlZ3V0IGVuIGxsZWdpciBlbHMgZml0eGVycyBkZSBjb25maWd1cmFjacOzIgogCi0jOiBjb25maWcuYzoxNzQzCisjOiBjb25maWcuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgJXM6ICclcyciCittc2dzdHIgIiVzIG5vIHbDoGxpZDogJXMiCisKKyM6IGNvbmZpZy5jOjIwODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjIxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIHZhbHVlICclZCcgc2hvdWxkIGJlIGJldHdlZW4gMCBhbmQgMTAwIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjIxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciAnJXMnIGRlIGxhIGNvbmZpZ3VyYWNpw7MgZGUgbGEgbMOtbmlhIGQnb3JkcmVzIgogCi0jOiBjb25maWcuYzoxNzQ1CisjOiBjb25maWcuYzoyMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAidmFyaWFibGUgZGUgY29uZmlndXJhY2nDsyAnJXMnIGVycsOybmlhIGVuIGVsIGZpdHhlciAnJXMnIGEgbGEgbMOtbmlhICVkIgogCi0jOiBjb25maWcuYzoxODA0CisjOiBjb25maWcuYzoyMTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIHTDqSBtw7psdGlwbGVzIHZhbG9ycyIKIAotIzogY29uZmlnLmM6MjIyNSBjb25maWcuYzoyNDUwCisjOiBjb25maWcuYzoyNTE3IGNvbmZpZy5jOjI3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZnN0YXQgb24gJXMgZmFpbGVkIgogbXNnc3RyICJoYSBmYWxsYXQgZnN0YXQgYSAlcyIKIAotIzogY29uZmlnLmM6MjM0MworIzogY29uZmlnLmM6MjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc3RhYmxpciAnJXMnIGEgJyVzJyIKIAotIzogY29uZmlnLmM6MjM0NQorIzogY29uZmlnLmM6MjYzNyBidWlsdGluL3JlbW90ZS5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBkZXNlc3RhYmxpciAnJXMnIgogCi0jOiBjb25uZWN0LmM6NDkKKyM6IGNvbm5lY3QuYzo1MAogbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCiBtc2dzdHIgIkVsIGNvc3RhdCByZW1vdCBoYSBwZW5qYXQgZW4gZWwgbW9tZW50IGRlIGNvbnRhY3RlIGluaWNpYWwiCiAKLSM6IGNvbm5lY3QuYzo1MQorIzogY29ubmVjdC5jOjUyCiBtc2dpZCAiIgogIkNvdWxkIG5vdCByZWFkIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkuXG4iCiAiXG4iCkBAIC0xNDE3LDcgKzE0NzcsNyBAQAogIlNpIHVzIHBsYXUsIGFzc2VndXJldS12b3MgcXVlIHRpbmd1ZXUgZWxzIHBlcm1pc29zXG4iCiAiZCdhY2PDqXMgY29ycmVjdGVzIGkgcXVlIGVsIGRpcMOyc2l0IGV4aXN0ZWl4aS4iCiAKLSM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE5MCBidWlsdGluL3BydW5lLmM6MTQwCisjOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxOTEgYnVpbHRpbi9wcnVuZS5jOjE0MQogbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAiUydlc3TDoCBjb21wcm92YW50IGxhIGNvbm5lY3Rpdml0YXQiCiAKQEAgLTE0MzMsNyArMTQ5Myw3IEBACiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGwnc3RkaW4gZGVsIHJldi1saXN0IgogCi0jOiBjb252ZXJ0LmM6MjAxCisjOiBjb252ZXJ0LmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCkBAIC0xNDQzLDEyICsxNTAzLDEyIEBACiAiRWwgZml0eGVyIHRpbmRyw6AgZWxzIHNldXMgdGVybWluYWRvcnMgZGUgbMOtbmlhIG9yaWdpbmFscyBlbiBlbCB2b3N0cmUgIgogImRpcmVjdG9yaSBkZSB0cmViYWxsLiIKIAotIzogY29udmVydC5jOjIwNQorIzogY29udmVydC5jOjIwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLiIKIG1zZ3N0ciAiTEYgcmVlbXBsYcOnYXJpYSBDUkxGIGVuICVzLiIKIAotIzogY29udmVydC5jOjIxMQorIzogY29udmVydC5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzLlxuIgpAQCAtMTQ1OCw3OCArMTUxOCw3OCBAQAogIkVsIGZpdHhlciB0aW5kcsOgIGVscyBzZXVzIHRlcm1pbmFkb3JzIGRlIGzDrW5pYSBvcmlnaW5hbHMgZW4gZWwgdm9zdHJlICIKICJkaXJlY3RvcmkgZGUgdHJlYmFsbC4iCiAKLSM6IGNvbnZlcnQuYzoyMTUKKyM6IGNvbnZlcnQuYzoyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcyIKIG1zZ3N0ciAiQ1JMRiByZWVtcGxhw6dhcmlhIExGIGVuICVzIgogCi0jOiBkYXRlLmM6OTcKKyM6IGRhdGUuYzoxMTYKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICJlbiBlbCBmdXR1ciIKIAotIzogZGF0ZS5jOjEwMworIzogZGF0ZS5jOjEyMgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgotbXNnc3RyWzBdICJmYSAlbHUgc2Vnb24iCi1tc2dzdHJbMV0gImZhICVsdSBzZWdvbnMiCittc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgorbXNnc3RyWzBdICJmYSAlPFBSSXVNQVg+IHNlZ29uIgorbXNnc3RyWzFdICJmYSAlPFBSSXVNQVg+IHNlZ29ucyIKIAotIzogZGF0ZS5jOjExMAorIzogZGF0ZS5jOjEyOQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbWludXRlIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1pbnV0ZXMgYWdvIgotbXNnc3RyWzBdICJmYSAlbHUgbWludXQiCi1tc2dzdHJbMV0gImZhICVsdSBtaW51dHMiCittc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgorbXNnc3RyWzBdICJmYSAlPFBSSXVNQVg+IG1pbnV0IgorbXNnc3RyWzFdICJmYSAlPFBSSXVNQVg+IG1pbnV0cyIKIAotIzogZGF0ZS5jOjExNworIzogZGF0ZS5jOjEzNgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgaG91ciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCi1tc2dzdHJbMF0gImZhICVsdSBob3JhIgotbXNnc3RyWzFdICJmYSAlbHUgaG9yZXMiCittc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCittc2dzdHJbMF0gImZhICU8UFJJdU1BWD4gaG9yYSIKK21zZ3N0clsxXSAiZmEgJTxQUkl1TUFYPiBob3JlcyIKIAotIzogZGF0ZS5jOjEyNAorIzogZGF0ZS5jOjE0MwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgZGF5IGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgotbXNnc3RyWzBdICJmYSAlbHUgZGlhIgotbXNnc3RyWzFdICJmYSAlbHUgZGllcyIKK21zZ2lkICIlPFBSSXVNQVg+IGRheSBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gZGF5cyBhZ28iCittc2dzdHJbMF0gImZhICU8UFJJdU1BWD4gZGlhIgorbXNnc3RyWzFdICJmYSAlPFBSSXVNQVg+IGRpZXMiCiAKLSM6IGRhdGUuYzoxMzAKKyM6IGRhdGUuYzoxNDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHdlZWsgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgotbXNnc3RyWzBdICJmYSAlbHUgc2V0bWFuYSIKLW1zZ3N0clsxXSAiZmEgJWx1IHNldG1hbmVzIgorbXNnaWQgIiU8UFJJdU1BWD4gd2VlayBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gd2Vla3MgYWdvIgorbXNnc3RyWzBdICJmYSAlPFBSSXVNQVg+IHNldG1hbmEiCittc2dzdHJbMV0gImZhICU8UFJJdU1BWD4gc2V0bWFuZXMiCiAKLSM6IGRhdGUuYzoxMzcKKyM6IGRhdGUuYzoxNTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1vbnRocyBhZ28iCi1tc2dzdHJbMF0gImZhICVsdSBtZXMiCi1tc2dzdHJbMV0gImZhICVsdSBtZXNvcyIKK21zZ2lkICIlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICJmYSAlPFBSSXVNQVg+IG1lcyIKK21zZ3N0clsxXSAiZmEgJTxQUkl1TUFYPiBtZXNvcyIKIAotIzogZGF0ZS5jOjE0OAorIzogZGF0ZS5jOjE2NwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgotbXNnc3RyWzBdICIlbHUgYW55IgotbXNnc3RyWzFdICIlbHUgYW55cyIKK21zZ2lkICIlPFBSSXVNQVg+IHllYXIiCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMiCittc2dzdHJbMF0gIiU8UFJJdU1BWD4gYW55IgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IGFueXMiCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTUxCisjOiBkYXRlLmM6MTcwCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzLCAlbHUgbW9udGggYWdvIgotbXNnaWRfcGx1cmFsICIlcywgJWx1IG1vbnRocyBhZ28iCi1tc2dzdHJbMF0gImZhICVzIGkgJWx1IG1lcyIKLW1zZ3N0clsxXSAiZmEgJXMgaSAlbHUgbWVzb3MiCittc2dpZCAiJXMsICU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlcywgJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICJmYSAlcyBpICU8UFJJdU1BWD4gbWVzIgorbXNnc3RyWzFdICJmYSAlcyBpICU8UFJJdU1BWD4gbWVzb3MiCiAKLSM6IGRhdGUuYzoxNTYgZGF0ZS5jOjE2MQorIzogZGF0ZS5jOjE3NSBkYXRlLmM6MTgwCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSB5ZWFyIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIGFnbyIKLW1zZ3N0clswXSAiZmEgJWx1IGFueSIKLW1zZ3N0clsxXSAiZmEgJWx1IGFueXMiCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCittc2dzdHJbMF0gImZhICU8UFJJdU1BWD4gYW55IgorbXNnc3RyWzFdICJmYSAlPFBSSXVNQVg+IGFueXMiCiAKICM6IGRpZmZjb3JlLW9yZGVyLmM6MjQKICMsIGMtZm9ybWF0CkBAIC0xNTQwLDMwICsxNjAwLDMwIEBACiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIlMnZXN0w6AgcmVhbGl0emFudCB1bmEgZGV0ZWNjacOzIGluZXhhY3RhIGRlIGNhbnZpcyBkZSBub20iCiAKLSM6IGRpZmYuYzo2MgorIzogZGlmZi5jOjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgImwnb3BjacOzICclcycgcmVxdWVyZWl4IHVuIHZhbG9yIgogCi0jOiBkaWZmLmM6MTI0CisjOiBkaWZmLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmFpbGVkIHRvIHBhcnNlIGRpcnN0YXQgY3V0LW9mZiBwZXJjZW50YWdlICclcydcbiIKIG1zZ3N0ciAiIgogIiAgUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhbmFsaXR6YXIgZWwgcGVyY2VudGF0Z2UgbGltaXRhbnQgZGUgZGlyc3RhdCAiCiAiJyVzJ1xuIgogCi0jOiBkaWZmLmM6MTI5CisjOiBkaWZmLmM6MTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgUGFyw6BtZXRyZSBkZSBkaXJzdGF0IGRlc2NvbmVndXQgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MjgxCisjOiBkaWZmLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICIiCiAiVmFsb3IgZGVzY29uZWd1dCBkZSBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzIGRlICdkaWZmLnN1Ym1vZHVsZSc6ICclcyciCiAKLSM6IGRpZmYuYzozNDQKKyM6IGRpZmYuYzozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCkBAIC0xNTcyLDIwICsxNjMyLDIwIEBACiAiUydoYW4gdHJvYmF0IGVycm9ycyBlbiBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzICdkaWZmLmRpcnN0YXQnOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzA4NQorIzogZGlmZi5jOjMxMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAiZWwgZGlmZiBleHRlcm5hbCBzJ2hhIG1vcnQsIHMnZXN0w6AgYXR1cmFudCBhICVzIgogCi0jOiBkaWZmLmM6MzQxMQorIzogZGlmZi5jOjM0MjcKIG1zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgaSAtcyBzw7NuIG11dHVhbG1lbnQgZXhjbHVzaXVzIgogCi0jOiBkaWZmLmM6MzUwMQorIzogZGlmZi5jOjM1MTcKIG1zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKIG1zZ3N0ciAiLS1mb2xsb3cgcmVxdWVyZWl4IGV4YWN0YW1lbnQgdW5hIGVzcGVjaWZpY2FjacOzIGRlIGNhbcOtIgogCi0jOiBkaWZmLmM6MzY2NAorIzogZGlmZi5jOjM2ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTE1OTQsMjIgKzE2NTQsMjIgQEAKICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGFuYWxpdHphciBlbCBwYXLDoG1ldHJlIGQnb3BjacOzIGRlIC0tZGlyc3RhdC8tWDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM2NzgKKyM6IGRpZmYuYzozNjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICIiCiAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhbmFsaXR6YXIgZWwgcGFyw6BtZXRyZSBkJ29wY2nDsyBkZSAtLXN1Ym1vZHVsZTogJyVzJyIKIAotIzogZGlmZi5jOjQ2OTYKKyM6IGRpZmYuYzo0NzE2CiBtc2dpZCAiaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIHdhcyBza2lwcGVkIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgInMnaGEgb23DqHMgbGEgZGV0ZWNjacOzIGRlIGNhbnZpIGRlIG5vbSBhIGNhdXNhIGRlIG1hc3NhIGZpdHhlcnMuIgogCi0jOiBkaWZmLmM6NDY5OQorIzogZGlmZi5jOjQ3MTkKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKICJub23DqXMgcydoYW4gdHJvYmF0IGPDsnBpZXMgZGVzIGRlIGNhbWlucyBtb2RpZmljYXRzIGEgY2F1c2EgZGUgbWFzc2EgZml0eGVycy4iCiAKLSM6IGRpZmYuYzo0NzAyCisjOiBkaWZmLmM6NDcyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCkBAIC0xNjE3LDIzNCArMTY3NywyNjAgQEAKICJwb3RzZXIgdm9sZXUgZXN0YWJsaXIgbGEgdm9zdHJhIHZhcmlhYmxlICVzIGEgYWxtZW55cyAlZCBpIHRvcm5hciBhIGludGVudGFyICIKICJsJ29yZHJlLiIKIAotIzogZGlyLmM6MTg2MgorIzogZGlyLmM6MTk0OAogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9idGVuaXIgZWwgbm9tYnJlIGkgbGEgaW5mb3JtYWNpw7MgZGVsIG51Y2xpIgogCi0jOiBkaXIuYzoxOTgxCisjOiBkaXIuYzoyMDY3CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAiIgogIkxhIG1lbcOycmlhIGNhdSBubyBzZWd1aWRhIGVzdMOgIGluaGFiaWxpdGFkYSBlbiBhcXVlc3Qgc2lzdGVtYSBvIHViaWNhY2nDsy4iCiAKLSM6IGRpci5jOjI3NTkKKyM6IGRpci5jOjI4NDYgZGlyLmM6Mjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBkaXJlY3RvcmlzIHBlciAlcyIKKworIzogZGlyLmM6Mjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG1pZ3JhciBlbCBkaXJlY3RvcmkgZGUgJyVzJyBhICclcyciCiAKLSM6IGZldGNoLXBhY2suYzoyMTMKKyM6IGVudHJ5LmM6MjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgwqtzdGF0wrsgc29icmUgZWwgZml0eGVyICclcyciCisKKyM6IGZldGNoLXBhY2suYzoyNTEKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogbGxpc3RhIHN1cGVyZmljaWFsIGVzcGVyYWRhIgogCi0jOiBmZXRjaC1wYWNrLmM6MjI1CisjOiBmZXRjaC1wYWNrLmM6MjYzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBBQ0svTkFLIGVzcGVyYXQsIEVPRiByZWJ1dCIKIAotIzogZmV0Y2gtcGFjay5jOjI0MworIzogZmV0Y2gtcGFjay5jOjI4MiBidWlsdGluL2FyY2hpdmUuYzo2MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgorbXNnc3RyICJlcnJvciByZW1vdDogJXMiCisKKyM6IGZldGNoLXBhY2suYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogQUNLL05BSyBlc3BlcmF0LCAnJXMnIHJlYnV0IgogCi0jOiBmZXRjaC1wYWNrLmM6Mjk1CisjOiBmZXRjaC1wYWNrLmM6MzM1CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVlcmVpeCBtdWx0aV9hY2tfZGV0YWlsZWQiCiAKLSM6IGZldGNoLXBhY2suYzozODEKKyM6IGZldGNoLXBhY2suYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICJsw61uaWEgZGUgc2hhbGxvdyBubyB2w6BsaWRhOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM4NworIzogZmV0Y2gtcGFjay5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAibMOtbmlhIGQndW5zaGFsbG93IG5vIHbDoGxpZGE6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzg5CisjOiBmZXRjaC1wYWNrLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICJvYmplY3RlIG5vIHRyb2JhdDogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozOTIKKyM6IGZldGNoLXBhY2suYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAiZXJyb3IgZW4gb2JqZWN0ZTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozOTQKKyM6IGZldGNoLXBhY2suYzo0MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgdHJvYmF0IGNhcCBzaGFsbG93OiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5NworIzogZmV0Y2gtcGFjay5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgogbXNnc3RyICJzJ2VzcGVyYXZhIHNoYWxsb3cvdW5zaGFsbG93LCBzJ2hhIHJlYnV0ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDM2CisjOiBmZXRjaC1wYWNrLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAiJXMgJWQgJXMgcmVidXQiCiAKLSM6IGZldGNoLXBhY2suYzo0NTAKKyM6IGZldGNoLXBhY2suYzo0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCiBtc2dzdHIgImNvbWlzc2nDsyBubyB2w6BsaWRhICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDgzCisjOiBmZXRjaC1wYWNrLmM6NTIzCiBtc2dpZCAiZ2l2aW5nIHVwIgogbXNnc3RyICJzJ2VzdMOgIHJlbmRpbnQiCiAKLSM6IGZldGNoLXBhY2suYzo0OTMgcHJvZ3Jlc3MuYzoyMzUKKyM6IGZldGNoLXBhY2suYzo1MzMgcHJvZ3Jlc3MuYzoyMzcKIG1zZ2lkICJkb25lIgogbXNnc3RyICJmZXQiCiAKLSM6IGZldGNoLXBhY2suYzo1MDUKKyM6IGZldGNoLXBhY2suYzo1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICglZCkgJXMiCiBtc2dzdHIgInMnaGEgcmVidXQgJXMgKCVkKSAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjU1MQorIzogZmV0Y2gtcGFjay5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgogbXNnc3RyICJTJ2VzdMOgIG1hcmNhbnQgJXMgY29tIGEgY29tcGxldCIKIAotIzogZmV0Y2gtcGFjay5jOjY5NworIzogZmV0Y2gtcGFjay5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAiamEgZXMgdMOpICVzICglcykiCiAKLSM6IGZldGNoLXBhY2suYzo3MzUKKyM6IGZldGNoLXBhY2suYzo4MTMKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKLW1zZ3N0ciAiZmV0Y2gtcGFjazogbm8gcydoYSBwb2d1dCBiaWZ1cmNhciBkZWwgZGVtdWx0aXBsZXhvciBkZSBiYW5kYSBsYXRlcmFsIgorbXNnc3RyICJmZXRjaC1wYWNrOiBubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyIGRlbCBkZXNtdWx0aXBsZXhvciBkZSBiYW5kYSBsYXRlcmFsIgogCi0jOiBmZXRjaC1wYWNrLmM6NzQzCisjOiBmZXRjaC1wYWNrLmM6ODIxCiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKIG1zZ3N0ciAiZXJyb3IgZGUgcHJvdG9jb2w6IGNhcMOnYWxlcmEgZGUgcGFxdWV0IGVycsOybmlhIgogCi0jOiBmZXRjaC1wYWNrLmM6Nzk5CisjOiBmZXRjaC1wYWNrLmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKIG1zZ3N0ciAiZmV0Y2gtcGFjazogbm8gZXMgcG90IGJpZnVyY2FyIGRlICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODE1CisjOiBmZXRjaC1wYWNrLmM6ODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGZhaWxlZCIKIG1zZ3N0ciAiJXMgaGEgZmFsbGF0IgogCi0jOiBmZXRjaC1wYWNrLmM6ODE3CisjOiBmZXRjaC1wYWNrLmM6ODk1CiBtc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKLW1zZ3N0ciAiZXJyb3IgZW4gZGVtdWx0aXBsZXhvciBkZSBiYW5kYSBsYXRlcmFsIgorbXNnc3RyICJlcnJvciBlbiBkZXNtdWx0aXBsZXhvciBkZSBiYW5kYSBsYXRlcmFsIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ0CisjOiBmZXRjaC1wYWNrLmM6OTIyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgogbXNnc3RyICJFbCBzZXJ2aWRvciBubyBwZXJtZXQgY2xpZW50cyBzdXBlcmZpY2lhbHMiCiAKLSM6IGZldGNoLXBhY2suYzo4NDgKKyM6IGZldGNoLXBhY2suYzo5MjYKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjg1MQorIzogZmV0Y2gtcGFjay5jOjkyOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgogbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG5vLWRvbmUiCiAKLSM6IGZldGNoLXBhY2suYzo4NTcKKyM6IGZldGNoLXBhY2suYzo5MzUKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgogbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG11bHRpX2FjayIKIAotIzogZmV0Y2gtcGFjay5jOjg2MQorIzogZmV0Y2gtcGFjay5jOjkzOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgogbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIHNpZGUtYmFuZC02NGsiCiAKLSM6IGZldGNoLXBhY2suYzo4NjUKKyM6IGZldGNoLXBhY2suYzo5NDMKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgogbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIGJhbmRhIGxhdGVyYWwiCiAKLSM6IGZldGNoLXBhY2suYzo4NjkKKyM6IGZldGNoLXBhY2suYzo5NDcKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAiRWwgc2Vydmlkb3IgYWNjZXB0YSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6ODczCisjOiBmZXRjaC1wYWNrLmM6OTUxCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCiBtc2dzdHIgIkVsIHNlcnZpZG9yIGFjY2VwdGEgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKIAotIzogZmV0Y2gtcGFjay5jOjg4MworIzogZmV0Y2gtcGFjay5jOjk2MQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCiBtc2dzdHIgIkVsIHNlcnZpZG9yIGFjY2VwdGEgb2ZzLWRlbHRhIgogCi0jOiBmZXRjaC1wYWNrLmM6ODkwCisjOiBmZXRjaC1wYWNrLmM6OTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCiBtc2dzdHIgIkxhIHZlcnNpw7MgZGVsIHNlcnZpZG9yIMOpcyAlLipzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODk2CisjOiBmZXRjaC1wYWNrLmM6OTc0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgogbXNnc3RyICJFbCBzZXJ2aWRvciBubyBhZG1ldCAtLXNoYWxsb3ctc2luY2UiCiAKLSM6IGZldGNoLXBhY2suYzo5MDAKKyM6IGZldGNoLXBhY2suYzo5NzgKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKIG1zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gYWRtZXQgLS1zaGFsbG93LWV4Y2x1ZGUiCiAKLSM6IGZldGNoLXBhY2suYzo5MDIKKyM6IGZldGNoLXBhY2suYzo5ODAKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKIG1zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gYWRtZXQgLS1kZWVwZW4iCiAKLSM6IGZldGNoLXBhY2suYzo5MTMKKyM6IGZldGNoLXBhY2suYzo5OTEKIG1zZ2lkICJubyBjb21tb24gY29tbWl0cyIKIG1zZ3N0ciAiY2FwIGNvbWlzc2nDsyBlbiBjb23DuiIKIAotIzogZmV0Y2gtcGFjay5jOjkyNQorIzogZmV0Y2gtcGFjay5jOjEwMDMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGwnb2J0ZW5jacOzIGhhIGZhbGxhdC4iCiAKLSM6IGZldGNoLXBhY2suYzoxMDg3CisjOiBmZXRjaC1wYWNrLmM6MTE2NQogbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgogbXNnc3RyICJubyBoaSBoYSBjYXAgSEVBRCByZW1vdCBjb2luY2lkZW50IgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg1CisjOiBmZXRjaC1wYWNrLmM6MTE4NworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlbW90ZSByZWYgJXMiCittc2dzdHIgIm5vIGV4aXN0ZWl4IGxhIHJlZmVyw6huY2lhIHJlbW90YSAlcyIKKworIzogZmV0Y2gtcGFjay5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IGFsbG93IHJlcXVlc3QgZm9yIHVuYWR2ZXJ0aXNlZCBvYmplY3QgJXMiCittc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHBlcm1ldCBzb2zCt2xpY2l0YXIgb2JqZWN0ZXMgbm8gYW51bmNpYXRzICVzIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTgxCiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICJncGcgaGEgZmFsbGF0IGVuIHNpZ25hciBsZXMgZGFkZXMiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMTUKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMTEKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGZpdHhlciB0ZW1wb3JhbCIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIxNworIzogZ3BnLWludGVyZmFjZS5jOjIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBsYSBzaWduYXR1cmEgc2VwYXJhZGEgYSAnJXMnIgogCi0jOiBncmFwaC5jOjk2CisjOiBncmFwaC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yZSBpbnZhbGlkIGNvbG9yICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCiBtc2dzdHIgImlnbm9yYSBlbCBjb2xvciBpbnbDoGxpZCAnJS4qcycgZW4gbG9nLmdyYXBoQ29sb3JzIgogCi0jOiBncmVwLmM6MTc5NAorIzogZ3JlcC5jOjE5ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiclcyc6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzIgogCi0jOiBncmVwLmM6MTgxMSBidWlsdGluL2Nsb25lLmM6MzgxIGJ1aWx0aW4vZGlmZi5jOjgxIGJ1aWx0aW4vcm0uYzoxMzMKKyM6IGdyZXAuYzoxOTk4IGJ1aWx0aW4vY2xvbmUuYzo0MDMgYnVpbHRpbi9kaWZmLmM6ODEgYnVpbHRpbi9ybS5jOjEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGZlciBzdGF0IGEgJyVzJyIKIAotIzogZ3JlcC5jOjE4MjIKKyM6IGdyZXAuYzoyMDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIiclcyc6IGxlY3R1cmEgY3VydGEiCiAKLSM6IGhlbHAuYzoyMTgKKyM6IGhlbHAuYzoxNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICJvcmRyZXMgZGUgZ2l0IGRpc3BvbmlibGVzIGVuICclcyciCiAKLSM6IGhlbHAuYzoyMjUKKyM6IGhlbHAuYzoxODYKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgIm9yZHJlcyBkZSBnaXQgZGlzcG9uaWJsZXMgZCdhbHRyZXMgbGxvY3MgZW4gZWwgdm9zdHJlICRQQVRIIgogCi0jOiBoZWxwLmM6MjU2CisjOiBoZWxwLmM6MjE3CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgotbXNnc3RyICJBcXVlc3RlcyBzw7NuIG9yZHJlcyBkZWwgR2l0IGNvbXVuYW1lbnQgdXNhZGVzIGVuIGRpdmVyc2VzIHNpdHVhY2lvbnM6IgorbXNnc3RyICIiCisiQXF1ZXN0ZXMgc8OzbiBvcmRyZXMgZGVsIEdpdCBoYWJpdHVhbG1lbnQgdXNhZGVzIGVuIGRpdmVyc2VzIHNpdHVhY2lvbnM6IgogCi0jOiBoZWxwLmM6MzIxCisjOiBoZWxwLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCkBAIC0xODUzLDMxICsxOTM5LDUzIEBACiAiJyVzJyBzZW1ibGEgdW5hIG9yZHJlIGRlIGdpdCwgcGVyw7Igbm8gaGVtIHBvZ3V0XG4iCiAiZXhlY3V0YXItbGEuIFBvdCBzZXIgcXVlIGdpdC0lcyBlc3RpZ3VpIG1hbG3DqHM/IgogCi0jOiBoZWxwLmM6Mzc2CisjOiBoZWxwLmM6MzM2CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIkFpLiBFbCB2b3N0cmUgc2lzdGVtYSBubyBpbmZvcm1hIGRlIGNhcCBvcmRyZSBkZSBHaXQuIgogCi0jOiBoZWxwLmM6Mzk4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuXG4iCi0iQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnIgorIzogaGVscC5jOjM1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiIgogIkFEVkVSVMOITkNJQTogSGV1IGludm9jYXQgdW5hIG9yZHJlIGRlIEdpdCBhbWIgbm9tICclcycsIGxhIHF1YWwgbm8gIgogImV4aXN0ZWl4LlxuIgogIlMnZXN0w6AgY29udGludWFudCBzb3RhIGwnYXNzdW1wY2nDsyBxdWUgdm9sw61ldSBkaXIgJyVzJyIKIAotIzogaGVscC5jOjQwMworIzogaGVscC5jOjM2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCi1tc2dzdHIgImVuICUwLjFmIHNlZ29ucyBhdXRvbcOgdGljYW1lbnQuLi4iCittc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKK21zZ3N0ciAiIgogCi0jOiBoZWxwLmM6NDEwCisjOiBoZWxwLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIiIKKworIzogaGVscC5jOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQ6ICclcycgbm8gw6lzIHVuYSBvcmRyZSBkZSBnaXQuIFZlZ2V1ICdnaXQgLS1oZWxwJy4iCiAKLSM6IGhlbHAuYzo0MTQgaGVscC5jOjQ4MAorIzogaGVscC5jOjM4MAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmRzIGFyZSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGhlbHAuYzozOTUKK21zZ2lkICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHZlcnNpb24gWzxvcGNpb25zPl0iCisKKyM6IGhlbHAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIC0gJXMiCittc2dzdHIgIiVzOiAlcyAtICVzIgorCisjOiBoZWxwLmM6NDYwCiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTE4OTEsMTIgKzE5OTksNyBAQAogIlxuIgogIlZvbMOtZXUgZGlyIHVuIGQnYXF1ZXN0cz8iCiAKLSM6IGhlbHAuYzo0NzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzIC0gJXMiCi1tc2dzdHIgIiVzOiAlcyAtICVzIgotCi0jOiBpZGVudC5jOjMzNAorIzogaWRlbnQuYzozNDIKIG1zZ2lkICIiCiAiXG4iCiAiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgpAQCAtMTkyMSw2ICsyMDI0LDQ0IEBACiAicGVyIGEgZXN0YWJsaXIgbGEgaWRlbnRpdGF0IHByZWRldGVybWluYWRhIGRlbCB2b3N0cmUgY29tcHRlLlxuIgogIk9tZXRldSAtLWdsb2JhbCBwZXIgYSBlc3RhYmxpciBsYSBpZGVudGl0YXQgbm9tw6lzIGVuIGFxdWVzdCBkaXDDsnNpdC5cbiIKIAorIzogaWRlbnQuYzozNjYKK21zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICIiCisibm8gcydoYSBwcm9wb3JjaW9uYXQgY2FwIGFkcmXDp2EgZWxlY3Ryw7JuaWNhIGkgbGEgZGV0ZWNjacOzIGF1dG9tw6B0aWNhIGVzdMOgICIKKyJpbmhhYmlsaXRhZGEiCisKKyM6IGlkZW50LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCittc2dzdHIgIiIKKyJubyBzJ2hhIHBvZ3V0IGRldGVjdGFyIGF1dG9tw6B0aWNhbWVudCB1bmEgYWRyZcOnYSBkZSBjb3JyZXUgdsOgbGlkYSAoJyVzJyAiCisicmVidXQpIgorCisjOiBpZGVudC5jOjM4MQorbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKK21zZ3N0ciAiIgorIm5vIHMnaGEgcHJvcG9yY2lvbmF0IGNhcCBub20gaSBsYSBkZXRlY2Npw7MgYXV0b23DoHRpY2EgZXN0w6AgaW5oYWJpbGl0YWRhIgorCisjOiBpZGVudC5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGRldGVjdGFyIGF1dG9tw6B0aWNhbWVudCBlbCBub20gKCclcycgcmVidXQpIgorCisjOiBpZGVudC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBpZGVudCBuYW1lIChmb3IgPCVzPikgbm90IGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogaWRlbnQuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCittc2dzdHIgIiIKKworIzogaWRlbnQuYzo0MTYgYnVpbHRpbi9jb21taXQuYzo2MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCittc2dzdHIgImZvcm1hdCBkZSBkYXRhIG5vIHbDoGxpZDogJXMiCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTE5NTAsNzggKzIwOTEsNzggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGxhIG1lbcOycmlhIGNhdSIKIAotIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjE5ODAgYnVpbHRpbi9hbS5jOjIwMTUgYnVpbHRpbi9jaGVja291dC5jOjM3NworIzogYnVpbHRpbi9jaGVja291dC5jOjU5MSBidWlsdGluL2Nsb25lLmM6NzUzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIHVuIGZpdHhlciBkJ8OtbmRleCBub3UiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEwCiBtc2dpZCAiKGJhZCBjb21taXQpXG4iCiBtc2dzdHIgIihjb21pc3Npw7MgZXJyw7JuaWEpXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMSBtZXJnZS1yZWN1cnNpdmUuYzoyMzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMiBtZXJnZS1yZWN1cnNpdmUuYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiYWRkaW5mb19jYWNoZSBoYSBmYWxsYXQgcGVyIGFsIGNhbcOtICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA0CiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgImVycm9yIGVuIGNvbnN0cnVpciBhcmJyZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY3JlYXIgZWwgY2Ftw60gJyVzJyVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjczOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyB0byBtYWtlIHJvb20gZm9yIHN1YmRpcmVjdG9yeVxuIgogbXNnc3RyICJTJ2VzdMOgIGVsaW1pbmFudCAlcyBwZXIgYSBmZXIgZXNwYWkgcGVyIGFsIHN1YmRpcmVjdG9yaVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTIgbWVyZ2UtcmVjdXJzaXZlLmM6NzcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTMgbWVyZ2UtcmVjdXJzaXZlLmM6NzcyCiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiOiBwb3RzZXIgdW4gY29uZmxpY3RlIEQvRj8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAicydlc3TDoCByZWZ1c2FudCBwZXJkcmUgZWwgZml0eGVyIG5vIHNlZ3VpdCBhICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwMyBidWlsdGluL2NhdC1maWxlLmM6MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNCBidWlsdGluL2NhdC1maWxlLmM6MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgbCdvYmplY3RlICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgImJsb2IgZXNwZXJhdCBwZXIgYSAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnOiAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAnJXMnOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZmVyIGwnZW5sbGHDpyBzaW1iw7JsaWMgJyVzJzogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIm5vIHNlIHNhcCBxdcOoIGZlciBhbWIgJTA2byAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NgogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4ZWN1dGFyIGxhIGZ1c2nDsyBpbnRlcm5hIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFmZWdpciAlcyBhIGxhIGJhc2UgZGUgZGFkZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODggbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMjAzMCw3ICsyMTcxLDE2IEBACiAiQ09ORkxJQ1RFOiAoJXMvc3VwcmVzc2nDsyk6ICVzIHN1cHJpbWl0IGVuICVzIGkgJXMgZW4gJXMuIExhIHZlcnNpw7MgJXMgZGUgJXMgIgogInMnaGEgZGVpeGF0IGVuIGwnYXJicmUuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlLiIKK21zZ3N0ciAiIgorIkNPTkZMSUNURTogKCVzL3N1cHJlc3Npw7MpOiAlcyBzdXByaW1pdCBlbiAlcyBpICVzIGEgJXMgZW4gJXMuIExhIHZlcnNpw7MgJXMgIgorImRlICVzIHMnaGEgZGVpeGF0IGVuIGwnYXJicmUuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0yMDM5LDIwICsyMTg5LDI5IEBACiAiQ09ORkxJQ1RFOiAoJXMvc3VwcmVzc2nDsyk6ICVzIHN1cHJpbWl0IGVuICVzIGkgJXMgZW4gJXMuIExhIHZlcnNpw7MgJXMgZGUgJXMgIgogInMnaGEgZGVpeGF0IGVuIGwnYXJicmUgYSAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorIkNPTkZMSUNURTogKCVzL3N1cHJlc3Npw7MpOiAlcyBzdXByaW1pdCBlbiAlcyBpICVzIGEgJXMgZW4gJXMuIExhIHZlcnNpw7MgJXMgIgorImRlICVzIHMnaGEgZGVpeGF0IGVuIGwnYXJicmUgYSAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDQKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgImNhbnZpIGRlIG5vbSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0NAogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgImNhbnZpYXQgZGUgbm9tIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyDDqXMgdW4gZGlyZWN0b3JpIGVuICVzOyBzJ2VzdMOgIGFmZWdpbnQgY29tIGEgJXMgZW4gbGxvYyBkJ2FpeMOyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgpAQCAtMjA2MSwxMzkgKzIyMjAsMTM5IEBACiAiQ09ORkxJQ1RFIChjYW52aSBkZSBub20vY2FudmkgZGUgbm9tKTogQ2FudmkgZGUgbm9tIFwiJXNcIi0+XCIlc1wiIGVuIGxhICIKICJicmFuY2EgXCIlc1wiIGNhbnZpIGRlIG5vbSBcIiVzXCItPlwiJXNcIiBlbiBcIiVzXCIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMQogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiIChkZWl4YXQgc2Vuc2UgcmVzb2x1Y2nDsykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgogbXNnc3RyICIiCiAiQ09ORkxJQ1RFIChjYW52aSBkZSBub20vY2FudmkgZGUgbm9tKTogQ2FudmkgZGUgbm9tICVzLT4lcyBlbiAlcy4gQ2FudmkgZGUgIgogIm5vbSAlcy0+JXMgZW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgIlMnZXN0w6AgY2FudmlhbnQgZWwgbm9tIGRlICVzIGEgJXMgaSAlcyBhICVzIGVuIGxsb2MgZCdhaXjDsiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgogbXNnc3RyICIiCiAiQ09ORkxJQ1RFIChjYW52aSBkZSBub20vYWZlZ2ltZW50KTogQ2FudmkgZGUgbm9tICVzLT4lcyBlbiAlcy4gJXMgYWZlZ2l0IGVuICIKICIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICJTJ2VzdMOgIGFmZWdpbnQgJXMgZnVzaW9uYXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTcgbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MSBtZXJnZS1yZWN1cnNpdmUuYzoxNzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICJTJ2VzdMOgIGFmZWdpbnQgY29tIGEgJXMgZW4gbGxvYyBkJ2FpeMOyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBsJ29iamVjdGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgImwnb2JqZWN0ZSAlcyBubyDDqXMgdW4gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAibW9kaWZpY2FjacOzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIm1vZGlmaWNhdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5MAogbXNnaWQgImNvbnRlbnQiCiBtc2dzdHIgImNvbnRpbmd1dCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5NwogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgImFmZWdpbWVudC9hZmVnaW1lbnQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgogbXNnc3RyICJTJ2hhIG9tw6hzICVzIChlbCBmdXNpb25hdCDDqXMgaWd1YWwgYSBsJ2V4aXN0ZW50KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIlMnZXN0w6AgYXV0b2Z1c2lvbmFudCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MSBnaXQtc3VibW9kdWxlLnNoOjkzMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1MSBnaXQtc3VibW9kdWxlLnNoOjk0NQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAic3VibcOyZHVsIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICJDT05GTElDVEUgKCVzKTogQ29uZmxpY3RlIGRlIGZ1c2nDsyBlbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgzNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyIKIG1zZ3N0ciAiUydlc3TDoCBlbGltaW5hbnQgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzIKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAiZml0eGVyL2RpcmVjdG9yaSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3OAogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICJkaXJlY3RvcmkvZml0eGVyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiQ09ORkxJQ1RFICglcyk6IEhpIGhhIHVuIGRpcmVjdG9yaSBhbWIgbm9tICVzIGVuICVzLiBTJ2VzdMOgIGFmZWdpbnQgJXMgY29tIGEgIgogIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAiUydlc3TDoCBhZmVnaW50ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTMwCiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlISIKIG1zZ3N0ciAiSmEgZXN0w6AgYWwgZGlhISIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCiBtc2dzdHIgImxhIGZ1c2nDsyBkZWxzIGFyYnJlcyAlcyBpICVzIGhhIGZhbGxhdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAyMgogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICJGdXNpb25hbnQ6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDI1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICJzJ2hhIHRyb2JhdCAldSBhdmFudHBhc3NhdCBlbiBjb23DujoiCiBtc2dzdHJbMV0gInMnaGFuIHRyb2JhdCAldSBhdmFudHBhc3NhdHMgZW4gY29tw7o6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDc0CiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICJsYSBmdXNpw7Mgbm8gaGEgcmV0b3JuYXQgY2FwIGNvbWlzc2nDsyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEyNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZSAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTQxIGJ1aWx0aW4vbWVyZ2UuYzo2NDUgYnVpbHRpbi9tZXJnZS5jOjc5MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE1MSBidWlsdGluL21lcmdlLmM6NjQ2IGJ1aWx0aW4vbWVyZ2UuYzo3OTMKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGwnw61uZGV4LiIKIApAQCAtMjIxMywyMyArMjM3MiwyNSBAQAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCiBtc2dzdHIgIk5vIGhldSBjb25jbMOycyBsYSB2b3N0cmEgZnVzacOzIGRlIG5vdGVzICglcyBleGlzdGVpeCkuIgogCi0jOiBub3Rlcy11dGlscy5jOjQxCisjOiBub3Rlcy11dGlscy5jOjQyCiBtc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgogbXNnc3RyICJObyBlcyBwb3QgY29tZXRyZSB1biBhcmJyZSBkZSBub3RlcyBubyBpbmljaWFsaXR6YXQgLyBubyByZWZlcmVuY2lhdCIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDAKKyM6IG5vdGVzLXV0aWxzLmM6MTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiVmFsb3IgZGUgbm90ZXMucmV3cml0ZU1vZGUgZXJyb25pOiAnJXMnIgogCi0jOiBub3Rlcy11dGlscy5jOjExMAorIzogbm90ZXMtdXRpbHMuYzoxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIlMnZXN0w6AgcmVmdXNhbnQgcmVlc2NyaXVyZSBsZXMgbm90ZXMgZW4gJXMgKGZvcmEgZGUgcmVmcy9ub3Rlcy8pIgogCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mIHRoZQotIy4gZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMgaXRzIHZhbHVlCi0jOiBub3Rlcy11dGlscy5jOjEzNworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZgorIy4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzCisjLiBpdHMgdmFsdWUuCisjLgorIzogbm90ZXMtdXRpbHMuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICJWYWxvciBlcnJvbmkgZGUgJXM6ICclcyciCkBAIC0yMjM5LDI4ICsyNDAwLDI5IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZTogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NzIKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NzMKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU5MAorIzogcGFyc2Utb3B0aW9ucy5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgIsO6czogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKLSMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjU5NAorIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgorIy4KKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgbzogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKKyM6IHBhcnNlLW9wdGlvbnMuYzo2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo2MzEKKyM6IHBhcnNlLW9wdGlvbnMuYzo2MzQKIG1zZ2lkICItTlVNIgogbXNnc3RyICItTlVNIgogCkBAIC0yMjY5LDE4ICsyNDMxLDM3IEBACiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgIm5vbSBkJ29iamVjdGUgbWFsIGZvcm1hdCAnJXMnIgogCi0jOiBwYXRoLmM6ODI2CisjOiBwYXRoLmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciAlcyBlc2NyaXZpYmxlIHBlbCBncnVwIgogCi0jOiBwYXRoc3BlYy5jOjE0MgorIzogcGF0aHNwZWMuYzoxMjkKK21zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKK21zZ3N0ciAiIgorIkVsIGNhcsOgY3RlciBkJ2VzY2FwYW1lbnQgJ1xcJyBubyBlc3TDoCBwZXJtw6hzIGNvbSBhIMO6bHRpbSBjYXLDoGN0ZXIgZW4gdW4gIgorInZhbG9yIGQndW4gYXRyaWJ1dCIKKworIzogcGF0aHNwZWMuYzoxNDcKK21zZ2lkICJPbmx5IG9uZSAnYXR0cjonIHNwZWNpZmljYXRpb24gaXMgYWxsb3dlZC4iCittc2dzdHIgIm5vbcOpcyBlcyBwZXJtZXQgdW5hIGVzcGVjaWZpY2FjacOzICdhdHRyOicuIgorCisjOiBwYXRoc3BlYy5jOjE1MAorbXNnaWQgImF0dHIgc3BlYyBtdXN0IG5vdCBiZSBlbXB0eSIKK21zZ3N0ciAidW5hIGVzcGVjaWZpY2FjacOzIGQnYXRyaWJ1dCBubyBwb3QgZXN0YXIgYnVpZGEiCisKKyM6IHBhdGhzcGVjLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCittc2dzdHIgIm5vbSBkJ2F0cmlidXQgbm8gdsOgbGlkICVzIgorCisjOiBwYXRoc3BlYy5jOjI1OAogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKICJlbHMgYWp1c3RzIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gJ2dsb2InIGkgJ25vZ2xvYicgZ2xvYmFscyBzw7NuICIKICJpbmNvbXBhdGlibGVzIgogCi0jOiBwYXRoc3BlYy5jOjE0OQorIzogcGF0aHNwZWMuYzoyNjUKIG1zZ2lkICIiCiAiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgogInBhdGhzcGVjIHNldHRpbmdzIgpAQCAtMjI4OCw1MiArMjQ2OSw0NyBAQAogImwnYWp1c3QgZCdlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSAnbGl0ZXJhbCcgZ2xvYmFsIMOpcyBpbmNvbXBhdGlibGUgYW1iIHRvdHMgIgogImVscyBhbHRyZXMgYWp1c3RzIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gZ2xvYmFscyIKIAotIzogcGF0aHNwZWMuYzoxODgKKyM6IHBhdGhzcGVjLmM6MzA1CiBtc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgogbXNnc3RyICJwYXLDoG1ldHJlIG5vIHbDoGxpZCBwZXIgYSBsYSBtw6BnaWEgZCdlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSAncHJlZml4JyIKIAotIzogcGF0aHNwZWMuYzoyMDEKKyM6IHBhdGhzcGVjLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCiBtc2dzdHIgIk3DoGdpYSBkJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIG5vIHbDoGxpZGEgJyUuKnMnIGVuICclcyciCiAKLSM6IHBhdGhzcGVjLmM6MjA2CisjOiBwYXRoc3BlYy5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCiBtc2dzdHIgIicpJyBtYW5jYW50IGFsIGZpbmFsIGRlIGxhIG3DoGdpYSBkJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIGVuICclcyciCiAKLSM6IHBhdGhzcGVjLmM6MjM4CisjOiBwYXRoc3BlYy5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKIG1zZ3N0ciAiTcOgZ2lhIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gbm8gaW1wbGVtZW50YWRhICclYycgZW4gJyVzJyIKIAotIzogcGF0aHNwZWMuYzoyOTMgcGF0aHNwZWMuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgotbXNnc3RyICJMJ2VzcGVjaWZpY2FjacOzICclcycgw6lzIGVuIGVsIHN1Ym3DsmR1bCAnJS4qcyciCi0KLSM6IHBhdGhzcGVjLmM6MzUwCisjOiBwYXRoc3BlYy5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiJXM6ICdsaXRlcmFsJyBpICdnbG9iJyBzw7NuIGluY29tcGF0aWJsZXMiCiAKLSM6IHBhdGhzcGVjLmM6MzYzCisjOiBwYXRoc3BlYy5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiVzOiAnJXMnIMOpcyBmb3JhIGRlbCBkaXDDsnNpdCIKIAotIzogcGF0aHNwZWMuYzo0NTEKKyM6IHBhdGhzcGVjLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKIG1zZ3N0ciAiJyVzJyAobW5lbcOybmljOiAnJWMnKSIKIAotIzogcGF0aHNwZWMuYzo0NjEKKyM6IHBhdGhzcGVjLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCiBtc2dzdHIgIiIKLSIlczogYXF1ZXN0YSBvcmRyZSBubyDDqXMgY29tcGF0aWJsZSBhbWIgbGEgbcOgZ2lhIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw606ICVzIgorIiVzOiBhcXVlc3RhIG9yZHJlIG5vIGVzdMOgIGFkbWVzYSBhbWIgbGEgbcOgZ2lhIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw606ICVzIgogCi0jOiBwYXRoc3BlYy5jOjUxMQorIzogcGF0aHNwZWMuYzo1NzUKIG1zZ2lkICIiCiAiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCiAidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgpAQCAtMjM0MiwyNCArMjUxOCwxNiBAQAogInZlcnNpb25zIGZ1dHVyZXMuIFNpIHVzIHBsYXUsIHVzZXUgLiBlbiBsbG9jIGQnYWl4w7Igc2kgdm9sw61ldSBjb2luY2lkaXIgYW1iICIKICJ0b3RzIGVscyBjYW1pbnMiCiAKLSM6IHBhdGhzcGVjLmM6NTM1CisjOiBwYXRoc3BlYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgImwnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gJyVzJyDDqXMgbcOpcyBlbmxsw6AgZCd1biBlbmxsYcOnIHNpbWLDsmxpYyIKIAotIzogcGF0aHNwZWMuYzo1NDQKLW1zZ2lkICIiCi0iVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKLSJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgotbXNnc3RyICIiCi0iTm8gaGkgaGEgcmVzIGEgZXhjbG91cmUgcGVyIHBhdHJvbnMgOihleGNsdXNpw7MpLlxuIgotIlBvdHNlciBoZXUgb2JsaWRhdCBhZmVnaXIgbyAnOi8nIG8gJy4nID8iCi0KLSM6IHByZXR0eS5jOjk4MgorIzogcHJldHR5LmM6OTYzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgZWwgZm9ybWF0IC0tcHJldHR5IgogCi0jOiByZWFkLWNhY2hlLmM6MTMwNworIzogcmVhZC1jYWNoZS5jOjE0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0yMzY4LDcgKzI1MzYsNyBAQAogImluZGV4LnZlcnNpb24gZXN0w6AgZXN0YWJsZXJ0YSwgcGVyw7IgZWwgdmFsb3Igbm8gw6lzIHbDoGxpZC5cbiIKICJTJ2VzdMOgIHVzYW50IGxhIHZlcnNpw7MgJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxMzE3CisjOiByZWFkLWNhY2hlLmM6MTQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0yMzc3LDI1MyArMjU0NSwzNjcgQEAKICJHSVRfSU5ERVhfVkVSU0lPTiBlc3TDoCBlc3RhYmxlcnRhLCBwZXLDsiBlbCB2YWxvciBubyDDqXMgdsOgbGlkLlxuIgogIlMnZXN0w6AgdXNhbnQgbGEgdmVyc2nDsyAlaSIKIAotIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQ0CisjOiByZWFkLWNhY2hlLmM6MjMwOCBidWlsdGluL21lcmdlLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCB0YW5jYXIgJyVzJyIKKworIzogcmVhZC1jYWNoZS5jOjIzODMgc2VxdWVuY2VyLmM6MTM1MyBzZXF1ZW5jZXIuYzoyMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZmVyIHN0YXQgYSAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciBlbCBkaXJlY3RvcmkgZ2l0OiAlcyIKKworIzogcmVhZC1jYWNoZS5jOjI0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGVzZW5sbGHDp2FyOiAlcyIKKworIzogcmVmcy5jOjYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICclcycgcGVyIGEgZXNjcmlwdHVyYSIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4MQorIzogcmVmcy5jOjE3NjkKK21zZ2lkICJyZWYgdXBkYXRlcyBmb3JiaWRkZW4gaW5zaWRlIHF1YXJhbnRpbmUgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgc3VwcmltaXIgbGEgcmVmZXLDqG5jaWEgJXM6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDg0CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxNjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgc3VwcmltaXIgbGVzIHJlZmVyw6huY2llczogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0OTMKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZWxpbWluYXIgbGEgcmVmZXLDqG5jaWEgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo1NgorIzogcmVmLWZpbHRlci5jOjM1IHd0LXN0YXR1cy5jOjE4MTEKK21zZ2lkICJnb25lIgorbXNnc3RyICJubyBoaSDDqXMiCisKKyM6IHJlZi1maWx0ZXIuYzozNgorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCIKK21zZ3N0ciAiZGF2YW50IHBlciAlZCIKKworIzogcmVmLWZpbHRlci5jOjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImJlaGluZCAlZCIKK21zZ3N0ciAiZGFycmVyZSBwZXIgJWQiCisKKyM6IHJlZi1maWx0ZXIuYzozOAorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkIgorbXNnc3RyICJkYXZhbnQgcGVyICVkLCBkYXJyZXJlIHBlciAlZCIKKworIzogcmVmLWZpbHRlci5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogbXNnc3RyICJmb3JtYXQgZXNwZXJhdDogJSUoY29sb3I6PGNvbG9yPikiCiAKLSM6IHJlZi1maWx0ZXIuYzo1OAorIzogcmVmLWZpbHRlci5jOjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAiY29sb3Igbm8gcmVjb25lZ3V0OiAlJShjb2xvcjolcykiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MgorIzogcmVmLWZpbHRlci5jOjEyMQogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0OiAlJSglcykiCi1tc2dzdHIgImZvcm1hdCBubyByZWNvbmVndXQ6ICUlKCVzKSIKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgorbXNnc3RyICJ2YWxvciBlbnRlciBlc3BlcmF0IHBlbCBub20gZGUgcmVmZXLDqG5jaWE6bHN0cmlwPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6NzgKKyM6IHJlZi1maWx0ZXIuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIKK21zZ3N0ciAidmFsb3IgZW50ZXIgZXNwZXJhdCBwZWwgbm9tIGRlIHJlZmVyw6huY2lhOnJzdHJpcD0lcyIKKworIzogcmVmLWZpbHRlci5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAicGFyw6BtZXRyZSAlJSglcykgZGVzY29uZWd1dDogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo4NQorIzogcmVmLWZpbHRlci5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShzdWJqZWN0KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoc3ViamVjdCkgbm8gYWNjZXB0YSBwYXLDoG1ldHJlcyIKIAotIzogcmVmLWZpbHRlci5jOjkyCisjOiByZWYtZmlsdGVyLmM6MTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHRyYWlsZXJzKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUodHJhaWxlcnMpIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTEKKyM6IHJlZi1maWx0ZXIuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCiBtc2dzdHIgInZhbG9yIHBvc2l0aXUgZXNwZXJhdCBjb250w6k6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTMKKyM6IHJlZi1maWx0ZXIuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgInBhcsOgbWV0cmUgJSUoY29udGVudHMpIG5vIHJlY29uZWd1dDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMjMKKyM6IHJlZi1maWx0ZXIuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKK21zZ3N0ciAidmFsb3IgcG9zaXRpdSBlc3BlcmF0IG5vbSBkJ29iamVjdGU6Y3VydD0lcyIKKworIzogcmVmLWZpbHRlci5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0bmFtZSkgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJwYXLDoG1ldHJlICUlKG9iamVjdG5hbWUpIG5vIHJlY29uZWd1dDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDUKKyM6IHJlZi1maWx0ZXIuYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICJmb3JtYXQgZXNwZXJhdDogJSUoYWxpZ246PGFtcGxhZGE+LDxwb3NpY2nDsz4pIgogCi0jOiByZWYtZmlsdGVyLmM6MTU3CisjOiByZWYtZmlsdGVyLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBwb3NpdGlvbjolcyIKIG1zZ3N0ciAicG9zaWNpw7Mgbm8gcmVjb25lZ3VkYTolcyIKIAotIzogcmVmLWZpbHRlci5jOjE2MQorIzogcmVmLWZpbHRlci5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCiBtc2dzdHIgImFtcGxhZGEgbm8gcmVjb25lZ3VkYTolcyIKIAotIzogcmVmLWZpbHRlci5jOjE2NworIzogcmVmLWZpbHRlci5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAicGFyw6BtZXRyZSAlJShhbGlnbikgbm8gcmVjb25lZ3V0OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE3MQorIzogcmVmLWZpbHRlci5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB3aWR0aCBleHBlY3RlZCB3aXRoIHRoZSAlJShhbGlnbikgYXRvbSIKIG1zZ3N0ciAiYW1wbGFkYSBwb3NpdGl2YSBlc3BlcmFkYSBhbWIgbCfDoHRvbSAlJShhbGlnbikiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNTUKKyM6IHJlZi1maWx0ZXIuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCittc2dzdHIgInBhcsOgbWV0cmUgJSUoaWYpIG5vIHJlY29uZWd1dDogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzozNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIm5vbSBkZSBjYW1wIG1hbCBmb3JtYXQ6ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyODEKKyM6IHJlZi1maWx0ZXIuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICJub20gZGUgY2FtcCBkZXNjb25lZ3V0OiAlLipzIgogCi0jOiByZWYtZmlsdGVyLmM6MzgzCisjOiByZWYtZmlsdGVyLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoaWYpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0OiBzJ2hhIHVzYXQgbCfDoHRvbSAlJShpZikgc2Vuc2UgdW4gw6B0b20gJSUodGhlbikiCisKKyM6IHJlZi1maWx0ZXIuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0OiBzJ2hhIHVzYXQgbCfDoHRvbSAlJSh0aGVuKSBzZW5zZSB1biDDoHRvbSAlJShpZikiCisKKyM6IHJlZi1maWx0ZXIuYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImZvcm1hdDogcydoYSB1c2F0IGwnw6B0b20gJSUodGhlbikgbcOpcyBkJ3VuIGNvcCIKKworIzogcmVmLWZpbHRlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBhZnRlciAlJShlbHNlKSIKK21zZ3N0ciAiZm9ybWF0OiBzJ2hhIHVzYXQgbCfDoHRvbSAlJSh0aGVuKSBkZXNwcsOpcyBkZSAlJShlbHNlKSIKKworIzogcmVmLWZpbHRlci5jOjU5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgorbXNnc3RyICJmb3JtYXQ6IHMnaGEgdXNhdCBsJ8OgdG9tICUlKGVsc2UpIHNlbnNlIHVuIMOgdG9tICUlKGlmKSIKKworIzogcmVmLWZpbHRlci5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0OiBzJ2hhIHVzYXQgbCfDoHRvbSAlJShlbHNlKSBzZW5zZSB1biDDoHRvbSAlJSh0aGVuKSIKKworIzogcmVmLWZpbHRlci5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiZm9ybWF0OiBzJ2hhIHVzYXQgbCfDoHRvbSAlJShlbHNlKSBtw6lzIGQndW4gY29wIgorCisjOiByZWYtZmlsdGVyLmM6NjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCiBtc2dzdHIgImZvcm1hdDogcydoYSB1c2F0IGwnw6B0b20gJSUoZW5kKSBzZW5zZSBsJ8OgdG9tIGNvcnJlc3BvbmVudCIKIAotIzogcmVmLWZpbHRlci5jOjQzNQorIzogcmVmLWZpbHRlci5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKIG1zZ3N0ciAiY2FkZW5hIGRlIGZvcm1hdCBtYWwgZm9ybWF0ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6ODk4Ci1tc2dpZCAiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiCi1tc2dzdHIgIjpzdHJpcD0gcmVxdWVyZWl4IHVuIHBhcsOgbWV0cmUgZW50ZXIgcG9zaXRpdSIKLQotIzogcmVmLWZpbHRlci5jOjkwMworIzogcmVmLWZpbHRlci5jOjEyNTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmICclcycgZG9lcyBub3QgaGF2ZSAlbGQgY29tcG9uZW50cyB0byA6c3RyaXAiCi1tc2dzdHIgImxhIHJlZmVyw6huY2lhICclcycgbm8gdMOpICVsZCBjb21wb25lbnRzIHBlciBhIDpzdHJpcCIKK21zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCittc2dzdHIgIihjYXAgYnJhbmNhLCBzJ2VzdMOgIGZlbnQgwqtyZWJhc2XCuyAlcykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDY2CisjOiByZWYtZmlsdGVyLmM6MTI1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgotbXNnc3RyICJmb3JtYXQgZGUgJS4qcyBkZXNjb25lZ3V0ICVzIgorbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKK21zZ3N0ciAiKGNhcCBicmFuY2EsIGJpc2VjY2nDsyBjb21lbsOnYWRhIGVuICVzKSIKIAotIzogcmVmLWZpbHRlci5jOjEwODYgcmVmLWZpbHRlci5jOjExMTcKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCisjLgorIzogcmVmLWZpbHRlci5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgorbXNnc3RyICIoSEVBRCBzZXBhcmF0IGEgJXMpIgorCisjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAorIy4gZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCisjLgorIzogcmVmLWZpbHRlci5jOjEyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCittc2dzdHIgIihIRUFEIHNlcGFyYXQgZGUgJXMpIgorCisjOiByZWYtZmlsdGVyLmM6MTI3NgorbXNnaWQgIihubyBicmFuY2gpIgorbXNnc3RyICIoY2FwIGJyYW5jYSkiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDI2IHJlZi1maWx0ZXIuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKIG1zZ3N0ciAibWFuY2EgbCdvYmplY3RlICVzIHBlciBhICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTA4OSByZWYtZmlsdGVyLmM6MTEyMAorIzogcmVmLWZpbHRlci5jOjE0MjkgcmVmLWZpbHRlci5jOjE0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFyc2Vfb2JqZWN0X2J1ZmZlciBmYWlsZWQgb24gJXMgZm9yICVzIgogbXNnc3RyICJwYXJzZV9vYmplY3RfYnVmZmVyIGhhIGZhbGxhdCBlbiAlcyBwZXIgYSAlcyIKIAotIzogcmVmLWZpbHRlci5jOjEzNDMKKyM6IHJlZi1maWx0ZXIuYzoxNzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgYXQgJyVzJyIKIG1zZ3N0ciAib2JqZWN0ZSBtYWwgZm9ybWF0IGEgJyVzJyIKIAotIzogcmVmLWZpbHRlci5jOjE0MTAKKyM6IHJlZi1maWx0ZXIuYzoxODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICJzJ2VzdMOgIGlnbm9yYW50IGxhIHJlZmVyw6huY2lhIGFtYiBub20gbWFsbcOocyAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MTUKKyM6IHJlZi1maWx0ZXIuYzoxODMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgInMnZXN0w6AgaWdub3JhbnQgbGEgcmVmZXLDqG5jaWEgdHJlbmNhZGEgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcwCisjOiByZWYtZmlsdGVyLmM6MjA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXQ6IG1hbmNhIGwnw6B0b20gJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjE3MzQKKyM6IHJlZi1maWx0ZXIuYzoyMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAibm9tIGQnb2JqZWN0ZSAlcyBtYWwgZm9ybWF0IgogCi0jOiByZW1vdGUuYzo3NTQKKyM6IHJlbW90ZS5jOjc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCiBtc2dzdHIgIk5vIGVzIHBvZGVuIG9idGVuaXIgYW1iZMOzcyAlcyBpICVzIGEgJXMiCiAKLSM6IHJlbW90ZS5jOjc1OAorIzogcmVtb3RlLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCiBtc2dzdHIgIiVzIGdlbmVyYWxtZW50IHNlZ3VlaXggJXMsIG5vICVzIgogCi0jOiByZW1vdGUuYzo3NjIKKyM6IHJlbW90ZS5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCiBtc2dzdHIgIiVzIHNlZ3VlaXggYW1iZMOzcyAlcyBpICVzIgogCi0jOiByZW1vdGUuYzo3NzAKKyM6IHJlbW90ZS5jOjc2MwogbXNnaWQgIkludGVybmFsIGVycm9yIgogbXNnc3RyICJFcnJvciBpbnRlcm4iCiAKLSM6IHJlbW90ZS5jOjE2ODUgcmVtb3RlLmM6MTc4NworIzogcmVtb3RlLmM6MTY4MCByZW1vdGUuYzoxNzgyCiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCBubyBhc3NlbnlhbGEgY2FwIGJyYW5jYSIKIAotIzogcmVtb3RlLmM6MTY5NAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAibm8gaGkgaGEgdGFsIGJyYW5jYTogJyVzJyIKIAotIzogcmVtb3RlLmM6MTY5NworIzogcmVtb3RlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiY2FwIGZvbnQgY29uZmlndXJhZGEgcGVyIGEgbGEgYnJhbmNhICclcyciCiAKLSM6IHJlbW90ZS5jOjE3MDMKKyM6IHJlbW90ZS5jOjE2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgImxhIGJyYW5jYSBmb250ICclcycgbm8gcydlbW1hZ2F0emVtYSBjb20gYSBicmFuY2EgYW1iIHNlZ3VpbWVudCByZW1vdCIKIAotIzogcmVtb3RlLmM6MTcxOAorIzogcmVtb3RlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgotImVsIGRlc3TDrSBkZSBwdWphZGEgJyVzJyBlbiBlbCByZW1vdCAnJXMnIG5vIHTDqSBjYXAgYnJhbmNhIHNlZ3VpZG9yYSBsb2NhbCIKKyJlbCBkZXN0w60gZGUgcHVqYWRhICclcycgZW4gZWwgcmVtb3QgJyVzJyBubyB0w6kgY2FwIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90IgogCi0jOiByZW1vdGUuYzoxNzMwCisjOiByZW1vdGUuYzoxNzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCiBtc2dzdHIgImxhIGJyYW5jYSAnJXMnIG5vIHTDqSBjYXAgcmVtb3QgYWwgcXVhbCBwdWphciIKIAotIzogcmVtb3RlLmM6MTc0MQorIzogcmVtb3RlLmM6MTczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIHJlZnNwZWNzIGZvciAnJXMnIGRvIG5vdCBpbmNsdWRlICclcyciCiBtc2dzdHIgImxlcyBlc3BlY2lmaWNhY2lvbnMgZGUgcmVmZXLDqG5jaWEgZGUgJyVzJyBubyBpbmNsb3VlbiAnJXMnIgogCi0jOiByZW1vdGUuYzoxNzU0CisjOiByZW1vdGUuYzoxNzQ5CiBtc2dpZCAicHVzaCBoYXMgbm8gZGVzdGluYXRpb24gKHB1c2guZGVmYXVsdCBpcyAnbm90aGluZycpIgogbXNnc3RyICJwdXNoIG5vIHTDqSBkZXN0w60gKHB1c2guZGVmYXVsdCDDqXMgJ25vdGhpbmcnKSIKIAotIzogcmVtb3RlLmM6MTc3NgorIzogcmVtb3RlLmM6MTc3MQogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgIm5vIGVzIHBvdCByZXNvbGRyZSB1bmEgcHVqYWRhICdzaW1wbGUnIGEgdW4gc29sIGRlc3TDrSIKIAotIzogcmVtb3RlLmM6MjA4MQorIzogcmVtb3RlLmM6MjA3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCiBtc2dzdHIgIkxhIHZvc3RyYSBicmFuY2EgZXN0w6AgYmFzYWRhIGVuICclcycsIHBlcsOyIGxhIGZvbnQgbm8gaGkgw6lzLlxuIgogCi0jOiByZW1vdGUuYzoyMDg1CisjOiByZW1vdGUuYzoyMDgwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiBwZXIgYSBhcnJlZ2xhcilcbiIKIAotIzogcmVtb3RlLmM6MjA4OAorIzogcmVtb3RlLmM6MjA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKIG1zZ3N0ciAiTGEgdm9zdHJhIGJyYW5jYSBlc3TDoCBhbCBkaWEgYW1iICclcycuXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTIKKyM6IHJlbW90ZS5jOjIwODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiTGEgdm9zdHJhIGJyYW5jYSBlc3TDoCBkYXZhbnQgZGUgJyVzJyBwZXIgJWQgY29taXNzacOzLlxuIgogbXNnc3RyWzFdICJMYSB2b3N0cmEgYnJhbmNhIGVzdMOgIGRhdmFudCBkZSAnJXMnIHBlciAlZCBjb21pc3Npb25zLlxuIgogCi0jOiByZW1vdGUuYzoyMDk4CisjOiByZW1vdGUuYzoyMDkzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBwdXNoXCIgcGVyIGEgcHVibGljYXIgbGVzIHZvc3RyZXMgY29taXNzaW9ucyBsb2NhbHMpXG4iCiAKLSM6IHJlbW90ZS5jOjIxMDEKKyM6IHJlbW90ZS5jOjIwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC0yNjM1LDExICsyOTE3LDExIEBACiAiTGEgdm9zdHJhIGJyYW5jYSBlc3TDoCBkYXJyZXJlIGRlICclcycgcGVyICVkIGNvbWlzc2lvbnMsIGkgcG90IGF2YW7Dp2FyLXNlICIKICJyw6BwaWRhbWVudC5cbiIKIAotIzogcmVtb3RlLmM6MjEwOQorIzogcmVtb3RlLmM6MjEwNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgKHVzZXUgXCJnaXQgcHVsbFwiIHBlciBhIGFjdHVhbGl0emFyIGxhIHZvc3RyYSBicmFuY2EgbG9jYWwpXG4iCiAKLSM6IHJlbW90ZS5jOjIxMTIKKyM6IHJlbW90ZS5jOjIxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC0yNjQ4LDQ3ICsyOTMwLDUyIEBACiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKICJhbmQgaGF2ZSAlZCBhbmQgJWQgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LlxuIgogbXNnc3RyWzBdICIiCi0iTGEgdm9zdHJhIGJyYW5jYSBpICclcycgcydoYW4gZGl2ZXJnaXQsXG4iCisiTGEgdm9zdHJhIGJyYW5jYSBpICclcycgaGFuIGRpdmVyZ2l0LFxuIgogImkgdGVuZW4gJWQgaSAlZCBjb21pc3Npw7MgZGlzdGludGEgY2FkYSB1bmEsIHJlc3BlY3RpdmFtZW50LlxuIgogbXNnc3RyWzFdICIiCi0iTGEgdm9zdHJhIGJyYW5jYSBpICclcycgcydoYW4gZGl2ZXJnaXQsXG4iCisiTGEgdm9zdHJhIGJyYW5jYSBpICclcycgaGFuIGRpdmVyZ2l0LFxuIgogImkgdGVuZW4gJWQgaSAlZCBjb21pc3Npb25zIGRpc3RpbnRlcyBjYWRhIHVuYSwgcmVzcGVjdGl2YW1lbnQuXG4iCiAKLSM6IHJlbW90ZS5jOjIxMjIKKyM6IHJlbW90ZS5jOjIxMTcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgcHVsbFwiIHBlciBhIGZ1c2lvbmFyIGxhIGJyYW5jYSByZW1vdGEgYSBsYSB2b3N0cmEpXG4iCiAKLSM6IHJldmlzaW9uLmM6MjE1OAorIzogcmV2aXNpb24uYzoyMTg3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAibGEgdm9zdHJhIGJyYW5jYSBhY3R1YWwgc2VtYmxhIG1hbG1lc2EiCiAKLSM6IHJldmlzaW9uLmM6MjE2MQorIzogcmV2aXNpb24uYzoyMTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggJyVzJyBkb2VzIG5vdCBoYXZlIGFueSBjb21taXRzIHlldCIKIG1zZ3N0ciAibGEgdm9zdHJhIGJyYW5jYSBhY3R1YWwgJyVzJyBlbmNhcmEgbm8gdMOpIGNhcCBjb21pc3Npw7MiCiAKLSM6IHJldmlzaW9uLmM6MjM1NQorIzogcmV2aXNpb24uYzoyMzg0CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgIi0tZmlyc3QtcGFyZW50IMOpcyBpbmNvbXBhdGlibGUgYW1iIC0tYmlzZWN0IgogCi0jOiBydW4tY29tbWFuZC5jOjEyNQorIzogcnVuLWNvbW1hbmQuYzo2NDQKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgL2Rldi9udWxsIgogCi0jOiBydW4tY29tbWFuZC5jOjEyNworIzogc2VuZC1wYWNrLmM6MTUxCiAjLCBjLWZvcm1hdAotbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKLW1zZ3N0ciAiZHVwMiglZCwlZCkgaGEgZmFsbGF0IgorbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnZXN0YXQgZGVsIGRlc2VtcGFxdWV0YW1lbnQgcmVtb3Q6ICVzIgogCi0jOiBzZW5kLXBhY2suYzoyOTcKKyM6IHNlbmQtcGFjay5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZWwgZGVzZW1wYXF1ZXRhbWVudCByZW1vdDogJXMiCisKKyM6IHNlbmQtcGFjay5jOjMxNgogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHNpZ25hciBlbCBjZXJ0aWZpY2F0IGRlIHB1amFkYSIKIAotIzogc2VuZC1wYWNrLmM6NDEwCisjOiBzZW5kLXBhY2suYzo0MjkKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgImVsIGRlc3TDrSByZWNlcHRvciBubyBhZG1ldCBwdWphciAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDEyCisjOiBzZW5kLXBhY2suYzo0MzEKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCkBAIC0yNjk2LDMyICsyOTgzLDMyIEBACiAibm8gcydlc3TDoCBlbnZpYW50IHVuYSBjZXJ0aWZpY2FjacOzIGRlIHB1amFkYSBwZXJxdcOoIGVsIGRlc3TDrSByZWNlcHRvciBubyAiCiAiYWRtZXQgcHVqYXIgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQyNAorIzogc2VuZC1wYWNrLmM6NDQzCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICJlbCBkZXN0w60gcmVjZXB0b3Igbm8gYWRtZXQgcHVqYXIgLS1hdG9taWMiCiAKLSM6IHNlbmQtcGFjay5jOjQyOQorIzogc2VuZC1wYWNrLmM6NDQ4CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCiBtc2dzdHIgImVsIGRlc3TDrSByZWNlcHRvciBubyBhZG1ldCBvcGNpb25zIGRlIHB1amFkYSIKIAotIzogc2VxdWVuY2VyLmM6MjE1CisjOiBzZXF1ZW5jZXIuYzoyMTYKIG1zZ2lkICJyZXZlcnQiCiBtc2dzdHIgInJldmVydGlyIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTcKKyM6IHNlcXVlbmNlci5jOjIxOAogbXNnaWQgImNoZXJyeS1waWNrIgogbXNnc3RyICJjaGVycnktcGljayIKIAotIzogc2VxdWVuY2VyLmM6MjE5CisjOiBzZXF1ZW5jZXIuYzoyMjAKIG1zZ2lkICJyZWJhc2UgLWkiCiBtc2dzdHIgInJlYmFzZSAtaSIKIAotIzogc2VxdWVuY2VyLmM6MjIxCisjOiBzZXF1ZW5jZXIuYzoyMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhY3Rpb246ICVkIgogbXNnc3RyICJBY2Npw7MgZGVzY29uZWd1ZGE6ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzgKKyM6IHNlcXVlbmNlci5jOjI3OQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtMjcyOSw3ICszMDE2LDcgQEAKICJkZXNwcsOpcyBkZSByZXNvbGRyZSBlbHMgY29uZmxpY3RlcywgbWFycXVldSBlbHMgY2FtaW5zXG4iCiAiY29ycmVnaXRzIGFtYiAnZ2l0IGFkZCA8Y2FtaW5zPicgbyAnZ2l0IHJtIDxjYW1pbnM+JyIKIAotIzogc2VxdWVuY2VyLmM6MjgxCisjOiBzZXF1ZW5jZXIuYzoyODIKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtMjczOSw2MyArMzAyNiw2MyBAQAogImNvcnJlZ2l0cyBhbWIgJ2dpdCBhZGQgPGNhbWlucz4nIG8gJ2dpdCBybSA8Y2FtaW5zPidcbiIKICJpIGNvbWV0ZXUgZWwgcmVzdWx0YXQgYW1iICdnaXQgY29tbWl0JyIKIAotIzogc2VxdWVuY2VyLmM6Mjk0IHNlcXVlbmNlci5jOjE2NjcKKyM6IHNlcXVlbmNlci5jOjI5NSBzZXF1ZW5jZXIuYzoxNjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmxvcXVlamFyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjI5NyBzZXF1ZW5jZXIuYzoxNTQ1IHNlcXVlbmNlci5jOjE2NzIgc2VxdWVuY2VyLmM6MTY4NgorIzogc2VxdWVuY2VyLmM6Mjk4IHNlcXVlbmNlci5jOjE1NjMgc2VxdWVuY2VyLmM6MTY5MCBzZXF1ZW5jZXIuYzoxNzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MzAxCisjOiBzZXF1ZW5jZXIuYzozMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIHRlcm1pbmFkb3IgZGUgbMOtbmlhIGEgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MzA1IHNlcXVlbmNlci5jOjE1NTAgc2VxdWVuY2VyLmM6MTY3NAorIzogc2VxdWVuY2VyLmM6MzA2IHNlcXVlbmNlci5jOjE1Njggc2VxdWVuY2VyLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZmluYWxpdHphciAnJXMnLiIKIAotIzogc2VxdWVuY2VyLmM6MzI5IHNlcXVlbmNlci5jOjgwOCBzZXF1ZW5jZXIuYzoxNTcxIGJ1aWx0aW4vYW0uYzoyNTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDM2CisjOiBzZXF1ZW5jZXIuYzozMzAgc2VxdWVuY2VyLmM6ODE3IHNlcXVlbmNlci5jOjE1ODkgYnVpbHRpbi9hbS5jOjI1OAorIzogYnVpbHRpbi9jb21taXQuYzo3NTAgYnVpbHRpbi9tZXJnZS5jOjEwMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MzU1CisjOiBzZXF1ZW5jZXIuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzLiIKIG1zZ3N0ciAiZWxzIHZvc3RyZXMgY2FudmlzIGxvY2FscyBzZSBzb2JyZWVzY3JpdXJpZW4gcGVyICVzLiIKIAotIzogc2VxdWVuY2VyLmM6MzU5CisjOiBzZXF1ZW5jZXIuYzozNjAKIG1zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCiBtc2dzdHIgImNvbWV0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIG8gZW1tYWdhdHplbWV1LWxvcyBwZXIgYSBwcm9jZWRpci4iCiAKLSM6IHNlcXVlbmNlci5jOjM4OAorIzogc2VxdWVuY2VyLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVzOiBhdmFuw6cgcsOgcGlkIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiwgImNoZXJyeS1waWNrIiBvcgotIy4gKiAicmViYXNlIC1pIi4KKyMuICJyZWJhc2UgLWkiLgogIy4KLSM6IHNlcXVlbmNlci5jOjQ3MAorIzogc2VxdWVuY2VyLmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVzOiBObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIHVuIGZpdHhlciBkJ8OtbmRleCBub3UiCiAKLSM6IHNlcXVlbmNlci5jOjQ4OQorIzogc2VxdWVuY2VyLmM6NDkxCiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXNvbGRyZSBsYSBjb21pc3Npw7MgSEVBRFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo1MDkKKyM6IHNlcXVlbmNlci5jOjUxMQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGwnYXJicmUgY2F1XG4iCiAKLSM6IHNlcXVlbmNlci5jOjU5MgorIzogc2VxdWVuY2VyLmM6NTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgpAQCAtMjgxMiw3ICszMDk5LDggQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogbXNnc3RyICIiCiAidGVuaXUgY2FudmlzIMKrc3RhZ2VkwrsgZW4gZWwgdm9zdHJlIGFyYnJlIGRlIHRyZWJhbGxcbiIKLSJTaSBhcXVlc3RzIGNhbnZpcyBlc3RhbiBwZW5zYXRzIHBlciBmZXIgwqtzcXVhc2jCuyBhIGxhIGNvbWlzc2nDsyBwcsOodmlhLCBleGVjdXRldTpcbiIKKyJTaSBhcXVlc3RzIGNhbnZpcyBlc3RhbiBwZW5zYXRzIHBlciBmZXIgwqtzcXVhc2jCuyBhIGxhIGNvbWlzc2nDsyBwcsOodmlhLCAiCisiZXhlY3V0ZXU6XG4iCiAiXG4iCiAiICBnaXQgY29tbWl0IC0tYW1lbmQgJXNcbiIKICJcbiIKQEAgLTI4MjQsMTcgKzMxMTIsMTcgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo2ODgKKyM6IHNlcXVlbmNlci5jOjY5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo2OTMKKyM6IHNlcXVlbmNlci5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7MgbWFyZSAlc1xuIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7MgcGFyZSAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTUKKyM6IHNlcXVlbmNlci5jOjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5leHBlY3RlZCAxc3QgbGluZSBvZiBzcXVhc2ggbWVzc2FnZTpcbiIKQEAgLTI4NDUsNyArMzEzMyw3IEBACiAiXG4iCiAiXHQlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjEKKyM6IHNlcXVlbmNlci5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW52YWxpZCAxc3QgbGluZSBvZiBzcXVhc2ggbWVzc2FnZTpcbiIKQEAgLTI4NTYsMjMwICszMTQ0LDIzMCBAQAogIlxuIgogIlx0JS4qcyIKIAotIzogc2VxdWVuY2VyLmM6ODI3IHNlcXVlbmNlci5jOjg1MgorIzogc2VxdWVuY2VyLmM6ODM2IHNlcXVlbmNlci5jOjg2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCiBtc2dzdHIgIkFpeMOyIMOpcyB1bmEgY29tYmluYWNpw7MgZGUgJWQgY29taXNzaW9ucy4iCiAKLSM6IHNlcXVlbmNlci5jOjgzNgorIzogc2VxdWVuY2VyLmM6ODQ1CiBtc2dpZCAibmVlZCBhIEhFQUQgdG8gZml4dXAiCiBtc2dzdHIgImNhbCB1biBIRUFEIHBlciByZXBhcmFyLWhvIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzgKKyM6IHNlcXVlbmNlci5jOjg0NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjg0MAorIzogc2VxdWVuY2VyLmM6ODQ5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCdzIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgZGUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODQ2CisjOiBzZXF1ZW5jZXIuYzo4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBlc2NyaXVyZSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ1CisjOiBzZXF1ZW5jZXIuYzo4NjQgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ1CiBtc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKIG1zZ3N0ciAiQXF1ZXN0IMOpcyBlbCAxciBtaXNzYXRnZSBkZSBjb21pc3Npw7M6IgogCi0jOiBzZXF1ZW5jZXIuYzo4NjMKKyM6IHNlcXVlbmNlci5jOjg3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZSBvZiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODcwCisjOiBzZXF1ZW5jZXIuYzo4NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyVkOiIKIG1zZ3N0ciAiQXF1ZXN0IMOpcyBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgIyVkOiIKIAotIzogc2VxdWVuY2VyLmM6ODc1CisjOiBzZXF1ZW5jZXIuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJFbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgbsO6bS4gIyVkIHMnb21ldHLDoDoiCiAKLSM6IHNlcXVlbmNlci5jOjg4MAorIzogc2VxdWVuY2VyLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZDogJWQiCiBtc2dzdHIgIm9yZHJlIGRlc2NvbmVndWRhOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6OTQ2CisjOiBzZXF1ZW5jZXIuYzo5NTUKIG1zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICJlbCB2b3N0cmUgZml0eGVyIGQnw61uZGV4IGVzdMOgIHNlbnNlIGZ1c2lvbmFyLiIKIAotIzogc2VxdWVuY2VyLmM6OTY0CisjOiBzZXF1ZW5jZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICJsYSBjb21pc3Npw7MgJXMgw6lzIHVuYSBmdXNpw7MgcGVyw7Igbm8gcydoYSBkb25hdCBjYXAgb3BjacOzIC1tLiIKIAotIzogc2VxdWVuY2VyLmM6OTcyCisjOiBzZXF1ZW5jZXIuYzo5ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgotbXNnc3RyICJsYSBjb21pc3Npw7MgJXMgbm8gdMOpIG1hcmUgJWQiCittc2dzdHIgImxhIGNvbWlzc2nDsyAlcyBubyB0w6kgcGFyZSAlZCIKIAotIzogc2VxdWVuY2VyLmM6OTc2CisjOiBzZXF1ZW5jZXIuYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAiIgogInMnaGEgZXNwZWNpZmljYXQgbGEgbMOtbmlhIHByaW5jaXBhbCBwZXLDsiBsYSBjb21pc3Npw7MgJXMgbm8gw6lzIHVuYSBmdXNpw7MuIgogCi0jOiBzZXF1ZW5jZXIuYzo5ODIKKyM6IHNlcXVlbmNlci5jOjk5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzIGRlICVzIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCiAjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgotIzogc2VxdWVuY2VyLmM6MTAwMQorIzogc2VxdWVuY2VyLmM6MTAxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCi1tc2dzdHIgIiVzOiBubyBlcyBwb3QgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBtYXJlICVzIgorbXNnc3RyICIlczogbm8gZXMgcG90IGFuYWxpdHphciBsYSBjb21pc3Npw7MgcGFyZSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA2MyBzZXF1ZW5jZXIuYzoxODEyCisjOiBzZXF1ZW5jZXIuYzoxMDc1IHNlcXVlbmNlci5jOjE4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY2FudmlhciBlbCBub20gJyVzJyBhICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjExMTQKKyM6IHNlcXVlbmNlci5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXZlcnRpciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTExNQorIzogc2VxdWVuY2VyLmM6MTEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYXBsaWNhciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTE1NworIzogc2VxdWVuY2VyLmM6MTE2OQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJjb25qdW50IGRlIGNvbWlzc2lvbnMgYnVpdCBwYXNzYXQiCiAKLSM6IHNlcXVlbmNlci5jOjExNjcKKyM6IHNlcXVlbmNlci5jOjExNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgbCfDrW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjExNzQKKyM6IHNlcXVlbmNlci5jOjExODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhY3R1YWxpdHphciBsJ8OtbmRleCIKIAotIzogc2VxdWVuY2VyLmM6MTI5NAorIzogc2VxdWVuY2VyLmM6MTMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgImzDrW5pYSBubyB2w6BsaWRhICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzAyCisjOiBzZXF1ZW5jZXIuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAnJXMnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIk5vIGVzIHBvdCAnJXMnIHNlbnNlIHVuYSBjb21pc3Npw7MgcHLDqHZpYSIKIAotIzogc2VxdWVuY2VyLmM6MTMzNAorIzogc2VxdWVuY2VyLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJyVzJy4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNDEKKyM6IHNlcXVlbmNlci5jOjEzNTkKIG1zZ2lkICJwbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAic2kgdXMgcGxhdSwgY29ycmVnaXUtaG8gYWl4w7IgdXNhbnQgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIAotIzogc2VxdWVuY2VyLmM6MTM0MworIzogc2VxdWVuY2VyLmM6MTM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKIG1zZ3N0ciAiZnVsbCBkJ2luc3RydWNjaW9ucyBpbnVzYWJsZTogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTM0OAorIzogc2VxdWVuY2VyLmM6MTM2NgogbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAibm8gcydoYSBhbmFsaXR6YXQgY2FwIGNvbWlzc2nDsy4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNTkKKyM6IHNlcXVlbmNlci5jOjEzNzcKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciDCq2NoZXJyeSBwaWNrwrsgZHVyYW50IHVuYSByZXZlcnNpw7MuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxCisjOiBzZXF1ZW5jZXIuYzoxMzc5CiBtc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIm5vIGVzIHBvdCByZXZlcnRpciBkdXJhbnQgdW4gwqtjaGVycnkgcGlja8K7LiIKIAotIzogc2VxdWVuY2VyLmM6MTQyNAorIzogc2VxdWVuY2VyLmM6MTQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgImNsYXUgbm8gdsOgbGlkYTogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE0MjcKKyM6IHNlcXVlbmNlci5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJ2YWxvciBubyB2w6BsaWQgcGVyIGEgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDg0CisjOiBzZXF1ZW5jZXIuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgogbXNnc3RyICJmdWxsIGQnb3BjaW9ucyBtYWwgZm9ybWF0OiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIyCisjOiBzZXF1ZW5jZXIuYzoxNTQwCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAidW4gwqtjaGVycnkgcGlja8K7IG8gdW5hIHJldmVyc2nDsyBqYSBlc3TDoCBlbiBjdXJzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIzCisjOiBzZXF1ZW5jZXIuYzoxNTQxCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiaW50ZW50ZXUgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTI2CisjOiBzZXF1ZW5jZXIuYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGRpcmVjdG9yaSBkZSBzZXHDvGVuY2lhZG9yICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE1NDAKKyM6IHNlcXVlbmNlci5jOjE1NTgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJsb3F1ZWphciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTk2IHNlcXVlbmNlci5jOjIxNTAKKyM6IHNlcXVlbmNlci5jOjE2MTQgc2VxdWVuY2VyLmM6MjE4OAogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAibmkgaGkgaGEgY2FwIMKrY2hlcnJ5IHBpY2vCuyBuaSBjYXAgcmV2ZXJzacOzIGVuIGN1cnMiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTgKKyM6IHNlcXVlbmNlci5jOjE2MTYKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJubyBlcyBwb3QgcmVzb2xkcmUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTYwMCBzZXF1ZW5jZXIuYzoxNjM0CisjOiBzZXF1ZW5jZXIuYzoxNjE4IHNlcXVlbmNlci5jOjE2NTIKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAibm8gZXMgcG90IGF2b3J0YXIgZGVzIGQndW5hIGJyYW5jYSBxdWUgZW5jYXJhIGhhIGRlIG7DoGl4ZXIiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjAgYnVpbHRpbi9ncmVwLmM6OTA0CisjOiBzZXF1ZW5jZXIuYzoxNjM4IGJ1aWx0aW4vZ3JlcC5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTYyMgorIzogc2VxdWVuY2VyLmM6MTY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciAnJXMnOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTYyMworIzogc2VxdWVuY2VyLmM6MTY0MQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImZpbmFsIGRlIGZpdHhlciBpbmVzcGVyYXQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjkKKyM6IHNlcXVlbmNlci5jOjE2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJlbCBmaXR4ZXIgSEVBRCBlbW1hZ2F0emVtYXQgYWJhbnMgZGUgZmVyIMKrY2hlcnJ5IHBpY2vCuyAnJXMnIMOpcyBtYWxtw6hzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjQwCisjOiBzZXF1ZW5jZXIuYzoxNjU4CiBtc2dpZCAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiBOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIgogbXNnc3RyICJTZW1ibGEgcXVlIGhldSBtb2d1dCBIRUFEIHNlbnNlIHJlYm9iaW5hciwgY29tcHJvdmV1LWhvIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE3Nzcgc2VxdWVuY2VyLmM6MjA0OQorIzogc2VxdWVuY2VyLmM6MTc5NSBzZXF1ZW5jZXIuYzoyMDg2CiBtc2dpZCAiY2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxODE3IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NzQKKyM6IHNlcXVlbmNlci5jOjE4MzUgYnVpbHRpbi9kaWZmdG9vbC5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY29waWFyICclcycgYSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMzCisjOiBzZXF1ZW5jZXIuYzoxODUxCiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGwnw61uZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzoxODM4CisjOiBzZXF1ZW5jZXIuYzoxODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gZmFpbGVkOiAlc1xuIgpAQCAtMzA5NCwxMSArMzM4MiwxMSBAQAogIiBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MTg0NAorIzogc2VxdWVuY2VyLmM6MTg2MgogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCiBtc2dzdHIgImkgaGEgZmV0IGNhbnZpcyBhIGwnw61uZGV4IGkvbyBsJ2FyYnJlIGRlIHRyZWJhbGxcbiIKIAotIzogc2VxdWVuY2VyLmM6MTg1MAorIzogc2VxdWVuY2VyLmM6MTg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKQEAgLTMxMTQsMTcgKzM0MDIsMTcgQEAKICJcbiIKICIgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjE5MDUgZ2l0LXJlYmFzZS5zaDoxNjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgorIzogc2VxdWVuY2VyLmM6MTkyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCiBtc2dzdHIgIlMnaGEgYXBsaWNhdCBlbCBtYWdhdHplbSBhdXRvbcOgdGljLiIKIAotIzogc2VxdWVuY2VyLmM6MTkxNworIzogc2VxdWVuY2VyLmM6MTkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBlbW1hZ2F0emVtYXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE5MTkgZ2l0LXJlYmFzZS5zaDoxNzIKKyM6IHNlcXVlbmNlci5jOjE5NDAgZ2l0LXJlYmFzZS5zaDoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCkBAIC0zMTM1LDU3ICszNDIzLDU3IEBACiAiRWxzIHZvc3RyZXMgY2FudmlzIGVzdGFuIHNlZ3VycyBlbiBlbCBtYWdhdHplbS5cbiIKICJQb2RldSBleGVjdXRhciBcImdpdCBzdGFzaCBwb3BcIiBvIFwiZ2l0IHN0YXNoIGRyb3BcIiBlbiBxdWFsc2V2b2wgbW9tZW50LlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDAwCisjOiBzZXF1ZW5jZXIuYzoyMDIyCiAjLCBjLWZvcm1hdAotbXNnaWQgInN0b3BwZWQgYXQgJXMuLi4gJS4qcyIKLW1zZ3N0ciAiYXR1cmF0IGEgJXMuLi4gJS4qcyIKK21zZ2lkICJTdG9wcGVkIGF0ICVzLi4uICAlLipzXG4iCittc2dzdHIgIkF0dXJhdCBhICVzLi4uICAlLipzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjIwMjcKKyM6IHNlcXVlbmNlci5jOjIwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kICVkIgogbXNnc3RyICJvcmRyZSAlZCBkZXNjb25lZ3VkYSIKIAotIzogc2VxdWVuY2VyLmM6MjA1NworIzogc2VxdWVuY2VyLmM6MjA5NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIG9yaWctaGVhZCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgb3JpZy1oZWFkIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYxCisjOiBzZXF1ZW5jZXIuYzoyMDk5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciAnb250byciCiAKLSM6IHNlcXVlbmNlci5jOjIwNjgKKyM6IHNlcXVlbmNlci5jOjIxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIwNzUKKyM6IHNlcXVlbmNlci5jOjIxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSBIRUFEIHRvICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIEhFQUQgYSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjE1OQorIzogc2VxdWVuY2VyLmM6MjE5NwogbXNnaWQgImNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgotbXNnc3RyICJObyBlcyBwb3QgcmViYXNhcjogVGVuaXUgY2FudmlzIMKrdW5zdGFnZWTCuy4iCittc2dzdHIgIk5vIGVzIHBvdCBmZXIgwqtyZWJhc2XCuzogdGVuaXUgY2FudmlzIMKrdW5zdGFnZWTCuy4iCiAKLSM6IHNlcXVlbmNlci5jOjIxNjQKKyM6IHNlcXVlbmNlci5jOjIyMDIKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZWxpbWluYXIgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjE3MworIzogc2VxdWVuY2VyLmM6MjIxMQogbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgogbXNnc3RyICJubyBlcyBwb3QgZXNtZW5hciB1bmEgY29taXNzacOzIG5vIGV4aXN0ZW50IgogCi0jOiBzZXF1ZW5jZXIuYzoyMTc1CisjOiBzZXF1ZW5jZXIuYzoyMjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKIG1zZ3N0ciAiZml0eGVyIG5vIHbDoGxpZDogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjE3NworIzogc2VxdWVuY2VyLmM6MjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbnRlbnRzOiAnJXMnIgogbXNnc3RyICJjb250aW5ndXQgbm8gdsOgbGlkOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTgwCisjOiBzZXF1ZW5jZXIuYzoyMjE4CiBtc2dpZCAiIgogIlxuIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKQEAgLTMxOTUsMjUgKzM0ODMsMjUgQEAKICJUZW5pdSBjYW52aXMgbm8gY29tZXNvcyBlbiBlbCB2b3N0cmUgYXJicmUgZGUgdHJlYmFsbC4gU2kgdXMgcGxhdSxcbiIKICJwcmltZXIgY29tZXRldS1sb3MgaSBkZXNwcsOpcyBleGVjdXRldSAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBkZSBub3UuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTkwCisjOiBzZXF1ZW5jZXIuYzoyMjI4CiBtc2dpZCAiY291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgY29tZXRyZSBlbHMgY2FudmlzIMKrc3RhZ2VkwrsuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjcwCisjOiBzZXF1ZW5jZXIuYzoyMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczogbm8gZXMgcG90IGZlciDCq2NoZXJyeSBwaWNrwrsgYSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjI3NAorIzogc2VxdWVuY2VyLmM6MjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlczogcmV2aXNpw7MgZG9sZW50YSIKIAotIzogc2VxdWVuY2VyLmM6MjMwNworIzogc2VxdWVuY2VyLmM6MjM0NQogbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAibm8gZXMgcG90IHJldmVydGlyIGNvbSBhIGNvbWlzc2nDsyBpbmljaWFsIgogCi0jOiBzZXR1cC5jOjE2MAorIzogc2V0dXAuYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTMyMjMsNyArMzUxMSw3IEBACiAiVXNldSAnZ2l0IDxvcmRyZT4gLS0gPGNhbcOtPi4uLicgcGVyIGEgZXNwZWNpZmljYXIgY2FtaW5zIHF1ZSBubyBleGlzdGVpeGluICIKICJsb2NhbG1lbnQuIgogCi0jOiBzZXR1cC5jOjE3MworIzogc2V0dXAuYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC0zMjM0LDcgKzM1MjIsNyBAQAogIlVzZXUgJy0tJyBwZXIgYSBzZXBhcmFyIGVscyBjYW1pbnMgZGUgbGVzIHJldmlzaW9ucywgY29tIGFpeMOyOlxuIgogIidnaXQgPG9yZHJlPiBbPHJldmlzacOzPi4uLl0gLS0gWzxmaXR4ZXI+Li4uXSciCiAKLSM6IHNldHVwLmM6MjIzCisjOiBzZXR1cC5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCkBAIC0zMjQ1LDI5ICszNTMzLDM0IEBACiAiVXNldSAnLS0nIHBlciBhIHNlcGFyYXIgZWxzIGNhbWlucyBkZSBsZXMgcmV2aXNpb25zLCBjb20gYWl4w7I6XG4iCiAiJ2dpdCA8b3JkcmU+IFs8cmV2aXNpw7M+Li4uXSAtLSBbPGZpdHhlcj4uLi5dJyIKIAotIzogc2V0dXAuYzo0NzAKKyM6IHNldHVwLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGVkIGdpdCByZXBvIHZlcnNpb24gPD0gJWQsIGZvdW5kICVkIgogbXNnc3RyICJTJ2VzcGVyYXZhIHVuYSB2ZXJzacOzIGRlIGRpcMOyc2l0IGRlIGdpdCA8PSAlZCwgcydoYSB0cm9iYXQgJWQiCiAKLSM6IHNldHVwLmM6NDc4CisjOiBzZXR1cC5jOjUxMgogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAicydoYW4gdHJvYmF0IGV4dGVuc2lvbnMgZGUgZGlww7JzaXQgZGVzY29uZWd1ZGVzOiIKIAotIzogc2V0dXAuYzo3NjgKKyM6IHNldHVwLmM6ODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgogbXNnc3RyICJObyDDqXMgdW4gZGlww7JzaXQgZGUgZ2l0IChuaSBjYXAgZGVscyBkaXJlY3RvcmlzIHBhcmVzKTogJXMiCiAKLSM6IHNldHVwLmM6NzcwIHNldHVwLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKKyM6IHNldHVwLmM6ODEyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTIKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAiTm8gZXMgcG90IHRvcm5hciBhbCBkaXJlY3RvcmkgZGUgdHJlYmFsbCBhY3R1YWwiCiAKLSM6IHNldHVwLmM6ODUyCisjOiBzZXR1cC5jOjEwNTAKIG1zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBkaXJlY3RvcmkgZGUgdHJlYmFsbCBhY3R1YWwiCiAKLSM6IHNldHVwLmM6OTI3CisjOiBzZXR1cC5jOjEwNjIgc2V0dXAuYzoxMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzJyIKK21zZ3N0ciAiTm8gZXMgcG90IGNhbnZpYXIgYSAnJXMnIgorCisjOiBzZXR1cC5jOjEwODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgpAQCAtMzI3NywxMiArMzU3MCw3IEBACiAiUydhdHVyYSBhIGxhIGZyb250ZXJhIGRlIHNpc3RlbWEgZGUgZml0eGVycyAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSAiCiAibm8gZXN0w6AgZXN0YWJsZXJ0KS4iCiAKLSM6IHNldHVwLmM6OTM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIKLW1zZ3N0ciAiTm8gZXMgcG90IGNhbnZpYXIgYSAnJXMvLi4nIgotCi0jOiBzZXR1cC5jOjk5NgorIzogc2V0dXAuYzoxMTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCkBAIC0zMjkzLDU4ICszNTgxLDU4IEBACiAiRWwgcHJvcGlldGFyaSBkZWxzIGZpdHhlcnMgc2VtcHJlIGhhIGRlIHRlbmlyIHBlcm1pc29zIGRlIGxlY3R1cmEgaSAiCiAiZXNjcmlwdHVyYS4iCiAKLSM6IHNoYTFfZmlsZS5jOjQ5MAorIzogc2hhMV9maWxlLmM6NTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiZWwgY2Ftw60gJyVzJyBubyBleGlzdGVpeCIKIAotIzogc2hhMV9maWxlLmM6NTE2CisjOiBzaGExX2ZpbGUuYzo1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgIiIKICJFbmNhcmEgbm8gc2Ugc3Vwb3J0YSBlbCBkaXDDsnNpdCBkZSByZWZlcsOobmNpYSAnJXMnIGNvbSBhIGFnYWZhbWVudCBlbmxsYcOnYXQuIgogCi0jOiBzaGExX2ZpbGUuYzo1MjIKKyM6IHNoYTFfZmlsZS5jOjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICJlbCBkaXDDsnNpdCBkZSByZWZlcsOobmNpYSAnJXMnIG5vIMOpcyB1biBkaXDDsnNpdCBsb2NhbC4iCiAKLSM6IHNoYTFfZmlsZS5jOjUyOAorIzogc2hhMV9maWxlLmM6NTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKIG1zZ3N0ciAiZWwgZGlww7JzaXQgZGUgcmVmZXLDqG5jaWEgJyVzJyDDqXMgc3VwZXJmaWNpYWwiCiAKLSM6IHNoYTFfZmlsZS5jOjUzNgorIzogc2hhMV9maWxlLmM6NjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKIG1zZ3N0ciAiZWwgZGlww7JzaXQgZGUgcmVmZXLDqG5jaWEgJyVzJyDDqXMgZW1wZWx0YXQiCiAKLSM6IHNoYTFfZmlsZS5jOjExNzYKKyM6IHNoYTFfZmlsZS5jOjEyNDUKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAiZGVzcGxhw6dhbWVudCBhYmFucyBkZSBsYSBmaSBkZWwgZml0eGVyIGRlIHBhcXVldCAoLmlkeCB0cmVuY2F0PykiCiAKLSM6IHNoYTFfZmlsZS5jOjI2MzcKKyM6IHNoYTFfZmlsZS5jOjI3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgogbXNnc3RyICIiCiAiZGVzcGxhw6dhbWVudCBhYmFucyBkJ2luaWNpIGQnw61uZGV4IGRlIHBhcXVldCBwZXIgYSAlcyAow61uZGV4IGNvcnJvbXB1dD8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNjQxCisjOiBzaGExX2ZpbGUuYzoyNzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogImRlc3BsYcOnYW1lbnQgbcOpcyBlbmxsw6AgZGUgbGEgZmkgZCfDrW5kZXggZGUgcGFxdWV0IHBlciBhICVzICjDrW5kZXggdHJ1bmNhdD8pIgogCi0jOiBzaGExX25hbWUuYzo0MDcKKyM6IHNoYTFfbmFtZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAibCdTSEExICVzIGN1cnQgw6lzIGFtYmlndSIKIAotIzogc2hhMV9uYW1lLmM6NDE4CisjOiBzaGExX25hbWUuYzo0MzAKIG1zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgogbXNnc3RyICJFbHMgY2FuZGlkYXRzIHPDs246IgogCi0jOiBzaGExX25hbWUuYzo1NzgKKyM6IHNoYTFfbmFtZS5jOjU4OQogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTMzNjgsNjQgKzM2NTYsODUgQEAKICJzdXByaW1pdS1sZXMuIERlc2FjdGl2ZXUgYXF1ZXN0IG1pc3NhdGdlIGV4ZWN1dGFudFxuIgogIlwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKIAotIzogc3VibW9kdWxlLmM6NjUgc3VibW9kdWxlLmM6OTkKKyM6IHN1Ym1vZHVsZS5jOjcwIHN1Ym1vZHVsZS5jOjEwNAogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAiTm8gZXMgcG90IGNhbnZpYXIgdW4gLmdpdG1vZHVsZXMgbm8gZnVzaW9uYXQsIHByaW1lciByZXNvbGV1IGVscyBjb25mbGljdGVzICIKICJkZSBmdXNpw7MiCiAKLSM6IHN1Ym1vZHVsZS5jOjY5IHN1Ym1vZHVsZS5jOjEwMworIzogc3VibW9kdWxlLmM6NzQgc3VibW9kdWxlLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgc2VjY2nDsyBlbiAuZ2l0bW9kdWxlcyBvbiBwYXRoPSVzIgogCi0jOiBzdWJtb2R1bGUuYzo3NworIzogc3VibW9kdWxlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhY3R1YWxpdHphciBsJ2VudHJhZGEgZGUgLmdpdG1vZHVsZXMgJXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjExMAorIzogc3VibW9kdWxlLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVsaW1pbmFyIGwnZW50cmFkYSBkZSAuZ2l0bW9kdWxlcyBwZXIgYSAlcyIKIAotIzogc3VibW9kdWxlLmM6MTIxCisjOiBzdWJtb2R1bGUuYzoxMjYKIG1zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgogbXNnc3RyICJsJ2FsbGlzdGFtZW50IGRlbCAuZ2l0bW9kdWxlcyBhY3R1YWxpdHphdCBoYSBmYWxsYXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1OQorIzogc3VibW9kdWxlLmM6MTY1CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICJubyBlcyBwZXJtZXRlbiBlbHMgdmFsb3JzIG5lZ2F0aXVzIGEgc3VibW9kdWxlLmZldGNoSm9icyIKIAotIzogc3VibW9kdWxlLmM6MTE4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgaW5pY2lhciAnZ2l0IHN0YXR1cyBpbiBzdWJtb2R1bGUgJyVzJyIKKyM6IHN1Ym1vZHVsZS5jOjM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlICclcyciCittc2dzdHIgIlMnZXN0w6Agb21ldGVudCBlbCBzdWJtw7JkdWwgJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MTE5NworIzogc3VibW9kdWxlLmM6NDA3CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciCittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICJMJ2VzcGVjaWZpY2FjacOzICclcycgw6lzIGVuIGVsIHN1Ym3DsmR1bCAnJS4qcyciCiAKLSM6IHN1Ym1vZHVsZS5jOjEzOTgKKyM6IHN1Ym1vZHVsZS5jOjEzMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBub3QgcmVjb2duaXplZCBhcyBhIGdpdCByZXBvc2l0b3J5IgorbXNnc3RyICInJXMnIG5vIHJlY29uZWd1dCBjb20gdW4gZGlww7JzaXQgZ2l0IgorCisjOiBzdWJtb2R1bGUuYzoxNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgaW5pY2lhciAnZ2l0IHN0YXR1cycgYWwgc3VibcOyZHVsICclcyciCisKKyM6IHN1Ym1vZHVsZS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJ2dpdCBzdGF0dXMnIGFsIHN1Ym3DsmR1bCAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoxNTgxCisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIKK21zZ3N0ciAiZWwgc3VibcOyZHVsICclcycgdMOpIGwnw61uZGV4IGJydXQiCisKKyM6IHN1Ym1vZHVsZS5jOjE4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJlbG9jYXRlX2dpdGRpciBmb3Igc3VibW9kdWxlICclcycgd2l0aCBtb3JlIHRoYW4gb25lIHdvcmt0cmVlIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKLSJubyBlc3TDoCBhZG3DqHMgcmVsb2NhdGVfZ2l0ZGlyIHBlciBhbCBzdWJtw7JkdWwgJyVzJyBhbWIgbcOpcyBkJ3VuIGFyYnJlIGRlIHRyZWJhbGwiCisibm8gZXN0w6AgYWRtw6hzIHJlbG9jYXRlX2dpdGRpciBwZXIgYWwgc3VibcOyZHVsICclcycgYW1iIG3DqXMgZCd1biBhcmJyZSBkZSAiCisidHJlYmFsbCIKIAotIzogc3VibW9kdWxlLmM6MTQxMCBzdWJtb2R1bGUuYzoxNDcxCisjOiBzdWJtb2R1bGUuYzoxODU3IHN1Ym1vZHVsZS5jOjE5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSB0cm9iYXQgZWwgbm9tIHBlbCBzdWJtw7JkdWwgJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MTQxNCBzdWJtb2R1bGUuYzoxNDc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTAKKyM6IHN1Ym1vZHVsZS5jOjE4NjEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGRpcmVjdG9yaSAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxNDIwCisjOiBzdWJtb2R1bGUuYzoxODY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJNaWdyYXRpbmcgZ2l0IGRpcmVjdG9yeSBvZiAnJXMlcycgZnJvbVxuIgpAQCAtMzQzNiw4MSArMzc0NSw5NCBAQAogIiclcycgYVxuIgogIiclcydcbiIKIAotIzogc3VibW9kdWxlLmM6MTUxMgorIzogc3VibW9kdWxlLmM6MTk0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgotbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciByZWN1cnNpdmFtZW50IGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJXMnIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciByZWN1cnNpdmFtZW50IGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJXMnIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzYwCisjOiBzdWJtb2R1bGUuYzoxOTkyCittc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGluaWNpYXIgbHMtZmlsZXMgYSAuLiIKKworIzogc3VibW9kdWxlLmM6MjAxMgorbXNnaWQgIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IgorbXNnc3RyICJFUlJBREE6IGxhIGNhZGVuYSBkZWwgY2Ftw60gcmV0b3JuYWRhIG5vIGNvaW5jaWRlaXggYW1iIGN3ZD8iCisKKyM6IHN1Ym1vZHVsZS5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAibHMtdHJlZSByZXR1cm5lZCB1bmV4cGVjdGVkIHJldHVybiBjb2RlICVkIgorbXNnc3RyICJscy10cmVlIGhhIHJldG9ybmF0IHVuIGNvZGkgZGUgcmV0b3JuICVkIG5vIGVzcGVyYXQiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgInZhbG9yIG5vIHbDoGxpZCBwZXIgYSAlcyIKIAotIzogdHJhaWxlci5jOjI0MAorIzogdHJhaWxlci5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5uaW5nIHRyYWlsZXIgY29tbWFuZCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibCdleGVjdWNpw7MgZGUgbCdvcmRyZSBkZSByZW1vbGMgJyVzJyBoYSBmYWxsYXQiCiAKLSM6IHRyYWlsZXIuYzo0NzMgdHJhaWxlci5jOjQ3NyB0cmFpbGVyLmM6NDgxIHRyYWlsZXIuYzo1MzUgdHJhaWxlci5jOjUzOQotIzogdHJhaWxlci5jOjU0MworIzogdHJhaWxlci5jOjQ3NCB0cmFpbGVyLmM6NDc4IHRyYWlsZXIuYzo0ODIgdHJhaWxlci5jOjUzNiB0cmFpbGVyLmM6NTQwCisjOiB0cmFpbGVyLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgInZhbG9yIGRlc2NvbmVndXQgJyVzJyBwZXIgYSBsYSBjbGF1ICclcyciCiAKLSM6IHRyYWlsZXIuYzo1MjUgdHJhaWxlci5jOjUzMCBidWlsdGluL3JlbW90ZS5jOjI4OQorIzogdHJhaWxlci5jOjUyNiB0cmFpbGVyLmM6NTMxIGJ1aWx0aW4vcmVtb3RlLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCiBtc2dzdHIgIm3DqXMgZCd1biAlcyIKIAotIzogdHJhaWxlci5jOjcwMgorIzogdHJhaWxlci5jOjcwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIgogbXNnc3RyICJ0ZXN0aW1vbmkgZGUgcmVtb2xjIGJ1aXQgZW4gZWwgcmVtb2xjICclLipzJyIKIAotIzogdHJhaWxlci5jOjcyMgorIzogdHJhaWxlci5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbnB1dCBmaWxlICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGVsIGZpdHhlciBkJ2VudHJhZGEgJyVzJyIKIAotIzogdHJhaWxlci5jOjcyNQorIzogdHJhaWxlci5jOjcyNgogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGRlcyBkJ3N0ZGluIgogCi0jOiB0cmFpbGVyLmM6OTQ5IGJ1aWx0aW4vYW0uYzo0NAorIzogdHJhaWxlci5jOjk1MCBidWlsdGluL2FtLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZmVyIHN0YXQgYSAlcyIKIAotIzogdHJhaWxlci5jOjk1MQorIzogdHJhaWxlci5jOjk1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAiZWwgZml0eGVyICVzIG5vIMOpcyB1biBmaXR4ZXIgcmVndWxhciIKIAotIzogdHJhaWxlci5jOjk1MworIzogdHJhaWxlci5jOjk1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCB3cml0YWJsZSBieSB1c2VyIgogbXNnc3RyICJlbCBmaXR4ZXIgJXMgbm8gw6lzIGdyYXZhYmxlIHBlciBsJ3VzdWFyaSIKIAotIzogdHJhaWxlci5jOjk2NQorIzogdHJhaWxlci5jOjk2NgogbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciB0ZW1wb3JhbCIKIAotIzogdHJhaWxlci5jOjEwMDEKKyM6IHRyYWlsZXIuYzoxMDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY2FudmlhciBlbCBub20gZGVsIGZpdHhlciB0ZW1wb3JhbCBhICVzIgogCi0jOiB0cmFuc3BvcnQuYzo2MgorIzogdHJhbnNwb3J0LmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCiBtc2dzdHIgIkNhbnZpYXJpYSBsYSBmb250IGRlICclcycgYSAnJXMnIGRlICclcydcbiIKIAotIzogdHJhbnNwb3J0LmM6MTUxCisjOiB0cmFuc3BvcnQuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgogbXNnc3RyICJ0cmFuc3BvcnQ6IG9wY2nDsyBkZSBwcm9mdW5kaXRhdCBubyB2w6BsaWRhICclcyciCiAKLSM6IHRyYW5zcG9ydC5jOjg4NQorIzogdHJhbnNwb3J0LmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKQEAgLTM1MTksNyArMzg0MSw3IEBACiAiRWxzIGNhbWlucyBkZSBzdWJtw7JkdWwgc2Vnw7xlbnRzIGNvbnRlbmVuIGNhbnZpcyBxdWUgbm9cbiIKICJlcyBwb2RlbiB0cm9iYXIgZW4gY2FwIHJlbW90OlxuIgogCi0jOiB0cmFuc3BvcnQuYzo4ODkKKyM6IHRyYW5zcG9ydC5jOjg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zNTQ1LDExICszODY3LDExIEBACiAiXG4iCiAicGVyIGEgcHVqYXItbG9zIGEgdW4gcmVtb3QuXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjg5NworIzogdHJhbnNwb3J0LmM6OTAyCiBtc2dpZCAiQWJvcnRpbmcuIgogbXNnc3RyICJTJ2VzdMOgIGF2b3J0YW50LiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwODIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHJlZiAlcyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgbGEgcmVmZXLDqG5jaWEgJXMiCkBAIC0zNTcwLDcgKzM4OTIsNyBAQAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgImZpdHhlciBkJ2FyYnJlIG1hc3NhIGN1cnQiCiAKLSM6IHVucGFjay10cmVlcy5jOjk5CisjOiB1bnBhY2stdHJlZXMuYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzU4MSw3ICszOTAzLDcgQEAKICIlJXNTaSB1cyBwbGF1LCBjb21ldGV1IGVscyB2b3N0cmVzIGNhbnZpcyBvIGVtbWFnYXR6ZW1ldS1sb3MgYWJhbnMgZGUgIgogImNhbnZpYXIgZGUgYnJhbmNhLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTAxCisjOiB1bnBhY2stdHJlZXMuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzU5MSw3ICszOTEzLDcgQEAKICJhZ2FmYXI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDQKKyM6IHVucGFjay10cmVlcy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNjAyLDcgKzM5MjQsNyBAQAogIiUlc1NpIHVzIHBsYXUsIGNvbWV0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIG8gZW1tYWdhdHplbWV1LWxvcyBhYmFucyBkZSAiCiAiZnVzaW9uYXIuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDYKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNjEyLDcgKzM5MzQsNyBAQAogImZ1c2lvbmFyOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA5CisjOiB1bnBhY2stdHJlZXMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzYyMSw3ICszOTQzLDcgQEAKICJFbHMgdm9zdHJlcyBjYW52aXMgbG9jYWxzIGFscyBmaXR4ZXJzIHNlZ8O8ZW50cyBzZSBzb2JyZWVzY3JpdXJpZW4gcGVyICVzOlxuIgogIiUlc1NpIHVzIHBsYXUsIGNvbWV0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIG8gZW1tYWdhdHplbWV1LWxvcyBhYmFucyBkZSAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjExMQorIzogdW5wYWNrLXRyZWVzLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM2MzAsNyArMzk1Miw3IEBACiAiRWxzIHZvc3RyZXMgY2FudmlzIGxvY2FscyBhbHMgZml0eGVycyBzZWfDvGVudHMgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAlczpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjExNgorIzogdW5wYWNrLXRyZWVzLmM6MTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVcGRhdGluZyB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzIHdvdWxkIGxvc2UgdW50cmFja2VkIGZpbGVzIGluIHRoZW06XG4iCkBAIC0zNjM5LDcgKzM5NjEsNyBAQAogIkVuIGFjdHVhbGl0emFyIGVscyBkaXJlY3RvcmlzIHNlZ8O8ZW50cyBwZXJkcmlhIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBlbDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIwCisjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzY0OSw3ICszOTcxLDcgQEAKICJhZ2FmYXI6XG4iCiAiJSVzU2kgdXMgcGxhdSwgbW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlIGNhbnZpYXIgZGUgYnJhbmNhLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIyCisjOiB1bnBhY2stdHJlZXMuYzoxMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzY1OSw3ICszOTgxLDcgQEAKICJhZ2FmYXI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjUKKyM6IHVucGFjay10cmVlcy5jOjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCkBAIC0zNjY5LDcgKzM5OTEsNyBAQAogImZ1c2lvbmFyOlxuIgogIiUlc1NpIHVzIHBsYXUsIG1vdmV1LWxvcyBvIGVsaW1pbmV1LWxvcyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNworIzogdW5wYWNrLXRyZWVzLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTM2NzksNyArNDAwMSw3IEBACiAiZnVzaW9uYXI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzAKKyM6IHVucGFjay10cmVlcy5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC0zNjg4LDcgKzQwMTAsNyBAQAogIkVscyBzZWfDvGVudHMgZml0eGVycyBubyBzZWd1aXRzIGVuIGwnYXJicmUgZGUgdHJlYmFsbCBzJ2VsaW1pbmFyaWVuIHBlciAlczpcbiIKICIlJXNTaSB1cyBwbGF1LCBtb3ZldS1sb3MgbyBlbGltaW5ldS1sb3MgYWJhbnMgZGUgJXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzIKKyM6IHVucGFjay10cmVlcy5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC0zNjk3LDcgKzQwMTksNyBAQAogIkVscyBzZWfDvGVudHMgZml0eGVycyBubyBzZWd1aXRzIGVuIGwnYXJicmUgZGUgdHJlYmFsbCBzJ2VsaW1pbmFyaWVuIHBlciAlczpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzNworIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtMzcwOCw3ICs0MDMwLDcgQEAKICJhZ2FmYXI6XG4iCiAiJSVzU2kgdXMgcGxhdSwgbW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlIGNhbnZpYXIgZGUgYnJhbmNhLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM5CisjOiB1bnBhY2stdHJlZXMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC0zNzE5LDcgKzQwNDEsNyBAQAogImFnYWZhcjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MgorIzogdW5wYWNrLXRyZWVzLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNzI5LDcgKzQwNTEsNyBAQAogImZ1c2lvbmFyOlxuIgogIiUlc1NpIHVzIHBsYXUsIG1vdmV1LWxvcyBvIGVsaW1pbmV1LWxvcyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NAorIzogdW5wYWNrLXRyZWVzLmM6MTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNzM5LDcgKzQwNjEsNyBAQAogImZ1c2lvbmFyOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ3CisjOiB1bnBhY2stdHJlZXMuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM3NDksNyArNDA3MSw3IEBACiAiJXM6XG4iCiAiJSVzU2kgdXMgcGxhdSwgbW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ5CisjOiB1bnBhY2stdHJlZXMuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM3NTksMTIgKzQwODEsMTIgQEAKICIlczpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVudHJ5ICclcycgb3ZlcmxhcHMgd2l0aCAnJXMnLiAgQ2Fubm90IGJpbmQuIgogbXNnc3RyICJMJ2VudHJhZGEgJyVzJyBlbmNhdmFsY2EgYW1iICclcycuICBObyBlcyBwb3QgdmluY3VsYXIuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTkKKyM6IHVucGFjay10cmVlcy5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwLXRvLWRhdGU6XG4iCkBAIC0zNzc0LDcgKzQwOTYsNyBAQAogImRpYTpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC0zNzg1LDcgKzQxMDcsNyBAQAogImFjdHVhbGl0emFyIGwnYWdhZmFtZW50IHBhcmNpYWw6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC0zNzk2LDIyNiArNDExOCwyNDcgQEAKICJsJ2FnYWZhbWVudCBwYXJjaWFsOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNDAKKyM6IHVucGFjay10cmVlcy5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCisiJXMiCittc2dzdHIgIiIKKyJObyBlcyBwb3QgYWN0dWFsaXR6YXIgZWwgc3VibcOyZHVsOlxuIgorIiVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAiUydlc3TDoCBhdm9ydGFudFxuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNzAKKyM6IHVucGFjay10cmVlcy5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgdXBkYXRlIHN0cmF0ZWd5IG5vdCBzdXBwb3J0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJlbCBzdWJtw7JkdWwnJXMnIHTDqSB1bmEgZXN0cmF0w6hnaWEgZCdhY3R1YWxpdHphY2nDsyBubyBhZG1lc2EiCisKKyM6IHVucGFjay10cmVlcy5jOjM0NgogbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKIG1zZ3N0ciAiUydlc3RhbiBhZ2FmYW50IGZpdHhlcnMiCiAKLSM6IHVybG1hdGNoLmM6MTIwCisjOiB1cmxtYXRjaC5jOjE2MwogbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgogbXNnc3RyICJsJ2VzcXVlbWEgZCdVUkwgbm8gw6lzIHbDoGxpZCBvIGxpIG1hbmNhIGVsIHN1Zml4ICc6Ly8nIgogCi0jOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIzogdXJsbWF0Y2guYzoxODcgdXJsbWF0Y2guYzozNDYgdXJsbWF0Y2guYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgogbXNnc3RyICJzZXHDvMOobmNpYSBkJ2VzY2FwYW1lbnQgJVhYIG5vIHbDoGxpZGEiCiAKLSM6IHVybG1hdGNoLmM6MTcyCisjOiB1cmxtYXRjaC5jOjIxNQogbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgogbXNnc3RyICJtYW5jYSBsYSBtw6BxdWluYSBpIGwnZXNxdWVtYSBubyDDqXMgJ2ZpbGU6JyIKIAotIzogdXJsbWF0Y2guYzoxODkKKyM6IHVybG1hdGNoLmM6MjMyCiBtc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKIG1zZ3N0ciAidW4gVVJMICdmaWxlOicgbm8gcG90IHRlbmlyIG7Dum1lcm8gZGUgcG9ydCIKIAotIzogdXJsbWF0Y2guYzoxOTkKKyM6IHVybG1hdGNoLmM6MjQ3CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKIG1zZ3N0ciAiaGkgaGEgY2Fyw6BjdGVycyBubyB2w6BsaWRzIGVuIGVsIG5vbSBkZSBtw6BxdWluYSIKIAotIzogdXJsbWF0Y2guYzoyNDQgdXJsbWF0Y2guYzoyNTUKKyM6IHVybG1hdGNoLmM6MjkyIHVybG1hdGNoLmM6MzAzCiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKIG1zZ3N0ciAibsO6bWVybyBkZSBwb3J0IG5vIHbDoGxpZCIKIAotIzogdXJsbWF0Y2guYzozMjIKKyM6IHVybG1hdGNoLmM6MzcxCiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAic2VnbWVudCBkZSBjYW3DrSAnLi4nIG5vIHbDoGxpZCIKIAotIzogd29ya3RyZWUuYzoyODIKKyM6IHdvcmt0cmVlLmM6MjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyICclcyciCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM5MgorIzogd3JhcHBlci5jOjIyMyB3cmFwcGVyLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgJyVzJyBwZXIgYSBsZWN0dXJhIGkgZXNjcmlwdHVyYSIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKKyM6IHdyYXBwZXIuYzoyMjUgd3JhcHBlci5jOjM5NSBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgJyVzJyBwZXIgYSBlc2NyaXB0dXJhIgogCi0jOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozOTYgYnVpbHRpbi9hbS5jOjMyMCBidWlsdGluL2FtLmM6NzU5Ci0jOiBidWlsdGluL2FtLmM6ODQ3IGJ1aWx0aW4vY29tbWl0LmM6MTcwMCBidWlsdGluL21lcmdlLmM6MTAzMwotIzogYnVpbHRpbi9wdWxsLmM6MzQxCisjOiB3cmFwcGVyLmM6MjI3IHdyYXBwZXIuYzozOTcgYnVpbHRpbi9hbS5jOjMxOSBidWlsdGluL2FtLmM6NzU3CisjOiBidWlsdGluL2FtLmM6ODQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgJyVzJyBwZXIgYSBsZWN0dXJhIgogCi0jOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKKyM6IHdyYXBwZXIuYzo0MjQgd3JhcHBlci5jOjYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWNjZWRpciBhICclcyciCiAKLSM6IHdyYXBwZXIuYzo2MzQKKyM6IHdyYXBwZXIuYzo2MzIKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBkaXJlY3RvcmkgZGUgdHJlYmFsbCBhY3R1YWwiCiAKLSM6IHdyYXBwZXIuYzo2NTgKKyM6IHdyYXBwZXIuYzo2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgJXMiCiAKLSM6IHdyYXBwZXIuYzo2NjAKKyM6IHdyYXBwZXIuYzo2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRhbmNhciAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUxCisjOiB3dC1zdGF0dXMuYzoxNTIKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIkNhbWlucyBzZW5zZSBmdXNpb25hcjoiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKKyM6IHd0LXN0YXR1cy5jOjE3OSB3dC1zdGF0dXMuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IHJlc2V0ICVzIDxmaXR4ZXI+Li4uXCIgcGVyIGEgZmVyIMKrdW5zdGFnZcK7KSIKIAotIzogd3Qtc3RhdHVzLmM6MTgwIHd0LXN0YXR1cy5jOjIwNworIzogd3Qtc3RhdHVzLmM6MTgxIHd0LXN0YXR1cy5jOjIwOAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBybSAtLWNhY2hlZCA8Zml0eGVyPi4uLlwiIHBlciBhIGZlciDCq3Vuc3RhZ2XCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NAorIzogd3Qtc3RhdHVzLmM6MTg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFkZCA8Zml0eGVyPi4uLlwiIHBlciBhIHNlbnlhbGFyIHJlc29sdWNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxODYgd3Qtc3RhdHVzLmM6MTkwCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MTkxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCBhZGQvcm0gPGZpdHhlcj4uLi5cIiBzZWdvbnMgc2lndWkgYXByb3BpYXQgcGVyIGEgc2VueWFsYXIgIgogInJlc29sdWNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxODgKKyM6IHd0LXN0YXR1cy5jOjE4OQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IHJtIDxmaXR4ZXI+Li4uXCIgcGVyIGEgc2VueWFsYXIgcmVzb2x1Y2nDsykiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKKyM6IHd0LXN0YXR1cy5jOjIwMCB3dC1zdGF0dXMuYzo5ODEKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIkNhbnZpcyBhIGNvbWV0cmU6IgogCi0jOiB3dC1zdGF0dXMuYzoyMTcgd3Qtc3RhdHVzLmM6OTU0CisjOiB3dC1zdGF0dXMuYzoyMTggd3Qtc3RhdHVzLmM6OTkwCiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgotbXNnc3RyICJDYW52aXMgbm8gwqtzdGFnZcK7IHBlciBhIGNvbWV0cmU6IgorbXNnc3RyICJDYW52aXMgbm8gwqtzdGFnZWTCuyBwZXIgYSBjb21ldHJlOiIKIAotIzogd3Qtc3RhdHVzLmM6MjIxCisjOiB3dC1zdGF0dXMuYzoyMjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBhZGQgPGZpdHhlcj4uLi5cIiBwZXIgYSBhY3R1YWxpdHphciBxdcOoIGVzIGNvbWV0csOgKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBhZGQvcm0gPGZpdHhlcj4uLi5cIiBwZXIgYSBhY3R1YWxpdHphciBxdcOoIGVzIGNvbWV0csOgKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI0CisjOiB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgICh1c2V1IFwiZ2l0IGNoZWNrb3V0IC0tIDxmaXR4ZXI+Li4uXCIgcGVyIGEgZGVzY2FydGFyIGVscyBjYW52aXMgZW4gZWwgIgogImRpcmVjdG9yaSBkZSB0cmViYWxsKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI2CisjOiB3dC1zdGF0dXMuYzoyMjcKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKICIgIChjb21ldGV1IG8gZGVzY2FydGV1IGVsIGNvbnRpbmd1dCBtb2RpZmljYXQgbyBubyBzZWd1aXQgZW4gZWxzIHN1Ym3DsmR1bHMpIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgKKyM6IHd0LXN0YXR1cy5jOjIzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKLW1zZ3N0ciAiICAodXNldSBcImdpdCAlcyA8Zml0eGVyPi4uLlwiIHBlciBhIGluY2xvdXJlLWhvIGVuIHF1w6ggZXMgY29tZXRyw6ApIgorbXNnc3RyICIiCisiICAodXNldSBcImdpdCAlcyA8Zml0eGVyPi4uLlwiIHBlciBhIGluY2xvdXJlLWhvIGVuIGVsIHF1YWwgZXMgY29tZXRyw6ApIgogCi0jOiB3dC1zdGF0dXMuYzoyNTMKKyM6IHd0LXN0YXR1cy5jOjI1NAogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgInN1cHJpbWl0IHBlciBhbWJkw7NzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU1CisjOiB3dC1zdGF0dXMuYzoyNTYKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgImFmZWdpdCBwZXIgbm9zYWx0cmVzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU3CisjOiB3dC1zdGF0dXMuYzoyNTgKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJzdXByaW1pdCBwZXIgZWxsczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1OQorIzogd3Qtc3RhdHVzLmM6MjYwCiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgImFmZWdpdCBwZXIgZWxsczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MQorIzogd3Qtc3RhdHVzLmM6MjYyCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgInN1cHJpbWl0IHBlciBub3NhbHRyZXM6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjMKKyM6IHd0LXN0YXR1cy5jOjI2NAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICJhZmVnaXQgcGVyIGFtYmTDs3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjUKKyM6IHd0LXN0YXR1cy5jOjI2NgogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICJtb2RpZmljYXQgcGVyIGFtYmTDs3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzUKKyM6IHd0LXN0YXR1cy5jOjI3NgogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAiZml0eGVyIG5vdToiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NworIzogd3Qtc3RhdHVzLmM6Mjc4CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAiY29waWF0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc5CisjOiB3dC1zdGF0dXMuYzoyODAKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAic3VwcmltaXQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyODEKKyM6IHd0LXN0YXR1cy5jOjI4MgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAibW9kaWZpY2F0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjgzCisjOiB3dC1zdGF0dXMuYzoyODQKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAiY2FudmlhdCBkZSBub206IgogCi0jOiB3dC1zdGF0dXMuYzoyODUKKyM6IHd0LXN0YXR1cy5jOjI4NgogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICJjYW52aWF0IGRlIHRpcHVzOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg3CisjOiB3dC1zdGF0dXMuYzoyODgKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAiZGVzY29uZWd1dDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OQorIzogd3Qtc3RhdHVzLmM6MjkwCiBtc2dpZCAidW5tZXJnZWQ6IgogbXNnc3RyICJzZW5zZSBmdXNpb25hcjoiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MQorIzogd3Qtc3RhdHVzLmM6MzcyCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAiY29taXNzaW9ucyBub3ZlcywgIgogCi0jOiB3dC1zdGF0dXMuYzozNzMKKyM6IHd0LXN0YXR1cy5jOjM3NAogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGluZ3V0IG1vZGlmaWNhdCwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzUKKyM6IHd0LXN0YXR1cy5jOjM3NgogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgImNvbnRpbmd1dCBubyBzZWd1aXQsICIKIAotIzogd3Qtc3RhdHVzLmM6ODE4CisjOiB3dC1zdGF0dXMuYzo4MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyeSIKK21zZ2lkX3BsdXJhbCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJpZXMiCittc2dzdHJbMF0gIkFjdHVhbG1lbnQgZXN0ZXUgZmVudCDCq3JlYmFzZcK7LiIKK21zZ3N0clsxXSAiQWN0dWFsbWVudCBlc3RldSBmZW50IMKrcmViYXNlwrsuIgorCisjOiB3dC1zdGF0dXMuYzo4NTMKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAiU3VibcOyZHVscyBjYW52aWF0cyBwZXLDsiBubyBhY3R1YWxpdHphdHM6IgogCi0jOiB3dC1zdGF0dXMuYzo4MjAKKyM6IHd0LXN0YXR1cy5jOjg1NQogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIkNhbnZpcyBkZSBzdWJtw7JkdWwgYSBjb21ldHJlOiIKIAotIzogd3Qtc3RhdHVzLmM6OTAxCisjOiB3dC1zdGF0dXMuYzo5MzcKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKQEAgLTQwMjMsMjM3ICs0MzY2LDI0MyBAQAogIk5vIHRvcXVldSBsYSBsw61uaWEgYSBkYWx0LlxuIgogIlRvdCBlbCBxdWUgaGkgaGEgYSBzb3RhIHMnZWxpbWluYXLDoC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTMKKyM6IHd0LXN0YXR1cy5jOjEwNDkKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIlRlbml1IGNhbWlucyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTYKKyM6IHd0LXN0YXR1cy5jOjEwNTIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgIChhcnJlZ2xldSBlbHMgY29uZmxpY3RlcyBpIGV4ZWN1dGV1IFwiZ2l0IGNvbW1pdFwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTAxOAorIzogd3Qtc3RhdHVzLmM6MTA1NAogbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBtZXJnZSAtLWFib3J0XCIgcGVyIGEgYXZvcnRhciBsYSBmdXNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDIzCisjOiB3dC1zdGF0dXMuYzoxMDU5CiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAiVG90cyBlbHMgY29uZmxpY3RlcyBlc3RhbiBhcnJlZ2xhdHMgcGVyw7IgZW5jYXJhIGVzdGV1IGZ1c2lvbmFudC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMjYKKyM6IHd0LXN0YXR1cy5jOjEwNjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGNvbW1pdFwiIHBlciBhIGNvbmNsb3VyZSBsYSBmdXNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDM2CisjOiB3dC1zdGF0dXMuYzoxMDcyCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJFc3RldSBlbm1pZyBkJ3VuYSBzZXNzacOzIGFtLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAzOQorIzogd3Qtc3RhdHVzLmM6MTA3NQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiRWwgcGVkYcOnIGFjdHVhbCBlc3TDoCBidWl0LiIKIAotIzogd3Qtc3RhdHVzLmM6MTA0MworIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZGVzcHLDqXMgZXhlY3V0ZXUgXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NQorIzogd3Qtc3RhdHVzLmM6MTA4MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFtIC0tc2tpcFwiIHBlciBhIG9tZXRyZSBhcXVlc3QgcGVkYcOnKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NworIzogd3Qtc3RhdHVzLmM6MTA4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBhbSAtLWFib3J0XCIgcGVyIGEgcmVzdGF1cmFyIGxhIGJyYW5jYSBvcmlnaW5hbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzYKKyM6IHd0LXN0YXR1cy5jOjEyMTQKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgIk1hbmNhIGdpdC1yZWJhc2UtdG9kby4iCiAKLSM6IHd0LXN0YXR1cy5jOjExNzgKKyM6IHd0LXN0YXR1cy5jOjEyMTYKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAiTm8gcydoYSBmZXQgY2FwIG9yZHJlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MQorIzogd3Qtc3RhdHVzLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICLDmmx0aW1hIG9yZHJlIGZldGEgKCVkIG9yZHJlIGZldGEpOiIKIG1zZ3N0clsxXSAiw5psdGltZXMgb3JkcmVzIGZldGVzICglZCBvcmRyZXMgZmV0ZXMpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MgorIzogd3Qtc3RhdHVzLmM6MTIzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICAodmVnZXUgbcOpcyBlbiBlbCBmaXR4ZXIgJXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTk3CisjOiB3dC1zdGF0dXMuYzoxMjM1CiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAiTm8gbWFuY2EgY2FwIG9yZHJlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMAorIzogd3Qtc3RhdHVzLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICJPcmRyZSBzZWfDvGVudCBhIGZlciAobWFuY2EgJWQgb3JkcmUpOiIKIG1zZ3N0clsxXSAiT3JkcmVzIHNlZ8O8ZW50cyBhIGZlciAobWFucXVlbiAlZCBvcmRyZXMpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwOAorIzogd3Qtc3RhdHVzLmM6MTI0NgogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB0byB2aWV3IGFuZCBlZGl0KSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiBwZXIgYSB2ZXVyZSBpIGVkaXRhcikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjEKKyM6IHd0LXN0YXR1cy5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCi1tc2dzdHIgIkFjdHVhbG1lbnQgZXN0ZXUgcmViYXNhbnQgbGEgYnJhbmNhICclcycgZW4gJyVzJy4iCittc2dzdHIgIkFjdHVhbG1lbnQgZXN0ZXUgZmVudCDCq3JlYmFzZcK7IGRlIGxhIGJyYW5jYSAnJXMnIGVuICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI2CisjOiB3dC1zdGF0dXMuYzoxMjY0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgotbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IHJlYmFzYW50LiIKK21zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSBmZW50IMKrcmViYXNlwrsuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMjc4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChhcnJlZ2xldSBlbHMgY29uZmxpY3RlcyBpIGRlc3Byw6lzIGV4ZWN1dGV1IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQyCisjOiB3dC1zdGF0dXMuYzoxMjgwCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBwZXIgYSBvbWV0cmUgYXF1ZXN0IHBlZGHDpykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDQKKyM6IHd0LXN0YXR1cy5jOjEyODIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiBwZXIgYSBhZ2FmYXIgbGEgYnJhbmNhIG9yaWdpbmFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI1MAorIzogd3Qtc3RhdHVzLmM6MTI4OAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvdHMgZWxzIGNvbmZsaWN0ZXMgZXN0YW4gYXJyZWdsYXRzOiBleGVjdXRldSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCi0iQWN0dWFsbWVudCBlc3RldSBkaXZpZGludCB1bmEgY29taXNzacOzIG1lbnRyZSByZWJhc2V1IGxhIGJyYW5jYSAnJXMnIGVuICclcycuIgorIkFjdHVhbG1lbnQgZXN0ZXUgZGl2aWRpbnQgdW5hIGNvbWlzc2nDsyBtZW50cmUgZXMgZmEgwqtyZWJhc2XCuyBkZSBsYSBicmFuY2EgIgorIiclcycgZW4gJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTkKKyM6IHd0LXN0YXR1cy5jOjEyOTcKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKLW1zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSBkaXZpZGludCB1bmEgY29taXNzacOzIGR1cmFudCB1biByZWJhc2FtZW50LiIKK21zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSBkaXZpZGludCB1bmEgY29taXNzacOzIGR1cmFudCB1biDCq3JlYmFzZcK7LiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MgorIzogd3Qtc3RhdHVzLmM6MTMwMAogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoVW5hIHZlZ2FkYSBxdWUgZWwgdm9zdHJlIGRpcmVjdG9yaSBkZSB0cmViYWxsIHNpZ3VpIG5ldCwgZXhlY3V0ZXUgXCJnaXQgIgogInJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY2CisjOiB3dC1zdGF0dXMuYzoxMzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKICJBY3R1YWxtZW50IGVzdGV1IGVkaXRhbnQgdW5hIGNvbWlzc2nDsyBtZW50cmUgZXMgZmEgwqtyZWJhc2XCuyBkZSBsYSBicmFuY2EgIgogIiclcycgZW4gJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzEKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkFjdHVhbG1lbnQgZXN0ZXUgZWRpdGFudCB1bmEgY29taXNzacOzIGR1cmFudCB1biDCq3JlYmFzZcK7LiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NAorIzogd3Qtc3RhdHVzLmM6MTMxMgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiBwZXIgYSBlc21lbmFyIGxhIGNvbWlzc2nDsyBhY3R1YWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzE0CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIHVuYSB2ZWdhZGEgcXVlIGVzdGlndWV1IHNhdGlzZmV0IGFtYiBlbHMgIgogInZvc3RyZXMgY2FudmlzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4NgorIzogd3Qtc3RhdHVzLmM6MTMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGZlbnQgwqtjaGVycnkgcGlja8K7IGEgbGEgY29taXNzacOzICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI5MQorIzogd3Qtc3RhdHVzLmM6MTMyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhcnJlZ2xldSBlbHMgY29uZmxpY3RlcyBpIGV4ZWN1dGV1IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTQKKyM6IHd0LXN0YXR1cy5jOjEzMzIKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvdHMgZWxzIGNvbmZsaWN0ZXMgZXN0YW4gYXJyZWdsYXRzOiBleGVjdXRldSBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlIgogIlwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI5NgorIzogd3Qtc3RhdHVzLmM6MTMzNAogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgcGVyIGEgY2FuY2VswrdsYXIgbCdvcGVyYWNpw7MgZGUgwqtjaGVycnkgIgogInBpY2vCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDUKKyM6IHd0LXN0YXR1cy5jOjEzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIkFjdHVhbG1lbnQgZXN0ZXUgcmV2ZXJ0aW50IGxhIGNvbWlzc2nDsyAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTAKKyM6IHd0LXN0YXR1cy5jOjEzNDgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZXhlY3V0ZXUgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTMKKyM6IHd0LXN0YXR1cy5jOjEzNTEKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgICh0b3RzIGVscyBjb25mbGljdGVzIGVzdGFuIGFycmVnbGF0czogZXhlY3V0ZXUgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTUKKyM6IHd0LXN0YXR1cy5jOjEzNTMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHBlciBhIGNhbmNlbMK3bGFyIGwnb3BlcmFjacOzIGRlIHJldmVyc2nDsykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjYKKyM6IHd0LXN0YXR1cy5jOjEzNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGJpc2VjYW50LCBoZXUgY29tZW7Dp2F0IGRlcyBkZSBsYSBicmFuY2EgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzAKKyM6IHd0LXN0YXR1cy5jOjEzNjgKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGJpc2VjYW50LiIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMworIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBiaXNlY3QgcmVzZXRcIiBwZXIgYSB0b3JuYXIgYSBsYSBicmFuY2Egb3JpZ2luYWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxNTMwCisjOiB3dC1zdGF0dXMuYzoxNTY4CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiRW4gbGEgYnJhbmNhICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNgorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIsKrcmViYXNlwrsgaW50ZXJhY3RpdSBlbiBwcm9ncsOpczsgc29icmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM4CisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAiwqtyZWJhc2XCuyBlbiBwcm9ncsOpczsgc29icmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQzCisjOiB3dC1zdGF0dXMuYzoxNTgxCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgIkhFQUQgc2VwYXJhdCBhICIKIAotIzogd3Qtc3RhdHVzLmM6MTU0NQorIzogd3Qtc3RhdHVzLmM6MTU4MwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIkhFQUQgc2VwYXJhdCBkZSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDgKKyM6IHd0LXN0YXR1cy5jOjE1ODYKIG1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgogbXNnc3RyICJBY3R1YWxtZW50IG5vIHMnw6lzIGVuIGNhcCBicmFuY2EuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTY2CisjOiB3dC1zdGF0dXMuYzoxNjA2CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkNvbWlzc2nDsyBpbmljaWFsIgogCi0jOiB3dC1zdGF0dXMuYzoxNTgwCisjOiB3dC1zdGF0dXMuYzoxNjA3CisjLCBmdXp6eQorbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgorbXNnc3RyICJubyBzJ2hhIGFuYWxpdHphdCBjYXAgY29taXNzacOzLiIKKworIzogd3Qtc3RhdHVzLmM6MTYyMQogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiRml0eGVycyBubyBzZWd1aXRzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTgyCisjOiB3dC1zdGF0dXMuYzoxNjIzCiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiRml0eGVycyBpZ25vcmF0cyIKIAotIzogd3Qtc3RhdHVzLmM6MTU4NgorIzogd3Qtc3RhdHVzLmM6MTYyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtNDI2NSwzNjggKzQ2MTQsMzk0IEBACiAib2JsaWRhci12b3MgZCdhZmVnaXIgZml0eGVycyBub3VzIHZvc2FsdHJlcyBtYXRlaXhvcyAodmVnZXVcbiIKICInZ2l0IGhlbHAgc3RhdHVzJykuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTkyCisjOiB3dC1zdGF0dXMuYzoxNjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIkVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMgbm8gZXN0YW4gbGxpc3RhdHMlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTU5NAorIzogd3Qtc3RhdHVzLmM6MTYzNQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiAodXNldSBsJ29wY2nDsyAtdSBwZXIgYSBtb3N0cmFyIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjAwCisjOiB3dC1zdGF0dXMuYzoxNjQxCiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiU2Vuc2UgY2FudmlzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjA1CisjOiB3dC1zdGF0dXMuYzoxNjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCiAibm8gaGkgaGEgY2FudmlzIGFmZWdpdHMgYSBjb21ldHJlICh1c2V1IFwiZ2l0IGFkZFwiIG8gXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDgKKyM6IHd0LXN0YXR1cy5jOjE2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAibm8gaGkgaGEgY2FudmlzIGFmZWdpdHMgYSBjb21ldHJlXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKICJ0cmFjaylcbiIKIG1zZ3N0ciAiIgotIm5vIGhpIGhhIHJlcyBhZmVnaXQgYSBjb21ldHJlIHBlcsOyIGZpdHhlcnMgbm8gc2VndWl0cyBlc3RhbiBwcmVzZW50cyAodXNldSAiCi0iXCJnaXQgYWRkXCIgcGVyIGEgc2VndWlyLWxvcylcbiIKKyJubyBoaSBoYSByZXMgYWZlZ2l0IGEgY29tZXRyZSBwZXLDsiBleGlzdGVpeGVuIGZpdHhlcnMgbm8gc2VndWl0cyAodXNldSBcImdpdCAiCisiYWRkXCIgcGVyIGEgc2VndWlyLWxvcylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYxNAorIzogd3Qtc3RhdHVzLmM6MTY1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKLW1zZ3N0ciAibm8gaGkgaGEgcmVzIGFmZWdpdCBhIGNvbWV0cmUgcGVyw7IgZml0eGVycyBubyBzZWd1aXRzIGVzdGFuIHByZXNlbnRzXG4iCittc2dzdHIgIm5vIGhpIGhhIHJlcyBhZmVnaXQgYSBjb21ldHJlIHBlcsOyIGV4aXN0ZWl4ZW4gZml0eGVyIG5vIHNlZ3VpdHNcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYxNworIzogd3Qtc3RhdHVzLmM6MTY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogIm5vIGhpIGhhIHJlcyBhIGNvbWV0cmUgKGNyZWV1L2NvcGlldSBmaXR4ZXJzIGkgdXNldSBcImdpdCBhZGRcIiBwZXIgYSBzZWd1aXItIgogImxvcylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMCB3dC1zdGF0dXMuYzoxNjI1CisjOiB3dC1zdGF0dXMuYzoxNjYxIHd0LXN0YXR1cy5jOjE2NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAibm8gaGkgaGEgcmVzIGEgY29tZXRyZVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIzCisjOiB3dC1zdGF0dXMuYzoxNjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgIiIKICJubyBoaSBoYSByZXMgYSBjb21ldHJlICh1c2V1IC11IHBlciBhIG1vc3RyYXIgZWxzIGZpdHhlcnMgbm8gc2VndWl0cylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyNworIzogd3Qtc3RhdHVzLmM6MTY2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuXG4iCiBtc2dzdHIgIm5vIGhpIGhhIHJlcyBhIGNvbWV0cmUsIGwnYXJicmUgZGUgdHJlYmFsbCBlc3TDoCBuZXRcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTczNAotbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKLW1zZ3N0ciAiQ29taXNzacOzIGluaWNpYWwgZW4gIgorIzogd3Qtc3RhdHVzLmM6MTc4MAorIywgZnV6enkKK21zZ2lkICJObyBjb21taXRzIHlldCBvbiAiCittc2dzdHIgIk5vIHMnaGEgZmV0IGNhcCBvcmRyZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MzgKKyM6IHd0LXN0YXR1cy5jOjE3ODQKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChzZW5zZSBicmFuY2EpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzY3Ci1tc2dpZCAiZ29uZSIKLW1zZ3N0ciAibm8gaGkgw6lzIgotCi0jOiB3dC1zdGF0dXMuYzoxNzY5IHd0LXN0YXR1cy5jOjE3NzcKKyM6IHd0LXN0YXR1cy5jOjE4MTMgd3Qtc3RhdHVzLmM6MTgyMQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgImRhcnJlcmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNzcyIHd0LXN0YXR1cy5jOjE3NzUKKyM6IHd0LXN0YXR1cy5jOjE4MTYgd3Qtc3RhdHVzLmM6MTgxOQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAiZGF2YW50IHBlciAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMjc3CisjOiB3dC1zdGF0dXMuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIm5vIGVzIHBvdCAlczogVGVuaXUgY2FudmlzIMKrdW5zdGFnZWTCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyODMKKyM6IHd0LXN0YXR1cy5jOjIzMTcKIG1zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgImFkZGljaW9uYWxtZW50LCBlbCB2b3N0cmUgw61uZGV4IGNvbnTDqSBjYW52aXMgc2Vuc2UgY29tZXRyZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyODUKKyM6IHd0LXN0YXR1cy5jOjIzMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJubyBlcyBwb3QgJXM6IEVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSBjb21ldHJlLiIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTQKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBkZXNlbmxsYcOnYXIgJyVzJyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMgorIzogYnVpbHRpbi9hZGQuYzoyNAogbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgYWRkIFs8b3BjaW9ucz5dIFstLV0gPGVzcGVjaWZpY2FjacOzLWRlLWNhbcOtPi4uLiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MAorIzogYnVpbHRpbi9hZGQuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJlc3RhdCBkZSBkaWZmIGluZXNwZXJhdCAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQorIzogYnVpbHRpbi9hZGQuYzo4NyBidWlsdGluL2NvbW1pdC5jOjI5MgogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhY3R1YWxpdHphciBlbHMgZml0eGVycyIKIAotIzogYnVpbHRpbi9hZGQuYzo5NQorIzogYnVpbHRpbi9hZGQuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdmUgJyVzJ1xuIgogbXNnc3RyICJlbGltaW5hICclcydcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkKKyM6IGJ1aWx0aW4vYWRkLmM6MTUxCiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIkNhbnZpcyDCq3Vuc3RhZ2VkwrsgZGVzcHLDqXMgZCdhY3R1YWxpdHphciBsJ8OtbmRleDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODQ1CisjOiBidWlsdGluL2FkZC5jOjIxMSBidWlsdGluL3Jldi1wYXJzZS5jOjg3MwogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIwCisjOiBidWlsdGluL2FkZC5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciAnJXMnIHBlciBhIGVzY3JpcHR1cmEuIgogCi0jOiBidWlsdGluL2FkZC5jOjIyNAorIzogYnVpbHRpbi9hZGQuYzoyMjYKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgcGVkYcOnIgogCi0jOiBidWlsdGluL2FkZC5jOjIyNworIzogYnVpbHRpbi9hZGQuYzoyMjkKIG1zZ2lkICJlZGl0aW5nIHBhdGNoIGZhaWxlZCIKIG1zZ3N0ciAibCdlZGljacOzIGRlbCBwZWRhw6cgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2FkZC5jOjIzMAorIzogYnVpbHRpbi9hZGQuYzoyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBmZXIgc3RhdCBhICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMyCisjOiBidWlsdGluL2FkZC5jOjIzNAogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiRWwgcGVkYcOnIMOpcyBidWl0LiBTJ2hhIGF2b3J0YXQuIgogCi0jOiBidWlsdGluL2FkZC5jOjIzNworIzogYnVpbHRpbi9hZGQuYzoyMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXBsaWNhciAnJXMnIgogCi0jOiBidWlsdGluL2FkZC5jOjI0NworIzogYnVpbHRpbi9hZGQuYzoyNDkKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIiIKICJFbHMgY2FtaW5zIHNlZ8O8ZW50cyBzJ2lnbm9yZW4gcGVyIHVuIGRlbHMgdm9zdHJlcyBmaXR4ZXJzIC5naXRpZ25vcmU6XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY2IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL212LmM6MTIzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5OCBidWlsdGluL3B1c2guYzo1MjQKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNiBidWlsdGluL3JtLmM6MjQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCisjOiBidWlsdGluL2FkZC5jOjI2OSBidWlsdGluL2NsZWFuLmM6OTA3IGJ1aWx0aW4vZmV0Y2guYzoxMTAgYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoyMDEgYnVpbHRpbi9wdXNoLmM6NTI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMzIgYnVpbHRpbi9ybS5jOjI0MiBidWlsdGluL3NlbmQtcGFjay5jOjE2NAogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIm1hcnhhIGVuIHNlYyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjkKKyM6IGJ1aWx0aW4vYWRkLmM6MjcyCiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAicmVjdWxsIGludGVyYWN0aXUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU5IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyIGJ1aWx0aW4vcmVzZXQuYzoyOTkKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAic2VsZWNjaW9uYSBlbHMgdHJvc3NvcyBpbnRlcmFjdGl2YW1lbnQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcxCisjOiBidWlsdGluL2FkZC5jOjI3NAogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAiZWRpdGEgbGEgZGlmZXLDqG5jaWEgYWN0dWFsIGkgYXBsaWNhLWxhIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MgorIzogYnVpbHRpbi9hZGQuYzoyNzUKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInBlcm1ldCBhZmVnaXIgZml0eGVycyBxdWUgZCdhbHRyYSBtYW5lcmEgcydpZ25vcmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MworIzogYnVpbHRpbi9hZGQuYzoyNzYKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiYWN0dWFsaXR6YSBlbHMgZml0eGVycyBzZWd1aXRzIgogCi0jOiBidWlsdGluL2FkZC5jOjI3NAorIzogYnVpbHRpbi9hZGQuYzoyNzcKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgInJlZ2lzdHJhIG5vbcOpcyBlbCBmZXQgZGUgcXVlIGVsIGNhbcOtIHMnYWZlZ2lyw6AgbcOpcyB0YXJkIgogCi0jOiBidWlsdGluL2FkZC5jOjI3NQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImFmZWdlaXggZWxzIGNhbnZpcyBkZSB0b3RzIGVscyBmaXR4ZXJzIHNlZ3VpdHMgaSBubyBzZWd1aXRzIgogCi0jOiBidWlsdGluL2FkZC5jOjI3OAorIzogYnVpbHRpbi9hZGQuYzoyODEKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiIgogImlnbm9yYSBlbHMgY2FtaW5zIGVsaW1pbmF0cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgKGVsIG1hdGVpeCBxdWUgLS1uby1hbGwpIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzoyODMKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgIm5vIGFmZWdlaXhpcywgbm9tw6lzIGFjdHVhbGl0emEgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgxCisjOiBidWlsdGluL2FkZC5jOjI4NAogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIm5vbcOpcyBvbWV0IGVscyBmaXR4ZXJzIHF1ZSBubyBlcyBwb2RlbiBhZmVnaXIgYSBjYXVzYSBkJ2Vycm9ycyIKIAotIzogYnVpbHRpbi9hZGQuYzoyODIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg1CiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICIiCiAiY29tcHJvdmV1IHNpIGVscyBmaXR4ZXJzIC0gZmlucyBpIHRvdCBlbHMgYWJzZW50cyAtIHMnaWdub3JlbiBlbiBtYXJ4YSBlbiBzZWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAorIzogYnVpbHRpbi9hZGQuYzoyODYgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTMKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAicGFzc2EgcGVyIGFsdCBlbCBiaXQgZXhlY3V0YWJsZSBkZWxzIGZpdHhlcnMgbGxpc3RhdHMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjI4OAorIywgZnV6enkKK21zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCittc2dzdHIgImNyZWEgdW4gZGlww7JzaXQgbnUiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCisiQ2xvbmVzIG9mIHRoZSBvdXRlciByZXBvc2l0b3J5IHdpbGwgbm90IGNvbnRhaW4gdGhlIGNvbnRlbnRzIG9mXG4iCisidGhlIGVtYmVkZGVkIHJlcG9zaXRvcnkgYW5kIHdpbGwgbm90IGtub3cgaG93IHRvIG9idGFpbiBpdC5cbiIKKyJJZiB5b3UgbWVhbnQgdG8gYWRkIGEgc3VibW9kdWxlLCB1c2U6XG4iCisiXG4iCisiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIklmIHlvdSBhZGRlZCB0aGlzIHBhdGggYnkgbWlzdGFrZSwgeW91IGNhbiByZW1vdmUgaXQgZnJvbSB0aGVcbiIKKyJpbmRleCB3aXRoOlxuIgorIlxuIgorIlx0Z2l0IHJtIC0tY2FjaGVkICVzXG4iCisiXG4iCisiU2VlIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhZGRpbmcgZW1iZWRkZWQgZ2l0IHJlcG9zaXRvcnk6ICVzIgorbXNnc3RyICItLXN0ZGluIHJlcXVlcmVpeCBkJ3VuIGRpcMOyc2l0IGdpdCIKKworIzogYnVpbHRpbi9hZGQuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiVXNldSAtZiBzaSByZWFsbWVudCBlbHMgdm9sZXUgYWZlZ2lyLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjMxMgorIzogYnVpbHRpbi9hZGQuYzozNTcKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJsJ2FmZWdpbWVudCBkZSBmaXR4ZXJzIGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9hZGQuYzozNDgKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk0CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIGkgLXUgc8OzbiBtw7p0dWFtZW50IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU1CisjOiBidWlsdGluL2FkZC5jOjQwMQogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIkwnb3BjacOzIC0taWdub3JlLW1pc3Npbmcgbm9tw6lzIGVzIHBvdCB1c2FyIGp1bnQgYW1iIC0tZHJ5LXJ1biIKIAotIzogYnVpbHRpbi9hZGQuYzozNTkKKyM6IGJ1aWx0aW4vYWRkLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKIG1zZ3N0ciAiZWwgcGFyw6BtZXRyZSAtLWNobW9kICclcycgaGEgZGUgc2VyIG8gLXggbyAreCIKIAotIzogYnVpbHRpbi9hZGQuYzozNzQKKyM6IGJ1aWx0aW4vYWRkLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IHJlcywgbm8gcydoYSBhZmVnaXQgcmVzLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM3NQorIzogYnVpbHRpbi9hZGQuYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgIlBvdHNlciB2b2zDrWV1IGRpciAnZ2l0IGFkZCAuJz9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozODAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jaGVja291dC5jOjI3OQotIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MiBidWlsdGluL2NsZWFuLmM6OTE0IGJ1aWx0aW4vY29tbWl0LmM6MzUwCi0jOiBidWlsdGluL212LmM6MTQzIGJ1aWx0aW4vcmVzZXQuYzoyMzUgYnVpbHRpbi9ybS5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzo0MjYgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzYgYnVpbHRpbi9jaGVja291dC5jOjI4MgorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3NSBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzUxCisjOiBidWlsdGluL212LmM6MTQ0IGJ1aWx0aW4vcmVzZXQuYzoyMzggYnVpbHRpbi9ybS5jOjI3MgogIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0NAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAiZml0eGVyIGQnw61uZGV4IG1hbG3DqHMiCiAKLSM6IGJ1aWx0aW4vYW0uYzo0MTQKKyM6IGJ1aWx0aW4vYW0uYzo0MTMKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbCdzY3JpcHQgZCdhdXRvciIKIAotIzogYnVpbHRpbi9hbS5jOjQ5MQorIzogYnVpbHRpbi9hbS5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICJzJ2hhIHN1cHJpbWl0ICclcycgcGVsIGdhbnhvIGFwcGx5cGF0Y2gtbXNnIgogCi0jOiBidWlsdGluL2FtLmM6NTMyCisjOiBidWlsdGluL2FtLmM6NTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiTMOtbmlhIGQnZW50cmFkYSBtYWwgZm9ybWFkYTogJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NjkKKyM6IGJ1aWx0aW4vYW0uYzo1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY29waWFyIGxlcyBub3RlcyBkZSAnJXMnIGEgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjU5NQorIzogYnVpbHRpbi9hbS5jOjU5MwogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiZnNlZWsgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2FtLmM6Nzc1CisjOiBidWlsdGluL2FtLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBlbCBwZWRhw6cgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjg0MAorIzogYnVpbHRpbi9hbS5jOjg0MgogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICJOb23DqXMgdW5hIHPDqHJpZSBkZSBwZWRhw6dvcyBTdEdJVCBlcyBwb3QgYXBsaWNhciBhIGxhIHZlZ2FkYSIKIAotIzogYnVpbHRpbi9hbS5jOjg4NworIzogYnVpbHRpbi9hbS5jOjg4OQogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICJtYXJjYSBkZSB0ZW1wcyBubyB2w6BsaWRhIgogCi0jOiBidWlsdGluL2FtLmM6ODkwIGJ1aWx0aW4vYW0uYzo4OTgKKyM6IGJ1aWx0aW4vYW0uYzo4OTIgYnVpbHRpbi9hbS5jOjkwMAogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICJsw61uaWEgRGF0ZSBubyB2w6BsaWRhIgogCi0jOiBidWlsdGluL2FtLmM6ODk1CisjOiBidWlsdGluL2FtLmM6ODk3CiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgImRlc3BsYcOnYW1lbnQgZGUgem9uYSBkZSB0ZW1wcyBubyB2w6BsaWQiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5ODQKKyM6IGJ1aWx0aW4vYW0uYzo5ODYKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIkxhIGRldGVjY2nDsyBkZSBmb3JtYXQgZGUgcGVkYcOnIGhhIGZhbGxhdC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo5ODkgYnVpbHRpbi9jbG9uZS5jOjM3OQorIzogYnVpbHRpbi9hbS5jOjk5MSBidWlsdGluL2Nsb25lLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY3JlYXIgZWwgZGlyZWN0b3JpICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo5OTMKKyM6IGJ1aWx0aW4vYW0uYzo5OTUKIG1zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZGl2aWRpciBlbHMgcGVkYcOnb3MuIgogCi0jOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgorIzogYnVpbHRpbi9hbS5jOjExMjAgYnVpbHRpbi9jb21taXQuYzozNzcKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTc2CisjOiBidWlsdGluL2FtLmM6MTE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiUXVhbiBow6BnaXUgcmVzb2x0IGFxdWVzdCBwcm9ibGVtYSwgZXhlY3V0ZXUgXCIlcyAtLWNvbnRpbnVlXCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTE3NworIzogYnVpbHRpbi9hbS5jOjExNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICIiCiAiU2kgcHJlZmVyaXUgb21ldHJlIGFxdWVzdCBwZWRhw6csIGV4ZWN1dGV1IFwiJXMgLS1za2lwXCIgZW4gbGxvYyBkJ2FpeMOyLiIKIAotIzogYnVpbHRpbi9hbS5jOjExNzgKKyM6IGJ1aWx0aW4vYW0uYzoxMTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogIlBlciBhIHJlc3RhdXJhciBsYSBicmFuY2Egb3JpZ2luYWwgaSBkZWl4YXIgZCdhcGVkYcOnYXIsIGV4ZWN1dGV1IFwiJXMgLS1hYm9ydCIKICJcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzE2Ci1tc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCi1tc2dzdHIgIkVsIHBlZGHDpyDDqXMgYnVpdC4gUydoYSBkaXZpZGl0IG1hbGFtZW50PyIKKyM6IGJ1aWx0aW4vYW0uYzoxMzA0CisjLCBmdXp6eQorbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKK21zZ3N0ciAiRWwgcGVkYcOnIGFjdHVhbCBlc3TDoCBidWl0LiIKIAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCisjOiBidWlsdGluL2FtLmM6MTM3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlLipzIgogbXNnc3RyICJsw61uaWEgZCdpZGVudGl0YXQgbm8gdsOgbGlkYTogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDE3CisjOiBidWlsdGluL2FtLmM6MTM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7MgJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEwCisjOiBidWlsdGluL2FtLmM6MTU4NgogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJBbCBkaXDDsnNpdCBsaSBtYW5xdWVuIGVscyBibG9icyBuZWNlc3NhcmlzIHBlciBhIHJldHJvY2VkaXIgYSB1bmEgZnVzacOzIGRlIDMgIgogInZpZXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTYxMgorIzogYnVpbHRpbi9hbS5jOjE1ODgKIG1zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgogbXNnc3RyICJTJ2VzdMOgIHVzYW50IGxhIGluZm9ybWFjacOzIGQnw61uZGV4IHBlciBhIHJlY29uc3RydWlyIHVuIGFyYnJlIGJhc2UuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjMxCisjOiBidWlsdGluL2FtLmM6MTYwNwogbXNnaWQgIiIKICJEaWQgeW91IGhhbmQgZWRpdCB5b3VyIHBhdGNoP1xuIgogIkl0IGRvZXMgbm90IGFwcGx5IHRvIGJsb2JzIHJlY29yZGVkIGluIGl0cyBpbmRleC4iCkBAIC00NjM0LDM4ICs1MDA5LDM4IEBACiAiSGV1IGVkaXRhdCBlbCB2b3N0cmUgcGVkYcOnIGEgbcOgP1xuIgogIk5vIHMnYXBsaWNhIGFscyBibG9icyByZWNvcmRhdHMgZW4gZWwgc2V1IMOtbmRleC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjM3CisjOiBidWlsdGluL2FtLmM6MTYxMwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAiUydlc3TDoCByZXRyb2NlZGludCBhIGFwZWRhw6dhciBsYSBiYXNlIGkgdW5hIGZ1c2nDsyBkZSAzIHZpZXMuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjYyCisjOiBidWlsdGluL2FtLmM6MTYzOAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZnVzaW9uYXIgZWxzIGNhbnZpcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjg2IGJ1aWx0aW4vbWVyZ2UuYzo2MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjYyIGJ1aWx0aW4vbWVyZ2UuYzo2MzIKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBoYSBmYWxsYXQgZW4gZXNjcml1cmUgdW4gYXJicmUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjkzCisjOiBidWlsdGluL2FtLmM6MTY2OQogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgInMnZXN0w6AgYXBsaWNhbnQgYSB1bmEgaGlzdMOycmlhIGJ1aWRhIgogCi0jOiBidWlsdGluL2FtLmM6MTcwNiBidWlsdGluL2NvbW1pdC5jOjE3NjQgYnVpbHRpbi9tZXJnZS5jOjgwMgotIzogYnVpbHRpbi9tZXJnZS5jOjgyNworIzogYnVpbHRpbi9hbS5jOjE2ODIgYnVpbHRpbi9jb21taXQuYzoxNzY3IGJ1aWx0aW4vbWVyZ2UuYzo4MDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjgKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBsJ29iamVjdGUgZGUgY29taXNzacOzIgogCi0jOiBidWlsdGluL2FtLmM6MTczOSBidWlsdGluL2FtLmM6MTc0MworIzogYnVpbHRpbi9hbS5jOjE3MTUgYnVpbHRpbi9hbS5jOjE3MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc3VtZTogJXMgZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICJubyBlcyBwb3QgcmVwcmVuZHJlOiAlcyBubyBleGlzdGVpeC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzU5CisjOiBidWlsdGluL2FtLmM6MTczNQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAiIgogIm5vIGVzIHBvdCBzZXIgaW50ZXJhY3RpdSBzZW5zZSBxdWUgc3RkaW4gZXN0aWd1aSBjb25uZWN0YWRhIGEgdW4gdGVybWluYWwuIgogCi0jOiBidWlsdGluL2FtLmM6MTc2NAorIzogYnVpbHRpbi9hbS5jOjE3NDAKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCiBtc2dzdHIgIkVsIGNvcyBkZSBsYSBjb21pc3Npw7Mgw6lzOiIKIApAQCAtNDY3MywzNyArNTA0OCwzNyBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNzc0CisjOiBidWlsdGluL2FtLmM6MTc1MAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIiIKICJWb2xldSBhcGxpY2FyLWxvPyBbeV1lcy9bbl1vL1tlXWRpdGEvW3ZdaXN1YWxpdHphIGVsIHBlZGHDpy9bYV1jY2VwdGEnbHMgIgogInRvdHM6ICIKIAotIzogYnVpbHRpbi9hbS5jOjE4MjQKKyM6IGJ1aWx0aW4vYW0uYzoxODAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiw41uZGV4IGJydXQ6IG5vIGVzIHBvZGVuIGFwbGljYXIgcGVkYcOnb3MgKGJydXRzOiAlcykiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCisjOiBidWlsdGluL2FtLmM6MTg0MCBidWlsdGluL2FtLmM6MTkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJS4qcyIKIG1zZ3N0ciAiUydlc3TDoCBhcGxpY2FudDogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4NzcKKyM6IGJ1aWx0aW4vYW0uYzoxODU2CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICJTZW5zZSBjYW52aXMgLS0gRWwgcGVkYcOnIGphIHMnaGEgYXBsaWNhdC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODg1CisjOiBidWlsdGluL2FtLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAiRWwgcGVkYcOnIGhhIGZhbGxhdCBhICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkxCisjOiBidWlsdGluL2FtLmM6MTg3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgogbXNnc3RyICJMYSBjw7JwaWEgZGVsIHBlZGHDpyBxdWUgaGEgZmFsbGF0IGVzIHRyb2JhIGVuOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE5MzYKKyM6IGJ1aWx0aW4vYW0uYzoxOTE1CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgpAQCAtNDcxMywyNSArNTA4OCwyNSBAQAogIlNpIG5vIGhpIGhhIHJlcyBwZXIgZmVyIMKrc3RhZ2XCuywgcHJvYmFibGVtZW50IGFsZ3VuYSBhbHRyYSBjb3NhIGphIGhhXG4iCiAiaW50cm9kdcOvdCBlbHMgbWF0ZWl4b3MgY2FudmlzOyBwb3RzZXIgdm9sZXUgb21ldHJlIGFxdWVzdCBwZWRhw6cuIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MjIKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKLSJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKKyJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKKyJzdWNoLlxuIgorIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgIiIKLSJFbmNhcmEgdGVuaXUgY2FtaW5zIHNlbnNlIGZ1c2lvbmFyIGVuIGVsIHZvc3RyZSDDrW5kZXguXG4iCi0iSGV1IG9ibGlkYXQgZCd1c2FyICdnaXQgYWRkJz8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDUxIGJ1aWx0aW4vYW0uYzoyMDU1IGJ1aWx0aW4vYW0uYzoyMDY3IGJ1aWx0aW4vcmVzZXQuYzozMDgKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMDMxIGJ1aWx0aW4vYW0uYzoyMDM1IGJ1aWx0aW4vYW0uYzoyMDQ3IGJ1aWx0aW4vcmVzZXQuYzozMjMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbCdvYmplY3RlICclcycuIgogCi0jOiBidWlsdGluL2FtLmM6MjEwMworIzogYnVpbHRpbi9hbS5jOjIwODMKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbmV0ZWphciBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi9hbS5jOjIxMzcKKyM6IGJ1aWx0aW4vYW0uYzoyMTE3CiBtc2dpZCAiIgogIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRCBzaW5jZSB0aGUgbGFzdCAnYW0nIGZhaWx1cmUuXG4iCiAiTm90IHJld2luZGluZyB0byBPUklHX0hFQUQiCkBAIC00NzM5LDEzNSArNTExNCwxMzYgQEAKICJTZW1ibGEgcXVlIGhldSBtb2d1dCBIRUFEIGRlc3Byw6lzIGRlIGwnw7psdGltYSBmYWxsYWRhIGRlICdhbScuXG4iCiAiTm8gcydlc3TDoCByZWJvYmluYW50IGEgT1JJR19IRUFEIgogCi0jOiBidWlsdGluL2FtLmM6MjIwMAorIzogYnVpbHRpbi9hbS5jOjIxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICJWYWxvciBubyB2w6BsaWQgcGVyIGEgLS1wYXRjaC1mb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFs8b3BjaW9ucz5dIFsoPGLDunN0aWE+IHwgPGRpcmVjdG9yaS1kZS1jb3JyZXU+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM0CisjOiBidWlsdGluL2FtLmM6MjIxNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzxvcGNpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMjIwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgImV4ZWN1dGEgaW50ZXJhY3RpdmFtZW50IgogCi0jOiBidWlsdGluL2FtLmM6MjI0MgorIzogYnVpbHRpbi9hbS5jOjIyMjIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAib3BjacOzIGhpc3TDsnJpY2EgLS0gbm8tb3AiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ0CisjOiBidWlsdGluL2FtLmM6MjIyNAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICJwZXJtZXQgcmV0cm9jZWRpciBhIHVuYSBmdXNpw7MgZGUgMyB2aWVzIHNpIMOpcyBuZWNlc3NhcmkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3Ci0jOiBidWlsdGluL3JlcGFjay5jOjE3OAorIzogYnVpbHRpbi9hbS5jOjIyMjUgYnVpbHRpbi9pbml0LWRiLmM6NDg0IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgInNpbGVuY2nDs3MiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ3CisjOiBidWlsdGluL2FtLmM6MjIyNwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImFmZWdlaXggdW5hIGzDrW5pYSBTaWduZWQtb2ZmLWJ5IGFsIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgInJlY29kaWZpY2EgZW4gdXRmOCAocGVyIGRlZmVjdGUpIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MgorIzogYnVpbHRpbi9hbS5jOjIyMzIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzYSBsYSBiYW5kZXJhIC1rIGFsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQKKyM6IGJ1aWx0aW4vYW0uYzoyMjM0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzc2EgbGEgYmFuZGVyYSAtYiBhbCBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU2CisjOiBidWlsdGluL2FtLmM6MjIzNgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgInBhc3NhIGxhIGJhbmRlcmEgLW0gYWwgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI1OAorIzogYnVpbHRpbi9hbS5jOjIyMzgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICJwYXNzYSBsYSBiYW5kZXJhIC0ta2VlcC1jciBhbCBnaXQtbWFpbHNwbGl0IHBlciBhbCBmb3JtYXQgbWJveCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMjQxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgIiIKICJubyBwYXNzaXMgbGEgYmFuZGVyYSAtLWtlZXAtY3IgYWwgZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBkZSBhbS5rZWVwY3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY0CisjOiBidWlsdGluL2FtLmM6MjI0NAogbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKIG1zZ3N0ciAiZWxpbWluYSB0b3QgYWJhbnMgZCd1bmEgbMOtbmlhIGRlIHRpc29yZXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY2IGJ1aWx0aW4vYW0uYzoyMjY5IGJ1aWx0aW4vYW0uYzoyMjcyIGJ1aWx0aW4vYW0uYzoyMjc1Ci0jOiBidWlsdGluL2FtLmM6MjI3OCBidWlsdGluL2FtLmM6MjI4MSBidWlsdGluL2FtLmM6MjI4NCBidWlsdGluL2FtLmM6MjI4NwotIzogYnVpbHRpbi9hbS5jOjIyOTMKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ2IGJ1aWx0aW4vYW0uYzoyMjQ5IGJ1aWx0aW4vYW0uYzoyMjUyIGJ1aWx0aW4vYW0uYzoyMjU1CisjOiBidWlsdGluL2FtLmM6MjI1OCBidWlsdGluL2FtLmM6MjI2MSBidWlsdGluL2FtLmM6MjI2NCBidWlsdGluL2FtLmM6MjI2NworIzogYnVpbHRpbi9hbS5jOjIyNzMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICJwYXNzYS1obyBhIHRyYXbDqXMgZGVsIGdpdC1hcHBseSIKIAotIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQotIzogYnVpbHRpbi9ncmVwLmM6MTAzOCBidWlsdGluL21lcmdlLmM6MjAyIGJ1aWx0aW4vcHVsbC5jOjEzNQotIzogYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmVwYWNrLmM6MTg3IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkgYnVpbHRpbi90YWcuYzozNTUKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBidWlsdGluL2FtLmM6MjI2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzoxMDY0IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTQyCisjOiBidWlsdGluL3B1bGwuYzoxOTcgYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk1IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzEgYnVpbHRpbi9zaG93LXJlZi5jOjE2OQorIzogYnVpbHRpbi90YWcuYzozOTkgcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAibiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CisjOiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQgYnVpbHRpbi90YWcuYzo0MzQgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgImZvcm1hdCIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgogbXNnc3RyICJlbCBmb3JtYXQgZW4gZWwgcXVhbCBlc3RhbiBlbHMgcGVkYcOnb3MiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk2CisjOiBidWlsdGluL2FtLmM6MjI3NgogbXNnaWQgIm92ZXJyaWRlIGVycm9yIG1lc3NhZ2Ugd2hlbiBwYXRjaCBmYWlsdXJlIG9jY3VycyIKIG1zZ3N0ciAiIgogInBhc3NhIHBlciBhbHQgZWwgbWlzc2F0Z2UgZCdlcnJvciBxdWFuIHMnb2NvcnJlIHVuYSBmYWxsYWRhIGVuIGFwZWRhw6dhciIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjc4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAic2VndWVpeCBhcGxpY2FudCBwZWRhw6dvcyBkZXNwcsOpcyBkZSByZXNvbGRyZSB1biBjb25mbGljdGUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAxCisjOiBidWlsdGluL2FtLmM6MjI4MQogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICJzaW7Dsm5pbXMgZGUgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDQKKyM6IGJ1aWx0aW4vYW0uYzoyMjg0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAib21ldCBlbCBwZWRhw6cgYWN0dWFsIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNworIzogYnVpbHRpbi9hbS5jOjIyODcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICJyZXN0YXVyYSBsYSBicmFuY2Egb3JpZ2luYWwgaSBhdm9ydGEgbCdvcGVyYWNpw7MgZCdhcGVkYcOnYW1lbnQuIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMQorIzogYnVpbHRpbi9hbS5jOjIyOTEKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIm1lbnRlaXggc29icmUgbGEgZGF0YSBkZWwgY29taXRlbnQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzEzCisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgInVzYSBlbCBtYXJjIGRlIHRlbXBzIGFjdHVhbCBwZXIgbGEgZGF0YSBkJ2F1dG9yIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNSBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9tZXJnZS5jOjIzMwotIzogYnVpbHRpbi9wdWxsLmM6MTY1IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNzAKKyM6IGJ1aWx0aW4vYW0uYzoyMjk1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjMzCisjOiBidWlsdGluL3B1bGwuYzoxNzIgYnVpbHRpbi9yZXZlcnQuYzoxMTIgYnVpbHRpbi90YWcuYzo0MTQKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgIklEIGRlIGNsYXUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE2CisjOiBidWlsdGluL2FtLmM6MjI5NgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgInNpZ25hIGxlcyBjb21pc3Npb25zIGFtYiBHUEciCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE5CisjOiBidWlsdGluL2FtLmM6MjI5OQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIow7pzIGludGVybiBwZXIgYWwgZ2l0LXJlYmFzZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM0CisjOiBidWlsdGluL2FtLmM6MjMxNwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTQ4NzUsMTggKzUyNTEsMTggQEAKICJGYSBtb2x0IHF1ZSBsJ29wY2nDsyAtYi8tLWJpbmFyeSBubyBoYSBmZXQgcmVzLCBpXG4iCiAicydlbGltaW5hcsOgLiBTaSB1cyBwbGF1LCBubyBsJ3VzZXUgbcOpcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzQxCisjOiBidWlsdGluL2FtLmM6MjMyNAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzU2CisjOiBidWlsdGluL2FtLmM6MjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIiIKLSJ1biBkaXJlY3RvcmkgZGUgcmViYXNhbWVudCBhbnRlcmlvciAlcyBlbmNhcmEgZXhpc3RlaXggcGVyw7IgcydoYSBkb25hdCB1bmEgIgorInVuIGRpcmVjdG9yaSBkZSDCq3JlYmFzZcK7IGFudGVyaW9yICVzIGVuY2FyYSBleGlzdGVpeCBwZXLDsiBzJ2hhIGRvbmF0IHVuYSAiCiAiYsO6c3RpYS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzgwCisjOiBidWlsdGluL2FtLmM6MjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgpAQCAtNDg5NSw3ICs1MjcxLDcgQEAKICJTJ2hhIHRyb2JhdCB1biBkaXJlY3RvcmkgJXMgZXh0cmF2aWF0LlxuIgogIlVzZXUgXCJnaXQgYW0gLS1hYm9ydFwiIHBlciBhIGVsaW1pbmFyLWxvLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODYKKyM6IGJ1aWx0aW4vYW0uYzoyMzY5CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAiVW5hIG9wZXJhY2nDsyBkZSByZXNvbHVjacOzIG5vIGVzdMOgIGVuIGN1cnM7IG5vIHJlcHJlbmVtLiIKIApAQCAtNDkyNSwxMSArNTMwMSw2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiAlcyBOQUNLIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICJlcnJvciByZW1vdDogJXMiCi0KICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY0CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IHByb3RvY29sIGVycm9yIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogZXJyb3IgZGUgcHJvdG9jb2wiCkBAIC00OTUwLDE5OCArNTMyMSwxNzMgQEAKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICJhY3R1YWxpdHphIEJJU0VDVF9IRUFEIGVuIGxsb2MgZCdhZ2FmYXIgbGEgY29taXNzacOzIGFjdHVhbCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjMzCisjOiBidWlsdGluL2JsYW1lLmM6MjcKIG1zZ2lkICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iCiBtc2dzdHIgImdpdCBibGFtZSBbPG9wY2lvbnM+XSBbPG9wY2lvbnMtZGUtcmV2aXNpw7M+XSBbPHJldmlzacOzPl0gWy0tXSBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozOAorIzogYnVpbHRpbi9ibGFtZS5jOjMyCiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgImVzIGRvY3VtZW50ZW4gbGVzIDxvcGNpb25zLWRlLXJldmlzacOzPiBlbiBnaXQtcmV2LWxpc3QoMSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxNzg2Ci1tc2dpZCAiQmxhbWluZyBsaW5lcyIKLW1zZ3N0ciAiUydlc3TDoCBmZW50IHVuIMKrYmxhbWXCuyIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NjgKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICJNb3N0cmEgbGVzIGVudHJhZGVzIMKrYmxhbWXCuyBtZW50cmUgbGVzIHRyb2JlbSwgaW5jcmVtZW50YWxtZW50IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MworIzogYnVpbHRpbi9ibGFtZS5jOjY2OQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJNb3N0cmEgdW4gU0hBLTEgZW4gYmxhbmMgcGVyIGxlcyBjb21pc3Npb25zIGRlIGZyb250ZXJhIChQZXIgZGVmZWN0ZTogIgogImRlc2FjdGl2YXQpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NAorIzogYnVpbHRpbi9ibGFtZS5jOjY3MAogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIk5vIHRyYWN0aXMgbGVzIGNvbWlzc2lvbnMgZCdhcnJlbCBjb20gYSBsw61taXRzIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg1CisjOiBidWlsdGluL2JsYW1lLmM6NjcxCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiTW9zdHJhIGxlcyBlc3RhZMOtc3RpcXVlcyBkZSBwcmV1IGRlIHRyZWJhbGwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg2CisjOiBidWlsdGluL2JsYW1lLmM6NjcyCiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJGb3LDp2EgbCdpbmZvcm1lIGRlIHByb2dyw6lzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NworIzogYnVpbHRpbi9ibGFtZS5jOjY3MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJNb3N0cmEgbGEgcHVudHVhY2nDsyBkZSBzb3J0aWRhIGRlIGxlcyBlbnRyYWRlcyDCq2JsYW1lwrsiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CisjOiBidWlsdGluL2JsYW1lLmM6Njc0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIk1vc3RyYSBlbCBub20gZGUgZml0eGVyIG9yaWdpbmFsIChQZXIgZGVmZWN0ZTogYXV0b23DoHRpYykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg5CisjOiBidWlsdGluL2JsYW1lLmM6Njc1CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb3N0cmEgZWwgbsO6bWVybyBkZSBsw61uaWEgb3JpZ2luYWwgKFBlciBkZWZlY3RlOiBkZXNhY3RpdmF0KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJQcmVzZW50YSBlbiB1biBmb3JtYXQgZGlzc2VueWF0IHBlciBjb25zdW1wY2nDsyBwZXIgbcOgcXVpbmEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkxCisjOiBidWlsdGluL2JsYW1lLmM6Njc3CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJNb3N0cmEgZWwgZm9ybWF0IGRlIHBvcmNlbGxhbmEgYW1iIGluZm9ybWFjacOzIGRlIGNvbWlzc2nDsyBwZXIgbMOtbmlhIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MgorIzogYnVpbHRpbi9ibGFtZS5jOjY3OAogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJVc2EgZWwgbWF0ZWl4IG1vZGUgZGUgc29ydGlkYSBxdWUgZ2l0LWFubm90YXRlIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkzCisjOiBidWlsdGluL2JsYW1lLmM6Njc5CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb3N0cmEgbGEgbWFyY2EgZGUgdGVtcHMgY3J1YSAoUGVyIGRlZmVjdGU6IGRlc2FjdGl2YXQpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NAorIzogYnVpbHRpbi9ibGFtZS5jOjY4MAogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhIGwnU0hBMSBkZSBjb21pc3Npw7MgbGxhcmcgKFBlciBkZWZlY3RlOiBkZXNhY3RpdmF0KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODEKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJPbWV0IGVsIG5vbSBkJ2F1dG9yIGkgbGEgbWFyY2EgZGUgdGVtcHMgKFBlciBkZWZlY3RlOiBkZXNhY3RpdmF0KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODIKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJNb3N0cmEgbCdhZHJlw6dhIGRlIGNvcnJldSBlbGVjdHLDsm5pYyBkZSBsJ2F1dG9yIGVuIGxsb2MgZGVsIG5vbSAoUGVyICIKICJkZWZlY3RlOiBkZXNhY3RpdmF0KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODMKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiSWdub3JhIGxlcyBkaWZlcsOobmNpZXMgZCdlc3BhaSBlbiBibGFuYyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTAKIG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgogbXNnc3RyICJVc2EgdW4gaGV1csOtc3RpYyBleHBlcmltZW50YWwgcGVyIGEgbWlsbG9yYXIgbGVzIGRpZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIkdhc3RhIGNpY2xlcyBleHRyZXMgcGVyIGEgdHJvYmFyIHVuYSBjb2luY2lkw6huY2lhIG1pbGxvciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTMKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIlVzYSBsZXMgcmV2aXNpb25zIGRlIDxmaXR4ZXI+IGVuIGxsb2MgZCdpbnZvY2FyIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJVc2EgZWxzIGNvbnRpbmd1dHMgZGUgPGZpdHhlcj4gY29tIGEgbGEgaW1hdGdlIGZpbmFsIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwOSBidWlsdGluL2JsYW1lLmM6MjYxMAorIzogYnVpbHRpbi9ibGFtZS5jOjY5NSBidWlsdGluL2JsYW1lLmM6Njk2CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgInB1bnR1YWNpw7MiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA5CisjOiBidWlsdGluL2JsYW1lLmM6Njk1CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVHJvYmEgY8OycGllcyBkZSBsw61uaWEgZGlucyBpIGEgdHJhdsOpcyBkZWxzIGZpdHhlcnMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjEwCisjOiBidWlsdGluL2JsYW1lLmM6Njk2CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVHJvYmEgbW92aW1lbnRzIGRlIGzDrW5pYSBkaW5zIGkgYSB0cmF2w6lzIGRlbHMgZml0eGVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiUHJvY2Vzc2Egbm9tw6lzIGVsIHJhbmcgZGUgbMOtbmllcyBuLG0sIGNvbXB0YW50IGRlcyBkJzEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjU4CisjOiBidWlsdGluL2JsYW1lLmM6NzQ0CiBtc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKIG1zZ3N0ciAiIgogIm5vIGVzIHBvdCB1c2FyIC0tcHJvZ3Jlc3MgYW1iIGVscyBmb3JtYXRzIC0taW5jcmVtZW50YWwgbyBkZSBwb3JjZWxsYW5hIgogCi0jLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZSBtYXhpbXVtCi0jLiBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbiAiZ2l0IGJsYW1lIgotIy4gb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIsIHdoaWNoCi0jLiB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0IGFtb25nIHZhcmlvdXMgZm9ybXMgb2YKLSMuIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dCB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IKLSMuIGZld2VyIGRpc3BsYXkgY29sdW1ucy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzA2CisjLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZQorIy4gbWF4aW11bSBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbgorIy4gImdpdCBibGFtZSIgb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEKKyMuIG1vbnRocyBhZ28iLCB3aGljaCB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0CisjLiBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dAorIy4geW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yIGZld2VyIGRpc3BsYXkKKyMuIGNvbHVtbnMuCisjLgorIzogYnVpbHRpbi9ibGFtZS5jOjc5NQogbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCiBtc2dzdHIgImZhIDQgYW55cyBpIDExIG1lc29zIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc4NgotbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCi1tc2dzdHIgIi0tY29udGVudHMgaSAtLXJldmVyc2Ugbm8gZnVuY2lvbmVuIGLDqSBqdW50ZXMuIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgwNgotbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKLW1zZ3N0ciAibm8gZXMgcG90IHVzYXIgLS1jb250ZW50cyBhbWIgZWwgbm9tIGQnb2JqZWN0ZSBkZSBsYSBjb21pc3Npw7MgZmluYWwiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODExCi1tc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgotbXNnc3RyICIiCi0iLS1yZXZlcnNlIGkgLS1maXJzdC1wYXJlbnQtdG9nZXRoZXIgcmVxdWVyZWl4ZW4gdW5hIMO6bHRpbWEgY29taXNzacOzICIKLSJlc3BlY2lmaWNhZGEiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODM4Ci1tc2dpZCAiIgotIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKLW1zZ3N0ciAiIgotIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCBqdW50cyByZXF1ZXJlaXhlbiB1biByYW5nIGRlIGxhIGNhZGVuYSBkZSBtYXJlcyAiCi0icHJpbWVyZXMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKLW1zZ3N0ciAibm8gaGkgaGEgdGFsIGNhbcOtICVzIGVuICVzIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgotbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGVsIGJsb2IgJXMgcGVyIGFsIGNhbcOtICVzIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg3OQorIzogYnVpbHRpbi9ibGFtZS5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgogbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKIG1zZ3N0clswXSAiZWwgZml0eGVyICVzIHTDqSBub23DqXMgJWx1IGzDrW5pYSIKIG1zZ3N0clsxXSAiZWwgZml0eGVyICVzIHTDqSBub23DqXMgJWx1IGzDrW5pZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjgKK21zZ2lkICJCbGFtaW5nIGxpbmVzIgorbXNnc3RyICJTJ2VzdMOgIGZlbnQgdW4gwqtibGFtZcK7IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI3CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8b3BjaW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstbF0gWy1mXSA8YnJhbmNoLW5hbWU+IFs8c3RhcnQtcG9pbnQ+XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wY2lvbnM+XSBbLWxdIFstZl0gPG5vbS1kZS1icmFuY2E+IFs8cHVudC1pbmljaWFsPl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjkKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstcl0gKC1kIHwgLUQpIDxicmFuY2gtbmFtZT4uLi4iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxvcGNpb25zPl0gWy1yXSAoLWQgfCAtRCkgPG5vbS1kZS1icmFuY2E+Li4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI5CisjOiBidWlsdGluL2JyYW5jaC5jOjMwCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLW0gfCAtTSkgWzxvbGQtYnJhbmNoPl0gPG5ldy1icmFuY2g+IgogbXNnc3RyICJnaXQgYnJhbmNoIFs8b3BjaW9ucz5dICgtbSB8IC1NKSBbPGJyYW5jYS1hbnRpZ2E+XSA8YnJhbmNhLW5vdmE+IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMxCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wY2lvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs8b3BjaW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBoYXMgYmVlbiBtZXJnZWQgdG9cbiIKQEAgLTUxNTEsNyArNTQ5Nyw3IEBACiAiICAgICAgICAgZnVzaW9uYXQgYSAnJXMnLCBwZXLDsiBlbmNhcmEgbm9cbiIKICIgICAgICAgICBzJ2hhIGZ1c2lvbmF0IGEgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ3CisjOiBidWlsdGluL2JyYW5jaC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKQEAgLTUxNjEsMTIgKzU1MDcsMTIgQEAKICIgICAgICAgICBzJ2hhIGZ1c2lvbmF0IGEgJyVzJywgZW5jYXJhIHF1ZSBlc3TDoFxuIgogIiAgICAgICAgIGZ1c2lvbmFkYSBhIEhFQUQuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MQorIzogYnVpbHRpbi9icmFuY2guYzoxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsJ29iamVjdGUgZGUgY29taXNzacOzIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY1CisjOiBidWlsdGluL2JyYW5jaC5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCkBAIC01MTc1LDE2NSArNTUyMSw5MyBAQAogIkxhIGJyYW5jYSAnJXMnIG5vIGVzdMOgIHRvdGFsbWVudCBmdXNpb25hZGEuXG4iCiAiU2kgZXN0ZXUgc2VndXIgcXVlIGxhIHZvbGV1IHN1cHJpbWlyLCBleGVjdXRldSAnZ2l0IGJyYW5jaCAtRCAlcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE3OAorIzogYnVpbHRpbi9icmFuY2guYzoxODAKIG1zZ2lkICJVcGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICJMJ2FjdHVhbGl0emFjacOzIGRlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjA2CisjOiBidWlsdGluL2JyYW5jaC5jOjIxMQogbXNnaWQgImNhbm5vdCB1c2UgLWEgd2l0aCAtZCIKIG1zZ3N0ciAibm8gZXMgcG90IHVzYXIgLWEgYW1iIC1kIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIxMgorIzogYnVpbHRpbi9icmFuY2guYzoyMTcKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgdHJvYmFyIGwnb2JqZWN0ZSBkZSBjb21pc3Npw7MgZGUgSEVBRCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiTm8gZXMgcG90IHN1cHJpbWlyIGxhIGJyYW5jYSAnJXMnIGFnYWZhZGEgYSAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MQorIzogYnVpbHRpbi9icmFuY2guYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgIm5vIHMnaGEgdHJvYmF0IGxhIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90ICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MgorIzogYnVpbHRpbi9icmFuY2guYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAibm8gcydoYSB0cm9iYXQgbGEgYnJhbmNhICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1NworIzogYnVpbHRpbi9icmFuY2guYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICJFcnJvciBlbiBzdXByaW1pciBsYSBicmFuY2EgYW1iIHNlZ3VpbWVudCByZW1vdCAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1OAorIzogYnVpbHRpbi9icmFuY2guYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkVycm9yIGVuIHN1cHJpbWlyIGxhIGJyYW5jYSAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2NQorIzogYnVpbHRpbi9icmFuY2guYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJTJ2hhIHN1cHJpbWl0IGxhIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90ICVzIChlcmEgJXMpLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2NgorIzogYnVpbHRpbi9icmFuY2guYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIlMnaGEgc3VwcmltaXQgbGEgYnJhbmNhICVzIChlcmEgJXMpLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGdvbmVdIgotbXNnc3RyICJbJXM6IG5vIGhpIMOpc10iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlslc10iCi1tc2dzdHIgIlslc10iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVzOiBkYXJyZXJlIHBlciAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIltiZWhpbmQgJWRdIgotbXNnc3RyICJbZGFycmVyZSBkZSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWRdIgotbXNnc3RyICJbJXM6IGRhdmFudCBwZXIgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgotbXNnc3RyICJbZGF2YW50IGRlICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVzOiBkYXZhbnQgcGVyICVkLCBkYXJyZXJlIHBlciAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiW2RhdmFudCAlZCwgZGFycmVyZSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ5Ci1tc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKLW1zZ3N0ciAiICoqKiogcmVmZXLDqG5jaWEgbm8gdsOgbGlkYSAqKioqIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3NQotIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCi1tc2dzdHIgIihjYXAgYnJhbmNhLCBzJ2VzdMOgIHJlYmFzYW50ICVzKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgotbXNnc3RyICIoY2FwIGJyYW5jYSwgYmlzZWNjacOzIGNvbWVuw6dhZGEgZW4gJXMpIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCBzZXBhcmF0IGEgJXMpIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4OQotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKLW1zZ3N0ciAiKEhFQUQgc2VwYXJhdCBkZSAlcykiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkzCi1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIihjYXAgYnJhbmNhKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1MzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICJTJ2VzdMOgIGZlbnQgwqtyZWJhc2XCuyBlbiBsYSBicmFuY2EgJXMgYSAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAiTGEgYnJhbmNhICVzIHMnZXN0w6AgYmlzZWNhbnQgYSAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIm5vIGVzIHBvdCBjYW52aWFyIGVsIG5vbSBkZSBsYSBicmFuY2EgYWN0dWFsIG1lbnRyZSBubyBzJ8OpcyBhIGNhcC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY0CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICJOb20gZGUgYnJhbmNhIG5vIHbDoGxpZDogJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkxCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIkVsIGNhbnZpIGRlIG5vbSBkZSBicmFuY2EgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgIlMnaGEgY2FudmlhdCBlbCBub20gZGUgbGEgYnJhbmNhIG1hbCBhbm9tZW5hZGEgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIlMnaGEgY2FudmlhdCBlbCBub20gZGUgbGEgYnJhbmNhIGEgJXMsIHBlcsOyIEhFQUQgbm8gZXN0w6AgYWN0dWFsaXR6YXQhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NQorIzogYnVpbHRpbi9icmFuY2guYzo1MDYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKICJMYSBicmFuY2EgZXN0w6AgY2FudmlhZGEgZGUgbm9tLCBwZXLDsiBsJ2FjdHVhbGl0emFjacOzIGRlbCBmaXR4ZXIgZGUgIgogImNvbmZpZ3VyYWNpw7MgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMQorIzogYnVpbHRpbi9icmFuY2guYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgpAQCAtNTM0NCwyMDcgKzU2MTgsMjE2IEBACiAiICAlc1xuIgogIlMnZWxpbWluYXJhbiBsZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gYW1iICclYycuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzCisjOiBidWlsdGluL2JyYW5jaC5jOjU1NQogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiT3BjaW9ucyBnZW7DqHJpcXVlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU3CiBtc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCiBtc2dzdHIgIm1vc3RyYSBlbCBoYXNoIGkgbCdhc3N1bXB0ZSwgZG9uZXUgZHVlcyB2ZWdhZGVzIHBlciBsYSBicmFuY2EgZm9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU4CiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAib21ldCBlbHMgbWlzc2F0Z2VzIGluZm9ybWF0aXVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NworIzogYnVpbHRpbi9icmFuY2guYzo1NTkKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAiY29uZmlndXJhIGVsIG1vZGUgZGUgc2VndWltZW50ICh2ZWdldSBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ5CisjOiBidWlsdGluL2JyYW5jaC5jOjU2MQogbXNnaWQgImNoYW5nZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJjYW52aWEgbGEgaW5mb3JtYWNpw7MgZGUgZm9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAidXBzdHJlYW0iCiBtc2dzdHIgImZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgImNoYW5nZSB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiY2FudmlhIGxhIGluZm9ybWFjacOzIGRlIGZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NAogbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJEZXNlc3RhYmxlaXggbGEgaW5mb3JtYWNpw7MgZGUgZm9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY1CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJ1c2Egc29ydGlkYSBjb2xvcmFkYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiYWN0dWEgZW4gYnJhbnF1ZXMgYW1iIHNlZ3VpbWVudCByZW1vdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTYgYnVpbHRpbi9icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY4IGJ1aWx0aW4vYnJhbmNoLmM6NTcwCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgYnJhbnF1ZXMgcXVlIGNvbnRpbmd1aW4gbGEgY29taXNzacOzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MAorIzogYnVpbHRpbi9icmFuY2guYzo1NjkgYnVpbHRpbi9icmFuY2guYzo1NzEKK21zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBicmFucXVlcyBxdWUgbm8gY29udGluZ3VpbiBsYSBjb21pc3Npw7MiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc0CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiQWNjaW9ucyBkZSBnaXQtYnJhbmNoIGVzcGVjw61maXF1ZXM6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9icmFuY2guYzo1NzUKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAibGxpc3RhIGxlcyBicmFucXVlcyBhbWIgc2VndWltZW50IHJlbW90IGkgbGVzIGxvY2FscyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc3CiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgInN1cHJpbWVpeCBsYSBicmFuY2Egc2kgZXN0w6AgY29tcGxldGFtZW50IGZ1c2lvbmFkYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc4CiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAic3VwcmltZWl4IGxhIGJyYW5jYSAoZW5jYXJhIHF1ZSBubyBlc3RpZ3VpIGZ1c2lvbmFkYSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjU3OQogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJtb3UvY2FudmlhIGRlIG5vbSB1bmEgYnJhbmNhIGkgZWwgc2V1IHJlZ2lzdHJlIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NgorIzogYnVpbHRpbi9icmFuY2guYzo1ODAKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJtb3UvY2FudmlhIGRlIG5vbSB1bmEgYnJhbmNhLCBlbmNhcmEgcXVlIGVsIGRlc3TDrSBleGlzdGVpeGkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY3CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MQogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJsbGlzdGEgZWxzIG5vbXMgZGUgYnJhbmNhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2OAorIzogYnVpbHRpbi9icmFuY2guYzo1ODIKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAiY3JlYSBlbCByZWdpc3RyZSBkZSByZWZlcsOobmNpYSBkZSBsYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICJlZGl0YSBsYSBkZXNjcmlwY2nDsyBkZSBsYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NQogbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCiBtc2dzdHIgImZvcsOnYSBjcmVhY2nDsywgbW92aW1lbnQvY2FudmkgZGUgbm9tLCBzdXByZXNzacOzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9icmFuY2guYzo1ODYKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgYnJhbnF1ZXMgcXVlIHMnaGFuIGZ1c2lvbmF0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MworIzogYnVpbHRpbi9icmFuY2guYzo1ODcKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGJyYW5xdWVzIHF1ZSBubyBzJ2hhbiBmdXNpb25hdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJsbGlzdGEgbGVzIGJyYW5xdWVzIGVuIGNvbHVtbmVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6MzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4OSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDI3CiBtc2dpZCAia2V5IgogbXNnc3RyICJjbGF1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6MzgyCisjOiBidWlsdGluL2JyYW5jaC5jOjU5MCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQwIGJ1aWx0aW4vdGFnLmM6NDI4CiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgogbXNnc3RyICJub20gZGVsIGNhbXAgZW4gZWwgcXVhbCBvcmRlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3OCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCi0jOiBidWlsdGluL3RhZy5jOjM4NAorIzogYnVpbHRpbi9icmFuY2guYzo1OTIgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDA3CisjOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzAgYnVpbHRpbi9ub3Rlcy5jOjU3MworIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIm9iamVjdGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc5CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgYnJhbnF1ZXMgZGUgbCdvYmplY3RlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2IGJ1aWx0aW4vdGFnLmM6Mzg4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4IGJ1aWx0aW4vdGFnLmM6NDM1CiBtc2dpZCAic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIgogbXNnc3RyICJsJ29yZGVuYWNpw7MgaSBlbCBmaWx0cmF0Z2UgZGlzdGluZ2VpeGVuIGVudHJlIG1hasO6c2N1bGVzIGkgbWluw7pzY3VsZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM0CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCittc2dzdHIgImZvcm1hdCBhIHVzYXIgZW4gbGEgc29ydGlkYSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MTUKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZXNvbGRyZSBIRUFEIGNvbSBhIHJlZmVyw6huY2lhIHbDoGxpZGEuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwMiBidWlsdGluL2Nsb25lLmM6NzA2CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOSBidWlsdGluL2Nsb25lLmM6NzI4CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgbm8gdHJvYmF0IHNvdGEgcmVmcy9oZWFkcyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI0CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gaSAtLXZlcmJvc2Ugc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNSBidWlsdGluL2JyYW5jaC5jOjc4NworIzogYnVpbHRpbi9icmFuY2guYzo2NTMgYnVpbHRpbi9icmFuY2guYzo3MDUKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAiY2FsIGVsIG5vbSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIk5vIGVzIHBvdCBkb25hciBkZXNjcmlwY2nDsyBhIHVuIEhFQUQgc2VwYXJhdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg2CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIm5vIGVzIHBvdCBlZGl0YXIgbGEgZGVzY3JpcGNpw7MgZGUgbcOpcyBkJ3VuYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc1CisjOiBidWlsdGluL2JyYW5jaC5jOjY5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiRW5jYXJhIG5vIGhpIGhhIGNhcCBjb21pc3Npw7MgZW4gbGEgYnJhbmNhICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3OAorIzogYnVpbHRpbi9icmFuY2guYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJObyBoaSBoYSBicmFuY2EgYW1iIG5vbSAnJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAiaGkgaGEgbWFzc2EgYnJhbnF1ZXMgcGVyIGEgdW5hIG9wZXJhY2nDsyBkZSBjYW52aSBkZSBub20iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk4CisjOiBidWlsdGluL2JyYW5jaC5jOjcxNgogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgImhpIGhhIG1hc3NhIGJyYW5xdWVzIHBlciBhIGVzdGFibGlyIHVuYSBub3ZhIGZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIGZvbnQgZGUgSEVBRCBjb20gYSAlcyBxdWFuIG5vIGFzc2VueWFsYSBjYXAgYnJhbmNhLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDUgYnVpbHRpbi9icmFuY2guYzo4MjcgYnVpbHRpbi9icmFuY2guYzo4NDgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzIGJ1aWx0aW4vYnJhbmNoLmM6NzQ1IGJ1aWx0aW4vYnJhbmNoLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgIm5vIGhpIGhhIHRhbCBicmFuY2EgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJsYSBicmFuY2EgJyVzJyBubyBleGlzdGVpeCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM5CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgImhpIGhhIG1hc3NhIGJyYW5xdWVzIHBlciBhIGRlc2VzdGFibGlyIGxhIGZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJubyBzJ2hhIHBvZ3V0IGRlc2VzdGFibGlyIGxhIGZvbnQgZGUgSEVBRCBwZXJxdcOoIG5vIGFzc2VueWFsYSBjYXAgYnJhbmNhLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiTGEgYnJhbmNhICclcycgbm8gdMOpIGluZm9ybWFjacOzIGRlIGZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjc2MwogbXNnaWQgIml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlICdIRUFEJyBtYW51YWxseSIKIG1zZ3N0ciAibm8gdMOpIHNlbnRpdCBjcmVhciAnSEVBRCcgbWFudWFsbWVudCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogImxlcyBvcGNpb25zIC1hIGkgLXIgYSAnZ2l0IGJyYW5jaCcgbm8gdGVuZW4gc2VudGl0IGFtYiB1biBub20gZGUgYnJhbmNhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NAorIzogYnVpbHRpbi9icmFuY2guYzo3NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCkBAIC01NTUzLDcgKzU4MzYsNyBAQAogIkxhIGJhbmRlcmEgLS1zZXQtdXBzdHJlYW0gZXN0w6AgZW4gZGVzw7pzIGkgcydlbGltaW5hcsOgLiBDb25zaWRlcmV1IHVzYXIgLS0iCiAidHJhY2sgbyAtLXNldC11cHN0cmVhbS10b1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg3MQorIzogYnVpbHRpbi9icmFuY2guYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTU2NCwyMCArNTg0NywyMCBAQAogIlNpIHZvbMOtZXUgZmVyICclcycgc2VndWlyICclcycsIGZldSBhaXjDsjpcbiIKICJcbiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo1MQorIzogYnVpbHRpbi9idW5kbGUuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBva2F5XG4iCiBtc2dzdHIgIiVzIGVzdMOgIGLDqVxuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjY0CisjOiBidWlsdGluL2J1bmRsZS5jOjU4CiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKIG1zZ3N0ciAiQ2FsIHVuIGRpcMOyc2l0IHBlciBhIGZlciB1biBmYXJjZWxsLiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2OAorIzogYnVpbHRpbi9idW5kbGUuYzo2MgogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiQ2FsIHVuIGRpcMOyc2l0IHBlciBhIGRlc2ZlciB1biBmYXJjZWxsLiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxOQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC01NTg1LDcgKzU4NjgsNyBAQAogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDx0aXB1cz4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzIFstLXBhdGg9PGNhbcOtPl0pIDxvYmplY3RlPiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUyMAogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCiAiZmlsdGVyc10iCkBAIC01NTkzLDMwNiArNTg3NiwzMDYgQEAKICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCiAiZmlsdGVyc10iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTcKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjx0aXB1cz4gcG90IHNlciB1biBkZTogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICJtb3N0cmEgZWwgdGlwdXMgZGUgbCdvYmplY3RlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU5CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAibW9zdHJhIGxhIG1pZGEgZGUgbCdvYmplY3RlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxCiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJzdXJ0IGFtYiB6ZXJvIHF1YW4gbm8gaGkgaGEgZXJyb3IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiaW1wcmltZWl4IGJlbGxhbWVudCBlbCBjb250aW5ndXQgZGUgbCdvYmplY3RlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY0CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImVuIGVscyBvYmplY3RlcyBkZSBibG9iLCBleGVjdXRhIHRleHRjb252IGVuIGVsIGNvbnRpbmd1dCBkZSBsJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjYKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICIiCiAiZW4gZWxzIG9iamVjdGVzIGRlIGJsb2IsIGV4ZWN1dGEgZWxzIGZpbHRyZXMgZW4gZWwgY29udGluZ3V0IGRlIGwnb2JqZWN0ZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MSBnaXQtc3VibW9kdWxlLnNoOjkyOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NyBnaXQtc3VibW9kdWxlLnNoOjk0NAogbXNnaWQgImJsb2IiCiBtc2dzdHIgImJsb2IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjgKIG1zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKIG1zZ3N0ciAidXNhIHVuIGNhbcOtIGVzcGVjw61maWMgcGVyIGEgLS10ZXh0Y29udi8tLWZpbHRlcnMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgInBlcm1ldCBxdWUgLXMgaSAtdCBmdW5jaW9uaW4gYW1iIG9iamVjdGVzIHRyZW5jYXRzL21hbG1lc29zIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTY1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTcxCiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICJwb3NhIGxhIHNvcnRpZGEgZGUgLS1iYXRjaCBlbiBtZW3DsnJpYSBpbnRlcm3DqGRpYSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogIm1vc3RyYSBsYSBpbmZvcm1hY2nDsyBpIGNvbnRpbmd1dCBkZWxzIG9iamVjdGVzIHJlYnV0cyBkZSBsJ2VudHJhZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NgogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibW9zdHJhIGluZm9ybWFjacOzIHNvYnJlIGVscyBvYmplY3RlcyByZWJ1dHMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzkKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgIiIKICJzZWd1ZWl4IGVscyBlbmxsYcOnb3Mgc2ltYsOybGljcyBlbiBsJ2FyYnJlIChzJ3VzYSBhbWIgLS1iYXRjaCBvIC0tYmF0Y2gtY2hlY2spIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTc1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTgxCiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAibW9zdHJhIHRvdHMgZWxzIG9iamVjdGVzIGFtYiAtLWJhdGNoIG8gLS1iYXRjaC1jaGVjayIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXRyaWJ1dD4uLi5dIFstLV0gPG5vbS1kZS1jYW3DrT4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHJpYnV0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjE5CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMAogbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKIG1zZ3N0ciAiaW5mb3JtYSBkZSB0b3RzIGVscyBhdHJpYnV0cyBlc3RhYmxlcnRzIGVuIGVsIGZpdHhlciIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInVzYSAuZ2l0YXR0cmlidXRlcyBub23DqXMgZGVzIGRlIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjIgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNCBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgbm9tcyBkZSBmaXR4ZXIgZCdzdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjQgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJhY2FiYSBlbHMgcmVnaXN0cmVzIGQnZW50cmFkYSBpIGRlIHNvcnRpZGEgYW1iIHVuIGNhcsOgY3RlciBOVUwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExNDAgYnVpbHRpbi9nYy5jOjMzMgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2djLmM6MzU3CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJvbWV0IGVscyBpbmZvcm1lcyBkZSBwcm9ncsOpcyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICJtb3N0cmEgZWxzIGNhbWlucyBkJ2VudHJhZGEgcXVlIG5vIGNvaW5jaWRlaXhpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMAogbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgogbXNnc3RyICJpZ25vcmEgbCfDrW5kZXggZW4gY29tcHJvdmFyIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTgKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICJubyBlcyBwb3QgZXNwZWNpZmljYXIgbm9tcyBkZSBjYW3DrSBhbWIgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxCiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IG5vbcOpcyB0w6kgc2VudGl0IGFtYiAtLXN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZCIKIG1zZ3N0ciAiY2FwIGNhbcOtIGVzcGVjaWZpY2F0IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjcKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCBub23DqXMgw6lzIHbDoGxpZCBhbWIgdW4gc29sIG5vbSBkZSBjYW3DrSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgIm5vIGVzIHBvdCB0ZW5pciBhbWJkw7NzIC0tcXVpZXQgaSAtLXZlcmJvc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MgogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgIi0tbm9uLW1hdGNoaW5nIMOpcyB2w6BsaWQgbm9tw6lzIGFtYiAtLXZlcmJvc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjgKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjkKIG1zZ2lkICJnaXQgY2hlY2stbWFpbG1hcCBbPG9wdGlvbnM+XSA8Y29udGFjdD4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1tYWlsbWFwIFs8b3BjaW9ucz5dIDxjb250YWN0ZT4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjEzCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxNAogbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJ0YW1iw6kgbGxlZ2VpeCBlbHMgY29udGFjdGVzIGRlcyBkJ3N0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNAorIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbnRhY3Q6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBlbCBjb250YWN0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjQ3CisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0OAogbXNnaWQgIm5vIGNvbnRhY3RzIHNwZWNpZmllZCIKIG1zZ3N0ciAibm8gaGkgaGEgY29udGFjdGVzIGVzcGVjaWZpY2F0cyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyNworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcGNpb25zPl0gWy0tXSBbPGZpdHhlcj4uLi5dIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ1CiBtc2dpZCAic3RhZ2Ugc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMyBvciBhbGwiCiBtc2dzdHIgIsKrc3RhZ2XCuyBoYSBkZSBzZXIgZW50cmUgMSBpIDMgbyBhbGwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKIG1zZ2lkICJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWdhZmEgdG90cyBlbHMgZml0eGVycyBlbiBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBleGlzdGluZyBmaWxlcyIKIG1zZ3N0ciAiZm9yw6dhIGxhIHNvYnJlZXNjcmlwdHVyYSBkZSBmaXR4ZXJzIGV4aXN0ZW50cyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAogbXNnaWQgIm5vIHdhcm5pbmcgZm9yIGV4aXN0aW5nIGZpbGVzIGFuZCBmaWxlcyBub3QgaW4gaW5kZXgiCiBtc2dzdHIgIiIKICJjYXAgYWR2ZXJ0w6huY2lhIHBlciBhIGZpdHhlcnMgZXhpc3RlbnRzIGkgZml0eGVycyBxdWUgbm8gc2lndWluIGEgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjYKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCiBtc2dzdHIgIm5vIGFnYWZpcyBmaXR4ZXJzIG5vdXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjgKIG1zZ2lkICJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAiYWN0dWFsaXR6YSBsYSBpbmZvcm1hY2nDsyBkJ2VzdGFkw61zdGlxdWVzIGVuIGVsIGZpdHhlciBkJ8OtbmRleCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGxlZ2VpeCBsYSBsbGlzdGEgZGUgY2FtaW5zIGRlcyBkZSBsJ2VudHJhZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAiZXNjcml1IGVsIGNvbnRpbmd1dCBhIGZpdHhlcnMgdGVtcG9yYWxzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0IGJ1aWx0aW4vY29sdW1uLmM6MzAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDcxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1IGJ1aWx0aW4vY29sdW1uLmM6MzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDc4CiBtc2dpZCAic3RyaW5nIgogbXNnc3RyICJjYWRlbmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzYKIG1zZ2lkICJ3aGVuIGNyZWF0aW5nIGZpbGVzLCBwcmVwZW5kIDxzdHJpbmc+IgogbXNnc3RyICJlbiBjcmVhciBmaXR4ZXJzLCBhbnRlcG9zYSA8Y2FkZW5hPiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICJjb3BpYSBlbHMgZml0eGVycyBkZXMgZGUgwqtzdGFnZcK7IGFtYiBub20iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIDxicmFuY2g+IgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxvcGNpb25zPl0gPGJyYW5jYT4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjI3CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxvcGNpb25zPl0gWzxicmFuY2E+XSAtLSA8Zml0eGVyPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNCBidWlsdGluL2NoZWNrb3V0LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgImVsIGNhbcOtICclcycgbm8gdMOpIGxhIG5vc3RyYSB2ZXJzacOzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcgYnVpbHRpbi9jaGVja291dC5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICJlbCBjYW3DrSAnJXMnIG5vIHTDqSBsYSBzZXZhIHZlcnNpw7MiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiZWwgY2Ftw60gJyVzJyBubyB0w6kgdG90ZXMgbGVzIHZlcnNpb25zIG5lY2Vzc8OgcmllcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE5NgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgImVsIGNhbcOtICclcycgbm8gdMOpIGxlcyB2ZXJzaW9ucyBuZWNlc3PDoHJpZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgImNhbcOtICclcyc6IG5vIGVzIHBvdCBmdXNpb25hciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhZmVnaXIgZWwgcmVzdWx0YXQgZGUgZnVzacOzIHBlciBhICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAgYnVpbHRpbi9jaGVja291dC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MjU2Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYgYnVpbHRpbi9jaGVja291dC5jOjI1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgIiclcycgbm8gZXMgcG90IHVzYXIgYW1iIGFjdHVhbGl0emFjacOzIGRlIGNhbWlucyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIG5vIGVzIHBvdCB1c2FyIGFtYiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIiIKICJObyBlcyBwb2RlbiBhY3R1YWxpdHphciBlbHMgY2FtaW5zIGkgY2FudmlhciBhIGxhIGJyYW5jYSAnJXMnIGEgbGEgdmVnYWRhLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjMzOSBidWlsdGluL2NoZWNrb3V0LmM6MzQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzQyIGJ1aWx0aW4vY2hlY2tvdXQuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICJlbCBjYW3DrSAnJXMnIGVzdMOgIHNlbnNlIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDk0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDk3CiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgImhldSBkZSBwcmltZXIgcmVzb2xkcmUgZWwgdm9zdHJlIMOtbmRleCBhY3R1YWwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIk5vIGVzIHBvdCBmZXIgcmVmbG9nIHBlciBhICclcyc6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjkKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCBhcmEgw6lzIGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzAgYnVpbHRpbi9jbG9uZS5jOjY2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY3MyBidWlsdGluL2Nsb25lLmM6NjgyCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiUmVzdGFibGVpeCBsYSBicmFuY2EgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJKYSBlbiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlMnaGEgY2FudmlhdCBpIHJlc3RhYmxlcnQgYSBsYSBicmFuY2EgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlMnaGEgY2FudmlhdCBhIGxhIGJyYW5jYSBub3ZhICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY4NQorIzogYnVpbHRpbi9jaGVja291dC5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJTJ2hhIGNhbnZpYXQgYSBsYSBicmFuY2EgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiAuLi4gaSAlZCBtw6lzLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNTkxNSw3ICs2MTk4LDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTU5NDIsMTY0ICs2MjI1LDE2MCBAQAogIiBnaXQgYnJhbmNoIDxub20tZGUtYnJhbmNhLW5vdmE+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDAKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICJlcnJvciBpbnRlcm4gZW4gZWwgcGFzc2VpZyBwZXIgcmV2aXNpb25zIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODA0CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIkxhIHBvc2ljacOzIGRlIEhFQUQgYW50ZXJpb3IgZXJhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODI4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODMyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcwCiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiU291IGVuIHVuYSBicmFuY2EgcXVlIGVuY2FyYSBoYSBkZSBuw6lpeGVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTczCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgogbXNnc3RyICJzJ2VzcGVyYXZhIG5vbcOpcyB1bmEgcmVmZXLDqG5jaWEsIHMnaGFuIGRvbmF0ICVkLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTMgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTYgYnVpbHRpbi93b3JrdHJlZS5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgInJlZmVyw6huY2lhIG5vIHbDoGxpZGE6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJsYSByZWZlcsOobmNpYSBubyDDqXMgdW4gYXJicmU6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODQKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiZWxzIGNhbWlucyBubyBlcyBwb2RlbiB1c2FyIGFtYiBjYW52aSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NyBidWlsdGluL2NoZWNrb3V0LmM6MTA5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICInJXMnIG5vIGVzIHBvdCB1c2FyIGFtYiBjYW52aSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTUgYnVpbHRpbi9jaGVja291dC5jOjEwOTggYnVpbHRpbi9jaGVja291dC5jOjExMDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIG5vIGVzIHBvdCB1c2FyIGFtYiAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIk5vIGVzIHBvdCBjYW52aWFyIGxhIGJyYW5jYSBhIGxhIG5vIGNvbWlzc2nDsyAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MSBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2Nsb25lLmM6OTMKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vY2xvbmUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTY4IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzAKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgImJyYW5jYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgImNyZWEgaSBhZ2FmYSB1bmEgYnJhbmNhIG5vdmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NwogbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCiBtc2dzdHIgImNyZWEvcmVzdGFibGVpeCBpIGFnYWZhIHVuYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OAogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgImNyZWEgdW4gcmVnaXN0cmUgZGUgcmVmZXLDqG5jaWEgcGVyIGEgbGEgYnJhbmNhIG5vdmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5IGJ1aWx0aW4vd29ya3RyZWUuYzozMzIKIG1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgInNlcGFyYSBIRUFEIGEgbGEgY29taXNzacOzIGFub21lbmFkYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUwCiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgImVzdGFibGVpeCBsYSBpbmZvcm1hY2nDsyBkZSBmb250IGRlIGxhIGJyYW5jYSBub3ZhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICJicmFuY2Etbm92YSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJicmFuY2Egw7JyZmVuYSBub3ZhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImFnYWZhIGxhIHZlcnNpw7Mgbm9zdHJhIGRlbHMgZml0eGVycyBzZW5zZSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImFnYWZhIGxhIHZlcnNpw7Mgc2V2YSBkZWxzIGZpdHhlcnMgc2Vuc2UgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NwogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJhZ2FmYSBhIGxhIGZvcsOnYSAoZGVzY2FydGEgcXVhbHNldm9sIG1vZGlmaWNhY2nDsyBsb2NhbCkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICJyZWFsaXR6YSB1bmEgZnVzacOzIGRlIDMgdmllcyBhbWIgbGEgYnJhbmNhIG5vdmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2IGJ1aWx0aW4vbWVyZ2UuYzoyMzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU5IGJ1aWx0aW4vbWVyZ2UuYzoyMzUKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImFjdHVhbGl0emEgZWxzIGZpdHhlcnMgaWdub3JhdHMgKHBlciBkZWZlY3RlKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTcgYnVpbHRpbi9sb2cuYzoxNDY2IHBhcnNlLW9wdGlvbnMuaDoyNTEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwIGJ1aWx0aW4vbG9nLmM6MTQ4MyBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgImVzdGlsIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICJlc3RpbCBkZSBjb25mbGljdGUgKGZ1c2nDsyBvIGRpZmYzKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY0CiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICJubyBsaW1pdGlzIGxlcyBlc3BlY2lmaWNhY2lvbnMgZGUgY2Ftw60gbm9tw6lzIGEgZW50cmFkZXMgZGlzcGVyc2VzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MworIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAiZHVidGEgJ2dpdCBjaGVja291dCA8Y2FwLWJyYW5jYS1haXjDrT4nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjgKIG1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCiBtc2dzdHIgIm5vIGNvbXByb3ZpcyBzaSBhbHRyZSBhcmJyZSBkZSB0cmViYWxsIHTDqSBsYSByZWZlcsOobmNpYSBkb25hZGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY2IGJ1aWx0aW4vY2xvbmUuYzo2MyBidWlsdGluL2ZldGNoLmM6MTE5Ci0jOiBidWlsdGluL21lcmdlLmM6MjMyIGJ1aWx0aW4vcHVsbC5jOjExNyBidWlsdGluL3B1c2guYzo1MzkKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3MiBidWlsdGluL2Nsb25lLmM6ODAgYnVpbHRpbi9mZXRjaC5jOjExNAorIzogYnVpbHRpbi9tZXJnZS5jOjIzMiBidWlsdGluL3B1bGwuYzoxMjAgYnVpbHRpbi9wdXNoLmM6NTQ0CisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MwogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiZm9yw6dhIGwnaW5mb3JtZSBkZSBwcm9ncsOpcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAzCiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgaSAtLW9ycGhhbiBzw7NuIG11dHVhbG1lbnQgZXhjbHVzaXVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMjAKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgbmVjZXNzaXRhIHVuIG5vbSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyNQogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiTWFuY2EgZWwgbm9tIGRlIGJyYW5jYTsgcHJvdmV1IC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjEKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gbm8gdsOgbGlkYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiAjLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKLSJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKK21zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IgogbXNnc3RyICIiCi0iTm8gZXMgcG9kZW4gYWN0dWFsaXR6YXIgZWxzIGNhbWlucyBpIGNhbnZpYXIgYSBsYSBicmFuY2EgJyVzJyBhIGxhIHZlZ2FkYS5cbiIKLSJWb2zDrWV1IGFnYWZhciAnJXMnLCBsYSBxdWFsIG5vIGVzIHBvdCByZXNvbGRyZSBjb20gYSBjb21pc3Npw7M/IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIG5vIGFjY2VwdGEgdW4gcGFyw6BtZXRyZSBkZSBjYW3DrSAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzYKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCkBAIC02MTA3LDM4ICs2Mzg2LDM4IEBACiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgaSAtLW1lcmdlIHPDs24gaW5jb21wYXRpYmxlcyBlblxuIgogImFnYWZhciBkZSBsJ8OtbmRleC4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNQorIzogYnVpbHRpbi9jbGVhbi5jOjI2CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXRyw7M+XSBbLXggfCAtWF0gWy0tXSA8Y2FtaW5zPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5CisjOiBidWlsdGluL2NsZWFuLmM6MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAiUydlc3TDoCBlbGltaW5hbnQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwCisjOiBidWlsdGluL2NsZWFuLmM6MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIkVsaW1pbmFyaWEgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJTJ2VzdMOgIG9tZXRlbnQgZWwgZGlww7JzaXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIk9tZXRyaWEgZWwgZGlww7JzaXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlbGltaW5hciAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyMworIzogYnVpbHRpbi9jbGVhbi5jOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC02MTUxLDcgKzY0MzAsNyBAQAogImZvbyAgICAgICAgLSBzZWxlY2Npb25hIHVuIMOtdGVtIGJhc2F0IGVuIHVuIHByZWZpeCDDum5pY1xuIgogIiAgICAgICAgICAgLSAoYnVpdCkgbm8gc2VsZWNjaW9uaXMgcmVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtNjE3MiwzOCArNjQ1MSwzOCBAQAogIiogICAgICAgICAgLSB0cmlhIHRvdHMgZWxzIMOtdGVtc1xuIgogIiAgICAgICAgICAgLSAoYnVpdCkgZmluYWxpdHphIGxhIHNlbGVjY2nDs1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTExIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk4Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwMworIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU0NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTIKICMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpP1xuIgogbXNnc3RyICJQZXJkw7MgKCVzKT9cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1MworIzogYnVpbHRpbi9jbGVhbi5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIkludHJvZHXDr3UgZWxzIHBhdHJvbnMgYSBpZ25vcmFyPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjkwCisjOiBidWlsdGluL2NsZWFuLmM6Njk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJBRFZFUlTDiE5DSUE6IE5vIGVzIHBvZGVuIHRyb2JhciDDrXRlbXMgcXVlIGNvaW5jaWRlaXhpbiBhbWI6ICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzExCisjOiBidWlsdGluL2NsZWFuLmM6NzE4CiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAiU2VsZWNjaW9uYSBlbHMgw610ZW1zIGEgc3VwcmltaXIiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8ga2VlcCBbeS9OXSBhcyBpcwotIzogYnVpbHRpbi9jbGVhbi5jOjc1MgorIzogYnVpbHRpbi9jbGVhbi5jOjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmUgJXMgW3kvTl0/ICIKIG1zZ3N0ciAiVm9sZXUgZWxpbWluYXIgJXMgW3kvTl0/ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc3NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJ5ZS5cbiIKIG1zZ3N0ciAiQWTDqXUuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTIKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtNjIyMSw2MiArNjUwMCw2MyBAQAogImhlbHAgICAgICAgICAgICAgICAgLSBhcXVlc3RhIHBhbnRhbGxhXG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIGFqdWRhIGRlIHNlbGVjY2nDsyBkZSBsJ2F2w61zIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODEyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NQorIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIqKiogT3JkcmVzICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg5CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIkkgYXJhIHF1w6giCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJFbGltaW5hcmlhIGwnw610ZW0gc2Vnw7xlbnQ6IgogbXNnc3RyWzFdICJFbGltaW5hcmlhIGVscyDDrXRlbXMgc2Vnw7xlbnRzOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgzOAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NAogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICJObyBoaSBoYSBtw6lzIGZpdHhlcnMgYSBuZXRlamFyOyBzJ2VzdMOgIHNvcnRpbnQuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODY5CisjOiBidWlsdGluL2NsZWFuLmM6OTA2CiBtc2dpZCAiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiCiBtc2dzdHIgIm5vIGltcHJpbWVpeGlzIGVscyBub21zIGRlbHMgZml0eGVycyBlbGltaW5hdHMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDgKIG1zZ2lkICJmb3JjZSIKIG1zZ3N0ciAiZm9yw6dhIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcyCisjOiBidWlsdGluL2NsZWFuLmM6OTA5CiBtc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCiBtc2dzdHIgIm5ldGVqYSBpbnRlcmFjdGl2YSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NAorIzogYnVpbHRpbi9jbGVhbi5jOjkxMQogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZWxpbWluYSBkaXJlY3RvcmlzIHNlbmNlcnMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzoxMDU2Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM4IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9jbGVhbi5jOjkxMiBidWlsdGluL2Rlc2NyaWJlLmM6NDUyIGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIgYnVpbHRpbi9scy1maWxlcy5jOjU0NiBidWlsdGluL25hbWUtcmV2LmM6Mzk3CisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk5IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICJwYXRyw7MiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTMKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAiYWZlZ2l1IDxwYXRyw7M+IHBlciBhIGlnbm9yYXIgbGVzIHJlZ2xlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NworIzogYnVpbHRpbi9jbGVhbi5jOjkxNAogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgImVsaW1pbmEgZWxzIGZpdHhlcnMgaWdub3JhdHMsIHRhbWLDqSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3OQorIzogYnVpbHRpbi9jbGVhbi5jOjkxNgogbXNnaWQgInJlbW92ZSBvbmx5IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgImVsaW1pbmEgbm9tw6lzIGVscyBmaXR4ZXJzIGlnbm9yYXRzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODk3CisjOiBidWlsdGluL2NsZWFuLmM6OTM0CiBtc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIteCBpIC1YIG5vIGVzIHBvZGVuIHVzYXIganVudHMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzgKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCiAiY2xlYW4iCkBAIC02Mjg0LDcgKzY1NjQsNyBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBlc3TDoCBlc3RhYmxlcnRhIGEgdmVyaXRhdCBpIG5pIC1pLCAtbiBuaSAtZiBzJ2hhbiAiCiAiaW5kaWNhdDsgcmVmdXNhbnQgbmV0ZWphciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtNjI5MiwxMzMgKzY1NzIsMTQyIEBACiAiY2xlYW4ucmVxdWlyZUZvcmNlIMOpcyBwZXIgZGVmZWN0ZSB2ZXJpdGF0IGkgbmkgLWksIC1uIG5pIC1mIHMnaGFuIGluZGljYXQ7ICIKICJyZWZ1c2FudCBuZXRlamFyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOAogbXNnaWQgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgWzxvcGNpb25zPl0gWy0tXSA8ZGlww7JzaXQ+IFs8ZGlyZWN0b3JpPl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NQorIzogYnVpbHRpbi9jbG9uZS5jOjgyCiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgIm5vIGZhY2lzIGNhcCBhZ2FmYW1lbnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9pbml0LWRiLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY3JlYSB1biBkaXDDsnNpdCBudSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcwCisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiY3JlYSB1biBkaXDDsnNpdCBtaXJhbGwgKGltcGxpY2EgYmFyZSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MgorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgInBlciBhIGNsb25hciBkZXMgZCd1biBkaXDDsnNpdCBsb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAibm8gdXNpcyBlbmxsYcOnb3MgZHVycyBsb2NhbHMsIHNlbXByZSBjb3BpYSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY29uZmlndXJhIGNvbSBhIGRpcMOyc2l0IGNvbXBhcnRpdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc4IGJ1aWx0aW4vY2xvbmUuYzo4MAorIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vY2xvbmUuYzo5OQorbXNnaWQgInBhdGhzcGVjIgorbXNnc3RyICJlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vY2xvbmUuYzo5OQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImluaWNpYWxpdHphIGVscyBzdWJtw7JkdWxzIGVuIGVsIGNsb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjEwMgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHN1Ym3DsmR1bHMgY2xvbmF0cyBlbiBwYXJhbMK3bGVsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6MTAzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAiZGlyZWN0b3JpLWRlLXBsYW50aWxsYSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2luaXQtZGIuYzo0NzcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJkaXJlY3RvcmkgZGVzIGRlbCBxdWFsIHMndXNhcmFuIGxlcyBwbGFudGlsbGVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYgYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgzCiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImRpcMOyc2l0IGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICJ1c2EgLS1yZWZlcmVuY2Ugbm9tw6lzIGVuIGNsb25hciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIm5vbSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyCisjOiBidWlsdGluL2Nsb25lLmM6MTEyCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJ1c2EgPG5vbT4gZW4gbGxvYyBkZSAnb3JpZ2luJyBwZXIgYSBzZWd1aXIgbGEgZm9udCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0CisjOiBidWlsdGluL2Nsb25lLmM6MTE0CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiYWdhZmEgPGJyYW5jYT4gZW4gbGxvYyBkZWwgSEVBRCBkZWwgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNgogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgImNhbcOtIGEgZ2l0LXVwbG9hZC1wYWNrIGVuIGVsIHJlbW90IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL2dyZXAuYzo5OTkgYnVpbHRpbi9wdWxsLmM6MjAyCisjOiBidWlsdGluL2Nsb25lLmM6MTE3IGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9ncmVwLmM6MTAyNQorIzogYnVpbHRpbi9wdWxsLmM6MjA1CiBtc2dpZCAiZGVwdGgiCiBtc2dzdHIgInByb2Z1bmRpdGF0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTgKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgImNyZWEgdW4gY2xvbiBzdXBlcmZpY2lhbCBkZSB0YWwgcHJvZnVuZGl0YXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OSBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNgorIzogYnVpbHRpbi9jbG9uZS5jOjExOSBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzMgogIzogcGFyc2Utb3B0aW9ucy5oOjE0MgogbXNnaWQgInRpbWUiCiBtc2dzdHIgImhvcmEiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKIG1zZ3N0ciAiY3JlYSB1biBjbG9uIHN1cGVyZmljaWFsIGRlcyBkJ3VuYSBob3JhIGVzcGVjw61maWNhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vZmV0Y2guYzoxMjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjExOQogbXNnaWQgInJldmlzaW9uIgogbXNnc3RyICJyZXZpc2nDsyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMiBidWlsdGluL2ZldGNoLmM6MTI1CisjOiBidWlsdGluL2Nsb25lLmM6MTIyIGJ1aWx0aW4vZmV0Y2guYzoxMjAKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lLCBleGNsdWRpbmcgcmV2IgogbXNnc3RyICJhcHJvZnVuZGVpeCBsYSBoaXN0w7JyaWEgZCd1biBjbG9uIHN1cGVyZmljaWFsLCBleGNsb2VudCB1bmEgcmV2aXNpw7MiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgImNsb25hIG5vbcOpcyB1bmEgYnJhbmNhLCBIRUFEIG8gLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKK21zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyOAogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgInF1YWxzZXZvbCBzdWJtw7JkdWwgY2xvbmF0IHNlcsOgIHN1cGVyZmljaWFsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAorIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgImRpcmVjdG9yaSBkZSBnaXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInNlcGFyYSBlbCBkaXJlY3RvcmkgZGUgZ2l0IGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOQorIzogYnVpbHRpbi9jbG9uZS5jOjEzMQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAiY2xhdT12YWxvciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZXN0YWJsZWl4IGxhIGNvbmZpZ3VyYWNpw7MgZGlucyBkZWwgZGlww7JzaXQgbm91IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTUwCisjOiBidWlsdGluL2Nsb25lLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdXNoLmM6NTU1CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgInVzYSBub23DqXMgYWRyZWNlcyBJUHY0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTUyCisjOiBidWlsdGluL2Nsb25lLmM6MTM1IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdXNoLmM6NTU3CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgInVzYSBub23DqXMgYWRyZWNlcyBJUHY2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjUwCisjOiBidWlsdGluL2Nsb25lLmM6MjcyCiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTY0MjYsNDIgKzY3MTUsNDIgQEAKICJObyBzJ2hhIHBvZ3V0IGVuZGV2aW5hciBjYXAgbm9tIGRlIGRpcmVjdG9yaS5cbiIKICJTaSB1cyBwbGF1LCBlc3BlY2lmaXF1ZXUgdW4gZGlyZWN0b3JpIGVuIGxhIGzDrW5pYSBkJ29yZHJlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwMworIzogYnVpbHRpbi9jbG9uZS5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiaW5mbzogTm8gcydoYSBwb2d1dCBhZmVnaXIgdW4gYWx0ZXJuYXRpdSBwZXIgYSAnJXMnOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzc1CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZXhpc3RlaXggaSBubyDDqXMgZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk3CisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZmVyIHN0YXQgYSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY3JlYXIgbCdlbmxsYcOnICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MjMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNvcGlhciBlbCBmaXR4ZXIgYSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ4CisjOiBidWlsdGluL2Nsb25lLmM6NDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImZldC5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ2MAorIzogYnVpbHRpbi9jbG9uZS5jOjQ4MgogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCkBAIC02NDcyLDEwMiArNjc2MSwxMDEgQEAKICInZ2l0IHN0YXR1cycgaSB0b3JuYXIgYSBpbnRlbnRhciBsJ2FnYWZhbWVudCBhbWJcbiIKICInZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1MzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIGJyYW5jYSByZW1vdGEgJXMgcGVyIGEgY2xvbmFyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYzMgorIzogYnVpbHRpbi9jbG9uZS5jOjY1NAogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJlbCByZW1vdCBubyBoYSBlbnZpYXQgdG90cyBlbHMgb2JqZWN0ZXMgbmVjZXNzYXJpcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0OAorIzogYnVpbHRpbi9jbG9uZS5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Njk3CisjOiBidWlsdGluL2Nsb25lLmM6NzE5CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAiZWwgSEVBRCByZW1vdCBlcyByZWZlcmVpeCBhIHVuYSByZWZlcsOobmNpYSBxdWUgbm8gZXhpc3RlaXg7IG5vIHMnaGEgcG9ndXQgIgogImFnYWZhci5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyOAorIzogYnVpbHRpbi9jbG9uZS5jOjc1MAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWdhZmFyIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2OAorIzogYnVpbHRpbi9jbG9uZS5jOjc5MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVscyBwYXLDoG1ldHJlcyBhbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMQorIzogYnVpbHRpbi9jbG9uZS5jOjg1NQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgIm5vIGVzIHBvdCByZWVtcGFxdWV0YXIgcGVyIGEgbmV0ZWphciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMworIzogYnVpbHRpbi9jbG9uZS5jOjg1NwogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAibm8gZXMgcG90IGRlc2VubGxhw6dhciBlbCBmaXR4ZXIgZCdhbHRlcm5hdGl2ZXMgdGVtcG9yYWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjYgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk1CisjOiBidWlsdGluL2Nsb25lLmM6ODkwIGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIkhpIGhhIG1hc3NhIHBhcsOgbWV0cmVzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3MAorIzogYnVpbHRpbi9jbG9uZS5jOjg5NAogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiSGV1IGQnZXNwZWNpZmljYXIgdW4gZGlww7JzaXQgcGVyIGEgY2xvbmFyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4MworIzogYnVpbHRpbi9jbG9uZS5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgImxlcyBvcGNpb25zIC0tYmFyZSBpIC0tb3JpZ2luICVzIHPDs24gaW5jb21wYXRpYmxlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MTAKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIGkgLS1zZXBhcmF0ZS1naXQtZGlyIHPDs24gaW5jb21wYXRpYmxlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJlbCBkaXDDsnNpdCAnJXMnIG5vIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTA1IGJ1aWx0aW4vZmV0Y2guYzoxMzM1CisjOiBidWlsdGluL2Nsb25lLmM6OTI5IGJ1aWx0aW4vZmV0Y2guYzoxMzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAibGEgcHJvZnVuZGl0YXQgJXMgbm8gw6lzIG5vbWJyZSBwb3NpdGl1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTE1CisjOiBidWlsdGluL2Nsb25lLmM6OTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgImVsIGNhbcOtIGRlc3TDrSAnJXMnIGphIGV4aXN0ZWl4IGkgbm8gw6lzIHVuIGRpcmVjdG9yaSBidWl0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyNQorIzogYnVpbHRpbi9jbG9uZS5jOjk0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImwnYXJicmUgZGUgdHJlYmFsbCAnJXMnIGphIGV4aXN0ZWl4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vZGlmZnRvb2wuYzoyNTIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTkgYnVpbHRpbi93b3JrdHJlZS5jOjIyMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI0OQorIzogYnVpbHRpbi9jbG9uZS5jOjk2NCBidWlsdGluL2Nsb25lLmM6OTc1IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNjAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAibm8gcydoYW4gcG9ndXQgY3JlYXIgZWxzIGRpcmVjdG9yaXMgaW5pY2lhbHMgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MworIzogYnVpbHRpbi9jbG9uZS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBlbCBkaXJlY3RvcmkgZCdhcmJyZSBkZSB0cmViYWxsICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIlMnZXN0w6AgY2xvbmFudCBhbCBkaXDDsnNpdCBudSAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiUydlc3TDoCBjbG9uYW50IGEgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYzCisjOiBidWlsdGluL2Nsb25lLmM6MTAwNQogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgpAQCAtNjU3NSw4MyArNjg2Myw4MyBAQAogImNsb25lIC0tcmVjdXJzaXZlIG5vIMOpcyBjb21wYXRpYmxlIGFtYiBhbWJkw7NzIC0tcmVmZXJlbmNlIGkgLS1yZWZlcmVuY2UtaWYtIgogImFibGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CisjOiBidWlsdGluL2Nsb25lLmM6MTA2NwogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLWRlcHRoIHMnaWdub3JhIGVuIGVscyBjbG9ucyBsb2NhbHM7IHVzZXUgZmlsZTovLyBlbiBsbG9jIGQnYWl4w7IuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjkKIG1zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1zaGFsbG93LXNpbmNlIHMnaWdub3JhIGVuIGVscyBjbG9ucyBsb2NhbHM7IHVzZXUgZmlsZTovLyBlbiBsbG9jIGQnYWl4w7IuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyMworIzogYnVpbHRpbi9jbG9uZS5jOjEwNzEKIG1zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLXNoYWxsb3ctZXhjbHVkZSBzJ2lnbm9yYSBlbiBlbHMgY2xvbnMgbG9jYWxzOyB1c2V1IGZpbGU6Ly8gZW4gbGxvYyBkJ2FpeMOyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDc0CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAiZWwgZGlww7JzaXQgZm9udCDDqXMgc3VwZXJmaWNpYWwsIHMnZXN0w6AgaWdub3JhbnQgLS1sb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDc5CiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIHMnaWdub3JhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgIk5vIHNlIHNhcCBjb20gY2xvbmFyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5MCBidWlsdGluL2Nsb25lLmM6MTA5OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMzggYnVpbHRpbi9jbG9uZS5jOjExNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIkxhIGJyYW5jYSByZW1vdGEgJXMgbm8gZXMgdHJvYmEgZW4gbGEgZm9udCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQ5CiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiU2VtYmxhIHF1ZSBoZXUgY2xvbmF0IHVuIGRpcMOyc2l0IGJ1aXQuIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjkKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MTAKIG1zZ2lkICJnaXQgY29sdW1uIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29sdW1uIFs8b3BjaW9ucz5dIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI2CisjOiBidWlsdGluL2NvbHVtbi5jOjI3CiBtc2dpZCAibG9va3VwIGNvbmZpZyB2YXJzIgogbXNnc3RyICJjZXJjYSBsZXMgdmFyaWFibGVzIGRlIGNvbmZpZ3VyYWNpw7MiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9jb2x1bW4uYzoyOAorIzogYnVpbHRpbi9jb2x1bW4uYzoyOCBidWlsdGluL2NvbHVtbi5jOjI5CiBtc2dpZCAibGF5b3V0IHRvIHVzZSIKIG1zZ3N0ciAiZGlzcG9zaWNpw7MgYSB1c2FyIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI5CisjOiBidWlsdGluL2NvbHVtbi5jOjMwCiBtc2dpZCAiTWF4aW11bSB3aWR0aCIKIG1zZ3N0ciAiQW1wbGFkYSBtw6B4aW1hIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMwCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKIG1zZ3N0ciAiRXNwYWkgZCdlbmNvaXhpbmFkYSBlbiBlbCBtYXJnZSBlc3F1ZXJyZSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9jb2x1bW4uYzozMgogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gcmlnaHQgYm9yZGVyIgogbXNnc3RyICJFc3BhaSBkJ2VuY29peGluYWRhIGVuIGVsIG1hcmdlIGRyZXQiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzMKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIGJldHdlZW4gY29sdW1ucyIKIG1zZ3N0ciAiRXNwYWkgZCdlbmNvaXhpbmFkYSBlbnRyZSBjb2x1bW5lcyIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzo1MQorIzogYnVpbHRpbi9jb2x1bW4uYzo1MgogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiLS1jb21tYW5kIGhhIGRlIHNlciBlbCBwcmltZXIgcGFyw6BtZXRyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOAorIzogYnVpbHRpbi9jb21taXQuYzozOQogbXNnaWQgImdpdCBjb21taXQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgY29tbWl0IFs8b3BjaW9ucz5dIFstLV0gPGVzcGVjaWZpY2FjacOzLWRlLWNhbcOtPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MworIzogYnVpbHRpbi9jb21taXQuYzo0NAogbXNnaWQgImdpdCBzdGF0dXMgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgc3RhdHVzIFs8b3BjaW9ucz5dIFstLV0gPGVzcGVjaWZpY2FjacOzLWRlLWNhbcOtPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0OAorIzogYnVpbHRpbi9jb21taXQuYzo0OQogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC02Njc4LDcgKzY5NjYsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MQorIzogYnVpbHRpbi9jb21taXQuYzo2MgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC02NzA0LDcgKzY5OTIsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MworIzogYnVpbHRpbi9jb21taXQuYzo3NAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgpAQCAtNjcxNCw3ICs3MDAyLDcgQEAKICJkZWl4YXJpYSBidWlkYS4gUG9kZXUgcmVwZXRpciBsYSB2b3N0cmEgb3JkcmUgYW1iIC0tYWxsb3ctZW1wdHksIG9cbiIKICJwb2RldSBlbGltaW5hciBsYSBjb21pc3Npw7MgcGVyIGNvbXBsZXQgYW1iIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzkKIG1zZ2lkICIiCiAiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCiAiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgpAQCAtNjcyOSwxMSArNzAxNywxMSBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NQorIzogYnVpbHRpbi9jb21taXQuYzo4NgogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICJEJ2FsdHJhIG1hbmVyYSwgc2kgdXMgcGxhdSwgdXNldSAnZ2l0IHJlc2V0J1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4CisjOiBidWlsdGluL2NvbW1pdC5jOjg5CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTY3NDksNjYgKzcwMzcsNjEgQEAKICJMbGF2b3JzIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiByZXByZW5kcsOgXG4iCiAiY29tIGEgwqtjaGVycnkgcGlja8K7IGxlcyBjb21pc3Npb25zIHJlc3RhbnRzLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMxOAorIzogYnVpbHRpbi9jb21taXQuYzozMTkKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZGVzZW1wYXF1ZXRhciBsJ29iamVjdGUgZCdhcmJyZSBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1OQorIzogYnVpbHRpbi9jb21taXQuYzozNjAKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciB1biDDrW5kZXggdGVtcG9yYWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NgogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgImwnYWZlZ2ltZW50IGludGVyYWN0aXUgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3OAorIzogYnVpbHRpbi9jb21taXQuYzozNzkKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhY3R1YWxpdHphciBsJ8OtbmRleCB0ZW1wb3JhbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgxCiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYWN0dWFsaXR6YXIgbCdhcmJyZSBwcmluY2lwYWwgZGUgbWVtw7JyaWEgY2F1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgorIzogYnVpbHRpbi9jb21taXQuYzo0MDUgYnVpbHRpbi9jb21taXQuYzo0MjggYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgZml0eGVyIG5ld19pbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU5CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIHVuYSBjb21pc3Npw7MgcGFyY2lhbCBkdXJhbnQgdW5hIGZ1c2nDsy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciB1bmEgY29taXNzacOzIHBhcmNpYWwgZHVyYW50IHVuIMKrY2hlcnJ5IHBpY2vCuy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CisjOiBidWlsdGluL2NvbW1pdC5jOjQ3MAogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDg5CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIHVuIGZpdHhlciBkJ8OtbmRleCB0ZW1wb3JhbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGxhY2tzIGF1dGhvciBoZWFkZXIiCiBtc2dzdHIgImEgbGEgY29taXNzacOzICclcycgbGkgbWFuY2EgbGEgY2Fww6dhbGVyYSBkJ2F1dG9yIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4NAorIzogYnVpbHRpbi9jb21taXQuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgaGFzIG1hbGZvcm1lZCBhdXRob3IgbGluZSIKIG1zZ3N0ciAibGEgY29taXNzacOzICclcycgdMOpIHVuYSBsw61uaWEgZCdhdXRvciBtYWwgZm9ybWFkYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAicGFyw6BtZXRyZSAtLWF1dGhvciBtYWwgZm9ybWF0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxMQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKLW1zZ3N0ciAiZm9ybWF0IGRlIGRhdGEgbm8gdsOgbGlkOiAlcyIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU2CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCkBAIC02ODE2LDM4ICs3MDk5LDM4IEBACiAibm8gZXMgcG90IHNlbGVjY2lvbmFyIHVuIGNhcsOgY3RlciBkZSBjb21lbnRhcmkgcXVlXG4iCiAibm8gc2lndWkgdXNhdCBlbiBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgYWN0dWFsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5MiBidWlsdGluL2NvbW1pdC5jOjcyNSBidWlsdGluL2NvbW1pdC5jOjEwOTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjkzIGJ1aWx0aW4vY29tbWl0LmM6NzI2IGJ1aWx0aW4vY29tbWl0LmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgY29taXNzacOzICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNCBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNSBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIihzJ2VzdMOgIGxsZWdpbnQgZWwgbWlzc2F0Z2UgZGUgcmVnaXN0cmUgZGVzIGRlIGwnZW50cmFkYSBlc3TDoG5kYXJkKVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNgorIzogYnVpbHRpbi9jb21taXQuYzo3MDcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgcmVnaXN0cmUgZGVzIGRlIGwnZW50cmFkYSBlc3TDoG5kYXJkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxMAorIzogYnVpbHRpbi9jb21taXQuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgZml0eGVyIGRlIHJlZ2lzdHJlICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM3IGJ1aWx0aW4vY29tbWl0LmM6NzQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjczOCBidWlsdGluL2NvbW1pdC5jOjc0NgogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgTUVSR0VfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc5NgorIzogYnVpbHRpbi9jb21taXQuYzo3OTcKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBsYW50aWxsYSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE0CisjOiBidWlsdGluL2NvbW1pdC5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02ODYyLDcgKzcxNDUsNyBAQAogIlx0JXNcbiIKICJpIGludGVudGV1LWhvIGRlIG5vdS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY4NzcsNyArNzE2MCw3IEBACiAiXHQlc1xuIgogImkgaW50ZW50ZXUtaG8gZGUgbm91LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzMgorIzogYnVpbHRpbi9jb21taXQuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTY4ODcsNyArNzE3MCw3IEBACiAiUydpZ25vcmFyYW4gbGVzIGzDrW5pZXMgY29tZW7Dp2FudCBhbWIgJyVjJywgaSB1biBtaXNzYXRnZSBkZVxuIgogImNvbWlzc2nDsyBidWl0IGF2b3J0YSBsYSBjb21pc3Npw7MuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM5CisjOiBidWlsdGluL2NvbW1pdC5jOjg0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNjg5OCwxNTAgKzcxODEsMTQ5IEBACiAiRXMgcmV0aW5kcmFuIGxlcyBsw61uaWVzIGNvbWVuw6dhbnRzIGFtYiAnJWMnOyBwb2RldSBlbGltaW5hci1sZXMgdm9zYWx0cmVzXG4iCiAibWF0ZWl4b3Mgc2kgdm9sZXUuIFVuIG1pc3NhdGdlIGJ1aXQgYXZvcnRhIGxhIGNvbWlzc2nDsy5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXNBdXRvcjogICAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY3CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVzRGF0YTogICAgICAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQ29tbWl0dGVyOiAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXNDb21pdGVudDogJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODkyCisjOiBidWlsdGluL2NvbW1pdC5jOjg4OQogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICJObyBlcyBwb3QgbGxlZ2lyIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NAorIzogYnVpbHRpbi9jb21taXQuYzo5NTEKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRXJyb3IgZW4gY29uc3RydWlyIGFyYnJlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NjggYnVpbHRpbi90YWcuYzoyODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTY1IGJ1aWx0aW4vdGFnLmM6Mjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAiU2kgdXMgcGxhdSwgcHJvdmXDr3UgZWwgbWlzc2F0Z2UgdXNhbnQgbCdvcGNpw7MgLW0gbyBsJ29wY2nDsyAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAiLS1hdXRob3IgJyVzJyBubyDDqXMgJ05vbSA8YWRyZcOnYS1kZS1jb3JyZXUtZWxlY3Ryw7JuaWM+JyBpIG5vIGNvaW5jaWRlaXggYW1iXG4iCiAiY2FwIGF1dG9yIGV4aXN0ZW50IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMgYnVpbHRpbi9jb21taXQuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiTW9kZSBkZSBmaXR4ZXJzIG5vIHNlZ3VpdHMgbm8gdsOgbGlkICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTIxCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcgaSAteiBzw7NuIGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTUxCiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiVXNhciBhbWJkw7NzIC0tcmVzZXQtYXV0aG9yIGkgLS1hdXRob3Igbm8gdMOpIHNlbnRpdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjAKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiTm8gdGVuaXUgcmVzIGEgZXNtZW5hci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiRXN0ZXUgZW5taWcgZCd1bmEgZnVzacOzIC0tIG5vIGVzIHBvdCBlc21lbmFyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjUKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJFc3RldSBlbm1pZyBkJ3VuIMKrY2hlcnJ5IHBpY2vCuyAtLSBubyBlcyBwb3QgZXNtZW5hci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiTGVzIG9wY2lvbnMgLS1zcXVhc2ggaSAtLWZpeHVwIG5vIGVzIHBvZGVuIHVzYXIganVudGVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgogbXNnc3RyICJOb23DqXMgdW4gZGUgLWMvLUMvLUYvLS1maXh1cCBlcyBwb3QgdXNhci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MworIzogYnVpbHRpbi9jb21taXQuYzoxMTgwCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICJMJ29wY2nDsyAtbSBubyBlcyBwb3QgY29tYmluYXIgYW1iIC1jLy1DLy1GLy0tZml4dXAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExOTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4OAogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIG5vbcOpcyBlcyBwb3QgdXNhciBhbWIgLUMsIC1jIG8gLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjA1CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICJOb23DqXMgdW4gZGUgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggZXMgcG90IHVzYXIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNwogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiLS1pbmNsdWRlLy0tb25seSBubyB0w6kgc2VudGl0IHNlbnNlIGNhbcOtLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjEyCi1tc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKLW1zZ3N0ciAiIgotIlMnaGFuIGVzcGVjaWZpY2F0IGNhbWlucyBleHBsw61jaXRzIHNlbnNlIC1pIG8gLW87IHMnZXN0w6AgcHJlc3VtaW50IC0tb25seSAiCi0iY2FtaW5zLi4uIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjQgYnVpbHRpbi90YWcuYzo0OTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxOSBidWlsdGluL3RhZy5jOjU1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKIG1zZ3N0ciAiTW9kZSBkZSBuZXRlamEgbm8gdsOgbGlkICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNAogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIi1hIG5vIHTDqSBzZW50aXQgYW1iIGNhbWlucy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOSBidWlsdGluL2NvbW1pdC5jOjE2MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MiBidWlsdGluL2NvbW1pdC5jOjE2MTcKIG1zZ2lkICJzaG93IHN0YXR1cyBjb25jaXNlbHkiCiBtc2dzdHIgIm1vc3RyYSBsJ2VzdGF0IGNvbmNpc2FtZW50IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDQgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIm1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2CisjLCBmdXp6eQorbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCittc2dzdHIgIm1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBicmFuY2EiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OAogbXNnaWQgInZlcnNpb24iCiBtc2dzdHIgInZlcnNpw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTYgYnVpbHRpbi9wdXNoLmM6NTI1Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0OQogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJzb3J0aWRhIGxsZWdpYmxlIHBlciBtw6BxdWluYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2IGJ1aWx0aW4vY29tbWl0LmM6MTYxOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAibW9zdHJhIGwnZXN0YXQgZW4gZm9ybWF0IGxsYXJnIChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OSBidWlsdGluL2NvbW1pdC5jOjE2MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAiYWNhYmEgbGVzIGVudHJhZGVzIGFtYiBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NCBidWlsdGluL3RhZy5jOjM2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU2IGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg2IGJ1aWx0aW4vdGFnLmM6NDEyCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAibW9kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIGJ1aWx0aW4vY29tbWl0LmM6MTYyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3IGJ1aWx0aW4vY29tbWl0LmM6MTYyOQogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogIm1vc3RyYSBlbHMgZml0eGVycyBubyBzZWd1aXRzLCBtb2RlcyBvcGNpb25hbHM6IGFsbCwgbm9ybWFsLCBuby4gKFBlciAiCiAiZGVmZWN0ZTogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIm1vc3RyYSBlbHMgZml0eGVycyBpZ25vcmF0cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU2IHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MSBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAicXVhbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjIKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC03MDQ5LDIwMiArNzMzMSwyMDIgQEAKICJpZ25vcmEgZWxzIGNhbnZpcyBhbHMgc3VibcOyZHVscywgb3BjaW9uYWwgcXVhbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAoUGVyICIKICJkZWZlY3RlOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NAogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgIm1vc3RyYSBlbHMgZml0eGVycyBubyBzZWd1aXRzIGVuIGNvbHVtbmVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MAogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIGNvbWlzc2nDsyBub3ZhbWVudCBjcmVhZGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7Mgbm92YW1lbnQgY3JlYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIkhFQUQgc2VwYXJhdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChjb21pc3Npw7MgZCdhcnJlbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAib21ldCBlbCByZXN1bSBkZXNwcsOpcyBkJ3VuYSBjb21pc3Npw7MgcmVlaXhpZGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MworIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJtb3N0cmEgbGEgZGlmZXLDqG5jaWEgZW4gbGEgcGxhbnRpbGxhIGRlIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg1CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJPcGNpb25zIGRlIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg2IGJ1aWx0aW4vdGFnLmM6MzY2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzo0MTAKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICJsbGVnaXUgZWwgbWlzc2F0Z2UgZGVzIGQndW4gZml0eGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiYXV0b3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NworIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgImF1dG9yIGNvcnJlZ2l0IGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4IGJ1aWx0aW4vZ2MuYzozMzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBidWlsdGluL2djLmM6MzU4CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0YSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgImRhdGEgY29ycmVnaWRhIGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg5IGJ1aWx0aW4vbWVyZ2UuYzoyMjIgYnVpbHRpbi9ub3Rlcy5jOjM5OAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3RhZy5jOjM2NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0IGJ1aWx0aW4vbWVyZ2UuYzoyMjIgYnVpbHRpbi9ub3Rlcy5jOjQwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3RhZy5jOjQwOAogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIm1pc3NhdGdlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAogbXNnaWQgImNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MCBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi9jb21taXQuYzoxNTkyCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6ODEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzcKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAicmV1c2EgaSBlZGl0YSBlbCBtaXNzYXRnZSBkZSBsYSBjb21pc3Npw7MgZXNwZWNpZmljYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJyZXVzYSBlbCBtaXNzYXRnZSBkZSBsYSBjb21pc3Npw7MgZXNwZWNpZmljYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJ1c2EgZWwgbWlzc2F0Z2UgZm9ybWF0YXQgZGUgwqtzcXVhc2jCuyBhdXRvbcOgdGljIHBlciBhIGNvcnJlZ2lyIGxhIGNvbWlzc2nDsyAiCiAiZXNwZWNpZmljYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAidXNhIGVsIG1pc3NhdGdlIGZvcm1hdGF0IGRlIMKrc3F1YXNowrsgYXV0b23DoHRpYyBwZXIgYSDCq3NxdWFzaMK7IGEgbGEgY29taXNzacOzICIKICJlc3BlY2lmaWNhZGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAibCdhdXRvciBkZSBsYSBjb21pc3Npw7MgamEgc8OzYyBqbyAocyd1c2EgYW1iIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi9sb2cuYzoxNDEzIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2xvZy5jOjE0MzAgYnVpbHRpbi9yZXZlcnQuYzoxMDUKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgImFmZWdlaXggU2lnbmVkLW9mZi1ieToiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJ1c2EgZWwgZml0eGVyIGRlIHBsYW50aWxsYSBlc3BlY2lmaWNhdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiZm9yw6dhIGwnZWRpY2nDsyBkZSBsYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCiBtc2dpZCAiZGVmYXVsdCIKIG1zZ3N0ciAicGVyIGRlZmVjdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL3RhZy5jOjM2OQorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6NDEzCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAiY29tIHN1cHJpbWlyIGVscyBlc3BhaXMgaSAjY29tZW50YXJpcyBkZWwgbWlzc2F0Z2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImluY2xvdSBsJ2VzdGF0IGVuIGxhIHBsYW50aWxsYSBkZSBtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMSBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE2NgotIzogYnVpbHRpbi9yZXZlcnQuYzo5MworIzogYnVpbHRpbi9jb21taXQuYzoxNjA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL3JldmVydC5jOjExMwogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAic2lnbmEgbGEgY29taXNzacOzIGFtYiBHUEciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjA5CiBtc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbnMgZGVscyBjb250aW5ndXRzIGRlIGxlcyBjb21pc3Npb25zIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiY29tZXQgdG90cyBlbHMgZml0eGVycyBjYW52aWF0cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKIG1zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCiBtc2dzdHIgImFmZWdlaXggZWxzIGZpdHhlcnMgZXNwZWNpZmljYXRzIGEgbCfDrW5kZXggcGVyIGEgY29tZXRyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBmaWxlcyIKIG1zZ3N0ciAiYWZlZ2VpeCBlbHMgZml0eGVycyBpbnRlcmFjdGl2YW1lbnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiYWZlZ2VpeCBlbHMgY2FudmlzIGludGVyYWN0aXZhbWVudCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgImNvbWV0IG5vbcOpcyBlbHMgZml0eGVycyBlc3BlY2lmaWNhdHMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE1CiBtc2dpZCAiYnlwYXNzIHByZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCiBtc2dzdHIgImV2aXRhIGVscyBnYW54b3MgZGUgcHJlY29taXNzacOzIGkgbWlzc2F0Z2UgZGUgY29taXNzacOzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgIm1vc3RyYSBxdcOoIGVzIGNvbWV0cmlhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiZXNtZW5hIGxhIGNvbWlzc2nDsyBhbnRlcmlvciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjIzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjgKIG1zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCiBtc2dzdHIgImV2aXRhIGVsIGdhbnhvIGRlIHBvc3QgZXNjcmlwdHVyYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzMKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICJlc3TDoCBiw6kgcmVnaXN0cmFyIHVuIGNhbnZpIGJ1aXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjM1CiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiZXN0w6AgYsOpIHJlZ2lzdHJhciB1biBjYW52aSBhbWIgbWlzc2F0Z2UgYnVpdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjU5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjUKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJGaXR4ZXIgTUVSR0VfSEVBRCBtYWxtw6hzICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNzE3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7M6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIlMnZXN0w6AgYXZvcnRhbnQgbGEgY29taXNzacOzOyBubyBoZXUgZWRpdGF0IGVsIG1pc3NhdGdlLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJTJ2VzdMOgIGF2b3J0YW50IGxhIGNvbWlzc2nDsyBhIGNhdXNhIGQndW4gbWlzc2F0Z2UgZGUgY29taXNzacOzIGJ1aXQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc5NworIzogYnVpbHRpbi9jb21taXQuYzoxODAwCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCkBAIC03MjU1LDEzNiArNzUzNywxMzYgQEAKICJxdWUgbGEgcXVvdGEgbm8gZXN0aWd1aSBleGNlZGlkYSwgaSBkZXNwcsOpc1xuIgogIlwiZ2l0IHJlc2V0IEhFQURcIiBwZXIgYSByZWN1cGVyYXIuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTAKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29uZmlnIFs8b3BjaW9ucz5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU1CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIlViaWNhY2nDsyBkZWwgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgogbXNnc3RyICJ1c2EgZWwgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MgZ2xvYmFsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAidXNhIGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzIGRlbCBzaXN0ZW1hIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgInVzYSBlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyBkZWwgZGlww7JzaXQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgInVzYSBlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyBkb25hdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgIklEIGRlIGJsb2IiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICJsbGVnZWl4IGxhIGNvbmZpZ3VyYWNpw7MgZGUgbCdvYmplY3RlIGRlIGJsb2IgZG9uYXQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgIkFjY2nDsyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2NAogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJvYnTDqW4gdmFsb3I6IG5vbSBbcmVnZXgtZGUtdmFsb3JzXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MworIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAib2J0w6luIHRvdHMgZWxzIHZhbG9yczogY2xhdSBbcmVnZXgtZGUtdmFsb3JzXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2NgogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJvYnTDqW4gdmFsb3JzIGRlIHJlZ2V4cDogcmVnZXgtZGUtbm9tcyBbcmVnZXgtZGUtdmFsb3JzXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCiBtc2dzdHIgIm9idMOpbiBlbCB2YWxvciBlc3BlY8OtZmljIHBlciBhIGwnVVJMOiBzZWNjacOzWy52YXJpYWJsZV0gVVJMIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY2CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgIiIKICJyZWVtcGxhw6dhIHRvdGVzIGxlcyB2YXJpYWJsZXMgcXVlIGNvaW5jaWRlaXhlbjogbm9tIHZhbG9yIFtyZWdleF9kZV92YWxvcnNdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3CisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICJhZmVnZWl4IHVuYSB2YXJpYWJsZSBub3ZhOiBub20gdmFsb3IiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJlbGltaW5hIHVuYSB2YXJpYWJsZTogbm9tIFtyZWdleC1kZS12YWxvcnNdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjcxCiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImVsaW1pbmEgdG90ZXMgbGVzIGNvaW5jaWTDqG5jaWVzOiBub20gW3JlZ2V4LWRlLXZhbG9yc10iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgImNhbnZpYSBlbCBub20gZGUgc2VjY2nDszogbm9tLWFudGljIG5vbS1ub3UiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJlbGltaW5hIHVuYSBzZWNjacOzOiBub20iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAibGxpc3RhIHRvdHMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJvcGVuIGFuIGVkaXRvciIKIG1zZ3N0ciAib2JyZSB1biBlZGl0b3IiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBzbG90IFtkZWZhdWx0XSIKIG1zZ3N0ciAidHJvYmEgZWwgY29sb3IgY29uZmlndXJhdDogcmFudXJhIFtwZXIgZGVmZWN0ZV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAidHJvYmEgbCdhanVzdCBkZSBjb2xvcjogcmFudXJhIFtzdGRvdXQtw6lzLXR0eV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJUeXBlIgogbXNnc3RyICJUaXB1cyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAiZWwgdmFsb3Igw6lzIFwidHJ1ZVwiIG8gXCJmYWxzZVwiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc4CisjOiBidWlsdGluL2NvbmZpZy5jOjgwCiBtc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCiBtc2dzdHIgImVsIHZhbG9yIMOpcyB1biBub21icmUgZGVjaW1hbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OQorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAiZWwgdmFsb3Igw6lzIC0tYm9vbCBvIC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgwCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAiZWwgdmFsb3Igw6lzIHVuIGNhbcOtIChub20gZGUgZml0eGVyIG8gZGlyZWN0b3JpKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MQorIzogYnVpbHRpbi9jb25maWcuYzo4MwogbXNnaWQgIk90aGVyIgogbXNnc3RyICJBbHRyZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MgorIzogYnVpbHRpbi9jb25maWcuYzo4NAogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiYWNhYmEgZWxzIHZhbG9ycyBhbWIgdW4gb2N0ZXQgTlVMIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgzCisjOiBidWlsdGluL2NvbmZpZy5jOjg1CiBtc2dpZCAic2hvdyB2YXJpYWJsZSBuYW1lcyBvbmx5IgogbXNnc3RyICJtb3N0cmEgbm9tw6lzIGVscyBub21zIGRlIHZhcmlhYmxlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0CisjOiBidWlsdGluL2NvbmZpZy5jOjg2CiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICJyZXNwZWN0YSBsZXMgZGlyZWN0aXZlcyBkJ2luY2x1c2nDsyBlbiBjZXJjYXIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODcKIG1zZ2lkICJzaG93IG9yaWdpbiBvZiBjb25maWcgKGZpbGUsIHN0YW5kYXJkIGlucHV0LCBibG9iLCBjb21tYW5kIGxpbmUpIgogbXNnc3RyICIiCiAibW9zdHJhIGwnb3JpZ2VuIGRlIGxhIGNvbmZpZ3VyYWNpw7MgKGZpdHhlciwgZW50cmFkYSBlc3TDoG5kYXJkLCBibG9iLCBsw61uaWEgIgpAQCAtNzQwOSwxMiArNzY5MSwxNyBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk5CisjLCBmdXp6eQorbXNnaWQgIi0tbG9jYWwgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1jYWNoZWQgZm9yYSBkJ3VuIGRpcMOyc2l0IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IGNyZWFyIGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzICclcyciCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjOiBidWlsdGluL2NvbmZpZy5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgpAQCAtNzQyMyw2MyArNzcxMCw3NSBAQAogIm5vIGVzIHBvdCBzb2JyZWVzY3JpdXJlIG3Dumx0aXBsZXMgdmFsb3JzIGFtYiB1biBzb2wgdmFsb3JcbiIKICIgICAgICAgVXNldSB1bmEgZXhwcmVzc2nDsyByZWd1bGFyLCAtLWFkZCBvIC0tcmVwbGFjZS1hbGwgcGVyIGEgY2FudmlhciAlcy4iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NwogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiBtc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NwogbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKIG1zZ3N0ciAiaW1wcmltZWl4IGxlcyBtaWRlcyBlbiB1biBmb3JtYXQgbGxlZ2libGUgcGVscyBodW1hbnMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjE5CiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIFs8Y29tbWl0LWlzaD4uLi5dIgogbXNnc3RyICJnaXQgZGVzY3JpYmUgWzxvcGNpb25zPl0gWzxjb21pc3Npw7M+Li4uXSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjE4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjAKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gLS1kaXJ0eSIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs8b3BjaW9ucz5dIC0tZGlydHkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImhlYWQiCittc2dzdHIgImRhdmFudCBwZXIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImxpZ2h0d2VpZ2h0IgorbXNnc3RyICJsbGV1Z2VyIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJhbm5vdGF0ZWQiCittc2dzdHIgImFub3RhdCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImwnZXRpcXVldGEgYW5vdGFkYSAlcyBubyDDqXMgZGlzcG9uaWJsZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIyMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgogbXNnc3RyICJsJ2V0aXF1ZXRhIGFub3RhZGEgJXMgbm8gdMOpIG5vbSBpbmNydXN0YXQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKIG1zZ3N0ciAibCdldGlxdWV0YSAnJXMnIHJlYWxtZW50IMOpcyAnJXMnIGFxdcOtIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg2IGJ1aWx0aW4vbG9nLmM6NDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICIlcyBubyDDqXMgdW4gbm9tIGQnb2JqZWN0ZSB2w6BsaWQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiVzIG5vIMOpcyB1biBvYmplY3RlIGRlICclcycgdsOgbGlkIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAiY2FwIGV0aXF1ZXRhIGNvaW5jaWRlaXggZXhhY3RhbWVudCBhbWIgJyVzJyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzZWFyY2hpbmcgdG8gZGVzY3JpYmUgJXNcbiIKIG1zZ3N0ciAicydlc3TDoCBjZXJjYW50IHBlciBhIGRlc2NyaXVyZSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzE5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICJzJ2hhIGZpbmFsaXR6YXQgbGEgY2VyY2EgYSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzQ2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyBhbm5vdGF0ZWQgdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTc0ODgsNyArNzc4Nyw3IEBACiAiQ2FwIGV0aXF1ZXRhIGFub3RhZGEgcG90IGRlc2NyaXVyZSAnJXMnLlxuIgogIk5vIG9ic3RhbnQsIGhpIGhhdmlhIGV0aXF1ZXRlcyBubyBhbm90YWRlczogcHJvdmV1IC0tdGFncy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC03NDk3LDEyICs3Nzk2LDEyIEBACiAiQ2FwIGV0aXF1ZXRhIHBvdCBkZXNjcml1cmUgJyVzJy5cbiIKICJQcm92ZXUgLS1hbHdheXMsIG8gY3JlZXUgYWxndW5lcyBldGlxdWV0ZXMuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzcxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICIlbHUgY29taXNzaW9ucyB0cmF2ZXNzYWRlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCkBAIC03NTExLDQwNyArNzgxMCw0MzYgQEAKICJzJ2hhbiB0cm9iYXQgbcOpcyBkZSAlaSBldGlxdWV0ZXM6IHMnaGFuIGxsaXN0YXQgbGVzICVpIG3DqXMgcmVjZW50c1xuIgogInMnaGEgcmVudW5jaWF0IGxhIGNlcmNhIGEgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgInRyb2JhIGwnZXRpcXVldGEgcXVlIHZpbmd1aSBkZXNwcsOpcyBkZSBsYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDIKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICJlc3RyYXTDqGdpYSBkZSBjZXJjYSBkZSBkZXB1cmFjacOzIGVuIHN0ZGVyciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MwogbXNnaWQgInVzZSBhbnkgcmVmIgogbXNnc3RyICJ1c2EgcXVhbHNldm9sIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgInVzYSBxdWFsc2V2b2wgZXRpcXVldGEsIGZpbnMgaSB0b3QgYXF1ZWxsZXMgc2Vuc2UgYW5vdGFyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDAwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ1CiBtc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKIG1zZ3N0ciAic2VtcHJlIHVzYSBlbCBmb3JtYXQgbGxhcmciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDYKIG1zZ2lkICJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiCiBtc2dzdHIgIm5vbcOpcyBzZWd1ZWl4IGxhIHByaW1lcmEgbWFyZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0OQogbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCiBtc2dzdHIgImVtZXQgbm9tw6lzIGNvaW5jaWTDqG5jaWVzIGV4YWN0ZXMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTEKIG1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgogbXNnc3RyICJjb25zaWRlcmEgbGVzIDxuPiBldGlxdWV0ZXMgbcOpcyByZWNlbnRzIChwZXIgZGVmZWN0ZTogMTApIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDUzCiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibm9tw6lzIGNvbnNpZGVyYSBsZXMgZXRpcXVldGVzIHF1ZSBjb2luY2lkZWl4ZW4gYW1iIDxwYXRyw7M+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTUKK21zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIm5vIGNvbnNpZGVyaXMgbGVzIGV0aXF1ZXRlcyBxdWUgbm8gY29pbmNpZGVpeGVuIGFtYiA8cGF0csOzPiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NyBidWlsdGluL25hbWUtcmV2LmM6NDA2CiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICJtb3N0cmEgbCdvYmplY3RlIGRlIGNvbWlzc2nDsyBhYnJldmlhdCBjb20gYSBzaXN0ZW1hIGFsdGVybmF0aXUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTggYnVpbHRpbi9kZXNjcmliZS5jOjQ2MQogbXNnaWQgIm1hcmsiCiBtc2dzdHIgIm1hcmNhIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU5CiBtc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgogbXNnc3RyICJhbm5leGEgPG1hcmNhPiBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgYnJ1dCAocGVyIGRlZmVjdGU6IFwiLWRpcnR5XCIpIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDMwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDYyCittc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBicm9rZW4gd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1icm9rZW5cIikiCittc2dzdHIgImFubmV4YSA8bWFyY2E+IGVuIGwnYXJicmUgZGUgdHJlYmFsbCBicnV0IChwZXIgZGVmZWN0ZTogXCItYnJva2VuXCIpIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDgwCiBtc2dpZCAiLS1sb25nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWJicmV2PTAiCiBtc2dzdHIgIi0tbG9uZyDDqXMgaW5jb21wYXRpYmxlIGFtYiAtLWFiYnJldj0wIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CiBtc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCiBtc2dzdHIgIk5vIHMnaGEgdHJvYmF0IGNhcCBub20sIG5vIGVzIHBvdCBkZXNjcml1cmUgcmVzLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ3NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MgogbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICItLWRpcnR5IMOpcyBpbmNvbXBhdGlibGUgYW1iIGxlcyBjb21pc3Npb25zIgogCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU0Cittc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICItLWJyb2tlbiDDqXMgaW5jb21wYXRpYmxlIGFtYiBsZXMgY29taXNzaW9ucyIKKwogIzogYnVpbHRpbi9kaWZmLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCiBtc2dzdHIgIiclcyc6IG5vIMOpcyBuaSBmaXR4ZXIgcmVndWxhciBuaSBlbmxsYcOnIHNpbWLDsmxpYyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjM0CisjOiBidWlsdGluL2RpZmYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICJvcGNpw7Mgbm8gdsOgbGlkYTogJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM1OAorIzogYnVpbHRpbi9kaWZmLmM6MzU5CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIk5vIMOpcyB1biBkaXDDsnNpdCBkZSBnaXQiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwMQorIzogYnVpbHRpbi9kaWZmLmM6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJzJ2hhIGRvbmF0IHVuIG9iamVjdGUgbm8gdsOgbGlkICclcycuIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTAKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICJzJ2hhIGRvbmF0IG3DqXMgZGUgZG9zIGJsb2JzOiAnJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxNworIzogYnVpbHRpbi9kaWZmLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgInMnaGEgZG9uYXQgbCdvYmplY3RlIG5vIGdlc3Rpb25hdCAnJXMnLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjkKIG1zZ2lkICJnaXQgZGlmZnRvb2wgWzxvcHRpb25zPl0gWzxjb21taXQ+IFs8Y29tbWl0Pl1dIFstLV0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBkaWZmdG9vbCBbPG9wY2lvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPGNhbcOtPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNDEKLSMsICBjLWZvcm1hdAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0OQorIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQ6ICVkIgogbXNnc3RyICJoYSBmYWxsYXQ6ICVkIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MzQyCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIHN5bWxpbmsgJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGwnZW5sbGHDpyBzaW1iw7JsaWMgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZCdlbmxsYcOnIHNpbWLDsmxpYyAlcyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMgZm9yIHN5bWxpbmsgJXMiCittc2dzdHIgIk5vIGVzIHBvdCBsbGVnaXIgbCdvYmplY3RlICVzIHBlciBsJ2VubGxhw6cgc2ltYsOybGljICVzIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NDAzCiBtc2dpZCAiIgogImNvbWJpbmVkIGRpZmYgZm9ybWF0cygnLWMnIGFuZCAnLS1jYycpIGFyZSBub3Qgc3VwcG9ydGVkIGluXG4iCiAiZGlyZWN0b3J5IGRpZmYgbW9kZSgnLWQnIGFuZCAnLS1kaXItZGlmZicpLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTY3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgogbXNnc3RyICJzJ2hhbiBtb2RpZmljYXQgYW1iZMOzcyBmaXR4ZXJzOiAnJXMnIGkgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NjkKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKIG1zZ2lkICJ3b3JraW5nIHRyZWUgZmlsZSBoYXMgYmVlbiBsZWZ0LiIKIG1zZ3N0ciAicydoYSBkZWl4YXQgdW4gZml0eGVyIGRlIGwnYXJicmUgZGUgdHJlYmFsbC4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1ODAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgogbXNnc3RyICJleGlzdGVpeCB1biBmaXR4ZXIgdGVtcG9yYWwgYSAlcycuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgxCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCiBtc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCi1tc2dzdHIgInBvZGV1IHZvbGV1IG5ldGVqYXIgbyByZWN1cGVyYXItbG9zLiIKK21zZ3N0ciAicG9kZXUgbmV0ZWphciBvIHJlY3VwZXJhci1sb3MuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjI2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njg5CiBtc2dpZCAidXNlIGBkaWZmLmd1aXRvb2xgIGluc3RlYWQgb2YgYGRpZmYudG9vbGAiCiBtc2dzdHIgInV0aWxpdHphIGBkaWZmLmd1aXRvb2xgIGVuIGNvbXB0ZXMgZGUgYGRpZmYudG9vbGAiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTEKIG1zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKIG1zZ3N0ciAiZmVzIHVuIGRpZmYgZGUgdG90IGVsIGRpcmVjdG9yaSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzMAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5MwogbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKIG1zZ3N0ciAibm8gcHJlZ3VudGlzIGFiYW5zIGQnZXhlY3V0YXIgbCdlaW5hIGRpZmYiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAidXRpbGl0emEgZW5sbGHDp29zIHNpbWLDsmxpY3MgZW4gbW9kZSBkaXItZGlmZiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMAogbXNnaWQgIjx0b29sPiIKIG1zZ3N0ciAiPHRvb2w+IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAxCiBtc2dpZCAidXNlIHRoZSBzcGVjaWZpZWQgZGlmZiB0b29sIgogbXNnc3RyICJ1dGlsaXR6YSBsJ2VpbmEgZGUgZGlmZiBlc3BlY2lmaWNhZGEiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDMKIG1zZ2lkICJwcmludCBhIGxpc3Qgb2YgZGlmZiB0b29scyB0aGF0IG1heSBiZSB1c2VkIHdpdGggYC0tdG9vbGAiCiBtc2dzdHIgIiIKLSJpbXByaW1laXggdW5hIGxsaXN0YSBkZSB0b3RlcyBsZXMgZWluZXMgZGlmZiBxdWUgZXMgcG9kZXUgdXNhciBhbWIgYC0tdG9vbGAiCisiaW1wcmltZWl4IHVuYSBsbGlzdGEgZGUgdG90ZXMgbGVzIGVpbmVzIGRpZmYgcXVlIHBvZGV1IHVzYXIgYW1iIGAtLXRvb2xgIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQzCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CiBtc2dpZCAiIgogIm1ha2UgJ2dpdC1kaWZmdG9vbCcgZXhpdCB3aGVuIGFuIGludm9rZWQgZGlmZiB0b29sIHJldHVybnMgYSBub24gLSB6ZXJvIGV4aXQgIgogImNvZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOAogbXNnaWQgIjxjb21tYW5kPiIKIG1zZ3N0ciAiPGNvbW1hbmQ+IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5CiBtc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgogbXNnc3RyICJlc3BlY2lmaXF1ZXUgdW5hIG9yZHJlIHBlcnNvbmFsaXR6YWRhIHBlciB2ZXVyZSBkaWZmcyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY3MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjczMwogbXNnaWQgIm5vIDx0b29sPiBnaXZlbiBmb3IgLS10b29sPTx0b29sPiIKIG1zZ3N0ciAibm8gcydoYSBwcm9wb3JjaW9uYXQgPHRvb2w+IHBlciAtLXRvb2w9PHRvb2w+IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njc3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQwCiBtc2dpZCAibm8gPGNtZD4gZ2l2ZW4gZm9yIC0tZXh0Y21kPTxjbWQ+IgogbXNnc3RyICJubyBzJ2hhIHByb3BvcmNpb25hdCA8Y21kPiBwZXIgLS1leHRjbWQ9PGNtZD4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyNQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI2CiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtvcGNpb25zLWRlLWxsaXN0YS1kZS1yZXZpc2lvbnNdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKIG1zZ3N0ciAibW9zdHJhIGVsIHByb2dyw6lzIGRlc3Byw6lzIGRlIDxuPiBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAic2VsZWNjaW9uYSBsYSBnZXN0acOzIGRlIGxlcyBldGlxdWV0ZXMgc2lnbmFkZXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICJzZWxlY2Npb25hIGxhIGdlc3Rpw7MgZGUgbGVzIGV0aXF1ZXRlcyBxdWUgZXRpcXVldGluIG9iamVjdGVzIGZpbHRyYXRzIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkwCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIkJvbGNhIGxlcyBtYXJxdWVzIGEgYXF1ZXN0IGZpdHhlciIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgogbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKIG1zZ3N0ciAiSW1wb3J0YSBsZXMgbWFycXVlcyBkJ2FxdWVzdCBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTQKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiRmluZ2VpeCB1biBldGlxdWV0YWRvciBxdWFuIGVscyBlbiBtYW5jYSB1biBhIGxlcyBldGlxdWV0ZXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAiSW1wcmltZWl4IGwnYXJicmUgY29tcGxldCBkZSBjYWRhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5OAogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICJVc2EgbGEgY2FyYWN0ZXLDrXN0aWNhIGRvbmUgcGVyIGEgYWNhYmFyIGVsIGNvcnJlbnQiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTcKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTkKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIk9tZXQgbCdlbWlzc2nDsyBkZSBkYWRlcyBkZSBibG9iIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMAogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgImVzcGVjaWZpY2FjacOzIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMQogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiQXBsaWNhIGwnZXNwZWNpZmljYWNpw7MgZGUgcmVmZXLDqG5jaWEgYSBsZXMgcmVmZXLDqG5jaWVzIGV4cG9ydGFkZXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMgogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgImFub25pbWl0emEgbGEgc29ydGlkYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIxCisjOiBidWlsdGluL2ZldGNoLmM6MjIKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBmZXRjaCBbPG9wY2lvbnM+XSBbPGRpcMOyc2l0PiBbPGVzcGVjaWZpY2FjacOzLWRlLXJlZmVyw6huY2lhPi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzxvcGNpb25zPl0gPGdydXA+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyNAogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wY2lvbnM+XSBbKDxkaXDDsnNpdD4gfCA8Z3J1cD4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI0CisjOiBidWlsdGluL2ZldGNoLmM6MjUKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPG9wY2lvbnM+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE3NQorIzogYnVpbHRpbi9mZXRjaC5jOjkwIGJ1aWx0aW4vcHVsbC5jOjE4MgogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgIm9idMOpbiBkZSB0b3RzIGVscyByZW1vdHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL3B1bGwuYzoxNzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL3B1bGwuYzoxODUKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgImFubmV4YSBhIC5naXQvRkVUQ0hfSEVBRCBlbiBsbG9jIGRlIHNvYnJlZXNjcml1cmUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgImNhbcOtIGFsIHF1YWwgcHVqYXIgZWwgcGFxdWV0IGFsIGNvc3RhdCByZW1vdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMCBidWlsdGluL3B1bGwuYzoxODMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxOTAKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICJmb3LDp2EgbGEgc29icmVlc2NyaXB0dXJhIGRlIGxhIGJyYW5jYSBsb2NhbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMgorIzogYnVpbHRpbi9mZXRjaC5jOjk3CiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICJvYnTDqW4gZGUgbcO6bHRpcGxlcyByZW1vdHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQgYnVpbHRpbi9wdWxsLmM6MTg1CisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAib2J0w6luIHRvdGVzIGxlcyBldGlxdWV0ZXMgaSB0b3RzIGVscyBvYmplY3RlcyBhc3NvY2lhdHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgIm5vIG9idGluZ3VpcyBsZXMgZXRpcXVldGVzICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4CisjOiBidWlsdGluL2ZldGNoLmM6MTAzCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHN1Ym3DsmR1bHMgb2J0aW5ndXRzIGVuIHBhcmFswrdsZWwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAgYnVpbHRpbi9wdWxsLmM6MTg4CisjOiBidWlsdGluL2ZldGNoLmM6MTA1IGJ1aWx0aW4vcHVsbC5jOjE5NQogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICJwb2RhIGxlcyBicmFucXVlcyBhbWIgc2VndWltZW50IHJlbW90IHF1ZSBqYSBubyBlc3RpZ3VpbiBlbiBlbCByZW1vdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMSBidWlsdGluL3B1bGwuYzoxOTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYgYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoxMjMKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgInNvdGEgZGVtYW5kYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL3B1bGwuYzoxOTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250cm9sYSBsJ29idGVuY2nDsyByZWN1cnNpdmEgZGUgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNiBidWlsdGluL3B1bGwuYzoyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgInJldMOpbiBlbCBwYXF1ZXQgYmFpeGF0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4CisjOiBidWlsdGluL2ZldGNoLmM6MTEzCiBtc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCiBtc2dzdHIgInBlcm1ldCBsJ2FjdHVhbGl0emFjacOzIGRlIGxhIHJlZmVyw6huY2lhIEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJhcHJvZnVuZGVpeCBsYSBoaXN0w7JyaWEgZCd1biBjbG9uIHN1cGVyZmljaWFsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTE4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCiBtc2dzdHIgImFwcm9mdW5kZWl4IGxhIGhpc3TDsnJpYSBkJ3VuIGNsb24gc3VwZXJmaWNpYWwgYmFzYXQgZW4gdGVtcHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MjA2CisjOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwOQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJjb252ZXJ0ZWl4IGVuIHVuIGRpcMOyc2l0IGNvbXBsZXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2ZldGNoLmM6MTI2IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgImRpciIKIG1zZ3N0ciAiZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTI3CiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAiYW50ZXBvc2EgYWl4w7IgYSBsYSBzb3J0aWRhIGRlIGNhbcOtIGRlbCBzdWJtw7JkdWwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUKLW1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKLW1zZ3N0ciAibW9kZSBkZSByZWN1cnNpdml0YXQgcGVyIGRlZmVjdGUiCisjOiBidWlsdGluL2ZldGNoLmM6MTMwCittc2dpZCAiIgorImRlZmF1bHQgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIChsb3dlciBwcmlvcml0eSB0aGFuIGNvbmZpZyAiCisiZmlsZXMpIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdWxsLmM6MjA5CisjOiBidWlsdGluL2ZldGNoLmM6MTM0IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAiYWNjZXB0YSBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBhY3R1YWxpdHppbiAuZ2l0L3NoYWxsb3ciCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCisjOiBidWlsdGluL2ZldGNoLmM6MTM1IGJ1aWx0aW4vcHVsbC5jOjIxNAogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAibWFwYSBkZSByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjEyCisjOiBidWlsdGluL2ZldGNoLmM6MTM2IGJ1aWx0aW4vcHVsbC5jOjIxNQogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICJtb3N0cmEgZWwgbWFwYSBkZSByZWZlcsOobmNpZXMgZCdvYnRlbmNpw7MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozOTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTQKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgcmVmZXLDqG5jaWEgSEVBRCByZW1vdGEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIKIG1zZ3N0ciAibGEgY29uZmlndXJhY2nDsyBmZXRjaC5vdXRwdXQgY29udMOpIHVuIHZhbG9yIG5vIHbDoGxpZCAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwNAorIzogYnVpbHRpbi9mZXRjaC5jOjYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICJvYmplY3RlICVzIG5vIHRyb2JhdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOAorIzogYnVpbHRpbi9mZXRjaC5jOjYwOQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW2FsIGRpYV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MjEgYnVpbHRpbi9mZXRjaC5jOjcwMQorIzogYnVpbHRpbi9mZXRjaC5jOjYyMiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW3JlYnV0amF0XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyMgorIzogYnVpbHRpbi9mZXRjaC5jOjYyMwogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJubyBlcyBwb3Qgb2J0ZW5pciBlbiBsYSBicmFuY2EgYWN0dWFsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjMxCisjOiBidWlsdGluL2ZldGNoLmM6NjMyCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbYWN0dWFsaXR6YWNpw7MgZCdldGlxdWV0YV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIgYnVpbHRpbi9mZXRjaC5jOjY2NSBidWlsdGluL2ZldGNoLmM6NjgxCi0jOiBidWlsdGluL2ZldGNoLmM6Njk2CisjOiBidWlsdGluL2ZldGNoLmM6NjMzIGJ1aWx0aW4vZmV0Y2guYzo2NjYgYnVpbHRpbi9mZXRjaC5jOjY4MgorIzogYnVpbHRpbi9mZXRjaC5jOjY5NwogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGxhIHJlZmVyw6huY2lhIGxvY2FsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjUxCisjOiBidWlsdGluL2ZldGNoLmM6NjUyCiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJbZXRpcXVldGEgbm92YV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTUKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCiBtc2dzdHIgIlticmFuY2Egbm92YV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTgKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIltyZWZlcsOobmNpYSBub3ZhXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY5NgorIzogYnVpbHRpbi9mZXRjaC5jOjY5NwogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgImFjdHVhbGl0emFjacOzIGZvcsOnYWRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAic2Vuc2UgYXZhbsOnIHLDoHBpZCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc0NgorIzogYnVpbHRpbi9mZXRjaC5jOjc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIG5vIGhhIGVudmlhdCB0b3RzIGVscyBvYmplY3RlcyBuZWNlc3NhcmlzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKIG1zZ3N0ciAiIgogInJlYnV0amEgJXMgcGVycXXDqCBubyBlcyBwZXJtZXQgcXVlIGxlcyBhcnJlbHMgc3VwZXJmaWNpYWxzIHMnYWN0dWFsaXR6aW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMgYnVpbHRpbi9mZXRjaC5jOjk0OQorIzogYnVpbHRpbi9mZXRjaC5jOjg1NSBidWlsdGluL2ZldGNoLmM6OTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJEZSAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTc5MjEsNTUgKzgyNDksNTUgQEAKICIgaW50ZW50ZXUgZXhlY3V0YXIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHBlciBhIGVsaW1pbmFyXG4iCiAiIHF1YWxzZXZvbCBicmFuY2EgYW50aWdhIG8gY29uZmxpY3RpdmEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGVzIHRvcm5hcsOgIHBlbmphbnQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIHMnaGEgdG9ybmF0IHBlbmphbnQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTUyCisjOiBidWlsdGluL2ZldGNoLmM6OTU0CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJbc3VwcmltaXRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTUzIGJ1aWx0aW4vcmVtb3RlLmM6MTAyMAorIzogYnVpbHRpbi9mZXRjaC5jOjk1NSBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihjYXApIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTc2CisjOiBidWlsdGluL2ZldGNoLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiUydlc3TDoCByZWZ1c2FudCBvYnRlbmlyIGVuIGxhIGJyYW5jYSBhY3R1YWwgJXMgZCd1biBkaXDDsnNpdCBubyBudSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5NQorIzogYnVpbHRpbi9mZXRjaC5jOjk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICJMJ29wY2nDsyBcIiVzXCIgYW1iIHZhbG9yIFwiJXNcIiBubyDDqXMgdsOgbGlkYSBwZXIgYSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5OAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJTJ2lnbm9yYSBsJ29wY2nDsyBcIiVzXCIgcGVyIGEgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIk5vIHNlIHNhcCBjb20gb2J0ZW5pciBkZSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIlMnZXN0w6Agb2J0ZW5pbnQgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzYgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzggYnVpbHRpbi9yZW1vdGUuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU2CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCkBAIC03OTc3LDEyNyArODMwNSwxMjcgQEAKICJDYXAgZGlww7JzaXQgcmVtb3QgZXNwZWNpZmljYXQuIFNpIHVzIHBsYXUsIGVzcGVjaWZpcXVldSB1biBVUkwgb1xuIgogInVuIG5vbSByZW1vdCBkZWwgcXVhbCBlcyBkZXVlbiBvYnRlbmlyIGxlcyByZXZpc2lvbnMgbm92ZXMuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI3NworIzogYnVpbHRpbi9mZXRjaC5jOjEyNzkKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJOZWNlc3NpdGV1IGVzcGVjaWZpY2FyIHVuIG5vbSBkJ2V0aXF1ZXRhLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCiBtc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiTm8gcydhZG1ldCB1bmEgcHJvZnVuZGl0YXQgbmVnYXRpdmEgZW4gLS1kZWVwZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCisjOiBidWlsdGluL2ZldGNoLmM6MTMyMwogbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tZGVlcGVuIGkgLS1kZXB0aCBzw7NuIG11dHVhbG1lbnQgZXhjbHVzaXVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyNgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjgKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiLS1kZXB0aCBpIC0tdW5zaGFsbG93IG5vIGVzIHBvZGVuIHVzYXIganVudHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI4CisjOiBidWlsdGluL2ZldGNoLmM6MTMzMAogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXVuc2hhbGxvdyBlbiB1biBkaXDDsnNpdCBjb21wbGV0IG5vIHTDqSBzZW50aXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUwCisjOiBidWlsdGluL2ZldGNoLmM6MTM0OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCBubyBhY2NlcHRhIHVuIHBhcsOgbWV0cmUgZGUgZGlww7JzaXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUyCisjOiBidWlsdGluL2ZldGNoLmM6MTM1MQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwgbm8gdMOpIHNlbnRpdCBhbWIgZXNwZWNpZmljYWNpb25zIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM2MworIzogYnVpbHRpbi9mZXRjaC5jOjEzNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiTm8gaGkgaGEgdGFsIHJlbW90IG5pIHRhbCBncnVwIHJlbW90OiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJPYnRlbmlyIHVuIGdydXAgaSBlc3BlY2lmaWNhciByZWZlcsOobmNpZXMgbm8gdMOpIHNlbnRpdCIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTQKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjE1CiBtc2dpZCAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaWxlPl0iCiBtc2dzdHIgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1pc3NhdGdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpdHhlcj5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NAogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAiZW1wbGVuYSBlbCByZWdpc3RyZSBhbWIgPG4+IGVudHJhZGVzIGRlbCByZWdpc3RyZSBjdXJ0IGNvbSBhIG3DoHhpbSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjcKIG1zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgogbXNnc3RyICLDoGxpZXMgcGVyIC0tbG9nIChlbiBkZXPDunMpIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAogbXNnaWQgInRleHQiCiBtc2dzdHIgInRleHQiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICJ1c2EgPHRleHQ+IGNvbSBhIGluaWNpIGRlIG1pc3NhdGdlIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJmaXR4ZXIgZGVsIHF1YWwgbGxlZ2lyIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFs8b3B0aW9ucz5dIFs8cGF0dGVybj5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFs8b3BjaW9ucz5dIFs8cGF0csOzPl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTEKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50cy1hdCA8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDxvYmplY3RlPl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTEKLW1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxvYmplY3Q+XV0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPG9iamVjdGU+XV0iCi0KICM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTIKLW1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zIFs8b2JqZWN0Pl1dIgotbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zIFs8b2JqZWN0ZT5dXSIKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPGNvbWlzc2nDsz5dXSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyNworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMworbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxjb21taXQ+XV0gWy0tbm8tY29udGFpbnMgWzxjb21taXQ+XV0iCittc2dzdHIgIiIKKyJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zICBbPGNvbWlzc2nDsz5dXSBbLS1uby1jb250YWlucyBbPGNvbWlzc2nDsz5dXSIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyOAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3Igc2hlbGxzIgogbXNnc3RyICIiCi0icG9zYSBlbHMgbWFyY2Fkb3JzIGRlIHBvc2ljacOzIGVudHJlIGNvbWV0ZXMgZGUgZm9ybWEgYWRlcXVhZGEgcGVyIGEgIgotImludMOocnByZXRzIGQnb3JkcmVzIgorInBvc2EgZWxzIG1hcmNhZG9ycyBkZSBwb3NpY2nDsyBkZSBmb3JtYSBhZGVxdWFkYSBwZXIgYSBpbnTDqHJwcmV0cyBkJ29yZHJlcyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyOQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcGVybCIKIG1zZ3N0ciAicG9zYSBlbHMgbWFyY2Fkb3JzIGRlIHBvc2ljacOzIGVudHJlIGNvbWV0ZXMgYWRlcXVhZGVzIHBlciBhbCBwZXJsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMxCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMyCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iCiBtc2dzdHIgInBvc2EgZWxzIG1hcmNhZG9ycyBkZSBwb3NpY2nDsyBlbnRyZSBjb21ldGVzIGFkZXF1YWRlcyBwZXIgYWwgcHl0aG9uIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBUY2wiCiBtc2dzdHIgInBvc2EgZWxzIG1hcmNhZG9ycyBkZSBwb3NpY2nDsyBlbnRyZSBjb21ldGVzIGFkZXF1YWRlcyBwZXIgYWwgVGNsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3CiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIm1vc3RyYSBub23DqXMgPG4+IHJlZmVyw6huY2llcyBjb2luY2lkZW50cyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3RhZy5jOjM4NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAotbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCi1tc2dzdHIgImZvcm1hdCBhIHVzYXIgZW4gbGEgc29ydGlkYSIKLQotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBhc3NlbnlhbGluIGwnb2JqZWN0ZSBkb25hdCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIHJlZmVyw6huY2llcyBxdWUgcydoYW4gZnVzaW9uYXQiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBubyBzJ2hhbiBmdXNpb25hdCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIHJlZmVyw6huY2llcyBxdWUgY29udGluZ3VpbiBsYSBjb21pc3Npw7MiCiAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyByZWZlcsOobmNpZXMgcXVlIG5vIGNvbnRpbmd1aW4gbGEgY29taXNzacOzIgorCiAjOiBidWlsdGluL2ZzY2suYzo1NTQKIG1zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIlMnZXN0YW4gY29tcHJvdmFudCBlbHMgZGlyZWN0b3JpcyBkJ29iamVjdGUiCkBAIC04MTU4LDIxICs4NDg2LDIxIEBACiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUydlc3RhbiBjb21wcm92YW50IGVscyBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9nYy5jOjI1CisjOiBidWlsdGluL2djLmM6MjYKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBnYyBbPG9wY2lvbnM+XSIKIAotIzogYnVpbHRpbi9nYy5jOjcyCisjOiBidWlsdGluL2djLmM6NzkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCAlczogJyVzJyIKLW1zZ3N0ciAiJXMgbm8gdsOgbGlkOiAlcyIKK21zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGZlciBmc3RhdCAlczogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxMzkKKyM6IGJ1aWx0aW4vZ2MuYzozMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCi1tc2dzdHIgImRpcmVjdG9yaSBkJ29iamVjdGVzIGluY3Jlw69ibGVtZW50IGxsYXJnICUuKnMiCittc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKK21zZ3N0ciAiTm8gZXMgcG90IGZlciBzdGF0IGVuICVzIgogCi0jOiBidWlsdGluL2djLmM6Mjk3CisjOiBidWlsdGluL2djLmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTgxODcsMzA0ICs4NTE1LDMyOCBAQAogIlxuIgogIiVzIgogCi0jOiBidWlsdGluL2djLmM6MzM0CisjOiBidWlsdGluL2djLmM6MzU5CiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgInBvZGEgb2JqZWN0ZXMgc2Vuc2UgcmVmZXLDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzYKKyM6IGJ1aWx0aW4vZ2MuYzozNjEKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgInNpZ3VlcyBtw6lzIGV4aGF1c3RpdSAoZWwgdGVtcHMgZCdleGVjdWNpw7MgYXVnbWVudGEpIgogCi0jOiBidWlsdGluL2djLmM6MzM3CisjOiBidWlsdGluL2djLmM6MzYyCiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiaGFiaWxpdGEgZWwgbW9kZSBkZSByZWNvbGxpZGEgZCdlc2NvbWJyYXJpZXMgYXV0b23DoHRpY2EiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzgKKyM6IGJ1aWx0aW4vZ2MuYzozNjMKIG1zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKIG1zZ3N0ciAiZm9yw6dhIGwnZXhlY3VjacOzIGRlIGdjIGVuY2FyYSBxdWUgaGkgcHVndWkgaGF2ZXIgdW4gYWx0cmUgZ2MgZXhlY3V0YW50IgogCiAjOiBidWlsdGluL2djLmM6MzgwCiAjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGVsIHZhbG9yIGdjLmxvZ2V4cGlyeSAlcyIKKworIzogYnVpbHRpbi9nYy5jOjQwOAorIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiIgogIlMnZXN0w6AgZW1wYXF1ZXRhbnQgZWwgZGlww7JzaXQgYXV0b23DoHRpY2FtZW50IGVuIGVsIGZvbnMgcGVyIHJlbmRpbWVudCAiCiAiw7JwdGltLlxuIgogCi0jOiBidWlsdGluL2djLmM6MzgyCisjOiBidWlsdGluL2djLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiUydlc3TDoCBlbXBhcXVldGFudCBhdXRvbcOgdGljYW1lbnQgZWwgZGlww7JzaXQgcGVyIHJlbmRpbWVudCDDsnB0aW0uXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozODMKKyM6IGJ1aWx0aW4vZ2MuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAiVmVnZXUgXCJnaXQgaGVscCBnY1wiIHBlciBuZXRlamEgbWFudWFsLlxuIgogCi0jOiBidWlsdGluL2djLmM6NDA0CisjOiBidWlsdGluL2djLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgogbXNnc3RyICIiCiAiZ2MgamEgcydlc3TDoCBleGVjdXRhbnQgZW4gbGEgbcOgcXVpbmEgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNldSAtLWZvcmNlIHNpIG5vKSIKIAotIzogYnVpbHRpbi9nYy5jOjQ0OAorIzogYnVpbHRpbi9nYy5jOjQ4MAogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogIkhpIGhhIG1hc3NhIG9iamVjdGVzIHNvbHRzIGluYWJhc3RhYmxlczsgZXhlY3V0ZXUgJ2dpdCBwcnVuZScgcGVyIGEgZWxpbWluYXItIgogImxvcy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI1CisjOiBidWlsdGluL2dyZXAuYzoyNwogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgWzxvcGNpb25zPl0gWy1lXSA8cGF0csOzPiBbPHJldmlzacOzPi4uLl0gW1stLV0gPGNhbcOtPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIzMgorIzogYnVpbHRpbi9ncmVwLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjcmVhciBmaWw6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoyOTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAicydoYSBlc3BlY2lmaWNhdCB1biBub21icmUgZGUgZmlscyBubyB2w6BsaWQgKCVkKSBwZXIgYSAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzYzIGJ1aWx0aW4vZ3JlcC5jOjgwNAorIy4gVFJBTlNMQVRPUlM6ICVzIGlzIHRoZSBjb25maWd1cmF0aW9uCisjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CisjLiBncmVwLnRocmVhZHMKKyMuCisjOiBidWlsdGluL2dyZXAuYzozMDIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCittc2dzdHIgIm5vIGhpIGhhIHN1cG9ydCBkZSBmaWxzLCBzJ2VzdMOgIGlnbm9yYW50ICVzIgorCisjOiBidWlsdGluL2dyZXAuYzo3ODggYnVpbHRpbi9ncmVwLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbCdhcmJyZSAoJXMpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIGdyZXAgZGVzIGQndW4gb2JqZWN0ZSBkZSB0aXB1cyAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg3CisjOiBidWlsdGluL2dyZXAuYzo5MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAibCdvcGNpw7MgYCVjJyBlc3BlcmEgdW4gdmFsb3IgbnVtw6hyaWMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3MworIzogYnVpbHRpbi9ncmVwLmM6OTk5CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAiY2VyY2EgZW4gbCfDrW5kZXggZW4gbGxvYyBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NQorIzogYnVpbHRpbi9ncmVwLmM6MTAwMQogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICJjZXJjYSBlbiBjb250aW5ndXRzIG5vIGdlc3Rpb25hdHMgcGVyIGdpdCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc3CisjOiBidWlsdGluL2dyZXAuYzoxMDAzCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJjZXJjYSB0YW50IGVuIGZpdHhlcnMgc2VndWl0cyBjb20gZW4gbm8gc2VndWl0cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc5CisjOiBidWlsdGluL2dyZXAuYzoxMDA1CiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICJpZ25vcmEgZWxzIGZpdHhlcnMgZXNwZWNpZmljYXRzIG1pdGphbsOnYW50ICcuZ2l0aWdub3JlJyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTgxCi1tc2dpZCAicmVjdXJzaXZsZXkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgorIzogYnVpbHRpbi9ncmVwLmM6MTAwNworbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiY2VyY2EgcmVjdXJzaXZhbWVudCBhIGNhZGEgc3VibcOyZHVsIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDkKIG1zZ2lkICJiYXNlbmFtZSIKIG1zZ3N0ciAibm9tIGJhc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4NAorIzogYnVpbHRpbi9ncmVwLmM6MTAxMAogbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCiBtc2dzdHIgImFudGVwb3NhIGFpeMOyIGEgbGEgc29ydGlkYSBkZWwgbm9tIGJhc2UgZGVsIHByb2plY3RlIHBhcmUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4NworIzogYnVpbHRpbi9ncmVwLmM6MTAxMwogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmEgbGVzIGzDrW5pZXMgbm8gY29pbmNpZGVudHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4OQorIzogYnVpbHRpbi9ncmVwLmM6MTAxNQogbXNnaWQgImNhc2UgaW5zZW5zaXRpdmUgbWF0Y2hpbmciCiBtc2dzdHIgImNvaW5jaWTDqG5jaWEgaW5zZW5zaWJsZSBhIG1hasO6c2N1bGEgaSBtaW7DunNjdWxhIgogCi0jOiBidWlsdGluL2dyZXAuYzo5OTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAiY29pbmNpZGVpeCBhbWIgZWxzIHBhdHJvbnMgbm9tw6lzIGFscyBsw61taXRzIGRlIHBhcmF1bGEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MworIzogYnVpbHRpbi9ncmVwLmM6MTAxOQogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgInByb2Nlc3NhIGVscyBmaXR4ZXJzIGJpbmFyaXMgY29tIGEgdGV4dCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTk1CisjOiBidWlsdGluL2dyZXAuYzoxMDIxCiBtc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgogbXNnc3RyICJubyBjb2luY2lkZWl4aXMgYW1iIGVscyBwYXRyb25zIGVuIGVscyBmaXR4ZXJzIGJpbmFyaXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5OAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNAogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAicHJvY2Vzc2EgZWxzIGZpdHhlcnMgYmluYXJpcyBhbWIgZmlsdHJlcyBkZSB0ZXh0Y29udiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwMAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNgogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZGVzY2VuZGVpeCBjb20gYSBtw6B4aW0gPHByb2Z1bmRpdGF0PiBuaXZlbGxzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDA0CisjOiBidWlsdGluL2dyZXAuYzoxMDMwCiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInVzYSBsZXMgZXhwcmVzc2lvbnMgcmVndWxhcnMgUE9TSVggZXN0ZXNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwNworIzogYnVpbHRpbi9ncmVwLmM6MTAzMwogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAidXNhIGxlcyBleHByZXNzaW9ucyByZWd1bGFycyBQT1NJWCBiw6BzaXF1ZXMgKHBlciBkZWZlY3RlKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMAorIzogYnVpbHRpbi9ncmVwLmM6MTAzNgogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJpbnRlcnByZXRhIGVscyBwYXRyb25zIGNvbSBhIGNhZGVuZXMgZml4ZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzkKIG1zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInVzYSBsZXMgZXhwcmVzc2lvbnMgcmVndWxhcnMgY29tcGF0aWJsZXMgYW1iIFBlcmwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDIKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAibW9zdHJhIGVscyBuw7ptZXJvcyBkZSBsw61uaWEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDMKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAibm8gbW9zdHJpcyBlbHMgbm9tcyBkZSBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDQKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAibW9zdHJhIGVscyBub21zIGRlIGZpdHhlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NgogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIm1vc3RyYSBlbHMgbm9tcyBkZSBmaXR4ZXIgcmVsYXRpdXMgYWwgZGlyZWN0b3JpIHN1cGVyaW9yIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDIyCisjOiBidWlsdGluL2dyZXAuYzoxMDQ4CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmEgbm9tw6lzIGVscyBub21zIGRlIGZpdHhlciBlbiBsbG9jIGRlIGxlcyBsw61uaWVzIGNvaW5jaWRlbnRzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI0CisjOiBidWlsdGluL2dyZXAuYzoxMDUwCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgInNpbsOybmltIGRlIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI3CisjOiBidWlsdGluL2dyZXAuYzoxMDUzCiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICJtb3N0cmEgbm9tw6lzIGVscyBub21zIGRlbHMgZml0eGVycyBzZW5zZSBjb2luY2lkw6huY2lhIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI5CisjOiBidWlsdGluL2dyZXAuYzoxMDU1CiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiaW1wcmltZWl4IE5VTCBkZXNwcsOpcyBkZWxzIG5vbXMgZGUgZml0eGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMxCisjOiBidWlsdGluL2dyZXAuYzoxMDU3CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAibW9zdHJhIGVsIG5vbWJyZSBkZSBjb2luY2lkw6huY2llcyBlbiBsbG9jIGRlIGxlcyBsw61uaWVzIGNvaW5jaWRlbnRzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMyCisjOiBidWlsdGluL2dyZXAuYzoxMDU4CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgInJlc3NhbHRhIGxlcyBjb2luY2lkw6huY2llcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzNAorIzogYnVpbHRpbi9ncmVwLmM6MTA2MAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICJpbXByaW1laXggdW5hIGzDrW5pYSBidWlkYSBlbnRyZSBjb2luY2lkw6huY2llcyBkZSBmaXR4ZXJzIGRpc3RpbnRzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM2CisjOiBidWlsdGluL2dyZXAuYzoxMDYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogIm1vc3RyYSBlbCBub20gZGUgZml0eGVyIG5vbcOpcyB1bmEgdmVnYWRhIGEgZGFsdCBkZSBsZXMgY29pbmNpZMOobmNpZXMgZGVsICIKICJtYXRlaXggZml0eGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM5CisjOiBidWlsdGluL2dyZXAuYzoxMDY1CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYSA8bj4gbMOtbmllcyBkZSBjb250ZXh0IGFiYW5zIGkgZGVzcHLDqXMgZCd1bmEgY29pbmNpZMOobmNpYSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0MgorIzogYnVpbHRpbi9ncmVwLmM6MTA2OAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYSA8bj4gbMOtbmllcyBkZSBjb250ZXh0IGFiYW5zIGQndW5hIGNvaW5jaWTDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzAKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYSA8bj4gbMOtbmllcyBkZSBjb250ZXh0IGRlc3Byw6lzIGQndW5hIGNvaW5jaWTDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzIKIG1zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgogbXNnc3RyICJ1c2EgPG4+IGZpbHMgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NworIzogYnVpbHRpbi9ncmVwLmM6MTA3MwogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgImRyZWNlcmEgcGVyIC1DIE5VTSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1MAorIzogYnVpbHRpbi9ncmVwLmM6MTA3NgogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYSB1bmEgbMOtbmlhIGFtYiBlbCBub20gZGUgZnVuY2nDsyBhYmFucyBkZSBsZXMgY29pbmNpZMOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzgKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAibW9zdHJhIGxhIGZ1bmNpw7MgY2lyY3VtZGFudCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NQorIzogYnVpbHRpbi9ncmVwLmM6MTA4MQogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICJsbGVnZWl4IGVscyBwYXRyb25zIGRlcyBkJ3VuIGZpdHhlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NworIzogYnVpbHRpbi9ncmVwLmM6MTA4MwogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiY29pbmNpZGVpeCBhbWIgPHBhdHLDsz4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODUKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJjb21iaW5hIGVscyBwYXRyb25zIGVzcGVjaWZpY2F0cyBhbWIgLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTcKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAiaW5kaWNhIGNvaW5jaWTDqG5jaWEgYW1iIGVzdGF0IGRlIHNvcnRpZGEgc2Vuc2Ugc29ydGlkYSB0ZXh0dWFsIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDczCisjOiBidWlsdGluL2dyZXAuYzoxMDk5CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAiIgogIm1vc3RyYSBub23DqXMgbGVzIGNvaW5jaWTDqG5jaWVzIGRlbHMgZml0eGVycyBxdWUgY29pbmNpZGVpeGluIGFtYiB0b3RzIGVscyAiCiAicGF0cm9ucyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3NQorIzogYnVpbHRpbi9ncmVwLmM6MTEwMQogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJtb3N0cmEgbCdhcmJyZSBkJ2Fuw6BsaXNpcyBkZSBsJ2V4cHJlc3Npw7MgZGUgZ3JlcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3OQorIzogYnVpbHRpbi9ncmVwLmM6MTEwNQogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJwYWdpbmFkb3IiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDUKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAibW9zdHJhIGVscyBmaXR4ZXJzIGNvaW5jaWRlbnRzIGVuIGVsIHBhZ2luYWRvciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA4MgorIzogYnVpbHRpbi9ncmVwLmM6MTEwOAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAicGVybWV0IGxhIGludm9jYWNpw7MgZGUgZ3JlcCgxKSAoaWdub3JhdCBwZXIgYXF1ZXN0YSBjb21waWxhY2nDsykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExNDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExNzIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAiY2FwIHBhdHLDsyBkb25hdC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExNzggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MgorIzogYnVpbHRpbi9ncmVwLmM6MTIwNAorbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgorbXNnc3RyICItLW5vLWluZGV4IG8gLS11bnRyYWNrZWQgbm8gZXMgcG90IHVzYXIgYW1iIHJldmlzaW9ucyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVzb2xkcmUgbGEgcmV2aXNpw7M6ICVzIgorCisjOiBidWlsdGluL2dyZXAuYzoxMjQ1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAicydoYSBlc3BlY2lmaWNhdCB1biBub21icmUgZGUgZmlscyBubyB2w6BsaWQgKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTIxNQorIzogYnVpbHRpbi9ncmVwLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAibm8gaGkgaGEgc3Vwb3J0IGRlIGZpbHMsIHMnZXN0w6AgaWdub3JhbnQgJXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyODEKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBub23DqXMgZnVuY2lvbmEgZW4gbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjM4CisjOiBidWlsdGluL2dyZXAuYzoxMzA0CiBtc2dpZCAib3B0aW9uIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLXJlY3Vyc2Utc3VibW9kdWxlcy4iCiBtc2dzdHIgIm9wY2nDsyBubyBhZG1lc2EgYW1iIC0tcmVjdXJzZS1zdWJtb2R1bGVzLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI0NAorIzogYnVpbHRpbi9ncmVwLmM6MTMxMAogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleC4iCiBtc2dzdHIgIi0tY2FjaGVkIG8gLS11bnRyYWNrZWQgbm8gZXMgcG90IHVzYXIgYW1iIC0tbm8taW5kZXguIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjQ5Ci1tc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgotbXNnc3RyICItLW5vLWluZGV4IG8gLS11bnRyYWNrZWQgbm8gZXMgcG90IHVzYXIgYW1iIHJldmlzaW9ucy4iCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMTYKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIG5vIGVzIHBvdCB1c2FyIHBlciBhbHMgY29udGluZ3V0cyBzZWd1aXRzLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI2MAorIzogYnVpbHRpbi9ncmVwLmM6MTMyNAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgInMnaGFuIGRvbmF0IGFtYmTDs3MgLS1jYWNoZXMgaSBhcmJyZXMuIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaWxlPi4uLiIKQEAgLTg0OTIsOTMgKzg4NDQsOTMgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0aXB1cz5dIFstd10gWy0tcGF0aD08Zml0eGVyPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaXR4ZXI+Li4uIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MwogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIG1zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQogbXNnaWQgInR5cGUiCiBtc2dzdHIgInRpcHVzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICJ0aXB1cyBkJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk2CiBtc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgImVzY3JpdSBsJ29iamVjdGUgYSBsYSBiYXNlIGRlIGRhZGVzIGQnb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgImxsZWdlaXggbCdvYmplY3RlIGRlcyBkJ3N0ZGluIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAiZW1tYWdhdHplbWEgZWwgZml0eGVyIHRhbCBjb20gw6lzIHNlbnNlIGZpbHRyZXMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCiAibm9tw6lzIHN1bWEgcXVhbHNldm9sIGJyb3NzYSBhbGVhdMOycmlhIHBlciBhIGNyZWFyIG9iamVjdGVzIG1hbG1lc29zIHBlciBhICIKICJkZXB1cmFyIGFsIEdpdCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMgogbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgogbXNnc3RyICJwcm9jZXNzYSBlbCBmaXR4ZXIgY29tIHNpIGZvcyBkJ2FxdWVzdCBjYW3DrSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzCiBtc2dpZCAicHJpbnQgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyIKIG1zZ3N0ciAiaW1wcmltZWl4IHRvdGVzIGxlcyBvcmRyZXMgZGlzcG9uaWJsZXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzCisjOiBidWlsdGluL2hlbHAuYzo0NAogbXNnaWQgImV4Y2x1ZGUgZ3VpZGVzIgogbXNnc3RyICJleGNsb3UgZ3VpZXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NQogbXNnaWQgInByaW50IGxpc3Qgb2YgdXNlZnVsIGd1aWRlcyIKIG1zZ3N0ciAiaW1wcmltZWl4IGxhIGxsaXN0YSBkZSBndWllcyDDunRpbHMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ1CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFuIHBhZ2UiCiBtc2dzdHIgIm1vc3RyYSBsYSBww6BnaW5hIGRlIG1hbnVhbCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3CiBtc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCiBtc2dzdHIgIm1vc3RyYSBsYSBww6BnaW5hIGRlIG1hbnVhbCBlbiBlbCBuYXZlZ2Fkb3Igd2ViIgogCi0jOiBidWlsdGluL2hlbHAuYzo0OAorIzogYnVpbHRpbi9oZWxwLmM6NDkKIG1zZ2lkICJzaG93IGluZm8gcGFnZSIKIG1zZ3N0ciAibW9zdHJhIGxhIHDDoGdpbmEgZCdpbmZvcm1hY2nDsyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTQKKyM6IGJ1aWx0aW4vaGVscC5jOjU1CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPG9yZHJlPl0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjY2CisjOiBidWlsdGluL2hlbHAuYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiZm9ybWF0IGQnYWp1ZGEgbm8gcmVjb25lZ3V0ICclcyciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjkzCisjOiBidWlsdGluL2hlbHAuYzo5NAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3InaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gaW5pY2lhciBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNgorIzogYnVpbHRpbi9oZWxwLmM6MTA3CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGFuYWxpdHphciBsYSB2ZXJzacOzIGQnZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTQKKyM6IGJ1aWx0aW4vaGVscC5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJsYSB2ZXJzacOzIGQnZW1hY3NjbGllbnQgJyVkJyDDqXMgbWFzc2EgdmVsbGEgKDwgMjIpLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTMyIGJ1aWx0aW4vaGVscC5jOjE1MyBidWlsdGluL2hlbHAuYzoxNjIgYnVpbHRpbi9oZWxwLmM6MTcwCisjOiBidWlsdGluL2hlbHAuYzoxMzMgYnVpbHRpbi9oZWxwLmM6MTU0IGJ1aWx0aW4vaGVscC5jOjE2MyBidWlsdGluL2hlbHAuYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4ZWMgJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBleGVjdXRhciAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDcKKyM6IGJ1aWx0aW4vaGVscC5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTg1ODcsNyArODkzOSw3IEBACiAiJyVzJzogY2Ftw60gYSB1biB2aXN1YWxpdHphZG9yIGRlIG1hbnVhbHMgbm8gY29tcGF0aWJsZS5cbiIKICJTaSB1cyBwbGF1LCBjb25zaWRlcmV1IHVzYXIgJ21hbi48ZWluYT4uY21kJyBlbiBsbG9jIGQnYWl4w7IuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTkKKyM6IGJ1aWx0aW4vaGVscC5jOjIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTg1OTYsMTU5ICs4OTQ4LDE2MCBAQAogIiclcyc6IG9yZHJlIHBlciBhIHVuIHZpc3VhbGl0emFkb3IgZGUgbWFudWFscyBjb21wYXRpYmxlLlxuIgogIlNpIHVzIHBsYXUsIGNvbnNpZGVyZXUgdXNhciAnbWFuLjxlaW5hPi5wYXRoJyBlbiBsbG9jIGQnYWl4w7IuIgogCi0jOiBidWlsdGluL2hlbHAuYzozMzYKKyM6IGJ1aWx0aW4vaGVscC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICInJXMnOiB2aXN1YWxpdHphZG9yIGRlIG1hbnVhbHMgZGVzY29uZWd1dC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM1MworIzogYnVpbHRpbi9oZWxwLmM6MzU0CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJjYXAgdmlzdWFsaXR6YWRvciBkZSBtYW51YWxzIGhhIGdlc3Rpb25hdCBsYSBzb2zCt2xpY2l0dWQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MQorIzogYnVpbHRpbi9oZWxwLmM6MzYyCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiY2FwIHZpc3VhbGl0emFkb3IgZCdpbmZvcm1hY2nDsyBoYSBnZXN0aW9uYXQgbGEgc29swrdsaWNpdHVkIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNAogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIkxhIGRlZmluaWNpw7MgZCdhdHJpYnV0cyBwZXIgY2Ftw60iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNAorIzogYnVpbHRpbi9oZWxwLmM6NDA1CiBtc2dpZCAiRXZlcnlkYXkgR2l0IFdpdGggMjAgQ29tbWFuZHMgT3IgU28iCiBtc2dzdHIgIkdpdCBxdW90aWRpw6AgYW1iIG3DqXMgbyBtZW55cyAyMCBvcmRyZXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNQorIzogYnVpbHRpbi9oZWxwLmM6NDA2CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIlVuIGdsb3NzYXJpIGRlIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA2CisjOiBidWlsdGluL2hlbHAuYzo0MDcKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJFc3BlY2lmaWNhIGVscyBmaXR4ZXJzIGludGVuY2lvbmFsbWVudCBubyBzZWd1aXRzIGEgaWdub3JhciIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA3CisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAiTGEgZGVmaW5pY2nDsyBkZSBsZXMgcHJvcGlldGF0cyBkZSBzdWJtw7JkdWxzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOQogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAiTCdlc3BlY2lmaWNhY2nDsyBkZSByZXZpc2lvbnMgaSByYW5ncyBwZXIgYWwgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDkKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgogbXNnc3RyICJVbmEgaW50cm9kdWNjacOzIHR1dG9yaWFsIGFsIEdpdCAocGVyIGEgbGEgdmVyc2nDsyAxLjUuMSBvIG3DqXMgbm92YSkiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDExCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICJVbmEgdmlzacOzIGRlIGNvbmp1bnQgZGUgZmx1eG9zIGRlIHRyZWJhbGwgcmVjb21hbmF0cyBhbWIgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjIKKyM6IGJ1aWx0aW4vaGVscC5jOjQyMwogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6XG4iCiBtc2dzdHIgIkxlcyBndWllcyBkZSBHaXQgY29tdW5lcyBzw7NuOlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDAKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgImBnaXQgJXMnIMOpcyB1biDDoGxpZXMgZGUgYCVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIzogYnVpbHRpbi9oZWxwLmM6NDYzIGJ1aWx0aW4vaGVscC5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKIG1zZ3N0ciAiw7pzOiAlcyVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgImhpIGhhIHVuYSBkaXNjb3JkYW7Dp2EgZGUgdGlwdXMgZCdvYmplY3RlIGEgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcmVidXQgbCdvYmplY3RlIGVzcGVyYXQgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIm9iamVjdGUgJXM6IHRpcHVzICVzIGVzcGVyYXQsICVzIHRyb2JhdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gIm5vIGVzIHBvdCBvbXBsaXIgJWQgb2N0ZXQiCiBtc2dzdHJbMV0gIm5vIGVzIHBvdCBvbXBsaXIgJWQgb2N0ZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MAogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAiRU9GIHByZW1hdHVyIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgImVycm9yIGRlIGxlY3R1cmEgZCdlbnRyYWRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MwogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICJzJ2hhbiB1c2F0IG3DqXMgb2N0ZXRzIHF1ZSBoaSBoYXZpYSBkaXNwb25pYmxlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDAKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICJwYXF1ZXQgbWFzc2EgZ3JhbiBwZXIgYSBsYSBkZWZpbmljacOzIGFjdHVhbCBkJ29mZl90IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkzCiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICJlbCBwYXF1ZXQgc3VwZXJhIGxhIG1pZGEgbcOgeGltYSBwZXJtZXNhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciBkZSBwYXF1ZXQgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKIG1zZ3N0ciAiaGkgaGEgdW5hIGRpc2NvcmRhbsOnYSBkZSBzaWduYXR1cmEgZGUgcGFxdWV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICJsYSB2ZXJzacOzIGRlIHBhcXVldCAlPFBSSXUzMj4gbm8gw6lzIGNvbXBhdGlibGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgogbXNnc3RyICJlbCBwYXF1ZXQgdMOpIHVuIG9iamVjdGUgZG9sZW50IGEgbGEgcG9zaWNpw7MgJTxQUkl1TUFYPjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgImxhIGluZmxhY2nDsyBoYSByZXRvcm5hdCAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjgKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgotbXNnc3RyICJkZXNib3JkYW1lbnQgZGUgdmFsb3IgZGUgZGVzcGxhw6dhbWVudCBwZXIgYSBsJ29iamVjdGUgYmFzZSBkZSBkZWx0YSIKK21zZ3N0ciAiIgorImRlc2JvcmRhbWVudCBkZSB2YWxvciBkZSBkZXNwbGHDp2FtZW50IHBlciBhIGwnb2JqZWN0ZSBiYXNlIGRlIGRpZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzYKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBpcyBvdXQgb2YgYm91bmQiCi1tc2dzdHIgImVsIGRlc3BsYcOnYW1lbnQgZGUgYmFzZSBkZSBkZWx0YSBlc3TDoCBmb3JhIGRlIGzDrW1pdHMiCittc2dzdHIgImVsIGRlc3BsYcOnYW1lbnQgZGUgYmFzZSBkZSBkaWZlcsOobmNpZXMgZXN0w6AgZm9yYSBkZSBsw61taXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJ0aXB1cyBkJ29iamVjdGUgZGVzY29uZWd1dCAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzUKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIHByZWFkIGVuIGVsIGZpdHhlciBkZSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGUgbWlzc2luZyIKIG1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZXMgbWlzc2luZyIKQEAgLTg3NTYsMjc2ICs5MTA5LDI3NiBAQAogbXNnc3RyWzFdICIiCiAiZWwgZmluYWwgZGVsIGZpdHhlciBkZSBwYXF1ZXQgw6lzIHByZW1hdHVyLCBtYW5xdWVuICU8UFJJdU1BWD4gb2N0ZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMwogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJoaSBoYSB1bmEgaW5jb25zaXN0w6huY2lhIHNlcmlvc2EgZCdpbmZsYWNpw7MiCiAKICM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OCBidWlsdGluL2luZGV4LXBhY2suYzo3NTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzc3Ci0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTYgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiUydIQSBUUk9CQVQgVU5BIENPTMK3TElTScOTIFNIQTEgQU1CICVzICEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgaW5mbyAlcyIKK21zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBsYSBpbmZvcm1hY2nDsyBkJ29iamVjdGUgZXhpc3RlbnQgJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgbCdvYmplY3RlIGV4aXN0ZW50ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICJvYmplY3RlIGRlIGJsb2Igbm8gdsOgbGlkICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICIlcyBubyB2w6BsaWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODU0CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICJFcnJvciBlbiBvYmplY3RlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiTm8gdG90cyBlbHMgb2JqZWN0ZXMgZmlsbHMgZGUgJXMgc8OzbiBhYmFzdGFibGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5MjQgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo5MjggYnVpbHRpbi9pbmRleC1wYWNrLmM6OTU5CiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgotbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGFwbGljYXIgbGEgZGVsdGEiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYXBsaWNhciBsYSBkaWZlcsOobmNpYSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICJTJ2VzdGFuIHJlYmVudCBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIlMnZXN0YW4gaW5kZXhhbnQgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjQKIG1zZ2lkICJwYWNrIGlzIGNvcnJ1cHRlZCAoU0hBMSBtaXNtYXRjaCkiCiBtc2dzdHIgImVsIHBhcXVldCDDqXMgbWFsbcOocyAoZGlzY29yZGFuw6dhIFNIQTEpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIGZzdGF0IGVuIGVsIGZpdHhlciBkZSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzIKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgImVsIHBhcXVldCB0w6kgYnJvc3NhIGFsIHNldSBmaW5hbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE4NAogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgImNvbmZ1c2nDsyBtw6lzIGVubGzDoCBkZSBsYSBib2dlcmlhIGVuIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKLW1zZ3N0ciAiUydlc3RhbiByZXNvbGVudCBsZXMgZGVsdGVzIgorbXNnc3RyICJTJ2VzdGFuIHJlc29sZW50IGxlcyBkaWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGZpbDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJjb25mdXNpw7MgbcOpcyBlbmxsw6AgZGUgbGEgYm9nZXJpYSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHJbMF0gInMnaGEgY29tcGxldGF0IGFtYiAlZCBvYmplY3RlIGxvY2FsIgogbXNnc3RyWzFdICJzJ2hhIGNvbXBsZXRhdCBhbWIgJWQgb2JqZWN0ZXMgbG9jYWxzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjcwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJTdW1hIGRlIHZlcmlmaWNhY2nDsyBmaW5hbCBubyBlc3BlcmFkYSBwZXIgYSAlcyAoY29ycnVwY2nDsyBkZSBkaXNjPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCi1tc2dzdHJbMF0gIkVsIHBhcXVldCB0w6kgJWQgZGVsdGEgbm8gcmVzb2x0YSIKLW1zZ3N0clsxXSAiRWwgcGFxdWV0IHTDqSAlZCBkZWx0ZXMgbm8gcmVzb2x0ZXMiCittc2dzdHJbMF0gIkVsIHBhcXVldCB0w6kgJWQgZGlmZXLDqG5jaWEgbm8gcmVzb2x0YSIKK21zZ3N0clsxXSAiRWwgcGFxdWV0IHTDqSAlZCBkaWZlcsOobmNpZXMgbm8gcmVzb2x0ZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGVzaW5mbGFyIGwnb2JqZWN0ZSBhbm5leGF0ICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImwnb2JqZWN0ZSBsb2NhbCAlcyDDqXMgbWFsbcOocyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwOAogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICJlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBlc2NyaXVyZSBlbCBmaXR4ZXIgYSByZXRlbmlyICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCB0YW5jYXIgZWwgZml0eGVyIGVzY3JpdCBhIHJldGVuaXIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvdCBlbW1hZ2F0emVtYXIgZWwgZml0eGVyIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0NgogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJubyBlcyBwb3QgZW1tYWdhdHplbWFyIGVsIGZpdHhlciBkJ8OtbmRleCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4gZG9sZW50IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKLW1zZ3N0ciAibm8gaGkgaGEgc3Vwb3J0IGRlIGZpbHMsIHMnZXN0w6AgaWdub3JhbnQgJXMiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIk5vIGVzIHBvdCBvYnJpciBlbCBmaXR4ZXIgZGUgcGFxdWV0IGV4aXN0ZW50ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiTm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciBkJ8OtbmRleCBkZSBwYXF1ZXRzIGV4aXN0ZW50IGRlICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKLW1zZ3N0clswXSAic2Vuc2UgZGVsdGE6ICVkIG9iamVjdGUiCi1tc2dzdHJbMV0gInNlbnNlIGRlbHRhOiAlZCBvYmplY3RlcyIKK21zZ3N0clswXSAic2Vuc2UgZGlmZXLDqG5jaWVzOiAlZCBvYmplY3RlIgorbXNnc3RyWzFdICJzZW5zZSBkaWZlcsOobmNpZXM6ICVkIG9iamVjdGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImxvbmdpdHVkIGRlIGNhZGVuYSA9ICVkOiAlbHUgb2JqZWN0ZSIKIG1zZ3N0clsxXSAibG9uZ2l0dWQgZGUgY2FkZW5hID0gJWQ6ICVsdSBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAiZWwgbm9tIGRlbCBmaXR4ZXIgZGUgcGFxdWV0ICclcycgbm8gYWNhYmEgYW1iICcucGFjayciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5OAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIiVzIGRvbGVudCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MwogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIG5vIGVzIHBvdCB1c2FyIHNlbnNlIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDUKIG1zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tc3RkaW4gcmVxdWVyZWl4IGQndW4gZGlww7JzaXQgZ2l0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzUzCiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICJzJ2hhIGRvbmF0IC0tdmVyaWZ5IHNlbnNlIG5vbSBkZSBmaXR4ZXIgZGUgcGFxdWV0IgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IGVuICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYwCisjOiBidWlsdGluL2luaXQtZGIuYzo2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCB0ZW1wbGF0ZSAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgZW4gbGEgcGxhbnRpbGxhICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CisjOiBidWlsdGluL2luaXQtZGIuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbmRpciAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIG9wZW5kaXIgZW4gZWwgZGlyZWN0b3JpICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc2CisjOiBidWlsdGluL2luaXQtZGIuYzo3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZGxpbmsgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciByZWFkbGluayBlbiAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3OAorIzogYnVpbHRpbi9pbml0LWRiLmM6NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIHN5bWxpbmsgZW4gJyVzJyAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NAorIzogYnVpbHRpbi9pbml0LWRiLmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgY29waWFyICclcycgYSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OAorIzogYnVpbHRpbi9pbml0LWRiLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgInMnZXN0w6AgaWdub3JhbnQgbGEgcGxhbnRpbGxhICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICJubyBzJ2hhbiB0cm9iYXQgbGVzIHBsYW50aWxsZXMgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNAorIzogYnVpbHRpbi9pbml0LWRiLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICJubyBzJ2VzdMOgIGNvcGlhbnQgcGxhbnRpbGxlcyBkZSAnJXMnOiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzI3CisjOiBidWlsdGluL2luaXQtZGIuYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZ2VzdGlvbmFyIGVsIHRpcHVzIGRlIGZpdHhlciAlZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzMwCisjOiBidWlsdGluL2luaXQtZGIuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbW91cmUgJXMgYSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ3IGJ1aWx0aW4vaW5pdC1kYi5jOjM1MAorIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ4IGJ1aWx0aW4vaW5pdC1kYi5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiJXMgamEgZXhpc3RlaXgiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMworIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiUydoYSByZWluaWNpYWxpdHphdCBlbCBkaXDDsnNpdCBjb21wYXJ0aXQgZXhpc3RlbnQgZGVsIEdpdCBlbiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJTJ2hhIHJlaW5pY2lhbGl0emF0IGVsIGRpcMOyc2l0IGV4aXN0ZW50IGRlbCBHaXQgZW4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJTJ2hhIGluaWNpYWxpdHphdCB1biBkaXDDsnNpdCBjb21wYXJ0aXQgYnVpdCBkZWwgR2l0IGVuICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJTJ2hhIGluaWNpYWxpdHphdCB1biBkaXDDsnNpdCBidWl0IGRlbCBHaXQgZW4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC05MDMzLDI1ICs5Mzg2LDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PGRpcmVjdG9yaS1kZS1wbGFudGlsbGE+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzb3M+XV0gWzxkaXJlY3Rvcmk+XSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDgwCisjOiBidWlsdGluL2luaXQtZGIuYzo0ODEKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAicGVybWlzb3MiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJlc3BlY2lmaWNhIHF1ZSBlbCBkaXDDsnNpdCBkZSBnaXQgZXMgY29tcGFydGlyw6AgZW50cmUgZGl2ZXJzb3MgdXN1YXJpcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE1IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTE2IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBta2RpciAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI0CisjOiBidWlsdGluL2luaXQtZGIuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICJubyBlcyBwb3QgY2FudmlhciBkZSBkaXJlY3RvcmkgYSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ1CisjOiBidWlsdGluL2luaXQtZGIuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCkBAIC05MDYwLDcgKzk0MTMsNyBAQAogIm5vIGVzIHBlcm1ldCAlcyAobyAtLXdvcmstdHJlZT08ZGlyZWN0b3JpPikgc2Vuc2UgZXNwZWNpZmljYXIgJXMgKG8gLS1naXQtIgogImRpcj08ZGlyZWN0b3JpPikiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3MworIzogYnVpbHRpbi9pbml0LWRiLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgIk5vIGVzIHBvdCBhY2NlZGlyIGEgbCdhcmJyZSBkZSB0cmViYWxsICclcyciCkBAIC05MDkzLDExMiArOTQ0NiwxMTIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJubyBzJ2hhIGRvbmF0IGNhcCBmaXR4ZXIgZCdlbnRyYWRhIHBlciBhIGVkaWNpw7MgaW4gc2l0dSIKIAotIzogYnVpbHRpbi9sb2cuYzo0NAorIzogYnVpbHRpbi9sb2cuYzo0NQogbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBsb2cgWzxvcGNpb25zPl0gWzxyYW5nLWRlLXJldmlzaW9ucz5dIFtbLS1dIDxjYW3DrT4uLi5dIgogCi0jOiBidWlsdGluL2xvZy5jOjQ1CisjOiBidWlsdGluL2xvZy5jOjQ2CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs8b3BjaW9ucz5dIDxvYmplY3RlPi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NAorIzogYnVpbHRpbi9sb2cuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAib3BjacOzIC0tZGVjb3JhdGUgbm8gdsOgbGlkYTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5CisjOiBidWlsdGluL2xvZy5jOjE0NwogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICJvbWV0IGxhIHNvcnRpZGEgZGUgZGlmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDgKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAibW9zdHJhIGxhIGZvbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxCisjOiBidWlsdGluL2xvZy5jOjE0OQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJVc2EgZWwgZml0eGVyIGRlIG1hcGEgZGUgY29ycmV1IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MgorIzogYnVpbHRpbi9sb2cuYzoxNTAKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJvcGNpb25zIGRlIGRlY29yYWNpw7MiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1CisjOiBidWlsdGluL2xvZy5jOjE1MwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJQcm9jZXNzYSBlbCByYW5nIGRlIGzDrW5pZXMgbixtIGVuIGVsIGZpdHhlciwgY29tcHRhbnQgZGVzIGQnMSIKIAotIzogYnVpbHRpbi9sb2cuYzoyNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiU29ydGlkYSBmaW5hbDogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0ODYKKyM6IGJ1aWx0aW4vbG9nLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBzaG93ICVzOiBiYWQgZmlsZSIKIG1zZ3N0ciAiZ2l0IHNob3cgJXM6IGZpdHhlciBkb2xlbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CisjOiBidWlsdGluL2xvZy5jOjUxMiBidWlsdGluL2xvZy5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIk5vIGVzIHBvdCBsbGVnaXIgbCdvYmplY3RlICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjYxOAorIzogYnVpbHRpbi9sb2cuYzo2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKIG1zZ3N0ciAiVGlwdXMgZGVzY29uZWd1dDogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzM5CisjOiBidWlsdGluL2xvZy5jOjc1MQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIHNlbnNlIHZhbG9yIgogCi0jOiBidWlsdGluL2xvZy5jOjgzOQorIzogYnVpbHRpbi9sb2cuYzo4NTIKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgImVsIG5vbSBkZWwgZGlyZWN0b3JpIGRlIHNvcnRpZGEgw6lzIG1hc3NhIGxsYXJnIgogCi0jOiBidWlsdGluL2xvZy5jOjg1NAorIzogYnVpbHRpbi9sb2cuYzo4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAiTm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciBkZSBwZWRhw6cgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODY4CisjOiBidWlsdGluL2xvZy5jOjg4NQogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICJDYWwgZXhhY3RhbWVudCB1biByYW5nLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NzgKKyM6IGJ1aWx0aW4vbG9nLmM6ODk1CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJObyDDqXMgdW4gcmFuZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTg0CisjOiBidWlsdGluL2xvZy5jOjEwMDEKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICJMYSBjYXJ0YSBkZSBwcmVzZW50YWNpw7MgbmVjZXNzaXRhIGVsIGZvcm1hdCBkZSBjb3JyZXUgZWxlY3Ryw7JuaWMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA2MworIzogYnVpbHRpbi9sb2cuYzoxMDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgImluLXJlcGx5LXRvIGJvaWc6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEwOTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTEwOAogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wY2lvbnM+XSBbPGRlcy1kZT4gfCA8cmFuZy1kZS1yZXZpc2lvbnM+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQxCisjOiBidWlsdGluL2xvZy5jOjExNTgKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiSGkgaGEgZG9zIGRpcmVjdG9yaXMgZGUgc29ydGlkYT8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0OCBidWlsdGluL2xvZy5jOjE4OTEgYnVpbHRpbi9sb2cuYzoxODkzIGJ1aWx0aW4vbG9nLmM6MTkwNQorIzogYnVpbHRpbi9sb2cuYzoxMjY1IGJ1aWx0aW4vbG9nLmM6MTkwOCBidWlsdGluL2xvZy5jOjE5MTAgYnVpbHRpbi9sb2cuYzoxOTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICJDb21pc3Npw7MgZGVzY29uZWd1ZGEgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDc2CisjOiBidWlsdGluL2xvZy5jOjEyNzUgYnVpbHRpbi9ub3Rlcy5jOjg4NiBidWlsdGluL3RhZy5jOjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZXNvbGRyZSAnJXMnIGNvbSBhIHJlZmVyw6huY2lhIHbDoGxpZGEuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4MAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsYSBiYXNlIGV4YWN0YSBkZSBmdXNpw7MuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4NAogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgpAQCAtOTIwNywyMTggKzk1NjAsMjIzIEBACiAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnRlbmlyIGxhIGZvbnQuIFNpIHZvbGV1IHJlZ2lzdHJhciBsYSBjb21pc3Npw7MgIgogImJhc2VcbiIKICJhdXRvbcOgdGljYW1lbnQsIHNpIHVzIHBsYXUsIHVzZXUgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBwZXIgYVxuIgotInNlZ3VpciB1bmEgYnJhbmNhIHJlbW90LiBPIHBvZGV1IGVzcGVjaWZpY2FyIGxhIGNvbWlzc2nDsyBiYXNlIG1hbnVhbG1lbnRcbiIKKyJzZWd1aXIgdW5hIGJyYW5jYSByZW1vdGEuIE8gcG9kZXUgZXNwZWNpZmljYXIgbGEgY29taXNzacOzIGJhc2UgbWFudWFsbWVudFxuIgogImFtYiAtLWJhc2U9PGlkLWRlLWNvbWlzc2nDsy1iYXNlPi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI4NworIzogYnVpbHRpbi9sb2cuYzoxMzA0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0cm9iYXIgbGEgYmFzZSBleGFjdGEgZGUgZnVzacOzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjk4CisjOiBidWlsdGluL2xvZy5jOjEzMTUKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImxhIGNvbWlzc2nDsyBiYXNlIGhhIGRlIHNlciBsJ2F2YW50cGFzc2F0IGRlIGxhIGxsaXN0YSBkZSByZXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwMgorIzogYnVpbHRpbi9sb2cuYzoxMzE5CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImxhIGNvbWlzc2nDsyBiYXNlIG5vIGhhIGRlIHNlciBlbiBsYSBsbGlzdGEgZGUgcmV2aXNpb25zIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTM2OAogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGwnaWQgZGVsIHBlZGHDpyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA4CisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICJ1c2EgW1BBVENIIG4vbV0gZmlucyBpIHRvdCBhbWIgdW4gc29sIHBlZGHDpyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0MjgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAidXNhIFtQQVRDSF0gZmlucyBpIHRvdCBhbWIgbcO6bHRpcGxlcyBwZWRhw6dvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE1CisjOiBidWlsdGluL2xvZy5jOjE0MzIKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiaW1wcmltZWl4IGVscyBwZWRhw6dvcyBhIGxhIHNvcnRpZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE3CisjOiBidWlsdGluL2xvZy5jOjE0MzQKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZ2VuZXJhIHVuYSBjYXJ0YSBkZSBwcmVzZW50YWNpw7MiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxOQorIzogYnVpbHRpbi9sb2cuYzoxNDM2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICJ1c2EgdW5hIHNlccO8w6huY2lhIGRlIG7Dum1lcm9zIHBlciBhbHMgbm9tcyBkZWxzIGZpdHhlcnMgZGUgc29ydGlkYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIwCisjOiBidWlsdGluL2xvZy5jOjE0MzcKIG1zZ2lkICJzZngiCiBtc2dzdHIgInN1Zml4IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJ1c2EgPHN1Zml4PiBlbiBsbG9jIGRlICcucGF0Y2gnIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgImNvbWVuw6dhIG51bWVyYW50IGVscyBwZWRhw6dvcyBhIDxuPiBlbiBsbG9jIGQnMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI1CisjOiBidWlsdGluL2xvZy5jOjE0NDIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIm1hcmNhIGxhIHPDqHJpZSBjb20gYSBsJ2Vuw6hzaW1hIGxsYW7Dp2FkYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI3CisjOiBidWlsdGluL2xvZy5jOjE0NDQKIG1zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJVc2EgW1JGQyBQQVRDSF0gZW4gbGxvYyBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NwogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiVXNhIFs8cHJlZml4Pl0gZW4gbGxvYyBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAiZW1tYWdhdHplbWEgZWxzIGZpdHhlcnMgcmVzdWx0YW50cyBhIDxkaXJlY3Rvcmk+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MwogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJubyBkZXNwdWxsaXMvYWZlZ2VpeGlzIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorIzogYnVpbHRpbi9sb2cuYzoxNDU2CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAibm8gZW1ldGlzIGRpZmVyw6huY2llcyBiaW7DoHJpZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQorIzogYnVpbHRpbi9sb2cuYzoxNDU4CiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCiBtc2dzdHIgImVtZXQgdW4gaGFzaCBkZSB0b3RzIHplcm9zIGVuIGxhIGNhcMOnYWxlcmEgRnJvbSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQzCisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgIm5vIGluY2xvZ3VpcyBwZWRhw6dvcyBxdWUgY29pbmNpZGVpeGluIGFtYiBjb21pc3Npb25zIGEgbGEgZm9udCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ1CisjOiBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIiIKICJtb3N0cmEgZWwgZm9ybWF0IGRlIHBlZGHDpyBlbiBsbG9jIGRlbCBwZXIgZGVmZWN0ZSAocGVkYcOnICsgZXN0YWTDrXN0aXF1ZXMpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NAogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiTWlzc2F0Z2VyaWEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAorIzogYnVpbHRpbi9sb2cuYzoxNDY1CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJjYXDDp2FsZXJhIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NgogbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCiBtc2dzdHIgImFmZWdlaXggdW5hIGNhcMOnYWxlcmEgZGUgY29ycmV1IGVsZWN0csOybmljIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAgYnVpbHRpbi9sb2cuYzoxNDUyCisjOiBidWlsdGluL2xvZy5jOjE0NjcgYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgImNvcnJldSBlbGVjdHLDsm5pYyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUwCisjOiBidWlsdGluL2xvZy5jOjE0NjcKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAiYWZlZ2VpeCBsYSBjYXDDp2FsZXJhIFRvOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUyCisjOiBidWlsdGluL2xvZy5jOjE0NjkKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAiYWZlZ2VpeCBsYSBjYXDDp2FsZXJhIENjOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU0CisjOiBidWlsdGluL2xvZy5jOjE0NzEKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiaWRlbnRpdGF0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKICJlc3RhYmxlaXggbCdhZHJlw6dhIEZyb20gYSA8aWRlbnRpdGF0PiAobyBsYSBpZGVudGl0YXQgZGVsIGNvbWl0ZW50IHNpIG1hbmNhKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU3CisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICJJRCBkZSBtaXNzYXRnZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU4CisjOiBidWlsdGluL2xvZy5jOjE0NzUKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImZlcyBxdWUgZWwgcHJpbWVyIG1pc3NhdGdlIHNpZ3VpIHVuYSByZXNwb3N0YSBhIDxJRCBkZSBtaXNzYXRnZT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1OSBidWlsdGluL2xvZy5jOjE0NjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NiBidWlsdGluL2xvZy5jOjE0NzkKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAibMOtbWl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NwogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCiBtc2dzdHIgImFqdW50YSBlbCBwZWRhw6ciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworIzogYnVpbHRpbi9sb2cuYzoxNDgwCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAicG9zYSBlbCBwZWRhw6cgZW4gZWwgY29zIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NAogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICJoYWJpbGl0YSBsJ2VuZmlsYWRhIGRlIG1pc3NhdGdlcywgZXN0aWxzOiBzaGFsbG93LCBkZWVwIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NgogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAic2lnbmF0dXJhIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NwogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAiYWZlZ2VpeCB1bmEgc2lnbmF0dXJhIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4OAogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICJjb21pc3Npw7MgYmFzZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcyCisjOiBidWlsdGluL2xvZy5jOjE0ODkKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICJhZmVnZWl4IGxhIGluZm9ybWFjacOzIGQnYXJicmUgcHJlcmVxdWVyaWRhIGEgbGEgc8OocmllIGRlIHBlZGHDp29zIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5MQogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAiYWZlZ2VpeCB1bmEgc2lnbmF0dXJhIGRlcyBkJ3VuIGZpdHhlciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc1CisjOiBidWlsdGluL2xvZy5jOjE0OTIKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICJubyBpbXByaW1laXhpcyBlbHMgbm9tcyBkZSBmaXR4ZXIgZGVsIHBlZGHDpyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKK21zZ3N0ciAibMOtbmlhIGQnaWRlbnRpdGF0IG5vIHbDoGxpZGE6ICVzIgorCisjOiBidWlsdGluL2xvZy5jOjE1ODIKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi1uIGkgLWsgc8OzbiBtdXR1YWxtZW50IGV4Y2x1c2l1cy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NworIzogYnVpbHRpbi9sb2cuYzoxNTg0CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgaSAtayBzw7NuIG11dHVhbG1lbnQgZXhjbHVzaXVzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc1CisjOiBidWlsdGluL2xvZy5jOjE1OTIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtb25seSBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NAogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLXN0YXR1cyBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NgogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1jaGVjayBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyNgogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICJzb3J0aWRhIGVzdMOgbmRhcmQgbyBkaXJlY3RvcmksIHF1aW4gZGVscyBkb3M/IgogCi0jOiBidWlsdGluL2xvZy5jOjE2MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGRpcmVjdG9yaSAnJXMnIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTcyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZGUgc2lnbmF0dXJhICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc3NworIzogYnVpbHRpbi9sb2cuYzoxNzk0CiBtc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY3JlYXIgZWxzIGZpdHhlcnMgZGUgc29ydGlkYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODI2CisjOiBidWlsdGluL2xvZy5jOjE4NDMKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs8Zm9udD4gWzxjYXA+IFs8bMOtbWl0Pl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODgwCisjOiBidWlsdGluL2xvZy5jOjE4OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgpAQCAtOTQyNiwxMDUgKzk3ODQsMTA1IEBACiAiTm8gcydoYSBwb2d1dCB0cm9iYXIgdW5hIGJyYW5jYSByZW1vdGEgc2VndWlkYS4gU2kgdXMgcGxhdSwgZXNwZWNpZmlxdWV1ICIKICI8Zm9udD4gbWFudWFsbWVudC5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs8b3BjaW9ucz5dIFs8Zml0eGVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTcKIG1zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgogbXNnc3RyICJpZGVudGlmaWNhIGwnZXN0YXQgZGUgZml0eGVyIGFtYiBldGlxdWV0ZXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAidXNhIGxsZXRyZXMgbWluw7pzY3VsZXMgcGVyIGFscyBmaXR4ZXJzICdhc3N1bWUgdW5jaGFuZ2VkJyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWxzIGZpdHhlcnMgZGVzYXRzIGVuIGxhIG1lbcOycmlhIGNhdSAocGVyIGRlZmVjdGUpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIzCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYSBlbiBsYSBzb3J0aWRhIGVscyBmaXR4ZXJzIHN1cHJpbWl0cyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWxzIGZpdHhlcnMgbW9kaWZpY2F0cyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNwogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWxzIGFsdHJlcyBmaXR4ZXJzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTIxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI5CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYSBlbiBsYSBzb3J0aWRhIGVscyBmaXR4ZXJzIGlnbm9yYXRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYSBlbiBsYSBzb3J0aWRhIGVsIG5vbSBkJ29iamVjdGUgZGVscyBjb250aW5ndXRzIMKrc3RhZ2XCuyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIm1vc3RyYSBlbHMgZml0eGVycyBlbiBlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgcXVlIHMnaGFuIGQnZWxpbWluYXIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgIm1vc3RyYSBub23DqXMgZWxzIG5vbXMgZGVscyBkaXJlY3RvcmlzICdvdGhlciciCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAibW9zdHJhIGVscyB0ZXJtaW5hZG9ycyBkZSBsw61uaWEgZGVscyBmaXR4ZXJzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAibm8gbW9zdHJpcyBlbHMgZGlyZWN0b3JpcyBidWl0cyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWxzIGZpdHhlcnMgc2Vuc2UgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIHJlc29sdWNpw7MgZGUgZGVzZmV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICJvbWV0IGVscyBmaXR4ZXJzIGNvaW5jaWRlbnRzIGFtYiBlbCBwYXRyw7MiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICJlbHMgcGF0cm9ucyBkJ2V4Y2x1c2nDsyBlcyBsbGVnZWl4ZW4gZGUgPGZpdHhlcj4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgcGF0cm9ucyBhZGRpY2lvbmFscyBkJ2V4Y2x1c2nDsyBwZXIgZGlyZWN0b3JpIGVuIDxmaXR4ZXI+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAiYWZlZ2VpeCBsZXMgZXhjbHVzaW9ucyBlc3TDoG5kYXJkcyBkZSBnaXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTgKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiZmVzIHF1ZSBsYSBzb3J0aWRhIHNpZ3VpIHJlbGF0aXZhIGFsIGRpcmVjdG9yaSBzdXBlcmlvciBkZWwgcHJvamVjdGUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjEKIG1zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKIG1zZ3N0ciAiaW5jbG91IHJlY3Vyc2l2YW1lbnQgYWxzIHN1Ym3DsmR1bHMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgInNpIHF1YWxzZXZvbCA8Zml0eGVyPiBubyDDqXMgZW4gbCfDrW5kZXgsIHRyYWN0YS1obyBjb20gYSBlcnJvciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInRyZWUtaXNoIgogbXNnc3RyICJhcmJyZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NQogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIiIKICJwcmV0w6luIHF1ZSBlbHMgY2FtaW5zIGVsaW1pbmF0cyBkZXNwcsOpcyBkZSA8YXJicmU+IGVuY2FyYSBzaWd1aW4gcHJlc2VudHMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjcKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJtb3N0cmEgbGVzIGRhZGVzIGRlIGRlcHVyYWNpw7MiCiAKQEAgLTk1MzksODYgKzk4OTcsODcgQEAKICIgICAgICAgICAgICAgICAgICAgICBbLS1leGl0LWNvZGVdIFstLWdldC11cmxdIFstLXN5bXJlZl1cbiIKICIgICAgICAgICAgICAgICAgICAgICBbPGRpcMOyc2l0PiBbPHJlZmVyw6huY2llcz4uLi5dXSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MgogbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgogbXNnc3RyICJubyBpbXByaW1laXhpcyBsJ1VSTCByZW1vdCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MSBidWlsdGluL2xzLXJlbW90ZS5jOjUzCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjUzIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTUKIG1zZ2lkICJleGVjIgogbXNnc3RyICJleGVjdXRhYmxlIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUyIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTQKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTQgYnVpbHRpbi9scy1yZW1vdGUuYzo1NgogbXNnaWQgInBhdGggb2YgZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUgaG9zdCIKIG1zZ3N0ciAiY2Ftw60gYSBnaXQtdXBsb2FkLXBhY2sgZW4gbGEgbcOgcXVpbmEgcmVtb3RhIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU2CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU4CiBtc2dpZCAibGltaXQgdG8gdGFncyIKIG1zZ3N0ciAibGltaXRhIGEgZXRpcXVldGVzIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU3CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU5CiBtc2dpZCAibGltaXQgdG8gaGVhZHMiCiBtc2dzdHIgImxpbWl0YSBhIGNhcHMiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTgKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAKIG1zZ2lkICJkbyBub3Qgc2hvdyBwZWVsZWQgdGFncyIKIG1zZ3N0ciAibm8gbW9zdHJpcyBsZXMgZXRpcXVldGVzIHBlbGFkZXMiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKIG1zZ2lkICJ0YWtlIHVybC48YmFzZT4uaW5zdGVhZE9mIGludG8gYWNjb3VudCIKIG1zZ3N0ciAidGluZ3VlcyBlbiBjb21wdGUgdXJsLjxiYXNlPi5pbnN0ZWFkT2YiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgInN1cnQgYW1iIGNvZGkgZGUgc29ydGlkYSAyIHNpIG5vIGVzIHRyb2JhIGNhcCByZWZlcsOobmNpYSBjb2luY2lkZW50IgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjY0CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY2CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCiBtc2dzdHIgIm1vc3RyYSBsYSByZWZlcsOobmNpYSBzdWJqYWNlbnQgYSBtw6lzIGRlIGwnb2JqZWN0ZSBxdWUgc2VueWFsaSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MjgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI5CiBtc2dpZCAiZ2l0IGxzLXRyZWUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLXRyZWUgWzxvcGNpb25zPl0gPGFyYnJlPiBbPGNhbcOtPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNgorIzogYnVpbHRpbi9scy10cmVlLmM6MTI3CiBtc2dpZCAib25seSBzaG93IHRyZWVzIgogbXNnc3RyICJtb3N0cmEgbm9tw6lzIGVscyBhcmJyZXMiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1YnRyZWVzIgogbXNnc3RyICJpbmNsb3UgcmVjdXJzaXZhbWVudCBhbHMgc3ViYXJicmVzIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMQogbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCi1tc2dzdHIgIm1vc3RyYSBlbHMgYXJicmVzIGVuIHJlY3Vyc2FyIgorbXNnc3RyICJtb3N0cmEgZWxzIGFyYnJlcyBxdWFuIGVzIHRyZWJhbGxhIHJlY3Vyc2l2YW1lbnQiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiYWNhYmEgbGVzIGVudHJhZGVzIGFtYiB1biBvY3RldCBOVUwiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9scy10cmVlLmM6MTM1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAibWlkYSBkZSBsJ29iamVjdGUgZCdpbmNsdXNpw7MiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNiBidWlsdGluL2xzLXRyZWUuYzoxMzgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNyBidWlsdGluL2xzLXRyZWUuYzoxMzkKIG1zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgogbXNnc3RyICJsbGlzdGEgbm9tw6lzIGVscyBub21zIGRlIGZpdHhlciIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQxCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDIKIG1zZ2lkICJ1c2UgZnVsbCBwYXRoIG5hbWVzIgogbXNnc3RyICJ1c2EgZWxzIG5vbXMgZGUgY2Ftw60gY29tcGxldHMiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MworIzogYnVpbHRpbi9scy10cmVlLmM6MTQ0CiBtc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgogbXNnc3RyICIiCiAibGxpc3RhIGwnYXJicmUgc2VuY2VyOyBubyBub23DqXMgZWwgZGlyZWN0b3JpIGFjdHVhbCAoaW1wbGljYSAtLWZ1bGwtbmFtZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgotbXNnc3RyICJnaXQgbWVyZ2UgWzxvcGNpb25zPl0gWzxjb21pc3Npw7M+Li4uXSIKKyM6IGJ1aWx0aW4vbWFpbHNwbGl0LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCittc2dzdHIgIiIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjQ3Ci1tc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCi1tc2dzdHIgImdpdCBtZXJnZSBbPG9wY2lvbnM+XSA8bWlzc2F0Z2U+IEhFQUQgPGNvbWlzc2nDsz4iCittc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCittc2dzdHIgImdpdCBtZXJnZSBbPG9wY2lvbnM+XSBbPGNvbWlzc2nDsz4uLi5dIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKQEAgLTk2NDcsMzMgKzEwMDA2LDMzIEBACiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkxlcyBlc3RyYXTDqGdpZXMgcGVyc29uYWxpdHphZGVzIGRpc3BvbmlibGVzIHPDs246IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyNworIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMzQKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJubyBtb3N0cmlzIGxlcyBlc3RhZMOtc3RpcXVlcyBkZSBkaWZlcsOobmNpYSBhbCBmaW5hbCBkZSBsYSBmdXNpw7MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTMwCisjOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNwogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAibW9zdHJhIGxlcyBlc3RhZMOtc3RpcXVlcyBkZSBkaWZlcsOobmNpYSBhbCBmaW5hbCBkZSBsYSBmdXNpw7MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTMzCisjOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjE0MAogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIihzaW7Dsm5pbSBkZSAtLXN0YXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vcHVsbC5jOjEzNgorIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxNDMKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKICJhZmVnZWl4IChjb20gYSBtw6B4aW0gPG4+KSBlbnRyYWRlcyBkZWwgcmVnaXN0cmUgY3VydCBhbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgIgogImRlIGZ1c2nDsyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQ2CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgImNyZWEgdW5hIMO6bmljYSBjb21pc3Npw7MgZW4gbGxvYyBkZSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDggYnVpbHRpbi9wdWxsLmM6MTQ5CiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICJyZWFsaXR6YSB1bmEgY29taXNzacOzIHNpIGxhIGZ1c2nDsyB0w6kgw6h4aXQgKHBlciBkZWZlY3RlKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTUyCiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgogbXNnc3RyICJlZGl0YSBlbCBtaXNzYXRnZSBhYmFucyBkZSBjb21ldHJlIgogCkBAIC05NjgxLDI4ICsxMDA0MCwyOCBAQAogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgInBlcm1ldCBsJ2F2YW7DpyByw6BwaWQgKHBlciBkZWZlY3RlKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMyBidWlsdGluL3B1bGwuYzoxNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMgYnVpbHRpbi9wdWxsLmM6MTU4CiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAiYXZvcnRhIHNpIGwnYXZhbsOnIHLDoHBpZCBubyDDqXMgcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU0CisjOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE2MQogbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAidmVyaWZpY2EgcXVlIGxhIGNvbWlzc2nDsyBhbm9tZW5hZGEgdGluZ3VpIHVuYSBzaWduYXR1cmEgR1BHIHbDoGxpZGEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjc3NCBidWlsdGluL3B1bGwuYzoxNTgKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjc3NiBidWlsdGluL3B1bGwuYzoxNjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgImVzdHJhdMOoZ2lhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE1OQorIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNjYKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCiBtc2dzdHIgImVzdHJhdMOoZ2lhIGRlIGZ1c2nDsyBhIHVzYXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9wdWxsLmM6MTYyCisjOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2OQogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAib3BjacOzPXZhbG9yIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE2MworIzogYnVpbHRpbi9tZXJnZS5jOjIyMSBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJvcGNpw7MgcGVyIGEgbCdlc3RyYXTDqGdpYSBkZSBmdXNpw7Mgc2VsZWNjaW9uYWRhIgogCkBAIC05NzE4LDcgKzEwMDc3LDcgQEAKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiY29udGludWEgbGEgZnVzacOzIGVuIGN1cnMgYWN0dWFsIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjMxIGJ1aWx0aW4vcHVsbC5jOjE3MAorIzogYnVpbHRpbi9tZXJnZS5jOjIzMSBidWlsdGluL3B1bGwuYzoxNzcKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgInBlcm1ldCBmdXNpb25hciBoaXN0w7JyaWVzIG5vIHJlbGFjaW9uYWRlcyIKIApAQCAtOTc2MywzMiArMTAxMjIsMzIgQEAKIG1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgogbXNnc3RyICJDYWRlbmEgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBkb2xlbnRhOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY1NgorIzogYnVpbHRpbi9tZXJnZS5jOjY1NwogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIk5vIHMnZXN0w6AgZ2VzdGlvbmFudCByZXMgYSBwYXJ0IGRlIGxhIGZ1c2nDsyBkZSBkb3MgY2Fwcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiT3BjacOzIGRlc2NvbmVndWRhIGRlIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4NQorIzogYnVpbHRpbi9tZXJnZS5jOjY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBkZSAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzQ2CisjOiBidWlsdGluL21lcmdlLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIk5vIHMnZXN0w6AgY29tZXRlbnQgbGEgZnVzacOzOyB1c2V1ICdnaXQgY29tbWl0JyBwZXIgYSBjb21wbGV0YXIgbGEgZnVzacOzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzUyCisjOiBidWlsdGluL21lcmdlLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKQEAgLTk4MDQsODAgKzEwMTYzLDcwIEBACiAiUydpZ25vcmFyYW4gbGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIGFtYiAnJWMnLCBpIHVuIG1pc3NhdGdlIGJ1aXRcbiIKICJhdm9ydGEgbGEgY29taXNzacOzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6Nzc3CiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICJFbCBtaXNzYXRnZSBkZSBjb21pc3Npw7Mgw6lzIGJ1aXQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk2CisjOiBidWlsdGluL21lcmdlLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAiTWVyYXZlbGzDs3MuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogIkxhIGZ1c2nDsyBhdXRvbcOgdGljYSBoYSBmYWxsYXQ7IGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZGVzcHLDqXMgY29tZXRldSBlbCAiCiAicmVzdWx0YXQuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCi1tc2dzdHIgIiclcycgbm8gw6lzIHVuYSBjb21pc3Npw7MiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODkKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5vIGhpIGhhIGNhcCBicmFuY2EgYWN0dWFsLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkxMAorIzogYnVpbHRpbi9tZXJnZS5jOjg5MQogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiTm8gaGkgaGEgY2FwIHJlbW90IHBlciBhIGxhIGJyYW5jYSBhY3R1YWwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTEyCisjOiBidWlsdGluL21lcmdlLmM6ODkzCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJObyBoaSBoYSBjYXAgZm9udCBwZXIgZGVmZWN0ZSBkZWZpbmlkYSBwZXIgYSBsYSBicmFuY2EgYWN0dWFsLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkxNworIzogYnVpbHRpbi9tZXJnZS5jOjg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgogbXNnc3RyICJObyBoaSBoYSBjYXAgYnJhbmNhIGFtYiBzZWd1aW1lbnQgcmVtb3QgcGVyIGEgJXMgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKIG1zZ3N0ciAiVmFsb3IgZG9sZW50ICclcycgZW4gbCdlbnRvcm4gJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgdGFuY2FyICclcyciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDY1CisjOiBidWlsdGluL21lcmdlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCi1tc2dzdHIgIm5vIMOpcyBjb3NhIHF1ZSBwdWd1ZW0gZnVzaW9uYXIgZW4gJXM6ICVzIgorbXNnc3RyICJubyDDqXMgcXVlbGNvbSBxdWUgcHVndWVtIGZ1c2lvbmFyIGVuICVzOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCi1tc2dzdHIgIm5vIMOpcyBjb3NhIHF1ZSBwdWd1ZW0gZnVzaW9uYXIiCittc2dzdHIgIm5vIMOpcyBxdWVsY29tIHF1ZSBwdWd1ZW0gZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY3CisjOiBidWlsdGluL21lcmdlLmM6MTE0NQogbXNnaWQgIi0tYWJvcnQgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tYWJvcnQgbm8gYWNjZXB0YSBwYXLDoG1ldHJlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNzEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ5CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJObyBoaSBoYSBmdXNpw7MgYSBhdm9ydGFyIChtYW5jYSBNRVJHRV9IRUFEKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgzCisjOiBidWlsdGluL21lcmdlLmM6MTE2MQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUgbm8gYWNjZXB0YSBwYXLDoG1ldHJlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExODcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY1CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgaW4gcHJvZ3Jlc3MgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJObyBoaSBoYSBmdXNpw7MgZW4gcHJvZ3LDqXMgKG1hbmNhIE1FUkdFX0hFQUQpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgxCiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTk4ODUsNyArMTAyMzQsNyBAQAogIk5vIGhldSBjb25jbMOycyBsYSB2b3N0cmEgZnVzacOzIChNRVJHRV9IRUFEIGV4aXN0ZWl4KS5cbiIKICJTaSB1cyBwbGF1LCBjb21ldGV1IGVscyB2b3N0cmVzIGNhbnZpcyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjEwCisjOiBidWlsdGluL21lcmdlLmM6MTE4OAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC05ODkzLDE2MiArMTAyNDIsMTYyIEBACiAiTm8gaGV1IGNvbmNsw7JzIGVsIHZvc3RyZSDCq2NoZXJyeSBwaWNrwrsgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RlaXgpLlxuIgogIlNpIHVzIHBsYXUsIGNvbWV0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIGFiYW5zIGRlIGZ1c2lvbmFyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTkxCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICJObyBoZXUgY29uY2zDsnMgZWwgdm9zdHJlIMKrY2hlcnJ5IHBpY2vCuyAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGVpeCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIyMgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDAKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiTm8gcG9kZXUgY29tYmluYXIgLS1zcXVhc2ggYW1iIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDgKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiIgogIk5vIGhpIGhhIHVuYSBjb21pc3Npw7MgZXNwZWNpZmljYWRhIGkgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm8gZXN0w6AgIgogImVzdGFibGVydC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQ3CisjOiBidWlsdGluL21lcmdlLmM6MTIyNQogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICJVbmEgY29taXNzacOzIMKrc3F1YXNowrsgYSB1biBIRUFEIGJ1aXQgZW5jYXJhIG5vIGVzIHBlcm1ldCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI3CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIlVuYSBjb21pc3Npw7Mgbm8gZCdhdmFuw6cgcsOgcGlkIG5vIHTDqSBzZW50aXQgYSB1biBIRUFEIGJ1aXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIG5vIMOpcyB1bmEgY29zYSBxdWUgcHVndWVtIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzQKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJFcyBwb3QgZnVzaW9uYXIgbm9tw6lzIHVuYSBjb21pc3Npw7MgYSB1biBIRUFEIGJ1aXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEyCisjOiBidWlsdGluL21lcmdlLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICJMYSBjb21pc3Npw7MgJXMgdMOpIHVuYSBzaWduYXR1cmEgR1BHIG5vIGZpYWJsZSwgc3Vwb3NhZGFtZW50IGRlICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICJMYSBjb21pc3Npw7MgJXMgdMOpIHVuYSBzaWduYXR1cmEgR1BHIGRvbGVudGEgc3Vwb3NhZGFtZW50IGRlICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkxhIGNvbWlzc2nDsyAlcyBubyB0w6kgc2lnbmF0dXJhIEdQRy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzIxCisjOiBidWlsdGluL21lcmdlLmM6MTI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkxhIGNvbWlzc2nDsyAlcyB0w6kgdW5hIHNpZ25hdHVyYSBHUEcgYm9uYSBkZSAlc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM4MworIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJzJ2VzdMOgIHJlZnVzYW50IGZ1c2lvbmFyIGhpc3TDsnJpZXMgbm8gcmVsYWNpb25hZGVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjEzNDgKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgogbXNnc3RyICJKYSBlc3TDoCBhbCBkaWEuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQwMgorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIlMnZXN0YW4gYWN0dWFsaXR6YW50ICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0MworIzogYnVpbHRpbi9tZXJnZS5jOjEzOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgIlMnZXN0w6AgaW50ZW50YW50IHVuYSBmdXNpw7MgbW9sdCB0cml2aWFsIGVuIGwnw61uZGV4Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUwCisjOiBidWlsdGluL21lcmdlLmM6MTQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDMxCiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiBZZWVhaCEiCiBtc2dzdHIgIkphIGVzdMOgIGFsIGRpYS4gRXN0dXBlbmQhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MzcKIG1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCiBtc2dzdHIgIk5vIMOpcyBwb3NzaWJsZSBhdmFuw6dhciByw6BwaWRhbWVudCwgcydlc3TDoCBhdm9ydGFudC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTA0IGJ1aWx0aW4vbWVyZ2UuYzoxNTgzCisjOiBidWlsdGluL21lcmdlLmM6MTQ2MCBidWlsdGluL21lcmdlLmM6MTUzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKIG1zZ3N0ciAiUydlc3TDoCByZWJvYmluYW50IGwnYXJicmUgYSBsYSBwcmlzdGluYS4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwOAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIlMnZXN0w6AgaW50ZW50YW50IGwnZXN0cmF0w6hnaWEgZGUgZnVzacOzICVzLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTc0CisjOiBidWlsdGluL21lcmdlLmM6MTUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiQ2FwIGVzdHJhdMOoZ2lhIGRlIGZ1c2nDsyBoYSBnZXN0aW9uYXQgbGEgZnVzacOzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NgorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIkwnZXN0cmF0w6hnaWEgZGUgZnVzacOzICVzIGhhIGZhbGxhdC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICJTJ2VzdMOgIHVzYW50IGVsICVzIHBlciBhIHByZXBhcmFyIGxhIHJlc29sdWNpw7MgYSBtw6AuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk3CisjOiBidWlsdGluL21lcmdlLmM6MTU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCiAiTGEgZnVzacOzIGF1dG9tw6B0aWNhIGhhIHNvcnRpdCBiw6k7IHMnaGEgYXR1cmF0IGFiYW5zIGRlIGNvbWV0cmUgY29tIHMnaGF2aWEgIgogImRlbWFuYXRcbiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gPGNvbWlzc2nDsz4gPGNvbWlzc2nDsz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGNvbWlzc2nDsz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbWlzc2nDsz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMwogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbWlzc2nDsz4gPGNvbWlzc2nDsz4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZmVyw6huY2lhPiBbPGNvbWlzc2nDsz5dIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKIG1zZ3N0ciAiZW1ldCB0b3RzIGVscyBhdmFudHBhc3NhdHMgY29tdW5zIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAidHJvYmEgZWxzIGF2YW50cGFzc2F0cyBwZXIgYSB1bmEgc29sYSBmdXNpw7MgZCduIHZpZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIyCiBtc2dpZCAibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiCiBtc2dzdHIgImxsaXN0YSBsZXMgcmV2aXNpb25zIG5vIGFiYXN0YWJsZXMgZCdhbHRyZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI0CiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICLDqXMgbGEgcHJpbWVyYSB1biBhdmFudHBhc3NhdCBkZSBsJ2FsdHJlPyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI1CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjYKIG1zZ2lkICJmaW5kIHdoZXJlIDxjb21taXQ+IGZvcmtlZCBmcm9tIHJlZmxvZyBvZiA8cmVmPiIKIG1zZ3N0ciAiIgogInRyb2JhIG9uIDxjb21pc3Npw7M+IHMnaGEgYmlmdXJjYXQgZGVsIHJlZ2lzdHJlIGRlIHJlZmVyw6huY2llcyBkZSA8cmVmZXLDqG5jaWE+IgogCi0jOiBidWlsdGluL21lcmdlLWZpbGUuYzo4CisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo5CiBtc2dpZCAiIgogImdpdCBtZXJnZS1maWxlIFs8b3B0aW9ucz5dIFstTCA8bmFtZTE+IFstTCA8b3JpZz4gWy1MIDxuYW1lMj5dXV0gPGZpbGUxPiAiCiAiPG9yaWctZmlsZT4gPGZpbGUyPiIKQEAgLTEwMTIzLDE1NyArMTA0NzIsMTYxIEBACiBtc2dpZCAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKIG1zZ3N0ciAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUzCiBtc2dpZCAiaW5wdXQgaXMgTlVMIHRlcm1pbmF0ZWQiCiBtc2dzdHIgImwnZW50cmFkYSDDqXMgYWNhYmFkYSBhbWIgTlVMIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1MyBidWlsdGluL3dyaXRlLXRyZWUuYzoyNAorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTQgYnVpbHRpbi93cml0ZS10cmVlLmM6MjUKIG1zZ2lkICJhbGxvdyBtaXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgInBlcm1ldCBlbHMgb2JqZWN0ZXMgYWJzZW50cyIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTQKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1CiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICJwZXJtZXQgbGEgY3JlYWNpw7MgZGUgbcOpcyBkJ3VuIGFyYnJlIgogCi0jOiBidWlsdGluL212LmM6MTYKKyM6IGJ1aWx0aW4vbXYuYzoxNwogbXNnaWQgImdpdCBtdiBbPG9wdGlvbnM+XSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgogbXNnc3RyICJnaXQgbXYgWzxvcGNpb25zPl0gPGZvbnQ+Li4uIDxkZXN0w60+IgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgIkVsIGRpcmVjdG9yaSAlcyDDqXMgZW4gbCfDrW5kZXggaSBubyBoaSBoYSBjYXAgc3VibcOyZHVsPyIKIAotIzogYnVpbHRpbi9tdi5jOjg0IGJ1aWx0aW4vcm0uYzoyOTAKKyM6IGJ1aWx0aW4vbXYuYzo4NSBidWlsdGluL3JtLmM6MjkwCiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKICJTaSB1cyBwbGF1LCDCq3N0YWdlwrsgZWxzIHZvc3RyZXMgY2FudmlzIGEgLmdpdG1vZHVsZXMgbyBmZXUgwqtzdGFnZcK7IGRlbHMgIgogIm1hdGVpeG9zIHBlciBhIHByb2NlZGlyIgogCi0jOiBidWlsdGluL212LmM6MTAyCisjOiBidWlsdGluL212LmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUuKnMgaXMgaW4gaW5kZXgiCiBtc2dzdHIgIiUuKnMgw6lzIGVuIGwnw61uZGV4IgogCi0jOiBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL212LmM6MTI1CiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJmb3LDp2EgZWwgbW92aW1lbnQgLyBjYW52aSBkZSBub20gZW5jYXJhIHF1ZSBlbCBkZXN0w60gZXhpc3RlaXhpIgogCi0jOiBidWlsdGluL212LmM6MTI1CisjOiBidWlsdGluL212LmM6MTI2CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgIm9tZXQgZWxzIGVycm9ycyBkZSBtb3ZpbWVudCAvIGNhbnZpIGRlIG5vbSIKIAotIzogYnVpbHRpbi9tdi5jOjE2NworIzogYnVpbHRpbi9tdi5jOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiAnJXMnIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiZWwgZGVzdMOtICclcycgbm8gw6lzIHVuIGRpcmVjdG9yaSIKIAotIzogYnVpbHRpbi9tdi5jOjE3OAorIzogYnVpbHRpbi9tdi5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIlMnZXN0w6AgY29tcHJvdmFudCBlbCBjYW52aSBkZSBub20gZGUgJyVzJyBhICclcydcbiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MgorIzogYnVpbHRpbi9tdi5jOjE4MwogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgImZvbnQgZG9sZW50YSIKIAotIzogYnVpbHRpbi9tdi5jOjE4NQorIzogYnVpbHRpbi9tdi5jOjE4NgogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIm5vIGVzIHBvdCBtb3VyZSB1biBkaXJlY3RvcmkgYSBkaW5zIGQnZWxsIG1hdGVpeCIKIAotIzogYnVpbHRpbi9tdi5jOjE4OAorIzogYnVpbHRpbi9tdi5jOjE4OQogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvdCBtb3VyZSB1biBkaXJlY3Rvcmkgc29icmUgdW4gZml0eGVyIgogCi0jOiBidWlsdGluL212LmM6MTk3CisjOiBidWlsdGluL212LmM6MTk4CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAiZWwgZGlyZWN0b3JpIGZvbnQgZXN0w6AgYnVpdCIKIAotIzogYnVpbHRpbi9tdi5jOjIyMgorIzogYnVpbHRpbi9tdi5jOjIyMwogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIm5vIGVzdMOgIHNvdGEgY29udHJvbCBkZSB2ZXJzaW9ucyIKIAotIzogYnVpbHRpbi9tdi5jOjIyNQorIzogYnVpbHRpbi9tdi5jOjIyNgogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAiZWwgZGVzdMOtIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL212LmM6MjMzCisjOiBidWlsdGluL212LmM6MjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgInMnZXN0w6Agc29icmVlc2NyaXZpbnQgJyVzJyIKIAotIzogYnVpbHRpbi9tdi5jOjIzNgorIzogYnVpbHRpbi9tdi5jOjIzNwogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIk5vIGVzIHBvdCBzb2JyZWVzY3JpdXJlIgogCi0jOiBidWlsdGluL212LmM6MjM5CisjOiBidWlsdGluL212LmM6MjQwCiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICJtw7psdGlwbGVzIGZvbnRzIHBlciBhbCBtYXRlaXggZGVzdMOtIgogCi0jOiBidWlsdGluL212LmM6MjQxCisjOiBidWlsdGluL212LmM6MjQyCiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJlbCBkaXJlY3RvcmkgZGVzdMOtIG5vIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL212LmM6MjQ4CisjOiBidWlsdGluL212LmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywgb3JpZ2VuPSVzLCBkZXN0w609JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNjkKKyM6IGJ1aWx0aW4vbXYuYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBlbCBub20gZGUgJXMgYSAlc1xuIgogCi0jOiBidWlsdGluL212LmM6Mjc1IGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzg0CisjOiBidWlsdGluL212LmM6Mjc2IGJ1aWx0aW4vcmVtb3RlLmM6NzExIGJ1aWx0aW4vcmVwYWNrLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJlbCBjYW52aSBkZWwgbm9tIGRlICclcycgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU3CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzM4CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcGNpb25zPl0gPGNvbWlzc2nDsz4uLi4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMzkKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1hbGwiCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPG9wY2lvbnM+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM0MAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcGNpb25zPl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5NQogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBlbHMgbm9tcyAoc2Vuc2UgU0hBLTEpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk2CiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICJub23DqXMgdXNhIGxlcyBldGlxdWV0ZXMgcGVyIGEgYW5vbWVuYXIgbGVzIGNvbWlzc2lvbnMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTgKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibm9tw6lzIHVzYSBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIDxwYXRyw7M+IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAwCittc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICJpZ25vcmEgbGVzIHJlZmVyw6huY2llcyBxdWUgY29pbmNpZGVpeGluIGFtYiA8cGF0csOzPiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgImxsaXN0YSB0b3RlcyBsZXMgY29taXNzaW9ucyBhYmFzdGFibGVzIGRlIHRvdGVzIGxlcyByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDMKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImxsZWdlaXggZCdzdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNAogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAicGVybWV0IGltcHJpbWlyIGVscyBub21zIGB1bmRlZmluZWRgIChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTAKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiZGVyZWZlcmVuY2lhIGxlcyBldGlxdWV0ZXMgZW4gbCdlbnRyYWRhICjDunMgaW50ZXJuKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1CisjOiBidWlsdGluL25vdGVzLmM6MjYKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBbbGlzdCBbPG9iamVjdD5dXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8cmVmZXLDqG5jaWEtZGUtbm90ZXM+XSBbbGxpc3RhIFs8b2JqZWN0ZT5dXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2CisjOiBidWlsdGluL25vdGVzLmM6MjcKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA8bXNnPiB8IC1GIDxmaWxlPiAiCiAifCAoLWMgfCAtQykgPG9iamVjdD5dIFs8b2JqZWN0Pl0iCkBAIC0xMDI4MSwxMiArMTA2MzQsMTIgQEAKICJnaXQgbm90ZXMgWy0tcmVmIDxyZWZlcsOobmNpYS1kZS1ub3Rlcz5dIGFkZCBbLWZdIFstLWFsbG93LWVtcHR5XSBbLW0gIgogIjxtaXNzYXRnZT4gfCAtRiA8Zml0eGVyPiB8ICgtYyB8IC1DKSA8b2JqZWN0ZT5dIFs8b2JqZWN0ZT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGNvcHkgWy1mXSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8cmVmZXLDqG5jaWEtZGUtbm90ZXM+XSBjb3B5IFstZl0gPGQnb2JqZWN0ZT4gPGEtb2JqZWN0ZT4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjI5CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgogIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKQEAgLTEwMjk0LDIwNyArMTA2NDcsMjA4IEBACiAiZ2l0IG5vdGVzIFstLXJlZiA8cmVmZXLDqG5jaWEtZGUtbm90ZXM+XSBhcHBlbmQgWy0tYWxsb3ctZW1wdHldIFstbSAiCiAiPG1pc3NhdGdlPiB8IC1GIDxmaXR4ZXI+IHwgKC1jIHwgLUMpIDxvYmplY3RlPl0gWzxvYmplY3RlPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBub3RlcyBbLS1yZWYgPHJlZmVyw6huY2lhLWRlLW5vdGVzPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3RlPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMAorIzogYnVpbHRpbi9ub3Rlcy5jOjMxCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyZWZlcsOobmNpYS1kZS1ub3Rlcz5dIHNob3cgWzxvYmplY3RlPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMQorIzogYnVpbHRpbi9ub3Rlcy5jOjMyCiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPHN0cmF0ZWd5Pl0gPG5vdGVzLXJlZj4iCiBtc2dzdHIgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxyZWZlcsOobmNpYS1kZS1ub3Rlcz5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPGVzdHJhdMOoZ2lhPl0gIgogIjxyZWZlcsOobmNpYS1kZS1ub3Rlcz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMgorIzogYnVpbHRpbi9ub3Rlcy5jOjMzCiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMzCisjOiBidWlsdGluL25vdGVzLmM6MzQKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM0CisjOiBidWlsdGluL25vdGVzLmM6MzUKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSByZW1vdmUgWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8cmVmZXLDqG5jaWEtZGUtbm90ZXM+XSByZW1vdmUgWzxvYmplY3RlPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNQorIzogYnVpbHRpbi9ub3Rlcy5jOjM2CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gcHJ1bmUgWy1uIHwgLXZdIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyZWZlcsOobmNpYS1kZS1ub3Rlcz5dIHBydW5lIFstbiB8IC12XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2CisjOiBidWlsdGluL25vdGVzLmM6MzcKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBnZXQtcmVmIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyZWZlcsOobmNpYS1kZS1ub3Rlcz5dIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQyCiBtc2dpZCAiZ2l0IG5vdGVzIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgW2xsaXN0YSBbPG9iamVjdGU+XV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ3CiBtc2dpZCAiZ2l0IG5vdGVzIGFkZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgYWRkIFs8b3BjaW9ucz5dIFs8b2JqZWN0ZT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTEKLW1zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgotbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZCdvYmplY3RlPiA8YS1vYmplY3RlPiIKLQogIzogYnVpbHRpbi9ub3Rlcy5jOjUyCittc2dpZCAiZ2l0IG5vdGVzIGNvcHkgWzxvcHRpb25zPl0gPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0PiIKK21zZ3N0ciAiZ2l0IG5vdGVzIGNvcHkgWzxvcGNpb25zPl0gPGQnb2JqZWN0ZT4gPGEtb2JqZWN0ZT4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MwogbXNnaWQgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD5dLi4uIgogbXNnc3RyICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs8ZCdvYmplY3RlPiA8YS1vYmplY3RlPl0uLi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NworIzogYnVpbHRpbi9ub3Rlcy5jOjU4CiBtc2dpZCAiZ2l0IG5vdGVzIGFwcGVuZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgYXBwZW5kIFs8b3BjaW9ucz5dIFs8b2JqZWN0ZT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MwogbXNnaWQgImdpdCBub3RlcyBlZGl0IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBlZGl0IFs8b2JqZWN0ZT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OAogbXNnaWQgImdpdCBub3RlcyBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBzaG93IFs8b2JqZWN0ZT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MwogbXNnaWQgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIFs8b3BjaW9ucz5dIDxyZWZlcsOobmNpYS1kZS1ub3Rlcz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MworIzogYnVpbHRpbi9ub3Rlcy5jOjc0CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcGNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc1CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs8b3BjaW9ucz5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MAogbXNnaWQgImdpdCBub3RlcyByZW1vdmUgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIHJlbW92ZSBbPG9iamVjdGU+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg0CisjOiBidWlsdGluL25vdGVzLmM6ODUKIG1zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBwcnVuZSBbPG9wY2lvbnM+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5CisjOiBidWlsdGluL25vdGVzLmM6OTAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1CiBtc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKIG1zZ3N0ciAiRXNjcml2aXUvZWRpdGV1IGxlcyBub3RlcyBwZXIgbCdvYmplY3RlIHNlZ8O8ZW50OiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE0NworIzogYnVpbHRpbi9ub3Rlcy5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBpbmljaWFyICdzaG93JyBwZXIgYSBsJ29iamVjdGUgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjE1MgogbXNnaWQgImNvdWxkIG5vdCByZWFkICdzaG93JyBvdXRwdXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGxhIHNvcnRpZGEgZGUgJ3Nob3cnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTU5CisjOiBidWlsdGluL25vdGVzLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmaW5hbGl0emFyICdzaG93JyBwZXIgYSBsJ29iamVjdGUgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjE5NQogbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKIG1zZ3N0ciAiIgogInNpIHVzIHBsYXUsIHByb3Zlw691IGVscyBjb250aW5ndXRzIGRlIGxhIG5vdGEgZmVudCBzZXJ2aXIgbCdvcGNpw7MgLW0gbyAiCiAibCdvcGNpw7MgLUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbCdvYmplY3RlIGRlIG5vdGEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgInMnaGFuIGRlaXhhdCBlbHMgY29udGluZ3V0cyBkZSBsYSBub3RhIGVuICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ2MworIzogYnVpbHRpbi9ub3Rlcy5jOjIzNiBidWlsdGluL3RhZy5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgbyBsbGVnaXIgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NCBidWlsdGluL25vdGVzLmM6MzA1IGJ1aWx0aW4vbm90ZXMuYzozMDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzIgYnVpbHRpbi9ub3Rlcy5jOjQyNyBidWlsdGluL25vdGVzLmM6NTEzCi0jOiBidWlsdGluL25vdGVzLmM6NTE4IGJ1aWx0aW4vbm90ZXMuYzo1OTYgYnVpbHRpbi9ub3Rlcy5jOjY1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NSBidWlsdGluL25vdGVzLmM6MzA2IGJ1aWx0aW4vbm90ZXMuYzozMDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzUgYnVpbHRpbi9ub3Rlcy5jOjQzMCBidWlsdGluL25vdGVzLmM6NTE2CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTkgYnVpbHRpbi9ub3Rlcy5jOjY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZXNvbGRyZSAnJXMnIGNvbSBhIHJlZmVyw6huY2lhIHbDoGxpZGEuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU3CisjOiBidWlsdGluL25vdGVzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgbCdvYmplY3RlICclcycuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYxCisjOiBidWlsdGluL25vdGVzLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBsZXMgZGFkZXMgZGUgbm9kZSBkZSBsJ29iamVjdGUgbm8gZGUgYmxvYiAnJXMnLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgImzDrW5pYSBkJ2VudHJhZGEgbWFsIGZvcm1hZGE6ICclcycuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzE2CisjOiBidWlsdGluL25vdGVzLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNvcGlhciBsZXMgbm90ZXMgZGUgJyVzJyBhICclcyciCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhCi0jLiBnaXQgbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCi0jOiBidWlsdGluL25vdGVzLmM6MzQ1CisjLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYSBnaXQKKyMuIG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorIy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICJzJ2VzdMOgIHJlZnVzYW50ICVzIGxlcyBub3RlcyBlbiAlcyAoZm9yYSBkZSByZWZzL25vdGVzLykiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNjUgYnVpbHRpbi9ub3Rlcy5jOjQyMCBidWlsdGluL25vdGVzLmM6NDk2Ci0jOiBidWlsdGluL25vdGVzLmM6NTA4IGJ1aWx0aW4vbm90ZXMuYzo1ODQgYnVpbHRpbi9ub3Rlcy5jOjY1MgotIzogYnVpbHRpbi9ub3Rlcy5jOjgwMiBidWlsdGluL25vdGVzLmM6OTQ5IGJ1aWx0aW4vbm90ZXMuYzo5NzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNjggYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk5CisjOiBidWlsdGluL25vdGVzLmM6NTExIGJ1aWx0aW4vbm90ZXMuYzo1ODcgYnVpbHRpbi9ub3Rlcy5jOjY1NAorIzogYnVpbHRpbi9ub3Rlcy5jOjgwNCBidWlsdGluL25vdGVzLmM6OTUxIGJ1aWx0aW4vbm90ZXMuYzo5NzIKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICJtYXNzYSBwYXLDoG1ldHJlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NjY1CisjOiBidWlsdGluL25vdGVzLmM6MzgxIGJ1aWx0aW4vbm90ZXMuYzo2NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKIG1zZ3N0ciAibm8gcydoYSB0cm9iYXQgY2FwIG5vdGEgcGVyIGEgbCdvYmplY3RlICVzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCisjOiBidWlsdGluL25vdGVzLmM6NDAyIGJ1aWx0aW4vbm90ZXMuYzo1NjUKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgogbXNnc3RyICJhbm90YSBlbHMgY29udGluZ3V0cyBjb20gYSBjYWRlbmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgImFub3RhIGVscyBjb250aW5ndXRzIGVuIHVuIGZpdHhlciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgInJldXNhIGkgZWRpdGEgbCdvYmplY3RlIGRlIG5vdGEgZXNwZWNpZmljYXQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJyZXVzYSBsJ29iamVjdGUgZGUgbm90YSBlc3BlY2lmaWNhdCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CisjOiBidWlsdGluL25vdGVzLmM6NDE0IGJ1aWx0aW4vbm90ZXMuYzo1NzcKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgInBlcm1ldCBsJ2VtbWFnYXR6ZW1hdGdlIGQndW5hIG5vdGEgYnVpZGEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxNSBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAicmVlbXBsYcOnYSBsZXMgbm90ZXMgZXhpc3RlbnRzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDM3CisjOiBidWlsdGluL25vdGVzLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTA1MDMsMzAgKzEwODU3LDMwIEBACiAiTm8gZXMgcG9kZW4gYWZlZ2lyIGxlcyBub3Rlcy4gUydoYW4gdHJvYmF0IG5vdGVzIGV4aXN0ZW50cyBkZSBsJ29iamVjdGUgJXMuICIKICJVc2V1ICctZicgcGVyIGEgc29icmVlc2NyaXVyZSBsZXMgbm90ZXMgZXhpc3RlbnRzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCisjOiBidWlsdGluL25vdGVzLmM6NDU1IGJ1aWx0aW4vbm90ZXMuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJTJ2VzdGFuIHNvYnJlZXNjcml2aW50IGxlcyBub3RlcyBleGlzdGVudHMgZGUgbCdvYmplY3RlICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CisjOiBidWlsdGluL25vdGVzLmM6NDY2IGJ1aWx0aW4vbm90ZXMuYzo2MjYgYnVpbHRpbi9ub3Rlcy5jOjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiUydlc3TDoCBlbGltaW5hbnQgbGEgbm90YSBkZSBsJ29iamVjdGUgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NwogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsbGVnZWl4IGVscyBvYmplY3RlcyBkZXMgZCdzdGRpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICIiCiAiY2FycmVnYSBsYSBjb25maWd1cmFjacOzIGRlIHJlZXNjcmlwdHVyYSBwZXIgYSA8b3JkcmU+IChpbXBsaWNhIC0tc3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTA0CisjOiBidWlsdGluL25vdGVzLmM6NTA3CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJoaSBoYSBtYXNzYSBwb2NzIHBhcsOgbWV0cmVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTI1CisjOiBidWlsdGluL25vdGVzLmM6NTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgY29weSBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTEwNTM1LDEyICsxMDg4OSwxMiBAQAogIk5vIGVzIHBvZGVuIGNvcGlhciBsZXMgbm90ZXMuIFMnaGFuIHRyb2JhdCBub3RlcyBleGlzdGVudHMgZGUgbCdvYmplY3RlICVzLiAiCiAiVXNldSAnLWYnIHBlciBhIHNvYnJlZXNjcml1cmUgbGVzIG5vdGVzIGV4aXN0ZW50cy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgIm1hbnF1ZW4gbm90ZXMgYSBsJ29iamVjdGUgZm9udCAlcy4gTm8gZXMgcG90IGNvcGlhci4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMDU0OSw1MyArMTA5MDMsNTMgQEAKICJFcyBkZXNhY29uc2VsbGVuIGxlcyBvcGNpb25zIC1tLy1GLy1jLy1DIGVuIGZhdm9yIGRlIGxhIHN1Ym9yZHJlICdlZGl0Jy5cbiIKICJTaSB1cyBwbGF1LCB1c2V1ICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJyBlbiBsbG9jIGQnYWl4w7IuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHN1cHJpbWlyIGxhIHJlZmVyw6huY2lhIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODkKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gc3VwcmltaXIgbGEgcmVmZXLDqG5jaWEgTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njg5CisjOiBidWlsdGluL25vdGVzLmM6NjkxCiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZWxpbWluYXIgbCdhcmJyZSBkZSB0cmViYWxsIGRlICdnaXQgbm90ZXMgbWVyZ2UnIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzA5CisjOiBidWlsdGluL25vdGVzLmM6NzExCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGxhIHJlZmVyw6huY2lhIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCB0cm9iYXIgY2FwIGNvbWlzc2nDsyBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMworIzogYnVpbHRpbi9ub3Rlcy5jOjcxNQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbGEgY29taXNzacOzIGRlIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzI2CisjOiBidWlsdGluL25vdGVzLmM6NzI4CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlc29sZHJlIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjczMQogbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSBub3RlcyBtZXJnZSIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmaW5hbGl0emFyIGxhIGZ1c2nDsyBkZSBub3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc1NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgogbXNnc3RyICJlc3RyYXTDqGdpYSBkZSBmdXNpw7MgZGUgbm90ZXMgZGVzY29uZWd1ZGEgJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzMKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbnMgZ2VuZXJhbHMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgogbXNnc3RyICJPcGNpb25zIGRlIGZ1c2nDsyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NwogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCkBAIC0xMDYwMyw0OCArMTA5NTcsNDggQEAKICJyZXNvbCBlbHMgY29uZmxpY3RlcyBkZSBub3RhIHVzYW50IGwnZXN0cmF0w6hnaWEgZG9uYWRhIChtYW51YWwvb3Vycy90aGVpcnMvIgogInVuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc3CisjOiBidWlsdGluL25vdGVzLmM6Nzc5CiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiUydlc3RhbiBjb21ldGVudCBsZXMgbm90ZXMgc2Vuc2UgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICJmaW5hbGl0emEgbGEgZnVzacOzIGRlIG5vdGVzIGNvbWV0ZW50IGxlcyBub3RlcyBzZW5zZSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MwogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIlMnZXN0w6AgYXZvcnRhbnQgbGEgcmVzb2x1Y2nDsyBkZSBmdXNpw7MgZGUgbm90ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiYXZvcnRhIGxhIGZ1c2nDsyBkZSBub3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc5NgogbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKIG1zZ3N0ciAibm8gZXMgcG90IGNvbWJpbmFyIC0tY29tbWl0LCAtLWFib3J0IGkgLXMvLS1zdHJhdGVneSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjgwMQogbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKIG1zZ3N0ciAiY2FsIGVzcGVjaWZpY2FyIHVuYSByZWZlcsOobmNpYSBkZSBub3RlcyBhIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODIzCisjOiBidWlsdGluL25vdGVzLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCiBtc2dzdHIgIi1zLy0tc3RyYXRlZ3kgZGVzY29uZWd1ZGE6ICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYwCisjOiBidWlsdGluL25vdGVzLmM6ODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgogbXNnc3RyICJ1bmEgZnVzacOzIGRlIG5vdGVzIGEgJXMgamEgZXN0w6AgZW4gY3VycyBhICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYzCisjOiBidWlsdGluL25vdGVzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgIiIKICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVtbWFnYXR6ZW1hciBsJ2VubGxhw6cgYSBsYSByZWZlcsOobmNpYSBkZSBub3RlcyAiCiAiYWN0dWFsICglcykiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgpAQCAtMTA2NTUsMjM1ICsxMTAwOSwyMzYgQEAKICJjb21ldGV1IGVsIHJlc3VsdGF0IGFtYiAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JywgbyBhdm9ydGV1IGxhIGZ1c2nDsyBhbWIgIgogIidnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIkwnb2JqZWN0ZSAlcyBubyB0w6kgY2FwIG5vdGFcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjkwMQogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAibCdpbnRlbnQgZCdlbGltaW5hciB1bmEgbm90YSBubyBleGlzdGVudCBubyDDqXMgdW4gZXJyb3IiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDQKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgbm9tcyBkJ29iamVjdGUgZGVzIGRlIGwnZW50cmFkYSBlc3TDoG5kYXJkIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQwIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworIzogYnVpbHRpbi9ub3Rlcy5jOjk0MiBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgIm5vIGVsaW1pbmlzLCBub23DqXMgbW9zdHJhIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQxCisjOiBidWlsdGluL25vdGVzLmM6OTQzCiBtc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKIG1zZ3N0ciAiaW5mb3JtYSBkZSBub3RlcyBwb2RhZGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgzCisjOiBidWlsdGluL25vdGVzLmM6OTg1CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICJyZWZlcsOobmNpYSBkZSBub3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk4NgogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICJ1c2EgbGVzIG5vdGVzIGRlIDxyZWZlcsOobmNpYS1kZS1ub3Rlcz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CisjOiBidWlsdGluL25vdGVzLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJzdWJvcmRyZSBkZXNjb25lZ3VkYTogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcGNpb25zPi4uLl0gWzwgPGxsaXN0YS1kZS1yZWZlcsOobmNpZXM+IHwgPCAiCiAiPGxsaXN0YS1kZS1vYmplY3Rlcz5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3BjaW9ucz4uLi5dIDxub20tYmFzZT4gWzwgPGxsaXN0YS1kZS1yZWZlcsOobmNpZXM+IHwgPCAiCiAiPGxsaXN0YS1kZS1vYmplY3Rlcz5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJlcnJvciBkZSBkZWZsYWNpw7MgKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc2CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAiIgogInMnZXN0w6AgaW5oYWJpbGl0YW50IGwnZXNjcmlwdHVyYSBkZSBtYXBlcyBkZSBiaXRzLCBlcyBkaXZpZGVpeGVuIGVscyBwYXF1ZXRzICIKICJhIGNhdXNhIGRlIHBhY2sucGFja1NpemVMaW1pdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzg5CiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICJTJ2VzdGFuIGVzY3JpdmludCBlbHMgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA2OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDY5CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgIiIKICJzJ2VzdMOgIGluaGFiaWxpdGFudCBsJ2VzY3JpcHR1cmEgZGUgbWFwZXMgZGUgYml0cywgcGVycXXDqCBhbGd1bnMgb2JqZWN0ZXMgbm8gIgogInMnZW1wYXF1ZXRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzQ0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0MzQKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICJTJ2VzdGFuIGNvbXByaW1pbnQgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgInZlcnNpw7MgZCfDrW5kZXggbm8gY29tcGF0aWJsZSAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAidmVyc2nDsyBkJ8OtbmRleCBkb2xlbnRhICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc3CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIm5vIG1vc3RyaXMgbCdpbmRpY2Fkb3IgZGUgcHJvZ3LDqXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc5CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAibW9zdHJhIGwnaW5kaWNhZG9yIGRlIHByb2dyw6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4MQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICJtb3N0cmEgbCdpbmRpY2Fkb3IgZGUgcHJvZ3LDqXMgZHVyYW50IGxhIGZhc2UgZCdlc2NyaXB0dXJhIGQnb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg0CiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICJzaW1pbGFyIGEgLS1hbGwtcHJvZ3Jlc3MgcXVhbiBsJ2luZGljYWRvciBkZSBwcm9ncsOpcyBlcyBtb3N0cmEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg1CiBtc2dpZCAidmVyc2lvblssb2Zmc2V0XSIKIG1zZ3N0ciAidmVyc2nDs1ssZGVzcGxhw6dhbWVudF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg2CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogImVzY3JpdSBlbCBmaXR4ZXIgZCfDrW5kZXggZGUgcGFxdWV0IGVuIGxhIHZlcnNpw7MgZGUgZm9ybWF0IGQnw61uZGV4ICIKICJlc3BlY2lmaWNhZGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg5CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAibWlkYSBtw6B4aW1hIGRlIGNhZGEgZml0eGVyIGRlIHBhcXVldCBkZSBzb3J0aWRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MQogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAiIgogImlnbm9yYSBlbHMgb2JqZWN0ZXMgcHJlc3RhdHMgZCd1biBlbW1hZ2F0emVtYW1lbnQgZCdvYmplY3RlcyBhbHRlcm5hdGl1IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MwogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JhIGVscyBvYmplY3RlcyBlbXBhcXVldGF0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTUKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICJsaW1pdGEgbGEgZmluZXN0cmEgZCdlbXBhcXVldGFtZW50IHBlciBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTcKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICIiCiAibGltaXRhIGxhIGZpbmVzdHJhIGQnZW1wYXF1ZXRhbWVudCBwZXIgbWVtw7JyaWEgYSBtw6lzIGRlbCBsw61taXQgZCdvYmplY3RlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTkKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKLW1zZ3N0ciAibG9uZ2l0dWQgbcOgeGltYSBkZSBsYSBjYWRlbmEgZGUgZGVsdGVzIHBlcm1lc2EgZW4gZWwgcGFxdWV0IHJlc3VsdGFudCIKK21zZ3N0ciAiIgorImxvbmdpdHVkIG3DoHhpbWEgZGUgbGEgY2FkZW5hIGRlIGRpZmVyw6huY2llcyBwZXJtZXNhIGVuIGVsIHBhcXVldCByZXN1bHRhbnQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAxCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgotbXNnc3RyICJyZXVzYSBsZXMgZGVsdGVzIGV4aXN0ZW50cyIKK21zZ3N0ciAicmV1c2EgbGVzIGRpZmVyw6huY2llcyBleGlzdGVudHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAzCiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAicmV1c2EgZWxzIG9iamVjdGVzIGV4aXN0ZW50cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgInVzYSBvYmplY3RlcyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA3CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKLW1zZ3N0ciAidXNhIGZpbHMgZW4gY2VyY2FyIGxlcyBtaWxsb3JlcyBjb2luY2lkw6huY2llcyBkZSBkZWx0YSIKK21zZ3N0ciAidXNhIGZpbHMgZW4gY2VyY2FyIGxlcyBtaWxsb3JlcyBjb2luY2lkw6huY2llcyBkZSBkaWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA5CiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAibm8gY3Jlw69zIHVuYSBlbWlzc2nDsyBkZSBwYXF1ZXQgYnVpZGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTExCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgcGFyw6BtZXRyZXMgZGUgcmV2aXNpw7MgZGVzIGRlIGwnZW50cmFkYSBlc3TDoG5kYXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMwogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJsaW1pdGEgZWxzIG9iamVjdGVzIGFscyBxdWFscyBlbmNhcmEgbm8gcydoYWdpbiBlbXBhcXVldGF0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxNgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJpbmNsb3UgZWxzIG9iamVjdGVzIGFiYXN0YWJsZXMgZGUgcXVhbHNldm9sIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxOQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiIgogImluY2xvdSBlbHMgb2JqZWN0ZXMgYWxzIHF1YWxzIGZhY2luIHJlZmVyw6huY2lhIGxlcyBlbnRyYWRlcyBkZWwgcmVnaXN0cmUgZGUgIgogInJlZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJpbmNsb3UgZWxzIG9iamVjdGVzIGFscyBxdWFscyBmYWNpIHJlZmVyw6huY2lhIGwnw61uZGV4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkyNQogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAiZW1ldCBlbCBwYXF1ZXQgYSBzdGRvdXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI3CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICIiCiAiaW5jbG91IGVscyBvYmplY3RlcyBkJ2V0aXF1ZXRhIHF1ZSBmYWNpbiByZWZlcsOobmNpYSBhbHMgb2JqZWN0ZXMgYSBlbXBhcXVldGFyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkyOQogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAicmV0w6luIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMxCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJlbXBhcXVldGEgZWxzIG9iamVjdGVzIGluYWJhc3RhYmxlcyBzb2x0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzMKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiZGVzZW1wYXF1ZXRhIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMgbcOpcyBub3VzIHF1ZSA8aG9yYT4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTM2CiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgImNyZWEgcGFxdWV0cyBwcmltcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzgKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAiY3JlYSBwYXF1ZXRzIGFkZXF1YXRzIHBlciBhIGxlcyBvYnRlbmNpb25zIHN1cGVyZmljaWFscyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDAKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICJpZ25vcmEgZWxzIHBhcXVldHMgcXVlIHRpbmd1aW4gdW4gZml0eGVyIC5rZWVwIGNvcnJlc3BvbmVudCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDIKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJuaXZlbGwgZGUgY29tcHJlc3Npw7MgZGUgcGFxdWV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJubyBhbWFndWlzIGxlcyBjb21pc3Npb25zIHBlciBlbXBlbHQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ2CiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAidXNhIHVuIMOtbmRleCBkZSBtYXBhIGRlIGJpdHMsIHNpIGVzdMOgIGRpc3BvbmlibGUsIHBlciBhIGFjY2VsZXJhciBlbCAiCiAicmVjb21wdGUgZCdvYmplY3RlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDgKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICJlc2NyaXUgdW4gw61uZGV4IGRlIG1hcGEgZGUgYml0cyBqdW50IGFtYiBsJ8OtbmRleCBkZSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDc1CiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUydlc3RhbiBjb21wdGFudCBlbHMgb2JqZWN0ZXMiCiAKQEAgLTEwOTIzLDU5ICsxMTI3OCw2NCBAQAogbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAibm8gZXMgcG90IHBvZGFyIGVuIHVuIGRpcMOyc2l0IGQnb2JqZWN0ZXMgcHJlY2lvc29zIgogCi0jOiBidWlsdGluL3B1bGwuYzo1MSBidWlsdGluL3B1bGwuYzo1MworIzogYnVpbHRpbi9wdWxsLmM6NTQgYnVpbHRpbi9wdWxsLmM6NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJWYWxvciBubyB2w6BsaWQgcGVyIGEgJXM6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MworIzogYnVpbHRpbi9wdWxsLmM6NzYKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxvcGNpb25zPl0gWzxkaXDDsnNpdD4gWzxlc3BlY2lmaWNhY2nDsy1kZS1yZWZlcsOobmNpYT4uLi5dXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTIxCisjOiBidWlsdGluL3B1bGwuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiY29udHJvbCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgImNvbnRyb2xhIGwnb2J0ZW5jacOzIHJlY3Vyc2l2YSBkZSBzdWJtw7JkdWxzIgorCisjOiBidWlsdGluL3B1bGwuYzoxMjgKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAiT3BjaW9ucyByZWxhY2lvbmFkZXMgYW1iIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjEzMQogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKLW1zZ3N0ciAiaW5jb3Jwb3JhIGVscyBjYW52aXMgcGVyIHJlYmFzYXIgZW4gbGxvYyBkZSBmdXNpb25hciIKK21zZ3N0ciAiaW5jb3Jwb3JhIGVscyBjYW52aXMgZmVudCDCq3JlYmFzZcK7IGVuIGxsb2MgZGUgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0OCBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoxOSBidWlsdGluL3JldmVydC5jOjEyMQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAicGVybWV0IGwnYXZhbsOnIHLDoHBpZCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTU3CisjOiBidWlsdGluL3B1bGwuYzoxNjQKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKIG1zZ3N0ciAiYXV0b23DoHRpY2FtZW50IGVtbWFnYXR6ZW1hL2Rlc2VtcGlsYSBhYmFucyBpIGRlc3Byw6lzIGRlIGZlciDCq3JlYmFzZcK7IgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4MAogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAiT3BjaW9ucyByZWxhY2lvbmFkZXMgYW1iIG9idGVuaXIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NQorIzogYnVpbHRpbi9wdWxsLmM6MTk4CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJub21icmUgZGUgc3VibcOyZHVscyBiYWl4YXRzIGVuIHBhcmFswrdsZWwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjI4NAorIzogYnVpbHRpbi9wdWxsLmM6Mjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgogbXNnc3RyICJWYWxvciBubyB2w6BsaWQgcGVyIGEgcHVsbC5mZjogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM5NworIzogYnVpbHRpbi9wdWxsLmM6Mzk5CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKIG1zZ3N0ciAiIgotIk5vIGhpIGhhIGNhcCBjYW5kaWRhdCBzb2JyZSBlbCBxdWFsIHJlYmFzYXIgZW50cmUgbGVzIHJlZmVyw6huY2llcyBxdWUgYWNhYmV1ICIKLSJkJ29idGVuaXIuIgorIk5vIGhpIGhhIGNhcCBjYW5kaWRhdCBzb2JyZSBlbCBxdWFsIGZlciDCq3JlYmFzZcK7IGVudHJlIGxlcyByZWZlcsOobmNpZXMgcXVlICIKKyJhY2FiZXUgZCdvYnRlbmlyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzk5CisjOiBidWlsdGluL3B1bGwuYzo0MDEKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogIk5vIGhpIGhhIGNhbmRpZGF0cyBwZXIgYSBmdXNpb25hciBlbnRyZSBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBhY2FiZXUgZCdvYnRlbmlyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAwCisjOiBidWlsdGluL3B1bGwuYzo0MDIKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtMTA5ODMsNyArMTEzNDMsNyBAQAogIkdlbmVyYWxtZW50IGFpeMOyIHZvbCBkaXIgcXVlIGhldSBwcm92ZcOvdCB1bmEgZXNwZWNpZmljYWNpw7MgZGVcbiIKICJyZWZlcsOobmNpYSBkZSBjb21vZMOtIHF1ZSBubyB0ZW5pYSBjYXAgY29pbmNpZMOobmNpYSBlbiBlbCBjb3N0YXQgcmVtb3QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTEwOTk0LDQ0ICsxMTM1NCw0NCBAQAogIlBlcnF1w6ggYXF1ZXN0IG5vIMOpcyBlbCByZW1vdCBjb25maWd1cmF0IHBlciBkZWZlY3RlIHBlciBhIGxhIHZvc3RyYVxuIgogImJyYW5jYSBhY3R1YWwsIGhldSBkJ2VzcGVjaWZpY2FyIHVuYSBicmFuY2EgZW4gbGEgbMOtbmlhIGQnb3JkcmVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiQWN0dWFsbWVudCBubyBzb3UgZW4gY2FwIGJyYW5jYS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBidWlsdGluL3B1bGwuYzo0MjUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAiU2kgdXMgcGxhdSwgZXNwZWNpZmlxdWV1IHNvYnJlIHF1w6ggYnJhbmNhIHZvbGV1IGZlciDCq3JlYmFzZcK7LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0MTQgYnVpbHRpbi9wdWxsLmM6NDI5IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIlNpIHVzIHBsYXUsIGVzcGVjaWZpcXVldSBhbWIgcXXDqCBicmFuY2Egdm9sZXUgZnVzaW9uYXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTMgYnVpbHRpbi9wdWxsLmM6NDI4CisjOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDMwCiBtc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiVmVnZXUgZ2l0LXB1bGwoMSkgcGVyIGRldGFsbHMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDIxIGJ1aWx0aW4vcHVsbC5jOjQzMAorIzogYnVpbHRpbi9wdWxsLmM6NDE3IGJ1aWx0aW4vcHVsbC5jOjQyMyBidWlsdGluL3B1bGwuYzo0MzIKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPHJlbW90PiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9wdWxsLmM6NDM3IGdpdC1yZWJhc2Uuc2g6NDU2CiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxicmFuY2E+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiTm8gaGkgaGEgY2FwIGluZm9ybWFjacOzIGRlIHNlZ3VpbWVudCBwZXIgYSBsYSBicmFuY2EgYWN0dWFsLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogIlNpIHZvbGV1IGVzdGFibGlyIGluZm9ybWFjacOzIGRlIHNlZ3VpbWVudCBwZXIgYSBhcXVlc3RhIGJyYW5jYSwgcG9kZXUgZmVyLWhvICIKICJhbWI6IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBjb25maWd1cmF0aW9uIHNwZWNpZmllcyB0byBtZXJnZSB3aXRoIHRoZSByZWYgJyVzJ1xuIgpAQCAtMTEwNDAsMjggKzExNDAwLDI4IEBACiAiTGEgdm9zdHJhIGNvbmZpZ3VyYWNpw7MgZXNwZWNpZmljYSBmdXNpb25hciBhbWIgbGEgcmVmZXLDqG5jaWEgJyVzJ1xuIgogImRlbCByZW1vdCwgcGVyw7Igbm8gcydoYSBvYnRpbmd1dCB0YWwgcmVmZXLDqG5jaWEuIgogCi0jOiBidWlsdGluL3B1bGwuYzo3NTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjc5MgogbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKIG1zZ3N0ciAicydlc3TDoCBpZ25vcmFudCAtLXZlcmlmeS1zaWduYXR1cmVzIGVuIGZlciDCq3JlYmFzZcK7IgogCi0jOiBidWlsdGluL3B1bGwuYzo4MDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MAogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgImwnb3BjacOzIC0tW25vLV0tYXV0b3N0YXNoIMOpcyB2w6BsaWQgbm9tw6lzIGFtYiAtLXJlYmFzZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgwOQorIzogYnVpbHRpbi9wdWxsLmM6ODQ4CiBtc2dpZCAiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIKIG1zZ3N0ciAiIgogIlMnZXN0w6AgYWN0dWFsaXR6YW50IHVuYSBicmFuY2Egbm8gbmFzY3VkYSBhbWIgY2FudmlzIGFmZWdpdHMgYSBsJ8OtbmRleC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgxMgorIzogYnVpbHRpbi9wdWxsLmM6ODUxCiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAiYmFpeGFyIGZlbnQgwqtyZWJhc2XCuyIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODEzCisjOiBidWlsdGluL3B1bGwuYzo4NTIKIG1zZ2lkICJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICJzaSB1cyBwbGF1LCBjb21ldGV1LWxvcyBvIGVtbWFnYXR6ZW1ldS1sb3MuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MzgKKyM6IGJ1aWx0aW4vcHVsbC5jOjg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTExMDcyLDcgKzExNDMyLDcgQEAKICJzJ2VzdMOgIGF2YW7Dp2FudCByw6BwaWRhbWVudCBlbCB2b3N0cmUgYXJicmUgZGUgdHJlYmFsbCBkZXMgZGVcbiIKICJsYSBjb21pc3Npw7MgJXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTExMDkwLDI3ICsxMTQ1MCwzMSBAQAogIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgogInBlciBhIHJlY3VwZXJhci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg1OAorIzogYnVpbHRpbi9wdWxsLmM6ODk3CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIk5vIGVzIHBvZGVuIGZ1c2lvbmFyIG3Dumx0aXBsZXMgYnJhbnF1ZXMgYSB1biBIRUFEIGJ1aXQuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NjIKKyM6IGJ1aWx0aW4vcHVsbC5jOjkwMQogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCiBtc2dzdHIgIk5vIGVzIHBvdCBmZXIgwqtyZWJhc2XCuyBzb2JyZSBtw7psdGlwbGVzIGJyYW5xdWVzLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTYKKyM6IGJ1aWx0aW4vcHVsbC5jOjkwOAorbXNnaWQgImNhbm5vdCByZWJhc2Ugd2l0aCBsb2NhbGx5IHJlY29yZGVkIHN1Ym1vZHVsZSBtb2RpZmljYXRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3CiBtc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBwdXNoIFs8b3BjaW9ucz5dIFs8ZGlww7JzaXQ+IFs8ZXNwZWNpZmljYWNpw7MtZGUtcmVmZXLDqG5jaWE+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjg5CisjOiBidWlsdGluL3B1c2guYzo5MAogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKIG1zZ3N0ciAiYWJyZXZpYXR1cmEgZCdldGlxdWV0YSBzZW5zZSA8dGFnPiIKIAotIzogYnVpbHRpbi9wdXNoLmM6OTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwMAogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBub23DqXMgYWNjZXB0YSBub21zIGRlIHJlZmVyw6huY2lhIGRlIGRlc3TDrSBzZW56aWxscyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQzCisjOiBidWlsdGluL3B1c2guYzoxNDQKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgpAQCAtMTExMTksNyArMTE0ODMsNyBAQAogIlBlciBhIHRyaWFyIHF1YWxzZXZvbCBvcGNpw7MgcGVybWFuZW50bWVudCwgdmVnZXUgcHVzaC5kZWZhdWx0IGEgJ2dpdCBoZWxwICIKICJjb25maWcnLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQ2CisjOiBidWlsdGluL3B1c2guYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtMTExNDQsNyArMTE1MDgsNyBAQAogIiAgICBnaXQgcHVzaCAlcyAlc1xuIgogIiVzIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtMTExNTksNyArMTE1MjMsNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxub20tZGUtYnJhbmNhLXJlbW90YT5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtMTExNzIsMTMgKzExNTM2LDEzIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICIiCiAiTGEgYnJhbmNhIGFjdHVhbCAlcyB0w6kgbcO6bHRpcGxlcyBicmFucXVlcyBmb250cywgcydlc3TDoCByZWZ1c2FudCBwdWphci4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4NgorIzogYnVpbHRpbi9wdXNoLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTExMTg5LDE0ICsxMTU1MywxNCBAQAogImJyYW5jYSBhY3R1YWwgJyVzJywgc2Vuc2UgZGlyLW1lIHF1w6ggcHVqYXIgcGVyIGEgYWN0dWFsaXR6YXJcbiIKICJxdWluYSBicmFuY2EgcmVtb3RhLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjQ1CisjOiBidWlsdGluL3B1c2guYzoyNDYKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogIk5vIGhldSBlc3BlY2lmaWNhdCBjYXAgZXNwZWNpZmljYWNpw7MgZGUgcmVmZXLDqG5jaWEgYSBwdWphciwgaSBwdXNoLmRlZmF1bHQgIgogIsOpcyBcIm5vdGhpbmdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1MgorIzogYnVpbHRpbi9wdXNoLmM6MjUzCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xMTIwOCw3ICsxMTU3Miw3IEBACiAiZWxzIGNhbnZpcyByZW1vdHMgKHBlciBleGVtcGxlLCAnZ2l0IHB1bGwgLi4uJykgYWJhbnMgZGUgcHVqYXIgZGUgbm91LlxuIgogIlZlZ2V1IGxhICdOb3RhIHNvYnJlIGF2YW7Dp29zIHLDoHBpZHMnIGEgJ2dpdCBwdXNoIC0taGVscCcgcGVyIGRldGFsbHMuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1OQogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtMTEyMjEsNyArMTE1ODUsNyBAQAogImFiYW5zIGRlIHB1amFyIGRlIG5vdS5cbiIKICJWZWdldSBsYSAnTm90YSBzb2JyZSBhdmFuw6dvcyByw6BwaWRzJyBhICdnaXQgcHVzaCAtLWhlbHAnIHBlciBkZXRhbGxzLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY0CisjOiBidWlsdGluL3B1c2guYzoyNjUKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgpAQCAtMTEyMzAsMTggKzExNTk0LDE4IEBACiAiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKICJTJ2hhbiByZWJ1dGphdCBsZXMgYWN0dWFsaXR6YWNpb25zIHBlcnF1w6ggZWwgcmVtb3QgY29udMOpIHRyZWJhbGxcbiIKLSJxdWUgbm8gdGVuaXUgbG9jYWxtZW50LiBBaXjDsiB1c3VhbG1lbnQgw6lzIGNhdXNhdCBwZXIgdW4gYWx0cmUgZGlww7JzaXRcbiIKKyJxdWUgbm8gdGVuaXUgbG9jYWxtZW50LiBBaXjDsiBhY29zdHVtYXIgYSBzZXIgY2F1c2F0IHBlciB1biBhbHRyZSBkaXDDsnNpdFxuIgogInF1ZSBoYSBwdWphdCBhIGxhIG1hdGVpeGEgcmVmZXLDqG5jaWEuIFBvdCBzZXIgcXVlIHByaW1lciB2dWxndWV1XG4iCiAiaW50ZWdyYXIgZWxzIGNhbnZpcyByZW1vdHMgKHBlciBleGVtcGxlLCAnZ2l0IHB1bGwgLi4uJykgYWJhbnMgZGVcbiIKICJwdWphciBkZSBub3UuXG4iCiAiVmVnZXUgbGEgJ05vdGEgc29icmUgYXZhbsOnb3MgcsOgcGlkcycgYSAnZ2l0IHB1c2ggLS1oZWxwJyBwZXIgZGV0YWxscy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3MQorIzogYnVpbHRpbi9wdXNoLmM6MjcyCiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiIgogIlMnaGFuIHJlYnV0amF0IGxlcyBhY3R1YWxpdHphY2lvbnMgcGVycXXDqCBsJ2V0aXF1ZXRhIGphIGV4aXN0ZWl4IGVuIGVsIHJlbW90LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjc0CisjOiBidWlsdGluL3B1c2guYzoyNzUKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCkBAIC0xMTI1MiwyMiArMTE2MTYsMjIgQEAKICJmZXIgcXVlIGFzc2VueWFsaSB1biBvYmplY3RlIG5vIGRlIGNvbWlzc2nDsywgc2Vuc2UgdXNhciBsJ29wY2nDs1xuIgogIictLWZvcmNlJy5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzM0CisjOiBidWlsdGluL3B1c2guYzozMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICJTJ2VzdMOgIHB1amFudCBhICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMzOAorIzogYnVpbHRpbi9wdXNoLmM6MzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHB1amFyIGFsZ3VuZXMgcmVmZXLDqG5jaWVzIGEgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY5CisjOiBidWlsdGluL3B1c2guYzozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAiZGlww7JzaXQgZG9sZW50ICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MAorIzogYnVpbHRpbi9wdXNoLmM6MzcxCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTEyODksMTk0ICsxMTY1MywyMDYgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPG5vbT5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg4CisjOiBidWlsdGluL3B1c2guYzozODkKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIGkgLS10YWdzIHPDs24gaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg5CisjOiBidWlsdGluL3B1c2guYzozOTAKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLWFsbCBubyBlcyBwb3QgY29tYmluYXIgYW1iIGVzcGVjaWZpY2FjaW9ucyBkZSByZWZlcsOobmNpYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk0CisjOiBidWlsdGluL3B1c2guYzozOTUKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIGkgLS10YWdzIHPDs24gaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk1CisjOiBidWlsdGluL3B1c2guYzozOTYKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLW1pcnJvciBubyBlcyBwb3QgY29tYmluYXIgYW1iIGVzcGVjaWZpY2FjaW9ucyBkZSByZWZlcsOobmNpYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDAwCisjOiBidWlsdGluL3B1c2guYzo0MDEKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgaSAtLW1pcnJvciBzw7NuIGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOAorIzogYnVpbHRpbi9wdXNoLmM6NTIzCiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAiZGlww7JzaXQiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOSBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6NTI0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAicHVqYSB0b3RlcyBsZXMgcmVmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKIG1zZ3N0ciAicmVmbGVjdGVpeCB0b3RlcyBsZXMgcmVmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjIKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNwogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICJzdXByaW1laXggbGVzIHJlZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIzCisjOiBidWlsdGluL3B1c2guYzo1MjgKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgInB1amEgbGVzIGV0aXF1ZXRlcyAobm8gZXMgcG90IHVzYXIgYW1iIC0tYWxsIG8gLS1taXJyb3IpIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMSBidWlsdGluL3NlbmQtcGFjay5jOjE2NgogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgImZvcsOnYSBsZXMgYWN0dWFsaXR6YWNpb25zIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE4MAogbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCiBtc2dzdHIgIm5vbS1kZS1yZWZlcsOobmNpYT46PGVzcGVyYXQiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTM0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCiBtc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCiBtc2dzdHIgInJlcXVlcmVpeCBxdWUgZWwgdmFsb3IgYW50aWMgZGUgbGEgcmVmZXLDqG5jaWEgc2lndWkgZCdhcXVlc3QgdmFsb3IiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMgorIzogYnVpbHRpbi9wdXNoLmM6NTM3CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250cm9sYSBsYSBwdWphZGEgcmVjdXJzaXZhIGRlbHMgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CisjOiBidWlsdGluL3B1c2guYzo1MzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICJ1c2EgZWwgcGFxdWV0IHByaW0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNSBidWlsdGluL3B1c2guYzo1MzYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNTgKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU5CisjOiBidWlsdGluL3B1c2guYzo1NDAgYnVpbHRpbi9wdXNoLmM6NTQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYwCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICJwcm9ncmFtYSBxdWUgcmVwIGVscyBwYXF1ZXRzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzcKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MgogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICJlc3RhYmxlaXggbGEgZm9udCBwZXIgYSBnaXQgcHVsbC9zdGF0dXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MAorIzogYnVpbHRpbi9wdXNoLmM6NTQ1CiBtc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCiBtc2dzdHIgInBvZGEgbGVzIHJlZmVyw6huY2llcyBlbGltaW5hZGVzIGxvY2FsbWVudCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQyCisjOiBidWlsdGluL3B1c2guYzo1NDcKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAiZXZpdGEgZWwgZ2FueG8gZGUgcHJlcHVqYWRhIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDMKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0OAogbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKIG1zZ3N0ciAicHVqYSBsZXMgZXRpcXVldGVzIGFic2VudHMgcGVyw7IgcmVsbGV2YW50cyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NTEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAic2lnbmEgbGEgcHVqYWRhIGFtYiBHUEciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OCBidWlsdGluL3NlbmQtcGFjay5jOjE3MAorIzogYnVpbHRpbi9wdXNoLmM6NTUzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgImRlbWFuYSB1bmEgdHJhbnNhY2Npw7MgYXTDsm1pY2EgYWwgY29zdGF0IHJlbW90IgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NCBidWlsdGluL3NlbmQtcGFjay5jOjE3MQogbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKIG1zZ3N0ciAiZXNwZWPDrWZpYyBhbCBzZXJ2aWRvciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NTQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKIG1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCiBtc2dzdHIgIm9wY2nDsyBhIHRyYW5zbWV0cmUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MworIzogYnVpbHRpbi9wdXNoLmM6NTY4CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIi0tZGVsZXRlIMOpcyBpbmNvbXBhdGlibGUgYW1iIC0tYWxsLCAtLW1pcnJvciBpIC0tdGFncyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTY1CisjOiBidWlsdGluL3B1c2guYzo1NzAKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKIG1zZ3N0ciAiLS1kZWxldGUgbm8gdMOpIHNlbnRpdCBzZW5zZSByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4NAorIzogYnVpbHRpbi9wdXNoLmM6NTg5CiBtc2dpZCAicHVzaCBvcHRpb25zIG11c3Qgbm90IGhhdmUgbmV3IGxpbmUgY2hhcmFjdGVycyIKIG1zZ3N0ciAibGVzIG9wY2lvbnMgZGUgcHVqYWRhIG5vIGhhbiBkZSB0ZW5pciBjYXLDoGN0ZXJzIGRlIGzDrW5pYSBub3ZhIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjQwCiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKICJpbmRleC1vdXRwdXQ9PGZpbGU+XSAoLS1lbXB0eSB8IDx0cmVlLWlzaDE+IFs8dHJlZS1pc2gyPiBbPHRyZWUtaXNoMz5dXSkiCiBtc2dzdHIgIiIKICJnaXQgcmVhZC10cmVlIFsoLW0gWy0tdHJpdmlhbF0gWy0tYWdncmVzc2l2ZV0gfCAtLXJlc2V0IHwgLS1wcmVmaXg9PHByZWZpeD4pICIKLSJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxpZ25vcmFsLWRlLWdpdD5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdICIKLSJbLS1pbmRleC1vdXRwdXQ9PGZpdHhlcj5dICgtLWVtcHR5IHwgPGFyYnJlMT4gWzxhcmJyZTI+IFs8YXJicmUzPl1dKSIKKyJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS0iCisiaW5kZXgtb3V0cHV0PTxmaXR4ZXI+XSAoLS1lbXB0eSB8IDxhcmJyZTE+IFs8YXJicmUyPiBbPGFyYnJlMz5dXSkiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMQogbXNnaWQgIndyaXRlIHJlc3VsdGluZyBpbmRleCB0byA8ZmlsZT4iCiBtc2dzdHIgImVzY3JpdSBsJ8OtbmRleCByZXN1bHRhbnQgYWwgPGZpdHhlcj4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICJub23DqXMgYnVpZGEgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNgogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgIlMnZXN0w6AgZnVzaW9uYW50IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKIG1zZ2lkICJwZXJmb3JtIGEgbWVyZ2UgaW4gYWRkaXRpb24gdG8gYSByZWFkIgogbXNnc3RyICJyZWFsaXR6YSB1bmEgZnVzacOzIGEgbcOpcyBkJ3VuYSBsZWN0dXJhIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExOQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzAKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgImZ1c2nDsyBkZSAzIHZpZXMgc2kgbm8gY2FsIGZ1c2nDsyBhIG5pdmVsbCBkZSBmaXR4ZXJzIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzIKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICJmdXNpw7MgZGUgMyB2aWVzIGVuIHByZXPDqG5jaWEgZCdhZmVnaW1lbnRzIGkgZWxpbWluYWNpb25zIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKIG1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICJlbCBtYXRlaXggcXVlIC1tLCBwZXLDsiBkZXNjYXJ0YSBsZXMgZW50cmFkZXMgbm8gZnVzaW9uYWRlcyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CiBtc2dpZCAiPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICI8c3ViZGlyZWN0b3JpPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICJsbGVnaXUgbCdhcmJyZSBhIGwnw61uZGV4IHNvdGEgPHN1YmRpcmVjdG9yaT4vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICJhY3R1YWxpdHphIGwnYXJicmUgZGUgdHJlYmFsbCBhbWIgZWwgcmVzdWx0YXQgZGUgZnVzacOzIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKIG1zZ2lkICJnaXRpZ25vcmUiCiBtc2dzdHIgImdpdGlnbm9yZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCiBtc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgogbXNnc3RyICJwZXJtZXQgcXVlIGVscyBmaXR4ZXJzIGV4cGzDrWNpdGFtZW50IGlnbm9yYXRzIHNlIHNvYnJlZXNjcmlndWluIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgIm5vIGNvbXByb3ZpcyBsJ2FyYnJlIGRlIHRyZWJhbGwgZGVzcHLDqXMgZGUgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NgogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAibm8gYWN0dWFsaXR6aXMgbCfDrW5kZXggbmkgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgIm9tZXQgbCdhcGxpY2FjacOzIGRlbCBmaWx0cmUgZCdhZ2FmYW1lbnQgcGFyY2lhbCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJkZXB1cmEgdW5wYWNrLXRyZWVzIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI2CisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6OAorbXNnaWQgImdpdCByZWJhc2UtLWhlbHBlciBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHJlYmFzZS0taGVscGVyIFs8b3BjaW9ucz5dIgorCisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MjAKK21zZ2lkICJjb250aW51ZSByZWJhc2UiCittc2dzdHIgImNvbnRpbnVhIGVsIMKrcmViYXNlwrsiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyMgorbXNnaWQgImFib3J0IHJlYmFzZSIKK21zZ3N0ciAiYXZvcnRhIGVsIMKrcmViYXNlwrsiCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjgKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6NzkzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgzOAogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCiAiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKQEAgLTExNTA3LDcgKzExODgzLDcgQEAKICJwcmVkZXRlcm1pbmF0LCBlc3RhYmxpdSBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzXG4iCiAiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGEgJ3JlZnVzZScuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgxMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4NTgKIG1zZ2lkICIiCiAiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgogIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCkBAIC0xMTUyOSwyOSArMTE5MDUsMjkgQEAKICJcbiIKICJQZXIgYSBzaWxlbmNpYXIgYXF1ZXN0IG1pc3NhdGdlLCBwb2RldSBlc3RhYmxpci1sYSBhICdyZWZ1c2UnLiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODgzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5MzMKIG1zZ2lkICJxdWlldCIKIG1zZ3N0ciAic2lsZW5jacOzcyIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk3CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDcKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiSGV1IGQnZXNwZWNpZmljYXIgdW4gZGlyZWN0b3JpLiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo0MjMKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIHBlciBhICclcycgbm8gw6lzIHVuYSBtYXJjYSBkZSB0ZW1wcyB2w6BsaWRhIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU0MCBidWlsdGluL3JlZmxvZy5jOjU0NQorIzogYnVpbHRpbi9yZWZsb2cuYzo1NDEgYnVpbHRpbi9yZWZsb2cuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiclcycgbm8gw6lzIHVuYSBtYXJjYSBkZSB0ZW1wcyB2w6BsaWRhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzCiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1lPiA8dXJsPiIKQEAgLTExNTU5LDgyICsxMTkzNSw4MiBAQAogImdpdCByZW1vdGUgYWRkIFstdCA8YnJhbmNhPl0gWy1tIDxtZXN0cmE+XSBbLWZdIFstLXRhZ3MgfCAtLW5vLXRhZ3NdIFstLSIKICJtaXJyb3I9PGZldGNofHB1c2g+XSA8bm9tPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjM0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzUKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW5hbWUgPGFudGljPiA8bm91PiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjM5CisjOiBidWlsdGluL3JlbW90ZS5jOjE2IGJ1aWx0aW4vcmVtb3RlLmM6NDAKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVtb3ZlIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2IGJ1aWx0aW4vcmVtb3RlLmM6NDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcgYnVpbHRpbi9yZW1vdGUuYzo0NQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5vbT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2E+KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOAogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4CisjOiBidWlsdGluL3JlbW90ZS5jOjE5CiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5CisjOiBidWlsdGluL3JlbW90ZS5jOjIwCiBtc2dpZCAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKIG1zZ3N0ciAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3J1cD4gfCA8cmVtb3Q+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA8bm9tPiA8YnJhbmNhPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjcwCisjOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzEKIG1zZ2lkICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgZ2V0LXVybCBbLS1wdXNoXSBbLS1hbGxdIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3NgogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxub20+IDx1cmwtbm91PiBbPHVybC1hbnRpYz5dIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NwogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bmFtZT4gPG5ld3VybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bm9tPiA8dXJsLW5vdT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NworIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc4CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxub20+IDx1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjMwCiBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIGFkZCBbPG9wY2lvbnM+XSA8bm9tPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0OQorIzogYnVpbHRpbi9yZW1vdGUuYzo1MAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5vbT4gPGJyYW5jYT4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDxub20+IDxicmFuY2E+Li4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjU1CisjOiBidWlsdGluL3JlbW90ZS5jOjU2CiBtc2dpZCAiZ2l0IHJlbW90ZSBzaG93IFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzaG93IFs8b3BjaW9ucz5dIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYwCisjOiBidWlsdGluL3JlbW90ZS5jOjYxCiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWzxvcGNpb25zPl0gPG5vbT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYKIG1zZ2lkICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwPiB8IDxyZW1vdGU+XS4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcGNpb25zPl0gWzxncnVwPiB8IDxyZW1vdD5dLi4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0CisjOiBidWlsdGluL3JlbW90ZS5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICJTJ2VzdMOgIGFjdHVhbGl0emFudCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3CiBtc2dpZCAiIgogIi0tbWlycm9yIGlzIGRhbmdlcm91cyBhbmQgZGVwcmVjYXRlZDsgcGxlYXNlXG4iCiAiXHQgdXNlIC0tbWlycm9yPWZldGNoIG9yIC0tbWlycm9yPXB1c2ggaW5zdGVhZCIKQEAgLTExNjQzLDg4ICsxMjAxOSw4OCBAQAogIlx0IHBsYXUsIHVzZXUgLS1taXJyb3I9ZmV0Y2ggb1xuIgogIlx0IC0tbWlycm9yPXB1c2ggZW4gbGxvYyBkJ2FpeMOyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBtaXJyb3IgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJwYXLDoG1ldHJlIGRlIHJlZmxleGnDsyBkZXNjb25lZ3V0OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYwCiBtc2dpZCAiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIKIG1zZ3N0ciAib2J0w6luIGxlcyBicmFucXVlcyByZW1vdGVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIKIG1zZ2lkICJpbXBvcnQgYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyB3aGVuIGZldGNoaW5nIgogbXNnc3RyICJlbiBvYnRlbmlyLCBpbXBvcnRhIHRvdGVzIGxlcyBldGlxdWV0ZXMgaSB0b3RzIGVscyBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1CiBtc2dpZCAib3IgZG8gbm90IGZldGNoIGFueSB0YWcgYXQgYWxsICgtLW5vLXRhZ3MpIgogbXNnc3RyICJvIG5vIG9idGluZ3VpcyBjYXAgZXRpcXVldGEgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NwogbXNnaWQgImJyYW5jaChlcykgdG8gdHJhY2siCiBtc2dzdHIgImJyYW5xdWVzIGEgc2VndWlyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjgKIG1zZ2lkICJtYXN0ZXIgYnJhbmNoIgogbXNnc3RyICJicmFuY2EgbWVzdHJhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkKIG1zZ2lkICJwdXNofGZldGNoIgogbXNnc3RyICJwdXNofGZldGNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAiZXN0YWJsZWl4IGVsIHJlbW90IGNvbSBhIG1pcmFsbCBhbCBxdWFsIHB1amFyIG8gZGVsIHF1YWwgb2J0ZW5pciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgyCiBtc2dpZCAic3BlY2lmeWluZyBhIG1hc3RlciBicmFuY2ggbWFrZXMgbm8gc2Vuc2Ugd2l0aCAtLW1pcnJvciIKIG1zZ3N0ciAiZXNwZWNpZmljYXIgdW5hIGJyYW5jYSBtZXN0cmEgbm8gdMOpIHNlbnRpdCBhbWIgLS1taXJyb3IiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjE4NAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgIiIKICJlc3BlY2lmaWNhciBsZXMgYnJhbnF1ZXMgYSBzZWd1aXIgdMOpIHNlbnRpdCBub23DqXMgYW1iIG1pcmFsbHMgZCdvYnRlbmNpw7MiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjE5MSBidWlsdGluL3JlbW90ZS5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJlbCByZW1vdCAlcyBqYSBleGlzdGVpeC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjMzCisjOiBidWlsdGluL3JlbW90ZS5jOjE5NSBidWlsdGluL3JlbW90ZS5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICInJXMnIG5vIMOpcyB1biBub20gZGUgcmVtb3QgdsOgbGlkIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIzNAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwIG1hc3RlciAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNvbmZpZ3VyYXIgbGEgbWVzdHJhICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM2CisjOiBidWlsdGluL3JlbW90ZS5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZ2V0IGZldGNoIG1hcCBmb3IgcmVmc3BlYyAlcyIKIG1zZ3N0ciAiIgogIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBtYXBhIGQnb2J0ZW5jacOzIGRlIGwnZXNwZWNpZmljYWNpw7MgZGUgcmVmZXLDqG5jaWEgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM3IGJ1aWx0aW4vcmVtb3RlLmM6NDQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjQzOCBidWlsdGluL3JlbW90ZS5jOjQ0NgogbXNnaWQgIihtYXRjaGluZykiCiBtc2dzdHIgIihjb2luY2lkZW50KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDUwCiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIihzdXByaW1pcikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzU3IGJ1aWx0aW4vcmVtb3RlLmM6ODU0CisjOiBidWlsdGluL3JlbW90ZS5jOjYyMyBidWlsdGluL3JlbW90ZS5jOjc1OCBidWlsdGluL3JlbW90ZS5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCiBtc2dzdHIgIk5vIGhpIGhhIHRhbCByZW1vdDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM5CisjOiBidWlsdGluL3JlbW90ZS5jOjY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBjYW52aWFyIGVsIG5vbSBkZSBsYSBzZWNjacOzIGRlIGNvbmZpZ3VyYWNpw7MgJyVzJyBhICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CisjOiBidWlsdGluL3JlbW90ZS5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKQEAgLTExNzM2LDE3ICsxMjExMiwxNyBAQAogIlx0JXNcbiIKICJcdFNpIHVzIHBsYXUsIGFjdHVhbGl0emV1IGxhIGNvbmZpZ3VyYWNpw7MgbWFudWFsbWVudCBzaSDDqXMgbmVjZXNzYXJpLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJsYSBzdXByZXNzacOzIGRlICclcycgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjcyOQorIzogYnVpbHRpbi9yZW1vdGUuYzo3MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImxhIGNyZWFjacOzIGRlICclcycgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5MgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTUKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTExNzYxLDQzMiArMTIxMzcsNDM5IEBACiAiZWxpbWluYXQ7XG4iCiAicGVyIGEgc3VwcmltaXItbGVzLCB1c2V1OiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlbGltaW5hciBsYSBzZWNjacOzIGRlIGNvbmZpZ3VyYWNpw7MgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIG5vdSAobGEgcHLDsnhpbWEgb2J0ZW5jacOzIGVtbWFnYXR6ZW1hcsOgIGEgcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCisjOiBidWlsdGluL3JlbW90ZS5jOjkxMwogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIgc2VndWl0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMgorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTUKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKIG1zZ3N0ciAiIGVzdGFuY2F0ICh1c2V1ICdnaXQgcmVtb3RlIHBydW5lJyBwZXIgYSBlbGltaW5hcikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNwogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiA/Pz8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CisjOiBidWlsdGluL3JlbW90ZS5jOjk1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgImJyYW5jaC4lcy5tZXJnZSBubyB2w6BsaWQ7IG5vIGVzIHBvdCBmZXIgwqtyZWJhc2XCuyBzb2JyZSA+IDEgYnJhbmNhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2MworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIgogbXNnc3RyICJlcyBmYSDCq3JlYmFzZcK7IGludGVyYWN0aXZhbWVudCBzb2JyZSBlbCByZW1vdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgImVzIGZhIMKrcmViYXNlwrsgc29icmUgZWwgcmVtb3QgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJlcyBmdXNpb25hIGFtYiBlbCByZW1vdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiZXMgZnVzaW9uYSBhbWIgZWwgcmVtb3QgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjOiBidWlsdGluL3JlbW90ZS5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgogbXNnc3RyICIlLSpzICAgIGkgYW1iIGVsIHJlbW90ICVzXG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE5CiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICJjcmVhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMgogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAic3VwcmltZWl4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNgogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgImFsIGRpYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICJhdmFuw6cgcsOgcGlkIHBvc3NpYmxlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMgogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsb2NhbCBubyBhY3R1YWxpdHphdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgZm9yw6dhIGEgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBwdWphIGEgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIGZvcsOnYSBhICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIHB1amEgYSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE0CisjOiBidWlsdGluL3JlbW90ZS5jOjExMTcKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAibm8gY29uc3VsdGlzIGVscyByZW1vdHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqIHJlbW90ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAgVVJMIGQnb2J0ZW5jacOzOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NiBidWlsdGluL3JlbW90ZS5jOjExNjIgYnVpbHRpbi9yZW1vdGUuYzoxMzAxCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihzZW5zZSBVUkwpIgogCi0jLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAotIy4gdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgorIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduCisjLiB3aXRoIHRoZSBvbmUgaW4gIiBGZXRjaCBVUkw6ICVzIgorIy4gdHJhbnNsYXRpb24uCisjLgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAgVVJMIGRlIHB1amFkYTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQgYnVpbHRpbi9yZW1vdGUuYzoxMTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBCcmFuY2EgZGUgSEVBRDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiKG5vIGNvbnN1bHRhdCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY2CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIoZGVzY29uZWd1dCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiIKICIgIEJyYW5jYSBkZSBIRUFEIChlbCBIRUFEIHJlbW90IMOpcyBhbWJpZ3UsIHBvdCBzZXIgdW4gZGVscyBzZWfDvGVudHMpOlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIgIEJyYW5jYSByZW1vdGE6JXMiCiBtc2dzdHJbMV0gIiAgQnJhbnF1ZXMgcmVtb3RlczolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg1IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIChlc3RhdCBubyBjb25zdWx0YXQpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIEJyYW5jYSBsb2NhbCBjb25maWd1cmFkYSBwZXIgYSAnZ2l0IHB1bGwnOiIKIG1zZ3N0clsxXSAiICBCcmFucXVlcyBsb2NhbHMgY29uZmlndXJhZGVzIHBlciBhICdnaXQgcHVsbCc6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAgJ2dpdCBwdXNoJyByZWZsZWN0aXLDoCBsZXMgcmVmZXLDqG5jaWVzIGxvY2FscyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAgUmVmZXLDqG5jaWEgbG9jYWwgY29uZmlndXJhZGEgcGVyIGEgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clsxXSAiICBSZWZlcsOobmNpZXMgbG9jYWxzIGNvbmZpZ3VyYWRlcyBwZXIgYSAnZ2l0IHB1c2gnJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyOQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAiZXN0YWJsZWl4IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBzZWdvbnMgZWwgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjMxCiBtc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIG1zZ3N0ciAic3VwcmltZWl4IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDYKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICJObyBlcyBwb3QgZGV0ZXJtaW5hciBlbCBIRUFEIHJlbW90IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0OAogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICIiCiAiTcO6bHRpcGxlcyBicmFucXVlcyBkZSBIRUFEIHJlbW90ZXMuIFNpIHVzIHBsYXUsIHRyaWV1LW5lIHVuYSBleHBsw61jaXRhbWVudCAiCiAiYW1iOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjUyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBzdXByaW1pciAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAiTm8gw6lzIHVuYSByZWZlcsOobmNpYSB2w6BsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNvbmZpZ3VyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBlcyB0b3JuYXLDoCBwZW5qYW50ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgcydoYSB0b3JuYXQgcGVuamFudCEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCiBtc2dzdHIgIlMnZXN0w6AgcG9kYW50ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBbcG9kYXJpYV0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIgKiBbcG9kYXRdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM2MgogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgInBvZGEgZWxzIHJlbW90cyBkZXNwcsOpcyBkJ29idGVuaXItbG9zIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDI1IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OSBidWlsdGluL3JlbW90ZS5jOjE1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiTm8gaGkgaGEgdGFsIHJlbW90ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAiYWZlZ2VpeCBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQ4CiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAiY2FwIHJlbW90IGVzcGVjaWZpY2F0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICJjb25zdWx0YSBlbHMgVVJMIGRlIHB1amFkYSBlbiBsbG9jIGRlbHMgVVJMIGQnb2J0ZW5jacOzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NwogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAicmV0b3JuYSB0b3RzIGVscyBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgImNhcCBVUkwgY29uZmlndXJhdCBwZXIgYWwgcmVtb3QgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjEKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAibWFuaXB1bGEgZWxzIFVSTCBkZSBwdWphZGEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAiYWZlZ2VpeCBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI1CiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgInN1cHJpbWVpeCBVUkxzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMgogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQgLS1kZWxldGUgbm8gdMOpIHNlbnRpdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICJQYXRyw7MgZCdVUkwgYW50aWMgbm8gdsOgbGlkOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJObyBzJ2hhIHRyb2JhdCB0YWwgVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODMKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIk5vIHNlIHN1cHJpbWlyYW4gdG90cyBlbHMgVVJMIG5vIGRlIHB1amFkYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTcKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICJzaWd1ZXMgZGV0YWxsYXQ7IHMnaGEgZGUgY29swrdsb2NhciBhYmFucyBkJ3VuYSBzdWJvcmRyZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIyCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAiU3Vib3JkcmUgZGVzY29uZWd1ZGE6ICVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3CisjOiBidWlsdGluL3JlcGFjay5jOjE4CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBbPG9wY2lvbnM+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMgorIzogYnVpbHRpbi9yZXBhY2suYzoyMwogbXNnaWQgIiIKICJJbmNyZW1lbnRhbCByZXBhY2tzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBiaXRtYXAgaW5kZXhlcy4gIFVzZVxuIgogIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9yIGRpc2FibGUgdGhlIHBhY2sud3JpdGViaXRtYXBzIGNvbmZpZ3VyYXRpb24uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY2CisjOiBidWlsdGluL3JlcGFjay5jOjE2OAogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICJlbXBhcXVldGEtaG8gdG90IGVuIHVuIMO6bmljIHBhcXVldCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcwCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAiZWwgbWF0ZWl4IHF1ZSAtYSwgaSBzb2x0YSBlbHMgb2JqZWN0ZXMgaW5hYmFzdGFibGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgImVsaW1pbmEgZWxzIHBhcXVldHMgcmVkdW5kYW50cywgaSBleGVjdXRldSBnaXQtcHJ1bmUtcGFja2VkIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MworIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAicGFzc2EgLS1uby1yZXVzZS1kZWx0YSBhIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc1CisjOiBidWlsdGluL3JlcGFjay5jOjE3NwogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAicGFzc2EgLS1uby1yZXVzZS1vYmplY3QgYSBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzkKIG1zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiBtc2dzdHIgIm5vIGV4ZWN1dGlzIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCisjOiBidWlsdGluL3JlcGFjay5jOjE4MgogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzYSAtLWxvY2FsIGEgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICJlc2NyaXUgw61uZGV4IGRlIG1hcGEgZGUgYml0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgImRhdGEgYXByb3hpbWFkYSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiYW1iIC1BLCBubyBzb2x0aXMgZWxzIG9iamVjdGVzIG3DqXMgdmVsbHMgcXVlIGFxdWVzdCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg4CiBtc2dpZCAid2l0aCAtYSwgcmVwYWNrIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImFtYiAtYSwgcmVlbXBhcXVldGEgZWxzIG9iamVjdGVzIGluYWJhc3RhYmxlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgotbXNnc3RyICJtaWRhIGRlIGxhIGZpbmVzdHJhIHF1ZSBzJ3VzYSBwZXIgYSBjb21wcmVzc2nDsyBkZSBkZWx0ZXMiCittc2dzdHIgIm1pZGEgZGUgbGEgZmluZXN0cmEgcXVlIHMndXNhIHBlciBhIGNvbXByZXNzacOzIGRlIGRpZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxIGJ1aWx0aW4vcmVwYWNrLmM6MTk3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgIm9jdGV0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkyCiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIiIKICJlbCBtYXRlaXggcXVlIGwnYW50ZXJpb3IsIHBlcsOyIGxpbWl0YSBsYSBtaWRhIGRlIG1lbcOycmlhIGVuIGxsb2MgZGVsIG5vbWJyZSAiCiAiZCdlbnRyYWRlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKLW1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCi1tc2dzdHIgImxpbWl0YSBsYSBwcm9mdW5kaXRhdCBtw6B4aW1hIGRlIGxlcyBkZWx0ZXMiCi0KICM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0Cittc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgorbXNnc3RyICJsaW1pdGEgbGEgcHJvZnVuZGl0YXQgbcOgeGltYSBkZSBsZXMgZGlmZXLDqG5jaWVzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE5NgorIywgZnV6enkKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMiCittc2dzdHIgImxpbWl0YSBsYSBwcm9mdW5kaXRhdCBtw6B4aW1hIGRlIGxlcyBkaWZlcsOobmNpZXMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk4CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCiBtc2dzdHIgIm1pZGEgbcOgeGltYSBkZSBjYWRhIGZpdHhlciBkZSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk2CisjOiBidWlsdGluL3JlcGFjay5jOjIwMAogbXNnaWQgInJlcGFjayBvYmplY3RzIGluIHBhY2tzIG1hcmtlZCB3aXRoIC5rZWVwIgogbXNnc3RyICJyZWVtcGFxdWV0YSBlbHMgb2JqZWN0ZXMgZW4gcGFxdWV0cyBtYXJjYXRzIGFtYiAua2VlcCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMDYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjEwCiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAibm8gZXMgcG90IHN1cHJpbWlyIHBhcXVldHMgZW4gdW4gZGlww7JzaXQgZCdvYmplY3RlcyBwcmVjaW9zb3MiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjEwCisjOiBidWlsdGluL3JlcGFjay5jOjIxNAogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIGkgLUEgc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjQwMCBidWlsdGluL3dvcmt0cmVlLmM6MTE1CisjOiBidWlsdGluL3JlcGFjay5jOjQwNiBidWlsdGluL3dvcmt0cmVlLmM6MTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlbGltaW5hciAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxOQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjAKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIDxvYmplY3Q+IDxyZXBsYWNlbWVudD4iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdGU+IDxyZWVtcGxhw6dhbWVudD4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIwCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMQogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1lZGl0IDxvYmplY3Q+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA8b2JqZWN0ZT4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMgogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1ncmFmdCA8Y29tbWl0PiBbPHBhcmVudD4uLi5dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPGNvbWlzc2nDsz4gWzxtYXJlPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMwogbXNnaWQgImdpdCByZXBsYWNlIC1kIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgcmVwbGFjZSAtZCA8b2JqZWN0ZT4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNAogbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXRyw7M+XV0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyNSBidWlsdGluL3JlcGxhY2UuYzozNjMgYnVpbHRpbi9yZXBsYWNlLmM6MzkxCisjOiBidWlsdGluL3JlcGxhY2UuYzozMzEgYnVpbHRpbi9yZXBsYWNlLmM6MzY5IGJ1aWx0aW4vcmVwbGFjZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIKIG1zZ3N0ciAiTm8gw6lzIHVuIG5vbSBkJ29iamVjdGUgdsOgbGlkOiAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgImV0aXF1ZXRhIGRlIGZ1c2nDsyBkb2xlbnRhIGVuIGxhIGNvbWlzc2nDsyAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgImV0aXF1ZXRhIGRlIGZ1c2nDsyBtYWwgZm9ybWFkYSBlbiBsYSBjb21pc3Npw7MgJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzY4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgpAQCAtMTIxOTUsMjA1ICsxMjU3OCwyMDUgQEAKICJsYSBjb21pc3Npw7Mgb3JpZ2luYWwgJyVzJyBjb250w6kgbCdldGlxdWV0YSBkZSBmdXNpw7MgJyVzJyBxdWUgZXMgZGVzY2FydGE7ICIKICJ1c2V1IC0tZWRpdCBlbiBsbG9jIGRlIC0tZ3JhZnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBvcmlnaW5hbCBjb21taXQgJyVzJyBoYXMgYSBncGcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAibGEgY29taXNzacOzIG9yaWdpbmFsICclcycgdMOpIHVuYSBzaWduYXR1cmEgZ3BnLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDgKIG1zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKIG1zZ3N0ciAicydlbGltaW5hcsOgIGxhIHNpZ25hdHVyYSBlbiBsYSBjb21pc3Npw7MgZGUgcmVlbXBsYcOnYW1lbnQhIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgcmVwbGFjZW1lbnQgY29tbWl0IGZvcjogJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBjb21pc3Npw7MgZGUgcmVlbXBsYcOnYW1lbnQgcGVyIGE6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM4CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgImxsaXN0YSBsZXMgcmVmZXLDqG5jaWVzIHJlZW1wbGHDp2FkZXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM5CiBtc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAic3VwcmltZWl4IGxlcyByZWZlcsOobmNpZXMgcmVlbXBsYcOnYWRlcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM0CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDAKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAiZWRpdGEgdW4gb2JqZWN0ZSBleGlzdGVudCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM1CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDEKIG1zZ2lkICJjaGFuZ2UgYSBjb21taXQncyBwYXJlbnRzIgogbXNnc3RyICJjYW52aWEgbGVzIG1hcmVzIGQndW5hIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM2CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDIKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICJyZWVtcGxhw6dhIGxhIHJlZmVyw6huY2lhIHNpIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MwogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAibm8gaW1wcmltZWl4aXMgYmVsbGFtZW50IGVscyBjb250aW5ndXRzIHBlciBhIC0tZWRpdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQKIG1zZ2lkICJ1c2UgdGhpcyBmb3JtYXQiCiBtc2dzdHIgInVzYSBhcXVlc3QgZm9ybWF0IgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjEyCisjOiBidWlsdGluL3JlcmVyZS5jOjEzCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPHBhdGg+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPGNhbcOtPi4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTgKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTkKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAicmVnaXN0cmEgbGVzIHJlc29sdWNpb25zIG5ldGVzIGVuIGwnw61uZGV4IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOQogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29taXNzacOzPl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNworIzogYnVpbHRpbi9yZXNldC5jOjMwCiBtc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzxhcmJyZT5dIFstLV0gPGNhbWlucz4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOAorIzogYnVpbHRpbi9yZXNldC5jOjMxCiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgogbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPGFyYnJlPl0gWy0tXSBbPGNhbWlucz4uLi5dIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgIm1peGVkIgogbXNnc3RyICJtaXh0IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgInNvZnQiCiBtc2dzdHIgInN1YXUiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAiaGFyZCIKIG1zZ3N0ciAiZHVyIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgIm1lcmdlIgogbXNnc3RyICJmdXNpw7MiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAia2VlcCIKIG1zZ3N0ciAicmV0ZW5pbWVudCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjc0CisjOiBidWlsdGluL3Jlc2V0LmM6NzcKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFELiIKIG1zZ3N0ciAiTm8gdGVuaXUgdW4gSEVBRCB2w6BsaWQuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3OQogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdHJvYmFyIGwnYXJicmUgZGUgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MgorIzogYnVpbHRpbi9yZXNldC5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBsJ2FyYnJlIGRlICVzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjEwMAorIzogYnVpbHRpbi9yZXNldC5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKIG1zZ3N0ciAiSEVBRCBhcmEgw6lzIGEgJXMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxODMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAiTm8gZXMgcG90IGZlciB1biByZXN0YWJsaW1lbnQgZGUgJXMgZW5taWcgZCd1bmEgZnVzacOzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3NgorIzogYnVpbHRpbi9yZXNldC5jOjI4NgogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgInNpZ3VlcyBzaWxlbmNpw7NzLCBub23DqXMgaW5mb3JtYSBkJ2Vycm9ycyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OAorIzogYnVpbHRpbi9yZXNldC5jOjI4OAogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICJyZXN0YWJsZWl4IEhFQUQgaSBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OQorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAicmVzdGFibGVpeCBub23DqXMgSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6MjgzCisjOiBidWlsdGluL3Jlc2V0LmM6MjkxIGJ1aWx0aW4vcmVzZXQuYzoyOTMKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICJyZXN0YWJsZWl4IEhFQUQsIGwnw61uZGV4IGkgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg1CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk1CiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICJyZXN0YWJsZWl4IEhFQUQgcGVyw7IgcmV0w6luIGVscyBjYW52aXMgbG9jYWxzIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg4CisjOiBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgInJlZ2lzdHJhIG5vbcOpcyBlbCBmZXQgZGUgcXVlIGVscyBjYW1pbnMgZWxpbWluYXRzIHMnYWZlZ2lyYW4gZGVzcHLDqXMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZXNvbGRyZSAnJXMnIGNvbSBhIHJldmlzacOzIHbDoGxpZGEuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEzCisjOiBidWlsdGluL3Jlc2V0LmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZXNvbGRyZSAnJXMnIGNvbSBhIGFyYnJlIHbDoGxpZC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMjIKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMzcKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2ggw6lzIGluY29tcGF0aWJsZSBhbWIgLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMQorIzogYnVpbHRpbi9yZXNldC5jOjM0NgogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tbWl4ZWQgYW1iIGNhbWlucyBlc3TDoCBlbiBkZXPDunM7IHVzZXUgJ2dpdCByZXNldCAtLSA8Y2FtaW5zPicgZW4gbGxvYyAiCiAiZCdhaXjDsi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICJObyBlcyBwb3QgcmVzdGFibGlyIGRlICVzIGFtYiBjYW1pbnMuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQzCisjOiBidWlsdGluL3Jlc2V0LmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJlbCByZXN0YWJsaW1lbnQgZGUgJXMgbm8gZXMgcGVybWV0IGVuIHVuIGRpcMOyc2l0IG51IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ3CisjOiBidWlsdGluL3Jlc2V0LmM6MzYyCiBtc2dpZCAiLU4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIC0tbWl4ZWQiCiBtc2dzdHIgIi1OIG5vbcOpcyBlcyBwb3QgdXNhciBhbWIgLS1taXhlZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NAorIzogYnVpbHRpbi9yZXNldC5jOjM3OQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgogbXNnc3RyICJDYW52aXMgwqt1bnN0YWdlZMK7IGRlc3Byw6lzIGRlbCByZXN0YWJsaW1lbnQ6IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzcwCisjOiBidWlsdGluL3Jlc2V0LmM6Mzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHJlc3RhYmxpciBlbCBmaXR4ZXIgZCfDrW5kZXggYSBsYSByZXZpc2nDsyAnJXMnLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3NAorIzogYnVpbHRpbi9yZXNldC5jOjM4OQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgZml0eGVyIGQnw61uZGV4IG5vdS4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTQKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTgKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgImVsIHJldi1saXN0IG5vIHBlcm1ldCBtb3N0cmFyIG5vdGVzIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTQKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wY2lvbnM+XSAtLSBbPHBhcsOgbWV0cmVzPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk2CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5OQogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAicmV0w6luIGVsIGAtLWAgcGFzc2F0IGNvbSBhIHBhcsOgbWV0cmUiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMQogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAiZGVpeGEgZCdhbmFsaXR6YXIgZGVzcHLDqXMgZGVsIHByaW1lciBwYXLDoG1ldHJlIG5vIGQnb3BjacOzIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDQKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICJlbWV0IGVuIGZvcm1hIGxsYXJnYSBlbmdhbnhhZGEiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTMyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzNQogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEyNDA4LDkyICsxMjc5MSw5NiBAQAogIkV4ZWN1dGV1IFwiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC1oXCIgcGVyIG3DqXMgaW5mb3JtYWNpw7Mgc29icmUgbCfDunMgIgogImluaWNpYWwuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIyCisjOiBidWlsdGluL3JldmVydC5jOjIzCiBtc2dpZCAiZ2l0IHJldmVydCBbPG9wdGlvbnM+XSA8Y29tbWl0LWlzaD4uLi4iCiBtc2dzdHIgImdpdCByZXZlcnQgWzxvcGNpb25zPl0gPGNvbWlzc2nDsz4uLi4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQKIG1zZ2lkICJnaXQgcmV2ZXJ0IDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IHJldmVydCA8c3Vib3JkcmU+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjI4CisjOiBidWlsdGluL3JldmVydC5jOjI5CiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIFs8b3BjaW9ucz5dIDxjb21pc3Npw7M+Li4uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjI5CisjOiBidWlsdGluL3JldmVydC5jOjMwCiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDxzdWJvcmRyZT4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiAlcyBubyBlcyBwb3QgdXNhciBhbWIgJXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTkKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJhY2FiYSBsYSBzZXHDvMOobmNpYSBkZSByZXZlcnNpw7MgbyBlbCDCq2NoZXJyeSBwaWNrwrsiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAicmVwcsOobiBsYSBzZXHDvMOobmNpYSBkZSByZXZlcnNpw7MgbyBlbCDCq2NoZXJyeSBwaWNrwrsiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiY2FuY2VswrdsYSBsYSBzZXHDvMOobmNpYSBkZSByZXZlcnNpw7MgbyBlbCDCq2NoZXJyeSBwaWNrwrsiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgIm5vIGNvbWV0aXMgYXV0b23DoHRpY2FtZW50IgogCi0jOiBidWlsdGluL3JldmVydC5jOjg0CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJlZGl0YSBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKLW1zZ2lkICJwYXJlbnQgbnVtYmVyIgotbXNnc3RyICJuw7ptZXJvIGRlIG1hcmUiCisjOiBidWlsdGluL3JldmVydC5jOjEwNgorbXNnaWQgInBhcmVudC1udW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGVsIHBhcmUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3Cittc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKK21zZ3N0ciAic2VsZWNjaW9uYSBsYSBsw61uaWEgcHJpbmNpcGFsIGRlbCBwYXJlIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJlc3RyYXTDqGdpYSBkZSBmdXNpw7MiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICJvcGNpw7MiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAib3BjacOzIGQnZXN0cmF0w6hnaWEgZGUgZnVzacOzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjAKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIm5vbSBkZSBsYSBjb21pc3Npw7MgYSBhbm5leGFyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicHJlc2VydmEgbGVzIGNvbWlzc2lvbnMgaW5pY2lhbG1lbnQgYnVpZGVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMjMKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgInBlcm1ldCBsZXMgY29taXNzaW9ucyBhbWIgbWlzc2F0Z2VzIGJ1aXRzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjQKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicmV0w6luIGxlcyBjb21pc3Npb25zIHJlZHVuZGFudHMgaSBidWlkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTkyCisjOiBidWlsdGluL3JldmVydC5jOjIxMgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgImxhIHJldmVyc2nDsyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CisjOiBidWlsdGluL3JldmVydC5jOjIyNQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiZWwgwqtjaGVycnkgcGlja8K7IGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9ybS5jOjE3CisjOiBidWlsdGluL3JtLmM6MTgKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbPG9wY2lvbnM+XSBbLS1dIDxmaXR4ZXI+Li4uIgogCi0jOiBidWlsdGluL3JtLmM6MjA1CisjOiBidWlsdGluL3JtLmM6MjA2CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xMjUwNyw3ICsxMjg5NCw3IEBACiAiZWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHRlbmVuIGNvbnRpbmd1dCDCq3N0YWdlwrsgZGlmZXJlbnQgZCdhbWJkw7NzXG4iCiAiZWwgZml0eGVyIGkgZWwgSEVBRDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTAKKyM6IGJ1aWx0aW4vcm0uYzoyMTEKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTEyNTE1LDEzICsxMjkwMiwxMyBAQAogIlxuIgogIih1c2V1IC1mIHBlciBhIGZvcsOnYXIgbCdlbGltaW5hY2nDsykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTQKKyM6IGJ1aWx0aW4vcm0uYzoyMTUKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJlbCBmaXR4ZXIgc2Vnw7xlbnQgdMOpIGNhbnZpcyDCq3N0YWdlZMK7IGVuIGwnw61uZGV4OiIKIG1zZ3N0clsxXSAiZWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHRlbmVuIGNhbnZpcyDCq3N0YWdlZMK7IGVuIGwnw61uZGV4OiIKIAotIzogYnVpbHRpbi9ybS5jOjIxOCBidWlsdGluL3JtLmM6MjI3CisjOiBidWlsdGluL3JtLmM6MjE5IGJ1aWx0aW4vcm0uYzoyMjgKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTEyNTI5LDI5ICsxMjkxNiwyOSBAQAogIlxuIgogIih1c2V1IC0tY2FjaGVkIHBlciBhIHJldGVuaXIgZWwgZml0eGVyLCBvIC1mIHBlciBhIGZvcsOnYXIgbCdlbGltaW5hY2nDsykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMjQKKyM6IGJ1aWx0aW4vcm0uYzoyMjUKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dzdHJbMF0gImVsIGZpdHhlciBzZWfDvGVudCB0w6kgbW9kaWZpY2FjaW9ucyBsb2NhbHM6IgogbXNnc3RyWzFdICJlbHMgZml0eGVycyBzZWfDvGVudHMgdGVuZW4gbW9kaWZpY2FjaW9ucyBsb2NhbHM6IgogCi0jOiBidWlsdGluL3JtLmM6MjQyCisjOiBidWlsdGluL3JtLmM6MjQzCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAibm8gbGxpc3RpcyBlbHMgZml0eGVycyBlbGltaW5hdHMiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAibm9tw6lzIGVsaW1pbmEgZGUgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDQKKyM6IGJ1aWx0aW4vcm0uYzoyNDUKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAicGFzc2EgcGVyIGFsdCBsYSBjb21wcm92YWNpw7MgZCdhY3R1YWxpdGF0IgogCi0jOiBidWlsdGluL3JtLmM6MjQ1CisjOiBidWlsdGluL3JtLmM6MjQ2CiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgInBlcm1ldCBsJ2VsaW1pbmFjacOzIHJlY3Vyc2l2YSIKIAotIzogYnVpbHRpbi9ybS5jOjI0NworIzogYnVpbHRpbi9ybS5jOjI0OAogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICJzdXJ0IGFtYiBlc3RhdCB6ZXJvIGVuY2FyYSBxdWUgcmVzIGhhZ2kgY29pbmNpZGl0IgogCkBAIC0xMjU3MCw3ICsxMjk1Nyw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHN1cHJpbWlyICclcyciCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTkKIG1zZ2lkICIiCiAiZ2l0IHNlbmQtcGFjayBbLS1hbGwgfCAtLW1pcnJvcl0gWy0tZHJ5LXJ1bl0gWy0tZm9yY2VdIFstLXJlY2VpdmUtcGFjaz08Z2l0LSIKICJyZWNlaXZlLXBhY2s+XSBbLS12ZXJib3NlXSBbLS10aGluXSBbLS1hdG9taWNdIFs8aG9zdD46XTxkaXJlY3Rvcnk+ICIKQEAgLTEyNTgyLDIzICsxMjk2OSwyMyBAQAogIls8bcOgcXVpbmE+Ol08ZGlyZWN0b3JpPiBbPHJlZmVyw6huY2lhPi4uLl1cbiIKICIgIC0tYWxsIGkgZXNwZWNpZmljYWNpw7MgPHJlZmVyw6huY2lhPiBleHBsw61jaXRhIHPDs24gbXV0dWFsbWVudCBleGNsdXNpdXMuIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKIG1zZ2lkICJyZW1vdGUgbmFtZSIKIG1zZ3N0ciAibm9tIGRlbCByZW1vdCIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAidXNlIHN0YXRlbGVzcyBSUEMgcHJvdG9jb2wiCiBtc2dzdHIgInVzYSBlbCBwcm90b2NvbCBSUEMgc2Vuc2UgZXN0YXQiCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NwogbXNnaWQgInJlYWQgcmVmcyBmcm9tIHN0ZGluIgogbXNnc3RyICJsbGVnZWl4IGxlcyByZWZlcsOobmNpZXMgZGVzIGQnc3RkaW4iCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3OAogbXNnaWQgInByaW50IHN0YXR1cyBmcm9tIHJlbW90ZSBoZWxwZXIiCiBtc2dzdHIgImltcHJpbWVpeCBsJ2VzdGF0IGRlcyBkZSBsJ2FqdWRhbnQgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxMworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0CiBtc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSBbPHBhdGg+Li4uXV0iCiBtc2dzdHIgImdpdCBzaG9ydGxvZyBbPG9wY2lvbnM+XSBbPHJhbmctZGUtcmV2aXNpb25zPl0gW1stLV0gWzxjYW3DrT4uLi5dXSIKIApAQCAtMTI2MjcsNyArMTMwMTQsNyBAQAogbXNnaWQgIkxpbmV3cmFwIG91dHB1dCIKIG1zZ3N0ciAiQWp1c3RhIGxlcyBsw61uaWVzIGRlIGxhIHNvcnRpZGEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LWJyYW5jaCBbLWEgfCAtLWFsbF0gWy1yIHwgLS1yZW1vdGVzXSBbLS10b3BvLW9yZGVyIHwgLS1kYXRlLW9yZGVyXVxuIgogIlx0XHRbLS1jdXJyZW50XSBbLS1jb2xvcls9PHdoZW4+XSB8IC0tbm8tY29sb3JdIFstLXNwYXJzZV1cbiIKQEAgLTEyNjM5LDEyNSArMTMwMjYsMTI1IEBACiAiXHRcdCAgICAgICBbLS1tb3JlPTxuPiB8IC0tbGlzdCB8IC0taW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdXG4iCiAiXHRcdCAgICAgICBbLS1uby1uYW1lIHwgLS1zaGExLW5hbWVdIFstLXRvcGljc10gWyg8cmV2aXNpw7M+IHwgPGdsb2I+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxNAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjE2CiBtc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZj5dIgogbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmZXLDqG5jaWE+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM3NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIgogbXNnaWRfcGx1cmFsICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIKIG1zZ3N0clswXSAicydlc3TDoCBpZ25vcmFudCAlczsgbm8gZXMgcG90IGdlc3Rpb25hciBtw6lzIGRlICVkIHJlZmVyw6huY2lhIgogbXNnc3RyWzFdICJzJ2VzdMOgIGlnbm9yYW50ICVzOyBubyBlcyBwb2RlbiBnZXN0aW9uYXIgbcOpcyBkZSAlZCByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgogbXNnc3RyICJubyBoaSBoYSByZWZlcsOobmNpZXMgY29pbmNpZGVudHMgYW1iICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI2CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJtb3N0cmEgbGVzIGJyYW5xdWVzIGFtYiBzZWd1aW1lbnQgcmVtb3QgaSBsZXMgbG9jYWxzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI4CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIm1vc3RyYSBsZXMgYnJhbnF1ZXMgYW1iIHNlZ3VpbWVudCByZW1vdCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMAogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgImNvbG9yYSAnKiErLScgY29ycmVzcG9uZW50IGEgbGEgYnJhbmNhIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMyCiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgIm1vc3RyYSA8bj4gY29taXNzaW9ucyBkZXNwcsOpcyBkZSBsJ2F2YW50cGFzc2F0IGNvbcO6IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM0CiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICJzaW7Dsm5pbSBkZSBtb3JlPS0xIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM1CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCi1tc2dzdHIgIm9tZXQgbCdhbm9tZW5hbWVudCBkZSBjYWRlbmVzIgorbXNnc3RyICJvbWV0IGwnYW5vbWVuYXIgY2FkZW5lcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNwogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJpbmNsb3UgbGEgYnJhbmNhIGFjdHVhbCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAiYW5vbWVuYSBsZXMgY29taXNzaW9ucyBhbWIgZWxzIHNldXMgbm9tcyBkJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJtb3N0cmEgbGVzIGJhc2VzIGRlIGZ1c2nDsyBwb3NzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICJtb3N0cmEgbGVzIHJlZmVyw6huY2llcyBpbmFiYXN0YWJsZXMgZGUgcXVhbHNldm9sIGFsdHJhIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CiBtc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICJtb3N0cmEgbGVzIGNvbWlzc2lvbnMgZW4gb3JkcmUgdG9wb2zDsmdpYyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICJtb3N0cmEgbm9tw6lzIGxlcyBjb21pc3Npb25zIHF1ZSBubyBzaWd1aW4gZW4gbGEgcHJpbWVyYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIm1vc3RyYSBsZXMgZnVzaW9ucyBhYmFzdGFibGVzIGRlIG5vbcOpcyB1bmEgcHVudGEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgIm9yZGVuYSB0b3BvbMOyZ2ljYW1lbnQsIG1hbnRlbmludCBsJ29yZHJlIGRlIGRhdGVzIG9uIHNpZ3VpIHBvc3NpYmxlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICI8bj5bLDxiYXNlPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAibW9zdHJhIGxlcyA8bj4gZW50cmFkZXMgbcOpcyByZWNlbnRzIGNvbWVuw6dhbnQgYSBsYSBiYXNlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzAzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjkwCiBtc2dpZCAiIgogIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgogbXNnc3RyICIiCiAiLS1yZWZsb2cgw6lzIGluY29tcGF0aWJsZSBhbWIgLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvIC0tbWVyZ2UtYmFzZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxNAogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgIm5vIHMnaGEgZG9uYXQgY2FwIGJyYW5jYSwgaSBIRUFEIG5vIMOpcyB2w6BsaWQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTcKIG1zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgogbXNnc3RyICJsJ29wY2nDsyAtLXJlZmxvZyBuZWNlc3NpdGEgdW4gbm9tIGRlIGJyYW5jYSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnc3RyWzBdICJlcyBwb3QgbW9zdHJhciBub23DqXMgJWQgZW50cmFkYSBhIGxhIHZlZ2FkYS4iCiBtc2dzdHJbMV0gImVzIHBvZGVuIG1vc3RyYXIgbm9tw6lzICVkIGVudHJhZGVzIGEgbGEgdmVnYWRhLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHJlZiAlcyIKIG1zZ3N0ciAibm8gaGkgaGEgdGFsIHJlZmVyw6huY2lhICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgogbXNnc3RyWzBdICJubyBlcyBwb3QgZ2VzdGlvbmFyIG3DqXMgZCclZCByZXZpc2nDsy4iCiBtc2dzdHJbMV0gIm5vIGVzIHBvZGVuIGdlc3Rpb25hciBtw6lzIGRlICVkIHJldmlzaW9ucy4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIgogbXNnc3RyICInJXMnIG5vIMOpcyB1bmEgcmVmZXLDqG5jaWEgdsOgbGlkYS4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCiBtc2dzdHIgIm5vIGVzIHBvdCB0cm9iYXIgbGEgY29taXNzacOzICVzICglcykiCkBAIC0xMjgwOCwxMjggKzEzMTk1LDEzNSBAQAogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIm1vc3RyYSBsZXMgcmVmZXLDqG5jaWVzIGQnc3RkaW4gcXVlIG5vIHNpZ3VpbiBlbiBlbCBkaXDDsnNpdCBsb2NhbCIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTcKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE4CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTkKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNQorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzYKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKICJvbWV0IGkgZWxpbWluYSB0b3RlcyBsZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gYW1iIGVsIGNhcsOgY3RlciBkZSBjb21lbnRhcmkiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM4CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOQogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAiYW50ZXBvc2EgZWwgY2Fyw6BjdGVyIGRlIGNvbWVudGFyaSBpIHVuIGVzcGFpIGEgY2FkYSBsw61uaWEiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVmOiAlcyIKIG1zZ3N0ciAiTm8gaGkgaGEgdGFsIHJlZmVyw6huY2lhOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICJTJ2VzcGVyYSB1biBub20gZGUgcmVmZXLDqG5jaWEgcGxlLCBzJ2hhIHJlYnV0ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBkZXNwdWxsYXIgdW4gY29tcG9uZW50IGRlIGwndXJsICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMwNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiw6BuY29yYSBhbHRlcm5hdGl2YSBwZXIgYWxzIGNhbWlucyByZWxhdGl1cyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxMAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PGNhbcOtPl0gWzxjYW3DrT4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzMzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIk5vIHMnaGEgdHJvYmF0IGNhcCB1cmwgcGVyIGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJXMnIGEgLmdpdG1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBsb29rdXAgY29uZmlndXJhdGlvbiAnJXMnLiBBc3N1bWluZyB0aGlzIHJlcG9zaXRvcnkgaXMgaXRzIG93biAiCisiYXV0aG9yaXRhdGl2ZSB1cHN0cmVhbS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlZ2lzdHJhciBsJ3VybCBwZXIgYWwgY2Ftw60gZGUgc3VibcOyZHVsICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiUydoYSByZWdpc3RyYXQgZWwgc3VibcOyZHVsICclcycgKCVzKSBwZXIgYWwgY2Ftw60gJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICIiCiAiYWR2ZXJ0w6huY2lhOiBzZSBzdWdnZXJlaXggZWwgbW9kZSBkJ2FjdHVhbGl0emFjacOzIHBlciBvcmRyZSBwZXIgYWwgc3VibcOyZHVsICIKICInJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZWdpc3RyYXIgZWwgbW9kZSBkJ2FjdHVhbGl0emFjacOzIHBlciBhbCBjYW3DrSBkZSAiCiAic3VibcOyZHVsICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDMKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiT21ldCBsYSBzb3J0aWRhIGQnaW5pY2lhbGl0emFyIHVuIHN1Ym3DsmR1bCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPGNhbcOtPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzYKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxjYW3DrT4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSB0cm9iYXQgY2FwIG1hcGF0Z2UgZGUgc3VibcOyZHVsIGEgLmdpdG1vZHVsZXMgcGVyIGFsIGNhbcOtICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKIG1zZ3N0ciAiZWwgc3VibcOyZHVsICclcycgbm8gcG90IGFmZWdpciB1biBhbHRlcm5hdGl1OiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiTm8gZXMgcmVjb25laXggZWwgdmFsb3IgJyVzJyBwZXIgYSBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIk5vIGVzIHJlY29uZWl4IGVsIHZhbG9yICclcycgcGVyIGEgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgImEgb24gZXMgY2xvbmFyw6AgZWwgc3VibcOyZHVsIG5vdSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzNgogbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCiBtc2dzdHIgIm5vbSBkZWwgc3VibcOyZHVsIG5vdSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgInVybCBkZWwgcXVhbCBjbG9uYXIgZWwgc3VibcOyZHVsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJwcm9mdW5kaXRhdCBkZWxzIGNsb25zIHN1cGVyZmljaWFscyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJmb3LDp2EgZWwgcHJvZ3LDqXMgZGVsIGNsb25hdGdlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjE1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUzCiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgpAQCAtMTI5MzcsOTIgKzEzMzMxLDgyIEBACiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08Y2Ftw60+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8ZGlww7JzaXQ+XSBbLS1uYW1lIDxub20+XSBbLS1kZXB0aCA8cHJvZnVuZGl0YXQ+XSAtLXVybCA8dXJsPiAtLXBhdGggPGNhbcOtPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9uZSBvZiAnJXMnIGludG8gc3VibW9kdWxlIHBhdGggJyVzJyBmYWlsZWQiCiBtc2dzdHIgImVsIGNsb25hdGdlIGRlICclcycgYWwgY2Ftw60gZGUgc3VibcOyZHVsICclcycgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKLW1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciAnJXMnIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRhbmNhciBlbCBmaXR4ZXIgJXMiCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9idGVuaXIgZWwgZGlyZWN0b3JpIGRlIHN1Ym3DsmR1bCBwZXIgYSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgogbXNnc3RyICJFbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyVzJyBubyBlc3TDoCBpbmljaWFsaXR6YXQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiUG90c2VyIHZvbGV1IHVzYXIgJ3VwZGF0ZSAtLWluaXQnPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIlMnZXN0w6Agb21ldGVudCBlbCBzdWJtw7JkdWwgbm8gZnVzaW9uYXQgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3OTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIlMnZXN0w6Agb21ldGVudCBlbCBzdWJtw7JkdWwgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNsb25hciAnJXMnLiBTJ2hhIHByb2dyYW1hdCB1biByZWludGVudCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBwZXIgc2Vnb24gY29wIGVuIGNsb25hciAnJXMnLCBzJ2VzdMOgIGF2b3J0YW50IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYyCiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImNhbcOtIGEgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc3CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCiBtc2dzdHIgImNhbcOtIGEgbCdhcmJyZSBkZSB0cmViYWxsLCBhIHRyYXbDqXMgZGUgZnJvbnRlcmVzIGRlIHN1Ym3DsmR1bHMgbmlhdHMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODEKIG1zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgogbXNnc3RyICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvIG5vbmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIkNyZWEgdW4gY2xvbiBzdXBlcmZpY2lhbCB0cnVuY2F0IGFsIG5vbWJyZSBkZSByZXZpc2lvbnMgZXNwZWNpZmljYXQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODgKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICJ0YXNxdWVzIHBhcmFswrdsZWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MAogbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKIG1zZ3N0ciAic2kgZWwgY2xvbmF0Z2UgaW5pY2lhbCBoYSBkZSBzZWd1aXIgbGEgcmVjb21hbmFjacOzIGRlIHN1cGVyZmljaWFsaXRhdCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIm5vIGltcHJpbWVpeGlzIGVsIHByb2dyw6lzIGRlbCBjbG9uYXRnZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxjYW3DrT5dIFs8Y2Ftw60+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDgKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgInZhbG9yIGRvbGVudCBwZXIgYWwgcGFyw6BtZXRyZSB1cGRhdGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCkBAIC0xMzAzMSw1NyArMTM0MTUsNTMgQEAKICJMYSBicmFuY2EgZGUgc3VibcOyZHVsICglcykgZXN0w6AgY29uZmlndXJhZGEgcGVyIGEgaGVyZXRhciBsYSBicmFuY2EgZGVsICIKICJzdXBlcnByb2plY3RlLCBwZXLDsiBlbCBzdXBlcnByb2plY3RlIG5vIMOpcyBlbiBjYXAgYnJhbmNhIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjMKIG1zZ2lkICJyZWN1cnNlIGludG8gc3VibW9kdWxlcyIKIG1zZ3N0ciAiaW5jbG91IHJlY3Vyc2l2YW1lbnQgYWxzIHN1Ym3DsmR1bHMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2OQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciAgWzxjYW3DrT5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE1NwotbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCi1tc2dzdHIgInMnaGEgZCdleGVjdXRhciBsYSBzdWJvcmRyZSBzdWJtb2R1bGUtLWhlbHBlciBhbWIgdW5hIHN1Ym9yZHJlIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICIlcyBubyBhZG1ldCAtLXN1cGVyLXByZWZpeCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKIG1zZ3N0ciAiJyVzJyBubyDDqXMgdW5hIHN1Ym9yZHJlIHbDoGxpZGEgZGUgc3VibW9kdWxlLS1oZWxwZXIiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NworIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo4CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiBbPG9wdGlvbnM+XSA8bmFtZT4gWzxyZWY+XSIKIG1zZ3N0ciAiZ2l0IHN5bWJvbGljLXJlZiBbPG9wY2lvbnM+XSA8bm9tPiBbPHJlZmVyw6huY2lhPl0iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo5CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxub20+IgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQwCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCiBtc2dpZCAic3VwcHJlc3MgZXJyb3IgbWVzc2FnZSBmb3Igbm9uLXN5bWJvbGljIChkZXRhY2hlZCkgcmVmcyIKIG1zZ3N0ciAib21ldCBlbCBtaXNzYXRnZSBkJ2Vycm9yIGRlIHJlZmVyw6huY2llcyBubyBzaW1iw7JsaXF1ZXMgKHNlcGFyYWRlcykiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKIG1zZ2lkICJkZWxldGUgc3ltYm9saWMgcmVmIgogbXNnc3RyICJzdXByaW1laXggbGEgcmVmZXLDqG5jaWEgc2ltYsOybGljYSIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MgorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MwogbXNnaWQgInNob3J0ZW4gcmVmIG91dHB1dCIKIG1zZ3N0ciAiZXNjdXLDp2EgbGEgc29ydGlkYSBkZSByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQ0IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MwogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAicmHDsyIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDQgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCiBtc2dpZCAicmVhc29uIG9mIHRoZSB1cGRhdGUiCiBtc2dzdHIgInJhw7MgZGUgbCdhY3R1YWxpdHphY2nDsyIKIAotIzogYnVpbHRpbi90YWcuYzoyMworIzogYnVpbHRpbi90YWcuYzoyNAogbXNnaWQgIiIKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gIgogIls8aGVhZD5dIgpAQCAtMTMwODksMzkgKzEzNDY5LDM1IEBACiAiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxpZC1kZS1jbGF1Pl0gWy1mXSBbLW0gPG1pc3NhdGdlPiB8IC1GIDxmaXR4ZXI+XSA8bm9tLSIKICJkJ2V0aXF1ZXRhPiBbPGNhcD5dIgogCi0jOiBidWlsdGluL3RhZy5jOjI0CisjOiBidWlsdGluL3RhZy5jOjI1CiBtc2dpZCAiZ2l0IHRhZyAtZCA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLWQgPG5vbS1kJ2V0aXF1ZXRhPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNQorIzogYnVpbHRpbi90YWcuYzoyNgogbXNnaWQgIiIKLSJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1wb2ludHMtYXQgPG9iamVjdD5dXG4iCisiZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dIFstLSIKKyJwb2ludHMtYXQgPG9iamVjdD5dXG4iCiAiXHRcdFstLWZvcm1hdD08Zm9ybWF0Pl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXR0ZXJuPi4uLl0iCiBtc2dzdHIgIiIKLSJnaXQgdGFnIC1sIFstbls8bm9tYnJlPl1dIFstLWNvbnRhaW5zIDxjb21pc3Npw7M+XVxuIgotIlx0XHRbLS1wb2ludHMtYXQgPG9iamVjdGU+XSBbLS1mb3JtYXQ9PGZvcm1hdD5dXG4iCi0iXHRcdFstLVtuby1dbWVyZ2VkIFs8Y29taXNzacOzPl1dIFs8cGF0csOzPi4uLl0iCisiZ2l0IHRhZyAtbCBbLW5bPG5vbWJyZT5dXSBbLS1jb250YWlucyA8Y29taXNzacOzPl0gWy0tbm8tY29udGFpbnMgPGNvbWlzc2nDsz5dICIKKyJbLS1wb2ludHMtYXQgPG9iamVjdGU+XVxuIgorIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29taXNzacOzPl1dIFs8cGF0csOzPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjcKKyM6IGJ1aWx0aW4vdGFnLmM6MjgKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPG5vbS1kJ2V0aXF1ZXRhPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzo4MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ0YWcgbmFtZSB0b28gbG9uZzogJS4qcy4uLiIKLW1zZ3N0ciAibm9tIGQnZXRpcXVldGEgbWFzc2EgbGxhcmc6ICUuKnMuLi4iCi0KLSM6IGJ1aWx0aW4vdGFnLmM6ODcKKyM6IGJ1aWx0aW4vdGFnLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAibm8gcydoYSB0cm9iYXQgbCdldGlxdWV0YSAnJXMnLiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDIKKyM6IGJ1aWx0aW4vdGFnLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiUydoYSBzdXByaW1pdCBsJ2V0aXF1ZXRhICclcycgKGVyYSAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzEKKyM6IGJ1aWx0aW4vdGFnLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEzMTM0LDcgKzEzNTEwLDcgQEAKICIgICVzXG4iCiAiTGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIGFtYiAnJWMnIHMnaWdub3JhcmFuLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzNQorIzogYnVpbHRpbi90YWcuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTMxNDksMzQ5ICsxMzUyNSwzNzAgQEAKICJMZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gYW1iICclYycgZXMgcmV0aW5kcmFuOyBwb2RldSBlbGltaW5hci1sZXMgcGVyIHbDs3MgIgogIm1hdGVpeCBzaSB2b2xldS5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoyMTMKKyM6IGJ1aWx0aW4vdGFnLmM6MjExCiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBzaWduYXIgbCdldGlxdWV0YSIKIAotIzogYnVpbHRpbi90YWcuYzoyMTUKKyM6IGJ1aWx0aW4vdGFnLmM6MjEzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIGZpdHhlciBkJ2V0aXF1ZXRhIgogCi0jOiBidWlsdGluL3RhZy5jOjI0MAorIzogYnVpbHRpbi90YWcuYzoyMzcKIG1zZ2lkICJiYWQgb2JqZWN0IHR5cGUuIgogbXNnc3RyICJlbCB0aXB1cyBkJ29iamVjdGUgw6lzIGRvbGVudC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjUzCi1tc2dpZCAidGFnIGhlYWRlciB0b28gYmlnLiIKLW1zZ3N0ciAibGEgY2Fww6dhbGVyYSBkJ2V0aXF1ZXRhIMOpcyBtYXNzYSBncmFuLiIKLQotIzogYnVpbHRpbi90YWcuYzoyODkKKyM6IGJ1aWx0aW4vdGFnLmM6MjgzCiBtc2dpZCAibm8gdGFnIG1lc3NhZ2U/IgogbXNnc3RyICJubyBoaSBoYSBjYXAgbWlzc2F0Z2UgZCdldGlxdWV0YT8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjk1CisjOiBidWlsdGluL3RhZy5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICJTJ2hhIGRlaXhhdCBlbCBtaXNzYXRnZSBkZSBsJ2V0aXF1ZXRhIGVuICVzXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU0CisjOiBidWlsdGluL3RhZy5jOjM5OAogbXNnaWQgImxpc3QgdGFnIG5hbWVzIgogbXNnc3RyICJsbGlzdGEgZWxzIG5vbXMgZCdldGlxdWV0YSIKIAotIzogYnVpbHRpbi90YWcuYzozNTYKKyM6IGJ1aWx0aW4vdGFnLmM6NDAwCiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgImltcHJpbWVpeCA8bj4gbMOtbmllcyBkZSBjYWRhIG1pc3NhdGdlIGQnZXRpcXVldGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU4CisjOiBidWlsdGluL3RhZy5jOjQwMgogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICJzdXByaW1laXggbGVzIGV0aXF1ZXRlcyIKIAotIzogYnVpbHRpbi90YWcuYzozNTkKKyM6IGJ1aWx0aW4vdGFnLmM6NDAzCiBtc2dpZCAidmVyaWZ5IHRhZ3MiCiBtc2dzdHIgInZlcmlmaWNhIGxlcyBldGlxdWV0ZXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYxCisjOiBidWlsdGluL3RhZy5jOjQwNQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICJPcGNpb25zIGRlIGNyZWFjacOzIGQnZXRpcXVldGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjM2MworIzogYnVpbHRpbi90YWcuYzo0MDcKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnLCBuZWVkcyBhIG1lc3NhZ2UiCiBtc2dzdHIgImV0aXF1ZXRhIGFub3RhZGEsIG5lY2Vzc2l0YSB1biBtaXNzYXRnZSIKIAotIzogYnVpbHRpbi90YWcuYzozNjUKKyM6IGJ1aWx0aW4vdGFnLmM6NDA5CiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgIm1pc3NhdGdlIGQnZXRpcXVldGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzY3CisjOiBidWlsdGluL3RhZy5jOjQxMQogbXNnaWQgImFubm90YXRlZCBhbmQgR1BHLXNpZ25lZCB0YWciCiBtc2dzdHIgImV0aXF1ZXRhIGFub3RhZGEgaSBzaWduYWRhIHBlciBHUEciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzcxCisjOiBidWlsdGluL3RhZy5jOjQxNQogbXNnaWQgInVzZSBhbm90aGVyIGtleSB0byBzaWduIHRoZSB0YWciCiBtc2dzdHIgInVzYSB1bmEgYWx0cmEgY2xhdSBwZXIgYSBzaWduYXIgbCdldGlxdWV0YSIKIAotIzogYnVpbHRpbi90YWcuYzozNzIKKyM6IGJ1aWx0aW4vdGFnLmM6NDE2CiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAicmVlbXBsYcOnYSBsJ2V0aXF1ZXRhIHNpIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL3RhZy5jOjM3MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE3IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQogbXNnaWQgImNyZWF0ZSBhIHJlZmxvZyIKIG1zZ3N0ciAiY3JlYSB1biByZWdpc3RyZSBkZSByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc1CisjOiBidWlsdGluL3RhZy5jOjQxOQogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbnMgZGUgbGxpc3RhdCBkJ2V0aXF1ZXRlcyIKIAotIzogYnVpbHRpbi90YWcuYzozNzYKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICJtb3N0cmEgbGEgbGxpc3RhIGQnZXRpcXVldGVzIGVuIGNvbHVtbmVzIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NyBidWlsdGluL3RhZy5jOjM3OAorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGV0aXF1ZXRlcyBxdWUgY29udGluZ3VpbiBsYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc5CisjOiBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3RhZy5jOjQyNAorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgZXRpcXVldGVzIHF1ZSBubyBjb250aW5ndWluIGxhIGNvbWlzc2nDsyIKKworIzogYnVpbHRpbi90YWcuYzo0MjUKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBldGlxdWV0ZXMgcXVlIHMnaGFuIGZ1c2lvbmF0IgogCi0jOiBidWlsdGluL3RhZy5jOjM4MAorIzogYnVpbHRpbi90YWcuYzo0MjYKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgZXRpcXVldGVzIHF1ZSBubyBzJ2hhbiBmdXNpb25hdCIKIAotIzogYnVpbHRpbi90YWcuYzozODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDMxCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGV0aXF1ZXRlcyBkZSBsJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE1CisjOiBidWlsdGluL3RhZy5jOjQ3MAogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiBpIC1uIHPDs24gaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi90YWcuYzo0MzcKLW1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICJlcyBwZXJtZXQgbCdvcGNpw7MgLW4gbm9tw6lzIGFtYiAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5MgorbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJlcyBwZXJtZXQgbCdvcGNpw7MgLW4gbm9tw6lzIGFtYiBtb2RlIGxsaXN0YSIKIAotIzogYnVpbHRpbi90YWcuYzo0MzkKLW1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgImVzIHBlcm1ldCBsJ29wY2nDsyAtLWNvbnRhaW5zIG5vbcOpcyBhbWIgLWwuIgorIzogYnVpbHRpbi90YWcuYzo0OTQKK21zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJlcyBwZXJtZXQgbCdvcGNpw7MgLS1jb250YWlucyBub23DqXMgYW1iIG1vZGUgbGxpc3RhIgogCi0jOiBidWlsdGluL3RhZy5jOjQ0MQotbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgImVzIHBlcm1ldCAtLXBvaW50cy1hdCBvcHRpb24gbm9tw6lzIGFtYiAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5NgorbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgImVzIHBlcm1ldCBsJ29wY2nDsyAtLW5vLWNvbnRhaW5zIG5vbcOpcyBhbWIgbW9kZSBsbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDQzCi1tc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbiBhcmUgb25seSBhbGxvd2VkIHdpdGggLWwiCi1tc2dzdHIgImVzIHBlcm1ldGVuIGxlcyBvcGNpb25zIC0tbWVyZ2VkIGkgLS1uby1tZXJnZWQgbm9tw6lzIGFtYiAtbCIKKyM6IGJ1aWx0aW4vdGFnLmM6NDk4Cittc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgImVzIHBlcm1ldCAtLXBvaW50cy1hdCBvcHRpb24gbm9tw6lzIGFtYiBtb2RlIGxsaXN0YSIKIAotIzogYnVpbHRpbi90YWcuYzo0NTQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAwCittc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgImVzIHBlcm1ldGVuIGxlcyBvcGNpb25zIC0tbWVyZ2VkIGkgLS1uby1tZXJnZWQgbm9tw6lzIGFtYiBtb2RlIGxsaXN0YSIKKworIzogYnVpbHRpbi90YWcuYzo1MTEKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIm5vbcOpcyBlcyBwZXJtZXQgdW5hIG9wY2nDsyAtRiBvIC1tLiIKIAotIzogYnVpbHRpbi90YWcuYzo0NzMKKyM6IGJ1aWx0aW4vdGFnLmM6NTMwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICJtYXNzYSBwYXLDoG1ldHJlcyIKIAotIzogYnVpbHRpbi90YWcuYzo0NzkKKyM6IGJ1aWx0aW4vdGFnLmM6NTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIG5vIMOpcyB1biBub20gZCdldGlxdWV0YSB2w6BsaWQuIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NAorIzogYnVpbHRpbi90YWcuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgImwnZXRpcXVldGEgJyVzJyBqYSBleGlzdGVpeCIKIAotIzogYnVpbHRpbi90YWcuYzo1MTIKKyM6IGJ1aWx0aW4vdGFnLmM6NTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiRXRpcXVldGEgJyVzJyBhY3R1YWxpdHphZGEgKGVyYSAlcylcbiIKIAotIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5MworIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5NAogbXNnaWQgIlVucGFja2luZyBvYmplY3RzIgogbXNnc3RyICJTJ2VzdGFuIGRlc2VtcGFxdWV0YW50IGVscyBvYmplY3RlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjcmVhciBlbCBkaXJlY3RvcmkgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZmVyIHN0YXQgYSAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGZpbGUgJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY3JlYXIgZWwgZml0eGVyICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHN1cHJpbWlyIGVsIGZpdHhlciAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTAgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHN1cHJpbWlyIGVsIGRpcmVjdG9yaSAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRlc3RpbmcgbXRpbWUgaW4gJyVzJyAiCiBtc2dzdHIgIlMnZXN0w6AgcHJvdmFudCBtdGltZSBlbiAnJXMnICIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTUwCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZpbGUiCiBtc2dzdHIgIiIKICJsYSBpbmZvcm1hY2nDsyBkJ3N0YXQgZGUgZGlyZWN0b3JpIG5vIGNhbnZpYSBkZXNwcsOpcyBkJ2FmZWdpciB1biBmaXR4ZXIgbm91IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjMKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibGEgaW5mb3JtYWNpw7MgZCdzdGF0IGRlIGRpcmVjdG9yaSBubyBjYW52aWEgZGVzcHLDqXMgZCdhZmVnaXIgdW4gZGlyZWN0b3JpIG5vdSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTc2CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIHVwZGF0aW5nIGEgZmlsZSIKIG1zZ3N0ciAiIgogImxhIGluZm9ybWFjacOzIGQnc3RhdCBkZSBkaXJlY3RvcmkgY2FudmlhIGRlc3Byw6lzIGQnYWN0dWFsaXR6YXIgdW4gZml0eGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODcKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgYWRkaW5nIGEgZmlsZSBpbnNpZGUgc3ViZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibGEgaW5mb3JtYWNpw7MgZCdzdGF0IGRlIGRpcmVjdG9yaSBjYW52aWEgZGVzcHLDqXMgZCdhZmVnaXIgdW4gZml0eGVyIGRpbnMgIgogImQndW4gc3ViZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTgKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgIiIKICJsYSBpbmZvcm1hY2nDsyBkJ3N0YXQgZGUgZGlyZWN0b3JpIG5vIGNhbnZpYSBkZXNwcsOpcyBkZSBzdXByaW1pciB1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibGEgaW5mb3JtYWNpw7MgZCdzdGF0IGRlIGRpcmVjdG9yaSBubyBjYW52aWEgZGVzcHLDqXMgZGUgc3VwcmltaXIgdW4gZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTgKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiBEJ2Fjb3JkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjkKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxvcGNpb25zPl0gWy0tXSBbPGZpdHhlcj4uLi5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjQKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgIiIKICJjb250aW51YSBsJ2FjdHVhbGl0emFjacOzIGVuY2FyYSBxdWUgbCfDrW5kZXggbmVjZXNzaXRpIHVuYSBhY3R1YWxpdHphY2nDsyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgImFjdHVhbGl0emE6IGlnbm9yYSBlbHMgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgIm5vIGlnbm9yaXMgZWxzIGZpdHhlcnMgbm91cyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMyCiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgImRlaXhhIHF1ZSBlbHMgZml0eGVycyByZWVtcGxhY2luIGVscyBkaXJlY3RvcmlzIGkgdmljZXZlcnNhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJ0aW5ndWVzIGVuIGNvbXB0ZSBlbHMgZml0eGVycyBhYnNlbnRzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgImFjdHVhbGl0emEgZW5jYXJhIHF1ZSBsJ8OtbmRleCBjb250aW5ndWkgZW50cmFkZXMgbm8gZnVzaW9uYWRlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICJhY3R1YWxpdHphIGxhIGluZm9ybWFjacOzIGQnZXN0YWTDrXN0aXF1ZXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAiY29tIC0tcmVmcmVzaCwgcGVyw7IgaWdub3JhIGwnYWp1c3QgYXNzdW1lLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPG1vZGU+LDxvYmplY3RlPiw8Y2Ftw60+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFmZWdlaXggbCdlbnRyYWRhIGVzcGVjaWZpY2FkYSBhIGwnw61uZGV4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIm1hcmNhIGVscyBmaXR4ZXJzIGNvbSBhIFwibm8gY2FudmlhbnRcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYwCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJuZXRlamEgZWwgYml0IGFzc3VtZWQtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICJtYXJjYSBlbHMgZml0eGVycyBjb20gYSBcIm5vbcOpcyDDrW5kZXhcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIm5ldGVqYSBlbCBiaXQgc2tpcC13b3JrdHJlZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKICJub23DqXMgYWZlZ2VpeCBhIGwnw61uZGV4OyBubyBhZmVnZWl4aXMgZWwgY29udGluZ3V0IGEgbGEgYmFzZSBkZSBkYWRlcyAiCiAiZCdvYmplY3RlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcxCiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImVsaW1pbmEgZWxzIGNhbWlucyBhbm9tZW5hdHMgZW5jYXJhIHF1ZSBlc3RpZ3VpbiBwcmVzZW50cyBlbiBsJ2FyYnJlIGRlICIKICJ0cmViYWxsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgImFtYiAtLXN0ZGluOiBsZXMgbMOtbmllcyBkJ2VudHJhZGEgYWNhYmVuIGFtYiBvY3RldHMgbnVscyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGxlZ2VpeCBsYSBsbGlzdGEgZGUgY2FtaW5zIGEgYWN0dWFsaXR6YXIgZGVzIGRlIGwnZW50cmFkYSBlc3TDoG5kYXJkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWZlZ2VpeCBsZXMgZW50cmFkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQgYSBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgzCiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICJyZWVtcGxlbmEgbGVzIMKrc3RhZ2XCuyAjMiBpICMzIHBlciBhbHMgY2FtaW5zIGxsaXN0YXRzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODcKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAibm9tw6lzIGFjdHVhbGl0emEgbGVzIGVudHJhZGVzIHF1ZSBkaWZlcmVpeGluIGRlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MQogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImlnbm9yYSBlbHMgZml0eGVycyBhYnNlbnRzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk0CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJpbmZvcm1hIGRlIGxlcyBhY2Npb25zIGVuIGxhIHNvcnRpZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk2CiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihwZXIgYSBwb3JjZWxsYW5lcykgb2JsaWRhJ3QgZGVscyBjb25mbGljdGVzIG5vIHJlc29sdHMgbmkgZGVzYXRzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgImVzY3JpdSBsJ8OtbmRleCBlbiBhcXVlc3QgZm9ybWF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAyCiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgImhhYmlsaXRhIG8gaW5oYWJpbGl0YSBsJ8OtbmRleCBkaXZpZGl0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA0CiBtc2dpZCAiZW5hYmxlL2Rpc2FibGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJoYWJpbGl0YS9pbmhhYmlsaXRhIGxhIG1lbcOycmlhIGNhdSBubyBzZWd1aWRhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJwcm92YSBzaSBlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYWRtZXQgbGEgbWVtw7JyaWEgY2F1IG5vIHNlZ3VpZGEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgImhhYmlsaXRhIGxhIG1lbcOycmlhIGNhdSBubyBzZWd1aWRhIHNlbnNlIHByb3ZhciBlbCBzaXN0ZW1hIGRlIGZpdHhlcnMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTA4Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZW5hYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisiY29yZS5zcGxpdEluZGV4IGVzdMOgIGVzdGFibGVydCBhIGZhbHM7IGVsaW1pbmV1LWxvIG8gY2Fudmlhci1sbywgc2kgcmVhbG1lbnQgIgorInZvbGV1IGhhYmlsaXRhciBsJ8OtbmRleCBkaXZpZGl0IgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTcKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgorImRpc2FibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKyJjb3JlLnNwbGl0SW5kZXggZXN0w6AgZXN0YWJsZXJ0IGEgY2VydDsgZWxpbWluZXUtbG8gbyBjYW52aWV1LWxvLCBzaSByZWFsbWVudCAiCisidm9sZXUgaW5oYWJpbGl0YXIgbCfDrW5kZXggZGl2aWRpdCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTI4CisjLCBmdXp6eQogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAiIgotImNvcmUudW50cmFja2VkQ2FjaGUgZXN0w6AgZXN0YWJsZXJ0IGEgdmVyaXRhYmxlOyBlbGltaW5ldS1sbyBvIGNhbnZpZXUtbG8sIHNpICIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGVzdMOgIGVzdGFibGVydCBhIGNlcnQ7IGVsaW1pbmV1LWxvIG8gY2FudmlldS1sbywgc2kgIgogInJlYWxtZW50IHZvbGV1IGluaGFiaWxpdGFyIGVsIGNhdSBubyBzZWd1aXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMyCiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICJMYSBtZW3DsnJpYSBjYXUgbm8gc2VndWlkYSBlc3TDoCBpbmhhYmlsaXRhZGEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQwCiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTM0OTksMTM2ICsxMzg5NiwxMzYgQEAKICJjb3JlLnVudHJhY2tlZENhY2hlIGVzdMOgIGVzdGFibGVydCBhIGZhbHM7IGVsaW1pbmV1LWxvIG8gY2Fudmlhci1sbywgc2kgIgogInJlYWxtZW50IHZvbGV1IGhhYmlsaXRhciBlbCBjYXUgbm8gc2VndWl0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAiTGEgbWVtw7JyaWEgY2F1IG5vIHNlZ3VpZGEgZXN0w6AgaGFiaWxpdGFkYSBwZXIgYSAnJXMnIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo5CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dIC1kIDxyZWZuYW1lPiBbPG9sZC12YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgWzxvcGNpb25zPl0gLWQgPG5vbS1kZS1yZWZlcsOobmNpYT4gWzx2YWxvci1hbnRpYz5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAgICA8cmVmbmFtZT4gPG5ldy12YWw+IFs8b2xkLXZhbD5dIgogbXNnc3RyICIiCiAiZ2l0IHVwZGF0ZS1yZWYgWzxvcGNpb25zPl0gICAgPG5vbS1kZS1yZWZlcsOobmNpYT4gPHZhbG9yLW5vdT4gWzx2YWxvci1hbnRpYz5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTIKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAtLXN0ZGluIFstel0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs8b3BjaW9ucz5dIC0tc3RkaW4gWy16XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjQKIG1zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKIG1zZ3N0ciAic3VwcmltZWl4IGxhIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjUKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NgogbXNnaWQgInVwZGF0ZSA8cmVmbmFtZT4gbm90IHRoZSBvbmUgaXQgcG9pbnRzIHRvIgogbXNnc3RyICJhY3R1YWxpdHphIDxub20gZGUgcmVmZXLDqG5jaWE+LCBubyBsYSBxdWUgYXNzZW55YWxpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCiBtc2dzdHIgInN0ZGluIHTDqSBwYXLDoG1ldHJlcyBhY2FiYXRzIGFtYiBOVUwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY4CiBtc2dpZCAicmVhZCB1cGRhdGVzIGZyb20gc3RkaW4iCiBtc2dzdHIgImxsZWdlaXggbGVzIGFjdHVhbGl0emFjaW9ucyBkZXMgZCdzdGRpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo2CisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjcKIG1zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTQKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTUKIG1zZ2lkICJ1cGRhdGUgdGhlIGluZm8gZmlsZXMgZnJvbSBzY3JhdGNoIgogbXNnc3RyICJhY3R1YWxpdHphIGVscyBmaXR4ZXJzIGQnaW5mb3JtYWNpw7MgZGVzIGRlIHplcm8iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE3CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxOAogbXNnaWQgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbWlzc2nDsz4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjcyCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MwogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAiaW1wcmltZWl4IGVscyBjb250aW5ndXRzIGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICJpbXByaW1laXggbGEgc29ydGlkYSBjcnVhIGRlIGwnZXN0YXQgZ3BnIgogCi0jOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NTQKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NQogbXNnaWQgImdpdCB2ZXJpZnktcGFjayBbLXYgfCAtLXZlcmJvc2VdIFstcyB8IC0tc3RhdC1vbmx5XSA8cGFjaz4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktcGFjayBbLXYgfCAtLXZlcmJvc2VdIFstcyB8IC0tc3RhdC1vbmx5XSA8cGFxdWV0Pi4uLiIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY0CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjUKIG1zZ2lkICJ2ZXJib3NlIgogbXNnc3RyICJkZXRhbGxhdCIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY2CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjcKIG1zZ2lkICJzaG93IHN0YXRpc3RpY3Mgb25seSIKIG1zZ3N0ciAibW9zdHJhIG5vbcOpcyBlc3RhZMOtc3RpcXVlcyIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTgKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE5CiBtc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPGV0aXF1ZXRhPi4uLiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgdGFnIGNvbnRlbnRzIgogbXNnc3RyICJpbXByaW1laXggZWxzIGNvbnRpbmd1dHMgZGUgbCdldGlxdWV0YSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKIG1zZ2lkICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxwYXRoPiBbPGJyYW5jaD5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs8b3BjaW9ucz5dIDxjYW3DrT4gWzxicmFuY2E+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcGNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPG9wY2lvbnM+XSA8Y2Ftw60+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQogbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3BjaW9ucz5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMAogbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDxjYW3DrT4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICJFbGltaW5hY2nDsyBkZSB3b3JrdHJlZXMvJXM6IG5vIMOpcyB1biBkaXJlY3RvcmkgdsOgbGlkIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJFbGltaW5hY2nDsyBkZSB3b3JrdHJlZXMvJXM6IGVsIGZpdHhlciBnaXRkaXIgbm8gZXhpc3RlaXgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAiRWxpbWluYWNpw7MgZGUgd29ya3RyZWVzLyVzOiBubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZ2l0ZGlyICglcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAiRWxpbWluYWNpw7MgZGUgd29ya3RyZWVzLyVzOiBmaXR4ZXIgZ2l0ZGlyIG5vIHbDoGxpZCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICIiCiAiRWxpbWluYWNpw7MgZGUgd29ya3RyZWVzLyVzOiBlbCBmaXR4ZXIgZ2l0ZGlyIGVzIHJlZmVyZWl4IGEgdW5hIHViaWNhY2nDsyBubyAiCiAiZXhpc3RlbnQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjkKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIHdvcmtpbmcgdHJlZXMiCiBtc2dzdHIgImluZm9ybWEgZGVscyBhcmJyZXMgZGUgdHJlYmFsbCBwb2RhdHMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzEKIG1zZ2lkICJleHBpcmUgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiZmVzIGNhZHVjYXIgZWxzIGFyYnJlcyBkZSB0cmViYWxsIG3DqXMgdmVsbHMgcXVlIDxob3JhPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICInJXMnIGphIGV4aXN0ZWl4IgpAQCAtMTM2MzgsOTcgKzE0MDM1LDEwMSBAQAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZGlyZWN0b3JpIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKIG1zZ3N0ciAiUydlc3TDoCBwcmVwYXJhbnQgJXMgKGlkZW50aWZpY2Fkb3IgJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzIzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICJhZ2FmYSA8YnJhbmNhPiBlbmNhcmEgcXVlIHNpZ3VpIGFnYWZhZGEgZW4gYWx0cmUgYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOQogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgImNyZWEgdW5hIGJyYW5jYSBub3ZhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMxCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJjcmVhIG8gcmVzdGFibGVpeCB1bmEgYnJhbmNhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMzCiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImVtcGxlbmEgbCdhcmJyZSBkZSB0cmViYWxsIG5vdSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzNAorbXNnaWQgImtlZXAgdGhlIG5ldyB3b3JraW5nIHRyZWUgbG9ja2VkIgorbXNnc3RyICJtYW50w6luIGwnYXJicmUgZGUgdHJlYmFsbCBub3UgYmxvcXVlamF0IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzQyCiBtc2dpZCAiLWIsIC1CLCBhbmQgLS1kZXRhY2ggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CIGkgLS1kZXRhY2ggc8OzbiBtdXR1YWxtZW50IGV4Y2x1c2l1cyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3OQogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAicmHDsyBwZXIgYmxvcXVlamFyIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEgYnVpbHRpbi93b3JrdHJlZS5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiJyVzJyBubyDDqXMgdW4gYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NiBidWlsdGluL3dvcmt0cmVlLmM6NTE5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzIGJ1aWx0aW4vd29ya3RyZWUuYzo1MjYKIG1zZ2lkICJUaGUgbWFpbiB3b3JraW5nIHRyZWUgY2Fubm90IGJlIGxvY2tlZCBvciB1bmxvY2tlZCIKIG1zZ3N0ciAiTm8gZXMgcG90IGJsb3F1ZWphciBuaSBkZXNibG9xdWVqYXIgbCdhcmJyZSBkZSB0cmViYWxsIHByaW5jaXBhbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgogbXNnc3RyICInJXMnIGphIGVzdMOgIGJsb3F1ZWphdCwgcmHDszogJyVzJyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgogbXNnc3RyICInJXMnIGphIGVzdMOgIGJsb3F1ZWphdCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUyMQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBsb2NrZWQiCiBtc2dzdHIgIiclcycgbm8gZXN0w6AgYmxvcXVlamF0IgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxMworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTQKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI2CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNwogbXNnaWQgIjxwcmVmaXg+LyIKIG1zZ3N0ciAiPHByZWZpeD4vIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKIG1zZ2lkICJ3cml0ZSB0cmVlIG9iamVjdCBmb3IgYSBzdWJkaXJlY3RvcnkgPHByZWZpeD4iCiBtc2dzdHIgImVzY3JpdSBsJ29iamVjdGUgZCdhcmJyZSBwZXIgYSB1biBzdWJkaXJlY3RvcmkgPHByZWZpeD4iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMwCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgIm5vbcOpcyDDunRpbCBwZXIgYSBsYSBkZXB1cmFjacOzIgogCi0jOiB1cGxvYWQtcGFjay5jOjIyCisjOiB1cGxvYWQtcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxvcGNpb25zPl0gPGRpcmVjdG9yaT4iCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAzNgorIzogdXBsb2FkLXBhY2suYzoxMDQxCiBtc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgogbXNnc3RyICJzdXJ0IGRlc3Byw6lzIGQndW4gc29sIGludGVyY2FudmkgZGUgc29swrdsaWNpdHVkL3Jlc3Bvc3RhIgogCi0jOiB1cGxvYWQtcGFjay5jOjEwMzgKKyM6IHVwbG9hZC1wYWNrLmM6MTA0MwogbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKIG1zZ3N0ciAic3VydCBpbW1lZGlhdGFtZW50IGRlc3Byw6lzIGRlIGwnYW51bmNpIGluaWNpYWwgZGUgcmVmZXLDqG5jaWEiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTA0MAorIzogdXBsb2FkLXBhY2suYzoxMDQ1CiBtc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibm8gaW50ZW50aXMgPGRpcmVjdG9yaT4vLmdpdC8gc2kgPGRpcmVjdG9yaT4gbm8gw6lzIGNhcCBkaXJlY3RvcmkgZGVsIEdpdCIKIAotIzogdXBsb2FkLXBhY2suYzoxMDQyCisjOiB1cGxvYWQtcGFjay5jOjEwNDcKIG1zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKIG1zZ3N0ciAiaW50ZXJyb21wIGxhIHRyYW5zZmVyw6huY2lhIGRlc3Byw6lzIGRlIDxuPiBzZWdvbnMgZCdpbmFjdGl2aXRhdCIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKQEAgLTEzNzQyLDExICsxNDE0MywxMSBAQAogIlxuIgogIlx0Y2htb2QgMDcwMCAlcyIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzIKIG1zZ2lkICJwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gc3RkZXJyIgogbXNnc3RyICJpbXByaW1laXggZWxzIG1pc3NhdGdlcyBkZSBkZXB1cmFjacOzIGEgc3RkZXJyIgogCi0jOiBnaXQuYzoxNAorIzogZ2l0LmM6MTUKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKQEAgLTEzNzU2LDI2ICsxNDE1NywzMSBAQAogImFsZ3VuZXMgZ3VpZXMgZGUgY29uY2VwdGUuIFZlZ2V1ICdnaXQgaGVscCA8b3JkcmU+JyBvXG4iCiAiJ2dpdCBoZWxwIDxjb25jZXB0ZT4nIHBlciBhIGxsZWdpciBzb2JyZSB1bmEgc3Vib3JkcmUgbyBjb25jZXB0ZSBlc3BlY8OtZmljLiIKIAotIzogaHR0cC5jOjM0NAorIzogaHR0cC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgorbXNnc3RyICIiCisKKyM6IGh0dHAuYzozNTgKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIk5vIHMnYWRtZXQgZWwgY29udHJvbCBkZSBkZWxlZ2FjacOzIGFtYiBlbCBjVVJMIDwgNy4yMi4wIgogCi0jOiBodHRwLmM6MzUzCisjOiBodHRwLmM6MzY3CiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICJObyBzJ2FkbWV0IGwnZW5nYW54IGRlIGNsYXUgcMO6YmxpY2EgYW1iIGNVUkwgPCA3LjQ0LjAiCiAKLSM6IGh0dHAuYzoxNzEzCisjOiBodHRwLmM6MTc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgogIiAgYXNrZWQgZm9yOiAlc1xuIgogIiAgIHJlZGlyZWN0OiAlcyIKIG1zZ3N0ciAiIgotIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgbGEgVVJMIGJhc2UgZGVzIGRlIGxhIHJlZGlyZWNjacOzOlxuIgorIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgbCdVUkwgYmFzZSBkZXMgZGUgbGEgcmVkaXJlY2Npw7M6XG4iCiAiICBwZXRpY2nDszogJXNcbiIKICIgICByZWRpcmVjY2nDszogJXMiCiAKLSM6IHJlbW90ZS1jdXJsLmM6MzE5CisjOiByZW1vdGUtY3VybC5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKIG1zZ3N0ciAicydlc3TDoCByZWRpcmlnaW50IGEgJXMiCkBAIC0xNDE1MSw3ICsxNDU1Nyw3IEBACiBtc2dzdHIgIiIKICJMYSBmdXNpw7Mgc2ltcGxlIG5vIGhhIGZ1bmNpb25hdCwgcydlc3TDoCBpbnRlbnRhbnQgdW5hIGZ1c2nDsyBhdXRvbcOgdGljYS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcKKyM6IGdpdC1yZWJhc2Uuc2g6NTgKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCkBAIC0xNDE2NCwzNyArMTQ1NzAsNDEgQEAKICJQZXIgYSBhZ2FmYXIgbGEgYnJhbmNhIG9yaWdpbmFsIGkgZGVpeGFyIGRlIGZlciDCq3JlYmFzZcK7LCBleGVjdXRldSBcImdpdCAiCiAicmViYXNlIC0tYWJvcnRcIi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTU3IGdpdC1yZWJhc2Uuc2g6Mzk2CisjOiBnaXQtcmViYXNlLnNoOjE1OCBnaXQtcmViYXNlLnNoOjM5NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRvcm5hciBhICRoZWFkX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE2OQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAiUydoYSBhcGxpY2F0IGVsIG1hZ2F0emVtIGF1dG9tw6B0aWMuIgorCisjOiBnaXQtcmViYXNlLnNoOjE3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgogbXNnc3RyICJObyBlcyBwb3QgZW1tYWdhdHplbWFyICRzdGFzaF9zaGExIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxMQorIzogZ2l0LXJlYmFzZS5zaDoyMTIKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiRWwgZ2FueG8gcHJlLcKrcmViYXNlwrsgaGEgcmVmdXNhdCBhIGZlciDCq3JlYmFzZcK7LiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTYKKyM6IGdpdC1yZWJhc2Uuc2g6MjE3CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICJTZW1ibGEgcXVlIGdpdC1hbSBlc3TDoCBlbiBjdXJzLiBObyBlcyBwb3QgZmVyIMKrcmViYXNlwrsuIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NworIzogZ2l0LXJlYmFzZS5zaDozNTgKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgotbXNnc3RyICJObyBoaSBoYSByZWJhc2FtZW50IGVuIGN1cnM/IgorbXNnc3RyICJObyBoaSBoYSB1biDCq3JlYmFzZcK7IGVuIGN1cnM/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjkKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIkwnYWNjacOzIC0tZWRpdC10b2RvIG5vbcOpcyBlcyBwb3QgdXNhciBkdXJhbnQgdW4gwqtyZWJhc2XCuyBpbnRlcmFjdGl1LiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzUKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc2CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBIRUFEIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3OAorIzogZ2l0LXJlYmFzZS5zaDozNzkKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xNDIwMiw3ICsxNDYxMiw3IEBACiAiSGV1IGQnZWRpdGFyIHRvdHMgZWxzIGNvbmZsaWN0ZXMgZGUgZnVzacOzIGkgZGVzcHLDqXNcbiIKICJtYXJjYXItbG9zIGNvbSBhIHJlc29sdHMgZmVudCBzZXJ2aXIgZ2l0IGFkZCIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MTgKKyM6IGdpdC1yZWJhc2Uuc2g6NDE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xNDIxNSw3ICsxNDYyNSw3IEBACiAidmFsdWFibGUgdGhlcmUuIgogbXNnc3RyICIiCiAiU2VtYmxhIHF1ZSBqYSBoaSBoYSB1biBkaXJlY3RvcmkgJHN0YXRlX2Rpcl9iYXNlLCBpXG4iCi0iZW0gcHJlZ3VudG8gc2kgZXN0ZXUgZW5taWcgZCd1biBhbHRyZSByZWJhc2FtZW50LiBTaSBhcXVlc3Qgw6lzIGVsXG4iCisiZW0gcHJlZ3VudG8gc2kgZXN0ZXUgZW5taWcgZCd1biBhbHRyZSDCq3JlYmFzZcK7LiBTaSBhcXVlc3Qgw6lzIGVsXG4iCiAiY2FzLCBzaSB1cyBwbGF1LCBwcm92ZXVcbiIKICJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKICJTaSBubyDDqXMgZWwgY2FzLCBzaSB1cyBwbGF1LFxuIgpAQCAtMTQyMjMsMTAzICsxNDYzMywxMDMgQEAKICJpIGV4ZWN1dGV1LW1lIGRlIG5vdS4gTSdhdHVybyBwZXIgc2kgZW5jYXJhIGhpIHRlbml1IGFsZ3VuYSBjb3NhXG4iCiAiZGUgdmFsb3IuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2OQorIzogZ2l0LXJlYmFzZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgImZvbnQgbm8gdsOgbGlkYSAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMKKyM6IGdpdC1yZWJhc2Uuc2g6NDk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTogamEgaGkgaGEgbcOpcyBkJ3VuYSBiYXNlIGRlIGZ1c2nDsyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTYgZ2l0LXJlYmFzZS5zaDo1MDAKKyM6IGdpdC1yZWJhc2Uuc2g6NDk3IGdpdC1yZWJhc2Uuc2g6NTAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiBubyBoaSBoYSBjYXAgYmFzZSBkZSBmdXNpw7MiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTA1CisjOiBnaXQtcmViYXNlLnNoOjUwNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIk5vIGFzc2VueWFsYSB1bmEgY29taXNzacOzIHbDoGxpZGE6ICRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI4CisjOiBnaXQtcmViYXNlLnNoOjUyOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgImZhdGFsOiBubyBoaSBoYSB0YWwgYnJhbmNhOiAkYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYxCisjOiBnaXQtcmViYXNlLnNoOjU2MgogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIk5vIGVzIHBvdCBlbW1hZ2F0emVtYXIgYXV0b23DoHRpY2FtZW50IgogCi0jOiBnaXQtcmViYXNlLnNoOjU2NgorIzogZ2l0LXJlYmFzZS5zaDo1NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICJTJ2hhIGNyZWF0IHVuIG1hZ2F0emVtIGF1dG9tw6B0aWM6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcwCisjOiBnaXQtcmViYXNlLnNoOjU3MQogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIlNpIHVzIHBsYXUsIGNvbWV0ZXUtbG9zIG8gZW1tYWdhdHplbWV1LWxvcy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTkwCisjOiBnaXQtcmViYXNlLnNoOjU5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgogbXNnc3RyICJMYSBicmFuY2EgYWN0dWFsICRicmFuY2hfbmFtZSBlc3TDoCBhbCBkaWEuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5NAorIzogZ2l0LXJlYmFzZS5zaDo1OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiTGEgYnJhbmNhIGFjdHVhbCAkYnJhbmNoX25hbWUgZXN0w6AgYWwgZGlhOyDCq3JlYmFzZcK7IGZvcsOnYXQuIgogCi0jOiBnaXQtcmViYXNlLnNoOjYwNQorIzogZ2l0LXJlYmFzZS5zaDo2MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICJDYW52aXMgZGUgJG1iIGEgJG9udG86IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxNAorIzogZ2l0LXJlYmFzZS5zaDo2MTUKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICJQcmltZXIsIHMnZXN0w6AgcmVib2JpbmFudCBlbCBjYXAgcGVyIGEgcmVwcm9kdWlyIGVsIHZvc3RyZSB0cmViYWxsIGFsICIKICJkYW11bnQuLi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjI0CisjOiBnaXQtcmViYXNlLnNoOjYyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgogbXNnc3RyICJTJ2hhIGF2YW7Dp2F0ICRicmFuY2hfbmFtZSByw6BwaWRhbWVudCBhICRvbnRvX25hbWUuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAKKyM6IGdpdC1zdGFzaC5zaDo1NAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIGFtYiBwYXLDoG1ldHJlcyBubyBlc3TDoCBpbXBsZW1lbnRhdCIKIAotIzogZ2l0LXN0YXNoLnNoOjczCisjOiBnaXQtc3Rhc2guc2g6OTUKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKIG1zZ3N0ciAiRW5jYXJhIG5vIHRlbml1IGxhIGNvbWlzc2nDsyBpbmljaWFsIgogCi0jOiBnaXQtc3Rhc2guc2g6ODgKKyM6IGdpdC1zdGFzaC5zaDoxMTAKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKIG1zZ3N0ciAiTm8gZXMgcG90IGRlc2FyIGwnZXN0YXQgZCfDrW5kZXggYWN0dWFsIgogCi0jOiBnaXQtc3Rhc2guc2g6MTAzCisjOiBnaXQtc3Rhc2guc2g6MTI1CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiTm8gZXMgcG90IGRlc2FyIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMiCiAKLSM6IGdpdC1zdGFzaC5zaDoxMjMgZ2l0LXN0YXNoLnNoOjEzNgorIzogZ2l0LXN0YXNoLnNoOjE0NSBnaXQtc3Rhc2guc2g6MTU4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIk5vIGVzIHBvdCBkZXNhciBsJ2VzdGF0IGQnYXJicmUgZGUgdHJlYmFsbCBhY3R1YWwiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDAKKyM6IGdpdC1zdGFzaC5zaDoxNjIKIG1zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgogbXNnc3RyICJObyBoaSBoYSBjYW52aXMgc2VsZWNjaW9uYXRzIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQzCisjOiBnaXQtc3Rhc2guc2g6MTY1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIk5vIGVzIHBvdCBlbGltaW5hciBsJ8OtbmRleCB0ZW1wb3JhbCAoYWl4w7Igbm8gcG90IHBhc3NhcikiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNTYKKyM6IGdpdC1zdGFzaC5zaDoxNzgKIG1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKIG1zZ3N0ciAiTm8gZXMgcG90IHJlZ2lzdHJhciBsJ2VzdGF0IGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogZ2l0LXN0YXNoLnNoOjE4OAorIzogZ2l0LXN0YXNoLnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgogbXNnc3RyICJObyBlcyBwb3QgYWN0dWFsaXR6YXIgJHJlZl9zdGFzaCBhbWIgJHdfY29tbWl0IgpAQCAtMTQzMzQsNyArMTQ3NDQsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIzOAorIzogZ2l0LXN0YXNoLnNoOjI2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC0xNDM0MywxMDcgKzE0NzUzLDExMCBAQAogImVycm9yOiBvcGNpw7MgZGVzY29uZWd1ZGEgZGUgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCiAiICAgICAgIFBlciBhIHByb3ZlaXIgdW4gbWlzc2F0Z2UsIHVzZXUgZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgogCi0jOiBnaXQtc3Rhc2guc2g6MjUxCisjOiBnaXQtc3Rhc2guc2g6MjgxCiBtc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKIG1zZ3N0ciAiTm8gZXMgcG9kZW4gdXNhciAtLXBhdGNoIGkgLS1pbmNsdWRlLXVudHJhY2tlZCBvIC0tYWxsIGEgbGEgdmVnYWRhLiIKIAotIzogZ2l0LXN0YXNoLnNoOjI1OQorIzogZ2l0LXN0YXNoLnNoOjI4OQogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKIG1zZ3N0ciAiTm8gaGkgaGEgY2FudmlzIGxvY2FscyBhIGRlc2FyIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYzCisjOiBnaXQtc3Rhc2guc2g6Mjk0CiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIk5vIGVzIHBvdCBpbmljaWFsaXR6YXIgZWwgbWFnYXR6ZW0iCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjcKKyM6IGdpdC1zdGFzaC5zaDoyOTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIk5vIGVzIHBvdCBkZXNhciBsJ2VzdGF0IGFjdHVhbCIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAorIzogZ2l0LXN0YXNoLnNoOjI5OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCiBtc2dzdHIgIlMnaGFuIGRlc2F0IGVsIGRpcmVjdG9yaSBkZSB0cmViYWxsIGkgbCdlc3RhdCBkJ8OtbmRleCAkc3Rhc2hfbXNnIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjg1CisjOiBnaXQtc3Rhc2guc2g6MzI2CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJObyBlcyBwb2RlbiBlbGltaW5hciBlbHMgY2FudmlzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMworIzogZ2l0LXN0YXNoLnNoOjQ3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIm9wY2nDsyBkZXNjb25lZ3VkYTogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNgotbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKKyM6IGdpdC1zdGFzaC5zaDo0ODcKKyMsIGZ1enp5Cittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCiBtc2dzdHIgIk5vIHMnaGEgdHJvYmF0IGNhcCBtYWdhdHplbS4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjMKKyM6IGdpdC1zdGFzaC5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIlMnaGFuIGVzcGVjaWZpY2F0IG1hc3NhIHJldmlzaW9uczogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQzOAorIzogZ2l0LXN0YXNoLnNoOjUwOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Ugbm8gw6lzIHVuYSByZWZlcsOobmNpYSB2w6BsaWRhIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY2CisjOiBnaXQtc3Rhc2guc2g6NTM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICInJGFyZ3MnIG5vIMOpcyB1bmEgY29taXNzacOzIGRlIHRpcHVzIG1hZ2F0emVtIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc3CisjOiBnaXQtc3Rhc2guc2g6NTQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJyRhcmdzJyBubyDDqXMgdW5hIHJlZmVyw6huY2lhIGRlIG1hZ2F0emVtIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg1CisjOiBnaXQtc3Rhc2guc2g6NTU2CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgbCfDrW5kZXgiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo1NjAKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIk5vIGVzIHBvdCBhcGxpY2FyIHVuIG1hZ2F0emVtIGVubWlnIGQndW5hIGZ1c2nDsyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5NworIzogZ2l0LXN0YXNoLnNoOjU2OAogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIkhpIGhhIGNvbmZsaWN0ZXMgZW4gbCfDrW5kZXguIFByb3ZldS1obyBzZW5zZSAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5OQorIzogZ2l0LXN0YXNoLnNoOjU3MAogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGVzYXIgbCdhcmJyZSBkJ8OtbmRleCIKIAotIzogZ2l0LXN0YXNoLnNoOjUwOAotbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgorIzogZ2l0LXN0YXNoLnNoOjU3OQorIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCByZXN0YXVyYXIgZWxzIGZpdHhlcnMgbm8gc2VndWl0cyBkZXMgZCdlbW1hZ2F0emVtYXRnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjUzMworIzogZ2l0LXN0YXNoLnNoOjYwNAogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJObyBlcyBwb3QgZmVyIMKrdW5zdGFnZcK7IGRlbHMgZml0eGVycyBtb2RpZmljYXRzIgogCi0jOiBnaXQtc3Rhc2guc2g6NTQ4CisjOiBnaXQtc3Rhc2guc2g6NjE5CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICJMJ8OtbmRleCBubyBlc3RhdmEgc2Vuc2UgZW1tYWdhdHplbWFyLiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgotbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorIzogZ2l0LXN0YXNoLnNoOjYzMworIywgZnV6enkKK21zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKIG1zZ3N0ciAiRXMgY29uc2VydmEgZWwgbWFnYXR6ZW0gZW4gY2FzIGRlIHF1ZSBlbCBuZWNlc3NpdGV1IGFsdHJhIHZlZ2FkYS4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzEKKyM6IGdpdC1zdGFzaC5zaDo2NDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIiR7UkVWfSAoJHMpIGRlc2NhcnRhZGEiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzIKKyM6IGdpdC1zdGFzaC5zaDo2NDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogTm8gcydoYSBwb2d1dCBkZXNjYXJ0YXIgbCdlbnRyYWRhIGRlIG1hZ2F0emVtIgogCi0jOiBnaXQtc3Rhc2guc2g6NTgwCisjOiBnaXQtc3Rhc2guc2g6NjUxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJDYXAgbm9tIGRlIGJyYW5jYSBlc3BlY2lmaWNhdCIKIAotIzogZ2l0LXN0YXNoLnNoOjY1MgorIzogZ2l0LXN0YXNoLnNoOjczMAogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKFBlciByZXN0YXVyYXItbGVzIHRlY2xlZ2V1IFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogCkBAIC0xNDQ2OCw3ICsxNDg4MSw3IEBACiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXggYW5kIGlzIG5vdCBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiJyRzbV9wYXRoJyBqYSBleGlzdGVpeCBlbiBsJ8OtbmRleCBpIG5vIMOpcyBzdWJtw7JkdWwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0xNDQ3OSwyMyArMTQ4OTIsMjMgQEAKICIkc21fcGF0aFxuIgogIlVzZXUgLWYgc2kgcmVhbG1lbnQgdm9sZXUgYWZlZ2lyLWxvLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiUydlc3TDoCBhZmVnaW50IGVsIGRpcMOyc2l0IGV4aXN0ZW50IGEgJyRzbV9wYXRoJyBhIGwnw61uZGV4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIGphIGV4aXN0ZWl4IGkgbm8gw6lzIHVuIGRpcMOyc2l0IGRlIGdpdCB2w6BsaWQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICIiCiAiRXMgdHJvYmEgdW4gZGlyZWN0b3JpIGRlIGdpdCBwZXIgYSAnJHNtX25hbWUnIGxvY2FsbWVudCBhbWIgZWxzIHJlbW90czoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ4CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgpAQCAtMTQ1MTIsNDkgKzE0OTI1LDQ5IEBACiAibyBubyBlc3RldSBzZWd1ciBkZSBxdcOoIHZvbCBkaXIgYWl4w7IsIHRyaWV1IHVuIGFsdHJlIG5vbSBhbWIgbCdvcGNpw7MgJy0tIgogIm5hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICIiCiAiUydlc3TDoCByZWFjdGl2YW50IGVsIGRpcmVjdG9yaSBkZSBnaXQgbG9jYWwgcGVyIGFsIHN1Ym3DsmR1bCAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYWdhZmFyIGVsIHN1Ym3DsmR1bCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYWZlZ2lyIGVsIHN1Ym3DsmR1bCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZWdpc3RyYXIgZWwgc3VibcOyZHVsICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjM0MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRW50ZXJpbmcgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlMnZXN0w6AgZW50cmFudCAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIiIKICJTJ2VzdMOgIGF0dXJhbnQgYSAnJGRpc3BsYXlwYXRoJzsgbCdzY3JpcHQgaGEgcmV0b3JuYXQgdW4gZXN0YXQgbm8gemVyby4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tcGF0aHNwZWMgaSAtLWFsbCBzw7NuIGluY29tcGF0aWJsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDIzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVXNlICctLWFsbCcgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiVXNldSAnLS1hbGwnIHNpIHJlYWxtZW50IHZvbGV1IGRlc2luaWNpYWxpdHphciB0b3RzIGVscyBzdWJtw7JkdWxzIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ0MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKQEAgLTE0NTYzLDcgKzE0OTc2LDcgQEAKICJMJ2FyYnJlIGRlIHRyZWJhbGwgZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIGNvbnTDqSB1biBkaXJlY3RvcmkgLmdpdFxuIgogIih1c2V1ICdybSAtcmYnIHNpIHJlYWxtZW50IHZvbGV1IGVsaW1pbmFyLWxvLCBpbmNsb2VudCB0b3RhIGxhIHNldmEgaGlzdMOycmlhKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCkBAIC0xNDU3MiwzOCArMTQ5ODUsMzggQEAKICJMJ2FyYnJlIGRlIHRyZWJhbGwgZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIGNvbnTDqSBtb2RpZmljYWNpb25zIGxvY2FsczsgIgogInVzZXUgJy1mJyBwZXIgYSBkZXNjYXJ0YXItbGVzIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTJ2hhIG5ldGVqYXQgZWwgZGlyZWN0b3JpICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlbGltaW5hciBsJ2FyYnJlIGRlIHRyZWJhbGwgZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBjcmVhciBlbCBkaXJlY3RvcmkgZGUgc3VibcOyZHVsIGJ1aXQgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDY3CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiU3VibcOyZHVsICckbmFtZScgKCR1cmwpIG5vIHJlZ2lzdHJhdCBwZXIgYWwgY2Ftw60gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIzCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIk5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIHJldmlzacOzIGFjdHVhbCBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjMzCisjOiBnaXQtc3VibW9kdWxlLnNoOjY0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTQ2MTIsMTIgKzE1MDI1LDEyIEBACiAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgcmV2aXNpw7MgYWN0dWFsIGRlICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSBlbiBlbCAiCiAiY2Ftw60gZGUgc3VibcOyZHVsICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9idGVuaXIgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCkBAIC0xNDYyNiw4NyArMTUwMzksODcgQEAKICJTJ2hhIG9idGluZ3V0IGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJywgcGVyw7Igbm8gY29udGVuaWEgJHNoYTEuICIKICJMJ29idGVuY2nDsyBkaXJlY3RhIGQnYXF1ZWxsYSBjb21pc3Npw7MgaGEgZmFsbGF0LiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhZ2FmYXIgJyRzaGExJyBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIkNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJzogcydoYSBhZ2FmYXQgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJObyBzJ2hhIHBvZ3V0IGZlciDCq3JlYmFzZcK7ICckc2hhMScgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAiQ2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnOiBzJ2hhIGZldCDCq3JlYmFzZcK7IGVuICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZnVzaW9uYXIgJyRzaGExJyBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICJDYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCc6IHMnaGEgZnVzaW9uYXQgZW4gJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJMJ2V4ZWN1Y2nDsyBkZSAnJGNvbW1hbmQgJHNoYTEnIGhhIGZhbGxhdCBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgIgogIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJDYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjczMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gcmVjb3JyZSByZWN1cnNpdmFtZW50IGRpbnMgZGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAiCiAiJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjg0MQogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIkwnb3BjacOzIC0tY2FjaGVkIG5vIGVzIHBvdCB1c2FyIGFtYiBsJ29wY2nDsyAtLWZpbGVzIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAibW9kZSBpbmVzcGVyYXQgJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIEF2w61zOiAkZGlzcGxheV9uYW1lIG5vIGNvbnTDqSBsYSBjb21pc3Npw7MgJHNoYTFfc3JjIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkwMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBBdsOtczogJGRpc3BsYXlfbmFtZSBubyBjb250w6kgbGEgY29taXNzacOzICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgQXbDrXM6ICRkaXNwbGF5X25hbWUgbm8gY29udMOpIGxlcyBjb21pc3Npb25zICRzaGExX3NyYyBpICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDUxCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIHJlY3Vyc2l2YW1lbnQgYWwgY2Ftw60gZGUgc3VibcOyZHVsICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTExOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTJ2VzdMOgIHNpbmNyb25pdHphbnQgbCd1cmwgZGUgc3VibcOyZHVsIHBlciBhICckZGlzcGxheXBhdGgnIgpAQCAtMTQ5MzksNyArMTUzNTIsNyBAQAogIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzAzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKLW1zZ3N0ciAiUydoYSByZWJhc2F0IGkgYWN0dWFsaXR6YXQgJGhlYWRfbmFtZSBhbWIgw6h4aXQuIgorbXNnc3RyICJTJ2hhIGZldCDCq3JlYmFzZcK7IGkgYWN0dWFsaXR6YXQgJGhlYWRfbmFtZSBhbWIgw6h4aXQuIgogCiAjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo3NTAKIG1zZ2lkICJDb3VsZCBub3Qgc2tpcCB1bm5lY2Vzc2FyeSBwaWNrIGNvbW1hbmRzIgpAQCAtMTUwMTAsMTMgKzE1NDIzLDEzIEBACiAKICM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTUKIG1zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCi1tc2dzdHIgIk8gcG9kZXUgYXZvcnRhciBlbCByZWJhc2FtZW50IGFtYiAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCittc2dzdHIgIk8gcG9kZXUgYXZvcnRhciBlbCDCq3JlYmFzZcK7IGFtYiAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZWxpbWluYXIgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4NAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTUwNDcsMTMgKzE1NDYwLDEzIEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwMQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQogbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgogbXNnc3RyICIiCiAiSGkgaGEgaGFndXQgdW4gZXJyb3IgZW4gaW50ZW50YXIgdHJvYmFyIGxhIGlkZW50aXRhdCBkJ2F1dG9yIHBlciBhIGVzbWVuYXIgIgogImxhIGNvbWlzc2nDsyIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExMAogbXNnaWQgIiIKICJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKICJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgpAQCAtMTUwNjEsMTEgKzE1NDc0LDExIEBACiAiVGVuaXUgY2FudmlzIG5vIGNvbWVzb3MgZW4gZWwgdm9zdHJlIGFyYnJlIGRlIHRyZWJhbGwuIFNpIHVzIHBsYXUsXG4iCiAicHJpbWVyIGNvbWV0ZXUtbG9zIGkgZGVzcHLDqXMgZXhlY3V0ZXUgJ2dpdCByZWJhc2UgLS1jb250aW51ZScgZGUgbm91LiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExMSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTkKIG1zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBjb21ldHJlIGVscyBjYW52aXMgwqtzdGFnZWTCuy4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDcKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCkBAIC0xNTA3NCw1NSArMTU0ODcsNTUgQEAKICJcbiIKIG1zZ3N0ciAiIgogIlxuIgotIkVzdGV1IGVkaXRhbnQgZWwgZml0eGVyIGRlIGNvc2VzIGEgZmVyIGQndW4gcmViYXNhbWVudCBpbnRlcmFjdGl1IGVuIG1hcnhhLlxuIgotIlBlciBhIGNvbnRpbnVhciBlbCByZWJhc2FtZW50IGRlc3Byw6lzIGQnZWRpdGFyLCBleGVjdXRldTpcbiIKKyJFc3RldSBlZGl0YW50IGVsIGZpdHhlciBkZSBjb3NlcyBhIGZlciBkJ3VuIMKrcmViYXNlwrsgaW50ZXJhY3RpdSBlbiBtYXJ4YS5cbiIKKyJQZXIgYSBjb250aW51YXIgZWwgwqtyZWJhc2XCuyBkZXNwcsOpcyBkJ2VkaXRhciwgZXhlY3V0ZXU6XG4iCiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMxMwogbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBsJ2VkaXRvciIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2MAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYWdhZmFyICRzd2l0Y2hfdG8iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzMKIG1zZ2lkICJObyBIRUFEPyIKIG1zZ3N0ciAiTm8gaGkgaGEgY2FwIEhFQUQ/IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNyZWFyIGVsICRzdGF0ZV9kaXIgdGVtcG9yYWwiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzYKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBtYXJjYXIgY29tIGEgaW50ZXJhY3RpdSIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3OCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTgzCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTg2IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExOTEKIG1zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBpbmljaWFyIGxlcyBjb21pc3Npb25zIHJlZXNjcml0ZXMiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyODMKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgogbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCiBtc2dzdHJbMF0gIlJlYmFzYSAkc2hvcnRyZXZpc2lvbnMgc29icmUgJHNob3J0b250byAoJHRvZG9jb3VudCBvcmRyZSkiCiBtc2dzdHJbMV0gIlJlYmFzYSAkc2hvcnRyZXZpc2lvbnMgc29icmUgJHNob3J0b250byAoJHRvZG9jb3VudCBvcmRyZXMpIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk2CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCiAiXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJObyBvYnN0YW50LCBzaSBlbGltaW5ldSB0b3QsIHMnYXZvcnRhcsOgIGVsIHJlYmFzYW1lbnQuXG4iCisiTm8gb2JzdGFudCwgc2kgZWxpbWluZXUgdG90LCBzJ2F2b3J0YXLDoCBlbCDCq3JlYmFzZcK7LlxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzAzCiBtc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCiBtc2dzdHIgIk5vdGEgcXVlIGxlcyBjb21pc3Npb25zIGJ1aWRlcyBlc3RhbiBjb21lbnRhZGVzIgogCkBAIC0xNTE0NSw3ICsxNTU1OCw3IEBACiAKICM6IGdpdC1zaC1zZXR1cC5zaDoyMjAKIG1zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiTm8gZXMgcG90IHJlYmFzYXI6IFRlbml1IGNhbnZpcyDCq3Vuc3RhZ2VkwrsuIgorbXNnc3RyICJObyBlcyBwb3QgZmVyIMKrcmViYXNlwrs6IHRlbml1IGNhbnZpcyDCq3Vuc3RhZ2VkwrsuIgogCiAjOiBnaXQtc2gtc2V0dXAuc2g6MjIzCiBtc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgpAQCAtMTUxNjcsOCArMTU1ODAsNyBAQAogIzogZ2l0LXNoLXNldHVwLnNoOjI0NQogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICIiCi0iTm8gZXMgcG90IGJhaXhhciBmZW50IMKrcmViYXNlwrs6IEVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSAiCi0iY29tZXRyZS4iCisiTm8gZXMgcG90IGJhaXhhciBmZW50IMKrcmViYXNlwrs6IEVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSBjb21ldHJlLiIKIAogIzogZ2l0LXNoLXNldHVwLnNoOjI0OAogIywgc2gtZm9ybWF0CkBAIC0xNTE4OSw4MSArMTU2MDEsODEgQEAKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBkZXRlcm1pbmFyIGVsIGNhbcOtIGFic29sdXQgZGVsIGRpcmVjdG9yaSBkZSBnaXQiCiAKICMuIFRSQU5TTEFUT1JTOiB5b3UgY2FuIGFkanVzdCB0aGlzIHRvIGFsaWduICJnaXQgYWRkIC1pIiBzdGF0dXMgbWVudQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiUxMnMgJTEycyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKIG1zZ2lkICJzdGFnZWQiCiBtc2dzdHIgInN0YWdlZCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3CiBtc2dpZCAidW5zdGFnZWQiCiBtc2dzdHIgInVuc3RhZ2VkIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNDYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzEKIG1zZ2lkICJiaW5hcnkiCiBtc2dzdHIgImJpbmFyaSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjU1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA5CiBtc2dpZCAibm90aGluZyIKIG1zZ3N0ciAicmVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM1NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDYKIG1zZ2lkICJ1bmNoYW5nZWQiCiBtc2dzdHIgInNlbnNlIGNhbnZpcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjAyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiYWZlZ2l0ICVkIGNhbcOtXG4iCiBtc2dzdHJbMV0gImFmZWdpdHMgJWQgY2FtaW5zXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICJhY3R1YWxpdHphdCAlZCBjYW3DrVxuIgogbXNnc3RyWzFdICJhY3R1YWxpdHphdHMgJWQgY2FtaW5zXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gInJldmVydGl0ICVkIGNhbcOtXG4iCiBtc2dzdHJbMV0gInJldmVydGl0cyAlZCBjYW1pbnNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInRvdWNoZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ0b3VjaGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIm1vZGlmaWNhdCAlZCBjYW3DrVxuIgogbXNnc3RyWzFdICJtb2RpZmljYXQgJWQgY2FtaW5zXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjcxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyMAogbXNnaWQgIlVwZGF0ZSIKIG1zZ3N0ciAiQWN0dWFsaXR6YSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2ODMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMyCiBtc2dpZCAiUmV2ZXJ0IgogbXNnc3RyICJSZXZlcnRlaXgiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgogbXNnc3RyICJub3RhOiAlcyBlc3TDoCBhcmEgc2Vuc2Ugc2VndWltZW50LlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcxNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjYKIG1zZ2lkICJBZGQgdW50cmFja2VkIgogbXNnc3RyICJBZmVnZWl4IHNlbnNlIHNlZ3VpbWVudCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo3MjMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjcyCiBtc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgogbXNnc3RyICJTZW5zZSBmaXR4ZXJzIG5vIHNlZ3VpdHMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5ODUKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YWdpbmcuIgpAQCAtMTUyNzEsNyArMTU2ODMsNyBAQAogIlNpIGVsIHBlZGHDpyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIGVsIHRyb3MgZWRpdGF0IGVzIG1hcmNhcsOgIGltbWVkaWF0YW1lbnRcbiIKICJwZXIgwqtzdGFnaW5nwrsuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg4CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFzaGluZy4iCkBAIC0xNTI3OSw3ICsxNTY5MSw3IEBACiAiU2kgZWwgcGVkYcOnIHMnYXBsaWNhIGNvcnJlY3RhbWVudCwgZWwgdHJvcyBlZGl0YXQgZXMgbWFyY2Fyw6AgaW1tZWRpYXRhbWVudFxuIgogInBlciDCq3N0YXNoaW5nwrsuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTkxCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciB1bnN0YWdpbmcuIgpAQCAtMTUyODcsNyArMTU2OTksNyBAQAogIlNpIGVsIHBlZGHDpyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIGVsIHRyb3MgZWRpdGF0IGVzIG1hcmNhcsOgIGltbWVkaWF0YW1lbnRcbiIKICJwZXIgwqt1bnN0YWdpbmfCuy4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTk0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAwMwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgYXBwbHlpbmcuIgpAQCAtMTUyOTUsMTUgKzE1NzA3LDcgQEAKICJTaSBlbCBwZWRhw6cgcydhcGxpY2EgY29ycmVjdGFtZW50LCBlbCB0cm9zIGVkaXRhdCBlcyBtYXJjYXLDoCBpbW1lZGlhdGFtZW50XG4iCiAicGVyIGFwbGljYXItc2UuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKLW1zZ2lkICIiCi0iSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKLSJtYXJrZWQgZm9yIGRpc2NhcmRpbmciCi1tc2dzdHIgIiIKLSJTaSBlbCBwZWRhw6cgcydhcGxpY2EgY29ycmVjdGFtZW50LCBlbCB0cm9zIGVkaXRhdCBlcyBtYXJjYXLDoCBpbW1lZGlhdGFtZW50XG4iCi0icGVyIGRlc2NhcnRhci1zZS4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5OTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDAwCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKQEAgLTE1MzExLDE3ICsxNTcxNSwxNyBAQAogIlNpIGVsIHBlZGHDpyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIGVsIHRyb3MgZWRpdGF0IGVzIG1hcmNhcsOgIGltbWVkaWF0YW1lbnRcbiIKICJwZXIgZGVzY2FydGFyLXNlLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlIGFsIGZpdHhlciBkJ2VkaWNpw7MgZGVsIHRyb3M6ICVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAxNAogbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgogbXNnc3RyICIiCiAiTW9kZSBkJ2VkaWNpw7MgZGUgdHJvc3NvcyBtYW51YWwgLSB2ZWdldSBtw6lzIGF2YWxsIHBlciB1bmEgZ3VpYSByw6BwaWRhLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiLS0tXG4iCkBAIC0xNTMzNSw3ICsxNTczOSw3IEBACiAiTGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIHBlciAlcyBzZXJhbiBzdXByaW1pZGVzLlxuIgogCiAjLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyOAogbXNnaWQgIiIKICJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgogImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKQEAgLTE1MzQ2LDcgKzE1NzUwLDcgQEAKICJzJ2F2b3J0YVxuIgogImkgZWwgdHJvcyBlcyBkZWl4YSBzZW5zZSBjYXAgY2FudmkuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciByZWFkaW5nOiAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgYWwgZml0eGVyIGQnZWRpY2nDsyBkZWwgdHJvczogJXMiCkBAIC0xNTM1NywxNCArMTU3NjEsMTQgQEAKICMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCiAjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgogIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExODcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTEzNAogbXNnaWQgIiIKICJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiBFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgW3kvbl0/ICIKIG1zZ3N0ciAiIgotIkVsIHRyb3MgZWRpdGF0IG5vIHMnaGEgYXBsaWNhLiBFZGl0ZXUtbG8gZGUgbm91IChzaSByZXNwb25ldSBcIm5vXCIgZXMgIgorIkVsIHRyb3MgZWRpdGF0IG5vIHMnYXBsaWNhLiBFZGl0ZXUtbG8gZGUgbm91IChzaSByZXNwb25ldSBcIm5vXCIgZXMgIgogImRlc2NhcnRhcsOgKSBbeS9uXT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MwogbXNnaWQgIiIKICJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTE1Mzc4LDcgKzE1NzgyLDcgQEAKICJhIC0gZmVzIMKrc3RhZ2XCuyBkJ2FxdWVzdCB0cm9zIGkgdG90YSBsYSByZXN0YSBkZSB0cm9zc29zIGRlbCBmaXR4ZXJcbiIKICJkIC0gbm8gZmFjaXMgwqtzdGFnZcK7IGQnYXF1ZXN0IHRyb3MgbyBkZSBjYXAgYWx0cmUgcmVzdGFudCBkZWwgZml0eGVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0OQogbXNnaWQgIiIKICJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKQEAgLTE1MzkyLDcgKzE1Nzk2LDcgQEAKICJhIC0gZmVzIMKrc3Rhc2jCuyBkJ2FxdWVzdCB0cm9zIGkgdG90YSBsYSByZXN0YSBkZSB0cm9zc29zIGRlbCBmaXR4ZXJcbiIKICJkIC0gbm8gZmFjaXMgwqtzdGFzaMK7IGQnYXF1ZXN0IHRyb3MgbyBkZSBjYXAgYWx0cmUgcmVzdGFudCBkZWwgZml0eGVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE1NQogbXNnaWQgIiIKICJ5IC0gdW5zdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0xNTQwNiw3ICsxNTgxMCw3IEBACiAiYSAtIGZlcyDCq3Vuc3RhZ2XCuyBkJ2FxdWVzdCB0cm9zIGkgdG90YSBsYSByZXN0YSBkZSB0cm9zc29zIGRlbCBmaXR4ZXJcbiIKICJkIC0gbm8gZmFjaXMgwqt1bnN0YWdlwrsgZCdhcXVlc3QgdHJvcyBvIGRlIGNhcCBhbHRyZSByZXN0YW50IGRlbCBmaXR4ZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTYxCiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgpAQCAtMTU0MTUsNyArMTU4MTksNyBAQAogImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNjcKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKQEAgLTE1NDI0LDcgKzE1ODI4LDcgQEAKICJkIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjI2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNzMKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTU0MzMsNyArMTU4MzcsNyBAQAogImQgLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3OQogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTU0NDIsNyArMTU4NDYsNyBAQAogImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExODgKIG1zZ2lkICIiCiAiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKICIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCkBAIC0xNTQ1NSwyODkgKzE1ODU5LDI4OSBAQAogIj8gLSBwcmludCBoZWxwXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjcyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMTkKIG1zZ2lkICJUaGUgc2VsZWN0ZWQgaHVua3MgZG8gbm90IGFwcGx5IHRvIHRoZSBpbmRleCFcbiIKIG1zZ3N0ciAiRWxzIHRyb3Nzb3Mgc2VsZWNjaW9uYXRzIG5vIGFwbGlxdWVuIGEgbCfDrW5kZXhcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjczCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjAKIG1zZ2lkICJBcHBseSB0aGVtIHRvIHRoZSB3b3JrdHJlZSBhbnl3YXk/ICIKIG1zZ3N0ciAiVm9sZXUgYXBsaWNhci1sb3MgaWd1YWxtZW50IGEgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMwogbXNnaWQgIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iCiBtc2dzdHIgIk5vIHMnaGEgYXBsaWNhdCByZXMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI4NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlc1xuIgogbXNnc3RyICJzJ2VzdMOgIGlnbm9yYW50ICVzIG5vIGZ1c2lvbmF0XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQzCiBtc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKIG1zZ3N0ciAiTm9tw6lzIHMnaGFuIGNhbnZpYXQgZWxzIGZpdHhlcnMgYmluYXJpcy5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDUKIG1zZ2lkICJObyBjaGFuZ2VzLlxuIgogbXNnc3RyICJTZW5zZSBjYW52aXMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjUzCiBtc2dpZCAiUGF0Y2ggdXBkYXRlIgogbXNnc3RyICJBY3R1YWxpdHphY2nDsyBkZWwgcGVkYcOnIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJDYW52aWEgZWwgbW9kZSBkZSDCq3N0YWdlwrsgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiU3VwcmltZWl4IMKrc3RhZ2XCuyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiRmVyIHVuIMKrc3RhZ2XCuyBkJ2FxdWVzdCB0cm9zIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzEwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkNhbnZpYSBlbCBtb2RlIGRlIMKrc3Rhc2jCuyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJTdXByaW1laXggwqtzdGFnZcK7IFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJGZXIgdW4gwqtzdGFzaMK7IGQnYXF1ZXN0IHRyb3MgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJDYW52aWEgZWwgbW9kZSBkZSDCq3Vuc3RhZ2XCuyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIlN1cHJpbWVpeCDCq1Vuc3RhZ2XCuyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJGZXIgdW4gwqt1bnN0YWdlwrsgZCdhcXVlc3QgdHJvcyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcGxpY2EgZWwgY2FudmkgZGUgbW9kZSBhIGwnw61uZGV4IFt5LG4scSxhLGQsLyVzLD9dPyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiQXBsaWNhIGwnZXNib3JyYXQgYSBsJ8OtbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzIyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcGxpY2EgYXF1ZXN0IHRyb3MgYSBsJ8OtbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogIkRlc2NhcnRhIGVsIGNhbnZpIGRlIG1vZGUgZGVzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIGRlbGV0aW9uIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiRGVzY2FydGEgbCdlc2JvcnJhdCBkZXMgZGUgbCdhcmJyZSBkZSB0cmViYWxsIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiRGVzY2FydGEgYXF1ZXN0IHRyb3MgZGVzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCAgW3ksbixxLGEsZCwvJXMsP10/IgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKICJEZXNjYXJ0YSBlbCBjYW52aSBkZSBtb2RlIGRlcyBkZSBsJ8OtbmRleCBpIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkLC8iCiAiJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAiRGVzY2FydGEgbGEgc3VwcmVzc2nDsyBkZXMgZGUgbCfDrW5kZXggaSBsJ2FyYnJlIGRlIHRyZWJhbGwgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogIkRlc2NhcnRhIGFxdWVzdCB0cm9zIGRlcyBkZSBsJ8OtbmRleCBpIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogIkFwbGljYSBlbCBjYW52aSBkZSBtb2RlIGEgbCfDrW5kZXggaSBsJ2FyYnJlIGRlIHRyZWJhbGwgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkFwbGljYSBsYSBzdXByZXNzacOzIGEgbCfDrW5kZXggaSBsJ2FyYnJlIGRlIHRyZWJhbGwgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcGxpY2EgYXF1ZXN0IHRyb3MgYSBsJ8OtbmRleCBpIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MAogbXNnaWQgImdvIHRvIHdoaWNoIGh1bmsgKDxyZXQ+IHRvIHNlZSBtb3JlKT8gIgogbXNnc3RyICJ2w6lzIGEgcXVpbiB0cm9zICg8cmV0PiBwZXIgdmV1cmUnbiBtw6lzKT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MgogbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKIG1zZ3N0ciAidsOpcyBhIHF1aW4gdHJvcz8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgogbXNnc3RyICJOw7ptZXJvIG5vIHbDoGxpZDogJyVzJ1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS5cbiIKIG1zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLlxuIgogbXNnc3RyWzBdICJOb23DqXMgJWQgdHJvcyBkaXNwb25pYmxlLlxuIgogbXNnc3RyWzFdICJOb23DqXMgJWQgdHJvc3NvcyBkaXNwb25pYmxlcy5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTM1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0ODIKIG1zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCiBtc2dzdHIgIkNlcmNhIHBlciBleHByZXNzacOzIHJlZ3VsYXI/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIkV4cHJlc3Npw7MgcmVndWxhciBkZSBjZXJjYSBtYWwgZm9ybWFkYSAlczogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDUKIG1zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKIG1zZ3N0ciAiTm8gaGkgaGEgdHJvc3NvcyBxdWUgY29pbmNpZGVpeGluIGFtYiBlbCBwYXRyw7MgZG9uYXRcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTE3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUzOQogbXNnaWQgIk5vIHByZXZpb3VzIGh1bmtcbiIKIG1zZ3N0ciAiU2Vuc2UgdHJvcyBwcmV2aVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MjYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ1CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIk5vIGhpIGhhIHRyb3Mgc2Vnw7xlbnRcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3BsaXQgaW50byAlZCBodW5rLlxuIgogbXNnaWRfcGx1cmFsICJTcGxpdCBpbnRvICVkIGh1bmtzLlxuIgogbXNnc3RyWzBdICJEaXZpZGVpeCBlbiAlZCB0cm9zLlxuIgogbXNnc3RyWzFdICJEaXZpZGVpeCBlbiAlZCB0cm9zc29zLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYwNQogbXNnaWQgIlJldmlldyBkaWZmIgogbXNnc3RyICJSZXZpc2V1IGxlcyBkaWZlcsOobmNpZXMiCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjc3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjQKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgogInJldmVydCAgICAgICAgLSByZXZlcnQgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIGJhY2sgdG8gdGhlIEhFQUQgdmVyc2lvblxuIgogInBhdGNoICAgICAgICAgLSBwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHlcbiIKLSJkaWZmXHQgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCisiZGlmZiAgICAgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCiAiYWRkIHVudHJhY2tlZCAtIGFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgIgogImNoYW5nZXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjk5Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzA5Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY2CiBtc2dpZCAibWlzc2luZyAtLSIKIG1zZ3N0ciAibWFuY2EgLS0iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVua25vd24gLS1wYXRjaCBtb2RlOiAlcyIKIG1zZ3N0ciAiZGVzY29uZWd1dCAtLXBhdGNoIG1vZGU6ICVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjc0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImludmFsaWQgYXJndW1lbnQgJXMsIGV4cGVjdGluZyAtLSIKIG1zZ3N0ciAiYXJndW1lbnQgJXMgbm8gdsOgbGlkLCBzJ2VzcGVyYXZhIC0tIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjYKIG1zZ2lkICJsb2NhbCB6b25lIGRpZmZlcnMgZnJvbSBHTVQgYnkgYSBub24tbWludXRlIGludGVydmFsXG4iCiBtc2dzdHIgImxhIHpvbmEgbG9jYWwgZGlmZXJlaXggZGUgR01UIHBlciB1biBpbnRlcnZhbCBxdWUgbm8gw6lzIGRlIG1pbnV0c1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMzkKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAiZWwgZGVzcGxhw6dhbWVudCBkZSBsYSB6b25hIGxvY2FsIMOpcyBtw6lzIGdyYW4gbyBpZ3VhbCBhIDI0IGhvcmVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIxNAogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAibCdlZGl0b3Igbm8gaGEgc29ydGl0IGNvcnJlY3RhbWVudCwgYXZvcnRhbnQtaG8gdG90IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICInJXMnIGNvbnTDqSB1bmEgdmVyc2nDsyBpbnRlcm3DqGRpYSBkZWwgY29ycmV1IHF1ZSBlc3TDoHZldSByZWRhY3RhbnQuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mjg3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI5NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICInJXMuZmluYWwnIGNvbnTDqSBlbCBjb3JyZXUgcmVkYWN0YXQuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzA1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxNAogbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKIG1zZ3N0ciAiLS1kdW1wLWFsaWFzZXMgw6lzIGluY29tcGF0aWJsZSBhbWIgYWx0cmVzIG9wY2lvbnNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozNjggZ2l0LXNlbmQtZW1haWwucGVybDo2MjMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzc5IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM0CiBtc2dpZCAiQ2Fubm90IHJ1biBnaXQgZm9ybWF0LXBhdGNoIGZyb20gb3V0c2lkZSBhIHJlcG9zaXRvcnlcbiIKIG1zZ3N0ciAiTm8gZXMgcG90IGV4ZWN1dGFyIGdpdCBmb3JtYXQtcGF0Y2ggZGVzIGRlIGZvcmEgZGVsIGRpcMOyc2l0XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDM3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ0OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKIG1zZ3N0ciAiQ2FtcCAtLXN1cHByZXNzLWNjIGRlc2NvbmVndXQ6ICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDc3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKIG1zZ3N0ciAiLS1jb25maXJtIHNldHRpbmcgZGVzY29uZWd1dDogJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MDkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogc2VuZG1haWwgYWxpYXMgd2l0aCBxdW90ZXMgaXMgbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAiYXbDrXM6IGVsIHNvYnJlbm9tIGRlIHNlbmRtYWlsIGFtYiBjb21ldGVzIG5vIGVzdMOgIHN1cG9ydGF0OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAiYXbDrXM6IGA6aW5jbHVkZTpgIG5vIGVzdMOgIHN1cG9ydGF0OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYC9maWxlYCBvciBgfHBpcGVgIHJlZGlyZWN0aW9uIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgImF2w61zOiBsZXMgcmVkaXJlY2Npb25zIGAvZmlsZWAgb3IgYHxwaXBlIG5vIHPDs24gYWRtZXNlczogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MDcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGxpbmUgaXMgbm90IHJlY29nbml6ZWQ6ICVzXG4iCiBtc2dzdHIgImF2w61zOiBubyBlcyBwb3QgcmVjb27DqGl4ZXIgbGEgbMOtbmlhIHNlbmRtYWlsOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU4OQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIkZpbGUgJyVzJyBleGlzdHMgYnV0IGl0IGNvdWxkIGFsc28gYmUgdGhlIHJhbmdlIG9mIGNvbW1pdHNcbiIKQEAgLTE1NzQ2LDIyICsxNjE1MCwyNyBAQAogIiAgICAqIFNheWluZyBcIi4vJXNcIiBpZiB5b3UgbWVhbiBhIGZpbGU7IG9yXG4iCiAiICAgICogR2l2aW5nIC0tZm9ybWF0LXBhdGNoIG9wdGlvbiBpZiB5b3UgbWVhbiBhIHJhbmdlLlxuIgogbXNnc3RyICIiCisiRWwgZml0eGVyICclcycgZXhpc3RlaXggcGVyw7IgdGFtYsOpIHBvdCBzZXIgdW4gcmFuZyBkZSBjb21pc3Npb25zXG4iCisicGVyIHByb2R1aXIgcGVkYcOnb3MuIERlc2FtYmlnw7xldS4uLlxuIgorIlxuIgorIiAgICAqIERpZW50IFwiLi8lc1wiIHNpIHZvbMOtZXUgZXNwZWNpZmljYXIgYXF1ZXN0IGZpdHhlcjsgb1xuIgorIiAgICAqIFByb3BvcmNpb25hbnQgbCdvcGNpw7MgLS1mb3JtYXQtcGF0Y2ggc2kgdm9sw61ldSBlc3BlY2lmaWNhciB1biByYW5nLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYxMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MjEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW5kaXIgJXM6ICVzIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGEgbCdvYnJpciBlbCBkaXJlY3RvcmkgJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogImZhdGFsOiAlczogJXNcbiIKICJ3YXJuaW5nOiBubyBwYXRjaGVzIHdlcmUgc2VudFxuIgogbXNnc3RyICIiCi0iZ3JldTogJXM6ICVzXG4iCisiZmF0YWw6ICVzOiAlc1xuIgogImF2w61zOiBubyBzJ2hhbiBlbnZpYXQgcGVkYcOnb3NcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjU2CiBtc2dpZCAiIgogIlxuIgogIk5vIHBhdGNoIGZpbGVzIHNwZWNpZmllZCFcbiIKQEAgLTE1NzcxLDE3ICsxNjE4MCwxNyBAQAogIk5vIHMnaGFuIGVzcGVjaWZpY2F0IGZpdHhlcnMgZGUgcGVkYcOnXG4iCiAiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJObyBzdWJqZWN0IGxpbmUgaW4gJXM/IgotbXNnc3RyICJTZW5zZSBhc3N1bXB0ZSBhOiAlcyIKK21zZ3N0ciAiU2Vuc2UgYXNzdW1wdGUgYSAlcz8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgcGVyIGVzY3JpcHR1cmEgJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2ODkKIG1zZ2lkICIiCiAiTGluZXMgYmVnaW5uaW5nIGluIFwiR0lUOlwiIHdpbGwgYmUgcmVtb3ZlZC5cbiIKICJDb25zaWRlciBpbmNsdWRpbmcgYW4gb3ZlcmFsbCBkaWZmc3RhdCBvciB0YWJsZSBvZiBjb250ZW50c1xuIgpAQCAtMTU3ODksNDIgKzE2MTk4LDQ5IEBACiAiXG4iCiAiQ2xlYXIgdGhlIGJvZHkgY29udGVudCBpZiB5b3UgZG9uJ3Qgd2lzaCB0byBzZW5kIGEgc3VtbWFyeS5cbiIKIG1zZ3N0ciAiIgorIlNlIHN1cHJpbWlyYW4gbGVzIGzDrW5pZXMgcXVlIGNvbWVuY2VuIGFtYiBcIkdJVDpcIi5cbiIKKyJDb25zaWRlcmV1IGluY2xvdXJlIHVuIGRpZmZzdGF0IGdsb2JhbCBvIHVuYSB0YXVsYSBkZSBjb250aW5ndXRzXG4iCisicGVyIGNhZGEgcGVkYcOnIHF1ZSBlc3RldSBlc2NyaXZpbnQuXG4iCisiXG4iCisiTmV0ZWdldSBlbCBjb250aW5ndXQgZGVsIGNvcyBzaSBubyB2b2xldSBlbnZpYXIgdW4gcmVzdW0uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzAxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcy5maW5hbDogJXMiCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJXMuZmluYWw6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzUwCiBtc2dpZCAiVG8vQ2MvQmNjIGZpZWxkcyBhcmUgbm90IGludGVycHJldGVkIHlldCwgdGhleSBoYXZlIGJlZW4gaWdub3JlZFxuIgogbXNnc3RyICJFbHMgY2FtcHMgQS9DYy9CY2Mgbm8gcydpbnRlcnByZXRlbiBlbmNhcmEsIHMnaWdub3JhcmFuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzQ4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc1OQogbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCiBtc2dzdHIgIkVsIGNvcnJldSBlbGVjdHLDsm5pYyBkZSByZXN1bSBlc3TDoCBidWl0LCBzJ29tZXRcbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgogbXNnc3RyICJFc3RldSBzZWd1ciBxdWUgdm9sZXUgdXNhciA8JXM+IFt5L05dPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODA5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSA4Yml0LCBidXQgZG8gbm90IGRlY2xhcmUgYSBDb250ZW50LVRyYW5zZmVyLSIKICJFbmNvZGluZy5cbiIKIG1zZ3N0ciAiIgorIkVscyBmaXR4ZXJzIHNlZ8O8ZW50cyBzw7NuIDhiaXQsIHBlcsOyIG5vIGRlY2xhcmVuIHVuIENvbnRlbnQtVHJhbnNmZXItIgorIkVuY29kaW5nLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgxNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKIG1zZ2lkICJXaGljaCA4Yml0IGVuY29kaW5nIHNob3VsZCBJIGRlY2xhcmUgW1VURi04XT8gIgogbXNnc3RyICJRdWluYSBjb2RpZmljYWNpw7MgZGUgOCBiaXRzIGhhdXJpYSBkZSBkZWNsYXJhciBbVVRGLThdPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODIyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgzMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiUmVmdXNpbmcgdG8gc2VuZCBiZWNhdXNlIHRoZSBwYXRjaFxuIgpAQCAtMTU4MzMsMjEgKzE2MjQ5LDIzIEBACiAid2FudCB0byBzZW5kLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1MgogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCiBtc2dzdHIgIiIKLSJBIHF1aW4gcydoYXVyaWVuIGQnZW52aWFyIGVscyBjb3JyZXVzIGVsZWN0csOybmljcyAoc2kgcydoYW4gZCdlbnZpYXIgYSBhbGfDuik/IgorIkEgcXVpIHMnaGF1cmllbiBkJ2VudmlhciBlbHMgY29ycmV1cyBlbGVjdHLDsm5pY3MgKHNpIHMnaGFuIGQnZW52aWFyIGEgYWxnw7opPyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NTkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODcwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmF0YWw6IGwnw6BsaWFzICclcycgcydlc3BhbmRlaXggYSBzaSBtYXRlaXhcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NzEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODgyCiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiIgorIlMnaGEgZCd1c2FyIGVsIE1lc3NhZ2UtSUQgY29tIGEgSW4tUmVwbHktVG8gcGVsIHByaW1lciBjb3JyZXUgKHNpIG4naGkgaGEgIgorImNhcCk/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjEgZ2l0LXNlbmQtZW1haWwucGVybDo5MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMyIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAiZXJyb3I6IG5vIHMnaGEgcG9ndXQgZXh0cmV1cmUgdW5hIGFkcmXDp2EgdsOgbGlkYSBkZTogJXNcbiIKQEAgLTE1ODU1LDE2ICsxNjI3MywxNiBAQAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtxXSBbZF0gW2VdIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkzMworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDQKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgIlF1w6ggZmVyIGFtYiBhcXVlc3RhIGFkcmXDp2E/IChbcV1zdXJ0fFtkXWVzY2FydGF8W2VdZGl0YSk6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyNDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQ0EgcGF0aCBcIiVzXCIgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImVsIGNhbcOtIENBIFwiJXNcIiBubyBleGlzdGVpeCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzA5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjAKIG1zZ2lkICIiCiAiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKICIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgpAQCAtMTU4NzcsMTMxICsxNjI5NSwyNzUgQEAKICIgICAgcnVuICdnaXQgY29uZmlnIC0tZ2xvYmFsIHNlbmRlbWFpbC5jb25maXJtIGF1dG8nLlxuIgogIlxuIgogbXNnc3RyICIiCisiICAgIExhIGxsaXN0YSBkZSBDYyBkZSBzb2JyZSBzJ2hhIGVzdMOocyBhbWIgYWRyZWNlcyBhZGRpY2lvbmFsc1xuIgorIiAgICB0cm9iYWRlcyBhbCBtaXNzYXRnZSBkZSBsYSBjb21pc3Npw7MgZGVsIHBlZGHDpy4gUGVyIGRlZmVjdGUsIFxuIgorIiAgICBzZW5kLWVtYWlsIHByZWd1bnRhIGFiYW5zIGQnZW52aWFyIGVsIG1pc3NhdGdlIHF1YW4gYWl4w7Igc3VjY2VpeC5cbiIKKyIgICAgQXF1ZXN0IGNvbXBvcnRhbWVudCBlc3TDoCBjb250cm9sYXQgcGVsIHBhcsOgbWV0cmUgZGUgY29uZmlndXJhY2nDs1xuIgorIiAgICBzZW5kZW1haWwuY29uZmlybS5cbiIKKyJcbiIKKyIgICAgUGVyIGEgaW5mb3JtYWNpw7MgYWRkaWNpb25hbCwgZXhlY3V0ZXUgJ2dpdCBzZW5kLWVtYWlsIC0taGVscCcuXG4iCisiICAgIFBlciBtYW50ZW5pciBlbCBjb21wb3J0YW1lbnQgYWN0dWFsLCBwZXLDsiBzaWxlbmNpYXIgYXF1ZXN0XG4iCisiICAgIG1pc3NhdGdlLCBleGVjdXRldSAnZ2l0IGNvbmZpZyAtLWdsb2JhbCBzZW5kZW1haWwuY29uZmlybSBhdXRvJy5cbiIKKyJcbiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSBbbl0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMzUKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtxXXVpdHxbYV1sbCk6ICIKIG1zZ3N0ciAiVm9sZXUgZW52aWFyIGFxdWVzdCBjb3JyZXUgZWxlY3Ryw7JuaWM/IChbeV1zw618W25db3xbcV1zdXJ0fFthXXRvdCk6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMzgKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCiBtc2dzdHIgIlJlcXVlcmVpeCBjb250ZXN0YWNpw7MgYSBsJ2VudmlhciBjb3JyZXUiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM1MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzY0CiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAiRWwgc2Vydmlkb3IgU01UUCByZXF1ZXJpdCBubyBlc3TDoCBjb3JyZWN0YW1lbnQgZGVmaW5pdC4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM5NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKIG1zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gYWRtZXQgU1RBUlRUTFMhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MDMKLW1zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGluaWNpYWxpdHphciBTTVRQIGNvcnJlY3RhbWVudC4gQ29tcHJvdmV1LWhvIGxhIGNvbmZpZ3VyYWNpw7MgaSB1c2V1IC0tc210cC1kZWJ1Zy4iCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTYgZ2l0LXNlbmQtZW1haWwucGVybDoxNDIwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCittc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDIxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MzAKK21zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgorbXNnc3RyICIiCisiTm8gcydoYSBwb2d1dCBpbmljaWFsaXR6YXIgU01UUCBjb3JyZWN0YW1lbnQuIENvbXByb3ZldS1obyBsYSBjb25maWd1cmFjacOzIGkgIgorInVzZXUgLS1zbXRwLWRlYnVnLiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBzZW5kICVzXG4iCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZW52aWFyICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRyeS1TZW50ICVzXG4iCiBtc2dzdHIgIlNpbXVsYWNpw7MgZCdlbnZpYW1lbnQgJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2VudCAlc1xuIgogbXNnc3RyICJFbnZpYXQgJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTMKIG1zZ2lkICJEcnktT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJTaW11bGFjacOzIGRlIGNvcnJlY3RlLiBFbCByZWdpc3RyZSBkaXU6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUzCiBtc2dpZCAiT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJDb3JyZWN0ZS4gRWwgcmVnaXN0cmUgZGl1OiBcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDM4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjUKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAiUmVzdWx0YXQ6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjgKIG1zZ2lkICJSZXN1bHQ6IE9LXG4iCiBtc2dzdHIgIlJlc3VsdGF0OiBjb3JyZWN0ZVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ4MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIGZpbGUgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciBlbCBmaXR4ZXIgJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG1ib3gpIFMnZXN0w6AgYWZlZ2ludCBjYzogJXMgZGVzIGRlIGxhIGzDrW5pYSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBTJ2VzdMOgIGFmZWdpbnQgYTogJXMgZGVzIGRlIGxhIGzDrW5pYSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU1NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTgyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgUydlc3TDoCBhZmVnaW50IGNjOiAlcyBkZXMgZGUgbGEgbMOtbmlhICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKGJvZHkpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKGNvcykgUydlc3TDoCBhZmVnaW50IGNjOiAlcyBkZXMgZGUgbGEgbMOtbmlhICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjc2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBDb3VsZCBub3QgZXhlY3V0ZSAnJXMnIgogbXNnc3RyICIoJXMpIG5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJyVzJyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjgzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKIG1zZ3N0ciAiKCVzKSBTJ2VzdMOgIGFmZWdpbnQgJXM6ICVzIGRlcyBkZTogJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIGZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICclcyciCiBtc2dzdHIgIiglcykgcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0YW5jYXIgZWwgY29uZHVjdGUgJyVzJyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDkKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgIm5vIGVzIHBvdCBlbnZpYXIgZWwgbWlzc2F0Z2UgZW4gNyBiaXRzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1NwogbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCiBtc2dzdHIgImNvZGlmaWNhY2nDsyBkZSB0cmFuc2ZlcsOobmNpYSBpbnbDoGxpZGEiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTIgZ2l0LXNlbmQtZW1haWwucGVybDoxODAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTUgZ2l0LXNlbmQtZW1haWwucGVybDoxODQ2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciAlczogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzQ0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGNvbnRhaW5zIGEgbGluZSBsb25nZXIgdGhhbiA5OTggY2hhcmFjdGVycyIKIG1zZ3N0ciAiJXM6IGVsIHBlZGHDpyBjb250w6kgdW5hIGzDrW5pYSBtw6lzIGdyYW4gZGUgOTk4IGNhcsOgY3RlcnMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc2MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODE0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nICVzIHdpdGggYmFja3VwIHN1ZmZpeCAnJXMnLlxuIgogbXNnc3RyICJTJ2VzdMOgIG9tZXRlbnQgJXMgYW1iIGVsIHN1Zml4IGRlIGPDsnBpYSBkZSBzZWd1cmV0YXQgJyVzJy5cbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwICJbeXxOXSIgYXMgaXMuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKIG1zZ3N0ciAiRXN0ZXUgc2VndXIgcXVlIHZvbGV1IGVudmlhciAlcz8gW3l8Tl06ICIKIAorI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworI34gbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKKyN+IG1zZ3N0ciAiZW4gJTAuMWYgc2Vnb25zIGF1dG9tw6B0aWNhbWVudC4uLiIKKworI34gbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZHVwMiglZCwlZCkgaGEgZmFsbGF0IgorCisjfiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgorI34gbXNnc3RyICJDb21pc3Npw7MgaW5pY2lhbCBlbiAiCisKKyN+IG1zZ2lkICJQYXRjaCBpcyBlbXB0eS4gV2FzIGl0IHNwbGl0IHdyb25nPyIKKyN+IG1zZ3N0ciAiRWwgcGVkYcOnIMOpcyBidWl0LiBTJ2hhIGRpdmlkaXQgbWFsYW1lbnQ/IgorCisjfiBtc2dpZCAiIgorI34gIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCisjfiAiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCisjfiBtc2dzdHIgIiIKKyN+ICJFbmNhcmEgdGVuaXUgY2FtaW5zIHNlbnNlIGZ1c2lvbmFyIGVuIGVsIHZvc3RyZSDDrW5kZXguXG4iCisjfiAiSGV1IG9ibGlkYXQgZCd1c2FyICdnaXQgYWRkJz8iCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCisjfiAiRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJObyBlcyBwb2RlbiBhY3R1YWxpdHphciBlbHMgY2FtaW5zIGkgY2FudmlhciBhIGxhIGJyYW5jYSAnJXMnIGEgbGEgIgorI34gInZlZ2FkYS5cbiIKKyN+ICJWb2zDrWV1IGFnYWZhciAnJXMnLCBsYSBxdWFsIG5vIGVzIHBvdCByZXNvbGRyZSBjb20gYSBjb21pc3Npw7M/IgorCisjfiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlMnaGFuIGVzcGVjaWZpY2F0IGNhbWlucyBleHBsw61jaXRzIHNlbnNlIC1pIG8gLW87IHMnZXN0w6AgcHJlc3VtaW50IC0tb25seSAiCisjfiAiY2FtaW5zLi4uIgorCisjfiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCisjfiBtc2dzdHIgIm1vZGUgZGUgcmVjdXJzaXZpdGF0IHBlciBkZWZlY3RlIgorCisjfiBtc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKKyN+IG1zZ3N0ciAicydoYSBkJ2V4ZWN1dGFyIGxhIHN1Ym9yZHJlIHN1Ym1vZHVsZS0taGVscGVyIGFtYiB1bmEgc3Vib3JkcmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib2JqZWN0IG9mIHVua25vd24gdHlwZSIKKyN+IG1zZ3N0ciAidGlwdXMgZCdvYmplY3RlIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbW1pdCBvYmplY3QiCisjfiBtc2dzdHIgIkVycm9yIGVuIG9iamVjdGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJlZSBvYmplY3QiCisjfiBtc2dzdHIgIm9iamVjdGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmxvYiBvYmplY3QiCisjfiBtc2dzdHIgIm9iamVjdGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3RoZXIgdGFnIG9iamVjdCIKKyN+IG1zZ3N0ciAib2JqZWN0ZSBkJ2FyYnJlIG1hc3NhIGN1cnQiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKKyN+ICJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgorI34gbXNnc3RyICIiCisjfiAiTm8gaGkgaGEgcmVzIGEgZXhjbG91cmUgcGVyIHBhdHJvbnMgOihleGNsdXNpw7MpLlxuIgorI34gIlBvdHNlciBoZXUgb2JsaWRhdCBhZmVnaXIgbyAnOi8nIG8gJy4nID8iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0OiAlJSglcykiCisjfiBtc2dzdHIgImZvcm1hdCBubyByZWNvbmVndXQ6ICUlKCVzKSIKKworI34gbXNnaWQgIjpzdHJpcD0gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFyZ3VtZW50IgorI34gbXNnc3RyICI6c3RyaXA9IHJlcXVlcmVpeCB1biBwYXLDoG1ldHJlIGVudGVyIHBvc2l0aXUiCisKKyN+IG1zZ2lkICJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIKKyN+IG1zZ3N0ciAibGEgcmVmZXLDqG5jaWEgJyVzJyBubyB0w6kgJWxkIGNvbXBvbmVudHMgcGVyIGEgOnN0cmlwIgorCisjfiBtc2dpZCAidW5rbm93biAlLipzIGZvcm1hdCAlcyIKKyN+IG1zZ3N0ciAiZm9ybWF0IGRlICUuKnMgZGVzY29uZWd1dCAlcyIKKworI34gbXNnaWQgIlslczogZ29uZV0iCisjfiBtc2dzdHIgIlslczogbm8gaGkgw6lzXSIKKworI34gbXNnaWQgIlslc10iCisjfiBtc2dzdHIgIlslc10iCisKKyN+IG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCisjfiBtc2dzdHIgIlslczogZGFycmVyZSBwZXIgJWRdIgorCisjfiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCisjfiBtc2dzdHIgIlslczogZGF2YW50IHBlciAlZF0iCisKKyN+IG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgorI34gbXNnc3RyICJbJXM6IGRhdmFudCBwZXIgJWQsIGRhcnJlcmUgcGVyICVkXSIKKworI34gbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCisjfiBtc2dzdHIgIiAqKioqIHJlZmVyw6huY2lhIG5vIHbDoGxpZGEgKioqKiIKKworI34gbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgorI34gbXNnc3RyICJkaXJlY3RvcmkgZCdvYmplY3RlcyBpbmNyZcOvYmxlbWVudCBsbGFyZyAlLipzIgorCisjfiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCisjfiBtc2dzdHIgImdpdCBtZXJnZSBbPG9wY2lvbnM+XSA8bWlzc2F0Z2U+IEhFQUQgPGNvbWlzc2nDsz4iCisKKyN+IG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKKyN+IG1zZ3N0ciAiJyVzJyBubyDDqXMgdW5hIGNvbWlzc2nDsyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjfiBtc2dpZCAiY291bGQgbm90IGNsb3NlIGZpbGUgJXMiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdGFuY2FyIGVsIGZpdHhlciAlcyIKKworI34gbXNnaWQgInRhZyBuYW1lIHRvbyBsb25nOiAlLipzLi4uIgorI34gbXNnc3RyICJub20gZCdldGlxdWV0YSBtYXNzYSBsbGFyZzogJS4qcy4uLiIKKworI34gbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCisjfiBtc2dzdHIgImxhIGNhcMOnYWxlcmEgZCdldGlxdWV0YSDDqXMgbWFzc2EgZ3Jhbi4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyN+ICJtYXJrZWQgZm9yIGRpc2NhcmRpbmciCisjfiBtc2dzdHIgIiIKKyN+ICJTaSBlbCBwZWRhw6cgcydhcGxpY2EgY29ycmVjdGFtZW50LCBlbCB0cm9zIGVkaXRhdCBlcyBtYXJjYXLDoCAiCisjfiAiaW1tZWRpYXRhbWVudFxuIgorI34gInBlciBkZXNjYXJ0YXItc2UuIgorCiAjfiBtc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBibGFuay1saW5lLWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgogI34gbXNnc3RyICIiCiAjfiAiVXNhIHVuIGhldXLDrXN0aWMgZXhwZXJpbWVudGFsIGJhc2F0IGVuIGzDrW5pZXMgZW4gYmxhbmMgcGVyIGEgbWlsbG9yYXIgbGVzICIKZGlmZiAtLWdpdCBhL3BvL2RlLnBvIGIvcG8vZGUucG8KaW5kZXggZTljODZmNS4uMzYyZWJiNiAxMDA2NDQKLS0tIGEvcG8vZGUucG8KKysrIGIvcG8vZGUucG8KQEAgLTcsNyArNyw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IEdpdFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTE4IDAxOjAwKzA4MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wNy0yNCAyMTo1NCswODAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0xMS0yOCAxODoxMCswMTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBSYWxmIFRoaWVsb3cgPHJhbGYudGhpZWxvd0BnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDw+XG4iCkBAIC0xNyw0MyArMTcsNDMgQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4hPTEpO1xuIgogCi0jOiBhZHZpY2UuYzo1NQorIzogYWR2aWNlLmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICJIaW53ZWlzOiAlLipzXG4iCiAKLSM6IGFkdmljZS5jOjgzCisjOiBhZHZpY2UuYzo4NgogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkNoZXJyeS1QaWNrZW4gaXN0IG5pY2h0IG3DtmdsaWNoLCB3ZWlsIFNpZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuICIKICJoYWJlbi4iCiAKLSM6IGFkdmljZS5jOjg1CisjOiBhZHZpY2UuYzo4OAogbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiQ29tbWl0dGVuIGlzdCBuaWNodCBtw7ZnbGljaCwgd2VpbCBTaWUgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWllbiBoYWJlbi4iCiAKLSM6IGFkdmljZS5jOjg3CisjOiBhZHZpY2UuYzo5MAogbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiTWVyZ2VuIGlzdCBuaWNodCBtw7ZnbGljaCwgd2VpbCBTaWUgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWllbiBoYWJlbi4iCiAKLSM6IGFkdmljZS5jOjg5CisjOiBhZHZpY2UuYzo5MgogbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiUHVsbGVuIGlzdCBuaWNodCBtw7ZnbGljaCwgd2VpbCBTaWUgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWllbiBoYWJlbi4iCiAKLSM6IGFkdmljZS5jOjkxCisjOiBhZHZpY2UuYzo5NAogbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJSZXZlcnRlbiBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaGFiZW4uIgogCi0jOiBhZHZpY2UuYzo5MworIzogYWR2aWNlLmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIlcyBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaGFiZW4uIgogCi0jOiBhZHZpY2UuYzoxMDEKKyM6IGFkdmljZS5jOjEwNAogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCkBAIC02MiwyMyArNjIsMjMgQEAKICJkYW5uICdnaXQgYWRkL3JtIDxEYXRlaT4nLCB1bSBkaWUgQXVmbMO2c3VuZyBlbnRzcHJlY2hlbmQgenUgbWFya2llcmVuXG4iCiAidW5kIHp1IGNvbW1pdHRlbi4iCiAKLSM6IGFkdmljZS5jOjEwOQorIzogYWR2aWNlLmM6MTEyCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICJCZWVuZGUgd2VnZW4gdW5hdWZnZWzDtnN0ZW0gS29uZmxpa3QuIgogCi0jOiBhZHZpY2UuYzoxMTQgYnVpbHRpbi9tZXJnZS5jOjEyMDYKKyM6IGFkdmljZS5jOjExNyBidWlsdGluL21lcmdlLmM6MTE4NAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiU2llIGhhYmVuIElocmVuIE1lcmdlIG5pY2h0IGFiZ2VzY2hsb3NzZW4gKE1FUkdFX0hFQUQgZXhpc3RpZXJ0KS4iCiAKLSM6IGFkdmljZS5jOjExNgorIzogYWR2aWNlLmM6MTE5CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAiQml0dGUgY29tbWl0dGVuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuLCBiZXZvciBTaWUgbWVyZ2VuLiIKIAotIzogYWR2aWNlLmM6MTE3CisjOiBhZHZpY2UuYzoxMjAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIkJlZW5kZSB3ZWdlbiBuaWNodCBhYmdlc2NobG9zc2VuZW0gTWVyZ2UuIgogCi0jOiBhZHZpY2UuYzoxMjMKKyM6IGFkdmljZS5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCkBAIC0xMDksODkgKzEwOSw5OSBAQAogIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXVlci1CcmFuY2huYW1lPlxuIgogIlxuIgogCi0jOiBhcHBseS5jOjU3CisjOiBhcHBseS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICJuaWNodCBlcmthbm50ZSBXaGl0ZXNwYWNlLU9wdGlvbjogJyVzJyIKIAotIzogYXBwbHkuYzo3MworIzogYXBwbHkuYzo3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlIE9wdGlvbiB6dW0gSWdub3JpZXJlbiB2b24gV2hpdGVzcGFjZTogJyVzJyIKIAotIzogYXBwbHkuYzoxMjUKKyM6IGFwcGx5LmM6MTI2CiBtc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIi0tcmVqZWN0IHVuZCAtLTN3YXkga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEyOAogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLWNhY2hlZCB1bmQgLS0zd2F5IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBhcHBseS5jOjEzMAorIzogYXBwbHkuYzoxMzEKIG1zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tM3dheSBrYW5uIG5pY2h0IGF1w59lcmhhbGIgZWluZXMgUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBhcHBseS5jOjE0MQorIzogYXBwbHkuYzoxNDIKIG1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLWluZGV4IGthbm4gbmljaHQgYXXDn2VyaGFsYiBlaW5lcyBSZXBvc2l0b3JpZXMgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGFwcGx5LmM6MTQ0CisjOiBhcHBseS5jOjE0NQogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLWNhY2hlZCBrYW5uIG5pY2h0IGF1w59lcmhhbGIgZWluZXMgUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBhcHBseS5jOjg0NQorIzogYXBwbHkuYzo4MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKIG1zZ3N0ciAiS2FubiByZWd1bMOkcmVuIEF1c2RydWNrIGbDvHIgWmVpdHN0ZW1wZWwgJXMgbmljaHQgdmVyYXJiZWl0ZW4iCiAKLSM6IGFwcGx5LmM6ODU0CisjOiBhcHBseS5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgIkF1c2bDvGhydW5nIGRlcyByZWd1bMOkcmVuIEF1c2RydWNrcyBnYWIgJWQgenVyw7xjay4gRWluZ2FiZTogJXMiCiAKLSM6IGFwcGx5LmM6OTM4CisjOiBhcHBseS5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJLb25udGUga2VpbmVuIERhdGVpbmFtZW4gaW4gWmVpbGUgJWQgZGVzIFBhdGNoZXMgZmluZGVuLiIKIAotIzogYXBwbHkuYzo5NzcKKyM6IGFwcGx5LmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTogdW5nw7xsdGlnZXMgJ2dpdC1kaWZmJyAtIGVyd2FydGV0ZSAvZGV2L251bGwsIGVyaGllbHQgJXMgaW4gWmVpbGUgIgogIiVkIgogCi0jOiBhcHBseS5jOjk4MworIzogYXBwbHkuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6IHVuZ8O8bHRpZ2VzICdnaXQtZGlmZicgLSBJbmtvbnNpc3RlbnRlciBuZXVlciBEYXRlaW5hbWUgaW4gWmVpbGUgJWQiCiAKLSM6IGFwcGx5LmM6OTg0CisjOiBhcHBseS5jOjk3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTogdW5nw7xsdGlnZXMgJ2dpdC1kaWZmJyAtIElua29uc2lzdGVudGVyIGFsdGVyIERhdGVpbmFtZSBpbiBaZWlsZSAlZCIKIAotIzogYXBwbHkuYzo5OTAKKyM6IGFwcGx5LmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogdW5nw7xsdGlnZXMgJ2dpdC1kaWZmJyAtIGVyd2FydGV0ZSAvZGV2L251bGwgaW4gWmVpbGUgJWQiCiAKLSM6IGFwcGx5LmM6MTQ4OAorIzogYXBwbHkuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSBvbiBsaW5lICVkOiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgTW9kdXMgaW4gWmVpbGUgJWQ6ICVzIgorCisjOiBhcHBseS5jOjEzMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiCittc2dzdHIgIklua29uc2lzdGVudGUgS29wZnplaWxlbiAlZCB1bmQgJWQuIgorCisjOiBhcHBseS5jOjE0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgogbXNnc3RyICJyZWNvdW50OiB1bmVyd2FydGV0ZSBaZWlsZTogJS4qcyIKIAotIzogYXBwbHkuYzoxNTU3CisjOiBhcHBseS5jOjE1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAiUGF0Y2gtRnJhZ21lbnQgb2huZSBLb3BmYmVyZWljaCBiZWkgWmVpbGUgJWQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MTU3NworIzogYXBwbHkuYzoxNTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKQEAgLTIwNiw3MiArMjE2LDcyIEBACiAiRGVtIEtvcGZiZXJlaWNoIHZvbiBcImdpdCBkaWZmXCIgZmVobGVuIEluZm9ybWF0aW9uZW4genVtIERhdGVpbmFtZW4sIHdlbm4gIgogIiVkIHZvcmFuZ2VzdGVsbHRlIFRlaWxlIGRlcyBQZmFkZXMgZW50ZmVybnQgd2VyZGVuIChaZWlsZSAlZCkiCiAKLSM6IGFwcGx5LmM6MTU4OQorIzogYXBwbHkuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgIiIKICJEZW0gS29wZmJlcmVpY2ggdm9uIFwiZ2l0IGRpZmZcIiBmZWhsZW4gSW5mb3JtYXRpb25lbiB6dW0gRGF0ZWluYW1lbiAoWmVpbGUgIgogIiVkKSIKIAotIzogYXBwbHkuYzoxNzU5CisjOiBhcHBseS5jOjE3NzAKIG1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAibmV1ZSBEYXRlaSBow6RuZ3Qgdm9uIGFsdGVuIEluaGFsdGVuIGFiIgogCi0jOiBhcHBseS5jOjE3NjEKKyM6IGFwcGx5LmM6MTc3MgogbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgImVudGZlcm50ZSBEYXRlaSBoYXQgbm9jaCBJbmhhbHRlIgogCi0jOiBhcHBseS5jOjE3OTUKKyM6IGFwcGx5LmM6MTgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgImZlaGxlcmhhZnRlciBQYXRjaCBiZWkgWmVpbGUgJWQiCiAKLSM6IGFwcGx5LmM6MTgzMgorIzogYXBwbHkuYzoxODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICJuZXVlIERhdGVpICVzIGjDpG5ndCB2b24gYWx0ZW4gSW5oYWx0ZW4gYWIiCiAKLSM6IGFwcGx5LmM6MTgzNAorIzogYXBwbHkuYzoxODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgImVudGZlcm50ZSBEYXRlaSAlcyBoYXQgbm9jaCBJbmhhbHRlIgogCi0jOiBhcHBseS5jOjE4MzcKKyM6IGFwcGx5LmM6MTg0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgogbXNnc3RyICIqKiBXYXJudW5nOiBEYXRlaSAlcyB3aXJkIGxlZXIsIGFiZXIgbmljaHQgZW50ZmVybnQuIgogCi0jOiBhcHBseS5jOjE5ODQKKyM6IGFwcGx5LmM6MTk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICJmZWhsZXJoYWZ0ZXIgQmluw6RyLVBhdGNoIGJlaSBaZWlsZSAlZDogJS4qcyIKIAotIzogYXBwbHkuYzoyMDIxCisjOiBhcHBseS5jOjIwMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJuaWNodCBlcmthbm50ZXIgQmluw6RyLVBhdGNoIGJlaSBaZWlsZSAlZCIKIAotIzogYXBwbHkuYzoyMTgyCisjOiBhcHBseS5jOjIxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKIG1zZ3N0ciAiUGF0Y2ggbWl0IG51dHpsb3NlbiBJbmZvcm1hdGlvbmVuIGJlaSBaZWlsZSAlZCIKIAotIzogYXBwbHkuYzoyMjY1CisjOiBhcHBseS5jOjIyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAia29ubnRlIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyAlcyBuaWNodCBsZXNlbiIKIAotIzogYXBwbHkuYzoyMjY5CisjOiBhcHBseS5jOjIyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAia29ubnRlICVzIG5pY2h0IMO2ZmZuZW4gb2RlciBsZXNlbiIKIAotIzogYXBwbHkuYzoyOTIyCisjOiBhcHBseS5jOjI5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgogbXNnc3RyICJVbmfDvGx0aWdlciBaZWlsZW5hbmZhbmc6ICclYyciCiAKLSM6IGFwcGx5LmM6MzA0MQorIzogYXBwbHkuYzozMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKIG1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKQEAgLTI3OSwxMiArMjg5LDEyIEBACiBtc2dzdHJbMV0gIiIKICJQYXRjaC1CZXJlaWNoICMlZCBlcmZvbGdyZWljaCBhbmdld2VuZGV0IGJlaSAlZCAoJWQgWmVpbGVuIHZlcnNldHp0KSIKIAotIzogYXBwbHkuYzozMDUzCisjOiBhcHBseS5jOjMwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAiS29udGV4dCByZWR1emllcnQgenUgKCVsZC8lbGQpLCB1bSBQYXRjaC1CZXJlaWNoIGJlaSAlZCBhbnp1d2VuZGVuIgogCi0jOiBhcHBseS5jOjMwNTkKKyM6IGFwcGx5LmM6MzA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKQEAgLTI5MywyNSArMzAzLDI1IEBACiAiYmVpIGRlciBTdWNoZSBuYWNoOlxuIgogIiUuKnMiCiAKLSM6IGFwcGx5LmM6MzA4MQorIzogYXBwbHkuYzozMDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCiBtc2dzdHIgImtlaW5lIERhdGVuIGluIEJpbsOkci1QYXRjaCBmw7xyICclcyciCiAKLSM6IGFwcGx5LmM6MzA4OQorIzogYXBwbHkuYzozMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgogbXNnc3RyICIiCiAia2FubiBiaW7DpHJlbiBQYXRjaCBuaWNodCBpbiB1bWdla2VocnRlciBSZWloZW5mb2xnZSBhbndlbmRlbiBvaG5lIGVpbmVuXG4iCiAidW1nZWtlaHJ0ZW4gUGF0Y2gtQmxvY2sgYXVmICclcyciCiAKLSM6IGFwcGx5LmM6MzEzNQorIzogYXBwbHkuYzozMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKIG1zZ3N0ciAiIgogImthbm4gYmluw6RyZW4gUGF0Y2ggYXVmICclcycgbmljaHQgb2huZSBlaW5lIHZvbGxzdMOkbmRpZ2UgSW5kZXgtWmVpbGUgYW53ZW5kZW4iCiAKLSM6IGFwcGx5LmM6MzE0NQorIzogYXBwbHkuYzozMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKQEAgLTMxOSw1NTMgKzMyOSw1NTggQEAKICJkZXIgUGF0Y2ggd2lyZCBhbmdld2VuZGV0IGF1ZiAnJXMnICglcyksIHdhcyBuaWNodCBkZW4gYWt0dWVsbGVuIEluaGFsdGVuXG4iCiAiZW50c3ByaWNodCIKIAotIzogYXBwbHkuYzozMTUzCisjOiBhcHBseS5jOjMxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgogbXNnc3RyICJkZXIgUGF0Y2ggd2lyZCBhdWYgZWluIGxlZXJlcyAnJXMnIGFuZ2V3ZW5kZXQsIHdhcyBhYmVyIG5pY2h0IGxlZXIgaXN0IgogCi0jOiBhcHBseS5jOjMxNzEKKyM6IGFwcGx5LmM6MzE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAiZGFzIGVyZm9yZGVybGljaGUgUG9zdGltYWdlICVzIGbDvHIgJyVzJyBrYW5uIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgogCi0jOiBhcHBseS5jOjMxODQKKyM6IGFwcGx5LmM6MzE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKIG1zZ3N0ciAiS29ubnRlIEJpbsOkci1QYXRjaCBuaWNodCBhdWYgJyVzJyBhbndlbmRlbiIKIAotIzogYXBwbHkuYzozMTkwCisjOiBhcHBseS5jOjMyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCiBtc2dzdHIgIiIKICJCaW7DpHItUGF0Y2ggZsO8ciAnJXMnIGVyemV1Z3QgZmFsc2NoZXMgRXJnZWJuaXMgKGVyd2FydGV0ZSAlcywgYmVrYW0gJXMpIgogCi0jOiBhcHBseS5jOjMyMTEKKyM6IGFwcGx5LmM6MzIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKIG1zZ3N0ciAiQW53ZW5kdW5nIGRlcyBQYXRjaGVzIGZlaGxnZXNjaGxhZ2VuOiAlczolbGQiCiAKLSM6IGFwcGx5LmM6MzMzMworIzogYXBwbHkuYzozMzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAia2FubiAlcyBuaWNodCBhdXNjaGVja2VuIgogCi0jOiBhcHBseS5jOjMzODEgYXBwbHkuYzozMzkyIGFwcGx5LmM6MzQzOCBzZXR1cC5jOjI0OAorIzogYXBwbHkuYzozMzkyIGFwcGx5LmM6MzQwMyBhcHBseS5jOjM0NDkgc2V0dXAuYzoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIExlc2VuIHZvbiAlcyIKIAotIzogYXBwbHkuYzozMzg5CisjOiBhcHBseS5jOjM0MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiJyVzJyBpc3QgaGludGVyIGVpbmVyIHN5bWJvbGlzY2hlbiBWZXJrbsO8cGZ1bmciCiAKLSM6IGFwcGx5LmM6MzQxOCBhcHBseS5jOjM2NTgKKyM6IGFwcGx5LmM6MzQyOSBhcHBseS5jOjM2NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCiBtc2dzdHIgIlBmYWQgJXMgd3VyZGUgdW1iZW5hbm50L2dlbMO2c2NodCIKIAotIzogYXBwbHkuYzozNTAxIGFwcGx5LmM6MzY3MgorIzogYXBwbHkuYzozNTEyIGFwcGx5LmM6MzY4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCiBtc2dzdHIgIiVzIGlzdCBuaWNodCBpbSBJbmRleCIKIAotIzogYXBwbHkuYzozNTEwIGFwcGx5LmM6MzY4MAorIzogYXBwbHkuYzozNTIxIGFwcGx5LmM6MzY5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCiBtc2dzdHIgIiVzIGVudHNwcmljaHQgbmljaHQgZGVyIFZlcnNpb24gaW0gSW5kZXgiCiAKLSM6IGFwcGx5LmM6MzU0NQorIzogYXBwbHkuYzozNTU2CiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogIkRlbSBSZXBvc2l0b3J5IGZlaGx0IGRlciBub3R3ZW5kaWdlIEJsb2IsIHVtIGF1ZiBlaW5lbiAzLVdlZ2UtTWVyZ2VcbiIKICJ6dXLDvGNrenVmYWxsZW4uIgogCi0jOiBhcHBseS5jOjM1NDgKKyM6IGFwcGx5LmM6MzU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIkZhbGxlIHp1csO8Y2sgYXVmIDMtV2VnZS1NZXJnZSAuLi5cbiIKIAotIzogYXBwbHkuYzozNTY0IGFwcGx5LmM6MzU2OAorIzogYXBwbHkuYzozNTc1IGFwcGx5LmM6MzU3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgogbXNnc3RyICJrYW5uIGFrdHVlbGxlIEluaGFsdGUgdm9uICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGFwcGx5LmM6MzU4MAorIzogYXBwbHkuYzozNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIkZlaGxlciBiZWltIFp1csO8Y2tmYWxsZW4gYXVmIDMtV2VnZS1NZXJnZS4uLlxuIgogCi0jOiBhcHBseS5jOjM1OTQKKyM6IGFwcGx5LmM6MzYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgIlBhdGNoIGF1ZiAnJXMnIG1pdCBLb25mbGlrdGVuIGFuZ2V3ZW5kZXQuXG4iCiAKLSM6IGFwcGx5LmM6MzU5OQorIzogYXBwbHkuYzozNjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICJQYXRjaCBhdWYgJyVzJyBzYXViZXIgYW5nZXdlbmRldC5cbiIKIAotIzogYXBwbHkuYzozNjI1CisjOiBhcHBseS5jOjM2MzYKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICJMw7ZzY2gtUGF0Y2ggaGludGVybMOkc3N0IERhdGVpaW5oYWx0ZSIKIAotIzogYXBwbHkuYzozNjk3CisjOiBhcHBseS5jOjM3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdyb25nIHR5cGUiCiBtc2dzdHIgIiVzOiBmYWxzY2hlciBUeXAiCiAKLSM6IGFwcGx5LmM6MzY5OQorIzogYXBwbHkuYzozNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKIG1zZ3N0ciAiJXMgaXN0IHZvbSBUeXAgJW8sIGVyd2FydGV0ZSAlbyIKIAotIzogYXBwbHkuYzozODUwIGFwcGx5LmM6Mzg1MgorIzogYXBwbHkuYzozODYwIGFwcGx5LmM6Mzg2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgUGZhZCAnJXMnIgogCi0jOiBhcHBseS5jOjM5MDgKKyM6IGFwcGx5LmM6MzkxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCiBtc2dzdHIgIiVzIGlzdCBiZXJlaXRzIGJlcmVpdGdlc3RlbGx0IgogCi0jOiBhcHBseS5jOjM5MTEKKyM6IGFwcGx5LmM6MzkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIGV4aXN0aWVydCBiZXJlaXRzIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyIKIAotIzogYXBwbHkuYzozOTMxCisjOiBhcHBseS5jOjM5NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICJuZXVlciBNb2R1cyAoJW8pIHZvbiAlcyBlbnRzcHJpY2h0IG5pY2h0IGRlbSBhbHRlbiBNb2R1cyAoJW8pIgogCi0jOiBhcHBseS5jOjM5MzYKKyM6IGFwcGx5LmM6Mzk0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCiBtc2dzdHIgIm5ldWVyIE1vZHVzICglbykgdm9uICVzIGVudHNwcmljaHQgbmljaHQgZGVtIGFsdGVuIE1vZHVzICglbykgdm9uICVzIgogCi0jOiBhcHBseS5jOjM5NTYKKyM6IGFwcGx5LmM6Mzk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiYmV0cm9mZmVuZSBEYXRlaSAnJXMnIGlzdCBoaW50ZXIgZWluZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZyIKIAotIzogYXBwbHkuYzozOTYwCisjOiBhcHBseS5jOjM5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICIlczogUGF0Y2gga29ubnRlIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuIgogCi0jOiBhcHBseS5jOjM5NzUKKyM6IGFwcGx5LmM6Mzk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAiUHLDvGZlIFBhdGNoICVzIC4uLiIKIAotIzogYXBwbHkuYzo0MDY2CisjOiBhcHBseS5jOjQwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiU0hBLTEgSW5mb3JtYXRpb24gZmVobHQgb2RlciBpc3QgdW5icmF1Y2hiYXIgZsO8ciBTdWJtb2R1bCAlcyIKIAotIzogYXBwbHkuYzo0MDczCisjOiBhcHBseS5jOjQwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgogbXNnc3RyICJNb2R1c8OkbmRlcnVuZyBmw7xyICVzLCB3YXMgc2ljaCBuaWNodCBpbSBha3R1ZWxsZW4gSEVBRCBiZWZpbmRldCIKIAotIzogYXBwbHkuYzo0MDc2CisjOiBhcHBseS5jOjQwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgIlNIQS0xIEluZm9ybWF0aW9uIGZlaGx0IG9kZXIgaXN0IHVuYnJhdWNoYmFyICglcykuIgogCi0jOiBhcHBseS5jOjQwODEgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1CisjOiBhcHBseS5jOjQwOTEgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL3Jlc2V0LmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgZsO8ciBQZmFkICclcycgZmVobGdlc2NobGFnZW4iCiAKLSM6IGFwcGx5LmM6NDA4NQorIzogYXBwbHkuYzo0MDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJrb25udGUgJXMgbmljaHQgenVtIHRlbXBvcsOkcmVuIEluZGV4IGhpbnp1ZsO8Z2VuIgogCi0jOiBhcHBseS5jOjQwOTUKKyM6IGFwcGx5LmM6NDEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgogbXNnc3RyICJrb25udGUgdGVtcG9yw6RyZW4gSW5kZXggbmljaHQgbmFjaCAlcyBzY2hyZWliZW4iCiAKLSM6IGFwcGx5LmM6NDIzMworIzogYXBwbHkuYzo0MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAia29ubnRlICVzIG5pY2h0IGF1cyBkZW0gSW5kZXggZW50ZmVybmVuIgogCi0jOiBhcHBseS5jOjQyNjgKKyM6IGFwcGx5LmM6NDI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgImZlaGxlcmhhZnRlciBQYXRjaCBmw7xyIFN1Ym1vZHVsICVzIgogCi0jOiBhcHBseS5jOjQyNzQKKyM6IGFwcGx5LmM6NDI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAia29ubnRlIG5ldSBlcnN0ZWxsdGUgRGF0ZWkgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYXBwbHkuYzo0MjgyCisjOiBhcHBseS5jOjQyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCiBtc2dzdHIgImthbm4gaW50ZXJuZW4gU3BlaWNoZXIgZsO8ciBlYmVuIGVyc3RlbGx0ZSBEYXRlaSAlcyBuaWNodCBlcnpldWdlbiIKIAotIzogYXBwbHkuYzo0Mjg4IGFwcGx5LmM6NDQzMgorIzogYXBwbHkuYzo0Mjk4IGFwcGx5LmM6NDQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAia2FubiBmw7xyICVzIGtlaW5lbiBFaW50cmFnIGluIGRlbiBad2lzY2hlbnNwZWljaGVyIGhpbnp1ZsO8Z2VuIgogCi0jOiBhcHBseS5jOjQzMjkKKyM6IGFwcGx5LmM6NDMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIG5hY2ggJyVzJyIKIAotIzogYXBwbHkuYzo0MzMzCisjOiBhcHBseS5jOjQzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgInNjaGxpZcOfZSBEYXRlaSAnJXMnIgogCi0jOiBhcHBseS5jOjQ0MDMKKyM6IGFwcGx5LmM6NDQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCiBtc2dzdHIgImtvbm50ZSBEYXRlaSAnJXMnIG1pdCBNb2R1cyAlbyBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGFwcGx5LmM6NDUwMQorIzogYXBwbHkuYzo0NTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCiBtc2dzdHIgIlBhdGNoICVzIHNhdWJlciBhbmdld2VuZGV0IgogCi0jOiBhcHBseS5jOjQ1MDkKKyM6IGFwcGx5LmM6NDUxOQogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICJpbnRlcm5lciBGZWhsZXIiCiAKLSM6IGFwcGx5LmM6NDUxMgorIzogYXBwbHkuYzo0NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKIG1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKIG1zZ3N0clswXSAiV2VuZGUgUGF0Y2ggJSVzIG1pdCAlZCBadXLDvGNrd2Vpc3VuZyBhbi4uLiIKIG1zZ3N0clsxXSAiV2VuZGUgUGF0Y2ggJSVzIG1pdCAlZCBadXLDvGNrd2Vpc3VuZ2VuIGFuLi4uIgogCi0jOiBhcHBseS5jOjQ1MjMKKyM6IGFwcGx5LmM6NDUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCiBtc2dzdHIgIlZlcmvDvHJ6ZSBOYW1lIHZvbiAucmVqIERhdGVpIHp1ICUuKnMucmVqIgogCi0jOiBhcHBseS5jOjQ1MzEgYnVpbHRpbi9mZXRjaC5jOjczNyBidWlsdGluL2ZldGNoLmM6OTg2CisjOiBhcHBseS5jOjQ1NDEgYnVpbHRpbi9mZXRjaC5jOjczOCBidWlsdGluL2ZldGNoLmM6OTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzIgogbXNnc3RyICJrYW5uICclcycgbmljaHQgw7ZmZm5lbiIKIAotIzogYXBwbHkuYzo0NTQ1CisjOiBhcHBseS5jOjQ1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAiUGF0Y2gtQmVyZWljaCAjJWQgc2F1YmVyIGFuZ2V3ZW5kZXQuIgogCi0jOiBhcHBseS5jOjQ1NDkKKyM6IGFwcGx5LmM6NDU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCiBtc2dzdHIgIlBhdGNoLUJsb2NrICMlZCB6dXLDvGNrZ2V3aWVzZW4uIgogCi0jOiBhcHBseS5jOjQ2NTkKKyM6IGFwcGx5LmM6NDY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgogbXNnc3RyICJQYXRjaCAnJXMnIGF1c2dlbGFzc2VuLiIKIAotIzogYXBwbHkuYzo0NjY3CisjOiBhcHBseS5jOjQ2NzcKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlIEVpbmdhYmUiCiAKLSM6IGFwcGx5LmM6NDY4NgorIzogYXBwbHkuYzo0Njk2CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS29ubnRlIEluZGV4LURhdGVpIG5pY2h0IGxlc2VuIgogCi0jOiBhcHBseS5jOjQ4MjQKKyM6IGFwcGx5LmM6NDgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgogbXNnc3RyICJrYW5uIFBhdGNoICclcycgbmljaHQgw7ZmZm5lbjogJXMiCiAKLSM6IGFwcGx5LmM6NDg0OQorIzogYXBwbHkuYzo0ODYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHJbMF0gInVudGVyZHLDvGNrdGUgJWQgV2hpdGVzcGFjZS1GZWhsZXIiCiBtc2dzdHJbMV0gInVudGVyZHLDvGNrdGUgJWQgV2hpdGVzcGFjZS1GZWhsZXIiCiAKLSM6IGFwcGx5LmM6NDg1NSBhcHBseS5jOjQ4NzAKKyM6IGFwcGx5LmM6NDg2NiBhcHBseS5jOjQ4ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAiJWQgWmVpbGUgZsO8Z3QgV2hpdGVzcGFjZS1GZWhsZXIgaGluenUuIgogbXNnc3RyWzFdICIlZCBaZWlsZW4gZsO8Z2VuIFdoaXRlc3BhY2UtRmVobGVyIGhpbnp1LiIKIAotIzogYXBwbHkuYzo0ODYzCisjOiBhcHBseS5jOjQ4NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAiJWQgWmVpbGUgbmFjaCBCZWhlYnVuZyB2b24gV2hpdGVzcGFjZS1GZWhsZXJuIGFuZ2V3ZW5kZXQuIgogbXNnc3RyWzFdICIlZCBaZWlsZW4gbmFjaCBCZWhlYnVuZyB2b24gV2hpdGVzcGFjZS1GZWhsZXJuIGFuZ2V3ZW5kZXQuIgogCi0jOiBhcHBseS5jOjQ4NzkgYnVpbHRpbi9hZGQuYzo0NjMgYnVpbHRpbi9tdi5jOjI5OCBidWlsdGluL3JtLmM6MzkxCisjOiBhcHBseS5jOjQ4OTAgYnVpbHRpbi9hZGQuYzo1MTMgYnVpbHRpbi9tdi5jOjI5OSBidWlsdGluL3JtLmM6MzkxCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgbmV1ZSBJbmRleC1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBhcHBseS5jOjQ5MTAgYXBwbHkuYzo0OTEzIGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCi0jOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vcHVsbC5jOjE4MAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDQKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBhcHBseS5jOjQ5MjEgYXBwbHkuYzo0OTI0IGJ1aWx0aW4vYW0uYzoyMjU3IGJ1aWx0aW4vYW0uYzoyMjYwCisjOiBidWlsdGluL2Nsb25lLmM6MTE1IGJ1aWx0aW4vZmV0Y2guYzo5MyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInBhdGgiCiBtc2dzdHIgIlBmYWQiCiAKLSM6IGFwcGx5LmM6NDkxMQorIzogYXBwbHkuYzo0OTIyCiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAia2VpbmUgw4RuZGVydW5nZW4gaW0gYW5nZWdlYmVuZW4gUGZhZCBhbndlbmRlbiIKIAotIzogYXBwbHkuYzo0OTE0CisjOiBhcHBseS5jOjQ5MjUKIG1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICLDhG5kZXJ1bmdlbiBudXIgaW0gYW5nZWdlYmVuZW4gUGZhZCBhbndlbmRlbiIKIAotIzogYXBwbHkuYzo0OTE2IGJ1aWx0aW4vYW0uYzoyMjg2CisjOiBhcHBseS5jOjQ5MjcgYnVpbHRpbi9hbS5jOjIyNjYKIG1zZ2lkICJudW0iCiBtc2dzdHIgIkFuemFobCIKIAotIzogYXBwbHkuYzo0OTE3CisjOiBhcHBseS5jOjQ5MjgKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAiIgogIjxBbnphaGw+IHZvcmFuZ2VzdGVsbHRlIFNjaHLDpGdzdHJpY2hlIHZvbiBoZXJrw7ZtbWxpY2hlbiBEaWZmZXJlbnpwZmFkZW4gIgogImVudGZlcm5lbiIKIAotIzogYXBwbHkuYzo0OTIwCisjOiBhcHBseS5jOjQ5MzEKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICJoaW56dWdlZsO8Z3RlIFplaWxlbiBkZXMgUGF0Y2hlcyBpZ25vcmllcmVuIgogCi0jOiBhcHBseS5jOjQ5MjIKKyM6IGFwcGx5LmM6NDkzMwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiIgogImFuc3RhdHQgZGVyIEFud2VuZHVuZyBkZXMgUGF0Y2hlcywgZGVuIFwiZGlmZnN0YXRcIiBmw7xyIGRpZSBFaW5nYWJlICIKICJhdXNnZWdlYmVuIgogCi0jOiBhcHBseS5jOjQ5MjYKKyM6IGFwcGx5LmM6NDkzNwogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgIiIKICJkaWUgQW56YWhsIHZvbiBoaW56dWdlZsO8Z3Rlbi9lbnRmZXJudGVuIFplaWxlbiBpbiBEZXppbWFsbm90YXRpb24gYW56ZWlnZW4iCiAKLSM6IGFwcGx5LmM6NDkyOAorIzogYXBwbHkuYzo0OTM5CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiIgogImFuc3RhdHQgZGVyIEFud2VuZHVuZyBkZXMgUGF0Y2hlcywgZWluZSBadXNhbW1lbmZhc3N1bmcgZsO8ciBkaWUgRWluZ2FiZSAiCiAiYXVzZ2ViZW4iCiAKLSM6IGFwcGx5LmM6NDkzMAorIzogYXBwbHkuYzo0OTQxCiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKIG1zZ3N0ciAiIgogImFuc3RhdHQgZGVyIEFud2VuZHVuZyBkZXMgUGF0Y2hlcywgemVpZ2Ugb2IgUGF0Y2ggYW5nZXdlbmRldCB3ZXJkZW4ga2FubiIKIAotIzogYXBwbHkuYzo0OTMyCisjOiBhcHBseS5jOjQ5NDMKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgIiIKICJzaWNoZXJzdGVsbGVuLCBkYXNzIGRlciBQYXRjaCBtaXQgZGVtIGFrdHVlbGxlbiBJbmRleCBhbmdld2VuZGV0IHdlcmRlbiBrYW5uIgogCi0jOiBhcHBseS5jOjQ5MzQKKyM6IGFwcGx5LmM6NDk0NQogbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJQYXRjaCBhbndlbmRlbiwgb2huZSDDhG5kZXJ1bmdlbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgdm9yenVuZWhtZW4iCiAKLSM6IGFwcGx5LmM6NDkzNgorIzogYXBwbHkuYzo0OTQ3CiBtc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKIG1zZ3N0ciAiIgogIlBhdGNoIGFud2VuZGVuLCBkZXIgw4RuZGVydW5nZW4gYXXDn2VyaGFsYiBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzIHZvcm5pbW10IgogCi0jOiBhcHBseS5jOjQ5MzgKKyM6IGFwcGx5LmM6NDk0OQogbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogbXNnc3RyICJQYXRjaCBhbndlbmRlbiAoQmVudXR6dW5nIG1pdCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogCi0jOiBhcHBseS5jOjQ5NDAKKyM6IGFwcGx5LmM6NDk1MQogbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgInZlcnN1Y2hlIDMtV2VnZS1NZXJnZSwgd2VubiBkZXIgUGF0Y2ggbmljaHQgYW5nZXdlbmRldCB3ZXJkZW4ga29ubnRlIgogCi0jOiBhcHBseS5jOjQ5NDIKKyM6IGFwcGx5LmM6NDk1MwogbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAiZWluZW4gdGVtcG9yw6RyZW4gSW5kZXgsIGJhc2llcmVuZCBhdWYgZGVuIGludGVncmllcnRlbiBJbmRleC1JbmZvcm1hdGlvbmVuLCAiCiAiZXJzdGVsbGVuIgogCi0jOiBhcHBseS5jOjQ5NDUgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA3CisjOiBhcHBseS5jOjQ5NTYgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MCBidWlsdGluL2xzLWZpbGVzLmM6NTE1CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlBmYWRlIHNpbmQgZ2V0cmVubnQgZHVyY2ggTlVMIFplaWNoZW4iCiAKLSM6IGFwcGx5LmM6NDk0NworIzogYXBwbHkuYzo0OTU4CiBtc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgogbXNnc3RyICIiCiAic2ljaGVyIHN0ZWxsZW4sIGRhc3MgbWluZGVzdGVucyA8bj4gWmVpbGVuIGRlcyBLb250ZXh0ZXMgw7xiZXJlaW5zdGltbWVuIgogCi0jOiBhcHBseS5jOjQ5NDggYnVpbHRpbi9hbS5jOjIyNjUKKyM6IGFwcGx5LmM6NDk1OSBidWlsdGluL2FtLmM6MjI0NQogbXNnaWQgImFjdGlvbiIKIG1zZ3N0ciAiQWt0aW9uIgogCi0jOiBhcHBseS5jOjQ5NDkKKyM6IGFwcGx5LmM6NDk2MAogbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyICJuZXVlIG9kZXIgZ2XDpG5kZXJ0ZSBaZWlsZW4sIGRpZSBXaGl0ZXNwYWNlLUZlaGxlciBoYWJlbiwgZXJtaXR0ZWxuIgogCi0jOiBhcHBseS5jOjQ5NTIgYXBwbHkuYzo0OTU1CisjOiBhcHBseS5jOjQ5NjMgYXBwbHkuYzo0OTY2CiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAiw4RuZGVydW5nZW4gaW0gV2hpdGVzcGFjZSBiZWkgZGVyIFN1Y2hlIGRlcyBLb250ZXh0ZXMgaWdub3JpZXJlbiIKIAotIzogYXBwbHkuYzo0OTU4CisjOiBhcHBseS5jOjQ5NjkKIG1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKIG1zZ3N0ciAiZGVuIFBhdGNoIGluIHVtZ2VrZWhydGVyIFJlaWhlbmZvbGdlIGFud2VuZGVuIgogCi0jOiBhcHBseS5jOjQ5NjAKKyM6IGFwcGx5LmM6NDk3MQogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICJrZWluZW4gS29udGV4dCBlcndhcnRlbiIKIAotIzogYXBwbHkuYzo0OTYyCisjOiBhcHBseS5jOjQ5NzMKIG1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKIG1zZ3N0ciAiIgogInp1csO8Y2tnZXdpZXNlbmUgUGF0Y2gtQmzDtmNrZSBpbiBlbnRzcHJlY2hlbmRlbiAqLnJlaiBEYXRlaWVuIGhpbnRlcmxhc3NlbiIKIAotIzogYXBwbHkuYzo0OTY0CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAic2ljaCDDvGJlcmxhcHBlbmRlIFBhdGNoLUJsw7Zja2UgZXJsYXViZW4iCiAKLSM6IGFwcGx5LmM6NDk2NSBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NjUxCi0jOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjEyMiBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorIzogYXBwbHkuYzo0OTc2IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MCBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg3NyBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAiZXJ3ZWl0ZXJ0ZSBBdXNnYWJlbiIKIAotIzogYXBwbHkuYzo0OTY3CisjOiBhcHBseS5jOjQ5NzgKIG1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZmVobGVyaGFmdCBlcmthbm50ZW4gZmVobGVuZGVuIFplaWxlbnVtYnJ1Y2ggYW0gRGF0ZWllbmRlIHRvbGVyaWVyZW4iCiAKLSM6IGFwcGx5LmM6NDk3MAorIzogYXBwbHkuYzo0OTgxCiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICJkZW4gWmVpbGVubnVtbWVybiBpbSBLb3BmIGRlcyBQYXRjaC1CbG9ja3MgbmljaHQgdmVydHJhdWVuIgogCi0jOiBhcHBseS5jOjQ5NzIgYnVpbHRpbi9hbS5jOjIyNzQKKyM6IGFwcGx5LmM6NDk4MyBidWlsdGluL2FtLmM6MjI1NAogbXNnaWQgInJvb3QiCiBtc2dzdHIgIld1cnplbHZlcnplaWNobmlzIgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NDk4NAogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgIjxXdXJ6ZWx2ZXJ6ZWljaG5pcz4gdm9yIGFsbGUgRGF0ZWluYW1lbiBzdGVsbGVuIgogCi0jOiBhcmNoaXZlLmM6MTIKKyM6IGFyY2hpdmUuYzoxMwogbXNnaWQgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBhcmNoaXZlIFs8T3B0aW9uZW4+XSA8Q29tbWl0LVJlZmVyZW56PiBbPFBmYWQ+Li4uXSIKIAotIzogYXJjaGl2ZS5jOjEzCisjOiBhcmNoaXZlLmM6MTQKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjE0CisjOiBhcmNoaXZlLmM6MTUKIG1zZ2lkICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8UmVwb3NpdG9yeT4gWy0tZXhlYyA8UHJvZ3JhbW0+XSBbPE9wdGlvbmVuPl0gPENvbW1pdC0iCiAiUmVmZXJlbno+IFs8UGZhZD4uLi5dIgogCi0jOiBhcmNoaXZlLmM6MTUKKyM6IGFyY2hpdmUuYzoxNgogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxSZXBvc2l0b3J5PiBbLS1leGVjIDxQcm9ncmFtbT5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzAwCisjOiBhcmNoaXZlLmM6MzMzIGJ1aWx0aW4vYWRkLmM6MTU0IGJ1aWx0aW4vYWRkLmM6NDkyIGJ1aWx0aW4vcm0uYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAiUGZhZHNwZXppZmlrYXRpb24gJyVzJyBzdGltbXQgbWl0IGtlaW5lbiBEYXRlaWVuIMO8YmVyZWluIgogCi0jOiBhcmNoaXZlLmM6NDI5CisjOiBhcmNoaXZlLmM6NDE4CiBtc2dpZCAiZm10IgogbXNnc3RyICJGb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiQXJjaGl2Zm9ybWF0IgogCi0jOiBhcmNoaXZlLmM6NDMwIGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYXJjaGl2ZS5jOjQxOSBidWlsdGluL2xvZy5jOjE0NDYKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgIlByw6RmaXgiCiAKLSM6IGFyY2hpdmUuYzo0MzEKKyM6IGFyY2hpdmUuYzo0MjAKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJlaW5lbiBQcsOkZml4IHZvciBqZWRlbiBQZmFkbmFtZW4gaW4gZGVtIEFyY2hpdiBzdGVsbGVuIgogCi0jOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYmxhbWUuYzoyNjA3IGJ1aWx0aW4vYmxhbWUuYzoyNjA4IGJ1aWx0aW4vY29uZmlnLmM6NTkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2dyZXAuYzoxMDU0Ci0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDEgYnVpbHRpbi9scy1maWxlcy5jOjU0NAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMSBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5CisjOiBhcmNoaXZlLmM6NDIxIGJ1aWx0aW4vYmxhbWUuYzo2OTMgYnVpbHRpbi9ibGFtZS5jOjY5NCBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTEgYnVpbHRpbi9ncmVwLmM6MTA4MAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMiBidWlsdGluL2xzLWZpbGVzLmM6NTQ5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL3JlYWQtdHJlZS5jOjEyMAogIzogcGFyc2Utb3B0aW9ucy5oOjE1MwogbXNnaWQgImZpbGUiCiBtc2dzdHIgIkRhdGVpIgogCi0jOiBhcmNoaXZlLmM6NDMzIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6NDIyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICJkYXMgQXJjaGl2IGluIGRpZXNlIERhdGVpIHNjaHJlaWJlbiIKIAotIzogYXJjaGl2ZS5jOjQzNQorIzogYXJjaGl2ZS5jOjQyNAogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIi5naXRhdHRyaWJ1dGVzIGF1cyBkZW0gQXJiZWl0c3ZlcnplaWNobmlzIGxlc2VuIgogCi0jOiBhcmNoaXZlLmM6NDM2CisjOiBhcmNoaXZlLmM6NDI1CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAiYXJjaGl2aWVydGUgRGF0ZWllbiBpbiBkZXIgU3RhbmRhcmQtRmVobGVyYXVzZ2FiZSBhdXNnZWJlbiIKIAotIzogYXJjaGl2ZS5jOjQzNworIzogYXJjaGl2ZS5jOjQyNgogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgIm51ciBzcGVpY2hlcm4iCiAKLSM6IGFyY2hpdmUuYzo0MzgKKyM6IGFyY2hpdmUuYzo0MjcKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgInNjaG5lbGxlciBrb21wcmltaWVyZW4iCiAKLSM6IGFyY2hpdmUuYzo0NDYKKyM6IGFyY2hpdmUuYzo0MzUKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgImJlc3NlciBrb21wcmltaWVyZW4iCiAKLSM6IGFyY2hpdmUuYzo0NDkKKyM6IGFyY2hpdmUuYzo0MzgKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgInVudGVyc3TDvHR6dGUgQXJjaGl2Zm9ybWF0ZSBhdWZsaXN0ZW4iCiAKLSM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vY2xvbmUuYzo4OAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY5CisjOiBhcmNoaXZlLmM6NDQwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMDUgYnVpbHRpbi9jbG9uZS5jOjEwOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgyCiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAiUmVwb3NpdG9yeSIKIAotIzogYXJjaGl2ZS5jOjQ1MiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjQ0MSBidWlsdGluL2FyY2hpdmUuYzo5MQogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICJBcmNoaXYgdm9tIFJlbW90ZS1SZXBvc2l0b3J5IDxSZXBvc2l0b3J5PiBhYnJ1ZmVuIgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODUKKyM6IGFyY2hpdmUuYzo0NDIgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgIlByb2dyYW1tIgogCi0jOiBhcmNoaXZlLmM6NDU0IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6NDQzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICJQZmFkIHp1bSBleHRlcm5lbiBcImdpdC11cGxvYWQtYXJjaGl2ZVwiLVByb2dyYW1tIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDUwCiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgIlVuZXJ3YXJ0ZXRlIE9wdGlvbiAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ2MworIzogYXJjaGl2ZS5jOjQ1MgogbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tZXhlYyBrYW5uIG51ciB6dXNhbW1lbiBtaXQgLS1yZW1vdGUgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGFyY2hpdmUuYzo0NjUKKyM6IGFyY2hpdmUuYzo0NTQKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKIG1zZ3N0ciAiVW5lcndhcnRldGUgT3B0aW9uIC0tb3V0cHV0IgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiVW5iZWthbm50ZXMgQXJjaGl2Zm9ybWF0ICclcyciCiAKLSM6IGFyY2hpdmUuYzo0OTQKKyM6IGFyY2hpdmUuYzo0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAiQXJndW1lbnQgZsO8ciBGb3JtYXQgJyVzJyBuaWNodCB1bnRlcnN0w7x0enQ6IC0lZCIKIAotIzogYXR0ci5jOjI2MworIzogYXR0ci5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlLipzIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lIgorbXNnc3RyICIlLipzIGlzdCBrZWluIGfDvGx0aWdlciBBdHRyaWJ1dG5hbWUiCisKKyM6IGF0dHIuYzo0MTAKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKICJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iCkBAIC04NzMsMTIgKzg4OCw3IEBACiAiVmVybmVpbmVuZGUgTXVzdGVyIHdlcmRlbiBpbiBHaXQtQXR0cmlidXRlbiBpZ25vcmllcnQuXG4iCiAiQmVudXR6ZW4gU2llICdcXCEnIGbDvHIgZsO8aHJlbmRlIEF1c3J1ZmV6ZWljaGVuLiIKIAotIzogYmlzZWN0LmM6NDQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKLW1zZ3N0ciAiS29ubnRlIERhdGVpICclcycgbmljaHQgw7ZmZm5lbiIKLQotIzogYmlzZWN0LmM6NDQ2CisjOiBiaXNlY3QuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgSW5oYWx0IGJ6Z2wuIEFuZsO8aHJ1bmdzc3RyaWNoZSBpbiBEYXRlaSAnJXMnOiAlcyIKQEAgLTk1Myw3ICs5NjMsNyBAQAogbXNnaWQgImEgJXMgcmV2aXNpb24gaXMgbmVlZGVkIgogbXNnc3RyICJlaW4gJXMgQ29tbWl0IHdpcmQgYmVuw7Z0aWd0IgogCi0jOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI2MgorIzogYmlzZWN0LmM6ODY2IGJ1aWx0aW4vbm90ZXMuYzoxNzUgYnVpbHRpbi90YWcuYzoyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCiBtc2dzdHIgImtvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IGVyc3RlbGxlbiIKQEAgLTk4OCwxNSArOTk4LDU2IEBACiBtc2dzdHJbMF0gIih1bmdlZsOkaHIgJWQgU2Nocml0dCkiCiBtc2dzdHJbMV0gIih1bmdlZsOkaHIgJWQgU2Nocml0dGUpIgogCi0jLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoCi0jLiAiKHJvdWdobHkgJWQgc3RlcHMpIiB0cmFuc2xhdGlvbgotIzogYmlzZWN0LmM6OTk4CisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoICIocm91Z2hseSAlZAorIy4gc3RlcHMpIiB0cmFuc2xhdGlvbi4KKyMuCisjOiBiaXNlY3QuYzoxMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ3N0clswXSAiYmluw6RyZSBTdWNoZTogZGFuYWNoIG5vY2ggJWQgQ29tbWl0IHp1bSBUZXN0ZW4gw7xicmlnICVzXG4iCiBtc2dzdHJbMV0gImJpbsOkcmUgU3VjaGU6IGRhbmFjaCBub2NoICVkIENvbW1pdHMgenVtIFRlc3RlbiDDvGJyaWcgJXNcbiIKIAorIzogYmxhbWUuYzoxNzU3Cittc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKK21zZ3N0ciAiLS1jb250ZW50cyB1bmQgLS1yZXZlcnNlIGZ1bmt0aW9uaWVyZW4gZ2VtZWluc2FtIG5pY2h0LiIKKworIzogYmxhbWUuYzoxNzY4Cittc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgorbXNnc3RyICIiCisia2FubiAtLWNvbnRlbnRzIG5pY2h0IG1pdCBlbmRnw7xsdGlnZW0gTmFtZW4gZGVzIENvbW1pdC1PYmpla3RlcyBiZW51dHplbiIKKworIzogYmxhbWUuYzoxNzg4Cittc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgorbXNnc3RyICIiCisiLS1yZXZlcnNlIHVuZCAtLWZpcnN0LXBhcmVudCB6dXNhbW1lbiBlcmZvcmRlcm4gZGllIEFuZ2FiZSBlaW5lcyAiCisiZW5kZ8O8bHRpZ2VuXG4iCisiQ29tbWl0cyIKKworIzogYmxhbWUuYzoxNzk3IGJ1bmRsZS5jOjE2NCByZWYtZmlsdGVyLmM6MTkxOSBzZXF1ZW5jZXIuYzoxMTY2CisjOiBzZXF1ZW5jZXIuYzoyMzI4IGJ1aWx0aW4vY29tbWl0LmM6MTA1OCBidWlsdGluL2xvZy5jOjM1NiBidWlsdGluL2xvZy5jOjkwNworIzogYnVpbHRpbi9sb2cuYzoxMzU3IGJ1aWx0aW4vbG9nLmM6MTY4MyBidWlsdGluL2xvZy5jOjE5MjYgYnVpbHRpbi9tZXJnZS5jOjM2MAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE3NworbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgorbXNnc3RyICJFaW5yaWNodHVuZyBkZXMgUmV2aXNpb25zZ2FuZ3MgZmVobGdlc2NobGFnZW4iCisKKyM6IGJsYW1lLmM6MTgxNQorbXNnaWQgIiIKKyItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCittc2dzdHIgIiIKKyItLXJldmVyc2UgdW5kIC0tZmlyc3QtcGFyZW50IHp1c2FtbWVuIGVyZm9yZGVybiBlaW5lbiBCZXJlaWNoIGVudGxhbmcgZGVyXG4iCisiXCJmaXJzdC1wYXJlbnRcIi1LZXR0ZSIKKworIzogYmxhbWUuYzoxODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKK21zZ3N0ciAiUGZhZCAlcyBuaWNodCBpbiAlcyIKKworIzogYmxhbWUuYzoxODM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCittc2dzdHIgImthbm4gQmxvYiAlcyBmw7xyIFBmYWQgJyVzJyBuaWNodCBsZXNlbiIKKwogIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMTEzNiw3ICsxMTg3LDcgQEAKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiJyVzJyBpc3QgYmVyZWl0cyBpbiAnJXMnIGF1c2dlY2hlY2t0IgogCi0jOiBicmFuY2guYzozNjMKKyM6IGJyYW5jaC5jOjM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAiSEVBRCBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzICVzIGlzdCBuaWNodCBha3R1YWxpc2llcnQuIgpAQCAtMTE0NiwxMDQgKzExOTcsOTcgQEAKIG1zZ2lkICInJXMnIGRvZXMgbm90IGxvb2sgbGlrZSBhIHYyIGJ1bmRsZSBmaWxlIgogbXNnc3RyICInJXMnIHNpZWh0IG5pY2h0IHdpZSBlaW5lIHYyIFBha2V0ZGF0ZWkgYXVzIgogCi0jOiBidW5kbGUuYzo2MQorIzogYnVuZGxlLmM6NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICJuaWNodCBlcmthbm50ZXIgS29wZmJlcmVpY2g6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6MTMzMSBzZXF1ZW5jZXIuYzoxNzUyIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CisjOiBidW5kbGUuYzo4OCBzZXF1ZW5jZXIuYzoxMzQ0IHNlcXVlbmNlci5jOjE3NzAgYnVpbHRpbi9jb21taXQuYzo3NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgw7ZmZm5lbiIKIAotIzogYnVuZGxlLmM6MTM5CisjOiBidW5kbGUuYzoxNDAKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiRGVtIFJlcG9zaXRvcnkgZmVobGVuIGZvbGdlbmRlIHZvcmF1c2dlc2V0enRlIENvbW1pdHM6IgogCi0jOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0OTkgc2VxdWVuY2VyLmM6MTE1NCBzZXF1ZW5jZXIuYzoyMjkwCi0jOiBidWlsdGluL2JsYW1lLmM6MjgyMCBidWlsdGluL2NvbW1pdC5jOjEwNjEgYnVpbHRpbi9sb2cuYzozNDgKLSM6IGJ1aWx0aW4vbG9nLmM6ODkwIGJ1aWx0aW4vbG9nLmM6MTM0MCBidWlsdGluL2xvZy5jOjE2NjYgYnVpbHRpbi9sb2cuYzoxOTA5Ci0jOiBidWlsdGluL21lcmdlLmM6MzYwIGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzcKLW1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKLW1zZ3N0ciAiRWlucmljaHR1bmcgZGVzIFJldmlzaW9uc2dhbmdzIGZlaGxnZXNjaGxhZ2VuIgotCi0jOiBidW5kbGUuYzoxODUKKyM6IGJ1bmRsZS5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiRGFzIFBha2V0IGVudGjDpGx0IGRpZXNlIFJlZmVyZW56OiIKIG1zZ3N0clsxXSAiRGFzIFBha2V0IGVudGjDpGx0IGRpZXNlICVkIFJlZmVyZW56ZW46IgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE5MwogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICJEYXMgUGFrZXQgc3BlaWNoZXJ0IGVpbmUga29tcGxldHRlIEhpc3RvcmllLiIKIAotIzogYnVuZGxlLmM6MTk0CisjOiBidW5kbGUuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIkRhcyBQYWtldCBiZW7DtnRpZ3QgZGllc2UgUmVmZXJlbno6IgogbXNnc3RyWzFdICJEYXMgUGFrZXQgYmVuw7Z0aWd0IGRpZXNlICVkIFJlZmVyZW56ZW46IgogCi0jOiBidW5kbGUuYzoyNTMKKyM6IGJ1bmRsZS5jOjI1NAogbXNnaWQgIkNvdWxkIG5vdCBzcGF3biBwYWNrLW9iamVjdHMiCiBtc2dzdHIgIktvbm50ZSBQYWtldG9iamVrdGUgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidW5kbGUuYzoyNjQKKyM6IGJ1bmRsZS5jOjI2NQogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICJFcnN0ZWxsdW5nIGRlciBQYWtldG9iamVrdGUgYWJnZWJyb2NoZW4iCiAKLSM6IGJ1bmRsZS5jOjMwNAorIzogYnVuZGxlLmM6MzA3CiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAiXCJyZXYtbGlzdFwiIGFiZ2Vicm9jaGVuIgogCi0jOiBidW5kbGUuYzozNTMKKyM6IGJ1bmRsZS5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAiUmVmZXJlbnogJyVzJyB3aXJkIGR1cmNoIFwicmV2LWxpc3RcIiBPcHRpb25lbiBhdXNnZXNjaGxvc3NlbiIKIAotIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTY1IGJ1aWx0aW4vbG9nLmM6MTU3MiBidWlsdGluL3Nob3J0bG9nLmM6MjgyCisjOiBidW5kbGUuYzo0NDYgYnVpbHRpbi9sb2cuYzoxNzMgYnVpbHRpbi9sb2cuYzoxNTg5IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVzIEFyZ3VtZW50OiAlcyIKIAotIzogYnVuZGxlLmM6NDUxCisjOiBidW5kbGUuYzo0NTQKIG1zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKIG1zZ3N0ciAiRXJzdGVsbHVuZyBlaW5lcyBsZWVyZW4gUGFrZXRzIHp1csO8Y2tnZXdpZXNlbi4iCiAKLSM6IGJ1bmRsZS5jOjQ2MworIzogYnVuZGxlLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAia2FubiAnJXMnIG5pY2h0IGVyc3RlbGxlbiIKIAotIzogYnVuZGxlLmM6NDkxCisjOiBidW5kbGUuYzo0OTQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgIkVyc3RlbGx1bmcgZGVyIFBha2V0aW5kZXhkYXRlaSBhYmdlYnJvY2hlbiIKIAotIzogY29sb3IuYzozMDAKKyM6IGNvbG9yLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIEZhcmJ3ZXJ0OiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBzZXF1ZW5jZXIuYzoxNTY0IGJ1aWx0aW4vYW0uYzo0MjEgYnVpbHRpbi9hbS5jOjQ1NwotIzogYnVpbHRpbi9hbS5jOjE0OTMgYnVpbHRpbi9hbS5jOjIxMjcKKyM6IGNvbW1pdC5jOjQxIHNlcXVlbmNlci5jOjE1ODIgYnVpbHRpbi9hbS5jOjQyMCBidWlsdGluL2FtLmM6NDU2CisjOiBidWlsdGluL2FtLmM6MTQ2OSBidWlsdGluL2FtLmM6MjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgImtvbm50ZSAlcyBuaWNodCBwYXJzZW4iCiAKLSM6IGNvbW1pdC5jOjQyCisjOiBjb21taXQuYzo0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyBpc3Qga2VpbiBDb21taXQhIgogCi0jOiBjb21taXQuYzoxNTE0CisjOiBjb21taXQuYzoxNTExCiBtc2dpZCAiIgogIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKICJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgogInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgogbXNnc3RyICIiCiAiV2FybnVuZzogRGllIENvbW1pdC1CZXNjaHJlaWJ1bmcgaXN0IG5pY2h0IFVURi04IGtvbmZvcm0uXG4iCi0iU2llIGvDtm5uZW4gZGFzIE5hY2hiZXNzZXJuLCBuYWNoZGVtIFNpZSBkaWUgQmVzY2hyZWlidW5nIGtvcnJpZ2llcnQgaGFiZW4sXG4iCisiU2llIGvDtm5uZW4gZGFzIG5hY2hiZXNzZXJuLCBuYWNoZGVtIFNpZSBkaWUgQmVzY2hyZWlidW5nIGtvcnJpZ2llcnQgaGFiZW4sXG4iCiAib2RlciBTaWUgc2V0emVuIGRpZSBLb25maWd1cmF0aW9uc3ZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgYXVmIGRhcyAiCiAiRW5jb2RpbmcsXG4iCiAid2VsY2hlcyB2b24gaWhyZW0gUHJvamVrdCB2ZXJ3ZW5kZXQgd2lyZC5cbiIKQEAgLTEyNTIsMTUzICsxMjk2LDE3OCBAQAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgIlNwZWljaGVyIHZlcmJyYXVjaHQiCiAKLSM6IGNvbmZpZy5jOjUxOAorIzogY29uZmlnLmM6MTg2Cittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICIiCisiQmVkaW5ndW5nZW4gZsO8ciBkYXMgRWluYmluZGVuIHZvbiBLb25maWd1cmF0aW9uZW4gYXVzIHJlbGF0aXZlbiBQZmFkZW4gIgorIm3DvHNzZW5cbiIKKyJhdXMgRGF0ZWllbiBrb21tZW4uIgorCisjOiBjb25maWcuYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgS29uZmlndXJhdGlvbnN6ZWlsZSAlZCBpbiBCbG9iICVzIgogCi0jOiBjb25maWcuYzo1MjIKKyM6IGNvbmZpZy5jOjcyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBLb25maWd1cmF0aW9uc3plaWxlICVkIGluIERhdGVpICVzIgogCi0jOiBjb25maWcuYzo1MjYKKyM6IGNvbmZpZy5jOjcyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgS29uZmlndXJhdGlvbnN6ZWlsZSAlZCBpbiBTdGFuZGFyZC1FaW5nYWJlIgogCi0jOiBjb25maWcuYzo1MzAKKyM6IGNvbmZpZy5jOjczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgS29uZmlndXJhdGlvbnN6ZWlsZSAlZCBpbiBTdWJtb2R1bC1CbG9iICVzIgogCi0jOiBjb25maWcuYzo1MzQKKyM6IGNvbmZpZy5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gY29tbWFuZCBsaW5lICVzIgogbXNnc3RyICJVbmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zemVpbGUgJWQgaW4gS29tbWFuZG96ZWlsZSAlcyIKIAotIzogY29uZmlnLmM6NTM4CisjOiBjb25maWcuYzo3NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgogbXNnc3RyICJVbmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zemVpbGUgJWQgaW4gJXMiCiAKLSM6IGNvbmZpZy5jOjY1NworIzogY29uZmlnLmM6ODY4CiBtc2dpZCAib3V0IG9mIHJhbmdlIgogbXNnc3RyICJBdcOfZXJoYWxiIGRlcyBCZXJlaWNocyIKIAotIzogY29uZmlnLmM6NjU3CisjOiBjb25maWcuYzo4NjgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgRWluaGVpdCIKIAotIzogY29uZmlnLmM6NjYzCisjOiBjb25maWcuYzo4NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcyc6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBudW1lcmlzY2hlciBXZXJ0ICclcycgZsO8ciBLb25maWd1cmF0aW9uICclcyc6ICVzIgogCi0jOiBjb25maWcuYzo2NjgKKyM6IGNvbmZpZy5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgbnVtZXJpc2NoZXIgV2VydCAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiAnJXMnIGluIEJsb2IgJXM6ICVzIgogCi0jOiBjb25maWcuYzo2NzEKKyM6IGNvbmZpZy5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKIG1zZ3N0ciAiIgogIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBEYXRlaSAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NAorIzogY29uZmlnLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAiIgogIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBTdGFuZGFyZC1FaW5nYWJlOiAiCiAiJXMiCiAKLSM6IGNvbmZpZy5jOjY3NworIzogY29uZmlnLmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKIG1zZ3N0ciAiIgogIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBTdWJtb2R1bC1CbG9iICVzOiAiCiAiJXMiCiAKLSM6IGNvbmZpZy5jOjY4MAorIzogY29uZmlnLmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgIiIKICJVbmfDvGx0aWdlciBudW1lcmlzY2hlciBXZXJ0ICclcycgZsO8ciBLb25maWd1cmF0aW9uICclcycgaW4gQmVmZWhsc3plaWxlICVzOiAiCiAiJXMiCiAKLSM6IGNvbmZpZy5jOjY4MworIzogY29uZmlnLmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgbnVtZXJpc2NoZXIgV2VydCAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiAnJXMnIGluICVzOiAlcyIKIAotIzogY29uZmlnLmM6NzcwCisjOiBjb25maWcuYzo5ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4cGFuZCB1c2VyIGRpciBpbjogJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJ3ZWl0ZXJuIGRlcyBOdXR6ZXJ2ZXJ6ZWljaG5pc3NlcyBpbjogJyVzJyIKIAotIzogY29uZmlnLmM6ODY1IGNvbmZpZy5jOjg3NgorIzogY29uZmlnLmM6MTA4NCBjb25maWcuYzoxMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICJ1bmfDvGx0aWdlciB6bGliIEtvbXByaW1pZXJ1bmdzZ3JhZCAlZCIKIAotIzogY29uZmlnLmM6OTkzCisjOiBjb25maWcuYzoxMjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgTW9kdXMgZsO8ciBPYmpla3RlcnN0ZWxsdW5nOiAlcyIKIAotIzogY29uZmlnLmM6MTE0OQorIzogY29uZmlnLmM6MTM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAidW5nw7xsdGlnZXIgS29tcHJpbWllcnVuZ3NncmFkICglZCkgZsO8ciBQYWtldGllcnVuZyIKIAotIzogY29uZmlnLmM6MTMzOQorIzogY29uZmlnLmM6MTU2NAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICIiCiAiS29ubnRlIGRpZSDDvGJlciBkaWUgQmVmZWhsc3plaWxlIGFuZ2VnZWJlbmUgS29uZmlndXJhdGlvbiBuaWNodCBwYXJzZW4uIgogCi0jOiBjb25maWcuYzoxMzg5CisjOiBjb25maWcuYzoxODk0CiBtc2dpZCAidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgogbXNnc3RyICIiCiAiRXMgdHJhdCBlaW4gdW5iZWthbm50ZXIgRmVobGVyIGJlaW0gTGVzZW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWllbiBhdWYuIgogCi0jOiBjb25maWcuYzoxNzQzCisjOiBjb25maWcuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgJXM6ICclcyciCittc2dzdHIgIlVuZ8O8bHRpZ2VyICVzOiAnJXMnIgorCisjOiBjb25maWcuYzoyMDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKK21zZ3N0ciAiIgorIlVuYmVrYW5udGVyIFdlcnQgJyVzJyBpbiBjb3JlLnVudHJhY2tlZENhY2hlOyBiZW51dHplIFN0YW5kYXJkd2VydCAna2VlcCciCisKKyM6IGNvbmZpZy5jOjIxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIHZhbHVlICclZCcgc2hvdWxkIGJlIGJldHdlZW4gMCBhbmQgMTAwIgorbXNnc3RyICIiCisiRGVyIFdlcnQgJyVkJyB2b24gc3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIHNvbGx0ZSB6d2lzY2hlbiAwIHVuZCAxMDAgIgorImxpZWdlbi4iCisKKyM6IGNvbmZpZy5jOjIxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICIiCiAiS29ubnRlIFdlcnQgJyVzJyBhdXMgZGVyIMO8YmVyIGRpZSBCZWZlaGxzemVpbGUgYW5nZWdlYmVuZW4gS29uZmlndXJhdGlvblxuIgogIm5pY2h0IHBhcnNlbi4iCiAKLSM6IGNvbmZpZy5jOjE3NDUKKyM6IGNvbmZpZy5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyB2YXJpYWJsZSAnJXMnIGluIGZpbGUgJyVzJyBhdCBsaW5lICVkIgogbXNnc3RyICJ1bmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zdmFyaWFibGUgJyVzJyBpbiBEYXRlaSAnJXMnIGJlaSBaZWlsZSAlZCIKIAotIzogY29uZmlnLmM6MTgwNAorIzogY29uZmlnLmM6MjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIlcyBoYXQgbWVocmVyZSBXZXJ0ZSIKIAotIzogY29uZmlnLmM6MjIyNSBjb25maWcuYzoyNDUwCisjOiBjb25maWcuYzoyNTE3IGNvbmZpZy5jOjI3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZnN0YXQgb24gJXMgZmFpbGVkIgogbXNnc3RyICJmc3RhdCBhdWYgJXMgZmVobGdlc2NobGFnZW4iCiAKLSM6IGNvbmZpZy5jOjIzNDMKKyM6IGNvbmZpZy5jOjI2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1ICclcycgc2V0emVuLiIKIAotIzogY29uZmlnLmM6MjM0NQorIzogY29uZmlnLmM6MjYzNyBidWlsdGluL3JlbW90ZS5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYXVmaGViZW4uIgogCi0jOiBjb25uZWN0LmM6NDkKKyM6IGNvbm5lY3QuYzo1MAogbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCi1tc2dzdHIgIkRpZSBHZWdlbnNlaXRlIGhhdCBzaWNoIG5hY2ggZGVtIGVyc3RtYWxpZ2VuIEtvbnRha3QgYXVmZ2VoYW5nZW4uIgorbXNnc3RyICJEaWUgR2VnZW5zZWl0ZSBoYXQgbmFjaCBkZW0gZXJzdGVuIEtvbnRha3QgYWJnZWJyb2NoZW4uIgogCi0jOiBjb25uZWN0LmM6NTEKKyM6IGNvbm5lY3QuYzo1MgogbXNnaWQgIiIKICJDb3VsZCBub3QgcmVhZCBmcm9tIHJlbW90ZSByZXBvc2l0b3J5LlxuIgogIlxuIgpAQCAtMTQxMSw3ICsxNDgwLDcgQEAKICJiZXN0ZWhlblxuIgogInVuZCBkYXMgUmVwb3NpdG9yeSBleGlzdGllcnQuIgogCi0jOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxOTAgYnVpbHRpbi9wcnVuZS5jOjE0MAorIzogY29ubmVjdGVkLmM6NjMgYnVpbHRpbi9mc2NrLmM6MTkxIGJ1aWx0aW4vcHJ1bmUuYzoxNDEKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCiBtc2dzdHIgIlByw7xmZSBLb25uZWt0aXZpdMOkdCIKIApAQCAtMTQyNyw3ICsxNDk2LDcgQEAKIG1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcmV2LWxpc3QncyBzdGRpbiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2NobGllw59lbiB2b24gcmV2LWxpc3QncyBTdGFuZGFyZC1FaW5nYWJlIgogCi0jOiBjb252ZXJ0LmM6MjAxCisjOiBjb252ZXJ0LmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCkBAIC0xNDM3LDEyICsxNTA2LDEyIEBACiAiRGllIERhdGVpIHdpcmQgaWhyZSB1cnNwcsO8bmdsaWNoZW4gWmVpbGVuZW5kZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzICIKICJiZWhhbHRlbi4iCiAKLSM6IGNvbnZlcnQuYzoyMDUKKyM6IGNvbnZlcnQuYzoyMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ1JMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy4iCiBtc2dzdHIgIkNSTEYgd8O8cmRlIGluICVzIGR1cmNoIExGIGVyc2V0enQgd2VyZGVuLiIKIAotIzogY29udmVydC5jOjIxMQorIzogY29udmVydC5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzLlxuIgpAQCAtMTQ1Miw3OCArMTUyMSw3OCBAQAogIkRpZSBEYXRlaSB3aXJkIGlocmUgdXJzcHLDvG5nbGljaGVuIFplaWxlbmVuZGVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyAiCiAiYmVoYWx0ZW4uIgogCi0jOiBjb252ZXJ0LmM6MjE1CisjOiBjb252ZXJ0LmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCiBtc2dzdHIgIkxGIHfDvHJkZSBpbiAlcyBkdXJjaCBDUkxGIGVyc2V0enQgd2VyZGVuLiIKIAotIzogZGF0ZS5jOjk3CisjOiBkYXRlLmM6MTE2CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAiaW4gZGVyIFp1a3VuZnQiCiAKLSM6IGRhdGUuYzoxMDMKKyM6IGRhdGUuYzoxMjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHNlY29uZCBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBzZWNvbmRzIGFnbyIKLW1zZ3N0clswXSAidm9yICVsdSBTZWt1bmRlIgotbXNnc3RyWzFdICJ2b3IgJWx1IFNla3VuZGVuIgorbXNnaWQgIiU8UFJJdU1BWD4gc2Vjb25kIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBzZWNvbmRzIGFnbyIKK21zZ3N0clswXSAidm9yICU8UFJJdU1BWD4gU2VrdW5kZSIKK21zZ3N0clsxXSAidm9yICU8UFJJdU1BWD4gU2VrdW5kZW4iCiAKLSM6IGRhdGUuYzoxMTAKKyM6IGRhdGUuYzoxMjkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IG1pbnV0ZSBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBtaW51dGVzIGFnbyIKLW1zZ3N0clswXSAidm9yICVsdSBNaW51dGUiCi1tc2dzdHJbMV0gInZvciAlbHUgTWludXRlbiIKK21zZ2lkICIlPFBSSXVNQVg+IG1pbnV0ZSBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbWludXRlcyBhZ28iCittc2dzdHJbMF0gInZvciAlPFBSSXVNQVg+IE1pbnV0ZSIKK21zZ3N0clsxXSAidm9yICU8UFJJdU1BWD4gTWludXRlbiIKIAotIzogZGF0ZS5jOjExNworIzogZGF0ZS5jOjEzNgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgaG91ciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCi1tc2dzdHJbMF0gInZvciAlbHUgU3R1bmRlIgotbXNnc3RyWzFdICJ2b3IgJWx1IFN0dW5kZW4iCittc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCittc2dzdHJbMF0gInZvciAlPFBSSXVNQVg+IFN0dW5kZSIKK21zZ3N0clsxXSAidm9yICU8UFJJdU1BWD4gU3R1bmRlbiIKIAotIzogZGF0ZS5jOjEyNAorIzogZGF0ZS5jOjE0MwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgZGF5IGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgotbXNnc3RyWzBdICJ2b3IgJWx1IFRhZyIKLW1zZ3N0clsxXSAidm9yICVsdSBUYWdlbiIKK21zZ2lkICIlPFBSSXVNQVg+IGRheSBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gZGF5cyBhZ28iCittc2dzdHJbMF0gInZvciAlPFBSSXVNQVg+IFRhZyIKK21zZ3N0clsxXSAidm9yICU8UFJJdU1BWD4gVGFnZW4iCiAKLSM6IGRhdGUuYzoxMzAKKyM6IGRhdGUuYzoxNDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHdlZWsgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgotbXNnc3RyWzBdICJ2b3IgJWx1IFdvY2hlIgotbXNnc3RyWzFdICJ2b3IgJWx1IFdvY2hlbiIKK21zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKK21zZ3N0clswXSAidm9yICU8UFJJdU1BWD4gV29jaGUiCittc2dzdHJbMV0gInZvciAlPFBSSXVNQVg+IFdvY2hlbiIKIAotIzogZGF0ZS5jOjEzNworIzogZGF0ZS5jOjE1NgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbW9udGggYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgbW9udGhzIGFnbyIKLW1zZ3N0clswXSAidm9yICVsdSBNb25hdCIKLW1zZ3N0clsxXSAidm9yICVsdSBNb25hdGVuIgorbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCittc2dzdHJbMF0gInZvciAlPFBSSXVNQVg+IE1vbmF0IgorbXNnc3RyWzFdICJ2b3IgJTxQUkl1TUFYPiBNb25hdGVuIgogCi0jOiBkYXRlLmM6MTQ4CisjOiBkYXRlLmM6MTY3CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSB5ZWFyIgotbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCi1tc2dzdHJbMF0gInZvciAlbHUgSmFociIKLW1zZ3N0clsxXSAidm9yICVsdSBKYWhyZW4iCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgorbXNnc3RyWzBdICJ2b3IgJTxQUkl1TUFYPiBKYWhyIgorbXNnc3RyWzFdICJ2b3IgJTxQUkl1TUFYPiBKYWhyZW4iCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTUxCisjOiBkYXRlLmM6MTcwCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzLCAlbHUgbW9udGggYWdvIgotbXNnaWRfcGx1cmFsICIlcywgJWx1IG1vbnRocyBhZ28iCi1tc2dzdHJbMF0gIiVzLCB1bmQgJWx1IE1vbmF0IgotbXNnc3RyWzFdICIlcywgdW5kICVsdSBNb25hdGVuIgorbXNnaWQgIiVzLCAlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJXMsICU8UFJJdU1BWD4gbW9udGhzIGFnbyIKK21zZ3N0clswXSAiJXMsIHVuZCAlPFBSSXVNQVg+IE1vbmF0IgorbXNnc3RyWzFdICIlcywgdW5kICU8UFJJdU1BWD4gTW9uYXRlbiIKIAotIzogZGF0ZS5jOjE1NiBkYXRlLmM6MTYxCisjOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHllYXIgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMgYWdvIgotbXNnc3RyWzBdICJ2b3IgJWx1IEphaHIiCi1tc2dzdHJbMV0gInZvciAlbHUgSmFocmVuIgorbXNnaWQgIiU8UFJJdU1BWD4geWVhciBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMgYWdvIgorbXNnc3RyWzBdICJ2b3IgJTxQUkl1TUFYPiBKYWhyIgorbXNnc3RyWzFdICJ2b3IgJTxQUkl1TUFYPiBKYWhyZW4iCiAKICM6IGRpZmZjb3JlLW9yZGVyLmM6MjQKICMsIGMtZm9ybWF0CkBAIC0xNTM0LDI4ICsxNjAzLDI4IEBACiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIkbDvGhyZSBFcmtlbm51bmcgZsO8ciB1bmdlbmF1ZSBVbWJlbmVubnVuZyBhdXMiCiAKLSM6IGRpZmYuYzo2MgorIzogZGlmZi5jOjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgIk9wdGlvbiAnJXMnIGVyZm9yZGVydCBlaW5lbiBXZXJ0LiIKIAotIzogZGlmZi5jOjEyNAorIzogZGlmZi5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiIKICIgIEZlaGxlciBiZWltIFBhcnNlbiBkZXMgYWJnZXNjaG5pdHRlbmVuIFwiZGlyc3RhdFwiIFByb3plbnRzYXR6ZXMgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MTI5CisjOiBkaWZmLmM6MTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgVW5iZWthbm50ZXIgXCJkaXJzdGF0XCIgUGFyYW1ldGVyICclcydcbiIKIAotIzogZGlmZi5jOjI4MQorIzogZGlmZi5jOjI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgV2VydCBpbiBLb25maWd1cmF0aW9uc3ZhcmlhYmxlICdkaWZmLmRpcnN0YXQnOiAnJXMnIgogCi0jOiBkaWZmLmM6MzQ0CisjOiBkaWZmLmM6MzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgpAQCAtMTU2NCwyMSArMTYzMywyMSBAQAogIkZlaGxlciBpbiAnZGlmZi5kaXJzdGF0JyBLb25maWd1cmF0aW9uc3ZhcmlhYmxlIGdlZnVuZGVuOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzA4NQorIzogZGlmZi5jOjMxMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAiZXh0ZXJuZXMgRGlmZi1Qcm9ncmFtbSB1bmVyd2FydGV0IGJlZW5kZXQsIGFuZ2VoYWx0ZW4gYmVpICVzIgogCi0jOiBkaWZmLmM6MzQxMQorIzogZGlmZi5jOjM0MjcKIG1zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiIgogIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIHVuZCAtcyBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzIgogCi0jOiBkaWZmLmM6MzUwMQorIzogZGlmZi5jOjM1MTcKIG1zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKIG1zZ3N0ciAiLS1mb2xsb3cgZXJmb3JkZXJ0IGdlbmF1IGVpbmUgUGZhZHNwZXppZmlrYXRpb24iCiAKLSM6IGRpZmYuYzozNjY0CisjOiBkaWZmLmM6MzY4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtMTU4NywyMiArMTY1NiwyMiBAQAogIkZlaGxlciBiZWltIFBhcnNlbiBkZXMgLS1kaXJzdGF0Ly1YIE9wdGlvbnNwYXJhbWV0ZXJzOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzY3OAorIzogZGlmZi5jOjM2OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIFBhcnNlbiBkZXMgLS1zdWJtb2R1bGUgT3B0aW9uc3BhcmFtZXRlcnM6ICclcyciCiAKLSM6IGRpZmYuYzo0Njk2CisjOiBkaWZmLmM6NDcxNgogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCiAiVW5nZW5hdWUgRXJrZW5udW5nIGbDvHIgVW1iZW5lbm51bmdlbiB3dXJkZSBhdWZncnVuZCB6dSB2aWVsZXIgRGF0ZWllblxuIgogIsO8YmVyc3BydW5nZW4uIgogCi0jOiBkaWZmLmM6NDY5OQorIzogZGlmZi5jOjQ3MTkKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIm51ciBLb3BpZW4gdm9uIGdlw6RuZGVydGVuIFBmYWRlbiwgYXVmZ3J1bmQgenUgdmllbGVyIERhdGVpZW4sIGdlZnVuZGVuIgogCi0jOiBkaWZmLmM6NDcwMgorIzogZGlmZi5jOjQ3MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgpAQCAtMTYxMCwyMzUgKzE2NzksMjYwIEBACiAiU2llIGvDtm5udGVuIGRpZSBWYXJpYWJsZSAlcyBhdWYgbWluZGVzdGVucyAlZCBzZXR6ZW4gdW5kIGRlbiBCZWZlaGxcbiIKICJlcm5ldXQgdmVyc3VjaGVuLiIKIAotIzogZGlyLmM6MTg2MgorIzogZGlyLmM6MTk0OAogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICJGZWhsZXIgYmVpbSBTYW1tZWxuIHZvbiBOYW1lbiB1bmQgSW5mb3JtYXRpb25lbiB6dW0gS2VybmVsIgogCi0jOiBkaXIuYzoxOTgxCisjOiBkaXIuYzoyMDY3CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAiIgogIkNhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBpc3QgYXVmIGRpZXNlbSBTeXN0ZW0gb2RlclxuIgogImbDvHIgZGllc2VzIFZlcnplaWNobmlzIGRlYWt0aXZpZXJ0LiIKIAotIzogZGlyLmM6Mjc1OQorIzogZGlyLmM6Mjg0NiBkaXIuYzoyODUxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3JpZXMgZm9yICVzIgorbXNnc3RyICJLb25udGUgVmVyemVpY2huaXNzZSBmw7xyICclcycgbmljaHQgZXJzdGVsbGVuLiIKKworIzogZGlyLmM6Mjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJLb25udGUgR2l0LVZlcnplaWNobmlzIG5pY2h0IHZvbiAnJXMnIG5hY2ggJyVzJyBtaWdyaWVyZW4uIgogCi0jOiBmZXRjaC1wYWNrLmM6MjEzCisjOiBlbnRyeS5jOjI4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCittc2dzdHIgImtvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IGxlc2VuIgorCisjOiBmZXRjaC1wYWNrLmM6MjUxCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGVyd2FydGV0ZSBzaGFsbG93LUxpc3RlIgogCi0jOiBmZXRjaC1wYWNrLmM6MjI1CisjOiBmZXRjaC1wYWNrLmM6MjYzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBBQ0svTkFLIGVyd2FydGV0LCBFT0YgYmVrb21tZW4iCiAKLSM6IGZldGNoLXBhY2suYzoyNDMKKyM6IGZldGNoLXBhY2suYzoyODIgYnVpbHRpbi9hcmNoaXZlLmM6NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAiRmVobGVyIGFtIGFuZGVyZW4gRW5kZTogJXMiCisKKyM6IGZldGNoLXBhY2suYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogQUNLL05BSyBlcndhcnRldCwgJyVzJyBiZWtvbW1lbiIKIAotIzogZmV0Y2gtcGFjay5jOjI5NQorIzogZmV0Y2gtcGFjay5jOjMzNQogbXNnaWQgIi0tc3RhdGVsZXNzLXJwYyByZXF1aXJlcyBtdWx0aV9hY2tfZGV0YWlsZWQiCiBtc2dzdHIgIi0tc3RhdGVsZXNzLXJwYyBiZW7DtnRpZ3QgbXVsdGlfYWNrX2RldGFpbGVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MzgxCisjOiBmZXRjaC1wYWNrLmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBzaGFsbG93LVplaWxlOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM4NworIzogZmV0Y2gtcGFjay5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSB1bnNoYWxsb3ctWmVpbGU6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzg5CisjOiBmZXRjaC1wYWNrLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICJPYmpla3QgbmljaHQgZ2VmdW5kZW46ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzkyCisjOiBmZXRjaC1wYWNrLmM6NDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCiBtc2dzdHIgIkZlaGxlciBpbiBPYmpla3Q6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk0CisjOiBmZXRjaC1wYWNrLmM6NDM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHNoYWxsb3cgZm91bmQ6ICVzIgogbXNnc3RyICJLZWluIHNoYWxsb3ctT2JqZWt0IGdlZnVuZGVuOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5NworIzogZmV0Y2gtcGFjay5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgogbXNnc3RyICJzaGFsbG93L3Vuc2hhbGxvdyBlcndhcnRldCwgJXMgYmVrb21tZW4iCiAKLSM6IGZldGNoLXBhY2suYzo0MzYKKyM6IGZldGNoLXBhY2suYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICVkICVzIgogbXNnc3RyICIlcyAlZCAlcyBiZWtvbW1lbiIKIAotIzogZmV0Y2gtcGFjay5jOjQ1MAorIzogZmV0Y2gtcGFjay5jOjQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgQ29tbWl0ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDgzCisjOiBmZXRjaC1wYWNrLmM6NTIzCiBtc2dpZCAiZ2l2aW5nIHVwIgogbXNnc3RyICJHZWJlIGF1ZiIKIAotIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorIzogZmV0Y2gtcGFjay5jOjUzMyBwcm9ncmVzcy5jOjIzNwogbXNnaWQgImRvbmUiCiBtc2dzdHIgIkZlcnRpZyIKIAotIzogZmV0Y2gtcGFjay5jOjUwNQorIzogZmV0Y2gtcGFjay5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgKCVkKSAlcyIKIG1zZ3N0ciAiJXMgKCVkKSAlcyBiZWtvbW1lbiIKIAotIzogZmV0Y2gtcGFjay5jOjU1MQorIzogZmV0Y2gtcGFjay5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgogbXNnc3RyICJNYXJraWVyZSAlcyBhbHMgdm9sbHN0w6RuZGlnIgogCi0jOiBmZXRjaC1wYWNrLmM6Njk3CisjOiBmZXRjaC1wYWNrLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFscmVhZHkgaGF2ZSAlcyAoJXMpIgogbXNnc3RyICJoYWJlICVzICglcykgYmVyZWl0cyIKIAotIzogZmV0Y2gtcGFjay5jOjczNQorIzogZmV0Y2gtcGFjay5jOjgxMwogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJmZXRjaC1wYWNrOiBGZWhsZXIgYmVpbSBTdGFydGVuIGRlcyBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogCi0jOiBmZXRjaC1wYWNrLmM6NzQzCisjOiBmZXRjaC1wYWNrLmM6ODIxCiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKIG1zZ3N0ciAiUHJvdG9rb2xsZmVobGVyOiB1bmfDvGx0aWdlciBQYWNrLUhlYWRlciIKIAotIzogZmV0Y2gtcGFjay5jOjc5OQorIzogZmV0Y2gtcGFjay5jOjg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiCiBtc2dzdHIgImZldGNoLXBhY2s6IGtvbm50ZSAlcyBuaWNodCBzdGFydGVuIgogCi0jOiBmZXRjaC1wYWNrLmM6ODE1CisjOiBmZXRjaC1wYWNrLmM6ODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGZhaWxlZCIKIG1zZ3N0ciAiJXMgZmVobGdlc2NobGFnZW4iCiAKLSM6IGZldGNoLXBhY2suYzo4MTcKKyM6IGZldGNoLXBhY2suYzo4OTUKIG1zZ2lkICJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJGZWhsZXIgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIAotIzogZmV0Y2gtcGFjay5jOjg0NAorIzogZmV0Y2gtcGFjay5jOjkyMgogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKIG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBrZWluZSBzaGFsbG93LUNsaWVudHMiCiAKLSM6IGZldGNoLXBhY2suYzo4NDgKKyM6IGZldGNoLXBhY2suYzo5MjYKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjg1MQorIzogZmV0Y2gtcGFjay5jOjkyOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgogbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IG5vLWRvbmUiCiAKLSM6IGZldGNoLXBhY2suYzo4NTcKKyM6IGZldGNoLXBhY2suYzo5MzUKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgogbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IG11bHRpX2FjayIKIAotIzogZmV0Y2gtcGFjay5jOjg2MQorIzogZmV0Y2gtcGFjay5jOjkzOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgogbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IHNpZGUtYmFuZC02NGsiCiAKLSM6IGZldGNoLXBhY2suYzo4NjUKKyM6IGZldGNoLXBhY2suYzo5NDMKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgogbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IHNpZGUtYmFuZCIKIAotIzogZmV0Y2gtcGFjay5jOjg2OQorIzogZmV0Y2gtcGFjay5jOjk0NwogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgogbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IGFsbG93LXRpcC1zaGExLWluLXdhbnQiCiAKLSM6IGZldGNoLXBhY2suYzo4NzMKKyM6IGZldGNoLXBhY2suYzo5NTEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6ODgzCisjOiBmZXRjaC1wYWNrLmM6OTYxCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKIG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBvZnMtZGVsdGEiCiAKLSM6IGZldGNoLXBhY2suYzo4OTAKKyM6IGZldGNoLXBhY2suYzo5NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKIG1zZ3N0ciAiU2VydmVyLVZlcnNpb24gaXN0ICUuKnMiCiAKLSM6IGZldGNoLXBhY2suYzo4OTYKKyM6IGZldGNoLXBhY2suYzo5NzQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCiBtc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQga2VpbiAtLXNoYWxsb3ctc2luY2UiCiAKLSM6IGZldGNoLXBhY2suYzo5MDAKKyM6IGZldGNoLXBhY2suYzo5NzgKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKIG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBrZWluIC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAyCisjOiBmZXRjaC1wYWNrLmM6OTgwCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQga2VpbiAtLWRlZXBlbiIKIAotIzogZmV0Y2gtcGFjay5jOjkxMworIzogZmV0Y2gtcGFjay5jOjk5MQogbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgogbXNnc3RyICJrZWluZSBnZW1laW5zYW1lbiBDb21taXRzIgogCi0jOiBmZXRjaC1wYWNrLmM6OTI1CisjOiBmZXRjaC1wYWNrLmM6MTAwMwogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogQWJob2xlbiBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGZldGNoLXBhY2suYzoxMDg3CisjOiBmZXRjaC1wYWNrLmM6MTE2NQogbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgogbXNnc3RyICJrZWluIMO8YmVyZWluc3RpbW1lbmRlciBSZW1vdGUtQnJhbmNoIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg1CisjOiBmZXRjaC1wYWNrLmM6MTE4NworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlbW90ZSByZWYgJXMiCittc2dzdHIgImtlaW5lIHNvbGNoZSBSZW1vdGUtUmVmZXJlbnogJXMiCisKKyM6IGZldGNoLXBhY2suYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBhbGxvdyByZXF1ZXN0IGZvciB1bmFkdmVydGlzZWQgb2JqZWN0ICVzIgorbXNnc3RyICJEZXIgU2VydmVyIGxlaG50IEFuZnJhZ2UgbmFjaCBuaWNodCBhbmdlYm90ZW5lbSBPYmpla3QgJXMgYWIuIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTgxCiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICJncGcgYmVpbSBTaWduaWVyZW4gZGVyIERhdGVuIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjE1CisjOiBncGctaW50ZXJmYWNlLmM6MjExCiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAia29ubnRlIHRlbXBvcsOkcmUgRGF0ZWkgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjE3CisjOiBncGctaW50ZXJmYWNlLmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVyIGxvc2dlbMO2c3RlbiBTaWduYXR1ciBuYWNoICclcyciCiAKLSM6IGdyYXBoLmM6OTYKKyM6IGdyYXBoLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JlIGludmFsaWQgY29sb3IgJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKIG1zZ3N0ciAiSWdub3JpZXJlIHVuZ8O8bHRpZ2UgRmFyYmUgJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKIAotIzogZ3JlcC5jOjE3OTQKKyM6IGdyZXAuYzoxOTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMnOiBrb25udGUgJXMgbmljaHQgbGVzZW4iCiAKLSM6IGdyZXAuYzoxODExIGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODEgYnVpbHRpbi9ybS5jOjEzMworIzogZ3JlcC5jOjE5OTggYnVpbHRpbi9jbG9uZS5jOjQwMyBidWlsdGluL2RpZmYuYzo4MSBidWlsdGluL3JtLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBncmVwLmM6MTgyMgorIzogZ3JlcC5jOjIwMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKIG1zZ3N0ciAiJyVzJzogcmVhZCgpIHp1IGt1cnoiCiAKLSM6IGhlbHAuYzoyMTgKKyM6IGhlbHAuYzoxNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICJWb3JoYW5kZW5lIEdpdC1CZWZlaGxlIGluICclcyciCiAKLSM6IGhlbHAuYzoyMjUKKyM6IGhlbHAuYzoxODYKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgIlZvcmhhbmRlbmUgR2l0LUJlZmVobGUgYW5kZXJzd28gaW4gSWhyZW0gJFBBVEgiCiAKLSM6IGhlbHAuYzoyNTYKKyM6IGhlbHAuYzoyMTcKIG1zZ2lkICJUaGVzZSBhcmUgY29tbW9uIEdpdCBjb21tYW5kcyB1c2VkIGluIHZhcmlvdXMgc2l0dWF0aW9uczoiCiBtc2dzdHIgIkFsbGdlbWVpbmUgR2l0LUJlZmVobGUsIHZlcndlbmRldCBpbiB2ZXJzY2hpZWRlbmVuIFNpdHVhdGlvbmVuOiIKIAotIzogaGVscC5jOjMyMQorIzogaGVscC5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgpAQCAtMTg0NywzMCArMTk0MSw1MCBAQAogIiclcycgc2NoZWludCBlaW4gZ2l0LUJlZmVobCB6dSBzZWluLCBrb25udGUgYWJlclxuIgogIm5pY2h0IGF1c2dlZsO8aHJ0IHdlcmRlbi4gVmllbGxlaWNodCBpc3QgZ2l0LSVzIGZlaGxlcmhhZnQ/IgogCi0jOiBoZWxwLmM6Mzc2CisjOiBoZWxwLmM6MzM2CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIlVoIG9oLiBLZWluZSBHaXQtQmVmZWhsZSBhdWYgSWhyZW0gU3lzdGVtIHZvcmhhbmRlbi4iCiAKLSM6IGhlbHAuYzozOTgKKyM6IGhlbHAuYzozNTgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKLSJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciCi1tc2dzdHIgIiIKLSJXYXJudW5nOiBTaWUgaGFiZW4gZGVuIG5pY2h0IGV4aXN0aWVyZW5kZW4gR2l0LUJlZmVobCAnJXMnIGF1c2dlZsO8aHJ0LlxuIgotIlNldHplIGZvcnQgdW50ZXIgZGVyIEFubmFobWUsIGRhc3MgU2llICclcycgZ2VtZWludCBoYWJlbi4iCittc2dpZCAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiV0FSTlVORzogU2llIGhhYmVuIEdpdC1CZWZlaGwgJyVzJyBhdXNnZWbDvGhydCwgd2VsY2hlciBuaWNodCBleGlzdGllcnQuIgogCi0jOiBoZWxwLmM6NDAzCisjOiBoZWxwLmM6MzYzCiAjLCBjLWZvcm1hdAotbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKLW1zZ3N0ciAiQXV0b21hdGlzY2hlIEF1c2bDvGhydW5nIGluICUwLjFmIFNla3VuZGVuIC4uLiIKK21zZ2lkICJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcycuIgorbXNnc3RyICJTZXR6ZSBmb3J0IHVudGVyIGRlciBBbm5haG1lLCBkYXNzIFNpZSAnJXMnIG1laW50ZW4uIgogCi0jOiBoZWxwLmM6NDEwCisjOiBoZWxwLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIlNldHplIGluICUwLjFmIFNla3VuZGVuIGZvcnQgdW50ZXIgZGVyIEFubmFobWUsIGRhc3MgU2llICclcycgbWVpbnRlbi4iCisKKyM6IGhlbHAuYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0OiAnJXMnIGlzdCBrZWluIEdpdC1CZWZlaGwuIFNpZWhlICdnaXQgLS1oZWxwJy4iCiAKLSM6IGhlbHAuYzo0MTQgaGVscC5jOjQ4MAorIzogaGVscC5jOjM4MAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmRzIGFyZSIKK21zZ3N0clswXSAiXG5EZXIgw6RobmxpY2hzdGUgQmVmZWhsIGlzdCIKK21zZ3N0clsxXSAiXG5EaWUgw6RobmxpY2hzdGVuIEJlZmVobGUgc2luZCIKKworIzogaGVscC5jOjM5NQorbXNnaWQgImdpdCB2ZXJzaW9uIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgdmVyc2lvbiBbPE9wdGlvbmVuPl0iCisKKyM6IGhlbHAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIC0gJXMiCittc2dzdHIgIiVzOiAlcyAtICVzIgorCisjOiBoZWxwLmM6NDYwCiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTE4ODQsMTIgKzE5OTgsNyBAQAogIlxuIgogIkhhYmVuIFNpZSBlaW5lcyB2b24gZGllc2VuIGdlbWVpbnQ/IgogCi0jOiBoZWxwLmM6NDc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlcyAtICVzIgotbXNnc3RyICIlczogJXMgLSAlcyIKLQotIzogaWRlbnQuYzozMzQKKyM6IGlkZW50LmM6MzQyCiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTE5MTUsNiArMjAyNCwzOSBAQAogIkxhc3NlbiBTaWUgZGllIE9wdGlvbiBcIi0tZ2xvYmFsXCIgd2VnLCB1bSBkaWUgSWRlbnRpdMOkdCBudXJcbiIKICJmw7xyIGRpZXNlcyBSZXBvc2l0b3J5IHp1IHNldHplbi5cbiIKIAorIzogaWRlbnQuYzozNjYKK21zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICJrZWluZSBFLU1haWwgYW5nZWdlYmVuIHVuZCBhdXRvbWF0aXNjaGUgRXJrZW5udW5nIGlzdCBkZWFrdGl2aWVydCIKKworIzogaWRlbnQuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKK21zZ3N0ciAiS29ubnRlIGRpZSBFLU1haWwtQWRyZXNzZSBuaWNodCBhdXRvbWF0aXNjaCBlcmtlbm5lbiAoJyVzJyBlcmhhbHRlbikiCisKKyM6IGlkZW50LmM6MzgxCittc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICJrZWluIE5hbWUgYW5nZWdlYmVuIHVuZCBhdXRvbWF0aXNjaGUgRXJrZW5udW5nIGlzdCBkZWFrdGl2aWVydCIKKworIzogaWRlbnQuYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IG5hbWUgKGdvdCAnJXMnKSIKK21zZ3N0ciAia29ubnRlIE5hbWVuIG5pY2h0IGF1dG9tYXRpc2NoIGVya2VubmVuICgnJXMnIGVyaGFsdGVuKSIKKworIzogaWRlbnQuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgorbXNnc3RyICJMZWVyZXIgTmFtZSBpbiBJZGVudGlmaWthdGlvbiAoZsO8ciA8JXM+KSBuaWNodCBlcmxhdWJ0LiIKKworIzogaWRlbnQuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCittc2dzdHIgIk5hbWUgYmVzdGVodCBudXIgYXVzIG5pY2h0IGVybGF1YnRlbiBaZWljaGVuOiAlcyIKKworIzogaWRlbnQuYzo0MTYgYnVpbHRpbi9jb21taXQuYzo2MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCittc2dzdHIgIlVuZ8O8bHRpZ2VzIERhdHVtc2Zvcm1hdDogJXMiCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTE5NDQsNzggKzIwODYsNzggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIkxlc2VuIGRlcyBad2lzY2hlbnNwZWljaGVycyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjE5ODAgYnVpbHRpbi9hbS5jOjIwMTUgYnVpbHRpbi9jaGVja291dC5jOjM3NworIzogYnVpbHRpbi9jaGVja291dC5jOjU5MSBidWlsdGluL2Nsb25lLmM6NzUzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgbmV1ZSBJbmRleC1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMAogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIodW5nw7xsdGlnZXIgQ29tbWl0KVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzEgbWVyZ2UtcmVjdXJzaXZlLmM6MjM5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzIgbWVyZ2UtcmVjdXJzaXZlLmM6MjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZm9fY2FjaGUgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgImFkZGluZm9fY2FjaGUgZsO8ciBQZmFkICclcycgZmVobGdlc2NobGFnZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA0CiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEVyc3RlbGxlbiBkZXIgXCJUcmVlXCItT2JqZWt0ZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIGRlcyBQZmFkZXMgJyVzJyVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjczOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyB0byBtYWtlIHJvb20gZm9yIHN1YmRpcmVjdG9yeVxuIgogbXNnc3RyICJFbnRmZXJuZSAlcywgdW0gUGxhdHogZsO8ciBVbnRlcnZlcnplaWNobmlzIHp1IHNjaGFmZmVuXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MiBtZXJnZS1yZWN1cnNpdmUuYzo3NzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MyBtZXJnZS1yZWN1cnNpdmUuYzo3NzIKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IHZpZWxsZWljaHQgZWluIFZlcnplaWNobmlzL0RhdGVpLUtvbmZsaWt0PyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzYxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICJ2ZXJ3ZWlnZXJlLCBkYSB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGluICclcycgdmVybG9yZW4gZ2VoZW4gd8O8cmRlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODAzIGJ1aWx0aW4vY2F0LWZpbGUuYzozNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA0IGJ1aWx0aW4vY2F0LWZpbGUuYzozNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAia2FubiBPYmpla3QgJXMgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiQmxvYiBlcndhcnRldCBmw7xyICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSDDlmZmbmVuIHZvbiAnJXMnOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEVyc3RlbGxlbiBlaW5lciBzeW1ib2xpc2NoZW4gVmVya27DvHBmdW5nIGbDvHIgJyVzJzogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIndlacOfIG5pY2h0IHdhcyBtaXQgJTA2byAlcyAnJXMnIHp1IG1hY2hlbiBpc3QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg2CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIkZlaGxlciBiZWkgQXVzZsO8aHJ1bmcgZGVzIGludGVybmVuIE1lcmdlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IHp1ciBEYXRlbmJhbmsgaGluenVmw7xnZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODggbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMjAyNCw3ICsyMTY2LDE2IEBACiAiS09ORkxJS1QgKCVzL2zDtnNjaGVuKTogJXMgZ2Vsw7ZzY2h0IGluICVzIHVuZCAlcyBpbiAlcy4gU3RhbmQgJXMgdm9uICVzIHd1cmRlICIKICJpbSBBcmJlaXRzYmVyZWljaCBnZWxhc3Nlbi4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTQgbWVyZ2UtcmVjdXJzaXZlLmM6MTEwNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKKyJsZWZ0IGluIHRyZWUuIgorbXNnc3RyICIiCisiS09ORkxJS1QgKCVzL2zDtnNjaGVuKTogJXMgZ2Vsw7ZzY2h0IGluICVzIHVuZCAlcyBuYWNoICVzIGluICVzLiBTdGFuZCAlcyB2b24gIgorIiVzIHd1cmRlIGltIEFyYmVpdHNiZXJlaWNoIGdlbGFzc2VuLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMjAzMywyMCArMjE4NCwyOSBAQAogIktPTkZMSUtUICglcy9sw7ZzY2hlbik6ICVzIGdlbMO2c2NodCBpbiAlcyB1bmQgJXMgaW4gJXMuIFN0YW5kICVzIHZvbiAlcyB3dXJkZSAiCiAiaW0gQXJiZWl0c2JlcmVpY2ggYmVpICVzIGdlbGFzc2VuLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKKyJsZWZ0IGluIHRyZWUgYXQgJXMuIgorbXNnc3RyICIiCisiS09ORkxJS1QgKCVzL2zDtnNjaGVuKTogJXMgZ2Vsw7ZzY2h0IGluICVzIHVuZCAlcyBuYWNoICVzIGluICVzLiBTdGFuZCAlcyB2b24gIgorIiVzIHd1cmRlIGltIEFyYmVpdHNiZXJlaWNoIGJlaSAlcyBnZWxhc3Nlbi4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDQKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgInVtYmVuZW5uZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDQKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICJ1bWJlbmFubnQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiVzIGlzdCBlaW4gVmVyemVpY2huaXMgaW4gJXMsIGbDvGdlIGVzIHN0YXR0ZGVzc2VuIGFscyAlcyBoaW56dSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTIwNTUsMTM5ICsyMjE1LDEzOSBAQAogIktPTkZMSUtUICh1bWJlbmVubmVuL3VtYmVuZW5uZW4pOiBCZW5lbm5lIHVtIFwiJXNcIi0+XCIlc1wiIGluIEJyYW5jaCBcIiVzXCIgIgogInVuZCBcIiVzXCItPlwiJXNcIiBpbiBCcmFuY2ggXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzEKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiAoYmxlaWJ0IHVuYXVmZ2Vsw7ZzdCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgogbXNnc3RyICIiCiAiS09ORkxJS1QgKHVtYmVuZW5uZW4vdW1iZW5lbm5lbik6IEJlbmVubmUgdW0gJXMtPiVzIGluICVzLiBCZW5lbm5lIHVtICVzLT4lcyAiCiAiaW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgIkJlbmVubmUgc3RhdHRkZXNzZW4gJXMgbmFjaCAlcyB1bmQgJXMgbmFjaCAlcyB1bSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgogbXNnc3RyICIiCiAiS09ORkxJS1QgKHVtYmVuZW5uZW4vaGluenVmw7xnZW4pOiBCZW5lbm5lIHVtICVzLT4lcyBpbiAlcy4gJXMgaGluenVnZWbDvGd0IGluICIKICIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICJGw7xnZSB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaSAlcyBoaW56dSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1NyBtZXJnZS1yZWN1cnNpdmUuYzoxNzcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUxIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIkbDvGdlIHN0YXR0ZGVzc2VuIGFscyAlcyBoaW56dSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgImthbm4gT2JqZWt0ICVzIG5pY2h0IGxlc2VuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICJPYmpla3QgJXMgaXN0IGtlaW4gQmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAiw6RuZGVybiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICJnZcOkbmRlcnQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTAKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJJbmhhbHQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTcKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICJoaW56dWbDvGdlbi9oaW56dWbDvGdlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcyMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgIiVzIGF1c2dlbGFzc2VuIChFcmdlYm5pcyBkZXMgTWVyZ2VzIGV4aXN0aWVydCBiZXJlaXRzKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgImF1dG9tYXRpc2NoZXIgTWVyZ2Ugdm9uICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQxIGdpdC1zdWJtb2R1bGUuc2g6OTMwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUxIGdpdC1zdWJtb2R1bGUuc2g6OTQ1CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJTdWJtb2R1bCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAiS09ORkxJS1QgKCVzKTogTWVyZ2UtS29uZmxpa3QgaW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIkVudGZlcm5lICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODYyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODcyCiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgIkRhdGVpL1ZlcnplaWNobmlzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc4CiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgIlZlcnplaWNobmlzL0RhdGVpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiS09ORkxJS1QgKCVzKTogRXMgZXhpc3RpZXJ0IGJlcmVpdHMgZWluIFZlcnplaWNobmlzICVzIGluICVzLiBGw7xnZSAlcyBhbHMgJXMgIgogImhpbnp1LiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg4MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgJXMiCiBtc2dzdHIgIkbDvGdlICVzIGhpbnp1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTMwCiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlISIKIG1zZ3N0ciAiQmVyZWl0cyBha3R1ZWxsISIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCiBtc2dzdHIgIlp1c2FtbWVuZsO8aHJlbiBkZXIgXCJUcmVlXCItT2JqZWt0ZSAlcyB1bmQgJXMgZmVobGdlc2NobGFnZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjIKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAiTWVyZ2U6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDI1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICIldSBnZW1laW5zYW1lbiBWb3Jnw6RuZ2VyLUNvbW1pdCBnZWZ1bmRlbiIKIG1zZ3N0clsxXSAiJXUgZ2VtZWluc2FtZSBWb3Jnw6RuZ2VyLUNvbW1pdHMgZ2VmdW5kZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNzQKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCiBtc2dzdHIgIk1lcmdlIGhhdCBrZWluZW4gQ29tbWl0IHp1csO8Y2tnZWdlYmVuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIE9iamVrdCAnJXMnIG5pY2h0IHBhcnNlbi4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNDEgYnVpbHRpbi9tZXJnZS5jOjY0NSBidWlsdGluL21lcmdlLmM6NzkyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTUxIGJ1aWx0aW4vbWVyZ2UuYzo2NDYgYnVpbHRpbi9tZXJnZS5jOjc5MwogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIktvbm50ZSBJbmRleCBuaWNodCBzY2hyZWliZW4uIgogCkBAIC0yMjExLDI1ICsyMzcxLDI3IEBACiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKIG1zZ3N0ciAiU2llIGhhYmVuIElocmVuIE1lcmdlIHZvbiBOb3RpemVuIG5pY2h0IGFiZ2VzY2hsb3NzZW4gKCVzIGV4aXN0aWVydCkuIgogCi0jOiBub3Rlcy11dGlscy5jOjQxCisjOiBub3Rlcy11dGlscy5jOjQyCiBtc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgogbXNnc3RyICIiCiAiS2FubiB1bmluaXRpYWxpc2llcnRlcy91bnJlZmVyZW56aWVydGUgTm90aXotVmVyemVpY2huaXMgbmljaHQgY29tbWl0dGVuLiIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDAKKyM6IG5vdGVzLXV0aWxzLmM6MTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgbm90ZXMucmV3cml0ZU1vZGUgV2VydDogJyVzJyIKIAotIzogbm90ZXMtdXRpbHMuYzoxMTAKKyM6IG5vdGVzLXV0aWxzLmM6MTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICIiCiAiVW1zY2hyZWliZW4gZGVyIE5vdGl6ZW4gaW4gJXMgenVyw7xja2dld2llc2VuIChhdcOfZXJoYWxiIHZvbiByZWZzL25vdGVzLykiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YgdGhlCi0jLiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcyBpdHMgdmFsdWUKLSM6IG5vdGVzLXV0aWxzLmM6MTM3CisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mCisjLiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMKKyMuIGl0cyB2YWx1ZS4KKyMuCisjOiBub3Rlcy11dGlscy5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyICVzIFdlcnQ6ICclcyciCkBAIC0yMjM5LDI4ICsyNDAxLDI5IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgIktvbm50ZSBPYmpla3QgJyVzJyBuaWNodCBwYXJzZW4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTcyCisjOiBwYXJzZS1vcHRpb25zLmM6NTczCiBtc2dpZCAiLi4uIgogbXNnc3RyICIuLi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1OTAKKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICJWZXJ3ZW5kdW5nOiAlcyIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQotIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uCi0jOiBwYXJzZS1vcHRpb25zLmM6NTk0CisjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCisjLgorIzogcGFyc2Utb3B0aW9ucy5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiAgICAgIG9kZXI6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTk3CisjOiBwYXJzZS1vcHRpb25zLmM6NjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjMxCisjOiBwYXJzZS1vcHRpb25zLmM6NjM0CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLU5VTSIKIApAQCAtMjI2OSwxOCArMjQzMiwzNSBAQAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgogbXNnc3RyICJmZWhsZXJoYWZ0ZXIgT2JqZWt0LU5hbWUgJyVzJyIKIAotIzogcGF0aC5jOjgyNgorIzogcGF0aC5jOjg5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiS29ubnRlIEdydXBwZW5zY2hyZWlicmVjaHQgZsO8ciAlcyBuaWNodCBzZXR6ZW4uIgogCi0jOiBwYXRoc3BlYy5jOjE0MgorIzogcGF0aHNwZWMuYzoxMjkKK21zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKK21zZ3N0ciAiRXNjYXBlLVplaWNoZW4gJ1xcJyBhbHMgbGV0enRlcyBaZWljaGVuIGluIEF0dHJpYnV0d2VydCBuaWNodCBlcmxhdWJ0IgorCisjOiBwYXRoc3BlYy5jOjE0NworbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKK21zZ3N0ciAiRXMgaXN0IG51ciBlaW5lIEFuZ2FiZSB2b24gJ2F0dHI6JyBlcmxhdWJ0LiIKKworIzogcGF0aHNwZWMuYzoxNTAKK21zZ2lkICJhdHRyIHNwZWMgbXVzdCBub3QgYmUgZW1wdHkiCittc2dzdHIgIkFuZ2FiZSB2b24gJ2F0dHI6JyBkYXJmIG5pY2h0IGxlZXIgc2VpbiIKKworIzogcGF0aHNwZWMuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhdHRyaWJ1dGUgbmFtZSAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgQXR0cmlidXRuYW1lICVzIgorCisjOiBwYXRoc3BlYy5jOjI1OAogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKICJHbG9iYWxlIEVpbnN0ZWxsdW5nZW4genVyIFBmYWRzcGV6aWZpa2F0aW9uICdnbG9iJyB1bmQgJ25vZ2xvYicgc2luZCAiCiAiaW5rb21wYXRpYmVsLiIKIAotIzogcGF0aHNwZWMuYzoxNDkKKyM6IHBhdGhzcGVjLmM6MjY1CiBtc2dpZCAiIgogImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKICJwYXRoc3BlYyBzZXR0aW5ncyIKQEAgLTIyODgsNTIgKzI0NjgsNDcgQEAKICJHbG9iYWxlIEVpbnN0ZWxsdW5nIHp1ciBQZmFkc3BlemlmaWthdGlvbiAnbGl0ZXJhbCcgaXN0IGlua29tcGF0aWJlbFxuIgogIm1pdCBhbGxlbiBhbmRlcmVuIE9wdGlvbmVuLiIKIAotIzogcGF0aHNwZWMuYzoxODgKKyM6IHBhdGhzcGVjLmM6MzA1CiBtc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgogbXNnc3RyICJ1bmfDvGx0aWdlciBQYXJhbWV0ZXIgZsO8ciBQZmFkc3BlemlmaWthdGlvbnNhbmdhYmUgJ3ByZWZpeCciCiAKLSM6IHBhdGhzcGVjLmM6MjAxCisjOiBwYXRoc3BlYy5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgogbXNnc3RyICJ1bmfDvGx0aWdlIFBmYWRzcGV6aWZpa2F0aW9uc2FuZ2FiZSAnJS4qcycgaW4gJyVzJyIKIAotIzogcGF0aHNwZWMuYzoyMDYKKyM6IHBhdGhzcGVjLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKIG1zZ3N0ciAiRmVobGVuZGVzICcpJyBhbSBFbmRlIGRlciBQZmFkc3BlemlmaWthdGlvbnNhbmdhYmUgaW4gJyVzJyIKIAotIzogcGF0aHNwZWMuYzoyMzgKKyM6IHBhdGhzcGVjLmM6MzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgogbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlIFBmYWRzcGV6aWZpa2F0aW9uc2FuZ2FiZSAnJWMnIGluICclcyciCiAKLSM6IHBhdGhzcGVjLmM6MjkzIHBhdGhzcGVjLmM6MzE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKLW1zZ3N0ciAiUGZhZHNwZXppZmlrYXRpb24gJyVzJyBiZWZpbmRldCBzaWNoIGluIFN1Ym1vZHVsICclLipzJyIKLQotIzogcGF0aHNwZWMuYzozNTAKKyM6IHBhdGhzcGVjLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIlczogJ2xpdGVyYWwnIHVuZCAnZ2xvYicgc2luZCBpbmtvbXBhdGliZWwiCiAKLSM6IHBhdGhzcGVjLmM6MzYzCisjOiBwYXRoc3BlYy5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiVzOiAnJXMnIGxpZWd0IGF1w59lcmhhbGIgZGVzIFJlcG9zaXRvcmllcyIKIAotIzogcGF0aHNwZWMuYzo0NTEKKyM6IHBhdGhzcGVjLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKIG1zZ3N0ciAiJyVzJyAoS8O8cnplbDogJyVjJykiCiAKLSM6IHBhdGhzcGVjLmM6NDYxCisjOiBwYXRoc3BlYy5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgogbXNnc3RyICIiCiAiJXM6IFBmYWRzcGV6aWZpa2F0aW9uc2FuZ2FiZSB3aXJkIHZvbiBkaWVzZW0gQmVmZWhsIG5pY2h0IHVudGVyc3TDvHR6dDogJXMiCiAKLSM6IHBhdGhzcGVjLmM6NTExCisjOiBwYXRoc3BlYy5jOjU3NQogbXNnaWQgIiIKICJlbXB0eSBzdHJpbmdzIGFzIHBhdGhzcGVjcyB3aWxsIGJlIG1hZGUgaW52YWxpZCBpbiB1cGNvbWluZyByZWxlYXNlcy4gcGxlYXNlICIKICJ1c2UgLiBpbnN0ZWFkIGlmIHlvdSBtZWFudCB0byBtYXRjaCBhbGwgcGF0aHMiCkBAIC0yMzQyLDI0ICsyNTE3LDE2IEBACiAidW5nw7xsdGlnLlxuIgogIkJpdHRlIGJlbnV0emVuIFNpZSBzdGF0dGRlc3NlbiAuIHdlbm4gU2llIGFsbGUgUGZhZGUgbWVpbmVuLiIKIAotIzogcGF0aHNwZWMuYzo1MzUKKyM6IHBhdGhzcGVjLmM6NTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiUGZhZHNwZXppZmlrYXRpb24gJyVzJyBpc3QgaGludGVyIGVpbmVyIHN5bWJvbGlzY2hlbiBWZXJrbsO8cGZ1bmciCiAKLSM6IHBhdGhzcGVjLmM6NTQ0Ci1tc2dpZCAiIgotIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCi0iUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKLW1zZ3N0ciAiIgotIjooZXhjbHVkZSkgTXVzdGVyLCBhYmVyIGtlaW5lIGFuZGVyZW4gUGZhZHNwZXppZmlrYXRpb25lbiBhbmdlZ2ViZW4uXG4iCi0iVmllbGxlaWNodCBoYWJlbiBTaWUgdmVyZ2Vzc2VuIGVudHdlZGVyICc6Lycgb2RlciAnLicgaGluenV6dWbDvGdlbj8iCi0KLSM6IHByZXR0eS5jOjk4MgorIzogcHJldHR5LmM6OTYzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAiS29ubnRlIC0tcHJldHR5IEZvcm1hdCBuaWNodCBwYXJzZW4uIgogCi0jOiByZWFkLWNhY2hlLmM6MTMwNworIzogcmVhZC1jYWNoZS5jOjE0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0yMzY4LDcgKzI1MzUsNyBAQAogImluZGV4LnZlcnNpb24gZ2VzZXR6dCwgYWJlciBXZXJ0IHVuZ8O8bHRpZy5cbiIKICJWZXJ3ZW5kZSBWZXJzaW9uICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTMxNworIzogcmVhZC1jYWNoZS5jOjE0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMjM3NywyNjggKzI1NDQsMzg2IEBACiAiR0lUX0lOREVYX1ZFUlNJT04gZ2VzZXR6dCwgYWJlciBXZXJ0IHVuZ8O8bHRpZy5cbiIKICJWZXJ3ZW5kZSBWZXJzaW9uICVpIgogCi0jOiByZWZzLmM6NTc2IGJ1aWx0aW4vbWVyZ2UuYzo4NDQKKyM6IHJlYWQtY2FjaGUuYzoyMzA4IGJ1aWx0aW4vbWVyZ2UuYzoxMDE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBzY2hsaWXDn2VuIgorCisjOiByZWFkLWNhY2hlLmM6MjM4MyBzZXF1ZW5jZXIuYzoxMzUzIHNlcXVlbmNlci5jOjIwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKK21zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbGVzZW4uIgorCisjOiByZWFkLWNhY2hlLmM6MjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKK21zZ3N0ciAia29ubnRlIEdpdC1WZXJ6ZWljaG5pcyBuaWNodCDDtmZmbmVuOiAlcyIKKworIzogcmVhZC1jYWNoZS5jOjI0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCittc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGVudGZlcm5lbi4iCisKKyM6IHJlZnMuYzo2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIFNjaHJlaWJlbiDDtmZmbmVuLiIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4MQorIzogcmVmcy5jOjE3NjkKK21zZ2lkICJyZWYgdXBkYXRlcyBmb3JiaWRkZW4gaW5zaWRlIHF1YXJhbnRpbmUgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKyJBa3R1YWxpc2llcnVuZ2VuIHZvbiBSZWZlcmVuemVuIGlzdCBpbm5lcmhhbGIgZGVyIFF1YXJhbnTDpG5lLVVtZ2VidW5nICIKKyJ2ZXJib3Rlbi4iCisKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgogbXNnc3RyICJLb25udGUgUmVmZXJlbnogJXMgbmljaHQgZW50ZmVybmVuOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICJLb25udGUgUmVmZXJlbnplbiBuaWNodCBlbnRmZXJuZW46ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDkzCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxNjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgcmVmZXJlbmNlICVzIgogbXNnc3RyICJLb25udGUgUmVmZXJlbnogJXMgbmljaHQgbMO2c2NoZW4iCiAKLSM6IHJlZi1maWx0ZXIuYzo1NgorIzogcmVmLWZpbHRlci5jOjM1IHd0LXN0YXR1cy5jOjE4MTEKK21zZ2lkICJnb25lIgorbXNnc3RyICJlbnRmZXJudCIKKworIzogcmVmLWZpbHRlci5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkIgorbXNnc3RyICIlZCB2b3JhdXMiCisKKyM6IHJlZi1maWx0ZXIuYzozNworIywgYy1mb3JtYXQKK21zZ2lkICJiZWhpbmQgJWQiCittc2dzdHIgIiVkIGhpbnRlcmhlciIKKworIzogcmVmLWZpbHRlci5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkLCBiZWhpbmQgJWQiCittc2dzdHIgIiVkIHZvcmF1cywgJWQgaGludGVyaGVyIgorCisjOiByZWYtZmlsdGVyLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgIkVyd2FydGV0ZXMgRm9ybWF0OiAlJShjb2xvcjo8RmFyYmU+KSIKIAotIzogcmVmLWZpbHRlci5jOjU4CisjOiByZWYtZmlsdGVyLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBjb2xvcjogJSUoY29sb3I6JXMpIgogbXNnc3RyICJuaWNodCBlcmthbm50ZSBGYXJiZTogJSUoY29sb3I6JXMpIgogCi0jOiByZWYtZmlsdGVyLmM6NzIKKyM6IHJlZi1maWx0ZXIuYzoxMjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdDogJSUoJXMpIgotbXNnc3RyICJuaWNodCBlcmthbm50ZXMgRm9ybWF0OiAlJSglcykiCittc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOmxzdHJpcD0lcyIKK21zZ3N0ciAiUG9zaXRpdmVyIFdlcnQgZXJ3YXJ0ZXQgcmVmbmFtZTpsc3RyaXA9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo3OAorIzogcmVmLWZpbHRlci5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6cnN0cmlwPSVzIgorbXNnc3RyICJQb3NpdGl2ZXIgV2VydCBlcndhcnRldCByZWZuYW1lOnJzdHJpcD0lcyIKKworIzogcmVmLWZpbHRlci5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAibmljaHQgZXJrYW5udGVzICUlKCVzKSBBcmd1bWVudDogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpIGFremVwdGllcnQga2VpbmUgQXJndW1lbnRlIgogCi0jOiByZWYtZmlsdGVyLmM6ODUKKyM6IHJlZi1maWx0ZXIuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKHN1YmplY3QpIGFremVwdGllcnQga2VpbmUgQXJndW1lbnRlIgogCi0jOiByZWYtZmlsdGVyLmM6OTIKKyM6IHJlZi1maWx0ZXIuYzoxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUodHJhaWxlcnMpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJSh0cmFpbGVycykgYWt6ZXB0aWVydCBrZWluZSBBcmd1bWVudGUiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTEKKyM6IHJlZi1maWx0ZXIuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCiBtc2dzdHIgIlBvc2l0aXZlciBXZXJ0IGVyd2FydGV0IGNvbnRlbnRzOmxpbmVzPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTEzCisjOiByZWYtZmlsdGVyLmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShjb250ZW50cykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJuaWNodCBlcmthbm50ZXMgJSUoY29udGVudHMpIEFyZ3VtZW50OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjEyMworIzogcmVmLWZpbHRlci5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIgorbXNnc3RyICJQb3NpdGl2ZXIgV2VydCBlcndhcnRldCBvYmplY3RuYW1lOnNob3J0PSVzIgorCisjOiByZWYtZmlsdGVyLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlcyAlJShvYmplY3RuYW1lKSBBcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDUKKyM6IHJlZi1maWx0ZXIuYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICJFcndhcnRldGVzIEZvcm1hdDogJSUoYWxpZ246PEJyZWl0ZT4sPFBvc2l0aW9uPikiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNTcKKyM6IHJlZi1maWx0ZXIuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICJuaWNodCBlcmthbm50ZSBQb3NpdGlvbjolcyIKIAotIzogcmVmLWZpbHRlci5jOjE2MQorIzogcmVmLWZpbHRlci5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlIEJyZWl0ZTolcyIKIAotIzogcmVmLWZpbHRlci5jOjE2NworIzogcmVmLWZpbHRlci5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVzICUlKGFsaWduKSBBcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzEKKyM6IHJlZi1maWx0ZXIuYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgd2lkdGggZXhwZWN0ZWQgd2l0aCB0aGUgJSUoYWxpZ24pIGF0b20iCiBtc2dzdHIgIlBvc2l0aXZlIEJyZWl0ZW5hbmdhYmUgZsO8ciAlJShhbGlnbikgZXJ3YXJ0ZXQiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNTUKKyM6IHJlZi1maWx0ZXIuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCittc2dzdHIgIm5pY2h0IGVya2FubnRlcyAlJShpZikgQXJndW1lbnQ6ICVzIgorCisjOiByZWYtZmlsdGVyLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXIgRmVsZG5hbWU6ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyODEKKyM6IHJlZi1maWx0ZXIuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICJVbmJla2FubnRlciBGZWxkbmFtZTogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjM4MworIzogcmVmLWZpbHRlci5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCittc2dzdHIgImZvcm1hdDogJSUoaWYpIEF0b20gb2huZSBlaW4gJSUodGhlbikgQXRvbSB2ZXJ3ZW5kZXQiCisKKyM6IHJlZi1maWx0ZXIuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0OiAlJSh0aGVuKSBBdG9tIG9obmUgZWluICUlKGlmKSBBdG9tIHZlcndlbmRldCIKKworIzogcmVmLWZpbHRlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiZm9ybWF0OiAlJSh0aGVuKSBBdG9tIG1laHIgYWxzIGVpbm1hbCB2ZXJ3ZW5kZXQiCisKKyM6IHJlZi1maWx0ZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCittc2dzdHIgImZvcm1hdDogJSUodGhlbikgQXRvbSBuYWNoICUlKGVsc2UpIHZlcndlbmRldCIKKworIzogcmVmLWZpbHRlci5jOjU5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgorbXNnc3RyICJmb3JtYXQ6ICUlKGVsc2UpIEF0b20gb2huZSBlaW4gJSUoaWYpIEF0b20gdmVyd2VuZGV0IgorCisjOiByZWYtZmlsdGVyLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICJGb3JtYXQ6ICUlKGVsc2UpIEF0b20gb2huZSBlaW4gJSUodGhlbikgQXRvbSB2ZXJ3ZW5kZXQiCisKKyM6IHJlZi1maWx0ZXIuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIkZvcm1hdDogJSUoZW5kKSBBdG9tIG1laHIgYWxzIGVpbm1hbCB2ZXJ3ZW5kZXQiCisKKyM6IHJlZi1maWx0ZXIuYzo2MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gdXNlZCB3aXRob3V0IGNvcnJlc3BvbmRpbmcgYXRvbSIKIG1zZ3N0ciAiRm9ybWF0OiAlJShlbmQpIEF0b20gb2huZSB6dWdlaMO2cmlnZXMgQXRvbSB2ZXJ3ZW5kZXQiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MzUKKyM6IHJlZi1maWx0ZXIuYzo2NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZvcm1hdCBzdHJpbmcgJXMiCiBtc2dzdHIgIkZlaGxlcmhhZnRlciBGb3JtYXRpZXJ1bmdzc3RyaW5nICVzIgogCi0jOiByZWYtZmlsdGVyLmM6ODk4Ci1tc2dpZCAiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiCi1tc2dzdHIgIjpzdHJpcD0gZXJmb3JkZXJ0IGVpbmUgcG9zaXRpdmUgR2FuenphaGwgYWxzIEFyZ3VtZW50IgotCi0jOiByZWYtZmlsdGVyLmM6OTAzCisjOiByZWYtZmlsdGVyLmM6MTI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIKLW1zZ3N0ciAiUmVmZXJlbnogJyVzJyBoYXQga2VpbmUgJWxkIEtvbXBvbmVudGVuIGbDvHIgOnN0cmlwIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKGtlaW4gQnJhbmNoLCBSZWJhc2Ugdm9uIEJyYW5jaCAlcyBpbSBHYW5nZSkiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDY2CisjOiByZWYtZmlsdGVyLmM6MTI1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgotbXNnc3RyICJVbmJla2FubnRlcyAlLipzIEZvcm1hdCAlcyIKK21zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCittc2dzdHIgIihrZWluIEJyYW5jaCwgYmluw6RyZSBTdWNoZSBiZWdvbm5lbiBiZWkgJXMpIgogCi0jOiByZWYtZmlsdGVyLmM6MTA4NiByZWYtZmlsdGVyLmM6MTExNworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKKyMuCisjOiByZWYtZmlsdGVyLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCittc2dzdHIgIihIRUFEIGxvc2dlbMO2c3QgYmVpICVzKSIKKworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYworIy4KKyM6IHJlZi1maWx0ZXIuYzoxMjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgorbXNnc3RyICIoSEVBRCBsb3NnZWzDtnN0IHZvbiAlcykiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjc2Cittc2dpZCAiKG5vIGJyYW5jaCkiCittc2dzdHIgIihrZWluIEJyYW5jaCkiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDI2IHJlZi1maWx0ZXIuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKIG1zZ3N0ciAiT2JqZWt0ICVzIGZlaGx0IGbDvHIgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDg5IHJlZi1maWx0ZXIuYzoxMTIwCisjOiByZWYtZmlsdGVyLmM6MTQyOSByZWYtZmlsdGVyLmM6MTQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgInBhcnNlX29iamVjdF9idWZmZXIgYmVpICVzIGbDvHIgJXMgZmVobGdlc2NobGFnZW4iCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzQzCisjOiByZWYtZmlsdGVyLmM6MTc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCiBtc2dzdHIgImZlaGxlcmhhZnRlcyBPYmpla3QgYmVpICclcyciCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDEwCisjOiByZWYtZmlsdGVyLmM6MTgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyByZWYgd2l0aCBicm9rZW4gbmFtZSAlcyIKIG1zZ3N0ciAiSWdub3JpZXJlIFJlZmVyZW56IG1pdCBmZWhsZXJoYWZ0ZW0gTmFtZW4gJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDE1CisjOiByZWYtZmlsdGVyLmM6MTgzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICJJZ25vcmllcmUgZmVobGVyaGFmdGUgUmVmZXJlbnogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcwCisjOiByZWYtZmlsdGVyLmM6MjA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJGb3JtYXQ6ICUlKGVuZCkgQXRvbSBmZWhsdCIKIAotIzogcmVmLWZpbHRlci5jOjE3MzQKKyM6IHJlZi1maWx0ZXIuYzoyMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiTWlzc2dlYmlsZGV0ZXIgT2JqZWt0bmFtZSAlcyIKIAotIzogcmVtb3RlLmM6NzU0CisjOiByZW1vdGUuYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICJLYW5uICdmZXRjaCcgbmljaHQgZsO8ciBzb3dvaGwgJXMgYWxzIGF1Y2ggJXMgbmFjaCAlcyBhdXNmw7xocmVuLiIKIAotIzogcmVtb3RlLmM6NzU4CisjOiByZW1vdGUuYzo3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdXN1YWxseSB0cmFja3MgJXMsIG5vdCAlcyIKIG1zZ3N0ciAiJXMgZm9sZ3Qgw7xibGljaGVyd2Vpc2UgJXMsIG5pY2h0ICVzIgogCi0jOiByZW1vdGUuYzo3NjIKKyM6IHJlbW90ZS5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCiBtc2dzdHIgIiVzIGZvbGd0IHNvd29obCAlcyBhbHMgYXVjaCAlcyIKIAotIzogcmVtb3RlLmM6NzcwCisjOiByZW1vdGUuYzo3NjMKIG1zZ2lkICJJbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAiSW50ZXJuZXIgRmVobGVyIgogCi0jOiByZW1vdGUuYzoxNjg1IHJlbW90ZS5jOjE3ODcKKyM6IHJlbW90ZS5jOjE2ODAgcmVtb3RlLmM6MTc4MgogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgemVpZ3QgYXVmIGtlaW5lbiBCcmFuY2giCiAKLSM6IHJlbW90ZS5jOjE2OTQKKyM6IHJlbW90ZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgIktlaW4gc29sY2hlciBCcmFuY2g6ICclcyciCiAKLSM6IHJlbW90ZS5jOjE2OTcKKyM6IHJlbW90ZS5jOjE2OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIktlaW4gVXBzdHJlYW0tQnJhbmNoIGbDvHIgQnJhbmNoICclcycga29uZmlndXJpZXJ0LiIKIAotIzogcmVtb3RlLmM6MTcwMworIzogcmVtb3RlLmM6MTY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiVXBzdHJlYW0tQnJhbmNoICclcycgbmljaHQgYWxzIFJlbW90ZS1UcmFja2luZy1CcmFuY2ggZ2VzcGVpY2hlcnQiCiAKLSM6IHJlbW90ZS5jOjE3MTgKKyM6IHJlbW90ZS5jOjE3MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgIiIKICJaaWVsIGbDvHIgXCJwdXNoXCIgJyVzJyBhdWYgUmVtb3RlLVJlcG9zaXRvcnkgJyVzJyBoYXQga2VpbmVuIGxva2FsIGdlZm9sZ3RlbiAiCiAiQnJhbmNoIgogCi0jOiByZW1vdGUuYzoxNzMwCisjOiByZW1vdGUuYzoxNzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCiBtc2dzdHIgIkJyYW5jaCAnJXMnIGhhdCBrZWluZW4gVXBzdHJlYW0tQnJhbmNoIGdlc2V0enQiCiAKLSM6IHJlbW90ZS5jOjE3NDEKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICJQdXNoLVJlZnNwZWNzIGbDvHIgJyVzJyBiZWluaGFsdGVuIG5pY2h0ICclcyciCiAKLSM6IHJlbW90ZS5jOjE3NTQKKyM6IHJlbW90ZS5jOjE3NDkKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgImtlaW4gWmllbCBmw7xyIFwicHVzaFwiIChwdXNoLmRlZmF1bHQgaXN0ICdub3RoaW5nJykiCiAKLSM6IHJlbW90ZS5jOjE3NzYKKyM6IHJlbW90ZS5jOjE3NzEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgogbXNnc3RyICJrYW5uIGVpbnplbG5lcyBaaWVsIGbDvHIgXCJwdXNoXCIgaW0gTW9kdXMgJ3NpbXBsZScgbmljaHQgYXVmbMO2c2VuIgogCi0jOiByZW1vdGUuYzoyMDgxCisjOiByZW1vdGUuYzoyMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKIG1zZ3N0ciAiIgogIklociBCcmFuY2ggYmFzaWVydCBhdWYgJyVzJywgYWJlciBkZXIgVXBzdHJlYW0tQnJhbmNoIHd1cmRlIGVudGZlcm50LlxuIgogCi0jOiByZW1vdGUuYzoyMDg1CisjOiByZW1vdGUuYzoyMDgwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHp1bSBCZWhlYmVuKVxuIgogCi0jOiByZW1vdGUuYzoyMDg4CisjOiByZW1vdGUuYzoyMDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgogbXNnc3RyICJJaHIgQnJhbmNoIGlzdCBhdWYgZGVtIHNlbGJlbiBTdGFuZCB3aWUgJyVzJy5cbiIKIAotIzogcmVtb3RlLmM6MjA5MgorIzogcmVtb3RlLmM6MjA4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICJJaHIgQnJhbmNoIGlzdCAlMiRkIENvbW1pdCB2b3IgJyUxJHMnLlxuIgogbXNnc3RyWzFdICJJaHIgQnJhbmNoIGlzdCAlMiRkIENvbW1pdHMgdm9yICclMSRzJy5cbiIKIAotIzogcmVtb3RlLmM6MjA5OAorIzogcmVtb3RlLmM6MjA5MwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCBwdXNoXCIsIHVtIGxva2FsZSBDb21taXRzIHp1IHB1YmxpemllcmVuKVxuIgogCi0jOiByZW1vdGUuYzoyMTAxCisjOiByZW1vdGUuYzoyMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgogIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdHMsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCi1tc2dzdHJbMF0gIklociBCcmFuY2ggaXN0ICUyJGQgQ29tbWl0IGhpbnRlciAnJTEkcycsIHVuZCBrYW5uIHZvcmdlc3B1bHQgd2VyZGVuLlxuIgotbXNnc3RyWzFdICJJaHIgQnJhbmNoIGlzdCAlMiRkIENvbW1pdHMgaGludGVyICclMSRzJywgdW5kIGthbm4gdm9yZ2VzcHVsdCB3ZXJkZW4uXG4iCittc2dzdHJbMF0gIiIKKyJJaHIgQnJhbmNoIGlzdCAlMiRkIENvbW1pdCBoaW50ZXIgJyUxJHMnLCB1bmQga2FubiB2b3JnZXNwdWx0IHdlcmRlbi5cbiIKK21zZ3N0clsxXSAiIgorIklociBCcmFuY2ggaXN0ICUyJGQgQ29tbWl0cyBoaW50ZXIgJyUxJHMnLCB1bmQga2FubiB2b3JnZXNwdWx0IHdlcmRlbi5cbiIKIAotIzogcmVtb3RlLmM6MjEwOQorIzogcmVtb3RlLmM6MjEwNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHB1bGxcIiwgdW0gSWhyZW4gbG9rYWxlbiBCcmFuY2ggenUgYWt0dWFsaXNpZXJlbilcbiIKIAotIzogcmVtb3RlLmM6MjExMgorIzogcmVtb3RlLmM6MjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTI2NTMsNDQgKzI5MzgsNDkgQEAKICJJaHIgQnJhbmNoIHVuZCAnJXMnIHNpbmQgZGl2ZXJnaWVydCxcbiIKICJ1bmQgaGFiZW4gamV3ZWlscyAlZCB1bmQgJWQgdW50ZXJzY2hpZWRsaWNoZSBDb21taXRzLlxuIgogCi0jOiByZW1vdGUuYzoyMTIyCisjOiByZW1vdGUuYzoyMTE3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHB1bGxcIiwgdW0gSWhyZW4gQnJhbmNoIG1pdCBkZW0gUmVtb3RlLUJyYW5jaCAiCiAienVzYW1tZW56dWbDvGhyZW4pXG4iCiAKLSM6IHJldmlzaW9uLmM6MjE1OAorIzogcmV2aXNpb24uYzoyMTg3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAiSWhyIGFrdHVlbGxlciBCcmFuY2ggc2NoZWludCBmZWhsZXJoYWZ0IHp1IHNlaW4uIgogCi0jOiByZXZpc2lvbi5jOjIxNjEKKyM6IHJldmlzaW9uLmM6MjE5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgIklociBha3R1ZWxsZXIgQnJhbmNoICclcycgaGF0IG5vY2gga2VpbmUgQ29tbWl0cy4iCiAKLSM6IHJldmlzaW9uLmM6MjM1NQorIzogcmV2aXNpb24uYzoyMzg0CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWZpcnN0LXBhcmVudCB1bmQgLS1iaXNlY3Qgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBydW4tY29tbWFuZC5jOjEyNQorIzogcnVuLWNvbW1hbmQuYzo2NDQKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgIsOWZmZuZW4gdm9uIC9kZXYvbnVsbCBmZWhsZ2VzY2hsYWdlbiIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjcKKyM6IHNlbmQtcGFjay5jOjE1MQogIywgYy1mb3JtYXQKLW1zZ2lkICJkdXAyKCVkLCVkKSBmYWlsZWQiCi1tc2dzdHIgImR1cDIoJWQsJWQpIGZlaGxnZXNjaGxhZ2VuIgorbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCittc2dzdHIgIktvbm50ZSBTdGF0dXMgZGVzIEVudHBhY2tlbnMgZGVyIEdlZ2Vuc2VpdGUgbmljaHQgcGFyc2VuOiAlcyIKIAotIzogc2VuZC1wYWNrLmM6Mjk3CisjOiBzZW5kLXBhY2suYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgorbXNnc3RyICJFbnRwYWNrZW4gYXVmIGRlciBHZWdlbnNlaXRlIGZlaGxnZXNjaGxhZ2VuOiAlcyIKKworIzogc2VuZC1wYWNrLmM6MzE2CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNpZ25pZXJlbiBkZXMgXCJwdXNoXCItWmVydGlmaWthdGVzIgogCi0jOiBzZW5kLXBhY2suYzo0MTAKKyM6IHNlbmQtcGFjay5jOjQyOQogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAiIgogImRpZSBHZWdlbnNlaXRlIHVudGVyc3TDvHR6dCBrZWluZW4gc2lnbmllcnRlbiBWZXJzYW5kIChcIi0tc2lnbmVkIHB1c2hcIikiCiAKLSM6IHNlbmQtcGFjay5jOjQxMgorIzogc2VuZC1wYWNrLmM6NDMxCiBtc2dpZCAiIgogIm5vdCBzZW5kaW5nIGEgcHVzaCBjZXJ0aWZpY2F0ZSBzaW5jZSB0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tIgogInNpZ25lZCBwdXNoIgpAQCAtMjY5OCwxMDcgKzI5ODgsMTA3IEBACiAia2VpbiBWZXJzYW5kIGRlcyBcInB1c2hcIi1aZXJ0aWZpa2F0ZXMsIGRhIGRpZSBHZWdlbnNlaXRlIGtlaW5lbiBzaWduaWVydGVuXG4iCiAiVmVyc2FuZCAoXCItLXNpZ25lZCBwdXNoXCIpIHVudGVyc3TDvHR6dCIKIAotIzogc2VuZC1wYWNrLmM6NDI0CisjOiBzZW5kLXBhY2suYzo0NDMKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgImRpZSBHZWdlbnNlaXRlIHVudGVyc3TDvHR6dCBrZWluZW4gYXRvbWFyZW4gVmVyc2FuZCAoXCItLWF0b21pYyBwdXNoXCIpIgogCi0jOiBzZW5kLXBhY2suYzo0MjkKKyM6IHNlbmQtcGFjay5jOjQ0OAogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICJkaWUgR2VnZW5zZWl0ZSB1bnRlcnN0w7x0enQga2VpbmUgUHVzaC1PcHRpb25lbiIKIAotIzogc2VxdWVuY2VyLmM6MjE1CisjOiBzZXF1ZW5jZXIuYzoyMTYKIG1zZ2lkICJyZXZlcnQiCiBtc2dzdHIgIlJldmVydCIKIAotIzogc2VxdWVuY2VyLmM6MjE3CisjOiBzZXF1ZW5jZXIuYzoyMTgKIG1zZ2lkICJjaGVycnktcGljayIKIG1zZ3N0ciAiQ2hlcnJ5LVBpY2siCiAKLSM6IHNlcXVlbmNlci5jOjIxOQorIzogc2VxdWVuY2VyLmM6MjIwCiBtc2dpZCAicmViYXNlIC1pIgogbXNnc3RyICJpbnRlcmFrdGl2ZXMgUmViYXNlIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjEKKyM6IHNlcXVlbmNlci5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFjdGlvbjogJWQiCiBtc2dzdHIgIlVuYmVrYW5udGUgQWt0aW9uOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6Mjc4CisjOiBzZXF1ZW5jZXIuYzoyNzkKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKIG1zZ3N0ciAiIgotIm5hY2ggQXVmbMO2c3VuZyBkZXIgS29uZmxpa3RlLCBtYXJraWVyZW4gU2llIGRpZSBrb3JyaWdpZXJ0ZW4gUGZhZGVcbiIKKyJuYWNoIEF1ZmzDtnN1bmcgZGVyIEtvbmZsaWt0ZSBtYXJraWVyZW4gU2llIGRpZSBrb3JyaWdpZXJ0ZW4gUGZhZGVcbiIKICJtaXQgJ2dpdCBhZGQgPFBmYWRlPicgb2RlciAnZ2l0IHJtIDxQZmFkZT4nIgogCi0jOiBzZXF1ZW5jZXIuYzoyODEKKyM6IHNlcXVlbmNlci5jOjI4MgogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCiAiYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggJ2dpdCBjb21taXQnIgogbXNnc3RyICIiCi0ibmFjaCBBdWZsw7ZzdW5nIGRlciBLb25mbGlrdGUsIG1hcmtpZXJlbiBTaWUgZGllIGtvcnJpZ2llcnRlbiBQZmFkZVxuIgotIm1pdCAnZ2l0IGFkZCA8UGZhZGU+JyBvZGVyICdnaXQgcm0gPFBmYWRlPid1bmQgdHJhZ2VuIFNpZSBkYXMgRXJnZWJuaXMgbWl0XG4iCisibmFjaCBBdWZsw7ZzdW5nIGRlciBLb25mbGlrdGUgbWFya2llcmVuIFNpZSBkaWUga29ycmlnaWVydGVuIFBmYWRlXG4iCisibWl0ICdnaXQgYWRkIDxQZmFkZT4nIG9kZXIgJ2dpdCBybSA8UGZhZGU+JyB1bmQgdHJhZ2VuIFNpZSBkYXMgRXJnZWJuaXMgbWl0XG4iCiAiJ2dpdCBjb21taXQnIGVpbiIKIAotIzogc2VxdWVuY2VyLmM6Mjk0IHNlcXVlbmNlci5jOjE2NjcKKyM6IHNlcXVlbmNlci5jOjI5NSBzZXF1ZW5jZXIuYzoxNjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHNwZXJyZW4iCiAKLSM6IHNlcXVlbmNlci5jOjI5NyBzZXF1ZW5jZXIuYzoxNTQ1IHNlcXVlbmNlci5jOjE2NzIgc2VxdWVuY2VyLmM6MTY4NgorIzogc2VxdWVuY2VyLmM6Mjk4IHNlcXVlbmNlci5jOjE1NjMgc2VxdWVuY2VyLmM6MTY5MCBzZXF1ZW5jZXIuYzoxNzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJLb25udGUgbmljaHQgbmFjaCAnJXMnIHNjaHJlaWJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjMwMQorIzogc2VxdWVuY2VyLmM6MzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAiS29ubnRlIEVPTCBuaWNodCBuYWNoICclcycgc2NocmVpYmVuLiIKIAotIzogc2VxdWVuY2VyLmM6MzA1IHNlcXVlbmNlci5jOjE1NTAgc2VxdWVuY2VyLmM6MTY3NAorIzogc2VxdWVuY2VyLmM6MzA2IHNlcXVlbmNlci5jOjE1Njggc2VxdWVuY2VyLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCiBtc2dzdHIgIkZlaGxlciBiZWltIEZlcnRpZ3N0ZWxsZW4gdm9uICclcycuIgogCi0jOiBzZXF1ZW5jZXIuYzozMjkgc2VxdWVuY2VyLmM6ODA4IHNlcXVlbmNlci5jOjE1NzEgYnVpbHRpbi9hbS5jOjI1OQotIzogYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwMzYKKyM6IHNlcXVlbmNlci5jOjMzMCBzZXF1ZW5jZXIuYzo4MTcgc2VxdWVuY2VyLmM6MTU4OSBidWlsdGluL2FtLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjc1MCBidWlsdGluL21lcmdlLmM6MTAxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogc2VxdWVuY2VyLmM6MzU1CisjOiBzZXF1ZW5jZXIuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzLiIKIG1zZ3N0ciAiSWhyZSBsb2thbGVuIMOEbmRlcnVuZ2VuIHfDvHJkZW4gZHVyY2ggZGVuICVzIMO8YmVyc2NocmllYmVuIHdlcmRlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjM1OQorIzogc2VxdWVuY2VyLmM6MzYwCiBtc2dpZCAiY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgogbXNnc3RyICIiCiAiQ29tbWl0dGVuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuIG9kZXIgYmVudXR6ZW4gU2llIFwic3Rhc2hcIiwgdW0gZm9ydHp1ZmFocmVuLiIKIAotIzogc2VxdWVuY2VyLmM6Mzg4CisjOiBzZXF1ZW5jZXIuYzozODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiJXM6IFZvcnNwdWxlbiIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIsICJjaGVycnktcGljayIgb3IKLSMuICogInJlYmFzZSAtaSIuCisjLiAicmViYXNlIC1pIi4KICMuCi0jOiBzZXF1ZW5jZXIuYzo0NzAKKyM6IHNlcXVlbmNlci5jOjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogS29ubnRlIG5ldWUgSW5kZXgtRGF0ZWkgbmljaHQgc2NocmVpYmVuIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODkKKyM6IHNlcXVlbmNlci5jOjQ5MQogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIktvbm50ZSBIRUFELUNvbW1pdCBuaWNodCBhdWZsw7ZzZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6NTA5CisjOiBzZXF1ZW5jZXIuYzo1MTEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAiS29ubnRlIENhY2hlLVZlcnplaWNobmlzIG5pY2h0IGFrdHVhbGlzaWVyZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6NTkyCisjOiBzZXF1ZW5jZXIuYzo1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCkBAIC0yODI5LDE3ICszMTE5LDE3IEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6Njg4CisjOiBzZXF1ZW5jZXIuYzo2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICJLb25udGUgQ29tbWl0ICVzIG5pY2h0IHBhcnNlblxuIgogCi0jOiBzZXF1ZW5jZXIuYzo2OTMKKyM6IHNlcXVlbmNlci5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICJLb25udGUgRWx0ZXJuLUNvbW1pdCAlcyBuaWNodCBwYXJzZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6ODE1CisjOiBzZXF1ZW5jZXIuYzo4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuZXhwZWN0ZWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCkBAIC0yODUwLDcgKzMxNDAsNyBAQAogIlxuIgogIlx0JS4qcyIKIAotIzogc2VxdWVuY2VyLmM6ODIxCisjOiBzZXF1ZW5jZXIuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCkBAIC0yODYxLDIyOSArMzE1MSwyMzAgQEAKICJcbiIKICJcdCUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjgyNyBzZXF1ZW5jZXIuYzo4NTIKKyM6IHNlcXVlbmNlci5jOjgzNiBzZXF1ZW5jZXIuYzo4NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICVkIGNvbW1pdHMuIgogbXNnc3RyICJEYXMgaXN0IGVpbmUgS29tYmluYXRpb24gYXVzICVkIENvbW1pdHMuIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzYKKyM6IHNlcXVlbmNlci5jOjg0NQogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICJiZW7DtnRpZ2UgSEVBRCBmw7xyIGZpeHVwIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzgKKyM6IHNlcXVlbmNlci5jOjg0NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGxlc2VuIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDAKKyM6IHNlcXVlbmNlci5jOjg0OQogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdC1CZXNjaHJlaWJ1bmcgdm9uIEhFQUQgbmljaHQgbGVzZW4iCiAKLSM6IHNlcXVlbmNlci5jOjg0NgorIzogc2VxdWVuY2VyLmM6ODU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSAnJXMnIgogbXNnc3RyICJrYW5uICclcycgbmljaHQgc2NocmVpYmVuIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ1CisjOiBzZXF1ZW5jZXIuYzo4NjQgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ1CiBtc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKIG1zZ3N0ciAiRGFzIGlzdCBkaWUgZXJzdGUgQ29tbWl0LUJlc2NocmVpYnVuZzoiCiAKLSM6IHNlcXVlbmNlci5jOjg2MworIzogc2VxdWVuY2VyLmM6ODcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICJLb25udGUgQ29tbWl0LUJlc2NocmVpYnVuZyB2b24gJXMgbmljaHQgbGVzZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzAKKyM6IHNlcXVlbmNlci5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICJEYXMgaXN0IENvbW1pdC1CZXNjaHJlaWJ1bmcgIyVkOiIKIAotIzogc2VxdWVuY2VyLmM6ODc1CisjOiBzZXF1ZW5jZXIuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJEaWUgQ29tbWl0LUJlc2NocmVpYnVuZyAjJWQgd2lyZCBhdXNnZWxhc3NlbjoiCiAKLSM6IHNlcXVlbmNlci5jOjg4MAorIzogc2VxdWVuY2VyLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZDogJWQiCiBtc2dzdHIgIlVuYmVrYW5udGVyIEJlZmVobDogJWQiCiAKLSM6IHNlcXVlbmNlci5jOjk0NgorIzogc2VxdWVuY2VyLmM6OTU1CiBtc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiSWhyZSBJbmRleC1EYXRlaSBpc3QgbmljaHQgenVzYW1tZW5nZWbDvGhydC4iCiAKLSM6IHNlcXVlbmNlci5jOjk2NAorIzogc2VxdWVuY2VyLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAiQ29tbWl0ICVzIGlzdCBlaW4gTWVyZ2UsIGFiZXIgZGllIE9wdGlvbiAtbSB3dXJkZSBuaWNodCBhbmdlZ2ViZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo5NzIKKyM6IHNlcXVlbmNlci5jOjk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgIkNvbW1pdCAlcyBoYXQga2VpbmVuIEVsdGVybi1Db21taXQgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjk3NgorIzogc2VxdWVuY2VyLmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCiBtc2dzdHIgIkhhdXB0bGluaWUgd3VyZGUgc3BlemlmaXppZXJ0LCBhYmVyIENvbW1pdCAlcyBpc3Qga2VpbiBNZXJnZS4iCiAKLSM6IHNlcXVlbmNlci5jOjk4MgorIzogc2VxdWVuY2VyLmM6OTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICJLYW5uIGtlaW5lIENvbW1pdC1CZXNjaHJlaWJ1bmcgZsO8ciAlcyBiZWtvbW1lbi4iCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKICMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzoxMDAxCisjOiBzZXF1ZW5jZXIuYzoxMDEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IGthbm4gRWx0ZXJuLUNvbW1pdCAlcyBuaWNodCBwYXJzZW4iCiAKLSM6IHNlcXVlbmNlci5jOjEwNjMgc2VxdWVuY2VyLmM6MTgxMgorIzogc2VxdWVuY2VyLmM6MTA3NSBzZXF1ZW5jZXIuYzoxODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dSAnJXMnIHVtYmVuZW5uZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE0CisjOiBzZXF1ZW5jZXIuYzoxMTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgIktvbm50ZSBcInJldmVydFwiIG5pY2h0IGF1ZiAlcy4uLiAoJXMpIGF1c2bDvGhyZW4iCiAKLSM6IHNlcXVlbmNlci5jOjExMTUKKyM6IHNlcXVlbmNlci5jOjExMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgogbXNnc3RyICJLb25udGUgJXMuLi4gKCVzKSBuaWNodCBhbndlbmRlbiIKIAotIzogc2VxdWVuY2VyLmM6MTE1NworIzogc2VxdWVuY2VyLmM6MTE2OQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJsZWVyZSBNZW5nZSB2b24gQ29tbWl0cyDDvGJlcmdlYmVuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTY3CisjOiBzZXF1ZW5jZXIuYzoxMTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IEZlaGxlciBiZWltIExlc2VuIGRlcyBJbmRleCIKIAotIzogc2VxdWVuY2VyLmM6MTE3NAorIzogc2VxdWVuY2VyLmM6MTE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBGZWhsZXIgYmVpbSBBa3R1YWxpc2llcmVuIGRlcyBJbmRleCIKIAotIzogc2VxdWVuY2VyLmM6MTI5NAorIzogc2VxdWVuY2VyLmM6MTMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgWmVpbGUgJWQ6ICUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjEzMDIKKyM6IHNlcXVlbmNlci5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICclcycgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiS2FubiAnJXMnIG5pY2h0IG9obmUgdm9yaGVyaWdlbiBDb21taXQgYXVzZsO8aHJlbiIKIAotIzogc2VxdWVuY2VyLmM6MTMzNAorIzogc2VxdWVuY2VyLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbGVzZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQxCisjOiBzZXF1ZW5jZXIuYzoxMzU5CiBtc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCi1tc2dzdHIgIkJpdHRlIGJlaGViZW4gU2llIGRpZXNlcywgaW5kZW0gU2llICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhdXNmw7xocmVuLiIKK21zZ3N0ciAiIgorIkJpdHRlIGJlaGViZW4gU2llIGRpZXNlcywgaW5kZW0gU2llICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhdXNmw7xocmVuLiIKIAotIzogc2VxdWVuY2VyLmM6MTM0MworIzogc2VxdWVuY2VyLmM6MTM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKIG1zZ3N0ciAiVW5iZW51dHpiYXJlcyBJbnN0cnVrdGlvbnNibGF0dDogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTM0OAorIzogc2VxdWVuY2VyLmM6MTM2NgogbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAiS2VpbmUgQ29tbWl0cyBnZXBhcnN0LiIKIAotIzogc2VxdWVuY2VyLmM6MTM1OQorIzogc2VxdWVuY2VyLmM6MTM3NwogbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgogbXNnc3RyICJLYW5uIENoZXJyeS1QaWNrIG5pY2h0IHfDpGhyZW5kIGVpbmVzIFJldmVydHMgYXVzZsO8aHJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNjEKKyM6IHNlcXVlbmNlci5jOjEzNzkKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiS2FubiBSZXZlcnQgbmljaHQgd8OkaHJlbmQgZWluZXMgQ2hlcnJ5LVBpY2tzIGF1c2bDvGhyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDI0CisjOiBzZXF1ZW5jZXIuYzoxNDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgU2NobMO8c3NlbDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE0MjcKKyM6IHNlcXVlbmNlci5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDg0CisjOiBzZXF1ZW5jZXIuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXMgT3B0aW9uc2JsYXR0OiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIyCisjOiBzZXF1ZW5jZXIuYzoxNTQwCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIG9kZXIgXCJyZXZlcnRcIiBpc3QgYmVyZWl0cyBpbSBHYW5nIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIzCisjOiBzZXF1ZW5jZXIuYzoxNTQxCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAidmVyc3VjaGVuIFNpZSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjE1MjYKKyM6IHNlcXVlbmNlci5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIktvbm50ZSBcInNlcXVlbmNlclwiLVZlcnplaWNobmlzICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogc2VxdWVuY2VyLmM6MTU0MAorIzogc2VxdWVuY2VyLmM6MTU1OAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IHNwZXJyZW4iCiAKLSM6IHNlcXVlbmNlci5jOjE1OTYgc2VxdWVuY2VyLmM6MjE1MAorIzogc2VxdWVuY2VyLmM6MTYxNCBzZXF1ZW5jZXIuYzoyMTg4CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJrZWluIFwiY2hlcnJ5LXBpY2tcIiBvZGVyIFwicmV2ZXJ0XCIgaW0gR2FuZyIKIAotIzogc2VxdWVuY2VyLmM6MTU5OAorIzogc2VxdWVuY2VyLmM6MTYxNgogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImthbm4gSEVBRCBuaWNodCBhdWZsw7ZzZW4iCiAKLSM6IHNlcXVlbmNlci5jOjE2MDAgc2VxdWVuY2VyLmM6MTYzNAorIzogc2VxdWVuY2VyLmM6MTYxOCBzZXF1ZW5jZXIuYzoxNjUyCiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCi1tc2dzdHIgImthbm4gbmljaHQgYWJicmVjaGVuOiBiaW4gYXVmIGVpbmVtIEJyYW5jaCwgZGVyIG5vY2ggZ2Vib3JlbiB3aXJkIgorbXNnc3RyICJrYW5uIG5pY2h0IGFiYnJlY2hlbjogYmluIGF1ZiBlaW5lbSBCcmFuY2gsIGRlciBub2NoIG5pY2h0IGdlYm9yZW4gaXN0IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIwIGJ1aWx0aW4vZ3JlcC5jOjkwNAorIzogc2VxdWVuY2VyLmM6MTYzOCBidWlsdGluL2dyZXAuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia2FubiAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IHNlcXVlbmNlci5jOjE2MjIKKyM6IHNlcXVlbmNlci5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCiBtc2dzdHIgIkthbm4gJyVzJyBuaWNodCBsZXNlbjogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjMKKyM6IHNlcXVlbmNlci5jOjE2NDEKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJVbmVyd2FydGV0ZXMgRGF0ZWllbmRlIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjI5CisjOiBzZXF1ZW5jZXIuYzoxNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAiZ2VzcGVpY2hlcnRlIFwicHJlLWNoZXJyeS1waWNrXCIgSEVBRCBEYXRlaSAnJXMnIGlzdCBiZXNjaMOkZGlndCIKIAotIzogc2VxdWVuY2VyLmM6MTY0MAorIzogc2VxdWVuY2VyLmM6MTY1OAogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKLW1zZ3N0ciAiU2llIHNjaGVpbmVuIEhFQUQgdmVyc2Nob2JlbiB6dSBoYWJlbi4gS2VpbmUgWnVyw7xja3NldHp1bmcsIHByw7xmZW4gU2llIEhFQUQuIgorbXNnc3RyICJTaWUgc2NoZWluZW4gSEVBRCB2ZXLDpG5kZXJ0IHp1IGhhYmVuLiBLZWluZSBSw7xja3NwdWx1bmcsIHByw7xmZW4gU2llIEhFQUQuIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzc3IHNlcXVlbmNlci5jOjIwNDkKKyM6IHNlcXVlbmNlci5jOjE3OTUgc2VxdWVuY2VyLmM6MjA4NgogbXNnaWQgImNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIkthbm4gSEVBRCBuaWNodCBsZXNlbiIKIAotIzogc2VxdWVuY2VyLmM6MTgxNyBidWlsdGluL2RpZmZ0b29sLmM6NTc0CisjOiBzZXF1ZW5jZXIuYzoxODM1IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBuYWNoICclcycga29waWVyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMzCisjOiBzZXF1ZW5jZXIuYzoxODUxCiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIktvbm50ZSBkZW4gSW5kZXggbmljaHQgbGVzZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxODM4CisjOiBzZXF1ZW5jZXIuYzoxODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gZmFpbGVkOiAlc1xuIgpAQCAtMzA5OSwxMSArMzM5MCwxMSBAQAogIlxuIgogImF1c2bDvGhyZW4uXG4iCiAKLSM6IHNlcXVlbmNlci5jOjE4NDQKKyM6IHNlcXVlbmNlci5jOjE4NjIKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgogbXNnc3RyICJEZXIgSW5kZXggdW5kL29kZXIgZGFzIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3dXJkZSBnZcOkbmRlcnQuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjE4NTAKKyM6IHNlcXVlbmNlci5jOjE4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCkBAIC0zMTIxLDE3ICszNDEyLDE3IEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MTkwNSBnaXQtcmViYXNlLnNoOjE2OAorIzogc2VxdWVuY2VyLmM6MTkyNQogIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCi1tc2dzdHIgIkF1dG9tYXRpc2NoZW4gU3Rhc2ggYW5nZXdlbmRldC4iCittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCittc2dzdHIgIkF1dG9tYXRpc2NoZW4gU3Rhc2ggYW5nZXdlbmRldC5cbiIKIAotIzogc2VxdWVuY2VyLmM6MTkxNworIzogc2VxdWVuY2VyLmM6MTkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgImthbm4gJXMgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE5IGdpdC1yZWJhc2Uuc2g6MTcyCisjOiBzZXF1ZW5jZXIuYzoxOTQwIGdpdC1yZWJhc2Uuc2g6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgpAQCAtMzE0Miw1OSArMzQzMyw1OSBAQAogIklocmUgw4RuZGVydW5nZW4gc2luZCBpbSBTdGFzaCBzaWNoZXIuXG4iCiAiU2llIGvDtm5uZW4gamVkZXJ6ZWl0IFwiZ2l0IHN0YXNoIHBvcFwiIG9kZXIgXCJnaXQgc3Rhc2ggZHJvcFwiIGF1c2bDvGhyZW4uXG4iCiAKLSM6IHNlcXVlbmNlci5jOjIwMDAKKyM6IHNlcXVlbmNlci5jOjIwMjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAic3RvcHBlZCBhdCAlcy4uLiAlLipzIgotbXNnc3RyICJBbmdlaGFsdGVuIGJlaSAlcy4uLiAlLipzIgorbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKK21zZ3N0ciAiQW5nZWhhbHRlbiBiZWkgJXMuLi4gJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDI3CisjOiBzZXF1ZW5jZXIuYzoyMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgQmVmZWhsICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDU3CisjOiBzZXF1ZW5jZXIuYzoyMDk0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgogbXNnc3RyICJLb25udGUgb3JpZy1oZWFkIG5pY2h0IGxlc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MjA2MQorIzogc2VxdWVuY2VyLmM6MjA5OQogbXNnaWQgImNvdWxkIG5vdCByZWFkICdvbnRvJyIKIG1zZ3N0ciAiS29ubnRlICdvbnRvJyBuaWNodCBsZXNlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjIwNjgKKyM6IHNlcXVlbmNlci5jOjIxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGFrdHVhbGlzaWVyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDc1CisjOiBzZXF1ZW5jZXIuYzoyMTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgSEVBRCB0byAlcyIKIG1zZ3N0ciAiS29ubnRlIEhFQUQgbmljaHQgYXVmICVzIGFrdHVhbGlzaWVyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTU5CisjOiBzZXF1ZW5jZXIuYzoyMTk3CiBtc2dpZCAiY2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJSZWJhc2UgbmljaHQgbcO2Z2xpY2g6IFNpZSBoYWJlbiDDhG5kZXJ1bmdlbiwgZGllIG5pY2h0IHp1bSBDb21taXRcbiIKICJ2b3JnZW1lcmt0IHNpbmQuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTY0CisjOiBzZXF1ZW5jZXIuYzoyMjAyCiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICJLb25udGUgQ0hFUlJZX1BJQ0tfSEVBRCBuaWNodCBsw7ZzY2hlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjIxNzMKKyM6IHNlcXVlbmNlci5jOjIyMTEKIG1zZ2lkICJjYW5ub3QgYW1lbmQgbm9uLWV4aXN0aW5nIGNvbW1pdCIKIG1zZ3N0ciAiS2FubiBuaWNodCBleGlzdGllcmVuZGVuIENvbW1pdCBuaWNodCBuYWNoYmVzc2Vybi4iCiAKLSM6IHNlcXVlbmNlci5jOjIxNzUKKyM6IHNlcXVlbmNlci5jOjIyMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBmaWxlOiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlIERhdGVpOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTc3CisjOiBzZXF1ZW5jZXIuYzoyMjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29udGVudHM6ICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgSW5oYWx0ZTogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjE4MAorIzogc2VxdWVuY2VyLmM6MjIxOAogbXNnaWQgIiIKICJcbiIKICJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UsIGNvbW1pdCB0aGVtXG4iCkBAIC0zMjA1LDI1ICszNDk2LDI1IEBACiAiY29tbWl0dGVuIFNpZSBkaWVzZSB6dWVyc3QgdW5kIGbDvGhyZW4gU2llIGRhbm4gJ2dpdCByZWJhc2UgLS1jb250aW51ZSdcbiIKICJlcm5ldXQgYXVzLiIKIAotIzogc2VxdWVuY2VyLmM6MjE5MAorIzogc2VxdWVuY2VyLmM6MjIyOAogbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJLb25udGUgw4RuZGVydW5nZW4gYXVzIGRlciBTdGFnaW5nLUFyZWEgbmljaHQgY29tbWl0dGVuLiIKIAotIzogc2VxdWVuY2VyLmM6MjI3MAorIzogc2VxdWVuY2VyLmM6MjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIKIG1zZ3N0ciAiJXM6ICVzIGthbm4gbmljaHQgaW4gXCJjaGVycnktcGlja1wiIGJlbnV0enQgd2VyZGVuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjc0CisjOiBzZXF1ZW5jZXIuYzoyMzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiB1bmfDvGx0aWdlciBDb21taXQiCiAKLSM6IHNlcXVlbmNlci5jOjIzMDcKKyM6IHNlcXVlbmNlci5jOjIzNDUKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkthbm4gbmljaHQgYWxzIGFsbGVyZXJzdGVuIENvbW1pdCBlaW5lbiBSZXZlcnQgYXVzZsO8aHJlbi4iCiAKLSM6IHNldHVwLmM6MTYwCisjOiBzZXR1cC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtMzIzMyw3ICszNTI0LDcgQEAKICJCZW51dHplbiBTaWUgJ2dpdCA8QmVmZWhsPiAtLSA8UGZhZD4uLi4nIHp1ciBBbmdhYmUgdm9uIFBmYWRlbiwgZGllIGxva2FsXG4iCiAibmljaHQgZXhpc3RpZXJlbi4iCiAKLSM6IHNldHVwLmM6MTczCisjOiBzZXR1cC5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTMyNDUsNyArMzUzNiw3IEBACiAiQmVudXR6ZW4gU2llICctLScsIHVtIFBmYWRlIHVuZCBDb21taXRzIHp1IHRyZW5uZW4sIMOkaG5saWNoIHdpZTpcbiIKICInZ2l0IDxCZWZlaGw+IFs8Q29tbWl0Pi4uLl0gLS0gWzxEYXRlaT4uLi5dJyIKIAotIzogc2V0dXAuYzoyMjMKKyM6IHNldHVwLmM6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKQEAgLTMyNTYsMjkgKzM1NDcsMzQgQEAKICJCZW51dHplbiBTaWUgJy0tJywgdW0gUGZhZGUgdW5kIENvbW1pdHMgenUgdHJlbm5lbiwgw6RobmxpY2ggd2llOlxuIgogIidnaXQgPEJlZmVobD4gWzxDb21taXQ+Li4uXSAtLSBbPERhdGVpPi4uLl0nIgogCi0jOiBzZXR1cC5jOjQ3MAorIzogc2V0dXAuYzo1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCiBtc2dzdHIgIkVyd2FydGV0ZSBHaXQtUmVwb3NpdG9yeS1WZXJzaW9uIDw9ICVkLCAlZCBnZWZ1bmRlbiIKIAotIzogc2V0dXAuYzo0NzgKKyM6IHNldHVwLmM6NTEyCiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICJVbmJla2FubnRlIFJlcG9zaXRvcnktRXJ3ZWl0ZXJ1bmdlbiBnZWZ1bmRlbjoiCiAKLSM6IHNldHVwLmM6NzY4CisjOiBzZXR1cC5jOjgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKIG1zZ3N0ciAiS2VpbiBHaXQtUmVwb3NpdG9yeSAob2RlciBpcmdlbmRlaW4gRWx0ZXJudmVyemVpY2huaXMpOiAlcyIKIAotIzogc2V0dXAuYzo3NzAgc2V0dXAuYzo5MjIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0MworIzogc2V0dXAuYzo4MTIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1MgogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgotbXNnc3RyICJLYW5uIG5pY2h0IHp1csO8Y2sgenUgQXJiZWl0c3ZlcnplaWNobmlzIHdlY2hzZWxuIgorbXNnc3RyICJLYW5uIG5pY2h0IHp1csO8Y2sgenVtIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3ZWNoc2VsbiIKIAotIzogc2V0dXAuYzo4NTIKKyM6IHNldHVwLmM6MTA1MAogbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIktvbm50ZSBha3R1ZWxsZXMgQXJiZWl0c3ZlcnplaWNobmlzIG5pY2h0IGxlc2VuLiIKIAotIzogc2V0dXAuYzo5MjcKKyM6IHNldHVwLmM6MTA2MiBzZXR1cC5jOjEwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMnIgorbXNnc3RyICJLYW5uIG5pY2h0IG5hY2ggJyVzJyB3ZWNoc2Vsbi4iCisKKyM6IHNldHVwLmM6MTA4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCkBAIC0zMjg4LDEyICszNTg0LDcgQEAKICIlcylcbiIKICJTdG9wcGUgYmVpIERhdGVpc3lzdGVtZ3JlbnplIChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIG5pY2h0IGdlc2V0enQpLiIKIAotIzogc2V0dXAuYzo5MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMvLi4nIgotbXNnc3RyICJLYW5uIG5pY2h0IGluIFZlcnplaWNobmlzICclcy8uLicgd2VjaHNlbG4iCi0KLSM6IHNldHVwLmM6OTk2CisjOiBzZXR1cC5jOjExNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKQEAgLTMzMDIsNjAgKzM1OTMsNjAgQEAKICJQcm9ibGVtIG1pdCBXZXJ0IGbDvHIgRGF0ZWltb2R1cyAoMCUuM28pIHZvbiBjb3JlLnNoYXJlZFJlcG9zaXRvcnkuXG4iCiAiRGVyIEJlc2l0emVyIGRlciBEYXRlaWVuIG11c3MgaW1tZXIgTGVzZS0gdW5kIFNjaHJlaWJyZWNodGUgaGFiZW4uIgogCi0jOiBzaGExX2ZpbGUuYzo0OTAKKyM6IHNoYTFfZmlsZS5jOjU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIlBmYWQgJyVzJyBleGlzdGllcnQgbmljaHQiCiAKLSM6IHNoYTFfZmlsZS5jOjUxNgorIzogc2hhMV9maWxlLmM6NTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgogbXNnc3RyICIiCiAiUmVmZXJlbnppZXJ0ZXMgUmVwb3NpdG9yeSAnJXMnIHdpcmQgbm9jaCBuaWNodCBhbHMgdmVya27DvHBmdGVzXG4iCiAiQXJiZWl0c3ZlcnplaWNobmlzIHVudGVyc3TDvHR6dC4iCiAKLSM6IHNoYTFfZmlsZS5jOjUyMgorIzogc2hhMV9maWxlLmM6NTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlJlZmVyZW56aWVydGVzIFJlcG9zaXRvcnkgJyVzJyBpc3Qga2VpbiBsb2thbGVzIFJlcG9zaXRvcnkuIgogCi0jOiBzaGExX2ZpbGUuYzo1MjgKKyM6IHNoYTFfZmlsZS5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgIiIKICJSZWZlcmVuemllcnRlcyBSZXBvc2l0b3J5ICclcycgaGF0IGVpbmUgdW52b2xsc3TDpG5kaWdlIEhpc3RvcmllIChzaGFsbG93KS4iCiAKLSM6IHNoYTFfZmlsZS5jOjUzNgorIzogc2hhMV9maWxlLmM6NjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKIG1zZ3N0ciAiIgogIlJlZmVyZW56aWVydGVzIFJlcG9zaXRvcnkgJyVzJyBpc3QgbWl0IGvDvG5zdGxpY2hlbiBWb3Jnw6RuZ2VybiAoXCJncmFmdHNcIikgIgogImVpbmdlaMOkbmd0LiIKIAotIzogc2hhMV9maWxlLmM6MTE3NgorIzogc2hhMV9maWxlLmM6MTI0NQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICJPZmZzZXQgdm9yIEVuZGUgZGVyIFBhY2tkYXRlaSAoZmVobGVyaGFmdGUgSW5kZXhkYXRlaT8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNjM3CisjOiBzaGExX2ZpbGUuYzoyNzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAiT2Zmc2V0IHZvciBCZWdpbm4gZGVzIFBhY2stSW5kZXggZsO8ciAlcyAoYmVzY2jDpGRpZ3RlciBJbmRleD8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNjQxCisjOiBzaGExX2ZpbGUuYzoyNzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAiT2Zmc2V0IGhpbnRlciBFbmRlIGRlcyBQYWNrLUluZGV4IGbDvHIgJXMgKGFiZ2VzY2huaXR0ZW5lciBJbmRleD8pIgogCi0jOiBzaGExX25hbWUuYzo0MDcKKyM6IHNoYTFfbmFtZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAiS3VyemVyIFNIQS0xICVzIGlzdCBtZWhyZGV1dGlnLiIKIAotIzogc2hhMV9uYW1lLmM6NDE4CisjOiBzaGExX25hbWUuYzo0MzAKIG1zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgogbXNnc3RyICJEaWUgS2FuZGlkYXRlbiBzaW5kOiIKIAotIzogc2hhMV9uYW1lLmM6NTc4CisjOiBzaGExX25hbWUuYzo1ODkKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0zMzgwLDQ2ICszNjcxLDY2IEBACiAiaW5kZW0gU2llIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIlxuIgogImF1c2bDvGhyZW4uIgogCi0jOiBzdWJtb2R1bGUuYzo2NSBzdWJtb2R1bGUuYzo5OQorIzogc3VibW9kdWxlLmM6NzAgc3VibW9kdWxlLmM6MTA0CiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCiBtc2dzdHIgIiIKICJLYW5uIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIC5naXRtb2R1bGVzLURhdGVpIG5pY2h0IMOkbmRlcm4sIGzDtnNlblxuIgogIlNpZSB6dWVyc3QgZGllIEtvbmZsaWt0ZSBhdWYiCiAKLSM6IHN1Ym1vZHVsZS5jOjY5IHN1Ym1vZHVsZS5jOjEwMworIzogc3VibW9kdWxlLmM6NzQgc3VibW9kdWxlLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAiS29ubnRlIGtlaW5lIFNla3Rpb24gaW4gLmdpdG1vZHVsZXMgbWl0IFBmYWQgXCIlc1wiIGZpbmRlbiIKIAotIzogc3VibW9kdWxlLmM6NzcKKyM6IHN1Ym1vZHVsZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCiBtc2dzdHIgIktvbm50ZSBFaW50cmFnICclcycgaW4gLmdpdG1vZHVsZXMgbmljaHQgYWt0dWFsaXNpZXJlbiIKIAotIzogc3VibW9kdWxlLmM6MTEwCisjOiBzdWJtb2R1bGUuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIktvbm50ZSBFaW50cmFnICclcycgbmljaHQgYXVzIC5naXRtb2R1bGVzIGVudGZlcm5lbiIKIAotIzogc3VibW9kdWxlLmM6MTIxCisjOiBzdWJtb2R1bGUuYzoxMjYKIG1zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgogbXNnc3RyICJLb25udGUgYWt0dWFsaXNpZXJ0ZSAuZ2l0bW9kdWxlcy1EYXRlaSBuaWNodCB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKIAotIzogc3VibW9kdWxlLmM6MTU5CisjOiBzdWJtb2R1bGUuYzoxNjUKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiBtc2dzdHIgIk5lZ2F0aXZlIFdlcnRlIGbDvHIgc3VibW9kdWxlLmZldGNoSm9icyBuaWNodCBlcmxhdWJ0IgogCi0jOiBzdWJtb2R1bGUuYzoxMTg0CisjOiBzdWJtb2R1bGUuYzozNzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnaWQgImluIHVucG9wdWxhdGVkIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJJbiBuaWNodCBhdXNnZWNoZWNrdGVtIFN1Ym1vZHVsICclcycuIgorCisjOiBzdWJtb2R1bGUuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICJQZmFkc3BlemlmaWthdGlvbiAnJXMnIGJlZmluZGV0IHNpY2ggaW4gU3VibW9kdWwgJyUuKnMnIgorCisjOiBzdWJtb2R1bGUuYzoxMzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJyVzJyBuaWNodCBhbHMgR2l0LVJlcG9zaXRvcnkgZXJrYW5udCIKKworIzogc3VibW9kdWxlLmM6MTQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJLb25udGUgJ2dpdCBzdGF0dXMnIGluIFN1Ym1vZHVsICclcycgbmljaHQgc3RhcnRlbi4iCiAKLSM6IHN1Ym1vZHVsZS5jOjExOTcKKyM6IHN1Ym1vZHVsZS5jOjE0ODgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cyBpbiBzdWJtb2R1bGUgJyVzJyIKLW1zZ3N0ciAia29ubnRlICdnaXQgc3RhdHVzJyBpbiBTdWJtb2R1bCAnJXMnIG5pY2h0IGF1c2bDvGhyZW4iCittc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIktvbm50ZSAnZ2l0IHN0YXR1cycgaW4gU3VibW9kdWwgJyVzJyBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogc3VibW9kdWxlLmM6MTM5OAorIzogc3VibW9kdWxlLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBoYXMgZGlydHkgaW5kZXgiCittc2dzdHIgIlN1Ym1vZHVsICclcycgaGF0IGVpbmVuIGdlw6RuZGVydGVuIEluZGV4LiIKKworIzogc3VibW9kdWxlLmM6MTg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKQEAgLTM0MjcsMTggKzM3MzgsMTggQEAKICJyZWxvY2F0ZV9naXRkaXIgZsO8ciBTdWJtb2R1bCAnJXMnIG1pdCBtZWhyIGFscyBlaW5lbSBBcmJlaXRzdmVyemVpY2huaXNcbiIKICJ3aXJkIG5pY2h0IHVudGVyc3TDvHR6dCIKIAotIzogc3VibW9kdWxlLmM6MTQxMCBzdWJtb2R1bGUuYzoxNDcxCisjOiBzdWJtb2R1bGUuYzoxODU3IHN1Ym1vZHVsZS5jOjE5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia29ubnRlIE5hbWUgZsO8ciBTdWJtb2R1bCAnJXMnIG5pY2h0IG5hY2hzY2hsYWdlbiIKIAotIzogc3VibW9kdWxlLmM6MTQxNCBzdWJtb2R1bGUuYzoxNDc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTAKKyM6IHN1Ym1vZHVsZS5jOjE4NjEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBzdWJtb2R1bGUuYzoxNDIwCisjOiBzdWJtb2R1bGUuYzoxODY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJNaWdyYXRpbmcgZ2l0IGRpcmVjdG9yeSBvZiAnJXMlcycgZnJvbVxuIgpAQCAtMzQ0OSw4MSArMzc2MCw5NCBAQAogIiclcycgbmFjaFxuIgogIiclcydcbiIKIAotIzogc3VibW9kdWxlLmM6MTUxMgorIzogc3VibW9kdWxlLmM6MTk0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpIFJla3Vyc2lvbiBpbiBTdWJtb2R1bC1QZmFkICclcyciCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozNjAKKyM6IHN1Ym1vZHVsZS5jOjE5OTIKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgbHMtZmlsZXMgaW4gLi4iCittc2dzdHIgIktvbm50ZSAnbHMtZmlsZXMnIG5pY2h0IGluIC4uIHN0YXJ0ZW4iCisKKyM6IHN1Ym1vZHVsZS5jOjIwMTIKK21zZ2lkICJCVUc6IHJldHVybmVkIHBhdGggc3RyaW5nIGRvZXNuJ3QgbWF0Y2ggY3dkPyIKK21zZ3N0ciAiRkVITEVSOiB6dXLDvGNrZ2VnZWJlbmUgWmVpY2hlbmtldHRlIGbDvHIgUGZhZCBlbnRzcHJpY2h0IG5pY2h0IGN3ZD8iCisKKyM6IHN1Ym1vZHVsZS5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAibHMtdHJlZSByZXR1cm5lZCB1bmV4cGVjdGVkIHJldHVybiBjb2RlICVkIgorbXNnc3RyICJscy10cmVlIG1pdCB1bmVyd2FydGV0ZW0gUsO8Y2tnYWJld2VydCAlZCBiZWVuZGV0IgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgJXMiCiAKLSM6IHRyYWlsZXIuYzoyNDAKKyM6IHRyYWlsZXIuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVubmluZyB0cmFpbGVyIGNvbW1hbmQgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIkF1c2bDvGhyZW4gZGVzIEFuaGFuZy1CZWZlaGxzICclcycgZmVobGdlc2NobGFnZW4iCiAKLSM6IHRyYWlsZXIuYzo0NzMgdHJhaWxlci5jOjQ3NyB0cmFpbGVyLmM6NDgxIHRyYWlsZXIuYzo1MzUgdHJhaWxlci5jOjUzOQotIzogdHJhaWxlci5jOjU0MworIzogdHJhaWxlci5jOjQ3NCB0cmFpbGVyLmM6NDc4IHRyYWlsZXIuYzo0ODIgdHJhaWxlci5jOjUzNiB0cmFpbGVyLmM6NTQwCisjOiB0cmFpbGVyLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgInVuYmVrYW5udGVyIFdlcnQgJyVzJyBmw7xyIFNjaGzDvHNzZWwgJXMiCiAKLSM6IHRyYWlsZXIuYzo1MjUgdHJhaWxlci5jOjUzMCBidWlsdGluL3JlbW90ZS5jOjI4OQorIzogdHJhaWxlci5jOjUyNiB0cmFpbGVyLmM6NTMxIGJ1aWx0aW4vcmVtb3RlLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCiBtc2dzdHIgIm1laHIgYWxzIGVpbiAlcyIKIAotIzogdHJhaWxlci5jOjcwMgorIzogdHJhaWxlci5jOjcwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIgogbXNnc3RyICJsZWVyZXIgQW5oYW5nLVRva2VuIGluIEFuaGFuZyAnJS4qcyciCiAKLSM6IHRyYWlsZXIuYzo3MjIKKyM6IHRyYWlsZXIuYzo3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5wdXQgZmlsZSAnJXMnIgogbXNnc3RyICJLb25udGUgRWluZ2FiZS1EYXRlaSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiB0cmFpbGVyLmM6NzI1CisjOiB0cmFpbGVyLmM6NzI2CiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAia29ubnRlIG5pY2h0IHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogdHJhaWxlci5jOjk0OSBidWlsdGluL2FtLmM6NDQKKyM6IHRyYWlsZXIuYzo5NTAgYnVpbHRpbi9hbS5jOjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogdHJhaWxlci5jOjk1MQorIzogdHJhaWxlci5jOjk1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAiRGF0ZWkgJyVzJyBpc3Qga2VpbmUgcmVndWzDpHJlIERhdGVpIgogCi0jOiB0cmFpbGVyLmM6OTUzCisjOiB0cmFpbGVyLmM6OTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCiBtc2dzdHIgIkRhdGVpICVzIGlzdCB2b20gQmVudXR6ZXIgbmljaHQgYmVzY2hyZWliYmFyLiIKIAotIzogdHJhaWxlci5jOjk2NQorIzogdHJhaWxlci5jOjk2NgogbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJrb25udGUgdGVtcG9yw6RyZSBEYXRlaSAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IHRyYWlsZXIuYzoxMDAxCisjOiB0cmFpbGVyLmM6MTAwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVuYW1lIHRlbXBvcmFyeSBmaWxlIHRvICVzIgogbXNnc3RyICJrb25udGUgdGVtcG9yw6RyZSBEYXRlaSBuaWNodCB6dSAlcyB1bWJlbmVubmVuIgogCi0jOiB0cmFuc3BvcnQuYzo2MgorIzogdHJhbnNwb3J0LmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCiBtc2dzdHIgIlfDvHJkZSBVcHN0cmVhbS1CcmFuY2ggdm9uICclcycgenUgJyVzJyB2b24gJyVzJyBzZXR6ZW5cbiIKIAotIzogdHJhbnNwb3J0LmM6MTUxCisjOiB0cmFuc3BvcnQuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgogbXNnc3RyICJ0cmFuc3BvcnQ6IHVuZ8O8bHRpZ2UgLS1kZXB0aCBPcHRpb24gJyVzJyIKIAotIzogdHJhbnNwb3J0LmM6ODg1CisjOiB0cmFuc3BvcnQuYzo4OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgpAQCAtMzUzMiw3ICszODU2LDcgQEAKICJEaWUgZm9sZ2VuZGVuIFN1Ym1vZHVsLVBmYWRlIGVudGhhbHRlbiDDhG5kZXJ1bmdlbiwgZGllIGluIGtlaW5lbVxuIgogIlJlbW90ZS1SZXBvc2l0b3J5IGdlZnVuZGVuIHd1cmRlbjpcbiIKIAotIzogdHJhbnNwb3J0LmM6ODg5CisjOiB0cmFuc3BvcnQuYzo4OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzU1OSwxMSArMzg4MywxMSBAQAogInp1bSBWZXJzZW5kZW4genUgZWluZW0gUmVtb3RlLVJlcG9zaXRvcnkuXG4iCiAiXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjg5NworIzogdHJhbnNwb3J0LmM6OTAyCiBtc2dpZCAiQWJvcnRpbmcuIgogbXNnc3RyICJBYmJydWNoLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwODIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHJlZiAlcyIKIG1zZ3N0ciAiS29ubnRlIFJlZmVyZW56ICVzIG5pY2h0IGxlc2VuLiIKQEAgLTM1ODQsNyArMzkwOCw3IEBACiBtc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKIG1zZ3N0ciAienUga3VyemUgVHJlZS1EYXRlaSIKIAotIzogdW5wYWNrLXRyZWVzLmM6OTkKKyM6IHVucGFjay10cmVlcy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNTk1LDcgKzM5MTksNyBAQAogIiUlc0JpdHRlIGNvbW1pdHRlbiBvZGVyIHN0YXNoZW4gU2llIElocmUgw4RuZGVydW5nZW4sIGJldm9yIFNpZSBCcmFuY2hlc1xuIgogIndlY2hzZWxuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTAxCisjOiB1bnBhY2stdHJlZXMuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzYwNSw3ICszOTI5LDcgQEAKICLDvGJlcnNjaHJpZWJlbiB3ZXJkZW46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDQKKyM6IHVucGFjay10cmVlcy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNjEzLDkgKzM5MzcsOSBAQAogbXNnc3RyICIiCiAiSWhyZSBsb2thbGVuIMOEbmRlcnVuZ2VuIGluIGRlbiBmb2xnZW5kZW4gRGF0ZWllbiB3w7xyZGVuIGR1cmNoIGRlbiBNZXJnZVxuIgogIsO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKLSIlJXNCaXR0ZSBjb21taXR0ZW4gb2RlciBzdGFzaGVuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuLCBiZXZvciBzaWUgbWVyZ2VuLiIKKyIlJXNCaXR0ZSBjb21taXR0ZW4gb2RlciBzdGFzaGVuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuLCBiZXZvciBTaWUgbWVyZ2VuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA2CisjOiB1bnBhY2stdHJlZXMuYzoxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzYyNSw3ICszOTQ5LDcgQEAKICLDvGJlcnNjaHJpZWJlbiB3ZXJkZW46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDkKKyM6IHVucGFjay10cmVlcy5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC0zNjM1LDcgKzM5NTksNyBAQAogIsO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlJXNCaXR0ZSBjb21taXR0ZW4gb2RlciBzdGFzaGVuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuLCBiZXZvciBTaWUgJXMgYXVzZsO8aHJlbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjExMQorIzogdW5wYWNrLXRyZWVzLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM2NDQsNyArMzk2OCw3IEBACiAiSWhyZSBsb2thbGVuIMOEbmRlcnVuZ2VuIHfDvHJkZW4gZHVyY2ggJXMgw7xiZXJzY2hyaWViZW4gd2VyZGVuLlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE2CisjOiB1bnBhY2stdHJlZXMuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVwZGF0aW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgd291bGQgbG9zZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlbTpcbiIKQEAgLTM2NTQsNyArMzk3OCw3IEBACiAiRGF0ZWllbiBpbiBkaWVzZW4gVmVyemVpY2huaXNzZW4gdmVybG9yZW4gZ2VoZW46XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMAorIzogdW5wYWNrLXRyZWVzLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTM2NjQsNyArMzk4OCw3IEBACiAiZGVuIENoZWNrb3V0IGVudGZlcm50IHdlcmRlbjpcbiIKICIlJXNCaXR0ZSB2ZXJzY2hpZWJlbiBvZGVyIGVudGZlcm5lbiBTaWUgZGllc2UsIGJldm9yIFNpZSBCcmFuY2hlcyB3ZWNoc2Vsbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTM2NzUsNyArMzk5OSw3IEBACiAiQ2hlY2tvdXQgZW50ZmVybnQgd2VyZGVuOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI1CisjOiB1bnBhY2stdHJlZXMuYzoxMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtMzY4NSw3ICs0MDA5LDcgQEAKICJkZW4gTWVyZ2UgZW50ZmVybnQgd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3Igc2llIG1lcmdlbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNworIzogdW5wYWNrLXRyZWVzLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTM2OTYsNyArNDAyMCw3IEBACiAiTWVyZ2UgZW50ZmVybnQgd2VyZGVuOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTMwCisjOiB1bnBhY2stdHJlZXMuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtMzcwNiw3ICs0MDMwLDcgQEAKICJkZW4gJXMgZW50ZmVybnQgd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3Igc2llICVzIGF1c2bDvGhyZW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzIKKyM6IHVucGFjay10cmVlcy5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC0zNzE2LDcgKzQwNDAsNyBAQAogImRlbiAlcyBlbnRmZXJudCB3ZXJkZW46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzcKKyM6IHVucGFjay10cmVlcy5jOjE0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKQEAgLTM3MjcsNyArNDA1MSw3IEBACiAiZGVuIENoZWNrb3V0IMO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlJXNCaXR0ZSB2ZXJzY2hpZWJlbiBvZGVyIGVudGZlcm5lbiBTaWUgZGllc2UsIGJldm9yIFNpZSBCcmFuY2hlcyB3ZWNoc2Vsbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEzOQorIzogdW5wYWNrLXRyZWVzLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtMzczOSw3ICs0MDYzLDcgQEAKICJDaGVja291dCDDvGJlcnNjaHJpZWJlbiB3ZXJkZW46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDIKKyM6IHVucGFjay10cmVlcy5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzc0OSw3ICs0MDczLDcgQEAKICJkZW4gTWVyZ2Ugw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3IgU2llIG1lcmdlbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NAorIzogdW5wYWNrLXRyZWVzLmM6MTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNzU5LDcgKzQwODMsNyBAQAogImRlbiBNZXJnZSDDvGJlcnNjaHJpZWJlbiB3ZXJkZW46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDcKKyM6IHVucGFjay10cmVlcy5jOjE1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzc2OSw3ICs0MDkzLDcgQEAKICJkZW4gJXMgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3Igc2llICVzIGF1c2bDvGhyZW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDkKKyM6IHVucGFjay10cmVlcy5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzc4MCwxMiArNDEwNCwxMiBAQAogIiVzIMO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVudHJ5ICclcycgb3ZlcmxhcHMgd2l0aCAnJXMnLiAgQ2Fubm90IGJpbmQuIgogbXNnc3RyICJFaW50cmFnICclcycgw7xiZXJzY2huZWlkZXQgc2ljaCBtaXQgJyVzJy4gS2FubiBuaWNodCB2ZXJiaW5kZW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTkKKyM6IHVucGFjay10cmVlcy5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwLXRvLWRhdGU6XG4iCkBAIC0zNzk2LDcgKzQxMjAsNyBAQAogImFrdHVlbGw6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MQorIzogdW5wYWNrLXRyZWVzLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtMzgwNyw3ICs0MTMxLDcgQEAKICLDvGJlciBlaW5lbiBwYXJ0aWVsbGVuIENoZWNrb3V0IMO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYzCisjOiB1bnBhY2stdHJlZXMuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTM4MTgsMjM5ICs0MTQyLDI2MSBAQAogIsO8YmVyIGVpbmVuIHBhcnRpZWxsZW4gQ2hlY2tvdXQgZW50ZmVybnQgd2VyZGVuOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNDAKKyM6IHVucGFjay10cmVlcy5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCisiJXMiCittc2dzdHIgIiIKKyJLYW5uIFN1Ym1vZHVsIG5pY2h0IGFrdHVhbGlzaWVyZW46XG4iCisiJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjI0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZ1xuIgogbXNnc3RyICJBYmJydWNoXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjI3MAorIzogdW5wYWNrLXRyZWVzLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSB1cGRhdGUgc3RyYXRlZ3kgbm90IHN1cHBvcnRlZCBmb3Igc3VibW9kdWxlICclcyciCittc2dzdHIgIiIKKyJTdHJhdGVnaWUgenVyIEFrdHVhbGlzaWVydW5nIHZvbiBTdWJtb2R1bGVuIGbDvHIgU3VibW9kdWwgJyVzJyBuaWNodCAiCisidW50ZXJzdMO8dHp0LiIKKworIzogdW5wYWNrLXRyZWVzLmM6MzQ2CiBtc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgogbXNnc3RyICJDaGVja2UgRGF0ZWllbiBhdXMiCiAKLSM6IHVybG1hdGNoLmM6MTIwCisjOiB1cmxtYXRjaC5jOjE2MwogbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgogbXNnc3RyICJVbmfDvGx0aWdlcyBVUkwtU2NoZW1hIG9kZXIgU3VmZml4ICc6Ly8nIGZlaGx0IgogCi0jOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIzogdXJsbWF0Y2guYzoxODcgdXJsbWF0Y2guYzozNDYgdXJsbWF0Y2guYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgogbXNnc3RyICJ1bmfDvGx0aWdlIEVzY2FwZS1TZXF1ZW56ICVYWCIKIAotIzogdXJsbWF0Y2guYzoxNzIKKyM6IHVybG1hdGNoLmM6MjE1CiBtc2dpZCAibWlzc2luZyBob3N0IGFuZCBzY2hlbWUgaXMgbm90ICdmaWxlOiciCiBtc2dzdHIgImZlaGxlbmRlciBIb3N0IHVuZCBTY2hlbWEgaXN0IG5pY2h0ICdmaWxlOiciCiAKLSM6IHVybG1hdGNoLmM6MTg5CisjOiB1cmxtYXRjaC5jOjIzMgogbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCiBtc2dzdHIgImVpbmUgJ2ZpbGU6JyBVUkwgZGFyZiBrZWluZSBQb3J0bnVtbWVyIGVudGhhbHRlbiIKIAotIzogdXJsbWF0Y2guYzoxOTkKKyM6IHVybG1hdGNoLmM6MjQ3CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKIG1zZ3N0ciAiSG9zdG5hbWUgZW50aMOkbHQgdW5nw7xsdGlnZSBaZWljaGVuIgogCi0jOiB1cmxtYXRjaC5jOjI0NCB1cmxtYXRjaC5jOjI1NQorIzogdXJsbWF0Y2guYzoyOTIgdXJsbWF0Y2guYzozMDMKIG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgogbXNnc3RyICJ1bmfDvGx0aWdlIFBvcnRudW1tZXIiCiAKLSM6IHVybG1hdGNoLmM6MzIyCisjOiB1cmxtYXRjaC5jOjM3MQogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzICcuLicgUGZhZHNlZ21lbnQiCiAKLSM6IHdvcmt0cmVlLmM6MjgyCisjOiB3b3JrdHJlZS5jOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiB2b24gJyVzJyIKIAotIzogd3JhcHBlci5jOjIyMiB3cmFwcGVyLmM6MzkyCisjOiB3cmFwcGVyLmM6MjIzIHdyYXBwZXIuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIExlc2VuIHVuZCBTY2hyZWliZW4gw7ZmZm5lbi4iCiAKLSM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM5NCBidWlsdGluL2FtLmM6NzY2CisjOiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUgYnVpbHRpbi9hbS5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dW0gU2NocmVpYmVuIMO2ZmZuZW4uIgogCi0jOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozOTYgYnVpbHRpbi9hbS5jOjMyMCBidWlsdGluL2FtLmM6NzU5Ci0jOiBidWlsdGluL2FtLmM6ODQ3IGJ1aWx0aW4vY29tbWl0LmM6MTcwMCBidWlsdGluL21lcmdlLmM6MTAzMwotIzogYnVpbHRpbi9wdWxsLmM6MzQxCisjOiB3cmFwcGVyLmM6MjI3IHdyYXBwZXIuYzozOTcgYnVpbHRpbi9hbS5jOjMxOSBidWlsdGluL2FtLmM6NzU3CisjOiBidWlsdGluL2FtLmM6ODQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1bSBMZXNlbiDDtmZmbmVuLiIKIAotIzogd3JhcHBlci5jOjYwNSB3cmFwcGVyLmM6NjI2CisjOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICJrb25udGUgbmljaHQgYXVmICclcycgenVncmVpZmVuIgogCi0jOiB3cmFwcGVyLmM6NjM0CisjOiB3cmFwcGVyLmM6NjMyCiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJLb25udGUgYWt0dWVsbGVzIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCBiZWtvbW1lbi4iCiAKLSM6IHdyYXBwZXIuYzo2NTgKKyM6IHdyYXBwZXIuYzo2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICJLb25udGUgbmljaHQgbmFjaCAnJXMnIHNjaHJlaWJlbi4iCiAKLSM6IHdyYXBwZXIuYzo2NjAKKyM6IHdyYXBwZXIuYzo2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICVzIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBzY2hsaWXDn2VuLiIKIAotIzogd3Qtc3RhdHVzLmM6MTUxCisjOiB3dC1zdGF0dXMuYzoxNTIKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIk5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIFBmYWRlOiIKIAotIzogd3Qtc3RhdHVzLmM6MTc4IHd0LXN0YXR1cy5jOjIwNQorIzogd3Qtc3RhdHVzLmM6MTc5IHd0LXN0YXR1cy5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmVzZXQgJXMgPERhdGVpPi4uLlwiIHp1bSBFbnRmZXJuZW4gYXVzIGRlciBTdGFnaW5nLSIKICJBcmVhKSIKIAotIzogd3Qtc3RhdHVzLmM6MTgwIHd0LXN0YXR1cy5jOjIwNworIzogd3Qtc3RhdHVzLmM6MTgxIHd0LXN0YXR1cy5jOjIwOAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBybSAtLWNhY2hlZCA8RGF0ZWk+Li4uXCIgenVtIEVudGZlcm5lbiBhdXMgZGVyIFN0YWdpbmctIgogIkFyZWEpIgogCi0jOiB3dC1zdGF0dXMuYzoxODQKKyM6IHd0LXN0YXR1cy5jOjE4NQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhZGQvcm0gPERhdGVpPi4uLlwiLCB1bSBkaWUgQXVmbMO2c3VuZyB6dSBtYXJraWVyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxODYgd3Qtc3RhdHVzLmM6MTkwCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MTkxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFkZC9ybSA8RGF0ZWk+Li4uXCIsIHVtIGRpZSBBdWZsw7ZzdW5nIGVudHNwcmVjaGVuZCB6dSAiCiAibWFya2llcmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg4CisjOiB3dC1zdGF0dXMuYzoxODkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhZGQvcm0gPERhdGVpPi4uLlwiLCB1bSBkaWUgQXVmbMO2c3VuZyB6dSBtYXJraWVyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxOTkgd3Qtc3RhdHVzLmM6OTQ1CisjOiB3dC1zdGF0dXMuYzoyMDAgd3Qtc3RhdHVzLmM6OTgxCiBtc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICJ6dW0gQ29tbWl0IHZvcmdlbWVya3RlIMOEbmRlcnVuZ2VuOiIKIAotIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAorIzogd3Qtc3RhdHVzLmM6MjE4IHd0LXN0YXR1cy5jOjk5MAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3Qgc2luZDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMQorIzogd3Qtc3RhdHVzLmM6MjIyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkIDxEYXRlaT4uLi5cIiwgdW0gZGllIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgIgogInZvcnp1bWVya2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhZGQvcm0gPERhdGVpPi4uLlwiLCB1bSBkaWUgw4RuZGVydW5nZW4genVtIENvbW1pdCAiCiAidm9yenVtZXJrZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjQKKyM6IHd0LXN0YXR1cy5jOjIyNQogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBjaGVja291dCAtLSA8RGF0ZWk+Li4uXCIsIHVtIGRpZSDDhG5kZXJ1bmdlbiBpbSAiCiAiQXJiZWl0c3ZlcnplaWNobmlzIHp1IHZlcndlcmZlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNgorIzogd3Qtc3RhdHVzLmM6MjI3CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAoY29tbWl0dGVuIG9kZXIgdmVyd2VyZmVuIFNpZSBkZW4gdW52ZXJzaW9uaWVydGVuIG9kZXIgZ2XDpG5kZXJ0ZW4gSW5oYWx0ICIKICJpbiBkZW4gU3VibW9kdWxlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIzOAorIzogd3Qtc3RhdHVzLmM6MjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0ICVzIDxEYXRlaT4uLi5cIiwgdW0gZGllIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgIgogInZvcnp1bWVya2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjUzCisjOiB3dC1zdGF0dXMuYzoyNTQKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICJiZWlkZSBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI1NgogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAidm9uIHVucyBoaW56dWdlZsO8Z3Q6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTcKKyM6IHd0LXN0YXR1cy5jOjI1OAogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgInZvbiBkZW5lbiBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTkKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJ2b24gZGVuZW4gaGluenVnZWbDvGd0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjYxCisjOiB3dC1zdGF0dXMuYzoyNjIKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAidm9uIHVucyBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjMKKyM6IHd0LXN0YXR1cy5jOjI2NAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICJ2b24gYmVpZGVuIGhpbnp1Z2Vmw7xndDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NQorIzogd3Qtc3RhdHVzLmM6MjY2CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgInZvbiBiZWlkZW4gZ2XDpG5kZXJ0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc1CisjOiB3dC1zdGF0dXMuYzoyNzYKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgIm5ldWUgRGF0ZWk6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzcKKyM6IHd0LXN0YXR1cy5jOjI3OAogbXNnaWQgImNvcGllZDoiCiBtc2dzdHIgImtvcGllcnQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzkKKyM6IHd0LXN0YXR1cy5jOjI4MAogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICJnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyODEKKyM6IHd0LXN0YXR1cy5jOjI4MgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAiZ2XDpG5kZXJ0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjgzCisjOiB3dC1zdGF0dXMuYzoyODQKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAidW1iZW5hbm50OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg1CisjOiB3dC1zdGF0dXMuYzoyODYKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAiVHlww6RuZGVydW5nOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg3CisjOiB3dC1zdGF0dXMuYzoyODgKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAidW5iZWthbm50OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg5CisjOiB3dC1zdGF0dXMuYzoyOTAKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgIm5pY2h0IGdlbWVyZ2VkOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcxCisjOiB3dC1zdGF0dXMuYzozNzIKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJuZXVlIENvbW1pdHMsICIKIAotIzogd3Qtc3RhdHVzLmM6MzczCisjOiB3dC1zdGF0dXMuYzozNzQKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgImdlw6RuZGVydGVyIEluaGFsdCwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzUKKyM6IHd0LXN0YXR1cy5jOjM3NgogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgInVudmVyc2lvbmllcnRlciBJbmhhbHQsICIKIAotIzogd3Qtc3RhdHVzLmM6ODE4CisjOiB3dC1zdGF0dXMuYzo4MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgorbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKK21zZ3N0clswXSAiSWhyIFN0YXNoIGhhdCBnZXJhZGUgJWQgRWludHJhZyIKK21zZ3N0clsxXSAiSWhyIFN0YXNoIGhhdCBnZXJhZGUgJWQgRWludHLDpGdlIgorCisjOiB3dC1zdGF0dXMuYzo4NTMKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAiU3VibW9kdWxlIGdlw6RuZGVydCwgYWJlciBuaWNodCBha3R1YWxpc2llcnQ6IgogCi0jOiB3dC1zdGF0dXMuYzo4MjAKKyM6IHd0LXN0YXR1cy5jOjg1NQogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIsOEbmRlcnVuZ2VuIGluIFN1Ym1vZHVsIHp1bSBDb21taXR0ZW46IgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjkzNwogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgpAQCAtNDA1OCwxMTQgKzQ0MDQsMTE0IEBACiAiw4RuZGVybiBTaWUgbmljaHQgZGllIG9iaWdlIFplaWxlLlxuIgogIkFsbGVzIHVudGVyaGFsYiB2b24gaWhyIHdpcmQgZW50ZmVybnQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDEzCisjOiB3dC1zdGF0dXMuYzoxMDQ5CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJTaWUgaGFiZW4gbmljaHQgenVzYW1tZW5nZWbDvGhydGUgUGZhZGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE2CisjOiB3dC1zdGF0dXMuYzoxMDUyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBcImdpdCBjb21taXRcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE4CisjOiB3dC1zdGF0dXMuYzoxMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiLCB1bSBkZW4gTWVyZ2UgYWJ6dWJyZWNoZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMDIzCisjOiB3dC1zdGF0dXMuYzoxMDU5CiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAiQWxsZSBLb25mbGlrdGUgc2luZCBiZWhvYmVuLCBhYmVyIFNpZSBzaW5kIGltbWVyIG5vY2ggYmVpbSBNZXJnZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMjYKKyM6IHd0LXN0YXR1cy5jOjEwNjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgY29tbWl0XCIsIHVtIGRlbiBNZXJnZSBhYnp1c2NobGllw59lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzYKKyM6IHd0LXN0YXR1cy5jOjEwNzIKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIkVpbmUgXCJhbVwiLVNpdHp1bmcgaXN0IGltIEdhbmdlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAzOQorIzogd3Qtc3RhdHVzLmM6MTA3NQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiRGVyIGFrdHVlbGxlIFBhdGNoIGlzdCBsZWVyLiIKIAotIzogd3Qtc3RhdHVzLmM6MTA0MworIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IGFtIC0tY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDQ1CisjOiB3dC1zdGF0dXMuYzoxMDgxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhbSAtLXNraXBcIiwgdW0gZGllc2VuIFBhdGNoIGF1c3p1bGFzc2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NworIzogd3Qtc3RhdHVzLmM6MTA4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhbSAtLWFib3J0XCIsIHVtIGRlbiB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoICIKICJ3aWVkZXJoZXJ6dXN0ZWxsZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc2CisjOiB3dC1zdGF0dXMuYzoxMjE0CiBtc2dpZCAiZ2l0LXJlYmFzZS10b2RvIGlzIG1pc3NpbmcuIgogbXNnc3RyICJnaXQtcmViYXNlLXRvZG8gZmVobHQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc4CisjOiB3dC1zdGF0dXMuYzoxMjE2CiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIktlaW5lIEJlZmVobGUgYXVzZ2Vmw7xocnQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgxCisjOiB3dC1zdGF0dXMuYzoxMjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIlp1bGV0enQgYXVzZ2Vmw7xocnRlciBCZWZlaGwgKCVkIEJlZmVobCBhdXNnZWbDvGhydCk6IgogbXNnc3RyWzFdICJadWxldHp0IGF1c2dlZsO8aHJ0ZSBCZWZlaGxlICglZCBCZWZlaGxlIGF1c2dlZsO8aHJ0KToiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTIKKyM6IHd0LXN0YXR1cy5jOjEyMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAoc2VlIG1vcmUgaW4gZmlsZSAlcykiCiBtc2dzdHIgIiAgKG1laHIgSW5mb3JtYXRpb25lbiBpbiBEYXRlaSAlcykiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTcKKyM6IHd0LXN0YXR1cy5jOjEyMzUKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICJLZWluZSBCZWZlaGxlIHZlcmJsZWliZW5kLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMAorIzogd3Qtc3RhdHVzLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICJOw6RjaHN0ZXIgYXVzenVmw7xocmVuZGVyIEJlZmVobCAoJWQgQmVmZWhsZSB2ZXJibGVpYmVuZCk6IgogbXNnc3RyWzFdICJOw6RjaHN0ZSBhdXN6dWbDvGhyZW5kZSBCZWZlaGxlICglZCBCZWZlaGxlIHZlcmJsZWliZW5kKToiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDgKKyM6IHd0LXN0YXR1cy5jOjEyNDYKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB6dW0gQW5zZWhlbiB1bmQgQmVhcmJlaXRlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjEKKyM6IHd0LXN0YXR1cy5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIlNpZSBzaW5kIGdlcmFkZSBiZWltIFJlYmFzZSB2b24gQnJhbmNoICclcycgYXVmICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI2CisjOiB3dC1zdGF0dXMuYzoxMjY0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJTaWUgc2luZCBnZXJhZGUgYmVpbSBSZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMjc4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgIgogImF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDIKKyM6IHd0LXN0YXR1cy5jOjEyODAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCByZWJhc2UgLS1za2lwXCIsIHVtIGRpZXNlbiBQYXRjaCBhdXN6dWxhc3NlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDQKKyM6IHd0LXN0YXR1cy5jOjEyODIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiwgdW0gZGVuIHVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggIgogImF1c3p1Y2hlY2tlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTAKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGUgS29uZmxpa3RlIGJlaG9iZW46IGbDvGhyZW4gU2llIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgpAQCAtNDE3MywxMzQgKzQ1MTksMTM4IEBACiAiU2llIHRlaWxlbiBnZXJhZGUgZWluZW4gQ29tbWl0IGF1Ziwgd8OkaHJlbmQgZWluIFJlYmFzZSB2b24gQnJhbmNoICclcycgYXVmICIKICInJXMnIGltIEdhbmdlIGlzdC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTkKKyM6IHd0LXN0YXR1cy5jOjEyOTcKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiU2llIHRlaWxlbiBnZXJhZGUgZWluZW4gQ29tbWl0IHfDpGhyZW5kIGVpbmVzIFJlYmFzZSBhdWYuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYyCisjOiB3dC1zdGF0dXMuYzoxMzAwCiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChTb2JhbGQgSWhyIEFyYmVpdHN2ZXJ6ZWljaG5pcyB1bnZlcsOkbmRlcnQgaXN0LCBmw7xocmVuIFNpZSBcImdpdCByZWJhc2UgLS0iCiAiY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY2CisjOiB3dC1zdGF0dXMuYzoxMzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKICJTaWUgZWRpdGllcmVuIGdlcmFkZSBlaW5lbiBDb21taXQgd8OkaHJlbmQgZWluZXMgUmViYXNlIHZvbiBCcmFuY2ggJyVzJyBhdWYgIgogIiclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjcxCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJTaWUgZWRpdGllcmVuIGdlcmFkZSBlaW5lbiBDb21taXQgd8OkaHJlbmQgZWluZXMgUmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NAorIzogd3Qtc3RhdHVzLmM6MTMxMgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiwgdW0gZGVuIGFrdHVlbGxlbiBDb21taXQgIgogIm5hY2h6dWJlc3Nlcm4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzE0CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgc29iYWxkIElocmUgw4RuZGVydW5nZW4gIgogImFiZ2VzY2hsb3NzZW4gc2luZCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyODYKKyM6IHd0LXN0YXR1cy5jOjEzMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiU2llIGbDvGhyZW4gZ2VyYWRlIFwiY2hlcnJ5LXBpY2tcIiB2b24gQ29tbWl0ICVzIGF1cy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTEKKyM6IHd0LXN0YXR1cy5jOjEzMjkKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGbDvGhyZW4gU2llIGRhbm4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSIKICJcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjk0CisjOiB3dC1zdGF0dXMuYzoxMzMyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChhbGxlIEtvbmZsaWt0ZSBiZWhvYmVuOiBmw7xocmVuIFNpZSBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI5NgorIzogd3Qtc3RhdHVzLmM6MTMzNAogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiwgdW0gZGllIENoZXJyeS1QaWNrLU9wZXJhdGlvbiAiCiAiYWJ6dWJyZWNoZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA1CisjOiB3dC1zdGF0dXMuYzoxMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICJTaWUgc2luZCBnZXJhZGUgYW4gZWluZW0gUmV2ZXJ0IHZvbiBDb21taXQgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTAKKyM6IHd0LXN0YXR1cy5jOjEzNDgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgIgogImF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTMKKyM6IHd0LXN0YXR1cy5jOjEzNTEKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGUgS29uZmxpa3RlIGJlaG9iZW46IGbDvGhyZW4gU2llIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMxNQorIzogd3Qtc3RhdHVzLmM6MTM1MwogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiwgdW0gZGllIFJldmVydC1PcGVyYXRpb24gYWJ6dWJyZWNoZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI2CisjOiB3dC1zdGF0dXMuYzoxMzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaSBlaW5lciBiaW7DpHJlbiBTdWNoZSwgZ2VzdGFydGV0IHZvbiBCcmFuY2ggJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzAKKyM6IHd0LXN0YXR1cy5jOjEzNjgKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJTaWUgc2luZCBnZXJhZGUgYmVpIGVpbmVyIGJpbsOkcmVuIFN1Y2hlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMworIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBiaXNlY3QgcmVzZXRcIiwgdW0genVtIHVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggIgogInp1csO8Y2t6dWtlaHJlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzAKKyM6IHd0LXN0YXR1cy5jOjE1NjgKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJBdWYgQnJhbmNoICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNgorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgImludGVyYWt0aXZlcyBSZWJhc2UgaW0gR2FuZ2U7IGF1ZiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzgKKyM6IHd0LXN0YXR1cy5jOjE1NzYKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJSZWJhc2UgaW0gR2FuZ2U7IGF1ZiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDMKKyM6IHd0LXN0YXR1cy5jOjE1ODEKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCBsb3NnZWzDtnN0IGJlaSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDUKKyM6IHd0LXN0YXR1cy5jOjE1ODMKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFEIGxvc2dlbMO2c3Qgdm9uICIKIAotIzogd3Qtc3RhdHVzLmM6MTU0OAorIzogd3Qtc3RhdHVzLmM6MTU4NgogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkltIE1vbWVudCBhdWYga2VpbmVtIEJyYW5jaC4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NjYKKyM6IHd0LXN0YXR1cy5jOjE2MDYKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiSW5pdGlhbGVyIENvbW1pdCIKIAotIzogd3Qtc3RhdHVzLmM6MTU4MAorIzogd3Qtc3RhdHVzLmM6MTYwNworbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgorbXNnc3RyICJOb2NoIGtlaW5lIENvbW1pdHMiCisKKyM6IHd0LXN0YXR1cy5jOjE2MjEKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIlVudmVyc2lvbmllcnRlIERhdGVpZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODIKKyM6IHd0LXN0YXR1cy5jOjE2MjMKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJJZ25vcmllcnRlIERhdGVpZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODYKKyM6IHd0LXN0YXR1cy5jOjE2MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTQzMTEsMzIgKzQ2NjEsMzIgQEAKICInc3RhdHVzIC11bm8nIGvDtm5udGUgZGFzIGJlc2NobGV1bmlnZW4sIGFiZXIgU2llIG3DvHNzZW4gZGFyYXVmIGFjaHRlbixcbiIKICJuZXVlIERhdGVpZW4gc2VsYnN0c3TDpG5kaWcgaGluenV6dWbDvGdlbiAoc2llaGUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTU5MgorIzogd3Qtc3RhdHVzLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICJVbnZlcnNpb25pZXJ0ZSBEYXRlaWVuIG5pY2h0IGF1ZmdlbGlzdGV0JXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTQKKyM6IHd0LXN0YXR1cy5jOjE2MzUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKGJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC11LCB1bSB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGFuenV6ZWlnZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNjAwCisjOiB3dC1zdGF0dXMuYzoxNjQxCiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDUKKyM6IHd0LXN0YXR1cy5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJrZWluZSDDhG5kZXJ1bmdlbiB6dW0gQ29tbWl0IHZvcmdlbWVya3QgKGJlbnV0emVuIFNpZSBcImdpdCBhZGRcIiB1bmQvb2RlciAiCiAiXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDgKKyM6IHd0LXN0YXR1cy5jOjE2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAia2VpbmUgw4RuZGVydW5nZW4genVtIENvbW1pdCB2b3JnZW1lcmt0XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTQzNDUsMzQ0ICs0Njk1LDM4MyBAQAogIm5pY2h0cyB6dW0gQ29tbWl0IHZvcmdlbWVya3QsIGFiZXIgZXMgZ2lidCB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuXG4iCiAiKGJlbnV0emVuIFNpZSBcImdpdCBhZGRcIiB6dW0gVmVyc2lvbmllcmVuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE0CisjOiB3dC1zdGF0dXMuYzoxNjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICJuaWNodHMgenVtIENvbW1pdCB2b3JnZW1lcmt0LCBhYmVyIGVzIGdpYnQgdW52ZXJzaW9uaWVydGUgRGF0ZWllblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE3CisjOiB3dC1zdGF0dXMuYzoxNjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICIiCiAibmljaHRzIHp1IGNvbW1pdHRlbiAoRXJzdGVsbGVuL0tvcGllcmVuIFNpZSBEYXRlaWVuIHVuZCBiZW51dHplblxuIgogIlNpZSBcImdpdCBhZGRcIiB6dW0gVmVyc2lvbmllcmVuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIwIHd0LXN0YXR1cy5jOjE2MjUKKyM6IHd0LXN0YXR1cy5jOjE2NjEgd3Qtc3RhdHVzLmM6MTY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJuaWNodHMgenUgY29tbWl0dGVuXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjMKKyM6IHd0LXN0YXR1cy5jOjE2NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKLW1zZ3N0ciAibmljaHRzIHp1IGNvbW1pdHRlbiAoYmVudXR6ZW4gU2llIGRpZSBPcHRpb24gLXUsIHVtIHVudmVyc2lvbmllcnRlIERhdGVpZW4gYW56dXplaWdlbilcbiIKK21zZ3N0ciAiIgorIm5pY2h0cyB6dSBjb21taXR0ZW4gKGJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC11LCB1bSB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuICIKKyJhbnp1emVpZ2VuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjI3CisjOiB3dC1zdGF0dXMuYzoxNjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAibmljaHRzIHp1IGNvbW1pdHRlbiwgQXJiZWl0c3ZlcnplaWNobmlzIHVudmVyw6RuZGVydFxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzM0Ci1tc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgotbXNnc3RyICJJbml0aWFsZXIgQ29tbWl0IGF1ZiAiCisjOiB3dC1zdGF0dXMuYzoxNzgwCittc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgorbXNnc3RyICJOb2NoIGtlaW5lIENvbW1pdHMgaW4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNzM4CisjOiB3dC1zdGF0dXMuYzoxNzg0CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAoa2VpbiBCcmFuY2gpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzY3Ci1tc2dpZCAiZ29uZSIKLW1zZ3N0ciAiZW50ZmVybnQiCi0KLSM6IHd0LXN0YXR1cy5jOjE3Njkgd3Qtc3RhdHVzLmM6MTc3NworIzogd3Qtc3RhdHVzLmM6MTgxMyB3dC1zdGF0dXMuYzoxODIxCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiaGludGVyaGVyICIKIAotIzogd3Qtc3RhdHVzLmM6MTc3MiB3dC1zdGF0dXMuYzoxNzc1CisjOiB3dC1zdGF0dXMuYzoxODE2IHd0LXN0YXR1cy5jOjE4MTkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgInZvcmF1cyAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMjc3CisjOiB3dC1zdGF0dXMuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICIlcyBuaWNodCBtw7ZnbGljaDogU2llIGhhYmVuIMOEbmRlcnVuZ2VuLCBkaWUgbmljaHQgenVtIENvbW1pdCB2b3JnZW1lcmt0IHNpbmQuIgogCi0jOiB3dC1zdGF0dXMuYzoyMjgzCisjOiB3dC1zdGF0dXMuYzoyMzE3CiBtc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJadXPDpHR6bGljaCBlbnRow6RsdCBkaWUgU3RhZ2luZy1BcmVhIG5pY2h0IGNvbW1pdHRldGUgw4RuZGVydW5nZW4uIgogCi0jOiB3dC1zdGF0dXMuYzoyMjg1CisjOiB3dC1zdGF0dXMuYzoyMzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIiVzIG5pY2h0IG3DtmdsaWNoOiBEaWUgU3RhZ2luZy1BcmVhIGVudGjDpGx0IG5pY2h0IGNvbW1pdHRldGUgw4RuZGVydW5nZW4uIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzo0MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBlbnRmZXJuZW4uIgogCi0jOiBidWlsdGluL2FkZC5jOjIyCisjOiBidWlsdGluL2FkZC5jOjI0CiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzxPcHRpb25lbj5dIFstLV0gPFBmYWRzcGV6aWZpa2F0aW9uPi4uLiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MAorIzogYnVpbHRpbi9hZGQuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJ1bmVyd2FydGV0ZXIgRGlmZmVyZW56LVN0YXR1cyAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQorIzogYnVpbHRpbi9hZGQuYzo4NyBidWlsdGluL2NvbW1pdC5jOjI5MgogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmcgZGVyIERhdGVpZW4gZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTUKKyM6IGJ1aWx0aW4vYWRkLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAibMO2c2NoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTQ5CisjOiBidWlsdGluL2FkZC5jOjE1MQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICIiCiAiTmljaHQgenVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbiBuYWNoIEFrdHVhbGlzaWVydW5nIGRlciBTdGFnaW5nLUFyZWE6IgogCi0jOiBidWlsdGluL2FkZC5jOjIwOSBidWlsdGluL3Jldi1wYXJzZS5jOjg0NQorIzogYnVpbHRpbi9hZGQuYzoyMTEgYnVpbHRpbi9yZXYtcGFyc2UuYzo4NzMKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIktvbm50ZSBkZW4gSW5kZXggbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIwCisjOiBidWlsdGluL2FkZC5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIFNjaHJlaWJlbiDDtmZmbmVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjQKKyM6IGJ1aWx0aW4vYWRkLmM6MjI2CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICJLb25udGUgUGF0Y2ggbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjIyNworIzogYnVpbHRpbi9hZGQuYzoyMjkKIG1zZ2lkICJlZGl0aW5nIHBhdGNoIGZhaWxlZCIKIG1zZ3N0ciAiQmVhcmJlaXR1bmcgZGVzIFBhdGNoZXMgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMwCisjOiBidWlsdGluL2FkZC5jOjIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjM0CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICJMZWVyZXIgUGF0Y2guIEFiZ2Vicm9jaGVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzcKKyM6IGJ1aWx0aW4vYWRkLmM6MjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbndlbmRlbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ3CisjOiBidWlsdGluL2FkZC5jOjI0OQogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiIgogIkRpZSBmb2xnZW5kZW4gUGZhZGUgd2VyZGVuIGR1cmNoIGVpbmUgSWhyZXIgXCIuZ2l0aWdub3JlXCIgRGF0ZWllbiAiCiAiaWdub3JpZXJ0OlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjEyMwotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTI0Ci0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorIzogYnVpbHRpbi9hZGQuYzoyNjkgYnVpbHRpbi9jbGVhbi5jOjkwNyBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MjAxIGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMyIGJ1aWx0aW4vcm0uYzoyNDIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJQcm9iZWxhdWYiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY5CisjOiBidWlsdGluL2FkZC5jOjI3MgogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgImludGVyYWt0aXZlcyBBdXN3w6RobGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MyBidWlsdGluL2NoZWNrb3V0LmM6MTE2MiBidWlsdGluL3Jlc2V0LmM6Mjk5CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIkJsw7Zja2UgaW50ZXJha3RpdiBhdXN3w6RobGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzoyNzQKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgImFrdHVlbGxlIFVudGVyc2NoaWVkZSBlZGl0aWVyZW4gdW5kIGFud2VuZGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MgorIzogYnVpbHRpbi9hZGQuYzoyNzUKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgImRhcyBIaW56dWbDvGdlbiBhbmRlcm5mYWxscyBpZ25vcmllcnRlciBEYXRlaWVuIGVybGF1YmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MworIzogYnVpbHRpbi9hZGQuYzoyNzYKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAidmVyc2lvbmllcnRlIERhdGVpZW4gYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzQKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc3CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICJudXIgc3BlaWNoZXJuLCBkYXNzIGRlciBQZmFkIHNww6R0ZXIgaGluenVnZWbDvGd0IHdlcmRlbiBzb2xsIgogCi0jOiBidWlsdGluL2FkZC5jOjI3NQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIiIKICLDhG5kZXJ1bmdlbiB2b24gYWxsZW4gdmVyc2lvbmllcnRlbiB1bmQgdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjc4CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICJnZWzDtnNjaHRlIFBmYWRlIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBpZ25vcmllcmVuIChnZW5hdSB3aWUgLS1uby1hbGwpIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzoyODMKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgIm5pY2h0cyBoaW56dWbDvGdlbiwgbnVyIGRlbiBJbmRleCBha3R1YWxpc2llcmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MQorIzogYnVpbHRpbi9hZGQuYzoyODQKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICIiCiAiRGF0ZWllbiDDvGJlcnNwcmluZ2VuLCBkaWUgYXVmZ3J1bmQgdm9uIEZlaGxlcm4gbmljaHQgaGluenVnZWbDvGd0IHdlcmRlbiAiCiAia29ubnRlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg1CiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICJwcsO8ZmVuIG9iIC0gYXVjaCBmZWhsZW5kZSAtIERhdGVpZW4gaW0gUHJvYmVsYXVmIGlnbm9yaWVydCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAorIzogYnVpbHRpbi9hZGQuYzoyODYgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTMKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAiZGFzIFwiYXVzZsO8aHJiYXJcIi1CaXQgZGVyIGF1ZmdlbGlzdGV0ZW4gRGF0ZWllbiDDvGJlcnNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9hZGQuYzozMDUKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg4Cittc2dpZCAid2FybiB3aGVuIGFkZGluZyBhbiBlbWJlZGRlZCByZXBvc2l0b3J5IgorbXNnc3RyICJ3YXJuZW4gd2VubiBlaW5nZWJldHRldGVzIFJlcG9zaXRvcnkgaGluenVnZWbDvGd0IHdpcmQiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCisiQ2xvbmVzIG9mIHRoZSBvdXRlciByZXBvc2l0b3J5IHdpbGwgbm90IGNvbnRhaW4gdGhlIGNvbnRlbnRzIG9mXG4iCisidGhlIGVtYmVkZGVkIHJlcG9zaXRvcnkgYW5kIHdpbGwgbm90IGtub3cgaG93IHRvIG9idGFpbiBpdC5cbiIKKyJJZiB5b3UgbWVhbnQgdG8gYWRkIGEgc3VibW9kdWxlLCB1c2U6XG4iCisiXG4iCisiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIklmIHlvdSBhZGRlZCB0aGlzIHBhdGggYnkgbWlzdGFrZSwgeW91IGNhbiByZW1vdmUgaXQgZnJvbSB0aGVcbiIKKyJpbmRleCB3aXRoOlxuIgorIlxuIgorIlx0Z2l0IHJtIC0tY2FjaGVkICVzXG4iCisiXG4iCisiU2VlIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisiU2llIGhhYmVuIGVpbiBHaXQtUmVwb3NpdG9yeSBpbm5lcmhhbGIgaWhyZXMgYWt0dWVsbGVuIFJlcG9zaXRvcmllcyBoaW56dWdlZsO8Z3QuXG4iCisiS2xvbmUgZGVzIMOkdcOfZXJlbiBSZXBvc2l0b3JpZXMgd2VyZGVuIGRpZSBJbmhhbHRlIGRlcyBlaW5nZWJldHRldGVuIFJlcG9zaXRvcmllc1xuIgorIndlZGVyIGVudGhhbHRlbiwgbm9jaCB3aXNzZW4sIHdpZSBkaWVzZSB6dSBiZXNjaGFmZmVuIHNpbmQuXG4iCisiV2VubiBTaWUgZWluIFN1Ym1vZHVsIGhpbnp1ZsO8Z2VuIHdvbGx0ZW4sIGJlbnV0emVuIFNpZTpcbiIKKyJcbiIKKyJcdGdpdCBzdWJtb2R1bGUgYWRkIDxVUkw+ICVzXG4iCisiXG4iCisiV2VubiBTaWUgZGllc2VuIFBmYWQgYXVzIFZlcnNlaGVuIGhpbnp1Z2Vmw7xndCBoYWJlbiwga8O2bm5lbiBTaWUgZGllc2VuIG1pdFxuIgorIlxuIgorIlx0Z2l0IHJtIC0tY2FjaGVkICVzXG4iCisiXG4iCisidm9tIEluZGV4IGVudGZlcm5lbi5cbiIKKyJcbiIKKyJTaWVoZSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIGbDvHIgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLiIKKworIzogYnVpbHRpbi9hZGQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAiRsO8Z2UgZWluZ2ViZXR0ZXRlcyBSZXBvc2l0b3J5IGhpbnp1OiAlcyIKKworIzogYnVpbHRpbi9hZGQuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiVmVyd2VuZGVuIFNpZSAtZiB3ZW5uIFNpZSBkaWVzZSB3aXJrbGljaCBoaW56dWbDvGdlbiBtw7ZjaHRlbi5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozMTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiSGluenVmw7xnZW4gdm9uIERhdGVpZW4gZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzQ4CisjOiBidWlsdGluL2FkZC5jOjM5NAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLUEgdW5kIC11IHNpbmQgenVlaW5hbmRlciBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1NQorIzogYnVpbHRpbi9hZGQuYzo0MDEKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGthbm4gbnVyIHp1c2FtbWVuIG1pdCAtLWRyeS1ydW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjOiBidWlsdGluL2FkZC5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCiBtc2dzdHIgIi0tY2htb2QgUGFyYW1ldGVyICclcycgbXVzcyBlbnR3ZWRlciAteCBvZGVyICt4IHNlaW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc0CisjOiBidWlsdGluL2FkZC5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAiTmljaHRzIHNwZXppZml6aWVydCwgbmljaHRzIGhpbnp1Z2Vmw7xndC5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNzUKKyM6IGJ1aWx0aW4vYWRkLmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICJNZWludGVuIFNpZSB2aWVsbGVpY2h0ICdnaXQgYWRkIC4nP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjM4MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQgYnVpbHRpbi9jb21taXQuYzozNTAKLSM6IGJ1aWx0aW4vbXYuYzoxNDMgYnVpbHRpbi9yZXNldC5jOjIzNSBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL2FkZC5jOjQyNiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NiBidWlsdGluL2NoZWNrb3V0LmM6MjgyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDc1IGJ1aWx0aW4vY2xlYW4uYzo5NTQgYnVpbHRpbi9jb21taXQuYzozNTEKKyM6IGJ1aWx0aW4vbXYuYzoxNDQgYnVpbHRpbi9yZXNldC5jOjIzOCBidWlsdGluL3JtLmM6MjcyCiAjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQ0CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJJbmRleC1EYXRlaSBiZXNjaMOkZGlndCIKIAotIzogYnVpbHRpbi9hbS5jOjQxNAorIzogYnVpbHRpbi9hbS5jOjQxMwogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICJrb25udGUgQXV0b3ItU2tyaXB0IG5pY2h0IHBhcnNlbiIKIAotIzogYnVpbHRpbi9hbS5jOjQ5MQorIzogYnVpbHRpbi9hbS5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICInJXMnIHd1cmRlIGR1cmNoIGRlbiBhcHBseXBhdGNoLW1zZyBIb29rIGVudGZlcm50IgogCi0jOiBidWlsdGluL2FtLmM6NTMyCisjOiBidWlsdGluL2FtLmM6NTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiRmVobGVyaGFmdGUgRWluZ2FiZXplaWxlOiAnJXMnLiIKIAotIzogYnVpbHRpbi9hbS5jOjU2OQorIzogYnVpbHRpbi9hbS5jOjU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gS29waWVyZW4gZGVyIE5vdGl6ZW4gdm9uICclcycgbmFjaCAnJXMnIgogCi0jOiBidWlsdGluL2FtLmM6NTk1CisjOiBidWlsdGluL2FtLmM6NTkzCiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICJcImZzZWVrXCIgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo3NzUKKyM6IGJ1aWx0aW4vYW0uYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgImtvbm50ZSBQYXRjaCAnJXMnIG5pY2h0IHBhcnNlbiIKIAotIzogYnVpbHRpbi9hbS5jOjg0MAorIzogYnVpbHRpbi9hbS5jOjg0MgogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICJFcyBrYW5uIG51ciBlaW5lIFN0R0lUIFBhdGNoLVNlcmllIGF1ZiBlaW5tYWwgYW5nZXdlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2FtLmM6ODg3CisjOiBidWlsdGluL2FtLmM6ODg5CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIFplaXRzdGVtcGVsIgogCi0jOiBidWlsdGluL2FtLmM6ODkwIGJ1aWx0aW4vYW0uYzo4OTgKKyM6IGJ1aWx0aW4vYW0uYzo4OTIgYnVpbHRpbi9hbS5jOjkwMAogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICJVbmfDvGx0aWdlIFwiRGF0ZVwiLVplaWxlIgogCi0jOiBidWlsdGluL2FtLmM6ODk1CisjOiBidWlsdGluL2FtLmM6ODk3CiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE9mZnNldCBpbiBkZXIgWmVpdHpvbmUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5ODQKKyM6IGJ1aWx0aW4vYW0uYzo5ODYKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIlBhdGNoLUZvcm1hdGVya2VubnVuZyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo5ODkgYnVpbHRpbi9jbG9uZS5jOjM3OQorIzogYnVpbHRpbi9hbS5jOjk5MSBidWlsdGluL2Nsb25lLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEVyc3RlbGxlbiB2b24gVmVyemVpY2huaXMgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjk5MworIzogYnVpbHRpbi9hbS5jOjk5NQogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gQXVmdGVpbGVuIGRlciBQYXRjaGVzLiIKIAotIzogYnVpbHRpbi9hbS5jOjExMjUgYnVpbHRpbi9jb21taXQuYzozNzYKKyM6IGJ1aWx0aW4vYW0uYzoxMTIwIGJ1aWx0aW4vY29tbWl0LmM6Mzc3CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCiBtc2dzdHIgIktvbm50ZSBJbmRleC1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MTE3NgorIzogYnVpbHRpbi9hbS5jOjExNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgIiIKICJXZW5uIFNpZSBkYXMgUHJvYmxlbSBhdWZnZWzDtnN0IGhhYmVuLCBmw7xocmVuIFNpZSBcIiVzIC0tY29udGludWVcIiBhdXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTE3NworIzogYnVpbHRpbi9hbS5jOjExNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICIiCiAiRmFsbHMgU2llIGRpZXNlbiBQYXRjaCBhdXNsYXNzZW4gbcO2Y2h0ZW4sIGbDvGhyZW4gU2llIHN0YXR0ZGVzc2VuIFwiJXMgLS1za2lwIgogIlwiIGF1cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTc4CisjOiBidWlsdGluL2FtLmM6MTE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgIiIKICJVbSBkZW4gdXJzcHLDvG5nbGljaGVuIEJyYW5jaCB3aWVkZXJoZXJ6dXN0ZWxsZW4gdW5kIGRpZSBBbndlbmR1bmcgZGVyICIKICJQYXRjaGVzIGFienVicmVjaGVuLCBmw7xocmVuIFNpZSBcIiVzIC0tYWJvcnRcIiBhdXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTMxNgotbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgotbXNnc3RyICJQYXRjaCBpc3QgbGVlci4gV2FyIGRlc3NlbiBBdWZ0ZWlsdW5nIGZhbHNjaD8iCisjOiBidWlsdGluL2FtLmM6MTMwNAorbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKK21zZ3N0ciAiUGF0Y2ggaXN0IGxlZXIuIgogCi0jOiBidWlsdGluL2FtLmM6MTM5MCBidWlsdGluL2xvZy5jOjE1NTAKKyM6IGJ1aWx0aW4vYW0uYzoxMzcwCiAjLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCi1tc2dzdHIgIlVuZ8O8bHRpZ2UgSWRlbnRpZmlrYXRpb25zemVpbGU6ICVzIgorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBJZGVudGlmaWthdGlvbnN6ZWlsZTogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MTcKKyM6IGJ1aWx0aW4vYW0uYzoxMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgIktvbm50ZSBDb21taXQgJyVzJyBuaWNodCBwYXJzZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MTYxMAorIzogYnVpbHRpbi9hbS5jOjE1ODYKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgogbXNnc3RyICIiCiAiRGVtIFJlcG9zaXRvcnkgZmVobGVuIG5vdHdlbmRpZ2UgQmxvYnMgdW0gYXVmIGVpbmVuIDMtV2VnZS1NZXJnZSAiCiAienVyw7xja3p1ZmFsbGVuLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MTIKKyM6IGJ1aWx0aW4vYW0uYzoxNTg4CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAiIgogIlZlcndlbmRlIEluZm9ybWF0aW9uZW4gYXVzIGRlciBTdGFnaW5nLUFyZWEsIHVtIGVpbiBCYXNpc3ZlcnplaWNobmlzICIKICJuYWNoenVzdGVsbGVuIC4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzEKKyM6IGJ1aWx0aW4vYW0uYzoxNjA3CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTQ2OTAsMzkgKzUwNzksMzkgQEAKICJIYWJlbiBTaWUgZGVuIFBhdGNoIHBlciBIYW5kIGVkaXRpZXJ0P1xuIgogIkVyIGthbm4gbmljaHQgYXVmIGRpZSBCbG9icyBpbiBzZWluZXIgJ2luZGV4JyBaZWlsZSBhbmdld2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjM3CisjOiBidWlsdGluL2FtLmM6MTYxMwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAiRmFsbGUgenVyw7xjayB6dW0gUGF0Y2hlbiBkZXIgQmFzaXMgdW5kIHp1bSAzLVdlZ2UtTWVyZ2UgLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTY2MgorIzogYnVpbHRpbi9hbS5jOjE2MzgKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgogbXNnc3RyICJNZXJnZSBkZXIgw4RuZGVydW5nZW4gZmVobGdlc2NobGFnZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjMyCisjOiBidWlsdGluL2FtLmM6MTY2MiBidWlsdGluL21lcmdlLmM6NjMyCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiXCJnaXQgd3JpdGUtdHJlZVwiIHNjaGx1ZyBiZWltIFNjaHJlaWJlbiBlaW5lcyBcIlRyZWVcIi1PYmpla3RlcyBmZWhsIgogCi0jOiBidWlsdGluL2FtLmM6MTY5MworIzogYnVpbHRpbi9hbS5jOjE2NjkKIG1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgogbXNnc3RyICJhdWYgbGVlcmUgSGlzdG9yaWUgYW53ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2NCBidWlsdGluL21lcmdlLmM6ODAyCi0jOiBidWlsdGluL21lcmdlLmM6ODI3CisjOiBidWlsdGluL2FtLmM6MTY4MiBidWlsdGluL2NvbW1pdC5jOjE3NjcgYnVpbHRpbi9tZXJnZS5jOjgwMworIzogYnVpbHRpbi9tZXJnZS5jOjgyOAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVzIENvbW1pdC1PYmpla3Rlcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCisjOiBidWlsdGluL2FtLmM6MTcxNSBidWlsdGluL2FtLmM6MTcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIkthbm4gbmljaHQgZm9ydHNldHplbjogJXMgZXhpc3RpZXJ0IG5pY2h0IgogCi0jOiBidWlsdGluL2FtLmM6MTc1OQorIzogYnVpbHRpbi9hbS5jOjE3MzUKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKICJLYW5uIG5pY2h0IGludGVyYWt0aXYgc2Vpbiwgb2huZSBkYXNzIGRpZSBTdGFuZGFyZC1FaW5nYWJlIG1pdCBlaW5lbSAiCiAiVGVybWluYWwgdmVyYnVuZGVuIGlzdC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY0CisjOiBidWlsdGluL2FtLmM6MTc0MAogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAiQ29tbWl0LUJlc2NocmVpYnVuZyBpc3Q6IgogCkBAIC00NzMwLDM1ICs1MTE5LDM1IEBACiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCiAjLgotIzogYnVpbHRpbi9hbS5jOjE3NzQKKyM6IGJ1aWx0aW4vYW0uYzoxNzUwCiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAiQW53ZW5kZW4/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIAotIzogYnVpbHRpbi9hbS5jOjE4MjQKKyM6IGJ1aWx0aW4vYW0uYzoxODAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiR2XDpG5kZXJ0ZXIgSW5kZXg6IGthbm4gUGF0Y2hlcyBuaWNodCBhbndlbmRlbiAoZ2XDpG5kZXJ0OiAlcykiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCisjOiBidWlsdGluL2FtLmM6MTg0MCBidWlsdGluL2FtLmM6MTkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJS4qcyIKIG1zZ3N0ciAiV2VuZGUgYW46ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODc3CisjOiBidWlsdGluL2FtLmM6MTg1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4gLS0gUGF0Y2hlcyBiZXJlaXRzIGFuZ2V3ZW5kZXQuIgogCi0jOiBidWlsdGluL2FtLmM6MTg4NQorIzogYnVpbHRpbi9hbS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgIkFud2VuZHVuZyBkZXMgUGF0Y2hlcyBmZWhsZ2VzY2hsYWdlbiBiZWkgJXMgJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4OTEKKyM6IGJ1aWx0aW4vYW0uYzoxODcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb3B5IG9mIHRoZSBwYXRjaCB0aGF0IGZhaWxlZCBpcyBmb3VuZCBpbjogJXMiCiBtc2dzdHIgIkRpZSBLb3BpZSBkZXMgZmVobGdlc2NobGFnZW5lbiBQYXRjaGVzIGJlZmluZGV0IHNpY2ggaW46ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MTkzNgorIzogYnVpbHRpbi9hbS5jOjE5MTUKIG1zZ2lkICIiCiAiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCiAiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCkBAIC00NzY5LDI1ICs1MTU4LDMwIEBACiAiZGllc2UgYmVyZWl0cyBhbmRlcndlaXRpZyBlaW5nZWbDvGd0IHdvcmRlbiBzZWluOyBTaWUga8O2bm50ZW4gZGllc2VuIFBhdGNoXG4iCiAiYXVzbGFzc2VuLiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDMKKyM6IGJ1aWx0aW4vYW0uYzoxOTIyCiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCi0iRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCisiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCisic3VjaC5cbiIKKyJZb3UgbWlnaHQgcnVuIGBnaXQgcm1gIG9uIGEgZmlsZSB0byBhY2NlcHQgXCJkZWxldGVkIGJ5IHRoZW1cIiBmb3IgaXQuIgogbXNnc3RyICIiCi0iU2llIGhhYmVuIGltbWVyIG5vY2ggbmljaHQgenVzYW1tZW5nZWbDvGhydGUgUGZhZGUgaW0gSW5kZXguXG4iCi0iSGFiZW4gU2llIHZlcmdlc3NlbiAnZ2l0IGFkZCcgenUgYmVudXR6ZW4/IgorIlNpZSBoYWJlbiBub2NoIGltbWVyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIFBmYWRlIGluIElocmVtIEluZGV4LlxuIgorIlNpZSBzb2xsdGVuICdnaXQgYWRkJyBmw7xyIGplZGUgRGF0ZWkgbWl0IGF1ZmdlbMO2c3RlbiBLb25mbGlrdGVuIGF1c2bDvGhyZW4sXG4iCisidW0gZGllc2UgYWxzIHNvbGNoZSB6dSBtYXJraWVyZW4uXG4iCisiU2llIGvDtm5uZW4gJ2dpdCBybScgYXVmIERhdGVpZW4gYXVzZsO8aHJlbiwgdW0gXCJ2b24gZGVuZW4gZ2Vsw7ZzY2h0XCIgZsO8clxuIgorImRpZXNlIHp1IGFremVwdGllcmVuLiIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAotIzogYnVpbHRpbi9yZXNldC5jOjMxNgorIzogYnVpbHRpbi9hbS5jOjIwMzEgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9hbS5jOjIwNDcgYnVpbHRpbi9yZXNldC5jOjMyMworIzogYnVpbHRpbi9yZXNldC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICJLb25udGUgT2JqZWt0ICclcycgbmljaHQgcGFyc2VuLiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMDMKKyM6IGJ1aWx0aW4vYW0uYzoyMDgzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICJGZWhsZXIgYmVpbSBCZXJlaW5pZ2VuIGRlcyBJbmRleCIKIAotIzogYnVpbHRpbi9hbS5jOjIxMzcKKyM6IGJ1aWx0aW4vYW0uYzoyMTE3CiBtc2dpZCAiIgogIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRCBzaW5jZSB0aGUgbGFzdCAnYW0nIGZhaWx1cmUuXG4iCiAiTm90IHJld2luZGluZyB0byBPUklHX0hFQUQiCkBAIC00Nzk1LDEzNCArNTE4OSwxMzUgQEAKICJTaWUgc2NoZWluZW4gc2VpdCBkZW0gbGV0enRlbiBnZXNjaGVpdGVydGVuICdhbScgSEVBRCBnZcOkbmRlcnQgenUgaGFiZW4uXG4iCiAiS2VpbmUgWnVyw7xja3NldHp1bmcgenUgT1JJR19IRUFELiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMDAKKyM6IGJ1aWx0aW4vYW0uYzoyMTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCBmw7xyIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzMKKyM6IGJ1aWx0aW4vYW0uYzoyMjEzCiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiBtc2dzdHIgImdpdCBhbSBbPE9wdGlvbmVuPl0gWyg8bWJveD4gfCA8RS1NYWlsLVZlcnplaWNobmlzPikuLi5dIgogCi0jOiBidWlsdGluL2FtLmM6MjIzNAorIzogYnVpbHRpbi9hbS5jOjIyMTQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs8T3B0aW9uZW4+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogCi0jOiBidWlsdGluL2FtLmM6MjI0MAorIzogYnVpbHRpbi9hbS5jOjIyMjAKIG1zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiaW50ZXJha3RpdiBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjI0MgorIzogYnVpbHRpbi9hbS5jOjIyMjIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAiaGlzdG9yaXNjaGUgT3B0aW9uIC0tIGtlaW4gRWZmZWt0IgogCi0jOiBidWlsdGluL2FtLmM6MjI0NAorIzogYnVpbHRpbi9hbS5jOjIyMjQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAiZXJsYXViZSwgZmFsbHMgbm90d2VuZGlnLCBkYXMgWnVyw7xja2ZhbGxlbiBhdWYgZWluZW4gMy1XZWdlLU1lcmdlIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NSBidWlsdGluL2luaXQtZGIuYzo0ODMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NwotIzogYnVpbHRpbi9yZXBhY2suYzoxNzgKKyM6IGJ1aWx0aW4vYW0uYzoyMjI1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3CisjOiBidWlsdGluL3JlcGFjay5jOjE4MAogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyMjcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJkZXIgQ29tbWl0LUJlc2NocmVpYnVuZyBlaW5lIFNpZ25lZC1vZmYtYnkgWmVpbGUgaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUwCisjOiBidWlsdGluL2FtLmM6MjIzMAogbXNnaWQgInJlY29kZSBpbnRvIHV0ZjggKGRlZmF1bHQpIgogbXNnc3RyICJuYWNoIFVURi04IHVta29kaWVyZW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiLWsgYW4gZ2l0LW1haWxpbmZvIMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU0CisjOiBidWlsdGluL2FtLmM6MjIzNAogbXNnaWQgInBhc3MgLWIgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIi1iIGFuIGdpdC1tYWlsaW5mbyDDvGJlcmdlYmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NgorIzogYnVpbHRpbi9hbS5jOjIyMzYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICItbSBhbiBnaXQtbWFpbGluZm8gw7xiZXJnZWJlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjM4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAiLS1rZWVwLWNyIGFuIGdpdC1tYWlsc3BsaXQgZsO8ciBtYm94LUZvcm1hdCDDvGJlcmdlYmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MQorIzogYnVpbHRpbi9hbS5jOjIyNDEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAia2VpbiAtLWtlZXAtY3IgYW4gZ2l0LW1haWxzcGxpdCDDvGJlcmdlYmVuLCB1bmFiaMOkbmdpZyB2b24gYW0ua2VlcGNyIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NAorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgImFsbGVzIHZvciBlaW5lciBTY2hlcmVuLVplaWxlIGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjYgYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUKLSM6IGJ1aWx0aW4vYW0uYzoyMjc4IGJ1aWx0aW4vYW0uYzoyMjgxIGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3Ci0jOiBidWlsdGluL2FtLmM6MjI5MworIzogYnVpbHRpbi9hbS5jOjIyNDYgYnVpbHRpbi9hbS5jOjIyNDkgYnVpbHRpbi9hbS5jOjIyNTIgYnVpbHRpbi9hbS5jOjIyNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjU4IGJ1aWx0aW4vYW0uYzoyMjYxIGJ1aWx0aW4vYW0uYzoyMjY0IGJ1aWx0aW4vYW0uYzoyMjY3CisjOiBidWlsdGluL2FtLmM6MjI3MwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgImFuIGdpdC1hcHBseSDDvGJlcmdlYmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjIgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY1Ci0jOiBidWlsdGluL2dyZXAuYzoxMDM4IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTM1Ci0jOiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZXBhY2suYzoxODcgYnVpbHRpbi9yZXBhY2suYzoxOTEKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQgYnVpbHRpbi9zaG93LXJlZi5jOjE2OSBidWlsdGluL3RhZy5jOjM1NQotIzogcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjQgYnVpbHRpbi9tZXJnZS5jOjIwMiBidWlsdGluL3B1bGwuYzoxNDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NyBidWlsdGluL3JlcGFjay5jOjE4OSBidWlsdGluL3JlcGFjay5jOjE5MworIzogYnVpbHRpbi9yZXBhY2suYzoxOTUgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMSBidWlsdGluL3Nob3ctcmVmLmM6MTY5CisjOiBidWlsdGluL3RhZy5jOjM5OSBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJBbnphaGwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4Ci0jOiBidWlsdGluL3RhZy5jOjM4NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorIzogYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9icmFuY2guYzo1OTYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ0IGJ1aWx0aW4vdGFnLmM6NDM0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJGb3JtYXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjkwCisjOiBidWlsdGluL2FtLmM6MjI3MAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAiUGF0Y2gtRm9ybWF0IgogCi0jOiBidWlsdGluL2FtLmM6MjI5NgorIzogYnVpbHRpbi9hbS5jOjIyNzYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIk1lbGR1bmcgYmVpIGZlaGxlcmhhZnRlciBQYXRjaC1BbndlbmR1bmcgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk4CisjOiBidWlsdGluL2FtLmM6MjI3OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgIkFud2VuZHVuZyBkZXIgUGF0Y2hlcyBuYWNoIEF1ZmzDtnN1bmcgZWluZXMgS29uZmxpa3RlcyBmb3J0c2V0emVuIgogCi0jOiBidWlsdGluL2FtLmM6MjMwMQorIzogYnVpbHRpbi9hbS5jOjIyODEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAiU3lub255bWUgZsO8ciAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNAorIzogYnVpbHRpbi9hbS5jOjIyODQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICJkZW4gYWt0dWVsbGVuIFBhdGNoIGF1c2xhc3NlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDcKKyM6IGJ1aWx0aW4vYW0uYzoyMjg3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAiIgogInVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggd2llZGVyaGVyc3RlbGxlbiB1bmQgQW53ZW5kdW5nIGRlciBQYXRjaGVzIGFiYnJlY2hlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTEKKyM6IGJ1aWx0aW4vYW0uYzoyMjkxCiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICJBdXRvci1EYXR1bSBhbHMgQ29tbWl0LURhdHVtIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTMKKyM6IGJ1aWx0aW4vYW0uYzoyMjkzCiBtc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKIG1zZ3N0ciAiYWt0dWVsbGVuIFplaXRzdGVtcGVsIGFscyBBdXRvci1EYXR1bSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE1IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL21lcmdlLmM6MjMzCi0jOiBidWlsdGluL3B1bGwuYzoxNjUgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM3MAorIzogYnVpbHRpbi9hbS5jOjIyOTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3MiBidWlsdGluL3JldmVydC5jOjExMiBidWlsdGluL3RhZy5jOjQxNAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAiR1BHLVNjaGzDvHNzZWxrZW5udW5nIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNgorIzogYnVpbHRpbi9hbS5jOjIyOTYKIG1zZ2lkICJHUEctc2lnbiBjb21taXRzIgogbXNnc3RyICJDb21taXRzIG1pdCBHUEcgc2lnbmllcmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOQorIzogYnVpbHRpbi9hbS5jOjIyOTkKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiKGludGVybiBmw7xyIGdpdC1yZWJhc2UgdmVyd2VuZGV0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMzQKKyM6IGJ1aWx0aW4vYW0uYzoyMzE3CiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgpAQCAtNDkzMCwxNiArNTMyNSwxNiBAQAogIkRpZSAtYi8tLWJpbmFyeSBPcHRpb24gaGF0IHNlaXQgTGFuZ2VtIGtlaW5lbiBFZmZla3QgdW5kIHdpcmRcbiIKICJlbnRmZXJudC4gQml0dGUgdmVyd2VuZGVuIFNpZSBkaWVzZSBuaWNodCBtZWhyLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzNDEKKyM6IGJ1aWx0aW4vYW0uYzoyMzI0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiBkZXMgSW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzU2CisjOiBidWlsdGluL2FtLmM6MjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIlZvcmhlcmlnZXMgUmViYXNlLVZlcnplaWNobmlzICVzIGV4aXN0aWVydCBub2NoLCBhYmVyIG1ib3ggZ2VnZWJlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzgwCisjOiBidWlsdGluL2FtLmM6MjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgpAQCAtNDk0OCw3ICs1MzQzLDcgQEAKICJTdHJheSAlcyBWZXJ6ZWljaG5pcyBnZWZ1bmRlbi5cbiIKICJCZW51dHplbiBTaWUgXCJnaXQgYW0gLS1hYm9ydFwiLCB1bSBlcyB6dSBlbnRmZXJuZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MjM4NgorIzogYnVpbHRpbi9hbS5jOjIzNjkKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICJFcyBpc3Qga2VpbmUgQXVmbMO2c3VuZyBpbSBHYW5nZSwgZXMgd2lyZCBuaWNodCBmb3J0Z2VzZXR6dC4iCiAKQEAgLTQ5NzgsMTEgKzUzNzMsNiBAQAogbXNnaWQgImdpdCBhcmNoaXZlOiBOQUNLICVzIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKLW1zZ3N0ciAiRmVobGVyIGFtIGFuZGVyZW4gRW5kZTogJXMiCi0KICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY0CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IHByb3RvY29sIGVycm9yIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogUHJvdG9rb2xsZmVobGVyIgpAQCAtNTAwMywyMDAgKzUzOTMsMTczIEBACiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAiQklTRUNUX0hFQUQgYWt0dWFsaXNpZXJlbiwgYW5zdGF0dCBkZW4gYWt0dWVsbGVuIENvbW1pdCBhdXN6dWNoZWNrZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozMworIzogYnVpbHRpbi9ibGFtZS5jOjI3CiBtc2dpZCAiZ2l0IGJsYW1lIFs8b3B0aW9ucz5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPGZpbGU+IgogbXNnc3RyICJnaXQgYmxhbWUgWzxPcHRpb25lbj5dIFs8cmV2LW9wdHM+XSBbPENvbW1pdD5dIFstLV0gPERhdGVpPiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjM4CisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICI8cmV2LW9wdHM+IGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiPHJldi1vcHRzPiBzaW5kIGRva3VtZW50aWVydCBpbiBnaXQtcmV2LWxpc3QoMSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxNzg2Ci1tc2dpZCAiQmxhbWluZyBsaW5lcyIKLW1zZ3N0ciAiVmVyYXJiZWl0ZSBaZWlsZW4iCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCisjOiBidWlsdGluL2JsYW1lLmM6NjY4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiXCJibGFtZVwiLUVpbnRyw6RnZSBzY2hyaXR0d2Vpc2UgYW56ZWlnZW4sIHfDpGhyZW5kIHdpciBzaWUgZ2VuZXJpZXJlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NjkKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJsZWVyZSBTSEEtMSBmw7xyIEdyZW56LUNvbW1pdHMgYW56ZWlnZW4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NAorIzogYnVpbHRpbi9ibGFtZS5jOjY3MAogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKLW1zZ3N0ciAiVXJzcHJ1bmdzLUNvbW1pdCBuaWNodCBhbHMgR3JlbnplbiBiZWhhbmRlbG4gKFN0YW5kYXJkOiBhdXMpIgorbXNnc3RyICJVcnNwcnVuZ3MtQ29tbWl0cyBuaWNodCBhbHMgR3JlbnplbiBiZWhhbmRlbG4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NQorIzogYnVpbHRpbi9ibGFtZS5jOjY3MQogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIlN0YXRpc3Rpa2VuIHp1bSBBcmJlaXRzYXVmd2FuZCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzIKIG1zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIkZvcnRzY2hyaXR0c2FuemVpZ2UgZXJ6d2luZ2VuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NworIzogYnVpbHRpbi9ibGFtZS5jOjY3MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJBdXNnYWJlYmV3ZXJ0dW5nIGbDvHIgXCJibGFtZVwiLUVpbnRyw6RnZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzQKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAidXJzcHLDvG5nbGljaGVuIERhdGVpbmFtZW4gYW56ZWlnZW4gKFN0YW5kYXJkOiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzUKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgInVyc3Byw7xuZ2xpY2hlIFplaWxlbm51bW1lciBhbnplaWdlbiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkwCisjOiBidWlsdGluL2JsYW1lLmM6Njc2CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAiQW56ZWlnZSBpbiBlaW5lbSBGb3JtYXQgZsO8ciBtYXNjaGluZWxsZSBBdXN3ZXJ0dW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MQorIzogYnVpbHRpbi9ibGFtZS5jOjY3NwogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogIkFuemVpZ2UgaW4gRm9ybWF0IGbDvHIgRnJlbWRwcm9ncmFtbWUgbWl0IENvbW1pdC1JbmZvcm1hdGlvbmVuIHBybyBaZWlsZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzgKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiRGVuIGdsZWljaGVuIEF1c2dhYmVtb2R1cyBiZW51dHplbiB3aWUgXCJnaXQtYW5ub3RhdGVcIiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkzCisjOiBidWlsdGluL2JsYW1lLmM6Njc5CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJVbmJlYXJiZWl0ZXRlbiBaZWl0c3RlbXBlbCBhbnplaWdlbiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk0CisjOiBidWlsdGluL2JsYW1lLmM6NjgwCiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJMYW5nZW4gQ29tbWl0LVNIQTEgYW56ZWlnZW4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NQorIzogYnVpbHRpbi9ibGFtZS5jOjY4MQogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkRlbiBOYW1lbiBkZXMgQXV0b3JzIHVuZCBkZW4gWmVpdHN0ZW1wZWwgdW50ZXJkcsO8Y2tlbiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk2CisjOiBidWlsdGluL2JsYW1lLmM6NjgyCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiQW5zdGF0dCBkZXMgTmFtZW5zIGRpZSBFLU1haWwtQWRyZXNzZSBkZXMgQXV0b3JzIGFuemVpZ2VuIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODMKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiVW50ZXJzY2hpZWRlIGltIFdoaXRlc3BhY2UgaWdub3JpZXJlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTAKIG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgogbXNnc3RyICIiCiAiZWluZSBleHBlcmltZW50ZWxsZSBIZXVyaXN0aWsgenVyIFZlcmJlc3NlcnVuZyBkZXIgRGFyc3RlbGx1bmdcbiIKICJ2b24gVW50ZXJzY2hpZWRlbiB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CisjOiBidWlsdGluL2JsYW1lLmM6NjkyCiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICJMw6RuZ2VyIGFyYmVpdGVuLCB1bSBiZXNzZXJlIMOcYmVyZWluc3RpbW11bmdlbiB6dSBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CisjOiBidWlsdGluL2JsYW1lLmM6NjkzCiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICJDb21taXRzIHZvbiA8RGF0ZWk+IGJlbnV0emVuLCBhbnN0YXR0IFwiZ2l0LXJldi1saXN0XCIgYXVmenVydWZlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJJbmhhbHRlIGRlciA8RGF0ZWk+ZW4gYWxzIGVuZGfDvGx0aWdlcyBBYmJpbGQgYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA5IGJ1aWx0aW4vYmxhbWUuYzoyNjEwCisjOiBidWlsdGluL2JsYW1lLmM6Njk1IGJ1aWx0aW4vYmxhbWUuYzo2OTYKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAiQmV3ZXJ0dW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwOQorIzogYnVpbHRpbi9ibGFtZS5jOjY5NQogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgImtvcGllcnRlIFplaWxlbiBpbm5lcmhhbGIgb2RlciB6d2lzY2hlbiBEYXRlaWVuIGZpbmRlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTYKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJ2ZXJzY2hvYmVuZSBaZWlsZW4gaW5uZXJoYWxiIG9kZXIgendpc2NoZW4gRGF0ZWllbiBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjExCisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjExCisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIm51ciBaZWlsZW4gaW0gQmVyZWljaCBuLG0gdmVyYXJiZWl0ZW4sIGdlesOkaGx0IHZvbiAxIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjY1OAorIzogYnVpbHRpbi9ibGFtZS5jOjc0NAogbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCiBtc2dzdHIgIiIKICItLXByb2dyZXNzIGthbm4gbmljaHQgbWl0IC0taW5jcmVtZW50YWwgb2RlciBGb3JtYXRlbiBmw7xyIEZyZW1kcHJvZ3JhbW1lXG4iCiAidmVyd2VuZGV0IHdlcmRlbiIKIAotIy4gVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUgbWF4aW11bQotIy4gZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4gImdpdCBibGFtZSIKLSMuIG91dHB1dC4gIEZvciBDIGxvY2FsZSwgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iLCB3aGljaAotIy4gdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdCBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mCi0jLiByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQgeW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yCi0jLiBmZXdlciBkaXNwbGF5IGNvbHVtbnMuCi0jOiBidWlsdGluL2JsYW1lLmM6MjcwNgorIy4gVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUKKyMuIG1heGltdW0gZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4KKyMuICJnaXQgYmxhbWUiIG91dHB1dC4gIEZvciBDIGxvY2FsZSwgIjQgeWVhcnMsIDExCisjLiBtb250aHMgYWdvIiwgd2hpY2ggdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdAorIy4gYW1vbmcgdmFyaW91cyBmb3JtcyBvZiByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQKKyMuIHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvciBmZXdlciBkaXNwbGF5CisjLiBjb2x1bW5zLgorIy4KKyM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgotbXNnc3RyICJ2b3IgNCBKYWhyZW4sIHVuZCAxMSBNb25hdGVuIgorbXNnc3RyICJ2b3IgNCBKYWhyZW4gdW5kIDExIE1vbmF0ZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzg2Ci1tc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKLW1zZ3N0ciAiLS1jb250ZW50cyB1bmQgLS1yZXZlcnNlIGZ1bmt0aW9uaWVyZW4gZ2VtZWluc2FtIG5pY2h0LiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MDYKLW1zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCi1tc2dzdHIgIiIKLSJrYW5uIC0tY29udGVudHMgbmljaHQgbWl0IGVuZGfDvGx0aWdlbSBOYW1lbiBkZXMgQ29tbWl0LU9iamVrdGVzIGJlbnV0emVuIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgxMQotbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKLW1zZ3N0ciAiIgotIi0tcmV2ZXJzZSB1bmQgLS1maXJzdC1wYXJlbnQgenVzYW1tZW4gZXJmb3JkZXJuIGRpZSBBbmdhYmUgZWluZXMgIgotImVuZGfDvGx0aWdlblxuIgotIkNvbW1pdHMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODM4Ci1tc2dpZCAiIgotIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKLW1zZ3N0ciAiIgotIi0tcmV2ZXJzZSB1bmQgLS1maXJzdC1wYXJlbnQgenVzYW1tZW4gZXJmb3JkZXJuIGVpbmVuIEJlcmVpY2ggZW50bGFuZyBkZXJcbiIKLSJcImZpcnN0LXBhcmVudFwiLUtldHRlIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg0OQotIywgYy1mb3JtYXQKLW1zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCi1tc2dzdHIgIlBmYWQgJXMgbmljaHQgaW4gJXMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODYwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCi1tc2dzdHIgImthbm4gQmxvYiAlcyBmw7xyIFBmYWQgJyVzJyBuaWNodCBsZXNlbiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4NzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKIG1zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCiBtc2dzdHJbMF0gIkRhdGVpICVzIGhhdCBudXIgJWx1IFplaWxlIgogbXNnc3RyWzFdICJEYXRlaSAlcyBoYXQgbnVyICVsdSBaZWlsZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjgKK21zZ2lkICJCbGFtaW5nIGxpbmVzIgorbXNnc3RyICJWZXJhcmJlaXRlIFplaWxlbiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNwogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPE9wdGlvbmVuPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNworIzogYnVpbHRpbi9icmFuY2guYzoyOAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1sXSBbLWZdIDxicmFuY2gtbmFtZT4gWzxzdGFydC1wb2ludD5dIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8T3B0aW9uZW4+XSBbLWxdIFstZl0gPEJyYW5jaG5hbWU+IFs8U3RhcnRwdW5rdD5dIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI4CisjOiBidWlsdGluL2JyYW5jaC5jOjI5CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXJdICgtZCB8IC1EKSA8YnJhbmNoLW5hbWU+Li4uIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8T3B0aW9uZW4+XSBbLXJdICgtZCB8IC1EKSA8QnJhbmNobmFtZT4uLi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzAKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dICgtbSB8IC1NKSBbPG9sZC1icmFuY2g+XSA8bmV3LWJyYW5jaD4iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxPcHRpb25lbj5dICgtbSB8IC1NKSBbPGFsdGVyLUJyYW5jaD5dIDxuZXVlci1CcmFuY2g+IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMxCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPE9wdGlvbmVuPl0gWy1yIHwgLWFdIFstLXBvaW50cy1hdF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjMyCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPE9wdGlvbmVuPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgpAQCAtNTIwNSw3ICs1NTY4LDcgQEAKICJlbnRmZXJuZSBCcmFuY2ggJyVzJywgZGVyIHp1c2FtbWVuZ2Vmw7xocnQgd3VyZGUgbWl0XG4iCiAiICAgICAgICAgJyVzJywgYWJlciBub2NoIG5pY2h0IG1pdCBIRUFEIHp1c2FtbWVuZ2Vmw7xocnQgd3VyZGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE0NworIzogYnVpbHRpbi9icmFuY2guYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGlzIG5vdCB5ZXQgbWVyZ2VkIHRvXG4iCkBAIC01MjE0LDEyICs1NTc3LDEyIEBACiAiZW50ZmVybmUgQnJhbmNoICclcycgbmljaHQsIGRlciBub2NoIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnQgd3VyZGUgbWl0XG4iCiAiICAgICAgICAgJyVzJywgb2J3b2hsIGVyIG1pdCBIRUFEIHp1c2FtbWVuZ2Vmw7xocnQgd3VyZGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MQorIzogYnVpbHRpbi9icmFuY2guYzoxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgogbXNnc3RyICJLb25udGUgQ29tbWl0LU9iamVrdCBmw7xyICclcycgbmljaHQgbmFjaHNjaGxhZ2VuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgYnJhbmNoICclcycgaXMgbm90IGZ1bGx5IG1lcmdlZC5cbiIKQEAgLTUyMjksMTY2ICs1NTkyLDk0IEBACiAiV2VubiBTaWUgc2ljaGVyIHNpbmQgZGllc2VuIEJyYW5jaCB6dSBlbnRmZXJuZW4sIGbDvGhyZW4gU2llICdnaXQgYnJhbmNoIC1EICIKICIlcycgYXVzLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTgwCiBtc2dpZCAiVXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmcgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZmVobGdlc2NobGFnZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwNgorIzogYnVpbHRpbi9icmFuY2guYzoyMTEKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgImthbm4gLWEgbmljaHQgbWl0IC1kIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIxMgorIzogYnVpbHRpbi9icmFuY2guYzoyMTcKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCiBtc2dzdHIgIktvbm50ZSBDb21taXQtT2JqZWt0IGbDvHIgSEVBRCBuaWNodCBuYWNoc2NobGFnZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyNgorIzogYnVpbHRpbi9icmFuY2guYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICJLYW5uIEJyYW5jaCAnJXMnIG5pY2h0IGVudGZlcm5lbiwgYXVzZ2VjaGVja3QgaW4gJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQxCisjOiBidWlsdGluL2JyYW5jaC5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiUmVtb3RlLVRyYWNraW5nLUJyYW5jaCAnJXMnIG5pY2h0IGdlZnVuZGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MgorIzogYnVpbHRpbi9icmFuY2guYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiQnJhbmNoICclcycgbmljaHQgZ2VmdW5kZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1NworIzogYnVpbHRpbi9icmFuY2guYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFbnRmZXJuZW4gZGVzIFJlbW90ZS1UcmFja2luZy1CcmFuY2hlcyAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1OAorIzogYnVpbHRpbi9icmFuY2guYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEVudGZlcm5lbiBkZXMgQnJhbmNoZXMgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiUmVtb3RlLVRyYWNraW5nLUJyYW5jaCAlcyBlbnRmZXJudCAod2FyICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJCcmFuY2ggJXMgZW50ZmVybnQgKHdhciAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogZ29uZV0iCi1tc2dzdHIgIlslczogZW50ZmVybnRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXNdIgotbXNnc3RyICJbJXNdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCi1tc2dzdHIgIlslczogJWQgaGludGVyaGVyXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2JlaGluZCAlZF0iCi1tc2dzdHIgIlslZCBoaW50ZXJoZXJdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGFoZWFkICVkXSIKLW1zZ3N0ciAiWyVzOiAlZCB2b3JhdXNdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgotbXNnc3RyICJbJWQgdm9yYXVzXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVzOiAlZCB2b3JhdXMsICVkIGhpbnRlcmhlcl0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVkIHZvcmF1cywgJWQgaGludGVyaGVyXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNDkKLW1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgotbXNnc3RyICIgKioqKiB1bmfDvGx0aWdlIFJlZmVyZW56ICoqKioiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKLW1zZ3N0ciAiKGtlaW4gQnJhbmNoLCBSZWJhc2Ugdm9uIEJyYW5jaCAlcyBpbSBHYW5nZSkiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKGtlaW4gQnJhbmNoLCBiaW7DpHJlIFN1Y2hlIGJlZ29ubmVuIGJlaSAlcykiCi0KLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCi0jLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4NAotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCi1tc2dzdHIgIihIRUFEIGxvc2dlbMO2c3QgYmVpICVzKSIKLQotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKLSMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCi1tc2dzdHIgIihIRUFEIGxvc2dlbMO2c3Qgdm9uICVzKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozOTMKLW1zZ2lkICIobm8gYnJhbmNoKSIKLW1zZ3N0ciAiKGtlaW4gQnJhbmNoKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1MzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICJCcmFuY2ggJXMgd2lyZCBhdWYgJXMgdW1nZXNldHp0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzOQorIzogYnVpbHRpbi9icmFuY2guYzo0NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICJCaW7DpHJlIFN1Y2hlIHZvbiBCcmFuY2ggJXMgenUgJXMgaW0gR2FuZ2UiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU0CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NAogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICIiCiAiS2FubiBha3R1ZWxsZW4gQnJhbmNoIG5pY2h0IHVtYmVuZW5uZW4sIHNvbGFuZ2UgU2llIHNpY2ggYXVmIGtlaW5lbSBiZWZpbmRlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY0CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciBCcmFuY2huYW1lOiAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4MQorIzogYnVpbHRpbi9icmFuY2guYzo0OTEKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAiVW1iZW5lbm51bmcgZGVzIEJyYW5jaGVzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgImZhbHNjaCBiZW5hbm50ZW4gQnJhbmNoICclcycgdW1iZW5hbm50IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4OAorIzogYnVpbHRpbi9icmFuY2guYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiQnJhbmNoIHVtYmVuYW5udCB6dSAlcywgYWJlciBIRUFEIGlzdCBuaWNodCBha3R1YWxpc2llcnQhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NQorIzogYnVpbHRpbi9icmFuY2guYzo1MDYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKICJCcmFuY2ggaXN0IHVtYmVuYW5udCwgYWJlciBkaWUgQWt0dWFsaXNpZXJ1bmcgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgaXN0ICIKICJmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjExCisjOiBidWlsdGluL2JyYW5jaC5jOjUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCkBAIC01Mzk5LDE2OCArNTY5MCwxNzcgQEAKICIgICVzXG4iCiAiWmVpbGVuLCBkaWUgbWl0ICclYycgYmVnaW5uZW4sIHdlcmRlbiBlbnRmZXJudC5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU1CiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgogbXNnc3RyICJBbGxnZW1laW5lIE9wdGlvbmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NTcKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAiSGFzaCB1bmQgQmV0cmVmZiBhbnplaWdlbjsgLXZ2OiB6dXPDpHR6bGljaCBVcHN0cmVhbS1CcmFuY2giCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgIkluZm9ybWF0aW9uc21lbGR1bmdlbiB1bnRlcmRyw7xja2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NworIzogYnVpbHRpbi9icmFuY2guYzo1NTkKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAiZGVuIMOcYmVybmFobWVtb2R1cyBlaW5zdGVsbGVuIChzaWVoZSBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ5CisjOiBidWlsdGluL2JyYW5jaC5jOjU2MQogbXNnaWQgImNoYW5nZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJJbmZvcm1hdGlvbmVuIHp1bSBVcHN0cmVhbS1CcmFuY2ggw6RuZGVybiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAidXBzdHJlYW0iCiBtc2dzdHIgIlVwc3RyZWFtIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIkluZm9ybWF0aW9uZW4genVtIFVwc3RyZWFtLUJyYW5jaCDDpG5kZXJuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9icmFuY2guYzo1NjQKIG1zZ2lkICJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dW0gVXBzdHJlYW0tQnJhbmNoIGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY1CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJmYXJiaWdlIEF1c2dhYmVuIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiYXVmIFJlbW90ZS1UcmFja2luZy1CcmFuY2hlcyB3aXJrZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU2IGJ1aWx0aW4vYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OCBidWlsdGluL2JyYW5jaC5jOjU3MAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCi1tc2dzdHIgIm51ciBCcmFuY2hlcyBhdXNnZWJlbiwgd2VsY2hlIGRpZXNlbiBDb21taXQgYmVpbmhhbHRlbiIKK21zZ3N0ciAibnVyIEJyYW5jaGVzIGF1c2dlYmVuLCBkaWUgZGllc2VuIENvbW1pdCBlbnRoYWx0ZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwCisjOiBidWlsdGluL2JyYW5jaC5jOjU2OSBidWlsdGluL2JyYW5jaC5jOjU3MQorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgIm51ciBCcmFuY2hlcyBhdXNnZWJlbiwgZGllIGRpZXNlbiBDb21taXQgbmljaHQgZW50aGFsdGVuIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU3NAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgInNwZXppZmlzY2hlIEFrdGlvbmVuIGbDvHIgXCJnaXQtYnJhbmNoXCI6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9icmFuY2guYzo1NzUKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAiUmVtb3RlLVRyYWNraW5nIHVuZCBsb2thbGUgQnJhbmNoZXMgYXVmbGlzdGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MworIzogYnVpbHRpbi9icmFuY2guYzo1NzcKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAidm9sbHN0w6RuZGlnIHp1c2FtbWVuZ2Vmw7xocnRlbiBCcmFuY2ggZW50ZmVybmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9icmFuY2guYzo1NzgKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJCcmFuY2ggbMO2c2NoZW4gKGF1Y2ggd2VubiBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0KSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc5CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgImVpbmVuIEJyYW5jaCB1bmQgZGVzc2VuIFJlZmxvZyB2ZXJzY2hpZWJlbi91bWJlbmVubmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NgorIzogYnVpbHRpbi9icmFuY2guYzo1ODAKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICIiCiAiZWluZW4gQnJhbmNoIHZlcnNjaGllYmVuL3VtYmVuZW5uZW4sIGF1Y2ggd2VubiBkYXMgWmllbCBiZXJlaXRzIGV4aXN0aWVydCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgxCiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgIkJyYW5jaG5hbWVuIGF1Zmxpc3RlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgyCiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgImRhcyBSZWZsb2cgZGVzIEJyYW5jaGVzIGVyemV1Z2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9icmFuY2guYzo1ODQKIG1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKIG1zZ3N0ciAiZGllIEJlc2NocmVpYnVuZyBmw7xyIGRlbiBCcmFuY2ggYmVhcmJlaXRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAiRXJzdGVsbHVuZywgVmVyc2NoaWVidW5nL1VtYmVuZW5udW5nIG9kZXIgTMO2c2NodW5nIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg2CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgIm51ciB6dXNhbW1lbmdlZsO8aHJ0ZSBCcmFuY2hlcyBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJudXIgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgQnJhbmNoZXMgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc0CisjOiBidWlsdGluL2JyYW5jaC5jOjU4OAogbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiQnJhbmNoZXMgaW4gU3BhbHRlbiBhdWZsaXN0ZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc1IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzozODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MjcKIG1zZ2lkICJrZXkiCiBtc2dzdHIgIlNjaMO8c3NlbCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjM4MgorIzogYnVpbHRpbi9icmFuY2guYzo1OTAgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MCBidWlsdGluL3RhZy5jOjQyOAogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAic29ydGllcmUgbmFjaCBkaWVzZW0gRmVsZCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzggYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL25vdGVzLmM6NDA0Ci0jOiBidWlsdGluL25vdGVzLmM6NDA3IGJ1aWx0aW4vbm90ZXMuYzo1NjcgYnVpbHRpbi9ub3Rlcy5jOjU3MAotIzogYnVpbHRpbi90YWcuYzozODQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkyIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIgYnVpbHRpbi9ub3Rlcy5jOjQwNworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMCBidWlsdGluL25vdGVzLmM6NTcwIGJ1aWx0aW4vbm90ZXMuYzo1NzMKKyM6IGJ1aWx0aW4vdGFnLmM6NDMwCiBtc2dpZCAib2JqZWN0IgogbXNnc3RyICJPYmpla3QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc5CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAibnVyIEJyYW5jaGVzIHZvbiBkaWVzZW0gT2JqZWt0IGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2IGJ1aWx0aW4vdGFnLmM6Mzg4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4IGJ1aWx0aW4vdGFnLmM6NDM1CiBtc2dpZCAic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIgogbXNnc3RyICJTb3J0aWVydW5nIHVuZCBGaWx0ZXJ1bmcgc2luZCB1bmFiaMOkbmdpZyB2b24gR3Jvw58tIHVuZCBLbGVpbnNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM0CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCittc2dzdHIgImbDvHIgZGllIEF1c2dhYmUgenUgdmVyd2VuZGVuZGVzIEZvcm1hdCIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MTUKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiS29ubnRlIEhFQUQgbmljaHQgYWxzIGfDvGx0aWdlIFJlZmVyZW56IGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzAyIGJ1aWx0aW4vY2xvbmUuYzo3MDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE5IGJ1aWx0aW4vY2xvbmUuYzo3MjgKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKIG1zZ3N0ciAiSEVBRCB3dXJkZSBuaWNodCB1bnRlciBcInJlZnMvaGVhZHNcIiBnZWZ1bmRlbiEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI0CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tY29sdW1uIHVuZCAtLXZlcmJvc2Ugc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNSBidWlsdGluL2JyYW5jaC5jOjc4NworIzogYnVpbHRpbi9icmFuY2guYzo2NTMgYnVpbHRpbi9icmFuY2guYzo3MDUKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAiQnJhbmNobmFtZSBlcmZvcmRlcmxpY2giCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgInp1IGxvc2dlbMO2c3RlbSBIRUFEIGthbm4ga2VpbmUgQmVzY2hyZWlidW5nIGhpbnRlcmxlZ3Qgd2VyZGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2OAorIzogYnVpbHRpbi9icmFuY2guYzo2ODYKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAiQmVzY2hyZWlidW5nIHZvbiBtZWhyIGFscyBlaW5lbSBCcmFuY2gga2FubiBuaWNodCBiZWFyYmVpdGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICJOb2NoIGtlaW4gQ29tbWl0IGluIEJyYW5jaCAnJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAiQnJhbmNoICclcycgbmljaHQgdm9yaGFuZGVuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAienUgdmllbGUgQnJhbmNoZXMgZsO8ciBlaW5lIFVtYmVuZW5uZW4tT3BlcmF0aW9uIGFuZ2VnZWJlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE2CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gc2V0IG5ldyB1cHN0cmVhbSIKIG1zZ3N0ciAienUgdmllbGUgQnJhbmNoZXMgYW5nZWdlYmVuLCB1bSBVcHN0cmVhbS1CcmFuY2ggenUgc2V0emVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgpAQCAtNTU2OCw0MyArNTg2OCw0MyBAQAogIktvbm50ZSBrZWluZW4gbmV1ZW4gVXBzdHJlYW0tQnJhbmNoIHZvbiBIRUFEIHp1ICVzIHNldHplbiwgZGEgZGllc2VyIGF1ZlxuIgogImtlaW5lbiBCcmFuY2ggemVpZ3QuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNSBidWlsdGluL2JyYW5jaC5jOjgyNyBidWlsdGluL2JyYW5jaC5jOjg0OAorIzogYnVpbHRpbi9icmFuY2guYzo3MjMgYnVpbHRpbi9icmFuY2guYzo3NDUgYnVpbHRpbi9icmFuY2guYzo3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiS2VpbiBzb2xjaGVyIEJyYW5jaCAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwOQorIzogYnVpbHRpbi9icmFuY2guYzo3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIkJyYW5jaCAnJXMnIGV4aXN0aWVydCBuaWNodCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM5CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgIiIKICJ6dSB2aWVsZSBCcmFuY2hlcyBhbmdlZ2ViZW4sIHVtIEtvbmZpZ3VyYXRpb24genUgVXBzdHJlYW0tQnJhbmNoIHp1IGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQzCiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIktvbm50ZSBLb25maWd1cmF0aW9uIHp1IFVwc3RyZWFtLUJyYW5jaCB2b24gSEVBRCBuaWNodCBlbnRmZXJuZW4sIGRhIGRpZXNlclxuIgogImF1ZiBrZWluZW4gQnJhbmNoIHplaWd0LiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiQnJhbmNoICclcycgaGF0IGtlaW5lbiBVcHN0cmVhbS1CcmFuY2ggZ2VzZXR6dCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCiBtc2dpZCAiaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgJ0hFQUQnIG1hbnVhbGx5IgogbXNnc3RyICInSEVBRCcgZGFyZiBuaWNodCBtYW51ZWxsIGVyc3RlbGx0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtYSB1bmQgLXIgYmVpICdnaXQgYnJhbmNoJyBrw7ZubmVuIG5pY2h0IGdlbWVpbXNhbSBtaXQgZWluZW0gIgogIkJyYW5jaG5hbWVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NAorIzogYnVpbHRpbi9icmFuY2guYzo3NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCkBAIC01NjEzLDcgKzU5MTMsNyBAQAogIkRpZSAtLXNldC11cHN0cmVhbSBPcHRpb24gaXN0IHZlcmFsdGV0IHVuZCB3aXJkIGVudGZlcm50LiBCZW51dHplbiBTaWUgLS0iCiAidHJhY2sgb2RlciAtLXNldC11cHN0cmVhbS10b1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg3MQorIzogYnVpbHRpbi9icmFuY2guYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTYyNCwyMCArNTkyNCwyMCBAQAogIldlbm4gU2llIHdvbGx0ZW4sIGRhc3MgJyVzJyBkZW4gQnJhbmNoICclcycgYWxzIFVwc3RyZWFtLUJyYW5jaCBoYXQsIGbDvGhyZW4gIgogIlNpZSBhdXM6XG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NTEKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgb2theVxuIgogbXNnc3RyICIlcyBpc3QgaW4gT3JkbnVuZ1xuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjY0CisjOiBidWlsdGluL2J1bmRsZS5jOjU4CiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKIG1zZ3N0ciAiVW0gZWluIFBha2V0IHp1IGVyc3RlbGxlbiB3aXJkIGVpbiBSZXBvc2l0b3J5IGJlbsO2dGlndC4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjgKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjIKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgIlp1bSBFbnRwYWNrZW4gd2lyZCBlaW4gUmVwb3NpdG9yeSBiZW7DtnRpZ3QuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTEzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTE5CiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKQEAgLTU2NDUsNyArNTk0NSw3IEBACiAiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKICJwIHwgPEFydD4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxQZmFkPl0gPE9iamVrdD4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MjAKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtNTY1MywzMTEgKzU5NTMsMzExIEBACiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU3CiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI8QXJ0PiBrYW5uIHNlaW46IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiT2JqZWt0YXJ0IGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU5CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiT2JqZWt0Z3LDtsOfZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAibWl0IFLDvGNrZ2FiZXdlcnQgMCBiZWVuZGVuLCB3ZW5uIGtlaW4gRmVobGVyIGF1ZmdldHJldGVuIGlzdCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJhbnNwcmVjaGVuZGUgQW56ZWlnZSBkZXMgT2JqZWt0aW5oYWx0ZXMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiZWluZSBUZXh0a29udmVydGllcnVuZyBhdWYgZGVuIEluaGFsdCB2b24gQmxvYi1PYmpla3RlbiBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY2CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiZsO8ciBCbG9iLU9iamVrdGUsIEZpbHRlciBhdWYgT2JqZWt0LUluaGFsdGUgYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MSBnaXQtc3VibW9kdWxlLnNoOjkyOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NyBnaXQtc3VibW9kdWxlLnNoOjk0NAogbXNnaWQgImJsb2IiCiBtc2dzdHIgIkJsb2IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjgKIG1zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKIG1zZ3N0ciAiZWluZW4gYmVzdGltbXRlbiBQZmFkIGbDvHIgLS10ZXh0Y29udi8tLWZpbHRlcnMgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTY0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTcwCiBtc2dpZCAiYWxsb3cgLXMgYW5kIC10IHRvIHdvcmsgd2l0aCBicm9rZW4vY29ycnVwdCBvYmplY3RzIgogbXNnc3RyICItcyB1bmQgLXQgbWl0IGJlc2Now6RkaWd0ZW4gT2JqZWt0ZW4gZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzEKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgIkF1c2dhYmUgdm9uIC0tYmF0Y2ggcHVmZmVybiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogIkFuemVpZ2Ugdm9uIEluZm9ybWF0aW9uZW4gdW5kIEluaGFsdCB2b24gT2JqZWt0ZW4sIGdlbGVzZW4gdm9uIGRlciBTdGFuZGFyZC0iCiAiRWluZ2FiZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NgogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogIkFuemVpZ2Ugdm9uIEluZm9ybWF0aW9uZW4gw7xiZXIgT2JqZWt0ZSwgZ2VsZXNlbiB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzkKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgIiIKICJzeW1ib2xpc2NoZW4gVmVya27DvHBmdW5nZW4gaW5uZXJoYWxiIGRlcyBSZXBvc2l0b3JpZXMgZm9sZ2VuICh2ZXJ3ZW5kZXQgbWl0ICIKICItLWJhdGNoIG9kZXIgLS1iYXRjaC1jaGVjaykiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODEKIG1zZ2lkICJzaG93IGFsbCBvYmplY3RzIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrIgogbXNnc3RyICJhbGxlIE9iamVrdGUgbWl0IC0tYmF0Y2ggb2RlciAtLWJhdGNoLWNoZWNrIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKIG1zZ2lkICJnaXQgY2hlY2stYXR0ciBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0gWy0tXSA8cGF0aG5hbWU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2stYXR0ciBbLWEgfCAtLWFsbCB8IDxBdHRyaWJ1dD4uLi5dIFstLV0gPFBmYWRuYW1lPi4uLiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPEF0dHJpYnV0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjE5CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMAogbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKIG1zZ3N0ciAiYWxsZSBBdHRyaWJ1dGUgZWluZXIgRGF0ZWkgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQogbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJudXIgLmdpdGF0dHJpYnV0ZXMgdm9tIEluZGV4IHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgIkRhdGVpbmFtZW4gdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIGxlc2VuIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIkVpbnRyw6RnZSB2b24gRWluLSB1bmQgQXVzZ2FiZSBtaXQgTlVMLVplaWNoZW4gYWJzY2hsaWXDn2VuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwIGJ1aWx0aW4vZ2MuYzozMzIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjAgYnVpbHRpbi9jaGVja291dC5jOjExNDMgYnVpbHRpbi9nYy5jOjM1NwogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiRm9ydHNjaHJpdHRzYW56ZWlnZSB1bnRlcmRyw7xja2VuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgIkVpbmdhYmUtUGZhZGUgb2huZSDDnGJlcmVpbnN0aW1tdW5nZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MzAKIG1zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKIG1zZ3N0ciAiSW5kZXggYmVpIGRlciBQcsO8ZnVuZyBpZ25vcmllcmVuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTgKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICJBbmdhYmUgdm9uIFBmYWRuYW1lbiBrYW5uIG5pY2h0IGdlbWVpbnNhbSBtaXQgLS1zdGRpbiB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjEKIG1zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAteiBrYW5uIG51ciBtaXQgLS1zdGRpbiB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgImtlaW4gUGZhZCBhbmdlZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NwogbXNnaWQgIi0tcXVpZXQgaXMgb25seSB2YWxpZCB3aXRoIGEgc2luZ2xlIHBhdGhuYW1lIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tcXVpZXQgaXN0IG51ciBtaXQgZWluZW0gZWluemVsbmVuIFBmYWRuYW1lbiBnw7xsdGlnLiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1xdWlldCB1bmQgLS12ZXJib3NlIGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICItLW5vbi1tYXRjaGluZyBpc3QgbnVyIG1pdCAtLXZlcmJvc2UgenVsw6Rzc2lnIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo4CisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo5CiBtc2dpZCAiZ2l0IGNoZWNrLW1haWxtYXAgWzxvcHRpb25zPl0gPGNvbnRhY3Q+Li4uIgogbXNnc3RyICJnaXQgY2hlY2stbWFpbG1hcCBbPE9wdGlvbmVuPl0gPEtvbnRha3Q+Li4uIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxMworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MTQKIG1zZ2lkICJhbHNvIHJlYWQgY29udGFjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiZWJlbmZhbGxzIEtvbnRha3RlIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjQKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb250YWN0OiAlcyIKIG1zZ3N0ciAiS29ubnRlIEtvbnRha3QgJyVzJyBuaWNodCBwYXJzZW4uIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0NworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDgKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgImtlaW5lIEtvbnRha3RlIGFuZ2VnZWJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyNworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxPcHRpb25lbj5dIFstLV0gWzxEYXRlaT4uLi5dIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ1CiBtc2dpZCAic3RhZ2Ugc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMyBvciBhbGwiCiBtc2dzdHIgIi0tc3RhZ2Ugc29sbHRlIHp3aXNjaGVuIDEgdW5kIDMgb2RlciAnYWxsJyBzZWluIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYwCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCiBtc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgImFsbGUgRGF0ZWllbiBpbSBJbmRleCBhdXNjaGVja2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYyCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICJkYXMgw5xiZXJzY2hyZWliZW4gYmVyZWl0cyBleGlzdGllcmVuZGVyIERhdGVpZW4gZXJ6d2luZ2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYzCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKIG1zZ3N0ciAiIgogImtlaW5lIFdhcm51bmcgZsO8ciBleGlzdGllcmVuZGUgRGF0ZWllbiwgdW5kIERhdGVpZW4sIGRpZSBzaWNoIG5pY2h0IGltIEluZGV4ICIKICJiZWZpbmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NgogbXNnaWQgImRvbid0IGNoZWNrb3V0IG5ldyBmaWxlcyIKIG1zZ3N0ciAia2VpbmUgbmV1ZW4gRGF0ZWllbiBhdXNjaGVja2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgIkRhdGVpaW5mb3JtYXRpb25lbiBpbiBkZXIgSW5kZXgtRGF0ZWkgYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiZWluZSBMaXN0ZSB2b24gUGZhZGVuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAiZGVuIEluaGFsdCBpbiB0ZW1wb3LDpHJlIERhdGVpZW4gc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0IGJ1aWx0aW4vY29sdW1uLmM6MzAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDcxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1IGJ1aWx0aW4vY29sdW1uLmM6MzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDc4CiBtc2dpZCAic3RyaW5nIgogbXNnc3RyICJaZWljaGVua2V0dGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzYKIG1zZ2lkICJ3aGVuIGNyZWF0aW5nIGZpbGVzLCBwcmVwZW5kIDxzdHJpbmc+IgogbXNnc3RyICIiCiAid2VubiBEYXRlaWVuIGVyemV1Z3Qgd2VyZGVuLCBzdGVsbGUgPFplaWNoZW5rZXR0ZT4gZGVtIERhdGVpbmFtZW4gdm9yYW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzgKIG1zZ2lkICJjb3B5IG91dCB0aGUgZmlsZXMgZnJvbSBuYW1lZCBzdGFnZSIKIG1zZ3N0ciAiRGF0ZWllbiB2b24gZGVtIGJlbmFubnRlbiBTdGFuZCBrb3BpZXJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gPGJyYW5jaD4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPE9wdGlvbmVuPl0gPEJyYW5jaD4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjI3CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxPcHRpb25lbj5dIFs8QnJhbmNoPl0gLS0gPERhdGVpPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNCBidWlsdGluL2NoZWNrb3V0LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgIlBmYWQgJyVzJyBoYXQgbmljaHQgdW5zZXJlIFZlcnNpb24uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcgYnVpbHRpbi9jaGVja291dC5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICJQZmFkICclcycgaGF0IG5pY2h0IGRlcmVuIFZlcnNpb24uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIlBmYWQgJyVzJyBoYXQgbmljaHQgYWxsZSBub3R3ZW5kaWdlbiBWZXJzaW9uZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiUGZhZCAnJXMnIGhhdCBuaWNodCBkaWUgbm90d2VuZGlnZW4gVmVyc2lvbmVuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKIG1zZ3N0ciAiUGZhZCAnJXMnOiBrYW5uIG5pY2h0IHp1c2FtbWVuZsO8aHJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIE1lcmdlLUVyZ2VibmlzIHZvbiAnJXMnIG5pY2h0IGhpbnp1ZsO8Z2VuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1MCBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjI1NiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiJyVzJyBrYW5uIG5pY2h0IG1pdCBkZXIgQWt0dWFsaXNpZXJ1bmcgdm9uIFBmYWRlbiB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjUgYnVpbHRpbi9jaGVja291dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiclcycga2FubiBuaWNodCBtaXQgJyVzJyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAiIgogIkthbm4gbmljaHQgZ2xlaWNoemVpdGlnIFBmYWRlIGFrdHVhbGlzaWVyZW4gdW5kIHp1IEJyYW5jaCAnJXMnIHdlY2hzZWxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzM5IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDIgYnVpbHRpbi9jaGVja291dC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgIlBmYWQgJyVzJyBpc3QgbmljaHQgenVzYW1tZW5nZWbDvGhydC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTcKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAiU2llIG3DvHNzZW4genVlcnN0IGRpZSBLb25mbGlrdGUgaW4gSWhyZW0gYWt0dWVsbGVuIEluZGV4IGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIkthbm4gXCJyZWZsb2dcIiBmw7xyICclcycgbmljaHQgZHVyY2hmw7xocmVuOiAlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjY5CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQgaXN0IGpldHp0IGJlaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3MCBidWlsdGluL2Nsb25lLmM6NjYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjczIGJ1aWx0aW4vY2xvbmUuYzo2ODIKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGFrdHVhbGlzaWVyZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlNldHplIEJyYW5jaCAnJXMnIG5ldVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJCZXJlaXRzIGF1ZiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlp1IHVtZ2VzZXR6dGVtIEJyYW5jaCAnJXMnIGdld2VjaHNlbHRcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY4MyBidWlsdGluL2NoZWNrb3V0LmM6MTA3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjY4NiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJadSBuZXVlbSBCcmFuY2ggJyVzJyBnZXdlY2hzZWx0XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiWnUgQnJhbmNoICclcycgZ2V3ZWNoc2VsdFxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiAuLi4gdW5kICVkIHdlaXRlcmUuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC01OTgwLDcgKzYyODAsNyBAQAogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtNTk5NiwxNzggKzYyOTYsMTczIEBACiAiXG4iCiBtc2dzdHJbMF0gIiIKICJXZW5uIFNpZSBkaWVzZSBkdXJjaCBlaW5lbiBuZXVlbiBCcmFuY2ggYmVoYWx0ZW4gbcO2Y2h0ZW4sIGRhbm4ga8O2bm50ZSBqZXR6dFxuIgotImVpbiBndXRlciBaZWl0cHVua3Qgc2VpbiBkaWVzIHp1IHR1biBtaXQ6XG4iCisiZWluIGd1dGVyIFplaXRwdW5rdCBzZWluLCBkaWVzIHp1IHR1biBtaXQ6XG4iCiAiXG4iCiAiIGdpdCBicmFuY2ggPG5ldWVyLUJyYW5jaG5hbWU+ICVzXG4iCiAiXG4iCiBtc2dzdHJbMV0gIiIKICJXZW5uIFNpZSBkaWVzZSBkdXJjaCBlaW5lbiBuZXVlbiBCcmFuY2ggYmVoYWx0ZW4gbcO2Y2h0ZW4sIGRhbm4ga8O2bm50ZSBqZXR6dFxuIgotImVpbiBndXRlciBaZWl0cHVua3Qgc2VpbiBkaWVzIHp1IHR1biBtaXQ6XG4iCisiZWluIGd1dGVyIFplaXRwdW5rdCBzZWluLCBkaWVzIHp1IHR1biBtaXQ6XG4iCiAiXG4iCiAiIGdpdCBicmFuY2ggPG5ldWVyLUJyYW5jaG5hbWU+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDAKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICJpbnRlcm5lciBGZWhsZXIgaW0gUmV2aXNpb25zZ2FuZyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjgwNAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICJWb3JoZXJpZ2UgUG9zaXRpb24gdm9uIEhFQUQgd2FyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODI4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODMyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcwCiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKLW1zZ3N0ciAiU2llIHNpbmQgYXVmIGVpbmVtIEJyYW5jaCwgZGVyIG5vY2ggZ2Vib3JlbiB3aXJkIgorbXNnc3RyICJTaWUgc2luZCBhdWYgZWluZW0gQnJhbmNoLCBkZXIgbm9jaCBuaWNodCBnZWJvcmVuIGlzdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjk3MworIzogYnVpbHRpbi9jaGVja291dC5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKIG1zZ3N0ciAibnVyIGVpbmUgUmVmZXJlbnogZXJ3YXJ0ZXQsICVkIGdlZ2ViZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMyBidWlsdGluL3dvcmt0cmVlLmM6MjE0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxNiBidWlsdGluL3dvcmt0cmVlLmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBSZWZlcmVuejogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgIlJlZmVyZW56IGlzdCBrZWluIFwiVHJlZVwiLU9iamVrdDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NAogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICJQZmFkZSBrw7ZubmVuIG5pY2h0IGJlaW0gV2VjaHNlbG4gdm9uIEJyYW5jaGVzIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NyBidWlsdGluL2NoZWNrb3V0LmM6MTA5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICInJXMnIGthbm4gbmljaHQgYmVpbSBXZWNoc2VsbiB2b24gQnJhbmNoZXMgdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTUgYnVpbHRpbi9jaGVja291dC5jOjExMDAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NSBidWlsdGluL2NoZWNrb3V0LmM6MTA5OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIiclcycga2FubiBuaWNodCBtaXQgJyVzJyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIkthbm4gQnJhbmNoIG5pY2h0IHp1IE5pY2h0LUNvbW1pdCAnJXMnIHdlY2hzZWxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MSBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2Nsb25lLmM6OTMKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vY2xvbmUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTY4IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzAKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIkJyYW5jaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgImVpbmVuIG5ldWVuIEJyYW5jaCBlcnpldWdlbiB1bmQgYXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiZWluZW4gQnJhbmNoIGVyc3RlbGxlbi91bXNldHplbiB1bmQgYXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ4CiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiZGFzIFJlZmxvZyBmw7xyIGRlbiBuZXVlbiBCcmFuY2ggZXJ6ZXVnZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5IGJ1aWx0aW4vd29ya3RyZWUuYzozMzIKIG1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgIkhFQUQgYmVpIGJlbmFubnRlbSBDb21taXQgbG9zbMO2c2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dW0gVXBzdHJlYW0tQnJhbmNoIGbDvHIgZGVuIG5ldWVuIEJyYW5jaCBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldy1icmFuY2giCiBtc2dzdHIgIm5ldWVyIEJyYW5jaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJuZXVlciBCcmFuY2ggb2huZSBFbHRlcm4tQ29tbWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgInVuc2VyZSBWYXJpYW50ZSBmw7xyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gYXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImlocmUgVmFyaWFudGUgZsO8ciBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGF1c2NoZWNrZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NwogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJBdXNjaGVja2VuIGVyendpbmdlbiAodmVyd2lyZnQgbG9rYWxlIMOEbmRlcnVuZ2VuKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgImVpbmVuIDMtV2VnZS1NZXJnZSBtaXQgZGVtIG5ldWVuIEJyYW5jaCBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NiBidWlsdGluL21lcmdlLmM6MjM1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL21lcmdlLmM6MjM1CiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICJpZ25vcmllcnRlIERhdGVpZW4gYWt0dWFsaXNpZXJlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NyBidWlsdGluL2xvZy5jOjE0NjYgcGFyc2Utb3B0aW9ucy5oOjI1MQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAgYnVpbHRpbi9sb2cuYzoxNDgzIHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAiU3RpbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYxCiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAiS29uZmxpa3RzdGlsIChtZXJnZSBvZGVyIGRpZmYzKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY0CiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICJrZWluZSBFaW5zY2hyw6Rua3VuZyBiZWkgUGZhZHNwZXppZmlrYXRpb25lbiB6dW0gcGFydGllbGxlbiBBdXNjaGVja2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MworIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2OAogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKIG1zZ3N0ciAiIgogIlByw7xmdW5nLCBvYiBkaWUgUmVmZXJlbnogYmVyZWl0cyBpbiBlaW5lbSBhbmRlcmVuIEFyYmVpdHN2ZXJ6ZWljaG5pcyAiCiAiYXVzZ2VjaGVja3Qgd3VyZGUsIGRlYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzOQotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyIGJ1aWx0aW4vY2xvbmUuYzo4MCBidWlsdGluL2ZldGNoLmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjMyIGJ1aWx0aW4vcHVsbC5jOjEyMCBidWlsdGluL3B1c2guYzo1NDQKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJGb3J0c2Nocml0dHNhbnplaWdlIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAzCiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLWIsIC1CIHVuZCAtLW9ycGhhbiBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjIwCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICJCZWkgZGVyIE9wdGlvbiAtLXRyYWNrIG11c3MgZWluIEJyYW5jaG5hbWUgYW5nZWdlYmVuIHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyNQogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiVmVybWlzc2UgQnJhbmNobmFtZW47IHZlcnN1Y2hlbiBTaWUgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MQogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJ1bmfDvGx0aWdlIFBmYWRzcGV6aWZpa2F0aW9uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgotIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IgotbXNnc3RyICIiCi0iS2FubiBuaWNodCBnbGVpY2h6ZWl0aWcgUGZhZGUgYWt0dWFsaXNpZXJlbiB1bmQgenUgQnJhbmNoICclcycgd2VjaHNlbG4uXG4iCi0iSGFiZW4gU2llIGJlYWJzaWNodGlndCAnJXMnIGF1c3p1Y2hlY2tlbiwgd2VsY2hlciBuaWNodCBhbHMgQ29tbWl0IGF1ZmdlbMO2c3QgIgotIndlcmRlbiBrYW5uPyIKK21zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IgorbXNnc3RyICInJXMnIGlzdCBrZWluIENvbW1pdCB1bmQgZXMga2FubiBrZWluIEJyYW5jaCAnJXMnIGF1cyBkaWVzZW0gZXJzdGVsbHQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBuaW1tdCBrZWluIFBmYWQtQXJndW1lbnQgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjc2CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNjE3NSwzOCArNjQ3MCwzOCBAQAogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIHVuZCAtLW1lcmdlIHNpbmQgaW5rb21wYXRpYmVsIHdlbm5cbiIKICJTaWUgYXVzIGRlbSBJbmRleCBhdXNjaGVja2VuLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI1CisjOiBidWlsdGluL2NsZWFuLmM6MjYKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPE11c3Rlcj5dIFsteCB8IC1YXSBbLS1dIDxQZmFkZT4uLi4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIkzDtnNjaGUgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwCisjOiBidWlsdGluL2NsZWFuLmM6MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIlfDvHJkZSAlcyBsw7ZzY2hlblxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzEKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIsOcYmVyc3ByaW5nZSBSZXBvc2l0b3J5ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJXw7xyZGUgUmVwb3NpdG9yeSAlcyDDvGJlcnNwcmluZ2VuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMworIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEzDtnNjaGVuIHZvbiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyMworIzogYnVpbHRpbi9jbGVhbi5jOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC02MjE5LDcgKzY1MTQsNyBAQAogImZvbyAgICAgICAgLSBFbGVtZW50IGFuaGFuZCBlaW5lcyBlaW5kZXV0aWdlbiBQcsOkZml4IGF1c3fDpGhsZW5cbiIKICIgICAgICAgICAgIC0gKGxlZXIpIG5pY2h0cyBhdXN3w6RobGVuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtNjI0MCwzOCArNjUzNSwzOCBAQAogIiogICAgICAgICAgLSBhbGxlIEVsZW1lbnRlIGF1c3fDpGhsZW5cbiIKICIgICAgICAgICAgIC0gKGxlZXIpIEF1c3dhaGwgYmVlbmRlblxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTExIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk4Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwMworIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU0NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTIKICMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpP1xuIgogbXNnc3RyICJXaWUgYml0dGUgKCVzKT9cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1MworIzogYnVpbHRpbi9jbGVhbi5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIklnbm9yaWVyLU11c3RlciBlaW5nZWJlbj4+ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5MAorIzogYnVpbHRpbi9jbGVhbi5jOjY5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAiV0FSTlVORzogS2FubiBrZWluZSBFaW50csOkZ2UgZmluZGVuIGRpZSBNdXN0ZXIgZW50c3ByZWNoZW46ICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzExCisjOiBidWlsdGluL2NsZWFuLmM6NzE4CiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAiV8OkaGxlbiBTaWUgRWludHLDpGdlIHp1bSBMw7ZzY2hlbiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzUyCisjOiBidWlsdGluL2NsZWFuLmM6NzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICInJXMnIGzDtnNjaGVuIFt5L05dPyAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY5CisjOiBidWlsdGluL2NsZWFuLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJCeWUuXG4iCiBtc2dzdHIgIlRzY2jDvHNzLlxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg1CisjOiBidWlsdGluL2NsZWFuLmM6NzkyCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTYyODksNjIgKzY1ODQsNjMgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0gZGllc2UgTWVsZHVuZyBhbnplaWdlblxuIgogIj8gICAgICAgICAgICAgICAgICAgLSBIaWxmZSB6dXIgQXVzd2FobCBtaXR0ZWxzIEVpbmdhYmUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQ1CisjOiBidWlsdGluL2NsZWFuLmM6ODE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5MgogbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCiBtc2dzdHIgIioqKiBCZWZlaGxlICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg5CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIldhcyBudW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJXw7xyZGUgZGFzIGZvbGdlbmRlIEVsZW1lbnQgZW50ZmVybmVuOiIKIG1zZ3N0clsxXSAiV8O8cmRlIGRpZSBmb2xnZW5kZW4gRWxlbWVudGUgZW50ZmVybmVuOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgzOAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NAogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICJLZWluZSBEYXRlaWVuIG1laHIgenVtIEzDtnNjaGVuLCBiZWVuZGUuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODY5CisjOiBidWlsdGluL2NsZWFuLmM6OTA2CiBtc2dpZCAiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiCiBtc2dzdHIgImtlaW5lIE5hbWVuIHZvbiBnZWzDtnNjaHRlbiBEYXRlaWVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcxCisjOiBidWlsdGluL2NsZWFuLmM6OTA4CiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgIkFrdGlvbiBlcnp3aW5nZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKIG1zZ2lkICJpbnRlcmFjdGl2ZSBjbGVhbmluZyIKIG1zZ3N0ciAiaW50ZXJha3RpdmVzIENsZWFuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc0CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJnYW56ZSBWZXJ6ZWljaG5pc3NlIGzDtnNjaGVuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6MTA1NgotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOCBidWlsdGluL25hbWUtcmV2LmM6MzEzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjQ1MiBidWlsdGluL2Rlc2NyaWJlLmM6NDU0CisjOiBidWlsdGluL2dyZXAuYzoxMDgyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDYgYnVpbHRpbi9uYW1lLXJldi5jOjM5NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OSBidWlsdGluL3Nob3ctcmVmLmM6MTc2CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAiTXVzdGVyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc2CisjOiBidWlsdGluL2NsZWFuLmM6OTEzCiBtc2dpZCAiYWRkIDxwYXR0ZXJuPiB0byBpZ25vcmUgcnVsZXMiCiBtc2dzdHIgIjxNdXN0ZXI+IHp1IGRlbiBSZWdlbG4gZsO8ciBpZ25vcmllcnRlIFBmYWRlIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc3CisjOiBidWlsdGluL2NsZWFuLmM6OTE0CiBtc2dpZCAicmVtb3ZlIGlnbm9yZWQgZmlsZXMsIHRvbyIKIG1zZ3N0ciAiYXVjaCBpZ25vcmllcnRlIERhdGVpZW4gbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJudXIgaWdub3JpZXJ0ZSBEYXRlaWVuIGzDtnNjaGVuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODk3CisjOiBidWlsdGluL2NsZWFuLmM6OTM0CiBtc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLXggdW5kIC1YIGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTAxCisjOiBidWlsdGluL2NsZWFuLmM6OTM4CiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBzZXQgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgogImNsZWFuIgpAQCAtNjM1Miw3ICs2NjQ4LDcgQEAKICJjbGVhbi5yZXF1aXJlRm9yY2UgYXVmIFwidHJ1ZVwiIGdlc2V0enQgdW5kIHdlZGVyIC1pLCAtbiBub2NoIC1mIGdlZ2ViZW47ICIKICJcImNsZWFuXCIgdmVyd2VpZ2VydCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtNjM2MCwxMzkgKzY2NTYsMTQ4IEBACiAiY2xlYW4ucmVxdWlyZUZvcmNlIHN0YW5kYXJkbcOkw59pZyBhdWYgXCJ0cnVlXCIgZ2VzZXR6dCB1bmQgd2VkZXIgLWksIC1uIG5vY2ggLSIKICJmIGdlZ2ViZW47IFwiY2xlYW5cIiB2ZXJ3ZWlnZXJ0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOAogbXNnaWQgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgWzxPcHRpb25lbj5dIFstLV0gPFJlcG9zaXRvcnk+IFs8VmVyemVpY2huaXM+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1CisjOiBidWlsdGluL2Nsb25lLmM6ODIKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAia2VpbiBBdXNjaGVja2VuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2luaXQtZGIuYzo0NzkKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImVpbiBCYXJlLVJlcG9zaXRvcnkgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJlaW4gU3BpZWdlbGFyY2hpdiBlcnN0ZWxsZW4gKGltcGxpemllcnQgLS1iYXJlKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyCisjOiBidWlsdGluL2Nsb25lLmM6ODkKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAidm9uIGVpbmVtIGxva2FsZW4gUmVwb3NpdG9yeSBrbG9uZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NAorIzogYnVpbHRpbi9jbG9uZS5jOjkxCiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgImxva2FsIGtlaW5lIGhhcnRlbiBWZXJ3ZWlzZSB2ZXJ3ZW5kZW4sIGltbWVyIEtvcGllbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiYWxzIHZlcnRlaWx0ZXMgUmVwb3NpdG9yeSBlaW5yaWNodGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9jbG9uZS5jOjk5Cittc2dpZCAicGF0aHNwZWMiCittc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiU3VibW9kdWxlIGltIEtsb24gaW5pdGlhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjEwMgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiQW56YWhsIGRlciBwYXJhbGxlbCB6dSBrbG9uZW5kZW4gU3VibW9kdWxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6MTAzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAiVm9ybGFnZW52ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2luaXQtZGIuYzo0NzcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJWZXJ6ZWljaG5pcywgdm9uIHdlbGNoZW0gZGllIFZvcmxhZ2VuIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwNiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODMKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiUmVwb3NpdG9yeSByZWZlcmVuemllcmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICItLXJlZmVyZW5jZSBudXIgd8OkaHJlbmQgZGVzIEtsb25lbnMgYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJOYW1lIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgIjxOYW1lPiBzdGF0dCAnb3JpZ2luJyBmw7xyIFVwc3RyZWFtLVJlcG9zaXRvcnkgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICI8QnJhbmNoPiBhdXNjaGVja2VuLCBhbnN0YXR0IEhFQUQgZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNgogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgIlBmYWQgenUgXCJnaXQtdXBsb2FkLXBhY2tcIiBhdWYgZGVyIEdlZ2Vuc2VpdGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjk5OSBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTcgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL2dyZXAuYzoxMDI1CisjOiBidWlsdGluL3B1bGwuYzoyMDUKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAiVGllZmUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OAorIzogYnVpbHRpbi9jbG9uZS5jOjExOAogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAiIgogImVpbmVuIEtsb24gbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIGluIGRpZXNlciBUaWVmZSBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OSBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNgorIzogYnVpbHRpbi9jbG9uZS5jOjExOSBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzMgogIzogcGFyc2Utb3B0aW9ucy5oOjE0MgogbXNnaWQgInRpbWUiCiBtc2dzdHIgIlplaXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKIG1zZ3N0ciAiIgogImVpbmVuIEtsb24gbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIHNlaXQgZWluZXIgYmVzdGltbXRlbiAiCiAiWmVpdFxuIgogImVyc3RlbGxlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2ZldGNoLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTkKIG1zZ2lkICJyZXZpc2lvbiIKIG1zZ3N0ciAiQ29tbWl0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIgYnVpbHRpbi9mZXRjaC5jOjEyMAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgIiIKICJkaWUgSGlzdG9yaWUgZWluZXMgS2xvbnMgbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIG1pdHRlbHNcbiIKICJBdXNzY2hsdXNzIGVpbmVzIENvbW1pdHMgdmVydGllZmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0CisjOiBidWlsdGluL2Nsb25lLmM6MTI0CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJudXIgZWluZW4gQnJhbmNoIGtsb25lbiwgSEVBRCBvZGVyIC0tYnJhbmNoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA2CisjOiBidWlsdGluL2Nsb25lLmM6MTI2Cittc2dpZCAiZG9uJ3QgY2xvbmUgYW55IHRhZ3MsIGFuZCBtYWtlIGxhdGVyIGZldGNoZXMgbm90IHRvIGZvbGxvdyB0aGVtIgorbXNnc3RyICJrZWluZSBUYWdzIGtsb25lbiwgdW5kIGF1Y2ggYmVpIHNww6R0ZXJlbiBBYnJ1ZmVuIG5pY2h0IGJlYWNodGVuIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAiamVkZXMgZ2VrbG9udGUgU3VibW9kdWwgbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAorIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgIi5naXQtVmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIkdpdC1WZXJ6ZWljaG5pcyB2b20gQXJiZWl0c3ZlcnplaWNobmlzIHNlcGFyaWVyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzEKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgIlNjaGzDvHNzZWw9V2VydCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiS29uZmlndXJhdGlvbiBpbm5lcmhhbGIgZGVzIG5ldWVuIFJlcG9zaXRvcmllcyBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9mZXRjaC5jOjE0MCBidWlsdGluL3B1c2guYzo1NTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzMgYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1c2guYzo1NTUKIG1zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAibnVyIElQdjQtQWRyZXNzZW4gYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL3B1c2guYzo1NTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzUgYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1c2guYzo1NTcKIG1zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAibnVyIElQdjYtQWRyZXNzZW4gYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNzIKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtNjUwMCw0MiArNjgwNSw0MiBAQAogIktvbm50ZSBrZWluZW4gVmVyemVpY2huaXNuYW1lbiBlcnJhdGVuLlxuIgogIkJpdHRlIGdlYmVuIFNpZSBlaW4gVmVyemVpY2huaXMgYXVmIGRlciBCZWZlaGxzemVpbGUgYW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzAzCisjOiBidWlsdGluL2Nsb25lLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJpbmZvOiBLb25udGUgQWx0ZXJuYXRpdmUgZsO8ciAnJXMnIG5pY2h0IGhpbnp1ZsO8Z2VuOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzc1CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIGV4aXN0aWVydCB1bmQgaXN0IGtlaW4gVmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGxlc2VuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIktvbm50ZSBWZXJ3ZWlzICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIzCisjOiBidWlsdGluL2Nsb25lLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiS29ubnRlIERhdGVpIG5pY2h0IG5hY2ggJyVzJyBrb3BpZXJlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICJGZXJ0aWcuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0ODIKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtNjU0NSwxMDIgKzY4NTAsMTAxIEBACiAiU2llIGvDtm5uZW4gbWl0ICdnaXQgc3RhdHVzJyBwcsO8ZmVuLCB3YXMgYXVzZ2VjaGVja3Qgd29yZGVuIGlzdFxuIgogInVuZCBkYXMgQXVzY2hlY2tlbiBtaXQgJ2dpdCBjaGVja291dCAtZiBIRUFEJyBlcm5ldXQgdmVyc3VjaGVuLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTM3CisjOiBidWlsdGluL2Nsb25lLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJLb25udGUgenUga2xvbmVuZGVuIFJlbW90ZS1CcmFuY2ggJXMgbmljaHQgZmluZGVuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYzMgorIzogYnVpbHRpbi9jbG9uZS5jOjY1NAogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJSZW1vdGUtUmVwb3NpdG9yeSBoYXQgbmljaHQgYWxsZSBlcmZvcmRlcmxpY2hlbiBPYmpla3RlIGdlc2VuZGV0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0OAorIzogYnVpbHRpbi9jbG9uZS5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICJrYW5uICVzIG5pY2h0IGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MTkKIG1zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCiBtc2dzdHIgIiIKICJFeHRlcm5lciBIRUFEIGJlemllaHQgc2ljaCBhdWYgZWluZSBuaWNodCBleGlzdGllcmVuZGUgUmVmZXJlbnogdW5kIGthbm4gIgogIm5pY2h0IGF1c2dlY2hlY2t0IHdlcmRlbi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyOAorIzogYnVpbHRpbi9jbG9uZS5jOjc1MAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIkFyYmVpdHN2ZXJ6ZWljaG5pcyBrb25udGUgbmljaHQgYXVzZ2VjaGVja3Qgd2VyZGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzY4CisjOiBidWlsdGluL2Nsb25lLmM6NzkyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHBhcmFtZXRlcnMgdG8gY29uZmlnIGZpbGUiCiBtc2dzdHIgImtvbm50ZSBQYXJhbWV0ZXIgbmljaHQgaW4gS29uZmlndXJhdGlvbnNkYXRlaSBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICJLYW5uIFwicmVwYWNrXCIgenVtIEF1ZnLDpHVtZW4gbmljaHQgYXVmcnVmZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTcKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgIkthbm4gdGVtcG9yw6RyZSBcImFsdGVybmF0ZXNcIi1EYXRlaSBuaWNodCBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjYgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk1CisjOiBidWlsdGluL2Nsb25lLmM6ODkwIGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIlp1IHZpZWxlIEFyZ3VtZW50ZS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTQKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIlNpZSBtw7xzc2VuIGVpbiBSZXBvc2l0b3J5IHp1bSBLbG9uZW4gYW5nZWJlbi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1iYXJlIHVuZCAtLW9yaWdpbiAlcyBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MTAKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tYmFyZSB1bmQgLS1zZXBhcmF0ZS1naXQtZGlyIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5OQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIlJlcG9zaXRvcnkgJyVzJyBleGlzdGllcnQgbmljaHQuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTA1IGJ1aWx0aW4vZmV0Y2guYzoxMzM1CisjOiBidWlsdGluL2Nsb25lLmM6OTI5IGJ1aWx0aW4vZmV0Y2guYzoxMzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAiVGllZmUgJXMgaXN0IGtlaW5lIHBvc2l0aXZlIFphaGwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiWmllbHBmYWQgJyVzJyBleGlzdGllcnQgYmVyZWl0cyB1bmQgaXN0IGtlaW4gbGVlcmVzIFZlcnplaWNobmlzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyNQorIzogYnVpbHRpbi9jbG9uZS5jOjk0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIkFyYmVpdHN2ZXJ6ZWljaG5pcyAnJXMnIGV4aXN0aWVydCBiZXJlaXRzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vZGlmZnRvb2wuYzoyNTIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTkgYnVpbHRpbi93b3JrdHJlZS5jOjIyMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI0OQorIzogYnVpbHRpbi9jbG9uZS5jOjk2NCBidWlsdGluL2Nsb25lLmM6OTc1IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNjAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIGbDvGhyZW5kZSBWZXJ6ZWljaG5pc3NlIHZvbiAnJXMnIG5pY2h0IGVyc3RlbGxlbi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgIktvbm50ZSBBcmJlaXRzdmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIktsb25lIGluIEJhcmUtUmVwb3NpdG9yeSAnJXMnIC4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIktsb25lIG5hY2ggJyVzJyAuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2MworIzogYnVpbHRpbi9jbG9uZS5jOjEwMDUKIG1zZ2lkICIiCiAiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCiAiYWJsZSIKQEAgLTY2NDgsODkgKzY5NTIsODkgQEAKICInY2xvbmUgLS1yZWN1cnNpdmUnIGlzdCBuaWNodCBrb21wYXRpYmVsIG1pdCAtLXJlZmVyZW5jZSB1bmQgLS1yZWZlcmVuY2UtaWYtIgogImFibGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CisjOiBidWlsdGluL2Nsb25lLmM6MTA2NwogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLWRlcHRoIHdpcmQgaW4gbG9rYWxlbiBLbG9uZW4gaWdub3JpZXJ0OyBiZW51dHplbiBTaWUgIgogInN0YXR0ZGVzc2VuIGZpbGU6Ly8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIxCisjOiBidWlsdGluL2Nsb25lLmM6MTA2OQogbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLXNoYWxsb3ctc2luY2Ugd2lyZCBpbiBsb2thbGVuIEtsb25lbiBpZ25vcmllcnQ7IGJlbnV0emVuIFNpZSBzdGF0dGRlc3NlbiAiCiAiZmlsZTovLyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcxCiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1zaGFsbG93LWV4Y2x1ZGUgd2lyZCBpbiBsb2thbGVuIEtsb25lbiBpZ25vcmllcnQ7IGJlbnV0emVuIFNpZSBzdGF0dGRlc3NlbiAiCiAiZmlsZTovLyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDc0CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAiIgotIlF1ZWxsZSBpc3QgZWluIFJlcG9zaXRvcnkgbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpLGlnbm9yaWVyZSAtLSIKLSJsb2NhbCIKKyJRdWVsbGUgaXN0IGVpbiBSZXBvc2l0b3J5IG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSxcbiIKKyJpZ25vcmllcmUgLS1sb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDc5CiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIHdpcmQgaWdub3JpZXJ0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgIldlacOfIG5pY2h0IHdpZSAlcyB6dSBrbG9uZW4gaXN0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOTAgYnVpbHRpbi9jbG9uZS5jOjEwOTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTM4IGJ1aWx0aW4vY2xvbmUuYzoxMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJSZW1vdGUtQnJhbmNoICVzIG5pY2h0IGltIFVwc3RyZWFtLVJlcG9zaXRvcnkgJXMgZ2VmdW5kZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTE0OQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlNpZSBzY2hlaW5lbiBlaW4gbGVlcmVzIFJlcG9zaXRvcnkgZ2VrbG9udCB6dSBoYWJlbi4iCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6OQorIzogYnVpbHRpbi9jb2x1bW4uYzoxMAogbXNnaWQgImdpdCBjb2x1bW4gWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb2x1bW4gWzxPcHRpb25lbj5dIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI2CisjOiBidWlsdGluL2NvbHVtbi5jOjI3CiBtc2dpZCAibG9va3VwIGNvbmZpZyB2YXJzIgogbXNnc3RyICJLb25maWd1cmF0aW9uc3ZhcmlhYmxlbiBuYWNoc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9jb2x1bW4uYzoyOAorIzogYnVpbHRpbi9jb2x1bW4uYzoyOCBidWlsdGluL2NvbHVtbi5jOjI5CiBtc2dpZCAibGF5b3V0IHRvIHVzZSIKIG1zZ3N0ciAienUgdmVyd2VuZGVuZGUgQW5vcmRudW5nIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI5CisjOiBidWlsdGluL2NvbHVtbi5jOjMwCiBtc2dpZCAiTWF4aW11bSB3aWR0aCIKIG1zZ3N0ciAibWF4aW1hbGUgQnJlaXRlIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMwCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKIG1zZ3N0ciAiQWJzdGFuZCB6dW0gbGlua2VuIFJhbmQiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzEKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIG9uIHJpZ2h0IGJvcmRlciIKIG1zZ3N0ciAiQWJzdGFuZCB6dXIgcmVjaHRlbiBSYW5kIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMyCisjOiBidWlsdGluL2NvbHVtbi5jOjMzCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMiCiBtc2dzdHIgIkFic3RhbmQgendpc2NoZW4gU3BhbHRlbiIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzo1MQorIzogYnVpbHRpbi9jb2x1bW4uYzo1MgogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWNvbW1hbmQgbXVzcyBhbiBlcnN0ZXIgU3RlbGxlIHN0ZWhlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzkKIG1zZ2lkICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGNvbW1pdCBbPE9wdGlvbmVuPl0gWy0tXSA8UGZhZHNwZXppZmlrYXRpb24+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQzCisjOiBidWlsdGluL2NvbW1pdC5jOjQ0CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgWzxPcHRpb25lbj5dIFstLV0gPFBmYWRzcGV6aWZpa2F0aW9uPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0OAorIzogYnVpbHRpbi9jb21taXQuYzo0OQogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC02NzU4LDcgKzcwNjIsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MQorIzogYnVpbHRpbi9jb21taXQuYzo2MgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC02Nzg0LDcgKzcwODgsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MworIzogYnVpbHRpbi9jb21taXQuYzo3NAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgpAQCAtNjc5NCw3ICs3MDk4LDcgQEAKICJtYWNoZW4uIFNpZSBrw7ZubmVuIElocmVuIEJlZmVobCBtaXQgLS1hbGxvdy1lbXB0eSB3aWVkZXJob2xlbiwgb2RlciBkaWVzZW5cbiIKICJDb21taXQgbWl0IFwiZ2l0IHJlc2V0IEhFQUReXCIgdm9sbHN0w6RuZGlnIGVudGZlcm5lbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OAorIzogYnVpbHRpbi9jb21taXQuYzo3OQogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC02ODA5LDExICs3MTEzLDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2CiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIkFuZGVybmZhbGxzIGJlbnV0emVuIFNpZSBiaXR0ZSAnZ2l0IHJlc2V0J1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4CisjOiBidWlsdGluL2NvbW1pdC5jOjg5CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTY4MjksNjcgKzcxMzMsNjIgQEAKICJCZW51dHplbiBTaWUgYW5zY2hsaWXDn2VuZCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIsIHVtIGRpZVxuIgogIkNoZXJyeS1QaWNrLU9wZXJhdGlvbiBtaXQgZGVuIHZlcmJsZWliZW5kZW4gQ29tbWl0cyBmb3J0enVzZXR6ZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzE4CisjOiBidWlsdGluL2NvbW1pdC5jOjMxOQogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRW50cGFja2VuIGRlcyBcIlRyZWVcIi1PYmpla3RlcyB2b24gSEVBRC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjM2MAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJLb25udGUgdGVtcG9yw6RyZW4gSW5kZXggbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY2CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiaW50ZXJha3RpdmVzIEhpbnp1ZsO8Z2VuIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3OAorIzogYnVpbHRpbi9jb21taXQuYzozNzkKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAiS29ubnRlIHRlbXBvcsOkcmVuIEluZGV4IG5pY2h0IGFrdHVhbGlzaWVyZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM4MAorIzogYnVpbHRpbi9jb21taXQuYzozODEKIG1zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIG1haW4gY2FjaGUgdHJlZSIKIG1zZ3N0ciAiS29ubnRlIEhhdXB0LUNhY2hlLVZlcnplaWNobmlzIG5pY2h0IGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDA0IGJ1aWx0aW4vY29tbWl0LmM6NDI3IGJ1aWx0aW4vY29tbWl0LmM6NDc2CisjOiBidWlsdGluL2NvbW1pdC5jOjQwNSBidWlsdGluL2NvbW1pdC5jOjQyOCBidWlsdGluL2NvbW1pdC5jOjQ3NwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAiS29ubnRlIG5ld19pbmRleCBEYXRlaSBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1OQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAiS2FubiBrZWluZW4gVGVpbC1Db21taXQgZHVyY2hmw7xocmVuLCB3w6RocmVuZCBlaW4gTWVyZ2UgaW0gR2FuZ2UgaXN0LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYxCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICIiCiAiS2FubiBrZWluZW4gVGVpbC1Db21taXQgZHVyY2hmw7xocmVuLCB3w6RocmVuZCBcImNoZXJyeS1waWNrXCIgaW0gR2FuZ2UgaXN0LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDcwCiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJLYW5uIEluZGV4IG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4OAorIzogYnVpbHRpbi9jb21taXQuYzo0ODkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgIktvbm50ZSB0ZW1wb3LDpHJlIEluZGV4LURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICJDb21taXQgJyVzJyBmZWhsdCBBdXRvci1Lb3BmYmVyZWljaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1ODQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGhhcyBtYWxmb3JtZWQgYXV0aG9yIGxpbmUiCiBtc2dzdHIgIkNvbW1pdCAnJXMnIGhhdCBmZWhsZXJoYWZ0ZSBBdXRvci1aZWlsZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAiRmVobGVyaGFmdGVyIC0tYXV0aG9yIFBhcmFtZXRlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCi1tc2dzdHIgIlVuZ8O8bHRpZ2VzIERhdHVtc2Zvcm1hdDogJXMiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjU1CisjOiBidWlsdGluL2NvbW1pdC5jOjY1NgogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgpAQCAtNjg5NywzOCArNzE5NiwzOCBAQAogIktvbm50ZSBrZWluIEtvbW1lbnRhci1aZWljaGVuIGF1c3fDpGhsZW4sIGRhcyBuaWNodCBpblxuIgogImRlciBha3R1ZWxsZW4gQ29tbWl0LUJlc2NocmVpYnVuZyB2ZXJ3ZW5kZXQgd2lyZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjkyIGJ1aWx0aW4vY29tbWl0LmM6NzI1IGJ1aWx0aW4vY29tbWl0LmM6MTA5NgorIzogYnVpbHRpbi9jb21taXQuYzo2OTMgYnVpbHRpbi9jb21taXQuYzo3MjYgYnVpbHRpbi9jb21taXQuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICJLb25udGUgQ29tbWl0ICVzIG5pY2h0IG5hY2hzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NQorIzogYnVpbHRpbi9jb21taXQuYzo3MDUgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIobGVzZSBMb2ctTmFjaHJpY2h0IHZvbiBTdGFuZGFyZC1FaW5nYWJlKVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNgorIzogYnVpbHRpbi9jb21taXQuYzo3MDcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiS29ubnRlIExvZyBuaWNodCB2b24gU3RhbmRhcmQtRWluZ2FiZSBsZXNlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzEwCisjOiBidWlsdGluL2NvbW1pdC5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJLb25udGUgTG9nLURhdGVpICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM3IGJ1aWx0aW4vY29tbWl0LmM6NzQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjczOCBidWlsdGluL2NvbW1pdC5jOjc0NgogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgIktvbm50ZSBTUVVBU0hfTVNHIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0MgorIzogYnVpbHRpbi9jb21taXQuYzo3NDMKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgIktvbm50ZSBNRVJHRV9NU0cgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk2CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NwogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCiBtc2dzdHIgIktvbm50ZSBDb21taXQtVm9ybGFnZSBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE0CisjOiBidWlsdGluL2NvbW1pdC5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02OTQzLDcgKzcyNDIsNyBAQAogIlx0JXNcbiIKICJ1bmQgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE5CisjOiBidWlsdGluL2NvbW1pdC5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02OTU4LDcgKzcyNTcsNyBAQAogIlx0JXNcbiIKICJ1bmQgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODMyCisjOiBidWlsdGluL2NvbW1pdC5jOjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNjk2OCw3ICs3MjY3LDcgQEAKICJkaWUgbWl0ICclYycgYmVnaW5uZW4sIHdlcmRlbiBpZ25vcmllcnQsIHVuZCBlaW5lIGxlZXJlIEJlc2NocmVpYnVuZ1xuIgogImJyaWNodCBkZW4gQ29tbWl0IGFiLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzOQorIzogYnVpbHRpbi9jb21taXQuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTY5ODEsMTU3ICs3MjgwLDE1NyBAQAogImVudGZlcm5lbi5cbiIKICJFaW5lIGxlZXJlIEJlc2NocmVpYnVuZyBicmljaHQgZGVuIENvbW1pdCBhYi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXNBdXRvcjogICAgICAgICAgICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2NworIzogYnVpbHRpbi9jb21taXQuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNEYXRlOiAgICAgICVzIgogbXNnc3RyICIlc0RhdHVtOiAgICAgICAgICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg3NAorIzogYnVpbHRpbi9jb21taXQuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc0NvbW1pdC1FcnN0ZWxsZXI6ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg5MgorIzogYnVpbHRpbi9jb21taXQuYzo4ODkKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiS2FubiBJbmRleCBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTUxCiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEVyemV1Z2VuIGRlciBcIlRyZWVcIi1PYmpla3RlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2OCBidWlsdGluL3RhZy5jOjI4MAorIzogYnVpbHRpbi9jb21taXQuYzo5NjUgYnVpbHRpbi90YWcuYzoyNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICIiCiAiQml0dGUgbGllZmVybiBTaWUgZWluZSBCZXNjaHJlaWJ1bmcgZW50d2VkZXIgbWl0IGRlciBPcHRpb24gLW0gb2RlciAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAiLS1hdXRob3IgJyVzJyBpc3QgbmljaHQgaW0gRm9ybWF0ICdOYW1lIDxFLU1haWw+JyB1bmQgc3RpbW10IG1pdCBrZWluZW0gIgogInZvcmhhbmRlbmVuIEF1dG9yIMO8YmVyZWluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMgYnVpbHRpbi9jb21taXQuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgTW9kdXMgJyVzJyBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTIxCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1sb25nIHVuZCAteiBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTUxCiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLXJlc2V0LWF1dGhvciB1bmQgLS1hdXRob3Iga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MAogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICJTaWUgaGFiZW4gbmljaHRzIGbDvHIgXCItLWFtZW5kXCIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MwogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIkVpbiBNZXJnZSBpc3QgaW0gR2FuZ2UgLS0ga2FubiBcIi0tYW1lbmRcIiBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjUKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgaXN0IGltIEdhbmdlIC0tIGthbm4gXCItLWFtZW5kXCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLXNxdWFzaCB1bmQgLS1maXh1cCBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTgxCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzgKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiRXMga2FubiBudXIgZWluZSBPcHRpb24gdm9uIC1jLy1DLy1GLy0tZml4dXAgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MworIzogYnVpbHRpbi9jb21taXQuYzoxMTgwCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICJEaWUgT3B0aW9uIC1tIGthbm4gbmljaHQgbWl0IC1jLy1DLy1GLy0tZml4dXAga29tYmluaWVydCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExOTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4OAogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tcmVzZXQtLWF1dGhvciBrYW5uIG51ciBtaXQgLUMsIC1jIG9kZXIgLS1hbWVuZCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDUKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICJFcyBrYW5uIG51ciBlaW5lIE9wdGlvbiB2b24gLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggIgogInZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNwogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLWluY2x1ZGUgdW5kIC0tb25seSBrw7ZubmVuIG51ciBtaXQgZGVyIEFuZ2FiZSB2b24gUGZhZGVuICIKICJ2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjEyCi1tc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKLW1zZ3N0ciAiRXhwbGl6aXRlIFBmYWRlIG9obmUgLWkgb2RlciAtbyBhbmdlZ2ViZW47IG5laG1lIC0tb25seSBhbiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjI0IGJ1aWx0aW4vdGFnLmM6NDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTkgYnVpbHRpbi90YWcuYzo1NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFwiY2xlYW51cFwiIE1vZHVzICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNAogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIkRpZSBPcHRpb24gLWEga2FubiBuaWNodCBtaXQgZGVyIEFuZ2FiZSB2b24gUGZhZGVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb21taXQuYzoxNjEyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJTdGF0dXMgaW0gS3VyemZvcm1hdCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQxIGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxMzQ0IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJCcmFuY2hpbmZvcm1hdGlvbmVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NgorbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCittc2dzdHIgIlN0YXNoaW5mb3JtYXRpb25lbiBhbnplaWdlbiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4CiBtc2dpZCAidmVyc2lvbiIKIG1zZ3N0ciAiVmVyc2lvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQzIGJ1aWx0aW4vY29tbWl0LmM6MTYxNiBidWlsdGluL3B1c2guYzo1MjUKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MjEgYnVpbHRpbi9wdXNoLmM6NTMwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQ5CiBtc2dpZCAibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiCiBtc2dzdHIgIm1hc2NoaW5lbmxlc2JhcmUgQXVzZ2FiZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2IGJ1aWx0aW4vY29tbWl0LmM6MTYxOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAiU3RhdHVzIGltIExhbmdmb3JtYXQgYW56ZWlnZW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ5IGJ1aWx0aW4vY29tbWl0LmM6MTYyMQorIzogYnVpbHRpbi9jb21taXQuYzoxMzU0IGJ1aWx0aW4vY29tbWl0LmM6MTYyNgogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgogbXNnc3RyICJFaW50csOkZ2UgbWl0IE5VTC1aZWljaGVuIGFic2NobGllw59lbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyNCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzY4CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTYgYnVpbHRpbi9jb21taXQuYzoxNjI5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODMKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODYgYnVpbHRpbi90YWcuYzo0MTIKIG1zZ2lkICJtb2RlIgogbXNnc3RyICJNb2R1cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIGJ1aWx0aW4vY29tbWl0LmM6MTYyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3IGJ1aWx0aW4vY29tbWl0LmM6MTYyOQogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogInVudmVyc2lvbmllcnRlIERhdGVpZW4gYW56ZWlnZW4sIG9wdGlvbmFsZSBNb2RpOiBhbGwsIG5vcm1hbCwgbm8uIChTdGFuZGFyZDogIgogImFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYwCiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJpZ25vcmllcnRlIERhdGVpZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEgcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgIndhbm4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NworIzogYnVpbHRpbi9jb21taXQuYzoxMzYyCiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgpAQCAtNzEzOSwyMDMgKzc0MzgsMjAzIEBACiAiw4RuZGVydW5nZW4gaW4gU3VibW9kdWxlbiBpZ25vcmllcmVuLCBvcHRpb25hbCB3ZW5uOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoU3RhbmRhcmQ6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY0CiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAidW52ZXJzaW9uaWVydGUgRGF0ZWllbiBpbiBTcGFsdGVuIGF1Zmxpc3RlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NDAKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJLb25udGUgbmV1IGVyc3RlbGx0ZW4gQ29tbWl0IG5pY2h0IG5hY2hzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJLb25udGUgbmV1bGljaCBlcnN0ZWxsdGVuIENvbW1pdCBuaWNodCBhbmFseXNpZXJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAibG9zZ2Vsw7ZzdGVyIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDkwCiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAoQmFzaXMtQ29tbWl0KSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICJadXNhbW1lbmZhc3N1bmcgbmFjaCBlcmZvbGdyZWljaGVtIENvbW1pdCB1bnRlcmRyw7xja2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiVW50ZXJzY2hpZWRlIGluIENvbW1pdC1CZXNjaHJlaWJ1bmdzdm9ybGFnZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg1CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJPcHRpb25lbiBmw7xyIENvbW1pdC1CZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NiBidWlsdGluL3RhZy5jOjM2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vdGFnLmM6NDEwCiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAiQmVzY2hyZWlidW5nIHZvbiBEYXRlaSBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgIkF1dG9yIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICJBdXRvciBlaW5lcyBDb21taXRzIMO8YmVyc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODggYnVpbHRpbi9nYy5jOjMzMworIzogYnVpbHRpbi9jb21taXQuYzoxNTkzIGJ1aWx0aW4vZ2MuYzozNTgKIG1zZ2lkICJkYXRlIgogbXNnc3RyICJEYXR1bSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgIkRhdHVtIGVpbmVzIENvbW1pdHMgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OSBidWlsdGluL21lcmdlLmM6MjIyIGJ1aWx0aW4vbm90ZXMuYzozOTgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIyIGJ1aWx0aW4vbm90ZXMuYzo0MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi90YWcuYzo0MDgKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICJCZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CiBtc2dpZCAiY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIkNvbW1pdC1CZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MCBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi9jb21taXQuYzoxNTkyCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6ODEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzcKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgIkNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiQmVzY2hyZWlidW5nIGRlcyBhbmdlZ2ViZW5lbiBDb21taXRzIHdpZWRlcnZlcndlbmRlbiB1bmQgZWRpdGllcmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJCZXNjaHJlaWJ1bmcgZGVzIGFuZ2VnZWJlbmVuIENvbW1pdHMgd2llZGVydmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJlaW5lIGF1dG9tYXRpc2NoIHp1c2FtbWVuZ2VzZXR6dGUgQmVzY2hyZWlidW5nIHp1bSBOYWNoYmVzc2VybiBkZXMgIgogImFuZ2VnZWJlbmVuIENvbW1pdHMgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiZWluZSBhdXRvbWF0aXNjaCB6dXNhbW1lbmdlc2V0enRlIEJlc2NocmVpYnVuZyBiZWltIFwic3F1YXNoXCIgZGVzICIKICJhbmdlZ2ViZW5lbiBDb21taXRzIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICJTaWUgYWxzIEF1dG9yIGRlcyBDb21taXRzIHNldHplbiAodmVyd2VuZGV0IG1pdCAtQy8tYy8tLWFtZW5kKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9sb2cuYzoxNDMwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICInU2lnbmVkLW9mZi1ieTonLVplaWxlIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMQogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAiYW5nZWdlYmVuZSBWb3JsYWdlbmRhdGVpIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiQmVhcmJlaXR1bmcgZGVzIENvbW1pdHMgZXJ6d2luZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMwogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgIlN0YW5kYXJkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTggYnVpbHRpbi90YWcuYzozNjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMyBidWlsdGluL3RhZy5jOjQxMwogbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCiBtc2dzdHIgIiIKICJ3aWUgTGVlcnplaWNoZW4gdW5kICNLb21tZW50YXJlIHZvbiBkZXIgQmVzY2hyZWlidW5nIGdldHJlbm50IHdlcmRlbiBzb2xsZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIlN0YXR1cyBpbiBkaWUgQ29tbWl0LUJlc2NocmVpYnVuZ3N2b3JsYWdlIGVpbmbDvGdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxIGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTY2Ci0jOiBidWlsdGluL3JldmVydC5jOjkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDYgYnVpbHRpbi9tZXJnZS5jOjIzNCBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJDb21taXQgbWl0IEdQRyBzaWduaWVyZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjA5CiBtc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbmVuIGbDvHIgQ29tbWl0LUluaGFsdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgImFsbGUgZ2XDpG5kZXJ0ZW4gRGF0ZWllbiBjb21taXR0ZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJkaWUgYW5nZWdlYmVuZW4gRGF0ZWllbiB6dXPDpHR6bGljaCB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBmaWxlcyIKIG1zZ3N0ciAiaW50ZXJha3RpdmVzIEhpbnp1ZsO8Z2VuIHZvbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgImludGVyYWt0aXZlcyBIaW56dWbDvGdlbiB2b24gw4RuZGVydW5nZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICJudXIgZGllIGFuZ2VnZWJlbmVuIERhdGVpZW4gY29tbWl0dGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICJIb29rcyBwcmUtY29tbWl0IHVuZCBjb21taXQtbXNnIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQorIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAiYW56ZWlnZW4sIHdhcyBjb21taXR0ZXQgd2VyZGVuIHfDvHJkZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjIyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjcKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgInZvcmhlcmlnZW4gQ29tbWl0IMOkbmRlcm4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMworIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICJcInBvc3QtcmV3cml0ZSBob29rXCIgdW1nZWhlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzMKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICJBdWZ6ZWljaG51bmcgZWluZXIgbGVlcmVuIMOEbmRlcnVuZyBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzUKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJBdWZ6ZWljaG51bmcgZWluZXIgw4RuZGVydW5nIG1pdCBlaW5lciBsZWVyZW4gQmVzY2hyZWlidW5nIGVybGF1YmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCB2b24gSEVBRCBuaWNodCBhbmFseXNpZXJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcwNworIzogYnVpbHRpbi9jb21taXQuYzoxNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIkJlc2Now6RkaWd0ZSBNRVJHRV9IRUFELURhdGVpICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNzE3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAiS29ubnRlIE1FUkdFX01PREUgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTczMworIzogYnVpbHRpbi9jb21taXQuYzoxNzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdC1CZXNjaHJlaWJ1bmcgbmljaHQgbGVzZW46ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkNvbW1pdCBhYmdlYnJvY2hlbjsgU2llIGhhYmVuIGRpZSBCZXNjaHJlaWJ1bmcgbmljaHQgZWRpdGllcnQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkNvbW1pdCBhdWZncnVuZCBsZWVyZXIgQmVzY2hyZWlidW5nIGFiZ2Vicm9jaGVuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwMAogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgpAQCAtNzM0NiwxMzUgKzc2NDUsMTM1IEBACiAidm9sbCB1bmQgSWhyIEtvbnRpbmdlbnQgbmljaHQgYXVmZ2VicmF1Y2h0IGlzdCB1bmQgZsO8aHJlbiBTaWVcbiIKICJhbnNjaGxpZcOfZW5kIFwiZ2l0IHJlc2V0IEhFQURcIiB6dSBXaWVkZXJoZXJzdGVsbHVuZyBhdXMuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTAKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29uZmlnIFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NQorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICJPcnQgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgogbXNnc3RyICJnbG9iYWxlIEtvbmZpZ3VyYXRpb25zZGF0ZWkgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAic3lzdGVtd2VpdGUgS29uZmlndXJhdGlvbnNkYXRlaSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiS29uZmlndXJhdGlvbnNkYXRlaSBkZXMgUmVwb3NpdG9yaWVzIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAiZGllIGFuZ2VnZWJlbmUgS29uZmlndXJhdGlvbnNkYXRlaSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJibG9iLWlkIgogbXNnc3RyICJCbG9iLUlkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKIG1zZ3N0ciAiS29uZmlndXJhdGlvbiB2b24gYW5nZWdlYmVuZW0gQmxvYi1PYmpla3QgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgIkFrdGlvbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2NAogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJXZXJ0IHp1csO8Y2tnZWJlbjogTmFtZSBbV2VydC1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKIG1zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImFsbGUgV2VydGUgenVyw7xja2dlYmVuOiBTY2hsw7xzc2VsIFtXZXJ0LXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2NgogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJXZXJ0ZSBmw7xyIGRlbiByZWd1bMOkcmVuIEF1c2RydWNrIHp1csO8Y2tnZWJlbjogTmFtZS1yZWdleCBbV2VydC1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgogbXNnc3RyICJXZXJ0IHNwZXppZmlzY2ggZsO8ciBlaW5lIFVSTCB6dXLDvGNrZ2ViZW46IHNlY3Rpb25bLnZhcl0gVVJMIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY2CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgImFsbGUgcGFzc2VuZGVuIFZhcmlhYmxlbiBlcnNldHplbjogTmFtZSBXZXJ0IFtXZXJ0LXJlZ2V4XSAiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKIG1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgIm5ldWUgVmFyaWFibGUgaGluenVmw7xnZW46IE5hbWUgV2VydCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImVpbmUgVmFyaWFibGUgZW50ZmVybmVuOiBOYW1lIFtXZXJ0LXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJhbGxlIMOcYmVyZWluc3RpbW11bmdlbiBlbnRmZXJuZW46IE5hbWUgW1dlcnQtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgogbXNnc3RyICJlaW5lIFNla3Rpb24gdW1iZW5lbm5lbjogYWx0ZXItTmFtZSBuZXVlci1OYW1lIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcxCisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAiZWluZSBTZWt0aW9uIGVudGZlcm5lbjogTmFtZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICJhbGxlcyBhdWZsaXN0ZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJvcGVuIGFuIGVkaXRvciIKIG1zZ3N0ciAiZWluZW4gRWRpdG9yIMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBzbG90IFtkZWZhdWx0XSIKIG1zZ3N0ciAiZGllIGtvbmZpZ3VyaWVydGUgRmFyYmUgZmluZGVuOiBTbG90IFtTdGFuZGFyZF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAiZGllIEZhcmJlaW5zdGVsbHVuZyBmaW5kZW46IFNsb3QgW1N0YW5kYXJkLUF1c2dhYmUtaXN0LVRlcm1pbmFsXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3OAogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIlR5cCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAiV2VydCBpc3QgXCJ0cnVlXCIgb2RlciBcImZhbHNlXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAiV2VydCBpc3QgZWluZSBEZXppbWFsemFobCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OQorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAiV2VydCBpc3QgLS1ib29sIG9kZXIgLS1pbnQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKIG1zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgogbXNnc3RyICJXZXJ0IGlzdCBlaW4gUGZhZCAoRGF0ZWkgb2RlciBWZXJ6ZWljaG5pc25hbWUpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgxCisjOiBidWlsdGluL2NvbmZpZy5jOjgzCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIlNvbnN0aWdlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MgorIzogYnVpbHRpbi9jb25maWcuYzo4NAogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAic2NobGllw590IFdlcnRlIG1pdCBOVUwtQnl0ZSBhYiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgdmFyaWFibGUgbmFtZXMgb25seSIKIG1zZ3N0ciAibnVyIFZhcmlhYmxlbm5hbWVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0CisjOiBidWlsdGluL2NvbmZpZy5jOjg2CiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICJiZWFjaHRldCBcImluY2x1ZGVcIi1EaXJla3RpdmVuIGJlaW0gTmFjaHNjaGxhZ2VuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg1CisjOiBidWlsdGluL2NvbmZpZy5jOjg3CiBtc2dpZCAic2hvdyBvcmlnaW4gb2YgY29uZmlnIChmaWxlLCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgY29tbWFuZCBsaW5lKSIKIG1zZ3N0ciAiIgogIlVyc3BydW5nIGRlciBLb25maWd1cmF0aW9uIGFuemVpZ2VuIChEYXRlaSwgU3RhbmRhcmQtRWluZ2FiZSwgQmxvYiwgIgpAQCAtNzQ5MywxOCArNzc5MiwyMiBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIG1zZ3N0ciAiIgotIiMgRGFzIGlzdCBHaXQncyBiZW51dHplcnNwZXppZmlzY2hlIEtvbmZpZ3VyYWlvbnNkYXRlaS5cbiIKKyIjIERhcyBpc3QgR2l0J3MgYmVudXR6ZXJzcGV6aWZpc2NoZSBLb25maWd1cmF0aW9uc2RhdGVpLlxuIgogIlt1c2VyXVxuIgogIiMgQml0dGUgcGFzc2VuIFNpZSBkaWUgZm9sZ2VuZGVuIFplaWxlbiBhbiB1bmQga29tbWVudGllcmVuIFNpZSBkaWVzZSBhdXM6XG4iCiAiI1x0bmFtZSA9ICVzXG4iCiAiI1x0ZW1haWwgPSAlc1xuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxMworIzogYnVpbHRpbi9jb25maWcuYzo0OTkKK21zZ2lkICItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIi0tbG9jYWwga2FubiBudXIgaW5uZXJoYWxiIGVpbmVzIEdpdC1SZXBvc2l0b3JpZXMgdmVyd2VuZGV0IHdlcmRlbi4iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICJLb25udGUgS29uZmlndXJhdGlvbnNkYXRlaSAnJXMnIG5pY2h0IGVyc3RlbGxlbi4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjOiBidWlsdGluL2NvbmZpZy5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgpAQCAtNzUxNCw2MyArNzgxNyw3NSBAQAogIiAgICAgICBCZW51dHplbiBTaWUgZWluZW4gcmVndWzDpHJlbiBBdXNkcnVjaywgLS1hZGQgb2RlciAtLXJlcGxhY2UsIHVtICVzXG4iCiAiICAgICAgIHp1IMOkbmRlcm4uIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NgorIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODcKIG1zZ2lkICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NgorIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTcKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCiBtc2dzdHIgImdpYnQgR3LDtsOfZW5hbmdhYmVuIGluIG1lbnNjaGVubGVzYmFyZW4gRm9ybWF0IGF1cyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTkKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gWzxjb21taXQtaXNoPi4uLl0iCiBtc2dzdHIgImdpdCBkZXNjcmliZSBbPE9wdGlvbmVuPl0gWzxDb21taXQtQW5nYWJlPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjIwCiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIC0tZGlydHkiCiBtc2dzdHIgImdpdCBkZXNjcmliZSBbPE9wdGlvbmVuPl0gLS1kaXJ0eSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIxNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0Cittc2dpZCAiaGVhZCIKK21zZ3N0ciAiQnJhbmNoIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJsaWdodHdlaWdodCIKK21zZ3N0ciAibmljaHQtYW5ub3RpZXJ0IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJhbm5vdGF0ZWQiCittc2dzdHIgImFubm90aWVydCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImFubm90aWVydGVzIFRhZyAlcyBpc3QgbmljaHQgdmVyZsO8Z2JhciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIyMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgogbXNnc3RyICJhbm5vdGllcnRlcyBUYWcgJXMgaGF0IGtlaW5lbiBlaW5nZWJldHRldGVuIE5hbWVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjIzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgIlRhZyAnJXMnIGlzdCBlaWdlbnRsaWNoICclcycgaGllciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ4MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4NiBidWlsdGluL2xvZy5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiJXMgaXN0IGtlaW4gZ8O8bHRpZ2VyIE9iamVrdC1OYW1lIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgogbXNnc3RyICIlcyBpc3Qga2VpbiBnw7xsdGlnZXMgJyVzJyBPYmpla3QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGFnIGV4YWN0bHkgbWF0Y2hlcyAnJXMnIgogbXNnc3RyICJrZWluIFRhZyBlbnRzcHJpY2h0IGV4YWt0ICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2VhcmNoaW5nIHRvIGRlc2NyaWJlICVzXG4iCiBtc2dzdHIgInN1Y2hlIHp1ciBCZXNjaHJlaWJ1bmcgdm9uICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMTkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmluaXNoZWQgc2VhcmNoIGF0ICVzXG4iCiBtc2dzdHIgImJlZW5kZXRlIFN1Y2hlIGJlaSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzQ2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyBhbm5vdGF0ZWQgdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTc1NzksNyArNzg5NCw3IEBACiAiS2VpbmUgYW5ub3RpZXJ0ZW4gVGFncyBrw7ZubmVuICclcycgYmVzY2hyZWliZW4uXG4iCiAiSmVkb2NoIGdhYiBlcyBuaWNodC1hbm5vdGllcnRlIFRhZ3M6IHZlcnN1Y2hlbiBTaWUgLS10YWdzLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTc1ODgsMTIxICs3OTAzLDE1MCBAQAogIktlaW5lIFRhZ3Mga8O2bm5lbiAnJXMnIGJlc2NocmVpYmVuLlxuIgogIlZlcnN1Y2hlbiBTaWUgLS1hbHdheXMgb2RlciBlcnN0ZWxsZW4gU2llIGVpbmlnZSBUYWdzLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmF2ZXJzZWQgJWx1IGNvbW1pdHNcbiIKIG1zZ3N0ciAiJWx1IENvbW1pdHMgZHVyY2hsYXVmZW5cbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgogImdhdmUgdXAgc2VhcmNoIGF0ICVzXG4iCiBtc2dzdHIgIiIKLSJtZWhyIGFscyAlaSBUYWdzIGdlZnVuZGVuOyBGw7xocmUgZGllIGVyc3RlbiAlaSBhdWZcbiIKKyJtZWhyIGFscyAlaSBUYWdzIGdlZnVuZGVuOyBmw7xocmUgZGllIGVyc3RlbiAlaSBhdWZcbiIKICJTdWNoZSBiZWkgJXMgYXVmZ2VnZWJlblxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiBtc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKIG1zZ3N0ciAiZGFzIFRhZyBmaW5kZW4sIGRhcyBuYWNoIGRlbSBDb21taXQga29tbXQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDIKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICJkaWUgU3VjaHN0cmF0ZWdpZSBpbiBkZXIgU3RhbmRhcmQtRmVobGVyYXVzZ2FiZSBwcm90b2tvbGxpZXJlbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MwogbXNnaWQgInVzZSBhbnkgcmVmIgogbXNnc3RyICJhbGxlIFJlZmVyZW56ZW4gdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgImplZGVzIFRhZyB2ZXJ3ZW5kZW4sIGF1Y2ggbmljaHQtYW5ub3RpZXJ0ZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgImltbWVyIGxhbmdlcyBGb3JtYXQgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDAxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ2CiBtc2dpZCAib25seSBmb2xsb3cgZmlyc3QgcGFyZW50IgogbXNnc3RyICJudXIgZXJzdGVtIEVsdGVybnRlaWwgZm9sZ2VuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ5CiBtc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKIG1zZ3N0ciAibnVyIGV4YWt0ZSDDnGJlcmVpbnN0aW1tdW5nZW4gYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTEKIG1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgogbXNnc3RyICJkaWUgasO8bmdzdGVuIDxuPiBUYWdzIGJldHJhY2h0ZW4gKFN0YW5kYXJkOiAxMCkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTMKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJudXIgVGFncywgZGllIDxNdXN0ZXI+IGVudHNwcmVjaGVuLCBiZXRyYWNodGVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTUKK21zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgImtlaW5lIFRhZ3MgYmV0cmFjaHRlbiwgZGllIDxNdXN0ZXI+IGVudHNwcmVjaGVuIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU3IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDYKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgImdla8O8cnp0ZXMgQ29tbWl0LU9iamVrdCBhbnplaWdlbiwgd2VubiBzb25zdCBuaWNodHMgenV0cmlmZnQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTggYnVpbHRpbi9kZXNjcmliZS5jOjQ2MQogbXNnaWQgIm1hcmsiCiBtc2dzdHIgIktlbm56ZWljaGVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU5CiBtc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgogbXNnc3RyICIiCi0iPEtlbm56ZWljaGVuPiBiZWkgZ2XDpG5kZXJ0ZW0gQXJiZWl0c3ZlcnplaWNobmlzIGhpbnp1ZsO8Z2VuIChTdGFuZGFyZDogXCItIgotImRpcnR5XCIpIgorIjxLZW5uemVpY2hlbj4gYmVpIGdlw6RuZGVydGVtIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhbmjDpG5nZW4gKFN0YW5kYXJkOiBcIi1kaXJ0eSIKKyJcIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjIKK21zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKK21zZ3N0ciAiIgorIjxLZW5uemVpY2hlbj4gYmVpIGRlZmVrdGVtIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhbmjDpG5nZW4gKFN0YW5kYXJkOiBcIi1icm9rZW4iCisiXCIpIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDgwCiBtc2dpZCAiLS1sb25nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWJicmV2PTAiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWxvbmcgdW5kIC0tYWJicmV2PTAgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CiBtc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCiBtc2dzdHIgIktlaW5lIE5hbWVuIGdlZnVuZGVuLCBrYW5uIG5pY2h0cyBiZXNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWRpcnR5IGthbm4gbmljaHQgbWl0IENvbW1pdHMgdmVyd2VuZGV0IHdlcmRlbi4iCiAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQKK21zZ2lkICItLWJyb2tlbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCittc2dzdHIgIkRpZSBPcHRpb24gLS1icm9rZW4ga2FubiBuaWNodCBtaXQgQ29tbWl0cyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKKwogIzogYnVpbHRpbi9kaWZmLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCiBtc2dzdHIgIiclcyc6IGtlaW5lIHJlZ3Vsw6RyZSBEYXRlaSBvZGVyIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjM0CisjOiBidWlsdGluL2RpZmYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlIE9wdGlvbjogJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM1OAorIzogYnVpbHRpbi9kaWZmLmM6MzU5CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIktlaW4gR2l0LVJlcG9zaXRvcnkiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwMQorIzogYnVpbHRpbi9kaWZmLmM6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJPYmpla3QgJyVzJyBpc3QgdW5nw7xsdGlnLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEwCisjOiBidWlsdGluL2RpZmYuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAiTWVociBhbHMgendlaSBCbG9icyBhbmdlZ2ViZW46ICclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxNworIzogYnVpbHRpbi9kaWZmLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgInVuYmVoYW5kZWx0ZXMgT2JqZWt0ICclcycgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOQogbXNnaWQgImdpdCBkaWZmdG9vbCBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGRpZmZ0b29sIFs8T3B0aW9uZW4+XSBbPENvbW1pdD4gWzxDb21taXQ+XV0gWy0tXSBbPFBmYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0MQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQ6ICVkIgogbXNnc3RyICJmZWhsZ2VzY2hsYWdlbjogJWQiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozNDIKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAia29ubnRlIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyAlcyBuaWNodCBsZXNlbiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rIGZpbGUgJXMiCittc2dzdHIgIktvbm50ZSBEYXRlaSB2b24gc3ltYm9saXNjaGVyIFZlcmtuw7xwZnVuZyAnJXMnIG5pY2h0IGxlc2VuLiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMgZm9yIHN5bWxpbmsgJXMiCittc2dzdHIgIktvbm50ZSBPYmpla3QgJyVzJyBmw7xyIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyAnJXMnIG5pY2h0IGxlc2VuLiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjQwMwogbXNnaWQgIiIKICJjb21iaW5lZCBkaWZmIGZvcm1hdHMoJy1jJyBhbmQgJy0tY2MnKSBhcmUgbm90IHN1cHBvcnRlZCBpblxuIgogImRpcmVjdG9yeSBkaWZmIG1vZGUoJy1kJyBhbmQgJy0tZGlyLWRpZmYnKS4iCkBAIC03NzEwLDMxMSArODA1NCwzMTcgQEAKICJLb21iaW5pZXJ0ZSBEaWZmLUZvcm1hdGUoJy1jJyB1bmQgJy0tY2MnKSB3ZXJkZW4gaW0gVmVyemVpY2huaXMtXG4iCiAiRGlmZi1Nb2R1cygnLWQnIHVuZCAnLS1kaXItZGlmZicpIG5pY2h0IHVudGVyc3TDvHR6dC4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NjcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCiBtc2dzdHIgImJlaWRlIERhdGVpZW4gZ2XDpG5kZXJ0OiAnJXMnIHVuZCAnJXMnLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU2OQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyOAogbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgogbXNnc3RyICJEYXRlaSBpbSBBcmJlaXRzdmVyemVpY2huaXMgYmVsYXNzZW4uIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKIG1zZ3N0ciAiRXMgZXhpc3RpZXJlbiB0ZW1wb3LDpHJlIERhdGVpZW4gaW4gJyVzJy4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1ODEKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDAKIG1zZ2lkICJ5b3UgbWF5IHdhbnQgdG8gY2xlYW51cCBvciByZWNvdmVyIHRoZXNlLiIKIG1zZ3N0ciAiU2llIGvDtm5udGVuIGRpZXNlIGF1ZnLDpHVtZW4gb2RlciB3aWVkZXJoZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyNgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY4OQogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICJgZGlmZi5ndWl0b29sYCBhbnN0YXR0IGBkaWZmLnRvb2xgIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjI4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkxCiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgIkRpZmYgw7xiZXIgZ2FuemVzIFZlcnplaWNobmlzIGF1c2bDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTMKIG1zZ2lkICJkbyBub3QgcHJvbXB0IGJlZm9yZSBsYXVuY2hpbmcgYSBkaWZmIHRvb2wiCiBtc2dzdHIgImtlaW5lIEVpbmdhYmVhdWZmb3JkZXJ1bmcgdm9yIEF1c2bDvGhydW5nIGVpbmVzIERpZmYtVG9vbHMiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAic3ltYm9saXNjaGUgVmVya27DvHBmdW5nZW4gaW0gZGlyLWRpZmYgTW9kdXMgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAwCiBtc2dpZCAiPHRvb2w+IgogbXNnc3RyICI8VG9vbD4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgImRhcyBhbmdlZ2ViZW5lIERpZmYtVG9vbCBiZW51dHplbiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMwogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKLW1zZ3N0ciAiZWluZSBMaXN0ZSBtaXQgRGlmZi1Ub29scyBkYXJzdGVsbGVuLCBkaWUgbWl0IGAtLXRvb2xgIGJlbnV0enQgd2VyZGVuIGvDtm5uZW4iCittc2dzdHIgIiIKKyJlaW5lIExpc3RlIG1pdCBEaWZmLVRvb2xzIGRhcnN0ZWxsZW4sIGRpZSBtaXQgYC0tdG9vbGAgYmVudXR6dCB3ZXJkZW4ga8O2bm5lbiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgogbXNnaWQgIiIKICJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKICJjb2RlIgogbXNnc3RyICIiCi0iJ2dpdC1kaWZmdG9vbCcgYmVlbmRlbiwgd2VubiBkYXMgYXVmZ2VydWZlbmUgRGlmZi1Ub29sIG1pdCBlaW5lbSBSw7xja2tlaHJ3ZXJ0XG4iCisiJ2dpdC1kaWZmdG9vbCcgYmVlbmRlbiwgd2VubiBkYXMgYXVmZ2VydWZlbmUgRGlmZi1Ub29sIG1pdCBlaW5lbSAiCisiUsO8Y2trZWhyd2VydFxuIgogInZlcnNjaGllZGVuIDAgYXVzZ2Vmw7xocnQgd3VyZGUiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICI8Y29tbWFuZD4iCiBtc2dzdHIgIjxQcm9ncmFtbT4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDkKIG1zZ2lkICJzcGVjaWZ5IGEgY3VzdG9tIGNvbW1hbmQgZm9yIHZpZXdpbmcgZGlmZnMiCiBtc2dzdHIgImVpZ2VuZW4gQmVmZWhsIHp1ciBBbnplaWdlIHZvbiBVbnRlcnNjaGllZGVuIGFuZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NzAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzMKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgImtlaW4gPFRvb2w+IGbDvHIgLS10b29sPTxUb29sPiBhbmdlZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NzcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NDAKIG1zZ2lkICJubyA8Y21kPiBnaXZlbiBmb3IgLS1leHRjbWQ9PGNtZD4iCiBtc2dzdHIgImtlaW4gPFByb2dyYW1tPiBmw7xyIC0tZXh0Y21kPTxQcm9ncmFtbT4gYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyNgogbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiBtc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICJGb3J0c2Nocml0dCBuYWNoIDxuPiBPYmpla3RlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAiQmVoYW5kbHVuZyB2b24gc2lnbmllcnRlbiBUYWdzIHfDpGhsZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICJCZWhhbmRsdW5nIHZvbiBUYWdzIHfDpGhsZW4sIGRpZSBnZWZpbHRlcnRlIE9iamVrdGUgbWFya2llcmVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkwCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIktlbm56ZWljaGVuIGluIGRpZXNlIERhdGVpIHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgogbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKIG1zZ3N0ciAiS2VubnplaWNoZW4gdm9uIGRpZXNlciBEYXRlaSBpbXBvcnRpZXJlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NAogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICJrw7xuc3RsaWNoIGVpbmVuIFRhZy1FcnN0ZWxsZXIgZXJ6ZXVnZW4sIHdlbm4gZGFzIFRhZyBrZWluZW4gaGF0IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk2CiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgImbDvHIgamVkZW4gQ29tbWl0IGRhcyBnZXNhbXRlIFZlcnplaWNobmlzIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk4CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgImRpZSBcImRvbmVcIi1GdW5rdGlvbiBiZW51dHplbiwgdW0gZGVuIERhdGVuc3Ryb20gYWJ6dXNjaGxpZcOfZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTcKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTkKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIkF1c2dhYmUgdm9uIEJsb2ItRGF0ZW4gw7xiZXJzcHJpbmdlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDAKIG1zZ2lkICJyZWZzcGVjIgogbXNnc3RyICJSZWZzcGVjIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMQogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiUmVmc3BlYyBhdWYgZXhwb3J0aWVydGUgUmVmZXJlbnplbiBhbndlbmRlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAyCiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAiQXVzZ2FiZSBhbm9ueW1pc2llcmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8T3B0aW9uZW4+XSBbPFJlcG9zaXRvcnk+IFs8UmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIyCisjOiBidWlsdGluL2ZldGNoLmM6MjMKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8T3B0aW9uZW4+XSA8R3J1cHBlPiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxPcHRpb25lbj5dIFsoPFJlcG9zaXRvcnk+IHwgPEdydXBwZT4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI0CisjOiBidWlsdGluL2ZldGNoLmM6MjUKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPE9wdGlvbmVuPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxNzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MCBidWlsdGluL3B1bGwuYzoxODIKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICJmb3JkZXJ0IHZvbiBhbGxlbiBSZW1vdGUtUmVwb3NpdG9yaWVzIGFuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9wdWxsLmM6MTg1CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICJhbiAuZ2l0L0ZFVENIX0hFQUQgYW5ow6RuZ2VuLCBhbnN0YXR0IHp1IMO8YmVyc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTgxCisjOiBidWlsdGluL2ZldGNoLmM6OTQgYnVpbHRpbi9wdWxsLmM6MTg4CiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICJQZmFkIGRlcyBQcm9ncmFtbXMgenVtIEhvY2hsYWRlbiB2b24gUGFrZXRlbiBhdWYgZGVyIEdlZ2Vuc2VpdGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAgYnVpbHRpbi9wdWxsLmM6MTgzCisjOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTkwCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAiZGFzIMOcYmVyc2NocmVpYmVuIHZvbiBsb2thbGVuIEJyYW5jaGVzIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMgorIzogYnVpbHRpbi9mZXRjaC5jOjk3CiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICJ2b24gbWVocmVyZW4gUmVtb3RlLVJlcG9zaXRvcmllcyBhbmZvcmRlcm4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQgYnVpbHRpbi9wdWxsLmM6MTg1CisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAiYWxsZSBUYWdzIHVuZCB2ZXJidW5kZW5lIE9iamVrdGUgYW5mb3JkZXJuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA2CisjOiBidWlsdGluL2ZldGNoLmM6MTAxCiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICJuaWNodCBhbGxlIFRhZ3MgYW5mb3JkZXJuICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4CisjOiBidWlsdGluL2ZldGNoLmM6MTAzCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiQW56YWhsIGRlciBwYXJhbGxlbCBhbnp1Zm9yZGVybmRlbiBTdWJtb2R1bGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAgYnVpbHRpbi9wdWxsLmM6MTg4CisjOiBidWlsdGluL2ZldGNoLmM6MTA1IGJ1aWx0aW4vcHVsbC5jOjE5NQogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICIiCiAiUmVtb3RlLVRyYWNraW5nLUJyYW5jaGVzIGVudGZlcm5lbiwgZGllIHNpY2ggbmljaHQgbWVociBpbSBSZW1vdGUtUmVwb3NpdG9yeSAiCiAiYmVmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL2ZldGNoLmM6MTA2IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MTIzCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICJiZWktQmVkYXJmIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNwogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJla3Vyc2l2ZSBBbmZvcmRlcnVuZ2VuIHZvbiBTdWJtb2R1bGVuIGtvbnRyb2xsaWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9wdWxsLmM6MjAwCisjOiBidWlsdGluL2ZldGNoLmM6MTExIGJ1aWx0aW4vcHVsbC5jOjIwMwogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICJoZXJ1bnRlcmdlbGFkZW5lcyBQYWtldCBiZWhhbHRlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMwogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZyBkZXIgXCJIRUFEXCItUmVmZXJlbnogZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICIiCiAiZGllIEhpc3RvcmllIGVpbmVzIEtsb25zIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSB2ZXJ0aWVmZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKIG1zZ3N0ciAiIgogImRpZSBIaXN0b3JpZSBlaW5lcyBLbG9ucyBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdykgYXVmICIKICJaZWl0YmFzaXNcbiIKICJ2ZXJ0aWVmZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MjA2CisjOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwOQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJ6dSBlaW5lbSB2b2xsc3TDpG5kaWdlbiBSZXBvc2l0b3J5IGtvbnZlcnRpZXJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYgYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiZGlyIgogbXNnc3RyICJWZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNwogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgImRpZXMgYW4gZGllIEF1c2dhYmUgZGVyIFN1Ym1vZHVsLVBmYWRlIHZvcmFuc3RlbGxlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNQotbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgotbXNnc3RyICJTdGFuZGFyZC1Nb2R1cyBmw7xyIFJla3Vyc2lvbiIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzAKK21zZ2lkICIiCisiZGVmYXVsdCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMgKGxvd2VyIHByaW9yaXR5IHRoYW4gY29uZmlnICIKKyJmaWxlcykiCittc2dzdHIgIiIKKyJTdGFuZGFyZCBmw7xyIGRpZSByZWt1cnNpdmUgQW5mb3JkZXJ1bmcgdm9uIFN1Ym1vZHVsZW4gKGdlcmluZ2VyZSBQcmlvcml0w6R0XG4iCisiYWxzIEtvbmZpZ3VyYXRpb25zZGF0ZWllbikiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdWxsLmM6MjA5CisjOiBidWlsdGluL2ZldGNoLmM6MTM0IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAiUmVmZXJlbnplbiwgZGllIC5naXQvc2hhbGxvdyBha3R1YWxpc2llcmVuLCBha3plcHRpZXJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUgYnVpbHRpbi9wdWxsLmM6MjE0CiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICJSZWZtYXAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjEyCisjOiBidWlsdGluL2ZldGNoLmM6MTM2IGJ1aWx0aW4vcHVsbC5jOjIxNQogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICJSZWZtYXAgZsO8ciAnZmV0Y2gnIGFuZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozOTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTQKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiS29ubnRlIFJlbW90ZS1SZWZlcmVueiB2b24gSEVBRCBuaWNodCBmaW5kZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTExCisjOiBidWlsdGluL2ZldGNoLmM6NTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCiBtc2dzdHIgIktvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGVudGjDpGx0IHVuZ8O8bHRpZ2VuIFdlcnQgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAiT2JqZWt0ICVzIG5pY2h0IGdlZnVuZGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA4CisjOiBidWlsdGluL2ZldGNoLmM6NjA5CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbYWt0dWVsbF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MjEgYnVpbHRpbi9mZXRjaC5jOjcwMQorIzogYnVpbHRpbi9mZXRjaC5jOjYyMiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW3p1csO8Y2tnZXdpZXNlbl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjMKIG1zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAia2FubiBcImZldGNoXCIgaW0gYWt0dWVsbGVuIEJyYW5jaCBuaWNodCBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjMxCisjOiBidWlsdGluL2ZldGNoLmM6NjMyCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbVGFnIEFrdHVhbGlzaWVydW5nXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYzMiBidWlsdGluL2ZldGNoLmM6NjY1IGJ1aWx0aW4vZmV0Y2guYzo2ODEKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzMgYnVpbHRpbi9mZXRjaC5jOjY2NiBidWlsdGluL2ZldGNoLmM6NjgyCisjOiBidWlsdGluL2ZldGNoLmM6Njk3CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgImthbm4gbG9rYWxlIFJlZmVyZW56IG5pY2h0IGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTIKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIltuZXVlcyBUYWddIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjU0CisjOiBidWlsdGluL2ZldGNoLmM6NjU1CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJbbmV1ZXIgQnJhbmNoXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1NworIzogYnVpbHRpbi9mZXRjaC5jOjY1OAogbXNnaWQgIltuZXcgcmVmXSIKIG1zZ3N0ciAiW25ldWUgUmVmZXJlbnpdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Njk2CisjOiBidWlsdGluL2ZldGNoLmM6Njk3CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmcgZXJ6d3VuZ2VuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAia2VpbiBWb3JzcHVsZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBoYXQgbmljaHQgYWxsZSBlcmZvcmRlcmxpY2hlbiBPYmpla3RlIGdlc2VuZGV0XG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKIG1zZ3N0ciAiIgogIiVzIHd1cmRlIHp1csO8Y2tnZXdpZXNlbiwgZGEgVXJzcHJ1bmdzLUNvbW1pdHMgdm9uIFJlcG9zaXRvcmllc21pdCAiCiAidW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdykgbmljaHQgYWt0dWFsaXNpZXJ0IHdlcmRlbiBkw7xyZmVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg1MyBidWlsdGluL2ZldGNoLmM6OTQ5CisjOiBidWlsdGluL2ZldGNoLmM6ODU1IGJ1aWx0aW4vZmV0Y2guYzo5NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIlZvbiAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTgwMjMsNTcgKzgzNzMsNTcgQEAKICJFaW5pZ2UgbG9rYWxlIFJlZmVyZW56ZW4ga29ubnRlbiBuaWNodCBha3R1YWxpc2llcnQgd2VyZGVuOyB2ZXJzdWNoZW4gU2llXG4iCiAiJ2dpdCByZW1vdGUgcHJ1bmUgJXMnLCB1bSBqZWRlbiDDpGx0ZXJlbiwgd2lkZXJzcHLDvGNobGljaGVuIEJyYW5jaCB6dSBsw7ZzY2hlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIHdpcmQgdW5yZWZlcmVuemllcnQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIHd1cmRlIHVucmVmZXJlbnppZXJ0KSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1MgorIzogYnVpbHRpbi9mZXRjaC5jOjk1NAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW2dlbMO2c2NodF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTMgYnVpbHRpbi9yZW1vdGUuYzoxMDIwCisjOiBidWlsdGluL2ZldGNoLmM6OTU1IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMwogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKG5pY2h0cykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCi0iRGVyIFwiZmV0Y2hcIiBpbiBkZW4gYWt0dWVsbGVuIEJyYW5jaCAlcyB2b24gZWluZW0gbmljaHQtQmFyZS1SZXBvc2l0b3J5ICIKKyJEZXIgXCJmZXRjaFwiIGluIGRlbiBha3R1ZWxsZW4gQnJhbmNoICVzIHZvbiBlaW5lbSBOaWNodC1CYXJlLVJlcG9zaXRvcnkgIgogInd1cmRlIHZlcndlaWdlcnQuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTk1CisjOiBidWlsdGluL2ZldGNoLmM6OTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIk9wdGlvbiBcIiVzXCIgV2VydCBcIiVzXCIgaXN0IG5pY2h0IGfDvGx0aWcgZsO8ciAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5OAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJPcHRpb24gXCIlc1wiIHdpcmQgaWdub3JpZXJ0IGbDvHIgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIldlacOfIG5pY2h0IHdpZSB2b24gJXMgYW5nZWZvcmRlcnQgd2lyZC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICJGb3JkZXJlIGFuIHZvbiAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzNiBidWlsdGluL3JlbW90ZS5jOjk2CisjOiBidWlsdGluL2ZldGNoLmM6MTIzOCBidWlsdGluL3JlbW90ZS5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IHZvbiAlcyBhbmZvcmRlcm4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU0CisjOiBidWlsdGluL2ZldGNoLmM6MTI1NgogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtODA4MiwxMzEgKzg0MzIsMTMxIEBACiAib2RlciBkZW4gTmFtZW4gZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMgYW4sIHZvbiB3ZWxjaGVtIG5ldWVcbiIKICJDb21taXRzIGFuZ2Vmb3JkZXJ0IHdlcmRlbiBzb2xsZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI3NworIzogYnVpbHRpbi9mZXRjaC5jOjEyNzkKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJTaWUgbcO8c3NlbiBkZW4gTmFtZW4gZGVzIFRhZ3MgYW5nZWJlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzE5CisjOiBidWlsdGluL2ZldGNoLmM6MTMyMQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIk5lZ2F0aXZlIFRpZWZlIHdpcmQgdm9uIC0tZGVlcGVuIG5pY2h0IHVudGVyc3TDvHR6dC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCisjOiBidWlsdGluL2ZldGNoLmM6MTMyMwogbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tZGVlcGVuIHVuZCAtLWRlcHRoIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI2CisjOiBidWlsdGluL2ZldGNoLmM6MTMyOAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tZGVwdGggdW5kIC0tdW5zaGFsbG93IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzMzAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS11bnNoYWxsb3cga2FubiBuaWNodCBpbiBlaW5lbSBSZXBvc2l0b3J5IG1pdCB1bnZvbGxzdMOkbmRpZ2VyICIKICJIaXN0b3JpZSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQ5CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsIGFremVwdGllcnQga2VpbiBSZXBvc2l0b3J5IGFscyBBcmd1bWVudCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUxCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgIktlaW4gUmVtb3RlLVJlcG9zaXRvcnkgKGVpbnplbG4gb2RlciBHcnVwcGUpOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAiRGFzIEFiaG9sZW4gZWluZXIgR3J1cHBlIHZvbiBSZW1vdGUtUmVwb3NpdG9yaWVzIGthbm4gbmljaHQgbWl0IGRlciBBbmdhYmVcbiIKICJ2b24gUmVmc3BlY3MgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjE0CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNQogbXNnaWQgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxCZXNjaHJlaWJ1bmc+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSAiCiAiPERhdGVpPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJIaXN0b3JpZSBtaXQgaMO2Y2hzdGVucyA8bj4gRWludHLDpGdlbiB2b24gXCJzaG9ydGxvZ1wiIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgIkFsaWFzIGbDvHIgLS1sb2cgKHZlcmFsdGV0KSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICJUZXh0IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAiPFRleHQ+IGFscyBCZXNjaHJlaWJ1bmdzYW5mYW5nIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzIKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAiRGF0ZWkgenVtIEVpbmxlc2VuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFs8b3B0aW9ucz5dIFs8cGF0dGVybj5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFs8T3B0aW9uZW4+XSBbPE11c3Rlcj5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9iamVjdD5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50cy1hdCA8T2JqZWt0Pl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTEKLW1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxvYmplY3Q+XV0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPE9iamVrdD5dXSIKLQogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMgotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxvYmplY3Q+XV0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxPYmpla3Q+XV0iCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8Y29tbWl0Pl1dIgorbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxDb21taXQ+XV0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjcKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTMKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zIFs8Y29tbWl0Pl1dIFstLW5vLWNvbnRhaW5zIFs8Y29tbWl0Pl1dIgorbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zIFs8T2JqZWt0Pl1dIFstLW5vLWNvbnRhaW5zIFs8Q29tbWl0Pl1dIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjI4CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBzaGVsbHMiCiBtc2dzdHIgIlBsYXR6aGFsdGVyIGFscyBTaGVsbC1TdHJpbmcgZm9ybWF0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzAKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCiBtc2dzdHIgIlBsYXR6aGFsdGVyIGFscyBQZXJsLVN0cmluZyBmb3JtYXRpZXJlbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcHl0aG9uIgogbXNnc3RyICJQbGF0emhhbHRlciBhbHMgUHl0aG9uLVN0cmluZyBmb3JtYXRpZXJlbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgVGNsIgogbXNnc3RyICJQbGF0emhhbHRlciBhbHMgVGNsLVN0cmluZyBmb3JtYXRpZXJlbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNwogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICJudXIgPG4+IHBhc3NlbmRlIFJlZmVyZW56ZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi90YWcuYzozODcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKLW1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgotbXNnc3RyICJmw7xyIGRpZSBBdXNnYWJlIHp1IHZlcndlbmRlbmRlcyBGb3JtYXQiCi0KLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggcG9pbnRzIGF0IHRoZSBnaXZlbiBvYmplY3QiCiBtc2dzdHIgIm51ciBhdWYgZGllc2VzIE9iamVrdCB6ZWlnZW5kZSBSZWZlcmVuemVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAibnVyIHp1c2FtbWVuZ2Vmw7xocnRlIFJlZmVyZW56ZW4gYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAibnVyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIFJlZmVyZW56ZW4gYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJudXIgUmVmZXJlbnplbiBhdXNnZWJlbiwgZGllIGRpZXNlbiBDb21taXQgZW50aGFsdGVuIgogCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3Cittc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAibnVyIFJlZmVyZW56ZW4gYXVzZ2ViZW4sIGRpZSBkaWVzZW4gQ29tbWl0IG5pY2h0IGVudGhhbHRlbiIKKwogIzogYnVpbHRpbi9mc2NrLmM6NTU0CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgogbXNnc3RyICJQcsO8ZmUgT2JqZWt0LVZlcnplaWNobmlzc2UiCkBAIC04MjY3LDIxICs4NjE3LDIxIEBACiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUHLDvGZlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyNQorIzogYnVpbHRpbi9nYy5jOjI2CiBtc2dpZCAiZ2l0IGdjIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZ2MgWzxPcHRpb25lbj5dIgogCi0jOiBidWlsdGluL2djLmM6NzIKKyM6IGJ1aWx0aW4vZ2MuYzo3OQogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgotbXNnc3RyICJVbmfDvGx0aWdlciAlczogJyVzJyIKK21zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbjogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxMzkKKyM6IGJ1aWx0aW4vZ2MuYzozMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCi1tc2dzdHIgInp1IGxhbmdlcyBPYmpla3QtVmVyemVpY2huaXMgJS4qcyIKK21zZ2lkICJDYW4ndCBzdGF0ICVzIgorbXNnc3RyICJLYW5uICclcycgbmljaHQgbGVzZW4uIgogCi0jOiBidWlsdGluL2djLmM6Mjk3CisjOiBidWlsdGluL2djLmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTgyOTcsNDQgKzg2NDcsNDkgQEAKICJcbiIKICIlcyIKIAotIzogYnVpbHRpbi9nYy5jOjMzNAorIzogYnVpbHRpbi9nYy5jOjM1OQogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICJ1bnJlZmVyZW56aWVydGUgT2JqZWt0ZSBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzYKKyM6IGJ1aWx0aW4vZ2MuYzozNjEKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgIm1laHIgR3LDvG5kbGljaGtlaXQgKGVyaMO2aHQgTGF1ZnplaXQpIgogCi0jOiBidWlsdGluL2djLmM6MzM3CisjOiBidWlsdGluL2djLmM6MzYyCiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiXCJhdXRvLWdjXCIgTW9kdXMgYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi9nYy5jOjMzOAorIzogYnVpbHRpbi9nYy5jOjM2MwogbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgogbXNnc3RyICIiCi0iQXVzZsO8aHJ1bmcgdm9uIFwiZ2l0IGdjXCIgZXJ3emluZ2VuLCBzZWxic3Qgd2VubiBlaW4gYW5kZXJlc1xuIgorIkF1c2bDvGhydW5nIHZvbiBcImdpdCBnY1wiIGVyendpbmdlbiwgc2VsYnN0IHdlbm4gZWluIGFuZGVyZXNcbiIKICJcImdpdCBnY1wiIGJlcmVpdHMgYXVzZ2Vmw7xocnQgd2lyZCIKIAogIzogYnVpbHRpbi9nYy5jOjM4MAogIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZ2MubG9nZXhwaXJ5IHZhbHVlICVzIgorbXNnc3RyICJGZWhsZXIgYmVpbSBQYXJzZW4gZGVzIFdlcnRlcyAnJXMnIHZvbiBnYy5sb2dleHBpcnkiCisKKyM6IGJ1aWx0aW4vZ2MuYzo0MDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGluIGJhY2tncm91bmQgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIiIKICJEaWUgRGF0ZW5iYW5rIGRlcyBSZXBvc2l0b3JpZXMgd2lyZCBmw7xyIGVpbmUgb3B0aW1hbGUgUGVyZm9ybWFuY2UgaW1cbiIKICJIaW50ZXJncnVuZCBrb21wcmltaWVydC5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjM4MgorIzogYnVpbHRpbi9nYy5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIiIKICJEaWUgRGF0ZW5iYW5rIGRlcyBQcm9qZWt0YXJjaGl2cyB3aXJkIGbDvHIgZWluZSBvcHRpbWFsZSBQZXJmb3JtYW5jZSAiCiAia29tcHJpbWllcnQuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozODMKKyM6IGJ1aWx0aW4vZ2MuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAiU2llaGUgXCJnaXQgaGVscCBnY1wiIGbDvHIgbWFudWVsbGVzIEF1ZnLDpHVtZW4uXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0MDQKKyM6IGJ1aWx0aW4vZ2MuYzo0MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCkBAIC04MzQyLDI3MiArODY5NywyODggQEAKICJcImdpdCBnY1wiIHdpcmQgYmVyZWl0cyBhdWYgTWFzY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiBhdXNnZWbDvGhydFxuIgogIihiZW51dHplbiBTaWUgLS1mb3JjZSBmYWxscyBuaWNodCkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NDgKKyM6IGJ1aWx0aW4vZ2MuYzo0ODAKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKICJFcyBnaWJ0IHp1IHZpZWxlIHVuZXJyZWljaGJhcmUgbG9zZSBPYmpla3RlOyBmw7xocmVuIFNpZSAnZ2l0IHBydW5lJyBhdXMsIHVtICIKICJkaWVzZSB6dSBsw7ZzY2hlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI1CisjOiBidWlsdGluL2dyZXAuYzoyNwogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgWzxPcHRpb25lbj5dIFstZV0gPE11c3Rlcj4gWzxDb21taXQ+Li4uXSBbWy0tXSA8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXA6IEZlaGxlciBiZWltIEVyemV1Z2VuIGVpbmVzIFRocmVhZDogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI5MAorIzogYnVpbHRpbi9ncmVwLmM6MjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICJ1bmfDvGx0aWdlIEFuemFobCB2b24gVGhyZWFkcyAoJWQpIGbDvHIgJXMgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NjMgYnVpbHRpbi9ncmVwLmM6ODA0CisjLiBUUkFOU0xBVE9SUzogJXMgaXMgdGhlIGNvbmZpZ3VyYXRpb24KKyMuIHZhcmlhYmxlIGZvciB0d2Vha2luZyB0aHJlYWRzLCBjdXJyZW50bHkKKyMuIGdyZXAudGhyZWFkcworIy4KKyM6IGJ1aWx0aW4vZ3JlcC5jOjMwMiBidWlsdGluL2luZGV4LXBhY2suYzoxNDk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKK21zZ3N0ciAia2VpbmUgVW50ZXJzdMO8dHp1bmcgdm9uIFRocmVhZHMsICclcycgd2lyZCBpZ25vcmllcnQiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc4OCBidWlsdGluL2dyZXAuYzo4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJrb25udGUgXCJUcmVlXCItT2JqZWt0ICglcykgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyMworIzogYnVpbHRpbi9ncmVwLmM6ODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgImthbm4gXCJncmVwXCIgbmljaHQgbWl0IE9iamVrdGVuIGRlcyBUeXBzICVzIGR1cmNoZsO8aHJlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg3CisjOiBidWlsdGluL2dyZXAuYzo5MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiU2NoYWx0ZXIgJyVjJyBlcndhcnRldCBlaW5lbiBudW1lcmlzY2hlbiBXZXJ0IgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5OQogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgImltIEluZGV4IGFuc3RhdHQgaW0gQXJiZWl0c3ZlcnplaWNobmlzIHN1Y2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc1CisjOiBidWlsdGluL2dyZXAuYzoxMDAxCiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCiBtc2dzdHIgImF1Y2ggaW4gSW5oYWx0ZW4gZmluZGVuLCBkaWUgbmljaHQgdm9uIEdpdCB2ZXJ3YWx0ZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDMKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImluIHZlcnNpb25pZXJ0ZW4gdW5kIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIHN1Y2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc5CisjOiBidWlsdGluL2dyZXAuYzoxMDA1CiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICJEYXRlaWVuLCBkaWUgw7xiZXIgJy5naXRpZ25vcmUnIGFuZ2VnZWJlbiBzaW5kLCBpZ25vcmllcmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODEKLW1zZ2lkICJyZWN1cnNpdmxleSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCisjOiBidWlsdGluL2dyZXAuYzoxMDA3Cittc2dpZCAicmVjdXJzaXZlbHkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgogbXNnc3RyICJyZWt1cnNpdmUgU3VjaGUgaW4gamVkZW0gU3VibW9kdWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4MworIzogYnVpbHRpbi9ncmVwLmM6MTAwOQogbXNnaWQgImJhc2VuYW1lIgogbXNnc3RyICJCYXNpc25hbWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4NAorIzogYnVpbHRpbi9ncmVwLmM6MTAxMAogbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCiBtc2dzdHIgIkJhc2lzbmFtZSBkZXMgRWx0ZXJucHJvamVrdGVzIGFuIEF1c2dhYmVuIHZvcmFuc3RlbGxlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTg3CisjOiBidWlsdGluL2dyZXAuYzoxMDEzCiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIlplaWxlbiBvaG5lIMOcYmVyZWluc3RpbW11bmdlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTg5CisjOiBidWlsdGluL2dyZXAuYzoxMDE1CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAiw5xiZXJlaW5zdGltbXVuZ2VuIHVuYWJow6RuZ2lnIHZvbiBHcm/Dny0gdW5kIEtsZWluc2NocmVpYnVuZyBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MQorIzogYnVpbHRpbi9ncmVwLmM6MTAxNwogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICJudXIgZ2FuemUgV8O2cnRlciBzdWNoZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MworIzogYnVpbHRpbi9ncmVwLmM6MTAxOQogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgImJpbsOkcmUgRGF0ZWllbiBhbHMgVGV4dCB2ZXJhcmJlaXRlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTk1CisjOiBidWlsdGluL2dyZXAuYzoxMDIxCiBtc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgogbXNnc3RyICJrZWluZSBNdXN0ZXIgaW4gQmluw6RyZGF0ZWllbiBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5OAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNAogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAiYmluw6RyZSBEYXRlaWVuIG1pdCBcInRleHRjb252XCItRmlsdGVybiB2ZXJhcmJlaXRlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwMAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNgogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiaMO2Y2hzdGVucyA8VGllZmU+IEViZW5lbiBkdXJjaGxhdWZlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwNAorIzogYnVpbHRpbi9ncmVwLmM6MTAzMAogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJlcndlaXRlcnRlIHJlZ3Vsw6RyZSBBdXNkcsO8Y2tlIGF1cyBQT1NJWCB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzMKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgImdydW5kbGVnZW5kZSByZWd1bMOkcmUgQXVzZHLDvGNrZSBhdXMgUE9TSVggdmVyd2VuZGVuIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzYKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiTXVzdGVyIGFscyBmZXN0ZSBaZWljaGVua2V0dGVuIGludGVycHJldGllcmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDEzCisjOiBidWlsdGluL2dyZXAuYzoxMDM5CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJQZXJsLWtvbXBhdGlibGUgcmVndWzDpHJlIEF1c2Ryw7xja2UgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDE2CisjOiBidWlsdGluL2dyZXAuYzoxMDQyCiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIlplaWxlbm51bW1lcm4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDMKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAia2VpbmUgRGF0ZWluYW1lbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxOAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJEYXRlaW5hbWVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDIwCisjOiBidWlsdGluL2dyZXAuYzoxMDQ2CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiRGF0ZWluYW1lbiByZWxhdGl2IHp1bSBQcm9qZWt0dmVyemVpY2huaXMgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDgKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIm51ciBEYXRlaW5hbWVuIGFuemVpZ2VuIGFuc3RhdHQgw7xiZXJlaW5zdGltbWVuZGUgWmVpbGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI0CisjOiBidWlsdGluL2dyZXAuYzoxMDUwCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgIlN5bm9ueW0gZsO8ciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyNworIzogYnVpbHRpbi9ncmVwLmM6MTA1MwogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAibnVyIGRpZSBEYXRlaW5hbWVuIG9obmUgw5xiZXJlaW5zdGltbXVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI5CisjOiBidWlsdGluL2dyZXAuYzoxMDU1CiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiTlVMLVplaWNoZW4gbmFjaCBEYXRlaW5hbWVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMxCisjOiBidWlsdGluL2dyZXAuYzoxMDU3CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiYW5zdGF0dCBkZXIgWmVpbGVuLCBkaWUgQW56YWhsIGRlciDDvGJlcmVpbnN0aW1tZW5kZW4gWmVpbGVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMyCisjOiBidWlsdGluL2dyZXAuYzoxMDU4CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgIsOcYmVyZWluc3RpbW11bmdlbiBoZXJ2b3JoZWJlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzNAorIzogYnVpbHRpbi9ncmVwLmM6MTA2MAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICIiCiAiZWluZSBMZWVyemVpbGUgendpc2NoZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGluIHZlcnNjaGllZGVuZW4gRGF0ZWllbiBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzNgorIzogYnVpbHRpbi9ncmVwLmM6MTA2MgogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgIiIKICJkZW4gRGF0ZWluYW1lbiBudXIgZWlubWFsIG9iZXJoYWxiIGRlciDDnGJlcmVpbnN0aW1tdW5nZW4gYXVzIGRpZXNlciBEYXRlaSAiCiAiYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjUKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiPG4+IFplaWxlbiB2b3IgdW5kIG5hY2ggZGVuIMOcYmVyZWluc3RpbW11bmdlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0MgorIzogYnVpbHRpbi9ncmVwLmM6MTA2OAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIjxuPiBaZWlsZW4gdm9yIGRlbiDDnGJlcmVpbnN0aW1tdW5nZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzAKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIjxuPiBaZWlsZW4gbmFjaCBkZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ2CisjOiBidWlsdGluL2dyZXAuYzoxMDcyCiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAiPG4+IFRocmVhZHMgYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJLdXJ6Zm9ybSBmw7xyIC1DIE5VTSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1MAorIzogYnVpbHRpbi9ncmVwLmM6MTA3NgogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgImVpbmUgWmVpbGUgbWl0IGRlbSBGdW5rdGlvbnNuYW1lbiB2b3Igw5xiZXJlaW5zdGltbXVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUyCisjOiBidWlsdGluL2dyZXAuYzoxMDc4CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgImRpZSB1bWdlYmVuZGUgRnVua3Rpb24gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODEKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAiTXVzdGVyIHZvbiBlaW5lciBEYXRlaSBsZXNlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NworIzogYnVpbHRpbi9ncmVwLmM6MTA4MwogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiPE11c3Rlcj4gZmluZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU5CisjOiBidWlsdGluL2dyZXAuYzoxMDg1CiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAiTXVzdGVyIGtvbWJpbmllcmVuLCBkaWUgbWl0IC1lIGFuZ2VnZWJlbiB3dXJkZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTcKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAiw5xiZXJlaW5zdGltbXVuZ2VuIG51ciBkdXJjaCBCZWVuZGlndW5nc3N0YXR1cyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3MworIzogYnVpbHRpbi9ncmVwLmM6MTA5OQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKICJudXIgw5xiZXJlaW5zdGltbXVuZ2VuIHZvbiBEYXRlaWVuIGFuemVpZ2VuLCBkaWUgYWxsZW4gTXVzdGVybiBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3NQorIzogYnVpbHRpbi9ncmVwLmM6MTEwMQogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJnZXBhcnN0ZXMgVmVyemVpY2huaXMgZsO8ciBcImdyZXBcIi1BdXNkcnVjayBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3OQorIzogYnVpbHRpbi9ncmVwLmM6MTEwNQogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJBbnplaWdlcHJvZ3JhbW0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDUKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiRGF0ZWllbiBtaXQgw5xiZXJlaW5zdGltbXVuZ2VuIGltIEFuemVpZ2Vwcm9ncmFtbSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA4MgorIzogYnVpbHRpbi9ncmVwLmM6MTEwOAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAiZGVuIEF1ZnJ1ZiB2b24gZ3JlcCgxKSBlcmxhdWJlbiAodm9uIGRpZXNlciBQcm9ncmFtbXZlcnNpb24gaWdub3JpZXJ0KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTE0NgorIzogYnVpbHRpbi9ncmVwLmM6MTE3MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICJrZWluZSBNdXN0ZXIgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTc4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyMDQKK21zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cyIKK21zZ3N0ciAiLS1uby1pbmRleCBvZGVyIC0tdW50cmFja2VkIGvDtm5uZW4gbmljaHQgbWl0IENvbW1pdHMgdmVyd2VuZGV0IHdlcmRlbiIKKworIzogYnVpbHRpbi9ncmVwLmM6MTIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCittc2dzdHIgIktvbm50ZSBDb21taXQgbmljaHQgYXVmbMO2c2VuOiAlcyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI0NSBidWlsdGluL2luZGV4LXBhY2suYzoxNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgInVuZ8O8bHRpZ2UgQW56YWhsIHZvbiBUaHJlYWRzIGFuZ2VnZWJlbiAoJWQpIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjE1CisjOiBidWlsdGluL2dyZXAuYzoxMjUwCittc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAtLXRocmVhZHMiCittc2dzdHIgImtlaW5lIFVudGVyc3TDvHR6dW5nIHZvbiBUaHJlYWRzLCAtLXRocmVhZHMgd2lyZCBpZ25vcmllcnQiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyODEKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tb3Blbi1maWxlcy1pbi1wYWdlciBrYW5uIG51ciBpbm5lcmhhbGIgZGVzICIKICJBcmJlaXRzdmVyemVpY2huaXNzZXMgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyMzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMDQKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzLiIKIG1zZ3N0ciAiT3B0aW9uIHdpcmQgbWl0IC0tcmVjdXJzZS1zdWJtb2R1bGVzIG5pY2h0IHVudGVyc3TDvHR6dC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMTAKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tY2FjaGVkIHVuZCAtLXVudHJhY2tlZCBrw7ZubmVuIG5pY2h0IG1pdCAtLW5vLWluZGV4IHZlcndlbmRldCAiCiAid2VyZGVuLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI0OQotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiIgotIkRpZSBPcHRpb25lbiAtLW5vLWluZGV4IHVuZCAtLXVudHJhY2tlZCBrw7ZubmVuIG5pY2h0IG1pdCBDb21taXRzIHZlcndlbmRldCAiCi0id2VyZGVuLiIKLQotIzogYnVpbHRpbi9ncmVwLmM6MTI1MgorIzogYnVpbHRpbi9ncmVwLmM6MTMxNgogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQga2FubiBuaWNodCBtaXQgdmVyc2lvbmllcnRlbiBJbmhhbHRlbiAiCiAidmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMjQKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4uIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tY2FjaGVkIGthbm4gbmljaHQgbWl0IFwiVHJlZVwiLU9iamVrdGVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaWxlPi4uLiIKQEAgLTg2MTUsOTMgKzg5ODYsOTMgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10IDxBcnQ+XSBbLXddIFstLXBhdGg9PERhdGVpPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxEYXRlaT4uLi4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgzCiBtc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CiBtc2dpZCAidHlwZSIKIG1zZ3N0ciAiQXJ0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICJBcnQgZGVzIE9iamVrdGVzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NgogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJkYXMgT2JqZWt0IGluIGRpZSBPYmpla3RkYXRlbmJhbmsgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICJkYXMgT2JqZWt0IHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgIkRhdGVpIHdpZSBzaWUgaXN0IHNwZWljaGVybiwgb2huZSBGaWx0ZXIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCiAiSGFzaCDDvGJlciB6dWbDpGxsaWdlIERhdGVuLCB6dXIgRXJ6ZXVndW5nIHZvbiBiZXNjaMOkZGlndGVuIE9iamVrdGVuIHp1clxuIgogIkZlaGxlcnN1Y2hlIGluIEdpdCwgZXJ6ZXVnZW4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAiRGF0ZWkgdmVyYXJiZWl0ZW4sIGFscyBvYiBzaWUgdm9uIGRpZXNlbSBQZmFkIHfDpHJlIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MgorIzogYnVpbHRpbi9oZWxwLmM6NDMKIG1zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgogbXNnc3RyICJhbGxlIHZvcmhhbmRlbmVuIEJlZmVobGUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzCisjOiBidWlsdGluL2hlbHAuYzo0NAogbXNnaWQgImV4Y2x1ZGUgZ3VpZGVzIgogbXNnc3RyICJBbmxlaXR1bmdlbiBhdXNzY2hsaWXDn2VuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NAorIzogYnVpbHRpbi9oZWxwLmM6NDUKIG1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCiBtc2dzdHIgIkxpc3RlIHZvbiBhbGxnZW1laW4gdmVyd2VuZGV0ZW4gQW5sZWl0dW5nZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ1CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFuIHBhZ2UiCiBtc2dzdHIgIkhhbmRidWNoIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NgorIzogYnVpbHRpbi9oZWxwLmM6NDcKIG1zZ2lkICJzaG93IG1hbnVhbCBpbiB3ZWIgYnJvd3NlciIKIG1zZ3N0ciAiSGFuZGJ1Y2ggaW4gZWluZW0gV2ViYnJvd3NlciBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5CiBtc2dpZCAic2hvdyBpbmZvIHBhZ2UiCiBtc2dzdHIgIkluZm8tU2VpdGUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjU0CisjOiBidWlsdGluL2hlbHAuYzo1NQogbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCiBtc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxCZWZlaGw+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NjYKKyM6IGJ1aWx0aW4vaGVscC5jOjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICJuaWNodCBlcmthbm50ZXMgSGlsZmVmb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo5MworIzogYnVpbHRpbi9oZWxwLmM6OTQKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICJLb25udGUgZW1hY3NjbGllbnQgbmljaHQgc3RhcnRlbi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNgorIzogYnVpbHRpbi9oZWxwLmM6MTA3CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICJLb25udGUgVmVyc2lvbiBkZXMgZW1hY3NjbGllbnQgbmljaHQgcGFyc2VuLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTE0CisjOiBidWlsdGluL2hlbHAuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKIG1zZ3N0ciAiVmVyc2lvbiBkZXMgZW1hY3NjbGllbnQgJyVkJyBpc3QgenUgYWx0ICg8IDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMiBidWlsdGluL2hlbHAuYzoxNTMgYnVpbHRpbi9oZWxwLmM6MTYyIGJ1aWx0aW4vaGVscC5jOjE3MAorIzogYnVpbHRpbi9oZWxwLmM6MTMzIGJ1aWx0aW4vaGVscC5jOjE1NCBidWlsdGluL2hlbHAuYzoxNjMgYnVpbHRpbi9oZWxwLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEF1c2bDvGhyZW4gdm9uICclcyciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIwNworIzogYnVpbHRpbi9oZWxwLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtODcxMCw3ICs5MDgxLDcgQEAKICInJXMnOiBQZmFkIGbDvHIgbmljaHQgdW50ZXJzdMO8dHp0ZW4gSGFuZGJ1Y2hiZXRyYWNodGVyLlxuIgogIlNpZSBrw7ZubnRlbiBzdGF0dGRlc3NlbiAnbWFuLjxXZXJremV1Zz4uY21kJyBiZW51dHplbi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxOQorIzogYnVpbHRpbi9oZWxwLmM6MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtODcxOSw0MzYgKzkwOTAsNDM2IEBACiAiJyVzJzogUHJvZ3JhbW0gZsO8ciB1bnRlcnN0w7x0enRlbiBIYW5kYnVjaGJldHJhY2h0ZXIuXG4iCiAiU2llIGvDtm5udGVuIHN0YXR0ZGVzc2VuICdtYW4uPFdlcmt6ZXVnPi5wYXRoJyBiZW51dHplbi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjMzNgorIzogYnVpbHRpbi9oZWxwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIiclcyc6IHVuYmVrYW5udGVyIEhhbmRidWNoLUJldHJhY2h0ZXIuIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTMKKyM6IGJ1aWx0aW4vaGVscC5jOjM1NAogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAia2VpbiBIYW5kYnVjaC1CZXRyYWNodGVyIGtvbm50ZSBtaXQgZGllc2VyIEFuZnJhZ2UgdW1nZWhlbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzYxCisjOiBidWlsdGluL2hlbHAuYzozNjIKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJrZWluIEluZm9ybWF0aW9ucy1CZXRyYWNodGVyIGtvbm50ZSBtaXQgZGllc2VyIEFuZnJhZ2UgdW1nZWhlbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDAzCisjOiBidWlsdGluL2hlbHAuYzo0MDQKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICJEZWZpbml0aW9uIHZvbiBBdHRyaWJ1dGVuIHBybyBQZmFkIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNQogbXNnaWQgIkV2ZXJ5ZGF5IEdpdCBXaXRoIDIwIENvbW1hbmRzIE9yIFNvIgogbXNnc3RyICJUw6RnbGljaGUgQmVudXR6dW5nIHZvbiBHaXQgbWl0IHVuZ2Vmw6RociAyMCBCZWZlaGxlbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA1CisjOiBidWlsdGluL2hlbHAuYzo0MDYKIG1zZ2lkICJBIEdpdCBnbG9zc2FyeSIKIG1zZ3N0ciAiRWluIEdpdC1HbG9zc2FyIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNwogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIlNwZXppZmlrYXRpb24gdm9uIGJld3Vzc3QgaWdub3JpZXJ0ZW4sIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDcKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOAogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICJEZWZpbml0aW9uIHZvbiBTdWJtb2R1bC1FaWdlbnNjaGFmdGVuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOQogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAiU3BlemlmaWthdGlvbiB2b24gQ29tbWl0cyB1bmQgQmVyZWljaGVuIGbDvHIgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDkKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgogbXNnc3RyICJFaW5lIGVpbmbDvGhyZW5kZSBBbmxlaXR1bmcgenUgR2l0IChmw7xyIFZlcnNpb24gMS41LjEgb2RlciBuZXVlcikiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDExCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICJFaW5lIMOcYmVyc2ljaHQgw7xiZXIgZW1wZm9obGVuZSBBcmJlaXRzYWJsw6R1ZmUgbWl0IEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIyCisjOiBidWlsdGluL2hlbHAuYzo0MjMKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICJEaWUgYWxsZ2VtZWluIHZlcndlbmRldGVuIEdpdC1BbmxlaXR1bmdlbiBzaW5kOlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDAKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgImbDvHIgYGdpdCAlcycgd3VyZGUgZGVyIEFsaWFzIGAlcycgYW5nZWxlZ3QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2MiBidWlsdGluL2hlbHAuYzo0NzkKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MyBidWlsdGluL2hlbHAuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzJXMiCiBtc2dzdHIgIlZlcndlbmR1bmc6ICVzJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICJrYW5uICVzIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICJPYmpla3QtVHlwZW4gcGFzc2VuIGJlaSAlcyBuaWNodCB6dXNhbW1lbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAia29ubnRlIGVyd2FydGV0ZXMgT2JqZWt0ICVzIG5pY2h0IGVtcGZhbmdlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAiT2JqZWt0ICVzOiBlcndhcnRldGVyIFR5cCAlcywgJXMgZ2VmdW5kZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaWxsICVkIGJ5dGUiCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBmaWxsICVkIGJ5dGVzIgogbXNnc3RyWzBdICJrYW5uICVkIEJ5dGUgbmljaHQgbGVzZW4iCiBtc2dzdHJbMV0gImthbm4gJWQgQnl0ZXMgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICJ6dSBmcsO8aGVzIERhdGVpZW5kZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODEKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiBkZXIgRWluZ2FiZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTMKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAidmVyd2VuZGV0ZSBtZWhyIEJ5dGVzIGFscyB2ZXJmw7xnYmFyIHdhcmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgIlBha2V0IGlzdCB6dSBncm/DnyBmw7xyIGRpZSBha3R1ZWxsZSBEZWZpbml0aW9uIHZvbiBvZmZfdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MwogbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKIG1zZ3N0ciAiUGFrZXQgw7xiZXJzY2hyZWl0ZXQgZGllIG1heGltYWwgZXJsYXVidGUgR3LDtsOfZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgogbXNnc3RyICJrb25udGUgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIkthbm4gUGFrZXRkYXRlaSAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM4CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgIlBha2V0c2lnbmF0dXIgc3RpbW10IG5pY2h0IMO8YmVyZWluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICJQYWtldHZlcnNpb24gJTxQUkl1MzI+IG5pY2h0IHVudGVyc3TDvHR6dCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgIlBha2V0IGhhdCBlaW4gdW5nw7xsdGlnZXMgT2JqZWt0IGJlaSBWZXJzYXR6ICU8UFJJdU1BWD46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJEZWtvbXByaW1pZXJ1bmcgZ2FiICVkIHp1csO8Y2siCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI4CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAiV2VydCBmw7xyIFZlcnNhdHogYmVpIERpZmZlcmVuem9iamVrdCDDvGJlcmdlbGF1ZmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNgogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAiIgogIldlcnQgZsO8ciBWZXJzYXR6IGJlaSBEaWZmZXJlbnpvYmpla3QgbGllZ3QgYXXDn2VyaGFsYiBkZXMgZ8O8bHRpZ2VuIEJlcmVpY2hzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJVbmJla2FubnRlciBPYmpla3QtVHlwICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NQogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCiBtc2dzdHIgIkthbm4gUGFrZXRkYXRlaSAlcyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICJmcsO8aHplaXRpZ2VzIEVuZGUgZGVyIFBha2V0ZGF0ZWksIHZlcm1pc3NlICU8UFJJdU1BWD4gQnl0ZSIKIG1zZ3N0clsxXSAiZnLDvGh6ZWl0aWdlcyBFbmRlIGRlciBQYWtldGRhdGVpLCB2ZXJtaXNzZSAlPFBSSXVNQVg+IEJ5dGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMwogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJlcm5zdGhhZnRlIElua29uc2lzdGVueiBuYWNoIERla29tcHJpbWllcnVuZyIKIAogIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMyBidWlsdGluL2luZGV4LXBhY2suYzo4MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNiBidWlsdGluL2luZGV4LXBhY2suYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJTSEExIEtPTExJU0lPTiBNSVQgJXMgR0VGVU5ERU4gISIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzUxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTY0Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzUxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTY3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAia2FubiAlcyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0IGluZm8gJXMiCittc2dzdHIgIkthbm4gZXhpc3RpZXJlbmRlIEluZm9ybWF0aW9uZW4genUgT2JqZWt0ICVzIG5pY2h0IGxlc2VuLiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAiS2FubiBleGlzdGllcmVuZGVzIE9iamVrdCAlcyBuaWNodCBsZXNlbi4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIEJsb2ItT2JqZWt0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBPYmpla3QtVHlwICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1NAogbXNnaWQgIkVycm9yIGluIG9iamVjdCIKIG1zZ3N0ciAiRmVobGVyIGluIE9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIk5pY2h0IGFsbGUgS2luZC1PYmpla3RlIHZvbiAlcyBzaW5kIGVycmVpY2hiYXIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyNCBidWlsdGluL2luZGV4LXBhY2suYzo5NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyOCBidWlsdGluL2luZGV4LXBhY2suYzo5NTkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIktvbm50ZSBEYXRlaXVudGVyc2NoaWVkIG5pY2h0IGFud2VuZGVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIkVtcGZhbmdlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJJbmRleGluZyBvYmplY3RzIgogbXNnc3RyICJJbmRpemllcmUgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2NAogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAiUGFrZXQgaXN0IGJlc2Now6RkaWd0IChTSEExIHVudGVyc2NoaWVkbGljaCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjkKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgImthbm4gUGFrZXRkYXRlaSBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3MgogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAiUGFrZXRlbmRlIGVudGjDpGx0IG5pY2h0IHZlcndlbmRiYXJlbiBJbmhhbHQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODQKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdXNmw7xocmVuIHZvbiBcInBhcnNlX3BhY2tfb2JqZWN0cygpXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDcKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJMw7ZzZSBVbnRlcnNjaGllZGUgYXVmIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjEwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia2FubiBUaHJlYWQgbmljaHQgZXJ6ZXVnZW46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjYwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gQXVmbMO2c2VuIGRlciBVbnRlcnNjaGllZGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICJhYmdlc2NobG9zc2VuIG1pdCAlZCBsb2thbGVtIE9iamVrdCIKIG1zZ3N0clsxXSAiYWJnZXNjaGxvc3NlbiBtaXQgJWQgbG9rYWxlbiBPYmpla3RlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAiVW5lcndhcnRldGUgUHLDvGZzdW1tZSBmw7xyICVzIChGZXN0cGxhdHRlbmZlaGxlcj8pIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICJQYWtldCBoYXQgJWQgdW5hdWZnZWzDtnN0ZSBVbnRlcnNjaGllZCIKIG1zZ3N0clsxXSAiUGFrZXQgaGF0ICVkIHVuYXVmZ2Vsw7ZzdGUgVW50ZXJzY2hpZWRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgogbXNnc3RyICJLb25udGUgYW5nZWjDpG5ndGVzIE9iamVrdCAoJWQpIG5pY2h0IGtvbXByaW1pZXJlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAibG9rYWxlcyBPYmpla3QgJXMgaXN0IGJlc2Now6RkaWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA4CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaGxpZcOfZW4gZGVyIFBha2V0ZGF0ZWkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJLYW5uIFBha2V0YmVzY2hyZWlidW5nc2RhdGVpICclcycgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDE5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJLYW5uIGViZW4gZXJzdGVsbHRlIFBha2V0YmVzY2hyZWlidW5nc2RhdGVpICclcycgbmljaHQgc2NobGllw59lbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgIkthbm4gUGFrZXRkYXRlaSBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDYKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS2FubiBJbmRleGRhdGVpIG5pY2h0IHNwZWljaGVybiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJcInBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPlwiIGlzdCB1bmfDvGx0aWciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgotbXNnc3RyICJrZWluZSBVbnRlcnN0w7x0enVuZyB2b24gVGhyZWFkcywgJyVzJyB3aXJkIGlnbm9yaWVydCIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS2FubiBleGlzdGllcmVuZGUgUGFrZXRkYXRlaSAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiS2FubiBleGlzdGllcmVuZGUgSW5kZXhkYXRlaSBmw7xyIFBha2V0ICclcycgbmljaHQgw7ZmZm5lbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICJrZWluIFVudGVyc2NoaWVkOiAlZCBPYmpla3QiCiBtc2dzdHJbMV0gImtlaW4gVW50ZXJzY2hpZWQ6ICVkIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAiTMOkbmdlIGRlciBPYmpla3QtTGlzdGUgPSAlZDogJWx1IE9iamVrdCIKIG1zZ3N0clsxXSAiTMOkbmdlIGRlciBPYmpla3QtTGlzdGUgPSAlZDogJWx1IE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgIk5hbWUgZGVyIFBha2V0ZGF0ZWkgJyVzJyBlbmRldCBuaWNodCBtaXQgJy5wYWNrJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjk4Ci0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzE0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyMyBidWlsdGluL2luZGV4LXBhY2suYzoxNzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiJXMgaXN0IHVuZ8O8bHRpZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MwogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tZml4LXRoaW4ga2FubiBuaWNodCBvaG5lIC0tc3RkaW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDUKIG1zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tc3RkaW4gZXJmb3JkZXJ0IGVpbiBHaXQtUmVwb3NpdG9yeSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1MwogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLXZlcmlmeSB3dXJkZSBvaG5lIE5hbWVuIGRlciBQYWtldGRhdGVpIGFuZ2VnZWJlbi4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CisjOiBidWlsdGluL2luaXQtZGIuYzo1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJLYW5uICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYwCisjOiBidWlsdGluL2luaXQtZGIuYzo2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCB0ZW1wbGF0ZSAnJXMnIgogbXNnc3RyICJrYW5uIFZvcmxhZ2UgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgImthbm4gVmVyemVpY2huaXMgJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgImthbm4gVmVyd2VpcyAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3OAorIzogYnVpbHRpbi9pbml0LWRiLmM6NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgogbXNnc3RyICJrYW5uIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyAnJXMnIGF1ZiAnJXMnIG5pY2h0IGVyc3RlbGxlbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAia2FubiAnJXMnIG5pY2h0IG5hY2ggJyVzJyBrb3BpZXJlbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgogbXNnc3RyICJpZ25vcmllcmUgVm9ybGFnZSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTE5CisjOiBidWlsdGluL2luaXQtZGIuYzoxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcGxhdGVzIG5vdCBmb3VuZCAlcyIKIG1zZ3N0ciAia2VpbmUgVm9ybGFnZW4gaW4gJyVzJyBnZWZ1bmRlbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTM0CisjOiBidWlsdGluL2luaXQtZGIuYzoxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIGZyb20gJyVzJzogJXMiCiBtc2dzdHIgImtvcGllcmUga2VpbmUgVm9ybGFnZW4gdm9uICclcyc6ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMjcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAia2FubiBuaWNodCBtaXQgRGF0ZWl0eXAgJWQgdW1nZWhlbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzMwCisjOiBidWlsdGluL2luaXQtZGIuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBuYWNoICVzIHZlcnNjaGllYmVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDcgYnVpbHRpbi9pbml0LWRiLmM6MzUwCisjOiBidWlsdGluL2luaXQtZGIuYzozNDggYnVpbHRpbi9pbml0LWRiLmM6MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIlcyBleGlzdGllcnQgYmVyZWl0cyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDAzCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJCZXN0ZWhlbmRlcyB2ZXJ0ZWlsdGVzIEdpdC1SZXBvc2l0b3J5IGluICVzJXMgbmV1aW5pdGlhbGlzaWVydFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiQmVzdGVoZW5kZXMgR2l0LVJlcG9zaXRvcnkgaW4gJXMlcyBuZXVpbml0aWFsaXNpZXJ0XG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIkxlZXJlcyB2ZXJ0ZWlsdGVzIEdpdC1SZXBvc2l0b3J5IGluICVzJXMgaW5pdGlhbGlzaWVydFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIkxlZXJlcyBHaXQtUmVwb3NpdG9yeSBpbiAlcyVzIGluaXRpYWxpc2llcnRcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDU3CisjOiBidWlsdGluL2luaXQtZGIuYzo0NTgKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtOTE1NiwyNSArOTUyNywyNSBAQAogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTxWb3JsYWdlbnZlcnplaWNobmlzPl0gWy0tIgogInNoYXJlZFs9PEJlcmVjaHRpZ3VuZ2VuPl1dIFs8VmVyemVpY2huaXM+XSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDgwCisjOiBidWlsdGluL2luaXQtZGIuYzo0ODEKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAiQmVyZWNodGlndW5nZW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJhbmdlYmVuLCBkYXNzIGRhcyBHaXQtUmVwb3NpdG9yeSBtaXQgbWVocmVyZW4gQmVudXR6ZXJuIGdldGVpbHQgd2lyZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE1IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTE2IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgImthbm4gVmVyemVpY2huaXMgJXMgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgImthbm4gbmljaHQgaW4gVmVyemVpY2huaXMgJXMgd2VjaHNlbG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlcyAob3IgLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vdCBhbGxvd2VkIHdpdGhvdXQgc3BlY2lmeWluZyAlcyAob3IgLS1naXQtIgpAQCAtOTE4Myw3ICs5NTU0LDcgQEAKICIlcyAob2RlciAtLXdvcmstdHJlZT08VmVyemVpY2huaXM+KSBuaWNodCBlcmxhdWJ0IG9obmUgU3BlemlmaXppZXJ1bmcgdm9uICVzICIKICIob2RlciAtLWdpdC1kaXI9PFZlcnplaWNobmlzPikiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3MworIzogYnVpbHRpbi9pbml0LWRiLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgIkthbm4gbmljaHQgYXVmIEFyYmVpdHN2ZXJ6ZWljaG5pcyAnJXMnIHp1Z3JlaWZlbi4iCkBAIC05MjE2LDExMiArOTU4NywxMTIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJrZWluZSBEYXRlaSB6dXIgZGlyZWt0ZW4gQmVhcmJlaXR1bmcgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPE9wdGlvbmVuPl0gWzxDb21taXRiZXJlaWNoPl0gW1stLV0gPFBmYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9sb2cuYzo0NQorIzogYnVpbHRpbi9sb2cuYzo0NgogbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgc2hvdyBbPE9wdGlvbmVuPl0gPE9iamVrdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODQKKyM6IGJ1aWx0aW4vbG9nLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgT3B0aW9uIGbDvHIgLS1kZWNvcmF0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5CisjOiBidWlsdGluL2xvZy5jOjE0NwogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICJBdXNnYWJlIGRlciBVbnRlcnNjaGllZGUgdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgIlF1ZWxsZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIlwibWFpbG1hcFwiLURhdGVpIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAiZGVjb3JhdGUtT3B0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1CisjOiBidWlsdGluL2xvZy5jOjE1MwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJWZXJhcmJlaXRldCBudXIgWmVpbGVuIGltIEJlcmVpY2ggbixtIGluIGRlciBEYXRlaSwgZ2V6w6RobHQgdm9uIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjQxCisjOiBidWlsdGluL2xvZy5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgImxldHp0ZSBBdXNnYWJlOiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ4NgorIzogYnVpbHRpbi9sb2cuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlczogdW5nw7xsdGlnZSBEYXRlaSIKIAotIzogYnVpbHRpbi9sb2cuYzo1MDAgYnVpbHRpbi9sb2cuYzo1OTQKKyM6IGJ1aWx0aW4vbG9nLmM6NTEyIGJ1aWx0aW4vbG9nLmM6NjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiS2FubiBPYmpla3QgJXMgbmljaHQgbGVzZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjYxOAorIzogYnVpbHRpbi9sb2cuYzo2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgVHlwOiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3MzkKKyM6IGJ1aWx0aW4vbG9nLmM6NzUxCiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgb2huZSBXZXJ0IgogCi0jOiBidWlsdGluL2xvZy5jOjgzOQorIzogYnVpbHRpbi9sb2cuYzo4NTIKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIk5hbWUgZGVzIEF1c2dhYmV2ZXJ6ZWljaG5pc3NlcyBpc3QgenUgbGFuZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODU0CisjOiBidWlsdGluL2xvZy5jOjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJLYW5uIFBhdGNoLURhdGVpICVzIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODY4CisjOiBidWlsdGluL2xvZy5jOjg4NQogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICJCcmF1Y2hlIGdlbmF1IGVpbmVuIENvbW1pdC1CZXJlaWNoLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NzgKKyM6IGJ1aWx0aW4vbG9nLmM6ODk1CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJLZWluIENvbW1pdC1CZXJlaWNoLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5ODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTAwMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIkFuc2NocmVpYmVuIGJlbsO2dGlndCBFLU1haWwtRm9ybWF0IgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTA4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJ1bmfDvGx0aWdlcyBpbi1yZXBseS10bzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA5MQorIzogYnVpbHRpbi9sb2cuYzoxMTA4CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs8T3B0aW9uZW4+XSBbPHNlaXQ+IHwgPENvbW1pdGJlcmVpY2g+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQxCisjOiBidWlsdGluL2xvZy5jOjExNTgKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiWndlaSBBdXNnYWJldmVyemVpY2huaXNzZT8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0OCBidWlsdGluL2xvZy5jOjE4OTEgYnVpbHRpbi9sb2cuYzoxODkzIGJ1aWx0aW4vbG9nLmM6MTkwNQorIzogYnVpbHRpbi9sb2cuYzoxMjY1IGJ1aWx0aW4vbG9nLmM6MTkwOCBidWlsdGluL2xvZy5jOjE5MTAgYnVpbHRpbi9sb2cuYzoxOTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICJVbmJla2FubnRlciBDb21taXQgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDc2CisjOiBidWlsdGluL2xvZy5jOjEyNzUgYnVpbHRpbi9ub3Rlcy5jOjg4NiBidWlsdGluL3RhZy5jOjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYWxzIGfDvGx0aWdlIFJlZmVyZW56IGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2MworIzogYnVpbHRpbi9sb2cuYzoxMjgwCiBtc2dpZCAiQ291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZS4iCiBtc2dzdHIgIktvbm50ZSBrZWluZSBleGFrdGUgTWVyZ2UtQmFzaXMgZmluZGVuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjY3CisjOiBidWlsdGluL2xvZy5jOjEyODQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKQEAgLTkzMzIsMjE2ICs5NzAzLDIyMSBAQAogIidnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvJywgdW0gZWluZW0gUmVtb3RlLUJyYW5jaCB6dSBmb2xnZW4uXG4iCiAiT2RlciBnZWJlbiBTaWUgZGVuIEJhc2lzLUNvbW1pdCBtaXQgJy0tYmFzZT08QmFzaXMtQ29tbWl0LUlkPicgbWFudWVsbCBhbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI4NworIzogYnVpbHRpbi9sb2cuYzoxMzA0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRmluZGVuIGVpbmVyIGV4YWt0ZW4gTWVyZ2UtQmFzaXMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyOTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxNQogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiQmFzaXMtQ29tbWl0IHNvbGx0ZSBkZXIgVm9yZ8OkbmdlciBkZXIgUmV2aXNpb25zbGlzdGUgc2Vpbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwMgorIzogYnVpbHRpbi9sb2cuYzoxMzE5CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgIkJhc2lzLUNvbW1pdCBzb2xsdGUgbmljaHQgaW4gZGVyIFJldmlzaW9uc2xpc3RlIGVudGhhbHRlbiBzZWluLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzUxCisjOiBidWlsdGluL2xvZy5jOjEzNjgKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICJrYW5uIFBhdGNoLUlkIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIltQQVRDSCBuL21dIGF1Y2ggbWl0IGVpbnplbG5lbSBQYXRjaCB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMQorIzogYnVpbHRpbi9sb2cuYzoxNDI4CiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgIltQQVRDSF0gYXVjaCBtaXQgbWVocmVyZW4gUGF0Y2hlcyB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDMyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgIkF1c2dhYmUgZGVyIFBhdGNoZXMgaW4gU3RhbmRhcmQtQXVzZ2FiZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE3CisjOiBidWlsdGluL2xvZy5jOjE0MzQKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZWluIERlY2tibGF0dCBlcnpldWdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE5CisjOiBidWlsdGluL2xvZy5jOjE0MzYKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgImVpbmZhY2hlIE51bW1lcm5mb2xnZSBmw7xyIGRpZSBOYW1lbiBkZXIgQXVzZ2FiZWRhdGVpZW4gdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNwogbXNnaWQgInNmeCIKIG1zZ3N0ciAiRGF0ZWllbmR1bmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMQorIzogYnVpbHRpbi9sb2cuYzoxNDM4CiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgIjxEYXRlaWVuZHVuZz4gYW5zdGF0dCAnLnBhdGNoJyB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMworIzogYnVpbHRpbi9sb2cuYzoxNDQwCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAiZGllIE51bW1lcmllcnVuZyBkZXIgUGF0Y2hlcyBiZWkgPG4+IGFuc3RhdHQgYmVpIDEgYmVnaW5uZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNQorIzogYnVpbHRpbi9sb2cuYzoxNDQyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICJkaWUgU2VyaWUgYWxzIG4tdGUgRmFzc3VuZyBrZW5uemVpY2huZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNworIzogYnVpbHRpbi9sb2cuYzoxNDQ0CiBtc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiW1JGQyBQQVRDSF0gYW5zdGF0dCBbUEFUQ0hdIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMwCisjOiBidWlsdGluL2xvZy5jOjE0NDcKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIls8UHLDpGZpeD5dIGFuc3RhdHQgW1BBVENIXSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICJlcnpldWd0ZSBEYXRlaWVuIGluIDxWZXJ6ZWljaG5pcz4gc3BlaWNoZXJuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MwogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJbUEFUQ0hdIG5pY2h0IGVudGZlcm5lbi9oaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM5CisjOiBidWlsdGluL2xvZy5jOjE0NTYKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJrZWluZSBiaW7DpHJlbiBVbnRlcnNjaGllZGUgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQorIzogYnVpbHRpbi9sb2cuYzoxNDU4CiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCiBtc2dzdHIgIkhhc2ggbWl0IE51bGxlbiBpbiBcIkZyb21cIi1IZWFkZXIgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MworIzogYnVpbHRpbi9sb2cuYzoxNDYwCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAia2VpbmUgUGF0Y2hlcyBlaW5zY2hsaWXDn2VuLCBkaWUgZWluZW0gQ29tbWl0IGltIFVwc3RyZWFtLUJyYW5jaCBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ1CisjOiBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIlBhdGNoZm9ybWF0IGFuc3RhdHQgZGVzIFN0YW5kYXJkcyBhbnplaWdlbiAoUGF0Y2ggKyBadXNhbW1lbmZhc3N1bmcpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NAogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiRS1NYWlsLUVpbnN0ZWxsdW5nZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAorIzogYnVpbHRpbi9sb2cuYzoxNDY1CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJIZWFkZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OQorIzogYnVpbHRpbi9sb2cuYzoxNDY2CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiRS1NYWlsLUhlYWRlciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgorIzogYnVpbHRpbi9sb2cuYzoxNDY3IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImVtYWlsIgogbXNnc3RyICJFLU1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1MAorIzogYnVpbHRpbi9sb2cuYzoxNDY3CiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgIlwiVG86XCItSGVhZGVyIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJcIkNjOlwiLUhlYWRlciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU0CisjOiBidWlsdGluL2xvZy5jOjE0NzEKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiSWRlbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NQorIzogYnVpbHRpbi9sb2cuYzoxNDcyCiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAiIgogIlwiRnJvbVwiLUFkcmVzc2UgYXVmIDxJZGVudD4gc2V0emVuIChvZGVyIElkZW50IGRlcyBDb21taXQtRXJzdGVsbGVycywgd2VubiAiCiAiZmVobGVuZCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NworIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVzc2FnZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU4CisjOiBidWlsdGluL2xvZy5jOjE0NzUKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImF1cyBlcnN0ZXIgRS1NYWlsIGVpbmUgQW50d29ydCB6dSA8bWVzc2FnZS1pZD4gbWFjaGVuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCisjOiBidWlsdGluL2xvZy5jOjE0NzYgYnVpbHRpbi9sb2cuYzoxNDc5CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIkdyZW56ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYwCisjOiBidWlsdGluL2xvZy5jOjE0NzcKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJkZW4gUGF0Y2ggYW5ow6RuZ2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4MAogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgImRlbiBQYXRjaCBkaXJla3QgaW4gZGllIE5hY2hyaWNodCBlaW5mw7xnZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2NworIzogYnVpbHRpbi9sb2cuYzoxNDg0CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIk5hY2hyaWNodGVudmVya2V0dHVuZyBha3RpdmllcmVuLCBTdGlsZTogc2hhbGxvdywgZGVlcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDY5CisjOiBidWlsdGluL2xvZy5jOjE0ODYKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgIlNpZ25hdHVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NwogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAiZWluZSBTaWduYXR1ciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcxCisjOiBidWlsdGluL2xvZy5jOjE0ODgKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAiQmFzaXMtQ29tbWl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4OQogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgImVyZm9yZGVybGljaGUgUmV2aXNpb25zLUluZm9ybWF0aW9uZW4gZGVyIFBhdGNoLVNlcmllIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5MQogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAiZWluZSBTaWduYXR1ciBhdXMgZWluZXIgRGF0ZWkgaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3NQorIzogYnVpbHRpbi9sb2cuYzoxNDkyCiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAia2VpbmUgRGF0ZWluYW1lbiBkZXIgUGF0Y2hlcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBJZGVudGlmaWthdGlvbnN6ZWlsZTogJXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4MgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC1uIHVuZCAtayBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjOiBidWlsdGluL2xvZy5jOjE1ODQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyB1bmQgLWsgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NQorIzogYnVpbHRpbi9sb2cuYzoxNTkyCiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW5hbWUtb25seSBrYW5uIG5pY2h0IHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NAogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW5hbWUtc3RhdHVzIGthbm4gbmljaHQgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3OQorIzogYnVpbHRpbi9sb2cuYzoxNTk2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tY2hlY2sga2FubiBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjA5CisjOiBidWlsdGluL2xvZy5jOjE2MjYKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAiU3RhbmRhcmQtQXVzZ2FiZSBvZGVyIFZlcnplaWNobmlzLCB3ZWxjaGVzIHZvbiBiZWlkZW0/IgogCi0jOiBidWlsdGluL2xvZy5jOjE2MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTcyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICJLb25udGUgU2lnbmF0dXItRGF0ZWkgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzc3CisjOiBidWlsdGluL2xvZy5jOjE3OTQKIG1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIGRlciBBdXNnYWJlZGF0ZWllbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPFVwc3RyZWFtPiBbPEJyYW5jaD4gWzxMaW1pdD5dXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4MAorIzogYnVpbHRpbi9sb2cuYzoxODk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKQEAgLTk1NDksMTA4ICs5OTI1LDEwOCBAQAogIktvbm50ZSBnZWZvbGd0ZW4gUmVtb3RlLUJyYW5jaCBuaWNodCBmaW5kZW4sIGJpdHRlIGdlYmVuIFNpZSA8VXBzdHJlYW0+ICIKICJtYW51ZWxsIGFuLlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxPcHRpb25lbj5dIFs8RGF0ZWk+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImRlbiBEYXRlaXN0YXR1cyBtaXQgVGFncyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAiS2xlaW5idWNoc3RhYmVuIGbDvHIgRGF0ZWllbiBtaXQgJ2Fzc3VtZSB1bmNoYW5nZWQnIE1hcmtpZXJ1bmcgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTEzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIxCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgInp3aXNjaGVuZ2VzcGVpY2hlcnRlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW56ZWlnZW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMwogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJlbnRmZXJudGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiZ2XDpG5kZXJ0ZSBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJzb25zdGlnZSBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTIxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI5CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImlnbm9yaWVydGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAiT2JqZWt0bmFtZW4gdm9uIEluaGFsdGVuLCBkaWUgenVtIENvbW1pdCB2b3JnZW1lcmt0IHNpbmQsIGluIGRlciBBdXNnYWJlICIKICJhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIkRhdGVpZW4gaW0gRGF0ZWlzeXN0ZW0sIGRpZSBnZWzDtnNjaHQgd2VyZGVuIG3DvHNzZW4sIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICJudXIgTmFtZW4gdm9uICdzb25zdGlnZW4nIFZlcnplaWNobmlzc2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM4CiBtc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCiBtc2dzdHIgIlplaWxlbmVuZGVuIHZvbiBEYXRlaWVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAia2VpbmUgbGVlcmVuIFZlcnplaWNobmlzc2UgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiJ3Jlc29sdmUtdW5kbycgSW5mb3JtYXRpb25lbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiRGF0ZWllbiBhdXNsYXNzZW4sIGRpZSBlaW5lbSBNdXN0ZXIgZW50c3ByZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICJNdXN0ZXIsIGdlbGVzZW4gdm9uIDxEYXRlaT4sIGF1c3NjaGxpZcOfZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAienVzw6R0emxpY2hlIHByby1WZXJ6ZWljaG5pcyBBdXNjaGx1c3NtdXN0ZXIgYXVzIDxEYXRlaT4gYXVzbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJkaWUgc3RhbmRhcmRtw6TDn2lnZW4gR2l0LUF1c3NjaGzDvHNzZSBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJBdXNnYWJlIHJlbGF0aXYgenVtIFByb2pla3R2ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICJSZWt1cnNpb24gaW4gU3VibW9kdWxlbiBkdXJjaGbDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgImFscyBGZWhsZXIgYmVoYW5kZWxuLCB3ZW5uIHNpY2ggZWluZSA8RGF0ZWk+IG5pY2h0IGltIEluZGV4IGJlZmluZGV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY0CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIkNvbW1pdC1SZWZlcmVueiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NQogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIiIKICJ2b3JnZWJlbiwgZGFzcyBQZmFkZSwgZGllIHNlaXQgPENvbW1pdC1SZWZlcmVuej4gZ2Vsw7ZzY2h0IHd1cmRlbiwgaW1tZXIgbm9jaCAiCiAidm9yaGFuZGVuIHNpbmQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjcKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJBdXNnYWJlbiB6dXIgRmVobGVyc3VjaGUgYW56ZWlnZW4iCiAKQEAgLTk2NjQsODkgKzEwMDQwLDkwIEBACiAiICAgICAgICAgICAgICAgICAgICAgWy1xIHwgLS1xdWlldF0gWy0tZXhpdC1jb2RlXSBbLS1nZXQtdXJsXVxuIgogIiAgICAgICAgICAgICAgICAgICAgIFstLXN5bXJlZl0gWzxSZXBvc2l0b3J5PiBbPFJlZmVyZW56ZW4+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKIG1zZ3N0ciAiVVJMIGRlcyBSZW1vdGUtUmVwb3NpdG9yaWVzIG5pY2h0IGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMgYnVpbHRpbi9scy1yZW1vdGUuYzo1NQogbXNnaWQgImV4ZWMiCiBtc2dzdHIgIlByb2dyYW1tIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUyIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTQKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTQgYnVpbHRpbi9scy1yZW1vdGUuYzo1NgogbXNnaWQgInBhdGggb2YgZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUgaG9zdCIKIG1zZ3N0ciAiUGZhZCB6dSBcImdpdC11cGxvYWQtcGFja1wiIGF1ZiBkZXIgR2VnZW5zZWl0ZSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAogbXNnaWQgImxpbWl0IHRvIHRhZ3MiCiBtc2dzdHIgImF1ZiBUYWdzIGVpbnNjaHLDpG5rZW4iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTcKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTkKIG1zZ2lkICJsaW1pdCB0byBoZWFkcyIKIG1zZ3N0ciAiYXVmIEJyYW5jaGVzIGVpbnNjaHLDpG5rZW4iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTgKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAKIG1zZ2lkICJkbyBub3Qgc2hvdyBwZWVsZWQgdGFncyIKIG1zZ3N0ciAia2VpbmUgVGFncyBhbnplaWdlbiwgZGllIGFuZGVyZSBUYWdzIGVudGhhbHRlbiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICJ1cmwuPEJhc2lzPi5pbnN0ZWFkT2YgYmVyw7xja3NpY2h0aWdlbiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NAogbXNnaWQgImV4aXQgd2l0aCBleGl0IGNvZGUgMiBpZiBubyBtYXRjaGluZyByZWZzIGFyZSBmb3VuZCIKIG1zZ3N0ciAiIgogIm1pdCBSw7xja2tlaHJ3ZXJ0IDIgYmVlbmRlbiwgd2VubiBrZWluZSDDvGJlcmVpbnN0aW1tZW5kZW4gUmVmZXJlbnplblxuIgogImdlZnVuZGVuIHd1cmRlbiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NgogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgotbXNnc3RyICJ6dXPDpHR6bGljaCBkaWUgYXVmIGR1cmNoIGRpZXNlcyBPYmpla3QgdmVyd2llc2VuZSBSZWZlcmVuemVuIGFuemVpZ2VuIgorbXNnc3RyICJ6dXPDpHR6bGljaCB6dW0gT2JqZWt0IGRpZSBkYXJhdWYgdmVyd2Vpc2VuZGVuIFJlZmVyZW56ZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOQogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBscy10cmVlIFs8T3B0aW9uZW4+XSA8Q29tbWl0LVJlZmVyZW56PiBbPFBmYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgIm51ciBWZXJ6ZWljaG5pc3NlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOQogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJ0cmVlcyIKIG1zZ3N0ciAiUmVrdXJzaW9uIGluIFVudGVydmVyemVpY2huaXNzZW4gZHVyY2hmw7xocmVuIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMQogbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCiBtc2dzdHIgIlZlcnplaWNobmlzc2UgYmVpIFJla3Vyc2lvbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTMzCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzQKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJFaW50csOkZ2UgbWl0IE5VTC1CeXRlIGFic2NobGllw59lbiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdCBzaXplIgogbXNnc3RyICJPYmpla3RncsO2w59lIGVpbnNjaGxpZcOfZW4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNiBidWlsdGluL2xzLXRyZWUuYzoxMzgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNyBidWlsdGluL2xzLXRyZWUuYzoxMzkKIG1zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgogbXNnc3RyICJudXIgRGF0ZWluYW1lbiBhdWZsaXN0ZW4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQorIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCiBtc2dpZCAidXNlIGZ1bGwgcGF0aCBuYW1lcyIKIG1zZ3N0ciAidm9sbHN0w6RuZGlnZSBQZmFkbmFtZW4gdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0NAogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAiIgogImRhcyBnZXNhbXRlIFZlcnplaWNobmlzIGF1Zmxpc3RlbjsgbmljaHQgbnVyIGRhcyBha3R1ZWxsZSBWZXJ6ZWljaG5pcyAiCiAiKGltcGxpemllcnQgLS1mdWxsLW5hbWUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDYKLW1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKLW1zZ3N0ciAiZ2l0IG1lcmdlIFs8T3B0aW9uZW4+XSBbPENvbW1pdD4uLi5dIgorIzogYnVpbHRpbi9tYWlsc3BsaXQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKK21zZ3N0ciAiTGVlcmUgbWJveDogJyVzJyIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjQ3Ci1tc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCi1tc2dzdHIgImdpdCBtZXJnZSBbPE9wdGlvbmVuPl0gPEJlc2NocmVpYnVuZz4gSEVBRCA8Q29tbWl0PiIKK21zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKK21zZ3N0ciAiZ2l0IG1lcmdlIFs8T3B0aW9uZW4+XSBbPENvbW1pdD4uLi5dIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKQEAgLTk3NzUsMzMgKzEwMTUyLDMzIEBACiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIlZlcmbDvGdiYXJlIGJlbnV0emVyZGVmaW5pZXJ0ZSBTdHJhdGVnaWVuIHNpbmQ6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyNworIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMzQKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJrZWluZSBadXNhbW1lbmZhc3N1bmcgZGVyIFVudGVyc2NoaWVkZSBhbSBTY2hsdXNzIGRlcyBNZXJnZXMgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTMwCisjOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNwogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAiZWluZSBadXNhbW1lbmZhc3N1bmcgZGVyIFVudGVyc2NoaWVkZSBhbSBTY2hsdXNzIGRlcyBNZXJnZXMgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTMzCisjOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjE0MAogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIihTeW5vbnltIGbDvHIgLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTQzCiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAiKGjDtmNoc3RlbnMgPG4+KSBFaW50csOkZ2Ugdm9uIFwic2hvcnRsb2dcIiB6dXIgQmVzY2hyZWlidW5nIGRlcyBNZXJnZS1Db21taXRzICIKICJoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQ2CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgImVpbmVuIGVpbnplbG5lbiBDb21taXQgYW5zdGF0dCBlaW5lcyBNZXJnZXMgZXJ6ZXVnZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDggYnVpbHRpbi9wdWxsLmM6MTQyCisjOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0OQogbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKIG1zZ3N0ciAiZWluZW4gQ29tbWl0IGR1cmNoZsO8aHJlbiwgd2VubiBkZXIgTWVyZ2UgZXJmb2xncmVpY2ggd2FyIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTQ1CisjOiBidWlsdGluL21lcmdlLmM6MjEwIGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAiQmVhcmJlaXR1bmcgZGVyIEJlc2NocmVpYnVuZyB2b3IgZGVtIENvbW1pdCIKIApAQCAtOTgwOSwyOCArMTAxODYsMjggQEAKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICJWb3JzcHVsZW4gZXJsYXViZW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMyBidWlsdGluL3B1bGwuYzoxNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMgYnVpbHRpbi9wdWxsLmM6MTU4CiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAiYWJicmVjaGVuLCB3ZW5uIGtlaW4gVm9yc3B1bGVuIG3DtmdsaWNoIGlzdCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNyBidWlsdGluL3B1bGwuYzoxNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICJkZW4gZ2VuYW5udGVuIENvbW1pdCBhdWYgZWluZSBnw7xsdGlnZSBHUEctU2lnbmF0dXIgw7xiZXJwcsO8ZmVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4Ci0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzYgYnVpbHRpbi9wdWxsLmM6MTY1CisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJTdHJhdGVnaWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTU5CisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE2NgogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAienUgdmVyd2VuZGVuZGUgTWVyZ2UtU3RyYXRlZ2llIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2MgorIzogYnVpbHRpbi9tZXJnZS5jOjIyMCBidWlsdGluL3B1bGwuYzoxNjkKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIk9wdGlvbj1XZXJ0IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE2MworIzogYnVpbHRpbi9tZXJnZS5jOjIyMSBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJPcHRpb24gZsO8ciBhdXNnZXfDpGhsdGUgTWVyZ2UtU3RyYXRlZ2llIgogCkBAIC05ODQ3LDcgKzEwMjI0LDcgQEAKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiZGVuIHNpY2ggaW0gR2FuZ2UgYmVmaW5kbGljaGVuIE1lcmdlIGZvcnRzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzEgYnVpbHRpbi9wdWxsLmM6MTcwCisjOiBidWlsdGluL21lcmdlLmM6MjMxIGJ1aWx0aW4vcHVsbC5jOjE3NwogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAiZXJsYXViZSBkYXMgWnVzYW1tZW5mw7xocmVuIHZvbiBuaWNodCB6dXNhbW1lbmjDpG5nZW5kZW4gSGlzdG9yaWVuIgogCkBAIC05ODkyLDMzICsxMDI2OSwzMyBAQAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgU3RyaW5nOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY1NgorIzogYnVpbHRpbi9tZXJnZS5jOjY1NwogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIkVzIHdpcmQgbnVyIGRlciBNZXJnZSB2b24gendlaSBCcmFuY2hlcyBiZWhhbmRlbHQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjcwCisjOiBidWlsdGluL21lcmdlLmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgIlVuYmVrYW5udGUgT3B0aW9uIGbDvHIgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njg1CisjOiBidWlsdGluL21lcmdlLmM6Njg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKIG1zZ3N0ciAia29ubnRlICVzIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczNworIzogYnVpbHRpbi9tZXJnZS5jOjczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgImtvbm50ZSBuaWNodCB2b24gJyVzJyBsZXNlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc0NgorIzogYnVpbHRpbi9tZXJnZS5jOjc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIiIKICJNZXJnZSB3dXJkZSBuaWNodCBjb21taXR0ZXQ7IGJlbnV0emVuIFNpZSAnZ2l0IGNvbW1pdCcsIHVtIGRlbiBNZXJnZSAiCiAiYWJ6dXNjaGxpZcOfZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtOTkzNCw4MSArMTAzMTEsNzEgQEAKICJaZWlsZW4gYmVnaW5uZW5kIG1pdCAnJWMnIHdlcmRlbiBpZ25vcmllcnQsIHVuZCBlaW5lIGxlZXJlIEJlc2NocmVpYnVuZ1xuIgogImJyaWNodCBkZW4gQ29tbWl0IGFiLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6Nzc3CiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICJMZWVyZSBDb21taXQtQmVzY2hyZWlidW5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk2CisjOiBidWlsdGluL21lcmdlLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAiV3VuZGVyYmFyLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODUxCisjOiBidWlsdGluL21lcmdlLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKICJBdXRvbWF0aXNjaGVyIE1lcmdlIGZlaGxnZXNjaGxhZ2VuOyBiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBjb21taXR0ZW4gIgogIlNpZSBkYW5uIGRhcyBFcmdlYm5pcy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg2NwotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKLW1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBDb21taXQiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODkKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIlNpZSBiZWZpbmRlbiBzaWNoIGF1ZiBrZWluZW0gQnJhbmNoLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkxMAorIzogYnVpbHRpbi9tZXJnZS5jOjg5MQogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2VpbiBSZW1vdGUtUmVwb3NpdG9yeSBmw7xyIGRlbiBha3R1ZWxsZW4gQnJhbmNoLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkxMgorIzogYnVpbHRpbi9tZXJnZS5jOjg5MwogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIkVzIGlzdCBrZWluIFN0YW5kYXJkLVVwc3RyZWFtLUJyYW5jaCBmw7xyIGRlbiBha3R1ZWxsZW4gQnJhbmNoIGRlZmluaWVydC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAiS2VpbiBSZW1vdGUtVHJhY2tpbmctQnJhbmNoIGbDvHIgJXMgdm9uICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTY0CisjOiBidWlsdGluL21lcmdlLmM6OTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCiBtc2dzdHIgIkZlaGxlcmhhZnRlciBXZXJ0ICclcycgaW4gVW1nZWJ1bmdzdmFyaWFibGUgJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCi1tc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHNjaGxpZcOfZW4iCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDY1CisjOiBidWlsdGluL21lcmdlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgIm5pY2h0cyB3YXMgd2lyIGluICVzIHp1c2FtbWVuZsO8aHJlbiBrw7ZubmVuOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIm5pY2h0cyB3YXMgd2lyIHp1c2FtbWVuZsO8aHJlbiBrw7ZubmVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2NworIzogYnVpbHRpbi9tZXJnZS5jOjExNDUKIG1zZ2lkICItLWFib3J0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWFib3J0IGFremVwdGllcnQga2VpbmUgQXJndW1lbnRlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE3MQorIzogYnVpbHRpbi9tZXJnZS5jOjExNDkKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCi1tc2dzdHIgIkVzIGdpYnQga2VpbmVuIE1lcmdlIHp1bSBBYmJyZWNoZW4gKE1FUkdFX0hFQUQgZmVobHQpIgorbXNnc3RyICJFcyBnaWJ0IGtlaW5lbiBNZXJnZSBhYnp1YnJlY2hlbiAoTUVSR0VfSEVBRCBmZWhsdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgzCisjOiBidWlsdGluL21lcmdlLmM6MTE2MQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUgZXJ3YXJ0ZXQga2VpbmUgQXJndW1lbnRlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE4NworIzogYnVpbHRpbi9tZXJnZS5jOjExNjUKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIkVzIGlzdCBrZWluZSBNZXJnZSBpbSBHYW5nZSAoTUVSR0VfSEVBRCBmZWhsdCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIwMworIzogYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtMTAwMTYsNyArMTAzODMsNyBAQAogIlNpZSBoYWJlbiBJaHJlbiBNZXJnZSBuaWNodCBhYmdlc2NobG9zc2VuIChNRVJHRV9IRUFEIGV4aXN0aWVydCkuXG4iCiAiQml0dGUgY29tbWl0dGVuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuLCBiZXZvciBTaWUgZGVuIE1lcmdlIGF1c2bDvGhyZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMAorIzogYnVpbHRpbi9tZXJnZS5jOjExODgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtMTAwMjQsMTYzICsxMDM5MSwxNjMgQEAKICJTaWUgaGFiZW4gXCJjaGVycnktcGlja1wiIG5pY2h0IGFiZ2VzY2hsb3NzZW4gKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RpZXJ0KS5cbiIKICJCaXR0ZSBjb21taXR0ZW4gU2llIElocmUgw4RuZGVydW5nZW4sIGJldm9yIFNpZSBkZW4gTWVyZ2UgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjEzCisjOiBidWlsdGluL21lcmdlLmM6MTE5MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogIlNpZSBoYWJlbiBcImNoZXJyeS1waWNrXCIgbmljaHQgYWJnZXNjaGxvc3NlbiAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGllcnQpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjAwCiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIlNpZSBrw7ZubmVuIC0tc3F1YXNoIG5pY2h0IG1pdCAtLW5vLWZmIGtvbWJpbmllcmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA4CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIktlaW4gQ29tbWl0IGFuZ2VnZWJlbiB1bmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gaXN0IG5pY2h0IGdlc2V0enQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0NworIzogYnVpbHRpbi9tZXJnZS5jOjEyMjUKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiIgogIkJpbiBhdWYgZWluZW0gQ29tbWl0LCBkZXIgbm9jaCBnZWJvcmVuIHdpcmQ7IGthbm4gXCJzcXVhc2hcIiBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI3CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKICJOaWNodCB2b3J6dXNwdWxlbmRlciBDb21taXQga2FubiBuaWNodCBpbiBlaW5lbSBsZWVyZW4gQnJhbmNoIHZlcndlbmRldCAiCiAid2VyZGVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0gbmljaHRzIHdhcyB3aXIgenVzYW1tZW5mw7xocmVuIGvDtm5uZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU2CisjOiBidWlsdGluL21lcmdlLmM6MTIzNAogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkthbm4gbnVyIGV4YWt0IGVpbmVuIENvbW1pdCBpbiBlaW5lbSBsZWVyZW4gQnJhbmNoIHp1c2FtbWVuZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEyCisjOiBidWlsdGluL21lcmdlLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAiQ29tbWl0ICVzIGhhdCBlaW5lIG5pY2h0IHZlcnRyYXVlbnN3w7xyZGlnZSBHUEctU2lnbmF0dXIsIGFuZ2VibGljaCB2b24gJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxNQorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIkNvbW1pdCAlcyBoYXQgZWluZSB1bmfDvGx0aWdlIEdQRy1TaWduYXR1ciwgYW5nZWJsaWNoIHZvbiAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzE4CisjOiBidWlsdGluL21lcmdlLmM6MTI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICJDb21taXQgJXMgaGF0IGtlaW5lIEdQRy1TaWduYXR1ci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzIxCisjOiBidWlsdGluL21lcmdlLmM6MTI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkNvbW1pdCAlcyBoYXQgZWluZSBnw7xsdGlnZSBHUEctU2lnbmF0dXIgdm9uICVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgzCisjOiBidWlsdGluL21lcmdlLmM6MTMzOQogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIlZlcndlaWdlcmUgZGVuIE1lcmdlIHZvbiBuaWNodCB6dXNhbW1lbmjDpG5nZW5kZW4gSGlzdG9yaWVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ4CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKIG1zZ3N0ciAiQmVyZWl0cyBha3R1ZWxsLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICJBa3R1YWxpc2llcmUgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQzCisjOiBidWlsdGluL21lcmdlLmM6MTM5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiUHJvYmllcmUgd2lya2xpY2ggdHJpdmlhbGVuIFwiaW4taW5kZXhcIi1NZXJnZSAuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIk5laW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc1CisjOiBidWlsdGluL21lcmdlLmM6MTQzMQogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZS4gWWVlYWghIgogbXNnc3RyICJCZXJlaXRzIGFrdHVlbGwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MzcKIG1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCiBtc2dzdHIgIlZvcnNwdWxlbiBuaWNodCBtw7ZnbGljaCwgYnJlY2hlIGFiLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MDQgYnVpbHRpbi9tZXJnZS5jOjE1ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDYwIGJ1aWx0aW4vbWVyZ2UuYzoxNTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICJSw7xja2xhdWYgZGVzIFZlcnplaWNobmlzc2VzIGJpcyB6dW0gVXJzcHJ1bmcgLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTA4CisjOiBidWlsdGluL21lcmdlLmM6MTQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAiUHJvYmllcmUgTWVyZ2UtU3RyYXRlZ2llICVzIC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NAorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIktlaW5lIE1lcmdlLVN0cmF0ZWdpZSBiZWhhbmRlbHQgZGllc2VuIE1lcmdlLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NgorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIk1lcmdlIG1pdCBTdHJhdGVnaWUgJXMgZmVobGdlc2NobGFnZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTg1CisjOiBidWlsdGluL21lcmdlLmM6MTU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiQmVudXR6ZW4gU2llIFwiJXNcIiwgdW0gZGllIEF1ZmzDtnN1bmcgcGVyIEhhbmQgdm9yenViZXJlaXRlbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1OTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgIiIKICJBdXRvbWF0aXNjaGVyIE1lcmdlIGFiZ2VzY2hsb3NzZW47IGhhbHRlLCB3aWUgZ2V3w7xuc2NodCwgdm9yIGRlbSBDb21taXQgYW5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gPENvbW1pdD4gPENvbW1pdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPENvbW1pdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPENvbW1pdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMwogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPENvbW1pdD4gPENvbW1pdD4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPFJlZmVyZW56PiBbPENvbW1pdD5dIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKIG1zZ3N0ciAiQXVzZ2FiZSBhbGxlciBnZW1laW5zYW1lbiBWb3Jnw6RuZ2VyLUNvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIwCiBtc2dpZCAiZmluZCBhbmNlc3RvcnMgZm9yIGEgc2luZ2xlIG4td2F5IG1lcmdlIgogbXNnc3RyICJWb3Jnw6RuZ2VyLUNvbW1pdHMgZsO8ciBlaW5lbiBlaW56ZWxuZW4gbi1XZWdlLU1lcmdlIGZpbmRlbiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAiQ29tbWl0cyBhdWZsaXN0ZW4sIGRpZSBuaWNodCBkdXJjaCBBbmRlcmUgZXJyZWljaGJhciBzaW5kIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjMKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNAogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKLW1zZ3N0ciAiaXN0IGRlciBFcnN0ZSBlaW4gVm9yZ8Okbmdlci1Db21taXQgdm9uIGRlbSBBbmRlcmVuPyIKK21zZ3N0ciAiaXN0IGRlciBFcnN0ZSBlaW4gVm9yZ8Okbmdlci1Db21taXQgZGVzIEFuZGVyZW4/IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNgogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICI8Q29tbWl0PiBmaW5kZW4sIHZvbiB3byBSZWZsb2cgdm9uIDxSZWZlcmVuej4gYWJnZXNwYWx0ZW4gd3VyZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjgKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjkKIG1zZ2lkICIiCiAiZ2l0IG1lcmdlLWZpbGUgWzxvcHRpb25zPl0gWy1MIDxuYW1lMT4gWy1MIDxvcmlnPiBbLUwgPG5hbWUyPl1dXSA8ZmlsZTE+ICIKICI8b3JpZy1maWxlPiA8ZmlsZTI+IgpAQCAtMTAyNTUsMTU4ICsxMDYyMiwxNjIgQEAKIG1zZ2lkICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogbXNnc3RyICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1MgorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMKIG1zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKIG1zZ3N0ciAiRWluZ2FiZSBpc3QgZHVyY2ggTlVMLVplaWNoZW4gYWJnZXNjaGxvc3NlbiIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMgYnVpbHRpbi93cml0ZS10cmVlLmM6MjQKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU0IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI1CiBtc2dpZCAiYWxsb3cgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICJmZWhsZW5kZSBPYmpla3RlIGVybGF1YmVuIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NAorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgImRpZSBFcnN0ZWxsdW5nIHZvbiBtZWhyIGFscyBlaW5lbSBcIlRyZWVcIi1PYmpla3QgZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNgorIzogYnVpbHRpbi9tdi5jOjE3CiBtc2dpZCAiZ2l0IG12IFs8b3B0aW9ucz5dIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBbPE9wdGlvbmVuPl0gPFF1ZWxsZT4uLi4gPFppZWw+IgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgIlZlcnplaWNobmlzICVzIGlzdCB6dW0gQ29tbWl0IHZvcmdlbWVya3QgdW5kIGtlaW4gU3VibW9kdWw/IgogCi0jOiBidWlsdGluL212LmM6ODQgYnVpbHRpbi9ybS5jOjI5MAorIzogYnVpbHRpbi9tdi5jOjg1IGJ1aWx0aW4vcm0uYzoyOTAKIG1zZ2lkICJQbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgogIkJpdHRlIG1lcmtlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiBpbiAuZ2l0bW9kdWxlcyB6dW0gQ29tbWl0IHZvciBvZGVyICIKICJiZW51dHplblxuIgogIlNpZSBcInN0YXNoXCIsIHVtIGZvcnR6dWZhaHJlbi4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDIKKyM6IGJ1aWx0aW4vbXYuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBpbiBpbmRleCIKIG1zZ3N0ciAiJS4qcyBpc3QgenVtIENvbW1pdCB2b3JnZW1lcmt0IgogCi0jOiBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL212LmM6MTI1CiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJWZXJzY2hpZWJlbi9VbWJlbmVubmVuIGVyendpbmdlbiwgYXVjaCB3ZW5uIGRhcyBaaWVsIGV4aXN0aWVydCIKIAotIzogYnVpbHRpbi9tdi5jOjEyNQorIzogYnVpbHRpbi9tdi5jOjEyNgogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBWZXJzY2hpZWJlbiBvZGVyIFVtYmVuZW5uZW4gw7xiZXJzcHJpbmdlbiIKIAotIzogYnVpbHRpbi9tdi5jOjE2NworIzogYnVpbHRpbi9tdi5jOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiAnJXMnIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiWmllbCAnJXMnIGlzdCBrZWluIFZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL212LmM6MTc4CisjOiBidWlsdGluL212LmM6MTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAiUHLDvGZlIFVtYmVuZW5udW5nIHZvbiAnJXMnIG5hY2ggJyVzJ1xuIgogCi0jOiBidWlsdGluL212LmM6MTgyCisjOiBidWlsdGluL212LmM6MTgzCiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAidW5nw7xsdGlnZSBRdWVsbGUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODUKKyM6IGJ1aWx0aW4vbXYuYzoxODYKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICJrYW5uIFZlcnplaWNobmlzIG5pY2h0IGluIHNpY2ggc2VsYnN0IHZlcnNjaGllYmVuIgogCi0jOiBidWlsdGluL212LmM6MTg4CisjOiBidWlsdGluL212LmM6MTg5CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAia2FubiBWZXJ6ZWljaG5pcyBuaWNodCDDvGJlciBEYXRlaSB2ZXJzY2hpZWJlbiIKIAotIzogYnVpbHRpbi9tdi5jOjE5NworIzogYnVpbHRpbi9tdi5jOjE5OAogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgIlF1ZWxsdmVyemVpY2huaXMgaXN0IGxlZXIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjIKKyM6IGJ1aWx0aW4vbXYuYzoyMjMKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICJuaWNodCB1bnRlciBWZXJzaW9uc2tvbnRyb2xsZSIKIAotIzogYnVpbHRpbi9tdi5jOjIyNQorIzogYnVpbHRpbi9tdi5jOjIyNgogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAiWmllbCBleGlzdGllcnQgYmVyZWl0cyIKIAotIzogYnVpbHRpbi9tdi5jOjIzMworIzogYnVpbHRpbi9tdi5jOjIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICLDvGJlcnNjaHJlaWJlICclcyciCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzYKKyM6IGJ1aWx0aW4vbXYuYzoyMzcKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICJLYW5uIG5pY2h0IMO8YmVyc2NocmVpYmVuIgogCi0jOiBidWlsdGluL212LmM6MjM5CisjOiBidWlsdGluL212LmM6MjQwCiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICJtZWhyZXJlIFF1ZWxsZW4gZsO8ciBkYXMgc2VsYmUgWmllbCIKIAotIzogYnVpbHRpbi9tdi5jOjI0MQorIzogYnVpbHRpbi9tdi5jOjI0MgogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiWmllbHZlcnplaWNobmlzIGV4aXN0aWVydCBuaWNodCIKIAotIzogYnVpbHRpbi9tdi5jOjI0OAorIzogYnVpbHRpbi9tdi5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIFF1ZWxsZT0lcywgWmllbD0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjI2OQorIzogYnVpbHRpbi9tdi5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICJCZW5lbm5lICVzIG5hY2ggJXMgdW1cbiIKIAotIzogYnVpbHRpbi9tdi5jOjI3NSBidWlsdGluL3JlbW90ZS5jOjcxMCBidWlsdGluL3JlcGFjay5jOjM4NAorIzogYnVpbHRpbi9tdi5jOjI3NiBidWlsdGluL3JlbW90ZS5jOjcxMSBidWlsdGluL3JlcGFjay5jOjM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiVW1iZW5lbm51bmcgdm9uICclcycgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMzgKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPE9wdGlvbmVuPl0gPENvbW1pdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMzkKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1hbGwiCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPE9wdGlvbmVuPl0gLS1hbGwiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNDAKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8T3B0aW9uZW4+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJudXIgTmFtZW4gYW56ZWlnZW4gKGtlaW5lIFNIQS0xKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5NgogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAibnVyIFRhZ3MgdmVyd2VuZGVuLCB1bSBkaWUgQ29tbWl0cyB6dSBiZW5lbm5lbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJudXIgUmVmZXJlbnplbiB2ZXJ3ZW5kZW4gZGllIDxNdXN0ZXI+IGVudHNwcmVjaGVuIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAwCittc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICJpZ25vcmllcmUgUmVmZXJlbnplbiBkaWUgPE11c3Rlcj4gZW50c3ByZWNoZW4iCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDIKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICJhbGxlIENvbW1pdHMgYXVmbGlzdGVuLCBkaWUgdm9uIGFsbGVuIFJlZmVyZW56ZW4gZXJyZWljaGJhciBzaW5kIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAzCiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICJ2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgIkF1c2dhYmUgdm9uIGB1bmRlZmluaWVydGVuYCBOYW1lbiBlcmxhdWJlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzI0CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDEwCiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgIlRhZ3MgaW4gZGVyIEVpbmdhYmUgZGVyZWZlcmVuemllcmVuIChpbnRlcm5lIFZlcndlbmR1bmcpIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxOb3Rpei1SZWZlcmVuej5dIFtsaXN0IFs8T2JqZWt0Pl1dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNwogbXNnaWQgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBhZGQgWy1mXSBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+ICIKICJ8ICgtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKQEAgLTEwNDE0LDEyICsxMDc4NSwxMiBAQAogImdpdCBub3RlcyBbLS1yZWYgPE5vdGl6LVJlZmVyZW56Pl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSAiCiAiPEJlc2NocmVpYnVuZz4gfCAtRiA8RGF0ZWk+IHwgKC1jIHwgLUMpIDxPYmpla3Q+XSBbPE9iamVrdD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGNvcHkgWy1mXSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8Tm90aXotUmVmZXJlbno+XSBjb3B5IFstZl0gPHZvbi1PYmpla3Q+IDxuYWNoLU9iamVrdD4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjI5CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgogIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKQEAgLTEwNDI3LDIwNyArMTA3OTgsMjA4IEBACiAiZ2l0IG5vdGVzIFstLXJlZiA8Tm90aXotUmVmZXJlbno+XSBhcHBlbmQgWy0tYWxsb3ctZW1wdHldIFstbSA8QmVzY2hyZWlidW5nPiAiCiAifCAtRiA8RGF0ZWk+IHwgKC1jIHwgLUMpIDxPYmpla3Q+XSBbPE9iamVrdD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGVkaXQgWy0tYWxsb3ctZW1wdHldIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPE5vdGl6LVJlZmVyZW56Pl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxPYmpla3Q+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwCisjOiBidWlsdGluL25vdGVzLmM6MzEKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPE5vdGl6LVJlZmVyZW56Pl0gc2hvdyBbPE9iamVrdD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMgogbXNnaWQgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBtZXJnZSBbLXYgfCAtcV0gWy1zIDxzdHJhdGVneT5dIDxub3Rlcy1yZWY+IgogbXNnc3RyICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8Tm90aXotUmVmZXJlbno+XSBtZXJnZSBbLXYgfCAtcV0gWy1zIDxTdHJhdGVnaWU+XSA8Tm90aXotIgogIlJlZmVyZW56PiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMyCisjOiBidWlsdGluL25vdGVzLmM6MzMKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNAogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNQogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHJlbW92ZSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxOb3Rpei1SZWZlcmVuej5dIHJlbW92ZSBbPE9iamVrdD4uLi5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHBydW5lIFstbiB8IC12XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8Tm90aXotUmVmZXJlbno+XSBwcnVuZSBbLW4gfCAtdl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8Tm90aXotUmVmZXJlbno+XSBnZXQtcmVmIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MgogbXNnaWQgImdpdCBub3RlcyBbbGlzdCBbPG9iamVjdD5dXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFtsaXN0IFs8T2JqZWt0Pl1dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NwogbXNnaWQgImdpdCBub3RlcyBhZGQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGFkZCBbPE9wdGlvbmVuPl0gWzxPYmpla3Q+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxCisjOiBidWlsdGluL25vdGVzLmM6NTIKIG1zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPE9wdGlvbmVuPl0gPHZvbi1PYmpla3Q+IDxuYWNoLU9iamVrdD4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzCiBtc2dpZCAiZ2l0IG5vdGVzIGNvcHkgLS1zdGRpbiBbPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0Pl0uLi4iCiBtc2dzdHIgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzx2b24tT2JqZWt0PiA8bmFjaC1PYmpla3Q+XS4uLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU3CisjOiBidWlsdGluL25vdGVzLmM6NTgKIG1zZ2lkICJnaXQgbm90ZXMgYXBwZW5kIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBhcHBlbmQgWzxPcHRpb25lbj5dIFs8T2JqZWt0Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjYzCiBtc2dpZCAiZ2l0IG5vdGVzIGVkaXQgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGVkaXQgWzxPYmpla3Q+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY3CisjOiBidWlsdGluL25vdGVzLmM6NjgKIG1zZ2lkICJnaXQgbm90ZXMgc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgc2hvdyBbPE9iamVrdD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MwogbXNnaWQgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIFs8T3B0aW9uZW4+XSA8Tm90aXotUmVmZXJlbno+IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NAogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc0CisjOiBidWlsdGluL25vdGVzLmM6NzUKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxPcHRpb25lbj5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MAogbXNnaWQgImdpdCBub3RlcyByZW1vdmUgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIHJlbW92ZSBbPE9iamVrdD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NQogbXNnaWQgImdpdCBub3RlcyBwcnVuZSBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIHBydW5lIFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5CisjOiBidWlsdGluL25vdGVzLmM6OTAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1CiBtc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKIG1zZ3N0ciAiU2NocmVpYmVuL0JlYXJiZWl0ZW4gZGVyIE5vdGl6ZW4gZsO8ciBkYXMgZm9sZ2VuZGUgT2JqZWt0OiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE0NworIzogYnVpbHRpbi9ub3Rlcy5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAia29ubnRlICdzaG93JyBmw7xyIE9iamVrdCAnJXMnIG5pY2h0IHN0YXJ0ZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNTIKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnc2hvdycgb3V0cHV0IgogbXNnc3RyICJLb25udGUgQXVzZ2FiZSB2b24gJ3Nob3cnIG5pY2h0IGxlc2VuLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgImtvbm50ZSAnc2hvdycgZsO8ciBPYmpla3QgJyVzJyBuaWNodCBhYnNjaGxpZcOfZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxOTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxOTUKIG1zZ2lkICJwbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCiBtc2dzdHIgIiIKICJCaXR0ZSBsaWVmZXJuIFNpZSBkaWUgTm90aXotSW5oYWx0ZSB1bnRlciBWZXJ3ZW5kdW5nIGRlciBPcHRpb24gLW0gb2RlciAtRi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgIktvbm50ZSBOb3Rpei1PYmpla3QgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjA1CisjOiBidWlsdGluL25vdGVzLmM6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICJEaWUgTm90aXotSW5oYWx0ZSB3dXJkZW4gaW4gJXMgYmVsYXNzZW4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgImthbm4gJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ2MworIzogYnVpbHRpbi9ub3Rlcy5jOjIzNiBidWlsdGluL3RhZy5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgImtvbm50ZSAnJXMnIG5pY2h0IMO2ZmZuZW4gb2RlciBsZXNlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NCBidWlsdGluL25vdGVzLmM6MzA1IGJ1aWx0aW4vbm90ZXMuYzozMDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzIgYnVpbHRpbi9ub3Rlcy5jOjQyNyBidWlsdGluL25vdGVzLmM6NTEzCi0jOiBidWlsdGluL25vdGVzLmM6NTE4IGJ1aWx0aW4vbm90ZXMuYzo1OTYgYnVpbHRpbi9ub3Rlcy5jOjY1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NSBidWlsdGluL25vdGVzLmM6MzA2IGJ1aWx0aW4vbm90ZXMuYzozMDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzUgYnVpbHRpbi9ub3Rlcy5jOjQzMCBidWlsdGluL25vdGVzLmM6NTE2CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTkgYnVpbHRpbi9ub3Rlcy5jOjY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYWxzIGfDvGx0aWdlIFJlZmVyZW56IGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiBkZXMgT2JqZWt0ZXMgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgogbXNnc3RyICJLYW5uIE5vdGl6LURhdGVuIG5pY2h0IHZvbiBOaWNodC1CbG9iIE9iamVrdCAnJXMnIGxlc2VuLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkZlaGxlcmhhZnRlIEVpbmdhYmV6ZWlsZTogJyVzJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEtvcGllcmVuIGRlciBOb3RpemVuIHZvbiAnJXMnIG5hY2ggJyVzJyIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKLSMuIGdpdCBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KLSM6IGJ1aWx0aW4vbm90ZXMuYzozNDUKKyMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhIGdpdAorIy4gbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCisjLgorIzogYnVpbHRpbi9ub3Rlcy5jOjM0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIiIKICJBdXNmw7xocnVuZyB2b24gJXMgYXVmIE5vdGl6ZW4gaW4gJXMgKGF1w59lcmhhbGIgdm9uIHJlZnMvbm90ZXMvKSAiCiAienVyw7xja2dld2llc2VuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgotIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCisjOiBidWlsdGluL25vdGVzLmM6MzY4IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjUxMSBidWlsdGluL25vdGVzLmM6NTg3IGJ1aWx0aW4vbm90ZXMuYzo2NTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQgYnVpbHRpbi9ub3Rlcy5jOjk1MSBidWlsdGluL25vdGVzLmM6OTcyCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAienUgdmllbGUgUGFyYW1ldGVyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo2NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODEgYnVpbHRpbi9ub3Rlcy5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgogbXNnc3RyICJLZWluZSBOb3RpeiBmw7xyIE9iamVrdCAlcyBnZWZ1bmRlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAiTm90aXppbmhhbHRlIGFscyBaZWljaGVua2V0dGUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgIk5vdGl6aW5oYWx0ZSBpbiBlaW5lciBEYXRlaSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgIldpZWRlcnZlcndlbmR1bmcgdW5kIEJlYXJiZWl0dW5nIGRlcyBhbmdlZ2ViZW5lbiBOb3Rpei1PYmpla3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCisjOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo1NzQKIG1zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgIldpZWRlcnZlcndlbmR1bmcgZGVzIGFuZ2VnZWJlbmVuIE5vdGl6LU9iamVrdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo1NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTQgYnVpbHRpbi9ub3Rlcy5jOjU3NwogbXNnaWQgImFsbG93IHN0b3JpbmcgZW1wdHkgbm90ZSIKIG1zZ3N0ciAiU3BlaWNoZXJuIGxlZXJlciBOb3RpeiBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NDgzCisjOiBidWlsdGluL25vdGVzLmM6NDE1IGJ1aWx0aW4vbm90ZXMuYzo0ODYKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICJleGlzdGllcmVuZGUgTm90aXplbiBlcnNldHplbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNworIzogYnVpbHRpbi9ub3Rlcy5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTEwNjM2LDMxICsxMTAwOCwzMSBAQAogIktvbm50ZSBOb3RpemVuIG5pY2h0IGhpbnp1ZsO8Z2VuLiBFeGlzdGllcmVuZGUgTm90aXplbiBmw7xyIE9iamVrdCAlcyAiCiAiZ2VmdW5kZW4uIFZlcndlbmRlbiBTaWUgJy1mJywgdW0gZGllIGV4aXN0aWVyZW5kZW4gTm90aXplbiB6dSDDvGJlcnNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NTIgYnVpbHRpbi9ub3Rlcy5jOjUzMQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1NSBidWlsdGluL25vdGVzLmM6NTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiw5xiZXJzY2hyZWliZSBleGlzdGllcmVuZGUgTm90aXplbiBmw7xyIE9iamVrdCAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo2MjQgYnVpbHRpbi9ub3Rlcy5jOjg4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2NiBidWlsdGluL25vdGVzLmM6NjI2IGJ1aWx0aW4vbm90ZXMuYzo4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIkVudGZlcm5lIE5vdGl6IGbDvHIgT2JqZWt0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODcKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiT2JqZWt0ZSB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODkKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAiIgogIktvbmZpZ3VyYXRpb24gZsO8ciA8QmVmZWhsPiB6dW0gVW1zY2hyZWliZW4gdm9uIENvbW1pdHMgbGFkZW4gKGltcGxpemllcnQgLS0iCiAic3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTA0CisjOiBidWlsdGluL25vdGVzLmM6NTA3CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJ6dSB3ZW5pZyBQYXJhbWV0ZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTA2NjksMTIgKzExMDQxLDEyIEBACiAiS2FubiBOb3RpemVuIG5pY2h0IGtvcGllcmVuLiBFeGlzdGllcmVuZGUgTm90aXplbiBmw7xyIE9iamVrdCAlcyBnZWZ1bmRlbi4gIgogIlZlcndlbmRlbiBTaWUgJy1mJywgdW0gZGllIGV4aXN0aWVyZW5kZW4gTm90aXplbiB6dSDDvGJlcnNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgIktlaW5lIE5vdGl6ZW4gZsO8ciBRdWVsbC1PYmpla3QgJXMuIEtvcGllIG5pY2h0IG3DtmdsaWNoLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTEwNjgzLDUyICsxMTA1NSw1MiBAQAogIkRpZSBPcHRpb25lbiAtbS8tRi8tYy8tQyBzaW5kIGbDvHIgZGVuIFVudGVyYmVmZWhsICdlZGl0JyB2ZXJhbHRldC5cbiIKICJCaXR0ZSBiZW51dHplbiBTaWUgc3RhdHRkZXNzZW4gJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njg1CisjOiBidWlsdGluL25vdGVzLmM6Njg3CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTMO2c2NoZW4gZGVyIFJlZmVyZW56IE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODkKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIkZlaGxlciBiZWltIEzDtnNjaGVuIGRlciBSZWZlcmVueiBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OTEKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMw7ZzY2hlbiBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzIHZvbiAnZ2l0IG5vdGVzIG1lcmdlJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gZGVyIFJlZmVyZW56IE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCB2b24gTk9URVNfTUVSR0VfUEFSVElBTCBuaWNodCBmaW5kZW4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzEzCisjOiBidWlsdGluL25vdGVzLmM6NzE1CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICJLb25udGUgQ29tbWl0IHZvbiBOT1RFU19NRVJHRV9QQVJUSUFMIG5pY2h0IHBhcnNlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjgKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIkZlaGxlciBiZWltIEF1ZmzDtnNlbiB2b24gTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzI5CisjOiBidWlsdGluL25vdGVzLmM6NzMxCiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBYnNjaGxpZcOfZW4gZGVyIFp1c2FtbWVuZsO8aHJ1bmcgZGVyIE5vdGl6ZW4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzU1CisjOiBidWlsdGluL25vdGVzLmM6NzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCiBtc2dzdHIgInVuYmVrYW5udGUgTWVyZ2UtU3RyYXRlZ2llICclcycgZsO8ciBOb3RpemVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcxCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICJBbGxnZW1laW5lIE9wdGlvbmVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzczCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiTWVyZ2UtT3B0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgpAQCAtMTA3MzYsNDkgKzExMTA4LDQ5IEBACiAibMO2c3QgS29uZmxpa3RlIGJlaSBOb3RpemVuIG1pdCBkZXIgYW5nZWdlYmVuZW4gU3RyYXRlZ2llIGF1ZiAobWFudWFsL291cnMvIgogInRoZWlycy91bmlvbi9jYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NworIzogYnVpbHRpbi9ub3Rlcy5jOjc3OQogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIm5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIE5vdGl6ZW4gZWludHJhZ2VuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc5CisjOiBidWlsdGluL25vdGVzLmM6NzgxCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiIgogIk1lcmdlIHZvbiBOb3RpemVuIGFic2NobGllw59lbiwgaW4gZGVtIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIE5vdGl6ZW4gIgogImNvbW1pdHRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICJLb25mbGlrdGF1ZmzDtnN1bmcgYmVpbSBNZXJnZSB2b24gTm90aXplbiBhYmJyZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiTWVyZ2Ugdm9uIE5vdGl6ZW4gYWJicmVjaGVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzk0CisjOiBidWlsdGluL25vdGVzLmM6Nzk2CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICJLYW5uIC0tY29tbWl0LCAtLWFib3J0IG9kZXIgLXMvLS1zdHJhdGVneSBuaWNodCBrb21iaW5pZXJlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDEKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgIlNpZSBtw7xzc2VuIGVpbmUgTm90aXotUmVmZXJlbnogenVtIE1lcmdlbiBhbmdlYmVuLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgyMworIzogYnVpbHRpbi9ub3Rlcy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICJVbmJla2FubnRlciBXZXJ0IGbDvHIgLXMvLS1zdHJhdGVneTogJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCiBtc2dzdHIgIkVpbiBNZXJnZSB2b24gTm90aXplbiBuYWNoICVzIGlzdCBiZXJlaXRzIGltIEdhbmdlIGJlaSAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MworIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgogbXNnc3RyICIiCiAiRmVobGVyIGJlaW0gU3BlaWNoZXJuIGRlciBWZXJrbsO8cGZ1bmcgenVyIGFrdHVlbGxlbiBOb3Rlcy1SZWZlcmVueiAoJXMpIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODY1CisjOiBidWlsdGluL25vdGVzLmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKQEAgLTEwNzkwLDIzNiArMTExNjIsMjM1IEBACiAiY29tbWl0JyxcbiIKICJvZGVyIGJyZWNoZW4gU2llIGRlbiBNZXJnZSBtaXQgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyBhYi5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg4NworIzogYnVpbHRpbi9ub3Rlcy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAiT2JqZWt0ICVzIGhhdCBrZWluZSBOb3RpelxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6OTAxCiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICJkZXIgVmVyc3VjaCwgZWluZSBuaWNodCBleGlzdGllcmVuZGUgTm90aXogenUgbMO2c2NoZW4sIGlzdCBrZWluIEZlaGxlciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjkwNAogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJPYmpla3RuYW1lbiB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDAgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3CisjOiBidWlsdGluL25vdGVzLmM6OTQyIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAogbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKIG1zZ3N0ciAibmljaHQgbMO2c2NoZW4sIG51ciBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk0MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk0MwogbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCiBtc2dzdHIgImdlbMO2c2NodGUgTm90aXplbiBtZWxkZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODUKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgIk5vdGl6LVJlZmVyZW56IgogCi0jOiBidWlsdGluL25vdGVzLmM6OTg0CisjOiBidWlsdGluL25vdGVzLmM6OTg2CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgIk5vdGl6ZW4gdm9uIDxOb3Rpei1SZWZlcmVuej4gdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAxOQorIzogYnVpbHRpbi9ub3Rlcy5jOjEwMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgVW50ZXJiZWZlaGw6ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8T3B0aW9uZW4+Li4uXSBbPCA8UmVmZXJlbnpsaXN0ZT4gfCA8ICIKICI8T2JqZWt0bGlzdGU+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMQogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3B0aW9ucz4uLi5dIDxiYXNlLW5hbWU+IFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPE9wdGlvbmVuPi4uLl0gPEJhc2lzLU5hbWU+IFs8IDxSZWZlcmVuemxpc3RlPiB8IDwgIgogIjxPYmpla3RsaXN0ZT5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBLb21wcmltaWVyZW4gKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc2CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAiIgogIkRlYWt0aXZpZXJlIFNjaHJlaWJlbiBkZXIgQml0bWFwLCBQYWtldGUgd3VyZGVuIGR1cmNoIHBhY2sucGFja1NpemVMaW1pdFxuIgogImF1ZmdldHJlbm50LiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzg5CiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICJTY2hyZWliZSBPYmpla3RlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA2OQogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICIiCiAiRGVha3RpdmllcmUgU2NocmVpYmVuIGRlciBCaXRtYXAsIGRhIGVpbmlnZSBPYmpla3RlIG5pY2h0IGluIGVpbmUgUGFjay0iCiAiRGF0ZWlcbiIKICJnZXNjaHJpZWJlbiB3dXJkZW4uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQzNAogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgIktvbXByaW1pZXJlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIk5pY2h0IHVudGVyc3TDvHR6dGUgSW5kZXgtVmVyc2lvbiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBJbmRleC1WZXJzaW9uICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc3CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgImtlaW5lIEZvcnRzY2hyaXR0c2FuemVpZ2UgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc5CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAiRm9ydHNjaHJpdHRzYW56ZWlnZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODEKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKLW1zZ3N0ciAiIgotIkZvcnNjaHJpdHRzYW56ZWlnZSB3w6RocmVuZCBkZXIgUGhhc2UgZGVzIFNjaHJlaWJlbnMgZGVyIE9iamVrdGUgYW56ZWlnZW4iCittc2dzdHIgIkZvcnNjaHJpdHRzYW56ZWlnZSB3w6RocmVuZCBkZXMgU2NocmVpYmVucyB2b24gT2JqZWt0ZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg0CiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICLDpGhubGljaCB6dSAtLWFsbC1wcm9ncmVzcyB3ZW5uIEZvcnRzY2hyaXR0c2FuemVpZ2UgZGFyc3RlbGx0IHdpcmQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg1CiBtc2dpZCAidmVyc2lvblssb2Zmc2V0XSIKIG1zZ3N0ciAidmVyc2lvblssb2Zmc2V0XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzkwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODYKIG1zZ2lkICJ3cml0ZSB0aGUgcGFjayBpbmRleCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgaWR4IGZvcm1hdCB2ZXJzaW9uIgogbXNnc3RyICIiCiAiZGllIEluZGV4LURhdGVpIGRlcyBQYWtldGVzIGluIGRlciBhbmdlZ2ViZW5lbiBJbmRleGZvcm1hdC1WZXJzaW9uIHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzkzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODkKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICJtYXhpbWFsZSBHcsO2w59lIGbDvHIgamVkZSBhdXNnZWdlYmVuZSBQYWtldGRhdGVpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MQogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAiZ2VsaWVoZW5lIE9iamVrdGUgdm9uIGFsdGVybmF0aXZlbSBPYmpla3RzcGVpY2hlciBpZ25vcmllcmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MwogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiZ2VwYWNrdGUgT2JqZWt0ZSBpZ25vcmllcmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5NQogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgIlBha2V0ZmVuc3RlciBkdXJjaCBPYmpla3RlIGJlZ3JlbnplbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTcKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICIiCiAiUGFrZXRmZW5zdGVyLCB6dXPDpHR6bGljaCB6dXIgT2JqZWt0YmVncmVuenVuZywgZHVyY2ggU3BlaWNoZXIgYmVncmVuemVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5OQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCiAibWF4aW1hbGUgTMOkbmdlIGRlciBlcmxhdWJ0ZW4gRGlmZmVyZW56dmVya2V0dHVuZyBpbSByZXN1bHRpZXJlbmRlbiBQYWtldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDEKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgImV4aXN0aWVyZW5kZSBVbnRlcnNjaGllZGUgd2llZGVydmVyd2VuZGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwMwogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgImV4aXN0aWVyZW5kZSBPYmpla3RlIHdpZWRlcnZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgIk9GU19ERUxUQSBPYmpla3RlIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDcKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICIiCiAiVGhyZWFkcyBiZWkgZGVyIFN1Y2hlIG5hY2ggZGVuIGJlc3RlbiDDnGJlcmVpbnN0aW1tdW5nZW4gYmVpIFVudGVyc2NoaWVkZW4gIgogInZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDkKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJrZWluZSBsZWVyZW4gUGFrZXRlIGVyemV1Z2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMQogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIkFyZ3VtZW50ZSBiZXrDvGdsaWNoIENvbW1pdHMgdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIGxlc2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMwogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJkaWUgT2JqZWt0ZSB6dSBzb2xjaGVuLCBkaWUgbm9jaCBuaWNodCBnZXBhY2t0IHd1cmRlbiwgYmVncmVuemVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxNgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJPYmpla3RlIGVpbnNjaGxpZcOfZW4sIGRpZSB2b24gamVkZXIgUmVmZXJlbnogZXJyZWljaGJhciBzaW5kIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxOQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiIgogIk9iamVrdGUgZWluc2NobGllw59lbiwgZGllIHZvbiBFaW50csOkZ2VuIGRlcyBSZWZsb2dzIHJlZmVyZW56aWVydCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTIyCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAiT2JqZWt0ZSBlaW5zY2hsaWXDn2VuLCBkaWUgdm9tIEluZGV4IHJlZmVyZW56aWVydCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI1CiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICJQYWtldCBpbiBkaWUgU3RhbmRhcmQtQXVzZ2FiZSBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI3CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICJUYWctT2JqZWt0ZSBlaW5zY2hsaWXDn2VuLCBkaWUgYXVmIGdlcGFja3RlIE9iamVrdGUgcmVmZXJlbnppZXJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjkKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIm5pY2h0IGVycmVpY2hiYXJlIE9iamVrdGUgYmVoYWx0ZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMxCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJuaWNodCBlcnJlaWNoYmFyZSBsb3NlIE9iamVrdGUgcGFja2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzMwogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJuaWNodCBlcnJlaWNoYmFyZSBPYmpla3RlIGVudHBhY2tlbiwgZGllIG5ldWVyIGFscyA8WmVpdD4gc2luZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAiZMO8bm5lcmUgUGFrZXRlIGVyemV1Z2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzOAogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICIiCiAiUGFrZXRlIGdlZWlnbmV0IGbDvHIgQWJob2x1bmcgbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIGVyemV1Z2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MAogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgIlBha2V0ZSBpZ25vcmllcmVuLCBkaWUgLmtlZXAgRGF0ZWllbiBoYWJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDIKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJLb21wcmltaWVydW5nc2dyYWQgZsO8ciBQYWtldGllcnVuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDQKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAia2VpbmUga8O8bnN0bGljaGVuIFZvcmfDpG5nZXItQ29tbWl0cyAoXCJncmFmdHNcIikgdmVyYmVyZ2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NgogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogIkJpdG1hcC1JbmRleCAoZmFsbHMgdmVyZsO8Z2JhcikgenVyIE9wdGltaWVydW5nIGRlciBPYmpla3R6w6RobHVuZyBiZW51dHplbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDgKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICJCaXRtYXAtSW5kZXggenVzYW1tZW4gbWl0IFBhY2stSW5kZXggc2NocmVpYmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzA3NQogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIlrDpGhsZSBPYmpla3RlIgogCkBAIC0xMTA1OSw0NSArMTE0MzAsNDkgQEAKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImthbm4gXCJwcnVuZVwiIGluIHByZWNpb3VzLW9iamVjdHMgUmVwb3NpdG9yeSBuaWNodCBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL3B1bGwuYzo1MSBidWlsdGluL3B1bGwuYzo1MworIzogYnVpbHRpbi9wdWxsLmM6NTQgYnVpbHRpbi9wdWxsLmM6NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgJXM6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MworIzogYnVpbHRpbi9wdWxsLmM6NzYKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxPcHRpb25lbj5dIFs8UmVwb3NpdG9yeT4gWzxSZWZzcGVjPi4uLl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjEKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyNAorbXNnaWQgImNvbnRyb2wgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICJyZWt1cnNpdmUgQW5mb3JkZXJ1bmdlbiB2b24gU3VibW9kdWxlbiBrb250cm9sbGllcmVuIgorCisjOiBidWlsdGluL3B1bGwuYzoxMjgKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAiT3B0aW9uZW4gYmV6b2dlbiBhdWYgTWVyZ2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyNAorIzogYnVpbHRpbi9wdWxsLmM6MTMxCiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICJJbnRlZ3JhdGlvbiB2b24gw4RuZGVydW5nZW4gZHVyY2ggUmViYXNlIHN0YXR0IE1lcmdlIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNDggYnVpbHRpbi9yZXZlcnQuYzoxMDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjE1NSBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MTkgYnVpbHRpbi9yZXZlcnQuYzoxMjEKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIlZvcnNwdWxlbiBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTU3CisjOiBidWlsdGluL3B1bGwuYzoxNjQKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKIG1zZ3N0ciAiYXV0b21hdGlzY2hlciBTdGFzaC9TdGFzaC1Qb3Agdm9yIHVuZCBuYWNoIGVpbmVzIFJlYmFzZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL3B1bGwuYzoxODAKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIk9wdGlvbmVuIGJlem9nZW4gYXVmIEZldGNoIgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5OAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiQW56YWhsIGRlciBwYXJhbGxlbCBtaXQgJ3B1bGwnIHp1IHZlcmFyYmVpdGVuZGVuIFN1Ym1vZHVsZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mjg0CisjOiBidWlsdGluL3B1bGwuYzoyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFdlcnQgZsO8ciBwdWxsLmZmOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzk3CisjOiBidWlsdGluL3B1bGwuYzozOTkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgpAQCAtMTExMDUsMTQgKzExNDgwLDE0IEBACiAiRXMgZ2lidCBrZWluZW4gS2FuZGlkYXRlbiBmw7xyIFJlYmFzZSBpbm5lcmhhbGIgZGVyIFJlZmVyZW56ZW4sIGRpZSBlYmVuICIKICJhbmdlZm9yZGVydCB3dXJkZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzozOTkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMQogbXNnaWQgIiIKICJUaGVyZSBhcmUgbm8gY2FuZGlkYXRlcyBmb3IgbWVyZ2luZyBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0IGZldGNoZWQuIgogbXNnc3RyICIiCiAiRXMgZ2lidCBrZWluZSBLYW5kaWRhdGVuIGbDvHIgTWVyZ2UgaW5uZXJoYWxiIGRlciBSZWZlcmVuemVuLCBkaWUgZWJlbiAiCiAiYW5nZWZvcmRlcnQgd3VyZGVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAwCisjOiBidWlsdGluL3B1bGwuYzo0MDIKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtMTExMjAsNyArMTE0OTUsNyBAQAogIkltIEFsbGdlbWVpbmVuIGJlZGV1dGV0IGRhcywgZGFzcyBTaWUgZWluZW4gUmVmc3BlYyBtaXQgV2lsZGNhcmRzIGFuZ2VnZWJlblxuIgogImhhYmVuLCBkZXIgYXVmIGRlciBHZWdlbnNlaXRlIG1pdCBrZWluZW4gUmVmZXJlbnplbiDDvGJlcmVpbnN0aW1tdC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQwMworIzogYnVpbHRpbi9wdWxsLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtMTExMzIsMzkgKzExNTA3LDM5IEBACiAiUmVwb3NpdG9yeSBmw7xyIGRlbiBha3R1ZWxsZW4gQnJhbmNoIGlzdCwgbcO8c3NlbiBTaWUgZWluZW4gQnJhbmNoIGF1ZlxuIgogImRlciBCZWZlaGxzemVpbGUgYW5nZWJlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQwOCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0MTAgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIkltIE1vbWVudCBhdWYga2VpbmVtIEJyYW5jaC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBidWlsdGluL3B1bGwuYzo0MjUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAiIgogIkJpdHRlIGdlYmVuIFNpZSBkZW4gQnJhbmNoIGFuLCBnZWdlbiB3ZWxjaGVuIFNpZSBcInJlYmFzZVwiIGF1c2bDvGhyZW4gIgogIm3DtmNodGVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0MTQgYnVpbHRpbi9wdWxsLmM6NDI5IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIkJpdHRlIGdlYmVuIFNpZSBkZW4gQnJhbmNoIGFuLCB3ZWxjaGVuIFNpZSB6dXNhbW1lbmbDvGhyZW4gbcO2Y2h0ZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTMgYnVpbHRpbi9wdWxsLmM6NDI4CisjOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDMwCiBtc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiU2llaGUgZ2l0LXB1bGwoMSkgZsO8ciB3ZWl0ZXJlIERldGFpbHMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDIxIGJ1aWx0aW4vcHVsbC5jOjQzMAorIzogYnVpbHRpbi9wdWxsLmM6NDE3IGJ1aWx0aW4vcHVsbC5jOjQyMyBidWlsdGluL3B1bGwuYzo0MzIKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPFJlbW90ZS1SZXBvc2l0b3J5PiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9wdWxsLmM6NDM3IGdpdC1yZWJhc2Uuc2g6NDU2CiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxCcmFuY2g+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiRXMgZ2lidCBrZWluZSBUcmFja2luZy1JbmZvcm1hdGlvbmVuIGbDvHIgZGVuIGFrdHVlbGxlbiBCcmFuY2guIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorIzogYnVpbHRpbi9wdWxsLmM6NDM0IGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgogbXNnc3RyICIiCkBAIC0xMTE3Miw3ICsxMTU0Nyw3IEBACiAiU2llXG4iCiAiZGllcyB0dW4gbWl0OiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM3CisjOiBidWlsdGluL3B1bGwuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKQEAgLTExMTgyLDI5ICsxMTU1NywyOSBAQAogImRlcyBSZW1vdGUtUmVwb3NpdG9yaWVzIGR1cmNoenVmw7xocmVuLCBhYmVyIGRpZXNlIFJlZmVyZW56XG4iCiAid3VyZGUgbmljaHQgYW5nZWZvcmRlcnQuIgogCi0jOiBidWlsdGluL3B1bGwuYzo3NTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjc5MgogbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKIG1zZ3N0ciAiSWdub3JpZXJlIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZsO8ciBSZWJhc2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgwMQorIzogYnVpbHRpbi9wdWxsLmM6ODQwCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAiLS1bbm8tXWF1dG9zdGFzaCBpc3QgbnVyIG1pdCAtLXJlYmFzZSB6dWzDpHNzaWcuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0OAogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKICJBa3R1YWxpc2llcmUgZWluZW4gdW5nZWJvcmVuZW4gQnJhbmNoIG1pdCDDhG5kZXJ1bmdlbiwgZGllIHp1bSBDb21taXQgIgogInZvcmdlbWVya3Qgc2luZC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgxMgorIzogYnVpbHRpbi9wdWxsLmM6ODUxCiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAiUHVsbCBtaXQgUmViYXNlIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1MgogbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIkJpdHRlIGNvbW1pdHRlbiBTaWUgZGllIMOEbmRlcnVuZ2VuIG9kZXIgYmVudXR6ZW4gU2llIFwic3Rhc2hcIi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgzOAorIzogYnVpbHRpbi9wdWxsLmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtMTEyMTQsNyArMTE1ODksNyBAQAogIlwiZmV0Y2hcIiBha3R1YWxpc2llcnRlIGRpZSBTcGl0emUgZGVzIGFrdHVlbGxlbiBCcmFuY2hlcy5cbiIKICJTcHVsZSBJaHIgQXJiZWl0c3ZlcnplaWNobmlzIHZvbiBDb21taXQgJXMgdm9yLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODQzCisjOiBidWlsdGluL3B1bGwuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0xMTIzMSwyNyArMTE2MDYsMzEgQEAKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICJ6dXIgV2llZGVyaGVyc3RlbGx1bmcgYXVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODU4CisjOiBidWlsdGluL3B1bGwuYzo4OTcKIG1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkLiIKIG1zZ3N0ciAiS2FubiBuaWNodCBtZWhyZXJlIEJyYW5jaGVzIGluIGVpbmVuIGxlZXJlbiBCcmFuY2ggenVzYW1tZW5mw7xocmVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODYyCisjOiBidWlsdGluL3B1bGwuYzo5MDEKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICJLYW5uIFJlYmFzZSBuaWNodCBhdWYgbWVocmVyZSBCcmFuY2hlcyBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTYKKyM6IGJ1aWx0aW4vcHVsbC5jOjkwOAorbXNnaWQgImNhbm5vdCByZWJhc2Ugd2l0aCBsb2NhbGx5IHJlY29yZGVkIHN1Ym1vZHVsZSBtb2RpZmljYXRpb25zIgorbXNnc3RyICJLYW5uIFJlYmFzZSBuaWNodCBtaXQgbG9rYWwgYXVmZ2V6ZWljaG5ldGVuIMOEbmRlcnVuZ2VuIGluIFN1Ym1vZHVsZW4gYXVzZsO8aHJlbi4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3CiBtc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBwdXNoIFs8T3B0aW9uZW4+XSBbPFJlcG9zaXRvcnk+IFs8UmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6ODkKKyM6IGJ1aWx0aW4vcHVzaC5jOjkwCiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICJLdXJ6c2NocmlmdCBmw7xyIFRhZyBvaG5lIDxUYWc+IgogCi0jOiBidWlsdGluL3B1c2guYzo5OQorIzogYnVpbHRpbi9wdXNoLmM6MTAwCiBtc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1kZWxldGUgYWt6ZXB0aWVydCBudXIgcmVpbmUgUmVmZXJlbnpuYW1lbiBhbHMgWmllbC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MworIzogYnVpbHRpbi9wdXNoLmM6MTQ0CiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTExMjYwLDcgKzExNjM5LDcgQEAKICJVbSBlaW5lIFZhcmlhbnRlIHBlcm1hbmVudCB6dSB2ZXJ3ZW5kZW4sIHNpZWhlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgIgogImNvbmZpZycuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC0xMTI4Niw3ICsxMTY2NSw3IEBACiAiICAgIGdpdCBwdXNoICVzICVzXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6MTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC0xMTMwMSw3ICsxMTY4MCw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6PE5hbWUtZGVzLVJlbW90ZS1CcmFuY2hlcz5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtMTEzMTUsMTMgKzExNjk0LDEzIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICIiCiAiRGVyIGFrdHVlbGxlIEJyYW5jaCAlcyBoYXQgbWVocmVyZSBVcHN0cmVhbS1CcmFuY2hlcywgXCJwdXNoXCIgdmVyd2VpZ2VydC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4NgorIzogYnVpbHRpbi9wdXNoLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTExMzMyLDE0ICsxMTcxMSwxNCBAQAogIkJyYW5jaGVzICclcycgaXN0LCBvaG5lIGFuenVnZWJlbiwgd2FzIHZlcnNlbmRldCB3ZXJkZW4gc29sbCwgdW0gd2VsY2hlblxuIgogIlJlbW90ZS1CcmFuY2ggenUgYWt0dWFsaXNpZXJlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NQorIzogYnVpbHRpbi9wdXNoLmM6MjQ2CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKICJTaWUgaGFiZW4ga2VpbmUgUmVmc3BlYyBmw7xyIFwicHVzaFwiIGFuZ2VnZWJlbiwgdW5kIHB1c2guZGVmYXVsdCBpc3QgIgogIlwibm90aGluZ1wiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjUyCisjOiBidWlsdGluL3B1c2guYzoyNTMKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTExMzUzLDcgKzExNzMyLDcgQEAKICJTaWVoZSBhdWNoIGRpZSBTZWt0aW9uICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnXG4iCiAiZsO8ciB3ZWl0ZXJlIERldGFpbHMuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1OQogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtMTEzNjcsNyArMTE3NDYsNyBAQAogIlNpZWhlIGF1Y2ggZGllIFNla3Rpb24gJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCdcbiIKICJmw7xyIHdlaXRlcmUgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2NAorIzogYnVpbHRpbi9wdXNoLmM6MjY1CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTExMzg2LDEzICsxMTc2NSwxMyBAQAogIlNpZWhlIGF1Y2ggZGllIFNla3Rpb24gJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCdcbiIKICJmw7xyIHdlaXRlcmUgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3MQorIzogYnVpbHRpbi9wdXNoLmM6MjcyCiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVydW5nZW4gd3VyZGVuIHp1csO8Y2tnZXdpZXNlbiwgd2VpbCBkYXMgVGFnIGJlcmVpdHNcbiIKICJpbSBSZW1vdGUtUmVwb3NpdG9yeSBleGlzdGllcnQuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3NQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTExNDAyLDIyICsxMTc4MSwyMiBAQAogImRhcyBrZWluIENvbW1pdCBpc3QsIG9kZXIgZXMgYXVmIGVpbiBzb2xjaGVzIE9iamVrdCB6ZWlnZW4gbGFzc2VuLCBvaG5lXG4iCiAiZGllIE9wdGlvbiAnLS1mb3JjZScgenUgdmVyd2VuZGVuLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozMzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIlZlcnNlbmRlIG5hY2ggJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzM4CisjOiBidWlsdGluL3B1c2guYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIFZlcnNlbmRlbiBlaW5pZ2VyIFJlZmVyZW56ZW4gbmFjaCAnJXMnIgogCi0jOiBidWlsdGluL3B1c2guYzozNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJ1bmfDvGx0aWdlcyBSZXBvc2l0b3J5ICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MAorIzogYnVpbHRpbi9wdXNoLmM6MzcxCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTE0MzksMTE2ICsxMTgxOCwxMTYgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPE5hbWU+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6Mzg5CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1hbGwgdW5kIC0tdGFncyBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OQorIzogYnVpbHRpbi9wdXNoLmM6MzkwCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWFsbCBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyBrb21iaW5pZXJ0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NAorIzogYnVpbHRpbi9wdXNoLmM6Mzk1CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1taXJyb3IgdW5kIC0tdGFncyBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NQorIzogYnVpbHRpbi9wdXNoLmM6Mzk2CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW1pcnJvciBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyBrb21iaW5pZXJ0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQwMAorIzogYnVpbHRpbi9wdXNoLmM6NDAxCiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWFsbCB1bmQgLS1taXJyb3Igc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMwogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgIlJlcG9zaXRvcnkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOSBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6NTI0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAiYWxsZSBSZWZlcmVuemVuIHZlcnNlbmRlbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCisjOiBidWlsdGluL3B1c2guYzo1MjUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgImFsbGUgUmVmZXJlbnplbiBzcGllZ2VsbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyCisjOiBidWlsdGluL3B1c2guYzo1MjcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAiUmVmZXJlbnplbiBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIzCisjOiBidWlsdGluL3B1c2guYzo1MjgKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgIlRhZ3MgdmVyc2VuZGVuIChrYW5uIG5pY2h0IG1pdCAtLWFsbCBvZGVyIC0tbWlycm9yIHZlcndlbmRldCB3ZXJkZW4pIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMSBidWlsdGluL3NlbmQtcGFjay5jOjE2NgogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgIkFrdHVhbGlzaWVydW5nIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxODAKIG1zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgogbXNnc3RyICJSZWZlcmVuem5hbWU+OjxFcndhcnR1bmdzd2VydCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CisjOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKIG1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAiUmVmZXJlbnogbXVzcyBzaWNoIGF1ZiBkZW0gYW5nZWdlYmVuZW4gV2VydCBiZWZpbmRlbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMyCisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJla3Vyc2l2ZW4gXCJwdXNoXCIgdm9uIFN1Ym1vZHVsZW4gc3RldWVybiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CisjOiBidWlsdGluL3B1c2guYzo1MzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICJrbGVpbmVyZSBQYWtldGUgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9wdXNoLmM6NTM2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE1OQorIzogYnVpbHRpbi9wdXNoLmM6NTQwIGJ1aWx0aW4vcHVzaC5jOjU0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2MAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAiJ3JlY2VpdmUgcGFjaycgUHJvZ3JhbW0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNworIzogYnVpbHRpbi9wdXNoLmM6NTQyCiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgIlVwc3RyZWFtIGbDvHIgXCJnaXQgcHVsbC9zdGF0dXNcIiBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MAorIzogYnVpbHRpbi9wdXNoLmM6NTQ1CiBtc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCiBtc2dzdHIgImxva2FsIGdlbMO2c2NodGUgUmVmZXJlbnplbiBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MgorIzogYnVpbHRpbi9wdXNoLmM6NTQ3CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgIlwicHJlLXB1c2ggaG9va1wiIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MworIzogYnVpbHRpbi9wdXNoLmM6NTQ4CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICJmZWhsZW5kZSwgYWJlciByZWxldmFudGUgVGFncyB2ZXJzZW5kZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0NiBidWlsdGluL3NlbmQtcGFjay5jOjE2NgorIzogYnVpbHRpbi9wdXNoLmM6NTUxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY4CiBtc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCiBtc2dzdHIgInNpZ25pZXJ0IFwicHVzaFwiIG1pdCBHUEciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OCBidWlsdGluL3NlbmQtcGFjay5jOjE3MAorIzogYnVpbHRpbi9wdXNoLmM6NTUzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgIlJlZmVyZW56ZW4gYXRvbWFyIHZlcnNlbmRlbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NTQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKIG1zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCiBtc2dzdHIgInNlcnZlcnNwZXppZmlzY2giCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTU0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCiBtc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgogbXNnc3RyICJPcHRpb24gw7xiZXJ0cmFnZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MworIzogYnVpbHRpbi9wdXNoLmM6NTY4CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1kZWxldGUgaXN0IGlua29tcGF0aWJlbCBtaXQgLS1hbGwsIC0tbWlycm9yIHVuZCAtLXRhZ3MuIgogCi0jOiBidWlsdGluL3B1c2guYzo1NjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MAogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tZGVsZXRlIGthbm4gbnVyIG1pdCBSZWZlcmVuemVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzo1ODQKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4OQogbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCiBtc2dzdHIgIlB1c2gtT3B0aW9uZW4gZMO8cmZlbiBrZWluZSBaZWlsZW52b3JzY2h1YnplaWNoZW4gaGFiZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgpAQCAtMTE1NTksNzUgKzExOTM4LDg3IEBACiAiaW5kZXgtb3V0cHV0PTxEYXRlaT5dICgtLWVtcHR5IHwgPENvbW1pdC1SZWZlcmVuejE+IFs8Q29tbWl0LVJlZmVyZW56Mj4gIgogIls8Q29tbWl0LVJlZmVyZW56Mz5dXSkiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMQogbXNnaWQgIndyaXRlIHJlc3VsdGluZyBpbmRleCB0byA8ZmlsZT4iCiBtc2dzdHIgInJlc3VsdGllcmVuZGVuIEluZGV4IG5hY2ggPERhdGVpPiBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICJudXIgZGVuIEluZGV4IGxlZXJlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTUKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI2CiBtc2dpZCAiTWVyZ2luZyIKIG1zZ3N0ciAiTWVyZ2UiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCiBtc2dzdHIgImVpbmVuIE1lcmdlLCB6dXPDpHR6bGljaCB6dW0gTGVzZW4sIGF1c2bDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE5CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAogbXNnaWQgIjMtd2F5IG1lcmdlIGlmIG5vIGZpbGUgbGV2ZWwgbWVyZ2luZyByZXF1aXJlZCIKIG1zZ3N0ciAiMy1XZWdlLU1lcmdlLCB3ZW5uIGtlaW4gTWVyZ2UgYXVmIERhdGVpZWJlbmUgZXJmb3JkZXJsaWNoIGlzdCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMyCiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKIG1zZ3N0ciAiMy1XZWdlLU1lcmdlIGJlaSBWb3JoYW5kZW5zZWluIHZvbiBoaW56dWdlZsO8Z3Rlbi9lbnRmZXJudGVuIFplaWxlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiZ2VuYXUgd2llIC1tLCBhYmVyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIEVpbnRyw6RnZSB2ZXJ3ZXJmZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiPFVudGVydmVyemVpY2huaXM+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM2CiBtc2dpZCAicmVhZCB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB1bmRlciA8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgImRhcyBWZXJ6ZWljaG5pcyBpbiBkZW4gSW5kZXggdW50ZXIgPFVudGVydmVyemVpY2huaXM+LyBsZXNlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM5CiBtc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKIG1zZ3N0ciAiQXJiZWl0c3ZlcnplaWNobmlzIG1pdCBkZW0gRXJnZWJuaXMgZGVzIE1lcmdlcyBha3R1YWxpc2llcmVuIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKIG1zZ2lkICJnaXRpZ25vcmUiCiBtc2dzdHIgImdpdGlnbm9yZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCiBtc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgogbXNnc3RyICJleHBsaXppdCBpZ25vcmllcnRlIERhdGVpZW4genUgw7xiZXJzY2hyZWliZW4gZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQogbXNnaWQgImRvbid0IGNoZWNrIHRoZSB3b3JraW5nIHRyZWUgYWZ0ZXIgbWVyZ2luZyIKIG1zZ3N0ciAiZGFzIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuYWNoIGRlbSBNZXJnZSBuaWNodCBwcsO8ZmVuIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDYKIG1zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgIndlZGVyIGRlbiBJbmRleCwgbm9jaCBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAogbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKIG1zZ3N0ciAiQW53ZW5kdW5nIGRlcyBGaWx0ZXJzIGbDvHIgcGFydGllbGxlcyBBdXNjaGVja2VuIMO8YmVyc3ByaW5nZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM5CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MAogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKIG1zZ3N0ciAidW5wYWNrLXRyZWVzIHByb3Rva29sbGllcmVuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI2CisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6OAorbXNnaWQgImdpdCByZWJhc2UtLWhlbHBlciBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHJlYmFzZS0taGVscGVyIFs8T3B0aW9uZW4+XSIKKworIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjIwCittc2dpZCAiY29udGludWUgcmViYXNlIgorbXNnc3RyICJSZWJhc2UgZm9ydHNldHplbiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjIyCittc2dpZCAiYWJvcnQgcmViYXNlIgorbXNnc3RyICJSZWJhc2UgYWJicmVjaGVuIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI4CiBtc2dpZCAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiBtc2dzdHIgImdpdCByZWNlaXZlLXBhY2sgPEdpdC1WZXJ6ZWljaG5pcz4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6NzkzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgzOAogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCiAiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKQEAgLTExNjQ0LDcgKzEyMDM1LDcgQEAKICIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byAncmVmdXNlJy4iCiBtc2dzdHIgIiIKICJTdGFuZGFyZG3DpMOfaWcgd2lyZCBkaWUgQWt0dWFsaXNpZXJ1bmcgZGVzIGFrdHVlbGxlbiBCcmFuY2hlcyBpbiBlaW5lbVxuIgotIm5pY2h0LUJhcmUtUmVwb3NpdG9yeSB6dXLDvGNrZ2V3aWVzZW4sIGRhIGRpZXMgZGVuIEluZGV4IHVuZCBkYXMgQXJiZWl0cy1cbiIKKyJOaWNodC1CYXJlLVJlcG9zaXRvcnkgenVyw7xja2dld2llc2VuLCBkYSBkaWVzIGRlbiBJbmRleCB1bmQgZGFzIEFyYmVpdHMtXG4iCiAidmVyemVpY2huaXMgaW5rb25zaXN0ZW50IHp1IGRlbSBtYWNoZW4gd8O8cmRlLCB3YXMgU2llIGdlcHVzaGVkIGhhYmVuLCB1bmRcbiIKICInZ2l0IHJlc2V0IC0taGFyZCcgZXJmb3JkZXJsaWNoIHfDpHJlLCBkYW1pdCBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIEhFQURcbiIKICJlbnRzcHJpY2h0LlxuIgpAQCAtMTE2NTksNyArMTIwNTAsNyBAQAogInNldHplbiBTaWUgZGllIEtvbmZpZ3VyYXRpb25zdmFyaWFibGUgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGF1ZlxuIgogIidyZWZ1c2UnLiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODU4CiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKICInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgpAQCAtMTE2ODAsMjkgKzEyMDcxLDI5IEBACiAiXG4iCiAiVW0gZGllc2UgTWVsZHVuZyB6dSB1bnRlcmRyw7xja2VuLCBzZXR6ZW4gU2llIGRpZSBWYXJpYWJsZSBhdWYgJ3JlZnVzZScuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4ODMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkzMwogbXNnaWQgInF1aWV0IgogbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTcKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0NwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgogbXNnc3RyICJTaWUgbcO8c3NlbiBlaW4gUmVwb3NpdG9yeSBhbmdlYmVuLiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo0MjMKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIGlzdCBrZWluIGfDvGx0aWdlciBaZWl0c3RlbXBlbCBmw7xyICclcyciCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NTQwIGJ1aWx0aW4vcmVmbG9nLmM6NTQ1CisjOiBidWlsdGluL3JlZmxvZy5jOjU0MSBidWlsdGluL3JlZmxvZy5jOjU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgWmVpdHN0ZW1wZWwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgpAQCAtMTE3MTAsODIgKzEyMTAxLDgyIEBACiAiZ2l0IHJlbW90ZSBhZGQgWy10IDxCcmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxOYW1lPiA8VVJMPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjM0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzUKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW5hbWUgPGFsdD4gPG5ldT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzozOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNiBidWlsdGluL3JlbW90ZS5jOjQwCiBtc2dpZCAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbW92ZSA8TmFtZT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYgYnVpbHRpbi9yZW1vdGUuYzo0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNyBidWlsdGluL3JlbW90ZS5jOjQ1CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8TmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxCcmFuY2g+KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOAogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxOYW1lPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxOQogbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8TmFtZT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cD4gfCA8cmVtb3RlPikuLi5dIgogbXNnc3RyICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxHcnVwcGU+IHwgPFJlbW90ZT4pLi4uXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxOYW1lPiA8QnJhbmNoPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjcwCisjOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzEKIG1zZ2lkICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgZ2V0LXVybCBbLS1wdXNoXSBbLS1hbGxdIDxOYW1lPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjc1CisjOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzYKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+IFs8b2xkdXJsPl0iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8TmFtZT4gPG5ldWVVUkw+IFs8YWx0ZVVSTD5dIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NwogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bmFtZT4gPG5ld3VybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8TmFtZT4gPG5ldWVVUkw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI0IGJ1aWx0aW4vcmVtb3RlLmM6NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjUgYnVpbHRpbi9yZW1vdGUuYzo3OAogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8TmFtZT4gPFVSTD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzAKIG1zZ2lkICJnaXQgcmVtb3RlIGFkZCBbPG9wdGlvbnM+XSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgYWRkIFs8T3B0aW9uZW4+XSA8TmFtZT4gPFVSTD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTAKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxOYW1lPiA8QnJhbmNoPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9yZW1vdGUuYzo1MQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPE5hbWU+IDxCcmFuY2g+Li4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjU1CisjOiBidWlsdGluL3JlbW90ZS5jOjU2CiBtc2dpZCAiZ2l0IHJlbW90ZSBzaG93IFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzaG93IFs8T3B0aW9uZW4+XSA8TmFtZT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjEKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPE9wdGlvbmVuPl0gPE5hbWU+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY1CisjOiBidWlsdGluL3JlbW90ZS5jOjY2CiBtc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgdXBkYXRlIFs8T3B0aW9uZW4+XSBbPEdydXBwZT4gfCA8ZXh0ZXJuZXNSZXBvc2l0b3J5Pl0uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMiCiBtc2dzdHIgIkFrdHVhbGlzaWVyZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3CiBtc2dpZCAiIgogIi0tbWlycm9yIGlzIGRhbmdlcm91cyBhbmQgZGVwcmVjYXRlZDsgcGxlYXNlXG4iCiAiXHQgdXNlIC0tbWlycm9yPWZldGNoIG9yIC0tbWlycm9yPXB1c2ggaW5zdGVhZCIKQEAgLTExNzkzLDkyICsxMjE4NCw5MiBAQAogIi0tbWlycm9yIGlzdCBnZWbDpGhybGljaCB1bmQgdmVyYWx0ZXQ7IGJpdHRlXG4iCiAiXHQgYmVudXR6ZW4gU2llIHN0YXR0ZGVzc2VuIC0tbWlycm9yPWZldGNoIG9kZXIgLS1taXJyb3I9cHVzaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbWlycm9yIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAidW5iZWthbm50ZXMgQXJndW1lbnQgZsO8ciBPcHRpb24gLS1taXJyb3I6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjAKIG1zZ2lkICJmZXRjaCB0aGUgcmVtb3RlIGJyYW5jaGVzIgogbXNnc3RyICJkaWUgUmVtb3RlLUJyYW5jaGVzIGFuZm9yZGVybiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyCiBtc2dpZCAiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIKIG1zZ3N0ciAiYWxsZSBUYWdzIHVuZCB2ZXJidW5kZW5lIE9iamVrdGUgYmVpbSBBbmZvcmRlcm4gaW1wb3J0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NQogbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKIG1zZ3N0ciAib2RlciBmb3JkZXJlIGdhciBrZWluZSBad2VpZ2UgYW4gKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NwogbXNnaWQgImJyYW5jaChlcykgdG8gdHJhY2siCiBtc2dzdHIgIkJyYW5jaChlcykgenVyIMOcYmVybmFobWUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE2OAogbXNnaWQgIm1hc3RlciBicmFuY2giCiBtc2dzdHIgIkhhdXB0YnJhbmNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkKIG1zZ2lkICJwdXNofGZldGNoIgogbXNnc3RyICJwdXNofGZldGNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAiIgogIkF1ZnNldHplbiBkZXMgUmVtb3RlLVJlcG9zaXRvcmllcyBhbHMgU3BpZWdlbC1SZXBvc2l0b3J5IGbDvHIgXCJwdXNoXCIgdW5kICIKICJcImZldGNoXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE4MgogbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tbWlycm9yIGthbm4gbmljaHQgbWl0IGRlciBBbmdhYmUgZWluZXMgSGF1cHRicmFuY2hlcyB2ZXJ3ZW5kZXQgIgogIndlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjE4NAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgIiIKICJEaWUgQW5nYWJlIHZvbiB6dSBmb2xnZW5kZW4gQnJhbmNoZXMga2FubiBudXIgbWl0IGRlbSBBbmZvcmRlcm4gdm9uICIKICJTcGllZ2VsYXJjaGl2ZW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjE5MSBidWlsdGluL3JlbW90ZS5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJleHRlcm5lcyBSZXBvc2l0b3J5ICVzIGV4aXN0aWVydCBiZXJlaXRzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTUgYnVpbHRpbi9yZW1vdGUuYzo2MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgTmFtZSBmw7xyIGVpbiBSZW1vdGUtUmVwb3NpdG9yeSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCBtYXN0ZXIgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIHN5bWJvbGlzY2hlIFJlZmVyZW56IGbDvHIgSGF1cHRicmFuY2ggdm9uICclcycgbmljaHQgZWlucmljaHRlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzozMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgogbXNnc3RyICJLb25udGUgRmV0Y2gtTWFwIGbDvHIgUmVmc3BlYyAlcyBuaWNodCBiZWtvbW1lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0MzcgYnVpbHRpbi9yZW1vdGUuYzo0NDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM4IGJ1aWx0aW4vcmVtb3RlLmM6NDQ2CiBtc2dpZCAiKG1hdGNoaW5nKSIKIG1zZ3N0ciAiKMO8YmVyZWluc3RpbW1lbmQpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ0OQorIzogYnVpbHRpbi9yZW1vdGUuYzo0NTAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKGzDtnNjaGUpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyMiBidWlsdGluL3JlbW90ZS5jOjc1NyBidWlsdGluL3JlbW90ZS5jOjg1NAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjMgYnVpbHRpbi9yZW1vdGUuYzo3NTggYnVpbHRpbi9yZW1vdGUuYzo4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgogbXNnc3RyICJLZWluIHNvbGNoZXMgUmVtb3RlLVJlcG9zaXRvcnk6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzOQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIktvbm50ZSBTZWt0aW9uICclcycgaW4gS29uZmlndXJhdGlvbiBuaWNodCBuYWNoICclcycgdW1iZW5lbm5lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtMTE4ODksMTcgKzEyMjgwLDE3IEBACiAiXHQlc1xuIgogIlx0Qml0dGUgYWt0dWFsaXNpZXJlbiBTaWUsIGZhbGxzIG5vdHdlbmRpZywgZGllIEtvbmZpZ3VyYXRpb24gbWFudWVsbC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk1CisjOiBidWlsdGluL3JlbW90ZS5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CisjOiBidWlsdGluL3JlbW90ZS5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5MgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTUKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTExOTE1LDEzNyArMTIzMDYsMTM5IEBACiAiZW50ZmVybnQ7XG4iCiAidW0gZGllc2UgenUgZW50ZmVybmVuLCBiZW51dHplbiBTaWU6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgwNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICJLb25udGUgU2VrdGlvbiAnJXMnIG5pY2h0IGF1cyBLb25maWd1cmF0aW9uIGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIG5ldSAod2lyZCBiZWkgbsOkY2hzdGVtIFwiZmV0Y2hcIiBpbiByZW1vdGVzLyVzIGdlc3BlaWNoZXJ0KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEzCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiBnZWZvbGd0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMgorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTUKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKIG1zZ3N0ciAiIHZlcmFsdGV0IChiZW51dHplbiBTaWUgJ2dpdCByZW1vdGUgcHJ1bmUnIHp1bSBMw7ZzY2hlbikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNwogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiA/Pz8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CisjOiBidWlsdGluL3JlbW90ZS5jOjk1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIGJyYW5jaC4lcy5tZXJnZTsga2FubiBSZWJhc2UgbmljaHQgYXVmID4gMSBCcmFuY2ggYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAiaW50ZXJha3RpdmVyIFJlYmFzZSBhdWYgUmVtb3RlLUJyYW5jaCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIlJlYmFzZSBhdWYgUmVtb3RlLUJyYW5jaCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiBmw7xocnQgbWl0IFJlbW90ZS1CcmFuY2ggJXMgenVzYW1tZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgImbDvGhydCBtaXQgUmVtb3RlLUJyYW5jaCAlcyB6dXNhbW1lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiUtKnMgICAgdW5kIG1pdCBSZW1vdGUtQnJhbmNoICVzXG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE5CiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICJlcnN0ZWxsdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjIKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgImdlbMO2c2NodCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIzCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjYKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICJha3R1ZWxsIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImZhc3QtZm9yd2FyZGFibGUiCiBtc2dzdHIgInZvcnNwdWxiYXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgImxva2FsIG5pY2h0IGFrdHVlbGwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIGVyendpbmd0IFZlcnNhbmR0IG5hY2ggJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyB2ZXJzZW5kZXQgbmFjaCAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgZXJ6d2luZ3QgVmVyc2FuZCBuYWNoICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIHZlcnNlbmRldCBuYWNoICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNwogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJrZWluZSBBYmZyYWdlIHZvbiBSZW1vdGUtUmVwb3NpdG9yaWVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiBSZW1vdGUtUmVwb3NpdG9yeSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQyCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCB6dW0gQWJob2xlbjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MyBidWlsdGluL3JlbW90ZS5jOjExNTYgYnVpbHRpbi9yZW1vdGUuYzoxMjk1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDYgYnVpbHRpbi9yZW1vdGUuYzoxMTYyIGJ1aWx0aW4vcmVtb3RlLmM6MTMwMQogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIoa2VpbmUgVVJMKSIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduIHdpdGgKLSMuIHRoZSBvbmUgaW4gIiAgRmV0Y2ggVVJMOiAlcyIgdHJhbnNsYXRpb24KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExNTYKKyMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbgorIy4gd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKKyMuIHRyYW5zbGF0aW9uLgorIy4KKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCB6dW0gVmVyc2VuZGVuOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NCBidWlsdGluL3JlbW90ZS5jOjExNjYgYnVpbHRpbi9yZW1vdGUuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIEhhdXB0YnJhbmNoOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQKIG1zZ2lkICIobm90IHF1ZXJpZWQpIgogbXNnc3RyICIobmljaHQgYWJnZWZyYWd0KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjYKIG1zZ2lkICIodW5rbm93bikiCiBtc2dzdHIgIih1bmJla2FubnQpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgpAQCAtMTIwNTMsMTcyICsxMjQ0NiwxNzIgQEAKICIgIEhhdXB0YnJhbmNoIChleHRlcm5lciBIRUFEIGlzdCBtZWhyZGV1dGlnLCBrw7ZubnRlIGVpbmVyIGRlciBmb2xnZW5kZW4gIgogInNlaW4pOlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIgIFJlbW90ZS1CcmFuY2g6JXMiCiBtc2dzdHJbMV0gIiAgUmVtb3RlLUJyYW5jaGVzOiVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMjA1CisjOiBidWlsdGluL3JlbW90ZS5jOjExODUgYnVpbHRpbi9yZW1vdGUuYzoxMjExCiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICIgKFp1c3RhbmQgbmljaHQgYWJnZWZyYWd0KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg4CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBMb2thbGVyIEJyYW5jaCBrb25maWd1cmllcnQgZsO8ciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clsxXSAiICBMb2thbGUgQnJhbmNoZXMga29uZmlndXJpZXJ0IGbDvHIgJ2dpdCBwdWxsJzoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICBMb2thbGUgUmVmZXJlbnplbiB3ZXJkZW4gdm9uICdnaXQgcHVzaCcgZ2VzcGllZ2VsdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAgTG9rYWxlIFJlZmVyZW56IGtvbmZpZ3VyaWVydCBmw7xyICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMV0gIiAgTG9rYWxlIFJlZmVyZW56ZW4ga29uZmlndXJpZXJ0IGbDvHIgJ2dpdCBwdXNoJyVzOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIzCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgInNldHp0IHJlZnMvcmVtb3Rlcy88TmFtZT4vSEVBRCBnZW3DpMOfIGRlbSBSZW1vdGUtUmVwb3NpdG9yeSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJlbnRmZXJudCByZWZzL3JlbW90ZXMvPE5hbWU+L0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAiS2FubiBIRUFEIGRlcyBSZW1vdGUtUmVwb3NpdG9yaWVzIG5pY2h0IGJlc3RpbW1lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDgKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiIgogIk1laHJlcmUgSGF1cHRicmFuY2hlcyBpbSBSZW1vdGUtUmVwb3NpdG9yeS4gQml0dGUgd8OkaGxlbiBTaWUgZXhwbGl6aXQgZWluZW4gIgogImF1cyBtaXQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJLb25udGUgJXMgbmljaHQgZW50ZmVybmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICJrZWluZSBnw7xsdGlnZSBSZWZlcmVuejogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGVpbnJpY2h0ZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyB3aXJkIHVucmVmZXJlbnppZXJ0ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgd3VyZGUgdW5yZWZlcmVuemllcnQhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICJlbnRmZXJuZSB2ZXJhbHRldGUgQnJhbmNoZXMgdm9uICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBbd8O8cmRlIHZlcmFsdGV0ZW4gQnJhbmNoIGVudGZlcm5lbl0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIqIFt2ZXJhbHRldGVuIEJyYW5jaCBlbnRmZXJudF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM1NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzYyCiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAiZW50ZmVybmUgdmVyYWx0ZXRlIEJyYW5jaGVzIGltIFJlbW90ZS1SZXBvc2l0b3J5IG5hY2ggXCJmZXRjaFwiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDI1IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OSBidWlsdGluL3JlbW90ZS5jOjE1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiS2VpbiBzb2xjaGVzIFJlbW90ZS1SZXBvc2l0b3J5ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAiQnJhbmNoIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgImtlaW4gUmVtb3RlLVJlcG9zaXRvcnkgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICJudXIgVVJMcyBmw7xyIFB1c2ggYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY3CiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICJhbGxlIFVSTHMgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIktlaW5lIFVSTHMgZsO8ciBSZW1vdGUtUmVwb3NpdG9yeSAnJXMnIGtvbmZpZ3VyaWVydC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCiBtc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCiBtc2dzdHIgIlVSTHMgZsO8ciBcInB1c2hcIiBtYW5pcHVsaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAiVVJMIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICJVUkxzIGzDtnNjaGVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMgogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLWFkZCB1bmQgLS1kZWxldGUga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAidW5nw7xsdGlnZXMgYWx0ZXMgVVJMIEZvcm1hdDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAiS2VpbmUgc29sY2hlIFVSTCBnZWZ1bmRlbjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICJXZXJkZSBrZWluZSBVUkxzIGVudGZlcm5lbiwgZGllIG5pY2h0IGbDvHIgXCJwdXNoXCIgYmVzdGltbXQgc2luZCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTcKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICJlcndlaXRlcnRlIEF1c2dhYmVuOyBtdXNzIHZvciBlaW5lbSBVbnRlcmJlZmVobCBhbmdlZ2ViZW4gd2VyZGVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJVbmJla2FubnRlciBVbnRlcmJlZmVobDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMgorIzogYnVpbHRpbi9yZXBhY2suYzoyMwogbXNnaWQgIiIKICJJbmNyZW1lbnRhbCByZXBhY2tzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBiaXRtYXAgaW5kZXhlcy4gIFVzZVxuIgogIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9yIGRpc2FibGUgdGhlIHBhY2sud3JpdGViaXRtYXBzIGNvbmZpZ3VyYXRpb24uIgpAQCAtMTIyMjcsMTI2ICsxMjYyMCwxMzAgQEAKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvZGVyIGRlYWt0aXZpZXJlbiBTaWUgZGllIHBhY2sud3JpdGViaXRtYXBzXG4iCiAiS29uZmlndXJhdGlvbi4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY2CisjOiBidWlsdGluL3JlcGFjay5jOjE2OAogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICJhbGxlcyBpbiBlaW5lIGVpbnppZ2UgUGFjay1EYXRlaSBwYWNrZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY4CisjOiBidWlsdGluL3JlcGFjay5jOjE3MAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgImdlbmF1IHdpZSAtYSwgdW5lcnJlaWNoYmFyZSBPYmpla3RlIHdlcmRlbiBhYmVyIG5pY2h0IGdlbMO2c2NodCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCiBtc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgogbXNnc3RyICJyZWR1bmRhbnRlIFBha2V0ZSBlbnRmZXJuZW4gdW5kIFwiZ2l0LXBydW5lLXBhY2tlZFwiIGF1c2bDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NQogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICItLW5vLXJldXNlLWRlbHRhIGFuIGdpdC1wYWNrLW9iamVjdHMgw7xiZXJnZWJlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICItLW5vLXJldXNlLW9iamVjdCBhbiBnaXQtcGFjay1vYmplY3RzIMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CisjOiBidWlsdGluL3JlcGFjay5jOjE3OQogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAiZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyBuaWNodCBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MAorIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiLS1sb2NhbCBhbiBnaXQtcGFjay1vYmplY3RzIMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgyCisjOiBidWlsdGluL3JlcGFjay5jOjE4NAogbXNnaWQgIndyaXRlIGJpdG1hcCBpbmRleCIKIG1zZ3N0ciAiQml0bWFwLUluZGV4IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgIkRhdHVtc2FuZ2FiZSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAibWl0IC1BLCBrZWluZSBPYmpla3RlIMOkbHRlciBhbHMgZGllc2VzIERhdHVtIGzDtnNjaGVuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NgorIzogYnVpbHRpbi9yZXBhY2suYzoxODgKIG1zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAibWl0IC1hLCBuaWNodCBlcnJlaWNoYmFyZSBPYmpla3RlIG5ldSBwYWNrZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg4CisjOiBidWlsdGluL3JlcGFjay5jOjE5MAogbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKIG1zZ3N0ciAiR3LDtsOfZSBkZXMgRmVuc3RlcnMgZsO8ciBkaWUgRGVsdGEtS29tcHJlc3Npb24iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg5IGJ1aWx0aW4vcmVwYWNrLmM6MTkzCisjOiBidWlsdGluL3JlcGFjay5jOjE5MSBidWlsdGluL3JlcGFjay5jOjE5NwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICJCeXRlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkyCiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIiIKICJnbGVpY2hlcyB3aWUgb2JlbiwgYWJlciBkaWUgU3BlaWNoZXJncsO2w59lIGFuc3RhdHQgZGVyXG4iCiAiQW56YWhsIGRlciBFaW50csOkZ2UgbGltaXRpZXJlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICJkaWUgbWF4aW1hbGUgRGVsdGEtVGllZmUgbGltaXRpZXJlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk2Cittc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzIgorbXNnc3RyICJtYXhpbWFsZSBBbnphaGwgdm9uIFRocmVhZHMgbGltaXRpZXJlbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxOTgKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAibWF4aW1hbGUgR3LDtsOfZSBmw7xyIGplZGUgUGFrZXRkYXRlaSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjAwCiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgIiIKICJPYmpla3RlIHVtcGFja2VuLCBkaWUgc2ljaCBpbiBtaXQgLmtlZXAgbWFya2llcnRlbiBQYWNrLURhdGVpZW4gYmVmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA2CisjOiBidWlsdGluL3JlcGFjay5jOjIxMAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImthbm4gUGFjay1EYXRlaWVuIGluIHByZWNpb3VzLW9iamVjdHMgUmVwb3NpdG9yeSBuaWNodCBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjE0CiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgdW5kIC1BIHNpbmQgaW5rb21wYXRpYmVsIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjQwMCBidWlsdGluL3dvcmt0cmVlLmM6MTE1CisjOiBidWlsdGluL3JlcGFjay5jOjQwNiBidWlsdGluL3dvcmt0cmVlLmM6MTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTMO2c2NoZW4gdm9uICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE5CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMAogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSA8T2JqZWt0PiA8RXJzZXR6dW5nPiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIxCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSAtLWVkaXQgPG9iamVjdD4iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0gLS1lZGl0IDxPYmpla3Q+IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjIKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPGNvbW1pdD4gWzxwYXJlbnQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWdyYWZ0IDxDb21taXQ+IFs8RWx0ZXJuLUNvbW1pdD4uLi5dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjMKIG1zZ2lkICJnaXQgcmVwbGFjZSAtZCA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgLWQgPE9iamVrdD4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNAogbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxGb3JtYXQ+XSBbLWwgWzxNdXN0ZXI+XV0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyNSBidWlsdGluL3JlcGxhY2UuYzozNjMgYnVpbHRpbi9yZXBsYWNlLmM6MzkxCisjOiBidWlsdGluL3JlcGxhY2UuYzozMzEgYnVpbHRpbi9yZXBsYWNlLmM6MzY5IGJ1aWx0aW4vcmVwbGFjZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgT2JqZWt0LU5hbWU6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAidW5nw7xsdGlnZXIgTWVyZ2UtVGFnIGluIENvbW1pdCAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgImZlaGxlcmhhZnRlciBNZXJnZS1UYWcgaW4gQ29tbWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvcmlnaW5hbCBjb21taXQgJyVzJyBjb250YWlucyBtZXJnZXRhZyAnJXMnIHRoYXQgaXMgZGlzY2FyZGVkOyB1c2UgLS1lZGl0ICIKQEAgLTEyMzU1LDIwNiArMTI3NTIsMjA2IEBACiAiRGVyIHVyc3Byw7xuZ2xpY2hlIENvbW1pdCAnJXMnIGVudGjDpGx0IE1lcmdlLVRhZyAnJXMnLCBkZXIgdmVyd29yZmVuXG4iCiAid2lyZDsgYmVudXR6ZW4gU2llIC0tZWRpdCBhbnN0YXR0IC0tZ3JhZnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBvcmlnaW5hbCBjb21taXQgJyVzJyBoYXMgYSBncGcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAiRGVyIHVyc3Byw7xuZ2xpY2hlIENvbW1pdCAnJXMnIGhhdCBlaW5lIEdQRy1TaWduYXR1ci4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA4CiBtc2dpZCAidGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIHJlcGxhY2VtZW50IGNvbW1pdCEiCiBtc2dzdHIgIkRpZSBTaWduYXR1ciB3aXJkIGluIGRlbSBFcnNldHp1bmdzLUNvbW1pdCBlbnRmZXJudCEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgogbXNnc3RyICJLb25udGUgRXJzZXR6dW5ncy1Db21taXQgZsO8ciAnJXMnIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAiZXJzZXR6ZW5kZSBSZWZlcmVuemVuIGF1Zmxpc3RlbiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMzCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzkKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJlcnNldHplbmRlIFJlZmVyZW56ZW4gbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQwCiBtc2dpZCAiZWRpdCBleGlzdGluZyBvYmplY3QiCiBtc2dzdHIgImV4aXN0aWVyZW5kZXMgT2JqZWt0IGJlYXJiZWl0ZW4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQxCiBtc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKIG1zZ3N0ciAiRWx0ZXJuLUNvbW1pdHMgZWluZXMgQ29tbWl0cyDDpG5kZXJuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgImRpZSBSZWZlcmVueiBlcnNldHplbiwgd2VubiBzaWUgZXhpc3RpZXJ0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MwogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAia2VpbmUgYW5zcHJlY2hlbmRlIEFuemVpZ2UgZGVzIE9iamVrdGluaGFsdGVzIGbDvHIgLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0NAogbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZGFzIGFuZ2VnZWJlbmUgRm9ybWF0IGJlbnV0emVuIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjEyCisjOiBidWlsdGluL3JlcmVyZS5jOjEzCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPHBhdGg+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYW4gfCBmb3JnZXQgPFBmYWQ+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzo1OAorIzogYnVpbHRpbi9yZXJlcmUuYzo1OQogbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgogbXNnc3RyICJzYXViZXJlIEF1ZmzDtnN1bmdlbiBpbSBJbmRleCByZWdpc3RyaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNgorIzogYnVpbHRpbi9yZXNldC5jOjI5CiBtc2dpZCAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIG1zZ3N0ciAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxDb21taXQ+XSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3CisjOiBidWlsdGluL3Jlc2V0LmM6MzAKIG1zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPENvbW1pdC1SZWZlcmVuej5dIFstLV0gPFBmYWRlPi4uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4CisjOiBidWlsdGluL3Jlc2V0LmM6MzEKIG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCiBtc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs8Q29tbWl0LVJlZmVyZW56Pl0gWy0tXSBbPFBmYWRlPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAibWl4ZWQiCiBtc2dzdHIgIm1peGVkIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgInNvZnQiCiBtc2dzdHIgInNvZnQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAiaGFyZCIKIG1zZ3N0ciAiaGFyZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJtZXJnZSIKIG1zZ3N0ciAienVzYW1tZW5mw7xocmVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgImtlZXAiCiBtc2dzdHIgImtlZXAiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NAorIzogYnVpbHRpbi9yZXNldC5jOjc3CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCiBtc2dzdHIgIlNpZSBoYWJlbiBrZWluZW4gZ8O8bHRpZ2VuIEhFQUQuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3OQogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgIkZlaGxlciBiZWltIEZpbmRlbiBkZXMgXCJUcmVlXCItT2JqZWt0ZXMgdm9uIEhFQUQuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODIKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRmluZGVuIGRlcyBcIlRyZWVcIi1PYmpla3RlcyB2b24gJXMuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MTAwCisjOiBidWlsdGluL3Jlc2V0LmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgogbXNnc3RyICJIRUFEIGlzdCBqZXR6dCBiZWkgJXMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxODMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAiS2FubiBrZWluZW4gJyVzJy1SZXNldCBkdXJjaGbDvGhyZW4sIHfDpGhyZW5kIGVpbiBNZXJnZSBpbSBHYW5nZSBpc3QuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc2CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIKIG1zZ3N0ciAid2VuaWdlciBBdXNnYWJlbiwgbWVsZGV0IG51ciBGZWhsZXIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODgKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAiSEVBRCB1bmQgSW5kZXggdW1zZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODkKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgIm51ciBIRUFEIHVtc2V0emVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjgxIGJ1aWx0aW4vcmVzZXQuYzoyODMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTEgYnVpbHRpbi9yZXNldC5jOjI5MwogbXNnaWQgInJlc2V0IEhFQUQsIGluZGV4IGFuZCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIkhFQUQsIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdW1zZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgIkhFQUQgdW1zZXR6ZW4sIGFiZXIgbG9rYWxlIMOEbmRlcnVuZ2VuIGJlaGFsdGVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg4CisjOiBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIm51ciBzcGVpY2hlcm4sIGRhc3MgZ2Vsw7ZzY2h0ZSBQZmFkZSBzcMOkdGVyIGhpbnp1Z2Vmw7xndCB3ZXJkZW4gc29sbGVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL3Jlc2V0LmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFscyBnw7xsdGlnZW4gQ29tbWl0IGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbHMgZ8O8bHRpZ2VzIFwiVHJlZVwiLU9iamVrdCBhdWZsw7ZzZW4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzIyCisjOiBidWlsdGluL3Jlc2V0LmM6MzM3CiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgogbXNnc3RyICItLXBhdGNoIGlzdCBpbmtvbXBhdGliZWwgbWl0IC0te2hhcmQsbWl4ZWQsc29mdH0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDYKIG1zZ2lkICItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLW1peGVkIG1pdCBQZmFkZW4gaXN0IHZlcmFsdGV0OyBiZW51dHplbiBTaWUgc3RhdHRkZXNzZW4gJ2dpdCByZXNldCAtLSAiCiAiPFBmYWRlPicuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMzCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiRWluICclcyctUmVzZXQgbWl0IFBmYWRlbiBpc3QgbmljaHQgbcO2Z2xpY2guIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQzCisjOiBidWlsdGluL3Jlc2V0LmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICInJXMnLVJlc2V0IGlzdCBpbiBlaW5lbSBCYXJlLVJlcG9zaXRvcnkgbmljaHQgZXJsYXVidCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0NworIzogYnVpbHRpbi9yZXNldC5jOjM2MgogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgogbXNnc3RyICItTiBrYW5uIG51ciBtaXQgLW1peGVkIGJlbnV0enQgd2VyZGVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzY0CisjOiBidWlsdGluL3Jlc2V0LmM6Mzc5CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCiBtc2dzdHIgIk5pY2h0IHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW4gbmFjaCBadXLDvGNrc2V0enVuZzoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNzAKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgIktvbm50ZSBJbmRleC1EYXRlaSBuaWNodCB6dSBDb21taXQgJyVzJyBzZXR6ZW4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mzc0CisjOiBidWlsdGluL3Jlc2V0LmM6Mzg5CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAiS29ubnRlIG5ldWUgSW5kZXgtRGF0ZWkgbmljaHQgc2NocmVpYmVuLiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1OAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAicmV2LWxpc3QgdW50ZXJzdMO8dHp0IGtlaW5lIEFuemVpZ2Ugdm9uIE5vdGl6ZW4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NAogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8T3B0aW9uZW4+XSAtLSBbPEFyZ3VtZW50ZT4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTkKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgImAtLWAgYWxzIEFyZ3VtZW50IGxhc3NlbiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTgKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDAxCiBtc2dpZCAic3RvcCBwYXJzaW5nIGFmdGVyIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50IgogbXNnc3RyICJkYXMgUGFyc2VuIG5hY2ggZGVtIGVyc3RlbiBBcmd1bWVudCwgd2FzIGtlaW5lIE9wdGlvbiBpc3QsIHN0b3BwZW4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDAxCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwNAogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgIiIKICJBdXNnYWJlIGluIExhbmdmb3JtIG1pdCBBcmd1bWVudGVuIGFuIGRlbiBPcHRpb25lbiAoZ2V0cmVubnQgZHVyY2ggJz0nKSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MzIKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTM1CiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtMTI1NjksOTIgKzEyOTY2LDk2IEBACiAiRsO8aHJlbiBTaWUgXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiBmw7xyIHdlaXRlcmUgSW5mb3JtYXRpb25lbiBiZWkgIgogImVyc3RlciBWZXJ3ZW5kdW5nIGF1cy4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMKIG1zZ2lkICJnaXQgcmV2ZXJ0IFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJldmVydCBbPE9wdGlvbmVuPl0gPENvbW1pdC1BbmdhYmU+Li4uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIzCisjOiBidWlsdGluL3JldmVydC5jOjI0CiBtc2dpZCAiZ2l0IHJldmVydCA8c3ViY29tbWFuZD4iCiBtc2dzdHIgImdpdCByZXZlcnQgPFVudGVyYmVmZWhsPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyOAorIzogYnVpbHRpbi9yZXZlcnQuYzoyOQogbXNnaWQgImdpdCBjaGVycnktcGljayBbPG9wdGlvbnM+XSA8Y29tbWl0LWlzaD4uLi4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayBbPE9wdGlvbmVuPl0gPENvbW1pdC1BbmdhYmU+Li4uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjI5CisjOiBidWlsdGluL3JldmVydC5jOjMwCiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDxVbnRlcmJlZmVobD4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiAlcyBrYW5uIG5pY2h0IG1pdCAlcyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgwCisjOiBidWlsdGluL3JldmVydC5jOjk5CiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiXCJyZXZlcnRcIiBvZGVyIFwiY2hlcnJ5LXBpY2tcIiBBYmxhdWYgYmVlbmRlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJcInJldmVydFwiIG9kZXIgXCJjaGVycnktcGlja1wiIEFibGF1ZiBmb3J0c2V0emVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgyCisjOiBidWlsdGluL3JldmVydC5jOjEwMQogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIlwicmV2ZXJ0XCIgb2RlciBcImNoZXJyeS1waWNrXCIgQWJsYXVmIGFiYnJlY2hlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAibmljaHQgYXV0b21hdGlzY2ggY29tbWl0dGVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjg0CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nIGJlYXJiZWl0ZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKLW1zZ2lkICJwYXJlbnQgbnVtYmVyIgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKK21zZ2lkICJwYXJlbnQtbnVtYmVyIgogbXNnc3RyICJOdW1tZXIgZGVzIEVsdGVybnRlaWxzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL3JldmVydC5jOjEwNworbXNnaWQgInNlbGVjdCBtYWlubGluZSBwYXJlbnQiCittc2dzdHIgIkVsdGVybnRlaWwgZGVyIEhhdXB0bGluaWUgYXVzd8OkaGxlbiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiTWVyZ2UtU3RyYXRlZ2llIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkwCisjOiBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAiT3B0aW9uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjExMQogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIk9wdGlvbiBmw7xyIE1lcmdlLVN0cmF0ZWdpZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICJDb21taXQtTmFtZW4gYW5ow6RuZ2VuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAidXJzcHLDvG5nbGljaGUsIGxlZXJlIENvbW1pdHMgZXJoYWx0ZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEyMwogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiQ29tbWl0cyBtaXQgbGVlcmVyIEJlc2NocmVpYnVuZyBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI0CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgInJlZHVuZGFudGUsIGxlZXJlIENvbW1pdHMgYmVoYWx0ZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTkyCisjOiBidWlsdGluL3JldmVydC5jOjIxMgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgIlwicmV2ZXJ0XCIgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CisjOiBidWlsdGluL3JldmVydC5jOjIyNQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL3JtLmM6MTcKKyM6IGJ1aWx0aW4vcm0uYzoxOAogbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IHJtIFs8T3B0aW9uZW4+XSBbLS1dIDxEYXRlaT4uLi4iCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMDUKKyM6IGJ1aWx0aW4vcm0uYzoyMDYKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgogImZpbGUgYW5kIHRoZSBIRUFEOiIKQEAgLTEyNjY5LDcgKzEzMDcwLDcgQEAKICJ1bnRlcnNjaGllZGxpY2hcbiIKICJ6dSBkZXIgRGF0ZWkgdW5kIEhFQUQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjEwCisjOiBidWlsdGluL3JtLmM6MjExCiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC0xMjY3Nyw0NCArMTMwNzgsNDQgQEAKICJcbiIKICIoYmVudXR6ZW4gU2llIC1mLCB1bSBkaWUgTMO2c2NodW5nIHp1IGVyendpbmdlbikiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTQKKyM6IGJ1aWx0aW4vcm0uYzoyMTUKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJkaWUgZm9sZ2VuZGUgRGF0ZWkgaGF0IHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW46IgogbXNnc3RyWzFdICJkaWUgZm9sZ2VuZGVuIERhdGVpZW4gaGFiZW4genVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbjoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTggYnVpbHRpbi9ybS5jOjIyNworIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIiIKICJcbiIKLSIoYmVudXR6ZW4gU2llIC0tY2FjaGVkLCB1bSBkaWUgRGF0ZWkgenUgYmVoYWx0ZW4sIG9kZXIgLWYsIHVtIGRpZSBFbnRmZXJudW5nICIKKyIoYmVudXR6ZW4gU2llIC0tY2FjaGVkLCB1bSBkaWUgRGF0ZWkgenUgYmVoYWx0ZW4sIG9kZXIgLWYsIHVtIGRhcyBFbnRmZXJuZW4gIgogInp1IGVyendpbmdlbikiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMjQKKyM6IGJ1aWx0aW4vcm0uYzoyMjUKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dzdHJbMF0gImRpZSBmb2xnZW5kZSBEYXRlaSBoYXQgbG9rYWxlIMOEbmRlcnVuZ2VuOiIKIG1zZ3N0clsxXSAiZGllIGZvbGdlbmRlbiBEYXRlaWVuIGhhYmVuIGxva2FsZSDDhG5kZXJ1bmdlbjoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDIKKyM6IGJ1aWx0aW4vcm0uYzoyNDMKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICJrZWluZSBnZWzDtnNjaHRlbiBEYXRlaWVuIGF1Zmxpc3RlbiIKIAotIzogYnVpbHRpbi9ybS5jOjI0MworIzogYnVpbHRpbi9ybS5jOjI0NAogbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJudXIgYXVzIGRlbSBJbmRleCBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDQKKyM6IGJ1aWx0aW4vcm0uYzoyNDUKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAiZGllIFwidXAtdG8tZGF0ZVwiIFByw7xmdW5nIMO8YmVyc2NocmVpYmVuIgogCi0jOiBidWlsdGluL3JtLmM6MjQ1CisjOiBidWlsdGluL3JtLmM6MjQ2CiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCi1tc2dzdHIgInJla3Vyc2l2ZSBFbnRmZXJudW5nIGVybGF1YmVuIgorbXNnc3RyICJyZWt1cnNpdmVzIEVudGZlcm5lbiBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9ybS5jOjI0NworIzogYnVpbHRpbi9ybS5jOjI0OAogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICJtaXQgUsO8Y2tnYWJld2VydCAwIGJlZW5kZW4sIHdlbm4ga2VpbmUgw5xiZXJlaW5zdGltbXVuZyBnZWZ1bmRlbiB3dXJkZSIKIApAQCAtMTI3MzMsNyArMTMxMzQsNyBAQAogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTkKIG1zZ2lkICIiCiAiZ2l0IHNlbmQtcGFjayBbLS1hbGwgfCAtLW1pcnJvcl0gWy0tZHJ5LXJ1bl0gWy0tZm9yY2VdIFstLXJlY2VpdmUtcGFjaz08Z2l0LSIKICJyZWNlaXZlLXBhY2s+XSBbLS12ZXJib3NlXSBbLS10aGluXSBbLS1hdG9taWNdIFs8aG9zdD46XTxkaXJlY3Rvcnk+ICIKQEAgLTEyNzQ2LDIzICsxMzE0NywyMyBAQAogIiAgLS1hbGwgdW5kIGRpZSBleHBsaXppdGUgQW5nYWJlIGVpbmVyIDxSZWZlcmVuej4gc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnICIKICJhdXMuIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKIG1zZ2lkICJyZW1vdGUgbmFtZSIKIG1zZ3N0ciAiTmFtZSBkZXMgUmVtb3RlLVJlcG9zaXRvcmllcyIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAidXNlIHN0YXRlbGVzcyBSUEMgcHJvdG9jb2wiCiBtc2dzdHIgInp1c3RhbmRzbG9zZXMgUlBDLVByb3Rva29sbCB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NwogbXNnaWQgInJlYWQgcmVmcyBmcm9tIHN0ZGluIgogbXNnc3RyICJSZWZlcmVuemVuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc4CiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAiU3RhdHVzIGRlcyBSZW1vdGUtSGVscGVycyBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjEzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTQKIG1zZ2lkICJnaXQgc2hvcnRsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHNob3J0bG9nIFs8T3B0aW9uZW4+XSBbPENvbW1pdGJlcmVpY2g+XSBbWy0tXSBbPFBmYWQ+Li4uXV0iCiAKQEAgLTEyNzkwLDcgKzEzMTkxLDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIkF1c2dhYmUgbWl0IFplaWxlbnVtYnLDvGNoZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LWJyYW5jaCBbLWEgfCAtLWFsbF0gWy1yIHwgLS1yZW1vdGVzXSBbLS10b3BvLW9yZGVyIHwgLS1kYXRlLW9yZGVyXVxuIgogIlx0XHRbLS1jdXJyZW50XSBbLS1jb2xvcls9PHdoZW4+XSB8IC0tbm8tY29sb3JdIFstLXNwYXJzZV1cbiIKQEAgLTEyODAyLDEyNyArMTMyMDMsMTI3IEBACiAiXHRcdFstLW1vcmU9PG4+IHwgLS1saXN0IHwgLS1pbmRlcGVuZGVudCB8IC0tbWVyZ2UtYmFzZV1cbiIKICJcdFx0Wy0tbm8tbmFtZSB8IC0tc2hhMS1uYW1lXSBbLS10b3BpY3NdIFsoPENvbW1pdD4gfCA8Z2xvYj4pLi4uXSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjE0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTYKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPEJhc2lzPl1dIFstLWxpc3RdIFs8UmVmZXJlbno+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM3NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIgogbXNnaWRfcGx1cmFsICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIKIG1zZ3N0clswXSAiaWdub3JpZXJlICVzOyBrYW5uIG5pY2h0IG1laHIgYWxzICVkIFJlZmVyZW56IGJlaGFuZGVsbiIKIG1zZ3N0clsxXSAiaWdub3JpZXJlICVzOyBrYW5uIG5pY2h0IG1laHIgYWxzICVkIFJlZmVyZW56ZW4gYmVoYW5kZWxuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIKIG1zZ3N0ciAia2VpbmUgw7xiZXJlaW5zdGltbWVuZGVuIFJlZmVyZW56ZW4gbWl0ICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI2CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJSZW1vdGUtVHJhY2tpbmcgdW5kIGxva2FsZSBCcmFuY2hlcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYyOAogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJSZW1vdGUtVHJhY2tpbmctQnJhbmNoZXMgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzAKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICInKiErLScgZW50c3ByZWNoZW5kIGRlcyBCcmFuY2hlcyBlaW5mw6RyYmVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMyCiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgIjxuPiB3ZWl0ZXJlIENvbW1pdHMgbmFjaCBkZW0gZ2VtZWluc2FtZW4gVm9yZ8Okbmdlci1Db21taXQgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzQKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgIlN5bm9ueW0gZsO8ciBtb3JlPS0xIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM1CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgIk5hbWVuIHVudGVyZHLDvGNrZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzcKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiZGVuIGFrdHVlbGxlbiBCcmFuY2ggZWluYmV6aWVoZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzkKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIkNvbW1pdHMgbmFjaCBpaHJlbiBPYmpla3RuYW1lbiBiZW5lbm5lbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIm3DtmdsaWNoZSBNZXJnZS1CYXNlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MwogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgIiIKICJSZWZlcmVuemVuLCBkaWUgdW5lcnJlaWNoYmFyIHZvbiBhbGxlbiBhbmRlcmVuIFJlZmVyZW56ZW4gc2luZCwgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIkNvbW1pdHMgaW4gdG9wb2xvZ2lzY2hlciBPcmRudW5nIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgIm51ciBDb21taXRzIGFuemVpZ2VuLCBkaWUgc2ljaCBuaWNodCBpbSBlcnN0ZW4gQnJhbmNoIGJlZmluZGVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUwCiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICJNZXJnZXMgYW56ZWlnZW4sIGRpZSBudXIgdm9uIGVpbmVtIEJyYW5jaCBhdXMgZXJyZWljaGJhciBzaW5kIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICJ0b3BvbG9naXNjaGUgU29ydGllcnVuZywgQmVpYmVoYWx0dW5nIERhdHVtc29yZG51bmcgd28gbcO2Z2xpY2giCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPEJhc2lzPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAiZGllIDxuPiBqw7xuZ3N0ZW4gRWludHLDpGdlIGltIFJlZmxvZywgYmVnaW5uZW5kIGFuIGRlciBCYXNpcywgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2OTAKIG1zZ2lkICIiCiAiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCiBtc2dzdHIgIiIKICItLXJlZmxvZyBpc3QgaW5rb21wYXRpYmVsIG1pdCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9kZXIgLS1tZXJnZS0iCiAiYmFzZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxNAogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgImtlaW5lIEJyYW5jaGVzIGFuZ2VnZWJlbiwgdW5kIEhFQUQgaXN0IHVuZ8O8bHRpZyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxNwogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1yZWZsb2cgYmVuw7Z0aWd0IGVpbmVuIEJyYW5jaG5hbWVuLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnc3RyWzBdICJudXIgJWQgRWludHJhZyBrYW5uIHp1ciBzZWxiZW4gWmVpdCBhbmdlemVpZ3Qgd2VyZGVuIgogbXNnc3RyWzFdICJudXIgJWQgRWludHLDpGdlIGvDtm5uZW4genVyIHNlbGJlbiBaZWl0IGFuZ2V6ZWlndCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZWYgJXMiCiBtc2dzdHIgIlJlZmVyZW56IG5pY2h0IGdlZnVuZGVuOiAlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXZzLiIKIG1zZ3N0clswXSAiS2FubiBuaWNodCBtZWhyIGFscyAlZCBDb21taXQgYmVoYW5kZWxuLiIKIG1zZ3N0clsxXSAiS2FubiBuaWNodCBtZWhyIGFscyAlZCBDb21taXRzIGJlaGFuZGVsbi4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIgogbXNnc3RyICInJXMnIGlzdCBrZWluZSBnw7xsdGlnZSBSZWZlcmVuei4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCiBtc2dzdHIgImthbm4gQ29tbWl0ICVzICglcykgbmljaHQgZmluZGVuIgpAQCAtMTI5NzUsMTI4ICsxMzM3NiwxMzggQEAKICJSZWZlcmVuemVuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBhbnplaWdlbiwgZGllIHNpY2ggbmljaHQgaW0gbG9rYWxlbiAiCiAiUmVwb3NpdG9yeSBiZWZpbmRlbiIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTcKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE4CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTkKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNQorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzYKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKICJhbGxlIFplaWxlbiwgZGllIG1pdCBkZW0gS29tbWVudGFyemVpY2hlbiBiZWdpbm5lbiwgw7xiZXJzcHJpbmdlbiB1bmQgIgogImVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzgKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM5CiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICJLb21tZW50YXJ6ZWljaGVuIG1pdCBMZWVyemVpY2hlbiBhbiBqZWRlIFplaWxlIHZvcmFuc3RlbGxlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICJSZWZlcmVueiBuaWNodCBnZWZ1bmRlbjogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAiVm9sbHN0w6RuZGlnZXIgUmVmZXJlbnpuYW1lIGVyd2FydGV0LCAlcyBlcmhhbHRlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICJLYW5uIGVpbmUgS29tcG9uZW50ZSB2b24gVVJMICclcycgbmljaHQgZXh0cmFoaWVyZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMwNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiQWx0ZXJuYXRpdmVyIEFua2VyIGbDvHIgcmVsYXRpdmUgUGZhZGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMTAKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxQZmFkPl0gWzxQZmFkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMzMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM0NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM1NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAiS2VpbmUgVVJMIGbDvHIgU3VibW9kdWwtUGZhZCAnJXMnIGluIC5naXRtb2R1bGVzIGdlZnVuZGVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgbG9va3VwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgorImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgorbXNnc3RyICIiCisiS29ubnRlIEtvbmZpZ3VyYXRpb24gJyVzJyBuaWNodCBuYWNoc2NobGFnZW4uIE5laG1lIGFuLCBkYXNzIGRpZXNlcyAiCisiUmVwb3NpdG9yeVxuIgorInNlaW4gZWlnZW5lcyB2ZXJiaW5kbGljaGVzIFVwc3RyZWFtLVJlcG9zaXRvcnkgaXN0LiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiRmVobGVyIGJlaW0gRWludHJhZ2VuIGRlciBVUkwgZsO8ciBTdWJtb2R1bC1QZmFkICclcycgaW4gZGllIEtvbmZpZ3VyYXRpb24uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIlN1Ym1vZHVsICclcycgKCVzKSBmw7xyIFBmYWQgJyVzJyBpbiBkaWUgS29uZmlndXJhdGlvbiBlaW5nZXRyYWdlbi5cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAiV2FybnVuZzogJ3VwZGF0ZSctTW9kdXMgZsO8ciBTdWJtb2R1bCAnJXMnIHZvcmdlc2NobGFnZW5cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM5NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKICJGZWhsZXIgYmVpIMOEbmRlcnVuZyBkZXMgQWt0dWFsaXNpZXJ1bmdzbW9kdXMgZsO8ciBTdWJtb2R1bC1QZmFkICclcycgaW4gZGVyXG4iCiAiS29uZmlndXJhdGlvbi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDMKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiQXVzZ2FiZW4gYmVpIEluaXRpYWxpc2llcnVuZyBlaW5lcyBTdWJtb2R1bHMgdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPFBmYWQ+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3NgogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPFBmYWQ+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgIktlaW5lIFN1Ym1vZHVsLVp1b3JkbnVuZyBpbiAuZ2l0bW9kdWxlcyBmw7xyIFBmYWQgJyVzJyBnZWZ1bmRlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgogbXNnc3RyICJTdWJtb2R1bCAnJXMnIGthbm4gQWx0ZXJuYXRpdmUgbmljaHQgaGluenVmw7xnZW46ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJXZXJ0ICclcycgZsO8ciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSB3aXJkIG5pY2h0IGVya2FubnQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJXZXJ0ICclcycgZsO8ciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gd2lyZCBuaWNodCBlcmthbm50LiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICJQZmFkIGbDvHIgbmV1ZXMgU3VibW9kdWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJOYW1lIGRlcyBuZXVlbiBTdWJtb2R1bHMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICJVUkwgdm9uIGRlciBkYXMgU3VibW9kdWwgZ2VrbG9udCB3aXJkIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJUaWVmZSBkZXMgS2xvbnMgbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MwogbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIkZvcnRzY2hyaXR0c2FuemVpZ2UgYmVpbSBLbG9uZW4gZXJ6d2luZ2VuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjE1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUzCiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgpAQCAtMTMxMDUsOTggKzEzNTE2LDg4IEBACiAiPFJlcG9zaXRvcnk+XSBbLS1uYW1lIDxOYW1lPl0gWy0tdXJsIDxVUkw+XSBbLS1uYW1lIDxOYW1lPl0gWy0tZGVwdGggIgogIjxUaWVmZT5dIC0tdXJsIDxVUkw+IC0tcGF0aCA8UGZhZD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICJLbG9uZW4gdm9uICclcycgaW4gU3VibW9kdWwtUGZhZCAnJXMnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKLW1zZ3N0ciAiS2FubiBEYXRlaSAnJXMnIG5pY2h0IMO2ZmZuZW4iCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNsb3NlIGZpbGUgJXMiCi1tc2dzdHIgIktvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IHNjaGxpZcOfZW4uIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFN1Ym1vZHVsLVZlcnplaWNobmlzICclcycgbmljaHQgZmluZGVuLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAiU3VibW9kdWwtUGZhZCAnJXMnIG5pY2h0IGluaXRpYWxpc2llcnQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiTWVpbnRlbiBTaWUgdmllbGxlaWNodCAndXBkYXRlIC0taW5pdCc/IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiw5xiZXJzcHJpbmdlIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlcyBTdWJtb2R1bCAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiw5xiZXJzcHJpbmdlIFN1Ym1vZHVsICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gS2xvbmVuIHZvbiAnJXMnLiBXZWl0ZXJlciBWZXJzdWNoIGdlcGxhbnQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCiBtc2dzdHIgIlp3ZWl0ZXIgVmVyc3VjaCAnJXMnIHp1IGtsb25lbiBmZWhsZ2VzY2hsYWdlbiwgYnJlY2hlIGFiLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MgogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJQZmFkIHp1bSBBcmJlaXRzdmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzcKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAiIgogIlBmYWQgenVtIEFyYmVpdHN2ZXJ6ZWljaG5pcywgw7xiZXIgdmVyc2NoYWNodGVsdGUgU3VibW9kdWwtR3JlbnplbiBoaW53ZWciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODEKIG1zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgogbXNnc3RyICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvZGVyIG5vbmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIiIKICJFcnN0ZWxsdW5nIGVpbmVzIEtsb25zIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSwgYWJnZXNjaG5pdHRlbiAiCiAiYmVpXG4iCiAiZGVyIGFuZ2VnZWJlbmVuIEFuemFobCB2b24gQ29tbWl0cy4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODgKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICJQYXJhbGxlbGUgQXVzZsO8aHJ1bmdlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MAogbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKIG1zZ3N0ciAiIgogIm9iIGRhcyBpbml0aWFsZSBLbG9uZW4gZGVuIEVtcGZlaGx1bmdlbiBmw7xyIGVpbmUgdW52b2xsc3TDpG5kaWdlXG4iCiAiSGlzdG9yaWUgKHNoYWxsb3cpIGZvbGdlbiBzb2xsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkxCiBtc2dpZCAiZG9uJ3QgcHJpbnQgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAia2VpbmUgRm9ydHNjaHJpdHRzYW56ZWlnZSBiZWltIEtsb25lbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxQZmFkPl0gWzxQZmFkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDA4CiBtc2dpZCAiYmFkIHZhbHVlIGZvciB1cGRhdGUgcGFyYW1ldGVyIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXIgV2VydCBmw7xyIC0tdXBkYXRlIFBhcmFtZXRlciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKQEAgLTEzMjA1LDU4ICsxMzYwNiw1NCBAQAogIkJyYW5jaCB2b24gU3VibW9kdWwgKCVzKSBpc3Qga29uZmlndXJpZXJ0LCBkZW4gQnJhbmNoIGRlcyBIYXVwdHByb2pla3Rlc1xuIgogInp1IGVyYmVuLCBhYmVyIGRhcyBIYXVwdHByb2pla3QgYmVmaW5kZXQgc2ljaCBhdWYga2VpbmVtIEJyYW5jaC4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MwogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICJSZWt1cnNpb24gaW4gU3VibW9kdWxlIGR1cmNoZsO8aHJlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTY5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE1NwotbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCi1tc2dzdHIgInN1Ym1vZHVsZS0taGVscGVyIG11c3MgbWl0IGVpbmVtIFVudGVyYmVmZWhsIGF1ZmdlcnVmZW4gd2VyZGVuIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICIlcyB1bnRlcnN0w7x0enQga2VpbiAtLXN1cGVyLXByZWZpeCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKIG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgVW50ZXJiZWZlaGwgdm9uIHN1Ym1vZHVsZS0taGVscGVyIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjcKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gPG5hbWU+IFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgWzxPcHRpb25lbj5dIDxOYW1lPiBbPFJlZmVyZW56Pl0iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo5CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxOYW1lPiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MQogbXNnaWQgInN1cHByZXNzIGVycm9yIG1lc3NhZ2UgZm9yIG5vbi1zeW1ib2xpYyAoZGV0YWNoZWQpIHJlZnMiCiBtc2dzdHIgIiIKICJGZWhsZXJtZWxkdW5nZW4gZsO8ciBuaWNodC1zeW1ib2xpc2NoZSAobG9zZ2Vsw7ZzdGUpIFJlZmVyZW56ZW4gdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MQorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MgogbXNnaWQgImRlbGV0ZSBzeW1ib2xpYyByZWYiCiBtc2dzdHIgInN5bWJvbGlzY2hlIFJlZmVyZW56ZW4gbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgInZlcmvDvHJ6dGUgQXVzZ2FiZSBkZXIgUmVmZXJlbnplbiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDQgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCiBtc2dpZCAicmVhc29uIgogbXNnc3RyICJHcnVuZCIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDQgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCiBtc2dpZCAicmVhc29uIG9mIHRoZSB1cGRhdGUiCiBtc2dzdHIgIkdydW5kIGbDvHIgZGllIEFrdHVhbGlzaWVydW5nIgogCi0jOiBidWlsdGluL3RhZy5jOjIzCisjOiBidWlsdGluL3RhZy5jOjI0CiBtc2dpZCAiIgogImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCiAiWzxoZWFkPl0iCkBAIC0xMzI2NCwzOCArMTM2NjEsMzUgQEAKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPFNjaGzDvHNzZWwtaWQ+XSBbLWZdIFstbSA8QmVzY2hyZWlidW5nPiB8IC1GIDxEYXRlaT5dICIKICI8VGFnbmFtZT4gWzxDb21taXQ+XSIKIAotIzogYnVpbHRpbi90YWcuYzoyNAorIzogYnVpbHRpbi90YWcuYzoyNQogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kIDxUYWduYW1lPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNQorIzogYnVpbHRpbi90YWcuYzoyNgogbXNnaWQgIiIKLSJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1wb2ludHMtYXQgPG9iamVjdD5dXG4iCisiZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dIFstLSIKKyJwb2ludHMtYXQgPG9iamVjdD5dXG4iCiAiXHRcdFstLWZvcm1hdD08Zm9ybWF0Pl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXR0ZXJuPi4uLl0iCiBtc2dzdHIgIiIKLSJnaXQgdGFnIC1sIFstbls8TnVtbWVyPl1dIFstLWNvbnRhaW5zIDxDb21taXQ+XSBbLS1wb2ludHMtYXQgPE9iamVrdD5dXG4iCisiZ2l0IHRhZyAtbCBbLW5bPE51bW1lcj5dXSBbLS1jb250YWlucyA8Q29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPENvbW1pdD5dIFstLSIKKyJwb2ludHMtYXQgPE9iamVrdD5dXG4iCiAiXHRcdFstLWZvcm1hdD08TXVzdGVyPl0gWy0tW25vLV1tZXJnZWQgWzxDb21taXQ+XV0gWzxNdXN0ZXI+Li4uXSIKIAotIzogYnVpbHRpbi90YWcuYzoyNworIzogYnVpbHRpbi90YWcuYzoyOAogbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxGb3JtYXQ+XSA8VGFnbmFtZT4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCi1tc2dzdHIgIlRhZ25hbWUgenUgbGFuZzogJS4qcy4uLiIKLQotIzogYnVpbHRpbi90YWcuYzo4NworIzogYnVpbHRpbi90YWcuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJUYWcgJyVzJyBuaWNodCBnZWZ1bmRlbi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAyCisjOiBidWlsdGluL3RhZy5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIlRhZyAnJXMnIGdlbMO2c2NodCAod2FyICVzKVxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzMQorIzogYnVpbHRpbi90YWcuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTMzMDgsNyArMTM3MDIsNyBAQAogIiAgJXNcbiIKICJlaW4uIFplaWxlbiwgZGllIG1pdCAnJWMnIGJlZ2lubmVuLCB3ZXJkZW4gaWdub3JpZXJ0LlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzNQorIzogYnVpbHRpbi90YWcuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTMzMjMsMzQ0ICsxMzcxNywzNjQgQEAKICJlaW4uIFplaWxlbiwgZGllIG1pdCAnJWMnIGJlZ2lubmVuLCB3ZXJkZW4gYmVoYWx0ZW47IFNpZSBkw7xyZmVuIGRpZXNlXG4iCiAic2VsYnN0IGVudGZlcm5lbiB3ZW5uIFNpZSBtw7ZjaHRlbi5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoyMTMKKyM6IGJ1aWx0aW4vdGFnLmM6MjExCiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAia29ubnRlIFRhZyBuaWNodCBzaWduaWVyZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjE1CisjOiBidWlsdGluL3RhZy5jOjIxMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAia29ubnRlIFRhZy1EYXRlaSBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjQwCisjOiBidWlsdGluL3RhZy5jOjIzNwogbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIE9iamVrdC1UeXAiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjUzCi1tc2dpZCAidGFnIGhlYWRlciB0b28gYmlnLiIKLW1zZ3N0ciAiVGFnLUtvcGYgenUgZ3Jvw58uIgotCi0jOiBidWlsdGluL3RhZy5jOjI4OQorIzogYnVpbHRpbi90YWcuYzoyODMKIG1zZ2lkICJubyB0YWcgbWVzc2FnZT8iCiBtc2dzdHIgImtlaW5lIFRhZy1CZXNjaHJlaWJ1bmc/IgogCi0jOiBidWlsdGluL3RhZy5jOjI5NQorIzogYnVpbHRpbi90YWcuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKIG1zZ3N0ciAiRGllIFRhZy1CZXNjaHJlaWJ1bmcgd3VyZGUgZ2VsYXNzZW4gaW4gJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozNTQKKyM6IGJ1aWx0aW4vdGFnLmM6Mzk4CiBtc2dpZCAibGlzdCB0YWcgbmFtZXMiCiBtc2dzdHIgIlRhZ25hbWVuIGF1Zmxpc3RlbiIKIAotIzogYnVpbHRpbi90YWcuYzozNTYKKyM6IGJ1aWx0aW4vdGFnLmM6NDAwCiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgIjxuPiBaZWlsZW4gamVkZXIgVGFnLUJlc2NocmVpYnVuZyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi90YWcuYzozNTgKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCiBtc2dpZCAiZGVsZXRlIHRhZ3MiCiBtc2dzdHIgIlRhZ3MgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL3RhZy5jOjQwMwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICJUYWdzIMO8YmVycHLDvGZlbiIKIAotIzogYnVpbHRpbi90YWcuYzozNjEKKyM6IGJ1aWx0aW4vdGFnLmM6NDA1CiBtc2dpZCAiVGFnIGNyZWF0aW9uIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbmVuIGbDvHIgRXJzdGVsbHVuZyB2b24gVGFncyIKIAotIzogYnVpbHRpbi90YWcuYzozNjMKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3CiBtc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgogbXNnc3RyICJhbm5vdGllcnRlcyBUYWcsIGJlbsO2dGlndCBlaW5lIEJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi90YWcuYzozNjUKKyM6IGJ1aWx0aW4vdGFnLmM6NDA5CiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgIlRhZy1CZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzY3CisjOiBidWlsdGluL3RhZy5jOjQxMQogbXNnaWQgImFubm90YXRlZCBhbmQgR1BHLXNpZ25lZCB0YWciCiBtc2dzdHIgImFubm90aWVydGVzIHVuZCBHUEctc2lnbmllcnRlcyBUYWciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzcxCisjOiBidWlsdGluL3RhZy5jOjQxNQogbXNnaWQgInVzZSBhbm90aGVyIGtleSB0byBzaWduIHRoZSB0YWciCiBtc2dzdHIgImVpbmVuIGFuZGVyZW4gU2NobMO8c3NlbCB2ZXJ3ZW5kZW4sIHVtIGRhcyBUYWcgenUgc2lnbmllcmVuIgogCi0jOiBidWlsdGluL3RhZy5jOjM3MgorIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICJkYXMgVGFnIGVyc2V0emVuLCB3ZW5uIGVzIGV4aXN0aWVydCIKIAotIzogYnVpbHRpbi90YWcuYzozNzMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY4CisjOiBidWlsdGluL3RhZy5jOjQxNyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKIG1zZ2lkICJjcmVhdGUgYSByZWZsb2ciCiBtc2dzdHIgIlJlZmxvZyBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc1CisjOiBidWlsdGluL3RhZy5jOjQxOQogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbmVuIGbDvHIgQXVmbGlzdHVuZyBkZXIgVGFncyIKIAotIzogYnVpbHRpbi90YWcuYzozNzYKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICJMaXN0ZSBkZXIgVGFncyBpbiBTcGFsdGVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NyBidWlsdGluL3RhZy5jOjM3OAorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIm51ciBUYWdzIGF1c2dlYmVuLCBkaWUgZGllc2VuIENvbW1pdCBiZWluaGFsdGVuIgogCi0jOiBidWlsdGluL3RhZy5jOjM3OQorIzogYnVpbHRpbi90YWcuYzo0MjIgYnVpbHRpbi90YWcuYzo0MjQKK21zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgIm51ciBUYWdzIGF1c2dlYmVuLCBkaWUgZGllc2VuIENvbW1pdCBuaWNodCBlbnRoYWx0ZW4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDI1CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAibnVyIFRhZ3MgYXVzZ2ViZW4sIGRpZSBnZW1lcmdlZCB3dXJkZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzgwCisjOiBidWlsdGluL3RhZy5jOjQyNgogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJudXIgVGFncyBhdXNnZWJlbiwgZGllIG5pY2h0IGdlbWVyZ2VkIHd1cmRlbiIKIAotIzogYnVpbHRpbi90YWcuYzozODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDMxCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgIm51ciBUYWdzIHZvbiBkZW0gT2JqZWt0IGF1c2dlYmVuIgogCi0jOiBidWlsdGluL3RhZy5jOjQxNQorIzogYnVpbHRpbi90YWcuYzo0NzAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gdW5kIC1uIHNpbmQgaW5rb21wYXRpYmVsIgogCi0jOiBidWlsdGluL3RhZy5jOjQzNwotbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgIi1uIE9wdGlvbiBpc3QgbnVyIGVybGF1YnQgbWl0IC1sLiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDkyCittc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIkRpZSBPcHRpb24gLW4gaXN0IG51ciBpbSBMaXN0ZW5tb2R1cyBlcmxhdWJ0LiIKIAotIzogYnVpbHRpbi90YWcuYzo0MzkKLW1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgIi0tY29udGFpbnMgT3B0aW9uIGlzdCBudXIgZXJsYXVidCBtaXQgLWwuIgorIzogYnVpbHRpbi90YWcuYzo0OTQKK21zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJEaWUgT3B0aW9uIC0tY29udGFpbnMgaXN0IG51ciBpbSBMaXN0ZW5tb2R1cyBlcmxhdWJ0LiIKIAotIzogYnVpbHRpbi90YWcuYzo0NDEKLW1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICItLXBvaW50cy1hdCBPcHRpb24gaXN0IG51ciBlcmxhdWJ0IG1pdCAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5NgorbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIkRpZSBPcHRpb24gLS1uby1jb250YWlucyBpc3QgbnVyIGltIExpc3Rlbm1vZHVzIGVybGF1YnQuIgogCi0jOiBidWlsdGluL3RhZy5jOjQ0MwotbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb24gYXJlIG9ubHkgYWxsb3dlZCB3aXRoIC1sIgotbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1tZXJnZWQgdW5kIC0tbm8tbWVyZ2VkIHNpbmQgbnVyIG1pdCAtbCBlcmxhdWJ0LiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDk4Cittc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIkRpZSBPcHRpb24gLS1wb2ludHMtYXQgaXN0IG51ciBpbSBMaXN0ZW5tb2R1cyBlcmxhdWJ0LiIKIAotIzogYnVpbHRpbi90YWcuYzo0NTQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAwCittc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIkRpZSBPcHRpb25lbiAtLW1lcmdlZCB1bmQgLS1uby1tZXJnZWQgc2luZCBudXIgaW0gTGlzdGVubW9kdXMgZXJsYXVidC4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTExCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICJudXIgZWluZSAtRiBvZGVyIC1tIE9wdGlvbiBpc3QgZXJsYXVidC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDczCisjOiBidWlsdGluL3RhZy5jOjUzMAogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAienUgdmllbGUgUGFyYW1ldGVyIgogCi0jOiBidWlsdGluL3RhZy5jOjQ3OQorIzogYnVpbHRpbi90YWcuYzo1MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIiclcycgaXN0IGtlaW4gZ8O8bHRpZ2VyIFRhZ25hbWUuIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NAorIzogYnVpbHRpbi90YWcuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIlRhZyAnJXMnIGV4aXN0aWVydCBiZXJlaXRzIgogCi0jOiBidWlsdGluL3RhZy5jOjUxMgorIzogYnVpbHRpbi90YWcuYzo1NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJUYWcgJyVzJyBha3R1YWxpc2llcnQgKHdhciAlcylcbiIKIAotIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5MworIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5NAogbXNnaWQgIlVucGFja2luZyBvYmplY3RzIgogbXNnc3RyICJFbnRwYWNrZSBPYmpla3RlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcnN0ZWxsZW4gdm9uIFZlcnplaWNobmlzICclcyciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZmlsZSAlcyIKIG1zZ3N0ciAiS29ubnRlIERhdGVpICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICJLb25udGUgRGF0ZWkgJyVzJyBuaWNodCBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTAgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRlc3RpbmcgbXRpbWUgaW4gJyVzJyAiCiBtc2dzdHIgIlByw7xmZSBtdGltZSBpbiAnJXMnICIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTUwCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZpbGUiCiBtc2dzdHIgIiIKICJWZXJ6ZWljaG5pc2luZm9ybWF0aW9uZW4gaGFiZW4gc2ljaCBuYWNoIEhpbnp1ZsO8Z2VuIGVpbmVyIG5ldWVuIERhdGVpIG5pY2h0ICIKICJnZcOkbmRlcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTU4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2MwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJWZXJ6ZWljaG5pc2luZm9ybWF0aW9uZW4gaGFiZW4gc2ljaCBuYWNoIEhpbnp1ZsO8Z2VuIGVpbmVzIG5ldWVuICIKICJWZXJ6ZWljaG5pc3NlcyBuaWNodCBnZcOkbmRlcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTcxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3NgogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCiBtc2dzdHIgIiIKICJWZXJ6ZWljaG5pc2luZm9ybWF0aW9uZW4gaGFiZW4gc2ljaCBuYWNoIEFrdHVhbGlzaWVydW5nIGVpbmVyIERhdGVpIGdlw6RuZGVydCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg3CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogIlZlcnplaWNobmlzaW5mb3JtYXRpb25lbiBoYWJlbiBzaWNoIG5hY2ggSGluenVmw7xnZW4gZWluZXIgRGF0ZWkgaW4gZWluICIKICJVbnRlcnZlcnplaWNobmlzIGdlw6RuZGVydCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTk4CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlIgogbXNnc3RyICIiCiAiVmVyemVpY2huaXNpbmZvcm1hdGlvbmVuIGhhYmVuIHNpY2ggbmFjaCBkZW0gTMO2c2NoZW4gZWluZXIgRGF0ZWkgbmljaHQgIgogImdlw6RuZGVydCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjExCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJWZXJ6ZWljaG5pc2luZm9ybWF0aW9uZW4gaGFiZW4gc2ljaCBuYWNoIGRlbSBMw7ZzY2hlbiBlaW5lcyBWZXJ6ZWljaG5pc3NlcyAiCiAibmljaHQgZ2XDpG5kZXJ0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTgKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiBPSyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTY5CiBtc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFs8T3B0aW9uZW4+XSBbLS1dIFs8RGF0ZWk+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI0CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICIiCiAiQWt0dWFsaXNpZXJ1bmcgZm9ydHNldHplbiwgYXVjaCB3ZW5uIGRlciBJbmRleCBha3R1YWxpc2llcnQgd2VyZGVuIG11c3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZzogaWdub3JpZXJ0IFN1Ym1vZHVsZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgImtlaW5lIG5ldWVuIERhdGVpZW4gaWdub3JpZXJlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMyCiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgIkRhdGVpZW4gVmVyemVpY2huaXNzZSBlcnNldHplbiBsYXNzZW4sIHVuZCB1bWdlZHJlaHQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImZlaGxlbmRlIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIGJlYWNodGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzYKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiIgogImFrdHVhbGlzaWVyZW4sIGF1Y2ggd2VubiBkZXIgSW5kZXggbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRWludHLDpGdlIGJlaW5oYWx0ZXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiRGF0ZWlpbmZvcm1hdGlvbmVuIGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAid2llIC0tcmVmcmVzaCwgaWdub3JpZXJ0IGFiZXIgXCJhc3N1bWUtdW5jaGFuZ2VkXCIgRWluc3RlbGx1bmciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NwogbXNnaWQgIjxtb2RlPiw8b2JqZWN0Piw8cGF0aD4iCiBtc2dzdHIgIjxNb2R1cz4sPE9iamVrdD4sPFBmYWQ+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImRlbiBhbmdlZ2ViZW5lbiBFaW50cmFnIHp1bSBDb21taXQgdm9ybWVya2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgImRpZXNlIERhdGVpIGltbWVyIGFscyB1bnZlcsOkbmRlcnQgYmV0cmFjaHRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYwCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJcImFzc3VtZWQtdW5jaGFuZ2VkXCItQml0IGzDtnNjaGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICJEYXRlaWVuIGFscyBcImluZGV4LW9ubHlcIiBtYXJraWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICJcInNraXAtd29ya3RyZWVcIi1CaXQgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OQogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAiZGllIMOEbmRlcnVuZ2VuIG51ciB6dW0gQ29tbWl0IHZvcm1lcmtlbjsgSW5oYWx0IHdpcmQgbmljaHQgZGVyIE9iamVrdC0iCiAiRGF0ZW5iYW5rIGhpbnp1Z2Vmw7xndCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcxCiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImJlbmFubnRlIFBmYWRlIGzDtnNjaGVuLCBhdWNoIHdlbm4gc2llIHNpY2ggaW0gQXJiZWl0c3ZlcnplaWNobmlzIGJlZmluZGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgIm1pdCAtLXN0ZGluOiBlaW5nZWdlYmVuZSBaZWlsZW4gc2luZCBkdXJjaCBOVUwtQnl0ZXMgYWJnZXNjaGxvc3NlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiTGlzdGUgZGVyIHp1IGFrdHVhbGlzaWVyZW5kZW4gUGZhZGUgdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIGxlc2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiRWludHLDpGdlIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgzCiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICIiCiAid2llZGVyaG9sdGVzIEVpbnBmbGVnZW4gZGVyIFp1c3TDpG5kZSAjMiB1bmQgIzMgZsO8ciBkaWUgYXVmZ2VsaXN0ZXRlbiBQZmFkZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg3CiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgIm51ciBFaW50csOkZ2UgYWt0dWFsaXNpZXJlbiwgZGllIHVudGVyc2NoaWVkbGljaCB6dSBIRUFEIHNpbmQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MQogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImZlaGxlbmRlIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAiZGllIEFrdGlvbmVuIGluIGRlciBTdGFuZGFyZC1BdXNnYWJlIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTYKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiKGbDvHIgRnJlbWRwcm9ncmFtbWUpIGtlaW5lIGdlc3BlaWNoZXJ0ZW4sIG5pY2h0IGF1ZmdlbMO2c3RlIEtvbmZsaWt0ZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICJJbmRleC1EYXRlaSBpbiBkaWVzZW0gRm9ybWF0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMgogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJTcGxpdHRpbmcgZGVzIEluZGV4IGFrdGl2aWVyZW4gb2RlciBkZWFrdGl2aWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDQKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgIkNhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBha3RpdmllcmVuIG9kZXIgZGVha3RpdmllcmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCiAicHLDvGZlbiBvYiBkYXMgRGF0ZWlzeXN0ZW0gZWluZW4gQ2FjaGUgZsO8ciB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIHVudGVyc3TDvHR6dCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAiIgogIkNhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBvaG5lIFByw7xmdW5nIGRlcyBEYXRlaXN5c3RlbXMgYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMDgKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJlbmFibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXN0IGF1ZiAnZmFsc2UnIGdlc2V0enQuIEVudGZlcm5lbiBvZGVyIMOkbmRlcm4gU2llIGRpZXMsXG4iCisid2VubiBzaWUgd2lya2xpY2ggZGFzIFNwbGl0dGluZyBkZXMgSW5kZXggYWt0aXZpZXJlbiBtw7ZjaHRlbi4iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExNworbXNnaWQgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZGlzYWJsZSBzcGxpdCBpbmRleCIKK21zZ3N0ciAiIgorImNvcmUuc3BsaXRJbmRleCBpc3QgYXVmICd0cnVlJyBnZXNldHp0LiBFbnRmZXJuZW4gb2RlciDDpG5kZXJuIFNpZSBkaWVzLFxuIgorIndlbm4gU2llIHdpcmtsaWNoIGRhcyBTcGxpdHRpbmcgZGVzIEluZGV4IGRlYWt0aXZpZXJlbiBtw7ZjaHRlbi4iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyOAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTEzNjY4LDExICsxNDA4MiwxMSBAQAogImNvcmUudW50cmFja2VkQ2FjaGUgaXN0IGF1ZiAndHJ1ZScgZ2VzZXR6dC4gRW50ZmVybmVuIG9kZXIgw6RuZGVybiBTaWUgZGllcyxcbiIKICJ3ZW5uIFNpZSB3aXJrbGljaCBkZW4gQ2FjaGUgZsO8ciB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGRlYWt0aXZpZXJlbiBtw7ZjaHRlbi4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMyCiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICJDYWNoZSBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4gZGVha3RpdmllcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQwCiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTM2ODEsMTM0ICsxNDA5NSwxMzQgQEAKICJkaWVzLFxuIgogIndlbm4gc2llIHdpcmtsaWNoIGRlbiBDYWNoZSBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4gYWt0aXZpZXJlbiBtw7ZjaHRlbi4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICJDYWNoZSBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4gZsO8ciAnJXMnIGFrdGl2aWVydCIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAtZCA8cmVmbmFtZT4gWzxvbGQtdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs8T3B0aW9uZW4+XSAtZCA8UmVmZXJlbnpuYW1lPiBbPGFsdGVyLVdlcnQ+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gICAgPHJlZm5hbWU+IDxuZXctdmFsPiBbPG9sZC12YWw+XSIKIG1zZ3N0ciAiIgogImdpdCB1cGRhdGUtcmVmIFs8T3B0aW9uZW4+XSAgICA8UmVmZXJlbnpuYW1lPiA8bmV1ZXItV2VydD4gWzxhbHRlci1XZXJ0Pl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMgogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dIC0tc3RkaW4gWy16XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgWzxPcHRpb25lbj5dIC0tc3RkaW4gWy16XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjQKIG1zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKIG1zZ3N0ciAiZGllc2UgUmVmZXJlbnogbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY2CiBtc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCiBtc2dzdHIgIjxSZWZlcmVuem5hbWU+IGFrdHVhbGlzaWVyZW4sIG5pY2h0IGRlbiBWZXJ3ZWlzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCiBtc2dzdHIgIlN0YW5kYXJkLUVpbmdhYmUgaGF0IGR1cmNoIE5VTC1aZWljaGVuIGFiZ2VzY2hsb3NzZW5lIEFyZ3VtZW50ZSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY3CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKIG1zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmdlbiB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgorIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo3CiBtc2dpZCAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCiBtc2dzdHIgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE0CisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE1CiBtc2dpZCAidXBkYXRlIHRoZSBpbmZvIGZpbGVzIGZyb20gc2NyYXRjaCIKIG1zZ3N0ciAiZGllIEluZm9ybWF0aW9uc2RhdGVpZW4gdm9uIEdydW5kIGF1ZiBha3R1YWxpc2llcmVuIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxNworIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTgKIG1zZ2lkICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxDb21taXQ+Li4uIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MgorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMKIG1zZ2lkICJwcmludCBjb21taXQgY29udGVudHMiCiBtc2dzdHIgIkNvbW1pdC1JbmhhbHRlIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MyBidWlsdGluL3ZlcmlmeS10YWcuYzozNworIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzQgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKIG1zZ2lkICJwcmludCByYXcgZ3BnIHN0YXR1cyBvdXRwdXQiCiBtc2dzdHIgInVuYmVhcmJlaXRldGUgQXVzZ2FiZSBkZXMgU3RhdHVzIHZvbiBncGcgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU1CiBtc2dpZCAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxQYWtldD4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY1CiBtc2dpZCAidmVyYm9zZSIKIG1zZ3N0ciAiZXJ3ZWl0ZXJ0ZSBBdXNnYWJlbiIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY2CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjcKIG1zZ2lkICJzaG93IHN0YXRpc3RpY3Mgb25seSIKIG1zZ3N0ciAibnVyIFN0YXRpc3Rpa2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTkKIG1zZ2lkICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZz4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxGb3JtYXQ+XSA8VGFnPi4uLiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgdGFnIGNvbnRlbnRzIgogbXNnc3RyICJUYWctSW5oYWx0ZSBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKIG1zZ2lkICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxwYXRoPiBbPGJyYW5jaD5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs8T3B0aW9uZW4+XSA8UGZhZD4gWzxCcmFuY2g+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxPcHRpb25lbj5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAogbXNnaWQgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxPcHRpb25lbj5dIDxQZmFkPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKIG1zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPE9wdGlvbmVuPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwCiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPFBmYWQ+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IG5vdCBhIHZhbGlkIGRpcmVjdG9yeSIKIG1zZ3N0ciAiTMO2c2NoZSB3b3JrdHJlZXMvJXM6IGtlaW4gZ8O8bHRpZ2VzIFZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJMw7ZzY2hlIHdvcmt0cmVlcy8lczogZ2l0ZGlyLURhdGVpIGV4aXN0aWVydCBuaWNodCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiB1bmFibGUgdG8gcmVhZCBnaXRkaXIgZmlsZSAoJXMpIgogbXNnc3RyICJMw7ZzY2hlIHdvcmt0cmVlcy8lczoga29ubnRlIGdpdGRpci1EYXRlaSAoJXMpIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCiBtc2dzdHIgIkzDtnNjaGUgd29ya3RyZWVzLyVzOiB1bmfDvGx0aWdlIGdpdGRpci1EYXRlaSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICJMw7ZzY2hlIHdvcmt0cmVlcy8lczogZ2l0ZGlyLURhdGVpIHZlcndlaXN0IGF1ZiBuaWNodCBleGlzdGllcmVuZGVuIE9ydCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyOQogbXNnaWQgInJlcG9ydCBwcnVuZWQgd29ya2luZyB0cmVlcyIKIG1zZ3N0ciAiZW50ZmVybnRlIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTMwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTMxCiBtc2dpZCAiZXhwaXJlIHdvcmtpbmcgdHJlZXMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIkFyYmVpdHN2ZXJ6ZWljaG5pc3NlIMOkbHRlciBhbHMgPFplaXQ+IHZlcmZhbGxlbiBsYXNzZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiJyVzJyBleGlzdGllcnQgYmVyZWl0cyIKQEAgLTEzODE4LDEwMCArMTQyMzIsMTA0IEBACiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFZlcnplaWNobmlzICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgJXMgKGlkZW50aWZpZXIgJXMpIgogbXNnc3RyICJCZXJlaXRlICVzIHZvciAoSWRlbnRpZmlrYXRpb24gJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzIzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICIiCiAiPEJyYW5jaD4gYXVzY2hlY2tlbiwgYXVjaCB3ZW5uIGRpZXNlciBiZXJlaXRzIGluIGVpbmVtIGFuZGVyZW4gIgogIkFyYmVpdHN2ZXJ6ZWljaG5pcyBhdXNnZWNoZWNrdCBpc3QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJuZXVlbiBCcmFuY2ggZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMxCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJCcmFuY2ggZXJzdGVsbGVuIG9kZXIgdW1zZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzMKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiZGFzIG5ldWUgQXJiZWl0c3ZlcnplaWNobmlzIGF1c2NoZWNrZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKK21zZ2lkICJrZWVwIHRoZSBuZXcgd29ya2luZyB0cmVlIGxvY2tlZCIKK21zZ3N0ciAiZGFzIG5ldWUgQXJiZWl0c3ZlcnplaWNobmlzIGdlc3BlcnJ0IGxhc3NlbiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjM0MgogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiB1bmQgLS1kZXRhY2ggc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3OQogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAiU3BlcnJncnVuZCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NCBidWlsdGluL3dvcmt0cmVlLmM6NTE3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxIGJ1aWx0aW4vd29ya3RyZWUuYzo1MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiclcycgaXN0IGtlaW4gQXJiZWl0c3ZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg2IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTMgYnVpbHRpbi93b3JrdHJlZS5jOjUyNgogbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgogbXNnc3RyICJEYXMgSGF1cHRhcmJlaXRzdmVyemVpY2huaXMga2FubiBuaWNodCBnZXNwZXJydCBvZGVyIGVudHNwZXJydCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCiBtc2dzdHIgIiclcycgaXN0IGJlcmVpdHMgZ2VzcGVycnQsIEdydW5kOiAlcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgogbXNnc3RyICInJXMnIGlzdCBiZXJlaXRzIGdlc3BlcnJ0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTIxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKIG1zZ3N0ciAiJyVzJyBpc3QgbmljaHQgZ2VzcGVycnQiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNAogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PFByw6RmaXg+L10iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI2CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNwogbXNnaWQgIjxwcmVmaXg+LyIKIG1zZ3N0ciAiPFByw6RmaXg+LyIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjcKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI4CiBtc2dpZCAid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IgogbXNnc3RyICJkYXMgXCJUcmVlXCItT2JqZWt0IGbDvHIgZWluIFVudGVydmVyemVpY2huaXMgPFByw6RmaXg+IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzAKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMxCiBtc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKIG1zZ3N0ciAibnVyIG7DvHR6bGljaCBmw7xyIEZlaGxlcnN1Y2hlIgogCi0jOiB1cGxvYWQtcGFjay5jOjIyCisjOiB1cGxvYWQtcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxPcHRpb25lbj5dIDxWZXJ6ZWljaG5pcz4iCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAzNgorIzogdXBsb2FkLXBhY2suYzoxMDQxCiBtc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgogbXNnc3RyICJuYWNoIGVpbmVtIGVpbnppZ2VuIFJlcXVlc3QvUmVzcG9uc2UtQXVzdGF1c2NoIGJlZW5kZW4iCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAzOAorIzogdXBsb2FkLXBhY2suYzoxMDQzCiBtc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IgogbXNnc3RyICJkaXJla3QgbmFjaCBkZXIgaW5pdGlhbGVuIEFuZ2FiZSBkZXIgQ29tbWl0cyBiZWVuZGVuIgogCi0jOiB1cGxvYWQtcGFjay5jOjEwNDAKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NQogbXNnaWQgImRvIG5vdCB0cnkgPGRpcmVjdG9yeT4vLmdpdC8gaWYgPGRpcmVjdG9yeT4gaXMgbm8gR2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogImtlaW4gVmVyc3VjaCBpbiA8VmVyemVpY2huaXM+Ly5naXQvIHdlbm4gPFZlcnplaWNobmlzPiBrZWluIEdpdC1WZXJ6ZWljaG5pcyAiCiAiaXN0IgogCi0jOiB1cGxvYWQtcGFjay5jOjEwNDIKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NwogbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgogbXNnc3RyICLDnGJlcnRyYWd1bmcgbmFjaCA8bj4gU2VrdW5kZW4gSW5ha3Rpdml0w6R0IHVudGVyYnJlY2hlbiIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKQEAgLTEzOTI3LDExICsxNDM0NSwxMSBAQAogIlxuIgogImF1c3p1ZsO8aHJlbi4iCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQorIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAiTWVsZHVuZ2VuIHp1ciBGZWhsZXJzdWNoZSBpbiBTdGFuZGFyZC1GZWhsZXJhdXNnYWJlIGF1c2dlYmVuIgogCi0jOiBnaXQuYzoxNAorIzogZ2l0LmM6MTUKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKQEAgLTEzOTQyLDE3ICsxNDM2MCwyMiBAQAogIm9kZXIgJ2dpdCBoZWxwIDxLb256ZXB0PicsIHVtIG1laHIgw7xiZXIgZWluZW4gc3BlemlmaXNjaGVuIEJlZmVobCBvZGVyXG4iCiAiS29uemVwdCB6dSBlcmZhaHJlbi4iCiAKLSM6IGh0dHAuYzozNDQKKyM6IGh0dHAuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVnYXRpdmUgdmFsdWUgZm9yIGh0dHAucG9zdGJ1ZmZlcjsgZGVmYXVsdGluZyB0byAlZCIKK21zZ3N0ciAibmVnYXRpdmVyIFdlcnQgZsO8ciBodHRwLnBvc3RidWZmZXI7IGJlbnV0emUgU3RhbmRhcmR3ZXJ0ICVkIgorCisjOiBodHRwLmM6MzU4CiBtc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgogbXNnc3RyICJLb250cm9sbGUgw7xiZXIgRGVsZWdhdGlvbiB3aXJkIG1pdCBjVVJMIDwgNy4yMi4wIG5pY2h0IHVudGVyc3TDvHR6dCIKIAotIzogaHR0cC5jOjM1MworIzogaHR0cC5jOjM2NwogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiIgogIkRhcyBBbmhlZnRlbiBkZXMgw7ZmZmVudGxpY2hlbiBTY2hsw7xzc2VscyB3aXJkIG1pdCBjVVJMIDwgNy40NC4wXG4iCiAibmljaHQgdW50ZXJzdMO8dHp0LiIKIAotIzogaHR0cC5jOjE3MTMKKyM6IGh0dHAuYzoxNzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gdXBkYXRlIHVybCBiYXNlIGZyb20gcmVkaXJlY3Rpb246XG4iCkBAIC0xMzk2Myw3ICsxNDM4Niw3IEBACiAiICBnZWZyYWd0IG5hY2g6ICVzXG4iCiAiICAgIHVtZ2VsZWl0ZXQ6ICVzIgogCi0jOiByZW1vdGUtY3VybC5jOjMxOQorIzogcmVtb3RlLWN1cmwuYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgIkxlaXRlIG5hY2ggJXMgdW0iCkBAIC0xNDM1Miw3ICsxNDc3NSw3IEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgIkVpbmZhY2hlciBNZXJnZSBoYXQgbmljaHQgZnVua3Rpb25pZXJ0LCB2ZXJzdWNoZSBhdXRvbWF0aXNjaGVuIE1lcmdlLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NworIzogZ2l0LXJlYmFzZS5zaDo1OAogbXNnaWQgIiIKICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTE0MzY2LDM5ICsxNDc4OSw0MyBAQAogIlVtIGRlbiB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoIHdpZWRlcmhlcnp1c3RlbGxlbiB1bmQgZGVuIFJlYmFzZSBhYnp1YnJlY2hlbixcbiIKICJmw7xocmVuIFNpZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIGF1cy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTU3IGdpdC1yZWJhc2Uuc2g6Mzk2CisjOiBnaXQtcmViYXNlLnNoOjE1OCBnaXQtcmViYXNlLnNoOjM5NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgogbXNnc3RyICJLb25udGUgbmljaHQgenUgJGhlYWRfbmFtZSB6dXLDvGNrZ2VoZW4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE2OQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAiQXV0b21hdGlzY2hlbiBTdGFzaCBhbmdld2VuZGV0LiIKKworIzogZ2l0LXJlYmFzZS5zaDoxNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKIG1zZ3N0ciAiS2FubiAkc3Rhc2hfc2hhMSBuaWNodCBzcGVpY2hlcm4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxMQorIzogZ2l0LXJlYmFzZS5zaDoyMTIKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiRGVyIFwicHJlLXJlYmFzZSBob29rXCIgaGF0IGRlbiBSZWJhc2UgenVyw7xja2dld2llc2VuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTYKKyM6IGdpdC1yZWJhc2Uuc2g6MjE3CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICJcImdpdC1hbVwiIHNjaGVpbnQgaW0gR2FuZ2UgenUgc2Vpbi4gS2FubiBSZWJhc2UgbmljaHQgZHVyY2hmw7xocmVuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTcKKyM6IGdpdC1yZWJhc2Uuc2g6MzU4CiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiS2VpbiBSZWJhc2UgaW0gR2FuZ2U/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjkKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJEaWUgLS1lZGl0LXRvZG8gQWt0aW9uIGthbm4gbnVyIHfDpGhyZW5kIGVpbmVzIGludGVyYWt0aXZlbiBSZWJhc2UgdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3NQorIzogZ2l0LXJlYmFzZS5zaDozNzYKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJLYW5uIEhFQUQgbmljaHQgbGVzZW4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc4CisjOiBnaXQtcmViYXNlLnNoOjM3OQogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTE0NDA2LDcgKzE0ODMzLDcgQEAKICJTaWUgbcO8c3NlbiBhbGxlIE1lcmdlLUtvbmZsaWt0ZSBlZGl0aWVyZW4gdW5kIGRpZXNlIGRhbm5cbiIKICJtaXR0ZWxzIFwiZ2l0IGFkZFwiIGFscyBhdWZnZWzDtnN0IG1hcmtpZXJlbiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MTgKKyM6IGdpdC1yZWJhc2Uuc2g6NDE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xNDQyNywxMDQgKzE0ODU0LDEwNCBAQAogInVuZCBmw7xocmVuIFNpZSBkaWVzZW4gQmVmZWhsIG5vY2htYWwgYXVzLiBFcyB3aXJkIGFuZ2VoYWx0ZW4sIGZhbGxzIG5vY2hcbiIKICJldHdhcyBTY2jDvHR6ZW5zd2VydGVzIHZvcmhhbmRlbiBpc3QuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2OQorIzogZ2l0LXJlYmFzZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIFVwc3RyZWFtLUJyYW5jaCAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMKKyM6IGdpdC1yZWJhc2Uuc2g6NDk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTogZXMgZ2lidCBtZWhyIGFscyBlaW5lIE1lcmdlLUJhc2lzIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5NiBnaXQtcmViYXNlLnNoOjUwMAorIzogZ2l0LXJlYmFzZS5zaDo0OTcgZ2l0LXJlYmFzZS5zaDo1MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiRvbnRvX25hbWU6IGVzIGdpYnQga2VpbmUgTWVyZ2UtQmFzaXMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTA1CisjOiBnaXQtcmViYXNlLnNoOjUwNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIiRvbnRvX25hbWUgemVpZ3QgYXVmIGtlaW5lbiBnw7xsdGlnZW4gQ29tbWl0IgogCi0jOiBnaXQtcmViYXNlLnNoOjUyOAorIzogZ2l0LXJlYmFzZS5zaDo1MjkKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICJmYXRhbDogQnJhbmNoICRicmFuY2hfbmFtZSBuaWNodCBnZWZ1bmRlbiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NTYyCiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiS2FubiBhdXRvbWF0aXNjaGVuIFN0YXNoIG5pY2h0IGVyemV1Z2VuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjYKKyM6IGdpdC1yZWJhc2Uuc2g6NTY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAiQXV0b21hdGlzY2hlbiBTdGFzaCBlcnpldWd0OiAkc3Rhc2hfYWJicmV2IgogCi0jOiBnaXQtcmViYXNlLnNoOjU3MAorIzogZ2l0LXJlYmFzZS5zaDo1NzEKIG1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICJCaXR0ZSBjb21taXR0ZW4gU2llIGRpZSDDhG5kZXJ1bmdlbiBvZGVyIGJlbnV0emVuIFNpZSBcInN0YXNoXCIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MAorIzogZ2l0LXJlYmFzZS5zaDo1OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiQWt0dWVsbGVyIEJyYW5jaCAkYnJhbmNoX25hbWUgaXN0IGF1ZiBkZW0gbmV1ZXN0ZW4gU3RhbmQuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5NAorIzogZ2l0LXJlYmFzZS5zaDo1OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiIgogIkFrdHVlbGxlciBCcmFuY2ggJGJyYW5jaF9uYW1lIGlzdCBhdWYgZGVtIG5ldWVzdGVuIFN0YW5kLCBSZWJhc2UgZXJ6d3VuZ2VuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MDUKKyM6IGdpdC1yZWJhc2Uuc2g6NjA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAiw4RuZGVydW5nZW4gdm9uICRtYiB6dSAkb250bzoiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjE0CisjOiBnaXQtcmViYXNlLnNoOjYxNQogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKIG1zZ3N0ciAiIgogIlp1bsOkY2hzdCB3aXJkIGRlciBCcmFuY2ggenVyw7xja2dlc3B1bHQsIHVtIElocmUgw4RuZGVydW5nZW5cbiIKICJkYXJhdWYgbmV1IGFuenV3ZW5kZW4gLi4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyNAorIzogZ2l0LXJlYmFzZS5zaDo2MjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiJGJyYW5jaF9uYW1lIHp1ICRvbnRvX25hbWUgdm9yZ2VzcHVsdC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MAorIzogZ2l0LXN0YXNoLnNoOjU0CiBtc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgogbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIgbWl0IFBhcmFtZXRlcm4gaXN0IG5pY2h0IGltcGxlbWVudGllcnQiCiAKLSM6IGdpdC1zdGFzaC5zaDo3MworIzogZ2l0LXN0YXNoLnNoOjk1CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCiBtc2dzdHIgIlNpZSBoYWJlbiBiaXNoZXIgbm9jaCBrZWluZW4gaW5pdGlhbGVuIENvbW1pdCIKIAotIzogZ2l0LXN0YXNoLnNoOjg4CisjOiBnaXQtc3Rhc2guc2g6MTEwCiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIkthbm4gZGVuIGFrdHVlbGxlbiBadXN0YW5kIGRlcyBJbmRleCBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGdpdC1zdGFzaC5zaDoxMDMKKyM6IGdpdC1zdGFzaC5zaDoxMjUKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJLYW5uIGRpZSB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGdpdC1zdGFzaC5zaDoxMjMgZ2l0LXN0YXNoLnNoOjEzNgorIzogZ2l0LXN0YXNoLnNoOjE0NSBnaXQtc3Rhc2guc2g6MTU4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIkthbm4gZGVuIGFrdHVlbGxlbiBadXN0YW5kIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQwCisjOiBnaXQtc3Rhc2guc2g6MTYyCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4gYXVzZ2V3w6RobHQiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDMKKyM6IGdpdC1zdGFzaC5zaDoxNjUKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiS2FubiB0ZW1wb3LDpHJlbiBJbmRleCBuaWNodCBsw7ZzY2hlbiAoa2FubiBuaWNodCBwYXNzaWVyZW4pIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU2CisjOiBnaXQtc3Rhc2guc2g6MTc4CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgIkthbm4gWnVzdGFuZCBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzIG5pY2h0IGF1ZnplaWNobmVuIgogCi0jOiBnaXQtc3Rhc2guc2g6MTg4CisjOiBnaXQtc3Rhc2guc2g6MjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIkthbm4gJHJlZl9zdGFzaCBuaWNodCBtaXQgJHdfY29tbWl0IGFrdHVhbGlzaWVyZW4uIgpAQCAtMTQ1MzksNyArMTQ5NjYsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIzOAorIzogZ2l0LXN0YXNoLnNoOjI2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC0xNDU0OSwxMDggKzE0OTc2LDEwOCBAQAogIiAgICAgICAgVW0gZWluZSBCZXNjaHJlaWJ1bmcgYW56dWdlYmVuLCBiZW51dHplbiBTaWUgXCJnaXQgc3Rhc2ggc2F2ZSAtLSAiCiAiJyRvcHRpb24nXCIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTEKKyM6IGdpdC1zdGFzaC5zaDoyODEKIG1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgogbXNnc3RyICIiCiAiS2FubiBuaWNodCBnbGVpY2h6ZWl0aWcgLS1wYXRjaCB1bmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvZGVyIC0tYWxsIHZlcndlbmRlbiIKIAotIzogZ2l0LXN0YXNoLnNoOjI1OQorIzogZ2l0LXN0YXNoLnNoOjI4OQogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKIG1zZ3N0ciAiS2VpbmUgbG9rYWxlbiDDhG5kZXJ1bmdlbiB6dW0gU3BlaWNoZXJuIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYzCisjOiBnaXQtc3Rhc2guc2g6Mjk0CiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIkthbm4gXCJzdGFzaFwiIG5pY2h0IGluaXRpYWxpc2llcmVuIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY3CisjOiBnaXQtc3Rhc2guc2g6Mjk4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICJLYW5uIGRlbiBha3R1ZWxsZW4gU3RhdHVzIG5pY2h0IHNwZWljaGVybiIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAorIzogZ2l0LXN0YXNoLnNoOjI5OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCiBtc2dzdHIgIlNwZWljaGVydGUgQXJiZWl0c3ZlcnplaWNobmlzIHVuZCBJbmRleC1TdGF0dXMgJHN0YXNoX21zZyIKIAotIzogZ2l0LXN0YXNoLnNoOjI4NQorIzogZ2l0LXN0YXNoLnNoOjMyNgogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiS2FubiDDhG5kZXJ1bmdlbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDMKKyM6IGdpdC1zdGFzaC5zaDo0NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAkb3B0IgogbXNnc3RyICJ1bmJla2FubnRlIE9wdGlvbjogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNgotbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKLW1zZ3N0ciAiS2VpbiBTdGFzaC1FaW50cmFnIGdlZnVuZGVuLiIKKyM6IGdpdC1zdGFzaC5zaDo0ODcKK21zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKK21zZ3N0ciAiS2VpbmUgU3Rhc2gtRWludHLDpGdlIGdlZnVuZGVuLiIKIAotIzogZ2l0LXN0YXNoLnNoOjQyMworIzogZ2l0LXN0YXNoLnNoOjQ5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAiWnUgdmllbGUgQ29tbWl0cyBhbmdlZ2ViZW46ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzgKKyM6IGdpdC1zdGFzaC5zaDo1MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIGlzdCBrZWluZSBnw7xsdGlnZSBSZWZlcmVueiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NgorIzogZ2l0LXN0YXNoLnNoOjUzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiJyRhcmdzJyBpc3Qga2VpbiBcInN0YXNoXCItYXJ0aWdlciBDb21taXQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzcKKyM6IGdpdC1zdGFzaC5zaDo1NDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICInJGFyZ3MnIGlzdCBrZWluZSBcInN0YXNoXCItUmVmZXJlbnoiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODUKKyM6IGdpdC1zdGFzaC5zaDo1NTYKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiS29ubnRlIGRlbiBJbmRleCBuaWNodCBha3R1YWxpc2llcmVuLiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjU2MAogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiS2FubiBcInN0YXNoXCIgbmljaHQgYW53ZW5kZW4sIHNvbGFuZyBlaW4gTWVyZ2UgaW0gR2FuZ2UgaXN0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDk3CisjOiBnaXQtc3Rhc2guc2g6NTY4CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiS29uZmxpa3RlIGltIEluZGV4LiBWZXJzdWNoZW4gU2llIGVzIG9obmUgLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0OTkKKyM6IGdpdC1zdGFzaC5zaDo1NzAKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJLb25udGUgSW5kZXgtVmVyemVpY2huaXMgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTA4Ci1tc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCi1tc2dzdHIgIktvbm50ZSB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIHZvbSBTdGFzaCBuaWNodCB3aWVkZXJoZXJzdGVsbGVuIgorIzogZ2l0LXN0YXNoLnNoOjU3OQorbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgorbXNnc3RyICJLb25udGUgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiB2b20gU3Rhc2gtRWludHJhZyBuaWNodCB3aWVkZXJoZXJzdGVsbGVuLiIKIAotIzogZ2l0LXN0YXNoLnNoOjUzMworIzogZ2l0LXN0YXNoLnNoOjYwNAogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJLYW5uIGdlw6RuZGVydGUgRGF0ZWllbiBuaWNodCBhdXMgZGVtIEluZGV4IGVudGZlcm5lbiIKIAotIzogZ2l0LXN0YXNoLnNoOjU0OAorIzogZ2l0LXN0YXNoLnNoOjYxOQogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiSW5kZXggd3VyZGUgbmljaHQgYXVzIGRlbSBTdGFzaCB6dXLDvGNrZ2VsYWRlbi4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjIKLW1zZ2lkICJUaGUgc3Rhc2ggaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKLW1zZ3N0ciAiRGVyIFN0YXNoIHdpcmQgYmVoYWx0ZW4sIGltIEZhbGxlIFNpZSBiZW7DtnRpZ2VuIGRpZXNlbiBub2NobWFsLiIKKyM6IGdpdC1zdGFzaC5zaDo2MzMKK21zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAiRGVyIFN0YXNoLUVpbnRyYWcgd2lyZCBiZWhhbHRlbiwgaW0gRmFsbGUgU2llIGJlbsO2dGlnZW4gZGllc2VuIG5vY2htYWwuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcxCisjOiBnaXQtc3Rhc2guc2g6NjQyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICJHZWzDtnNjaHQgJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzIKKyM6IGdpdC1zdGFzaC5zaDo2NDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogS29ubnRlIFwic3Rhc2hcIi1FaW50cmFnIG5pY2h0IGzDtnNjaGVuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTgwCisjOiBnaXQtc3Rhc2guc2g6NjUxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJLZWluIEJyYW5jaG5hbWUgc3BlemlmaXppZXJ0IgogCi0jOiBnaXQtc3Rhc2guc2g6NjUyCisjOiBnaXQtc3Rhc2guc2g6NzMwCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoWnVyIFdpZWRlcmhlcnN0ZWxsdW5nIGdlYmVuIFNpZSBcImdpdCBzdGFzaCBhcHBseVwiIGVpbikiCiAKQEAgLTE0Njc1LDcgKzE1MTAyLDcgQEAKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgogbXNnc3RyICInJHNtX3BhdGgnIGlzdCBiZXJlaXRzIHp1bSBDb21taXQgdm9yZ2VtZXJrdCB1bmQgaXN0IGtlaW4gU3VibW9kdWwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0xNDY4NiwyNCArMTUxMTMsMjQgQEAKICIkc21fcGF0aFxuIgogIkJlbnV0emVuIFNpZSAtZiB3ZW5uIFNpZSBkaWVzZW4gd2lya2xpY2ggaGluenVmw7xnZW4gbcO2Y2h0ZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICJGw7xnZSBleGlzdGllcmVuZGVzIFJlcG9zaXRvcnkgaW4gJyRzbV9wYXRoJyBkZW0gSW5kZXggaGluenUuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIGV4aXN0aWVydCBiZXJlaXRzIHVuZCBpc3Qga2VpbiBnw7xsdGlnZXMgR2l0LVJlcG9zaXRvcnkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICIiCiAiRWluIEdpdC1WZXJ6ZWljaG5pcyBmw7xyICckc21fbmFtZScgd3VyZGUgbG9rYWwgZ2VmdW5kZW4gbWl0IGRlbiBSZW1vdGUtIgogIlJlcG9zaXRvcmllczoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ4CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgpAQCAtMTQ3MjEsNDkgKzE1MTQ4LDQ5IEBACiAibmljaHQgZGFzIGtvcnJla3RlIFJlcG9zaXRvcnkgaXN0IG9kZXIgU2llIHVuc2ljaGVyIHNpbmQsIHdhcyBkYXMgYmVkZXV0ZXQsXG4iCiAid8OkaGxlbiBTaWUgZWluZW4gYW5kZXJlbiBOYW1lbiBtaXQgZGVyIE9wdGlvbiAnLS1uYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAiUmVha3RpdmllcmUgbG9rYWxlcyBHaXQtVmVyemVpY2huaXMgZsO8ciBTdWJtb2R1bCAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkthbm4gU3VibW9kdWwgJyRzbV9wYXRoJyBuaWNodCBhdXNjaGVja2VuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkhpbnp1ZsO8Z2VuIHZvbiBTdWJtb2R1bCAnJHNtX3BhdGgnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRWludHJhZ2VuIHZvbiBTdWJtb2R1bCAnJHNtX3BhdGgnIGluIGRpZSBLb25maWd1cmF0aW9uLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzQyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiQmV0cmV0ZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIlN0b3BwZSBiZWkgJyRkaXNwbGF5cGF0aCc7IFNrcmlwdCBnYWIgbmljaHQtTnVsbCBTdGF0dXMgenVyw7xjay4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uZW4gdW5kIC0tYWxsIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAiVmVyd2VuZGVuIFNpZSAnLS1hbGwnLCB3ZW5uIFNpZSB3aXJrbGljaCBhbGxlIFN1Ym1vZHVsZSBkZWluaXRpYWxpc2llcmVuXG4iCiAibcO2Y2h0ZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ0MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKQEAgLTE0Nzc1LDcgKzE1MjAyLDcgQEAKICJsw7ZzY2hlblxuIgogIm3DtmNodGVuKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCkBAIC0xNDc4NCw0MSArMTUyMTEsNDEgQEAKICJBcmJlaXRzdmVyemVpY2huaXMgdm9uIFN1Ym1vZHVsIGluICckZGlzcGxheXBhdGgnIGVudGjDpGx0IGxva2FsZSDDhG5kZXJ1bmdlbjsgIgogInZlcndlbmRlbiBTaWUgJy1mJywgdW0gZGllc2UgenUgdmVyd2VyZmVuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJWZXJ6ZWljaG5pcyAnJGRpc3BsYXlwYXRoJyBiZXJlaW5pZ3QuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIktvbm50ZSBBcmJlaXRzdmVyemVpY2huaXMgZGVzIFN1Ym1vZHVscyBpbiAnJGRpc3BsYXlwYXRoJyBuaWNodCBsw7ZzY2hlbi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiS29ubnRlIGtlaW4gbGVlcmVzIFZlcnplaWNobmlzIGbDvHIgU3VibW9kdWwgaW4gJyRkaXNwbGF5cGF0aCcgZXJzdGVsbGVuLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiU3VibW9kdWwgJyRuYW1lJyAoJHVybCkgZsO8ciBQZmFkICckZGlzcGxheXBhdGgnIHd1cmRlIGF1cyBkZXIgS29uZmlndXJhdGlvbiAiCiAiZW50ZmVybnQuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIktvbm50ZSBha3R1ZWxsZW4gQ29tbWl0IGluIFN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCcgbmljaHQgZmluZGVuLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS29ubnRlIFwiZmV0Y2hcIiBpbiBTdWJtb2R1bC1QZmFkICckc21fcGF0aCcgbmljaHQgYXVzZsO8aHJlbiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTQ4MjcsMTIgKzE1MjU0LDEyIEBACiAiS29ubnRlIGFrdHVlbGxlbiBDb21taXQgdm9uICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSBpbiBTdWJtb2R1bC1QZmFkXG4iCiAiJyRzbV9wYXRoJyBuaWNodCBmaW5kZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY1NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS29ubnRlIFwiZmV0Y2hcIiBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIG5pY2h0IGF1c2bDvGhyZW4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjYyCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKQEAgLTE0ODQxLDg1ICsxNTI2OCw4NSBAQAogIlwiZmV0Y2hcIiBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIGF1c2dlZsO8aHJ0LCBhYmVyICRzaGExIG5pY2h0XG4iCiAiZW50aGFsdGVuLiBEaXJla3RlcyBBbmZvcmRlcm4gZGllc2VzIENvbW1pdHMgaXN0IGZlaGxnZXNjaGxhZ2VuLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS29ubnRlICckc2hhMScgaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyBuaWNodCBhdXNjaGVja2VuLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAiU3VibW9kdWwtUGZhZDogJyRkaXNwbGF5cGF0aCc6ICckc2hhMScgYXVzZ2VjaGVja3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njc0CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJSZWJhc2UgYXVmICckc2hhMScgaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyBuaWNodCBtw7ZnbGljaCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIlN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCc6IFJlYmFzZSBhdWYgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTWVyZ2Ugdm9uICckc2hhMScgaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCiBtc2dzdHIgIlN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCc6IHp1c2FtbWVuZ2Vmw7xocnQgaW4gJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJBdXNmw7xocnVuZyB2b24gJyRjb21tYW5kICRzaGExJyBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnICIKICJmZWhsZ2VzY2hsYWdlbiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIG1zZ3N0ciAiU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJGZWhsZXIgYmVpIFJla3Vyc2lvbiBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NDEKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tY2FjaGVkIHVuZCAtLWZpbGVzIGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAidW5lcndhcnRldGVyIE1vZHVzICRtb2RfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICBXYXJudW5nOiAkZGlzcGxheV9uYW1lIGJlaW5oYWx0ZXQgbmljaHQgQ29tbWl0ICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgV2FybnVuZzogJGRpc3BsYXlfbmFtZSBiZWluaGFsdGV0IG5pY2h0IENvbW1pdCAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTA0CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCiAiICBXYXJudW5nOiAkZGlzcGxheV9uYW1lIGJlaW5oYWx0ZXQgbmljaHQgZGllIENvbW1pdHMgJHNoYTFfc3JjIHVuZCAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDY1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIkZlaGxlciBiZWkgUmVrdXJzaW9uIGluIFN1Ym1vZHVsLVBmYWQgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjExMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlN5bmNocm9uaXNpZXJlIFN1Ym1vZHVsLVVSTCBmw7xyICckZGlzcGxheXBhdGgnIgpAQCAtMTUyMjksMTEgKzE1NjU2LDExIEBACiBtc2dpZCAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgogbXNnc3RyICJPZGVyIFNpZSBrw7ZubmVuIGRlbiBSZWJhc2UgbWl0ICdnaXQgcmViYXNlIC0tYWJvcnQnIGFiYnJlY2hlbi4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIktvbm50ZSBDSEVSUllfUElDS19IRUFEIG5pY2h0IGzDtnNjaGVuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDg0CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0xNTI2NSwxMyArMTU2OTIsMTMgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTAxCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA1CiBtc2dpZCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCiBtc2dzdHIgIiIKICJGZWhsZXIgYmVpbSBWZXJzdWNoIGRpZSBJZGVudGl0w6R0IGRlcyBBdXRob3JzIHp1bSBWZXJiZXNzZXJuIGRlcyBDb21taXRzIHp1XG4iCiAiZmluZGVuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTEwCiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCkBAIC0xNTI4MSwxMSArMTU3MDgsMTEgQEAKICJlcm5ldXRcbiIKICJhdXMuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTExIGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExOQogbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJLb25udGUgw4RuZGVydW5nZW4gYXVzIGRlciBTdGFnaW5nLUFyZWEgbmljaHQgY29tbWl0dGVuLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEzOQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE0NwogbXNnaWQgIiIKICJcbiIKICJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKQEAgLTE1Mjk5LDQwICsxNTcyNiw0MCBAQAogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE0NyBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzA1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTU1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMTMKIG1zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCiBtc2dzdHIgIktvbm50ZSBFZGl0b3IgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgogbXNnc3RyICJLb25udGUgJHN3aXRjaF90byBuaWNodCBhdXNjaGVja2VuLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3MwogbXNnaWQgIk5vIEhFQUQ/IgogbXNnc3RyICJLZWluIEhFQUQ/IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICJLb25udGUgdGVtcG9yw6RyZXMgVmVyemVpY2huaXMgJHN0YXRlX2RpciBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc2CiBtc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCiBtc2dzdHIgIktvbm50ZSBuaWNodCBhbHMgaW50ZXJha3RpdmVuIFJlYmFzZSBtYXJraWVyZW4uIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc4IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODMKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODYgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE5MQogbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgogbXNnc3RyICJLb25udGUgbmV1IGdlc2NocmllYmVuZSBDb21taXRzIG5pY2h0IGluaXRpYWxpc2llcmVuLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCiBtc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKIG1zZ3N0clswXSAiUmViYXNlIHZvbiAkc2hvcnRyZXZpc2lvbnMgYXVmICRzaG9ydG9udG8gKCR0b2RvY291bnQgS29tbWFuZG8pIgogbXNnc3RyWzFdICJSZWJhc2Ugdm9uICRzaG9ydHJldmlzaW9ucyBhdWYgJHNob3J0b250byAoJHRvZG9jb3VudCBLb21tYW5kb3MpIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk2CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCkBAIC0xNTM0Miw3ICsxNTc2OSw3IEBACiAiV2VubiBTaWUgamVkb2NoIGFsbGVzIGzDtnNjaGVuLCB3aXJkIGRlciBSZWJhc2UgYWJnZWJyb2NoZW4uXG4iCiAiXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDMKIG1zZ2lkICJOb3RlIHRoYXQgZW1wdHkgY29tbWl0cyBhcmUgY29tbWVudGVkIG91dCIKIG1zZ3N0ciAiTGVlcmUgQ29tbWl0cyBzaW5kIGF1c2tvbW1lbnRpZXJ0LiIKIApAQCAtMTU0MjQsMTQwICsxNTg1MSwxMzggQEAKIG1zZ3N0ciAiS29ubnRlIGFic29sdXRlbiBQZmFkIGRlcyBHaXQtVmVyemVpY2huaXNzZXMgbmljaHQgYmVzdGltbWVuLiIKIAogIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJTEycyAlMTJzICVzIgogbXNnc3RyICIlMjhzICUyNXMgJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInN0YWdlZCIKIG1zZ3N0ciAienVyIFN0YWdpbmctQXJlYSBoaW56dWdlZsO8Z3QiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInVuc3RhZ2VkIgogbXNnc3RyICJhdXMgU3RhZ2luZy1BcmVhIGVudGZlcm50IgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNDYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzEKIG1zZ2lkICJiaW5hcnkiCiBtc2dzdHIgIkJpbsOkciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjU1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA5CiBtc2dpZCAibm90aGluZyIKIG1zZ3N0ciAiTmljaHRzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM1NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDYKIG1zZ2lkICJ1bmNoYW5nZWQiCiBtc2dzdHIgInVudmVyw6RuZGVydCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjAyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiJWQgUGZhZCBoaW56dWdlZsO8Z3RcbiIKIG1zZ3N0clsxXSAiJWQgUGZhZGUgaGluenVnZWbDvGd0XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICIlZCBQZmFkIGFrdHVhbGlzaWVydFxuIgogbXNnc3RyWzFdICIlZCBQZmFkZSBha3R1YWxpc2llcnRcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiJWQgUGZhZCB3aWVkZXJoZXJnZXN0ZWxsdFxuIgogbXNnc3RyWzFdICIlZCBQZmFkZSB3aWVkZXJoZXJnZXN0ZWxsdFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidG91Y2hlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInRvdWNoZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiJWQgUGZhZCBhbmdlZmFzc3RcbiIKIG1zZ3N0clsxXSAiJWQgUGZhZGUgYW5nZWZhc3N0XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjcxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyMAogbXNnaWQgIlVwZGF0ZSIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2ODMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMyCiBtc2dpZCAiUmV2ZXJ0IgogbXNnc3RyICJSZXZlcnQiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgogbXNnc3RyICJIaW53ZWlzOiAlcyBpc3QgbnVuIHVudmVyc2lvbmllcnQuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzE3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2NgogbXNnaWQgIkFkZCB1bnRyYWNrZWQiCiBtc2dzdHIgInVudmVyc2lvbmllcnRlIERhdGVpZW4gaGluenVmw7xnZW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzIzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MgogbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKIG1zZ3N0ciAiS2VpbmUgdW52ZXJzaW9uaWVydGVuIERhdGVpZW4uXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5ODUKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YWdpbmcuIgogbXNnc3RyICIiCi0iV2VubiBkZXIgUGF0Y2ggc2F1YmVyIGFuZ2V3ZW5kZXQgd2VyZGVuIGthbm4sIHdpcmQgZGVyIGJlYXJiZWl0ZXRlIFBhdGNoLUJsb2NrXG4iCisiV2VubiBkZXIgUGF0Y2ggc2F1YmVyIGFuZ2V3ZW5kZXQgd2VyZGVuIGthbm4sIHdpcmQgZGVyIGJlYXJiZWl0ZXRlIFBhdGNoLSIKKyJCbG9ja1xuIgogImRpcmVrdCBhbHMgenVtIEhpbnp1ZsO8Z2VuIHp1ciBTdGFnaW5nLUFyZWEgbWFya2llcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg4CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFzaGluZy4iCiBtc2dzdHIgIiIKLSJXZW5uIGRlciBQYXRjaCBzYXViZXIgYW5nZXdlbmRldCB3ZXJkZW4ga2Fubiwgd2lyZCBkZXIgYmVhcmJlaXRldGUgUGF0Y2gtQmxvY2tcbiIKKyJXZW5uIGRlciBQYXRjaCBzYXViZXIgYW5nZXdlbmRldCB3ZXJkZW4ga2Fubiwgd2lyZCBkZXIgYmVhcmJlaXRldGUgUGF0Y2gtIgorIkJsb2NrXG4iCiAiZGlyZWt0IGFscyB6dW0gSGluenVmw7xnZW4genVtIFN0YXNoIG1hcmtpZXJ0LiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5MQogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgdW5zdGFnaW5nLiIKIG1zZ3N0ciAiIgotIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC1CbG9ja1xuIgorIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC0iCisiQmxvY2tcbiIKICJkaXJla3QgYWxzIHp1bSBFbnRmZXJuZW4gYXVzIGRlciBTdGFnaW5nLUFyZWEgbWFya2llcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMDMKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKIG1zZ3N0ciAiIgotIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC1CbG9ja1xuIgorIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC0iCisiQmxvY2tcbiIKICJkaXJla3QgYWxzIHp1bSBBbndlbmRlbiBtYXJraWVydC4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1MQotbXNnaWQgIiIKLSJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgotIm1hcmtlZCBmb3IgZGlzY2FyZGluZyIKLW1zZ3N0ciAiIgotIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC1CbG9ja1xuIgotImRpcmVrdCBhbHMgenVtIFZlcndlcmZlbiBtYXJraWVydC4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5OTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDAwCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKIG1zZ3N0ciAiIgotIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC1CbG9ja1xuIgorIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC0iCisiQmxvY2tcbiIKICJkaXJla3QgYWxzIHp1bSBWZXJ3ZXJmZW4gbWFya2llcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAxMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3Igd3JpdGluZzogJXMiCi1tc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uIEVkaXRpZXItRGF0ZWkgZWluZXMgUGF0Y2gtQmxvY2tzIHp1bSBTY2hyZWliZW46ICVzIgorbXNnc3RyICIiCisiRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gRWRpdGllci1EYXRlaSBlaW5lcyBQYXRjaC1CbG9ja3MgenVtIFNjaHJlaWJlbjogJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDE0CiBtc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCiBtc2dzdHIgIiIKICJNYW51ZWxsZXIgRWRpdGllcm1vZHVzIGbDvHIgUGF0Y2gtQmzDtmNrZSAtLSBzaWVoZSBuYWNoIHVudGVuIGbDvHIgZWluZVxuIgogIkt1cnphbmxlaXR1bmcuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDIwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICItLS1cbiIKQEAgLTE1NTcxLDE3ICsxNTk5NiwxOCBAQAogIlplaWxlbiwgZGllIG1pdCAlcyBiZWdpbm5lbiwgd2VyZGVuIGVudGZlcm50LlxuIgogCiAjLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyOAogbXNnaWQgIiIKICJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgogImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKICJhYm9ydGVkIGFuZCB0aGUgaHVuayBpcyBsZWZ0IHVuY2hhbmdlZC5cbiIKIG1zZ3N0ciAiIgogIldlbm4gZGFzIG5pY2h0IHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCBoYWJlbiBTaWUgZGllIE3DtmdsaWNoa2VpdFxuIgotImVpbmVyIGVybmV1dGVuIEJlYXJiZWl0dW5nLiBXZW5uIGFsbGUgWmVpbGVuIGRlcyBQYXRjaC1CbG9ja3MgZW50ZmVybnQgd2VyZGVuLFxuIgorImVpbmVyIGVybmV1dGVuIEJlYXJiZWl0dW5nLiBXZW5uIGFsbGUgWmVpbGVuIGRlcyBQYXRjaC1CbG9ja3MgZW50ZmVybnQgIgorIndlcmRlbixcbiIKICJ3aXJkIGRpZSBCZWFyYmVpdHVuZyBhYmdlYnJvY2hlbiB1bmQgZGVyIFBhdGNoLUJsb2NrIGJsZWlidCB1bnZlcsOkbmRlcnQuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciByZWFkaW5nOiAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gRWRpdGllci1EYXRlaSBlaW5lcyBQYXRjaC1CbG9ja3MgenVtIExlc2VuOiAlcyIKQEAgLTE1NTkyLDE0ICsxNjAxOCwxNCBAQAogIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKICMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCiAjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE4NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTM0CiBtc2dpZCAiIgogIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgogbXNnc3RyICIiCiAiSWhyIGJlYXJiZWl0ZXRlciBQYXRjaC1CbG9jayBrYW5uIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuLlxuIgogIkVybmV1dCBiZWFyYmVpdGVuPyAoXCJuXCIgdmVyd2lyZnQgQmVhcmJlaXR1bmchKSBbeS9uXT8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTQzCiBtc2dpZCAiIgogInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMTU2MDksMTEgKzE2MDM1LDEzIEBACiBtc2dzdHIgIiIKICJ5IC0gZGllc2VuIFBhdGNoLUJsb2NrIHp1bSBDb21taXQgdm9ybWVya2VuXG4iCiAibiAtIGRpZXNlbiBQYXRjaC1CbG9jayBuaWNodCB6dW0gQ29tbWl0IHZvcm1lcmtlblxuIgotInEgLSBCZWVuZGVuOyBkaWVzZW4gb2RlciBhbGxlIHZlcmJsZWliZW5kZW4gUGF0Y2gtQmzDtmNrZSBuaWNodCB6dW0gQ29tbWl0IHZvcm1lcmtlblxuIgorInEgLSBCZWVuZGVuOyBkaWVzZW4gb2RlciBhbGxlIHZlcmJsZWliZW5kZW4gUGF0Y2gtQmzDtmNrZSBuaWNodCB6dW0gQ29tbWl0ICIKKyJ2b3JtZXJrZW5cbiIKICJhIC0gZGllc2VuIHVuZCBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgZGllc2VyIERhdGVpIHp1bSBDb21taXQgdm9ybWVya2VuXG4iCi0iZCAtIGRpZXNlbiBvZGVyIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBpbiBkaWVzZXIgRGF0ZWkgbmljaHQgenVtIENvbW1pdCB2b3JtZXJrZW4iCisiZCAtIGRpZXNlbiBvZGVyIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBpbiBkaWVzZXIgRGF0ZWkgbmljaHQgenVtIENvbW1pdCAiCisidm9ybWVya2VuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0OQogbXNnaWQgIiIKICJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKQEAgLTE1NjI3LDcgKzE2MDU1LDcgQEAKICJhIC0gZGllc2VuIHVuZCBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgZGllc2VyIERhdGVpIHN0YXNoZW5cbiIKICJkIC0gZGllc2VuIG9kZXIgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGRpZXNlciBEYXRlaSBuaWNodCBzdGFzaGVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE1NQogbXNnaWQgIiIKICJ5IC0gdW5zdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0xNTY0MSw3ICsxNjA2OSw3IEBACiAiYSAtIGRpZXNlbiB1bmQgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGRpZXNlciBEYXRlaSB1bnN0YXNoZW5cbiIKICJkIC0gZGllc2VuIG9kZXIgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGRpZXNlciBEYXRlaSBuaWNodCB1bnN0YXNoZW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTYxCiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgpAQCAtMTU2NTEsMTEgKzE2MDc5LDE0IEBACiBtc2dzdHIgIiIKICJ5IC0gZGllc2VuIFBhdGNoLUJsb2NrIGF1ZiBkZW4gSW5kZXggYW53ZW5kZW5cbiIKICJuIC0gZGllc2VuIFBhdGNoLUJsb2NrIG5pY2h0IGF1ZiBkZW4gSW5kZXggYW53ZW5kZW5cbiIKLSJxIC0gQmVlbmRlbjsgZGllc2VuIG9kZXIgYWxsZSB2ZXJibGVpYmVuZGVuIFBhdGNoLUJsw7Zja2UgbmljaHQgYXVmIGRlbiBJbmRleCBhbndlbmRlblxuIgotImEgLSBkaWVzZW4gdW5kIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBkaWVzZXIgRGF0ZWkgYXVmIGRlbiBJbmRleCBhbndlbmRlblxuIgotImQgLSBkaWVzZW4gb2RlciBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgZGllc2VyIERhdGVpIG5pY2h0IGF1ZiBkZW4gSW5kZXggYW53ZW5kZW4iCisicSAtIEJlZW5kZW47IGRpZXNlbiBvZGVyIGFsbGUgdmVyYmxlaWJlbmRlbiBQYXRjaC1CbMO2Y2tlIG5pY2h0IGF1ZiBkZW4gSW5kZXggIgorImFud2VuZGVuXG4iCisiYSAtIGRpZXNlbiB1bmQgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGRpZXNlciBEYXRlaSBhdWYgZGVuIEluZGV4ICIKKyJhbndlbmRlblxuIgorImQgLSBkaWVzZW4gb2RlciBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgZGllc2VyIERhdGVpIG5pY2h0IGF1ZiBkZW4gSW5kZXggIgorImFud2VuZGVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE2NwogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgpAQCAtMTU2NjUsMTEgKzE2MDk2LDE0IEBACiBtc2dzdHIgIiIKICJ5IC0gZGllc2VuIFBhdGNoLUJsb2NrIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2ZXJ3ZXJmZW5cbiIKICJuIC0gZGllc2VuIFBhdGNoLUJsb2NrIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCB2ZXJ3ZXJmZW5cbiIKLSJxIC0gQmVlbmRlbjsgZGllc2VuIG9kZXIgYWxsZSB2ZXJibGVpYmVuZGVuIFBhdGNoLUJsw7Zja2UgbmljaHQgaW0gQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlblxuIgotImEgLSBkaWVzZW4gdW5kIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBkaWVzZXIgRGF0ZWkgaW0gQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlblxuIgotImQgLSBkaWVzZW4gb2RlciBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgZGllc2VyIERhdGVpIG5pY2h0IGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2ZXJ3ZXJmZW4iCisicSAtIEJlZW5kZW47IGRpZXNlbiBvZGVyIGFsbGUgdmVyYmxlaWJlbmRlbiBQYXRjaC1CbMO2Y2tlIG5pY2h0IGltICIKKyJBcmJlaXRzdmVyemVpY2huaXMgdmVyd2VyZmVuXG4iCisiYSAtIGRpZXNlbiB1bmQgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGRpZXNlciBEYXRlaSBpbSBBcmJlaXRzdmVyemVpY2huaXMgIgorInZlcndlcmZlblxuIgorImQgLSBkaWVzZW4gb2RlciBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgZGllc2VyIERhdGVpIG5pY2h0IGltICIKKyJBcmJlaXRzdmVyemVpY2huaXMgdmVyd2VyZmVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3MwogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0xNTY3OSwxMSArMTYxMTMsMTIgQEAKIG1zZ3N0ciAiIgogInkgLSBkaWVzZW4gUGF0Y2gtQmxvY2sgaW0gSW5kZXggdW5kIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2ZXJ3ZXJmZW5cbiIKICJuIC0gZGllc2VuIFBhdGNoLUJsb2NrIG5pY2h0IGltIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdmVyd2VyZmVuXG4iCi0icSAtIEJlZW5kZW47IGRpZXNlbiBvZGVyIGFsbGUgdmVyYmxlaWJlbmRlbiBQYXRjaC1CbMO2Y2tlIG5pY2h0IGltIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdmVyd2VyZmVuXG4iCisicSAtIEJlZW5kZW47IGRpZXNlbiBvZGVyIGFsbGUgdmVyYmxlaWJlbmRlbiBQYXRjaC1CbMO2Y2tlIG5pY2h0IGltIEluZGV4IHVuZCAiCisiQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlblxuIgogImEgLSBkaWVzZW4gdW5kIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBpbiBkZXIgRGF0ZWkgdmVyd2VyZmVuXG4iCiAiZCAtIGRpZXNlbiBvZGVyIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBpbiBkZXIgRGF0ZWkgbmljaHQgdmVyd2VyZmVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3OQogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTU2OTcsNyArMTYxMzIsNyBAQAogImEgLSBkaWVzZW4gdW5kIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBpbiBkZXIgRGF0ZWkgYW53ZW5kZW5cbiIKICJkIC0gZGllc2VuIG9kZXIgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGluIGRlciBEYXRlaSBuaWNodCBhbndlbmRlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExODgKIG1zZ2lkICIiCiAiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKICIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCkBAIC0xNTcxMSwyOTcgKzE2MTQ2LDMxMyBAQAogbXNnc3RyICIiCiAiZyAtIFBhdGNoLUJsb2NrIHp1bSBIaW5zcHJpbmdlbiBhdXN3w6RobGVuXG4iCiAiLyAtIG5hY2ggUGF0Y2gtQmxvY2sgc3VjaGVuIGRlciBnZWdlYmVuZW0gcmVndWzDpHJlbSBBdXNkcnVjayBlbnRzcHJpY2h0XG4iCi0iaiAtIGRpZXNlbiBQYXRjaC1CbG9jayB1bmJlc3RpbW10IGxhc3NlbiwgbsOkY2hzdGVuIHVuYmVzdGltbXRlbiBQYXRjaC1CbG9jayBhbnplaWdlblxuIgorImogLSBkaWVzZW4gUGF0Y2gtQmxvY2sgdW5iZXN0aW1tdCBsYXNzZW4sIG7DpGNoc3RlbiB1bmJlc3RpbW10ZW4gUGF0Y2gtQmxvY2sgIgorImFuemVpZ2VuXG4iCiAiSiAtIGRpZXNlbiBQYXRjaC1CbG9jayB1bmJlc3RpbW10IGxhc3NlbiwgbsOkY2hzdGVuIFBhdGNoLUJsb2NrIGFuemVpZ2VuXG4iCi0iayAtIGRpZXNlbiBQYXRjaC1CbG9jayB1bmJlc3RpbW10IGxhc3Nlbiwgdm9yaGVyaWdlbiB1bmJlc3RpbW10ZW4gUGF0Y2gtQmxvY2sgYW56ZWlnZW5cbiIKKyJrIC0gZGllc2VuIFBhdGNoLUJsb2NrIHVuYmVzdGltbXQgbGFzc2VuLCB2b3JoZXJpZ2VuIHVuYmVzdGltbXRlbiBQYXRjaC0iCisiQmxvY2sgYW56ZWlnZW5cbiIKICJLIC0gZGllc2VuIFBhdGNoLUJsb2NrIHVuYmVzdGltbXQgbGFzc2VuLCB2b3JoZXJpZ2VuIFBhdGNoLUJsb2NrIGFuemVpZ2VuXG4iCiAicyAtIGFrdHVlbGxlbiBQYXRjaC1CbG9jayBpbiBrbGVpbmVyZSBQYXRjaC1CbMO2Y2tlIGF1ZnRlaWxlblxuIgogImUgLSBha3R1ZWxsZW4gUGF0Y2gtQmxvY2sgbWFudWVsbCBlZGl0aWVyZW5cbiIKICI/IC0gSGlsZmUgYW56ZWlnZW5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjcyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMTkKIG1zZ2lkICJUaGUgc2VsZWN0ZWQgaHVua3MgZG8gbm90IGFwcGx5IHRvIHRoZSBpbmRleCFcbiIKLW1zZ3N0ciAiRGllIGF1c2dld8OkaGx0ZW4gUGF0Y2gtQmzDtmNrZSBrw7ZubmVuIG5pY2h0IGF1ZiBkZW4gSW5kZXggYW5nZXdlbmRldCB3ZXJkZW4hXG4iCittc2dzdHIgIiIKKyJEaWUgYXVzZ2V3w6RobHRlbiBQYXRjaC1CbMO2Y2tlIGvDtm5uZW4gbmljaHQgYXVmIGRlbiBJbmRleCBhbmdld2VuZGV0IHdlcmRlbiFcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjczCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjAKIG1zZ2lkICJBcHBseSB0aGVtIHRvIHRoZSB3b3JrdHJlZSBhbnl3YXk/ICIKIG1zZ3N0ciAiVHJvdHpkZW0gYXVmIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhbndlbmRlbj8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMwogbXNnaWQgIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iCiBtc2dzdHIgIk5pY2h0cyBhbmdld2VuZGV0LlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyODcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB1bm1lcmdlZDogJXNcbiIKIG1zZ3N0ciAiaWdub3JpZXJlIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpOiAlc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0MwogbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCiBtc2dzdHIgIk51ciBCaW7DpHJkYXRlaWVuIGdlw6RuZGVydC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDUKIG1zZ2lkICJObyBjaGFuZ2VzLlxuIgogbXNnc3RyICJLZWluZSDDhG5kZXJ1bmdlbi5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTMKIG1zZ2lkICJQYXRjaCB1cGRhdGUiCiBtc2dzdHIgIlBhdGNoIEFrdHVhbGlzaWVydW5nIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJNb2R1c8OkbmRlcnVuZyBkZXIgU3RhZ2luZy1BcmVhIGhpbnp1ZsO8Z2VuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkzDtnNjaHVuZyBkZXIgU3RhZ2luZy1BcmVhIGhpbnp1ZsO8Z2VuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJEaWVzZW4gUGF0Y2gtQmxvY2sgZGVyIFN0YWdpbmctQXJlYSBoaW56dWbDvGdlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJNb2R1c8OkbmRlcnVuZyBzdGFzaGVuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkzDtnNjaHVuZyBzdGFzaGVuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJEaWVzZW4gUGF0Y2gtQmxvY2sgc3Rhc2hlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIk1vZHVzw6RuZGVydW5nIGF1cyBkZXIgU3RhZ2luZy1BcmVhIGVudGZlcm5lbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkzDtnNjaHVuZyBhdXMgZGVyIFN0YWdpbmctQXJlYSBlbnRmZXJuZW4gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzcwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiRGllc2VuIFBhdGNoLUJsb2NrIGF1cyBkZXIgU3RhZ2luZy1BcmVhIGVudGZlcm5lbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJNb2R1c8OkbmRlcnVuZyBhdWYgSW5kZXggYW53ZW5kZW4gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiTMO2c2NodW5nIGF1ZiBJbmRleCBhbndlbmRlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiRGllc2VuIFBhdGNoLUJsb2NrIGF1ZiBJbmRleCBhbndlbmRlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiTW9kdXPDpG5kZXJ1bmcgaW0gQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIGRlbGV0aW9uIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiTMO2c2NodW5nIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2ZXJ3ZXJmZW4gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzgwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJkaWVzZW4gUGF0Y2gtQmxvY2sgaW0gQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCi1tc2dzdHIgIk1vZHVzw6RuZGVydW5nIHZvbSBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICIiCisiTW9kdXPDpG5kZXJ1bmcgdm9tIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdmVyd2VyZmVuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKLW1zZ3N0ciAiTMO2c2NodW5nIHZvbSBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICIiCisiTMO2c2NodW5nIHZvbSBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJEaWVzZW4gUGF0Y2gtQmxvY2sgdm9tIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdmVyd2VyZmVuIFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgIiIKKyJEaWVzZW4gUGF0Y2gtQmxvY2sgdm9tIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdmVyd2VyZmVuIFt5LG4scSxhLGQsLyIKKyIlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKLW1zZ3N0ciAiTW9kdXPDpG5kZXJ1bmcgYXVmIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW4gW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAiIgorIk1vZHVzw6RuZGVydW5nIGF1ZiBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIGFud2VuZGVuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJMw7ZzY2h1bmcgYXVmIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW4gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJEaWVzZW4gUGF0Y2gtQmxvY2sgYXVmIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW4gW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAiIgorIkRpZXNlbiBQYXRjaC1CbG9jayBhdWYgSW5kZXggdW5kIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhbndlbmRlbiBbeSxuLHEsYSxkLC8iCisiJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDkzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDAKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKIG1zZ3N0ciAienUgd2VsY2hlbSBQYXRjaC1CbG9jayBzcHJpbmdlbiAoPEVudGVyPiBmw7xyIG1laHIgSW5mb3JtYXRpb25lbik/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDIKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCiBtc2dzdHIgInp1IHdlbGNoZW0gUGF0Y2gtQmxvY2sgc3ByaW5nZW4/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBOdW1tZXI6ICclcydcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuXG4iCiBtc2dpZF9wbHVyYWwgIlNvcnJ5LCBvbmx5ICVkIGh1bmtzIGF2YWlsYWJsZS5cbiIKIG1zZ3N0clswXSAiRW50c2NodWxkaWd1bmcsIG51ciAlZCBQYXRjaC1CbG9jayB2ZXJmw7xnYmFyLlxuIgogbXNnc3RyWzFdICJFbnRzY2h1bGRpZ3VuZywgbnVyICVkIFBhdGNoLUJsw7Zja2UgdmVyZsO8Z2Jhci5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTM1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0ODIKIG1zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCiBtc2dzdHIgIlN1Y2hlIG5hY2ggcmVndWzDpHJlbSBBdXNkcnVjaz8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ5NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXNcbiIKIG1zZ3N0ciAiRmVobGVyaGFmdGVyIHJlZ3Vsw6RyZXIgQXVzZHJ1Y2sgZsO8ciBTdWNoZSAlczogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDUKIG1zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKIG1zZ3N0ciAiS2VpbiBQYXRjaC1CbG9jayBlbnRzcHJpY2h0IGRlbSBhbmdlZ2ViZW5lbiBQYXR0ZXJuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUxNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzkKIG1zZ2lkICJObyBwcmV2aW91cyBodW5rXG4iCiBtc2dzdHIgIktlaW4gdm9yaGVyaWdlciBQYXRjaC1CbG9ja1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MjYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ1CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIktlaW4gZm9sZ2VuZGVyIFBhdGNoLUJsb2NrXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTUzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNwbGl0IGludG8gJWQgaHVuay5cbiIKIG1zZ2lkX3BsdXJhbCAiU3BsaXQgaW50byAlZCBodW5rcy5cbiIKIG1zZ3N0clswXSAiSW4gJWQgUGF0Y2gtQmxvY2sgYXVmZ2V0ZWlsdC5cbiIKIG1zZ3N0clsxXSAiSW4gJWQgUGF0Y2gtQmzDtmNrZSBhdWZnZXRlaWx0LlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYwNQogbXNnaWQgIlJldmlldyBkaWZmIgogbXNnc3RyICJEaWZmIMO8YmVycHLDvGZlbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBkbyBub3QgdHJhbnNsYXRlIHRoZSBjb21tYW5kIG5hbWVzCiAjLiAnc3RhdHVzJywgJ3VwZGF0ZScsICdyZXZlcnQnLCBldGMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NzcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYyNAogbXNnaWQgIiIKICJzdGF0dXMgICAgICAgIC0gc2hvdyBwYXRocyB3aXRoIGNoYW5nZXNcbiIKICJ1cGRhdGUgICAgICAgIC0gYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzXG4iCiAicmV2ZXJ0ICAgICAgICAtIHJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uXG4iCiAicGF0Y2ggICAgICAgICAtIHBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseVxuIgotImRpZmZcdCAgICAgIC0gdmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXhcbiIKKyJkaWZmICAgICAgICAgIC0gdmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXhcbiIKICJhZGQgdW50cmFja2VkIC0gYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiAiCiAiY2hhbmdlc1xuIgogbXNnc3RyICIiCiAic3RhdHVzICAgICAgICAtIFBmYWRlIG1pdCDDhG5kZXJ1bmdlbiBhbnplaWdlblxuIgotInVwZGF0ZSAgICAgICAgLSBadXN0YW5kIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgZGVuIHp1bSBDb21taXQgdm9yZ2VtZXJrdGVuIMOEbmRlcnVuZ2VuIGhpbnp1ZsO8Z2VuXG4iCi0icmV2ZXJ0ICAgICAgICAtIHp1bSBDb21taXQgdm9yZ2VtZXJrdGVuIMOEbmRlcnVuZ2VuIGF1ZiBIRUFEIFZlcnNpb24genVyw7xja3NldHplblxuIgorInVwZGF0ZSAgICAgICAgLSBadXN0YW5kIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgZGVuIHp1bSBDb21taXQgIgorInZvcmdlbWVya3RlbiDDhG5kZXJ1bmdlbiBoaW56dWbDvGdlblxuIgorInJldmVydCAgICAgICAgLSB6dW0gQ29tbWl0IHZvcmdlbWVya3RlIMOEbmRlcnVuZ2VuIGF1ZiBIRUFEIFZlcnNpb24gIgorInp1csO8Y2tzZXR6ZW5cbiIKICJwYXRjaCAgICAgICAgIC0gUGF0Y2gtQmzDtmNrZSBhdXN3w6RobGVuIHVuZCBzZWxla3RpdiBha3R1YWxpc2llcmVuXG4iCi0iZGlmZlx0ICAgICAgLSBVbnRlcnNjaGllZGUgendpc2NoZW4gSEVBRCB1bmQgSW5kZXggYW56ZWlnZW5cbiIKKyJkaWZmICAgICAgICAgIC0gVW50ZXJzY2hpZWRlIHp3aXNjaGVuIEhFQUQgdW5kIEluZGV4IGFuemVpZ2VuXG4iCiAiYWRkIHVudHJhY2tlZCAtIEluaGFsdGUgdm9uIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIHp1bSBDb21taXQgdm9ybWVya2VuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTkKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDkKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjYKIG1zZ2lkICJtaXNzaW5nIC0tIgogbXNnc3RyICItLSBmZWhsdCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICJVbmJla2FubnRlciAtLXBhdGNoIE1vZHVzOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcyNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50ICVzLCBleHBlY3RpbmcgLS0iCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIEFyZ3VtZW50ICVzLCBlcndhcnRlIC0tIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjYKIG1zZ2lkICJsb2NhbCB6b25lIGRpZmZlcnMgZnJvbSBHTVQgYnkgYSBub24tbWludXRlIGludGVydmFsXG4iCi1tc2dzdHIgImxva2FsZSBaZWl0em9uZSB1bnRlcnNjaGVpZGV0IHNpY2ggdm9uIEdNVCBuaWNodCB1bSBlaW5lbiBNaW51dGVuaW50ZXJ2YWxsXG4iCittc2dzdHIgIiIKKyJsb2thbGUgWmVpdHpvbmUgdW50ZXJzY2hlaWRldCBzaWNoIHZvbiBHTVQgbmljaHQgdW0gZWluIE1pbnV0ZW5pbnRlcnZhbGxcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjggZ2l0LXNlbmQtZW1haWwucGVybDoxMzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM5CiBtc2dpZCAibG9jYWwgdGltZSBvZmZzZXQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDI0IGhvdXJzXG4iCiBtc2dzdHIgImxva2FsZXIgWmVpdC1PZmZzZXQgZ3LDtsOfZXIgb2RlciBnbGVpY2ggMjQgU3R1bmRlblxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMDggZ2l0LXNlbmQtZW1haWwucGVybDoyMTQKIG1zZ2lkICJ0aGUgZWRpdG9yIGV4aXRlZCB1bmNsZWFubHksIGFib3J0aW5nIGV2ZXJ5dGhpbmciCiBtc2dzdHIgIkRlciBFZGl0b3Igd3VyZGUgdW5zYXViZXIgYmVlbmRldCwgYnJlY2hlIGFsbGVzIGFiLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoyODIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjkxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGNvbnRhaW5zIGFuIGludGVybWVkaWF0ZSB2ZXJzaW9uIG9mIHRoZSBlbWFpbCB5b3Ugd2VyZSBjb21wb3NpbmcuXG4iCi1tc2dzdHIgIiclcycgZW50aMOkbHQgZWluZSBad2lzY2hlbnZlcnNpb24gZGVyIEUtTWFpbCwgZGllIFNpZSBnZXJhZGUgdmVyZmFzc2VuLlxuIgorbXNnc3RyICIiCisiJyVzJyBlbnRow6RsdCBlaW5lIFp3aXNjaGVudmVyc2lvbiBkZXIgRS1NYWlsLCBkaWUgU2llIGdlcmFkZSB2ZXJmYXNzZW4uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mjg3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI5NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKIG1zZ3N0ciAiJyVzLmZpbmFsJyBlbnRow6RsdCBkaWUgdmVyZmFzc3RlIEUtTWFpbC5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzE0CiBtc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgogbXNnc3RyICItLWR1bXAtYWxpYXNlcyBpc3QgbWl0IGFuZGVyZW4gT3B0aW9uZW4gaW5rb21wYXRpYmVsXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzY4IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM3OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCi1tc2dzdHIgIkthbm4gJ2dpdCBmb3JtYXQtcGF0Y2gnIG5pY2h0IGF1w59lcmhhbGIgZWluZXMgUmVwb3NpdG9yaWVzIGF1c2bDvGhyZW4uXG4iCittc2dzdHIgIiIKKyJLYW5uICdnaXQgZm9ybWF0LXBhdGNoJyBuaWNodCBhdcOfZXJoYWxiIGVpbmVzIFJlcG9zaXRvcmllcyBhdXNmw7xocmVuLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQzNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLXN1cHByZXNzLWNjIGZpZWxkOiAnJXMnXG4iCiBtc2dzdHIgIlVuYmVrYW5udGVzIC0tc3VwcHJlc3MtY2MgRmVsZDogJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ2NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLWNvbmZpcm0gc2V0dGluZzogJyVzJ1xuIgogbXNnc3RyICJVbmJla2FubnRlIC0tY29uZmlybSBFaW5zdGVsbHVuZzogJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MDkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogc2VuZG1haWwgYWxpYXMgd2l0aCBxdW90ZXMgaXMgbm90IHN1cHBvcnRlZDogJXNcbiIKLW1zZ3N0ciAiV2FybnVuZzogc2VuZGVtYWlsIEFsaWFzIG1pdCBBbmbDvGhydW5nc3N0cmljaGVuIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0OiAlc1xuIgorbXNnc3RyICIiCisiV2FybnVuZzogc2VuZGVtYWlsIEFsaWFzIG1pdCBBbmbDvGhydW5nc3N0cmljaGVuIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAiV2FybnVuZzogYDppbmNsdWRlOmAgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQ6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgL2ZpbGVgIG9yIGB8cGlwZWAgcmVkaXJlY3Rpb24gbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAiV2FybnVuZzogYC9maWxlYCBvZGVyIGB8cGlwZWAgVW1sZWl0dW5nIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogc2VuZG1haWwgbGluZSBpcyBub3QgcmVjb2duaXplZDogJXNcbiIKIG1zZ3N0ciAiV2FybnVuZzogc2VuZG1haWwgWmVpbGUgd2lyZCBuaWNodCBlcmthbm50OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU4OQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIkZpbGUgJyVzJyBleGlzdHMgYnV0IGl0IGNvdWxkIGFsc28gYmUgdGhlIHJhbmdlIG9mIGNvbW1pdHNcbiIKQEAgLTE2MDE1LDE0ICsxNjQ2NiwxNSBAQAogImluZGVtIFNpZSAuLi5cbiIKICJcbiIKICIgICAgKiBcIi4vJXNcIiBhbmdlYmVuLCB3ZW5uIFNpZSBlaW5lIERhdGVpIG1laW5lbiwgb2RlclxuIgotIiAgICAqIGRpZSBPcHRpb24gLS1mb3JtYXQtcGF0Y2ggYW5nZWJlbiwgd2VubiBTaWUgZWluZW4gQ29tbWl0LUJlcmVpY2ggbWVpbmVuXG4iCisiICAgICogZGllIE9wdGlvbiAtLWZvcm1hdC1wYXRjaCBhbmdlYmVuLCB3ZW5uIFNpZSBlaW5lbiBDb21taXQtQmVyZWljaCAiCisibWVpbmVuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjEwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjQ1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJmYXRhbDogJXM6ICVzXG4iCkBAIC0xNjAzMSwyNCArMTY0ODMsMjcgQEAKICJmYXRhbDogJXM6ICVzXG4iCiAiV2FybnVuZzogRXMgd3VyZGVuIGtlaW5lIFBhdGNoZXMgdmVyc2VuZGV0LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NTYKIG1zZ2lkICIiCiAiXG4iCiAiTm8gcGF0Y2ggZmlsZXMgc3BlY2lmaWVkIVxuIgogIlxuIgotbXNnc3RyICJcbmtlaW5lIFBhdGNoLURhdGVpZW4gYW5nZWdlYmVuIVxuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJrZWluZSBQYXRjaC1EYXRlaWVuIGFuZ2VnZWJlbiFcbiIKKyJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCiBtc2dzdHIgIktlaW5lIEJldHJlZmZ6ZWlsZSBpbiAlcz8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uICclcycgenVtIFNjaHJlaWJlbjogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njc4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4OQogbXNnaWQgIiIKICJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgogIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCkBAIC0xNjA2MCwzMyArMTY1MTUsMzUgQEAKICJaaWVoZW4gU2llIGluIEJldHJhY2h0LCBlaW5lbiBhbGxnZW1laW5lbiBcImRpZmZzdGF0XCIgb2RlciBlaW5cbiIKICJJbmhhbHRzdmVyemVpY2huaXMsIGbDvHIgZGVuIFBhdGNoIGRlbiBTaWUgc2NocmVpYmVuLCBoaW56dXp1ZsO8Z2VuLlxuIgogIlxuIgotIkxlZXJlbiBTaWUgZGVuIEluaGFsdCBkZXMgQm9keXMsIHdlbm4gU2llIGtlaW5lIFp1c2FtbWVuZmFzc3VuZyBzZW5kZW4gbcO2Y2h0ZW4uXG4iCisiTGVlcmVuIFNpZSBkZW4gSW5oYWx0IGRlcyBCb2R5cywgd2VubiBTaWUga2VpbmUgWnVzYW1tZW5mYXNzdW5nIHNlbmRlbiAiCisibcO2Y2h0ZW4uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzAxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcy5maW5hbDogJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uICVzLmZpbmFsOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NTAKIG1zZ2lkICJUby9DYy9CY2MgZmllbGRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgeWV0LCB0aGV5IGhhdmUgYmVlbiBpZ25vcmVkXG4iCi1tc2dzdHIgIlRvL0NjL0JjYyBGZWxkZXIgd3VyZGVuIG5vY2ggbmljaHQgaW50ZXJwcmV0aWVydCwgc2llIHd1cmRlbiBpZ25vcmllcnRcbiIKK21zZ3N0ciAiIgorIlRvL0NjL0JjYyBGZWxkZXIgd3VyZGVuIG5vY2ggbmljaHQgaW50ZXJwcmV0aWVydCwgc2llIHd1cmRlbiBpZ25vcmllcnRcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NDgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzU5CiBtc2dpZCAiU3VtbWFyeSBlbWFpbCBpcyBlbXB0eSwgc2tpcHBpbmcgaXRcbiIKIG1zZ3N0ciAiRS1NYWlsIG1pdCBadXNhbW1lbmZhc3N1bmcgaXN0IGxlZXIsIHdpcmQgYXVzZ2VsYXNzZW5cbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgogbXNnc3RyICJTaW5kIFNpZSBzaWNoIHNpY2hlciwgPCVzPiB6dSBiZW51dHplbiBbeS9OXT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCkBAIC0xNjA5NCwxMSArMTY1NTEsMTEgQEAKICJEaWUgZm9sZ2VuZGVuIERhdGVpZW4gc2luZCA4LUJpdCwgYWJlciBkZWtsYXJpZXJlbiBrZWluXG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZy5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODI1CiBtc2dpZCAiV2hpY2ggOGJpdCBlbmNvZGluZyBzaG91bGQgSSBkZWNsYXJlIFtVVEYtOF0/ICIKIG1zZ3N0ciAiV2VsY2hlcyA4LUJpdC1FbmNvZGluZyBzb2xsIGRla2xhcmllcnQgd2VyZGVuIFtVVEYtOF0/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODMzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJSZWZ1c2luZyB0byBzZW5kIGJlY2F1c2UgdGhlIHBhdGNoXG4iCkBAIC0xNjEwOCwyMyArMTY1NjUsMjYgQEAKIG1zZ3N0ciAiIgogIlZlcnNhbmQgenVyw7xja2dld2llc2VuLCB3ZWlsIGRlciBQYXRjaFxuIgogIlx0JXNcbiIKLSJkaWUgQmV0cmVmZnplaWxlbnZvcmxhZ2UgJyoqKiBTVUJKRUNUIEhFUkUgKioqJyBlbnRow6RsdC4gR2ViZW4gU2llIC0tZm9yY2UgYW4sXG4iCisiZGllIEJldHJlZmZ6ZWlsZW52b3JsYWdlICcqKiogU1VCSkVDVCBIRVJFICoqKicgZW50aMOkbHQuIEdlYmVuIFNpZSAtLWZvcmNlICIKKyJhbixcbiIKICJ3ZW5uIFNpZSBkZW4gUGF0Y2ggd2lya2xpY2ggdmVyc2VuZGVuIHdvbGxlbi5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODUyCiBtc2dpZCAiVG8gd2hvbSBzaG91bGQgdGhlIGVtYWlscyBiZSBzZW50IChpZiBhbnlvbmUpPyIKIG1zZ3N0ciAiQW4gd2VuIHNvbGxlbiBkaWUgRS1NYWlscyB2ZXJzZW5kZXQgd2VyZGVuICh3ZW5uIMO8YmVyaGF1cHQgamVtYW5kKT8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgogbXNnc3RyICJmYXRhbDogQWxpYXMgJyVzJyBlcndlaXRlcnQgc2ljaCB6dSBzaWNoIHNlbGJzdFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODIKIG1zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgotbXNnc3RyICJNZXNzYWdlLUlEIHp1ciBWZXJ3ZW5kdW5nIGFscyBJbi1SZXBseS1UbyBmw7xyIGRpZSBlcnN0ZSBFLU1haWwgKHdlbm4gZWluZSBleGlzdGllcnQpPyAiCittc2dzdHIgIiIKKyJNZXNzYWdlLUlEIHp1ciBWZXJ3ZW5kdW5nIGFscyBJbi1SZXBseS1UbyBmw7xyIGRpZSBlcnN0ZSBFLU1haWwgKHdlbm4gZWluZSAiCisiZXhpc3RpZXJ0KT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzIgZ2l0LXNlbmQtZW1haWwucGVybDo5NDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVuYWJsZSB0byBleHRyYWN0IGEgdmFsaWQgYWRkcmVzcyBmcm9tOiAlc1xuIgogbXNnc3RyICJGZWhsZXI6IGtvbm50ZSBrZWluZSBnw7xsdGlnZSBBZHJlc3NlIGF1cyAlcyBleHRyYWhpZXJlblxuIgpAQCAtMTYxMzIsMTYgKzE2NTkyLDE4IEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3FdIFtkXSBbZV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0NAogbXNnaWQgIldoYXQgdG8gZG8gd2l0aCB0aGlzIGFkZHJlc3M/IChbcV11aXR8W2Rdcm9wfFtlXWRpdCk6ICIKLW1zZ3N0ciAiV2FzIHNvbGwgbWl0IGRpZXNlciBBZHJlc3NlIGdlc2NoZWhlbj8gKEJlZW5kZW4gW3FdfEzDtnNjaGVuIFtkXXxCZWFyYmVpdGVuIFtlXSk6ICIKK21zZ3N0ciAiIgorIldhcyBzb2xsIG1pdCBkaWVzZXIgQWRyZXNzZSBnZXNjaGVoZW4/IChCZWVuZGVuIFtxXXxMw7ZzY2hlbiBbZF18QmVhcmJlaXRlbiAiCisiW2VdKTogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI0NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiQ0EgUGZhZCBcIiVzXCIgZXhpc3RpZXJ0IG5pY2h0IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMDkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyMAogbXNnaWQgIiIKICIgICAgVGhlIENjIGxpc3QgYWJvdmUgaGFzIGJlZW4gZXhwYW5kZWQgYnkgYWRkaXRpb25hbFxuIgogIiAgICBhZGRyZXNzZXMgZm91bmQgaW4gdGhlIHBhdGNoIGNvbW1pdCBtZXNzYWdlLiBCeSBkZWZhdWx0XG4iCkBAIC0xNjE1NCwxNDIgKzE2NjE2LDI3OCBAQAogIiAgICBydW4gJ2dpdCBjb25maWcgLS1nbG9iYWwgc2VuZGVtYWlsLmNvbmZpcm0gYXV0bycuXG4iCiAiXG4iCiBtc2dzdHIgIiIKLSIgICAgRGllIENjLUxpc3RlIG9iZXJoYWxiIHd1cmRlIHVtIHp1c8OkdHpsaWNoZSBBZHJlc3NlbiBlcndlaXRlcnQsIGRpZSBpbiBkZXJcbiIKLSIgICAgQ29tbWl0LUJlc2NocmVpYnVuZyBkZXMgUGF0Y2hlcyBnZWZ1bmRlbiB3dXJkZW4uIFdlbm4gZGllcyBwYXNzaWVydCwgd2VyZGVuXG4iCisiICAgIERpZSBDYy1MaXN0ZSBvYmVyaGFsYiB3dXJkZSB1bSB6dXPDpHR6bGljaGUgQWRyZXNzZW4gZXJ3ZWl0ZXJ0LCBkaWUgaW4gIgorImRlclxuIgorIiAgICBDb21taXQtQmVzY2hyZWlidW5nIGRlcyBQYXRjaGVzIGdlZnVuZGVuIHd1cmRlbi4gV2VubiBkaWVzIHBhc3NpZXJ0LCAiCisid2VyZGVuXG4iCiAiICAgIFNpZSB2b24gc2VuZC1lbWFpbCB6dSBlaW5lciBFaW5nYWJlIGF1ZmdlZm9yZGVydC4gRGllc2VzIFZlcmhhbHRlbiB3aXJkXG4iCiAiICAgIGR1cmNoIGRpZSBLb25maWd1cmF0aW9uc2VpbnN0ZWxsdW5nIHNlbmRlbWFpbC5jb25maXJtIGdlc3RldWVydC5cbiIKICJcbiIKICIgICAgRsO8ciB3ZWl0ZXJlIEluZm9ybWF0aW9uZW4sIGbDvGhyZW4gU2llICdnaXQgc2VuZC1lbWFpbCAtLWhlbHAnIGF1cy5cbiIKLSIgICAgVW0gZGFzIGFrdHVlbGxlIFZlcmhhbHRlbiBiZWl6dWJlaGFsdGVuLCBhYmVyIGRpZXNlIE1lbGR1bmcgenUgdW50ZXJkcsO8Y2tlbixcbiIKKyIgICAgVW0gZGFzIGFrdHVlbGxlIFZlcmhhbHRlbiBiZWl6dWJlaGFsdGVuLCBhYmVyIGRpZXNlIE1lbGR1bmcgenUgIgorInVudGVyZHLDvGNrZW4sXG4iCiAiICAgIGbDvGhyZW4gU2llICdnaXQgY29uZmlnIC0tZ2xvYmFsIHNlbmRlbWFpbC5jb25maXJtIGF1dG8nIGF1cy5cbiIKICJcbiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSBbbl0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMzUKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtxXXVpdHxbYV1sbCk6ICIKIG1zZ3N0ciAiRGllc2UgRS1NYWlsIHZlcnNlbmRlbj8gKEphIFt5XXxOZWluIFtuXXxCZWVuZGVuIFtxXXxBbGxlIFthXSk6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMzgKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCiBtc2dzdHIgIlp1bSBWZXJzZW5kZW4gZGllc2VyIEUtTWFpbCBpc3QgZWluZSBBbnR3b3J0IGVyZm9yZGVybGljaC4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM1MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzY0CiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAiRGVyIGVyZm9yZGVybGljaGUgU01UUC1TZXJ2ZXIgaXN0IG5pY2h0IGtvcnJla3QgZGVmaW5pZXJ0LiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzk3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgU1RBUlRUTFMhICVzIgogbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IGtlaW4gU1RBUlRUTFMhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MDMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU1RBUlRUTFMgZmFpbGVkISAlcyIKK21zZ3N0ciAiU1RBUlRUTFMgZmVobGdlc2NobGFnZW4hICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MzAKIG1zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgogbXNnc3RyICIiCi0iS29ubnRlIFNNVFAgbmljaHQga29ycmVrdCBpbml0aWFsaXNpZXJlbi4gQml0dGUgcHLDvGZlbiBTaWUgSWhyZSBLb25maWd1cmF0aW9uXG4iCisiS29ubnRlIFNNVFAgbmljaHQga29ycmVrdCBpbml0aWFsaXNpZXJlbi4gQml0dGUgcHLDvGZlbiBTaWUgSWhyZSAiCisiS29uZmlndXJhdGlvblxuIgogInVuZCBiZW51dHplbiBTaWUgLS1zbXRwLWRlYnVnLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDIxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2VuZGVuICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRyeS1TZW50ICVzXG4iCiBtc2dzdHIgIlByb2JldmVyc2FuZCAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIiVzIGdlc2VuZGV0XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUzCiBtc2dpZCAiRHJ5LU9LLiBMb2cgc2F5czpcbiIKIG1zZ3N0ciAiUHJvYmV2ZXJzYW5kIE9LLiBMb2cgZW50aMOkbHQ6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUzCiBtc2dpZCAiT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJPSy4gTG9nIGVudGjDpGx0OlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2NQogbXNnaWQgIlJlc3VsdDogIgogbXNnc3RyICJFcmdlYm5pczogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2OAogbXNnaWQgIlJlc3VsdDogT0tcbiIKIG1zZ3N0ciAiRXJnZWJuaXM6IE9LXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDgxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKIG1zZ3N0ciAiS2FubiBEYXRlaSAlcyBuaWNodCDDtmZmbmVuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDEgZ2l0LXNlbmQtZW1haWwucGVybDoxNTIxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MjggZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBGw7xnZSBjYzogaGluenU6ICVzIHZvbiBaZWlsZSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBGw7xnZSB0bzogaGluenU6ICVzIHZvbiBaZWlsZSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU1NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTgyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobm9uLW1ib3gpIEbDvGdlIGNjOiBoaW56dTogJXMgdm9uIFplaWxlICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKGJvZHkpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKGJvZHkpIEbDvGdlIGNjOiBoaW56dTogJXMgdm9uIFplaWxlICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjc2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBDb3VsZCBub3QgZXhlY3V0ZSAnJXMnIgogbXNnc3RyICIoJXMpIEtvbm50ZSAnJXMnIG5pY2h0IGF1c2bDvGhyZW4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQWRkaW5nICVzOiAlcyBmcm9tOiAnJXMnXG4iCiBtc2dzdHIgIiglcykgRsO8Z2UgJXM6ICVzIGhpbnp1IHZvbjogJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIGZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICclcyciCiBtc2dzdHIgIiglcykgRmVobGVyIGJlaW0gU2NobGllw59lbiBkZXIgUGlwZSBuYWNoICclcyciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzQ5CiBtc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgogbXNnc3RyICJLYW5uIE5hY2hyaWNodCBuaWNodCBhbHMgN2JpdCB2ZXJzZW5kZW4uIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1NwogbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VzIFRyYW5zZmVyLUVuY29kaW5nIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDEgZ2l0LXNlbmQtZW1haWwucGVybDoxNzkyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg0NiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgImtvbm50ZSAlcyBuaWNodCDDtmZmbmVuOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc5OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgogbXNnc3RyICIlczogUGF0Y2ggZW50aMOkbHQgZWluZSBaZWlsZSwgZGllIGzDpG5nZXIgYWxzIDk5OCBaZWljaGVuIGlzdCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzYwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgJXMgd2l0aCBiYWNrdXAgc3VmZml4ICclcycuXG4iCiBtc2dzdHIgIkxhc3NlICVzIG1pdCBCYWNrdXAtU3VmZml4ICclcycgYXVzLlxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc2NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBzZW5kICVzPyBbeXxOXTogIgogbXNnc3RyICJXb2xsZW4gU2llICVzIHdpcmtsaWNoIHZlcnNlbmRlbj8gW3l8Tl06ICIKIAorI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiS29ubnRlIERhdGVpICclcycgbmljaHQgw7ZmZm5lbiIKKworI34gbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKKyN+IG1zZ3N0ciAiQXV0b21hdGlzY2hlIEF1c2bDvGhydW5nIGluICUwLjFmIFNla3VuZGVuIC4uLiIKKworI34gbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZHVwMiglZCwlZCkgZmVobGdlc2NobGFnZW4iCisKKyN+IG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCisjfiBtc2dzdHIgIkluaXRpYWxlciBDb21taXQgYXVmICIKKworI34gbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgorI34gbXNnc3RyICJQYXRjaCBpc3QgbGVlci4gV2FyIGRlc3NlbiBBdWZ0ZWlsdW5nIGZhbHNjaD8iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKKyN+ICJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKKyN+IG1zZ3N0ciAiIgorI34gIlNpZSBoYWJlbiBpbW1lciBub2NoIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIFBmYWRlIGltIEluZGV4LlxuIgorI34gIkhhYmVuIFNpZSB2ZXJnZXNzZW4gJ2dpdCBhZGQnIHp1IGJlbnV0emVuPyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKKyN+ICJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKKyN+IG1zZ3N0ciAiIgorI34gIkthbm4gbmljaHQgZ2xlaWNoemVpdGlnIFBmYWRlIGFrdHVhbGlzaWVyZW4gdW5kIHp1IEJyYW5jaCAnJXMnIHdlY2hzZWxuLlxuIgorI34gIkhhYmVuIFNpZSBiZWFic2ljaHRpZ3QgJyVzJyBhdXN6dWNoZWNrZW4sIHdlbGNoZXIgbmljaHQgYWxzIENvbW1pdCAiCisjfiAiYXVmZ2Vsw7ZzdCB3ZXJkZW4ga2Fubj8iCisKKyN+IG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgorI34gbXNnc3RyICJFeHBsaXppdGUgUGZhZGUgb2huZSAtaSBvZGVyIC1vIGFuZ2VnZWJlbjsgbmVobWUgLS1vbmx5IGFuIgorCisjfiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCisjfiBtc2dzdHIgIlN0YW5kYXJkLU1vZHVzIGbDvHIgUmVrdXJzaW9uIgorCisjfiBtc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKKyN+IG1zZ3N0ciAic3VibW9kdWxlLS1oZWxwZXIgbXVzcyBtaXQgZWluZW0gVW50ZXJiZWZlaGwgYXVmZ2VydWZlbiB3ZXJkZW4iCisKKyN+IG1zZ2lkICJ0YWc6IHRhZ2dpbmcgIgorI34gbXNnc3RyICJ0YWc6IHRhZ2dlICIKKworI34gbXNnaWQgIm9iamVjdCBvZiB1bmtub3duIHR5cGUiCisjfiBtc2dzdHIgIkFydCBkZXMgT2JqZWt0ZXMgdW5iZWthbm50IgorCisjfiBtc2dpZCAiY29tbWl0IG9iamVjdCIKKyN+IG1zZ3N0ciAiQ29tbWl0LU9iamVrdCIKKworI34gbXNnaWQgInRyZWUgb2JqZWN0IgorI34gbXNnc3RyICJUcmVlLU9iamVrdCIKKworI34gbXNnaWQgImJsb2Igb2JqZWN0IgorI34gbXNnc3RyICJCbG9iLU9iamVrdCIKKworI34gbXNnaWQgIm90aGVyIHRhZyBvYmplY3QiCisjfiBtc2dzdHIgImFuZGVyZXMgVGFnLU9iamVrdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTdWJtb2R1bGUgJyVzJyBjYW5ub3QgY2hlY2tvdXQgbmV3IEhFQUQiCisjfiBtc2dzdHIgIlN1Ym1vZHVsICclcycga2FubiBBbHRlcm5hdGl2ZSBuaWNodCBoaW56dWbDvGdlbjogJXMiCisKKyN+IG1zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKKyN+IG1zZ3N0ciAienUgbGFuZ2VzIE9iamVrdC1WZXJ6ZWljaG5pcyAlLipzIgorCisjfiBtc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCisjfiBtc2dzdHIgIlRhZ25hbWUgenUgbGFuZzogJS4qcy4uLiIKKworI34gbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCisjfiBtc2dzdHIgIlRhZy1Lb3BmIHp1IGdyb8OfLiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorI34gIm1hcmtlZCBmb3IgZGlzY2FyZGluZyIKKyN+IG1zZ3N0ciAiIgorI34gIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC0iCisjfiAiQmxvY2tcbiIKKyN+ICJkaXJla3QgYWxzIHp1bSBWZXJ3ZXJmZW4gbWFya2llcnQuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCisjfiAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKKyN+IG1zZ3N0ciAiIgorI34gIjooZXhjbHVkZSkgTXVzdGVyLCBhYmVyIGtlaW5lIGFuZGVyZW4gUGZhZHNwZXppZmlrYXRpb25lbiBhbmdlZ2ViZW4uXG4iCisjfiAiVmllbGxlaWNodCBoYWJlbiBTaWUgdmVyZ2Vzc2VuIGVudHdlZGVyICc6Lycgb2RlciAnLicgaGluenV6dWbDvGdlbj8iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0OiAlJSglcykiCisjfiBtc2dzdHIgIm5pY2h0IGVya2FubnRlcyBGb3JtYXQ6ICUlKCVzKSIKKworI34gbXNnaWQgIjpzdHJpcD0gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFyZ3VtZW50IgorI34gbXNnc3RyICI6c3RyaXA9IGVyZm9yZGVydCBlaW5lIHBvc2l0aXZlIEdhbnp6YWhsIGFscyBBcmd1bWVudCIKKworI34gbXNnaWQgInJlZiAnJXMnIGRvZXMgbm90IGhhdmUgJWxkIGNvbXBvbmVudHMgdG8gOnN0cmlwIgorI34gbXNnc3RyICJSZWZlcmVueiAnJXMnIGhhdCBrZWluZSAlbGQgS29tcG9uZW50ZW4gZsO8ciA6c3RyaXAiCisKKyN+IG1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgorI34gbXNnc3RyICJVbmJla2FubnRlcyAlLipzIEZvcm1hdCAlcyIKKworI34gbXNnaWQgIlslczogZ29uZV0iCisjfiBtc2dzdHIgIlslczogZW50ZmVybnRdIgorCisjfiBtc2dpZCAiWyVzXSIKKyN+IG1zZ3N0ciAiWyVzXSIKKworI34gbXNnaWQgIlslczogYmVoaW5kICVkXSIKKyN+IG1zZ3N0ciAiWyVzOiAlZCBoaW50ZXJoZXJdIgorCisjfiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCisjfiBtc2dzdHIgIlslczogJWQgdm9yYXVzXSIKKworI34gbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCisjfiBtc2dzdHIgIlslczogJWQgdm9yYXVzLCAlZCBoaW50ZXJoZXJdIgorCisjfiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKKyN+IG1zZ3N0ciAiICoqKiogdW5nw7xsdGlnZSBSZWZlcmVueiAqKioqIgorCisjfiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCisjfiBtc2dzdHIgImdpdCBtZXJnZSBbPE9wdGlvbmVuPl0gPEJlc2NocmVpYnVuZz4gSEVBRCA8Q29tbWl0PiIKKworI34gbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IgorI34gbXNnc3RyICInJXMnIGlzdCBrZWluIENvbW1pdCIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiS2FubiBEYXRlaSAnJXMnIG5pY2h0IMO2ZmZuZW4iCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiS29ubnRlIERhdGVpICclcycgbmljaHQgc2NobGllw59lbi4iCisKICN+IG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGJsYW5rLWxpbmUtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCiAjfiBtc2dzdHIgIiIKICN+ICJlaW5lIGV4cGVyaW1lbnRlbGxlLCBhdWYgTGVlcnplaWxlbiBiYXNpZXJlbmRlIEhldXJpc3RpayB6dXIgIgpkaWZmIC0tZ2l0IGEvcG8vZnIucG8gYi9wby9mci5wbwppbmRleCBhZjdjMzI3Li5jYjQ1ZjU3IDEwMDY0NAotLS0gYS9wby9mci5wbworKysgYi9wby9mci5wbwpAQCAtMjgsNyArMjgsNyBAQAogIyAgIHRvIGRlYnVnICAgICAgICAgfCAgZMOpYm9ndWVyCiAjICAgZGVidWdnaW5nICAgICAgICB8ICBkw6lib2dhZ2UKICMgICB0byBkZWZsYXRlICAgICAgIHwgIGNvbXByZXNzZXIKLSMgICBlbWFpbCAgICAgICAgICAgIHwgIGUtbWFpbAorIyAgIGVtYWlsICAgICAgICAgICAgfCAgY291cnJpZWwKICMgICBlbnRyeSAgICAgICAgICAgIHwgIMOpbMOpbWVudAogIyAgIGZhc3QtZm9yd2FyZCAgICAgfCAgYXZhbmNlIHJhcGlkZQogIyAgIGZhc3QtZm9yd2FyZGVkICAgfCAgbWlzIMOgIGpvdXIgZW4gYXZhbmNlIHJhcGlkZQpAQCAtNzMsOCArNzMsOCBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0xOCAwMTowMCswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxNy0wMi0xOCAwMDowOSswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDctMjQgMjE6NTQrMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTctMDctMjMgMDQ6MzUrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogSmVhbi1Ob8OrbCBBdmlsYSA8am4uYXZpbGFAZnJlZS5mcj5cbiIKICJMYW5ndWFnZS1UZWFtOiBKZWFuLU5vw6tsIEF2aWxhIDxqbi5hdmlsYUBmcmVlLmZyPlxuIgogIkxhbmd1YWdlOiBmclxuIgpAQCAtODMsMzcgKzgzLDM3IEBACiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPW48PTEgPzAgOiAxO1xuIgogCi0jOiBhZHZpY2UuYzo1NQorIzogYWR2aWNlLmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICJhc3R1Y2U6ICUuKnNcbiIKIAotIzogYWR2aWNlLmM6ODMKKyM6IGFkdmljZS5jOjg2CiBtc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBpY29yZXIgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgogCi0jOiBhZHZpY2UuYzo4NQorIzogYWR2aWNlLmM6ODgKIG1zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB2YWxpZGVyIGNhciB2b3VzIGF2ZXogZGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzLiIKIAotIzogYWR2aWNlLmM6ODcKKyM6IGFkdmljZS5jOjkwCiBtc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZnVzaW9ubmVyIGNhciB2b3VzIGF2ZXogZGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzLiIKIAotIzogYWR2aWNlLmM6ODkKKyM6IGFkdmljZS5jOjkyCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdGlyZXIgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgogCi0jOiBhZHZpY2UuYzo5MQorIzogYWR2aWNlLmM6OTQKIG1zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5udWxlciBjYXIgdm91cyBhdmV6IGRlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcy4iCiAKLSM6IGFkdmljZS5jOjkzCisjOiBhZHZpY2UuYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiVzIG4nZXN0IHBhcyBwb3NzaWJsZSBjYXIgdm91cyBhdmV6IGRlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcy4iCiAKLSM6IGFkdmljZS5jOjEwMQorIzogYWR2aWNlLmM6MTA0CiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKQEAgLTEyMSwyMyArMTIxLDIzIEBACiAiQ29ycmlnZXotbGVzIHB1aXMgbGFuY2V6ICdnaXQgYWRkL3JtIDxmaWNoaWVyPidcbiIKICJzaSBuw6ljZXNzYWlyZSBwb3VyIG1hcnF1ZXIgbGEgcsOpc29sdXRpb24gZXQgdmFsaWRlci4iCiAKLSM6IGFkdmljZS5jOjEwOQorIzogYWR2aWNlLmM6MTEyCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICJBYmFuZG9uIMOgIGNhdXNlIGRlIGNvbmZsaXQgbm9uIHLDqXNvbHUuIgogCi0jOiBhZHZpY2UuYzoxMTQgYnVpbHRpbi9tZXJnZS5jOjEyMDYKKyM6IGFkdmljZS5jOjExNyBidWlsdGluL21lcmdlLmM6MTE4NAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIGZ1c2lvbiAoTUVSR0VfSEVBRCBleGlzdGUpLiIKIAotIzogYWR2aWNlLmM6MTE2CisjOiBhZHZpY2UuYzoxMTkKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICJWZXVpbGxleiB2YWxpZGVyIHZvcyBjaGFuZ2VtZW50cyBhdmFudCBkZSBmdXNpb25uZXIuIgogCi0jOiBhZHZpY2UuYzoxMTcKKyM6IGFkdmljZS5jOjEyMAogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAiQWJhbmRvbiDDoCBjYXVzZSBkJ3VuZSBmdXNpb24gbm9uIHRlcm1pbsOpZS4iCiAKLSM6IGFkdmljZS5jOjEyMworIzogYWR2aWNlLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKQEAgLTE2OSw4OSArMTY5LDk5IEBACiAiICBnaXQgY2hlY2tvdXQgLWIgPG5vbS1kZS1sYS1ub3V2ZWxsZS1icmFuY2hlPlxuIgogIlxuIgogCi0jOiBhcHBseS5jOjU3CisjOiBhcHBseS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICJvcHRpb24gZCdlc3BhY2Ugbm9uIHJlY29ubnVlICclcyciCiAKLSM6IGFwcGx5LmM6NzMKKyM6IGFwcGx5LmM6NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgogbXNnc3RyICJvcHRpb24gZCdpZ25vcmFuY2UgZCdlc3BhY2Ugbm9uIHJlY29ubnVlICclcyciCiAKLSM6IGFwcGx5LmM6MTI1CisjOiBhcHBseS5jOjEyNgogbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLXJlamVjdCBldCAtLTN3YXkgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGVuc2VtYmxlLiIKIAotIzogYXBwbHkuYzoxMjcKKyM6IGFwcGx5LmM6MTI4CiBtc2dpZCAiLS1jYWNoZWQgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIi0tY2FjaGVkIGV0IC0tM3dheSBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqXMgZW5zZW1ibGUuIgogCi0jOiBhcHBseS5jOjEzMAorIzogYXBwbHkuYzoxMzEKIG1zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tM3dheSBob3JzIGQndW4gZMOpcMO0dCIKIAotIzogYXBwbHkuYzoxNDEKKyM6IGFwcGx5LmM6MTQyCiBtc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1pbmRleCBob3JzIGQndW4gZMOpcMO0dCIKIAotIzogYXBwbHkuYzoxNDQKKyM6IGFwcGx5LmM6MTQ1CiBtc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tY2FjaGVkIGhvcnMgZCd1biBkw6lww7R0IgogCi0jOiBhcHBseS5jOjg0NQorIzogYXBwbHkuYzo4MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBwcsOpcGFyZXIgbGEgcmVnZXhwIGQnaG9yb2RhdGFnZSAlcyIKIAotIzogYXBwbHkuYzo4NTQKKyM6IGFwcGx5LmM6ODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKIG1zZ3N0ciAicmVnZXhlYyBhIHJldG91cm7DqSAlZCBwb3VyIGwnZW50csOpZSA6ICVzIgogCi0jOiBhcHBseS5jOjkzOAorIzogYXBwbHkuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAibm9tIGRlIGZpY2hpZXIgZHUgcGF0Y2ggaW50cm91dmFibGUgw6AgbGEgbGlnbmUgJWQiCiAKLSM6IGFwcGx5LmM6OTc3CisjOiBhcHBseS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIC9kZXYvbnVsbCBhdHRlbmR1LCAlcyB0cm91dsOpIMOgIGxhICIKICJsaWduZSAlZCIKIAotIzogYXBwbHkuYzo5ODMKKyM6IGFwcGx5LmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5IDogbWF1dmFpcyBmb3JtYXQgZGUgZ2l0LWRpZmYgLSBub3V2ZWF1IG5vbSBkZSBmaWNoaWVyIGluY29uc2lzdGFudCAiCiAiw6AgbGEgbGlnbmUgJWQiCiAKLSM6IGFwcGx5LmM6OTg0CisjOiBhcHBseS5jOjk3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gYW5jaWVuIG5vbSBkZSBmaWNoaWVyIGluY29uc2lzdGFudCAiCiAiw6AgbGEgbGlnbmUgJWQiCiAKLSM6IGFwcGx5LmM6OTkwCisjOiBhcHBseS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5IDogbWF1dmFpcyBmb3JtYXQgZGUgZ2l0LWRpZmYgLSAvZGV2L251bGwgYXR0ZW5kdSDDoCBsYSBsaWduZSAlZCIKIAotIzogYXBwbHkuYzoxNDg4CisjOiBhcHBseS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBtb2RlIG9uIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJtb2RlIGludmFsaWRlIGRhbnMgbGEgbGlnbmUgJWTCoDogJXMiCisKKyM6IGFwcGx5LmM6MTMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbnNpc3RlbnQgaGVhZGVyIGxpbmVzICVkIGFuZCAlZCIKK21zZ3N0ciAibGlnbmVzIGQnZW50w6p0ZSBpbmNvbnNpc3RhbnRlcyAlZCBldCAlZCIKKworIzogYXBwbHkuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKIG1zZ3N0ciAicmVjb21wdGFnZSA6IGxpZ25lIGluYXR0ZW5kdWUgOiAlLipzIgogCi0jOiBhcHBseS5jOjE1NTcKKyM6IGFwcGx5LmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICJmcmFnbWVudCBkZSBwYXRjaCBzYW5zIGVuLXTDqnRlIMOgIGxhIGxpZ25lICVkIDogJS4qcyIKIAotIzogYXBwbHkuYzoxNTc3CisjOiBhcHBseS5jOjE1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgpAQCAtMjY2LDgzICsyNzYsODMgQEAKICJpbmZvcm1hdGlvbiBkZSBub20gZGUgZmljaGllciBtYW5xdWFudGUgZGFucyBsJ2VuLXTDqnRlIGRlIGdpdCBkaWZmIGxvcnMgZGUgIgogImxhIHN1cHByZXNzaW9uIGRlICVkIGNvbXBvc2FudHMgZGUgcHLDqWZpeGUgZGUgY2hlbWluIChsaWduZSAlZCkiCiAKLSM6IGFwcGx5LmM6MTU4OQorIzogYXBwbHkuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgIiIKICJpbmZvcm1hdGlvbiBkZSBub20gZGUgZmljaGllciBtYW5xdWFudGUgZGFucyBsJ2VuLXTDqnRlIGRlIGdpdCBkaWZmIChsaWduZSAlZCkiCiAKLSM6IGFwcGx5LmM6MTc1OQorIzogYXBwbHkuYzoxNzcwCiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgImxlIG5vdXZlYXUgZmljaGllciBkw6lwZW5kIGRlIGNvbnRlbnVzIGFuY2llbnMiCiAKLSM6IGFwcGx5LmM6MTc2MQorIzogYXBwbHkuYzoxNzcyCiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAibGUgZmljaGllciBzdXBwcmltw6kgYSBlbmNvcmUgZHUgY29udGVudSIKIAotIzogYXBwbHkuYzoxNzk1CisjOiBhcHBseS5jOjE4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJwYXRjaCBjb3Jyb21wdSDDoCBsYSBsaWduZSAlZCIKIAotIzogYXBwbHkuYzoxODMyCisjOiBhcHBseS5jOjE4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgImxlIG5vdXZlYXUgZmljaGllciAlcyBkw6lwZW5kIGRlIGNvbnRlbnVzIGFuY2llbnMiCiAKLSM6IGFwcGx5LmM6MTgzNAorIzogYXBwbHkuYzoxODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgImxlIGZpY2hpZXIgc3VwcHJpbcOpICVzIGEgZW5jb3JlIGR1IGNvbnRlbnUiCiAKLSM6IGFwcGx5LmM6MTgzNworIzogYXBwbHkuYzoxODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqIGF0dGVudGlvbiA6IGxlIGZpY2hpZXIgJXMgZGV2aWVudCB2aWRlIG1haXMgbidlc3QgcGFzIHN1cHByaW3DqSIKIAotIzogYXBwbHkuYzoxOTg0CisjOiBhcHBseS5jOjE5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAicGF0Y2ggYmluYWlyZSBjb3Jyb21wdSDDoCBsYSBsaWduZSAlZCA6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MjAyMQorIzogYXBwbHkuYzoyMDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAicGF0Y2ggYmluYWlyZSBub24gcmVjb25udSDDoCBsYSBsaWduZSAlZCIKIAotIzogYXBwbHkuYzoyMTgyCisjOiBhcHBseS5jOjIxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKIG1zZ3N0ciAicGF0Y2ggdG90YWxlbWVudCBpbmNvbXByw6loZW5zaWJsZSDDoCBsYSBsaWduZSAlZCIKIAotIzogYXBwbHkuYzoyMjY1CisjOiBhcHBseS5jOjIyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAibGVjdHVyZSBkdSBsaWVuIHN5bWJvbGlxdWUgJXMgaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzoyMjY5CisjOiBhcHBseS5jOjIyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAib3V2ZXJ0dXJlIG91IGxlY3R1cmUgZGUgJXMgaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzoyOTIyCisjOiBhcHBseS5jOjI5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgogbXNnc3RyICJkw6lidXQgZGUgbGlnbmUgaW52YWxpZGUgOiAnJWMnIgogCi0jOiBhcHBseS5jOjMwNDEKKyM6IGFwcGx5LmM6MzA1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCiBtc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCiBtc2dzdHJbMF0gIkxhIHNlY3Rpb24gbsKwJWQgYSByw6l1c3NpIMOgIGxhIGxpZ25lICVkIChvZmZzZXQgJWQgbGlnbmUpLiIKIG1zZ3N0clsxXSAiTGEgc2VjdGlvbiBuwrAlZCBhIHLDqXVzc2kgw6AgbGEgbGlnbmUgJWQgKG9mZnNldCAlZCBsaWduZXMpLiIKIAotIzogYXBwbHkuYzozMDUzCisjOiBhcHBseS5jOjMwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAiQ29udGV4dGUgcsOpZHVpdCDDoCAoJWxkLyVsZCkgcG91ciBhcHBsaXF1ZXIgbGUgZnJhZ21lbnQgw6AgbGEgbGlnbmUgJWQiCiAKLSM6IGFwcGx5LmM6MzA1OQorIzogYXBwbHkuYzozMDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgpAQCAtMzUxLDU3NSArMzYxLDU4MCBAQAogInBlbmRhbnQgbGEgcmVjaGVyY2hlIGRlIDpcbiIKICIlLipzIgogCi0jOiBhcHBseS5jOjMwODEKKyM6IGFwcGx5LmM6MzA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgogbXNnc3RyICJkb25uw6llcyBkZSBwYXRjaCBiaW5haXJlIG1hbnF1YW50ZXMgcG91ciAnJXMnIgogCi0jOiBhcHBseS5jOjMwODkKKyM6IGFwcGx5LmM6MzEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAiIgogImltcG9zc2libGUgZCdhcHBsaXF1ZXIgbCdpbnZlcnNlIGQndW4gcGF0Y2ggYmluYWlyZSDDoCAnJXMnIHNhbnMgbGEgc2VjdGlvbiAiCiAiaW52ZXJzZSIKIAotIzogYXBwbHkuYzozMTM1CisjOiBhcHBseS5jOjMxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkJ2FwcGxpcXVlciB1biBwYXRjaCBiaW5haXJlIMOgICclcycgc2FucyBsYSBsaWduZSBjb21wbMOodGUgZCdpbmRleCIKIAotIzogYXBwbHkuYzozMTQ1CisjOiBhcHBseS5jOjMxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgogbXNnc3RyICIiCiAibGUgcGF0Y2ggcydhcHBsaXF1ZSDDoCAnJXMnICglcyksIGNlIHF1aSBuZSBjb3JyZXNwb25kIHBhcyBhdSBjb250ZW51IGFjdHVlbC4iCiAKLSM6IGFwcGx5LmM6MzE1MworIzogYXBwbHkuYzozMTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBwYXRjaCBhcHBsaWVzIHRvIGFuIGVtcHR5ICclcycgYnV0IGl0IGlzIG5vdCBlbXB0eSIKIG1zZ3N0ciAibGUgcGF0Y2ggcydhcHBsaXF1ZSDDoCB1biAnJXMnIHZpZGUgbWFpcyBjZSBuJ2VzdCBwYXMgdmlkZSIKIAotIzogYXBwbHkuYzozMTcxCisjOiBhcHBseS5jOjMxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgImwnaW1hZ2UgcG9zdMOpcmlldXJlIG7DqWNlc3NhaXJlICVzIHBvdXIgJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSBsdWUiCiAKLSM6IGFwcGx5LmM6MzE4NAorIzogYXBwbHkuYzozMTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgogbXNnc3RyICJsZSBwYXRjaCBiaW5haXJlIG5lIHMnYXBwbGlxdWUgcGFyIGNvcnJlY3RlbWVudCDDoCAnJXMnIgogCi0jOiBhcHBseS5jOjMxOTAKKyM6IGFwcGx5LmM6MzIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKIG1zZ3N0ciAiIgogImxlIHBhdGNoIGJpbmFpcmUgc3VyICclcycgY3LDqWUgdW4gcsOpc3VsdGF0IGluY29ycmVjdCAoJXMgYXR0ZW5kdSwgbWFpcyAlcyAiCiAidHJvdXbDqSkiCiAKLSM6IGFwcGx5LmM6MzIxMQorIzogYXBwbHkuYzozMjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgogbXNnc3RyICJsZSBwYXRjaCBhIMOpY2hvdcOpIDogJXM6JWxkIgogCi0jOiBhcHBseS5jOjMzMzMKKyM6IGFwcGx5LmM6MzM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgImV4dHJhY3Rpb24gZGUgJXMgaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzozMzgxIGFwcGx5LmM6MzM5MiBhcHBseS5jOjM0Mzggc2V0dXAuYzoyNDgKKyM6IGFwcGx5LmM6MzM5MiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDQ5IHNldHVwLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgbGVjdHVyZSBkZSAlcyIKIAotIzogYXBwbHkuYzozMzg5CisjOiBhcHBseS5jOjM0MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAibGVjdHVyZSBkZXB1aXMgJyVzJyBhdS1kZWzDoCBkJ3VuIGxpZW4gc3ltYm9saXF1ZSIKIAotIzogYXBwbHkuYzozNDE4IGFwcGx5LmM6MzY1OAorIzogYXBwbHkuYzozNDI5IGFwcGx5LmM6MzY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAibGUgY2hlbWluICVzIGEgw6l0w6kgcmVub21tw6kvc3VwcHJpbcOpIgogCi0jOiBhcHBseS5jOjM1MDEgYXBwbHkuYzozNjcyCisjOiBhcHBseS5jOjM1MTIgYXBwbHkuYzozNjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXMgOiBuJ2V4aXN0ZSBwYXMgZGFucyBsJ2luZGV4IgogCi0jOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgwCisjOiBhcHBseS5jOjM1MjEgYXBwbHkuYzozNjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXMgOiBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2luZGV4IgogCi0jOiBhcHBseS5jOjM1NDUKKyM6IGFwcGx5LmM6MzU1NgogbXNnaWQgInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJsZSBkw6lww7R0IG4nYSBwYXMgbGVzIGJsb2JzIG7DqWNlc3NhaXJlcyBwb3VyIHVuIHJldG91ciDDoCB1bmUgZnVzaW9uIMOgIDMgIgogInBvaW50cy4iCiAKLSM6IGFwcGx5LmM6MzU0OAorIzogYXBwbHkuYzozNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiUmV0b3VyIMOgIHVuZSBmdXNpb24gw6AgMyBwb2ludHPigKZcbiIKIAotIzogYXBwbHkuYzozNTY0IGFwcGx5LmM6MzU2OAorIzogYXBwbHkuYzozNTc1IGFwcGx5LmM6MzU3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgY29udGVudSBhY3R1ZWwgZGUgJyVzJyIKIAotIzogYXBwbHkuYzozNTgwCisjOiBhcHBseS5jOjM1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiRWNoZWMgZHUgcmV0b3VyIMOgIHVuZSBmdXNpb24gw6AgMyBwb2ludHPigKZcbiIKIAotIzogYXBwbHkuYzozNTk0CisjOiBhcHBseS5jOjM2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIgogbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgYXZlYyBkZXMgY29uZmxpdHMuXG4iCiAKLSM6IGFwcGx5LmM6MzU5OQorIzogYXBwbHkuYzozNjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgcHJvcHJlbWVudC5cbiIKIAotIzogYXBwbHkuYzozNjI1CisjOiBhcHBseS5jOjM2MzYKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICJsZSBwYXRjaCBkZSBzdXBwcmVzc2lvbiBsYWlzc2UgdW4gY29udGVudSBkYW5zIGxlIGZpY2hpZXIiCiAKLSM6IGFwcGx5LmM6MzY5NworIzogYXBwbHkuYzozNzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIlcyA6IHR5cGUgZXJyb27DqSIKIAotIzogYXBwbHkuYzozNjk5CisjOiBhcHBseS5jOjM3MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgogbXNnc3RyICIlcyBlc3QgZGUgdHlwZSAlbywgbWFpcyAlbyBhdHRlbmR1IgogCi0jOiBhcHBseS5jOjM4NTAgYXBwbHkuYzozODUyCisjOiBhcHBseS5jOjM4NjAgYXBwbHkuYzozODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgogbXNnc3RyICJjaGVtaW4gaW52YWxpZGUgJyVzJyIKIAotIzogYXBwbHkuYzozOTA4CisjOiBhcHBseS5jOjM5MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgogbXNnc3RyICIlcyA6IGV4aXN0ZSBkw6lqw6AgZGFucyBsJ2luZGV4IgogCi0jOiBhcHBseS5jOjM5MTEKKyM6IGFwcGx5LmM6MzkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIDogZXhpc3RlIGTDqWrDoCBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGFwcGx5LmM6MzkzMQorIzogYXBwbHkuYzozOTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKIG1zZ3N0ciAibGUgbm91dmVhdSBtb2RlICglbykgZGUgJXMgbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdhbmNpZW4gbW9kZSAoJW8pIgogCi0jOiBhcHBseS5jOjM5MzYKKyM6IGFwcGx5LmM6Mzk0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCiBtc2dzdHIgIiIKICJsZSBub3V2ZWF1IG1vZGUgKCVvKSBkZSAlcyBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2FuY2llbiBtb2RlICglbykgZGUgJXMiCiAKLSM6IGFwcGx5LmM6Mzk1NgorIzogYXBwbHkuYzozOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJsZSBmaWNoaWVyIGFmZmVjdMOpICclcycgZXN0IGF1LWRlbMOgIGQndW4gbGllbiBzeW1ib2xpcXVlIgogCi0jOiBhcHBseS5jOjM5NjAKKyM6IGFwcGx5LmM6Mzk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVzIDogbGUgcGF0Y2ggbmUgcydhcHBsaXF1ZSBwYXMiCiAKLSM6IGFwcGx5LmM6Mzk3NQorIzogYXBwbHkuYzozOTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICJWw6lyaWZpY2F0aW9uIGR1IHBhdGNoICVzLi4uIgogCi0jOiBhcHBseS5jOjQwNjYKKyM6IGFwcGx5LmM6NDA3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICIiCiAibCdpbmZvcm1hdGlvbiBzaGExIGVzdCBtYW5xdWFudGUgb3UgaW51dGlsaXNhYmxlIHBvdXIgbGUgc291cy1tb2R1bGUgJXMiCiAKLSM6IGFwcGx5LmM6NDA3MworIzogYXBwbHkuYzo0MDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKIG1zZ3N0ciAibGUgbW9kZSBjaGFuZ2UgcG91ciAlcywgcXVpIG4nZXN0IHBhcyBkYW5zIGxhIEhFQUQgYWN0dWVsbGUiCiAKLSM6IGFwcGx5LmM6NDA3NgorIzogYXBwbHkuYzo0MDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgogbXNnc3RyICJsJ2luZm9ybWF0aW9uIGRlIHNoYTEgZXN0IG1hbnF1YW50ZSBvdSBpbnV0aWxpc2FibGUgKCVzKS4iCiAKLSM6IGFwcGx5LmM6NDA4MSBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKKyM6IGFwcGx5LmM6NDA5MSBidWlsdGluL2NoZWNrb3V0LmM6MjM1IGJ1aWx0aW4vcmVzZXQuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIG1ha2VfY2FjaGVfZW50cnkgcG91ciBsZSBjaGVtaW4gJyVzJyIKIAotIzogYXBwbHkuYzo0MDg1CisjOiBhcHBseS5jOjQwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZCdham91dGVyICVzIMOgIGwnaW5kZXggdGVtcG9yYWlyZSIKIAotIzogYXBwbHkuYzo0MDk1CisjOiBhcHBseS5jOjQxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdpbmRleCB0ZW1wb3JhaXJlIGRhbnMgJXMiCiAKLSM6IGFwcGx5LmM6NDIzMworIzogYXBwbHkuYzo0MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAic3VwcHJlc3Npb24gZGUgJXMgZGFucyBsJ2luZGV4IGltcG9zc2libGUiCiAKLSM6IGFwcGx5LmM6NDI2OAorIzogYXBwbHkuYzo0Mjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAicGF0Y2ggY29ycm9tcHUgcG91ciBsZSBzb3VzLW1vZHVsZSAlcyIKIAotIzogYXBwbHkuYzo0Mjc0CisjOiBhcHBseS5jOjQyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCiBtc2dzdHIgInN0YXQgZHUgZmljaGllciBub3V2ZWxsZW1lbnQgY3LDqcOpICclcycgaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzo0MjgyCisjOiBhcHBseS5jOjQyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCiBtc2dzdHIgIiIKICJjcsOpYXRpb24gZHUgbWFnYXNpbiBkZSBzdG9ja2FnZSBwb3VyIGxlIGZpY2hpZXIgbm91dmVsbGVtZW50IGNyw6nDqSAlcyAiCiAiaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzo0Mjg4IGFwcGx5LmM6NDQzMgorIzogYXBwbHkuYzo0Mjk4IGFwcGx5LmM6NDQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAiYWpvdXQgZGUgbCfDqWzDqW1lbnQgZGUgY2FjaGUgJXMgaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzo0MzI5CisjOiBhcHBseS5jOjQzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ8OpY3JpdHVyZSBkYW5zICclcyciCiAKLSM6IGFwcGx5LmM6NDMzMworIzogYXBwbHkuYzo0MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgogbXNnc3RyICJmZXJtZXR1cmUgZHUgZmljaGllciAnJXMnIgogCi0jOiBhcHBseS5jOjQ0MDMKKyM6IGFwcGx5LmM6NDQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCiBtc2dzdHIgIsOpY3JpdHVyZSBkdSBmaWNoaWVyICclcycgbW9kZSAlbyBpbXBvc3NpYmxlIgogCi0jOiBhcHBseS5jOjQ1MDEKKyM6IGFwcGx5LmM6NDUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgcHJvcHJlbWVudC4iCiAKLSM6IGFwcGx5LmM6NDUwOQorIzogYXBwbHkuYzo0NTE5CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgImVycmV1ciBpbnRlcm5lIgogCi0jOiBhcHBseS5jOjQ1MTIKKyM6IGFwcGx5LmM6NDUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCiBtc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCiBtc2dzdHJbMF0gIkFwcGxpY2F0aW9uIGR1IHBhdGNoICUlcyBhdmVjICVkIHJlamV0Li4uIgogbXNnc3RyWzFdICJBcHBsaWNhdGlvbiBkdSBwYXRjaCAlJXMgYXZlYyAlZCByZWpldHMuLi4iCiAKLSM6IGFwcGx5LmM6NDUyMworIzogYXBwbHkuYzo0NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKIG1zZ3N0ciAidHJvbmNhdHVyZSBkdSBub20gZGUgZmljaGllciAucmVqIGVuICUuKnMucmVqIgogCi0jOiBhcHBseS5jOjQ1MzEgYnVpbHRpbi9mZXRjaC5jOjczNyBidWlsdGluL2ZldGNoLmM6OTg2CisjOiBhcHBseS5jOjQ1NDEgYnVpbHRpbi9mZXRjaC5jOjczOCBidWlsdGluL2ZldGNoLmM6OTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzIgogCi0jOiBhcHBseS5jOjQ1NDUKKyM6IGFwcGx5LmM6NDU1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgogbXNnc3RyICJTZWN0aW9uIG7CsCVkIGFwcGxpcXXDqWUgcHJvcHJlbWVudC4iCiAKLSM6IGFwcGx5LmM6NDU0OQorIzogYXBwbHkuYzo0NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKIG1zZ3N0ciAiU2VjdGlvbiBuwrAlZCByZWpldMOpZS4iCiAKLSM6IGFwcGx5LmM6NDY1OQorIzogYXBwbHkuYzo0NjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgIkNoZW1pbiAnJXMnIG5vbiB0cmFpdMOpLiIKIAotIzogYXBwbHkuYzo0NjY3CisjOiBhcHBseS5jOjQ2NzcKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCiBtc2dzdHIgImVudHLDqWUgbm9uIHJlY29ubnVlIgogCi0jOiBhcHBseS5jOjQ2ODYKKyM6IGFwcGx5LmM6NDY5NgogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgImxlY3R1cmUgZHUgZmljaGllciBkJ2luZGV4IGltcG9zc2libGUiCiAKLSM6IGFwcGx5LmM6NDgyNAorIzogYXBwbHkuYzo0ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgIm91dmVydHVyZSBpbXBvc3NpYmxlIGR1IHBhdGNoICclcyfCoDolcyIKIAotIzogYXBwbHkuYzo0ODQ5CisjOiBhcHBseS5jOjQ4NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCiBtc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0clswXSAiJWQgZXJyZXVyIGQnZXNwYWNlIGlnbm9yw6llIgogbXNnc3RyWzFdICIlZCBlcnJldXJzIGQnZXNwYWNlIGlnbm9yw6llcyIKIAotIzogYXBwbHkuYzo0ODU1IGFwcGx5LmM6NDg3MAorIzogYXBwbHkuYzo0ODY2IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZCBsaWduZSBhIGFqb3V0w6kgZGVzIGVycmV1cnMgZCdlc3BhY2UuIgogbXNnc3RyWzFdICIlZCBsaWduZXMgb250IGFqb3V0w6kgZGVzIGVycmV1cnMgZCdlc3BhY2UuIgogCi0jOiBhcHBseS5jOjQ4NjMKKyM6IGFwcGx5LmM6NDg3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZCBsaWduZSBham91dMOpZSBhcHLDqHMgY29ycmVjdGlvbiBkZXMgZXJyZXVycyBkJ2VzcGFjZS4iCiBtc2dzdHJbMV0gIiVkIGxpZ25lcyBham91dMOpZXMgYXByw6hzIGNvcnJlY3Rpb24gZGVzIGVycmV1cnMgZCdlc3BhY2UuIgogCi0jOiBhcHBseS5jOjQ4NzkgYnVpbHRpbi9hZGQuYzo0NjMgYnVpbHRpbi9tdi5jOjI5OCBidWlsdGluL3JtLmM6MzkxCisjOiBhcHBseS5jOjQ4OTAgYnVpbHRpbi9hZGQuYzo1MTMgYnVpbHRpbi9tdi5jOjI5OSBidWlsdGluL3JtLmM6MzkxCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgZCdpbmRleCIKIAotIzogYXBwbHkuYzo0OTEwIGFwcGx5LmM6NDkxMyBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAotIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA0Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOQorIzogYXBwbHkuYzo0OTIxIGFwcGx5LmM6NDkyNCBidWlsdGluL2FtLmM6MjI1NyBidWlsdGluL2FtLmM6MjI2MAorIzogYnVpbHRpbi9jbG9uZS5jOjExNSBidWlsdGluL2ZldGNoLmM6OTMgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKIG1zZ2lkICJwYXRoIgogbXNnc3RyICJjaGVtaW4iCiAKLSM6IGFwcGx5LmM6NDkxMQorIzogYXBwbHkuYzo0OTIyCiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAibmUgcGFzIGFwcGxpcXVlciBsZXMgbW9kaWZpY2F0aW9ucyBxdWkgY29ycmVzcG9uZGVudCBhdSBjaGVtaW4gZG9ubsOpIgogCi0jOiBhcHBseS5jOjQ5MTQKKyM6IGFwcGx5LmM6NDkyNQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgImFwcGxpcXVlciBsZXMgbW9kaWZpY2F0aW9ucyBxdWkgY29ycmVzcG9uZGVudCBhdSBjaGVtaW4gZG9ubsOpIgogCi0jOiBhcHBseS5jOjQ5MTYgYnVpbHRpbi9hbS5jOjIyODYKKyM6IGFwcGx5LmM6NDkyNyBidWlsdGluL2FtLmM6MjI2NgogbXNnaWQgIm51bSIKIG1zZ3N0ciAibnVtIgogCi0jOiBhcHBseS5jOjQ5MTcKKyM6IGFwcGx5LmM6NDkyOAogbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgogbXNnc3RyICJzdXBwcmltZXIgPG51bT4gYmFycmVzIG9ibGlxdWVzIGRlcyBjaGVtaW5zIHRyYWRpdGlvbm5lbHMgZGUgZGlmZiIKIAotIzogYXBwbHkuYzo0OTIwCisjOiBhcHBseS5jOjQ5MzEKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICJpZ25vcmVyIGxlcyBhZGRpdGlvbnMgcsOpYWxpc8OpZXMgcGFyIGxlIHBhdGNoIgogCi0jOiBhcHBseS5jOjQ5MjIKKyM6IGFwcGx5LmM6NDkzMwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiYXUgbGlldSBkJ2FwcGxpcXVlciBsZSBwYXRjaCwgYWZmaWNoZXIgbGUgZGlmZnN0YXQgZGUgbCdlbnRyw6llIgogCi0jOiBhcHBseS5jOjQ5MjYKKyM6IGFwcGx5LmM6NDkzNwogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZSBub21icmUgZGUgbGlnbmVzIGFqb3V0w6llcyBldCBzdXBwcmltw6llcyBlbiBub3RhdGlvbiBkw6ljaW1hbGUiCiAKLSM6IGFwcGx5LmM6NDkyOAorIzogYXBwbHkuYzo0OTM5CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAiYXUgbGlldSBkJ2FwcGxpcXVlciBsZSBwYXRjaCwgYWZmaWNoZXIgdW4gcsOpc3VtZXIgZGUgbCdlbnRyw6llIgorbXNnc3RyICJhdSBsaWV1IGQnYXBwbGlxdWVyIGxlIHBhdGNoLCBhZmZpY2hlciB1biByw6lzdW3DqSBkZSBsJ2VudHLDqWUiCiAKLSM6IGFwcGx5LmM6NDkzMAorIzogYXBwbHkuYzo0OTQxCiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKIG1zZ3N0ciAiYXUgbGlldSBkJ2FwcGxpcXVlciBsZSBwYXRjaCwgdm9pciBzaSBsZSBwYXRjaCBlc3QgYXBwbGljYWJsZSIKIAotIzogYXBwbHkuYzo0OTMyCisjOiBhcHBseS5jOjQ5NDMKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgInMnYXNzdXJlciBxdWUgbGUgcGF0Y2ggZXN0IGFwcGxpY2FibGUgc3VyIGwnaW5kZXggYWN0dWVsIgogCi0jOiBhcHBseS5jOjQ5MzQKKyM6IGFwcGx5LmM6NDk0NQogbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJhcHBsaXF1ZXIgbGVzIHBhdGNoIHNhbnMgdG91Y2hlciDDoCBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBhcHBseS5jOjQ5MzYKKyM6IGFwcGx5LmM6NDk0NwogbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCiBtc2dzdHIgImFjY2VwdGVyIHVuIHBhdGNoIHF1aSB0b3VjaGUgaG9ycyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBhcHBseS5jOjQ5MzgKKyM6IGFwcGx5LmM6NDk0OQogbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogbXNnc3RyICJhcHBsaXF1ZXIgYXVzc2kgbGUgcGF0Y2ggKMOgIHV0aWxpc2VyIGF2ZWMgLS0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiAKLSM6IGFwcGx5LmM6NDk0MAorIzogYXBwbHkuYzo0OTUxCiBtc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAidGVudGVyIHVuZSBmdXNpb24gw6AgMyBwb2ludHMgc2kgbGUgcGF0Y2ggbmUgcydhcHBsaXF1ZSBwYXMgcHJvcHJlbWVudCIKIAotIzogYXBwbHkuYzo0OTQyCisjOiBhcHBseS5jOjQ5NTMKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogImNvbnN0cnVpcmUgdW4gaW5kZXggdGVtcG9yYWlyZSBmb25kw6kgc3VyIGwnaW5mb3JtYXRpb24gZGUgbCdpbmRleCBlbWJhcnF1w6kiCiAKLSM6IGFwcGx5LmM6NDk0NSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDcKKyM6IGFwcGx5LmM6NDk1NiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTUKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAibGVzIGNoZW1pbnMgc29udCBzw6lwYXLDqXMgcGFyIHVuIGNhcmFjdMOocmUgTlVMIgogCi0jOiBhcHBseS5jOjQ5NDcKKyM6IGFwcGx5LmM6NDk1OAogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAicydhc3N1cmVyIGQnYXUgbW9pbnMgPG4+IGxpZ25lcyBkZSBjb3JyZXNwb25kYW5jZSBkZSBjb250ZXh0ZSIKIAotIzogYXBwbHkuYzo0OTQ4IGJ1aWx0aW4vYW0uYzoyMjY1CisjOiBhcHBseS5jOjQ5NTkgYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgImFjdGlvbiIKIAotIzogYXBwbHkuYzo0OTQ5CisjOiBhcHBseS5jOjQ5NjAKIG1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0ciAiIgogImTDqXRlY3RlciBkZXMgbGlnbmVzIG5vdXZlbGxlcyBvdSBtb2RpZmnDqWVzIHF1aSBjb250aWVubmVudCBkZXMgZXJyZXVycyAiCiAiZCdlc3BhY2UiCiAKLSM6IGFwcGx5LmM6NDk1MiBhcHBseS5jOjQ5NTUKKyM6IGFwcGx5LmM6NDk2MyBhcHBseS5jOjQ5NjYKIG1zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgogbXNnc3RyICJpZ25vcmVyIGRlcyBtb2RpZmljYXRpb25zIGQnZXNwYWNlIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGRlIGNvbnRleHRlIgogCi0jOiBhcHBseS5jOjQ5NTgKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICJhcHBsaXF1ZXIgbGUgcGF0Y2ggZW4gc2VucyBpbnZlcnNlIgogCi0jOiBhcHBseS5jOjQ5NjAKKyM6IGFwcGx5LmM6NDk3MQogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICJuZSBwYXMgcydhdHRlbmRyZSDDoCBhdSBtb2lucyB1bmUgbGlnbmUgZGUgY29udGV4dGUiCiAKLSM6IGFwcGx5LmM6NDk2MgorIzogYXBwbHkuYzo0OTczCiBtc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCiBtc2dzdHIgImxhaXNzZXIgbGVzIHNlY3Rpb25zIHJlamV0w6llcyBkYW5zIGxlcyBmaWNoaWVycyAqLnJlaiBjb3JyZXNwb25kYW50cyIKIAotIzogYXBwbHkuYzo0OTY0CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAiYWNjZXB0ZXIgbGVzIHJlY291dnJlbWVudHMgZGUgc2VjdGlvbnMiCiAKLSM6IGFwcGx5LmM6NDk2NSBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NjUxCi0jOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjEyMiBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorIzogYXBwbHkuYzo0OTc2IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MCBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg3NyBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAibW9kZSB2ZXJiZXV4IgogCi0jOiBhcHBseS5jOjQ5NjcKKyM6IGFwcGx5LmM6NDk3OAogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICIiCiAidG9sw6lyZXIgZGVzIGVycmV1cnMgZGUgZMOpdGVjdGlvbiBkZSByZXRvdXJzIGNoYXJpb3QgbWFucXVhbnRzIGVuIGZpbiBkZSAiCiAiZmljaGllciIKIAotIzogYXBwbHkuYzo0OTcwCisjOiBhcHBseS5jOjQ5ODEKIG1zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCiBtc2dzdHIgIm5lIHBhcyBzZSBmaWVyIGF1IGNvbXB0ZSBkZSBsaWduZXMgZGFucyBsZXMgZW4tdMOqdGVzIGRlIHNlY3Rpb24iCiAKLSM6IGFwcGx5LmM6NDk3MiBidWlsdGluL2FtLmM6MjI3NAorIzogYXBwbHkuYzo0OTgzIGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAicmFjaW5lIgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NDk4NAogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgInByw6lmaXhlciB0b3VzIGxlcyBub21zIGRlIGZpY2hpZXIgYXZlYyA8cm9vdD4iCiAKLSM6IGFyY2hpdmUuYzoxMgorIzogYXJjaGl2ZS5jOjEzCiBtc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPGFyYnJlIG91IGFwcGFyZW50w6k+IFs8Y2hlbWluPi4uLl0iCiAKLSM6IGFyY2hpdmUuYzoxMworIzogYXJjaGl2ZS5jOjE0CiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzoxNAorIzogYXJjaGl2ZS5jOjE1CiBtc2dpZCAiIgogImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGTDqXDDtHQ+IFstLWV4ZWMgPGNvbW1hbmRlPl0gWzxvcHRpb25zPl0gPGFyYnJlIG91ICIKICJhcHBhcmVudMOpPiBbPGNoZW1pbj4uLi5dIgogCi0jOiBhcmNoaXZlLmM6MTUKKyM6IGFyY2hpdmUuYzoxNgogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxkw6lww7R0PiBbLS1leGVjIDxjb21tYW5kZT5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzAwCisjOiBhcmNoaXZlLmM6MzMzIGJ1aWx0aW4vYWRkLmM6MTU0IGJ1aWx0aW4vYWRkLmM6NDkyIGJ1aWx0aW4vcm0uYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbmUgY29ycmVzcG9uZCDDoCBhdWN1biBmaWNoaWVyIgogCi0jOiBhcmNoaXZlLmM6NDI5CisjOiBhcmNoaXZlLmM6NDE4CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IGQnYXJjaGl2ZSIKIAotIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjE0MjkKKyM6IGFyY2hpdmUuYzo0MTkgYnVpbHRpbi9sb2cuYzoxNDQ2CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJwcsOpZml4ZSIKIAotIzogYXJjaGl2ZS5jOjQzMQorIzogYXJjaGl2ZS5jOjQyMAogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgInByw6lmaXhlciBjaGFxdWUgY2hlbWluIGRlIGZpY2hpZXIgZGFucyBsJ2FyY2hpdmUiCiAKLSM6IGFyY2hpdmUuYzo0MzIgYnVpbHRpbi9ibGFtZS5jOjI2MDcgYnVpbHRpbi9ibGFtZS5jOjI2MDggYnVpbHRpbi9jb25maWcuYzo1OQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjEwNTQKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEgYnVpbHRpbi9scy1maWxlcy5jOjU0MSBidWlsdGluL2xzLWZpbGVzLmM6NTQ0Ci0jOiBidWlsdGluL25vdGVzLmM6NDAxIGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkKKyM6IGFyY2hpdmUuYzo0MjEgYnVpbHRpbi9ibGFtZS5jOjY5MyBidWlsdGluL2JsYW1lLmM6Njk0IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MSBidWlsdGluL2dyZXAuYzoxMDgwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDkgYnVpbHRpbi9scy1maWxlcy5jOjU1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNCBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIwCiAjOiBwYXJzZS1vcHRpb25zLmg6MTUzCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAiZmljaGllciIKIAotIzogYXJjaGl2ZS5jOjQzMyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjQyMiBidWlsdGluL2FyY2hpdmUuYzo4OQogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiw6ljcmlyZSBsJ2FyY2hpdmUgZGFucyBjZSBmaWNoaWVyIgogCi0jOiBhcmNoaXZlLmM6NDM1CisjOiBhcmNoaXZlLmM6NDI0CiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAibGlyZSAuZ2l0YXR0cmlidXRlcyBkYW5zIGxlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwiCiAKLSM6IGFyY2hpdmUuYzo0MzYKKyM6IGFyY2hpdmUuYzo0MjUKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgYXJjaGl2w6lzIHN1ciBzdGRlcnIiCiAKLSM6IGFyY2hpdmUuYzo0MzcKKyM6IGFyY2hpdmUuYzo0MjYKIG1zZ2lkICJzdG9yZSBvbmx5IgogbXNnc3RyICJzdG9ja2FnZSBzZXVsZW1lbnQiCiAKLSM6IGFyY2hpdmUuYzo0MzgKKyM6IGFyY2hpdmUuYzo0MjcKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgImNvbXByZXNzaW9uIHJhcGlkZSIKIAotIzogYXJjaGl2ZS5jOjQ0NgorIzogYXJjaGl2ZS5jOjQzNQogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAiY29tcHJlc3Npb24gZWZmaWNhY2UiCiAKLSM6IGFyY2hpdmUuYzo0NDkKKyM6IGFyY2hpdmUuYzo0MzgKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmb3JtYXRzIGQnYXJjaGl2ZSBzdXBwb3J0w6lzIgogCi0jOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2Nsb25lLmM6ODgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OQorIzogYXJjaGl2ZS5jOjQ0MCBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6MTA1IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MgogbXNnaWQgInJlcG8iCiBtc2dzdHIgImTDqXDDtHQiCiAKLSM6IGFyY2hpdmUuYzo0NTIgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0NDEgYnVpbHRpbi9hcmNoaXZlLmM6OTEKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAicsOpY3Vww6lyZXIgbCdhcmNoaXZlIGRlcHVpcyBsZSBkw6lww7R0IGRpc3RhbnQgPGTDqXDDtHQ+IgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODUKKyM6IGFyY2hpdmUuYzo0NDIgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImNvbW1hbmRlIgogCi0jOiBhcmNoaXZlLmM6NDU0IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6NDQzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICJjaGVtaW4gdmVycyBsYSBjb21tYW5kZSBkaXN0YW50ZSBnaXQtdXBsb2FkLWFyY2hpdmUiCiAKLSM6IGFyY2hpdmUuYzo0NjEKKyM6IGFyY2hpdmUuYzo0NTAKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKIG1zZ3N0ciAiT3B0aW9uIC0tcmVtb3RlIGluYXR0ZW5kdWUiCiAKLSM6IGFyY2hpdmUuYzo0NjMKKyM6IGFyY2hpdmUuYzo0NTIKIG1zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKIG1zZ3N0ciAiTCdvcHRpb24gLS1leGVjIG5lIHBldXQgw6p0cmUgdXRpbGlzw6llIHF1J2VuIGNvbXBsw6ltZW50IGRlIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDY1CisjOiBhcmNoaXZlLmM6NDU0CiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCiBtc2dzdHIgIk9wdGlvbiAtLW91dHB1dCBpbmF0dGVuZHVlIgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiRm9ybWF0IGQnYXJjaGl2ZSBpbmNvbm51ICclcyciCiAKLSM6IGFyY2hpdmUuYzo0OTQKKyM6IGFyY2hpdmUuYzo0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAiQXJndW1lbnQgbm9uIHN1cHBvcnTDqSBwb3VyIGxlIGZvcm1hdCAnJXMnwqA6IC0lZCIKIAotIzogYXR0ci5jOjI2MworIzogYXR0ci5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlLipzIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lIgorbXNnc3RyICIlLipzIG4nZXN0IHBhcyB1biBub20gdmFsaWRlIGQnYXR0cmlidXQiCisKKyM6IGF0dHIuYzo0MTAKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKICJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iCkBAIC05MjcsMTIgKzk0Miw3IEBACiAiTGVzIG1vdGlmcyBkZSBuw6lnYXRpb24gc29udCBpZ25vcsOpcyBkYW5zIGxlcyBhdHRyaWJ1dHMgZ2l0XG4iCiAiVXRpbGlzZXogJ1xcIScgcG91ciB1biBwb2ludCBkJ2V4Y2xhbWF0aW9uIGxpdHTDqXJhbC4iCiAKLSM6IGJpc2VjdC5jOjQ0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCi1tc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciAnJXMnIgotCi0jOiBiaXNlY3QuYzo0NDYKKyM6IGJpc2VjdC5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICJDb250ZW51IG1hbCBjaXTDqSBkYW5zIGxlIGZpY2hpZXIgJyVzJ8KgOiAlcyIKQEAgLTEwMDcsNyArMTAxNyw3IEBACiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgInVuZSByw6l2aXNpb24gJXMgZXN0IG7DqWNlc3NhaXJlIgogCi0jOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI2MgorIzogYmlzZWN0LmM6ODY2IGJ1aWx0aW4vbm90ZXMuYzoxNzUgYnVpbHRpbi90YWcuYzoyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpY2hpZXIgJyVzJyIKQEAgLTEwNDIsMTUgKzEwNTIsNTQgQEAKIG1zZ3N0clswXSAiKMOgIHBldSBwcsOocyAlZCDDqXRhcGUpIgogbXNnc3RyWzFdICIow6AgcGV1IHByw6hzICVkIMOpdGFwZXMpIgogCi0jLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoCi0jLiAiKHJvdWdobHkgJWQgc3RlcHMpIiB0cmFuc2xhdGlvbgotIzogYmlzZWN0LmM6OTk4CisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoICIocm91Z2hseSAlZAorIy4gc3RlcHMpIiB0cmFuc2xhdGlvbi4KKyMuCisjOiBiaXNlY3QuYzoxMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ3N0clswXSAiQmlzc2VjdGlvbsKgOiAlZCByw6l2aXNpb24gw6AgdGVzdGVyIGFwcsOocyBjZXR0ZSAlc1xuIgogbXNnc3RyWzFdICJCaXNzZWN0aW9uwqA6ICVkIHLDqXZpc2lvbnMgw6AgdGVzdGVyIGFwcsOocyBjZXR0ZSAlc1xuIgogCisjOiBibGFtZS5jOjE3NTcKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICItLWNvbnRlbnRzIGV0IC0tcmV2ZXJzZSBuZSBmb250IHBhcyBib24gbcOpbmFnZS4iCisKKyM6IGJsYW1lLmM6MTc2OAorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAib24gbmUgcGV1dCBwYXMgdXRpbGlzZXIgLS1jb250ZW50cyBhdmVjIHVuIG5vbSBkJ29iamV0IGNvbW1pdCBmaW5hbCIKKworIzogYmxhbWUuYzoxNzg4Cittc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgorbXNnc3RyICIiCisiLS1yZXZlcnNlIGV0IC0tZmlyc3QtcGFyZW50IGVuc2VtYmxlIG7DqWNlc3NpdGVudCBsYSBzcMOpY2lmaWNhdGlvbiBkJ3VuICIKKyJkZXJuaWVyIGNvbW1pdCIKKworIzogYmxhbWUuYzoxNzk3IGJ1bmRsZS5jOjE2NCByZWYtZmlsdGVyLmM6MTkxOSBzZXF1ZW5jZXIuYzoxMTY2CisjOiBzZXF1ZW5jZXIuYzoyMzI4IGJ1aWx0aW4vY29tbWl0LmM6MTA1OCBidWlsdGluL2xvZy5jOjM1NiBidWlsdGluL2xvZy5jOjkwNworIzogYnVpbHRpbi9sb2cuYzoxMzU3IGJ1aWx0aW4vbG9nLmM6MTY4MyBidWlsdGluL2xvZy5jOjE5MjYgYnVpbHRpbi9tZXJnZS5jOjM2MAorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE3NworbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgcHLDqXBhcmF0aW9uIGR1IHBhcmNvdXJzIGRlcyByw6l2aXNpb25zIgorCisjOiBibGFtZS5jOjE4MTUKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IGVuc2VtYmxlIG7DqWNlc3NpdGVudCB1bmUgcG9ydMOpZSBhdmVjIGxhIGNoYcOubmUgZGUgIgorInByZW1pZXIgcGFyZW50IgorCisjOiBibGFtZS5jOjE4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgorbXNnc3RyICJwYXMgZGUgY2hlbWluICVzIGRhbnMgJXMiCisKKyM6IGJsYW1lLmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgYmxvYiAlcyAgcG91ciBsZSBjaGVtaW4gJXMiCisKICM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTExOTEsNyArMTI0MCw3IEBACiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIiclcycgZXN0IGTDqWrDoCBleHRyYWl0IGRhbnMgJyVzJyIKIAotIzogYnJhbmNoLmM6MzYzCisjOiBicmFuY2guYzozNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgImxhIEhFQUQgZGUgbGEgY29waWUgZGUgdHJhdmFpbCAlcyBuJ2VzdCBwYXMgbWlzZSDDoCBqb3VyIgpAQCAtMTIwMSw5NyArMTI1MCw5MCBAQAogbXNnaWQgIiclcycgZG9lcyBub3QgbG9vayBsaWtlIGEgdjIgYnVuZGxlIGZpbGUiCiBtc2dzdHIgIiclcycgbmUgc2VtYmxlIHBhcyDDqnRyZSB1biBmaWNoaWVyIGJ1bmRsZSB2MiIKIAotIzogYnVuZGxlLmM6NjEKKyM6IGJ1bmRsZS5jOjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAiZW4tdMOqdGUgbm9uIHJlY29ubnUgOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IHNlcXVlbmNlci5jOjEzMzEgc2VxdWVuY2VyLmM6MTc1MiBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODggc2VxdWVuY2VyLmM6MTM0NCBzZXF1ZW5jZXIuYzoxNzcwIGJ1aWx0aW4vY29tbWl0LmM6Nzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyIKIAotIzogYnVuZGxlLmM6MTM5CisjOiBidW5kbGUuYzoxNDAKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiTGUgZMOpcMO0dCBuZSBkaXNwb3NlIHBhcyBkZXMgY29tbWl0cyBwcsOpcmVxdWlzIHN1aXZhbnRzIDoiCiAKLSM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ5OSBzZXF1ZW5jZXIuYzoxMTU0IHNlcXVlbmNlci5jOjIyOTAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODIwIGJ1aWx0aW4vY29tbWl0LmM6MTA2MSBidWlsdGluL2xvZy5jOjM0OAotIzogYnVpbHRpbi9sb2cuYzo4OTAgYnVpbHRpbi9sb2cuYzoxMzQwIGJ1aWx0aW4vbG9nLmM6MTY2NiBidWlsdGluL2xvZy5jOjE5MDkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNjAgYnVpbHRpbi9zaG9ydGxvZy5jOjE3NwotbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgotbXNnc3RyICLDqWNoZWMgZGUgbGEgcHLDqXBhcmF0aW9uIGR1IHBhcmNvdXJzIGRlcyByw6l2aXNpb25zIgotCi0jOiBidW5kbGUuYzoxODUKKyM6IGJ1bmRsZS5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiTGUgY29saXMgY29udGllbnQgY2V0dGUgcsOpZsOpcmVuY2UgOiIKIG1zZ3N0clsxXSAiTGUgY29saXMgY29udGllbnQgY2VzICVkIHLDqWbDqXJlbmNlcyA6IgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE5MwogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICJMZSBjb2xpcyBlbnJlZ2lzdHJlIGwnaGlzdG9yaXF1ZSBjb21wbGV0LiIKIAotIzogYnVuZGxlLmM6MTk0CisjOiBidW5kbGUuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIkxlIGNvbGlzIGV4aWdlIGNldHRlIHLDqWbDqXJlbmNlIDoiCiBtc2dzdHJbMV0gIkxlIGNvbGlzIGV4aWdlIGNlcyAlZCByw6lmw6lyZW5jZXMgOiIKIAotIzogYnVuZGxlLmM6MjUzCisjOiBidW5kbGUuYzoyNTQKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBkZXMgb2JqZXRzIGdyb3Vww6lzIgogCi0jOiBidW5kbGUuYzoyNjQKKyM6IGJ1bmRsZS5jOjI2NQogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICJsZXMgb2JqZXRzIGdyb3Vww6lzIG9udCBkaXNwYXJ1IgogCi0jOiBidW5kbGUuYzozMDQKKyM6IGJ1bmRsZS5jOjMwNwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgInJldi1saXN0IGEgZGlzcGFydSIKIAotIzogYnVuZGxlLmM6MzUzCisjOiBidW5kbGUuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlICclcycgZXN0IGV4Y2x1ZSBwYXIgbGVzIG9wdGlvbnMgZGUgcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI4MgorIzogYnVuZGxlLmM6NDQ2IGJ1aWx0aW4vbG9nLmM6MTczIGJ1aWx0aW4vbG9nLmM6MTU4OSBidWlsdGluL3Nob3J0bG9nLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50IG5vbiByZWNvbm51IDogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ1MQorIzogYnVuZGxlLmM6NDU0CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIlJlZnVzIGRlIGNyw6llciB1biBjb2xpcyB2aWRlLiIKIAotIzogYnVuZGxlLmM6NDYzCisjOiBidW5kbGUuYzo0NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciAnJXMnIgogCi0jOiBidW5kbGUuYzo0OTEKKyM6IGJ1bmRsZS5jOjQ5NAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAibCdpbmRleCBkZSBncm91cGUgYSBkaXNwYXJ1IgogCi0jOiBjb2xvci5jOjMwMAorIzogY29sb3IuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIGRlIGNvdWxldXIgOiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBzZXF1ZW5jZXIuYzoxNTY0IGJ1aWx0aW4vYW0uYzo0MjEgYnVpbHRpbi9hbS5jOjQ1NwotIzogYnVpbHRpbi9hbS5jOjE0OTMgYnVpbHRpbi9hbS5jOjIxMjcKKyM6IGNvbW1pdC5jOjQxIHNlcXVlbmNlci5jOjE1ODIgYnVpbHRpbi9hbS5jOjQyMCBidWlsdGluL2FtLmM6NDU2CisjOiBidWlsdGluL2FtLmM6MTQ2OSBidWlsdGluL2FtLmM6MjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciAlcyIKIAotIzogY29tbWl0LmM6NDIKKyM6IGNvbW1pdC5jOjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiVzICVzIG4nZXN0IHBhcyB1biBjb21taXQgISIKIAotIzogY29tbWl0LmM6MTUxNAorIzogY29tbWl0LmM6MTUxMQogbXNnaWQgIiIKICJXYXJuaW5nOiBjb21taXQgbWVzc2FnZSBkaWQgbm90IGNvbmZvcm0gdG8gVVRGLTguXG4iCiAiWW91IG1heSB3YW50IHRvIGFtZW5kIGl0IGFmdGVyIGZpeGluZyB0aGUgbWVzc2FnZSwgb3Igc2V0IHRoZSBjb25maWdcbiIKQEAgLTEzMDcsMTU1ICsxMzQ5LDE4MCBAQAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgInBsdXMgZGUgbcOpbW9pcmUiCiAKLSM6IGNvbmZpZy5jOjUxOAorIzogY29uZmlnLmM6MTg2Cittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICIiCisibGVzIGNvbmRpdGlvbnMgZCdpbmNsdXNpb24gZGUgY29uZmlndXJhdGlvbiByZWxhdGl2ZSBkb2l2ZW50IHZlbmlyIGRlICIKKyJmaWNoaWVycyIKKworIzogY29uZmlnLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBibG9iICVzIgogbXNnc3RyICJsaWduZSAlZCBkZSBjb25maWcgaW5jb3JyZWN0ZSBkYW5zIGxlIGJsb2IgJXMiCiAKLSM6IGNvbmZpZy5jOjUyMgorIzogY29uZmlnLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgogbXNnc3RyICJsaWduZSAlZCBkZSBjb25maWcgaW5jb3JyZWN0ZSBkYW5zIGxlIGZpY2hpZXIgJXMiCiAKLSM6IGNvbmZpZy5jOjUyNgorIzogY29uZmlnLmM6NzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGlnbmUgJWQgZGUgY29uZmlnIGluY29ycmVjdGUgZGFucyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGNvbmZpZy5jOjUzMAorIzogY29uZmlnLmM6NzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKIG1zZ3N0ciAibGlnbmUgJWQgZGUgY29uZmlnIGluY29ycmVjdGUgZGFucyBsZSBibG9iIGRlIHNvdXMtbW9kdWxlICVzIgogCi0jOiBjb25maWcuYzo1MzQKKyM6IGNvbmZpZy5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gY29tbWFuZCBsaW5lICVzIgogbXNnc3RyICJsaWduZSAlZCBkZSBjb25maWcgaW5jb3JyZWN0ZSBkYW5zIGxhIGxpZ25lIGRlIGNvbW1hbmRlICVzIgogCi0jOiBjb25maWcuYzo1MzgKKyM6IGNvbmZpZy5jOjc0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCiBtc2dzdHIgImxpZ25lICVkIGRlIGNvbmZpZyBpbmNvcnJlY3RlIGRhbnMgJXMiCiAKLSM6IGNvbmZpZy5jOjY1NworIzogY29uZmlnLmM6ODY4CiBtc2dpZCAib3V0IG9mIHJhbmdlIgogbXNnc3RyICJob3JzIHBsYWdlIgogCi0jOiBjb25maWcuYzo2NTcKKyM6IGNvbmZpZy5jOjg2OAogbXNnaWQgImludmFsaWQgdW5pdCIKIG1zZ3N0ciAidW5pdMOpIGludmFsaWRlIgogCi0jOiBjb25maWcuYzo2NjMKKyM6IGNvbmZpZy5jOjg3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgInZhbGV1ciBudW3DqXJpcXVlIGRlIGNvbmZpZ3VyYXRpb24gaW52YWxpZGUgJyVzJyBwb3VyICclcyfCoDogJXMiCiAKLSM6IGNvbmZpZy5jOjY2OAorIzogY29uZmlnLmM6ODc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgogbXNnc3RyICIiCiAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGUgYmxvYiAiCiAiJXPCoDogJXMiCiAKLSM6IGNvbmZpZy5jOjY3MQorIzogY29uZmlnLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgogbXNnc3RyICIiCiAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGUgZmljaGllciAiCiAiJXPCoDogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NAorIzogY29uZmlnLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAiIgogInZhbGV1ciBudW3DqXJpcXVlIGRlIGNvbmZpZ3VyYXRpb24gaW5jb3JyZWN0ZSAnJXMnIHBvdXIgJyVzJyBkYW5zIGwnZW50csOpZSAiCiAic3RhbmRhcmTCoDogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NworIzogY29uZmlnLmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKIG1zZ3N0ciAiIgogInZhbGV1ciBudW3DqXJpcXVlIGRlIGNvbmZpZ3VyYXRpb24gaW5jb3JyZWN0ZSAnJXMnIHBvdXIgJyVzJyBkYW5zIGxlIGJsb2IgZGUgIgogInNvdXMtbW9kdWxlICVzwqA6ICVzIgogCi0jOiBjb25maWcuYzo2ODAKKyM6IGNvbmZpZy5jOjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgogbXNnc3RyICIiCiAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGEgbGlnbmUgZGUgIgogImNvbW1hbmRlICVzwqA6ICVzIgogCi0jOiBjb25maWcuYzo2ODMKKyM6IGNvbmZpZy5jOjg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCiBtc2dzdHIgIiIKICJ2YWxldXIgbnVtw6lyaXF1ZSBkZSBjb25maWd1cmF0aW9uIGluY29ycmVjdGUgJyVzJyBwb3VyICclcycgZGFucyAlc8KgOiAlcyIKIAotIzogY29uZmlnLmM6NzcwCisjOiBjb25maWcuYzo5ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4cGFuZCB1c2VyIGRpciBpbjogJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpdGVuZHJlIGxlIHLDqXBlcnRvaXJlIHV0aWxpc2F0ZXVyIGRhbnMgOiAnJXMnIgogCi0jOiBjb25maWcuYzo4NjUgY29uZmlnLmM6ODc2CisjOiBjb25maWcuYzoxMDg0IGNvbmZpZy5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm5pdmVhdSBkZSBjb21wcmVzc2lvbiB6bGliIGluY29ycmVjdCAlZCIKIAotIzogY29uZmlnLmM6OTkzCisjOiBjb25maWcuYzoxMjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAibW9kZSBpbnZhbGlkZSBwb3VyIGxhIGNyw6lhdGlvbiBkJ29iamV0IDogJXMiCiAKLSM6IGNvbmZpZy5jOjExNDkKKyM6IGNvbmZpZy5jOjEzNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm5pdmVhdSBkZSBjb21wcmVzc2lvbiBkdSBwYXF1ZXQgJWQiCiAKLSM6IGNvbmZpZy5jOjEzMzkKKyM6IGNvbmZpZy5jOjE1NjQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAibGVjdHVyZSBkZSBsYSBjb25maWd1cmF0aW9uIGRlIGxpZ25lIGRlIGNvbW1hbmRlIGltcG9zc2libGUiCiAKLSM6IGNvbmZpZy5jOjEzODkKKyM6IGNvbmZpZy5jOjE4OTQKIG1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgImVycmV1ciBpbmNvbm51ZSBwZW5kYW50IGxhIGxlY3R1cmUgZGVzIGZpY2hpZXJzIGRlIGNvbmZpZ3VyYXRpb24iCiAKLSM6IGNvbmZpZy5jOjE3NDMKKyM6IGNvbmZpZy5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAlczogJyVzJyIKK21zZ3N0ciAiJXMgaW52YWxpZGUgOiAnJXMnIgorCisjOiBjb25maWcuYzoyMDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKK21zZ3N0ciAiIgorInZhbGV1ciAnJXMnIGRlIGNvcmUudW50cmFja2VkQ2FjaGUgaW5jb25udWXCoDsgdXRpbGlzYXRpb24gZGUgJ2tlZXAnIHBhciAiCisiZMOpZmF1dCIKKworIzogY29uZmlnLmM6MjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCittc2dzdHIgIiIKKyJsYSB2YWxldXIgJyVkJyBkZSBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgZGV2cmFpdCBzZSBzaXR1ZXIgZW50cmUgMCBldCAiCisiMTAwIgorCisjOiBjb25maWcuYzoyMTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAiIgogImltcG9zc2libGUgZCdhbmFseXNlciAnJXMnIGRlcHVpcyBsZSBjb25maWd1cmF0aW9uIGVuIGxpZ25lIGRlIGNvbW1hbmRlIgogCi0jOiBjb25maWcuYzoxNzQ1CisjOiBjb25maWcuYzoyMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAiIgogInZhcmlhYmxlIGRlIGNvbmZpZ3VyYXRpb24gJyVzJyBpbmNvcnJlY3RlIGRhbnMgbGUgZmljaGllciAnJXMnIMOgIGxhIGxpZ25lICVkIgogCi0jOiBjb25maWcuYzoxODA0CisjOiBjb25maWcuYzoyMTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIGEgZGVzIHZhbGV1cnMgbXVsdGlwbGVzIgogCi0jOiBjb25maWcuYzoyMjI1IGNvbmZpZy5jOjI0NTAKKyM6IGNvbmZpZy5jOjI1MTcgY29uZmlnLmM6Mjc0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmc3RhdCBvbiAlcyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBmc3RhdCBzdXIgJXMiCiAKLSM6IGNvbmZpZy5jOjIzNDMKKyM6IGNvbmZpZy5jOjI2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpZ2xlciAnJXMnIMOgICclcyciCiAKLSM6IGNvbmZpZy5jOjIzNDUKKyM6IGNvbmZpZy5jOjI2MzcgYnVpbHRpbi9yZW1vdGUuYzo3NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVuc2V0ICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpc2luaXRpYWxpc2VyICclcyciCiAKLSM6IGNvbm5lY3QuYzo0OQorIzogY29ubmVjdC5jOjUwCiBtc2dpZCAiVGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1cG9uIGluaXRpYWwgY29udGFjdCIKIG1zZ3N0ciAiTCdow7R0ZSBkaXN0YW50IGEgZmVybcOpIGxhIGNvbm5leGlvbiBsb3JzIGR1IGNvbnRhY3QgaW5pdGlhbCIKIAotIzogY29ubmVjdC5jOjUxCisjOiBjb25uZWN0LmM6NTIKIG1zZ2lkICIiCiAiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKICJcbiIKQEAgLTE0NjcsNyArMTUzNCw3IEBACiAiVmV1aWxsZXogdsOpcmlmaWVyIHF1ZSB2b3VzIGF2ZXogbGVzIGRyb2l0cyBkJ2FjY8Ooc1xuIgogImV0IHF1ZSBsZSBkw6lww7R0IGV4aXN0ZS4iCiAKLSM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE5MCBidWlsdGluL3BydW5lLmM6MTQwCisjOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxOTEgYnVpbHRpbi9wcnVuZS5jOjE0MQogbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkZSBsYSBjb25uZWN0aXZpdMOpIgogCkBAIC0xNDgzLDcgKzE1NTAsNyBAQAogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciBsJ2VudHLDqWUgc3RhbmRhcmQgZHUgcmV2LWxpc3QiCiAKLSM6IGNvbnZlcnQuYzoyMDEKKyM6IGNvbnZlcnQuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKQEAgLTE0OTMsMTIgKzE1NjAsMTIgQEAKICJMZSBmaWNoaWVyIGNvbnNlcnZlcmEgc2VzIGZpbnMgZGUgbGlnbmUgZCdvcmlnaW5lIGRhbnMgdm90cmUgY29waWUgZGUgIgogInRyYXZhaWwuIgogCi0jOiBjb252ZXJ0LmM6MjA1CisjOiBjb252ZXJ0LmM6MjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgogbXNnc3RyICJMZXMgQ1JMRiBzZXJhaWVudCByZW1wbGFjw6lzIHBhciBkZXMgTEYgZGFucyAlcy4iCiAKLSM6IGNvbnZlcnQuYzoyMTEKKyM6IGNvbnZlcnQuYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKQEAgLTE1MDgsNzggKzE1NzUsNzggQEAKICJMZSBmaWNoaWVyIGNvbnNlcnZlcmEgc2VzIGZpbnMgZGUgbGlnbmUgZCdvcmlnaW5lIGRhbnMgdm90cmUgY29waWUgZGUgIgogInRyYXZhaWwuIgogCi0jOiBjb252ZXJ0LmM6MjE1CisjOiBjb252ZXJ0LmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCiBtc2dzdHIgIkxlcyBMRiBzZXJhaWVudCByZW1wbGFjw6lzIHBhciBkZXMgQ1JMRiBkYW5zICVzIgogCi0jOiBkYXRlLmM6OTcKKyM6IGRhdGUuYzoxMTYKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICJkYW5zIGxlIGZ1dHVyIgogCi0jOiBkYXRlLmM6MTAzCisjOiBkYXRlLmM6MTIyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBzZWNvbmQgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgc2Vjb25kcyBhZ28iCi1tc2dzdHJbMF0gImlsIHkgYSAlbHUgc2Vjb25kZSIKLW1zZ3N0clsxXSAiaWwgeSBhICVsdSBzZWNvbmRlcyIKK21zZ2lkICIlPFBSSXVNQVg+IHNlY29uZCBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gc2Vjb25kcyBhZ28iCittc2dzdHJbMF0gImlsIHkgYSAlPFBSSXVNQVg+IHNlY29uZGUiCittc2dzdHJbMV0gImlsIHkgYSAlPFBSSXVNQVg+IHNlY29uZGVzIgogCi0jOiBkYXRlLmM6MTEwCisjOiBkYXRlLmM6MTI5CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBtaW51dGUgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgbWludXRlcyBhZ28iCi1tc2dzdHJbMF0gImlsIHkgYSAlbHUgbWludXRlIgotbXNnc3RyWzFdICJpbCB5IGEgJWx1IG1pbnV0ZXMiCittc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgorbXNnc3RyWzBdICJpbCB5IGEgJTxQUkl1TUFYPiBtaW51dGUiCittc2dzdHJbMV0gImlsIHkgYSAlPFBSSXVNQVg+IG1pbnV0ZXMiCiAKLSM6IGRhdGUuYzoxMTcKKyM6IGRhdGUuYzoxMzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IGhvdXIgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgotbXNnc3RyWzBdICJpbCB5IGEgJWx1IGhldXJlIgotbXNnc3RyWzFdICJpbCB5IGEgJWx1IGhldXJlcyIKK21zZ2lkICIlPFBSSXVNQVg+IGhvdXIgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGhvdXJzIGFnbyIKK21zZ3N0clswXSAiaWwgeSBhICU8UFJJdU1BWD4gaGV1cmUiCittc2dzdHJbMV0gImlsIHkgYSAlPFBSSXVNQVg+IGhldXJlcyIKIAotIzogZGF0ZS5jOjEyNAorIzogZGF0ZS5jOjE0MwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgZGF5IGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgotbXNnc3RyWzBdICJpbCB5IGEgJWx1IGpvdXIiCi1tc2dzdHJbMV0gImlsIHkgYSAlbHUgam91cnMiCittc2dpZCAiJTxQUkl1TUFYPiBkYXkgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGRheXMgYWdvIgorbXNnc3RyWzBdICJpbCB5IGEgJTxQUkl1TUFYPiBqb3VyIgorbXNnc3RyWzFdICJpbCB5IGEgJTxQUkl1TUFYPiBqb3VycyIKIAotIzogZGF0ZS5jOjEzMAorIzogZGF0ZS5jOjE0OQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgd2VlayBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCi1tc2dzdHJbMF0gImlsIHkgYSAlbHUgc2VtYWluZSIKLW1zZ3N0clsxXSAiaWwgeSBhICVsdSBzZW1haW5lcyIKK21zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKK21zZ3N0clswXSAiaWwgeSBhICU8UFJJdU1BWD4gc2VtYWluZSIKK21zZ3N0clsxXSAiaWwgeSBhICU8UFJJdU1BWD4gc2VtYWluZXMiCiAKLSM6IGRhdGUuYzoxMzcKKyM6IGRhdGUuYzoxNTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1vbnRocyBhZ28iCi1tc2dzdHJbMF0gImlsIHkgYSAlbHUgbW9pcyIKLW1zZ3N0clsxXSAiaWwgeSBhICVsdSBtb2lzIgorbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCittc2dzdHJbMF0gImlsIHkgYSAlPFBSSXVNQVg+IG1vaXMiCittc2dzdHJbMV0gImlsIHkgYSAlPFBSSXVNQVg+IG1vaXMiCiAKLSM6IGRhdGUuYzoxNDgKKyM6IGRhdGUuYzoxNjcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHllYXIiCi1tc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyIKLW1zZ3N0clswXSAiJWx1IGFuIgotbXNnc3RyWzFdICIlbHUgYW5zIgorbXNnaWQgIiU8UFJJdU1BWD4geWVhciIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiBhbiIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiBhbnMiCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTUxCisjOiBkYXRlLmM6MTcwCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzLCAlbHUgbW9udGggYWdvIgotbXNnaWRfcGx1cmFsICIlcywgJWx1IG1vbnRocyBhZ28iCi1tc2dzdHJbMF0gImlsIHkgYSAlcyBldCAlbHUgbW9pcyIKLW1zZ3N0clsxXSAiaWwgeSBhICVzIGV0ICVsdSBtb2lzIgorbXNnaWQgIiVzLCAlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJXMsICU8UFJJdU1BWD4gbW9udGhzIGFnbyIKK21zZ3N0clswXSAiaWwgeSBhICVzIGV0ICU8UFJJdU1BWD4gbW9pcyIKK21zZ3N0clsxXSAiaWwgeSBhICVzIGV0ICU8UFJJdU1BWD4gbW9pcyIKIAotIzogZGF0ZS5jOjE1NiBkYXRlLmM6MTYxCisjOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHllYXIgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMgYWdvIgotbXNnc3RyWzBdICJpbCB5IGEgJWx1IGFuIgotbXNnc3RyWzFdICJpbCB5IGEgJWx1IGFucyIKK21zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKK21zZ3N0clswXSAiaWwgeSBhICU8UFJJdU1BWD4gYW4iCittc2dzdHJbMV0gImlsIHkgYSAlPFBSSXVNQVg+IGFucyIKIAogIzogZGlmZmNvcmUtb3JkZXIuYzoyNAogIywgYy1mb3JtYXQKQEAgLTE1OTAsMjkgKzE2NTcsMjkgQEAKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAiRMOpdGVjdGlvbiBkZSByZW5vbW1hZ2UgaW5leGFjdCBlbiBjb3VycyIKIAotIzogZGlmZi5jOjYyCisjOiBkaWZmLmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAibGUgY29tbXV0YXRldXIgJyVzJyBhIGJlc29pbiBkJ3VuZSB2YWxldXIiCiAKLSM6IGRpZmYuYzoxMjQKKyM6IGRpZmYuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIiCiAiICBJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcG91cmNlbnRhZ2UgZGUgbW9kaWZpY2F0aW9uIGRlIGRpcnN0YXQgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MTI5CisjOiBkaWZmLmM6MTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgUGFyYW3DqHRyZSBkaXJzdGF0IGluY29ubnUgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MjgxCisjOiBkaWZmLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICIiCiAiVmFsZXVyIGluY29ubnVlIHBvdXIgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiAnZGlmZi5zdWJtb2R1bGUnIDogJyVzJyIKIAotIzogZGlmZi5jOjM0NAorIzogZGlmZi5jOjM0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTE2MjEsMjAgKzE2ODgsMjAgQEAKICJFcnJldXJzIGRhbnMgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiAnZGlmZi5kaXJzdGF0JyA6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozMDg1CisjOiBkaWZmLmM6MzEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBkaWZmIGRpZWQsIHN0b3BwaW5nIGF0ICVzIgogbXNnc3RyICJsJ2FwcGxpY2F0aW9uIGRlIGRpZmYgZXh0ZXJuZSBhIGRpc3BhcnUsIGFycsOqdCDDoCAlcyIKIAotIzogZGlmZi5jOjM0MTEKKyM6IGRpZmYuYzozNDI3CiBtc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGV0IC1zIHNvbnQgbXV0dWVsbGVtZW50IGV4Y2x1c2lmcyIKIAotIzogZGlmZi5jOjM1MDEKKyM6IGRpZmYuYzozNTE3CiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IGEgYmVzb2luIGQndW5lIHNww6ljaWZpY2F0aW9uIGRlIGNoZW1pbiB1bmlxdWUiCiAKLSM6IGRpZmYuYzozNjY0CisjOiBkaWZmLmM6MzY4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtMTY0MywyNCArMTcxMCwyNCBAQAogIkltcG9zc2libGUgZCdhbmFseXNlciBsZSBwYXJhbcOodHJlIGRlIGwnb3B0aW9uIC0tZGlyc3RhdC8tWCA6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNjc4CisjOiBkaWZmLmM6MzY5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIHBhcmFtw6h0cmUgZGUgbCdvcHRpb24gLS1zdWJtb2R1bGUgOiAnJXMnIgogCi0jOiBkaWZmLmM6NDY5NgorIzogZGlmZi5jOjQ3MTYKIG1zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAiIgogImTDqXRlY3Rpb24gZGUgcmVub21tYWdlIGluZXhhY3QgYW5udWzDqWUgw6AgY2F1c2UgZCd1biB0cm9wIGdyYW5kIG5vbWJyZSBkZSAiCiAiZmljaGllcnMuIgogCi0jOiBkaWZmLmM6NDY5OQorIzogZGlmZi5jOjQ3MTkKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKICJyZWNoZXJjaGUgdW5pcXVlbWVudCBkZXMgY29waWVzIHBhciBtb2RpZmljYXRpb24gZGUgY2hlbWluIMOgIGNhdXNlIGQndW4gdHJvcCAiCiAiZ3JhbmQgbm9tYnJlIGRlIGZpY2hpZXJzLiIKIAotIzogZGlmZi5jOjQ3MDIKKyM6IGRpZmYuYzo0NzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKQEAgLTE2NjgsMjMzICsxNzM1LDI1OCBAQAogInZvdXMgc291aGFpdGV6IHBldXQtw6p0cmUgcsOpZ2xlciBsYSB2YXJpYWJsZSAlcyDDoCBhdSBtb2lucyAlZCBldCByw6llc3NheWVyIGxlICIKICJjb21tYW5kZS4iCiAKLSM6IGRpci5jOjE4NjIKKyM6IGRpci5jOjE5NDgKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiZWNoZWMgZGUgbCdvYnRlbnRpb24gZCdpbmZvcm1hdGlvbiBkZSBrZXJuZWwiCiAKLSM6IGRpci5jOjE5ODEKKyM6IGRpci5jOjIwNjcKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24uIgogbXNnc3RyICJMZSBjYWNoZSBub24gc3VpdmkgZXN0IGTDqXNhY3RpdsOpIHN1ciBjZSBzeXN0w6htZSBvdSBzdXIgY2V0IGVuZHJvaXQuIgogCi0jOiBkaXIuYzoyNzU5CisjOiBkaXIuYzoyODQ2IGRpci5jOjI4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlcyByw6lwZXJ0b2lyZXMgcG91ciAlcyIKKworIzogZGlyLmM6Mjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1pZ3JlciBsZSByw6lwZXJ0b2lyZSBnaXQgZGUgJyVzJyB2ZXJzICclcyciCiAKLSM6IGZldGNoLXBhY2suYzoyMTMKKyM6IGVudHJ5LmM6MjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdGF0IGxlIGZpY2hpZXIgJyVzJyIKKworIzogZmV0Y2gtcGFjay5jOjI1MQogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrIDogbGlzdCBjb3VydGUgYXR0ZW5kdWUiCiAKLSM6IGZldGNoLXBhY2suYzoyMjUKKyM6IGZldGNoLXBhY2suYzoyNjMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2sgOiBBQ0svTkFDSyBhdHRlbmR1LCBFT0YgcmXDp3UiCiAKLSM6IGZldGNoLXBhY2suYzoyNDMKKyM6IGZldGNoLXBhY2suYzoyODIgYnVpbHRpbi9hcmNoaXZlLmM6NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJyZXVyIGRpc3RhbnRlIDogJXMiCisKKyM6IGZldGNoLXBhY2suYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjayA6IEFDSy9OQUNLIGF0dGVuZHUsICclcycgcmXDp3UiCiAKLSM6IGZldGNoLXBhY2suYzoyOTUKKyM6IGZldGNoLXBhY2suYzozMzUKIG1zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICItLXN0YXRlbGVzcy1ycGMgbsOpY2Vzc2l0ZSBtdWx0aV9hY2tfZGV0YWlsZWQiCiAKLSM6IGZldGNoLXBhY2suYzozODEKKyM6IGZldGNoLXBhY2suYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICJsaWduZSBkZSBzdXBlcmZpY2llbCBpbnZhbGlkZcKgOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM4NworIzogZmV0Y2gtcGFjay5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAibGlnbmUgZGUgZmluIGRlIHN1cGVyZmljaWVsIGludmFsaWRlIDogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozODkKKyM6IGZldGNoLXBhY2suYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCiBtc2dzdHIgIm9iamV0IG5vbiB0cm91dsOpwqA6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzkyCisjOiBmZXRjaC1wYWNrLmM6NDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCiBtc2dzdHIgIkVycmV1ciBkYW5zIGwnb2JqZXTCoDogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozOTQKKyM6IGZldGNoLXBhY2suYzo0MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCiBtc2dzdHIgIlBhcyBkZSBzdXBlcmZpY2llbCB0cm91dsOpwqA6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk3CisjOiBmZXRjaC1wYWNrLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgInN1cGVyZmljaWVsL25vbiBzdXBlcmZpY2llbCBhdHRlbmR1LCAlcyB0cm91dsOpIgogCi0jOiBmZXRjaC1wYWNrLmM6NDM2CisjOiBmZXRjaC1wYWNrLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAicsOpcG9uc2UgJXMgJWQgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0NTAKKyM6IGZldGNoLXBhY2suYzo0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCiBtc2dzdHIgImNvbW1pdCBpbnZhbGlkZSAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQ4MworIzogZmV0Y2gtcGFjay5jOjUyMwogbXNnaWQgImdpdmluZyB1cCIKIG1zZ3N0ciAiYWJhbmRvbiIKIAotIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorIzogZmV0Y2gtcGFjay5jOjUzMyBwcm9ncmVzcy5jOjIzNwogbXNnaWQgImRvbmUiCiBtc2dzdHIgImZhaXQiCiAKLSM6IGZldGNoLXBhY2suYzo1MDUKKyM6IGZldGNoLXBhY2suYzo1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICglZCkgJXMiCiBtc2dzdHIgIiVzIHRyb3V2w6kgKCVkKSAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjU1MQorIzogZmV0Y2gtcGFjay5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgogbXNnc3RyICJNYXJxdWFnZSBkZSAlcyBjb21tZSB0ZXJtaW7DqSIKIAotIzogZmV0Y2gtcGFjay5jOjY5NworIzogZmV0Y2gtcGFjay5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAiJXMgZMOpasOgIHBvc3PDqWTDqSAoJXMpIgogCi0jOiBmZXRjaC1wYWNrLmM6NzM1CisjOiBmZXRjaC1wYWNrLmM6ODEzCiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImZldGNoLXBhY2vCoDogaW1wb3NzaWJsZSBkZSBkdXBsaXF1ZXIgbGUgZMOpbXVsdGlwbGV4ZXVyIGxhdMOpcmFsIgogCi0jOiBmZXRjaC1wYWNrLmM6NzQzCisjOiBmZXRjaC1wYWNrLmM6ODIxCiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKIG1zZ3N0ciAiZXJyZXVyIGRlIHByb3RvY29sZcKgOiBtYXV2YWlzIGVudMOqdGUgZGUgcGFxdWV0IgogCi0jOiBmZXRjaC1wYWNrLmM6Nzk5CisjOiBmZXRjaC1wYWNrLmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKIG1zZ3N0ciAiZmV0Y2gtcGFjayA6IGltcG9zc2libGUgZGUgZHVwbGlxdWVyICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODE1CisjOiBmZXRjaC1wYWNrLmM6ODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODE3CisjOiBmZXRjaC1wYWNrLmM6ODk1CiBtc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiZXJyZXVyIGRhbnMgbGUgZMOpbXVsdGlwbGV4ZXIgbGF0w6lyYWwiCiAKLSM6IGZldGNoLXBhY2suYzo4NDQKKyM6IGZldGNoLXBhY2suYzo5MjIKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCiBtc2dzdHIgIkxlIHNlcnZldXIgbmUgc3VwcG9ydGUgbGVzIGNsaWVudHMgc3VwZXJmaWNpZWxzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ4CisjOiBmZXRjaC1wYWNrLmM6OTI2CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSBtdWx0aV9hY2tfZGV0YWlsZWQiCiAKLSM6IGZldGNoLXBhY2suYzo4NTEKKyM6IGZldGNoLXBhY2suYzo5MjkKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKIG1zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0IG5vLWRvbmUiCiAKLSM6IGZldGNoLXBhY2suYzo4NTcKKyM6IGZldGNoLXBhY2suYzo5MzUKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgogbXNnc3RyICJMZSBzZXJ2ZXVyIHN1cHBvcnRlIG11bHRpX2FjayIKIAotIzogZmV0Y2gtcGFjay5jOjg2MQorIzogZmV0Y2gtcGFjay5jOjkzOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgogbXNnc3RyICJMZSBzZXJ2ZXVyIHN1cHBvcnRlIHNpZGUtYmFuZC02NGsiCiAKLSM6IGZldGNoLXBhY2suYzo4NjUKKyM6IGZldGNoLXBhY2suYzo5NDMKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgogbXNnc3RyICJMZSBzZXJ2ZXJ1IHN1cHBvcnRlIHNpZGUtYmFuZCIKIAotIzogZmV0Y2gtcGFjay5jOjg2OQorIzogZmV0Y2gtcGFjay5jOjk0NwogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgogbXNnc3RyICJMZSBzZXJ2ZXVyIHN1cHBvcnRlIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCiAKLSM6IGZldGNoLXBhY2suYzo4NzMKKyM6IGZldGNoLXBhY2suYzo5NTEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6ODgzCisjOiBmZXRjaC1wYWNrLmM6OTYxCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKIG1zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0IG9mcy1kZWx0YSIKIAotIzogZmV0Y2gtcGFjay5jOjg5MAorIzogZmV0Y2gtcGFjay5jOjk2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgogbXNnc3RyICJMYSB2ZXJzaW9uIGR1IHNlcnZldXIgZXN0ICUuKnMiCiAKLSM6IGZldGNoLXBhY2suYzo4OTYKKyM6IGZldGNoLXBhY2suYzo5NzQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCiBtc2dzdHIgIkxlIHJlY2V2ZXVyIG5lIGfDqHJlIHBhcyAtLXNoYWxsb3ctc2luY2UiCiAKLSM6IGZldGNoLXBhY2suYzo5MDAKKyM6IGZldGNoLXBhY2suYzo5NzgKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKIG1zZ3N0ciAiTGUgcmVjZXZldXIgbmUgZ8OocmUgcGFzIC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAyCisjOiBmZXRjaC1wYWNrLmM6OTgwCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgIkxlIHJlY2V2ZXVyIG5lIGfDqHJlIHBhcyAtLWRlZXBlbiIKIAotIzogZmV0Y2gtcGFjay5jOjkxMworIzogZmV0Y2gtcGFjay5jOjk5MQogbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgogbXNnc3RyICJwYXMgZGUgY29tbWl0IGNvbW11biIKIAotIzogZmV0Y2gtcGFjay5jOjkyNQorIzogZmV0Y2gtcGFjay5jOjEwMDMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2vCoDogw6ljaGVjIGRlIGxlIHLDqWN1cMOpcmF0aW9uLiIKIAotIzogZmV0Y2gtcGFjay5jOjEwODcKKyM6IGZldGNoLXBhY2suYzoxMTY1CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgInBhcyBkZSBIRUFEIGRpc3RhbnRlIGNvcnJlc3BvbmRhbnRlIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg1CisjOiBmZXRjaC1wYWNrLmM6MTE4NworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlbW90ZSByZWYgJXMiCittc2dzdHIgInLDqWbDqXJlbmNlIGRpc3RhbnRlIGluY29ubnVlICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKK21zZ3N0ciAiTGUgc2VydmV1ciBuJ2F1dG9yaXNlIHBhcyBkZSByZXF1w6p0ZSBwb3VyIGwnb2JqZXQgJXMgbm9uIGFubm9uY8OpIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTgxCiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICJncGcgbidhIHBhcyBwdSBzaWduZXIgbGVzIGRvbm7DqWVzIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjE1CisjOiBncGctaW50ZXJmYWNlLmM6MjExCiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gZmljaGllciB0ZW1wb3JhaXJlIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjE3CisjOiBncGctaW50ZXJmYWNlLmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsYSBzaWduYXR1cmUgZMOpdGFjaMOpZSBkYW5zICclcyciCiAKLSM6IGdyYXBoLmM6OTYKKyM6IGdyYXBoLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JlIGludmFsaWQgY29sb3IgJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKIG1zZ3N0ciAiY291bGV1ciBpbnZhbGlkZSAnJS4qcycgaWdub3LDqWUgZGFucyBsb2cuZ3JhcGhDb2xvcnMiCiAKLSM6IGdyZXAuYzoxNzk0CisjOiBncmVwLmM6MTk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJyA6IGxlY3R1cmUgZGUgJXMgaW1wb3NzaWJsZSIKIAotIzogZ3JlcC5jOjE4MTEgYnVpbHRpbi9jbG9uZS5jOjM4MSBidWlsdGluL2RpZmYuYzo4MSBidWlsdGluL3JtLmM6MTMzCisjOiBncmVwLmM6MTk5OCBidWlsdGluL2Nsb25lLmM6NDAzIGJ1aWx0aW4vZGlmZi5jOjgxIGJ1aWx0aW4vcm0uYzoxMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGR1IHN0YXQgZGUgJyVzJyIKIAotIzogZ3JlcC5jOjE4MjIKKyM6IGdyZXAuYzoyMDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIiclcycgOiBsZWN0dXJlIHRyb25xdcOpZSIKIAotIzogaGVscC5jOjIxOAorIzogaGVscC5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgImNvbW1hbmRlcyBnaXQgZGlzcG9uaWJsZXMgZGFucyAnJXMnIgogCi0jOiBoZWxwLmM6MjI1CisjOiBoZWxwLmM6MTg2CiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICJjb21tYW5kZXMgZ2l0IGRpc3BvbmlibGVzIGRlcHVpcyB1biBhdXRyZSBlbmRyb2l0IGRlIHZvdHJlICRQQVRIIgogCi0jOiBoZWxwLmM6MjU2CisjOiBoZWxwLmM6MjE3CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJDaS1kZXNzb3VzIGxlcyBjb21tYW5kZXMgR2l0IGhhYml0dWVsbGVzIGRhbnMgZGl2ZXJzZXMgc2l0dWF0aW9uc8KgOiIKIAotIzogaGVscC5jOjMyMQorIzogaGVscC5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgpAQCAtMTkwMywzMSArMTk5NSw1NiBAQAogIiclcycgc2VtYmxlIMOqdHJlIHVuZSBjb21tYW5kZSBnaXQsIG1haXMgZWxsZSBuJ2EgcGFzIHB1XG4iCiAiw6p0cmUgZXjDqWN1dMOpZS4gUGV1dC3DqnRyZSBnaXQtJXMgZXN0LWVsbGUgY2Fzc8OpZSA/IgogCi0jOiBoZWxwLmM6Mzc2CisjOiBoZWxwLmM6MzM2CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIkFoZW0uIFZvdHJlIHN5c3TDqG1lIG4naW5kaXF1ZSBhdWN1bmUgY29tbWFuZGUgR2l0LiIKIAotIzogaGVscC5jOjM5OAorIzogaGVscC5jOjM1OAogIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LlxuIgotIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJyIKK21zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICIiCi0iQVRURU5USU9OIDogdm91cyBhdmV6IGludm9xdcOpIHVuZSBjb21tYW5kZSBHaXQgbm9tbcOpZSAnJXMnIHF1aSBuJ2V4aXN0ZSAiCi0icGFzLlxuIgotIkNvbnRpbnVvbnMgZW4gc3VwcG9zYW50IHF1ZSB2b3VzIGF2ZXogdm91bHUgZGlyZSAnJXMnIgorIkFUVEVOVElPTiA6IHZvdXMgYXZleiBpbnZvcXXDqSB1bmUgY29tbWFuZGUgR2l0IG5vbW3DqWUgJyVzJyBxdWkgbidleGlzdGUgcGFzLiIKIAotIzogaGVscC5jOjQwMworIzogaGVscC5jOjM2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCi1tc2dzdHIgImRhbnMgJTAuMWYgc2Vjb25kZXMgYXV0b21hdGlxdWVtZW50Li4uIgorbXNnaWQgIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIkNvbnRpbnVvbnMgZW4gc3VwcG9zYW50IHF1ZSB2b3VzIGF2ZXogdm91bHUgZGlyZSAnJXMnPCIKIAotIzogaGVscC5jOjQxMAorIzogaGVscC5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDb250aW51aW5nIGluICUwLjFmIHNlY29uZHMsIGFzc3VtaW5nIHRoYXQgeW91IG1lYW50ICclcycuIgorbXNnc3RyICIiCisiQ29udGludW9ucyBkYW5zICUwLjFmIHNlY29uZGVzIGVuIHN1cHBvc2FudCBxdWUgdm91cyBhdmV6IHZvdWx1IGRpcmUgJyVzJzwiCisKKyM6IGhlbHAuYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0IDogJyVzJyBuJ2VzdCBwYXMgdW5lIGNvbW1hbmRlIGdpdC4gVm9pciAnZ2l0IC0taGVscCcuIgogCi0jOiBoZWxwLmM6NDE0IGhlbHAuYzo0ODAKKyM6IGhlbHAuYzozODAKK21zZ2lkICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgorbXNnaWRfcGx1cmFsICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kcyBhcmUiCittc2dzdHJbMF0gIiIKKyJcbiIKKyJMYSBjb21tYW5kZSBsYSBwbHVzIHJlc3NlbWJsYW50ZSBlc3QiCittc2dzdHJbMV0gIiIKKyJcbiIKKyJMZXMgY29tbWFuZGVzIGxlcyBwbHVzIHJlc3NlbWJsYW50ZXMgc29udCIKKworIzogaGVscC5jOjM5NQorbXNnaWQgImdpdCB2ZXJzaW9uIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKKworIzogaGVscC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgLSAlcyIKK21zZ3N0ciAiJXM6ICVzIC0gJXMiCisKKyM6IGhlbHAuYzo0NjAKIG1zZ2lkICIiCiAiXG4iCiAiRGlkIHlvdSBtZWFuIHRoaXM/IgpAQCAtMTk0MSwxMiArMjA1OCw3IEBACiAiXG4iCiAiVm91bGllei12b3VzIGRpcmUgdW4gZGUgY2V1eC1sw6AgPyIKIAotIzogaGVscC5jOjQ3NgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXMgLSAlcyIKLW1zZ3N0ciAiJXM6ICVzIC0gJXMiCi0KLSM6IGlkZW50LmM6MzM0CisjOiBpZGVudC5jOjM0MgogbXNnaWQgIiIKICJcbiIKICIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCkBAIC0xOTcyLDYgKzIwODQsMzkgQEAKICLDiWxpbWluZXogLS1nbG9iYWwgcG91ciBuZSBmYWlyZSBsZXMgcsOpZ2xhZ2VzIHF1ZSBkYW5zIGNlIGTDqXDDtHQuXG4iCiAiXG4iCiAKKyM6IGlkZW50LmM6MzY2Cittc2dpZCAibm8gZW1haWwgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKK21zZ3N0ciAiYXVjdW4gY291cnJpZWwgZm91cm5pIGV0IGwnYXV0by1kw6l0ZWN0aW9uIGVzdCBkw6lzYWN0aXbDqWUiCisKKyM6IGlkZW50LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpdGVjdGVyIGF1dG9tYXRpcXVlbWVudCBsJ2FkcmVzc2UgKCclcycgdHJvdXbDqSkiCisKKyM6IGlkZW50LmM6MzgxCittc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICJhdWN1biBub20gZm91cm5pIGV0IGwnYXV0by1kw6l0ZWN0aW9uIGVzdCBkw6lzYWN0aXbDqWUiCisKKyM6IGlkZW50LmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBuYW1lIChnb3QgJyVzJykiCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpdGVjdGVyIGF1dG9tYXRpcXVlbWVudCBsZSBub20gKCclcycgdHJvdXbDqSkiCisKKyM6IGlkZW50LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IGlkZW50IG5hbWUgKGZvciA8JXM+KSBub3QgYWxsb3dlZCIKK21zZ3N0ciAibm9tIGQnaWRlbnRpZmlhbnQgdmlkZSAocG91ciA8JXM+KSBub24gcGVybWlzIgorCisjOiBpZGVudC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKK21zZ3N0ciAibGUgbm9tIG4nZXN0IGNvbnN0aXR1w6kgcXVlIGRlIGNhcmFjdMOocmVzIGludGVyZGl0c8KgOiAlcyIKKworIzogaWRlbnQuYzo0MTYgYnVpbHRpbi9jb21taXQuYzo2MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCittc2dzdHIgImZvcm1hdCBkZSBkYXRlIGludmFsaWRlIDogJXMiCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTIwMDAsNzggKzIxNDUsNzggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBjYWNoZSIKIAotIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjE5ODAgYnVpbHRpbi9hbS5jOjIwMTUgYnVpbHRpbi9jaGVja291dC5jOjM3NworIzogYnVpbHRpbi9jaGVja291dC5jOjU5MSBidWlsdGluL2Nsb25lLmM6NzUzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgZCdpbmRleCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTAKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKG1hdXZhaXMgY29tbWl0KVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzEgbWVyZ2UtcmVjdXJzaXZlLmM6MjM5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzIgbWVyZ2UtcmVjdXJzaXZlLmM6MjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZm9fY2FjaGUgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBhZGRpbmZvX2NhY2hlIHBvdXIgbGUgY2hlbWluICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA0CiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgImVycmV1ciBkZSBjb25zdHJ1Y3Rpb24gZGVzIGFyYnJlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgY2hlbWluICclcycgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjczOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIlN1cHByZXNzaW9uIGRlICVzIHBvdXIgZmFpcmUgZGUgbGEgcGxhY2UgcG91ciBsZSBzb3VzLXLDqXBlcnRvaXJlXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MiBtZXJnZS1yZWN1cnNpdmUuYzo3NzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MyBtZXJnZS1yZWN1cnNpdmUuYzo3NzIKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IHBldXQtw6p0cmUgdW4gY29uZmxpdCBEL0YgPyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzYxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICJyZWZ1cyBkZSBwZXJkcmUgbGUgZmljaGllciBub24gc3VpdmkgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODAzIGJ1aWx0aW4vY2F0LWZpbGUuYzozNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA0IGJ1aWx0aW4vY2F0LWZpbGUuYzozNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiYmxvYiBhdHRlbmR1IHBvdXIgJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgIsOpY2hlYyDDoCBsJ291dmVydHVyZSBkZSAnJXMnwqA6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKIG1zZ3N0ciAiw6ljaGVjIMOgIGxhIGNyw6lhdGlvbiBkdSBsaWVuIHN5bWJvbGlxdWUgJyVzJ8KgOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKIG1zZ3N0ciAibmUgc2FpdCBwYXMgdHJhaXRlciAlMDZvICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg2CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIsOJY2hlYyDDoCBsJ2V4w6ljdXRpb24gZGUgbGEgZnVzaW9uIGludGVybmUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIkltcG9zc2libGUgZCdham91dGVyICVzIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODggbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMjA4MCw3ICsyMjI1LDE2IEBACiAiQ09ORkxJVCAoJXMvc3VwcHJlc3Npb24pIDogJXMgc3VwcHJpbcOpIGRhbnMgJXMgZXQgJXMgZGFucyAlcy4gVmVyc2lvbiAlcyBkZSAiCiAiJXMgbGFpc3PDqWUgZGFucyBsJ2FyYnJlLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NCBtZXJnZS1yZWN1cnNpdmUuYzoxMTA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgorImxlZnQgaW4gdHJlZS4iCittc2dzdHIgIiIKKyJDT05GTElUICglcy9zdXBwcmVzc2lvbikgOiAlcyBzdXBwcmltw6kgZGFucyAlcyBldCAlcyDDoCAlcyBkYW5zICVzLiBWZXJzaW9uICIKKyIlcyBkZSAlcyBsYWlzc8OpZSBkYW5zIGwnYXJicmUuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0yMDg5LDIwICsyMjQzLDI5IEBACiAiQ09ORkxJVCAoJXMvc3VwcHJlc3Npb24pIDogJXMgc3VwcHJpbcOpIGRhbnMgJXMgZXQgJXMgZGFucyAlcy4gVmVyc2lvbiAlcyBkZSAiCiAiJXMgbGFpc3PDqWUgZGFucyBsJ2FyYnJlIGRhbnMgbGUgZmljaGllciAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKCVzL3N1cHByZXNzaW9uKSA6ICVzIHN1cHByaW3DqSBkYW5zICVzIGV0ICVzIMOgICVzIGRhbnMgJXMuIFZlcnNpb24gIgorIiVzIGRlICVzIGxhaXNzw6llIGRhbnMgbCdhcmJyZSBkYW5zIGxlIGZpY2hpZXIgJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQ0CiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICJyZW5vbW1hZ2UiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDQKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICJyZW5vbW3DqSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMgZXN0IHVuIHLDqXBlcnRvaXJlIGRhbnMgJXMgYWpvdXTDqSBwbHV0w7R0IGNvbW1lICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgpAQCAtMjExMSwxMzcgKzIyNzQsMTM3IEBACiAiQ09ORkxJVCAocmVub21tYWdlL3Jlbm9tbWFnZSkgOiBSZW5vbW1hZ2UgZGUgXCIlc1wiLT5cIiVzXCIgZGFucyBsYSBicmFuY2hlICIKICJcIiVzXCIgZXQgcmVub21tYWdlIFwiJXNcIi0+XCIlc1wiIGRhbnMgXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzEKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiAobGFpc3PDqSBub24gcsOpc29sdSkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgogbXNnc3RyICIiCiAiQ09ORkxJVCAocmVub21tYWdlL3Jlbm9tbWFnZSkgOiByZW5vbW1hZ2UgJyVzJy0+JyVzJyBkYW5zICVzLiBSZW5vbW1hZ2UgJyVzJy0iCiAiPiclcycgZGFucyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAiUmVub21tYWdlIGRlICVzIGVuICVzIGV0IGRlICVzIGVuICVzIMOgIGxhIHBsYWNlIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCiBtc2dzdHIgIiIKICJDT05GTElUIChyZW5vbW1hZ2UvYWpvdXQpIDogUmVub21tYWdlIGRlICVzLT4lcyBkYW5zICVzLiAlcyBham91dMOpIGRhbnMgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKIG1zZ3N0ciAiQWpvdXQgZGUgJXMgZnVzaW9ubsOpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTU3IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTEgbWVyZ2UtcmVjdXJzaXZlLmM6MTc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiQWpvdXQgcGx1dMO0dCBjb21tZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ29iamV0ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICJsJ29iamV0ICVzIG4nZXN0IHBhcyB1biBibG9iIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCiBtc2dpZCAibW9kaWZ5IgogbXNnc3RyICJtb2RpZmljYXRpb24iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODAKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAibW9kaWZpw6kiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTAKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJjb250ZW51IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjg3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjk3CiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAiYWpvdXQvYWpvdXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgogbXNnc3RyICIlcyBzYXV0w6kgKGZ1c2lvbiBpZGVudGlxdWUgw6AgbCdleGlzdGFudCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJGdXNpb24gYXV0b21hdGlxdWUgZGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDEgZ2l0LXN1Ym1vZHVsZS5zaDo5MzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTEgZ2l0LXN1Ym1vZHVsZS5zaDo5NDUKIG1zZ2lkICJzdWJtb2R1bGUiCiBtc2dzdHIgInNvdXMtbW9kdWxlIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICJDT05GTElUICglcykgOiBDb25mbGl0IGRlIGZ1c2lvbiBkYW5zICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODM2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICJTdXBwcmVzc2lvbiBkZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3MgogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICJmaWNoaWVyL3LDqXBlcnRvaXJlIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc4CiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgInLDqXBlcnRvaXJlL2ZpY2hpZXIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCiBtc2dzdHIgIiIKICJDT05GTElUICglcykgOiBJbCB5IGEgdW4gcsOpcGVydG9pcmUgbm9tbcOpICVzIGRhbnMgJXMuIEFqb3V0IGRlICVzIGNvbW1lICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAiQWpvdXQgZGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzAKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICJEw6lqw6Agw6Agam91ciAhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGZ1c2lvbiBkZXMgYXJicmVzICVzIGV0ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDIyCiBtc2dpZCAiTWVyZ2luZzoiCiBtc2dzdHIgIkZ1c2lvbiA6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDI1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICIldSBhbmPDqnRyZSBjb21tdW4gdHJvdXbDqSA6IgogbXNnc3RyWzFdICIldSBhbmPDqnRyZXMgY29tbXVucyB0cm91dsOpcyA6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDc0CiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICJsYSBmdXNpb24gbidhIHBhcyByZXRvdXJuw6kgZGUgY29tbWl0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGwnb2JqZXQgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE0MSBidWlsdGluL21lcmdlLmM6NjQ1IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTEgYnVpbHRpbi9tZXJnZS5jOjY0NiBidWlsdGluL21lcmdlLmM6NzkzCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdpbmRleC4iCiAKQEAgLTIyNjEsMjMgKzI0MjQsMjUgQEAKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgogbXNnc3RyICJWb3VzIG4nYXZleiBwYXMgdGVybWluw6kgdm90cmUgZnVzaW9uIGRlIG5vdGVzICglcyBleGlzdGUpLiIKIAotIzogbm90ZXMtdXRpbHMuYzo0MQorIzogbm90ZXMtdXRpbHMuYzo0MgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB2YWxpZGVyIHVuIGFyYnJlIGRlIG5vdGVzIG5vbiBpbml0aWFsaXPDqS9yw6lmw6lyZW5jw6kiCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTAwCisjOiBub3Rlcy11dGlscy5jOjEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCiBtc2dzdHIgIk1hdXZhaXNlIHZhbGV1ciBkZSBub3Rlcy5yZXdyaXRlTW9kZSA6ICclcyciCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTEwCisjOiBub3Rlcy11dGlscy5jOjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAiUmVmdXMgZGUgcsOpw6ljcmlyZSBkZXMgbm90ZXMgZGFucyAlcyAoaG9ycyBkZSByZWZzL25vdGVzLykiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YgdGhlCi0jLiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcyBpdHMgdmFsdWUKLSM6IG5vdGVzLXV0aWxzLmM6MTM3CisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mCisjLiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMKKyMuIGl0cyB2YWx1ZS4KKyMuCisjOiBub3Rlcy11dGlscy5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIk1hdXZhaXNlIHZhbGV1ciBkZSAlcyA6ICclcyciCkBAIC0yMjg3LDI4ICsyNDUyLDI5IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsJ29iamV0IDogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NzIKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NzMKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU5MAorIzogcGFyc2Utb3B0aW9ucy5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgInVzYWdlIDogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKLSMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjU5NAorIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgorIy4KKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICBvdSA6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTk3CisjOiBwYXJzZS1vcHRpb25zLmM6NjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjMxCisjOiBwYXJzZS1vcHRpb25zLmM6NjM0CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLU5VTSIKIApAQCAtMjMxNywxOCArMjQ4MywzNyBAQAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgogbXNnc3RyICJub20gZCdvYmpldCBtYWxmb3Jtw6kgJyVzJyIKIAotIzogcGF0aC5jOjgyNgorIzogcGF0aC5jOjg5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZW5kcmUgJXMgaW5zY3JpcHRpYmxlIHBvdXIgbGUgZ3JvdXBlIgogCi0jOiBwYXRoc3BlYy5jOjE0MgorIzogcGF0aHNwZWMuYzoxMjkKK21zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKK21zZ3N0ciAiIgorIkxlIGNhcmFjdMOocmUgZCfDqWNoYXBwZW1lbnQgJ1xcXFwnIGludGVyZGl0IGNvbW1lIGRlcm5pZXIgY2FyYWN0w6hyZSBkYW5zIHVuZSAiCisidmFsZXVyIGQnYXR0cmlidXQiCisKKyM6IHBhdGhzcGVjLmM6MTQ3Cittc2dpZCAiT25seSBvbmUgJ2F0dHI6JyBzcGVjaWZpY2F0aW9uIGlzIGFsbG93ZWQuIgorbXNnc3RyICJVbmUgc2V1bGUgc3DDqWNpZmljYXRpb24gJ2F0dHI6JyBlc3QgYXV0b3Jpc8OpZS4iCisKKyM6IHBhdGhzcGVjLmM6MTUwCittc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgorbXNnc3RyICJ1biBzcMOpY2lmaWNhdGV1ciBkJ2F0dHJpYnV0IG5lIHBldXQgcGFzIMOqdHJlIHZpZGUiCisKKyM6IHBhdGhzcGVjLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCittc2dzdHIgIm5vbSBkJ2F0dHJpYnV0IGludmFsaWRlICVzIgorCisjOiBwYXRoc3BlYy5jOjI1OAogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKICJsZXMgcsOpZ2xhZ2VzIGRlIHNww6ljaWZpY2F0ZXVycyBkZSBjaGVtaW4gZ8OpbsOpcmF1eCAnZ2xvYicgZXQgJ25vZ2xvYicgc29udCAiCiAiaW5jb21wYXRpYmxlcyIKIAotIzogcGF0aHNwZWMuYzoxNDkKKyM6IHBhdGhzcGVjLmM6MjY1CiBtc2dpZCAiIgogImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKICJwYXRoc3BlYyBzZXR0aW5ncyIKQEAgLTIzMzYsNTMgKzI1MjEsNDggQEAKICJsZSByw6lnbGFnZSBnbG9iYWwgZGUgc3DDqWNpZmljYXRldXIgZGUgY2hlbWluICdsaXRlcmFsJyBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgIgogInRvdXMgbGVzIGF1dHJlcyByw6lnbGFnZXMgZ2xvYmF1eCBkZSBzcMOpY2lmaWNhdGV1ciBkZSBjaGVtaW4iCiAKLSM6IHBhdGhzcGVjLmM6MTg4CisjOiBwYXRoc3BlYy5jOjMwNQogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKIG1zZ3N0ciAicGFyYW3DqHRyZSBpbnZhbGlkZSBwb3VyIGxlIHNww6ljaWZpY2F0ZXVyIG1hZ2lxdWUgZGUgY2hlbWluICdwcmVmaXgnIgogCi0jOiBwYXRoc3BlYy5jOjIwMQorIzogcGF0aHNwZWMuYzozMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKIG1zZ3N0ciAiTGEgc3DDqWNpZmljYXRpb24gbWFnaXF1ZSBkZSBjaGVtaW4gJyUuKnMnIGVzdCBpbnZhbGlkZSBkYW5zICclcyciCiAKLSM6IHBhdGhzcGVjLmM6MjA2CisjOiBwYXRoc3BlYy5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCiBtc2dzdHIgIicpJyBtYW5xdWFudGUgw6AgbGEgZmluIGR1IHNww6ljaWZpY2F0ZXVyIG1hZ2lxdWUgZGUgY2hlbWluIGRhbnMgJyVzJyIKIAotIzogcGF0aHNwZWMuYzoyMzgKKyM6IHBhdGhzcGVjLmM6MzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgogbXNnc3RyICJTcMOpY2lmaWNhdGV1ciBtYWdpcXVlICclYycgbm9uIGltcGzDqW1lbnTDqSBkYW5zICclcyciCiAKLSM6IHBhdGhzcGVjLmM6MjkzIHBhdGhzcGVjLmM6MzE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKLW1zZ3N0ciAiTGUgY2hlbWluICclcycgZXN0IGRhbnMgbGUgc291cy1tb2R1bGUgJyUuKnMnIgotCi0jOiBwYXRoc3BlYy5jOjM1MAorIzogcGF0aHNwZWMuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiVzIDogJ2xpdGVyYWwnIGV0ICdnbG9iJyBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IHBhdGhzcGVjLmM6MzYzCisjOiBwYXRoc3BlYy5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiVzIDogJyVzJyBlc3QgaG9ycyBkdSBkw6lww7R0IgogCi0jOiBwYXRoc3BlYy5jOjQ1MQorIzogcGF0aHNwZWMuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyAobW5lbW9uaWM6ICclYycpIgogbXNnc3RyICInJXMnIChtbsOpbW9uaXF1ZcKgOiAnJWMnKSIKIAotIzogcGF0aHNwZWMuYzo0NjEKKyM6IHBhdGhzcGVjLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCiBtc2dzdHIgIiIKICIlcyA6IGxlIHNww6ljaWZpY2F0ZXVyIG1hZ2lxdWUgZGUgY2hlbWluIG4nZXN0IHBhcyBzdXBwb3J0w6kgcGFyIGNldHRlICIKICJjb21tYW5kZSA6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjUxMQorIzogcGF0aHNwZWMuYzo1NzUKIG1zZ2lkICIiCiAiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCiAidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgpAQCAtMjM5MSwyNCArMjU3MSwxNiBAQAogImludmFsaWRlcyBkYW5zIGxlcyBwcm9jaGFpbmVzIHZlcnNpb25zLiBWZXVpbGxleiB1dGlsaXNlciAuIMOgIGxhIHBsYWNlIHBvdXIgIgogImNvcnJlc3BvbmRyZSDDoCB0b3VzIGxlIGNoZW1pbnMiCiAKLSM6IHBhdGhzcGVjLmM6NTM1CisjOiBwYXRoc3BlYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIGVzdCBhdS1kZWzDoCBkJ3VuIGxpZW4gc3ltYm9saXF1ZSIKIAotIzogcGF0aHNwZWMuYzo1NDQKLW1zZ2lkICIiCi0iVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKLSJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgotbXNnc3RyICIiCi0iSWwgbid5IGEgcmllbiBkb250IGlsIGZhdXQgZXhjbHVyZSBwYXIgZGVzIG1vdGlmcyA6KGV4Y2x1cmUpLlxuIgotIlBldXQtw6p0cmUgYXZlei12b3VzIG91Ymxpw6kgZCdham91dGVyICc6Lycgb3UgJy4nID8iCi0KLSM6IHByZXR0eS5jOjk4MgorIzogcHJldHR5LmM6OTYzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGZvcm1hdCAtLXByZXR0eSIKIAotIzogcmVhZC1jYWNoZS5jOjEzMDcKKyM6IHJlYWQtY2FjaGUuYzoxNDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMjQxNyw3ICsyNTg5LDcgQEAKICJ2ZXJzaW9uIGQnaW5kZXggcmVuc2VpZ27DqWUsIG1haXMgbGEgdmFsZXVyIGVzdCBpbnZhbGlkZS5cbiIKICJVdGlsaXNhdGlvbiBkZSBsYSB2ZXJzaW9uICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTMxNworIzogcmVhZC1jYWNoZS5jOjE0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMjQyNiwyNTUgKzI1OTgsMzcwIEBACiAiR0lUX0lOREVYX1ZFUlNJT04gZXN0IHJlbnNlaWduw6ksIG1haXMgbGEgdmFsZXVyIGVzdCBpbnZhbGlkZS5cbiIKICJVdGlsaXNhdGlvbiBkZSBsYSB2ZXJzaW9uICVpIgogCi0jOiByZWZzLmM6NTc2IGJ1aWx0aW4vbWVyZ2UuYzo4NDQKKyM6IHJlYWQtY2FjaGUuYzoyMzA4IGJ1aWx0aW4vbWVyZ2UuYzoxMDE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MjM4MyBzZXF1ZW5jZXIuYzoxMzUzIHNlcXVlbmNlci5jOjIwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKK21zZ3N0ciAic3RhdCBpbXBvc3NpYmxlIGRlICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzoyMzk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIHLDqXBlcnRvaXJlIGdpdMKgOiAlcyIKKworIzogcmVhZC1jYWNoZS5jOjI0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCittc2dzdHIgIsOpY2hlYyBsb3JzIGRlIGwndW5saW5rwqA6ICVzIgorCisjOiByZWZzLmM6NjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODEKKyM6IHJlZnMuYzoxNzY5Cittc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgorbXNnc3RyICJtaXNlcyDDoCBqb3VyIGRlcyByw6lmw6lyZW5jZXMgaW50ZXJkaXRlcyBlbiBlbnZpcm9ubmVtZW50IGRlIHF1YXJhbnRhaW5lIgorCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxNjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGEgcsOpZsOpcmVuY2UgJXPCoDogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODQKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGVzIHLDqWbDqXJlbmNlc8KgOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ5MworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGEgcsOpZsOpcmVuY2UgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo1NgorIyDDoCBwcmlvcmkgb24gcGFybGUgZCd1bmUgYnJhbmNoZSBpY2kKKyM6IHJlZi1maWx0ZXIuYzozNSB3dC1zdGF0dXMuYzoxODExCittc2dpZCAiZ29uZSIKK21zZ3N0ciAiZGlzcGFydWUiCisKKyM6IHJlZi1maWx0ZXIuYzozNgorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCIKK21zZ3N0ciAiZW4gYXZhbmNlIGRlICVkIgorCisjOiByZWYtZmlsdGVyLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmVoaW5kICVkIgorbXNnc3RyICJlbiByZXRhcmQgZGUgJWQiCisKKyM6IHJlZi1maWx0ZXIuYzozOAorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkIgorbXNnc3RyICJlbiBhdmFuY2UgZGUgJWQsIGVuIHJldGFyZCBkZSAlZCIKKworIzogcmVmLWZpbHRlci5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogbXNnc3RyICJmb3JtYXQgYXR0ZW5kdcKgOiAlJShjb2xvcjo8Y291bGV1cj4pIgogCi0jOiByZWYtZmlsdGVyLmM6NTgKKyM6IHJlZi1maWx0ZXIuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGNvbG9yOiAlJShjb2xvcjolcykiCiBtc2dzdHIgImNvdWxldXIgbm9uIHJlY29ubnVlIDogJSUoY29sb3I6JXMpIgogCi0jOiByZWYtZmlsdGVyLmM6NzIKKyM6IHJlZi1maWx0ZXIuYzoxMjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdDogJSUoJXMpIgotbXNnc3RyICJmb3JtYXQgbm9uIHJlY29ubnUgJSUoJXMpIgorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpsc3RyaXA9JXMiCittc2dzdHIgIlZhbGV1ciBlbnRpw6hyZSBhdHRlbmR1ZSByZWZuYW1lOmxzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjc4CisjOiByZWYtZmlsdGVyLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCittc2dzdHIgIlZhbGV1ciBlbnRpw6hyZSBhdHRlbmR1ZSByZWZuYW1lOnJzdHJpcD0lcyIKKworIzogcmVmLWZpbHRlci5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnQgJSUoJXMpIG5vbiByZWNvbm51wqA6ICVzIgorCisjOiByZWYtZmlsdGVyLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShib2R5KSBuJ2FjY2VwdGUgcGFzIGQnYXJndW1lbnQiCiAKLSM6IHJlZi1maWx0ZXIuYzo4NQorIzogcmVmLWZpbHRlci5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShzdWJqZWN0KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoc3ViamVjdCkgbidhY2NlcHRlIHBhcyBkJ2FyZ3VtZW50IgogCi0jOiByZWYtZmlsdGVyLmM6OTIKKyM6IHJlZi1maWx0ZXIuYzoxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUodHJhaWxlcnMpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJSh0cmFpbGVycykgbidhY2NlcHRlIHBhcyBkJ2FyZ3VtZW50IgogCi0jOiByZWYtZmlsdGVyLmM6MTExCisjOiByZWYtZmlsdGVyLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIGNvbnRlbnRzOmxpbmVzPSVzIgogbXNnc3RyICJ2YWxldXIgcG9zaXRpdmUgYXR0ZW5kdWUgY29udGVudHM6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTMKKyM6IHJlZi1maWx0ZXIuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50ICUlKGNvbnRlbnRzKSBub24gcmVjb25udSA6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTIzCisjOiByZWYtZmlsdGVyLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIG9iamVjdG5hbWU6c2hvcnQ9JXMiCittc2dzdHIgInZhbGV1ciBwb3NpdGl2ZSBhdHRlbmR1ZSBvYmplY3RuYW1lOnNob3J0PSVzIgorCisjOiByZWYtZmlsdGVyLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50ICUlKG9iamVjdG5hbWUpIG5vbiByZWNvbm51IDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDUKKyM6IHJlZi1maWx0ZXIuYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICJmb3JtYXQgYXR0ZW5kdcKgOiAlJShhbGlnbjo8bGFyZ2V1cj4sPHBvc2l0aW9uPikiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNTcKKyM6IHJlZi1maWx0ZXIuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICJwb3NpdGlvbiBub24gcmVjb25udWXCoDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjEKKyM6IHJlZi1maWx0ZXIuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdpZHRoOiVzIgogbXNnc3RyICJsYXJnZXVyIG5vbiByZWNvbm51ZcKgOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE2NworIzogcmVmLWZpbHRlci5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiYXJndW1lbnQgJSUoYWxpZ24pIG5vbiByZWNvbm51IDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzEKKyM6IHJlZi1maWx0ZXIuYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgd2lkdGggZXhwZWN0ZWQgd2l0aCB0aGUgJSUoYWxpZ24pIGF0b20iCiBtc2dzdHIgInZhbGV1ciBwb3NpdGl2ZSBhdHRlbmR1ZSBhdmVjIGwnYXRvbWUgJSUoYWxpZ24pIgogCi0jOiByZWYtZmlsdGVyLmM6MjU1CisjOiByZWYtZmlsdGVyLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCAlJShpZikgbm9uIHJlY29ubnXCoDogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzozNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIm5vbSBkZSBjaGFtcCBtYWxmb3Jtw6kgJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjI4MQorIzogcmVmLWZpbHRlci5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIm5vbSBkZSBjaGFtcCBpbmNvbm51IDogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjM4MworIzogcmVmLWZpbHRlci5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCittc2dzdHIgImZvcm1hdMKgOiBhdG9tZSAlJShpZikgdXRpbGlzw6kgc2FucyB1biBhdG9tZSAlJSh0aGVuKSIKKworIzogcmVmLWZpbHRlci5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgorbXNnc3RyICJmb3JtYXTCoDogYXRvbWUgJSUodGhlbikgdXRpbGlzw6kgc2FucyB1biBhdG9tZSAlJShpZikiCisKKyM6IHJlZi1maWx0ZXIuYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImZvcm1hdMKgOiBhdG9tZSAlJSh0aGVuKSB1dGlsaXPDqSBwbHVzIGQndW5lIGZvaXMiCisKKyM6IHJlZi1maWx0ZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCittc2dzdHIgImZvcm1hdDogYXRvbWUgJSUodGhlbikgdXRpbGlzw6kgYXByw6hzICUlKGVsc2UpIgorCisjOiByZWYtZmlsdGVyLmM6NTk4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCittc2dzdHIgImZvcm1hdMKgOiBhdG9tZSAlJShlbHNlKSB1dGlsaXPDqSBzYW5zIHVuIGF0b21lICUlKGlmKSIKKworIzogcmVmLWZpbHRlci5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0wqA6IGF0b21lICUlKGVsc2UpIHV0aWxpc8OpIHNhbnMgdW4gYXRvbWUgJSUodGhlbikiCisKKyM6IHJlZi1maWx0ZXIuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImZvcm1hdMKgOiBhdG9tZSAlJShlbHNlKSB1dGlsaXPDqSBwbHVzIGQndW5lIGZvaXMiCisKKyM6IHJlZi1maWx0ZXIuYzo2MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gdXNlZCB3aXRob3V0IGNvcnJlc3BvbmRpbmcgYXRvbSIKIG1zZ3N0ciAiZm9ybWF0wqA6IGF0b21lICUlKGVuZCkgdXRpbGlzw6kgc2FucyBhdG9tZSBjb3JyZXNwb25kYW50IgogCi0jOiByZWYtZmlsdGVyLmM6NDM1CisjOiByZWYtZmlsdGVyLmM6NjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmb3JtYXQgc3RyaW5nICVzIgogbXNnc3RyICJDaGHDrm5lIGRlIGZvcm1hdGFnZSBtYWwgZm9ybcOpZSAlcyIKIAotIzogcmVmLWZpbHRlci5jOjg5OAotbXNnaWQgIjpzdHJpcD0gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFyZ3VtZW50IgotbXNnc3RyICI6c3RyaXA9IHJlcXVpZXJ0IHVuIGFyZ3VtZW50IGVudGllciBwb3NpdGlmIgotCi0jOiByZWYtZmlsdGVyLmM6OTAzCisjOiByZWYtZmlsdGVyLmM6MTI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIKLW1zZ3N0ciAibGEgcsOpZiAnJXMnIG4nYSBwYXMgJWxkIGNvbXBvc2FudHMgw6AgOnN0cmlwIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKGF1Y3VuZSBicmFuY2hlLCByZWJhc2FnZSBkZSAlcykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDY2CisjOiByZWYtZmlsdGVyLmM6MTI1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgotbXNnc3RyICJmb3JtYXQgZGUgJS4qcyBpbmNvbm51ICVzIgorbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKK21zZ3N0ciAiKGF1Y3VuZSBicmFuY2hlLCBiaXNlY3QgYSBkw6ltYXJyw6kgc3VyICVzKSIKIAotIzogcmVmLWZpbHRlci5jOjEwODYgcmVmLWZpbHRlci5jOjExMTcKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCisjLgorIzogcmVmLWZpbHRlci5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgorbXNnc3RyICIoSEVBRCBkw6l0YWNow6llIHN1ciAlcykiCisKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKKyMuCisjOiByZWYtZmlsdGVyLmM6MTI3MgorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKK21zZ3N0ciAiKEhFQUQgZMOpdGFjaMOpZSBkZXB1aXMgJXMpIgorCisjOiByZWYtZmlsdGVyLmM6MTI3NgorbXNnaWQgIihubyBicmFuY2gpIgorbXNnc3RyICIoYXVjdW5lIGJyYW5jaGUpIgorCisjOiByZWYtZmlsdGVyLmM6MTQyNiByZWYtZmlsdGVyLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiCiBtc2dzdHIgIm9iamV0IG1hbnF1YW50ICVzIHBvdXIgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDg5IHJlZi1maWx0ZXIuYzoxMTIwCisjOiByZWYtZmlsdGVyLmM6MTQyOSByZWYtZmlsdGVyLmM6MTQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgImVjaGVjIGRlIHBhcnNlX29iamVjdF9idWZmZXIgc3VyICVzIHBvdXIgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzQzCisjOiByZWYtZmlsdGVyLmM6MTc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCiBtc2dzdHIgIm9iamV0IG1hbGZvcm3DqSDDoCAnJXMnIgogCi0jOiByZWYtZmlsdGVyLmM6MTQxMAorIzogcmVmLWZpbHRlci5jOjE4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgcmVmIHdpdGggYnJva2VuIG5hbWUgJXMiCiBtc2dzdHIgInLDqWYgYXZlYyB1biBub20gY2Fzc8OpICVzIGlnbm9yw6kiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDE1CisjOiByZWYtZmlsdGVyLmM6MTgzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICJyw6lmIGNhc3PDqSAlcyBpZ25vcsOpIgogCi0jOiByZWYtZmlsdGVyLmM6MTY3MAorIzogcmVmLWZpbHRlci5jOjIwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAiZm9ybWF0OiBhdG9tZSAlJShlbmQpIG1hbnF1YW50IgogCi0jOiByZWYtZmlsdGVyLmM6MTczNAorIzogcmVmLWZpbHRlci5jOjIxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJub20gZCdvYmpldCBtYWxmb3Jtw6kgJXMiCiAKLSM6IHJlbW90ZS5jOjc1NAorIzogcmVtb3RlLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6ljdXDDqXJlciDDoCBsYSBmb2lzICVzIGV0ICVzIHBvdXIgJXMiCiAKLSM6IHJlbW90ZS5jOjc1OAorIzogcmVtb3RlLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCiBtc2dzdHIgIiVzIHN1aXQgaGFiaXR1ZWxsZW1lbnQgJXMsIHBhcyAlcyIKIAotIzogcmVtb3RlLmM6NzYyCisjOiByZW1vdGUuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgogbXNnc3RyICIlcyBzdWl0IMOgIGxhIGZvaXMgJXMgZXQgJXMiCiAKLSM6IHJlbW90ZS5jOjc3MAorIzogcmVtb3RlLmM6NzYzCiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIkVycmV1ciBpbnRlcm5lIgogCi0jOiByZW1vdGUuYzoxNjg1IHJlbW90ZS5jOjE3ODcKKyM6IHJlbW90ZS5jOjE2ODAgcmVtb3RlLmM6MTc4MgogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgbmUgcG9pbnRlIHBhcyBzdXIgdW5lIGJyYW5jaGUiCiAKLSM6IHJlbW90ZS5jOjE2OTQKKyM6IHJlbW90ZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgInBhcyBkZSBicmFuY2hlICclcyciCiAKLSM6IHJlbW90ZS5jOjE2OTcKKyM6IHJlbW90ZS5jOjE2OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgImF1Y3VuZSBicmFuY2hlIGFtb250IGNvbmZpZ3Vyw6llIHBvdXIgbGEgYnJhbmNoZSAnJXMnIgogCi0jOiByZW1vdGUuYzoxNzAzCisjOiByZW1vdGUuYzoxNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICJsYSBicmFuY2hlIGFtb250ICclcycgbidlc3QgcGFzIHN0b2Nrw6llIGNvbW1lIGJyYW5jaGUgZGUgc3VpdmkiCiAKLSM6IHJlbW90ZS5jOjE3MTgKKyM6IHJlbW90ZS5jOjE3MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgIiIKICJsYSBkZXN0aW5hdGlvbiBkZSBwb3Vzc8OpZSAnJXMnIHN1ciBsZSBzZXJ2ZXVyIGRpc3RhbnQgJyVzJyBuJ2EgcGFzIGRlICIKICJicmFuY2hlIGxvY2FsZSBkZSBzdWl2aSIKIAotIzogcmVtb3RlLmM6MTczMAorIzogcmVtb3RlLmM6MTcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBoYXMgbm8gcmVtb3RlIGZvciBwdXNoaW5nIgogbXNnc3RyICJsYSBicmFuY2hlICclcycgbidhIGF1Y3VuZSBicmFuY2hlIGRpc3RhbnRlIGRlIHBvdXNzw6llIgogCi0jOiByZW1vdGUuYzoxNzQxCisjOiByZW1vdGUuYzoxNzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggcmVmc3BlY3MgZm9yICclcycgZG8gbm90IGluY2x1ZGUgJyVzJyIKIG1zZ3N0ciAibGVzIHLDqWbDqXJlbmNlcyBkZSBzcGVjIHBvdXIgJyVzJyBuJ2luY2x1ZW50IHBhcyAnJXMnIgogCi0jOiByZW1vdGUuYzoxNzU0CisjOiByZW1vdGUuYzoxNzQ5CiBtc2dpZCAicHVzaCBoYXMgbm8gZGVzdGluYXRpb24gKHB1c2guZGVmYXVsdCBpcyAnbm90aGluZycpIgogbXNnc3RyICJsYSBwb3Vzc8OpZSBuJ2EgcGFzIGRlIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgdmF1dCAnbm90aGluZycpIgogCi0jOiByZW1vdGUuYzoxNzc2CisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAiIgogImltcG9zc2libGUgZGUgcsOpc291ZHJlIHVuZSBwb3Vzc8OpZSAnc2ltcGxlJyBwb3VyIHVuZSBkZXN0aW5hdGlvbiB1bmlxdWUiCiAKLSM6IHJlbW90ZS5jOjIwODEKKyM6IHJlbW90ZS5jOjIwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICJWb3RyZSBicmFuY2hlIGVzdCBiYXPDqWUgc3VyICclcycsIG1haXMgbGEgYnJhbmNoZSBhbW9udCBhIGRpc3BhcnUuXG4iCiAKLSM6IHJlbW90ZS5jOjIwODUKKyM6IHJlbW90ZS5jOjIwODAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiBwb3VyIGNvcnJpZ2VyKVxuIgogCi0jOiByZW1vdGUuYzoyMDg4CisjOiByZW1vdGUuYzoyMDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgogbXNnc3RyICJWb3RyZSBicmFuY2hlIGVzdCDDoCBqb3VyIGF2ZWMgJyVzJy5cbiIKIAotIzogcmVtb3RlLmM6MjA5MgorIzogcmVtb3RlLmM6MjA4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICJWb3RyZSBicmFuY2hlIGVzdCBlbiBhdmFuY2Ugc3VyICclcycgZGUgJWQgY29tbWl0LlxuIgogbXNnc3RyWzFdICJWb3RyZSBicmFuY2hlIGVzdCBlbiBhdmFuY2Ugc3VyICclcycgZGUgJWQgY29tbWl0cy5cbiIKIAotIzogcmVtb3RlLmM6MjA5OAorIzogcmVtb3RlLmM6MjA5MwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHB1c2hcIiBwb3VyIHB1YmxpZXIgdm9zIGNvbW1pdHMgbG9jYXV4KVxuIgogCi0jOiByZW1vdGUuYzoyMTAxCisjOiByZW1vdGUuYzoyMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtMjY4NiwxMSArMjk3MywxMSBAQAogIlZvdHJlIGJyYW5jaGUgZXN0IGVuIHJldGFyZCBzdXIgJyVzJyBkZSAlZCBjb21taXRzLCBldCBwZXV0IMOqdHJlIG1pc2Ugw6Agam91ciAiCiAiZW4gYXZhbmNlIHJhcGlkZS5cbiIKIAotIzogcmVtb3RlLmM6MjEwOQorIzogcmVtb3RlLmM6MjEwNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBwdWxsXCIgcG91ciBtZXR0cmUgw6Agam91ciB2b3RyZSBicmFuY2hlIGxvY2FsZSlcbiIKIAotIzogcmVtb3RlLmM6MjExMgorIzogcmVtb3RlLmM6MjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTI3MDUsNDIgKzI5OTIsNDcgQEAKICJWb3RyZSBicmFuY2hlIGV0ICclcycgb250IGRpdmVyZ8OpLFxuIgogImV0IG9udCAlZCBldCAlZCBjb21taXRzIGRpZmbDqXJlbnRzIGNoYWN1bmUgcmVzcGVjdGl2ZW1lbnQuXG4iCiAKLSM6IHJlbW90ZS5jOjIxMjIKKyM6IHJlbW90ZS5jOjIxMTcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKICIgICh1dGlsaXNleiBcImdpdCBwdWxsXCIgcG91ciBmdXNpb25uZXIgbGEgYnJhbmNoZSBkaXN0YW50ZSBkYW5zIGxhIHbDtHRyZSlcbiIKIAotIzogcmV2aXNpb24uYzoyMTU4CisjOiByZXZpc2lvbi5jOjIxODcKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICJ2b3RyZSBicmFuY2hlIGFjdHVlbGxlIHNlbWJsZSBjYXNzw6llIgogCi0jOiByZXZpc2lvbi5jOjIxNjEKKyM6IHJldmlzaW9uLmM6MjE5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgInZvdHJlIGJyYW5jaGUgYWN0dWVsbGUgJyVzJyBuZSBjb250aWVudCBlbmNvcmUgYXVjdW4gY29tbWl0IgogCi0jOiByZXZpc2lvbi5jOjIzNTUKKyM6IHJldmlzaW9uLmM6MjM4NAogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICItLWZpcnN0LXBhcmVudCBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTI1CisjOiBydW4tY29tbWFuZC5jOjY0NAogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnb3V2ZXJ0dXJlIGRlIC9kZXYvbnVsbCIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjcKKyM6IHNlbmQtcGFjay5jOjE1MQogIywgYy1mb3JtYXQKLW1zZ2lkICJkdXAyKCVkLCVkKSBmYWlsZWQiCi1tc2dzdHIgIsOpY2hlYyBkZSBkdXAyKCVkLCVkKSIKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgcmVtb3RlIHVucGFjayBzdGF0dXM6ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCfDqXRhdCBkZSBkw6lwYXF1ZXRhZ2UgZGlzdGFudMKgOiAlcyIKIAotIzogc2VuZC1wYWNrLmM6Mjk3CisjOiBzZW5kLXBhY2suYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgorbXNnc3RyICJsZSBkw6lwYXF1ZXRhZ2UgYSDDqWNob3XDqcKgOiAlcyIKKworIzogc2VuZC1wYWNrLmM6MzE2CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc2lnbmVyIGxlIGNlcnRpZmljYXQgZGUgcG91c3PDqWUiCiAKLSM6IHNlbmQtcGFjay5jOjQxMAorIzogc2VuZC1wYWNrLmM6NDI5CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCBwdXNoIgogbXNnc3RyICJMZSByZWNldmV1ciBuZSBnw6hyZSBwYXMgbGVzIHBvdXNzw6llcyBhdmVjIC0tc2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MTIKKyM6IHNlbmQtcGFjay5jOjQzMQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKQEAgLTI3NDgsMzIgKzMwNDAsMzIgQEAKICJwYXMgZCdlbnZvaSBkZSBjZXJ0aWZpY2F0IGRlIHBvdXNzw6llIGNhciBsZSByZWNldmV1ciBuZSBnw6hyZSBwYXMgbGVzICIKICJwb3Vzc8OpZXMgYXZlYyAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDI0CisjOiBzZW5kLXBhY2suYzo0NDMKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgIkxlIHJlY2V2ZXVyIG5lIGfDqHJlIHBhcyBsZXMgcG91c3PDqWVzIGF2ZWMgLS1hdG9taWMiCiAKLSM6IHNlbmQtcGFjay5jOjQyOQorIzogc2VuZC1wYWNrLmM6NDQ4CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCiBtc2dzdHIgIkxlIHJlY2V2ZXVyIG5lIGfDqHJlIHBhcyBsZXMgb3B0aW9ucyBkZSBwb3Vzc8OpZXMiCiAKLSM6IHNlcXVlbmNlci5jOjIxNQorIzogc2VxdWVuY2VyLmM6MjE2CiBtc2dpZCAicmV2ZXJ0IgogbXNnc3RyICJyZXZlcnQiCiAKLSM6IHNlcXVlbmNlci5jOjIxNworIzogc2VxdWVuY2VyLmM6MjE4CiBtc2dpZCAiY2hlcnJ5LXBpY2siCiBtc2dzdHIgImNoZXJyeS1waWNrIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTkKKyM6IHNlcXVlbmNlci5jOjIyMAogbXNnaWQgInJlYmFzZSAtaSIKIG1zZ3N0ciAicmViYXNlIC1pIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjEKKyM6IHNlcXVlbmNlci5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFjdGlvbjogJWQiCiBtc2dzdHIgIkFjdGlvbiBpbmNvbm51ZcKgOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6Mjc4CisjOiBzZXF1ZW5jZXIuYzoyNzkKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKQEAgLTI3ODEsNyArMzA3Myw3IEBACiAiYXByw6hzIHLDqXNvbHV0aW9uIGRlcyBjb25mbGl0cywgbWFycXVleiBsZXMgY2hlbWlucyBjb3JyaWfDqXNcbiIKICJhdmVjICdnaXQgYWRkIDxjaGVtaW5zPicgb3UgJ2dpdCBybSA8Y2hlbWlucz4nIgogCi0jOiBzZXF1ZW5jZXIuYzoyODEKKyM6IHNlcXVlbmNlci5jOjI4MgogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCkBAIC0yNzkxLDYzICszMDgzLDYzIEBACiAiYXZlYyAnZ2l0IGFkZCA8Y2hlbWlucz4nIG91ICdnaXQgcm0gPGNoZW1pbnM+J1xuIgogInB1aXMgdmFsaWRleiBsZSByw6lzdWx0YXQgYXZlYyAnZ2l0IGNvbW1pdCciCiAKLSM6IHNlcXVlbmNlci5jOjI5NCBzZXF1ZW5jZXIuYzoxNjY3CisjOiBzZXF1ZW5jZXIuYzoyOTUgc2VxdWVuY2VyLmM6MTY4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHZlcnJvdWlsbGVyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjI5NyBzZXF1ZW5jZXIuYzoxNTQ1IHNlcXVlbmNlci5jOjE2NzIgc2VxdWVuY2VyLmM6MTY4NgorIzogc2VxdWVuY2VyLmM6Mjk4IHNlcXVlbmNlci5jOjE1NjMgc2VxdWVuY2VyLmM6MTY5MCBzZXF1ZW5jZXIuYzoxNzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBkYW5zICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjMwMQorIzogc2VxdWVuY2VyLmM6MzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGEgZmluIGRlIGxpZ25lIGRhbnMgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MzA1IHNlcXVlbmNlci5jOjE1NTAgc2VxdWVuY2VyLmM6MTY3NAorIzogc2VxdWVuY2VyLmM6MzA2IHNlcXVlbmNlci5jOjE1Njggc2VxdWVuY2VyLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCiBtc2dzdHIgIsOpY2hlYyBsb3JzIGRlIGxhIGZpbmFsaXNhdGlvbiBkZSAnJXMnLiIKIAotIzogc2VxdWVuY2VyLmM6MzI5IHNlcXVlbmNlci5jOjgwOCBzZXF1ZW5jZXIuYzoxNTcxIGJ1aWx0aW4vYW0uYzoyNTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDM2CisjOiBzZXF1ZW5jZXIuYzozMzAgc2VxdWVuY2VyLmM6ODE3IHNlcXVlbmNlci5jOjE1ODkgYnVpbHRpbi9hbS5jOjI1OAorIzogYnVpbHRpbi9jb21taXQuYzo3NTAgYnVpbHRpbi9tZXJnZS5jOjEwMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM1NQorIzogc2VxdWVuY2VyLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCiBtc2dzdHIgInZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzozNTkKKyM6IHNlcXVlbmNlci5jOjM2MAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAidmFsaWRleiB2b3MgbW9kaWZpY2F0aW9ucyBvdSBsZXMgcmVtaXNlciBwb3VyIGNvbnRpbnVlci4iCiAKLSM6IHNlcXVlbmNlci5jOjM4OAorIzogc2VxdWVuY2VyLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVzwqA6IGF2YW5jZSByYXBpZGUiCiAKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCi0jLiAqICJyZWJhc2UgLWkiLgorIy4gInJlYmFzZSAtaSIuCiAjLgotIzogc2VxdWVuY2VyLmM6NDcwCisjOiBzZXF1ZW5jZXIuYzo0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEltcG9zc2libGUgZCfDqWNyaXJlIGxlIG5vdXZlYXUgZmljaGllciBpbmRleCIKIAotIzogc2VxdWVuY2VyLmM6NDg5CisjOiBzZXF1ZW5jZXIuYzo0OTEKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSBsZSBjb21taXQgSEVBRFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo1MDkKKyM6IHNlcXVlbmNlci5jOjUxMQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGwnYXJicmUgZGUgY2FjaGVcbiIKIAotIzogc2VxdWVuY2VyLmM6NTkyCisjOiBzZXF1ZW5jZXIuYzo1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCkBAIC0yODc2LDE3ICszMTY4LDE3IEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6Njg4CisjOiBzZXF1ZW5jZXIuYzo2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0ICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjY5MworIzogc2VxdWVuY2VyLmM6NzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgcGFyZW50ICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjgxNQorIzogc2VxdWVuY2VyLmM6ODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmV4cGVjdGVkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjg5Nyw3ICszMTg5LDcgQEAKICJcbiIKICJcdCUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjgyMQorIzogc2VxdWVuY2VyLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbnZhbGlkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjkwOCwyMzIgKzMyMDAsMjMyIEBACiAiXG4iCiAiXHQlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo4Mjcgc2VxdWVuY2VyLmM6ODUyCisjOiBzZXF1ZW5jZXIuYzo4MzYgc2VxdWVuY2VyLmM6ODYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKIG1zZ3N0ciAiQ2VjaSBlc3QgbGEgY29tYmluYWlzb24gZGUgJWQgY29tbWl0cy4iCiAKLSM6IHNlcXVlbmNlci5jOjgzNgorIzogc2VxdWVuY2VyLmM6ODQ1CiBtc2dpZCAibmVlZCBhIEhFQUQgdG8gZml4dXAiCiBtc2dzdHIgInVuZSBIRUFEIGVzdCBuw6ljZXNzYWlyZSDDoCBsYSBjb3JyZWN0aW9uIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzgKKyM6IHNlcXVlbmNlci5jOjg0NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDAKKyM6IHNlcXVlbmNlci5jOjg0OQogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBkZSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDYKKyM6IHNlcXVlbmNlci5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6ODU1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQorIzogc2VxdWVuY2VyLmM6ODY0IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQogbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCiBtc2dzdHIgIkNlY2kgZXN0IGxlIHByZW1pZXIgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgogCi0jOiBzZXF1ZW5jZXIuYzo4NjMKKyM6IHNlcXVlbmNlci5jOjg3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZSBvZiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBkZSAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODcwCisjOiBzZXF1ZW5jZXIuYzo4NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyVkOiIKIG1zZ3N0ciAiQ2VjaSBlc3QgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIG51bcOpcm8gJWTCoDoiCiAKLSM6IHNlcXVlbmNlci5jOjg3NQorIzogc2VxdWVuY2VyLmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJWQgd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAiTGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uICVkIHNlcmEgaWdub3LDqcKgOiIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKIG1zZ3N0ciAiY29tbWFuZGUgaW5jb25udWXCoDogJWQiCiAKLSM6IHNlcXVlbmNlci5jOjk0NgorIzogc2VxdWVuY2VyLmM6OTU1CiBtc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAidm90cmUgZmljaGllciBkJ2luZGV4IG4nZXN0IHBhcyBmdXNpb25uw6kuIgogCi0jOiBzZXF1ZW5jZXIuYzo5NjQKKyM6IHNlcXVlbmNlci5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgImxlIGNvbW1pdCAlcyBlc3QgdW5lIGZ1c2lvbiBtYWlzIGwnb3B0aW9uIC1tIG4nYSBwYXMgw6l0w6kgc3DDqWNpZmnDqWUuIgogCi0jOiBzZXF1ZW5jZXIuYzo5NzIKKyM6IHNlcXVlbmNlci5jOjk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgImxlIGNvbW1pdCAlcyBuJ2EgcGFzIGRlIHBhcmVudCAlZCIKIAotIzogc2VxdWVuY2VyLmM6OTc2CisjOiBzZXF1ZW5jZXIuYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAiIgogInVuZSBicmFuY2hlIHByaW5jaXBhbGUgYSDDqXTDqSBzcMOpY2lmacOpZSBtYWlzIGxlIGNvbW1pdCAlcyBuJ2VzdCBwYXMgdW5lICIKICJmdXNpb24uIgogCi0jOiBzZXF1ZW5jZXIuYzo5ODIKKyM6IHNlcXVlbmNlci5jOjk5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgdW4gbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHBvdXIgJXMiCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKICMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzoxMDAxCisjOiBzZXF1ZW5jZXIuYzoxMDEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0IHBhcmVudCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA2MyBzZXF1ZW5jZXIuYzoxODEyCisjOiBzZXF1ZW5jZXIuYzoxMDc1IHNlcXVlbmNlci5jOjE4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVub21tZXIgJyVzJyBlbiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE0CisjOiBzZXF1ZW5jZXIuYzoxMTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbm51bGVyICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE1CisjOiBzZXF1ZW5jZXIuYzoxMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FwcGxpcXVlciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTE1NworIzogc2VxdWVuY2VyLmM6MTE2OQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJsJ2Vuc2VtYmxlIGRlIGNvbW1pdHMgc3DDqWNpZmnDqSBlc3QgdmlkZSIKIAotIzogc2VxdWVuY2VyLmM6MTE2NworIzogc2VxdWVuY2VyLmM6MTE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzIDogw6ljaGVjIMOgIGxhIGxlY3R1cmUgZGUgbCdpbmRleCIKIAotIzogc2VxdWVuY2VyLmM6MTE3NAorIzogc2VxdWVuY2VyLmM6MTE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzIDogw6ljaGVjIGR1IHJhZnJhw65jaGlzc2VtZW50IGRlIGwnaW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjEyOTQKKyM6IHNlcXVlbmNlci5jOjEzMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICJsaWduZSAlZCBpbnZhbGlkZcKgOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzAyCisjOiBzZXF1ZW5jZXIuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAnJXMnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIiclcycgaW1wb3NzaWJsZSBhdmVjIGxlIGNvbW1pdCBwcsOpY8OpZGVudCIKIAotIzogc2VxdWVuY2VyLmM6MTMzNAorIzogc2VxdWVuY2VyLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICclcycuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQxCisjOiBzZXF1ZW5jZXIuYzoxMzU5CiBtc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgInZldWlsbGV6IGNvcnJpZ2VyIGNlY2kgZW4gdXRpbGlzYW50ICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNDMKKyM6IHNlcXVlbmNlci5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCiBtc2dzdHIgImZldWlsbGUgZCdpbnN0cnVjdGlvbiBpbnV0aWxpc2FibGXCoDogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTM0OAorIzogc2VxdWVuY2VyLmM6MTM2NgogbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAiYXVjdW4gY29tbWl0IGFuYWx5c8OpLiIKIAotIzogc2VxdWVuY2VyLmM6MTM1OQorIzogc2VxdWVuY2VyLmM6MTM3NwogbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHBpY29yZXIgcGVuZGFudCBsJ2FubnVsYXRpb24gZCd1biBjb21taXQuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxCisjOiBzZXF1ZW5jZXIuYzoxMzc5CiBtc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgImltcG9zc2libGUgZCdhbm51bGVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHBpY29yYWdlLiIKIAotIzogc2VxdWVuY2VyLmM6MTQyNAorIzogc2VxdWVuY2VyLmM6MTQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgImNsw6kgaW52YWxpZGXCoDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE0MjcKKyM6IHNlcXVlbmNlci5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJ2YWxldXIgaW52YWxpZGUgcG91ciAlc8KgOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQ4NAorIzogc2VxdWVuY2VyLmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAiZmV1aWxsZSBkJ29wdGlvbnMgbWFsZm9ybcOpZcKgOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTUyMgorIzogc2VxdWVuY2VyLmM6MTU0MAogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgInVuIHBpY29yYWdlIG91IHVuIHJldG91ciBlc3QgZMOpasOgIGVuIGNvdXJzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIzCisjOiBzZXF1ZW5jZXIuYzoxNTQxCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiZXNzYXlleiBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZXwtLXF1aXR8LS0gYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjE1MjYKKyM6IHNlcXVlbmNlci5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIGRlIHPDqXF1ZW5jZXVyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE1NDAKKyM6IHNlcXVlbmNlci5jOjE1NTgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHZlcnJvdWlsbGVyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTYgc2VxdWVuY2VyLmM6MjE1MAorIzogc2VxdWVuY2VyLmM6MTYxNCBzZXF1ZW5jZXIuYzoyMTg4CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJhdWN1biBwaWNvcmFnZSBvdSByZXRvdXIgZW4gY291cnMiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTgKKyM6IHNlcXVlbmNlci5jOjE2MTYKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjAwIHNlcXVlbmNlci5jOjE2MzQKKyM6IHNlcXVlbmNlci5jOjE2MTggc2VxdWVuY2VyLmM6MTY1MgogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYWJhbmRvbm5lciBkZXB1aXMgdW5lIGJyYW5jaGUgbm9uIGVuY29yZSBjcsOpw6llIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIwIGJ1aWx0aW4vZ3JlcC5jOjkwNAorIzogc2VxdWVuY2VyLmM6MTYzOCBidWlsdGluL2dyZXAuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIyCisjOiBzZXF1ZW5jZXIuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJyVzJ8KgOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTYyMworIzogc2VxdWVuY2VyLmM6MTY0MQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImZpbiBkZSBmaWNoaWVyIGluYXR0ZW5kdWUiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjkKKyM6IHNlcXVlbmNlci5jOjE2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJsZSBmaWNoaWVyIEhFQUQgZGUgcHLDqXBhcmF0aW9uIGRlIHBpY29yYWdlICclcycgZXN0IGNvcnJvbXB1IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjQwCisjOiBzZXF1ZW5jZXIuYzoxNjU4CiBtc2dpZCAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiBOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIgogbXNnc3RyICIiCiAiVm91cyBzZW1ibGV6IGF2b2lyIGTDqXBsYWPDqSBsYSBIRUFELiBQYXMgZGUgcmVtYm9iaW5hZ2UsIHbDqXJpZmlleiB2b3RyZSBIRUFEwqAhIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzc3IHNlcXVlbmNlci5jOjIwNDkKKyM6IHNlcXVlbmNlci5jOjE3OTUgc2VxdWVuY2VyLmM6MjA4NgogbXNnaWQgImNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxODE3IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NzQKKyM6IHNlcXVlbmNlci5jOjE4MzUgYnVpbHRpbi9kaWZmdG9vbC5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY29waWVyICclcycgdmVycyAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMzCisjOiBzZXF1ZW5jZXIuYzoxODUxCiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzoxODM4CisjOiBzZXF1ZW5jZXIuYzoxODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gZmFpbGVkOiAlc1xuIgpAQCAtMzE0OCwxMSArMzQ0MCwxMSBAQAogImdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxODQ0CisjOiBzZXF1ZW5jZXIuYzoxODYyCiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKIG1zZ3N0ciAiZXQgYSBtaXMgw6Agam91ciBsJ2luZGV4IG91IGwnYXJicmUgZGUgdHJhdmFpbFxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxODUwCisjOiBzZXF1ZW5jZXIuYzoxODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gc3VjY2VlZGVkOiAlc1xuIgpAQCAtMzE2OSwxNyArMzQ2MSwxNyBAQAogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHNlcXVlbmNlci5jOjE5MDUgZ2l0LXJlYmFzZS5zaDoxNjgKKyM6IHNlcXVlbmNlci5jOjE5MjUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgotbXNnc3RyICJBdXRvcmVtaXNhZ2UgYXBwbGlxdcOpLiIKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC5cbiIKK21zZ3N0ciAiQXV0b3JlbWlzYWdlIGFwcGxpcXXDqS5cbiIKIAotIzogc2VxdWVuY2VyLmM6MTkxNworIzogc2VxdWVuY2VyLmM6MTkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3RvY2tlciAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTkxOSBnaXQtcmViYXNlLnNoOjE3MgorIzogc2VxdWVuY2VyLmM6MTk0MCBnaXQtcmViYXNlLnNoOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKQEAgLTMxOTAsNTcgKzM0ODIsNTcgQEAKICJWb3MgIG1vZGlmaWNhdGlvbnMgc29udCDDoCBsJ2FicmkgZGFucyBsYSByZW1pc2UuXG4iCiAiVm91cyBwb3V2ZXogbGFuY2VyIFwiZ2l0IHN0YXNoIHBvcFwiIG91IFwiZ2l0IHN0YXNoIGRyb3BcIiDDoCB0b3V0IG1vbWVudC5cbiIKIAotIzogc2VxdWVuY2VyLmM6MjAwMAorIzogc2VxdWVuY2VyLmM6MjAyMgogIywgYy1mb3JtYXQKLW1zZ2lkICJzdG9wcGVkIGF0ICVzLi4uICUuKnMiCi1tc2dzdHIgImFycsOqdCDDoCAlcy4uLiAlLipzIgorbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKK21zZ3N0ciAiYXJyw6p0IMOgICVzLi4uICUuKnNcbiIKIAotIzogc2VxdWVuY2VyLmM6MjAyNworIzogc2VxdWVuY2VyLmM6MjA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgJWQiCiBtc2dzdHIgImNvbW1hbmRlIGluY29ubnVlICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDU3CisjOiBzZXF1ZW5jZXIuYzoyMDk0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgb3JpZy1oZWFkIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYxCisjOiBzZXF1ZW5jZXIuYzoyMDk5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJ29udG8nIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDY4CisjOiBzZXF1ZW5jZXIuYzoyMTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIwNzUKKyM6IHNlcXVlbmNlci5jOjIxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSBIRUFEIHRvICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIEhFQUQgc3VyICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTU5CisjOiBzZXF1ZW5jZXIuYzoyMTk3CiBtc2dpZCAiY2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmViYXNlcsKgOiB2b3VzIGF2ZXogZGVzIG1vZGlmaWNhdGlvbnMgbm9uIGluZGV4w6llcy4iCiAKLSM6IHNlcXVlbmNlci5jOjIxNjQKKyM6IHNlcXVlbmNlci5jOjIyMDIKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3VwcHJpbWVyIENIRVJSWV9QSUNLX0hFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjIxNzMKKyM6IHNlcXVlbmNlci5jOjIyMTEKIG1zZ2lkICJjYW5ub3QgYW1lbmQgbm9uLWV4aXN0aW5nIGNvbW1pdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb3JyaWdlciB1biBjb21taXQgbm9uLWV4aXN0YW50IgogCi0jOiBzZXF1ZW5jZXIuYzoyMTc1CisjOiBzZXF1ZW5jZXIuYzoyMjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKIG1zZ3N0ciAiZmljaGllciBpbnZhbGlkZcKgOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTc3CisjOiBzZXF1ZW5jZXIuYzoyMjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29udGVudHM6ICclcyciCiBtc2dzdHIgImNvbnRlbnUgaW52YWxpZGUgOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTgwCisjOiBzZXF1ZW5jZXIuYzoyMjE4CiBtc2dpZCAiIgogIlxuIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKQEAgLTMyNTAsMjUgKzM1NDIsMjUgQEAKICJWb3VzIGF2ZXogZGVzIG1vZGlmaWNhdGlvbnMgbm9uIHZhbGlkw6llcyBkYW5zIHZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCiAiVmV1aWxsZXogbGVzIHZhbGlkZXIgZCdhYm9yZCwgcHVpcyByZWxhbmNlciAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJy4iCiAKLSM6IHNlcXVlbmNlci5jOjIxOTAKKyM6IHNlcXVlbmNlci5jOjIyMjgKIG1zZ2lkICJjb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB2YWxpZGVyIGxlcyBtb2RpZmljYXRpb25zIGluZGV4w6llcy4iCiAKLSM6IHNlcXVlbmNlci5jOjIyNzAKKyM6IHNlcXVlbmNlci5jOjIzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkZSBwaWNvcmVyIHVuICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjc0CisjOiBzZXF1ZW5jZXIuYzoyMzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzIDogbWF1dmFpc2UgcsOpdmlzaW9uIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzA3CisjOiBzZXF1ZW5jZXIuYzoyMzQ1CiBtc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5udWxlciBlbiB0YW50IHF1ZSBjb21taXQgaW5pdGlhbCIKIAotIzogc2V0dXAuYzoxNjAKKyM6IHNldHVwLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC0zMjc4LDcgKzM1NzAsNyBAQAogIlV0aWxpc2V6ICdnaXQgPGNvbW1hbmRlPiAtLSA8Y2hlbWluPi4uLicgcG91ciBzcMOpY2lmaWVyIGRlcyBjaGVtaW5zIHF1aSAiCiAibidleGlzdGVudCBwYXMgbG9jYWxlbWVudC4iCiAKLSM6IHNldHVwLmM6MTczCisjOiBzZXR1cC5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTMyODksNyArMzU4MSw3IEBACiAiVXRpbGlzZXogJy0tJyBwb3VyIHPDqXBhcmVyIGxlcyBjaGVtaW5zIGRlcyByw6l2aXNpb25zLCBjb21tZSBjZWNpwqA6XG4iCiAiJ2dpdCA8Y29tbWFuZGU+IFs8csOpdmlzaW9uPi4uLl0gLS0gWzxjaGVtaW4+Li4uXSciCiAKLSM6IHNldHVwLmM6MjIzCisjOiBzZXR1cC5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCkBAIC0zMzAwLDI5ICszNTkyLDM0IEBACiAiVXRpbGlzZXogJy0tJyBwb3VyIHPDqXBhcmVyIGxlcyBjaGVtaW5zIGRlcyByw6l2aXNpb25zLCBjb21tZSBjZWNpwqA6XG4iCiAiJ2dpdCA8Y29tbWFuZGU+IFs8csOpdmlzaW9uPi4uLl0gLS0gWzxjaGVtaW4+Li4uXSciCiAKLSM6IHNldHVwLmM6NDcwCisjOiBzZXR1cC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9ICVkLCBmb3VuZCAlZCIKIG1zZ3N0ciAiVmVyc2lvbiBhdHRlbmR1ZSBkdSBkw6lww7R0IGdpdCA8PSAlZCwgJWQgdHJvdXbDqWUiCiAKLSM6IHNldHVwLmM6NDc4CisjOiBzZXR1cC5jOjUxMgogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAiZXh0ZW5zaW9ucyBkZSBkw6lww7R0IGluY29ubnVlcyB0cm91dsOpZXPCoDoiCiAKLSM6IHNldHVwLmM6NzY4CisjOiBzZXR1cC5jOjgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKIG1zZ3N0ciAiTmkgY2VjaSBuaSBhdWN1biBkZSBzZXMgcsOpcGVydG9pcmVzIHBhcmVudHMgbidlc3QgdW4gZMOpcMO0dCBnaXTCoDogJXMiCiAKLSM6IHNldHVwLmM6NzcwIHNldHVwLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKKyM6IHNldHVwLmM6ODEyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTIKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXZlbmlyIGF1IHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgY291cmFudCIKIAotIzogc2V0dXAuYzo4NTIKKyM6IHNldHVwLmM6MTA1MAogbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIkltcG9zc2libGUgZCdhY2PDqWRlciBhdSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGNvdXJhbnQiCiAKLSM6IHNldHVwLmM6OTI3CisjOiBzZXR1cC5jOjEwNjIgc2V0dXAuYzoxMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzJyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtb2RpZmnDqSBlbiAnJXMnIgorCisjOiBzZXR1cC5jOjEwODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgpAQCAtMzMzMywxMiArMzYzMCw3IEBACiAiQXJyw6p0IMOgIGxhIGxpbWl0ZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSAiCiAibidlc3QgcGFzIGFjdGl2w6kpLiIKIAotIzogc2V0dXAuYzo5MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMvLi4nIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHNlIGTDqXBsYWNlciB2ZXJzIGxlIHLDqXBlcnRvaXJlICclcy8uLiciCi0KLSM6IHNldHVwLmM6OTk2CisjOiBzZXR1cC5jOjExNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKQEAgLTMzNDgsNTggKzM2NDAsNTggQEAKICJMZSBwcm9wcmnDqXRhaXJlIGRlcyBmaWNoaWVycyBkb2l0IHRvdWpvdXJzIGF2b2lyIGxlcyBkcm9pdHMgZW4gbGVjdHVyZSBldCAiCiAiw6ljcml0dXJlLiIKIAotIzogc2hhMV9maWxlLmM6NDkwCisjOiBzaGExX2ZpbGUuYzo1NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJsZSBjaGVtaW4gJyVzJyBuJ2V4aXN0ZSBwYXMiCiAKLSM6IHNoYTFfZmlsZS5jOjUxNgorIzogc2hhMV9maWxlLmM6NTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgogbXNnc3RyICIiCiAiZXh0cmFpcmUgbGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIGNvbW1lIHVuZSBleHRyYWN0aW9uIGxpw6llIG4nZXN0IHBhcyAiCiAiZW5jb3JlIHN1cHBvcnTDqS4iCiAKLSM6IHNoYTFfZmlsZS5jOjUyMgorIzogc2hhMV9maWxlLmM6NTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgImxlIGTDqXDDtHQgZGUgcsOpZsOpcmVuY2UgJyVzJyBuJ2VzdCBwYXMgdW4gZMOpcMO0dCBsb2NhbC4iCiAKLSM6IHNoYTFfZmlsZS5jOjUyOAorIzogc2hhMV9maWxlLmM6NTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKIG1zZ3N0ciAibGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIGVzdCBzdXBlcmZpY2llbCIKIAotIzogc2hhMV9maWxlLmM6NTM2CisjOiBzaGExX2ZpbGUuYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgogbXNnc3RyICJsZSBkw6lww7R0IGRlIHLDqWbDqXJlbmNlICclcycgZXN0IGdyZWZmw6kiCiAKLSM6IHNoYTFfZmlsZS5jOjExNzYKKyM6IHNoYTFfZmlsZS5jOjEyNDUKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAib2Zmc2V0IGF2YW50IGxhIGZpbiBkdSBmaWNoaWVyIHBhcXVldCAoLmlkeCBjYXNzw6nCoD8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNjM3CisjOiBzaGExX2ZpbGUuYzoyNzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAib2Zmc2V0IGF2YW50IGxlIGTDqWJ1dCBkZSBsJ2luZGV4IGRlIHBhcXVldCBwb3VyICVzIChpbmRleCBjb3Jyb21wdcKgPykiCiAKLSM6IHNoYTFfZmlsZS5jOjI2NDEKKyM6IHNoYTFfZmlsZS5jOjI3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFjayBpbmRleCBmb3IgJXMgKHRydW5jYXRlZCBpbmRleD8pIgogbXNnc3RyICIiCiAib2Zmc2V0IGF1IGRlbMOgIGRlIGxhIGZpbiBkZSBsJ2luZGV4IGRlIHBhcXVldCBwb3VyICVzIChpbmRleCB0cm9ucXXDqcKgPykiCiAKLSM6IHNoYTFfbmFtZS5jOjQwNworIzogc2hhMV9uYW1lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IFNIQTEgJXMgaXMgYW1iaWd1b3VzIgogbXNnc3RyICJsZSBTSEExIGNvdXJ0ICVzIGVzdCBhbWJpZ3UiCiAKLSM6IHNoYTFfbmFtZS5jOjQxOAorIzogc2hhMV9uYW1lLmM6NDMwCiBtc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKIG1zZ3N0ciAiTGVzIGNhbmRpZGF0cyBzb250wqA6IgogCi0jOiBzaGExX25hbWUuYzo1NzgKKyM6IHNoYTFfbmFtZS5jOjU4OQogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTM0MTEsNyArMzcwMyw3IEBACiAiZXhhbWluZSB0aGVzZSByZWZzIGFuZCBtYXliZSBkZWxldGUgdGhlbS4gVHVybiB0aGlzIG1lc3NhZ2Ugb2ZmIGJ5XG4iCiAicnVubmluZyBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiBtc2dzdHIgIiIKLSJHaXQgbmUgY3LDqcOpIG5vcm1hbGVtZW50IGphbWFpcyBkZSByw6lmw6lyZW5jZSBxdWkgc2UgdGVybWluZSBwYXIgNDAgY2FyYWN0w6hyZXMgIgorIkdpdCBuZSBjcsOpZSBub3JtYWxlbWVudCBqYW1haXMgZGUgcsOpZsOpcmVuY2UgcXVpIHNlIHRlcm1pbmUgcGFyIDQwIGNhcmFjdMOocmVzICIKICJoZXhhXG4iCiAiY2FyIGVsbGUgc2VyYWl0IGlnbm9yw6llIHNpIHZvdXMgc3DDqWNpZmlpZXogNDAtaGV4YS4gQ2VzIHLDqWbDqXJlbmNlc1xuIgogInBldXZlbnQgw6p0cmUgY3LDqcOpZXMgcGFyIGVycmV1ci4gUGFyIGV4ZW1wbGUsXG4iCkBAIC0zNDI0LDQ3ICszNzE2LDY3IEBACiAibWVzc2FnZVxuIgogImVuIGxhbsOnYW50IFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKIAotIzogc3VibW9kdWxlLmM6NjUgc3VibW9kdWxlLmM6OTkKKyM6IHN1Ym1vZHVsZS5jOjcwIHN1Ym1vZHVsZS5jOjEwNAogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAiTW9kaWZpY2F0aW9uIGltcG9zc2libGUgZGUgLmdpdG1vZHVsZXMgbm9uIGZ1c2lvbm7DqSwgcsOpc29sdmV6IGxlcyBjb25mbGl0cyAiCiAiZCdhYm9yZCIKIAotIzogc3VibW9kdWxlLmM6Njkgc3VibW9kdWxlLmM6MTAzCisjOiBzdWJtb2R1bGUuYzo3NCBzdWJtb2R1bGUuYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIHNlY3Rpb24gb8O5IHBhdGg9JXMgZGFucyAuZ2l0bW9kdWxlcyIKIAotIzogc3VibW9kdWxlLmM6NzcKKyM6IHN1Ym1vZHVsZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbCfDqWzDqW1lbnQgJXMgZGUgLmdpdG1vZHVsZXMiCiAKICMgaWNpICVzIGVzdCB1biBjaGVtaW4KLSM6IHN1Ym1vZHVsZS5jOjExMAorIzogc3VibW9kdWxlLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsJ8OpbMOpbWVudCBkZSAuZ2l0bW9kdWxlcyBwb3VyICVzIgogCi0jOiBzdWJtb2R1bGUuYzoxMjEKKyM6IHN1Ym1vZHVsZS5jOjEyNgogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBtaXNlIGVuIGluZGV4IGR1IC5naXRtb2R1bGVzIG1pcyDDoCBqb3VyIgogCi0jOiBzdWJtb2R1bGUuYzoxNTkKKyM6IHN1Ym1vZHVsZS5jOjE2NQogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlcyBub3QgYWxsb3dlZCBmb3Igc3VibW9kdWxlLmZldGNoSm9icyIKIG1zZ3N0ciAibGVzIHZhbGV1cnMgbsOpZ2F0aXZlcyBuZSBzb250IHBhcyBwZXJtaXNlcyBwb3VyIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiAKLSM6IHN1Ym1vZHVsZS5jOjExODQKKyM6IHN1Ym1vZHVsZS5jOjM3NgogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciCittc2dpZCAiaW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlICclcyciCittc2dzdHIgImRhbnMgbGUgc291cy1tb2R1bGUgJyVzJyBub24gcG9wdWzDqSIKKworIzogc3VibW9kdWxlLmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKK21zZ3N0ciAiTGUgY2hlbWluICclcycgZXN0IGRhbnMgbGUgc291cy1tb2R1bGUgJyUuKnMnIgorCisjOiBzdWJtb2R1bGUuYzoxMzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgcmVjb25udSBjb21tZSBkw6lww7R0IGdpdCIKKworIzogc3VibW9kdWxlLmM6MTQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqW1hcnJlciAnZ2l0IHN0YXR1cycgZGFucyBsZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxMTk3CisjOiBzdWJtb2R1bGUuYzoxNDg4CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciCittc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGFuY2VyICdnaXQgc3RhdHVzJyBkYW5zIGxlIHNvdXMtbW9kdWxlICclcyciCiAKLSM6IHN1Ym1vZHVsZS5jOjEzOTgKKyM6IHN1Ym1vZHVsZS5jOjE1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgorbXNnc3RyICJsZSBzb3VzLW1vZHVsZSAnJXMnIGEgdW4gaW5kZXggc2FsZSIKKworIzogc3VibW9kdWxlLmM6MTg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKQEAgLTM0NzIsMTggKzM3ODQsMTggQEAKICJyZWxvY2F0ZV9naXRkaXIgcG91ciBsZSBzb3VzLW1vZHVsZSAnJXMnIGF2ZWMgcGx1cyBkJ3VuIGFyYnJlIGRlIHRyYXZhaWwgIgogIm4nZXN0IHBhcyBzdXBwb3J0w6kiCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MTAgc3VibW9kdWxlLmM6MTQ3MQorIzogc3VibW9kdWxlLmM6MTg1NyBzdWJtb2R1bGUuYzoxOTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgbmFtZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlIGxlIG5vbSBwb3VyIGxlIHNvdXMtbW9kdWxlICclcyciCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MTQgc3VibW9kdWxlLmM6MTQ3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUwCisjOiBzdWJtb2R1bGUuYzoxODYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MTQyMAorIzogc3VibW9kdWxlLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiIKQEAgLTM0OTQsODEgKzM4MDYsOTQgQEAKICInJXMnIHN1clxuIgogIiclcydcbiIKIAotIzogc3VibW9kdWxlLmM6MTUxMgorIzogc3VibW9kdWxlLmM6MTk0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJyw6ljdXJzaW9uIGltcG9zc2libGUgZGFucyBsZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzYwCisjOiBzdWJtb2R1bGUuYzoxOTkyCittc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqW1hcnJlciBscy1maWxlcyBkYW5zIC4uIgorCisjOiBzdWJtb2R1bGUuYzoyMDEyCittc2dpZCAiQlVHOiByZXR1cm5lZCBwYXRoIHN0cmluZyBkb2Vzbid0IG1hdGNoIGN3ZD8iCittc2dzdHIgIkJVR8KgOiBsZSBjaGVtaW4gcmVudm95w6kgbmUgY29ycmVzcG9uZCBwYXMgw6AgY3dkwqA/IgorCisjOiBzdWJtb2R1bGUuYzoyMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKK21zZ3N0ciAibHMtdHJlZSBhIHJlbnZvecOpIHVuIGNvZGUgZGUgcmV0b3VyIGluYXR0ZW5kdSAlZCIKKworIzogc3VibW9kdWxlLWNvbmZpZy5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIHBvdXIgJXMiCiAKLSM6IHRyYWlsZXIuYzoyNDAKKyM6IHRyYWlsZXIuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVubmluZyB0cmFpbGVyIGNvbW1hbmQgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjb21tYW5kZSB0cmFpbGVyICclcyciCiAKLSM6IHRyYWlsZXIuYzo0NzMgdHJhaWxlci5jOjQ3NyB0cmFpbGVyLmM6NDgxIHRyYWlsZXIuYzo1MzUgdHJhaWxlci5jOjUzOQotIzogdHJhaWxlci5jOjU0MworIzogdHJhaWxlci5jOjQ3NCB0cmFpbGVyLmM6NDc4IHRyYWlsZXIuYzo0ODIgdHJhaWxlci5jOjUzNiB0cmFpbGVyLmM6NTQwCisjOiB0cmFpbGVyLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgInZhbGV1ciBpbmNvbm51ZSAnJXMnIHBvdXIgbGEgY2zDqSAnJXMnIgogCi0jOiB0cmFpbGVyLmM6NTI1IHRyYWlsZXIuYzo1MzAgYnVpbHRpbi9yZW1vdGUuYzoyODkKKyM6IHRyYWlsZXIuYzo1MjYgdHJhaWxlci5jOjUzMSBidWlsdGluL3JlbW90ZS5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICJwbHVzIGQndW4gJXMiCiAKLSM6IHRyYWlsZXIuYzo3MDIKKyM6IHRyYWlsZXIuYzo3MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKIG1zZ3N0ciAic3ltYm9sZSB2aWRlIGRhbnMgbGEgbGlnbmUgZGUgZmluICclLipzJyIKIAotIzogdHJhaWxlci5jOjcyMgorIzogdHJhaWxlci5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbnB1dCBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBmaWNoaWVyIGQnZW50csOpZSAnJXMnIgogCi0jOiB0cmFpbGVyLmM6NzI1CisjOiB0cmFpbGVyLmM6NzI2CiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IHRyYWlsZXIuYzo5NDkgYnVpbHRpbi9hbS5jOjQ0CisjOiB0cmFpbGVyLmM6OTUwIGJ1aWx0aW4vYW0uYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAic3RhdCBpbXBvc3NpYmxlIGRlICVzIgogCi0jOiB0cmFpbGVyLmM6OTUxCisjOiB0cmFpbGVyLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gZmljaGllciByw6lndWxpZXIiCiAKLSM6IHRyYWlsZXIuYzo5NTMKKyM6IHRyYWlsZXIuYzo5NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3Qgd3JpdGFibGUgYnkgdXNlciIKIG1zZ3N0ciAibGUgZmljaGllciAlcyBuJ2VzdCBwYXMgaW5zY3JpcHRpYmxlIHBhciBsJ3V0aWxpc2F0ZXVyIgogCi0jOiB0cmFpbGVyLmM6OTY1CisjOiB0cmFpbGVyLmM6OTY2CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIHVuIGZpY2hpZXIgdGVtcG9yYWlyZSIKIAotIzogdHJhaWxlci5jOjEwMDEKKyM6IHRyYWlsZXIuYzoxMDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVub21tZXIgdW4gZmljaGllciB0ZW1wb3JhaXJlIGVuICVzIgogCi0jOiB0cmFuc3BvcnQuYzo2MgorIzogdHJhbnNwb3J0LmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCiBtc2dzdHIgIlBvc2l0aW9ubmVyYWl0IGxhIGJyYW5jaGUgYW1vbnQgZGUgJyVzJyBzdXIgJyVzJyBkZSAnJXMnXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjE1MQorIzogdHJhbnNwb3J0LmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKIG1zZ3N0ciAidHJhbnNwb3J0wqA6IG9wdGlvbiBkZSBwcm9mb25kZXVyIGludmFsaWRlICclcyciCiAKLSM6IHRyYW5zcG9ydC5jOjg4NQorIzogdHJhbnNwb3J0LmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKQEAgLTM1NzcsNyArMzkwMiw3IEBACiAiTGVzIGNoZW1pbnMgc3VpdmFudCBkZSBzb3VzLW1vZHVsZSBjb250aWVubmVudCBkZXMgbW9kaWZpY2F0aW9uc1xuIgogInF1aSBuZSBwZXV2ZW50IMOqdHJlIHRyb3V2w6llcyBzdXIgYXVjdW4gZGlzdGFudMKgOlxuIgogCi0jOiB0cmFuc3BvcnQuYzo4ODkKKyM6IHRyYW5zcG9ydC5jOjg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zNjA0LDExICszOTI5LDExIEBACiAicG91ciBsZXMgcG91c3NlciB2ZXJzIHVuIHNlcnZldXIgZGlzdGFudC5cbiIKICJcbiIKIAotIzogdHJhbnNwb3J0LmM6ODk3CisjOiB0cmFuc3BvcnQuYzo5MDIKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIkFiYW5kb24uIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA4MgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGEgcsOpZiAlcyIKQEAgLTM2MjksNyArMzk1NCw3IEBACiBtc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKIG1zZ3N0ciAiZmljaGllciBhcmJyZSB0cm9wIGNvdXJ0IgogCi0jOiB1bnBhY2stdHJlZXMuYzo5OQorIzogdW5wYWNrLXRyZWVzLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKQEAgLTM2NDAsNyArMzk2NSw3IEBACiAiJSVzVmV1aWxsZXogdmFsaWRlciBvdSByZW1pc2VyIHZvcyBtb2RpZmljYXRpb25zIGF2YW50IGRlIGJhc2N1bGVyIGRlICIKICJicmFuY2hlLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTAxCisjOiB1bnBhY2stdHJlZXMuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzY1MCw3ICszOTc1LDcgQEAKICJsJ2V4dHJhY3Rpb27CoDpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEwNAorIzogdW5wYWNrLXRyZWVzLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTM2NjAsNyArMzk4NSw3IEBACiAiZnVzaW9uwqA6XG4iCiAiJSVzVmV1aWxsZXogdmFsaWRlciBvdSByZW1pc2VyIHZvcyBtb2RpZmljYXRpb25zIGF2YW50IGxhIGZ1c2lvbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEwNgorIzogdW5wYWNrLXRyZWVzLmM6MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTM2NzAsNyArMzk5NSw3IEBACiAiZnVzaW9uwqA6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDkKKyM6IHVucGFjay10cmVlcy5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC0zNjc5LDcgKzQwMDQsNyBAQAogIlZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgYXV4IGZpY2hpZXJzIHN1aXZhbnRzIHNlcmFpZW50IMOpY3Jhc8OpZXMgcGFyICVzwqA6XG4iCiAiJSVzVmV1aWxsZXogdmFsaWRlciBvdSByZW1pc2VyIHZvcyBtb2RpZmljYXRpb25zIGF2YW50ICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTExCisjOiB1bnBhY2stdHJlZXMuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzY4OCw3ICs0MDEzLDcgQEAKICJWb3MgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIGF1eCBmaWNoaWVycyBzdWl2YW50cyBzZXJhaWVudCDDqWNyYXPDqWVzIHBhciAlc8KgOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE2CisjOiB1bnBhY2stdHJlZXMuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVwZGF0aW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgd291bGQgbG9zZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlbTpcbiIKQEAgLTM2OTgsNyArNDAyMyw3IEBACiAiY29udGVudXPCoDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIwCisjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzcwOCw3ICs0MDMzLDcgQEAKICJsJ2V4dHJhY3Rpb27CoDpcbiIKICIlJXNWZXVpbGxleiByZW5vbW1lciBvdSBlZmZhY2VyIGNlcyBmaWNoaWVycyBhdmFudCBkZSBiYXNjdWxlciBkZSBicmFuY2hlLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIyCisjOiB1bnBhY2stdHJlZXMuYzoxMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzcxNyw3ICs0MDQyLDcgQEAKICJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBzZXJhaWVudCBlZmZhY8OpcyBwYXIgbCdleHRyYWN0aW9uwqA6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjUKKyM6IHVucGFjay10cmVlcy5jOjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCkBAIC0zNzI3LDcgKzQwNTIsNyBAQAogImxhIGZ1c2lvbsKgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50IGxhIGZ1c2lvbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNworIzogdW5wYWNrLXRyZWVzLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTM3MzYsNyArNDA2MSw3IEBACiAiTGVzIGZpY2hpZXJzIHN1aXZhbnRzIG5vbiBzdWl2aXMgc2VyYWllbnQgZWZmYWPDqXMgcGFyIGxhIGZ1c2lvbsKgOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTMwCisjOiB1bnBhY2stdHJlZXMuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtMzc0Niw3ICs0MDcxLDcgQEAKICIlc8KgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50ICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTMyCisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtMzc1NSw3ICs0MDgwLDcgQEAKICJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBzZXJhaWVudCBlZmZhY8OpcyBwYXIgJXPCoDpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzNworIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtMzc2Niw3ICs0MDkxLDcgQEAKICJsJ2V4dHJhY3Rpb27CoDpcbiIKICIlJXNWZXVpbGxleiByZW5vbW1lciBvdSBlZmZhY2VyIGNlcyBmaWNoaWVycyBhdmFudCBkZSBiYXNjdWxlciBkZSBicmFuY2hlLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM5CisjOiB1bnBhY2stdHJlZXMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC0zNzc2LDcgKzQxMDEsNyBAQAogIkxlcyBmaWNoaWVycyBzdWl2YW50cyBub24gc3VpdmlzIHNlcmFpZW50IMOpY3Jhc8OpcyBwYXIgbCdleHRyYWN0aW9uwqA6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDIKKyM6IHVucGFjay10cmVlcy5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzc4Niw3ICs0MTExLDcgQEAKICJsYSBmdXNpb27CoDpcbiIKICIlJXNWZXVpbGxleiByZW5vbW1lciBvdSBlZmZhY2VyIGNlcyBmaWNoaWVycyBhdmFudCBsYSBmdXNpb24uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDQKKyM6IHVucGFjay10cmVlcy5jOjE1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzc5NSw3ICs0MTIwLDcgQEAKICJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBzZXJhaWVudCDDqWNyYXPDqXMgcGFyIGxhIGZ1c2lvbsKgOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ3CisjOiB1bnBhY2stdHJlZXMuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM4MDUsNyArNDEzMCw3IEBACiAiJXPCoDpcbiIKICIlJXNWZXVpbGxleiByZW5vbW1lciBvdSBlZmZhY2VyIGNlcyBmaWNoaWVycyBhdmFudCAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0OQorIzogdW5wYWNrLXRyZWVzLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC0zODE0LDEyICs0MTM5LDEyIEBACiAiTGVzIGZpY2hpZXJzIHN1aXZhbnRzIG5vbiBzdWl2aXMgc2VyYWllbnQgw6ljcmFzw6lzIHBhciAlc8KgOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU2CisjOiB1bnBhY2stdHJlZXMuYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRW50cnkgJyVzJyBvdmVybGFwcyB3aXRoICclcycuICBDYW5ub3QgYmluZC4iCiBtc2dzdHIgIkwnZW50csOpZSAnJXMnIHN1cmNoYXJnZSBhdmVjICclcycuIEFmZmVjdGF0aW9uIGltcG9zc2libGUuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTkKKyM6IHVucGFjay10cmVlcy5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwLXRvLWRhdGU6XG4iCkBAIC0zODI5LDcgKzQxNTQsNyBAQAogInBhcyDDoCBqb3VywqA6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MQorIzogdW5wYWNrLXRyZWVzLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtMzg0MCw3ICs0MTY1LDcgQEAKICJqb3VyIHBhciBsJ2V4dHJhY3Rpb24gY3JldXNlwqA6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC0zODUxLDIzMCArNDE3NiwyNTIgQEAKICLDoCBqb3VyIHBhciBleHRyYWN0aW9uIGNyZXVzZcKgOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNDAKKyM6IHVucGFjay10cmVlcy5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCisiJXMiCittc2dzdHIgIiIKKyJNaXNlIMOgIGpvdXIgaW1wb3NzaWJsZSBwb3VyIGxlIHNvdXMtbW9kdWxlwqA6XG4iCisiJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjI0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZ1xuIgogbXNnc3RyICJBYmFuZG9uXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjI3MAorIzogdW5wYWNrLXRyZWVzLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSB1cGRhdGUgc3RyYXRlZ3kgbm90IHN1cHBvcnRlZCBmb3Igc3VibW9kdWxlICclcyciCittc2dzdHIgIiIKKyJzdHJhdMOpZ2llIGRlIG1pc2Ugw6Agam91ciBkZSBzb3VzLW1vZHVsZSBub24gc3VwcG9ydMOpZSBwb3VyIGxlIHNvdXMtbW9kdWxlICIKKyInJXMnIgorCisjOiB1bnBhY2stdHJlZXMuYzozNDYKIG1zZ2lkICJDaGVja2luZyBvdXQgZmlsZXMiCiBtc2dzdHIgIkV4dHJhY3Rpb24gZGVzIGZpY2hpZXJzIgogCi0jOiB1cmxtYXRjaC5jOjEyMAorIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAibm9tIGRlIHNjaMOpbWEgZCdVUkwgaW52YWxpZGUgb3Ugc3VmZml4ZSAnOi8vJyBtYW5xdWFudCIKIAotIzogdXJsbWF0Y2guYzoxNDQgdXJsbWF0Y2guYzoyOTcgdXJsbWF0Y2guYzozNTYKKyM6IHVybG1hdGNoLmM6MTg3IHVybG1hdGNoLmM6MzQ2IHVybG1hdGNoLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKIG1zZ3N0ciAic8OpcXVlbmNlIGQnw6ljaGFwcGVtZW50ICVYWCBpbnZhbGlkZSIKIAotIzogdXJsbWF0Y2guYzoxNzIKKyM6IHVybG1hdGNoLmM6MjE1CiBtc2dpZCAibWlzc2luZyBob3N0IGFuZCBzY2hlbWUgaXMgbm90ICdmaWxlOiciCiBtc2dzdHIgImjDtHRlIG1hbnF1YW50IGV0IGxlIHNjaMOpbWEgbidlc3QgcGFzICdmaWxlOiciCiAKLSM6IHVybG1hdGNoLmM6MTg5CisjOiB1cmxtYXRjaC5jOjIzMgogbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCiBtc2dzdHIgInVuZSBVUkwgJ2ZpbGU6JyBuZSBwZXV0IHBhcyBjb250ZW5pciBkZSBudW3DqXJvIGRlIHBvcnQiCiAKLSM6IHVybG1hdGNoLmM6MTk5CisjOiB1cmxtYXRjaC5jOjI0NwogbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCiBtc2dzdHIgImNhcmFjdMOocmVzIGludmFsaWRlcyBkYW5zIGxlIG5vbSBkJ2jDtHRlIgogCi0jOiB1cmxtYXRjaC5jOjI0NCB1cmxtYXRjaC5jOjI1NQorIzogdXJsbWF0Y2guYzoyOTIgdXJsbWF0Y2guYzozMDMKIG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgogbXNnc3RyICJudW3DqXJvIGRlIHBvcnQgaW52YWxpZGUiCiAKLSM6IHVybG1hdGNoLmM6MzIyCisjOiB1cmxtYXRjaC5jOjM3MQogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgInNlZ21lbnQgZGUgY2hlbWluICcuLicgaW52YWxpZGUiCiAKLSM6IHdvcmt0cmVlLmM6MjgyCisjOiB3b3JrdHJlZS5jOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgbGVjdHVyZSBkZSAnJXMnIgogCi0jOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozOTIKKyM6IHdyYXBwZXIuYzoyMjMgd3JhcHBlci5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICclcycgZW4gbGVjdHVyZS/DqWNyaXR1cmUiCiAKLSM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM5NCBidWlsdGluL2FtLmM6NzY2CisjOiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUgYnVpbHRpbi9hbS5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICclcycgZW4gw6ljcml0dXJlIgogCi0jOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozOTYgYnVpbHRpbi9hbS5jOjMyMCBidWlsdGluL2FtLmM6NzU5Ci0jOiBidWlsdGluL2FtLmM6ODQ3IGJ1aWx0aW4vY29tbWl0LmM6MTcwMCBidWlsdGluL21lcmdlLmM6MTAzMwotIzogYnVpbHRpbi9wdWxsLmM6MzQxCisjOiB3cmFwcGVyLmM6MjI3IHdyYXBwZXIuYzozOTcgYnVpbHRpbi9hbS5jOjMxOSBidWlsdGluL2FtLmM6NzU3CisjOiBidWlsdGluL2FtLmM6ODQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiBsZWN0dXJlIgogCi0jOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKKyM6IHdyYXBwZXIuYzo0MjQgd3JhcHBlci5jOjYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdhY2PDqWRlciDDoCAnJXMnIgogCi0jOiB3cmFwcGVyLmM6NjM0CisjOiB3cmFwcGVyLmM6NjMyCiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYWNjw6lkZXIgYXUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBjb3VyYW50IgogCi0jOiB3cmFwcGVyLmM6NjU4CisjOiB3cmFwcGVyLmM6NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgZGFucyAlcyIKIAotIzogd3JhcHBlci5jOjY2MAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmVybWVyICVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTEKKyM6IHd0LXN0YXR1cy5jOjE1MgogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiQ2hlbWlucyBub24gZnVzaW9ubsOpcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoxNzggd3Qtc3RhdHVzLmM6MjA1CisjOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcmVzZXQgJXMgPGZpY2hpZXI+Li4uXCIgcG91ciBkw6lzaW5kZXhlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MCB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoyMDgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWNoaWVyPi4uLlwiIHBvdXIgZMOpc2luZGV4ZXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxODQKKyM6IHd0LXN0YXR1cy5jOjE4NQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYWRkIDxmaWNoaWVyPi4uLlwiIHBvdXIgbWFycXVlciBjb21tZSByw6lzb2x1KSIKIAotIzogd3Qtc3RhdHVzLmM6MTg2IHd0LXN0YXR1cy5jOjE5MAorIzogd3Qtc3RhdHVzLmM6MTg3IHd0LXN0YXR1cy5jOjE5MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZC9ybSA8ZmljaGllcj4uLi5cIiBzaSBuw6ljZXNzYWlyZSBwb3VyIG1hcnF1ZXIgY29tbWUgIgogInLDqXNvbHUpIgogCi0jOiB3dC1zdGF0dXMuYzoxODgKKyM6IHd0LXN0YXR1cy5jOjE4OQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBybSA8ZmljaGllcj4uLi5cIiBwb3VyIG1hcnF1ZXIgY29tbWUgcsOpc29sdSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKKyM6IHd0LXN0YXR1cy5jOjIwMCB3dC1zdGF0dXMuYzo5ODEKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIk1vZGlmaWNhdGlvbnMgcXVpIHNlcm9udCB2YWxpZMOpZXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAorIzogd3Qtc3RhdHVzLmM6MjE4IHd0LXN0YXR1cy5jOjk5MAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBxdWkgbmUgc2Vyb250IHBhcyB2YWxpZMOpZXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjIxCisjOiB3dC1zdGF0dXMuYzoyMjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZCA8ZmljaGllcj4uLi5cIiBwb3VyIG1ldHRyZSDDoCBqb3VyIGNlIHF1aSBzZXJhIHZhbGlkw6kpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjMKKyM6IHd0LXN0YXR1cy5jOjIyNAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAodXRpbGlzZXogXCJnaXQgYWRkL3JtIDxmaWNoaWVyPi4uLlwiIHBvdXIgbWV0dHJlIMOgIGpvdXIgY2UgcXVpIHNlcmEgIgogInZhbGlkw6kpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjQKKyM6IHd0LXN0YXR1cy5jOjIyNQogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiIgogIiAgKHV0aWxpc2V6IFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWNoaWVyPi4uLlwiIHBvdXIgYW5udWxlciBsZXMgbW9kaWZpY2F0aW9ucyAiCiAiZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI2CisjOiB3dC1zdGF0dXMuYzoyMjcKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKICIgICh2YWxpZGVyIG91IGFubnVsZXIgbGUgY29udGVudSBub24gc3Vpdmkgb3UgbW9kaWZpw6kgZGFucyBsZXMgc291cy1tb2R1bGVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MjM4CisjOiB3dC1zdGF0dXMuYzoyMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgICh1dGlsaXNleiBcImdpdCAlcyA8ZmljaGllcj4uLi5cIiBwb3VyIGluY2x1cmUgZGFucyBjZSBxdWkgc2VyYSB2YWxpZMOpKSIKIAotIzogd3Qtc3RhdHVzLmM6MjUzCisjOiB3dC1zdGF0dXMuYzoyNTQKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICJzdXBwcmltw6kgZGVzIGRldXggY8O0dMOpcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI1NgogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYWpvdXTDqSBwYXIgbm91cyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTcKKyM6IHd0LXN0YXR1cy5jOjI1OAogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgInN1cHByaW3DqSBwYXIgZXV4IDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1OQorIzogd3Qtc3RhdHVzLmM6MjYwCiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgImFqb3V0w6kgcGFyIGV1eCA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjEKKyM6IHd0LXN0YXR1cy5jOjI2MgogbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgogbXNnc3RyICJzdXBwcmltw6kgcGFyIG5vdXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYzCisjOiB3dC1zdGF0dXMuYzoyNjQKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAiYWpvdXTDqSBkZSBkZXV4IGPDtHTDqXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY1CisjOiB3dC1zdGF0dXMuYzoyNjYKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAibW9kaWZpw6kgZGVzIGRldXggY8O0dMOpcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzUKKyM6IHd0LXN0YXR1cy5jOjI3NgogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAibm91dmVhdSBmaWNoaWVywqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzcKKyM6IHd0LXN0YXR1cy5jOjI3OAogbXNnaWQgImNvcGllZDoiCiBtc2dzdHIgImNvcGnDqcKgOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc5CisjOiB3dC1zdGF0dXMuYzoyODAKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAic3VwcHJpbcOpwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyODEKKyM6IHd0LXN0YXR1cy5jOjI4MgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAibW9kaWZpw6nCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MworIzogd3Qtc3RhdHVzLmM6Mjg0CiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgInJlbm9tbcOpwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyODUKKyM6IHd0LXN0YXR1cy5jOjI4NgogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICJtb2RpZi4gdHlwZcKgOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg3CisjOiB3dC1zdGF0dXMuYzoyODgKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAiaW5jb25udcKgOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg5CisjOiB3dC1zdGF0dXMuYzoyOTAKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgIm5vbiBmdXNpb25uw6nCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MQorIzogd3Qtc3RhdHVzLmM6MzcyCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAibm91dmVhdXggY29tbWl0cywgIgogCi0jOiB3dC1zdGF0dXMuYzozNzMKKyM6IHd0LXN0YXR1cy5jOjM3NAogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGVudSBtb2RpZmnDqSwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzUKKyM6IHd0LXN0YXR1cy5jOjM3NgogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgImNvbnRlbnUgbm9uIHN1aXZpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjgxOAorIzogd3Qtc3RhdHVzLmM6ODIxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyeSIKK21zZ2lkX3BsdXJhbCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJpZXMiCittc2dzdHJbMF0gIlZvdHJlIHJlbWlzYWdlIGNvbnRpZW50IGFjdHVlbGxlbWVudCAlZCBlbnRyw6llIgorbXNnc3RyWzFdICJWb3RyZSByZW1pc2FnZSBjb250aWVudCBhY3R1ZWxsZW1lbnQgJWQgZW50csOpZXMiCisKKyM6IHd0LXN0YXR1cy5jOjg1MwogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICJTb3VzLW1vZHVsZXMgbW9kaWZpw6lzIG1haXMgbm9uIG1pcyDDoCBqb3VyIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMAorIzogd3Qtc3RhdHVzLmM6ODU1CiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiQ2hhbmdlbWVudHMgZHUgc291cy1tb2R1bGUgw6AgdmFsaWRlciA6IgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjkzNwogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgpAQCAtNDA4MiwxMDcgKzQ0MjksMTA3IEBACiAiTmUgdG91Y2hleiBwYXMgw6AgbGEgbGlnbmUgY2ktZGVzc3VzXG4iCiAiVG91dCBjZSBxdWkgc3VpdCBzZXJhIMOpbGltaW7DqS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTMKKyM6IHd0LXN0YXR1cy5jOjEwNDkKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIlZvdXMgYXZleiBkZXMgY2hlbWlucyBub24gZnVzaW9ubsOpcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTYKKyM6IHd0LXN0YXR1cy5jOjEwNTIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCBjb21taXRcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTgKKyM6IHd0LXN0YXR1cy5jOjEwNTQKIG1zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBwb3VyIGFubnVsZXIgbGEgZnVzaW9uKSIKIAotIzogd3Qtc3RhdHVzLmM6MTAyMworIzogd3Qtc3RhdHVzLmM6MTA1OQogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlRvdXMgbGVzIGNvbmZsaXRzIHNvbnQgcsOpZ2zDqXMgbWFpcyBsYSBmdXNpb24gbidlc3QgcGFzIHRlcm1pbsOpZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMjYKKyM6IHd0LXN0YXR1cy5jOjEwNjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBjb21taXRcIiBwb3VyIHRlcm1pbmVyIGxhIGZ1c2lvbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzYKKyM6IHd0LXN0YXR1cy5jOjEwNzIKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgYXUgbWlsaWV1IGQndW5lIHNlc3Npb24gYW0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMDM5CisjOiB3dC1zdGF0dXMuYzoxMDc1CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJMZSBwYXRjaCBhY3R1ZWwgZXN0IHZpZGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDQzCisjOiB3dC1zdGF0dXMuYzoxMDc5CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NQorIzogd3Qtc3RhdHVzLmM6MTA4MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBhbSAtLXNraXBcIiBwb3VyIHNhdXRlciBjZSBwYXRjaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEwNDcKKyM6IHd0LXN0YXR1cy5jOjEwODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGFtIC0tYWJvcnRcIiBwb3VyIHJlc3RhdXJlciBsYSBicmFuY2hlIGQnb3JpZ2luZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzYKKyM6IHd0LXN0YXR1cy5jOjEyMTQKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kbyBlc3QgbWFucXVhbnQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc4CisjOiB3dC1zdGF0dXMuYzoxMjE2CiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIkF1Y3VuZSBjb21tYW5kZSByw6lhbGlzw6llLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MQorIzogd3Qtc3RhdHVzLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICJEZXJuacOocmUgY29tbWFuZGUgZWZmZWN0dcOpZSAoJWQgY29tbWFuZGUgZWZmZWN0dcOpZSnCoDoiCiBtc2dzdHJbMV0gIkRlcm5pw6hyZXMgY29tbWFuZGVzIGVmZmVjdHXDqWVzICglZCBjb21tYW5kZXMgZWZmZWN0dcOpZXMpwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTkyCisjOiB3dC1zdGF0dXMuYzoxMjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICh2b2lyIHBsdXMgZGFucyBsZSBmaWNoaWVyICVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE5NworIzogd3Qtc3RhdHVzLmM6MTIzNQogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgIkF1Y3VuZSBjb21tYW5kZSByZXN0YW50ZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDAKKyM6IHd0LXN0YXR1cy5jOjEyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKIG1zZ3N0clswXSAiUHJvY2hhaW5lIGNvbW1hbmRlIMOgIGVmZmVjdHVlciAoJWQgY29tbWFuZGUgcmVzdGFudGUpwqA6IgogbXNnc3RyWzFdICJQcm9jaGFpbmVzIGNvbW1hbmRlcyDDoCBlZmZlY3R1ZXIgKCVkIGNvbW1hbmRlcyByZXN0YW50ZXMpwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjA4CisjOiB3dC1zdGF0dXMuYzoxMjQ2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiBwb3VyIHZvaXIgZXQgw6lkaXRlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjEKKyM6IHd0LXN0YXR1cy5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gdHJhaW4gZGUgcmViYXNlciBsYSBicmFuY2hlICclcycgc3VyICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI2CisjOiB3dC1zdGF0dXMuYzoxMjY0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIHRyYWluIGRlIHJlYmFzZXIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMjc4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDqWdsZXogbGVzIGNvbmZsaXRzIHB1aXMgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQyCisjOiB3dC1zdGF0dXMuYzoxMjgwCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1za2lwXCIgcG91ciBzYXV0ZXIgY2UgcGF0Y2gpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ0CisjOiB3dC1zdGF0dXMuYzoxMjgyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHBvdXIgZXh0cmFpcmUgbGEgYnJhbmNoZSBkJ29yaWdpbmUpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUwCisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU0CisjOiB3dC1zdGF0dXMuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC00MTkwLDEyNCArNDUzNywxMjggQEAKICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkZSBmcmFjdGlvbm5lciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZSAiCiAiZGUgbGEgYnJhbmNoZSAnJXMnIHN1ciAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1OQorIzogd3Qtc3RhdHVzLmM6MTI5NwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICIiCiAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZGUgZnJhY3Rpb25uZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcmViYXNhZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYyCisjOiB3dC1zdGF0dXMuYzoxMzAwCiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChVbmUgZm9pcyBsYSBjb3BpZSBkZSB0cmF2YWlsIG5ldHRvecOpZSwgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY2CisjOiB3dC1zdGF0dXMuYzoxMzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkJ8OpZGl0ZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcmViYXNhZ2UgZGUgbGEgIgogImJyYW5jaGUgJyVzJyBzdXIgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzEKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkJ8OpZGl0ZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcmViYXNhZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjc0CisjOiB3dC1zdGF0dXMuYzoxMzEyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY29tbWl0IC0tYW1lbmRcIiBwb3VyIGNvcnJpZ2VyIGxlIGNvbW1pdCBhY3R1ZWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzE0CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAiICAodXRpbGlzZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBxdWFuZCB2b3VzIGF2ZXogZWZmZWN0dcOpIHRvdXRlcyB2b3MgIgogIm1vZGlmaWNhdGlvbnMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjg2CisjOiB3dC1zdGF0dXMuYzoxMzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIHBpY29yZXIgbGUgY29tbWl0ICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI5MQorIzogd3Qtc3RhdHVzLmM6MTMyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjk0CisjOiB3dC1zdGF0dXMuYzoxMzMyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTYKKyM6IHd0LXN0YXR1cy5jOjEzMzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHBvdXIgYW5udWxlciBsZSBwaWNvcmFnZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDUKKyM6IHd0LXN0YXR1cy5jOjEzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIHLDqXRhYmxpciBsZSBjb21taXQgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzEwCisjOiB3dC1zdGF0dXMuYzoxMzQ4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMxMworIzogd3Qtc3RhdHVzLmM6MTM1MQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAodG91cyBsZXMgY29uZmxpdHMgc29udCByw6lnbMOpcyA6IGxhbmNleiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMxNQorIzogd3Qtc3RhdHVzLmM6MTM1MwogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJldmVydCAtLWFib3J0XCIgcG91ciBhbm51bGVyIGxlIHLDqXRhYmxpc3NlbWVudCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjYKKyM6IHd0LXN0YXR1cy5jOjEzNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIGNvdXJzIGRlIGJpc3NlY3Rpb24sIGRlcHVpcyBsYSBicmFuY2hlICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMwCisjOiB3dC1zdGF0dXMuYzoxMzY4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiBjb3VycyBkZSBiaXNzZWN0aW9uLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMworIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYmlzZWN0IHJlc2V0XCIgcG91ciByZXZlbmlyIMOgIGxhIGJyYW5jaGUgZCdvcmlnaW5lKSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU2OAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgIlN1ciBsYSBicmFuY2hlICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNgorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgInJlYmFzYWdlIGludGVyYWN0aWYgZW4gY291cnMgOyBzdXIgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM4CisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNhZ2UgZW4gY291cnMgOyBzdXIgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQzCisjOiB3dC1zdGF0dXMuYzoxNTgxCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgIkhFQUQgZMOpdGFjaMOpZSBzdXIgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ1CisjOiB3dC1zdGF0dXMuYzoxNTgzCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiSEVBRCBkw6l0YWNow6llIGRlcHVpcyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDgKKyM6IHd0LXN0YXR1cy5jOjE1ODYKIG1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgogbXNnc3RyICJBY3R1ZWxsZW1lbnQgc3VyIGF1Y3VuIGJyYW5jaGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTY2CisjOiB3dC1zdGF0dXMuYzoxNjA2CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIlZhbGlkYXRpb24gaW5pdGlhbGUiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODAKKyM6IHd0LXN0YXR1cy5jOjE2MDcKK21zZ2lkICJObyBjb21taXRzIHlldCIKK21zZ3N0ciAiQXVjdW4gY29tbWl0IgorCisjOiB3dC1zdGF0dXMuYzoxNjIxCiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJGaWNoaWVycyBub24gc3VpdmlzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTgyCisjOiB3dC1zdGF0dXMuYzoxNjIzCiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiRmljaGllcnMgaWdub3LDqXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODYKKyM6IHd0LXN0YXR1cy5jOjE2MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTQzMTksMzIgKzQ2NzAsMzIgQEAKICJvdWJsaWVyIGQnYWpvdXRlciBsZXMgbm91dmVhdXggZmljaGllcnMgcGFyIHZvdXMtbcOqbWUgKHZvaXIgJ2dpdCBoZWxwICIKICJzdGF0dXMnKS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTIKKyM6IHd0LXN0YXR1cy5jOjE2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiRmljaGllcnMgbm9uIHN1aXZpcyBub24gYWZmaWNow6lzJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTQKKyM6IHd0LXN0YXR1cy5jOjE2MzUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKHV0aWxpc2V6IC11IHBvdXIgYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjAwCisjOiB3dC1zdGF0dXMuYzoxNjQxCiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiQXVjdW5lIG1vZGlmaWNhdGlvbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYwNQorIzogd3Qtc3RhdHVzLmM6MTY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogImF1Y3VuZSBtb2RpZmljYXRpb24gbidhIMOpdMOpIGFqb3V0w6llIMOgIGxhIHZhbGlkYXRpb24gKHV0aWxpc2V6IFwiZ2l0IGFkZFwiIG91ICIKICJcImdpdCBjb21taXQgLWFcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYwOAorIzogd3Qtc3RhdHVzLmM6MTY0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICJhdWN1bmUgbW9kaWZpY2F0aW9uIGFqb3V0w6llIMOgIGxhIHZhbGlkYXRpb25cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYxMQorIzogd3Qtc3RhdHVzLmM6MTY1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtNDM1MywzMzkgKzQ3MDQsMzc0IEBACiAiYXVjdW5lIG1vZGlmaWNhdGlvbiBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uIG1haXMgZGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgIgogInNvbnQgcHLDqXNlbnRzICh1dGlsaXNleiBcImdpdCBhZGRcIiBwb3VyIGxlcyBzdWl2cmUpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTQKKyM6IHd0LXN0YXR1cy5jOjE2NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIiIKICJhdWN1bmUgbW9kaWZpY2F0aW9uIGFqb3V0w6llIMOgIGxhIHZhbGlkYXRpb24gbWFpcyBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyAiCiAic29udCBwcsOpc2VudHNcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYxNworIzogd3Qtc3RhdHVzLmM6MTY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogInJpZW4gw6AgdmFsaWRlciAoY3LDqWV6L2NvcGlleiBkZXMgZmljaGllcnMgZXQgdXRpbGlzZXogXCJnaXQgYWRkXCIgcG91ciBsZXMgIgogInN1aXZyZSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMCB3dC1zdGF0dXMuYzoxNjI1CisjOiB3dC1zdGF0dXMuYzoxNjYxIHd0LXN0YXR1cy5jOjE2NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAicmllbiDDoCB2YWxpZGVyXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjMKKyM6IHd0LXN0YXR1cy5jOjE2NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAicmllbiDDoCB2YWxpZGVyICh1dGlsaXNleiAtdSBwb3VyIGFmZmljaGVyIGxlcyBmaWNoaWVycyBub24gc3VpdmlzKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjI3CisjOiB3dC1zdGF0dXMuYzoxNjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAicmllbiDDoCB2YWxpZGVyLCBsYSBjb3BpZSBkZSB0cmF2YWlsIGVzdCBwcm9wcmVcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTczNAotbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKLW1zZ3N0ciAiVmFsaWRhdGlvbiBpbml0aWFsZSBzdXIgIgorIzogd3Qtc3RhdHVzLmM6MTc4MAorbXNnaWQgIk5vIGNvbW1pdHMgeWV0IG9uICIKK21zZ3N0ciAiRW5jb3JlIGF1Y3VuIGNvbW1pdCBzdXIgICIKIAotIzogd3Qtc3RhdHVzLmM6MTczOAorIzogd3Qtc3RhdHVzLmM6MTc4NAogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIkhFQUQgKGF1Y3VuZSBicmFuY2hlKSIKIAotIyDDoCBwcmlvcmkgb24gcGFybGUgZCd1bmUgYnJhbmNoZSBpY2kKLSM6IHd0LXN0YXR1cy5jOjE3NjcKLW1zZ2lkICJnb25lIgotbXNnc3RyICJkaXNwYXJ1ZSIKLQotIzogd3Qtc3RhdHVzLmM6MTc2OSB3dC1zdGF0dXMuYzoxNzc3CisjOiB3dC1zdGF0dXMuYzoxODEzIHd0LXN0YXR1cy5jOjE4MjEKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICJkZXJyacOocmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNzcyIHd0LXN0YXR1cy5jOjE3NzUKKyM6IHd0LXN0YXR1cy5jOjE4MTYgd3Qtc3RhdHVzLmM6MTgxOQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAiZGV2YW50ICIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKLSM6IHd0LXN0YXR1cy5jOjIyNzcKKyM6IHd0LXN0YXR1cy5jOjIzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSAlc8KgOiB2b3VzIGF2ZXogZGVzIG1vZGlmaWNhdGlvbnMgbm9uIGluZGV4w6llcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyODMKKyM6IHd0LXN0YXR1cy5jOjIzMTcKIG1zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgImRlIHBsdXMsIHZvdHJlIGluZGV4IGNvbnRpZW50IGRlcyBtb2RpZmljYXRpb25zIG5vbiB2YWxpZMOpZXMuIgogCi0jOiB3dC1zdGF0dXMuYzoyMjg1CisjOiB3dC1zdGF0dXMuYzoyMzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiJXMgaW1wb3NzaWJsZcKgOiB2b3RyZSBpbmRleCBjb250aWVudCBkZXMgbW9kaWZpY2F0aW9ucyBub24gdmFsaWTDqWVzLiIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTQKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGxvcnMgZGUgbCd1bmxpbmsgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMgorIzogYnVpbHRpbi9hZGQuYzoyNAogbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPGNoZW1pbj4uLi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODAKKyM6IGJ1aWx0aW4vYWRkLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKLW1zZ3N0ciAic3RhdHVzIGRlIGRpZmYgaW5hdHRlbmR1ICVjIgorbXNnc3RyICLDqXRhdCBkZSBkaWZmIGluYXR0ZW5kdSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQorIzogYnVpbHRpbi9hZGQuYzo4NyBidWlsdGluL2NvbW1pdC5jOjI5MgogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIG1pc2Ugw6Agam91ciBkZXMgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTUKKyM6IGJ1aWx0aW4vYWRkLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAic3VwcHJlc3Npb24gZGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjE0OQorIzogYnVpbHRpbi9hZGQuYzoxNTEKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzIGFwcsOocyByYWZyYcOuY2hpc3NlbWVudCBkZSBsJ2luZGV4IDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODQ1CisjOiBidWlsdGluL2FkZC5jOjIxMSBidWlsdGluL3Jldi1wYXJzZS5jOjg3MwogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIwCisjOiBidWlsdGluL2FkZC5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIMOpY3JpdHVyZS4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjI0CisjOiBidWlsdGluL2FkZC5jOjIyNgogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjI3CisjOiBidWlsdGluL2FkZC5jOjIyOQogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbCfDqWRpdGlvbiBkdSBwYXRjaCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzAKKyM6IGJ1aWx0aW4vYWRkLmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIlN0YXQgZGUgJyVzJyBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGluL2FkZC5jOjIzMgorIzogYnVpbHRpbi9hZGQuYzoyMzQKIG1zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCiBtc2dzdHIgIlBhdGNoIHZpZGUuIEFiYW5kb24uIgogCi0jOiBidWlsdGluL2FkZC5jOjIzNworIzogYnVpbHRpbi9hZGQuYzoyMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZCdhcHBsaXF1ZXIgJyVzJyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDcKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ5CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAiTGVzIGNoZW1pbnMgc3VpdmFudHMgc29udCBpZ25vcsOpcyBwYXIgdW4gZGUgdm9zIGZpY2hpZXJzIC5naXRpZ25vcmUgOlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjEyMwotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTI0Ci0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorIzogYnVpbHRpbi9hZGQuYzoyNjkgYnVpbHRpbi9jbGVhbi5jOjkwNyBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MjAxIGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMyIGJ1aWx0aW4vcm0uYzoyNDIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJzaW11bGVyIGwnYWN0aW9uIgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICJzw6lsZWN0aW9uIGludGVyYWN0aXZlIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MyBidWlsdGluL2NoZWNrb3V0LmM6MTE2MiBidWlsdGluL3Jlc2V0LmM6Mjk5CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgInPDqWxlY3Rpb24gaW50ZXJhY3RpdmUgZGVzIHNlY3Rpb25zIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzoyNzQKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgIsOpZGl0aW9uIGR1IGRpZmYgYWN0dWVsIGV0IGFwcGxpY2F0aW9uIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MgorIzogYnVpbHRpbi9hZGQuYzoyNzUKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInBlcm1ldHRyZSBsJ2Fqb3V0IGRlIGZpY2hpZXJzIGlnbm9yw6lzIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MworIzogYnVpbHRpbi9hZGQuYzoyNzYKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAibWV0dHJlIMOgIGpvdXIgbGVzIGZpY2hpZXJzIHN1aXZpcyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzQKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc3CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICJlbnJlZ2lzdHJlciBzZXVsZW1lbnQgbGUgZmFpdCBxdWUgbGUgY2hlbWluIHNlcmEgYWpvdXTDqSBwbHVzIHRhcmQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjc1CisjOiBidWlsdGluL2FkZC5jOjI3OAogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiYWpvdXRlciBsZXMgbW9kaWZpY2F0aW9ucyBkZSB0b3VzIGxlcyBmaWNoaWVycyBzdWl2aXMgZXQgbm9uIHN1aXZpcyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzgKKyM6IGJ1aWx0aW4vYWRkLmM6MjgxCiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIiIKICJpZ25vcmVyIGxlcyBjaGVtaW5zIGVmZmFjw6lzIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCAoaWRlbnRpcXVlIMOgIC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzoyODAKKyM6IGJ1aWx0aW4vYWRkLmM6MjgzCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJuZSBwYXMgYWpvdXRlciwganVzdGUgcmFmcmHDrmNoaXIgbCdpbmRleCIKIAotIzogYnVpbHRpbi9hZGQuYzoyODEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg0CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiIgogInNhdXRlciBzZXVsZW1lbnQgbGVzIGZpY2hpZXJzIHF1aSBuZSBwZXV2ZW50IHBhcyDDqnRyZSBham91dMOpcyBkdSBmYWl0ICIKICJkJ2VycmV1cnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgyCisjOiBidWlsdGluL2FkZC5jOjI4NQogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAidsOpcmlmaWVyIHNpIGRlcyBmaWNoaWVycyAtIG3Dqm1lIG1hbnF1YW50cyAtIHNvbnQgaWdub3LDqXMsIMOgIHZpZGUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAorIzogYnVpbHRpbi9hZGQuYzoyODYgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTMKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAib3V0cmVwYXNzZXIgbGUgYml0IGV4w6ljdXRhYmxlIHBvdXIgbGVzIGZpY2hpZXJzIGxpc3TDqXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjI4OAorbXNnaWQgIndhcm4gd2hlbiBhZGRpbmcgYW4gZW1iZWRkZWQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiYXZlcnRpciBsb3JzIGRlIGwnYWpvdXQgZCd1biBkw6lww7R0IGVtYmFycXXDqSIKKworIzogYnVpbHRpbi9hZGQuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSd2ZSBhZGRlZCBhbm90aGVyIGdpdCByZXBvc2l0b3J5IGluc2lkZSB5b3VyIGN1cnJlbnQgcmVwb3NpdG9yeS5cbiIKKyJDbG9uZXMgb2YgdGhlIG91dGVyIHJlcG9zaXRvcnkgd2lsbCBub3QgY29udGFpbiB0aGUgY29udGVudHMgb2ZcbiIKKyJ0aGUgZW1iZWRkZWQgcmVwb3NpdG9yeSBhbmQgd2lsbCBub3Qga25vdyBob3cgdG8gb2J0YWluIGl0LlxuIgorIklmIHlvdSBtZWFudCB0byBhZGQgYSBzdWJtb2R1bGUsIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+ICVzXG4iCisiXG4iCisiSWYgeW91IGFkZGVkIHRoaXMgcGF0aCBieSBtaXN0YWtlLCB5b3UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZVxuIgorImluZGV4IHdpdGg6XG4iCisiXG4iCisiXHRnaXQgcm0gLS1jYWNoZWQgJXNcbiIKKyJcbiIKKyJTZWUgXCJnaXQgaGVscCBzdWJtb2R1bGVcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyJWb3VzIGF2ZXogYWpvdXTDqSB1biBhdXRyZSBkw6lww7R0IGdpdCBkYW5zIHZvdHJlIGTDqXDDtHQgYWN0dWVsLlxuIgorIkxlcyBjbG9uZXMgZHUgZMOpcMO0dCBjb250ZW5ldXIgbmUgY29udGllbmRyb25zIHBhcyBsZSBjb250ZW51XG4iCisiZHUgZMOpcMO0dCBlbWJhcnF1w6kgZXQgbmUgc2F1cm9udCBwYXMgY29tbWVudCBsJ29idGVuaXIuXG4iCisiU2kgdm91cyB2b3VsaWV6IGFqb3V0ZXIgdW4gc291cy1tb2R1bGUsIHV0aWxpc2V6wqA6XG4iCisiXG4iCisiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIlNpIHZvdXMgYXZleiBham91dMOpIGNlIGNoZW1pbiBwYXIgZXJyZXVyLCB2b3VzIHBvdXZleiBsZVxuIgorInN1cHByaW1lciBkZSBsJ2luZGV4IGF2ZWPCoDpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIlLDqWbDqXJlei12b3VzIMOgIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgcG91ciBwbHVzIGQnaW5mb3JtYXRpb24uIgorCisjOiBidWlsdGluL2FkZC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJhZGRpbmcgZW1iZWRkZWQgZ2l0IHJlcG9zaXRvcnk6ICVzIgorbXNnc3RyICJkw6lww7R0IGdpdCBlbWJhcnF1w6kgYWpvdXTDqcKgOiAlcyIKKworIzogYnVpbHRpbi9hZGQuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiVXRpbGlzZXogLWYgc2kgdm91cyB2b3VsZXogcsOpZWxsZW1lbnQgbGVzIGFqb3V0ZXIuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzEyCisjOiBidWlsdGluL2FkZC5jOjM1NwogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ2Fqb3V0IGRlIGZpY2hpZXJzIgogCi0jOiBidWlsdGluL2FkZC5jOjM0OAorIzogYnVpbHRpbi9hZGQuYzozOTQKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEgZXQgLXUgc29udCBtdXR1ZWxsZW1lbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9hZGQuYzozNTUKKyM6IGJ1aWx0aW4vYWRkLmM6NDAxCiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiIgogIkwnb3B0aW9uIC0taWdub3JlLW1pc3NpbmcgbmUgcGV1dCDDqnRyZSB1dGlsaXPDqWUgcXUnZW4gY29tcGzDqW1lbnQgZGUgLS1kcnktcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OQorIzogYnVpbHRpbi9hZGQuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1jaG1vZCBwYXJhbSAnJXMnIG11c3QgYmUgZWl0aGVyIC14IG9yICt4IgogbXNnc3RyICJMZSBwYXJhbcOodHJlICclcycgZGUgLS1jaG1vZCBkb2l0IMOqdHJlIHNvaXQgLXggc29pdCAreCIKIAotIzogYnVpbHRpbi9hZGQuYzozNzQKKyM6IGJ1aWx0aW4vYWRkLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICJSaWVuIGRlIHNww6ljaWZpw6ksIHJpZW4gbidhIMOpdMOpIGFqb3V0w6kuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc1CisjOiBidWlsdGluL2FkZC5jOjQyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiVm91cyB2b3VsaWV6IHPDu3JlbWVudCBkaXJlICdnaXQgYWRkIC4nID9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozODAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jaGVja291dC5jOjI3OQotIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MiBidWlsdGluL2NsZWFuLmM6OTE0IGJ1aWx0aW4vY29tbWl0LmM6MzUwCi0jOiBidWlsdGluL212LmM6MTQzIGJ1aWx0aW4vcmVzZXQuYzoyMzUgYnVpbHRpbi9ybS5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzo0MjYgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzYgYnVpbHRpbi9jaGVja291dC5jOjI4MgorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3NSBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzUxCisjOiBidWlsdGluL212LmM6MTQ0IGJ1aWx0aW4vcmVzZXQuYzoyMzggYnVpbHRpbi9ybS5jOjI3MgogIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0NAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAiZmljaGllciBkJ2luZGV4IGNvcnJvbXB1IgogCi0jOiBidWlsdGluL2FtLmM6NDE0CisjOiBidWlsdGluL2FtLmM6NDEzCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBzY3JpcHQgYXV0aG9yIgogCi0jOiBidWlsdGluL2FtLmM6NDkxCisjOiBidWlsdGluL2FtLmM6NDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCiBtc2dzdHIgIiclcycgYSDDqXTDqSBlZmZhY8OpIHBhciBsZSBjcm9jaGV0IGFwcGx5cGF0Y2gtbXNnIgogCi0jOiBidWlsdGluL2FtLmM6NTMyCisjOiBidWlsdGluL2FtLmM6NTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiTGlnbmUgZW4gZW50csOpZSBtYWxmb3Jtw6llIDogJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NjkKKyM6IGJ1aWx0aW4vYW0uYzo1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgY29waWVyIGxlcyBub3RlcyBkZSAnJXMnIHZlcnMgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjU5NQorIzogYnVpbHRpbi9hbS5jOjU5MwogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGZzZWVrIgogCi0jOiBidWlsdGluL2FtLmM6Nzc1CisjOiBidWlsdGluL2FtLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcGF0Y2ggJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjg0MAorIzogYnVpbHRpbi9hbS5jOjg0MgogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICJTZXVsZW1lbnQgdW5lIHPDqXJpZSBkZSBwYXRjaHMgU3RHSVQgcGV1dCDDqnRyZSBhcHBsaXF1w6llIMOgIGxhIGZvaXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4ODcKKyM6IGJ1aWx0aW4vYW0uYzo4ODkKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiaG9yb2RhdGFnZSBpbnZhbGlkZSIKIAotIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CisjOiBidWlsdGluL2FtLmM6ODkyIGJ1aWx0aW4vYW0uYzo5MDAKIG1zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKIG1zZ3N0ciAibGlnbmUgZGUgRGF0ZSBpbnZhbGlkZSIKIAotIzogYnVpbHRpbi9hbS5jOjg5NQorIzogYnVpbHRpbi9hbS5jOjg5NwogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICJkw6ljYWxhZ2UgaG9yYWlyZSBpbnZhbGlkZSIKIAotIzogYnVpbHRpbi9hbS5jOjk4NAorIzogYnVpbHRpbi9hbS5jOjk4NgogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIGTDqXRlY3Rpb24gZHUgZm9ybWF0IGR1IHBhdGNoLiIKIAotIzogYnVpbHRpbi9hbS5jOjk4OSBidWlsdGluL2Nsb25lLmM6Mzc5CisjOiBidWlsdGluL2FtLmM6OTkxIGJ1aWx0aW4vY2xvbmUuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGNyw6lhdGlvbiBkdSByw6lwZXJ0b2lyZSAnJXMnIgogCi0jOiBidWlsdGluL2FtLmM6OTkzCisjOiBidWlsdGluL2FtLmM6OTk1CiBtc2dpZCAiRmFpbGVkIHRvIHNwbGl0IHBhdGNoZXMuIgogbXNnc3RyICLDiWNoZWMgZGUgZMOpY291cGFnZSBkZXMgcGF0Y2hzLiIKIAotIzogYnVpbHRpbi9hbS5jOjExMjUgYnVpbHRpbi9jb21taXQuYzozNzYKKyM6IGJ1aWx0aW4vYW0uYzoxMTIwIGJ1aWx0aW4vY29tbWl0LmM6Mzc3CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgZCdpbmRleCIKIAotIzogYnVpbHRpbi9hbS5jOjExNzYKKyM6IGJ1aWx0aW4vYW0uYzoxMTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgogbXNnc3RyICJRdWFuZCB2b3VzIGF2ZXogcsOpc29sdSBjZSBwcm9ibMOobWUsIGxhbmNleiBcIiVzIC0tY29udGludWVcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTc3CisjOiBidWlsdGluL2FtLmM6MTE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIlNpIHZvdXMgcHLDqWbDqXJleiBwbHV0w7R0IHNhdXRlciBjZSBwYXRjaCwgbGFuY2V6IFwiJXMgLS1za2lwXCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTE3OAorIzogYnVpbHRpbi9hbS5jOjExNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICIiCiAiUG91ciByZXN0YXVyZXIgbGEgYnJhbmNoZSBvcmlnaW5hbGUgZXQgYXJyw6p0ZXIgZGUgcGF0Y2hlciwgbGFuY2V6IFwiJXMgLS0iCiAiYWJvcnRcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzE2Ci1tc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCi1tc2dzdHIgIkxlIHBhdGNoIGVzdCB2aWRlLiBMZSBkw6ljb3VwYWdlIMOpdGFpdC1pbCBib27CoD8iCisjOiBidWlsdGluL2FtLmM6MTMwNAorbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKK21zZ3N0ciAiTGUgcGF0Y2ggYWN0dWVsIGVzdCB2aWRlLiIKIAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2FtLmM6MTM3MAogIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgotbXNnc3RyICJsaWduZSBkJ2lkZW50aWZpY2F0aW9uIGludmFsaWRlIDogJXMiCittc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlLipzIgorbXNnc3RyICJsaWduZSBkJ2lkZW50aWZpY2F0aW9uIGludmFsaWRlIDogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MTcKKyM6IGJ1aWx0aW4vYW0uYzoxMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEwCisjOiBidWlsdGluL2FtLmM6MTU4NgogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJMZSBkw6lww7R0IG4nYSBwYXMgbGVzIGJsb2JzIG7DqWNlc3NhaXJlcyBwb3VyIHVuIHJldG91ciDDoCB1bmUgZnVzaW9uIMOgIDMgIgogInBvaW50cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEyCisjOiBidWlsdGluL2FtLmM6MTU4OAogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgIiIKICJVdGlsaXNhdGlvbiBkZSBsJ2luZm9ybWF0aW9uIGRlIGwnaW5kZXggcG91ciByZWNvbnN0cnVpcmUgdW4gYXJicmUgZGUgYmFzZS4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzEKKyM6IGJ1aWx0aW4vYW0uYzoxNjA3CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTQ2OTMsMzggKzUwNzksMzggQEAKICJBdmV6LXZvdXMgw6lkaXTDqSBsZSBwYXRjaCDDoCBsYSBtYWluID9cbiIKICJJbCBuZSBzJ2FwcGxpcXVlIHBhcyBhdXggYmxvYnMgZW5yZWdpc3Ryw6lzIGRhbnMgc29uIGluZGV4LiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzcKKyM6IGJ1aWx0aW4vYW0uYzoxNjEzCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICJSZXRvdXIgw6AgdW4gcGF0Y2ggZGUgbGEgYmFzZSBldCBmdXNpb24gw6AgMyBwb2ludHMuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjYyCisjOiBidWlsdGluL2FtLmM6MTYzOAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIsOJY2hlYyBkJ2ludMOpZ3JhdGlvbiBkZXMgbW9kaWZpY2F0aW9ucy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjg2IGJ1aWx0aW4vbWVyZ2UuYzo2MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjYyIGJ1aWx0aW4vbWVyZ2UuYzo2MzIKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBhIMOpY2hvdcOpIMOgIMOpY3JpcmUgdW4gYXJicmUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjkzCisjOiBidWlsdGluL2FtLmM6MTY2OQogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgImFwcGxpY2F0aW9uIMOgIHVuIGhpc3RvcmlxdWUgdmlkZSIKIAotIzogYnVpbHRpbi9hbS5jOjE3MDYgYnVpbHRpbi9jb21taXQuYzoxNzY0IGJ1aWx0aW4vbWVyZ2UuYzo4MDIKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjcKKyM6IGJ1aWx0aW4vYW0uYzoxNjgyIGJ1aWx0aW4vY29tbWl0LmM6MTc2NyBidWlsdGluL21lcmdlLmM6ODAzCisjOiBidWlsdGluL21lcmdlLmM6ODI4CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ8OpY3JpdHVyZSBkZSBsJ29iamV0IGNvbW1pdCIKIAotIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE3NDMKKyM6IGJ1aWx0aW4vYW0uYzoxNzE1IGJ1aWx0aW4vYW0uYzoxNzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb250aW51ZXIgOiAlcyBuJ2V4aXN0ZSBwYXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTc1OQorIzogYnVpbHRpbi9hbS5jOjE3MzUKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKICJpbXBvc3NpYmxlIGQnw6p0cmUgaW50ZXJhY3RpZiBzYW5zIGVudHLDqWUgc3RhbmRhcmQgY29ubmVjdMOpZSDDoCB1biB0ZXJtaW5hbC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY0CisjOiBidWlsdGluL2FtLmM6MTc0MAogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAiTGUgY29ycHMgZGUgbGEgdmFsaWRhdGlvbiBlc3QgOiIKIApAQCAtNDczMiwzNSArNTExOCwzNSBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNzc0CisjOiBidWlsdGluL2FtLmM6MTc1MAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIkFwcGxpcXVlciA/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGzCoDogIgogCi0jOiBidWlsdGluL2FtLmM6MTgyNAorIzogYnVpbHRpbi9hbS5jOjE4MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgogbXNnc3RyICJJbmRleCBzYWxlIDogaW1wb3NzaWJsZSBkJ2FwcGxpcXVlciBkZXMgcGF0Y2hzIChzYWxlcyA6ICVzKSIKIAotIzogYnVpbHRpbi9hbS5jOjE4NjEgYnVpbHRpbi9hbS5jOjE5MzMKKyM6IGJ1aWx0aW4vYW0uYzoxODQwIGJ1aWx0aW4vYW0uYzoxOTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICJBcHBsaWNhdGlvbiBkZSAgJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4NzcKKyM6IGJ1aWx0aW4vYW0uYzoxODU2CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICJQYXMgZGUgY2hhbmdlbWVudCAtLSBQYXRjaCBkw6lqw6AgYXBwbGlxdcOpLiIKIAotIzogYnVpbHRpbi9hbS5jOjE4ODUKKyM6IGJ1aWx0aW4vYW0uYzoxODY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAlcyAlLipzIgogbXNnc3RyICJsZSBwYXRjaCBhIMOpY2hvdcOpIMOgICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkxCisjOiBidWlsdGluL2FtLmM6MTg3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgogbXNnc3RyICJMYSBjb3BpZSBkdSBwYXRjaCBxdWkgYSDDqWNob3XDqSBzZSB0cm91dmUgZGFucyA6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MTkzNgorIzogYnVpbHRpbi9hbS5jOjE5MTUKIG1zZ2lkICIiCiAiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCiAiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCkBAIC00NzcxLDI1ICs1MTU3LDMwIEBACiAiaW50cm9kdWl0IGxlcyBtw6ptZXMgY2hhbmdlbWVudHMgOyB2b3VzIHBvdXJyaWV6IGF2b2lyIGVudmllIGRlIHNhdXRlciBjZSAiCiAicGF0Y2guIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MjIKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKLSJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKKyJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKKyJzdWNoLlxuIgorIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgIiIKLSJWb3VzIGF2ZXogdG91am91cnMgZGVzIGNoZW1pbnMgbm9uIGZ1c2lvbm7DqXMgZGFucyB2b3RyZSBpbmRleFxuIgotIkF1cmllei12b3VzIG91Ymxpw6kgZGUgZmFpcmUgJ2dpdCBhZGQnID8iCisiVm91cyBhdmV6IGVuY29yZSBkZXMgY2hlbWluIG5vbi1mdXNpb25uw6lzIGRhbnMgdm90cmUgaW5kZXguXG4iCisiVm91cyBkZXZyaWV6IGxhbmNlciAnZ2l0IGFkZCcgc3VyIGNoYXF1ZSBjb25mbGl0IHLDqXNvbHUgcG91ciBsZXMgbWFycXVlciAiCisiY29tbWUgdGVsLlxuIgorIlZvdXMgcG91dmV6IGxhbmNlciAnZ2l0IHJtJyBzdXIgdW4gZmljaGllciBcInN1cHByaW3DqSBwYXIgZXV4XCIgcG91ciAiCisiYWNjZXB0ZXIgc29uIMOpdGF0LiIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAotIzogYnVpbHRpbi9yZXNldC5jOjMxNgorIzogYnVpbHRpbi9hbS5jOjIwMzEgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9hbS5jOjIwNDcgYnVpbHRpbi9yZXNldC5jOjMyMworIzogYnVpbHRpbi9yZXNldC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdvYmpldCAnJXMnLiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMDMKKyM6IGJ1aWx0aW4vYW0uYzoyMDgzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICLDqWNoZWMgZHUgbmV0dG95YWdlIGRlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTM3CisjOiBidWlsdGluL2FtLmM6MjExNwogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtNDc5NywxMzUgKzUxODgsMTM2IEBACiAiVm91cyBzZW1ibGV6IGF2b2lyIGTDqXBsYWPDqSBsYSBIRUFEIGRlcHVpcyBsZSBkZXJuaWVyIMOpY2hlYyBkZSAnYW0nLlxuIgogIlBhcyBkZSByZXRvdXIgw6AgT1JJR19IRUFEIgogCi0jOiBidWlsdGluL2FtLmM6MjIwMAorIzogYnVpbHRpbi9hbS5jOjIxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICJWYWxldXIgaW52YWxpZGUgcG91ciAtLXBhdGNoLWZvcm1hdCA6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM0CisjOiBidWlsdGluL2FtLmM6MjIxNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMjIwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgImV4w6ljdXRpb24gaW50ZXJhY3RpdmUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQyCisjOiBidWlsdGluL2FtLmM6MjIyMgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICJvcHRpb24gaGlzdG9yaXF1ZSAtLSBuby1vcCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDQKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0CiBtc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCiBtc2dzdHIgInBlcm1ldHRyZSBkZSByZXZlbmlyIMOgIHVuZSBmdXNpb24gw6AgMyBwb2ludHMgc2kgbsOpY2Vzc2FpcmUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3Ci0jOiBidWlsdGluL3JlcGFjay5jOjE3OAorIzogYnVpbHRpbi9hbS5jOjIyMjUgYnVpbHRpbi9pbml0LWRiLmM6NDg0IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgIsOqdHJlIHNpbGVuY2lldXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ3CisjOiBidWlsdGluL2FtLmM6MjIyNwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImFqb3V0ZXIgdW5lIGxpZ25lIFNpZ25lZC1vZmYtYnkgYXUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MAorIzogYnVpbHRpbi9hbS5jOjIyMzAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAicmVjb2RlciBlbiB1dGYtOCAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MgorIzogYnVpbHRpbi9hbS5jOjIyMzIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzZXIgbCdvcHRpb24gLWsgw6AgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NAorIzogYnVpbHRpbi9hbS5jOjIyMzQKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzZXIgbCdvcHRpb24gLWIgw6AgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NgorIzogYnVpbHRpbi9hbS5jOjIyMzYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzZXIgbCdvcHRpb24gLW0gw6AgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI1OAorIzogYnVpbHRpbi9hbS5jOjIyMzgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICJwYXNzZXIgbCdvcHRpb24gLS1rZWVwLWNyIMOgIGdpdC1tYWlsc3BsaXQgZnBvdXIgbGUgZm9ybWF0IG1ib3giCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjYxCisjOiBidWlsdGluL2FtLmM6MjI0MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICIiCiAibmUgcGFzIHBhc3NlciBsJ29wdGlvbiAtLWtlZXAtY3Igw6AgZ2l0LW1haWxzcGxpdCBpbmTDqXBlbmRhbW1lbnQgZGUgYW0ua2VlcGNyIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NAorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgInJldGlyZXIgdG91dCBsZSBjb250ZW51IGF2YW50IGxhIGxpZ25lIGRlcyBjaXNlYXV4IgogCi0jOiBidWlsdGluL2FtLmM6MjI2NiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2FtLmM6MjI3MiBidWlsdGluL2FtLmM6MjI3NQotIzogYnVpbHRpbi9hbS5jOjIyNzggYnVpbHRpbi9hbS5jOjIyODEgYnVpbHRpbi9hbS5jOjIyODQgYnVpbHRpbi9hbS5jOjIyODcKLSM6IGJ1aWx0aW4vYW0uYzoyMjkzCisjOiBidWlsdGluL2FtLmM6MjI0NiBidWlsdGluL2FtLmM6MjI0OSBidWlsdGluL2FtLmM6MjI1MiBidWlsdGluL2FtLmM6MjI1NQorIzogYnVpbHRpbi9hbS5jOjIyNTggYnVpbHRpbi9hbS5jOjIyNjEgYnVpbHRpbi9hbS5jOjIyNjQgYnVpbHRpbi9hbS5jOjIyNjcKKyM6IGJ1aWx0aW4vYW0uYzoyMjczCiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAibGUgcGFzc2VyIGp1c3F1J8OgIGdpdC1hcHBseSIKIAotIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQotIzogYnVpbHRpbi9ncmVwLmM6MTAzOCBidWlsdGluL21lcmdlLmM6MjAyIGJ1aWx0aW4vcHVsbC5jOjEzNQotIzogYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmVwYWNrLmM6MTg3IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkgYnVpbHRpbi90YWcuYzozNTUKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBidWlsdGluL2FtLmM6MjI2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzoxMDY0IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTQyCisjOiBidWlsdGluL3B1bGwuYzoxOTcgYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk1IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzEgYnVpbHRpbi9zaG93LXJlZi5jOjE2OQorIzogYnVpbHRpbi90YWcuYzozOTkgcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAibiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CisjOiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQgYnVpbHRpbi90YWcuYzo0MzQgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgImZvcm1hdCIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgogbXNnc3RyICJmb3JtYXQgZGUgcHLDqXNlbnRhdGlvbiBkZXMgcGF0Y2hzIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NgorIzogYnVpbHRpbi9hbS5jOjIyNzYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgInN1cmNoYXJnZXIgbGUgbWVzc2FnZSBkJ2VycmV1ciBsb3JzIGQndW4gw6ljaGVjIGQnYXBwbGljYXRpb24gZGUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk4CisjOiBidWlsdGluL2FtLmM6MjI3OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgImNvbnRpbnVlciDDoCBhcHBsaXF1ZXIgbGVzIHBhdGNocyBhcHLDqHMgcsOpc29sdXRpb24gZCd1biBjb25mbGl0IgogCi0jOiBidWlsdGluL2FtLmM6MjMwMQorIzogYnVpbHRpbi9hbS5jOjIyODEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAic3lub255bWVzIGRlIC0tY29udGludWUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA0CisjOiBidWlsdGluL2FtLmM6MjI4NAogbXNnaWQgInNraXAgdGhlIGN1cnJlbnQgcGF0Y2giCiBtc2dzdHIgInNhdXRlciBsZSBwYXRjaCBjb3VyYW50IgogCi0jOiBidWlsdGluL2FtLmM6MjMwNworIzogYnVpbHRpbi9hbS5jOjIyODcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICIiCiAicmVzdGF1cmVyIGxhIGJyYW5jaGUgb3JpZ2luYWxlIGV0IGFiYW5kb25uZXIgbGVzIGFwcGxpY2F0aW9ucyBkZSBwYXRjaC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzExCisjOiBidWlsdGluL2FtLmM6MjI5MQogbXNnaWQgImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIKIG1zZ3N0ciAibWVudGlyIHN1ciBsYSBkYXRlIGRlIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzEzCisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgInV0aWxpc2VyIGwnaG9yb2RhdGFnZSBhY3R1ZWwgcG91ciBsYSBkYXRlIGQnYXV0ZXVyIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNSBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9tZXJnZS5jOjIzMwotIzogYnVpbHRpbi9wdWxsLmM6MTY1IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNzAKKyM6IGJ1aWx0aW4vYW0uYzoyMjk1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjMzCisjOiBidWlsdGluL3B1bGwuYzoxNzIgYnVpbHRpbi9yZXZlcnQuYzoxMTIgYnVpbHRpbi90YWcuYzo0MTQKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgImlkLWNsw6kiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE2CisjOiBidWlsdGluL2FtLmM6MjI5NgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgInNpZ25lciBsZXMgY29tbWl0cyBhdmVjIEdQRyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjk5CiBtc2dpZCAiKGludGVybmFsIHVzZSBmb3IgZ2l0LXJlYmFzZSkiCiBtc2dzdHIgIih1dGlsaXNhdGlvbiBpbnRlcm5lIHBvdXIgZ2l0LXJlYmFzZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM0CisjOiBidWlsdGluL2FtLmM6MjMxNwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTQ5MzMsMTcgKzUzMjUsMTcgQEAKICJMJ29wdGlvbiAtYi8tLWJpbmFyeSBuZSBmYWl0IHBsdXMgcmllbiBkZXB1aXMgbG9uZ3RlbXBzLFxuIgogImV0IGVsbGUgc2VyYSBzdXBwcmltw6llLiBWZXVpbGxleiBuZSBwbHVzIGwndXRpbGlzZXIuIgogCi0jOiBidWlsdGluL2FtLmM6MjM0MQorIzogYnVpbHRpbi9hbS5jOjIzMjQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIsOpY2hlYyDDoCBsYSBsZWN0dXJlIGRlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzU2CisjOiBidWlsdGluL2FtLmM6MjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIiIKICJsZSByw6lwZXJ0b2lyZSBwcsOpY8OpZGVudCBkZSByZWJhc2FnZSAlcyBleGlzdGUgdG91am91cnMgbWFpcyBtYm94IGRvbm7DqWUuIgogCi0jOiBidWlsdGluL2FtLmM6MjM4MAorIzogYnVpbHRpbi9hbS5jOjIzNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTQ5NTIsNyArNTM0NCw3IEBACiAiUsOpcGVydG9pcmUgYWJhbmRvbm7DqSAlcyB0cm91dsOpLlxuIgogIlV0aWxpc2V6IFwiZ2l0IGFtIC0tYWJvcnRcIiBwb3VyIGxlIHN1cHByaW1lci4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzg2CisjOiBidWlsdGluL2FtLmM6MjM2OQogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIiIKICJQYXMgZGUgcsOpc29sdXRpb24gZGUgbCdvcMOpcmF0aW9uIGVuIGNvdXJzLCBub3VzIG5lIHNvbW1lcyBwYXMgZGFucyB1bmUgIgpAQCAtNDk4NCwxMSArNTM3Niw2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgImdpdCBhcmNoaXZlIDogTkFDSyAlcyIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKLW1zZ3N0ciAiZXJyZXVyIGRpc3RhbnRlIDogJXMiCi0KICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY0CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IHByb3RvY29sIGVycm9yIgogbXNnc3RyICJnaXQgYXJjaGl2ZSA6IGVycmV1ciBkZSBwcm90b2NvbGUiCkBAIC01MDA5LDIwMCArNTM5NiwxNzUgQEAKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICJtZXR0cmUgw6Agam91ciBCSVNFQ1RfSEVBRCBhdSBsaWV1IGQnZXh0cmFpcmUgbGUgY29tbWl0IGFjdHVlbCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjMzCisjOiBidWlsdGluL2JsYW1lLmM6MjcKIG1zZ2lkICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iCiBtc2dzdHIgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPG9wdGlvbnMtZGUtcsOpdmlzaW9uPl0gWzxyZXY+XSBbLS1dIDxmaWNoaWVyPiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjM4CisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICI8cmV2LW9wdHM+IGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiPG9wdGlvbnMtZGUtcsOpdmlzaW9uPiBzb250IGRvY3VtZW50w6lzIGRhbnMgZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4NgotbXNnaWQgIkJsYW1pbmcgbGluZXMiCi1tc2dzdHIgIkFzc2lnbmF0aW9uIGRlIGJsw6JtZSBhdSBsaWduZXMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCisjOiBidWlsdGluL2JsYW1lLmM6NjY4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiIgogIk1vbnRyZXIgbGVzIMOpbMOpbWVudHMgZGUgYmzDom1lIGF1IGZ1ciBldCDDoCBtZXN1cmUgZGUgbGV1ciBkw6ljb3V2ZXJ0ZSwgZGUgIgogIm1hbmnDqHJlIGluY3LDqW1lbnRhbGUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCisjOiBidWlsdGluL2JsYW1lLmM6NjY5CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9udHJlciB1biBTSEEtMSBibGFuYyBwb3VyIGxlcyBjb21taXRzIGRlIGxpbWl0ZSAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzAKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJOZSBwYXMgdHJhaXRlciBsZXMgY29tbWl0cyByYWNpbmUgY29tbWUgZGVzIGxpbWl0ZXMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg1CisjOiBidWlsdGluL2JsYW1lLmM6NjcxCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiTW9udHJlciBsZXMgc3RhdGlzdGlxdWVzIGRlIGNvw7t0IGQnYWN0aXZpdMOpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NgorIzogYnVpbHRpbi9ibGFtZS5jOjY3MgogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiRm9yY2VyIGwnYWZmaWNoYWdlIGRlIGwnw6l0YXQgZCdhdmFuY2VtZW50IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NworIzogYnVpbHRpbi9ibGFtZS5jOjY3MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJNb250cmVyIGxlIHNjb3JlIGRlIHNvcnRpZSBwb3VyIGxlcyDDqWzDqW1lbnRzIGRlIGJsw6JtZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzQKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAiTW9udHJlciBsZXMgbm9tcyBkZSBmaWNoaWVyIG9yaWdpbmF1eCAoRMOpZmF1dCA6IGF1dG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4OQorIzogYnVpbHRpbi9ibGFtZS5jOjY3NQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9udHJlciBsZXMgbnVtw6lyb3MgZGUgbGlnbmVzIG9yaWdpbmF1eCAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJBZmZpY2hlciBkYW5zIHVuIGZvcm1hdCBwcm9waWNlIMOgIGxhIGNvbnNvbW1hdGlvbiBwYXIgbWFjaGluZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzcKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIkFmZmljaGVyIGVuIGZvcm1hdCBwb3JjZWxhaW5lIGF2ZWMgbCdpbmZvcm1hdGlvbiBkZSBjb21taXQgcGFyIGxpZ25lIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MgorIzogYnVpbHRpbi9ibGFtZS5jOjY3OAogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlV0aWxpc2VyIGxlIG3Dqm1lIG1vZGUgZGUgc29ydGllIHF1ZSBnaXQtYW5ub3RhdGUgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkzCisjOiBidWlsdGluL2JsYW1lLmM6Njc5CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJBZmZpY2hlciBsZXMgaG9yb2RhdGFnZXMgYnJ1dHMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk0CisjOiBidWlsdGluL2JsYW1lLmM6NjgwCiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJBZmZpY2hlciBsZXMgbG9uZ3MgU0hBMSBkZSBjb21taXRzIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NQorIzogYnVpbHRpbi9ibGFtZS5jOjY4MQogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlN1cHByaW1lciBsZSBub20gZGUgbCdhdXRldXIgZXQgbCdob3JvZGF0YWdlIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NgorIzogYnVpbHRpbi9ibGFtZS5jOjY4MgogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKLW1zZ3N0ciAiQWZmaWNoZXIgbCdlLW1haWwgZGUgbCdhdXRldXIgYXUgbGlldSBkdSBub20gKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCittc2dzdHIgIkFmZmljaGVyIGwnY291cnJpZWwgZGUgbCdhdXRldXIgYXUgbGlldSBkdSBub20gKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk3CisjOiBidWlsdGluL2JsYW1lLmM6NjgzCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIklnbm9yZXIgbGVzIGRpZmbDqXJlbmNlcyBkJ2VzcGFjZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTAKIG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgogbXNnc3RyICJVdGlsaXNlciB1bmUgaGV1cmlzdGlxdWUgZXhww6lyaW1lbnRhbGUgcG91ciBhbcOpbGlvcmVyIGxlcyBkaWZmcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIiIKICJEw6lwZW5zZXIgZGVzIGN5Y2xlcyBzdXBwbMOpbWVudGFpcmVzIHBvdXIgdHJvdXZlciB1bmUgbWVpbGxldXJlIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNworIzogYnVpbHRpbi9ibGFtZS5jOjY5MwogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiIgogIlV0aWxpc2VyIGxlcyByw6l2aXNpb25zIGR1IGZpY2hpZXIgPGZpY2hpZXI+IGF1IGxpZXUgZCdhcHBlbGVyIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJVdGlsaXNlciBsZSBjb250ZW51IGRlIDxmaWNoaWVyPiBjb21tZSBpbWFnZSBmaW5hbGUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA5IGJ1aWx0aW4vYmxhbWUuYzoyNjEwCisjOiBidWlsdGluL2JsYW1lLmM6Njk1IGJ1aWx0aW4vYmxhbWUuYzo2OTYKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAic2NvcmUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA5CisjOiBidWlsdGluL2JsYW1lLmM6Njk1CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVHJvdXZlciBsZXMgY29waWVzIGRlIGxpZ25lIGRhbnMgZXQgZW50cmUgbGVzIGZpY2hpZXJzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYxMAorIzogYnVpbHRpbi9ibGFtZS5jOjY5NgogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlRyb3V2ZXIgbGVzIG1vdXZlbWVudHMgZGUgbGlnbmUgZGFucyBldCBlbnRyZSBsZXMgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjExCisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjExCisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKICJUcmFpdGVyIHNldWxlbWVudCBsJ2ludGVydmFsbGUgZGUgbGlnbmUgbixtIGVuIGNvbW1lbsOnYW50IGxlIGNvbXB0ZSDDoCAxIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjY1OAorIzogYnVpbHRpbi9ibGFtZS5jOjc0NAogbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCiBtc2dzdHIgIiIKICItLXByb2dyZXNzIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgLS1pbmNyZW1lbnRhbCBvdSBsZXMgZm9ybWF0cyAiCiAicG9yY2VsYWluZSIKIAotIy4gVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUgbWF4aW11bQotIy4gZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4gImdpdCBibGFtZSIKLSMuIG91dHB1dC4gIEZvciBDIGxvY2FsZSwgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iLCB3aGljaAotIy4gdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdCBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mCi0jLiByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQgeW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yCi0jLiBmZXdlciBkaXNwbGF5IGNvbHVtbnMuCi0jOiBidWlsdGluL2JsYW1lLmM6MjcwNgorIy4gVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUKKyMuIG1heGltdW0gZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4KKyMuICJnaXQgYmxhbWUiIG91dHB1dC4gIEZvciBDIGxvY2FsZSwgIjQgeWVhcnMsIDExCisjLiBtb250aHMgYWdvIiwgd2hpY2ggdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdAorIy4gYW1vbmcgdmFyaW91cyBmb3JtcyBvZiByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQKKyMuIHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvciBmZXdlciBkaXNwbGF5CisjLiBjb2x1bW5zLgorIy4KKyM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICJpbCB5IGEgMTAgYW5zIGV0IDExIG1vaXMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzg2Ci1tc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKLW1zZ3N0ciAiLS1jb250ZW50cyBldCAtLXJldmVyc2UgbmUgZm9udCBwYXMgYm9uIG3DqW5hZ2UuIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgwNgotbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKLW1zZ3N0ciAib24gbmUgcGV1dCBwYXMgdXRpbGlzZXIgLS1jb250ZW50cyBhdmVjIHVuIG5vbSBkJ29iamV0IGNvbW1pdCBmaW5hbCIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MTEKLW1zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCi1tc2dzdHIgIiIKLSItLXJldmVyc2UgZXQgLS1maXJzdC1wYXJlbnQgZW5zZW1ibGUgbsOpY2Vzc2l0ZW50IGxhIHNww6ljaWZpY2F0aW9uIGQndW4gIgotImRlcm5pZXIgY29tbWl0IgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgzOAotbXNnaWQgIiIKLSItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCi1tc2dzdHIgIiIKLSItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgZW5zZW1ibGUgbsOpY2Vzc2l0ZW50IHVuZSBwb3J0w6llIGF2ZWMgbGEgY2hhw65uZSBkZSAiCi0icHJlbWllciBwYXJlbnQiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKLW1zZ3N0ciAicGFzIGRlIGNoZW1pbiAlcyBkYW5zICVzIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgYmxvYiAlcyAgcG91ciBsZSBjaGVtaW4gJXMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODc5CisjOiBidWlsdGluL2JsYW1lLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCiBtc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgogbXNnc3RyWzBdICJsZSBmaWNoaWVyICVzIG4nYSBxdSclbHUgbGlnbmUiCiBtc2dzdHJbMV0gImxlIGZpY2hpZXIgJXMgbidhIHF1ZSAlbHUgbGlnbmVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2CisjOiBidWlsdGluL2JsYW1lLmM6OTI4Cittc2dpZCAiQmxhbWluZyBsaW5lcyIKK21zZ3N0ciAiQXNzaWduYXRpb24gZGUgYmzDom1lIGF1IGxpZ25lcyIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNwogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLWxdIFstZl0gPGJyYW5jaC1uYW1lPiBbPHN0YXJ0LXBvaW50Pl0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxvcHRpb25zXSBbLWxdIFstZl0gPG5vbS1kZS1icmFuY2hlPiBbPHBvaW50LWRlLWTDqXBhcnQ+XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyOAorIzogYnVpbHRpbi9icmFuY2guYzoyOQogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yXSAoLWQgfCAtRCkgPGJyYW5jaC1uYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXJdICgtZCB8IC1EKSA8bm9tLWRlLWJyYW5jaGU+Li4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI5CisjOiBidWlsdGluL2JyYW5jaC5jOjMwCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLW0gfCAtTSkgWzxvbGQtYnJhbmNoPl0gPG5ldy1icmFuY2g+IgogbXNnc3RyICIiCiAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLW0gfCAtTSkgWzxhbmNpZW5uZS1icmFuY2hlPl0gPG5vdXZlbGxlLWJyYW5jaGU+IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMxCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBoYXMgYmVlbiBtZXJnZWQgdG9cbiIKQEAgLTUyMTEsNyArNTU3Myw3IEBACiAic3VwcHJlc3Npb24gZGUgbGEgYnJhbmNoZSAnJXMnIHF1aSBhIMOpdMOpIGZ1c2lvbm7DqWUgZGFuc1xuIgogIiAgICAgICAgICclcycsIG1haXMgcGFzIGRhbnMgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ3CisjOiBidWlsdGluL2JyYW5jaC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKQEAgLTUyMjAsMTIgKzU1ODIsMTIgQEAKICJicmFuY2hlICclcycgbm9uIHN1cHByaW3DqWUgY2FyIGVsbGUgbidhIHBhcyDDqXTDqSBmdXNpb25uw6llIGRhbnNcbiIKICIgICAgICAgICAnJXMnLCBtw6ptZSBzaSBlbGxlIGVzdCBmdXNpb25uw6llIGRhbnMgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTYxCisjOiBidWlsdGluL2JyYW5jaC5jOjE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmVjaGVyY2hlciBsJ29iamV0IGNvbW1pdCBwb3VyICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY1CisjOiBidWlsdGluL2JyYW5jaC5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCkBAIC01MjM0LDE2NiArNTU5Niw5MyBAQAogIkxhIGJyYW5jaGUgJyVzJyBuJ2VzdCBwYXMgdG90YWxlbWVudCBmdXNpb25uw6llLlxuIgogIlNpIHZvdXMgc291aGFpdGV6IHLDqWVsbGVtZW50IGxhIHN1cHByaW1lciwgbGFuY2V6ICdnaXQgYnJhbmNoIC1EICVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTc4CisjOiBidWlsdGluL2JyYW5jaC5jOjE4MAogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIsOJY2hlYyBkZSBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwNgorIzogYnVpbHRpbi9icmFuY2guYzoyMTEKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgImltcG9zc2libGUgZCd1dGlsaXNlciAtYSBhdmVjIC1kIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIxMgorIzogYnVpbHRpbi9icmFuY2guYzoyMTcKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmVjaGVyY2hlciBsJ29iamV0IGNvbW1pdCBwb3VyIEhFQUQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZGVsZXRlIGJyYW5jaCAnJXMnIGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIGJyYW5jaGUgJyVzJyBleHRyYWl0ZSBkYW5zICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQxCisjOiBidWlsdGluL2JyYW5jaC5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiYnJhbmNoZSBkZSBzdWl2aSAnJXMnIG5vbiB0cm91dsOpZS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQyCisjOiBidWlsdGluL2JyYW5jaC5jOjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJicmFuY2hlICclcycgbm9uIHRyb3V2w6llLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiRXJyZXVyIGxvcnMgZGUgbGEgc3VwcHJlc3Npb24gZGUgbGEgYnJhbmNoZSBkZSBzdWl2aSAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1OAorIzogYnVpbHRpbi9icmFuY2guYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkVycmV1ciBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIGxhIGJyYW5jaGUgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiQnJhbmNoZSBkZSBzdWl2aSAlcyBzdXBwcmltw6llIChwcsOpY8OpZGVtbWVudCAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY2CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiQnJhbmNoZSAlcyBzdXBwcmltw6llIChwcsOpY8OpZGVtbWVudCAlcykuXG4iCiAKLSMgZsOpbWluaW4gcG91ciB1bmUgYnJhbmNoZQotIzogYnVpbHRpbi9icmFuY2guYzozMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBnb25lXSIKLW1zZ3N0ciAiWyVzOiBkaXNwYXJ1ZV0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlslc10iCi1tc2dzdHIgIlslc10iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVzOiBlbiByZXRhcmQgZGUgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyNAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYmVoaW5kICVkXSIKLW1zZ3N0ciAiW2VuIHJldGFyZCBkZSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWRdIgotbXNnc3RyICJbJXMgOiBlbiBhdmFuY2UgZGUgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgotbXNnc3RyICJbZW4gYXZhbmNlIGRlICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVzIDogZW4gYXZhbmNlIGRlICVkLCBlbiByZXRhcmQgZGUgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzNgotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCi1tc2dzdHIgIltlbiBhdmFuY2UgZGUgJWQsIGVuIHJldGFyZCBkZSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ5Ci1tc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKLW1zZ3N0ciAiICoqKiogcsOpZsOpcmVuY2UgaW52YWxpZGUgKioqKiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICIoYXVjdW5lIGJyYW5jaGUsIHJlYmFzYWdlIGRlICVzKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgotbXNnc3RyICIoYXVjdW5lIGJyYW5jaGUsIGJpc2VjdCBhIGTDqW1hcnLDqSBzdXIgJXMpIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCBkw6l0YWNow6llIHN1ciAlcykiCi0KLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCi0jLiAiSEVBRCBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgotbXNnc3RyICIoSEVBRCBkw6l0YWNow6llIGRlcHVpcyAlcykiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkzCi1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIihhdWN1bmUgYnJhbmNoZSkiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM1CisjOiBidWlsdGluL2JyYW5jaC5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKIG1zZ3N0ciAiTGEgYnJhbmNoZSAlcyBlc3QgZW4gY291cnMgZGUgcmViYXNhZ2Ugc3VyICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzOQorIzogYnVpbHRpbi9icmFuY2guYzo0NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICJMYSBicmFuY2hlICVzIGVzdCBlbiBjb3VycyBkZSBiaXNzZWN0aW9uIHN1ciAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVub21tZXIgbGEgYnJhbmNoZSBhY3R1ZWxsZSwgaWwgbid5IGVuIGEgcGFzLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIk5vbSBkZSBicmFuY2hlIGludmFsaWRlIDogJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkxCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIsOJY2hlYyBkZSByZW5vbW1hZ2UgZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJSZW5vbW1hZ2UgZCd1biBicmFuY2hlIG1hbCBub21tw6llICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CisjOiBidWlsdGluL2JyYW5jaC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJMYSBicmFuY2hlIGEgw6l0w6kgcmVub21tw6llIGVuICVzLCBtYWlzIEhFQUQgbidlc3QgcGFzIG1pc2Ugw6Agam91ciAhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NQorIzogYnVpbHRpbi9icmFuY2guYzo1MDYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKICJMYSBicmFuY2hlIGVzdCByZW5vbW3DqWUsIG1haXMgbGEgbWlzZSDDoCBqb3VyIGR1IGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBhICIKICLDqWNob3XDqSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKQEAgLTU0MDQsMTY3ICs1NjkzLDE3NiBAQAogIiAgJXNcbiIKICJMZXMgbGlnbmVzIGNvbW1lbsOnYW50IHBhciAnJWMnIHNlcm9udCBpZ25vcsOpZXMuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzCisjOiBidWlsdGluL2JyYW5jaC5jOjU1NQogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiT3B0aW9ucyBnw6luw6lyaXF1ZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU1NwogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJhZmZpY2hlciBsZSBoYWNoYWdlIGV0IGxlIHN1amV0LCBkb3VibMOpIHBvdXIgbGEgYnJhbmNoZSBhbW9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU4CiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyBtZXNzYWdlcyBkJ2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NworIzogYnVpbHRpbi9icmFuY2guYzo1NTkKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAicsOpZ2xlciBsZSBtb2RlIGRlIHN1aXZpICh2b2lyIGdpdC1wdWxsKDEpKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCiBtc2dpZCAiY2hhbmdlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIm1vZGlmaWVyIGwnaW5mb3JtYXRpb24gYW1vbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICJhbW9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJtb2RpZmllciBsJ2luZm9ybWF0aW9uIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9icmFuY2guYzo1NjQKIG1zZ2lkICJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiRMOpc2FjdGl2ZXIgbCdpbmZvcm1hdGlvbiBhbW9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY1CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJ1dGlsaXNlciBsYSBjb2xvcmF0aW9uIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9icmFuY2guYzo1NjYKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJhZ2lyIHN1ciBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZGlzdGFudGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NiBidWlsdGluL2JyYW5jaC5jOjY1NworIzogYnVpbHRpbi9icmFuY2guYzo1NjggYnVpbHRpbi9icmFuY2guYzo1NzAKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGJyYW5jaGVzIHF1aSBjb250aWVubmVudCBsZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwCisjOiBidWlsdGluL2JyYW5jaC5jOjU2OSBidWlsdGluL2JyYW5jaC5jOjU3MQorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYnJhbmNoZXMgcXVpIG5lIGNvbnRpZW5uZW50IHBhcyBsZSBjb21taXQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc0CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiQWN0aW9ucyBzcMOpY2lmaXF1ZXMgw6AgZ2l0LWJyYW5jaCA6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9icmFuY2guYzo1NzUKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgw6AgbGEgZm9pcyBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZXQgbGVzIGJyYW5jaGVzIGxvY2FsZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL2JyYW5jaC5jOjU3NwogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICJzdXBwcmltZXIgdW5lIGJyYW5jaGUgdG90YWxlbWVudCBmdXNpb25uw6llIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9icmFuY2guYzo1NzgKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJzdXBwcmltZXIgdW5lIGJyYW5jaGUgKG3Dqm1lIG5vbiBmdXNpb25uw6llKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc5CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgImTDqXBsYWNlci9yZW5vbW1lciB1bmUgYnJhbmNoZSBldCBzb24gcmVmbG9nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NgorIzogYnVpbHRpbi9icmFuY2guYzo1ODAKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJkw6lwbGFjZXIvcmVub21tZXIgdW5lIGJyYW5jaGUsIG3Dqm1lIHNpIGxhIGNpYmxlIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgxCiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub21zIGRlcyBicmFuY2hlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgyCiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgImNyw6llciBsZSByZWZsb2cgZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg0CiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgIsOpZGl0ZXIgbGEgZGVzY3JpcHRpb24gZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAiZm9yY2VyIGxhIGNyw6lhdGlvbiwgbGUgZMOpcGxhY2VtZW50L3Jlbm9tbWFnZSwgb3UgbGEgc3VwcHJlc3Npb24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcyCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NgogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGJyYW5jaGVzIHF1aSBzb250IGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MworIzogYnVpbHRpbi9icmFuY2guYzo1ODcKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYnJhbmNoZXMgcXVpIG5lIHNvbnQgcGFzIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NAorIzogYnVpbHRpbi9icmFuY2guYzo1ODgKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBicmFuY2hlcyBlbiBjb2xvbm5lcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzUgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjM4MQorIzogYnVpbHRpbi9icmFuY2guYzo1ODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgImtleSIKIG1zZ3N0ciAiY2zDqSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjM4MgorIzogYnVpbHRpbi9icmFuY2guYzo1OTAgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MCBidWlsdGluL3RhZy5jOjQyOAogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAibm9tIGR1IGNoYW1wIHNlcnZhbnQgw6AgdHJpZXIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc4IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9ub3Rlcy5jOjQwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNyBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vbm90ZXMuYzo1NzAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg0CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyIGJ1aWx0aW4vbm90ZXMuYzo0MDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3MCBidWlsdGluL25vdGVzLmM6NTczCisjOiBidWlsdGluL3RhZy5jOjQzMAogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAib2JqZXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc5CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBicmFuY2hlcyBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2IGJ1aWx0aW4vdGFnLmM6Mzg4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4IGJ1aWx0aW4vdGFnLmM6NDM1CiBtc2dpZCAic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIgogbXNnc3RyICJsZSB0cmkgZXQgbGUgZmlsdHJhZ2Ugc29udCBub24tc2Vuc2libGVzIMOgIGxhIGNhc3NlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY5OAorIzogYnVpbHRpbi9icmFuY2guYzo1OTYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQzNAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKK21zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgorbXNnc3RyICJmb3JtYXQgw6AgdXRpbGlzZXIgcG91ciBsYSBzb3J0aWUiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE1CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIsOJY2hlYyBkZSByw6lzb2x1dGlvbiBkZSBIRUFEIGNvbW1lIHLDqWbDqXJlbmNlIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzAyIGJ1aWx0aW4vY2xvbmUuYzo3MDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE5IGJ1aWx0aW4vY2xvbmUuYzo3MjgKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKIG1zZ3N0ciAiSEVBRCBub24gdHJvdXbDqWUgc291cyByZWZzL2hlYWRzICEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI0CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gZXQgLS12ZXJib3NlIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzUgYnVpbHRpbi9icmFuY2guYzo3ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzIGJ1aWx0aW4vYnJhbmNoLmM6NzA1CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgImxlIG5vbSBkZSBicmFuY2hlIGVzdCByZXF1aXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZMOpY3JpcmUgdW5lIEhFQUQgZMOpdGFjaMOpZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg2CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWRpdGVyIGxhIGRlc2NyaXB0aW9uIGRlIHBsdXMgZCd1bmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICJBdWN1biBjb21taXQgc3VyIGxhIGJyYW5jaGUgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc4CisjOiBidWlsdGluL2JyYW5jaC5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgIkF1Y3VuZSBicmFuY2hlIG5vbW3DqWUgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkzCisjOiBidWlsdGluL2JyYW5jaC5jOjcxMQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgInRyb3AgZGUgYnJhbmNoZXMgcG91ciB1bmUgb3DDqXJhdGlvbiBkZSByZW5vbW1hZ2UiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk4CisjOiBidWlsdGluL2JyYW5jaC5jOjcxNgogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgInRyb3AgZGUgYnJhbmNoZXMgcG91ciBzcMOpY2lmaWVyIHVuZSBicmFuY2hlIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgpAQCAtNTU3Miw0MSArNTg3MCw0MSBAQAogImltcG9zc2libGUgZGUgc3DDqWNpZmllciB1bmUgYnJhbmNoZSBhbW9udCBkZSBIRUFEIHBhciAlcyBxdWkgbmUgcG9pbnRlIHN1ciAiCiAiYXVjdW5lIGJyYW5jaGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNSBidWlsdGluL2JyYW5jaC5jOjgyNyBidWlsdGluL2JyYW5jaC5jOjg0OAorIzogYnVpbHRpbi9icmFuY2guYzo3MjMgYnVpbHRpbi9icmFuY2guYzo3NDUgYnVpbHRpbi9icmFuY2guYzo3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAicGFzIGRlIGJyYW5jaGUgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJsYSBicmFuY2hlICclcycgbidleGlzdGUgcGFzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMQorIzogYnVpbHRpbi9icmFuY2guYzo3MzkKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byB1bnNldCB1cHN0cmVhbSIKIG1zZ3N0ciAidHJvcCBkZSBicmFuY2hlcyBwb3VyIGTDqXNhY3RpdmVyIHVuIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNQorIzogYnVpbHRpbi9icmFuY2guYzo3NDMKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkZSBkw6lzYWN0aXZlciB1bmUgYnJhbmNoZSBhbW9udCBkZSBIRUFEIHF1YW5kIGVsbGUgbmUgcG9pbnRlIHN1ciAiCiAiYXVjdW5lIGJyYW5jaGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMQorIzogYnVpbHRpbi9icmFuY2guYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICJMYSBicmFuY2hlICclcycgbidhIGF1Y3VuZSBpbmZvcm1hdGlvbiBkZSBicmFuY2hlIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0NQorIzogYnVpbHRpbi9icmFuY2guYzo3NjMKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgImNyw6llciBtYW51ZWxsZW1lbnQgJ0hFQUQnIG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogImxlcyBvcHRpb25zIC1hIGV0IC1yIGRlICdnaXQgYnJhbmNoJyBuJ29udCBwYXMgZGUgc2VucyBhdmVjIHVuIG5vbSBkZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NAorIzogYnVpbHRpbi9icmFuY2guYzo3NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCkBAIC01NjE1LDcgKzU5MTMsNyBAQAogImwnb3B0aW9uIC0tc2V0LXVwc3RyZWFtIGVzdCBvYnNvbMOodGUgZXQgdmEgZGlzcGFyYcOudHJlLiBVdGlsaXNleiBwbHV0w7R0IC0tIgogInRyYWNrIG91IC0tc2V0LXVwc3RyZWFtLXRvXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODcxCisjOiBidWlsdGluL2JyYW5jaC5jOjc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01NjI2LDIwICs1OTI0LDIwIEBACiAiU2kgdm91cyB2b3VsaWV6IHF1ZSAnJXMnIHN1aXZlICclcycsIGZhaXRlcyBjZWNpIDpcbiIKICJcbiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo1MQorIzogYnVpbHRpbi9idW5kbGUuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBva2F5XG4iCiBtc2dzdHIgIiVzIGVzdCBjb3JyZWN0XG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjQKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgogbXNnc3RyICJMYSBjcsOpYXRpb24gZCd1biBjb2xpcyByZXF1aWVydCB1biBkw6lww7R0LiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2OAorIzogYnVpbHRpbi9idW5kbGUuYzo2MgogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiTGUgZMOpcGFxdWV0YWdlIGQndW4gY29saXMgcmVxdWllcnQgdW4gZMOpcMO0dC4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTkKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKICJwIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGF0aD5dIDxvYmplY3Q+IgpAQCAtNTY0Nyw3ICs1OTQ1LDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vdy10eXBlXSB8IC1zIFstLWFsbG93LXVua25vdy10eXBlXSB8IC1lIHwgLXAgIgogInwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08Y2hlbWluPl0gPG9iamV0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUyMAogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCiAiZmlsdGVyc10iCkBAIC01NjU1LDMwOSArNTk1MywzMDkgQEAKICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCiAiZmlsdGVyc10iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTcKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjx0eXBlPiBwZXV0IMOqdHJlIDogYmxvYiwgdHJlZSwgY29tbWl0IG91IHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OAogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgImFmZmljaGVyIGxlIHR5cGUgZGUgbCdvYmpldCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OQogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgImFmZmljaGVyIGxhIHRhaWxsZSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxCiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJzb3J0aXIgYXZlYyB1biBjb2RlIGQnZXJyZXVyIG51bCBxdWFuZCBpbCBuJ3kgYSBhdWN1bmUgZXJyZXVyIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYyCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImFmZmljaGVyIGF2ZWMgbWlzZSBlbiBmb3JtZSBsZSBjb250ZW51IGRlIGwnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAicG91ciBsZXMgb2JqZXRzIGJsb2IsIGxhbmNlciB0ZXh0Y29udiBzdXIgbGUgY29udGVudSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY2CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAicG91ciBsZXMgb2JqZXRzIGJsb2IsIGxhbmNlciBsZXMgZmlsdHJlcyBzdXIgbGUgY29udGVudSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3IGdpdC1zdWJtb2R1bGUuc2g6OTQ0CiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAiYmxvYiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2OAogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICJ1dGlsaXNlciB1biBjaGVtaW4gc3DDqWNpZmlxdWUgcG91ciAtLXRleHRjb252Ly0tZmlsdGVycyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAiYXV0b3Jpc2VyIC1zIGV0IC10IMOgIHRyYXZhaWxsZXIgc3VyIGRlcyBvYmpldHMgY2Fzc8Opcy9jb3Jyb21wdXMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzEKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgImJ1ZmZlcmlzZXIgbGEgc29ydGllIGRlIC0tYmF0Y2giCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIGV0IGxlIGNvbnRlbnUgZGVzIG9iamV0cyBwYXNzw6lzIGVuIGVudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzYKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImFmZmljaGVyIGwnaW5mb3JtYXRpb24gZGVzIG9iamV0cyBwYXNzw6lzIGVuIGVudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzkKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgIiIKICJzdWl2cmUgbGVzIGxpZW5zIHN5bWJvbGlxdWUgaW50ZXJuZXMgw6AgbGEgY29waWUgZGUgdHJhdmFpbCAodXRpbGlzw6kgYXZlYyAtLSIKICJiYXRjaCBvdSAtLWJhdGNoLWNoZWNrKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4MQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgIm1vbnRyZXIgdG91cyBsZXMgb2JqZXRzIGF2ZWMgLS1iYXRjaCBvdSAtLWJhdGNoLWNoZWNrIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKIG1zZ2lkICJnaXQgY2hlY2stYXR0ciBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0gWy0tXSA8cGF0aG5hbWU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2stYXR0ciBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0gWy0tXSA8Y2hlbWluPi4uLiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTkKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICJhZmZpY2hlciB0b3VzIGxlcyBhdHRyaWJ1dHMgYXNzb2Npw6lzIGF1IGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQogbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJ1dGlsaXNlciAuZ2l0YXR0cmlidXRlcyBzZXVsZW1lbnQgZGVwdWlzIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICJsaXJlIGxlcyBub21zIGRlIGZpY2hpZXIgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjQgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAidGVybWluZXIgbGVzIGVucmVnaXN0cmVtZW50cyBlbiBlbnRyw6llIGV0IGVuIHNvcnRpZSBwYXIgdW4gY2FyYWN0w6hyZSBOVUwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExNDAgYnVpbHRpbi9nYy5jOjMzMgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2djLmM6MzU3CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJzdXBwcmltZXIgbCfDqXRhdCBkJ2F2YW5jZW1lbnQiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGNoZW1pbnMgZW4gZW50csOpZSBxdWkgbmUgY29ycmVzcG9uZGVudCBwYXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MzAKIG1zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKIG1zZ3N0ciAiaWdub3JlciBsJ2luZGV4IHBlbmRhbnQgbGEgdsOpcmlmaWNhdGlvbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU4CiBtc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzcMOpY2lmaWVyIGxlcyBjaGVtaW5zIGF2ZWMgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxCiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IG4nYSBkZSBzZW5zIHF1J2F2ZWMgbCdvcHRpb24gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgImF1Y3VuIGNoZW1pbiBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjcKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCBuJ2VzdCB2YWxpZGUgcXUnYXZlYyB1biBzZXVsIGNoZW1pbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgImltcG9zc2libGUgZCdhdm9pciAtLXF1aWV0IGV0IC0tdmVyYm9zZSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyCiBtc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKIG1zZ3N0ciAiLS1ub24tbWF0Y2hpbmcgbidlc3QgdmFsaWRlIHF1J2F2ZWMgLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo4CisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo5CiBtc2dpZCAiZ2l0IGNoZWNrLW1haWxtYXAgWzxvcHRpb25zPl0gPGNvbnRhY3Q+Li4uIgogbXNnc3RyICJnaXQgY2hlY2stbWFpbG1hcCBbPG9wdGlvbnM+XSA8Y29udGFjdD4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjEzCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxNAogbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsaXJlIGF1c3NpIGxlcyBjb250YWN0cyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNAorIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbnRhY3Q6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29udGFjdCA6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0NworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDgKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgImF1Y3VuIGNvbnRhY3Qgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyNworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpY2hpZXI+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NQogbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgogbXNnc3RyICJzdGFnZSBkb2l0IHZhbG9pciBlbnRyZSAxIGV0IDMsIG91IGFsbCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQogbXNnaWQgImNoZWNrIG91dCBhbGwgZmlsZXMgaW4gdGhlIGluZGV4IgogbXNnc3RyICJleHRyYWlyZSB0b3VzIGxlcyBmaWNoaWVycyBwcsOpc2VudHMgZGFucyBsJ2luZGV4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYyCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICJmb3JjZXIgbCfDqWNyYXNlbWVudCBkZXMgZmljaGllcnMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYzCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKIG1zZ3N0ciAiIgogInBhcyBkJ2F2ZXJ0aXNzZW1lbnQgcG91ciBsZXMgZmljaGllcnMgZXhpc3RhbnRzIGV0IGxlcyBmaWNoaWVycyBhYnNlbnRzIGRlICIKICJsJ2luZGV4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY2CiBtc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgogbXNnc3RyICJuZSBwYXMgZXh0cmFpcmUgbGVzIG5vdXZlYXV4IGZpY2hpZXJzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGwnaW5mb3JtYXRpb24gZGUgc3RhdCBkYW5zIGxlIGZpY2hpZXIgZCdpbmRleCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGlyZSBsYSBsaXN0ZSBkZXMgY2hlbWlucyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTczCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0CiBtc2dpZCAid3JpdGUgdGhlIGNvbnRlbnQgdG8gdGVtcG9yYXJ5IGZpbGVzIgogbXNnc3RyICLDqWNyaXJlIGxlIGNvbnRlbnUgZGFucyBkZXMgZmljaGllcnMgdGVtcG9yYWlyZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQgYnVpbHRpbi9jb2x1bW4uYzozMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUgYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzgKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgImNoYcOubmUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzYKIG1zZ2lkICJ3aGVuIGNyZWF0aW5nIGZpbGVzLCBwcmVwZW5kIDxzdHJpbmc+IgogbXNnc3RyICJsb3JzIGRlIGxhIGNyw6lhdGlvbiBkZSBmaWNoaWVycywgcHLDqWZpeGVyIHBhciA8Y2hhw65uZT4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzgKIG1zZ2lkICJjb3B5IG91dCB0aGUgZmlsZXMgZnJvbSBuYW1lZCBzdGFnZSIKIG1zZ3N0ciAiY29waWVyIGxlcyBmaWNoaWVycyBkZXB1aXMgbCdpbmRleCBub21tw6kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIDxicmFuY2g+IgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gPGJyYW5jaGU+IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNwogbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoZT5dIC0tIDxmaWNoaWVyPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNCBidWlsdGluL2NoZWNrb3V0LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nYSBwYXMgbm90cmUgdmVyc2lvbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIHBhcyBsZXVyIHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIGF1Y3VuZSBkZXMgdmVyc2lvbnMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIHBhcyBsZXMgdmVyc2lvbnMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICJjaGVtaW4gJyVzJyA6IGltcG9zc2libGUgZGUgZnVzaW9ubmVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWpvdXRlciBsZSByw6lzdWx0YXQgZGUgZnVzaW9uIHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1MCBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjI1NiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIGRlcyBtaXNlcyDDoCBqb3VyIGRlIGNoZW1pbnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjIgYnVpbHRpbi9jaGVja291dC5jOjI2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2NSBidWlsdGluL2NoZWNrb3V0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGVzIGNoZW1pbnMgZXQgYmFzY3VsZXIgc3VyIGxhIGJyYW5jaGUgJyVzJyBlbiAiCiAibcOqbWUgdGVtcHMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzM5IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDIgYnVpbHRpbi9jaGVja291dC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nZXN0IHBhcyBmdXNpb25uw6kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTcKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAidm91cyBkZXZleiBkJ2Fib3JkIHLDqXNvdWRyZSB2b3RyZSBpbmRleCBjb3VyYW50IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZhaXJlIHVuIHJlZmxvZyBwb3VyICclcyfCoDogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjY2OQogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIGVzdCBtYWludGVuYW50IHN1ciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3MCBidWlsdGluL2Nsb25lLmM6NjYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjczIGJ1aWx0aW4vY2xvbmUuYzo2ODIKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgSEVBRCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NAorIzogYnVpbHRpbi9jaGVja291dC5jOjY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJSZW1pc2Ugw6AgesOpcm8gZGUgbGEgYnJhbmNoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIkTDqWrDoCBzdXIgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJCYXNjdWxlbWVudCBldCByZW1pc2Ugw6AgesOpcm8gZGUgbGEgYnJhbmNoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODMgYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODYgYnVpbHRpbi9jaGVja291dC5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiQmFzY3VsZW1lbnQgc3VyIGxhIG5vdXZlbGxlIGJyYW5jaGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njg1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkJhc2N1bGVtZW50IHN1ciBsYSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczNgorIzogYnVpbHRpbi9jaGVja291dC5jOjczOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIgLi4uIGV0ICVkIGVuIHBsdXMuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC01OTgwLDcgKzYyNzgsNyBAQAogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtNjAwOSwxNjYgKzYzMDcsMTYyIEBACiAiZ2l0IGJyYW5jaCA8bm91dmVsbGUtYnJhbmNoZT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjgwMAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImVycmV1ciBpbnRlcm5lIGxvcnMgZHUgcGFyY291cnMgZGVzIHLDqXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiTGEgcG9zaXRpb24gcHLDqWPDqWRlbnRlIGRlIEhFQUQgw6l0YWl0IHN1ciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgyOCBidWlsdGluL2NoZWNrb3V0LmM6MTA2NworIzogYnVpbHRpbi9jaGVja291dC5jOjgzMiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MAogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgc3VyIHVuZSBicmFuY2hlIHF1aSBkb2l0IGVuY29yZSBuYcOudHJlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTczCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgogbXNnc3RyICJ1bmUgc2V1bGUgcsOpZsOpcmVuY2UgYXR0ZW5kdWUsICVkIGZvdXJuaWVzLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTMgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTYgYnVpbHRpbi93b3JrdHJlZS5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgInLDqWbDqXJlbmNlIGludmFsaWRlIDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlIG4nZXN0IHBhcyB1biBhcmJyZSA6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODQKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ3V0aWxpc2VyIGRlcyBjaGVtaW5zIGF2ZWMgdW4gYmFzY3VsZW1lbnQgZGUgYnJhbmNoZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NyBidWlsdGluL2NoZWNrb3V0LmM6MTA5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICInJXMnIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgdW4gYmFzY3VsZW1lbnQgZGUgYnJhbmNoZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTUgYnVpbHRpbi9jaGVja291dC5jOjEwOTggYnVpbHRpbi9jaGVja291dC5jOjExMDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGJhc2N1bGVyIGRlIGJyYW5jaGUgdmVycyAnJXMnIHF1aSBuJ2VzdCBwYXMgdW4gY29tbWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MSBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2Nsb25lLmM6OTMKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vY2xvbmUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTY4IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzAKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgImJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NQogbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJjcsOpZXIgZXQgZXh0cmFpcmUgdW5lIG5vdXZlbGxlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NwogbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCiBtc2dzdHIgImNyw6llci9yw6lpbml0aWFsaXNlciBldCBleHRyYWlyZSB1bmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ4CiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiY3LDqWVyIHVuIHJlZmxvZyBwb3VyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OSBidWlsdGluL3dvcmt0cmVlLmM6MzMyCiBtc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJkw6l0YWNoZXIgbGEgSEVBRCBhdSBjb21taXQgbm9tbcOpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAicGFyYW3DqXRyZXIgbGVzIGNvb3Jkb25uw6llcyBkZSBicmFuY2hlIGFtb250IHBvdXIgdW5lIG5vdXZlbGxlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldy1icmFuY2giCiBtc2dzdHIgIm5vdXZlbGxlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAibm91dmVsbGUgYnJhbmNoZSBzYW5zIHBhcmVudCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJleHRyYWlyZSBub3RyZSB2ZXJzaW9uIHBvdXIgbGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiZXh0cmFpcmUgbGV1ciB2ZXJzaW9uIHBvdXIgbGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTcKIG1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKIG1zZ3N0ciAiZm9yY2VyIGwnZXh0cmFjdGlvbiAobGFpc3NlciB0b21iZXIgbGVzIG1vZGlmaWNhdGlvbnMgbG9jYWxlcykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICJlZmZlY3R1ZXIgdW5lIGZ1c2lvbiDDoCAzIHBvaW50cyBhdmVjIGxhIG5vdXZlbGxlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2IGJ1aWx0aW4vbWVyZ2UuYzoyMzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU5IGJ1aWx0aW4vbWVyZ2UuYzoyMzUKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBpZ25vcsOpcyAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NyBidWlsdGluL2xvZy5jOjE0NjYgcGFyc2Utb3B0aW9ucy5oOjI1MQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAgYnVpbHRpbi9sb2cuYzoxNDgzIHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAic3R5bGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MQogbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCiBtc2dzdHIgInN0eWxlIGRlIGNvbmZsaXQgKG1lcmdlIChmdXNpb24pIG91IGRpZmYzKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY0CiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICJuZSBwYXMgbGltaXRlciBsZXMgc3DDqWNpZmljYXRldXJzIGRlIGNoZW1pbnMgYXV4IHNldWxzIMOpbMOpbWVudHMgY3JldXgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NgogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIgogbXNnc3RyICJyw6llc3NheWVyIGQnaW50ZXJwcsOpdGVyICdnaXQgY2hlY2tvdXQgPGJyYW5jaGUtaW5leGlzdGFudGU+JyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY4CiBtc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgogbXNnc3RyICIiCiAibmUgcGFzIHbDqXJpZmllciBzaSB1bmUgYXV0cmUgY29waWUgZGUgdHJhdmFpbCBjb250aWVudCBsZSByw6lmw6lyZW5jZSBmb3VybmllIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NiBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQotIzogYnVpbHRpbi9tZXJnZS5jOjIzMiBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM5Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzIgYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vZmV0Y2guYzoxMTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTIwIGJ1aWx0aW4vcHVzaC5jOjU0NAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgImZvcmNlciBsJ2FmZmljaGFnZSBkZSBsJ8OpdGF0IGQnYXZhbmNlbWVudCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAzCiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgZXQgLS1vcnBoYW4gc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMjAKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgcmVxdWllcnQgdW4gbm9tIGRlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyNQogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiTm9tIGRlIGJyYW5jaGUgbWFucXVhbnQgOyBlc3NheWV6IC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjEKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAic3DDqWNpZmljYXRpb24gZGUgY2hlbWluIGludmFsaWRlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgotIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IgorbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCiBtc2dzdHIgIiIKLSJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxlcyBjaGVtaW5zIGV0IGRlIGJhc2N1bGVyIHN1ciBsYSBicmFuY2hlICclcycgIgotImVuIG3Dqm1lIHRlbXBzLlxuIgotIlNvdWhhaXRpZXotdm91cyBleHRyYWlyZSAnJXMnIHF1aSBuZSBwZXV0IMOqdHJlIHLDqXNvbHUgY29tbWUgY29tbWl0ID8iCisiJyVzJyBuJ2VzdCBwYXMgdW4gY29tbWl0IGV0IHVuZSBicmFuY2hlICclcycgbmUgcGV1dCBwYXMgw6p0cmUgY3LDqcOpZSBkZXB1aXMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIG4nYWNjZXB0ZSBwYXMgdW4gYXJndW1lbnQgZGUgY2hlbWluICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI3NgogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTYxNzYsMzggKzY0NzAsMzggQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBldCAtLW1lcmdlIHNvbnQgaW5jb21wYXRpYmxlcyBsb3JzXG4iCiAiZGUgbCdleHRyYWN0aW9uIGRlIGwnaW5kZXguIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyNgogbXNnaWQgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8bW90aWY+XSBbLXggfCAtWF0gWy0tXSA8Y2hlbWlucz4uLi4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIlN1cHByZXNzaW9uIGRlICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMAorIzogYnVpbHRpbi9jbGVhbi5jOjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICJTdXBwcmltZXJhaXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJJZ25vcmUgbGUgZMOpcMO0dCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiSWdub3JlcmFpdCBsZSBkw6lww7R0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMworIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBzdXBwcmVzc2lvbiBkZSAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyMworIzogYnVpbHRpbi9jbGVhbi5jOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC02MjIwLDcgKzY1MTQsNyBAQAogImZvbyAgICAgICAgIC0gc8OpbGVjdGlvbm5lciB1biDDqWzDqW1lbnQgcGFyIHVuIHByw6lmaXhlIHVuaXF1ZVxuIgogIiAgICAgICAgICAgIC0gKHZpZGUpIG5lIHJpZW4gc8OpbGVjdGlvbm5lclxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzAyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTYyNDEsMzggKzY1MzUsMzggQEAKICIqICAgICAgICAgIC0gY2hvaXNpciB0b3VzIGxlcyDDqWzDqW1lbnRzXG4iCiAiICAgICAgICAgICAtICh2aWRlKSB0ZXJtaW5lciBsYSBzw6lsZWN0aW9uXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1OTgKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjAzCisjOiBidWlsdGluL2NsZWFuLmM6NTE4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTQ3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1MgogIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSHVoICglcyk/XG4iCiBtc2dzdHIgIkhlaW4gKCVzKcKgP1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjUzCisjOiBidWlsdGluL2NsZWFuLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAiRW50cmV6IGxlcyBtb3RpZnMgw6AgaWdub3Jlcj4+ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5MAorIzogYnVpbHRpbi9jbGVhbi5jOjY5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAiQVRURU5USU9OIDogSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlcyDDqWzDqW1lbnRzIGNvcnJlc3BvbmRhbnQgw6AgOiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxMQorIzogYnVpbHRpbi9jbGVhbi5jOjcxOAogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIlPDqWxlY3Rpb25uZXIgbGVzIMOpbMOpbWVudHMgw6Agc3VwcHJpbWVyIgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGtlZXAgW3kvTl0gYXMgaXMKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZlICVzIFt5L05dPyAiCiBtc2dzdHIgIlN1cHByaW1lciAlcyBbeS9OXSA/ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc3NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJ5ZS5cbiIKIG1zZ3N0ciAiQXUgcmV2b2lyLlxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg1CisjOiBidWlsdGluL2NsZWFuLmM6NzkyCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTYyOTAsNjIgKzY1ODQsNjMgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0gY2V0IMOpY3JhblxuIgogIj8gICAgICAgICAgICAgICAgICAgLSBhaWRlIHBvdXIgbGEgc8OpbGVjdGlvbiBlbiBsaWduZSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjkyCiBtc2dpZCAiKioqIENvbW1hbmRzICoqKiIKIG1zZ3N0ciAiKioqIENvbW1hbmRlcyAqKioiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQyCisjOiBidWlsdGluL2NsZWFuLmM6ODIwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4OQogbXNnaWQgIldoYXQgbm93IgogbXNnc3RyICJFdCBtYWludGVuYW50ID8iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJTdXBwcmltZXJhaXQgbCfDqWzDqW1lbnQgc3VpdmFudCA6IgogbXNnc3RyWzFdICJTdXBwcmltZXJhaXQgbGVzIMOpbMOpbWVudHMgc3VpdmFudHMgOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgzOAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NAogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICJQbHVzIGRlIGZpY2hpZXIgw6AgbmV0dG95ZXIsIHNvcnRpZS4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDYKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxlcyBub21zIGRlcyBmaWNoaWVycyBzdXBwcmltw6lzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcxCisjOiBidWlsdGluL2NsZWFuLmM6OTA4CiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgImZvcmNlciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3MgorIzogYnVpbHRpbi9jbGVhbi5jOjkwOQogbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgogbXNnc3RyICJuZXR0b3lhZ2UgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NAorIzogYnVpbHRpbi9jbGVhbi5jOjkxMQogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyByw6lwZXJ0b2lyZXMgZW50aWVycyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2Rlc2NyaWJlLmM6NDA3IGJ1aWx0aW4vZ3JlcC5jOjEwNTYKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzggYnVpbHRpbi9uYW1lLXJldi5jOjMxMyBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL2NsZWFuLmM6OTEyIGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTIgYnVpbHRpbi9kZXNjcmliZS5jOjQ1NAorIzogYnVpbHRpbi9ncmVwLmM6MTA4MiBidWlsdGluL2xzLWZpbGVzLmM6NTQ2IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTkgYnVpbHRpbi9zaG93LXJlZi5jOjE3NgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIm1vdGlmIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc2CisjOiBidWlsdGluL2NsZWFuLmM6OTEzCiBtc2dpZCAiYWRkIDxwYXR0ZXJuPiB0byBpZ25vcmUgcnVsZXMiCiBtc2dzdHIgImFqb3V0ZXIgPG1vdGlmPiBhdXggcsOoZ2xlcyBpZ25vcmUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICJzdXBwcmltZXIgbGVzIGZpY2hpZXJzIGlnbm9yw6lzLCBhdXNzaSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3OQorIzogYnVpbHRpbi9jbGVhbi5jOjkxNgogbXNnaWQgInJlbW92ZSBvbmx5IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInN1cHByaW1lciBzZXVsZW1lbnQgbGVzIGZpY2hpZXJzIGlnbm9yw6lzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODk3CisjOiBidWlsdGluL2NsZWFuLmM6OTM0CiBtc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIteCBldCAtWCBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqXMgZW5zZW1ibGUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzgKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCiAiY2xlYW4iCkBAIC02MzUzLDcgKzY2NDgsNyBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBwb3NpdGlvbm7DqSDDoCB0cnVlIGV0IG5pIC1pLCAtbiBvdSAtZiBmb3VybmkgOyByZWZ1cyBkZSAiCiAibmV0dG95ZXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5NDEKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIGRlZmF1bHRzIHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47ICIKICJyZWZ1c2luZyB0byBjbGVhbiIKQEAgLTYzNjEsMTM0ICs2NjU2LDE0NSBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSDDoCB0cnVlIHBhciBkw6lmYXV0IGV0IG5pIC1pLCAtbiBvdSAtZiBmb3VybmkgOyByZWZ1cyBkZSAiCiAibmV0dG95ZXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNworIzogYnVpbHRpbi9jbG9uZS5jOjM4CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxkw6lww7R0PiBbPHLDqXBlcnRvaXJlPl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NQorIzogYnVpbHRpbi9jbG9uZS5jOjgyCiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgIm5lIHBhcyBjcsOpZXIgZCdleHRyYWN0aW9uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2luaXQtZGIuYzo0NzkKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImNyw6llciB1biBkw6lww7R0IG51IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJjcsOpZXIgdW4gZMOpcMO0dCBtaXJvaXIgKGltcGxpcXVlIGTDqXDDtHQgbnUpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OQogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJwb3VyIGNsb25lciBkZXB1aXMgdW4gZMOpcMO0dCBsb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAibmUgcGFzIHV0aWxpc2VyIGRlIGxpZW5zIGR1cnMgbG9jYXV4LCB0b3Vqb3VycyBjb3BpZXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NgorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgInLDqWdsZXIgY29tbWUgZMOpcMO0dCBwYXJ0YWfDqSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc4IGJ1aWx0aW4vY2xvbmUuYzo4MAorIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vY2xvbmUuYzo5OQorbXNnaWQgInBhdGhzcGVjIgorbXNnc3RyICJzcMOpY2lmaWNhdGV1ciBkZSBjaGVtaW4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2Nsb25lLmM6OTkKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICJpbml0aWFsaXNlciBsZXMgc291cy1tb2R1bGVzIGRhbnMgbGUgY2xvbmUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjEwMgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHNvdXMtbW9kdWxlcyBjbG9uw6lzIGVuIHBhcmFsbMOobGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMgYnVpbHRpbi9pbml0LWRiLmM6NDc2CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICJyw6lwZXJ0b2lyZS1tb2TDqGxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODQgYnVpbHRpbi9pbml0LWRiLmM6NDc2CisjOiBidWlsdGluL2Nsb25lLmM6MTA0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NwogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgInLDqXBlcnRvaXJlIGRlcHVpcyBsZXF1ZWwgbGVzIG1vZMOobGVzIHZvbnQgw6p0cmUgdXRpbGlzw6lzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYgYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgzCiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImTDqXDDtHQgZGUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9jbG9uZS5jOjExMAogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgInV0aWxpc2VyIHNldWxlbWVudCAtLXJlZmVyZW5jZSBwb3VyIGNsb25lciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIm5vbSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyCisjOiBidWlsdGluL2Nsb25lLmM6MTEyCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJ1dGlsaXNlciA8bm9tPiBhdSBsaWV1IGRlICdvcmlnaW4nIHBvdXIgc3VpdnJlIGxhIGJyYW5jaGUgYW1vbnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NAorIzogYnVpbHRpbi9jbG9uZS5jOjExNAogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgImV4dHJhaXJlIDxicmFuY2hlPiBhdSBsaWV1IGRlIGxhIEhFQUQgZHUgcsOpcGVydG9pcmUgZGlzdGFudCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2CisjOiBidWlsdGluL2Nsb25lLmM6MTE2CiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAiY2hlbWluIHZlcnMgZ2l0LXVwbG9hZC1wYWNrIHN1ciBsZSBzZXJ2ZXVyIGRpc3RhbnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjk5OSBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTcgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL2dyZXAuYzoxMDI1CisjOiBidWlsdGluL3B1bGwuYzoyMDUKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAicHJvZm9uZGV1ciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4CisjOiBidWlsdGluL2Nsb25lLmM6MTE4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICJjcsOpZXIgdW4gY2xvbmUgc3VwZXJmaWNpZWwgZGUgY2V0dGUgcHJvZm9uZGV1ciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vZmV0Y2guYzoxMjIgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM2CisjOiBidWlsdGluL2Nsb25lLmM6MTE5IGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMyCiAjOiBwYXJzZS1vcHRpb25zLmg6MTQyCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAiaGV1cmUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKIG1zZ3N0ciAiY3LDqWVyIHVuIGNsb25lIHN1cGVyZmljaWVsIGRlcHVpcyB1bmUgZGF0ZSBzcMOpY2lmaXF1ZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2ZldGNoLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTkKIG1zZ2lkICJyZXZpc2lvbiIKIG1zZ3N0ciAicsOpdmlzaW9uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIgYnVpbHRpbi9mZXRjaC5jOjEyMAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgIiIKICJhcHByb2ZvbmRpciBsJ2hpc3RvcmlxdWUgZCd1biBjbG9uZSBzdXBlcmZpY2llbCBlbiBleGNsdWFudCB1bmUgcsOpdmlzaW9uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0CisjOiBidWlsdGluL2Nsb25lLmM6MTI0CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJjbG9uZXIgc2V1bGVtZW50IHVuZSBicmFuY2hlLCBIRUFEIG91IC0tYnJhbmNoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA2CisjOiBidWlsdGluL2Nsb25lLmM6MTI2Cittc2dpZCAiZG9uJ3QgY2xvbmUgYW55IHRhZ3MsIGFuZCBtYWtlIGxhdGVyIGZldGNoZXMgbm90IHRvIGZvbGxvdyB0aGVtIgorbXNnc3RyICIiCisibmUgcGFzIGNsb25lciBsZXMgdGFncyBldCBpbmRpcXVlciBhdSByw6ljdXDDqXJhdGlvbnMgZnV0dXJlcyBkZSBuZSBwYXMgbGUgIgorImZhaXJlIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAidG91cyBsZXMgc291cy1tb2R1bGVzIGNsb27DqXMgc2Vyb250IHN1cGVyZmljaWVscyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInPDqXBhcmVyIGxlIHLDqXBlcnRvaXJlIGdpdCBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5CisjOiBidWlsdGluL2Nsb25lLmM6MTMxCiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJjbMOpPXZhbGV1ciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicsOpZ2xlciBsYSBjb25maWd1cmF0aW9uIGRhbnMgbGUgbm91dmVhdSBkw6lww7R0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTUwCisjOiBidWlsdGluL2Nsb25lLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdXNoLmM6NTU1CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIm4ndXRpbGlzZXIgcXVlIGRlcyBhZHJlc3NlcyBJUHY0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTUyCisjOiBidWlsdGluL2Nsb25lLmM6MTM1IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdXNoLmM6NTU3CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIm4ndXRpbGlzZXIgcXVlIGRlcyBhZHJlc3NlcyBJUHY2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjUwCisjOiBidWlsdGluL2Nsb25lLmM6MjcyCiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTY0OTYsNDIgKzY4MDIsNDIgQEAKICJBdWN1biBub20gZGUgcsOpcGVydG9pcmUgbidhIHB1IMOqdHJlIGRldmluw6lcbiIKICJWZXVpbGxleiBzcMOpY2lmaWVyIHVuIHLDqXBlcnRvaXJlIGRhbnMgbGEgbGlnbmUgZGUgY29tbWFuZGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgImluZm/CoDogaW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgdW5lIGFsdGVybmF0aXZlIHBvdXIgJyVzJ8KgOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzc1CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCiBtc2dzdHIgIsOpY2hlYyDDoCBsJ291dmVydHVyZSBkZSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzgzCisjOiBidWlsdGluL2Nsb25lLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyBleGlzdGUgZXQgbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk3CisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgIsOpY2hlYyBkdSBzdGF0IGRlICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjcsOpYXRpb24gZHUgbGllbiAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIzCisjOiBidWlsdGluL2Nsb25lLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvcGllIHZlcnMgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICJmYWl0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDYwCisjOiBidWlsdGluL2Nsb25lLmM6NDgyCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTY1NDEsMTAzICs2ODQ3LDEwMiBAQAogIlZvdXMgcG91dmV6IGluc3BlY3RlciBjZSBxdWkgYSDDqXTDqSBleHRyYWl0IGF2ZWMgJ2dpdCBzdGF0dXMnXG4iCiAiZXQgcsOpZXNzYXllciBsJ2V4dHJhY3Rpb24gYXZlYyAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1MzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdHJvdXZlciBsYSBicmFuY2hlIGRpc3RhbnRlICclcycgw6AgY2xvbmVyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYzMgorIzogYnVpbHRpbi9jbG9uZS5jOjY1NAogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJsZSBzZXJ2ZXVyIGRpc3RhbnQgbidhIHBhcyBlbnZvecOpIHRvdXMgbGVzIG9iamV0cyBuw6ljZXNzYWlyZXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5NworIzogYnVpbHRpbi9jbG9uZS5jOjcxOQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogImxhIEhFQUQgZGlzdGFudGUgcsOpZsOocmUgw6AgdW5lIHLDqWbDqXJlbmNlIG5vbiBleGlzdGFudGUsIGltcG9zc2libGUgZGUgIgogImwnZXh0cmFpcmUuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTAKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnZXh0cmFpcmUgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2OAorIzogYnVpbHRpbi9jbG9uZS5jOjc5MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZXMgcGFyYW3DqHRyZXMgZGFucyBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlbWJhbGxlciBwb3VyIG5ldHRveWVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMzCisjOiBidWlsdGluL2Nsb25lLmM6ODU3CiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHVubGlua2VyIGxlIGZpY2hpZXIgdGVtcG9yYWlyZSBhbHRlcm5hdGVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY2IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NQorIzogYnVpbHRpbi9jbG9uZS5jOjg5MCBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDUKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJUcm9wIGQnYXJndW1lbnRzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3MAorIzogYnVpbHRpbi9jbG9uZS5jOjg5NAogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiVm91cyBkZXZleiBzcMOpY2lmaWVyIHVuIGTDqXDDtHQgw6AgY2xvbmVyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4MworIzogYnVpbHRpbi9jbG9uZS5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgImxlcyBvcHRpb25zIC0tYmFyZSBldCAtLW9yaWdpbiAlcyBzb250IGluY29tcGF0aWJsZXMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODg2CisjOiBidWlsdGluL2Nsb25lLmM6OTEwCiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIi0tYmFyZSBldCAtLXNlcGFyYXRlLWdpdC1kaXIgc29udCBpbmNvbXBhdGlibGVzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5OQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImxlIGTDqXDDtHQgJyVzJyBuJ2V4aXN0ZSBwYXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjkgYnVpbHRpbi9mZXRjaC5jOjEzMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICJsYSBwcm9mb25kZXVyICVzIG4nZXN0IHBhcyB1biBlbnRpZXIgcG9zaXRpZiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxNQorIzogYnVpbHRpbi9jbG9uZS5jOjkzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICIiCiAibGUgY2hlbWluIGRlIGRlc3RpbmF0aW9uICclcycgZXhpc3RlIGTDqWrDoCBldCBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUgdmlkZS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJsYSBjb3BpZSBkZSB0cmF2YWlsICclcycgZXhpc3RlIGTDqWrDoC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL2RpZmZ0b29sLmM6MjUyCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU5IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjQgYnVpbHRpbi9jbG9uZS5jOjk3NSBidWlsdGluL2RpZmZ0b29sLmM6MjYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlcyByw6lwZXJ0b2lyZXMgZGUgcHJlbWllciBuaXZlYXUgZGFucyAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQzCisjOiBidWlsdGluL2Nsb25lLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIkNsb25hZ2UgZGFucyBsZSBkw6lww7R0IG51ICclcydcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NworIzogYnVpbHRpbi9jbG9uZS5jOjk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICJDbG9uYWdlIGRhbnMgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYzCisjOiBidWlsdGluL2Nsb25lLmM6MTAwNQogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgpAQCAtNjY0NSw4NiArNjk1MCw4NiBAQAogImNsb25lIC0tcmVjdXJzaXZlIG4nZXN0IHBhcyBjb21wYXRpYmxlIGF2ZWMgw6AgbGEgZm9pcyAtLXJlZmVyZW5jZSBldCAtLSIKICJyZWZlcmVuY2UtaWYtYWJsZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDY3CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLWRlcHRoIGVzdCBpZ25vcsOpIGRhbnMgbGVzIGNsb25lcyBsb2NhdXggOiB1dGlsaXNleiBwbHV0w7R0IFwiZmlsZTovL1wiLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDY5CiBtc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tc2hhbGxvdy1zaW5jZSBlc3QgaWdub3LDqSBkYW5zIGxlcyBjbG9uZXMgbG9jYXV4IDogdXRpbGlzZXogcGx1dMO0dCBcImZpbGU6Ly8iCiAiXCIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyMworIzogYnVpbHRpbi9jbG9uZS5jOjEwNzEKIG1zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLXNoYWxsb3ctZXhjbHVkZSBlc3QgaWdub3LDqSBkYW5zIGxlcyBjbG9uZXMgbG9jYXV4IDogdXRpbGlzZXogcGx1dMO0dCAiCiAiXCJmaWxlOi8vXCIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzQKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICJsZSBkw6lww7R0IHNvdXJjZSBlc3Qgc3VwZXJmaWNpZWwsIG9wdGlvbiAtLWxvY2FsIGlnbm9yw6llIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzkKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwgZXN0IGlnbm9yw6kiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM1CisjOiBidWlsdGluL2Nsb25lLmM6MTA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiSmUgbmUgc2FpcyBwYXMgY2xvbmVyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5MCBidWlsdGluL2Nsb25lLmM6MTA5OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMzggYnVpbHRpbi9jbG9uZS5jOjExNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIkxhIGJyYW5jaGUgZGlzdGFudGUgJXMgbidhIHBhcyDDqXTDqSB0cm91dsOpZSBkYW5zIGxlIGTDqXDDtHQgYW1vbnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTE0OQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlZvdXMgc2VtYmxleiBhdm9pciBjbG9uw6kgdW4gZMOpcMO0dCB2aWRlLiIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzo5CisjOiBidWlsdGluL2NvbHVtbi5jOjEwCiBtc2dpZCAiZ2l0IGNvbHVtbiBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbHVtbiBbPG9wdGlvbnM+XSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyNgorIzogYnVpbHRpbi9jb2x1bW4uYzoyNwogbXNnaWQgImxvb2t1cCBjb25maWcgdmFycyIKIG1zZ3N0ciAicmVjaGVyY2hlciBsZXMgdmFyaWFibGVzIGRlIGNvbmZpZ3VyYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9jb2x1bW4uYzoyOAorIzogYnVpbHRpbi9jb2x1bW4uYzoyOCBidWlsdGluL2NvbHVtbi5jOjI5CiBtc2dpZCAibGF5b3V0IHRvIHVzZSIKIG1zZ3N0ciAibWlzZSBlbiBwYWdlIMOgIHV0aWxpc2VyIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI5CisjOiBidWlsdGluL2NvbHVtbi5jOjMwCiBtc2dpZCAiTWF4aW11bSB3aWR0aCIKIG1zZ3N0ciAiTGFyZ2V1ciBtYXhpbWFsZSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMAorIzogYnVpbHRpbi9jb2x1bW4uYzozMQogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gbGVmdCBib3JkZXIiCiBtc2dzdHIgIlJlbXBsaXNzYWdlIGQnZXNwYWNlIHN1ciBsYSBib3JkdXJlIGdhdWNoZSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9jb2x1bW4uYzozMgogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gcmlnaHQgYm9yZGVyIgogbXNnc3RyICJSZW1wbGlzc2FnZSBkJ2VzcGFjZSBzdXIgbGUgY8O0dMOpIGRyb2l0IgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMyCisjOiBidWlsdGluL2NvbHVtbi5jOjMzCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMiCiBtc2dzdHIgIlJlbXBsaXNzYWdlIGQnZXNwYWNlIGVudHJlIGxlcyBjb2xvbm5lcyIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzo1MQorIzogYnVpbHRpbi9jb2x1bW4uYzo1MgogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiLS1jb21tYW5kIGRvaXQgw6p0cmUgbGUgcHJlbWllciBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOAorIzogYnVpbHRpbi9jb21taXQuYzozOQogbXNnaWQgImdpdCBjb21taXQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHNww6ljaWZpY2F0aW9uLWRlLWNoZW1pbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDQKIG1zZ2lkICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxzcMOpY2lmaWNhdGlvbi1kZS1jaGVtaW4+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ5CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTY3MzgsNyArNzA0Myw4IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogbXNnc3RyICIiCi0iVm90cmUgbm9tIGV0IHZvdHJlIGFkcmVzc2UgZS1tYWlsIG9udCDDqXTDqSBjb25maWd1csOpcyBhdXRvbWF0aXF1ZW1lbnQgZW4gc2VcbiIKKyJWb3RyZSBub20gZXQgdm90cmUgYWRyZXNzZSBjb3VycmllbCBvbnQgw6l0w6kgY29uZmlndXLDqXMgYXV0b21hdGlxdWVtZW50IGVuICIKKyJzZVxuIgogImZvbmRhbnQgc3VyIHZvdHJlIG5vbSBkJ3V0aWxpc2F0ZXVyIGV0IGxlIG5vbSBkZSB2b3RyZSBtYWNoaW5lLiBWZXVpbGxleiBcbiIKICJ2w6lyaWZpZXIgcXUnaWxzIHNvbnQgY29ycmVjdHMuIFZvdXMgcG91dmV6IHN1cHByaW1lciBjZSBtZXNzYWdlIGVuIGxlcyBcbiIKICJwYXJhbcOpdHJhbnQgZXhwbGljaXRlbWVudC4gTGFuY2V6IGxlcyBjb21tYW5kZXMgc3VpdmFudGVzIGV0IHN1aXZleiBsZXNcbiIKQEAgLTY3NTEsNyArNzA1Nyw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxCisjOiBidWlsdGluL2NvbW1pdC5jOjYyCiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTY3NjQsNyArNzA3MCw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogbXNnc3RyICIiCi0iVm90cmUgbm9tIGV0IHZvdHJlIGFkcmVzc2UgZS1tYWlsIG9udCDDqXTDqSBjb25maWd1csOpcyBhdXRvbWF0aXF1ZW1lbnQgZW4gc2UgIgorIlZvdHJlIG5vbSBldCB2b3RyZSBhZHJlc3NlIGNvdXJyaWVsIG9udCDDqXTDqSBjb25maWd1csOpcyBhdXRvbWF0aXF1ZW1lbnQgZW4gc2UgIgogImZvbmRhbnRcbiIKICJzdXIgdm90cmUgbm9tIGQndXRpbGlzYXRldXIgZXQgbGUgbm9tIGRlIHZvdHJlIG1hY2hpbmUuIFZldWlsbGV6IHbDqXJpZmllciAiCiAicXUnaWxzIHNvbnQgY29ycmVjdHMuXG4iCkBAIC02Nzc3LDcgKzcwODMsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MworIzogYnVpbHRpbi9jb21taXQuYzo3NAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgpAQCAtNjc4OCw3ICs3MDk0LDcgQEAKICJ2aWRlLiBWb3VzIHBvdXZleiByw6lww6l0ZXIgdm90cmUgY29tbWFuZGUgYXZlYyAtLWFsbG93LWVtcHR5LCBvdSB2b3VzIHBvdXZlelxuIgogInN1cHByaW1lciBjb21wbMOodGVtZW50IGxlIGNvbW1pdCBhdmVjIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzkKIG1zZ2lkICIiCiAiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCiAiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgpAQCAtNjgwMywxMSArNzEwOSwxMSBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NQorIzogYnVpbHRpbi9jb21taXQuYzo4NgogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICJTaW5vbiwgdmV1aWxsZXogdXRpbGlzZXIgJ2dpdCByZXNldCdcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4OAorIzogYnVpbHRpbi9jb21taXQuYzo4OQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCkBAIC02ODIzLDY2ICs3MTI5LDYxIEBACiAiUHVpcyBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgY29udGludWVyYSBsZSBwaWNvcmFnZSBcbiIKICJkZXMgY29tbWl0cyByZXN0YW50cy5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE5CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICLDqWNoZWMgZHUgZMOpcGFxdWV0YWdlIGRlIGwnb2JqZXQgYXJicmUgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzYwCiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGwnaW5kZXggdGVtcG9yYWlyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY2CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnYWpvdXQgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc5CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbCdpbmRleCB0ZW1wb3JhaXJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM4MAorIzogYnVpbHRpbi9jb21taXQuYzozODEKIG1zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIG1haW4gY2FjaGUgdHJlZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsJ2FyYnJlIGRlIGNhY2hlIHByaW5jaXBhbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MDQgYnVpbHRpbi9jb21taXQuYzo0MjcgYnVpbHRpbi9jb21taXQuYzo0NzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDA1IGJ1aWx0aW4vY29tbWl0LmM6NDI4IGJ1aWx0aW4vY29tbWl0LmM6NDc3CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBmaWNoaWVyIG5ld19pbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU5CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZhaXJlIHVuZSB2YWxpZGF0aW9uIHBhcnRpZWxsZSBwZW5kYW50IHVuZSBmdXNpb24uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzo0NjEKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW5lIHZhbGlkYXRpb24gcGFydGllbGxlIHBlbmRhbnQgdW4gcGljb3JhZ2UuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2OQorIzogYnVpbHRpbi9jb21taXQuYzo0NzAKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4OAorIzogYnVpbHRpbi9jb21taXQuYzo0ODkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgZCdpbmRleCB0ZW1wb3JhaXJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4MgorIzogYnVpbHRpbi9jb21taXQuYzo1ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgbGFja3MgYXV0aG9yIGhlYWRlciIKIG1zZ3N0ciAiZW50w6p0ZSBkJ2F1dGV1ciBtYW5xdWFudCBkYW5zIGxlIGNvbW1pdCAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4NAorIzogYnVpbHRpbi9jb21taXQuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgaGFzIG1hbGZvcm1lZCBhdXRob3IgbGluZSIKIG1zZ3N0ciAibGUgY29tbWl0ICclcycgYSB1bmUgbGlnbmUgZCdhdXRldXIgbWFsZm9ybcOpZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAicGFyYW3DqHRyZSAtLWF1dGhvciBtYWwgZm9ybcOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxMQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKLW1zZ3N0ciAiZm9ybWF0IGRlIGRhdGUgaW52YWxpZGUgOiAlcyIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU2CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCkBAIC02ODkwLDM4ICs3MTkxLDM4IEBACiAiaW1wb3NzaWJsZSBkZSBzw6lsZWN0aW9ubmVyIHVuIGNhcmFjdMOocmUgZGUgY29tbWVudGFpcmVcbiIKICJxdWkgbidlc3QgcGFzIHV0aWxpc8OpIGRhbnMgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIGFjdHVlbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CisjOiBidWlsdGluL2NvbW1pdC5jOjY5MyBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL2NvbW1pdC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVjaGVyY2hlciBsZSBjb21taXQgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyOTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzA1IGJ1aWx0aW4vc2hvcnRsb2cuYzoyOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGxlY3R1cmUgZHUgbWVzc2FnZSBkZSBqb3VybmFsIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQpXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA2CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNwogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgam91cm5hbCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxMAorIzogYnVpbHRpbi9jb21taXQuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIGZpY2hpZXIgZGUgam91cm5hbCAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczNyBidWlsdGluL2NvbW1pdC5jOjc0NQorIzogYnVpbHRpbi9jb21taXQuYzo3MzggYnVpbHRpbi9jb21taXQuYzo3NDYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQzCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgTUVSR0VfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc5NgorIzogYnVpbHRpbi9jb21taXQuYzo3OTcKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBtb2TDqGxlIGRlIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY5MzYsNyArNzIzNyw3IEBACiAiXHQlc1xuIgogImV0IGVzc2F5ZXogw6Agbm91dmVhdS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY5NTEsNyArNzI1Miw3IEBACiAiXHQlc1xuIgogImV0IGVzc2F5ZXogw6Agbm91dmVhdS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC02OTYxLDcgKzcyNjIsNyBAQAogImNvbW1lbsOnYW50IHBhciAnJWMnIHNlcm9udCBpZ25vcsOpZXMsIGV0IHVuIG1lc3NhZ2UgdmlkZSBhYmFuZG9ubmUgbGEgIgogInZhbGlkYXRpb24uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM5CisjOiBidWlsdGluL2NvbW1pdC5jOjg0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNjk3MiwxNTAgKzcyNzMsMTUwIEBACiAiY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGNvbnNlcnbDqWVzIDsgdm91cyBwb3V2ZXogbGVzIHN1cHByaW1lciB2b3VzLW3Dqm1lXG4iCiAic2kgdm91cyBsZSBzb3VoYWl0ZXouIFVuIG1lc3NhZ2UgdmlkZSBhYmFuZG9ubmUgbGEgdmFsaWRhdGlvbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXNBdXRldXIgOiAgICAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY3CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVzRGF0ZSA6ICAgICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg3NAorIzogYnVpbHRpbi9jb21taXQuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc1ZhbGlkYXRldXIgOiAlLipzIDwlLipzPiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODg5CiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NAorIzogYnVpbHRpbi9jb21taXQuYzo5NTEKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRXJyZXVyIGxvcnMgZGUgbGEgY29uc3RydWN0aW9uIGRlcyBhcmJyZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY4IGJ1aWx0aW4vdGFnLmM6MjgwCisjOiBidWlsdGluL2NvbW1pdC5jOjk2NSBidWlsdGluL3RhZy5jOjI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIlZldWlsbGV6IGZvdXJuaXIgbGUgbWVzc2FnZSBlbiB1dGlsaXNhbnQgbCdvcHRpb24gLW0gb3UgLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiIgogIi0tYXV0aG9yICclcycgbidlc3QgcGFzIGRlIGxhIGZvcm1lICdOb20gPGVtYWlsPicgbmkgbmUgY29ycmVzcG9uZCDDoCBhdWN1biAiCiAiYXV0ZXVyIGV4aXN0YW50IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMgYnVpbHRpbi9jb21taXQuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiTW9kZSBkZSBmaWNoaWVyIG5vbiBzdWl2aSBpbnZhbGlkZSAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMQogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1sb25nIGV0IC16IHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU0CisjOiBidWlsdGluL2NvbW1pdC5jOjExNTEKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJMJ3V0aWxpc2F0aW9uIHNpbXVsdGFuw6llIGRlIC0tcmVzZXQtYXV0aG9yIGV0IC0tYXV0aG9yIG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjAKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiSWwgbid5IGEgcmllbiDDoCBjb3JyaWdlci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiBwbGVpbmUgZnVzaW9uIC0tIGltcG9zc2libGUgZGUgY29ycmlnZXIgKGFtZW5kKS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMTY1CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiBwbGVpbiBwaWNvcmFnZSAtLSBpbXBvc3NpYmxlIGRlIGNvcnJpZ2VyIChhbWVuZCkuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2OAogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIkxlcyBvcHRpb25zIC0tc3F1YXNoIGV0IC0tZml4dXAgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6llcyBlbnNlbWJsZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTgxCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzgKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiVW5lIHNldWxlIG9wdGlvbiBwYXJtaSAtYy8tQy8tRi8tLWZpeHVwIHBldXQgw6p0cmUgdXRpbGlzw6llLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjExODAKIG1zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYvLS1maXh1cC4iCiBtc2dzdHIgIkwnb3B0aW9uIC1tIG5lIHBldXQgcGFzIMOqdHJlIGNvbWJpbsOpZSBhdmVjIC1jLy1DLy1GLy0tZml4dXAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExOTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4OAogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIG5lIHBldXQgw6p0cmUgdXRpbGlzw6kgcXUnYXZlYyAtQywgLWMgb3UgLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjA1CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiVW5lIHNldWxlIG9wdGlvbiBwYXJtaSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBwZXV0ICIKICLDqnRyZSB1dGlsaXPDqWUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNwogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiQXVjdW4gY2hlbWluIGF2ZWMgbGVzIG9wdGlvbnMgLS1pbmNsdWRlLy0tb25seSBuJ2EgcGFzIGRlIHNlbnMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTIKLW1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgotbXNnc3RyICJDaGVtaW5zIGV4cGxpY2l0ZXMgc3DDqWNpZmnDqXMgc2FucyAtaSBuaSAtbyA7IC0tb25seSBzdXBwb3PDqS4uLiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjI0IGJ1aWx0aW4vdGFnLmM6NDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTkgYnVpbHRpbi90YWcuYzo1NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIk1vZGUgZGUgbmV0dG95YWdlIGludmFsaWRlICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNAogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIlNww6ljaWZpZXIgZGVzIGNoZW1pbnMgYXZlYyBsJ29wdGlvbiAtYSBuJ2EgcGFzIGRlIHNlbnMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb21taXQuYzoxNjEyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgotbXNnc3RyICJhZmZpY2hlciBsZSBzdGF0dXQgYXZlYyBjb25jaXNpb24iCittc2dzdHIgImFmZmljaGVyIGwnw6l0YXQgYXZlYyBjb25jaXNpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MSBidWlsdGluL2NvbW1pdC5jOjE2MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NCBidWlsdGluL2NvbW1pdC5jOjE2MTkKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiYWZmaWNoZXIgbCdpbmZvcm1hdGlvbiBkZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NgorbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCittc2dzdHIgImFmZmljaGVyIGwnaW5mb3JtYXRpb24gZGUgcmVtaXNhZ2UiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OAogbXNnaWQgInZlcnNpb24iCiBtc2dzdHIgInZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTYgYnVpbHRpbi9wdXNoLmM6NTI1Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0OQogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJzb3J0aWUgcG91ciB0cmFpdGVtZW50IGF1dG9tYXRpcXVlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDYgYnVpbHRpbi9jb21taXQuYzoxNjE4CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjIzCiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgotbXNnc3RyICJhZmZpY2hlciBsZSBzdGF0dXQgZW4gZm9ybWF0IGxvbmcgKHBhciBkw6lmYXV0KSIKK21zZ3N0ciAiYWZmaWNoZXIgbCfDqXRhdCBlbiBmb3JtYXQgbG9uZyAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDkgYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTQgYnVpbHRpbi9jb21taXQuYzoxNjI2CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgInRlcm1pbmVyIGxlcyDDqWzDqW1lbnRzIHBhciBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NCBidWlsdGluL3RhZy5jOjM2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU2IGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg2IGJ1aWx0aW4vdGFnLmM6NDEyCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAibW9kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIGJ1aWx0aW4vY29tbWl0LmM6MTYyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3IGJ1aWx0aW4vY29tbWl0LmM6MTYyOQogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogImFmZmljaGVyIGxlcyBmaWNoaWVycyBub24gc3VpdmlzLCBcIm1vZGVcIiBmYWN1bHRhdGlmIDogYWxsICh0b3VzKSwgbm9ybWFsLCAiCiAibm8uIChEw6lmYXV0IDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU2IHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MSBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAicXVhbmQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NworIzogYnVpbHRpbi9jb21taXQuYzoxMzYyCiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgpAQCAtNzEyMywyMDEgKzc0MjQsMjAxIEBACiAiaWdub3JlciBsZXMgbW9kaWZpY2F0aW9ucyBkYW5zIGxlcyBzb3VzLW1vZHVsZXMsIFwicXVhbmRcIiBmYWN1bHRhdGlmIDogYWxsICIKICIodG91cyksIGRpcnR5IChzYWxlKSwgdW50cmFja2VkIChub24gc3VpdmkpLiAoRMOpZmF1dCA6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY0CiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgZW4gY29sb25uZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZXRyb3V2ZXIgbGUgY29tbWl0IG5vdXZlbGxlbWVudCBjcsOpw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0IG5vdXZlbGxlbWVudCBjcsOpw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAiSEVBRCBkw6l0YWNow6llIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIgKGNvbW1pdCByYWNpbmUpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NwogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgInN1cHByaW1lciBsZSByw6lzdW3DqSBhcHLDqHMgdW5lIHZhbGlkYXRpb24gcsOpdXNzaWUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MworIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZGlmZiBkYW5zIGxlIG1vZMOobGUgZGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MAogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbnMgZHUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODYgYnVpbHRpbi90YWcuYzozNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MSBidWlsdGluL3RhZy5jOjQxMAogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgImxpcmUgbGUgbWVzc2FnZSBkZXB1aXMgdW4gZmljaGllciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgImF1dGV1ciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAicmVtcGxhY2VyIGwnYXV0ZXVyIHBvdXIgbGEgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4IGJ1aWx0aW4vZ2MuYzozMzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBidWlsdGluL2djLmM6MzU4CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgInJlbXBsYWNlciBsYSBkYXRlIHBvdXIgbGEgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg5IGJ1aWx0aW4vbWVyZ2UuYzoyMjIgYnVpbHRpbi9ub3Rlcy5jOjM5OAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3RhZy5jOjM2NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0IGJ1aWx0aW4vbWVyZ2UuYzoyMjIgYnVpbHRpbi9ub3Rlcy5jOjQwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3RhZy5jOjQwOAogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIm1lc3NhZ2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CiBtc2dpZCAiY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIm1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkwIGJ1aWx0aW4vY29tbWl0LmM6MTU5MSBidWlsdGluL2NvbW1pdC5jOjE1OTIKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo4MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vY29tbWl0LmM6MTU5NiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo3NwogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAiY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NQogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJyw6l1dGlsaXNlciBldCDDqWRpdGVyIGxlIG1lc3NhZ2UgZHUgY29tbWl0IHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGxlIG1lc3NhZ2UgZHUgY29tbWl0IHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogInV0aWxpc2VyIHVuIG1lc3NhZ2UgYXUgZm9ybWF0IGF1dG9zcXVhc2ggcG91ciBjb3JyaWdlciBsZSBjb21taXQgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogInV0aWxpc2VyIHVuIG1lc3NhZ2UgYXUgZm9ybWF0IGF1dG9zcXVhc2ggcG91ciBjb21wcmVzc2VyIGxlIGNvbW1pdCBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIiIKICLDoCBwcsOpc2VudCBqZSBzdWlzIGwnYXV0ZXVyIGRlIGxhIHZhbGlkYXRpb24gKHV0aWxpc8OpIGF2ZWMgLUMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2xvZy5jOjE0MTMgYnVpbHRpbi9yZXZlcnQuYzo4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbG9nLmM6MTQzMCBidWlsdGluL3JldmVydC5jOjEwNQogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgZW50csOpZSBTaWduZWQtb2ZmLWJ5IDoiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJ1dGlsaXNlciBsZSBmaWNoaWVyIGRlIG1vZMOobGUgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiZm9yY2VyIGwnw6lkaXRpb24gZHUgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMwogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgImTDqWZhdXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL3RhZy5jOjM2OQorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6NDEzCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAiY29tbWVudCDDqWxpbWluZXIgbGVzIGVzcGFjZXMgZXQgbGVzIGNvbW1lbnRhaXJlcyAjIGR1IG1lc3NhZ2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCi1tc2dzdHIgImluY2x1cmUgbGUgc3RhdHV0IGRhbnMgbGUgbW9kw6hsZSBkZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24iCittc2dzdHIgImluY2x1cmUgbCfDqXRhdCBkYW5zIGxlIG1vZMOobGUgZGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDEgYnVpbHRpbi9tZXJnZS5jOjIzNCBidWlsdGluL3B1bGwuYzoxNjYKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNiBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTMKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCiBtc2dzdHIgInNpZ25lciBsYSB2YWxpZGF0aW9uIGF2ZWMgR1BHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJWYWxpZGVyIGxlcyBvcHRpb25zIGRlcyBjb250ZW51cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgInZhbGlkZXIgdG91cyBsZXMgZmljaGllcnMgbW9kaWZpw6lzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAiYWpvdXRlciBsZXMgZmljaGllcnMgc3DDqWNpZmnDqXMgw6AgbCdpbmRleCBwb3VyIGxhIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEyCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImFqb3V0ZXIgZGVzIGZpY2hpZXJzIGVuIG1vZGUgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTMKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBjaGFuZ2VzIgogbXNnc3RyICJham91dGVyIGxlcyBtb2RpZmljYXRpb25zIGVuIG1vZGUgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgInZhbGlkZXIgc2V1bGVtZW50IGxlcyBmaWNoaWVycyBzcMOpY2lmacOpcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKIG1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKIG1zZ3N0ciAiw6l2aXRlciBkJ3V0aWxpc2VyIGxlcyBjcm9jaGV0cyBwcmUtY29tbWl0IGV0IGNvbW1pdC1tc2ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQorIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAiYWZmaWNoZXIgY2UgcXVpIHNlcmFpdCB2YWxpZMOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiY29ycmlnZXIgbGEgdmFsaWRhdGlvbiBwcsOpY8OpZGVudGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMworIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICLDqXZpdGVyIGQndXRpbGlzZXIgbGUgY3JvY2hldCBwb3N0LXJld3JpdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiYWNjZXB0ZXIgZCdlbnJlZ2lzdHJlciB1bmUgbW9kaWZpY2F0aW9uIHZpZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjM1CiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiYWNjZXB0ZXIgZCdlbnJlZ2lzdHJlciB1bmUgbW9kaWZpY2F0aW9uIGF2ZWMgdW4gbWVzc2FnZSB2aWRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJGaWNoaWVyIE1FUkdFX0hFQUQgY29ycm9tcHUgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzE0CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NAorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQWJhbmRvbiBkZSBsYSB2YWxpZGF0aW9uIDsgdm91cyBuJ2F2ZXogcGFzIMOpZGl0w6kgbGUgbWVzc2FnZVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJBYmFuZG9uIGRlIGxhIHZhbGlkYXRpb24gZMO7IMOgIHVuIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiB2aWRlLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwMAogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgpAQCAtNzMyNywxMzYgKzc2MjgsMTM2IEBACiAibmV3X2luZGV4LiBWw6lyaWZpZXogcXVlIGxlIGRpc3F1ZSBuJ2VzdCBwYXMgcGxlaW4gb3UgcXVlIGxlIHF1b3RhXG4iCiAibidhIHBhcyDDqXTDqSBkw6lwYXNzw6ksIHB1aXMgbGFuY2V6IFwiZ2l0IHJlc2V0IEhFQURcIiBwb3VyIHLDqXBhcmVyLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo5CisjOiBidWlsdGluL2NvbmZpZy5jOjEwCiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NQorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICJFbXBsYWNlbWVudCBkdSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgogbXNnc3RyICJ1dGlsaXNlciBsZXMgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGdsb2JhbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgInV0aWxpc2VyIGxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBkdSBzeXN0w6htZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICJ1dGlsaXNlciBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZHUgZMOpcMO0dCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAidXRpbGlzZXIgbGUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJibG9iLWlkIgogbXNnc3RyICJibG9iLWlkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKIG1zZ3N0ciAibGlyZSBsYSBjb25maWd1cmF0aW9uIGRlcHVpcyBsJ29iamV0IGJsb2IgZm91cm5pIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiQWN0aW9uIgogbXNnc3RyICJBY3Rpb24iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAib2J0ZW5pciBsYSB2YWxldXIgOiBub20gW3JlZ2V4LWRlLXZhbGV1cl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKIG1zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIm9idGVuaXIgdG91dGVzIGxlcyB2YWxldXJzIDogY2zDqSBbcmVnZXgtZGUtdmFsZXVyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2NgogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJvYnRlbmlyIGxlcyB2YWxldXIgcG91ciBsYSByZWdleHAgOiByZWdleC1kZS1ub20gW3JlZ2V4LWRlLXZhbGV1cl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgogbXNnc3RyICJvYnRlbmlyIGxhIHZhbGV1ciBzcMOpY2lmaXF1ZSBwb3VyIGwnVVJMIDogc2VjdGlvblsudmFyXSBVUkwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAiIgogInJlbXBsYWNlciB0b3V0ZXMgbGVzIHZhcmlhYmxlcyBjb3JyZXNwb25kYW50IDogbm9tIHZhbGV1ciBbcmVnZXgtZGUtdmFsZXVyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NworIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgbm91dmVsbGUgdmFyaWFibGUgOiBub20gdmFsZXVyIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4CisjOiBidWlsdGluL2NvbmZpZy5jOjcwCiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAic3VwcHJpbWVyIHVuZSB2YXJpYWJsZSA6IG5vbSBbcmVnZXgtZGUtdmFsZXVyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJzdXBwcmltZXIgdG91dGVzIGxlcyBjb3JyZXNwb25kYW5jZXMgbm9tIFtyZWdleC1kZS12YWxldXJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgogbXNnc3RyICJyZW5vbW1lciB1bmUgc2VjdGlvbiA6IGFuY2llbi1ub20gbm91dmVhdS1ub20iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJzdXBwcmltZXIgdW5lIHNlY3Rpb24gOiBub20iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAiYWZmaWNoZXIgdG91dCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3NQogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICJvdXZyaXIgdW4gw6lkaXRldXIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBzbG90IFtkZWZhdWx0XSIKIG1zZ3N0ciAidHJvdXZlciBsYSBjb3VsZXVyIGNvbmZpZ3Vyw6llIDogc2xvdCBbcGFyIGTDqWZhdXRdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1CisjOiBidWlsdGluL2NvbmZpZy5jOjc3CiBtc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgInRyb3V2ZXIgbGUgcsOpZ2xhZ2UgZGUgbGEgY291bGV1ciA6IHNsb3QgW3N0ZG91dC1lc3QtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3OAogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIlR5cGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKIG1zZ2lkICJ2YWx1ZSBpcyBcInRydWVcIiBvciBcImZhbHNlXCIiCiBtc2dzdHIgImxhIHZhbGV1ciBlc3QgXCJ0cnVlXCIgKHZyYWkpIG91IFwiZmFsc2VcIiAoZmF1eCkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAibGEgdmFsZXVyIGVzdCB1biBub21icmUgZMOpY2ltYWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgImxhIHZhbGV1ciBlc3QgLS1ib29sIG91IC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgwCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAibGEgdmFsZXVyIGVzdCB1biBjaGVtaW4gKHZlcnMgdW4gZmljaGllciBvdSB1biByw6lwZXJ0b2lyZSkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKIG1zZ2lkICJPdGhlciIKIG1zZ3N0ciAiQXV0cmUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgInRlcm1pbmVyIGxlcyB2YWxldXJzIGF2ZWMgdW4gY2FyYWN0w6hyZSBOVUwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlIHZhcmlhYmxlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0CisjOiBidWlsdGluL2NvbmZpZy5jOjg2CiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICJyZXNwZWN0ZXIgbGVzIGRpcmVjdGl2ZXMgZCdpbmNsdXNpb24gbG9ycyBkZSBsYSByZWNoZXJjaGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODcKIG1zZ2lkICJzaG93IG9yaWdpbiBvZiBjb25maWcgKGZpbGUsIHN0YW5kYXJkIGlucHV0LCBibG9iLCBjb21tYW5kIGxpbmUpIgogbXNnc3RyICIiCiAiYWZmaWNoZXIgbCdvcmlnaW5lIGRlIGxhIGNvbmZpZ3VyYXRpb24gKGZpY2hpZXIsIGVudHLDqWUgc3RhbmRhcmQsIGJsb2IsICIKQEAgLTc0ODEsMTIgKzc3ODIsMTYgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCisjOiBidWlsdGluL2NvbmZpZy5jOjQ5OQorbXNnaWQgIi0tbG9jYWwgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1sb2NhbCBuZSBwZXV0IMOqdHJlIHV0aWxpc8OpIHF1J8OgIGwnaW50w6lyaWV1ciBkJ3VuIGTDqXDDtHQgZ2l0IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAiY3LDqWF0aW9uIGltcG9zc2libGUgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uICclcyciCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjOiBidWlsdGluL2NvbmZpZy5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgpAQCAtNzQ5NSw2MyArNzgwMCw3NSBAQAogImltcG9zc2libGUgZGUgc3VyY2hhcmdlciBkZXMgdmFsZXVycyBtdWx0aXBsZXMgYXZlYyB1bmUgc2V1bGUgdmFsZXVyXG4iCiAiICAgICAgIFV0aWxpc2V6IHVuZSByZWdleHAsIC0tYWRkIG91IC0tcmVwbGFjZS1hbGwgcG91ciBtb2RpZmllciAlcy4iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NwogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiBtc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NwogbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKIG1zZ3N0ciAiYWZmaWNoZSBsZXMgdGFpbGxlcyBkYW5zIHVuIGZvcm1hdCBodW1haW5lbWVudCBsaXNpYmxlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxOQogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSBbPGNvbW1pdC1pc2g+Li4uXSIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIDxjb21taXQgb3UgYXBwYXJlbnTDqT4qIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMAogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSAtLWRpcnR5IgogbXNnc3RyICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gLS1kaXJ0eSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIxNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0Cittc2dpZCAiaGVhZCIKK21zZ3N0ciAidMOqdGUiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImxpZ2h0d2VpZ2h0IgorbXNnc3RyICJsw6lnZXIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImFubm90YXRlZCIKK21zZ3N0ciAiYW5ub3TDqSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImwnw6l0aXF1ZXR0ZSBhbm5vdMOpZSAlcyBuJ2VzdCBwYXMgZGlzcG9uaWJsZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIyMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgogbXNnc3RyICJsJ8OpdGlxdWV0dGUgYW5ub3TDqWUgJXMgbidhIHBhcyBkZSBub20gZW1iYXJxdcOpIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjIzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgImwnw6l0aXF1ZXR0ZSAnJXMnIGVzdCBlbiBmYWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTAgYnVpbHRpbi9sb2cuYzo0ODAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODYgYnVpbHRpbi9sb2cuYzo0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBub20gZCdvYmpldCB2YWxpZGUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBvYmpldCAnJXMnIHZhbGlkZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCiBtc2dzdHIgImF1Y3VuZSDDqXRpcXVldHRlIG5lIGNvcnJlc3BvbmQgcGFyZmFpdGVtZW50IMOgICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2VhcmNoaW5nIHRvIGRlc2NyaWJlICVzXG4iCiBtc2dzdHIgInJlY2hlcmNoZSBkZSBsYSBkZXNjcmlwdGlvbiBkZSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzE5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICJyZWNoZXJjaGUgdGVybWluw6llIMOgICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtNzU2MCw3ICs3ODc3LDcgQEAKICJBdWN1bmUgw6l0aXF1ZXR0ZSBhbm5vdMOpZSBuZSBwZXV0IGTDqWNyaXJlICclcycuXG4iCiAiQ2VwZW5kYW50LCBpbCBleGlzdGUgZGVzIMOpdGlxdWV0dGVzIG5vbi1hbm5vdMOpZXMgOiBlc3NheWV6IGF2ZWMgLS10YWdzLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTc1NjksMTIgKzc4ODYsMTIgQEAKICJBdWN1bmUgw6l0aXF1ZXR0ZSBuZSBwZXV0IGTDqWNyaXJlICclcycuXG4iCiAiRXNzYXlleiAtLWFsd2F5cywgb3UgY3LDqWV6IGRlcyDDqXRpcXVldHRlcy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCiBtc2dzdHIgIiVsdSBjb21taXRzIHBhcmNvdXJ1c1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCkBAIC03NTg0LDEwNiArNzkwMSwxMzQgQEAKICJhZmZpY2jDqWVzXG4iCiAiYWJhbmRvbiBkZSBsYSByZWNoZXJjaGUgw6AgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgInJlY2hlcmNoZXIgbCfDqXRpcXVldHRlIHF1aSBzdWl0IGxlIGNvbW1pdCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5NworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MgogbXNnaWQgImRlYnVnIHNlYXJjaCBzdHJhdGVneSBvbiBzdGRlcnIiCiBtc2dzdHIgImTDqWJvZ3VlciBsYSBzdHJhdMOpZ2llIGRlIHJlY2hlcmNoZSBzdXIgc3RkZXJyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQzCiBtc2dpZCAidXNlIGFueSByZWYiCiBtc2dzdHIgInV0aWxpc2VyIG4naW1wb3J0ZSBxdWVsbGUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDQKIG1zZ2lkICJ1c2UgYW55IHRhZywgZXZlbiB1bmFubm90YXRlZCIKIG1zZ3N0ciAidXRpbGlzZXIgbidpbXBvcnRlIHF1ZWxsZSDDqXRpcXVldHRlLCBtw6ptZSBub24tYW5ub3TDqWUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDUKIG1zZ2lkICJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IgogbXNnc3RyICJ0b3Vqb3VycyB1dGlsaXNlciBsZSBmb3JtYXQgbG9uZyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAibmUgc3VpdnJlIHF1ZSBsZSBwcmVtaWVyIHBhcmVudCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0OQogbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBjb3JyZXNwb25kYW5jZXMgZXhhY3RlcyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1MQogbXNnaWQgImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiCiBtc2dzdHIgIiIKICJjb25zaWTDqXJlciB1bmlxdWVtZW50IGxlcyA8bj4gw6l0aXF1ZXR0ZXMgbGUgcGx1cyByw6ljZW50ZXMgKGTDqWZhdXQgOiAxMCkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTMKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJuZSBjb25zaWTDqXJlciBxdWUgbGVzIMOpdGlxdWV0dGVzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMCBidWlsdGluL25hbWUtcmV2LmM6MzIwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU1Cittc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICJuZSBwYXMgY29uc2lkw6lyZXIgbGVzIMOpdGlxdWV0dGVzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NyBidWlsdGluL25hbWUtcmV2LmM6NDA2CiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICJhZmZpY2hlciBsZXMgb2JqZXRzIGNvbW1pdHMgYWJyw6lnw6lzIGVuIGRlcm5pZXIgcmVjb3VycyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1OCBidWlsdGluL2Rlc2NyaWJlLmM6NDYxCiBtc2dpZCAibWFyayIKIG1zZ3N0ciAibWFycXVlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU5CiBtc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgogbXNnc3RyICJham91dGVyIDxtYXJxdWU+IHNpIGxhIGNvcGllIGRlIHRyYXZhaWwgZXN0IHNhbGUgKGTDqWZhdXQgOiBcIi1kaXJ0eVwiKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ2MgorbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gYnJva2VuIHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItYnJva2VuXCIpIgorbXNnc3RyICIiCisiYWpvdXRlciA8bWFycXVlPiBzaSBsYSBjb3BpZSBkZSB0cmF2YWlsIGVzdCBjYXNzw6llIChkw6lmYXV0IDogXCItYnJva2VuXCIpIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDgwCiBtc2dpZCAiLS1sb25nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWJicmV2PTAiCiBtc2dzdHIgIi0tbG9uZyBldCAtLWFiYnJldj0wIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUwOQogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgogbXNnc3RyICJhdWN1biBub20gdHJvdXbDqSwgaW1wb3NzaWJsZSBkZSBkw6ljcmlyZSBxdW9pIHF1ZSBjZSBzb2l0LiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ3NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MgogbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICItLWRpcnR5IGVzdCBpbmNvbXBhdGlibGUgYXZlYyBsYSBzcMOpY2lmaWNhdGlvbiBkZSBjb21taXRzIG91IGFzc2ltaWzDqXMiCiAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQKK21zZ2lkICItLWJyb2tlbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCittc2dzdHIgIi0tYnJva2VuIGVzdCBpbmNvbXBhdGlibGUgYXZlYyBsZXMgY29tbWl0cyBvdSBhc3NpbWlsw6lzIgorCiAjOiBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiJyVzJyA6IG4nZXN0IHBhcyB1biBmaWNoaWVyIHLDqWd1bGllciBuaSB1biBsaWVuIHN5bWJvbGlxdWUiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIzNAorIzogYnVpbHRpbi9kaWZmLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAib3B0aW9uIGludmFsaWRlIDogJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM1OAorIzogYnVpbHRpbi9kaWZmLmM6MzU5CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIkNlIG4nZXN0IHBhcyB1biBkw6lww7R0IGdpdCAhIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDEKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAib2JqZXQgc3DDqWNpZmnDqSAnJXMnIGludmFsaWRlLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEwCisjOiBidWlsdGluL2RpZmYuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAicGx1cyBkZSBkZXV4IGJsb2JzIHNww6ljaWZpw6lzIDogJyVzJyIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE3CisjOiBidWlsdGluL2RpZmYuYzo0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAib2JqZXQgbm9uIGfDqXLDqSAnJXMnIHNww6ljaWZpw6kuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOQogbXNnaWQgImdpdCBkaWZmdG9vbCBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGRpZmZ0b29sIFs8b3B0aW9ucz5dIFs8Y29tbWl0PiBbPGNvbW1pdD5dXSBbLS1dIFs8Y2hlbWluPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNDEKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkOiAlZCIKIG1zZ3N0ciAiw6ljaGVjIDogJWQiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozNDIKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAibGVjdHVyZSBkdSBsaWVuIHN5bWJvbGlxdWUgJXMgaW1wb3NzaWJsZSIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rIGZpbGUgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBmaWNoaWVyIHN5bWxpbmsgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIGZvciBzeW1saW5rICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAlcyBwb3VyIGxlIHN5bWxpbmsgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo0MDMKIG1zZ2lkICIiCiAiY29tYmluZWQgZGlmZiBmb3JtYXRzKCctYycgYW5kICctLWNjJykgYXJlIG5vdCBzdXBwb3J0ZWQgaW5cbiIKICJkaXJlY3RvcnkgZGlmZiBtb2RlKCctZCcgYW5kICctLWRpci1kaWZmJykuIgpAQCAtNzY5MSw1MyArODAzNiw1MyBAQAogImxlcyBmb3JtYXRzIGRlIGRpZmYgY29tYmluw6lzICgnLWMnIGV0ICctLWNjJykgbmUgc29udCBwYXMgc3VwcG9ydMOpc1xuIgogImRhbnMgbGUgbW9kZSBkZSBkaWZmIGRlIHLDqXBlcnRvaXJlICgnLWQnIGV0ICctLWRpci1kaWZmJykuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTY3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgogbXNnc3RyICJsZXMgZGV1eCBmaWNoaWVycyBzb250IG1vZGlmacOpc8KgOiAnJXMnIGV0ICclcycuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTY5CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjI4CiBtc2dpZCAid29ya2luZyB0cmVlIGZpbGUgaGFzIGJlZW4gbGVmdC4iCiBtc2dzdHIgImxlIGZpY2hpZXIgZGFucyBsJ2FyYnJlIGRlIHRyYXZhaWwgYSDDqXTDqSBsYWlzc8OpLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU4MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wb3JhcnkgZmlsZXMgZXhpc3QgaW4gJyVzJy4iCiBtc2dzdHIgImRlcyBmaWNoaWVycyB0ZW1wb3JhaXJlcyBleGlzdGVudCBkYW5zICclcycuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgxCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCiBtc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCiBtc2dzdHIgInZvdXMgcG91cnJpZXogc291aGFpdGVyIGxlcyBuZXR0b3llciBvdSBsZXMgcsOpY3Vww6lyZXIuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjI2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njg5CiBtc2dpZCAidXNlIGBkaWZmLmd1aXRvb2xgIGluc3RlYWQgb2YgYGRpZmYudG9vbGAiCiBtc2dzdHIgInV0aWxpc2VyIGBkaWZmLmd1aXRvb2xgIGF1IGxpZXUgZGUgYGRpZmYudG9vbGAiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTEKIG1zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKIG1zZ3N0ciAicsOpYWxpc2UgdW4gZGlmZiBkZSByw6lwZXJ0b2lyZSBjb21wbGV0IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjMwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkzCiBtc2dpZCAiZG8gbm90IHByb21wdCBiZWZvcmUgbGF1bmNoaW5nIGEgZGlmZiB0b29sIgogbXNnc3RyICJuZSBwYXMgY29uZmlybWVyIGF2YW50IGRlIGxhbmNlciBsJ291dGlsIGRlIGRpZmYiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAidXRpbGlzZXIgbGVzIGxpZW5zIHN5bWJvbGlxdWVzIGVuIG1vZGUgZGUgZGlmZiBkZSByw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMAogbXNnaWQgIjx0b29sPiIKIG1zZ3N0ciAiPG91dGlsPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzOAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMQogbXNnaWQgInVzZSB0aGUgc3BlY2lmaWVkIGRpZmYgdG9vbCIKIG1zZ3N0ciAidXRpbGlzZXIgbCdvdXRpbCBkZSBkaWZmIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDMKIG1zZ2lkICJwcmludCBhIGxpc3Qgb2YgZGlmZiB0b29scyB0aGF0IG1heSBiZSB1c2VkIHdpdGggYC0tdG9vbGAiCiBtc2dzdHIgImFmZmljaGVyIHVuZSBsaXN0ZSBkZXMgb3V0aWxzIGRlIGRpZmYgdXRpbGlzYWJsZXMgYXZlYyBgLS10b29sYCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgogbXNnaWQgIiIKICJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKICJjb2RlIgpAQCAtNzc0NSwyNTQgKzgwOTAsMjU4IEBACiAicHJvdm9xdWUgbGEgZmluIGRlICdnaXQtZGlmZnRvb2wnIHNpIGwnb3V0aWwgZGUgZGlmZiBpbnZvcXXDqSByZW52b2llIHVuIGNvZGUgIgogIm5vbi1udWwiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICI8Y29tbWFuZD4iCiBtc2dzdHIgIjxjb21tYW5kZT4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDkKIG1zZ2lkICJzcGVjaWZ5IGEgY3VzdG9tIGNvbW1hbmQgZm9yIHZpZXdpbmcgZGlmZnMiCiBtc2dzdHIgInNww6ljaWZpZXIgdW5lIGNvbW1hbmRlIHBlcnNvbm5hbGlzw6llIHBvdXIgdmlzdWFsaXNlciBsZXMgZGlmZsOpcmVuY2VzIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjcwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMzCiBtc2dpZCAibm8gPHRvb2w+IGdpdmVuIGZvciAtLXRvb2w9PHRvb2w+IgogbXNnc3RyICJwYXMgZCc8b3V0aWw+IHNww6ljaWZpw6kgcG91ciAtLXRvb2w9PG91dGlsPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY3NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MAogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAicGFzIGRlIDxjb21tYW5kZT4gc3DDqWNpZmnDqSBwb3VyIC0tZXh0Y21kPTxjb21tYW5kZT4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyNQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI2CiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtvcHRpb25zLWRlLWxpc3RlLWRlLXLDqXZpc2lvbnNdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGEgcHJvZ3Jlc3Npb24gYXByw6hzIDxuPiBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgInPDqWxlY3Rpb25uZXIgbGEgZ2VzdGlvbiBkZXMgw6l0aXF1ZXR0ZXMgc2lnbsOpZXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICIiCiAic8OpbGVjdGlvbm5lciBsYSBnZXN0aW9uIGRlcyDDqXRpcXVldHRlcyBxdWkgcG9pbnRlbnQgc3VyIGRlcyBvYmpldHMgZmlsdHLDqXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTAKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiRW5yZWdpc3RyZXIgbGVzIG1hcnF1ZXMgZGFucyBjZSBmaWNoaWVyIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkyCiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICJpbXBvcnRlciBsZXMgbWFycXVlcyBkZXB1aXMgY2UgZmljaGllciIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NAogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICJmYWxzaWZpZXIgdW4gYXV0ZXVyIGQnw6l0aXF1ZXR0ZSBzaSBsJ8OpdGlxdWV0dGUgbidlbiBwcsOpc2VudGUgcGFzIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk2CiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgIkFmZmljaGVyIGwnYXJicmUgY29tcGxldCBwb3VyIGNoYXF1ZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTgKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAiVXRpbGlzZXIgbGEgZm9uY3Rpb24gXCJkb25lXCIgcG91ciB0ZXJtaW5lciBsZSBmbHV4IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk3CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICJTYXV0ZXIgbCdhZmZpY2hhZ2UgZGUgZG9ubsOpZXMgZGUgYmxvYiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDAKIG1zZ2lkICJyZWZzcGVjIgogbXNnc3RyICJzcMOpY2lmaWNhdGV1ciBkZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5OQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDEKIG1zZ2lkICJBcHBseSByZWZzcGVjIHRvIGV4cG9ydGVkIHJlZnMiCiBtc2dzdHIgIkFwcGxpcXVlciBsZSBzcMOpY2lmaWNhdGV1ciBkZSByw6lmw6lyZW5jZSBhdXggcsOpZsOpcmVuY2VzIGV4cG9ydMOpZXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMgogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgImFub255bWlzZSBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMQorIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxkw6lww7R0PiBbPHNww6ljaWZpY2F0aW9uLWRlLXLDqWbDqXJlbmNlPi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwZT4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMworIzogYnVpbHRpbi9mZXRjaC5jOjI0CiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPGTDqXDDtHQ+IHwgPGdyb3VwZT4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI0CisjOiBidWlsdGluL2ZldGNoLmM6MjUKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE3NQorIzogYnVpbHRpbi9mZXRjaC5jOjkwIGJ1aWx0aW4vcHVsbC5jOjE4MgogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgInLDqWN1cMOpcmVyIGRlcHVpcyB0b3VzIGxlcyBkw6lww7R0cyBkaXN0YW50cyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE3OAorIzogYnVpbHRpbi9mZXRjaC5jOjkyIGJ1aWx0aW4vcHVsbC5jOjE4NQogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAiYWpvdXRlciDDoCAuZ2l0L0ZFVENIX0hFQUQgYXUgbGlldSBkZSBsJ8OpY3Jhc2VyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTgxCisjOiBidWlsdGluL2ZldGNoLmM6OTQgYnVpbHRpbi9wdWxsLmM6MTg4CiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICJjaGVtaW4gdmVycyBsZXF1ZWwgdMOpbMOpY2hhcmdlciBsZSBwYXF1ZXQgc3VyIGxlIHBvc3RlIGRpc3RhbnQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAgYnVpbHRpbi9wdWxsLmM6MTgzCisjOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTkwCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAiZm9yY2VyIGwnw6ljcmFzZW1lbnQgZGUgbGEgYnJhbmNoZSBsb2NhbGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NwogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAicsOpY3Vww6lyZXIgZGVwdWlzIHBsdXNpZXVycyBkw6lww7R0cyBkaXN0YW50cyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNCBidWlsdGluL3B1bGwuYzoxODUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxOTIKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJyw6ljdXDDqXJlciB0b3V0ZXMgbGVzIMOpdGlxdWV0dGVzIGV0IGxldXJzIG9iamV0cyBhc3NvY2nDqXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgIm5lIHBhcyByw6ljdXDDqXJlciB0b3V0ZXMgbGVzIMOpdGlxdWV0dGVzICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4CisjOiBidWlsdGluL2ZldGNoLmM6MTAzCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHNvdXMtbW9kdWxlcyByw6ljdXDDqXLDqXMgZW4gcGFyYWxsw6hsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL3B1bGwuYzoxODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUgYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIiIKICLDqWxpbWluZXIgbGVzIGJyYW5jaGVzIGRlIHN1aXZpIGRpc3RhbnQgc2kgbGEgYnJhbmNoZSBuJ2V4aXN0ZSBwbHVzIGRhbnMgbGUgIgogImTDqXDDtHQgZGlzdGFudCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMSBidWlsdGluL3B1bGwuYzoxOTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYgYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoxMjMKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgIsOgIGxhIGRlbWFuZGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9wdWxsLmM6MTkyCisjOiBidWlsdGluL2ZldGNoLmM6MTA3CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAiY29udHLDtGxlciBsYSByw6ljdXDDqXJhdGlvbiByw6ljdXJzaXZlIGRhbnMgbGVzIHNvdXMtbW9kdWxlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNiBidWlsdGluL3B1bGwuYzoyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgImNvbnNlcnZlciBsZSBwYXF1ZXQgdMOpbMOpY2hhcmfDqSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMwogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJwZXJtZXR0cmUgbGEgbWlzZSDDoCBqb3VyIGRlIGxhIHLDqWbDqXJlbmNlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJhcHByb2ZvbmRpciBsJ2hpc3RvcmlxdWUgZCd1biBjbG9uZSBzdXBlcmZpY2llbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMworIzogYnVpbHRpbi9mZXRjaC5jOjExOAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgogbXNnc3RyICJhcHByb2ZvbmRpciBsJ2hpc3RvcmlxdWUgZCd1biBjbG9uZSBzdXBlcmZpY2llbCBlbiBmb25jdGlvbiBkJ3VuZSBkYXRlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNCBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY29udmVydGlyIGVuIHVuIGTDqXDDtHQgY29tcGxldCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYgYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiZGlyIgogbXNnc3RyICJyw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNwogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgInByw6lmaXhlciBjZWNpIMOgIGxhIHNvcnRpZSBkdSBjaGVtaW4gZHUgc291cy1tb2R1bGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUKLW1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKLW1zZ3N0ciAibW9kZSBwYXIgZMOpZmF1dCBwb3VyIGxhIHLDqWN1cnNpb24iCisjOiBidWlsdGluL2ZldGNoLmM6MTMwCittc2dpZCAiIgorImRlZmF1bHQgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIChsb3dlciBwcmlvcml0eSB0aGFuIGNvbmZpZyAiCisiZmlsZXMpIgorbXNnc3RyICIiCisicGFyIGTDqWZhdXQgcG91ciBsYSByw6ljdXDDqXJhdGlvbiByw6ljdXJzaXZlIGRlIHNvdXMtbW9kdWxlcyAocHJpb3JpdMOpIHBsdXMgIgorImJhc3NlIHF1ZSBsZXMgZmljaGllcnMgZGUgY29uZmlnKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQgYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICJhY2NlcHRlciBsZXMgcsOpZsOpcmVuY2VzIHF1aSBtZXR0ZW50IMOgIGpvdXIgLmdpdC9zaGFsbG93IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM4IGJ1aWx0aW4vcHVsbC5jOjIxMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNSBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJyZWZtYXAiCiBtc2dzdHIgImNvcnJlc3BvbmRhbmNlIGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIxMgorIzogYnVpbHRpbi9mZXRjaC5jOjEzNiBidWlsdGluL3B1bGwuYzoyMTUKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAic3DDqWNpZmllciB1bmUgY29ycmVzcG9uZGFuY2UgZGUgcsOpZsOpcmVuY2UgcG91ciBsYSByw6ljdXDDqXJhdGlvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM5NQorIzogYnVpbHRpbi9mZXRjaC5jOjM5NAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpZsOpcmVuY2UgSEVBRCBkaXN0YW50ZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUxMQorIzogYnVpbHRpbi9mZXRjaC5jOjUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICIiCiAibGUgcGFyYW3DqHRyZSBkZSBjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250aWVudCB1bmUgdmFsZXVyIGludmFsaWRlICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA0CisjOiBidWlsdGluL2ZldGNoLmM6NjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIm9iamV0ICVzIG5vbiB0cm91dsOpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA4CisjOiBidWlsdGluL2ZldGNoLmM6NjA5CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbw6Agam91cl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MjEgYnVpbHRpbi9mZXRjaC5jOjcwMQorIzogYnVpbHRpbi9mZXRjaC5jOjYyMiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW3JlamV0w6ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIyCisjOiBidWlsdGluL2ZldGNoLmM6NjIzCiBtc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgZGFucyBsYSBicmFuY2hlIGFjdHVlbGxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjMxCisjOiBidWlsdGluL2ZldGNoLmM6NjMyCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbbWlzZSDDoCBqb3VyIGRlIGwnw6l0aXF1ZXR0ZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIgYnVpbHRpbi9mZXRjaC5jOjY2NSBidWlsdGluL2ZldGNoLmM6NjgxCi0jOiBidWlsdGluL2ZldGNoLmM6Njk2CisjOiBidWlsdGluL2ZldGNoLmM6NjMzIGJ1aWx0aW4vZmV0Y2guYzo2NjYgYnVpbHRpbi9mZXRjaC5jOjY4MgorIzogYnVpbHRpbi9mZXRjaC5jOjY5NwogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxhIHLDqWbDqXJlbmNlIGxvY2FsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1MQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MgogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW25vdXZlbGxlIMOpdGlxdWV0dGVdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjU0CisjOiBidWlsdGluL2ZldGNoLmM6NjU1CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJbbm91dmVsbGUgYnJhbmNoZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTgKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIltub3V2ZWxsZSByw6lmw6lyZW5jZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTcKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJtaXNlIMOgIGpvdXIgZm9yY8OpZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcwMQorIzogYnVpbHRpbi9mZXRjaC5jOjcwMgogbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCiBtc2dzdHIgInBhcyBlbiBhdmFuY2UgcmFwaWRlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQ2CisjOiBidWlsdGluL2ZldGNoLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgbidhIHBhcyBlbnZvecOpIHRvdXMgbGVzIG9iamV0cyBuw6ljZXNzYWlyZXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2NgorIzogYnVpbHRpbi9mZXRjaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICIiCiAiJXMgcmVqZXTDqSBwYXJjZSBxdWUgbGVzIHJhY2luZXMgc3VwZXJmaWNpZWxsZXMgbmUgc29udCBwYXMgbWlzZXMgw6Agam91ciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg1MyBidWlsdGluL2ZldGNoLmM6OTQ5CisjOiBidWlsdGluL2ZldGNoLmM6ODU1IGJ1aWx0aW4vZmV0Y2guYzo5NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIkRlcHVpcyAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTgwMDEsNTUgKzgzNTAsNTUgQEAKICJkZXMgcsOpZsOpcmVuY2VzIGxvY2FsZXMgbidvbnQgcGFzIHB1IMOqdHJlIG1pc2VzIMOgIGpvdXIgOyBlc3NheWV6IGRlIGxhbmNlclxuIgogIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycgcG91ciBzdXBwcmltZXIgZGVzIGJyYW5jaGVzIGFuY2llbm5lcyBlbiBjb25mbGl0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTE5CisjOiBidWlsdGluL2ZldGNoLmM6OTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBzZXJhIGVuIHN1c3BlbnMpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGVzdCBkZXZlbnUgZW4gc3VzcGVucykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTQKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIltzdXBwcmltw6ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTUzIGJ1aWx0aW4vcmVtb3RlLmM6MTAyMAorIzogYnVpbHRpbi9mZXRjaC5jOjk1NSBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihhdWN1bihlKSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJSZWZ1cyBkZSByw6ljdXDDqXJlciBkYW5zIGxhIGJyYW5jaGUgY291cmFudCAlcyBkJ3VuIGTDqXDDtHQgbm9uIG51IgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTk1CisjOiBidWlsdGluL2ZldGNoLmM6OTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIkxhIHZhbGV1ciBcIiUyJHNcIiBkZSBsJ29wdGlvbiBcIiUxJHNcIiBlc3QgaW52YWxpZGUgcG91ciAlMyRzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTk4CisjOiBidWlsdGluL2ZldGNoLmM6MTAwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIkwnb3B0aW9uIFwiJXNcIiBlc3QgaWdub3LDqWUgcG91ciAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA3NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKIG1zZ3N0ciAiSmUgbmUgc2FpcyBwYXMgcsOpY3Vww6lyZXIgZGVwdWlzICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzNAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiUsOpY3Vww6lyYXRpb24gZGUgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzYgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzggYnVpbHRpbi9yZW1vdGUuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU0CisjOiBidWlsdGluL2ZldGNoLmM6MTI1NgogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtODA1NywxMjcgKzg0MDYsMTI3IEBACiAiQXVjdW4gZMOpcMO0dCBkaXN0YW50IHNww6ljaWZpw6kuIFZldWlsbGV6IHNww6ljaWZpZXIgdW5lIFVSTCBvdSB1biBub21cbiIKICJkaXN0YW50IGRlcHVpcyBsZXNxdWVscyBsZXMgbm91dmVsbGVzIHLDqXZpc2lvbnMgZGV2cmFpZW50IMOqdHJlIHLDqWN1cMOpcsOpZXMuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI3NworIzogYnVpbHRpbi9mZXRjaC5jOjEyNzkKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJWb3VzIGRldmV6IHNww6ljaWZpZXIgdW4gbm9tIGQnw6l0aXF1ZXR0ZS4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzE5CisjOiBidWlsdGluL2ZldGNoLmM6MTMyMQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIlVuZSBwcm9mb25kZXVyIG7DqWdhdGl2ZSBkYW5zIC0tZGVlcGVuIG4nZXN0IHBhcyBzdXBwb3J0w6llIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLWRlZXBlbiBldCAtLWRlcHRoIHNvbnQgbXV0dWVsbGVtZW50IGV4Y2x1c2lmcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggZXQgLS11bnNoYWxsb3cgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGVuc2VtYmxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzMzAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cgc3VyIHVuIGTDqXDDtHQgY29tcGxldCBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUwCisjOiBidWlsdGluL2ZldGNoLmM6MTM0OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCBuJ2FjY2VwdGUgcGFzIGQnYXJndW1lbnQgZGUgZMOpcMO0dCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUxCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBuJ2EgcGFzIGRlIHNlbnMgYXZlYyBkZXMgc3DDqWNpZmljYXRpb25zIGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM2MworIzogYnVpbHRpbi9mZXRjaC5jOjEzNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiZGlzdGFudCBvdSBncm91cGUgZGlzdGFudCBpbmV4aXN0YW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcxCisjOiBidWlsdGluL2ZldGNoLmM6MTM3MAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkxhIHLDqWN1cMOpcmF0aW9uIGQndW4gZ3JvdXBlIGV0IGxlcyBzcMOpY2lmaWNhdGlvbnMgZGUgcsOpZsOpcmVuY2UgbidvbnQgcGFzIGRlICIKICJzZW5zIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTUKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaWNoaWVyPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJwZXVwbGVyIGxlIGpvdXJuYWwgYXZlYyBhdSBwbHVzIDxuPiDDqWzDqW1lbnRzIGRlcHVpcyBsZSBqb3VybmFsIGNvdXJ0IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgImFsaWFzIHBvdXIgLS1sb2cgKG9ic29sw6h0ZSkiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2OQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCiBtc2dpZCAidGV4dCIKIG1zZ3N0ciAidGV4dGUiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICJ1dGlsaXNlciA8dGV4dGU+IGNvbW1lIGTDqWJ1dCBkZSBtZXNzYWdlIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJmaWNoaWVyIGQnb8O5IGxpcmUiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6OQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMAogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWzxvcHRpb25zPl0gWzxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWzxvcHRpb25zPl0gWzxtb3RpZj5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9iamVjdD5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50LWF0IDxvYmpldD5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCi1tc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8b2JqZWN0Pl1dIgotbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxvYmpldD5dXSIKLQogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMgotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxvYmplY3Q+XV0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxvYmpldD5dXSIKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPGNvbW1pdD5dXSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyNworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMworbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxjb21taXQ+XV0gWy0tbm8tY29udGFpbnMgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxjb21taXQ+XV0gWy0tbm8tY29udGFpbnMgWzxjb21taXQ+XV0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAiw6ljaGFwcGVyIGxlcyBjaGFtcHMgcsOpc2VydsOpcyBwb3VyIGxlcyBpbnRlcnByw6l0ZXVycyBkZSBjb21tYW5kZXMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzAKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCiBtc2dzdHIgIsOpY2hhcHBlciBsZXMgY2hhbXBzIHLDqXNlcnbDqXMgcG91ciBwZXJsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMxCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMyCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBweXRob24iCiBtc2dzdHIgIsOpY2hhcHBlciBsZXMgY2hhbXBzIHLDqXNlcnbDqXMgcG91ciBweXRob24iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzQKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIFRjbCIKIG1zZ3N0ciAiw6ljaGFwcGVyIGxlcyBjaGFtcHMgcsOpc2VydsOpcyBwb3VyIGNvbXBhdGliaWxpdMOpIGF2ZWMgVGNsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3CiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIDxuPiByw6lmw6lyZW5jZXMgY29ycmVzcG9uZGFudCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3RhZy5jOjM4NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAotbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCi1tc2dzdHIgImZvcm1hdCDDoCB1dGlsaXNlciBwb3VyIGxhIHNvcnRpZSIKLQotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyByw6lmw6lyZW5jZXMgcG9pbnRhbnQgc3VyIGwnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDQKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHLDqWbDqXJlbmNlcyBxdWkgc29udCBmdXNpb25uw6llcyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHLDqWbDqXJlbmNlcyBxdWkgbmUgc29udCBwYXMgZnVzaW9ubsOpZXMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHLDqWbDqXJlbmNlcyBxdWkgY29udGllbm5lbnQgbGUgY29tbWl0IgogCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3Cittc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyByw6lmw6lyZW5jZXMgcXVpIG5lIGNvbnRpZW5uZW50IHBhcyBsZSBjb21taXQiCisKICM6IGJ1aWx0aW4vZnNjay5jOjU1NAogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkZXMgcsOpcGVydG9pcmVzIGQnb2JqZXQiCkBAIC04MjM5LDIxICs4NTg4LDIxIEBACiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkZXMgb2JqZXRzIgogCi0jOiBidWlsdGluL2djLmM6MjUKKyM6IGJ1aWx0aW4vZ2MuYzoyNgogbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGdjIFs8b3B0aW9ucz5dIgogCi0jOiBidWlsdGluL2djLmM6NzIKKyM6IGJ1aWx0aW4vZ2MuYzo3OQogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgotbXNnc3RyICIlcyBpbnZhbGlkZSA6ICclcyciCittc2dpZCAiRmFpbGVkIHRvIGZzdGF0ICVzOiAlcyIKK21zZ3N0ciAiw4ljaGVjIGR1IHN0YXQgZGUgJXPCoDogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxMzkKKyM6IGJ1aWx0aW4vZ2MuYzozMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCi1tc2dzdHIgIm9iamV0IHLDqXBlcnRvaXJlIGTDqW1lbnRpZWxsZW1lbnQgbG9uZyAlLipzIgorbXNnaWQgIkNhbid0IHN0YXQgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gc3RhdCBkZSAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjI5NworIzogYnVpbHRpbi9nYy5jOjMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGxhc3QgZ2MgcnVuIHJlcG9ydGVkIHRoZSBmb2xsb3dpbmcuIFBsZWFzZSBjb3JyZWN0IHRoZSByb290IGNhdXNlXG4iCkBAIC04MjYyLDI2ICs4NjExLDI2IEBACiAiXG4iCiAiJXMiCiBtc2dzdHIgIiIKLSJMZSBkZXJuaWVyIGxhbmNlbWVudCBkZSBnYyBhIHJhcHBvcnRlciBsJ2VycmV1ciBzdWl2YW50ZS4gVmV1aWxsZXogY29ycmlnZXJcbiIKKyJMZSBkZXJuaWVyIGxhbmNlbWVudCBkZSBnYyBhIHJhcHBvcnTDqSBsJ2VycmV1ciBzdWl2YW50ZS4gVmV1aWxsZXogY29ycmlnZXJcbiIKICJsYSBjYXVzZSBldCBzdXBwcmltZXIgJXMuXG4iCiAiTGUgbmV0dG95YWdlIGF1dG9tYXRpcXVlIG4nYXVyYSBwYXMgbGlldSBqdXNxdSfDoCBjZSBxdWUgbGUgZmljaGllciBzb2l0ICIKICJzdXBwcmltw6kuXG4iCiAiXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzQKKyM6IGJ1aWx0aW4vZ2MuYzozNTkKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAiw6lsaW1pbmVyIGxlcyBvYmpldHMgbm9uIHLDqWbDqXJlbmPDqXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzYKKyM6IGJ1aWx0aW4vZ2MuYzozNjEKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgIsOqdHJlIHBsdXMgY29uc2NpZW5jaWV1eCAoZHVyw6llIGRlIHRyYWl0ZW1lbnQgYWxsb25nw6llKSIKIAotIzogYnVpbHRpbi9nYy5jOjMzNworIzogYnVpbHRpbi9nYy5jOjM2MgogbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCiBtc2dzdHIgImFjdGl2ZXIgbGUgbW9kZSBhdXRvLWdjIgogCi0jOiBidWlsdGluL2djLmM6MzM4CisjOiBidWlsdGluL2djLmM6MzYzCiBtc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCiBtc2dzdHIgIiIKICJmb3JjZXIgbGUgbGFuY2VtZW50IGR1IHJhbWFzc2UtbWlldHRlcyBtw6ptZSBzaSB1biBhdXRyZSByYW1hc3NlLW1pZXR0ZXMgIgpAQCAtODI4OSwyMiArODYzOCwyNyBAQAogCiAjOiBidWlsdGluL2djLmM6MzgwCiAjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsYSB2YWxldXIgZGUgZ2MubG9nZXhwaXJ5ICVzIgorCisjOiBidWlsdGluL2djLmM6NDA4CisjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICIiCiAiQ29tcHJlc3Npb24gYXV0b21hdGlxdWUgZHUgZMOpcMO0dCBlbiB0w6JjaGUgZGUgZm9uZCBwb3VyIG9wdGltaXNlciBsZXMgIgogInBlcmZvcm1hbmNlcy5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjM4MgorIzogYnVpbHRpbi9nYy5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIkNvbXByZXNzaW9uIGR1IGTDqXDDtHQgcG91ciBvcHRpbWlzZXIgbGVzIHBlcmZvcm1hbmNlcy5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjM4MworIzogYnVpbHRpbi9nYy5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtYW51YWwgaG91c2VrZWVwaW5nLlxuIgogbXNnc3RyICJWb2lyIFwiZ2l0IGhlbHAgZ2NcIiBwb3VyIHRvdXRlIGluZm9ybWF0aW9uIHN1ciBsZSBuZXR0b3lhZ2UgbWFudWVsLlxuIgogCi0jOiBidWlsdGluL2djLmM6NDA0CisjOiBidWlsdGluL2djLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgpAQCAtODMxMiwyNjkgKzg2NjYsMjg3IEBACiAidW4gcmFtYXNzZS1taWV0dGVzIGVzdCBkw6lqw6AgZW4gY291cnMgc3VyIGxhIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAiCiAiKHV0aWxpc2V6IC0tZm9yY2Ugc2kgY2Ugbidlc3QgcGFzIGxlIGNhcykiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NDgKKyM6IGJ1aWx0aW4vZ2MuYzo0ODAKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKICJJbCB5IGEgdHJvcCBkJ29iamV0cyBzZXVscyBpbmFjY2Vzc2libGVzIDsgbGFuY2V6ICdnaXQgcHJ1bmUnIHBvdXIgbGVzICIKICJzdXBwcmltZXIuIgogCi0jOiBidWlsdGluL2dyZXAuYzoyNQorIzogYnVpbHRpbi9ncmVwLmM6MjcKIG1zZ2lkICJnaXQgZ3JlcCBbPG9wdGlvbnM+XSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPG1vdGlmPiBbPHLDqXZpc2lvbj4uLi5dIFtbLS1dIDxjaGVtaW4+Li4uXSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjMyCisjOiBidWlsdGluL2dyZXAuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJncmVwIDogw6ljaGVjIGRlIGNyw6lhdGlvbiBkdSBmaWw6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoyOTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAibm9tYnJlIGRlIGZpbHMgc3DDqWNpZmnDqSBpbnZhbGlkZSAoJWQpIHBvdXIgJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc2MyBidWlsdGluL2dyZXAuYzo4MDQKKyMuIFRSQU5TTEFUT1JTOiAlcyBpcyB0aGUgY29uZmlndXJhdGlvbgorIy4gdmFyaWFibGUgZm9yIHR3ZWFraW5nIHRocmVhZHMsIGN1cnJlbnRseQorIy4gZ3JlcC50aHJlYWRzCisjLgorIzogYnVpbHRpbi9ncmVwLmM6MzAyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MgorIywgYy1mb3JtYXQKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgorbXNnc3RyICJwYXMgZGUgc3VwcG9ydCBkZXMgZmlscywgaWdub3JlICVzIgorCisjOiBidWlsdGluL2dyZXAuYzo3ODggYnVpbHRpbi9ncmVwLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnYXJicmUgKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODIzCisjOiBidWlsdGluL2dyZXAuYzo4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmYWlyZSB1biBncmVwIHN1ciB1biBvYmpldCBkZSB0eXBlICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJsJ29wdGlvbiAnJWMnIGF0dGVuZCB1biB2YWxldXIgbnVtw6lyaXF1ZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTczCisjOiBidWlsdGluL2dyZXAuYzo5OTkKIG1zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgogbXNnc3RyICJyZWNoZXJjaGVyIGRhbnMgbCdpbmRleCBwbHV0w7R0IHF1ZSBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NQorIzogYnVpbHRpbi9ncmVwLmM6MTAwMQogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICJyZWNoZXJjaGVyIGRhbnMgbGVzIGNvbnRlbnVzIG5vbiBnw6lyw6lzIHBhciBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NworIzogYnVpbHRpbi9ncmVwLmM6MTAwMwogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAicmVjaGVyY2hlciBkYW5zIGxlcyBmaWNoaWVycyBzdWl2aXMgZXQgbm9uLXN1aXZpcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc5CisjOiBidWlsdGluL2dyZXAuYzoxMDA1CiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICJpZ25vcmVyIGxlcyBmaWNoaWVycyBzcMOpY2lmacOpcyB2aWEgJy5naXRpZ25vcmUnIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODEKLW1zZ2lkICJyZWN1cnNpdmxleSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCisjOiBidWlsdGluL2dyZXAuYzoxMDA3Cittc2dpZCAicmVjdXJzaXZlbHkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgogbXNnc3RyICJyZWNoZXJjaGVyIHLDqWN1cnNpdmVtZW50IGRhbnMgY2hhcXVlIHNvdXMtbW9kdWxlIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDkKIG1zZ2lkICJiYXNlbmFtZSIKIG1zZ3N0ciAibm9tIGRlIGJhc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4NAorIzogYnVpbHRpbi9ncmVwLmM6MTAxMAogbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCiBtc2dzdHIgInByw6lmaXhlciBsZSBub20gZGUgYmFzZSBkdSBwcm9qZXQgcGFyZW50IMOgIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTg3CisjOiBidWlsdGluL2dyZXAuYzoxMDEzCiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBsaWduZXMgcXVpIG5lIGNvcnJlc3BvbmRlbnQgcGFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTUKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICJjb3JyZXNwb25kYW5jZSBpbnNlbnNpYmxlIMOgIGxhIGNhc3NlIgogCi0jOiBidWlsdGluL2dyZXAuYzo5OTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAicmVjaGVyY2hlciBsZXMgbW90aWZzIGF1eCBzw6lwYXJhdGV1cnMgZGUgbW90cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTkzCisjOiBidWlsdGluL2dyZXAuYzoxMDE5CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKIG1zZ3N0ciAidHJhaXRlciBsZXMgZmljaGllcnMgYmluYWlyZXMgY29tbWUgdGV4dGUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5NQorIzogYnVpbHRpbi9ncmVwLmM6MTAyMQogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAibmUgcGFzIGNoZXJjaGVyIGxlcyBtb3RpZnMgZGFucyBsZXMgZmljaGllcnMgYmluYWlyZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5OAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNAogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAidHJhaXRlciBsZXMgZmljaGllcnMgYmluYWlyZXMgYXZlYyBsZXMgZmlsdHJlcyB0ZXh0Y29udiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwMAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNgogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZGVzY2VuZHJlIGF1IHBsdXMgZGUgPHByb2ZvbmRldXI+IGRhbnMgbCdhcmJvcmVzY2VuY2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzAKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAidXRpbGlzZXIgZGVzIGV4cHJlc3Npb25zIHLDqWd1bGnDqHJlcyDDqXRlbmR1ZXMgUE9TSVgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzMKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgInV0aWxpc2VyIGRlcyBleHByZXNzaW9ucyByw6lndWxpw6hyZXMgYmFzaXF1ZXMgUE9TSVggKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMAorIzogYnVpbHRpbi9ncmVwLmM6MTAzNgogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJpbnRlcnByw6l0ZXIgbGVzIG1vdGlmcyBjb21tZSBkZSBjaGHDrm5lcyBmaXhlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAzOQogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAidXRpbGlzZXIgZGVzIGV4cHJlc3Npb25zIHLDqWd1bGnDqHJlcyBjb21wYXRpYmxlcyBhdmVjIFBlcmwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDIKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG51bcOpcm9zIGRlIGxpZ25lIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDE3CisjOiBidWlsdGluL2dyZXAuYzoxMDQzCiBtc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIm5lIHBhcyBwYXMgYWZmaWNoZXIgbGVzIG5vbXMgZGUgZmljaGllciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxOAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgbm9tcyBkZSBmaWNoaWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDIwCisjOiBidWlsdGluL2dyZXAuYzoxMDQ2CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG5vbXMgZGUgZmljaGllcnMgcmVsYXRpdmVtZW50IGF1IHLDqXBlcnRvaXJlIGRlIGJhc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDgKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlIGZpY2hpZXJzIGF1IGxpZXUgZGVzIGxpZ25lcyBjb3JyZXNwb25kYW50IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI0CisjOiBidWlsdGluL2dyZXAuYzoxMDUwCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgInN5bm9ueW1lIHBvdXIgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTMKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlcyBmaWNoaWVycyBzYW5zIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI5CisjOiBidWlsdGluL2dyZXAuYzoxMDU1CiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiaW1wcmltZXIgdW5lIGNhcmFjdMOocmUgTlVMIGFwcsOocyBsZSBub21zIGRlIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJhZmZpY2hlciBsZSBub21icmUgZGUgY29ycmVzcG9uZGFuY2VzIGF1IGxpZXUgZGVzIGxpZ25lcyBjb3JyZXNwb25kYW50IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMyCisjOiBidWlsdGluL2dyZXAuYzoxMDU4CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgIm1ldHRyZSBlbiDDqXZpZGVuY2UgbGVzIGNvcnJlc3BvbmRhbmNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzNAorIzogYnVpbHRpbi9ncmVwLmM6MTA2MAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICIiCiAiaW1wcmltZXIgdW5lIGxpZ25lIHZpZGUgZW50cmUgbGVzIGNvcnJlc3BvbmRhbmNlcyBkZSBmaWNoaWVycyBkaWZmw6lyZW50cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzNgorIzogYnVpbHRpbi9ncmVwLmM6MTA2MgogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZSBub20gZGUgZmljaGllciB1bmUgZm9pcyBhdSBkZXNzdXMgZGVzIGNvcnJlc3BvbmRhbmNlcyBkdSBtw6ptZSAiCiAiZmljaGllciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzOQorIzogYnVpbHRpbi9ncmVwLmM6MTA2NQogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJhZmZpY2hlciA8bj4gbGlnbmVzIGRlIGNvbnRleHRlIGF2YW50IGV0IGFwcsOocyBsZXMgY29ycmVzcG9uZGFuY2VzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQyCisjOiBidWlsdGluL2dyZXAuYzoxMDY4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgPG4+IGxpZ25lcyBkZSBjb250ZXh0ZSBhdmFudCBsZXMgY29ycmVzcG9uZGFuY2VzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ0CisjOiBidWlsdGluL2dyZXAuYzoxMDcwCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJhZmZpY2hlciA8bj4gbGlnbmVzIGRlIGNvbnRleHRlIGFwcsOocyBsZXMgY29ycmVzcG9uZGFuY2VzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ2CisjOiBidWlsdGluL2dyZXAuYzoxMDcyCiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAidXRpbGlzZXIgPG4+IGZpbHMgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NworIzogYnVpbHRpbi9ncmVwLmM6MTA3MwogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgInJhY2NvdXJjaSBwb3VyIC1DIE5VTSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1MAorIzogYnVpbHRpbi9ncmVwLmM6MTA3NgogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIiIKICJhZmZpY2hlciB1bmUgbGlnbmUgYXZlYyBsZSBub20gZGUgbGEgZm9uY3Rpb24gYXZhbnQgbGVzIGNvcnJlc3BvbmRhbmNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1MgorIzogYnVpbHRpbi9ncmVwLmM6MTA3OAogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJhZmZpY2hlciBsYSBmb25jdGlvbiBjb250ZW5hbnRlIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU1CisjOiBidWlsdGluL2dyZXAuYzoxMDgxCiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgImxpcmUgbGVzIG1vdGlmcyBkZXB1aXMgZmljaGllciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NworIzogYnVpbHRpbi9ncmVwLmM6MTA4MwogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAicmVjaGVyY2hlciA8bW90aWY+IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU5CisjOiBidWlsdGluL2dyZXAuYzoxMDg1CiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAiY29tYmluZXIgbGVzIG1vdGlmcyBzcMOpY2lmacOpcyBwYXIgLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTcKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAiIgogImluZGlxdWVyIGRlcyBjb3JyZXNwb25kYW5jZXMgYXZlYyBsZSBjb2RlIGRlIHNvcnRpZSBtYWlzIHNhbnMgcmllbiBhZmZpY2hlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3MworIzogYnVpbHRpbi9ncmVwLmM6MTA5OQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKICJuJ2FmZmljaGVyIHF1ZSBsZXMgY29ycmVzcG9uZGFuY2VzIGRlIGZpY2hpZXJzIHF1aSBjb3JyZXNwb25kZW50IMOgIHRvdXMgbGVzICIKICJtb3RpZnMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDEKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiYWZmaWNoZXIgbCdhcmJyZSBkJ2FuYWx5c2UgcG91ciBsZSBtb3RpZiBncmVwIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDc5CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgInBhZ2luZXVyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDc5CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBjb3JyZXNwb25kYW50IGRhbnMgbGUgcGFnaW5ldXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgInBlcm1ldHRyZSBsJ2FwcGVsIGRlIGdyZXAoMSkgKGlnbm9yw6kgcGFyIGNlIGJ1aWxkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTE0NgorIzogYnVpbHRpbi9ncmVwLmM6MTE3MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICJhdWN1biBtb3RpZiBmb3VybmkuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTc4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyMDQKK21zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cyIKK21zZ3N0ciAiIgorIi0tbm8taW5kZXggb3UgLS11bnRyYWNrZWQgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGF2ZWMgZGVzIHLDqXZpc2lvbnMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgcmV2aXNpb246ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSBsYSByw6l2aXNpb27CoDogJXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyNDUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICJub21icmUgZGUgZmlscyBzcMOpY2lmacOpIGludmFsaWRlICglZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyMTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTAKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAicGFzIGRlIHN1cHBvcnQgZGVzIGZpbHMsIGlnbm9yZSAtLXRocmVhZHMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyODEKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBuZSBmb25jdGlvbm5lIHF1ZSBzdXIgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTIzOAorIzogYnVpbHRpbi9ncmVwLmM6MTMwNAogbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMuIgogbXNnc3RyICJvcHRpb24gbm9uIHN1cHBvcnTDqWUgYXZlYyAtLXJlY3Vyc2Utc3VibW9kdWxlcy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMTAKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICItLWNhY2hlZCBvdSAtLXVudHJhY2tlZCBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqXMgYXZlYyAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI0OQotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiIgotIi0tbm8taW5kZXggb3UgLS11bnRyYWNrZWQgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGF2ZWMgZGVzIHLDqXZpc2lvbnMuIgotCi0jOiBidWlsdGluL2dyZXAuYzoxMjUyCisjOiBidWlsdGluL2dyZXAuYzoxMzE2CiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICIiCiAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgbmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6kgYXZlYyBkdSBjb250ZW51IHN1aXZpLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI2MAorIzogYnVpbHRpbi9ncmVwLmM6MTMyNAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIi0tY2FjaGVkIGV0IGRlcyBhcmJyZXMgc29udCBmb3VybmlzIGVuIG3Dqm1lIHRlbXBzLiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgxCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCkBAIC04NTgyLDkzICs4OTU0LDkzIEBACiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmljaGllcj4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmljaGllcj4uLi4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgzCiBtc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CiBtc2dpZCAidHlwZSIKIG1zZ3N0ciAidHlwZSIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJvYmplY3QgdHlwZSIKIG1zZ3N0ciAidHlwZSBkJ29iamV0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NgogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICLDqWNyaXJlIGwnb2JqZXQgZGFucyBsYSBiYXNlIGRlIGRvbm7DqWUgZCdvYmpldHMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgImxpcmUgbCdvYmpldCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAic3RvY2tlciBsZSBmaWNoaWVyIHRlbCBxdWVsIHNhbnMgZmlsdHJhZ2UiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCiAianVzdGUgaGFzaGVyIG4naW1wb3J0ZSBxdWVsIGNvbnRlbnUgcG91ciBjcsOpZXIgZGVzIG9iamV0cyBjb3Jyb21wdXMgcG91ciAiCiAiZGVidWdnZXIgR2l0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgInRyYWl0ZXIgbGUgZmljaGllciBjb21tZSBzJ2lsIHZlbmFpdCBkZSBjZSBjaGVtaW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyCisjOiBidWlsdGluL2hlbHAuYzo0MwogbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCiBtc2dzdHIgImFmZmljaGVyIHRvdXRlcyBsZXMgY29tbWFuZGVzIGRpc3BvbmlibGVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MworIzogYnVpbHRpbi9oZWxwLmM6NDQKIG1zZ2lkICJleGNsdWRlIGd1aWRlcyIKIG1zZ3N0ciAiZXhjbHVyZSBsZXMgZ3VpZGVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NAorIzogYnVpbHRpbi9oZWxwLmM6NDUKIG1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCiBtc2dzdHIgImFmZmljaGVyIHVuZSBsaXN0ZSBkZSBndWlkZXMgdXRpbGVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NQorIzogYnVpbHRpbi9oZWxwLmM6NDYKIG1zZ2lkICJzaG93IG1hbiBwYWdlIgogbXNnc3RyICJhZmZpY2hlciBsYSBwYWdlIGRlIG1hbnVlbCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3CiBtc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCiBtc2dzdHIgImFmZmljaGVyIGxlIG1hbnVlbCBkYW5zIHVuIG5hdmlnYXRldXIgd2ViIgogCi0jOiBidWlsdGluL2hlbHAuYzo0OAorIzogYnVpbHRpbi9oZWxwLmM6NDkKIG1zZ2lkICJzaG93IGluZm8gcGFnZSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGEgcGFnZSBpbmZvIgogCi0jOiBidWlsdGluL2hlbHAuYzo1NAorIzogYnVpbHRpbi9oZWxwLmM6NTUKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZGU+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NjYKKyM6IGJ1aWx0aW4vaGVscC5jOjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICJmb3JtYXQgZCdhaWRlIG5vbiByZWNvbm51ICclcyciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjkzCisjOiBidWlsdGluL2hlbHAuYzo5NAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIsOpY2hlYyBkZSBkw6ltYXJyYWdlIGQnZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDYKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNwogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKIG1zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSB2ZXJzaW9uIGQnZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTQKKyM6IGJ1aWx0aW4vaGVscC5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJsYSB2ZXJzaW9uIGQnZW1hY3NjbGllbnQgJyVkJyBlc3QgdHJvcCBhbmNpZW5uZSAoPDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMiBidWlsdGluL2hlbHAuYzoxNTMgYnVpbHRpbi9oZWxwLmM6MTYyIGJ1aWx0aW4vaGVscC5jOjE3MAorIzogYnVpbHRpbi9oZWxwLmM6MTMzIGJ1aWx0aW4vaGVscC5jOjE1NCBidWlsdGluL2hlbHAuYzoxNjMgYnVpbHRpbi9oZWxwLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ2V4w6ljdXRpb24gZGUgJyVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjA3CisjOiBidWlsdGluL2hlbHAuYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC04Njc3LDcgKzkwNDksNyBAQAogIiclcycgOiBjaGVtaW4gcG91ciBsJ3V0aWxpdGFpcmUgZGUgdmlzdWFsaXNhdGlvbiBkZSBtYW51ZWwgbm9uIHN1cHBvcnTDqS5cbiIKICJWZXVpbGxleiB1dGlsaXNlciBwbHV0w7R0ICdtYW4uPG91dGlsPi5jbWQnLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE5CisjOiBidWlsdGluL2hlbHAuYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC04Njg2LDQzNyArOTA1OCw0MzcgQEAKICInJXMnIDogY2hlbWluIHBvdXIgbCd1dGlsaXRhaXJlIGRlIHZpc3VhbGlzYXRpb24gZGUgbWFudWVsIHN1cHBvcnTDqS5cbiIKICJWZXVpbGxleiB1dGlsaXNlciBwbHV0w7R0ICdtYW4uPG91dGlsPi5jbWQnLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzM2CisjOiBidWlsdGluL2hlbHAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiJyVzJyA6IHZpc3VhbGlzZXVyIGRlIG1hbnVlbCBpbmNvbm51LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzUzCisjOiBidWlsdGluL2hlbHAuYzozNTQKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImF1Y3VuIHZpc3VhbGlzZXVyIGRlIG1hbnVlbCBuJ2EgcHJpcyBlbiBjaGFyZ2UgbGEgZGVtYW5kZSIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzYxCisjOiBidWlsdGluL2hlbHAuYzozNjIKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJhdWN1biB2aXN1YWxpc2V1ciBkZSAnaW5mbycgbidhIHByaXMgZW4gY2hhcmdlIGxhIGRlbWFuZGUiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwMworIzogYnVpbHRpbi9oZWxwLmM6NDA0CiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAiRMOpZmluaXRpb24gZGVzIGF0dHJpYnV0cyBwYXIgY2hlbWluIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNQogbXNnaWQgIkV2ZXJ5ZGF5IEdpdCBXaXRoIDIwIENvbW1hbmRzIE9yIFNvIgogbXNnc3RyICJHaXQgZGUgdG91cyBsZXMgam91cnMgYXZlYyDDoCBwZXUgcHLDqHMgMjAgY29tbWFuZGVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDUKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNgogbXNnaWQgIkEgR2l0IGdsb3NzYXJ5IgogbXNnc3RyICJVbiBnbG9zc2FpcmUgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNwogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIlNww6ljaWZpZSBsZXMgZmljaGllcnMgbm9uLXN1aXZpcyDDoCBpZ25vcmVyIGludGVudGlvbm5lbGxlbWVudCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA3CisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAiRMOpZmluaXRpb24gZGVzIHByb3ByacOpdMOpcyBkZSBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA4CisjOiBidWlsdGluL2hlbHAuYzo0MDkKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIlNww6ljaWZpY2F0aW9uIGRlcyByw6l2aXNpb25zIGV0IHBvcnTDqWVzIHBvdXIgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDkKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgogbXNnc3RyICIiCiAiVW5lIGludHJvZHVjdGlvbiBwcmF0aXF1ZSDDoCBHaXQgKHBvdXIgbGVzIHZlcnNpb25zIDEuNS4xIGV0IHN1cMOpcmlldXJlcykiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDExCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICJVbiBhcGVyw6d1IGRlcyBmbHV4IGRlIHRyYXZhaWwgcmVjb21tYW5kw6lzIGF2ZWMgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjIKKyM6IGJ1aWx0aW4vaGVscC5jOjQyMwogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6XG4iCiBtc2dzdHIgIkxlcyBndWlkZXMgR2l0IHBvcHVsYWlyZXMgc29udCA6IFxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDAKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgImBnaXQgJXNcIiBlc3QgdW4gYWxpYXMgZGUgYCVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIzogYnVpbHRpbi9oZWxwLmM6NDYzIGJ1aWx0aW4vaGVscC5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKIG1zZ3N0ciAidXNhZ2UgOiAlcyVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgInR5cGUgZCdvYmpldCBub24gY29ycmVzcG9uZGFudCDDoCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAib2JqZXQgYXR0ZW5kdSBub24gcmXDp3UgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIm9iamV0ICVzIDogdHlwZSBhdHRlbmR1ICVzLCByZcOndSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gImltcG9zc2libGUgZGUgcmVtcGxpciAlZCBvY3RldCIKIG1zZ3N0clsxXSAiaW1wb3NzaWJsZSBkZSByZW1wbGlyICVkIG9jdGV0cyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgImZpbiBkZSBmaWNoaWVyIHByw6ltYXR1csOpZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODEKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICJlcnJldXIgZGUgbGVjdHVyZSBzdXIgbCdlbnRyw6llIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MwogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICJwbHVzIGQnb2N0ZXRzIHV0aWxpc8OpcyBxdWUgZGlzcG9uaWJsZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAwCiBtc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKIG1zZ3N0ciAibGUgcGFxdWV0IGVzdCB0cm9wIGdyYW5kIHBvdXIgbGEgZMOpZmluaXRpb24gYWN0dWVsbGUgZGUgb2ZmX3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTMKIG1zZ2lkICJwYWNrIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHNpemUiCiBtc2dzdHIgImxlIHBhcXVldCBkw6lwYXNzZSBsYSB0YWlsbGUgbWF4aW1hbGUgcGVybWlzZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM4CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgImxhIHNpZ25hdHVyZSBkdSBwYXF1ZXQgbmUgY29ycmVzcG9uZCBwYXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgImxhIHZlcnNpb24gZGUgcGFxdWV0ICU8UFJJdTMyPiBub24gc3VwcG9ydMOpZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgImxlIHBhcXVldCBhIHVuIG1hdXZhaXMgb2JqZXQgw6AgbCdvZmZzZXQgJTxQUkl1TUFYPsKgOiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKIG1zZ3N0ciAibGEgZMOpY29tcHJlc3Npb24gKGluZmxhdGUpIGEgcmV0b3VybsOpICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyOAogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgImTDqXBhc3NlbWVudCBkZSBsYSB2YWxldXIgZCdvZmZzZXQgcG91ciBsJ29iamV0IGRlbHRhIGRlIGJhc2UiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM2CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJsJ29iamV0IGRlbHRhIGRlIGJhc2UgZXN0IGhvcnMgbGltaXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJ0eXBlIGQnb2JqZXQgaW5jb25udSAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzUKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgKHByZWFkKSBsZSBmaWNoaWVyIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICJmaW4gcHLDqW1hdHVyw6llIGR1IGZpY2hpZXIgcGFxdWV0LCAlPFBSSXVNQVg+IG9jdGV0IGx1IgogbXNnc3RyWzFdICJmaW4gcHLDqW1hdHVyw6llIGR1IGZpY2hpZXIgcGFxdWV0LCAlPFBSSXVNQVg+IG9jdGV0cyBsdXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAzCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgImdyYXZlIGluY29ow6lyZW5jZSBkYW5zIGxhIGTDqWNvbXByZXNzaW9uIChpbmZsYXRlKSIKIAogIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMyBidWlsdGluL2luZGV4LXBhY2suYzo4MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNiBidWlsdGluL2luZGV4LXBhY2suYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJDT0xMSVNJT04gU0hBMSBUUk9VVsOJRSBBVkVDICVzICEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0IGluZm8gJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ2luZm9ybWF0aW9uIGV4aXN0YW50ZSBkZSBsJ29iamV0ICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCBleGlzdGFudCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAib2JqZXQgYmxvYiBpbnZhbGlkZSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlcyIKIG1zZ3N0ciAiJXMgaW52YWxpZGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODU0CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICJFcnJldXIgZGFucyBsJ29iamV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiVG91cyBsZXMgb2JqZXRzIGVuZmFudHMgZGUgJXMgbmUgc29udCBwYXMgYWNjZXNzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyNCBidWlsdGluL2luZGV4LXBhY2suYzo5NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyOCBidWlsdGluL2luZGV4LXBhY2suYzo5NTkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIsOpY2hlYyBkJ2FwcGxpY2F0aW9uIGR1IGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIlLDqWNlcHRpb24gZCdvYmpldHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJJbmRleGluZyBvYmplY3RzIgogbXNnc3RyICJJbmRleGF0aW9uIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY0CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJsZSBwYXF1ZXQgZXN0IGNvcnJvbXB1IChTSEExIG5lIGNvcnJlc3BvbmQgcGFzKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2OQogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbGUgc3RhdHV0IChmc3RhdCkgZHUgZmljaGllciBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzIKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgImxlIHBhcXVldCBlc3QgaW52YWxpZGUgw6AgbGEgZmluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTg0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiY29uZnVzaW9uIGV4dHLDqm1lIGRhbnMgcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDcKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJSw6lzb2x1dGlvbiBkZXMgZGVsdGFzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjEwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgZmlsIDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJjb25mdXNpb24gZXh0csOqbWUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICJjb21wbMOpdMOpIGF2ZWMgJWQgb2JqZXQgbG9jYWwiCiBtc2dzdHJbMV0gImNvbXBsw6l0w6kgYXZlYyAlZCBvYmpldHMgbG9jYXV4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjcwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICIiCiAiU29tbWUgZGUgY29udHLDtGxlIGRlIGZpbiBpbmF0dGVuZHVlIHBvdXIgJXMgKGNvcnJ1cHRpb24gc3VyIGxlIGRpc3F1ZSA/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAibGUgcGFxdWV0IGEgJWQgZGVsdGEgbm9uIHLDqXNvbHUiCiBtc2dzdHJbMV0gImxlIHBhcXVldCBhICVkIGRlbHRhcyBub24gcsOpc29sdXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY29tcHJlc3NlciBsJ29iamV0IGFqb3V0w6kgKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAibCdvYmpldCBsb2NhbCAlcyBlc3QgY29ycm9tcHUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDgKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAiZXJyZXVyIGVuIGZlcm1ldHVyZSBkdSBmaWNoaWVyIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgXCJrZWVwXCIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmZXJtZXIgbGUgZmljaGllciBcImtlZXBcIiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM4CiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdG9ja2VyIGxlIGZpY2hpZXIgcGFxdWV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDQ2CiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3RvY2tlciBsZSBmaWNoaWVyIGQnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIG1zZ3N0ciAibWF1dmFpcyBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgotbXNnc3RyICJwYXMgZGUgc3VwcG9ydCBkZXMgZmlscywgaWdub3JlICVzIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0IGV4aXN0YW50ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHBhcXVldCBkJ2luZGV4IGV4aXN0YW50IHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICJwYXMgdW4gZGVsdGEgOiAlZCBvYmpldCIKIG1zZ3N0clsxXSAicGFzIHVuIGRlbHRhIDogJWQgb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImxvbmd1ZXVyIGNoYcOubsOpZSA9ICVkIDogJWx1IG9iamV0IgogbXNnc3RyWzFdICJsb25ndWV1ciBjaGHDrm7DqWUgPSAlZCA6ICVsdSBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgImxlIG5vbSBkZSBmaWNoaWVyIHBhcXVldCAnJXMnIG5lIHNlIHRlcm1pbmUgcGFzIHBhciAnLnBhY2snIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjk1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTgKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICJtYXV2YWlzICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQzCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4gbmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6kgc2FucyAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ1CiBtc2dpZCAiLS1zdGRpbiByZXF1aXJlcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLXN0ZGluIHJlcXVpZXJ0IHVuIGTDqXDDtHQgZ2l0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzUzCiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICItLXZlcmlmeSBzYW5zIG5vbSBkZSBmaWNoaWVyIHBhcXVldCBkb25uw6kiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CisjOiBidWlsdGluL2luaXQtZGIuYzo1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZhaXJlIHVuIHN0YXQgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gc3RhdCBkdSBtb2TDqGxlICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CisjOiBidWlsdGluL2luaXQtZGIuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbmRpciAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIChvcGVuZGlyKSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVhZGxpbmsgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gbGllbiBzeW1ib2xpcXVlIGRlICclcycgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb3BpZXIgJyVzJyB2ZXJzICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg4CisjOiBidWlsdGluL2luaXQtZGIuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB0ZW1wbGF0ZSAlcyIKIG1zZ3N0ciAibW9kw6hsZSAlcyBpZ25vcsOpIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICJtb2TDqGxlcyBub24gdHJvdXbDqXMgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNAorIzogYnVpbHRpbi9pbml0LWRiLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICJwYXMgZGUgY29waWUgZGVzIG1vZMOobGVzIGRlcHVpcyAnJXMnwqA6ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMjcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cmFpdGVyIGxlIGZpY2hpZXIgZGUgdHlwZSAlZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzMwCisjOiBidWlsdGluL2luaXQtZGIuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpcGxhY2VyICVzIHZlcnMgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OCBidWlsdGluL2luaXQtZGIuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzIGV4aXN0ZSBkw6lqw6AiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMworIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiRMOpcMO0dCBHaXQgZXhpc3RhbnQgcGFydGFnw6kgcsOpaW5pdGlhbGlzw6kgZGFucyAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJEw6lww7R0IEdpdCBleGlzdGFudCByw6lpbml0aWFsaXPDqSBkYW5zICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA4CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiRMOpcMO0dCBHaXQgdmlkZSBwYXJ0YWfDqSBpbml0aWFsaXPDqSBkYW5zICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJEw6lww7R0IEdpdCB2aWRlIGluaXRpYWxpc8OpIGRhbnMgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC05MTI0LDI1ICs5NDk2LDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHLDqXBlcnRvaXJlLW1vZMOobGU+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxyw6lwZXJ0b2lyZT5dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICJwZXJtaXNzaW9ucyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDgxCisjOiBidWlsdGluL2luaXQtZGIuYzo0ODIKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgInNww6ljaWZpZXIgcXVlIGxlIGTDqXDDtHQgZ2l0IHNlcmEgcGFydGFnw6kgZW50cmUgcGx1c2lldXJzIHV0aWxpc2F0ZXVycyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE1IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTE2IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIChta2RpcikgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzZSBkw6lwbGFjZXIgdmVycyBsZSByw6lwZXJ0b2lyZSAoY2hkaXIpICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTkxNTEsNyArOTUyMyw3IEBACiAiJXMgKG91IC0td29yay10cmVlPTxyw6lwZXJ0b2lyZT4pIG4nZXN0IHBhcyBhdXRvcmlzw6kgc2FucyBzcMOpY2lmaWVyICVzIChvdSAtLSIKICJnaXQtZGlyPTxyw6lwZXJ0b2lyZT4pIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NzMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWNjw6lkZXIgw6AgbCdhcmJyZSBkZSB0cmF2YWlsICclcyciCkBAIC05MTg0LDExNCArOTU1NiwxMTQgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJhdWN1biBmaWNoaWVyIGVuIGVudHLDqWUgcG91ciBsJ8OpZGl0b24gc3VyIHBsYWNlIgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHBsYWdlIGRlIHLDqXZpc2lvbnM+XSBbWy0tXSA8Y2hlbWluPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDYKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamV0Pi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NAorIzogYnVpbHRpbi9sb2cuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAib3B0aW9uIC0tZGVjb3JhdGUgaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgInN1cHByaW1lciBsYSBzb3J0aWUgZGVzIGRpZmbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgImFmZmljaGVyIGxhIHNvdXJjZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIlV0aWxpc2VyIGxlIGZpY2hpZXIgZGUgY29ycmVzcG9uZGFuY2UgZGUgbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAiZMOpY29yZXIgbGVzIG9wdGlvbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1CisjOiBidWlsdGluL2xvZy5jOjE1MwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICIiCiAiVHJhaXRlciBzZXVsZW1lbnQgbCdpbnRlcnZhbGxlIGRlIGxpZ25lcyBuLG0gZHUgZmljaGllciBlbiBjb21tZW7Dp2FudCBsZSAiCiAiY29tcHRlIMOgIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjQxCisjOiBidWlsdGluL2xvZy5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIlNvcnRpZSBmaW5hbGUgOiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ4NgorIzogYnVpbHRpbi9sb2cuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlcyA6IGZpY2hpZXIgaW5jb3JyZWN0IgogCi0jOiBidWlsdGluL2xvZy5jOjUwMCBidWlsdGluL2xvZy5jOjU5NAorIzogYnVpbHRpbi9sb2cuYzo1MTIgYnVpbHRpbi9sb2cuYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo2MTgKKyM6IGJ1aWx0aW4vbG9nLmM6NjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIlR5cGUgaW5jb25udSA6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjczOQorIzogYnVpbHRpbi9sb2cuYzo3NTEKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICJmb3JtYXQuaGVhZGVycyBzYW5zIHZhbGV1ciIKIAotIzogYnVpbHRpbi9sb2cuYzo4MzkKKyM6IGJ1aWx0aW4vbG9nLmM6ODUyCiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICJsZSBub20gZHUgcsOpcGVydG9pcmUgZGUgc29ydGllIGVzdCB0cm9wIGxvbmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODU0CisjOiBidWlsdGluL2xvZy5jOjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgY29ycmVjdGlmICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjg2OAorIzogYnVpbHRpbi9sb2cuYzo4ODUKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKIG1zZ3N0ciAiRXhhY3RlbWVudCB1bmUgcGxhZ2UgbsOpY2Vzc2FpcmUuIgogCi0jOiBidWlsdGluL2xvZy5jOjg3OAorIzogYnVpbHRpbi9sb2cuYzo4OTUKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgIkNlY2kgbidlc3QgcGFzIHVuZSBwbGFnZS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTg0CisjOiBidWlsdGluL2xvZy5jOjEwMDEKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgotbXNnc3RyICJMYSBsZXR0cmUgZGUgbW90aXZhdGlvbiBkb2l0IMOqdHJlIGF1IGZvcm1hdCBlLW1haWwiCittc2dzdHIgIkxhIGxldHRyZSBkZSBtb3RpdmF0aW9uIGRvaXQgw6p0cmUgYXUgZm9ybWF0IGNvdXJyaWVsIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTA4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJpbi1yZXBseS10byBhYmVycmFudCA6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEwOTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTEwOAogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPGRlcHVpcz4gfCA8cGxhZ2UgZGUgcsOpdmlzaW9ucz5dIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTE1OAogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJEZXV4IHLDqXBlcnRvaXJlcyBkZSBzb3J0aWUgPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjQ4IGJ1aWx0aW4vbG9nLmM6MTg5MSBidWlsdGluL2xvZy5jOjE4OTMgYnVpbHRpbi9sb2cuYzoxOTA1CisjOiBidWlsdGluL2xvZy5jOjEyNjUgYnVpbHRpbi9sb2cuYzoxOTA4IGJ1aWx0aW4vbG9nLmM6MTkxMCBidWlsdGluL2xvZy5jOjE5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIkNvbW1pdCBpbmNvbm51ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTggYnVpbHRpbi9ub3Rlcy5jOjg4NCBidWlsdGluL3RhZy5jOjQ3NgorIzogYnVpbHRpbi9sb2cuYzoxMjc1IGJ1aWx0aW4vbm90ZXMuYzo4ODYgYnVpbHRpbi90YWcuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcsOpc291ZHJlICclcycgY29tbWUgdW5lIHLDqWbDqXJlbmNlIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2MworIzogYnVpbHRpbi9sb2cuYzoxMjgwCiBtc2dpZCAiQ291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZS4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdHJvdXZlciBsYSBiYXNlIGRlIGZ1c2lvbiBleGFjdGUuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4NAogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgpAQCAtOTMwNCwyMTYgKzk2NzYsMjIxIEBACiAib3Ugdm91cyBwb3V2ZXogc3DDqWNpZmllciBsZSBjb21taXQgZGUgYmFzZSBwYXIgLS1iYXNlPTxpZC1kdS1jb21taXQtZGUtYmFzZT4gIgogIm1hbnVlbGxlbWVudC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI4NworIzogYnVpbHRpbi9sb2cuYzoxMzA0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIGJhc2UgZGUgZnVzaW9uIGV4YWN0ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjk4CisjOiBidWlsdGluL2xvZy5jOjEzMTUKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImxlIGNvbW1pdCBkZSBiYXNlIGRldnJhaXQgw6p0cmUgbCdhbmPDqnRyZSBkZSBsYSBsaXN0ZSBkZSByw6l2aXNpb25zIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxOQogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJsZSBjb21taXQgZGUgYmFzZSBuZSBkZXZyYWl0IHBhcyBmYWlyZSBwYXJ0aWUgZGUgbGEgbGlzdGUgZGUgcsOpdmlzaW9ucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzUxCisjOiBidWlsdGluL2xvZy5jOjEzNjgKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsJ2lkIGR1IHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgInV0aWxpc2VyIFtQQVRDSCBuL21dIG3Dqm1lIGF2ZWMgdW4gcGF0Y2ggdW5pcXVlIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyOAogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICJ1dGlsaXNlciBbUEFUQ0hdIG3Dqm1lIGF2ZWMgZGVzIHBhdGNocyBtdWx0aXBsZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDMyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBwYXRjaHMgc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE3CisjOiBidWlsdGluL2xvZy5jOjE0MzQKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZ8OpbsOpcmVyIHVuZSBsZXR0cmUgZGUgbW90aXZhdGlvbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE5CisjOiBidWlsdGluL2xvZy5jOjE0MzYKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIiIKICJ1dGlsaXNlciB1bmUgc8OpcXVlbmNlIHNpbXBsZSBkZSBub21icmVzIHBvdXIgbGVzIG5vbSBkZXMgZmljaGllcnMgZGUgc29ydGllIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNwogbXNnaWQgInNmeCIKIG1zZ3N0ciAic2Z4IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJ1dGlsaXNlciA8c2Z4PiBhdSBsaWV1IGRlICcucGF0Y2gnIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgImTDqW1hcnJlciBsYSBudW3DqXJvdGF0aW9uIGRlcyBwYXRjaHMgw6AgPG4+IGF1IGxpZXUgZGUgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI1CisjOiBidWlsdGluL2xvZy5jOjE0NDIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIm1hcnF1ZXIgbGEgc8OpcmllIGNvbW1lIHVuZSBOacOobWUgcsOpw6lkaXRpb24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNworIzogYnVpbHRpbi9sb2cuYzoxNDQ0CiBtc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAidXRpbGlzZXIgW1JGQyBQQVRDSF0gYXUgbGlldSBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NwogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAidXRpbGlzZXIgWzxwcsOpZml4ZT5dIGF1IGxpZXUgZGUgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgInN0b2NrZXIgbGVzIGZpY2hpZXJzIHLDqXN1bHRhdHMgZGFucyA8csOpcGVydG9pcmU+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MwogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJuZSBwYXMgcmV0aXJlci9ham91dGVyIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorIzogYnVpbHRpbi9sb2cuYzoxNDU2CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAibmUgcGFzIGltcHJpbWVyIGxlcyBkaWZmcyBiaW5haXJlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQxCisjOiBidWlsdGluL2xvZy5jOjE0NTgKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAiw6ljcmlyZSB1bmUgZW1wcmVpbnRlIMOgIHrDqXJvIGRhbnMgbCdlbnTDqnRlIEZyb20iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MworIzogYnVpbHRpbi9sb2cuYzoxNDYwCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICJuZSBwYXMgaW5jbHVyZSB1biBwYXRjaCBjb3JyZXNwb25kYW50IMOgIHVuIGNvbW1pdCBhbW9udCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ1CisjOiBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgImFmZmljaGVyIGxlIGZvcm1hdCBkdSBwYXRjaCBhdSBsaWV1IGR1IGTDqWZhdXQgKHBhdGNoICsgc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NworIzogYnVpbHRpbi9sb2cuYzoxNDY0CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJDb21tdW5pY2F0aW9uIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NQogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAiZW4tdMOqdGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OQorIzogYnVpbHRpbi9sb2cuYzoxNDY2CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKLW1zZ3N0ciAiYWpvdXRlciBsJ2VuLXTDqnRlIGQnZS1tYWlsIgorbXNnc3RyICJham91dGVyIGwnZW4tdMOqdGUgZCdjb3VycmllbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgorIzogYnVpbHRpbi9sb2cuYzoxNDY3IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImVtYWlsIgotbXNnc3RyICJlLW1haWwiCittc2dzdHIgImNvdXJyaWVsIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICJham91dGVyIGwnZW4tdMOqdGUgXCJUbzpcIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUyCisjOiBidWlsdGluL2xvZy5jOjE0NjkKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAiYWpvdXRlciBsJ2VuLXTDqnRlIFwiQ2M6XCIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NAorIzogYnVpbHRpbi9sb2cuYzoxNDcxCiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgImlkZW50IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKICJyZW5zZWlnbmVyIGwnYWRyZXNzZSBGcm9tIMOgIDxpZGVudD4gKG91IMOgIGwnaWRlbnQgZHUgdmFsaWRhdGV1ciBzaSBhYnNlbnQpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgIm1lc3NhZ2UtaWQiCiBtc2dzdHIgImlkLW1lc3NhZ2UiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1OAorIzogYnVpbHRpbi9sb2cuYzoxNDc1CiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICJyw6lwb25kcmUgZGFucyBsZSBwcmVtaWVyIG1lc3NhZ2Ugw6AgPGlkLW1lc3NhZ2U+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCisjOiBidWlsdGluL2xvZy5jOjE0NzYgYnVpbHRpbi9sb2cuYzoxNDc5CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgImxpbWl0ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYwCisjOiBidWlsdGluL2xvZy5jOjE0NzcKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJhdHRhY2hlciBsZSBwYXRjaCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYzCisjOiBidWlsdGluL2xvZy5jOjE0ODAKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICJwYXRjaCDDoCBsJ2ludMOpcmlldXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2NworIzogYnVpbHRpbi9sb2cuYzoxNDg0CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIiIKICJhY3RpdmVyIGwnZW5maWxhZ2UgZGUgbWVzc2FnZSwgc3R5bGVzIDogc2hhbGxvdyAoc3VwZXJmaWNpZWwpLCBkZWVwIChwcm9mb25kKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDY5CisjOiBidWlsdGluL2xvZy5jOjE0ODYKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgInNpZ25hdHVyZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcwCisjOiBidWlsdGluL2xvZy5jOjE0ODcKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgImFqb3V0ZXIgdW5lIHNpZ25hdHVyZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcxCisjOiBidWlsdGluL2xvZy5jOjE0ODgKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAiY29tbWl0LWRlLWJhc2UiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgorIzogYnVpbHRpbi9sb2cuYzoxNDg5CiBtc2dpZCAiYWRkIHByZXJlcXVpc2l0ZSB0cmVlIGluZm8gdG8gdGhlIHBhdGNoIHNlcmllcyIKIG1zZ3N0ciAiQWpvdXRlciB1biBhcmJyZSBwcsOpcmVxdWlzIMOgIGxhIHPDqXJpZSBkZSBwYXRjaHMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAorIzogYnVpbHRpbi9sb2cuYzoxNDkxCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICJham91dGVyIHVuZSBzaWduYXR1cmUgZGVwdWlzIHVuIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3NQorIzogYnVpbHRpbi9sb2cuYzoxNDkyCiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxlcyBub21zIGRlIGZpY2hpZXJzIGRlcyBwYXRjaHMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NQorIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCittc2dzdHIgImxpZ25lIGQnaWRlbnRpZmljYXRpb24gaW52YWxpZGUgOiAlcyIKKworIzogYnVpbHRpbi9sb2cuYzoxNTgyCiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItbiBldCAtayBzb250IG11dHVlbGxlbWVudCBleGNsdXNpZnMuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4NAogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGV0IC1rIHNvbnQgbXV0dWVsbGVtZW50IGV4Y2x1c2lmcy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NQorIzogYnVpbHRpbi9sb2cuYzoxNTkyCiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkgbidhIHBhcyBkZSBzZW5zIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NAogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLXN0YXR1cyBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3OQorIzogYnVpbHRpbi9sb2cuYzoxNTk2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrIG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjA5CisjOiBidWlsdGluL2xvZy5jOjE2MjYKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAic29ydGllIHN0YW5kYXJkLCBvdSByw6lwZXJ0b2lyZSwgbGVxdWVsID8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYxMQorIzogYnVpbHRpbi9sb2cuYzoxNjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcwNQorIzogYnVpbHRpbi9sb2cuYzoxNzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCiBtc2dzdHIgImxlY3R1cmUgZHUgZmljaGllciBkZSBzaWduYXR1cmUgJyVzJyBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5NAogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICLDiWNoZWMgZGUgY3LDqWF0aW9uIGRlcyBmaWNoaWVycyBlbiBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPGJyYW5jaGVfYW1vbnQ+IFs8aGVhZD4gWzxsaW1pdGU+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4ODAKKyM6IGJ1aWx0aW4vbG9nLmM6MTg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC05NTIxLDEwNiArOTg5OCwxMDYgQEAKICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIGJyYW5jaGUgZGlzdGFudGUgc3VpdmllLCBtZXJjaSBkZSBzcMOpY2lmaWVyICIKICI8YnJhbmNoZV9hbW9udD4gbWFudWVsbGVtZW50LlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxvcHRpb25zPl0gWzxmaWNoaWVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTcKIG1zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgotbXNnc3RyICJpZGVudGlmaWVyIGxlIHN0YXR1dCBkZSBmaWNoaWVyIGF2ZWMgbGVzIMOpdGlxdWV0dGVzIgorbXNnc3RyICJpZGVudGlmaWVyIGwnw6l0YXQgZGUgZmljaGllciBhdmVjIGxlcyDDqXRpcXVldHRlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICJ1dGlsaXNlciBkZXMgbWludXNjdWxlcyBwb3VyIGxlcyBmaWNoaWVyICdhc3N1bcOpcyBpbmNoYW5nw6lzJyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgbWlzIGVuIGNhY2hlIGRhbnMgbGEgc29ydGllIChkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMwogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgc3VwcHJpbcOpcyBkYW5zIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG1vZGlmacOpcyBkYW5zIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNwogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGF1dHJlcyBmaWNoaWVycyBkYW5zIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOQogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgaWdub3LDqXMgZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG5vbSBkZXMgb2JqZXRzIGluZGV4w6lzIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM0CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAiIgogImFmZmljaGVyIGxlcyBmaWNoaWVycyBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyBxdWkgb250IGJlc29pbiBkJ8OqdHJlIHN1cHByaW3DqXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgbm9tcyBkZXMgcsOpcGVydG9pcmVzICdvdGhlciciCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpbnMgZGUgbGlnbmVzIGRlcyBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgcsOpcGVydG9pcmVzIHZpZGVzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMgZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiYWZmaWNoZXIgbCdpbmZvcm1hdGlvbiByZXNvbHYtdW5kbyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAic2F1dGVyIGxlcyBmaWNoaWVycyBjb3JyZXNwb25kYW50IGF1IG1vdGlmIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAibGVzIG1vdGlmcyBkJ2V4Y2x1c2lvbiBzb250IGx1cyBkZXB1aXMgPGZpY2hpZXI+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgImxpcmUgZGVzIG1vdGlmcyBkJ2V4Y2x1c2lvbiBhZGRpdGlvbm5lbHMgcGFyIHLDqXBlcnRvaXJlIGRhbnMgPGZpY2hpZXI+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAiYWpvdXRlciBsZXMgZXhjbHVzaW9ucyBnaXQgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTgKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiYWZmaWNoZXIgZW4gcmVsYXRpZiBwYXIgcmFwcG9ydCBhdSByw6lwZXJ0b2lyZSByYWNpbmUgZHUgcHJvamV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYxCiBtc2dpZCAicmVjdXJzZSB0aHJvdWdoIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInBhcmNvdXJpciByw6ljdXJzaXZlbWVudCBsZXMgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJzaSB1biA8ZmljaGllcj4gbidlc3QgcGFzIGRhbnMgbCdpbmRleCwgdHJhaXRlciBjZWxhIGNvbW1lIHVuZSBlcnJldXIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjQKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAiYXJicmUgb3UgYXBwYXJlbnTDqSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NQogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIiIKICJjb25zaWTDqXJlciBxdWUgbGVzIGNoZW1pbnMgc3VwcHJpbcOpcyBkZXB1aXMgPGFyYnJlIG91IGFwcGFyZW50w6k+IHNvbnQgIgogInRvdWpvdXJzIHByw6lzZW50cyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NwogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBkb25uw6llcyBkZSBkw6lib2dhZ2UiCiAKQEAgLTk2MzQsODkgKzEwMDExLDkwIEBACiAiICAgICAgICAgICAgICAgICAgICAgWy1xIHwgLS1xdWlldF0gWy0tZXhpdC1jb2RlXSBbLS1nZXQtdXJsXVxuIgogIiAgICAgICAgICAgICAgICAgICAgIFstLXN5bXJlZl0gWzxkw6lww7R0PiBbPHLDqWbDqXJlbmNlcz4uLi5dXSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MgogbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGVzIFVSTCBkaXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTEgYnVpbHRpbi9scy1yZW1vdGUuYzo1MworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MyBidWlsdGluL2xzLXJlbW90ZS5jOjU1CiBtc2dpZCAiZXhlYyIKIG1zZ3N0ciAiZXjDqWN1dGFibGUiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIgYnVpbHRpbi9scy1yZW1vdGUuYzo1NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NCBidWlsdGluL2xzLXJlbW90ZS5jOjU2CiBtc2dpZCAicGF0aCBvZiBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSBob3N0IgogbXNnc3RyICJjaGVtaW4gdmVycyBnaXQtdXBsb2FkLXBhY2sgc3VyIGxlIHNlcnZldXIgZGlzdGFudCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAogbXNnaWQgImxpbWl0IHRvIHRhZ3MiCiBtc2dzdHIgImxpbWl0ZXIgYXV4IMOpdGlxdWV0dGVzIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU3CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU5CiBtc2dpZCAibGltaXQgdG8gaGVhZHMiCiBtc2dzdHIgImxpbWl0ZXIgYXV4IGhlYWRzIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU4CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwCiBtc2dpZCAiZG8gbm90IHNob3cgcGVlbGVkIHRhZ3MiCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgw6l0aXF1ZXR0ZXMgcGVsw6llcyIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICJwcmVuZHJlIGVuIGNvbXB0ZSB1cmwuPGJhc2U+Lmluc3RlYWRPZiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NAogbXNnaWQgImV4aXQgd2l0aCBleGl0IGNvZGUgMiBpZiBubyBtYXRjaGluZyByZWZzIGFyZSBmb3VuZCIKIG1zZ3N0ciAiIgogInNvcnRpciBhdmVjIHVuIGNvZGUgZCdlcnJldXIgMiBzaSBhdWN1bmUgY29ycmVzcG9uZGFuY2UgZGUgcsOpZsOpcmVuY2Ugbidlc3QgIgogInRyb3V2w6llIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjY0CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY2CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCiBtc2dzdHIgImFmZmljaGVyIGxhIHLDqWYgc291cy1qYWNlbnRlIGVuIHBsdXMgZGUgbCdvYmpldCBwb2ludMOpIHBhciBlbGxlIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoyOAorIzogYnVpbHRpbi9scy10cmVlLmM6MjkKIG1zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8YXJicmUgb3UgYXBwYXJlbnTDqT4gWzxjaGVtaW4+Li4uXSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYXJicmVzIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOQogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJ0cmVlcyIKIG1zZ3N0ciAicGFyY291cmlyIGxlcyBzb3VzLWFyYnJlcyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTMwCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzEKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICJhZmZpY2hlciBsZXMgYXJicmVzIGVuIGxlcyBwYXJjb3VyYW50IgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgInRlcm1pbmVyIGxlcyDDqWzDqW1lbnRzIGF2ZWMgdW4gb2N0ZXQgTlVMIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNQogbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCiBtc2dzdHIgImluY2x1cmUgbGEgdGFpbGxlIGQnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNiBidWlsdGluL2xzLXRyZWUuYzoxMzgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNyBidWlsdGluL2xzLXRyZWUuYzoxMzkKIG1zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIG5vbXMgZGUgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQorIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCiBtc2dpZCAidXNlIGZ1bGwgcGF0aCBuYW1lcyIKIG1zZ3N0ciAidXRpbGlzZXIgbGVzIG5vbXMgZGUgY2hlbWlucyBjb21wbGV0cyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQzCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDQKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsJ2FyYnJlIGVudGllciA7IHBhcyBzZXVsZW1lbnQgbGUgcsOpcGVydG9pcmUgY291cmFudCAoaW1wbGlxdWUgLS0iCiAiZnVsbC1uYW1lKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ2Ci1tc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCi1tc2dzdHIgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgorIzogYnVpbHRpbi9tYWlsc3BsaXQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKK21zZ3N0ciAibWJveCB2aWRlwqA6ICclcyciCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzo0NwotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgotbXNnc3RyICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1lc3NhZ2U+IEhFQUQgPGNvbW1pdD4iCittc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCittc2dzdHIgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKQEAgLTk3NDUsMzMgKzEwMTIzLDMzIEBACiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkxlcyBzdHJhdMOpZ2llcyBwZXJzb25uYWxpc8OpZXMgc29udCA6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyNworIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMzQKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgdW4gZGlmZnN0YXQgw6AgbGEgZmluIGRlIGxhIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM3CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJhZmZpY2hlciB1biBkaWZmc3RhdCDDoCBsYSBmaW4gZGUgbGEgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjEzMworIzogYnVpbHRpbi9tZXJnZS5jOjIwMSBidWlsdGluL3B1bGwuYzoxNDAKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoc3lub255bWUgZGUgLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTQzCiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAiYWpvdXRlciAoYXUgcGx1cyA8bj4pIMOpbMOpbWVudHMgZHUgam91cm5hbCBjb3VydCBhdSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gZGUgIgogImxhIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQ2CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgImNyw6llciB1bmUgdmFsaWRhdGlvbiB1bmlxdWUgYXUgbGlldSBkZSBmYWlyZSB1bmUgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgImVmZmVjdHVlciB1bmUgdmFsaWRhdGlvbiBzaSBsYSBmdXNpb24gcsOpdXNzaXQgKGTDqWZhdXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEwIGJ1aWx0aW4vcHVsbC5jOjE0NQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNTIKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgIsOpZGl0ZXIgbGUgbWVzc2FnZSBhdmFudCBsYSB2YWxpZGF0aW9uIgogCkBAIC05Nzc5LDI4ICsxMDE1NywyOCBAQAogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgImF1dG9yaXNlciBsJ2F2YW5jZSByYXBpZGUgKGTDqWZhdXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEzIGJ1aWx0aW4vcHVsbC5jOjE1MQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMyBidWlsdGluL3B1bGwuYzoxNTgKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICJhYmFuZG9ubmVyIHNpIGwnYXZhbmNlIHJhcGlkZSBuJ2VzdCBwYXMgcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU0CisjOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE2MQogbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAidsOpcmlmaWVyIHF1ZSBsZSBjb21taXQgbm9tbcOpIGEgdW5lIHNpZ25hdHVyZSBHUEcgdmFsaWRlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4Ci0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzYgYnVpbHRpbi9wdWxsLmM6MTY1CisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJzdHJhdMOpZ2llIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE1OQorIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNjYKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCiBtc2dzdHIgInN0cmF0w6lnaWUgZGUgZnVzaW9uIMOgIHV0aWxpc2VyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2MgorIzogYnVpbHRpbi9tZXJnZS5jOjIyMCBidWlsdGluL3B1bGwuYzoxNjkKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIm9wdGlvbj12YWxldXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEgYnVpbHRpbi9wdWxsLmM6MTYzCisjOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9wdGlvbiBwb3VyIGxhIHN0cmF0w6lnaWUgZGUgZnVzaW9uIHPDqWxlY3Rpb25uw6llIgogCkBAIC05ODE3LDcgKzEwMTk1LDcgQEAKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiY29udGludWVyIGxhIGZ1c2lvbiBlbiBjb3VycyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzMSBidWlsdGluL3B1bGwuYzoxNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzEgYnVpbHRpbi9wdWxsLmM6MTc3CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJwZXJtZXR0cmUgbGEgZnVzaW9uIGQnaGlzdG9yaXF1ZXMgc2FucyByYXBwb3J0IgogCkBAIC05ODYyLDMzICsxMDI0MCwzMyBAQAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIk1hdXZhaXNlIGNoYcOubmUgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyA6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjU2CisjOiBidWlsdGluL21lcmdlLmM6NjU3CiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBnw6lyZXIgYXV0cmUgY2hvc2UgcXVlIGxhIGZ1c2lvbiBkZSBkZXV4IHTDqnRlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiT3B0aW9ucyBpbmNvbm51ZSBwb3VyIG1lcmdlLXJlY3Vyc2l2ZSA6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczNworIzogYnVpbHRpbi9tZXJnZS5jOjczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBkZXB1aXMgJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc0NgorIzogYnVpbHRpbi9tZXJnZS5jOjc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIiIKICJQYXMgZGUgdmFsaWRhdGlvbiBkZSBsYSBmdXNpb24gOyB1dGlsaXNleiAnZ2l0IGNvbW1pdCcgcG91ciB0ZXJtaW5lciBsYSAiCiAiZnVzaW9uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzUyCisjOiBidWlsdGluL21lcmdlLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKQEAgLTk5MDUsODAgKzEwMjgzLDcwIEBACiAiTGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgaWdub3LDqWVzLCBldCB1biBtZXNzYWdlIHZpZGVcbiIKICJhYmFuZG9ubmUgbGEgdmFsaWRhdGlvbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc3NgorIzogYnVpbHRpbi9tZXJnZS5jOjc3NwogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAiTWVzc2FnZSBkZSB2YWxpZGF0aW9uIHZpZGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk2CisjOiBidWlsdGluL21lcmdlLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAiTWVydmVpbGxldXguXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogIkxhIGZ1c2lvbiBhdXRvbWF0aXF1ZSBhIMOpY2hvdcOpIDsgcsOpZ2xleiBsZXMgY29uZmxpdHMgZXQgdmFsaWRleiBsZSAiCiAicsOpc3VsdGF0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IgotbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1bmUgdmFsaWRhdGlvbiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjkwOAorIzogYnVpbHRpbi9tZXJnZS5jOjg4OQogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiUGFzIGRlIGJyYW5jaGUgY291cmFudGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTEwCisjOiBidWlsdGluL21lcmdlLmM6ODkxCiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBkaXN0YW50ZSBwb3VyIGxhIGJyYW5jaGUgY291cmFudGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTEyCisjOiBidWlsdGluL21lcmdlLmM6ODkzCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBhbW9udCBwYXIgZMOpZmF1dCBkw6lmaW5pZSBwb3VyIGxhIGJyYW5jaGUgY291cmFudGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTE3CisjOiBidWlsdGluL21lcmdlLmM6ODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIlBhcyBkZSBicmFuY2hlIGRlIHN1aXZpIHBvdXIgJXMgZGVwdWlzICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTY0CisjOiBidWlsdGluL21lcmdlLmM6OTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCiBtc2dzdHIgIk1hdXZhaXNlIHZhbGV1ciAnJXMnIGRhbnMgbCdlbnZpcm9ubmVtZW50ICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciAnJXMnIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTA2NQorIzogYnVpbHRpbi9tZXJnZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UgaW4gJXM6ICVzIgogbXNnc3RyICJwYXMgcG9zc2libGUgZGUgZnVzaW9ubmVyIGNlY2kgZGFucyAlc8KgOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgInBhcyBwb3NzaWJsZSBkZSBmdXNpb25uZXIgY2VjaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ1CiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1hYm9ydCBuJ2FjY2VwdGUgcGFzIGQnYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTcxCisjOiBidWlsdGluL21lcmdlLmM6MTE0OQogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiSWwgbid5IGEgcGFzIGRlIGZ1c2lvbiDDoCBhYmFuZG9ubmVyIChNRVJHRV9IRUFEIG1hbnF1YW50KS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgzCisjOiBidWlsdGluL21lcmdlLmM6MTE2MQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUgbmUgc3VwcG9ydGUgYXVjdW4gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg3CisjOiBidWlsdGluL21lcmdlLmM6MTE2NQogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIGluIHByb2dyZXNzIChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiSWwgbid5IGEgcGFzIGRlIGZ1c2lvbiBlbiBjb3VycyAoTUVSR0VfSEVBRCBtYW5xdWFudCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIwMworIzogYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtOTk4Niw3ICsxMDM1NCw3IEBACiAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIGZ1c2lvbiAoTUVSR0VfSEVBRCBleGlzdGUpLlxuIgogIlZldWlsbGV6IHZhbGlkZXIgdm9zIG1vZGlmaWNhdGlvbnMgYXZhbnQgZGUgcG91dm9pciBmdXNpb25uZXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMAorIzogYnVpbHRpbi9tZXJnZS5jOjExODgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtOTk5NCwxNjAgKzEwMzYyLDE2MCBAQAogIlZvdXMgbidhdmV6IHBhcyB0ZXJtaW7DqSB2b3RyZSBwaWNvcmFnZSAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGUpLlxuIgogIlZldWlsbGV6IHZhbGlkZXIgdm9zIG1vZGlmaWNhdGlvbnMgYXZhbnQgZGUgcG91dm9pciBmdXNpb25uZXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMworIzogYnVpbHRpbi9tZXJnZS5jOjExOTEKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIlZvdXMgbidhdmV6IHBhcyB0ZXJtaW7DqSB2b3RyZSBwaWNvcmFnZSAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGUpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjAwCiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIlZvdXMgbmUgcG91dmV6IHBhcyBjb21iaW5lciAtLXNxdWFzaCBhdmVjIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDgKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiIgogIlBhcyBkZSB2YWxpZGF0aW9uIHNww6ljaWZpw6llIGV0IG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG4nZXN0IHBhcyBkw6lmaW5pLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI1CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIkxhIHZhbGlkYXRpb24gY29tcHJlc3PDqWUgdmVycyB1bmUgdMOqdGUgdmlkZSBuJ2VzdCBwYXMgZW5jb3JlIHN1cHBvcnTDqWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQ5CisjOiBidWlsdGluL21lcmdlLmM6MTIyNwogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICJVbmUgdmFsaWRhdGlvbiBzYW5zIGF2YW5jZSByYXBpZGUgbidhIHBhcyBkZSBzZW5zIGRhbnMgdW5lIHTDqnRlIHZpZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIHBhcyBwb3NzaWJsZSBkZSBmdXNpb25uZXIgY2VjaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjM0CiBtc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogIlBvc3NpYmxlIGRlIGZ1c2lvbm5lciBleGFjdGVtZW50IHVuZSBzZXVsZSB2YWxpZGF0aW9uIGRhbnMgdW5lIHTDqnRlIHZpZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEyCisjOiBidWlsdGluL21lcmdlLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICJMYSB2YWxpZGF0aW9uICVzIGEgdW5lIHNpZ25hdHVyZSBHUEcgbm9uIGZpYWJsZSwgcHLDqXRlbmR1bWVudCBwYXIgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxNQorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIkxhIHZhbGlkYXRpb24gJXMgYSB1bmUgbWF1dmFpc2Ugc2lnbmF0dXJlIEdQRyBwcsOpdGVuZHVtZW50IHBhciAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzE4CisjOiBidWlsdGluL21lcmdlLmM6MTI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICJMYSB2YWxpZGF0aW9uICVzIG4nYSBwYXMgZGUgc2lnbmF0dXJlIEdQRy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzIxCisjOiBidWlsdGluL21lcmdlLmM6MTI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkxhIHZhbGlkYXRpb24gJXMgYSB1bmUgc2lnbmF0dXJlIEdQRyBjb3JyZWN0ZSBwYXIgJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM5CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAicmVmdXMgZGUgZnVzaW9ubmVyIGRlcyBoaXN0b3JpcXVlcyBzYW5zIHJlbGF0aW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjEzNDgKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgogbXNnc3RyICJEw6lqw6Agw6Agam91ci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAyCisjOiBidWlsdGluL21lcmdlLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAiTWlzZSDDoCBqb3VyICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0MworIzogYnVpbHRpbi9tZXJnZS5jOjEzOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgIkVzc2FpIGRlIGZ1c2lvbiB2cmFpbWVudCB0cml2aWFsZSBkYW5zIGwnaW5kZXguLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIk5vbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDMxCiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiBZZWVhaCEiCiBtc2dzdHIgIkTDqWrDoCDDoCBqb3VyLiBPdWFpc8KgISIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDM3CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICJQYXMgcG9zc2libGUgZCdhdmFuY2VyIHJhcGlkZW1lbnQsIGFiYW5kb24uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwNCBidWlsdGluL21lcmdlLmM6MTU4MworIzogYnVpbHRpbi9tZXJnZS5jOjE0NjAgYnVpbHRpbi9tZXJnZS5jOjE1MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIlJldG91ciBkZSBsJ2FyYnJlIMOgIGwnb3JpZ2luYWwuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICJFc3NhaSBkZSBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiAlcy4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NAorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIkF1Y3VuZSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiBuJ2EgcHJpcyBlbiBjaGFyZ2UgbGEgZnVzaW9uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NgorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIkxhIGZ1c2lvbiBhdmVjIGxhIHN0cmF0w6lnaWUgJXMgYSDDqWNob3XDqS5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICJVdGlsaXNhdGlvbiBkZSAlcyBwb3VyIHByw6lwYXJlciBsYSByw6lzb2x1dGlvbiDDoCBsYSBtYWluLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU5NworIzogYnVpbHRpbi9tZXJnZS5jOjE1NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgogIkxhIGZ1c2lvbiBhdXRvbWF0aXF1ZSBhIHLDqXVzc2kgOyBzdG9wcMOpZSBhdmFudCBsYSB2YWxpZGF0aW9uIGNvbW1lIGRlbWFuZMOpXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzEKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gLS1vY3RvcHVzIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gLS1vY3RvcHVzIDxjb21taXQ+Li4uIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDx2YWxpZGF0aW9uPi4uLiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8Y29tbWl0PiA8Y29tbWl0PiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8dmFsaWRhdGlvbj4gPHZhbGlkYXRpb24+IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzQKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyw6lmw6lyZW5jZT4gWzx2YWxpZGF0aW9uPl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE4CiBtc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgogbXNnc3RyICJhZmZpY2hlciB0b3VzIGxlcyBhbmPDqnRyZXMgY29tbXVucyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjAKIG1zZ2lkICJmaW5kIGFuY2VzdG9ycyBmb3IgYSBzaW5nbGUgbi13YXkgbWVyZ2UiCiBtc2dzdHIgInRyb3V2ZXIgbGVzIGFuY8OqdHJlcyBwb3VyIHVuZSBmdXNpb24gc2ltcGxlIMOgIG4gcG9pbnRzIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjEKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgogbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgcsOpdmlzaW9ucyBpbmFjY2Vzc2libGVzIGRlcHVpcyBsZXMgYXV0cmVzIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjMKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNAogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAiZXN0IGxlIHByZW1pZXIgYW5jw6p0cmUgZGUgbCdhdXRyZSA/IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNgogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICJ0cm91dmVyIG/DuSA8dmFsaWRhdGlvbj4gYSBkaXZlcmfDqSBkdSByZWZsb2cgZGUgPHLDqWbDqXJlbmNlPiIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAorIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OQogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbPG9wdGlvbnM+XSBbLUwgPG5hbWUxPiBbLUwgPG9yaWc+IFstTCA8bmFtZTI+XV1dIDxmaWxlMT4gIgogIjxvcmlnLWZpbGU+IDxmaWxlMj4iCkBAIC0xMDIyMiwxNTggKzEwNTkwLDE2MiBAQAogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUyCisjOiBidWlsdGluL21rdHJlZS5jOjE1MwogbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgogbXNnc3RyICJsJ2VudHLDqWUgc2UgdGVybWluZSBwYXIgTlVMIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1MyBidWlsdGluL3dyaXRlLXRyZWUuYzoyNAorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTQgYnVpbHRpbi93cml0ZS10cmVlLmM6MjUKIG1zZ2lkICJhbGxvdyBtaXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgImF1dG9yaXNlciBsZXMgb2JqZXRzIG1hbnF1YW50cyIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTQKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1CiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICJhdXRvcmlzZXIgbGEgY3LDqWF0aW9uIGRlIHBsdXMgZCd1biBhcmJyZSIKIAotIzogYnVpbHRpbi9tdi5jOjE2CisjOiBidWlsdGluL212LmM6MTcKIG1zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFs8b3B0aW9ucz5dIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiAKLSM6IGJ1aWx0aW4vbXYuYzo4MgorIzogYnVpbHRpbi9tdi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKIG1zZ3N0ciAiTGUgcsOpcGVydG9pcmUgJXMgZXN0IGRhbnMgbCdpbmRleCBldCBwb3VydGFudCBhdWN1biBzb3VzLW1vZHVsZSA/IgogCi0jOiBidWlsdGluL212LmM6ODQgYnVpbHRpbi9ybS5jOjI5MAorIzogYnVpbHRpbi9tdi5jOjg1IGJ1aWx0aW4vcm0uYzoyOTAKIG1zZ2lkICJQbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgogIlZldWlsbGV6IGluZGV4ZXIgdm9zIG1vZGlmaWNhdGlvbnMgZGUgLmdpdG1vZHVsZXMgb3UgbGVzIHJlbWlzZXIgcG91ciAiCiAiY29udGludWVyIgogCi0jOiBidWlsdGluL212LmM6MTAyCisjOiBidWlsdGluL212LmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUuKnMgaXMgaW4gaW5kZXgiCiBtc2dzdHIgIiUuKnMgZXN0IGRhbnMgbCdpbmRleCIKIAotIzogYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiZm9yY2VyIGxlIGTDqXBsYWNlbWVudC9yZW5vbW1hZ2UgbcOqbWUgc2kgbGEgY2libGUgZXhpc3RlIgogCi0jOiBidWlsdGluL212LmM6MTI1CisjOiBidWlsdGluL212LmM6MTI2CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgInNhdXRlciBsZXMgZXJyZXVycyBkZSBkw6lwbGFjZW1lbnQvcmVub21tYWdlIgogCi0jOiBidWlsdGluL212LmM6MTY3CisjOiBidWlsdGluL212LmM6MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICJsYSBkZXN0aW5hdGlvbiAnJXMnIG4nZXN0IHBhcyB1biByw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbi9tdi5jOjE3OAorIzogYnVpbHRpbi9tdi5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIlbDqXJpZmljYXRpb24gZHUgcmVub21tYWdlIGRlICclcycgZW4gJyVzJ1xuIgogCi0jOiBidWlsdGluL212LmM6MTgyCisjOiBidWlsdGluL212LmM6MTgzCiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAibWF1dmFpc2Ugc291cmNlIgogCi0jOiBidWlsdGluL212LmM6MTg1CisjOiBidWlsdGluL212LmM6MTg2CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgdW4gcsOpcGVydG9pcmUgZGFucyBsdWktbcOqbWUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODgKKyM6IGJ1aWx0aW4vbXYuYzoxODkKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXBsYWNlciB1biByw6lwZXJ0b2lyZSBzdXIgdW4gZmljaGllciIKIAotIzogYnVpbHRpbi9tdi5jOjE5NworIzogYnVpbHRpbi9tdi5jOjE5OAogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgImxlIHLDqXBlcnRvaXJlIHNvdXJjZSBlc3QgdmlkZSIKIAotIzogYnVpbHRpbi9tdi5jOjIyMgorIzogYnVpbHRpbi9tdi5jOjIyMwogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgInBhcyBzb3VzIGxlIGNvbnRyw7RsZSBkZSB2ZXJzaW9uIgogCi0jOiBidWlsdGluL212LmM6MjI1CisjOiBidWlsdGluL212LmM6MjI2CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJsYSBkZXN0aW5hdGlvbiBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzMKKyM6IGJ1aWx0aW4vbXYuYzoyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAiw6ljcmFzZW1lbnQgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9tdi5jOjIzNgorIzogYnVpbHRpbi9tdi5jOjIzNwogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyYXNlciIKIAotIzogYnVpbHRpbi9tdi5jOjIzOQorIzogYnVpbHRpbi9tdi5jOjI0MAogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAibXVsdGlwbGVzIHNvdXJjZXMgcG91ciBsYSBtw6ptZSBkZXN0aW5hdGlvbiIKIAotIzogYnVpbHRpbi9tdi5jOjI0MQorIzogYnVpbHRpbi9tdi5jOjI0MgogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGUgcsOpcGVydG9pcmUgZGUgZGVzdGluYXRpb24gbidleGlzdGUgcGFzIgogCi0jOiBidWlsdGluL212LmM6MjQ4CisjOiBidWlsdGluL212LmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjI2OQorIzogYnVpbHRpbi9tdi5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICJSZW5vbW1hZ2UgZGUgJXMgZW4gJXNcbiIKIAotIzogYnVpbHRpbi9tdi5jOjI3NSBidWlsdGluL3JlbW90ZS5jOjcxMCBidWlsdGluL3JlcGFjay5jOjM4NAorIzogYnVpbHRpbi9tdi5jOjI3NiBidWlsdGluL3JlbW90ZS5jOjcxMSBidWlsdGluL3JlcGFjay5jOjM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibGUgcmVub21tYWdlIGRlICclcycgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMzOAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDx2YWxpZGF0aW9uPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMzOQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzQwCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIG5vbXMgKHBhcyBkZSBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTYKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgInV0aWxpc2VyIHNldWxlbWVudCBsZXMgw6l0aXF1ZXR0ZXMgcG91ciBub21tZXIgbGVzIHZhbGlkYXRpb25zIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE0CisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk4CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgInV0aWxpc2VyIHNldWxlbWVudCBsZXMgcsOpZsOpcmVuY2VzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMAorbXNnaWQgImlnbm9yZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAiaWdub3JlciBsZXMgcsOpZsOpcmVuY2VzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKICJhZmZpY2hlciB0b3V0ZXMgbGVzIHZhbGlkYXRpb25zIGFjY2Vzc2libGVzIGRlcHVpcyB0b3V0ZXMgbGVzIHLDqWbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMwogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGlyZSBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA0CiBtc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICJhdXRvcmlzZXIgbCdhZmZpY2hhZ2UgZGVzIG5vbXMgYG5vbiBkw6lmaW5pc2AgKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICJkw6lyw6lmw6lyZW5jZXIgbGVzIMOpdGlxdWV0dGVzIGVuIGVudHLDqWUgKHVzYWdlIGludGVybmUpIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXMtbm90ZXM+XSBbbGlzdCBbPG9iamVjdD5dXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2CisjOiBidWlsdGluL25vdGVzLmM6MjcKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA8bXNnPiB8IC1GIDxmaWxlPiAiCiAifCAoLWMgfCAtQykgPG9iamVjdD5dIFs8b2JqZWN0Pl0iCkBAIC0xMDM4MSwxMiArMTA3NTMsMTIgQEAKICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXMtbm90ZXM+XSBhZGQgWy1mXSBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtZXNzYWdlPiAiCiAifCAtRiA8ZmljaGllcj4gfCAoLWMgfCAtQykgPG9iamV0Pl0gWzxvYmpldD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGNvcHkgWy1mXSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8csOpZsOpcmVuY2VzLW5vdGVzPl0gY29weSBbLWZdIDxkZXB1aXMtb2JqZXQ+IDx2ZXJzLW9iamV0PiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI4CisjOiBidWlsdGluL25vdGVzLmM6MjkKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYXBwZW5kIFstLWFsbG93LWVtcHR5XSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gfCAiCiAiKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dIgpAQCAtMTAzOTQsMjA0ICsxMDc2NiwyMDUgQEAKICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXMtbm90ZXM+XSBhcHBlbmQgWy0tYWxsb3ctZW1wdHldIFstbSA8bWVzc2FnZT4gfCAtIgogIkYgPGZpY2hpZXI+IHwgKC1jIHwgLUMpIDxvYmpldD5dIFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI5CisjOiBidWlsdGluL25vdGVzLmM6MzAKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBlZGl0IFstLWFsbG93LWVtcHR5XSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXMtbm90ZXM+XSBlZGl0IFstLWFsbG93LWVtcHR5XSBbPG9iamV0Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMAorIzogYnVpbHRpbi9ub3Rlcy5jOjMxCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXMtbm90ZXM+XSBzaG93IFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMxCisjOiBidWlsdGluL25vdGVzLmM6MzIKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8c3RyYXRlZ3k+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiIgogImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlcy1ub3Rlcz5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPHN0cmF0w6lnaWU+IF0gIgogIjxyw6lmw6lyZW5jZXMtbm90ZXM+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMwogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbLXYgfCAtcV0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbLXYgfCAtcV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMworIzogYnVpbHRpbi9ub3Rlcy5jOjM0CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNAorIzogYnVpbHRpbi9ub3Rlcy5jOjM1CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gcmVtb3ZlIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPHLDqWbDqXJlbmNlcy1ub3Rlcz5dIHJlbW92ZSBbPG9iamV0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNQorIzogYnVpbHRpbi9ub3Rlcy5jOjM2CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gcHJ1bmUgWy1uIHwgLXZdIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyw6lmw6lyZW5jZXMtbm90ZXM+XSBwcnVuZSBbLW4gfCAtdl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8csOpZsOpcmVuY2VzLW5vdGVzPl0gZ2V0LXJlZiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxCisjOiBidWlsdGluL25vdGVzLmM6NDIKIG1zZ2lkICJnaXQgbm90ZXMgW2xpc3QgWzxvYmplY3Q+XV0iCiBtc2dzdHIgImdpdCBub3RlcyBbbGlzdCBbPG9iamV0Pl1dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NwogbXNnaWQgImdpdCBub3RlcyBhZGQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGFkZCBbPG9wdGlvbnM+XSBbPG9iamV0Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyCiBtc2dpZCAiZ2l0IG5vdGVzIGNvcHkgWzxvcHRpb25zPl0gPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGNvcHkgWzxvcHRpb25zPl0gPGRlcHVpcy1vYmpldD4gPHZlcnMtb2JqZXQ+IgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MwogbXNnaWQgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD5dLi4uIgogbXNnc3RyICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs8ZGVwdWlzLW9iamV0PiA8dmVycy1vYmpldD5dLi4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OAogbXNnaWQgImdpdCBub3RlcyBhcHBlbmQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGFwcGVuZCBbPG9wdGlvbnM+XSBbPG9iamV0Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjYzCiBtc2dpZCAiZ2l0IG5vdGVzIGVkaXQgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGVkaXQgWzxvYmpldD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OAogbXNnaWQgImdpdCBub3RlcyBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBzaG93IFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyCisjOiBidWlsdGluL25vdGVzLmM6NzMKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgWzxvcHRpb25zPl0gPG5vdGVzLXJlZj4iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8csOpZsOpcmVuY2VzLW5vdGVzPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjczCisjOiBidWlsdGluL25vdGVzLmM6NzQKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPG9wdGlvbnM+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc0CisjOiBidWlsdGluL25vdGVzLmM6NzUKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjgwCiBtc2dpZCAiZ2l0IG5vdGVzIHJlbW92ZSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgcmVtb3ZlIFs8b2JqZXQ+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg0CisjOiBidWlsdGluL25vdGVzLmM6ODUKIG1zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBwcnVuZSBbPG9wdGlvbnM+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5CisjOiBidWlsdGluL25vdGVzLmM6OTAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1CiBtc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKIG1zZ3N0ciAiw4ljcmlyZS/DqWRpdGVyIGxlcyBub3RlcyBwb3VyIGwnb2JqZXQgc3VpdmFudMKgOiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE0NworIzogYnVpbHRpbi9ub3Rlcy5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6ltYXJyZXIgJ3Nob3cnIHBvdXIgbCdvYmpldCAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTUxCisjOiBidWlsdGluL25vdGVzLmM6MTUyCiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ3Nob3cnIG91dHB1dCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxhIHNvcnRpZSBkZSAnc2hvdyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmlzaCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZpbmlyICdzaG93JyBwb3VyIGwnb2JqZXQgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjE5NQogbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKIG1zZ3N0ciAidmV1aWxsZXogZm91cm5pciBsZSBjb250ZW51IGRlIGxhIG5vdGUgZW4gdXRpbGlzYW50IGwnb3B0aW9uIC1tIG91IC1GIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjAzCisjOiBidWlsdGluL25vdGVzLmM6MjA0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsJ29iamV0IG5vdGUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgImxlIGNvbnRlbnUgZGUgbGEgbm90ZSBhIMOpdMOpIGxhaXNzw6kgZGFucyAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzMyBidWlsdGluL3RhZy5jOjQ2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjIzNCBidWlsdGluL3RhZy5jOjUxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ2MworIzogYnVpbHRpbi9ub3Rlcy5jOjIzNiBidWlsdGluL3RhZy5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgb3UgbGlyZSAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNwotIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CisjOiBidWlsdGluL25vdGVzLmM6MjU1IGJ1aWx0aW4vbm90ZXMuYzozMDYgYnVpbHRpbi9ub3Rlcy5jOjMwOAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NSBidWlsdGluL25vdGVzLmM6NDMwIGJ1aWx0aW4vbm90ZXMuYzo1MTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OSBidWlsdGluL25vdGVzLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSAnJXMnIGNvbW1lIHVuZSByw6lmw6lyZW5jZSB2YWxpZGUuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU3CisjOiBidWlsdGluL25vdGVzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGVzIGluZm9ybWF0aW9ucyBkZSBub3RlIGQndW4gb2JqZXQgbm9uLWJsb2IgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICJsaWduZSBlbiBlbnRyw6llIG1hbGZvcm3DqWUgOiAnJXMnLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMxNgorIzogYnVpbHRpbi9ub3Rlcy5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb3BpZXIgbGVzIG5vdGVzIGRlICclcycgdmVycyAnJXMnIgogCi0jLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYQotIy4gZ2l0IG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgotIzogYnVpbHRpbi9ub3Rlcy5jOjM0NQorIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgZ2l0CisjLiBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KKyMuCisjOiBidWlsdGluL25vdGVzLmM6MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAiUmVmdXMgZGUgZmFpcmUgJXMgc3VyIGRlcyBub3RlcyBkYW5zICVzIChob3JzIGRlIHJlZnMvbm90ZXMvKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2NSBidWlsdGluL25vdGVzLmM6NDIwIGJ1aWx0aW4vbm90ZXMuYzo0OTYKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDggYnVpbHRpbi9ub3Rlcy5jOjU4NCBidWlsdGluL25vdGVzLmM6NjUyCi0jOiBidWlsdGluL25vdGVzLmM6ODAyIGJ1aWx0aW4vbm90ZXMuYzo5NDkgYnVpbHRpbi9ub3Rlcy5jOjk3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjM2OCBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTEgYnVpbHRpbi9ub3Rlcy5jOjU4NyBidWlsdGluL25vdGVzLmM6NjU0CisjOiBidWlsdGluL25vdGVzLmM6ODA0IGJ1aWx0aW4vbm90ZXMuYzo5NTEgYnVpbHRpbi9ub3Rlcy5jOjk3MgogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgInRyb3AgZGUgcGFyYW3DqHRyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MSBidWlsdGluL25vdGVzLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgInBhcyBkZSBub3RlIHRyb3V2w6llIHBvdXIgbCdvYmpldCAlcy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAiY29udGVudSBkZSBsYSBub3RlIHNvdXMgZm9ybWUgZGUgY2hhw65uZSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CisjOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKIG1zZ3N0ciAiY29udGVudSBkZSBsYSBub3RlIGRhbnMgdW4gZmljaGllciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGV0IMOpZGl0ZXIgbCdvYmpldCBkZSBub3RlIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJyw6l1dGlsaXNlciBsJ29iamV0IGRlIG5vdGUgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CisjOiBidWlsdGluL25vdGVzLmM6NDE0IGJ1aWx0aW4vbm90ZXMuYzo1NzcKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgInBlcm1ldHRyZSBkZSBzdG9ja2VyIHVuZSBub3RlIHZpZGUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxNSBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAicmVtcGxhY2VyIGxlcyBub3RlcyBleGlzdGFudGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDM3CisjOiBidWlsdGluL25vdGVzLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTA2MDAsMzAgKzEwOTczLDMwIEBACiAiSW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgZGVzIG5vdGVzLiBEZXMgbm90ZXMgb250IMOpdMOpIHRyb3V2w6llcyBwb3VyIGwnb2JqZXQgJXMuICIKICJVdGlsaXNleiAnLWYnIHBvdXIgw6ljcmFzZXIgbGVzIG5vdGVzIGV4aXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NTIgYnVpbHRpbi9ub3Rlcy5jOjUzMQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1NSBidWlsdGluL25vdGVzLmM6NTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiw4ljcmFzZW1lbnQgZGVzIG5vdGVzIGV4aXN0YW50ZXMgcG91ciBsJ29iamV0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CisjOiBidWlsdGluL25vdGVzLmM6NDY2IGJ1aWx0aW4vbm90ZXMuYzo2MjYgYnVpbHRpbi9ub3Rlcy5jOjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgbGEgbm90ZSBwb3VyIGwnb2JqZXQgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NwogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsaXJlIGxlcyBvYmpldHMgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICIiCiAiY2hhcmdlciBsYSBjb25maWd1cmF0aW9uIGRlIHLDqcOpY3JpdHVyZSBwb3VyIDxjb21tYW5kZT4gKGltcGxpcXVlIC0tc3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTA0CisjOiBidWlsdGluL25vdGVzLmM6NTA3CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJwYXMgYXNzZXogZGUgcGFyYW3DqHRyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTA2MzIsMTIgKzExMDA1LDEyIEBACiAiSW1wb3NzaWJsZSBkZSBjb3BpZXIgZGVzIG5vdGVzLiBEZXMgbm90ZXMgb250IMOpdMOpIHRyb3V2w6llcyBwb3VyIGwnb2JqZXQgJXMuICIKICJVdGlsaXNleiAnLWYnIHBvdXIgw6ljcmFzZXIgbGVzIG5vdGVzIGV4aXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgIm5vdGVzIG1hbnF1YW50ZXMgc3VyIGwnb2JqZXQgc291cmNlICVzLiBJbXBvc3NpYmxlIGRlIGNvcGllci4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMDY0Niw1MiArMTEwMTksNTIgQEAKICJMZXMgb3B0aW9ucyAtbS8tRi8tYy8tQyBzb250IG9ic29sw6h0ZXMgcG91ciBsYSBzb3VzLWNvbW1hbmRlICdlZGl0Jy5cbiIKICJWZXVpbGxleiB1dGlsaXNlciAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgw6AgbGEgcGxhY2UuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgc3VwcHJlc3Npb24gZGUgbGEgcsOpZsOpcmVuY2UgTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4NworIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGRlIGxhIHLDqWbDqXJlbmNlIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjY5MQogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBzdXBwcmVzc2lvbiBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsICdnaXQgbm90ZXMgbWVyZ2UnIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzA5CisjOiBidWlsdGluL25vdGVzLmM6NzExCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBsZWN0dXJlIGRlIGxhIHLDqWbDqXJlbmNlIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlIGNvbW1pdCBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMworIzogYnVpbHRpbi9ub3Rlcy5jOjcxNQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjcyOAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHLDqXNvbHV0aW9uIGRlIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjczMQogbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmaW5hbGlzZXIgbGEgZnVzaW9uIGRlIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzU1CisjOiBidWlsdGluL25vdGVzLmM6NzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCiBtc2dzdHIgInN0cmF0w6lnaWUgZGUgZnVzaW9uIGRlIG5vdGVzIGluY29ubnVlICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcxCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICJPcHRpb25zIGfDqW7DqXJhbGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzczCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiT3B0aW9ucyBkZSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgpAQCAtMTA2OTksNDcgKzExMDcyLDQ3IEBACiAicsOpc291ZHJlIGxlcyBjb25mbGl0cyBkZSBub3RlcyBlbiB1dGlsaXNhbnQgbGEgc3RyYXTDqWdpZSBkb25uw6llIChtYW51YWwvb3Vycy8iCiAidGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc3CisjOiBidWlsdGluL25vdGVzLmM6Nzc5CiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiVmFsaWRhdGlvbiBkZXMgbm90ZXMgbm9uIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc5CisjOiBidWlsdGluL25vdGVzLmM6NzgxCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiZmluYWxpc2VyIGxhIGZ1c2lvbiBkZSBub3RlcyBlbiB2YWxpZGFudCBsZXMgbm90ZXMgbm9uIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgxCisjOiBidWlsdGluL25vdGVzLmM6NzgzCiBtc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKIG1zZ3N0ciAiQWJhbmRvbiBkZSBsYSByw6lzb2x1dGlvbiBkZSBmdXNpb24gZGVzIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg1CiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImFiYW5kb25uZXIgbGEgZnVzaW9uIGRlIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzk0CisjOiBidWlsdGluL25vdGVzLmM6Nzk2CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICItLWNvbW1pdCwgLS1hYm9ydCBldCAtcy8tLXN0cmF0ZWd5IHNvbnQgbXV0dWVsbGVtZW50IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDEKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgInZvdXMgZGV2ZXogc3DDqWNpZmllciB1bmUgcsOpZsOpcmVuY2UgZGUgbm90ZXMgw6AgZnVzaW9ubmVyIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODIzCisjOiBidWlsdGluL25vdGVzLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCiBtc2dzdHIgIi1zLy0tc3RyYXRlZ3kgaW5jb25udcKgOiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAidW5lIGZ1c2lvbiBkZSBub3RlcyBkYW5zICVzIGVzdCBkw6lqw6AgZW4gY291cnMgYXZlYyAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MworIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkZSBzdG9ja2VyIGxlIGxpZW4gdmVycyBsYSByw6lmw6lyZW5jZSBhY3R1ZWxsZSBhdXggbm90ZXMgKCVzKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCkBAIC0xMDc1MCwyMzUgKzExMTIzLDIzNSBAQAogInZhbGlkZSBsZSByw6lzdWx0YXQgYXZlYyAnZ2l0IG5vdGVzIG1lcmdlcyAtLWNvbW1pdCcsIG91IGFiYW5kb25uZXogbGEgZnVzaW9uICIKICJhdmVjICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIkwnb2JqZXQgJXMgbidhIHBhcyBkZSBub3RlXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDEKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgIiIKICJsYSB0ZW50YXRpdmUgZGUgc3VwcHJlc3Npb24gZCd1bmUgbm90ZSBub24gZXhpc3RhbnRlIG4nZXN0IHBhcyB1bmUgZXJyZXVyIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTAyCisjOiBidWlsdGluL25vdGVzLmM6OTA0CiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpcmUgbGVzIG5vbXMgZCdvYmpldCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQwIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworIzogYnVpbHRpbi9ub3Rlcy5jOjk0MiBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgIm5lIHBhcyBzdXBwcmltZXIsIGFmZmljaGVyIHNldWxlbWVudCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk0MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk0MwogbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub3RlcyDDqWxpbWluw6llcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MworIzogYnVpbHRpbi9ub3Rlcy5jOjk4NQogbXNnaWQgIm5vdGVzLXJlZiIKIG1zZ3N0ciAicsOpZsOpcmVuY2VzLW5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTg0CisjOiBidWlsdGluL25vdGVzLmM6OTg2CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgInV0aWxpc2VyIGxlcyBub3RlcyBkZXB1aXMgPHLDqWbDqXJlbmNlcy1ub3Rlcz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CisjOiBidWlsdGluL25vdGVzLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJzb3VzLWNvbW1hbmRlIGluY29ubnVlIDogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgW29wdGlvbnMuLi5dIFs8IDxsaXN0ZS1yw6lmw6lyZW5jZXM+IHwgPCA8bGlzdGUtIgogIm9iamV0cz5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgPGxpc3RlLXLDqWbDqXJlbmNlcz4gfCA8IDxsaXN0ZS0iCiAib2JqZXRzPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgImVycmV1ciBkZSBjb21wcmVzc2lvbiAoJWQpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc2NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzYKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICIiCiAiZMOpc2FjdGl2YXRpb24gZGUgbCfDqWNyaXR1cmUgZW4gYml0bWFwLCBsZXMgZmljaGllcnMgcGFxdWV0cyBzb250IHNjaW5kw6lzIMOgICIKICJjYXVzZSBkZSBwYWNrLnBhY2tTaXplTGltaXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4OQogbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiw4ljcml0dXJlIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA2OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDY5CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgIiIKICJkw6lzYWN0aXZhdGlvbiBkZSBsJ8OpY3JpdHVyZSBlbiBiaXRtYXAgY2FyIGNlcnRhaW5zIG9iamV0cyBuZSBzb250IHBhcyAiCiAiY29tcHJlc3PDqXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDM0CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQ29tcHJlc3Npb24gZGVzIG9iamV0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAidmVyc2lvbiBkJ2luZGV4IG5vbiBzdXBwb3J0w6llICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJtYXV2YWlzZSB2ZXJzaW9uIGQnaW5kZXggJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NzcKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg3OQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgImFmZmljaGVyIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4MQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICJhZmZpY2hlciBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiBkdXJhbnQgbGEgcGhhc2UgZCfDqWNyaXRlIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg0CiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICJzaW1pbGFpcmUgw6AgLS1hbGwtcHJvZ3Jlc3MgcXVhbmQgbGEgYmFycmUgZGUgcHJvZ3Jlc3Npb24gZXN0IGFmZmljaMOpZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODUKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICJ2ZXJzaW9uWyxvZmZzZXRdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4NgogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKICLDqWNyaXJlIGxlIGZpY2hpZXIgZCdpbmRleCBkdSBwYXF1ZXQgZGFucyBsZSBmb3JtYXQgZCdpbmRleCBkZSB2ZXJzaW9uICIKICJzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4OQogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgInRhaWxsZSBtYXhpbXVtIGRlIGNoYXF1ZSBmaWNoaWVyIHBhcXVldCBlbiBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODkxCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICJpZ25vcmVyIGxlcyBvYmpldHMgZW1wcnVudMOpcyDDoCB1biBhdXRyZSBtYWdhc2luIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MwogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JlciBsZXMgb2JqZXRzIGVtcGFxdWV0w6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5NQogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgImxpbWl0ZXIgbGEgZmVuw6p0cmUgZCdlbXBhcXVldGFnZSBwYXIgb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5NwogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKICJsaW1pdGVyIGxhIGZlbsOqdHJlIGQnZW1wYXF1ZXRhZ2UgcGFyIG3DqW1vaXJlIGVuIHBsdXMgZGUgbGEgbGltaXRlIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5OQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCiAibG9uZ3VldXIgbWF4aW11bSBkZSBsYSBjaGHDrm5lIGRlIGRlbHRhIGF1dG9yaXPDqWUgZGFucyBsZSBwYXF1ZXQgcsOpc3VsdGFudCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDEKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGxlcyBkZWx0YXMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwMwogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGxlcyBvYmpldHMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwNQogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAidXRpbGlzZXIgbGVzIG9iamV0cyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA3CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogInV0aWxpc2VyIGRlcyBmaWxzIGxvcnMgZGUgbGEgcmVjaGVyY2hlIHBvdXIgdW5lIG1laWxsZXVycyBjb3JyZXNwb25kYW5jZSBkZXMgIgogImRlbHRhcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDkKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJuZSBwYXMgY3LDqWVyIHVuIHBhcXVldCB2aWRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMQogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpcmUgbGVzIHBhcmFtw6h0cmVzIGRlIHLDqXZpc2lvbiBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMwogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJsaW1pdGVyIGxlcyBvYmpldHMgw6AgY2V1eCBxdWkgbmUgc29udCBwYXMgZW5jb3JlIGVtcGFxdWV0w6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxNgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJpbmNsdXJlIGxlcyBvYmpldHMgYWNjZXNzaWJsZXMgZGVwdWlzIHRvdXRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxOQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiaW5jbHVyZSBsZXMgb2JqZXRzIHLDqWbDqXJlbmPDqXMgcGFyIGxlcyDDqWzDqW1lbnRzIGRlIHJlZmxvZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJpbmNsdXJlIGxlcyBvYmpldHMgcsOpZsOpcmVuY8OpcyBwYXIgbCdpbmRleCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjUKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgImFmZmljaGVyIGwnZW1wYXF1ZXRhZ2Ugc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjcKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImluY2x1cmUgbGVzIG9iamV0cyBkJ8OpdGlxdWV0dGVzIHF1aSByw6lmw6hyZW50IMOgIGRlcyBvYmpldHMgw6AgZW1wYXF1ZXRlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjkKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImdhcmRlciBsZXMgb2JqZXRzIGluYWNjZXNzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMxCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJlbXBhcXVldGVyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyBkw6l0YWNow6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzMwogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJkw6lwYXF1ZXRlciBsZXMgb2JqZXRzIGluYWNjZXNzaWJsZXMgcGx1cyByw6ljZW50cyBxdWUgPGhldXJlPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAiY3LDqWVyIGRlcyBwYXF1ZXRzIGzDqWdlcnMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTM4CiBtc2dpZCAiY3JlYXRlIHBhY2tzIHN1aXRhYmxlIGZvciBzaGFsbG93IGZldGNoZXMiCiBtc2dzdHIgImNyw6llciBkZXMgcGFxdWV0cyBwZXJtZXR0YW50IGRlcyByw6ljdXDDqXJhdGlvbnMgc3VwZXJmaWNpZWxsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQwCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiaWdub3JlciBsZXMgcGFxdWV0cyBxdWkgb250IHVuIGZpY2hpZXIgLmtlZXAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQyCiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAibml2ZWF1IGRlIGNvbXByZXNzaW9uIGR1IHBhcXVldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDQKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAibmUgcGFzIGNhY2hlciBsZXMgdmFsaWRhdGlvbnMgcGFyIGdyZWZmZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ2CiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAidXRpbGlzZXIgdW4gaW5kZXggZW4gYml0bWFwIHNpIGRpc3BvbmlibGUgcG91ciBhY2PDqWxlcmVyIGxlIGTDqWNvbXB0ZSBkZXMgIgogIm9iamV0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDgKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICLDqWNyaXJlIHVuIGluZGV4IGVuIGJpdG1hcCBhc3NvY2nDqSDDoCBsJ2luZGV4IGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNzUKIG1zZ2lkICJDb3VudGluZyBvYmplY3RzIgogbXNnc3RyICJEw6ljb21wdGUgZGVzIG9iamV0cyIKIApAQCAtMTEwMTgsNDUgKzExMzkxLDQ5IEBACiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG5ldHRveWVyIGRhbnMgdW4gZMOpcMO0dCBkJ29iamV0cyBwcsOpY2lldXgiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjUxIGJ1aWx0aW4vcHVsbC5jOjUzCisjOiBidWlsdGluL3B1bGwuYzo1NCBidWlsdGluL3B1bGwuYzo1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIlZhbGV1ciBpbnZhbGlkZSBwb3VyICVzIDogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjczCisjOiBidWlsdGluL3B1bGwuYzo3NgogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPGTDqXDDtHQ+IFs8c3DDqWNpZmljYXRpb24tZGUtcsOpZsOpcmVuY2U+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMQorIzogYnVpbHRpbi9wdWxsLmM6MTI0Cittc2dpZCAiY29udHJvbCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgImNvbnRyw7RsZXIgbGEgcsOpY3Vww6lyYXRpb24gcsOpY3Vyc2l2ZSBkYW5zIGxlcyBzb3VzLW1vZHVsZXMiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyOAogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICJPcHRpb25zIHJlbGF0aXZlcyDDoCBsYSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyNAorIzogYnVpbHRpbi9wdWxsLmM6MTMxCiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICJpbmNvcnBvcmVyIGxlcyBtb2RpZmljYXRpb25zIGVuIHJlYmFzYW50IHBsdXTDtHQgcXUnZW4gZnVzaW9ubmFudCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCisjOiBidWlsdGluL3B1bGwuYzoxNTUgYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjE5IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICJhdXRvcmlzZXIgbCdhdmFuY2UgcmFwaWRlIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNTcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NAogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICJyZW1pc2VyIGF2YW50IGV0IHLDqWFwcGxpcXVlciBhcHLDqHMgbGUgcmViYXNhZ2UgYXV0b21hdGlxdWVtZW50IgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4MAogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAiT3B0aW9ucyByZWxhdGl2ZXMgYXUgcmFwYXRyaWVtZW50IgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5OAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHNvdXMtbW9kdWxlcyB0aXLDqXMgZW4gcGFyYWxsw6hsZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mjg0CisjOiBidWlsdGluL3B1bGwuYzoyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgIlZhbGV1ciBpbnZhbGlkZSBwb3VyIHB1bGwuZmYgOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzk3CisjOiBidWlsdGluL3B1bGwuYzozOTkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgpAQCAtMTEwNjQsMTQgKzExNDQxLDE0IEBACiAiSWwgbid5IGEgcGFzIGRlIGNhbmRpZGF0ZSBzdXIgbGFxdWVsbGUgcmViYXNlciBwYXJtaSBsZXMgcsOpZsOpcmVuY2VzIHF1ZSB2b3VzICIKICJ2ZW5leiBkZSByw6ljdXDDqXJlci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM5OQorIzogYnVpbHRpbi9wdWxsLmM6NDAxCiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKICJJbCBuJ3kgYSBwYXMgZGUgY2FuZGlkYXRlIGF2ZWMgbGFxdWVsbGUgZnVzaW9ubmVyIHBhcm1pIGxlcyByw6lmw6lyZW5jZXMgcXVlICIKICJ2b3VzIHZlbmV6IGRlIHLDqWN1cMOpcmVyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAwCisjOiBidWlsdGluL3B1bGwuYzo0MDIKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtMTEwNzksNyArMTE0NTYsNyBAQAogIkfDqW7DqXJhbGVtZW50LCBjZWxhIHNpZ25pZmllIHF1ZSB2b3VzIGF2ZXogaW5kaXF1w6kgdW4gc3DDqWNpZmljYXRldXJcbiIKICJkZSByw6lmw6lyZW5jZSBqb2tlciBxdWkgbidhIHBhcyBldSBkZSBjb3JyZXNwb25kYW5jZSBzdXIgbGUgc2VydmV1ciBkaXN0YW50LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAzCisjOiBidWlsdGluL3B1bGwuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC0xMTA5MSw0NCArMTE0NjgsNDQgQEAKICJjb25maWd1cmF0aW9uXG4iCiAicG91ciBsYSBicmFuY2hlIGFjdHVlbGxlLCB2b3VzIGRldmV6IHNww6ljaWZpZXIgbGEgYnJhbmNoZSBhdmVjIGxhIGNvbW1hbmRlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiVm91cyBuJ8OqdGVzIGFjdHVlbGxlbWVudCBzdXIgYXVjdW5lIGJyYW5jaGUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTAgYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC4iCiBtc2dzdHIgIlZldWlsbGV6IHNww6ljaWZpZXIgc3VyIHF1ZWxsZSBicmFuY2hlIHZvdXMgc291aGFpdGVyIHJlYmFzZXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNCBidWlsdGluL3B1bGwuYzo0MjkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKIG1zZ3N0ciAiVmV1aWxsZXogc3DDqWNpZmllciB1bmUgYnJhbmNoZSBhdmVjIGxhcXVlbGxlIGZ1c2lvbm5lci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMyBidWlsdGluL3B1bGwuYzo0MjgKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MzAKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJSw6lmw6lyZXotdm91cyDDoCBnaXQtcHVsbCgxKSBwb3VyIGRlIHBsdXMgYW1wbGVzIGTDqXRhaWxzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQyMSBidWlsdGluL3B1bGwuYzo0MzAKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MjMgYnVpbHRpbi9wdWxsLmM6NDMyCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgIjxkaXN0YW50PiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9wdWxsLmM6NDM3IGdpdC1yZWJhc2Uuc2g6NDU2CiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxicmFuY2hlPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIlBhcyBkJ2luZm9ybWF0aW9uIGRlIHN1aXZpIGRpc3RhbnQgcG91ciBsYSBicmFuY2hlIGFjdHVlbGxlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogIlNpIHZvdXMgc291aGFpdGV6IGluZGlxdWVyIGwnaW5mb3JtYXRpb24gZGUgc3VpdmkgZGlzdGFudCBwb3VyIGNldHRlICIKICJicmFuY2hlLCB2b3VzIHBvdXZleiBsZSBmYWlyZSBhdmVjwqA6IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBjb25maWd1cmF0aW9uIHNwZWNpZmllcyB0byBtZXJnZSB3aXRoIHRoZSByZWYgJyVzJ1xuIgpAQCAtMTExMzgsMjkgKzExNTE1LDI5IEBACiAiJyVzJ1xuIgogImR1IHNlcnZldXIgZGlzdGFudCwgbWFpcyBjZXR0ZSByw6lmw6lyZW5jZSBuJ2EgcGFzIMOpdMOpIHLDqWN1cMOpcsOpZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjc1NAorIzogYnVpbHRpbi9wdWxsLmM6NzkyCiBtc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgogbXNnc3RyICItLXZlcmlmeS1zaWduYXR1cmVzIGVzdCBpZ25vcsOpIHBvdXIgdW4gcmViYXNhZ2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgwMQorIzogYnVpbHRpbi9wdWxsLmM6ODQwCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAibCdvcHRpb24gLS1bbm8tXWF1dG9zdGFzaCBuJ2VzdCB2YWxpZGUgcXUnYXZlYyAtLXJlYmFzZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgwOQorIzogYnVpbHRpbi9wdWxsLmM6ODQ4CiBtc2dpZCAiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIKIG1zZ3N0ciAiIgogIk1pc2Ugw6Agam91ciBkJ3VuZSBicmFuY2hlIG5vbiBlbmNvcmUgY3LDqcOpZSBhdmVjIGxlcyBjaGFuZ2VtZW50cyBham91dMOpcyBkYW5zICIKICJsJ2luZGV4LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODEyCisjOiBidWlsdGluL3B1bGwuYzo4NTEKIG1zZ2lkICJwdWxsIHdpdGggcmViYXNlIgogbXNnc3RyICJ0aXJlciBhdmVjIHVuIHJlYmFzYWdlIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1MgogbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgInZldWlsbGV6IGxlcyB2YWxpZGVyIG91IGxlcyByZW1pc2VyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODM4CisjOiBidWlsdGluL3B1bGwuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xMTE3MSw3ICsxMTU0OCw3IEBACiAiYXZhbmNlIHJhcGlkZSBkZSB2b3RyZSBjb3BpZSBkZSB0cmF2YWlsXG4iCiAiZGVwdWlzIGxlIGNvbW1pdCAlcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg0MworIzogYnVpbHRpbi9wdWxsLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTExODgsMjcgKzExNTY1LDMzIEBACiAiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCiAicG91ciByw6lnw6luw6lyZXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NTgKKyM6IGJ1aWx0aW4vcHVsbC5jOjg5NwogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZ1c2lvbm5lciBkZSBtdWx0aXBsZXMgYnJhbmNoZXMgc3VyIHVuZSB0w6p0ZSB2aWRlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODYyCisjOiBidWlsdGluL3B1bGwuYzo5MDEKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJlYmFzZXIgc3VyIGRlIG11bHRpcGxlcyBicmFuY2hlcy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2CisjOiBidWlsdGluL3B1bGwuYzo5MDgKK21zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgcmViYXNlciBhdmVjIGRlcyBtb2RpZmljYXRpb25zIGRlIHNvdXMtbW9kdWxlcyBlbnJlZ2lzdHLDqWVzICIKKyJsb2NhbGVtZW50IgorCisjOiBidWlsdGluL3B1c2guYzoxNwogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPGTDqXDDtHQ+IFs8c3DDqWNpZmljYXRpb24tZGUtcsOpZsOpcmVuY2U+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjg5CisjOiBidWlsdGluL3B1c2guYzo5MAogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKIG1zZ3N0ciAicmFjY291cmNpIGQnw6l0aXF1ZXR0ZSBzYW5zIDzDqXRpcXVldHRlPiIKIAotIzogYnVpbHRpbi9wdXNoLmM6OTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwMAogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBhY2NlcHRlIHNldWxlbWVudCBkZXMgbm9tcyBlbnRpZXJzIGRlIHLDqWbDqXJlbmNlcyBjaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MworIzogYnVpbHRpbi9wdXNoLmM6MTQ0CiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTExMjE3LDcgKzExNjAwLDcgQEAKICJQb3VyIGNob2lzaXIgbCdvcHRpb24gZGUgbWFuacOocmUgcGVybWFuZW50ZSwgdm9pciBwdXNoLmRlZmF1bHQgZGFucyAnZ2l0ICIKICJoZWxwIGNvbmZpZycuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC0xMTI0Miw3ICsxMTYyNSw3IEBACiAiICAgIGdpdCBwdXNoICVzICVzXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6MTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC0xMTI1Nyw3ICsxMTY0MCw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5vbS1kZS1sYS1icmFuY2hlLWFtb250PlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC0xMTI3MSwxMyArMTE2NTQsMTMgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTgzCisjOiBidWlsdGluL3B1c2guYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIiIKICJMYSBicmFuY2hlIGNvdXJhbnRlICVzIGEgZGUgbXVsdGlwbGVzIGJyYW5jaGVzIGFtb250LCBpbXBvc3NpYmxlIGRlIHBvdXNzZXIuIgogCi0jOiBidWlsdGluL3B1c2guYzoxODYKKyM6IGJ1aWx0aW4vcHVzaC5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCkBAIC0xMTI4OCwxNCArMTE2NzEsMTQgQEAKICJwYXMgdW5lIGJyYW5jaGUgYW1vbnQgZGUgdm90cmUgYnJhbmNoZSBjb3VyYW50ZSAnJXMnLCBzYW5zIG1lIGRpcmVcbiIKICJxdW9pIHBvdXNzZXIgcG91ciBtZXR0cmUgw6Agam91ciBxdWVsbGUgYnJhbmNoZSBhbW9udC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NQorIzogYnVpbHRpbi9wdXNoLmM6MjQ2CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKICJWb3VzIG4nYXZleiBwYXMgc3DDqWNpZmnDqSBkZSBzcMOpY2lmaWNhdGlvbnMgZGUgcsOpZsOpcmVuY2Ugw6AgcG91c3NlciwgZXQgcHVzaC4iCiAiZGVmYXVsdCBlc3QgXCJub3RoaW5nXCIuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCiAiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgpAQCAtMTEzMTAsNyArMTE2OTMsNyBAQAogIlZvaXIgbGEgJ05vdGUgw6AgcHJvcG9zIGRlcyBhdmFuY2VzIHJhcGlkZXMnIGRhbnMgJ2dpdCBwdXNoIC0taGVscCcgcG91ciBwbHVzICIKICJkJ2luZm9ybWF0aW9uLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjU4CisjOiBidWlsdGluL3B1c2guYzoyNTkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTExMzI1LDcgKzExNzA4LDcgQEAKICJWb2lyIGxhICdOb3RlIMOgIHByb3BvcyBkZXMgYXZhbmNlcyByYXBpZGVzJyBkYW5zICdnaXQgcHVzaCAtLWhlbHAnIHBvdXIgcGx1cyAiCiAiZCdpbmZvcm1hdGlvbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2NAorIzogYnVpbHRpbi9wdXNoLmM6MjY1CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTExMzQzLDEzICsxMTcyNiwxMyBAQAogIlZvaXIgbGEgJ05vdGUgw6AgcHJvcG9zIGRlcyBhdmFuY2VzIHJhcGlkZXMnIGRhbnMgJ2dpdCBwdXNoIC0taGVscCcgcG91ciBwbHVzICIKICJkJ2luZm9ybWF0aW9uLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjcxCisjOiBidWlsdGluL3B1c2guYzoyNzIKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICIiCiAiTGVzIG1pc2VzIMOgIGpvdXIgb250IMOpdMOpIHJlamV0w6llcyBjYXIgbCfDqXRpcXVldHRlIGV4aXN0ZSBkw6lqw6AgZGFucyBsYSAiCiAiYnJhbmNoZSBkaXN0YW50ZS4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAorIzogYnVpbHRpbi9wdXNoLmM6Mjc1CiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgpAQCAtMTEzNjEsMjIgKzExNzQ0LDIyIEBACiAicG9pbnRlclxuIgogInZlcnMgdW4gb2JqZXQgcXVpIG4nZXN0IHBhcyB1biBjb21taXQsIHNhbnMgdXRpbGlzZXIgbCdvcHRpb24gJy0tZm9yY2UnLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozMzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIlBvdXNzw6llIHZlcnMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzM4CisjOiBidWlsdGluL3B1c2guYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgcG91c3NlciBkZXMgcsOpZsOpcmVuY2VzIHZlcnMgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY5CisjOiBidWlsdGluL3B1c2guYzozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAibWF1dmFpcyBkw6lww7R0ICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MAorIzogYnVpbHRpbi9wdXNoLmM6MzcxCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTEzOTgsMTE5ICsxMTc4MSwxMTkgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPG5vbT5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg4CisjOiBidWlsdGluL3B1c2guYzozODkKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIGV0IC0tdGFncyBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OQorIzogYnVpbHRpbi9wdXNoLmM6MzkwCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1hbGwgbmUgcGV1dCBwYXMgw6p0cmUgY29tYmluw6kgYXZlYyBkZXMgc3DDqWNpZmljYXRpb25zIGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL3B1c2guYzozOTQKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NQogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3IgZXQgLS10YWdzIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk1CisjOiBidWlsdGluL3B1c2guYzozOTYKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLW1pcnJvciBuZSBwZXV0IHBhcyDDqnRyZSBjb21iaW7DqSBhdmVjIGRlcyBzcMOpY2lmaWNhdGlvbnMgZGUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjQwMAorIzogYnVpbHRpbi9wdXNoLmM6NDAxCiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIGV0IC0tbWlycm9yIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE4CisjOiBidWlsdGluL3B1c2guYzo1MjMKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJkw6lww7R0IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNCBidWlsdGluL3NlbmQtcGFjay5jOjE2MwogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgInBvdXNzZXIgdG91dGVzIGxlcyByw6lmw6lyZW5jZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMCBidWlsdGluL3NlbmQtcGFjay5jOjE2MworIzogYnVpbHRpbi9wdXNoLmM6NTI1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICJyZWZsw6l0ZXIgdG91dGVzIGxlcyByw6lmw6lyZW5jZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMgorIzogYnVpbHRpbi9wdXNoLmM6NTI3CiBtc2dpZCAiZGVsZXRlIHJlZnMiCiBtc2dzdHIgInN1cHByaW1lciBsZXMgcsOpZsOpcmVuY2VzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyOAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAiIgogInBvdXNzZXIgbGVzIMOpdGlxdWV0dGVzIChuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIC0tYWxsIG91IC0tbWlycm9yKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CisjOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICJmb3JjZXIgbGVzIG1pc2VzIMOgIGpvdXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOCBidWlsdGluL3NlbmQtcGFjay5jOjE3NQorIzogYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgwCiBtc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKIG1zZ3N0ciAibm9tIGRlIHLDqWbDqXJlbmNlPjo8YXR0ZW5kdSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CisjOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKIG1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAiZXhpZ2VyIHF1ZSBsJ2FuY2llbm5lIHZhbGV1ciBkZSBsYSByw6lmw6lyZW5jZSBzb2l0IMOgIGNldHRlIHZhbGV1ciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMyCisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgImNvbnRyw7RsZXIgbGEgcG91c3PDqWUgcsOpY3Vyc2l2ZSBkZXMgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NAogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgInV0aWxpc2VyIHVuIGVtcGFxdWV0YWdlIGzDqWdlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM1IGJ1aWx0aW4vcHVzaC5jOjUzNiBidWlsdGluL3NlbmQtcGFjay5jOjE1OAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MCBidWlsdGluL3B1c2guYzo1NDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjAKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCiBtc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCiBtc2dzdHIgInJlY2V2b2lyIGxlIHByb2dyYW1tZSBkJ2VtcGFxdWV0YWdlIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzcKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MgogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICJkw6lmaW5pciBsYSBicmFuY2hlIGFtb250IHBvdXIgZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NQogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICLDqWxpbWluZXIgbGVzIHLDqWbDqXJlbmNlcyBsb2NhbGVzIHN1cHByaW3DqWVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NwogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICLDqXZpdGVyIGQndXRpbGlzZXIgbGUgY3JvY2hldCBwcmUtcHVzaCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQzCisjOiBidWlsdGluL3B1c2guYzo1NDgKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgInBvdXNzZXIgbGVzIMOpdGlxdWV0dGVzIG1hbnF1YW50ZXMgbWFpcyBwZXJ0aW5lbnRlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NTEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAic2lnbmVyIGxhIHBvdXNzw6llIGF2ZWMgR1BHIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICJkZW1hbmRlIHVuZSB0cmFuc2FjdGlvbiBhdG9taXF1ZSBzdXIgbGUgc2VydmV1ciBkaXN0YW50IgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NCBidWlsdGluL3NlbmQtcGFjay5jOjE3MQogbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKIG1zZ3N0ciAic3DDqWNpZmlxdWUgYXUgc2VydmV1ciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NTQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKIG1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCiBtc2dzdHIgIm9wdGlvbiDDoCB0cmFuc21ldHRyZSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTYzCisjOiBidWlsdGluL3B1c2guYzo1NjgKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUgZXN0IGluY29tcGF0aWJsZSBhdmVjIC0tYWxsLCAtLW1pcnJvciBldCAtLXRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NQorIzogYnVpbHRpbi9wdXNoLmM6NTcwCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIG4nYSBwYXMgZGUgc2VucyBzYW5zIGF1Y3VuZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTg0CisjOiBidWlsdGluL3B1c2guYzo1ODkKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgogbXNnc3RyICIiCiAibGVzIG9wdGlvbnMgZGUgcG91c3PDqWUgbmUgcGV1dmVudCBwYXMgY29udGVuaXIgZGUgY2FyYWN0w6hyZXMgZGUgbm91dmVsbGUgIgogImxpZ25lIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjQwCiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKQEAgLTExNTIxLDc1ICsxMTkwNCw4NyBAQAogInNwYXJzZS1jaGVja291dF0gWy0taW5kZXgtb3V0cHV0PTxmaWNoaWVyPl0gKC0tZW1wdHkgfCA8YXJicmUgb3UgYXBwYXJlbnTDqSAiCiAiMT4gWzxhcmJyZSBvdSBhcHBhcmVudMOpIDI+IFs8YXJicmUgb3UgYXBwYXJlbnTDqSAzPl1dKSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIxCiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKIG1zZ3N0ciAiw6ljcmlyZSBsJ2luZGV4IHLDqXN1bHRhbnQgZGFucyA8ZmljaGllcj4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICJqdXN0ZSB2aWRlciBsJ2luZGV4IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICJGdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCiBtc2dzdHIgImVmZmVjdHVlciB1bmUgZnVzaW9uIGVuIHBsdXMgZCd1bmUgbGVjdHVyZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgogbXNnc3RyICJmdXNpb24gw6AgMyBwb2ludHMgc2kgYXVjdW5lIGZ1c2lvbiBkZSBuaXZlYXUgZmljaGllciBuJ2VzdCByZXF1aXNlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzIKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICJmdXNpb24gw6AgMyBwb2ludHMgZW4gcHLDqXNlbmNlIGQnYWpvdXRzIGV0IHN1cHByZXNzaW9ucyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiY29tbWUgLW0sIG1haXMgYW5udWxlIGxlcyDDqWzDqW1lbnRzIG5vbiBmdXNpb25uw6lzIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICI8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgIjxzb3VzLXLDqXBlcnRvaXJlPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICJsaXJlIGwnYXJicmUgZGFucyBsJ2luZGV4IGRhbnMgPHNvdXMtcsOpcGVydG9pcmU+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM5CiBtc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKIG1zZ3N0ciAibWV0dHJlIMOgIGpvdXIgbGEgY29waWUgZGUgdHJhdmFpbCBhdmVjIGxlIHLDqXN1bHRhdCBkZSBsYSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MQogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAiZ2l0aWdub3JlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgImF1dG9yaXNlciBleHBsaWNpdGVtZW50IGxlcyBmaWNoaWVycyBpZ25vcsOpcyDDoCDDqnRyZSDDqWNyYXPDqXMiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQogbXNnaWQgImRvbid0IGNoZWNrIHRoZSB3b3JraW5nIHRyZWUgYWZ0ZXIgbWVyZ2luZyIKIG1zZ3N0ciAibmUgcGFzIHbDqXJpZmllciBsYSBjb3BpZSBkZSB0cmF2YWlsIGFwcsOocyBsYSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NgogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAibmUgcGFzIG1ldHRyZSDDoCBqb3VyIGwnaW5kZXggb3UgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CiBtc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgogbXNnc3RyICJzYXV0ZXIgbCdhcHBsaWNhdGlvbiBkdSBmaWx0cmUgZCdleHRyYWN0aW9uIGNyZXVzZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJkw6lib2d1ZXIgdW5wYWNrLXRyZWVzIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI2CisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6OAorbXNnaWQgImdpdCByZWJhc2UtLWhlbHBlciBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHJlYmFzZS1oZWxwZXIgWzxvcHRpb25zPl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyMAorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAiY29udGludWVyIGxlIHJlYmFzYWdlIgorCisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MjIKK21zZ2lkICJhYm9ydCByZWJhc2UiCittc2dzdHIgImFiYW5kb25uZXIgbGUgcmViYXNhZ2UiCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjgKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8csOpcGVydG9pcmUtZ2l0PiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo3OTMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODM4CiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKICJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgpAQCAtMTE2MTksNyArMTIwMTQsNyBAQAogIlBvdXIgw6lsaW1pbmVyIGNlIG1lc3NhZ2UgZXQgY29uc2VydmVyIGxlIGNvbXBvcnRlbWVudCBwYXIgZMOpZmF1dCxcbiIKICJyw6lnbGV6IMKrwqByZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNowqDCuyDDoCAncmVmdXNlJy4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODEzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjg1OAogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCBkZWxldGluZyB0aGUgY3VycmVudCBicmFuY2ggaXMgZGVuaWVkLCBiZWNhdXNlIHRoZSBuZXh0XG4iCiAiJ2dpdCBjbG9uZScgd29uJ3QgcmVzdWx0IGluIGFueSBmaWxlIGNoZWNrZWQgb3V0LCBjYXVzaW5nIGNvbmZ1c2lvbi5cbiIKQEAgLTExNjM5LDI5ICsxMjAzNCwyOSBAQAogIlxuIgogIlBvdXIgw6lsaW1pbmVyIGNlIG1lc3NhZ2UsIHLDqWdsZXotbGUgw6AgJ3JlZnVzZScuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4ODMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkzMwogbXNnaWQgInF1aWV0IgogbXNnc3RyICJxdWlldCIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk3CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDcKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiVm91cyBkZXZleiBzcMOpY2lmaWVyIHVuIHLDqXBlcnRvaXJlLiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo0MjMKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIHBvdXIgJyVzJyBuJ2VzdCBwYXMgdW4gaG9yb2RhdGFnZSB2YWxpZGUiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NTQwIGJ1aWx0aW4vcmVmbG9nLmM6NTQ1CisjOiBidWlsdGluL3JlZmxvZy5jOjU0MSBidWlsdGluL3JlZmxvZy5jOjU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW4gaG9yb2RhdGFnZSB2YWxpZGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgpAQCAtMTE2NjksODMgKzEyMDY0LDgzIEBACiAiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2hlPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLXRhZ3MgfCAtLW5vLXRhZ3NdIFstLSIKICJtaXJyb3I9PGZldGNofHB1c2g+XSA8bm9tPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjM0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzUKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW5hbWUgPGFuY2llbm5lPiA8bm91dmVsbGU+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYgYnVpbHRpbi9yZW1vdGUuYzo0MAogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPG5vbT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYgYnVpbHRpbi9yZW1vdGUuYzo0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNyBidWlsdGluL3JlbW90ZS5jOjQ1CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bm9tPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaGU+KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOAogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4CisjOiBidWlsdGluL3JlbW90ZS5jOjE5CiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5CisjOiBidWlsdGluL3JlbW90ZS5jOjIwCiBtc2dpZCAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKIG1zZ3N0ciAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXBlPiB8ICIKICI8ZGlzdGFudGU+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA8bm9tPiA8YnJhbmNoZT4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEgYnVpbHRpbi9yZW1vdGUuYzo3MAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcxCiBtc2dpZCAiZ2l0IHJlbW90ZSBnZXQtdXJsIFstLXB1c2hdIFstLWFsbF0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8bm9tPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjc1CisjOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzYKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+IFs8b2xkdXJsPl0iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bm9tPiA8bm91dmVsbGUtVVJMPiBbPGFuY2llbm5lLVVSTD5dIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NwogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bmFtZT4gPG5ld3VybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bm9tPiA8bm91dmVsbGUtVVJMPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyNCBidWlsdGluL3JlbW90ZS5jOjc3CisjOiBidWlsdGluL3JlbW90ZS5jOjI1IGJ1aWx0aW4vcmVtb3RlLmM6NzgKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1kZWxldGUgPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgLS1kZWxldGUgPG5vbT4gPFVSTD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzAKIG1zZ2lkICJnaXQgcmVtb3RlIGFkZCBbPG9wdGlvbnM+XSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxub20+IDxVUkw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ5CisjOiBidWlsdGluL3JlbW90ZS5jOjUwCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bm9tPiA8YnJhbmNoZT4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDxub20+IDxicmFuY2hlPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1NQorIzogYnVpbHRpbi9yZW1vdGUuYzo1NgogbXNnaWQgImdpdCByZW1vdGUgc2hvdyBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2hvdyBbPG9wdGlvbnM+XSA8bm9tPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MQogbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWzxvcHRpb25zPl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxub20+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY1CisjOiBidWlsdGluL3JlbW90ZS5jOjY2CiBtc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgdXBkYXRlIFs8b3B0aW9ucz5dIFs8Z3JvdXBlPiB8IDxkaXN0YW50ZT5dLi4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0CisjOiBidWlsdGluL3JlbW90ZS5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICJNaXNlIMOgIGpvdXIgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNwogbXNnaWQgIiIKICItLW1pcnJvciBpcyBkYW5nZXJvdXMgYW5kIGRlcHJlY2F0ZWQ7IHBsZWFzZVxuIgogIlx0IHVzZSAtLW1pcnJvcj1mZXRjaCBvciAtLW1pcnJvcj1wdXNoIGluc3RlYWQiCkBAIC0xMTc1Myw5MiArMTIxNDgsOTIgQEAKICItLW1pcnJvciBlc3QgZGFuZ2VyZXV4IGV0IG9ic29sw6h0ZSA7IG1lcmNpXG4iCiAiXHQgZCd1dGlsaXNlciAtLW1pcnJvcj1mZXRjaCBvdSAtLW1pcnJvcj1wdXNoIMOgIGxhIHBsYWNlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBtaXJyb3IgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudCBtaXJvaXIgaW5jb25udSA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjAKIG1zZ2lkICJmZXRjaCB0aGUgcmVtb3RlIGJyYW5jaGVzIgogbXNnc3RyICJyYXBhdHJpZXIgbGVzIGJyYW5jaGVzIGRpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyCiBtc2dpZCAiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIKIG1zZ3N0ciAiIgogImltcG9ydGVyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgZXQgbGVzIG9iamV0cyBhc3NvY2nDqXMgbG9ycyBkdSByYXBhdHJpZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NQogbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKIG1zZ3N0ciAib3UgbmUgcmFwYXRyaWVyIGF1Y3VuZSDDqXRpcXVldHRlICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjcKIG1zZ2lkICJicmFuY2goZXMpIHRvIHRyYWNrIgogbXNnc3RyICJicmFuY2hlKHMpIMOgIHN1aXZyZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY4CiBtc2dpZCAibWFzdGVyIGJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNoZSBtYcOudHJlc3NlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkKIG1zZ2lkICJwdXNofGZldGNoIgogbXNnc3RyICJwdXNofGZldGNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAiIgogInBhcmFtw6l0cmVyIGxhIGRpc3RhbnRlIGNvbW1lIG1pcm9pciBwb3VyIHBvdXNzZXIgb3UgcG91ciByYXBhdHJpZXIgZGVwdWlzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxODIKIG1zZ2lkICJzcGVjaWZ5aW5nIGEgbWFzdGVyIGJyYW5jaCBtYWtlcyBubyBzZW5zZSB3aXRoIC0tbWlycm9yIgogbXNnc3RyICJzcMOpY2lmaWVyIHVuZSBicmFuY2hlIG1hw650cmVzc2UgbidhIHBhcyBkZSBzZW5zIGF2ZWMgLS1taXJyb3IiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjE4NAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgIiIKICJzcMOpY2lmaWVyIGxlcyBicmFuY2hlcyDDoCBzdWl2cmUgbidhIGRlIHNlbnMgcXUnYXZlYyBkZXMgbWlyb2lycyBkZSAiCiAicmFwYXRyaWVtZW50IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxOTEgYnVpbHRpbi9yZW1vdGUuYzo2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAibGEgZGlzdGFudGUgJXMgZXhpc3RlIGTDqWrDoC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjMzCisjOiBidWlsdGluL3JlbW90ZS5jOjE5NSBidWlsdGluL3JlbW90ZS5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1biBub20gdmFsaWRlIGRlIGRpc3RhbnRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIzNAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwIG1hc3RlciAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBhcmFtw6l0cmVyIGxhIG1hw650cmVzc2UgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzozMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgogbXNnc3RyICIiCiAiSW1wb3NzaWJsZSBkJ29idGVuaXIgdW5lIGNvcnJlc3BvbmRhbmNlIGRpc3RhbnRlIHBvdXIgbGEgc3DDqWNpZmljYXRpb24gZGUgIgogInLDqWbDqXJlbmNlICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQzNyBidWlsdGluL3JlbW90ZS5jOjQ0NQorIzogYnVpbHRpbi9yZW1vdGUuYzo0MzggYnVpbHRpbi9yZW1vdGUuYzo0NDYKIG1zZ2lkICIobWF0Y2hpbmcpIgogbXNnc3RyICIoY29ycmVzcG9uZCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQ5CisjOiBidWlsdGluL3JlbW90ZS5jOjQ1MAogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIoc3VwcHJpbWVyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzU4IGJ1aWx0aW4vcmVtb3RlLmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAiRGlzdGFudGUgaW5jb25udWUgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW5hbWUgY29uZmlnIHNlY3Rpb24gJyVzJyB0byAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJlbm9tbWVyIGxhIHNlY3Rpb24gZGUgY29uZmlndXJhdGlvbiAnJXMnIGVuICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CisjOiBidWlsdGluL3JlbW90ZS5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKQEAgLTExODQ5LDE3ICsxMjI0NCwxNyBAQAogIlx0JXNcbiIKICJcdFZldWlsbGV6IG1ldHRyZSDDoCBqb3VyIGxhIGNvbmZpZ3VyYXRpb24gbWFudWVsbGVtZW50IHNpIG7DqWNlc3NhaXJlLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgc3VwcHJlc3Npb24gZGUgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgY3LDqWF0aW9uIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCisjOiBidWlsdGluL3JlbW90ZS5jOjc5NQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTE4NzQsMTM3ICsxMjI2OSwxMzkgQEAKICJzdXBwcmltw6llcyA7XG4iCiAicG91ciBsZXMgc3VwcHJpbWVyLCB1dGlsaXNleiA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgwNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsYSBzZWN0aW9uIGRlIGNvbmZpZ3VyYXRpb24gJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIG5vdXZlYXUgKGxlIHByb2NoYWluIHJhcGF0cmllbWVudCAoZmV0Y2gpIHN0b2NrZXJhIGRhbnMgcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCisjOiBidWlsdGluL3JlbW90ZS5jOjkxMwogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIgc3VpdmkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCisjOiBidWlsdGluL3JlbW90ZS5jOjkxNQogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIgZMOpcGFzc8OpICh1dGlsaXNleiAnZ2l0IHJlbW90ZSBwcnVuZScgcG91ciBzdXBwcmltZXIpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTcKIG1zZ2lkICIgPz8/IgogbXNnc3RyICIgPz8/IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk1NQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICJicmFuY2guJXMubWVyZ2UgaW52YWxpZGUgOyBuZSBwZXV0IHBhcyByZWJhc2VyIHN1ciBwbHVzIGQndW5lIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCisjOiBidWlsdGluL3JlbW90ZS5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInJlYmFzZSBkZSBtYW5pw6hyZSBpbnRlcmFjdGl2ZSBzdXIgbGEgZGlzdGFudGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICJyZWJhc2Ugc3VyIGxhIGRpc3RhbnRlICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NworIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIGZ1c2lvbm5lIGF2ZWMgbGEgZGlzdGFudGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgImZ1c2lvbm5lIGF2ZWMgbGEgZGlzdGFudGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjOiBidWlsdGluL3JlbW90ZS5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgogbXNnc3RyICIlLSpzICAgIGV0IGF2ZWMgbGEgZGlzdGFudGUgJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgImNyw6llciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjIKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgInN1cHByaW1lciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIzCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjYKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICLDoCBqb3VyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImZhc3QtZm9yd2FyZGFibGUiCiBtc2dzdHIgInBldXQgw6p0cmUgbWlzIMOgIGpvdXIgZW4gYXZhbmNlIHJhcGlkZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzIKIG1zZ2lkICJsb2NhbCBvdXQgb2YgZGF0ZSIKIG1zZ3N0ciAibGUgbG9jYWwgbidlc3QgcGFzIMOgIGpvdXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIGZvcmNlIHZlcnMgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBwb3Vzc2UgdmVycyAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgZm9yY2UgdmVycyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBwb3Vzc2UgdmVycyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE0CisjOiBidWlsdGluL3JlbW90ZS5jOjExMTcKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAibmUgcGFzIGludGVycm9nZXIgbGVzIGRpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogZGlzdGFudGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgZGUgcmFwYXRyaWVtZW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MyBidWlsdGluL3JlbW90ZS5jOjExNTYgYnVpbHRpbi9yZW1vdGUuYzoxMjk1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDYgYnVpbHRpbi9yZW1vdGUuYzoxMTYyIGJ1aWx0aW4vcmVtb3RlLmM6MTMwMQogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIocGFzIGQnVVJMKSIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduIHdpdGgKLSMuIHRoZSBvbmUgaW4gIiAgRmV0Y2ggVVJMOiAlcyIgdHJhbnNsYXRpb24KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExNTYKKyMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbgorIy4gd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKKyMuIHRyYW5zbGF0aW9uLgorIy4KKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCBwdXNoIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQgYnVpbHRpbi9yZW1vdGUuYzoxMTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBCcmFuY2hlIEhFQUQgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQKIG1zZ2lkICIobm90IHF1ZXJpZWQpIgogbXNnc3RyICIobm9uIGRlbWFuZMOpKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjYKIG1zZ2lkICIodW5rbm93bikiCiBtc2dzdHIgIihpbmNvbm51KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKQEAgLTEyMDEyLDE3MSArMTI0MDksMTcxIEBACiAiICBCcmFuY2hlIEhFQUQgKGxhIEhFQUQgZGlzdGFudGUgZXN0IGFtYmlndcOrLCBwZXV0IMOqdHJlIGwndW5lIGRlcyAiCiAic3VpdmFudGVzKSA6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAgQnJhbmNoZSBkaXN0YW50ZSA6JXMiCiBtc2dzdHJbMV0gIiAgQnJhbmNoZXMgZGlzdGFudGVzIDolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg1IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKLW1zZ3N0ciAiIChzdGF0dXQgbm9uIGRlbWFuZMOpKSIKK21zZ3N0ciAiICjDqXRhdCBub24gZGVtYW5kw6kpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIEJyYW5jaGUgbG9jYWxlIGNvbmZpZ3Vyw6llIHBvdXIgJ2dpdCBwdWxsJyA6IgogbXNnc3RyWzFdICIgIEJyYW5jaGVzIGxvY2FsZXMgY29uZmlndXLDqWVzIHBvdXIgJ2dpdCBwdWxsJyA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAgTGVzIHLDqWbDqXJlbmNlcyBsb2NhbGVzIHNlcm9udCByZWZsw6l0w6llcyBwYXIgJ2dpdCBwdXNoJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAgUsOpZsOpcmVuY2UgbG9jYWxlIGNvbmZpZ3Vyw6llIHBvdXIgJ2dpdCBwdXNoJyVzIDoiCiBtc2dzdHJbMV0gIiAgUsOpZsOpcmVuY2VzIGxvY2FsZXMgY29uZmlndXLDqWVzIHBvdXIgJ2dpdCBwdXNoJyVzIDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI5CiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICJkw6lmaW5pciByZWZzL3JlbW90ZXMvPG5vbT4vSEVBRCBzZWxvbiBsYSBkaXN0YW50ZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJzdXBwcmltZXIgcmVmcy9yZW1vdGVzLzxub20+L0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6l0ZXJtaW5lciBsYSBIRUFEIGRpc3RhbnRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0OAogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICIiCiAiSWwgeSBhIGRlIG11bHRpcGxlcyBicmFuY2hlcyBIRUFEIGRpc3RhbnRlcy4gVmV1aWxsZXogZW4gY2hvaXNpciB1bmUgIgogImV4cGxpY2l0ZW1lbnQgYXZlYyA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAiUsOpZsOpcmVuY2Ugbm9uIHZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcGFyYW3DqXRyZXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBzZSByZXRyb3V2ZXJhIGVuIHN1c3BlbnMgISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgc2UgcmV0cm91dmUgZW4gc3VzcGVucyAhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICLDiWxpbWluYXRpb24gZGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIlVSTCA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBbc2VyYWl0IMOpbGltaW7DqV0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIgKiBbw6lsaW1pbsOpXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzU2CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNjIKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICLDqWxpbWluZXIgbGVzIGRpc3RhbnRzIGFwcsOocyBsZSByYXBhdHJpZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxOSBidWlsdGluL3JlbW90ZS5jOjE0NzMgYnVpbHRpbi9yZW1vdGUuYzoxNTQxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MjUgYnVpbHRpbi9yZW1vdGUuYzoxNDc5IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICJQYXMgZGUgc2VydmV1ciByZW1vdGUgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM1CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDEKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICJham91dGVyIHVuZSBicmFuY2hlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgInBhcyBkZSBzZXJ2ZXVyIGRpc3RhbnQgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjUKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAiaW50ZXJyb2dlciBsZXMgVVJMcyBkZSBwb3Vzc8OpZSBwbHV0w7R0IHF1ZSBsZXMgVVJMcyBkZSByw6ljdXDDqXJhdGlvbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKIG1zZ2lkICJyZXR1cm4gYWxsIFVSTHMiCiBtc2dzdHIgInJldG91cm5lciB0b3V0ZXMgbGVzIFVSTHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgImF1Y3VuZSBVUkwgY29uZmlndXLDqWUgcG91ciBsZSBkw6lww7R0IGRpc3RhbnQgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjEKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAibWFuaXB1bGVyIGxlcyBVUkxzIHB1c2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICJzdXBwcmltZXIgZGVzIFVSTHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMyCiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBuJ2EgYXVjdW4gc2VucyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICJNb3RpZiBkJ1VSTCBhbmNpZW4gaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJQYXMgZCdVUkwgdHJvdXbDqWUgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODMKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIlBhcyBkZSBzdXBwcmVzc2lvbiBkZSB0b3V0ZXMgbGVzIFVSTHMgbm9uLXB1c2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTk3CiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAiw6p0cmUgdmVyYmV1eCA6IGRvaXQgw6p0cmUgcGxhY8OpIGF2YW50IHVuZSBzb3VzLWNvbW1hbmRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJTb3VzLWNvbW1hbmRlIGluY29ubnVlIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIyCisjOiBidWlsdGluL3JlcGFjay5jOjIzCiBtc2dpZCAiIgogIkluY3JlbWVudGFsIHJlcGFja3MgYXJlIGluY29tcGF0aWJsZSB3aXRoIGJpdG1hcCBpbmRleGVzLiAgVXNlXG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3IgZGlzYWJsZSB0aGUgcGFjay53cml0ZWJpdG1hcHMgY29uZmlndXJhdGlvbi4iCkBAIC0xMjE4NSwxMjQgKzEyNTgyLDEyOCBAQAogIlV0aWxpc2V6XG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3UgZMOpc2FjdGl2ZXogbGUgcGFyYW3DqHRyZSBwYWNrLndyaXRlYml0bWFwcy4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY2CisjOiBidWlsdGluL3JlcGFjay5jOjE2OAogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICJlbXBhcXVldGVyIHRvdXQgZGFucyB1biBzZXVsIHBhcXVldCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcwCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAiaWRlbnRpcXVlIMOgIC1hIGV0IHRyYW5zZm9ybWVyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyBlbiBzdXNwZW5zIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgInN1cHByaW1lciBsZXMgcGFxdWV0cyByZWRvbmRhbnRzIGV0IGxhbmNlciBnaXQtcHJ1bmUtcGFja2VkIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MworIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAicGFzc2VyIC0tbm8tcmV1c2UtZGVsdGEgw6AgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzZXIgLS1uby1yZXVzZS1vYmplY3Qgw6AgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJuZSBwYXMgbGFuY2VyIGdpdCB1cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCisjOiBidWlsdGluL3JlcGFjay5jOjE4MgogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzZXIgLS1sb2NhbCDDoCBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MgorIzogYnVpbHRpbi9yZXBhY2suYzoxODQKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgIsOpY3JpcmUgdW4gaW5kZXggZW4gYml0bWFwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MworIzogYnVpbHRpbi9yZXBhY2suYzoxODUKIG1zZ2lkICJhcHByb3hpZGF0ZSIKIG1zZ3N0ciAiZGF0ZSBhcHByb3hpbWF0aXZlIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NAorIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICJhdmVjIC1BLCBuZSBwYXMgc3VzcGVuZHJlIGxlcyBvYmpldHMgcGx1cyB2aWV1eCBxdWUgY2VsdWktY2kiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJhdmVjIC1hLCByZXBhcXXDqXRpc2VyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJ0YWlsbGUgZGUgbGEgZmVuw6p0cmUgdXRpbGlzw6llIHBvdXIgbGEgY29tcHJlc3Npb24gZGVzIGRlbHRhcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxIGJ1aWx0aW4vcmVwYWNrLmM6MTk3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgIm9jdGV0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkyCiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIiIKICJpZGVtIGNpLWRlc3N1cywgbWFpcyBsaW1pdGVyIGxhIHRhaWxsZSBtw6ltb2lyZSBhdSBsaWV1IGR1IG5vbWJyZSBkJ8OpbMOpbWVudHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkyCisjOiBidWlsdGluL3JlcGFjay5jOjE5NAogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKIG1zZ3N0ciAibGltaXRlIGxhIHByb2ZvbmRldXIgbWF4aW1hbGUgZGVzIGRlbHRhcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk2Cittc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzIgorbXNnc3RyICJsaW1pdGUgbGUgbm9tYnJlIG1heGltYWwgZGUgZmlscyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxOTgKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAidGFpbGxlIG1heGltdW0gZGUgY2hhcXVlIGZpY2hpZXIgcGFxdWV0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE5NgorIzogYnVpbHRpbi9yZXBhY2suYzoyMDAKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAicsOpZW1wYXF1ZXRlciBsZXMgb2JqZXRzIGRhbnMgZGVzIHBhcXVldHMgbWFycXXDqXMgYXZlYyAua2VlcCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMDYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjEwCiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGVzIHBhcXVldHMgZGFucyB1biBkw6lww7R0IGQnb2JqZXRzIHByw6ljaWV1eCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjE0CiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgZXQgLUEgc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjQwMCBidWlsdGluL3dvcmt0cmVlLmM6MTE1CisjOiBidWlsdGluL3JlcGFjay5jOjQwNiBidWlsdGluL3dvcmt0cmVlLmM6MTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE5CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMAogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZXQ+IDxyZW1wbGFjZW1lbnQ+IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWVkaXQgPG9iamV0PiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSAtLWdyYWZ0IDxjb21taXQ+IFs8cGFyZW50Pi4uLl0iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0gLS1ncmFmdCA8Y29tbWl0PiBbPHBhcmVudD4uLi5dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjMKIG1zZ2lkICJnaXQgcmVwbGFjZSAtZCA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgLWQgPG9iamV0Pi4uLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI0CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPG1vdGlmPl1dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMjUgYnVpbHRpbi9yZXBsYWNlLmM6MzYzIGJ1aWx0aW4vcmVwbGFjZS5jOjM5MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzMxIGJ1aWx0aW4vcmVwbGFjZS5jOjM2OSBidWlsdGluL3JlcGxhY2UuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciCiBtc2dzdHIgIk5vbSBkJ29iamV0IGludmFsaWRlIDogJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzU1CisjOiBidWlsdGluL3JlcGxhY2UuYzozNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICJtYXV2YWlzZSDDqXRpcXVldHRlIGRlIGZ1c2lvbiBkYW5zIGxlIGNvbW1pdCAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgIsOpdGlxdWV0dGUgZGUgZnVzaW9uIG1hbGZvcm3DqWUgZGFucyBsZSBjb21taXQgJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzY4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgpAQCAtMTIzMTEsMjA4ICsxMjcxMiwyMDggQEAKICJsZSBjb21taXQgb3JpZ2luYWwgJyVzJyBjb250aWVudCBsJ8OpdGlxdWV0dGUgZGUgZnVzaW9uICclcycgcXVpIGEgZGlzcGFydSA7ICIKICJ1dGlsaXNleiAtLWVkaXQgYXUgbGlldSBkZSAtLWdyYWZ0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZS4iCiBtc2dzdHIgImxlIGNvbW1pdCBvcmlnaW5hbCAnJXMnIGNvbnRpZW50IHVuZSBzaWduYXR1cmUgR1BHLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDgKIG1zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKIG1zZ3N0ciAibGEgc2lnbmF0dXJlIHNlcmEgw6lsaW1pbsOpZSBkYW5zIGxhIHZhbGlkYXRpb24gZGUgcmVtcGxhY2VtZW50ICEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBjb21taXQgZGUgcmVtcGxhY2VtZW50IHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIHLDqWbDqXJlbmNlcyBkZSByZW1wbGFjZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM5CiBtc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyByw6lmw6lyZW5jZXMgZGUgcmVtcGxhY2VtZW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MAogbXNnaWQgImVkaXQgZXhpc3Rpbmcgb2JqZWN0IgogbXNnc3RyICLDqWRpdGVyIGwnb2JqZXQgZXhpc3RhbnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQxCiBtc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKIG1zZ3N0ciAiTW9kaWZpZXIgbGVzIHBhcmVudHMgZCd1biBjb21taXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQyCiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAicmVtcGxhY2VyIGxhIHLDqWbDqXJlbmNlIHNpIGVsbGUgZXhpc3RlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MwogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2FucyBtaXNlIGVuIGZvcm1lIHBvdXIgLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0NAogbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAidXRpbGlzZXIgY2UgZm9ybWF0IgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjEyCisjOiBidWlsdGluL3JlcmVyZS5jOjEzCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPHBhdGg+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiIgogImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IDxjaGVtaW4+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzo1OAorIzogYnVpbHRpbi9yZXJlcmUuYzo1OQogbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgogbXNnc3RyICJlbnJlZ2lzdHJlciBkZXMgcsOpc29sdXRpb25zIHByb3ByZXMgZGFucyBsJ2luZGV4IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOQogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNworIzogYnVpbHRpbi9yZXNldC5jOjMwCiBtc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzxhcmJyZSBvdSBhcHBhcmVudMOpPl0gWy0tXSA8Y2hlbWlucz4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOAorIzogYnVpbHRpbi9yZXNldC5jOjMxCiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgogbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPGFyYnJlIG91IGFwcGFyZW50w6k+XSBbLS1dIFs8Y2hlbWlucz4uLi5dIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgIm1peGVkIgogbXNnc3RyICJtaXhlZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJzb2Z0IgogbXNnc3RyICJzb2Z0IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgImhhcmQiCiBtc2dzdHIgImhhcmQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgIm1lcmdlIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgImtlZXAiCiBtc2dzdHIgImtlZXAiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NAorIzogYnVpbHRpbi9yZXNldC5jOjc3CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCiBtc2dzdHIgIlZvdXMgbidhdmV6IHBhcyB1bmUgSEVBRCB2YWxpZGUuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3OQogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdHJvdXZlciBsJ2FyYnJlIHBvdXIgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MgorIzogYnVpbHRpbi9yZXNldC5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbCdhcmJyZSBwb3VyICVzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjEwMAorIzogYnVpbHRpbi9yZXNldC5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKIG1zZ3N0ciAiSEVBRCBlc3QgbWFpbnRlbmFudCDDoCAlcyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE4MworIzogYnVpbHRpbi9yZXNldC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZhaXJlIHVuIFwicmVzZXQgJXNcIiBhdSBtaWxpZXUgZCd1bmUgZnVzaW9uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3NgorIzogYnVpbHRpbi9yZXNldC5jOjI4NgogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgIsOqdHJlIHNpbGVuY2lldXgsIGFmZmljaGVyIHNldWxlbWVudCBsZXMgZXJyZXVycyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OAorIzogYnVpbHRpbi9yZXNldC5jOjI4OAogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICJyw6lpbml0aWFsaXNlciBIRUFEIGV0IGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODkKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgInLDqWluaXRpYWxpc2VyIHNldWxlbWVudCBIRUFEIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjgxIGJ1aWx0aW4vcmVzZXQuYzoyODMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTEgYnVpbHRpbi9yZXNldC5jOjI5MwogbXNnaWQgInJlc2V0IEhFQUQsIGluZGV4IGFuZCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInLDqWluaXRpYWxpc2VyIEhFQUQsIGwnaW5kZXggZXQgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4NQorIzogYnVpbHRpbi9yZXNldC5jOjI5NQogbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAicsOpaW5pdGlhbGlzZXIgSEVBRCBtYWlzIGdhcmRlciBsZXMgY2hhbmdlbWVudHMgbG9jYXV4IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg4CisjOiBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIiIKICJlbnJlZ2lzdHJlciBzZXVsZW1lbnQgbGUgZmFpdCBxdWUgbGVzIGNoZW1pbnMgZWZmYWPDqXMgc2Vyb250IGFqb3V0w6lzIHBsdXMgIgogInRhcmQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIHLDqXNvbHV0aW9uIGRlICclcycgY29tbWUgdW5lIHLDqXZpc2lvbiB2YWxpZGUuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEzCisjOiBidWlsdGluL3Jlc2V0LmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIHLDqXNvbHV0aW9uIGRlICclcycgY29tbWUgdW4gYXJicmUgdmFsaWRlLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyMgorIzogYnVpbHRpbi9yZXNldC5jOjMzNwogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMQorIzogYnVpbHRpbi9yZXNldC5jOjM0NgogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tbWl4ZWQgYXZlYyBkZXMgY2hlbWlucyBlc3Qgb2Jzb2zDqHRlIDsgdXRpbGlzZXogJ2dpdCByZXNldCAtLSA8cGF0aHM+JyDDoCBsYSAiCiAicGxhY2UuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMzCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmYWlyZSB1biBcIiVzIHJlc2V0XCIgYXZlYyBkZXMgY2hlbWlucy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIkxlIFwiJXMgcmVzZXRcIiBuJ2VzdCBwYXMgcGVybWlzIGRhbnMgdW4gZMOpcMO0dCBudSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0NworIzogYnVpbHRpbi9yZXNldC5jOjM2MgogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgogbXNnc3RyICItTiBuZSBwZXV0IMOqdHJlIHV0aWxpc8OpIHF1J2F2ZWMgLS1taXhlZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NAorIzogYnVpbHRpbi9yZXNldC5jOjM3OQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgogbXNnc3RyICJNb2RpZmljYXRpb25zIG5vbiBpbmRleMOpZXMgYXByw6hzIHJlc2V0IDoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNzAKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcsOpaW5pdGlhbGlzZXIgbGUgZmljaGllciBkJ2luZGV4IMOgIGxhIHLDqXZpc2lvbiAnJXMnLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3NAorIzogYnVpbHRpbi9yZXNldC5jOjM4OQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGxlIG5vdXZlYXUgZmljaGllciBkJ2luZGV4LiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1OAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAicmV2LWxpc3QgbmUgc3VwcG9ydGUgbCdhZmZpY2hhZ2UgZGVzIG5vdGVzIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTQKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3VtZW50cz4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTkKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgImdhcmRlciBsZSBgLS1gIHBhc3PDqSBlbiBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTgKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDAxCiBtc2dpZCAic3RvcCBwYXJzaW5nIGFmdGVyIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50IgogbXNnc3RyICJhcnLDqnQgZGUgbCdhbmFseXNlIGFwcsOocyBsZSBwcmVtaWVyIGFyZ3VtZW50IHF1aSBuJ2VzdCBwYXMgdW5lIG9wdGlvbiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDEKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA0CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAic29ydGllIGVuIGZvcm1lIGxvbmd1ZSBmaXjDqWUiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTMyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzNQogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEyNTI3LDkyICsxMjkyOCw5NiBAQAogIkxhbmNleiBcImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtaFwiIHBvdXIgcGx1cyBkJ2luZm9ybWF0aW9uIHN1ciAiCiAibCd1dGlsaXNhdGlvbiBwcmluY2lwYWxlLiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMwogbXNnaWQgImdpdCByZXZlcnQgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgogbXNnc3RyICJnaXQgcmV2ZXJ0IFs8b3B0aW9ucz5dIDxjb21taXQgb3UgYXBwYXJlbnTDqT4uLi4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQKIG1zZ2lkICJnaXQgcmV2ZXJ0IDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IHJldmVydCA8c291cy1jb21tYW5kZT4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjkKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgWzxvcHRpb25zPl0gPGNvbW1pdCBvdSBhcHBhcmVudMOpPi4uLiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyOQorIzogYnVpbHRpbi9yZXZlcnQuYzozMAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayA8c291cy1jb21tYW5kZT4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzIDogJXMgbmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6kgYXZlYyAlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MAorIzogYnVpbHRpbi9yZXZlcnQuYzo5OQogbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIm1ldHRyZSBmaW4gYXUgcmV0b3VyIG91IHBpY29yYWdlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgxCisjOiBidWlsdGluL3JldmVydC5jOjEwMAogbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgInJlcHJlbmRyZSBsZSByZXRvdXIgb3UgcGljb3JhZ2UiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYW5udWxlciBsZSByZXRvdXIgb3UgcGljb3JhZ2UiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgIm5lIHBhcyB2YWxpZGVyIGF1dG9tYXRpcXVlbWVudCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4NAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiw6lkaXRlciBsZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKLW1zZ2lkICJwYXJlbnQgbnVtYmVyIgotbXNnc3RyICJudW3DqXJvIGRlIHBhcmVudCIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2Cittc2dpZCAicGFyZW50LW51bWJlciIKK21zZ3N0ciAibnVtw6lyby1kZS1wYXJlbnQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3Cittc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKK21zZ3N0ciAic8OpbGVjdGlvbm5lciBsZSBwYXJlbnQgcHJpbmNpcGFsIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJzdHJhdMOpZ2llIGRlIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgIm9wdGlvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTEKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJvcHRpb24gcG91ciBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICJham91dGVyIGxlIG5vbSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicHLDqXNlcnZlciBsZXMgdmFsaWRhdGlvbnMgdmlkZXMgaW5pdGlhbGVtZW50IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMjMKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgImF1dG9yaXNlciBsZXMgdmFsaWRhdGlvbnMgYXZlYyBkZXMgbWVzc2FnZXMgdmlkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEyNAogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICJnYXJkZXIgbGVzIHZhbGlkYXRpb25zIHJlZG9uZGFudGVzLCB2aWRlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxOTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAicmV2ZXJ0IGEgw6ljaG91w6kiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CisjOiBidWlsdGluL3JldmVydC5jOjIyNQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAibGUgcGljb3JhZ2UgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9ybS5jOjE3CisjOiBidWlsdGluL3JtLmM6MTgKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWNoaWVyPi4uLiIKIAotIzogYnVpbHRpbi9ybS5jOjIwNQorIzogYnVpbHRpbi9ybS5jOjIwNgogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCiAiZmlsZSBhbmQgdGhlIEhFQUQ6IgpAQCAtMTI2MjYsNyArMTMwMzEsNyBAQAogImxlcyBmaWNoaWVycyBzdWl2YW50cyBvbnQgZHUgY29udGVudSBpbmRleMOpIGRpZmbDqXJlbnRcbiIKICJkdSBmaWNoaWVyIGV0IGRlIEhFQUQgOiIKIAotIzogYnVpbHRpbi9ybS5jOjIxMAorIzogYnVpbHRpbi9ybS5jOjIxMQogbXNnaWQgIiIKICJcbiIKICIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTI2MzQsMTMgKzEzMDM5LDEzIEBACiAiXG4iCiAiKHV0aWxpc2V6IC1mIHBvdXIgZm9yY2VyIGxhIHN1cHByZXNzaW9uKSIKIAotIzogYnVpbHRpbi9ybS5jOjIxNAorIzogYnVpbHRpbi9ybS5jOjIxNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gImxlIGZpY2hpZXIgc3VpdmFudCBhIGRlcyBjaGFuZ2VtZW50cyBpbmRleMOpcyA6IgogbXNnc3RyWzFdICJsZXMgZmljaGllcnMgc3VpdmFudHMgb250IGRlcyBjaGFuZ2VtZW50cyBpbmRleMOpcyA6IgogCi0jOiBidWlsdGluL3JtLmM6MjE4IGJ1aWx0aW4vcm0uYzoyMjcKKyM6IGJ1aWx0aW4vcm0uYzoyMTkgYnVpbHRpbi9ybS5jOjIyOAogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTI2NDgsMzEgKzEzMDUzLDMxIEBACiAiXG4iCiAiKHV0aWxpc2V6IC0tY2FjaGVkIHBvdXIgZ2FyZGVyIGxlIGZpY2hpZXIsIG91IC1mIHBvdXIgZm9yY2VyIGxhIHN1cHByZXNzaW9uKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNAorIzogYnVpbHRpbi9ybS5jOjIyNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAibGUgZmljaGllciBzdWl2YW50IGEgZGVzIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyA6IgogbXNnc3RyWzFdICJsZXMgZmljaGllcnMgc3VpdmFudHMgb250IGRlcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgOiIKIAotIzogYnVpbHRpbi9ybS5jOjI0MgorIzogYnVpbHRpbi9ybS5jOjI0MwogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgZmljaGllcnMgc3VwcHJpbcOpcyIKIAotIzogYnVpbHRpbi9ybS5jOjI0MworIzogYnVpbHRpbi9ybS5jOjI0NAogbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJzdXBwcmltZXIgc2V1bGVtZW50IGRlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDQKKyM6IGJ1aWx0aW4vcm0uYzoyNDUKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAib3V0cmVwYXNzZXIgbGEgdsOpcmlmaWNhdGlvbiBkZXMgZmljaGllcnMgw6Agam91ciIKIAotIzogYnVpbHRpbi9ybS5jOjI0NQorIzogYnVpbHRpbi9ybS5jOjI0NgogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICJhdXRvcmlzZXIgbGEgc3VwcHJlc3Npb24gcsOpY3Vyc2l2ZSIKIAotIzogYnVpbHRpbi9ybS5jOjI0NworIzogYnVpbHRpbi9ybS5jOjI0OAogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgotbXNnc3RyICJzb3J0aXIgYXZlYyB1biBzdGF0dXQgesOpcm8gbcOqbWUgc2kgcmllbiBuZSBjb3JyZXNwb25kYWl0IgorbXNnc3RyICJzb3J0aXIgYXZlYyB1biDDqXRhdCB6w6lybyBtw6ptZSBzaSByaWVuIG5lIGNvcnJlc3BvbmRhaXQiCiAKICM6IGJ1aWx0aW4vcm0uYzozMDgKICMsIGMtZm9ybWF0CkBAIC0xMjY4OSw3ICsxMzA5NCw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN1cHByaW1lciAnJXMnIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE4CisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE5CiBtc2dpZCAiIgogImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC0iCiAicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPGhvc3Q+Ol08ZGlyZWN0b3J5PiAiCkBAIC0xMjcwMiwyMyArMTMxMDcsMjMgQEAKICIgIC0tYWxsIGV0IGxhIHNww6ljaWZpY2F0aW9uIGV4cGxpY2l0ZSBkZSA8csOpZsOpcmVuY2U+IHNvbnQgbXV0dWVsbGVtZW50ICIKICJleGNsdXNpZnMuIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKIG1zZ2lkICJyZW1vdGUgbmFtZSIKIG1zZ3N0ciAibm9tIGRpc3RhbnQiCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcxCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgogbXNnaWQgInVzZSBzdGF0ZWxlc3MgUlBDIHByb3RvY29sIgogbXNnc3RyICJ1dGlsaXNlciB1biBwcm90b2NvbGUgUlBDIHNhbnMgw6l0YXQiCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NwogbXNnaWQgInJlYWQgcmVmcyBmcm9tIHN0ZGluIgogbXNnc3RyICJsaXJlIGxlcyByw6lmw6lyZW5jZXMgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc4CiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG1lc3NhZ2VzIGR1IGdyZWZmb24gZGUgcHJvdG9jb2xlIGRpc3RhbnQiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxMworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0CiBtc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSBbPHBhdGg+Li4uXV0iCiBtc2dzdHIgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPGludGVydmFsbGUtcsOpdmlzaW9ucz5dIFtbLS1dIFs8Y2hlbWluPi4uLl1dIgogCkBAIC0xMjczOCw3ICsxMzE0Myw3IEBACiAKICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTUKIG1zZ2lkICJTaG93IHRoZSBlbWFpbCBhZGRyZXNzIG9mIGVhY2ggYXV0aG9yIgotbXNnc3RyICJBZmZpY2hlciBsJ2FkcmVzc2UgZS1tYWlsIGRlIGNoYXF1ZSBhdXRldXIiCittc2dzdHIgIkFmZmljaGVyIGwnYWRyZXNzZSBjb3VycmllbCBkZSBjaGFxdWUgYXV0ZXVyIgogCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MjU2CiBtc2dpZCAid1ssaTFbLGkyXV0iCkBAIC0xMjc0OCw3ICsxMzE1Myw3IEBACiBtc2dpZCAiTGluZXdyYXAgb3V0cHV0IgogbXNnc3RyICJDb3VwZXIgbGVzIGxpZ25lcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTIKIG1zZ2lkICIiCiAiZ2l0IHNob3ctYnJhbmNoIFstYSB8IC0tYWxsXSBbLXIgfCAtLXJlbW90ZXNdIFstLXRvcG8tb3JkZXIgfCAtLWRhdGUtb3JkZXJdXG4iCiAiXHRcdFstLWN1cnJlbnRdIFstLWNvbG9yWz08d2hlbj5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXVxuIgpAQCAtMTI3NjAsMTI4ICsxMzE2NSwxMjggQEAKICJcdFx0Wy0tbW9yZT08bj4gfCAtLWxpc3QgfCAtLWluZGVwZW5kZW50IHwgLS1tZXJnZS1iYXNlXVxuIgogIlx0XHRbLS1uby1uYW1lIHwgLS1zaGExLW5hbWVdIFstLXRvcGljc10gWyg8csOpdj4gfCA8Z2xvYj4pLi4uXSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjE0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTYKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyw6lmw6lyZW5jZT5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCiBtc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgogbXNnc3RyWzBdICIlcyBpZ25vcsOpOyBpbXBvc3NpYmxlIGRlIGfDqXJlciBwbHVzIGRlICVkIHLDqWbDqXJlbmNlIgogbXNnc3RyWzFdICIlcyBpZ25vcsOpOyBpbXBvc3NpYmxlIGRlIGfDqXJlciBwbHVzIGRlICVkIHLDqWbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCiBtc2dzdHIgImF1Y3VuZSByw6lmw6lyZW5jZSBjb3JyZXNwb25kIMOgICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI2CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZGlzdGFudGVzIGV0IGxlcyBicmFuY2hlcyBsb2NhbGVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI4CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBicmFuY2hlcyBkZSBzdWl2aSBkaXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzAKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICJjb3VsZXVyICcqISstJyBjb3JyZXNwb25kYW50IMOgIGxhIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzIKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAiYWZmaWNoZXIgPG4+IHZhbGlkYXRpb25zIGRlIHBsdXMgYXByw6hzIGwnYW5jw6p0cmUgY29tbXVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM0CiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICJzeW5vbnltZSBkZSBtb3JlPS0xIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM1CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgInN1cHByaW1lciBsZXMgY2hhw65uZXMgZGUgbm9tbWFnZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNwogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJpbmNsdXJlIGxhIGJyYW5jaGUgY291cmFudGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzkKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIm5vbW1lciBsZXMgdmFsaWRhdGlvbnMgYXZlYyBsZXVycyBub21zIGQnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgYmFzZXMgcG9zc2libGVzIGRlIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MwogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgImFmZmljaGVyIGxlcyByw6lmw6lyZW5jZXMgaW5hY2Nlc3NpYmxlcyBkZXB1aXMgdG91dGUgYXV0cmUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgImFmZmljaGVyIGxlcyB2YWxpZGF0aW9ucyBkYW5zIGwnb3JkcmUgdG9wb2xvZ2lxdWUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAiIgogImFmZmljaGVyIHNldWxlbWVudCBsZXMgdmFsaWRhdGlvbnMgcXVpIG5lIHNvbnQgcGFzIHN1ciBsYSBwcmVtacOocmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZ1c2lvbnMgYWNjZXNzaWJsZXMgZGVwdWlzIHVuZSBzZXVsZSBwb2ludGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgInRyaSB0b3BvbG9naXF1ZSwgbWFpbnRlbmFudCBsJ29yZHJlIHBhciBkYXRlIHNpIHBvc3NpYmxlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICI8bj5bLDxiYXNlPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAiIgogImFmZmljaGVyIGxlcyA8bj4gcGx1cyByw6ljZW50cyDDqWzDqW1lbnRzIGRlIHJlZi1sb2cgZW4gY29tbWVuw6dhbnQgw6AgbGEgYmFzZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcwMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY5MAogbXNnaWQgIiIKICItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKIG1zZ3N0ciAiIgogIi0tcmVmbG9nIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kYW50IGV0IC0tbWVyZ2UtIgogImJhc2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTQKIG1zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgogbXNnc3RyICJhdWN1bmUgYnJhbmNoZSBzcMOpY2lmacOpZSwgZXQgSEVBRCBlc3QgaW52YWxpZGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTcKIG1zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXJlZmxvZyByZXF1aWVydCB1biBub20gZGUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnc3RyWzBdICIlZCBlbnRyw6llIHNldWxlbWVudCBuZSBwZXV0IMOqdHJlIG1vbnRyw6llIGVuIG3Dqm1lIHRlbXBzLiIKIG1zZ3N0clsxXSAiJWQgZW50csOpZXMgc2V1bGVtZW50IG5lIHBldXZlbnQgw6p0cmUgbW9udHLDqWUgZW4gbcOqbWUgdGVtcHMuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgogbXNnc3RyICJyw6lmw6lyZW5jZSBpbmV4aXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXZzLiIKIG1zZ3N0clswXSAiaW1wb3NzaWJsZSBkZSBnw6lyZXIgcGx1cyBkZSAlZCByw6l2aXNpb24uIgogbXNnc3RyWzFdICJpbXBvc3NpYmxlIGRlIGfDqXJlciBwbHVzIGRlICVkIHLDqXZpc2lvbnMuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW5lIHLDqWbDqXJlbmNlIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCiBtc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciBsZSBjb21taXQgJXMgKCVzKSIKQEAgLTEyOTM1LDEzMiArMTMzNDAsMTQxIEBACiAiYWZmaWNoZXIgbGVzIHLDqWbDqXJlbmNlcyBkZSBsJ2VudHLDqWUgc3RhbmRhcmQgcXVpIG5lIHNvbnQgcGFzIGRhbnMgbGUgZMOpcMO0dCAiCiAibG9jYWwiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE3CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE5CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzUKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM2CiBtc2dpZCAic2tpcCBhbmQgcmVtb3ZlIGFsbCBsaW5lcyBzdGFydGluZyB3aXRoIGNvbW1lbnQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAic2F1dGVyIGV0IHN1cHByaW1lciB0b3V0ZXMgbGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgbGUgY2FyYWN0w6hyZSBkZSAiCiAiY29tbWVudGFpcmUiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM4CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOQogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAiYWpvdXRlciBkZXZhbnQgY2hhcXVlIGxpZ25lIGxlIGNhcmFjdMOocmUgZGUgY29tbWVudGFpcmUgZXQgdW4gZXNwYWNlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIlLDqWbDqXJlbmNlIGluZXhpc3RhbnRlwqA6ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCiBtc2dzdHIgIk5vbSBkZSByw6lmw6lyZW5jZSBjb21wbGV0IGF0dGVuZHUsICVzIG9idGVudSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN1cHByaW1lciB1biBjb21wb3NhbnQgZGUgbCdVUkwgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzA1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICJhbmNyZSBhbHRlcm5hdGl2ZSBwb3VyIGxlcyBjaGVtaW5zIHJlbGF0aWZzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEwCiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08Y2hlbWluPl0gWzxjaGVtaW4+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMzMyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQ3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzU2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICJVUkwgbm9uIHRyb3V2w6llIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICclcycgZGFucyAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY291bGQgbm90IGxvb2t1cCBjb25maWd1cmF0aW9uICclcycuIEFzc3VtaW5nIHRoaXMgcmVwb3NpdG9yeSBpcyBpdHMgb3duICIKKyJhdXRob3JpdGF0aXZlIHVwc3RyZWFtLiIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgdHJvdXZlciBsYSBjb25maWd1cmF0aW9uICclcycuIENlIGTDqXDDtHQgZXN0IGNvbnNpZMOpcsOpIGNvbW1lICIKKyJzb24gcHJvcHJlIGFtb250IGQnYXV0b3JpdMOpLiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkZSBsJ1VSTCBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIlNvdXMtbW9kdWxlICclcycgKCVzKSBlbnJlZ2lzdHLDqSBwb3VyIGxlIGNoZW1pbiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCiBtc2dzdHIgIiIKICJhdHRlbnRpb27CoDogbm91cyB2b3VzIHN1Z2fDqXJvbnMgZGUgc3DDqWNpZmllciB1bmUgY29tbWFuZGUgZGUgbW9kZSBkZSBtaXNlIMOgICIKICJqb3VyIHBvdXIgbGUgc291cy1tb2R1bGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzk0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogIsOJY2hlYyBkJ2VucmVnaXN0cmVtZW50IGR1IG1vZGUgZGUgbWlzZSDDoCBqb3VyIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICIKICInJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQzCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIlN1cHByaW1lciBsYSBzb3J0aWUgbG9ycyBkZSBsJ2luaXRpYWxpc2F0aW9uIGQndW4gc291cy1tb2R1bGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxjaGVtaW4+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3NgogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIDxub20+IDxjaGVtaW4+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgIiIKICJQYXMgZGUgbWlzZSBlbiBjb3JyZXNwb25kYW5jZSBkdSBzb3VzLW1vZHVsZSB0cm91dsOpIGRhbnMgLmdpdG1vZHVsZXMgcG91ciBsZSAiCiAiY2hlbWluICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKIG1zZ3N0ciAibGUgc291cy1tb2R1bGUgJyVzJyBuZSBwZXV0IHBhcyBham91dGVyIGQnYWx0ZXJuYXRpdmXCoDogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIiIKICJMYSB2YWxldXIgJyVzJyBwb3VyIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IG4nZXN0IHBhcyByZWNvbm51ZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIkxhIHZhbGV1ciAnJXMnIHBvdXIgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIG4nZXN0IHBhcyByZWNvbm51ZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICJlbXBsYWNlbWVudCBvw7kgbGUgc291cy1tb2R1bGUgc2VyYSBjbG9uw6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJub20gZHUgbm91dmVhdSBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgIlVSTCBkZXB1aXMgbGFxdWVsbGUgY2xvbmVyIGxlIHNvdXMtbW9kdWxlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJwcm9mb25kZXVyIGRlIGwnaGlzdG9yaXF1ZSBkZXMgY2xvbmVzIHN1cGVyZmljaWVscyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJmb3JjZXIgbCdhZmZpY2hhZ2UgZGUgbGEgcHJvZ3Jlc3Npb24gZHUgY2xvbmFnZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKQEAgLTEzMDY4LDkzICsxMzQ4Miw4MyBAQAogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PGNoZW1pbj5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxkw6lww7R0Pl0gWy0tbmFtZSA8bm9tPl0gWy0tZGVwdGggPHByb2ZvbmRldXI+XSAgLS11cmwgPHVybD4gLS1wYXRoIDxjaGVtaW4+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiTGUgY2xvbmFnZSBkZSAnJXMnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICclcycgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiBmaWxlICclcyciCi1tc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciAnJXMnIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciBsZSBmaWNoaWVyICVzIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgZGUgc291cy1tb2R1bGUgcG91ciAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgogbXNnc3RyICJMZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyVzJyBuJ2VzdCBwYXMgaW5pdGlhbGlzw6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiVm91cyB2b3VkcmlleiBzw7tyZW1lbnQgdXRpbGlzZXIgJ3VwZGF0ZSAtLWluaXQnwqA/IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiU291cy1tb2R1bGUgbm9uIGZ1c2lvbm7DqSAlcyBub24gdHJhaXTDqSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiU291cy1tb2R1bGUgJyVzJyBub24gdHJhaXTDqSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNsb25lciAnJXMnLiBSw6llc3NhaSBwcsOpdnUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgY2xvbmVyICclcycgcG91ciBsYSBzZWNvbmRlIGZvaXMsIGFiYW5kb24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjIKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiY2hlbWluIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NwogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgogbXNnc3RyICIiCiAiY2hlbWluIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCwgdHJhdmVyc2FudCBsZXMgZnJvbnRpw6hyZXMgZGUgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgxCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAidmFsZXVycyBwb3NzaWJsZXPCoDogcmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Ugbm9uZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4NQogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAiQ3LDqWVyIHVuIGNsb25lIHN1cGVyZmljaWVsIHRyb25xdcOpIGF1IG5vbWJyZSBkZSByw6l2aXNpb25zIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODgKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICJqb2JzIHBhcmFsbMOobGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkwCiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICJzcMOpY2lmaWUgc2kgbGUgY2xvbmFnZSBpbml0aWFsIGRvaXQgw6p0cmUgYXVzc2kgc3VwZXJmaWNpZWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTEKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGEgcHJvZ3Jlc3Npb24gZHUgY2xvbmFnZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxjaGVtaW4+XSBbPGNoZW1pbj4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwOAogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAidmFsZXVyIGludmFsaWRlIHBvdXIgbGEgbWlzZSDDoCBqb3VyIGR1IHBhcmFtw6h0cmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCkBAIC0xMzE2Myw1OSArMTM1NjcsNTQgQEAKICJsYSBicmFuY2hlIGR1IHNvdXMtbW9kdWxlICVzIGVzdCBjb25maWd1csOpZSBwb3VyIGjDqXJpdGVyIGRlIGxhIGJyYW5jaGUgZHUgIgogInN1cGVycHJvamV0LCBtYWlzIGxlIHN1cGVycHJvamV0IG4nZXN0IHN1ciBhdWN1bmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYzCiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInBhcmNvdXJpciByw6ljdXJzaXZlbWVudCBsZXMgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjkKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxjaGVtaW4+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNTcKLW1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdWJjb21tYW5kIgotbXNnc3RyICIiCi0ibGEgc291cy1jb21tYW5kZSBzdWJtb2R1bGUtLWhlbHBlciBkb2l0IMOqdHJlIGFwcGVsw6llIGF2ZWMgdW5lIHNvdXMtY29tbWFuZGUiCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTY0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiCiBtc2dzdHIgIiVzIG5lIGfDqHJlIHBhcyAtLXN1cGVyLXByZWZpeCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKIG1zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW5lIHNvdXMtY29tbWFuZGUgdmFsaWRlIGRlIHN1Ym1vZHVsZS0taGVscGVyIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjcKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gPG5hbWU+IFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gbm9tIFs8csOpZsOpcmVuY2U+XSIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjkKIG1zZ2lkICJnaXQgc3ltYm9saWMtcmVmIC1kIFstcV0gPG5hbWU+IgogbXNnc3RyICJnaXQgc3ltYm9saWMtcmVmIC1kIFstcV0gPG5vbT4iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDAKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKIG1zZ2lkICJzdXBwcmVzcyBlcnJvciBtZXNzYWdlIGZvciBub24tc3ltYm9saWMgKGRldGFjaGVkKSByZWZzIgogbXNnc3RyICIiCiAic3VwcHJpbWVyIGxlIG1lc3NhZ2UgZCdlcnJldXIgcG91ciB1bmUgcsOpZsOpcmVuY2Ugbm9uIHN5bWJvbGlxdWUgKGTDqXRhY2jDqWUpIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQyCiBtc2dpZCAiZGVsZXRlIHN5bWJvbGljIHJlZiIKIG1zZ3N0ciAic3VwcHJpbWVyIGxhIHLDqWbDqXJlbmNlIHN5bWJvbGlxdWUiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgInJhY2NvdXJjaXIgbCdhZmZpY2hhZ2UgZGUgbGEgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQ0IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MwogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAicmFpc29uIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MgorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0NCBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAicmFpc29uIGRlIGxhIG1pc2Ugw6Agam91ciIKIAotIzogYnVpbHRpbi90YWcuYzoyMworIzogYnVpbHRpbi90YWcuYzoyNAogbXNnaWQgIiIKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gIgogIls8aGVhZD5dIgpAQCAtMTMyMjMsMzggKzEzNjIyLDM1IEBACiAiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxpZC1jbMOpPl0gWy1mXSBbLW0gPG1lc3NhZ2U+IHwgLUYgPGZpbGU+XSA8bm9tLSIKICLDqXRpcXVldHRlPiBbPGhlYWQ+XSIKIAotIzogYnVpbHRpbi90YWcuYzoyNAorIzogYnVpbHRpbi90YWcuYzoyNQogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kIDxub23DqXRpcXVldHRlPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNQorIzogYnVpbHRpbi90YWcuYzoyNgogbXNnaWQgIiIKLSJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1wb2ludHMtYXQgPG9iamVjdD5dXG4iCisiZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dIFstLSIKKyJwb2ludHMtYXQgPG9iamVjdD5dXG4iCiAiXHRcdFstLWZvcm1hdD08Zm9ybWF0Pl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXR0ZXJuPi4uLl0iCiBtc2dzdHIgIiIKLSJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1wb2ludHMtYXQgPG9iamV0Pl1cbiIKKyJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgorInBvaW50cy1hdCA8b2JqZXQ+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8bW90aWY+Li4uXSIKIAotIzogYnVpbHRpbi90YWcuYzoyNworIzogYnVpbHRpbi90YWcuYzoyOAogbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8bm9tw6l0aXF1ZXR0ZT4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCi1tc2dzdHIgIm5vbSBkJ8OpdGlxdWV0dGUgdHJvcCBsb25nIDogJS4qcy4uLiIKLQotIzogYnVpbHRpbi90YWcuYzo4NworIzogYnVpbHRpbi90YWcuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICLDqXRpcXVldHRlICclcycgbm9uIHRyb3V2w6llLiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDIKKyM6IGJ1aWx0aW4vdGFnLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiw4l0aXF1ZXR0ZSAnJXMnIHN1cHByaW3DqWUgKGVsbGUgw6l0YWl0IHN1ciAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzEKKyM6IGJ1aWx0aW4vdGFnLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEzMjY3LDcgKzEzNjYzLDcgQEAKICIgICVzXG4iCiAiTGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgaWdub3LDqWVzLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzNQorIzogYnVpbHRpbi90YWcuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTMyODIsMzM4ICsxMzY3OCwzNTkgQEAKICJMZXMgbGlnbmVzIGNvbW1lbsOnYW50IHBhciAnJWMnIHNlcm9udCBnYXJkw6llcyA7IHZvdXMgcG91dmV6IGxlcyByZXRpcmVyIHZvdXMtIgogIm3Dqm1lIHNpIHZvdXMgbGUgc291aGFpdGV6LlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjIxMworIzogYnVpbHRpbi90YWcuYzoyMTEKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNpZ25lciBsJ8OpdGlxdWV0dGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjE1CisjOiBidWlsdGluL3RhZy5jOjIxMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBkJ8OpdGlxdWV0dGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjI0MAorIzogYnVpbHRpbi90YWcuYzoyMzcKIG1zZ2lkICJiYWQgb2JqZWN0IHR5cGUuIgogbXNnc3RyICJtYXV2YWlzIHR5cGUgZCdvYmpldC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjUzCi1tc2dpZCAidGFnIGhlYWRlciB0b28gYmlnLiIKLW1zZ3N0ciAiZW4tdMOqdGUgZCfDqXRpcXVldHRlIHRyb3AgZ3Jvcy4iCi0KLSM6IGJ1aWx0aW4vdGFnLmM6Mjg5CisjOiBidWlsdGluL3RhZy5jOjI4MwogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKIG1zZ3N0ciAicGFzIGRlIG1lc3NhZ2UgcG91ciBsJ8OpdGlxdWV0dGUgPyIKIAotIzogYnVpbHRpbi90YWcuYzoyOTUKKyM6IGJ1aWx0aW4vdGFnLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSB0YWcgbWVzc2FnZSBoYXMgYmVlbiBsZWZ0IGluICVzXG4iCiBtc2dzdHIgIkxlIG1lc3NhZ2UgcG91ciBsJ8OpdGlxdWV0dGUgYSDDqXTDqSBsYWlzc8OpIGRhbnMgJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozNTQKKyM6IGJ1aWx0aW4vdGFnLmM6Mzk4CiBtc2dpZCAibGlzdCB0YWcgbmFtZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub21zIGRlcyDDqXRpcXVldHRlcyIKIAotIzogYnVpbHRpbi90YWcuYzozNTYKKyM6IGJ1aWx0aW4vdGFnLmM6NDAwCiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgImFmZmljaGUgPG4+IGxpZ25lcyBkZSBjaGFxdWUgbWVzc2FnZSBkJ8OpdGlxdWV0dGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU4CisjOiBidWlsdGluL3RhZy5jOjQwMgogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICJzdXBwcmltZXIgZGVzIMOpdGlxdWV0dGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjM1OQorIzogYnVpbHRpbi90YWcuYzo0MDMKIG1zZ2lkICJ2ZXJpZnkgdGFncyIKIG1zZ3N0ciAidsOpcmlmaWVyIGRlcyDDqXRpcXVldHRlcyIKIAotIzogYnVpbHRpbi90YWcuYzozNjEKKyM6IGJ1aWx0aW4vdGFnLmM6NDA1CiBtc2dpZCAiVGFnIGNyZWF0aW9uIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbnMgZGUgY3LDqWF0aW9uIGRlIGwnw6l0aXF1ZXR0ZSIKIAotIzogYnVpbHRpbi90YWcuYzozNjMKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3CiBtc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgogbXNnc3RyICLDqXRpcXVldHRlIGFubm90w6llLCBuw6ljZXNzaXRlIHVuIG1lc3NhZ2UiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzY1CisjOiBidWlsdGluL3RhZy5jOjQwOQogbXNnaWQgInRhZyBtZXNzYWdlIgogbXNnc3RyICJtZXNzYWdlIHBvdXIgbCfDqXRpcXVldHRlIgogCi0jOiBidWlsdGluL3RhZy5jOjM2NworIzogYnVpbHRpbi90YWcuYzo0MTEKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICLDqXRpcXVldHRlIGFubm90w6llIGV0IHNpZ27DqWUgYXZlYyBHUEciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzcxCisjOiBidWlsdGluL3RhZy5jOjQxNQogbXNnaWQgInVzZSBhbm90aGVyIGtleSB0byBzaWduIHRoZSB0YWciCiBtc2dzdHIgInV0aWxpc2VyIHVuZSBhdXRyZSBjbMOpIHBvdXIgc2lnbmVyIGwnw6l0aXF1ZXR0ZSIKIAotIzogYnVpbHRpbi90YWcuYzozNzIKKyM6IGJ1aWx0aW4vdGFnLmM6NDE2CiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAicmVtcGxhY2VyIGwnw6l0aXF1ZXR0ZSBzaSBlbGxlIGV4aXN0ZSIKIAotIzogYnVpbHRpbi90YWcuYzozNzMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY4CisjOiBidWlsdGluL3RhZy5jOjQxNyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKIG1zZ2lkICJjcmVhdGUgYSByZWZsb2ciCiBtc2dzdHIgImNyw6llciB1biByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc1CisjOiBidWlsdGluL3RhZy5jOjQxOQogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbnMgZCdhZmZpY2hhZ2UgZGVzIMOpdGlxdWV0dGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NgorIzogYnVpbHRpbi90YWcuYzo0MjAKIG1zZ2lkICJzaG93IHRhZyBsaXN0IGluIGNvbHVtbnMiCiBtc2dzdHIgImFmZmljaGVyIGxhIGxpc3RlIGRlcyDDqXRpcXVldHRlcyBzb3VzIGZvcm1lIGRlIGNvbG9ubmVzIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NyBidWlsdGluL3RhZy5jOjM3OAorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgw6l0aXF1ZXR0ZXMgcXVpIGNvbnRpZW5uZW50IGxhIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc5CisjOiBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3RhZy5jOjQyNAorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyDDqXRpcXVldHRlcyBxdWkgbmUgY29udGllbm5lbnQgcGFzIGxhIHZhbGlkYXRpb24iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDI1CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyDDqXRpcXVldHRlcyBxdWkgc29udCBmdXNpb25uw6llcyIKIAotIzogYnVpbHRpbi90YWcuYzozODAKKyM6IGJ1aWx0aW4vdGFnLmM6NDI2CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgw6l0aXF1ZXR0ZXMgcXVpIG5lIHNvbnQgcGFzIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL3RhZy5jOjM4NQorIzogYnVpbHRpbi90YWcuYzo0MzEKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyDDqXRpcXVldHRlcyBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL3RhZy5jOjQxNQorIzogYnVpbHRpbi90YWcuYzo0NzAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gZXQgLW4gc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjQzNwotbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgImwnb3B0aW9uIC1uIGVzdCBhdXRvcmlzw6llIHNldWxlbWVudCBhdmVjIC1sLiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDkyCittc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgImwnb3B0aW9uIC1uIGVzdCBhdXRvcmlzw6llIHNldWxlbWVudCBlbiBtb2RlIGRlIGxpc3RlIgogCi0jOiBidWlsdGluL3RhZy5jOjQzOQotbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAibCdvcHRpb24gLS1jb250YWlucyBlc3QgYXV0b3Jpc8OpZSBzZXVsZW1lbnQgYXZlYyAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5NAorbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgImwnb3B0aW9uIC0tY29udGFpbnMgZXN0IGF1dG9yaXPDqWUgc2V1bGVtZW50IGVuIG1vZGUgZGUgbGlzdGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDQxCi1tc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAibCdvcHRpb24gLS1wb2ludHMtYXQgZXN0IGF1dG9yaXPDqWUgc2V1bGVtZW50IGF2ZWMgLWwuIgorIzogYnVpbHRpbi90YWcuYzo0OTYKK21zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJsJ29wdGlvbiAtLWNvbnRhaW5zIGVzdCBhdXRvcmlzw6llIHNldWxlbWVudCBlbiBtb2RlIGxpc3RlIgogCi0jOiBidWlsdGluL3RhZy5jOjQ0MwotbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb24gYXJlIG9ubHkgYWxsb3dlZCB3aXRoIC1sIgotbXNnc3RyICJsZXMgb3B0aW9ucyAtLW1lcmdlZCBldCAtLW5vLW1lcmdlZCBuZSBzb250IGF1dG9yaXPDqWVzIHF1J2F2ZWMgLWwiCisjOiBidWlsdGluL3RhZy5jOjQ5OAorbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJsJ29wdGlvbiAtLXBvaW50cy1hdCBlc3QgYXV0b3Jpc8OpZSBzZXVsZW1lbnQgZW4gbW9kZSBsaXN0ZSIKIAotIzogYnVpbHRpbi90YWcuYzo0NTQKKyM6IGJ1aWx0aW4vdGFnLmM6NTAwCittc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIiIKKyJsZXMgb3B0aW9ucyAtLW1lcmdlZCBldCAtLW5vLW1lcmdlZCBuZSBzb250IGF1dG9yaXPDqWVzIHF1J2VuIG1vZGUgbGlzdGUiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTExCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICJ1bmUgc2V1bGUgb3B0aW9uIC1GIG91IC1tIGVzdCBhdXRvcmlzw6llLiIKIAotIzogYnVpbHRpbi90YWcuYzo0NzMKKyM6IGJ1aWx0aW4vdGFnLmM6NTMwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICJ0cm9wIGRlIHBhcmFtw6h0cmVzIgogCi0jOiBidWlsdGluL3RhZy5jOjQ3OQorIzogYnVpbHRpbi90YWcuYzo1MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIiclcycgbidlc3QgcGFzIHVuIG5vbSBkJ8OpdGlxdWV0dGUgdmFsaWRlLiIKIAotIzogYnVpbHRpbi90YWcuYzo0ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJsJ8OpdGlxdWV0dGUgJyVzJyBleGlzdGUgZMOpasOgIgogCi0jOiBidWlsdGluL3RhZy5jOjUxMgorIzogYnVpbHRpbi90YWcuYzo1NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLDiXRpcXVldHRlICclcycgbWlzZSDDoCBqb3VyIChlbGxlIMOpdGFpdCBzdXIgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTMKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTQKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiRMOpcGFxdWV0YWdlIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjcsOpYXRpb24gZHUgcsOpcGVydG9pcmUgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIsOpY2hlYyBkdSBzdGF0IGRlICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZmlsZSAlcyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGNyw6lhdGlvbiBkdSBmaWNoaWVyICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgc3VwcHJlc3Npb24gZHUgZmljaGllciAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTAgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgc3VwcHJlc3Npb24gZHUgcsOpcGVydG9pcmUgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICJUZXN0IGR1IG10aW1lIGRhbnMgJyVzJyAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICIiCiAibCdpbmZvcm1hdGlvbiBkZSBzdGF0IGR1IHLDqXBlcnRvaXJlIG5lIGNoYW5nZSBwYXMgYXByw6hzIGFqb3V0IGQndW4gZmljaGllciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTYzCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogImwnaW5mb3JtYXRpb24gZGUgc3RhdCBkdSByw6lwZXJ0b2lyZSBuZSBjaGFuZ2UgcGFzIGFwcsOocyBham91dCBkJ3VuIHLDqXBlcnRvaXJlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzYKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgogbXNnc3RyICIiCiAibCdpbmZvcm1hdGlvbiBkZSBzdGF0IGR1IHLDqXBlcnRvaXJlIGNoYW5nZSBhcHLDqHMgbWlzZSDDoCBqb3VyIGQndW4gZmljaGllciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg3CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogImwnaW5mb3JtYXRpb24gZGUgc3RhdCBkdSByw6lwZXJ0b2lyZSBjaGFuZ2UgYXByw6hzIGwnYWpvdXQgZCd1biBmaWNoaWVyIGRhbnMgIgogInVuIHNvdXMtcsOpcGVydG9pcmUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTkzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5OAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZmlsZSIKIG1zZ3N0ciAiIgogImwnaW5mb3JtYXRpb24gZGUgc3RhdCBkdSByw6lwZXJ0b2lyZSBuZSBjaGFuZ2UgcGFzIGFwcsOocyBsYSBzdXBwcmVzc2lvbiBkJ3VuICIKICJmaWNoaWVyPCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjExCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJsJ2luZm9ybWF0aW9uIGRlIHN0YXQgZHUgcsOpcGVydG9pcmUgbmUgY2hhbmdlIHBhcyBhcHLDqHMgbGEgc3VwcHJlc3Npb24gZCd1biAiCiAicsOpcGVydG9pcmUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxOAogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIE9LIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjkKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpY2hpZXI+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI0CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICJjb250aW51ZXIgZGUgcmFmcmHDrmNoaXIgbcOqbWUgc2kgbCdpbmRleCBhIGJlc29pbiBkJ3VuZSBtaXNlIMOgIGpvdXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICJyYWZyYcOuY2hpciA6IGlnbm9yZXIgbGVzIHNvdXMtbW9kdWxlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgIm5lIHBhcyBpZ25vcmVyIGxlcyBub3V2ZWF1eCBmaWNoaWVycyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMyCiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgImxhaXNzZXIgbGVzIGZpY2hpZXJzIHJlbXBsYWNlciBkZXMgcsOpcGVydG9pcmVzIGV0IHZpY2UtdmVyc2EiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImF2aXNlciBkZXMgZmljaGllcnMgbWFucXVhbnRzIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgInJhZnJhw65jaGlyIG3Dqm1lIHNpIGwnaW5kZXggY29udGllbnQgZGVzIMOpbMOpbWVudHMgbm9uIGZ1c2lvbm7DqXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAicmFmcmHDrmNoaXIgbCdpbmZvcm1hdGlvbiBkZSBzdGF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDMKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgImNvbW1lIC0tcmVmcmVzaCwgbWFpcyBlbiBpZ25vcmFudCBsJ29wdGlvbiBhc3N1bWUtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8bW9kZT4sIDxvYmpldD4sIDxjaGVtaW4+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFqb3V0ZXIgbCfDqWzDqW1lbnQgc3DDqWNpZmnDqSBkYW5zIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAibWFycXVlciBsZXMgZmljaGllcnMgY29tbWUgXCJub24gY2hhbmdlYW50c1wiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjAKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgIm1ldHRyZSDDoCB6w6lybyBsZSBiaXQgc3VwcG9zw6ktbm9uLW1vZGlmacOpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjMKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICJtYXJxdWVyIGxlcyBmaWNoaWVycyBjb21tZSBcImluZGV4IHNldWxlbWVudFwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAibWV0dHJlIMOgIHrDqXJvIGxlIGJpdCBzYXV0ZXItbGEtY29waWUtZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKICJham91dGVyIHNldWxlbWVudCDDoCBsJ2luZGV4IDsgbmUgcGFzIGFqb3V0ZXIgbGUgY29udGVudSBkYW5zIGxhIGJhc2UgZGUgIgogImRvbm7DqWVzIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKICJzdXBwcmltZXIgbGVzIGNoZW1pbnMgbm9tbcOpcyBtw6ptZSBzJ2lscyBzb250IHByw6lzZW50cyBkYW5zIGxhIGNvcGllIGRlICIKICJ0cmF2YWlsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgImF2ZWMgLS1zdGRpbiA6IGxlcyBsaWduZXMgZW4gZW50csOpZSBzb250IHRlcm1pbsOpZXMgcGFyIGRlcyBvY3RldHMgbnVscyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGlyZSBsYSBsaXN0ZSBkZXMgY2hlbWlucyDDoCBtZXR0cmUgw6Agam91ciBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWpvdXRlciBsZXMgw6lsw6ltZW50cyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIMOgIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MwogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAicmVwZXVwbGVyIGxlcyDDqXRhcGVzIG7CsDIgZXQgbsKwMyBwb3VyIGxlcyBjaGVtaW5zIGxpc3TDqXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NwogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICJtZXR0cmUgw6Agam91ciBzZXVsZW1lbnQgbGVzIMOpbMOpbWVudHMgcXVpIGRpZmbDqHJlbnQgZGUgSEVBRCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiaWdub3JlciBsZXMgZmljaGllcnMgbWFucXVhbnRzIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk0CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgYWN0aW9ucyBzdXIgbGEgc29ydGllIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTYKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiKHBvdXIgcG9yY2VsYWluZXMpIG91YmxpZXIgbGVzIGNvbmZsaXRzIHNhdXbDqXMgZXQgbm9uIHLDqXNvbHVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgIsOpY3JpcmUgbCdpbmRleCBkYW5zIGNlIGZvcm1hdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMgogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJhY3RpdmVyIG91IGTDqXNhY3RpdmVyIGwnaW5kZXggZGl2aXPDqSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAiYWN0aXZlciBvdSBkw6lzYWN0aXZlciBsZSBjYWNoZSBkZSBub24tc3VpdmlzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJ0ZXN0ZXIgc2kgbGUgc3lzdMOobWUgZGUgZmljaGllciBzdXBwb3J0ZSBsZSBjYWNoZSBkZSBub24tc3VpdmlzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICJhY3RpdmVyIGxlIGNhY2hlIGRlIG5vbi1zdWl2aXMgc2FucyB0ZXN0ZXIgbGUgc3lzdMOobWUgZGUgZmljaGllciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMDgKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJlbmFibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKyJjb3JlLnNwbGl0SW5kZXggZXN0IHLDqWdsw6kgw6AgZmFsc2XCoDsgc3VwcHJpbWV6LWxlIG91IGNoYW5nZXotbGUgc2kgdm91cyAiCisic291aGFpdGV6IHZyYWltZW50IGFjdGl2ZXIgbCdpbmRleCBjb3Vww6kiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExNworbXNnaWQgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZGlzYWJsZSBzcGxpdCBpbmRleCIKK21zZ3N0ciAiIgorImNvcmUuc3BsaXRJbmRleCBlc3QgcsOpZ2zDqSDDoCB2cmFpwqA7IHN1cHByaW1lei1sZSBvdSBjaGFuZ2V6LWxlIHNpIHZvdXMgIgorInNvdWhhaXRleiB2cmFpbWVudCBkw6lzYWN0aXZlciBsJ2luZGV4IGNvdXDDqSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTI4CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTM2MjEsMTEgKzE0MDM4LDExIEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSBlc3QgcsOpZ2zDqSDDoCB0cnVlwqA7IHN1cHByaW1lei1sZSBvdSBjaGFuZ2V6LWxlIHNpIHZvdXMgIgogInNvdWhhaXRleiB2cmFpbWVudCBkw6lzYWN0aXZlciBsZSBjYWNoZSBkZXMgZmljaGllcnMgbm9uLXN1aXZpcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzIKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCiBtc2dzdHIgIkxlIGNhY2hlIG5vbiBzdWl2aSBlc3QgZMOpc2FjdGl2w6kiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQwCiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTM2MzMsMTM4ICsxNDA1MCwxMzggQEAKICJjb3JlLnVudHJhY2tlZENhY2hlIGVzdCByw6lnbMOpIMOgIGZhbHNlwqA7IHN1cHByaW1lei1sZSBvdSBjaGFuZ2V6LWxlIHNpIHZvdXMgIgogInNvdWhhaXRleiB2cmFpbWVudCBhY3RpdmVyIGxlIGNhY2hlIGRlcyBmaWNoaWVycyBub24tc3VpdmlzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAiTGUgY2FjaGUgbm9uIHN1aXZpIGVzdCBhY3RpdsOpIHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAtZCA8cmVmbmFtZT4gWzxvbGQtdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dIC1kIDxub20tcsOpZsOpcmVuY2U+IFs8YW5jaWVubmUtdmFsZXVyPl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMQogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dICAgIDxyZWZuYW1lPiA8bmV3LXZhbD4gWzxvbGQtdmFsPl0iCiBtc2dzdHIgIiIKICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAgICA8bm9tLXLDqWbDqXJlbmNlPiA8bm91dmVsbGUtdmFsZXVyPiBbPGFuY2llbm5lLSIKICJ2YWxldXI+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAtLXN0ZGluIFstel0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY0CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCiBtc2dzdHIgInN1cHByaW1lciBsYSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY1CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAibWV0dHJlIMOgIGpvdXIgPG5vbXLDqWbDqXJlbmNlPiBldCBub24gbGEgcsOpZsOpcmVuY2UgcG9pbnTDqWUgcGFyIGx1aSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY2CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjcKIG1zZ2lkICJzdGRpbiBoYXMgTlVMLXRlcm1pbmF0ZWQgYXJndW1lbnRzIgogbXNnc3RyICJsJ2VudHLDqWUgc3RhbmRhcmQgYSBkZXMgYXJndW1lbnRzIHF1aSBzZSB0ZXJtaW5lbnQgcGFyIE5VTCIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY3CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKIG1zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGlyZSBsZXMgbWlzZXMgw6Agam91ciBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NwogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogbXNnc3RyICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIAotIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzoxNAorIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzoxNQogbXNnaWQgInVwZGF0ZSB0aGUgaW5mbyBmaWxlcyBmcm9tIHNjcmF0Y2giCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBkJ2luZm9ybWF0aW9uIMOgIHBhcnRpciBkZSB6w6lybyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTcKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE4CiBtc2dpZCAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8Y29tbWl0Pi4uLiIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzIKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjczCiBtc2dpZCAicHJpbnQgY29tbWl0IGNvbnRlbnRzIgogbXNnc3RyICJhZmZpY2hlciBsZSBjb250ZW51IGR1IGNvbW1pdCIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgbWVzc2FnZXMgYnJ1dHMgZGUgZ3BnIgogCi0jOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NTQKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NQogbXNnaWQgImdpdCB2ZXJpZnktcGFjayBbLXYgfCAtLXZlcmJvc2VdIFstcyB8IC0tc3RhdC1vbmx5XSA8cGFjaz4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktcGFjayBbLXYgfCAtLXZlcmJvc2VdIFstcyB8IC0tc3RhdC1vbmx5XSA8cGFjaz4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY1CiBtc2dpZCAidmVyYm9zZSIKIG1zZ3N0ciAidmVyYmV1eCIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY2CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjcKIG1zZ2lkICJzaG93IHN0YXRpc3RpY3Mgb25seSIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBzdGF0aXN0aXF1ZXMiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE4CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOQogbXNnaWQgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDzDqXRpcXVldHRlPi4uLiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgdGFnIGNvbnRlbnRzIgogbXNnc3RyICJhZmZpY2hlciBsZSBjb250ZW51IGRlIGwnw6l0aXF1ZXR0ZSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKIG1zZ2lkICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxwYXRoPiBbPGJyYW5jaD5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxjaGVtaW4+IFs8YnJhbmNoZT5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNwogbXNnaWQgImdpdCB3b3JrdHJlZSBsaXN0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPG9wdGlvbnM+XSA8Y2hlbWluPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKIG1zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjAKIG1zZ2lkICJnaXQgd29ya3RyZWUgdW5sb2NrIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHVubG9jayA8Y2hlbWluPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBub3QgYSB2YWxpZCBkaXJlY3RvcnkiCiBtc2dzdHIgIlN1cHByZXNzaW9uIGRlIHdvcmt0cmVlcy8lc8KgOiByw6lwZXJ0b2lyZSBpbnZhbGlkZSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgd29ya3RyZWVzLyVzwqA6IGxlIGZpY2hpZXIgZ2l0ZGlyIG4nZXhpc3RlIHBhcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiB1bmFibGUgdG8gcmVhZCBnaXRkaXIgZmlsZSAoJXMpIgogbXNnc3RyICIiCiAiU3VwcHJlc3Npb24gZGUgd29ya3RyZWVzLyVzwqA6IGVjaGVjIGRlIGxhIGxlY3R1cmUgZHUgZmljaGllciBnaXRkaXIgKCVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBpbnZhbGlkIGdpdGRpciBmaWxlIgogbXNnc3RyICJTdXBwcmVzc2lvbiBkZSB3b3JrdHJlZXMvJXPCoDogZmljaGllciBnaXRkaXIgaW52YWxpZGUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgcG9pbnRzIHRvIG5vbi1leGlzdGVudCBsb2NhdGlvbiIKIG1zZ3N0ciAiIgogIlN1cHByZXNzaW9uIGRlIHdvcmt0cmVlcy8lc8KgOiBsZSBmaWNoaWVyIGdpdGRpciBwb2ludCBzdXIgdW4gZW5kcm9pdCAiCiAiaW5leGlzdGFudCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyOQogbXNnaWQgInJlcG9ydCBwcnVuZWQgd29ya2luZyB0cmVlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGFyYnJlcyBkZSB0cmF2YWlsIMOpbGltaW7DqXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzEKIG1zZ2lkICJleHBpcmUgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiZmFpcmUgZXhwaXJlciBsZXMgYXJicmVzIGRlIHRyYXZhaWwgcGx1cyB2aWV1eCBxdWUgPHRlbXBzPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICInJXMnIGV4aXN0ZSBkw6lqw6AiCkBAIC0xMzc3NCwxMDEgKzE0MTkxLDEwNSBAQAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKIG1zZ3N0ciAiUHLDqXBhcmF0aW9uIGRlICVzIChpZGVudGlmaWFudCAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJleHRyYWlyZSBsYSA8YnJhbmNoZT4gbcOqbWUgc2kgZWxsZSBlc3QgZMOpasOgIGV4dHJhaXRlIGRhbnMgdW5lIGF1dHJlIGNvcGllIGRlICIKICJ0cmF2YWlsIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiY3LDqWVyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMxCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJjcsOpZXIgb3UgcsOpaW5pdGlhbGlzZXIgdW5lIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzMKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAicmVtcGxpc3NhZ2UgZGUgbGEgbm91dmVsbGUgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzNAorbXNnaWQgImtlZXAgdGhlIG5ldyB3b3JraW5nIHRyZWUgbG9ja2VkIgorbXNnc3RyICJjb25zZXJ2ZXIgbGUgdmVycm91IHN1ciBsZSBub3V2ZWwgYXJicmUgZGUgdHJhdmFpbCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjM0MgogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBldCAtLWRldGFjaCBzb250IG11dHVlbGxlbWVudCBleGNsdXNpZnMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzkKIG1zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCi1tc2dzdHIgInJhaXNvbiBkdSB2w6lyb3VpbGxhZ2UiCittc2dzdHIgInJhaXNvbiBkdSB2ZXJyb3VpbGxhZ2UiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MSBidWlsdGluL3dvcmt0cmVlLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1bmUgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NiBidWlsdGluL3dvcmt0cmVlLmM6NTE5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzIGJ1aWx0aW4vd29ya3RyZWUuYzo1MjYKIG1zZ2lkICJUaGUgbWFpbiB3b3JraW5nIHRyZWUgY2Fubm90IGJlIGxvY2tlZCBvciB1bmxvY2tlZCIKIG1zZ3N0ciAiIgotIkxhIGNvcGllIGRlIHRyYXZhaWwgcHJpbmNpcGFsZSBuZSBwZXV0IHBhcyDDqnRyZSB2w6lyb3VpbGzDqWUgb3UgZMOpdsOpcm91aWxsw6llIgorIkxhIGNvcGllIGRlIHRyYXZhaWwgcHJpbmNpcGFsZSBuZSBwZXV0IHBhcyDDqnRyZSB2ZXJyb3VpbGzDqWUgb3UgZMOpdmVycm91aWxsw6llIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCiBtc2dzdHIgIiclcycgZXN0IGTDqWrDoCB2ZXJyb3VpbGzDqSwgY2FyICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKIG1zZ3N0ciAiJyVzJyBlc3QgZMOpasOgIHZlcnJvdWlsbMOpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTIxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKIG1zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdmVycm91aWxsw6kiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNAogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByw6lmaXhlPi9dIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNgorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjcKIG1zZ2lkICI8cHJlZml4Pi8iCiBtc2dzdHIgIjxwcsOpZml4ZT4vIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKIG1zZ2lkICJ3cml0ZSB0cmVlIG9iamVjdCBmb3IgYSBzdWJkaXJlY3RvcnkgPHByZWZpeD4iCiBtc2dzdHIgIsOpY3JpcmUgbCdvYmpldCBhcmJyZSBwb3VyIHVuIHNvdXMtcsOpcGVydG9pcmUgPHByw6lmaXhlPiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzAKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMxCiBtc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKIG1zZ3N0ciAic2V1bGVtZW50IHV0aWxlIHBvdXIgbGUgZMOpYm9nYWdlIgogCi0jOiB1cGxvYWQtcGFjay5jOjIyCisjOiB1cGxvYWQtcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPHLDqXBlcnRvaXJlPiIKIAotIzogdXBsb2FkLXBhY2suYzoxMDM2CisjOiB1cGxvYWQtcGFjay5jOjEwNDEKIG1zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCiBtc2dzdHIgInF1aXR0ZXIgYXByw6hzIHVuIHVuaXF1ZSDDqWNoYW5nZSByZXF1w6p0ZS9yw6lwb25zZSIKIAotIzogdXBsb2FkLXBhY2suYzoxMDM4CisjOiB1cGxvYWQtcGFjay5jOjEwNDMKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCiBtc2dzdHIgIlNvcnRpciBpbW3DqWRpYXRlbWVudCBhcHLDqHMgbCdhbm5vbmNlIGluaXRpYWxlIGRlcyByw6lmw6lyZW5jZXMiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTA0MAorIzogdXBsb2FkLXBhY2suYzoxMDQ1CiBtc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibmVzIHBhcyBlc3NheWVyIDxyw6lwZXJ0b2lyZT4vLmdpdC8gc2kgPHLDqXBlcnRvaXJlPiBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUgIgogIkdpdCIKIAotIzogdXBsb2FkLXBhY2suYzoxMDQyCisjOiB1cGxvYWQtcGFjay5jOjEwNDcKIG1zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKLW1zZ3N0ciAiaW50ZXJyb21wcmUgbGUgdHJhbnNmZXIgYXByw6hzIDxuPiBzZWNvbmRlcyBkJ2luYWN0aXZpdMOpIgorbXNnc3RyICJpbnRlcnJvbXByZSBsZSB0cmFuc2ZlcnQgYXByw6hzIDxuPiBzZWNvbmRlcyBkJ2luYWN0aXZpdMOpIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjMKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgpAQCAtMTM4ODEsMTEgKzE0MzAyLDExIEBACiAiXG4iCiAiICAgIGNobW9kIDA3MDAgJXMiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQorIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG1lc3NhZ2VzIGRlIGRlYnVnIHN1ciBzdGRlcnIiCiAKLSM6IGdpdC5jOjE0CisjOiBnaXQuYzoxNQogbXNnaWQgIiIKICInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCiAiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgpAQCAtMTM4OTUsMTUgKzE0MzE2LDIxIEBACiAicXVlbHF1ZXMgY29uY2VwdHMuIFZvaXIgJ2dpdCBoZWxwIDxjb21tYW5kZT4nIG91ICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCiAicG91ciBlbiBsaXJlIHBsdXMgw6AgcHJvcG9zIGQndW5lIGNvbW1hbmRlIHNww6ljaWZpcXVlIG91IGQndW4gY29uY2VwdC4iCiAKLSM6IGh0dHAuYzozNDQKKyM6IGh0dHAuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVnYXRpdmUgdmFsdWUgZm9yIGh0dHAucG9zdGJ1ZmZlcjsgZGVmYXVsdGluZyB0byAlZCIKK21zZ3N0ciAiIgorInZhbGV1ciBuw6lnYXRpdmUgcG91ciBodHRwLnBvc3RidWZmZXIgOyB1dGlsaXNhdGlvbiBkZSBsYSB2YWxldXIgcGFyIGTDqWZhdXQgJWQiCisKKyM6IGh0dHAuYzozNTgKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIkxhIGTDqWzDqWdhdGlvbiBkZSBjb21tYW5kZSBuJ2VzdCBwYXMgc3VwcG9ydMOpIGF2ZWMgY3VSTCA8IDcuMjIuMCIKIAotIzogaHR0cC5jOjM1MworIzogaHR0cC5jOjM2NwogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiTCfDqXBpbmdsYWdlIGRlIGNsw6kgcHVibGlxdWUgbidlc3QgcGFzIHN1cHBvcnTDqSBhdmVjIGN1UkwgPCA3LjQ0LjAiCiAKLSM6IGh0dHAuYzoxNzEzCisjOiBodHRwLmM6MTc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgpAQCAtMTM5MTQsNyArMTQzNDEsNyBAQAogIiAgICAgIGRlbWFuZMOpwqA6ICVzXG4iCiAiICByZWRpcmVjdGlvbsKgOiAlcyIKIAotIzogcmVtb3RlLWN1cmwuYzozMTkKKyM6IHJlbW90ZS1jdXJsLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZGlyZWN0aW5nIHRvICVzIgogbXNnc3RyICJyZWRpcmVjdGlvbiB2ZXJzICVzIgpAQCAtMTQwMjAsNyArMTQ0NDcsNyBAQAogCiAjOiBjb21tb24tY21kcy5oOjM2CiBtc2dpZCAiU2hvdyB0aGUgd29ya2luZyB0cmVlIHN0YXR1cyIKLW1zZ3N0ciAiQWZmaWNoZXIgbGUgc3RhdHV0IGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCittc2dzdHIgIkFmZmljaGVyIGwnw6l0YXQgZGUgbGEgY29waWUgZGUgdHJhdmFpbCIKIAogIzogY29tbW9uLWNtZHMuaDozNwogbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgpAQCAtMTQyOTYsNyArMTQ3MjMsNyBAQAogbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgogbXNnc3RyICJMYSBmdXNpb24gc2ltcGxlIGEgw6ljaG91w6ksIGVzc2FpIGF2ZWMgbGEgZnVzaW9uIGF1dG9tYXRpcXVlLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NworIzogZ2l0LXJlYmFzZS5zaDo1OAogbXNnaWQgIiIKICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTE0MzA4LDM5ICsxNDczNSw0MyBAQAogIlBvdXIgZXh0cmFpcmUgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSByZWJhc2FnZSwgbGFuY2V6IFwiZ2l0ICIKICJyZWJhc2UgLS1hYm9ydFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNTcgZ2l0LXJlYmFzZS5zaDozOTYKKyM6IGdpdC1yZWJhc2Uuc2g6MTU4IGdpdC1yZWJhc2Uuc2g6Mzk3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmV2ZW5pciDDoCAkaGVhZF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MQorIzogZ2l0LXJlYmFzZS5zaDoxNjkKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCittc2dzdHIgIkF1dG9yZW1pc2FnZSBhcHBsaXF1w6kuIgorCisjOiBnaXQtcmViYXNlLnNoOjE3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN0b2NrZXIgJHN0YXNoX3NoYTEiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjExCisjOiBnaXQtcmViYXNlLnNoOjIxMgogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICJMZSBjcm9jaGV0IHByZS1yZWJhc2UgYSByZWZ1c8OpIGRlIHJlYmFzZXIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxNgorIzogZ2l0LXJlYmFzZS5zaDoyMTcKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIklsIHNlbWJsZSBxdWUgZ2l0LWFtIHNvaXQgZW4gY291cnMuIEltcG9zc2libGUgZGUgcmViYXNlci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU3CisjOiBnaXQtcmViYXNlLnNoOjM1OAogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIlBhcyBkZSByZWJhc2FnZSBlbiBjb3VycyA/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjkKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJMJ2FjdGlvbiAtLWVkaXQtdG9kbyBwZXV0IHNldWxlbWVudCDDqnRyZSB1dGlsaXPDqWUgbG9ycyBkJ3VuIHJlYmFzYWdlICIKICJpbnRlcmFjdGlmLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzUKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc2CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIEhFQUQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc4CisjOiBnaXQtcmViYXNlLnNoOjM3OQogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTE0MzQ4LDcgKzE0Nzc5LDcgQEAKICJWb3VzIGRldmV6IMOpZGl0ZXIgdG91cyBsZXMgY29uZmxpdHMgZGUgZnVzaW9uIGV0XG4iCiAibGVzIG1hcnF1ZXIgY29tbWUgcsOpc29sdXMgYXZlYyBnaXQgYWRkIgogCi0jOiBnaXQtcmViYXNlLnNoOjQxOAorIzogZ2l0LXJlYmFzZS5zaDo0MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTE0MzcwLDEwMiArMTQ4MDEsMTAyIEBACiAiY2hvc2VcbiIKICJkJ2ltcG9ydGFudCBpY2kuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2OQorIzogZ2l0LXJlYmFzZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgImludmFsaWRlICR1cHN0cmVhbV9uYW1lIGVuIGFtb250IgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MworIzogZ2l0LXJlYmFzZS5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lIDogaWwgeSBhIHBsdXMgZCd1bmUgYmFzZSBkZSBmdXNpb24iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2IGdpdC1yZWJhc2Uuc2g6NTAwCisjOiBnaXQtcmViYXNlLnNoOjQ5NyBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZSA6IGlsIG4neSBhIHBhcyBkZSBiYXNlIGRlIGZ1c2lvbiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MDUKKyM6IGdpdC1yZWJhc2Uuc2g6NTA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAiTmUgcG9pbnRlIHBhcyBzdXIgdW5lIHZhbGlkYXRpb24gdmFsaWRlIDogJG9udG9fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjgKKyM6IGdpdC1yZWJhc2Uuc2g6NTI5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAiZmF0YWwgOiBwYXMgZGUgYnJhbmNoZSA6ICRicmFuY2hfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NTYyCiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiQXV0b3JlbWlzYWdlIGltcG9zc2libGUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTY2CisjOiBnaXQtcmViYXNlLnNoOjU2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIkF1dG9yZW1pc2FnZSBjcsOpw6kgOiAkc3Rhc2hfYWJicmV2IgogCi0jOiBnaXQtcmViYXNlLnNoOjU3MAorIzogZ2l0LXJlYmFzZS5zaDo1NzEKIG1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICJWZXVpbGxleiBsZXMgdmFsaWRlciBvdSBsZXMgcmVtaXNlci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTkwCisjOiBnaXQtcmViYXNlLnNoOjU5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgogbXNnc3RyICJMYSBicmFuY2hlIGNvdXJhbnRlICRicmFuY2hfbmFtZSBlc3Qgw6Agam91ci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTk0CisjOiBnaXQtcmViYXNlLnNoOjU5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICJMYSBicmFuY2hlIGNvdXJhbnRlICRicmFuY2hfbmFtZSBlc3Qgw6Agam91ciwgcmViYXNhZ2UgZm9yY8OpLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MDUKKyM6IGdpdC1yZWJhc2Uuc2g6NjA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAiQ2hhbmdlbWVudHMgZGUgJG1iIHN1ciAkb250byA6IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxNAorIzogZ2l0LXJlYmFzZS5zaDo2MTUKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICJQcmVtacOocmVtZW50LCByZW1ib2Jpbm9ucyBoZWFkIHBvdXIgcmVqb3VlciB2b3RyZSB0cmF2YWlsIHBhci1kZXNzdXMuLi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjI0CisjOiBnaXQtcmViYXNlLnNoOjYyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgogbXNnc3RyICIkYnJhbmNoX25hbWUgbWlzZSDDoCBqb3VyIGVuIGF2YW5jZSByYXBpZGUgc3VyICRvbnRvX25hbWUuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAKKyM6IGdpdC1zdGFzaC5zaDo1NAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIGF2ZWMgZGVzIHBhcmFtw6h0cmVzIG4nZXN0IHBhcyBpbXBsw6ltZW50w6kiCiAKLSM6IGdpdC1zdGFzaC5zaDo3MworIzogZ2l0LXN0YXNoLnNoOjk1CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCiBtc2dzdHIgIlZvdXMgbidhdmV6IHBhcyBlbmNvcmUgbGEgdmFsaWRhdGlvbiBpbml0aWFsZSIKIAotIzogZ2l0LXN0YXNoLnNoOjg4CisjOiBnaXQtc3Rhc2guc2g6MTEwCiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVyIGwnw6l0YXQgY291cmFudCBkZSBsJ2luZGV4IgogCi0jOiBnaXQtc3Rhc2guc2g6MTAzCisjOiBnaXQtc3Rhc2guc2g6MTI1CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMiCiAKLSM6IGdpdC1zdGFzaC5zaDoxMjMgZ2l0LXN0YXNoLnNoOjEzNgorIzogZ2l0LXN0YXNoLnNoOjE0NSBnaXQtc3Rhc2guc2g6MTU4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVyIGwnw6l0YXQgY291cmFudCBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQwCisjOiBnaXQtc3Rhc2guc2g6MTYyCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAiQXVjdW4gY2hhbmdlbWVudCBzw6lsZWN0aW9ubsOpIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQzCisjOiBnaXQtc3Rhc2guc2g6MTY1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnaW5kZXggdGVtcG9yYWlyZSAobmUgcGV1dCBwYXMgc2UgcHJvZHVpcmUpIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU2CisjOiBnaXQtc3Rhc2guc2g6MTc4CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgIkltcG9zc2libGUgZCdlbnJlZ2lzdHJlciBsJ8OpdGF0IGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGdpdC1zdGFzaC5zaDoxODgKKyM6IGdpdC1zdGFzaC5zaDoyMTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciAkcmVmX3N0YXNoIGF2ZWMgJHdfY29tbWl0IgpAQCAtMTQ0ODAsNyArMTQ5MTEsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIzOAorIzogZ2l0LXN0YXNoLnNoOjI2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC0xNDQ4OSwxMDggKzE0OTIwLDExMCBAQAogImVycmV1cjogb3B0aW9uIGluY29ubnVlIHBvdXIgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCiAiICAgICAgICBQb3VyIGZvdXJuaXIgdW4gbWVzc2FnZSwgdXRpbGlzZXogZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgogCi0jOiBnaXQtc3Rhc2guc2g6MjUxCisjOiBnaXQtc3Rhc2guc2g6MjgxCiBtc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZCd1dGlsaXNlciAtLXBhdGNoIGV0IC0taW5jbHVkZS11bnRyYWNrZWQgb3UgLS1hbGwgZW4gbcOqbWUgdGVtcHMiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTkKKyM6IGdpdC1zdGFzaC5zaDoyODkKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIlBhcyBkZSBtb2RpZmljYXRpb25zIGxvY2FsZXMgw6Agc2F1dmVyIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYzCisjOiBnaXQtc3Rhc2guc2g6Mjk0CiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZSByZW1pc2FnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2NworIzogZ2l0LXN0YXNoLnNoOjI5OAogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbGUgc3RhdHV0IGNvdXJhbnQiCittc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVyIGwnw6l0YXQgY291cmFudCIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAorIzogZ2l0LXN0YXNoLnNoOjI5OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCiBtc2dzdHIgIkNvcGllIGRlIHRyYXZhaWwgZXQgw6l0YXQgZGUgbCdpbmRleCBzYXV2ZWdhcmTDqXMgZGFucyAkc3Rhc2hfbXNnIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjg1CisjOiBnaXQtc3Rhc2guc2g6MzI2CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsZXMgY2hhbmdlbWVudHMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMworIzogZ2l0LXN0YXNoLnNoOjQ3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIm9wdGlvbiBpbmNvbm51ZcKgOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDE2Ci1tc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgotbXNnc3RyICJQYXMgZGUgcmVtaXNhZ2UgdHJvdXbDqS4iCisjOiBnaXQtc3Rhc2guc2g6NDg3Cittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCittc2dzdHIgIkF1Y3VuZSBlbnRyw6llIGRlIHJlbWlzYWdlIHRyb3V2w6llLiIKIAotIzogZ2l0LXN0YXNoLnNoOjQyMworIzogZ2l0LXN0YXNoLnNoOjQ5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAiVHJvcCBkZSByw6l2aXNpb25zIHNww6ljaWZpw6llcyA6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzgKKyM6IGdpdC1zdGFzaC5zaDo1MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIG4nZXN0IHBhcyB1bmUgcsOpZsOpcmVuY2UgdmFsaWRlIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY2CisjOiBnaXQtc3Rhc2guc2g6NTM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICInJGFyZ3MnIG4nZXN0IHBhcyB1bmUgdmFsaWRhdGlvbiBkZSB0eXBlIHJlbWlzYWdlIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc3CisjOiBnaXQtc3Rhc2guc2g6NTQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJyRhcmdzJyBuJ2VzdCBwYXMgdW5lIHLDqWbDqXJlbmNlIGRlIHJlbWlzYWdlIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg1CisjOiBnaXQtc3Rhc2guc2g6NTU2CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmFmcmHDrmNoaXIgbCdpbmRleCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjU2MAogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FwcGxpcXVlciB1biByZW1pc2FnZSBlbiBjb3VycyBkZSBmdXNpb24iCiAKLSM6IGdpdC1zdGFzaC5zaDo0OTcKKyM6IGdpdC1zdGFzaC5zaDo1NjgKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICJDb25mbGl0cyBkYW5zIGwnaW5kZXguIEVzc2F5ZXogc2FucyAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5OQorIzogZ2l0LXN0YXNoLnNoOjU3MAogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVnYXJkZXIgbCdhcmJyZSBkJ2luZGV4IgogCi0jOiBnaXQtc3Rhc2guc2g6NTA4Ci1tc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCi1tc2dzdHIgIkltcG9zc2libGUgZGUgcmVzdGF1cmVyIGxlcyBmaWNoaWVycyBub24tc3VpdmlzIGRlcHVpcyBsZSByZW1pc2FnZSIKKyM6IGdpdC1zdGFzaC5zaDo1NzkKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZGUgcmVzdGF1cmVyIGxlcyBmaWNoaWVycyBub24tc3VpdmlzIGRlcHVpcyBsJ2VudHLDqWUgZGUgcmVtaXNhZ2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzMKKyM6IGdpdC1zdGFzaC5zaDo2MDQKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6lzaW5kZXhlciBsZXMgZmljaGllcnMgbW9kaWZpw6lzIgogCi0jOiBnaXQtc3Rhc2guc2g6NTQ4CisjOiBnaXQtc3Rhc2guc2g6NjE5CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICJMJ2luZGV4IG4nYSBwYXMgw6l0w6kgc29ydGkgZGUgcmVtaXNlLiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgotbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgotbXNnc3RyICJMZSByZW1pc2FnZSBlc3QgY29uc2VydsOpIGF1IGNhcyBvw7kgdm91cyBlbiBhdXJpZXogZW5jb3JlIGJlc29pbi4iCisjOiBnaXQtc3Rhc2guc2g6NjMzCittc2dpZCAiVGhlIHN0YXNoIGVudHJ5IGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCittc2dzdHIgIiIKKyJMJ2VudHLDqWUgZGUgcmVtaXNhZ2UgZXN0IGNvbnNlcnbDqWUgYXUgY2FzIG/DuSB2b3VzIGVuIGF1cmlleiBlbmNvcmUgYmVzb2luLiIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MQorIzogZ2l0LXN0YXNoLnNoOjY0MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiJHtSRVZ9IHN1cHByaW3DqSAoJHMpIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcyCisjOiBnaXQtc3Rhc2guc2g6NjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgogbXNnc3RyICIke1JFVn06IEltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnw6lsw6ltZW50IGRlIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6NTgwCisjOiBnaXQtc3Rhc2guc2g6NjUxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJBdWN1bmUgYnJhbmNoZSBzcMOpY2lmacOpZSIKIAotIzogZ2l0LXN0YXNoLnNoOjY1MgorIzogZ2l0LXN0YXNoLnNoOjczMAogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKFBvdXIgbGVzIHJlc3RhdXJlciB0YXBleiBcImdpdCBzdGFzaCBhcHBseVwiKSIKIApAQCAtMTQ2MTUsNyArMTUwNDgsNyBAQAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IGFuZCBpcyBub3QgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIickc21fcGF0aCcgZXhpc3RlIGTDqWrDoCBkYW5zIGwnaW5kZXggZXQgbidlc3QgcGFzIHVuIHNvdXMtbW9kdWxlIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIxOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTQ2MjYsMjQgKzE1MDU5LDI0IEBACiAiJHNtX3BhdGhcbiIKICJVdGlsaXNleiAtZiBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCBsJ2Fqb3V0ZXIuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICJBam91dCBkdSBkw6lww7R0IGV4aXN0YW50IMOgICckc21fcGF0aCcgZGFucyBsJ2luZGV4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIGV4aXN0ZSBkw6lqw6AgZXQgbidlc3QgcGFzIHVuIGTDqXDDtHQgZ2l0IHZhbGlkZSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCiBtc2dzdHIgIiIKICJVbiByw6lwZXJ0b2lyZSBnaXQgcG91ciAnJHNtX25hbWUnIGVzdCB0cm91dsOpIGVuIGxvY2FsIGF2ZWMgbGUocykgc2VydmV1cihzKSAiCiAiZGlzdGFudChzKSA6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKQEAgLTE0NjYwLDQ4ICsxNTA5Myw0OCBAQAogImNvcnJlY3RcbiIKICJvdSBzaSBjZWNpIG4nZXN0IHBhcyBjbGFpciwgY2hvaXNpc3NleiB1biBhdXRyZSBub20gYXZlYyBsJ29wdGlvbiAnLS1uYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAiUsOpYWN0aXZhdGlvbiBkdSByw6lwZXJ0b2lyZSBnaXQgbG9jYWwgcG91ciBsZSBzb3VzLW1vZHVsZSAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkltcG9zc2libGUgZCdleHRyYWlyZSBsZSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIsOJY2hlYyBkJ2Fqb3V0IGR1IHNvdXMtbW9kdWxlICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJFbnRyw6llIGRhbnMgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ3CisjOiBnaXQtc3VibW9kdWxlLnNoOjM2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgotbXNnc3RyICJBcnLDqnQgc3VyICckZGlzcGxheXBhdGgnIDsgbGUgc2NyaXB0IGEgcmV0b3VybsOpIHVuIHN0YXR1dCBub24gbnVsLiIKK21zZ3N0ciAiQXJyw6p0IHN1ciAnJGRpc3BsYXlwYXRoJyA7IGxlIHNjcmlwdCBhIHJldG91cm7DqSB1biDDqXRhdCBub24gbnVsLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAidW4gc3DDqWNpZmljYXRldXIgZGUgY2hlbWluIGV0IC0tYWxsIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAiVXRpbGlzZXogJy0tYWxsJyBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCByw6lpbml0aWFsaXNlciB0b3VzIGxlcyBzb3VzLW1vZHVsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeVxuIgpAQCAtMTQ3MTIsNyArMTUxNDUsNyBAQAogIih1dGlsaXNleiAncm0gLXJmJyBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCBsZSBzdXBwcmltZXIgZW4gaW5jbHVhbnQgdG91dCBzb24gIgogImhpc3RvcmlxdWUpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKQEAgLTE0NzIxLDQyICsxNTE1NCw0MiBAQAogIkxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgIgogImxvY2FsZXMgOyB1dGlsaXNleiAnLWYnIHBvdXIgbGVzIGFubnVsZXIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlLDqXBlcnRvaXJlICckZGlzcGxheXBhdGgnIG5ldHRvecOpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSB2aWRlIGR1IHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ2NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJMZSBzb3VzLW1vZHVsZSAnJG5hbWUnICgkdXJsKSBuJ2VzdCBwYXMgZW5yZWdpc3Ryw6kgcG91ciBsZSBjaGVtaW4gIgogIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpdmlzaW9uIGNvdXJhbnRlIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICIKICInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByYXBhdHJpZXIgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTQ3NjUsMTIgKzE1MTk4LDEyIEBACiAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIHLDqXZpc2lvbiBjb3VyYW50ZSAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gZGFucyBsZSAiCiAiY2hlbWluIGRlIHNvdXMtbW9kdWxlICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJhcGF0cmllciBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgpAQCAtMTQ3NzksODggKzE1MjEyLDg4IEBACiAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIHLDqWN1cMOpcsOpLCBtYWlzIGlsIG5lIGNvbnRlbmFpdCBwYXMgIgogIiRzaGExLiBMYSByw6ljdXDDqXJhdGlvbiBkaXJlY3RlIGRlIGNlIGNvbW1pdCBhIMOpY2hvdcOpLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZCdleHRyYWlyZSAnJHNoYTEnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiAnJHNoYTEnIGV4dHJhaXQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njc0CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiSW1wb3NzaWJsZSBkZSByZWJhc2VyICckc2hhMScgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njc1CisjOiBnaXQtc3VibW9kdWxlLnNoOjY5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiByZWJhc8OpIGRhbnMgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgZnVzaW9ubmVyICckc2hhMScgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiBmdXNpb25uw6kgZGFucyAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkwnZXjDqWN1dGlvbiBkZSAnJGNvbW1hbmQgJHNoYTEnIGEgw6ljaG91w6kgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgIgogIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiAnJGNvbW1hbmQgJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjcxOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIsOJY2hlYyBkZSBwYXJjb3VycyBkYW5zIGxlIGNoZW1pbiBkdSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODQxCiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiTCdvcHRpb24gLS1jYWNoZWQgbmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6llIGF2ZWMgbCdvcHRpb24gLS1maWxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODkzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgIm1vZGUgJG1vZF9kc3QgaW5hdHRlbmR1IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICBBdHRlbnRpb24gOiAkZGlzcGxheV9uYW1lIG5lIGNvbnRpZW50IHBhcyBsYSB2YWxpZGF0aW9uICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgQXR0ZW50aW9uIDogJGRpc3BsYXlfbmFtZSBuZSBjb250aWVudCBwYXMgbGEgdmFsaWRhdGlvbiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTA0CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCiAiICBBdHRlbnRpb24gOiAkZGlzcGxheV9uYW1lIG5lIGNvbnRpZW50IHBhcyBsZXMgdmFsaWRhdGlvbnMgJHNoYTFfc3JjIGV0ICIKICIkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDY1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIsOJY2hlYyBkZSBwYXJjb3VycyBkYW5zIGxlIGNoZW1pbiBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiU3luY2hyb25pc2F0aW9uIGRlIGwnVVJMIHNvdXMtbW9kdWxlIHBvdXIgJyRkaXNwbGF5cGF0aCciCkBAIC0xNTE2NCwxMSArMTU1OTcsMTEgQEAKIG1zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCiBtc2dzdHIgIk91IGJpZW4gdm91cyBwb3V2ZXogYWJhbmRvbm5lciBsZSByZWJhc2FnZSBhdmVjICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA3OQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4MwogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4NAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTUxOTksMTIgKzE1NjMyLDEyIEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwMQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQogbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgogbXNnc3RyICIiCiAiRXJyZXVyIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGRlIGwnaWRlbnRpdMOpIGRlIGwnYXV0ZXVyIHBvdXIgY29ycmlnZXIgbGUgY29tbWl0IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTEwCiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCkBAIC0xNTIxMiwxMSArMTU2NDUsMTEgQEAKICJWb3VzIGF2ZXogZGVzIG1vZGlmaWNhdGlvbnMgbm9uIHZhbGlkw6llcyBkYW5zIHZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCiAiVmV1aWxsZXogbGVzIHZhbGlkZXIgZCdhYm9yZCwgcHVpcyByZWxhbmNlciAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJy4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTEgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE5CiBtc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgdmFsaWRlciBsZXMgbW9kaWZpY2F0aW9ucyBpbmRleMOpZXMuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTM5CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3CiBtc2dpZCAiIgogIlxuIgogIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgpAQCAtMTUyMzEsNDAgKzE1NjY0LDQwIEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMxMwogbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsYW5jZXIgbCfDqWRpdGV1ciIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2MAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCiBtc2dzdHIgIkltcG9zc2libGUgZCdleHRyYWlyZSAkc3dpdGNoX3RvIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTczCiBtc2dpZCAiTm8gSEVBRD8iCiBtc2dzdHIgIlBhcyBkZSBIRUFEwqA/IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciB1biByw6lwZXJ0b2lyZSB0ZW1wb3JhaXJlICRzdGF0ZV9kaXIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzYKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtYXJxdWVyIGNvbW1lIGludGVyYWN0aWYiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzggZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4NiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTkxCiBtc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCiBtc2dzdHIgIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZXMgY29tbWl0cyByw6nDqWNyaXRzIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjgzCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKIG1zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgogbXNnc3RyWzBdICJSZWJhc2FnZSBkZSAkc2hvcnRyZXZpc2lvbnMgc3VyICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZGUpIgogbXNnc3RyWzFdICJSZWJhc2FnZSBkZSAkc2hvcnRyZXZpc2lvbnMgc3VyICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZGVzKSIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4OAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NgogbXNnaWQgIiIKICJcbiIKICJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgpAQCAtMTUyNzQsNyArMTU3MDcsNyBAQAogIkNlcGVuZGFudCwgc2kgdm91cyBlZmZhY2V6IHRvdXQsIGxlIHJlYmFzYWdlIHNlcmEgYW5udWzDqS5cbiIKICJcbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwMwogbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgogbXNnc3RyICJWZXVpbGxleiBub3RlciBxdWUgbGVzIGNvbW1pdHMgdmlkZXMgc29udCBlbiBjb21tZW50YWlyZSIKIApAQCAtMTUzNDYsODEgKzE1Nzc5LDgxIEBACiBtc2dzdHIgIkltcG9zc2libGUgZGUgZMOpdGVybWluZXIgbGUgY2hlbWluIGFic29sdSBkdSByw6lwZXJ0b2lyZSBnaXQiCiAKICMuIFRSQU5TTEFUT1JTOiB5b3UgY2FuIGFkanVzdCB0aGlzIHRvIGFsaWduICJnaXQgYWRkIC1pIiBzdGF0dXMgbWVudQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiUxMnMgJTEycyAlcyIKIG1zZ3N0ciAiJTEycyAlczEycyAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3CiBtc2dpZCAic3RhZ2VkIgogbXNnc3RyICJpbmRleMOpIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKIG1zZ2lkICJ1bnN0YWdlZCIKIG1zZ3N0ciAibm9uLWluZGV4w6kiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI0NiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3MQogbXNnaWQgImJpbmFyeSIKIG1zZ3N0ciAiYmluYWlyZSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjU1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA5CiBtc2dpZCAibm90aGluZyIKIG1zZ3N0ciAicmllbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjkxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA2CiBtc2dpZCAidW5jaGFuZ2VkIgogbXNnc3RyICJpbmNoYW5nw6kiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjUzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIiVkIGNoZW1pbiBham91dMOpXG4iCiBtc2dzdHJbMV0gIiVkIGNoZW1pbnMgYWpvdXTDqXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIiVkIGNoZW1pbiBtaXMgw6Agam91clxuIgogbXNnc3RyWzFdICIlZCBjaGVtaW5zIG1pcyDDoCBqb3VyXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIiVkIGNoZW1pbiBpbnZlcnPDqVxuIgogbXNnc3RyWzFdICIlZCBjaGVtaW5zIGludmVyc8Opc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidG91Y2hlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInRvdWNoZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiJWQgY2hlbWluIHRvdWNow6lcbiIKIG1zZ3N0clsxXSAiJWQgY2hlbWlucyB0b3VjaMOpc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjAKIG1zZ2lkICJVcGRhdGUiCiBtc2dzdHIgIk1pc2Ugw6Agam91ciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2ODMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMyCiBtc2dpZCAiUmV2ZXJ0IgogbXNnc3RyICJJbnZlcnNlciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo3MDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCiBtc2dzdHIgIm5vdGXCoDogJXMgbidlc3QgcGx1cyBzdWl2aSDDoCBwcsOpc2VudC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo3MTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjY2CiBtc2dpZCAiQWRkIHVudHJhY2tlZCIKIG1zZ3N0ciAiQWpvdXRlciB1biBmaWNoaWVyIG5vbi1zdWl2aSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo3MjMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjcyCiBtc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgogbXNnc3RyICJBdWN1biBGaWNoaWVyIG5vbiBzdWl2aS5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk4NQogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3RhZ2luZy4iCkBAIC0xNTQyOCw3ICsxNTg2MSw3IEBACiAiU2kgbGUgcGF0Y2ggcydhcHBsaXF1ZSBwcm9wcmVtZW50LCBsYSBzZWN0aW9uIMOpZGl0w6llIHNlcmFcbiIKICJpbW3DqWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSBpbmRleMOpZS4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5ODgKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YXNoaW5nLiIKQEAgLTE1NDM2LDcgKzE1ODY5LDcgQEAKICJTaSBsZSBwYXRjaCBzJ2FwcGxpcXVlIHByb3ByZW1lbnQsIGxhIHNlY3Rpb24gw6lkaXTDqWUgc2VyYVxuIgogImltbcOpZGlhdGVtZW50IG1hcnF1w6llIGNvbW1lIHJlbWlzw6llLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5MQogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgdW5zdGFnaW5nLiIKQEAgLTE1NDQ0LDQxICsxNTg3NywzMyBAQAogIlNpIGxlIHBhdGNoIHMnYXBwbGlxdWUgcHJvcHJlbWVudCwgbGEgc2VjdGlvbiDDqWRpdMOpZSBzZXJhXG4iCiAiaW1tw6lkaWF0ZW1lbnQgbWFycXXDqWUgY29tbWUgZGVzaW5kZXjDqWUuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMDMKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKIG1zZ3N0ciAiIgogIlNpIGxlIHBhdGNoIHMnYXBwbGlxdWUgcHJvcHJlbWVudCwgbGEgc2VjdGlvbiDDqWRpdMOpZSBzZXJhXG4iCi0iaW1tZWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSBhcHBsaXF1w6llLiIKKyJpbW3DqWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSBhcHBsaXF1w6llLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDUxCi1tc2dpZCAiIgotIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCi0ibWFya2VkIGZvciBkaXNjYXJkaW5nIgotbXNnc3RyICIiCi0iU2kgbGUgcGF0Y2ggcydhcHBsaXF1ZSBwcm9wcmVtZW50LCBsYSBzZWN0aW9uIMOpZGl0w6llIHNlcmFcbiIKLSJpbW1lZGlhdGVtZW50IG1hcnF1w6llIGNvbW1lIMOpbGltaW7DqWUiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5OTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDAwCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKIG1zZ3N0ciAiIgogIlNpIGxlIHBhdGNoIHMnYXBwbGlxdWUgcHJvcHJlbWVudCwgbGEgc2VjdGlvbiDDqWRpdMOpZSBzZXJhXG4iCi0iaW1tZWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSDDqWxpbWluw6llLiIKKyJpbW3DqWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSDDqWxpbWluw6llLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgZCfDqWRpdGlvbiBkZSBzZWN0aW9uIGVuIMOpY3JpdHVyZcKgOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTQKIG1zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKIG1zZ3N0ciAiIgogIk1vZGUgZCfDqWRpdGlvbiBtYW51ZWxsZSBkZSBzZWN0aW9uIC0tIHZvaXIgY2ktZGVzc291cyBwb3VyIHVuIGd1aWRlIHJhcGlkZS5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDc0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMjAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIi0tLVxuIgpAQCAtMTU0OTIsNyArMTU5MTcsNyBAQAogIkxlcyBsaWduZXMgY29tbWVuw6dhbnQgcGFyICVzIHNlcm9udCDDqWxpbWluw6llcy5cbiIKIAogIy4gVFJBTlNMQVRPUlM6ICdpdCcgcmVmZXJzIHRvIHRoZSBwYXRjaCBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzIG1lc3NhZ2VzLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDgyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMjgKIG1zZ2lkICIiCiAiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKICJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCkBAIC0xNTUwMiw3ICsxNTkyNyw3IEBACiAibCfDqWRpdGVyIMOgIG5vdXZlYXUuIFNpIHRvdXRlcyBsZXMgbGlnbmVzIGRlIGxhIHNlY3Rpb24gc29udCBzdXBwcmltw6llcyxcbiIKICJhbG9ycyBsJ8OpZGl0aW9uIHNlcmEgYWJhbmRvbm7DqWUgZXQgbGEgc2VjdGlvbiBjb25zZXJ2w6llLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ291dmVydHVyZSBkdSBmaWNoaWVyIGQnw6lkaXRpb24gZGUgc2VjdGlvbiBlbiBsZWN0dXJlwqA6ICVzIgpAQCAtMTU1MTMsMTQgKzE1OTM4LDE0IEBACiAjLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcwogIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KICMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTg3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMzQKIG1zZ2lkICIiCiAiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCiBtc2dzdHIgIiIKICJWb3RyZSBzZWN0aW9uIMOpZGl0w6llIG5lIHMnYXBwbGlxdWUgcGFzLiBMJ8OpZGl0ZXIgw6Agbm91dmVhdSAoXCJub1wiICIKICJsJ8OpbGltaW5lwqAhKSBbeXxuXcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTQzCiBtc2dpZCAiIgogInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMTU1MzQsNyArMTU5NTksNyBAQAogImEgLSBpbmRleGVyIGNldHRlIHNlY3Rpb24gZXQgdG91dGVzIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllclxuIgogImQgLSBuZSBwYXMgaW5kZXhlciBjZXR0ZSBzZWN0aW9uIG5pIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjAyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNDkKIG1zZ2lkICIiCiAieSAtIHN0YXNoIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rXG4iCkBAIC0xNTU0OCw3ICsxNTk3Myw3IEBACiAiYSAtIHJlbWlzZXIgY2V0dGUgc2VjdGlvbiBldCB0b3V0ZXMgbGVzIHN1aXZhbnRlcyBkZSBjZSBmaWNoaWVyXG4iCiAiZCAtIG5lIHBhcyByZW1pc2VyIGNldHRlIHNlY3Rpb24gbmkgbGVzIHN1aXZhbnRlcyBkZSBjZSBmaWNoaWVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE1NQogbXNnaWQgIiIKICJ5IC0gdW5zdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0xNTU2Miw3ICsxNTk4Nyw3IEBACiAiYSAtIGTDqXNpbmRleGVyIGNldHRlIHNlY3Rpb24gZXQgdG91dGVzIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllclxuIgogImQgLSBuZSBwYXMgZMOpc2luZGV4ZXIgY2V0dGUgc2VjdGlvbiBuaSBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTYxCiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgpAQCAtMTU1NzYsNyArMTYwMDEsNyBAQAogImEgLSBhcHBsaXF1ZXIgY2V0dGUgc2VjdGlvbiBldCB0b3V0ZXMgbGVzIHN1aXZhbnRlcyBkZSBjZSBmaWNoaWVyXG4iCiAiZCAtIG5lIHBhcyBhcHBsaXF1ZXIgY2V0dGUgc2VjdGlvbiBuaSBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTY3CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCkBAIC0xNTU5MCw3ICsxNjAxNSw3IEBACiAiYSAtIHN1cHByaW1lciBjZXR0ZSBzZWN0aW9uIGV0IHRvdXRlcyBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXJcbiIKICJkIC0gbmUgcGFzIHN1cHByaW1lciBjZXR0ZSBzZWN0aW9uIG5pIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjI2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNzMKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTU2MDQsNyArMTYwMjksNyBAQAogImEgLSDDqWxpbWluZXIgY2V0dGUgc2VjdGlvbiBldCB0b3V0ZXMgbGVzIHN1aXZhbnRlcyBkZSBjZSBmaWNoaWVyXG4iCiAiZCAtIG5lIHBhcyDDqWxpbWluZXIgY2V0dGUgc2VjdGlvbiBuaSBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTc5CiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0xNTYxOCw3ICsxNjA0Myw3IEBACiAiYSAtIGFwcGxpcXVlciBjZXR0ZSBzZWN0aW9uIGV0IHRvdXRlcyBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXJcbiIKICJkIC0gbmUgcGFzIGFwcGxpcXVlciBjZXR0ZSBzZWN0aW9uIG5pIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExODgKIG1zZ2lkICIiCiAiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKICIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCkBAIC0xNTY0MCwyMDkgKzE2MDY1LDIwOSBAQAogImUgLSDDqWRpdGVyIG1hbnVlbGxlbWVudCBsYSBzZWN0aW9uIGFjdHVlbGxlXG4iCiAiPyAtIGFmZmljaGVyIGwnYWlkZVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxOQogbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgogbXNnc3RyICJMZXMgc2VjdGlvbnMgc8OpbGVjdGlvbm7DqWVzIG5lIHMnYXBwbGlxdWUgcGFzIMOgIGwnaW5kZXjCoCFcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjczCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjAKIG1zZ2lkICJBcHBseSB0aGVtIHRvIHRoZSB3b3JrdHJlZSBhbnl3YXk/ICIKIG1zZ3N0ciAiTGVzIGFwcGxpcXVlciBxdWFuZCBtw6ptZSDDoCBsJ2FyYnJlIGRlIHRyYXZhaWzCoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMwogbXNnaWQgIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iCiBtc2dzdHIgIlJpZW4gbidhIMOpdMOpIGFwcGxpcXXDqS5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjg3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCiBtc2dzdHIgImZpY2hpZXIgbm9uLWZ1c2lvbm7DqSBpZ25vcsOpwqA6ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQzCiBtc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKIG1zZ3N0ciAiU2V1bHMgZGVzIGZpY2hpZXJzIGJpbmFpcmVzIG9udCBjaGFuZ8OpLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0NQogbXNnaWQgIk5vIGNoYW5nZXMuXG4iCiBtc2dzdHIgIkF1Y3VuZSBtb2RpZmljYXRpb24uXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjUzCiBtc2dpZCAiUGF0Y2ggdXBkYXRlIgogbXNnc3RyICJNaXNlIMOgIGpvdXIgcGFyIHBhdGNoIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJJbmRleGVyIGxlIGNoYW5nZW1lbnQgZGUgbW9kZSBbeSxuLHEsYSxkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkluZGV4ZXIgbGEgc3VwcHJlc3Npb24gW3ksbixxLGEsZCwvJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiSW5kZXhlciBjZXR0ZSBzZWN0aW9uIFt5LG4scSxhLGQsLyVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzYzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiUmVtaXNlciBsZSBjaGFuZ2VtZW50IGRlIG1vZGUgW3ksbixxLGEsZCwvJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJSZW1pc2VyIGxhIHN1cHByZXNzaW9uIFt5LG4scSxhLGQsLyVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggdGhpcyBodW5rIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIlJlbWlzZXIgY2V0dGUgc2VjdGlvbiBbeSxuLHEsYSxkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiRMOpc2luZGV4ZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIFt5LG4scSxhLGQsLyVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJEw6lzaW5kZXhlciBsYSBzdXBwcmVzc2lvbiBbeSxuLHEsYSxkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkTDqXNpbmRleGVyIGNldHRlIHNlY3Rpb24gW3ksbixxLGEsZCwvJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcHBsaXF1ZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIMOgIGwnaW5kZXggW3ksbixxLGEsZCwvJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcHBsaXF1ZXIgbGEgc3VwcHJlc3Npb24gw6AgbCdpbmRleCBbeSxuLHEsYSxkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzIyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcHBsaXF1ZXIgY2V0dGUgc2VjdGlvbiDDoCBsJ2luZGV4IFt5LG4scSxhLGQsLyVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkFiYW5kb25uZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIGRhbnMgbCdhcmJyZSBbeSxuLHEsYSxkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBYmFuZG9ubmVyIGxhIHN1cHByZXNzaW9uIGRhbnMgbCdhcmJyZSBbeSxuLHEsYSxkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiQWJhbmRvbm5lciBjZXR0ZSBzZWN0aW9uIGRhbnMgbCdhcmJyZSBbeSxuLHEsYSxkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogIkFiYW5kb25uZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIGRhbnMgbCdpbmRleCBldCBsJ2FyYnJlIFt5LG4scSxhLGQsLyVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAiQWJhbmRvbm5lciBsYSBzdXBwcmVzc2lvbiBkZSBsJ2luZGV4IGV0IGRlIGwnYXJicmUgW3ksbixxLGEsZCwvJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAiU3VwcHJpbWVyIGxhIHNlY3Rpb24gZGFucyBsJ2luZGV4IGV0IGwnYXJicmUgZGUgdHJhdmFpbCBbeSxuLHEsYSxkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAiQXBwbGlxdWVyIGxlIGNoYW5nZW1lbnQgZGUgbW9kZSBkYW5zIGwnaW5kZXggZXQgbCdhcmJyZSBkZSB0cmF2YWlsIFt5LG4scSxhLCIKICJkLC8lcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAiQXBwbGlxdWVyIGxhIHN1cHByZXNzaW9uIGRhbnMgbCdpbmRleCBldCBsJ2FyYnJlIGRlIHRyYXZhaWwgW3ksbixxLGEsZCwvIgogIiVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAiQXBwbGlxdWVyIGxhIHNlY3Rpb24gw6AgbCdpbmRleCBldCBsJ2FyYnJlIGRlIHRyYXZhaWwgW3ksbixxLGEsZCwvJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MAogbXNnaWQgImdvIHRvIHdoaWNoIGh1bmsgKDxyZXQ+IHRvIHNlZSBtb3JlKT8gIgogbXNnc3RyICJhbGxlciDDoCBxdWVsbGUgc2VjdGlvbiAoPHJldD4gcG91ciB2b2lyIHBsdXMpwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDIKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCiBtc2dzdHIgImFsbGVyIMOgIHF1ZWxsZSBzZWN0aW9uwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAiTm9tYnJlIGludmFsaWRlIDogJyVzJ1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS5cbiIKIG1zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLlxuIgogbXNnc3RyWzBdICJEw6lzb2zDqSwgJWQgc2V1bGUgc2VjdGlvbiBkaXNwb25pYmxlLlxuIgogbXNnc3RyWzFdICJEw6lzb2zDqSwgU2V1bGVtZW50ICVkIHNlY3Rpb25zIGRpc3BvbmlibGVzLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ4MgogbXNnaWQgInNlYXJjaCBmb3IgcmVnZXg/ICIKIG1zZ3N0ciAicmVjaGVyY2hlciBsYSByZWdleMKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBzZWFyY2ggcmVnZXhwICVzOiAlc1xuIgogbXNnc3RyICJSZWdleCBkZSByZWNoZXJjaGUgbWFsZm9ybcOpZSAlc8KgOiAlc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUwNQogbXNnaWQgIk5vIGh1bmsgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVyblxuIgogbXNnc3RyICJBdWN1bmUgc2VjdGlvbiBuZSBjb3JyZXNwb25kIGF1IG1vdGlmIGRvbm7DqVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTM5CiBtc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgogbXNnc3RyICJQYXMgZGUgc2VjdGlvbiBwcsOpY8OpZGVudGVcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTI2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0NQogbXNnaWQgIk5vIG5leHQgaHVua1xuIgogbXNnc3RyICJQYXMgZGUgc2VjdGlvbiBzdWl2YW50ZVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCiBtc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCiBtc2dzdHJbMF0gIkTDqWNvdXDDqWUgZW4gJWQgc2VjdGlvbi5cbiIKIG1zZ3N0clsxXSAiRMOpY291cMOpZSBlbiAlZCBzZWN0aW9ucy5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MDUKIG1zZ2lkICJSZXZpZXcgZGlmZiIKIG1zZ3N0ciAiUsOpdmlzZXIgbGEgZGlmZsOpcmVuY2UiCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjc3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjQKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgogInJldmVydCAgICAgICAgLSByZXZlcnQgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIGJhY2sgdG8gdGhlIEhFQUQgdmVyc2lvblxuIgogInBhdGNoICAgICAgICAgLSBwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHlcbiIKLSJkaWZmXHQgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCisiZGlmZiAgICAgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCiAiYWRkIHVudHJhY2tlZCAtIGFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgIgogImNoYW5nZXNcbiIKIG1zZ3N0ciAiIgpAQCAtMTU4NTEsOTAgKzE2Mjc2LDkxIEBACiAiaW5kZXhlclxuIgogInJldmVydCAgICAgICAgLSBmYWlyZSByZXZlbmlyIGxlcyBtb2RpZmljYXRpb25zIMOgIGluZGV4ZXIgw6AgbGEgdmVyc2lvbiBIRUFEXG4iCiAicGF0Y2ggICAgICAgICAtIHPDqWxlY3Rpb25uZXIgbGVzIHNlY3Rpb25zIGV0IG1ldHRyZSDDoCBqb3VyIHPDqWxlY3RpdmVtZW50XG4iCi0iZGlmZlx0ICAgICAgLSB2aXN1YWxpc2VyIGxlcyBkaWZmIGVudHJlIEhFQUQgZXQgbCdpbmRleFxuIgotImFkZCB1bnRyYWNrZWQgLSBBam91dGVyIGxlcyBmaWNoaWVycyBub24tc3VpdmlzIGF1eCBtb2RpZmljYXRpb25zIMOgIGluZGV4ZXJcbiIKKyJkaWZmICAgICAgICAgIC0gdmlzdWFsaXNlciBsZXMgZGlmZiBlbnRyZSBIRUFEIGV0IGwnaW5kZXhcbiIKKyJhZGQgdW50cmFja2VkIC0gYWpvdXRlciBsZXMgZmljaGllcnMgbm9uLXN1aXZpcyBhdXggbW9kaWZpY2F0aW9ucyDDoCBpbmRleGVyXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTkKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDkKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjYKIG1zZ2lkICJtaXNzaW5nIC0tIgogbXNnc3RyICItLSBtYW5xdWFudCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICJtb2RlIGRlIC0tcGF0Y2ggaW5jb25udcKgOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcyNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50ICVzLCBleHBlY3RpbmcgLS0iCiBtc2dzdHIgImFyZ3VtZW50IGludmFsaWRlICVzLCAtLSBhdHRlbmR1IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjYKIG1zZ2lkICJsb2NhbCB6b25lIGRpZmZlcnMgZnJvbSBHTVQgYnkgYSBub24tbWludXRlIGludGVydmFsXG4iCi1tc2dzdHIgImxhIHpvbmUgbG9jYWxlIGRpZmbDqHJlIGR1IEdNVCBwYXIgdW4gaW50ZXJ2YWwgc3Vww6lyaWV1ciDDoCB1bmUgbWludXRlXG4iCittc2dzdHIgIiIKKyJsYSB6b25lIGxvY2FsZSBkaWZmw6hyZSBkdSBHTVQgcGFyIHVuIGludGVydmFsbGUgc3Vww6lyaWV1ciDDoCB1bmUgbWludXRlXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI4IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzOQogbXNnaWQgImxvY2FsIHRpbWUgb2Zmc2V0IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAyNCBob3Vyc1xuIgogbXNnc3RyICJsZSBkw6ljYWxhZ2UgZGUgdGVtcHMgbG9jYWwgZXN0IHBsdXMgZ3JhbmQgb3Ugw6lnYWwgw6AgMjQgaGV1cmVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIxNAogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAibCfDqWRpdGV1ciBlc3Qgc29ydGkgZW4gZXJyZXVyLCBhYmFuZG9uIHRvdGFsIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKIG1zZ3N0ciAiIgogIiclcycgY29udGllbnQgdW5lIHZlcnNpb24gaW50ZXJtw6lkaWFpcmUgZHUgY291cnJpZWwgcXVlIHZvdXMgY29tcG9zaWV6LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIiclcy5maW5hbCcgY29udGllbnQgbGUgY291cnJpZWwgY29tcG9zw6kuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzA1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxNAogbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKIG1zZ3N0ciAiLS1kdW1wLWFsaWFzZXMgZXN0IGluY29tcGF0aWJsZSBhdmVjIGQnYXV0cmVzIG9wdGlvbnNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozNjggZ2l0LXNlbmQtZW1haWwucGVybDo2MjMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzc5IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM0CiBtc2dpZCAiQ2Fubm90IHJ1biBnaXQgZm9ybWF0LXBhdGNoIGZyb20gb3V0c2lkZSBhIHJlcG9zaXRvcnlcbiIKIG1zZ3N0ciAiTGFuY2VtZW50IGRlIGdpdCBmb3JtYXQtcGF0Y2ggaW1wb3NzaWJsZSDDoCBsJ2V4dMOpcmlldXIgZCd1biBkw6lww7R0XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDM3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ0OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKIG1zZ3N0ciAiQ2hhbXAgZGUgLS1zdXBwcmVzcy1jYyBpbmNvbm51wqA6ICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDc3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKIG1zZ3N0ciAiUGFyYW3DqHRyZSBkZSAtLWNvbmZpcm0gaW5jb25udcKgOiAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDk4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICIiCiAiYXR0ZW50aW9uwqA6IGxlcyBndWlsbGVtZXRzIG5lIHNvbnQgcGFzIHN1cHBvcnTDqXMgZGFucyBhbGlhcyBzZW5kbWFpbMKgOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAiYXR0ZW50aW9uwqA6IGA6aW5jbHVkZTpgIG4nZXN0IHBhcyBzdXBwb3J0w6nCoDogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTEzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICIiCiAiYXR0ZW50aW9uwqA6IGxlcyByZWRpcmVjdGlvbnMgYC9maWxlYCBvdSBgfHBpcGVgIG5lIHNvbnQgcGFzIHN1cHBvcnTDqWVzwqA6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTA3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICJhdHRlbnRpb27CoDogbGlnbmUgc2VuZG1haWwgbm9uIHJlY29ubnVlwqA6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTg5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYwMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgpAQCAtMTU5NDksMTIgKzE2Mzc1LDEyIEBACiAiICAgICogZW4gaW5kaXF1YW50IFwiLi8lc1wiIHNpIHZvdXMgZMOpc2lnbmV6IHVuIGZpY2hpZXIsIG91XG4iCiAiICAgICogZW4gZm91cm5pc3NhbnQgbCdvcHRpb24gLS1mb3JtYXQtcGF0Y2ggcG91ciB1bmUgcGxhZ2UuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjEwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIsOJY2hlYyDDoCBsJ291dmVydHVyZSBkdSByw6lwZXJ0b2lyZSAlc8KgOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjQ1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJmYXRhbDogJXM6ICVzXG4iCkBAIC0xNTk2Myw3ICsxNjM4OSw3IEBACiAiZmF0YWzCoDogJXPCoDogJXNcbiIKICJhdHRlbnRpb27CoDogYXVjdW4gcGF0Y2ggZW52b3nDqVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NTYKIG1zZ2lkICIiCiAiXG4iCiAiTm8gcGF0Y2ggZmlsZXMgc3BlY2lmaWVkIVxuIgpAQCAtMTU5NzMsMTcgKzE2Mzk5LDE3IEBACiAiQXVjdW4gZmljaGllciBwYXRjaCBzcMOpY2lmacOpwqAhXG4iCiAiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJObyBzdWJqZWN0IGxpbmUgaW4gJXM/IgogbXNnc3RyICJMaWduZSBkZSBzdWpldCBub24gdHJvdXbDqWUgZGFucyAlcyA/IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gZm9yIHdyaXRpbmcgJXM6ICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyICVzIGVuIMOpY3JpdHVyZcKgOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njg5CiBtc2dpZCAiIgogIkxpbmVzIGJlZ2lubmluZyBpbiBcIkdJVDpcIiB3aWxsIGJlIHJlbW92ZWQuXG4iCiAiQ29uc2lkZXIgaW5jbHVkaW5nIGFuIG92ZXJhbGwgZGlmZnN0YXQgb3IgdGFibGUgb2YgY29udGVudHNcbiIKQEAgLTE1OTk3LDMyICsxNjQyMywzMiBAQAogIlxuIgogIkVmZmFjZXogbGUgY29ycHMgc2kgdm91cyBuZSBzb3VoYWl0ZXogcGFzIGVudm95ZXIgdW4gcsOpc3Vtw6kuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzAxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcy5maW5hbDogJXMiCiBtc2dzdHIgIsOJY2hlYyDDoCBsJ291dmVydHVyZSBkZSAlcy5maW5hbMKgOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiw4ljaGVjIMOgIGwnb3V2ZXJ0dXJlIGRlICVzwqA6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NTAKIG1zZ2lkICJUby9DYy9CY2MgZmllbGRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgeWV0LCB0aGV5IGhhdmUgYmVlbiBpZ25vcmVkXG4iCiBtc2dzdHIgIiIKICJMZXMgY2hhbXBzIFRvL0NDL0JjYyBuZSBzb250IHBhcyBlbmNvcmUgaW50ZXJwcsOpdMOpcywgaWxzIG9udCDDqXTDqSBpZ25vcsOpc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NTkKIG1zZ2lkICJTdW1tYXJ5IGVtYWlsIGlzIGVtcHR5LCBza2lwcGluZyBpdFxuIgogbXNnc3RyICJMZSBjb3VycmllbCBkZSByw6lzdW3DqSBldGFudCB2aWRlLCBpbCBhIMOpdMOpIGlnbm9yw6lcbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgogbXNnc3RyICLDinRlcy12b3VzIHN1ciBkZSB2b3Vsb2lyIHV0aWxpc2VyIDwlcz4gW3kvTl3CoD8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCkBAIC0xNjAzMCwxMSArMTY0NTYsMTEgQEAKICJMZXMgZmljaGllcnMgc3VpdmFudHMgc29udCA4Yml0IG1haXMgbmUgZMOpY2xhcmVudCBwYXMgZGUgY2hhbXBzIENvbnRlbnQtIgogIlRyYW5zZmVyLUVuY29kaW5nLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgxNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKIG1zZ2lkICJXaGljaCA4Yml0IGVuY29kaW5nIHNob3VsZCBJIGRlY2xhcmUgW1VURi04XT8gIgogbXNnc3RyICJRdWVsIGVuY29kYWdlIDhiaXQgZG9pdCDDqnRyZSBkw6ljbGFyw6kgW1VURjhdwqA/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODMzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJSZWZ1c2luZyB0byBzZW5kIGJlY2F1c2UgdGhlIHBhdGNoXG4iCkBAIC0xNjA0NywyMiArMTY0NzMsMjIgQEAKICJhIHVuIHN1amV0IG1vZMOobGUgJyoqKiBTVUJKRUNUIEhFUkUgKioqJy4gUGFzc2V6IC0tZm9yY2UgaXMgdm91cyBzb3VoYWl0ZXogIgogInZyYWltZW50IGVudm95ZXIuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1MgogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCiBtc2dzdHIgIsOAIHF1aSBsZXMgY291cnJpZWxzIGRvaXZlbnQtaWxzIMOqdHJlIGVudm95w6lzIChzJ2lsIHkgZW4gYSnCoD8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgogbXNnc3RyICJmYXRhbMKgOiBsJ2FsaWFzICclcycgc2UgZMOpdmVsb3BwZSBlbiBsdWktbcOqbWVcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NzEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODgyCiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiIgotIk1lc3NhZ2UtSUQgw6AgdXRpbGlzZXIgY29tbWUgSW4tUmVwbHktdG8gcG91ciBsZSBwcmVtaWVyIGNvdXJyaWVsIChzJ2lsIHkgZW4gIgorIk1lc3NhZ2UtSUQgw6AgdXRpbGlzZXIgY29tbWUgSW4tUmVwbHktVG8gcG91ciBsZSBwcmVtaWVyIGNvdXJyaWVsIChzJ2lsIHkgZW4gIgogImEpwqA/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjEgZ2l0LXNlbmQtZW1haWwucGVybDo5MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMyIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAiZXJyZXVywqA6IGltcG9zc2libGUgZCdleHRyYWlyZSB1bmUgYWRyZXNzZSB2YWxpZGUgZGVwdWlzwqA6ICVzXG4iCkBAIC0xNjA3MCwxNiArMTY0OTYsMTYgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQ0CiBtc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgogbXNnc3RyICJRdWUgZmFpcmUgZGUgY2V0dGUgYWRyZXNzZSA/IChbcV11aXR0ZXJ8W2Rdw6lsYWlzc2VyfFtlXWRpdGVyKTogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI0NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGUgY2hlbWluIHZlcnMgbGEgQ0EgXCIlc1wiIG4nZXhpc3RlIHBhcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzA5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjAKIG1zZ2lkICIiCiAiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKICIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgpAQCAtMTYxMDYsMTI5ICsxNjUzMiwyNjIgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtxXSBbYV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM1CiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsPyAoW3ldZXN8W25db3xbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIkVudm95ZXIgY2UgY291cnJpZWzCoD8gKFt5XWVzfFtuXW98W3FddWl0fFthXWxsKcKgOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM4CiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgogbXNnc3RyICJVbmUgcsOpcG9uc2UgZXN0IG7DqWNlc3NhaXJlIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNTMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM2NAogbXNnaWQgIlRoZSByZXF1aXJlZCBTTVRQIHNlcnZlciBpcyBub3QgcHJvcGVybHkgZGVmaW5lZC4iCiBtc2dzdHIgIkxlIHNlcnZldXIgU01UUCBuw6ljZXNzYWlyZSBuJ2VzdCBwYXMgZMOpZmluaSBjb3JyZWN0ZW1lbnQuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzOTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCiBtc2dzdHIgIkxlIHNlcnZldXIgbmUgc3VwcG9ydGUgcGFzIFNUQVJUVExTwqAhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MDMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU1RBUlRUTFMgZmFpbGVkISAlcyIKK21zZ3N0ciAiZWNoZWMgZGUgU1RBUlRUTFPCoCEgJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAogbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCiBtc2dzdHIgIiIKICJJbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgU01UUC4gVsOpcmlmaWV6IGxhIGNvbmZpZ3VyYXRpb24gZXQgdXRpbGlzZXogLS1zbXRwLSIKICJkZWJ1Zy4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBzZW5kICVzXG4iCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ2Vudm9pIGRlICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRyeS1TZW50ICVzXG4iCiBtc2dzdHIgIkVudm9pIHNpbXVsw6kgZGUgJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2VudCAlc1xuIgogbXNnc3RyICIlcyBlbnZvecOpXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUzCiBtc2dpZCAiRHJ5LU9LLiBMb2cgc2F5czpcbiIKIG1zZ3N0ciAiU2ltdWxhdGlvbiBPSy4gTGUgam91cm5hbCBpbmRpcXVlwqA6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUzCiBtc2dpZCAiT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJPSy4gTGUgam91cm5hbCBpbmRpcXVlwqA6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDY1CiBtc2dpZCAiUmVzdWx0OiAiCiBtc2dzdHIgIlLDqXN1bHRhdMKgOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ0MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDY4CiBtc2dpZCAiUmVzdWx0OiBPS1xuIgogbXNnc3RyICJSw6lzdWx0YXTCoDogT0tcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDU0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0ODEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBmaWxlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG1ib3gpIEFqb3V0IGRlIGNjOiAlcyBkZXB1aXMgbGEgbGlnbmUgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIHRvOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgQWpvdXQgZGUgdG86ICVzIGRlcHVpcyBsYSBsaWduZSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU1NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTgyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobm9uLW1ib3gpIEFqb3V0IGRlIGNjOiAlcyBkZXB1aXMgbGEgbGlnbmUgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoY29ycHMpIEFqb3V0IGRlIGNjOiAlcyBkZXB1aXMgbGEgbGlnbmUgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIENvdWxkIG5vdCBleGVjdXRlICclcyciCiBtc2dzdHIgIiglcykgSW1wb3NzaWJsZSBkJ2V4w6ljdXRlciAnJXMnIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIEFkZGluZyAlczogJXMgZnJvbTogJyVzJ1xuIgogbXNnc3RyICIoJXMpIEFqb3V0IGRlICVzwqA6ICVzIGRlcHVpc8KgOiAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgZmFpbGVkIHRvIGNsb3NlIHBpcGUgdG8gJyVzJyIKIG1zZ3N0ciAiKCVzKSDDqWNoZWMgZGUgbGEgZmVybWV0dXJlIGR1IHBpcGUgdmVycyAnJXMnIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0OQogbXNnaWQgImNhbm5vdCBzZW5kIG1lc3NhZ2UgYXMgN2JpdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2Vudm95ZXIgdW4gbWVzc2FnZSBjb21tZSA3Yml0IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1NwogbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCiBtc2dzdHIgImNvZGFnZSBkZSB0cmFuc2ZlcnQgaW52YWxpZGUiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTIgZ2l0LXNlbmQtZW1haWwucGVybDoxODAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTUgZ2l0LXNlbmQtZW1haWwucGVybDoxODQ2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlc8KgOiVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzk4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBjb250YWlucyBhIGxpbmUgbG9uZ2VyIHRoYW4gOTk4IGNoYXJhY3RlcnMiCiBtc2dzdHIgIiVzwqA6IGxlIHBhdGNoIGNvbnRpZW50IHVuZSBsaWduZSBwbHVzIGxvbmd1ZSBxdWUgOTk4IGNhcmFjdMOocmVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKIG1zZ3N0ciAiJXMgc2F1dMOpIGF2ZWMgdW4gc3VmZml4IGRlIHNhdXZlZ2FyZGUgJyVzJy5cbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwICJbeXxOXSIgYXMgaXMuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKIG1zZ3N0ciAiU291aGFpdGV6LXZvdXMgcsOpZWxsZW1lbnQgZW52b3llciAlc8KgP1t5fE5dwqA6ICIKIAorI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyICclcyciCisKKyN+IG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCisjfiBtc2dzdHIgImRhbnMgJTAuMWYgc2Vjb25kZXMgYXV0b21hdGlxdWVtZW50Li4uIgorCisjfiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgorI34gbXNnc3RyICLDqWNoZWMgZGUgZHVwMiglZCwlZCkiCisKKyN+IG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCisjfiBtc2dzdHIgIlZhbGlkYXRpb24gaW5pdGlhbGUgc3VyICIKKworI34gbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgorI34gbXNnc3RyICJMZSBwYXRjaCBlc3QgdmlkZS4gTGUgZMOpY291cGFnZSDDqXRhaXQtaWwgYm9uwqA/IgorCisjfiBtc2dpZCAiIgorI34gIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCisjfiAiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCisjfiBtc2dzdHIgIiIKKyN+ICJWb3VzIGF2ZXogdG91am91cnMgZGVzIGNoZW1pbnMgbm9uIGZ1c2lvbm7DqXMgZGFucyB2b3RyZSBpbmRleFxuIgorI34gIkF1cmllei12b3VzIG91Ymxpw6kgZGUgZmFpcmUgJ2dpdCBhZGQnID8iCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCisjfiAiRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxlcyBjaGVtaW5zIGV0IGRlIGJhc2N1bGVyIHN1ciBsYSBicmFuY2hlICIKKyN+ICInJXMnIGVuIG3Dqm1lIHRlbXBzLlxuIgorI34gIlNvdWhhaXRpZXotdm91cyBleHRyYWlyZSAnJXMnIHF1aSBuZSBwZXV0IMOqdHJlIHLDqXNvbHUgY29tbWUgY29tbWl0ID8iCisKKyN+IG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgorI34gbXNnc3RyICJDaGVtaW5zIGV4cGxpY2l0ZXMgc3DDqWNpZmnDqXMgc2FucyAtaSBuaSAtbyA7IC0tb25seSBzdXBwb3PDqS4uLiIKKworI34gbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgorI34gbXNnc3RyICJtb2RlIHBhciBkw6lmYXV0IHBvdXIgbGEgcsOpY3Vyc2lvbiIKKworI34gbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCisjfiBtc2dzdHIgIiIKKyN+ICJsYSBzb3VzLWNvbW1hbmRlIHN1Ym1vZHVsZS0taGVscGVyIGRvaXQgw6p0cmUgYXBwZWzDqWUgYXZlYyB1bmUgc291cy0iCisjfiAiY29tbWFuZGUiCisKKyN+IG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMiCisjfiBtc2dzdHIgInN0YXQgaW1wb3NzaWJsZSBkZSAnJXMnIgorCisjfiBtc2dpZCAidGFnOiB0YWdnaW5nICIKKyN+IG1zZ3N0ciAiw6l0aXF1ZXR0ZTogw6l0aXF1ZXRhZ2UgZGUgIgorCisjfiBtc2dpZCAib2JqZWN0IG9mIHVua25vd24gdHlwZSIKKyN+IG1zZ3N0ciAib2JqZXQgZGUgdHlwZSBpbmNvbm51IgorCisjfiBtc2dpZCAiY29tbWl0IG9iamVjdCIKKyN+IG1zZ3N0ciAib2JqZXQgY29tbWl0IgorCisjfiBtc2dpZCAidHJlZSBvYmplY3QiCisjfiBtc2dzdHIgIm9iamV0IGFyYnJlIgorCisjfiBtc2dpZCAiYmxvYiBvYmplY3QiCisjfiBtc2dzdHIgIm9iamV0IGJsb2IiCisKKyN+IG1zZ2lkICJvdGhlciB0YWcgb2JqZWN0IgorI34gbXNnc3RyICJvYmpldCDDqXRpcXVldHRlIGF1dHJlIgorCisjfiBtc2dpZCAiIgorI34gIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCisjfiAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKKyN+IG1zZ3N0ciAiIgorI34gIklsIG4neSBhIHJpZW4gZG9udCBpbCBmYXV0IGV4Y2x1cmUgcGFyIGRlcyBtb3RpZnMgOihleGNsdXJlKS5cbiIKKyN+ICJQZXV0LcOqdHJlIGF2ZXotdm91cyBvdWJsacOpIGQnYWpvdXRlciAnOi8nIG91ICcuJyA/IgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdDogJSUoJXMpIgorI34gbXNnc3RyICJmb3JtYXQgbm9uIHJlY29ubnUgJSUoJXMpIgorCisjfiBtc2dpZCAiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgIjpzdHJpcD0gcmVxdWllcnQgdW4gYXJndW1lbnQgZW50aWVyIHBvc2l0aWYiCisKKyN+IG1zZ2lkICJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIKKyN+IG1zZ3N0ciAibGEgcsOpZiAnJXMnIG4nYSBwYXMgJWxkIGNvbXBvc2FudHMgw6AgOnN0cmlwIgorCisjfiBtc2dpZCAidW5rbm93biAlLipzIGZvcm1hdCAlcyIKKyN+IG1zZ3N0ciAiZm9ybWF0IGRlICUuKnMgaW5jb25udSAlcyIKKworIyBmw6ltaW5pbiBwb3VyIHVuZSBicmFuY2hlCisjfiBtc2dpZCAiWyVzOiBnb25lXSIKKyN+IG1zZ3N0ciAiWyVzOiBkaXNwYXJ1ZV0iCisKKyN+IG1zZ2lkICJbJXNdIgorI34gbXNnc3RyICJbJXNdIgorCisjfiBtc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgorI34gbXNnc3RyICJbJXM6IGVuIHJldGFyZCBkZSAlZF0iCisKKyN+IG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKKyN+IG1zZ3N0ciAiWyVzIDogZW4gYXZhbmNlIGRlICVkXSIKKworI34gbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCisjfiBtc2dzdHIgIlslcyA6IGVuIGF2YW5jZSBkZSAlZCwgZW4gcmV0YXJkIGRlICVkXSIKKworI34gbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCisjfiBtc2dzdHIgIiAqKioqIHLDqWbDqXJlbmNlIGludmFsaWRlICoqKioiCisKKyN+IG1zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKKyN+IG1zZ3N0ciAib2JqZXQgcsOpcGVydG9pcmUgZMOpbWVudGllbGxlbWVudCBsb25nICUuKnMiCisKKyN+IG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1zZz4gSEVBRCA8Y29tbWl0PiIKKyN+IG1zZ3N0ciAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtZXNzYWdlPiBIRUFEIDxjb21taXQ+IgorCisjfiBtc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCisjfiBtc2dzdHIgIiclcycgbidlc3QgcGFzIHVuZSB2YWxpZGF0aW9uIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgJyVzJyIKKworI34gbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciBsZSBmaWNoaWVyICVzIgorCisjfiBtc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCisjfiBtc2dzdHIgIm5vbSBkJ8OpdGlxdWV0dGUgdHJvcCBsb25nIDogJS4qcy4uLiIKKworI34gbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCisjfiBtc2dzdHIgImVuLXTDqnRlIGQnw6l0aXF1ZXR0ZSB0cm9wIGdyb3MuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisjfiAibWFya2VkIGZvciBkaXNjYXJkaW5nIgorI34gbXNnc3RyICIiCisjfiAiU2kgbGUgcGF0Y2ggcydhcHBsaXF1ZSBwcm9wcmVtZW50LCBsYSBzZWN0aW9uIMOpZGl0w6llIHNlcmFcbiIKKyN+ICJpbW1lZGlhdGVtZW50IG1hcnF1w6llIGNvbW1lIMOpbGltaW7DqWUiCisKICN+IG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGJsYW5rLWxpbmUtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCiAjfiBtc2dzdHIgIiIKICN+ICJVdGlsaXNlciB1bmUgaGV1cmlzdGlxdWUgZXhww6lyaW1lbnRhbGUgcmVwb3NhbnQgc3VyIGxlcyBsaWduZXMgdmlkZXMgcG91ciAiCkBAIC0xNjcwNCw4ICsxNzI2Myw4IEBACiAjfiAiUG91ciByZXN0YXVyZXIgbGEgYnJhbmNoZSBkJ29yaWdpbmUgZXQgc3RvcHBlciBsZSBwYXRjaGFnZSwgbGFuY2V6ICIKICN+ICJcIiRjbWRsaW5lIC0tYWJvcnRcIi4iCiAKLSN+IG1zZ2lkICJQYXRjaCBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgZS1tYWlsIGFkZHJlc3MuIgotI34gbXNnc3RyICJMZSBwYXRjaCBuJ2EgcGFzIGQnYWRyZXNzZSBlLW1haWwgdmFsaWRlLiIKKyN+IG1zZ2lkICJQYXRjaCBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgY291cnJpZWwgYWRkcmVzcy4iCisjfiBtc2dzdHIgIkxlIHBhdGNoIG4nYSBwYXMgZCdhZHJlc3NlIGNvdXJyaWVsIHZhbGlkZS4iCiAKICN+IG1zZ2lkICJBcHBseWluZzogJEZJUlNUTElORSIKICN+IG1zZ3N0ciAiQXBwbGljYXRpb24gOiAkRklSU1RMSU5FIgpAQCAtMTY3ODAsOSArMTczMzksNiBAQAogI34gbXNnaWQgImNhbm5vdCB1cGRhdGUgSEVBRCByZWYiCiAjfiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UgSEVBRCIKIAotI34gbXNnaWQgImNhbm5vdCB0ZWxsIGN3ZCIKLSN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6l0ZXJtaW5lciBsZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGNvdXJhbnQiCi0KICN+IG1zZ2lkICIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIKICN+IG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGRlIHZlcnJvdWlsbGVyIGxhIHLDqWbDqXJlbmNlIgogCmRpZmYgLS1naXQgYS9wby9naXQucG90IGIvcG8vZ2l0LnBvdAppbmRleCBjYzBiOWMzLi40NjY5YzVhIDEwMDY0NAotLS0gYS9wby9naXQucG90CisrKyBiL3BvL2dpdC5wb3QKQEAgLTgsNyArOCw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTE4IDAxOjAwKzA4MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wNy0yNCAyMTo1NCswODAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBGVUxMIE5BTUUgPEVNQUlMQEFERFJFU1M+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKQEAgLTE4LDU5ICsxOCw1OSBAQAogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPUlOVEVHRVI7IHBsdXJhbD1FWFBSRVNTSU9OO1xuIgogCi0jOiBhZHZpY2UuYzo1NQorIzogYWR2aWNlLmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICIiCiAKLSM6IGFkdmljZS5jOjgzCisjOiBhZHZpY2UuYzo4NgogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzo4NQorIzogYWR2aWNlLmM6ODgKIG1zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzo4NworIzogYWR2aWNlLmM6OTAKIG1zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzo4OQorIzogYWR2aWNlLmM6OTIKIG1zZ2lkICJQdWxsaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzo5MQorIzogYWR2aWNlLmM6OTQKIG1zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAKLSM6IGFkdmljZS5jOjkzCisjOiBhZHZpY2UuYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKIAotIzogYWR2aWNlLmM6MTAxCisjOiBhZHZpY2UuYzoxMDQKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgogbXNnc3RyICIiCiAKLSM6IGFkdmljZS5jOjEwOQorIzogYWR2aWNlLmM6MTEyCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICIiCiAKLSM6IGFkdmljZS5jOjExNCBidWlsdGluL21lcmdlLmM6MTIwNgorIzogYWR2aWNlLmM6MTE3IGJ1aWx0aW4vbWVyZ2UuYzoxMTg0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICIiCiAKLSM6IGFkdmljZS5jOjExNgorIzogYWR2aWNlLmM6MTE5CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxMTcKKyM6IGFkdmljZS5jOjEyMAogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxMjMKKyM6IGFkdmljZS5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCkBAIC04Niw4MiArODYsOTIgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjU3CisjOiBhcHBseS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NzMKKyM6IGFwcGx5LmM6NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTI1CisjOiBhcHBseS5jOjEyNgogbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEyOAogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTMwCisjOiBhcHBseS5jOjEzMQogbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjE0MQorIzogYXBwbHkuYzoxNDIKIG1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTQ0CisjOiBhcHBseS5jOjE0NQogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6ODQ1CisjOiBhcHBseS5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6ODU0CisjOiBhcHBseS5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo5MzgKKyM6IGFwcGx5LmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo5NzcKKyM6IGFwcGx5LmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjk4MworIzogYXBwbHkuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo5ODQKKyM6IGFwcGx5LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6OTkwCisjOiBhcHBseS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTQ4OAorIzogYXBwbHkuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSBvbiBsaW5lICVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjEzMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjE1NTcKKyM6IGFwcGx5LmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTU3NworIzogYXBwbHkuYzoxNTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKQEAgLTE3Miw2NDggKzE4Miw2NDggQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGFwcGx5LmM6MTU4OQorIzogYXBwbHkuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxNzU5CisjOiBhcHBseS5jOjE3NzAKIG1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjE3NjEKKyM6IGFwcGx5LmM6MTc3MgogbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxNzk1CisjOiBhcHBseS5jOjE4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTgzMgorIzogYXBwbHkuYzoxODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTgzNAorIzogYXBwbHkuYzoxODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxODM3CisjOiBhcHBseS5jOjE4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjE5ODQKKyM6IGFwcGx5LmM6MTk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MjAyMQorIzogYXBwbHkuYzoyMDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjIxODIKKyM6IGFwcGx5LmM6MjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MjI2NQorIzogYXBwbHkuYzoyMjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoyMjY5CisjOiBhcHBseS5jOjIyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjI5MjIKKyM6IGFwcGx5LmM6MjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMDQxCisjOiBhcHBseS5jOjMwNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgogbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYXBwbHkuYzozMDUzCisjOiBhcHBseS5jOjMwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMwNTkKKyM6IGFwcGx5LmM6MzA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKICIlLipzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzA4MQorIzogYXBwbHkuYzozMDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMDg5CisjOiBhcHBseS5jOjMxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMTM1CisjOiBhcHBseS5jOjMxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzE0NQorIzogYXBwbHkuYzozMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMxNTMKKyM6IGFwcGx5LmM6MzE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMTcxCisjOiBhcHBseS5jOjMxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMTg0CisjOiBhcHBseS5jOjMxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMTkwCisjOiBhcHBseS5jOjMyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMjExCisjOiBhcHBseS5jOjMyMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMzMzCisjOiBhcHBseS5jOjMzNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzM4MSBhcHBseS5jOjMzOTIgYXBwbHkuYzozNDM4IHNldHVwLmM6MjQ4CisjOiBhcHBseS5jOjMzOTIgYXBwbHkuYzozNDAzIGFwcGx5LmM6MzQ0OSBzZXR1cC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMzODkKKyM6IGFwcGx5LmM6MzQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzQxOCBhcHBseS5jOjM2NTgKKyM6IGFwcGx5LmM6MzQyOSBhcHBseS5jOjM2NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNTAxIGFwcGx5LmM6MzY3MgorIzogYXBwbHkuYzozNTEyIGFwcGx5LmM6MzY4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNTEwIGFwcGx5LmM6MzY4MAorIzogYXBwbHkuYzozNTIxIGFwcGx5LmM6MzY5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNTQ1CisjOiBhcHBseS5jOjM1NTYKIG1zZ2lkICJyZXBvc2l0b3J5IGxhY2tzIHRoZSBuZWNlc3NhcnkgYmxvYiB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzU0OAorIzogYXBwbHkuYzozNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM1NjQgYXBwbHkuYzozNTY4CisjOiBhcHBseS5jOjM1NzUgYXBwbHkuYzozNTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNTgwCisjOiBhcHBseS5jOjM1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM1OTQKKyM6IGFwcGx5LmM6MzYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNTk5CisjOiBhcHBseS5jOjM2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNjI1CisjOiBhcHBseS5jOjM2MzYKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzY5NworIzogYXBwbHkuYzozNzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzY5OQorIzogYXBwbHkuYzozNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM4NTAgYXBwbHkuYzozODUyCisjOiBhcHBseS5jOjM4NjAgYXBwbHkuYzozODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzkwOAorIzogYXBwbHkuYzozOTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM5MTEKKyM6IGFwcGx5LmM6MzkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozOTMxCisjOiBhcHBseS5jOjM5NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzkzNgorIzogYXBwbHkuYzozOTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM5NTYKKyM6IGFwcGx5LmM6Mzk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM5NjAKKyM6IGFwcGx5LmM6Mzk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozOTc1CisjOiBhcHBseS5jOjM5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MDY2CisjOiBhcHBseS5jOjQwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQwNzMKKyM6IGFwcGx5LmM6NDA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MDc2CisjOiBhcHBseS5jOjQwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MDgxIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIzogYXBwbHkuYzo0MDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzUgYnVpbHRpbi9yZXNldC5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDA4NQorIzogYXBwbHkuYzo0MDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDA5NQorIzogYXBwbHkuYzo0MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MjMzCisjOiBhcHBseS5jOjQyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDI2OAorIzogYXBwbHkuYzo0Mjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQyNzQKKyM6IGFwcGx5LmM6NDI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQyODIKKyM6IGFwcGx5LmM6NDI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQyODggYXBwbHkuYzo0NDMyCisjOiBhcHBseS5jOjQyOTggYXBwbHkuYzo0NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDMyOQorIzogYXBwbHkuYzo0MzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDMzMworIzogYXBwbHkuYzo0MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDQwMworIzogYXBwbHkuYzo0NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ1MDEKKyM6IGFwcGx5LmM6NDUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDUwOQorIzogYXBwbHkuYzo0NTE5CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0NTEyCisjOiBhcHBseS5jOjQ1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgogbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYXBwbHkuYzo0NTIzCisjOiBhcHBseS5jOjQ1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDUzMSBidWlsdGluL2ZldGNoLmM6NzM3IGJ1aWx0aW4vZmV0Y2guYzo5ODYKKyM6IGFwcGx5LmM6NDU0MSBidWlsdGluL2ZldGNoLmM6NzM4IGJ1aWx0aW4vZmV0Y2guYzo5ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0NTQ1CisjOiBhcHBseS5jOjQ1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ1NDkKKyM6IGFwcGx5LmM6NDU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0NjU5CisjOiBhcHBseS5jOjQ2NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ2NjcKKyM6IGFwcGx5LmM6NDY3NwogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ2ODYKKyM6IGFwcGx5LmM6NDY5NgogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0ODI0CisjOiBhcHBseS5jOjQ4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ4NDkKKyM6IGFwcGx5LmM6NDg2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKIG1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYXBwbHkuYzo0ODU1IGFwcGx5LmM6NDg3MAorIzogYXBwbHkuYzo0ODY2IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYXBwbHkuYzo0ODYzCisjOiBhcHBseS5jOjQ4NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGFwcGx5LmM6NDg3OSBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjk4IGJ1aWx0aW4vcm0uYzozOTEKKyM6IGFwcGx5LmM6NDg5MCBidWlsdGluL2FkZC5jOjUxMyBidWlsdGluL212LmM6Mjk5IGJ1aWx0aW4vcm0uYzozOTEKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTEwIGFwcGx5LmM6NDkxMyBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAotIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA0Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOQorIzogYXBwbHkuYzo0OTIxIGFwcGx5LmM6NDkyNCBidWlsdGluL2FtLmM6MjI1NyBidWlsdGluL2FtLmM6MjI2MAorIzogYnVpbHRpbi9jbG9uZS5jOjExNSBidWlsdGluL2ZldGNoLmM6OTMgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKIG1zZ2lkICJwYXRoIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDkxMQorIzogYXBwbHkuYzo0OTIyCiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5MTQKKyM6IGFwcGx5LmM6NDkyNQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTE2IGJ1aWx0aW4vYW0uYzoyMjg2CisjOiBhcHBseS5jOjQ5MjcgYnVpbHRpbi9hbS5jOjIyNjYKIG1zZ2lkICJudW0iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTE3CisjOiBhcHBseS5jOjQ5MjgKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5MjAKKyM6IGFwcGx5LmM6NDkzMQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MzMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTI2CisjOiBhcHBseS5jOjQ5MzcKIG1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDkyOAorIzogYXBwbHkuYzo0OTM5CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5MzAKKyM6IGFwcGx5LmM6NDk0MQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTMyCisjOiBhcHBseS5jOjQ5NDMKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTM0CisjOiBhcHBseS5jOjQ5NDUKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5MzYKKyM6IGFwcGx5LmM6NDk0NwogbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTM4CisjOiBhcHBseS5jOjQ5NDkKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NDAKKyM6IGFwcGx5LmM6NDk1MQogbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTQyCisjOiBhcHBseS5jOjQ5NTMKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NDUgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA3CisjOiBhcHBseS5jOjQ5NTYgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MCBidWlsdGluL2xzLWZpbGVzLmM6NTE1CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTQ3CisjOiBhcHBseS5jOjQ5NTgKIG1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTQ4IGJ1aWx0aW4vYW0uYzoyMjY1CisjOiBhcHBseS5jOjQ5NTkgYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTQ5CisjOiBhcHBseS5jOjQ5NjAKIG1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NTIgYXBwbHkuYzo0OTU1CisjOiBhcHBseS5jOjQ5NjMgYXBwbHkuYzo0OTY2CiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NTgKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDk2MAorIzogYXBwbHkuYzo0OTcxCiBtc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTYyCisjOiBhcHBseS5jOjQ5NzMKIG1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NjQKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDk2NSBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NjUxCi0jOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjEyMiBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorIzogYXBwbHkuYzo0OTc2IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MCBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg3NyBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NjcKKyM6IGFwcGx5LmM6NDk3OAogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDk3MAorIzogYXBwbHkuYzo0OTgxCiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDk3MiBidWlsdGluL2FtLmM6MjI3NAorIzogYXBwbHkuYzo0OTgzIGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NDk4NAogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjEyCisjOiBhcmNoaXZlLmM6MTMKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzoxMworIzogYXJjaGl2ZS5jOjE0CiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1saXN0IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzoxNAorIzogYXJjaGl2ZS5jOjE1CiBtc2dpZCAiIgogImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzoxNQorIzogYXJjaGl2ZS5jOjE2CiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTUyIGJ1aWx0aW4vYWRkLmM6NDQyIGJ1aWx0aW4vcm0uYzozMDAKKyM6IGFyY2hpdmUuYzozMzMgYnVpbHRpbi9hZGQuYzoxNTQgYnVpbHRpbi9hZGQuYzo0OTIgYnVpbHRpbi9ybS5jOjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJmbXQiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQyOQorIzogYXJjaGl2ZS5jOjQxOAogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CisjOiBhcmNoaXZlLmM6NDE5IGJ1aWx0aW4vbG9nLmM6MTQ0NgogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDMxCisjOiBhcmNoaXZlLmM6NDIwCiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYmxhbWUuYzoyNjA3IGJ1aWx0aW4vYmxhbWUuYzoyNjA4IGJ1aWx0aW4vY29uZmlnLmM6NTkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2dyZXAuYzoxMDU0Ci0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDEgYnVpbHRpbi9scy1maWxlcy5jOjU0NAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMSBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5CisjOiBhcmNoaXZlLmM6NDIxIGJ1aWx0aW4vYmxhbWUuYzo2OTMgYnVpbHRpbi9ibGFtZS5jOjY5NCBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTEgYnVpbHRpbi9ncmVwLmM6MTA4MAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMiBidWlsdGluL2xzLWZpbGVzLmM6NTQ5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL3JlYWQtdHJlZS5jOjEyMAogIzogcGFyc2Utb3B0aW9ucy5oOjE1MwogbXNnaWQgImZpbGUiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQzMyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjQyMiBidWlsdGluL2FyY2hpdmUuYzo4OQogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDM1CisjOiBhcmNoaXZlLmM6NDI0CiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDM2CisjOiBhcmNoaXZlLmM6NDI1CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDM3CisjOiBhcmNoaXZlLmM6NDI2CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDM4CisjOiBhcmNoaXZlLmM6NDI3CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0NDYKKyM6IGFyY2hpdmUuYzo0MzUKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ0OQorIzogYXJjaGl2ZS5jOjQzOAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2Nsb25lLmM6ODgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OQorIzogYXJjaGl2ZS5jOjQ0MCBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6MTA1IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MgogbXNnaWQgInJlcG8iCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ1MiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjQ0MSBidWlsdGluL2FyY2hpdmUuYzo5MQogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NQorIzogYXJjaGl2ZS5jOjQ0MiBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg4CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDU0IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6NDQzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0NjEKKyM6IGFyY2hpdmUuYzo0NTAKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDYzCisjOiBhcmNoaXZlLmM6NDUyCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ2NQorIzogYXJjaGl2ZS5jOjQ1NAogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0ODcKKyM6IGFyY2hpdmUuYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0OTQKKyM6IGFyY2hpdmUuYzo0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAiIgogCi0jOiBhdHRyLmM6MjYzCisjOiBhdHRyLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCittc2dzdHIgIiIKKworIzogYXR0ci5jOjQxMAogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgogIlVzZSAnXFwhJyBmb3IgbGl0ZXJhbCBsZWFkaW5nIGV4Y2xhbWF0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBiaXNlY3QuYzo0NDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJpc2VjdC5jOjQ0NgorIzogYmlzZWN0LmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCiBtc2dzdHIgIiIKQEAgLTg3NSw3ICs4ODUsNyBAQAogbXNnaWQgImEgJXMgcmV2aXNpb24gaXMgbmVlZGVkIgogbXNnc3RyICIiCiAKLSM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjYyCisjOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NSBidWlsdGluL3RhZy5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgpAQCAtOTA4LDE1ICs5MTgsNTAgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGgKLSMuICIocm91Z2hseSAlZCBzdGVwcykiIHRyYW5zbGF0aW9uCi0jOiBiaXNlY3QuYzo5OTgKKyMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggIihyb3VnaGx5ICVkCisjLiBzdGVwcykiIHRyYW5zbGF0aW9uLgorIy4KKyM6IGJpc2VjdC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbiBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgogbXNnaWRfcGx1cmFsICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAorIzogYmxhbWUuYzoxNzU3Cittc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKK21zZ3N0ciAiIgorCisjOiBibGFtZS5jOjE3NjgKK21zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCittc2dzdHIgIiIKKworIzogYmxhbWUuYzoxNzg4Cittc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJsYW1lLmM6MTc5NyBidW5kbGUuYzoxNjQgcmVmLWZpbHRlci5jOjE5MTkgc2VxdWVuY2VyLmM6MTE2NgorIzogc2VxdWVuY2VyLmM6MjMyOCBidWlsdGluL2NvbW1pdC5jOjEwNTggYnVpbHRpbi9sb2cuYzozNTYgYnVpbHRpbi9sb2cuYzo5MDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1NyBidWlsdGluL2xvZy5jOjE2ODMgYnVpbHRpbi9sb2cuYzoxOTI2IGJ1aWx0aW4vbWVyZ2UuYzozNjAKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzcKK21zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBibGFtZS5jOjE4MTUKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICIiCisKKyM6IGJsYW1lLmM6MTgyNgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCittc2dzdHIgIiIKKworIzogYmxhbWUuYzoxODM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCittc2dzdHIgIiIKKwogIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMTAzNiw3ICsxMDgxLDcgQEAKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzozNjMKKyM6IGJyYW5jaC5jOjM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAiIgpAQCAtMTA0Niw5NyArMTA5MSw5MCBAQAogbXNnaWQgIiclcycgZG9lcyBub3QgbG9vayBsaWtlIGEgdjIgYnVuZGxlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6NjEKKyM6IGJ1bmRsZS5jOjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzo4NyBzZXF1ZW5jZXIuYzoxMzMxIHNlcXVlbmNlci5jOjE3NTIgYnVpbHRpbi9jb21taXQuYzo3NzcKKyM6IGJ1bmRsZS5jOjg4IHNlcXVlbmNlci5jOjEzNDQgc2VxdWVuY2VyLmM6MTc3MCBidWlsdGluL2NvbW1pdC5jOjc3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjEzOQorIzogYnVuZGxlLmM6MTQwCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDk5IHNlcXVlbmNlci5jOjExNTQgc2VxdWVuY2VyLmM6MjI5MAotIzogYnVpbHRpbi9ibGFtZS5jOjI4MjAgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzQ4Ci0jOiBidWlsdGluL2xvZy5jOjg5MCBidWlsdGluL2xvZy5jOjEzNDAgYnVpbHRpbi9sb2cuYzoxNjY2IGJ1aWx0aW4vbG9nLmM6MTkwOQotIzogYnVpbHRpbi9tZXJnZS5jOjM2MCBidWlsdGluL3Nob3J0bG9nLmM6MTc3Ci1tc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogYnVuZGxlLmM6MTg1CisjOiBidW5kbGUuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgY29udGFpbnMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE5MwogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjE5NAorIzogYnVuZGxlLmM6MTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVuZGxlLmM6MjUzCisjOiBidW5kbGUuYzoyNTQKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjI2NAorIzogYnVuZGxlLmM6MjY1CiBtc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6MzA0CisjOiBidW5kbGUuYzozMDcKIG1zZ2lkICJyZXYtbGlzdCBkaWVkIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjM1MworIzogYnVuZGxlLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI4MgorIzogYnVuZGxlLmM6NDQ2IGJ1aWx0aW4vbG9nLmM6MTczIGJ1aWx0aW4vbG9nLmM6MTU4OSBidWlsdGluL3Nob3J0bG9nLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6NDUxCisjOiBidW5kbGUuYzo0NTQKIG1zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzo0NjMKKyM6IGJ1bmRsZS5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6NDkxCisjOiBidW5kbGUuYzo0OTQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgIiIKIAotIzogY29sb3IuYzozMDAKKyM6IGNvbG9yLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LmM6NDAgc2VxdWVuY2VyLmM6MTU2NCBidWlsdGluL2FtLmM6NDIxIGJ1aWx0aW4vYW0uYzo0NTcKLSM6IGJ1aWx0aW4vYW0uYzoxNDkzIGJ1aWx0aW4vYW0uYzoyMTI3CisjOiBjb21taXQuYzo0MSBzZXF1ZW5jZXIuYzoxNTgyIGJ1aWx0aW4vYW0uYzo0MjAgYnVpbHRpbi9hbS5jOjQ1NgorIzogYnVpbHRpbi9hbS5jOjE0NjkgYnVpbHRpbi9hbS5jOjIxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC5jOjQyCisjOiBjb21taXQuYzo0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC5jOjE1MTQKKyM6IGNvbW1pdC5jOjE1MTEKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCkBAIC0xMTQ3LDE0MiArMTE4NSwxNjEgQEAKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjUxOAorIzogY29uZmlnLmM6MTg2Cittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo1MjIKKyM6IGNvbmZpZy5jOjcyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo1MjYKKyM6IGNvbmZpZy5jOjcyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6NTMwCisjOiBjb25maWcuYzo3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjUzNAorIzogY29uZmlnLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6NTM4CisjOiBjb25maWcuYzo3NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjY1NworIzogY29uZmlnLmM6ODY4CiBtc2dpZCAib3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjY1NworIzogY29uZmlnLmM6ODY4CiBtc2dpZCAiaW52YWxpZCB1bml0IgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjY2MworIzogY29uZmlnLmM6ODc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo2NjgKKyM6IGNvbmZpZy5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo2NzEKKyM6IGNvbmZpZy5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo2NzQKKyM6IGNvbmZpZy5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6Njc3CisjOiBjb25maWcuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjY4MAorIzogY29uZmlnLmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6NjgzCisjOiBjb25maWcuYzo4OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjc3MAorIzogY29uZmlnLmM6OTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6ODY1IGNvbmZpZy5jOjg3NgorIzogY29uZmlnLmM6MTA4NCBjb25maWcuYzoxMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjk5MworIzogY29uZmlnLmM6MTIxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTE0OQorIzogY29uZmlnLmM6MTM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxMzM5CisjOiBjb25maWcuYzoxNTY0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTM4OQorIzogY29uZmlnLmM6MTg5NAogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxNzQzCisjOiBjb25maWcuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgJXM6ICclcyciCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MjA4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTc0NQorIzogY29uZmlnLmM6MjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTgwNAorIzogY29uZmlnLmM6MjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjIyMjUgY29uZmlnLmM6MjQ1MAorIzogY29uZmlnLmM6MjUxNyBjb25maWcuYzoyNzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyMzQzCisjOiBjb25maWcuYzoyNjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjIzNDUKKyM6IGNvbmZpZy5jOjI2MzcgYnVpbHRpbi9yZW1vdGUuYzo3NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVuc2V0ICclcyciCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjQ5CisjOiBjb25uZWN0LmM6NTAKIG1zZ2lkICJUaGUgcmVtb3RlIGVuZCBodW5nIHVwIHVwb24gaW5pdGlhbCBjb250YWN0IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo1MQorIzogY29ubmVjdC5jOjUyCiBtc2dpZCAiIgogIkNvdWxkIG5vdCByZWFkIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkuXG4iCiAiXG4iCkBAIC0xMjkwLDcgKzEzNDcsNyBAQAogImFuZCB0aGUgcmVwb3NpdG9yeSBleGlzdHMuIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE5MCBidWlsdGluL3BydW5lLmM6MTQwCisjOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxOTEgYnVpbHRpbi9wcnVuZS5jOjE0MQogbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAiIgogCkBAIC0xMzA2LDk1ICsxMzYzLDk1IEBACiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogY29udmVydC5jOjIwMQorIzogY29udmVydC5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLlxuIgogIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzoyMDUKKyM6IGNvbnZlcnQuYzoyMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ1JMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy4iCiBtc2dzdHIgIiIKIAotIzogY29udmVydC5jOjIxMQorIzogY29udmVydC5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzLlxuIgogIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzoyMTUKKyM6IGNvbnZlcnQuYzoyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBkYXRlLmM6OTcKKyM6IGRhdGUuYzoxMTYKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICIiCiAKLSM6IGRhdGUuYzoxMDMKKyM6IGRhdGUuYzoxMjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHNlY29uZCBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBzZWNvbmRzIGFnbyIKK21zZ2lkICIlPFBSSXVNQVg+IHNlY29uZCBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gc2Vjb25kcyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTEwCisjOiBkYXRlLmM6MTI5CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBtaW51dGUgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgbWludXRlcyBhZ28iCittc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZGF0ZS5jOjExNworIzogZGF0ZS5jOjEzNgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgaG91ciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCittc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTI0CisjOiBkYXRlLmM6MTQzCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBkYXkgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgZGF5cyBhZ28iCittc2dpZCAiJTxQUkl1TUFYPiBkYXkgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGRheXMgYWdvIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZGF0ZS5jOjEzMAorIzogZGF0ZS5jOjE0OQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgd2VlayBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCittc2dpZCAiJTxQUkl1TUFYPiB3ZWVrIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB3ZWVrcyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTM3CisjOiBkYXRlLmM6MTU2CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBtb250aCBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBtb250aHMgYWdvIgorbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTQ4CisjOiBkYXRlLmM6MTY3CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSB5ZWFyIgotbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAogIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKLSM6IGRhdGUuYzoxNTEKKyM6IGRhdGUuYzoxNzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMsICVsdSBtb250aCBhZ28iCi1tc2dpZF9wbHVyYWwgIiVzLCAlbHUgbW9udGhzIGFnbyIKK21zZ2lkICIlcywgJTxQUkl1TUFYPiBtb250aCBhZ28iCittc2dpZF9wbHVyYWwgIiVzLCAlPFBSSXVNQVg+IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTU2IGRhdGUuYzoxNjEKKyM6IGRhdGUuYzoxNzUgZGF0ZS5jOjE4MAogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCkBAIC0xNDA3LDMyNyArMTQ2NCwzNzQgQEAKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6NjIKKyM6IGRpZmYuYzo2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzoxMjQKKyM6IGRpZmYuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzoxMjkKKyM6IGRpZmYuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6MjgxCisjOiBkaWZmLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzozNDQKKyM6IGRpZmYuYzozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjMwODUKKyM6IGRpZmYuYzozMTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjM0MTEKKyM6IGRpZmYuYzozNDI3CiBtc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjM1MDEKKyM6IGRpZmYuYzozNTE3CiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjM2NjQKKyM6IGRpZmYuYzozNjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjM2NzgKKyM6IGRpZmYuYzozNjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzo0Njk2CisjOiBkaWZmLmM6NDcxNgogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzo0Njk5CisjOiBkaWZmLmM6NDcxOQogbXNnaWQgIm9ubHkgZm91bmQgY29waWVzIGZyb20gbW9kaWZpZWQgcGF0aHMgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6NDcwMgorIzogZGlmZi5jOjQ3MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgogbXNnc3RyICIiCiAKLSM6IGRpci5jOjE4NjIKKyM6IGRpci5jOjE5NDgKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBkaXIuYzoxOTgxCisjOiBkaXIuYzoyMDY3CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBkaXIuYzoyNzU5CisjOiBkaXIuYzoyODQ2IGRpci5jOjI4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogZGlyLmM6Mjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoyMTMKKyM6IGVudHJ5LmM6MjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MjUxCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MjI1CisjOiBmZXRjaC1wYWNrLmM6MjYzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjI0MworIzogZmV0Y2gtcGFjay5jOjI4MiBidWlsdGluL2FyY2hpdmUuYzo2MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoyOTUKKyM6IGZldGNoLXBhY2suYzozMzUKIG1zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzozODEKKyM6IGZldGNoLXBhY2suYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzozODcKKyM6IGZldGNoLXBhY2suYzo0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjM4OQorIzogZmV0Y2gtcGFjay5jOjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3Qgbm90IGZvdW5kOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MzkyCisjOiBmZXRjaC1wYWNrLmM6NDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjM5NAorIzogZmV0Y2gtcGFjay5jOjQzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk3CisjOiBmZXRjaC1wYWNrLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjQzNgorIzogZmV0Y2gtcGFjay5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgJWQgJXMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjQ1MAorIzogZmV0Y2gtcGFjay5jOjQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6NDgzCisjOiBmZXRjaC1wYWNrLmM6NTIzCiBtc2dpZCAiZ2l2aW5nIHVwIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo0OTMgcHJvZ3Jlc3MuYzoyMzUKKyM6IGZldGNoLXBhY2suYzo1MzMgcHJvZ3Jlc3MuYzoyMzcKIG1zZ2lkICJkb25lIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo1MDUKKyM6IGZldGNoLXBhY2suYzo1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICglZCkgJXMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjU1MQorIzogZmV0Y2gtcGFjay5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo2OTcKKyM6IGZldGNoLXBhY2suYzo3NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjczNQorIzogZmV0Y2gtcGFjay5jOjgxMwogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo3NDMKKyM6IGZldGNoLXBhY2suYzo4MjEKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo3OTkKKyM6IGZldGNoLXBhY2suYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo4MTUKKyM6IGZldGNoLXBhY2suYzo4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo4MTcKKyM6IGZldGNoLXBhY2suYzo4OTUKIG1zZ2lkICJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo4NDQKKyM6IGZldGNoLXBhY2suYzo5MjIKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjg0OAorIzogZmV0Y2gtcGFjay5jOjkyNgogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjg1MQorIzogZmV0Y2gtcGFjay5jOjkyOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo4NTcKKyM6IGZldGNoLXBhY2suYzo5MzUKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo4NjEKKyM6IGZldGNoLXBhY2suYzo5MzkKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6ODY1CisjOiBmZXRjaC1wYWNrLmM6OTQzCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6ODY5CisjOiBmZXRjaC1wYWNrLmM6OTQ3CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjg3MworIzogZmV0Y2gtcGFjay5jOjk1MQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo4ODMKKyM6IGZldGNoLXBhY2suYzo5NjEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo4OTAKKyM6IGZldGNoLXBhY2suYzo5NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6ODk2CisjOiBmZXRjaC1wYWNrLmM6OTc0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo5MDAKKyM6IGZldGNoLXBhY2suYzo5NzgKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAyCisjOiBmZXRjaC1wYWNrLmM6OTgwCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjkxMworIzogZmV0Y2gtcGFjay5jOjk5MQogbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo5MjUKKyM6IGZldGNoLXBhY2suYzoxMDAzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEwODcKKyM6IGZldGNoLXBhY2suYzoxMTY1CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgIiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE4NQorIzogZmV0Y2gtcGFjay5jOjExODcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZW1vdGUgcmVmICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBhbGxvdyByZXF1ZXN0IGZvciB1bmFkdmVydGlzZWQgb2JqZWN0ICVzIgorbXNnc3RyICIiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzoxODEKIG1zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCiBtc2dzdHIgIiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIxNQorIzogZ3BnLWludGVyZmFjZS5jOjIxMQogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIxNworIzogZ3BnLWludGVyZmFjZS5jOjIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBncmFwaC5jOjk2CisjOiBncmFwaC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yZSBpbnZhbGlkIGNvbG9yICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCiBtc2dzdHIgIiIKIAotIzogZ3JlcC5jOjE3OTQKKyM6IGdyZXAuYzoxOTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICIiCiAKLSM6IGdyZXAuYzoxODExIGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODEgYnVpbHRpbi9ybS5jOjEzMworIzogZ3JlcC5jOjE5OTggYnVpbHRpbi9jbG9uZS5jOjQwMyBidWlsdGluL2RpZmYuYzo4MSBidWlsdGluL3JtLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogZ3JlcC5jOjE4MjIKKyM6IGdyZXAuYzoyMDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjIxOAorIzogaGVscC5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjIyNQorIzogaGVscC5jOjE4NgogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6MjU2CisjOiBoZWxwLmM6MjE3CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzozMjEKKyM6IGhlbHAuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKICJhYmxlIHRvIGV4ZWN1dGUgaXQuIE1heWJlIGdpdC0lcyBpcyBicm9rZW4/IgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzozNzYKKyM6IGhlbHAuYzozMzYKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6Mzk4CisjOiBoZWxwLmM6MzU4CiAjLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuXG4iCi0iQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnIgorbXNnaWQgIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjQwMworIzogaGVscC5jOjM2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCittc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6NDEwCisjOiBoZWxwLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIiIKKworIzogaGVscC5jOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzo0MTQgaGVscC5jOjQ4MAorIzogaGVscC5jOjM4MAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmRzIGFyZSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGhlbHAuYzozOTUKK21zZ2lkICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiIgorCisjOiBoZWxwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAtICVzIgorbXNnc3RyICIiCisKKyM6IGhlbHAuYzo0NjAKIG1zZ2lkICIiCiAiXG4iCiAiRGlkIHlvdSBtZWFuIHRoaXM/IgpAQCAtMTczNywxMiArMTg0MSw3IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBoZWxwLmM6NDc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlcyAtICVzIgotbXNnc3RyICIiCi0KLSM6IGlkZW50LmM6MzM0CisjOiBpZGVudC5jOjM0MgogbXNnaWQgIiIKICJcbiIKICIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCkBAIC0xNzU3LDYgKzE4NTYsMzkgQEAKICJcbiIKIG1zZ3N0ciAiIgogCisjOiBpZGVudC5jOjM2NgorbXNnaWQgIm5vIGVtYWlsIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogaWRlbnQuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKK21zZ3N0ciAiIgorCisjOiBpZGVudC5jOjM4MQorbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiBpZGVudC5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgorbXNnc3RyICIiCisKKyM6IGlkZW50LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IGlkZW50IG5hbWUgKGZvciA8JXM+KSBub3QgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBpZGVudC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBpZGVudC5jOjQxNiBidWlsdGluL2NvbW1pdC5jOjYxMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiIgorCiAjOiBsb2NrZmlsZS5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0xNzc4LDIzOCArMTkxMCwyNTIgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjE5ODAgYnVpbHRpbi9hbS5jOjIwMTUgYnVpbHRpbi9jaGVja291dC5jOjM3NworIzogYnVpbHRpbi9jaGVja291dC5jOjU5MSBidWlsdGluL2Nsb25lLmM6NzUzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEwCiBtc2dpZCAiKGJhZCBjb21taXQpXG4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMxIG1lcmdlLXJlY3Vyc2l2ZS5jOjIzOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMyIG1lcmdlLXJlY3Vyc2l2ZS5jOjI0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmZvX2NhY2hlIGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA0CiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjczOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyB0byBtYWtlIHJvb20gZm9yIHN1YmRpcmVjdG9yeVxuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MiBtZXJnZS1yZWN1cnNpdmUuYzo3NzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MyBtZXJnZS1yZWN1cnNpdmUuYzo3NzIKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDMgYnVpbHRpbi9jYXQtZmlsZS5jOjM0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDQgYnVpbHRpbi9jYXQtZmlsZS5jOjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NgogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4OCBtZXJnZS1yZWN1cnNpdmUuYzoxMTAyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCiAiaW4gdHJlZS4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NCBtZXJnZS1yZWN1cnNpdmUuYzoxMTA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgorImxlZnQgaW4gdHJlZS4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgogImluIHRyZWUgYXQgJXMuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQ0CiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDQKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKICJcIi0+XCIlc1wiIGluIFwiJXNcIiVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzEKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI5OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTcgbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MSBtZXJnZS1yZWN1cnNpdmUuYzoxNzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5MAogbXNnaWQgImNvbnRlbnQiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5NwogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcyMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MSBnaXQtc3VibW9kdWxlLnNoOjkzMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1MSBnaXQtc3VibW9kdWxlLnNoOjk0NQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3MgogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzgKIG1zZ2lkICJkaXJlY3RvcnkvZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4ODMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzAKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjIKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDI1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA2NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA3NAogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTQxIGJ1aWx0aW4vbWVyZ2UuYzo2NDUgYnVpbHRpbi9tZXJnZS5jOjc5MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE1MSBidWlsdGluL21lcmdlLmM6NjQ2IGJ1aWx0aW4vbWVyZ2UuYzo3OTMKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICIiCiAKQEAgLTIwMjYsMjMgKzIxNzIsMjUgQEAKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgogbXNnc3RyICIiCiAKLSM6IG5vdGVzLXV0aWxzLmM6NDEKKyM6IG5vdGVzLXV0aWxzLmM6NDIKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDAKKyM6IG5vdGVzLXV0aWxzLmM6MTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBub3Rlcy11dGlscy5jOjExMAorIzogbm90ZXMtdXRpbHMuYzoxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIiIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKLSMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQotIzogbm90ZXMtdXRpbHMuYzoxMzcKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YKKyMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcworIy4gaXRzIHZhbHVlLgorIy4KKyM6IG5vdGVzLXV0aWxzLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiIgpAQCAtMjA1MiwyOCArMjIwMCwyOSBAQAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NzIKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NzMKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU5MAorIzogcGFyc2Utb3B0aW9ucy5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQotIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uCi0jOiBwYXJzZS1vcHRpb25zLmM6NTk0CisjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCisjLgorIzogcGFyc2Utb3B0aW9ucy5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU5NworIzogcGFyc2Utb3B0aW9ucy5jOjYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjYzMQorIzogcGFyc2Utb3B0aW9ucy5jOjYzNAogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIiIKIApAQCAtMjA4MiwzNDYgKzIyMzEsNDY2IEBACiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgIiIKIAotIzogcGF0aC5jOjgyNgorIzogcGF0aC5jOjg5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjE0MgorIzogcGF0aHNwZWMuYzoxMjkKK21zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjE0NworbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjE1MAorbXNnaWQgImF0dHIgc3BlYyBtdXN0IG5vdCBiZSBlbXB0eSIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGF0dHJpYnV0ZSBuYW1lICVzIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MjU4CiBtc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjE0OQorIzogcGF0aHNwZWMuYzoyNjUKIG1zZ2lkICIiCiAiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgogInBhdGhzcGVjIHNldHRpbmdzIgogbXNnc3RyICIiCiAKLSM6IHBhdGhzcGVjLmM6MTg4CisjOiBwYXRoc3BlYy5jOjMwNQogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjIwMQorIzogcGF0aHNwZWMuYzozMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjIwNgorIzogcGF0aHNwZWMuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhdGhzcGVjLmM6MjM4CisjOiBwYXRoc3BlYy5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjI5MyBwYXRoc3BlYy5jOjMxNQotIywgYy1mb3JtYXQKLW1zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCi1tc2dzdHIgIiIKLQotIzogcGF0aHNwZWMuYzozNTAKKyM6IHBhdGhzcGVjLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IHBhdGhzcGVjLmM6MzYzCisjOiBwYXRoc3BlYy5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzo0NTEKKyM6IHBhdGhzcGVjLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjQ2MQorIzogcGF0aHNwZWMuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjUxMQorIzogcGF0aHNwZWMuYzo1NzUKIG1zZ2lkICIiCiAiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCiAidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgogbXNnc3RyICIiCiAKLSM6IHBhdGhzcGVjLmM6NTM1CisjOiBwYXRoc3BlYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzo1NDQKLW1zZ2lkICIiCi0iVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKLSJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgotbXNnc3RyICIiCi0KLSM6IHByZXR0eS5jOjk4MgorIzogcHJldHR5LmM6OTYzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAiIgogCi0jOiByZWFkLWNhY2hlLmM6MTMwNworIzogcmVhZC1jYWNoZS5jOjE0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCiAiVXNpbmcgdmVyc2lvbiAlaSIKIG1zZ3N0ciAiIgogCi0jOiByZWFkLWNhY2hlLmM6MTMxNworIzogcmVhZC1jYWNoZS5jOjE0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgogIlVzaW5nIHZlcnNpb24gJWkiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQ0CisjOiByZWFkLWNhY2hlLmM6MjMwOCBidWlsdGluL21lcmdlLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjM4MyBzZXF1ZW5jZXIuYzoxMzUzIHNlcXVlbmNlci5jOjIwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5saW5rOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWZzLmM6NjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIiIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4MQorIzogcmVmcy5jOjE3NjkKK21zZ2lkICJyZWYgdXBkYXRlcyBmb3JiaWRkZW4gaW5zaWRlIHF1YXJhbnRpbmUgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0OTMKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjU2CisjOiByZWYtZmlsdGVyLmM6MzUgd3Qtc3RhdHVzLmM6MTgxMQorbXNnaWQgImdvbmUiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzozNworIywgYy1mb3JtYXQKK21zZ2lkICJiZWhpbmQgJWQiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkLCBiZWhpbmQgJWQiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzo1OAorIzogcmVmLWZpbHRlci5jOjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6NzIKKyM6IHJlZi1maWx0ZXIuYzoxMjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdDogJSUoJXMpIgorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpsc3RyaXA9JXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjc4CisjOiByZWYtZmlsdGVyLmM6MTI1CiAjLCBjLWZvcm1hdAotbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjg1CisjOiByZWYtZmlsdGVyLmM6MTI3CiAjLCBjLWZvcm1hdAotbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgotbXNnc3RyICIiCi0KLSM6IHJlZi1maWx0ZXIuYzo5MgotIywgYy1mb3JtYXQKLW1zZ2lkICIlJSh0cmFpbGVycykgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCi1tc2dzdHIgIiIKLQotIzogcmVmLWZpbHRlci5jOjExMQotIywgYy1mb3JtYXQKLW1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKLW1zZ3N0ciAiIgotCi0jOiByZWYtZmlsdGVyLmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCAlJShjb250ZW50cykgYXJndW1lbnQ6ICVzIgotbXNnc3RyICIiCi0KLSM6IHJlZi1maWx0ZXIuYzoxMjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkICUlKG9iamVjdG5hbWUpIGFyZ3VtZW50OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoYWxpZ246PHdpZHRoPiw8cG9zaXRpb24+KSIKLW1zZ3N0ciAiIgotCi0jOiByZWYtZmlsdGVyLmM6MTU3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCBwb3NpdGlvbjolcyIKLW1zZ3N0ciAiIgotCi0jOiByZWYtZmlsdGVyLmM6MTYxCi0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB3aWR0aDolcyIKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCiAjOiByZWYtZmlsdGVyLmM6MTY3CiAjLCBjLWZvcm1hdAorbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlJSh0cmFpbGVycykgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShjb250ZW50cykgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcG9zaXRpb246JXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjI2OAorIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MTcxCisjOiByZWYtZmlsdGVyLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNTUKKyM6IHJlZi1maWx0ZXIuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MjgxCisjOiByZWYtZmlsdGVyLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MzgzCisjOiByZWYtZmlsdGVyLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoaWYpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIGFmdGVyICUlKGVsc2UpIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzo1OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjYxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSB1c2VkIHdpdGhvdXQgY29ycmVzcG9uZGluZyBhdG9tIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MzUKKyM6IHJlZi1maWx0ZXIuYzo2NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZvcm1hdCBzdHJpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjg5OAotbXNnaWQgIjpzdHJpcD0gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFyZ3VtZW50IgotbXNnc3RyICIiCi0KLSM6IHJlZi1maWx0ZXIuYzo5MDMKKyM6IHJlZi1maWx0ZXIuYzoxMjU0CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZiAnJXMnIGRvZXMgbm90IGhhdmUgJWxkIGNvbXBvbmVudHMgdG8gOnN0cmlwIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MTA2NgorIzogcmVmLWZpbHRlci5jOjEyNTcKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5rbm93biAlLipzIGZvcm1hdCAlcyIKK21zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjEwODYgcmVmLWZpbHRlci5jOjExMTcKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCisjLgorIzogcmVmLWZpbHRlci5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKKyMuCisjOiByZWYtZmlsdGVyLmM6MTI3MgorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MTI3NgorbXNnaWQgIihubyBicmFuY2gpIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDI2IHJlZi1maWx0ZXIuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MTA4OSByZWYtZmlsdGVyLmM6MTEyMAorIzogcmVmLWZpbHRlci5jOjE0MjkgcmVmLWZpbHRlci5jOjE0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFyc2Vfb2JqZWN0X2J1ZmZlciBmYWlsZWQgb24gJXMgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzQzCisjOiByZWYtZmlsdGVyLmM6MTc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjE0MTAKKyM6IHJlZi1maWx0ZXIuYzoxODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDE1CisjOiByZWYtZmlsdGVyLmM6MTgzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcwCisjOiByZWYtZmlsdGVyLmM6MjA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzM0CisjOiByZWYtZmlsdGVyLmM6MjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6NzU0CisjOiByZW1vdGUuYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjc1OAorIzogcmVtb3RlLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6NzYyCisjOiByZW1vdGUuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjc3MAorIzogcmVtb3RlLmM6NzYzCiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MTY4NSByZW1vdGUuYzoxNzg3CisjOiByZW1vdGUuYzoxNjgwIHJlbW90ZS5jOjE3ODIKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE2OTQKKyM6IHJlbW90ZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MTY5NworIzogcmVtb3RlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNzAzCisjOiByZW1vdGUuYzoxNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE3MTgKKyM6IHJlbW90ZS5jOjE3MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MTczMAorIzogcmVtb3RlLmM6MTcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBoYXMgbm8gcmVtb3RlIGZvciBwdXNoaW5nIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE3NDEKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE3NTQKKyM6IHJlbW90ZS5jOjE3NDkKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MTc3NgorIzogcmVtb3RlLmM6MTc3MQogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MjA4MQorIzogcmVtb3RlLmM6MjA3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MjA4NQorIzogcmVtb3RlLmM6MjA4MAogbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjIwODgKKyM6IHJlbW90ZS5jOjIwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MjA5MgorIzogcmVtb3RlLmM6MjA4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogcmVtb3RlLmM6MjA5OAorIzogcmVtb3RlLmM6MjA5MwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MjEwMQorIzogcmVtb3RlLmM6MjA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTI0MjksMTEgKzI2OTgsMTEgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHJlbW90ZS5jOjIxMDkKKyM6IHJlbW90ZS5jOjIxMDQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoyMTEyCisjOiByZW1vdGUuYzoyMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMjQ0NCwxNDEgKzI3MTMsMTQ2IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiByZW1vdGUuYzoyMTIyCisjOiByZW1vdGUuYzoyMTE3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIiCiAKLSM6IHJldmlzaW9uLmM6MjE1OAorIzogcmV2aXNpb24uYzoyMTg3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAiIgogCi0jOiByZXZpc2lvbi5jOjIxNjEKKyM6IHJldmlzaW9uLmM6MjE5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgIiIKIAotIzogcmV2aXNpb24uYzoyMzU1CisjOiByZXZpc2lvbi5jOjIzODQKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiIgogCi0jOiBydW4tY29tbWFuZC5jOjEyNQorIzogcnVuLWNvbW1hbmQuYzo2NDQKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjcKKyM6IHNlbmQtcGFjay5jOjE1MQogIywgYy1mb3JtYXQKLW1zZ2lkICJkdXAyKCVkLCVkKSBmYWlsZWQiCittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZW5kLXBhY2suYzoyOTcKKyM6IHNlbmQtcGFjay5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCittc2dzdHIgIiIKKworIzogc2VuZC1wYWNrLmM6MzE2CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6NDEwCisjOiBzZW5kLXBhY2suYzo0MjkKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6NDEyCisjOiBzZW5kLXBhY2suYzo0MzEKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6NDI0CisjOiBzZW5kLXBhY2suYzo0NDMKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6NDI5CisjOiBzZW5kLXBhY2suYzo0NDgKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTUKKyM6IHNlcXVlbmNlci5jOjIxNgogbXNnaWQgInJldmVydCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTcKKyM6IHNlcXVlbmNlci5jOjIxOAogbXNnaWQgImNoZXJyeS1waWNrIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIxOQorIzogc2VxdWVuY2VyLmM6MjIwCiBtc2dpZCAicmViYXNlIC1pIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIyMQorIzogc2VxdWVuY2VyLmM6MjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYWN0aW9uOiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzgKKyM6IHNlcXVlbmNlci5jOjI3OQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI4MQorIzogc2VxdWVuY2VyLmM6MjgyCiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPidcbiIKICJhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAnZ2l0IGNvbW1pdCciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjk0IHNlcXVlbmNlci5jOjE2NjcKKyM6IHNlcXVlbmNlci5jOjI5NSBzZXF1ZW5jZXIuYzoxNjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjk3IHNlcXVlbmNlci5jOjE1NDUgc2VxdWVuY2VyLmM6MTY3MiBzZXF1ZW5jZXIuYzoxNjg2CisjOiBzZXF1ZW5jZXIuYzoyOTggc2VxdWVuY2VyLmM6MTU2MyBzZXF1ZW5jZXIuYzoxNjkwIHNlcXVlbmNlci5jOjE3MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzAxCisjOiBzZXF1ZW5jZXIuYzozMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMwNSBzZXF1ZW5jZXIuYzoxNTUwIHNlcXVlbmNlci5jOjE2NzQKKyM6IHNlcXVlbmNlci5jOjMwNiBzZXF1ZW5jZXIuYzoxNTY4IHNlcXVlbmNlci5jOjE2OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcycuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMyOSBzZXF1ZW5jZXIuYzo4MDggc2VxdWVuY2VyLmM6MTU3MSBidWlsdGluL2FtLmM6MjU5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTAzNgorIzogc2VxdWVuY2VyLmM6MzMwIHNlcXVlbmNlci5jOjgxNyBzZXF1ZW5jZXIuYzoxNTg5IGJ1aWx0aW4vYW0uYzoyNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzUwIGJ1aWx0aW4vbWVyZ2UuYzoxMDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzU1CisjOiBzZXF1ZW5jZXIuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNTkKKyM6IHNlcXVlbmNlci5jOjM2MAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozODgKKyM6IHNlcXVlbmNlci5jOjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmFzdC1mb3J3YXJkIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCi0jLiAqICJyZWJhc2UgLWkiLgorIy4gInJlYmFzZSAtaSIuCiAjLgotIzogc2VxdWVuY2VyLmM6NDcwCisjOiBzZXF1ZW5jZXIuYzo0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODkKKyM6IHNlcXVlbmNlci5jOjQ5MQogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NTA5CisjOiBzZXF1ZW5jZXIuYzo1MTEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTIKKyM6IHNlcXVlbmNlci5jOjU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKQEAgLTI1OTUsMTcgKzI4NjksMTcgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjY4OAorIzogc2VxdWVuY2VyLmM6Njk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo2OTMKKyM6IHNlcXVlbmNlci5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjgxNQorIzogc2VxdWVuY2VyLmM6ODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmV4cGVjdGVkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjYxMyw3ICsyODg3LDcgQEAKICJcdCUuKnMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODIxCisjOiBzZXF1ZW5jZXIuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCkBAIC0yNjIxLDIyOSArMjg5NSwyMjkgQEAKICJcdCUuKnMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODI3IHNlcXVlbmNlci5jOjg1MgorIzogc2VxdWVuY2VyLmM6ODM2IHNlcXVlbmNlci5jOjg2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODM2CisjOiBzZXF1ZW5jZXIuYzo4NDUKIG1zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzgKKyM6IHNlcXVlbmNlci5jOjg0NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODQwCisjOiBzZXF1ZW5jZXIuYzo4NDkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODQ2CisjOiBzZXF1ZW5jZXIuYzo4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODU1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQorIzogc2VxdWVuY2VyLmM6ODY0IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQogbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODYzCisjOiBzZXF1ZW5jZXIuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2Ugb2YgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODcwCisjOiBzZXF1ZW5jZXIuYzo4NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyVkOiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzUKKyM6IHNlcXVlbmNlci5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyVkIHdpbGwgYmUgc2tpcHBlZDoiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo5NDYKKyM6IHNlcXVlbmNlci5jOjk1NQogbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6OTY0CisjOiBzZXF1ZW5jZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjk3MgorIzogc2VxdWVuY2VyLmM6OTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo5NzYKKyM6IHNlcXVlbmNlci5jOjk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjk4MgorIzogc2VxdWVuY2VyLmM6OTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKICMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzoxMDAxCisjOiBzZXF1ZW5jZXIuYzoxMDEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDYzIHNlcXVlbmNlci5jOjE4MTIKKyM6IHNlcXVlbmNlci5jOjEwNzUgc2VxdWVuY2VyLmM6MTgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVuYW1lICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE0CisjOiBzZXF1ZW5jZXIuYzoxMTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTExNQorIzogc2VxdWVuY2VyLmM6MTEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTE1NworIzogc2VxdWVuY2VyLmM6MTE2OQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjExNjcKKyM6IHNlcXVlbmNlci5jOjExNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTE3NAorIzogc2VxdWVuY2VyLmM6MTE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjk0CisjOiBzZXF1ZW5jZXIuYzoxMzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzAyCisjOiBzZXF1ZW5jZXIuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAnJXMnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTMzNAorIzogc2VxdWVuY2VyLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQxCisjOiBzZXF1ZW5jZXIuYzoxMzU5CiBtc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTM0MworIzogc2VxdWVuY2VyLmM6MTM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQ4CisjOiBzZXF1ZW5jZXIuYzoxMzY2CiBtc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjEzNTkKKyM6IHNlcXVlbmNlci5jOjEzNzcKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxCisjOiBzZXF1ZW5jZXIuYzoxMzc5CiBtc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTQyNAorIzogc2VxdWVuY2VyLmM6MTQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTQyNworIzogc2VxdWVuY2VyLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTQ4NAorIzogc2VxdWVuY2VyLmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIyCisjOiBzZXF1ZW5jZXIuYzoxNTQwCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIzCisjOiBzZXF1ZW5jZXIuYzoxNTQxCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTI2CisjOiBzZXF1ZW5jZXIuYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE1NDAKKyM6IHNlcXVlbmNlci5jOjE1NTgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTYgc2VxdWVuY2VyLmM6MjE1MAorIzogc2VxdWVuY2VyLmM6MTYxNCBzZXF1ZW5jZXIuYzoyMTg4CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTgKKyM6IHNlcXVlbmNlci5jOjE2MTYKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE2MDAgc2VxdWVuY2VyLmM6MTYzNAorIzogc2VxdWVuY2VyLmM6MTYxOCBzZXF1ZW5jZXIuYzoxNjUyCiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTYyMCBidWlsdGluL2dyZXAuYzo5MDQKKyM6IHNlcXVlbmNlci5jOjE2MzggYnVpbHRpbi9ncmVwLmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTYyMgorIzogc2VxdWVuY2VyLmM6MTY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIzCisjOiBzZXF1ZW5jZXIuYzoxNjQxCiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjI5CisjOiBzZXF1ZW5jZXIuYzoxNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjQwCisjOiBzZXF1ZW5jZXIuYzoxNjU4CiBtc2dpZCAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiBOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE3Nzcgc2VxdWVuY2VyLmM6MjA0OQorIzogc2VxdWVuY2VyLmM6MTc5NSBzZXF1ZW5jZXIuYzoyMDg2CiBtc2dpZCAiY2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxODE3IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NzQKKyM6IHNlcXVlbmNlci5jOjE4MzUgYnVpbHRpbi9kaWZmdG9vbC5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTgzMworIzogc2VxdWVuY2VyLmM6MTg1MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE4MzgKKyM6IHNlcXVlbmNlci5jOjE4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCkBAIC0yODUzLDExICszMTI3LDExIEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTg0NAorIzogc2VxdWVuY2VyLmM6MTg2MgogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTg1MAorIzogc2VxdWVuY2VyLmM6MTg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKQEAgLTI4NjgsMTcgKzMxNDIsMTcgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTA1IGdpdC1yZWJhc2Uuc2g6MTY4CisjOiBzZXF1ZW5jZXIuYzoxOTI1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE3CisjOiBzZXF1ZW5jZXIuYzoxOTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE5IGdpdC1yZWJhc2Uuc2g6MTcyCisjOiBzZXF1ZW5jZXIuYzoxOTQwIGdpdC1yZWJhc2Uuc2g6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgpAQCAtMjg4Niw4OSArMzE2MCw4OSBAQAogIllvdSBjYW4gcnVuIFwiZ2l0IHN0YXNoIHBvcFwiIG9yIFwiZ2l0IHN0YXNoIGRyb3BcIiBhdCBhbnkgdGltZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDAwCisjOiBzZXF1ZW5jZXIuYzoyMDIyCiAjLCBjLWZvcm1hdAotbXNnaWQgInN0b3BwZWQgYXQgJXMuLi4gJS4qcyIKK21zZ2lkICJTdG9wcGVkIGF0ICVzLi4uICAlLipzXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjAyNworIzogc2VxdWVuY2VyLmM6MjA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgJWQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjA1NworIzogc2VxdWVuY2VyLmM6MjA5NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIG9yaWctaGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYxCisjOiBzZXF1ZW5jZXIuYzoyMDk5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIwNjgKKyM6IHNlcXVlbmNlci5jOjIxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDc1CisjOiBzZXF1ZW5jZXIuYzoyMTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgSEVBRCB0byAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTU5CisjOiBzZXF1ZW5jZXIuYzoyMTk3CiBtc2dpZCAiY2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjE2NAorIzogc2VxdWVuY2VyLmM6MjIwMgogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTczCisjOiBzZXF1ZW5jZXIuYzoyMjExCiBtc2dpZCAiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjE3NQorIzogc2VxdWVuY2VyLmM6MjIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGZpbGU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjE3NworIzogc2VxdWVuY2VyLmM6MjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbnRlbnRzOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIxODAKKyM6IHNlcXVlbmNlci5jOjIyMTgKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjE5MAorIzogc2VxdWVuY2VyLmM6MjIyOAogbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIyNzAKKyM6IHNlcXVlbmNlci5jOjIzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjI3NAorIzogc2VxdWVuY2VyLmM6MjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIzMDcKKyM6IHNlcXVlbmNlci5jOjIzNDUKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzoxNjAKKyM6IHNldHVwLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCiAiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjE3MworIzogc2V0dXAuYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC0yOTc2LDcgKzMyNTAsNyBAQAogIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzoyMjMKKyM6IHNldHVwLmM6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKQEAgLTI5ODQsOTYgKzMyNTgsOTYgQEAKICInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgogbXNnc3RyICIiCiAKLSM6IHNldHVwLmM6NDcwCisjOiBzZXR1cC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9ICVkLCBmb3VuZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjQ3OAorIzogc2V0dXAuYzo1MTIKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzo3NjgKKyM6IHNldHVwLmM6ODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNldHVwLmM6NzcwIHNldHVwLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKKyM6IHNldHVwLmM6ODEyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTIKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjg1MgorIzogc2V0dXAuYzoxMDUwCiBtc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjkyNworIzogc2V0dXAuYzoxMDYyIHNldHVwLmM6MTA2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHRvICclcyciCittc2dzdHIgIiIKKworIzogc2V0dXAuYzoxMDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKICJTdG9wcGluZyBhdCBmaWxlc3lzdGVtIGJvdW5kYXJ5IChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIG5vdCBzZXQpLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjkzNAotIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgY2hhbmdlIHRvICclcy8uLiciCi1tc2dzdHIgIiIKLQotIzogc2V0dXAuYzo5OTYKKyM6IHNldHVwLmM6MTE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAoMCUuM28pLlxuIgogIlRoZSBvd25lciBvZiBmaWxlcyBtdXN0IGFsd2F5cyBoYXZlIHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zLiIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX2ZpbGUuYzo0OTAKKyM6IHNoYTFfZmlsZS5jOjU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiIKIAotIzogc2hhMV9maWxlLmM6NTE2CisjOiBzaGExX2ZpbGUuYzo1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgIiIKIAotIzogc2hhMV9maWxlLmM6NTIyCisjOiBzaGExX2ZpbGUuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX2ZpbGUuYzo1MjgKKyM6IHNoYTFfZmlsZS5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgIiIKIAotIzogc2hhMV9maWxlLmM6NTM2CisjOiBzaGExX2ZpbGUuYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgogbXNnc3RyICIiCiAKLSM6IHNoYTFfZmlsZS5jOjExNzYKKyM6IHNoYTFfZmlsZS5jOjEyNDUKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX2ZpbGUuYzoyNjM3CisjOiBzaGExX2ZpbGUuYzoyNzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX2ZpbGUuYzoyNjQxCisjOiBzaGExX2ZpbGUuYzoyNzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX25hbWUuYzo0MDcKKyM6IHNoYTFfbmFtZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExX25hbWUuYzo0MTgKKyM6IHNoYTFfbmFtZS5jOjQzMAogbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCiBtc2dzdHIgIiIKIAotIzogc2hhMV9uYW1lLmM6NTc4CisjOiBzaGExX25hbWUuYzo1ODkKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0zMDg2LDYxICszMzYwLDgxIEBACiAicnVubmluZyBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6NjUgc3VibW9kdWxlLmM6OTkKKyM6IHN1Ym1vZHVsZS5jOjcwIHN1Ym1vZHVsZS5jOjEwNAogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjY5IHN1Ym1vZHVsZS5jOjEwMworIzogc3VibW9kdWxlLmM6NzQgc3VibW9kdWxlLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzo3NworIzogc3VibW9kdWxlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxMTAKKyM6IHN1Ym1vZHVsZS5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxMjEKKyM6IHN1Ym1vZHVsZS5jOjEyNgogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTU5CisjOiBzdWJtb2R1bGUuYzoxNjUKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTE4NAorIzogc3VibW9kdWxlLmM6Mzc2CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ2lkICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxMTk3CisjOiBzdWJtb2R1bGUuYzo0MDcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTM5OAorIzogc3VibW9kdWxlLmM6MTMzNworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBoYXMgZGlydHkgaW5kZXgiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxNDEwIHN1Ym1vZHVsZS5jOjE0NzEKKyM6IHN1Ym1vZHVsZS5jOjE4NTcgc3VibW9kdWxlLmM6MTkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIG5hbWUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MTQgc3VibW9kdWxlLmM6MTQ3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUwCisjOiBzdWJtb2R1bGUuYzoxODYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxNDIwCisjOiBzdWJtb2R1bGUuYzoxODY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJNaWdyYXRpbmcgZ2l0IGRpcmVjdG9yeSBvZiAnJXMlcycgZnJvbVxuIgpAQCAtMzE0OCw4OCArMzQ0MiwxMDEgQEAKICInJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTUxMgorIzogc3VibW9kdWxlLmM6MTk0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozNjAKKyM6IHN1Ym1vZHVsZS5jOjE5OTIKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgbHMtZmlsZXMgaW4gLi4iCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MjAxMgorbXNnaWQgIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAibHMtdHJlZSByZXR1cm5lZCB1bmV4cGVjdGVkIHJldHVybiBjb2RlICVkIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdHJhaWxlci5jOjI0MAorIzogdHJhaWxlci5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5uaW5nIHRyYWlsZXIgY29tbWFuZCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFpbGVyLmM6NDczIHRyYWlsZXIuYzo0NzcgdHJhaWxlci5jOjQ4MSB0cmFpbGVyLmM6NTM1IHRyYWlsZXIuYzo1MzkKLSM6IHRyYWlsZXIuYzo1NDMKKyM6IHRyYWlsZXIuYzo0NzQgdHJhaWxlci5jOjQ3OCB0cmFpbGVyLmM6NDgyIHRyYWlsZXIuYzo1MzYgdHJhaWxlci5jOjU0MAorIzogdHJhaWxlci5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhbHVlICclcycgZm9yIGtleSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHRyYWlsZXIuYzo1MjUgdHJhaWxlci5jOjUzMCBidWlsdGluL3JlbW90ZS5jOjI4OQorIzogdHJhaWxlci5jOjUyNiB0cmFpbGVyLmM6NTMxIGJ1aWx0aW4vcmVtb3RlLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCiBtc2dzdHIgIiIKIAotIzogdHJhaWxlci5jOjcwMgorIzogdHJhaWxlci5jOjcwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIgogbXNnc3RyICIiCiAKLSM6IHRyYWlsZXIuYzo3MjIKKyM6IHRyYWlsZXIuYzo3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5wdXQgZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHRyYWlsZXIuYzo3MjUKKyM6IHRyYWlsZXIuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICIiCiAKLSM6IHRyYWlsZXIuYzo5NDkgYnVpbHRpbi9hbS5jOjQ0CisjOiB0cmFpbGVyLmM6OTUwIGJ1aWx0aW4vYW0uYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFpbGVyLmM6OTUxCisjOiB0cmFpbGVyLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHRyYWlsZXIuYzo5NTMKKyM6IHRyYWlsZXIuYzo5NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3Qgd3JpdGFibGUgYnkgdXNlciIKIG1zZ3N0ciAiIgogCi0jOiB0cmFpbGVyLmM6OTY1CisjOiB0cmFpbGVyLmM6OTY2CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogdHJhaWxlci5jOjEwMDEKKyM6IHRyYWlsZXIuYzoxMDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6NjIKKyM6IHRyYW5zcG9ydC5jOjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC5jOjE1MQorIzogdHJhbnNwb3J0LmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzo4ODUKKyM6IHRyYW5zcG9ydC5jOjg5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCiAibm90IGJlIGZvdW5kIG9uIGFueSByZW1vdGU6XG4iCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6ODg5CisjOiB0cmFuc3BvcnQuYzo4OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzI0NSwxMSArMzU1MiwxMSBAQAogIlxuIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC5jOjg5NworIzogdHJhbnNwb3J0LmM6OTAyCiBtc2dpZCAiQWJvcnRpbmcuIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDgyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgIiIKQEAgLTMyNzAsOTggKzM1NzcsOTggQEAKIG1zZ2lkICJ0b28tc2hvcnQgdHJlZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjk5CisjOiB1bnBhY2stdHJlZXMuYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgogIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEwMQorIzogdW5wYWNrLXRyZWVzLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKICIlJXMiCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA0CisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgogIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA2CisjOiB1bnBhY2stdHJlZXMuYzoxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgogIiUlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDkKKyM6IHVucGFjay10cmVlcy5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCiAiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTEKKyM6IHVucGFjay10cmVlcy5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCiAiJSVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjExNgorIzogdW5wYWNrLXRyZWVzLmM6MTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVcGRhdGluZyB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzIHdvdWxkIGxvc2UgdW50cmFja2VkIGZpbGVzIGluIHRoZW06XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIwCisjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgogIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjIKKyM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCiAiJSVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNQorIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjcKKyM6IHVucGFjay10cmVlcy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCiAiJSVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMAorIzogdW5wYWNrLXRyZWVzLmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzIKKyM6IHVucGFjay10cmVlcy5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCiAiJSVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzNworIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtMzM2OSw3ICszNjc2LDcgQEAKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM5CisjOiB1bnBhY2stdHJlZXMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC0zMzc3LDQ3ICszNjg0LDQ3IEBACiAiJSVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MgorIzogdW5wYWNrLXRyZWVzLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ0CisjOiB1bnBhY2stdHJlZXMuYzoxNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXMiCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ3CisjOiB1bnBhY2stdHJlZXMuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDkKKyM6IHVucGFjay10cmVlcy5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTYKKyM6IHVucGFjay10cmVlcy5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTkKKyM6IHVucGFjay10cmVlcy5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwLXRvLWRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC0zNDI1LDcgKzM3MzIsNyBAQAogIiVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC0zNDMzLDQ0MiArMzc0MCw0NjQgQEAKICIlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNDAKKyM6IHVucGFjay10cmVlcy5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogdW5wYWNrLXRyZWVzLmM6MjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nXG4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjcwCisjOiB1bnBhY2stdHJlZXMuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlIHVwZGF0ZSBzdHJhdGVneSBub3Qgc3VwcG9ydGVkIGZvciBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzozNDYKIG1zZ2lkICJDaGVja2luZyBvdXQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogdXJsbWF0Y2guYzoxMjAKKyM6IHVybG1hdGNoLmM6MTYzCiBtc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCiBtc2dzdHIgIiIKIAotIzogdXJsbWF0Y2guYzoxNDQgdXJsbWF0Y2guYzoyOTcgdXJsbWF0Y2guYzozNTYKKyM6IHVybG1hdGNoLmM6MTg3IHVybG1hdGNoLmM6MzQ2IHVybG1hdGNoLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiB1cmxtYXRjaC5jOjE3MgorIzogdXJsbWF0Y2guYzoyMTUKIG1zZ2lkICJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIKIG1zZ3N0ciAiIgogCi0jOiB1cmxtYXRjaC5jOjE4OQorIzogdXJsbWF0Y2guYzoyMzIKIG1zZ2lkICJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIgogbXNnc3RyICIiCiAKLSM6IHVybG1hdGNoLmM6MTk5CisjOiB1cmxtYXRjaC5jOjI0NwogbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCiBtc2dzdHIgIiIKIAotIzogdXJsbWF0Y2guYzoyNDQgdXJsbWF0Y2guYzoyNTUKKyM6IHVybG1hdGNoLmM6MjkyIHVybG1hdGNoLmM6MzAzCiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKIG1zZ3N0ciAiIgogCi0jOiB1cmxtYXRjaC5jOjMyMgorIzogdXJsbWF0Y2guYzozNzEKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICIiCiAKLSM6IHdvcmt0cmVlLmM6MjgyCisjOiB3b3JrdHJlZS5jOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM5MgorIzogd3JhcHBlci5jOjIyMyB3cmFwcGVyLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgIiIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKKyM6IHdyYXBwZXIuYzoyMjUgd3JhcHBlci5jOjM5NSBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIiIKIAotIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzk2IGJ1aWx0aW4vYW0uYzozMjAgYnVpbHRpbi9hbS5jOjc1OQotIzogYnVpbHRpbi9hbS5jOjg0NyBidWlsdGluL2NvbW1pdC5jOjE3MDAgYnVpbHRpbi9tZXJnZS5jOjEwMzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjM0MQorIzogd3JhcHBlci5jOjIyNyB3cmFwcGVyLmM6Mzk3IGJ1aWx0aW4vYW0uYzozMTkgYnVpbHRpbi9hbS5jOjc1NworIzogYnVpbHRpbi9hbS5jOjg0OSBidWlsdGluL21lcmdlLmM6MTAxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo2MDUgd3JhcHBlci5jOjYyNgorIzogd3JhcHBlci5jOjQyNCB3cmFwcGVyLmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiB3cmFwcGVyLmM6NjM0CisjOiB3cmFwcGVyLmM6NjMyCiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo2NTgKKyM6IHdyYXBwZXIuYzo2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo2NjAKKyM6IHdyYXBwZXIuYzo2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICVzIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MQorIzogd3Qtc3RhdHVzLmM6MTUyCiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKKyM6IHd0LXN0YXR1cy5jOjE3OSB3dC1zdGF0dXMuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MCB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoyMDgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTg0CisjOiB3dC1zdGF0dXMuYzoxODUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTg2IHd0LXN0YXR1cy5jOjE5MAorIzogd3Qtc3RhdHVzLmM6MTg3IHd0LXN0YXR1cy5jOjE5MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxODgKKyM6IHd0LXN0YXR1cy5jOjE4OQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKKyM6IHd0LXN0YXR1cy5jOjIwMCB3dC1zdGF0dXMuYzo5ODEKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAorIzogd3Qtc3RhdHVzLmM6MjE4IHd0LXN0YXR1cy5jOjk5MAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMjEKKyM6IHd0LXN0YXR1cy5jOjIyMgogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMworIzogd3Qtc3RhdHVzLmM6MjI0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjI0CisjOiB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjI2CisjOiB3dC1zdGF0dXMuYzoyMjcKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjM4CisjOiB3dC1zdGF0dXMuYzoyMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjUzCisjOiB3dC1zdGF0dXMuYzoyNTQKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NQorIzogd3Qtc3RhdHVzLmM6MjU2CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NworIzogd3Qtc3RhdHVzLmM6MjU4CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNTkKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MQorIzogd3Qtc3RhdHVzLmM6MjYyCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjYzCisjOiB3dC1zdGF0dXMuYzoyNjQKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNjUKKyM6IHd0LXN0YXR1cy5jOjI2NgogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NQorIzogd3Qtc3RhdHVzLmM6Mjc2CiBtc2dpZCAibmV3IGZpbGU6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NworIzogd3Qtc3RhdHVzLmM6Mjc4CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNzkKKyM6IHd0LXN0YXR1cy5jOjI4MAogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MQorIzogd3Qtc3RhdHVzLmM6MjgyCiBtc2dpZCAibW9kaWZpZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MworIzogd3Qtc3RhdHVzLmM6Mjg0CiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg1CisjOiB3dC1zdGF0dXMuYzoyODYKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyODcKKyM6IHd0LXN0YXR1cy5jOjI4OAogbXNnaWQgInVua25vd246IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OQorIzogd3Qtc3RhdHVzLmM6MjkwCiBtc2dpZCAidW5tZXJnZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MQorIzogd3Qtc3RhdHVzLmM6MzcyCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzozNzMKKyM6IHd0LXN0YXR1cy5jOjM3NAogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzozNzUKKyM6IHd0LXN0YXR1cy5jOjM3NgogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6ODE4CisjOiB3dC1zdGF0dXMuYzo4MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgorbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHd0LXN0YXR1cy5jOjg1MwogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMAorIzogd3Qtc3RhdHVzLmM6ODU1CiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjkzNwogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTMKKyM6IHd0LXN0YXR1cy5jOjEwNDkKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTAxNgorIzogd3Qtc3RhdHVzLmM6MTA1MgogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTAxOAorIzogd3Qtc3RhdHVzLmM6MTA1NAogbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMDIzCisjOiB3dC1zdGF0dXMuYzoxMDU5CiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMDI2CisjOiB3dC1zdGF0dXMuYzoxMDYyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMDM2CisjOiB3dC1zdGF0dXMuYzoxMDcyCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzkKKyM6IHd0LXN0YXR1cy5jOjEwNzUKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTA0MworIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NQorIzogd3Qtc3RhdHVzLmM6MTA4MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEwNDcKKyM6IHd0LXN0YXR1cy5jOjEwODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTE3NgorIzogd3Qtc3RhdHVzLmM6MTIxNAogbXNnaWQgImdpdC1yZWJhc2UtdG9kbyBpcyBtaXNzaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc4CisjOiB3dC1zdGF0dXMuYzoxMjE2CiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MQorIzogd3Qtc3RhdHVzLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MgorIzogd3Qtc3RhdHVzLmM6MTIzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTk3CisjOiB3dC1zdGF0dXMuYzoxMjM1CiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjAwCisjOiB3dC1zdGF0dXMuYzoxMjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjA4CisjOiB3dC1zdGF0dXMuYzoxMjQ2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjEKKyM6IHd0LXN0YXR1cy5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTIyNgorIzogd3Qtc3RhdHVzLmM6MTI2NAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMjc4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MgorIzogd3Qtc3RhdHVzLmM6MTI4MAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ0CisjOiB3dC1zdGF0dXMuYzoxMjgyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTAKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTkKKyM6IHd0LXN0YXR1cy5jOjEyOTcKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYyCisjOiB3dC1zdGF0dXMuYzoxMzAwCiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NgorIzogd3Qtc3RhdHVzLmM6MTMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzEKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NAorIzogd3Qtc3RhdHVzLmM6MTMxMgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NgorIzogd3Qtc3RhdHVzLmM6MTMxNAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjg2CisjOiB3dC1zdGF0dXMuYzoxMzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI5MQorIzogd3Qtc3RhdHVzLmM6MTMyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTQKKyM6IHd0LXN0YXR1cy5jOjEzMzIKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjk2CisjOiB3dC1zdGF0dXMuYzoxMzM0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTMwNQorIzogd3Qtc3RhdHVzLmM6MTM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMzEwCisjOiB3dC1zdGF0dXMuYzoxMzQ4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTMKKyM6IHd0LXN0YXR1cy5jOjEzNTEKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTMxNQorIzogd3Qtc3RhdHVzLmM6MTM1MwogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTMyNgorIzogd3Qtc3RhdHVzLmM6MTM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMAorIzogd3Qtc3RhdHVzLmM6MTM2OAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMworIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTMwCisjOiB3dC1zdGF0dXMuYzoxNTY4CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM2CisjOiB3dC1zdGF0dXMuYzoxNTc0CiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM4CisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQzCisjOiB3dC1zdGF0dXMuYzoxNTgxCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0NQorIzogd3Qtc3RhdHVzLmM6MTU4MwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0OAorIzogd3Qtc3RhdHVzLmM6MTU4NgogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTU2NgorIzogd3Qtc3RhdHVzLmM6MTYwNgogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODAKKyM6IHd0LXN0YXR1cy5jOjE2MDcKK21zZ2lkICJObyBjb21taXRzIHlldCIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNjIxCiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODIKKyM6IHd0LXN0YXR1cy5jOjE2MjMKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODYKKyM6IHd0LXN0YXR1cy5jOjE2MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTM4NzYsMzkwICs0MjA1LDQxMyBAQAogIm5ldyBmaWxlcyB5b3Vyc2VsZiAoc2VlICdnaXQgaGVscCBzdGF0dXMnKS4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTU5MgorIzogd3Qtc3RhdHVzLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTQKKyM6IHd0LXN0YXR1cy5jOjE2MzUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDAKKyM6IHd0LXN0YXR1cy5jOjE2NDEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDUKKyM6IHd0LXN0YXR1cy5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTYwOAorIzogd3Qtc3RhdHVzLmM6MTY0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKICJ0cmFjaylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE0CisjOiB3dC1zdGF0dXMuYzoxNjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTcKKyM6IHd0LXN0YXR1cy5jOjE2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMCB3dC1zdGF0dXMuYzoxNjI1CisjOiB3dC1zdGF0dXMuYzoxNjYxIHd0LXN0YXR1cy5jOjE2NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIzCisjOiB3dC1zdGF0dXMuYzoxNjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyNworIzogd3Qtc3RhdHVzLmM6MTY2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuXG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTczNAotbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKKyM6IHd0LXN0YXR1cy5jOjE3ODAKK21zZ2lkICJObyBjb21taXRzIHlldCBvbiAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTczOAorIzogd3Qtc3RhdHVzLmM6MTc4NAogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTc2NwotbXNnaWQgImdvbmUiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTc2OSB3dC1zdGF0dXMuYzoxNzc3CisjOiB3dC1zdGF0dXMuYzoxODEzIHd0LXN0YXR1cy5jOjE4MjEKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NzIgd3Qtc3RhdHVzLmM6MTc3NQorIzogd3Qtc3RhdHVzLmM6MTgxNiB3dC1zdGF0dXMuYzoxODE5CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMjc3CisjOiB3dC1zdGF0dXMuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjI4MworIzogd3Qtc3RhdHVzLmM6MjMxNwogbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMjg1CisjOiB3dC1zdGF0dXMuYzoyMzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzo0MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjgwCisjOiBidWlsdGluL2FkZC5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQorIzogYnVpbHRpbi9hZGQuYzo4NyBidWlsdGluL2NvbW1pdC5jOjI5MgogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjk1CisjOiBidWlsdGluL2FkZC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkKKyM6IGJ1aWx0aW4vYWRkLmM6MTUxCiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDkgYnVpbHRpbi9yZXYtcGFyc2UuYzo4NDUKKyM6IGJ1aWx0aW4vYWRkLmM6MjExIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODczCiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIwCisjOiBidWlsdGluL2FkZC5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjIyNAorIzogYnVpbHRpbi9hZGQuYzoyMjYKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjcKKyM6IGJ1aWx0aW4vYWRkLmM6MjI5CiBtc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzAKKyM6IGJ1aWx0aW4vYWRkLmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjM0CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjM3CisjOiBidWlsdGluL2FkZC5jOjIzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI0NworIzogYnVpbHRpbi9hZGQuYzoyNDkKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjYgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vbXYuYzoxMjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTk4IGJ1aWx0aW4vcHVzaC5jOjUyNAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI2IGJ1aWx0aW4vcm0uYzoyNDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY5IGJ1aWx0aW4vY2xlYW4uYzo5MDcgYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjIwMSBidWlsdGluL3B1c2guYzo1MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjQyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU5IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyIGJ1aWx0aW4vcmVzZXQuYzoyOTkKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzoyNzQKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjczCisjOiBidWlsdGluL2FkZC5jOjI3NgogbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjc0CisjOiBidWlsdGluL2FkZC5jOjI3NwogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI3NQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzgKKyM6IGJ1aWx0aW4vYWRkLmM6MjgxCiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODAKKyM6IGJ1aWx0aW4vYWRkLmM6MjgzCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgxCisjOiBidWlsdGluL2FkZC5jOjI4NAogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg1CiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAorIzogYnVpbHRpbi9hZGQuYzoyODYgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTMKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzoyODgKK21zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSd2ZSBhZGRlZCBhbm90aGVyIGdpdCByZXBvc2l0b3J5IGluc2lkZSB5b3VyIGN1cnJlbnQgcmVwb3NpdG9yeS5cbiIKKyJDbG9uZXMgb2YgdGhlIG91dGVyIHJlcG9zaXRvcnkgd2lsbCBub3QgY29udGFpbiB0aGUgY29udGVudHMgb2ZcbiIKKyJ0aGUgZW1iZWRkZWQgcmVwb3NpdG9yeSBhbmQgd2lsbCBub3Qga25vdyBob3cgdG8gb2J0YWluIGl0LlxuIgorIklmIHlvdSBtZWFudCB0byBhZGQgYSBzdWJtb2R1bGUsIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+ICVzXG4iCisiXG4iCisiSWYgeW91IGFkZGVkIHRoaXMgcGF0aCBieSBtaXN0YWtlLCB5b3UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZVxuIgorImluZGV4IHdpdGg6XG4iCisiXG4iCisiXHRnaXQgcm0gLS1jYWNoZWQgJXNcbiIKKyJcbiIKKyJTZWUgXCJnaXQgaGVscCBzdWJtb2R1bGVcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzEyCisjOiBidWlsdGluL2FkZC5jOjM1NwogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNDgKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk0CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTUKKyM6IGJ1aWx0aW4vYWRkLmM6NDAxCiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OQorIzogYnVpbHRpbi9hZGQuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1jaG1vZCBwYXJhbSAnJXMnIG11c3QgYmUgZWl0aGVyIC14IG9yICt4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc0CisjOiBidWlsdGluL2FkZC5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM3NQorIzogYnVpbHRpbi9hZGQuYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozODAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jaGVja291dC5jOjI3OQotIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MiBidWlsdGluL2NsZWFuLmM6OTE0IGJ1aWx0aW4vY29tbWl0LmM6MzUwCi0jOiBidWlsdGluL212LmM6MTQzIGJ1aWx0aW4vcmVzZXQuYzoyMzUgYnVpbHRpbi9ybS5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzo0MjYgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzYgYnVpbHRpbi9jaGVja291dC5jOjI4MgorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3NSBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzUxCisjOiBidWlsdGluL212LmM6MTQ0IGJ1aWx0aW4vcmVzZXQuYzoyMzggYnVpbHRpbi9ybS5jOjI3MgogIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0NAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6NDE0CisjOiBidWlsdGluL2FtLmM6NDEzCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjQ5MQorIzogYnVpbHRpbi9hbS5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MzIKKyM6IGJ1aWx0aW4vYW0uYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NjkKKyM6IGJ1aWx0aW4vYW0uYzo1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjU5NQorIzogYnVpbHRpbi9hbS5jOjU5MwogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6Nzc1CisjOiBidWlsdGluL2FtLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NDAKKyM6IGJ1aWx0aW4vYW0uYzo4NDIKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6ODg3CisjOiBidWlsdGluL2FtLmM6ODg5CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CisjOiBidWlsdGluL2FtLmM6ODkyIGJ1aWx0aW4vYW0uYzo5MDAKIG1zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6ODk1CisjOiBidWlsdGluL2FtLmM6ODk3CiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjk4NAorIzogYnVpbHRpbi9hbS5jOjk4NgogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6OTg5IGJ1aWx0aW4vY2xvbmUuYzozNzkKKyM6IGJ1aWx0aW4vYW0uYzo5OTEgYnVpbHRpbi9jbG9uZS5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5OTMKKyM6IGJ1aWx0aW4vYW0uYzo5OTUKIG1zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjExMjUgYnVpbHRpbi9jb21taXQuYzozNzYKKyM6IGJ1aWx0aW4vYW0uYzoxMTIwIGJ1aWx0aW4vY29tbWl0LmM6Mzc3CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjExNzYKKyM6IGJ1aWx0aW4vYW0uYzoxMTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTc3CisjOiBidWlsdGluL2FtLmM6MTE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjExNzgKKyM6IGJ1aWx0aW4vYW0uYzoxMTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTMxNgotbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgorIzogYnVpbHRpbi9hbS5jOjEzMDQKK21zZ2lkICJQYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2FtLmM6MTM3MAogIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTQxNworIzogYnVpbHRpbi9hbS5jOjEzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTYxMAorIzogYnVpbHRpbi9hbS5jOjE1ODYKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEyCisjOiBidWlsdGluL2FtLmM6MTU4OAogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzEKKyM6IGJ1aWx0aW4vYW0uYzoxNjA3CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTYzNworIzogYnVpbHRpbi9hbS5jOjE2MTMKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NjIKKyM6IGJ1aWx0aW4vYW0uYzoxNjM4CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjMyCisjOiBidWlsdGluL2FtLmM6MTY2MiBidWlsdGluL21lcmdlLmM6NjMyCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTY5MworIzogYnVpbHRpbi9hbS5jOjE2NjkKIG1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2NCBidWlsdGluL21lcmdlLmM6ODAyCi0jOiBidWlsdGluL21lcmdlLmM6ODI3CisjOiBidWlsdGluL2FtLmM6MTY4MiBidWlsdGluL2NvbW1pdC5jOjE3NjcgYnVpbHRpbi9tZXJnZS5jOjgwMworIzogYnVpbHRpbi9tZXJnZS5jOjgyOAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCisjOiBidWlsdGluL2FtLmM6MTcxNSBidWlsdGluL2FtLmM6MTcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NTkKKyM6IGJ1aWx0aW4vYW0uYzoxNzM1CiBtc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY0CisjOiBidWlsdGluL2FtLmM6MTc0MAogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAiIgogCkBAIC00MjY3LDIxMiArNDYxOSwyMTUgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTc3NAorIzogYnVpbHRpbi9hbS5jOjE3NTAKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODI0CisjOiBidWlsdGluL2FtLmM6MTgwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE4NjEgYnVpbHRpbi9hbS5jOjE5MzMKKyM6IGJ1aWx0aW4vYW0uYzoxODQwIGJ1aWx0aW4vYW0uYzoxOTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODc3CisjOiBidWlsdGluL2FtLmM6MTg1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTg4NQorIzogYnVpbHRpbi9hbS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE4OTEKKyM6IGJ1aWx0aW4vYW0uYzoxODcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb3B5IG9mIHRoZSBwYXRjaCB0aGF0IGZhaWxlZCBpcyBmb3VuZCBpbjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE5MzYKKyM6IGJ1aWx0aW4vYW0uYzoxOTE1CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgogImFscmVhZHkgaW50cm9kdWNlZCB0aGUgc2FtZSBjaGFuZ2VzOyB5b3UgbWlnaHQgd2FudCB0byBza2lwIHRoaXMgcGF0Y2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTQzCisjOiBidWlsdGluL2FtLmM6MTkyMgogbXNnaWQgIiIKICJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4LlxuIgotIkRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgorIllvdSBzaG91bGQgJ2dpdCBhZGQnIGVhY2ggZmlsZSB3aXRoIHJlc29sdmVkIGNvbmZsaWN0cyB0byBtYXJrIHRoZW0gYXMgIgorInN1Y2guXG4iCisiWW91IG1pZ2h0IHJ1biBgZ2l0IHJtYCBvbiBhIGZpbGUgdG8gYWNjZXB0IFwiZGVsZXRlZCBieSB0aGVtXCIgZm9yIGl0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjA1MSBidWlsdGluL2FtLmM6MjA1NSBidWlsdGluL2FtLmM6MjA2NyBidWlsdGluL3Jlc2V0LmM6MzA4Ci0jOiBidWlsdGluL3Jlc2V0LmM6MzE2CisjOiBidWlsdGluL2FtLmM6MjAzMSBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2FtLmM6MjA0NyBidWlsdGluL3Jlc2V0LmM6MzIzCisjOiBidWlsdGluL3Jlc2V0LmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMDMKKyM6IGJ1aWx0aW4vYW0uYzoyMDgzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTM3CisjOiBidWlsdGluL2FtLmM6MjExNwogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjAwCisjOiBidWlsdGluL2FtLmM6MjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzMKKyM6IGJ1aWx0aW4vYW0uYzoyMjEzCiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzQKKyM6IGJ1aWx0aW4vYW0uYzoyMjE0CiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMjIwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjIyCiBtc2dpZCAiaGlzdG9yaWNhbCBvcHRpb24gLS0gbm8tb3AiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDQKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0CiBtc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc4CisjOiBidWlsdGluL2FtLmM6MjIyNSBidWlsdGluL2luaXQtZGIuYzo0ODQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NworIzogYnVpbHRpbi9yZXBhY2suYzoxODAKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyMjcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUwCisjOiBidWlsdGluL2FtLmM6MjIzMAogbXNnaWQgInJlY29kZSBpbnRvIHV0ZjggKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUyCisjOiBidWlsdGluL2FtLmM6MjIzMgogbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQKKyM6IGJ1aWx0aW4vYW0uYzoyMjM0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NgorIzogYnVpbHRpbi9hbS5jOjIyMzYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU4CisjOiBidWlsdGluL2FtLmM6MjIzOAogbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMjQxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjQKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY2IGJ1aWx0aW4vYW0uYzoyMjY5IGJ1aWx0aW4vYW0uYzoyMjcyIGJ1aWx0aW4vYW0uYzoyMjc1Ci0jOiBidWlsdGluL2FtLmM6MjI3OCBidWlsdGluL2FtLmM6MjI4MSBidWlsdGluL2FtLmM6MjI4NCBidWlsdGluL2FtLmM6MjI4NwotIzogYnVpbHRpbi9hbS5jOjIyOTMKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ2IGJ1aWx0aW4vYW0uYzoyMjQ5IGJ1aWx0aW4vYW0uYzoyMjUyIGJ1aWx0aW4vYW0uYzoyMjU1CisjOiBidWlsdGluL2FtLmM6MjI1OCBidWlsdGluL2FtLmM6MjI2MSBidWlsdGluL2FtLmM6MjI2NCBidWlsdGluL2FtLmM6MjI2NworIzogYnVpbHRpbi9hbS5jOjIyNzMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjUKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzggYnVpbHRpbi9tZXJnZS5jOjIwMiBidWlsdGluL3B1bGwuYzoxMzUKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NCBidWlsdGluL3JlcGFjay5jOjE4NyBidWlsdGluL3JlcGFjay5jOjE5MQotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NCBidWlsdGluL3Nob3ctcmVmLmM6MTY5IGJ1aWx0aW4vdGFnLmM6MzU1Ci0jOiBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NQorIzogYnVpbHRpbi9hbS5jOjIyNjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgorIzogYnVpbHRpbi9ncmVwLmM6MTA2NCBidWlsdGluL21lcmdlLmM6MjAyIGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9wdWxsLmM6MTk3IGJ1aWx0aW4vcmVwYWNrLmM6MTg5IGJ1aWx0aW4vcmVwYWNrLmM6MTkzCisjOiBidWlsdGluL3JlcGFjay5jOjE5NSBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMxIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKKyM6IGJ1aWx0aW4vdGFnLmM6Mzk5IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNAorIzogcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CisjOiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQgYnVpbHRpbi90YWcuYzo0MzQgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk2CisjOiBidWlsdGluL2FtLmM6MjI3NgogbXNnaWQgIm92ZXJyaWRlIGVycm9yIG1lc3NhZ2Ugd2hlbiBwYXRjaCBmYWlsdXJlIG9jY3VycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI5OAorIzogYnVpbHRpbi9hbS5jOjIyNzgKIG1zZ2lkICJjb250aW51ZSBhcHBseWluZyBwYXRjaGVzIGFmdGVyIHJlc29sdmluZyBhIGNvbmZsaWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAxCisjOiBidWlsdGluL2FtLmM6MjI4MQogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA0CisjOiBidWlsdGluL2FtLmM6MjI4NAogbXNnaWQgInNraXAgdGhlIGN1cnJlbnQgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDcKKyM6IGJ1aWx0aW4vYW0uYzoyMjg3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMQorIzogYnVpbHRpbi9hbS5jOjIyOTEKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTMKKyM6IGJ1aWx0aW4vYW0uYzoyMjkzCiBtc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNSBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9tZXJnZS5jOjIzMwotIzogYnVpbHRpbi9wdWxsLmM6MTY1IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNzAKKyM6IGJ1aWx0aW4vYW0uYzoyMjk1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjMzCisjOiBidWlsdGluL3B1bGwuYzoxNzIgYnVpbHRpbi9yZXZlcnQuYzoxMTIgYnVpbHRpbi90YWcuYzo0MTQKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAiR1BHLXNpZ24gY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOQorIzogYnVpbHRpbi9hbS5jOjIyOTkKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjMzNAorIzogYnVpbHRpbi9hbS5jOjIzMTcKIG1zZ2lkICIiCiAiVGhlIC1iLy0tYmluYXJ5IG9wdGlvbiBoYXMgYmVlbiBhIG5vLW9wIGZvciBsb25nIHRpbWUsIGFuZFxuIgogIml0IHdpbGwgYmUgcmVtb3ZlZC4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgYW55bW9yZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzNDEKKyM6IGJ1aWx0aW4vYW0uYzoyMzI0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzU2CisjOiBidWlsdGluL2FtLmM6MjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODAKKyM6IGJ1aWx0aW4vYW0uYzoyMzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCiAiVXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZW1vdmUgaXQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzg2CisjOiBidWlsdGluL2FtLmM6MjM2OQogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIiIKIApAQCAtNDUwMiwxMSArNDg1Nyw2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKLW1zZ3N0ciAiIgotCiAjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKIG1zZ3N0ciAiIgpAQCAtNDUyNywzNjkgKzQ4NzcsMjc2IEBACiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNwogbXNnaWQgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPHJldi1vcHRzPl0gWzxyZXY+XSBbLS1dIDxmaWxlPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzgKKyM6IGJ1aWx0aW4vYmxhbWUuYzozMgogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxNzg2Ci1tc2dpZCAiQmxhbWluZyBsaW5lcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MgorIzogYnVpbHRpbi9ibGFtZS5jOjY2OAogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NjkKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg0CisjOiBidWlsdGluL2JsYW1lLmM6NjcwCiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg1CisjOiBidWlsdGluL2JsYW1lLmM6NjcxCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NgorIzogYnVpbHRpbi9ibGFtZS5jOjY3MgogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NworIzogYnVpbHRpbi9ibGFtZS5jOjY3MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CisjOiBidWlsdGluL2JsYW1lLmM6Njc0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzUKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkxCisjOiBidWlsdGluL2JsYW1lLmM6Njc3CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkyCisjOiBidWlsdGluL2JsYW1lLmM6Njc4CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MworIzogYnVpbHRpbi9ibGFtZS5jOjY3OQogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NAorIzogYnVpbHRpbi9ibGFtZS5jOjY4MAogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NQorIzogYnVpbHRpbi9ibGFtZS5jOjY4MQogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODIKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODMKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNAorIzogYnVpbHRpbi9ibGFtZS5jOjY5MAogbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTMKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA5IGJ1aWx0aW4vYmxhbWUuYzoyNjEwCisjOiBidWlsdGluL2JsYW1lLmM6Njk1IGJ1aWx0aW4vYmxhbWUuYzo2OTYKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwOQorIzogYnVpbHRpbi9ibGFtZS5jOjY5NQogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTYKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjExCisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAibixtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjExCisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2NTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3NDQKIG1zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgogbXNnc3RyICIiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KLSMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCi0jLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKLSMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgotIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgotIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI3MDYKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlCisjLiBtYXhpbXVtIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluCisjLiAiZ2l0IGJsYW1lIiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMQorIy4gbW9udGhzIGFnbyIsIHdoaWNoIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QKKyMuIGFtb25nIHZhcmlvdXMgZm9ybXMgb2YgcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0CisjLiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQorIy4gY29sdW1ucy4KKyMuCisjOiBidWlsdGluL2JsYW1lLmM6Nzk1CiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc4NgotbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MDYKLW1zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MTEKLW1zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MzgKLW1zZ2lkICIiCi0iLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODc5CisjOiBidWlsdGluL2JsYW1lLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCiBtc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNgotbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjgKK21zZ2lkICJCbGFtaW5nIGxpbmVzIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcKLW1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstbF0gWy1mXSA8YnJhbmNoLW5hbWU+IFs8c3RhcnQtcG9pbnQ+XSIKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9icmFuY2guYzoyOAotbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yXSAoLWQgfCAtRCkgPGJyYW5jaC1uYW1lPi4uLiIKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstbF0gWy1mXSA8YnJhbmNoLW5hbWU+IFs8c3RhcnQtcG9pbnQ+XSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjI5Ci1tc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLW0gfCAtTSkgWzxvbGQtYnJhbmNoPl0gPG5ldy1icmFuY2g+IgorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yXSAoLWQgfCAtRCkgPGJyYW5jaC1uYW1lPi4uLiIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjMwCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLW0gfCAtTSkgWzxvbGQtYnJhbmNoPl0gPG5ldy1icmFuY2g+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjMyCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBoYXMgYmVlbiBtZXJnZWQgdG9cbiIKICIgICAgICAgICAnJXMnLCBidXQgbm90IHlldCBtZXJnZWQgdG8gSEVBRC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgogIiAgICAgICAgICclcycsIGV2ZW4gdGhvdWdoIGl0IGlzIG1lcmdlZCB0byBIRUFELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MQorIzogYnVpbHRpbi9icmFuY2guYzoxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY1CisjOiBidWlsdGluL2JyYW5jaC5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCiAiSWYgeW91IGFyZSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCwgcnVuICdnaXQgYnJhbmNoIC1EICVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTgwCiBtc2dpZCAiVXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwNgorIzogYnVpbHRpbi9icmFuY2guYzoyMTEKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE3CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZGVsZXRlIGJyYW5jaCAnJXMnIGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQyCisjOiBidWlsdGluL2JyYW5jaC5jOjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU3CisjOiBidWlsdGluL2JyYW5jaC5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogZ29uZV0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzXSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2JlaGluZCAlZF0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZF0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2FoZWFkICVkXSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM0OQotbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCi0jLiAiSEVBRCBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkzCi1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1MzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM5CisjOiBidWlsdGluL2JyYW5jaC5jOjQ0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgYmlzZWN0ZWQgYXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkxCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CisjOiBidWlsdGluL2JyYW5jaC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk1CisjOiBidWlsdGluL2JyYW5jaC5jOjUwNgogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMQorIzogYnVpbHRpbi9icmFuY2guYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgpAQCAtNDg5NywyMTEgKzUxNTQsMjIwIEBACiAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgc3RyaXBwZWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU1CiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU1NwogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU5CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCiBtc2dpZCAiY2hhbmdlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAidXBzdHJlYW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NAogbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NQogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9icmFuY2guYzo1NjYKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU2IGJ1aWx0aW4vYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OCBidWlsdGluL2JyYW5jaC5jOjU3MAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY5IGJ1aWx0aW4vYnJhbmNoLmM6NTcxCittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU3NAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc1CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc3CiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc4CiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9icmFuY2guYzo1NzkKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NgorIzogYnVpbHRpbi9icmFuY2guYzo1ODAKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY3CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MQogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MgogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NQogbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg2CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc0CisjOiBidWlsdGluL2JyYW5jaC5jOjU4OAogbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6MzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4OSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDI3CiBtc2dpZCAia2V5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzozODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzggYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL25vdGVzLmM6NDA0Ci0jOiBidWlsdGluL25vdGVzLmM6NDA3IGJ1aWx0aW4vbm90ZXMuYzo1NjcgYnVpbHRpbi9ub3Rlcy5jOjU3MAotIzogYnVpbHRpbi90YWcuYzozODQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkyIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIgYnVpbHRpbi9ub3Rlcy5jOjQwNworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMCBidWlsdGluL25vdGVzLmM6NTcwIGJ1aWx0aW4vbm90ZXMuYzo1NzMKKyM6IGJ1aWx0aW4vdGFnLmM6NDMwCiBtc2dpZCAib2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc5CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2IGJ1aWx0aW4vdGFnLmM6Mzg4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4IGJ1aWx0aW4vdGFnLmM6NDM1CiBtc2dpZCAic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM0CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MTUKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwMiBidWlsdGluL2Nsb25lLmM6NzA2CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOSBidWlsdGluL2Nsb25lLmM6NzI4CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQyCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM1IGJ1aWx0aW4vYnJhbmNoLmM6Nzg3CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MyBidWlsdGluL2JyYW5jaC5jOjcwNQogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg2CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc4CisjOiBidWlsdGluL2JyYW5jaC5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5OAorIzogYnVpbHRpbi9icmFuY2guYzo3MTYKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDUgYnVpbHRpbi9icmFuY2guYzo4MjcgYnVpbHRpbi9icmFuY2guYzo4NDgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzIGJ1aWx0aW4vYnJhbmNoLmM6NzQ1IGJ1aWx0aW4vYnJhbmNoLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCisjOiBidWlsdGluL2JyYW5jaC5jOjczOQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0NQorIzogYnVpbHRpbi9icmFuY2guYzo3NjMKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NAorIzogYnVpbHRpbi9icmFuY2guYzo3NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCiAidHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG9cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg3MQorIzogYnVpbHRpbi9icmFuY2guYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTEwOSwzMjYgKzUzNzUsMzI2IEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo1MQorIzogYnVpbHRpbi9idW5kbGUuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBva2F5XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2NAorIzogYnVpbHRpbi9idW5kbGUuYzo1OAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2OAorIzogYnVpbHRpbi9idW5kbGUuYzo2MgogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTEzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTE5CiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTE0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTIwCiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU3CiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTkKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjEKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY2CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3IGdpdC1zdWJtb2R1bGUuc2g6OTQ0CiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY4CiBtc2dpZCAidXNlIGEgc3BlY2lmaWMgcGF0aCBmb3IgLS10ZXh0Y29udi8tLWZpbHRlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTY1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTcxCiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NgogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc5CiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODEKIG1zZ2lkICJzaG93IGFsbCBvYmplY3RzIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjExCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMgogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxOQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKIG1zZ2lkICJyZXBvcnQgYWxsIGF0dHJpYnV0ZXMgc2V0IG9uIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjQgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExNDAgYnVpbHRpbi9nYy5jOjMzMgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2djLmM6MzU3CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMwCiBtc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU4CiBtc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjEKIG1zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjcKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjgKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjkKIG1zZ2lkICJnaXQgY2hlY2stbWFpbG1hcCBbPG9wdGlvbnM+XSA8Y29udGFjdD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MTMKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjE0CiBtc2dpZCAiYWxzbyByZWFkIGNvbnRhY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjQKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb250YWN0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0NworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDgKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyNworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDUKIG1zZ2lkICJzdGFnZSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzIG9yIGFsbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYwCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCiBtc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBleGlzdGluZyBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYzCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY2CiBtc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjgKIG1zZ2lkICJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcyCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQKIG1zZ2lkICJ3cml0ZSB0aGUgY29udGVudCB0byB0ZW1wb3JhcnkgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NCBidWlsdGluL2NvbHVtbi5jOjMwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NSBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3OAogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc2CiBtc2dpZCAid2hlbiBjcmVhdGluZyBmaWxlcywgcHJlcGVuZCA8c3RyaW5nPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc4CiBtc2dpZCAiY29weSBvdXQgdGhlIGZpbGVzIGZyb20gbmFtZWQgc3RhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gPGJyYW5jaD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNCBidWlsdGluL2NoZWNrb3V0LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE5NgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAgYnVpbHRpbi9jaGVja291dC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MjU2Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYgYnVpbHRpbi9jaGVja291dC5jOjI1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjM0MiBidWlsdGluL2NoZWNrb3V0LmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDk0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDk3CiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjY5CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3MCBidWlsdGluL2Nsb25lLmM6NjYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjczIGJ1aWx0aW4vY2xvbmUuYzo2ODIKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgotbXNnc3RyICIiCi0KICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzcKICMsIGMtZm9ybWF0Cittc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwCisjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY4MyBidWlsdGluL2NoZWNrb3V0LmM6MTA3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjY4NiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTU0NDMsNyArNTcwOSw3IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTU0NjAsMTk4ICs1NzI2LDE5NiBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjgwMAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjgwNAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjggYnVpbHRpbi9jaGVja291dC5jOjEwNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MzIgYnVpbHRpbi9jaGVja291dC5jOjEwNzAKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTMgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTYgYnVpbHRpbi93b3JrdHJlZS5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODQKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NCBidWlsdGluL2NoZWNrb3V0LmM6MTA4OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODcgYnVpbHRpbi9jaGVja291dC5jOjEwOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NSBidWlsdGluL2NoZWNrb3V0LmM6MTEwMAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEgYnVpbHRpbi9jaGVja291dC5jOjExNDMgYnVpbHRpbi9jbG9uZS5jOjkzCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzI0Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NCBidWlsdGluL2NoZWNrb3V0LmM6MTE0NiBidWlsdGluL2Nsb25lLmM6MTEzCisjOiBidWlsdGluL3JlbW90ZS5jOjE2NiBidWlsdGluL3JlbW90ZS5jOjE2OCBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMwCiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NQogbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NwogbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ4CiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OSBidWlsdGluL3dvcmt0cmVlLmM6MzMyCiBtc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldy1icmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MwogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTcKIG1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NiBidWlsdGluL21lcmdlLmM6MjM1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL21lcmdlLmM6MjM1CiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU3IGJ1aWx0aW4vbG9nLmM6MTQ2NiBwYXJzZS1vcHRpb25zLmg6MjUxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MCBidWlsdGluL2xvZy5jOjE0ODMgcGFyc2Utb3B0aW9ucy5oOjI1MQogbXNnaWQgInN0eWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MQogbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY0CiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NgogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2OAogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NiBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQotIzogYnVpbHRpbi9tZXJnZS5jOjIzMiBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM5Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzIgYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vZmV0Y2guYzoxMTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTIwIGJ1aWx0aW4vcHVzaC5jOjU0NAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAzCiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyMAogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxOQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMjUKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYxCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiAjLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKLSJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKK21zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjc2CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNQorIzogYnVpbHRpbi9jbGVhbi5jOjI2CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMAorIzogYnVpbHRpbi9jbGVhbi5jOjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMQorIzogYnVpbHRpbi9jbGVhbi5jOjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjMKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtNTY2MCw3ICs1OTI0LDcgQEAKICIgICAgICAgICAgIC0gKGVtcHR5KSBzZWxlY3Qgbm90aGluZ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtNTY3MywzOCArNTkzNywzOCBAQAogIiAgICAgICAgICAgLSAoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmdcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTExIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk4Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwMworIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU0NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTIKICMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpP1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2NTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2OTAKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxMQorIzogYnVpbHRpbi9jbGVhbi5jOjcxOAogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzUyCisjOiBidWlsdGluL2NsZWFuLmM6NzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY5CisjOiBidWlsdGluL2NsZWFuLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJCeWUuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc4NQorIzogYnVpbHRpbi9jbGVhbi5jOjc5MgogbXNnaWQgIiIKICJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKICJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCkBAIC01NzE1LDQyMiArNTk3OSw0MzAgQEAKICI/ICAgICAgICAgICAgICAgICAgIC0gaGVscCBmb3IgcHJvbXB0IHNlbGVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODEyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NQorIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQyCisjOiBidWlsdGluL2NsZWFuLmM6ODIwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4OQogbXNnaWQgIldoYXQgbm93IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgzOAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NAogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDYKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcxCisjOiBidWlsdGluL2NsZWFuLmM6OTA4CiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3MgorIzogYnVpbHRpbi9jbGVhbi5jOjkwOQogbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTEKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2Rlc2NyaWJlLmM6NDA3IGJ1aWx0aW4vZ3JlcC5jOjEwNTYKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzggYnVpbHRpbi9uYW1lLXJldi5jOjMxMyBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL2NsZWFuLmM6OTEyIGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTIgYnVpbHRpbi9kZXNjcmliZS5jOjQ1NAorIzogYnVpbHRpbi9ncmVwLmM6MTA4MiBidWlsdGluL2xzLWZpbGVzLmM6NTQ2IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTkgYnVpbHRpbi9zaG93LXJlZi5jOjE3NgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NgorIzogYnVpbHRpbi9jbGVhbi5jOjkxMwogbXNnaWQgImFkZCA8cGF0dGVybj4gdG8gaWdub3JlIHJ1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4OTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwMQorIzogYnVpbHRpbi9jbGVhbi5jOjkzOAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKICJjbGVhbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA0CisjOiBidWlsdGluL2NsZWFuLmM6OTQxCiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyAiCiAicmVmdXNpbmcgdG8gY2xlYW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3CisjOiBidWlsdGluL2Nsb25lLmM6MzgKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MgogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9pbml0LWRiLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MgorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OCBidWlsdGluL2Nsb25lLmM6ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2Nsb25lLmM6OTkKK21zZ2lkICJwYXRoc3BlYyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMyBidWlsdGluL2luaXQtZGIuYzo0NzYKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2luaXQtZGIuYzo0NzcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwNiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODMKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MgorIzogYnVpbHRpbi9jbG9uZS5jOjExMgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNgogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9ncmVwLmM6OTk5Ci0jOiBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTcgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL2dyZXAuYzoxMDI1CisjOiBidWlsdGluL3B1bGwuYzoyMDUKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTgKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vZmV0Y2guYzoxMjIgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM2CisjOiBidWlsdGluL2Nsb25lLmM6MTE5IGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMyCiAjOiBwYXJzZS1vcHRpb25zLmg6MTQyCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2ZldGNoLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTkKIG1zZ2lkICJyZXZpc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIgYnVpbHRpbi9mZXRjaC5jOjEyMAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNAorIzogYnVpbHRpbi9jbG9uZS5jOjEyNAogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA2CisjOiBidWlsdGluL2Nsb25lLmM6MTI2Cittc2dpZCAiZG9uJ3QgY2xvbmUgYW55IHRhZ3MsIGFuZCBtYWtlIGxhdGVyIGZldGNoZXMgbm90IHRvIGZvbGxvdyB0aGVtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjgKIG1zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaGFsbG93IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcgYnVpbHRpbi9pbml0LWRiLmM6NDg0CisjOiBidWlsdGluL2Nsb25lLmM6MTI5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQorIzogYnVpbHRpbi9jbG9uZS5jOjEzMCBidWlsdGluL2luaXQtZGIuYzo0ODYKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzEKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTUwCisjOiBidWlsdGluL2Nsb25lLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdXNoLmM6NTU1CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vcHVzaC5jOjU1MgorIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVzaC5jOjU1NwogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNzIKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3NQorIzogYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM5NworIzogYnVpbHRpbi9jbG9uZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMworIzogYnVpbHRpbi9jbG9uZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0ODIKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgogImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzNworIzogYnVpbHRpbi9jbG9uZS5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjMyCisjOiBidWlsdGluL2Nsb25lLmM6NjU0CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0OAorIzogYnVpbHRpbi9jbG9uZS5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MTkKIG1zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyOAorIzogYnVpbHRpbi9jbG9uZS5jOjc1MAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2OAorIzogYnVpbHRpbi9jbG9uZS5jOjc5MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTcKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2NiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTAgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ1CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcwCisjOiBidWlsdGluL2Nsb25lLmM6ODk0CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MTAKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODk5CisjOiBidWlsdGluL2Nsb25lLmM6OTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTA1IGJ1aWx0aW4vZmV0Y2guYzoxMzM1CisjOiBidWlsdGluL2Nsb25lLmM6OTI5IGJ1aWx0aW4vZmV0Y2guYzoxMzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTE1CisjOiBidWlsdGluL2Nsb25lLmM6OTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyNQorIzogYnVpbHRpbi9jbG9uZS5jOjk0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vZGlmZnRvb2wuYzoyNTIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTkgYnVpbHRpbi93b3JrdHJlZS5jOjIyMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI0OQorIzogYnVpbHRpbi9jbG9uZS5jOjk2NCBidWlsdGluL2Nsb25lLmM6OTc1IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNjAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQzCisjOiBidWlsdGluL2Nsb25lLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NworIzogYnVpbHRpbi9jbG9uZS5jOjk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDA1CiBtc2dpZCAiIgogImNsb25lIC0tcmVjdXJzaXZlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtaWYtIgogImFibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDY3CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDY5CiBtc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyMworIzogYnVpbHRpbi9jbG9uZS5jOjEwNzEKIG1zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDc0CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzkKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkwIGJ1aWx0aW4vY2xvbmUuYzoxMDk4CisjOiBidWlsdGluL2Nsb25lLmM6MTEzOCBidWlsdGluL2Nsb25lLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNDkKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6OQorIzogYnVpbHRpbi9jb2x1bW4uYzoxMAogbXNnaWQgImdpdCBjb2x1bW4gWzxvcHRpb25zPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyNgorIzogYnVpbHRpbi9jb2x1bW4uYzoyNwogbXNnaWQgImxvb2t1cCBjb25maWcgdmFycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vY29sdW1uLmM6MjgKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MjggYnVpbHRpbi9jb2x1bW4uYzoyOQogbXNnaWQgImxheW91dCB0byB1c2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyOQorIzogYnVpbHRpbi9jb2x1bW4uYzozMAogbXNnaWQgIk1heGltdW0gd2lkdGgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMAorIzogYnVpbHRpbi9jb2x1bW4uYzozMQogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gbGVmdCBib3JkZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9jb2x1bW4uYzozMgogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gcmlnaHQgYm9yZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzMKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIGJldHdlZW4gY29sdW1ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjUxCisjOiBidWlsdGluL2NvbHVtbi5jOjUyCiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzkKIG1zZ2lkICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQzCisjOiBidWlsdGluL2NvbW1pdC5jOjQ0CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0OAorIzogYnVpbHRpbi9jb21taXQuYzo0OQogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC02MTQ1LDcgKzY0MTcsNyBAQAogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxCisjOiBidWlsdGluL2NvbW1pdC5jOjYyCiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTYxNTksMTQgKzY0MzEsMTQgQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MworIzogYnVpbHRpbi9jb21taXQuYzo3NAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgogInJlbW92ZSB0aGUgY29tbWl0IGVudGlyZWx5IHdpdGggXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc4CisjOiBidWlsdGluL2NvbW1pdC5jOjc5CiBtc2dpZCAiIgogIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgogIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKQEAgLTYxNzUsMTEgKzY0NDcsMTEgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2CiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4OAorIzogYnVpbHRpbi9jb21taXQuYzo4OQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCkBAIC02MTg5LDEwMyArNjQ2MSw5OCBAQAogInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMxOAorIzogYnVpbHRpbi9jb21taXQuYzozMTkKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzYwCiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY2CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3OAorIzogYnVpbHRpbi9jb21taXQuYzozNzkKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM4MAorIzogYnVpbHRpbi9jb21taXQuYzozODEKIG1zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIG1haW4gY2FjaGUgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgorIzogYnVpbHRpbi9jb21taXQuYzo0MDUgYnVpbHRpbi9jb21taXQuYzo0MjggYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU5CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2OQorIzogYnVpbHRpbi9jb21taXQuYzo0NzAKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDg5CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTg0CisjOiBidWlsdGluL2NvbW1pdC5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjAzCisjOiBidWlsdGluL2NvbW1pdC5jOjYwNAogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU2CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CisjOiBidWlsdGluL2NvbW1pdC5jOjY5MyBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL2NvbW1pdC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NQorIzogYnVpbHRpbi9jb21taXQuYzo3MDUgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA2CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNwogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzEwCisjOiBidWlsdGluL2NvbW1pdC5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM3IGJ1aWx0aW4vY29tbWl0LmM6NzQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjczOCBidWlsdGluL2NvbW1pdC5jOjc0NgogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQzCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk2CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NwogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTYyOTUsNyArNjU2Miw3IEBACiAiYW5kIHRyeSBhZ2Fpbi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxOQorIzogYnVpbHRpbi9jb21taXQuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjMwNSwxNCArNjU3MiwxNCBAQAogImFuZCB0cnkgYWdhaW4uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCiAid2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC02MzIwLDQ3NiArNjU4Nyw0NzYgQEAKICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODU5CisjOiBidWlsdGluL2NvbW1pdC5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzRGF0ZTogICAgICAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg3NAorIzogYnVpbHRpbi9jb21taXQuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODkyCisjOiBidWlsdGluL2NvbW1pdC5jOjg4OQogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTU0CisjOiBidWlsdGluL2NvbW1pdC5jOjk1MQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY4IGJ1aWx0aW4vdGFnLmM6MjgwCisjOiBidWlsdGluL2NvbW1pdC5jOjk2NSBidWlsdGluL3RhZy5jOjI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4NiBidWlsdGluL2NvbW1pdC5jOjEzMjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MyBidWlsdGluL2NvbW1pdC5jOjEzMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTIxCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTUxCiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MAogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NQogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTcxCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjgKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc4CiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjExODAKIG1zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYvLS1maXh1cC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjExODgKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjA1CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMAorIzogYnVpbHRpbi9jb21taXQuYzoxMjA3CiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMgotbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjI0IGJ1aWx0aW4vdGFnLmM6NDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTkgYnVpbHRpbi90YWcuYzo1NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjQKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOSBidWlsdGluL2NvbW1pdC5jOjE2MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MiBidWlsdGluL2NvbW1pdC5jOjE2MTcKIG1zZ2lkICJzaG93IHN0YXR1cyBjb25jaXNlbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQxIGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxMzQ0IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2Cittc2dpZCAic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDgKIG1zZ2lkICJ2ZXJzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTYgYnVpbHRpbi9wdXNoLmM6NTI1Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0OQogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NiBidWlsdGluL2NvbW1pdC5jOjE2MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjMKIG1zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ5IGJ1aWx0aW4vY29tbWl0LmM6MTYyMQorIzogYnVpbHRpbi9jb21taXQuYzoxMzU0IGJ1aWx0aW4vY29tbWl0LmM6MTYyNgogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NCBidWlsdGluL3RhZy5jOjM2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU2IGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg2IGJ1aWx0aW4vdGFnLmM6NDEyCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTIgYnVpbHRpbi9jb21taXQuYzoxNjI0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNjI5CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYwCiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEgcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjIKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjQKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NwogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg1CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NiBidWlsdGluL3RhZy5jOjM2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vdGFnLmM6NDEwCiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OCBidWlsdGluL2djLmM6MzMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9nYy5jOjM1OAogbXNnaWQgImRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg5IGJ1aWx0aW4vbWVyZ2UuYzoyMjIgYnVpbHRpbi9ub3Rlcy5jOjM5OAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3RhZy5jOjM2NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0IGJ1aWx0aW4vbWVyZ2UuYzoyMjIgYnVpbHRpbi9ub3Rlcy5jOjQwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3RhZy5jOjQwOAogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTAgYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vY29tbWl0LmM6MTU5MgotIzogYnVpbHRpbi9jb21taXQuYzoxNTkzIHBhcnNlLW9wdGlvbnMuaDoyNTcgcmVmLWZpbHRlci5oOjgxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi9jb21taXQuYzoxNTk2IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IHBhcnNlLW9wdGlvbnMuaDoyNTcgcmVmLWZpbHRlci5oOjc3CiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9sb2cuYzoxNDMwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNjAyCiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL3RhZy5jOjM2OQorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6NDEzCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNAogbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMSBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE2NgotIzogYnVpbHRpbi9yZXZlcnQuYzo5MworIzogYnVpbHRpbi9jb21taXQuYzoxNjA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL3JldmVydC5jOjExMwogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjEwCiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEyCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTMKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBjaGFuZ2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE1CiBtc2dpZCAiYnlwYXNzIHByZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjExCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMgorIzogYnVpbHRpbi9jb21taXQuYzoxNjI3CiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMworIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNQogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjU5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjUKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxNwogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NAorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc5NworIzogYnVpbHRpbi9jb21taXQuYzoxODAwCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCiAibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo5CisjOiBidWlsdGluL2NvbmZpZy5jOjEwCiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU1CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1OAogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MworIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY0CisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKIG1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJvcGVuIGFuIGVkaXRvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogc2xvdCBbZGVmYXVsdF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IHNsb3QgW3N0ZG91dC1pcy10dHldIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJUeXBlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKIG1zZ2lkICJ2YWx1ZSBpcyBcInRydWVcIiBvciBcImZhbHNlXCIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MQorIzogYnVpbHRpbi9jb25maWcuYzo4MwogbXNnaWQgIk90aGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgdmFyaWFibGUgbmFtZXMgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0CisjOiBidWlsdGluL2NvbmZpZy5jOjg2CiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODcKIG1zZ2lkICJzaG93IG9yaWdpbiBvZiBjb25maWcgKGZpbGUsIHN0YW5kYXJkIGlucHV0LCBibG9iLCBjb21tYW5kIGxpbmUpIgogbXNnc3RyICIiCiAKQEAgLTY4MDcsNjc3ICs3MDc0LDcyMiBAQAogIiNcdGVtYWlsID0gJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxMworIzogYnVpbHRpbi9jb25maWcuYzo0OTkKK21zZ2lkICItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo2MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCiAiICAgICAgIFVzZSBhIHJlZ2V4cCwgLS1hZGQgb3IgLS1yZXBsYWNlLWFsbCB0byBjaGFuZ2UgJXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NwogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTYKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk3CiBtc2dpZCAicHJpbnQgc2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjE5CiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIFs8Y29tbWl0LWlzaD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjIwCiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIC0tZGlydHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJoZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImxpZ2h0d2VpZ2h0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0Cittc2dpZCAiYW5ub3RhdGVkIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKICMsIGMtZm9ybWF0Cittc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4NiBidWlsdGluL2xvZy5jOjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg5CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGFnIGV4YWN0bHkgbWF0Y2hlcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2VhcmNoaW5nIHRvIGRlc2NyaWJlICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMxOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzQ2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyBhbm5vdGF0ZWQgdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKICJIb3dldmVyLCB0aGVyZSB3ZXJlIHVuYW5ub3RhdGVkIHRhZ3M6IHRyeSAtLXRhZ3MuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCiAiVHJ5IC0tYWx3YXlzLCBvciBjcmVhdGUgc29tZSB0YWdzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzcxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKICJnYXZlIHVwIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKIG1zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDIKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDMKIG1zZ2lkICJ1c2UgYW55IHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ5CiBtc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDUxCiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDUzCiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTUKK21zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NyBidWlsdGluL25hbWUtcmV2LmM6NDA2CiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTggYnVpbHRpbi9kZXNjcmliZS5jOjQ2MQogbXNnaWQgIm1hcmsiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1OQogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDMwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDYyCittc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBicm9rZW4gd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1icm9rZW5cIikiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4MAogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MDkKIG1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDc2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUyCiBtc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NAorbXNnaWQgIi0tYnJva2VuIGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzoyMzQKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzU4CisjOiBidWlsdGluL2RpZmYuYzozNTkKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDEKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTAKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxNworIzogYnVpbHRpbi9kaWZmLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjkKIG1zZ2lkICJnaXQgZGlmZnRvb2wgWzxvcHRpb25zPl0gWzxjb21taXQ+IFs8Y29tbWl0Pl1dIFstLV0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0MQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQ6ICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozNDIKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIHN5bWxpbmsgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyBmb3Igc3ltbGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NDAzCiBtc2dpZCAiIgogImNvbWJpbmVkIGRpZmYgZm9ybWF0cygnLWMnIGFuZCAnLS1jYycpIGFyZSBub3Qgc3VwcG9ydGVkIGluXG4iCiAiZGlyZWN0b3J5IGRpZmYgbW9kZSgnLWQnIGFuZCAnLS1kaXItZGlmZicpLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTY3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NjkKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKIG1zZ2lkICJ3b3JraW5nIHRyZWUgZmlsZSBoYXMgYmVlbiBsZWZ0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgxCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCiBtc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyNgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY4OQogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTEKIG1zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjMwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkzCiBtc2dpZCAiZG8gbm90IHByb21wdCBiZWZvcmUgbGF1bmNoaW5nIGEgZGlmZiB0b29sIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAwCiBtc2dpZCAiPHRvb2w+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMwogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQzCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CiBtc2dpZCAiIgogIm1ha2UgJ2dpdC1kaWZmdG9vbCcgZXhpdCB3aGVuIGFuIGludm9rZWQgZGlmZiB0b29sIHJldHVybnMgYSBub24gLSB6ZXJvIGV4aXQgIgogImNvZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOAogbXNnaWQgIjxjb21tYW5kPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5CiBtc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NzAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzMKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY3NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MAogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyNgogbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MgogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkwCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgogbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk0CiBtc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NgogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTgKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk3CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAwCiBtc2dpZCAicmVmc3BlYyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMQogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDIKIG1zZ2lkICJhbm9ueW1pemUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMQorIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMgorIzogYnVpbHRpbi9mZXRjaC5jOjIzCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyNQogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTc1CisjOiBidWlsdGluL2ZldGNoLmM6OTAgYnVpbHRpbi9wdWxsLmM6MTgyCiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9wdWxsLmM6MTg1CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMCBidWlsdGluL3B1bGwuYzoxODMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxOTAKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NwogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA0IGJ1aWx0aW4vcHVsbC5jOjE4NQorIzogYnVpbHRpbi9mZXRjaC5jOjk5IGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMQogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4CisjOiBidWlsdGluL2ZldGNoLmM6MTAzCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vcHVsbC5jOjE4OAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNSBidWlsdGluL3B1bGwuYzoxOTUKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTExIGJ1aWx0aW4vcHVsbC5jOjE5MQorIzogYnVpbHRpbi9mZXRjaC5jOjEwNiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjEyMwogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNwogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNiBidWlsdGluL3B1bGwuYzoyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMwogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNCBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9mZXRjaC5jOjEyNiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJkaXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNwogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNQotbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMAorbXNnaWQgIiIKKyJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgorImZpbGVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vcHVsbC5jOjIwOQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNCBidWlsdGluL3B1bGwuYzoyMTIKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUgYnVpbHRpbi9wdWxsLmM6MjE0CiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjEyCisjOiBidWlsdGluL2ZldGNoLmM6MTM2IGJ1aWx0aW4vcHVsbC5jOjIxNQogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozOTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTQKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTExCisjOiBidWlsdGluL2ZldGNoLmM6NTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwNAorIzogYnVpbHRpbi9mZXRjaC5jOjYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDkKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyMSBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NjIyIGJ1aWx0aW4vZmV0Y2guYzo3MDIKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjMKIG1zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjMxCisjOiBidWlsdGluL2ZldGNoLmM6NjMyCiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIgYnVpbHRpbi9mZXRjaC5jOjY2NSBidWlsdGluL2ZldGNoLmM6NjgxCi0jOiBidWlsdGluL2ZldGNoLmM6Njk2CisjOiBidWlsdGluL2ZldGNoLmM6NjMzIGJ1aWx0aW4vZmV0Y2guYzo2NjYgYnVpbHRpbi9mZXRjaC5jOjY4MgorIzogYnVpbHRpbi9mZXRjaC5jOjY5NwogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTIKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1NAorIzogYnVpbHRpbi9mZXRjaC5jOjY1NQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjU3CisjOiBidWlsdGluL2ZldGNoLmM6NjU4CiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTcKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MDEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MDIKIG1zZ2lkICJub24tZmFzdC1mb3J3YXJkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODUzIGJ1aWx0aW4vZmV0Y2guYzo5NDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTUgYnVpbHRpbi9mZXRjaC5jOjk1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODY0CisjOiBidWlsdGluL2ZldGNoLmM6ODY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyB0byByZW1vdmUgYW55IG9sZCwgY29uZmxpY3RpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkxOQorIzogYnVpbHRpbi9mZXRjaC5jOjkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTQKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1MyBidWlsdGluL3JlbW90ZS5jOjEwMjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTUgYnVpbHRpbi9yZW1vdGUuYzoxMDIzCiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTk4CisjOiBidWlsdGluL2ZldGNoLmM6MTAwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzYgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzggYnVpbHRpbi9yZW1vdGUuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU2CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjc5CiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMxOQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjEKIG1zZ2lkICJOZWdhdGl2ZSBkZXB0aCBpbiAtLWRlZXBlbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCisjOiBidWlsdGluL2ZldGNoLmM6MTMyMwogbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMwCiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQ5CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUxCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzYzCisjOiBidWlsdGluL2ZldGNoLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcxCisjOiBidWlsdGluL2ZldGNoLmM6MTM3MAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTUKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NAogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcyCiBtc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbPG9wdGlvbnM+XSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9iamVjdD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTEKLW1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxvYmplY3Q+XV0iCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMgotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxvYmplY3Q+XV0iCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8Y29tbWl0Pl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjcKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTMKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zIFs8Y29tbWl0Pl1dIFstLW5vLWNvbnRhaW5zIFs8Y29tbWl0Pl1dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjI5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzEKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBUY2wiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNwogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi90YWcuYzozODcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKLW1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggcG9pbnRzIGF0IHRoZSBnaXZlbiBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vZnNjay5jOjU1NAogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgpAQCAtNzUzOCwyMSArNzg1MCwyMSBAQAogbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjI1CisjOiBidWlsdGluL2djLmM6MjYKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjcyCisjOiBidWlsdGluL2djLmM6NzkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCAlczogJyVzJyIKK21zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxMzkKKyM6IGJ1aWx0aW4vZ2MuYzozMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCittc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6Mjk3CisjOiBidWlsdGluL2djLmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTc1NjIsODU4ICs3ODc0LDg4MSBAQAogIiVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzQKKyM6IGJ1aWx0aW4vZ2MuYzozNTkKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6MzM2CisjOiBidWlsdGluL2djLmM6MzYxCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzcKKyM6IGJ1aWx0aW4vZ2MuYzozNjIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzgKKyM6IGJ1aWx0aW4vZ2MuYzozNjMKIG1zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2djLmM6MzgwCiAjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9nYy5jOjQwOAorIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6MzgyCisjOiBidWlsdGluL2djLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6MzgzCisjOiBidWlsdGluL2djLmM6NDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlZSBcImdpdCBoZWxwIGdjXCIgZm9yIG1hbnVhbCBob3VzZWtlZXBpbmcuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjQwNAorIzogYnVpbHRpbi9nYy5jOjQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6NDQ4CisjOiBidWlsdGluL2djLmM6NDgwCiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI1CisjOiBidWlsdGluL2dyZXAuYzoyNwogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjkwCisjOiBidWlsdGluL2dyZXAuYzoyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzYzIGJ1aWx0aW4vZ3JlcC5jOjgwNAorIy4gVFJBTlNMQVRPUlM6ICVzIGlzIHRoZSBjb25maWd1cmF0aW9uCisjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CisjLiBncmVwLnRocmVhZHMKKyMuCisjOiBidWlsdGluL2dyZXAuYzozMDIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6Nzg4IGJ1aWx0aW4vZ3JlcC5jOjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODIzCisjOiBidWlsdGluL2dyZXAuYzo4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3MworIzogYnVpbHRpbi9ncmVwLmM6OTk5CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDEKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDMKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc5CisjOiBidWlsdGluL2dyZXAuYzoxMDA1CiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4MQotbXNnaWQgInJlY3Vyc2l2bGV5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKK21zZ2lkICJyZWN1cnNpdmVseSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTgzCisjOiBidWlsdGluL2dyZXAuYzoxMDA5CiBtc2dpZCAiYmFzZW5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTg0CisjOiBidWlsdGluL2dyZXAuYzoxMDEwCiBtc2dpZCAicHJlcGVuZCBwYXJlbnQgcHJvamVjdCdzIGJhc2VuYW1lIHRvIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTMKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTUKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MQorIzogYnVpbHRpbi9ncmVwLmM6MTAxNwogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MworIzogYnVpbHRpbi9ncmVwLmM6MTAxOQogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTk1CisjOiBidWlsdGluL2dyZXAuYzoxMDIxCiBtc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5OAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNAogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDAwCisjOiBidWlsdGluL2dyZXAuYzoxMDI2CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzAKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDA3CisjOiBidWlsdGluL2dyZXAuYzoxMDMzCiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzYKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDEzCisjOiBidWlsdGluL2dyZXAuYzoxMDM5CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDIKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDE3CisjOiBidWlsdGluL2dyZXAuYzoxMDQzCiBtc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxOAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDYKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDgKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyNAorIzogYnVpbHRpbi9ncmVwLmM6MTA1MAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTMKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyOQorIzogYnVpbHRpbi9ncmVwLmM6MTA1NQogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzMQorIzogYnVpbHRpbi9ncmVwLmM6MTA1NwogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzMgorIzogYnVpbHRpbi9ncmVwLmM6MTA1OAogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjAKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM2CisjOiBidWlsdGluL2dyZXAuYzoxMDYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM5CisjOiBidWlsdGluL2dyZXAuYzoxMDY1CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0MgorIzogYnVpbHRpbi9ncmVwLmM6MTA2OAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NAorIzogYnVpbHRpbi9ncmVwLmM6MTA3MAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ2CisjOiBidWlsdGluL2dyZXAuYzoxMDcyCiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ3CisjOiBidWlsdGluL2dyZXAuYzoxMDczCiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUwCisjOiBidWlsdGluL2dyZXAuYzoxMDc2CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUyCisjOiBidWlsdGluL2dyZXAuYzoxMDc4CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NQorIzogYnVpbHRpbi9ncmVwLmM6MTA4MQogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODMKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1OQorIzogYnVpbHRpbi9ncmVwLmM6MTA4NQogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3MQorIzogYnVpbHRpbi9ncmVwLmM6MTA5NwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTkKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDEKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDc5CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3OQorIzogYnVpbHRpbi9ncmVwLmM6MTEwNQogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTE0NgorIzogYnVpbHRpbi9ncmVwLmM6MTE3MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExNzggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MgorIzogYnVpbHRpbi9ncmVwLmM6MTIwNAorbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgcmV2aXNpb246ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyNDUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyMTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTAKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzoxMjgxCiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyMzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMDQKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjQ0CisjOiBidWlsdGluL2dyZXAuYzoxMzEwCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjQ5Ci1tc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMTYKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI2MAorIzogYnVpbHRpbi9ncmVwLmM6MTMyNAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgxCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgyCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODMKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAogbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MgorIzogYnVpbHRpbi9oZWxwLmM6NDMKIG1zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzCisjOiBidWlsdGluL2hlbHAuYzo0NAogbXNnaWQgImV4Y2x1ZGUgZ3VpZGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NQogbXNnaWQgInByaW50IGxpc3Qgb2YgdXNlZnVsIGd1aWRlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NQorIzogYnVpbHRpbi9oZWxwLmM6NDYKIG1zZ2lkICJzaG93IG1hbiBwYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2CisjOiBidWlsdGluL2hlbHAuYzo0NwogbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ4CisjOiBidWlsdGluL2hlbHAuYzo0OQogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjU0CisjOiBidWlsdGluL2hlbHAuYzo1NQogbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NjYKKyM6IGJ1aWx0aW4vaGVscC5jOjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjkzCisjOiBidWlsdGluL2hlbHAuYzo5NAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTA2CisjOiBidWlsdGluL2hlbHAuYzoxMDcKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTE0CisjOiBidWlsdGluL2hlbHAuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzIgYnVpbHRpbi9oZWxwLmM6MTUzIGJ1aWx0aW4vaGVscC5jOjE2MiBidWlsdGluL2hlbHAuYzoxNzAKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMyBidWlsdGluL2hlbHAuYzoxNTQgYnVpbHRpbi9oZWxwLmM6MTYzIGJ1aWx0aW4vaGVscC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIwNworIzogYnVpbHRpbi9oZWxwLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgogIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5jbWQnIGluc3RlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxOQorIzogYnVpbHRpbi9oZWxwLmM6MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgogIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5wYXRoJyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzozMzYKKyM6IGJ1aWx0aW4vaGVscC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM1MworIzogYnVpbHRpbi9oZWxwLmM6MzU0CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MQorIzogYnVpbHRpbi9oZWxwLmM6MzYyCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNAogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA0CisjOiBidWlsdGluL2hlbHAuYzo0MDUKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDUKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNgogbXNnaWQgIkEgR2l0IGdsb3NzYXJ5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNgorIzogYnVpbHRpbi9oZWxwLmM6NDA3CiBtc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDcKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOAogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOAorIzogYnVpbHRpbi9oZWxwLmM6NDA5CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOQorIzogYnVpbHRpbi9oZWxwLmM6NDEwCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IChmb3IgdmVyc2lvbiAxLjUuMSBvciBuZXdlcikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEwCisjOiBidWlsdGluL2hlbHAuYzo0MTEKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIyCisjOiBidWlsdGluL2hlbHAuYzo0MjMKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0MAorIzogYnVpbHRpbi9oZWxwLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImBnaXQgJXMnIGlzIGFsaWFzZWQgdG8gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NjIgYnVpbHRpbi9oZWxwLmM6NDc5CisjOiBidWlsdGluL2hlbHAuYzo0NjMgYnVpbHRpbi9oZWxwLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgxCiBtc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MwogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAwCiBtc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkzCiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM4CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlPFBSSXVNQVg+OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI4CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNgogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc1CiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCiBtc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMwogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OCBidWlsdGluL2luZGV4LXBhY2suYzo3NTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzc3Ci0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTYgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjQKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODU0CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyNCBidWlsdGluL2luZGV4LXBhY2suYzo5NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyOCBidWlsdGluL2luZGV4LXBhY2suYzo5NTkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJJbmRleGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjQKIG1zZ2lkICJwYWNrIGlzIGNvcnJ1cHRlZCAoU0hBMSBtaXNtYXRjaCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2OQogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcyCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODQKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDcKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDgKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDExCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDE5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzgKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDYKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NiBidWlsdGluL2luZGV4LXBhY2suYzoxNjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjk1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTgKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDMKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ1CiBtc2dpZCAiLS1zdGRpbiByZXF1aXJlcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTMKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc4CisjOiBidWlsdGluL2luaXQtZGIuYzo3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3ltbGluayAnJXMnICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OAorIzogYnVpbHRpbi9pbml0LWRiLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTE5CisjOiBidWlsdGluL2luaXQtZGIuYzoxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcGxhdGVzIG5vdCBmb3VuZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMjcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMzAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDcgYnVpbHRpbi9pbml0LWRiLmM6MzUwCisjOiBidWlsdGluL2luaXQtZGIuYzozNDggYnVpbHRpbi9pbml0LWRiLmM6MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMworIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDgwCisjOiBidWlsdGluL2luaXQtZGIuYzo0ODEKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MgogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTUgYnVpbHRpbi9pbml0LWRiLmM6NTIwCisjOiBidWlsdGluL2luaXQtZGIuYzo1MTYgYnVpbHRpbi9pbml0LWRiLmM6NTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBta2RpciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ1CisjOiBidWlsdGluL2luaXQtZGIuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcnk+KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NzMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICIiCkBAIC04NDQ0LDQyNyArODc3OSw0MzIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDQKKyM6IGJ1aWx0aW4vbG9nLmM6NDUKIG1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDYKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjg0CisjOiBidWlsdGluL2xvZy5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5CisjOiBidWlsdGluL2xvZy5jOjE0NwogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwCisjOiBidWlsdGluL2xvZy5jOjE0OAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxCisjOiBidWlsdGluL2xvZy5jOjE0OQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyCisjOiBidWlsdGluL2xvZy5jOjE1MAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzCiBtc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoyNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjQ4NgorIzogYnVpbHRpbi9sb2cuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CisjOiBidWlsdGluL2xvZy5jOjUxMiBidWlsdGluL2xvZy5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo2MTgKKyM6IGJ1aWx0aW4vbG9nLmM6NjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo3MzkKKyM6IGJ1aWx0aW4vbG9nLmM6NzUxCiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjgzOQorIzogYnVpbHRpbi9sb2cuYzo4NTIKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NTQKKyM6IGJ1aWx0aW4vbG9nLmM6ODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NjgKKyM6IGJ1aWx0aW4vbG9nLmM6ODg1CiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NzgKKyM6IGJ1aWx0aW4vbG9nLmM6ODk1CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTg0CisjOiBidWlsdGluL2xvZy5jOjEwMDEKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA2MworIzogYnVpbHRpbi9sb2cuYzoxMDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDkxCisjOiBidWlsdGluL2xvZy5jOjExMDgKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQxCisjOiBidWlsdGluL2xvZy5jOjExNTgKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNDggYnVpbHRpbi9sb2cuYzoxODkxIGJ1aWx0aW4vbG9nLmM6MTg5MyBidWlsdGluL2xvZy5jOjE5MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NSBidWlsdGluL2xvZy5jOjE5MDggYnVpbHRpbi9sb2cuYzoxOTEwIGJ1aWx0aW4vbG9nLmM6MTkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTggYnVpbHRpbi9ub3Rlcy5jOjg4NCBidWlsdGluL3RhZy5jOjQ3NgorIzogYnVpbHRpbi9sb2cuYzoxMjc1IGJ1aWx0aW4vbm90ZXMuYzo4ODYgYnVpbHRpbi90YWcuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjYzCisjOiBidWlsdGluL2xvZy5jOjEyODAKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4NAogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgogIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyODcKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwNAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjk4CisjOiBidWlsdGluL2xvZy5jOjEzMTUKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzAyCisjOiBidWlsdGluL2xvZy5jOjEzMTkKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTM2OAogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA4CisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMQorIzogYnVpbHRpbi9sb2cuYzoxNDI4CiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE1CisjOiBidWlsdGluL2xvZy5jOjE0MzIKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxOQorIzogYnVpbHRpbi9sb2cuYzoxNDM2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMAorIzogYnVpbHRpbi9sb2cuYzoxNDM3CiBtc2dpZCAic2Z4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMQorIzogYnVpbHRpbi9sb2cuYzoxNDM4CiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIzCisjOiBidWlsdGluL2xvZy5jOjE0NDAKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNQorIzogYnVpbHRpbi9sb2cuYzoxNDQyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNworIzogYnVpbHRpbi9sb2cuYzoxNDQ0CiBtc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NwogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MwogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorIzogYnVpbHRpbi9sb2cuYzoxNDU2CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OAogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MworIzogYnVpbHRpbi9sb2cuYzoxNDYwCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NQorIzogYnVpbHRpbi9sb2cuYzoxNDYyCiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NworIzogYnVpbHRpbi9sb2cuYzoxNDY0CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAorIzogYnVpbHRpbi9sb2cuYzoxNDY1CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OQorIzogYnVpbHRpbi9sb2cuYzoxNDY2CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAgYnVpbHRpbi9sb2cuYzoxNDUyCisjOiBidWlsdGluL2xvZy5jOjE0NjcgYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUwCisjOiBidWlsdGluL2xvZy5jOjE0NjcKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NAorIzogYnVpbHRpbi9sb2cuYzoxNDcxCiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU1CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NworIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NQogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCisjOiBidWlsdGluL2xvZy5jOjE0NzYgYnVpbHRpbi9sb2cuYzoxNDc5CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYwCisjOiBidWlsdGluL2xvZy5jOjE0NzcKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworIzogYnVpbHRpbi9sb2cuYzoxNDgwCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NAogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQorIzogYnVpbHRpbi9sb2cuYzoxNDg2CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAorIzogYnVpbHRpbi9sb2cuYzoxNDg3CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQorIzogYnVpbHRpbi9sb2cuYzoxNDg4CiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcyCisjOiBidWlsdGluL2xvZy5jOjE0ODkKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAorIzogYnVpbHRpbi9sb2cuYzoxNDkxCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3NQorIzogYnVpbHRpbi9sb2cuYzoxNDkyCiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4MgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4NAogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NQorIzogYnVpbHRpbi9sb2cuYzoxNTkyCiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NAogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NgogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyNgogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYxMQorIzogYnVpbHRpbi9sb2cuYzoxNjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzA1CisjOiBidWlsdGluL2xvZy5jOjE3MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5NAogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODgwCisjOiBidWlsdGluL2xvZy5jOjE4OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjgKIG1zZ2lkICJnaXQgbHMtZmlsZXMgWzxvcHRpb25zPl0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjEKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIzCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjkKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNgogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM4CiBtc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjEKIG1zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjQKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY1CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY3CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAiIgogCkBAIC04ODc1LDg0ICs5MjE1LDg1IEBACiAiICAgICAgICAgICAgICAgICAgICAgWy0tc3ltcmVmXSBbPHJlcG9zaXRvcnk+IFs8cmVmcz4uLi5dXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUwCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjUyCiBtc2dpZCAiZG8gbm90IHByaW50IHJlbW90ZSBVUkwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MSBidWlsdGluL2xzLXJlbW90ZS5jOjUzCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjUzIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTUKIG1zZ2lkICJleGVjIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIgYnVpbHRpbi9scy1yZW1vdGUuYzo1NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NCBidWlsdGluL2xzLXJlbW90ZS5jOjU2CiBtc2dpZCAicGF0aCBvZiBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSBob3N0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTYKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTgKIG1zZ2lkICJsaW1pdCB0byB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTcKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTkKIG1zZ2lkICJsaW1pdCB0byBoZWFkcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU4CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwCiBtc2dpZCAiZG8gbm90IHNob3cgcGVlbGVkIHRhZ3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NgogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOQogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI4CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjkKIG1zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTMwCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzEKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNQogbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM2IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOAorIzogYnVpbHRpbi9scy10cmVlLmM6MTM3IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOQogbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQxCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDIKIG1zZ2lkICJ1c2UgZnVsbCBwYXRoIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MworIzogYnVpbHRpbi9scy10cmVlLmM6MTQ0CiBtc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgorIzogYnVpbHRpbi9tYWlsc3BsaXQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDcKLW1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1zZz4gSEVBRCA8Y29tbWl0PiIKK21zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDgKQEAgLTg5ODIsMzEgKzkzMjMsMzEgQEAKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyNworIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMzQKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTMwCisjOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNwogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjEzMworIzogYnVpbHRpbi9tZXJnZS5jOjIwMSBidWlsdGluL3B1bGwuYzoxNDAKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTM2CisjOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vcHVsbC5jOjE0MwogbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjEzOQorIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxNDYKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTUyCiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgogbXNnc3RyICIiCiAKQEAgLTkwMTQsMjggKzkzNTUsMjggQEAKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMgYnVpbHRpbi9wdWxsLmM6MTUxCisjOiBidWlsdGluL21lcmdlLmM6MjEzIGJ1aWx0aW4vcHVsbC5jOjE1OAogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNyBidWlsdGluL3B1bGwuYzoxNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjc3NCBidWlsdGluL3B1bGwuYzoxNTgKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjc3NiBidWlsdGluL3B1bGwuYzoxNjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTY2CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9wdWxsLmM6MTYyCisjOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2OQogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE2MworIzogYnVpbHRpbi9tZXJnZS5jOjIyMSBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICIiCiAKQEAgLTkwNTEsNyArOTM5Miw3IEBACiBtc2dpZCAiY29udGludWUgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzMSBidWlsdGluL3B1bGwuYzoxNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzEgYnVpbHRpbi9wdWxsLmM6MTc3CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICIiCiAKQEAgLTkwOTYsMzEgKzk0MzcsMzEgQEAKIG1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTcKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njg1CisjOiBidWlsdGluL21lcmdlLmM6Njg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzM3CisjOiBidWlsdGluL21lcmdlLmM6NzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzQ2CisjOiBidWlsdGluL21lcmdlLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzUyCisjOiBidWlsdGluL21lcmdlLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKQEAgLTkxMzAsMjQwICs5NDcxLDIzMCBAQAogInRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc3NgorIzogYnVpbHRpbi9tZXJnZS5jOjc3NwogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk2CisjOiBidWlsdGluL21lcmdlLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODUxCisjOiBidWlsdGluL21lcmdlLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg2NwotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6OTA4CisjOiBidWlsdGluL21lcmdlLmM6ODg5CiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTEKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkxMgorIzogYnVpbHRpbi9tZXJnZS5jOjg5MwogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTE3CisjOiBidWlsdGluL21lcmdlLmM6ODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk2NAorIzogYnVpbHRpbi9tZXJnZS5jOjk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDY1CisjOiBidWlsdGluL21lcmdlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ1CiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE3MQorIzogYnVpbHRpbi9tZXJnZS5jOjExNDkKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYxCiBtc2dpZCAiLS1jb250aW51ZSBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE4NworIzogYnVpbHRpbi9tZXJnZS5jOjExNjUKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgxCiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMAorIzogYnVpbHRpbi9tZXJnZS5jOjExODgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjEzCisjOiBidWlsdGluL21lcmdlLmM6MTE5MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIyMgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDAKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDgKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0NworIzogYnVpbHRpbi9tZXJnZS5jOjEyMjUKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0OQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjcKIG1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzQKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEyCisjOiBidWlsdGluL21lcmdlLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzE1CisjOiBidWlsdGluL21lcmdlLmM6MTI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxOAorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMyMQorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgzCisjOiBidWlsdGluL21lcmdlLmM6MTMzOQogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ4CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQwMgorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUwCisjOiBidWlsdGluL21lcmdlLmM6MTQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc1CisjOiBidWlsdGluL21lcmdlLmM6MTQzMQogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZS4gWWVlYWghIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgxCisjOiBidWlsdGluL21lcmdlLmM6MTQzNwogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwNCBidWlsdGluL21lcmdlLmM6MTU4MworIzogYnVpbHRpbi9tZXJnZS5jOjE0NjAgYnVpbHRpbi9tZXJnZS5jOjE1MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTc0CisjOiBidWlsdGluL21lcmdlLmM6MTUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NgorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk3CisjOiBidWlsdGluL21lcmdlLmM6MTU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzEKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gLS1vY3RvcHVzIDxjb21taXQ+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8Y29tbWl0PiA8Y29tbWl0PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzQKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjEKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgogbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI0CiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI2CiBtc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAorIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OQogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbPG9wdGlvbnM+XSBbLUwgPG5hbWUxPiBbLUwgPG9yaWc+IFstTCA8bmFtZTI+XV1dIDxmaWxlMT4gIgogIjxvcmlnLWZpbGU+IDxmaWxlMj4iCkBAIC05NDM2LDUwNCArOTc2Nyw1MDkgQEAKIG1zZ2lkICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUyCisjOiBidWlsdGluL21rdHJlZS5jOjE1MwogbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUzIGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI0CisjOiBidWlsdGluL21rdHJlZS5jOjE1NCBidWlsdGluL3dyaXRlLXRyZWUuYzoyNQogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NAorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE2CisjOiBidWlsdGluL212LmM6MTcKIG1zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjg0IGJ1aWx0aW4vcm0uYzoyOTAKKyM6IGJ1aWx0aW4vbXYuYzo4NSBidWlsdGluL3JtLmM6MjkwCiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjEwMgorIzogYnVpbHRpbi9tdi5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlLipzIGlzIGluIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vbXYuYzoxMjUKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjEyNQorIzogYnVpbHRpbi9tdi5jOjEyNgogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjcKKyM6IGJ1aWx0aW4vbXYuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE3OAorIzogYnVpbHRpbi9tdi5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MgorIzogYnVpbHRpbi9tdi5jOjE4MwogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE4NQorIzogYnVpbHRpbi9tdi5jOjE4NgogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE4OAorIzogYnVpbHRpbi9tdi5jOjE4OQogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE5NworIzogYnVpbHRpbi9tdi5jOjE5OAogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIyMgorIzogYnVpbHRpbi9tdi5jOjIyMwogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIyNQorIzogYnVpbHRpbi9tdi5jOjIyNgogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MjMzCisjOiBidWlsdGluL212LmM6MjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIzNgorIzogYnVpbHRpbi9tdi5jOjIzNwogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIzOQorIzogYnVpbHRpbi9tdi5jOjI0MAogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MjQxCisjOiBidWlsdGluL212LmM6MjQyCiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDgKKyM6IGJ1aWx0aW4vbXYuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjI2OQorIzogYnVpbHRpbi9tdi5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzUgYnVpbHRpbi9yZW1vdGUuYzo3MTAgYnVpbHRpbi9yZXBhY2suYzozODQKKyM6IGJ1aWx0aW4vbXYuYzoyNzYgYnVpbHRpbi9yZW1vdGUuYzo3MTEgYnVpbHRpbi9yZXBhY2suYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMzOAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzM5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNDAKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTYKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDAKK21zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMwogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA0CiBtc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTAKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjI3CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFkZCBbLWZdIFstLWFsbG93LWVtcHR5XSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gIgogInwgKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNworIzogYnVpbHRpbi9ub3Rlcy5jOjI4CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gY29weSBbLWZdIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI4CisjOiBidWlsdGluL25vdGVzLmM6MjkKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYXBwZW5kIFstLWFsbG93LWVtcHR5XSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gfCAiCiAiKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMQogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHNob3cgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMgogbXNnaWQgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBtZXJnZSBbLXYgfCAtcV0gWy1zIDxzdHJhdGVneT5dIDxub3Rlcy1yZWY+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMgorIzogYnVpbHRpbi9ub3Rlcy5jOjMzCiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNAogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNQogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHJlbW92ZSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNQorIzogYnVpbHRpbi9ub3Rlcy5jOjM2CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gcHJ1bmUgWy1uIHwgLXZdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZ2V0LXJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MgogbXNnaWQgImdpdCBub3RlcyBbbGlzdCBbPG9iamVjdD5dXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NwogbXNnaWQgImdpdCBub3RlcyBhZGQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MgogbXNnaWQgImdpdCBub3RlcyBjb3B5IFs8b3B0aW9ucz5dIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyCisjOiBidWlsdGluL25vdGVzLmM6NTMKIG1zZ2lkICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+XS4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OAogbXNnaWQgImdpdCBub3RlcyBhcHBlbmQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MwogbXNnaWQgImdpdCBub3RlcyBlZGl0IFs8b2JqZWN0Pl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY3CisjOiBidWlsdGluL25vdGVzLmM6NjgKIG1zZ2lkICJnaXQgbm90ZXMgc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjczCiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIFs8b3B0aW9ucz5dIDxub3Rlcy1yZWY+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MworIzogYnVpbHRpbi9ub3Rlcy5jOjc0CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc1CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5CisjOiBidWlsdGluL25vdGVzLmM6ODAKIG1zZ2lkICJnaXQgbm90ZXMgcmVtb3ZlIFs8b2JqZWN0Pl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg0CisjOiBidWlsdGluL25vdGVzLmM6ODUKIG1zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5CisjOiBidWlsdGluL25vdGVzLmM6OTAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NQogbXNnaWQgIldyaXRlL2VkaXQgdGhlIG5vdGVzIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE0NworIzogYnVpbHRpbi9ub3Rlcy5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTUxCisjOiBidWlsdGluL25vdGVzLmM6MTUyCiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ3Nob3cnIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTU5CisjOiBidWlsdGluL25vdGVzLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTk0CisjOiBidWlsdGluL25vdGVzLmM6MTk1CiBtc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIwNQorIzogYnVpbHRpbi9ub3Rlcy5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ2MworIzogYnVpbHRpbi9ub3Rlcy5jOjIzNiBidWlsdGluL3RhZy5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NCBidWlsdGluL25vdGVzLmM6MzA1IGJ1aWx0aW4vbm90ZXMuYzozMDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzIgYnVpbHRpbi9ub3Rlcy5jOjQyNyBidWlsdGluL25vdGVzLmM6NTEzCi0jOiBidWlsdGluL25vdGVzLmM6NTE4IGJ1aWx0aW4vbm90ZXMuYzo1OTYgYnVpbHRpbi9ub3Rlcy5jOjY1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NSBidWlsdGluL25vdGVzLmM6MzA2IGJ1aWx0aW4vbm90ZXMuYzozMDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzUgYnVpbHRpbi9ub3Rlcy5jOjQzMCBidWlsdGluL25vdGVzLmM6NTE2CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTkgYnVpbHRpbi9ub3Rlcy5jOjY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU3CisjOiBidWlsdGluL25vdGVzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYxCisjOiBidWlsdGluL25vdGVzLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzAxCisjOiBidWlsdGluL25vdGVzLmM6MzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzE2CisjOiBidWlsdGluL25vdGVzLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICIiCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhCi0jLiBnaXQgbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCi0jOiBidWlsdGluL25vdGVzLmM6MzQ1CisjLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYSBnaXQKKyMuIG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorIy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNjUgYnVpbHRpbi9ub3Rlcy5jOjQyMCBidWlsdGluL25vdGVzLmM6NDk2Ci0jOiBidWlsdGluL25vdGVzLmM6NTA4IGJ1aWx0aW4vbm90ZXMuYzo1ODQgYnVpbHRpbi9ub3Rlcy5jOjY1MgotIzogYnVpbHRpbi9ub3Rlcy5jOjgwMiBidWlsdGluL25vdGVzLmM6OTQ5IGJ1aWx0aW4vbm90ZXMuYzo5NzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNjggYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk5CisjOiBidWlsdGluL25vdGVzLmM6NTExIGJ1aWx0aW4vbm90ZXMuYzo1ODcgYnVpbHRpbi9ub3Rlcy5jOjY1NAorIzogYnVpbHRpbi9ub3Rlcy5jOjgwNCBidWlsdGluL25vdGVzLmM6OTUxIGJ1aWx0aW4vbm90ZXMuYzo5NzIKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MSBidWlsdGluL25vdGVzLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCisjOiBidWlsdGluL25vdGVzLmM6NDAyIGJ1aWx0aW4vbm90ZXMuYzo1NjUKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCisjOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo1NzQKIG1zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CisjOiBidWlsdGluL25vdGVzLmM6NDE0IGJ1aWx0aW4vbm90ZXMuYzo1NzcKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NDgzCisjOiBidWlsdGluL25vdGVzLmM6NDE1IGJ1aWx0aW4vbm90ZXMuYzo0ODYKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBhZGQgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCiAiZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCisjOiBidWlsdGluL25vdGVzLmM6NDU1IGJ1aWx0aW4vbm90ZXMuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CisjOiBidWlsdGluL25vdGVzLmM6NDY2IGJ1aWx0aW4vbm90ZXMuYzo2MjYgYnVpbHRpbi9ub3Rlcy5jOjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDg0CisjOiBidWlsdGluL25vdGVzLmM6NDg3CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDcKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyNQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCiAiZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNworIzogYnVpbHRpbi9ub3Rlcy5jOjU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTg5CisjOiBidWlsdGluL25vdGVzLmM6NTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgogIlBsZWFzZSB1c2UgJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnIGluc3RlYWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjY4NwogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4NworIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njg5CisjOiBidWlsdGluL25vdGVzLmM6NjkxCiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzA5CisjOiBidWlsdGluL25vdGVzLmM6NzExCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQorIzogYnVpbHRpbi9ub3Rlcy5jOjcxMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTUKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjcyOAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzI5CisjOiBidWlsdGluL25vdGVzLmM6NzMxCiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcxCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzk0CisjOiBidWlsdGluL25vdGVzLmM6Nzk2CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDEKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgyMworIzogYnVpbHRpbi9ub3Rlcy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MworIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgpAQCAtOTk0MSwyMTggKzEwMjc3LDIxOCBAQAogImFib3J0Jy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODg3CisjOiBidWlsdGluL25vdGVzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDEKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjkwNAogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDAgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3CisjOiBidWlsdGluL25vdGVzLmM6OTQyIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAogbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQxCisjOiBidWlsdGluL25vdGVzLmM6OTQzCiBtc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgzCisjOiBidWlsdGluL25vdGVzLmM6OTg1CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODYKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAxOQorIzogYnVpbHRpbi9ub3Rlcy5jOjEwMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMQogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3B0aW9ucz4uLi5dIDxiYXNlLW5hbWU+IFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc2CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODkKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDY4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNjkKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQzNAogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc3CiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NzkKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODgxCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODQKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODUKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg2CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4OQogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTEKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTMKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTUKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODk3CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5OQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAxCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAzCiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwNQogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwNwogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDkKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTExCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMwogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE2CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTkKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI1CiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI3CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI5CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMxCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMzCiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzOAogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQwCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MgogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDQKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NgogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0OAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNzUKIG1zZ2lkICJDb3VudGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAKQEAgLTEwMTkyLDYyICsxMDUyOCw2NiBAQAogbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo1MSBidWlsdGluL3B1bGwuYzo1MworIzogYnVpbHRpbi9wdWxsLmM6NTQgYnVpbHRpbi9wdWxsLmM6NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjczCisjOiBidWlsdGluL3B1bGwuYzo3NgogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMQorIzogYnVpbHRpbi9wdWxsLmM6MTI0Cittc2dpZCAiY29udHJvbCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6MTI4CiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIG1lcmdpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTI0CisjOiBidWlsdGluL3B1bGwuYzoxMzEKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCisjOiBidWlsdGluL3B1bGwuYzoxNTUgYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjE5IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9wdWxsLmM6MTY0CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL3B1bGwuYzoxODAKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTk1CisjOiBidWlsdGluL3B1bGwuYzoxOTgKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mjg0CisjOiBidWlsdGluL3B1bGwuYzoyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzk3CisjOiBidWlsdGluL3B1bGwuYzozOTkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM5OQorIzogYnVpbHRpbi9wdWxsLmM6NDAxCiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAwCisjOiBidWlsdGluL3B1bGwuYzo0MDIKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQwMworIzogYnVpbHRpbi9wdWxsLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtMTAyNTUsNjkgKzEwNTk1LDY5IEBACiAiZm9yIHlvdXIgY3VycmVudCBicmFuY2gsIHlvdSBtdXN0IHNwZWNpZnkgYSBicmFuY2ggb24gdGhlIGNvbW1hbmQgbGluZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTAgYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0MTQgYnVpbHRpbi9wdWxsLmM6NDI5IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEzIGJ1aWx0aW4vcHVsbC5jOjQyOAorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQyMSBidWlsdGluL3B1bGwuYzo0MzAKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MjMgYnVpbHRpbi9wdWxsLmM6NDMyCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9wdWxsLmM6NDM3IGdpdC1yZWJhc2Uuc2g6NDU2CiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBjb25maWd1cmF0aW9uIHNwZWNpZmllcyB0byBtZXJnZSB3aXRoIHRoZSByZWYgJyVzJ1xuIgogImZyb20gdGhlIHJlbW90ZSwgYnV0IG5vIHN1Y2ggcmVmIHdhcyBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo3NTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjc5MgogbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MAogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODA5CisjOiBidWlsdGluL3B1bGwuYzo4NDgKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgxMgorIzogYnVpbHRpbi9wdWxsLmM6ODUxCiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1MgogbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODM4CisjOiBidWlsdGluL3B1bGwuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xMDMyNSw3ICsxMDY2NSw3IEBACiAiY29tbWl0ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTEwMzM2LDMzICsxMDY3NiwzNyBAQAogInRvIHJlY292ZXIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg1OAorIzogYnVpbHRpbi9wdWxsLmM6ODk3CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODYyCisjOiBidWlsdGluL3B1bGwuYzo5MDEKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2CisjOiBidWlsdGluL3B1bGwuYzo5MDgKK21zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzoxNwogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjg5CisjOiBidWlsdGluL3B1c2guYzo5MAogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo5OQorIzogYnVpbHRpbi9wdXNoLmM6MTAwCiBtc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQzCisjOiBidWlsdGluL3B1c2guYzoxNDQKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0NgorIzogYnVpbHRpbi9wdXNoLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTEwMzc3LDcgKzEwNzIxLDcgQEAKICIlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtMTAzODcsNyArMTA3MzEsNyBAQAogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxuYW1lLW9mLXJlbW90ZS1icmFuY2g+XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtMTAzOTYsMTIgKzEwNzQwLDEyIEBACiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTgzCisjOiBidWlsdGluL3B1c2guYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTg2CisjOiBidWlsdGluL3B1c2guYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtMTA0MDksMTIgKzEwNzUzLDEyIEBACiAidG8gdXBkYXRlIHdoaWNoIHJlbW90ZSBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NQorIzogYnVpbHRpbi9wdXNoLmM6MjQ2CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjUyCisjOiBidWlsdGluL3B1c2guYzoyNTMKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTEwNDIyLDcgKzEwNzY2LDcgQEAKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1OQogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtMTA0MzAsNyArMTA3NzQsNyBAQAogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2NAorIzogYnVpbHRpbi9wdXNoLmM6MjY1CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTEwNDM5LDMzICsxMDc4MywzMyBAQAogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3MQorIzogYnVpbHRpbi9wdXNoLmM6MjcyCiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3NQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJ3aXRob3V0IHVzaW5nIHRoZSAnLS1mb3JjZScgb3B0aW9uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMzNAorIzogYnVpbHRpbi9wdXNoLmM6MzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozMzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MAorIzogYnVpbHRpbi9wdXNoLmM6MzcxCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTA0NzgsMTkxICsxMDgyMiwyMDMgQEAKICIgICAgZ2l0IHB1c2ggPG5hbWU+XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg4CisjOiBidWlsdGluL3B1c2guYzozODkKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg5CisjOiBidWlsdGluL3B1c2guYzozOTAKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NAorIzogYnVpbHRpbi9wdXNoLmM6Mzk1CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NQorIzogYnVpbHRpbi9wdXNoLmM6Mzk2CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo0MDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQwMQogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOAorIzogYnVpbHRpbi9wdXNoLmM6NTIzCiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNCBidWlsdGluL3NlbmQtcGFjay5jOjE2MwogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCisjOiBidWlsdGluL3B1c2guYzo1MjUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyCisjOiBidWlsdGluL3B1c2guYzo1MjcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyOAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMSBidWlsdGluL3NlbmQtcGFjay5jOjE2NgogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxODAKIG1zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTM0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCiBtc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMyCisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CisjOiBidWlsdGluL3B1c2guYzo1MzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNSBidWlsdGluL3B1c2guYzo1MzYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNTgKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU5CisjOiBidWlsdGluL3B1c2guYzo1NDAgYnVpbHRpbi9wdXNoLmM6NTQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYwCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNworIzogYnVpbHRpbi9wdXNoLmM6NTQyCiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQwCisjOiBidWlsdGluL3B1c2guYzo1NDUKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NwogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MworIzogYnVpbHRpbi9wdXNoLmM6NTQ4CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0NiBidWlsdGluL3NlbmQtcGFjay5jOjE2NgorIzogYnVpbHRpbi9wdXNoLmM6NTUxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY4CiBtc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcwCisjOiBidWlsdGluL3B1c2guYzo1NTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKIG1zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NCBidWlsdGluL3NlbmQtcGFjay5jOjE3MQogbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NCBidWlsdGluL3NlbmQtcGFjay5jOjE3MgogbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1NjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2OAogbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NQorIzogYnVpbHRpbi9wdXNoLmM6NTcwCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTg0CisjOiBidWlsdGluL3B1c2guYzo1ODkKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgogImluZGV4LW91dHB1dD08ZmlsZT5dICgtLWVtcHR5IHwgPHRyZWUtaXNoMT4gWzx0cmVlLWlzaDI+IFs8dHJlZS1pc2gzPl1dKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjEKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNgogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CiBtc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExOQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzAKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMyCiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKIG1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzYKIG1zZ2lkICJyZWFkIHRoZSB0cmVlIGludG8gdGhlIGluZGV4IHVuZGVyIDxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MQogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ1CiBtc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NgogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzo4Cittc2dpZCAiZ2l0IHJlYmFzZS0taGVscGVyIFs8b3B0aW9ucz5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyMAorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MjIKK21zZ2lkICJhYm9ydCByZWJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyOAogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6NzkzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgzOAogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCiAiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKQEAgLTEwNjc5LDcgKzExMDM1LDcgQEAKICIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byAncmVmdXNlJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODU4CiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKICInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgpAQCAtMTA2OTEsMTk0ICsxMTA0NywxOTQgQEAKICJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSwgeW91IGNhbiBzZXQgaXQgdG8gJ3JlZnVzZScuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg4MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTMzCiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk3CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDcKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjQyMworIzogYnVpbHRpbi9yZWZsb2cuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1NDAgYnVpbHRpbi9yZWZsb2cuYzo1NDUKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTQxIGJ1aWx0aW4vcmVmbG9nLmM6NTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQgYnVpbHRpbi9yZW1vdGUuYzozNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjM1CiBtc2dpZCAiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjM5CisjOiBidWlsdGluL3JlbW90ZS5jOjE2IGJ1aWx0aW4vcmVtb3RlLmM6NDAKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNiBidWlsdGluL3JlbW90ZS5jOjQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjE3IGJ1aWx0aW4vcmVtb3RlLmM6NDUKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4CisjOiBidWlsdGluL3JlbW90ZS5jOjE5CiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5CisjOiBidWlsdGluL3JlbW90ZS5jOjIwCiBtc2dpZCAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIwCisjOiBidWlsdGluL3JlbW90ZS5jOjIxCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjcwCisjOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzEKIG1zZ2lkICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8bmFtZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjc1CisjOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzYKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+IFs8b2xkdXJsPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMyBidWlsdGluL3JlbW90ZS5jOjc2CisjOiBidWlsdGluL3JlbW90ZS5jOjI0IGJ1aWx0aW4vcmVtb3RlLmM6NzcKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPG5hbWU+IDxuZXd1cmw+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NworIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc4CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjMwCiBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTAKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9yZW1vdGUuYzo1MQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjU1CisjOiBidWlsdGluL3JlbW90ZS5jOjU2CiBtc2dpZCAiZ2l0IHJlbW90ZSBzaG93IFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYwCisjOiBidWlsdGluL3JlbW90ZS5jOjYxCiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NgogbXNnaWQgImdpdCByZW1vdGUgdXBkYXRlIFs8b3B0aW9ucz5dIFs8Z3JvdXA+IHwgPHJlbW90ZT5dLi4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3CiBtc2dpZCAiIgogIi0tbWlycm9yIGlzIGRhbmdlcm91cyBhbmQgZGVwcmVjYXRlZDsgcGxlYXNlXG4iCiAiXHQgdXNlIC0tbWlycm9yPWZldGNoIG9yIC0tbWlycm9yPXB1c2ggaW5zdGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBtaXJyb3IgYXJndW1lbnQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5CisjOiBidWlsdGluL3JlbW90ZS5jOjE2MAogbXNnaWQgImZldGNoIHRoZSByZW1vdGUgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyCiBtc2dpZCAiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUKIG1zZ2lkICJvciBkbyBub3QgZmV0Y2ggYW55IHRhZyBhdCBhbGwgKC0tbm8tdGFncykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY3CiBtc2dpZCAiYnJhbmNoKGVzKSB0byB0cmFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjgKIG1zZ2lkICJtYXN0ZXIgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY4CisjOiBidWlsdGluL3JlbW90ZS5jOjE2OQogbXNnaWQgInB1c2h8ZmV0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcwCiBtc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgyCiBtc2dpZCAic3BlY2lmeWluZyBhIG1hc3RlciBicmFuY2ggbWFrZXMgbm8gc2Vuc2Ugd2l0aCAtLW1pcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxODQKIG1zZ2lkICJzcGVjaWZ5aW5nIGJyYW5jaGVzIHRvIHRyYWNrIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCBmZXRjaCBtaXJyb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjE5MSBidWlsdGluL3JlbW90ZS5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjMzCisjOiBidWlsdGluL3JlbW90ZS5jOjE5NSBidWlsdGluL3JlbW90ZS5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjM0CisjOiBidWlsdGluL3JlbW90ZS5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgbWFzdGVyICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzozMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM3IGJ1aWx0aW4vcmVtb3RlLmM6NDQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjQzOCBidWlsdGluL3JlbW90ZS5jOjQ0NgogbXNnaWQgIihtYXRjaGluZykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDUwCiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzU4IGJ1aWx0aW4vcmVtb3RlLmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzOQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtMTA4ODYsMTcgKzExMjQyLDE3IEBACiAiXHRQbGVhc2UgdXBkYXRlIHRoZSBjb25maWd1cmF0aW9uIG1hbnVhbGx5IGlmIG5lY2Vzc2FyeS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CisjOiBidWlsdGluL3JlbW90ZS5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5MgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTUKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTEwOTA2LDYyOSArMTEyNjIsNjM1IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgwNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTA3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEzCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE1CiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk1NQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCisjOiBidWlsdGluL3JlbW90ZS5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MworIzogYnVpbHRpbi9yZW1vdGUuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMgogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNgogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CiAjLCBjLWZvcm1hdAotbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCittc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgogIywgYy1mb3JtYXQKLW1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCittc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKICMsIGMtZm9ybWF0Cittc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0OQorIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE0CisjOiBidWlsdGluL3JlbW90ZS5jOjExMTcKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NiBidWlsdGluL3JlbW90ZS5jOjExNjIgYnVpbHRpbi9yZW1vdGUuYzoxMzAxCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIiIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduIHdpdGgKLSMuIHRoZSBvbmUgaW4gIiAgRmV0Y2ggVVJMOiAlcyIgdHJhbnNsYXRpb24KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExNTYKKyMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbgorIy4gd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKKyMuIHRyYW5zbGF0aW9uLgorIy4KKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQgYnVpbHRpbi9yZW1vdGUuYzoxMTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAogbXNnaWQgIihub3QgcXVlcmllZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjYKIG1zZ2lkICIodW5rbm93bikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg1IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIzCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0OAogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzExCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzU2CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNjIKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxOSBidWlsdGluL3JlbW90ZS5jOjE0NzMgYnVpbHRpbi9yZW1vdGUuYzoxNTQxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MjUgYnVpbHRpbi9yZW1vdGUuYzoxNDc5IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjUKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NwogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBVUkxzIGNvbmZpZ3VyZWQgZm9yIHJlbW90ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCiBtc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjMKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI1CiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzIKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NwogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIyCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3CisjOiBidWlsdGluL3JlcGFjay5jOjE4CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIyCisjOiBidWlsdGluL3JlcGFjay5jOjIzCiBtc2dpZCAiIgogIkluY3JlbWVudGFsIHJlcGFja3MgYXJlIGluY29tcGF0aWJsZSB3aXRoIGJpdG1hcCBpbmRleGVzLiAgVXNlXG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3IgZGlzYWJsZSB0aGUgcGFjay53cml0ZWJpdG1hcHMgY29uZmlndXJhdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY4CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcwCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc1CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CisjOiBidWlsdGluL3JlcGFjay5jOjE3OQogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MAorIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MgorIzogYnVpbHRpbi9yZXBhY2suYzoxODQKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NgorIzogYnVpbHRpbi9yZXBhY2suYzoxODgKIG1zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4OAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxIGJ1aWx0aW4vcmVwYWNrLmM6MTk3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkyCiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CisjOiBidWlsdGluL3JlcGFjay5jOjE5NgorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE5OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk2CisjOiBidWlsdGluL3JlcGFjay5jOjIwMAogbXNnaWQgInJlcGFjayBvYmplY3RzIGluIHBhY2tzIG1hcmtlZCB3aXRoIC5rZWVwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA2CisjOiBidWlsdGluL3JlcGFjay5jOjIxMAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjE0CiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6NDAwIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE5CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMAogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA8b2JqZWN0PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjIKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPGNvbW1pdD4gWzxwYXJlbnQ+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjMKIG1zZ2lkICJnaXQgcmVwbGFjZSAtZCA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjQKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI1IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MyBidWlsdGluL3JlcGxhY2UuYzozOTEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzMSBidWlsdGluL3JlcGxhY2UuYzozNjkgYnVpbHRpbi9yZXBsYWNlLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzY4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgogImluc3RlYWQgb2YgLS1ncmFmdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDgKIG1zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgcmVwbGFjZW1lbnQgY29tbWl0IGZvcjogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAogbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM5CiBtc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MAogbXNnaWQgImVkaXQgZXhpc3Rpbmcgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQxCiBtc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM3CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDMKIG1zZ2lkICJkbyBub3QgcHJldHR5LXByaW50IGNvbnRlbnRzIGZvciAtLWVkaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQKIG1zZ2lkICJ1c2UgdGhpcyBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzoxMgorIzogYnVpbHRpbi9yZXJlcmUuYzoxMwogbXNnaWQgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IDxwYXRoPi4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzo1OAorIzogYnVpbHRpbi9yZXJlcmUuYzo1OQogbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNgorIzogYnVpbHRpbi9yZXNldC5jOjI5CiBtc2dpZCAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMAogbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4CisjOiBidWlsdGluL3Jlc2V0LmM6MzEKIG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgInNvZnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJoYXJkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJrZWVwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NAorIzogYnVpbHRpbi9yZXNldC5jOjc3CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjc2CisjOiBidWlsdGluL3Jlc2V0LmM6NzkKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MgorIzogYnVpbHRpbi9yZXNldC5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxMDAKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE4MworIzogYnVpbHRpbi9yZXNldC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODYKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODgKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc5CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg5CiBtc2dpZCAicmVzZXQgb25seSBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODEgYnVpbHRpbi9yZXNldC5jOjI4MworIzogYnVpbHRpbi9yZXNldC5jOjI5MSBidWlsdGluL3Jlc2V0LmM6MjkzCiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg1CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk1CiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODgKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDEKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL3Jlc2V0LmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxMworIzogYnVpbHRpbi9yZXNldC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyMgorIzogYnVpbHRpbi9yZXNldC5jOjMzNwogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMxCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ2CiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0NworIzogYnVpbHRpbi9yZXNldC5jOjM2MgogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNjQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzkKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzcwCisjOiBidWlsdGluL3Jlc2V0LmM6Mzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODkKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTQKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTgKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTEKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk0CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk2CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5OQogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5OAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDEKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDEKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA0CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzMgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MzUKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xMTUzNyw5MiArMTE4OTksOTYgQEAKICJSdW4gXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgZmlyc3QgdXNhZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMKIG1zZ2lkICJnaXQgcmV2ZXJ0IFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIzCisjOiBidWlsdGluL3JldmVydC5jOjI0CiBtc2dpZCAiZ2l0IHJldmVydCA8c3ViY29tbWFuZD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyOAorIzogYnVpbHRpbi9yZXZlcnQuYzoyOQogbXNnaWQgImdpdCBjaGVycnktcGljayBbPG9wdGlvbnM+XSA8Y29tbWl0LWlzaD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyOQorIzogYnVpbHRpbi9yZXZlcnQuYzozMAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo3MQorIzogYnVpbHRpbi9yZXZlcnQuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgwCisjOiBidWlsdGluL3JldmVydC5jOjk5CiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgxCisjOiBidWlsdGluL3JldmVydC5jOjEwMAogbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDEKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4NAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjg3Ci1tc2dpZCAicGFyZW50IG51bWJlciIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2Cittc2dpZCAicGFyZW50LW51bWJlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL3JldmVydC5jOjEwNworbXNnaWQgInNlbGVjdCBtYWlubGluZSBwYXJlbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkwCisjOiBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjExMQogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCisjOiBidWlsdGluL3JldmVydC5jOjEyMgogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEyMwogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjQKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjE5MgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CisjOiBidWlsdGluL3JldmVydC5jOjIyNQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MTcKKyM6IGJ1aWx0aW4vcm0uYzoxOAogbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjA1CisjOiBidWlsdGluL3JtLmM6MjA2CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xMTYzMiw0NyArMTE5OTgsNDcgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTAKKyM6IGJ1aWx0aW4vcm0uYzoyMTEKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjE0CisjOiBidWlsdGluL3JtLmM6MjE1CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTggYnVpbHRpbi9ybS5jOjIyNworIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjIyNAorIzogYnVpbHRpbi9ybS5jOjIyNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDIKKyM6IGJ1aWx0aW4vcm0uYzoyNDMKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjQ0CisjOiBidWlsdGluL3JtLmM6MjQ1CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjI0NQorIzogYnVpbHRpbi9ybS5jOjI0NgogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDcKKyM6IGJ1aWx0aW4vcm0uYzoyNDgKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiIgogCkBAIC0xMTY5MSw3ICsxMjA1Nyw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTkKIG1zZ2lkICIiCiAiZ2l0IHNlbmQtcGFjayBbLS1hbGwgfCAtLW1pcnJvcl0gWy0tZHJ5LXJ1bl0gWy0tZm9yY2VdIFstLXJlY2VpdmUtcGFjaz08Z2l0LSIKICJyZWNlaXZlLXBhY2s+XSBbLS12ZXJib3NlXSBbLS10aGluXSBbLS1hdG9taWNdIFs8aG9zdD46XTxkaXJlY3Rvcnk+ICIKQEAgLTExNjk5LDIzICsxMjA2NSwyMyBAQAogIiAgLS1hbGwgYW5kIGV4cGxpY2l0IDxyZWY+IHNwZWNpZmljYXRpb24gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjAKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCiBtc2dpZCAicmVtb3RlIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAidXNlIHN0YXRlbGVzcyBSUEMgcHJvdG9jb2wiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc3CiBtc2dpZCAicmVhZCByZWZzIGZyb20gc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc4CiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gWzxwYXRoPi4uLl1dIgogbXNnc3RyICIiCiAKQEAgLTExNzQzLDcgKzEyMTA5LDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTIKIG1zZ2lkICIiCiAiZ2l0IHNob3ctYnJhbmNoIFstYSB8IC0tYWxsXSBbLXIgfCAtLXJlbW90ZXNdIFstLXRvcG8tb3JkZXIgfCAtLWRhdGUtb3JkZXJdXG4iCiAiXHRcdFstLWN1cnJlbnRdIFstLWNvbG9yWz08d2hlbj5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXVxuIgpAQCAtMTE3NTEsMTI0ICsxMjExNywxMjQgQEAKICJcdFx0Wy0tbm8tbmFtZSB8IC0tc2hhMS1uYW1lXSBbLS10b3BpY3NdIFsoPHJldj4gfCA8Z2xvYj4pLi4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxNgogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCiBtc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYyNgogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI4CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMAogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMgogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzQKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNQogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzcKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzAzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjkwCiBtc2dpZCAiIgogIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTQKIG1zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTcKIG1zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZWYgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXZzLiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCiBtc2dzdHIgIiIKQEAgLTExOTE1LDMwNiArMTIyODEsMjk1IEBACiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxNworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTkKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM1CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgogbXNnaWQgInNraXAgYW5kIHJlbW92ZSBhbGwgbGluZXMgc3RhcnRpbmcgd2l0aCBjb21tZW50IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOAorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzkKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzA1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMTAKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzMzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY291bGQgbm90IGxvb2t1cCBjb25maWd1cmF0aW9uICclcycuIEFzc3VtaW5nIHRoaXMgcmVwb3NpdG9yeSBpcyBpdHMgb3duICIKKyJhdXRob3JpdGF0aXZlIHVwc3RyZWFtLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM5NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MwogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDc2CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzNgogbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NQogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MwogbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc0NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiU2tpcHBpbmcgdW5tZXJnZWQgc3VibW9kdWxlICVzIgotbXNnc3RyICIiCi0KICM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3OTMKICMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgdW5tZXJnZWQgc3VibW9kdWxlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MTQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MgogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzcKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgxCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg1CiBtc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODgKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTAKIG1zZ2lkICJ3aGV0aGVyIHRoZSBpbml0aWFsIGNsb25lIHNob3VsZCBmb2xsb3cgdGhlIHNoYWxsb3cgcmVjb21tZW5kYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDgKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKICJ0aGUgc3VwZXJwcm9qZWN0IGlzIG5vdCBvbiBhbnkgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MwogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2OQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU3Ci1tc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo3CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKIG1zZ2lkICJnaXQgc3ltYm9saWMtcmVmIFs8b3B0aW9ucz5dIDxuYW1lPiBbPHJlZj5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo5CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1lPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQwCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCiBtc2dpZCAic3VwcHJlc3MgZXJyb3IgbWVzc2FnZSBmb3Igbm9uLXN5bWJvbGljIChkZXRhY2hlZCkgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQyCiBtc2dpZCAiZGVsZXRlIHN5bWJvbGljIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzCiBtc2dpZCAic2hvcnRlbiByZWYgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQ0IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MwogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MgorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0NCBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjIzCisjOiBidWlsdGluL3RhZy5jOjI0CiBtc2dpZCAiIgogImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCiAiWzxoZWFkPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzoyNAorIzogYnVpbHRpbi90YWcuYzoyNQogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjUKKyM6IGJ1aWx0aW4vdGFnLmM6MjYKIG1zZ2lkICIiCi0iZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tcG9pbnRzLWF0IDxvYmplY3Q+XVxuIgorImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS0iCisicG9pbnRzLWF0IDxvYmplY3Q+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8cGF0dGVybj4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjcKKyM6IGJ1aWx0aW4vdGFnLmM6MjgKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzo4NworIzogYnVpbHRpbi90YWcuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAyCisjOiBidWlsdGluL3RhZy5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzEKKyM6IGJ1aWx0aW4vdGFnLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEyMjIzLDcgKzEyNTc4LDcgQEAKICJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTM1CisjOiBidWlsdGluL3RhZy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xMjIzMyw0NjcgKzEyNTg4LDQ4MyBAQAogIndhbnQgdG8uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzoyMTMKKyM6IGJ1aWx0aW4vdGFnLmM6MjExCiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjIxNQorIzogYnVpbHRpbi90YWcuYzoyMTMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGFnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzoyNDAKKyM6IGJ1aWx0aW4vdGFnLmM6MjM3CiBtc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjI1MwotbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyODkKKyM6IGJ1aWx0aW4vdGFnLmM6MjgzCiBtc2dpZCAibm8gdGFnIG1lc3NhZ2U/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjk1CisjOiBidWlsdGluL3RhZy5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU0CisjOiBidWlsdGluL3RhZy5jOjM5OAogbXNnaWQgImxpc3QgdGFnIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU2CisjOiBidWlsdGluL3RhZy5jOjQwMAogbXNnaWQgInByaW50IDxuPiBsaW5lcyBvZiBlYWNoIHRhZyBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU4CisjOiBidWlsdGluL3RhZy5jOjQwMgogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL3RhZy5jOjQwMwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYxCisjOiBidWlsdGluL3RhZy5jOjQwNQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYzCisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM2NQorIzogYnVpbHRpbi90YWcuYzo0MDkKIG1zZ2lkICJ0YWcgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM2NworIzogYnVpbHRpbi90YWcuYzo0MTEKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzcxCisjOiBidWlsdGluL3RhZy5jOjQxNQogbXNnaWQgInVzZSBhbm90aGVyIGtleSB0byBzaWduIHRoZSB0YWciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzozNzIKKyM6IGJ1aWx0aW4vdGFnLmM6NDE2CiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM3MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE3IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQogbXNnaWQgImNyZWF0ZSBhIHJlZmxvZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NQorIzogYnVpbHRpbi90YWcuYzo0MTkKIG1zZ2lkICJUYWcgbGlzdGluZyBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc2CisjOiBidWlsdGluL3RhZy5jOjQyMAogbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NyBidWlsdGluL3RhZy5jOjM3OAorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzozNzkKKyM6IGJ1aWx0aW4vdGFnLmM6NDIyIGJ1aWx0aW4vdGFnLmM6NDI0Cittc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDI1CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM4MAorIzogYnVpbHRpbi90YWcuYzo0MjYKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM4NQorIzogYnVpbHRpbi90YWcuYzo0MzEKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQxNQorIzogYnVpbHRpbi90YWcuYzo0NzAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQzNwotbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5MgorbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDM5Ci1tc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgorIzogYnVpbHRpbi90YWcuYzo0OTQKK21zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDQxCi1tc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDk2Cittc2dpZCAiLS1uby1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQ0MwotbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb24gYXJlIG9ubHkgYWxsb3dlZCB3aXRoIC1sIgorIzogYnVpbHRpbi90YWcuYzo0OTgKK21zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQ1NAorIzogYnVpbHRpbi90YWcuYzo1MDAKK21zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjUxMQogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQ3MworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo0NzkKKyM6IGJ1aWx0aW4vdGFnLmM6NTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg0CisjOiBidWlsdGluL3RhZy5jOjU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjUxMgorIzogYnVpbHRpbi90YWcuYzo1NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTMKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTQKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGZpbGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTEgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRlc3RpbmcgbXRpbWUgaW4gJyVzJyAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTUwCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTYzCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzYKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4NwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTk4CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxOAogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjkKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI0CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMAogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYwCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcxCiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODMKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg3CiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTQKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk2CiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDIKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBzcGxpdCBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA0CiBtc2dpZCAiZW5hYmxlL2Rpc2FibGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA2CiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEwOAorbXNnaWQgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgorImVuYWJsZSBzcGxpdCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTcKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgorImRpc2FibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTI4CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMyCiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQwCiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLWQgPHJlZm5hbWU+IFs8b2xkLXZhbD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMQogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dICAgIDxyZWZuYW1lPiA8bmV3LXZhbD4gWzxvbGQtdmFsPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY0CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY1CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY3CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKIG1zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NwogbXNnaWQgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTQKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTUKIG1zZ2lkICJ1cGRhdGUgdGhlIGluZm8gZmlsZXMgZnJvbSBzY3JhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE3CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxOAogbXNnaWQgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzIKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjczCiBtc2dpZCAicHJpbnQgY29tbWl0IGNvbnRlbnRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjczIGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NCBidWlsdGluL3ZlcmlmeS10YWcuYzozOAogbXNnaWQgInByaW50IHJhdyBncGcgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NTQKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NQogbXNnaWQgImdpdCB2ZXJpZnktcGFjayBbLXYgfCAtLXZlcmJvc2VdIFstcyB8IC0tc3RhdC1vbmx5XSA8cGFjaz4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY0CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjUKIG1zZ2lkICJ2ZXJib3NlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NgorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY3CiBtc2dpZCAic2hvdyBzdGF0aXN0aWNzIG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTgKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE5CiBtc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM2CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNwogbXNnaWQgInByaW50IHRhZyBjb250ZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgogbXNnaWQgImdpdCB3b3JrdHJlZSBhZGQgWzxvcHRpb25zPl0gPHBhdGg+IFs8YnJhbmNoPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAogbXNnaWQgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxwYXRoPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQogbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMAogbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiB1bmFibGUgdG8gcmVhZCBnaXRkaXIgZmlsZSAoJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyOQogbXNnaWQgInJlcG9ydCBwcnVuZWQgd29ya2luZyB0cmVlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTMwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTMxCiBtc2dpZCAiZXhwaXJlIHdvcmtpbmcgdHJlZXMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIiCkBAIC0xMjcwMyw5NiArMTMwNzQsMTAwIEBACiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjcyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Mjc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyAlcyAoaWRlbnRpZmllciAlcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyMworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMxCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzMKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzM3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzM0Cittc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjM0MgogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3OQogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEgYnVpbHRpbi93b3JrdHJlZS5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg2IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTMgYnVpbHRpbi93b3JrdHJlZS5jOjUyNgogbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUyMQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBsb2NrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTMKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE0CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CiBtc2dpZCAiPHByZWZpeD4vIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzEKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICIiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MjIKKyM6IHVwbG9hZC1wYWNrLmM6MjMKIG1zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCiBtc2dzdHIgIiIKIAotIzogdXBsb2FkLXBhY2suYzoxMDM2CisjOiB1cGxvYWQtcGFjay5jOjEwNDEKIG1zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCiBtc2dzdHIgIiIKIAotIzogdXBsb2FkLXBhY2suYzoxMDM4CisjOiB1cGxvYWQtcGFjay5jOjEwNDMKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCiBtc2dzdHIgIiIKIAotIzogdXBsb2FkLXBhY2suYzoxMDQwCisjOiB1cGxvYWQtcGFjay5jOjEwNDUKIG1zZ2lkICJkbyBub3QgdHJ5IDxkaXJlY3Rvcnk+Ly5naXQvIGlmIDxkaXJlY3Rvcnk+IGlzIG5vIEdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogdXBsb2FkLXBhY2suYzoxMDQyCisjOiB1cGxvYWQtcGFjay5jOjEwNDcKIG1zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKIG1zZ3N0ciAiIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjMKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgpAQCAtMTI4MDEsMjYgKzEzMTc2LDMxIEBACiAiXHRjaG1vZCAwNzAwICVzIgogbXNnc3RyICIiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQorIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAiIgogCi0jOiBnaXQuYzoxNAorIzogZ2l0LmM6MTUKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKICJ0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCBvciBjb25jZXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBodHRwLmM6MzQ0CisjOiBodHRwLmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCittc2dzdHIgIiIKKworIzogaHR0cC5jOjM1OAogbXNnaWQgIkRlbGVnYXRpb24gY29udHJvbCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMjIuMCIKIG1zZ3N0ciAiIgogCi0jOiBodHRwLmM6MzUzCisjOiBodHRwLmM6MzY3CiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICIiCiAKLSM6IGh0dHAuYzoxNzEzCisjOiBodHRwLmM6MTc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgpAQCAtMTI4MjgsNyArMTMyMDgsNyBAQAogIiAgIHJlZGlyZWN0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUtY3VybC5jOjMxOQorIzogcmVtb3RlLWN1cmwuYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgIiIKQEAgLTEzMTgxLDcgKzEzNTYxLDcgQEAKIG1zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU3CisjOiBnaXQtcmViYXNlLnNoOjU4CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTMxODksNDMgKzEzNTY5LDQ3IEBACiAiXCIuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTU3IGdpdC1yZWJhc2Uuc2g6Mzk2CisjOiBnaXQtcmViYXNlLnNoOjE1OCBnaXQtcmViYXNlLnNoOjM5NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE2OQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjE3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjExCisjOiBnaXQtcmViYXNlLnNoOjIxMgogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjE2CisjOiBnaXQtcmViYXNlLnNoOjIxNwogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NworIzogZ2l0LXJlYmFzZS5zaDozNTgKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzY4CisjOiBnaXQtcmViYXNlLnNoOjM2OQogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3NQorIzogZ2l0LXJlYmFzZS5zaDozNzYKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc4CisjOiBnaXQtcmViYXNlLnNoOjM3OQogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjQxOAorIzogZ2l0LXJlYmFzZS5zaDo0MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTEzMjM4LDEwMSArMTM2MjIsMTAxIEBACiAidmFsdWFibGUgdGhlcmUuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY5CisjOiBnaXQtcmViYXNlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MworIzogZ2l0LXJlYmFzZS5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2IGdpdC1yZWJhc2Uuc2g6NTAwCisjOiBnaXQtcmViYXNlLnNoOjQ5NyBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjUwNQorIzogZ2l0LXJlYmFzZS5zaDo1MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI4CisjOiBnaXQtcmViYXNlLnNoOjUyOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NTYyCiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2NgorIzogZ2l0LXJlYmFzZS5zaDo1NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcwCisjOiBnaXQtcmViYXNlLnNoOjU3MQogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTAKKyM6IGdpdC1yZWJhc2Uuc2g6NTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTQKKyM6IGdpdC1yZWJhc2Uuc2g6NTk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MDUKKyM6IGdpdC1yZWJhc2Uuc2g6NjA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjYxNAorIzogZ2l0LXJlYmFzZS5zaDo2MTUKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MjQKKyM6IGdpdC1yZWJhc2Uuc2g6NjI1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjUwCisjOiBnaXQtc3Rhc2guc2g6NTQKIG1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjczCisjOiBnaXQtc3Rhc2guc2g6OTUKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6ODgKKyM6IGdpdC1zdGFzaC5zaDoxMTAKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MTAzCisjOiBnaXQtc3Rhc2guc2g6MTI1CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MTIzIGdpdC1zdGFzaC5zaDoxMzYKKyM6IGdpdC1zdGFzaC5zaDoxNDUgZ2l0LXN0YXNoLnNoOjE1OAogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDAKKyM6IGdpdC1zdGFzaC5zaDoxNjIKIG1zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDMKKyM6IGdpdC1zdGFzaC5zaDoxNjUKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU2CisjOiBnaXQtc3Rhc2guc2g6MTc4CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjE4OAorIzogZ2l0LXN0YXNoLnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgogbXNnc3RyICIiCkBAIC0xMzM0NywxMTQgKzEzNzMxLDExNCBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIzOAorIzogZ2l0LXN0YXNoLnNoOjI2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCiAiICAgICAgIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTEKKyM6IGdpdC1zdGFzaC5zaDoyODEKIG1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTkKKyM6IGdpdC1zdGFzaC5zaDoyODkKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI2MworIzogZ2l0LXN0YXNoLnNoOjI5NAogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjcKKyM6IGdpdC1zdGFzaC5zaDoyOTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAorIzogZ2l0LXN0YXNoLnNoOjI5OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI4NQorIzogZ2l0LXN0YXNoLnNoOjMyNgogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDAzCisjOiBnaXQtc3Rhc2guc2g6NDc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDE2Ci1tc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgorIzogZ2l0LXN0YXNoLnNoOjQ4NworbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjMKKyM6IGdpdC1zdGFzaC5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQzOAorIzogZ2l0LXN0YXNoLnNoOjUwOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NgorIzogZ2l0LXN0YXNoLnNoOjUzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc3CisjOiBnaXQtc3Rhc2guc2g6NTQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg1CisjOiBnaXQtc3Rhc2guc2g6NTU2CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjU2MAogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDk3CisjOiBnaXQtc3Rhc2guc2g6NTY4CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDk5CisjOiBnaXQtc3Rhc2guc2g6NTcwCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTA4Ci1tc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCisjOiBnaXQtc3Rhc2guc2g6NTc5Cittc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjUzMworIzogZ2l0LXN0YXNoLnNoOjYwNAogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NDgKKyM6IGdpdC1zdGFzaC5zaDo2MTkKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgotbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorIzogZ2l0LXN0YXNoLnNoOjYzMworbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzEKKyM6IGdpdC1zdGFzaC5zaDo2NDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MgorIzogZ2l0LXN0YXNoLnNoOjY0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTgwCisjOiBnaXQtc3Rhc2guc2g6NjUxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NTIKKyM6IGdpdC1zdGFzaC5zaDo3MzAKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIiIKIApAQCAtMTM0NzcsNyArMTM4NjEsNyBAQAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IGFuZCBpcyBub3QgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKQEAgLTEzNDg1LDIyICsxMzg2OSwyMiBAQAogIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIGl0LiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCkBAIC0xMzUxMSwxODQgKzEzODk1LDE4NCBAQAogIm9wdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ3CisjOiBnaXQtc3VibW9kdWxlLnNoOjM2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeVxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKICJkaXNjYXJkIHRoZW0iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ2NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjMzCisjOiBnaXQtc3VibW9kdWxlLnNoOjY0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgogIickc21fcGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgogIkRpcmVjdCBmZXRjaGluZyBvZiB0aGF0IGNvbW1pdCBmYWlsZWQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjY5CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg2CisjOiBnaXQtc3VibW9kdWxlLnNoOjcwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg3CisjOiBnaXQtc3VibW9kdWxlLnNoOjcwMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjg0MQogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODkzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTEzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDUxCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgpAQCAtMTM5MzgsMTEgKzE0MzIyLDExIEBACiBtc2dpZCAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4NAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTM5NjAsMjEgKzE0MzQ0LDIxIEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTAxCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA1CiBtc2dpZCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExMAogbXNnaWQgIiIKICJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKICJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTEgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE5CiBtc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEzOQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE0NwogbXNnaWQgIiIKICJcbiIKICJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKQEAgLTEzOTgzLDQ3ICsxNDM2Nyw0NyBAQAogIlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDcgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwNQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1NSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzEzCiBtc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzMKIG1zZ2lkICJObyBIRUFEPyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzYKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc4IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODMKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODYgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE5MQogbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyODMKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgogbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk2CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCiAiXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwMwogbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgogbXNnc3RyICIiCiAKQEAgLTE0MDg1LDEyNiArMTQ0NjksMTIwIEBACiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJTEycyAlMTJzICVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInN0YWdlZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKIG1zZ2lkICJ1bnN0YWdlZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNDYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzEKIG1zZ2lkICJiaW5hcnkiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjU1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA5CiBtc2dpZCAibm90aGluZyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM1NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDYKIG1zZ2lkICJ1bmNoYW5nZWQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjAyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjYyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ0b3VjaGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidG91Y2hlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIwCiBtc2dpZCAiVXBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjgzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMgogbXNnaWQgIlJldmVydCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAibm90ZTogJXMgaXMgdW50cmFja2VkIG5vdy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcxNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjYKIG1zZ2lkICJBZGQgdW50cmFja2VkIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzIzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MgogbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg1CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFnaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg4CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFzaGluZy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5MQogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgdW5zdGFnaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMDMKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKLW1zZ2lkICIiCi0iSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKLSJtYXJrZWQgZm9yIGRpc2NhcmRpbmciCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMDAKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDEzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAxNAogbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDIwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICItLS1cbiIKQEAgLTE0MjE0LDE0ICsxNDU5MiwxNCBAQAogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDI4CiBtc2dpZCAiIgogIklmIGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHksIHlvdSB3aWxsIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCiAiZWRpdCBhZ2Fpbi4gIElmIGFsbCBsaW5lcyBvZiB0aGUgaHVuayBhcmUgcmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgogImFib3J0ZWQgYW5kIHRoZSBodW5rIGlzIGxlZnQgdW5jaGFuZ2VkLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciByZWFkaW5nOiAlcyIKIG1zZ3N0ciAiIgpAQCAtMTQyMzIsMTIgKzE0NjEwLDEyIEBACiAjLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcwogIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KICMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTg3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMzQKIG1zZ2lkICIiCiAiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNDMKIG1zZ2lkICIiCiAieSAtIHN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0xNDI0Niw3ICsxNDYyNCw3IEBACiAiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0OQogbXNnaWQgIiIKICJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKQEAgLTE0MjU1LDcgKzE0NjMzLDcgQEAKICJkIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIwOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTU1CiBtc2dpZCAiIgogInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTE0MjY0LDcgKzE0NjQyLDcgQEAKICJkIC0gZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjE0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNjEKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCkBAIC0xNDI3Myw3ICsxNDY1MSw3IEBACiAiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE2NwogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgpAQCAtMTQyODIsNyArMTQ2NjAsNyBAQAogImQgLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3MwogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0xNDI5MSw3ICsxNDY2OSw3IEBACiAiZCAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTc5CiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0xNDMwMCw3ICsxNDY3OCw3IEBACiAiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE4OAogbXNnaWQgIiIKICJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgogIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKQEAgLTE0MzEzLDI4MyArMTQ2OTEsMjgzIEBACiAiPyAtIHByaW50IGhlbHBcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxOQogbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIwCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjc2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjMKIG1zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI4NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQzCiBtc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0NQogbXNnaWQgIk5vIGNoYW5nZXMuXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTMKIG1zZ2lkICJQYXRjaCB1cGRhdGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzEwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzczCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzIyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ5MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCiBtc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDIKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS5cbiIKIG1zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLlxuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTM1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0ODIKIG1zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDUKIG1zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTM5CiBtc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyNiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKIG1zZ2lkICJObyBuZXh0IGh1bmtcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCiBtc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYwNQogbXNnaWQgIlJldmlldyBkaWZmIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjc3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjQKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgogInJldmVydCAgICAgICAgLSByZXZlcnQgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIGJhY2sgdG8gdGhlIEhFQUQgdmVyc2lvblxuIgogInBhdGNoICAgICAgICAgLSBwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHlcbiIKLSJkaWZmXHQgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCisiZGlmZiAgICAgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCiAiYWRkIHVudHJhY2tlZCAtIGFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgIgogImNoYW5nZXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjk5Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzA5Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY2CiBtc2dpZCAibWlzc2luZyAtLSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC0tcGF0Y2ggbW9kZTogJXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcyNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50ICVzLCBleHBlY3RpbmcgLS0iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI2CiBtc2dpZCAibG9jYWwgem9uZSBkaWZmZXJzIGZyb20gR01UIGJ5IGEgbm9uLW1pbnV0ZSBpbnRlcnZhbFxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI4IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzOQogbXNnaWQgImxvY2FsIHRpbWUgb2Zmc2V0IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAyNCBob3Vyc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIxNAogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzE0CiBtc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzY4IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM3OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0MzcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDY2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tY29uZmlybSBzZXR0aW5nOiAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTA5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGFsaWFzIHdpdGggcXVvdGVzIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MDAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTEzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTA3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTg5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYwMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgpAQCAtMTQ1OTksMzYgKzE0OTc3LDM2IEBACiAiICAgICogR2l2aW5nIC0tZm9ybWF0LXBhdGNoIG9wdGlvbiBpZiB5b3UgbWVhbiBhIHJhbmdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjEwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjQ1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJmYXRhbDogJXM6ICVzXG4iCiAid2FybmluZzogbm8gcGF0Y2hlcyB3ZXJlIHNlbnRcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NTYKIG1zZ2lkICIiCiAiXG4iCiAiTm8gcGF0Y2ggZmlsZXMgc3BlY2lmaWVkIVxuIgogIlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJObyBzdWJqZWN0IGxpbmUgaW4gJXM/IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njg5CiBtc2dpZCAiIgogIkxpbmVzIGJlZ2lubmluZyBpbiBcIkdJVDpcIiB3aWxsIGJlIHJlbW92ZWQuXG4iCiAiQ29uc2lkZXIgaW5jbHVkaW5nIGFuIG92ZXJhbGwgZGlmZnN0YXQgb3IgdGFibGUgb2YgY29udGVudHNcbiIKQEAgLTE0NjM3LDQxICsxNTAxNSw0MSBAQAogIkNsZWFyIHRoZSBib2R5IGNvbnRlbnQgaWYgeW91IGRvbid0IHdpc2ggdG8gc2VuZCBhIHN1bW1hcnkuXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc1MAogbXNnaWQgIlRvL0NjL0JjYyBmaWVsZHMgYXJlIG5vdCBpbnRlcnByZXRlZCB5ZXQsIHRoZXkgaGF2ZSBiZWVuIGlnbm9yZWRcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NTkKIG1zZ2lkICJTdW1tYXJ5IGVtYWlsIGlzIGVtcHR5LCBza2lwcGluZyBpdFxuIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCBbeS9OXSBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzgwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc5MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdXNlIDwlcz4gW3kvTl0/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODI1CiBtc2dpZCAiV2hpY2ggOGJpdCBlbmNvZGluZyBzaG91bGQgSSBkZWNsYXJlIFtVVEYtOF0/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIlJlZnVzaW5nIHRvIHNlbmQgYmVjYXVzZSB0aGUgcGF0Y2hcbiIKQEAgLTE0NjgwLDIwICsxNTA1OCwyMCBAQAogIndhbnQgdG8gc2VuZC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg0MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NTIKIG1zZ2lkICJUbyB3aG9tIHNob3VsZCB0aGUgZW1haWxzIGJlIHNlbnQgKGlmIGFueW9uZSk/IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODcxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg4MgogbXNnaWQgIk1lc3NhZ2UtSUQgdG8gYmUgdXNlZCBhcyBJbi1SZXBseS1UbyBmb3IgdGhlIGZpcnN0IGVtYWlsIChpZiBhbnkpPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjEgZ2l0LXNlbmQtZW1haWwucGVybDo5MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMyIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAiIgpAQCAtMTQ3MDEsMTYgKzE1MDc5LDE2IEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3FdIFtkXSBbZV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0NAogbXNnaWQgIldoYXQgdG8gZG8gd2l0aCB0aGlzIGFkZHJlc3M/IChbcV11aXR8W2Rdcm9wfFtlXWRpdCk6ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI0NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMDkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyMAogbXNnaWQgIiIKICIgICAgVGhlIENjIGxpc3QgYWJvdmUgaGFzIGJlZW4gZXhwYW5kZWQgYnkgYWRkaXRpb25hbFxuIgogIiAgICBhZGRyZXNzZXMgZm91bmQgaW4gdGhlIHBhdGNoIGNvbW1pdCBtZXNzYWdlLiBCeSBkZWZhdWx0XG4iCkBAIC0xNDcyNywxMjMgKzE1MTA1LDEyOCBAQAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSBbbl0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMzUKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtxXXVpdHxbYV1sbCk6ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMzOAogbXNnaWQgIlNlbmQgdGhpcyBlbWFpbCByZXBseSByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNTMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM2NAogbXNnaWQgIlRoZSByZXF1aXJlZCBTTVRQIHNlcnZlciBpcyBub3QgcHJvcGVybHkgZGVmaW5lZC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzk3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgU1RBUlRUTFMhICVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQwMworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDE2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTVEFSVFRMUyBmYWlsZWQhICVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAogbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDIxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEcnktU2VudCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlbnQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MwogbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTMKIG1zZ2lkICJPSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDM4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjUKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2OAogbXNnaWQgIlJlc3VsdDogT0tcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ4MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIGZpbGUgJXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTAxIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTI4IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1ODIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG5vbi1tYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKGJvZHkpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIENvdWxkIG5vdCBleGVjdXRlICclcyciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjgzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIGZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDkKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NTcKIG1zZ2lkICJpbnZhbGlkIHRyYW5zZmVyIGVuY29kaW5nIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTIgZ2l0LXNlbmQtZW1haWwucGVybDoxODAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTUgZ2l0LXNlbmQtZW1haWwucGVybDoxODQ2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc5OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc2MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODE0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nICVzIHdpdGggYmFja3VwIHN1ZmZpeCAnJXMnLlxuIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCAiW3l8Tl0iIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzY0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIHNlbmQgJXM/IFt5fE5dOiAiCiBtc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL2tvLnBvIGIvcG8va28ucG8KaW5kZXggZjk0OTliYi4uNmM3ZDg5NiAxMDA2NDQKLS0tIGEvcG8va28ucG8KKysrIGIvcG8va28ucG8KQEAgLTU4LDggKzU4LDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMTggMDE6MDArMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTctMDItMTkgMTk6MzMrMDkwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTA3LTI0IDIxOjU0KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTA4LTAxIDEyOjI2KzA5MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IENoYW5nd29vIFJ5dSA8Y3dyeXVAZGViaWFuLm9yZz5cbiIKICJMYW5ndWFnZS1UZWFtOiBHaXQgS29yZWFuIHRyYW5zbGF0aW9uIDxodHRwOi8vZ2l0aHViLmNvbS9jaGFuZ3dvby9naXQtbDEwbi0iCiAia28+XG4iCkBAIC02OSwzNyArNjksMzcgQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0xOyBwbHVyYWw9MDtcbiIKIAotIzogYWR2aWNlLmM6NTUKKyM6IGFkdmljZS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImhpbnQ6ICUuKnNcbiIKIG1zZ3N0ciAi7Z6M7Yq4OiAlLipzXG4iCiAKLSM6IGFkdmljZS5jOjgzCisjOiBhZHZpY2UuYzo4NgogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi67OR7ZWp7ZWY7KeAIOyViuydgCDtjIzsnbzsnbQg7J6I7Jy866+A66GcLCDsu6TrsIsg67m87Jik6riw66W8IO2VoCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYWR2aWNlLmM6ODUKKyM6IGFkdmljZS5jOjg4CiBtc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg7YyM7J287J20IOyeiOycvOuvgOuhnCwg7Luk67CL7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBhZHZpY2UuYzo4NworIzogYWR2aWNlLmM6OTAKIG1zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi67OR7ZWp7ZWY7KeAIOyViuydgCDtjIzsnbzsnbQg7J6I7Jy866+A66GcLCDrs5HtlantlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGFkdmljZS5jOjg5CisjOiBhZHZpY2UuYzo5MgogbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLrs5HtlantlZjsp4Ag7JWK7J2AIO2MjOydvOydtCDsnojsnLzrr4DroZwsIO2SgOydhCDtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGFkdmljZS5jOjkxCisjOiBhZHZpY2UuYzo5NAogbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg7YyM7J287J20IOyeiOycvOuvgOuhnCwg65CY64+M66as6riw66W8IO2VoCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYWR2aWNlLmM6OTMKKyM6IGFkdmljZS5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi67OR7ZWp7ZWY7KeAIOyViuydgCDtjIzsnbzsnbQg7J6I7Jy866+A66GcLCAlcyDtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGFkdmljZS5jOjEwMQorIzogYWR2aWNlLmM6MTA0CiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKQEAgLTEwNywyMyArMTA3LDIzIEBACiAi7J6R7JeFIO2PtOuNlOyXkOyEnCDrrLjsoJzrpbwg67CU66Gc7J6h7J2AIOuLpOydjCwgJ2dpdCBhZGQvcm0gPO2MjOydvD4n7J2EIOyggeygiO2eiFxuIgogIuyCrOyaqe2VtCDtlbTqsrAg7ZGc7Iuc7ZWY6rOgIOy7pOuwi+2VmOyLreyLnOyYpC4iCiAKLSM6IGFkdmljZS5jOjEwOQorIzogYWR2aWNlLmM6MTEyCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICLtlbTqsrDtlZjsp4Ag66q77ZWcIOy2qeuPjCDrlYzrrLjsl5Ag64Gd64Kp64uI64ukLiIKIAotIzogYWR2aWNlLmM6MTE0IGJ1aWx0aW4vbWVyZ2UuYzoxMjA2CisjOiBhZHZpY2UuYzoxMTcgYnVpbHRpbi9tZXJnZS5jOjExODQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIuuzke2VqSDsnpHsl4XsnYQg64ukIOuniOy5mOyngCDslYrslZjsirXri4jri6QgKE1FUkdFX0hFQUQg7YyM7J287J20IOyeiOyKteuLiOuLpCkuIgogCi0jOiBhZHZpY2UuYzoxMTYKKyM6IGFkdmljZS5jOjExOQogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgIuuzke2Vqe2VmOq4sCDsoITsl5Ag67OA6rK9IOyCrO2VreydhCDsu6TrsIvtlZjsi63si5zsmKQuIgogCi0jOiBhZHZpY2UuYzoxMTcKKyM6IGFkdmljZS5jOjEyMAogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAi67OR7ZWp7J2EIOuniOy5mOyngCDrqrvtlojquLAg65WM66y47JeQIOuBneuCqeuLiOuLpC4iCiAKLSM6IGFkdmljZS5jOjEyMworIzogYWR2aWNlLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKQEAgLTE1MCw4NiArMTUwLDk2IEBACiAiICBnaXQgY2hlY2tvdXQgLWIgPOyDiC3ruIzrnpzsuZgt7J2066aEPlxuIgogIlxuIgogCi0jOiBhcHBseS5jOjU3CisjOiBhcHBseS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCDqs7XrsLEg7Ji17IWYICclcyciCiAKLSM6IGFwcGx5LmM6NzMKKyM6IGFwcGx5LmM6NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCDqs7XrsLEg66y07IucIOyYteyFmCAnJXMnIgogCi0jOiBhcHBseS5jOjEyNQorIzogYXBwbHkuYzoxMjYKIG1zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1yZWplY3Qg67CPIC0tM3dheSDsmLXshZjsnYAg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYXBwbHkuYzoxMjcKKyM6IGFwcGx5LmM6MTI4CiBtc2dpZCAiLS1jYWNoZWQgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIi0tY2FjaGVkIOuwjyAtLTN3YXkg7Ji17IWY7J2AIOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGFwcGx5LmM6MTMwCisjOiBhcHBseS5jOjEzMQogbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi7KCA7J6l7IaMIOuwluyXkOyEnCAtLTN3YXkg7Ji17IWYIOyCrOyaqSIKIAotIzogYXBwbHkuYzoxNDEKKyM6IGFwcGx5LmM6MTQyCiBtc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi7KCA7J6l7IaMIOuwluyXkOyEnCAtLWluZGV4IOyYteyFmCDsgqzsmqkiCiAKLSM6IGFwcGx5LmM6MTQ0CisjOiBhcHBseS5jOjE0NQogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICLsoIDsnqXshowg67CW7JeQ7IScIC0tY2FjaGVkIOyYteyFmCDsgqzsmqkiCiAKLSM6IGFwcGx5LmM6ODQ1CisjOiBhcHBseS5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgogbXNnc3RyICLtg4DsnoTsiqTtg6ztlIQg7KCV6rec7Iud7J2EIOykgOu5hO2VoCDsiJgg7JeG7Iq164uI64ukICglcykiCiAKLSM6IGFwcGx5LmM6ODU0CisjOiBhcHBseS5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgInJlZ2V4ZWMoKeyXkOyEnCDri6TsnYwg7J6F66Cl7JeQIOuMgO2VtCAlZOuyiOydhCDrpqzthLTtlojsirXri4jri6Q6ICVzIgogCi0jOiBhcHBseS5jOjkzOAorIzogYXBwbHkuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAi7Yyo7LmY7J2YICVk67KIIOykhOyXkCDtjIzsnbwg7J2066aE7J2EIOywvuydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjk3NworIzogYXBwbHkuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5OiDsnpjrqrvrkJwgZ2l0LWRpZmYgLSAlMiRk67KIIOykhOyXkOyEnCAvZGV2L251bGzsnYQg6riw64yA7ZaI7KeA66eMLCAnJTEkcyfsnbQiCiAiKOqwgCkg7JmU7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjk4MworIzogYXBwbHkuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6IOyemOuqu+uQnCBnaXQtZGlmZiAtICVk67KIIOykhOyXkCDsg4gg7YyM7J28IOydtOumhOydtCDsmKzrsJTrpbTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjk4NAorIzogYXBwbHkuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6IOyemOuqu+uQnCBnaXQtZGlmZiAtICVk67KIIOykhOyXkCDsmIjsoIQg7YyM7J28IOydtOumhOydtCDsmKzrsJTrpbTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjk5MAorIzogYXBwbHkuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiDsnpjrqrvrkJwgZ2l0LWRpZmYgLSAlZOuyiCDspITsl5DshJwgL2Rldi9udWxs7J2EIOq4sOuMgO2WiOyKteuLiOuLpCIKIAotIzogYXBwbHkuYzoxNDg4CisjOiBhcHBseS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBtb2RlIG9uIGxpbmUgJWQ6ICVzIgorbXNnc3RyICIlZOuyiCDspITsl5Ag7J6Y66q765CcIOuqqOuTnDogJXMiCisKKyM6IGFwcGx5LmM6MTMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbnNpc3RlbnQgaGVhZGVyIGxpbmVzICVkIGFuZCAlZCIKK21zZ3N0ciAi7J286rSA7ISxIOyXhuuKlCDtl6TrjZQg7KSEICVk67KIIOuwjyAlZOuyiCIKKworIzogYXBwbHkuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKIG1zZ3N0ciAicmVjb3VudDog7JiI7IOB7LmYIOuqu+2VnCDspIQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MTU1NworIzogYXBwbHkuYzoxNTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgIiVk67KIIOykhOyXkCDtl6TrjZQg7JeG64qUIO2MqOy5mCDrtoDrtoQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MTU3NworIzogYXBwbHkuYzoxNTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKQEAgLTI0MSw4MSArMjUxLDgxIEBACiAi6rK966GcIOydtOumhCDrtoDrtoTsl5DshJwgJWTqsJzrpbwg7KCc6rGw6528IOuVjCBnaXQgZGlmZiDtl6TrjZTsl5Ag7YyM7J28IOydtOumhCDsoJXrs7TqsIAg7JeG7Iq164uIIgogIuuLpC4gKCVk67KIIOykhCkiCiAKLSM6IGFwcGx5LmM6MTU4OQorIzogYXBwbHkuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgImdpdCBkaWZmIO2XpOuNlOyXkCDtjIzsnbwg7J2066aEIOygleuztOqwgCDsl4bsirXri4jri6QgKCVk67KIIOykhCkiCiAKLSM6IGFwcGx5LmM6MTc1OQorIzogYXBwbHkuYzoxNzcwCiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgIuyDiCDtjIzsnbzsnbQg7JiI7KCEIOuCtOyaqeyXkCDsnZjsobTtlanri4jri6QiCiAKLSM6IGFwcGx5LmM6MTc2MQorIzogYXBwbHkuYzoxNzcyCiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAi7IKt7KCc7ZWcIO2MjOydvOyXkCDslYTsp4Eg64K07Jqp7J20IOuTpOyWtCDsnojsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MTc5NQorIzogYXBwbHkuYzoxODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAi7Yyo7LmY6rCAICVk67KIIOykhOyXkOyEnCDrp53qsIDsoYzsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MTgzMgorIzogYXBwbHkuYzoxODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICLsg4gg7YyM7J28ICVz7J20KOqwgCkg7JiI7KCEIOuCtOyaqeyXkCDsnZjsobTtlanri4jri6QiCiAKLSM6IGFwcGx5LmM6MTgzNAorIzogYXBwbHkuYzoxODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgIuyCreygnO2VnCDtjIzsnbwgJXPsnbQo6rCAKSDslYTsp4Eg64K07Jqp7J20IOuTpOyWtCDsnojsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MTgzNworIzogYXBwbHkuYzoxODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqIOqyveqzoDogJXMg7YyM7J287J2YIOuCtOyaqeydtCDruYTslrQg7J6I7KeA66eMIOyCreygnOuQmOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MTk4NAorIzogYXBwbHkuYzoxOTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgIiVk67KIIOykhOyXkCDrsJTsnbTrhIjrpqwg7Yyo7LmY6rCAIOyGkOyDgeuQmOyXiOyKteuLiOuLpDogJS4qcyIKIAotIzogYXBwbHkuYzoyMDIxCisjOiBhcHBseS5jOjIwMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICIlZOuyiCDspITsl5Ag67CU7J2064SI66asIO2MqOy5mOqwgCDsnbTtlbTtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzoyMTgyCisjOiBhcHBseS5jOjIxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKIG1zZ3N0ciAiJWTrsogg7KSE7JeQIOyTsOugiOq4sCDrjbDsnbTthLDrp4wg7J6I64qUIO2MqOy5mCIKIAotIzogYXBwbHkuYzoyMjY1CisjOiBhcHBseS5jOjIyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAiJXMg7Ius67O866atIOunge2BrOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzoyMjY5CisjOiBhcHBseS5jOjIyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDsl7TqsbDrgpgg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MjkyMgorIzogYXBwbHkuYzoyOTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKIG1zZ3N0ciAi7KSEIOyLnOyekeydtCDsnpjrqrvrkKg6ICclYyciCiAKLSM6IGFwcGx5LmM6MzA0MQorIzogYXBwbHkuYzozMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKIG1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKIG1zZ3N0clswXSAi7Yyo7LmYICVk67KIIOu2gOu2hCAlZOuyiCDspITsl5DshJwg7ISx6rO1ICjsmKTtlITshYsgJWTrsogg7KSEKSIKIAotIzogYXBwbHkuYzozMDUzCisjOiBhcHBseS5jOjMwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAi7Luo7YWN7Iqk7Yq46rCAICglbGQvJWxkKeuhnCDspITslrTrk63ri4jri6QuICglZOuyiCDspITsl5DshJwg7KCB7JqpKSIKIAotIzogYXBwbHkuYzozMDU5CisjOiBhcHBseS5jOjMwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCkBAIC0zMjQsNTU3ICszMzQsNTYyIEBACiAi64uk7J2M7J2EIOqygOyDie2VmOuNmCDspJE6XG4iCiAiJS4qcyIKIAotIzogYXBwbHkuYzozMDgxCisjOiBhcHBseS5jOjMwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDrjIDtlZwg67CU7J2064SI66asIO2MqOy5mCDrjbDsnbTthLDqsIAg7JeG7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjMwODkKKyM6IGFwcGx5LmM6MzEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAiIgogIuuwmOuMgCDtl53tgazqsIAg7JeG7Jy866m0ICclcyfsl5Ag64yA7ZWcIOuwlOydtOuEiOumrCDtjKjsuZjrpbwg67CY64yA66GcIOyggeyaqe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjMxMzUKKyM6IGFwcGx5LmM6MzE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCiBtc2dzdHIgIiIKICLsoITssrQg7J24642x7IqkIOudvOyduOydtCDsl4bsnLzrqbQgJyVzJ+yXkCDrjIDtlZwg67CU7J2064SI66asIO2MqOy5mOulvCDsoIHsmqntlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzozMTQ1CisjOiBhcHBseS5jOjMxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgogbXNnc3RyICLtjKjsuZjqsIAgJyVzJyglcynsl5Ag7KCB7Jqp65CY7KeA66eMLCDtmITsnqwg64K07Jqp6rO8IOydvOy5mO2VmOyngCDslYrsirXri4jri6QuIgogCi0jOiBhcHBseS5jOjMxNTMKKyM6IGFwcGx5LmM6MzE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgIu2MqOy5mOuKlCDruYggJyVzJ+yXkCDsoIHsmqnrkJjsp4Drp4wsIO2YhOyerCDruYTslrQg7J6I7KeAIOyViuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzozMTcxCisjOiBhcHBseS5jOjMxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIiclMiRzJ+yXkCDrjIDtlZwg7ZWE7JqU7ZWcICUxJHMg7Y+s7Iqk7Yq47J2066+47KeA66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjMxODQKKyM6IGFwcGx5LmM6MzE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKIG1zZ3N0ciAi67CU7J2064SI66asIO2MqOy5mOulvCAnJXMn7JeQIOyggeyaqe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjMxOTAKKyM6IGFwcGx5LmM6MzIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKIG1zZ3N0ciAiIgogIiclcyfsl5Ag64yA7ZWcIOuwlOydtOuEiOumrCDtjKjsuZjqsIAg7Jis67CU66W07KeAIOyViuydgCDqsrDqs7zrpbwg66eM65Ot64uI64ukLiAo6riw64yA7ZWcIOqwkiAlcywg7IukIgogIuygnCAlcykiCiAKLSM6IGFwcGx5LmM6MzIxMQorIzogYXBwbHkuYzozMjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgogbXNnc3RyICLtjKjsuZgg7Iuk7YyoOiAlczolbGQiCiAKLSM6IGFwcGx5LmM6MzMzMworIzogYXBwbHkuYzozMzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDqsIDsoLjsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzozMzgxIGFwcGx5LmM6MzM5MiBhcHBseS5jOjM0Mzggc2V0dXAuYzoyNDgKKyM6IGFwcGx5LmM6MzM5MiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDQ5IHNldHVwLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgogbXNnc3RyICIlc+ydhCjrpbwpIOydveuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MzM4OQorIzogYXBwbHkuYzozNDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIuyLrOuzvOumrSDrp4Htgawg65Kk7JeQIOyeiOuKlCAnJXMnIOydveq4sCIKIAotIzogYXBwbHkuYzozNDE4IGFwcGx5LmM6MzY1OAorIzogYXBwbHkuYzozNDI5IGFwcGx5LmM6MzY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAiJXMg6rK966Gc6rCAIOydtOumhOydtCDrsJTrgIzsl4jqsbDrgpgg7IKt7KCc65CY7JeI7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjM1MDEgYXBwbHkuYzozNjcyCisjOiBhcHBseS5jOjM1MTIgYXBwbHkuYzozNjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6IOyduOuNseyKpOyXkCDsl4bsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MzUxMCBhcHBseS5jOjM2ODAKKyM6IGFwcGx5LmM6MzUyMSBhcHBseS5jOjM2OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgogbXNnc3RyICIlczog7J24642x7Iqk7JmAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MzU0NQorIzogYXBwbHkuYzozNTU2CiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAi7KCA7J6l7IaM7JeQIDMt67Cp7ZalIOuzke2VqeycvOuhnCDrjIDsi6DtlaAg65WMIO2VhOyalO2VnCDruJTroa3snbQg7JeG7Iq164uI64ukLiIKIAotIzogYXBwbHkuYzozNTQ4CisjOiBhcHBseS5jOjM1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICIzLeuwqe2WpSDrs5HtlansnLzroZwg64yA7Iug7ZWp64uI64ukLi4uXG4iCiAKLSM6IGFwcGx5LmM6MzU2NCBhcHBseS5jOjM1NjgKKyM6IGFwcGx5LmM6MzU3NSBhcHBseS5jOjM1NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydmCDtmITsnqwg64K07Jqp7J2EIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjM1ODAKKyM6IGFwcGx5LmM6MzU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICIzLeuwqe2WpSDrs5HtlansnLzroZwg64yA7Iug7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpC4uLlxuIgogCi0jOiBhcHBseS5jOjM1OTQKKyM6IGFwcGx5LmM6MzYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgIu2MqOy5mOulvCAnJXMn7JeQIOy2qeuPjOydtCDsnojripQg7IOB7YOc66GcIOyggeyaqS5cbiIKIAotIzogYXBwbHkuYzozNTk5CisjOiBhcHBseS5jOjM2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCiBtc2dzdHIgIu2MqOy5mOulvCAnJXMn7JeQIO2MqOy5mCDrrLjsoJwg7JeG7J20IOyggeyaqS5cbiIKIAotIzogYXBwbHkuYzozNjI1CisjOiBhcHBseS5jOjM2MzYKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICLsoJzqsbDtlZjripQg7Yyo7LmYIOuLpOydjOyXkCDtjIzsnbwg64K07Jqp7J20IOuCqOyVmOyKteuLiOuLpCIKIAotIzogYXBwbHkuYzozNjk3CisjOiBhcHBseS5jOjM3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdyb25nIHR5cGUiCiBtc2dzdHIgIiVzOiDsnpjrqrvrkJwg7KKF66WYIgogCi0jOiBhcHBseS5jOjM2OTkKKyM6IGFwcGx5LmM6MzcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIiVz7J2YIOyiheulmOqwgCAlb+ydtOyngOunjCAlb+ydtCjqsIApIOuQmOyWtOyVvCDtlanri4jri6QiCiAKLSM6IGFwcGx5LmM6Mzg1MCBhcHBseS5jOjM4NTIKKyM6IGFwcGx5LmM6Mzg2MCBhcHBseS5jOjM4NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBwYXRoICclcyciCiBtc2dzdHIgIuyemOuqu+uQnCDqsr3roZwgJyVzJyIKIAotIzogYXBwbHkuYzozOTA4CisjOiBhcHBseS5jOjM5MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgogbXNnc3RyICIlczog7J2066+4IOyduOuNseyKpOyXkCDsnojsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6MzkxMQorIzogYXBwbHkuYzozOTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6IOydtOuvuCDsnpHsl4Ug65SU66CJ7YSw66as7JeQIOyeiOyKteuLiOuLpCIKIAotIzogYXBwbHkuYzozOTMxCisjOiBhcHBseS5jOjM5NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICIlMiRz7J2YIOyDiCDrqqjrk5woJTEkbynqsIAg7JiI7KCEIOuqqOuTnCglMyRvKeyZgCDri6TrpoXri4jri6QiCiAKLSM6IGFwcGx5LmM6MzkzNgorIzogYXBwbHkuYzozOTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAiJTIkc+ydmCDsg4gg66qo65OcKCUxJG8p6rCAICU0JHPsnZgg7JiI7KCEIOuqqOuTnCglMyRvKeyZgCDri6TrpoXri4jri6QiCiAKLSM6IGFwcGx5LmM6Mzk1NgorIzogYXBwbHkuYzozOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLsmIHtlqUg67Cb64qUICclcycg7YyM7J287J20IOyLrOuzvOumrSDrp4Htgawg65Kk7JeQIOyeiOyKteuLiOuLpCIKIAotIzogYXBwbHkuYzozOTYwCisjOiBhcHBseS5jOjM5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICIlczog7Yyo7LmY66W8IOyggeyaqe2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6Mzk3NQorIzogYXBwbHkuYzozOTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICIlcyDtjKjsuZjrpbwg7ZmV7J247ZWY64qUIOykkeyeheuLiOuLpC4uLiIKIAotIzogYXBwbHkuYzo0MDY2CisjOiBhcHBseS5jOjQwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAic2hhMSDsoJXrs7TqsIAg7JeG6rGw64KYICVzIO2VmOychCDrqqjrk4jsl5DshJwg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6NDA3MworIzogYXBwbHkuYzo0MDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKIG1zZ3N0ciAiJXPsl5Ag64yA7ZWcIOuqqOuTnCDrs4Dqsr3snbTsp4Drp4wsIO2YhOyerCBIRUFE7JeQIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzo0MDc2CisjOiBhcHBseS5jOjQwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgInNoYTEg7KCV67O06rCAIOyXhuqxsOuCmCDsk7gg7IiYIOyXhuyKteuLiOuLpCAoJXMpLiIKIAotIzogYXBwbHkuYzo0MDgxIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIzogYXBwbHkuYzo0MDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzUgYnVpbHRpbi9yZXNldC5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLqsr3roZwgJyVzJ+yXkCDrjIDtlbQgbWFrZV9jYWNoZV9lbnRyeSDsi6TtjKgiCiAKLSM6IGFwcGx5LmM6NDA4NQorIzogYXBwbHkuYzo0MDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLsnoTsi5wg7J24642x7Iqk7JeQICVzIO2VreuqqeydhCDstpTqsIDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzo0MDk1CisjOiBhcHBseS5jOjQxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKIG1zZ3N0ciAi7J6E7IucIOyduOuNseyKpOulvCAlc+yXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzo0MjMzCisjOiBhcHBseS5jOjQyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICLsnbjrjbHsiqTsl5DshJwgJXPsnYQo66W8KSDsoJzqsbDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzo0MjY4CisjOiBhcHBseS5jOjQyNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICLtlZjsnIQg66qo65OIICVz7JeQIOuMgO2VtCDshpDsg4HrkJwg7Yyo7LmYIgogCi0jOiBhcHBseS5jOjQyNzQKKyM6IGFwcGx5LmM6NDI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAi7IOI66GcIOunjOuToCDtjIzsnbwgJyVzJ+yXkCDrjIDtlbQgc3RhdCgp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6NDI4MgorIzogYXBwbHkuYzo0MjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgogbXNnc3RyICLsg4jroZwg66eM65OgIO2MjOydvCAnJXMn7JeQIOuMgO2VtCDsmIjruYQg7KCA7J6l7IaM66W8IOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjQyODggYXBwbHkuYzo0NDMyCisjOiBhcHBseS5jOjQyOTggYXBwbHkuYzo0NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgogbXNnc3RyICIlc+yXkCDrjIDtlbQg7LqQ7IucIO2VreuqqeydhCDstpTqsIDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzo0MzI5CisjOiBhcHBseS5jOjQzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgIiclcyfsl5Ag7JOw64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYXBwbHkuYzo0MzMzCisjOiBhcHBseS5jOjQzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgIiclcycg7YyM7J287J2EIOuLq+uKlCDspJHsnoXri4jri6QiCiAKLSM6IGFwcGx5LmM6NDQwMworIzogYXBwbHkuYzo0NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAiJyVzJyDtjIzsnbzsl5Ag7JO4IOyImCDsl4bsirXri4jri6QgKCclbycg66qo65OcKSIKIAotIzogYXBwbHkuYzo0NTAxCisjOiBhcHBseS5jOjQ1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKIG1zZ3N0ciAiJXMg7Yyo7LmYIOq5lOuBlO2VmOqyjCDsoIHsmqkuIgogCi0jOiBhcHBseS5jOjQ1MDkKKyM6IGFwcGx5LmM6NDUxOQogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICLrgrTrtoAg7Jik66WYIgogCi0jOiBhcHBseS5jOjQ1MTIKKyM6IGFwcGx5LmM6NDUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCiBtc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCiBtc2dzdHJbMF0gIiUlcyDtjKjsuZjrpbwgKCVk6rCcIOqxsOu2gCkg7KCB7JqpLi4uIgogCi0jOiBhcHBseS5jOjQ1MjMKKyM6IGFwcGx5LmM6NDUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCiBtc2dzdHIgInRydW5jYXRpbmcgLnJlaiDtjIzsnbwg7J2066aE7J2EICclLipzLnJlaico7Jy8KeuhnCDsnpDrpoQiCiAKLSM6IGFwcGx5LmM6NDUzMSBidWlsdGluL2ZldGNoLmM6NzM3IGJ1aWx0aW4vZmV0Y2guYzo5ODYKKyM6IGFwcGx5LmM6NDU0MSBidWlsdGluL2ZldGNoLmM6NzM4IGJ1aWx0aW4vZmV0Y2guYzo5ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgIiVz7J2EKOulvCkg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6NDU0NQorIzogYXBwbHkuYzo0NTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCiBtc2dzdHIgIu2MqOy5mCDrtoDsnIQgIyVkIOq5lOuBlO2VmOqyjCDsoIHsmqkuIgogCi0jOiBhcHBseS5jOjQ1NDkKKyM6IGFwcGx5LmM6NDU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCiBtc2dzdHIgIu2MqOy5mCDrtoDsnIQgIyVkIOqxsOu2gOuQqC4iCiAKLSM6IGFwcGx5LmM6NDY1OQorIzogYXBwbHkuYzo0NjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgIu2MqOy5mCAnJXMnIOqxtOuEiOucgC4iCiAKLSM6IGFwcGx5LmM6NDY2NworIzogYXBwbHkuYzo0Njc3CiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgogbXNnc3RyICLsnbjsi53tlaAg7IiYIOyXhuuKlCDsnoXroKUiCiAKLSM6IGFwcGx5LmM6NDY4NgorIzogYXBwbHkuYzo0Njk2CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAi7J24642x7IqkIO2MjOydvOydhCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYXBwbHkuYzo0ODI0CisjOiBhcHBseS5jOjQ4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKIG1zZ3N0ciAiJyVzJyDtjKjsuZjrpbwg7Je0IOyImCDsl4bsirXri4jri6Q6ICVzIgogCi0jOiBhcHBseS5jOjQ4NDkKKyM6IGFwcGx5LmM6NDg2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKIG1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyWzBdICLqs7XrsLEg7Jik66WYICVk6rCc66W8IOuEmOyWtOqwkeuLiOuLpCIKIAotIzogYXBwbHkuYzo0ODU1IGFwcGx5LmM6NDg3MAorIzogYXBwbHkuYzo0ODY2IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZOuyiCDspITsl5DshJwg6rO167CxIOyYpOulmOulvCDstpTqsIDtlanri4jri6QuIgogCi0jOiBhcHBseS5jOjQ4NjMKKyM6IGFwcGx5LmM6NDg3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICLqs7XrsLEg7Jik66WY66W8IOuwlOuhnOyeoeydgCDrkqTsl5AgJWTrsogg7KSEIOyggeyaqS4iCiAKLSM6IGFwcGx5LmM6NDg3OSBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjk4IGJ1aWx0aW4vcm0uYzozOTEKKyM6IGFwcGx5LmM6NDg5MCBidWlsdGluL2FkZC5jOjUxMyBidWlsdGluL212LmM6Mjk5IGJ1aWx0aW4vcm0uYzozOTEKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIuyDiCDsnbjrjbHsiqQg7YyM7J287JeQIOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjQ5MTAgYXBwbHkuYzo0OTEzIGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCi0jOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vcHVsbC5jOjE4MAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDQKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBhcHBseS5jOjQ5MjEgYXBwbHkuYzo0OTI0IGJ1aWx0aW4vYW0uYzoyMjU3IGJ1aWx0aW4vYW0uYzoyMjYwCisjOiBidWlsdGluL2Nsb25lLmM6MTE1IGJ1aWx0aW4vZmV0Y2guYzo5MyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInBhdGgiCiBtc2dzdHIgIuqyveuhnCIKIAotIzogYXBwbHkuYzo0OTExCisjOiBhcHBseS5jOjQ5MjIKIG1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICLso7zslrTsp4Qg6rK966Gc7JeQIO2VtOuLue2VmOuKlCDrs4Dqsr0g7IKs7ZWt7J2EIOyggeyaqe2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6NDkxNAorIzogYXBwbHkuYzo0OTI1CiBtc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAi7KO87Ja07KeEIOqyveuhnOyXkCDtlbTri7ntlZjripQg67OA6rK9IOyCrO2VreydhCDsoIHsmqntlanri4jri6QiCiAKLSM6IGFwcGx5LmM6NDkxNiBidWlsdGluL2FtLmM6MjI4NgorIzogYXBwbHkuYzo0OTI3IGJ1aWx0aW4vYW0uYzoyMjY2CiBtc2dpZCAibnVtIgogbXNnc3RyICLqsJzsiJgiCiAKLSM6IGFwcGx5LmM6NDkxNworIzogYXBwbHkuYzo0OTI4CiBtc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCiBtc2dzdHIgIuyghO2GteyggeyduCBkaWZmIOqyveuhnCDslZ7snZggPOqwnOyImD7qsJzsnZgg7JWeIOyKrOuemOyLnCgvKeulvCDsoJzqsbDtlanri4jri6QiCiAKLSM6IGFwcGx5LmM6NDkyMAorIzogYXBwbHkuYzo0OTMxCiBtc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKIG1zZ3N0ciAi7Yyo7LmY7JeQ7IScIOy2lOqwgO2VmOuKlCDtjIzsnbzsnYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5MjIKKyM6IGFwcGx5LmM6NDkzMwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAi7Yyo7LmY66W8IOyggeyaqe2VmOuKlCDrjIDsi6AsIOyeheugpeyXkCDrjIDtlZwgZGlmZnN0YXTsnYQg7Lac66Cl7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5MjYKKyM6IGFwcGx5LmM6NDkzNwogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgIuyLreynhOyImOuhnCDstpTqsIAg67CPIOyCreygnO2VnCDspIQg7IiY66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYXBwbHkuYzo0OTI4CisjOiBhcHBseS5jOjQ5MzkKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICLtjKjsuZjrpbwg7KCB7Jqp7ZWY64qUIOuMgOyLoCwg7J6F66Cl7JeQIOuMgO2VnCDsmpTslb3snYQg7Lac66Cl7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5MzAKKyM6IGFwcGx5LmM6NDk0MQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgIu2MqOy5mOulvCDsoIHsmqntlZjripQg64yA7IugLCDtjKjsuZjrpbwg7KCB7JqpIOqwgOuKpe2VnOyngCDtmZXsnbjtlanri4jri6QiCiAKLSM6IGFwcGx5LmM6NDkzMgorIzogYXBwbHkuYzo0OTQzCiBtc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICLtmITsnqwg7J24642x7Iqk7JeQ7IScIO2MqOy5mOqwgCDsoIHsmqkg6rCA64ql7ZWc7KeAIO2ZleyduO2VqeuLiOuLpCIKIAotIzogYXBwbHkuYzo0OTM0CisjOiBhcHBseS5jOjQ5NDUKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlOulvCDrsJTqvrjsp4Ag7JWK6rOgIO2MqOy5mOulvCDsoIHsmqntlanri4jri6QiCiAKLSM6IGFwcGx5LmM6NDkzNgorIzogYXBwbHkuYzo0OTQ3CiBtc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKIG1zZ3N0ciAi7J6R7JeFIOyYgeyXrSDrsJbsnZgg7YyM7J287J2EIOuwlOq+uOuKlCDtjKjsuZjrpbwg7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5MzgKKyM6IGFwcGx5LmM6NDk0OQogbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogbXNnc3RyICLqt7jrpqzqs6Ag7Yyo7LmY64+EIOyggeyaqe2VqeuLiOuLpCAoLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrIOyYteyFmOqzvCDqsJnsnbQg7IKs7JqpKSIKIAotIzogYXBwbHkuYzo0OTQwCisjOiBhcHBseS5jOjQ5NTEKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICLtjKjsuZjrpbwg7KCB7Jqp7ZWY7KeAIOyViuycvOuptCAzLeuwqe2WpSDrs5HtlansnYQg7Iuc64+E7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5NDIKKyM6IGFwcGx5LmM6NDk1MwogbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgogbXNnc3RyICLrgrTsnqUg7J24642x7IqkIOygleuztOulvCDsgqzsmqntlbQg7J6E7IucIOyduOuNseyKpOulvCDrp4zrk63ri4jri6QiCiAKLSM6IGFwcGx5LmM6NDk0NSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDcKKyM6IGFwcGx5LmM6NDk1NiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTUKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAi6rK966Gc66W8IE5VTCDrrLjsnpDroZwg6rWs67aE7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5NDcKKyM6IGFwcGx5LmM6NDk1OAogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAi7LWc7IaM7ZWcIDxuPuykhOydtCDsu6jthY3siqTtirjsmYAg7J287LmY7ZWY64qU7KeAIO2ZleyduO2VqeuLiOuLpCIKIAotIzogYXBwbHkuYzo0OTQ4IGJ1aWx0aW4vYW0uYzoyMjY1CisjOiBhcHBseS5jOjQ5NTkgYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgIuuPmeyekSIKIAotIzogYXBwbHkuYzo0OTQ5CisjOiBhcHBseS5jOjQ5NjAKIG1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0ciAi6rO167CxIOyYpOulmOqwgCDsnojripQg7LaU6rCA65CQ6rGw64KYIOyImOygleuQnCDspITsnYQg7LC+7Iq164uI64ukIgogCi0jOiBhcHBseS5jOjQ5NTIgYXBwbHkuYzo0OTU1CisjOiBhcHBseS5jOjQ5NjMgYXBwbHkuYzo0OTY2CiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAi7Luo7YWN7Iqk7Yq466W8IOywvuydhCDrlYwg6rO167CxIOuzgOqyvSDsgqztla3snYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5NTgKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICLtjKjsuZjrpbwg67CY64yAIOyInOyEnOuhnCDsoIHsmqntlanri4jri6QiCiAKLSM6IGFwcGx5LmM6NDk2MAorIzogYXBwbHkuYzo0OTcxCiBtc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCiBtc2dzdHIgIuy1nOyGjO2VnOydmCDsu6jthY3siqTtirgg7ZWcIOykhOuPhCDsl4bsnbQg7KCB7Jqp7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk3MwogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICLqsbDrtoDrkJwg7Yyo7LmYIOu2gOu2hOydhCDrjIDsnZHrkJjripQgKi5yZWog7YyM7J287JeQIOuCqOqyqOuRoeuLiOuLpCIKIAotIzogYXBwbHkuYzo0OTY0CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAi7Yyo7LmYIOu2gOu2hOydtCDqsrnss5Drj4Qg7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBhcHBseS5jOjQ5NjUgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjY1MQotIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKKyM6IGFwcGx5LmM6NDk3NiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjUxCisjOiBidWlsdGluL2xvZy5jOjE4NzcgYnVpbHRpbi9tdi5jOjEyMyBidWlsdGluL3JlYWQtdHJlZS5jOjEyNQogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgIuyekOyEuO2eiCDtkZzsi5wiCiAKLSM6IGFwcGx5LmM6NDk2NworIzogYXBwbHkuYzo0OTc4CiBtc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIu2MjOydvCDrgZ3sl5Ag7KSE67CU6r+I7J20IOu5oOyhjOydjOydhCDsnpjrqrsg6rKA7IOJ7ZWcIOqyveyasOyXkCDrrLTsi5ztlanri4jri6QiCiAKLSM6IGFwcGx5LmM6NDk3MAorIzogYXBwbHkuYzo0OTgxCiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICLtjKjsuZgg67aA67aE7J2YIO2XpOuNlOydmCDspIQg7IiY66W8IOyLoOyaqe2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGFwcGx5LmM6NDk3MiBidWlsdGluL2FtLmM6MjI3NAorIzogYXBwbHkuYzo0OTgzIGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAi7LWc7IOB7JyEIgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NDk4NAogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgIuuqqOuToCDtjIzsnbwg7J2066aE7JeQIDzstZzsg4HsnIQ+66W8IOyVnuyXkCDrtpnsnoXri4jri6QiCiAKLSM6IGFyY2hpdmUuYzoxMgorIzogYXJjaGl2ZS5jOjEzCiBtc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgWzzsmLXshZg+XSA87Yq466asLeuUsOychD4gWzzqsr3roZw+Li4uXSIKIAotIzogYXJjaGl2ZS5jOjEzCisjOiBhcmNoaXZlLmM6MTQKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjE0CisjOiBhcmNoaXZlLmM6MTUKIG1zZ2lkICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA87KCA7J6l7IaMPiBbLS1leGVjIDzrqoXroLk+XSBbPOyYteyFmD5dIDztirjrpqwt65Sw7JyEPiBbPOqyveuhnCIKICI+Li4uXSIKIAotIzogYXJjaGl2ZS5jOjE1CisjOiBhcmNoaXZlLmM6MTYKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA87KCA7J6l7IaMPiBbLS1leGVjIDzrqoXroLk+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxNTIgYnVpbHRpbi9hZGQuYzo0NDIgYnVpbHRpbi9ybS5jOjMwMAorIzogYXJjaGl2ZS5jOjMzMyBidWlsdGluL2FkZC5jOjE1NCBidWlsdGluL2FkZC5jOjQ5MiBidWlsdGluL3JtLmM6MzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCiBtc2dzdHIgIiclcycg6rK966Gc66qF7IS46rCAIOyWtOuWpCDtjIzsnbzqs7zrj4Qg7J287LmY7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYXJjaGl2ZS5jOjQyOQorIzogYXJjaGl2ZS5jOjQxOAogbXNnaWQgImZtdCIKIG1zZ3N0ciAi7ZiV7IudIgogCi0jOiBhcmNoaXZlLmM6NDI5CisjOiBhcmNoaXZlLmM6NDE4CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgIuyVley2lSDtmJXsi50iCiAKLSM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CisjOiBhcmNoaXZlLmM6NDE5IGJ1aWx0aW4vbG9nLmM6MTQ0NgogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAi7KCR65GQ7Ja0IgogCi0jOiBhcmNoaXZlLmM6NDMxCisjOiBhcmNoaXZlLmM6NDIwCiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAi7JWE7Lm07J2067iM7J2YIOqwgSDqsr3roZwg7J2066aE7J2YIOyVnuyXkCDsp4DsoJXtlZwg6rK966Gc66W8IOu2meyeheuLiOuLpCIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2JsYW1lLmM6MjYwNyBidWlsdGluL2JsYW1lLmM6MjYwOCBidWlsdGluL2NvbmZpZy5jOjU5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6MTA1NAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMSBidWlsdGluL2xzLWZpbGVzLmM6NTQxIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDEgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3JlYWQtdHJlZS5jOjEwOQorIzogYXJjaGl2ZS5jOjQyMSBidWlsdGluL2JsYW1lLmM6NjkzIGJ1aWx0aW4vYmxhbWUuYzo2OTQgYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkxIGJ1aWx0aW4vZ3JlcC5jOjEwODAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIgYnVpbHRpbi9scy1maWxlcy5jOjU0OSBidWlsdGluL2xzLWZpbGVzLmM6NTUyCisjOiBidWlsdGluL25vdGVzLmM6NDA0IGJ1aWx0aW4vbm90ZXMuYzo1NjcgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjAKICM6IHBhcnNlLW9wdGlvbnMuaDoxNTMKIG1zZ2lkICJmaWxlIgogbXNnc3RyICLtjIzsnbwiCiAKLSM6IGFyY2hpdmUuYzo0MzMgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzo0MjIgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIuyVhOy5tOydtOu4jOulvCDsnbQg7YyM7J287JeQIOyUgeuLiOuLpCIKIAotIzogYXJjaGl2ZS5jOjQzNQorIzogYXJjaGl2ZS5jOjQyNAogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIuyekeyXhSDtj7TrjZTsnZggLmdpdGF0dHJpYnV0ZXPrpbwg7J297Iq164uI64ukIgogCi0jOiBhcmNoaXZlLmM6NDM2CisjOiBhcmNoaXZlLmM6NDI1CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAi7JWE7Lm07J2067iM7JeQIO2PrO2VqOuQnCDtjIzsnbzsnYQg7ZGc7KSA7Jik66WY66GcIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYXJjaGl2ZS5jOjQzNworIzogYXJjaGl2ZS5jOjQyNgogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgIuyggOyepeunjCDtlZjquLAiCiAKLSM6IGFyY2hpdmUuYzo0MzgKKyM6IGFyY2hpdmUuYzo0MjcKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgIuuNlCDruaDrpbTqsowg7JWV7LaVIgogCi0jOiBhcmNoaXZlLmM6NDQ2CisjOiBhcmNoaXZlLmM6NDM1CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICLrjZQg7J6R6rKMIOyVley2lSIKIAotIzogYXJjaGl2ZS5jOjQ0OQorIzogYXJjaGl2ZS5jOjQzOAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAi7KeA7JuQ7ZWY64qUIOyVley2lSDtmJXsi53snZgg66qp66Gd7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9jbG9uZS5jOjg4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKKyM6IGFyY2hpdmUuYzo0NDAgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjEwNSBidWlsdGluL2Nsb25lLmM6MTA4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODIKIG1zZ2lkICJyZXBvIgogbXNnc3RyICLsoIDsnqXshowiCiAKLSM6IGFyY2hpdmUuYzo0NTIgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0NDEgYnVpbHRpbi9hcmNoaXZlLmM6OTEKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAi7JuQ6rKpIOyggOyepeyGjCA87KCA7J6l7IaMPuyXkOyEnCDslYTsubTsnbTruIzrpbwg6rCA7KC47Ji164uI64ukIgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODUKKyM6IGFyY2hpdmUuYzo0NDIgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgIuuqheuguSIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjQ0MyBidWlsdGluL2FyY2hpdmUuYzo5MwogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAi7JuQ6rKpIGdpdC11cGxvYWQtYXJjaGl2ZSDrqoXroLnsnZgg6rK966GcIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDUwCiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgIuyYiOyDgey5mCDrqrvtlZwg7Ji17IWYIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDYzCisjOiBhcmNoaXZlLmM6NDUyCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIi0tZXhlYyDsmLXshZjsnYAgLS1yZW1vdGUg7Ji17IWY6rO8IOqwmeydtCDsgqzsmqntlaAg6rK97Jqw7JeQ66eMIOyTuCDsiJgg7J6I7Iq164uI64ukLiIKIAotIzogYXJjaGl2ZS5jOjQ2NQorIzogYXJjaGl2ZS5jOjQ1NAogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgogbXNnc3RyICLsmIjsg4HsuZgg66q77ZWcIOyYteyFmCAtLW91dHB1dCIKIAotIzogYXJjaGl2ZS5jOjQ4NworIzogYXJjaGl2ZS5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIOyVhOy5tOydtOu4jCDtmJXsi50gJyVzJyIKIAotIzogYXJjaGl2ZS5jOjQ5NAorIzogYXJjaGl2ZS5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgogbXNnc3RyICInJXMnIO2YleyLneyXkOyEnOuKlCDsp4Dsm5DtlZjsp4Ag7JWK64qUIOyduOyekDogLSVkIgogCi0jOiBhdHRyLmM6MjYzCisjOiBhdHRyLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCittc2dzdHIgIiUuKnPsnYAo64qUKSDsmKzrsJTrpbgg7IaN7ISxIOydtOumhOydtCDslYTri5nri4jri6QiCisKKyM6IGF0dHIuYzo0MTAKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKICJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iCkBAIC04ODIsMTIgKzg5Nyw3IEBACiAiZ2l0IGF0dHJpYnV0ZXPsl5DshJwg67CY64yAIO2MqO2EtOydgCDrrLTsi5zrkKnri4jri6QuXG4iCiAi7JWe7JeQIOuKkOuCjO2RnOulvCDsk7DroKTrqbQgJ1xcISfrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikLiIKIAotIzogYmlzZWN0LmM6NDQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKLW1zZ3N0ciAiJyVzJyDtjIzsnbzsnYQg7Je0IOyImCDsl4bsirXri4jri6QiCi0KLSM6IGJpc2VjdC5jOjQ0NgorIzogYmlzZWN0LmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCiBtc2dzdHIgIiclcycg7YyM7J28IOyViOyXkCDsnpjrqrvrkJwg65Sw7Ji07ZGc6rCAIOu2meydgCDrgrTsmqk6ICVzIgpAQCAtOTYxLDcgKzk3MSw3IEBACiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgIu2VmOuCmOydmCAlcyDrpqzruYTsoITsnbQg7ZWE7JqU7ZWp64uI64ukIgogCi0jOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI2MgorIzogYmlzZWN0LmM6ODY2IGJ1aWx0aW4vbm90ZXMuYzoxNzUgYnVpbHRpbi90YWcuYzoyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCiBtc2dzdHIgIiclcycg7YyM7J287J2EIOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgpAQCAtOTk1LDE0ICsxMDA1LDUyIEBACiBtc2dpZF9wbHVyYWwgIihyb3VnaGx5ICVkIHN0ZXBzKSIKIG1zZ3N0clswXSAiKOuMgOuetSAlZCDri6jqs4QpIgogCi0jLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoCi0jLiAiKHJvdWdobHkgJWQgc3RlcHMpIiB0cmFuc2xhdGlvbgotIzogYmlzZWN0LmM6OTk4CisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoICIocm91Z2hseSAlZAorIy4gc3RlcHMpIiB0cmFuc2xhdGlvbi4KKyMuCisjOiBiaXNlY3QuYzoxMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ3N0clswXSAi7J2065Ox67aEOiAlMiRzIOuSpOyXkCDsi5ztl5jtlaAg66as67mE7KCE7J20ICUxJGTqsJwg64Ko7JWY7Iq164uI64ukXG4iCiAKKyM6IGJsYW1lLmM6MTc1NworbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCittc2dzdHIgIi0tY29udGVudHMg67CPIC0tcmV2ZXJzZSDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpC4iCisKKyM6IGJsYW1lLmM6MTc2OAorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAiLS1jb250ZW50cyDsmLXshZjsnYQg66eI7KeA66eJIOyYpOu4jOygne2KuCDsnbTrpoTsl5Ag7IKs7Jqp7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGJsYW1lLmM6MTc4OAorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSDrsI8gLS1maXJzdC1wYXJlbnQg7Ji17IWY7J2EIOqwmeydtCDsk7DrqbQg7LWc6re8IOy7pOuwi+ydhCDsp4DsoJXtlbTslbwg7ZWp64uI64ukIgorCisjOiBibGFtZS5jOjE3OTcgYnVuZGxlLmM6MTY0IHJlZi1maWx0ZXIuYzoxOTE5IHNlcXVlbmNlci5jOjExNjYKKyM6IHNlcXVlbmNlci5jOjIzMjggYnVpbHRpbi9jb21taXQuYzoxMDU4IGJ1aWx0aW4vbG9nLmM6MzU2IGJ1aWx0aW4vbG9nLmM6OTA3CisjOiBidWlsdGluL2xvZy5jOjEzNTcgYnVpbHRpbi9sb2cuYzoxNjgzIGJ1aWx0aW4vbG9nLmM6MTkyNiBidWlsdGluL21lcmdlLmM6MzYwCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTc3Cittc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCittc2dzdHIgIuumrOu5hOyghCB3YWxrIOykgOu5hOqwgCDsi6TtjKjtlojsirXri4jri6QiCisKKyM6IGJsYW1lLmM6MTgxNQorbXNnaWQgIiIKKyItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCittc2dzdHIgIiIKKyItLXJldmVyc2Ug67CPIC0tZmlyc3QtcGFyZW50IOyYteyFmOydhCDqsJnsnbQg7JOw66m0IOy1nOy0iC3sg4HsnIQg7LK07J246rO8IOuylOychOqwgCDtlYTsmpTtlanri4giCisi64ukIgorCisjOiBibGFtZS5jOjE4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgorbXNnc3RyICIlcyDqsr3roZzqsIAgJXMg7JWI7JeQIOyXhuyKteuLiOuLpCIKKworIzogYmxhbWUuYzoxODM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCittc2dzdHIgIiVzIOqyveuhnOyXkCDrjIDtlbQgJXMg67iU66Gt7J2EIOydveydhCDsiJgg7JeG7J2MIgorCiAjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0xMTM4LDcgKzExODYsNyBAQAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICInJXMn7J2AKOuKlCkg7J2066+4ICclcycg7JyE7LmY7JeQIOuwm+yVhOyguCDsnojsirXri4jri6QiCiAKLSM6IGJyYW5jaC5jOjM2MworIzogYnJhbmNoLmM6MzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICLsnpHsl4Ug7Y+0642UICVz7J2YIO2XpOuTnOqwgCDsl4XrjbDsnbTtirjrkJjsp4Ag7JWK7JWY7Iq164uI64ukIgpAQCAtMTE0OCw5NSArMTE5Niw4OCBAQAogbXNnaWQgIiclcycgZG9lcyBub3QgbG9vayBsaWtlIGEgdjIgYnVuZGxlIGZpbGUiCiBtc2dzdHIgIiclcycg7YyM7J287J20IOuyhOyghDIg67KI65OkIO2MjOydvOuhnCDrs7TsnbTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidW5kbGUuYzo2MQorIzogYnVuZGxlLmM6NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICLsnbjsi53tlaAg7IiYIOyXhuuKlCDtl6TrjZQ6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6MTMzMSBzZXF1ZW5jZXIuYzoxNzUyIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CisjOiBidW5kbGUuYzo4OCBzZXF1ZW5jZXIuYzoxMzQ0IHNlcXVlbmNlci5jOjE3NzAgYnVpbHRpbi9jb21taXQuYzo3NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOyXtCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidW5kbGUuYzoxMzkKKyM6IGJ1bmRsZS5jOjE0MAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICLsoIDsnqXshozsl5Ag7ZWE7IiY7KCB7J24IOuLpOydjCDsu6TrsIvsnbQg7JeG7Iq164uI64ukOiIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDk5IHNlcXVlbmNlci5jOjExNTQgc2VxdWVuY2VyLmM6MjI5MAotIzogYnVpbHRpbi9ibGFtZS5jOjI4MjAgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzQ4Ci0jOiBidWlsdGluL2xvZy5jOjg5MCBidWlsdGluL2xvZy5jOjEzNDAgYnVpbHRpbi9sb2cuYzoxNjY2IGJ1aWx0aW4vbG9nLmM6MTkwOQotIzogYnVpbHRpbi9tZXJnZS5jOjM2MCBidWlsdGluL3Nob3J0bG9nLmM6MTc3Ci1tc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCi1tc2dzdHIgIuumrOu5hOyghCB3YWxrIOykgOu5hOqwgCDsi6TtjKjtlojsirXri4jri6QiCi0KLSM6IGJ1bmRsZS5jOjE4NQorIzogYnVuZGxlLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICLrsojrk6Tsl5Ag64uk7J2MIOugiO2NvOufsOyKpCAlZOqwnOqwgCDsnojsirXri4jri6Q6IgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE5MwogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICLrsojrk6TsnYAg7KCE7LK0IOy7pOuwiyDrgrTsl63snYQg6riw66Gd7ZWp64uI64ukLiIKIAotIzogYnVuZGxlLmM6MTk0CisjOiBidW5kbGUuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIuuyiOuTpOyXkCDri6TsnYwg66CI7Y2865+w7IqkICVk6rCc6rCAIO2VhOyalO2VqeuLiOuLpDoiCiAKLSM6IGJ1bmRsZS5jOjI1MworIzogYnVuZGxlLmM6MjU0CiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKIG1zZ3N0ciAicGFjay1vYmplY3RzIOuqheugueydhCDsi6TtlontlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVuZGxlLmM6MjY0CisjOiBidW5kbGUuYzoyNjUKIG1zZ2lkICJwYWNrLW9iamVjdHMgZGllZCIKIG1zZ3N0ciAicGFjay1vYmplY3RzIOuqheugueydtCDso73sl4jsirXri4jri6QiCiAKLSM6IGJ1bmRsZS5jOjMwNAorIzogYnVuZGxlLmM6MzA3CiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3Qg66qF66C57J20IOyjveyXiOyKteuLiOuLpCIKIAotIzogYnVuZGxlLmM6MzUzCisjOiBidW5kbGUuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgInJldi1saXN0IOyYteyFmOyXkOyEnCAnJXMnIOugiO2NvOufsOyKpOqwgCDsoJzsmbjrkJjsl4jsirXri4jri6QiCiAKLSM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI4MgorIzogYnVuZGxlLmM6NDQ2IGJ1aWx0aW4vbG9nLmM6MTczIGJ1aWx0aW4vbG9nLmM6MTU4OSBidWlsdGluL3Nob3J0bG9nLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIOyduOyekDogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ1MQorIzogYnVuZGxlLmM6NDU0CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIuu5iCDrsojrk6TsnYAg66eM65Ok7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1bmRsZS5jOjQ2MworIzogYnVuZGxlLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidW5kbGUuYzo0OTEKKyM6IGJ1bmRsZS5jOjQ5NAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAiaW5kZXgtcGFjayDrqoXroLnsnbQg7KO97JeI7Iq164uI64ukIgogCi0jOiBjb2xvci5jOjMwMAorIzogY29sb3IuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAi7J6Y66q765CcIOyDiSDqsJI6ICUuKnMiCiAKLSM6IGNvbW1pdC5jOjQwIHNlcXVlbmNlci5jOjE1NjQgYnVpbHRpbi9hbS5jOjQyMSBidWlsdGluL2FtLmM6NDU3Ci0jOiBidWlsdGluL2FtLmM6MTQ5MyBidWlsdGluL2FtLmM6MjEyNworIzogY29tbWl0LmM6NDEgc2VxdWVuY2VyLmM6MTU4MiBidWlsdGluL2FtLmM6NDIwIGJ1aWx0aW4vYW0uYzo0NTYKKyM6IGJ1aWx0aW4vYW0uYzoxNDY5IGJ1aWx0aW4vYW0uYzoyMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAicGFyc2UgJXPsnYQo66W8KSDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogY29tbWl0LmM6NDIKKyM6IGNvbW1pdC5jOjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiVzICVzLCDsu6TrsIvsnbQg7JWE64uZ64uI64ukIgogCi0jOiBjb21taXQuYzoxNTE0CisjOiBjb21taXQuYzoxNTExCiBtc2dpZCAiIgogIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKICJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgpAQCAtMTI1MCwxNDIgKzEyOTEsMTYxIEBACiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAi66mU66qo66asIOuwlOuLpeuCqCIKIAotIzogY29uZmlnLmM6NTE4CisjOiBjb25maWcuYzoxODYKK21zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZSBjb25kaXRpb25hbHMgbXVzdCBjb21lIGZyb20gZmlsZXMiCittc2dzdHIgIuyDgeuMgCDqsr3roZwg7ISk7KCVIGluY2x1ZGUg7KGw6rG07J2AIO2MjOydvOyXkOyEnCDsmYDslbwg7ZWp64uI64ukIgorCisjOiBjb25maWcuYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCiBtc2dzdHIgIuu4lOuhrSAlMiRzIOyViOyXkCAlMSRk67KIIOykhOyXkCDsnpjrqrvrkJwg7ISk7KCVIgogCi0jOiBjb25maWcuYzo1MjIKKyM6IGNvbmZpZy5jOjcyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAi7YyM7J28ICUyJHMg7JWI7JeQICUxJGTrsogg7KSE7JeQIOyemOuqu+uQnCDshKTsoJUiCiAKLSM6IGNvbmZpZy5jOjUyNgorIzogY29uZmlnLmM6NzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi7ZGc7KSAIOyeheugpSDslYjsl5AgJWTrsogg7KSE7JeQIOyemOuqu+uQnCDshKTsoJUiCiAKLSM6IGNvbmZpZy5jOjUzMAorIzogY29uZmlnLmM6NzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDruJTroa0gJTIkcyDslYjsl5AgJTEkZOuyiCDspITsl5Ag7J6Y66q765CcIOyEpOyglSIKIAotIzogY29uZmlnLmM6NTM0CisjOiBjb25maWcuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKIG1zZ3N0ciAi66qF66C57ZaJICUyJHMg7JWI7JeQICUxJGTrsogg7KSE7JeQIOyemOuqu+uQnCDshKTsoJUiCiAKLSM6IGNvbmZpZy5jOjUzOAorIzogY29uZmlnLmM6NzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAiJTIkcyDslYjsl5AgJTEkZOuyiCDspITsl5Ag7J6Y66q765CcIOyEpOyglSIKIAotIzogY29uZmlnLmM6NjU3CisjOiBjb25maWcuYzo4NjgKIG1zZ2lkICJvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIuuylOychOulvCDrspfslrTrgqgiCiAKLSM6IGNvbmZpZy5jOjY1NworIzogY29uZmlnLmM6ODY4CiBtc2dpZCAiaW52YWxpZCB1bml0IgogbXNnc3RyICLri6jsnITqsIAg7J6Y66q765CoIgogCi0jOiBjb25maWcuYzo2NjMKKyM6IGNvbmZpZy5jOjg3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDsiJjsuZgg7ISk7KCVIOqwkiAnJXMnICjtgqQgJyVzJyk6ICVzIgogCi0jOiBjb25maWcuYzo2NjgKKyM6IGNvbmZpZy5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOyImOy5mCDshKTsoJUg6rCSICclcycgKO2CpCAnJXMnLCDruJTroa0gJXMpOiAlcyIKIAotIzogY29uZmlnLmM6NjcxCisjOiBjb25maWcuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDsiJjsuZgg7ISk7KCVIOqwkiAnJXMnICjtgqQgJyVzJywg7YyM7J28ICVzKTogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NAorIzogY29uZmlnLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOyImOy5mCDshKTsoJUg6rCSICclcycgKO2CpCAnJXMnLCDtkZzspIDsnoXroKUpOiAlcyIKIAotIzogY29uZmlnLmM6Njc3CisjOiBjb25maWcuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgogbXNnc3RyICLsnpjrqrvrkJwg7IiY7LmYIOyEpOyglSDqsJIgJyVzJyAo7YKkICclcycsIO2VmOychCDrqqjrk4gg67iU66GtICVzKTogJXMiCiAKLSM6IGNvbmZpZy5jOjY4MAorIzogY29uZmlnLmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDsiJjsuZgg7ISk7KCVIOqwkiAnJXMnICjtgqQgJyVzJywg66qF66C57ZaJICVzKTogJXMiCiAKLSM6IGNvbmZpZy5jOjY4MworIzogY29uZmlnLmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOyImOy5mCDshKTsoJUg6rCSICclcycgKO2CpCAnJXMnLCAlcyDslYjsl5ApOiAlcyIKIAotIzogY29uZmlnLmM6NzcwCisjOiBjb25maWcuYzo5ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4cGFuZCB1c2VyIGRpciBpbjogJyVzJyIKIG1zZ3N0ciAi64uk7J2M7JeQIOyCrOyaqeyekCDrlJTroInthLDrpqwg7ZmV7J6l7JeQIOyLpO2MqDogJyVzJyIKIAotIzogY29uZmlnLmM6ODY1IGNvbmZpZy5jOjg3NgorIzogY29uZmlnLmM6MTA4NCBjb25maWcuYzoxMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICIlZOuyiOydgCDsmKzrsJTrpbggemxpYiDslZXstpUg64uo6rOE6rCAIOyVhOuLmeuLiOuLpCIKIAotIzogY29uZmlnLmM6OTkzCisjOiBjb25maWcuYzoxMjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOyDneyEsSDrqqjrk5zqsIAg7Jis67CU66W07KeAIOyViuyKteuLiOuLpDogJXMiCiAKLSM6IGNvbmZpZy5jOjExNDkKKyM6IGNvbmZpZy5jOjEzNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIuyemOuquyDrrLbsnYwg7JWV7LaVIOuLqOqzhCAlZCIKIAotIzogY29uZmlnLmM6MTMzOQorIzogY29uZmlnLmM6MTU2NAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICLrqoXroLntlokg7ISk7KCV7J2EIO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBjb25maWcuYzoxMzg5CisjOiBjb25maWcuYzoxODk0CiBtc2dpZCAidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgogbXNnc3RyICLshKTsoJUg7YyM7J287J2EIOydveuKlCDspJEg7JWMIOyImCDsl4bripQg7Jik66WY6rCAIOyDneqyvOyKteuLiOuLpCIKIAotIzogY29uZmlnLmM6MTc0MworIzogY29uZmlnLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgorbXNnc3RyICLsnpjrqrvrkJwgJXM6ICclcyciCisKKyM6IGNvbmZpZy5jOjIwODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgorbXNnc3RyICLslYwg7IiYIOyXhuuKlCBjb3JlLnVudHJhY2tlZENhY2hlIOqwkiAnJXMnOyDquLDrs7jqsJLsnLzroZwgJ2tlZXAnIOyCrOyaqSIKKworIzogY29uZmlnLmM6MjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCittc2dzdHIgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSDqsJIoJyVkJynsnYAgMOyXkOyEnCAxMDAg7IKs7J207Jes7JW8IO2VqeuLiOuLpCIKKworIzogY29uZmlnLmM6MjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIuuqheugue2WiSDshKTsoJXsl5DshJwgJyVzJ+ydhCjrpbwpIOyEpOygle2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBjb25maWcuYzoxNzQ1CisjOiBjb25maWcuYzoyMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAiJyUyJHMnIO2MjOydvOydmCAlMyRk67KIIOykhCAnJTEkcycg7ISk7KCVIOuzgOyImOqwgCDsnpjrqrvrkJjsl4jsirXri4jri6QiCiAKLSM6IGNvbmZpZy5jOjE4MDQKKyM6IGNvbmZpZy5jOjIxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKIG1zZ3N0ciAiJXPsnYAo64qUKSDsl6zrn6wg6rCcIOqwkuydtCDsnojsirXri4jri6QiCiAKLSM6IGNvbmZpZy5jOjIyMjUgY29uZmlnLmM6MjQ1MAorIzogY29uZmlnLmM6MjUxNyBjb25maWcuYzoyNzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiJXPsl5Ag64yA7ZW0IGZzdGF0IOyLpO2MqCIKIAotIzogY29uZmlnLmM6MjM0MworIzogY29uZmlnLmM6MjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpICclcyco7Jy8KeuhnCDshKTsoJXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogY29uZmlnLmM6MjM0NQorIzogY29uZmlnLmM6MjYzNyBidWlsdGluL3JlbW90ZS5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAiJyVzJyDshKTsoJXsnYQg7KeA7Jq4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGNvbm5lY3QuYzo0OQorIzogY29ubmVjdC5jOjUwCiBtc2dpZCAiVGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1cG9uIGluaXRpYWwgY29udGFjdCIKIG1zZ3N0ciAi66as66qo7Yq4IOy4oeydtCDstZzstIgg7Jew6rKw7ZaI7J2EIOuVjCDsl7DqsrDsnYQg64GK7JeI7Iq164uI64ukIgogCi0jOiBjb25uZWN0LmM6NTEKKyM6IGNvbm5lY3QuYzo1MgogbXNnaWQgIiIKICJDb3VsZCBub3QgcmVhZCBmcm9tIHJlbW90ZSByZXBvc2l0b3J5LlxuIgogIlxuIgpAQCAtMTM5Nyw3ICsxNDU3LDcgQEAKICLsmKzrsJTrpbgg7KCR6re8IOq2jO2VnOydtCDsnojripTsp4AsIOq3uOumrOqzoCDsoIDsnqXshozqsIAg7J6I64qU7KeAXG4iCiAi7ZmV7J247ZWY7Iut7Iuc7JikLiIKIAotIzogY29ubmVjdGVkLmM6NjMgYnVpbHRpbi9mc2NrLmM6MTkwIGJ1aWx0aW4vcHJ1bmUuYzoxNDAKKyM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE5MSBidWlsdGluL3BydW5lLmM6MTQxCiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgogbXNnc3RyICLsl7DqsrDsnYQg7ZmV7J247ZWY64qUIOykkeyeheuLiOuLpCIKIApAQCAtMTQxMyw3ICsxNDczLDcgQEAKIG1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcmV2LWxpc3QncyBzdGRpbiIKIG1zZ3N0ciAicmV2LWxpc3TsnZgg7ZGc7KSA7J6F66Cl7J2EIOuLq+uKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGNvbnZlcnQuYzoyMDEKKyM6IGNvbnZlcnQuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKQEAgLTE0MjIsMTIgKzE0ODIsMTIgQEAKICIlc+yXkOyEnCBDUkxG64qUIExG66GcIOuwlOuAneuLiOuLpC5cbiIKICLsnpHsl4Ug65SU66CJ7YSw66as7JeQ7ISc64qUIOybkOuemCDspIQg67CU6r+IIO2YleyLneydhCDsnKDsp4Dtlanri4jri6QuIgogCi0jOiBjb252ZXJ0LmM6MjA1CisjOiBjb252ZXJ0LmM6MjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgogbXNnc3RyICIlc+yXkOyEnCBDUkxG64qUIExG66GcIOuwlOuAneuLiOuLpC4iCiAKLSM6IGNvbnZlcnQuYzoyMTEKKyM6IGNvbnZlcnQuYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKQEAgLTE0MzYsNjkgKzE0OTYsNjkgQEAKICIlc+yXkOyEnCBMRuuKlCBDUkxG66GcIOuwlOuAneuLiOuLpC5cbiIKICLsnpHsl4Ug65SU66CJ7YSw66as7JeQ7ISc64qUIOybkOuemCDspIQg67CU6r+IIO2YleyLneydhCDsnKDsp4Dtlanri4jri6QuIgogCi0jOiBjb252ZXJ0LmM6MjE1CisjOiBjb252ZXJ0LmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCiBtc2dzdHIgIiVz7JeQ7IScIExG64qUIENSTEbroZwg67CU64Cd64uI64ukLiIKIAotIzogZGF0ZS5jOjk3CisjOiBkYXRlLmM6MTE2CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAi66+4656Y7JeQIgogCi0jOiBkYXRlLmM6MTAzCisjOiBkYXRlLmM6MTIyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBzZWNvbmQgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgc2Vjb25kcyBhZ28iCi1tc2dzdHJbMF0gIiVsdey0iCDsoIQiCittc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+7LSIIOyghCIKIAotIzogZGF0ZS5jOjExMAorIzogZGF0ZS5jOjEyOQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbWludXRlIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1pbnV0ZXMgYWdvIgotbXNnc3RyWzBdICIlbHXrtoQg7KCEIgorbXNnaWQgIiU8UFJJdU1BWD4gbWludXRlIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtaW51dGVzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPuu2hCDsoIQiCiAKLSM6IGRhdGUuYzoxMTcKKyM6IGRhdGUuYzoxMzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IGhvdXIgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgotbXNnc3RyWzBdICIlbHXsi5zqsIQg7KCEIgorbXNnaWQgIiU8UFJJdU1BWD4gaG91ciBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gaG91cnMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+7Iuc6rCEIOyghCIKIAotIzogZGF0ZS5jOjEyNAorIzogZGF0ZS5jOjE0MwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgZGF5IGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgotbXNnc3RyWzBdICIlbHXsnbwg7KCEIgorbXNnaWQgIiU8UFJJdU1BWD4gZGF5IGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBkYXlzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPuydvCDsoIQiCiAKLSM6IGRhdGUuYzoxMzAKKyM6IGRhdGUuYzoxNDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHdlZWsgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgotbXNnc3RyWzBdICIlbHXso7wg7KCEIgorbXNnaWQgIiU8UFJJdU1BWD4gd2VlayBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gd2Vla3MgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+7KO8IOyghCIKIAotIzogZGF0ZS5jOjEzNworIzogZGF0ZS5jOjE1NgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbW9udGggYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgbW9udGhzIGFnbyIKLW1zZ3N0clswXSAiJWx164usIOyghCIKK21zZ2lkICIlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+64usIOyghCIKIAotIzogZGF0ZS5jOjE0OAorIzogZGF0ZS5jOjE2NwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgotbXNnc3RyWzBdICIlbHXrhYQiCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+64WEIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE1MQorIzogZGF0ZS5jOjE3MAogIywgYy1mb3JtYXQKLW1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgotbXNnc3RyWzBdICIlcyAlbHXri6wg7KCEIgorbXNnaWQgIiVzLCAlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJXMsICU8UFJJdU1BWD4gbW9udGhzIGFnbyIKK21zZ3N0clswXSAiJXMsICU8UFJJdU1BWD7ri6wg7KCEIgogCi0jOiBkYXRlLmM6MTU2IGRhdGUuYzoxNjEKKyM6IGRhdGUuYzoxNzUgZGF0ZS5jOjE4MAogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCi1tc2dzdHJbMF0gIiVsdeuFhCDsoIQiCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD7rhYQg7KCEIgogCiAjOiBkaWZmY29yZS1vcmRlci5jOjI0CiAjLCBjLWZvcm1hdApAQCAtMTUwOSwyNyArMTU2OSwyNyBAQAogbXNnaWQgIlBlcmZvcm1pbmcgaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIgogbXNnc3RyICLrtoDsoJXtmZXtlZwg7J2066aEIOuwlOq+uOq4sCDtg5Dsg4nsnYQg7IiY7ZaJ7ZWY64qUIOykkSIKIAotIzogZGlmZi5jOjYyCisjOiBkaWZmLmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAiJyVzJyDsmLXshZjsl5DripQg6rCS7J20IO2VhOyalO2VqeuLiOuLpCIKIAotIzogZGlmZi5jOjEyNAorIzogZGlmZi5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAgZGlyc3RhdCDsnpDrpoQg7Y287IS87Yq4IOqwkiAnJXMnIO2MjOyLseyXkCDsi6TtjKjtlojsirXri4jri6RcbiIKIAotIzogZGlmZi5jOjEyOQorIzogZGlmZi5jOjEzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIgIOyVjCDsiJgg7JeG64qUIGRpcnN0YXQg7YyM652866+47YSwICclcydcbiIKIAotIzogZGlmZi5jOjI4MQorIzogZGlmZi5jOjI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAiJ2RpZmYuc3VibW9kdWxlJyDshKTsoJUg67OA7IiY7JeQIOyVjCDsiJgg7JeG64qUIOqwkjogJyVzJyIKIAotIzogZGlmZi5jOjM0NAorIzogZGlmZi5jOjM0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTE1MzgsMjEgKzE1OTgsMjEgQEAKICInZGlmZi5zdWJtb2R1bGUnIOyEpOyglSDrs4DsiJjsl5Ag7Jik66WYOlxuIgogIiVzJyIKIAotIzogZGlmZi5jOjMwODUKKyM6IGRpZmYuYzozMTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgIuyZuOu2gCBkaWZmIO2UhOuhnOq3uOueqOydtCDso73snYwsICVzIOychOy5mOyXkOyEnCDrqYjstqQiCiAKLSM6IGRpZmYuYzozNDExCisjOiBkaWZmLmM6MzQyNwogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAiXCItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjaywgLXMg7Ji17IWYIOykkSDtlZjrgpjrp4wg7JO4IOyImCDsnojsirXri4jri6QiCiAKLSM6IGRpZmYuYzozNTAxCisjOiBkaWZmLmM6MzUxNwogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICItLWZvbGxvdyDsmLXshZjsl5DripQg7KCV7ZmV7Z6IIO2VmOuCmOydmCDqsr3roZzrqoXshLjqsIAg7ZWE7JqU7ZWp64uI64ukIgogCi0jOiBkaWZmLmM6MzY2NAorIzogZGlmZi5jOjM2ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTE1NjEsMjUyICsxNjIxLDI3NyBAQAogIi0tZGlyc3RhdC8tWCDsmLXshZgg7YyM652866+47YSw66W8IO2MjOyLse2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6Q6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNjc4CisjOiBkaWZmLmM6MzY5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKIG1zZ3N0ciAiLS1zdWJtb2R1bGUg7Ji17IWYIO2MjOudvOuvuO2EsCDtjIzsi7Hsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukOiAnJXMnIgogCi0jOiBkaWZmLmM6NDY5NgorIzogZGlmZi5jOjQ3MTYKIG1zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAi7YyM7J287J20IOuEiOustCDrp47slYTshJwg67aA7KCV7ZmV7ZWcIOydtOumhCDrsJTqvrjquLAg6rKA7IOJIOq4sOuKpeydhCDqsbTrhIjrnIHri4jri6QuIgogCi0jOiBkaWZmLmM6NDY5OQorIzogZGlmZi5jOjQ3MTkKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIu2MjOydvOydtCDrhIjrrLQg66eO7JWE7IScIOyImOygle2VnCDqsr3roZzsnZgg67O17IKs67O466eMIOywvuyVmOyKteuLiOuLpC4iCiAKLSM6IGRpZmYuYzo0NzAyCisjOiBkaWZmLmM6NDcyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCiBtc2dzdHIgIiVzIOuzgOyImOulvCDstZzshoztlZwgJWQo7Jy8KeuhnCDshKTsoJXtlZjqs6Ag66qF66C57J2EIOuLpOyLnCDsi5zrj4TtlbQg67O07Iut7Iuc7JikLiIKIAotIzogZGlyLmM6MTg2MgorIzogZGlyLmM6MTk0OAogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICLsu6TrhJAg7J2066aE6rO8IOygleuztOulvCDqsIDsoLjsmKTripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBkaXIuYzoxOTgxCisjOiBkaXIuYzoyMDY3CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAi7J20IOyLnOyKpO2FnCDrmJDripQg7JyE7LmY7JeQ7ISc64qUIOy2lOyggeuQmOyngCDslYrripQg7LqQ7Iuc66W8IOyCrOyaqe2VmOyngCDslYrsirXri4jri6QuIgogCi0jOiBkaXIuYzoyNzU5CisjOiBkaXIuYzoyODQ2IGRpci5jOjI4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCittc2dzdHIgIiVz7JeQIO2VhOyalO2VnCDrlJTroInthLDrpqzrpbwg66eM65OkIOyImCDsl4bsirXri4jri6QiCisKKyM6IGRpci5jOjI4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG1pZ3JhdGUgZ2l0IGRpcmVjdG9yeSBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCAnJXMnKOycvCnroZwgZ2l0IOuUlOugie2EsOumrOulvCDsmK7qsqjsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjIxMworIzogZW50cnkuYzoyODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgZmlsZSAnJXMnIgorbXNnc3RyICInJXMnIO2MjOydvOyXkCBzdGF07J2EIO2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBmZXRjaC1wYWNrLmM6MjUxCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IOyWleydgCDrqqnroZ3snYQg7JiI7IOB7ZWoIgogCi0jOiBmZXRjaC1wYWNrLmM6MjI1CisjOiBmZXRjaC1wYWNrLmM6MjYzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBBQ0svTkFL6rCAIOyZgOyVvCDtlZjsp4Drp4wsIEVPRuulvCDrsJvslZjsirXri4jri6QiCiAKLSM6IGZldGNoLXBhY2suYzoyNDMKKyM6IGZldGNoLXBhY2suYzoyODIgYnVpbHRpbi9hcmNoaXZlLmM6NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAi66as66qo7Yq4IOyYpOulmDogJXMiCisKKyM6IGZldGNoLXBhY2suYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogQUNLL05BS+qwgCDsmYDslbwg7ZWY7KeA66eMLCAnJXMn7J2EKOulvCkg67Cb7JWY7Iq164uI64ukIgogCi0jOiBmZXRjaC1wYWNrLmM6Mjk1CisjOiBmZXRjaC1wYWNrLmM6MzM1CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIOyYteyFmOydgCBtdWx0aV9hY2tfZGV0YWlsZWTqsIAg7ZWE7JqU7ZWp64uI64ukIgogCi0jOiBmZXRjaC1wYWNrLmM6MzgxCisjOiBmZXRjaC1wYWNrLmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAic2hhbGxvdyDspITsnbQg7J6Y66q765CoOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM4NworIzogZmV0Y2gtcGFjay5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAidW5zaGFsbG93IOykhOydtCDsnpjrqrvrkKg6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzg5CisjOiBmZXRjaC1wYWNrLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICLsmKTruIzsoJ3tirjqsIAg7JeG7Iq164uI64ukOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5MgorIzogZmV0Y2gtcGFjay5jOjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgogbXNnc3RyICLsmKTruIzsoJ3tirjsl5Ag7Jik66WYOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5NAorIzogZmV0Y2gtcGFjay5jOjQzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAic2hhbGxvd+qwgCDsl4bsirXri4jri6Q6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk3CisjOiBmZXRjaC1wYWNrLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgInNoYWxsb3cvdW5zaGFsbG936rCAIOyZgOyVvCDtlZjsp4Drp4wsICVz7J2EKOulvCkg67Cb7JWY7Iq164uI64ukIgogCi0jOiBmZXRjaC1wYWNrLmM6NDM2CisjOiBmZXRjaC1wYWNrLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAi67Cb7J2MOiAlcyAlZCAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQ1MAorIzogZmV0Y2gtcGFjay5jOjQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOy7pOuwiyAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQ4MworIzogZmV0Y2gtcGFjay5jOjUyMwogbXNnaWQgImdpdmluZyB1cCIKIG1zZ3N0ciAi7Y+s6riw7ZWoIgogCi0jOiBmZXRjaC1wYWNrLmM6NDkzIHByb2dyZXNzLmM6MjM1CisjOiBmZXRjaC1wYWNrLmM6NTMzIHByb2dyZXNzLmM6MjM3CiBtc2dpZCAiZG9uZSIKIG1zZ3N0ciAi7JmE66OMIgogCi0jOiBmZXRjaC1wYWNrLmM6NTA1CisjOiBmZXRjaC1wYWNrLmM6NTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAoJWQpICVzIgogbXNnc3RyICLrsJvsnYw6ICVzICglZCkgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo1NTEKKyM6IGZldGNoLXBhY2suYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKIG1zZ3N0ciAiJXMg7ZWt66qp7J2EIOyZhOujjOuhnCDtkZzsi5wiCiAKLSM6IGZldGNoLXBhY2suYzo2OTcKKyM6IGZldGNoLXBhY2suYzo3NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCiBtc2dzdHIgIuydtOuvuCAlcyAoJXMpIOyeiOydjCIKIAotIzogZmV0Y2gtcGFjay5jOjczNQorIzogZmV0Y2gtcGFjay5jOjgxMwogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJmZXRjaC1wYWNrOiDsgqzsnbTrk5zrsLTrk5wg65SU66mA7Yuw7ZSM66CJ7ISc66W8IGZvcmvtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjc0MworIzogZmV0Y2gtcGFjay5jOjgyMQogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCiBtc2dzdHIgIu2UhOuhnO2GoOy9nCDsmKTrpZg6IOyemOuqu+uQnCDrrLbsnYwg7Zek642UIgogCi0jOiBmZXRjaC1wYWNrLmM6Nzk5CisjOiBmZXRjaC1wYWNrLmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKIG1zZ3N0ciAiZmV0Y2gtcGFjazogJXMg66qF66C57J2EIGZvcmvtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjgxNQorIzogZmV0Y2gtcGFjay5jOjg5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIiVzIOyLpO2MqCIKIAotIzogZmV0Y2gtcGFjay5jOjgxNworIzogZmV0Y2gtcGFjay5jOjg5NQogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgIuyCrOydtOuTnOuwtOuTnCDrlJTrqYDti7DtlIzroInshJzsl5Ag7Jik66WYIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ0CisjOiBmZXRjaC1wYWNrLmM6OTIyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgogbXNnc3RyICLshJzrsoTsl5DshJwgc2hhbGxvdyDtgbTrnbzsnbTslrjtirjrpbwg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjg0OAorIzogZmV0Y2gtcGFjay5jOjkyNgogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCBtdWx0aV9hY2tfZGV0YWlsZWTrpbwg7KeA7JuQ7ZWp64uI64ukIgogCi0jOiBmZXRjaC1wYWNrLmM6ODUxCisjOiBmZXRjaC1wYWNrLmM6OTI5CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCBuby1kb25l7J2EIOyngOybkO2VqeuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjg1NworIzogZmV0Y2gtcGFjay5jOjkzNQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCBtdWx0aV9hY2vrpbwg7KeA7JuQ7ZWp64uI64ukIgogCi0jOiBmZXRjaC1wYWNrLmM6ODYxCisjOiBmZXRjaC1wYWNrLmM6OTM5CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCBzaWRlLWJhbmQtNjRr66W8IOyngOybkO2VqeuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjg2NQorIzogZmV0Y2gtcGFjay5jOjk0MwogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCBzaWRlLWJhbmTrpbwg7KeA7JuQ7ZWp64uI64ukIgogCi0jOiBmZXRjaC1wYWNrLmM6ODY5CisjOiBmZXRjaC1wYWNrLmM6OTQ3CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCBhbGxvdy10aXAtc2hhMS1pbi13YW5066W8IOyngOybkO2VqeuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjg3MworIzogZmV0Y2gtcGFjay5jOjk1MQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgogbXNnc3RyICLshJzrsoTsl5DshJwgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudOulvCDsp4Dsm5Dtlanri4jri6QiCiAKLSM6IGZldGNoLXBhY2suYzo4ODMKKyM6IGZldGNoLXBhY2suYzo5NjEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhIgogbXNnc3RyICLshJzrsoTsl5DshJwgb2ZzLWRlbHRh66W8IOyngOybkO2VqeuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjg5MAorIzogZmV0Y2gtcGFjay5jOjk2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgogbXNnc3RyICLshJzrsoQg67KE7KCE7J20ICUuKnPsnoXri4jri6QiCiAKLSM6IGZldGNoLXBhY2suYzo4OTYKKyM6IGZldGNoLXBhY2suYzo5NzQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCAtLXNoYWxsb3ctc2lnbmVkIOyYteyFmOydhCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAwCisjOiBmZXRjaC1wYWNrLmM6OTc4CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCAtLXNoYWxsb3ctZXhjbHVkZSDsmLXshZjsnYQg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogZmV0Y2gtcGFjay5jOjkwMgorIzogZmV0Y2gtcGFjay5jOjk4MAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgogbXNnc3RyICLshJzrsoTsl5DshJwgLS1kZWVwZW4g7Ji17IWY7J2EIOyngOybkO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGZldGNoLXBhY2suYzo5MTMKKyM6IGZldGNoLXBhY2suYzo5OTEKIG1zZ2lkICJubyBjb21tb24gY29tbWl0cyIKIG1zZ3N0ciAi6rO17Ya1IOy7pOuwiyDsl4bsnYwiCiAKLSM6IGZldGNoLXBhY2suYzo5MjUKKyM6IGZldGNoLXBhY2suYzoxMDAzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiDqsIDsoLjsmKTquLAg7Iuk7YyoLiIKIAotIzogZmV0Y2gtcGFjay5jOjEwODcKKyM6IGZldGNoLXBhY2suYzoxMTY1CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgIu2VtOuLue2VmOuKlCDrpqzrqqjtirgg7Zek65Oc6rCAIOyXhuyKteuLiOuLpCIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE4NQorIzogZmV0Y2gtcGFjay5jOjExODcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZW1vdGUgcmVmICVzIgorbXNnc3RyICLqt7jrn7Ag66as66qo7Yq46rCAIOugiO2NvOufsOyKpOqwgCDsl4bsirXri4jri6Q6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKK21zZ3N0ciAi7ISc67KE7JeQ7IScIOyVjOugpOyngOyngCDslYrsnYAgJXMg7Jik67iM7KCd7Yq47JeQIOuMgO2VnCDsmpTssq3snYQg7ZeI7Jqp7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogZ3BnLWludGVyZmFjZS5jOjE4MQogbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKIG1zZ3N0ciAiZ3Bn7JeQ7IScIOuNsOydtO2EsOulvCDshJzrqoXtlZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukLiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIxNQorIzogZ3BnLWludGVyZmFjZS5jOjIxMQogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIuyehOyLnCDtjIzsnbzsnYQg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMTcKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHdyaXRpbmcgZGV0YWNoZWQgc2lnbmF0dXJlIHRvICclcyciCiBtc2dzdHIgIuu2hOumrOuQnCDshJzrqoXsnYQgJyVzJ+yXkCDsk7DripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBncmFwaC5jOjk2CisjOiBncmFwaC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yZSBpbnZhbGlkIGNvbG9yICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCiBtc2dzdHIgImxvZy5ncmFwaENvbG9yc+yXkCDsnpjrqrvrkJwg7IOJ7J2EICgnJS4qcycpIOustOyLnO2VqeuLiOuLpCIKIAotIzogZ3JlcC5jOjE3OTQKKyM6IGdyZXAuYzoxOTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMnOiAlc+ydhCjrpbwpIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBncmVwLmM6MTgxMSBidWlsdGluL2Nsb25lLmM6MzgxIGJ1aWx0aW4vZGlmZi5jOjgxIGJ1aWx0aW4vcm0uYzoxMzMKKyM6IGdyZXAuYzoxOTk4IGJ1aWx0aW4vY2xvbmUuYzo0MDMgYnVpbHRpbi9kaWZmLmM6ODEgYnVpbHRpbi9ybS5jOjEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICInJXMn7JeQIOuMgO2VtCBzdGF0KCnsnbQg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBncmVwLmM6MTgyMgorIzogZ3JlcC5jOjIwMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKIG1zZ3N0ciAiJyVzJzog7J2964uk6rCAIOyemOumvCIKIAotIzogaGVscC5jOjIxOAorIzogaGVscC5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgIiclcyfsl5Ag7J6I64qUIOq5gyDrqoXroLkiCiAKLSM6IGhlbHAuYzoyMjUKKyM6IGhlbHAuYzoxODYKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgIuuLpOuluCAkUEFUSOyXkCDsnojripQg6rmDIOuqheuguSIKIAotIzogaGVscC5jOjI1NgorIzogaGVscC5jOjIxNwogbXNnaWQgIlRoZXNlIGFyZSBjb21tb24gR2l0IGNvbW1hbmRzIHVzZWQgaW4gdmFyaW91cyBzaXR1YXRpb25zOiIKIG1zZ3N0ciAi64uk7J2M7J2AIOyXrOufrOqwgOyngCDsg4Htmansl5DshJwg7J6Q7KO8IOyCrOyaqe2VmOuKlCDquYMg66qF66C57J6F64uI64ukOiIKIAotIzogaGVscC5jOjMyMQorIzogaGVscC5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgpAQCAtMTgxNSwzMCArMTkwMCw1MSBAQAogIiclcyfsnYAo64qUKSDquYMg66qF66C57Jy866GcIOuztOydtOyngOunjCwg7Iuk7ZaJ7ZWgIOyImFxuIgogIuyXhuyKteuLiOuLpC4g7JWE66eI64+EIGdpdC0lcyDrp53qsIDsp4Qg6rKDIOqwmeyKteuLiOuLpC4iCiAKLSM6IGhlbHAuYzozNzYKKyM6IGhlbHAuYzozMzYKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAi7Ja065286528LiDsi5zsiqTthZzsl5Ag6rmDIOuqheugueydtCDtlZjrgpjrj4Qg7JeG64uk6rOgIOuCmOyYteuLiOuLpC4iCiAKLSM6IGhlbHAuYzozOTgKKyM6IGhlbHAuYzozNTgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKLSJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciCi1tc2dzdHIgIiIKLSLqsr3qs6A6IOydtOumhOydtCAnJXMn7J24IOq5gyDrqoXroLnsnYQg7Iuk7ZaJ7ZaI7KeA66eMLCDqt7gg66qF66C57J20IOyXhuyKteuLiOuLpC5cbiIKLSLsnpDrj5nsnLzroZwgJyVzJyDrqoXroLnsnbTrnbzqs6Ag6rCA7KCV7ZWY6rOgIOqzhOyGje2VqeuLiOuLpCIKK21zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLqsr3qs6A6IOydtOumhOydtCAnJXMn7J24IOq5gyDrqoXroLnsnYQg7Iuk7ZaJ7ZaI7KeA66eMLCDqt7gg66qF66C57J20IOyXhuyKteuLiOuLpC4iCiAKLSM6IGhlbHAuYzo0MDMKKyM6IGhlbHAuYzozNjMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW4gJTAuMWYgc2Vjb25kcyBhdXRvbWF0aWNhbGx5Li4uIgotbXNnc3RyICIoJTAuMWbstIgg65Kk7JeQKS4uLiIKK21zZ2lkICJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcycuIgorbXNnc3RyICInJXMnIOuqheugueydtOudvOqzoCDqsIDsoJXtlZjqs6Ag6rOE7IaN7ZWp64uI64ukLiIKIAotIzogaGVscC5jOjQxMAorIzogaGVscC5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDb250aW51aW5nIGluICUwLjFmIHNlY29uZHMsIGFzc3VtaW5nIHRoYXQgeW91IG1lYW50ICclcycuIgorbXNnc3RyICIlMC4xZuy0iCDrkqTsl5AgJyVzJyDrqoXroLnsnbTrnbzqs6Ag6rCA7KCV7ZWY6rOgIOqzhOyGje2VqeuLiOuLpC4iCisKKyM6IGhlbHAuYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0OiAnJXMn7J2AKOuKlCkg6rmDIOuqheugueydtCDslYTri5nri4jri6QuICdnaXQgLS1oZWxwJ+ulvCDssLjqs6DtlZjsi63si5zsmKQuIgogCi0jOiBoZWxwLmM6NDE0IGhlbHAuYzo0ODAKKyM6IGhlbHAuYzozODAKK21zZ2lkICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgorbXNnaWRfcGx1cmFsICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kcyBhcmUiCittc2dzdHJbMF0gIiIKKyJcbiIKKyLqsIDsnqUg67mE7Iq37ZWcIOuqheugueydgCIKKworIzogaGVscC5jOjM5NQorbXNnaWQgImdpdCB2ZXJzaW9uIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgdmVyc2lvbiBbPOyYteyFmD5dIgorCisjOiBoZWxwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAtICVzIgorbXNnc3RyICIlczogJXMgLSAlcyIKKworIzogaGVscC5jOjQ2MAogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0xODQ5LDEyICsxOTU1LDcgQEAKICJcbiIKICLri6TsnYzsnYQg7J2Y64+E7ZWY7IugIOqygyDslYTri4jsl4jrgpjsmpQ/IgogCi0jOiBoZWxwLmM6NDc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlcyAtICVzIgotbXNnc3RyICIlczogJXMgLSAlcyIKLQotIzogaWRlbnQuYzozMzQKKyM6IGlkZW50LmM6MzQyCiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTE4ODAsNiArMTk4MSwzOSBAQAogIi0tZ2xvYmFsIOyYteyFmOydhCDrubzrqbQg7J20IOyggOyepeyGjOyEnOunjCDsi6Dsm5Ag7KCV67O066W8IOyEpOygle2VqeuLiOuLpC5cbiIKICJcbiIKIAorIzogaWRlbnQuYzozNjYKK21zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICLrqZTsnbwg7KO87IaM6rCAIOyXhuqzoCDsnpDrj5kg6rKA7IKs6rCAIOq6vOyguCDsnojsirXri4jri6QiCisKKyM6IGlkZW50LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCittc2dzdHIgIuuplOydvCDso7zshozrpbwg7J6Q64+ZIOqygOyCrO2VoCDsiJgg7JeG7Iq164uI64ukICgnJXMnIOywvuydjCkiCisKKyM6IGlkZW50LmM6MzgxCittc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICLsnbTrpoTsnbQg7JeG6rOgIOyekOuPmSDqsoDsgqzqsIAg6rq87KC4IOyeiOyKteuLiOuLpCIKKworIzogaWRlbnQuYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IG5hbWUgKGdvdCAnJXMnKSIKK21zZ3N0ciAi7J2066aE7J2EIOyekOuPmSDqsoDsgqztlaAg7IiYIOyXhuyKteuLiOuLpCAoJyVzJyDssL7snYwpIgorCisjOiBpZGVudC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBpZGVudCBuYW1lIChmb3IgPCVzPikgbm90IGFsbG93ZWQiCittc2dzdHIgIuu5iCDsnbTrpoTsnZgg7Iug7JuQIOygleuztOuKlCAoPCVzPuyXkCDrjIDtlbQpIO2XiOyaqe2VmOyngCDslYrsirXri4jri6QiCisKKyM6IGlkZW50LmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5hbWUgY29uc2lzdHMgb25seSBvZiBkaXNhbGxvd2VkIGNoYXJhY3RlcnM6ICVzIgorbXNnc3RyICLsnbTrpoTsnbQg7ZeI7Jqp7ZWY7KeAIOyViuuKlCDrrLjsnpDroZzrp4wg7J2066Oo7Ja07KC4IOyeiOyKteuLiOuLpDogJXMiCisKKyM6IGlkZW50LmM6NDE2IGJ1aWx0aW4vY29tbWl0LmM6NjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgorbXNnc3RyICLsi5zqsIEg7ZiV7Iud7J20IOyemOuqu+uQmOyXiOyKteuLiOuLpDogJXMiCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTE5MDgsNzggKzIwNDIsNzggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIuy6kOyLnOulvCDsnb3ripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBtZXJnZS5jOjk2IGJ1aWx0aW4vYW0uYzoyMDAwIGJ1aWx0aW4vYW0uYzoyMDM1IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzQKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODggYnVpbHRpbi9jbG9uZS5jOjczMQorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MTk4MCBidWlsdGluL2FtLmM6MjAxNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTkxIGJ1aWx0aW4vY2xvbmUuYzo3NTMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIuyDiCDsnbjrjbHsiqQg7YyM7J287J2EIOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMAogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIo7J6Y66q765CcIOy7pOuwiylcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMxIG1lcmdlLXJlY3Vyc2l2ZS5jOjIzOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMyIG1lcmdlLXJlY3Vyc2l2ZS5jOjI0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmZvX2NhY2hlIGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICInJXMnIOqyveuhnOyXkCDrjIDtlbQgYWRkaW5mb19jYWNoZeqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA0CiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIu2KuOumrCDruYzrk5zsl5Ag7Jik66WYIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgogbXNnc3RyICInJXMnIOqyveuhnCDrp4zrk6TquLDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjczOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIu2VmOychCDrlJTroInthLDrpqzsl5Ag6rO16rCE7J2EIOunjOuTnOugpOqzoCAlc+ydhCjrpbwpIOygnOqxsO2VqeuLiOuLpFxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTIgbWVyZ2UtcmVjdXJzaXZlLmM6NzcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTMgbWVyZ2UtcmVjdXJzaXZlLmM6NzcyCiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiOiDslYTrp4jrj4QgRC9GIOy2qeuPjD8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAiJyVzJyDsnITsuZjsnZgg7LaU7KCB65CY7KeAIOyViuuKlCDtjIzsnbzsnYQg7J6D6riw66W8IOqxsOu2gO2VqeuLiOuLpCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODAzIGJ1aWx0aW4vY2F0LWZpbGUuYzozNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA0IGJ1aWx0aW4vY2F0LWZpbGUuYzozNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAiJXMgJyVzJyDsmKTruIzsoJ3tirjrpbwg7J297J2EIOyImCDsl4bsnYwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgIiVzICclcyfsl5Ag64yA7ZW0IOu4lOuhreydhCDsmIjsg4EiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgogbXNnc3RyICInJXMn7J2EKOulvCkg7Jes64qU642wIOyLpO2MqDogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgogbXNnc3RyICInJXMnIOyLrOuzvOumrSDrp4Htgazsl5Ag7Iuk7YyoOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKIG1zZ3N0ciAi64uk7J2M7J2EIOyWtOuWu+qyjCDtlaDsp4Ag7JWMIOyImCDsl4bsirXri4jri6Q6ICUwNm8gJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODYKIG1zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKIG1zZ3N0ciAi64K067aAIOuzke2VqSDsi6Ttlonsl5Ag7Iuk7YyoIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICIlc+ydhCjrpbwpIOuNsOydtO2EsOuyoOydtOyKpOyXkCDstpTqsIDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4OCBtZXJnZS1yZWN1cnNpdmUuYzoxMTAyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0xOTg3LDcgKzIxMjEsMTYgQEAKIG1zZ3N0ciAiIgogIuy2qeuPjCEgKCVzL+yCreygnCk6ICVzICjsnITsuZggJXMpIOuwjyAlcyAoJXPsl5DshJwpIOyCreygnC4gJXMg67KE7KCE7J2YICVzIO2KuOumrOyXkCDrgqjsnYwuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlLiIKK21zZ3N0ciAiIgorIuy2qeuPjCEgKCVzL+yCreygnCk6ICVzICjsnITsuZggJXMpIOyCreygnCwgJXPsl5DshJwgJXMo7Jy8KeuhnCAo7JyE7LmYICVzKS4gJXMg67KE7KCE7J2YICVzICIKKyLtirjrpqzsl5Ag64Ko7J2MLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMTk5NiwyMCArMjEzOSwyOSBAQAogIuy2qeuPjCEgKCVzL+yCreygnCk6ICVzICjsnITsuZggJXMpIOuwjyAlcyAo7JyE7LmYICVzKSDsgq3soJwuICVzIOuyhOyghOydmCAlcyDtirjrpqzsl5AgIgogIiVzKOycvCnroZwg64Ko7J2MLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKKyJsZWZ0IGluIHRyZWUgYXQgJXMuIgorbXNnc3RyICIiCisi7Lap64+MISAoJXMv7IKt7KCcKTogJXMgKOychOy5mCAlcykg7IKt7KCcLCAlc+yXkOyEnCAlcyjsnLwp66GcICjsnITsuZggJXMpLiAlcyDrsoTsoITsnZggJXMgIgorIu2KuOumrOyXkCDrgqjsnYwgKOychOy5mCAlcykuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQ0CiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICLsnbTrpoTrsJTqvrjquLAiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDQKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICLsnbTrpoTrsJTqv4giCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiVz7J2AKOuKlCkgJXPsl5Ag7J6I64qUIOuUlOugie2EsOumrOuhnCAlcyjsnLwp66GcIOydtOumhOydhCDrsJTqv4nri4jri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCkBAIC0yMDE4LDEzNiArMjE3MCwxMzYgQEAKICLstqnrj4whICjsnbTrpoTrsJTqvrjquLAv7J2066aE67CU6r646riwKTogXCIlMyRzXCIg67iM656c7LmY7JeQ7IScIOydtOumhOuwlOq+uOq4sCBcIiUxJHNcIi0+IgogIlwiJTIkc1wiIFwiJTYkc1wiIOu4jOuenOy5mOyXkOyEnCDsnbTrpoQg67CU6r646riwIFwiJTQkc1wiLT5cIiU1JHNcIiU3JHMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzEKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiAo7ZW06rKw65CY7KeAIOyViuydjCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgogbXNnc3RyICIiCiAi7Lap64+MISAocmVuYW1lL3JlbmFtZSk6IOydtOumhCDrsJTqvrjquLAgJXMtPiVzICjsnITsuZggJXMpLiDsnbTrpoQg67CU6r646riwICVzLT4lcyAo7JyEIgogIuy5mCAlcykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgIuuMgOyLoCDsnbTrpoTsnYQgJXPsl5DshJwgJXMo7Jy8KeuhnCDrsJTqvrjqs6AgJXPsl5DshJwgJXMo7Jy8KeuhnCDrsJTqv4nri4jri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKIG1zZ3N0ciAi7Lap64+MISAocmVuYW1lL2FkZCk6IOydtOumhCDrsJTqvrjquLAgJXMtPiVzICjsnITsuZggJXMpLiAlcyDstpTqsIAgKOychOy5mCAlcykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKIG1zZ3N0ciAi67OR7ZWp65CcICVz7J2EKOulvCkg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTU3IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTEgbWVyZ2UtcmVjdXJzaXZlLmM6MTc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAi64yA7IugICVzKOycvCnroZwg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiJXMg7Jik67iM7KCd7Yq466W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICIlcyDsmKTruIzsoJ3tirjripQg67iU66Gt7J20IOyVhOuLmeuLiOuLpCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAi7IiY7KCVIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIuyImOygleuQqCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5MAogbXNnaWQgImNvbnRlbnQiCiBtc2dzdHIgIuuCtOyaqSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5NwogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgIuy2lOqwgC/stpTqsIAiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgogbXNnc3RyICLqsbTrhIjrm7DquLA6ICVzICjquLDsobTqs7wg6rCZ6rKMIOuzke2VqSkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICLsnpDrj5kg67OR7ZWpOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MSBnaXQtc3VibW9kdWxlLnNoOjkzMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1MSBnaXQtc3VibW9kdWxlLnNoOjk0NQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAi7Lap64+MISAoJXMpOiAlc+yXkCDrs5Htlakg7Lap64+MIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODM2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICLsoJzqsbA6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODYyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODcyCiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgIu2MjOydvC/rlJTroInthLDrpqwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzgKIG1zZ2lkICJkaXJlY3RvcnkvZmlsZSIKIG1zZ3N0ciAi65SU66CJ7YSw66asL+2MjOydvCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKIG1zZ3N0ciAiIgogIuy2qeuPjCEgKCVzKTog7J2066aE7J20ICVz7J24IOuUlOugie2EsOumrOqwgCAlc+yXkCDsnojsirXri4jri6QuICVz7J2EKOulvCkgJXMo7Jy8KeuhnCDstpTqsIDtlanri4giCiAi64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAi7LaU6rCAOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkzMAogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSEiCiBtc2dzdHIgIuydtOuvuCDsl4XrjbDsnbTtirgg7IOB7YOc7J6F64uI64ukISIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCiBtc2dzdHIgIiVzIOuwjyAlcyDtirjrpqzsnZgg67OR7ZWp7J20IOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAyMgogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICLrs5Htlak6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDI1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICLqs7zqsbDsnZgg6rO17Ya1IOy7pOuwiyAldeqwnCDrsJzqsqw6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDc0CiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICLrs5Htlakg6rKw6rO87JeQIOy7pOuwi+ydtCDsl4bsirXri4jri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMjcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICInJXMnIOyYpOu4jOygne2KuOulvCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE0MSBidWlsdGluL21lcmdlLmM6NjQ1IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTEgYnVpbHRpbi9tZXJnZS5jOjY0NiBidWlsdGluL21lcmdlLmM6NzkzCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAi7J24642x7Iqk66W8IOyTuCDsiJgg7JeG7Iq164uI64ukLiIKIApAQCAtMjE2NywyMyArMjMxOSwyNSBAQAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCiBtc2dzdHIgIuuFuO2KuCDrs5Htlakg7J6R7JeF7J2EIOuLpCDrp4jsuZjsp4Ag7JWK7JWY7Iq164uI64ukLiAoJXMg7J6I7J2MKSIKIAotIzogbm90ZXMtdXRpbHMuYzo0MQorIzogbm90ZXMtdXRpbHMuYzo0MgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAi7LSI6riw7ZmU7ZWY7KeAIOyViuyVmOqxsOuCmCDroIjtjbzrn7DsiqTtlZjsp4Ag7JWK7J2AIG5vdGVzIO2KuOumrOulvCDsu6TrsIvtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDAKKyM6IG5vdGVzLXV0aWxzLmM6MTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAi7J6Y66q765CcIG5vdGVzLnJld3JpdGVNb2RlIOqwkjogJyVzJyIKIAotIzogbm90ZXMtdXRpbHMuYzoxMTAKKyM6IG5vdGVzLXV0aWxzLmM6MTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICIlc+yXkOyEnCDrhbjtirjrpbwg64uk7IucIOyTsOq4sOulvCDqsbDrtoDtlanri4jri6QgKHJlZnMvbm90ZXMvIOuwluyehCkiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YgdGhlCi0jLiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcyBpdHMgdmFsdWUKLSM6IG5vdGVzLXV0aWxzLmM6MTM3CisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mCisjLiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMKKyMuIGl0cyB2YWx1ZS4KKyMuCisjOiBub3Rlcy11dGlscy5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIuyemOuqu+uQnCAlcyDqsJI6ICclcyciCkBAIC0yMTkzLDI4ICsyMzQ3LDI5IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgIuyYpOu4jOygne2KuOulvCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NzIKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NzMKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU5MAorIzogcGFyc2Utb3B0aW9ucy5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgIuyCrOyaqeuylTogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKLSMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjU5NAorIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgorIy4KKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgIOuYkOuKlDogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKKyM6IHBhcnNlLW9wdGlvbnMuYzo2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo2MzEKKyM6IHBhcnNlLW9wdGlvbnMuYzo2MzQKIG1zZ2lkICItTlVNIgogbXNnc3RyICItTlVNIgogCkBAIC0yMjIzLDY3ICsyMzc4LDc5IEBACiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgIuyemOuqu+uQnCDtmJXsi53snZgg7Jik67iM7KCd7Yq4IOydtOumhCAnJXMnIgogCi0jOiBwYXRoLmM6ODI2CisjOiBwYXRoLmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICIlc+ydhCjrpbwpIOq3uOujueyXkOyEnCDsk7DquLAg6rCA64ql7ZWY64+E66GdIOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBwYXRoc3BlYy5jOjE0MgorIzogcGF0aHNwZWMuYzoxMjkKK21zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKK21zZ3N0ciAi7IaN7ISxIOqwkuydmCDrp4jsp4Drp4kg66y47J6Q66GcICdcXFxcJyDsnbTsiqTsvIDsnbTtlIQg66y47J6Q64qUIO2XiOyaqe2VmOyngCDslYrsirXri4jri6QiCisKKyM6IHBhdGhzcGVjLmM6MTQ3Cittc2dpZCAiT25seSBvbmUgJ2F0dHI6JyBzcGVjaWZpY2F0aW9uIGlzIGFsbG93ZWQuIgorbXNnc3RyICLtlZjrgpjsnZggJ2F0dHI6JyDrqoXshLjrp4wg7ZeI7Jqp7ZWp64uI64ukLiIKKworIzogcGF0aHNwZWMuYzoxNTAKK21zZ2lkICJhdHRyIHNwZWMgbXVzdCBub3QgYmUgZW1wdHkiCittc2dzdHIgImF0dHIg66qF7IS464qUIOu5hOyWtCDsnojsnLzrqbQg7JWIIOuQqeuLiOuLpCIKKworIzogcGF0aHNwZWMuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhdHRyaWJ1dGUgbmFtZSAlcyIKK21zZ3N0ciAi7J6Y66q765CcIOyGjeyEsSDsnbTrpoQgJXMiCisKKyM6IHBhdGhzcGVjLmM6MjU4CiBtc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiJ2dsb2InIOuwjyAnbm9nbG9iJyDqsr3roZzrqoXshLgg7KCE7LK0IOyEpOygleydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBwYXRoc3BlYy5jOjE0OQorIzogcGF0aHNwZWMuYzoyNjUKIG1zZ2lkICIiCiAiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgogInBhdGhzcGVjIHNldHRpbmdzIgogbXNnc3RyICIiCiAiJ2xpdGVyYWwnIOqyveuhnOuqheyEuCDsoITssrQg7ISk7KCV7J2AIOuLpOuluCDqsr3roZzrqoXshLgg7KCE7LK0IOyEpOygleqzvCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBwYXRoc3BlYy5jOjE4OAorIzogcGF0aHNwZWMuYzozMDUKIG1zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCiBtc2dzdHIgIuqyveuhnOuqheyEuCDsp4Dsi5zslrQgJ3ByZWZpeCfsl5Ag7J6Y66q765CcIO2MjOudvOuvuO2EsCIKIAotIzogcGF0aHNwZWMuYzoyMDEKKyM6IHBhdGhzcGVjLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCiBtc2dzdHIgIuyemOuqu+uQnCDqsr3roZzrqoXshLgg7KeA7Iuc7Ja0ICclLipzJyAo7JyE7LmYICclcycpIgogCi0jOiBwYXRoc3BlYy5jOjIwNgorIzogcGF0aHNwZWMuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgogbXNnc3RyICLqsr3roZwg66qF7IS4IOyngOyLnOyWtCDrgZ3sl5AgJyknIOu5oOynkCAo7JyE7LmYICclcycpIgogCi0jOiBwYXRoc3BlYy5jOjIzOAorIzogcGF0aHNwZWMuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCiBtc2dzdHIgIuq1rO2YhOuQmOyngCDslYrsnYAg6rK966Gc66qF7IS4IOyngOyLnOyWtCAnJWMnICjsnITsuZggJyVzJykiCiAKLSM6IHBhdGhzcGVjLmM6MjkzIHBhdGhzcGVjLmM6MzE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKLW1zZ3N0ciAi6rK966Gc66qF7IS4ICclcyfsnYAo64qUKSAnJyUuKnMnIO2VmOychCDrqqjrk4gg7JWI7JeQIOyeiOyKteuLiOuLpCIKLQotIzogcGF0aHNwZWMuYzozNTAKKyM6IHBhdGhzcGVjLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIlczogJ2xpdGVyYWwn6rO8ICdnbG9iJ+ydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBwYXRoc3BlYy5jOjM2MworIzogcGF0aHNwZWMuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIlczogJyVzJ+ydgCjripQpIOyggOyepeyGjCDrsJbsnoXri4jri6QiCiAKLSM6IHBhdGhzcGVjLmM6NDUxCisjOiBwYXRoc3BlYy5jOjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIChtbmVtb25pYzogJyVjJykiCiBtc2dzdHIgIiclcycgKOuLqOy2le2CpDogJyVjJykiCiAKLSM6IHBhdGhzcGVjLmM6NDYxCisjOiBwYXRoc3BlYy5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgogbXNnc3RyICIlczog6rK966Gc66qF7IS4IOyngOyLnOyWtOqwgCDsnbQg66qF66C57Ja07JeQ7IScIOyngOybkO2VmOyngCDslYrsirXri4jri6Q6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjUxMQorIzogcGF0aHNwZWMuYzo1NzUKIG1zZ2lkICIiCiAiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCiAidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgpAQCAtMjI5MSwyNCArMjQ1OCwxNiBAQAogIuqyveuhnOuqheyEuOuhnCDruYgg66y47J6Q7Je07J2EIOuEo+uKlCDsnbzsnYAg64uk7J2MIOumtOumrOyKpOyXkOyEnCDsmKTrpZjroZwg7Leo6riJ7ZWgIOyYiOygleyeheuLiOuLpC4g66qoIgogIuuToCDqsr3roZzrpbwg7KeA7KCV7ZWY66Ck66m0IOygkCguKeydhCDsgqzsmqntlZjsi63si5zsmKQuIgogCi0jOiBwYXRoc3BlYy5jOjUzNQorIzogcGF0aHNwZWMuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICInJXMnIOqyveuhnOuqheyEuOuKlCDsi6zrs7zrpq0g66eB7YGsIOyVhOuemOyXkCDsnojsirXri4jri6QiCiAKLSM6IHBhdGhzcGVjLmM6NTQ0Ci1tc2dpZCAiIgotIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCi0iUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKLW1zZ3N0ciAiIgotIjooZXhjbHVkZSkg7Yyo7YS07Jy866GcIOygnOyZuO2VoCDsgqztla3snbQg7JeG7Iq164uI64ukLlxuIgotIic6Lycg65iQ64qUICcuJyDstpTqsIDrpbwg7J6K7Jy87IugIOqygyDslYTri5nri4jquYw/IgotCi0jOiBwcmV0dHkuYzo5ODIKKyM6IHByZXR0eS5jOjk2MwogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgIi0tcHJldHR5IO2YleyLneydhCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogcmVhZC1jYWNoZS5jOjEzMDcKKyM6IHJlYWQtY2FjaGUuYzoxNDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMjMxNyw3ICsyNDc2LDcgQEAKICJpbmRleC52ZXJzaW9u7J20IOyEpOygleuQmOyXiOyngOunjCwg7J20IOqwkuydtCDsnpjrqrvrkJjsl4jsirXri4jri6QuXG4iCiAiJWkg67KE7KCE7J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogcmVhZC1jYWNoZS5jOjEzMTcKKyM6IHJlYWQtY2FjaGUuYzoxNDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTIzMjYsMjYyICsyNDg1LDM3NiBAQAogIkdJVF9JTkRFWF9WRVJTSU9O7J20IOyEpOygleuQmOyXiOyngOunjCwg7J20IOqwkuydtCDsnpjrqrvrkJjsl4jsirXri4jri6QuXG4iCiAiJWkg67KE7KCE7J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQ0CisjOiByZWFkLWNhY2hlLmM6MjMwOCBidWlsdGluL21lcmdlLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAiJyVzJ+ydhCjrpbwpIOuLq+ydhCDsiJgg7JeG7Iq164uI64ukIgorCisjOiByZWFkLWNhY2hlLmM6MjM4MyBzZXF1ZW5jZXIuYzoxMzUzIHNlcXVlbmNlci5jOjIwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKK21zZ3N0ciAiJyVzJ+ydhCjrpbwpIHN0YXQoKe2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiByZWFkLWNhY2hlLmM6MjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKK21zZ3N0ciAiZ2l0IOuUlOugie2EsOumrOulvCDsl7Qg7IiYIOyXhuyKteuLiOuLpDogJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyNDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgorbXNnc3RyICLrp4Htgawg7ZW07KCc7ZWgIOyImCDsl4bsirXri4jri6Q6ICVzIgorCisjOiByZWZzLmM6NjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsk7DquLDsmqnsnLzroZwg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODEKKyM6IHJlZnMuYzoxNzY5Cittc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgorbXNnc3RyICLqsqnrpqzrkJwg7ZmY6rK97JeQ7IScIOugiO2NvOufsOyKpCDsl4XrjbDsnbTtirjqsIAg6riI7KeA65Cp64uI64ukIgorCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxNjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAiJXMg66CI7Y2865+w7Iqk66W8IOyCreygnO2VoCDsiJgg7JeG7Iq164uI64ukOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICLroIjtjbzrn7DsiqTrpbwg7IKt7KCc7ZWgIOyImCDsl4bsirXri4jri6Q6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDkzCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxNjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgcmVmZXJlbmNlICVzIgogbXNnc3RyICIlcyDroIjtjbzrn7DsiqTrpbwg7KCc6rGw7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHJlZi1maWx0ZXIuYzo1NgorIzogcmVmLWZpbHRlci5jOjM1IHd0LXN0YXR1cy5jOjE4MTEKK21zZ2lkICJnb25lIgorbXNnc3RyICLsl4bsnYwiCisKKyM6IHJlZi1maWx0ZXIuYzozNgorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCIKK21zZ3N0ciAiJWTqsJwg7JWeIgorCisjOiByZWYtZmlsdGVyLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmVoaW5kICVkIgorbXNnc3RyICIlZOqwnCDrkqQiCisKKyM6IHJlZi1maWx0ZXIuYzozOAorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkIgorbXNnc3RyICIlZOqwnCDslZ4sICVk6rCcIOuSpCIKKworIzogcmVmLWZpbHRlci5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogbXNnc3RyICLsmIjsg4HtlZwg7ZiV7IudOiAlJShjb2xvcjo87IOJPikiCiAKLSM6IHJlZi1maWx0ZXIuYzo1OAorIzogcmVmLWZpbHRlci5jOjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAi7J247Iud7ZWgIOyImCDsl4bripQg7IOJOiAlJShjb2xvcjolcykiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MgorIzogcmVmLWZpbHRlci5jOjEyMQogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0OiAlJSglcykiCi1tc2dzdHIgIuyVjCDsiJgg7JeG64qUIO2YleyLnTogJSUoJXMpIgorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpsc3RyaXA9JXMiCittc2dzdHIgIuygleyImCDqsJLsnbQg7JmA7JW8IO2VqeuLiOuLpCByZWZuYW1lOmxzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjc4CisjOiByZWYtZmlsdGVyLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCittc2dzdHIgIuygleyImCDqsJLsnbQg7JmA7JW8IO2VqeuLiOuLpCByZWZuYW1lOnJzdHJpcD0lcyIKKworIzogcmVmLWZpbHRlci5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi7J247Iud7ZWgIOyImCDsl4bripQgJSUoJXMpIOyduOyekDogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkp7JeQIOyduOyekOulvCDrsJvsp4Ag7JWK7Iq164uI64ukIgogCi0jOiByZWYtZmlsdGVyLmM6ODUKKyM6IHJlZi1maWx0ZXIuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKHN1YmplY3Qp7JeQIOyduOyekOulvCDrsJvsp4Ag7JWK7Iq164uI64ukIgogCi0jOiByZWYtZmlsdGVyLmM6OTIKKyM6IHJlZi1maWx0ZXIuYzoxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUodHJhaWxlcnMpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJSh0cmFpbGVycynsl5Ag7J247J6Q66W8IOuwm+yngCDslYrsirXri4jri6QiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTEKKyM6IHJlZi1maWx0ZXIuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCiBtc2dzdHIgIidjb250ZW50czpsaW5lcz0lcyfsl5DshJwgMOuztOuLpCDtgbAg6rCS7J20IOyZgOyVvCDtlanri4jri6QiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTMKKyM6IHJlZi1maWx0ZXIuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUICUlKGNvbnRlbnRzKSDsnbjsnpA6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTIzCisjOiByZWYtZmlsdGVyLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIG9iamVjdG5hbWU6c2hvcnQ9JXMiCittc2dzdHIgIidjb250ZW50czpzaG9ydD0lcyfsl5DshJwgMOuztOuLpCDtgbAg6rCS7J20IOyZgOyVvCDtlanri4jri6QiCisKKyM6IHJlZi1maWx0ZXIuYzoyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKG9iamVjdG5hbWUpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQgJSUob2JqZWN0bmFtZSkg7J247J6QOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0NQorIzogcmVmLWZpbHRlci5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiBtc2dzdHIgIuyYiOyDge2VnCDtmJXsi506ICUlKGFsaWduOjzrhIjruYQ+LDzsnITsuZg+KSIKIAotIzogcmVmLWZpbHRlci5jOjE1NworIzogcmVmLWZpbHRlci5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgcG9zaXRpb246JXMiCiBtc2dzdHIgIuyduOyLne2VoCDsiJgg7JeG64qUIOychOy5mDolcyIKIAotIzogcmVmLWZpbHRlci5jOjE2MQorIzogcmVmLWZpbHRlci5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCiBtc2dzdHIgIuyduOyLne2VoCDsiJgg7JeG64qUIOuEiOu5hDolcyIKIAotIzogcmVmLWZpbHRlci5jOjE2NworIzogcmVmLWZpbHRlci5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi7J247Iud7ZWgIOyImCDsl4bripQgJSUoYWxpZ24pIOyduOyekDolcyIKIAotIzogcmVmLWZpbHRlci5jOjE3MQorIzogcmVmLWZpbHRlci5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB3aWR0aCBleHBlY3RlZCB3aXRoIHRoZSAlJShhbGlnbikgYXRvbSIKIG1zZ3N0ciAiJSUoYWxpZ24pIOyVhO2GsOyXkCDrhIjruYTqsIAgMOuztOuLpCDsu6Tslbwg7ZWp64uI64ukIgogCi0jOiByZWYtZmlsdGVyLmM6MjU1CisjOiByZWYtZmlsdGVyLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLsnbjsi53tlaAg7IiYIOyXhuuKlCAlJShpZikg7J247J6QOiAlcyIKKworIzogcmVmLWZpbHRlci5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAi7J6Y66q765CcIO2YleyLneydmCDtlYTrk5wg7J2066aEOiAlLipzIgogCi0jOiByZWYtZmlsdGVyLmM6MjgxCisjOiByZWYtZmlsdGVyLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg7ZWE65OcIOydtOumhDogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjM4MworIzogcmVmLWZpbHRlci5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCittc2dzdHIgIu2YleyLnTogJSUoaWYpIOyVhO2GsOydtCAlJSh0aGVuKSDslYTthrAg7JeG7J20IOyCrOyaqeuQmOyXiOyKteuLiOuLpCIKKworIzogcmVmLWZpbHRlci5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgorbXNnc3RyICLtmJXsi506ICUlKHRoZW4pIOyVhO2GsOydtCAlJShpZikg7JWE7YawIOyXhuydtCDsgqzsmqnrkJjsl4jsirXri4jri6QiCisKKyM6IHJlZi1maWx0ZXIuYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIu2YleyLnTogJSUodGhlbikg7JWE7Yaw7J20IOyXrOufrOuyiCDsgqzsmqnrkJjsl4jsirXri4jri6QiCisKKyM6IHJlZi1maWx0ZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCittc2dzdHIgIu2YleyLnTogJSUodGhlbikg7JWE7Yaw7J20ICUlKGVsc2UpIOuSpOyXkCDsgqzsmqnrkJjsl4jsirXri4jri6QiCisKKyM6IHJlZi1maWx0ZXIuYzo1OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAi7ZiV7IudOiAlJShlbHNlKSDslYTthrDsnbQgJSUoaWYpIOyVhO2GsCDsl4bsnbQg7IKs7Jqp65CY7JeI7Iq164uI64ukIgorCisjOiByZWYtZmlsdGVyLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICLtmJXsi506ICUlKGVsc2UpIOyVhO2GsOydtCAlJSh0aGVuKSDslYTthrAg7JeG7J20IOyCrOyaqeuQmOyXiOyKteuLiOuLpCIKKworIzogcmVmLWZpbHRlci5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi7ZiV7IudOiAlJShlbHNlKSDslYTthrDsnbQg7Jes65+s67KIIOyCrOyaqeuQmOyXiOyKteuLiOuLpCIKKworIzogcmVmLWZpbHRlci5jOjYxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSB1c2VkIHdpdGhvdXQgY29ycmVzcG9uZGluZyBhdG9tIgogbXNnc3RyICLtmJXsi506ICUlKGVuZCkg7JWE7Yaw7J20IOuMgOydkeuQmOuKlCDslYTthrAg7JeG7J20IOyCrOyaqeuQmOyXiOyKteuLiOuLpCIKIAotIzogcmVmLWZpbHRlci5jOjQzNQorIzogcmVmLWZpbHRlci5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIO2YleyLneydmCDrrLjsnpDsl7QgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo4OTgKLW1zZ2lkICI6c3RyaXA9IHJlcXVpcmVzIGEgcG9zaXRpdmUgaW50ZWdlciBhcmd1bWVudCIKLW1zZ3N0ciAiOnN0cmlwPSDrqoXroLnsl5DripQgMOuztOuLpCDtgbAg7KCV7IiYIOyduOyekOqwgCDtlYTsmpTtlanri4jri6QiCi0KLSM6IHJlZi1maWx0ZXIuYzo5MDMKKyM6IHJlZi1maWx0ZXIuYzoxMjU0CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZiAnJXMnIGRvZXMgbm90IGhhdmUgJWxkIGNvbXBvbmVudHMgdG8gOnN0cmlwIgotbXNnc3RyICInJXMnIOugiO2NvOufsOyKpOyXkCA6c3RyaXDtlaAg6rWs7ISxIOyalOyGjCAlbGTqsJzqsIAg7JeG7Iq164uI64ukIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKOu4jOuenOy5mCDsl4bsnYwsICVzIOumrOuyoOydtOyKpCkiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDY2CisjOiByZWYtZmlsdGVyLmM6MTI1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgotbXNnc3RyICLslYwg7IiYIOyXhuuKlCAlLipzIO2YleyLnSAlcyIKK21zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCittc2dzdHIgIijruIzrnpzsuZgg7JeG7J2MLCDsnbTrk7HrtoQgJXPsl5DshJwg7Iuc7J6RKSIKIAotIzogcmVmLWZpbHRlci5jOjEwODYgcmVmLWZpbHRlci5jOjExMTcKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCisjLgorIzogcmVmLWZpbHRlci5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgorbXNnc3RyICIoSEVBRCAlcyDsnITsuZjsl5DshJwg67aE66as65CoKSIKKworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYworIy4KKyM6IHJlZi1maWx0ZXIuYzoxMjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgorbXNnc3RyICIoSEVBRCAlcyjsnLwp66Gc67aA7YSwIOu2hOumrOuQqCkiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjc2Cittc2dpZCAiKG5vIGJyYW5jaCkiCittc2dzdHIgIijruIzrnpzsuZgg7JeG7J2MKSIKKworIzogcmVmLWZpbHRlci5jOjE0MjYgcmVmLWZpbHRlci5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIgogbXNnc3RyICLsl4bripQg7Jik67iM7KCd7Yq4ICVzLCAlc+yXkCDrjIDtlbQiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDg5IHJlZi1maWx0ZXIuYzoxMTIwCisjOiByZWYtZmlsdGVyLmM6MTQyOSByZWYtZmlsdGVyLmM6MTQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgIiVz7JeQIHBhcnNlX29iamVjdF9idWZmZXIg7Iuk7YyoICglc+yXkCDrjIDtlbQpIgogCi0jOiByZWYtZmlsdGVyLmM6MTM0MworIzogcmVmLWZpbHRlci5jOjE3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICInJXMn7JeQIOyemOuqu+uQnCDtmJXsi53snZgg7Jik67iM7KCd7Yq4IgogCi0jOiByZWYtZmlsdGVyLmM6MTQxMAorIzogcmVmLWZpbHRlci5jOjE4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgcmVmIHdpdGggYnJva2VuIG5hbWUgJXMiCiBtc2dzdHIgIuunneqwgOynhCDsnbTrpoQgJXPsl5Ag66CI7Y2865+w7Iqk66W8IOustOyLnO2VqeuLiOuLpCIKIAotIzogcmVmLWZpbHRlci5jOjE0MTUKKyM6IHJlZi1maWx0ZXIuYzoxODMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgIuunneqwgOynhCDroIjtjbzrn7DsiqQgJXMg66y07IucIgogCi0jOiByZWYtZmlsdGVyLmM6MTY3MAorIzogcmVmLWZpbHRlci5jOjIwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAi7ZiV7IudOiAlJShlbmQpIOyVhO2GsOydtCDsl4bsirXri4jri6QiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzM0CisjOiByZWYtZmlsdGVyLmM6MjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDtmJXsi53snZgg7Jik67iM7KCd7Yq4IOydtOumhCAlcyIKIAotIzogcmVtb3RlLmM6NzU0CisjOiByZW1vdGUuYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICIlcyDrsI8gJXPsnYQo66W8KSDrqqjrkZAgJXPsl5Ag6rCA7KC47JisIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHJlbW90ZS5jOjc1OAorIzogcmVtb3RlLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCiBtc2dzdHIgIiVz7J2AKOuKlCkg67O07Ya1ICVz7J2EKOulvCkg7LaU7KCB7ZWY6rOgLCAlc+ydhCjrpbwpIOy2lOygge2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IHJlbW90ZS5jOjc2MgorIzogcmVtb3RlLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKIG1zZ3N0ciAiJXPsnYAo64qUKSAlcyDrsI8gJXMg66qo65GQIOy2lOygge2VqeuLiOuLpCIKIAotIzogcmVtb3RlLmM6NzcwCisjOiByZW1vdGUuYzo3NjMKIG1zZ2lkICJJbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAi64K067aAIOyYpOulmCIKIAotIzogcmVtb3RlLmM6MTY4NSByZW1vdGUuYzoxNzg3CisjOiByZW1vdGUuYzoxNjgwIHJlbW90ZS5jOjE3ODIKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFE6rCAIOu4jOuenOy5mOulvCDqsIDrpqztgqTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiByZW1vdGUuYzoxNjk0CisjOiByZW1vdGUuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICLqt7jrn7Ag67iM656c7LmY6rCAIOyXhuyKteuLiOuLpDogJyVzJyIKIAotIzogcmVtb3RlLmM6MTY5NworIzogcmVtb3RlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjsl5Ag64yA7ZW0IOyXheyKpO2KuOumvOydhCDshKTsoJXtlZjsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiByZW1vdGUuYzoxNzAzCisjOiByZW1vdGUuYzoxNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLsl4XsiqTtirjrprwgJyVzJyDruIzrnpzsuZjqsIAg66as66qo7Yq4IOy2lOyggSDruIzrnpzsuZjroZwg7KCA7J6l65CY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogcmVtb3RlLmM6MTcxOAorIzogcmVtb3RlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAi66as66qo7Yq4ICclMiRzJ+ydmCDtkbjsi5wg64yA7IOBICclMSRzJ+yXkCDroZzsu6wg7LaU7KCBIOu4jOuenOy5mOqwgCDsl4bsirXri4jri6QiCiAKLSM6IHJlbW90ZS5jOjE3MzAKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjsl5Ag7ZG47IucIOumrOuqqO2KuOqwgCDsl4bsirXri4jri6QiCiAKLSM6IHJlbW90ZS5jOjE3NDEKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICInJXMn7JeQIOuMgO2VnCDtkbjsi5wg66CI7Y2865+w7Iqk66qF7IS47JeQICclcyfsnbQo6rCAKSDrk6TslrQg7J6I7KeAIOyViuyKteuLiOuLpCIKIAotIzogcmVtb3RlLmM6MTc1NAorIzogcmVtb3RlLmM6MTc0OQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKIG1zZ3N0ciAi7ZG47Iuc7J2YIOuMgOyDgeydtCDsl4bsirXri4jri6QgKHB1c2guZGVmYXVsdOqwgCAnbm90aGluZyfsnoXri4jri6QpIgogCi0jOiByZW1vdGUuYzoxNzc2CisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAi7ZWY64KY7J2YIOuMgOyDgeyXkCDrjIDtlbQgJ3NpbXBsZScg7ZG47Iuc66W8IOyymOumrO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiByZW1vdGUuYzoyMDgxCisjOiByZW1vdGUuYzoyMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOqwgCAnJXMnIOq4sOuwmOydtOyngOunjCwg7JeF7Iqk7Yq466a87J20IOyXhuyWtOyhjOyKteuLiOuLpC5cbiIKIAotIzogcmVtb3RlLmM6MjA4NQorIzogcmVtb3RlLmM6MjA4MAogbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgogbXNnc3RyICIgICjrsJTroZzsnqHsnLzroKTrqbQgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIuydhCDsgqzsmqntlZjsi63si5zsmKQpXG4iCiAKLSM6IHJlbW90ZS5jOjIwODgKKyM6IHJlbW90ZS5jOjIwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIuu4jOuenOy5mOqwgCAnJXMn7JeQIOunnuqyjCDsl4XrjbDsnbTtirjrkJwg7IOB7YOc7J6F64uI64ukLlxuIgogCi0jOiByZW1vdGUuYzoyMDkyCisjOiByZW1vdGUuYzoyMDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIuu4jOuenOy5mOqwgCAnJXMn67O064ukICVk6rCcIOy7pOuwi+unjO2BvCDslZ7sl5Ag7J6I7Iq164uI64ukLlxuIgogCi0jOiByZW1vdGUuYzoyMDk4CisjOiByZW1vdGUuYzoyMDkzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAo66Gc7Lus7JeQIOyeiOuKlCDsu6TrsIvsnYQg7KCc7Lac7ZWY66Ck66m0IFwiZ2l0IHB1c2hcIuulvCDsgqzsmqntlZjsi63si5zsmKQpXG4iCiAKLSM6IHJlbW90ZS5jOjIxMDEKKyM6IHJlbW90ZS5jOjIwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCiAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0cywgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ3N0clswXSAi67iM656c7LmY6rCAICclcyfrs7Tri6QgJWTqsJwg7Luk67CLIOuSpOyXkCDsnojqs6AsIOyVnuycvOuhnCDrj4zrprQg7IiYIOyeiOyKteuLiOuLpC5cbiIKIAotIzogcmVtb3RlLmM6MjEwOQorIzogcmVtb3RlLmM6MjEwNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgICjroZzsu6wg67iM656c7LmY66W8IOyXheuNsOydtO2KuO2VmOugpOuptCBcImdpdCBwdWxsXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKVxuIgogCi0jOiByZW1vdGUuYzoyMTEyCisjOiByZW1vdGUuYzoyMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMjU5Myw3NCArMjg2Niw3OSBAQAogIu2YhOyerCDruIzrnpzsuZjsmYAgJyVzJ+ydtCjqsIApIOqwiOudvOyhjOyKteuLiOuLpCxcbiIKICLri6Trpbgg7Luk67CL7J20IOqwgeqwgSAlZOqwnOyZgCAlZOqwnCDsnojsirXri4jri6QuXG4iCiAKLSM6IHJlbW90ZS5jOjIxMjIKKyM6IHJlbW90ZS5jOjIxMTcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKICIgICjrpqzrqqjtirjsnZgg67iM656c7LmY66W8IO2YhOyerCDruIzrnpzsuZjroZwg67OR7ZWp7ZWY66Ck66m0IFwiZ2l0IHB1bGxcIuydhCDsgqzsmqntlZjsi63si5zsmKQpXG4iCiAKLSM6IHJldmlzaW9uLmM6MjE1OAorIzogcmV2aXNpb24uYzoyMTg3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOqwgCDrp53qsIDsp4Qg6rKD7LKY65+8IOuztOyeheuLiOuLpCIKIAotIzogcmV2aXNpb24uYzoyMTYxCisjOiByZXZpc2lvbi5jOjIxOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICLtmITsnqwgJyVzJyDruIzrnpzsuZjsl5Ag7JWE7KeBIOyVhOustCDsu6TrsIvrj4Qg7JeG7Iq164uI64ukIgogCi0jOiByZXZpc2lvbi5jOjIzNTUKKyM6IHJldmlzaW9uLmM6MjM4NAogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICItLWZpcnN0LXBhcmVudCDsmLXshZjsnYAgLS1iaXNlY3Qg7Ji17IWY6rO8IO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTI1CisjOiBydW4tY29tbWFuZC5jOjY0NAogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAiL2Rldi9udWxsIOyXtOq4sCDsi6TtjKgiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTI3CisjOiBzZW5kLXBhY2suYzoxNTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgotbXNnc3RyICJkdXAyKCVkLCVkKSDsi6TtjKgiCittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKK21zZ3N0ciAi66as66qo7Yq4IOustuydjCDtkoDquLAg7IOB7YOc66W8IO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukOiAlcyIKIAotIzogc2VuZC1wYWNrLmM6Mjk3CisjOiBzZW5kLXBhY2suYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgorbXNnc3RyICLrpqzrqqjtirgg66y27J2MIO2SgOq4sCDsi6TtjKg6ICVzIgorCisjOiBzZW5kLXBhY2suYzozMTYKIG1zZ2lkICJmYWlsZWQgdG8gc2lnbiB0aGUgcHVzaCBjZXJ0aWZpY2F0ZSIKIG1zZ3N0ciAi7ZG47IucIOyduOymneyEnCDshJzrqoXsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBzZW5kLXBhY2suYzo0MTAKKyM6IHNlbmQtcGFjay5jOjQyOQogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAi67Cb64qUIOyqveyXkOyEnCAtLXNpZ25lZCDtkbjsi5zrpbwg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogc2VuZC1wYWNrLmM6NDEyCisjOiBzZW5kLXBhY2suYzo0MzEKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCiBtc2dzdHIgIiIKICLrsJvripQg7Kq97JeQ7IScIC0tc2lnbmVkIO2RuOyLnOulvCDsp4Dsm5DtlZjsp4Ag7JWK7Jy866+A66GcIO2RuOyLnCDsnbjspp3shJzrpbwg67O064K07KeAIOyViuyKteuLiOuLpCIKIAotIzogc2VuZC1wYWNrLmM6NDI0CisjOiBzZW5kLXBhY2suYzo0NDMKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgIuuwm+uKlCDsqr3sl5DshJwgLS1hdG9taWMg7ZG47Iuc66W8IOyngOybkO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IHNlbmQtcGFjay5jOjQyOQorIzogc2VuZC1wYWNrLmM6NDQ4CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCiBtc2dzdHIgIuuwm+uKlCDsqr3sl5DshJwg7ZG47IucIOyYteyFmOydhCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTUKKyM6IHNlcXVlbmNlci5jOjIxNgogbXNnaWQgInJldmVydCIKIG1zZ3N0ciAicmV2ZXJ0IgogCi0jOiBzZXF1ZW5jZXIuYzoyMTcKKyM6IHNlcXVlbmNlci5jOjIxOAogbXNnaWQgImNoZXJyeS1waWNrIgogbXNnc3RyICJjaGVycnktcGljayIKIAotIzogc2VxdWVuY2VyLmM6MjE5CisjOiBzZXF1ZW5jZXIuYzoyMjAKIG1zZ2lkICJyZWJhc2UgLWkiCiBtc2dzdHIgInJlYmFzZSAtaSIKIAotIzogc2VxdWVuY2VyLmM6MjIxCisjOiBzZXF1ZW5jZXIuYzoyMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhY3Rpb246ICVkIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCDrj5nsnpE6ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzgKKyM6IHNlcXVlbmNlci5jOjI3OQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtMjY2OCw3ICsyOTQ2LDcgQEAKICLsnbQg7Lap64+M7J2EIO2VtOqysO2VnCDrkqTsl5AsIOuwlOuhnOyeoeydgCDqsr3roZzrpbxcbiIKICInZ2l0IGFkZCA86rK966GcPicg65iQ64qUICdnaXQgcm0gPOqyveuhnD4n66GcIO2RnOyLnO2VmOyLreyLnOyYpCIKIAotIzogc2VxdWVuY2VyLmM6MjgxCisjOiBzZXF1ZW5jZXIuYzoyODIKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtMjY3OCw2MyArMjk1Niw2MyBAQAogIidnaXQgYWRkIDzqsr3roZw+JyDrmJDripQgJ2dpdCBybSA86rK966GcPifroZwg7ZGc7Iuc7ZWY7Iut7Iuc7JikLlxuIgogIuq3uOumrOqzoCDqsrDqs7zrrLzsnYQgJ2dpdCBjb21taXQn7Jy866GcIOy7pOuwi+2VmOyLreyLnOyYpCIKIAotIzogc2VxdWVuY2VyLmM6Mjk0IHNlcXVlbmNlci5jOjE2NjcKKyM6IHNlcXVlbmNlci5jOjI5NSBzZXF1ZW5jZXIuYzoxNjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsnqDquIAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6Mjk3IHNlcXVlbmNlci5jOjE1NDUgc2VxdWVuY2VyLmM6MTY3MiBzZXF1ZW5jZXIuYzoxNjg2CisjOiBzZXF1ZW5jZXIuYzoyOTggc2VxdWVuY2VyLmM6MTU2MyBzZXF1ZW5jZXIuYzoxNjkwIHNlcXVlbmNlci5jOjE3MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCiBtc2dzdHIgIiclcyfsl5Ag7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjMwMQorIzogc2VxdWVuY2VyLmM6MzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDspITrsJTqv4jsnYQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjMwNSBzZXF1ZW5jZXIuYzoxNTUwIHNlcXVlbmNlci5jOjE2NzQKKyM6IHNlcXVlbmNlci5jOjMwNiBzZXF1ZW5jZXIuYzoxNTY4IHNlcXVlbmNlci5jOjE2OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcycuIgogbXNnc3RyICInJXMnIOuniOy5mOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBzZXF1ZW5jZXIuYzozMjkgc2VxdWVuY2VyLmM6ODA4IHNlcXVlbmNlci5jOjE1NzEgYnVpbHRpbi9hbS5jOjI1OQotIzogYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwMzYKKyM6IHNlcXVlbmNlci5jOjMzMCBzZXF1ZW5jZXIuYzo4MTcgc2VxdWVuY2VyLmM6MTU4OSBidWlsdGluL2FtLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjc1MCBidWlsdGluL21lcmdlLmM6MTAxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICInJXMn7JeQ7IScIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzozNTUKKyM6IHNlcXVlbmNlci5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICLroZzsu6wg67OA6rK9IOyCrO2VreydhCAlcyDrlYzrrLjsl5Ag642u7Ja0IOyTsOqyjCDrkKnri4jri6QuIgogCi0jOiBzZXF1ZW5jZXIuYzozNTkKKyM6IHNlcXVlbmNlci5jOjM2MAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAi67OA6rK9IOyCrO2VreydhCDsu6TrsIvtlZjqsbDrgpgg7Iqk7YOc7Iuc7ZWcIOuLpOydjCDqs4Tsho3tlZjsi63si5zsmKQuIgogCi0jOiBzZXF1ZW5jZXIuYzozODgKKyM6IHNlcXVlbmNlci5jOjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmFzdC1mb3J3YXJkIgogbXNnc3RyICIlczog7KCV67Cp7ZalIOynhO2WiSIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIsICJjaGVycnktcGljayIgb3IKLSMuICogInJlYmFzZSAtaSIuCisjLiAicmViYXNlIC1pIi4KICMuCi0jOiBzZXF1ZW5jZXIuYzo0NzAKKyM6IHNlcXVlbmNlci5jOjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczog7IOIIOyduOuNseyKpCDtjIzsnbzsnYQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjQ4OQorIzogc2VxdWVuY2VyLmM6NDkxCiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKIG1zZ3N0ciAiSEVBRCDsu6TrsIvsnYQg7LKY66as7ZWgIOyImCDsl4bsirXri4jri6RcbiIKIAotIzogc2VxdWVuY2VyLmM6NTA5CisjOiBzZXF1ZW5jZXIuYzo1MTEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAi7LqQ7IucIO2KuOumrOulvCDsl4XrjbDsnbTtirjtlaAg7IiYIOyXhuyKteuLiOuLpFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTIKKyM6IHNlcXVlbmNlci5jOjU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKQEAgLTI3NjQsMTcgKzMwNDIsMTcgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo2ODgKKyM6IHNlcXVlbmNlci5jOjY5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgIiVzIOy7pOuwi+ydhCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo2OTMKKyM6IHNlcXVlbmNlci5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICIlcyDsnbTsoIQg7Luk67CL7J2EIO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukXG4iCiAKLSM6IHNlcXVlbmNlci5jOjgxNQorIzogc2VxdWVuY2VyLmM6ODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmV4cGVjdGVkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjc4NSw3ICszMDYzLDcgQEAKICJcbiIKICJcdCUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjgyMQorIzogc2VxdWVuY2VyLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbnZhbGlkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjc5NiwyMzAgKzMwNzQsMjMwIEBACiAiXG4iCiAiXHQlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo4Mjcgc2VxdWVuY2VyLmM6ODUyCisjOiBzZXF1ZW5jZXIuYzo4MzYgc2VxdWVuY2VyLmM6ODYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKIG1zZ3N0ciAi7Luk67CLICVk6rCc6rCAIOyEnuyduCDqsrDqs7zsnoXri4jri6QuIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzYKKyM6IHNlcXVlbmNlci5jOjg0NQogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICLrsJTroZzsnqHsnLzroKTrqbQgSEVBROqwgCDtlYTsmpTtlanri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjgzOAorIzogc2VxdWVuY2VyLmM6ODQ3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiSEVBROulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6ODQwCisjOiBzZXF1ZW5jZXIuYzo4NDkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIkhFQUTsnZgg7Luk67CLIOuplOyLnOyngOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6ODQ2CisjOiBzZXF1ZW5jZXIuYzo4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6ODU1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQorIzogc2VxdWVuY2VyLmM6ODY0IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQogbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCiBtc2dzdHIgIjHrsojsp7gg7Luk67CLIOuplOyLnOyngOyeheuLiOuLpDoiCiAKLSM6IHNlcXVlbmNlci5jOjg2MworIzogc2VxdWVuY2VyLmM6ODcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICIlc+ydmCDsu6TrsIsg66mU7Iuc7KeA66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzAKKyM6IHNlcXVlbmNlci5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICLsu6TrsIsg66mU7Iuc7KeAICMlZOuyiOyeheuLiOuLpDoiCiAKLSM6IHNlcXVlbmNlci5jOjg3NQorIzogc2VxdWVuY2VyLmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJWQgd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAi7Luk67CLIOuplOyLnOyngCAjJWTrsojsnYQg6rG064SI65yB64uI64ukOiIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg66qF66C5OiAlZCIKIAotIzogc2VxdWVuY2VyLmM6OTQ2CisjOiBzZXF1ZW5jZXIuYzo5NTUKIG1zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICLsnbjrjbHsiqQg7YyM7J287J20IOuzke2VqeuQmOyngCDslYrslZjsirXri4jri6QuIgogCi0jOiBzZXF1ZW5jZXIuYzo5NjQKKyM6IHNlcXVlbmNlci5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgIiVzIOy7pOuwi+ydgCDrs5HtlansnbTsp4Drp4wgLW0g7Ji17IWY7J20IOyjvOyWtOyngOyngCDslYrslZjsirXri4jri6QuIgogCiAjIEZJWE1FOiAicGFyZW50ICVkIiDrsojtmLjqsIAg66y07IqoIOydmOuvuD8KLSM6IHNlcXVlbmNlci5jOjk3MgorIzogc2VxdWVuY2VyLmM6OTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAiJXMg7Luk67CL7JeQIOydtOyghCDsu6TrsIsgJWTsnbQo6rCAKSDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjk3NgorIzogc2VxdWVuY2VyLmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCiBtc2dzdHIgIuuplOyduOudvOyduOydhCDsp4DsoJXtlojsp4Drp4wgJXMg7Luk67CL7J20IOuzke2VqSDsu6TrsIvsnbQg7JWE64uZ64uI64ukLiIKIAotIzogc2VxdWVuY2VyLmM6OTgyCisjOiBzZXF1ZW5jZXIuYzo5OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIiVz7JeQIOuMgO2VnCDsu6TrsIsg66mU7Iuc7KeA66W8IOqwgOyguOyYrCDsiJgg7JeG7Iq164uI64ukIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCiAjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgotIzogc2VxdWVuY2VyLmM6MTAwMQorIzogc2VxdWVuY2VyLmM6MTAxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiAlcyDsnbTsoIQg7Luk67CL7J2EIO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDYzIHNlcXVlbmNlci5jOjE4MTIKKyM6IHNlcXVlbmNlci5jOjEwNzUgc2VxdWVuY2VyLmM6MTgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVuYW1lICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCAnJXMnKOycvCnroZwg7J2066aE7J2EIOuwlOq/gCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE0CisjOiBzZXF1ZW5jZXIuYzoxMTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgIuuLpOydjOydhCDrkJjrj4zrprQocmV2ZXJ0KSDsiJgg7JeG7Iq164uI64ukOiAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTExNQorIzogc2VxdWVuY2VyLmM6MTEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIuuLpOydjOydhCDsoIHsmqntlaAoYXBwbHkpIOyImCDsl4bsirXri4jri6Q6ICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTU3CisjOiBzZXF1ZW5jZXIuYzoxMTY5CiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgIuu5iCDsu6TrsIsg66qo7J2M7J2EIOqxtOuEiCDrnIHri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjExNjcKKyM6IHNlcXVlbmNlci5jOjExNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczog7J24642x7IqkIOydveq4sOyXkCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjExNzQKKyM6IHNlcXVlbmNlci5jOjExODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczog7J24642x7IqkIOyDiOuhnCDqs6Dsuajsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjk0CisjOiBzZXF1ZW5jZXIuYzoxMzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAi7J6Y66q765CcIOykhCAlZDogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6MTMwMgorIzogc2VxdWVuY2VyLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJyVzJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLsnbTsoIQg7Luk67CLIOyXhuydtCAnJXMnIOyImO2Wie2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzM0CisjOiBzZXF1ZW5jZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgogbXNnc3RyICInJXMn7JeQ7IScIOydveydhCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogc2VxdWVuY2VyLmM6MTM0MQorIzogc2VxdWVuY2VyLmM6MTM1OQogbXNnaWQgInBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogbXNnc3RyICInZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycg66qF66C57Jy866GcIOuwlOuhnOyeoeycvOyLreyLnOyYpC4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNDMKKyM6IHNlcXVlbmNlci5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCiBtc2dzdHIgIuyCrOyaqSDrtojqsIDriqUg7J247Iqk7Yq465+t7IWYIOyLnO2KuDogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTM0OAorIzogc2VxdWVuY2VyLmM6MTM2NgogbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAi7YyM7Iux7ZWcIOy7pOuwi+ydtCDsl4bsirXri4jri6QuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzU5CisjOiBzZXF1ZW5jZXIuYzoxMzc3CiBtc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCiBtc2dzdHIgIuuQmOuPjOumrOq4sChyZXZlcnQpIOykkeyXkCDrubzsmKTquLAoY2hlcnJ5LXBpY2sp66W8IO2VoCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogc2VxdWVuY2VyLmM6MTM2MQorIzogc2VxdWVuY2VyLmM6MTM3OQogbXNnaWQgImNhbm5vdCByZXZlcnQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICLrubzsmKTquLAoY2hlcnJ5LXBpY2spIOykkeyXkCDrkJjrj4zrpqzquLAocmV2ZXJ0KeulvCDtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IHNlcXVlbmNlci5jOjE0MjQKKyM6IHNlcXVlbmNlci5jOjE0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICLsnpjrqrvrkJwg7YKkOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQyNworIzogc2VxdWVuY2VyLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIiVz7J2YIOqwkuydtCDsnpjrqrvrkKg6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDg0CisjOiBzZXF1ZW5jZXIuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgogbXNnc3RyICLtmJXsi53snbQg7J6Y66q765CcIOyYteyFmCDsi5ztirg6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE1MjIKKyM6IHNlcXVlbmNlci5jOjE1NDAKIG1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICLsnbTrr7gg7Luk67CLIOu5vOyYpOq4sChjaGVycnktcGljaykg65iQ64qUIOuQmOuPjOumrOq4sChyZXZlcnQp6rCAIOynhO2WiSDspJHsnoXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjE1MjMKKyM6IHNlcXVlbmNlci5jOjE1NDEKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIg66qF66C57J2EIO2VtCDrs7Tsi63si5zsmKQiCiAKLSM6IHNlcXVlbmNlci5jOjE1MjYKKyM6IHNlcXVlbmNlci5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiclcycg7Iuc7YCA7IScIOuUlOugie2EsOumrOulvCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6MTU0MAorIzogc2VxdWVuY2VyLmM6MTU1OAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgIkhFQUTrpbwg7J6g6riAIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTYgc2VxdWVuY2VyLmM6MjE1MAorIzogc2VxdWVuY2VyLmM6MTYxNCBzZXF1ZW5jZXIuYzoyMTg4CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICLrubzsmKTquLAoY2hlcnJ5LXBpY2spIOuYkOuKlCDrkJjrj4zrpqzquLAocmV2ZXJ0KeqwgCDsp4Ttlokg7KSR7J207KeAIOyViuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6MTU5OAorIzogc2VxdWVuY2VyLmM6MTYxNgogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgIkhFQUTrpbwg6rWs7ZW0IOyYrCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjAwIHNlcXVlbmNlci5jOjE2MzQKKyM6IHNlcXVlbmNlci5jOjE2MTggc2VxdWVuY2VyLmM6MTY1MgogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICLsg4jroZwg66eM65Ok6rOgIOyeiOuKlCDruIzrnpzsuZjsl5DshJwg7KSR7KeA7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjAgYnVpbHRpbi9ncmVwLmM6OTA0CisjOiBzZXF1ZW5jZXIuYzoxNjM4IGJ1aWx0aW4vZ3JlcC5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICInJXMn7J2EKOulvCkg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjIKKyM6IHNlcXVlbmNlci5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsnb3snYQg7IiYIOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjMKKyM6IHNlcXVlbmNlci5jOjE2NDEKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICLsmIjsg4HsuZgg66q77ZWY6rKMIO2MjOydvOydtCDrgZ3rgqzsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjkKKyM6IHNlcXVlbmNlci5jOjE2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICLrubzsmKTquLAg7KCE7JeQIOyggOyepe2VnCBIRUFEIO2MjOydvOydtCgnJXMnKSDshpDsg4HrkJjsl4jsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjE2NDAKKyM6IHNlcXVlbmNlci5jOjE2NTgKIG1zZ2lkICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQuIE5vdCByZXdpbmRpbmcsIGNoZWNrIHlvdXIgSEVBRCEiCiBtc2dzdHIgIkhFQUTrpbwg7Jiu6ri0IOqygyDqsJnsirXri4jri6QuIOuQmOuPjOumrOyngCDslYrsirXri4jri6QuIEhFQUTrpbwg7ZmV7J247ZWY7Iut7Iuc7JikISIKIAotIzogc2VxdWVuY2VyLmM6MTc3NyBzZXF1ZW5jZXIuYzoyMDQ5CisjOiBzZXF1ZW5jZXIuYzoxNzk1IHNlcXVlbmNlci5jOjIwODYKIG1zZ2lkICJjYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJIRUFE66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxODE3IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NzQKKyM6IHNlcXVlbmNlci5jOjE4MzUgYnVpbHRpbi9kaWZmdG9vbC5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiclcyfsl5DshJwgJyVzJyjsnLwp66GcIOuzteyCrO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMzCisjOiBzZXF1ZW5jZXIuYzoxODUxCiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIuyduOuNseyKpOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6MTgzOAorIzogc2VxdWVuY2VyLmM6MTg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKQEAgLTMwMzQsMTEgKzMzMTIsMTEgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxODQ0CisjOiBzZXF1ZW5jZXIuYzoxODYyCiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKIG1zZ3N0ciAi6re466as6rOgIOyduOuNseyKpCDqt7jrpqzqs6Av65iQ64qUIOyekeyXhSDtj7TrjZTsl5Ag67OA6rK9IOyCrO2VreydtCDsnojsirXri4jri6RcbiIKIAotIzogc2VxdWVuY2VyLmM6MTg1MAorIzogc2VxdWVuY2VyLmM6MTg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKQEAgLTMwNTUsMTcgKzMzMzMsMTcgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTA1IGdpdC1yZWJhc2Uuc2g6MTY4CisjOiBzZXF1ZW5jZXIuYzoxOTI1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKLW1zZ3N0ciAi7J6Q64+Z7Iqk7YOc7IucIOyggeyaqS4iCittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCittc2dzdHIgIuyekOuPmSDsiqTtg5zsi5wg7KCB7JqpLlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE3CisjOiBzZXF1ZW5jZXIuYzoxOTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDsoIDsnqXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6MTkxOSBnaXQtcmViYXNlLnNoOjE3MgorIzogc2VxdWVuY2VyLmM6MTk0MCBnaXQtcmViYXNlLnNoOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKQEAgLTMwNzYsNTcgKzMzNTQsNTcgQEAKICLrs4Dqsr0g7IKs7ZWt7J2AIOyKpO2DnOyLnCDslYjsl5Ag7JWI7KCE7ZWY6rKMIOuTpOyWtCDsnojsirXri4jri6QuXG4iCiAi7Ja47KCc65Og7KeAIFwiZ2l0IHN0YXNoIHBvcFwiIOuYkOuKlCBcImdpdCBzdGFzaCBkcm9wXCLsnYQg7Iuk7ZaJ7ZWgIOyImCDsnojsirXri4jri6QuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjIwMDAKKyM6IHNlcXVlbmNlci5jOjIwMjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAic3RvcHBlZCBhdCAlcy4uLiAlLipzIgotbXNnc3RyICIlcy4uLiUuKnMg7JyE7LmY7JeQ7IScIOupiOy3hOyKteuLiOuLpCIKK21zZ2lkICJTdG9wcGVkIGF0ICVzLi4uICAlLipzXG4iCittc2dzdHIgIiVzLi4uICAlLipzIOychOy5mOyXkOyEnCDrqYjst4TsirXri4jri6RcbiIKIAotIzogc2VxdWVuY2VyLmM6MjAyNworIzogc2VxdWVuY2VyLmM6MjA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgJWQiCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIOuqheuguSAlZCIKIAotIzogc2VxdWVuY2VyLmM6MjA1NworIzogc2VxdWVuY2VyLmM6MjA5NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIG9yaWctaGVhZCIKIG1zZ3N0ciAib3JpZy1oZWFk66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYxCisjOiBzZXF1ZW5jZXIuYzoyMDk5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgogbXNnc3RyICInb250byfrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjIwNjgKKyM6IHNlcXVlbmNlci5jOjIxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDsl4XrjbDsnbTtirjtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6MjA3NQorIzogc2VxdWVuY2VyLmM6MjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCiBtc2dzdHIgIkhFQUTrpbwgJXMg7JyE7LmY66GcIOyXheuNsOydtO2KuO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTU5CisjOiBzZXF1ZW5jZXIuYzoyMTk3CiBtc2dpZCAiY2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIuumrOuyoOydtOyKpO2VoCDsiJgg7JeG7Iq164uI64ukOiDsiqTthYzsnbTsp5XtlZjsp4Ag7JWK7J2AIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukLiIKIAotIzogc2VxdWVuY2VyLmM6MjE2NAorIzogc2VxdWVuY2VyLmM6MjIwMgogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiQ0hFUlJZX1BJQ0tfSEVBROulvCDsoJzqsbDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6MjE3MworIzogc2VxdWVuY2VyLmM6MjIxMQogbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgogbXNnc3RyICLsl4bripQg7Luk67CL7J2EIOyImOygle2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTc1CisjOiBzZXF1ZW5jZXIuYzoyMjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKIG1zZ3N0ciAi7J6Y66q765CcIO2CpDogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjE3NworIzogc2VxdWVuY2VyLmM6MjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbnRlbnRzOiAnJXMnIgogbXNnc3RyICLsnpjrqrvrkJwg64K07JqpOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTgwCisjOiBzZXF1ZW5jZXIuYzoyMjE4CiBtc2dpZCAiIgogIlxuIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKQEAgLTMxMzYsMjUgKzM0MTQsMjUgQEAKICLsnpHsl4Ug7Y+0642U7JeQIOy7pOuwi+2VmOyngCDslYrsnYAg67OA6rK9IOyCrO2VreydtCDsnojsirXri4jri6QuIOydtCDsgqztla3snYQg66i87KCAXG4iCiAi7Luk67CL7ZWY6rOgICdnaXQgcmViYXNlIC0tY29udGludWUnIOuqheugueydhCDri6Tsi5wg7Iuk7ZaJ7ZWY7Iut7Iuc7JikLiIKIAotIzogc2VxdWVuY2VyLmM6MjE5MAorIzogc2VxdWVuY2VyLmM6MjIyOAogbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLsiqTthYzsnbTsp5XtlZwg67OA6rK9IOyCrO2VreydhCDsu6TrsIvtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IHNlcXVlbmNlci5jOjIyNzAKKyM6IHNlcXVlbmNlci5jOjIzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiAlcyDsu6TrsIvsnYQg67m87JisIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjIyNzQKKyM6IHNlcXVlbmNlci5jOjIzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IOyemOuqu+uQnCDrpqzruYTsoIQiCiAKLSM6IHNlcXVlbmNlci5jOjIzMDcKKyM6IHNlcXVlbmNlci5jOjIzNDUKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIuy1nOy0iOydmCDsu6TrsIvsnLzroZwg65CY64+M66a0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNldHVwLmM6MTYwCisjOiBzZXR1cC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtMzE2Myw3ICszNDQxLDcgQEAKICIlczog7J6R7JeFIO2PtOuNlOyXkCDqt7jrn7Ag6rK966Gc6rCAIOyXhuyKteuLiOuLpC5cbiIKICLroZzsu6zsl5Ag7JeG64qUIOqyveuhnOulvCDsp4DsoJXtlZjroKTrqbQgJ2dpdCA866qF66C5PiAtLSA86rK966GcPi4uLicg7Iud7Jy866GcIOyCrOyaqe2VmOyLreyLnOyYpC4iCiAKLSM6IHNldHVwLmM6MTczCisjOiBzZXR1cC5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTMxNzQsNyArMzQ1Miw3IEBACiAi6rK966Gc7JmAIOumrOu5hOyghOydhCDqtazrtoTtlZjroKTrqbQg64uk7J2M6rO8IOqwmeydtCAnLS0n66W8IOyCrOyaqe2VmOyLreyLnOyYpDpcbiIKICInZ2l0IDzrqoXroLk+IFs866as67mE7KCEPi4uLl0gLS0gWzztjIzsnbw+Li4uXSciCiAKLSM6IHNldHVwLmM6MjIzCisjOiBzZXR1cC5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCkBAIC0zMTg1LDI5ICszNDYzLDM0IEBACiAi6rK966Gc7JmAIOumrOu5hOyghOydhCDqtazrtoTtlZjroKTrqbQg64uk7J2M6rO8IOqwmeydtCAnLS0n66W8IOyCrOyaqe2VmOyLreyLnOyYpDpcbiIKICInZ2l0IDzrqoXroLk+IFs866as67mE7KCEPi4uLl0gLS0gWzztjIzsnbw+Li4uXSciCiAKLSM6IHNldHVwLmM6NDcwCisjOiBzZXR1cC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9ICVkLCBmb3VuZCAlZCIKIG1zZ3N0ciAi6rmDIOyggOyepeyGjCDrsoTsoIQgPD0gJWQg67KE7KCE7J2EIOq4sOuMgO2VmOyngOunjCwgJWQg67KE7KCE7J20IOuwnOqyrOuQmOyXiOyKteuLiOuLpCIKIAotIzogc2V0dXAuYzo0NzgKKyM6IHNldHVwLmM6NTEyCiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCDsoIDsnqXshowg7ZmV7J6l7J20IOyeiOyKteuLiOuLpDoiCiAKLSM6IHNldHVwLmM6NzY4CisjOiBzZXR1cC5jOjgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKIG1zZ3N0ciAiKO2YhOyerCDtj7TrjZQg65iQ64qUIOyDgeychCDtj7TrjZTqsIApIOq5gyDsoIDsnqXshozqsIAg7JWE64uZ64uI64ukOiAlcyIKIAotIzogc2V0dXAuYzo3NzAgc2V0dXAuYzo5MjIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0MworIzogc2V0dXAuYzo4MTIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1MgogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICLtmITsnqwg65SU66CJ7YSw66as66GcIOuPjOyVhOyYrCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXR1cC5jOjg1MgorIzogc2V0dXAuYzoxMDUwCiBtc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi7ZiE7J6sIOyekeyXhSDrlJTroInthLDrpqzrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNldHVwLmM6OTI3CisjOiBzZXR1cC5jOjEwNjIgc2V0dXAuYzoxMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzJyIKK21zZ3N0ciAiJyVzJyDsnITsuZjroZwg7J2064+Z7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IHNldHVwLmM6MTA4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCkBAIC0zMjE3LDEyICszNTAwLDcgQEAKICLtjIzsnbwg7Iuc7Iqk7YWcIOqyveqzhOyXkOyEnCDspJHsp4Dtlanri4jri6QuIChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIOyEpOygleuQmOyngCDslYoiCiAi7J2MKSIKIAotIzogc2V0dXAuYzo5MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMvLi4nIgotbXNnc3RyICInJXMvLi4nIOychOy5mOuhnCDsnbTrj5ntlaAg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogc2V0dXAuYzo5OTYKKyM6IHNldHVwLmM6MTE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAoMCUuM28pLlxuIgpAQCAtMzIzMSw1NiArMzUwOSw1NiBAQAogImNvcmUuc2hhcmVkUmVwb3NpdG9yeSDtjIzsnbzrqqjrk5wg6rCS7JeQICgwJS4zbykg66y47KCc6rCAIOyeiOyKteuLiOuLpC5cbiIKICLtjIzsnbzsnZgg7IaM7Jyg7J6Q7JeQIOydveq4sOyZgCDsk7DquLAg6raM7ZWc7J20IOyeiOyWtOyVvCDtlanri4jri6QuIgogCi0jOiBzaGExX2ZpbGUuYzo0OTAKKyM6IHNoYTFfZmlsZS5jOjU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiclcycg6rK966Gc6rCAIOyXhuyKteuLiOuLpCIKIAotIzogc2hhMV9maWxlLmM6NTE2CisjOiBzaGExX2ZpbGUuYzo1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgIiIKICLroIjtjbzrn7DsiqQgJyVzJyDsoIDsnqXshozrpbwg7Jew6rKw65CcIOyytO2BrOyVhOybg+ycvOuhnCDsk7DquLDripQg7JWE7KeBIOyngOybkO2VmOyngCDslYrsirXri4jri6QuIgogCi0jOiBzaGExX2ZpbGUuYzo1MjIKKyM6IHNoYTFfZmlsZS5jOjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICLroIjtjbzrn7DsiqQgJyVzJyDsoIDsnqXshozqsIAg66Gc7LusIOyggOyepeyGjOqwgCDslYTri5nri4jri6QuIgogCi0jOiBzaGExX2ZpbGUuYzo1MjgKKyM6IHNoYTFfZmlsZS5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgIuugiO2NvOufsOyKpCAnJXMnIOyggOyepeyGjOqwgCDslpXsnYAg7KCA7J6l7IaM7J6F64uI64ukIgogCi0jOiBzaGExX2ZpbGUuYzo1MzYKKyM6IHNoYTFfZmlsZS5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCiBtc2dzdHIgIuugiO2NvOufsOyKpCAnJXMnIOyggOyepeyGjOqwgCDrtpnslrQg7J6I64qUIOyggOyepeyGjOyeheuLiOuLpCIKIAotIzogc2hhMV9maWxlLmM6MTE3NgorIzogc2hhMV9maWxlLmM6MTI0NQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICLsmKTtlITshYvsnbQg66y27J2MIO2MjOydvCDslZ7snoXri4jri6QgKOunneqwgOynhCAuaWR4PykiCiAKLSM6IHNoYTFfZmlsZS5jOjI2MzcKKyM6IHNoYTFfZmlsZS5jOjI3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgogbXNnc3RyICLsmKTtlITshYvsnbQgJXPsnZgg66y27J2MIOyduOuNseyKpCDsi5zsnpHrs7Tri6Qg7JWe7J6F64uI64ukICjrp53qsIDsp4Qg7J24642x7IqkPykiCiAKLSM6IHNoYTFfZmlsZS5jOjI2NDEKKyM6IHNoYTFfZmlsZS5jOjI3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFjayBpbmRleCBmb3IgJXMgKHRydW5jYXRlZCBpbmRleD8pIgogbXNnc3RyICLsmKTtlITshYvsnbQgJXPsnZgg66y27J2MIOyduOuNseyKpCDrgZ3rs7Tri6Qg65Kk7J6F64uI64ukICjrp53qsIDsp4Qg7J24642x7IqkPykiCiAKLSM6IHNoYTFfbmFtZS5jOjQwNworIzogc2hhMV9uYW1lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IFNIQTEgJXMgaXMgYW1iaWd1b3VzIgogbXNnc3RyICLsp6fsnYAgU0hBMSAlc+ydgCjripQpIOyXrOufv+yXkCDrjIDsnZHrkKnri4jri6QiCiAKLSM6IHNoYTFfbmFtZS5jOjQxOAorIzogc2hhMV9uYW1lLmM6NDMwCiBtc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKIG1zZ3N0ciAi7ZuE67O064qUIOuLpOydjOqzvCDqsJnsirXri4jri6Q6IgogCi0jOiBzaGExX25hbWUuYzo1NzgKKyM6IHNoYTFfbmFtZS5jOjU4OQogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTMzMDIsNDUgKzM1ODAsNjUgQEAKICLtmZXsnbjtlbQg67O07Iuc6rOgIOyemOuquyDrp4zrk6TslrTsp4Qg6rKD7J2066m0IOyngOyasOyLreyLnOyYpC4g7J20IOuplOyLnOyngOulvCDrs7Tqs6Ag7Iu27KeAXG4iCiAi7JWK7Jy866m0IFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiDrqoXroLnsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikLiIKIAotIzogc3VibW9kdWxlLmM6NjUgc3VibW9kdWxlLmM6OTkKKyM6IHN1Ym1vZHVsZS5jOjcwIHN1Ym1vZHVsZS5jOjEwNAogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAi67OR7ZWp7ZWY7KeAIOyViuydgCAuZ2l0bW9kdWxlc+ulvCDrsJTqv4Ag7IiYIOyXhuyKteuLiOuLpC4g67OR7ZWpIOy2qeuPjOydhCDrqLzsoIAg7ZW06rKw7ZWY7Iut7Iuc7JikIgogCi0jOiBzdWJtb2R1bGUuYzo2OSBzdWJtb2R1bGUuYzoxMDMKKyM6IHN1Ym1vZHVsZS5jOjc0IHN1Ym1vZHVsZS5jOjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCiBtc2dzdHIgIuqyveuhnOqwgCAlc+ydvCDrlYwgLmdpdG1vZHVsZXPsnZgg7IS57IWY7J2EIOywvuydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzdWJtb2R1bGUuYzo3NworIzogc3VibW9kdWxlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAiLmdpdG1vZHVsZXMg7ZWt66qpICVz7J2EKOulvCkg7JeF642w7J207Yq47ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHN1Ym1vZHVsZS5jOjExMAorIzogc3VibW9kdWxlLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICIlc+yXkCDrjIDtlZwgLmdpdG1vZHVsZXMg7ZWt66qp7J2EIOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzdWJtb2R1bGUuYzoxMjEKKyM6IHN1Ym1vZHVsZS5jOjEyNgogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgIuyXheuNsOydtO2KuO2VnCAuZ2l0bW9kdWxlc+ulvCDsu6TrsIvtlaAg7IKs7ZWt7Jy866GcIO2RnOyLnO2VmOuKlOuNsCDsi6TtjKgiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1OQorIzogc3VibW9kdWxlLmM6MTY1CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICJzdWJtb2R1bGUuZmV0Y2hKb2JzIOqwkuyXkCDsnYzsiJjrpbwg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHN1Ym1vZHVsZS5jOjExODQKKyM6IHN1Ym1vZHVsZS5jOjM3NgogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciCi1tc2dzdHIgIuyEnOu4jOuqqOuTiCAnJXMn7JeQ7IScICdnaXQgc3RhdHVzJ+ulvCDsi5zsnpHtlaAg7IiYIOyXhuyKteuLiOuLpCIKK21zZ2lkICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi64K07Jqp7J20IOyXhuuKlCDtlZjsnIQg66qo65OIICclcyfsl5DshJwiCiAKLSM6IHN1Ym1vZHVsZS5jOjExOTcKKyM6IHN1Ym1vZHVsZS5jOjQwNwogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzIGluIHN1Ym1vZHVsZSAnJXMnIgotbXNnc3RyICLshJzruIzrqqjrk4ggJyVzJ+yXkOyEnCAnZ2l0IHN0YXR1cyfrpbwg7Iuk7ZaJ7ZWgIOyImCDsl4bsirXri4jri6QiCittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICLqsr3roZzrqoXshLggJyVzJ+ydgCjripQpICcnJS4qcycg7ZWY7JyEIOuqqOuTiCDslYjsl5Ag7J6I7Iq164uI64ukIgogCi0jOiBzdWJtb2R1bGUuYzoxMzk4CisjOiBzdWJtb2R1bGUuYzoxMzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJyVzJ+ydgCjripQpIOq5gyDsoIDsnqXshozroZwg7J247Iud65CY7KeAIOyViuyKteuLiOuLpCIKKworIzogc3VibW9kdWxlLmM6MTQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLtlZjsnIQg66qo65OIICclcyfsl5DshJwgJ2dpdCBzdGF0dXMn66W8IOyLnOyeke2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBzdWJtb2R1bGUuYzoxNDg4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLtlZjsnIQg66qo65OIICclcyfsl5DshJwgJ2dpdCBzdGF0dXMn66W8IOyLpO2Wie2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBzdWJtb2R1bGUuYzoxNTgxCisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIKK21zZ3N0ciAiJyVzJyDtlZjsnIQg66qo65OI7JeQIOuzgOqyveuQnCDsnbjrjbHsiqTqsIAg7J6I7Iq164uI64ukIgorCisjOiBzdWJtb2R1bGUuYzoxODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJyZWxvY2F0ZV9naXRkaXIgZm9yIHN1Ym1vZHVsZSAnJXMnIHdpdGggbW9yZSB0aGFuIG9uZSB3b3JrdHJlZSBub3Qgc3VwcG9ydGVkIgpAQCAtMzM0OCwxOCArMzY0NiwxOCBAQAogIuyXrOufrCDqsJzsnZgg7J6R7JeFIO2PtOuNlOqwgCDsnojripQg7ZWY7JyEIOuqqOuTiCAnJXMn7JeQIOuMgO2VtCByZWxvY2F0ZV9naXRkaXLsnYAg7KeA7JuQ7ZWY7KeAICIKICLslYrsirXri4jri6QiCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MTAgc3VibW9kdWxlLmM6MTQ3MQorIzogc3VibW9kdWxlLmM6MTg1NyBzdWJtb2R1bGUuYzoxOTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgbmFtZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgIu2VmOychCDrqqjrk4ggJyVzJ+ydmCDsnbTrpoTsnYQg7LC+7JWE67O8IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MTQgc3VibW9kdWxlLmM6MTQ3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUwCisjOiBzdWJtb2R1bGUuYzoxODYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiJyVzJyDrlJTroInthLDrpqzrpbwg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MjAKKyM6IHN1Ym1vZHVsZS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk1pZ3JhdGluZyBnaXQgZGlyZWN0b3J5IG9mICclcyVzJyBmcm9tXG4iCkBAIC0zMzcwLDgxICszNjY4LDk0IEBACiAiJyVzJ+yXkOyEnFxuIgogIiclcyco7Jy8KeuhnFxuIgogCi0jOiBzdWJtb2R1bGUuYzoxNTEyCisjOiBzdWJtb2R1bGUuYzoxOTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCiBtc2dzdHIgIuyerOq3gOyggeycvOuhnCAnJXMnIO2VmOychCDrqqjrk4jsl5Ag65Ok7Ja06rCIIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozNjAKKyM6IHN1Ym1vZHVsZS5jOjE5OTIKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgbHMtZmlsZXMgaW4gLi4iCittc2dzdHIgIicuLicg7JWI7JeQ7IScIGxzLWZpbGVz66W8IOyLnOyeke2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBzdWJtb2R1bGUuYzoyMDEyCittc2dpZCAiQlVHOiByZXR1cm5lZCBwYXRoIHN0cmluZyBkb2Vzbid0IG1hdGNoIGN3ZD8iCittc2dzdHIgIuuyhOq3uDog66as7YS065CcIOqyveuhnCDrrLjsnpDsl7TsnbQg7ZiE7J6sIOuUlOugie2EsOumrOyZgCDrp57sp4Ag7JWK7Iq164uI64ukPyIKKworIzogc3VibW9kdWxlLmM6MjAzMQorIywgYy1mb3JtYXQKK21zZ2lkICJscy10cmVlIHJldHVybmVkIHVuZXhwZWN0ZWQgcmV0dXJuIGNvZGUgJWQiCittc2dzdHIgImxzLXRyZWXqsIAg7JiI7IOB7LmYIOuqu+2VnCDsvZTrk5wgJWTrsojsnYQg66as7YS07ZaI7Iq164uI64ukIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICIlc+ydmCDqsJLsnbQg7Jis67CU66W07KeAIOyViuyKteuLiOuLpCIKIAotIzogdHJhaWxlci5jOjI0MAorIzogdHJhaWxlci5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5uaW5nIHRyYWlsZXIgY29tbWFuZCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi7Yq466CI7J2865+sIOuqheuguSAnJXMnIOyLpO2WiSDsi6TtjKgiCiAKLSM6IHRyYWlsZXIuYzo0NzMgdHJhaWxlci5jOjQ3NyB0cmFpbGVyLmM6NDgxIHRyYWlsZXIuYzo1MzUgdHJhaWxlci5jOjUzOQotIzogdHJhaWxlci5jOjU0MworIzogdHJhaWxlci5jOjQ3NCB0cmFpbGVyLmM6NDc4IHRyYWlsZXIuYzo0ODIgdHJhaWxlci5jOjUzNiB0cmFpbGVyLmM6NTQwCisjOiB0cmFpbGVyLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIOqwkiAnJXMnLCDtgqQgJyVzJyIKIAotIzogdHJhaWxlci5jOjUyNSB0cmFpbGVyLmM6NTMwIGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CisjOiB0cmFpbGVyLmM6NTI2IHRyYWlsZXIuYzo1MzEgYnVpbHRpbi9yZW1vdGUuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKIG1zZ3N0ciAiJXPsnbQo6rCAKSDsl6zrn6zqsJzsnoXri4jri6QiCiAKLSM6IHRyYWlsZXIuYzo3MDIKKyM6IHRyYWlsZXIuYzo3MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKIG1zZ3N0ciAi7Yq466CI7J2865+sICclLipzJ+yXkOyEnCDruYgg7Yq466CI7J2865+sIO2GoO2BsCIKIAotIzogdHJhaWxlci5jOjcyMgorIzogdHJhaWxlci5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbnB1dCBmaWxlICclcyciCiBtc2dzdHIgIiclcycg7J6F66ClIO2MjOydvOydhCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogdHJhaWxlci5jOjcyNQorIzogdHJhaWxlci5jOjcyNgogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHRyYWlsZXIuYzo5NDkgYnVpbHRpbi9hbS5jOjQ0CisjOiB0cmFpbGVyLmM6OTUwIGJ1aWx0aW4vYW0uYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAiJXPsl5Ag64yA7ZW0IHN0YXQoKe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiB0cmFpbGVyLmM6OTUxCisjOiB0cmFpbGVyLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICInJXMnIO2MjOydvOydtCDsnbzrsJgg7YyM7J287J20IOyVhOuLmeuLiOuLpCIKIAotIzogdHJhaWxlci5jOjk1MworIzogdHJhaWxlci5jOjk1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCB3cml0YWJsZSBieSB1c2VyIgogbXNnc3RyICLsgqzsmqnsnpDqsIAgJXMg7YyM7J287JeQIOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiB0cmFpbGVyLmM6OTY1CisjOiB0cmFpbGVyLmM6OTY2CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIuyehOyLnCDtjIzsnbzsnYQg7Je0IOyImCDsl4bsirXri4jri6Q6ICVzIgogCi0jOiB0cmFpbGVyLmM6MTAwMQorIzogdHJhaWxlci5jOjEwMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSB0ZW1wb3JhcnkgZmlsZSB0byAlcyIKIG1zZ3N0ciAi7J6E7IucIO2MjOydvCDsnbTrpoTsnYQgJyVzJyjsnLwp66GcIOuwlOq/gCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiB0cmFuc3BvcnQuYzo2MgorIzogdHJhbnNwb3J0LmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCiBtc2dzdHIgIiclMSRzJ+ydmCDsl4XsiqTtirjrprzsnYQgJyUzJHMn7J2YICclMiRzJyjsnLwp66GcIOyEpOygle2VqeuLiOuLpFxuIgogCi0jOiB0cmFuc3BvcnQuYzoxNTEKKyM6IHRyYW5zcG9ydC5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCiBtc2dzdHIgInRyYW5zcG9ydDog7J6Y66q765CcIOq5iuydtCDsmLXshZg6ICVzIgogCi0jOiB0cmFuc3BvcnQuYzo4ODUKKyM6IHRyYW5zcG9ydC5jOjg5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCkBAIC0zNDUzLDcgKzM3NjQsNyBAQAogIuuLpOydjCDtlZjsnIQg66qo65OIIOqyveuhnOyXkCDrpqzrqqjtirgg7Ja065SU7JeQ64+EIOyXhuuKlFxuIgogIuuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukOlxuIgogCi0jOiB0cmFuc3BvcnQuYzo4ODkKKyM6IHRyYW5zcG9ydC5jOjg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zNDgwLDExICszNzkxLDExIEBACiAi66qF66C57J2EIOyLnOuPhO2VtCDrs7Tsi63si5zsmKRcbiIKICJcbiIKIAotIzogdHJhbnNwb3J0LmM6ODk3CisjOiB0cmFuc3BvcnQuYzo5MDIKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIuykkeyngO2VqC4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDgyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgIiVzIOugiO2NvOufsOyKpOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKQEAgLTM1MDUsNyArMzgxNiw3IEBACiBtc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKIG1zZ3N0ciAi64SI66y0IOynp+ydgCDtirjrpqwg7YyM7J28IgogCi0jOiB1bnBhY2stdHJlZXMuYzo5OQorIzogdW5wYWNrLXRyZWVzLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKQEAgLTM1MTQsNyArMzgyNSw3IEBACiAi64uk7J2MIO2MjOydvOydmCDroZzsu6wg67OA6rK9IOyCrO2VreydhCDssrTtgazslYTsm4Mg65WM66y47JeQIOuNruyWtCDsk7Dqsowg65Cp64uI64ukOlxuIgogIiUlc+u4jOuenOy5mOulvCDsoITtmZjtlZjquLAg7KCE7JeQIOuzgOqyvSDsgqztla3snYQg7Luk67CL7ZWY6rGw64KYIOyKpO2DnOyLnO2VmOyLreyLnOyYpC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEwMQorIzogdW5wYWNrLXRyZWVzLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKQEAgLTM1MjMsNyArMzgzNCw3IEBACiAi64uk7J2MIO2MjOydvOydmCDroZzsu6wg67OA6rK9IOyCrO2VreydhCDssrTtgazslYTsm4Mg65WM66y47JeQIOuNruyWtCDsk7Dqsowg65Cp64uI64ukOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA0CisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzUzMiwxNCArMzg0MywxNCBAQAogIuuLpOydjCDtjIzsnbzsnZgg66Gc7LusIOuzgOqyvSDsgqztla3snYQg67OR7ZWpIOuVjOusuOyXkCDrja7slrQg7JOw6rKMIOuQqeuLiOuLpDpcbiIKICIlJXPrs5HtlantlZjquLAg7KCE7JeQIOuzgOqyvSDsgqztla3snYQg7Luk67CL7ZWY6rGw64KYIOyKpO2DnOyLnO2VmOyLreyLnOyYpC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEwNgorIzogdW5wYWNrLXRyZWVzLmM6MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXMiCiBtc2dzdHIgIuuLpOydjCDtjIzsnbzsnZgg66Gc7LusIOuzgOqyvSDsgqztla3snYQg67OR7ZWpIOuVjOusuOyXkCDrja7slrQg7JOw6rKMIOuQqeuLiOuLpC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEwOQorIzogdW5wYWNrLXRyZWVzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM1NDgsNyArMzg1OSw3IEBACiAi64uk7J2MIO2MjOydvOydmCDroZzsu6wg67OA6rK9IOyCrO2VreydhCAlcyDrlYzrrLjsl5Ag642u7Ja0IOyTsOqyjCDrkKnri4jri6Q6XG4iCiAiJSVzJXMg7KCE7JeQIOuzgOqyvSDsgqztla3snYQg7Luk67CL7ZWY6rGw64KYIOyKpO2DnOyLnO2VmOyLreyLnOyYpC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjExMQorIzogdW5wYWNrLXRyZWVzLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM1NTcsNyArMzg2OCw3IEBACiAi64uk7J2MIO2MjOydvOydmCDroZzsu6wg67OA6rK9IOyCrO2VreydhCAlcyDrlYzrrLjsl5Ag642u7Ja0IOyTsOqyjCDrkKnri4jri6Q6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTYKKyM6IHVucGFjay10cmVlcy5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtMzU2Niw3ICszODc3LDcgQEAKICLri6TsnYwg65SU66CJ7YSw66as66W8IOyXheuNsOydtO2KuO2VmOuptCDqt7gg7JWI7J2YIOy2lOygge2VmOyngCDslYrripQg7YyM7J287J2EIOyeg+yWtOuyhOumveuLiOuLpDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIwCisjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzU3NSw3ICszODg2LDcgQEAKICLssrTtgazslYTsm4Mg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZTsnZgg7YyM7J287J20IOygnOqxsOuQqeuLiOuLpDpcbiIKICIlJXPruIzrnpzsuZjrpbwg7KCE7ZmY7ZWY6riwIOyghOyXkCDsnbQg7YyM7J287J2EIOyYruq4sOqxsOuCmCDsoJzqsbDtlZjsi63si5zsmKQuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjIKKyM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNTg0LDcgKzM4OTUsNyBAQAogIuyytO2BrOyVhOybgyDrlYzrrLjsl5Ag7LaU7KCB7ZWY7KeAIOyViuuKlCDri6TsnYwg7J6R7JeFIO2PtOuNlCDtjIzsnbzsnbQg7KCc6rGw65Cp64uI64ukOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI1CisjOiB1bnBhY2stdHJlZXMuYzoxMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtMzU5Myw3ICszOTA0LDcgQEAKICLrs5Htlakg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZTsnZgg7YyM7J287J20IOygnOqxsOuQqeuLiOuLpDpcbiIKICIlJXPrs5HtlantlZjquLAg7KCE7JeQIOydtCDtjIzsnbzsnYQg7Jiu6riw6rGw64KYIOygnOqxsO2VmOyLreyLnOyYpC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNworIzogdW5wYWNrLXRyZWVzLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTM2MDIsNyArMzkxMyw3IEBACiAi67OR7ZWpIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642UIO2MjOydvOydtCDsoJzqsbDrkKnri4jri6Q6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzAKKyM6IHVucGFjay10cmVlcy5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC0zNjExLDcgKzM5MjIsNyBAQAogIiVzIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642U7J2YIO2MjOydvOydtCDsoJzqsbDrkKnri4jri6Q6XG4iCiAiJSVzJXMg7ZWY6riwIOyghOyXkCDsnbQg7YyM7J287J2EIOyYruq4sOqxsOuCmCDsoJzqsbDtlZjsi63si5zsmKQuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzIKKyM6IHVucGFjay10cmVlcy5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC0zNjIwLDcgKzM5MzEsNyBAQAogIiVzIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642UIO2MjOydvOydtCDsoJzqsbDrkKnri4jri6Q6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzcKKyM6IHVucGFjay10cmVlcy5jOjE0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKQEAgLTM2MzAsNyArMzk0MSw3IEBACiAi7LK07YGs7JWE7JuDIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642U7J2YIO2MjOydvOydhCDrja7slrTslIHri4jri6Q6XG4iCiAiJSVz67iM656c7LmY66W8IOyghO2ZmO2VmOq4sCDsoITsl5Ag7J20IO2MjOydvOydhCDsmK7quLDqsbDrgpgg7KCc6rGw7ZWY7Iut7Iuc7JikLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM5CisjOiB1bnBhY2stdHJlZXMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC0zNjQwLDcgKzM5NTEsNyBAQAogIuyytO2BrOyVhOybgyDrlYzrrLjsl5Ag7LaU7KCB7ZWY7KeAIOyViuuKlCDri6TsnYwg7J6R7JeFIO2PtOuNlCDtjIzsnbzsnYQg642u7Ja07JSB64uI64ukOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQyCisjOiB1bnBhY2stdHJlZXMuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTM2NDksNyArMzk2MCw3IEBACiAi67OR7ZWpIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642U7J2YIO2MjOydvOydhCDrja7slrTslIHri4jri6Q6XG4iCiAiJSVz67OR7ZWp7ZWY6riwIOyghOyXkCDsnbQg7YyM7J287J2EIOyYruq4sOqxsOuCmCDsoJzqsbDtlZjsi63si5zsmKQuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDQKKyM6IHVucGFjay10cmVlcy5jOjE1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzY1OCw3ICszOTY5LDcgQEAKICLrs5Htlakg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZQg7YyM7J287J2EIOuNruyWtOyUgeuLiOuLpDpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NworIzogdW5wYWNrLXRyZWVzLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC0zNjY3LDcgKzM5NzgsNyBAQAogIiVzIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642U7J2YIO2MjOydvOydhCDrja7slrTslIHri4jri6Q6XG4iCiAiJSVzJXMg7ZWY6riwIOyghOyXkCDsnbQg7YyM7J287J2EIOyYruq4sOqxsOuCmCDsoJzqsbDtlZjsi63si5zsmKQuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDkKKyM6IHVucGFjay10cmVlcy5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzY3NiwxMiArMzk4NywxMiBAQAogIiVzIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642UIO2MjOydvOydhCDrja7slrTslIHri4jri6Q6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTYKKyM6IHVucGFjay10cmVlcy5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAiJyVzJyDtla3rqqnsnbQgJyVzJ+yZgCjqs7wpIOqyuey5qeuLiOuLpC4gIOustuydhCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU5CisjOiB1bnBhY2stdHJlZXMuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cC10by1kYXRlOlxuIgpAQCAtMzY5MSw3ICs0MDAyLDcgQEAKICLslZjsirXri4jri6Q6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MQorIzogdW5wYWNrLXRyZWVzLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtMzcwMiw3ICs0MDEzLDcgQEAKICLri6Q6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC0zNzEzLDIyNSArNDAyNCwyNDQgQEAKICLri6Q6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjI0MAorIzogdW5wYWNrLXRyZWVzLmM6MTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW5ub3QgdXBkYXRlIHN1Ym1vZHVsZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIu2VmOychCDrqqjrk4jsnYQgIOyXheuNsOydtO2KuO2VoCDsiJgg7JeG7Iq164uI64ukOlxuIgorIiVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAi7KSR7KeA7ZWoXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjI3MAorIzogdW5wYWNrLXRyZWVzLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSB1cGRhdGUgc3RyYXRlZ3kgbm90IHN1cHBvcnRlZCBmb3Igc3VibW9kdWxlICclcyciCittc2dzdHIgIu2VmOychCDrqqjrk4gg7JeF642w7J207Yq4IOyghOueteydtCAnJXMnIO2VmOychCDrqqjrk4jsl5DshJwg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogdW5wYWNrLXRyZWVzLmM6MzQ2CiBtc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgogbXNnc3RyICLtjIzsnbzsnYQg6rCA7KC47Ji164uI64ukIgogCi0jOiB1cmxtYXRjaC5jOjEyMAorIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAiVVJMIOyKpO2CtCDsnbTrpoTsnbQg7J6Y66q765CY7JeI6rGw64KYICc6Ly8n6rCAIOuSpOyXkCDrtpnsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIzogdXJsbWF0Y2guYzoxODcgdXJsbWF0Y2guYzozNDYgdXJsbWF0Y2guYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgogbXNnc3RyICLsnpjrqrvrkJwgJVhYIOydtOyKpOy8gOydtO2UhCDsi5ztgIDsiqQiCiAKLSM6IHVybG1hdGNoLmM6MTcyCisjOiB1cmxtYXRjaC5jOjIxNQogbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgogbXNnc3RyICLtmLjsiqTtirjqsIAg7JeG6rOgIOyKpO2CtOydtCAnZmlsZTon7J20IOyVhOuLmeuLiOuLpCIKIAotIzogdXJsbWF0Y2guYzoxODkKKyM6IHVybG1hdGNoLmM6MjMyCiBtc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKIG1zZ3N0ciAiJ2ZpbGU6JyBVUkzsl5DripQg7Y+s7Yq4IOuyiO2YuOulvCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogdXJsbWF0Y2guYzoxOTkKKyM6IHVybG1hdGNoLmM6MjQ3CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKIG1zZ3N0ciAi7Zi47Iqk7Yq4IOydtOumhOyXkCDsnpjrqrvrkJwg66y47J6QIgogCi0jOiB1cmxtYXRjaC5jOjI0NCB1cmxtYXRjaC5jOjI1NQorIzogdXJsbWF0Y2guYzoyOTIgdXJsbWF0Y2guYzozMDMKIG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgogbXNnc3RyICLsnpjrqrvrkJwg7Y+s7Yq4IOuyiO2YuCIKIAotIzogdXJsbWF0Y2guYzozMjIKKyM6IHVybG1hdGNoLmM6MzcxCiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAi6rK966Gc7JeQ7IScIOyemOuqu+uQnCAnLi4nIOu2gOu2hCIKIAotIzogd29ya3RyZWUuYzoyODIKKyM6IHdvcmt0cmVlLmM6MjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsnb3ripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozOTIKKyM6IHdyYXBwZXIuYzoyMjMgd3JhcHBlci5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICLsnb3quLDsmYAg7JOw6riw7Jqp7Jy866GcICclcyfsnYQo66W8KSDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKKyM6IHdyYXBwZXIuYzoyMjUgd3JhcHBlci5jOjM5NSBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsk7DquLDsmqnsnLzroZwg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM5NiBidWlsdGluL2FtLmM6MzIwIGJ1aWx0aW4vYW0uYzo3NTkKLSM6IGJ1aWx0aW4vYW0uYzo4NDcgYnVpbHRpbi9jb21taXQuYzoxNzAwIGJ1aWx0aW4vbWVyZ2UuYzoxMDMzCi0jOiBidWlsdGluL3B1bGwuYzozNDEKKyM6IHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6MzE5IGJ1aWx0aW4vYW0uYzo3NTcKKyM6IGJ1aWx0aW4vYW0uYzo4NDkgYnVpbHRpbi9tZXJnZS5jOjEwMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOydveq4sOyaqeycvOuhnCDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogd3JhcHBlci5jOjYwNSB3cmFwcGVyLmM6NjI2CisjOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICInJXMn7JeQIOygkeq3vO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiB3cmFwcGVyLmM6NjM0CisjOiB3cmFwcGVyLmM6NjMyCiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICLtmITsnqwg7J6R7JeFIOuUlOugie2EsOumrOulvCDqsIDsoLjsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogd3JhcHBlci5jOjY1OAorIzogd3JhcHBlci5jOjY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIiVz7JeQIOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiB3cmFwcGVyLmM6NjYwCisjOiB3cmFwcGVyLmM6NjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDri6vsnYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogd3Qtc3RhdHVzLmM6MTUxCisjOiB3dC1zdGF0dXMuYzoxNTIKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg6rK966GcOiIKIAotIzogd3Qtc3RhdHVzLmM6MTc4IHd0LXN0YXR1cy5jOjIwNQorIzogd3Qtc3RhdHVzLmM6MTc5IHd0LXN0YXR1cy5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKOyKpO2FjOydtOyngCDtlbTsoJztlZjroKTrqbQgXCJnaXQgcmVzZXQgJXMgPO2MjOydvD4uLi5cIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxODAgd3Qtc3RhdHVzLmM6MjA3CisjOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MjA4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICjsiqTthYzsnbTsp4Ag7ZW07KCc7ZWY66Ck66m0IFwiZ2l0IHJtIC0tY2FjaGVkIDztjIzsnbw+Li4uXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg0CisjOiB3dC1zdGF0dXMuYzoxODUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKO2VtOqysO2WiOuLpOqzoCDtkZzsi5ztlZjroKTrqbQgXCJnaXQgYWRkIDztjIzsnbw+Li4uXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg2IHd0LXN0YXR1cy5jOjE5MAorIzogd3Qtc3RhdHVzLmM6MTg3IHd0LXN0YXR1cy5jOjE5MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKO2VtOqysO2WiOuLpOqzoCDtkZzsi5ztlZjroKTrqbQg7JWM66ee6rKMIFwiZ2l0IGFkZC9ybSA87YyM7J28Pi4uLlwi7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OAorIzogd3Qtc3RhdHVzLmM6MTg5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKO2VtOqysO2WiOuLpOqzoCDtkZzsi5ztlZjroKTrqbQgXCJnaXQgcm0gPO2MjOydvD4uLi5cIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxOTkgd3Qtc3RhdHVzLmM6OTQ1CisjOiB3dC1zdGF0dXMuYzoyMDAgd3Qtc3RhdHVzLmM6OTgxCiBtc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICLsu6TrsIvtlaAg67OA6rK9IOyCrO2VrToiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNyB3dC1zdGF0dXMuYzo5NTQKKyM6IHd0LXN0YXR1cy5jOjIxOCB3dC1zdGF0dXMuYzo5OTAKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgIuy7pOuwi+2VmOuPhOuhnSDsoJXtlZjsp4Ag7JWK7J2AIOuzgOqyvSDsgqztla06IgogCi0jOiB3dC1zdGF0dXMuYzoyMjEKKyM6IHd0LXN0YXR1cy5jOjIyMgogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICjrrLTsl4fsnYQg7Luk67CL7ZWg7KeAIOuwlOq+uOugpOuptCBcImdpdCBhZGQgPO2MjOydvD4uLi5cIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjMKKyM6IHd0LXN0YXR1cy5jOjIyNAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICjrrLTsl4fsnYQg7Luk67CL7ZWg7KeAIOuwlOq+uOugpOuptCBcImdpdCBhZGQvcm0gPO2MjOydvD4uLi5cIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjQKKyM6IHd0LXN0YXR1cy5jOjIyNQogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiIgogIiAgKOyekeyXhSDtj7TrjZTsnZgg67OA6rK9IOyCrO2VreydhCDrsoTrpqzroKTrqbQgXCJnaXQgY2hlY2tvdXQgLS0gPO2MjOydvD4uLi5cIuydhCDsgqzsmqntlZjsi60iCiAi7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI2CisjOiB3dC1zdGF0dXMuYzoyMjcKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKICIgICjtlZjsnIQg66qo65OI7J2YIOy2lOyggeuQmOyngCDslYrripQg7YyM7J287J2064KYIOyImOygleuQnCDrgrTsmqnsnYQg7Luk67CL7ZWY6rGw64KYIOuyhOumrOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIzOAorIzogd3Qtc3RhdHVzLmM6MjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICjsu6TrsIvtlaAg7IKs7ZWt7JeQIO2PrO2VqO2VmOugpOuptCBcImdpdCAlcyA87YyM7J28Pi4uLlwi7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjU0CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAi7JaR7Kq97JeQ7IScIOyCreygnDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NQorIzogd3Qtc3RhdHVzLmM6MjU2CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICLsnbQg7Kq97JeQ7IScIOy2lOqwgDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NworIzogd3Qtc3RhdHVzLmM6MjU4CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi7KCAIOyqveyXkOyEnCDsgq3soJw6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTkKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICLsoIAg7Kq97JeQ7IScIOy2lOqwgDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MQorIzogd3Qtc3RhdHVzLmM6MjYyCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgIuydtCDsqr3sl5DshJwg7IKt7KCcOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYzCisjOiB3dC1zdGF0dXMuYzoyNjQKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAi7JaR7Kq97JeQ7IScIOy2lOqwgDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NQorIzogd3Qtc3RhdHVzLmM6MjY2CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgIuyWkeyqveyXkOyEnCDsiJjsoJU6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzUKKyM6IHd0LXN0YXR1cy5jOjI3NgogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAi7IOIIO2MjOydvDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NworIzogd3Qtc3RhdHVzLmM6Mjc4CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAi67O17IKs7ZWoOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc5CisjOiB3dC1zdGF0dXMuYzoyODAKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAi7IKt7KCc7ZWoOiIKIAotIzogd3Qtc3RhdHVzLmM6MjgxCisjOiB3dC1zdGF0dXMuYzoyODIKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgIuyImOygle2VqDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MworIzogd3Qtc3RhdHVzLmM6Mjg0CiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgIuydtOumhCDrsJTqv4g6IgogCi0jOiB3dC1zdGF0dXMuYzoyODUKKyM6IHd0LXN0YXR1cy5jOjI4NgogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICLsooXrpZgg67CU64CcOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg3CisjOiB3dC1zdGF0dXMuYzoyODgKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAi7JWMIOyImCDsl4bsnYw6IgogCi0jOiB3dC1zdGF0dXMuYzoyODkKKyM6IHd0LXN0YXR1cy5jOjI5MAogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAi67OR7ZWp7ZWY7KeAIOyViuydjDoiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MQorIzogd3Qtc3RhdHVzLmM6MzcyCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAi7IOIIOy7pOuwiywgIgogCi0jOiB3dC1zdGF0dXMuYzozNzMKKyM6IHd0LXN0YXR1cy5jOjM3NAogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAi7IiY7KCV7ZWcIOuCtOyaqSwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzUKKyM6IHd0LXN0YXR1cy5jOjM3NgogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIuy2lOygge2VmOyngCDslYrsnYAg64K07JqpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjgxOAorIzogd3Qtc3RhdHVzLmM6ODIxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyeSIKK21zZ2lkX3BsdXJhbCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJpZXMiCittc2dzdHJbMF0gIu2YhOyerCDsiqTtg5zsi5zsl5AgJWTqsJwg7ZWt66qp7J20IOyeiOyKteuLiOuLpCIKKworIzogd3Qtc3RhdHVzLmM6ODUzCiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgIuuzgOqyveuQmOyXiOyngOunjCDsl4XrjbDsnbTtirjtlZjsp4Ag7JWK7J2AIO2VmOychCDrqqjrk4g6IgogCi0jOiB3dC1zdGF0dXMuYzo4MjAKKyM6IHd0LXN0YXR1cy5jOjg1NQogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIuy7pOuwi+2VoCDtlZjsnIQg66qo65OI7J2YIOuzgOqyvSDsgqztla06IgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjkzNwogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgpAQCAtMzkzOSwyMjMgKzQyNjksMjI3IEBACiAi7JyE7J2YIOykhOydhCDrsJTqvrjsp4Ag66eI7Iut7Iuc7JikLlxuIgogIuyVhOuemCDsnojripQg64K07Jqp7J2AIOuqqOuRkCDsoJzqsbDrkKnri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDEzCisjOiB3dC1zdGF0dXMuYzoxMDQ5CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICLrs5HtlantlZjsp4Ag7JWK7J2AIOqyveuhnOqwgCDsnojsirXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE2CisjOiB3dC1zdGF0dXMuYzoxMDUyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAo7Lap64+M7J2EIOuwlOuhnOyeoeqzoCBcImdpdCBjb21taXRcIuydhCDsi6TtlontlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE4CisjOiB3dC1zdGF0dXMuYzoxMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgICjrs5HtlansnYQg7KSR64uo7ZWY66Ck66m0IFwiZ2l0IG1lcmdlIC0tYWJvcnRcIuulvCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDIzCisjOiB3dC1zdGF0dXMuYzoxMDU5CiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAi66qo65OgIOy2qeuPjOydhCDrsJTroZzsnqHslZjsp4Drp4wg7JWE7KeBIOuzke2Vqe2VmOuKlCDspJHsnoXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDI2CisjOiB3dC1zdGF0dXMuYzoxMDYyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAo67OR7ZWp7J2EIOuniOustOumrO2VmOugpOuptCBcImdpdCBjb21taXRcIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDM2CisjOiB3dC1zdGF0dXMuYzoxMDcyCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJhbSDshLjshZgg7KSR6rCE7JeQIOyeiOyKteuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzkKKyM6IHd0LXN0YXR1cy5jOjEwNzUKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIu2YhOyerCDtjKjsuZjqsIAg67mE7Ja0IOyeiOyKteuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwNDMKKyM6IHd0LXN0YXR1cy5jOjEwNzkKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjstqnrj4zsnYQg67CU66Gc7J6h7J2AIOuLpOydjCBcImdpdCBhbSAtLWNvbnRpbnVlXCLrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NQorIzogd3Qtc3RhdHVzLmM6MTA4MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICjsnbQg7Yyo7LmY66W8IOqxtOuEiCDrm7DroKTrqbQgXCJnaXQgYW0gLS1za2lwXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NworIzogd3Qtc3RhdHVzLmM6MTA4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAo7JuQ67O4IOu4jOuenOy5mOulvCDrs7XqtaztlZjroKTrqbQgXCJnaXQgYW0gLS1hYm9ydFwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzYKKyM6IHd0LXN0YXR1cy5jOjEyMTQKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kb+qwgCDsl4bsirXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc4CisjOiB3dC1zdGF0dXMuYzoxMjE2CiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIuyZhOujjO2VnCDrqoXroLkg7JeG7J2MLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MQorIzogd3Qtc3RhdHVzLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICLstZzqt7wg7JmE66OM7ZWcIOuqheuguSAoJWTqsJwg66qF66C5IOyZhOujjCk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTkyCisjOiB3dC1zdGF0dXMuYzoxMjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICjsnpDshLjtlZwg7KCV67O064qUICVzIO2MjOydvCDssLjqs6ApIgogCi0jOiB3dC1zdGF0dXMuYzoxMTk3CisjOiB3dC1zdGF0dXMuYzoxMjM1CiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAi66qF66C57J20IOuCqOyVhOyeiOyngCDslYrsnYwuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjAwCisjOiB3dC1zdGF0dXMuYzoxMjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIuuLpOydjOyXkCDtlaAg66qF66C5ICglZOqwnCDrqoXroLkg64Ko7J2MKToiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDgKKyM6IHd0LXN0YXR1cy5jOjEyNDYKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKOuztOqzoCDtjrjsp5HtlZjroKTrqbQgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCLrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMQorIzogd3Qtc3RhdHVzLmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAi7ZiE7J6sICclcycg67iM656c7LmY66W8ICclcycg7JyE66GcIOumrOuyoOydtOyKpO2VmOuKlCDspJHsnoXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI2CisjOiB3dC1zdGF0dXMuYzoxMjY0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICLtmITsnqwg66as67Kg7J207Iqk7ZWY64qUIOykkeyeheuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDAKKyM6IHd0LXN0YXR1cy5jOjEyNzgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo7Lap64+M7J2EIOuwlOuhnOyeoeqzoCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDIKKyM6IHd0LXN0YXR1cy5jOjEyODAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKOydtCDtjKjsuZjrpbwg6rG064SI65uw66Ck66m0IFwiZ2l0IHJlYmFzZSAtLXNraXBcIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ0CisjOiB3dC1zdGF0dXMuYzoxMjgyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICjsm5Drs7gg67iM656c7LmY66W8IOqwgOyguOyYpOugpOuptCBcImdpdCByZWJhc2UgLS1hYm9ydFwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTAKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgICjrqqjrk6Ag7Lap64+M7J2EIOuwlOuhnOyeoeyVmOyKteuLiOuLpDogXCJnaXQgcmViYXNlIC0tY29udGludWVcIuulvCDsi6TtlontlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU0CisjOiB3dC1zdGF0dXMuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIu2YhOyerCAnJXMnIOu4jOuenOy5mOulvCAnJXMnIOychOuhnCDrpqzrsqDsnbTsiqTtlZjripQg7KSRIOy7pOuwi+ydhCDrtoTrpqztlZjripQg7KSR7J6F64uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1OQorIzogd3Qtc3RhdHVzLmM6MTI5NwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICLtmITsnqwg66as67Kg7J207Iqk7ZWY64qUIOykkSDsu6TrsIvsnYQg67aE66as7ZWY64qUIOykkeyeheuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjIKKyM6IHd0LXN0YXR1cy5jOjEzMDAKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo7J6R7JeFIO2PtOuNlOqwgCDquajrgZftlbTsp4DrqbQsIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NgorIzogd3Qtc3RhdHVzLmM6MTMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICInJXMnIOu4jOuenOy5mOulvCAnJXMnIOychOuhnCDrpqzrsqDsnbTsiqTtlZjripQg7KSRIOy7pOuwi+ydhCDtjrjsp5HtlZjripQg7KSR7J6F64uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3MQorIzogd3Qtc3RhdHVzLmM6MTMwOQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi66as67Kg7J207IqkIOykkeyXkCDsu6TrsIvsnYQg7Y647KeR7ZWY64qUIOykkeyeheuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzQKKyM6IHd0LXN0YXR1cy5jOjEzMTIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIgICjtmITsnqwg7Luk67CL7J2EIOyImOygle2VmOugpOuptCBcImdpdCBjb21taXQgLS1hbWVuZFwi7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzYKKyM6IHd0LXN0YXR1cy5jOjEzMTQKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiAgKOuzgOqyvSDsgqztla3sl5Ag66eM7KGx7ZWgIOuVjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyODYKKyM6IHd0LXN0YXR1cy5jOjEzMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAi7ZiE7J6sICVzIOy7pOuwi+ydhCDrvZHslYQg64K06rOgIOyeiOyKteuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTEKKyM6IHd0LXN0YXR1cy5jOjEzMjkKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo7Lap64+M7J2EIOuwlOuhnOyeoeqzoCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI5NAorIzogd3Qtc3RhdHVzLmM6MTMzMgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAo66qo65OgIOy2qeuPjOydhCDrsJTroZzsnqHslZjsirXri4jri6Q6IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIuulvCDsi6TtlontlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjk2CisjOiB3dC1zdGF0dXMuYzoxMzM0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKOu9keq4sCDsnpHsl4XsnYQg7Leo7IaM7ZWY66Ck66m0IFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIuulvCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA1CisjOiB3dC1zdGF0dXMuYzoxMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICLtmITsnqwgJXMg7Luk67CL7J2EIOuQmOuPjOumrOuKlCDspJHsnoXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzEwCisjOiB3dC1zdGF0dXMuYzoxMzQ4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjstqnrj4zsnYQg67CU66Gc7J6h6rOgIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMxMworIzogd3Qtc3RhdHVzLmM6MTM1MQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKOuqqOuToCDstqnrj4zsnYQg67CU66Gc7J6h7JWY7Iq164uI64ukOiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwi66W8IOyLpO2Wie2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTUKKyM6IHd0LXN0YXR1cy5jOjEzNTMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgICjrkJjrj4zrpqzquLAg7J6R7JeF7J2EIOy3qOyGjO2VmOugpOuptCBcImdpdCByZXZlcnQgLS1hYm9ydFwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjYKKyM6IHd0LXN0YXR1cy5jOjEzNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICIn7J2065Ox67aE7ZWY64qUIOykkeyeheuLiOuLpC4gJyVzJyDruIzrnpzsuZjrtoDthLAg7Iuc7J6RLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMAorIzogd3Qtc3RhdHVzLmM6MTM2OAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIifsnbTrk7HrtoTtlZjripQg7KSR7J6F64uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMworIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAo7JuQ656YIOu4jOuenOy5mOuhnCDrj4zslYTqsIDroKTrqbQgXCJnaXQgYmlzZWN0IHJlc2V0XCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU2OAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgIu2YhOyerCDruIzrnpzsuZggIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM2CisjOiB3dC1zdGF0dXMuYzoxNTc0CiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAi64yA7ZmU7ZiVIOumrOuyoOydtOyKpCDsp4Ttlokg7KSRLiDqsIgg7JyE7LmY64qUICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzOAorIzogd3Qtc3RhdHVzLmM6MTU3NgogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIuumrOuyoOydtOyKpCDsp4Ttlokg7KSRLiDqsIgg7JyE7LmY64qUICIKIAotIzogd3Qtc3RhdHVzLmM6MTU0MworIzogd3Qtc3RhdHVzLmM6MTU4MQogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICJIRUFE6rCAIOuLpOydjCDsnITsuZjsl5DshJwg67aE66asOiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDUKKyM6IHd0LXN0YXR1cy5jOjE1ODMKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFE6rCAIOuLpOydjOycvOuhnOu2gO2EsCDrtoTrpqw6ICIKIAotIzogd3Qtc3RhdHVzLmM6MTU0OAorIzogd3Qtc3RhdHVzLmM6MTU4NgogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIu2YhOyerCDslrTrlqQg67iM656c7LmY64+EIOyCrOyaqe2VmOyngCDslYrsnYwuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTY2CisjOiB3dC1zdGF0dXMuYzoxNjA2CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIuy1nOy0iCDsu6TrsIsiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODAKKyM6IHd0LXN0YXR1cy5jOjE2MDcKK21zZ2lkICJObyBjb21taXRzIHlldCIKK21zZ3N0ciAi7JWE7KeBIOy7pOuwi+ydtCDsl4bsirXri4jri6QiCisKKyM6IHd0LXN0YXR1cy5jOjE2MjEKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuy2lOygge2VmOyngCDslYrripQg7YyM7J28IgogCi0jOiB3dC1zdGF0dXMuYzoxNTgyCisjOiB3dC1zdGF0dXMuYzoxNjIzCiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi66y07Iuc7ZWcIO2MjOydvCIKIAotIzogd3Qtc3RhdHVzLmM6MTU4NgorIzogd3Qtc3RhdHVzLmM6MTYyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtNDE2NiwyMCArNDUwMCwyMCBAQAogIidzdGF0dXMgLXVubycg7Ji17IWY7J2EIOyTsOuptCDruajrnbzsp4gg7IiY64+EIOyeiOyngOunjCwg7IOIIO2MjOydvOydhFxuIgogIuyngeygkSDssL7slYTshJwg7LaU6rCA7ZW07JW8IO2VqeuLiOuLpC4gKCdnaXQgaGVscCBzdGF0dXMnIOywuOqzoCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTIKKyM6IHd0LXN0YXR1cy5jOjE2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAi7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbzsnYQg67O07KeAIOyViuyKteuLiOuLpCVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTk0CisjOiB3dC1zdGF0dXMuYzoxNjM1CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiICjstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvOydhCDrs7TroKTrqbQgLXUg7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDAKKyM6IHd0LXN0YXR1cy5jOjE2NDEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICLrs4Dqsr0g7IKs7ZWtIOyXhuydjCIKIAotIzogd3Qtc3RhdHVzLmM6MTYwNQorIzogd3Qtc3RhdHVzLmM6MTY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgpAQCAtNDE4NywxMiArNDUyMSwxMiBAQAogIlwi66W8XG4iCiAi7IKs7Jqp7ZWY7Iut7Iuc7JikKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjA4CisjOiB3dC1zdGF0dXMuYzoxNjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgIuy7pOuwi+2VoCDrs4Dqsr0g7IKs7ZWt7J2EIOy2lOqwgO2VmOyngCDslYrslZjsirXri4jri6RcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYxMQorIzogd3Qtc3RhdHVzLmM6MTY1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtNDIwMiwzMjkgKzQ1MzYsMzY0IEBACiAiXCJnaXRcbiIKICJhZGRcIuulvCDsgqzsmqntlZjsi63si5zsmKQpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTQKKyM6IHd0LXN0YXR1cy5jOjE2NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIuy7pOuwi+2VoCDsgqztla3snYQg7LaU6rCA7ZWY7KeAIOyViuyVmOyngOunjCDstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvOydtCDsnojsirXri4jri6RcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYxNworIzogd3Qtc3RhdHVzLmM6MTY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogIuy7pOuwi+2VoCDsgqztla0g7JeG7J2MICjtjIzsnbzsnYQg66eM65Ok6rGw64KYIOuzteyCrO2VmOqzoCBcImdpdCBhZGRcIuulvCDsgqzsmqntlZjrqbQg7LaU7KCB7ZWp64uIIgogIuuLpClcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMCB3dC1zdGF0dXMuYzoxNjI1CisjOiB3dC1zdGF0dXMuYzoxNjYxIHd0LXN0YXR1cy5jOjE2NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAi7Luk67CL7ZWgIOyCrO2VrSDsl4bsnYxcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMworIzogd3Qtc3RhdHVzLmM6MTY2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICIiCiAi7Luk67CL7ZWgIOyCrO2VrSDsl4bsnYwgKOy2lOygge2VmOyngCDslYrripQg7YyM7J287J2EIOuztOugpOuptCAtdSDsmLXshZjsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjI3CisjOiB3dC1zdGF0dXMuYzoxNjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAi7Luk67CL7ZWgIOyCrO2VrSDsl4bsnYwsIOyekeyXhSDtj7TrjZQg6rmo64GX7ZWoXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MzQKLW1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCi1tc2dzdHIgIuy1nOy0iCDsu6TrsIssIOu4jOuenOy5mDogIgorIzogd3Qtc3RhdHVzLmM6MTc4MAorbXNnaWQgIk5vIGNvbW1pdHMgeWV0IG9uICIKK21zZ3N0ciAi7JWE7KeBIOy7pOuwi+ydtCDsl4bsirXri4jri6QsIOychOy5mDogPCIKIAotIzogd3Qtc3RhdHVzLmM6MTczOAorIzogd3Qtc3RhdHVzLmM6MTc4NAogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIkhFQUQgKOu4jOuenOy5mCDsl4bsnYwpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzY3Ci1tc2dpZCAiZ29uZSIKLW1zZ3N0ciAi7JeG7J2MIgotCi0jOiB3dC1zdGF0dXMuYzoxNzY5IHd0LXN0YXR1cy5jOjE3NzcKKyM6IHd0LXN0YXR1cy5jOjE4MTMgd3Qtc3RhdHVzLmM6MTgyMQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgIuuLpOydjCDrkqTsl5A6ICIKIAotIzogd3Qtc3RhdHVzLmM6MTc3MiB3dC1zdGF0dXMuYzoxNzc1CisjOiB3dC1zdGF0dXMuYzoxODE2IHd0LXN0YXR1cy5jOjE4MTkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgIuuLpOydjCDslZ7sl5A6ICIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKLSM6IHd0LXN0YXR1cy5jOjIyNzcKKyM6IHd0LXN0YXR1cy5jOjIzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiJXMg7ZWgIOyImCDsl4bsirXri4jri6Q6IOyKpO2FjOydtOynle2VmOyngCDslYrsnYAg67OA6rK9IOyCrO2VreydtCDsnojsirXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoyMjgzCisjOiB3dC1zdGF0dXMuYzoyMzE3CiBtc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLstpTqsIDroZwsIOyduOuNseyKpOyXkCDsu6TrsIvtlZjsp4Ag7JWK7J2AIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6MjI4NQorIzogd3Qtc3RhdHVzLmM6MjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiVzIO2VoCDsiJgg7JeG7Iq164uI64ukOiDsnbjrjbHsiqTsl5Ag7Luk67CL7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4iCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDE0CisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgIiclcycg7YyM7J28IOyCreygnOyXkCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPOyYteyFmD5dIFstLV0gPOqyveuhnOuqheyEuD4uLi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODAKKyM6IGJ1aWx0aW4vYWRkLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAi7JiI7IOB7LmYIOuqu+2VnCBkaWZmIOyDge2DnCAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQorIzogYnVpbHRpbi9hZGQuYzo4NyBidWlsdGluL2NvbW1pdC5jOjI5MgogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi7YyM7J28IOyXheuNsOydtO2KuOqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTUKKyM6IGJ1aWx0aW4vYWRkLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAiJyVzJyDsoJzqsbBcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkKKyM6IGJ1aWx0aW4vYWRkLmM6MTUxCiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIuyduOuNseyKpOulvCDsg4jroZwg6rOg7LmcIOuLpOydjCDsu6TrsIsg7ZGc7Iuc7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWtOiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDkgYnVpbHRpbi9yZXYtcGFyc2UuYzo4NDUKKyM6IGJ1aWx0aW4vYWRkLmM6MjExIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODczCiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLsnbjrjbHsiqTrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIwCisjOiBidWlsdGluL2FkZC5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiJyVzJyDtjIzsnbzsnYQg7JOw6riw7Jqp7Jy866GcIOyXtCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjQKKyM6IGJ1aWx0aW4vYWRkLmM6MjI2CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICLtjKjsuZjrpbwg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjI3CisjOiBidWlsdGluL2FkZC5jOjIyOQogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICLtjKjsuZgg7Y647KeR7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzAKKyM6IGJ1aWx0aW4vYWRkLmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSBzdGF0KCntlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjM0CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLruYgg7Yyo7LmYLiDspJHsp4AuIgogCi0jOiBidWlsdGluL2FkZC5jOjIzNworIzogYnVpbHRpbi9hZGQuYzoyMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsoIHsmqntlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDcKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ5CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICLri6TsnYwg6rK966Gc64qUIC5naXRpZ25vcmUg7YyM7J28IOykkSDtlZjrgpgg65WM66y47JeQIOustOyLnO2VqeuLiOuLpDpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjYgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vbXYuYzoxMjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTk4IGJ1aWx0aW4vcHVzaC5jOjUyNAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI2IGJ1aWx0aW4vcm0uYzoyNDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY5IGJ1aWx0aW4vY2xlYW4uYzo5MDcgYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjIwMSBidWlsdGluL3B1c2guYzo1MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjQyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAi6rCA7Kec66GcIOyLpO2WiSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjkKKyM6IGJ1aWx0aW4vYWRkLmM6MjcyCiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAi64yA7ZmU7Iud7Jy866GcIOqzoOumheuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzAgYnVpbHRpbi9jaGVja291dC5jOjExNTkgYnVpbHRpbi9yZXNldC5jOjI4NgorIzogYnVpbHRpbi9hZGQuYzoyNzMgYnVpbHRpbi9jaGVja291dC5jOjExNjIgYnVpbHRpbi9yZXNldC5jOjI5OQogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICLrjIDtmZTsi53snLzroZwg67OA6rK965CcIOu2gOu2hOydhCDshKDtg53tlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcxCisjOiBidWlsdGluL2FkZC5jOjI3NAogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAi7ZiE7J6sIGRpZmbrpbwg7Y647KeR7ZWY6rOgIOyggeyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLrrLTsi5ztlZjripQg7YyM7J287J2YIOy2lOqwgOulvCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjczCisjOiBidWlsdGluL2FkZC5jOjI3NgogbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgogbXNnc3RyICLstpTsoIHrkJjripQg7YyM7J287J2EIOyXheuNsOydtO2KuO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzQKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc3CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICLrgpjspJHsl5Ag7LaU6rCA7ZWgIOqyg+ydtOudvOuKlCDsgqzsi6Trp4wg6riw66Gd7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjI3NQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuy2lOyggeuQmOqzoCDstpTsoIHrkJjsp4Ag7JWK64qUIOuqqOuToCDtjIzsnbzsnZgg67OA6rK9IOyCrO2VreydhCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjc4CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICLsnpHsl4Ug7Y+0642U7JeQ7IScIOygnOqxsO2VnCDqsr3roZzrpbwg66y07Iuc7ZWp64uI64ukICgtLW5vLWFsbOqzvCDrj5nsnbwpIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzoyODMKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgIuy2lOqwgO2VmOyngCDslYrqs6Ag7J24642x7Iqk66eMIOyDiOuhnCDqs6Dsuanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgxCisjOiBidWlsdGluL2FkZC5jOjI4NAogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIuyYpOulmCDrlYzrrLjsl5Ag7LaU6rCA7ZWgIOyImCDsl4bripQg7YyM7J287J2EIOqxtOuEiOucgeuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyODIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg1CiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICLqsIDsp5zroZwg7Iuk7ZaJ7ZaI7J2EIOuVjCDtjIzsnbzsnYQg66y07Iuc7ZWY64qU7KeAIO2ZleyduO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg2IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCiBtc2dpZCAiKCsvLSl4IgogbXNnc3RyICIoKy8tKXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MwogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICLrqqnroZ3snZgg7YyM7J287JeQ7IScIOyLpO2WiSDqsIDriqUg67mE7Yq466W8IOuwlOq/ieuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzozMDUKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg4Cittc2dpZCAid2FybiB3aGVuIGFkZGluZyBhbiBlbWJlZGRlZCByZXBvc2l0b3J5IgorbXNnc3RyICLrgrTsnqUg7KCA7J6l7IaM66W8IOy2lOqwgO2VoCDrlYwg6rK96rOg66W8IO2RnOyLnO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9hZGQuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSd2ZSBhZGRlZCBhbm90aGVyIGdpdCByZXBvc2l0b3J5IGluc2lkZSB5b3VyIGN1cnJlbnQgcmVwb3NpdG9yeS5cbiIKKyJDbG9uZXMgb2YgdGhlIG91dGVyIHJlcG9zaXRvcnkgd2lsbCBub3QgY29udGFpbiB0aGUgY29udGVudHMgb2ZcbiIKKyJ0aGUgZW1iZWRkZWQgcmVwb3NpdG9yeSBhbmQgd2lsbCBub3Qga25vdyBob3cgdG8gb2J0YWluIGl0LlxuIgorIklmIHlvdSBtZWFudCB0byBhZGQgYSBzdWJtb2R1bGUsIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+ICVzXG4iCisiXG4iCisiSWYgeW91IGFkZGVkIHRoaXMgcGF0aCBieSBtaXN0YWtlLCB5b3UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZVxuIgorImluZGV4IHdpdGg6XG4iCisiXG4iCisiXHRnaXQgcm0gLS1jYWNoZWQgJXNcbiIKKyJcbiIKKyJTZWUgXCJnaXQgaGVscCBzdWJtb2R1bGVcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyLtmITsnqwg7KCA7J6l7IaMIOyViOyXkCDrmJAg64uk66W4IOq5gyDsoIDsnqXshozrpbwg7LaU6rCA7ZaI7Iq164uI64ukLiDsmbjrtoAg7KCA7J6l7IaM66W8IOuzteygnO2VtOuPhFxuIgorIuuCtOyepeuQnCDsoIDsnqXshozsnZgg64K07Jqp7J2EIOuzteygnO2VmOynhCDslYrqs6Ag7Ja065a76rKMIOuCtOyepeuQnCDsoIDsnqXshowg64K07Jqp7J2EIOyWu+ydhOyngCDsoJXrs7QiCisi64+EXG4iCisi7JeG7Iq164uI64ukLiDtlZjsnIQg66qo65OI7J2EIOy2lOqwgO2VmOugpOuptCwg64uk7J2MIOuqheugueydhCDsgqzsmqntlZjsi63si5zsmKQ6XG4iCisiXG4iCisiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIuyLpOyImOuhnCDsnbQg6rK966Gc66W8IOy2lOqwgO2WiOuLpOuptCDri6TsnYwg66qF66C57Jy866GcIOyduOuNseyKpOyXkOyEnCDsoJzqsbDtlaAg7IiYIOyeiOyKteuLiOuLpDpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIuuNlCDsnpDshLjtlZwg7KCV67O064qUIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCLsnYQg7LC46rOg7ZWY7Iut7Iuc7JikLiIKKworIzogYnVpbHRpbi9hZGQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAi64K07J6lIOq5gyDsoIDsnqXshowg7LaU6rCAOiAlcyIKKworIzogYnVpbHRpbi9hZGQuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAi7KCV66eQ66GcIOy2lOqwgO2VmOugpOuptCAtZiDsmLXshZjsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjMxMgorIzogYnVpbHRpbi9hZGQuYzozNTcKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLtjIzsnbwg7LaU6rCA6rCAIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzozNDgKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk0CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIOuwjyAtdSDsmLXshZjsnYAg7ISc66GcIO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU1CisjOiBidWlsdGluL2FkZC5jOjQwMQogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIiIKICItLWlnbm9yZS1taXNzaW5nIOyYteyFmOydgCAtLWRyeS1ydW4g7Ji17IWY6rO8IOqwmeydtCDsgqzsmqntlaAg6rK97Jqw7JeQ66eMIOyTuCDsiJgg7J6I7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTkKKyM6IGJ1aWx0aW4vYWRkLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKIG1zZ3N0ciAiLS1jaG1vZCDtjIzrnbzrr7jthLAgJyVzJ+ydgCjripQpIC14IOuYkOuKlCAreCDtmJXsi53snbTslrTslbwg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjM3NAorIzogYnVpbHRpbi9hZGQuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIuyVhOustCDqsoPrj4Qg7KeA7KCV7ZWY7KeAIOyViuyVmOycvOuvgOuhnCDslYTrrLQg6rKD64+EIOy2lOqwgO2VmOyngCDslYrsirXri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc1CisjOiBidWlsdGluL2FkZC5jOjQyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiJ2dpdCBhZGQgLicg66qF66C57J2EIOyLpO2Wie2VmOugpOqzoCDtlZwg6rKDIOyVhOuLiOyXiOyKteuLiOq5jD9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozODAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jaGVja291dC5jOjI3OQotIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MiBidWlsdGluL2NsZWFuLmM6OTE0IGJ1aWx0aW4vY29tbWl0LmM6MzUwCi0jOiBidWlsdGluL212LmM6MTQzIGJ1aWx0aW4vcmVzZXQuYzoyMzUgYnVpbHRpbi9ybS5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzo0MjYgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzYgYnVpbHRpbi9jaGVja291dC5jOjI4MgorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3NSBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzUxCisjOiBidWlsdGluL212LmM6MTQ0IGJ1aWx0aW4vcmVzZXQuYzoyMzggYnVpbHRpbi9ybS5jOjI3MgogIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0NAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAi7J24642x7IqkIO2MjOydvOydtCDshpDsg4HrkJjsl4jsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzo0MTQKKyM6IGJ1aWx0aW4vYW0uYzo0MTMKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAi7J6R7ISx7J6QIOyKpO2BrOumve2KuOulvCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjQ5MQorIzogYnVpbHRpbi9hbS5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICJhcHBseXBhdGNoLW1zZyDtm4Ug65WM66y47JeQICclcyfsnbQo6rCAKSDsgq3soJzrkJjsl4jsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6NTMyCisjOiBidWlsdGluL2FtLmM6NTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAi7J6Y66q765CcIO2YleyLneydmCDsnoXroKUg7KSEOiAnJXMnLiIKIAotIzogYnVpbHRpbi9hbS5jOjU2OQorIzogYnVpbHRpbi9hbS5jOjU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCAnJXMnKOycvCnroZwg64W47Yq466W8IOuzteyCrO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1OTUKKyM6IGJ1aWx0aW4vYW0uYzo1OTMKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgImZzZWVrIOyLpO2MqCIKIAotIzogYnVpbHRpbi9hbS5jOjc3NQorIzogYnVpbHRpbi9hbS5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAiJyVzJyDtjKjsuZjrpbwg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NDAKKyM6IGJ1aWx0aW4vYW0uYzo4NDIKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAi7ZWc67KI7JeQIO2VmOuCmOydmCBTdEdJVCDtjKjsuZgg7Iuc66as7KaI66eMIOyggeyaqe2VoCDsiJgg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6ODg3CisjOiBidWlsdGluL2FtLmM6ODg5CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIuyLnOqwgeydtCDsnpjrqrvrkJjsl4jsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4OTAgYnVpbHRpbi9hbS5jOjg5OAorIzogYnVpbHRpbi9hbS5jOjg5MiBidWlsdGluL2FtLmM6OTAwCiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgIkRhdGUg7KSE7J20IOyemOuqu+uQmOyXiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjg5NQorIzogYnVpbHRpbi9hbS5jOjg5NwogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICLsi5zqsITrjIAg7Jik7ZSE7IWL7J20IOyemOuqu+uQmOyXiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjk4NAorIzogYnVpbHRpbi9hbS5jOjk4NgogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAi7Yyo7LmYIO2YleyLnSDqsoDsg4nsnbQg7Iuk7Yyo7ZaI7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9hbS5jOjk4OSBidWlsdGluL2Nsb25lLmM6Mzc5CisjOiBidWlsdGluL2FtLmM6OTkxIGJ1aWx0aW4vY2xvbmUuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiJyVzJyDrlJTroInthLDrpqwg66eM65Ok6riw6rCAIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjk5MworIzogYnVpbHRpbi9hbS5jOjk5NQogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAi7Yyo7LmY66W8IOyqvOqwnOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgorIzogYnVpbHRpbi9hbS5jOjExMjAgYnVpbHRpbi9jb21taXQuYzozNzcKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi7J24642x7IqkIO2MjOydvOydhCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjExNzYKKyM6IGJ1aWx0aW4vYW0uYzoxMTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgogbXNnc3RyICLsnbQg66y47KCc66W8IO2VtOqysO2WiOydhCDrlYwgXCIlcyAtLWNvbnRpbnVlXCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9hbS5jOjExNzcKKyM6IGJ1aWx0aW4vYW0uYzoxMTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKIG1zZ3N0ciAi7J20IO2MqOy5mOulvCDqsbTrhIjrm7DroKTrqbQsIOq3uCDrjIDsi6AgXCIlcyAtLXNraXBcIuydhCDsi6TtlontlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL2FtLmM6MTE3OAorIzogYnVpbHRpbi9hbS5jOjExNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICIiCiAi7JuQ656YIOu4jOuenOy5mOulvCDrs7XqtaztlZjqs6Ag7Yyo7LmYIOyggeyaqeydhCDspJHsp4DtlZjroKTrqbQgXCIlcyAtLWFib3J0XCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMTYKLW1zZ2lkICJQYXRjaCBpcyBlbXB0eS4gV2FzIGl0IHNwbGl0IHdyb25nPyIKLW1zZ3N0ciAi7Yyo7LmY6rCAIOu5hOyWtCDsnojsirXri4jri6QuIOyemOuquyDsqrzqsJzsp4Dsp4Ag7JWK7JWY64KY7JqUPyIKKyM6IGJ1aWx0aW4vYW0uYzoxMzA0Cittc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgorbXNnc3RyICLtjKjsuZjqsIAg67mE7Ja0IOyeiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vbG9nLmM6MTU1MAorIzogYnVpbHRpbi9hbS5jOjEzNzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKLW1zZ3N0ciAi7J6Y66q765CcIOyLoOybkCDspIQ6ICVzIgorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKK21zZ3N0ciAi7J6Y66q765CcIOyLoOybkCDspIQ6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDE3CisjOiBidWlsdGluL2FtLmM6MTM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgogbXNnc3RyICIlcyDsu6TrsIvsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEwCisjOiBidWlsdGluL2FtLmM6MTU4NgogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIuyggOyepeyGjOyXkCAzLeuwqe2WpSDrs5HtlansnLzroZwg64yA7Iug7ZWgIOuVjCDtlYTsmpTtlZwg67iU66Gt7J20IOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEyCisjOiBidWlsdGluL2FtLmM6MTU4OAogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgIuyduOuNseyKpCDsoJXrs7Trpbwg7IKs7Jqp7ZW0IOq4sOuzuCDtirjrpqzrpbwg64uk7IucIOunjOuTreuLiOuLpC4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzEKKyM6IGJ1aWx0aW4vYW0uYzoxNjA3CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTQ1MzIsMzggKzQ5MDEsMzggQEAKICLtjKjsuZjrpbwg7KeB7KCRIO2OuOynke2VmOyFqOyKteuLiOq5jD9cbiIKICLsnbQg7Yyo7LmY64qUIOyduOuNseyKpOyXkCDquLDroZ3rkJwg67iU66Gt7JeQ64qUIOyggeyaqeuQmOyngCDslYrsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MTYzNworIzogYnVpbHRpbi9hbS5jOjE2MTMKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCiBtc2dzdHIgIuuyoOydtOyKpCDtjKjsuZgg7KCB7JqpIOuwjyAzLeuwqe2WpSDrs5HtlansnLzroZwg64yA7Iug7ZWp64uI64ukLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTY2MgorIzogYnVpbHRpbi9hbS5jOjE2MzgKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgogbXNnc3RyICLrs4Dqsr0g7IKs7ZWt7JeQ7IScIOuzke2Vqe2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjMyCisjOiBidWlsdGluL2FtLmM6MTY2MiBidWlsdGluL21lcmdlLmM6NjMyCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWXqsIAg7Yq466as66W8IOyTsOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjkzCisjOiBidWlsdGluL2FtLmM6MTY2OQogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgIuu5iCDsu6TrsIsg64K07Jet7JeQIOuMgO2VtCDsoIHsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2NCBidWlsdGluL21lcmdlLmM6ODAyCi0jOiBidWlsdGluL21lcmdlLmM6ODI3CisjOiBidWlsdGluL2FtLmM6MTY4MiBidWlsdGluL2NvbW1pdC5jOjE3NjcgYnVpbHRpbi9tZXJnZS5jOjgwMworIzogYnVpbHRpbi9tZXJnZS5jOjgyOAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICLsu6TrsIsg7Jik67iM7KCd7Yq466W8IOyTsOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCisjOiBidWlsdGluL2FtLmM6MTcxNSBidWlsdGluL2FtLmM6MTcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIuuLpOyLnCDsi5zsnpHtlaAg7IiYIOyXhuyKteuLiOuLpDogJXPsnbQo6rCAKSDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MTc1OQorIzogYnVpbHRpbi9hbS5jOjE3MzUKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKICLthLDrr7jrhJDsl5Ag7ZGc7KSAIOyeheugpeydtCDsl7DqsrDrkJjsp4Ag7JWK7J2AIOyDge2DnOyXkOyEnCDrjIDtmZTtmJXsnLzroZwg7Iuk7ZaJ7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MTc2NAorIzogYnVpbHRpbi9hbS5jOjE3NDAKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCiBtc2dzdHIgIuy7pOuwiyDrs7jrrLjsnYA6IgogCkBAIC00NTcxLDM1ICs0OTQwLDM1IEBACiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCiAjLgotIzogYnVpbHRpbi9hbS5jOjE3NzQKKyM6IGJ1aWx0aW4vYW0uYzoxNzUwCiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAi7KCB7JqpPyDsmIhbeV0v7JWE64uI7JikW25dL+2OuOynkVtlXS/tjKjsuZgg67O06riwW3ZdL+uqqOuRkCDsoIHsmqlbYV06ICIKIAotIzogYnVpbHRpbi9hbS5jOjE4MjQKKyM6IGJ1aWx0aW4vYW0uYzoxODAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAi67OA6rK965CcIOyduOuNseyKpDog7Yyo7LmY66W8IOyggeyaqe2VoCDsiJgg7JeG7Iq164uI64ukIChkaXJ0eTogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTg2MSBidWlsdGluL2FtLmM6MTkzMworIzogYnVpbHRpbi9hbS5jOjE4NDAgYnVpbHRpbi9hbS5jOjE5MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIuyggeyaqe2VmOuKlCDspJE6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODc3CisjOiBidWlsdGluL2FtLmM6MTg1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAi67OA6rK9IOyCrO2VrSDsl4bsnYwgLS0g7Yyo7LmY6rCAIOydtOuvuCDsoIHsmqnrkJjsl4jsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MTg4NQorIzogYnVpbHRpbi9hbS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgIu2MqOy5mOqwgCAlcyAlLipzIOychOy5mOyXkOyEnCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkxCisjOiBidWlsdGluL2FtLmM6MTg3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgogbXNnc3RyICLsi6TtjKjtlZwg7Yyo7LmY7J2YIOuzteyCrOuzuOydtCDri6TsnYwg7JyE7LmY7JeQIOyeiOyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTM2CisjOiBidWlsdGluL2FtLmM6MTkxNQogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKQEAgLTQ2MDksMjUgKzQ5NzgsMjggQEAKICLsu6TrsIvsnLzroZwg7ZGc7Iuc7ZWgIOyCrO2VreydtCDrgqjslYQg7J6I7KeAIOyViuycvOuptCwg7J2066+4IOqwmeydgCDtjKjsuZjsl5DshJwg7KCB7Jqp65CcXG4iCiAi6rK97Jqw7J28IOyImOuPhCDsnojsirXri4jri6QuIOq3uOufsCDqsr3smrDsl5DripQg7J20IO2MqOy5mOulvCDqsbTrhIjrm7DrqbQg65Cp64uI64ukLiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDMKKyM6IGJ1aWx0aW4vYW0uYzoxOTIyCiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCi0iRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCisiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCisic3VjaC5cbiIKKyJZb3UgbWlnaHQgcnVuIGBnaXQgcm1gIG9uIGEgZmlsZSB0byBhY2NlcHQgXCJkZWxldGVkIGJ5IHRoZW1cIiBmb3IgaXQuIgogbXNnc3RyICIiCi0i7J24642x7Iqk7JeQIOuzke2Vqe2VmOyngCDslYrsnYAg6rK966Gc6rCAIOuCqOyVhCDsnojsirXri4jri6QuXG4iCi0iJ2dpdCBhZGQnIOyCrOyaqeydhCDsnorsp4Ag7JWK7Jy87IWo7Iq164uI6rmMPyIKKyLsnbjrjbHsiqTsl5Ag7JWE7KeBIOuzke2Vqe2VmOyngCDslYrsnYAg6rK966Gc6rCAIOuCqOyVhCDsnojsirXri4jri6QuXG4iCisi7Lap64+M7J2EIO2VtOqysO2VnCDtjIzsnbzsnYQgJ2dpdCBhZGQn7ZW07IScIO2VtOqysO2WiOuLpOqzoCDtkZzsi5ztlbTslbwg7ZWp64uI64ukLlxuIgorIu2MjOydvOydmCBcIuyggCDsqr3sl5DshJwg7IKt7KCcXCLrpbwg67Cb7JWE65Ok7J2066Ck66m0IGBnaXQgcm1g7J2EIOyLpO2Wie2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDUxIGJ1aWx0aW4vYW0uYzoyMDU1IGJ1aWx0aW4vYW0uYzoyMDY3IGJ1aWx0aW4vcmVzZXQuYzozMDgKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMDMxIGJ1aWx0aW4vYW0uYzoyMDM1IGJ1aWx0aW4vYW0uYzoyMDQ3IGJ1aWx0aW4vcmVzZXQuYzozMjMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiJyVzJyDsmKTruIzsoJ3tirjrpbwg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MjEwMworIzogYnVpbHRpbi9hbS5jOjIwODMKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgIuyduOuNseyKpCDsp4DsmrDquLDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjEzNworIzogYnVpbHRpbi9hbS5jOjIxMTcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKQEAgLTQ2MzUsMTM2ICs1MDA3LDEzNyBAQAogIuuniOyngOuniSAnYW0nIOyLpO2MqCDsnbTtm4QgSEVBROulvCDsmK7quLQg6rKDIOqwmeyKteuLiOuLpC5cbiIKICJPUklHX0hFQUTroZwg65CY64+M66as7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjAwCisjOiBidWlsdGluL2FtLmM6MjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCiBtc2dzdHIgIi0tcGF0Y2gtZm9ybWF0IOyYteyFmOyXkCDrjIDtlbQg7J6Y66q765CcIOqwkjogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjMzCisjOiBidWlsdGluL2FtLmM6MjIxMwogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogbXNnc3RyICJnaXQgYW0gWzzsmLXshZg+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogCi0jOiBidWlsdGluL2FtLmM6MjIzNAorIzogYnVpbHRpbi9hbS5jOjIyMTQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs87Ji17IWYPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMjIwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIuuMgO2ZlO2YleycvOuhnCDsi6Ttlontlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQyCisjOiBidWlsdGluL2FtLmM6MjIyMgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICLslYTrrLQg64+Z7J6R64+EIO2VmOyngCDslYrsirXri4jri6QgKOqzvOqxsOu2gO2EsCDsnojsl4jrjZgg7Ji17IWYKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDQKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0CiBtc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCiBtc2dzdHIgIu2VhOyalO2VmOuptCAzLeuwqe2WpSDrs5HtlansnLzroZwg64yA7Iug7ZWY64+E66GdIO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc4CisjOiBidWlsdGluL2FtLmM6MjIyNSBidWlsdGluL2luaXQtZGIuYzo0ODQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NworIzogYnVpbHRpbi9yZXBhY2suYzoxODAKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAi6rCE65617Z6IIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDcKKyM6IGJ1aWx0aW4vYW0uYzoyMjI3CiBtc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieSBsaW5lIHRvIHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAi7Luk67CLIOuplOyLnOyngOyXkCBTaWduZWQtb2ZmLWJ5IOykhOydhCDrgqjquYHri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUwCisjOiBidWlsdGluL2FtLmM6MjIzMAogbXNnaWQgInJlY29kZSBpbnRvIHV0ZjggKGRlZmF1bHQpIgogbXNnc3RyICJVVEYtOCDsnbjsvZTrlKnsnLzroZwg67OA7ZmY7ZWp64uI64ukICjquLDrs7jqsJIpIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MgorIzogYnVpbHRpbi9hbS5jOjIyMzIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJnaXQtbWFpbGluZm/sl5AgLWsg7Ji17IWY7J2EIOyUgeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQKKyM6IGJ1aWx0aW4vYW0uYzoyMjM0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiZ2l0LW1haWxpbmZv7JeQIC1iIOyYteyFmOydhCDslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU2CisjOiBidWlsdGluL2FtLmM6MjIzNgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgImdpdC1tYWlsaW5mb+yXkCAtbSDsmLXshZjsnYQg7JSB64uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjI1OAorIzogYnVpbHRpbi9hbS5jOjIyMzgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICJtYm94IO2YleyLneyXkCDrjIDtlbQgZ2l0LW1haWxzcGxpdOyXkCAtLWtlZXAtY3Ig7Ji17IWY7J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMjQxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgIiIKICJhbS5rZWVwY3Lsl5Ag66y06rSA7ZWY6rKMIGdpdC1tYWlsc3BsaXTsl5AgLS1rZWVwLWNyIOyYteyFmOydhCDsgqzsmqntlZjsp4Ag7JWK7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjQKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICLsoIjst6jshKAg7JWe7J2YIOuqqOuToCDsgqztla3snYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2FtLmM6MjI3MiBidWlsdGluL2FtLmM6MjI3NQotIzogYnVpbHRpbi9hbS5jOjIyNzggYnVpbHRpbi9hbS5jOjIyODEgYnVpbHRpbi9hbS5jOjIyODQgYnVpbHRpbi9hbS5jOjIyODcKLSM6IGJ1aWx0aW4vYW0uYzoyMjkzCisjOiBidWlsdGluL2FtLmM6MjI0NiBidWlsdGluL2FtLmM6MjI0OSBidWlsdGluL2FtLmM6MjI1MiBidWlsdGluL2FtLmM6MjI1NQorIzogYnVpbHRpbi9hbS5jOjIyNTggYnVpbHRpbi9hbS5jOjIyNjEgYnVpbHRpbi9hbS5jOjIyNjQgYnVpbHRpbi9hbS5jOjIyNjcKKyM6IGJ1aWx0aW4vYW0uYzoyMjczCiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAiZ2l0LWFwcGx57JeQIOuEmOq5geuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQotIzogYnVpbHRpbi9ncmVwLmM6MTAzOCBidWlsdGluL21lcmdlLmM6MjAyIGJ1aWx0aW4vcHVsbC5jOjEzNQotIzogYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmVwYWNrLmM6MTg3IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkgYnVpbHRpbi90YWcuYzozNTUKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBidWlsdGluL2FtLmM6MjI2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzoxMDY0IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTQyCisjOiBidWlsdGluL3B1bGwuYzoxOTcgYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk1IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzEgYnVpbHRpbi9zaG93LXJlZi5jOjE2OQorIzogYnVpbHRpbi90YWcuYzozOTkgcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAibiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CisjOiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQgYnVpbHRpbi90YWcuYzo0MzQgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgIu2YleyLnSIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgogbXNnc3RyICLtjKjsuZjsnZgg7ZiV7IudIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NgorIzogYnVpbHRpbi9hbS5jOjIyNzYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIu2MqOy5mCDsi6TtjKjqsIAg67Cc7IOd7ZaI7J2EIOuVjCDsmKTrpZgg66mU7Iuc7KeAIOuMgOyLoCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk4CisjOiBidWlsdGluL2FtLmM6MjI3OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgIuy2qeuPjOydhCDtlbTqsrDtlZwg64uk7J2MIO2MqOy5mCDsoIHsmqnsnYQg6rOE7IaN7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjMwMQorIzogYnVpbHRpbi9hbS5jOjIyODEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAiLS1jb250aW51ZSDsmLXshZjqs7wg64+Z7J28IgogCi0jOiBidWlsdGluL2FtLmM6MjMwNAorIzogYnVpbHRpbi9hbS5jOjIyODQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICLtmITsnqwg7Yyo7LmYIOqxtOuEiOubsOq4sCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDcKKyM6IGJ1aWx0aW4vYW0uYzoyMjg3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAi7JuQ656YIOu4jOuenOy5mOulvCDrs7XqtaztlZjqs6Ag7Yyo7LmYIOyggeyaqSDsnpHsl4XsnYQg7KSR7KeA7ZWp64uI64ukLiIKIAogIyBOT1RFOiDsmLXshZjsnZgg7J2Y66+464qUIOydtOqyjCDrp57ri6QuIOybkOusuOyXkOyEnOuKlCDsgqzsmqnsnpDqsIAKICMgLS1jb21taXR0ZXItZGF0ZS1pcy1hdXRob3ItZGF0ZeudvOuKlCDsmLXshZjsnYQg67O06rOgIOydmOuvuOulvCDslYwg7IiYIOyeiOuLpOqzoCDqsIDsoJXtlZjqs6Ag7J6I64ukLgotIzogYnVpbHRpbi9hbS5jOjIzMTEKKyM6IGJ1aWx0aW4vYW0uYzoyMjkxCiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICLsu6Trr7jthLAg7Iuc6rCB7J2EIOyekeyEseyekCDsi5zqsIHsnLzroZwg64Sj7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMworIzogYnVpbHRpbi9hbS5jOjIyOTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICLtmITsnqwg7Iuc6rCB7J2EIOyekeyEseyekCDsi5zqsIHsnLzroZwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNSBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9tZXJnZS5jOjIzMwotIzogYnVpbHRpbi9wdWxsLmM6MTY1IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNzAKKyM6IGJ1aWx0aW4vYW0uYzoyMjk1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjMzCisjOiBidWlsdGluL3B1bGwuYzoxNzIgYnVpbHRpbi9yZXZlcnQuYzoxMTIgYnVpbHRpbi90YWcuYzo0MTQKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgIu2CpC1JRCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAiR1BHLXNpZ24gY29tbWl0cyIKIG1zZ3N0ciAiR1BHIOyEnOuqhSDsu6TrsIsiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE5CisjOiBidWlsdGluL2FtLmM6MjI5OQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIoZ2l0LXJlYmFzZeulvCDsnITtlZwg64K067aAIOyaqeuPhCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM0CisjOiBidWlsdGluL2FtLmM6MjMxNwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTQ3NzIsMTYgKzUxNDUsMTYgQEAKICItYi8tLWJpbmFyeSDsmLXshZjsnYAg7Jik656cIOyLnOqwhCDrj5nslYgg7JWE66y0IOuPmeyekeuPhCDtlZjsp4Ag7JWK7JWY7Jy866+A66GcLCDsnbRcbiIKICLsmLXshZjsnYAg7KCc6rGw65CgIOyYiOygleyeheuLiOuLpC4g7J207KCcIOyCrOyaqe2VmOyngCDrp4jsi63si5zsmKQuIgogCi0jOiBidWlsdGluL2FtLmM6MjM0MQorIzogYnVpbHRpbi9hbS5jOjIzMjQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIuyduOuNseyKpCDsnb3quLDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjM1NgorIzogYnVpbHRpbi9hbS5jOjIzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICLsnbTsoIQg66as67Kg7J207IqkIOuUlOugie2EsOumrCAlc+ydtCjqsIApIOyVhOyngSDsnojqs6AgbWJveOulvCDsp4DsoJXtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MjM4MAorIzogYnVpbHRpbi9hbS5jOjIzNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTQ3OTAsNyArNTE2Myw3IEBACiAi67KX7Ja064KcICVzIOuUlOugie2EsOumrOqwgCDrsJzqsqzrkJjsl4jsirXri4jri6QuXG4iCiAi7KCc6rGw7ZWY66Ck66m0IFwiZ2l0IGFtIC0tYWJvcnRcIuulvCDsgqzsmqntlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL2FtLmM6MjM4NgorIzogYnVpbHRpbi9hbS5jOjIzNjkKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICLtlbTshowg7J6R7JeF7J20IOynhO2WiSDspJHsnoXri4jri6QuIOuLpOyLnCDsi5zsnpHtlZjsp4Ag7JWK7Iq164uI64ukLiIKIApAQCAtNDgyMCwxMSArNTE5Myw2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBOQUNLICVzIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICLrpqzrqqjtirgg7Jik66WYOiAlcyIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiDtlITroZzthqDsvZwg7Jik66WYIgpAQCAtNDg0NSwxOTAgKzUyMTMsMTY2IEBACiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAi7ZiE7J6sIOy7pOuwi+ydhCDqsIDsoLjsmKTripQg64yA7IugIEJJU0VDVF9IRUFE66W8IOyXheuNsOydtO2KuO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjMzCisjOiBidWlsdGluL2JsYW1lLmM6MjcKIG1zZ2lkICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iCiBtc2dzdHIgImdpdCBibGFtZSBbPOyYteyFmD5dIFs866as67mE7KCELeyYteyFmD5dIFs866as67mE7KCEPl0gWy0tXSA87YyM7J28PiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjM4CisjOiBidWlsdGluL2JsYW1lLmM6MzIKIG1zZ2lkICI8cmV2LW9wdHM+IGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiPOumrOu5hOyghC3smLXshZg+7J2AIGdpdC1yZXYtbGlzdCgxKeyXkCDshKTrqoXrkJjslrQg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4NgotbXNnaWQgIkJsYW1pbmcgbGluZXMiCi1tc2dzdHIgIuu4lOugiOyehCDspIQiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCisjOiBidWlsdGluL2JsYW1lLmM6NjY4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAi67iU66CI7J6EIO2VreuqqeydhCDssL7snpDrp4jsnpAg7KCQ7KeE7KCB7Jy866GcIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NjkKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLqsIDsnqXsnpDrpqwg7Luk67CL7JeQIOuMgO2VtCDruYggU0hBLTHsnYQg7ZGc7Iuc7ZWp64uI64ukICjquLDrs7jqsJI6IOq6vOynkCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg0CisjOiBidWlsdGluL2JsYW1lLmM6NjcwCiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLstZzsg4HsnIQg7Luk67CL7J2EIOqwgOyepeyekOumrCDsu6TrsIvsnLzroZwg7Leo6riJ7ZWY7KeAIOyViuyKteuLiOuLpCAo6riw67O46rCSOiDqurzsp5ApIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NQorIzogYnVpbHRpbi9ibGFtZS5jOjY3MQogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIuyekeyXhSDruYTsmqkg7Ya16rOE66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzIKIG1zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIuqwleygnOuhnCDsp4Ttlokg7IOB7Zmp7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzMKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKIG1zZ3N0ciAi67iU66CI7J6EIO2VreuqqeyXkCDrjIDtlbQg7Lac66ClIOygkOyImOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CisjOiBidWlsdGluL2JsYW1lLmM6Njc0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIuybkOuemCDtjIzsnbwg7J2066aEIO2RnOyLnCAo6riw67O46rCSOiDsnpDrj5kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4OQorIzogYnVpbHRpbi9ibGFtZS5jOjY3NQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi7JuQ656YIOykhCDrsojtmLgg7ZGc7IucICjquLDrs7jqsJI6IO2VmOyngCDslYrsnYwpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MAorIzogYnVpbHRpbi9ibGFtZS5jOjY3NgogbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCiBtc2dzdHIgIuy7tO2TqO2EsCDsspjrpqzsmqnsnLzroZwg7ISk6rOE65CcIO2YleyLneycvOuhnCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkxCisjOiBidWlsdGluL2JsYW1lLmM6Njc3CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICLspITrp4jri6Qg7Luk67CLIOygleuztOqwgCDtkZzsi5zrkJjripQg7IKs7Jqp7J6Q7JqpIO2YleyLneycvOuhnCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkyCisjOiBidWlsdGluL2JsYW1lLmM6Njc4CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiZ2l0LWFubm90YXRl7JmAIOuPmeydvO2VnCDtmJXsi53snYQg7IKs7Jqp7ZWp64uI64ukICjquLDrs7jqsJI6IOq6vOynkCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkzCisjOiBidWlsdGluL2JsYW1lLmM6Njc5CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLrgrTrtoAg7ZiV7Iud7Jy866GcIOyLnOqwgeydhCDtkZzsi5ztlanri4jri6QgKOq4sOuzuOqwkjog6rq87KeQKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODAKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuq4uOqyjCDsu6TrsIsgU0hBMeydhCDtkZzsi5ztlanri4jri6QgKOq4sOuzuOqwkjog6rq87KeQKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODEKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLsnpHshLHsnpAg7J2066aE6rO8IOyLnOqwgeydhCDtkZzsi5ztlZjsp4Ag7JWK7Iq164uI64ukICjquLDrs7jqsJI6IOq6vOynkCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk2CisjOiBidWlsdGluL2JsYW1lLmM6NjgyCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLsnpHshLHsnpAg7J2066aEIOuMgOyLoOyXkCDsoITsnpDrqZTsnbzsnYQg7ZGc7Iuc7ZWp64uI64ukICjquLDrs7jqsJI6IOq6vOynkCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk3CisjOiBidWlsdGluL2JsYW1lLmM6NjgzCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIuqzteuwsSDrrLjsnpAg7LCo7J207KCQ7J2EIOustOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTAKIG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgogbXNnc3RyICJkaWZm66W8IO2WpeyDge2VmOuKlOuNsCDsi6Ttl5jsoIHsnbgg7Zy066as7Iqk7Yux7J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIuuNlCDsnbzsuZjtlZjripQg7ZWt66qp7J2EIOywvuuKlOuNsCDrjZQg7Iuc6rCE7J2EIOyGjOuqqO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTMKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgImdpdC1yZXYtbGlzdOulvCDtmLjstpztlZjripQg64yA7IugIDztjIzsnbw+7JeQ7IScIOumrOu5hOyghOydhCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA4CisjOiBidWlsdGluL2JsYW1lLmM6Njk0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiPO2MjOydvD7snZgg64K07Jqp7J2EIOy1nOyihSDsnbTrr7jsp4DroZwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwOSBidWlsdGluL2JsYW1lLmM6MjYxMAorIzogYnVpbHRpbi9ibGFtZS5jOjY5NSBidWlsdGluL2JsYW1lLmM6Njk2CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgIuygkOyImCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTUKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLtjIzsnbwg64K067aA7JmAIO2MjOydvCDsgqzsnbTsnZgg67O17IKs65CcIOykhOydhCDssL7sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjEwCisjOiBidWlsdGluL2JsYW1lLmM6Njk2CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAi7YyM7J28IOuCtOu2gOyZgCDtjIzsnbwg7IKs7J207J2YIOyYruqyqOynhCDspITsnYQg7LC+7Iq164uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYxMQorIzogYnVpbHRpbi9ibGFtZS5jOjY5NwogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYxMQorIzogYnVpbHRpbi9ibGFtZS5jOjY5NwogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJuLG3spIQgKDHrsogg7KSE67aA7YSwIOyLnOyekSkg7IKs7J207J2YIOuylOychOunjCDsspjrpqwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjU4CisjOiBidWlsdGluL2JsYW1lLmM6NzQ0CiBtc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKIG1zZ3N0ciAiIgogIi0tcHJvZ3Jlc3Mg7Ji17IWY7J2AIC0taW5jcmVtZW50YWwg7Ji17IWY7J2064KYIO2PrOyKpOugiOyduCDtmJXsi53sl5DshJwg7IKs7Jqp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KLSMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCi0jLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKLSMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgotIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgotIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI3MDYKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlCisjLiBtYXhpbXVtIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluCisjLiAiZ2l0IGJsYW1lIiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMQorIy4gbW9udGhzIGFnbyIsIHdoaWNoIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QKKyMuIGFtb25nIHZhcmlvdXMgZm9ybXMgb2YgcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0CisjLiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQorIy4gY29sdW1ucy4KKyMuCisjOiBidWlsdGluL2JsYW1lLmM6Nzk1CiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiNOuFhCAxMeuLrCDsoIQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzg2Ci1tc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKLW1zZ3N0ciAiLS1jb250ZW50cyDrsI8gLS1yZXZlcnNlIOyYteyFmOydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukLiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MDYKLW1zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCi1tc2dzdHIgIi0tY29udGVudHMg7Ji17IWY7J2EIOuniOyngOuniSDsmKTruIzsoJ3tirgg7J2066aE7JeQIOyCrOyaqe2VoCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgxMQotbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKLW1zZ3N0ciAiIgotIi0tcmV2ZXJzZSDrsI8gLS1maXJzdC1wYXJlbnQg7Ji17IWY7J2EIOqwmeydtCDsk7DrqbQg7LWc6re8IOy7pOuwi+ydhCDsp4DsoJXtlbTslbwg7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgzOAotbXNnaWQgIiIKLSItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCi1tc2dzdHIgIiIKLSItLXJldmVyc2Ug67CPIC0tZmlyc3QtcGFyZW50IOyYteyFmOydhCDqsJnsnbQg7JOw66m0IOy1nOy0iC3sg4HsnIQg7LK07J246rO8IOuylOychOqwgCDtlYTsmpTtlanri4giCi0i64ukIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg0OQotIywgYy1mb3JtYXQKLW1zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCi1tc2dzdHIgIiVzIOqyveuhnOqwgCAlcyDslYjsl5Ag7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgotbXNnc3RyICIlcyDqsr3roZzsl5Ag64yA7ZW0ICVzIOu4lOuhreydhCDsnb3snYQg7IiYIOyXhuydjCIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4NzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKIG1zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCiBtc2dzdHJbMF0gIiVzIO2MjOydvOyXkOuKlCDspITsnbQgJWx16rCcIOu/kOyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNgorIzogYnVpbHRpbi9ibGFtZS5jOjkyOAorbXNnaWQgIkJsYW1pbmcgbGluZXMiCittc2dzdHIgIuu4lOugiOyehCDspIQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzzsmLXshZg+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLWxdIFstZl0gPGJyYW5jaC1uYW1lPiBbPHN0YXJ0LXBvaW50Pl0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzzsmLXshZg+XSBbLWxdIFstZl0gPOu4jOuenOy5mC3snbTrpoQ+IFs87Iuc7J6RLeyngOygkD5dIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI4CisjOiBidWlsdGluL2JyYW5jaC5jOjI5CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXJdICgtZCB8IC1EKSA8YnJhbmNoLW5hbWU+Li4uIgogbXNnc3RyICJnaXQgYnJhbmNoIFs87Ji17IWYPl0gWy1yXSAoLWQgfCAtRCkgPOu4jOuenOy5mC3snbTrpoQ+Li4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI5CisjOiBidWlsdGluL2JyYW5jaC5jOjMwCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLW0gfCAtTSkgWzxvbGQtYnJhbmNoPl0gPG5ldy1icmFuY2g+IgogbXNnc3RyICJnaXQgYnJhbmNoIFs87Ji17IWYPl0gKC1tIHwgLU0pIFs86rO86rGwLeu4jOuenOy5mD5dIDzsg4gt67iM656c7LmYPiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMAorIzogYnVpbHRpbi9icmFuY2guYzozMQogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLXBvaW50cy1hdF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzzsmLXshZg+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs87Ji17IWYPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgpAQCAtNTAzNyw3ICs1MzgxLDcgQEAKICInJXMnIOu4jOuenOy5mOulvCDsgq3soJztlanri4jri6QuIOydtCDruIzrnpzsuZjripQgJyVzJ+yXkFxuIgogIiAgICAgICAgIOuzke2VqeuQmOyXiOyngOunjCwgSEVBROyXkOuKlCDrs5HtlanrkJjsp4Ag7JWK7JWY7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgpAQCAtNTA0NiwxMiArNTM5MCwxMiBAQAogIiclcycg67iM656c7LmY66W8IOyCreygnO2VmOyngCDslYrsirXri4jri6QuIOydtCDruIzrnpzsuZjripQgJyVzJ+yXkFxuIgogIiAgICAgICAgIOuzke2VqeuQmOyngCDslYrslZjsp4Drp4wsIEhFQUTsl5DripQg67OR7ZWp65CY7JeI7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDrjIDtlZwg7Luk67CLIOyYpOu4jOygne2KuOulvCDssL7slYTrs7wg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgYnJhbmNoICclcycgaXMgbm90IGZ1bGx5IG1lcmdlZC5cbiIKQEAgLTUwNjAsMTYzICs1NDA0LDkxIEBACiAiJyVzJyDruIzrnpzsuZjqsIAg7JmE7KCE7Z6IIOuzke2VqeuQmOyngCDslYrslZjsirXri4jri6QuXG4iCiAi7KCV66eQ66GcIOyCreygnO2VmOugpOuptCAnZ2l0IGJyYW5jaCAtRCAlcycg66qF66C57J2EIOyLpO2Wie2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTc4CisjOiBidWlsdGluL2JyYW5jaC5jOjE4MAogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgImNvbmZpZy1maWxlIOyXheuNsOydtO2KuOqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjA2CisjOiBidWlsdGluL2JyYW5jaC5jOjIxMQogbXNnaWQgImNhbm5vdCB1c2UgLWEgd2l0aCAtZCIKIG1zZ3N0ciAiLWEg7Ji17IWY7J2EIC1kIOyYteyFmOqzvCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjEyCisjOiBidWlsdGluL2JyYW5jaC5jOjIxNwogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKIG1zZ3N0ciAiSEVBROyXkCDrjIDtlZwg7Luk67CLIOyYpOu4jOygne2KuOulvCDssL7slYTrs7wg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiJyUyJHMnIOychOy5mOyXkCDssrTtgazslYTsm4PtlZwgJyUxJHMnIOu4jOuenOy5mOulvCDsgq3soJztlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICLrpqzrqqjtirgg7LaU7KCBICclcycg67iM656c7LmY6rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQyCisjOiBidWlsdGluL2JyYW5jaC5jOjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICInJXMnIOu4jOuenOy5mOqwgCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1NworIzogYnVpbHRpbi9icmFuY2guYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICLrpqzrqqjtirgg7LaU7KCBICclcycg67iM656c7LmY66W8IOyCreygnO2VmOuKlOuNsCDsmKTrpZgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU4CisjOiBidWlsdGluL2JyYW5jaC5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjrpbwg7IKt7KCc7ZWY64qU642wIOyYpOulmCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAi66as66qo7Yq4IOy2lOyggSAnJXMnIOu4jOuenOy5mOulvCDsgq3soJztlanri4jri6QuICjqs7zqsbAgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY2CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiJXMg67iM656c7LmYIOyCreygnCAo6rO86rGwICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBnb25lXSIKLW1zZ3N0ciAiWyVzOiDsgqzrnbzsp5BdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXNdIgotbXNnc3RyICJbJXNdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCi1tc2dzdHIgIlslczogJWTqsJwg65KkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2JlaGluZCAlZF0iCi1tc2dzdHIgIlslZOqwnCDrkqRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGFoZWFkICVkXSIKLW1zZ3N0ciAiWyVzOiAlZOqwnCDslZ5dIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgotbXNnc3RyICJbJWTqsJwg7JWeXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVzOiAlZOqwnCDslZ4sICVk6rCcIOuSpF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVk6rCcIOyVniwgJWTqsJwg65KkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNDkKLW1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgotbXNnc3RyICIgKioqKiDsnpjrqrvrkJwg66CI7Y2865+w7IqkICoqKioiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKLW1zZ3N0ciAiKOu4jOuenOy5mCDsl4bsnYwsICVzIOumrOuyoOydtOyKpCkiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKOu4jOuenOy5mCDsl4bsnYwsIOydtOuTseu2hCAlc+yXkOyEnCDsi5zsnpEpIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCAlcyDsnITsuZjsl5DshJwg67aE66as65CoKSIKLQotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKLSMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCi1tc2dzdHIgIihIRUFEICVzKOycvCnroZzrtoDthLAg67aE66as65CoKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozOTMKLW1zZ2lkICIobm8gYnJhbmNoKSIKLW1zZ3N0ciAiKOu4jOuenOy5mCDsl4bsnYwpIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzNQorIzogYnVpbHRpbi9icmFuY2guYzo0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgIiVzIOu4jOuenOy5mOulvCAlcyDsnITsuZjsl5Ag66as67Kg7J207Iqk7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzOQorIzogYnVpbHRpbi9icmFuY2guYzo0NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICIlcyDruIzrnpzsuZjrpbwgJXMg7JyE7LmY7JeQ7IScIGJpc2VjdO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIuu4jOuenOy5mCDsnITsl5Ag7JeG7Jy866m07IScIO2YhOyerCDruIzrnpzsuZgg7J2066aE7J2EIOuwlOq/gCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIuyemOuqu+uQnCDruIzrnpzsuZgg7J2066aEOiAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4MQorIzogYnVpbHRpbi9icmFuY2guYzo0OTEKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAi67iM656c7LmYIOydtOumhCDrsJTqvrjquLAg7Iuk7YyoIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgIuydtOumhOydtCDsnpjrqrvrkJwgJyVzJyDruIzrnpzsuZjsnZgg7J2066aE7J2EIOuLpOultOqyjCDrsJTqv4nri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CisjOiBidWlsdGluL2JyYW5jaC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICLruIzrnpzsuZgg7J2066aE7J2EICVzKOycvCnroZwg67CU6r647KeA66eMLCBIRUFE66W8IOyXheuNsOydtO2KuO2VmOyngCDslYrsirXri4jri6QhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NQorIzogYnVpbHRpbi9icmFuY2guYzo1MDYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIuu4jOuenOy5mOydmCDsnbTrpoTsnYQg67CU6r647KeA66eMLCBjb25maWctZmlsZSDsl4XrjbDsnbTtirjqsIAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMQorIzogYnVpbHRpbi9icmFuY2guYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgpAQCAtNTIyNywxNjggKzU0OTksMTc3IEBACiAiICAlc1xuIgogIiclYycg66y47J6Q66GcIOyLnOyeke2VmOuKlCDspITsnYAg66y07Iuc65Cp64uI64ukLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0MworIzogYnVpbHRpbi9icmFuY2guYzo1NTUKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIuydvOuwmCDsmLXshZgiCiAKICMgRklYTUU6IGdpdmUgdHdpY2U/Ci0jOiBidWlsdGluL2JyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NTcKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAi7ZW07Iuc7JmAIOygnOuqqeydhCDtkZzsi5ztlZjqs6AsIOyXheyKpO2KuOumvCDruIzrnpzsuZjsl5Ag64yA7ZWcIOychOy5mOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgIuyXrOufrOqwgOyngCDslYjrgrQg66mU7Iuc7KeA66W8IO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ3CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OQogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgogbXNnc3RyICLstpTsoIEg66qo65Oc66W8IOyEpOygle2VqeuLiOuLpCAoZ2l0LXB1bGwoMSkg7LC46rOgKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCiBtc2dpZCAiY2hhbmdlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIuyXheyKpO2KuOumvCDsoJXrs7Trpbwg67CU6r+J64uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJ1cHN0cmVhbSIKIG1zZ3N0ciAi7JeF7Iqk7Yq466a8IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIuyXheyKpO2KuOumvCDsoJXrs7Trpbwg67CU6r+J64uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9icmFuY2guYzo1NjQKIG1zZ2lkICJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAi7JeF7Iqk7Yq466a8IOygleuztOulvCDtlbTsoJztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NQogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAi7Jes65+sIOyDieycvOuhnCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL2JyYW5jaC5jOjU2NgogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIuumrOuqqO2KuCDstpTsoIEg67iM656c7LmY7JeQIOuMgO2VtCDrj5nsnpHtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU2IGJ1aWx0aW4vYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OCBidWlsdGluL2JyYW5jaC5jOjU3MAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIuy7pOuwi+ydtCDsnojripQg67iM656c7LmY66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY5IGJ1aWx0aW4vYnJhbmNoLmM6NTcxCittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAi7Luk67CL7J20IOuTpOyWtOyeiOyngCDslYrsnYAg67iM656c7LmY66eMIO2RnOyLnO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NzQKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICLtirnsoJUgZ2l0LWJyYW5jaCDrj5nsnpE6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9icmFuY2guYzo1NzUKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAi66as66qo7Yq47JmAIOuhnOy7rOydmCDruIzrnpzsuZgg66qp66Gd7J2EIOuqqOuRkCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL2JyYW5jaC5jOjU3NwogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICLsmYTsoITtnogg67OR7ZWp65CcIOu4jOuenOy5mOulvCDsgq3soJztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY0CisjOiBidWlsdGluL2JyYW5jaC5jOjU3OAogbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCiBtc2dzdHIgIuu4jOuenOy5mOulvCDsgq3soJztlanri4jri6QgKOuzke2VqeuQmOyngCDslYrslZjrjZTrnbzrj4QpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9icmFuY2guYzo1NzkKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAi67iM656c7LmY7JmAIOq3uCByZWZsb2frpbwg7Jiu6riw6rGw64KYIOydtOumhOydhCDrsJTqv4nri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY2CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MAogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIuuMgOyDgeydtCDsnbTrr7gg7J6I642U652864+EIOu4jOuenOy5mOulvCDsmK7quLDqsbDrgpgg7J2066aE7J2EIOuwlOq/ieuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgxCiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgIuu4jOuenOy5mCDsnbTrpoQg66qp66Gd7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgyCiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgIuu4jOuenOy5mOydmCByZWZsb2frpbwg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9icmFuY2guYzo1ODQKIG1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKIG1zZ3N0ciAi67iM656c7LmY7J2YIOyEpOuqheydhCDtjrjsp5Htlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NQogbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCiBtc2dzdHIgIuqwleygnOuhnCDrp4zrk6Tqs6AsIOyYruq4sOqxsOuCmCDsnbTrpoTsnYQg67CU6r646rOgLCDsgq3soJztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcyCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NgogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICLrs5HtlanrkJjripQg67iM656c7LmY66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICLrs5HtlanrkJjsp4Ag7JWK64qUIOu4jOuenOy5mOunjCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc0CisjOiBidWlsdGluL2JyYW5jaC5jOjU4OAogbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAi66qp66Gd7J2EIOyXrOufrCDsl7TroZwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6MzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4OSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDI3CiBtc2dpZCAia2V5IgogbXNnc3RyICLtgqQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzozODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgIuygleugrO2VnCDquLDspIDsnbQg65CY64qUIO2VhOuTnCDsnbTrpoQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc4IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9ub3Rlcy5jOjQwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNyBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vbm90ZXMuYzo1NzAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg0CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyIGJ1aWx0aW4vbm90ZXMuYzo0MDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3MCBidWlsdGluL25vdGVzLmM6NTczCisjOiBidWlsdGluL3RhZy5jOjQzMAogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3OQorIzogYnVpbHRpbi9icmFuY2guYzo1OTMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgIu2VtOuLuSDsmKTruIzsoJ3tirjsnZgg67iM656c7LmY66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NiBidWlsdGluL3RhZy5jOjM4OAorIzogYnVpbHRpbi9icmFuY2guYzo1OTUgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OCBidWlsdGluL3RhZy5jOjQzNQogbXNnaWQgInNvcnRpbmcgYW5kIGZpbHRlcmluZyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSIKIG1zZ3N0ciAi7KCV66Cs6rO8IO2VhO2EsOungeydgCDrjIDshozrrLjsnpDrpbwg6rWs67aE7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MzQKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5Cittc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKK21zZ3N0ciAi7Lac66Cl7JeQIOyCrOyaqe2VoCDtmJXsi50iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE1CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIkhFQUTrpbwg7Jis67CU66W4IOugiO2NvOufsOyKpOuhnCDqtaztlbTrgrTripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDIgYnVpbHRpbi9jbG9uZS5jOjcwNgorIzogYnVpbHRpbi9icmFuY2guYzo2MTkgYnVpbHRpbi9jbG9uZS5jOjcyOAogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICLroIjtjbzrn7DsiqQv7Zek65OcIOyVhOuemOyXkCBIRUFE6rCAIOyXhuyKteuLiOuLpCEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI0CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4g67CPIC0tdmVyYm9zZSDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzUgYnVpbHRpbi9icmFuY2guYzo3ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzIGJ1aWx0aW4vYnJhbmNoLmM6NzA1CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgIuu4jOuenOy5mCDsnbTrpoTsnbQg7ZWE7JqU7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2MworIzogYnVpbHRpbi9icmFuY2guYzo2ODEKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICLrtoTrpqzrkJwgSEVBROyXkCDrjIDtlZwg7ISk66qF7J2EIOu2gOyXrO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2OAorIzogYnVpbHRpbi9icmFuY2guYzo2ODYKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAi7Jes65+sIOu4jOuenOy5mOyXkCDrjIDtlZwg7ISk66qF7J2EIO2OuOynke2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3NQorIzogYnVpbHRpbi9icmFuY2guYzo2OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIuyVhOyngSAnJXMnIOu4jOuenOy5mOyXkCDsu6TrsIvsnbQg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAi7J2066aE7J20ICclcyfsnbgg67iM656c7LmY6rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkzCisjOiBidWlsdGluL2JyYW5jaC5jOjcxMQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgIuydtOumhCDrsJTqvrjquLAg7J6R7JeF7JeQIOuMgO2VtCDruIzrnpzsuZjqsIAg64SI66y0IOunjuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE2CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gc2V0IG5ldyB1cHN0cmVhbSIKIG1zZ3N0ciAi7IOIIOyXheyKpO2KuOumvOydhCDshKTsoJXtlZjripTrjbAg67iM656c7LmY6rCAIOuEiOustCDrp47sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCkBAIC01Mzk2LDQxICs1Njc3LDQxIEBACiAiSEVBROydmCDsl4XsiqTtirjrprzsnYQgJXMo7Jy8KeuhnCDshKTsoJXtlaAg7IiYIOyXhuyKteuLiOuLpC4g7Ja065akIOu4jOuenOy5mOuPhCDqsIDrpqztgqTsp4Ag7JWK7Iq164uIIgogIuuLpC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1IGJ1aWx0aW4vYnJhbmNoLmM6ODI3IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMyBidWlsdGluL2JyYW5jaC5jOjc0NSBidWlsdGluL2JyYW5jaC5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICLqt7jrn7Ag67iM656c7LmY6rCAICgnJXMnKSDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA5CisjOiBidWlsdGluL2JyYW5jaC5jOjcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjqsIAg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMQorIzogYnVpbHRpbi9icmFuY2guYzo3MzkKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byB1bnNldCB1cHN0cmVhbSIKIG1zZ3N0ciAi7JeF7Iqk7Yq466a8IOyEpOygleydhCDtlbTsoJztlZjripTrjbAg67iM656c7LmY6rCAIOuEiOustCDrp47sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJIRUFE7J2YIOyXheyKpO2KuOumvCDshKTsoJXsnYQg7ZW07KCc7ZWgIOyImCDsl4bsirXri4jri6QuIOyWtOuWpCDruIzrnpzsuZjrj4Qg6rCA66as7YKk7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCisjOiBidWlsdGluL2JyYW5jaC5jOjc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCiBtc2dzdHIgIiclcycg67iM656c7LmY7JeQIOyXheyKpO2KuOumvCDsoJXrs7TqsIAg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0NQorIzogYnVpbHRpbi9icmFuY2guYzo3NjMKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgIidIRUFEJ+ulvCDsiJjrj5nsnLzroZwg66eM65Oc64qUIOqxtCDslZ7rkqTqsIAg66ee7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogIidnaXQgYnJhbmNoJ+yXkCDrjIDtlbQgLWEg67CPIC1yIOyYteyFmOydgCDruIzrnpzsuZgg7J2066aE6rO8IOqwmeydtCDsk7DrqbQg7JWe65Kk6rCAIOunnuyngCDslYrsirUiCiAi64uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NAorIzogYnVpbHRpbi9icmFuY2guYzo3NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCkBAIC01NDM5LDcgKzU3MjAsNyBAQAogIi0tc2V0LXVwc3RyZWFtIOyYteyFmOydgCDrjZQg7J207IOBIOyCrOyaqeuQmOyngCDslYrqs6Ag7KCc6rGw65CgIOyYiOygleyeheuLiOuLpC4gLS10cmFjayDrmJDripQgIgogIi0tc2V0LXVwc3RyZWFtLXRvIOyYteyFmOydhCDsgqzsmqntlbQg67O07Iut7Iuc7JikXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODcxCisjOiBidWlsdGluL2JyYW5jaC5jOjc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01NDQ5LDIwICs1NzMwLDIwIEBACiAiXG4iCiAiJyVzJ+ydhCjrpbwpIOunjOuTpOqzoCAnJXMn7J2EKOulvCkg7LaU7KCB7ZWY6rKMIO2VmOugpOuptCwg64uk7J2M7J2EIO2VmOyLreyLnOyYpDpcbiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo1MQorIzogYnVpbHRpbi9idW5kbGUuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBva2F5XG4iCiBtc2dzdHIgIiVzIOygleyDgeyeheuLiOuLpFxuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjY0CisjOiBidWlsdGluL2J1bmRsZS5jOjU4CiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKIG1zZ3N0ciAi67KI65Ok7J2EIOunjOuTnOugpOuptCDsoIDsnqXshozqsIAg7ZWE7JqU7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2OAorIzogYnVpbHRpbi9idW5kbGUuYzo2MgogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAi67KI65Ok7J2EIO2VtOygnO2VmOugpOuptCDsoIDsnqXshozqsIAg7ZWE7JqU7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxOQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC01NDcwLDcgKzU3NTEsNyBAQAogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDzsooXrpZg+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD086rK966GcPl0gPOyYpOu4jOygne2KuD4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MjAKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtNTQ3OCwzMDIgKzU3NTksMzAyIEBACiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU3CiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI87KKF66WYPuuKlCDri6TsnYwg7KSRIO2VmOuCmOqwgCDrkKAg7IiYIOyeiOyKteuLiOuLpDogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICLsmKTruIzsoJ3tirgg7KKF66WY66W8IOu0heuLiOuLpCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OQogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDtgazquLDrpbwg67SF64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxCiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICLsmKTrpZjqsIAg7JeG7J2EIOuVjCAw7J2EIOumrO2EtO2VmOqzoCDrgZ3rg4Xri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq47J2YIOuCtOyaqeydhCDsmIjsgZjqsowg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY0CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIuu4lOuhrSDsmKTruIzsoJ3tirjsl5Ag64yA7ZW07ISc64qULCDsmKTruIzsoJ3tirjsnZgg64K07Jqp7JeQIOuMgO2VtCB0ZXh0Y29uduulvCDsi6Ttlontlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjYKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICLruJTroa0g7Jik67iM7KCd7Yq47JeQIOuMgO2VtOyEnOuKlCwg7Jik67iM7KCd7Yq47J2YIOuCtOyaqeyXkCDrjIDtlbQg7ZWE7YSw66W8IOyLpO2Wie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MSBnaXQtc3VibW9kdWxlLnNoOjkyOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NyBnaXQtc3VibW9kdWxlLnNoOjk0NAogbXNnaWQgImJsb2IiCiBtc2dzdHIgIuu4lOuhrSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2OAogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICItLXRleHRjb252Ly0tZmlsdGVycyDsmLXshZjsl5Ag6rK966Gc66W8IOyngOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAiLXMg67CPIC10IOyYteyFmOydtCDshpDsg4HrkJwg7Jik67iM7KCd7Yq47JeQIOuMgO2VtCDrj5nsnpHtlZjrj4TroZ0g7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTY1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTcxCiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICItLWJhdGNoIOy2nOugpeyXkCDrjIDtlbQg67KE7Y2866eB7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTY3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTczCiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLtkZzspIAg7J6F66Cl7JeQ7IScIOyeheugpeuQnCDsmKTruIzsoJ3tirjsnZgg7KCV67O07JmAIOuCtOyaqeydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzYKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7J6F66Cl65CcIOyYpOu4jOygne2KuOydmCDsoJXrs7Trpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc5CiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAi7Yq466asIOuCtOu2gOydmCDsi6zrs7zrpq0g66eB7YGs66W8IOuUsOudvOqwkeuLiOuLpCAoLS1iYXRjaCDrmJDripQgLS1iYXRjaC1jaGVja+yZgCDqsJnsnbQg7IKs7JqpKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4MQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgIi0tYmF0Y2gg65iQ64qUIC0tYmF0Y2gtY2hlY2vsl5DshJwg66qo65OgIOyYpOu4jOygne2KuOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjExCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMgogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPOyGjeyEsT4uLi5dIFstLV0gPOqyveuhnOydtOumhD4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDzsho3shLE+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTkKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICLtjIzsnbzsl5Ag7ISk7KCV65CcIOuqqOuToCDsho3shLHsnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKIG1zZ2lkICJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi7J24642x7Iqk7JeQ7ISc66eMIC5naXRhdHRyaWJ1dGVz66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7YyM7J28IOydtOumhOydhCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI0IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiTlVMIOusuOyekOulvCDquLDspIDsnLzroZwg7J6Q66OMIOyeheugpSDrsI8g7Lac66Cl7J2EIOupiOy2peuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL2djLmM6MzMyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vZ2MuYzozNTcKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIuynhO2WiSDsg4Htmakg7ZGc7Iuc66W8IO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIKIG1zZ3N0ciAi7J287LmY7ZWY7KeAIOyViuuKlCDsnoXroKUg6rK966Gc66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMAogbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgogbXNnc3RyICLqsoDsgqztlaAg65WMIOyduOuNseyKpOulvCDrrLTsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi0tc3RkaW7snLzroZwg6rK966GcIOydtOumhOydhCDsp4DsoJXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxCiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IOyYteyFmOydgCAtLXN0ZGluIOyYteyFmOqzvCDqsJnsnbQg7I2o7JW866eMIOydmOuvuOqwgCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MwogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICLqsr3roZzrpbwg7KeA7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY3CiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIi0tcXVpZXQg7Ji17IWY7J2AIO2VmOuCmOydmCDqsr3roZwg7J2066aE6rO8IOqwmeydtCDsjajslbwg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAiLS1xdWlldCDrsI8gLS12ZXJib3NlIOyYteyFmOydhCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MgogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgIi0tbm9uLW1hdGNoaW5nIOyYteyFmOydgCAtLXZlcmJvc2Ug7Ji17IWY6rO8IOqwmeydtCDsjajslbwg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo4CisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo5CiBtc2dpZCAiZ2l0IGNoZWNrLW1haWxtYXAgWzxvcHRpb25zPl0gPGNvbnRhY3Q+Li4uIgogbXNnc3RyICJnaXQgY2hlY2stbWFpbG1hcCBbPOyYteyFmD5dIDzsl7Drnb3sspg+Li4uIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxMworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MTQKIG1zZ2lkICJhbHNvIHJlYWQgY29udGFjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi65iQIOyXsOudveyymOulvCDtkZzspIAg7J6F66Cl7JeQ7IScIOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjQKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb250YWN0OiAlcyIKIG1zZ3N0ciAi7Jew65297LKY66W8IO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDcKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjQ4CiBtc2dpZCAibm8gY29udGFjdHMgc3BlY2lmaWVkIgogbXNnc3RyICLsl7Drnb3sspjrpbwg7KeA7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyNworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzzsmLXshZg+XSBbLS1dIFs87YyM7J28Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDUKIG1zZ2lkICJzdGFnZSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzIG9yIGFsbCIKIG1zZ3N0ciAi7Iqk7YWM7J207KeA64qUIDHsl5DshJwgMyDsgqzsnbTsnZgg6rCS7J206rGw64KYIGFsbOydtOyWtOyVvCDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKIG1zZ2lkICJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAi7J24642x7Iqk7J2YIOuqqOuToCDtjIzsnbzsnYQg6rCA7KC47Ji164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYyCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICLquLDsobQg7YyM7J287J2EIOqwleygnOuhnCDrja7slrQg7JSB64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYzCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKIG1zZ3N0ciAi6riw7KG0IO2MjOydvOqzvCDsnbjrjbHsiqTsl5Ag7JeG64qUIO2MjOydvOyXkCDrjIDtlbQg6rK96rOg7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NgogbXNnaWQgImRvbid0IGNoZWNrb3V0IG5ldyBmaWxlcyIKIG1zZ3N0ciAi7IOIIO2MjOydvOydhCDqsIDsoLjsmKTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgIuyduOuNseyKpCDtjIzsnbzsnZggc3RhdCDsoJXrs7Trpbwg7JeF642w7J207Yq47ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcyCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLtkZzspIAg7J6F66Cl7JeQ7IScIOqyveuhnOydmCDrqqnroZ3snYQg7J297Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTczCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0CiBtc2dpZCAid3JpdGUgdGhlIGNvbnRlbnQgdG8gdGVtcG9yYXJ5IGZpbGVzIgogbXNnc3RyICLrgrTsmqnsnYQg7J6E7IucIO2MjOydvOyXkCDslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQgYnVpbHRpbi9jb2x1bW4uYzozMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUgYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzgKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgIuusuOyekOyXtCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgIu2MjOydvOydhCDrp4zrk6Qg65WMLCDslZ7sl5AgPOusuOyekOyXtD7snYQg67aZ7J6F64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc4CiBtc2dpZCAiY29weSBvdXQgdGhlIGZpbGVzIGZyb20gbmFtZWQgc3RhZ2UiCiBtc2dzdHIgIuyngOygle2VnCDsiqTthYzsnbTsp4Dsl5DshJwg7YyM7J287J2EIOuzteyCrO2VtCDsmLXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIDxicmFuY2g+IgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzzsmLXshZg+XSA867iM656c7LmYPiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPOyYteyFmD5dIFs867iM656c7LmYPl0gLS0gPO2MjOydvD4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQgYnVpbHRpbi9jaGVja291dC5jOjE2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNSBidWlsdGluL2NoZWNrb3V0LmM6MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICInJXMnIOqyveuhnOyXkCDsmrDrpqzsqr0g67KE7KCE7J20IOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAiJyVzJyDqsr3roZzsl5Ag7IOB64yA7Y64IOuyhOyghOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiJyVzJyDqsr3roZzsl5Ag7ZWE7JqU7ZWcIOuqqOuToCDrsoTsoITsnbQg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiJyVzJyDqsr3roZzsl5Ag7ZWE7JqU7ZWcIOuyhOyghOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgIiclcycg6rK966GcOiDrs5HtlantlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDrjIDtlZwg67OR7ZWpIOqysOqzvOulvCDstpTqsIDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1MCBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjI1NiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiJyVzJyDsmLXshZjsnYAg7JeF642w7J207Yq47ZWY64qUIOqyveuhnOyXkOyEnCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIOyYteyFmOydgCAlcyDsmLXshZjqs7wg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAi6rK966Gc66W8IOyXheuNsOydtO2KuO2VmOqzoCAnJXMnIOu4jOuenOy5mOuhnCDsoITtmZjtlZjripQg7J287J2AIOuPmeyLnOyXkCDtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjM0MiBidWlsdGluL2NoZWNrb3V0LmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAiJyVzJyDqsr3roZzrpbwg67OR7ZWp7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICLtmITsnqwg7J24642x7Iqk66W8IOuovOyggCDtlbTqsrDtlbTslbwg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICInJXMn7JeQIOuMgO2VtCByZWZsb2ftlaAg7IiYIOyXhuyKteuLiOuLpDogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjY2OQogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFE7J2YIO2YhOyerCDsnITsuZjripQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzAgYnVpbHRpbi9jbG9uZS5jOjY2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY3MyBidWlsdGluL2Nsb25lLmM6NjgyCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICJIRUFE66W8IOyXheuNsOydtO2KuO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIiclcycg67iM656c7LmYIOumrOyFi1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICLsnbTrr7ggJyVzJ+yXkCDsnojsirXri4jri6RcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjY4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjroZwg7KCE7ZmY7ZWY6rOgIOumrOyFi+2VqeuLiOuLpFxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIuyDiOuhnCDrp4zrk6AgJyVzJyDruIzrnpzsuZjroZwg7KCE7ZmY7ZWp64uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjroZwg7KCE7ZmY7ZWp64uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiDqt7jrpqzqs6AgJWTqsJwg642ULlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNTc5MSw3ICs2MDcyLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTU4MTIsMTY1ICs2MDkzLDE2MSBAQAogIiBnaXQgYnJhbmNoIDzsg4gt67iM656c7LmYLeydtOumhD4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjgwMAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgIuumrOu5hOyghCB3YWxr7JeQIOuCtOu2gCDsmKTrpZgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAi7J207KCEIEhFQUQg7JyE7LmY64qUIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODI4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODMyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcwCiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi7ZiE7J6sIOychOy5mOqwgCDrp4zrk6Qg7JiI7KCV7J24IOu4jOuenOy5mOyXkCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgIu2VmOuCmOydmCDroIjtjbzrn7DsiqTrp4wg7KeA7KCV7ZW07JW8IO2VmOyngOunjCAlZOqwnOulvCDsp4DsoJXtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMyBidWlsdGluL3dvcmt0cmVlLmM6MjE0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxNiBidWlsdGluL3dvcmt0cmVlLmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOugiO2NvOufsOyKpDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgIuugiO2NvOufsOyKpOqwgCDtirjrpqzqsIAg7JWE64uZ64uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg0CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIuu4jOuenOy5mOulvCDsoITtmZjtlZjripTrjbAg6rK966Gc66W8IOyCrOyaqe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NCBidWlsdGluL2NoZWNrb3V0LmM6MTA4OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODcgYnVpbHRpbi9jaGVja291dC5jOjEwOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyDsmLXshZjsnYAg67iM656c7LmY66W8IOyghO2ZmO2VoCDrlYwg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTUgYnVpbHRpbi9jaGVja291dC5jOjEwOTggYnVpbHRpbi9jaGVja291dC5jOjExMDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIOyYteyFmOydgCAnJXMnIOyYteyFmOqzvCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAi67iM656c7LmY66W8IOy7pOuwi+ydtCDslYTri4wgJyVzJyjsnLwp66GcIOyghO2ZmO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MSBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2Nsb25lLmM6OTMKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vY2xvbmUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTY4IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzAKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIuu4jOuenOy5mCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgIuyDiCDruIzrnpzsuZjrpbwg66eM65Ok6rOgIOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAi67iM656c7LmY66W8IOunjOuTpOqxsOuCmCDrpqzshYvtlZjqs6Ag6rCA7KC47Ji164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDgKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLsg4gg67iM656c7LmY7JeQIOuMgO2VnCByZWZsb2frpbwg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OSBidWlsdGluL3dvcmt0cmVlLmM6MzMyCiBtc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJIRUFE66W8IO2VtOuLuSDsu6TrsIvsl5DshJwg67aE66as7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi7IOIIOu4jOuenOy5mOyXkCDrjIDtlZwg7JeF7Iqk7Yq466a8IOygleuztOulvCDshKTsoJXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldy1icmFuY2giCiBtc2dzdHIgIuyDiC3ruIzrnpzsuZgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAi7IOB7JyEIOu4jOuenOy5mOqwgCDsl4bripQg7IOIIOu4jOuenOy5mCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICLrs5HtlanrkJjsp4Ag7JWK7J2AIO2MjOydvOyXkCDrjIDtlbQg7Jqw66as7Kq9IOuyhOyghOydhCDqsIDsoLjsmLXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICLrs5HtlanrkJjsp4Ag7JWK7J2AIO2MjOydvOyXkCDrjIDtlbQg7IOB64yA7Y64IOuyhOyghOydhCDqsIDsoLjsmLXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NwogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICLqsJXsoJzroZwg7LK07YGs7JWE7JuD7ZWp64uI64ukICjroZzsu6zsl5DshJwg7IiY7KCV7ZWcIOyCrO2VreydhCDrsoTrpr3ri4jri6QpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi7IOIIOu4jOuenOy5mOyXkCDrjIDtlbQgMy3rsKntlqUg67OR7ZWp7J2EIOyImO2Wie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTYgYnVpbHRpbi9tZXJnZS5jOjIzNQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTkgYnVpbHRpbi9tZXJnZS5jOjIzNQogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAi66y07Iuc7ZWY64qUIO2MjOydvOydhCDsl4XrjbDsnbTtirjtlanri4jri6QgKOq4sOuzuOqwkikiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU3IGJ1aWx0aW4vbG9nLmM6MTQ2NiBwYXJzZS1vcHRpb25zLmg6MjUxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MCBidWlsdGluL2xvZy5jOjE0ODMgcGFyc2Utb3B0aW9ucy5oOjI1MQogbXNnaWQgInN0eWxlIgogbXNnc3RyICLsiqTtg4DsnbwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MQogbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCiBtc2dzdHIgIuy2qeuPjCDsiqTtg4DsnbwgKG1lcmdlIOuYkOuKlCBkaWZmMykiCiAKICMgRklYTUU6IOydmOuvuCDrtojrqoUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAi6rK966Gc66qF7IS466W8IOuTnOusuCDtla3rqqnsl5Drp4wg7KCc7ZWc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY2CiBtc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCiBtc2dzdHIgIidnaXQgY2hlY2tvdXQgPOyXhuuKlC3ruIzrnpzsuZg+J+yXkCDrjIDtlbQg7LaU7Lih7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjgKIG1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCiBtc2dzdHIgIuuLpOuluCDsnpHsl4Xtj7TrjZTsl5Ag7KO87Ja07KeEIOugiO2NvOufsOyKpOqwgCDsnojripTsp4Ag7ZmV7J247ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzOQotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyIGJ1aWx0aW4vY2xvbmUuYzo4MCBidWlsdGluL2ZldGNoLmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjMyIGJ1aWx0aW4vcHVsbC5jOjEyMCBidWlsdGluL3B1c2guYzo1NDQKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLqsJXsoJzroZwg7KeE7ZaJIOyDge2ZqeydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwMwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CIOuwjyAtLW9ycGhhbiDsmLXshZjsnYAg7ISc66GcIO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyMAogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayDsmLXshZjsnYAg67iM656c7LmYIOydtOumhOydtCDtlYTsmpTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyNQogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAi67iM656c7LmYIOydtOumhOydtCDsl4bsirXri4jri6QuIC1iIOyYteyFmOydhCDsgqzsmqntlbQg67O07Iut7Iuc7JikIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjEKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAi6rK966GcIOuqheyEuOqwgCDsnpjrqrvrkJjsl4jsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2OAogIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCi0iRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCi1tc2dzdHIgIiIKLSLrj5nsi5zsl5Ag6rK966Gc66W8IOyXheuNsOydtO2KuO2VmOqzoCAnJXMnIOu4jOuenOy5mOuhnCDsoITtmZjtlaAg7IiYIOyXhuyKteuLiOuLpC5cbiIKLSLsu6TrsIvsnYQg7ZmV7J247ZWgIOyImCDsl4bripQgJyVzJ+ydhCjrpbwpIOqwgOyguOyYpOugpOqzoCDtlZjshajsirXri4jquYw/IgorbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCittc2dzdHIgIiclcyfsnYAo64qUKSDsu6TrsIvsnbQg7JWE64uI6rOgIOyXrOq4sOyXkOyEnCAnJXMnIOu4jOuenOy5mOulvCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCDsmLXshZjsnYAg6rK966GcIOyduOyekOulvCDrsJvsp4Ag7JWK7Iq164uI64ukICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI3NgogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTU5NzgsMzggKzYyNTUsMzggQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSDrsI8gLS1tZXJnZSDsmLXshZjsnYAg7J24642x7Iqk7JeQ7IScXG4iCiAi6rCA7KC47JisIOqyveyasOyXkOuKlCDshJzroZwg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNQorIzogYnVpbHRpbi9jbGVhbi5jOjI2CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDztjKjthLQ+XSBbLXggfCAtWF0gWy0tXSA86rK966GcPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5CisjOiBidWlsdGluL2NsZWFuLmM6MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAiJXMg7KCc6rGwXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMAorIzogYnVpbHRpbi9jbGVhbi5jOjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICIlcyDsoJzqsbDtlaAg7JiI7KCVXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMQorIzogYnVpbHRpbi9jbGVhbi5jOjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiJXMg7KCA7J6l7IaMIOqxtOuEiOucgFxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiJXMg7KCA7J6l7IaMIOqxtOuEiOubuCDsmIjsoJVcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiJXMg7KCc6rGw7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyMworIzogYnVpbHRpbi9jbGVhbi5jOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC02MDIyLDcgKzYyOTksNyBAQAogImZvbyAgICAgICAgLSDsnKDsnbztlZwg7KCR65GQ7Ja07JeQIO2VtOuLue2VmOuKlCDtla3rqqkg7ISg7YOdXG4iCiAiICAgICAgICAgICAtICjruYgg7J6F66ClKSDshKDtg53tlZjsp4Ag7JWK7J2MXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtNjA0MywzOCArNjMyMCwzOCBAQAogIiogICAgICAgICAgLSDrqqjrk6Ag7ZWt66qpIOyEoO2DnVxuIgogIiAgICAgICAgICAgLSAo67mIIOyeheugpSkg7ISg7YOdIOuniOy5qFxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTExIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk4Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwMworIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU0NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTIKICMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpP1xuIgogbXNnc3RyICLslrTrnbzrnbwgKCVzKT9cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1MworIzogYnVpbHRpbi9jbGVhbi5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIuustOyLnO2VoCDtjKjthLTsnYQg7J6F66Cl7ZWY7Iut7Iuc7JikPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjkwCisjOiBidWlsdGluL2NsZWFuLmM6Njk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICLqsr3qs6A6IOuLpOydjOyXkCDtlbTri7ntlZjripQg7ZWt66qp7J2EIOywvuydhCDsiJgg7JeG7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxMQorIzogYnVpbHRpbi9jbGVhbi5jOjcxOAogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIuyCreygnO2VoCDtla3rqqnsnYQg7ISg7YOd7ZWY7Iut7Iuc7JikIgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGtlZXAgW3kvTl0gYXMgaXMKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZlICVzIFt5L05dPyAiCiBtc2dzdHIgIiVzIOygnOqxsO2VqeuLiOq5jCBbeS9OXT8gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzc3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2OQorIzogYnVpbHRpbi9jbGVhbi5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnllLlxuIgogbXNnc3RyICLrgZ0uXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTIKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtNjA5Miw2MSArNjM2OSw2MiBAQAogImhlbHAgICAgICAgICAgICAgICAgLSDsnbQg7ZmU66m0IO2RnOyLnFxuIgogIj8gICAgICAgICAgICAgICAgICAgLSDtlITroaztlITtirgg7ISg7YOdIOuPhOybgOunkCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjkyCiBtc2dpZCAiKioqIENvbW1hbmRzICoqKiIKIG1zZ3N0ciAiKioqIOuqheuguSAqKioiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQyCisjOiBidWlsdGluL2NsZWFuLmM6ODIwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4OQogbXNnaWQgIldoYXQgbm93IgogbXNnc3RyICLrrLTsl4fsnYQg7ZWg6rmM7JqUIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODIxCisjOiBidWlsdGluL2NsZWFuLmM6ODI4CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAi64uk7J2MIO2VreuqqeydhCDsoJzqsbDtlaAg7JiI7KCV7J6F64uI64ukOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgzOAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NAogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICLsp4Dsmrgg7YyM7J287J20IOydtOygnCDsl4bsnLzrr4DroZwg64Gd64OF64uI64ukLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg2OQorIzogYnVpbHRpbi9jbGVhbi5jOjkwNgogbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgogbXNnc3RyICLsoJzqsbDtlaAg7YyM7J28IOydtOumhOydhCDtkZzsi5ztlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcxCisjOiBidWlsdGluL2NsZWFuLmM6OTA4CiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgIuqwleygnCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3MgorIzogYnVpbHRpbi9jbGVhbi5jOjkwOQogbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgogbXNnc3RyICLrjIDtmZTtmJUg7KeA7Jqw6riwIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc0CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICLsoITssrQg65SU66CJ7YSw66asIOygnOqxsCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2Rlc2NyaWJlLmM6NDA3IGJ1aWx0aW4vZ3JlcC5jOjEwNTYKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzggYnVpbHRpbi9uYW1lLXJldi5jOjMxMyBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL2NsZWFuLmM6OTEyIGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTIgYnVpbHRpbi9kZXNjcmliZS5jOjQ1NAorIzogYnVpbHRpbi9ncmVwLmM6MTA4MiBidWlsdGluL2xzLWZpbGVzLmM6NTQ2IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTkgYnVpbHRpbi9zaG93LXJlZi5jOjE3NgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIu2MqO2EtCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NgorIzogYnVpbHRpbi9jbGVhbi5jOjkxMwogbXNnaWQgImFkZCA8cGF0dGVybj4gdG8gaWdub3JlIHJ1bGVzIgogbXNnc3RyICLqt5zsuZnsnYQg66y07Iuc7ZWY66Ck66m0IDztjKjthLQ+7J2EIOy2lOqwgO2VmOyLreyLnOyYpCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NworIzogYnVpbHRpbi9jbGVhbi5jOjkxNAogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgIuustOyLnO2VnCDtjIzsnbzrj4Qg7KCc6rGwIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc5CisjOiBidWlsdGluL2NsZWFuLmM6OTE2CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi66y07Iuc7ZWcIO2MjOydvOunjCDsoJzqsbAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4OTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi14IOuwjyAtWCDsmLXshZjsnYAg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTAxCisjOiBidWlsdGluL2NsZWFuLmM6OTM4CiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBzZXQgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgogImNsZWFuIgpAQCAtNjE1NCw3ICs2NDMyLDcgQEAKICJjbGVhbi5yZXF1aXJlRm9yY2XqsIAgdHJ1ZeuhnCDshKTsoJXrkJjsl4jqs6AgLWksIC1uLCAtZiDsmLXshZgg7KSRIO2VmOuCmOuPhCDsk7Dsp4Ag7JWK7JWY7Iq1IgogIuuLiOuLpC4g7KeA7Jqw7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtNjE2MiwxMzMgKzY0NDAsMTQyIEBACiAiY2xlYW4ucmVxdWlyZUZvcmNlIOq4sOuzuOqwkuydtCB0cnVl7J206rOgIC1pLCAtbiwgLWYg7Ji17IWYIOykkSDtlZjrgpjrj4Qg7JOw7KeAIOyViuyVmOyKteuLiCIKICLri6QuIOyngOyasOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNworIzogYnVpbHRpbi9jbG9uZS5jOjM4CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPOyYteyFmD5dIFstLV0gPOyggOyepeyGjD4gWzzrlJTroInthLDrpqw+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1CisjOiBidWlsdGluL2Nsb25lLmM6ODIKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAi7LK07YGs7JWE7JuD7J2EIOunjOuTpOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9pbml0LWRiLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6rCE65617ZWcIOyggOyepeyGjOulvCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MAorIzogYnVpbHRpbi9jbG9uZS5jOjg3CiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgIuuvuOufrCDsoIDsnqXshozrpbwg66eM65Ot64uI64ukICjqsITrnrXtlZwg7KCA7J6l7IaM66GcIOy3qOq4iSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MgorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuuhnOy7rCDsoIDsnqXshozsl5DshJwg67O17KCc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MQogbXNnaWQgImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IgogbXNnc3RyICLroZzsu6wg7ZWY65Oc66eB7YGs66W8IOyCrOyaqe2VmOyngCDslYrqs6AsIO2VreyDgSDrs7Xsgqztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NgorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuqzteycoCDsoIDsnqXshozroZwg7ISk7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9jbG9uZS5jOjk5Cittc2dpZCAicGF0aHNwZWMiCittc2dzdHIgIuqyveuhnOuqheyEuCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vY2xvbmUuYzo5OQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgIuuzteygnO2VnCDqsrDqs7zrrLzsl5DshJwg7ZWY7JyEIOuqqOuTiOydhCDstIjquLDtmZTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjEwMgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi67OR66Cs7KCB7Jy866GcIOuzteygnO2VmOuKlCDtlZjsnITrqqjrk4gg6rCc7IiYIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6MTAzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAi7ISc7IudLeuUlOugie2EsOumrCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2luaXQtZGIuYzo0NzcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICLshJzsi53snYQg7IKs7Jqp7ZWgIOuUlOugie2EsOumrCDsnITsuZgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwNiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODMKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi66CI7Y2865+w7IqkIOyggOyepeyGjCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwCisjOiBidWlsdGluL2Nsb25lLmM6MTEwCiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAi67O17KCc7ZWgIOqyveyasOyXkOunjCAtLXJlZmVyZW5jZeulvCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICLsnbTrpoQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MgorIzogYnVpbHRpbi9jbG9uZS5jOjExMgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAi7JeF7Iqk7Yq466a8IOy2lOyggeyXkCAnb3JpZ2luJyDrjIDsi6AgPOydtOumhD7snYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICLrpqzrqqjtirjsnZggSEVBRCDrjIDsi6AgPOu4jOuenOy5mD7rpbwg6rCA7KC47Ji164uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLrpqzrqqjtirjsnZggZ2l0LXVwbG9hZC1wYWNrIOqyveuhnCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9ncmVwLmM6OTk5IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vZ3JlcC5jOjEwMjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwNQogbXNnaWQgImRlcHRoIgogbXNnc3RyICLquYrsnbQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OAorIzogYnVpbHRpbi9jbG9uZS5jOjExOAogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOq5iuydtOydmCDslpXsnYAg67O17KCc66W8IOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vZmV0Y2guYzoxMjIgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM2CisjOiBidWlsdGluL2Nsb25lLmM6MTE5IGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMyCiAjOiBwYXJzZS1vcHRpb25zLmg6MTQyCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAi7Iuc6rCBIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgIuyngOygle2VnCDsi5zqsIQg7J207ZuE7J2YIOyWleydgCDrs7XsoJzrpbwg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vZmV0Y2guYzoxMjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjExOQogbXNnaWQgInJldmlzaW9uIgogbXNnc3RyICLrpqzruYTsoIQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEyNQorIzogYnVpbHRpbi9jbG9uZS5jOjEyMiBidWlsdGluL2ZldGNoLmM6MTIwCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSwgZXhjbHVkaW5nIHJldiIKIG1zZ3N0ciAi66as67mE7KCE7J2EIOygnOyZuO2VtCDslpXsnYAg67O17KCc7J2YIOy7pOuwiyDrgrTsl63snYQg6rmK6rKMIOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNAorIzogYnVpbHRpbi9jbG9uZS5jOjEyNAogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAi7ZWY64KY7J2YIOu4jOuenOy5mOunjCDrs7XsoJztlanri4jri6QgKEhFQUQg65iQ64qUIC0tYnJhbmNo66GcIOyngOyglSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKK21zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCittc2dzdHIgIu2DnOq3uOulvCDrs7XsoJztlZjsp4Ag7JWK7Iq164uI64ukLiDrgpjspJHsl5Ag6rCA7KC47JisIOuVjOuPhCDtg5zqt7jrpbwg65Sw66W07KeAIOyViuyKteuLiOuLpC4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjgKIG1zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaGFsbG93IgogbXNnc3RyICLrqqjrk6Ag67O17KCc7ZWcIO2VmOychCDrqqjrk4jsnYAg7JaV7J2AIOuqqOuTiOyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuq5gyDrlJTroInthLDrpqzrpbwg7J6R7JeFIO2PtOuNlOyZgCDrs4TqsJzsnZgg7JyE7LmY7JeQIOuGk+yKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOQorIzogYnVpbHRpbi9jbG9uZS5jOjEzMQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAi7YKkPeqwkiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi7IOIIOyggOyepeyGjCDslYjsl5DshJwg7ISk7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTUwCisjOiBidWlsdGluL2Nsb25lLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdXNoLmM6NTU1CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIklQdjQg7KO87IaM66eMIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vcHVzaC5jOjU1MgorIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVzaC5jOjU1NwogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJJUHY2IOyjvOyGjOunjCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNzIKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtNjI5Niw0MiArNjU4Myw0MiBAQAogIuuUlOugie2EsOumrCDsnbTrpoTsnYQg7JWM7JWE64K8IOyImCDsl4bsirXri4jri6QuXG4iCiAi66qF66C57ZaJ7JeQ7IScIOuUlOugie2EsOumrOulvCDsp4DsoJXtlZjsi63si5zsmKQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIuygleuztDogJyVzJ+yXkCDrjIDtlZwg67O07KGwIO2MjOydvOydhCDstpTqsIDtlaAg7IiYIOyXhuyKteuLiOuLpDogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3NQorIzogYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICInJXMn7J2EKOulvCkg7Jes64qU642wIOyLpO2MqCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJyVzJ+ydtCjqsIApIOyeiOyngOunjCDrlJTroInthLDrpqzqsIAg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk3CisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgIiclcyfsl5Ag64yA7ZW0IHN0YXQoKeydtCDsi6TtjKjtlojsirXri4jri6RcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQxOQorIzogYnVpbHRpbi9jbG9uZS5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAiJyVzJyDrp4Htgazrpbwg66eM65Oc64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMworIzogYnVpbHRpbi9jbG9uZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIu2MjOydvOydhCAnJXMnKOycvCnroZwg67O17IKs7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICLsmYTro4wuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0ODIKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtNjM0MSwxMDAgKzY2MjgsOTkgQEAKICInZ2l0IHN0YXR1cycg66qF66C57Jy866GcIOustOyXh+ydhCDssrTtgazslYTsm4PtlojripTsp4Ag7IK07Y6067O8IOyImCDsnojqs6BcbiIKICInZ2l0IGNoZWNrb3V0IC1mIEhFQUQn66GcIOyytO2BrOyVhOybg+ydhCDri6Tsi5wg7ZWgIOyImCDsnojsirXri4jri6RcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzNworIzogYnVpbHRpbi9jbG9uZS5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAi67O17KCc7ZWgIOumrOuqqO2KuOydmCAlcyDruIzrnpzsuZjrpbwg7LC+7J2EIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjMyCisjOiBidWlsdGluL2Nsb25lLmM6NjU0CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIuumrOuqqO2KuOyXkOyEnCDtlYTsmpTtlZwg7Jik67iM7KCd7Yq466W8IOuqqOuRkCDrs7TrgrTsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQ4CisjOiBidWlsdGluL2Nsb25lLmM6NjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgIiVz7J2EKOulvCkg7JeF642w7J207Yq47ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MTkKIG1zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCiBtc2dzdHIgIuumrOuqqO2KuCBIRUFE6rCAIOyXhuuKlCDroIjtjbzrn7DsiqTrpbwg7LC46rOg7ZWY66+A66GcLCDssrTtgazslYTsm4PtlaAg7IiYIOyXhuyKteuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyOAorIzogYnVpbHRpbi9jbG9uZS5jOjc1MAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuyekeyXhSDtj7TrjZTrpbwg7LK07YGs7JWE7JuD7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAi7YyM652866+47YSw66W8IOyEpOyglSDtjIzsnbzsl5Ag7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICLsoJXrpqzsmqnsnLzroZwgcmVwYWNr7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTcKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgIuuztOyhsCDsnoTsi5wg7YyM7J287J2EIOyCreygnO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY2IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NQorIzogYnVpbHRpbi9jbG9uZS5jOjg5MCBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDUKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICLrhIjrrLQg7J247J6Q6rCAIOunjuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTQKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIuuzteygnO2VoCDsoIDsnqXshozrpbwg7KeA7KCV7ZW07JW8IO2VqeuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg67CPIC0tb3JpZ2luICVzIOyYteyFmOydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4NgorIzogYnVpbHRpbi9jbG9uZS5jOjkxMAogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg67CPIC0tc2VwYXJhdGUtZ2l0LWRpciDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICInJXMnIOyggOyepeyGjOqwgCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjkgYnVpbHRpbi9mZXRjaC5jOjEzMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICLquYrsnbTqsIAoJXMpIDDrs7Tri6Qg7YGwIOyImOqwgCDslYTri5nri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi64yA7IOBIOqyveuhnOqwgCgnJXMnKSDsnbTrr7gg7J6I6rOgIOu5iCDrlJTroInthLDrpqzqsIAg7JWE64uZ64uI64ukLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyNQorIzogYnVpbHRpbi9jbG9uZS5jOjk0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIuyekeyXhSDtj7TrjZTqsIAoJyVzJykg7J2066+4IOyeiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL2RpZmZ0b29sLmM6MjUyCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU5IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjQgYnVpbHRpbi9jbG9uZS5jOjk3NSBidWlsdGluL2RpZmZ0b29sLmM6MjYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIiclcyfsnZgg7JWeIOuUlOugie2EsOumrOulvCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MworIzogYnVpbHRpbi9jbG9uZS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKIG1zZ3N0ciAi7J6R7JeFIOuUlOugie2EsOumrOulvCgnJXMnKSDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAi6rCE65617ZWcIOyggOyepeyGjOuhnCgnJXMnKSDrs7XsoJztlanri4jri6QuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NworIzogYnVpbHRpbi9jbG9uZS5jOjk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICInJXMn7JeQIOuzteygnO2VqeuLiOuLpC4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYzCisjOiBidWlsdGluL2Nsb25lLmM6MTAwNQogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgpAQCAtNjQ0Miw4NiArNjcyOCw4NiBAQAogImNsb25lIC0tcmVjdXJzaXZlIOyYteyFmOydgCAtLXJlZmVyZW5jZSDrsI8gLS1yZWZlcmVuY2UtaWYtYWJsZSDsmLXshZjsnYQg6rCZ7J20IOyTsOuKlCAiCiAi6rKD6rO8IO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CisjOiBidWlsdGluL2Nsb25lLmM6MTA2NwogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1kZXB0aCDsmLXshZjsnYAg66Gc7LusIOuzteygnOyXkOyEnCDrrLTsi5zrkKnri4jri6QuIOuMgOyLoOyXkCAnZmlsZTovLyfsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDY5CiBtc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tc2hhbGxvdy1zaW5jZSDsmLXshZjsnYAg66Gc7LusIOuzteygnOyXkOyEnCDrrLTsi5zrkKnri4jri6QuIOuMgOyLoOyXkCAnZmlsZTovLyfsnYQg7IKs7Jqp7ZWY7IutIgogIuyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCisjOiBidWlsdGluL2Nsb25lLmM6MTA3MQogbXNnaWQgIi0tc2hhbGxvdy1leGNsdWRlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tc2hhbGxvdy1leGNsdWRlIOyYteyFmOydgCDroZzsu6wg67O17KCc7JeQ7IScIOustOyLnOuQqeuLiOuLpC4g64yA7Iug7JeQICdmaWxlOi8vJ+ydhCDsgqzsmqntlZgiCiAi7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDc0CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAi7JuQ67O4IOyggOyepeyGjOqwgCDslpXsnYAg7KCA7J6l7IaM7J2066+A66GcLCAtLWxvY2FsIOyYteyFmOydhCDrrLTsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMxCisjOiBidWlsdGluL2Nsb25lLmM6MTA3OQogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCDsmLXshZjsnYAg66y07Iuc65Cp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgIiVz7J2YIOuzteygnCDrsKnrspXsnYQg7JWM7KeAIOuqu+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOTAgYnVpbHRpbi9jbG9uZS5jOjEwOTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTM4IGJ1aWx0aW4vY2xvbmUuYzoxMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICLrpqzrqqjtirjsnZggJXMg67iM656c7LmY6rCAIOyXheyKpO2KuOumvCAlc+yXkCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTE0OQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIuu5iCDsoIDsnqXshozrpbwg67O17KCc7ZWcIOqyg+yymOufvCDrs7TsnoXri4jri6QuIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjkKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MTAKIG1zZ2lkICJnaXQgY29sdW1uIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29sdW1uIFs87Ji17IWYPl0iCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MjYKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MjcKIG1zZ2lkICJsb29rdXAgY29uZmlnIHZhcnMiCiBtc2dzdHIgIuyEpOyglSDrs4DsiJjrpbwg7LC+7JWEIOu0heuLiOuLpCIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL2NvbHVtbi5jOjI4CisjOiBidWlsdGluL2NvbHVtbi5jOjI4IGJ1aWx0aW4vY29sdW1uLmM6MjkKIG1zZ2lkICJsYXlvdXQgdG8gdXNlIgogbXNnc3RyICLsgqzsmqntlaAg67Cw7LmYIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI5CisjOiBidWlsdGluL2NvbHVtbi5jOjMwCiBtc2dpZCAiTWF4aW11bSB3aWR0aCIKIG1zZ3N0ciAi7LWc64yAIOuEiOu5hCIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMAorIzogYnVpbHRpbi9jb2x1bW4uYzozMQogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gbGVmdCBib3JkZXIiCiBtc2dzdHIgIuyZvOyqvSDqsIDsnqXsnpDrpqzsl5Ag7LGE7Jq4IOqzteuwsSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9jb2x1bW4uYzozMgogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gcmlnaHQgYm9yZGVyIgogbXNnc3RyICLsmKTrpbjsqr0g6rCA7J6l7J6Q66as7JeQIOyxhOyauCDqs7XrsLEiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzMKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIGJldHdlZW4gY29sdW1ucyIKIG1zZ3N0ciAi7Je0IOyCrOydtOyXkCDssYTsmrgg6rO167CxIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjUxCisjOiBidWlsdGluL2NvbHVtbi5jOjUyCiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICItLWNvbW1hbmTripQg7LKrIOuyiOynuCDsnbjsnpDsl6zslbwg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM4CisjOiBidWlsdGluL2NvbW1pdC5jOjM5CiBtc2dpZCAiZ2l0IGNvbW1pdCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgWzzsmLXshZg+XSBbLS1dIDzqsr3roZzrqoXshLg+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQzCisjOiBidWlsdGluL2NvbW1pdC5jOjQ0CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgWzzsmLXshZg+XSBbLS1dIDzqsr3roZzrqoXshLg+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ5CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTY1NDgsNyArNjgzNCw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxCisjOiBidWlsdGluL2NvbW1pdC5jOjYyCiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTY1NzMsNyArNjg1OSw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczCisjOiBidWlsdGluL2NvbW1pdC5jOjc0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBhbWVuZCB0aGUgbW9zdCByZWNlbnQgY29tbWl0LCBidXQgZG9pbmcgc28gd291bGQgbWFrZVxuIgogIml0IGVtcHR5LiBZb3UgY2FuIHJlcGVhdCB5b3VyIGNvbW1hbmQgd2l0aCAtLWFsbG93LWVtcHR5LCBvciB5b3UgY2FuXG4iCkBAIC02NTgzLDcgKzY4NjksNyBAQAogIi0tYWxsb3ctZW1wdHkg7Ji17IWY6rO8IOqwmeydtCDsnbQg66qF66C57J2EIOuwmOuzte2VoCDsiJjrj4Qg7J6I6rOgLCBcImdpdCByZXNldCBIRUFEXCJcbiIKICLrqoXroLnsnLzroZwg7Luk67CL7J2EIOyZhOyghO2eiCDsoJzqsbDtlaAg7IiY64+EIOyeiOyKteuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OAorIzogYnVpbHRpbi9jb21taXQuYzo3OQogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC02NTk3LDExICs2ODgzLDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2CiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIuyVhOuLiOuptCAnZ2l0IHJlc2V0J+ydhCDsgqzsmqntlZjsi63si5zsmKRcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4OAorIzogYnVpbHRpbi9jb21taXQuYzo4OQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCkBAIC02NjE3LDY2ICs2OTAzLDYxIEBACiAi6re4IOuLpOydjOyXkCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCLrpbwg7ZWY66m0IOuCmOuouOyngCDsu6TrsIvsl5BcbiIKICLrjIDtlbQg7Luk67CLIOu5vOyYpOq4sOulvCDri6Tsi5wg7Iuc7J6R7ZWp64uI64ukLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMxOAorIzogYnVpbHRpbi9jb21taXQuYzozMTkKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIkhFQUQg7Yq466asIOyYpOu4jOygne2KuOydmCDrrLbsnYzsnYQg7ZG464qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzYwCiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIuyehOyLnCDsnbjrjbHsiqTrpbwg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NgogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgIuuMgO2ZlO2YlSDstpTqsIDqsIAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3OAorIzogYnVpbHRpbi9jb21taXQuYzozNzkKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi7J6E7IucIOyduOuNseyKpOulvCDsl4XrjbDsnbTtirjtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgxCiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIuyjvOyalCDsupDsi5wg7Yq466as66W8IOyXheuNsOydtO2KuO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDA0IGJ1aWx0aW4vY29tbWl0LmM6NDI3IGJ1aWx0aW4vY29tbWl0LmM6NDc2CisjOiBidWlsdGluL2NvbW1pdC5jOjQwNSBidWlsdGluL2NvbW1pdC5jOjQyOCBidWlsdGluL2NvbW1pdC5jOjQ3NwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAibmV3X2luZGV4IO2MjOydvOyXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU5CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICLrs5HtlantlZjripQg7KSRIOu2gOu2hCDsu6TrsIvsnYQg7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzo0NjEKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIuy7pOuwiyDrubzsmKTquLDrpbwg7ZWY64qUIOykkSDrtoDrtoQg7Luk67CL7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDcwCiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLsnbjrjbHsiqTrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDg4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ4OQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAi7J6E7IucIOyduOuNseyKpCDtjIzsnbzsnYQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICInJXMnIOy7pOuwi+yXkCDsnpHshLHsnpAg7Zek642U6rCAIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1ODQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGhhcyBtYWxmb3JtZWQgYXV0aG9yIGxpbmUiCiBtc2dzdHIgIiclcycg7Luk67CL7J2YIOyekeyEseyekCDtl6TrjZQg7ZiV7Iud7J20IOyemOuqu+uQmOyXiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAiLS1hdXRob3Ig7YyM652866+47YSwIO2YleyLneydtCDsnpjrqrvrkJjsl4jsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjExCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgotbXNnc3RyICLsi5zqsIEg7ZiV7Iud7J20IOyemOuqu+uQmOyXiOyKteuLiOuLpDogJXMiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjU1CisjOiBidWlsdGluL2NvbW1pdC5jOjY1NgogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgpAQCAtNjY4NCwzOCArNjk2NSwzOCBAQAogIu2YhOyerCDsu6TrsIsg66mU7Iuc7KeA7JeQ7IScIOyCrOyaqeuQmOyngCDslYrripQg7KO87ISdIOusuOyekOulvFxuIgogIuyEoO2Dne2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5MiBidWlsdGluL2NvbW1pdC5jOjcyNSBidWlsdGluL2NvbW1pdC5jOjEwOTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjkzIGJ1aWx0aW4vY29tbWl0LmM6NzI2IGJ1aWx0aW4vY29tbWl0LmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXMg7Luk67CL7J2EIOywvuyVhOuzvCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNCBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNSBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIijtkZzspIAg7J6F66Cl7JeQ7IScIOuhnOq3uCDrqZTsi5zsp4Drpbwg7J297J2MKVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNgorIzogYnVpbHRpbi9jb21taXQuYzo3MDcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi7ZGc7KSAIOyeheugpeyXkOyEnCDroZzqt7gg66mU7Iuc7KeA66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxMAorIzogYnVpbHRpbi9jb21taXQuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiJyVzJyDroZzqt7gg7YyM7J287J2EIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczNyBidWlsdGluL2NvbW1pdC5jOjc0NQorIzogYnVpbHRpbi9jb21taXQuYzo3MzggYnVpbHRpbi9jb21taXQuYzo3NDYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJTUVVBU0hfTVNH66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc0MgorIzogYnVpbHRpbi9jb21taXQuYzo3NDMKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgIk1FUkdFX01TR+ulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk3CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAi7Luk67CLIOyEnOyLneydhCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY3MzAsNyArNzAxMSw3IEBACiAiXHQlc1xuIgogIuuLpOyLnCDsi5zrj4TtlZjsi63si5zsmKQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE5CisjOiBidWlsdGluL2NvbW1pdC5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02NzQ1LDcgKzcwMjYsNyBAQAogIlx0JXNcbiIKICLri6Tsi5wg7Iuc64+E7ZWY7Iut7Iuc7JikLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzMgorIzogYnVpbHRpbi9jb21taXQuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTY3NTQsNyArNzAzNSw3IEBACiAi67OA6rK9IOyCrO2VreyXkCDrjIDtlZwg7Luk67CLIOuplOyLnOyngOulvCDsnoXroKXtlZjsi63si5zsmKQuICclYycg66y47J6Q66GcIOyLnOyeke2VmOuKlFxuIgogIuykhOydgCDrrLTsi5zrkJjqs6AsIOuplOyLnOyngOulvCDsnoXroKXtlZjsp4Ag7JWK7Jy866m0IOy7pOuwi+ydtCDspJHsp4DrkKnri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM5CisjOiBidWlsdGluL2NvbW1pdC5jOjg0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNjc2NSwxNDkgKzcwNDYsMTQ4IEBACiAi7KSE7J2AIOuztOyhtOuQmOuLiCwg7ZWE7JqU7ZWY66m0IOyngeygkSDsoJzqsbDtlZjsi63si5zsmKQuIOuplOyLnOyngOulvCDsnoXroKXtlZjsp4BcbiIKICLslYrsnLzrqbQg7Luk67CL7J20IOykkeyngOuQqeuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXPsnpHshLHsnpA6ICAgICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2NworIzogYnVpbHRpbi9jb21taXQuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNEYXRlOiAgICAgICVzIgogbXNnc3RyICIlc+yLnOqwgTogICAgICAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQ29tbWl0dGVyOiAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXPsu6Trr7jthLA6ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg5MgorIzogYnVpbHRpbi9jb21taXQuYzo4ODkKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAi7J24642x7Iqk66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NAorIzogYnVpbHRpbi9jb21taXQuYzo5NTEKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAi7Yq466as66W8IOunjOuTnOuKlOuNsCDsmKTrpZgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY4IGJ1aWx0aW4vdGFnLmM6MjgwCisjOiBidWlsdGluL2NvbW1pdC5jOjk2NSBidWlsdGluL3RhZy5jOjI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIuuplOyLnOyngOulvCAtbSDrmJDripQgLUYg7Ji17IWY7Jy866GcIOyeheugpe2VmOyLreyLnOyYpC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAiLS1hdXRob3IgJyVzJyDsmLXshZjsnbQgJ+ydtOumhCA87KCE7J6Q66mU7J28Picg7ZiV7Iud7J20IOyVhOuLiOqzoCDquLDsobQg7J6R7ISx7J6Q7JeQ64+EIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDg2IGJ1aWx0aW4vY29tbWl0LmM6MTMyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMDgzIGJ1aWx0aW4vY29tbWl0LmM6MTMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIuy2lOyggeuQmOyngCDslYrripQg7YyM7J28IOuqqOuTnOqwgCAoJyVzJykg7J6Y66q765CY7JeI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMQogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1sb25nIOuwjyAteiDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU0CisjOiBidWlsdGluL2NvbW1pdC5jOjExNTEKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXJlc2V0LWF1dGhvciDrsI8gLS1hdXRob3Ig7Ji17IWY7J2EIOuqqOuRkCDsgqzsmqntlZjrqbQg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MworIzogYnVpbHRpbi9jb21taXQuYzoxMTYwCiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIuuwlOq/gCDsgqztla3snbQg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY2CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICLrs5Htlakg7KSR7JeQIOyeiOyKteuLiOuLpCAtLSDsu6TrsIvsnYQg67CU6r+AIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NQogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIuy7pOuwiyDrubzsmKTquLAg7KSR7JeQIOyeiOyKteuLiOuLpCAtLSDsu6TrsIvsnYQg67CU6r+AIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2OAogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tc3F1YXNoIOuwjyAtLWZpeHVwIOyYteyFmOydgCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc4CiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIi1jLy1DLy1GLy0tZml4dXAg7Ji17IWYIOykkeyXkCDtlZjrgpjrp4wg7IKs7Jqp7ZWgIOyImCDsnojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MAogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAiLW0g7Ji17IWY7J2AIC1jLy1DLy1GLy0tZml4dXAg7Ji17IWY6rO8IOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTg4CiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiLS1yZXNldC1hdXRob3Ig7Ji17IWY7J2AIC1DLCAtYyDrmJDripQgLS1hbWVuZCDsmLXshZjqs7wg6rCZ7J20IOyNqOyVvCDtlanri4jri6QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNQogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogIi0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIOyYteyFmCDspJEg7ZWY64KY66eMIOyCrOyaqe2VoCDsiJgg7J6I7Iq164uIIgogIuuLpC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMAorIzogYnVpbHRpbi9jb21taXQuYzoxMjA3CiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICLqsr3roZzqsIAg7JeG7J20IC0taW5jbHVkZS8tLW9ubHkg7Ji17IWY7J2EIOyTsOuptCDslZ7rkqTqsIAg66ee7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMgotbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCi1tc2dzdHIgIiIKLSItaSDrmJDripQgLW8g7JeG7J20IOuqheyLnOyggeyduCDqsr3roZzrpbwg7KeA7KCV7ZaI7Iq164uI64ukLiAtLW9ubHkg6rK966Gc66W8IOqwgOygle2VqeuLiOuLpC4uLiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjI0IGJ1aWx0aW4vdGFnLmM6NDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTkgYnVpbHRpbi90YWcuYzo1NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDsoJXrpqwg66qo65OcICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNAogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIi1hIOyYteyFmOqzvCDqsr3roZzrpbwg6rCZ7J20IOyCrOyaqe2VmOuptCDslZ7rkqTqsIAg66ee7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOSBidWlsdGluL2NvbW1pdC5jOjE2MTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MiBidWlsdGluL2NvbW1pdC5jOjE2MTcKIG1zZ2lkICJzaG93IHN0YXR1cyBjb25jaXNlbHkiCiBtc2dzdHIgIuyDge2DnOulvCDqsITrnrXtlZjqsowg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDQgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIuu4jOuenOy5mCDsoJXrs7Trpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NgorbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCittc2dzdHIgIuyKpO2DnOyLnCDsoJXrs7Trpbwg7ZGc7Iuc7ZWp64uI64ukIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDgKIG1zZ2lkICJ2ZXJzaW9uIgogbXNnc3RyICLrsoTsoIQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTYgYnVpbHRpbi9wdXNoLmM6NTI1Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0OQogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICLsu7Ttk6jthLDqsIAg7J297J2EIOyImCDsnojripQg7ZiV7IudIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDYgYnVpbHRpbi9jb21taXQuYzoxNjE4CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjIzCiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICLquLQg7ZiV7Iud7Jy866GcIOyDge2DnOulvCDtkZzsi5ztlanri4jri6QgKOq4sOuzuOqwkikiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OSBidWlsdGluL2NvbW1pdC5jOjE2MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAiTlVMIOusuOyekOuhnCDtla3rqqnsnYQg64Gd64OF64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjI0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODEKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQgYnVpbHRpbi90YWcuYzozNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBidWlsdGluL2NvbW1pdC5jOjE2MjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NiBidWlsdGluL3RhZy5jOjQxMgogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIuuqqOuTnCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIGJ1aWx0aW4vY29tbWl0LmM6MTYyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3IGJ1aWx0aW4vY29tbWl0LmM6MTYyOQogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogIuy2lOyggeuQmOyngCDslYrripQg7YyM7J287J2EIO2RnOyLnO2VqeuLiOuLpC4g7LaU6rCAIOyYteyFmDogYWxsLCBub3JtYWwsIG5vICjquLDrs7jqsJI6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYwCiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLrrLTsi5zrkJjripQg7YyM7J287J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU2IHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MSBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAi7Ja47KCcIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MgogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKQEAgLTY5MTUsMTk4ICs3MTk1LDE5OCBAQAogIu2VmOychCDrqqjrk4jsnZgg67OA6rK97J2EIOustOyLnO2VqeuLiOuLpC4g7LaU6rCAIOyYteyFmDogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAo6riw67O46rCSOiAiCiAiYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjQKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICLstpTsoIHrkJjsp4Ag7JWK64qUIO2MjOydvOydmCDrqqnroZ3snYQg7Jes65+sIOyXtOuhnCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi7IOI66GcIOunjOuToCDsu6TrsIvsnYQg7LC+7JWE67O8IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICLsg4jroZwg66eM65OgIOy7pOuwi+ydhCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDgyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJIRUFEIOu2hOumrOuQqCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiICjstZzsg4HsnIQt7Luk67CLKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICLshLHqs7XsoIHsnbgg7Luk67CLIO2bhOyXkCDsmpTslb3snYQg7ZGc7Iuc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIuy7pOuwiyDrqZTsi5zsp4Ag7ISc7Iud7JeQIGRpZmbrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MAogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIuy7pOuwiyDrqZTsi5zsp4Ag7Ji17IWYIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODYgYnVpbHRpbi90YWcuYzozNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MSBidWlsdGluL3RhZy5jOjQxMAogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgIu2MjOydvOyXkOyEnCDrqZTsi5zsp4Drpbwg7J297Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAi7J6R7ISx7J6QIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICLsu6TrsIvsnZgg7J6R7ISx7J6Q66W8IOyngOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4IGJ1aWx0aW4vZ2MuYzozMzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBidWlsdGluL2djLmM6MzU4CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAi7Iuc6rCBIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MwogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi7Luk67CL7J2YIOyLnOqwgeydhCDsp4DsoJXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OSBidWlsdGluL21lcmdlLmM6MjIyIGJ1aWx0aW4vbm90ZXMuYzozOTgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIyIGJ1aWx0aW4vbm90ZXMuYzo0MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi90YWcuYzo0MDgKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICLrqZTsi5zsp4AiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CiBtc2dpZCAiY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuy7pOuwiyDrqZTsi5zsp4AiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MCBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi9jb21taXQuYzoxNTkyCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6ODEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzcKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgIuy7pOuwiyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOy7pOuwi+ydmCDrqZTsi5zsp4Drpbwg7J6s7IKs7Jqp7ZWY6rOgIO2OuOynke2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOy7pOuwi+yXkOyEnCDrqZTsi5zsp4Drpbwg7J6s7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIuyngOygle2VnCDsu6TrsIvsnYQg7IiY7KCV7ZWY64qU642wIGF1dG9zcXVhc2gg7ZiV7IudIOuplOyLnOyngOulvCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MworIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIuyngOygle2VnCDsu6TrsIvsnYQg7ZWp7LmY64qU642wIGF1dG9zcXVhc2gg7ZiV7IudIOuplOyLnOyngOulvCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAi7Luk67CL7J2EIOuCtOqwgCDsnpHshLHtlZwg6rKD7Jy866GcIOunjOuTreuLiOuLpCAoLUMvLWMvLS1hbWVuZOyZgCDqsJnsnbQg7IKs7JqpKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9sb2cuYzoxNDMwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICJTaWduZWQtb2ZmLWJ5OiDspITsnYQg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMQogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOyEnOyLnSDtjIzsnbzsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICLsu6TrsIsg7Y647KeR7J2EIOqwleygnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICLquLDrs7jqsJIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL3RhZy5jOjM2OQorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6NDEzCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAi66mU7Iuc7KeA7JeQ7IScIOqzteuwseqzvCAj7KO87ISd7J2EIOyngOybgeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi7Luk67CLIOuplOyLnOyngCDshJzsi53sl5Ag7IOB7YOc66W8IO2PrO2VqO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxIGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTY2Ci0jOiBidWlsdGluL3JldmVydC5jOjkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDYgYnVpbHRpbi9tZXJnZS5jOjIzNCBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJHUEcg7ISc66qFIOy7pOuwiyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAi7Luk67CLIOuCtOyaqSDsmLXshZgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjEwCiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICLrs4Dqsr3rkJwg7YyM7J287J2EIOuqqOuRkCDsu6TrsIvtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICLsp4DsoJXtlZwg7YyM7J287J2EIOy7pOuwi+2VoCDsnbjrjbHsiqTsl5Ag7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMgogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICLrjIDtmZTtmJXsnLzroZwg7YyM7J287J2EIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTMKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBjaGFuZ2VzIgogbXNnc3RyICLrjIDtmZTtmJXsnLzroZwg67OA6rK9IOyCrO2VreydhCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICLsp4DsoJXtlZwg7YyM7J2866eMIOy7pOuwi+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKIG1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKIG1zZ3N0ciAi7Luk67CLIOyghCDtm4TtgazsmYAg7Luk67CLIOuplOyLnOyngCDtm4Ttgazrpbwg6rG064SI65yB64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgIuustOyXh+ydhCDsu6TrsIvtlaDsp4Ag7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi67CU66GcIOyVniDsu6TrsIvsnYQg67CU6r+J64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAi64uk7Iuc7JOw6riwIO2bhCDtm4Ttgazrpbwg6rG064SI65yB64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMwogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIuu5iCDrs4Dqsr0g7IKs7ZWt7J2EIOq4sOuhne2VmOuPhOuhnSDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjM1CiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAi67mIIOuplOyLnOyngOyZgCDqsJnsnbQg67OA6rK9IOyCrO2VreydhCDquLDroZ3tlZjrj4TroZ0g7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAiSEVBRCDsu6TrsIvsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcwNworIzogYnVpbHRpbi9jb21taXQuYzoxNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIuyGkOyDgeuQnCBNRVJHRV9IRUFEIO2MjOydvCAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxNwogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIk1FUkdFX01PREXrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTczMworIzogYnVpbHRpbi9jb21taXQuYzoxNzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAi7Luk67CLIOuplOyLnOyngOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NAorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAi7Luk67CL7J2EIOykkeyngO2VqeuLiOuLpC4g66mU7Iuc7KeA66W8IO2OuOynke2VmOyngCDslYrslZjsirXri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIuy7pOuwi+ydhCDspJHsp4Dtlanri4jri6QuIOy7pOuwiyDrqZTsi5zsp4DqsIAg67mE7Ja0IOyeiOyKteuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE4MDAKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKQEAgLTcxMTYsMTM1ICs3Mzk2LDEzNSBAQAogIuyXhuyKteuLiOuLpC4g65SU7Iqk7YGs6rCAIOq9iSDssKjsp4Ag7JWK7JWY6rOgIOygnO2VnCDsmqnrn4nsnYQg64SY7Ja06rCA7KeAXG4iCiAi7JWK7JWY64qU7KeAIO2ZleyduO2VmOyLreyLnOyYpC4g6re466as6rOgICdnaXQgcmVzZXQgSEVBRCfroZwg67O16rWs7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo5CisjOiBidWlsdGluL2NvbmZpZy5jOjEwCiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbPOyYteyFmD5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU1CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIuyEpOyglSDtjIzsnbwg7JyE7LmYIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU2CisjOiBidWlsdGluL2NvbmZpZy5jOjU4CiBtc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKIG1zZ3N0ciAi6rO17Ya1IOyEpOyglSDtjIzsnbzsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAi7Iuc7Iqk7YWcIOyEpOyglSDtjIzsnbzsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgIuyggOyepeyGjCDshKTsoJUg7YyM7J287J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOyEpOyglSDtjIzsnbzsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAi67iU66GtLWlkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOu4lOuhrSDsmKTruIzsoJ3tirjsl5DshJwg7ISk7KCV7J2EIOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAi64+Z7J6RIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuqwkuydhCDqsIDsoLjsmLXri4jri6Q6IDzsnbTrpoQ+IFs86rCSLeygleq3nOyLnT5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLrqqjrk6Ag6rCS7J2EIOqwgOyguOyYteuLiOuLpDogPO2CpD4gWzzqsJIt7KCV6rec7IudPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJnZXQgdmFsdWVzIGZvciByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi7KCV6rec7Iud7JeQIOuMgO2VnCDqsJLsnYQg6rCA7KC47Ji164uI64ukOiA87J2066aELeygleq3nOyLnT4gWzzqsJIt7KCV6rec7IudPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgogbXNnc3RyICI8VVJMPuyXkCDtirnsoJXrkJjripQg6rCS7J2EIOqwgOyguOyYteuLiOuLpDogPOyEueyFmD5bLjzrs4DsiJg+XSA8VVJMPiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICLtlbTri7ntlZjripQg67OA7IiY66W8IOuqqOuRkCDsoJzqsbDtlanri4jri6Q6IDzsnbTrpoQ+IDzqsJI+IFs86rCSLeygleq3nOyLnT5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3CisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICLsg4gg67OA7IiY66W8IOy2lOqwgO2VqeuLiOuLpDogPOydtOumhD4gPOqwkj4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLrs4DsiJjrpbwg7KCc6rGw7ZWp64uI64ukOiA87J2066aEPiBbPOqwki3soJXqt5zsi50+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLtlbTri7ntlZjripQg7ZWt66qp7J2EIOuqqOuRkCDsoJzqsbDtlanri4jri6Q6IDzsnbTrpoQ+IFs86rCSLeygleq3nOyLnT5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgogbXNnc3RyICLshLnshZjsnZgg7J2066aE7J2EIOuwlOq/ieuLiOuLpDogPOyYmy3snbTrpoQ+IDzsg4gt7J2066aEPiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCiBtc2dzdHIgIuyEueyFmOydhCDsoJzqsbDtlanri4jri6Q6IDzsnbTrpoQ+IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcyCisjOiBidWlsdGluL2NvbmZpZy5jOjc0CiBtc2dpZCAibGlzdCBhbGwiCiBtc2dzdHIgIuyghOyytCDrqqnroZ3snYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgIu2OuOynkeq4sOulvCDsl73ri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBzbG90IFtkZWZhdWx0XSIKIG1zZ3N0ciAi7ISk7KCV7ZWcIOyDieydhCDssL7sirXri4jri6Q6IHNsb3QgWzzquLDrs7jqsJI+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IHNsb3QgW3N0ZG91dC1pcy10dHldIgogbXNnc3RyICLsg4kg7ISk7KCV7J2EIOywvuyKteuLiOuLpDogc2xvdCBbPO2RnOykgOy2nOugpeydtC1UVFnsnbjsp4At7Jes67aAPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJUeXBlIgogbXNnc3RyICLqsJIg7KKF66WYIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICLqsJLsnbQgXCJ0cnVlXCIg65iQ64qUIFwiZmFsc2VcIuyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICLqsJLsnbQg7Iut7KeE7IiY7J6F64uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjgxCiBtc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgogbXNnc3RyICLqsJLsnbQgLS1ib29sIOuYkOuKlCAtLWludOyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgIuqwkuydtCDqsr3roZwo7YyM7J28IOuYkOuKlCDrlJTroInthLDrpqwg7J2066aEKeyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MQorIzogYnVpbHRpbi9jb25maWcuYzo4MwogbXNnaWQgIk90aGVyIgogbXNnc3RyICLquLDtg4AiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgIuqwkuydhCBOVUwg67CU7J207Yq466GcIOuBneuDheuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgdmFyaWFibGUgbmFtZXMgb25seSIKIG1zZ3N0ciAi67OA7IiYIOydtOumhOunjCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODYKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgIuywvuyVhOuzvCDrlYwgaW5jbHVkZSDsp4Dsi5zslrTrpbwg6rOg66Ck7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg1CisjOiBidWlsdGluL2NvbmZpZy5jOjg3CiBtc2dpZCAic2hvdyBvcmlnaW4gb2YgY29uZmlnIChmaWxlLCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgY29tbWFuZCBsaW5lKSIKIG1zZ3N0ciAi7ISk7KCV7J2YIOy2nOyymOulvCDtkZzsi5ztlanri4jri6QgKO2MjOydvCwg7ZGc7KSAIOyeheugpSwg67iU66GtLCDrqoXroLntlokpIgogCkBAIC03MjY3LDEyICs3NTQ3LDE2IEBACiAiI1x0bmFtZSA9ICVzXG4iCiAiI1x0ZW1haWwgPSAlc1xuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxMworIzogYnVpbHRpbi9jb25maWcuYzo0OTkKK21zZ2lkICItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIi0tbG9jYWwg7Ji17IWY7J2AIOq5gyDsoIDsnqXshowg7JWI7JeQ7ISc66eMIOyTuCDsiJgg7J6I7Iq164uI64ukIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAiJXMg7ISk7KCVIO2MjOydvOydhCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC03MjgyLDYzICs3NTY2LDc1IEBACiAiJXPsnYQo66W8KSDrs4Dqsr3tlZjroKTrqbQg7KCV6rec7Iud7J2EIOyTsOqxsOuCmCwgLS1hZGQg65iQ64qUIC0tcmVwbGFjZS1hbGwg7Ji17IWY7J2EXG4iCiAi7IKs7Jqp7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODYKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg3CiBtc2dpZCAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIG1zZ3N0ciAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTYKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk3CiBtc2dpZCAicHJpbnQgc2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0IgogbXNnc3RyICLsgqzrnozsnbQg7J296riwIOyii+ydgCDtmJXsi53snLzroZwg7YGs6riw66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTkKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gWzxjb21taXQtaXNoPi4uLl0iCiBtc2dzdHIgImdpdCBkZXNjcmliZSBbPOyYteyFmD5dIFs87Luk67CLLeuUsOychD4uLi5dIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMAogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSAtLWRpcnR5IgogbXNnc3RyICJnaXQgZGVzY3JpYmUgWzzsmLXshZg+XSAtLWRpcnR5IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjE3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJoZWFkIgorbXNnc3RyICJoZWFkIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJsaWdodHdlaWdodCIKK21zZ3N0ciAibGlnaHR3ZWlnaHQiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImFubm90YXRlZCIKK21zZ3N0ciAiYW5ub3RhdGVkIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAi7KO87ISdIOuLrOumsCAlcyDtg5zqt7jrpbwg7IKs7Jqp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKIG1zZ3N0ciAi7KO87ISdIOuLrOumsCAlcyDtg5zqt7jsl5Ag64K07J6l65CcIOydtOumhOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKIG1zZ3N0ciAiJyVzJyDtg5zqt7jqsIAg7Iuk7KCcIOyXrOq4sCAnJXMn7J6F64uI64ukIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg2IGJ1aWx0aW4vbG9nLmM6NDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICLsmKzrsJTrpbgg7Jik67iM7KCd7Yq4IOydtOumhOydtCDslYTri5nri4jri6QgKCVzKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCAnJXMnIG9iamVjdCIKIG1zZ3N0ciAiJXPsnYAo64qUKSDsmKzrsJTrpbggJyVzJyDsmKTruIzsoJ3tirjqsIAg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAi7Ja065akIO2DnOq3uOuPhCAnJXMn7JmAKOqzvCkg7KCV7ZmV7Z6IIOydvOy5mO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2VhcmNoaW5nIHRvIGRlc2NyaWJlICVzXG4iCiBtc2dzdHIgIiVzIOyEpOuqheydhCDsnITtlbQg6rKA7IOJ7ZWY64qUIOykkVxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzE5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICIlc+yXkOyEnCDqsoDsg4kg66eI7LmoXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtNzM0Nyw3ICs3NjQzLDcgQEAKICLslrTrlqQg7KO87ISdIOuLrOumsCDtg5zqt7jrj4QgJyVzJ+ydhCjrpbwpIOyEpOuqhe2VmOyngCDslYrsirXri4jri6QuXG4iCiAi7ZWY7KeA66eMIOyjvOyEnSDri6zrpqzsp4Ag7JWK7J2AIO2DnOq3uOqwgCDsnojsirXri4jri6Q6IC0tdGFncyDsmLXshZjsnYQg7ZW0IOuztOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC03MzU2LDEyICs3NjUyLDEyIEBACiAi7Ja065akIO2DnOq3uOuPhCAnJXMn7J2EKOulvCkg7ISk66qF7ZWgIOyImCDsl4bsirXri4jri6QuXG4iCiAiLS1hbHdheXMg7Ji17IWY7J2EIOyNqCDrs7TqsbDrgpgsIO2DnOq3uOulvCDrp4zrk6TslrQg67O07Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmF2ZXJzZWQgJWx1IGNvbW1pdHNcbiIKIG1zZ3N0ciAi7Luk67CLICVsdeqwnOulvCDqsIDroZzsp4jroIDsirXri4jri6RcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgpAQCAtNzM3MCwxMDUgKzc2NjYsMTMyIEBACiAi7YOc6re466W8ICVp6rCcIOuEmOqyjCDssL7slZjsirXri4jri6QuIOqwgOyepSDstZzqt7zsnZggJWnqsJwg66qp66Gd7J2EXG4iCiAi7ZGc7Iuc7ZWp64uI64ukLiAlcyDsnITsuZjsl5DshJwg6rKA7IOJ7J2EIOykkeyngO2VqeuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgIuy7pOuwiyDri6TsnYzsl5Ag7Jik64qUIO2DnOq3uOulvCDssL7sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDIKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICLtkZzspIAg7Jik66WY7JeQ7IScIOqygOyDiSDsoITrnrXsnYQg65SU67KE6rmF7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQzCiBtc2dpZCAidXNlIGFueSByZWYiCiBtc2dzdHIgIuuqqOuToCDroIjtjbzrn7DsiqTrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgIuuqqOuToCDtg5zqt7jrpbwsIOyjvOyEnSDri6zrpqzsp4Ag7JWK7J2AIO2DnOq3uOq5jOyngCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDUKIG1zZ2lkICJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IgogbXNnc3RyICLtla3sg4Eg6ri0IO2YleyLneydhCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDYKIG1zZ2lkICJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiCiBtc2dzdHIgIuyyqyDrsojsp7gg7J207KCEIOy7pOuwi+unjCDrlLDrnbzqsJHri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDkKIG1zZ2lkICJvbmx5IG91dHB1dCBleGFjdCBtYXRjaGVzIgogbXNnc3RyICLsoJXtmZXtnogg7J287LmY7ZWY64qUIO2VreuqqeunjCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTEKIG1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgogbXNnc3RyICI8bj7qsJzsnZgg6rCA7J6lIOy1nOq3vOydmCDtg5zqt7jrp4wg6rOg66Ck7ZWp64uI64ukICjquLDrs7jqsJI6IDEwKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1MwogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIjztjKjthLQ+6rO8IOydvOy5mO2VmOuKlCDtg5zqt7jrp4wg6rOg66Ck7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTUKK21zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIjztjKjthLQ+6rO8IOydvOy5mO2VmOuKlCDtg5zqt7jrpbwg6rOg66Ck7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NyBidWlsdGluL25hbWUtcmV2LmM6NDA2CiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICLrjIDslYjsnLzroZwg7JqU7JW97ZWcIOy7pOuwiyDsmKTruIzsoJ3tirjrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU4IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjEKIG1zZ2lkICJtYXJrIgogbXNnc3RyICLtkZzsi5wiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTkKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCiBtc2dzdHIgIuuzgOqyveuQnCDsnpHsl4Ug7Y+0642U7JeQIDztkZzsi5w+66W8IOuSpOyXkCDrtpnsnoXri4jri6QgKOq4sOuzuOqwkjogXCItZGlydHlcIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjIKK21zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKK21zZ3N0ciAi66ed6rCA7KeEIOyekeyXhSDtj7TrjZTsl5AgPO2RnOyLnD7rpbwg65Kk7JeQIOu2meyeheuLiOuLpCAo6riw67O46rCSOiBcIi1icm9rZW5cIikiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODAKIG1zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKIG1zZ3N0ciAiLS1sb25nIOyYteyFmOydgCAtLWFiYnJldj0wIOyYteyFmOqzvCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CiBtc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCiBtc2dzdHIgIuydtOumhOydtCDsl4bsirXri4jri6QuIOyVhOustOqyg+uPhCDshKTrqoXtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSDsmLXshZjsnYAg7Luk67CL6rCZ7J2AIO2VreuqqeqzvCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU0Cittc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICItLWJyb2tlbiDsmLXshZjsnYAg7Luk67CL6rCZ7J2AIO2VreuqqeqzvCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgorCiAjOiBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiJyVzJzog7J2867CYIO2MjOydvOydtOuCmCDsi6zrs7zrpq0g66eB7YGs6rCAIOyVhOuLmeuLiOuLpCIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjM0CisjOiBidWlsdGluL2RpZmYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICLsnpjrqrvrkJwg7Ji17IWYOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzU4CisjOiBidWlsdGluL2RpZmYuYzozNTkKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6rmDIOyggOyepeyGjOqwgCDslYTri5nri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwMQorIzogYnVpbHRpbi9kaWZmLmM6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICLsnpjrqrvrkJwgJyVzJyDsmKTruIzsoJ3tirjqsIAg7KO87Ja07KGM7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEwCisjOiBidWlsdGluL2RpZmYuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAi65GQIOqwnOuztOuLpCDrp47snYAg67iU66Gt7J20IOyjvOyWtOyhjOyKteuLiOuLpDogJyVzJyIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE3CisjOiBidWlsdGluL2RpZmYuYzo0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAi7LKY66as7ZWY7KeAIOyViuydgCAnJXMnIOyYpOu4jOygne2KuOqwgCDso7zslrTsoYzsirXri4jri6QuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOQogbXNnaWQgImdpdCBkaWZmdG9vbCBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGRpZmZ0b29sIFs87Ji17IWYPl0gWzzsu6TrsIs+IFs87Luk67CLPl1dIFstLV0gWzzqsr3roZw+Li4uXSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0MQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQ6ICVkIgogbXNnc3RyICLsi6TtjKg6ICVkIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MzQyCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIHN5bWxpbmsgJXMiCittc2dzdHIgIiVzIOyLrOuzvOumrSDrp4Htgazrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICIlcyDsi6zrs7zrpq0g66eB7YGsIO2MjOydvOydhCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMgZm9yIHN5bWxpbmsgJXMiCittc2dzdHIgIiUyJHMg7Ius67O866atIOunge2BrOyXkCDrjIDtlZwgJTEkcyDsmKTruIzsoJ3tirjrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo0MDMKIG1zZ2lkICIiCiAiY29tYmluZWQgZGlmZiBmb3JtYXRzKCctYycgYW5kICctLWNjJykgYXJlIG5vdCBzdXBwb3J0ZWQgaW5cbiIKICJkaXJlY3RvcnkgZGlmZiBtb2RlKCctZCcgYW5kICctLWRpci1kaWZmJykuIgpAQCAtNzQ3NiwzMDIgKzc3OTksMzA0IEBACiAi7Lu067CU7J2465OcIGRpZmYg7ZiV7Iud7J2AICgnLWMnIOuwjyAnLS1jYycpIOuUlOugie2EsOumrCBkaWZmIOuqqOuTnOyXkOyEnOuKlFxuIgogIignLWQnIOuwjyAnLS1kaXItZGlmZicpIOyngOybkO2VmOyngCDslYrsirXri4jri6QuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTY3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgogbXNnc3RyICLrkZAg7YyM7J287J20IOyImOygleuQmOyXiOyKteuLiOuLpDogJyVzJyDrsI8gJyVzJy4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NjkKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKIG1zZ2lkICJ3b3JraW5nIHRyZWUgZmlsZSBoYXMgYmVlbiBsZWZ0LiIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlOqwgCDrgqjqsqjsoLgg7J6I7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU4MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wb3JhcnkgZmlsZXMgZXhpc3QgaW4gJyVzJy4iCiBtc2dzdHIgIuyehOyLnCDtjIzsnbzsnbQgJyVzJ+yXkCDsnojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgxCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCiBtc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCiBtc2dzdHIgIuydtCDtjIzsnbzsnYQg7KeA7Jqw6rGw64KYIOuzteq1rO2VoCDsiJgg7J6I7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyNgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY4OQogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICJgZGlmZi50b29sYCDrjIDsi6AgYGRpZmYuZ3VpdG9vbGDsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjI4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkxCiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgIuyghOyytCDrlJTroInthLDrpqwgZGlmZuulvCDsiJjtlontlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTMKIG1zZ2lkICJkbyBub3QgcHJvbXB0IGJlZm9yZSBsYXVuY2hpbmcgYSBkaWZmIHRvb2wiCiBtc2dzdHIgImRpZmYg64+E6rWs66W8IOyLpO2Wie2VmOq4sCDsoITsl5Ag7ZSE66Gs7ZSE7Yq466W8IO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAiZGlyLWRpZmYg66qo65Oc7JeQ7IScIOyLrOuzvOumrSDrp4Htgazrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAwCiBtc2dpZCAiPHRvb2w+IgogbXNnc3RyICI864+E6rWsPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzOAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMQogbXNnaWQgInVzZSB0aGUgc3BlY2lmaWVkIGRpZmYgdG9vbCIKIG1zZ3N0ciAi7KeA7KCV7ZWcIGRpZmYg64+E6rWs66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMwogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAiYC0tdG9vbGAg7Ji17IWY7JeQ7IScIOyCrOyaqe2VoCDsiJgg7J6I64qUIGRpZmYg64+E6rWsIOuqqeuhneydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDMKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKIG1zZ2lkICIiCiAibWFrZSAnZ2l0LWRpZmZ0b29sJyBleGl0IHdoZW4gYW4gaW52b2tlZCBkaWZmIHRvb2wgcmV0dXJucyBhIG5vbiAtIHplcm8gZXhpdCAiCiAiY29kZSIKIG1zZ3N0ciAiIgogIuyLpO2Wie2VnCBkaWZmIOuPhOq1rOqwgCAw7J20IOyVhOuLjCDsvZTrk5zrpbwg66as7YS07ZWY66m0ICdnaXQtZGlmZnRvb2wn7J20IOuBneuCmOqyjCDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICI8Y29tbWFuZD4iCiBtc2dzdHIgIjzrqoXroLk+IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5CiBtc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgogbXNnc3RyICJkaWZm66W8IOuztOuKlCDrqoXroLnslrTrpbwg7IKs7Jqp7J6Q6rCAIOyngOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY3MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjczMwogbXNnaWQgIm5vIDx0b29sPiBnaXZlbiBmb3IgLS10b29sPTx0b29sPiIKIG1zZ3N0ciAiLS10b29sPTzrj4Tqtaw+IOyYteyFmOyXkCA864+E6rWsPuqwgCDso7zslrTsp4Dsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njc3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQwCiBtc2dpZCAibm8gPGNtZD4gZ2l2ZW4gZm9yIC0tZXh0Y21kPTxjbWQ+IgogbXNnc3RyICItLWV4dGNtZD0866qF66C5PiDsmLXshZjsl5AgPOuqheuguT7snbQg7KO87Ja07KeA7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjYKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LeyYteyFmF0iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICLsmKTruIzsoJ3tirggPG4+6rCcIOuSpOyXkCDsp4Ttlokg7IOB7Zmp7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAi7ISc66qF7ZWcIO2DnOq3uOydmCDsspjrpqwg67Cp7Iud7J2EIOyEoO2Dne2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NwogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgIu2VhO2EsOunge2VnCDsmKTruIzsoJ3tirjsl5Ag64yA7ZWcIO2DnOq3uOydmCDsspjrpqwg67Cp7Iud7J2EIOyEoO2Dne2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MAogbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgogbXNnc3RyICLsnbQg7YyM7J2866GcIO2RnOyLnOulvCDrgrTrs7Trg4Xri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTIKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgIuydtCDtjIzsnbzsl5DshJwg7ZGc7Iuc66W8IOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NAogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICLtg5zqt7jsl5Ag7YOc6re467aZ7J24IOyCrOuejOydtCDsl4bsnYQg65WMIOqwgOynnOuhnCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAi7Luk67CLIOuniOuLpCDsoITssrQg7Yq466as66W8IOy2nOugpe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5OAogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICLsiqTtirjrprzsnYQg64Gd64K064qU642wIOyZhOujjCDquLDriqXsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk3CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICLruJTroa0g642w7J207YSw7J2YIOy2nOugpeydhCDqsbTrhIjrnIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAwCiBtc2dpZCAicmVmc3BlYyIKIG1zZ3N0ciAi66CI7Y2865+w7Iqk66qF7IS4IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMQogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAi66CI7Y2865+w7Iqk66qF7IS466W8IOuCtOuztOuCuCDroIjtjbzrn7DsiqTsl5Ag7KCB7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDIKIG1zZ2lkICJhbm9ueW1pemUgb3V0cHV0IgogbXNnc3RyICLstpzroKXsnYQg7J2166qF7ZmU7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs87Ji17IWYPl0gWzzsoIDsnqXshow+IFs866CI7Y2865+w7Iqk66qF7IS4Pi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzzsmLXshZg+XSA86re466O5PiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzzsmLXshZg+XSBbKDzsoIDsnqXshow+IHwgPOq3uOujuT4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI0CisjOiBidWlsdGluL2ZldGNoLmM6MjUKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPOyYteyFmD5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTc1CisjOiBidWlsdGluL2ZldGNoLmM6OTAgYnVpbHRpbi9wdWxsLmM6MTgyCiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAi66qo65OgIOumrOuqqO2KuOyXkOyEnCDqsIDsoLjsmLXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL3B1bGwuYzoxNzgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL3B1bGwuYzoxODUKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgIuuNruyWtOyTsOyngCDrp5Dqs6AgLmdpdC9GRVRDSF9IRUFE7JeQIOuNp+u2meyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5IGJ1aWx0aW4vcHVsbC5jOjE4MQorIzogYnVpbHRpbi9mZXRjaC5jOjk0IGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAi66as66qo7Yq4IOyqveyXkCDrrLbsnYzsnYQg7JeF66Gc65Oc7ZWgIOqyveuhnCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMCBidWlsdGluL3B1bGwuYzoxODMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxOTAKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICLroZzsu6wg67iM656c7LmY66W8IOqwleygnOuhnCDrja7slrTslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NwogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAi7Jes65+sIOumrOuqqO2KuOyXkOyEnCDqsIDsoLjsmLXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQgYnVpbHRpbi9wdWxsLmM6MTg1CisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAi66qo65OgIO2DnOq3uOyZgCDqtIDroKgg7Jik67iM7KCd7Yq466W8IOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMQogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAi66qo65OgIO2DnOq3uOulvCDqsIDsoLjsmKTsp4Ag7JWK7Iq164uI64ukICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4CisjOiBidWlsdGluL2ZldGNoLmM6MTAzCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi67OR66Cs7KCB7Jy866GcIOuwm+yVhOyYpOuKlCDtlZjsnITrqqjrk4gg6rCc7IiYIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vcHVsbC5jOjE4OAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNSBidWlsdGluL3B1bGwuYzoxOTUKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAi66as66qo7Yq47JeQIOydtOygnCDsl4bripQg66as66qo7Yq4IOy2lOyggSDruIzrnpzsuZjrpbwg7J6Y652864OF64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTExIGJ1aWx0aW4vcHVsbC5jOjE5MQorIzogYnVpbHRpbi9mZXRjaC5jOjEwNiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjEyMwogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAi7KO866y47ZiVIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNwogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg7J6s6reA7KCB7Jy866GcIOqwgOyguOyYpOq4sCDrsKnsi53snYQg7ISk7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjExMSBidWlsdGluL3B1bGwuYzoyMDMKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAi64uk7Jq066Gc65Oc7ZWcIOustuydjOydhCDrs7TsobTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAiSEVBRCDroIjtjbzrn7DsiqQg7JeF642w7J207Yq466W8IO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMSBidWlsdGluL2ZldGNoLmM6MTI3IGJ1aWx0aW4vcHVsbC5jOjIwMworIzogYnVpbHRpbi9mZXRjaC5jOjExNiBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vcHVsbC5jOjIwNgogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgIuyWleydgCDrs7XsoJzsnZgg7Luk67CLIOuCtOyXreydhCDquYrqsowg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTE4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCiBtc2dzdHIgIuyWleydgCDrs7XsoJzsnZgg7Luk67CLIOuCtOyXreydhCDsi5zqsITsnYQg6riw7KSA7Jy866GcIOq5iuqyjCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MjA2CisjOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwOQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICLsmYTsoITtlZwg7KCA7J6l7IaM66GcIOyghO2ZmO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYgYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiZGlyIgogbXNnc3RyICLrlJTroInthLDrpqwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjcKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCDstpzroKXsnZgg7JWe7JeQIOydtCDrlJTroInthLDrpqzrpbwg67aZ7J6F64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM1Ci1tc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCi1tc2dzdHIgIuyerOq3gCDquLDrs7gg66qo65OcIgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMAorbXNnaWQgIiIKKyJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgorImZpbGVzKSIKK21zZ3N0ciAi7ZWY7JyEIOuqqOuTiOydhCDsnqzqt4DsoIHsnLzroZwg6rCA7KC47JisIOuVjCDquLDrs7jqsJIgKOyEpOyglSDtjIzsnbzrs7Tri6Qg64Ku7J2AIOyasOyEoCDsiJzsnIQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vcHVsbC5jOjIwOQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNCBidWlsdGluL3B1bGwuYzoyMTIKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgIi5naXQvc2hhbGxvd+ulvCDsl4XrjbDsnbTtirjtlZjripQg66CI7Y2865+w7Iqk66W8IO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUgYnVpbHRpbi9wdWxsLmM6MjE0CiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICLroIjtjbzrn7DsiqTrp7UiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjEyCisjOiBidWlsdGluL2ZldGNoLmM6MTM2IGJ1aWx0aW4vcHVsbC5jOjIxNQogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICLroIjtjbzrn7DsiqTrp7Ug6rCA7KC47Jik6riw66W8IOyngOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM5NQorIzogYnVpbHRpbi9mZXRjaC5jOjM5NAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICLrpqzrqqjtirgg66CI7Y2865+w7IqkIEhFQUTrpbwg7LC+7J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIKIG1zZ3N0ciAiZmV0Y2gub3V0cHV0IOyEpOygleyXkCDsnpjrqrvrkJwg6rCS7J20IOyeiOyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXMg7Jik67iM7KCd7Yq46rCAIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOAorIzogYnVpbHRpbi9mZXRjaC5jOjYwOQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW+y1nOyLoCDsg4Htg5xdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIxIGJ1aWx0aW4vZmV0Y2guYzo3MDEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjIgYnVpbHRpbi9mZXRjaC5jOjcwMgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIlvqsbDrtoDrkKhdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIyCisjOiBidWlsdGluL2ZldGNoLmM6NjIzCiBtc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCiBtc2dzdHIgIu2YhOyerCDruIzrnpzsuZjsl5DshJwg6rCA7KC47JisIOyImCDsl4bsnYwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlvtg5zqt7gg7JeF642w7J207Yq4XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYzMiBidWlsdGluL2ZldGNoLmM6NjY1IGJ1aWx0aW4vZmV0Y2guYzo2ODEKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzMgYnVpbHRpbi9mZXRjaC5jOjY2NiBidWlsdGluL2ZldGNoLmM6NjgyCisjOiBidWlsdGluL2ZldGNoLmM6Njk3CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgIuuhnOy7rCDroIjtjbzrn7DsiqTrpbwg7JeF642w7J207Yq47ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTIKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIlvsg4jroZzsmrQg7YOc6re4XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1NAorIzogYnVpbHRpbi9mZXRjaC5jOjY1NQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW+yDiOuhnOyatCDruIzrnpzsuZhdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjU3CisjOiBidWlsdGluL2ZldGNoLmM6NjU4CiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJb7IOI66Gc7Jq0IOugiO2NvOufsOyKpF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTcKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICLqsJXsoJwg7JeF642w7J207Yq4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi7KCV67Cp7ZalIOynhO2WieydtCDslYTri5giCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlc+ydtCjqsIApIOuqqOuToCDtlYTsmpTtlZwg7Jik67iM7KCd7Yq466W8IOuztOuCtOyngCDslYrslZjsirXri4jri6RcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2NgorIzogYnVpbHRpbi9mZXRjaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICLslpXsnYAg7LWc7IOB7JyE7J2YIOyXheuNsOydtO2KuOqwgCDtl4jsmqnrkJjsp4Ag7JWK7Jy866+A66GcICVz7J2EKOulvCkg6rGw67aA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODUzIGJ1aWx0aW4vZmV0Y2guYzo5NDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTUgYnVpbHRpbi9mZXRjaC5jOjk1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiJS4qcyBVUkzsl5DshJxcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2NAorIzogYnVpbHRpbi9mZXRjaC5jOjg2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtNzc4MCw1NSArODEwNSw1NSBAQAogIuyXheuNsOydtO2KuO2VoCDsiJgg7JeG64qUIOuhnOy7rCDroIjtjbzrn7DsiqTqsIAg7J6I7Iq164uI64ukLiDqs7zqsbAg7Lap64+MIOu4jOuenOy5mOulvFxuIgogIiDsoJzqsbDtlZjroKTrqbQgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIOuqheugueydhCDsi6TtlontlbQg67O07Iut7Iuc7JikIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTE5CisjOiBidWlsdGluL2ZldGNoLmM6OTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyDroIjtjbzrn7DsiqTqsIAg7Jew6rKw7J20IOuBiuyWtOyngOqyjCDrkKnri4jri6QpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIOugiO2NvOufsOyKpOqwgCDsl7DqsrDsnbQg64GK7Ja07KGM7Iq164uI64ukKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1MgorIzogYnVpbHRpbi9mZXRjaC5jOjk1NAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW+yCreygnOuQqF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTMgYnVpbHRpbi9yZW1vdGUuYzoxMDIwCisjOiBidWlsdGluL2ZldGNoLmM6OTU1IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMwogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKOyXhuydjCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICLqsITrnrXtlZwg7KCA7J6l7IaM6rCAIOyVhOuLjCDsoIDsnqXshozsnZgg7ZiE7J6sICVzIOu4jOuenOy5mOuhnCDqsIDsoLjsmKTquLDrpbwg6rGw7KCI7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTk1CisjOiBidWlsdGluL2ZldGNoLmM6OTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIlwiJXNcIiDsmLXshZjsnZggXCIlc1wiIOqwkuydgCAlc+yXkCDrjIDtlbQg7Jis67CU66W07KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5OAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJcIiVzXCIg7Ji17IWY7J2AICclcyfsl5Ag64yA7ZW0IOustOyLnOuQqeuLiOuLpFxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA3NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCDqsIDsoLjsmKTripQg67Cp67KV7J2EIOyVjCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzNAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiJXPsnYQo66W8KSDqsIDsoLjsmKTripQg7KSRXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM2IGJ1aWx0aW4vcmVtb3RlLmM6OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM4IGJ1aWx0aW4vcmVtb3RlLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICIlc+ydhCjrpbwpIOqwgOyguOyYrCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI1NAorIzogYnVpbHRpbi9mZXRjaC5jOjEyNTYKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKQEAgLTc4MzYsMTI2ICs4MTYxLDEyNiBAQAogIuumrOuqqO2KuCDsoIDsnqXshozrpbwg7KeA7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpC4g7IOIIOumrOu5hOyghOydhCDqsIDsoLjsmKwg7IiYIOyeiOuKlFxuIgogIlVSTOydtOuCmCDrpqzrqqjtirgg7J2066aE7J2EIOyngOygle2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjc3CisjOiBidWlsdGluL2ZldGNoLmM6MTI3OQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIu2DnOq3uCDsnbTrpoTsnYQg7KeA7KCV7ZW07JW8IO2VqeuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzE5CisjOiBidWlsdGluL2ZldGNoLmM6MTMyMQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIi0tZGVlcGVuIOyYteyFmOyXkCDsnYzsiJgg6rmK7J2064qUIOyngOybkO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCisjOiBidWlsdGluL2ZldGNoLmM6MTMyMwogbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1kZWVwZW4sIC0tZGVwdGgg7Ji17IWYIOykkSDtlZjrgpjrp4wg7JO4IOyImCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI2CisjOiBidWlsdGluL2ZldGNoLmM6MTMyOAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICItLWRlcHRoIOuwjyAtLXVuc2hhbGxvdyDsmLXshZjsnYAg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzMzAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIuyZhOyghO2VnCDsoIDsnqXshozsl5Ag64yA7ZW0IC0tdW5zaGFsbG93IOyYteyFmOydhCDsgqzsmqntlZjripQg6rG0IOyVnuuSpOqwgCDrp57sp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM1MAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNDkKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwg66qF66C57JeQIOyggOyepeyGjCDsnbjsnpDqsIAg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM1MgorIzogYnVpbHRpbi9mZXRjaC5jOjEzNTEKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImZldGNoIC0tYWxsIOuqheugueydgCDroIjtjbzrn7DsiqTrqoXshLgg7J247J6Q7JmAIOqwmeydtCDsk7DrqbQg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzYzCisjOiBidWlsdGluL2ZldGNoLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICLqt7jrn7Ag66as66qo7Yq464KYIOumrOuqqO2KuCDqt7jro7nsnbQg7JeG7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLqt7jro7nsnYQg6rCA7KC47Jik6rOgIOugiO2NvOufsOyKpOuqheyEuOulvCDsp4DsoJXtlZjrqbQg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjE0CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNQogbXNnaWQgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDzrqZTsi5zsp4A+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA87YyM7J28Pl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJzaG9ydGxvZ+yXkOyEnCDstZzrjIAgPG4+6rCcIOuhnOq3uOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY3CiBtc2dpZCAiYWxpYXMgZm9yIC0tbG9nIChkZXByZWNhdGVkKSIKIG1zZ3N0ciAiLS1sb2fsmYAg64+Z7J28ICjsl4bslrTsp4gg7JiI7KCVKSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICLthY3siqTtirgiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICI87YWN7Iqk7Yq4PuulvCDsi5zsnpEg66mU7Iuc7KeA66GcIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzIKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAi7J297Ja065Ok7J28IO2MjOydvCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbPG9wdGlvbnM+XSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbPOyYteyFmD5dIFs87Yyo7YS0Pl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTEKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50cy1hdCA8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDzsmKTruIzsoJ3tirg+XSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPG9iamVjdD5dXSIKLW1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs87Jik67iM7KCd7Yq4Pl1dIgotCiAjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEyCi1tc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPG9iamVjdD5dXSIKLW1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPOyYpOu4jOygne2KuD5dXSIKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPOy7pOuwiz5dXSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyNworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMworbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxjb21taXQ+XV0gWy0tbm8tY29udGFpbnMgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzzsu6TrsIs+XV0gWy0tbm8tY29udGFpbnMgWzzsu6TrsIs+XV0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAi7IW47JeQIOygge2Vqe2VmOqyjCDtlIzroIjsnbTsiqTtmYDrjZTrpbwg7J247Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjI5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgogbXNnc3RyICLtjoTsl5Ag7KCB7ZWp7ZWY6rKMIO2UjOugiOydtOyKpO2ZgOuNlOulvCDsnbjsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzEKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAi7YyM7J207I2s7JeQIOygge2Vqe2VmOqyjCDtlIzroIjsnbTsiqTtmYDrjZTrpbwg7J247Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBUY2wiCiBtc2dzdHIgIu2LsO2BtOyXkCDsoIHtlantlZjqsowg7ZSM66CI7J207Iqk7ZmA642U66W8IOyduOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNwogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICI8bj7qsJzsnZgg7ZW064u57ZWY64qUIOugiO2NvOufsOyKpOunjCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi90YWcuYzozODcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKLW1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgotbXNnc3RyICLstpzroKXsl5Ag7IKs7Jqp7ZWgIO2YleyLnSIKLQotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAi7KO87Ja07KeEIOyYpOu4jOygne2KuOulvCDqsIDrpqztgqTripQg66CI7Y2865+w7Iqk66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgIuuzke2Vqe2VmOuKlCDroIjtjbzrn7DsiqTrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrripQg66CI7Y2865+w7Iqk66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIuy7pOuwi+ydtCDrk6TslrQg7J6I64qUIOugiO2NvOufsOyKpOunjCDtkZzsi5ztlanri4jri6QiCiAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICLsu6TrsIvsnbQg65Ok7Ja0IOyeiOyngCDslYrsnYAg66CI7Y2865+w7Iqk66eMIO2RnOyLnO2VqeuLiOuLpCIKKwogIzogYnVpbHRpbi9mc2NrLmM6NTU0CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgogbXNnc3RyICLsmKTruIzsoJ3tirgg65SU66CJ7YSw66as66W8IO2ZleyduO2VmOuKlCDspJHsnoXri4jri6QiCkBAIC04MDE2LDIxICs4MzQxLDIxIEBACiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq466W8IO2ZleyduO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9nYy5jOjI1CisjOiBidWlsdGluL2djLmM6MjYKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBnYyBbPOyYteyFmD5dIgogCi0jOiBidWlsdGluL2djLmM6NzIKKyM6IGJ1aWx0aW4vZ2MuYzo3OQogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgotbXNnc3RyICLsnpjrqrvrkJwgJXM6ICclcyciCittc2dpZCAiRmFpbGVkIHRvIGZzdGF0ICVzOiAlcyIKK21zZ3N0ciAiJyVzJ+yXkCBmc3RhdCgp7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxMzkKKyM6IGJ1aWx0aW4vZ2MuYzozMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCi1tc2dzdHIgIuu5hOygleyDgeyggeycvOuhnCDquLQg7Jik67iM7KCd7Yq4IOuUlOugie2EsOumrCAlLipzIgorbXNnaWQgIkNhbid0IHN0YXQgJXMiCittc2dzdHIgIiclcyfsl5Agc3RhdCgp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyOTcKKyM6IGJ1aWx0aW4vZ2MuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBsYXN0IGdjIHJ1biByZXBvcnRlZCB0aGUgZm9sbG93aW5nLiBQbGVhc2UgY29ycmVjdCB0aGUgcm9vdCBjYXVzZVxuIgpAQCAtODA0NSwzOCArODM3MCw0MyBAQAogIlxuIgogIiVzIgogCi0jOiBidWlsdGluL2djLmM6MzM0CisjOiBidWlsdGluL2djLmM6MzU5CiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgIuugiO2NvOufsOyKpO2VmOyngCDslYrripQg7Jik67iM7KCd7Yq466W8IOyemOudvOuDheuLiOuLpCIKIAotIzogYnVpbHRpbi9nYy5jOjMzNgorIzogYnVpbHRpbi9nYy5jOjM2MQogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAi642UIOyekOyEuO2eiCDqsoDsgqztlanri4jri6QgKOyLpO2WiSDsi5zqsIQg64qY7Ja064KoKSIKIAotIzogYnVpbHRpbi9nYy5jOjMzNworIzogYnVpbHRpbi9nYy5jOjM2MgogbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCiBtc2dzdHIgIuyekOuPmSDqsIDruYTsp4Dsu6zroInthLAg66qo65Oc66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9nYy5jOjMzOAorIzogYnVpbHRpbi9nYy5jOjM2MwogbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgogbXNnc3RyICLsnbTrr7gg6rCA67mE7KeA7Lus66CJ7YSw6rCAIOyLpO2WiSDspJHsnbTrjZTrnbzrj4Qg6rCV7KCc66GcIOqwgOu5hOyngOy7rOugie2EsOulvCDsi6Ttlontlanri4jri6QiCiAKICM6IGJ1aWx0aW4vZ2MuYzozODAKICMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGdjLmxvZ2V4cGlyeSB2YWx1ZSAlcyIKK21zZ3N0ciAiZ2MubG9nZXhwaXJ5IOqwkuydhCAoJXMpIO2MjOyLse2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vZ2MuYzo0MDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGluIGJhY2tncm91bmQgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIuy1nOyggSDshLHriqXsnYQg7JyE7ZW0IOuwseq3uOudvOyatOuTnOyXkOyEnCDsnpDrj5nsnLzroZwg7KCA7J6l7IaM7J2YIOustuydjOydhCDrp4zrk63ri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozODIKKyM6IGJ1aWx0aW4vZ2MuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICLstZzsoIEg7ISx64ql7J2EIOychO2VtCDsnpDrj5nsnLzroZwg7KCA7J6l7IaM7J2YIOustuydjOydhCDrp4zrk63ri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozODMKKyM6IGJ1aWx0aW4vZ2MuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAi7IiY64+ZIOq0gOumrCDsnpHsl4XsnYAgXCJnaXQgaGVscCBnY1wiIOuCtOyaqeydhCDssLjqs6DtlZjsi63si5zsmKQuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0MDQKKyM6IGJ1aWx0aW4vZ2MuYzo0MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCkBAIC04MDg0LDI2MCArODQxNCwyNzggQEAKICLqsIDruYTsp4Dsu6zroInthLDqsIAg7J2066+4ICclcycg7Lu07ZOo7YSw7JeQ7IScICU8UFJJdU1BWD4gUElE66GcIOyLpO2WiSDspJHsnoXri4jri6QgKOyVhOuLiOuptCAtLSIKICJmb3JjZeulvCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiBidWlsdGluL2djLmM6NDQ4CisjOiBidWlsdGluL2djLmM6NDgwCiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICIiCiAi64qQ7Iqo7ZWcIOyYpOu4jOygne2KuOqwgCDrhIjrrLQg66eO7Iq164uI64ukLiDsoJzqsbDtlZjroKTrqbQgJ2dpdCBwcnVuZSfsnYQg7Iuk7ZaJ7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI3CiBtc2dpZCAiZ2l0IGdyZXAgWzxvcHRpb25zPl0gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgZ3JlcCBbPOyYteyFmD5dIFstZV0gPO2MqO2EtD4gWzzrpqzruYTsoIQ+Li4uXSBbWy0tXSA86rK966GcPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIzMgorIzogYnVpbHRpbi9ncmVwLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDog7Iqk66CI65Oc66W8IOunjOuTnOuKlOuNsCDsi6TtjKjtlojsirXri4jri6Q6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoyOTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOyKpOugiOuTnCDsiJjrpbwgJTIkc+yXkCDrjIDtlbQg7KeA7KCV7ZaI7Iq164uI64ukICglMSRkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzYzIGJ1aWx0aW4vZ3JlcC5jOjgwNAorIy4gVFJBTlNMQVRPUlM6ICVzIGlzIHRoZSBjb25maWd1cmF0aW9uCisjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CisjLiBncmVwLnRocmVhZHMKKyMuCisjOiBidWlsdGluL2dyZXAuYzozMDIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCittc2dzdHIgIuyKpOugiOuTnCDquLDriqXsnbQg7JeG7Iq164uI64ukLiAlcyDrrLTsi5wiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc4OCBidWlsdGluL2dyZXAuYzo4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICLtirjrpqzrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QgKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODIzCisjOiBidWlsdGluL2dyZXAuYzo4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAi7KKF66WY6rCAICVz7J24IOyYpOu4jOygne2KuOyXkOyEnCBncmVw7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJgJWMnIOyYteyFmOyXkOuKlCDsiKvsnpAg6rCS7J20IOyZgOyVvCDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3MworIzogYnVpbHRpbi9ncmVwLmM6OTk5CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlCDrjIDsi6Dsl5Ag7J24642x7Iqk7JeQ7IScIOqygOyDie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc1CisjOiBidWlsdGluL2dyZXAuYzoxMDAxCiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCiBtc2dzdHIgIuq5g+ycvOuhnCDqtIDrpqztlZjsp4Ag7JWK7J2AIOuCtOyaqeyXkOyEnCDssL7sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NworIzogYnVpbHRpbi9ncmVwLmM6MTAwMwogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi7LaU7KCB65CY64qUIO2MjOydvOqzvCDstpTsoIHrkJjsp4Ag7JWK64qUIO2MjOydvCDrqqjrkZDsl5DshJwg6rKA7IOJ7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDUKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgIicuZ2l0aWdub3JlJ+uhnCDsp4DsoJXtlZwg7YyM7J287J2EIOustOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTgxCi1tc2dpZCAicmVjdXJzaXZsZXkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgotbXNnc3RyICLtlZjsnIQg66qo65OI7JeQIOyerOq3gOyggeycvOuhnCDqsoDsg4ntlanri4jri6QiCisjOiBidWlsdGluL2dyZXAuYzoxMDA3Cittc2dpZCAicmVjdXJzaXZlbHkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgorbXNnc3RyICLqsIEg7ZWY7JyEIOuqqOuTiOyXkCDsnqzqt4DsoIHsnLzroZwg6rKA7IOJ7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDkKIG1zZ2lkICJiYXNlbmFtZSIKIG1zZ3N0ciAi67Kg7J207Iqk7J2066aEIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTAKIG1zZ2lkICJwcmVwZW5kIHBhcmVudCBwcm9qZWN0J3MgYmFzZW5hbWUgdG8gb3V0cHV0IgogbXNnc3RyICLtlITroZzsoJ3tirjsnZgg67Kg7J207Iqk7J2866+A7J2EIOy2nOugpSDslZ7sl5Ag67aZ7J6F64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTMKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi7J287LmY7ZWY7KeAIOyViuuKlCDspITsnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTUKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICLrjIDshozrrLjsnpAg6rWs67OE7ZWY7KeAIOyViuqzoCDruYTqtZDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MQorIzogYnVpbHRpbi9ncmVwLmM6MTAxNwogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICLri6jslrQg6rK96rOEIOu2gOu2hOyXkCDrjIDtlbTshJzrp4wg7Yyo7YS07J2EIOunnuy2peuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTkzCisjOiBidWlsdGluL2dyZXAuYzoxMDE5CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKIG1zZ3N0ciAi67CU7J2064SI66asIO2MjOydvOydhCDthY3siqTtirjroZwg7LKY66as7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo5OTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjEKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgIuuwlOydtOuEiOumrCDtjIzsnbzsl5DshJwg7Yyo7YS07J2EIOunnuy2lOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5OAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNAogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAidGV4dGNvbnYg7ZWE7YSw66W8IOyCrOyaqe2VtCDrsJTsnbTrhIjrpqwg7YyM7J287J2EIOyymOumrO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwMAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNgogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAi7LWc64yAIDzquYrsnbQ+IOuLqOqzhOunjO2BvCDrgrTroKTqsJHri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzAKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiUE9TSVgg7ZmV7J6lIOygleq3nOyLneydhCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzMKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgIuq4sOuzuCBQT1NJWCDsoJXqt5zsi53snYQg7IKs7Jqp7ZWp64uI64ukICjquLDrs7jqsJIpIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDEwCisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgIu2MqO2EtOydhCDqs6DsoJUg66y47J6Q7Je066GcIO2VtOyEne2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAzOQogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi7Y6E6rO8IO2YuO2ZmOuQmOuKlCDsoJXqt5zsi53snYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDE2CisjOiBidWlsdGluL2dyZXAuYzoxMDQyCiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIuykhCDrsojtmLjrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDE3CisjOiBidWlsdGluL2dyZXAuYzoxMDQzCiBtc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIu2MjOydvCDsnbTrpoTsnYQg7ZGc7Iuc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxOAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLtjIzsnbwg7J2066aE7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NgogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIu2MjOydvCDsnbTrpoTsnYQg7LWc7IOB7JyEIOuUlOugie2EsOumrCDsg4HrjIAg6rK966Gc66GcIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMgorIzogYnVpbHRpbi9ncmVwLmM6MTA0OAogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi7J287LmY7ZWY64qUIOykhOydhCDtkZzsi5ztlZjsp4Ag7JWK6rOgIO2MjOydvCDsnbTrpoTrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI0CisjOiBidWlsdGluL2dyZXAuYzoxMDUwCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgIi0tZmlsZXMtd2l0aC1tYXRjaGVzIOyYteyFmOqzvCDrj5nsnbwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTMKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIuydvOy5mO2VmOyngCDslYrripQg7YyM7J287J2YIOydtOumhOunjCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTUKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICLtjIzsnbwg7J2066aEIOuLpOydjOyXkCBOVUzsnYQg7Lac66Cl7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMxCisjOiBidWlsdGluL2dyZXAuYzoxMDU3CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi7J287LmY7ZWY64qUIOykhOydhCDtkZzsi5ztlZjsp4Ag7JWK6rOgIOydvOy5mO2VmOuKlCDsiJjrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMyCisjOiBidWlsdGluL2dyZXAuYzoxMDU4CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgIuydvOy5mO2VmOuKlCDrtoDrtoTsnYQg6rCV7KGw7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM0CisjOiBidWlsdGluL2dyZXAuYzoxMDYwCiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgIuuLpOuluCDtjIzsnbwg7IKs7J207JeQIOydvOy5mO2VmOuKlCDrtoDrtoTsnZgg7IKs7J207JeQIOu5iCDspITsnYQg7Lac66Cl7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM2CisjOiBidWlsdGluL2dyZXAuYzoxMDYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAi6rCZ7J2AIO2MjOydvOyXkOyEnCDsl6zrn6wg6rCc6rCAIOydvOy5mO2VmOuptCDtjIzsnbwg7J2066aE7J2EIO2VnCDrsojrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM5CisjOiBidWlsdGluL2dyZXAuYzoxMDY1CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIuydvOy5mO2VmOuKlCDrtoDrtoQg7JWe65Kk7JeQIOy7qO2FjeyKpO2KuOulvCA8bj7spIQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQyCisjOiBidWlsdGluL2dyZXAuYzoxMDY4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi7J287LmY7ZWY64qUIOu2gOu2hCDslZ7sl5Ag7Luo7YWN7Iqk7Yq466W8IDxuPuykhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzAKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIuydvOy5mO2VmOuKlCDrtoDrtoQg65Kk7JeQIOy7qO2FjeyKpO2KuOulvCA8bj7spIQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ2CisjOiBidWlsdGluL2dyZXAuYzoxMDcyCiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAiPG4+6rCc7J2YIOyekeyXhSDsiqTroIjrk5zrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ3CisjOiBidWlsdGluL2dyZXAuYzoxMDczCiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiLUMgTlVNIOyYteyFmOydmCDspITsnoQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzYKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLsnbzsuZgg7ZWt66qpIOyVnuyXkCDtlajsiJgg7J2066aEIOykhOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzgKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAi65Ok7Ja0IOyeiOuKlCDtlajsiJjrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU1CisjOiBidWlsdGluL2dyZXAuYzoxMDgxCiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgIu2MjOydvOyXkOyEnCDtjKjthLTsnYQg7J297Iq164uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU3CisjOiBidWlsdGluL2dyZXAuYzoxMDgzCiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICI87Yyo7YS0PuqzvCDsnbzsuZgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODUKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICItZSDsmLXshZjsnLzroZwg7KeA7KCV7ZWcIO2MqO2EtOydhCDqsrDtlantlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTcKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAi7Lac66Cl7ZWY7KeAIOyViuqzoCDsnbzsuZjtlZjripQg7ZWt66qp7J2EIGV4aXQoKSDsg4Htg5wg67KI7Zi466GcIOumrO2EtO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3MworIzogYnVpbHRpbi9ncmVwLmM6MTA5OQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIuuqqOuToCDtjKjthLTqs7wg7J287LmY7ZWY64qUIO2MjOydvOydmCDsnbzsuZjtlZjripQg67aA67aE66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3NQorIzogYnVpbHRpbi9ncmVwLmM6MTEwMQogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJncmVwIO2RnO2YhOyLneyXkCDrjIDtlZwg7YyM7IuxIO2KuOumrOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDUKIG1zZ2lkICJwYWdlciIKIG1zZ3N0ciAi7Y6Y7J207KCAIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDc5CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgIuydvOy5mO2VmOuKlCDtjIzsnbzsnYQg7Y6Y7J207KCAIO2UhOuhnOq3uOueqOyXkOyEnCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgImdyZXAoMSkg7Iuk7ZaJ7J2EIO2XiOyaqe2VqeuLiOuLpCAo7J20IOu5jOuTnOyXkOyEnOuKlCDrrLTsi5wpIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTQ2CisjOiBidWlsdGluL2dyZXAuYzoxMTcyCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgIu2MqO2EtOydhCDsp4DsoJXtlZjsp4Ag7JWK7JWY7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTE3OCBidWlsdGluL2luZGV4LXBhY2suYzoxNDgyCisjOiBidWlsdGluL2dyZXAuYzoxMjA0Cittc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMiCittc2dzdHIgIi0tbm8taW5kZXgg65iQ64qUIC0tdW50cmFja2VkIOyYteyFmOydgCDrpqzruYTsoITqs7wg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBidWlsdGluL2dyZXAuYzoxMjExCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIKK21zZ3N0ciAi66as67mE7KCE7J2EIOywvuyVhOuCvCDsiJgg7JeG7Iq164uI64ukOiAlcyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI0NSBidWlsdGluL2luZGV4LXBhY2suYzoxNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgIuyemOuqu+uQnCDsiqTroIjrk5wg7IiY66W8IOyngOygle2WiOyKteuLiOuLpCAoJWQpIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjE1CisjOiBidWlsdGluL2dyZXAuYzoxMjUwCittc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAtLXRocmVhZHMiCittc2dzdHIgIuyKpOugiOuTnCDquLDriqXsnbQg7JeG7Iq164uI64ukLiAtLXRocmVhZHMg7Ji17IWYIOustOyLnCIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI4MQogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIOyYteyFmOydgCDsnpHsl4Ug7Y+0642U7JeQ7ISc66eMIOuPmeyeke2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTIzOAorIzogYnVpbHRpbi9ncmVwLmM6MTMwNAogbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMuIgogbXNnc3RyICItLXJlY3Vyc2Utc3VibW9kdWxlc+yZgCDqsJnsnbQg7KeA7JuQ7ZWY7KeAIOyViuuKlCDsmLXshZjsnoXri4jri6QuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjQ0CisjOiBidWlsdGluL2dyZXAuYzoxMzEwCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiIgogIi0tY2FjaGVkIOuYkOuKlCAtLXVudHJhY2tlZCDsmLXshZjsnYAgLS1uby1pbmRleCDsmLXshZjqs7wg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI0OQotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiLS1uby1pbmRleCDrmJDripQgLS11bnRyYWNrZWQg7Ji17IWY7J2AIOumrOu5hOyghOqzvCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QuIgotCi0jOiBidWlsdGluL2dyZXAuYzoxMjUyCisjOiBidWlsdGluL2dyZXAuYzoxMzE2CiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCDsmLXshZjsnYAg7LaU7KCB65CY64qUIOuCtOyaqeyXkCDrjIDtlbQg7JO4IOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjYwCisjOiBidWlsdGluL2dyZXAuYzoxMzI0CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiLS1jYWNoZWQg7Ji17IWY6rO8IO2KuOumrOulvCDrqqjrkZAg7KeA7KCV7ZaI7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgxCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCkBAIC04MzQ1LDkxICs4NjkzLDkxIEBACiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA87KKF66WYPl0gWy13XSBbLS1wYXRoPTztjIzsnbw+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPO2MjOydvD4uLi4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgzCiBtc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CiBtc2dpZCAidHlwZSIKIG1zZ3N0ciAi7KKF66WYIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICLsmKTruIzsoJ3tirgg7KKF66WYIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NgogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICLsmKTruIzsoJ3tirjrpbwg7Jik67iM7KCd7Yq4IOuNsOydtO2EsOuyoOydtOyKpOuhnCDslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7Jik67iM7KCd7Yq466W8IOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgIu2MjOydvOydhCDtlYTthLAg7JeG7J20IOq3uOuMgOuhnCDsoIDsnqXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICLsnoTsnZjsnZgg7JOw66CI6riwIOuNsOydtO2EsOulvCDtlbTsi5ztlbQg7IaQ7IOB65CcIOyYpOu4jOygne2KuOulvCDrp4zrk63ri4jri6QgKOuUlOuyhOq5heyaqSkiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAi7YyM7J287J20IOydtCDqsr3roZzsl5DshJwg7JioIOqyg+yymOufvCDsspjrpqztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyCisjOiBidWlsdGluL2hlbHAuYzo0MwogbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCiBtc2dzdHIgIuyCrOyaqSDqsIDriqXtlZwg66qo65OgIOuqheugueydmCDrqqnroZ3snYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MworIzogYnVpbHRpbi9oZWxwLmM6NDQKIG1zZ2lkICJleGNsdWRlIGd1aWRlcyIKIG1zZ3N0ciAi7ISk66qF7IScIOygnOyZuCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ1CiBtc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgogbXNnc3RyICLsnKDsmqntlZwg7JWI64K07IScIOuqqeuhneydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ1CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFuIHBhZ2UiCiBtc2dzdHIgIuunqCDtjpjsnbTsp4Drpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NgorIzogYnVpbHRpbi9oZWxwLmM6NDcKIG1zZ2lkICJzaG93IG1hbnVhbCBpbiB3ZWIgYnJvd3NlciIKIG1zZ3N0ciAi7Ju5IOu4jOudvOyasOyggOyXkOyEnCDshKTrqoXshJzrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2hlbHAuYzo0OAorIzogYnVpbHRpbi9oZWxwLmM6NDkKIG1zZ2lkICJzaG93IGluZm8gcGFnZSIKIG1zZ3N0ciAi7J247Y+sIO2OmOydtOyngOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjU0CisjOiBidWlsdGluL2hlbHAuYzo1NQogbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCiBtc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzzrqoXroLk+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NjYKKyM6IGJ1aWx0aW4vaGVscC5jOjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICInJXMnIOuPhOybgOunkCDtj6zrp7fsnYQg7J247Iud7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjkzCisjOiBidWlsdGluL2hlbHAuYzo5NAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgImVtYWNzY2xpZW50IOyLnOyekeyXkCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDYKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNwogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKIG1zZ3N0ciAiZW1hY3NjbGllbnQg67KE7KCEIO2MjOyLseyXkCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTQKKyM6IGJ1aWx0aW4vaGVscC5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJlbWFjc2NsaWVudCAnJWQnIOuyhOyghOydgCDrhIjrrLQg6rO86rGwICg8IDIyKSDrsoTsoITsnoXri4jri6QuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzIgYnVpbHRpbi9oZWxwLmM6MTUzIGJ1aWx0aW4vaGVscC5jOjE2MiBidWlsdGluL2hlbHAuYzoxNzAKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMyBidWlsdGluL2hlbHAuYzoxNTQgYnVpbHRpbi9oZWxwLmM6MTYzIGJ1aWx0aW4vaGVscC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICLsi6Ttlokg7Iuk7YyoOiAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDcKKyM6IGJ1aWx0aW4vaGVscC5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTg0MzgsNyArODc4Niw3IEBACiAiJyVzJzog7KeA7JuQ7ZWY7KeAIOyViuuKlCDrp6gg7Y6Y7J207KeAIOuztOq4sCDtlITroZzqt7jrnqgg6rK966GcLlxuIgogIuuMgOyLoOyXkCAnbWFuLjzrj4Tqtaw+LmNtZCcg7Ji17IWY7J2EIOyCrOyaqe2VtCDrs7Tsi63si5zsmKQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTkKKyM6IGJ1aWx0aW4vaGVscC5jOjIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTg0NDcsNDI5ICs4Nzk1LDQyOSBAQAogIiclcyc6IOyngOybkO2VmOyngCDslYrripQg66eoIO2OmOydtOyngCDrs7TquLAg7ZSE66Gc6re4656oIOuqheuguS5cbiIKICLrjIDsi6Dsl5AgJ21hbi4864+E6rWsPi5wYXRoJyDsmLXshZjsnYQg7IKs7Jqp7ZW0IOuztOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjMzNgorIzogYnVpbHRpbi9oZWxwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIiclcyc6IOyVjCDsiJgg7JeG64qUIOunqCDtjpjsnbTsp4Ag67O06riwIO2UhOuhnOq3uOueqC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM1MworIzogYnVpbHRpbi9oZWxwLmM6MzU0CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICLsmpTssq3snYQg7LKY66as7ZWcIOunqCDtjpjsnbTsp4Ag67O06riwIO2UhOuhnOq3uOueqOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MQorIzogYnVpbHRpbi9oZWxwLmM6MzYyCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAi7JqU7LKt7J2EIOyymOumrO2VnCDsnbjtj6wg7Y6Y7J207KeAIOuztOq4sCDtlITroZzqt7jrnqjsnbQg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNAogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIuqyveuhnOuniOuLpCDsho3shLEg7KCV7J2Y7ZWY6riwIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNQogbXNnaWQgIkV2ZXJ5ZGF5IEdpdCBXaXRoIDIwIENvbW1hbmRzIE9yIFNvIgogbXNnc3RyICLrp6Tsnbzrp6Tsnbwg7IKs7Jqp7ZWY64qUIDIw6rCcIOuCtOyZuOydmCDquYMg66qF66C5IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDUKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNgogbXNnaWQgIkEgR2l0IGdsb3NzYXJ5IgogbXNnc3RyICLquYMg7Jqp7Ja0IOyCrOyghCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA2CisjOiBidWlsdGluL2hlbHAuYzo0MDcKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICLsnZjrj4TsoIHsnLzroZwg7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbzsnYQg66y07Iuc7ZWY6rKMIOyngOygle2VmOq4sCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA3CisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDsho3shLEg7KCV7J2Y7ZWY6riwIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOQogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAi6rmD7J2YIOumrOu5hOyghCDrsI8g67KU7JyE66W8IOyngOygle2VmOq4sCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA5CisjOiBidWlsdGluL2hlbHAuYzo0MTAKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAi6rmDIOuUsOudvO2VmOq4sCDslYjrgrTshJwgKOuyhOyghCAxLjUuMSDsnbTtm4QpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTAKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMQogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAi7LaU7LKc7ZWY64qUIOq5gyDtmZzsmqkg7J6R7JeFIOyInOyEnOydmCDqsJzsmpQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMgorIzogYnVpbHRpbi9oZWxwLmM6NDIzCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZTpcbiIKIG1zZ3N0ciAi7J6Q7KO8IOyCrOyaqe2VmOuKlCDquYMg7JWI64K07ISc64qUIOuLpOydjOqzvCDqsJnsirXri4jri6Q6XG4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0MAorIzogYnVpbHRpbi9oZWxwLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImBnaXQgJXMnIGlzIGFsaWFzZWQgdG8gYCVzJyIKIG1zZ3N0ciAiYGdpdCAlcycg66qF66C57J2AIGAlcycg66qF66C57J2YIOuLqOy2leyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIzogYnVpbHRpbi9oZWxwLmM6NDYzIGJ1aWx0aW4vaGVscC5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKIG1zZ3N0ciAi7IKs7Jqp67KVOiAlcyVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDsooXrpZjqsIAg66ee7KeAIOyViuyKteuLiOuLpCAoJXMpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICLsmIjsg4HtlZwgJXMg7Jik67iM7KCd7Yq466W8IOuwm+yngCDslYrslZjsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIiVzIOyYpOu4jOygne2KuDog7JiI7IOB7ZWcIOyiheulmCAlcywg7Iuk7KCcICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAiJWQg67CU7J207Yq466W8IOyxhOyauCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MAogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAi64SI66y0IOu5qOumrCDtjIzsnbzsnbQg64Gd64KoIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgIuyeheugpeyXkCDsnb3quLAg7Jik66WYIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MwogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICLsnojripQg67CU7J207Yq467O064ukIOuNlCDrp47snbQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgIu2YhOyerCDsoJXsnZjrkJwgb2ZmX3Tsl5Ag67mE7ZW0IOustuydjOydtCDrhIjrrLQg7YG964uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkzCiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICLrrLbsnYwg7YGs6riw6rCAIOy1nOuMgCDtl4jsmqkg7YGs6riw66W8IOuEmOyXiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgogbXNnc3RyICInJXMn7J2EKOulvCkg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIiclcycg66y27J2MIO2MjOydvOydhCDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKIG1zZ3N0ciAi66y27J2MIOyEnOuqheydtCDrp57sp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICLrrLbsnYzsnZggJTxQUkl1MzI+IOuyhOyghOydhCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlPFBSSXVNQVg+OiAlcyIKIG1zZ3N0ciAi66y27J2M7J2YICU8UFJJdU1BWD4g7Jik7ZSE7IWL7JeQIOyemOuqu+uQnCDsmKTruIzsoJ3tirjqsIAg7J6I7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKIG1zZ3N0ciAiaW5mbGF0ZeqwgCAlZOuyiOydhCDrpqzthLTtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI4CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAi64247YOAIOuyoOydtOyKpCDsmKTruIzsoJ3tirjsl5Ag64yA7ZW0IOyYpO2UhOyFiyDqsJLsnbQg7Jik67KE7ZSM66Gc7JqwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNgogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAi64247YOAIOuyoOydtOyKpCDsmKTtlITshYvsnbQg67KU7JyE66W8IOuyl+yWtOuCrOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg7Jik67iM7KCd7Yq4IOyiheulmCAlZOuyiCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzUKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICLrrLbsnYwg7YyM7J287JeQIOuMgO2VtCBwcmVhZOulvCDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICLrrLbsnYwg7YyM7J287J20IOuEiOustCDsnbzssI0g64Gd64KoLiAlPFBSSXVNQVg+IOuwlOydtO2KuCDrtoDsobEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAzCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgIuyLrOqwge2VnCBpbmZsYXRlIOu2gOyhsO2ZlCIKIAogIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMyBidWlsdGluL2luZGV4LXBhY2suYzo4MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNiBidWlsdGluL2luZGV4LXBhY2suYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJTSEExIOy2qeuPjOydtCAlc+yXkOyEnCDrsJzqsqzrkJjsl4jsirXri4jri6QhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjQKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICIlc+ydhCjrpbwpIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgaW5mbyAlcyIKK21zZ3N0ciAi6riw7KG0ICVzIOyYpOu4jOygne2KuCDsoJXrs7Trpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgIuq4sOyhtCAlcyDsmKTruIzsoJ3tirjrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDruJTroa0g7Jik67iM7KCd7Yq4ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICLsnpjrqrvrkJwgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODU0CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICLsmKTruIzsoJ3tirjsl5Ag7Jik66WYIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiJXPsnZgg66qo65OgIO2VmOychCDsmKTruIzsoJ3tirjsl5Ag7KCR6re87ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyNCBidWlsdGluL2luZGV4LXBhY2suYzo5NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyOCBidWlsdGluL2luZGV4LXBhY2suYzo5NTkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIuuNuO2DgOulvCDsoIHsmqntlZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIuyYpOu4jOygne2KuOulvCDrsJvripQg7KSRIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOyduOuNseyKpOulvCDrp4zrk5zripQg7KSRIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY0CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICLrrLbsnYzsnbQg7IaQ7IOB65CY7JeI7Iq164uI64ukIChTSEExIOydvOy5mO2VmOyngCDslYrsnYwpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICLrrLbsnYwg7YyM7J287JeQIOuMgO2VtCBmc3RhdCgp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzIKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgIuustuydjOydmCDrgZ3sl5Ag7JOw66CI6riwIOuNsOydtO2EsOqwgCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODQKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJwYXJzZV9wYWNrX29iamVjdHMoKeyXkOyEnCDqt7nsi6ztlZwg7Zi8656AIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAi64247YOA66W8IOyVjOyVhOuCtOuKlCDspJEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICLsiqTroIjrk5zrpbwg66eM65OkIOyImCDsl4bsirXri4jri6Q6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjYwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAi6re57Ius7ZWcIO2YvOuegCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHJbMF0gIuuhnOy7rCDsmKTruIzsoJ3tirggJWTqsJwg66eI7LmoIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjcwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICIlc+yXkCDrjIDtlbQg7JiI7IOB7LmYIOuqu+2VnCDthYzsnbwg7LK07YGs7ISsICjrlJTsiqTtgawg7IaQ7IOBPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gIuustuydjOyXkCDslYzslYTrgrTsp4Ag66q77ZWcIOuNuO2DgCAlZOqwnOqwgCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIuy2lOqwgO2VnCDsmKTruIzsoJ3tirjrpbwgZGVmbGF0Ze2VoCDsiJgg7JeG7Iq164uI64ukICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIiVzIOuhnOy7rCDsmKTruIzsoJ3tirjqsIAg7IaQ7IOB65CY7JeI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA4CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIuustuydjCDtjIzsnbzsnYQg64ur64qU642wIOyYpOulmCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIiclcycg67O07KG0IO2MjOydvOydhCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAi7JO0ICclcycg67O07KG0IO2MjOydvOydhCDri6vsp4Ag66q77ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM4CiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAi66y27J2MIO2MjOydvOydhCDsoIDsnqXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0NgogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICLsnbjrjbHsiqQg7YyM7J287J2EIOyggOyepe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgIuyemOuqu+uQnCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgotbXNnc3RyICLsiqTroIjrk5wg6riw64ql7J20IOyXhuyKteuLiOuLpC4gJXMg66y07IucIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICLquLDsobQgJyVzJyDrrLbsnYwg7YyM7J287J2EIOyXtCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIiclcyfsl5Ag64yA7ZWcIOq4sOyhtCDrrLbsnYwgaWR4IO2MjOydvOydhCDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICLrjbjtg4Ag7JWE64uYOiDsmKTruIzsoJ3tirggJWTqsJwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAi7LK07J24IOq4uOydtCA9ICVkOiDsmKTruIzsoJ3tirggJWx16rCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICInJXMnIOustuydjO2MjOydvCDsnbTrpoTsnbQgJy5wYWNrJ+ycvOuhnCDrgZ3rgpjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjk1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTgKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICLsnpjrqrvrkJwgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDMKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiLS1maXgtdGhpbiDsmLXshZjsnYAgLS1zdGRpbiDsmLXshZjqs7wg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ1CiBtc2dpZCAiLS1zdGRpbiByZXF1aXJlcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLXN0ZGluIOyYteyFmOydgCDquYMg7KCA7J6l7IaM6rCAIO2VhOyalO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1MwogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkg7Ji17IWY7JeQIOustuydjO2MjOydvCDsnbTrpoTsnYQg7KeA7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSBzdGF0KCntlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgIiclcycg7ISc7Iud7J2EIHN0YXQoKe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW5kaXIgJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIG9wZW5kaXIoKe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSByZWFkbGluaygp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc4CisjOiBidWlsdGluL2luaXQtZGIuYzo3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3ltbGluayAnJXMnICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSAnJXMn7JeQIHN5bWxpbmsoKe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NAorIzogYnVpbHRpbi9pbml0LWRiLmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICInJXMn7J2EKOulvCkgJyVzJ+yXkCDrs7XsgqztlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgogbXNnc3RyICIlcyDshJzsi53snYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICIlc+yXkCDshJzsi53snbQg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCDshJzsi53snYQg67O17IKs7ZWY7KeAIOyViuyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyNworIzogYnVpbHRpbi9pbml0LWRiLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgogbXNnc3RyICLtjIzsnbwg7KKF66WYICVk67KI7J2EIOyymOumrO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMzAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSAlcyjsnLwp66GcIOyYruq4uCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDcgYnVpbHRpbi9pbml0LWRiLmM6MzUwCisjOiBidWlsdGluL2luaXQtZGIuYzozNDggYnVpbHRpbi9pbml0LWRiLmM6MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIlcyDtjIzsnbzsnbQg7J2066+4IOyeiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDAzCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICIlcyVzIOyViOydmCDquLDsobQg6rO17JygIOq5gyDsoIDsnqXshozrpbwg64uk7IucIOy0iOq4sO2ZlO2WiOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiJXMlcyDslYjsnZgg6riw7KG0IOq5gyDsoIDsnqXshozrpbwg64uk7IucIOy0iOq4sO2ZlO2WiOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICIlcyVzIOyViOydmCDruYgg6rO17JygIOq5gyDsoIDsnqXshozrpbwg64uk7IucIOy0iOq4sO2ZlO2WiOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIiVzJXMg7JWI7J2YIOu5iCDquYMg7KCA7J6l7IaM66W8IOuLpOyLnCDstIjquLDtmZTtlojsirXri4jri6RcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDU3CisjOiBidWlsdGluL2luaXQtZGIuYzo0NTgKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtODg3NywyNSArOTIyNSwyNSBAQAogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTzshJzsi50t65SU66CJ7YSw66asPl0gWy0tc2hhcmVkWz086raMIgogIu2VnD5dXSBbPOuUlOugie2EsOumrD5dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICLqtoztlZwiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICLquYMg7KCA7J6l7IaM66W8IOuLpOuluCDsgqzsmqnsnpDqsIAg6rO17Jyg7ZWgIOyImCDsnojqsowg7KeA7KCVIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTUgYnVpbHRpbi9pbml0LWRiLmM6NTIwCisjOiBidWlsdGluL2luaXQtZGIuYzo1MTYgYnVpbHRpbi9pbml0LWRiLmM6NTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBta2RpciAlcyIKIG1zZ3N0ciAiJXPsl5Ag64yA7ZW0IG1rZGly66W8IO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgIiVz7JeQIOuMgO2VtCBjaGRpcuulvCDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ1CisjOiBidWlsdGluL2luaXQtZGIuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCkBAIC04OTA0LDcgKzkyNTIsNyBAQAogIiVzICjrmJDripQgLS13b3JrLXRyZWU9POuUlOugie2EsOumrD4pIO2XiOyaqeuQmOyngCDslYrsnYwuICVzICjrmJDripQgLS1naXQtIgogImRpcj08ZGlyZWN0b3J5Pikg7KeA7KCV7J20IOyXhuycvOuptCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTczCisjOiBidWlsdGluL2luaXQtZGIuYzo1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlCAnJXMn7JeQIOygkeq3vO2VoCDsiJgg7JeG7Iq164uI64ukIgpAQCAtODkzNywxMTIgKzkyODUsMTEyIEBACiBtc2dpZCAibm8gaW5wdXQgZmlsZSBnaXZlbiBmb3IgaW4tcGxhY2UgZWRpdGluZyIKIG1zZ3N0ciAi7YyM7J28IOyngeygkSDtjrjsp5Hsl5Ag7J6F66ClIO2MjOydvOydhCDsp4DsoJXtlZjsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPOyYteyFmD5dIFs866as67mE7KCELeuylOychD5dIFtbLS1dIDzqsr3roZw+Li4uXSIKIAotIzogYnVpbHRpbi9sb2cuYzo0NQorIzogYnVpbHRpbi9sb2cuYzo0NgogbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgc2hvdyBbPOyYteyFmD5dIDzsmKTruIzsoJ3tirg+Li4uIgogCi0jOiBidWlsdGluL2xvZy5jOjg0CisjOiBidWlsdGluL2xvZy5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICLsnpjrqrvrkJwgLS1kZWNvcmF0ZSDsmLXshZg6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOQorIzogYnVpbHRpbi9sb2cuYzoxNDcKIG1zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAiZGlmZuulvCDstpzroKXtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDgKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAi7IaM7Iqk66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIuuplOydvCDrp7Ug7YyM7J287J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAi6r6466+46riwIOyYteyFmCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzCiBtc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIu2MjOydvOyXkOyEnCBuLG0g67KU7JyE7J2YIOykhOydhCDsspjrpqztlanri4jri6QgKDHrtoDthLAg7Iuc7J6RKSIKIAotIzogYnVpbHRpbi9sb2cuYzoyNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAi7LWc7KKFIOy2nOugpTogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0ODYKKyM6IGJ1aWx0aW4vbG9nLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBzaG93ICVzOiBiYWQgZmlsZSIKIG1zZ3N0ciAiZ2l0IHNob3cgJXM6IOyemOuqu+uQnCDtjIzsnbwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CisjOiBidWlsdGluL2xvZy5jOjUxMiBidWlsdGluL2xvZy5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIiVzIOyYpOu4jOygne2KuOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzo2MTgKKyM6IGJ1aWx0aW4vbG9nLmM6NjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIOyiheulmDogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzM5CisjOiBidWlsdGluL2xvZy5jOjc1MQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIOyEpOygleyXkCDqsJLsnbQg7JeG7J2MIgogCi0jOiBidWlsdGluL2xvZy5jOjgzOQorIzogYnVpbHRpbi9sb2cuYzo4NTIKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIuy2nOugpSDrlJTroInthLDrpqzsnZgg7J2066aE7J20IOuEiOustCDquYHri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODU0CisjOiBidWlsdGluL2xvZy5jOjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICIlcyDtjKjsuZgg7YyM7J287J2EIOyXtCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjg2OAorIzogYnVpbHRpbi9sb2cuYzo4ODUKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKIG1zZ3N0ciAi7KCV7ZmV7Z6IIO2VmOuCmOydmCDrspTsnITqsIAg7ZWE7JqU7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NzgKKyM6IGJ1aWx0aW4vbG9nLmM6ODk1CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICLrspTsnITqsIAg7JWE64uZ64uI64ukLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5ODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTAwMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIuy7pOuyhOugiO2EsOuKlCDsoITsnpDrqZTsnbwg7ZiV7Iud7J207Ja07JW8IO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDYzCisjOiBidWlsdGluL2xvZy5jOjEwODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAi7KCV7Iug64KY6rCEIGluLXJlcGx5LXRvIO2XpOuNlDogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA5MQorIzogYnVpbHRpbi9sb2cuYzoxMTA4CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs87Ji17IWYPl0gWzzsi5zsnpHsi5zqsIE+IHwgPOumrOu5hOyghC3rspTsnIQ+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQxCisjOiBidWlsdGluL2xvZy5jOjExNTgKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAi7Lac66ClIOuUlOugie2EsOumrOqwgCDrkZDqsJw/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyNDggYnVpbHRpbi9sb2cuYzoxODkxIGJ1aWx0aW4vbG9nLmM6MTg5MyBidWlsdGluL2xvZy5jOjE5MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NSBidWlsdGluL2xvZy5jOjE5MDggYnVpbHRpbi9sb2cuYzoxOTEwIGJ1aWx0aW4vbG9nLmM6MTkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg7Luk67CLICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTggYnVpbHRpbi9ub3Rlcy5jOjg4NCBidWlsdGluL3RhZy5jOjQ3NgorIzogYnVpbHRpbi9sb2cuYzoxMjc1IGJ1aWx0aW4vbm90ZXMuYzo4ODYgYnVpbHRpbi90YWcuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsmKzrsJTrpbgg66CI7Y2865+w7Iqk66GcIOyVjOyVhOuCtOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4MAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICLsoJXtmZXtlZwg67OR7ZWpIOq4sOykgOygkOydhCDssL7snYQg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2NworIzogYnVpbHRpbi9sb2cuYzoxMjg0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgogInBsZWFzZSB1c2UgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byB0byB0cmFjayBhIHJlbW90ZSBicmFuY2guXG4iCkBAIC05MDUzLDIxMyArOTQwMSwyMTggQEAKICLslYTri4jrqbQg7KeB7KCRICctLWJhc2U9POq4sOykgOygkC3su6TrsIstSUQ+JyDsmLXshZjsnLzroZwg6riw7KSA7KCQIOy7pOuwi+ydhCDsp4DsoJXtlaBcbiIKICLsiJjrj4Qg7J6I7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg3CisjOiBidWlsdGluL2xvZy5jOjEzMDQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICLsoJXtmZXtlZwg67OR7ZWpIOq4sOykgOygkOydhCDssL7ripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjEyOTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxNQogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAi6riw7KSA7KCQIOy7pOuwi+ydgCDrpqzruYTsoIQg66qp66Gd7J2YIOyDgeychCDsu6TrsIvsnbTslrTslbwg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxOQogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICLquLDspIDsoJAg7Luk67CL7J2AIOumrOu5hOyghCDrqqnroZ3sl5Ag65Ok7Ja0IOyeiOycvOuptCDslYgg65Cp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTM2OAogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgIu2MqOy5mCBJROulvCDslYzslYTrgrwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA4CisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICLtlZjrgpjsnZgg7Yyo7LmY7JeQIOuMgO2VtOyEnOuPhCBbUEFUQ2ggbi9tXeydhCDrtpnsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMQorIzogYnVpbHRpbi9sb2cuYzoxNDI4CiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgIuyXrOufrCDqsJwg7Yyo7LmY7JeQIOuMgO2VtOyEnOuPhCBbUEFUQ0hd66W8IOu2meyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE1CisjOiBidWlsdGluL2xvZy5jOjE0MzIKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAi7Yyo7LmY66W8IO2RnOykgCDstpzroKXsnLzroZwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICLsu6TrsoTroIjthLDrpbwg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNgogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAi7Lac66ClIO2MjOydvCDsnbTrpoTsl5Ag6rCE64uo7ZWcIOydvOugqCDrsojtmLjrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNwogbXNnaWQgInNmeCIKIG1zZ3N0ciAi7ZmV7J6l7J6QIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICInLnBhdGNoJyDrjIDsi6AgPO2ZleyepeyekD7rpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgIu2MqOy5mCDrsojtmLjrpbwgMSDrjIDsi6AgPG4+7JeQ7IScIOyLnOyeke2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI1CisjOiBidWlsdGluL2xvZy5jOjE0NDIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIuyLnOumrOymiOulvCBO67KI7Ke4IHJlLXJvbGzroZwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NAogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIltQQVRDSF0g64yA7IugIFtSRkMgUEFUQ0hd66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMwCisjOiBidWlsdGluL2xvZy5jOjE0NDcKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIltQQVRDSF0g64yA7IugIFs87KCR65GQ7Ja0Pl3rpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAi6rKw6rO8IO2MjOydvOydhCA865SU66CJ7YSw66asPuyXkCDsoIDsnqXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNgorIzogYnVpbHRpbi9sb2cuYzoxNDUzCiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgIltQQVRDSF3rpbwg7J6Q66W06rGw64KYIOy2lOqwgO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorIzogYnVpbHRpbi9sb2cuYzoxNDU2CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAi67CU7J2064SI66asIGRpZmbrpbwg66eM65Ok7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQxCisjOiBidWlsdGluL2xvZy5jOjE0NTgKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAiRnJvbSDtl6TrjZTsl5DshJwg66qo65GQIDDsnbgg7ZW07Iuc66W8IOy2nOugpe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQzCisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgIuyXheyKpO2KuOumvOyXkCDsnojripQg7Yyo7LmY66W8IO2PrO2VqO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NQorIzogYnVpbHRpbi9sb2cuYzoxNDYyCiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICLquLDrs7jqsJIgKO2MqOy5mCArIO2GteqzhCkg64yA7IugIO2MqOy5mCDtmJXsi53snYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NAogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAi66mU7Iuc7KeVIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NQogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAi7Zek642UIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NgogbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCiBtc2dzdHIgIuyghOyekOuplOydvCDtl6TrjZQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1MCBidWlsdGluL2xvZy5jOjE0NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NyBidWlsdGluL2xvZy5jOjE0NjkKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAi7KCE7J6Q66mU7J28IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICJUbzog7Zek642U66W8IOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUyCisjOiBidWlsdGluL2xvZy5jOjE0NjkKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAiQ2M6IO2XpOuNlOulvCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NAorIzogYnVpbHRpbi9sb2cuYzoxNDcxCiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgIuyLoOybkCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU1CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICI87Iug7JuQPuyXkOyEnCBGcm9tIOyjvOyGjOulvCDshKTsoJXtlanri4jri6QgKOyXhuycvOuptCDsu6Trr7jthLAg7KO87IaMIOyLoOybkCDsgqzsmqkpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgIm1lc3NhZ2UtaWQiCiBtc2dzdHIgIuuplOyLnOyngC1JRCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU4CisjOiBidWlsdGluL2xvZy5jOjE0NzUKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgIuyyqyDrqZTsnbzsnYQgPOuplOyLnOyngC1JRD7sl5Ag64yA7ZWcIOuLteyepSDrqZTsnbzroZwg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCisjOiBidWlsdGluL2xvZy5jOjE0NzYgYnVpbHRpbi9sb2cuYzoxNDc5CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIuqyveqzhCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYwCisjOiBidWlsdGluL2xvZy5jOjE0NzcKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLtjKjsuZjrpbwg7LKo67aA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4MAogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgIu2MqOy5mOulvCDrs7jrrLjsl5Ag7Y+s7ZWo7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NAogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICLrqZTsi5zsp4Dsl5Ag7Iqk66CI65Oc66W8IOyCrOyaqSwg7Iqk7YOA7J28OiBzaGFsbG93LCBkZWVwIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NgogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAi7ISc66qFIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NwogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAi7ISc66qF7J2EIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcxCisjOiBidWlsdGluL2xvZy5jOjE0ODgKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAi67Kg7J207IqkLey7pOuwiyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcyCisjOiBidWlsdGluL2xvZy5jOjE0ODkKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICLsoITsoJzsobDqsbQg7Yq466asIOygleuztOulvCDtjKjsuZgg7Iuc66as7KaI7JeQIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc0CisjOiBidWlsdGluL2xvZy5jOjE0OTEKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgIu2MjOydvOyXkOyEnCDshJzrqoXsnYQg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5MgogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgIu2MqOy5mCDtjIzsnbwg7J2066aE7J2EIO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NQorIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCittc2dzdHIgIuyemOuqu+uQnCDsi6Dsm5Ag7KSEOiAlcyIKKworIzogYnVpbHRpbi9sb2cuYzoxNTgyCiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItbiDrsI8gLWsg7Ji17IWY7J2AIO2VmOuCmOunjCDsjajslbwg7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjOiBidWlsdGluL2xvZy5jOjE1ODQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyDrsI8gLWsg7Ji17IWY7J2AIO2VmOuCmOunjCDsjajslbwg7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc1CisjOiBidWlsdGluL2xvZy5jOjE1OTIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtb25seSDsmLXshZjsnYAg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NworIzogYnVpbHRpbi9sb2cuYzoxNTk0CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtc3RhdHVzIOyYteyFmOydgCDslZ7rkqTqsIAg66ee7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc5CisjOiBidWlsdGluL2xvZy5jOjE1OTYKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tY2hlY2sg7Ji17IWY7J2AIOyVnuuSpOqwgCDrp57sp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyNgogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICLtkZzspIAg7Lac66Cl7J2064KYIOuUlOugie2EsOumrCDspJHsl5Ag7ZWY64KY66eMIOyngOygle2VtOyVvCDtlanri4jri6QuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICInJXMnIOuUlOugie2EsOumrOulvCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzA1CisjOiBidWlsdGluL2xvZy5jOjE3MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAiJyVzJyDshJzrqoUg7YyM7J287J2EIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5NAogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICLstpzroKUg7YyM7J287J2EIOunjOuTnOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPOyXheyKpO2KuOumvD4gWzztl6Trk5w+IFs87ZWc6rOE6rCSPl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODgwCisjOiBidWlsdGluL2xvZy5jOjE4OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgpAQCAtOTI2NywxMDMgKzk2MjAsMTAzIEBACiAi7LaU7KCB65CY64qUIOumrOuqqO2KuCDruIzrnpzsuZjrpbwg7LC+7J2EIOyImCDsl4bsirXri4jri6QuIDzsl4XsiqTtirjrprw+7J2EIOyImOuPmeycvOuhnCDsp4DsoJXtlZjsi63si5wiCiAi7JikLlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzzsmLXshZg+XSBbPO2MjOydvD4uLi5dIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTA5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAi7YyM7J28IOyDge2DnOulvCDtg5zqt7jsmYAg6rCZ7J20IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIn67OA6rK965CY7KeAIOyViuyVmOuLpOqzoCDqsIDsoJUnIO2MjOydvOyXkCDshozrrLjsnpDrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTEzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIxCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgIuy2nOugpeyXkCDsupDsi5zrkJwg7YyM7J287J2EIO2RnOyLnO2VqeuLiOuLpCAo6riw67O46rCSKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMwogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLstpzroKXsl5Ag7IKt7KCc65CcIO2MjOydvOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjUKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuy2nOugpeyXkCDsiJjsoJXrkJwg7YyM7J287J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNwogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi7Lac66Cl7JeQIOq4sO2DgCDtjIzsnbzsnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTIxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI5CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuy2nOugpeyXkCDrrLTsi5zrkJwg7YyM7J287J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLstpzroKXsl5Ag7Luk67CLIO2RnOyLnOuQnCDrgrTsmqnsnZgg7Jik67iM7KCd7Yq4IOydtOumhOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzQKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICLtjIzsnbwg7Iuc7Iqk7YWc7JeQ7IScIOygnOqxsO2VtOyVvCDtlZjripQg7YyM7J287J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNgogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAi6riw7YOAIOuUlOugie2EsOumrOydmCDsnbTrpoTrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM4CiBtc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCiBtc2dzdHIgIu2MjOydvOydmCDspIQg64Gd7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIuu5iCDrlJTroInthLDrpqwg7ZGc7Iuc7ZWY7KeAIOyViuq4sCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi7Lac66Cl7JeQIOuzke2Vqe2VmOyngCDslYrsnYAg7YyM7J287J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICJyZXNvbHZlLXVuZG8g7KCV67O066W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAi7Yyo7YS07JeQIOydvOy5mO2VmOuKlCDtjIzsnbzsnYQg6rG064SI65yB64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAi7KCc7Jm47ZWgIO2MqO2EtOydhCA87YyM7J28PuyXkOyEnCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAiPO2MjOydvD7sl5DshJwg7LaU6rCA7KCB7J24IOuUlOugie2EsOumrOuzhCDsoJzsmbgg7Yyo7YS07J2EIOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgIu2RnOykgCDquYMg7KCc7Jm4IO2MqO2EtOydhCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTgKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi7LWc7IOB7JyEIOuUlOugie2EsOumrCDsg4HrjIAg6rK966Gc66GcIOy2nOugpe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICLtlZjsnIQg66qo65OI7JeQIOyerOq3gOyggeycvOuhnCDsoIHsmqkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgIjztjIzsnbw+7J20IOyduOuNseyKpCDslYjsl5Ag7JeG7Jy866m0IOyYpOulmOuhnCDst6jquIntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjQKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAi7Yq466asLeuUsOychCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NQogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIjztirjrpqwt65Sw7JyEPiDrkqTroZwg7KCc6rGw7ZWcIOqyveuhnOqwgCDsnojri6Tqs6Ag6rCA7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY3CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAi65SU67KE6rmFIOuNsOydtO2EsOulvCDtkZzsi5ztlanri4jri6QiCiAKQEAgLTkzNzcsODUgKzk3MzAsODYgQEAKICIgICAgICAgICAgICAgICAgICAgICBbLXEgfCAtLXF1aWV0XSBbLS1leGl0LWNvZGVdIFstLWdldC11cmxdXG4iCiAiICAgICAgICAgICAgICAgICAgICAgWy0tc3ltcmVmXSBbPOyggOyepeyGjD4gWzzroIjtjbzrn7DsiqQ+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKIG1zZ3N0ciAi7JuQ6rKpIFVSTOydhCDtkZzsi5ztlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMgYnVpbHRpbi9scy1yZW1vdGUuYzo1NQogbXNnaWQgImV4ZWMiCiBtc2dzdHIgIuyLpO2WiSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MiBidWlsdGluL2xzLXJlbW90ZS5jOjU0CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTYKIG1zZ2lkICJwYXRoIG9mIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIGhvc3QiCiBtc2dzdHIgIuybkOqyqSDtmLjsiqTtirjsnZggZ2l0LXVwbG9hZC1wYWNrIOqyveuhnCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAogbXNnaWQgImxpbWl0IHRvIHRhZ3MiCiBtc2dzdHIgIu2DnOq3uOyXkCDtlZzsoJUiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTcKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTkKIG1zZ2lkICJsaW1pdCB0byBoZWFkcyIKIG1zZ3N0ciAi7Zek65Oc7JeQIO2VnOyglSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAogbXNnaWQgImRvIG5vdCBzaG93IHBlZWxlZCB0YWdzIgogbXNnc3RyICLrspfqsqjsp4Qg7YOc6re466W8IO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKIG1zZ2lkICJ0YWtlIHVybC48YmFzZT4uaW5zdGVhZE9mIGludG8gYWNjb3VudCIKIG1zZ3N0ciAidXJsLjzrsqDsnbTsiqQ+Lmluc3RlYWRPZiDshKTsoJXsnYQg6rOg66Ck7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjYyCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY0CiBtc2dpZCAiZXhpdCB3aXRoIGV4aXQgY29kZSAyIGlmIG5vIG1hdGNoaW5nIHJlZnMgYXJlIGZvdW5kIgogbXNnc3RyICLtlbTri7ntlZjripQg66CI7Y2865+w7Iqk6rCAIOyXhuycvOuptCDsvZTrk5wgMuuyiOycvOuhnCDrgZ3rg4Xri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjYKIG1zZ2lkICJzaG93IHVuZGVybHlpbmcgcmVmIGluIGFkZGl0aW9uIHRvIHRoZSBvYmplY3QgcG9pbnRlZCBieSBpdCIKIG1zZ3N0ciAi66CI7Y2865+w7Iqk7JmAIOugiO2NvOufsOyKpOqwgCDqsIDrpqztgqTripQg7Jik67iM7KCd7Yq466W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MjgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI5CiBtc2dpZCAiZ2l0IGxzLXRyZWUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLXRyZWUgWzzsmLXshZg+XSA87Yq466asLeuUsOychD4gWzzqsr3roZw+Li4uXSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgIu2KuOumrOunjCDtkZzsi5wiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1YnRyZWVzIgogbXNnc3RyICLtlZjsnIQg7Yq466as66GcIOyerOq3gOyggeycvOuhnCDsoIHsmqkiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9scy10cmVlLmM6MTMxCiBtc2dpZCAic2hvdyB0cmVlcyB3aGVuIHJlY3Vyc2luZyIKIG1zZ3N0ciAi7J6s6reA7KCB7Jy866GcIOyggeyaqe2VoCDrlYwg7Yq466asIO2RnOyLnCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTMzCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzQKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICLtla3rqqnsnYQgTlVMIOuwlOydtO2KuOuhnCDrgZ3rg4Xri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9scy10cmVlLmM6MTM1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IO2BrOq4sCDtj6ztlagiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNiBidWlsdGluL2xzLXRyZWUuYzoxMzgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNyBidWlsdGluL2xzLXRyZWUuYzoxMzkKIG1zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgogbXNnc3RyICLtjIzsnbwg7J2066aE66eMIOuqqeuhnSDtkZzsi5wiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQorIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCiBtc2dpZCAidXNlIGZ1bGwgcGF0aCBuYW1lcyIKIG1zZ3N0ciAi7KCE7LK0IOqyveuhnCDsnbTrpoQg7IKs7JqpIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0NAogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAi7KCE7LK0IO2KuOumrCDrqqnroZ0g7ZGc7IucLCDtmITsnqwg65SU66CJ7YSw66as66eMIOyVhOuLiOudvCAoLS1mdWxsLW5hbWUg7Ji17IWYIO2PrO2VqCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgotbXNnc3RyICJnaXQgbWVyZ2UgWzzsmLXshZg+XSBbPOy7pOuwiz4uLi5dIgorIzogYnVpbHRpbi9tYWlsc3BsaXQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKK21zZ3N0ciAi67mIIG1ib3g6ICclcyciCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzo0NwotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgotbXNnc3RyICJnaXQgbWVyZ2UgWzzsmLXshZg+XSA866mU7Iuc7KeAPiBIRUFEIDzsu6TrsIs+IgorbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgorbXNnc3RyICJnaXQgbWVyZ2UgWzzsmLXshZg+XSBbPOy7pOuwiz4uLi5dIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKQEAgLTk0ODQsMzEgKzk4MzgsMzEgQEAKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi7IKs7JqpIOqwgOuKpe2VnCDsgqzsmqnsnpAg7ISk7KCVIOyghOueteydgDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTcgYnVpbHRpbi9wdWxsLmM6MTI3CisjOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEzNAogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIuuzke2VqeydtCDrgZ3rgqAg65WMIGRpZmZzdGF07J2EIO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTMwCisjOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNwogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAi67OR7ZWp7J20IOuBneuCoCDrlYwgZGlmZnN0YXTsnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjEzMworIzogYnVpbHRpbi9tZXJnZS5jOjIwMSBidWlsdGluL3B1bGwuYzoxNDAKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoLS1zdGF0IOyYteyFmOqzvCDrj5nsnbwpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vcHVsbC5jOjEzNgorIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxNDMKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuuzke2VqSDsu6TrsIvsnZgg66mU7Iuc7KeA7JeQIHNob3J0bG9nIO2VreuqqeydhCAo7LWc64yAIDxuPuqwnCkg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjEzOQorIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxNDYKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAi67OR7ZWp7ZWY64qUIOuMgOyLoCDtlZjrgpjsnZgg7Luk67CL7J2EIOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDggYnVpbHRpbi9wdWxsLmM6MTQ5CiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICLrs5HtlansnbQg7ISx6rO17ZWY66m0IOy7pOuwi+ydhCDtlanri4jri6QgKOq4sOuzuOqwkikiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTQ1CisjOiBidWlsdGluL21lcmdlLmM6MjEwIGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAi7Luk67CLIOyghOyXkCDrqZTsi5zsp4Drpbwg7Y647KeR7ZWp64uI64ukIgogCkBAIC05NTE2LDI4ICs5ODcwLDI4IEBACiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAi7KCV67Cp7ZalIOynhO2WieydhCDtl4jsmqntlanri4jri6QgKOq4sOuzuOqwkikiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMgYnVpbHRpbi9wdWxsLmM6MTUxCisjOiBidWlsdGluL21lcmdlLmM6MjEzIGJ1aWx0aW4vcHVsbC5jOjE1OAogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgIuygleuwqe2WpSDsp4TtlonsnbQg67aI6rCA64ql7ZWY66m0IOykkeyngO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNyBidWlsdGluL3B1bGwuYzoxNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICLsp4DsoJXtlZwg7Luk67CL7JeQIOyYrOuwlOuluCBHUEcg7ISc66qF7J20IOyeiOuKlOyngCDqsoDspp3tlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjc3NCBidWlsdGluL3B1bGwuYzoxNTgKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjc3NiBidWlsdGluL3B1bGwuYzoxNjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgIuyghOuetSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTY2CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICLsgqzsmqntlaAg67OR7ZWpIOyghOuetSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMCBidWlsdGluL3B1bGwuYzoxNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9wdWxsLmM6MTY5CiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICLsmLXshZg96rCSIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE2MworIzogYnVpbHRpbi9tZXJnZS5jOjIyMSBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLshKDtg53tlZwg67OR7ZWpIOyghOueteyXkCDrjIDtlZwg7Ji17IWYIgogCkBAIC05NTUzLDcgKzk5MDcsNyBAQAogbXNnaWQgImNvbnRpbnVlIHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICLtmITsnqwg7KeE7ZaJIOykkeyduCDrs5HtlansnYQg6rOE7IaN7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjMxIGJ1aWx0aW4vcHVsbC5jOjE3MAorIzogYnVpbHRpbi9tZXJnZS5jOjIzMSBidWlsdGluL3B1bGwuYzoxNzcKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIuq0gOqzhCDsl4bripQg7Luk67CLIOuCtOyXreydmCDrs5HtlansnYQg7ZeI7Jqp7ZWp64uI64ukIgogCkBAIC05NTk4LDMyICs5OTUyLDMyIEBACiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMg66y47J6Q7Je0OiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY1NgorIzogYnVpbHRpbi9tZXJnZS5jOjY1NwogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIuuRkCDqsJzsnZgg7Zek65OcIOuzke2VqSDsmbjsl5DripQg7LKY66as7ZWY7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAibWVyZ2UtcmVjdXJzaXZl7JeQIOuMgO2VtCDslYwg7IiYIOyXhuuKlCDsmLXshZg6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICIlc+yXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczNworIzogYnVpbHRpbi9tZXJnZS5jOjczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIiclcyfsl5DshJwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCiAi67OR7ZWp7J2EIOy7pOuwi+2VmOyngCDslYrsirXri4jri6QuIOuzke2VqeydhCDrp4jsuZjroKTrqbQgJ2dpdCBjb21taXQn7J2EIOyCrOyaqe2VmOyLreyLnOyYpC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc1MgorIzogYnVpbHRpbi9tZXJnZS5jOjc1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCkBAIC05NjM5LDc4ICs5OTkzLDY4IEBACiAiJyVjJyDrrLjsnpDroZwg7Iuc7J6R7ZWY64qUIOykhOydgCDrrLTsi5zrkJjqs6AsIOuplOyLnOyngOqwgCDruYTslrQg7J6I7Jy866m0IOy7pOuwi+ydhFxuIgogIuykkeyngO2VqeuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc3NgorIzogYnVpbHRpbi9tZXJnZS5jOjc3NwogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAi67mIIOy7pOuwiyDrqZTsi5zsp4AuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk2CisjOiBidWlsdGluL21lcmdlLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAi7ZuM66Wt7ZWp64uI64ukLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODUxCisjOiBidWlsdGluL21lcmdlLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIuyekOuPmSDrs5HtlansnbQg7Iuk7Yyo7ZaI7Iq164uI64ukLiDstqnrj4zsnYQg67CU66Gc7J6h6rOgIOqysOqzvOusvOydhCDsu6TrsIvtlZjsi63si5zsmKQuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCi1tc2dzdHIgIiclcyfsnYAo64qUKSDsu6TrsIvsnbQg7JWE64uZ64uI64ukIgotCi0jOiBidWlsdGluL21lcmdlLmM6OTA4CisjOiBidWlsdGluL21lcmdlLmM6ODg5CiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICLtmITsnqwg67iM656c7LmY6rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTEKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIu2YhOyerCDruIzrnpzsuZjsl5Ag64yA7ZWcIOumrOuqqO2KuOqwgCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTEyCisjOiBidWlsdGluL21lcmdlLmM6ODkzCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLtmITsnqwg67iM656c7LmY7JeQIOuMgO2VtCDquLDrs7gg7JeF7Iqk7Yq466a87J2EIOyngOygle2VmOyngCDslYrslZjsirXri4jri6QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTE3CisjOiBidWlsdGluL21lcmdlLmM6ODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIuumrOuqqO2KuCAlMiRz7JeQ7IScICUxJHPsl5Ag64yA7ZWcIOumrOuqqO2KuCDstpTsoIEg67iM656c7LmY6rCAIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk2NAorIzogYnVpbHRpbi9tZXJnZS5jOjk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICLsnpjrqrvrkJwg6rCSICclcycsIO2ZmOqyvSAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKLW1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOuLq+ydhCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTA2NQorIzogYnVpbHRpbi9tZXJnZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UgaW4gJXM6ICVzIgogbXNnc3RyICIlcyDslYjsl5DshJwg67OR7ZWp7ZWgIOyImCDsnojripQg7ZWt66qp7J20IOyVhOuLmeuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDk5CisjOiBidWlsdGluL21lcmdlLmM6MTA4MAogbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICLrs5HtlantlaAg7IiYIOyeiOuKlCDtla3rqqnsnbQg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE2NworIzogYnVpbHRpbi9tZXJnZS5jOjExNDUKIG1zZ2lkICItLWFib3J0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWFib3J0IOyYteyFmOydgCDsnbjsnpDrpbwg67Cb7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNzEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ5CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICLspJHsp4DtlaAg67OR7ZWpIOyekeyXheydtCDsl4bsirXri4jri6QuIChNRVJHRV9IRUFE6rCAIOyXhuydjCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgzCisjOiBidWlsdGluL21lcmdlLmM6MTE2MQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUg7Ji17IWY7J2AIOyduOyekOulvCDrsJvsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE4NworIzogYnVpbHRpbi9tZXJnZS5jOjExNjUKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIuynhO2WiSDspJHsnbgg67OR7ZWpIOyekeyXheydtCDsl4bsirXri4jri6QuIChNRVJHRV9IRUFE6rCAIOyXhuydjCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjAzCisjOiBidWlsdGluL21lcmdlLmM6MTE4MQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC05NzE4LDcgKzEwMDYyLDcgQEAKICLrs5HtlansnYQg66eI7LmY7KeAIOyViuyVmOyKteuLiOuLpC4gKE1FUkdFX0hFQUQg7J6I7J2MKVxuIgogIuuzke2Vqe2VmOq4sCDsoITsl5Ag67OA6rK9IOyCrO2VreydhCDsu6TrsIvtlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMAorIzogYnVpbHRpbi9tZXJnZS5jOjExODgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtOTcyNiwxNTcgKzEwMDcwLDE1NyBAQAogIuy7pOuwiyDrubzsmKTquLDrpbwg66eI7LmY7KeAIOyViuyVmOyKteuLiOuLpC4gKENPTU1JVF9QSUNLX0hFQUQg7J6I7J2MKVxuIgogIuuzke2Vqe2VmOq4sCDsoITsl5Ag67OA6rK9IOyCrO2VreydhCDsu6TrsIvtlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMworIzogYnVpbHRpbi9tZXJnZS5jOjExOTEKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIuy7pOuwiyDrubzsmKTquLDrpbwg66eI7LmY7KeAIOyViuyVmOyKteuLiOuLpC4gKENIRVJSWV9QSUNLX0hFQUQg7J6I7J2MKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjAwCiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIi0tc3F1YXNoIOyYteyFmOydhCAtLW5vLWZmIOyYteyFmOqzvCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDgKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAi7Luk67CL7J2EIOyngOygle2VmOyngCDslYrslZjqs6AgIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFt66W8IOyEpOygle2VmOyngCDslYrslZjsirXri4jri6QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0NworIzogYnVpbHRpbi9tZXJnZS5jOjEyMjUKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAi67mIIO2XpOuTnOuhnCDsu6TrsIvsnYQg7ZWp7LmY6riw64qUIOyngOybkO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQ5CisjOiBidWlsdGluL21lcmdlLmM6MTIyNwogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICLsoJXrsKntlqXsnbQg7JWE64uMIOy7pOuwi+ydgCDruYgg7Zek65Oc7JeQ7ISc64qUIOyVnuuSpOqwgCDrp57sp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAiJXMgLSDrs5HtlantlaAg7IiYIOyeiOuKlCDtla3rqqnsnbQg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzQKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICLruYgg7Zek65Oc7JeQ64qUIOygle2Zle2eiCDtlZjrgpjsnZgg7Luk67CL66eMIOuzke2Vqe2VoCDsiJgg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxMgorIzogYnVpbHRpbi9tZXJnZS5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiJXMg7Luk67CL7JeQIOyLoOuisO2VmOyngCDslYrripQgKOyEnOuqheyekOqwgCAlc+udvOqzoCDtlZjripQpIEdQRyDshJzrqoXsnbQg7J6I7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIlcyDsu6TrsIvsl5Ag7J6Y66q765CcICjshJzrqoXsnpDqsIAgJXPrnbzqs6Ag7ZWY64qUKSBHUEcg7ISc66qF7J20IOyeiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzE4CisjOiBidWlsdGluL21lcmdlLmM6MTI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICIlcyDsu6TrsIvsl5AgR1BHIOyEnOuqheydtCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMyMQorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICIlcyDsu6TrsIvsl5AgJXPsnZgg7Jis67CU66W4IEdQRyDshJzrqoXsnbQg7JeG7Iq164uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgzCisjOiBidWlsdGluL21lcmdlLmM6MTMzOQogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIuq0gOqzhCDsl4bripQg7Luk67CLIOuCtOyXreydmCDrs5HtlansnYQg6rGw67aA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjEzNDgKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgogbXNnc3RyICLsnbTrr7gg7JeF642w7J207Yq4IOyDge2DnOyeheuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAyCisjOiBidWlsdGluL21lcmdlLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAi7JeF642w7J207Yq4IOykkSAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICLslYTso7wg6rCE64uo7ZWcIOyduOuNseyKpCDrgrTrtoAg67OR7ZWp7J2EIOyLnOuPhO2VqeuLiOuLpC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ1MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAi7JWE64uYLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ3NQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MzEKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKIG1zZ3N0ciAi7J2066+4IOyXheuNsOydtO2KuCDsg4Htg5zsnoXri4jri6QuIOyVvO2YuCEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgxCisjOiBidWlsdGluL21lcmdlLmM6MTQzNwogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAi7KCV67Cp7Zal7J20IOu2iOqwgOuKpe2VmOuvgOuhnCwg7KSR7KeA7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MDQgYnVpbHRpbi9tZXJnZS5jOjE1ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDYwIGJ1aWx0aW4vbWVyZ2UuYzoxNTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICLtirjrpqzrpbwg67O4656YIOychOy5mOuhnCDrkJjrj4zrpr3ri4jri6QuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICLrs5Htlakg7KCE6561ICVzIOyLnOuPhC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NAorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIuuzke2VqeydhCDsspjrpqztlZwg7KCE65617J20IOyXhuyKteuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICLsoITrnrUgJXMo7Jy8KeuhnCDrs5HtlansnbQg7Iuk7Yyo7ZaI7Iq164uI64ukLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU4NQorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCiBtc2dzdHIgIuyImOuPmSDtlbTqsrDsnZgg7KSA67mE66W8IOychO2VtCAlcyDsoITrnrXsnYQg7IKs7Jqp7ZWp64uI64ukLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU5NworIzogYnVpbHRpbi9tZXJnZS5jOjE1NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAi7J6Q64+ZIOuzke2VqeydtCDsnpgg7KeE7ZaJ65CY7JeI7Iq164uI64ukLiDsmpTssq3tlZzrjIDroZwg7Luk67CLIOyghOyXkCDspJHsp4Dtlanri4jri6RcbiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gPOy7pOuwiz4gPOy7pOuwiz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPOy7pOuwiz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPOy7pOuwiz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMwogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPOy7pOuwiz4gPOy7pOuwiz4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPOugiO2NvOufsOyKpD4gWzzsu6TrsIs+XSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE3CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTgKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgIuuqqOuToCDqs7zqsbAg6rO17Ya1IOy7pOuwi+ydhCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIwCiBtc2dpZCAiZmluZCBhbmNlc3RvcnMgZm9yIGEgc2luZ2xlIG4td2F5IG1lcmdlIgogbXNnc3RyICLtlZjrgpjsnZggbi3rsKntlqUg67OR7ZWp7JeQIOuMgO2VnCDqs7zqsbAg7Luk67CL7J2EIOywvuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAi64uk66W4IOqzs+yXkOyEnCDsoJHqt7wg67aI6rCA64ql7ZWcIOumrOu5hOyghCDrqqnroZ3snYQg7Lac66Cl7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjMKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNAogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAi7LKr67KI7Ke46rCAIOuLpOuluCDqsoPsnZgg6rO86rGwIOy7pOuwi+yduOyngCDsl6zrtoA/IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNgogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICI866CI7Y2865+w7IqkPuydmCByZWZsb2fsl5DshJwgPOy7pOuwiz7snbQg67aE66as65CcIOychOy5mOulvCDssL7sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjgKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjkKIG1zZ2lkICIiCiAiZ2l0IG1lcmdlLWZpbGUgWzxvcHRpb25zPl0gWy1MIDxuYW1lMT4gWy1MIDxvcmlnPiBbLUwgPG5hbWUyPl1dXSA8ZmlsZTE+ICIKICI8b3JpZy1maWxlPiA8ZmlsZTI+IgpAQCAtOTk1MCwxNTUgKzEwMjk0LDE1OSBAQAogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUyCisjOiBidWlsdGluL21rdHJlZS5jOjE1MwogbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgogbXNnc3RyICLsnoXroKXsnbQgTlVM66GcIOuBneuCqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMgYnVpbHRpbi93cml0ZS10cmVlLmM6MjQKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU0IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI1CiBtc2dpZCAiYWxsb3cgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICLsl4bripQg7Jik67iM7KCd7Yq466W8IO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTQKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1CiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICLsl6zrn6zqsJwg7Yq466asIOunjOuTpOq4sOulvCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNgorIzogYnVpbHRpbi9tdi5jOjE3CiBtc2dpZCAiZ2l0IG12IFs8b3B0aW9ucz5dIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBbPOyYteyFmD5dIDzsm5Drs7g+Li4uIDzrjIDsg4E+IgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgIiVzIOuUlOugie2EsOumrOqwgCDsnbjrjbHsiqTsl5Ag7J6I6rOgIO2VmOychCDrqqjrk4jsnbQg7JeG7Iq164uI64ukPyIKIAotIzogYnVpbHRpbi9tdi5jOjg0IGJ1aWx0aW4vcm0uYzoyOTAKKyM6IGJ1aWx0aW4vbXYuYzo4NSBidWlsdGluL3JtLmM6MjkwCiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIuqzhOyGje2VmOugpOuptCAuZ2l0bW9kdWxlc+ydmCDrs4Dqsr0g7IKs7ZWt7J2EIOyKpO2FjOydtOyngOyXkCDrhKPqsbDrgpgg7Iqk7YOc7IucIO2VmOyLreyLnOyYpCIKIAotIzogYnVpbHRpbi9tdi5jOjEwMgorIzogYnVpbHRpbi9tdi5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlLipzIGlzIGluIGluZGV4IgogbXNnc3RyICIlLipz7J20KOqwgCkg7J24642x7Iqk7JeQIOyeiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi64yA7IOB7J20IOydtOuvuCDsnojslrTrj4Qg6rCV7KCc66GcIOyYruq4sOq4sC/snbTrpoQg67CU6r646riw66W8IO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjEyNQorIzogYnVpbHRpbi9tdi5jOjEyNgogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICLsmK7quLDquLAv7J2066aEIOuwlOq+uOq4sCDsmKTrpZjrpbwg6rG064SIIOucgeuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjE2NworIzogYnVpbHRpbi9tdi5jOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiAnJXMnIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAi64yA7IOB7J20ICgnJXMnKSDrlJTroInthLDrpqzqsIAg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL212LmM6MTc4CisjOiBidWlsdGluL212LmM6MTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpICclcyco7Jy8KeuhnCDsnbTrpoQg67CU6r646riw7ZWp64uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODIKKyM6IGJ1aWx0aW4vbXYuYzoxODMKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICLsnpjrqrvrkJwg7JuQ67O4IgogCi0jOiBidWlsdGluL212LmM6MTg1CisjOiBidWlsdGluL212LmM6MTg2CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAi65SU66CJ7YSw66as66W8IOyekOq4sCDsnpDsi6DsnLzroZwg7Jiu6ri4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODgKKyM6IGJ1aWx0aW4vbXYuYzoxODkKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICLrlJTroInthLDrpqzrpbwg7YyM7J2866GcIOyYruq4uCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL212LmM6MTk3CisjOiBidWlsdGluL212LmM6MTk4CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAi7JuQ67O4IOuUlOugie2EsOumrOqwgCDruYTslrQg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL212LmM6MjIyCisjOiBidWlsdGluL212LmM6MjIzCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAi67KE7KCEIOy7qO2KuOuhpCDspJHsnbQg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL212LmM6MjI1CisjOiBidWlsdGluL212LmM6MjI2CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICLrjIDsg4HsnbQg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL212LmM6MjMzCisjOiBidWlsdGluL212LmM6MjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIiclcycg642u7Ja07JOw6riwIgogCi0jOiBidWlsdGluL212LmM6MjM2CisjOiBidWlsdGluL212LmM6MjM3CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAi642u7Ja07JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzkKKyM6IGJ1aWx0aW4vbXYuYzoyNDAKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIuuPmeydvO2VnCDrjIDsg4Hsl5Ag64yA7ZW0IOyXrOufrCDqsJwg7JuQ67O4IgogCi0jOiBidWlsdGluL212LmM6MjQxCisjOiBidWlsdGluL212LmM6MjQyCiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLrjIDsg4Eg65SU66CJ7YSw66as6rCAIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjI0OAorIzogYnVpbHRpbi9tdi5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIOybkOuzuD0lcywg64yA7IOBPSVzIgogCi0jOiBidWlsdGluL212LmM6MjY5CisjOiBidWlsdGluL212LmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIuydtOumhCDrsJTqvrjquLAsICclcyfsl5DshJwgJyVzJyjsnLwp66GcXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzUgYnVpbHRpbi9yZW1vdGUuYzo3MTAgYnVpbHRpbi9yZXBhY2suYzozODQKKyM6IGJ1aWx0aW4vbXYuYzoyNzYgYnVpbHRpbi9yZW1vdGUuYzo3MTEgYnVpbHRpbi9yZXBhY2suYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIiclcyfsnZgg7J2066aEIOuwlOq+uOq4sOqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMzgKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPOyYteyFmD5dIDzsu6TrsIs+Li4uIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzM5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzsmLXshZg+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM0MAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzsmLXshZg+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICLsnbTrpoTrp4wg7ZGc7IucIChTSEEtMSDsl4bsnbQpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk2CiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICLsu6TrsIvsnYQg7KeA7KCV7ZWgIOuVjCDtg5zqt7jrp4wg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE0CisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk4CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIjztjKjthLQ+6rO8IOydvOy5mO2VmOuKlCDroIjtjbzrn7DsiqTrp4wg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAwCittc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICI87Yyo7YS0PuqzvCDsnbzsuZjtlZjripQg66CI7Y2865+w7Iqk66W8IOustOyLnO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIuuqqOuToCDroIjtjbzrn7DsiqTsl5DshJwg7KCR6re8IOqwgOuKpe2VnCDrqqjrk6Ag7Luk67CLIOuqqeuhneydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDMKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIu2RnOykgOyeheugpeyXkOyEnCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgImDsoJXsnZjrkJjsp4Ag7JWK7J2AJyDsnbTrpoQg7ZGc7Iuc66W8IO2XiOyaqe2VqeuLiOuLpCAo6riw67O46rCSKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICLsnoXroKXsnZgg7YOc6re4IOugiO2NvOufsOyKpOulvCDrlLDrnbzqsJHri4jri6QgKOuCtOu2gCDsgqzsmqkpIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzrhbjtirgt66CI7Y2865+w7IqkPl0gW2xpc3QgWzzsmKTruIzsoJ3tirg+XV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjI3CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFkZCBbLWZdIFstLWFsbG93LWVtcHR5XSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gIgogInwgKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dIgpAQCAtMTAxMDYsMTIgKzEwNDU0LDEyIEBACiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA866mU7Iuc7KeAPiB8IC1GIDztjIwiCiAi7J28PiB8ICgtYyB8IC1DKSA87Jik67iM7KCd7Yq4Pl0gWzzsmKTruIzsoJ3tirg+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI3CisjOiBidWlsdGluL25vdGVzLmM6MjgKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBjb3B5IFstZl0gPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0PiIKIG1zZ3N0ciAiIgogImdpdCBub3RlcyBbLS1yZWYgPOuFuO2KuC3roIjtjbzrn7DsiqQ+XSBjb3B5IFstZl0gPOybkOuzuC3smKTruIzsoJ3tirg+IDzrjIDsg4Et7Jik67iM7KCd7Yq4PiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI4CisjOiBidWlsdGluL25vdGVzLmM6MjkKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYXBwZW5kIFstLWFsbG93LWVtcHR5XSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gfCAiCiAiKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dIgpAQCAtMTAxMTksMjAzICsxMDQ2NywyMDQgQEAKICJnaXQgbm90ZXMgWy0tcmVmIDzsqr3sp4At66CI7Y2865+w7IqkPl0gYXBwZW5kIFstLWFsbG93LWVtcHR5XSBbLW0gPOuplOyLnOyngD4gfCAtRiA8IgogIu2MjOydvD4gfCAoLWMgfCAtQykgPOyYpOu4jOygne2KuD5dIFs87Jik67iM7KCd7Yq4Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA87Kq97KeALeugiO2NvOufsOyKpD5dIGVkaXQgWy0tYWxsb3ctZW1wdHldIFs87Jik67iM7KCd7Yq4Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMAorIzogYnVpbHRpbi9ub3Rlcy5jOjMxCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBzaG93IFs87Jik67iM7KCd7Yq4Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMQorIzogYnVpbHRpbi9ub3Rlcy5jOjMyCiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPHN0cmF0ZWd5Pl0gPG5vdGVzLXJlZj4iCiBtc2dzdHIgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDzrhbjtirgt66CI7Y2865+w7IqkPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA87KCE6561Pl0gPOuFuO2KuC3roIjtjbzrn7DsiqQ+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMwogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbLXYgfCAtcV0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbLXYgfCAtcV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMworIzogYnVpbHRpbi9ub3Rlcy5jOjM0CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNAorIzogYnVpbHRpbi9ub3Rlcy5jOjM1CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gcmVtb3ZlIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOuFuO2KuC3roIjtjbzrn7DsiqQ+XSByZW1vdmUgWzzsmKTruIzsoJ3tirg+Li4uXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM1CisjOiBidWlsdGluL25vdGVzLmM6MzYKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBwcnVuZSBbLW4gfCAtdl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOuFuO2KuC3roIjtjbzrn7DsiqQ+XSBwcnVuZSBbLW4gfCAtdl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA864W47Yq4LeugiO2NvOufsOyKpD5dIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQyCiBtc2dpZCAiZ2l0IG5vdGVzIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgW2xpc3QgWzzsmKTruIzsoJ3tirg+XV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ3CiBtc2dpZCAiZ2l0IG5vdGVzIGFkZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgYWRkIFs87Ji17IWYPl0gWzzsmKTruIzsoJ3tirg+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxCisjOiBidWlsdGluL25vdGVzLmM6NTIKIG1zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPOyYteyFmD5dIDzsm5Drs7gt7Jik67iM7KCd7Yq4PiA864yA7IOBLeyYpOu4jOygne2KuD4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzCiBtc2dpZCAiZ2l0IG5vdGVzIGNvcHkgLS1zdGRpbiBbPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0Pl0uLi4iCiBtc2dzdHIgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzzsm5Drs7gt7Jik67iM7KCd7Yq4PiA864yA7IOBLeyYpOu4jOygne2KuD5dLi4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OAogbXNnaWQgImdpdCBub3RlcyBhcHBlbmQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGFwcGVuZCBbPOyYteyFmD5dIFs87Jik67iM7KCd7Yq4Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjYzCiBtc2dpZCAiZ2l0IG5vdGVzIGVkaXQgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGVkaXQgWzzsmKTruIzsoJ3tirg+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY3CisjOiBidWlsdGluL25vdGVzLmM6NjgKIG1zZ2lkICJnaXQgbm90ZXMgc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgc2hvdyBbPOyYpOu4jOygne2KuD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MwogbXNnaWQgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIFs87Ji17IWYPl0gPOyqveyngC3roIjtjbzrn7DsiqQ+IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NAogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs87Ji17IWYPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc1CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs87Ji17IWYPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjgwCiBtc2dpZCAiZ2l0IG5vdGVzIHJlbW92ZSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgcmVtb3ZlIFs87Jik67iM7KCd7Yq4Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NAorIzogYnVpbHRpbi9ub3Rlcy5jOjg1CiBtc2dpZCAiZ2l0IG5vdGVzIHBydW5lIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgbm90ZXMgcHJ1bmUgWzzsmLXshZg+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5CisjOiBidWlsdGluL25vdGVzLmM6OTAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1CiBtc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKIG1zZ3N0ciAi64uk7J2MIOyYpOu4jOygne2KuOyXkCDrhbjtirjrpbwg7JOw6rGw64KYIO2OuOynke2VqeuLiOuLpDoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgIiclcycg7Jik67iM7KCd7Yq47JeQIOuMgO2VtCAnc2hvdyfrpbwg7Iuc7J6R7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNTIKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnc2hvdycgb3V0cHV0IgogbXNnc3RyICInc2hvdycg7Lac66Cl7J2EIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTU5CisjOiBidWlsdGluL25vdGVzLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4ICclcyfsl5Ag64yA7ZW0ICdzaG93J+ulvCDrp4jsuZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTk0CisjOiBidWlsdGluL25vdGVzLmM6MTk1CiBtc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgogbXNnc3RyICLrhbjtirgg64K07Jqp7J2EIC1tIOuYkOuKlCAtRiDsmLXshZjsnLzroZwg7J6F66Cl7ZWY7Iut7Iuc7JikIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjAzCisjOiBidWlsdGluL25vdGVzLmM6MjA0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgogbXNnc3RyICLrhbjtirgg7Jik67iM7KCd7Yq466W8IOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjA1CisjOiBidWlsdGluL25vdGVzLmM6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICLrhbjtirgg64K07Jqp7J2AICVz7JeQIOuCqOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzMyBidWlsdGluL3RhZy5jOjQ2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjIzNCBidWlsdGluL3RhZy5jOjUxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICInJXMn7J2EKOulvCkg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzUgYnVpbHRpbi90YWcuYzo0NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzYgYnVpbHRpbi90YWcuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICInJXMn7J2EKOulvCkg7Je06rGw64KYIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNwotIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CisjOiBidWlsdGluL25vdGVzLmM6MjU1IGJ1aWx0aW4vbm90ZXMuYzozMDYgYnVpbHRpbi9ub3Rlcy5jOjMwOAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NSBidWlsdGluL25vdGVzLmM6NDMwIGJ1aWx0aW4vbm90ZXMuYzo1MTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OSBidWlsdGluL25vdGVzLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICInJXMn7J2EKOulvCkg7Jis67CU66W4IOugiO2NvOufsOyKpOuhnCDslYzslYTrgrTripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NworIzogYnVpbHRpbi9ub3Rlcy5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIiclcycg7Jik67iM7KCd7Yq4IOydveq4sOyXkCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYxCisjOiBidWlsdGluL25vdGVzLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAi67iU66Gt7J20IOyVhOuLjCAnJXMnIOyYpOu4jOygne2KuOyXkCDrjIDtlbQg64W47Yq4IOuNsOydtO2EsOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLsnpjrqrvrkJwg7ZiV7Iud7J2YIOyeheugpSDspIQ6ICclcycuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzE2CisjOiBidWlsdGluL25vdGVzLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICInJXMn7JeQ7IScICclcyco7Jy8KeuhnCDrhbjtirjrpbwg67O17IKs7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKLSMuIGdpdCBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KLSM6IGJ1aWx0aW4vbm90ZXMuYzozNDUKKyMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhIGdpdAorIy4gbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCisjLgorIzogYnVpbHRpbi9ub3Rlcy5jOjM0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIiVz7JeQ7IScIOuFuO2KuOulvCAlcyDtlZjquLDrpbwg6rGw67aA7ZWp64uI64ukIChyZWZzL25vdGVzLyDrsJbsnoQpIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgotIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCisjOiBidWlsdGluL25vdGVzLmM6MzY4IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjUxMSBidWlsdGluL25vdGVzLmM6NTg3IGJ1aWx0aW4vbm90ZXMuYzo2NTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQgYnVpbHRpbi9ub3Rlcy5jOjk1MSBidWlsdGluL25vdGVzLmM6OTcyCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAi7YyM652866+47YSw6rCAIOuEiOustCDrp47sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MSBidWlsdGluL25vdGVzLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgIiVzIOyYpOu4jOygne2KuOyXkCDrjIDtlbQg64W47Yq46rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAi66y47J6Q7Je066GcIOuFuO2KuCDrgrTsmqkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgIu2MjOydvCDslYjsl5Ag64W47Yq4IOuCtOyaqSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgIuyngOygle2VnCDrhbjtirgg7Jik67iM7KCd7Yq466W8IOyerOyCrOyaqe2VmOqzoCDtjrjsp5Htlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLsp4DsoJXtlZwg64W47Yq4IOyYpOu4jOygne2KuOulvCDsnqzsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTEgYnVpbHRpbi9ub3Rlcy5jOjU3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxNCBidWlsdGluL25vdGVzLmM6NTc3CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICLruYgg64W47Yq4IOyggOyepeydhCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxNSBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi6riw7KG0IOuFuO2KuOulvCDrsJTqv4nri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBhZGQgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCkBAIC0xMDMyNCwyOSArMTA2NzMsMjkgQEAKICLrhbjtirjrpbwg7LaU6rCA7ZWgIOyImCDsl4bsirXri4jri6QuICVzIOyYpOu4jOygne2KuOyXkCDrjIDtlZwg6riw7KG0IOuFuO2KuOqwgCDsnojsirXri4jri6QuIOq4sOyhtCDrhbjtirgiCiAi66W8IOuNruyWtOyTsOugpOuptCAnLWYnIOyYteyFmOydhCDsgqzsmqntlZjsi63si5zsmKQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NTIgYnVpbHRpbi9ub3Rlcy5jOjUzMQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1NSBidWlsdGluL25vdGVzLmM6NTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiJXMg7Jik67iM7KCd7Yq47JeQIOuMgO2VnCDquLDsobQg64W47Yq466W8IOuNruyWtOyUgeuLiOuLpFxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo2MjQgYnVpbHRpbi9ub3Rlcy5jOjg4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2NiBidWlsdGluL25vdGVzLmM6NjI2IGJ1aWx0aW4vbm90ZXMuYzo4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIiVzIOyYpOu4jOygne2KuOyXkCDrjIDtlZwg64W47Yq466W8IOygnOqxsO2VqeuLiOuLpFxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDg0CisjOiBidWlsdGluL25vdGVzLmM6NDg3CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7Jik67iM7KCd7Yq466W8IOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICI866qF66C5PuyXkCDrjIDtlZwg64uk7Iuc7JOw6riwIOyEpOygleydhCDsnb3slrTrk6TsnoXri4jri6QgKC0tc3RkaW4g7Ji17IWYIO2PrO2VqCkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDcKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgIu2MjOudvOuvuO2EsOqwgCDrhIjrrLQg7KCB7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTI1CisjOiBidWlsdGluL25vdGVzLmM6NTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgY29weSBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTEwMzU1LDEyICsxMDcwNCwxMiBAQAogIuuFuO2KuOulvCDrs7XsgqztlaAg7IiYIOyXhuyKteuLiOuLpC4gJXMg7Jik67iM7KCd7Yq47JeQIOuMgO2VnCDquLDsobQg64W47Yq46rCAIOyeiOyKteuLiOuLpC4g6riw7KG0IOuFuO2KuCIKICLrpbwg642u7Ja07JOw66Ck66m0ICctZicg7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNworIzogYnVpbHRpbi9ub3Rlcy5jOjU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAi7JuQ67O4ICVzIOyYpOu4jOygne2KuOyXkCDrjIDtlZwg64W47Yq46rCAIOyXhuyKteuLiOuLpC4g67O17IKs7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTg5CisjOiBidWlsdGluL25vdGVzLmM6NTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgpAQCAtMTAzNjksNTIgKzEwNzE4LDUyIEBACiAiLW0vLUYvLWMvLUMg7Ji17IWY7J2AICdlZGl0JyDtlZjsnIQg66qF66C57JeQIOuMgO2VtCDsgqzsmqnsnYQg6raM7ZWY7KeAIOyViuyKteuLiOuLpC5cbiIKICLrjIDsi6Dsl5AgJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnIOuqheugueydhCDsgqzsmqntlZjsi63si5zsmKQuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJOT1RFU19NRVJHRV9QQVJUSUFMIOugiO2NvOufsOyKpCDsgq3soJzsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njg3CisjOiBidWlsdGluL25vdGVzLmM6Njg5CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICJOT1RFU19NRVJHRV9SRUYg66CI7Y2865+w7IqkIOyCreygnOyXkCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OTEKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgogbXNnc3RyICInZ2l0IG5vdGVzIG1lcmdlJyDsnpHsl4Xtirjrpqwg7KCc6rGw7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQogbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJOT1RFU19NRVJHRV9QQVJUSUFMIOugiO2NvOufsOyKpCDsnb3quLDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzExCisjOiBidWlsdGluL25vdGVzLmM6NzEzCiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgIk5PVEVTX01FUkdFX1BBUlRJQUzsl5DshJwg7Luk67CL7J2EIOywvuydhCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMworIzogYnVpbHRpbi9ub3Rlcy5jOjcxNQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAiTk9URVNfTUVSR0VfUEFSVElBTOyXkOyEnCDsu6TrsIvsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzI2CisjOiBidWlsdGluL25vdGVzLmM6NzI4CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICJOT1RFU19NRVJHRV9SRUYg7JWM7JWE64K06riw7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjczMQogbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSBub3RlcyBtZXJnZSIKIG1zZ3N0ciAi64W47Yq4IOuzke2VqeydhCDrp4jsuZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzU1CisjOiBidWlsdGluL25vdGVzLmM6NzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIOuFuO2KuCDrs5Htlakg7KCE6561ICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcxCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICLsnbzrsJgg7Ji17IWYIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzczCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAi67OR7ZWpIOyYteyFmCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NwogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCkBAIC0xMDQyMiw0NiArMTA3NzEsNDYgQEAKICLso7zslrTsp4Qg7KCE65617J2EIOyCrOyaqe2VtCDrhbjtirgg7Lap64+M7J2EIO2VtOqysO2VqeuLiOuLpCAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NworIzogYnVpbHRpbi9ub3Rlcy5jOjc3OQogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg64W47Yq4IOy7pOuwiyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQogbXNnaWQgImZpbmFsaXplIG5vdGVzIG1lcmdlIGJ5IGNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg64W47Yq466W8IOy7pOuwi+2VtCDrhbjtirgg67OR7ZWp7J2EIOuniOy5qeuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MwogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIuuFuO2KuCDrs5Htlakg7ZW06rKwIOykkeyngCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MworIzogYnVpbHRpbi9ub3Rlcy5jOjc4NQogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgogbXNnc3RyICLrhbjtirgg67OR7ZWp7J2EIOykkeyngO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc5NgogbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKIG1zZ3N0ciAiLS1jb21taXQsIC0tYWJvcnQsIC1zLy0tc3RyYXRlZ3kg7Ji17IWY7J2EIOyEnuyWtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjgwMQogbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKIG1zZ3N0ciAi67OR7ZWp7ZWgIOuFuO2KuCDroIjtjbzrn7DsiqTrpbwg7KeA7KCV7ZW07JW8IO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgyMworIzogYnVpbHRpbi9ub3Rlcy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCDsoITrnrUoLXMvLS1zdHJhdGVneSk6ICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYwCisjOiBidWlsdGluL25vdGVzLmM6ODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgogbXNnc3RyICIlcyDsnITsuZjroZwg64W47Yq4IOuzke2VqeydtCDsnbTrr7ggJXPsl5DshJwg7KeE7ZaJ7KSR7J6F64uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYzCisjOiBidWlsdGluL25vdGVzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgIu2YhOyerCDrhbjtirgg66CI7Y2865+w7Iqk7J2YICglcykg66eB7YGs66W8IOyggOyepe2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODY1CisjOiBidWlsdGluL25vdGVzLmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKQEAgLTEwNDcyLDIyMyArMTA4MjEsMjIzIEBACiAibWVyZ2UgLS1jb21taXQnIOuqheugueycvOuhnCDsu6TrsIvtlZjsi63si5zsmKQuIOuYkOuKlCAnZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnIOuqheugueycvCIKICLroZwg67OR7ZWp7J2EIOykkeyngO2VmOyLreyLnOyYpC5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg4NworIzogYnVpbHRpbi9ub3Rlcy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAiJXMg7Jik67iM7KCd7Yq47JeQIOuFuO2KuOqwgCDsl4bsirXri4jri6RcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjkwMQogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAi7JeG64qUIOuFuO2KuOulvCDsoJzqsbDtlZjroKTripQg7Iuc64+E66W8IOyYpOulmOqwgCDslYTri4wg6rKD7Jy866GcIOy3qOq4ie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjkwNAogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLtkZzspIAg7J6F66Cl7JeQ7IScIOyYpOu4jOygne2KuCDsnbTrpoTsnYQg7J297Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQwIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworIzogYnVpbHRpbi9ub3Rlcy5jOjk0MiBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgIuygnOqxsO2VmOyngCDslYrqs6AsIOuztOyXrOyjvOq4sOunjCDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDMKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgogbXNnc3RyICLsnpjrnbzrgrgg64W47Yq466W8IOyVjOumveuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MworIzogYnVpbHRpbi9ub3Rlcy5jOjk4NQogbXNnaWQgIm5vdGVzLXJlZiIKIG1zZ3N0ciAi64W47Yq4LeugiO2NvOufsOyKpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk4NgogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICI864W47Yq4LeugiO2NvOufsOyKpD7sl5DshJwg64W47Yq466W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIO2VmOychCDrqoXroLk6ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs87Ji17IWYPi4uLl0gWzwgPOugiO2NvOufsOyKpOuqqeuhnT4gfCA8IDzsmKTruIzsoJ3tirjrqqnroZ0+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMQogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3B0aW9ucz4uLi5dIDxiYXNlLW5hbWU+IFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPOyYteyFmD4uLi5dIDzrsqDsnbTsiqTsnbTrpoQ+IFs8IDzroIjtjbzrn7DsiqTrqqnroZ0+IHwgPCA87Jik67iM7KCd7Yq466qp66GdIgogIj5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJkZWZsYXRlIOyYpOulmCAoJWQpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc2NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzYKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICIiCiAi67Cw7Yq466e1IOyTsOq4sOulvCDtlZjsp4Ag7JWK7Iq164uI64ukLiDrrLbsnYzsnYAgcGFjay5wYWNrU2l6ZUxpbWl0IOqwkuyXkCDrlLDrnbwg7Kq86rCc7KeR64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODkKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDsk7DripQg7KSRIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA2OQogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICLrrLbsnYzsl5Ag65Ok7Ja07J6I7KeAIOyViuydgCDsmKTruIzsoJ3tirjqsIAg7J6I7Jy866+A66GcLCDruYTtirjrp7Ug7JOw6riw66W8IO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDM0CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOyVley2le2VmOuKlCDspJEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIuyngOybkO2VmOyngCDslYrripQg7J24642x7IqkIOuyhOyghCAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAi7J6Y66q765CcIOyduOuNseyKpCDrsoTsoIQgJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NzcKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi7KeE7ZaJ66Wg7J2EIO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc5CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi7KeE7ZaJ66Wg7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODEKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOyTsOq4sCDri6jqs4Tsl5DshJwg7KeE7ZaJ66Wg7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODQKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgIuynhO2WieuloOydtCDtkZzsi5zrkKAg65WMIC0tYWxsLXByb2dyZXNz7JmAIOu5hOyKt+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODUKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICLrsoTsoIRbLOyYpO2UhOyFi10iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg2CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOuyhOyghOydmCDsnbjrjbHsiqQg7ZiV7Iud7JeQIOuUsOudvCDrrLbsnYwg7J24642x7IqkIO2MjOydvOydhCDslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg5CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAi7Lac66ClIOustuydjCDtjIzsnbzsnZgg7LWc64yAIO2BrOq4sCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTEKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgIuuztOyhsCDsmKTruIzsoJ3tirgg7KCA7J6l7IaM7JeQ7IScIOu5jOugpOyYqCDsmKTruIzsoJ3tirjrpbwg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MwogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAi66y27J2MIOyYpOu4jOygne2KuOulvCDrrLTsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODk1CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAi66y27J2MIOyciOuPhOyasOulvCDsmKTruIzsoJ3tirgg64uo7JyE66GcIOygnO2VnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTcKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICLrrLbsnYwg7JyI64+E7Jqw66W8IOyYpOu4jOygne2KuCDri6jsnITsl5Ag7LaU6rCA66GcIOuplOuqqOumrCDri6jsnITroZwg7KCc7ZWc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5OQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICLqsrDqs7zrrLwg66y27J2M7JeQ7IScIO2XiOyaqeuQmOuKlCDstZzrjIAg6ri47J207J2YIOuNuO2DgCDssrTsnbgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAxCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLquLDsobQg64247YOA66W8IOyerOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDMKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLquLDsobQg7Jik67iM7KCd7Yq466W8IOyerOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgIk9GU19ERUxUQSDsmKTruIzsoJ3tirjrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwNwogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgIuy1nOyDgeydmCDrjbjtg4Ag7J287LmY66W8IOqygOyDie2VmOuKlOuNsCDsiqTroIjrk5zrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwOQogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgIuu5iCDrrLbsnYwg7Lac66Cl7J2EIOunjOuTpOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTExCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi7ZGc7KSAIOyeheugpeyXkOyEnCDrpqzruYTsoIQg7J247J6Q66W8IOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTMKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAi66y27KeAIOyViuuKlCDsmKTruIzsoJ3tirgg7IiY66W8IOygnO2VnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTYKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAi66qo65OgIOugiO2NvOufsOyKpOyXkOyEnCDsoJHqt7wg6rCA64ql7ZWcIOyYpOu4jOygne2KuOulvCDtj6ztlajtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE5CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICJyZWZsb2cg7ZWt66qp7JeQ7IScIOugiO2NvOufsOyKpO2VoCDsiJgg7J6I64qUIOyYpOu4jOygne2KuOulvCDtj6ztlajtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTIyCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAi7J24642x7Iqk7JeQ7IScPCDroIjtjbzrn7DsiqTtlZjripQg7Jik67iM7KCd7Yq466W8IO2PrO2VqO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjUKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgIuustuydjOydhCDtkZzspIAg7Lac66Cl7Jy866GcIOy2nOugpe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjcKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgIuustuydjOyXkCDrk6TslrTqsIgg7Jik67iM7KCd7Yq466W8IOugiO2NvOufsOyKpO2VmOuKlCDtg5zqt7gg7Jik67iM7KCd7Yq466W8IO2PrO2VqO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjkKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIuygkeq3vCDrtojqsIDriqUg7Jik67iM7KCd7Yq466W8IOuztOyhtO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzEKIG1zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIuuKkOyKqO2VnCDsoJHqt7wg67aI6rCA64qlIOyYpOu4jOygne2KuOulvCDrrLbsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMzCiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIjzsi5zqsIE+67O064ukIOyDiOuhnOyatCDsoJHqt7wg67aI6rCA64qlIOyYpOu4jOygne2KuOydmCDrrLbsnYzsnYQg7ZKJ64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzNgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICLslofsnYAg66y27J2M7J2EIOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzgKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAi7JaV7J2AIOqwgOyguOyYpOq4sOyXkCDsoIHtlantlZwg66y27J2M7J2EIOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDAKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICLtlbTri7ntlZjripQgLmtlZXAg7YyM7J287J20IOyeiOuKlCDrrLbsnYzsnYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MgogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIuustuydjCDslZXstpUg64uo6rOEIgogCiAjIEZJWE1FOiBncmFmdD8KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ0CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgIuu2meyWtCDsnojripQg7Luk67CL7J2EIOyIqOq4sOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ2CiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICLqsIDriqXtlZjrqbQg67mE7Yq466e1IOyduOuNseyKpOulvCDsgqzsmqntlbQg7Jik67iM7KCd7Yq4IOyEuOq4sCDsho3rj4Trpbwg64aS7J6F64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0OAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgIuustuydjCDsnbjrjbHsiqTsmYAg6rCZ7J20IOu5hO2KuOuntSDsnbjrjbHsiqTrpbwg7JSB64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzA3NQogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDqsJzsiJgg7IS464qUIOykkSIKIApAQCAtMTA3MjgsNTYgKzExMDc3LDYwIEBACiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJwcmVjaW91cy1vYmplY3RzIOyggOyepeyGjOyXkOyEnCDsnpjrnbzrgrwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTEgYnVpbHRpbi9wdWxsLmM6NTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjU0IGJ1aWx0aW4vcHVsbC5jOjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiJXPsnZgg6rCS7J20IOyYrOuwlOultOyngCDslYrsirXri4jri6Q6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MworIzogYnVpbHRpbi9wdWxsLmM6NzYKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzzsmLXshZg+XSBbPOyggOyepeyGjD4gWzzroIjtjbzrn7DsiqTrqoXshLg+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMQorIzogYnVpbHRpbi9wdWxsLmM6MTI0Cittc2dpZCAiY29udHJvbCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgIu2VmOychCDrqqjrk4gg7J6s6reA7KCB7Jy866GcIOqwgOyguOyYpOq4sCDrsKnsi53snYQg7KGw7KCV7ZWp64uI64ukIgorCisjOiBidWlsdGluL3B1bGwuYzoxMjgKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAi67OR7ZWpIOq0gOugqCDsmLXshZgiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyNAorIzogYnVpbHRpbi9wdWxsLmM6MTMxCiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICLrs4Dqsr0g7IKs7ZWt7J2EIOyggeyaqe2VoCDrlYwg67OR7ZWp7ZWY64qUIOuMgOyLoCDrpqzrsqDsnbTsiqTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0OCBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoxOSBidWlsdGluL3JldmVydC5jOjEyMQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi7KCV67Cp7ZalIOynhO2WieydhCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9wdWxsLmM6MTY0CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgIuumrOuyoOydtOyKpCDsoITqs7wg7ZuE7JeQIHN0YXNoIOuwjyBzdGFzaCBwb3DsnYQg7J6Q64+Z7Jy866GcIO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL3B1bGwuYzoxODAKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIuqwgOyguOyYpOq4sCDqtIDroKgg7Ji17IWYIgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5OAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi67OR66Cs7KCB7Jy866GcIO2SgOydhCDsi6TtlontlaAg7ZWY7JyE66qo65OIIOqwnOyImCIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mjg0CisjOiBidWlsdGluL3B1bGwuYzoyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgInB1bGwuZmbsl5Ag64yA7ZW0IOyemOuqu+uQnCDqsJI6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozOTcKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5OQogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCiBtc2dzdHIgIuqwgOyguOyYqCDroIjtjbzrn7DsiqQg7KSR7JeQIOumrOuyoOydtOyKpO2VoCDrjIDsg4Eg7ZuE67O06rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM5OQorIzogYnVpbHRpbi9wdWxsLmM6NDAxCiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIuqwgOyguOyYqCDroIjtjbzrn7DsiqQg7KSR7JeQIOuzke2Vqe2VoCDrjIDsg4Eg7ZuE67O06rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQwMAorIzogYnVpbHRpbi9wdWxsLmM6NDAyCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKQEAgLTEwNzg1LDcgKzExMTM4LDcgQEAKICLrs7TthrUg7J2065+wIOqyveyasOuKlCDrpqzrqqjtirgg7Kq97JeQ64qUIOyXhuuKlCDsmYDsnbzrk5zsubTrk5wg66CI7Y2865+w7Iqk66qF7IS46rCAXG4iCiAi7KO87Ja07KGM7J2EIOuVjCDsnbzslrTrgqnri4jri6QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTEwNzk2LDQyICsxMTE0OSw0MiBAQAogIuydtCDrpqzrqqjtirjripQg7ZiE7J6sIOu4jOuenOy5mOyXkCDrjIDtlbQg6riw67O47Jy866GcIOyEpOygleuQnCDrpqzrqqjtirjqsIBcbiIKICLslYTri4jquLAg65WM66y47JeQLCDrqoXroLntlonsl5DshJwg67iM656c7LmY66W8IOyngOygle2VtOyVvCDtlanri4jri6QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MDggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDEwIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKIG1zZ2lkICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guIgogbXNnc3RyICLtmITsnqwg7Ja065akIOu4jOuenOy5mCDsnITsl5Drj4Qg7J6I7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBidWlsdGluL3B1bGwuYzo0MjUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAi7Ja065akIOu4jOuenOy5mOulvCDrjIDsg4HsnLzroZwg66as67Kg7J207Iqk7ZWg7KeAIOyngOygle2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDE0IGJ1aWx0aW4vcHVsbC5jOjQyOSBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICLslrTrlqQg67iM656c7LmY66W8IOuMgOyDgeycvOuhnCDrs5HtlantlaDsp4Ag7KeA7KCV7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEzIGJ1aWx0aW4vcHVsbC5jOjQyOAorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIuyekOyEuO2VnCDsoJXrs7TripQgZ2l0LXB1bGwoMSkg7Y6Y7J207KeA66W8IOywuOqzoO2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MjEgYnVpbHRpbi9wdWxsLmM6NDMwCisjOiBidWlsdGluL3B1bGwuYzo0MTcgYnVpbHRpbi9wdWxsLmM6NDIzIGJ1aWx0aW4vcHVsbC5jOjQzMgogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICI866as66qo7Yq4PiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9wdWxsLmM6NDM3IGdpdC1yZWJhc2Uuc2g6NDU2CiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjzruIzrnpzsuZg+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOyXkCDstpTsoIEg7KCV67O06rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzMiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0MzQgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIuydtCDruIzrnpzsuZjsl5Ag64yA7ZWcIOy2lOyggSDsoJXrs7Trpbwg7ISk7KCV7ZWY66Ck66m0IOuLpOydjOqzvCDqsJnsnbQg7ZWgIOyImCDsnojsirXri4jri6Q6IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBjb25maWd1cmF0aW9uIHNwZWNpZmllcyB0byBtZXJnZSB3aXRoIHRoZSByZWYgJyVzJ1xuIgpAQCAtMTA4NDAsMjcgKzExMTkzLDI3IEBACiAi7ISk7KCV7JeQ7IScIOumrOuqqO2KuOydmCAnJXMnIOugiO2NvOufsOyKpOyZgCDrs5HtlantlZjrj4TroZ0g7KeA7KCV7ZaI7KeA66eMLFxuIgogIuq3uOufsCDroIjtjbzrn7DsiqTrpbwg6rCA7KC47Jik7KeAIOyViuyVmOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjc1NAorIzogYnVpbHRpbi9wdWxsLmM6NzkyCiBtc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgogbXNnc3RyICLrpqzrsqDsnbTsiqTsl5Ag64yA7ZW0IC0tdmVyaWZ5LXNpZ25hdHVyZXMg7Ji17IWY7J2EIOustOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODAxCisjOiBidWlsdGluL3B1bGwuYzo4NDAKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICItLVtuby1dYXV0b3N0YXNoIOyYteyFmOydgCAtLXJlYmFzZSDsmLXshZjqs7wg6rCZ7J20IOyNqOyVvCDtlanri4jri6QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0OAogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIuunjOuTpOyWtOyngOyngCDslYrsnYAg67iM656c7LmY66W8IOyduOuNseyKpOyXkCDstpTqsIDrkJwg67OA6rK9IOyCrO2VreycvOuhnCDsl4XrjbDsnbTtirjtlanri4jri6QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1MQogbXNnaWQgInB1bGwgd2l0aCByZWJhc2UiCiBtc2dzdHIgIuumrOuyoOydtOyKpOuhnCDtkoDtlZjquLAiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgxMworIzogYnVpbHRpbi9wdWxsLmM6ODUyCiBtc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAi7Luk67CL7ZWY6rGw64KYIOyKpO2DnOyLnOyXkCDrhKPsnLzsi63si5zsmKQuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MzgKKyM6IGJ1aWx0aW4vcHVsbC5jOjg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTEwODcxLDcgKzExMjI0LDcgQEAKICLsnpHsl4Ug7Y+0642U66W8ICVzIOy7pOuwi+yXkOyEnCDsoJXrsKntlqVcbiIKICLsp4Ttlontlanri4jri6QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTEwODg4LDI3ICsxMTI0MSwzMSBAQAogIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgogIuuzteq1rOuQqeuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg1OAorIzogYnVpbHRpbi9wdWxsLmM6ODk3CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIuyXrOufrCDruIzrnpzsuZjrpbwg67mIIO2XpOuTnOuhnCDrs5HtlantlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg2MgorIzogYnVpbHRpbi9wdWxsLmM6OTAxCiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAi7Jes65+sIOu4jOuenOy5mOuhnCDrpqzrsqDsnbTsiqTtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2CisjOiBidWlsdGluL3B1bGwuYzo5MDgKK21zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKK21zZ3N0ciAi66Gc7Lus7JeQ7IScIOq4sOuhne2VnCDtlZjsnIQg66qo65OIIOyImOyglSDsgqztla3snYQg7J207Jqp7ZW0IOumrOuyoOydtOyKpO2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBidWlsdGluL3B1c2guYzoxNwogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBbPOyYteyFmD5dIFs87KCA7J6l7IaMPiBbPOugiO2NvOufsOyKpOuqheyEuD4uLi5dXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6ODkKKyM6IGJ1aWx0aW4vcHVzaC5jOjkwCiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICI87YOc6re4PiDsl4bsnbQg7YOc6re4IOykhOyehCIKIAotIzogYnVpbHRpbi9wdXNoLmM6OTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwMAogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSDsmLXshZjsnYAg7J2867CYIOuMgOyDgSDroIjtjbzrn7DsiqQg7J2066aE66eMIOuwm+yKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQzCisjOiBidWlsdGluL3B1c2guYzoxNDQKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgpAQCAtMTA5MTcsNyArMTEyNzQsNyBAQAogIuyWtOuKkCDtlZwg7Kq9IOyYteyFmOunjCDqs4Tsho0g7ISg7YOd7ZWY66Ck66m0LCAnZ2l0IGhlbHAgY29uZmlnJ+yXkOyEnCBwdXNoLmRlZmF1bHTrpbwg7LC46rOgIgogIu2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0NgorIzogYnVpbHRpbi9wdXNoLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTEwOTQyLDcgKzExMjk5LDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgJXNcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTEwOTU3LDcgKzExMzE0LDcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bmFtZS1vZi1yZW1vdGUtYnJhbmNoPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC0xMDk3MSwxMiArMTEzMjgsMTIgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTgzCisjOiBidWlsdGluL3B1c2guYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIu2YhOyerCDruIzrnpzsuZggICVz7JeQIOyXrOufrCDsl4XsiqTtirjrprwg67iM656c7LmY6rCAIOyeiOyKteuLiOuLpC4g7ZG47Iuc66W8IOqxsOygiO2VqeuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4NgorIzogYnVpbHRpbi9wdXNoLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTEwOTg3LDEzICsxMTM0NCwxMyBAQAogIiclcycg67iM656c7LmY7J2YIOyXheyKpO2KuOumvOydtCDslYTri5nri4jri6QuIOyWtOuWpCDrpqzrqqjtirgg67iM656c7LmY7JeQIOustOyXh+ydhFxuIgogIu2RuOyLnO2VoOyngCDshKTsoJXtlZjsp4Ag7JWK7JWY7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjQ1CisjOiBidWlsdGluL3B1c2guYzoyNDYKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogIu2RuOyLnO2VoCDroIjtjbzrn7DsiqTrqoXshLjrpbwg7KeA7KCV7ZWY7KeAIOyViuyVmOqzoCwgcHVzaC5kZWZhdWx0IOqwkuydtCAnbm90aGluZyfsnoXri4jri6QuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCiAiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgpAQCAtMTEwMDYsNyArMTEzNjMsNyBAQAogIuyekOyEuO2VnCDsoJXrs7TripQgJ2dpdCBwdXNoIC0taGVscCfsnZggXCJOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIOu2gOu2hOydhFxuIgogIuywuOqzoO2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1OAorIzogYnVpbHRpbi9wdXNoLmM6MjU5CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC0xMTAxOSw3ICsxMTM3Niw3IEBACiAi7J6Q7IS47ZWcIOygleuztOuKlCAnZ2l0IHB1c2ggLS1oZWxwJ+ydmCBcIk5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycg67aA67aE7J2EXG4iCiAi7LC46rOg7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY0CisjOiBidWlsdGluL3B1c2guYzoyNjUKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgpAQCAtMTEwMzUsMTEgKzExMzkyLDExIEBACiAi7J6Q7IS47ZWcIOygleuztOuKlCAnZ2l0IHB1c2ggLS1oZWxwJ+ydmCBcIk5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycg67aA67aE7J2EXG4iCiAi7LC46rOg7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjcxCisjOiBidWlsdGluL3B1c2guYzoyNzIKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICLrpqzrqqjtirjsl5Ag7YOc6re46rCAIOydtOuvuCDsnojquLAg65WM66y47JeQIOyXheuNsOydtO2KuOqwgCDqsbDrtoDrkJjsl4jsirXri4jri6QuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3NQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTExMDQ5LDIyICsxMTQwNiwyMiBAQAogIuugiO2NvOufsOyKpOulvCDsl4XrjbDsnbTtirjtlZjqsbDrgpgsIOy7pOuwi+ydtCDslYTri4wg7Jik67iM7KCd7Yq466W8IOqwgOumrO2CpOuPhOuhnVxuIgogIuyXheuNsOydtO2KuO2VoCDsiJgg7JeG7Iq164uI64ukLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozMzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIuuLpOydjOyXkCDtkbjsi5w6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMzOAorIzogYnVpbHRpbi9wdXNoLmM6MzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgogbXNnc3RyICLroIjtjbzrn7DsiqTrpbwgJyVzJ+yXkCDtkbjsi5ztlZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzozNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICLsnpjrqrvrkJwg7KCA7J6l7IaMICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MAorIzogYnVpbHRpbi9wdXNoLmM6MzcxCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTEwODUsMTE2ICsxMTQ0MiwxMTYgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPG5hbWU+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6Mzg5CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCDrsI8gLS10YWdzIOyYteyFmOydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzozODkKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MAogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsIOyYteyFmOydgCDroIjtjbzrn7DsiqTrqoXshLjsmYAg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzozOTQKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NQogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3Ig67CPIC0tdGFncyDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk1CisjOiBidWlsdGluL3B1c2guYzozOTYKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLW1pcnJvciDsmLXshZjsnYAg66CI7Y2865+w7Iqk66qF7IS47JmAIOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDAwCisjOiBidWlsdGluL3B1c2guYzo0MDEKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg67CPIC0tbWlycm9yIOyYteyFmOydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMwogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgIuyggOyepeyGjCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1MjQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICLrqqjrk6Ag66CI7Y2865+w7IqkIO2RuOyLnO2VmOq4sCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCisjOiBidWlsdGluL3B1c2guYzo1MjUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgIuuqqOuToCDroIjtjbzrn7DsiqQg66+465+sIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjIKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNwogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICLroIjtjbzrn7DsiqQg7IKt7KCcIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyOAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAi7YOc6re4IO2RuOyLnO2VmOq4sCAoLS1hbGwg65iQ64qUIC0tbWlycm9yIOyYteyFmOqzvCDqsJnsnbQg7JO4IOyImCDsl4bsnYwpIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMSBidWlsdGluL3NlbmQtcGFjay5jOjE2NgogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgIuqwleygnOuhnCDsl4XrjbDsnbTtirgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOCBidWlsdGluL3NlbmQtcGFjay5jOjE3NQorIzogYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgwCiBtc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKIG1zZ3N0ciAi66CI7Y2865+w7Iqk7J2066aEPjo87JiI7IOBIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNCBidWlsdGluL3NlbmQtcGFjay5jOjE4MQogbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgogbXNnc3RyICLroIjtjbzrn7DsiqTsnZgg6rO86rGwIOqwkuydtCDsnbQg6rCS7J207Ja07JW8IO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMyCisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuyerOq3gOyggSDtlZjsnIQg66qo65OIIO2RuOyLnCDrsKnsi53snYQg7ISk7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NAogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgIuyWh+ydgCDrrLbsnYzsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9wdXNoLmM6NTM2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE1OQorIzogYnVpbHRpbi9wdXNoLmM6NTQwIGJ1aWx0aW4vcHVzaC5jOjU0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2MAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAicmVjZWl2ZSBwYWNrIO2UhOuhnOq3uOueqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM3CisjOiBidWlsdGluL3B1c2guYzo1NDIKIG1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKIG1zZ3N0ciAiZ2l0IHB1bGwvc3RhdHVz7JeQIOuMgO2VnCDsl4XsiqTtirjrprzsnYQg7ISk7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NQogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICLroZzsu6zsl5DshJwg7KCc6rGw7ZWcIOugiO2NvOufsOyKpOulvCDsnpjrnbzrg4Xri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MgorIzogYnVpbHRpbi9wdXNoLmM6NTQ3CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgIu2RuOyLnCDsoIQg7ZuE7YGs66W8IOqxtOuEiOucgeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQzCisjOiBidWlsdGluL3B1c2guYzo1NDgKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgIuu5oOyhjOyngOunjCDqtIDroKjrkJwg7YOc6re466W8IO2RuOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NTEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAi7ZG47Iuc7JeQIEdQRyDshJzrqoUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OCBidWlsdGluL3NlbmQtcGFjay5jOjE3MAorIzogYnVpbHRpbi9wdXNoLmM6NTUzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgIuumrOuqqO2KuCDsqr3sl5Ag7JuQ7J6QIO2KuOuenOyereyFmOydhCDsmpTssq3tlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTU0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcxCiBtc2dpZCAic2VydmVyLXNwZWNpZmljIgogbXNnc3RyICLshJzrsoQt7KCE7JqpLeyYteyFmCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NTQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKIG1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCiBtc2dzdHIgIuyghOyGoe2VoCDsmLXshZgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MworIzogYnVpbHRpbi9wdXNoLmM6NTY4CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIi0tZGVsZXRlIOyYteyFmOydgCAtLWFsbCwgLS1taXJyb3IsIC0tdGFncyDsmLXshZjqs7wg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTY1CisjOiBidWlsdGluL3B1c2guYzo1NzAKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKIG1zZ3N0ciAiLS1kZWxldGUg7Ji17IWY7J2AIOugiO2NvOufsOyKpCDsl4bsnbQg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4NAorIzogYnVpbHRpbi9wdXNoLmM6NTg5CiBtc2dpZCAicHVzaCBvcHRpb25zIG11c3Qgbm90IGhhdmUgbmV3IGxpbmUgY2hhcmFjdGVycyIKIG1zZ3N0ciAi7ZG47IucIOyYteyFmOyXkOuKlCDspITrsJTqv4gg66y47J6Q6rCAIOuTpOyWtOqwiCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjQwCiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKQEAgLTExMjA0LDc1ICsxMTU2MSw4NyBAQAogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKICJpbmRleC1vdXRwdXQ9PO2MjOydvD5dICgtLWVtcHR5IHwgPO2KuOumrC3rlLDsnIQ+IFs87Yq466asLeuUsOychDI+IFs87Yq466asLeuUsOychDM+XV0pIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjEKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICLqsrDqs7wg7J24642x7Iqk66W8IDztjIzsnbw+7JeQIOyUgeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CiBtc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCiBtc2dzdHIgIuyduOuNseyKpOulvCDruYTsmrDquLDrp4wg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICLrs5HtlantlZjquLAiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCiBtc2dzdHIgIuydveydgCDri6TsnYwg67OR7ZWp7J2EIOyImO2Wie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgogbXNnc3RyICLtjIzsnbwg64uo7JyEIOuzke2VqeydtCDtlYTsmpTtlZjsp4Ag7JWK7Jy866m0IDMt67Cp7ZalIOuzke2VqeydhCDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgogbXNnaWQgIjMtd2F5IG1lcmdlIGluIHByZXNlbmNlIG9mIGFkZHMgYW5kIHJlbW92ZXMiCiBtc2dzdHIgIuy2lOqwgOyZgCDsoJzqsbDqsIAg7J6I7J2EIOuVjCAzLeuwqe2WpSDrs5HtlansnYQg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKIG1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICItbeqzvCDrj5nsnbztlZjsp4Drp4wsIOuzke2VqeuQmOyngCDslYrsnYAg7ZWt66qp7J2EIOuyhOumveuLiOuLpCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CiBtc2dpZCAiPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICI87ZWY7JyE65SU66CJ7YSw66asPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICLtirjrpqzrpbwgPO2VmOychOuUlOugie2EsOumrD4vIOyVhOuemCDsnbjrjbHsiqTroZwg7J297Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICLsnpHsl4Ug7Y+0642U66W8IOuzke2VqSDqsrDqs7zroZwg7JeF642w7J207Yq47ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKIG1zZ2lkICJnaXRpZ25vcmUiCiBtc2dzdHIgImdpdGlnbm9yZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCiBtc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgogbXNnc3RyICLrrLTsi5ztlZjripQg7YyM7J287J2EIOuNruyWtOyTsOuPhOuhnSDrqoXsi5zsoIHsnLzroZwg7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgIuuzke2VqSDtm4Tsl5Ag7J6R7JeFIO2PtOuNlOulvCDtmZXsnbjtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDYKIG1zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgIuyduOuNseyKpOuCmCDsnpHsl4Ug7Y+0642U66W8IOyXheuNsOydtO2KuO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAogbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKIG1zZ3N0ciAi65Oc66y4IOyytO2BrOyVhOybgyDtlYTthLAg7KCB7Jqp7J2EIOqxtOuEiOucgeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJ1bnBhY2stdHJlZXMg65SU67KE6rmFIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI2CisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6OAorbXNnaWQgImdpdCByZWJhc2UtLWhlbHBlciBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHJlYmFzZS0taGVscGVyIFs87Ji17IWYPl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyMAorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAi66as67Kg7J207IqkIOqzhOyGjSIKKworIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjIyCittc2dpZCAiYWJvcnQgcmViYXNlIgorbXNnc3RyICLrpqzrsqDsnbTsiqTrpbwg7KSR7KeA7ZWp64uI64ukIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI4CiBtc2dpZCAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiBtc2dzdHIgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjc5MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MzgKIG1zZ2lkICIiCiAiQnkgZGVmYXVsdCwgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGluIGEgbm9uLWJhcmUgcmVwb3NpdG9yeVxuIgogImlzIGRlbmllZCwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhlIGluZGV4IGFuZCB3b3JrIHRyZWUgaW5jb25zaXN0ZW50XG4iCkBAIC0xMTI5OSw3ICsxMTY2OCw3IEBACiAi7J20IOuplOyLnOyngOulvCDrs7Tsp4Ag7JWK6rOgIOq4sOuzuCDrj5nsnpHsnYQg6rOE7IaNIO2VmOugpOuptCxcbiIKICIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcg7ISk7KCVIOuzgOyImOulvCAncmVmdXNlJ+uhnCDshKTsoJXtlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgxMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4NTgKIG1zZ2lkICIiCiAiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgogIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCkBAIC0xMTMxOSwyOSArMTE2ODgsMjkgQEAKICJcbiIKICLsnbQg66mU7Iuc7KeA66W8IOuztOyngCDslYrsnLzroKTrqbQsIOydtCDshKTsoJUg67OA7IiY66W8ICdyZWZ1c2Un66GcIOyEpOygle2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg4MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTMzCiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgIuy2nOugpSDslYrquLAiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ3CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgIuuUlOugie2EsOumrOulvCDsp4DsoJXtlbTslbwg7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo0MjMKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIOqwkuydtCAnJXMn7JeQIOuMgO2VtCDsmKzrsJTrpbgg7Iuc6rCBIOqwkuydtCDslYTri5nri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NTQwIGJ1aWx0aW4vcmVmbG9nLmM6NTQ1CisjOiBidWlsdGluL3JlZmxvZy5jOjU0MSBidWlsdGluL3JlZmxvZy5jOjU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiJyVzJ+ydgCjripQpIOyYrOuwlOuluCDsi5zqsIEg6rCS7J20IOyVhOuLmeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMwogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzCisjOiBidWlsdGluL3JlbW90ZS5jOjE0CiBtc2dpZCAiIgogImdpdCByZW1vdGUgYWRkIFstdCA8YnJhbmNoPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLXRhZ3MgfCAtLW5vLXRhZ3NdIFstLSIKICJtaXJyb3I9PGZldGNofHB1c2g+XSA8bmFtZT4gPHVybD4iCkBAIC0xMTM0OSw4MiArMTE3MTgsODIgQEAKICJnaXQgcmVtb3RlIGFkZCBbLXQgPOu4jOuenOy5mD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPOydtOumhD4gPHVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQgYnVpbHRpbi9yZW1vdGUuYzozNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjM1CiBtc2dpZCAiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVuYW1lIDzsmJvsnbTrpoQ+IDzsg4jsnbTrpoQ+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYgYnVpbHRpbi9yZW1vdGUuYzo0MAogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPOydtOumhD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYgYnVpbHRpbi9yZW1vdGUuYzo0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNyBidWlsdGluL3JlbW90ZS5jOjQ1CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA87J2066aEPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPOu4jOuenOy5mD4pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3CisjOiBidWlsdGluL3JlbW90ZS5jOjE4CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPOydtOumhD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPOydtOumhD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cD4gfCA8cmVtb3RlPikuLi5dIgogbXNnc3RyICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDzqt7jro7k+IHwgPOumrOuqqO2KuD4pLi4uXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDzsnbTrpoQ+IDzruIzrnpzsuZg+Li4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIxIGJ1aWx0aW4vcmVtb3RlLmM6NzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjIgYnVpbHRpbi9yZW1vdGUuYzo3MQogbXNnaWQgImdpdCByZW1vdGUgZ2V0LXVybCBbLS1wdXNoXSBbLS1hbGxdIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBnZXQtdXJsIFstLXB1c2hdIFstLWFsbF0gPOydtOumhD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjIgYnVpbHRpbi9yZW1vdGUuYzo3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMyBidWlsdGluL3JlbW90ZS5jOjc2CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxuYW1lPiA8bmV3dXJsPiBbPG9sZHVybD5dIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPOydtOumhD4gPOyDiHVybD4gWzzsmJt1cmw+XSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMyBidWlsdGluL3JlbW90ZS5jOjc2CisjOiBidWlsdGluL3JlbW90ZS5jOjI0IGJ1aWx0aW4vcmVtb3RlLmM6NzcKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPG5hbWU+IDxuZXd1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPOydtOumhD4gPOyDiHVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NworIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc4CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDzsnbTrpoQ+IDx1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjMwCiBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIGFkZCBbPOyYteyFmD5dIDzsnbTrpoQ+IDx1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ5CisjOiBidWlsdGluL3JlbW90ZS5jOjUwCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA87J2066aEPiA867iM656c7LmYPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9yZW1vdGUuYzo1MQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPOydtOumhD4gPOu4jOuenOy5mD4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTYKIG1zZ2lkICJnaXQgcmVtb3RlIHNob3cgWzxvcHRpb25zPl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNob3cgWzzsmLXshZg+XSA87J2066aEPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MQogbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWzxvcHRpb25zPl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHBydW5lIFs87Ji17IWYPl0gPOydtOumhD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYKIG1zZ2lkICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwPiB8IDxyZW1vdGU+XS4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSB1cGRhdGUgWzzsmLXshZg+XSBbPOq3uOujuT4gfCA866as66qo7Yq4Pl0uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMiCiBtc2dzdHIgIiVzIOyXheuNsOydtO2KuCDspJEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNwogbXNnaWQgIiIKICItLW1pcnJvciBpcyBkYW5nZXJvdXMgYW5kIGRlcHJlY2F0ZWQ7IHBsZWFzZVxuIgogIlx0IHVzZSAtLW1pcnJvcj1mZXRjaCBvciAtLW1pcnJvcj1wdXNoIGluc3RlYWQiCkBAIC0xMTQzMiw4NiArMTE4MDEsODYgQEAKICItLW1pcnJvcuuKlCDsnITtl5jtlZjrr4DroZwg7IKs7Jqp7J2EIOq2jO2VmOyngCDslYrsirXri4jri6QuIOuMgOyLoOyXkFxuIgogIlx0IC0tbWlycm9yPWZldGNoIOuYkOuKlCAtLW1pcnJvcj1wdXNo66W8IOyCrOyaqe2VmOyLreyLnOyYpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbWlycm9yIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQgLS1taXJyb3Ig7Ji17IWYIOyduOyekDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5CisjOiBidWlsdGluL3JlbW90ZS5jOjE2MAogbXNnaWQgImZldGNoIHRoZSByZW1vdGUgYnJhbmNoZXMiCiBtc2dzdHIgIuumrOuqqO2KuCDruIzrnpzsuZjrpbwg6rCA7KC47Ji164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIKIG1zZ2lkICJpbXBvcnQgYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyB3aGVuIGZldGNoaW5nIgogbXNnc3RyICLqsIDsoLjsmKwg65WMIOuqqOuToCDtg5zqt7jsmYAg6rSA66CoIOyYpOu4jOygne2KuOulvCDqsIDsoLjsmLXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NQogbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKIG1zZ3N0ciAi7JWE64uI66m0IOyVhOustCDtg5zqt7jrj4Qg6rCA7KC47Jik7KeAIOyViuyKteuLiOuLpCAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY3CiBtc2dpZCAiYnJhbmNoKGVzKSB0byB0cmFjayIKIG1zZ3N0ciAi7LaU7KCB7ZWgIOu4jOuenOy5mCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY4CiBtc2dpZCAibWFzdGVyIGJyYW5jaCIKIG1zZ3N0ciAi66eI7Iqk7YSwIOu4jOuenOy5mCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5CiBtc2dpZCAicHVzaHxmZXRjaCIKIG1zZ3N0ciAicHVzaHxmZXRjaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcwCiBtc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCiBtc2dzdHIgIuumrOuqqO2KuOulvCDtkbjsi5wg65iQ64qUIOqwgOyguOyYrCDrlYwg7IKs7Jqp7ZWgIOuvuOufrOuhnCDshKTsoJXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE4MgogbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCiBtc2dzdHIgIi0tbWlycm9yIOyYteyFmOqzvCDqsJnsnbQg66eI7Iqk7YSwIOu4jOuenOy5mOulvCDsp4DsoJXtlZjrqbQg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjE4NAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgIuuniOyKpO2EsCDruIzrnpzsuZjrpbwg7KeA7KCV7J2AIGZldGNoIOuvuOufrOyXkOyEnOunjCDslZ7rkqTqsIAg66ee7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxOTEgYnVpbHRpbi9yZW1vdGUuYzo2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiJXMg66as66qo7Yq46rCAIOydtOuvuCDsnojsirXri4jri6QuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTUgYnVpbHRpbi9yZW1vdGUuYzo2MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiJyVzJ+ydgCjripQpIOyYrOuwlOuluCDrpqzrqqjtirgg7J2066aE7J20IOyVhOuLmeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCBtYXN0ZXIgJyVzJyIKIG1zZ3N0ciAi66eI7Iqk7YSwICclcyfsnYQo66W8KSDshKTsoJXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzozMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgogbXNnc3RyICIlcyDroIjtjbzrn7DsiqTrqoXshLjsl5Ag64yA7ZWcIOqwgOyguOyYpOq4sCDrp7XsnYQg7Ja77J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM3IGJ1aWx0aW4vcmVtb3RlLmM6NDQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjQzOCBidWlsdGluL3JlbW90ZS5jOjQ0NgogbXNnaWQgIihtYXRjaGluZykiCiBtc2dzdHIgIijsnbzsuZgpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ0OQorIzogYnVpbHRpbi9yZW1vdGUuYzo0NTAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKOyCreygnCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzU3IGJ1aWx0aW4vcmVtb3RlLmM6ODU0CisjOiBidWlsdGluL3JlbW90ZS5jOjYyMyBidWlsdGluL3JlbW90ZS5jOjc1OCBidWlsdGluL3JlbW90ZS5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCiBtc2dzdHIgIuq3uOufsCDrpqzrqqjtirjqsIAg7JeG7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW5hbWUgY29uZmlnIHNlY3Rpb24gJyVzJyB0byAnJXMnIgogbXNnc3RyICLshKTsoJUg7IS57IWY7J2EICclcyfsl5DshJwgJyVzJyjsnLwp66GcIOuwlOq/gCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY1OQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCB1cGRhdGluZyBub24tZGVmYXVsdCBmZXRjaCByZWZzcGVjXG4iCkBAIC0xMTUyMiwxNyArMTE4OTEsMTcgQEAKICJcdCVzXG4iCiAiXHTtlYTsmpTtlZjrqbQg7ISk7KCV7J2EIOyImOuPmeycvOuhnCDsl4XrjbDsnbTtirjtlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5NQorIzogYnVpbHRpbi9yZW1vdGUuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIiclcycg7IKt7KCc6rCAIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICInJXMnIOunjOuTpOq4sOqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCisjOiBidWlsdGluL3JlbW90ZS5jOjc5NQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTE1NDQsMzAzICsxMTkxMywzMDUgQEAKICLri6QuXG4iCiAi7IKt7KCc7ZWY66Ck66m0IOuLpOydjOydhCDsgqzsmqntlZjsi63si5zsmKQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgwNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICLshKTsoJUg7IS57IWYICclcyfsnYQo66W8KSDsoJzqsbDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIOyDiCDtla3rqqkgKOuLpOydjCDqsIDsoLjsmKTquLDripQgcmVtb3Rlcy8lcyDslYTrnpgg7KCA7J6l65Cp64uI64ukKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEzCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiDstpTsoIHrkKgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCisjOiBidWlsdGluL3JlbW90ZS5jOjkxNQogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIg7Jik656Y65CoICjsoJzqsbDtlZjroKTrqbQgJ2dpdCByZW1vdGUgcHJ1bmUn7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNwogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiA/Pz8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CisjOiBidWlsdGluL3JlbW90ZS5jOjk1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgIuyemOuqu+uQnCBicmFuY2guJXMubWVyZ2Ug6rCSLiDsl6zrn6wg6rCcIOu4jOuenOy5mOuhnCDrpqzrsqDsnbTsiqTtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAi66as66qo7Yq4ICVzIOychOuhnCDrjIDtmZTsi53snLzroZwg66as67Kg7J207Iqk7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAi66as66qo7Yq4ICVzIOychOuhnCDrpqzrsqDsnbTsiqTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIg67OR7ZWpOiDrpqzrqqjtirggJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIuuzke2VqTog66as66qo7Yq4ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MworIzogYnVpbHRpbi9yZW1vdGUuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKIG1zZ3N0ciAiJS0qcyAgICDqt7jrpqzqs6Ag66as66qo7Yq4ICVzXG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE5CiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICLrp4zrk6TquLAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIyCiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICLsgq3soJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAi7LWc7IugIOyDge2DnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICLsoJXrsKntlqUg7KeE7ZaJIOqwgOuKpSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzIKIG1zZ2lkICJsb2NhbCBvdXQgb2YgZGF0ZSIKIG1zZ3N0ciAi66Gc7Lus7J20IOuSpOuWqOyWtOynkCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnPsl5DshJwgJS0qcyjsnLwp66GcIOqwleygnCAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qc+yXkOyEnCAlLSpzKOycvCnroZwg7ZG47IucICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnPsl5DshJwgJXMo7Jy8KeuhnCDqsJXsoJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnPsl5DshJwgJXMo7Jy8KeuhnCDtkbjsi5wiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE3CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgIuumrOuqqO2KuOyXkCDsp4jsnZjtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiDrpqzrqqjtirggJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICDqsIDsoLjsmKTquLAgVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NiBidWlsdGluL3JlbW90ZS5jOjExNjIgYnVpbHRpbi9yZW1vdGUuYzoxMzAxCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihVUkwg7JeG7J2MKSIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduIHdpdGgKLSMuIHRoZSBvbmUgaW4gIiAgRmV0Y2ggVVJMOiAlcyIgdHJhbnNsYXRpb24KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExNTYKKyMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbgorIy4gd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKKyMuIHRyYW5zbGF0aW9uLgorIy4KKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgIO2RuOyLnCAgVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NCBidWlsdGluL3JlbW90ZS5jOjExNjYgYnVpbHRpbi9yZW1vdGUuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIEhFQUQg67iM656c7LmYOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQKIG1zZ2lkICIobm90IHF1ZXJpZWQpIgogbXNnc3RyICIo7KeI7J2Y7ZWY7KeAIOyViuydjCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY2CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIo7JWMIOyImCDsl4bsnYwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIEhFQUQg67iM656c7LmYICjrpqzrqqjtirggSEVBROuKlCDslaDrp6TtlZjqs6AsIOuLpOydjCDspJEg7ZWY64KY7J28IOyImCDsnojsirXri4jri6QpOlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIgIOumrOuqqO2KuCDruIzrnpzsuZg6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OSBidWlsdGluL3JlbW90ZS5jOjEyMDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4NSBidWlsdGluL3JlbW90ZS5jOjEyMTEKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAo7IOB7YOc66W8IOyniOydmO2VmOyngCDslYrsnYwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgICdnaXQgcHVsbCfsl5Ag7IKs7Jqp7ZWgIOuhnOy7rCDruIzrnpzsuZjrpbwg7ISk7KCVOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIgIOuhnOy7rCDroIjtjbzrn7DsiqTrpbwgJ2dpdCBwdXNoJ+uhnCDrr7jrn6zrp4HtlaAg7JiI7KCVIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICDroZzsu6wg66CI7Y2865+w7Iqk66W8ICdnaXQgcHVzaCfroZwg66+465+s66eBJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyOQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAi66CI7Y2865+w7IqkL+umrOuqqO2KuC887J2066aEPi9IRUFEIOqwkuydhCDrpqzrqqjtirjsl5Ag66ee6rKMIOyEpOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICLroIjtjbzrn7DsiqQv66as66qo7Yq4LzzsnbTrpoQ+L0hFQUQg6rCS7J2EIOyCreygnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDYKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICLrpqzrqqjtirggSEVBROulvCDqsrDsoJXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDgKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiIgogIuumrOuqqO2KuCBIRUFEIOu4jOuenOy5mOqwgCDsl6zrn6zqsJzsnoXri4jri6QuIOuLpOydjCDspJEg7ZWY64KY66W8IOuqheyLnOyggeycvOuhnCDsp4DsoJXtlZjsi63si5zsmKQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICIlc+ydhCjrpbwpIOyCreygnO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICLsmKzrsJTrpbgg66CI7Y2865+w7Iqk6rCAIOyVhOuLmeuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDshKTsoJXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVz7J2YIOyXsOqysOydtCDrgYrslrTsp5Hri4jri6QhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlc+ydmCDsl7DqsrDsnbQg64GK7Ja07KGM7Iq164uI64ukISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAi7J6Y652864OEOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA4CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW+yemOudvOuCvCDsmIjsoJVdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW+yemOudvOuDhF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM1NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzYyCiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAi6rCA7KC47JioIO2bhOyXkCDrpqzrqqjtirjrpbwg7J6Y652864OF64uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDI1IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OSBidWlsdGluL3JlbW90ZS5jOjE1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAi6re465+wIOumrOuqqO2KuOqwgCDsl4bsirXri4jri6QgKCclcycpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MQogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgIuu4jOuenOy5mOulvCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQ4CiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAi66as66qo7Yq466W8IOyngOygle2VmOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY1CiBtc2dpZCAicXVlcnkgcHVzaCBVUkxzIHJhdGhlciB0aGFuIGZldGNoIFVSTHMiCiBtc2dzdHIgIuqwgOyguOyYpOq4sCBVUkzsnbQg7JWE64uI6528IO2RuOyLnCBVUkzsnYQg7KeI7J2Y7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NwogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAi66qo65OgIFVSTOydhCDrpqzthLTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIiclcycg66as66qo7Yq47JeQIOuMgO2VnCBVUkzsnYQg7ISk7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjEKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAi7ZG47IucIFVSTOydhCDsp4DsoJXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAiVVJM7J2EIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjUKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAiVVJM7J2EIOyCreygnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzIKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tYWRkIC0tZGVsZXRlIOyYteyFmOydhCDrkZjri6Qg7JOw66m0IOyViCDrkKnri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOyYpOuemOyghCBVUkwg7Yyo7YS0OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICLqt7jrn7AgVVJM7J20IOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICLtkbjsi5zsmqnsnbQg7JWE64uMIOuqqOuToCBVUkzsnYQg7IKt7KCc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTcKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICLsnpDshLjtnogg7ZGc7Iuc7ZWp64uI64ukICjtlZjsnIQg66qF66C5IOyVnuyXkCDsmYDslbwg7ZWp64uI64ukKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIyCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg7ZWY7JyEIOuqheuguTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs87Ji17IWYPl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMKIG1zZ2lkICIiCiAiSW5jcmVtZW50YWwgcmVwYWNrcyBhcmUgaW5jb21wYXRpYmxlIHdpdGggYml0bWFwIGluZGV4ZXMuICBVc2VcbiIKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvciBkaXNhYmxlIHRoZSBwYWNrLndyaXRlYml0bWFwcyBjb25maWd1cmF0aW9uLiIKQEAgLTExODQ4LDEyNCArMTIyMTksMTI4IEBACiAi7KCQ7KeE7KCB7J24IHJlcGFja+ydgCDruYTtirjrp7Ug7J24642x7Iqk7JmAIO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QuXG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXjrpbwg7IKs7Jqp7ZWY6rGw64KYIHBhY2sud3JpdGViaXRtYXBzIOyEpOygleydhCDrgYTsi63si5zsmKQuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAi7ZWY64KY7J2YIOustuydjCDslYjsl5Ag66qo65GQIOustuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcwCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAiLWHsmYAg64+Z7J287ZWY6rOgLCDsoJHqt7wg67aI6rCA64qlIOyYpOu4jOygne2KuOulvCDripDsiqjtlZjqsowg67CU6r+J64uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgIuyXrOu2hOydmCDrrLbsnYzsnYQg7KCc6rGw7ZWY6rOgLCBnaXQtcHJ1bmUtcGFja2Vk66W8IOyLpO2Wie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc1CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgImdpdC1wYWNrLW9iamVjdHPsl5AgLS1uby1yZXVzZS1kZWx0YSDsmLXshZjsnYQg64SY6rmB64uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgImdpdC1wYWNrLW9iamVjdHPsl5AgLS1uby1yZXVzZS1vYmplY3Qg7Ji17IWY7J2EIOuEmOq5geuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJnaXQtdXBkYXRlLXNlcnZlci1pbmZv66W8IOyLpO2Wie2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCisjOiBidWlsdGluL3JlcGFjay5jOjE4MgogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJnaXQtcGFjay1vYmplY3Rz7JeQIC0tbG9jYWwg7Ji17IWY7J2EIOuEmOq5geuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICLruYTtirjrp7Ug7J24642x7Iqk66W8IOyUgeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgIuuMgOueteydmOyLnOqwgSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiIgogIi1B7JeQIOy2lOqwgOuhnCwg7KeA7KCV7ZWcIOyLnOqwgeuztOuLpCDsmKTrnpjrkJwg7Jik67iM7KCd7Yq466W8IOuKkOyKqO2VmOqyjCDrp4zrk6Tsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NgorIzogYnVpbHRpbi9yZXBhY2suYzoxODgKIG1zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiLWHsmYAg6rCZ7J20LCDsoJHqt7wg67aI6rCA64qlIOyYpOu4jOygne2KuOulvCDri6Tsi5wg66y27Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4OAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgIuuNuO2DgCDslZXstpXsl5Ag7IKs7Jqp7ZWgIOyciOuPhOyasCDtgazquLAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg5IGJ1aWx0aW4vcmVwYWNrLmM6MTkzCisjOiBidWlsdGluL3JlcGFjay5jOjE5MSBidWlsdGluL3JlcGFjay5jOjE5NwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICLrsJTsnbTtirjsiJgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCisjOiBidWlsdGluL3JlcGFjay5jOjE5MgogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICLsnITsmYAg64+Z7J287ZWY7KeA66eMLCDtla3rqqkg7IiYIOuMgOyLoCDrqZTrqqjrpqwg7YGs6riw66W8IOygnO2VnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICLstZzrjIAg64247YOAIOq5iuydtOulvCDsoJztlZztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CisjOiBidWlsdGluL3JlcGFjay5jOjE5NgorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKK21zZ3N0ciAi7LWc64yAIOyKpOugiOuTnCDsiJjrpbwg7KCc7ZWc7ZWp64uI64ukIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE5OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICLrrLbsnYwg7YyM7J287J2YIOy1nOuMgCDtgazquLAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk2CisjOiBidWlsdGluL3JlcGFjay5jOjIwMAogbXNnaWQgInJlcGFjayBvYmplY3RzIGluIHBhY2tzIG1hcmtlZCB3aXRoIC5rZWVwIgogbXNnc3RyICIua2VlcOycvOuhnCDtkZzsi5zrkJwg66y27J2M7J2YIOyYpOu4jOygne2KuOulvCDri6Tsi5wg66y27Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIwNgorIzogYnVpbHRpbi9yZXBhY2suYzoyMTAKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJwcmVjaW91cy1vYmplY3RzIOyggOyepeyGjOydmCDrrLbsnYzsnYQg7IKt7KCc7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjEwCisjOiBidWlsdGluL3JlcGFjay5jOjIxNAogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIOuwjyAtQSDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzo0MDAgYnVpbHRpbi93b3JrdHJlZS5jOjExNQorIzogYnVpbHRpbi9yZXBhY2suYzo0MDYgYnVpbHRpbi93b3JrdHJlZS5jOjExNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCiBtc2dzdHIgIiclcycg7KCc6rGw7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIwCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDzsmKTruIzsoJ3tirg+IDzrjIDssrTsnbTrpoQ+IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWVkaXQgPOyYpOu4jOygne2KuD4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMgogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1ncmFmdCA8Y29tbWl0PiBbPHBhcmVudD4uLi5dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPOy7pOuwiz4gWzzsg4HsnIQ+Li4uXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzCiBtc2dpZCAiZ2l0IHJlcGxhY2UgLWQgPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCByZXBsYWNlIC1kIDzsmKTruIzsoJ3tirg+Li4uIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjQKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstLWZvcm1hdD087ZiV7IudPl0gWy1sIFs87Yyo7YS0Pl1dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMjUgYnVpbHRpbi9yZXBsYWNlLmM6MzYzIGJ1aWx0aW4vcmVwbGFjZS5jOjM5MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzMxIGJ1aWx0aW4vcmVwbGFjZS5jOjM2OSBidWlsdGluL3JlcGxhY2UuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciCiBtc2dzdHIgIuyYrOuwlOuluCDsmKTruIzsoJ3tirgg7J2066aE7J20IOyVhOuLmeuLiOuLpDogJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzU1CisjOiBidWlsdGluL3JlcGxhY2UuYzozNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICLsu6TrsIsgJyVzJ+yXkCDsnpjrqrvrkJwg67OR7ZWp7YOc6re4IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgIuy7pOuwiyAnJXMn7JeQIOyemOuqu+uQnCDtmJXsi53snZgg67OR7ZWp7YOc6re4IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNjgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib3JpZ2luYWwgY29tbWl0ICclcycgY29udGFpbnMgbWVyZ2V0YWcgJyVzJyB0aGF0IGlzIGRpc2NhcmRlZDsgdXNlIC0tZWRpdCAiCkBAIC0xMTk3NCwyMDQgKzEyMzQ5LDIwNCBAQAogIuuzuOuemCDsu6TrsIsgJyVzJ+yXkCDrsoTroKTsp4Qg67OR7ZWp7YOc6re4ICclcyfsnbQo6rCAKSDrk6TslrQg7J6I7Iq164uI64ukLiAtLWdyYWZ0IOuMgOyLoCAtLSIKICJlZGl0IOyYteyFmOydhCDsgqzsmqntlZjsi63si5zsmKQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBvcmlnaW5hbCBjb21taXQgJyVzJyBoYXMgYSBncGcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAi67O4656YIOy7pOuwiyAnJXMn7JeQIEdQRyDshJzrqoXsnbQg7J6I7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDgKIG1zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKIG1zZ3N0ciAi64yA7LK0IOy7pOuwi+yXkOyEnCDshJzrqoXsnYQg7KCc6rGw7ZWp64uI64ukISIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCiBtc2dzdHIgIuuLpOydjOyXkCDrjIDtlZwg64yA7LK0IOy7pOuwi+ydhCDsk7gg7IiYIOyXhuyKteuLiOuLpDogJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAi64yA7LK0IOugiO2NvOufsOyKpCDrqqnroZ3snYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOQogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgIuuMgOyytCDroIjtjbzrn7DsiqTrpbwg7IKt7KCc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MAogbXNnaWQgImVkaXQgZXhpc3Rpbmcgb2JqZWN0IgogbXNnc3RyICLtmITsnqwg7Jik67iM7KCd7Yq466W8IO2OuOynke2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM1CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDEKIG1zZ2lkICJjaGFuZ2UgYSBjb21taXQncyBwYXJlbnRzIgogbXNnc3RyICLsu6TrsIvsnZgg7IOB7JyEIO2VreuqqeydhCDrsJTqv4nri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQyCiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAi66CI7Y2865+w7Iqk6rCAIOyeiOycvOuptCDrjIDssrTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQzCiBtc2dpZCAiZG8gbm90IHByZXR0eS1wcmludCBjb250ZW50cyBmb3IgLS1lZGl0IgogbXNnc3RyICItLWVkaXTsl5Ag64yA7ZWcIOuCtOyaqeydhCDsmIjsgZjqsowg7ZGc7Iuc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQKIG1zZ2lkICJ1c2UgdGhpcyBmb3JtYXQiCiBtc2dzdHIgIuydtCDtmJXsi53snYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjEyCisjOiBidWlsdGluL3JlcmVyZS5jOjEzCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPHBhdGg+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPOqyveuhnD4uLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjU4CisjOiBidWlsdGluL3JlcmVyZS5jOjU5CiBtc2dpZCAicmVnaXN0ZXIgY2xlYW4gcmVzb2x1dGlvbnMgaW4gaW5kZXgiCiBtc2dzdHIgIuyduOuNseyKpOyXkCDquZTrgZTtlZwg7ZW06rKw7J2EIOuTseuhne2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI2CisjOiBidWlsdGluL3Jlc2V0LmM6MjkKIG1zZ2lkICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs87Luk67CLPl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNworIzogYnVpbHRpbi9yZXNldC5jOjMwCiBtc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzztirjrpqwt65Sw7JyEPl0gWy0tXSA86rK966GcPi4uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4CisjOiBidWlsdGluL3Jlc2V0LmM6MzEKIG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCiBtc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs87Yq466asLeuUsOychD5dIFstLV0gWzzqsr3roZw+Li4uXSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAi7Zi87ZWpIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgInNvZnQiCiBtc2dzdHIgIuyGjO2UhO2KuCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJoYXJkIgogbXNnc3RyICLtlZjrk5wiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgIuuzke2VqSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJrZWVwIgogbXNnc3RyICLsnKDsp4AiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NAorIzogYnVpbHRpbi9yZXNldC5jOjc3CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCiBtc2dzdHIgIuyYrOuwlOuluCBIRUFE6rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NgorIzogYnVpbHRpbi9yZXNldC5jOjc5CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiBIRUFELiIKIG1zZ3N0ciAiSEVBROydmCDtirjrpqzrpbwg7LC+64qU642wIOyLpO2MqO2WiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MgorIzogYnVpbHRpbi9yZXNldC5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICIlc+ydmCDtirjrpqzrpbwg7LC+64qU642wIOyLpO2MqO2WiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxMDAKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCiBtc2dzdHIgIkhFQUTsnZgg7ZiE7J6sIOychOy5mOuKlCAlc+yeheuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE4MworIzogYnVpbHRpbi9yZXNldC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICLrs5Htlakg7KSR7JeQICVzIOumrOyFi+ydhCDtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODYKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICLqsITrnrXtnogg7ZGc7IucLCDsmKTrpZjrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc4CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg4CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgIkhFQUTsmYAg7J24642x7Iqk66W8IOumrOyFi+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OQorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAiSEVBROunjCDrpqzshYvtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODEgYnVpbHRpbi9yZXNldC5jOjI4MworIzogYnVpbHRpbi9yZXNldC5jOjI5MSBidWlsdGluL3Jlc2V0LmM6MjkzCiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiSEVBRCwg7J24642x7IqkLCDsnpHsl4Xtj7TrjZTrpbwg66as7IWL7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg1CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk1CiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICJIRUFE66W8IOumrOyFi+2VmOyngOunjCDroZzsu6wg67OA6rK9IOyCrO2VreydhCDrgqjqsqjrkaHri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODgKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDEKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAi7KCc6rGw7ZWcIOqyveuhnOulvCDrgpjspJHsl5Ag7LaU6rCA7ZWc64uk64qUIOyCrOyLpOunjCDquLDroZ3tlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOyYrOuwlOuluCDrpqzruYTsoITsnLzroZwg7LC+64qU642wIOyLpO2MqO2WiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgogbXNnc3RyICInJXMn7J2EKOulvCkg7Jis67CU66W4IO2KuOumrOuhnCDssL7ripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyMgorIzogYnVpbHRpbi9yZXNldC5jOjMzNwogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCDsmLXshZjsnYAgLS17aGFyZCxtaXhlZCxzb2Z0fSDsmLXshZjqs7wg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMQorIzogYnVpbHRpbi9yZXNldC5jOjM0NgogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tbWl4ZWQg7Ji17IWY7J2EIOqyveuhnOyZgCDqsJnsnbQg7JOw6riw64qUIOygnOqxsOuQoCDsmIjsoJXsnoXri4jri6QuIOuMgOyLoOyXkCAnZ2l0IHJlc2V0IC0tIDzqsr0iCiAi66GcPifrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMworIzogYnVpbHRpbi9yZXNldC5jOjM0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgIuqyveuhnOyZgCDqsJnsnbQgJXMg66as7IWL7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MworIzogYnVpbHRpbi9yZXNldC5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXMg66as7IWL7J2AIOqwhOuete2VnCDsoIDsnqXshozsl5DshJzrp4wg7JO4IOyImCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNjIKIG1zZ2lkICItTiBjYW4gb25seSBiZSB1c2VkIHdpdGggLS1taXhlZCIKIG1zZ3N0ciAiLU4g7Ji17IWY7J2AIC0tbWl4ZWQg7Ji17IWY6rO8IOqwmeydtCDsjajslbzrp4wg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzY0CisjOiBidWlsdGluL3Jlc2V0LmM6Mzc5CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCiBtc2dzdHIgIuumrOyFiyDrkqTsl5Ag7Iqk7YWM7J207KeV7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWtOiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3MAorIzogYnVpbHRpbi9yZXNldC5jOjM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAi7J24642x7IqkIO2MjOydvOydhCAnJXMnIOumrOu5hOyghOycvOuhnCDrpqzshYvtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODkKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICLsg4gg7J24642x7IqkIO2MjOydvOydhCDsk7gg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTQKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTgKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgInJldi1saXN064qUIOuFuO2KuCDtkZzsi5zrpbwg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTEKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk0CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzzsmLXshZg+XSAtLSBbPOyduOyekD4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTkKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgIuyduOyekOuhnCDrhJjquLQgYC0tYOulvCDsnKDsp4Dtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMQogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAi7LKr67KI7Ke4IOyYteyFmOydtCDslYTri4wg7J247J6QIOuSpOyXkCDtjIzsi7HsnYQg7KSR7KeA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDQKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICJzdHVjayBsb25nIO2YleyLneycvOuhnCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTMyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzNQogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEyMTg3LDkyICsxMjU2Miw5NiBAQAogIlwi66W8XG4iCiAi7Iuk7ZaJ7ZW0IOuztOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMKIG1zZ2lkICJnaXQgcmV2ZXJ0IFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJldmVydCBbPOyYteyFmD5dIDzsu6TrsIst65Sw7JyEPi4uLiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMworIzogYnVpbHRpbi9yZXZlcnQuYzoyNAogbXNnaWQgImdpdCByZXZlcnQgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgcmV2ZXJ0IDztlZjsnITrqoXroLk+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjI4CisjOiBidWlsdGluL3JldmVydC5jOjI5CiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIFs87Ji17IWYPl0gPOy7pOuwiy3rlLDsnIQ+Li4uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjI5CisjOiBidWlsdGluL3JldmVydC5jOjMwCiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDztlZjsnITrqoXroLk+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjcxCisjOiBidWlsdGluL3JldmVydC5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlczogJXPsnYAo64qUKSAlc+yZgCjqs7wpIOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MAorIzogYnVpbHRpbi9yZXZlcnQuYzo5OQogbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIuuQmOuPjOumrOq4sCDrmJDripQg7Luk67CLIOu5vOyYpOq4sCDsl7Dsho3snYQg64Gd64OF64uI64ukIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgxCisjOiBidWlsdGluL3JldmVydC5jOjEwMAogbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIuuQmOuPjOumrOq4sCDrmJDripQg7Luk67CLIOu5vOyYpOq4sCDsl7Dsho3snYQg6rOE7IaN7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgyCisjOiBidWlsdGluL3JldmVydC5jOjEwMQogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIuuQmOuPjOumrOq4sCDrmJDripQg7Luk67CLIOu5vOyYpOq4sCDsl7Dsho3snYQg7Leo7IaM7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgzCisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgogbXNnc3RyICLsnpDrj5nsnLzroZwg7Luk67CL7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4NAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAi7Luk67CLIOuplOyLnOyngOulvCDtjrjsp5Htlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKLW1zZ2lkICJwYXJlbnQgbnVtYmVyIgotbXNnc3RyICLsnbTsoIQg7Luk67CLIOuyiO2YuCIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2Cittc2dpZCAicGFyZW50LW51bWJlciIKK21zZ3N0ciAi7J207KCELey7pOuwiy3rsojtmLgiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3Cittc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKK21zZ3N0ciAi7J207KCEIOy7pOuwiyDspJEg66mU7J2465287J24IOyEoO2DnSIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi67OR7ZWpIOyghOuetSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgIuyYteyFmCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTEKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLrs5Htlakg7KCE6561IOyYteyFmCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICLsu6TrsIsg7J2066aE7J2EIOuSpOyXkCDrtpnsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCisjOiBidWlsdGluL3JldmVydC5jOjEyMgogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICLstZzstIgg67mIIOy7pOuwi+ydhCDsnKDsp4Dtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEyMwogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAi67mIIOuplOyLnOyngOuhnCDsu6TrsIvsnYQg7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjQKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAi7Jes67aE7J2YIOu5iCDsu6TrsIvsnYQg7Jyg7KeA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JldmVydC5jOjE5MgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICLrkJjrj4zrpqzquLAg7Iuk7YyoIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIwNQorIzogYnVpbHRpbi9yZXZlcnQuYzoyMjUKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCiBtc2dzdHIgImNoZXJyeS1waWNrIOyLpO2MqCIKIAotIzogYnVpbHRpbi9ybS5jOjE3CisjOiBidWlsdGluL3JtLmM6MTgKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbPOyYteyFmD5dIFstLV0gPO2MjOydvD4uLi4iCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMDUKKyM6IGJ1aWx0aW4vcm0uYzoyMDYKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgogImZpbGUgYW5kIHRoZSBIRUFEOiIKQEAgLTEyMjgzLDcgKzEyNjYyLDcgQEAKICLri6TsnYwg7YyM7J287JeQIO2MjOydvOqzvCBIRUFEIOuqqOuRkCDri6Trpbgg7Iqk7YWM7J207KeV7ZWcIOuCtOyaqeydtFxuIgogIuyeiOyKteuLiOuLpDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTAKKyM6IGJ1aWx0aW4vcm0uYzoyMTEKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTEyMjkxLDEyICsxMjY3MCwxMiBAQAogIlxuIgogIijqsJXsoJzroZwg7KCc6rGw7ZWY66Ck66m0IC1mIOyYteyFmOydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiBidWlsdGluL3JtLmM6MjE0CisjOiBidWlsdGluL3JtLmM6MjE1CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAi64uk7J2MIO2MjOydvOydtCDsnbjrjbHsiqTsl5Ag7Iqk7YWM7J207KeV7ZWcIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukOiIKIAotIzogYnVpbHRpbi9ybS5jOjIxOCBidWlsdGluL3JtLmM6MjI3CisjOiBidWlsdGluL3JtLmM6MjE5IGJ1aWx0aW4vcm0uYzoyMjgKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTEyMzA0LDI4ICsxMjY4MywyOCBAQAogIlxuIgogIijtjIzsnbzsnYQg7Jyg7KeA7ZWY66Ck66m0IC0tY2FjaGVkIOyYteyFmCwg6rCV7KCc66GcIOygnOqxsO2VmOugpOuptCAtZiDsmLXshZjsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNAorIzogYnVpbHRpbi9ybS5jOjIyNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAi64uk7J2MIO2MjOydvOyXkCDroZzsu6wg7IiY7KCVIOyCrO2VreydtCDsnojsirXri4jri6Q6IgogCi0jOiBidWlsdGluL3JtLmM6MjQyCisjOiBidWlsdGluL3JtLmM6MjQzCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAi7KCc6rGw7ZWcIO2MjOydvCDrqqnroZ3snYQg7ZGc7Iuc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ybS5jOjI0MworIzogYnVpbHRpbi9ybS5jOjI0NAogbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICLsnbjrjbHsiqTsl5DshJzrp4wg7KCc6rGw7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JtLmM6MjQ0CisjOiBidWlsdGluL3JtLmM6MjQ1CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIuy1nOyLoCDrsoTsoIQg7ZmV7J247J2EIO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDUKKyM6IGJ1aWx0aW4vcm0uYzoyNDYKIG1zZ2lkICJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIKIG1zZ3N0ciAi7J6s6reA7KCBIOygnOqxsOulvCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDcKKyM6IGJ1aWx0aW4vcm0uYzoyNDgKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAi7JWE66y0IOqyg+uPhCDsnbzsuZjtlZjsp4Ag7JWK7Jy866m0IOyDge2DnCAw67KI7Jy866GcIOuBneuCqeuLiOuLpCIKIApAQCAtMTIzNDQsNyArMTI3MjMsNyBAQAogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE4CisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE5CiBtc2dpZCAiIgogImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC0iCiAicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPGhvc3Q+Ol08ZGlyZWN0b3J5PiAiCkBAIC0xMjM1NiwyMyArMTI3MzUsMjMgQEAKICLsiqQ+Li4uXVxuIgogIiAgLS1hbGwg7Ji17IWY6rO8IOuqheyLnOyggeyduCA866CI7Y2865+w7IqkPiDrqoXshLgg7KSRIO2VmOuCmOunjCDsgqzsmqntlaAg7IiYIOyeiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYwCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgogbXNnaWQgInJlbW90ZSBuYW1lIgogbXNnc3RyICLrpqzrqqjtirgg7J2066aEIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MQorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKIG1zZ2lkICJ1c2Ugc3RhdGVsZXNzIFJQQyBwcm90b2NvbCIKIG1zZ3N0ciAi7IOB7YOcIOyXhuuKlCBSUEMg7ZSE66Gc7Yag7L2c7J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc3CiBtc2dpZCAicmVhZCByZWZzIGZyb20gc3RkaW4iCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg66CI7Y2865+w7Iqk66W8IOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc4CiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAi66as66qo7Yq4IOuPhOybgCDtlITroZzqt7jrnqjsnZgg7IOB7YOc66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjEzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTQKIG1zZ2lkICJnaXQgc2hvcnRsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHNob3J0bG9nIFs87Ji17IWYPl0gWzzrpqzruYTsoIQt67KU7JyEPl0gW1stLV0gWzzqsr3roZw+Li4uXV0iCiAKQEAgLTEyNDAwLDcgKzEyNzc5LDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIuykhOuwlOq/iCDstpzroKUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LWJyYW5jaCBbLWEgfCAtLWFsbF0gWy1yIHwgLS1yZW1vdGVzXSBbLS10b3BvLW9yZGVyIHwgLS1kYXRlLW9yZGVyXVxuIgogIlx0XHRbLS1jdXJyZW50XSBbLS1jb2xvcls9PHdoZW4+XSB8IC0tbm8tY29sb3JdIFstLXNwYXJzZV1cbiIKQEAgLTEyNDEyLDEyMyArMTI3OTEsMTIzIEBACiAiXHRcdFstLW1vcmU9PG4+IHwgLS1saXN0IHwgLS1pbmRlcGVuZGVudCB8IC0tbWVyZ2UtYmFzZV1cbiIKICJcdFx0Wy0tbm8tbmFtZSB8IC0tc2hhMS1uYW1lXSBbLS10b3BpY3NdIFsoPOumrOu5hOyghD4gfCA8Z2xvYj4pLi4uXSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjE0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTYKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPOuyoOydtOyKpD5dXSBbLS1saXN0XSBbPOugiO2NvOufsOyKpD5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCiBtc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgogbXNnc3RyWzBdICIlcyDrrLTsi5wuIOugiO2NvOufsOyKpOulvCAlZOqwnOuztOuLpCDrp47snbQg7LKY66as7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgogbXNnc3RyICIlc+yZgCjqs7wpIOydvOy5mO2VmOuKlCDroIjtjbzrn7DsiqTqsIAg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI2CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICLrpqzrqqjtirgg7LaU7KCBIOuwjyDroZzsu6wg67iM656c7LmY66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYyOAogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLrpqzrqqjtirgg7LaU7KCBIOu4jOuenOy5mOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzAKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICLruIzrnpzsuZjsl5Ag65Sw66W4ICcqISstJyDtkZzsi5zsl5Ag7IOJ7J2EIOyehe2emeuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMgogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICLqs7XthrUg7J207KCEIOy7pOuwiyDrkqTsnZggPG4+6rCc7J2YIOy7pOuwi+ydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzQKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgIi0tbW9yZT0tMSDsmLXshZjqs7wg64+Z7J28IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM1CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgIuydtOumhCDrrLjsnpDsl7TsnYQg7ZGc7Iuc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNwogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLtmITsnqwg67iM656c7LmY66W8IO2PrO2VqCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAi7Luk67CL7J2YIOydtOumhOydhCDqt7gg7Jik67iM7KCd7Yq4IOydtOumhOycvOuhnCDrtpnsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICLqsIDriqXtlZwg67OR7ZWpIOq4sOykgOygkOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICLri6Trpbgg7Ja065akIOugiO2NvOufsOyKpOyXkOyEnOuPhCDsoJHqt7wg67aI6rCA64ql7ZWcIOugiO2NvOufsOyKpOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIuychOyDgSDsiJzshJzsl5Ag65Sw6528IOy7pOuwi+ydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAi7LKrIOu4jOuenOy5mOyXkCDsl4bripQg7Luk67CL66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAi7ZWY64KY7J2YIOuBneyXkOyEnOunjCDsoJHqt7wg6rCA64ql7ZWcIOuzke2VqeydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgIuqwgOuKpe2VmOuptCDsi5zqsIQg7Iic7ISc66W8IOycoOyngO2VmOuptOyEnCDsnITsg4Eg7Iic7ISc66GcIOygleugrCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw867Kg7J207IqkPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAi6riw7KSA67aA7YSwIOyLnOyeke2VtCDstZzrjIAgPG4+6rCc7J2YIOy1nOq3vCByZWYtbG9nIO2VreuqqeydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2OTAKIG1zZ2lkICIiCiAiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCiBtc2dzdHIgIiIKICItLXJlZmxvZyDsmLXshZjsnYAgLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCwgLS1tZXJnZS1iYXNlIOyYteyFmOqzvCDtmLjtmZjrkJgiCiAi7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxNAogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgIuu4jOuenOy5mOulvCDsp4DsoJXtlZjsp4Ag7JWK7JWY6rOgLCBIRUFE6rCAIOyYrOuwlOultOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTcKIG1zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXJlZmxvZyDsmLXshZjsnYAg67iM656c7LmYIOydtOumhOydtCDtlYTsmpTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ3N0clswXSAi7ZWcIOuyiOyXkCAlZOqwnCDtla3rqqnrp4wg7ZGc7Iuc7ZWgIOyImCDsnojsirXri4jri6QuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgogbXNnc3RyICLqt7jrn7Ag66CI7Y2865+w7Iqk6rCAIOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCiBtc2dzdHJbMF0gIuugiO2NvOufsOyKpOulvCAlZOqwnOuztOuLpCDrp47snbQg7LKY66as7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiJyVzJ+ydgCjripQpIOyYrOuwlOuluCDroIjtjbzrn7DsiqTqsIAg7JWE64uZ64uI64ukLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKIG1zZ3N0ciAiJXMg7Luk67CL7J2EIOywvuydhCDsiJgg7JeG7J2MICglcykiCkBAIC0xMjU3NywxMjMgKzEyOTU2LDEzMSBAQAogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuuhnOy7rCDsoIDsnqXshozsl5Ag7JeG64qUIOugiO2NvOufsOyKpOulvCDtkZzspIAg7J6F66Cl7JeQ7IScIOydveyWtCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE3CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE5CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzUKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM2CiBtc2dpZCAic2tpcCBhbmQgcmVtb3ZlIGFsbCBsaW5lcyBzdGFydGluZyB3aXRoIGNvbW1lbnQgY2hhcmFjdGVyIgogbXNnc3RyICLso7zshJ0g66y47J6Q66GcIOyLnOyeke2VmOuKlCDrqqjrk6Ag7KSE7J2EIOqxtOuEiOubsOqzoCDsoJzqsbDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM4CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOQogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAi6rCBIOykhOydmCDslZ7sl5Ag7KO87ISdIOusuOyekOyZgCDqs7XrsLHsnYQg67aZ7J6F64uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIuq3uOufsCDroIjtjbzrn7DsiqTqsIAg7JeG7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICLsoITssrQg66CI7Y2865+w7IqkIOydtOumhOydtCDtlYTsmpTtlZjsp4Drp4wsIOyeheugpeydgCAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICInJXMnIFVSTCDtlZjrgpjsnZgg64uo6rOE66W8IOyemOudvOuCvCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMDUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMAogbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCiBtc2dzdHIgIuyDgeuMgCDqsr3roZzsl5Ag7IKs7Jqp7ZWgIOuYkOuLpOuluCDquLDspIAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMTAKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTzqsr3roZw+XSBbPOqyveuhnD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzMzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIi5naXRtb2R1bGVz7JeQ7IScIO2VmOychCDrqqjrk4gg6rK966GcICclcyfsl5Ag64yA7ZWcIFVSTOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBsb29rdXAgY29uZmlndXJhdGlvbiAnJXMnLiBBc3N1bWluZyB0aGlzIHJlcG9zaXRvcnkgaXMgaXRzIG93biAiCisiYXV0aG9yaXRhdGl2ZSB1cHN0cmVhbS4iCittc2dzdHIgIiIKKyInJXMnIOyEpOygleydhCDssL7slYTrs7wg7IiYIOyXhuyKteuLiOuLpC4g7J20IOyggOyepeyGjOqwgCDsnpDssrQg7JeF7Iqk7Yq466a87J2065286rOgIOqwgOygle2VqeuLiOuLpC4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyVzJ+yXkCDrjIDtlZwgVVJM7J2EIOuTseuhne2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiJyUzJHMnIOqyveuhnOyXkCDrjIDtlbQgJyUxJHMnICglMiRzKSDtlZjsnIQg66qo65OIIOuTseuhnVxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICLqsr3qs6A6ICclcycg7ZWY7JyEIOuqqOuTiOyXkCDrjIDtlbQg7Luk66eo65OcIOyXheuNsOydtO2KuCDrqqjrk5zqsIAg7KCc7JWI65CY7JeI7Iq164uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICInJXMnIO2VmOychCDrqqjrk4jsl5Ag64yA7ZW0IOyXheuNsOydtO2KuCDrqqjrk5wg65Ox66Gd7J20IOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MwogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOy0iOq4sO2ZlOyXkCDstpzroKXsnYQg7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPOqyveuhnD5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDc2CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA86rK966GcPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLqsr3roZwgJyVzJ+yXkCDrjIDtlbQgLmdpdG1vZHVsZXPsl5Ag7J6I64qUIO2VmOychOuqqOuTiCDrp6TtlZHsnbQg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCiBtc2dzdHIgIiclcycg7ZWY7JyEIOuqqOuTiOyXkCDrs7TsobAg7Jik67iM7KCd7Yq466W8IOy2lOqwgO2VoCDsiJgg7JeG7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3nsl5Ag64yA7ZWcIOqwkuydtCgnJXMnKSDslYwg7IiYIOyXhuuKlCDqsJLsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb27sl5Ag64yA7ZWcIOqwkuydtCgnJXMnKSDslYwg7IiYIOyXhuuKlCDqsJLsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAi7IOIIO2VmOychCDrqqjrk4jsnYQg67O17KCc7ZWgIOuMgOyDgSDsnITsuZgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICLsg4gg7ZWY7JyEIOuqqOuTiCDsnbTrpoQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICLtlZjsnIQg66qo65OI7J2EIOuzteygnO2VtCDsmKwgVVJMIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICLslpXsnYAg67O17KCc7JeQIOyCrOyaqe2VoCDquYrsnbQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkzCiBtc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAi67O17KCcIOynhO2WiSDsg4HtmansnYQg7ZWt7IOBIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKQEAgLTEyNzAxLDkyICsxMzA4OCw4MiBAQAogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9POqyveuhnD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgPOyggOyepeyGjCIKICI+XSBbLS1uYW1lIDzsnbTrpoQ+XSBbLS1kZXB0aCA86rmK7J20Pl0gLS11cmwgPHVybD4gLS1wYXRoIDzqsr3roZw+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCDtlZjsnIQg66qo65OIIOqyveuhnCAnJXMn7JeQIOuzteygnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgotbXNnc3RyICInJXMnIO2MjOydvOydhCDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIKLW1zZ3N0ciAiJXMg7YyM7J287J2EIOuLq+ydhCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDrjIDtlZwg7ZWY7JyEIOuqqOuTiCDrlJTroInthLDrpqzrpbwg6rCA7KC47JisIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIiclcycg7ZWY7JyEIOuqqOuTiCDqsr3roZzqsIAg7LSI6riw7ZmU65CY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc0NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICIndXBkYXRlIC0taW5pdCfsnYQg7ZWY66Ck6rOgIO2VnCDqsoMg7JWE64uI7JeI7Iq164uI6rmMPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDtlZjsnIQg66qo65OIICVzIOqxtOuEiOucgCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCAnJXMnIOqxtOuEiOucgCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICInJXMnIOuzteygnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIOyerOyLnOuPhCDsmIjsoJUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCiBtc2dzdHIgIuuRkOuyiOynuCAnJXMnIOuzteygnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIOykkeyngO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MgogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLsnpHsl4Ug7Y+0642U66GcIOqwgOuKlCDqsr3roZwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzcKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlOuhnCDqsIDripQg6rK966GcLCDrgrTsnqXrkJwg7ZWY7JyEIOuqqOuTiOydmCDqsr3qs4Qg7Ya16rO8IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgxCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQg65iQ64qUIG5vbmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIuyngOygle2VnCDqsJzsiJjsnZgg66as67mE7KCE7JeQ7IScIOyemOumsCDslpXsnYAg67O17KCc66W8IOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4OAogbXNnaWQgInBhcmFsbGVsIGpvYnMiCiBtc2dzdHIgIuuzkeugrCDsnpHsl4Ug6rCc7IiYIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkwCiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICLstZzstIgg67O17KCc6rCAIOyWleydgCDrs7XsoJwg7LaU7LKc7J2EIOuUsOulvOyngCDsl6zrtoAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTEKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLrs7XsoJwg6rO87KCV7J2EIO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD086rK966GcPl0gWzzqsr3roZw+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDgKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgIu2MjOudvOuvuO2EsCDsl4XrjbDsnbTtirjsl5Ag6rCS7J20IOyemOuqu+uQmOyXiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKQEAgLTEyNzk1LDU3ICsxMzE3Miw1MyBAQAogIu2VmOychCDrqqjrk4ggKCVzKSDruIzrnpzsuZjqsIAg7IOB7JyEIO2UhOuhnOygne2KuCDruIzrnpzsuZjrpbwg7J207Ja067Cb64+E66GdIOyEpOygleuQmOyXiOyngOunjCwg7IOB7JyEICIKICLtlITroZzsoJ3tirjsl5Ag67iM656c7LmY6rCAIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYzCiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIu2VmOychCDrqqjrk4jsl5Ag7J6s6reA7KCB7Jy866GcIOyggeyaqSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTY5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs86rK966GcPi4uLl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU3Ci1tc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKLW1zZ3N0ciAic3VibW9kdWxlLS1oZWxwZXIg7ZWY7JyEIOuqheugueydgCDtlZjsnIQg66qF66C57Jy866GcIO2YuOy2nO2VtOyVvCDtlanri4jri6QiCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTY0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiCiBtc2dzdHIgIiVz7JeQ7IScIC0tc3VwZXItcHJlZml4IOyYteyFmOydhCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE3MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgogbXNnc3RyICInJXMn7J2AKOuKlCkg7Jis67CU66W4IHN1Ym1vZHVsZS0taGVscGVyIO2VmOychCDrqoXroLnsnbQg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjcKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gPG5hbWU+IFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgWzzsmLXshZg+XSA87J2066aEPiBbPOugiO2NvOufsOyKpD5dIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OQogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgLWQgWy1xXSA8bmFtZT4iCiBtc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgLWQgWy1xXSA87J2066aEPiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MQogbXNnaWQgInN1cHByZXNzIGVycm9yIG1lc3NhZ2UgZm9yIG5vbi1zeW1ib2xpYyAoZGV0YWNoZWQpIHJlZnMiCiBtc2dzdHIgIuyLrOuzvOydtCDslYTri4wgKOu2hOumrOuQnCkg66CI7Y2865+w7Iqk7JeQIOuMgO2VtCDsl5Drn6wg66mU7Iuc7KeA66W8IO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKIG1zZ2lkICJkZWxldGUgc3ltYm9saWMgcmVmIgogbXNnc3RyICLsi6zrs7zrpq0g66CI7Y2865+w7Iqk66W8IOyCreygnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MgorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MwogbXNnaWQgInNob3J0ZW4gcmVmIG91dHB1dCIKIG1zZ3N0ciAi66CI7Y2865+w7IqkIOy2nOugpeydhCDspITsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQ0IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MwogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAi7J207JygIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MgorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0NCBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAi7JeF642w7J207Yq47J2YIOydtOycoCIKIAotIzogYnVpbHRpbi90YWcuYzoyMworIzogYnVpbHRpbi90YWcuYzoyNAogbXNnaWQgIiIKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gIgogIls8aGVhZD5dIgpAQCAtMTI4NTMsMzggKzEzMjI2LDM1IEBACiAiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDztgqQtSUQ+XSBbLWZdIFstbSA866mU7Iuc7KeAPiB8IC1GIDztjIzsnbw+XSA87YOc6re47J2066aEPlxuIgogIlx0XHRbPO2XpOuTnD5dIgogCi0jOiBidWlsdGluL3RhZy5jOjI0CisjOiBidWlsdGluL3RhZy5jOjI1CiBtc2dpZCAiZ2l0IHRhZyAtZCA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLWQgPO2DnOq3uOydtOumhD4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjUKKyM6IGJ1aWx0aW4vdGFnLmM6MjYKIG1zZ2lkICIiCi0iZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tcG9pbnRzLWF0IDxvYmplY3Q+XVxuIgorImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS0iCisicG9pbnRzLWF0IDxvYmplY3Q+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8cGF0dGVybj4uLi5dIgogbXNnc3RyICIiCi0iZ2l0IHRhZyAtbCBbLW5bPOqwnOyImD5dXSBbLS1jb250YWlucyA87Luk67CLPl0gWy0tcG9pbnRzLWF0IDzsmKTruIzsoJ3tirg+XVxuIgorImdpdCB0YWcgLWwgWy1uWzzrsojtmLg+XV0gWy0tY29udGFpbnMgPOy7pOuwiz5dIFstLW5vLWNvbnRhaW5zIDzsu6TrsIs+XSBbLS1wb2ludHMtIgorImF0IDzsmKTruIzsoJ3tirg+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PO2YleyLnT5dIFstLVtuby1dbWVyZ2VkIFs87Luk67CLPl1dIFs87Yyo7YS0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjcKKyM6IGJ1aWx0aW4vdGFnLmM6MjgKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD087ZiV7IudPl0gPO2DnOq3uOydtOumhD4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCi1tc2dzdHIgIu2DnOq3uCDsnbTrpoTsnbQg64SI66y0IOq5geuLiOuLpDogJS4qcy4uLiIKLQotIzogYnVpbHRpbi90YWcuYzo4NworIzogYnVpbHRpbi90YWcuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICInJXMnIO2DnOq3uOqwgCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL3RhZy5jOjEwMgorIzogYnVpbHRpbi90YWcuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICInJXMnIO2DnOq3uCDsgq3soJztlaggKOqzvOqxsCAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzEKKyM6IGJ1aWx0aW4vdGFnLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEyODk3LDcgKzEzMjY3LDcgQEAKICIgICVzXG4iCiAiJyVjJyDrrLjsnpDroZwg7Iuc7J6R7ZWY64qUIOykhOydgCDrrLTsi5zrkKnri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTM1CisjOiBidWlsdGluL3RhZy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xMjkxMSw0NzIgKzEzMjgxLDQ5MiBAQAogIiAgJXNcbiIKICInJWMnIOusuOyekOuhnCDsi5zsnpHtlZjripQg7KSE7J2AIOycoOyngOuQqeuLiOuLpC4g7KCc6rGw7ZWY66Ck66m0IOyngeygkSDsp4Dsm4zslbwg7ZWp64uI64ukLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjIxMworIzogYnVpbHRpbi90YWcuYzoyMTEKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICLtg5zqt7jsl5Ag7ISc66qF7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjE1CisjOiBidWlsdGluL3RhZy5jOjIxMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAi7YOc6re4IO2MjOydvOydhCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzoyNDAKKyM6IGJ1aWx0aW4vdGFnLmM6MjM3CiBtc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKIG1zZ3N0ciAi7J6Y66q765CcIOyYpOu4jOygne2KuCDsooXrpZguIgogCi0jOiBidWlsdGluL3RhZy5jOjI1MwotbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCi1tc2dzdHIgIu2DnOq3uCDtl6TrjZTqsIAg64SI66y0IO2BveuLiOuLpC4iCi0KLSM6IGJ1aWx0aW4vdGFnLmM6Mjg5CisjOiBidWlsdGluL3RhZy5jOjI4MwogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKIG1zZ3N0ciAi7YOc6re4IOuplOyLnOyngCDsl4bsnYw/IgogCi0jOiBidWlsdGluL3RhZy5jOjI5NQorIzogYnVpbHRpbi90YWcuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKIG1zZ3N0ciAi7YOc6re4IOuplOyLnOyngOqwgCAlcyDtjIzsnbzsl5Ag64Ko7JWEIOyeiOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL3RhZy5jOjM1NAorIzogYnVpbHRpbi90YWcuYzozOTgKIG1zZ2lkICJsaXN0IHRhZyBuYW1lcyIKIG1zZ3N0ciAi7YOc6re4IOydtOumhCDrqqnroZ3snYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3RhZy5jOjM1NgorIzogYnVpbHRpbi90YWcuYzo0MDAKIG1zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAi6rCBIO2DnOq3uCDrqZTsi5zsp4DsnZggPG4+7KSE7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzozNTgKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCiBtc2dpZCAiZGVsZXRlIHRhZ3MiCiBtc2dzdHIgIu2DnOq3uOulvCDsgq3soJztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL3RhZy5jOjQwMwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICLtg5zqt7jrpbwg6rKA7Kad7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3RhZy5jOjM2MQorIzogYnVpbHRpbi90YWcuYzo0MDUKIG1zZ2lkICJUYWcgY3JlYXRpb24gb3B0aW9ucyIKIG1zZ3N0ciAi7YOc6re4IOunjOuTpOq4sCDsmLXshZgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYzCisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAi7KO87ISdIOuLrOumsCDtg5zqt7gsIOuplOyLnOyngOqwgCDtlYTsmpTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzY1CisjOiBidWlsdGluL3RhZy5jOjQwOQogbXNnaWQgInRhZyBtZXNzYWdlIgogbXNnc3RyICLtg5zqt7gg66mU7Iuc7KeAIgogCi0jOiBidWlsdGluL3RhZy5jOjM2NworIzogYnVpbHRpbi90YWcuYzo0MTEKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICLso7zshJ0g64us66as6rOgIEdQRyDshJzrqoXtlZwg7YOc6re4IgogCi0jOiBidWlsdGluL3RhZy5jOjM3MQorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICLtg5zqt7jrpbwg7ISc66qF7ZWY64qU642wIOyngOygle2VnCDtgqTrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3RhZy5jOjM3MgorIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICLtg5zqt7jqsIAg7J6I7Jy866m0IOuwlOq/ieuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzozNzMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY4CisjOiBidWlsdGluL3RhZy5jOjQxNyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKIG1zZ2lkICJjcmVhdGUgYSByZWZsb2ciCiBtc2dzdHIgInJlZmxvZ+ulvCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc1CisjOiBidWlsdGluL3RhZy5jOjQxOQogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIu2DnOq3uCDrqqnroZ0g67O06riwIOyYteyFmCIKIAotIzogYnVpbHRpbi90YWcuYzozNzYKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICLtg5zqt7gg66qp66Gd7J2EIOyXrOufrCDsl7TroZwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NyBidWlsdGluL3RhZy5jOjM3OAorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIu2VtOuLuSDsu6TrsIvsnbQg65Ok7Ja0IOyeiOuKlCDtg5zqt7jrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3RhZy5jOjM3OQorIzogYnVpbHRpbi90YWcuYzo0MjIgYnVpbHRpbi90YWcuYzo0MjQKK21zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgIu2VtOuLuSDsu6TrsIvsnbQg65Ok7Ja0IOyeiOyngCDslYrsnYAg7YOc6re466eMIO2RnOyLnO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi90YWcuYzo0MjUKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICLrs5HtlanrkJwg7YOc6re466eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzozODAKKyM6IGJ1aWx0aW4vdGFnLmM6NDI2CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgIuuzke2VqeuQmOyngCDslYrsnYAg7YOc6re466eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzozODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDMxCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgIu2VtOuLuSDsmKTruIzsoJ3tirjsnZgg7YOc6re466eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzo0MTUKKyM6IGJ1aWx0aW4vdGFnLmM6NDcwCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIOuwjyAtbiDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzo0MzcKLW1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICItbiDsmLXshZjsnYAgLWwg7Ji17IWY6rO8IOqwmeydtCDsjajslbwg7ZWp64uI64ukLiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDkyCittc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIi1uIOyYteyFmOydgCDrpqzsiqTtirgg66qo65Oc7JeQ7ISc66eMIO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzo0MzkKLW1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgIi0tY29udGFpbnMg7Ji17IWY7J2AIC1sIOyYteyFmOqzvCDqsJnsnbQg7I2o7JW8IO2VqeuLiOuLpC4iCisjOiBidWlsdGluL3RhZy5jOjQ5NAorbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIi0tY29udGFpbnMg7Ji17IWY7J2AIOumrOyKpO2KuCDrqqjrk5zsl5DshJzrp4wg7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3RhZy5jOjQ0MQotbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgIi0tcG9pbnRzLWF0IOyYteyFmOydgCAtbCDsmLXshZjqs7wg6rCZ7J20IOyNqOyVvCDtlanri4jri6QuIgorIzogYnVpbHRpbi90YWcuYzo0OTYKK21zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICItLW5vLWNvbnRhaW5zIOyYteyFmOydgCDrpqzsiqTtirgg66qo65Oc7JeQ7ISc66eMIO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzo0NDMKLW1zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9uIGFyZSBvbmx5IGFsbG93ZWQgd2l0aCAtbCIKLW1zZ3N0ciAiLS1tZXJnZWQg67CPIC0tbm8tbWVyZ2VkIOyYteyFmOydgCAtbCDsmLXshZjqs7wg6rCZ7J20IOyNqOyVvCDtlanri4jri6QuIgorIzogYnVpbHRpbi90YWcuYzo0OTgKK21zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiLS1wb2ludHMtYXQg7Ji17IWY7J2AIOumrOyKpO2KuCDrqqjrk5zsl5DshJzrp4wg7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3RhZy5jOjQ1NAorIzogYnVpbHRpbi90YWcuYzo1MDAKK21zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiLS1tZXJnZWQg67CPIC0tbm8tbWVyZ2VkIOyYteyFmOydgCDrpqzsiqTtirgg66qo65Oc7JeQ7ISc66eMIO2XiOyaqe2VqeuLiOuLpCIKKworIzogYnVpbHRpbi90YWcuYzo1MTEKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIu2VmOuCmOydmCAtRiDrmJDripQgLW0g7Ji17IWY66eMIOyTuCDsiJgg7J6I7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi90YWcuYzo0NzMKKyM6IGJ1aWx0aW4vdGFnLmM6NTMwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICLtjIzrnbzrr7jthLDqsIAg64SI66y0IOunjuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi90YWcuYzo0NzkKKyM6IGJ1aWx0aW4vdGFnLmM6NTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMn7J2AKOuKlCkg7Jis67CU66W4IO2DnOq3uCDsnbTrpoTsnbQg7JWE64uZ64uI64ukLiIKIAotIzogYnVpbHRpbi90YWcuYzo0ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICLtg5zqt7ggJyVzJ+ydtCjqsIApIOydtOuvuCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTEyCisjOiBidWlsdGluL3RhZy5jOjU3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIu2DnOq3uCAnJXMnIOyXheuNsOydtO2KuCAo6rO86rGwICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkzCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDk0CiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDrrLbsnYwg7ZG464qUIOykkSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo3OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiJXMg65SU66CJ7YSw66asIOunjOuTpOq4sCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIiVz7JeQIHN0YXQoKe2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgogbXNnc3RyICIlcyDtjIzsnbzsnYQg66eM65Oc64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKIG1zZ3N0ciAiJXMg7YyM7J287J2EIOyCreygnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMSBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiJXMg65SU66CJ7YSw66as66W8IOyCreygnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICInJXMnIOyViOydmCDsiJjsoJUg7Iuc6rCB7J2EIO2ZleyduO2VmOuKlCDspJHsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICLsg4gg7YyM7J287J2EIOy2lOqwgO2VnCDtm4Tsl5Ag65SU66CJ7YSw66asIOygleuztOqwgCDrsJTrgIzsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjMKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICLsg4gg65SU66CJ7YSw66as66W8IOy2lOqwgO2VnCDtm4Tsl5Ag65SU66CJ7YSw66asIOygleuztOqwgCDrsJTrgIzsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzYKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgogbXNnc3RyICLtjIzsnbzsnYQg7JeF642w7J207Yq47ZWcIO2bhOyXkCDrlJTroInthLDrpqwg7KCV67O06rCAIOuwlOuAjOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4NwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIu2VmOychCDrlJTroInthLDrpqzsl5Ag7YyM7J287J2EIOy2lOqwgO2VnCDtm4Tsl5Ag65SU66CJ7YSw66asIOygleuztOqwgCDrsJTrgIzsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTgKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgIu2MjOydvOydhCDsgq3soJztlZwg7ZuE7JeQIOuUlOugie2EsOumrCDsoJXrs7TqsIAg67CU64CM7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjExCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIuuUlOugie2EsOumrOulvCDsgq3soJztlZwg7ZuE7JeQIOuUlOugie2EsOumrCDsoJXrs7TqsIAg67CU64CM7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE4CiBtc2dpZCAiIE9LIgogbXNnc3RyICIg7Jik7LyA7J20IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjkKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzzsmLXshZg+XSBbLS1dIFs87YyM7J28Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTE5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAi7J24642x7Iqk7JeQIOyXheuNsOydtO2KuOqwgCDtlYTsmpTtlZjrjZTrnbzrj4Qg7IOI66GcIOqzoOy5qOydhCDqs4Tsho3tlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICLsg4jroZwg6rOg7LmoOiDtlZjsnIQg66qo65OIIOustOyLnCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgIuyDiCDtjIzsnbzsnYQg66y07Iuc7ZWgIOyImCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLrlJTroInthLDrpqzrpbwg7YyM7J2866GcLCDrmJDripQg6re4IOuwmOuMgOuhnCDrsJTqv4Ag7IiYIOyeiOqyjCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIuyekeyXhe2PtOuNlOyXkOyEnCDslYzrprwg7YyM7J287J20IOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIuyduOuNseyKpOyXkCDrs5HtlantlZjsp4Ag7JWK7J2AIO2VreuqqeydtCDsnojslrTrj4Qg7IOI66GcIOqzoOy5qeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICLtjIzsnbwg7KCV67O066W8IOyDiOuhnCDqs6Dsuanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAiLS1yZWZyZXNo7JmAIOuPmeydvO2VmOyngOunjCwgYXNzdW1lLXVuY2hhbmdlZCDshKTsoJXsnYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI866qo65OcPiw87Jik67iM7KCd7Yq4Piw86rK966GcPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICLsp4DsoJXtlZwg7ZWt66qp7J2EIOyduOuNseyKpOyXkCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAi7YyM7J287J2EIFwi67CU6r647KeAIOyViuydjFwi7Jy866GcIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYwCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICLrsJTqvrjsp4Ag7JWK7J2M7Jy866GcIOqwgOyglSAoYXNzdW1lZC11bmNoYW5nZWQpIOu5hO2KuOulvCDsp4Dsm4Hri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIu2MjOydvOydhCDsnbjrjbHsiqQg7KCE7Jqp7Jy866GcIChcImluZGV4LW9ubHlcIikg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAi7J6R7JeF7Y+0642UIOqxtOuEiOubsOq4sCAoc2tpcC13b3JrdHJlZSkg67mE7Yq466W8IOyngOybgeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKICLsnbjrjbHsiqTsl5Drp4wg7LaU6rCA7ZWp64uI64ukLiDrgrTsmqnsnYQg7Jik67iM7KCd7Yq4IOuNsOydtO2EsOuyoOydtOyKpOyXkCDstpTqsIDtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzEKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICLsnpHsl4Ug7Y+0642U7JeQIOyeiOyWtOuPhCDtlbTri7kg6rK966Gc66W8IOygnOqxsO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTczCiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICItLXN0ZGlu6rO8IOqwmeydtCDsgqzsmqk6IOyeheugpSDspITsnYAgTlVMIOuwlOydtO2KuOuhnCDrgZ3rgqnri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7JeF642w7J207Yq47ZWgIOqyveuhnOydmCDrqqnroZ3snYQg7J297Iq164uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi7ZGc7KSAIOyeheugpeyXkOyEnCDsnb3snYAg7ZWt66qp7J2EIOyduOuNseyKpOyXkCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MwogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAi6rK966GcIOuqqeuhneyXkCDrjIDtlbQgIzIg67CPICMzIOyKpO2FjOydtOynleydhCDri6Tsi5wg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODcKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAiSEVBROyZgCDri6Trpbgg7ZWt66qp66eMIOyXheuNsOydtO2KuO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlOyXkCDsl4bripQg7YyM7J287J2EIOustOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk0CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICLtkZzspIAg7Lac66Cl7JeQIOuPmeyekeydhCDslYzrpr3ri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICLsoIDsnqXtlZwg7ZW06rKw65CY7KeAIOyViuydgCDstqnrj4zsnYQg66y07Iuc7ZWp64uI64ukICjsgqzsmqnsnpDsmqkg66qF66C5IOyaqeuPhCkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAi7J24642x7Iqk66W8IOydtCDtmJXsi53snLzroZwg7JSB64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAyCiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgIuyKpO2UjOumvyDsnbjrjbHsiqTrpbwg7Lyc6rGw64KYIOuBleuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi7LaU7KCB7ZWY7KeAIOyViuuKlCDsupDsi5wg7IKs7Jqp7J2EIOy8nOqxsOuCmCDrgZXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA2CiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgIu2MjOydvCDsi5zsiqTthZzsnbQg7LaU7KCB7ZWY7KeAIOyViuuKlCDsupDsi5zrpbwg7KeA7JuQ7ZWY64qU7KeAIOqygOyCrO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAi7YyM7J28IOyLnOyKpO2FnCDsi5ztl5gg7JeG7J20IOy2lOygge2VmOyngCDslYrripQg7LqQ7Iuc66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMDgKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJlbmFibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKyJjb3JlLnNwbGl0SW5kZXgg6rCS7J20IOqxsOynk+yeheuLiOuLpC4g7KCV66eQ66GcIOyKpO2UjOumvyDsnbjrjbHsiqTrpbwg7IKs7Jqp7ZWY66Ck66m0IOydtCDqsJLsnYQg7KCcIgorIuqxsO2VmOqxsOuCmCDrsJTqvrjsi63si5zsmKQuIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTcKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgorImRpc2FibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKyJjb3JlLnNwbGl0SW5kZXgg6rCS7J20IOywuOyeheuLiOuLpC4g7KCV66eQ66GcIOyKpO2UjOumvyDsnbjrjbHsiqTrpbwg7IKs7Jqp7ZWY7KeAIOyViuycvOugpOuptCDsnbQg6rCSIgorIuydhCDsoJzqsbDtlZjqsbDrgpgg67CU6r647Iut7Iuc7JikLiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTI4CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCi0iY29yZS51bnRyYWNrZWRDYWNoZeqwkuydtCDssLjsnoXri4jri6QuIOygleunkOuhnCDstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvCDsupDsi5zrpbwg7IKs7Jqp7ZWY7KeAICIKLSLslYrsnLzroKTrqbQg7J20IOqwkuydhCDsoJzqsbDtlZjqsbDrgpgg67CU6r647Iut7Iuc7JikLiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIOqwkuydtCDssLjsnoXri4jri6QuIOygleunkOuhnCDstpTsoIHtlZjsp4Ag7JWK64qUIOy6kOyLnOulvCDsgqzsmqntlZjsp4Ag7JWK7Jy8IgorIuugpOuptCDsnbQg6rCS7J2EIOygnOqxsO2VmOqxsOuCmCDrsJTqvrjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMgogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBkaXNhYmxlZCIKIG1zZ3N0ciAi7LaU7KCB65CY7KeAIOyViuuKlCDtjIzsnbwg7LqQ7Iuc66W8IOyCrOyaqe2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQwCiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCi0iY29yZS51bnRyYWNrZWRDYWNoZeqwkuydtCDqsbDsp5PsnoXri4jri6QuIOygleunkOuhnCDstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvCDsupDsi5zrpbwg7IKs7Jqp7ZWY66CkIgotIuuptCDsnbQg6rCS7J2EIOygnOqxsO2VmOqxsOuCmCDrsJTqvrjsi63si5zsmKQuIgorImNvcmUudW50cmFja2VkQ2FjaGUg6rCS7J20IOqxsOynk+yeheuLiOuLpC4g7KCV66eQ66GcIOy2lOygge2VmOyngCDslYrripQg7LqQ7Iuc66W8IOyCrOyaqe2VmOugpOuptCAiCisi7J20IOqwkuydhCDsoJzqsbDtlZjqsbDrgpgg67CU6r647Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCiBtc2dzdHIgIiclcyfsl5Ag64yA7ZW0IOy2lOyggeuQmOyngCDslYrripQg7LqQ7Iuc66W8IOyCrOyaqe2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLWQgPHJlZm5hbWU+IFs8b2xkLXZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPOyYteyFmD5dIC1kIDzroIjtjbzrn7DsiqTsnbTrpoQ+IFs86rO86rGwLeqwkj5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAgICA8cmVmbmFtZT4gPG5ldy12YWw+IFs8b2xkLXZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPOyYteyFmD5dICAgIDzroIjtjbzrn7DsiqTsnbTrpoQ+IDzsg4gt6rCSPiBbPOqzvOqxsC3qsJI+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPOyYteyFmD5dIC0tc3RkaW4gWy16XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjQKIG1zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKIG1zZ3N0ciAi66CI7Y2865+w7Iqk66W8IOyCreygnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY1CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAiPOugiO2NvOufsOyKpOydtOumhD7snYQg6rCA66as7YKk7KeAIOyViuuKlCDtla3rqqnsnLzroZwg7JeF642w7J207Yq47ZWp64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5AgTlVM66GcIOuBneuCmOuKlCDsnbjsnpDqsIAg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjcKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OAogbXNnaWQgInJlYWQgdXBkYXRlcyBmcm9tIHN0ZGluIgogbXNnc3RyICLtkZzspIAg7J6F66Cl7JeQ7IScIOyXheuNsOydtO2KuOulvCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgorIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo3CiBtc2dpZCAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCiBtc2dzdHIgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE0CisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE1CiBtc2dpZCAidXBkYXRlIHRoZSBpbmZvIGZpbGVzIGZyb20gc2NyYXRjaCIKIG1zZ3N0ciAi67CU64ul67aA7YSwIOygleuztCDtjIzsnbzsnYQg7JeF642w7J207Yq47ZWp64uI64ukIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxNworIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTgKIG1zZ2lkICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDzsu6TrsIs+Li4uIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MgorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMKIG1zZ2lkICJwcmludCBjb21taXQgY29udGVudHMiCiBtc2dzdHIgIuy7pOuwiyDrgrTsmqnsnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MyBidWlsdGluL3ZlcmlmeS10YWcuYzozNworIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzQgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKIG1zZ2lkICJwcmludCByYXcgZ3BnIHN0YXR1cyBvdXRwdXQiCiBtc2dzdHIgIuybkOuzuCBHUEcg7IOB7YOc66W8IOy2nOugpe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU0CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NTUKIG1zZ2lkICJnaXQgdmVyaWZ5LXBhY2sgWy12IHwgLS12ZXJib3NlXSBbLXMgfCAtLXN0YXQtb25seV0gPHBhY2s+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXBhY2sgWy12IHwgLS12ZXJib3NlXSBbLXMgfCAtLXN0YXQtb25seV0gPOustuydjD4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY1CiBtc2dpZCAidmVyYm9zZSIKIG1zZ3N0ciAi7J6Q7IS47Z6IIO2RnOyLnCIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY2CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjcKIG1zZ2lkICJzaG93IHN0YXRpc3RpY3Mgb25seSIKIG1zZ3N0ciAi7Ya16rOE66eMIO2RnOyLnCIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTgKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE5CiBtc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD087ZiV7IudPl0gPO2DnOq3uD4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM2CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNwogbXNnaWQgInByaW50IHRhZyBjb250ZW50cyIKIG1zZ3N0ciAi7YOc6re4IOuCtOyaqSDtkZzsi5wiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGFkZCBbPG9wdGlvbnM+XSA8cGF0aD4gWzxicmFuY2g+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGFkZCBbPOyYteyFmD5dIDzqsr3roZw+IFs867iM656c7LmYPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBsaXN0IFs87Ji17IWYPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPOyYteyFmD5dIDzqsr3roZw+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQogbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs87Ji17IWYPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwCiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPOqyveuhnD4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICJ3b3JrdHJlZXMvJXMg7KCc6rGwOiDsmKzrsJTrpbgg65SU66CJ7YSw66as6rCAIOyVhOuLmeuCmOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAid29ya3RyZWVzLyVzIOygnOqxsDogZ2l0ZGlyIO2MjOydvOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAid29ya3RyZWVzLyVzIOygnOqxsDogZ2l0ZGlyIO2MjOydvOydhCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCAoJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCiBtc2dzdHIgIndvcmt0cmVlcy8lcyDsoJzqsbA6IGdpdGRpciDtjIzsnbzsnbQg7Jis67CU66W07KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICJ3b3JrdHJlZXMvJXMg7KCc6rGwOiBnaXRkaXIg7YyM7J287J20IOyXhuuKlCDsnITsuZjrpbwg6rCA66as7YK164uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTI4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTI5CiBtc2dpZCAicmVwb3J0IHBydW5lZCB3b3JraW5nIHRyZWVzIgogbXNnc3RyICLsnpjrnbzrgrgg7J6R7JeFIO2PtOuNlOulvCDslYzrpr3ri4jri6QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzEKIG1zZ2lkICJleHBpcmUgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiPOyLnOqwgT7rs7Tri6Qg7Jik656YIOuQnCDsnpHsl4Ug7Y+0642U66W8IOunjOujjO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICInJXMn7J20KOqwgCkg7J2066+4IOyeiOyKteuLiOuLpCIKQEAgLTEzMzg2LDk3ICsxMzc3NiwxMDEgQEAKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICInJXMn7J2YIOuUlOugie2EsOumrOulvCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgJXMgKGlkZW50aWZpZXIgJXMpIgogbXNnc3RyICIlcyDspIDruYQg7KSRIChJRCAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgIuuLpOuluCDsnpHsl4Ug7Y+0642U7JeQ7IScIOyytO2BrOyVhOybg+2WiOuNlOudvOuPhCA867iM656c7LmYPuulvCDssrTtgazslYTsm4Ptlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICLsg4gg67iM656c7LmY66W8IOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzMQogbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKIG1zZ3N0ciAi67iM656c7LmY66W8IOunjOuTpOqxsOuCmCDrpqzshYvtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzMKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi7IOIIOyekeyXhSDtj7TrjZTrpbwg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzM3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzM0Cittc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCittc2dzdHIgIuyDiCDsnpHsl4Ug7Y+0642U66W8IOyeoOq2iCDrkaHri4jri6QiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozNDIKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIsIC0tZGV0YWNoIOyYteyFmCDspJEg7ZWY64KY66eMIOyTuCDsiJgg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDcyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDc5CiBtc2dpZCAicmVhc29uIGZvciBsb2NraW5nIgogbXNnc3RyICLsnqDqt7jripQg7J207JygIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEgYnVpbHRpbi93b3JrdHJlZS5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiJyVzJ+ydgCjripQpIOyekeyXhSDtj7TrjZTqsIAg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg2IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTMgYnVpbHRpbi93b3JrdHJlZS5jOjUyNgogbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgogbXNnc3RyICLrqZTsnbgg7J6R7JeFIO2PtOuNlOulvCDsnqDqt7jqsbDrgpgg7J6g6riIIO2VtOygnO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCiBtc2dzdHIgIiclcyfsnYAo64qUKSDsnbTrr7gg7J6g6rK87Iq164uI64ukLiDsnbTsnKA6ICVzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCiBtc2dzdHIgIiclcyfsnYAo64qUKSDsnbTrr7gg7J6g6rK87Iq164uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTIxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKIG1zZ3N0ciAiJyVzJ+ydgCjripQpIOyeoOq4sOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNAogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9POygkeuRkOyWtD4vXSIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CiBtc2dpZCAiPHByZWZpeD4vIgogbXNnc3RyICI87KCR65GQ7Ja0Pi8iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAi7ZWY7JyEIOuUlOugie2EsOumrCA87KCR65GQ7Ja0PuyXkCDrjIDtlbQg7Yq466asIOyYpOu4jOygne2KuOulvCDslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMwCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgIuuUlOuyhOq5hSDsmqnrj4TroZzrp4wg7IKs7JqpIgogCi0jOiB1cGxvYWQtcGFjay5jOjIyCisjOiB1cGxvYWQtcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzzsmLXshZg+XSA865SU66CJ7YSw66asPiIKIAotIzogdXBsb2FkLXBhY2suYzoxMDM2CisjOiB1cGxvYWQtcGFjay5jOjEwNDEKIG1zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCiBtc2dzdHIgIu2VmOuCmOydmCDsmpTssq0v7J2R64u1IOq1kO2ZmCDrkqTsl5Ag64Gd64Kp64uI64ukIgogCi0jOiB1cGxvYWQtcGFjay5jOjEwMzgKKyM6IHVwbG9hZC1wYWNrLmM6MTA0MwogbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKIG1zZ3N0ciAi7LWc7LSIIOugiO2NvOufsOyKpCDslYzrprwg65Kk7JeQIOymieyLnCDrgZ3rgqnri4jri6QiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTA0MAorIzogdXBsb2FkLXBhY2suYzoxMDQ1CiBtc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAiPOuUlOugie2EsOumrD7qsIAg6rmDIOuUlOugie2EsOumrOqwgCDslYTri4jrqbQgPOuUlOugie2EsOumrD4vLmdpdC8g7Y+0642U66W8IOyLnOuPhO2VmOyngCDslYrsirXri4jri6QuIgogCi0jOiB1cGxvYWQtcGFjay5jOjEwNDIKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NwogbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgogbXNnc3RyICI8bj7stIgg64+Z7JWIIOuwmOydkeydtCDsl4bsnLzrqbQg7KCE7Iah7J2EIOykkeyngO2VqeuLiOuLpCIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKQEAgLTEzNDg5LDExICsxMzg4MywxMSBAQAogIlxuIgogIlx0Y2htb2QgMDcwMCAlcyIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzIKIG1zZ2lkICJwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gc3RkZXJyIgogbXNnc3RyICLrlJTrsoTquYUg66mU7Iuc7KeA66W8IO2RnOykgOyYpOulmOuhnCDstpzroKXtlanri4jri6QiCiAKLSM6IGdpdC5jOjE0CisjOiBnaXQuYzoxNQogbXNnaWQgIiIKICInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCiAiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgpAQCAtMTM1MDMsMTYgKzEzODk3LDIxIEBACiAi66qp66Gd7J2EIOuzvCDsiJgg7J6I7Iq164uI64ukLiDtirnsoJUg7ZWY7JyEIOuqheugueyWtOuCmCDqsJzrhZDsl5Ag64yA7ZW0IOydveyWtCDrs7TroKTrqbQgJ2dpdCBoZWxwXG4iCiAiPOuqheuguT4nIOuYkOuKlCAnZ2l0IGhlbHAgPOqwnOuFkD4nIOuqheugueydhCDsi6TtlontlZjsi63si5zsmKQuIgogCisjOiBodHRwLmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCittc2dzdHIgImh0dHAucG9zdGJ1ZmZlcuydtCAw67O064ukIOyekeydgCDqsJLsnoXri4jri6QuIOq4sOuzuOqwkiAlZCIKKwogIyBIVFRQIGRlbGVnYXRpb24KLSM6IGh0dHAuYzozNDQKKyM6IGh0dHAuYzozNTgKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIuuUnOumrOqyjOydtOyFmCDsu6jtirjroaTsnYAgY1VSTCA3LjQ0LjAg7JWeIOuyhOyghOyXkOyEnOuKlCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBodHRwLmM6MzUzCisjOiBodHRwLmM6MzY3CiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICLqs7XqsJwg7YKkIOqzoOygleydgCBjVVJMIDcuNDQuMCDslZ4g67KE7KCE7JeQ7ISc64qUIOyngOybkO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGh0dHAuYzoxNzEzCisjOiBodHRwLmM6MTc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgpAQCAtMTM1MjMsNyArMTM5MjIsNyBAQAogIiAgICAgICDsmpTssq06ICVzXG4iCiAiIOumrOuLpOydtOugie2KuDogJXMiCiAKLSM6IHJlbW90ZS1jdXJsLmM6MzE5CisjOiByZW1vdGUtY3VybC5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKIG1zZ3N0ciAiJXMo7Jy8KeuhnCDrpqzri6TsnbTroIntirgiCkBAIC0xMzg5MSw3ICsxNDI5MCw3IEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgIuqwhOuLqO2VnCDrs5HtlansnbQg64+Z7J6R7ZWY7KeAIOyViuyKteuLiOuLpC4g7J6Q64+ZIOuzke2VqeydhCDsi5zrj4Ttlanri4jri6QuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU3CisjOiBnaXQtcmViYXNlLnNoOjU4CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTM5MDMsMzcgKzE0MzAyLDQxIEBACiAi7JuQ656YIOu4jOuenOy5mOulvCDssrTtgazslYTsm4PtlZjqs6Ag66as67Kg7J207Iqk66W8IOykkeyngO2VmOugpOuptCwgXCJnaXQgcmViYXNlIC0tYWJvcnRcIuulvCDsi6QiCiAi7ZaJ7ZWY7Iut7Iuc7JikLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNTcgZ2l0LXJlYmFzZS5zaDozOTYKKyM6IGdpdC1yZWJhc2Uuc2g6MTU4IGdpdC1yZWJhc2Uuc2g6Mzk3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCiBtc2dzdHIgIickaGVhZF9uYW1lJyDsnITsuZjroZwg64+M7JWE6rCIIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE2OQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAi7J6Q64+Z7Iqk7YOc7IucIOyggeyaqS4iCisKKyM6IGdpdC1yZWJhc2Uuc2g6MTcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCiBtc2dzdHIgIlwiJHN0YXNoX3NoYTFcIuydhCjrpbwpIOyggOyepe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxMQorIzogZ2l0LXJlYmFzZS5zaDoyMTIKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAi66as67Kg7J207IqkIOyghCDtm4Ttgazsl5DshJwg66as67Kg7J207Iqk66W8IOqxsOu2gO2WiOyKteuLiOuLpC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjE2CisjOiBnaXQtcmViYXNlLnNoOjIxNwogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiZ2l0LWFt7J20IOynhO2WiSDspJHsnbgg6rKD7LKY65+8IOuztOyeheuLiOuLpC4g66as67Kg7J207Iqk7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NworIzogZ2l0LXJlYmFzZS5zaDozNTgKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICLrpqzrsqDsnbTsiqTqsIAg7KeE7ZaJIOykkeydtOyngCDslYrsirXri4jri6QiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzY4CisjOiBnaXQtcmViYXNlLnNoOjM2OQogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKIG1zZ3N0ciAiLS1lZGl0LXRvZG8g64+Z7J6R7J2AIOuMgO2ZlO2YlSDrpqzrsqDsnbTsiqTsl5DshJzrp4wg7IKs7Jqp7ZWgIOyImCDsnojsirXri4jri6QuIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3NQorIzogZ2l0LXJlYmFzZS5zaDozNzYKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJIRUFE66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3OAorIzogZ2l0LXJlYmFzZS5zaDozNzkKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xMzk0MSw3ICsxNDM0NCw3IEBACiAi66qo65OgIOuzke2VqSDstqnrj4zsnYQg7Y647KeR7ZWY6rOgIGdpdCBhZGRcbiIKICLrqoXroLnsnLzroZwg7ZW06rKw65CY7JeI64uk6rOgIO2RnOyLnO2VtOyVvCDtlanri4jri6QiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDE4CisjOiBnaXQtcmViYXNlLnNoOjQxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTM5NjIsMTAxICsxNDM2NSwxMDEgQEAKICLsnbQg66qF66C57J2EIOuLpOyLnCDsi6TtlontlZjsi63si5zsmKQuIOykkeyalO2VnCDsgqztla3snbQg64Ko7JWEIOyeiOydhCDqsr3smrDrpbxcbiIKICLrjIDruYTtlbQg7Jes6riw7IScIOupiOy2peuLiOuLpC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY5CisjOiBnaXQtcmViYXNlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAi7J6Y66q765CcIOyXheyKpO2KuOumvCAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMKKyM6IGdpdC1yZWJhc2Uuc2g6NDk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTog7Jes65+sIOqwnOydmCDrs5Htlakg67Kg7J207Iqk6rCAIOyeiOyKteuLiOuLpCIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTYgZ2l0LXJlYmFzZS5zaDo1MDAKKyM6IGdpdC1yZWJhc2Uuc2g6NDk3IGdpdC1yZWJhc2Uuc2g6NTAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiDrs5Htlakg67Kg7J207Iqk6rCAIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MDUKKyM6IGdpdC1yZWJhc2Uuc2g6NTA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAi7Jis67CU66W4IOy7pOuwi+ydhCDqsIDrpqztgqTsp4Ag7JWK7Iq164uI64ukOiAkb250b19uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyOAorIzogZ2l0LXJlYmFzZS5zaDo1MjkKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICLsuZjrqoXsoIEg7J207IOBOiDqt7jrn7Ag67iM656c7LmY6rCAIOyXhuyKteuLiOuLpDogJGJyYW5jaF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2MQorIzogZ2l0LXJlYmFzZS5zaDo1NjIKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICLsnpDrj5kg7Iqk7YOc7Iuc66W8IO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2NgorIzogZ2l0LXJlYmFzZS5zaDo1NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICLsnpDrj5kg7Iqk7YOc7Iuc66W8IOunjOuTpOyXiOyKteuLiOuLpDogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NzAKKyM6IGdpdC1yZWJhc2Uuc2g6NTcxCiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAi7Luk67CL7ZWY6rGw64KYIOyKpO2DnOyLnOyXkCDrhKPsnLzsi63si5zsmKQuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MAorIzogZ2l0LXJlYmFzZS5zaDo1OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOqwgCAoJGJyYW5jaF9uYW1lKSDstZzsi6Ag7IOB7YOc7J6F64uI64ukLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTQKKyM6IGdpdC1yZWJhc2Uuc2g6NTk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIu2YhOyerCDruIzrnpzsuZjqsIAgKCRicmFuY2hfbmFtZSkg7LWc7IugIOyDge2DnOyeheuLiOuLpC4g6rCV7KCcIOumrOuyoOydtOyKpO2VqeuLiOuLpC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjA1CisjOiBnaXQtcmViYXNlLnNoOjYwNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIuuzgOqyvSDsgqztla0gJyRtYifsl5DshJwgJyRvbnRvJyjsnLwp66GcOiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MTQKKyM6IGdpdC1yZWJhc2Uuc2g6NjE1CiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgogbXNnc3RyICLsnpHsl4Ug7IKs7ZWt7J2EIOuLpOyLnCDrhKPquLAg7JyE7ZW0IOuovOyggCDtl6Trk5zrpbwg65Kk66GcIOuPjOumveuLiOuLpC4uLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MjQKKyM6IGdpdC1yZWJhc2Uuc2g6NjI1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIiRicmFuY2hfbmFtZSDruIzrnpzsuZjrpbwgJG9udG9fbmFtZSDsnITsuZjroZwg7KCV67Cp7ZalIOynhO2Wie2VqeuLiOuLpC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MAorIzogZ2l0LXN0YXNoLnNoOjU0CiBtc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgogbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIg66qF66C57J2EIO2MjOudvOuvuO2EsOyZgCDqsJnsnbQg7JOw6riw64qUIOq1rO2YhOuQmOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDo3MworIzogZ2l0LXN0YXNoLnNoOjk1CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCiBtc2dzdHIgIuyVhOyngSDstZzstIgg7Luk67CL7J20IOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjg4CisjOiBnaXQtc3Rhc2guc2g6MTEwCiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIu2YhOyerCDsnbjrjbHsiqQg7IOB7YOc66W8IOyggOyepe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6MTAzCisjOiBnaXQtc3Rhc2guc2g6MTI1CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbzsnYQg7KCA7J6l7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDoxMjMgZ2l0LXN0YXNoLnNoOjEzNgorIzogZ2l0LXN0YXNoLnNoOjE0NSBnaXQtc3Rhc2guc2g6MTU4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIu2YhOyerCDsnpHsl4Ug7Y+0642UIOyDge2DnOulvCDsoIDsnqXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MAorIzogZ2l0LXN0YXNoLnNoOjE2MgogbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCiBtc2dzdHIgIuuzgOqyvSDsgqztla3snYQg7ISg7YOd7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MworIzogZ2l0LXN0YXNoLnNoOjE2NQogbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgogbXNnc3RyICLsnoTsi5wg7J24642x7Iqk66W8IOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukICjsnbzslrTrgqAg7IiYIOyXhuuKlCDsg4HtmakpIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU2CisjOiBnaXQtc3Rhc2guc2g6MTc4CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgIuyekeyXhSDtj7TrjZQg7IOB7YOc66W8IOq4sOuhne2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6MTg4CisjOiBnaXQtc3Rhc2guc2g6MjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIiRyZWZfc3Rhc2jsnYQo66W8KSAkd19jb21taXQo7Jy8KeuhnCDsl4XrjbDsnbTtirjtlaAg7IiYIOyXhuyKteuLiOuLpCIKQEAgLTE0MDcxLDcgKzE0NDc0LDcgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyMzgKKyM6IGdpdC1zdGFzaC5zaDoyNjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgpAQCAtMTQwODAsMTA4ICsxNDQ4MywxMDggQEAKICLsmKTrpZg6ICdzdGFzaCBzYXZlJ+yXkCDrjIDtlbQg7JWMIOyImCDsl4bripQg7Ji17IWYOiAkb3B0aW9uXG4iCiAiICAgICAgIOuplOyLnOyngOulvCDrhJjquLDroKTrqbQsIOuLpOydjOqzvCDqsJnsnbQg7JOw7Iut7Iuc7JikOiBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTEKKyM6IGdpdC1zdGFzaC5zaDoyODEKIG1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgogbXNnc3RyICIiCiAiLS1wYXRjaCDsmLXshZjqs7wgLS1pbmNsdWRlLXVudHJhY2tlZCDrmJDripQgLS1hbGwg7Ji17IWY7J2EIOuPmeyLnOyXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjI1OQorIzogZ2l0LXN0YXNoLnNoOjI4OQogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKIG1zZ3N0ciAi7KCA7J6l7ZWgIOuhnOy7rCDrs4Dqsr0g7IKs7ZWt7J20IOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjI2MworIzogZ2l0LXN0YXNoLnNoOjI5NAogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICLsiqTtg5zsi5zrpbwg7LSI6riw7ZmU7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjcKKyM6IGdpdC1zdGFzaC5zaDoyOTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIu2YhOyerCDsg4Htg5zrpbwg7KCA7J6l7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKKyM6IGdpdC1zdGFzaC5zaDoyOTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAkc3Rhc2hfbXNnIgogbXNnc3RyICLsnpHsl4Ug7Y+0642U7JmAICRzdGFzaF9tc2cg7J24642x7IqkIOyDge2DnOulvCDsoIDsnqXtlojsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDoyODUKKyM6IGdpdC1zdGFzaC5zaDozMjYKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgIuyekeyXhe2PtOuNlCDrs4Dqsr0g7IKs7ZWt7J2EIOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6NDAzCisjOiBnaXQtc3Rhc2guc2g6NDc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg7Ji17IWYOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDE2Ci1tc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgotbXNnc3RyICLsiqTtg5zsi5zqsIAg7JeG7Iq164uI64ukLiIKKyM6IGdpdC1zdGFzaC5zaDo0ODcKK21zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKK21zZ3N0ciAi7Iqk7YOc7IucIO2VreuqqeydtCDsl4bsirXri4jri6QuIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIzCisjOiBnaXQtc3Rhc2guc2g6NDk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICLrhIjrrLQg66eO7J2AIOumrOu5hOyghOydhCDsp4DsoJXtlojsirXri4jri6Q6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzgKKyM6IGdpdC1zdGFzaC5zaDo1MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNl7J2AKOuKlCkg7Jis67CU66W4IOugiO2NvOufsOyKpOqwgCDslYTri5nri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjYKKyM6IGdpdC1zdGFzaC5zaDo1MzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncyfsnYAo64qUKSDsiqTtg5zsi5wg7Luk67CL7J20IOyVhOuLmeuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NworIzogZ2l0LXN0YXNoLnNoOjU0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIickYXJncyfsnYAo64qUKSDsiqTtg5zsi5wg66CI7Y2865+w7Iqk6rCAIOyVhOuLmeuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4NQorIzogZ2l0LXN0YXNoLnNoOjU1NgogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICLsnbjrjbHsiqTrpbwg7IOI66GcIOqzoOy5oCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg5CisjOiBnaXQtc3Rhc2guc2g6NTYwCiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICLrs5Htlakg64+E7KSR7JeQIOyKpO2DnOyLnOulvCDsoIHsmqntlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5NworIzogZ2l0LXN0YXNoLnNoOjU2OAogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIuyduOuNseyKpOyXkCDstqnrj4wuIC0taW5kZXgg7JeG7J20IOyLnOuPhO2VtCDrs7Tsi63si5zsmKQuIgogCi0jOiBnaXQtc3Rhc2guc2g6NDk5CisjOiBnaXQtc3Rhc2guc2g6NTcwCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAi7J24642x7IqkIO2KuOumrOulvCDsoIDsnqXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjUwOAotbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgotbXNnc3RyICLsiqTtg5zsi5zsl5DshJwg7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbzsnYQg67O16rWs7ZWgIOyImCDsl4bsirXri4jri6QiCisjOiBnaXQtc3Rhc2guc2g6NTc5Cittc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2ggZW50cnkiCittc2dzdHIgIuyKpO2DnOyLnCDtla3rqqnsl5DshJwg7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbzsnYQg67O16rWs7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzMKKyM6IGdpdC1zdGFzaC5zaDo2MDQKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAi7IiY7KCV7ZWcIO2MjOydvOydhCDsiqTthYzsnbTsp4Dsl5DshJwg67qEIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NDgKKyM6IGdpdC1zdGFzaC5zaDo2MTkKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCiBtc2dzdHIgIuyduOuNseyKpOqwgCDsiqTtg5zsi5zsl5DshJwg67mg7KGM7Iq164uI64ukLiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgotbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgotbXNnc3RyICLri6Tsi5wg7ZWE7JqU7ZWgIOuVjOulvCDrjIDruYTtlbQg7Iqk7YOc7Iuc66W8IOuztOq0gO2VqeuLiOuLpC4iCisjOiBnaXQtc3Rhc2guc2g6NjMzCittc2dpZCAiVGhlIHN0YXNoIGVudHJ5IGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCittc2dzdHIgIuuLpOyLnCDtlYTsmpTtlaAg65WM66W8IOuMgOu5hO2VtCDsiqTtg5zsi5wg7ZWt66qp7J2EIOuztOq0gO2VqeuLiOuLpC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzEKKyM6IGdpdC1zdGFzaC5zaDo2NDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIiR7UkVWfSDsp4Dsm4AgKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MgorIzogZ2l0LXN0YXNoLnNoOjY0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiDsiqTtg5zsi5wg7ZWt66qp7J2EIOyngOyauCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6NTgwCisjOiBnaXQtc3Rhc2guc2g6NjUxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICLruIzrnpzsuZgg7J2066aE7J2EIOyngOygle2VmOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NTIKKyM6IGdpdC1zdGFzaC5zaDo3MzAKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIijrs7XqtaztlZjroKTrqbQgXCJnaXQgc3Rhc2ggYXBwbHlcIuulvCDsi6TtlontlZjsi63si5zsmKQpIgogCkBAIC0xNDIwNCw3ICsxNDYwNyw3IEBACiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXggYW5kIGlzIG5vdCBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiJyRzbV9wYXRoJ+ydgCjripQpIOydtOuvuCDsnbjrjbHsiqTsl5Ag7J6I6rOgIO2VmOychCDrqqjrk4jsnbQg7JWE64uZ64uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIxOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTQyMTUsMjIgKzE0NjE4LDIyIEBACiAiJHNtX3BhdGhcbiIKICLsoJXrp5DroZwg7LaU6rCA7ZWY66Ck66m0IC1mIOyYteyFmOydhCDsgqzsmqntlZjsi63si5zsmKQuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICInJHNtX3BhdGgn7J2YIOq4sOyhtCDsoIDsnqXshozrpbwg7J24642x7Iqk7JeQIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiJyRzbV9wYXRoJ+ydtCjqsIApIOydtOuvuCDsnojqs6Ag7Jis67CU66W4IGdpdCDsoIDsnqXshozqsIAg7JWE64uZ64uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAiJyRzbV9uYW1lJ+yXkCDrjIDtlZwg6rmDIOuUlOugie2EsOumrOqwgCDroZzsu6zsl5DshJwg66as66qo7Yq46rCAIOyeiOuKlCDssYTroZwg7J6I7Iq164uI64ukOiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCkBAIC0xNDI0NSw0NyArMTQ2NDgsNDcgQEAKICInLS1mb3JjZScg7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpC4g66Gc7LusIOq5gyDrlJTroInthLDrpqzqsIAg7Jis67CU66W4IOyggOyepeyGjOqwgCDslYTri4jqsbDrgphcbiIKICLrrLTsiqgg7J2Y66+47J247KeAIOyemCDrqqjrpbTqsqDsnLzrqbQgJy0tbmFtZScg7Ji17IWY7Jy866GcIOuLpOuluCDsnbTrpoTsnYQg7ISg7YOd7ZWY7Iut7Iuc7JikLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICLroZzsu6wg6rmDIOuUlOugie2EsOumrOulvCAnJHNtX25hbWUnIO2VmOychOuqqOuTiOuhnCDri6Tsi5wg7Zmc7ISx7ZmU7ZWp64uI64ukLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIickc21fcGF0aCcg7ZWY7JyEIOuqqOuTiOydhCDssrTtgazslYTsm4PtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICInJHNtX3BhdGgnIO2VmOychCDrqqjrk4jsnYQg7LaU6rCA7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIickc21fcGF0aCcg7ZWY7JyEIOuqqOuTiOydhCDrk7HroZ3tlZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgogbXNnc3RyICInJGRpc3BsYXlwYXRoJyDrk6TslrTqsJAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ3CisjOiBnaXQtc3VibW9kdWxlLnNoOjM2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgogbXNnc3RyICInJGRpc3BsYXlwYXRoJ+yXkOyEnCDrqYjstqQuIOyKpO2BrOumve2KuOqwgCAw7J20IOyVhOuLjCDsg4Htg5zrpbwg66as7YS07ZWoLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi6rK966Gc66qF7IS4IOuwjyAtLWFsbCDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICLsoJXrp5DroZwg66qo65OgIO2VmOychCDrqqjrk4gg7LSI6riw7ZmU66W8IO2VtOygnO2VmOugpOuptCAnLS1hbGwn7J2EIOyCrOyaqe2VmOyLreyLnOyYpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5XG4iCkBAIC0xNDI5NCw3ICsxNDY5Nyw3IEBACiAi7ZWY7JyEIOuqqOuTiCDsnpHsl4Ug7Y+0642UICckZGlzcGxheXBhdGgn7JeQIC5naXQg65SU66CJ7YSw66as6rCAIOuTpOyWtCDsnojsirXri4jri6RcbiIKICIo7KCV66eQ66GcIOq3uCDsu6TrsIsg64K07Jet6rmM7KeAIO2PrO2VqO2VtCDsoJzqsbDtlZjroKTrqbQgJ3JtIC1yZifrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCkBAIC0xNDMwMywzOCArMTQ3MDYsMzggQEAKICLtlZjsnIQg66qo65OIIOyekeyXhSDtj7TrjZTsl5AgKCckZGlzcGxheXBhdGgnKSDroZzsu6wg7IiY7KCVIOyCrO2VreydtCDsnojsirXri4jri6QuIOuyhOumrOugpOuptCAnLSIKICJmJ+ulvCDsgqzsmqntlZjsi63si5zsmKQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIickZGlzcGxheXBhdGgnIOuUlOugie2EsOumrOulvCDsp4Dsm4Hri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU1CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOuUlOugie2EsOumrOulvCAoJyRkaXNwbGF5cGF0aCcpIOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi67mIIO2VmOychCDrqqjrk4gg65SU66CJ7YSw66as66W8ICgnJGRpc3BsYXlwYXRoJykg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDY3CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIickbmFtZScg7ZWY7JyEIOuqqOuTiOydtCAoJHVybCkgJyRkaXNwbGF5cGF0aCcg6rK966Gc7JeQIOuMgO2VtCDrk7HroZ3rkJjsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg6rK966Gc7JeQ7IScICgnJGRpc3BsYXlwYXRoJykg7ZiE7J6sIOumrOu5hOyghOydhCDssL7snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRzbV9wYXRoJ+yXkOyEnCDqsIDsoLjsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTQzNDMsMTIgKzE0NzQ2LDEyIEBACiAi7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRzbV9wYXRoJ+yXkOyEnCDtmITsnqwgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IOumrOu5hOyghOydhCDssL7snYQg7IiYICIKICLsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCAnJGRpc3BsYXlwYXRoJ+yXkOyEnCDqsIDsoLjsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgpAQCAtMTQzNTcsODIgKzE0NzYwLDgyIEBACiAiJyRkaXNwbGF5cGF0aCcg7ZWY7JyEIOuqqOuTiCDqsr3roZzsl5DshJwg6rCA7KC47JmU7KeA66eMLCAkc2hhMSDsu6TrsIvsnbQg65Ok7Ja07J6I7KeAIOyViuyKteuLiCIKICLri6QuIOydtCDsu6TrsIvsnYQg7KeB7KCRIOqwgOyguOyYpOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCAnJGRpc3BsYXlwYXRoJ+yXkOyEnCAnJHNoYTEn7J2EKOulvCkg7LK07YGs7JWE7JuD7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg6rK966GcICckZGlzcGxheXBhdGgnOiAnJHNoYTEnIOyytO2BrOyVhOybgyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg6rK966GcICckZGlzcGxheXBhdGgn7JeQ7IScICckc2hhMSfsnYQo66W8KSDrpqzrsqDsnbTsiqTtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg6rK966GcICckZGlzcGxheXBhdGgnOiAnJHNoYTEnKOycvCnroZwg66as67Kg7J207IqkIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCAnJGRpc3BsYXlwYXRoJ+yXkOyEnCAnJHNoYTEnIOuzke2Vqe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRkaXNwbGF5cGF0aCc6ICckc2hhMSfsl5DshJwg67OR7ZWpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiJyRjb21tYW5kICRzaGExJyDsi6TtlonsnbQg7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRkaXNwbGF5cGF0aCfsl5DshJwg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLsnqzqt4DsoIHsnLzroZwg7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRkaXNwbGF5cGF0aCfsl5Ag65Ok7Ja06rCA64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODQxCiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiLS1jYWNoZWQg7Ji17IWY7J2AIC0tZmlsZXMg7Ji17IWY6rO8IOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODkzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgIuyYiOyDgey5mCDrqrvtlZwg66qo65OcICRtb2RfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICDqsr3qs6A6ICckZGlzcGxheV9uYW1lJ+yXkCAnJHNoYTFfc3JjJyDsu6TrsIvsnbQg65Ok7Ja07J6I7KeAIOyViuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg6rK96rOgOiAnJGRpc3BsYXlfbmFtZSfsl5AgJyRzaGExX2RzdCcg7Luk67CL7J20IOuTpOyWtOyeiOyngCDslYrsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTA0CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCiAiICDqsr3qs6A6ICckZGlzcGxheV9uYW1lJ+yXkCAnJHNoYTFfc3JjJyDrsI8gJyRzaGExX2RzdCcg7Luk67CL7J20IOuTpOyWtOyeiOyngCDslYrsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDY1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIuyerOq3gOyggeycvOuhnCDtlZjsnIQg66qo65OIIOqyveuhnCAnJHNtX3BhdGgn7JeQIOuTpOyWtOqwgOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTExOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIFVSTOydhCAnJGRpc3BsYXlwYXRoJ+yXkCDrjIDtlbQg64+Z6riw7ZmUIgpAQCAtMTQ3MzAsMTEgKzE1MTMzLDExIEBACiBtc2dpZCAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgogbXNnc3RyICLslYTri4jrqbQgJ2dpdCByZWJhc2UgLS1hYm9ydCcg66qF66C57Jy866GcIOumrOuyoOydtOyKpOulvCDspJHsp4DtlaAg7IiY64+EIOyeiOyKteuLiOuLpC4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIkNIRVJSWV9QSUNLX0hFQUTrpbwg7KCc6rGw7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODQKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0NzY1LDExICsxNTE2OCwxMSBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDEKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDUKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAi7Luk67CL7J2EIOyImOygle2VnCDsnpHshLHsnpAg7Iug7JuQ7J2EIOywvuuKlOuNsCDsmKTrpZgiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDYKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTAKIG1zZ2lkICIiCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKQEAgLTE0Nzc3LDExICsxNTE4MCwxMSBAQAogIuyekeyXhSDtj7TrjZTsl5Ag7Luk67CL7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4g7J20IOyCrO2VreydhCDrqLzsoIBcbiIKICLsu6TrsIvtlZjqs6AgJ2dpdCByZWJhc2UgLS1jb250aW51ZScg66qF66C57J2EIOuLpOyLnCDsi6TtlontlZjsi63si5zsmKQuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTExIGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExOQogbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLsiqTthYzsnbTsp5XtlZwg67OA6rK9IOyCrO2VreydgCDsu6TrsIvtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDcKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCkBAIC0xNDc5NSwzOSArMTUxOTgsMzkgQEAKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDcgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwNQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1NSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzEzCiBtc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgogbXNnc3RyICLtjrjsp5HquLDrpbwg7Iuk7ZaJ7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgogbXNnc3RyICIkc3dpdGNoX3Rv66W8IOyytO2BrOyVhOybg+2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTczCiBtc2dpZCAiTm8gSEVBRD8iCiBtc2dzdHIgIkhFQUTqsIAg7JeG7Iq164uI64ukPyIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKIG1zZ3N0ciAi7J6E7Iuc66GcICRzdGF0ZV9kaXIg65SU66CJ7YSw66as66W8IOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc2CiBtc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCiBtc2dzdHIgIuuMgO2ZlO2YleycvOuhnCDtkZzsi5ztlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzggZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4NiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTkxCiBtc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCiBtc2dzdHIgIuuLpOyLnCDsnpHshLHrkJwg7Luk67CL7J2EIOy0iOq4sO2ZlO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjgzCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKIG1zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgogbXNnc3RyWzBdICLrpqzrsqDsnbTsiqQgJHNob3J0cmV2aXNpb25zLCAkc2hvcnRvbnRvIOychOuhnCAo66qF66C5ICR0b2RvY291bnTqsJwpIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk2CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCkBAIC0xNDgzNyw3ICsxNTI0MCw3IEBACiAi7ZWY7KeA66eMIOuqqOuRkCDsoJzqsbDtlaAg6rK97JqwLCDrpqzrsqDsnbTsiqTrpbwg7KSR7KeA7ZWp64uI64ukLlxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzAzCiBtc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCiBtc2dzdHIgIuuLqCDruYgg7Luk67CL7J2AIOyjvOyEnSDsspjrpqzrkJjsl4jsirXri4jri6QuIgogCkBAIC0xNDkwMSw3NyArMTUzMDQsNzcgQEAKIG1zZ3N0ciAi6rmDIOuUlOugie2EsOumrOydmCDsoIjrjIAg6rK966Gc66W8IOyVjOyVhOuCvCDsiJgg7JeG7Iq164uI64ukIgogCiAjLiBUUkFOU0xBVE9SUzogeW91IGNhbiBhZGp1c3QgdGhpcyB0byBhbGlnbiAiZ2l0IGFkZCAtaSIgc3RhdHVzIG1lbnUKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlMTJzICUxMnMgJXMiCiBtc2dzdHIgIiUxMnMgJTEycyAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3CiBtc2dpZCAic3RhZ2VkIgogbXNnc3RyICLsiqTthYzsnbTsp5UiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInVuc3RhZ2VkIgogbXNnc3RyICLslYjsiqTthYzsnbTsp5UiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI0NiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3MQogbXNnaWQgImJpbmFyeSIKIG1zZ3N0ciAi67CU7J2064SI66asIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMwNiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDkKIG1zZ2lkICJub3RoaW5nIgogbXNnc3RyICLsl4bsnYwiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzU3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMwNgogbXNnaWQgInVuY2hhbmdlZCIKIG1zZ3N0ciAi7JWI67CU64CcIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiYWRkZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJhZGRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICLqsr3roZwgJWTqsJwg7LaU6rCAXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICLqsr3roZwgJWTqsJwg7JeF642w7J207Yq4XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIuqyveuhnCAlZOqwnCDrkJjrj4zrprxcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInRvdWNoZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ0b3VjaGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIuqyveuhnCAlZOqwnCDqsbTrk5zrprxcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIwCiBtc2dpZCAiVXBkYXRlIgogbXNnc3RyICLsl4XrjbDsnbTtirgiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjgzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMgogbXNnaWQgIlJldmVydCIKIG1zZ3N0ciAi65CY64+M66as6riwIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAibm90ZTogJXMgaXMgdW50cmFja2VkIG5vdy5cbiIKIG1zZ3N0ciAi7KO87J2YOiAlc+ydgCjripQpIO2YhOyerCDstpTsoIHtlZjsp4Ag7JWK7Iq164uI64ukLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcxNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjYKIG1zZ2lkICJBZGQgdW50cmFja2VkIgogbXNnc3RyICLstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvCDstpTqsIAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzIzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MgogbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKIG1zZ3N0ciAi7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbwg7JeG7J2MLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg1CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFnaW5nLiIKQEAgLTE0OTc5LDcgKzE1MzgyLDcgQEAKICLtjKjsuZjqsIAg6rmU64GU7ZWY6rKMIOyggeyaqeuQmOuptCwg7Y647KeRIOu2gOu2hOydgCDsponsi5wg7Iqk7YWM7J207KeV7Jy866GcXG4iCiAi7ZGc7Iuc65Cp64uI64ukLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk4OAogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3Rhc2hpbmcuIgpAQCAtMTQ5ODcsNyArMTUzOTAsNyBAQAogIu2MqOy5mOqwgCDquZTrgZTtlZjqsowg7KCB7Jqp65CY66m0LCDtjrjsp5Eg67aA67aE7J2AIOymieyLnCDsiqTtg5zsi5zsl5BcbiIKICLtkZzsi5zrkKnri4jri6QuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTkxCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciB1bnN0YWdpbmcuIgpAQCAtMTQ5OTUsNyArMTUzOTgsNyBAQAogIu2MqOy5mOqwgCDquZTrgZTtlZjqsowg7KCB7Jqp65CY66m0LCDtjrjsp5Eg67aA67aE7J2AIOymieyLnCDsiqTthYzsnbTsp5Ug7JWE64uY7Jy866GcXG4iCiAi7ZGc7Iuc65Cp64uI64ukLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5OTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDAzCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBhcHBseWluZy4iCkBAIC0xNTAwMywxNSArMTU0MDYsNyBAQAogIu2MqOy5mOqwgCDquZTrgZTtlZjqsowg7KCB7Jqp65CY66m0LCDtjrjsp5Eg67aA67aE7J2AIOymieyLnCDsoIHsmqnsnLzroZxcbiIKICLtkZzsi5zrkKnri4jri6QuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKLW1zZ2lkICIiCi0iSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKLSJtYXJrZWQgZm9yIGRpc2NhcmRpbmciCi1tc2dzdHIgIiIKLSLtjKjsuZjqsIAg6rmU64GU7ZWY6rKMIOyggeyaqeuQmOuptCwg7Y647KeRIOu2gOu2hOydgCDsponsi5wg67KE66a87Jy866GcXG4iCi0i7ZGc7Iuc65Cp64uI64ukIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAwMAogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgZGlzY2FyZGluZy4iCkBAIC0xNTAxOSwxNiArMTU0MTQsMTYgQEAKICLtjKjsuZjqsIAg6rmU64GU7ZWY6rKMIOyggeyaqeuQmOuptCwg7Y647KeRIOu2gOu2hOydgCDsponsi5wg67KE66a87Jy866GcXG4iCiAi7ZGc7Iuc65Cp64uI64ukLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICLrtoDrtoQg7Y647KeRIO2MjOydvOydhCDsk7DquLDsmqnsnLzroZwg7Jes64qU642wIOyLpO2MqDogJyVzJyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTQKIG1zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKIG1zZ3N0ciAi7IiY64+ZIOu2gOu2hCDtjrjsp5Eg66qo65OcIC0tIOu5oOuluCDshKTrqoXsnYAg66eoIOyVhOuemOulvCDrs7Tsi63si5zsmKQuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDIwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICItLS1cbiIKQEAgLTE1MDQyLDcgKzE1NDM3LDcgQEAKICIlcyjsnLwp66GcIOyLnOyeke2VmOuKlCDspITsnYAg7KCc6rGw65Cp64uI64ukXG4iCiAKICMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDI4CiBtc2dpZCAiIgogIklmIGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHksIHlvdSB3aWxsIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCiAiZWRpdCBhZ2Fpbi4gIElmIGFsbCBsaW5lcyBvZiB0aGUgaHVuayBhcmUgcmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgpAQCAtMTUwNTIsNyArMTU0NDcsNyBAQAogIuyasCxcbiIKICLtjrjsp5HsnYAg7KSR64uo65CY6rOgIOydtCDrtoDrtoTsnYAg67OA6rK965CY7KeAIOyViuydgCDsg4Htg5zroZwg64Ko7JWE7J6I6rKMIOuQqeuLiOuLpC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHJlYWRpbmc6ICVzIgogbXNnc3RyICLrtoDrtoQg7Y647KeRIO2MjOydvOydhCDsnb3quLDsmqnsnLzroZwg7Jes64qU642wIOyLpO2MqDogJyVzJyIKQEAgLTE1MDYzLDE0ICsxNTQ1OCwxNCBAQAogIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKICMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCiAjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE4NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTM0CiBtc2dpZCAiIgogIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgogbXNnc3RyICIiCiAi7Y647KeR7ZWcIOu2gOu2hOydtCDsoIHsmqnrkJjsp4Ag7JWK7Iq164uI64ukLiDri6Tsi5wg7Y647KeR7ZWY7Iuc6rKg7Iq164uI6rmMIChcIm5vXCLrnbzqs6Ag7ZWY66m0IOuyhOumvSIKICLri4jri6QhKSBbeS9uXT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MwogbXNnaWQgIiIKICJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTE1MDg0LDcgKzE1NDc5LDcgQEAKICJhIC0g7J20IOu2gOu2hOqzvCDtjIzsnbzsnZgg65KkIOu2gOu2hCDrqqjrkZAg7Iqk7YWM7J207KeVXG4iCiAiZCAtIOydtCDrtoDrtoTqs7wg7YyM7J287J2YIOuSpCDrtoDrtoQg66qo65GQIOyKpO2FjOydtOynle2VmOyngCDslYrsnYwiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIwMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTQ5CiBtc2dpZCAiIgogInkgLSBzdGFzaCB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVua1xuIgpAQCAtMTUwOTgsNyArMTU0OTMsNyBAQAogImEgLSDsnbQg67aA67aE6rO8IO2MjOydvOydmCDrkqQg67aA67aEIOuqqOuRkCDsiqTtg5zsi5xcbiIKICJkIC0g7J20IOu2gOu2hOqzvCDtjIzsnbzsnZgg65KkIOu2gOu2hCDrqqjrkZAg7Iqk7YOc7Iuc7ZWY7KeAIOyViuydjCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjA4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNTUKIG1zZ2lkICIiCiAieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMTUxMTIsNyArMTU1MDcsNyBAQAogImEgLSDsnbQg67aA67aE6rO8IO2MjOydvOydmCDrkqQg67aA67aEIOuqqOuRkCDsiqTthYzsnbTsp5Ug7ZW07KCcXG4iCiAiZCAtIOydtCDrtoDrtoTqs7wg7YyM7J287J2YIOuSpCDrtoDrtoQg66qo65GQIOyKpO2FjOydtOynlSDtlbTsoJztlZjsp4Ag7JWK7J2MIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE2MQogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCiAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKQEAgLTE1MTI2LDcgKzE1NTIxLDcgQEAKICJhIC0g7J20IOu2gOu2hOqzvCDtjIzsnbzsnZgg65KkIOu2gOu2hCDrqqjrkZAgXG4iCiAiZCAtIOydtCDrtoDrtoTqs7wg7YyM7J287J2YIOuSpCDrtoDrtoQg66qo65GQIOyggeyaqe2VmOyngCDslYrsnYwiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTY3CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCkBAIC0xNTE0MCw3ICsxNTUzNSw3IEBACiAiYSAtIOydtCDrtoDrtoTqs7wg7YyM7J287J2YIOuSpCDrtoDrtoQg66qo65GQIOuyhOumvFxuIgogImQgLSDsnbQg67aA67aE6rO8IO2MjOydvOydmCDrkqQg67aA67aEIOuqqOuRkCDrsoTrpqzsp4Ag7JWK7J2MIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3MwogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0xNTE1NCw3ICsxNTU0OSw3IEBACiAiYSAtIOydtCDrtoDrtoTqs7wg7YyM7J287J2YIOuSpCDrtoDrtoQg66qo65GQIOuyhOumvFxuIgogImQgLSDsnbQg67aA67aE6rO8IO2MjOydvOydmCDrkqQg67aA67aEIOuqqOuRkCDrsoTrpqzsp4Ag7JWK7J2MIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3OQogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTUxNjgsNyArMTU1NjMsNyBAQAogImEgLSDsnbQg67aA67aE6rO8IO2MjOydvOydmCDrkqQg67aA67aEIOuqqOuRkCBcbiIKICJkIC0g7J20IOu2gOu2hOqzvCDtjIzsnbzsnZgg65KkIOu2gOu2hCDrqqjrkZAg7KCB7Jqp7ZWY7KeAIOyViuydjCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExODgKIG1zZ2lkICIiCiAiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKICIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCkBAIC0xNTE5MCwxOTkgKzE1NTg1LDE5OSBAQAogImUgLSDtmITsnqwg67aA67aE7J2EIOyImOuPmeycvOuhnCDtjrjsp5FcbiIKICI/IC0g64+E7JuA66eQIOuztOq4sFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxOQogbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgogbXNnc3RyICLshKDtg53tlZwg67aA67aE7J2AIOyduOuNseyKpOyXkCDsoIHsmqnrkJjsp4Ag7JWK7Iq164uI64ukIVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMAogbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgogbXNnc3RyICLqt7jrnpjrj4Qg7J6R7JeFIO2PtOuNlOyXkCDsoIHsmqntlaDquYzsmpQ/IgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMwogbXNnaWQgIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iCiBtc2dzdHIgIuyVhOustCDqsoPrj4Qg7KCB7Jqp65CY7KeAIOyViuyVmOyKteuLiOuLpC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjg3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg7IKs7ZWtIOustOyLnDogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDMKIG1zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgogbXNnc3RyICLrsJTsnbTrhIjrpqwg7YyM7J2866eMIOuwlOuAjOyXiOyKteuLiOuLpC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDUKIG1zZ2lkICJObyBjaGFuZ2VzLlxuIgogbXNnc3RyICLrs4Dqsr0g7IKs7ZWtIOyXhuydjC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTMKIG1zZ2lkICJQYXRjaCB1cGRhdGUiCiBtc2dzdHIgIu2MqOy5mCDsl4XrjbDsnbTtirgiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuuqqOuTnCDrs4Dqsr3snYQg7Iqk7YWM7J207KeV7ZWp64uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuyCreygnOulvCDsiqTthYzsnbTsp5Xtlanri4jquYwgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzYwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuydtCDrtoDrtoQg7Iqk7YWM7J207KeV7ZWp64uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzEwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuuqqOuTnCDrs4Dqsr0g7Iqk7YOc7Iuc7ZWp64uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuyCreygnCDsiqTtg5zsi5ztlanri4jquYwgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggdGhpcyBodW5rIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuydtCDrtoDrtoQg7Iqk7YOc7Iuc7ZWp64uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi66qo65OcIOuzgOqyvSDsiqTtg5zsi5wg7ZW07KCc7ZWp64uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi7IKt7KCcIOyKpO2DnOyLnCDtlbTsoJztlanri4jquYwgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzcwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi7J20IOu2gOu2hCDsiqTtg5zsi5wg7ZW07KCc7ZWp64uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzIwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuuqqOuTnCDrs4Dqsr3snYQg7J24642x7Iqk7JeQIOyggeyaqe2VqeuLiOq5jCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLsgq3soJzrpbwg7J24642x7Iqk7JeQIOyggeyaqe2VqeuLiOq5jCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi7J20IOu2gOu2hOydhCDsnbjrjbHsiqTsl5Ag7KCB7Jqp7ZWp64uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLrqqjrk5wg67OA6rK97J2EIOyekeyXhSDtj7TrjZTsl5DshJwg67KE66a964uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLsgq3soJzrpbwg7J6R7JeFIO2PtOuNlOyXkOyEnCDrsoTrpr3ri4jquYwgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzgwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLsnbQg67aA67aE7J2EIOyekeyXhSDtj7TrjZTsl5DshJwg67KE66a964uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi66qo65OcIOuzgOqyveydhCDsnbjrjbHsiqTsmYAg7J6R7JeFIO2PtOuNlOyXkOyEnCDrsoTrpr3ri4jquYwgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLsgq3soJzrpbwg7J24642x7Iqk7JmAIOyekeyXhSDtj7TrjZTsl5DshJwg67KE66a964uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuydtCDrtoDrtoTsnYQg7J24642x7Iqk7JmAIOyekeyXhSDtj7TrjZTsl5DshJwg67KE66a964uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLrqqjrk5wg67OA6rK97J2EIOyduOuNseyKpOyZgCDsnpHsl4Ug7Y+0642U7JeQIOyggeyaqe2VqeuLiOq5jCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi7IKt7KCc66W8IOyduOuNseyKpOyZgCDsnpHsl4Ug7Y+0642U7JeQIOyggeyaqe2VqeuLiOq5jCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuydtCDrtoDrtoTsnYQg7J24642x7Iqk7JmAIOyekeyXhSDtj7TrjZTsl5Ag7KCB7Jqp7ZWp64uI6rmMIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ5MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCiBtc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCiBtc2dzdHIgIuyWtOuKkCDrtoDrtoTsnLzroZwg7J2064+Z7ZWp64uI6rmMICjrjZQg67O066Ck66m0IDxyZXQ+KT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MgogbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKIG1zZ3N0ciAi7Ja064qQIOu2gOu2hOycvOuhnCDsnbTrj5ntlanri4jquYw/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAi7J6Y66q765CcIOuyiO2YuDogJyVzJ1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS5cbiIKIG1zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLlxuIgogbXNnc3RyWzBdICLrr7jslYjtlanri4jri6QuIOu2gOu2hOydtCAlZOqwnCDrsJbsl5Ag7JeG7Iq164uI64ukLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ4MgogbXNnaWQgInNlYXJjaCBmb3IgcmVnZXg/ICIKIG1zZ3N0ciAi7KCV6rec7Iud7J2EIOqygOyDie2VqeuLiOq5jD8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBzZWFyY2ggcmVnZXhwICVzOiAlc1xuIgogbXNnc3RyICLsnpjrqrvrkJwg7ZiV7YOc7J2YIOqygOyDiSDsoJXqt5zsi50gJXM6ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU1OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA1CiBtc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCiBtc2dzdHIgIlvso7zslrTsp4Qg7Yyo7YS07JeQIOunnuuKlCDrtoDrtoTsnbQg7JeG7Iq164uI64ukXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUxNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzkKIG1zZ2lkICJObyBwcmV2aW91cyBodW5rXG4iCiBtc2dzdHIgIuydtOyghCDrtoDrtoTsnbQg7JeG7Iq164uI64ukXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyNiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKIG1zZ2lkICJObyBuZXh0IGh1bmtcbiIKIG1zZ3N0ciAi64uk7J2MIOu2gOu2hOydtCDsl4bsirXri4jri6RcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3BsaXQgaW50byAlZCBodW5rLlxuIgogbXNnaWRfcGx1cmFsICJTcGxpdCBpbnRvICVkIGh1bmtzLlxuIgogbXNnc3RyWzBdICIlZOqwnCDrtoDrtoTsnLzroZwg64KY64iV64uI64ukLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYwNQogbXNnaWQgIlJldmlldyBkaWZmIgogbXNnc3RyICJkaWZmIOqygO2GoCIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBkbyBub3QgdHJhbnNsYXRlIHRoZSBjb21tYW5kIG5hbWVzCiAjLiAnc3RhdHVzJywgJ3VwZGF0ZScsICdyZXZlcnQnLCBldGMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NzcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYyNAogbXNnaWQgIiIKICJzdGF0dXMgICAgICAgIC0gc2hvdyBwYXRocyB3aXRoIGNoYW5nZXNcbiIKICJ1cGRhdGUgICAgICAgIC0gYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzXG4iCiAicmV2ZXJ0ICAgICAgICAtIHJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uXG4iCiAicGF0Y2ggICAgICAgICAtIHBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseVxuIgotImRpZmZcdCAgICAgIC0gdmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXhcbiIKKyJkaWZmICAgICAgICAgIC0gdmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXhcbiIKICJhZGQgdW50cmFja2VkIC0gYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiAiCiAiY2hhbmdlc1xuIgogbXNnc3RyICIiCkBAIC0xNTM5NCw4NSArMTU3ODksODUgQEAKICJhZGQgdW50cmFja2VkIC0g7LaU7KCB65CY7KeAIOyViuuKlCDtjIzsnbzsnZgg64K07Jqp7J2EIOuzgOqyvSDsgqztla0g7Iqk7YWM7J207KeVIOuqqOydjOyXkCDstpTqsIDtlakiCiAi64uI64ukXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTkKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDkKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjYKIG1zZ2lkICJtaXNzaW5nIC0tIgogbXNnc3RyICItLSDruaDsp5AiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVua25vd24gLS1wYXRjaCBtb2RlOiAlcyIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQgLS1wYXRjaCDrqqjrk5w6ICVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjc0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImludmFsaWQgYXJndW1lbnQgJXMsIGV4cGVjdGluZyAtLSIKIG1zZ3N0ciAi7J247J6Q6rCAICglcykg7J6Y66q765CY7JeI6rOgLCAtLeqwgCDsmYDslbwg7ZWp64uI64ukIgogCiAjIOyjvOydmDog7LSIIOuLqOychOydvCDqsr3smrDrpbwg66eQ7ZWc64ukCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjYKIG1zZ2lkICJsb2NhbCB6b25lIGRpZmZlcnMgZnJvbSBHTVQgYnkgYSBub24tbWludXRlIGludGVydmFsXG4iCiBtc2dzdHIgIuyngOyXrSDsi5zqsITrjIDsmYAgR01U7J2YIOywqOydtOqwgCDrtoQg64uo7JyE6rCAIOyVhOuLmeuLiOuLpFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMzkKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAi7KeA7JetIOyLnOqwgSDsmKTtlITshYvsnbQgMjTsi5zqsITrs7Tri6Qg7YGs6rGw64KYIOyekeyKteuLiOuLpFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMDggZ2l0LXNlbmQtZW1haWwucGVybDoyMTQKIG1zZ2lkICJ0aGUgZWRpdG9yIGV4aXRlZCB1bmNsZWFubHksIGFib3J0aW5nIGV2ZXJ5dGhpbmciCiBtc2dzdHIgIu2OuOynkeq4sOqwgCDruYTsoJXsg4HsoIHsnLzroZwg64Gd64KY7IScLCDrqqjrkZAg7KSR7KeA7ZWp64uI64ukIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKIG1zZ3N0ciAiJyVzJyDslYjsl5Ag7J6R7ISxIOykkeydtOyXiOuNmCDspJHqsIQg67KE7KCE7J2YIOyghOyekOuplOydvOydtCDrk6TslrQg7J6I7Iq164uI64ukLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIiclcy5maW5hbCcg7JWI7JeQIOyekeyEse2VnCDsoITsnpDrqZTsnbzsnbQg65Ok7Ja0IOyeiOyKteuLiOuLpC5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzE0CiBtc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgogbXNnc3RyICItLWR1bXAtYWxpYXNlcyDsmLXshZjsnYAg64uk66W4IOyYteyFmOqzvCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzY4IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM3OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIuyggOyepeyGjCDrsJbsl5DshJwgZ2l0IGZvcm1hdC1wYXRjaCDrqoXroLnsnYQg7Iuk7ZaJ7ZWgIOyImCDsl4bsirXri4jri6RcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0MzcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCAtLXN1cHByZXNzLWNjIO2VhOuTnDogJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ2NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLWNvbmZpcm0gc2V0dGluZzogJyVzJ1xuIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCAtLWNvbmZpcm0g7ISk7KCVOiAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDk4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICLqsr3qs6A6IOuUsOyYtO2RnOqwgCDsnojripQgc2VuZG1haWwg67OE7Lmt7J2AIOyngOybkO2VmOyngCDslYrsirXri4jri6Q6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTAwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgOmluY2x1ZGU6YCBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICLqsr3qs6A6IGA6aW5jbHVkZTpg64qUIOyngOybkO2VmOyngCDslYrsirXri4jri6Q6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgL2ZpbGVgIG9yIGB8cGlwZWAgcmVkaXJlY3Rpb24gbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAi6rK96rOgOiBgL2ZpbGVgIOuYkOuKlCBgfHBpcGVgIOumrOuLpOydtOugieyFmOydgCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogc2VuZG1haWwgbGluZSBpcyBub3QgcmVjb2duaXplZDogJXNcbiIKIG1zZ3N0ciAi6rK96rOgOiBzZW5kbWFpbCDspITsnbQg7J247Iud65CY7KeAIOyViuyKteuLiOuLpDogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1ODkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjAwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJGaWxlICclcycgZXhpc3RzIGJ1dCBpdCBjb3VsZCBhbHNvIGJlIHRoZSByYW5nZSBvZiBjb21taXRzXG4iCkBAIC0xNTQ4NywxMiArMTU4ODIsMTIgQEAKICIgICAgKiDtjIzsnbzsnYQg7J2Y64+E7ZaI64uk66m0IFwiLi8lc1wiKOydtCnrnbzqs6Ag7JOw6rOgLCDslYTri4jrqbRcbiIKICIgICAgKiDrspTsnITrpbwg7J2Y64+E7ZaI64uk66m0IC0tZm9ybWF0LXBhdGNoIOyYteyFmCDsgqzsmqlcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MTAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjIxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuZGlyICVzOiAlcyIKIG1zZ3N0ciAiJXPsl5Agb3BlbmRpciDsi6TtjKg6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogImZhdGFsOiAlczogJXNcbiIKQEAgLTE1NTAxLDcgKzE1ODk2LDcgQEAKICLsuZjrqoXsoIEg7Jik66WYOiAlczogJXNcbiIKICLqsr3qs6A6IO2MqOy5mOulvCDrs7TrgrTsp4Ag7JWK7JWY7Iq164uI64ukXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjQ1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY1NgogbXNnaWQgIiIKICJcbiIKICJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCkBAIC0xNTUxMSwxNyArMTU5MDYsMTcgQEAKICLtjKjsuZgg7YyM7J287J2EIOyngOygle2VmOyngCDslYrslZjsirXri4jri6RcbiIKICJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCiBtc2dzdHIgIiVzIOyViOyXkCDsoJzrqqkg7KSE7J20IOyXhuyKteuLiOuLpD8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIiVz7JeQIOyTsOugpOqzoCDsl6zripTrjbAg7Iuk7YyoOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njg5CiBtc2dpZCAiIgogIkxpbmVzIGJlZ2lubmluZyBpbiBcIkdJVDpcIiB3aWxsIGJlIHJlbW92ZWQuXG4iCiAiQ29uc2lkZXIgaW5jbHVkaW5nIGFuIG92ZXJhbGwgZGlmZnN0YXQgb3IgdGFibGUgb2YgY29udGVudHNcbiIKQEAgLTE1NTM1LDMyICsxNTkzMCwzMiBAQAogIlxuIgogIuyalOyVveydhCDrs7TrgrTripQg6rKMIOyVhOuLiOudvOuptCDrs7jrrLgg64K07Jqp7J2EIOyngOyasOyLreyLnOyYpC5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKIG1zZ3N0ciAiJXMuZmluYWzsnYQg7Jes64qU642wIOyLpO2MqDogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzA0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlczogJXMiCiBtc2dzdHIgIiVz7J2EKOulvCkg7Jes64qU642wIOyLpO2MqDogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc1MAogbXNnaWQgIlRvL0NjL0JjYyBmaWVsZHMgYXJlIG5vdCBpbnRlcnByZXRlZCB5ZXQsIHRoZXkgaGF2ZSBiZWVuIGlnbm9yZWRcbiIKIG1zZ3N0ciAiVG8vQ2MvQmNjIO2VhOuTnOqwgCDtlbTshJ3rkJjsp4Ag7JWK7JWE7IScLCDrrLTsi5ztlanri4jri6RcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NDgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzU5CiBtc2dpZCAiU3VtbWFyeSBlbWFpbCBpcyBlbXB0eSwgc2tpcHBpbmcgaXRcbiIKIG1zZ3N0ciAi7JqU7JW9IOyghOyekOuplOydvOydtCDruYTslrQg7J6I7Ja07IScIOuEmOyWtOqwkeuLiOuLpC5cbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgogbXNnc3RyICLsoJXrp5DroZwgPCVzPuydhCjrpbwpIOyCrOyaqe2VmOyLnOqyoOyKteuLiOq5jCBbeS9OXT8gIgogCiAjIOyjvOydmDogJzhiaXQn7J2065286rOgIOq3uOuMgOuhnCDsk7Tri6QuIOuplOydvCBlbmNvZGluZyDtl6TrjZTsl5Ag7JO4IGxpdGVyYWzsnYQg6rCA66as7YK0Ci0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCkBAIC0xNTU2OCwxMSArMTU5NjMsMTEgQEAKICLri6TsnYwg7YyM7J287J20IDhiaXTsnbTsp4Drp4wsIENvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmfsnYQg7ISk7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpC5cbiIKIAogIyDso7zsnZg6ICc4Yml0J+ydtOudvOqzoCDqt7jrjIDroZwg7JO064ukLiDrqZTsnbwgZW5jb2Rpbmcg7Zek642U7JeQIOyTuCBsaXRlcmFs7J2EIOqwgOumrO2CtAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODI1CiBtc2dpZCAiV2hpY2ggOGJpdCBlbmNvZGluZyBzaG91bGQgSSBkZWNsYXJlIFtVVEYtOF0/ICIKIG1zZ3N0ciAi7Ja065akIDhiaXQg7J247L2U65Sp7J2EIOyEoOyWuO2VqeuLiOq5jCBbVVRGLThdPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODIyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgzMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiUmVmdXNpbmcgdG8gc2VuZCBiZWNhdXNlIHRoZSBwYXRjaFxuIgpAQCAtMTU1ODUsMjAgKzE1OTgwLDIwIEBACiAi7KCc66qpIOyEnOyLneyduCAnKioqIFNVQkpFQ1QgSEVSRSAqKion6rCAIOuTpOyWtCDsnojsirXri4jri6QuIOygleunkOuhnCDrs7TrgrTroKTrqbQgLS1mb3JjZSAiCiAi7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpC5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODUyCiBtc2dpZCAiVG8gd2hvbSBzaG91bGQgdGhlIGVtYWlscyBiZSBzZW50IChpZiBhbnlvbmUpPyIKIG1zZ3N0ciAi64iE6rWs7JeQ6rKMIOyghOyekOuplOydvOydhCDrs7TrgrTslbwg7ZWp64uI6rmMICjrs7Trgrwg64yA7IOB7J20IOyeiOuLpOuptCk/IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1OQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NzAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IGFsaWFzICclcycgZXhwYW5kcyB0byBpdHNlbGZcbiIKIG1zZ3N0ciAi7LmY66qF7KCBIOyYpOulmDogJyVzJyDrs4Tsua3snYAg7J6Q6riwIOyekOyLoOydhCDqsIDrpqztgrXri4jri6RcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NzEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODgyCiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAi7LKrIOuplOydvOyXkCDrjIDtlbQgKOyeiOuLpOuptCkgTWVzc2FnZS1JROqwgCBJbi1SZXBseS1Ub+yXkCDsgqzsmqnrkJjsl4jsirXri4jri6Q/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjEgZ2l0LXNlbmQtZW1haWwucGVybDo5MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMyIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAi7Jik66WYOiDri6TsnYzsl5DshJwg7Jis67CU66W4IOyjvOyGjOulvCDstpTstpztlaAg7IiYIOyXhuyKteuLiOuLpDogJXNcbiIKQEAgLTE1NjA2LDE2ICsxNjAwMSwxNiBAQAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtxXSBbZF0gW2VdIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkzMworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDQKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgIuydtCDso7zshozroZwg66y07JeH7J2EIO2VmOyLnOqyoOyKteuLiOq5jD8gKFtxXeuBneuCtOq4sHxbZF3rsoTrpqzquLB8W2Vd7Y647KeRKTogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI0NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiXCIlc1wiIENBIOqyveuhnOqwgCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzIwCiBtc2dpZCAiIgogIiAgICBUaGUgQ2MgbGlzdCBhYm92ZSBoYXMgYmVlbiBleHBhbmRlZCBieSBhZGRpdGlvbmFsXG4iCiAiICAgIGFkZHJlc3NlcyBmb3VuZCBpbiB0aGUgcGF0Y2ggY29tbWl0IG1lc3NhZ2UuIEJ5IGRlZmF1bHRcbiIKQEAgLTE1NjQyLDEyNSArMTYwMzcsMTMwIEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldIFtuXSBbcV0gW2FdIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMzNQogbXNnaWQgIlNlbmQgdGhpcyBlbWFpbD8gKFt5XWVzfFtuXW98W3FddWl0fFthXWxsKTogIgogbXNnc3RyICLsnbQg7KCE7J6Q66mU7J287J2EIOuztOuCtOyLnOqyoOyKteuLiOq5jD8gKFt5XeyYiHxbbl3slYTri4jsmKR8W3Fd64Gd64K06riwfFthXeuqqOuRkCk6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMzgKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCiBtc2dzdHIgIu2VhOyalO2VnCDsoITsnpDrqZTsnbwg64u17J6lIOuztOuDheuLiOuLpCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzUzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNjQKIG1zZ2lkICJUaGUgcmVxdWlyZWQgU01UUCBzZXJ2ZXIgaXMgbm90IHByb3Blcmx5IGRlZmluZWQuIgogbXNnc3RyICLtlYTsmpTtlZwgU01UUCDshJzrsoTrpbwg7KCc64yA66GcIOyngOygle2VmOyngCDslYrslZjsirXri4jri6QuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzOTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCiBtc2dzdHIgIuyEnOuyhOyXkOyEnCBTVEFSVFRMU+ulvCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukISAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDAzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTYgZ2l0LXNlbmQtZW1haWwucGVybDoxNDIwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCittc2dzdHIgIlNUQVJUVExTIOyLpO2MqCEgJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAogbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCiBtc2dzdHIgIiIKICJTTVRQ66W8IOygnOuMgOuhnCDstIjquLDtmZTtlaAg7IiYIOyXhuyKteuLiOuLpC4g7ISk7KCV7J2EIO2ZleyduO2VmOqzoCAtLXNtdHAtZGVidWcg7Ji17IWY7J2EIOyCrOyaqSIKICLtlZjsi63si5zsmKQuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ0OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gc2VuZCAlc1xuIgogbXNnc3RyICIlc+ydhCjrpbwpIOuztOuCtOuKlOuNsCDsi6TtjKjtlojsirXri4jri6RcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRHJ5LVNlbnQgJXNcbiIKIG1zZ3N0ciAiJXMg67O064K064qUIO2dieuCtFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIiVzIOuztOuDhFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MwogbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIuyEseqztSDtnYnrgrQuIOq4sOuhneydgDpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTMKIG1zZ2lkICJPSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIuyEseqztS4g6riw66Gd7J2AOlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2NQogbXNnaWQgIlJlc3VsdDogIgogbXNnc3RyICLqsrDqs7w6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjgKIG1zZ2lkICJSZXN1bHQ6IE9LXG4iCiBtc2dzdHIgIuqysOqzvDog7KCV7IOBXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDgxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKIG1zZ3N0ciAiJXMg7YyM7J287J2EIOyXtCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDEgZ2l0LXNlbmQtZW1haWwucGVybDoxNTIxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MjggZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBjYzogJXMg7LaU6rCALCAnJXMnIOykhOyXkOyEnFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIHRvOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgdG86ICVzIOy2lOqwgCwgJyVzJyDspITsl5DshJxcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1ODIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG5vbi1tYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm947JWE64uYKSBjYzogJXMg7LaU6rCALCAnJXMnIOykhOyXkOyEnFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIo67O466y4KSBjYzogJXMg7LaU6rCALCAnJXMnIOykhOyXkOyEnFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIENvdWxkIG5vdCBleGVjdXRlICclcyciCiBtc2dzdHIgIiglcykgJyVzJ+ydhCDsi6TtlontlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjgzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKIG1zZ3N0ciAiKCVzKSAlczogJXMg7LaU6rCALCAnJXMnIOykhOyXkOyEnFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIGZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICclcyciCiBtc2dzdHIgIiglcykgJyVzJyjsnYQp66W8IO2Wpe2VnCDtjIzsnbTtlITrpbwg64ur64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDkKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgIuuplOyLnOyngOulvCA367mE7Yq466GcIOuztOuCvCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1NwogbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCiBtc2dzdHIgIuyemOuqu+uQnCDsoITshqEg7J247L2U65SpIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDEgZ2l0LXNlbmQtZW1haWwucGVybDoxNzkyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg0NiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgIiVz7J2EKOulvCkg7Je0IOyImCDsl4bsirXri4jri6Q6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzk4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBjb250YWlucyBhIGxpbmUgbG9uZ2VyIHRoYW4gOTk4IGNoYXJhY3RlcnMiCiBtc2dzdHIgIiVzOiDtjKjsuZjsl5AgOTk47J6Q67O064ukIOuNlCDquLQg7KSE7J20IOuTpOyWtCDsnojsirXri4jri6QiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc2MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODE0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nICVzIHdpdGggYmFja3VwIHN1ZmZpeCAnJXMnLlxuIgogbXNnc3RyICIlcyDrhJjslrTqsJAsIOyYiOu5hCDtmZXsnqXsnpAgJyVzJyDsnojsnYwuXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCAiW3l8Tl0iIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzY0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIHNlbmQgJXM/IFt5fE5dOiAiCiBtc2dzdHIgIuygleunkOuhnCAlcyDtjIzsnbzsnYQg67O064K07Iuc6rKg7Iq164uI6rmMPyBbeXxOXTogIgpkaWZmIC0tZ2l0IGEvcG8vcHRfUFQucG8gYi9wby9wdF9QVC5wbwppbmRleCAxMTQ5OTJkLi44YTJkNTVhIDEwMDY0NAotLS0gYS9wby9wdF9QVC5wbworKysgYi9wby9wdF9QVC5wbwpAQCAtOSw4ICs5LDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogR2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMTggMDE6MDArMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTctMDItMjMgMTY6MDUtMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTA0LTIzIDA5OjU0KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTA1LTAxIDIxOjE3KzAwMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFZhc2NvIEFsbWVpZGEgPHZhc2NvbWFsbWVpZGFAc2Fwby5wdD5cbiIKICJMYW5ndWFnZS1UZWFtOiBQb3J0dWd1ZXNlXG4iCiAiTGFuZ3VhZ2U6IHB0XG4iCkBAIC0xOCw3ICsxOCw3IEBACiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgotIlgtR2VuZXJhdG9yOiBQb2VkaXQgMS44LjEyXG4iCisiWC1HZW5lcmF0b3I6IFZpcnRhYWwgMC43LjFcbiIKIAogIzogYWR2aWNlLmM6NTUKICMsIGMtZm9ybWF0CkBAIC0yNyw3ICsyNyw4IEBACiAKICM6IGFkdmljZS5jOjgzCiBtc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgotbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyIGNoZXJyeS1waWNrIHBvcnF1ZSB0ZW0gZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcy4iCittc2dzdHIgIiIKKyJOw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyIGNoZXJyeS1waWNrIHBvcnF1ZSB0ZW0gZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcy4iCiAKICM6IGFkdmljZS5jOjg1CiBtc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCkBAIC02Miw3ICs2Myw3IEBACiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICJBIHRlcm1pbmFyIGRldmlkbyBhIGNvbmZsaXRvIG7Do28gcmVzb2x2aWRvLiIKIAotIzogYWR2aWNlLmM6MTE0IGJ1aWx0aW4vbWVyZ2UuYzoxMjA2CisjOiBhZHZpY2UuYzoxMTQgYnVpbHRpbi9tZXJnZS5jOjExODUKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIk7Do28gY29uY2x1w61kbyBhIGludGVncmHDp8OjbyAoTUVSR0VfSEVBRCBwcmVzZW50ZSkuIgogCkBAIC0zMzgsNyArMzM5LDcgQEAKIG1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGV4dHJhaXIgJXMiCiAKLSM6IGFwcGx5LmM6MzM4MSBhcHBseS5jOjMzOTIgYXBwbHkuYzozNDM4IHNldHVwLmM6MjQ4CisjOiBhcHBseS5jOjMzODEgYXBwbHkuYzozMzkyIGFwcGx5LmM6MzQzOCBzZXR1cC5jOjI1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiZmFsaGEgYW8gbGVyICVzIgpAQCAtNDYzLDcgKzQ2NCw3IEBACiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgImZhbHRhIGluZm9ybWHDp8OjbyBkZSBzaGExIG91IG7Do28gw6kgw7p0aWwgKCVzKS4iCiAKLSM6IGFwcGx5LmM6NDA4MSBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKKyM6IGFwcGx5LmM6NDA4MSBidWlsdGluL2NoZWNrb3V0LmM6MjUyIGJ1aWx0aW4vcmVzZXQuYzoxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiZmFsaGEgYW8gaW52b2NhciBtYWtlX2NhY2hlX2VudHJ5IGVtICclcyciCkBAIC01NDAsNyArNTQxLDcgQEAKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCiBtc2dzdHIgImEgdHJ1bmNhciBvIG5vbWUgZG8gZmljaGVpcm8gLnJlaiBlbSAlLipzLnJlaiIKIAotIzogYXBwbHkuYzo0NTMxIGJ1aWx0aW4vZmV0Y2guYzo3MzcgYnVpbHRpbi9mZXRjaC5jOjk4NgorIzogYXBwbHkuYzo0NTMxIGJ1aWx0aW4vZmV0Y2guYzo3MzkgYnVpbHRpbi9mZXRjaC5jOjk4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgJXMiCkBAIC01NjgsMTYxICs1NjksMTYyIEBACiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciBvIGZpY2hlaXJvIGRlIMOtbmRpY2UiCiAKLSM6IGFwcGx5LmM6NDgyNAorIzogYXBwbHkuYzo0ODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyIG8gcGF0Y2ggJyVzJzogJXMiCiAKLSM6IGFwcGx5LmM6NDg0OQorIzogYXBwbHkuYzo0ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHJbMF0gIiVkIGVycm8gZGUgZXNwYcOnbyBlbSBicmFuY28gcmVwcmltaWRvIgogbXNnc3RyWzFdICIlZCBlcnJvcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyByZXByaW1pZG9zIgogCi0jOiBhcHBseS5jOjQ4NTUgYXBwbHkuYzo0ODcwCisjOiBhcHBseS5jOjQ4NTYgYXBwbHkuYzo0ODcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkIGxpbmhhIGFkaWNpb25hIGVycm9zIGRlIGVzcGHDp28gZW0gYnJhbmNvLiIKIG1zZ3N0clsxXSAiJWQgbGluaGFzIGFkaWNpb25hbSBlcnJvcyBkZSBlc3Bhw6dvIGVtIGJyYW5jby4iCiAKLSM6IGFwcGx5LmM6NDg2MworIzogYXBwbHkuYzo0ODY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkIGxpbmhhIGFwbGljYWRhIGRlcG9pcyBkZSBjb3JyaWdpciBlcnJvcyBkZSBlc3Bhw6dvIGVtIGJyYW5jby4iCiBtc2dzdHJbMV0gIiVkIGxpbmhhcyBhcGxpY2FkYXMgZGVwb2lzIGRlIGNvcnJpZ2lyIGVycm9zIGRlIGVzcGHDp28gZW0gYnJhbmNvLiIKIAotIzogYXBwbHkuYzo0ODc5IGJ1aWx0aW4vYWRkLmM6NDYzIGJ1aWx0aW4vbXYuYzoyOTggYnVpbHRpbi9ybS5jOjM5MQorIzogYXBwbHkuYzo0ODgwIGJ1aWx0aW4vYWRkLmM6NDYzIGJ1aWx0aW4vbXYuYzoyOTggYnVpbHRpbi9ybS5jOjM5MQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGVzY3JldmVyIG5vdm8gZmljaGVpcm8gZGUgw61uZGljZSIKIAotIzogYXBwbHkuYzo0OTEwIGFwcGx5LmM6NDkxMyBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAotIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA0CisjOiBhcHBseS5jOjQ5MTEgYXBwbHkuYzo0OTE0IGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCisjOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYxCiAjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOQogbXNnaWQgInBhdGgiCiBtc2dzdHIgImNhbWluaG8iCiAKLSM6IGFwcGx5LmM6NDkxMQorIzogYXBwbHkuYzo0OTEyCiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAibsOjbyBhcGxpY2FyIGFsdGVyYcOnw7VlcyBxdWUgY29ycmVzcG9uZGFtIGFvIGNhbWluaG8gZm9ybmVjaWRvIgogCi0jOiBhcHBseS5jOjQ5MTQKKyM6IGFwcGx5LmM6NDkxNQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgImFwbGljYXIgYWx0ZXJhw6fDtWVzIHF1ZSBjb3JyZXNwb25kYW0gYW8gY2FtaW5obyBmb3JuZWNpZG8iCiAKLSM6IGFwcGx5LmM6NDkxNiBidWlsdGluL2FtLmM6MjI4NgorIzogYXBwbHkuYzo0OTE3IGJ1aWx0aW4vYW0uYzoyMjg2CiBtc2dpZCAibnVtIgogbXNnc3RyICJudW0iCiAKLSM6IGFwcGx5LmM6NDkxNworIzogYXBwbHkuYzo0OTE4CiBtc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCiBtc2dzdHIgInJlbW92ZXIgPG51bT4gYmFycmFzIMOgIGVzcXVlcmRhIGRvcyBjYW1pbmhvcyBkZSBkaWZmIHRyYWRpY2lvbmFsIgogCi0jOiBhcHBseS5jOjQ5MjAKKyM6IGFwcGx5LmM6NDkyMQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgImlnbm9yYXIgYWRpw6fDtWVzIGZlaXRhcyBwZWxvIHBhdGNoIgogCi0jOiBhcHBseS5jOjQ5MjIKKyM6IGFwcGx5LmM6NDkyMwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiZW0gdmV6IGRlIGFwbGljYXIgbyBwYXRjaCwgbW9zdHJhciBvIGRpZmZzdGF0IGRhIGVudHJhZGEiCiAKLSM6IGFwcGx5LmM6NDkyNgorIzogYXBwbHkuYzo0OTI3CiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKIG1zZ3N0ciAibW9zdHJhciBuw7ptZXJvIGRlIGxpbmhhcyBhZGljaW9uYWRhcyBlIHJlbW92aWRhcyBlbSBub3Rhw6fDo28gZGVjaW1hbCIKIAotIzogYXBwbHkuYzo0OTI4CisjOiBhcHBseS5jOjQ5MjkKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICJlbSB2ZXogZGUgYXBsaWNhciBvIHBhdGNoLCBtb3N0cmFyIHVtIHJlc3VtbyBkYSBlbnRyYWRhIgogCi0jOiBhcHBseS5jOjQ5MzAKKyM6IGFwcGx5LmM6NDkzMQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgImVtIHZleiBkZSBhcGxpY2FyIG8gcGF0Y2gsIHZlcmlmaWNhciBzZSBvIHBhdGNoIHBvZGUgc2VyIGFwbGljYWRvIgogCi0jOiBhcHBseS5jOjQ5MzIKKyM6IGFwcGx5LmM6NDkzMwogbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAiZ2FyYW50aXIgcXVlIG8gcGF0Y2ggcG9kZSBzZXIgYXBsaWNhZG8gYW8gw61uZGljZSBhdHVhbCIKIAotIzogYXBwbHkuYzo0OTM0CisjOiBhcHBseS5jOjQ5MzUKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiYXBsaWNhciB1bSBwYXRjaCBzZW0gdG9jYXIgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYXBwbHkuYzo0OTM2CisjOiBhcHBseS5jOjQ5MzcKIG1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgogbXNnc3RyICJhY2VpdGFyIHBhdGNoZXMgcXVlIGFsdGVyYW0gZmljaGVpcm9zIGZvcmEgZGEgw6FyZWEgZGUgdHJhYmFsaG8iCiAKLSM6IGFwcGx5LmM6NDkzOAorIzogYXBwbHkuYzo0OTM5CiBtc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiBtc2dzdHIgImFwbGljYXIgbyBwYXRjaCB0YW1iw6ltICh1c2UgY29tIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiAKLSM6IGFwcGx5LmM6NDk0MAorIzogYXBwbHkuYzo0OTQxCiBtc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAidGVudGFyIGludGVncmHDp8OjbyBjb20gdHLDqnMgcG9udG9zIHNlIHVtIHBhdGNoIG7Do28gc2UgYXBsaWNhIGNvbSDDqnhpdG8iCiAKLSM6IGFwcGx5LmM6NDk0MgorIzogYXBwbHkuYzo0OTQzCiBtc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCiBtc2dzdHIgIiIKICJjb25zdHJ1aXIgdW0gw61uZGljZSB0ZW1wb3LDoXJpbyBiYXNlYWRvIG5hIGluZm9ybWHDp8OjbyBpbmNvcnBvcmFkYSBkbyDDrW5kaWNlIgogCi0jOiBhcHBseS5jOjQ5NDUgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA3CisjOiBhcHBseS5jOjQ5NDYgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA4CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIm9zIGNhbWluaG9zIGVzdMOjbyBzZXBhcmFkb3MgcG9yIGNhcmFjdGVyZXMgTlVMIgogCi0jOiBhcHBseS5jOjQ5NDcKKyM6IGFwcGx5LmM6NDk0OAogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAiZ2FyYW50aXIgcXVlLCBwZWxvIG1lbm9zLCA8bj4gbGluaGFzIGRlIGNvbnRleHRvIGNvaW5jaWRlbSIKIAotIzogYXBwbHkuYzo0OTQ4IGJ1aWx0aW4vYW0uYzoyMjY1CisjOiBhcHBseS5jOjQ5NDkgYnVpbHRpbi9hbS5jOjIyNjUKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgImHDp8OjbyIKIAotIzogYXBwbHkuYzo0OTQ5CisjOiBhcHBseS5jOjQ5NTAKIG1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0ciAiZGV0ZXRhciBsaW5oYXMgbm92YXMgb3UgbW9kaWZpY2FkYXMgcXVlIHRlbmhhbSBlc3Bhw6dvcyBlbSBicmFuY28iCiAKLSM6IGFwcGx5LmM6NDk1MiBhcHBseS5jOjQ5NTUKKyM6IGFwcGx5LmM6NDk1MyBhcHBseS5jOjQ5NTYKIG1zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgogbXNnc3RyICJpZ25vcmFyIGFsdGVyYcOnw7VlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyBhbyBwcm9jdXJhciBjb250ZXh0byIKIAotIzogYXBwbHkuYzo0OTU4CisjOiBhcHBseS5jOjQ5NTkKIG1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKIG1zZ3N0ciAiYXBsaWNhciBvIHBhdGNoIGVtIHJldmVyc28iCiAKLSM6IGFwcGx5LmM6NDk2MAorIzogYXBwbHkuYzo0OTYxCiBtc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCiBtc2dzdHIgIm7Do28gZXNwZXJhciBuZW5odW1hIGxpbmhhIGRlIGNvbnRleHRvIgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk2MwogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICJkZWl4YXIgb3MgZXhjZXJ0b3MgcmVqZWl0YWRvcyBub3MgcmVzcGV0aXZvcyBmaWNoZWlyb3MgKi5yZWoiCiAKLSM6IGFwcGx5LmM6NDk2NAorIzogYXBwbHkuYzo0OTY1CiBtc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCiBtc2dzdHIgInBlcm1pdGlyIGEgc29icmVwb3Npw6fDo28gZGUgZXhjZXJ0b3MiCiAKLSM6IGFwcGx5LmM6NDk2NSBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBhcHBseS5jOjQ5NjYgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQogIzogYnVpbHRpbi9jb21taXQuYzoxMzM3IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjY1MQotIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTg2NyBidWlsdGluL212LmM6MTIyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAic2VyIHZlcmJvc28iCiAKLSM6IGFwcGx5LmM6NDk2NworIzogYXBwbHkuYzo0OTY4CiBtc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCi1tc2dzdHIgInRvbGVyYXIgZGV0ZcOnw7VlcyBpbmNvcnJldGFzIGRlIGZhbHRhIGRlIG5vdmEgbGluaGEgbm8gZmluYWwgZG8gZmljaGVpcm8iCittc2dzdHIgIiIKKyJ0b2xlcmFyIGRldGXDp8O1ZXMgaW5jb3JyZXRhcyBkZSBmYWx0YSBkZSBub3ZhIGxpbmhhIG5vIGZpbmFsIGRvIGZpY2hlaXJvIgogCi0jOiBhcHBseS5jOjQ5NzAKKyM6IGFwcGx5LmM6NDk3MQogbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKIG1zZ3N0ciAibsOjbyBjb25maWFyIG5hIGNvbnRhZ2VtIGRlIGxpbmhhcyBubyBjYWJlw6dhbGhvIGRvcyBleGNlcnRvcyIKIAotIzogYXBwbHkuYzo0OTcyIGJ1aWx0aW4vYW0uYzoyMjc0CisjOiBhcHBseS5jOjQ5NzMgYnVpbHRpbi9hbS5jOjIyNzQKIG1zZ2lkICJyb290IgogbXNnc3RyICJyYWl6IgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NDk3NAogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgInByZWNlZGVyIDxyb290PiBhIHRvZG9zIG9zIG5vbWVzIGRlIGZpY2hlaXJvIgogCkBAIC03NDUsMTAzICs3NDcsMTA4IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzAwCisjOiBhcmNoaXZlLmM6MzMyIGJ1aWx0aW4vYWRkLmM6MTUyIGJ1aWx0aW4vYWRkLmM6NDQyIGJ1aWx0aW4vcm0uYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAibyBlc3BlY2lmaWNhZG9yIGRlIGNhbWluaG8gJyVzJyBuw6NvIGNvcnJlc3BvbmRlIGEgbmVuaHVtIGZpY2hlaXJvIgogCi0jOiBhcmNoaXZlLmM6NDI5CisjOiBhcmNoaXZlLmM6NDE3CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0byBkbyBhcnF1aXZvIgogCi0jOiBhcmNoaXZlLmM6NDMwIGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYXJjaGl2ZS5jOjQxOCBidWlsdGluL2xvZy5jOjE0MzYKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgInByZWZpeG8iCiAKLSM6IGFyY2hpdmUuYzo0MzEKKyM6IGFyY2hpdmUuYzo0MTkKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJwcmVjZWRlciBvIHByZWZpeG8gYSBjYWRhIG5vbWUgZGUgY2FtaW5obyBkZW50cm8gZG8gYXJxdWl2byIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2JsYW1lLmM6MjYwNyBidWlsdGluL2JsYW1lLmM6MjYwOCBidWlsdGluL2NvbmZpZy5jOjU5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6MTA1NAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMSBidWlsdGluL2xzLWZpbGVzLmM6NTQxIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDEgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3JlYWQtdHJlZS5jOjEwOQorIzogYXJjaGl2ZS5jOjQyMCBidWlsdGluL2JsYW1lLmM6MjU5OCBidWlsdGluL2JsYW1lLmM6MjU5OSBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6MTA2MQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMSBidWlsdGluL2xzLWZpbGVzLmM6NTQyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDEgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3JlYWQtdHJlZS5jOjEyOQogIzogcGFyc2Utb3B0aW9ucy5oOjE1MwogbXNnaWQgImZpbGUiCiBtc2dzdHIgImZpY2hlaXJvIgogCi0jOiBhcmNoaXZlLmM6NDMzIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6NDIxIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICJlc2NyZXZlciBvIGFycXVpdm8gcGFyYSBlc3RlIGZpY2hlaXJvIgogCi0jOiBhcmNoaXZlLmM6NDM1CisjOiBhcmNoaXZlLmM6NDIzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAibGVyIC5naXRhdHRyaWJ1dGVzIGRvIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8iCiAKLSM6IGFyY2hpdmUuYzo0MzYKKyM6IGFyY2hpdmUuYzo0MjQKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICJsaXN0YXIgZmljaGVpcm9zIGFycXVpdmFkb3MgcGFyYSBzdGRlcnIiCiAKLSM6IGFyY2hpdmUuYzo0MzcKKyM6IGFyY2hpdmUuYzo0MjUKIG1zZ2lkICJzdG9yZSBvbmx5IgogbXNnc3RyICJhcm1hemVuYXIgYXBlbmFzIgogCi0jOiBhcmNoaXZlLmM6NDM4CisjOiBhcmNoaXZlLmM6NDI2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJjb21wcmVzc8OjbyByw6FwaWRhIgogCi0jOiBhcmNoaXZlLmM6NDQ2CisjOiBhcmNoaXZlLmM6NDM0CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICJjb21wcmVzc8OjbyDDs3RpbWEiCiAKLSM6IGFyY2hpdmUuYzo0NDkKKyM6IGFyY2hpdmUuYzo0MzcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgImxpc3RhciBmb3JtYXRvcyBkZSBhcnF1aXZvIHN1cG9ydGFkb3MiCiAKLSM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vY2xvbmUuYzo4OAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY5CisjOiBhcmNoaXZlLmM6NDM5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMDMgYnVpbHRpbi9jbG9uZS5jOjEwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgyCiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAicmVwbyIKIAotIzogYXJjaGl2ZS5jOjQ1MiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjQ0MCBidWlsdGluL2FyY2hpdmUuYzo5MQogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICJvYnRlciBvIGFycXVpdm8gYSBwYXJ0aXIgZG8gcmVwb3NpdMOzcmlvIHJlbW90byA8cmVwbz4iCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NQorIzogYXJjaGl2ZS5jOjQ0MSBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg1CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiY29tYW5kbyIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjQ0MiBidWlsdGluL2FyY2hpdmUuYzo5MwogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAiY2FtaW5obyBwYXJhIG8gY29tYW5kbyBnaXQtdXBsb2FkLWFyY2hpdmUgbm8gcmVtb3RvIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDQ5CiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgIk9ww6fDo28gaW5lc3BlcmFkYSAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ2MworIzogYXJjaGl2ZS5jOjQ1MQogbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgogbXNnc3RyICJBIG9ww6fDo28gLS1leGVjIHPDsyBwb2RlIHNlciB1c2FkYSBlbSBjb25qdW50byBjb20gLS1yZW1vdGUiCiAKLSM6IGFyY2hpdmUuYzo0NjUKKyM6IGFyY2hpdmUuYzo0NTMKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKIG1zZ3N0ciAiT3DDp8OjbyBpbmVzcGVyYWRhIC0tb3V0cHV0IgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiRm9ybWF0byBkZSBhcnF1aXZvIGRlc2NvbmhlY2lkbyAnJXMnIgogCi0jOiBhcmNoaXZlLmM6NDk0CisjOiBhcmNoaXZlLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCiBtc2dzdHIgIkFyZ3VtZW50byBuw6NvIHN1cG9ydGFkbyBwYXJhIG8gZm9ybWF0byAnJXMnOiAtJWQiCiAKLSM6IGF0dHIuYzoyNjMKKyM6IGF0dHIuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS4qcyBpcyBub3QgYSB2YWxpZCBhdHRyaWJ1dGUgbmFtZSIKK21zZ3N0ciAiJS4qcyBuw6NvIMOpIHVtIG5vbWUgZGUgYXRyaWJ1dG8gdsOhbGlkbyIKKworIzogYXR0ci5jOjQwOAogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgogIlVzZSAnXFwhJyBmb3IgbGl0ZXJhbCBsZWFkaW5nIGV4Y2xhbWF0aW9uLiIKQEAgLTg0OSwyNyArODU2LDI3IEBACiAiT3MgcGFkcsO1ZXMgbmVnYXRpdm9zIHPDo28gaWdub3JhZG9zIG5vcyBhdHJpYnV0b3MgZG8gZ2l0XG4iCiAiVXNlICdcXCEnIHBhcmEgdW1hIGV4Y2xhbWHDp8OjbyBsaXRlcmFsIMOgIGVzcXVlcmRhLiIKIAotIzogYmlzZWN0LmM6NDQxCisjOiBiaXNlY3QuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyAnJXMnIgogCi0jOiBiaXNlY3QuYzo0NDYKKyM6IGJpc2VjdC5jOjQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICJDb250ZcO6ZG8gaW5jb3JyZXRhbWVudGUgY2l0YWRvIG5vIGZpY2hlaXJvICclcyc6ICVzIgogCi0jOiBiaXNlY3QuYzo2NTUKKyM6IGJpc2VjdC5jOjY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iCiBtc2dzdHIgIk7Do28gc2UgZXN0w6EgYSBiaXNzZXRhciBtYWlzIVxuIgogCi0jOiBiaXNlY3QuYzo3MDgKKyM6IGJpc2VjdC5jOjcwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKIG1zZ3N0ciAiJXMgbsOjbyDDqSB1bSBub21lIGRlIGNvbW1pdCB2w6FsaWRvIgogCi0jOiBiaXNlY3QuYzo3MzIKKyM6IGJpc2VjdC5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgYmFkLlxuIgpAQCAtODc4LDcgKzg4NSw3IEBACiAiQSBiYXNlIGRlIGludGVncmHDp8OjbyAlcyDDqSBtw6EgKGJhZCkuXG4iCiAiU2lnbmlmaWNhIHF1ZSBvIGJ1ZyBmb2kgY29ycmlnaWRvIGVudHJlICVzIGUgWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzM3CisjOiBiaXNlY3QuYzo3MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKQEAgLTg4Nyw3ICs4OTQsNyBAQAogIkEgYmFzZSBkZSBpbnRlZ3Jhw6fDo28gJXMgw6kgbm92YSAobmV3KS5cbiIKICJBIHByb3ByaWVkYWRlIGZvaSBtdWRhZGEgZW50cmUgJXMgZSBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NDIKKyM6IGJpc2VjdC5jOjc0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCkBAIC04OTYsNyArOTAzLDcgQEAKICJBIGJhc2UgZGUgaW50ZWdyYcOnw6NvICVzIMOpICVzLlxuIgogIlNpZ25pZmljYSBxdWUgbyBwcmltZWlybyBjb21taXQgJyVzJyBlc3TDoSBlbnRyZSAlcyBlIFslc10uXG4iCiAKLSM6IGJpc2VjdC5jOjc1MAorIzogYmlzZWN0LmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvcnMgb2YgdGhlICVzIHJldi5cbiIKQEAgLTkwNyw3ICs5MTQsNyBAQAogImdpdCBiaXNlY3QgbsOjbyBwb2RlIGZ1bmNpb25hciBjb3JyZXRhbWVudGUgbmVzdGEgc2l0dWHDp8Ojby5cbiIKICJUYWx2ZXogY29uZnVuZGl1IHJldmlzw7VlcyAlcyBlICVzP1xuIgogCi0jOiBiaXNlY3QuYzo3NjMKKyM6IGJpc2VjdC5jOjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCkBAIC05MTksMzYgKzkyNiwzNiBAQAogIiVzLlxuIgogIkNvbnRpbnVhLXNlIGRlIHF1YWxxdWVyIG1hbmVpcmEuIgogCi0jOiBiaXNlY3QuYzo3OTgKKyM6IGJpc2VjdC5jOjc5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgogbXNnc3RyICJBIGJpc3NldGFyOiB1bWEgYmFzZSBkZSBpbnRlZ3Jhw6fDo28gdGVtIGRlIHNlciB0ZXN0YWRhXG4iCiAKLSM6IGJpc2VjdC5jOjg0OQorIzogYmlzZWN0LmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImEgJXMgcmV2aXNpb24gaXMgbmVlZGVkIgogbXNnc3RyICJwcmVjaXNhLXNlIGRlIHVtYSByZXZpc8OjbyAlcyIKIAotIzogYmlzZWN0LmM6ODY2IGJ1aWx0aW4vbm90ZXMuYzoxNzQgYnVpbHRpbi90YWcuYzoyNjIKKyM6IGJpc2VjdC5jOjg2NyBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgbyBmaWNoZWlybyAnJXMnIgogCi0jOiBiaXNlY3QuYzo5MTcKKyM6IGJpc2VjdC5jOjkxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyBmaWNoZWlybyAnJXMnIgogCi0jOiBiaXNlY3QuYzo5NDcKKyM6IGJpc2VjdC5jOjk0OAogbXNnaWQgInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyBsZXIgcmVmZXLDqm5jaWFzIGJpc3NldGFkYXMiCiAKLSM6IGJpc2VjdC5jOjk2NworIzogYmlzZWN0LmM6OTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHdhcyBib3RoICVzIGFuZCAlc1xuIgogbXNnc3RyICIlcyBlcmEgJXMgZSAlcyBlbSBzaW11bHTDom5lb1xuIgogCi0jOiBiaXNlY3QuYzo5NzUKKyM6IGJpc2VjdC5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGVzdGFibGUgY29tbWl0IGZvdW5kLlxuIgpAQCAtOTU3LDcgKzk2NCw3IEBACiAiTmVuaHVtIGNvbW1pdCB0ZXN0w6F2ZWwgZW5jb250cmFkby5cbiIKICJUYWx2ZXogdGVuaGEgY29tZcOnYWRvIGNvbSBwYXLDom1ldHJvcyBkZSBjYW1pbmhvIGluY29ycmV0b3M/XG4iCiAKLSM6IGJpc2VjdC5jOjk5NAorIzogYmlzZWN0LmM6OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyb3VnaGx5ICVkIHN0ZXApIgogbXNnaWRfcGx1cmFsICIocm91Z2hseSAlZCBzdGVwcykiCkBAIC05NjYsNyArOTczLDcgQEAKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAogIy4gIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24KLSM6IGJpc2VjdC5jOjk5OAorIzogYmlzZWN0LmM6OTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKQEAgLTExMDUsNyArMTExMiw3IEBACiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIiclcycgZm9pIGrDoSBleHRyYcOtZG8gZW0gJyVzJyIKIAotIzogYnJhbmNoLmM6MzYzCisjOiBicmFuY2guYzozNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgIkhFQUQgZGEgw6Fydm9yZSBkZSB0cmFiYWxobyAlcyBuw6NvIGVzdMOhIGF0dWFsaXphZGEiCkBAIC0xMTIwLDcgKzExMjcsNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAiY2FiZcOnYWxobyBuw6NvIHJlY29uaGVjaWRvOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IHNlcXVlbmNlci5jOjEzMzEgc2VxdWVuY2VyLmM6MTc1MiBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6MTMzOSBzZXF1ZW5jZXIuYzoxNzYwIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAnJXMnIgpAQCAtMTEyOSwxMCArMTEzNiwxMCBAQAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICJPIHJlcG9zaXTDs3JpbyBuw6NvIHBvc3N1w60gZXN0ZXMgY29tbWl0cyBwcsOpLXJlcXVpc2l0YWRvczoiCiAKLSM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ5OSBzZXF1ZW5jZXIuYzoxMTU0IHNlcXVlbmNlci5jOjIyOTAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODIwIGJ1aWx0aW4vY29tbWl0LmM6MTA2MSBidWlsdGluL2xvZy5jOjM0OAotIzogYnVpbHRpbi9sb2cuYzo4OTAgYnVpbHRpbi9sb2cuYzoxMzQwIGJ1aWx0aW4vbG9nLmM6MTY2NiBidWlsdGluL2xvZy5jOjE5MDkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNjAgYnVpbHRpbi9zaG9ydGxvZy5jOjE3NworIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxODUyIHNlcXVlbmNlci5jOjExNjIgc2VxdWVuY2VyLmM6MjI5OQorIzogYnVpbHRpbi9ibGFtZS5jOjI4MTEgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzUzCisjOiBidWlsdGluL2xvZy5jOjg5NyBidWlsdGluL2xvZy5jOjEzNDcgYnVpbHRpbi9sb2cuYzoxNjczIGJ1aWx0aW4vbG9nLmM6MTkxNgorIzogYnVpbHRpbi9tZXJnZS5jOjM1OSBidWlsdGluL3Nob3J0bG9nLmM6MTc2CiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGNvbmZpZ3VyYXIgcGVyY3Vyc28gZGUgcmV2aXPDtWVzIgogCkBAIC0xMTcxLDcgKzExNzgsNyBAQAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICJhIHJlZmVyw6puY2lhICclcycgw6kgZXhjbHXDrWRhIHBlbGFzIG9ww6fDtWVzIGRlIHJldi1saXN0IgogCi0jOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjUgYnVpbHRpbi9sb2cuYzoxNTcyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyODIKKyM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE3MCBidWlsdGluL2xvZy5jOjE1NzkgYnVpbHRpbi9zaG9ydGxvZy5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudG8gbsOjbyByZWNvbmhlY2lkbzogJXMiCkBAIC0xMTk0LDcgKzEyMDEsNyBAQAogbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCiBtc2dzdHIgInZhbG9yIGRlIGNvciBpbnbDoWxpZG86ICUuKnMiCiAKLSM6IGNvbW1pdC5jOjQwIHNlcXVlbmNlci5jOjE1NjQgYnVpbHRpbi9hbS5jOjQyMSBidWlsdGluL2FtLmM6NDU3CisjOiBjb21taXQuYzo0MCBzZXF1ZW5jZXIuYzoxNTcyIGJ1aWx0aW4vYW0uYzo0MjEgYnVpbHRpbi9hbS5jOjQ1NwogIzogYnVpbHRpbi9hbS5jOjE0OTMgYnVpbHRpbi9hbS5jOjIxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgpAQCAtMTIwNSw3ICsxMjEyLDcgQEAKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyBuw6NvIMOpIHVtIGNvbW1pdCEiCiAKLSM6IGNvbW1pdC5jOjE1MTQKKyM6IGNvbW1pdC5jOjE1MTEKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCkBAIC0xMjIwLDEzNyArMTIyNywxNTggQEAKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICJtZW3Ds3JpYSBlc2dvdGFkYSIKIAotIzogY29uZmlnLmM6NTE4CisjOiBjb25maWcuYzoxOTEKK21zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZSBjb25kaXRpb25hbHMgbXVzdCBjb21lIGZyb20gZmlsZXMiCittc2dzdHIgImNvbmZpZ3VyYcOnw6NvIHJlbGF0aXZhIGNvbSBpbmNsdXPDo28gY29uZGljaW9uYWwgZGV2ZSBwcm92aXIgZGUgZmljaGVpcm9zIgorCisjOiBjb25maWcuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCiBtc2dzdHIgImxpbmhhIGRlIGNvbmZpZ3VyYcOnw6NvICVkIGluY29ycmV0YSBubyBibG9iICVzIgogCi0jOiBjb25maWcuYzo1MjIKKyM6IGNvbmZpZy5jOjcwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAibGluaGEgZGUgY29uZmlndXJhw6fDo28gJWQgaW5jb3JyZXRhIG5vIGZpY2hlaXJvICVzIgogCi0jOiBjb25maWcuYzo1MjYKKyM6IGNvbmZpZy5jOjcwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpbmhhIGRlIGNvbmZpZ3VyYcOnw6NvICVkIGluY29ycmV0YSBuYSBlbnRyYWRhIHBhZHLDo28iCiAKLSM6IGNvbmZpZy5jOjUzMAorIzogY29uZmlnLmM6NzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKIG1zZ3N0ciAibGluaGEgZGUgY29uZmlndXJhw6fDo28gJWQgaW5jb3JyZXRhIG5vIHN1Ym3Ds2R1bG8tYmxvYiAlcyIKIAotIzogY29uZmlnLmM6NTM0CisjOiBjb25maWcuYzo3MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKIG1zZ3N0ciAibGluaGEgZGUgY29uZmlndXJhw6fDo28gJWQgaW5jb3JyZXRhIG5hIGxpbmhhIGRlIGNvbWFuZG9zICVzIgogCi0jOiBjb25maWcuYzo1MzgKKyM6IGNvbmZpZy5jOjcyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCiBtc2dzdHIgImxpbmhhIGRlIGNvbmZpZ3VyYcOnw6NvICVkIGluY29ycmV0YSBlbSAlcyIKIAotIzogY29uZmlnLmM6NjU3CisjOiBjb25maWcuYzo4NDAKIG1zZ2lkICJvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZvcmEgZGUgaW50ZXJ2YWxvIgogCi0jOiBjb25maWcuYzo2NTcKKyM6IGNvbmZpZy5jOjg0MAogbXNnaWQgImludmFsaWQgdW5pdCIKIG1zZ3N0ciAidW5pZGFkZSBpbnbDoWxpZGEiCiAKLSM6IGNvbmZpZy5jOjY2MworIzogY29uZmlnLmM6ODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG86ICVzIgogCi0jOiBjb25maWcuYzo2NjgKKyM6IGNvbmZpZy5jOjg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKIG1zZ3N0ciAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG8gbm8gYmxvYiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY3MQorIzogY29uZmlnLmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgogbXNnc3RyICJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBubyBmaWNoZWlybyAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NAorIzogY29uZmlnLmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAiIgogInZhbG9yIG51bcOpcmljbyAnJXMnIGRhIGNvbmZpZ3VyYcOnw6NvICclcycgaW5jb3JyZXRvIG5hIGVudHJhZGEgcGFkcsOjbzogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NworIzogY29uZmlnLmM6ODYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKIG1zZ3N0ciAiIgogInZhbG9yIG51bcOpcmljbyAnJXMnIGRhIGNvbmZpZ3VyYcOnw6NvICclcycgaW5jb3JyZXRvIG5vIHN1Ym3Ds2R1bG8tYmxvYiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY4MAorIzogY29uZmlnLmM6ODYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgIiIKLSJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBuYSBsaW5oYSBkZSBjb21hbmRvcyAlczogJXMiCisidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG8gbmEgbGluaGEgZGUgY29tYW5kb3MgJXM6ICIKKyIlcyIKIAotIzogY29uZmlnLmM6NjgzCisjOiBjb25maWcuYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgogbXNnc3RyICJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBlbSAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjc3MAorIzogY29uZmlnLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgImZhbGhhIGFvIGV4cGFuZGlyIGRpcmV0w7NyaW8gZGUgdXRpbGl6YWRvciBlbTogJyVzJyIKIAotIzogY29uZmlnLmM6ODY1IGNvbmZpZy5jOjg3NgorIzogY29uZmlnLmM6MTA0OCBjb25maWcuYzoxMDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICJuw612ZWwgZGUgY29tcHJlc3PDo28gemxpYiAlZCBpbmNvcnJldG8iCiAKLSM6IGNvbmZpZy5jOjk5MworIzogY29uZmlnLmM6MTE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgIm1vZG8gaW52w6FsaWRvIHBhcmEgY3JpYcOnw6NvIGRlIG9iamV0bzogJXMiCiAKLSM6IGNvbmZpZy5jOjExNDkKKyM6IGNvbmZpZy5jOjEzMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm7DrXZlbCBkZSBjb21wYWN0YcOnw6NvIGRvIHBhY290ZSAlZCBpbmNvcnJldG8iCiAKLSM6IGNvbmZpZy5jOjEzMzkKKyM6IGNvbmZpZy5jOjE1MjIKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYW5hbGlzYXIgY29uZmlndXJhw6fDo28gZGUgbGluaGEgZGUgY29tYW5kb3MiCiAKLSM6IGNvbmZpZy5jOjEzODkKKyM6IGNvbmZpZy5jOjE1NzIKIG1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgIiIKICJvY29ycmV1IHVtIGVycm8gZGVzY29uaGVjaWRvIGR1cmFudGUgYSBsZWl0dXJhIGRvcyBmaWNoZWlyb3MgZGUgY29uZmlndXJhw6fDo28iCiAKLSM6IGNvbmZpZy5jOjE3NDMKKyM6IGNvbmZpZy5jOjE5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAlczogJyVzJyIKK21zZ3N0ciAiSW52w6FsaWRvICVzOiAnJXMnIgorCisjOiBjb25maWcuYzoxOTUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKK21zZ3N0ciAiIgorInZhbG9yICclcycgZGUgY29yZS51bnRyYWNrZWRDYWNoZSBkZXNjb25oZWNpZG87IHVzYXIgJ2tlZXAnIHZhbG9yIHBvciBvbWlzc8OjbyIKKworIzogY29uZmlnLmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCittc2dzdHIgIm8gdmFsb3IgJyVkJyBkZSBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgZGV2ZSBlc3RhciBlbnRyZSAwIGUgMTAwIgorCisjOiBjb25maWcuYzoxOTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYW5hbGlzYXIgJyVzJyBkYSBjb25maWd1cmHDp8OjbyBkZSBsaW5oYSBkZSBjb21hbmRvcyIKIAotIzogY29uZmlnLmM6MTc0NQorIzogY29uZmlnLmM6MTk5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgInZhcmnDoXZlbCBkZSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0YSBubyBmaWNoZWlybyAnJXMnIG5hIGxpbmhhICVkIgogCi0jOiBjb25maWcuYzoxODA0CisjOiBjb25maWcuYzoyMDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIHRlbSBtw7psdGlwbG9zIHZhbG9yZXMiCiAKLSM6IGNvbmZpZy5jOjIyMjUgY29uZmlnLmM6MjQ1MAorIzogY29uZmlnLmM6MjM4NCBjb25maWcuYzoyNjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgZGUgZnN0YXQgZGUgJXMiCiAKLSM6IGNvbmZpZy5jOjIzNDMKKyM6IGNvbmZpZy5jOjI1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyICclcycgY29tbyAnJXMnIgogCi0jOiBjb25maWcuYzoyMzQ1CisjOiBjb25maWcuYzoyNTA0IGJ1aWx0aW4vcmVtb3RlLmM6Nzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVpbmljaWFyICclcyciCkBAIC0xNTIxLDIwICsxNTQ5LDIwIEBACiAiRXJyb3MgZW5jb250cmFkb3MgbmEgdmFyacOhdmVsIGRlIGNvbmZpZ3VyYcOnw6NvICdkaWZmLmRpcnN0YXQnOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzA4NQorIzogZGlmZi5jOjMxMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAibyBkaWZmIGV4dGVybm8gdGVybWlub3UgaW5lc3BlcmFkYW1lbnRlLCBpbnRlcnJvbXBpZG8gZW0gJXMiCiAKLSM6IGRpZmYuYzozNDExCisjOiBkaWZmLmM6MzQyOAogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBlIC1zIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdm9zIgogCi0jOiBkaWZmLmM6MzUwMQorIzogZGlmZi5jOjM1MTgKIG1zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKIG1zZ3N0ciAiLS1mb2xsb3cgcmVxdWVyIGV4YXRhbWVudGUgdW0gw7puaWNvIGVzcGVjaWZpY2Fkb3IgZGUgY2FtaW5obyIKIAotIzogZGlmZi5jOjM2NjQKKyM6IGRpZmYuYzozNjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC0xNTQzLDIwOSArMTU3MSwyMjkgQEAKICJGYWxoYSBhbyBhbmFsaXNhciBwYXLDom1ldHJvIGRhIG9ww6fDo28gLS1kaXJzdGF0Ly1YOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzY3OAorIzogZGlmZi5jOjM2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkZhbGhhIGFvIGFuYWxpc2FyIHBhcsOibWV0cm8gZGEgb3DDp8OjbyAtLXN1Ym1vZHVsZTogJyVzJyIKIAotIzogZGlmZi5jOjQ2OTYKKyM6IGRpZmYuYzo0NzE5CiBtc2dpZCAiaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIHdhcyBza2lwcGVkIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKICJhIGRldGXDp8OjbyBtdWRhbsOnYSBkZSBub21lIGluZXhhdGEgZm9pIG9taXRpZGEgZGV2aWRvIGEgZGVtYXNpYWRvcyBmaWNoZWlyb3MuIgogCi0jOiBkaWZmLmM6NDY5OQorIzogZGlmZi5jOjQ3MjIKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKICJzw7MgZm9yYW0gZW5jb250cmFkYXMgY8OzcGlhcyBkZSBjYW1pbmhvcyBtb2RpZmljYWRvcyBkZXZpZG8gYSBkZW1hc2lhZG9zICIKICJmaWNoZWlyb3MuIgogCi0jOiBkaWZmLmM6NDcwMgorIzogZGlmZi5jOjQ3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgogbXNnc3RyICIiCiAicG9kZSB0ZW50YXIgZGVmaW5pciBhIHZhcmnDoXZlbCAlcyBwYXJhLCBwZWxvIG1lbm9zLCAlZCBlIHJlcGV0aXIgbyBjb21hbmRvLiIKIAotIzogZGlyLmM6MTg2MgorIzogZGlyLmM6MTg5OQogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICJmYWxoYSBhbyBvYnRlciBub21lIGUgaW5mb3JtYcOnw6NvIGRvIGtlcm5lbCIKIAotIzogZGlyLmM6MTk4MQorIzogZGlyLmM6MjAxOAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbi4iCiBtc2dzdHIgIkEgY2FjaGUgbsOjbyBjb250cm9sYWRhIGVzdMOhIGRlc2F0aXZhZGEgbmVzdGUgc2lzdGVtYSBvdSBsb2NhbGl6YcOnw6NvLiIKIAotIzogZGlyLmM6Mjc1OQorIzogZGlyLmM6Mjc3NiBkaXIuYzoyNzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3JpZXMgZm9yICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgbyBkaXJldMOzcmlvcyBwYXJhICVzIgorCisjOiBkaXIuYzoyODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtaWdyYXRlIGdpdCBkaXJlY3RvcnkgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBtaWdyYXIgbyBkaXJldMOzcmlvIGdpdCBkZSAnJXMnIHBhcmEgJyVzJyIKIAotIzogZmV0Y2gtcGFjay5jOjIxMworIzogZW50cnkuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgZmlsZSAnJXMnIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgc3RhdCBkbyBmaWNoZWlybyAnJXMnIgorCisjOiBmZXRjaC1wYWNrLmM6MjQ5CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGVzcGVyYXZhLXNlIGxpc3RhIHJhc2EiCiAKLSM6IGZldGNoLXBhY2suYzoyMjUKKyM6IGZldGNoLXBhY2suYzoyNjEKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGVzcGVyYXZhLXNlIEFDSy9OQUssIG9idGV2ZS1zZSBFT0YiCiAKLSM6IGZldGNoLXBhY2suYzoyNDMKKyM6IGZldGNoLXBhY2suYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZXNwZXJhdmEtc2UgQUNLL05BSywgb2J0ZXZlLXNlICclcyciCiAKLSM6IGZldGNoLXBhY2suYzoyOTUKKyM6IGZldGNoLXBhY2suYzozMzEKIG1zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICItLXN0YXRlbGVzcy1ycGMgcmVxdWVyIG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjM4MQorIzogZmV0Y2gtcGFjay5jOjQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgImxpbmhhIHJhc2EgaW52w6FsaWRhOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM4NworIzogZmV0Y2gtcGFjay5jOjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAibGluaGEgcGFyYSBhcHJvZnVuZGFyIGludsOhbGlkYTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozODkKKyM6IGZldGNoLXBhY2suYzo0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCiBtc2dzdHIgIm9iamV0byBuw6NvIGVuY29udHJhZG86ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzkyCisjOiBmZXRjaC1wYWNrLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCiBtc2dzdHIgImVycm8gbm8gb2JqZXRvOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5NAorIzogZmV0Y2gtcGFjay5jOjQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAicmFzbyBuw6NvIGVuY29udHJhZG86ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk3CisjOiBmZXRjaC1wYWNrLmM6NDMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgImVzcGVyYXZhLXNlIHJhc28vYXByb2Z1bmRhciwgb2J0ZXZlLXNlICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDM2CisjOiBmZXRjaC1wYWNrLmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAib2J0ZXZlLXNlICVzICVkICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDUwCisjOiBmZXRjaC1wYWNrLmM6NDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICJjb21taXQgaW52w6FsaWRvICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDgzCisjOiBmZXRjaC1wYWNrLmM6NTE5CiBtc2dpZCAiZ2l2aW5nIHVwIgogbXNnc3RyICJkZXNpc3TDqm5jaWEiCiAKLSM6IGZldGNoLXBhY2suYzo0OTMgcHJvZ3Jlc3MuYzoyMzUKKyM6IGZldGNoLXBhY2suYzo1MjkgcHJvZ3Jlc3MuYzoyMzUKIG1zZ2lkICJkb25lIgogbXNnc3RyICJjb25jbHXDrWRvIgogCi0jOiBmZXRjaC1wYWNrLmM6NTA1CisjOiBmZXRjaC1wYWNrLmM6NTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAoJWQpICVzIgogbXNnc3RyICJvYnRldmUtc2UgJXMgKCVkKSAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjU1MQorIzogZmV0Y2gtcGFjay5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgogbXNnc3RyICJNYXJjYWRvICVzIGNvbW8gY29tcGxldG8iCiAKLSM6IGZldGNoLXBhY2suYzo2OTcKKyM6IGZldGNoLXBhY2suYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCiBtc2dzdHIgImrDoSBzZSB0ZW0gJXMgKCVzKSIKIAotIzogZmV0Y2gtcGFjay5jOjczNQorIzogZmV0Y2gtcGFjay5jOjc3MwogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJmZXRjaC1wYWNrOiBuw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyIGZvcmsgZGUgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIAotIzogZmV0Y2gtcGFjay5jOjc0MworIzogZmV0Y2gtcGFjay5jOjc4MQogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCiBtc2dzdHIgImVycm8gZGUgcHJvdG9jb2xvOiBjYWJlw6dhbGhvIGRlIHBhY290ZSBpbmNvcnJldG8iCiAKLSM6IGZldGNoLXBhY2suYzo3OTkKKyM6IGZldGNoLXBhY2suYzo4MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICJmZXRjaC1wYWNrOiBuw6NvIMOpIHBvc3PDrXZlbCBjcmlhciBwcm9jZXNzbyBmaWxobyAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjgxNQorIzogZmV0Y2gtcGFjay5jOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIiVzIGZhbGhvdSIKIAotIzogZmV0Y2gtcGFjay5jOjgxNworIzogZmV0Y2gtcGFjay5jOjg1NQogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImVycm8gbm8gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIAotIzogZmV0Y2gtcGFjay5jOjg0NAorIzogZmV0Y2gtcGFjay5jOjg4MgogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKIG1zZ3N0ciAiTyBzZXJ2aWRvciBuw6NvIHN1cG9ydGEgY2xpZW50ZXMgcmFzb3MiCiAKLSM6IGZldGNoLXBhY2suYzo4NDgKKyM6IGZldGNoLXBhY2suYzo4ODYKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICJPIHNlcnZpZG9yIHN1cG9ydGEgbXVsdGlfYWNrX2RldGFpbGVkIgogCi0jOiBmZXRjaC1wYWNrLmM6ODUxCisjOiBmZXRjaC1wYWNrLmM6ODg5CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCiBtc2dzdHIgIk8gc2Vydmlkb3Igc3Vwb3J0YSBuby1kb25lIgogCi0jOiBmZXRjaC1wYWNrLmM6ODU3CisjOiBmZXRjaC1wYWNrLmM6ODk1CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKIG1zZ3N0ciAiTyBzZXJ2aWRvciBzdXBvcnRhIG11aWx0aV9hY2siCiAKLSM6IGZldGNoLXBhY2suYzo4NjEKKyM6IGZldGNoLXBhY2suYzo4OTkKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKIG1zZ3N0ciAiTyBzZXJ2aWRvciBzdXBvcnRhIHNpZGUtYmFuZC02NGsiCiAKLSM6IGZldGNoLXBhY2suYzo4NjUKKyM6IGZldGNoLXBhY2suYzo5MDMKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgogbXNnc3RyICJPIHNlcnZpZG9yIHN1cG9ydGEgc2lkZS1iYW5kIgogCi0jOiBmZXRjaC1wYWNrLmM6ODY5CisjOiBmZXRjaC1wYWNrLmM6OTA3CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCiBtc2dzdHIgIk8gc2Vydmlkb3Igc3Vwb3J0YSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6ODczCisjOiBmZXRjaC1wYWNrLmM6OTExCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCiBtc2dzdHIgIk8gc2Vydmlkb3Igc3Vwb3J0YSBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6ODgzCisjOiBmZXRjaC1wYWNrLmM6OTIxCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKIG1zZ3N0ciAiTyBzZXJ2aWRvciBzdXBvcnRhIG9mcy1kZWx0YSIKIAotIzogZmV0Y2gtcGFjay5jOjg5MAorIzogZmV0Y2gtcGFjay5jOjkyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgogbXNnc3RyICJBIHZlcnPDo28gZG8gc2Vydmlkb3Igw6kgJS4qcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NgorIzogZmV0Y2gtcGFjay5jOjkzNAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKIG1zZ3N0ciAiTyBzZXJ2aWRvciBuw6NvIHN1cG9ydGEgLS1zaGFsbG93LXNpbmNlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAwCisjOiBmZXRjaC1wYWNrLmM6OTM4CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCiBtc2dzdHIgIk8gc2Vydmlkb3IgbsOjbyBzdXBvcnRhIC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAyCisjOiBmZXRjaC1wYWNrLmM6OTQwCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgIk8gc2Vydmlkb3IgbsOjbyBzdXBvcnRhIC0tZGVlcGVuIgogCi0jOiBmZXRjaC1wYWNrLmM6OTEzCisjOiBmZXRjaC1wYWNrLmM6OTUxCiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgIm5lbmh1bSBjb21taXQgZW0gY29tdW0iCiAKLSM6IGZldGNoLXBhY2suYzo5MjUKKyM6IGZldGNoLXBhY2suYzo5NjMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGZhbGhhIGFvIG9idGVyLiIKIAotIzogZmV0Y2gtcGFjay5jOjEwODcKKyM6IGZldGNoLXBhY2suYzoxMTI1CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgIm5lbmh1bWEgY2FiZcOnYSByZW1vdGEgY29ycmVzcG9uZGVudGUiCiAKKyM6IGZldGNoLXBhY2suYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAicmVmZXLDqm5jaWEgcmVtb3RhICVzIGluZXhpc3RlbnRlIgorCisjOiBmZXRjaC1wYWNrLmM6MTE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKK21zZ3N0ciAiTyBzZXJ2aWRvciBuw6NvIHBlcm1pdGUgcGVkaWRvIGRvIG9iamV0byBuw6NvIGFudW5jaWFkbyAlcyIKKwogIzogZ3BnLWludGVyZmFjZS5jOjE4NQogbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKIG1zZ3N0ciAiZ3BnIG7Do28gYXNzaW5vdSBvcyBkYWRvcyIKQEAgLTE3NjQsMTcgKzE4MTIsMTcgQEAKIG1zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgogbXNnc3RyICJpZ25vcmFyIGNvciBpbnbDoWxpZGEgJyUuKnMnIGVtIGxvZy5ncmFwaENvbG9ycyIKIAotIzogZ3JlcC5jOjE3OTQKKyM6IGdyZXAuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMnOiBuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICVzIgogCi0jOiBncmVwLmM6MTgxMSBidWlsdGluL2Nsb25lLmM6MzgxIGJ1aWx0aW4vZGlmZi5jOjgxIGJ1aWx0aW4vcm0uYzoxMzMKKyM6IGdyZXAuYzoxODEzIGJ1aWx0aW4vY2xvbmUuYzozOTkgYnVpbHRpbi9kaWZmLmM6ODEgYnVpbHRpbi9ybS5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICJmYWxoYSBhbyBpbnZvY2FyIHN0YXQgZGUgJyVzJyIKIAotIzogZ3JlcC5jOjE4MjIKKyM6IGdyZXAuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIiclcyc6IGxlaXR1cmEgdHJ1bmNhZGEiCkBAIC0xODQzLDcgKzE4OTEsNyBAQAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAotIzogaWRlbnQuYzozMzQKKyM6IGlkZW50LmM6MzQzCiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTE4NjksNiArMTkxNyw0MCBAQAogIk9taXRhIC0tZ2xvYmFsIHBhcmEgZGVmaW5pciBhIGlkZW50aWRhZGUgYXBlbmFzIG5lc3RlIHJlcG9zaXTDs3Jpby5cbiIKICJcbiIKIAorIzogaWRlbnQuYzozNjcKK21zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICJuZW5odW0gZS1tYWlsIGluZGljYWRvIGUgYSBkZXRlw6fDo28gYXV0b23DoXRpY2EgZXN0w6EgZGVzYXRpdmFkYSIKKworIzogaWRlbnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKK21zZ3N0ciAiIgorIm7Do28gw6kgcG9zc8OtdmVsIGRldGV0YXIgYXV0b21hdGljYW1lbnRlIGVuZGVyZcOnbyBkZSBlLW1haWwgKG9idGV2ZS1zZSAnJXMnKSIKKworIzogaWRlbnQuYzozODIKK21zZ2lkICJubyBuYW1lIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCittc2dzdHIgIm5lbmh1bSBub21lIGluZGljYWRvIGUgYSBkZXRlw6fDo28gYXV0b23DoXRpY2EgZXN0w6EgZGVzYXRpdmFkYSIKKworIzogaWRlbnQuYzozODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IG5hbWUgKGdvdCAnJXMnKSIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZGV0ZXRhciBhdXRvbWF0aWNhbWVudGUgbyBub21lIChvYnRldmUtc2UgJyVzJykiCisKKyM6IGlkZW50LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IGlkZW50IG5hbWUgKGZvciA8JXM+KSBub3QgYWxsb3dlZCIKK21zZ3N0ciAibm9tZSBkZSBpZGVudGlmaWNhw6fDo28gdmF6aW8gKGRlIDwlcz4pIG7Do28gw6kgcGVybWl0aWRvIgorCisjOiBpZGVudC5jOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKK21zZ3N0ciAibm9tZSBjb25zaXN0ZSBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBuw6NvIHBlcm1pdGlkb3M6ICVzIgorCisjOiBpZGVudC5jOjQxNyBidWlsdGluL2NvbW1pdC5jOjYxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiZm9ybWF0byBkZSBkYXRhIGludsOhbGlkbzogJXMiCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTE4OTcsOCArMTk3OSw4IEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICJmYWxoYSBhbyBsZXIgYSBjYWNoZSIKIAotIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjIwMDAgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9jaGVja291dC5jOjM5MworIzogYnVpbHRpbi9jaGVja291dC5jOjYwNyBidWlsdGluL2Nsb25lLmM6NzQ5CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXNjcmV2ZXIgbm92byBmaWNoZWlybyBkZSDDrW5kaWNlIgogCkBAIC0xOTY4LDM4ICsyMDUwLDU2IEBACiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWRpY2lvbmFyICVzIMOgIGJhc2UgZGUgZGFkb3MiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODggbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgaW4gIgotInRyZWUuIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKKyJpbiB0cmVlLiIKIG1zZ3N0ciAiIgogIkNPTkZMSVRPICglcy9lbGltaW5hcik6ICVzIGVsaW1pbmFkbyBlbSAlcyBlICVzIGVtICVzLiBWZXJzw6NvIGRlICVzIGRlICVzICIKICJkZWl4YWRhIG5hIMOhcnZvcmUuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0IGluICIKLSJ0cmVlIGF0ICVzLiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgorImxlZnQgaW4gdHJlZS4iCittc2dzdHIgIiIKKyJDT05GTElUTyAoJXMvZWxpbWluYXIpOiAlcyBlbGltaW5hZG8gZW0gJXMgZSAlcyBwYXJhICVzIGVtICVzLiBWZXJzw6NvIGRlICVzICIKKyJkZSAlcyBkZWl4YWRhIG5hIMOhcnZvcmUuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCisiaW4gdHJlZSBhdCAlcy4iCiBtc2dzdHIgIiIKICJDT05GTElUTyAoJXMvZWxpbWluYXIpOiAlcyBlbGltaW5hZG8gZW0gJXMgZSAlcyBlbSAlcy4gVmVyc8OjbyBkZSAlcyBkZSAlcyAiCiAiZGVpeGFkYSBuYSDDoXJ2b3JlIGVtICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKKyJsZWZ0IGluIHRyZWUgYXQgJXMuIgorbXNnc3RyICIiCisiQ09ORkxJVE8gKCVzL2VsaW1pbmFyKTogJXMgZWxpbWluYWRvIGVtICVzIGUgJXMgcGFyYSAlcyBlbSAlcy4gVmVyc8OjbyBkZSAlcyAiCisiZGUgJXMgZGVpeGFkYSBuYSDDoXJ2b3JlIGVtICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZSIKIG1zZ3N0ciAibXVkYXIgbm9tZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgIm5vbWUgbXVkYWRvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyDDqSB1bSBkaXJldMOzcmlvIGVtICVzIGFkaWNpb25hbmRvICVzIG5vIHNldSBsdWdhciIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTIwMDgsMTM4ICsyMTA4LDEzOCBAQAogIkNPTkZMSVRPIChtdWRhciBub21lL211ZGFyIG5vbWUpOiBNdWRhciBvIG5vbWUgXCIlc1wiLT5cIiVzXCIgbm8gcmFtbyBcIiVzXCIgIgogIm11ZGFyIG8gbm9tZSBcIiVzXCItPlwiJXNcIiBlbSBcIiVzXCIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMAogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiIChwb3IgcmVzb2x2ZXIpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjk5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgotIkNPTkZMSVRPIChtdWRhciBub21lL211ZGFyIG5vbWUpOiBNdWRhciBkZSBub21lICVzLT4lcyBlbSAlcy4gTXVkYXIgbyBub21lICVzLSIKLSI+JXMgZW0gJXMiCisiQ09ORkxJVE8gKG11ZGFyIG5vbWUvbXVkYXIgbm9tZSk6IE11ZGFyIGRlIG5vbWUgJXMtPiVzIGVtICVzLiBNdWRhciBvIG5vbWUgIgorIiVzLT4lcyBlbSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAiQSBtdWRhciBvIG5vbWUgZGUgJXMgcGFyYSAlcyBlIGRlICVzIHBhcmEgJXMsIGVtIGFsdGVybmF0aXZhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCiBtc2dzdHIgIiIKICJDT05GTElUTyAobXVkYXIgbm9tZS9hZGljaW9uYXIpOiBNdWRhciBvIG5vbWUgJXMtPiVzIGVtICVzLiAlcyBhZGljaW9uYWRvIGVtICIKICIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICJBIGFkaWNpb25hciAlcyBpbnRlZ3JhZG8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTcgbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MCBtZXJnZS1yZWN1cnNpdmUuYzoxNzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICJBIGFkaWNpb25hciBjb21vICVzLCBlbSBhbHRlcm5hdGl2YS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gb2JqZXRvICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICJvIG9iamV0byAlcyBuw6NvIMOpIHVtIGJsb2IiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzkKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgIm1vZGlmaWNhciIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3OQogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICJtb2RpZmljYWRvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjg5CiBtc2dpZCAiY29udGVudCIKIG1zZ3N0ciAiY29udGXDumRvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjg3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjk2CiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAiYWRpY2lvbmFyL2FkaWNpb25hciIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcyMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgIiVzIGlnbm9yYWRvIChpbnRlZ3JhZG8gw6kgaWd1YWwgYW8gZXhpc3RlbnRlKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIkEgaW50ZWdyYXIgYXV0b21hdGljYW1lbnRlICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQxIGdpdC1zdWJtb2R1bGUuc2g6OTMwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUwIGdpdC1zdWJtb2R1bGUuc2g6OTQ0CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJzdWJtw7NkdWxvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICJDT05GTElUTyAoJXMpOiBjb25mbGl0byBkZSBpbnRlZ3Jhw6fDo28gZW0gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIkEgcmVtb3ZlciAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3MQogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICJmaWNoZWlyby9kaXJldMOzcmlvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc3CiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgImRpcmV0w7NyaW8vZmljaGVpcm8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCiBtc2dzdHIgIiIKICJDT05GTElUTyAoJXMpOiBIw6EgdW0gZGlyZXTDs3JpbyBkZXNpZ25hZG8gJXMgZW0gJXMuIEEgYWRpY2lvbmFyICVzIGNvbW8gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4ODMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICJBIGFkaWNpb25hciAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyOQogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSEiCiBtc2dzdHIgIkrDoSBlc3TDoSBhdHVhbGl6YWRvISIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGludGVncmFyIGFzIMOhcnZvcmVzICVzIGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjEKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAiQSBpbnRlZ3JhcjoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKIG1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCiBtc2dzdHJbMF0gIiV1IGFudGVjZXNzb3IgY29tdW0gZW5jb250cmFkbzoiCiBtc2dzdHJbMV0gIiV1IGFudGVjZXNzb3JlcyBjb211bnMgZW5jb250cmFkb3M6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDczCiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICJhIGludGVncmHDp8OjbyBuw6NvIHJldG9ybm91IG5lbmh1bSBjb21taXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMjcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBvYmpldG8gJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE0MSBidWlsdGluL21lcmdlLmM6NjQ1IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTAgYnVpbHRpbi9tZXJnZS5jOjY0NSBidWlsdGluL21lcmdlLmM6NzkyCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZXNjcmV2ZXIgbm8gw61uZGljZS4iCiAKQEAgLTIxNDcsOCArMjI0Nyw4IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCi0iUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byBjb21taXQvIgotImFib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKKyJQbGVhc2UsIHVzZSAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JyBvciAnZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnIHRvICIKKyJjb21taXQvYWJvcnQgdGhlIHByZXZpb3VzIG1lcmdlIGJlZm9yZSB5b3Ugc3RhcnQgYSBuZXcgbm90ZXMgbWVyZ2UuIgogbXNnc3RyICIiCiAiTsOjbyBjb25jbHXDrXUgYSBpbnRlZ3Jhw6fDo28gZGUgbm90YXMgYW50ZXJpb3IgKCVzIGV4aXN0ZSkuXG4iCiAiVXNlICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG91ICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcgcGFyYSBzdWJtZXRlci8iCkBAIC0yMjE2LDE4ICsyMzE2LDM3IEBACiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgIm5vbWUgZG8gb2JqZXRvIG1hbGZvcm1hZG8gJyVzJyIKIAotIzogcGF0aC5jOjgyNgorIzogcGF0aC5jOjgwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGRhciBwZXJtaXNzw6NvIGRlIGVzY3JpdGEgYW8gZ3J1cG8gYSAlcyIKIAotIzogcGF0aHNwZWMuYzoxNDIKKyM6IHBhdGhzcGVjLmM6MTI1Cittc2dpZCAiRXNjYXBlIGNoYXJhY3RlciAnXFwnIG5vdCBhbGxvd2VkIGFzIGxhc3QgY2hhcmFjdGVyIGluIGF0dHIgdmFsdWUiCittc2dzdHIgIiIKKyJPIGNhcsOhY3RlciBkZSBlc2NhcGUgJ1xcJyBuw6NvIHBvZGUgc2VyIHVzYWRvIGNvbW8gw7psdGltbyBjYXLDoWN0ZXIgbm8gdmFsb3IgIgorImRlIGF0dHIiCisKKyM6IHBhdGhzcGVjLmM6MTQzCittc2dpZCAiT25seSBvbmUgJ2F0dHI6JyBzcGVjaWZpY2F0aW9uIGlzIGFsbG93ZWQuIgorbXNnc3RyICJTw7Mgc2UgcG9kZSBlc3BlY2lmaWNhciB1bSAnYXR0cjonLiIKKworIzogcGF0aHNwZWMuYzoxNDYKK21zZ2lkICJhdHRyIHNwZWMgbXVzdCBub3QgYmUgZW1wdHkiCittc2dzdHIgImVzcGVjaWZpY2Fkb3IgYXR0ciBuw6NvIHBvZGUgZXN0YXIgdmF6aW8iCisKKyM6IHBhdGhzcGVjLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCittc2dzdHIgIm5vbWUgZGUgYXRyaWJ1dG8gaW52w6FsaWRvICVzIgorCisjOiBwYXRoc3BlYy5jOjI1NAogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKICJhcyBkZWZpbmnDp8O1ZXMgZ2xvYmFpcyAnZ2xvYicgZSAnbm9nbG9iJyBkZSBlc3BlY2lmaWNhZG9yIGRlIGNhbWluaG8gIgogIihwYXRoc3BlYykgc8OjbyBpbmNvbXBhdMOtdmVpcyIKIAotIzogcGF0aHNwZWMuYzoxNDkKKyM6IHBhdGhzcGVjLmM6MjYxCiBtc2dpZCAiIgogImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKICJwYXRoc3BlYyBzZXR0aW5ncyIKQEAgLTIyMzUsNTIgKzIzNTQsNTIgQEAKICJhIGRlZmluacOnw6NvIGdsb2JhbCBkZSBlc3BlY2lmaWNhZG9yIGRlIGNhbWluaG8gJ2xpdGVyYWwnIMOpIGluY29tcGF0w612ZWwgY29tICIKICJ0b2RhcyBhcyBvdXRyYXMgZGVmaW5pw6fDtWVzIGdsb2JhaXMgZGUgZXNwZWNpZmljYWRvciBkZSBjYW1pbmhvIChwYXRoc3BlYykiCiAKLSM6IHBhdGhzcGVjLmM6MTg4CisjOiBwYXRoc3BlYy5jOjMwMQogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKIG1zZ3N0ciAicGFyw6JtZXRybyBpbnbDoWxpZG8gbmEgbcOhZ2ljYSAncHJlZml4JyBkbyBlc3BlY2lmaWNhZG9yIGRlIGNhbWluaG8iCiAKLSM6IHBhdGhzcGVjLmM6MjAxCisjOiBwYXRoc3BlYy5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgogbXNnc3RyICJNw6FnaWNhIGRvIGVzcGVjaWZpY2Fkb3IgZGUgY2FtaW5obyAnJS4qcycgaW52w6FsaWRhIGVtICclcyciCiAKLSM6IHBhdGhzcGVjLmM6MjA2CisjOiBwYXRoc3BlYy5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCiBtc2dzdHIgIkZhbHRhIHVtICcpJyBubyBmaW5hbCBkYSBtw6FnaWNhIGRvIGVzcGVjaWZpY2Fkb3IgZGUgY2FtaW5obyBlbSAnJXMnIgogCi0jOiBwYXRoc3BlYy5jOjIzOAorIzogcGF0aHNwZWMuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCiBtc2dzdHIgIk3DoWdpY2EgZGUgZXNwZWNpZmljYWRvciBkZSBjYW1pbmhvICclYycgZW0gJyVzJyBuw6NvIGltcGxlbWVudGFkYSIKIAotIzogcGF0aHNwZWMuYzoyOTMgcGF0aHNwZWMuYzozMTUKKyM6IHBhdGhzcGVjLmM6NDIxIHBhdGhzcGVjLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKIG1zZ3N0ciAiTyBjYW1pbmhvICclcycgZXN0w6EgZGVudHJvIGRvIHN1Ym3Ds2R1bG8gJyUuKnMnIgogCi0jOiBwYXRoc3BlYy5jOjM1MAorIzogcGF0aHNwZWMuYzo0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiVzOiAnbGl0ZXJhbCcgZSAnZ2xvYicgc8OjbyBpbmNvbXBhdMOtdmVpcyIKIAotIzogcGF0aHNwZWMuYzozNjMKKyM6IHBhdGhzcGVjLmM6NDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXM6ICclcycgZXN0w6EgZm9yYSBkbyByZXBvc2l0w7NyaW8iCiAKLSM6IHBhdGhzcGVjLmM6NDUxCisjOiBwYXRoc3BlYy5jOjU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIChtbmVtb25pYzogJyVjJykiCiBtc2dzdHIgIiclcycgKG1uZW3Ds25pY2E6ICclYycpIgogCi0jOiBwYXRoc3BlYy5jOjQ2MQorIzogcGF0aHNwZWMuYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogIiVzOiBtw6FnaWNhIGRlIGVzcGVjaWZpY2Fkb3IgZGUgY2FtaW5obyBuw6NvIHN1cG9ydGFkYSBwb3IgZXN0ZSBjb21hbmRvOiAlcyIKIAotIzogcGF0aHNwZWMuYzo1MTEKKyM6IHBhdGhzcGVjLmM6NjQ0CiBtc2dpZCAiIgogImVtcHR5IHN0cmluZ3MgYXMgcGF0aHNwZWNzIHdpbGwgYmUgbWFkZSBpbnZhbGlkIGluIHVwY29taW5nIHJlbGVhc2VzLiBwbGVhc2UgIgogInVzZSAuIGluc3RlYWQgaWYgeW91IG1lYW50IHRvIG1hdGNoIGFsbCBwYXRocyIKQEAgLTIyODgsMTkgKzI0MDcsMTEgQEAKICJjYWRlaWFzIGRlIGNhcmFjdGVyZXMgdmF6aWFzIGNvbW8gZXNwZWNpZmljYWRvcmVzIGRlIGNhbWluaG8gdG9ybmFyLXNlLcOjbyAiCiAiaW52w6FsaWRhcyBuYXMgcHLDs3hpbWFzIHZlcnPDtWVzLiBVc2UgLiBwYXJhIGNvcnJlc3BvbmRlciBhIHRvZG9zIG9zIGNhbWluaG9zIgogCi0jOiBwYXRoc3BlYy5jOjUzNQorIzogcGF0aHNwZWMuYzo2NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJvIGVzcGVjaWZpY2Fkb3IgZGUgY2FtaW5obyAnJXMnIMOpIGluZGljYWRvIHBvciB1bWEgbGlnYcOnw6NvIHNpbWLDs2xpY2EiCiAKLSM6IHBhdGhzcGVjLmM6NTQ0Ci1tc2dpZCAiIgotIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCi0iUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKLW1zZ3N0ciAiIgotIk7Do28gaMOhIG5hZGEgcGFyYSBleGNsdWlyIGRlIGFjb3JkbyBjb20gbyBwYWRyw6NvIDooZXhjbHVpcikuXG4iCi0iVGFsdmV6IHNlIHRlbmhhIGVzcXVlY2lkbyBkZSBhY3Jlc2NlbnRhciAnOi8nIG91ICcuJyA/IgotCiAjOiBwcmV0dHkuYzo5ODIKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgLS1wcmV0dHkgZm9ybWF0IgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBmb3JtYXRvIGRlIC0tcHJldHR5IgpAQCAtMjMyMywxNjEgKzI0MzQsMjY0IEBACiAiR0lUX0lOREVYX1ZFUlNJT04gZGVmaW5pZG8sIG1hcyBjb20gdmFsb3IgaW52w6FsaWRvLlxuIgogIkEgdXNhciBhIHZlcnPDo28gJWkiCiAKLSM6IHJlZnMuYzo1NzYgYnVpbHRpbi9tZXJnZS5jOjg0NAorIzogcmVhZC1jYWNoZS5jOjIyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgJyVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgc3RhdCBkZSAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZGlyZXTDs3JpbyBnaXQ6ICVzIgorCisjOiByZWFkLWNhY2hlLmM6MjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5saW5rOiAlcyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgaW52b2NhciB1bmxpbms6ICVzIgorCisjOiByZWZzLmM6NjE5IGJ1aWx0aW4vbWVyZ2UuYzo4NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICclcycgcGFyYSBlc2NyaXRhIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDgxCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVsaW1pbmFyIGEgcmVmZXLDqm5jaWEgJXM6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDg0CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlbGltaW5hciBhcyByZWZlcsOqbmNpYXM6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDkzCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgcmVmZXJlbmNlICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZWxpbWluYXIgYSByZWZlcsOqbmNpYSAlcyIKIAotIzogcmVmLWZpbHRlci5jOjU2CisjOiByZWYtZmlsdGVyLmM6MzUgd3Qtc3RhdHVzLmM6MTc4MAorbXNnaWQgImdvbmUiCittc2dzdHIgImRlc2FwYXJlY2lkbyIKKworIzogcmVmLWZpbHRlci5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkIgorbXNnc3RyICLDoCBmcmVudGUgJWQiCisKKyM6IHJlZi1maWx0ZXIuYzozNworIywgYy1mb3JtYXQKK21zZ2lkICJiZWhpbmQgJWQiCittc2dzdHIgImF0csOhcyAlZCIKKworIzogcmVmLWZpbHRlci5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkLCBiZWhpbmQgJWQiCittc2dzdHIgIsOgIGZyZW50ZSAlZCwgYXRyw6FzICVkIgorCisjOiByZWYtZmlsdGVyLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgImZvcm1hdG8gZXNwZXJhZG86ICUlKGNvbG9yOjxjb3I+KSIKIAotIzogcmVmLWZpbHRlci5jOjU4CisjOiByZWYtZmlsdGVyLmM6MTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBjb2xvcjogJSUoY29sb3I6JXMpIgogbXNnc3RyICJjb3IgbsOjbyByZWNvbmhlY2lkYTogJSUoY29sb3I6JXMpIgogCi0jOiByZWYtZmlsdGVyLmM6NzIKKyM6IHJlZi1maWx0ZXIuYzoxMjAKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdDogJSUoJXMpIgotbXNnc3RyICJmb3JtYXRvIG7Do28gcmVjb25oZWNpZG86ICUlKCVzKSIKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgorbXNnc3RyICJ2YWxvciBpbnRlaXJvIGVzcGVyYWRvIHJlZm5hbWU6bHN0cmlwPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6NzgKKyM6IHJlZi1maWx0ZXIuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIKK21zZ3N0ciAiVmFsb3IgaW50ZWlybyBlc3BlcmFkbyByZWZuYW1lOnJzdHJpcD0lcyIKKworIzogcmVmLWZpbHRlci5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnRvIGRlICUlKCVzKSBuw6NvIHJlY29uaGVjaWRvOiAlcyIKKworIzogcmVmLWZpbHRlci5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShib2R5KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoYm9keSkgbsOjbyBsZXZhIGFyZ3VtZW50b3MiCiAKLSM6IHJlZi1maWx0ZXIuYzo4NQorIzogcmVmLWZpbHRlci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShzdWJqZWN0KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoc3ViamVjdCkgbsOjbyBsZXZhIGFyZ3VtZW50b3MiCiAKLSM6IHJlZi1maWx0ZXIuYzo5MgorIzogcmVmLWZpbHRlci5jOjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlJSh0cmFpbGVycykgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKHRyYWlsZXJzKSBuw6NvIGxldmEgYXJndW1lbnRvcyIKIAotIzogcmVmLWZpbHRlci5jOjExMQorIzogcmVmLWZpbHRlci5jOjE5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKIG1zZ3N0ciAidmFsb3IgcG9zaXRpdm8gZXNwZXJhZG8gY29udGVudHM6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTMKKyM6IHJlZi1maWx0ZXIuYzoyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50byBkZSAlJShjb250ZW50cykgbsOjbyByZWNvbmhlY2lkbzogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMjMKKyM6IHJlZi1maWx0ZXIuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKK21zZ3N0ciAidmFsb3IgcG9zaXRpdm8gZXNwZXJhZG8gb2JqZWN0bmFtZTpzaG9ydD0lcyIKKworIzogcmVmLWZpbHRlci5jOjIxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0bmFtZSkgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudG8gZGUgJSUob2JqZWN0bmFtZSkgbsOjbyByZWNvbmhlY2lkbzogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDUKKyM6IHJlZi1maWx0ZXIuYzoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICJmb3JtYXRvIGVzcGVyYWRvOiAlJShhbGlnbjo8bGFyZ3VyYT4sPHBvc2nDp8Ojbz4pIgogCi0jOiByZWYtZmlsdGVyLmM6MTU3CisjOiByZWYtZmlsdGVyLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBwb3NpdGlvbjolcyIKIG1zZ3N0ciAicG9zacOnw6NvIG7Do28gcmVjb25oZWNpZGE6JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjEKKyM6IHJlZi1maWx0ZXIuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdpZHRoOiVzIgogbXNnc3RyICJsYXJndXJhIG7Do28gcmVjb25oZWNpZGE6JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcKKyM6IHJlZi1maWx0ZXIuYzoyNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGFsaWduKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50byBkZSAlJShhbGlnbikgbsOjbyByZWNvbmhlY2lkbzogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzEKKyM6IHJlZi1maWx0ZXIuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgd2lkdGggZXhwZWN0ZWQgd2l0aCB0aGUgJSUoYWxpZ24pIGF0b20iCiBtc2dzdHIgImxhcmd1cmEgcG9zaXRpdmEgZXNwZXJhZGEgY29tIG8gw6F0b21vICUlKGFsZ24pIgogCi0jOiByZWYtZmlsdGVyLmM6MjU1CisjOiByZWYtZmlsdGVyLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudG8gZGUgJSUoaWYpIG7Do28gcmVjb25oZWNpZG86ICVzIgorCisjOiByZWYtZmlsdGVyLmM6MzcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICJub21lIGRlIGZpY2hlaXJvIG1hbGZvcm1hZG86ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyODEKKyM6IHJlZi1maWx0ZXIuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICJub21lIGRvIGNhbXBvIGRlc2NvbmhlY2lkbzogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjM4MworIzogcmVmLWZpbHRlci5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCittc2dzdHIgImZvcm1hdG86IMOhdG9tbyAlJShpZikgdXRpbGl6YWRvIHNlbSDDoXRvbW8gJSUodGhlbikgY29ycmVzcG9uZGVudGUiCisKKyM6IHJlZi1maWx0ZXIuYzo1NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0bzogw6F0b21vICUlKHRoZW4pIHV0aWxpemFkbyBzZW0gw6F0b21vICUlKGlmKSBjb3JyZXNwb25kZW50ZSIKKworIzogcmVmLWZpbHRlci5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiZm9ybWF0bzogw6F0b21vICUlKHRoZW4pIHV0aWxpemFkbyBtYWlzIHF1ZSB1bWEgdmV6IgorCisjOiByZWYtZmlsdGVyLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIGFmdGVyICUlKGVsc2UpIgorbXNnc3RyICJmb3JtYXRvOiDDoXRvbW8gJSUodGhlbikgdXRpbGl6YWRvIGRlcG9pcyBkZSAlJShlbHNlKSIKKworIzogcmVmLWZpbHRlci5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgorbXNnc3RyICJmb3JtYXRvOiDDoXRvbW8gJSUoZWxzZSkgdXRpbGl6YWRvIHNlbSDDoXRvbW8gJSUoaWYpIGNvcnJlc3BvbmRlbnRlIgorCisjOiByZWYtZmlsdGVyLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICJmb3JtYXRvOiDDoXRvbW8gJSUoZWxzZSkgdXRpbGl6YWRvIHNlbSDDoXRvbW8gJSUodGhlbikgY29ycmVzcG9uZGVudGUiCisKKyM6IHJlZi1maWx0ZXIuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImZvcm1hdG86IMOhdG9tbyAlJShlbHNlKSB1dGlsaXphZG8gbWFpcyBxdWUgdW1hIHZleiIKKworIzogcmVmLWZpbHRlci5jOjYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSB1c2VkIHdpdGhvdXQgY29ycmVzcG9uZGluZyBhdG9tIgogbXNnc3RyICJmb3JtYXRvOiDDoXRvbW8gJSUoZW5kKSB1dGlsaXphZG8gc2VtIMOhdG9tbyBjb3JyZXNwb25kZW50ZSIKIAotIzogcmVmLWZpbHRlci5jOjQzNQorIzogcmVmLWZpbHRlci5jOjY2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKIG1zZ3N0ciAiY2FkZWlhIG1hbGZvcm1hZGEgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo4OTgKLW1zZ2lkICI6c3RyaXA9IHJlcXVpcmVzIGEgcG9zaXRpdmUgaW50ZWdlciBhcmd1bWVudCIKLW1zZ3N0ciAiOnN0cmlwPSByZXF1ZXIgdW0gaW50ZWlybyBwb3NpdGl2byBjb21vIGFyZ3VtZW50byIKLQotIzogcmVmLWZpbHRlci5jOjkwMworIzogcmVmLWZpbHRlci5jOjEyNDcKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmICclcycgZG9lcyBub3QgaGF2ZSAlbGQgY29tcG9uZW50cyB0byA6c3RyaXAiCi1tc2dzdHIgImEgcmVmZXLDqm5jaWEgJyVzJyBuw6NvIHRlbSAlbGQgY29tcG9uZW50ZXMgY29tbyBzZSBpbmRpY2EgZW0gOnN0cmlwIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKG5lbmh1bSByYW1vLCBhIGVmZXR1YXIgcmViYXNlIGRlICVzKSIKIAotIzogcmVmLWZpbHRlci5jOjEwNjYKKyM6IHJlZi1maWx0ZXIuYzoxMjUwCiAjLCBjLWZvcm1hdAotbXNnaWQgInVua25vd24gJS4qcyBmb3JtYXQgJXMiCi1tc2dzdHIgImZvcm1hdG8gZGUgJS4qcyBkZXNjb25oZWNpZG8gJXMiCittc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgorbXNnc3RyICIobmVuaHVtIHJhbW8sIGJpc3NlY8Onw6NvIGluaWNpYWRhIGVtICVzKSIKIAotIzogcmVmLWZpbHRlci5jOjEwODYgcmVmLWZpbHRlci5jOjExMTcKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCisjLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCisjOiByZWYtZmlsdGVyLmM6MTI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCittc2dzdHIgIihIRUFEIGRlc3RhY2FkYSBlbSAlcykiCisKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCisjLiAiSEVBRCBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKKyM6IHJlZi1maWx0ZXIuYzoxMjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgorbXNnc3RyICIoSEVBRCBkZXN0YWNhZGEgZGUgJXMpIgorCisjOiByZWYtZmlsdGVyLmM6MTI2NQorbXNnaWQgIihubyBicmFuY2gpIgorbXNnc3RyICIobmVuaHVtIHJhbW8pIgorCisjOiByZWYtZmlsdGVyLmM6MTQyMCByZWYtZmlsdGVyLmM6MTQ1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiCiBtc2dzdHIgImZhbHRhIG8gb2JqZXRvICVzIGRlICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTA4OSByZWYtZmlsdGVyLmM6MTEyMAorIzogcmVmLWZpbHRlci5jOjE0MjMgcmVmLWZpbHRlci5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFyc2Vfb2JqZWN0X2J1ZmZlciBmYWlsZWQgb24gJXMgZm9yICVzIgogbXNnc3RyICJmYWxoYSBhbyBpbnZvY2FyIHBhcnNlX29iamVjdF9idWZmZXIgc29icmUgJXMgZGUgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzQzCisjOiByZWYtZmlsdGVyLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCiBtc2dzdHIgIm9iamV0byBtYWxmb3JtYWRvIGVtICclcyciCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDEwCisjOiByZWYtZmlsdGVyLmM6MTc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyByZWYgd2l0aCBicm9rZW4gbmFtZSAlcyIKIG1zZ3N0ciAiYSByZWZlcsOqbmNpYSAlcyBjb20gbm9tZSBkYW5pZmljYWRvIGZvaSBpZ25vcmFkYSIKIAotIzogcmVmLWZpbHRlci5jOjE0MTUKKyM6IHJlZi1maWx0ZXIuYzoxNzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgImEgcmVmZXLDqm5jaWEgJXMgZGFuaWZpY2FkYSBmb2kgaWdub3JhZGEiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcwCisjOiByZWYtZmlsdGVyLmM6MjAyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXRvOiBmYWx0YSDDoXRvbW8gJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjE3MzQKKyM6IHJlZi1maWx0ZXIuYzoyMTA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAibm9tZSBkZSBvYmpldG8gbWFsZm9ybWFkbyAlcyIKQEAgLTI2MzAsMTUgKzI4NDQsMjUgQEAKIG1zZ2lkICJkdXAyKCVkLCVkKSBmYWlsZWQiCiBtc2dzdHIgImR1cDIoJWQsJWQpIGZhbGhvdSIKIAotIzogc2VuZC1wYWNrLmM6Mjk3CisjOiBzZW5kLXBhY2suYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYW5hbGlzYXIgc3RhdHVzIGRlIGRlc2NvbXBhY3Rhw6fDo28gcmVtb3RhOiAlcyIKKworIzogc2VuZC1wYWNrLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSB1bnBhY2sgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZGVzY29tcGFjdGHDp8OjbyByZW1vdGEgZmFsaG91OiAlcyIKKworIzogc2VuZC1wYWNrLmM6MzE1CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgImZhbGhhIGFvIGFzc2luYXIgbyBjZXJ0aWZpY2FkbyBkZSBwdWJsaWNhw6fDo28iCiAKLSM6IHNlbmQtcGFjay5jOjQxMAorIzogc2VuZC1wYWNrLmM6NDI4CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCBwdXNoIgogbXNnc3RyICJvIHJlY2V0b3IgbsOjbyBzdXBvcnRhIHB1YmxpY2HDp8OjbyBjb20gLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQxMgorIzogc2VuZC1wYWNrLmM6NDMwCiBtc2dpZCAiIgogIm5vdCBzZW5kaW5nIGEgcHVzaCBjZXJ0aWZpY2F0ZSBzaW5jZSB0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tIgogInNpZ25lZCBwdXNoIgpAQCAtMjY0NiwxMSArMjg3MCwxMSBAQAogImNlcnRpZmljYWRvIGRlIHB1YmxpY2HDp8OjbyBuw6NvIGVudmlhZG8gdW1hIHZleiBxdWUgbyByZWNldG9yIG7Do28gc3Vwb3J0YSAiCiAicHVibGljYcOnw6NvIGNvbSAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDI0CisjOiBzZW5kLXBhY2suYzo0NDIKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgIm8gcmVjZXRvciBuw6NvIHN1cG9ydGEgcHVibGljYcOnw6NvIGNvbSAtLWF0b21pYyIKIAotIzogc2VuZC1wYWNrLmM6NDI5CisjOiBzZW5kLXBhY2suYzo0NDcKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKIG1zZ3N0ciAibyByZWNldG9yIG7Do28gc3Vwb3J0YSBvcMOnw7VlcyBkZSBwdWJsaWNhw6fDo28iCiAKQEAgLTI2ODksMTIgKzI5MTMsMTIgQEAKICJjb20gJ2dpdCBhZGQgPGNhbWluaG9zPicgb3UgJ2dpdCBybSA8Y2FtaW5ob3M+J1xuIgogImUgc3VibWV0YSBvIHJlc3VsdGFkbyBjb20gJ2dpdCBjb21taXQnIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTQgc2VxdWVuY2VyLmM6MTY2NworIzogc2VxdWVuY2VyLmM6Mjk0IHNlcXVlbmNlci5jOjE2NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvY2sgJyVzJyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJsb3F1ZWFyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjI5NyBzZXF1ZW5jZXIuYzoxNTQ1IHNlcXVlbmNlci5jOjE2NzIgc2VxdWVuY2VyLmM6MTY4NgorIzogc2VxdWVuY2VyLmM6Mjk3IHNlcXVlbmNlci5jOjE1NTMgc2VxdWVuY2VyLmM6MTY4MCBzZXF1ZW5jZXIuYzoxNjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXNjcmV2ZXIgZW0gJyVzJyIKQEAgLTI3MDQsMTMgKzI5MjgsMTMgQEAKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBmaW0gZGUgbGluaGEgZW0gJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MzA1IHNlcXVlbmNlci5jOjE1NTAgc2VxdWVuY2VyLmM6MTY3NAorIzogc2VxdWVuY2VyLmM6MzA1IHNlcXVlbmNlci5jOjE1NTggc2VxdWVuY2VyLmM6MTY4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCiBtc2dzdHIgImZhbGhhIGFvIGZpbmFsaXphciAnJXMnLiIKIAotIzogc2VxdWVuY2VyLmM6MzI5IHNlcXVlbmNlci5jOjgwOCBzZXF1ZW5jZXIuYzoxNTcxIGJ1aWx0aW4vYW0uYzoyNTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDM2CisjOiBzZXF1ZW5jZXIuYzozMjkgc2VxdWVuY2VyLmM6ODE0IHNlcXVlbmNlci5jOjE1NzkgYnVpbHRpbi9hbS5jOjI1OQorIzogYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciAnJXMnIgpAQCAtMjc3NCwxNyArMjk5OCwxNyBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjY4OAorIzogc2VxdWVuY2VyLmM6Njk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIG8gY29tbWl0ICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjY5MworIzogc2VxdWVuY2VyLmM6Njk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIGNvbW1pdCBwYWkgJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6ODE1CisjOiBzZXF1ZW5jZXIuYzo4MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuZXhwZWN0ZWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCkBAIC0yNzk1LDcgKzMwMTksNyBAQAogIlxuIgogIlx0JS4qcyIKIAotIzogc2VxdWVuY2VyLmM6ODIxCisjOiBzZXF1ZW5jZXIuYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCkBAIC0yODA2LDIzMCArMzAzMCwyMzAgQEAKICJcbiIKICJcdCUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjgyNyBzZXF1ZW5jZXIuYzo4NTIKKyM6IHNlcXVlbmNlci5jOjgzMyBzZXF1ZW5jZXIuYzo4NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICVkIGNvbW1pdHMuIgogbXNnc3RyICJJc3RvIMOpIGEgY29tYmluYcOnw6NvIGRlICVkIGNvbW1pdHMuIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzYKKyM6IHNlcXVlbmNlci5jOjg0MgogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICJuZWNlc3PDoXJpYSB1bWEgSEVBRCBwYXJhIGZpeHVwIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzgKKyM6IHNlcXVlbmNlci5jOjg0NAogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODQwCisjOiBzZXF1ZW5jZXIuYzo4NDYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgYSBtZW5zYWdlbSBkZSBjb21taXQgZGUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODQ2CisjOiBzZXF1ZW5jZXIuYzo4NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVzY3JldmVyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjg1NSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDUKKyM6IHNlcXVlbmNlci5jOjg2MSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDUKIG1zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgogbXNnc3RyICJFc3RhIMOpIGEgMcKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCiAKLSM6IHNlcXVlbmNlci5jOjg2MworIzogc2VxdWVuY2VyLmM6ODY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGEgbWVuc2FnZW0gZGUgY29tbWl0IGRlICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzAKKyM6IHNlcXVlbmNlci5jOjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICJFc3RhIMOpIGEgbWVuc2FnZW0gZGUgY29tbWl0IG7CuiVkOiIKIAotIzogc2VxdWVuY2VyLmM6ODc1CisjOiBzZXF1ZW5jZXIuYzo4ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJBIG1lbnNhZ2VtIGRlIGNvbW1pdCAjJWQgc2Vyw6EgaWdub3JhZGE6IgogCi0jOiBzZXF1ZW5jZXIuYzo4ODAKKyM6IHNlcXVlbmNlci5jOjg4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6ICVkIgogbXNnc3RyICJjb21hbmRvIGRlc2NvbmhlY2lkbzogJWQiCiAKLSM6IHNlcXVlbmNlci5jOjk0NgorIzogc2VxdWVuY2VyLmM6OTUyCiBtc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiZmljaGVpcm8gZGUgw61uZGljZSBuw6NvIGludGVncmFkby4iCiAKLSM6IHNlcXVlbmNlci5jOjk2NAorIzogc2VxdWVuY2VyLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAibyBjb21taXQgJXMgw6kgdW1hIGludGVncmHDp8OjbyBtYXMgbsOjbyBmb2kgZm9ybmVjaWRhIGEgb3DDp8OjbyAtbS4iCiAKLSM6IHNlcXVlbmNlci5jOjk3MgorIzogc2VxdWVuY2VyLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAibyBjb21taXQgJXMgbsOjbyB0ZW0gbyBwYWkgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjk3NgorIzogc2VxdWVuY2VyLmM6OTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCiBtc2dzdHIgIiIKICJhIGxpbmhhIHByaW5jaXBhbCBmb2kgZXNwZWNpZmljYWRhIG1hcyBvIGNvbW1pdCAlcyBuw6NvIMOpIHVtYSBpbnRlZ3Jhw6fDo28uIgogCi0jOiBzZXF1ZW5jZXIuYzo5ODIKKyM6IHNlcXVlbmNlci5jOjk4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgb2J0ZXIgYSBtZW5zYWdlbSBkZSBjb21taXQgZGUgJXMiCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKICMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzoxMDAxCisjOiBzZXF1ZW5jZXIuYzoxMDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIGNvbW1pdCBwYWkgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjEwNjMgc2VxdWVuY2VyLmM6MTgxMgorIzogc2VxdWVuY2VyLmM6MTA3MSBzZXF1ZW5jZXIuYzoxODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbXVkYXIgbyBub21lIGRlICclcycgcGFyYSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE0CisjOiBzZXF1ZW5jZXIuYzoxMTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCByZXZlcnRlciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTExNQorIzogc2VxdWVuY2VyLmM6MTEyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhcGxpY2FyICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTU3CisjOiBzZXF1ZW5jZXIuYzoxMTY1CiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgIm8gY29uanVudG8gZGUgY29tbWl0cyBlc3BlY2lmaWNhZG8gZXN0w6EgdmF6aW8iCiAKLSM6IHNlcXVlbmNlci5jOjExNjcKKyM6IHNlcXVlbmNlci5jOjExNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogZmFsaGEgYW8gbGVyIG8gw61uZGljZSIKIAotIzogc2VxdWVuY2VyLmM6MTE3NAorIzogc2VxdWVuY2VyLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBmYWxoYSBhbyBhdHVhbGl6YXIgbyDDrW5kaWNlIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjk0CisjOiBzZXF1ZW5jZXIuYzoxMzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAibGluaGEgJWQgaW52w6FsaWRhOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzAyCisjOiBzZXF1ZW5jZXIuYzoxMzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAnJXMnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVmZXR1YXIgJyVzJyBzZW0gdW0gY29tbWl0IGFudGVyaW9yIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzM0CisjOiBzZXF1ZW5jZXIuYzoxMzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICclcycuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQxCisjOiBzZXF1ZW5jZXIuYzoxMzQ5CiBtc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgImNvcnJpamEtbyB1c2FuZG8gJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIAotIzogc2VxdWVuY2VyLmM6MTM0MworIzogc2VxdWVuY2VyLmM6MTM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKIG1zZ3N0ciAiZm9saGEgZGUgaW5zdHJ1w6fDtWVzIGludXRpbGl6w6F2ZWw6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjEzNDgKKyM6IHNlcXVlbmNlci5jOjEzNTYKIG1zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgIm5lbmh1bSBjb21taXQgYW5hbGlzYWRvLiIKIAotIzogc2VxdWVuY2VyLmM6MTM1OQorIzogc2VxdWVuY2VyLmM6MTM2NwogbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyIGNoZXJyeS1waWNrIGR1cmFudGUgdW1hIHJldmVyc8Ojby4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNjEKKyM6IHNlcXVlbmNlci5jOjEzNjkKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgcmV2ZXJ0ZXIgZHVyYW50ZSB1bSBjaGVycnktcGljay4iCiAKLSM6IHNlcXVlbmNlci5jOjE0MjQKKyM6IHNlcXVlbmNlci5jOjE0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJjaGF2ZSBpbnbDoWxpZGE6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDI3CisjOiBzZXF1ZW5jZXIuYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAidmFsb3IgaW52w6FsaWRvIGRlICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQ4NAorIzogc2VxdWVuY2VyLmM6MTQ5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAiZm9saGEgZGUgb3DDp8O1ZXMgbWFsZm9ybWFkYTogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTUyMgorIzogc2VxdWVuY2VyLmM6MTUzMAogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgImNoZXJyeS1waWNrIG91IHJldmVydCBlbSBjdXJzbyIKIAotIzogc2VxdWVuY2VyLmM6MTUyMworIzogc2VxdWVuY2VyLmM6MTUzMQogbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiBtc2dzdHIgInRlbnRlIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwtLWFib3J0KVwiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTI2CisjOiBzZXF1ZW5jZXIuYzoxNTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgbyBkaXJldMOzcmlvIGRvIHNlcXVlbmNpYWRvciAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTQwCisjOiBzZXF1ZW5jZXIuYzoxNTQ4CiBtc2dpZCAiY291bGQgbm90IGxvY2sgSEVBRCIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJsb3F1ZWFyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTYgc2VxdWVuY2VyLmM6MjE1MAorIzogc2VxdWVuY2VyLmM6MTYwNCBzZXF1ZW5jZXIuYzoyMTU5CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJuZW5odW0gY2hlcnJ5LXBpY2sgb3UgcmV2ZXJ0IGVtIGN1cnNvIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTk4CisjOiBzZXF1ZW5jZXIuYzoxNjA2CiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgcmVzb2x2ZXIgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTYwMCBzZXF1ZW5jZXIuYzoxNjM0CisjOiBzZXF1ZW5jZXIuYzoxNjA4IHNlcXVlbmNlci5jOjE2NDIKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWJvcnRhciB1bSByYW1vIGFpbmRhIG7Do28gY3JpYWRvIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIwIGJ1aWx0aW4vZ3JlcC5jOjkwNAorIzogc2VxdWVuY2VyLmM6MTYyOCBidWlsdGluL2dyZXAuYzo5MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTYyMgorIzogc2VxdWVuY2VyLmM6MTYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbGVyICclcyc6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIzCisjOiBzZXF1ZW5jZXIuYzoxNjMxCiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZmltIGRlIGZpY2hlaXJvIGluZXNwZXJhZG8iCiAKLSM6IHNlcXVlbmNlci5jOjE2MjkKKyM6IHNlcXVlbmNlci5jOjE2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJvIGZpY2hlaXJvIEhFQUQgZGUgcHJlLWNoZXJyeS1waWNrICclcycgZXN0w6EgY29ycm9tcGlkbyIKIAotIzogc2VxdWVuY2VyLmM6MTY0MAorIzogc2VxdWVuY2VyLmM6MTY0OAogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKIG1zZ3N0ciAiUGFyZWNlIHF1ZSBhIEhFQUQgc2UgbW92ZXUuIE7Do28gcmVjdWFuZG8sIHZlcmlmaXF1ZSBhIEhFQUQuIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzc3IHNlcXVlbmNlci5jOjIwNDkKKyM6IHNlcXVlbmNlci5jOjE3ODUgc2VxdWVuY2VyLmM6MjA1OAogbXNnaWQgImNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxODE3IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NzQKKyM6IHNlcXVlbmNlci5jOjE4MjUgYnVpbHRpbi9kaWZmdG9vbC5jOjYxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjb3BpYXIgJyVzJyBwYXJhICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE4MzMKKyM6IHNlcXVlbmNlci5jOjE4NDEKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciBvIMOtbmRpY2UiCiAKLSM6IHNlcXVlbmNlci5jOjE4MzgKKyM6IHNlcXVlbmNlci5jOjE4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCkBAIC0zMDQ0LDExICszMjY4LDExIEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MTg0NAorIzogc2VxdWVuY2VyLmM6MTg1MgogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCiBtc2dzdHIgImUgZmV6IGFsdGVyYcOnw7VlcyBhbyDDrW5kaWNlIGUvb3Ugw6Agw6Fydm9yZSBkZSB0cmFiYWxob1xuIgogCi0jOiBzZXF1ZW5jZXIuYzoxODUwCisjOiBzZXF1ZW5jZXIuYzoxODU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gc3VjY2VlZGVkOiAlc1xuIgpAQCAtMzA2NSwxNyArMzI4OSwxNyBAQAogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHNlcXVlbmNlci5jOjE5MDUgZ2l0LXJlYmFzZS5zaDoxNjgKKyM6IHNlcXVlbmNlci5jOjE5MTMgZ2l0LXJlYmFzZS5zaDoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgogbXNnc3RyICJQaWxoYSBhdXRvbcOhdGljYSAoYXV0b3N0YXNoKSBhcGxpY2FkYS4iCiAKLSM6IHNlcXVlbmNlci5jOjE5MTcKKyM6IHNlcXVlbmNlci5jOjE5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0b3JlICVzIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBndWFyZGFyICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE5IGdpdC1yZWJhc2Uuc2g6MTcyCisjOiBzZXF1ZW5jZXIuYzoxOTI3IGdpdC1yZWJhc2Uuc2g6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgpAQCAtMzA4Niw1NyArMzMxMCw1NyBAQAogIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGVzdMOjbyBndWFyZGFkYXMgbmEgcGlsaGEuXG4iCiAiUG9kZSBleGVjdXRhciBcImdpdCBzdGFzaCBwb3BcIiBvdSBcImdpdCBzdGFzaCBkcm9wXCIgb3BvcnR1bmFtZW50ZS5cbiIKIAotIzogc2VxdWVuY2VyLmM6MjAwMAorIzogc2VxdWVuY2VyLmM6MjAwOQogIywgYy1mb3JtYXQKLW1zZ2lkICJzdG9wcGVkIGF0ICVzLi4uICUuKnMiCi1tc2dzdHIgInBhcmFkbyBhICVzLi4uICUuKnMiCittc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgorbXNnc3RyICJQYXJvdSBhICVzLi4uICAlLipzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjIwMjcKKyM6IHNlcXVlbmNlci5jOjIwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kICVkIgogbXNnc3RyICJjb21hbmRvIGRlc2NvbmhlY2lkbyAlZCIKIAotIzogc2VxdWVuY2VyLmM6MjA1NworIzogc2VxdWVuY2VyLmM6MjA2NgogbXNnaWQgImNvdWxkIG5vdCByZWFkIG9yaWctaGVhZCIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciBvcmlnLWhlYWQiCiAKLSM6IHNlcXVlbmNlci5jOjIwNjEKKyM6IHNlcXVlbmNlci5jOjIwNzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnb250byciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgJ29udG8nIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDY4CisjOiBzZXF1ZW5jZXIuYzoyMDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhdHVhbGl6YXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIwNzUKKyM6IHNlcXVlbmNlci5jOjIwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSBIRUFEIHRvICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYXR1YWxpemFyIEhFQUQgcGFyYSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjE1OQorIzogc2VxdWVuY2VyLmM6MjE2OAogbXNnaWQgImNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCByZWJhc2VhcjogdGVtIGFsdGVyYcOnw7VlcyBuw6NvIHByZXBhcmFkYXMuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTY0CisjOiBzZXF1ZW5jZXIuYzoyMTczCiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVtb3ZlciBDSEVSUllfUElDS19IRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTczCisjOiBzZXF1ZW5jZXIuYzoyMTgyCiBtc2dpZCAiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVtZW5kYXIgY29tbWl0IG7Do28tZXhpc3RlbnRlIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTc1CisjOiBzZXF1ZW5jZXIuYzoyMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKIG1zZ3N0ciAiZmljaGVpcm8gaW52w6FsaWRvOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTc3CisjOiBzZXF1ZW5jZXIuYzoyMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29udGVudHM6ICclcyciCiBtc2dzdHIgImNvbnRlw7pkbyBpbnbDoWxpZG86ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIxODAKKyM6IHNlcXVlbmNlci5jOjIxODkKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgpAQCAtMzE0NiwzNSArMzM3MCwzNSBAQAogIlRlbSBhbHRlcmHDp8O1ZXMgcG9yIHN1Ym1ldGVyIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8uIFN1Ym1ldGEtYXMgcHJpbWVpcm9cbiIKICJlIGV4ZWN1dGUgJ2dpdCByZWJhc2UgLS1jb250aW51ZScgZGUgbm92by4iCiAKLSM6IHNlcXVlbmNlci5jOjIxOTAKKyM6IHNlcXVlbmNlci5jOjIxOTkKIG1zZ2lkICJjb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHN1Ym1ldGVyIGFzIGFsdGVyYcOnw7VlcyBwcmVwYXJhZGFzLiIKIAotIzogc2VxdWVuY2VyLmM6MjI3MAorIzogc2VxdWVuY2VyLmM6MjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIKIG1zZ3N0ciAiJXM6IG7Do28gw6kgcG9zc8OtdmVsIGVmZXR1YXIgY2hlcnJ5LXBpY2sgZGUgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIyNzQKKyM6IHNlcXVlbmNlci5jOjIyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IHJldmlzw6NvIGluY29ycmV0YSIKIAotIzogc2VxdWVuY2VyLmM6MjMwNworIzogc2VxdWVuY2VyLmM6MjMxNgogbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgcmV2ZXJ0ZXIgY29tbyBjb21taXQgaW5pY2lhbCIKIAotIzogc2V0dXAuYzoxNjAKKyM6IHNldHVwLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCiAiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIKIG1zZ3N0ciAiIgogIiVzOiBuw6NvIGjDoSB0YWwgY2FtaW5obyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvLlxuIgotIlVzZSAnZ2l0IDxjb21hbmRvPiAtLSA8Y2FtaW5obz4uLi4nIHBhcmEgZXNwZWNpZmljYXIgY2FtaW5ob3MgcXVlIG7Do28gZXhpc3RlbSAiCi0ibG9jYWxtZW50ZS4iCisiVXNlICdnaXQgPGNvbWFuZG8+IC0tIDxjYW1pbmhvPi4uLicgcGFyYSBlc3BlY2lmaWNhciBjYW1pbmhvcyBxdWUgbsOjbyAiCisiZXhpc3RlbSBsb2NhbG1lbnRlLiIKIAotIzogc2V0dXAuYzoxNzMKKyM6IHNldHVwLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtMzE4Niw3ICszNDEwLDcgQEAKICJVc2UgJy0tJyBwYXJhIHNlcGFyYXIgY2FtaW5ob3MgZGUgcmV2aXPDtWVzLCBhc3NpbTpcbiIKICInZ2l0IDxjb21hbmRvPiBbPHJldmlzw6NvPi4uLl0gLS0gWzxmaWNoZWlybz4uLi5dJyIKIAotIzogc2V0dXAuYzoyMjMKKyM6IHNldHVwLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKQEAgLTMxOTcsMjkgKzM0MjEsMzQgQEAKICJVc2UgJy0tJyBwYXJhIHNlcGFyYXIgY2FtaW5ob3MgZGUgcmV2aXPDtWVzLCBhc3NpbTpcbiIKICInZ2l0IDxjb21hbmRvPiBbPHJldmlzw6NvPi4uLl0gLS0gWzxmaWNoZWlybz4uLi5dJyIKIAotIzogc2V0dXAuYzo0NzAKKyM6IHNldHVwLmM6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGVkIGdpdCByZXBvIHZlcnNpb24gPD0gJWQsIGZvdW5kICVkIgogbXNnc3RyICJFc3BlcmF2YS1zZSB2ZXJzw6NvIGRvIHJlcG9zaXTDs3JpbyBnaXQgPD0gJWQsIG9idGV2ZS1zZSAlZCIKIAotIzogc2V0dXAuYzo0NzgKKyM6IHNldHVwLmM6NDgzCiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICJleHRlbnPDtWVzIGRlIHJlcG9zaXTDs3JpbyBkZXNjb25oZWNpZGFzIGVuY29udHJhZGFzOiIKIAotIzogc2V0dXAuYzo3NjgKKyM6IHNldHVwLmM6Nzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgogbXNnc3RyICJOw6NvIMOpIHVtIHJlcG9zaXTDs3JpbyBnaXQgKG91IHVtIGRvcyBkaXJldMOzcmlvcyBwYWkpOiAlcyIKIAotIzogc2V0dXAuYzo3NzAgc2V0dXAuYzo5MjIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0MworIzogc2V0dXAuYzo3NzggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0NgogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCB2b2x0YXIgYW8gZGlyZXTDs3JpbyBkZSB0cmFiYWxobyBhdHVhbCIKIAotIzogc2V0dXAuYzo4NTIKKyM6IHNldHVwLmM6MTAxMAogbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGxlciBvIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gYXR1YWwiCiAKLSM6IHNldHVwLmM6OTI3CisjOiBzZXR1cC5jOjEwMjIgc2V0dXAuYzoxMDI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzJyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbXVkYXIgcGFyYSAnJXMnIgorCisjOiBzZXR1cC5jOjEwNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgpAQCAtMzIyOSwxMiArMzQ1OCw3IEBACiAiSW50ZXJyb21waWRvIG5vIGxpbWl0ZSBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyAiCiAiKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gbsOjbyBkZWZpbmlkbykuIgogCi0jOiBzZXR1cC5jOjkzNAotIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgY2hhbmdlIHRvICclcy8uLiciCi1tc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIG11ZGFyIHBhcmEgJyVzLy4uJyIKLQotIzogc2V0dXAuYzo5OTYKKyM6IHNldHVwLmM6MTEwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAoMCUuM28pLlxuIgpAQCAtMzI0Myw1NyArMzQ2Nyw1NyBAQAogIlByb2JsZW1hIGNvbSBvIHZhbG9yIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBtb2RvIGRlIGZpY2hlaXJvICgwJS4zbykuXG4iCiAiTyBkb25vIGRvcyBmaWNoZWlyb3MgdGVtIGRlIHRlciBzZW1wcmUgcGVybWlzc8O1ZXMgZGUgbGVpdHVyYSBlIGVzY3JpdGEuIgogCi0jOiBzaGExX2ZpbGUuYzo0OTAKKyM6IHNoYTFfZmlsZS5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIm8gY2FtaW5obyAnJXMnIG7Do28gZXhpc3RlIgogCi0jOiBzaGExX2ZpbGUuYzo1MTYKKyM6IHNoYTFfZmlsZS5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKIG1zZ3N0ciAiIgogImFpbmRhIG7Do28gw6kgc3Vwb3J0YWRhIGEgZnVuY2lvbmFsaWRhZGUgcXVlIHBlcm1pdGUgdGVyIG8gcmVwb3NpdMOzcmlvIGRlICIKICJyZWZlcsOqbmNpYSAnJXMnIGNvbW8gdW1hIGV4dHJhw6fDo28gbGlnYWRhLiIKIAotIzogc2hhMV9maWxlLmM6NTIyCisjOiBzaGExX2ZpbGUuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAibyByZXBvc2l0w7NyaW8gZGUgcmVmZXLDqm5jaWEgJyVzJyBuw6NvIMOpIHVtIHJlcG9zaXTDs3JpbyBsb2NhbC4iCiAKLSM6IHNoYTFfZmlsZS5jOjUyOAorIzogc2hhMV9maWxlLmM6NTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKIG1zZ3N0ciAibyByZXBvc2l0w7NyaW8gZGUgcmVmZXLDqm5jaWEgJyVzJyDDqSByYXNvIgogCi0jOiBzaGExX2ZpbGUuYzo1MzYKKyM6IHNoYTFfZmlsZS5jOjYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCiBtc2dzdHIgIm8gcmVwb3NpdMOzcmlvIGRlIHJlZmVyw6puY2lhICclcycgZXN0w6EgZW54ZXJ0YWRvIgogCi0jOiBzaGExX2ZpbGUuYzoxMTc2CisjOiBzaGExX2ZpbGUuYzoxMjQ1CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgIm9mZnNldCBhbnRlcyBkbyBmaW0gZG8gZmljaGVpcm8gZGUgcGFjb3RlICguaWR4IGRhbmlmaWNhZG8/KSIKIAotIzogc2hhMV9maWxlLmM6MjYzNworIzogc2hhMV9maWxlLmM6MjcyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBhbnRlcyBkbyBpbsOtY2lvIGRvIMOtbmRpY2UgZG8gcGFjb3RlICVzICjDrW5kaWNlIGNvcnJvbXBpZG8/KSIKIAotIzogc2hhMV9maWxlLmM6MjY0MQorIzogc2hhMV9maWxlLmM6MjcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBkZXBvaXMgZG8gZmltIGRvIMOtbmRpY2UgZG8gcGFjb3RlICVzICjDrW5kaWNlIHRydW5jYWRvPykiCiAKLSM6IHNoYTFfbmFtZS5jOjQwNworIzogc2hhMV9uYW1lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IFNIQTEgJXMgaXMgYW1iaWd1b3VzIgogbXNnc3RyICJTSEExIGN1cnRvICVzIMOpIGFtYsOtZ3VvIgogCi0jOiBzaGExX25hbWUuYzo0MTgKKyM6IHNoYTFfbmFtZS5jOjQyMAogbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCiBtc2dzdHIgIk9zIGNhbmRpZGF0b3Mgc8OjbzoiCiAKLSM6IHNoYTFfbmFtZS5jOjU3OAorIzogc2hhMV9uYW1lLmM6NTgwCiBtc2dpZCAiIgogIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCiAiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgpAQCAtMzMxOCw0NiArMzU0Miw1NiBAQAogIkFuYWxpc2UgZXN0YXMgcmVmZXLDqm5jaWFzIGUgZWxpbWluZS1hcyBzZSBkZXNlamFyLiBEZXNhdGl2ZSBlc3RhXG4iCiAibWVuc2FnZW0gZXhlY3V0YW5kbyBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiAKLSM6IHN1Ym1vZHVsZS5jOjY1IHN1Ym1vZHVsZS5jOjk5CisjOiBzdWJtb2R1bGUuYzo2NyBzdWJtb2R1bGUuYzoxMDEKIG1zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKIG1zZ3N0ciAiIgogIk7Do28gw6kgcG9zc8OtdmVsIGFsdGVyYXIgLmdpdG1vZHVsZXMgbsOjbyBpbnRlZ3JhZG8sIHJlc29sdmEgcHJpbWVpcm8gb3MgIgogImNvbmZsaXRvcyBkZSBpbnRlZ3Jhw6fDo28iCiAKLSM6IHN1Ym1vZHVsZS5jOjY5IHN1Ym1vZHVsZS5jOjEwMworIzogc3VibW9kdWxlLmM6NzEgc3VibW9kdWxlLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAiU2Vjw6fDo28gZGUgLmdpdG1vZHVsZXMgY3VqbyBwYXRoPSVzIG7Do28gZW5jb250cmFkYSIKIAotIzogc3VibW9kdWxlLmM6NzcKKyM6IHN1Ym1vZHVsZS5jOjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhdHVhbGl6YXIgbyBlbGVtZW50byAlcyBkZSAuZ2l0bW9kdWxlcyIKIAotIzogc3VibW9kdWxlLmM6MTEwCisjOiBzdWJtb2R1bGUuYzoxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCByZW1vdmVyIG8gZWxlbWVudG8gJXMgZGUgLmdpdG1vZHVsZXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjEyMQorIzogc3VibW9kdWxlLmM6MTIzCiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgYW8gcHJlcGFyYXIgLmdpdG1vZHVsZXMgYXR1YWxpemFkbyIKIAotIzogc3VibW9kdWxlLmM6MTU5CisjOiBzdWJtb2R1bGUuYzoxNjEKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiBtc2dzdHIgIm7Do28gw6kgcGVybWl0aWRvIHZhbG9yZXMgbmVnYXRpdm9zIGVtIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiAKLSM6IHN1Ym1vZHVsZS5jOjExODQKKyM6IHN1Ym1vZHVsZS5jOjExOTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJyVzJyBuw6NvIMOpIHJlY29uaGVjaWRvIGNvbW8gdW0gcmVwb3NpdMOzcmlvIGdpdCIKKworIzogc3VibW9kdWxlLmM6MTMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgaW5pY2lhciAnZ2l0IHN0YXR1cycgbm8gc3VibcOzZHVsbyAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxMTk3CisjOiBzdWJtb2R1bGUuYzoxMzQ1CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciCittc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhciAnZ2l0IHN0YXR1cycgbm8gc3VibcOzZHVsbyAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxMzk4CisjOiBzdWJtb2R1bGUuYzoxNDIxCisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIKK21zZ3N0ciAibyBzdWJtw7NkdWxvICclcycgdGVtIMOtbmRpY2Ugc3VqbyIKKworIzogc3VibW9kdWxlLmM6MTY3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKQEAgLTMzNjUsMTggKzM1OTksMTggQEAKICJyZWxvY2F0ZV9naXRkaXIgcGFyYSBzdWJtb2R1bGUgJyVzJyBjb20gbWFpcyBkbyBxdWUgdW1hIMOhcnZvcmUgZGUgdHJhYmFsaG8gIgogIm7Do28gc3Vwb3J0YWRvIgogCi0jOiBzdWJtb2R1bGUuYzoxNDEwIHN1Ym1vZHVsZS5jOjE0NzEKKyM6IHN1Ym1vZHVsZS5jOjE2OTEgc3VibW9kdWxlLmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIG5hbWUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcHJvY3VyYXIgcGVsbyBzdWJtw7NkdWxvICclcyciCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MTQgc3VibW9kdWxlLmM6MTQ3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUwCisjOiBzdWJtb2R1bGUuYzoxNjk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIG8gZGlyZXTDs3JpbyAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxNDIwCisjOiBzdWJtb2R1bGUuYzoxNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJNaWdyYXRpbmcgZ2l0IGRpcmVjdG9yeSBvZiAnJXMlcycgZnJvbVxuIgpAQCAtMzM4NywxMiArMzYyMSwyNSBAQAogIiclcycgcGFyYVxuIgogIiclcydcbiIKIAotIzogc3VibW9kdWxlLmM6MTUxMgorIzogc3VibW9kdWxlLmM6MTc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcGVyY29ycmVyIHJlY3Vyc2l2YW1lbnRlIG8gc3VibcOzZHVsbyAnJXMnIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzYwCisjOiBzdWJtb2R1bGUuYzoxODI2Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgaW5pY2lhciBscy1maWxlcyBlbSAuLiIKKworIzogc3VibW9kdWxlLmM6MTg0NgorbXNnaWQgIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IgorbXNnc3RyICJCVUc6IHJldHVybmVkIHBhdGggc3RyaW5nIGRvZXNuJ3QgbWF0Y2ggY3dkPyIKKworIzogc3VibW9kdWxlLmM6MTg2NQorIywgYy1mb3JtYXQKK21zZ2lkICJscy10cmVlIHJldHVybmVkIHVuZXhwZWN0ZWQgcmV0dXJuIGNvZGUgJWQiCittc2dzdHIgImxzLXRyZWUgcmV0b3Jub3UgY8OzZGlnbyBkZSByZXRvcm5vIGluZXNwZXJhZG8gJWQiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgInZhbG9yIGludsOhbGlkbyBkZSAlcyIKQEAgLTM0NjEsNyArMzcwOCw3IEBACiBtc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgogbXNnc3RyICJ0cmFuc3BvcnRlOiBvcMOnw6NvIGRlIHByb2Z1bmRpZGFkZSAnJXMnIGludsOhbGlkYSIKIAotIzogdHJhbnNwb3J0LmM6ODg1CisjOiB0cmFuc3BvcnQuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgpAQCAtMzQ3MCw3ICszNzE3LDcgQEAKICJPcyBzZWd1aW50ZXMgY2FtaW5ob3MgZGUgc3VibcOzZHVsbyBjb250w6ptIGFsdGVyYcOnw7VlcyBxdWVcbiIKICJuw6NvIHB1ZGVyYW0gc2VyIGVuY29udHJhZGFzIGEgbmVuaHVtIHJlbW90bzpcbiIKIAotIzogdHJhbnNwb3J0LmM6ODg5CisjOiB0cmFuc3BvcnQuYzo4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzQ5NywxMSArMzc0NCwxMSBAQAogInBhcmEgcHVibGljw6EtbGFzIG5vIHJlbW90by5cbiIKICJcbiIKIAotIzogdHJhbnNwb3J0LmM6ODk3CisjOiB0cmFuc3BvcnQuYzo5MDEKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIkFib3J0YWRvLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwODIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHJlZiAlcyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciBhIHJlZmVyw6puY2lhICVzIgpAQCAtMzUyMiw3ICszNzY5LDcgQEAKIG1zZ2lkICJ0b28tc2hvcnQgdHJlZSBmaWxlIgogbXNnc3RyICJmaWNoZWlybyBkZSDDoXJ2b3JlIGRlbWFzaWFkbyBjdXJ0byIKIAotIzogdW5wYWNrLXRyZWVzLmM6OTkKKyM6IHVucGFjay10cmVlcy5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNTMyLDcgKzM3NzksNyBAQAogImV4dHJhaXI6XG4iCiAiJSVzU3VibWV0YSBhcyBzdWFzIGFsdGVyYcOnw7VlcyBvdSBlc2NvbmRhLWFzIGFudGVzIGRlIHRyb2NhciBkZSByYW1vLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTAxCisjOiB1bnBhY2stdHJlZXMuYzoxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzU0Miw3ICszNzg5LDcgQEAKICJleHRyYWlyOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA0CisjOiB1bnBhY2stdHJlZXMuYzoxMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzU1Miw3ICszNzk5LDcgQEAKICJpbnRlZ3JhcjpcbiIKICIlJXNTdWJtZXRhIGFzIHN1YXMgYWx0ZXJhw6fDtWVzIG91IGVzY29uZGEtYXMgYW50ZXMgZGUgaW50ZWdyYXIuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDYKKyM6IHVucGFjay10cmVlcy5jOjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNTYyLDcgKzM4MDksNyBAQAogImludGVncmFyOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA5CisjOiB1bnBhY2stdHJlZXMuYzoxMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzU3Miw3ICszODE5LDcgQEAKICIlczpcbiIKICIlJXNTdWJtZXRhIGFzIHN1YXMgYWx0ZXJhw6fDtWVzIG91IGVzY29uZGEtYXMgYW50ZXMgZGUgZWZldHVhciAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjExMQorIzogdW5wYWNrLXRyZWVzLmM6MTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM1ODIsNyArMzgyOSw3IEBACiAiJXM6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTYKKyM6IHVucGFjay10cmVlcy5jOjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtMzU5Miw4NyArMzgzOSw4OSBAQAogImRlbGVzOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjAKKyM6IHVucGFjay10cmVlcy5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCi0iT3Mgc2VndWludGVzIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8gc2VyaWFtIHJlbW92aWRvcyAiCi0iYW8gZXh0cmFpcjpcbiIKKyJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gIgorInJlbW92aWRvcyBhbyBleHRyYWlyOlxuIgogIiUlc01vdmEgb3UgcmVtb3ZhLW9zIGFudGVzIGRlIHRyb2NhciBkZSByYW1vcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKICIlJXMiCiBtc2dzdHIgIiIKLSJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gcmVtb3ZpZG9zICIKLSJhbyBleHRyYWlyOlxuIgotIiUlcyIKLQotIzogdW5wYWNrLXRyZWVzLmM6MTI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKLW1zZ3N0ciAiIgotIk9zIHNlZ3VpbnRlcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSByZW1vdmlkb3MgIgotImFvIGludGVncmFyOlxuIgotIiUlc01vdmEgb3UgcmVtb3ZhLW9zIGFudGVzIGRlIGludGVncmFyLiIKLQotIzogdW5wYWNrLXRyZWVzLmM6MTI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKLSIlJXMiCi1tc2dzdHIgIiIKLSJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gcmVtb3ZpZG9zICIKLSJhbyBpbnRlZ3JhcjpcbiIKKyJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gIgorInJlbW92aWRvcyBhbyBleHRyYWlyOlxuIgogIiUlcyIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgotIk9zIHNlZ3VpbnRlcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSByZW1vdmlkb3MgIgotInBvciAlczpcbiIKLSIlJXNNb3ZhIG91IHJlbW92YS1vcyBhbnRlcyBkZSBlZmV0dWFyICVzLiIKKyJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gIgorInJlbW92aWRvcyBhbyBpbnRlZ3JhcjpcbiIKKyIlJXNNb3ZhIG91IHJlbW92YS1vcyBhbnRlcyBkZSBpbnRlZ3Jhci4iCiAKICM6IHVucGFjay10cmVlcy5jOjEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCiAiJSVzIgogbXNnc3RyICIiCi0iT3Mgc2VndWludGVzIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8gc2VyaWFtIHJlbW92aWRvcyAiCi0icG9yICVzOlxuIgorIk9zIHNlZ3VpbnRlcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSAiCisicmVtb3ZpZG9zIGFvIGludGVncmFyOlxuIgogIiUlcyIKIAorIzogdW5wYWNrLXRyZWVzLmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKK21zZ3N0ciAiIgorIk9zIHNlZ3VpbnRlcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSAiCisicmVtb3ZpZG9zIHBvciAlczpcbiIKKyIlJXNNb3ZhIG91IHJlbW92YS1vcyBhbnRlcyBkZSBlZmV0dWFyICVzLiIKKwogIzogdW5wYWNrLXRyZWVzLmM6MTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCisiJSVzIgorbXNnc3RyICIiCisiT3Mgc2VndWludGVzIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8gc2VyaWFtICIKKyJyZW1vdmlkb3MgcG9yICVzOlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorImNoZWNrb3V0OlxuIgogIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgogIk9zIHNlZ3VpbnRlcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBkYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSAiCiAic3Vic3RpdHXDrWRvcyBhbyBleHRyYWlyOlxuIgogIiUlc01vdmEgb3UgcmVtb3ZhLW9zIGFudGVzIGRlIHRyb2NhciBkZSByYW1vcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEzOQorIzogdW5wYWNrLXRyZWVzLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKKyJjaGVja291dDpcbiIKICIlJXMiCiBtc2dzdHIgIiIKICJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgZGEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gIgogInN1YnN0aXR1w61kb3MgYW8gZXh0cmFpcjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MgorIzogdW5wYWNrLXRyZWVzLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNjgyLDcgKzM5MzEsNyBAQAogInN1YnN0aXR1w61kb3MgYW8gaW50ZWdyYXI6XG4iCiAiJSVzTW92YSBvdSByZW1vdmEtb3MgYW50ZXMgZGUgaW50ZWdyYXIuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDQKKyM6IHVucGFjay10cmVlcy5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzY5Miw3ICszOTQxLDcgQEAKICJzdWJzdGl0dcOtZG9zIGFvIGludGVncmFyOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ3CisjOiB1bnBhY2stdHJlZXMuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM3MDIsNyArMzk1MSw3IEBACiAic3Vic3RpdHXDrWRvcyBwb3IgJXM6XG4iCiAiJSVzTW92YSBvdSByZW1vdmEtb3MgYW50ZXMgZGUgZWZldHVhciAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0OQorIzogdW5wYWNrLXRyZWVzLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC0zNzEyLDEyICszOTYxLDEyIEBACiAic3Vic3RpdHXDrWRvcyBwb3IgJXM6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTYKKyM6IHVucGFjay10cmVlcy5jOjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAiQSBlbnRyYWRhICclcycgc29icmVww7VlLXNlIGNvbSAnJXMnLiBOw6NvIMOpIHBvc3PDrXZlbCB2aW5jdWxhci4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE1OQorIzogdW5wYWNrLXRyZWVzLmM6MTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHNwYXJzZSBjaGVja291dDogdGhlIGZvbGxvd2luZyBlbnRyaWVzIGFyZSBub3QgdXAtdG8tZGF0ZTpcbiIKQEAgLTM3MjcsNjYgKzM5NzYsODEgQEAKICJhdHVhbGl6YWRhczpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCiAidXBkYXRlOlxuIgogIiVzIgogbXNnc3RyICIiCi0iT3Mgc2VndWludGVzIGZpY2hlaXJvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSBzdWJzdGl0dcOtZG9zIGFvIGF0dWFsaXphciAiCi0iYSBleHRyYcOnw6NvIGVzcGFyc2E6XG4iCisiT3Mgc2VndWludGVzIGZpY2hlaXJvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSBzdWJzdGl0dcOtZG9zIGFvICIKKyJhdHVhbGl6YXIgYSBleHRyYcOnw6NvIGVzcGFyc2E6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCB1cGRhdGU6XG4iCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgorInVwZGF0ZTpcbiIKICIlcyIKIG1zZ3N0ciAiIgogIk9zIHNlZ3VpbnRlcyBmaWNoZWlyb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gcmVtb3ZpZG9zIGFvIGF0dWFsaXphciBhICIKICJleHRyYcOnw6NvIGVzcGFyc2E6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjI0MAorIzogdW5wYWNrLXRyZWVzLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW5ub3QgdXBkYXRlIHN1Ym1vZHVsZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIk7Do28gw6kgcG9zc8OtdmVsIGF0dWFsaXphciBzdWJtw7NkdWxvOlxuIgorIiVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAiQSBhYm9ydGFyXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjI3MAorIzogdW5wYWNrLXRyZWVzLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSB1cGRhdGUgc3RyYXRlZ3kgbm90IHN1cHBvcnRlZCBmb3Igc3VibW9kdWxlICclcyciCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBwcm9jdXJhciBwZWxvIHN1Ym3Ds2R1bG8gJyVzJyIKKworIzogdW5wYWNrLXRyZWVzLmM6MzQwCiBtc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgogbXNnc3RyICJBIGV4dHJhaXIgZmljaGVpcm9zIgogCi0jOiB1cmxtYXRjaC5jOjEyMAorIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAibm9tZSBkZSBlc3F1ZW1hIGRlIFVSTCBpbnbDoWxpZG8gb3UgZmFsdGEgZG8gc3VmaXhvICc6Ly8nIgogCi0jOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIzogdXJsbWF0Y2guYzoxODcgdXJsbWF0Y2guYzozNDYgdXJsbWF0Y2guYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgogbXNnc3RyICJzZXF1ZW5jaWEgZGUgZXNjYXBlICVYWCBpbnbDoWxpZGEiCiAKLSM6IHVybG1hdGNoLmM6MTcyCisjOiB1cmxtYXRjaC5jOjIxNQogbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgogbXNnc3RyICJzaXN0ZW1hIGFuZml0cmnDo28gbsOjbyBpbmRpY2FkbyBlIG8gZXNxdWVtYSBuw6NvIMOpIGRvIHRpcG8gJ2ZpbGU6JyIKIAotIzogdXJsbWF0Y2guYzoxODkKKyM6IHVybG1hdGNoLmM6MjMyCiBtc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKIG1zZ3N0ciAidW0gVVJMIGRvIHRpcG8gJ2ZpbGU6JyBuw6NvIHBvZGUgdGVyIHVtIG7Dum1lcm8gZGUgcG9ydGEiCiAKLSM6IHVybG1hdGNoLmM6MTk5CisjOiB1cmxtYXRjaC5jOjI0NwogbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCiBtc2dzdHIgImNhcmFjdGVyZXMgaW52w6FsaWRvcyBubyBub21lIGRvIGFuZml0cmnDo28iCiAKLSM6IHVybG1hdGNoLmM6MjQ0IHVybG1hdGNoLmM6MjU1CisjOiB1cmxtYXRjaC5jOjI5MiB1cmxtYXRjaC5jOjMwMwogbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIiCiBtc2dzdHIgIm7Dum1lcm8gZGUgcG9ydGEgaW52w6FsaWRvIgogCi0jOiB1cmxtYXRjaC5jOjMyMgorIzogdXJsbWF0Y2guYzozNzEKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICJzZWdtZW50byBkZSBjYW1pbmhvICcuLicgaW52w6FsaWRvIgogCi0jOiB3b3JrdHJlZS5jOjI4MgorIzogd29ya3RyZWUuYzoyODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKIG1zZ3N0ciAiZmFsaGEgYW8gbGVyICclcyciCkBAIC0zODAyLDI3ICs0MDY2LDI3IEBACiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAnJXMnIHBhcmEgZXNjcml0YSIKIAogIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzk2IGJ1aWx0aW4vYW0uYzozMjAgYnVpbHRpbi9hbS5jOjc1OQotIzogYnVpbHRpbi9hbS5jOjg0NyBidWlsdGluL2NvbW1pdC5jOjE3MDAgYnVpbHRpbi9tZXJnZS5jOjEwMzMKKyM6IGJ1aWx0aW4vYW0uYzo4NDcgYnVpbHRpbi9jb21taXQuYzoxNzAwIGJ1aWx0aW4vbWVyZ2UuYzoxMDE1CiAjOiBidWlsdGluL3B1bGwuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICclcycgcGFyYSBsZWl0dXJhIgogCi0jOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKKyM6IHdyYXBwZXIuYzo1ODEgd3JhcHBlci5jOjYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFjZWRlciBhICclcyciCiAKLSM6IHdyYXBwZXIuYzo2MzQKKyM6IHdyYXBwZXIuYzo2MTAKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGRlIG9idGVyIG8gZGlyZXTDs3JpbyBkZSB0cmFiYWxobyBhdHVhbCIKIAotIzogd3JhcHBlci5jOjY1OAorIzogd3JhcHBlci5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBwYXJhICVzIgogCi0jOiB3cmFwcGVyLmM6NjYwCisjOiB3cmFwcGVyLmM6NjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGZlY2hhciAlcyIKQEAgLTM4NTQsMTEgKzQxMTgsMTEgQEAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IHJtIDxmaWNoZWlybz4uLi5cIiBwYXJhIG1hcmNhciBjb21vIHJlc29sdmlkbykiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKKyM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NTgKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIkFsdGVyYcOnw7VlcyBwYXJhIHNlcmVtIHN1Ym1ldGlkYXM6IgogCi0jOiB3dC1zdGF0dXMuYzoyMTcgd3Qtc3RhdHVzLmM6OTU0CisjOiB3dC1zdGF0dXMuYzoyMTcgd3Qtc3RhdHVzLmM6OTY3CiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICJBbHRlcmHDp8O1ZXMgbsOjbyBwcmVwYXJhZGFzIHBhcmEgc3VibWV0ZXI6IgogCkBAIC0zODgxLDcgKzQxNDUsOCBAQAogIzogd3Qtc3RhdHVzLmM6MjI2CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCi0iICAoc3VibWV0YSBvdSBkZXNjYXJ0ZSBvIGNvbnRlw7pkbyBtb2RpZmljYWRvIG91IG7Do28gY29udHJvbGFkbyBub3Mgc3VibcOzZHVsb3MpIgorIiAgKHN1Ym1ldGEgb3UgZGVzY2FydGUgbyBjb250ZcO6ZG8gbW9kaWZpY2FkbyBvdSBuw6NvIGNvbnRyb2xhZG8gbm9zICIKKyJzdWJtw7NkdWxvcykiCiAKICM6IHd0LXN0YXR1cy5jOjIzOAogIywgYy1mb3JtYXQKQEAgLTM5NjAsMTUgKzQyMjUsMTUgQEAKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJjb250ZcO6ZG8gbsOjbyBjb250cm9sYWRvLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjgxOAorIzogd3Qtc3RhdHVzLmM6ODMxCiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgIlN1Ym3Ds2R1bG9zIGFsdGVyYWRvcyBtYXMgbsOjbyBhdHVhbGl6YWRvczoiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMAorIzogd3Qtc3RhdHVzLmM6ODMzCiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiQWx0ZXJhw6fDtWVzIGVtIHN1Ym3Ds2R1bG9zIHBhcmEgc2VyZW0gc3VibWV0aWRhczoiCiAKLSM6IHd0LXN0YXR1cy5jOjkwMQorIzogd3Qtc3RhdHVzLmM6OTE0CiBtc2dpZCAiIgogIkRvIG5vdCB0b3VjaCB0aGUgbGluZSBhYm92ZS5cbiIKICJFdmVyeXRoaW5nIGJlbG93IHdpbGwgYmUgcmVtb3ZlZC4iCkBAIC0zOTc2LDIzNCArNDI0MSwyMzUgQEAKICJOw6NvIGFsdGVyZSBhIGxpbmhhIGFjaW1hLlxuIgogIlR1ZG8gbyBxdWUgZXN0aXZlciBhYmFpeG8gc2Vyw6EgcmVtb3ZpZG8uIgogCi0jOiB3dC1zdGF0dXMuYzoxMDEzCisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJIw6EgY2FtaW5ob3MgbsOjbyBpbnRlZ3JhZG9zLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAxNgorIzogd3Qtc3RhdHVzLmM6MTAyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiAgKGNvcnJpamEgb3MgY29uZmxpdG9zIGUgZXhlY3V0ZSBcImdpdCBjb21taXRcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTgKKyM6IHd0LXN0YXR1cy5jOjEwMzEKIG1zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgcGFyYSBhYm9ydGFyIGEgaW50ZWdyYcOnw6NvKSIKIAotIzogd3Qtc3RhdHVzLmM6MTAyMworIzogd3Qtc3RhdHVzLmM6MTAzNgogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlRvZG9zIG9zIGNvbmZsaXRvcyBmb3JhbSBjb3JyaWdpZG9zIG1hcyBhaW5kYSBlc3TDoSBhIGludGVncmFyLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAyNgorIzogd3Qtc3RhdHVzLmM6MTAzOQogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBjb21taXRcIiBwYXJhIGNvbmNsdWlyIGEgaW50ZWdyYcOnw6NvKSIKIAotIzogd3Qtc3RhdHVzLmM6MTAzNgorIzogd3Qtc3RhdHVzLmM6MTA0OQogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiU2Vzc8OjbyBhbSBlbSBjdXJzby4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzkKKyM6IHd0LXN0YXR1cy5jOjEwNTIKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIk8gcGF0Y2ggYXR1YWwgZXN0w6EgdmF6aW8uIgogCi0jOiB3dC1zdGF0dXMuYzoxMDQzCisjOiB3dC1zdGF0dXMuYzoxMDU2CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlqYSBvcyBjb25mbGl0b3MgZSBleGVjdXRlIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEwNDUKKyM6IHd0LXN0YXR1cy5jOjEwNTgKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHBhcmEgaWdub3JhciBlc3RlIHBhdGNoKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NworIzogd3Qtc3RhdHVzLmM6MTA2MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiBwYXJhIHJlc3RhdXJhciBvIHJhbW8gb3JpZ2luYWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc2CisjOiB3dC1zdGF0dXMuYzoxMTg5CiBtc2dpZCAiZ2l0LXJlYmFzZS10b2RvIGlzIG1pc3NpbmcuIgogbXNnc3RyICJnaXQtcmViYXNlLXRvZG8gbsOjbyBleGlzdGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc4CisjOiB3dC1zdGF0dXMuYzoxMTkxCiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIk5lbmh1bSBjb21hbmRvIGNvbmNsdcOtZG8uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgxCisjOiB3dC1zdGF0dXMuYzoxMTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIsOabHRpbW8gY29tYW5kbyBjb25jbHXDrWRvICglZCBjb21hbmRvIGNvbmNsdcOtZG8pOiIKIG1zZ3N0clsxXSAiw5psdGltb3MgY29tYW5kb3MgY29uY2x1w61kb3MgKCVkIGNvbWFuZG9zIGNvbmNsdcOtZG9zKToiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTIKKyM6IHd0LXN0YXR1cy5jOjEyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAoc2VlIG1vcmUgaW4gZmlsZSAlcykiCiBtc2dzdHIgIiAgKHZlamEgbWFpcyBubyBmaWNoZWlybyAlcykiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTcKKyM6IHd0LXN0YXR1cy5jOjEyMTAKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICJOZW5odW0gY29tYW5kbyBwb3IgY29uY2x1aXIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjAwCisjOiB3dC1zdGF0dXMuYzoxMjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIlByw7N4aW1vIGNvbWFuZG8gYSBleGVjdXRhciAoJWQgY29tYW5kbyByZXN0YW50ZSk6IgogbXNnc3RyWzFdICJQcsOzeGltb3MgY29tYW5kb3MgYSBleGVjdXRhciAoJWQgY29tYW5kb3MgcmVzdGFudGVzKToiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDgKKyM6IHd0LXN0YXR1cy5jOjEyMjEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiBwYXJhIHZpc3VhbGl6YXIgZSBlZGl0YXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIxCisjOiB3dC1zdGF0dXMuYzoxMjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICJFc3TDoSBhIHJlYWxpemFyIHJlYmFzZSBkbyByYW1vICclcycgc29icmUgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjYKKyM6IHd0LXN0YXR1cy5jOjEyMzkKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIkVzdMOhIGEgcmViYXNlYXIgbmVzdGUgbW9tZW50by4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDAKKyM6IHd0LXN0YXR1cy5jOjEyNTMKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlqYSBvcyBjb25mbGl0b3MgZSBleGVjdXRlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQyCisjOiB3dC1zdGF0dXMuYzoxMjU1CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHBhcmEgaWdub3JhciBlc3RlIHBhdGNoKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0NAorIzogd3Qtc3RhdHVzLmM6MTI1NwogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgcGFyYSByZXN0YXVyYXIgbyByYW1vIG9yaWdpbmFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI1MAorIzogd3Qtc3RhdHVzLmM6MTI2MwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvZG9zIG9zIGNvbmZsaXRvcyBmb3JhbSBjb3JyaWdpZG9zOiBleGVjdXRlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU0CisjOiB3dC1zdGF0dXMuYzoxMjY3CiAjLCBjLWZvcm1hdAotbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKK21zZ2lkICIiCisiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAiRXN0w6EgYSBkaXZpZGlyIHVtIGNvbW1pdCBhbyBtZXNtbyB0ZW1wbyBxdWUgc2UgZWZldHVhIHJlYmFzZSBkbyByYW1vICclcycgIgogInNvYnJlICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU5CisjOiB3dC1zdGF0dXMuYzoxMjcyCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkVzdMOhIGEgZGl2aWRpciB1bSBjb21taXQgZHVyYW50ZSB1bSByZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYyCisjOiB3dC1zdGF0dXMuYzoxMjc1CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChBc3NpbSBxdWUgbyBkaXJldMOzcmlvIGRlIHRyYWJhbGhvIGVzdGl2ZXIgbGltcG8sIGV4ZWN1dGUgXCJnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY2CisjOiB3dC1zdGF0dXMuYzoxMjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKICJFc3TDoSBhIGVkaXRhciB1bSBjb21taXQgYW8gbWVzbW8gdGVtcG8gcXVlIGVmZXR1YSByZWJhc2UgZG8gcmFtbyAnJXMnIHNvYnJlICIKICInJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3MQorIzogd3Qtc3RhdHVzLmM6MTI4NAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiRXN0w6EgYSBlZGl0YXIgdW0gY29tbWl0IGR1cmFudGUgdW0gcmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NAorIzogd3Qtc3RhdHVzLmM6MTI4NwogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHBhcmEgZW1lbmRhciBvIGNvbW1pdCBhdHVhbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzYKKyM6IHd0LXN0YXR1cy5jOjEyODkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBhc3NpbSBxdWUgZXN0aXZlciBzYXRpc2ZlaXRvIGNvbSBhcyAiCiAiYWx0ZXJhw6fDtWVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4NgorIzogd3Qtc3RhdHVzLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICJFc3TDoSBhIHJlYWxpemFyIGNoZXJyeS1waWNrIGRvIGNvbW1pdCAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTEKKyM6IHd0LXN0YXR1cy5jOjEzMDQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlqYSBvcyBjb25mbGl0b3MgZSBleGVjdXRlIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTQKKyM6IHd0LXN0YXR1cy5jOjEzMDcKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvZG9zIG9zIGNvbmZsaXRvcyBmb3JhbSBjb3JyaWdpZG9zOiBleGVjdXRlIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiCiAiXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjk2CisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHBhcmEgY2FuY2VsYXIgYSBvcGVyYcOnw6NvIGRlIGNoZXJyeS1waWNrKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwNQorIzogd3Qtc3RhdHVzLmM6MTMxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiRXN0w6EgYSByZXZlcnRlciBvIGNvbW1pdCAlcyBuZXN0ZSBjb21lbnRvLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMxMAorIzogd3Qtc3RhdHVzLmM6MTMyMwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlqYSBkb3MgY29uZmxpdG9zIGUgZXhlY3V0ZSBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMxMworIzogd3Qtc3RhdHVzLmM6MTMyNgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvZG9zIG9zIGNvbmZsaXRvcyBmb3JhbSBjb3JyaWdpZG9zOiBleGVjdXRlIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzE1CisjOiB3dC1zdGF0dXMuYzoxMzI4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IHJldmVyIC0tYWJvcnRcIiBwYXJhIGNhbmNlbGFyIGEgb3BlcmHDp8OjbyBkZSByZXZlcnPDo28pIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI2CisjOiB3dC1zdGF0dXMuYzoxMzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiRXN0w6EgYSBiaXNzZXRhciwgaW5pY2lhZG8gYSBwYXJ0aXIgZG8gcmFtbyAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMAorIzogd3Qtc3RhdHVzLmM6MTM0MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIkVzdMOhIGEgYmlzc2V0YXIgbmVzdGUgbW9tZW50by4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzMKKyM6IHd0LXN0YXR1cy5jOjEzNDYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiBwYXJhIHZvbHRhciBhbyByYW1vIG9yaWdpbmFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU0MwogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgIk5vIHJhbW8gIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM2CisjOiB3dC1zdGF0dXMuYzoxNTQ5CiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNlIGludGVyYXRpdm8gZW0gY3Vyc287IHNvYnJlICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzOAorIzogd3Qtc3RhdHVzLmM6MTU1MQogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgInJlYmFzZSBlbSBjdXJzbzsgc29icmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQzCisjOiB3dC1zdGF0dXMuYzoxNTU2CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgIkhFQUQgZGVzdGFjYWRhIGVtICIKIAotIzogd3Qtc3RhdHVzLmM6MTU0NQorIzogd3Qtc3RhdHVzLmM6MTU1OAogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIkhFQUQgZGVzdGFjYWRhIGRlICIKIAotIzogd3Qtc3RhdHVzLmM6MTU0OAorIzogd3Qtc3RhdHVzLmM6MTU2MQogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIk7Do28gc2UgZW5jb250cmEgZW0gbmVuaHVtIHJhbW8gbmVzdGUgbW9tZW50by4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NjYKKyM6IHd0LXN0YXR1cy5jOjE1NzkKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiQ29tbWl0IGluaWNpYWwiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODAKKyM6IHd0LXN0YXR1cy5jOjE1OTMKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIkZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIgogCi0jOiB3dC1zdGF0dXMuYzoxNTgyCisjOiB3dC1zdGF0dXMuYzoxNTk1CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiRmljaGVpcm9zIGlnbm9yYWRvcyIKIAotIzogd3Qtc3RhdHVzLmM6MTU4NgorIzogd3Qtc3RhdHVzLmM6MTU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtNDIxNSwzMiArNDQ4MSwzMiBAQAogImN1aWRhZG8gZGUgbsOjbyBzZSBlc3F1ZWNlciBkZSBhZGljaW9uYXIgbm92b3MgZmljaGVpcm9zXG4iCiAiKGNvbnN1bHRlICdnaXQgaGVscCBzdGF0dXMnKS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTIKKyM6IHd0LXN0YXR1cy5jOjE2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiRmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgbsOjbyBsaXN0YWRvcyVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTk0CisjOiB3dC1zdGF0dXMuYzoxNjA3CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiICh1c2UgYSBvcMOnw6NvIC11IHBhcmEgbW9zdHJhciBvcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcykiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDAKKyM6IHd0LXN0YXR1cy5jOjE2MTMKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJTZW0gYWx0ZXJhw6fDtWVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjA1CisjOiB3dC1zdGF0dXMuYzoxNjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCi0ibmVuaHVtYSBhbHRlcmHDp8OjbyBhZGljaW9uYWRhIHBhcmEgc3VibWV0ZXIgKHVzZSBcImdpdCBhZGRcIiBlL291IFwiZ2l0IGNvbW1pdCAiCi0iLWFcIilcbiIKKyJuZW5odW1hIGFsdGVyYcOnw6NvIGFkaWNpb25hZGEgcGFyYSBzdWJtZXRlciAodXNlIFwiZ2l0IGFkZFwiIGUvb3UgXCJnaXQgIgorImNvbW1pdCAtYVwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjA4CisjOiB3dC1zdGF0dXMuYzoxNjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgIm5lbmh1bWEgYWx0ZXJhw6fDo28gYWRpY2lvbmFkYSBwYXJhIHN1Ym1ldGVyXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTQyNDksNzEgKzQ1MTUsNjkgQEAKICJuw6NvIGZvaSBhZGljaW9uYWRvIG5hZGEgcGFyYSBzdWJtZXRlciwgbWFzIGV4aXN0ZW0gZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgIgogIih1c2UgXCJnaXQgYWRkXCIgcGFyYSBjb250cm9sw6EtbG9zKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE0CisjOiB3dC1zdGF0dXMuYzoxNjI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICIiCi0ibsOjbyBmb2kgYWRpY2lvbmFkbyBuYWRhIHBhcmEgc3VibWV0ZXIsIG1hcyBleGlzdGVtIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zXG4iCisibsOjbyBmb2kgYWRpY2lvbmFkbyBuYWRhIHBhcmEgc3VibWV0ZXIsIG1hcyBleGlzdGVtIGZpY2hlaXJvcyBuw6NvICIKKyJjb250cm9sYWRvc1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE3CisjOiB3dC1zdGF0dXMuYzoxNjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICIiCiAibsOjbyBow6EgbmFkYSBwYXJhIHN1Ym1ldGVyIChjcmllL2NvcGllIGZpY2hlaXJvcyBlIHVzZSBcImdpdCBhZGRcIiBwYXJhICIKICJjb250cm9sw6EtbG9zKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIwIHd0LXN0YXR1cy5jOjE2MjUKKyM6IHd0LXN0YXR1cy5jOjE2MzMgd3Qtc3RhdHVzLmM6MTYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJuw6NvIGjDoSBuYWRhIHBhcmEgc3VibWV0ZXJcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMworIzogd3Qtc3RhdHVzLmM6MTYzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICIiCi0ibsOjbyBow6EgbmFkYSBwYXJhIHN1Ym1ldGVyICh1c2UgLXUgcGFyYSBtb3N0cmFyIG9zIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zKVxuIgorIm7Do28gaMOhIG5hZGEgcGFyYSBzdWJtZXRlciAodXNlIC11IHBhcmEgbW9zdHJhciBvcyBmaWNoZWlyb3MgbsOjbyAiCisiY29udHJvbGFkb3MpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjcKKyM6IHd0LXN0YXR1cy5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICJuw6NvIGjDoSBuYWRhIHBhcmEgc3VibWV0ZXIsIMOhcnZvcmUgZGUgdHJhYmFsaG8gbGltcGFcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTczNAorIzogd3Qtc3RhdHVzLmM6MTc0OQogbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKIG1zZ3N0ciAiQ29tbWl0IGluaWNpYWwgZW0gIgogCi0jOiB3dC1zdGF0dXMuYzoxNzM4CisjOiB3dC1zdGF0dXMuYzoxNzUzCiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAobmVuaHVtIHJhbW8pIgogCi0jOiB3dC1zdGF0dXMuYzoxNzY3Ci1tc2dpZCAiZ29uZSIKLW1zZ3N0ciAiZGVzYXBhcmVjaWRvIgotCi0jOiB3dC1zdGF0dXMuYzoxNzY5IHd0LXN0YXR1cy5jOjE3NzcKKyM6IHd0LXN0YXR1cy5jOjE3ODIgd3Qtc3RhdHVzLmM6MTc5MAogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgImF0csOhcyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NzIgd3Qtc3RhdHVzLmM6MTc3NQorIzogd3Qtc3RhdHVzLmM6MTc4NSB3dC1zdGF0dXMuYzoxNzg4CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICLDoCBmcmVudGUgIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgotIzogd3Qtc3RhdHVzLmM6MjI3NworIzogd3Qtc3RhdHVzLmM6MjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyICVzOiB0ZW0gYWx0ZXJhw6fDtWVzIG7Do28gcHJlcGFyYWRhcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyODMKKyM6IHd0LXN0YXR1cy5jOjIyODYKIG1zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgImFsw6ltIGRpc3NvLCBvIMOtbmRpY2UgY29udMOpbSBhbHRlcmHDp8O1ZXMgbsOjbyBzdWJtZXRpZGFzLiIKIAotIzogd3Qtc3RhdHVzLmM6MjI4NQorIzogd3Qtc3RhdHVzLmM6MjI4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVmZXR1YXIgJXM6IG8gw61uZGljZSBjb250w6ltIGFsdGVyYcOnw7VlcyBuw6NvIHN1Ym1ldGlkYXMuIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgogbXNnc3RyICJmYWxoYSBhbyBpbnZvY2FyIHVubGluayBkZSAnJXMnIgpAQCAtNDM0MCw3ICs0NjA0LDcgQEAKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiQWx0ZXJhw6fDtWVzIG7Do28gcHJlcGFyYWRhcyBkZXBvaXMgZGUgYXR1YWxpemFyIG8gw61uZGljZToiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODQ1CisjOiBidWlsdGluL2FkZC5jOjIwOSBidWlsdGluL3Jldi1wYXJzZS5jOjg3MgogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciBvIMOtbmRpY2UiCiAKQEAgLTQzNzUsOSArNDYzOSw5IEBACiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICJPcyBzZWd1aW50ZXMgY2FtaW5ob3MgZXN0w6NvIGlnbm9yYWRvcyBwb3IgYWxndW0gZmljaGVpcm8gLmdpdGlnbm9yZTpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjYgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vbXYuYzoxMjMKKyM6IGJ1aWx0aW4vYWRkLmM6MjY2IGJ1aWx0aW4vY2xlYW4uYzo4NzYgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL212LmM6MTIzCiAjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5OCBidWlsdGluL3B1c2guYzo1MjQKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNiBidWlsdGluL3JtLmM6MjQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjggYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2MwogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgInNpbXVsYXIgYcOnw6NvIgogCkBAIC00Mzg1LDcgKzQ2NDksNyBAQAogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgInNlbGXDp8OjbyBpbnRlcmF0aXZhIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE3NyBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgInNlbGVjaW9uYXIgYmxvY29zIGludGVyYXRpdmFtZW50ZSIKIApAQCAtNDQxMiw3ICs0Njc2LDggQEAKIAogIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKLW1zZ3N0ciAiaWdub3JhciBjYW1pbmhvcyByZW1vdmlkb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyAobyBtZXNtbyBxdWUgLS1uby1hbGwpIgorbXNnc3RyICIiCisiaWdub3JhciBjYW1pbmhvcyByZW1vdmlkb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyAobyBtZXNtbyBxdWUgLS1uby1hbGwpIgogCiAjOiBidWlsdGluL2FkZC5jOjI4MAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKQEAgLTQ0MjYsMTEgKzQ2OTEsMTEgQEAKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgInZlcmlmaWNhciBxdWFpcyBvcyBmaWNoZWlyb3MgaWdub3JhZG9zIG5hIHNpbXVsYcOnw6NvIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTEKIG1zZ2lkICIoKy8tKXgiCiBtc2dzdHIgIigrLy0peCIKIAotIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKKyM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgInN1YnN0aXR1aXIgbyBiaXQgZXhlY3V0w6F2ZWwgZG9zIGZpY2hlaXJvcyBsaXN0YWRvcyIKIApAQCAtNDQ2Niw4ICs0NzMxLDggQEAKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiUXVlcmlhIGRpemVyICdnaXQgYWRkIC4nP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjM4MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQgYnVpbHRpbi9jb21taXQuYzozNTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyOTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTEgYnVpbHRpbi9jbGVhbi5jOjkyMCBidWlsdGluL2NvbW1pdC5jOjM1MAogIzogYnVpbHRpbi9tdi5jOjE0MyBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyNzEKICM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCkBAIC00NTIxLDcgKzQ3ODYsNyBAQAogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAiRmFsaGEgYW8gZGV0ZXRhciBvIGZvcm1hdG8gZG8gcGF0Y2guIgogCi0jOiBidWlsdGluL2FtLmM6OTg5IGJ1aWx0aW4vY2xvbmUuYzozNzkKKyM6IGJ1aWx0aW4vYW0uYzo5ODkgYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJmYWxoYSBhbyBjcmlhciBvIGRpcmV0w7NyaW8gJyVzJyIKQEAgLTQ1NDgsMTQgKzQ4MTMsMTQgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICIiCi0iUGFyYSByZXN0YXVyYXIgbyByYW1vIG9yaWdpbmFsIGUgaW50ZXJyb21wZXIgYSBhcGxpY2HDp8OjbyBkb3MgcGF0Y2hlcywgZXhlY3V0ZSAiCi0iXCIlcyAtLWFib3J0XCIuIgorIlBhcmEgcmVzdGF1cmFyIG8gcmFtbyBvcmlnaW5hbCBlIGludGVycm9tcGVyIGEgYXBsaWNhw6fDo28gZG9zIHBhdGNoZXMsICIKKyJleGVjdXRlIFwiJXMgLS1hYm9ydFwiLiIKIAogIzogYnVpbHRpbi9hbS5jOjEzMTYKIG1zZ2lkICJQYXRjaCBpcyBlbXB0eS4gV2FzIGl0IHNwbGl0IHdyb25nPyIKIG1zZ3N0ciAiTyBwYXRjaCBlc3TDoSB2YXppby4gRm9pIGRpdmlkaWRvIGluY29ycmV0YW1lbnRlPyIKIAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2FtLmM6MTM5MCBidWlsdGluL2xvZy5jOjE1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAibGluaGEgZGUgaWRlbnRpZGFkZSBpbnbDoWxpZGE6ICVzIgpAQCAtNDU5Myw3ICs0ODU4LDcgQEAKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgogbXNnc3RyICJGYWxoYSBhbyBpbnRlZ3JhciBhcyBhbHRlcmHDp8O1ZXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjMyCisjOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjMxCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgZmFsaG91IGFvIGVzY3JldmVyIHVtYSDDoXJ2b3JlIgogCkBAIC00NjE0LDggKzQ4NzksOCBAQAogIzogYnVpbHRpbi9hbS5jOjE3NTkKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKLSJuw6NvIMOpIHBvc3PDrXZlbCBlbnRyYXIgZW0gbW9kbyBpbnRlcmF0aXZvIHNlbSB1bSBlbnRyYWRhIHBhZHLDo28gY29uZWN0YWRhIGEgdW0gIgotInRlcm1pbmFsLiIKKyJuw6NvIMOpIHBvc3PDrXZlbCBlbnRyYXIgZW0gbW9kbyBpbnRlcmF0aXZvIHNlbSB1bSBlbnRyYWRhIHBhZHLDo28gY29uZWN0YWRhIGEgIgorInVtIHRlcm1pbmFsLiIKIAogIzogYnVpbHRpbi9hbS5jOjE3NjQKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCkBAIC00NzU5LDE1ICs1MDI0LDE1IEBACiBtc2dzdHIgInRyYW5zbWl0aXIgYW8gZ2l0LWFwcGx5IgogCiAjOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjIgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY1Ci0jOiBidWlsdGluL2dyZXAuYzoxMDM4IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTM1IGJ1aWx0aW4vcHVsbC5jOjE5NAotIzogYnVpbHRpbi9yZXBhY2suYzoxODcgYnVpbHRpbi9yZXBhY2suYzoxOTEgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2OSBidWlsdGluL3RhZy5jOjM1NSBwYXJzZS1vcHRpb25zLmg6MTMyCi0jOiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDUgYnVpbHRpbi9tZXJnZS5jOjIwMSBidWlsdGluL3B1bGwuYzoxMzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NCBidWlsdGluL3JlcGFjay5jOjE4NyBidWlsdGluL3JlcGFjay5jOjE5MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNyBidWlsdGluL3Nob3ctcmVmLmM6MTY5IGJ1aWx0aW4vdGFnLmM6Mzk4CisjOiBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4Ci0jOiBidWlsdGluL3RhZy5jOjM4NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9icmFuY2guYzo1OTIgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQyIGJ1aWx0aW4vdGFnLmM6NDMzIGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJmb3JtYXRvIgogCkBAIC00ODAzLDggKzUwNjgsOCBAQAogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgInVzYXIgYSBkYXRhIGUgaG9yYSBhdHVhbCBjb21vIGRhdGEgZGUgYXV0b3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE1IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL21lcmdlLmM6MjMzCi0jOiBidWlsdGluL3B1bGwuYzoxNjUgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM3MAorIzogYnVpbHRpbi9hbS5jOjIzMTUgYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbWVyZ2UuYzoyMzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NSBidWlsdGluL3JldmVydC5jOjExMSBidWlsdGluL3RhZy5jOjQxMwogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAiaWQtY2hhdmUiCiAKQEAgLTQ5MDYsMTEzICs1MTcxLDExMyBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI8cmV2LW9ww6fDtWVzPiBlc3TDo28gZG9jdW1lbnRhZGFzIGVtIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjE3ODYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxNzc3CiBtc2dpZCAiQmxhbWluZyBsaW5lcyIKIG1zZ3N0ciAiTGluaGFzIGRlIGN1bHBhIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MgorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzMKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICIiCiAiTW9zdHJhciBlbnRyYWRhcyBkZSBjdWxwYSDDoCBtZWRpZGEgcXVlIGZvcmVtIGVuY29udHJhZGFzLCBpbmNyZW1lbnRhbG1lbnRlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MworIzogYnVpbHRpbi9ibGFtZS5jOjI1NzQKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb3N0YXIgU0hBLTEgZG9zIGNvbW1pdHMgbGltaXRlIGVtIGJyYW5jbyAoUHJlZGVmaW5pw6fDo286IGRlc2F0aXZhZG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NAorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzUKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIk7Do28gdHJhdGFyIG9zIGNvbW1pdHMgcmFpeiBjb21vIGxpbWl0ZXMgKFByZWRlZmluacOnw6NvOiBkZXNhdGl2YWRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc2CiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiTW9zdHJhciBlc3RhdMOtc3RpY2FzIGRlIGN1c3RvIGRlIGF0aXZpZGFkZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc3CiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJGb3LDp2FyIGluZm9ybWHDp8OjbyBkZSBwcm9ncmVzc28iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CisjOiBidWlsdGluL2JsYW1lLmM6MjU3OAogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJNb3N0cmFyIGEgcG9udHVhw6fDo28gZGFzIGVudHJhZGFzIGRlIGN1bHBhIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4OAorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzkKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAiTW9zdHJhciBvIG5vbWUgZG8gZmljaGVpcm8gb3JpZ2luYWwgKFByZWRlZmluacOnw6NvOiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgwCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb3N0cmFyIG7Dum1lcm9zIGRlIGxpbmhhIG9yaWdpbmFpcyAoUHJlZGVmaW5pw6fDo286IGRlc2F0aXZhZG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODEKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJNb3N0cmFyIGVtIGZvcm1hdG8gcHLDs3ByaW8gcGFyYSBzZXIgY29uc3VtbyBwb3IgdW1hIG3DoXF1aW5hIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODIKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIk1vc3RyYXIgZW0gZm9ybWF0byBkZSBwb3JjZWxhbmEgY29tIGluZm9ybWHDp8O1ZXMgZGUgY29tbWl0IHBvciBsaW5oYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVXNhciBvIG1lc21vIG1vZG8gZGUgc2HDrWRhIHF1ZSBnaXQtYW5ub3RhdGUgKFByZWRlZmluacOnw6NvOiBkZXNhdGl2YWRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg0CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb3N0cmFyIGNhcmltYm8gZGUgZGF0YS9ob3JhIGVtIGJydXRvIChQcmVkZWZpbmnDp8OjbzogZGVzYXRpdmFkbykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk0CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NQogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhciBTSEExIGxvbmdvIGRlIGNvbW1pdCAoUHJlZGVmaW5pw6fDo286IGRlc2F0aXZhZG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiU3VwcmltaXIgbm9tZSBkZSBhdXRvciBlIGNhcmltYm8gZGUgZGF0YS9ob3JhIChQcmVkZWZpbmnDp8OjbzogZGVzYXRpdmFkbykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk2CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NwogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhciBvIGVtYWlsIGRvIGF1dG9yIGVtIHZleiBkbyBub21lIChQcmVkZWZpbmnDp8OjbzogZGVzYXRpdmFkbykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk3CisjOiBidWlsdGluL2JsYW1lLmM6MjU4OAogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJJZ25vcmFyIGFzIGRpZmVyZW7Dp2FzIGRlIGVzcGHDp28gZW0gYnJhbmNvIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNAorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTUKIG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgogbXNnc3RyICJVc2FyIHVtIGhldXLDrXN0aWNhIGV4cGVyaW1lbnRhbCBwYXJhIG1lbGhvcmFyIGRpZmZzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNgorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTcKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIkRlc3BlbmRlciBjaWNsb3MgZXh0cmEgcGFyYSBlbmNvbnRyYXIgdW1hIG1lbGhvciBjb3JyZXNwb25kw6puY2lhIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNworIzogYnVpbHRpbi9ibGFtZS5jOjI1OTgKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIlVzYXIgcmV2aXPDtWVzIGRvIDxmaWNoZWlybz4gZW0gdmV6IGRlIGludm9jYXIgZ2l0LXJldi1saXN0IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwOAorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTkKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJVc2FyIG8gY29udGXDumRvIGRvIDxmaWNoZWlybz4gY29tbyBpbWFnZW0gZmluYWwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA5IGJ1aWx0aW4vYmxhbWUuYzoyNjEwCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMCBidWlsdGluL2JsYW1lLmM6MjYwMQogbXNnaWQgInNjb3JlIgogbXNnc3RyICJwb250dWHDp8OjbyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAwCiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiTG9jYWxpemFyIGxpbmhhcyBjb3BpYWRhcyBkZW50cm8gZSBlbnRyZSBmaWNoZWlyb3MiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjEwCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMQogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIkxvY2FsaXphciBsaW5oYXMgbW92aWRhcyBkZW50cm8gZSBlbnRyZSBmaWNoZWlyb3MiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjExCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMgogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYxMQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDIKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiUHJvY2Vzc2FyIGFwZW5hcyBvIGludGVydmFsbyBkZSBsaW5oYXMgbixtLCBhIGNhbnRhciBkZSAxIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjY1OAorIzogYnVpbHRpbi9ibGFtZS5jOjI2NDkKIG1zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgogbXNnc3RyICIiCiAiLS1wcm9ncmVzcyBuw6NvIHBvZGUgc2VyIHVzYWRvIGNvbSAtLWluY3JlbWVudGFsIG91IGZvcm1hdG9zIGRlIHBvcmNlbGFuYSIKQEAgLTUwMjMsMzkgKzUyODgsNDAgQEAKICMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgogIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgogIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI3MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjk3CiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiaMOhIDQgYW5vcyBlIDExIG1lc2VzIGF0csOhcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI3ODYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNzc3CiBtc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKIG1zZ3N0ciAiLS1jb250ZW50cyBlIC0tcmV2ZXJzZSBuw6NvIHNlIG1pc3R1cmFtIGJlbS4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODA2CisjOiBidWlsdGluL2JsYW1lLmM6Mjc5NwogbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgdXNhciAtLWNvbnRlbnRzIGNvbSBub21lIGRlIG9iamV0byBjb21taXQgZmluYWwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODExCisjOiBidWlsdGluL2JsYW1lLmM6MjgwMgogbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKIG1zZ3N0ciAiIgogIi0tcmV2ZXJzZSBlIC0tZmlyc3QtcGFyZW50IGp1bnRvcyByZXF1ZXIgcXVlIHNlIGVzcGVjaWZpcXVlIG8gw7psdGltbyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODM4Ci1tc2dpZCAiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorIzogYnVpbHRpbi9ibGFtZS5jOjI4MjkKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgogbXNnc3RyICIiCiAiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IGp1bnRvcyByZXF1ZXIgaW50ZXJ2YWxvIGFvIGxvbmdvIGRvIHByaW1laXJvLXBhaSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI4NDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKIG1zZ3N0ciAibyBjYW1pbmhvICVzIG7Do28gZXhpc3RlIGVtICVzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg2MAorIzogYnVpbHRpbi9ibGFtZS5jOjI4NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbGVyIG8gYmxvYiAlcyBkbyBjYW1pbmhvICVzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg3OQorIzogYnVpbHRpbi9ibGFtZS5jOjI4NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKIG1zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCkBAIC01MDgyLDcgKzUzNDgsMTEgQEAKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8b3DDp8O1ZXM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs8b3DDp8O1ZXM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKKworIzogYnVpbHRpbi9icmFuY2guYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaGFzIGJlZW4gbWVyZ2VkIHRvXG4iCkBAIC01MDkxLDcgKzUzNjEsNyBAQAogImEgZWxpbWluYXIgbyByYW1vICclcycgaW50ZWdyYWRvIGVtXG4iCiAiICAgICAgICAgJyVzJywgbWFzIGFpbmRhIG7Do28gaW50ZWdyYWRvIGVtIEhFQUQuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE0NworIzogYnVpbHRpbi9icmFuY2guYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGlzIG5vdCB5ZXQgbWVyZ2VkIHRvXG4iCkBAIC01MTAwLDEyICs1MzcwLDEyIEBACiAicmFtbyAnJXMnIG7Do28gZWxpbWluYWRvLCB2aXN0byBxdWUgYWluZGEgbsOjbyBmb2kgaW50ZWdyYWRvIGVtXG4iCiAiICAgICAgICAgJyVzJywgYXBlc2FyIGRlIGrDoSB0ZXIgc2lkbyBpbnRlZ3JhZG8gZW0gSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTYxCisjOiBidWlsdGluL2JyYW5jaC5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBwZXNxdWlzYXIgcGVsbyBvYmpldG8gY29tbWl0IGRlICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY1CisjOiBidWlsdGluL2JyYW5jaC5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCkBAIC01MTE0LDE2NSArNTM4NCw5MyBAQAogIk8gcmFtbyAnJXMnIG7Do28gZm9pIHRvdGFsbWVudGUgaW50ZWdyYWRvLlxuIgogIlNlIHRlbSBhIGNlcnRlemEgcXVlIG8gcXVlciBlbGltaW5hciwgZXhlY3V0ZSAnZ2l0IGJyYW5jaCAtRCAlcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE3OAorIzogYnVpbHRpbi9icmFuY2guYzoxNzkKIG1zZ2lkICJVcGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICJGYWxoYSBhbyBhdHVhbGl6YXIgbyBmaWNoZWlybyBkZSBjb25maWd1cmHDp8OjbyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjEwCiBtc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCB1c2FyIC1hIGNvbSAtZCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE2CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgcGVzcXVpc2FyIHBlbG8gb2JqZXRvIGNvbW1pdCBkZSBIRUFEIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyNgorIzogYnVpbHRpbi9icmFuY2guYzoyMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlbGltaW5hciBvIHJhbW8gJyVzJyBleHRyYcOtZG8gZW0gJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJyYW1vIGRlIG1vbml0b3JpemHDp8OjbyByZW1vdG8gJyVzJyBuw6NvIGVuY29udHJhZG8uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MgorIzogYnVpbHRpbi9icmFuY2guYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAicmFtbyAnJXMnIG7Do28gZW5jb250cmFkby4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU3CisjOiBidWlsdGluL2JyYW5jaC5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkVycm8gYSBlbGltaW5hciBvIHJhbW8gZGUgbW9uaXRvcml6YcOnw6NvIHJlbW90byAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1OAorIzogYnVpbHRpbi9icmFuY2guYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkVycm8gYSBlbGltaW5hciByYW1vICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjI2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIlJhbW8gZGUgbW9uaXRvcml6YcOnw6NvIHJlbW90byAlcyBlbGltaW5hZG8gKGVyYSAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY2CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiUmFtbyAlcyBlbGltaW5hZG8gKGVyYSAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogZ29uZV0iCi1tc2dzdHIgIlslczogZGVzYXBhcmVjaWRvXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzXSIKLW1zZ3N0ciAiWyVzXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgotbXNnc3RyICJbJXM6IGF0csOhcyAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIltiZWhpbmQgJWRdIgotbXNnc3RyICJbYXRyw6FzICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZF0iCi1tc2dzdHIgIlslczogw6AgZnJlbnRlICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2FoZWFkICVkXSIKLW1zZ3N0ciAiW8OgIGZyZW50ZSAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCi1tc2dzdHIgIlslczogw6AgZnJlbnRlICVkLCBhdHLDoXMgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzNgotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCi1tc2dzdHIgIlvDoCBmcmVudGUgJWQsIGF0csOhcyAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ5Ci1tc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKLW1zZ3N0ciAiICoqKiogcmVmZXLDqm5jaWFzIGludsOhbGlkYSAqKioqIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3NQotIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCi1tc2dzdHIgIihuZW5odW0gcmFtbywgYSBlZmV0dWFyIHJlYmFzZSBkZSAlcykiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKG5lbmh1bSByYW1vLCBiaXNzZWPDp8OjbyBpbmljaWFkYSBlbSAlcykiCi0KLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCi0jLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4NAotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCi1tc2dzdHIgIihIRUFEIGRlc3RhY2FkYSBlbSAlcykiCi0KLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCi0jLiAiSEVBRCBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgotbXNnc3RyICIoSEVBRCBkZXN0YWNhZGEgZGUgJXMpIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM5MwotbXNnaWQgIihubyBicmFuY2gpIgotbXNnc3RyICIobmVuaHVtIHJhbW8pIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzNQorIzogYnVpbHRpbi9icmFuY2guYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgIk8gcmFtbyAlcyBlc3TDoSBhIHNlciByZWJhc2VhZG8gZW0gJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM5CisjOiBidWlsdGluL2JyYW5jaC5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgYmlzZWN0ZWQgYXQgJXMiCiBtc2dzdHIgIk8gcmFtbyAlcyBlc3TDoSBhIHNlciBiaXNzZXRhZG8gZW0gJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU0CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2MAogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICIiCiAibsOjbyDDqSBwb3Nzw612ZWwgbXVkYXIgbyBub21lIGRvIHJhbW8gYXR1YWwgdmlzdGEgcXVlIG7Do28gc2UgZW5jb250cmEgbnVtIHJhbW8uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU2NAorIzogYnVpbHRpbi9icmFuY2guYzo0NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAiTm9tZSBkZSByYW1vIGludsOhbGlkbzogJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDg3CiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIkZhbGhhIGFvIG11ZGFyIG8gbm9tZSBkbyByYW1vIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgIk8gcmFtbyBpbmNvcnJldGFtZW50ZSBkZW5vbWluYWRvICclcycgbXVkb3UgZGUgbm9tZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIk8gbm9tZSBkbyByYW1vIG11ZG91IHBhcmEgJXMsIG1hcyBhIEhFQUQgbsOjbyBlc3TDoSBhdHVhbGl6YWRhISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTAyCiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICIiCiAiTyByYW1vIG11ZG91IGRlIG5vbWUsIG1hcyBhIGF0dWFsaXphw6fDo28gZG8gZmljaGVpcm8gZGUgY29uZmlndXJhw6fDo28gZmFsaG91IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMQorIzogYnVpbHRpbi9icmFuY2guYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgpAQCAtNTI4MywxNjYgKzU0ODEsMTc2IEBACiAiICAlc1xuIgogIkxpbmhhIGNvbWXDp2FkYXMgY29tICclYycgc2Vyw6NvIGlnbm9yYWRhcy5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTUxCiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgogbXNnc3RyICJPcMOnw7VlcyBnZW7DqXJpY2FzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NTMKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAiYXByZXNlbnRhciBoYXNoIGUgYXNzdW50bywgZHVwbGlxdWUgcGFyYSByYW1vcyBhIG1vbnRhbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NgorIzogYnVpbHRpbi9icmFuY2guYzo1NTQKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICJzdXByaW1pciBtZW5zYWdlbnMgaW5mb3JtYXRpdmFzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NworIzogYnVpbHRpbi9icmFuY2guYzo1NTUKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAiY29uZmlndXJhciBtb2RvIGRlIHNlZ3VpbWVudG8gKGNvbnN1bHRlIGdpdC1wdWxsKDEpKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU3CiBtc2dpZCAiY2hhbmdlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgImFsdGVyYXIgYSBpbmZvcm1hw6fDo28gZG8gcmFtbyBhIG1vbnRhbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9icmFuY2guYzo1NTkKIG1zZ2lkICJ1cHN0cmVhbSIKIG1zZ3N0ciAiYSBtb250YW50ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU5CiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJhbHRlcmFyIGEgaW5mb3JtYcOnw6NvIGRvIHJhbW8gYSBtb250YW50ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYwCiBtc2dpZCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIlJlbW92ZXIgYSBpbmZvcm1hw6fDo28gZG8gcmFtbyBhIG1vbnRhbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MworIzogYnVpbHRpbi9icmFuY2guYzo1NjEKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgInVzYXIgc2HDrWRhIGNvbG9yaWRhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9icmFuY2guYzo1NjIKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJhdHVhciBzb2JyZSByYW1vcyBkZSBtb25pdG9yaXphw6fDo28gcmVtb3RvcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTYgYnVpbHRpbi9icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY0IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiaW1wcmltaXIgYXBlbmFzIHJhbW9zIHF1ZSBjb250ZW5oYW0gbyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NSBidWlsdGluL2JyYW5jaC5jOjU2NworbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgImltcHJpbWlyIGFwZW5hcyByYW1vcyBxdWUgbsOjbyBjb250ZW5oYW0gbyBjb21taXQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTcwCiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiQcOnw7VlcyBlc3BlY8OtZmljYXMgZG8gZ2l0LWJyYW5jaDoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxCisjOiBidWlsdGluL2JyYW5jaC5jOjU3MQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJsaXN0YXIgcmFtb3MgZGUgbW9uaXRvcml6YcOnw6NvIHJlbW90b3MgZSByYW1vcyBsb2NhaXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL2JyYW5jaC5jOjU3MwogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICJlbGltaW5hciB1bSByYW1vIHRvdGFsbWVudGUgaW50ZWdyYWRvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9icmFuY2guYzo1NzQKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJlbGltaW5hciB1bSByYW1vIChtZXNtbyBxdWUgbsOjbyB0ZW5oYSBzaWRvIGludGVncmFkbykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjU3NQogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJtb3ZlciBvdSBtdWRhciBvIG5vbWUgZGUgdW0gcmFtbyBlIG8gc2V1IHJlZmxvZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc2CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAibW92ZXIgb3UgbXVkYXIgbyBub21lIGRlIHVtIHJhbW8sIG1lc21vIHF1ZSBvIGRlc3Rpbm8gasOhIGV4aXN0YSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc3CiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgImxpc3RhciBvcyBub21lcyBkb3MgcmFtb3MiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL2JyYW5jaC5jOjU3OAogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICJjcmlhciByZWZsb2cgZG8gcmFtbyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgwCiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgImVkaXRhciBhIGRlc2NyacOnw6NvIGRvIHJhbW8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4MQogbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCiBtc2dzdHIgImZvcsOnYXIgY3JpYcOnw6NvLCBtb3Zlci9tdWRhciBvIG5vbWUgb3UgZXhjbHVzw6NvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9icmFuY2guYzo1ODIKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiaW1wcmltaXIgYXBlbmFzIG9zIHJhbW9zIHF1ZSBmb3JhbSBpbnRlZ3JhZG9zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MworIzogYnVpbHRpbi9icmFuY2guYzo1ODMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImltcHJpbWlyIGFwZW5hcyBvcyByYW1vcyBxdWUgbsOjbyBmb3JhbSBpbnRlZ3JhZG9zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NAorIzogYnVpbHRpbi9icmFuY2guYzo1ODQKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImxpc3RhciBvcyByYW1vcyBlbSBjb2x1bmFzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6MzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDI2CiBtc2dpZCAia2V5IgogbXNnc3RyICJjaGF2ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjM4MgorIzogYnVpbHRpbi9icmFuY2guYzo1ODYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAibm9tZSBkbyBjYW1wbyBwZWxvIHF1YWwgb3JkZXJuYXIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc4IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9ub3Rlcy5jOjQwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNyBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vbm90ZXMuYzo1NzAgYnVpbHRpbi90YWcuYzozODQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9ub3Rlcy5jOjQwNAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNyBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vbm90ZXMuYzo1NzAKKyM6IGJ1aWx0aW4vdGFnLmM6NDI5CiBtc2dpZCAib2JqZWN0IgogbXNnc3RyICJvYmpldG8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc5CisjOiBidWlsdGluL2JyYW5jaC5jOjU4OQogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiaW1wcmltaXIgYXBlbmFzIG9zIHJhbW9zIGRvIG9iamV0byIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NiBidWlsdGluL3RhZy5jOjM4OAorIzogYnVpbHRpbi9icmFuY2guYzo1OTEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NyBidWlsdGluL3RhZy5jOjQzNAogbXNnaWQgInNvcnRpbmcgYW5kIGZpbHRlcmluZyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSIKIG1zZ3N0ciAib3JkZW5hciBlIGZpbHRyYXIgc8OjbyBpbnNlbnPDrXZlaXMgYSBtYWnDunNjdWxhcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkyIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi90YWcuYzo0MzMKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4Cittc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKK21zZ3N0ciAiZm9ybWF0byBhIHVzYXIgbmEgc2HDrWRhIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYxMQogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJGYWxoYSBhbyByZXNvbHZlciBIRUFEIG51bWEgcmVmZXLDqm5jaWEgdsOhbGlkYS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzAyIGJ1aWx0aW4vY2xvbmUuYzo3MDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE1IGJ1aWx0aW4vY2xvbmUuYzo3MjQKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKIG1zZ3N0ciAiSEVBRCBuw6NvIGVuY29udHJhZGEgZW0gcmVmcy9oZWFkcyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI0CisjOiBidWlsdGluL2JyYW5jaC5jOjYzOAogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gZSAtLXZlcmJvc2Ugc8OjbyBpbmNvbXBhdMOtdmVpcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzUgYnVpbHRpbi9icmFuY2guYzo3ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ5IGJ1aWx0aW4vYnJhbmNoLmM6NzAxCiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgIm5vbWUgZG8gcmFtbyDDqSBvYnJpZ2F0w7NyaW8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCisjOiBidWlsdGluL2JyYW5jaC5jOjY3NwogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGF0cmlidWlyIGRlc2NyacOnw6NvIGEgSEVBRCBkZXN0YWNhZGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY4CisjOiBidWlsdGluL2JyYW5jaC5jOjY4MgogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlZGl0YXIgYSBkZXNjcmnDp8OjbyBkZSBtYWlzIGRvIHF1ZSB1bSByYW1vIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3NQorIzogYnVpbHRpbi9icmFuY2guYzo2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIkFpbmRhIG7Do28gaMOhIGNvbW1pdHMgbm8gcmFtbyAnJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAiTsOjbyBow6EgbmVuaHVtIHJhbW8gZGVub21pbmFkbyAnJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA3CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAiZGVtYXNpYWRvcyByYW1vcyBwYXJhIHVtYSBvcGVyYcOnw6NvIGRlIG11ZGFuw6dhIGRlIG5vbWUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk4CisjOiBidWlsdGluL2JyYW5jaC5jOjcxMgogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgImRlbWFzaWFkb3MgcmFtb3MgcGFyYSBkZWZpbmlyIG5vdm8gcmFtbyBhIG1vbnRhbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgpAQCAtNTQ1MCw0OSArNTY1OCw1MCBAQAogIm7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyICVzIGNvbW8gcmFtbyBhIG1vbnRhbnRlIGRlIEhFQUQgdmlzdG8gcXVlIGVzdGEgbsOjbyAiCiAiYXBvbnRhIHBhcmEgdW0gcmFtby4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1IGJ1aWx0aW4vYnJhbmNoLmM6ODI3IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CisjOiBidWlsdGluL2JyYW5jaC5jOjcxOSBidWlsdGluL2JyYW5jaC5jOjc0MSBidWlsdGluL2JyYW5jaC5jOjc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJvIHJhbW8gJyVzJyBuw6NvIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJvIHJhbW8gJyVzJyBuw6NvIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM1CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgImRlbWFzaWFkb3MgcmFtb3MgcGFyYSByZW1vdmVyIGEgZGVmaW5pw6fDo28gZGUgcmFtbyBhIG1vbnRhbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNQorIzogYnVpbHRpbi9icmFuY2guYzo3MzkKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAibsOjbyBmb2kgcG9zc8OtdmVsIHJlbW92ZXIgYSBkZWZpbmnDp8OjbyBkZSByYW1vIGEgbW9udGFudGUgZGUgSEVBRCB2aXN0byBxdWUgIgogImVzdGEgbsOjbyBhcG9udGEgcGFyYSB1bSByYW1vLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiTyByYW1vICclcycgbsOjbyB0ZW0gaW5mb3JtYcOnw6NvIHNvYnJlIG8gcmFtbyBhIG1vbnRhbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0NQorIzogYnVpbHRpbi9icmFuY2guYzo3NTkKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgIm7Do28gZmF6IHNlbnRpZG8gY3JpYXIgJ0hFQUQnIG1hbnVhbG1lbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1MQorIzogYnVpbHRpbi9icmFuY2guYzo3NjUKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgotbXNnc3RyICJhcyBvcMOnw7VlcyAtYSBlIC1yIGRlICdnaXQgYnJhbmNoJyBuw6NvIGZhemVtIHNlbnRpZG8gY29tIHVtIG5vbWUgZGUgcmFtbyIKK21zZ3N0ciAiIgorImFzIG9ww6fDtWVzIC1hIGUgLXIgZGUgJ2dpdCBicmFuY2gnIG7Do28gZmF6ZW0gc2VudGlkbyBjb20gdW0gbm9tZSBkZSByYW1vIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NAorIzogYnVpbHRpbi9icmFuY2guYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCiAidHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG9cbiIKIG1zZ3N0ciAiIgotIkEgb3DDp8OjbyAtLXNldC11cHN0cmVhbSDDqSBvYnNvbGV0YSBlIHNlcsOhIHJlbW92aWRhLiBDb25zaWRlcmUgbyB1c28gZGUgLS10cmFjayAiCi0ib3UgLS1zZXQtdXBzdHJlYW0tdG9cbiIKKyJBIG9ww6fDo28gLS1zZXQtdXBzdHJlYW0gw6kgb2Jzb2xldGEgZSBzZXLDoSByZW1vdmlkYS4gQ29uc2lkZXJlIG8gdXNvIGRlIC0tIgorInRyYWNrIG91IC0tc2V0LXVwc3RyZWFtLXRvXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODcxCisjOiBidWlsdGluL2JyYW5jaC5jOjc4NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01NTAzLDI2ICs1NzEyLDI2IEBACiAiU2UgcXVlciBxdWUgJyVzJyBzaWdhICclcycsIGZhw6dhOlxuIgogIlxuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjUxCisjOiBidWlsdGluL2J1bmRsZS5jOjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG9rYXlcbiIKIG1zZ3N0ciAiJXMgZXN0w6EgY29ycmV0b1xuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjY0CisjOiBidWlsdGluL2J1bmRsZS5jOjU4CiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKIG1zZ3N0ciAiw4kgbmVjZXNzw6FyaW8gdW0gcmVwb3NpdMOzcmlvIHBhcmEgY3JpYXIgdW0gYnVuZGxlLiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2OAorIzogYnVpbHRpbi9idW5kbGUuYzo2MgogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiw4kgcHJlY2lzbyB1bSByZXBvc2l0w7NyaW8gcGFyYSBkZXNlbXBhY290YXIuIgogCiAjOiBidWlsdGluL2NhdC1maWxlLmM6NTEzCiBtc2dpZCAiIgotImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC1wICIKLSJ8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgorInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCiBtc2dzdHIgIiIKLSJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtcCAiCi0ifCA8dGlwbz4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxjYW1pbmhvPl0gPG9iamV0bz4iCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPHRpcG8+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08Y2FtaW5obz5dIDxvYmpldG8+IgogCiAjOiBidWlsdGluL2NhdC1maWxlLmM6NTE0CiBtc2dpZCAiIgpAQCAtNTU2MCw3ICs1NzY5LDcgQEAKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJwYXJhIG9iamV0b3MgYmxvYiwgY29ycmVyIGZpbHRyb3Mgc29icmUgbyBjb250ZcO6ZG8gZG8gb2JqZXRvIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTQzCiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAiYmxvYiIKIApAQCAtNTU4Nyw4ICs1Nzk2LDggQEAKICM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgIiIKLSJzZWd1aXIgbGlnYcOnw7VlcyBzaW1iw7NsaWNhIG5vIGludGVyaW9yIGRhIMOhcnZvcmUgKHVzYWRvIGNvbSAtLWJhdGNoIG91IC0tYmF0Y2gtIgotImNoZWNrKSIKKyJzZWd1aXIgbGlnYcOnw7VlcyBzaW1iw7NsaWNhIG5vIGludGVyaW9yIGRhIMOhcnZvcmUgKHVzYWRvIGNvbSAtLWJhdGNoIG91IC0tIgorImJhdGNoLWNoZWNrKSIKIAogIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCkBAIC01NjE4LDcgKzU4MjcsNyBAQAogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJ0ZXJtaW5hciByZWdpc3RvcyBkYSBlbnRyYWRhIGUgZGEgc2HDrWRhIGNvbSB1bSBjYXLDoWN0ZXIgTlVMIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwIGJ1aWx0aW4vZ2MuYzozMzIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExNTggYnVpbHRpbi9nYy5jOjM1MgogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAic3VwcmltaXIgaW5mb3JtYcOnw6NvIGRlIHByb2dyZXNzbyIKIApAQCAtNTcxMCw5ICs1OTE5LDkgQEAKIG1zZ3N0ciAiZXNjcmV2ZXIgbyBjb250ZcO6ZG8gZW0gZmljaGVpcm9zIHRlbXBvcsOhcmlvcyIKIAogIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NCBidWlsdGluL2NvbHVtbi5jOjMwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzIKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgImNhZGVpYSIKIApAQCAtNTcyNCwxMTQgKzU5MzMsMTE0IEBACiBtc2dpZCAiY29weSBvdXQgdGhlIGZpbGVzIGZyb20gbmFtZWQgc3RhZ2UiCiBtc2dzdHIgImNvcGlhciBvcyBmaWNoZWlyb3MgZG8gZXN0w6FnaW8gaW5kaWNhZG8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjI3CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIDxicmFuY2g+IgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxvcMOnw7Vlcz5dIDxyYW1vPiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjgKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPG9ww6fDtWVzPl0gWzxyYW1vPl0gLS0gPGZpY2hlaXJvPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNCBidWlsdGluL2NoZWNrb3V0LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgIm8gY2FtaW5obyAnJXMnIG7Do28gdGVtIGEgbm9zc2EgdmVyc8OjbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAibyBjYW1pbmhvICclcycgbsOjbyB0ZW0gYSB2ZXJzw6NvIGRlbGVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIm8gY2FtaW5obyAnJXMnIG7Do28gdGVtIHRvZGFzIGFzIHZlcnPDtWVzIG5lY2Vzc8OhcmlhcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE5NgorIzogYnVpbHRpbi9jaGVja291dC5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIm8gY2FtaW5obyAnJXMnIG7Do28gdGVtIGFzIHZlcnPDtWVzIG5lY2Vzc8OhcmlhcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKIG1zZ3N0ciAiY2FtaW5obyAnJXMnOiBuw6NvIMOpIHBvc3PDrXZlbCBpbnRlZ3JhciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWRpY2lvbmFyIG9zIHJlc3VsdGFkb3MgZGEgaW50ZWdyYcOnw6NvIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAgYnVpbHRpbi9jaGVja291dC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MjU2Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY5IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzIgYnVpbHRpbi9jaGVja291dC5jOjI3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgIiclcycgbsOjbyBwb2RlIHNlciB1c2FkbyBjb20gY2FtaW5ob3MgZW0gYXR1YWxpemHDp8OjbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjgxIGJ1aWx0aW4vY2hlY2tvdXQuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIG7Do28gcG9kZSBzZXIgdXNhZG8gY29tICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAiIgogIk7Do28gw6kgcG9zc8OtdmVsIGF0dWFsaXphciBvcyBjYW1pbmhvcyBlIG11ZGFyIHBhcmEgbyByYW1vICclcycgYW8gbWVzbW8gdGVtcG8uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzM5IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNTggYnVpbHRpbi9jaGVja291dC5jOjM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgIm8gY2FtaW5obyAnJXMnIG7Do28gZm9pIGludGVncmFkbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjUxMwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJwcmltZWlybyBkZXZlIHJlc29sdmVyIG8gw61uZGljZSBhdHVhbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjY0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciByZWZsb2cgZGUgJyVzJzogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjY4NQogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIGVzdMOhIGFnb3JhIGVtIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjcwIGJ1aWx0aW4vY2xvbmUuYzo2NjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODkgYnVpbHRpbi9jbG9uZS5jOjY3OAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGF0dWFsaXphciBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlJlcG9yIHJhbW8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJKw6EgZW0gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJNdWRvdSBwYXJhIGUgcmVww7RzIG8gcmFtbyAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODMgYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDIgYnVpbHRpbi9jaGVja291dC5jOjEwOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiTXVkb3UgcGFyYSBvIG5vdm8gcmFtbyAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiTXVkb3UgcGFyYSBvIHJhbW8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiAuLi4gZSBtYWlzICVkLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNTg1Miw3ICs2MDYxLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTU4NzksMTY0ICs2MDg4LDE2NiBAQAogIiBnaXQgYnJhbmNoIDxub21lLWRvLW5vdm8tcmFtbz4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjgxNgogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImVycm8gaW50ZXJubyBkdXJhbnRlIG8gY3Vyc28gZGUgcmV2aXPDtWVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODIwCiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIkEgcG9zacOnw6NvIGFudGVyaW9yIGRlIEhFQUQgZXJhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODI4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODQ3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg1CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiRXN0w6EgbnVtIHJhbW8gYWluZGEgbsOjbyBjcmlhZG8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgImVzcGVyYXZhLXNlIGFwZW5hcyB1bWEgcmVmZXLDqm5jaWEsICVkIGZvcm5lY2lkYXMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMyBidWlsdGluL3dvcmt0cmVlLmM6MjE0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzMSBidWlsdGluL3dvcmt0cmVlLmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAicmVmZXLDqm5jaWEgaW52w6FsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAiYSByZWZlcsOqbmNpYSBuw6NvIMOpIHVtYSDDoXJ2b3JlOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk5CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIm7Do28gcG9kZW0gc2VyIHVzYWRvcyBjYW1pbmhvcyBhbyBtdWRhciBkZSByYW1vIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NCBidWlsdGluL2NoZWNrb3V0LmM6MTA4OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDIgYnVpbHRpbi9jaGVja291dC5jOjExMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyBuw6NvIHBvZGUgc2VyIHVzYWRvIGFvIG11ZGFyIGRlIHJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjExMTAgYnVpbHRpbi9jaGVja291dC5jOjExMTMgYnVpbHRpbi9jaGVja291dC5jOjExMTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIG7Do28gcG9kZSBzZXIgdXNhZG8gY29tICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgbXVkYXIgZGUgcmFtbyBwYXJhICclcycsIHZpc3RvIHF1ZSBuw6NvIMOpIHVtIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEgYnVpbHRpbi9jaGVja291dC5jOjExNDMgYnVpbHRpbi9jbG9uZS5jOjkzCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzI0Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL2NoZWNrb3V0LmM6MTE2MSBidWlsdGluL2Nsb25lLmM6MTExCisjOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICJyYW1vIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiY3JpYXIgZSBleHRyYWlyIHVtIG5vdm8gcmFtbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyCiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiY3JpYXIvcmVwb3IgZSBleHRyYWlyIHVtIHJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MwogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgImNyaWFyIHJlZmxvZyBkbyBub3ZvIHJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY0IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgImRlc3RhY2FyIEhFQUQgbm8gY29tbWl0IGluZGljYWRvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NworIzogYnVpbHRpbi9jaGVja291dC5jOjExNjUKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiZGVmaW5pciBhIGluZm9ybWHDp8OjbyBkbyByYW1vIGEgbW9udGFudGUgZG8gbm92byByYW1vIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjcKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICJub3ZvLXJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NwogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAibm92byByYW1vIHNlbSBwYWkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2OAogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiZXh0cmFpciBhIG5vc3NhIHZlcnPDo28gZG9zIGZpY2hlaXJvcyBuw6NvIGludGVncmFkb3MiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3MAogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJleHRyYWlyIGEgdmVyc8OjbyBkZWxlcyBkb3MgZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyCiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgImZvcsOnYXIgZXh0cmHDp8OjbyAoZGVzY2FydGFyIG1vZGlmaWNhw6fDtWVzIGxvY2FpcykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3MwogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICJyZWFsaXphciB1bWEgaW50ZWdyYcOnw6NvIGNvbSAzIHBvbnRvcyBjb20gbyBub3ZvIHJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2IGJ1aWx0aW4vbWVyZ2UuYzoyMzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc0IGJ1aWx0aW4vbWVyZ2UuYzoyMzQKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImF0dWFsaXphciBmaWNoZWlyb3MgaWdub3JhZG9zIChwcmVkZWZpbmnDp8OjbykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU3IGJ1aWx0aW4vbG9nLmM6MTQ2NiBwYXJzZS1vcHRpb25zLmg6MjUxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3NSBidWlsdGluL2xvZy5jOjE0NzMgcGFyc2Utb3B0aW9ucy5oOjI1MQogbXNnaWQgInN0eWxlIgogbXNnc3RyICJlc3RpbG8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3NgogbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCiBtc2dzdHIgImVzdGlsbyBkZSBjb25mbGl0byAobWVyZ2Ugb3UgZGlmZjMpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzkKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCiBtc2dzdHIgIm7Do28gcmVzdHJpbmdpciBlc3BlY2lmaWNhZG9yZXMgZGUgY2FtaW5obyBhIGVudHJhZGFzIGVzcGFyc2FzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MworIzogYnVpbHRpbi9jaGVja291dC5jOjExODEKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAidGVudGFyIGFkaXZpbmhhciAnZ2l0IGNoZWNrb3V0IDxyYW1vLWluZXhpc3RlbnRlPiciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE4MwogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKLW1zZ3N0ciAibsOjbyB2ZXJpZmljYXIgc2Ugb3V0cmEgw6Fydm9yZSBkZSB0cmFiYWxobyBjb250w6ltIGEgcmVmZXLDqm5jaWEgZm9ybmVjaWRhIgorbXNnc3RyICIiCisibsOjbyB2ZXJpZmljYXIgc2Ugb3V0cmEgw6Fydm9yZSBkZSB0cmFiYWxobyBjb250w6ltIGEgcmVmZXLDqm5jaWEgZm9ybmVjaWRhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NiBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQotIzogYnVpbHRpbi9tZXJnZS5jOjIzMiBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM5Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExODcgYnVpbHRpbi9jbG9uZS5jOjc4IGJ1aWx0aW4vZmV0Y2guYzoxMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzEgYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzOQorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgImZvcsOnYXIgaW5mb3JtYcOnw6NvIGRlIHByb2dyZXNzbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjI0CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgZSAtLW9ycGhhbiBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZvcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQxCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXRyYWNrIHJlcXVlciB1bSBub21lIGR1bSByYW1vIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxOQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDYKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIkZhbHRhIHVtIG5vbWUgZHVtIHJhbW87IHRlbnRlIC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyODIKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiZXNwZWNpZmljYcOnw6NvIGRlIGNhbWluaG8gaW52w6FsaWRhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgogIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IgogbXNnc3RyICIiCi0iTsOjbyDDqSBwb3Nzw612ZWwgYXR1YWxpemFyIG9zIGNhbWluaG8gZSBtdWRhciBwYXJhIG8gcmFtbyAnJXMnIGFvIG1lc21vIHRlbXBvLlxuIgorIk7Do28gw6kgcG9zc8OtdmVsIGF0dWFsaXphciBvcyBjYW1pbmhvIGUgbXVkYXIgcGFyYSBvIHJhbW8gJyVzJyBhbyBtZXNtbyAiCisidGVtcG8uXG4iCiAiUHJldGVuZGlhIGV4dHJhaXIgJyVzJyBvIHF1YWwgbsOjbyBwb2RlIHNlciByZXNvbHZpZG8gY29tbyBjb21taXQ/IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIG7Do28gYWNlaXRhIHVtIGNhbWluaG8gY29tbyBhcmd1bWVudG8gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjk4CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNjA3NSw3ICs2Mjg2LDcgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICJmYWxoYSBhbyByZW1vdmVyICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIzCisjOiBidWlsdGluL2NsZWFuLmM6Mjk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTYwODgsNyArNjI5OSw3IEBACiAiZm9vICAgICAgICAtIHNlbGVjaW9uYXIgaXRlbSBiYXNlYWRvIG5vIHByZWZpeG8gw7puaWNvXG4iCiAiICAgICAgICAgICAtICh2YXppbykgbsOjbyBzZWxlY2lvbmEgbmFkYVxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzAxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTYxMDksMzggKzYzMjAsMzggQEAKICIqICAgICAgICAgIC0gZXNjb2xoZXIgdG9kb3Mgb3MgaXRlbnNcbiIKICIgICAgICAgICAgIC0gKHZhemlvKSBjb25jbHVpciBzZWxlw6fDo29cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU5OAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk0CiAjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT9cbiIKIG1zZ3N0ciAiTyBxdcOqICglcyk/XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2NTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgogbXNnc3RyICJJbnRyb2R1emEgcGFkcsO1ZXMgYSBpZ25vcmFyPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjkwCisjOiBidWlsdGluL2NsZWFuLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJBVklTTzogbsOjbyBmb3JhbSBlbmNvbnRyYWRvcyBpdGVucyBjb3JyZXNwb25kZW50ZXMgYTogJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3MTEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MTcKIG1zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgogbXNnc3RyICJTZWxlY2lvbmUgaXRlbnMgcGFyYSBlbGltaW5hciIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzUyCisjOiBidWlsdGluL2NsZWFuLmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICJSZW1vdmVyICVzIFt5L05dPyAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY5CisjOiBidWlsdGluL2NsZWFuLmM6NzgzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJCeWUuXG4iCiBtc2dzdHIgIkFkZXVzLlxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg1CisjOiBidWlsdGluL2NsZWFuLmM6NzkxCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTYxNTgsNjIgKzYzNjksNjMgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0gZXN0YSBhanVkYVxuIgogIj8gICAgICAgICAgICAgICAgICAgLSBhanVkYSBwYXJhIHNlbGXDp8OjbyBlbSBsaW5oYSBkZSBjb21hbmRvcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzM2CiBtc2dpZCAiKioqIENvbW1hbmRzICoqKiIKIG1zZ3N0ciAiKioqIENvbWFuZG9zICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzMzCiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIkUgYWdvcmEiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjcKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJSZW1vdmVyaWEgbyBzZWd1aW50ZSBpdGVtOiIKIG1zZ3N0clsxXSAiUmVtb3ZlcmlhIG9zIHNlZ3VpbnRlcyBpdGVuczoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MzgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDQKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiTsOjbyBow6EgbWFpcyBmaWNoZWlyb3MgcG9yIGxpbXBhciwgYSB0ZXJtaW5hci4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAibsOjbyBpbXByaW1pciBvcyBub21lcyBkb3MgZmljaGVpcm9zIHJlbW92aWRvcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3MQorIzogYnVpbHRpbi9jbGVhbi5jOjg3NwogbXNnaWQgImZvcmNlIgogbXNnc3RyICJmb3LDp2FyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcyCisjOiBidWlsdGluL2NsZWFuLmM6ODc4CiBtc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCiBtc2dzdHIgImxpbXBlemEgaW50ZXJhdGl2YSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NAorIzogYnVpbHRpbi9jbGVhbi5jOjg4MAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAicmVtb3ZlciBkaXJldMOzcmlvcyBpbnRlaXJvcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2Rlc2NyaWJlLmM6NDA3IGJ1aWx0aW4vZ3JlcC5jOjEwNTYKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzggYnVpbHRpbi9uYW1lLXJldi5jOjMxMyBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL2NsZWFuLmM6ODgxIGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDkgYnVpbHRpbi9kZXNjcmliZS5jOjQ1MQorIzogYnVpbHRpbi9ncmVwLmM6MTA2MyBidWlsdGluL2xzLWZpbGVzLmM6NTM5IGJ1aWx0aW4vbmFtZS1yZXYuYzozNDgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTAgYnVpbHRpbi9zaG93LXJlZi5jOjE3NgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgInBhZHLDo28iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4ODIKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAiYWRpY2lvbmFyIDxwYWRyw6NvPiDDoHMgcmVncmFzIGlnbm9yYWRhcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NworIzogYnVpbHRpbi9jbGVhbi5jOjg4MwogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgInRhbWLDqW0gcmVtb3ZlciBmaWNoZWlyb3MgaWdub3JhZG9zIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc5CisjOiBidWlsdGluL2NsZWFuLmM6ODg1CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAicmVtb3ZlciBhcGVuYXMgZmljaGVpcm9zIGlnbm9yYWRvcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg5NworIzogYnVpbHRpbi9jbGVhbi5jOjkwMwogbXNnaWQgIi14IGFuZCAtWCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiLXggZSAtWCBuw6NvIHBvZGUgc2VyIHVzYWRvcyBqdW50b3MiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDcKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCiAiY2xlYW4iCkBAIC02MjIxLDcgKzY0MzMsNyBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZpbmlkbyBjb21vIHRydWUgZSBuZW5odW0gLWksIC1uLCBvdSAtZiBmb3JuZWNpZG87ICIKICJsaW1wZXphIHJlY3VzYWRhIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA0CisjOiBidWlsdGluL2NsZWFuLmM6OTEwCiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyAiCiAicmVmdXNpbmcgdG8gY2xlYW4iCkBAIC02MjMzLDEyOSArNjQ0NSwxMzQgQEAKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFs8b3DDp8O1ZXM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MAogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICJuw6NvIGNyaWFyIHVtYSBleHRyYcOnw6NvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAorIzogYnVpbHRpbi9jbG9uZS5jOjgxIGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0NzgKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImNyaWFyIHVtIHJlcG9zaXTDs3JpbyBudSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcwCisjOiBidWlsdGluL2Nsb25lLmM6ODUKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiY3JpYXIgdW0gcmVwb3NpdMOzcmlvIGVzcGVsaGFkbyAoaW1wbGljYSByZXBvc2l0w7NyaW8gbnUpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJwYXJhIGNsb25hciBkZSB1bSByZXBvc2l0w7NyaW8gbG9jYWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NAorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgIm7Do28gdXNhciBsaWdhw6fDtWVzIGZpeGFzLCBjb3BpYXIgc2VtcHJlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MQogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJjb25maWd1cmFyIGNvbW8gcmVwb3NpdMOzcmlvIHBhcnRpbGhhZG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OCBidWlsdGluL2Nsb25lLmM6ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2Nsb25lLmM6OTcKK21zZ2lkICJwYXRoc3BlYyIKK21zZ3N0ciAicGF0aHNwZWMiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MyBidWlsdGluL2Nsb25lLmM6OTcKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICJpbmljaWFsaXphciBzdWJtw7NkdWxvcyBubyBjbG9uZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgyCisjOiBidWlsdGluL2Nsb25lLmM6MTAwCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgY2xvbmVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJuw7ptZXJvIGRlIHN1Ym3Ds2R1bG9zIGNsb25hZG9zIGVtIHBhcmFsZWxvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAiZGlyZXTDs3Jpby1tb2RlbG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9pbml0LWRiLmM6NDc2CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAiZGlyZXTDs3JpbyBxdWUgY29udMOpbSBvcyBtb2RlbG9zIHVzYWRvcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY2xvbmUuYzo4OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA0Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTcwCisjOiBidWlsdGluL2Nsb25lLmM6MTA0IGJ1aWx0aW4vY2xvbmUuYzoxMDYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MwogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICJyZXBvc2l0w7NyaW8gZGUgcmVmZXLDqm5jaWEiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOAogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgInVzYXIgLS1yZWZlcmVuY2UgYXBlbmFzIHBhcmEgY2xvbmFyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQzCiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAibm9tZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyCisjOiBidWlsdGluL2Nsb25lLmM6MTEwCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJ1c2FyIDxub21lPiBlbSB2ZXogZGUgJ29yaWdpbicgcGFyYSBzZWd1aXIgbyByYW1vIGEgbW9udGFudGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NAorIzogYnVpbHRpbi9jbG9uZS5jOjExMgogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgImV4dHJhaXIgPHJhbW8+IGVtIHZleiBkYSBIRUFEIGRvIHJlbW90byIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2CisjOiBidWlsdGluL2Nsb25lLmM6MTE0CiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAiY2FtaW5obyBwYXJhIGdpdC11cGxvYWQtcGFjayBubyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjk5OSBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUgYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL2dyZXAuYzoxMDA2CisjOiBidWlsdGluL3B1bGwuYzoyMDIKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAicHJvZnVuZGlkYWRlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgImNyaWFyIHVtIGNsb25lIHJhc28gY29tIGVzc2EgcHJvZnVuZGlkYWRlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTcgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTgKICM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKIG1zZ2lkICJ0aW1lIgogbXNnc3RyICJob3JhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6MTE4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgImNyaWFyIHVtIGNsb25lIHJhc28gZGVzZGUgdW1hIGRhdGEgZXNwZWPDrWZpY2EiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9mZXRjaC5jOjEyNAorIzogYnVpbHRpbi9jbG9uZS5jOjExOSBidWlsdGluL2ZldGNoLmM6MTI0CiBtc2dpZCAicmV2aXNpb24iCiBtc2dzdHIgInJldmlzw6NvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAgYnVpbHRpbi9mZXRjaC5jOjEyNQogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgImFwcm9mdW5kYXIgbyBoaXN0w7NyaWNvIGRlIHVtIGNsb25lIHJhc28sIGV4Y2x1aW5kbyBhIHJldmlzw6NvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0CisjOiBidWlsdGluL2Nsb25lLmM6MTIyCiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJjbG9uYXIgYXBlbmFzIHVtIHJhbW8sIEhFQUQgb3UgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKIG1zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaGFsbG93IgogbXNnc3RyICJxdWFscXVlciBzdWJtw7NkdWxvIGNsb25hZG8gc2Vyw6EgcmFzbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjUgYnVpbHRpbi9pbml0LWRiLmM6NDg0CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6MTI2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInNlcGFyYXIgbyByZXBvc2l0w7NyaW8gZ2l0IGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgImNoYXZlPXZhbG9yIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwCisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJkZWZpbmlyIGNvbmZpZ3VyYcOnw6NvIGRlbnRybyBkbyBub3ZvIHJlcG9zaXTDs3JpbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2ZldGNoLmM6MTQwIGJ1aWx0aW4vcHVzaC5jOjU1MAorIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2ZldGNoLmM6MTQwIGJ1aWx0aW4vcHVzaC5jOjU1MAogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJ1c2FyIGFwZW5hcyBlbmRlcmXDp29zIElQdjQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL3B1c2guYzo1NTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzEgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL3B1c2guYzo1NTIKIG1zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAidXNhciBhcGVuYXMgZW5kZXJlw6dvcyBJUHY2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjUwCisjOiBidWlsdGluL2Nsb25lLmM6MjY4CiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTYzNjMsNDIgKzY1ODAsNDIgQEAKICJOw6NvIGZvaSBwb3Nzw612ZWwgYWRpdmluaGFyIG8gbm9tZSBkbyBkaXJldMOzcmlvLlxuIgogIkVzcGVjaWZpcXVlIHVtIGRpcmV0w7NyaW8gbmEgbGluaGEgZGUgY29tYW5kb3MiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgImluZm86IE7Do28gZm9pIHBvc3PDrXZlbCBhZGljaW9uYXIgc29icmVzc2FsZW50ZSBkZSAnJXMnOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzc1CisjOiBidWlsdGluL2Nsb25lLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCiBtc2dzdHIgImZhbGhhIGFvIGFicmlyICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIGV4aXN0ZSBlIG7Do28gw6kgdW0gZGlyZXTDs3JpbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM5NworIzogYnVpbHRpbi9jbG9uZS5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICJmYWxoYSBhbyBpbnZvY2FyIHN0YXQgZGUgJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQxOQorIzogYnVpbHRpbi9jbG9uZS5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAiZmFsaGEgYW8gY3JpYXIgYSBsaWdhw6fDo28gJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMworIzogYnVpbHRpbi9jbG9uZS5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgImZhbGhhIGFvIGNvcGlhciBvIGZpY2hlaXJvIHBhcmEgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICJjb25jbHXDrWRvLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDYwCisjOiBidWlsdGluL2Nsb25lLmM6NDc4CiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTY0MDgsMTM3ICs2NjI1LDE0MCBAQAogIlBvZGUgaW5zcGVjaW9uYXIgbyBxdWUgZm9pIGV4dHJhw61kbyBjb20gJ2dpdCBzdGF0dXMnXG4iCiAiZSByZXBldGlyIGEgZXh0cmHDp8OjbyBjb20gJ2dpdCBjaGVja291dCAtZiBIRUFEJ1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTM3CisjOiBidWlsdGluL2Nsb25lLmM6NTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJSYW1vIHJlbW90byAlcyBuw6NvIGVuY29udHJhZG8gcGFyYSBjbG9uYXIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjMyCisjOiBidWlsdGluL2Nsb25lLmM6NjUwCiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIm8gcmVtb3RvIG7Do28gZW52aW91IHRvZG9zIG9zIG9iamV0b3MgbmVjZXNzw6FyaW9zIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQ4CisjOiBidWlsdGluL2Nsb25lLmM6NjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhdHVhbGl6YXIgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MTUKIG1zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCiBtc2dzdHIgIiIKLSJhIEhFQUQgcmVtb3RhIHJlZmVyZW5jaWEgdW1hIHJlZmVyw6puY2lhIGluZXhpc3RlbnRlLCBuw6NvIMOpIHBvc3PDrXZlbCBleHRyYWlyLlxuIgorImEgSEVBRCByZW1vdGEgcmVmZXJlbmNpYSB1bWEgcmVmZXLDqm5jaWEgaW5leGlzdGVudGUsIG7Do28gw6kgcG9zc8OtdmVsICIKKyJleHRyYWlyLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzI4CisjOiBidWlsdGluL2Nsb25lLmM6NzQ2CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGV4dHJhaXIgYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzY4CisjOiBidWlsdGluL2Nsb25lLmM6Nzg2CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHBhcmFtZXRlcnMgdG8gY29uZmlnIGZpbGUiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBvcyBwYXLDom1ldHJvcyBubyBmaWNoZWlybyBkZSBjb25maWd1cmHDp8OjbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMQorIzogYnVpbHRpbi9jbG9uZS5jOjg0OQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIHJlZW1wYWNvdGFyIHBhcmEgbGltcGFyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMzCisjOiBidWlsdGluL2Nsb25lLmM6ODUxCiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgotbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBpbnZvY2FyIHVubGluayBzb2JyZSBvIGZpY2hlaXJvIHNvYnJlc3NhbGVudGUgdGVtcG9yw6FyaW8iCittc2dzdHIgIiIKKyJuw6NvIMOpIHBvc3PDrXZlbCBpbnZvY2FyIHVubGluayBzb2JyZSBvIGZpY2hlaXJvIHNvYnJlc3NhbGVudGUgdGVtcG9yw6FyaW8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjYgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk1CisjOiBidWlsdGluL2Nsb25lLmM6ODg0IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkwMQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIkRlbWFzaWFkb3MgYXJndW1lbnRvcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4ODgKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIkRldmUgZXNwZWNpZmljYXIgdW0gcmVwb3NpdMOzcmlvIHBhcmEgY2xvbmFyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4MworIzogYnVpbHRpbi9jbG9uZS5jOjkwMQogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgImFzIG9ww6fDtWVzIC0tYmFyZSBlIC0tb3JpZ2luICVzIHPDo28gaW5jb21wYXTDrXZlaXMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODg2CisjOiBidWlsdGluL2Nsb25lLmM6OTA0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIi0tYmFyZSBlIC0tc2VwYXJhdGUtZ2l0LWRpciBzw6NvIGluY29tcGF0w612ZWlzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5OQorIzogYnVpbHRpbi9jbG9uZS5jOjkxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIm8gcmVwb3NpdMOzcmlvICclcycgbsOjbyBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjMgYnVpbHRpbi9mZXRjaC5jOjEzMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICJwcm9mdW5kaWRhZGUgJXMgbsOjbyDDqSB1bSBuw7ptZXJvIHBvc2l0aXZvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTE1CisjOiBidWlsdGluL2Nsb25lLmM6OTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIm8gY2FtaW5obyBkZSBkZXN0aW5vICclcycgasOhIGV4aXN0ZSBlIG7Do28gw6kgdW0gZGlyZXTDs3JpbyB2YXppby4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJhIMOhcnZvcmUgZGUgdHJhYmFsaG8gJyVzJyBqw6EgZXhpc3RlLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vZGlmZnRvb2wuYzoyNTIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTkgYnVpbHRpbi93b3JrdHJlZS5jOjIyMiBidWlsdGluL3dvcmt0cmVlLmM6MjQ5CisjOiBidWlsdGluL2Nsb25lLmM6OTU4IGJ1aWx0aW4vY2xvbmUuYzo5NjkgYnVpbHRpbi9kaWZmdG9vbC5jOjI1MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIyMiBidWlsdGluL3dvcmt0cmVlLmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgb3MgZGlyZXTDs3Jpb3Mgc3VwZXJpb3JlcyBkZSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQzCisjOiBidWlsdGluL2Nsb25lLmM6OTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgbyBkaXJldMOzcmlvIGRlIMOhcnZvcmUgZGUgdHJhYmFsaG8gJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiQSBjbG9uYXIgbm8gcmVwb3NpdMOzcmlvIG51ICclcycuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NworIzogYnVpbHRpbi9jbG9uZS5jOjk3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICJBIGNsb25hciBlbSAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OTkKIG1zZ2lkICIiCiAiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCiAiYWJsZSIKIG1zZ3N0ciAiIgotImNsb25lIC0tcmVjdXJzaXZlIG7Do28gw6kgY29tcGF0w612ZWwgY29tIGFtYm9zIC0tcmVmZXJlbmNlIGUgLS1yZWZlcmVuY2UtaWYtYWJsZSIKKyJjbG9uZSAtLXJlY3Vyc2l2ZSBuw6NvIMOpIGNvbXBhdMOtdmVsIGNvbSBhbWJvcyAtLXJlZmVyZW5jZSBlIC0tcmVmZXJlbmNlLWlmLSIKKyJhYmxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxOQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNTUKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1kZXB0aCDDqSBpZ25vcmFkbyBlbSBjbG9uZXMgbG9jYWlzOyB1c2UgZmlsZTovLyAuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNTcKIG1zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLXNoYWxsb3ctc2luY2Ugw6kgaWdub3JhZG8gZW0gY2xvbmVzIGxvY2FpczsgdXNlIGZpbGU6Ly8gLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDU5CiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLXNoYWxsb3ctZXhjbHVkZSDDqSBpZ25vcmFkbyBlbSBjbG9uZXMgbG9jYWlzOyB1c2UgZmlsZTovLyAuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjIKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICJvIHJlcG9zaXTDs3JpbyBkZSBvcmlnZW0gw6kgcmFzbywgLS1sb2NhbCBpZ25vcmFkbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDY3CiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIGlnbm9yYWRvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgIk7Do28gc2VpIGNvbW8gY2xvbmFyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5MCBidWlsdGluL2Nsb25lLmM6MTA5OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMjYgYnVpbHRpbi9jbG9uZS5jOjExMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIk8gcmFtbyByZW1vdG8gJXMgbsOjbyBmb2kgZW5jb250cmFkbyBubyByZXBvc2l0w7NyaW8gYSBtb250YW50ZSAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTM3CiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiUGFyZWNlIGZvaSBjbG9uYWRvIHVtIHJlcG9zaXTDs3JpbyB2YXppby4iCiAKQEAgLTY3MzEsMTEgKzY5NTEsNiBAQAogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgInBhcsOibWV0cm8gLS1hdXRob3IgbWFsZm9ybWFkbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCi1tc2dzdHIgImZvcm1hdG8gZGUgZGF0YSBpbnbDoWxpZG86ICVzIgotCiAjOiBidWlsdGluL2NvbW1pdC5jOjY1NQogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgpAQCAtNjc0OSw3ICs2OTY0LDcgQEAKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNvbnN1bHRhciBvIGNvbW1pdCAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NQorIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIoYSBsZXIgbWVuc2FnZW0gZGUgbG9nIGRhIGVudHJhZGEgcGFkcsOjbylcbiIKQEAgLTY4NDksNyArNzA2NCw3IEBACiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkVycm8gYW8gY29uc3RydWlyIMOhcnZvcmVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2OCBidWlsdGluL3RhZy5jOjI4MAorIzogYnVpbHRpbi9jb21taXQuYzo5NjggYnVpbHRpbi90YWcuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICJJbmRpcXVlIGEgbWVuc2FnZW0gdXNhbmRvIGFzIG9ww6fDtWVzIC1tIG91IC1GLlxuIgpAQCAtNjkxNSw3ICs3MTMwLDcgQEAKIG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgogbXNnc3RyICJDYW1pbmhvcyBleHBsw61jaXRvcyBlc3BlY2lmaWNhZG9zIHNlbSAtaSBvdSAtbzsgYXNzdW1pbmRvIC0tb25seS4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI0IGJ1aWx0aW4vdGFnLmM6NDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjQgYnVpbHRpbi90YWcuYzo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIk1vZG8gZGUgbGltcGV6YSBpbnbDoWxpZG8gJXMiCkBAIC02OTM3LDcgKzcxNTIsNyBAQAogbXNnc3RyICJ2ZXJzw6NvIgogCiAjOiBidWlsdGluL2NvbW1pdC5jOjEzNDMgYnVpbHRpbi9jb21taXQuYzoxNjE2IGJ1aWx0aW4vcHVzaC5jOjUyNQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MwogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJzYcOtZGEgaW50ZWxpZ8OtdmVsIHBvciBtw6FxdWluYSIKIApAQCAtNjk1MCw3ICs3MTY1LDcgQEAKIG1zZ3N0ciAidGVybWluYXIgZW50cmFkYXMgY29tIE5VTCIKIAogIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyNCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzY4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6NDExCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAibW9kbyIKIApAQCAtNjk3MCw4ICs3MTg1LDggQEAKIAogIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CiBtc2dpZCAiIgotImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gKERlZmF1bHQ6ICIKLSJhbGwpIgorImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgorIihEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAiaWdub3JhciBhbHRlcmHDp8O1ZXMgZW0gc3VibcOzZHVsb3MsIHF1YW5kbyDDqSBvcGNpb25hbDogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKFByZWRlZmluacOnw6NvOiBhbGwpIgpAQCAtNzAwOCw3ICs3MjIzLDcgQEAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJPcMOnw7VlcyBkZSBtZW5zYWdlbSBkZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NiBidWlsdGluL3RhZy5jOjM2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg2IGJ1aWx0aW4vdGFnLmM6NDA5CiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAibGVyIG1lbnNhZ2VtIGRlIHVtIGZpY2hlaXJvIgogCkBAIC03MDIwLDcgKzcyMzUsNyBAQAogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICJzdWJzdGl0dWlyIGF1dG9yIGRvIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4IGJ1aWx0aW4vZ2MuYzozMzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OCBidWlsdGluL2djLmM6MzUzCiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0YSIKIApAQCAtNzAyOCw4ICs3MjQzLDggQEAKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgInN1YnN0aXR1aXIgZGF0YSBkbyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OSBidWlsdGluL21lcmdlLmM6MjIyIGJ1aWx0aW4vbm90ZXMuYzozOTgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OSBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vbm90ZXMuYzozOTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzo0MDcKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICJtZW5zYWdlbSIKIApAQCAtNzAzOCw3ICs3MjUzLDcgQEAKIG1zZ3N0ciAibWVuc2FnZW0gZGUgY29tbWl0IgogCiAjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAgYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vY29tbWl0LmM6MTU5MgotIzogYnVpbHRpbi9jb21taXQuYzoxNTkzIHBhcnNlLW9wdGlvbnMuaDoyNTcgcmVmLWZpbHRlci5oOjgxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzcKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImNvbW1pdCIKIApAQCAtNzA1NywxMyArNzI3MiwxNCBAQAogCiAjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKLW1zZ3N0ciAidXNhciBtZW5zYWdlbSBjb20gZm9ybWF0byBhdXRvc3F1YXNoIHBhcmEgZXNtYWdhciBvIGNvbW1pdCBlc3BlY2lmaWNhZG8iCittc2dzdHIgIiIKKyJ1c2FyIG1lbnNhZ2VtIGNvbSBmb3JtYXRvIGF1dG9zcXVhc2ggcGFyYSBlc21hZ2FyIG8gY29tbWl0IGVzcGVjaWZpY2FkbyIKIAogIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiYWdvcmEgc291IGV1IG8gYXV0b3IgZG8gY29tbWl0ICh1c2FkbyBjb20gQy8tYy8tLWFtZW5kKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi9sb2cuYzoxNDIwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICJhZGljaW9uYXIgU2lnbmVkLW9mZi1ieToiCiAKQEAgLTcwNzksNyArNzI5NSw3IEBACiBtc2dpZCAiZGVmYXVsdCIKIG1zZ3N0ciAicHJlZGVmaW5pw6fDo28iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL3RhZy5jOjM2OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IGJ1aWx0aW4vdGFnLmM6NDEyCiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAiY29tbyByZXRpcmFyIGVzcGHDp29zIGUgI2NvbWVudMOhcmlvcyBkYSBtZW5zYWdlbSIKIApAQCAtNzA4Nyw4ICs3MzAzLDggQEAKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiaW5jbHVpciBzdGF0dXMgbm8gbW9kZWxvIGRhIG1lbnNhZ2VtIGRlIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxIGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTY2Ci0jOiBidWlsdGluL3JldmVydC5jOjkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDEgYnVpbHRpbi9tZXJnZS5jOjIzMyBidWlsdGluL3B1bGwuYzoxNjYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJhc3NpbmFyIG8gY29tbWl0IGNvbSBHUEciCiAKQEAgLTczMzIsMTIgKzc1NDgsMTIgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCisjOiBidWlsdGluL2NvbmZpZy5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgY3JpYXIgbyBmaWNoZWlybyBkZSBjb25maWd1cmHDp8OjbyAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC03MzU0LDU1ICs3NTcwLDY3IEBACiBtc2dpZCAicHJpbnQgc2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0IgogbXNnc3RyICJpbXByaW1pciBkaW1lbnPDtWVzIGVtIGZvcm1hdG8gaW50ZWxpZ8OtdmVsIHBvciBodW1hbm9zIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxOAogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSBbPGNvbW1pdC1pc2g+Li4uXSIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs8b3DDp8O1ZXM+XSBbPGNvbW1pdC1ldGM+Li4uXSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjE4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTkKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gLS1kaXJ0eSIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs8b3DDp8O1ZXM+XSAtLWRpcnR5IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjE3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTMKK21zZ2lkICJoZWFkIgorbXNnc3RyICJjYWJlw6dhIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTMKK21zZ2lkICJsaWdodHdlaWdodCIKK21zZ3N0ciAibGV2ZSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzCittc2dpZCAiYW5ub3RhdGVkIgorbXNnc3RyICJhbm90YWRvIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAiYSB0YWcgYW5vdGFkYSAlcyBuw6NvIGVzdMOhIGRpc3BvbsOtdmVsIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCiBtc2dzdHIgImEgdGFnIGFub3RhZGEgJXMgbsOjbyB0ZW0gbmVuaHVtIG5vbWUgaW5jb3Jwb3JhZG8iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKIG1zZ3N0ciAiYSB0YWcgJyVzJyBlc3TDoSBkZSBmYWN0byBlbSAnJXMnIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjgzIGJ1aWx0aW4vbG9nLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICIlcyBuw6NvIMOpIHVtIG5vbWUgZGUgb2JqZXRvIHbDoWxpZG8iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiVzIG7Do28gw6kgdW0gb2JqZXRvICclcycgdsOhbGlkbyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCiBtc2dzdHIgIm5lbmh1bWEgdGFnIGNvcnJlc3BvbmRlIGV4YXRhbWVudGUgYSAnJXMnIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNlYXJjaGluZyB0byBkZXNjcmliZSAlc1xuIgogbXNnc3RyICLDoCBwcm9jdXJhciBkYSBkZXNjcmnDp8OjbyBkZSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzE5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICJhIHBlc3F1aXNhIHRlcm1pbm91IGVtICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtNzQxMSw3ICs3NjM5LDcgQEAKICJOw6NvIMOpIHBvc3PDrXZlbCB1c2FyIHRhZ3MgYW5vdGFkYXMgcGFyYSBkZXNjcmV2ZXIgJyVzJy5cbiIKICJObyBlbnRhbnRvLCDDqSBwb3Nzw612ZWwgY29tIHRhZ3MgbsOjbyBhbm90YWRhczogdGVudGUgLS10YWdzLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTc0MjAsMTIgKzc2NDgsMTIgQEAKICJOw6NvIMOpIHBvc3PDrXZlbCB1c2FyIHRhZ3MgcGFyYSBkZXNjcmV2ZXIgJyVzJy5cbiIKICJUZW50ZSAtLWFsd2F5cywgb3UgY3JpZSBhbGd1bWFzIHRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzcxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICIlbHUgY29tbWl0cyBwZXJjb3JyaWRvc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCkBAIC03NDM0LDY4ICs3NjYyLDgyIEBACiAibWFpcyBkZSAlaSB0YWdzIGVuY29udHJhZGFzOyBmb3JhbSBsaXN0YWRhcyBhcyAlaSBtYWlzIHJlY2VudGVzXG4iCiAicGVzcXVpc2EgaW50ZXJyb21waWRhIGVtICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzgKIG1zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgogbXNnc3RyICJsb2NhbGl6YXIgYSB0YWcgcXVlIHZlbSBhcMOzcyBvIGNvbW1pdCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5NworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzOQogbXNnaWQgImRlYnVnIHNlYXJjaCBzdHJhdGVneSBvbiBzdGRlcnIiCiBtc2dzdHIgImRlcHVyYXIgYSBlc3RyYXTDqWdpYSBkZSBwcm9jdXJhIHBhcmEgc3RkZXJyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQwCiBtc2dpZCAidXNlIGFueSByZWYiCiBtc2dzdHIgInVzYXIgdW1hIHJlZmVyw6puY2lhIHF1YWxxdWVyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgInVzYXIgdW1hIHRhZyBxdWFscXVlciwgbWVzbW8gbsOjbyBhbm90YWRhIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDAwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQyCiBtc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKIG1zZ3N0ciAidXNhciBzZW1wcmUgZm9ybWF0byBsb25nbyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MwogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAic2VndWlyIHPDsyBvIHByaW1laXJvIHBhaSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NgogbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCiBtc2dzdHIgImltcHJpbWlyIGFwZW5hcyBjb3JyZXNwb25kw6puY2lhcyBleGF0YXMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDgKIG1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgogbXNnc3RyICJjb25zaWRlcmFyIGFzIDxuPiB0YWdzIG1haXMgcmVjZW50ZXMgKHByZWRlZmluacOnw6NvOiAxMCkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTAKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJhcGVuYXMgY29uc2lkZXJhciB0YWdzIHF1ZSBjb3JyZXNwb25kYW0gYW8gPHBhZHLDo28+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTIKK21zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIm7Do28gY29uc2lkZXJhciB0YWdzIHF1ZSBjb3JyZXNwb25kYW0gYW8gPHBhZHLDo28+IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU0IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTcKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgIm1vc3RyYXIgb2JqZXRvcyBkZSBjb21taXQgYWJyZXZpYWRvcyBlbSByZWN1cnNvIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTgKIG1zZ2lkICJtYXJrIgogbXNnc3RyICJtYXJjYSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NgogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKIG1zZ3N0ciAiIgogImFjcmVzY2VudGFyIDxtYXJjYT4gc2UgYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIGNvbnRpdmVyIGFsdGVyYcOnw7VlcyAiCiAiKHByZWRlZmluacOnw6NvOiBcIi1kaXJ0eVwiKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1OQorbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gYnJva2VuIHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItYnJva2VuXCIpIgorbXNnc3RyICIiCisiYWNyZXNjZW50YXIgPG1hcmNhPiBubyBjYXNvIGRlIMOhcnZvcmUgZGUgdHJhYmFsaG8gcXVlYnJhZGEgKHByZWRlZmluacOnw6NvOiBcIi0iCisiYnJva2VuXCIpIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDc3CiBtc2dpZCAiLS1sb25nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWJicmV2PTAiCiBtc2dzdHIgIi0tbG9uZyDDqSBpbmNvbXBhdMOtdmVsIGNvbSAtLWFiYnJldj0wIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA2CiBtc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCiBtc2dzdHIgIk5lbmh1bSBub21lIGVuY29udHJhZG8sIG7Do28gw6kgcG9zc8OtdmVsIGRlc2NyZXZlci4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDkKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSDDqSBpbmNvbXBhdMOtdmVsIGNvbSBjb21taXRzIG91IHNlbWVsaGFudGVzIgogCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCittc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICItLWJyb2tlbiDDqSBpbmNvbXBhdMOtdmVsIGNvbSBjb21taXRzIG91IHNlbWVsaGFudGVzIgorCiAjOiBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKQEAgLTc1MzQsNyArNzc3NiwyMiBAQAogbXNnaWQgImZhaWxlZDogJWQiCiBtc2dzdHIgImZhbGhhOiAlZCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjM0MgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGEgbGlnYcOnw6NvIHNpbWLDs2xpY2EgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gZmljaGVpcm8gZGUgbGlnYcOnw6NvIHNpbWLDs2xpY2EgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIGZvciBzeW1saW5rICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gb2JqZXRvICVzIGRhIGxpZ2HDp8OjbyBzaW1iw7NsaWNhICVzIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6Mzk1CiBtc2dpZCAiIgogImNvbWJpbmVkIGRpZmYgZm9ybWF0cygnLWMnIGFuZCAnLS1jYycpIGFyZSBub3Qgc3VwcG9ydGVkIGluXG4iCiAiZGlyZWN0b3J5IGRpZmYgbW9kZSgnLWQnIGFuZCAnLS1kaXItZGlmZicpLiIKQEAgLTc1NDIsNTQgKzc3OTksNTQgQEAKICJmb3JtYXRvcyBkaWZmIGNvbWJpbmFkbygnLWMnIGUgJy0tY2MnKSBuw6NvIHPDo28gc3Vwb3J0YWRvcyBlbVxuIgogIm1vZG8gZGlmZiBkaXJldMOzcmlvICgnLWQnIGUgJy0tZGlyLWRpZmYnKS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NjcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCiBtc2dzdHIgImFtYm9zIG9zIGZpY2hlaXJvcyBtb2RpZmljYWRvczogJyVzJyBlICclcycuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTY5CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjExCiBtc2dpZCAid29ya2luZyB0cmVlIGZpbGUgaGFzIGJlZW4gbGVmdC4iCiBtc2dzdHIgImZpY2hlaXJvIGRlIMOhcnZvcmUgZGUgdHJhYmFsaG8gZm9pIGRlaXhhZG8uIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKIG1zZ3N0ciAiZXhpc3RlbSBmaWNoZWlyb3MgdGVtcG9yw6FyaW9zIGVtICclcycuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgxCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjIzCiBtc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCiBtc2dzdHIgInBvZGUgcXVlcmVyIGxpbXBhciBvdSByZWN1cGVyw6EtbG9zLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyNgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY2OQogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICJ1c2UgJ2RpZmYuZ3VpdG9vbCcgZW0gdmV6IGRlICdkaWZmLnRvb2wnIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjI4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjcxCiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgImVmZXR1YXIgZGlmZiBkaXJldMOzcmlvIGNvbXBsZXRvIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjMwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjczCiBtc2dpZCAiZG8gbm90IHByb21wdCBiZWZvcmUgbGF1bmNoaW5nIGEgZGlmZiB0b29sIgogbXNnc3RyICJuw6NvIHBlcmd1bnRhciBhbnRlcyBkZSBsYW7Dp2FyIHVtYSBmZXJyYW1lbnRhIGRpZmYiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NzkKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAidXNhciBzeW1saW5rcyBubyBtb2RpIGRpci1kaWZmIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjgwCiBtc2dpZCAiPHRvb2w+IgogbXNnc3RyICI8ZmVycmFtZW50YT4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2ODEKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgInVzYXIgYSBmZXJyYW1lbnRhIGRpZmYgZXNwZWNpZmljYWRhIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjgzCiBtc2dpZCAicHJpbnQgYSBsaXN0IG9mIGRpZmYgdG9vbHMgdGhhdCBtYXkgYmUgdXNlZCB3aXRoIGAtLXRvb2xgIgogbXNnc3RyICIiCiAiaW1wcmltaXIgdW1hIGxpc3RhIGRlIGZlcnJhbWVudGFzIGRpZmYgcXVlIHBvZGVtIHNlciB1c2FkYXMgY29tICctLXRvb2wnIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQzCisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njg2CiBtc2dpZCAiIgogIm1ha2UgJ2dpdC1kaWZmdG9vbCcgZXhpdCB3aGVuIGFuIGludm9rZWQgZGlmZiB0b29sIHJldHVybnMgYSBub24gLSB6ZXJvIGV4aXQgIgogImNvZGUiCkBAIC03NTk3LDE5ICs3ODU0LDE5IEBACiAiZmF6ZXIgY29tIHF1ZSAnZ2l0LWRpZmZ0b29sJyB0ZXJtaW5lIHF1YW5kbyB1bWEgZmVycmFtZW50YSBkaWZmIGludm9jYWRhICIKICJyZXRvcm5hIHVtIGPDs2RpZ28gZGUgc2HDrWRhIG7Do28gbnVsbyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY4OAogbXNnaWQgIjxjb21tYW5kPiIKIG1zZ3N0ciAiPGNvbWFuZG8+IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njg5CiBtc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgogbXNnc3RyICJlc3BlY2lmaWNhciB1bSBjb21hbmRvIHBlcnNvbmFsaXphZG8gcGFyYSB2ZXIgZGlmZnMiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NzAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTMKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgIm5lbmh1bWEgPGZlcnJhbWVudGE+IGRhZGEgYSAtLXRvb2w9PGZlcnJhbWVudGE+IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njc3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzIwCiBtc2dpZCAibm8gPGNtZD4gZ2l2ZW4gZm9yIC0tZXh0Y21kPTxjbWQ+IgogbXNnc3RyICJuZW5odW0gPGNtZD4gZGFkbyBhIC0tZXh0Y21kPTxjbWQ+IgogCkBAIC03NjY3LDcgKzc5MjQsOCBAQAogCiAjOiBidWlsdGluL2ZldGNoLmM6MjEKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCi1tc2dzdHIgImdpdCBmZXRjaCBbPG9ww6fDtWVzPl0gWzxyZXBvc2l0w7NyaW8+IFs8ZXNwZWNpZmljYWRvci1kZS1yZWZlcsOqbmNpYT4uLi5dXSIKK21zZ3N0ciAiIgorImdpdCBmZXRjaCBbPG9ww6fDtWVzPl0gWzxyZXBvc2l0w7NyaW8+IFs8ZXNwZWNpZmljYWRvci1kZS1yZWZlcsOqbmNpYT4uLi5dXSIKIAogIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCkBAIC03NzE1LDcgKzc5NzMsOCBAQAogCiAjOiBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgotbXNnc3RyICJlbGltaW5hciBvcyByYW1vcyBkZSBtb25pdG9yaXphw6fDo28gcmVtb3RvcyBxdWUgasOhIG7Do28gZXhpc3RlbSBubyByZW1vdG8iCittc2dzdHIgIiIKKyJlbGltaW5hciBvcyByYW1vcyBkZSBtb25pdG9yaXphw6fDo28gcmVtb3RvcyBxdWUgasOhIG7Do28gZXhpc3RlbSBubyByZW1vdG8iCiAKICM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCiBtc2dpZCAib24tZGVtYW5kIgpAQCAtNzc0NSw3ICs4MDA0LDcgQEAKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY29udmVydGVyIG51bSByZXBvc2l0w7NyaW8gY29tcGxldG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vbG9nLmM6MTQ0MAogbXNnaWQgImRpciIKIG1zZ3N0ciAiZGlyIgogCkBAIC03NzczLDczICs4MDMyLDczIEBACiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIlJlZmVyw6puY2lhIHJlbW90YSBIRUFEIG7Do28gZW5jb250cmFkYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUxMQorIzogYnVpbHRpbi9mZXRjaC5jOjUxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICJhIGNvbmZpZ3VyYcOnw6NvIGZldGNoLm91cHV0IGNvbnTDqW0gbyB2YWxvciBpbnbDoWxpZG8gJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAib2JqZXRvICVzIG7Do28gZW5jb250cmFkbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOAorIzogYnVpbHRpbi9mZXRjaC5jOjYxMAogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW2F0dWFsaXphZG9dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIxIGJ1aWx0aW4vZmV0Y2guYzo3MDEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjMgYnVpbHRpbi9mZXRjaC5jOjcwMwogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIltyZWplaXRhZG9dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIyCisjOiBidWlsdGluL2ZldGNoLmM6NjI0CiBtc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIG9idGVyIG5vIHJhbW8gYXR1YWwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzMKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlt0YWcgYXR1YWxpemFkYV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIgYnVpbHRpbi9mZXRjaC5jOjY2NSBidWlsdGluL2ZldGNoLmM6NjgxCi0jOiBidWlsdGluL2ZldGNoLmM6Njk2CisjOiBidWlsdGluL2ZldGNoLmM6NjM0IGJ1aWx0aW4vZmV0Y2guYzo2NjcgYnVpbHRpbi9mZXRjaC5jOjY4MworIzogYnVpbHRpbi9mZXRjaC5jOjY5OAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBhdHVhbGl6YXIgYSByZWZlcsOqbmNpYSBsb2NhbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1MQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MwogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW25vdmEgdGFnXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1NAorIzogYnVpbHRpbi9mZXRjaC5jOjY1NgogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW25vdm8gcmFtb10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTkKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIltub3ZhIHJlZmVyw6puY2lhXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY5NgorIzogYnVpbHRpbi9mZXRjaC5jOjY5OAogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgImF0dWFsaXphw6fDo28gZm9yw6dhZGEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MDEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MDMKIG1zZ2lkICJub24tZmFzdC1mb3J3YXJkIgogbXNnc3RyICJzZW0gYXZhbsOnby1yw6FwaWRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQ2CisjOiBidWlsdGluL2ZldGNoLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgbsOjbyBlbnZpb3UgdG9kb3Mgb3Mgb2JqZXRvcyBuZWNlc3PDoXJpb3NcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2NgorIzogYnVpbHRpbi9mZXRjaC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICIlcyByZWplaXRhZG8sIHBvcnF1ZSBhcyByYcOtemVzIHJhc2FzIG7Do28gcG9kZW0gc2VyIGF0dWFsaXphZGFzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODUzIGJ1aWx0aW4vZmV0Y2guYzo5NDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTUgYnVpbHRpbi9mZXRjaC5jOjk1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiRGUgJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODY0CisjOiBidWlsdGluL2ZldGNoLmM6ODY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC03ODQ4LDU1ICs4MTA3LDU1IEBACiAiYWxndW1hcyByZWZlcsOqbmNpYXMgbG9jYWlzIG7Do28gcHVkZXJhbSBzZXIgYXR1YWxpemFkYXM7IHRlbnRlIGV4ZWN1dGFyXG4iCiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyBwYXJhIHJlbW92ZXIgYWxndW0gcmFtbyBhbnRpZ28gZW0gY29uZmxpdG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGZpY2Fyw6Egc3VzcGVuc28pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGZpY291IHN1c3BlbnNvKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1MgorIzogYnVpbHRpbi9mZXRjaC5jOjk1NAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW2VsaW1pbmFkb10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTMgYnVpbHRpbi9yZW1vdGUuYzoxMDIwCisjOiBidWlsdGluL2ZldGNoLmM6OTU1IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMgogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKG5lbmh1bSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJPYnRlbsOnw6NvIGRlIG9iamV0b3Mgbm8gcmFtbyBhdHVhbCAlcyBkZSB1bSByZXBvc2l0w7NyaW8gbsOjbyBudSByZWN1c2FkYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5NQorIzogYnVpbHRpbi9mZXRjaC5jOjk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICJPIHZhbG9yIFwiJTIkc1wiIGRhIG9ww6fDo28gXCIlMSRzXCIgbsOjbyDDqSB2w6FsaWRvIGVtICUzJHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiT3DDp8OjbyBcIiVzXCIgaWdub3JhZGEgZW0gJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIk7Do28gc2VpIGNvbW8gb2J0ZXIgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICJBIG9idGVyIGRlICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM2IGJ1aWx0aW4vcmVtb3RlLmM6OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM4IGJ1aWx0aW4vcmVtb3RlLmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU0CisjOiBidWlsdGluL2ZldGNoLmM6MTI1NgogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtNzkwNCw0MCArODE2Myw0MCBAQAogIk5lbmh1bSByZXBvc2l0w7NyaW8gcmVtb3RvIGVzcGVjaWZpY2Fkby4gRXNwZWNpZmlxdWUgdW0gVVJMIG91XG4iCiAibyBub21lIHJlbW90byBhIHBhcnRpciBkbyBxdWFsIGFzIG5vdmFzIHJldmlzw7VlcyBkZXZlbSBzZXIgb2J0aWRhcy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjc3CisjOiBidWlsdGluL2ZldGNoLmM6MTI3OQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIkRldmUgZXNwZWNpZmljYXIgdW0gbm9tZSBwYXJhIGEgdGFnLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCiBtc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiTsOjbyDDqSBzdXBvcnRhZGEgcHJvZnVuZGlkYWRlIG5lZ2F0aXZhIGVtIC0tZGVlcGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLWRlZXBlbiBlIC0tZGVwdGggc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2b3MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI2CisjOiBidWlsdGluL2ZldGNoLmM6MTMyOAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICItLWRlcHRoIGUgLS11bnNoYWxsb3cgbsOjbyBwb2RlbSBzZXIgdXNhZG9zIGp1bnRvcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMwCiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgInVzYXIgLS11bnNoYWxsb3cgbnVtIHJlcG9zaXTDs3JpbyBjb21wbGV0byBuw6NvIGZheiBzZW50aWRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM1MAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNTIKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwgbsOjbyBsZXZhIHVtIHJlcG9zaXTDs3JpbyBjb21vIGFyZ3VtZW50byIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzU0CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBuw6NvIGZheiBzZW50aWRvIGNvbSBlc3BlY2lmaWNhZG9yZXMgZGUgcmVmZXLDqm5jaWEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzYzCisjOiBidWlsdGluL2ZldGNoLmM6MTM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICJPIHJlbW90byBvdSBncnVwbyByZW1vdG8gbsOjbyBleGlzdGU6ICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM3MQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNzMKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIk7Do28gZmF6IHNlbnRpZG8gb2J0ZXIgdW0gZ3J1cG8gZSBlc3BlY2lmaWNhciB1bWEgcmVmZXLDqm5jaWEiCiAKQEAgLTc5NDUsNyArODIwNCw4IEBACiBtc2dpZCAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaWxlPl0iCiBtc2dzdHIgIiIKLSJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lbnNhZ2VtPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpY2hlaXJvPl0iCisiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZW5zYWdlbT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlICIKKyI8ZmljaGVpcm8+XSIKIAogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgpAQCAtNzk3NiwxMiArODIzNiwxMiBAQAogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50cy1hdCA8b2JqZXRvPl0iCiAKICM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTEKLW1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxvYmplY3Q+XV0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPG9iamV0bz5dXSIKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPGNvbW1pdD5dXSIKIAogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMgotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxvYmplY3Q+XV0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxvYmpldG8+XV0iCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPGNvbW1pdD5dXSBbLS1uby1jb250YWlucyBbPGNvbW1pdD5dXSIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPGNvbW1pdD5dXSBbLS1uby1jb250YWlucyBbPGNvbW1pdD5dXSIKIAogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyNwogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3Igc2hlbGxzIgpAQCAtODAwNiwxMCArODI2Niw2IEBACiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIm1vc3RyYXIgYXBlbmFzIDxuPiByZWZlcsOqbmNpYXMgY29ycmVzcG9uZGlkYXMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi90YWcuYzozODcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKLW1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgotbXNnc3RyICJmb3JtYXRvIGEgdXNhciBuYSBzYcOtZGEiCi0KICM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggcG9pbnRzIGF0IHRoZSBnaXZlbiBvYmplY3QiCiBtc2dzdHIgImltcHJpbWlyIGFwZW5hcyByZWZlcsOqbmNpYXMgcXVlIGFwb250ZW0gcGFyYSBvIG9iamV0byBmb3JuZWNpZG8iCkBAIC04MDI2LDYgKzgyODIsMTAgQEAKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJpbXByaW1pciBhcGVuYXMgcmVmZXLDqm5jaWFzIHF1ZSBjb250ZW5oYW0gbyBjb21taXQiCiAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICJpbXByaW1pciBhcGVuYXMgcmVmZXLDqm5jaWFzIHF1ZSBuw6NvIGNvbnRlbmhhbSBvIGNvbW1pdCIKKwogIzogYnVpbHRpbi9mc2NrLmM6NTU0CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgogbXNnc3RyICJBIHZlcmlmaWNhciBkaXJldMOzcmlvcyBkZSBvYmpldG9zIgpAQCAtODA5MCwxNyArODM1MCwxNyBAQAogbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGdjIFs8b3DDp8O1ZXM+XSIKIAotIzogYnVpbHRpbi9nYy5jOjcyCisjOiBidWlsdGluL2djLmM6NzgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCAlczogJyVzJyIKLW1zZ3N0ciAiSW52w6FsaWRvICVzOiAnJXMnIgorbXNnaWQgIkZhaWxlZCB0byBmc3RhdCAlczogJXMiCittc2dzdHIgImZhbGhhIGFvIGludm9jYXIgZnN0YXQgc29icmUgJXM6ICVzIgogCi0jOiBidWlsdGluL2djLmM6MTM5CisjOiBidWlsdGluL2djLmM6MzA2CiAjLCBjLWZvcm1hdAotbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgotbXNnc3RyICJkaXJldMOzcmlvIGRlIG9iamV0b3MgZGVtYXNpYWRvIGxvbmdvICUuKnMiCittc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgaW52b2NhciBzdGF0IHNvYnJlICVzIgogCi0jOiBidWlsdGluL2djLmM6Mjk3CisjOiBidWlsdGluL2djLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTgxMTUsNDAgKzgzNzUsNDUgQEAKICJcbiIKICIlcyIKIAotIzogYnVpbHRpbi9nYy5jOjMzNAorIzogYnVpbHRpbi9nYy5jOjM1NAogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICJlbGltaW5hciBmaWNoZWlyb3MgbsOjbyByZWZlcmVuY2lhZG9zIgogCi0jOiBidWlsdGluL2djLmM6MzM2CisjOiBidWlsdGluL2djLmM6MzU2CiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICJzZXIgbWFpcyBtaW51Y2lvc28gKGF1bWVudGEgbyB0ZW1wbyBkZSBleGVjdcOnw6NvKSIKIAotIzogYnVpbHRpbi9nYy5jOjMzNworIzogYnVpbHRpbi9nYy5jOjM1NwogbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCiBtc2dzdHIgImF0aXZhciBtb2RvIGF1dG8tZ2MiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzgKKyM6IGJ1aWx0aW4vZ2MuYzozNTgKIG1zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKIG1zZ3N0ciAiZm9yw6dhciBhIGV4ZWN1w6fDo28gZG8gZ2MgbWVzbW8gcXVlIGhhamEgb3V0cm8gZ2MgYSBleGVjdXRhciIKIAotIzogYnVpbHRpbi9nYy5jOjM4MAorIzogYnVpbHRpbi9nYy5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZ2MubG9nZXhwaXJ5IHZhbHVlICVzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIHZhbG9yICVzIGRlIGdjLmxvZ2V4cGlyeSIKKworIzogYnVpbHRpbi9nYy5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiIgogIkEgYXV0b2NvbXBhY3RhciBvIHJlcG9zaXTDs3JpbyBlbSBzZWd1bmRvIHBsYW5vIHBhcmEgb2J0ZXIgdW0gbWVsaG9yICIKICJkZXNlbXBlbmhvLlxuIgogCi0jOiBidWlsdGluL2djLmM6MzgyCisjOiBidWlsdGluL2djLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiQSBhdXRvY29tcGFjdGFyIG8gcmVwb3NpdMOzcmlvIHBhcmEgb2J0ZXIgdW0gbWVsaG9yIGRlc2VtcGVuaG8uXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozODMKKyM6IGJ1aWx0aW4vZ2MuYzo0MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAiQ29uc3VsdGUgXCJnaXQgaGVscCBnY1wiIHBhcmEgbGVyIHNvYnJlIG1hbnV0ZW7Dp8OjbyBtYW51YWwuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0MDQKKyM6IGJ1aWx0aW4vZ2MuYzo0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCkBAIC04MTU2LDcgKzg0MjEsNyBAQAogImdjIGrDoSBhIGV4ZWN1dGFyIG5hIG3DoXF1aW5hICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIHNlIG7Do28gZm9yIG8gIgogImNhc28pIgogCi0jOiBidWlsdGluL2djLmM6NDQ4CisjOiBidWlsdGluL2djLmM6NDcxCiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICIiCkBAIC04MTc3LDIzOSArODQ0MiwyNDUgQEAKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAibyBuw7ptZXJvIGRlIHRocmVhZHMgZXNwZWNpZmljYWRvIGVtICUyJHMgw6kgaW52w6FsaWRvICglMSRkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzYzIGJ1aWx0aW4vZ3JlcC5jOjgwNAorIzogYnVpbHRpbi9ncmVwLmM6NzY5IGJ1aWx0aW4vZ3JlcC5jOjgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgYSDDoXJ2b3JlICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyMworIzogYnVpbHRpbi9ncmVwLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlZmV0dWFyIGdyZXAgZGUgb2JqZXRvcyBkbyB0aXBvICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJhIG9ww6fDo28gJyVjJyBlc3BlcmEgdW0gdmFsb3IgbnVtw6lyaWNvIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk4MAogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgInByb2N1cmFyIG5vIMOtbmRpY2UgZW0gdmV6IGRlIHByb2N1cmFyIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NQorIzogYnVpbHRpbi9ncmVwLmM6OTgyCiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCiBtc2dzdHIgInByb2N1cmFyIGVtIGNvbnRlw7pkb3MgbsOjbyBnZXJpZG9zIHBlbG8gZ2l0IgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk4NAogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAicHJvY3VyYXIgZW0gZmljaGVpcm9zIGNvbnRyb2xhZG9zIGUgbsOjbyBjb250cm9sYWRvcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc5CisjOiBidWlsdGluL2dyZXAuYzo5ODYKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgImlnbm9yYXIgZmljaGVpcm9zIGVzcGVjaWZpY2Fkb3MgdmlhICcuZ2l0aWdub3JlJyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTgxCi1tc2dpZCAicmVjdXJzaXZsZXkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgorIzogYnVpbHRpbi9ncmVwLmM6OTg4Cittc2dpZCAicmVjdXJzaXZlbHkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgogbXNnc3RyICJwcm9jdXJhciByZWN1cnNpdmFtZW50ZSBlbSBjYWRhIHN1Ym3Ds2R1bG8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4MworIzogYnVpbHRpbi9ncmVwLmM6OTkwCiBtc2dpZCAiYmFzZW5hbWUiCiBtc2dzdHIgIm5vbWViYXNlIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5MQogbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCiBtc2dzdHIgInByZWNlZGVyIG8gbm9tZWJhc2UgZG8gcHJvamV0byBwYWkgbmEgc2HDrWRhIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5NAogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmFyIGxpbmhhcyBuw6NvIGNvcnJlc3BvbmRpZGFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5NgogbXNnaWQgImNhc2UgaW5zZW5zaXRpdmUgbWF0Y2hpbmciCiBtc2dzdHIgIm7Do28gZGlmZXJlbmNpYXIgbWFpw7pzY3VsYXMgZGUgbWluw7pzY3VsYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MQorIzogYnVpbHRpbi9ncmVwLmM6OTk4CiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgImNvcnJlc3BvbmRlciBwYWRyw7VlcyBhcGVuYXMgYSBwYWxhdnJhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTkzCisjOiBidWlsdGluL2dyZXAuYzoxMDAwCiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKIG1zZ3N0ciAicHJvY2Vzc2FyIGZpY2hlaXJvcyBiaW7DoXJpb3MgY29tbyB0ZXh0byIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTk1CisjOiBidWlsdGluL2dyZXAuYzoxMDAyCiBtc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgogbXNnc3RyICJpZ25vcmFyIGZpY2hlaXJvcyBiaW7DoXJpb3MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5OAorIzogYnVpbHRpbi9ncmVwLmM6MTAwNQogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAicHJvY2Vzc2FyIGZpY2hlaXJvcyBiaW7DoXJpb3MgY29tIGZpbHRyb3MgdGV4dGNvbnYiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgImRlc2NlciBubyBtw6F4aW1vIGF0w6kgPHByb2Z1bmRpZGFkZT4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTEKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAidXNhciBleHByZXNzw7VlcyByZWd1bGFyZXMgZXN0ZW5kaWRhcyBkbyBQT1NJWCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwNworIzogYnVpbHRpbi9ncmVwLmM6MTAxNAogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAidXNhciBleHByZXNzw7VlcyByZWd1bGFyZXMgYsOhc2ljYXMgZG8gUE9TSVggKHByZWRlZmluacOnw6NvKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMAorIzogYnVpbHRpbi9ncmVwLmM6MTAxNwogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJpbnRlcnByZXRhciBwYWRyw7VlcyBjb21vIGNhZGVpYXMgZGUgY2FyYWN0ZXJlcyBmaXhhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAyMAogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAidXNhciBleHByZXNzw7VlcyByZWd1bGFyZXMgY29tcGF0w612ZWlzIGNvbSBQZXJsIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDE2CisjOiBidWlsdGluL2dyZXAuYzoxMDIzCiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIm1vc3RyYXIgbsO6bWVyb3MgZGUgbGluaGEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjQKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAibsOjbyBtb3N0cmFyIG5vbWVzIGRlIGZpY2hlaXJvIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDE4CisjOiBidWlsdGluL2dyZXAuYzoxMDI1CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIm1vc3RyYXIgbm9tZXMgZGUgZmljaGVpcm8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjcKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJtb3N0cmFyIG5vbWVzIGRlIGZpY2hlaXJvIHJlbGF0aXZhbWVudGUgYW8gZGlyZXTDs3JpbyBzdXBlcmlvciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMgorIzogYnVpbHRpbi9ncmVwLmM6MTAyOQogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAibW9zdHJhciBhcGVuYXMgbm9tZXMgZGUgZmljaGVpcm8gZW0gdmV6IGRlIGxpbmhhcyBjb3JyZXNwb25kaWRhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyNAorIzogYnVpbHRpbi9ncmVwLmM6MTAzMQogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICJzaW7Ds25pbW8gZGUgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzQKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIm1vc3RyYXIgYXBlbmFzIG5vbWVzIGRlIGZpY2hlaXJvIHNlbSBjb3JyZXNwb25kw6puY2lhIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI5CisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiaW1wcmltaXIgTlVMIGRlcG9pcyBkb3Mgbm9tZXMgZGUgZmljaGVpcm8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzgKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmFyIG8gbsO6bWVybyBkZSBjb3JyZXNwb25kw6puY2lhcyBlbSB2ZXogZGFzIGxpbmhhIGNvcnJlc3BvbmRpZGFzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMyCisjOiBidWlsdGluL2dyZXAuYzoxMDM5CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgInJlYWzDp2FyIGNvcnJlc3BvbmTDqm5jaWFzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM0CisjOiBidWlsdGluL2dyZXAuYzoxMDQxCiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgIiIKICJpbXByaW1pciB1bWEgbGluaGEgZW0gYnJhbmNvIGVudHJlIGNvcnJlc3BvbmTDqm5jaWFzIGRlIGRpZmVyZW50ZXMgZmljaGVpcm9zIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM2CisjOiBidWlsdGluL2dyZXAuYzoxMDQzCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogIm1vc3RyYXIgc8OzIHVtYSB2ZXogbyBub21lIGRvIGZpY2hlaXJvIGFjaW1hIGRhcyBjb3JyZXNwb25kw6puY2lhcyBkZW50cm8gZG8gIgogIm1lc21vIGZpY2hlaXJvIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM5CisjOiBidWlsdGluL2dyZXAuYzoxMDQ2CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgPG4+IGxpbmhhcyBkZSBjb250ZXh0byBhbnRlcyBlIGRlcG9pcyBkYXMgY29ycmVzcG9uZMOqbmNpYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDkKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJtb3N0cmFyIDxuPiBsaW5oYXMgZGUgY29udGV4dG8gYW50ZXMgZGFzIGNvcnJlc3BvbmTDqm5jaWFzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ0CisjOiBidWlsdGluL2dyZXAuYzoxMDUxCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJtb3N0cmFyIDxuPiBsaW5oYXMgZGUgY29udGV4dG8gZGVwb2lzIGRhcyBjb3JyZXNwb25kw6puY2lhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NgorIzogYnVpbHRpbi9ncmVwLmM6MTA1MwogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgInVzYXIgPG4+IHRocmVhZHMgZGUgdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTQKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJhdGFsaG8gcGFyYSAtQyBOVU0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJtb3N0cmFyIHVtYSBsaW5oYSBjb20gbyBub21lIGRhIGZ1bsOnw6NvIGFudGVzIGRhcyBjb3JyZXNwb25kw6puY2lhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1MgorIzogYnVpbHRpbi9ncmVwLmM6MTA1OQogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJtb3N0cmFyIGEgZnVuw6fDo28gY2lyY3VuZGFudGUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjIKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAibGVyIHBhZHLDtWVzIGRvIGZpY2hlaXJvIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU3CisjOiBidWlsdGluL2dyZXAuYzoxMDY0CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJwcm9jdXJhciA8cGFkcsOjbz4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjYKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJjb21iaW5hciBwYWRyw7VlcyBlc3BlY2lmaWNhZG9zIGNvbSAtZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3MQorIzogYnVpbHRpbi9ncmVwLmM6MTA3OAogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICJpbmRpY2FyIHBhZHLDo28gZW5jb250cmFkbyBubyB2YWxvciBkZSBzYcOtZGEsIG1hcyBuw6NvIGltcHJpbWlyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDczCisjOiBidWlsdGluL2dyZXAuYzoxMDgwCiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKLW1zZ3N0ciAibW9zdHJhciBhcGVuYXMgY29ycmVzcG9uZMOqbmNpYXMgZGUgZmljaGVpcm8gcXVlIHRlbmhhbSB0b2RvcyBvcyBwYWRyw7VlcyIKK21zZ3N0ciAiIgorIm1vc3RyYXIgYXBlbmFzIGNvcnJlc3BvbmTDqm5jaWFzIGRlIGZpY2hlaXJvIHF1ZSB0ZW5oYW0gdG9kb3Mgb3MgcGFkcsO1ZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAibW9zdHJhciDDoXJ2b3JlIGRlIGFuYWxpc2UgZGEgZXhwcmVzc8O1ZXMgZ3JlcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3OQorIzogYnVpbHRpbi9ncmVwLmM6MTA4NgogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJwYWdpbmFkb3IiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODYKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAibW9zdHJhciBmaWNoZWlyb3MgY29tIGNvcnJlc3BvbmTDqm5jaWFzIG5vIHBhZ2luYWRvciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA4MgorIzogYnVpbHRpbi9ncmVwLmM6MTA4OQogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAicGVybWl0aXIgaW52b2NhciBncmVwKDEpIChpZ25vcmFkbyBuZXN0YSBjb21waWxhw6fDo28pIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTQ2CisjOiBidWlsdGluL2dyZXAuYzoxMTUzCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgIm5lbmh1bSBwYWRyw6NvIGZvcm5lY2lkby4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExNzggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MgorIzogYnVpbHRpbi9ncmVwLmM6MTE4OQorbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgorbXNnc3RyICItLW5vLWluZGV4IG91IC0tdW50cmFja2VkIG7Do28gcG9kZW0gc2VyIHVzYWRvcyBlbSByZXZpc8O1ZXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgcmV2aXNpb246ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVzb2x2ZXIgcmV2aXPDo286ICVzIgorCisjOiBidWlsdGluL2dyZXAuYzoxMjI4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAibsO6bWVybyBkZSB0aHJlYWRzIGVzcGVjaWZpY2FkbyBpbnbDoWxpZG8gKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTIxNQorIzogYnVpbHRpbi9ncmVwLmM6MTI1MQogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIHPDsyBmdW5jaW9uYSBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjM4CisjOiBidWlsdGluL2dyZXAuYzoxMjc0CiBtc2dpZCAib3B0aW9uIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLXJlY3Vyc2Utc3VibW9kdWxlcy4iCiBtc2dzdHIgIm9ww6fDo28gbsOjbyBzdXBvcnRhZGEgY29tIC0tcmVjdXJzZS1zdWJtb2R1bGVzLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI0NAorIzogYnVpbHRpbi9ncmVwLmM6MTI4MAogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleC4iCiBtc2dzdHIgIi0tY2FjaGVkIG91IC0tdW50cmFja2VkIG7Do28gcG9kZW0gc2VyIHVzYWRvcyBjb20gLS1uby1pbmRleC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNDkKLW1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCi1tc2dzdHIgIi0tbm8taW5kZXggb3UgLS11bnRyYWNrZWQgbsOjbyBwb2RlbSBzZXIgdXNhZG9zIGVtIHJldmlzw7Vlcy4iCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyODYKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIiIKICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBuw6NvIHBvZGVtIHNlciB1c2Fkb3MgZW0gY29udGXDumRvcyBuw6NvIGNvbnRyb2xhZG9zLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI2MAorIzogYnVpbHRpbi9ncmVwLmM6MTI5NAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIi0tY2FjaGVkIGUgw6Fydm9yZXMgZm9yYW0gZm9ybmVjaWRvcyBzaW11bHRhbmVhbWVudGUuIgogCkBAIC04NDE4LDggKzg2ODksOCBAQAogImdpdCBoYXNoLW9iamVjdCBbLXQgPHR5cGU+XSBbLXddIFstLXBhdGg9PGZpbGU+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPGZpbGU+Li4uIgogbXNnc3RyICIiCi0iZ2l0IGhhc2gtb2JqZWN0IFstdCA8dGlwbz5dIFstd10gWy0tcGF0aD08ZmljaGVpcm8+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgotIlstLV0gPGZpY2hlaXJvPi4uLiIKKyJnaXQgaGFzaC1vYmplY3QgWy10IDx0aXBvPl0gWy13XSBbLS1wYXRoPTxmaWNoZWlybz4gfCAtLW5vLWZpbHRlcnNdIFstLSIKKyJzdGRpbl0gWy0tXSA8ZmljaGVpcm8+Li4uIgogCiAjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCkBAIC04NDQ2LDkgKzg3MTcsMTEgQEAKIG1zZ3N0ciAiZ3VhcmRhciBvIGZpY2hlaXJvIHRhbCBjb21vIGVzdMOhLCBzZW0gZmlsdHJvcyIKIAogIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAotbXNnaWQgImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKK21zZ2lkICIiCisianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCi0ib2J0ZXIgaGFzaCBkZSBsaXhvIGFsZWF0w7NyaW8gcGFyYSBjcmlhciBvYmpldG9zIGNvcnJvbXBpZG9zIHBhcmEgZGVwdXJhciBvIEdpdCIKKyJvYnRlciBoYXNoIGRlIGxpeG8gYWxlYXTDs3JpbyBwYXJhIGNyaWFyIG9iamV0b3MgY29ycm9tcGlkb3MgcGFyYSBkZXB1cmFyIG8gIgorIkdpdCIKIAogIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgpAQCAtODYzNSwyNDAgKzg5MDgsMjQ1IEBACiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyBkZSBwYWNvdGUgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzcKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKIG1zZ3N0ciAiYSBhc3NpbmF0dXJhIGRvIHBhY290ZSBuw6NvIGNvcnJlc3BvbmRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICJ2ZXJzw6NvIGRlIHBhY290ZSAlPFBSSXUzMj4gbsOjbyBzdXBvcnRhZGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgogbXNnc3RyICJwYWNvdGUgY29tIG9iamV0byBpbmNvcnJldG8gbm8gb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJhIGRlc2NvbXBhY3Rhw6fDo28gcmV0b3Jub3UgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI4CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAiZGVsdGEgZGUgb2JqZXRvIGJhc2UgY29tIGNhcGFjaWRhZGUgZXhjZWRpZGEgbm8gdmFsb3IgZGUgb2Zmc2V0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNgogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAib2Zmc2V0IGRhIGJhc2UgZGVsdGEgZXN0w6EgZm9yYSBkbyBsaW1pdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgIm9iamV0byBkZSB0aXBvIGRlc2NvbmhlY2lkbyAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzUKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBpbnZvY2FyIHByZWFkIHNvYnJlIG8gZmljaGVpcm8gZGUgcGFjb3RlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCiBtc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCiBtc2dzdHJbMF0gImZpbSBwcmVtYXR1cm8gZGUgZmljaGVpcm8gZGUgcGFjb3RlLCBmYWx0YSAlPFBSSXVNQVg+IGJ5dGUiCiBtc2dzdHJbMV0gImZpbSBwcmVtYXR1cm8gZGUgZmljaGVpcm8gZGUgcGFjb3RlLCBmYWx0YW0gJTxQUkl1TUFYPiBieXRlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDMKIG1zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKIG1zZ3N0ciAiaW5jb25zaXN0w6puY2lhIGRlIGRlc2NvbXBhY3Rhw6fDo28gZ3JhdmUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OCBidWlsdGluL2luZGV4LXBhY2suYzo3NTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzc3Ci0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDkgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIkNPTElTw4NPIERFIFNIQTEgQ09NICVzIEVOQ09OVFJBREEhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjQKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTIgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgaW5mbyAlcyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbGVyIGluZm9ybWHDp8OjbyBkZSBvYmpldG8gZXhpc3RlbnRlICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBsZXIgbyBvYmpldG8gZXhpc3RlbnRlICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICJvYmpldG8gYmxvYiBpbnbDoWxpZG8gJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJXMiCiBtc2dzdHIgImludsOhbGlkbyAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTMKIG1zZ2lkICJFcnJvciBpbiBvYmplY3QiCiBtc2dzdHIgIkVycm8gbm8gb2JqZXRvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiTmVtIHRvZG9zIG9zIG9iamV0b3MgZmlsaG9zIGRlICVzIHPDo28gYWxjYW7Dp8OhdmVpcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTI0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTI3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1OAogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAiZmFsaGEgYW8gYXBsaWNhciBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyOAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICJBIHJlY2ViZXIgb2JqZXRvcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyOAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIkEgaW5kZXhhciBvYmpldG9zIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJwYWNvdGUgY29ycm9tcGlkbyAoU0hBMSBuw6NvIGNvcnJlc3BvbmRlKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2NQogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgaW52b2NhciBmc3RhdCBzb2JyZSBvIGZpY2hlaXJvIGRlIHBhY290ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2OAogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAicGFjb3RlIGNvbSBsaXhvIG5vIGZpbmFsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc5CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiZXh0cmVtYSBjb25mdXPDo28gZW0gcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDIKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJBIHJlc29sdmVyIGRlbHRhcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIxMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciB0aHJlYWQ6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiZXh0cmVtYSBjb25mdXPDo28iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICJjb25jbHXDrWRvIGNvbSAlZCBvYmpldG8gbG9jYWwiCiBtc2dzdHJbMV0gImNvbmNsdcOtZG8gY29tICVkIG9iamV0b3MgbG9jYWlzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjcwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJTb21hIGRlIHZlcmlmaWNhw6fDo28gaW5lc3BlcmFkYSBubyBmaW5hbCBkZSAlcyAoY29ycnVww6fDo28gbm8gZGlzY28/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAicGFjb3RlIGNvbSAlZCBkZWx0YSBuw6NvIHJlc29sdmlkbyIKIG1zZ3N0clsxXSAicGFjb3RlIGNvbSAlZCBkZWx0YXMgbsOjbyByZXNvbHZpZG9zIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBjb21wYWN0YXIgb2JqZXRvIGFjcmVzY2VudGFkbyAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICJvYmpldG8gbG9jYWwgJXMgY29ycm9tcGlkbyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwMwogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICJlcnJvIGFvIGZlY2hhciBmaWNoZWlybyBkZSBwYWNvdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlc2NyZXZlciBvIGZpY2hlaXJvIGRlIGNvbnNlcnZhw6fDo28gJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZmVjaGFyIG8gZmljaGVpcm8gZGUgY29uc2VydmHDp8OjbyAnJXMnIGVzY3JpdG8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzMKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBndWFyZGFyIGZpY2hlaXJvIGRlIHBhY290ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBndWFyZGFyIG8gZmljaGVpcm8gw61uZGljZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4gaW5jb3JyZXRvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2ODMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODkgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICJzZW0gc3Vwb3J0ZSBkZSB0aHJlYWRzLCAlcyBpZ25vcmFkbyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyBkZSBwYWNvdGUgJyVzJyBleGlzdGVudGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyBkZSDDrW5kaWNlIGRvIHBhY290ZSBleGlzdGVudGUgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICIlZCBvYmpldG8gbsOjbyBkZWx0YSIKIG1zZ3N0clsxXSAiJWQgb2JqZXRvcyBuw6NvIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImNvbXByaW1lbnRvIGRlIGNhZGVpYSA9ICVkOiAlbHUgb2JqZXRvIgogbXNnc3RyWzFdICJjb21wcmltZW50byBkZSBjYWRlaWEgPSAlZDogJWx1IG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgIm8gbm9tZSBkbyBmaWNoZWlybyBkZSBwYWNvdGUgJyVzJyBuw6NvIHRlcm1pbmEgZW0gJy5wYWNrJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjk4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTQKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNyBidWlsdGluL2luZGV4LXBhY2suYzoxNzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiJXMgaW5jb3JyZXRvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM3CiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4gbsOjbyBwb2RlIHNlciB1c2FkbyBzZW0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczOQogbXNnaWQgIi0tc3RkaW4gcmVxdWlyZXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1zdGRpbiByZXF1ZXIgdW0gcmVwb3NpdMOzcmlvIGdpdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NwogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkgc2VtIG5vbWUgZG8gZmljaGVpcm8gZGUgcGFjb3RlIGluZGljYWRvIgogCkBAIC05MDI5LDEwNCArOTMwNywxMDQgQEAKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzxvcMOnw7Vlcz5dIDxvYmpldG8+Li4uIgogCi0jOiBidWlsdGluL2xvZy5jOjg0CisjOiBidWlsdGluL2xvZy5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICJvcMOnw6NvIC0tZGVjb3JhdGUgaW52w6FsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgInN1cHJpbWlyIHNhw61kYSBkbyBkaWZmIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDUKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAibW9zdHJhciBvcmlnZW0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxCisjOiBidWlsdGluL2xvZy5jOjE0NgogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJ1c2FyIGZpY2hlaXJvIGRlIG1hcGVhbWVudG8gZGUgY29ycmVpbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3CiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAib3DDp8O1ZXMgZGUgZGVjb3Jhw6fDo28iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1CisjOiBidWlsdGluL2xvZy5jOjE1MAogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJwcm9jZXNzYXIgaW50ZXJ2YWxvIGRlIGxpbmhhcyBuLG0sIGEgY29udGFyIGEgcGFydGlyIGRlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjQxCisjOiBidWlsdGluL2xvZy5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIlJlc3VsdGFkbyBmaW5hbDogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0ODYKKyM6IGJ1aWx0aW4vbG9nLmM6NDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBzaG93ICVzOiBiYWQgZmlsZSIKIG1zZ3N0ciAiZ2l0IHNob3cgJXM6IGZpY2hlaXJvIGluY29ycmV0byIKIAotIzogYnVpbHRpbi9sb2cuYzo1MDAgYnVpbHRpbi9sb2cuYzo1OTQKKyM6IGJ1aWx0aW4vbG9nLmM6NTA3IGJ1aWx0aW4vbG9nLmM6NjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciBvIG9iamV0byAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo2MTgKKyM6IGJ1aWx0aW4vbG9nLmM6NjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIlRpcG8gZGVzY29uaGVjaWRvOiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3MzkKKyM6IGJ1aWx0aW4vbG9nLmM6NzQ2CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgc2VtIHZhbG9yIgogCi0jOiBidWlsdGluL2xvZy5jOjgzOQorIzogYnVpbHRpbi9sb2cuYzo4NDYKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIm8gbm9tZSBkbyBkaXJldMOzcmlvIGRlIHNhw61kYSDDqSBkZW1hc2lhZG8gbG9uZ28iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODU0CisjOiBidWlsdGluL2xvZy5jOjg2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBhYnJpciBvIGZpY2hlaXJvIGRlIHBhdGNoICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjg2OAorIzogYnVpbHRpbi9sb2cuYzo4NzUKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKIG1zZ3N0ciAiw4kgbmVjZXNzw6FyaW8gZXhhdGFtZW50ZSB1bSBpbnRlcnZhbG8uIgogCi0jOiBidWlsdGluL2xvZy5jOjg3OAorIzogYnVpbHRpbi9sb2cuYzo4ODUKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgIk7Do28gw6kgdW0gaW50ZXJ2YWxvLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5ODQKKyM6IGJ1aWx0aW4vbG9nLmM6OTkxCiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKIG1zZ3N0ciAiQSBjYXJ0YSBkZSBhcHJlc2VudGHDp8OjbyBwcmVjaXNhIGRlIHVtIGZvcm1hdG8gZGUgZS1tYWlsIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJpbi1yZXBseS10byBpbmNvcnJldG86ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEwOTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTA5OAogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9ww6fDtWVzPl0gWzxkZXNkZT4gfCA8aW50ZXJ2YWxvLWRlLXJldmlzw7Vlcz5dIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0OAogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJEb2lzIGRpcmV0w7NyaW9zIGRlIHNhw61kYT8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0OCBidWlsdGluL2xvZy5jOjE4OTEgYnVpbHRpbi9sb2cuYzoxODkzIGJ1aWx0aW4vbG9nLmM6MTkwNQorIzogYnVpbHRpbi9sb2cuYzoxMjU1IGJ1aWx0aW4vbG9nLmM6MTg5OCBidWlsdGluL2xvZy5jOjE5MDAgYnVpbHRpbi9sb2cuYzoxOTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICJDb21taXQgZGVzY29uaGVjaWRvICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTggYnVpbHRpbi9ub3Rlcy5jOjg4NCBidWlsdGluL3RhZy5jOjQ3NgorIzogYnVpbHRpbi9sb2cuYzoxMjY1IGJ1aWx0aW4vbm90ZXMuYzo4ODMgYnVpbHRpbi90YWcuYzo1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIkZhbGhhIGFvIHJlc29sdmVyICclcycgbnVtYSByZWZlcsOqbmNpYSB2w6FsaWRhLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjYzCisjOiBidWlsdGluL2xvZy5jOjEyNzAKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciBhIGJhc2UgZXhhdGEgZGUgaW50ZWdyYcOnw6NvLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjY3CisjOiBidWlsdGluL2xvZy5jOjEyNzQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKQEAgLTkxMzcsMjE3ICs5NDE1LDIxNyBAQAogInVzZSBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gcGFyYSBzZWd1aXIgdW0gcmFtbyByZW1vdG8uXG4iCiAiT3UgcG9kZSBlc3BlY2lmaWNhciBvIGNvbW1pdCBiYXNlIGNvbSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxtZW50ZS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI4NworIzogYnVpbHRpbi9sb2cuYzoxMjk0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiRmFsaGEgYW8gcHJvY3VyYXIgYmFzZSBleGF0YSBkZSBpbnRlZ3Jhw6fDo28iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI5OAorIzogYnVpbHRpbi9sb2cuYzoxMzA1CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkIGJlIHRoZSBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJvIGNvbW1pdCBiYXNlIGRldmUgc2VyIG8gYW50ZWNlc3NvciBkYSBsaXN0YSBkZSByZXZpc8O1ZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwMgorIzogYnVpbHRpbi9sb2cuYzoxMzA5CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgIm8gY29tbWl0IGJhc2UgbsOjbyBkZXZlIGZhemVyIHBhcnRlIGRhIGxpc3RhIGRlIHJldmlzw7VlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzUxCisjOiBidWlsdGluL2xvZy5jOjEzNTgKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBvYnRlciBvIGlkIGRvIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxNQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgInVzYXIgW1BBVENIIG4vbV0gbWVzbW8gY29tIHVtIMO6bmljbyBwYXRjaCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0MTgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAidXNhciBbUEFUQ0hdIG1lc21vIGNvbSBtw7psdGlwbG9zIHBhdGNoZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDIyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgImltcHJpbWlyIHBhdGNoZXMgcGFyYSBhIHNhw61kYSBwYWRyw6NvIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICJnZXJhciB1bWEgY2FydGEgZGUgYXByZXNlbnRhw6fDo28iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxOQorIzogYnVpbHRpbi9sb2cuYzoxNDI2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICIiCiAidXNhciB1bWEgc2VxdcOqbmNpYSBkZSBuw7ptZXJvcyBzaW1wbGVzIHBhcmEgZGVub21pbmFyIG9zIGZpY2hlaXJvcyBnZXJhZG9zIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNwogbXNnaWQgInNmeCIKIG1zZ3N0ciAic2Z4IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyOAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJ1c2FyIDxzZng+IGVtIHZleiBkZSAnLnBhdGNoJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIzCisjOiBidWlsdGluL2xvZy5jOjE0MzAKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJjb21lw6dhciBhIG51bWVyYXIgb3MgcGF0Y2hlcyBlbSA8bj4gZW0gdmV6IGRlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNQorIzogYnVpbHRpbi9sb2cuYzoxNDMyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICJtYXJjYXIgYSBzw6lyaWUgY29tbyBhIG4tw6lzaW1hIHJlaXRlcmHDp8OjbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI3CisjOiBidWlsdGluL2xvZy5jOjE0MzQKIG1zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJVc2FyIFtSRkMgUEFUQ0hdIGVtIHZleiBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNwogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAidXNhciBbPHByZWZpeG8+XSBlbSB2ZXogZGUgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2xvZy5jOjE0NDAKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgImd1YXJkYXIgb3MgZmljaGVpcm9zIHJlc3VsdGFudGVzIGVtIDxkaXI+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MwogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJuw6NvIHRpcmFyL2luc2VyaXIgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM5CisjOiBidWlsdGluL2xvZy5jOjE0NDYKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJuw6NvIGdlcmFyIGRpZmZzIGJpbsOhcmlvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQxCisjOiBidWlsdGluL2xvZy5jOjE0NDgKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAicHJlZW5jaGVyIG8gY2FiZcOnYWxobyBGcm9tIGNvbSBoYXNoIGRlIHplcm9zIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAibsOjbyBpbmNsdWlyIHVtIHBhdGNoIHF1ZSBjb2luY2lkYSBjb20gdW0gY29tbWl0IGEgbW9udGFudGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NQorIzogYnVpbHRpbi9sb2cuYzoxNDUyCiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICIiCiAibW9zdHJhciBubyBmb3JtYXRvIGRlIHBhdGNoIGVtIHZleiBkZSBubyBmb3JtYXRvIHBvciBvbWlzc8OjbyAocGF0Y2ggKyBzdGF0KSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ3CisjOiBidWlsdGluL2xvZy5jOjE0NTQKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgIk1lbnNhZ2VtIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NQogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAiY2FiZcOnYWxobyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ5CisjOiBidWlsdGluL2xvZy5jOjE0NTYKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJhZGljaW9uYXIgY2FiZcOnYWxobyBkZSBlLW1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1MCBidWlsdGluL2xvZy5jOjE0NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NyBidWlsdGluL2xvZy5jOjE0NTkKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAiZS1tYWlsIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NwogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICJhZGljaW9uYXIgY2FiZcOnYWxobyBUbzoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1MgorIzogYnVpbHRpbi9sb2cuYzoxNDU5CiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgImFkaWNpb25hciBjYWJlw6dhbGhvIENjOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU0CisjOiBidWlsdGluL2xvZy5jOjE0NjEKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiaWRlbnRpZGFkZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU1CisjOiBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCi0iZGVmaW5pciBvIGVuZGVyZcOnbyBGcm9tIGNvbW8gPGlkZW50aWRhZGU+IChvdSBjb21vIGlkZW50aWRhZGUgZG8gY29tbWl0dGVyIHNlICIKLSJuw6NvIGluZGljYWRvKSIKKyJkZWZpbmlyIG8gZW5kZXJlw6dvIEZyb20gY29tbyA8aWRlbnRpZGFkZT4gKG91IGNvbW8gaWRlbnRpZGFkZSBkbyBjb21taXR0ZXIgIgorInNlIG7Do28gaW5kaWNhZG8pIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NAogbXNnaWQgIm1lc3NhZ2UtaWQiCiBtc2dzdHIgImlkLW1lbnNhZ2VtIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NQogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAidXNhciBvIHByaW1laXJvIGVtYWlsIHBhcmEgcmVzcG9uZGVyIGEgPGlkLW1lbnNhZ2VtPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU5IGJ1aWx0aW4vbG9nLmM6MTQ2MgorIzogYnVpbHRpbi9sb2cuYzoxNDY2IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICJsaW1pdGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MAorIzogYnVpbHRpbi9sb2cuYzoxNDY3CiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAiYW5leGFyIG8gcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworIzogYnVpbHRpbi9sb2cuYzoxNDcwCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiaW5jb3Jwb3JhciBvIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICJhdGl2YXIgbWVuc2FnZW5zIHBvciB0w7NwaWNvcywgZXN0aWxvczogc2hhbGxvdyAocmFzbyksIGRlZXAgKHByb2Z1bmRvKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDY5CisjOiBidWlsdGluL2xvZy5jOjE0NzYKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgImFzc2luYXR1cmEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAorIzogYnVpbHRpbi9sb2cuYzoxNDc3CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICJhZGljaW9uYXIgdW1hIGFzc2luYXR1cmEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQorIzogYnVpbHRpbi9sb2cuYzoxNDc4CiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgImNvbW1pdC1iYXNlIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3OQogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgImFkaWNpb25hciBpbmZvcm1hw6fDo28gcHLDqS1yZXF1aXNpdG8gZGEgw6Fydm9yZSDDoCBzw6lyaWUgZGUgcGF0Y2hlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc0CisjOiBidWlsdGluL2xvZy5jOjE0ODEKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgImFkaWNpb25hciB1bWEgYXNzaW5hdHVyYSBkZSB1bSBmaWNoZWlybyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc1CisjOiBidWlsdGluL2xvZy5jOjE0ODIKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICJuw6NvIGltcHJpbWlyIG9zIG5vbWVzIGRvcyBmaWNoZWlyb3MgZGUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NQorIzogYnVpbHRpbi9sb2cuYzoxNTcyCiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItbiBlIC1rIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdm9zLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjOiBidWlsdGluL2xvZy5jOjE1NzQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBlIC1rIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdm9zLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc1CisjOiBidWlsdGluL2xvZy5jOjE1ODIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtb25seSBuw6NvIGZheiBzZW50aWRvIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4NAogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLXN0YXR1cyBuw6NvIGZheiBzZW50aWRvIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4NgogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1jaGVjayBuw6NvIGZheiBzZW50aWRvIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxNgogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICJzYcOtZGEgcGFkcsOjbywgb3UgZGlyZXTDs3JpbywgcXVhbCBkZWxlcz8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYxMQorIzogYnVpbHRpbi9sb2cuYzoxNjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBvIGRpcmV0w7NyaW8gJyVzJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzA1CisjOiBidWlsdGluL2xvZy5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbGVyIG8gZmljaGVpcm8gZGUgYXNzaW5hdHVyYSAnJXMnIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTc4NAogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICJGYWxoYSBhbyBjcmlhciBvcyBmaWNoZWlyb3MgZGUgc2HDrWRhIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTgzMwogbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgogbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzxyYW1vLWEtbW9udGFudGU+IFs8aGVhZD4gWzxsaW1pdGU+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4ODAKKyM6IGJ1aWx0aW4vbG9nLmM6MTg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC05MzU1LDEwNiArOTYzMywxMDcgQEAKICJPIHJhbW8gcmVtb3RvIHNlZ3VpZG8gbsOjbyBmb2kgZW5jb250cmFkbywgZXNwZWNpZmlxdWUgPHJhbW8tYS1tb250YW50ZT4gIgogIm1hbnVhbG1lbnRlLlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDYxCiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxvcMOnw7Vlcz5dIFs8ZmljaGVpcm8+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMAogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpY2FyIG8gZXN0YWRvIGRvIGZpY2hlaXJvIGNvbSB0YWdzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTExCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTEyCiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgIiIKICJ1c2FyIGxldHJhcyBtaW7DunNjdWxhcyBwYXJhIGZpY2hlaXJvcyAnYXNzdW1pZG8gbsOjbyBhbHRlcmFkbycgKCdhc3N1bWUgIgogInVuY2hhbmdlZCcpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTEzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE0CiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgIm1vc3RyYXIgZmljaGVpcm9zIGVtIGNhY2hlIG5hIHNhw61kYSAocHJlZGVmaW5pw6fDo28pIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE2CiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYXIgZmljaGVpcm9zIGVsaW1pbmFkb3MgbmEgc2HDrWRhIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE4CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmFyIGZpY2hlaXJvcyBtb2RpZmljYWRvcyBuYSBzYcOtZGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjAKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYXIgb3V0cm9zIGZpY2hlaXJvcyBuYSBzYcOtZGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhciBmaWNoZWlyb3MgaWdub3JhZG9zIG5hIHNhw61kYSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmFyIG5vbWUgZGUgb2JqZXRvcyBjb20gY29udGXDumRvIHByZXBhcmFkbywgbmEgc2HDrWRhIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKLW1zZ3N0ciAibW9zdHJhciBmaWNoZWlyb3Mgbm8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgcXVlIHByZWNpc2FtIGRlIHNlciByZW1vdmlkb3MiCittc2dzdHIgIiIKKyJtb3N0cmFyIGZpY2hlaXJvcyBubyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyBxdWUgcHJlY2lzYW0gZGUgc2VyIHJlbW92aWRvcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOQogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAibW9zdHJhciBub21lcyBkZSBkaXJldMOzcmlvcyAnb3RoZXInIChvdXRybykiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzEKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAibW9zdHJhciBmaW5haXMgZGUgbGluaGEgZG9zIGZpY2hlaXJvcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMwogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIm7Do28gbW9zdHJhciBkaXJldMOzcmlvcyB2YXppb3MiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYXIgZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcyBuYSBzYcOtZGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibW9zdHJhciBpbmZvcm1hw6fDo28gZGUgcmVzb2x2ZXItZGVzZmF6ZXIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJza2lwIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4iCiBtc2dzdHIgImlnbm9yYXIgZmljaGVpcm9zIHF1ZSBjb3JyZXNwb25kYW0gYW8gcGFkcsOjbyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgImxlciBwYWRyw7VlcyBkZSBleGNsdXPDo28gZG8gPGZpY2hlaXJvPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NgogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICJsZXIgcGFkcsO1ZXMgZGUgZXhjbHVzw6NvIHBvciBkaXJldMOzcmlvIGRvIDxmaWNoZWlybz4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDgKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJpbmNsdWlyIGFzIGV4Y2x1c8O1ZXMgc3RhbmRhcmQgZG8gZ2l0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUxCiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIm1vc3RyYXIgb3MgY2FtaW5ob3MgcmVsYXRpdmFtZW50ZSBhbyBkaXJldMOzcmlvIHN1cGVyaW9yIGRvIHByb2pldG8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKIG1zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKIG1zZ3N0ciAicGVyY29ycmVyIHN1Ym3Ds2R1bG9zIHJlY3Vyc2l2YW1lbnRlIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2CiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJzZSB1bSA8ZmljaGVpcm8+IG7Do28gZXN0aXZlciBubyDDrW5kaWNlLCB0cmF0YXIgY29tbyBlcnJvIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIsOhcnZvcmUtZXRjIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU4CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogImZpbmdpciBxdWUgb3MgY2FtaW5ob3MgcmVtb3ZpZG9zIGRlc2RlIDzDoXJ2b3JlLWV0Yz4gYWluZGEgZXN0w6NvIHByZXNlbnRlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MAogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgIm1vc3RyYXIgZGFkb3MgZGUgZGVwdXJhw6fDo28iCiAKQEAgLTk0NjgsMzkgKzk3NDcsMzkgQEAKICIgICAgICAgICAgICAgICAgICAgICBbLXEgfCAtLXF1aWV0XSBbLS1leGl0LWNvZGVdIFstLWdldC11cmxdXG4iCiAiICAgICAgICAgICAgICAgICAgICAgWy0tc3ltcmVmXSBbPHJlcG9zaXTDs3Jpbz4gWzxyZWZlcsOqbmNpYXM+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKIG1zZ3N0ciAibsOjbyBpbXByaW1pciBVUkwgcmVtb3RvIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMgYnVpbHRpbi9scy1yZW1vdGUuYzo1NQogbXNnaWQgImV4ZWMiCiBtc2dzdHIgImV4ZWMiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIgYnVpbHRpbi9scy1yZW1vdGUuYzo1NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NCBidWlsdGluL2xzLXJlbW90ZS5jOjU2CiBtc2dpZCAicGF0aCBvZiBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSBob3N0IgogbXNnc3RyICJjYW1pbmhvIHBhcmEgZ2l0LXVwbG9hZC1wYWNrIG5vIHNlcnZpZG9yIHJlbW90byIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAogbXNnaWQgImxpbWl0IHRvIHRhZ3MiCiBtc2dzdHIgInJlc3RyaW5naXItc2UgYSB0YWdzIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU3CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU5CiBtc2dpZCAibGltaXQgdG8gaGVhZHMiCiBtc2dzdHIgInJlc3RyaW5naXItc2UgYSBjYWJlw6dhcyIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAogbXNnaWQgImRvIG5vdCBzaG93IHBlZWxlZCB0YWdzIgogbXNnc3RyICJuw6NvIG1vc3RyYXIgdGFncyBkZXNjYXNjYWRhcyIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICJ0ZXIgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgZW0gY29udGEiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgInRlcm1pbmFyIGNvbSBjw7NkaWdvIGRlIHNhw61kYSAyIHNlIG7Do28gZm9yZW0gZW5jb250cmFkYXMgcmVmZXLDqm5jaWFzIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjY0CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY2CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCiBtc2dzdHIgIm1vc3RyYXIgYSByZWZlcsOqbmNpYSBzdWJqYWNlbnRlIGVtIGFkacOnw6NvIGFvIG9iamV0byBwb3IgZWxhIGFwb250YWRvIgogCkBAIC05NTQ2LDE0OCArOTgyNSwxNDQgQEAKIG1zZ3N0ciAiZ2l0IG1lcmdlIFs8b3DDp8O1ZXM+XSBbPGNvbW1pdD4uLi5dIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDcKLW1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1zZz4gSEVBRCA8Y29tbWl0PiIKLW1zZ3N0ciAiZ2l0IG1lcmdlIFs8b3DDp8O1ZXM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgotCi0jOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0OQorIzogYnVpbHRpbi9tZXJnZS5jOjQ4CiBtc2dpZCAiZ2l0IG1lcmdlIC0tY29udGludWUiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA0CisjOiBidWlsdGluL21lcmdlLmM6MTAzCiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICJhIG9ww6fDo28gJ20nIHJlcXVlciB1bSB2YWxvciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgogbXNnc3RyICJFc3RyYXTDqWdpYSBkZSBpbnRlZ3Jhw6fDo28gJyVzJyBuw6NvIGVuY29udHJhZGEuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiRXN0cmF0w6lnaWFzIGRpc3BvbsOtdmVpczoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkVzdHJhdMOpZ2lhcyBwZXJzb25hbGl6YWRhcyBkaXNwb27DrXZlaXM6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyNworIzogYnVpbHRpbi9tZXJnZS5jOjE5NiBidWlsdGluL3B1bGwuYzoxMjcKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJuw6NvIGFwcmVzZW50YXIgdW0gZGlmZnN0YXQgYW8gZmltIGRhIGludGVncmHDp8OjbyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTkgYnVpbHRpbi9wdWxsLmM6MTMwCiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJtb3N0cmFyIHVtIGRpZmZzdGF0IGFvIGZpbSBkYSBpbnRlZ3Jhw6fDo28iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTMzCisjOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzMwogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIihzaW7Ds25pbW8gZGUgLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTM2CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAiYWRpY2lvbmFyIChubyBtw6F4aW1vIDxuPikgZW50cmFkYXMgZG8gc2hvcnRsb2cgw6AgbWVuc2FnZW0gZGUgY29tbWl0IGRhICIKICJpbnRlZ3Jhw6fDo28iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTM5CisjOiBidWlsdGluL21lcmdlLmM6MjA1IGJ1aWx0aW4vcHVsbC5jOjEzOQogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICJjcmlhciB1bSDDum5pY28gY29tbWl0IGVtIHZleiBkZSByZWFsaXphciB1bWEgaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9tZXJnZS5jOjIwNyBidWlsdGluL3B1bGwuYzoxNDIKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgInJlYWxpemFyIHVtIGNvbW1pdCBzZSBhIGludGVncmHDp8OjbyBmb3IgYmVtIHN1Y2VkaWRhIChwcmVkZWZpbmnDp8OjbykiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTQ1CisjOiBidWlsdGluL21lcmdlLmM6MjA5IGJ1aWx0aW4vcHVsbC5jOjE0NQogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAiZWRpdGFyIGEgbWVuc2FnZW0gYW50ZXMgZGUgc3VibWV0ZXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICJwZXJtaXRpciBhdmFuw6dvIHLDoXBpZG8gKHByZWRlZmluacOnw6NvKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMyBidWlsdGluL3B1bGwuYzoxNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTIgYnVpbHRpbi9wdWxsLmM6MTUxCiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAiYWJvcnRhciBzZSBuw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyIGF2YW7Dp28gcsOhcGlkbyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNyBidWlsdGluL3B1bGwuYzoxNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTYgYnVpbHRpbi9wdWxsLmM6MTU0CiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICJ2ZXJpZmljYXIgc2UgbyBjb21taXQgdGVtIHVtYSBhc3NpbmF0dXJhIEdQRyB2w6FsaWRhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4Ci0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vbm90ZXMuYzo3NzMgYnVpbHRpbi9wdWxsLmM6MTU4CisjOiBidWlsdGluL3JldmVydC5jOjEwOAogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJlc3RyYXTDqWdpYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9wdWxsLmM6MTU5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICJlc3RyYXTDqWdpYSBkZSBpbnRlZ3Jhw6fDo28gYSB1c2FyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2MgorIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNjIKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIm9ww6fDo289dmFsb3IiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEgYnVpbHRpbi9wdWxsLmM6MTYzCisjOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2MwogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9ww6fDtWVzIGRhIGVzdHJhdMOpZ2lhIGRlIGludGVncmHDp8OjbyBzZWxlY2lvbmFkYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMworIzogYnVpbHRpbi9tZXJnZS5jOjIyMgogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAibWVuc2FnZW0gZGUgY29tbWl0IChkZSBpbnRlZ3Jhw6fDo28gbsOjbyBzdXNjZXTDrXZlbCBhIGF2YW7Dp28gcsOhcGlkbykiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjYKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiYWJvcnRhciBpbnRlZ3Jhw6fDo28gZW0gY3Vyc28iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjgKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiY29udGludWFyIGEgaW50ZWdyYcOnw6NvIGVtIGN1cnNvIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjMxIGJ1aWx0aW4vcHVsbC5jOjE3MAorIzogYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgInBlcm1pdGlyIGludGVncmHDp8OjbyBkZSBoaXN0w7NyaWNvcyBuw6NvIHJlbGFjaW9uYWRvcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OQorIzogYnVpbHRpbi9tZXJnZS5jOjI1OAogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgbyBjb21hbmRvIHN0YXNoLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NAorIzogYnVpbHRpbi9tZXJnZS5jOjI2MwogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgYW8gZXhlY3V0YXIgbyBjb21hbmRvIHN0YXNoIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY5CisjOiBidWlsdGluL21lcmdlLmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgIm5vbWUgZGUgb2JqZXRvIGludsOhbGlkbzogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODggYnVpbHRpbi9tZXJnZS5jOjMwNQorIzogYnVpbHRpbi9tZXJnZS5jOjI4NyBidWlsdGluL21lcmdlLmM6MzA0CiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgYW8gZXhlY3V0YXIgbyBjb21hbmRvIHJlYWQtdHJlZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMzNQorIzogYnVpbHRpbi9tZXJnZS5jOjMzNAogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgogbXNnc3RyICIgKG7Do28gaMOhIG5hZGEgcGFyYSBlc21hZ2FyKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0NgorIzogYnVpbHRpbi9tZXJnZS5jOjM0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIkNvbW1pdCBlc21hZ2FkbyAtLSBIRUFEIG7Do28gYXR1YWxpemFkYVxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Mzk2CisjOiBidWlsdGluL21lcmdlLmM6Mzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiTmVuaHVtYSBtZW5zYWdlbSBkZSBpbnRlZ3Jhw6fDo28gLS0gSEVBRCBuw6NvIGF0dWFsaXphZGFcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ0NworIzogYnVpbHRpbi9tZXJnZS5jOjQ0NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICInJXMnIG7Do28gYXBvbnRhIHBhcmEgdW0gY29tbWl0IgogCi0jOiBidWlsdGluL21lcmdlLmM6NTM3CisjOiBidWlsdGluL21lcmdlLmM6NTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIlZhbG9yIGRlIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgaW5jb3JyZXRvOiAlcyIKQEAgLTk3NTAsNjQgKzEwMDI1LDU5IEBACiAiRmFsaGEgYW8gcmVhbGl6YXIgaW50ZWdyYcOnw6NvIGF1dG9tw6F0aWNhOyBjb3JyaWphIG9zIGNvbmZsaXRvcyBlIHN1Ym1ldGEgbyAiCiAicmVzdWx0YWRvLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IgotbXNnc3RyICInJXMnIG7Do28gw6kgdW0gY29tbWl0IgotCi0jOiBidWlsdGluL21lcmdlLmM6OTA4CisjOiBidWlsdGluL21lcmdlLmM6ODkwCiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICJOZW5odW0gcmFtbyBhdHVhbC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTIKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk7Do28gaMOhIHVtIHJlbW90byBwYXJhIG8gcmFtbyBhdHVhbC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTQKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk7Do28gZXN0w6EgZGVmaW5pZG8gbmVuaHVtIHJhbW8gYSBtb250YW50ZSBwYXJhIG8gcmFtbyBhdHVhbC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAiTmVuaHVtIHJhbW8gZGUgbW9uaXRvcml6YcOnw6NvIHJlbW90byBzZWd1aWRvIHBvciAlcyBkZSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk2NAorIzogYnVpbHRpbi9tZXJnZS5jOjk0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICJWYWxvciAnJXMnIGluY29ycmV0byBubyBhbWJpZW50ZSAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAzOAorIzogYnVpbHRpbi9tZXJnZS5jOjEwMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBmZWNoYXIgJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwNjUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIGluICVzOiAlcyIKIG1zZ3N0ciAibsOjbyBzZSBwb2RlIGludGVncmFyIGVtICVzOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDgxCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIm7Do28gc2UgcG9kZSBpbnRlZ3JhciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ2CiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1hYm9ydCBuw6NvIGxldmEgYXJndW1lbnRvcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNzEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTUwCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJOw6NvIGjDoSBuZW5odW1hIGludGVncmHDp8OjbyBwYXJhIHNlIGFib3J0YXIgKE1FUkdFX0hFQUQgbsOjbyBwcmVzZW50ZSkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE4MworIzogYnVpbHRpbi9tZXJnZS5jOjExNjIKIG1zZ2lkICItLWNvbnRpbnVlIGV4cGVjdHMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWNvbnRpbnVlIG7Do28gbGV2YSBhcmd1bWVudG9zIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE4NworIzogYnVpbHRpbi9tZXJnZS5jOjExNjYKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIk7Do28gaMOhIG5lbmh1bWEgaW50ZWdyYcOnw6NvIGVtIGN1cnNvIChNRVJHRV9IRUFEIG7Do28gcHJlc2VudGUpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgyCiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTk4MTUsNyArMTAwODUsNyBAQAogIk7Do28gY29uY2x1aXUgYSBpbnRlZ3Jhw6fDo28gKE1FUkdFX0hFQUQgcHJlc2VudGUpLlxuIgogIlN1Ym1ldGEgYXMgc3VhcyBhbHRlcmHDp8O1ZXMgYW50ZXMgZGUgaW50ZWdyYXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMAorIzogYnVpbHRpbi9tZXJnZS5jOjExODkKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtOTgyMywxMjIgKzEwMDkzLDEyMiBAQAogIkNoZXJyeS1waWNrIG7Do28gY29uY2x1w61kbyAoQ0hFUlJZX1BJQ0tfSEVBRCBwcmVzZW50ZSkuXG4iCiAiU3VibWV0YSBhcyBzdWFzIGFsdGVyYcOnw7VlcyBhbnRlcyBkZSBpbnRlZ3Jhci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjEzCisjOiBidWlsdGluL21lcmdlLmM6MTE5MgogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiQ2hlcnJ5LXBpY2sgbsOjbyBjb25jbHXDrWRvIChDSEVSUllfUElDS19IRUFEIHByZXNlbnRlKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjIyCisjOiBidWlsdGluL21lcmdlLmM6MTIwMQogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBjb21iaW5hciAtLXNxdWFzaCBlIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDkKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiTmVuaHVtIGNvbW1pdCBlc3BlY2lmaWNhZG8gZSBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBuw6NvIGRlZmluaWRvLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI2CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIkVzbWFnYXIgdW0gY29tbWl0IG51bWEgY2FiZcOnYSB2YXppYSBhaW5kYSBuw6NvIMOpIHN1cG9ydGFkbyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI4CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKICJOw6NvIGZheiBzZW50aWRvIHN1Ym1ldGVyIGRlIG1vZG8gbsOjbyBzdXNjZXTDrXZlbCBhIGF2YW7Dp28gcsOhcGlkbywgbnVtYSBjYWJlw6dhICIKICJ2YXppYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0gbsOjbyDDqSBhbGdvIHNlIHBvc3NhIGludGVncmFyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzUKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJTw7Mgc2UgcG9kZSBpbnRlZ3JhciBleGF0YW1lbnRlIHVtIGNvbW1pdCBudW1hIGNhYmXDp2EgdmF6aWEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEyCisjOiBidWlsdGluL21lcmdlLmM6MTI2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAiQSBhc3NpbmF0dXJhIEdQRyBkbyBjb21taXQgJXMsIGFsZWdhZGFtZW50ZSBhc3NpbmFkYSBwb3IgJXMsIG7Do28gw6kgZGUgIgogImNvbmZpYW7Dp2EuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxNQorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKICJBIGFzc2luYXR1cmEgR1BHIGRvIGNvbW1pdCAlcywgYWxlZ2FkYW1lbnRlIGFzc2luYWRhIHBvciAlcywgZXN0w6EgaW5jb3JyZXRhLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIk8gY29tbWl0ICVzIG7Do28gdGVtIHVtYSBhc3NpbmF0dXJhIEdQRy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzIxCisjOiBidWlsdGluL21lcmdlLmM6MTI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkEgYXNzaW5hdHVyYSBHUEcgZG8gY29tbWl0ICVzIHBvciAlcyBlc3TDoSBjb3JyZXRhXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgzCisjOiBidWlsdGluL21lcmdlLmM6MTM0MAogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgImludGVncmHDp8OjbyBkZSBoaXN0w7NyaWNvcyBuw6NvIHJlbGFjaW9uYWRvcyByZWN1c2FkYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ5CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKIG1zZ3N0ciAiSsOhIGVzdMOhIGF0dWFsaXphZG8uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQwMgorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIkEgYXR1YWxpemFyICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0MworIzogYnVpbHRpbi9tZXJnZS5jOjE0MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgIkEgdGVudGFyIGludGVncmHDp8OjbyBtZXNtbyB0cml2aWFsIG5vIGludGVyaW9yIGRvIMOtbmRpY2UuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIk7Do28uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc1CisjOiBidWlsdGluL21lcmdlLmM6MTQzMgogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZS4gWWVlYWghIgogbXNnc3RyICJKw6EgZXN0w6EgYXR1YWxpemFkby4gU2ltISIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDM4CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBhdmFuw6dhciByYXBpZGFtZW50ZSwgYSBhYm9ydGFyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MDQgYnVpbHRpbi9tZXJnZS5jOjE1ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDYxIGJ1aWx0aW4vbWVyZ2UuYzoxNTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICJBIHJlY3VhciBhIMOhcnZvcmUgYW8gc2V1IGVzdGFkbyBvcmlnaW5hbC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwOAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIkEgdGVudGFyIGEgZXN0cmF0w6lnaWEgZGUgaW50ZWdyYcOnw6NvICVzLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTc0CisjOiBidWlsdGluL21lcmdlLmM6MTUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiTmVuaHVtYSBlc3RyYXTDqWdpYSBkZSBpbnRlZ3Jhw6fDo28gY29uc2VndWl1IHByb2Nlc3NhciBhIGludGVncmHDp8Ojby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJGYWxoYSBhbyBpbnRlZ3JhciBjb20gYSBlc3RyYXTDqWdpYSAlcy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICJBIHVzYXIgJXMgcGFyYSBwcmVwYXJhciByZXNvbHXDp8OjbyBtYW51YWwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk3CisjOiBidWlsdGluL21lcmdlLmM6MTU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCi0iQSBpbnRlZ3Jhw6fDo28gYXV0b23DoXRpY2EgZm9pIGJlbSBzdWNlZGlkYTsgaW50ZXJyb21waWRhIGFudGVzIGRlIHN1Ym1ldGVyIGNvbW8gIgotInNvbGljaXRhZG9cbiIKKyJBIGludGVncmHDp8OjbyBhdXRvbcOhdGljYSBmb2kgYmVtIHN1Y2VkaWRhOyBpbnRlcnJvbXBpZGEgYW50ZXMgZGUgc3VibWV0ZXIgIgorImNvbW8gc29saWNpdGFkb1xuIgogCiAjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyOQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKQEAgLTk5ODksMzUgKzEwMjU5LDM1IEBACiAiZ2l0IG1lcmdlLWZpbGUgWzxvcMOnw7Vlcz5dIFstTCA8bm9tZTE+IFstTCA8b3JpZz4gWy1MIDxub21lMj5dXV0gPGZpY2hlaXJvMT4gIgogIjxmaWNoZWlyby1vcmlnPiA8ZmljaGVpcm8yPiIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzMKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjMyCiBtc2dpZCAic2VuZCByZXN1bHRzIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAiZW52aWFyIHJlc3VsdGFkb3MgcGFyYSBhIHNhw61kYSBwYWRyw6NvIgogCi0jOiBidWlsdGluL21lcmdlLWZpbGUuYzozNAorIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzMKIG1zZ2lkICJ1c2UgYSBkaWZmMyBiYXNlZCBtZXJnZSIKIG1zZ3N0ciAidXNhciBpbnRlZ3Jhw6fDo28gYmFzZWFkYSBlbSBkaWZmMyIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzUKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM0CiBtc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIG91ciB2ZXJzaW9uIgogbXNnc3RyICJ1c2FyIGEgbm9zc2EgdmVyc8OjbyBlbSBjYXNvIGRlIGNvbmZsaXRvIgogCi0jOiBidWlsdGluL21lcmdlLWZpbGUuYzozNworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzYKIG1zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAidXNhciBhIHZlcnPDo28gZGVsZXMgZW0gY2FzbyBkZSBjb25mbGl0byIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzkKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM4CiBtc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIGEgdW5pb24gdmVyc2lvbiIKIG1zZ3N0ciAidXNhciBhIHVuacOjbyBkYXMgdmVyc8O1ZXMgZW0gY2FzbyBkZSBjb25mbGl0byIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDIKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQxCiBtc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIHRoaXMgbWFya2VyIHNpemUiCiBtc2dzdHIgInVzYXIgZXN0ZSBjb21wcmltZW50byBkZSBtYXJjYWRvciBwYXJhIG9zIGNvbmZsaXRvcyIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDMKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQyCiBtc2dpZCAiZG8gbm90IHdhcm4gYWJvdXQgY29uZmxpY3RzIgogbXNnc3RyICJuw6NvIGFsZXJ0YXIgc29icmUgY29uZmxpdG9zIgogCi0jOiBidWlsdGluL21lcmdlLWZpbGUuYzo0NQorIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgImRlZmluaXIgaWRlbnRpZmljYXJlcyBwYXJhIGZpY2hlaXJvMS9maWNoZWlyby1vcmlnL2ZpY2hlaXJvMiIKIApAQCAtMTAwNzksNyArMTAzNDksOCBAQAogCiAjOiBidWlsdGluL212LmM6ODQgYnVpbHRpbi9ybS5jOjI5MAogbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgotbXNnc3RyICJQcmVwYXJlIGFzIHN1YXMgYWx0ZXJhw6fDtWVzIGVtIC5naXRtb2R1bGVzIG91IGVzY29uZGEtYXMgcGFyYSBwcm9zc2VndWlyIgorbXNnc3RyICIiCisiUHJlcGFyZSBhcyBzdWFzIGFsdGVyYcOnw7VlcyBlbSAuZ2l0bW9kdWxlcyBvdSBlc2NvbmRhLWFzIHBhcmEgcHJvc3NlZ3VpciIKIAogIzogYnVpbHRpbi9tdi5jOjEwMgogIywgYy1mb3JtYXQKQEAgLTEwMTYwLDQzICsxMDQzMSw0NyBAQAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyBtdWRhciBvIG5vbWUgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjI4OQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3DDp8O1ZXM+XSA8Y29tbWl0Pi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI5MAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3DDp8O1ZXM+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI5MQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcMOnw7Vlcz5dIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNDYKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgImltcHJpbWlyIGFwZW5hcyBub21lcyAoc2VtIFNIQS0xKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM0NwogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAidXNhciBhcGVuYXMgdGFncyBwYXJhIGRlc2lnbmFyIGNvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNDkKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAidXNhciBhcGVuYXMgcmVmZXLDqm5jaWEgcXVlIGNvcnJlc3BvbmRhbSBhbyA8cGFkcsOjbz4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTEKK21zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgImlnbm9yYXIgcmVmZXLDqm5jaWFzIHF1ZSBjb3JyZXNwb25kYW0gYW8gPHBhZHLDo28+IgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzUzCiBtc2dpZCAibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIKIG1zZ3N0ciAibGlzdGFyIHRvZG9zIG9zIGNvbW1pdHMgYWxjYW7Dp8OhdmVpcyBhIHBhcnRpciBkZSB0b2RhcyBhcyByZWZlcsOqbmNpYXMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTQKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImxlciBkYSBlbnRyYWRhIHBhZHLDo28iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTUKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgInBlcm1pdGlyIGltcHJpbWlyIG5vbWVzICdpbmRlZmluaWRvcycgKHByZWRlZmluacOnw6NvKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM2MQogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICJkZXNyZWZlcmVuY2lhciB0YWdzIG5hIGVudHJhZGEgKHVzbyBpbnRlcm5vKSIKIApAQCAtMTAzNDEsMTkgKzEwNjE2LDE5IEBACiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIm8gY29udGXDumRvIGRhIG5vdGEgZm9pIGNvbG9jYWRvIGVtICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjM1IGJ1aWx0aW4vdGFnLmM6NDYzCisjOiBidWlsdGluL25vdGVzLmM6MjM1IGJ1aWx0aW4vdGFnLmM6NTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG91IGxlciAnJXMnIgogCiAjOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNwogIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CisjOiBidWlsdGluL25vdGVzLmM6NTE4IGJ1aWx0aW4vbm90ZXMuYzo1OTYgYnVpbHRpbi9ub3Rlcy5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiZmFsaGEgYW8gcmVzb2x2ZXIgJyVzJyBjb21vIHVtYSByZWZlcsOqbmNpYSB2w6FsaWRhLiIKQEAgLTEwMzg2LDEyICsxMDY2MSwxMiBAQAogbXNnc3RyICJmb2kgcmVjdXNhZG8gZWZldHVhciAlcyBkZSBub3RhcyBlbSAlcyAoZm9yYSBkZSByZWZzL25vdGVzLykiCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzozNjUgYnVpbHRpbi9ub3Rlcy5jOjQyMCBidWlsdGluL25vdGVzLmM6NDk2Ci0jOiBidWlsdGluL25vdGVzLmM6NTA4IGJ1aWx0aW4vbm90ZXMuYzo1ODQgYnVpbHRpbi9ub3Rlcy5jOjY1MgotIzogYnVpbHRpbi9ub3Rlcy5jOjgwMiBidWlsdGluL25vdGVzLmM6OTQ5IGJ1aWx0aW4vbm90ZXMuYzo5NzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDggYnVpbHRpbi9ub3Rlcy5jOjU4NCBidWlsdGluL25vdGVzLmM6NjUxCisjOiBidWlsdGluL25vdGVzLmM6ODAxIGJ1aWx0aW4vbm90ZXMuYzo5NDggYnVpbHRpbi9ub3Rlcy5jOjk2OQogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgImRlbWFzaWFkb3MgcGFyw6JtZXRyb3MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgIm5lbmh1bWEgbm90YSBlbmNvbnRyYWRhIHBhcmEgbyBvYmpldG8gJXMuIgpAQCAtMTA0MjYsMTUgKzEwNzAxLDE1IEBACiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKICJleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAiIgotIk7Do28gw6kgcG9zc8OtdmVsIGFkaWNpb25hciBub3Rhcy4gTm90YXMgZG8gb2JqZXRvICVzIGVuY29udHJhZGFzLiBVc2UgJy1mJyBwYXJhICIKLSJzdWJzdGl0dcOtLWxhcy4iCisiTsOjbyDDqSBwb3Nzw612ZWwgYWRpY2lvbmFyIG5vdGFzLiBOb3RhcyBkbyBvYmpldG8gJXMgZW5jb250cmFkYXMuIFVzZSAnLWYnICIKKyJwYXJhIHN1YnN0aXR1w60tbGFzLiIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiQSBzdWJzdGl0dWlyIGFzIG5vdGFzIGV4aXN0ZW50ZXMgZG8gb2JqZXRvICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo2MjMgYnVpbHRpbi9ub3Rlcy5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiQSByZW1vdmVyIGEgbm90YSBkbyBvYmpldG8gJXNcbiIKQEAgLTEwNDc0LDEzOSArMTA3NDksMTM5IEBACiAiQXMgb3DDp8O1ZXMgLW0vLUYvLWMvLUMgc8OjbyBvYnNvbGV0YXMgbm8gc3ViY29tYW5kbyAnZWRpdCcuXG4iCiAiVXNlICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJyBlbSBzZXUgbHVnYXIuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJmYWxoYSBhbyBlbGltaW5hciBhIHJlZmVyw6puY2lhIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODYKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgImZhbGhhIGFvIGVsaW1pbmFyIGEgcmVmZXLDqm5jaWEgTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njg5CisjOiBidWlsdGluL25vdGVzLmM6Njg4CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKIG1zZ3N0ciAiZmFsaGEgYW8gcmVtb3ZlciBhIMOhcnZvcmUgZGUgdHJhYmFsaG8gZGUgJ2dpdCBub3RlcyBtZXJnZSciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDgKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiZmFsaGEgYW8gbGVyIHJlZmVyw6puY2lhIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTAKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciBvIGNvbW1pdCBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMworIzogYnVpbHRpbi9ub3Rlcy5jOjcxMgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIG8gY29tbWl0IGRlIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzI2CisjOiBidWlsdGluL25vdGVzLmM6NzI1CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICJmYWxoYSBhbyByZXNvbHZlciBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjgKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImZhbGhhIGFvIGZpbmFsaXphciBpbnRlZ3Jhw6fDo28gZGUgbm90YXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKIG1zZ3N0ciAiZXN0cmF0w6lnaWEgZGUgaW50ZWdyYcOnw6NvIGRlIG5vdGFzICVzIGRlc2NvbmhlY2lkYSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3MAogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAiT3DDp8O1ZXMgZ2VyYWlzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzczCisjOiBidWlsdGluL25vdGVzLmM6NzcyCiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiT3DDp8O1ZXMgZGUgaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc1CisjOiBidWlsdGluL25vdGVzLmM6Nzc0CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKIG1zZ3N0ciAiIgotInJlc29sdmVyIGNvbmZsaXRvcyBuYXMgbm90YXMgdXNhbmRvIGEgZXN0cmF0w6lnaWEgaW5kaWNhZGEgKG1hbnVhbC9vdXJzL3RoZWlycy8iCi0idW5pb24vY2F0X3NvcnRfdW5pcSkiCisicmVzb2x2ZXIgY29uZmxpdG9zIG5hcyBub3RhcyB1c2FuZG8gYSBlc3RyYXTDqWdpYSBpbmRpY2FkYSAobWFudWFsL291cnMvIgorInRoZWlycy91bmlvbi9jYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NworIzogYnVpbHRpbi9ub3Rlcy5jOjc3NgogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIkEgc3VibWV0ZXIgbm90YXMgbsOjbyBpbnRlZ3JhZGFzIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc5CisjOiBidWlsdGluL25vdGVzLmM6Nzc4CiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiY29uY2x1aXIgaW50ZWdyYcOnw6NvIGRlIG5vdGFzLCBzdWJtZXRlbmRvIG5vdGFzIG7Do28gaW50ZWdyYWRhcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MAogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIkEgYWJvcnRhciByZXNvbHXDp8OjbyBkZSBpbnRlZ3Jhw6fDo28gZGFzIG5vdGFzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6NzgyCiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImFib3J0YXIgaW50ZWdyYcOnw6NvIGRhcyBub3RhcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc5MwogbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbWlzdHVyYXIgLS1jb21taXQsIC0tYWJvcnQgb3UgLXMvLS1zdHJhdGVneSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjc5OAogbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKIG1zZ3N0ciAidGVtIGRlIGVzcGVjaWZpY2FyIHVtYSByZWZlcsOqbmNpYSBkZSBub3RhcyBwYXJhIGludGVncmFyIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODIzCisjOiBidWlsdGluL25vdGVzLmM6ODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCiBtc2dzdHIgIi1zLy0tc3RyYXRlZ3kgZGVzY29uaGVjaWRhOiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAidW1hIGludGVncmHDp8OjbyBkYXMgbm90YXMgZW0gJXMgasOhIGVzdMOhIGVtIGN1cnNvIGVtICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYzCisjOiBidWlsdGluL25vdGVzLmM6ODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgImZhbGhhIGFvIGd1YXJkYXIgbGlnYcOnw6NvIMOgIHJlZmVyw6puY2lhIGRlIG5vdGFzIGF0dWFsICglcykiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgogIidnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnLCBvciBhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tIgogImFib3J0Jy5cbiIKIG1zZ3N0ciAiIgotIkEgaW50ZWdyYcOnw6NvIGF1dG9tw6F0aWNhIGRlIG5vdGFzIGZhbGhvdS4gQ29ycmlqYSBvcyBjb25mbGl0b3MgZW0gJXMgZSBzdWJtZXRhICIKLSJvIHJlc3VsdGFkbyBjb20gJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3UgYWJvcnRlIGEgaW50ZWdyYcOnw6NvIGNvbSAnZ2l0ICIKLSJub3RlcyBtZXJnZSAtLWFib3J0Jy5cbiIKKyJBIGludGVncmHDp8OjbyBhdXRvbcOhdGljYSBkZSBub3RhcyBmYWxob3UuIENvcnJpamEgb3MgY29uZmxpdG9zIGVtICVzIGUgIgorInN1Ym1ldGEgbyByZXN1bHRhZG8gY29tICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG91IGFib3J0ZSBhIGludGVncmHDp8OjbyAiCisiY29tICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIk8gb2JqZXRvICVzIG7Do28gdGVtIG5lbmh1bWEgbm90YVxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6ODk4CiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICJuw6NvIGNvbnNpZGVyYXIgY29tbyBlcnJvIGEgcmVtb8Onw6NvIGRlIHVtYSBub3RhIG7Do28gZXhpc3RlbnRlIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTAyCisjOiBidWlsdGluL25vdGVzLmM6OTAxCiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxlciBub21lIGRvcyBvYmpldG9zIGRhIGVudHJhZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk0MCBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MzkgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3CiBtc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgogbXNnc3RyICJuw6NvIHJlbW92ZXIsIG1vc3RyYXIgYXBlbmFzIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQxCisjOiBidWlsdGluL25vdGVzLmM6OTQwCiBtc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKIG1zZ3N0ciAicmVwb3J0YXIgbm90YXMgcG9kYWRhcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MworIzogYnVpbHRpbi9ub3Rlcy5jOjk4MgogbXNnaWQgIm5vdGVzLXJlZiIKIG1zZ3N0ciAibm90ZXMtcmVmIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTg0CisjOiBidWlsdGluL25vdGVzLmM6OTgzCiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgInVzYXIgbm90YXMgZGUgPG5vdGVzLXJlZj4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CisjOiBidWlsdGluL25vdGVzLmM6MTAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJzdWJjb21hbmRvIGRlc2NvbmhlY2lkbzogJXMiCkBAIC0xMDYzMCwxNzcgKzEwOTA1LDE3NyBAQAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAiZXJybyBhbyBjb21wYWN0YXIgKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzcwCiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAiIgogImEgZGVzYXRpdmFyIGVzY3JpdGEgZGUgbWFwYSBkZSBiaXRzLCBvcyBwYWNvdGVzIHPDo28gZGl2aWRpZG9zIGRldmlkbyBhIHBhY2suIgogInBhY2tTaXplTGltaXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4MwogbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQSBlc2NyZXZlciBvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA2MwogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICIiCi0iYSBkZXNhdGl2YXIgZXNjcml0YSBkZSBtYXBhIGRlIGJpdHMsIHZpc3RvIHF1ZSBhbGd1bnMgb2JqZXRvcyBuw6NvIGVzdMOjbyBhIHNlciAiCi0iY29tcGFjdGFkb3MiCisiYSBkZXNhdGl2YXIgZXNjcml0YSBkZSBtYXBhIGRlIGJpdHMsIHZpc3RvIHF1ZSBhbGd1bnMgb2JqZXRvcyBuw6NvIGVzdMOjbyBhICIKKyJzZXIgY29tcGFjdGFkb3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDI2CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQSBjb21wcmltaXIgb2JqZXRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAidmVyc8OjbyBkZSDDrW5kaWNlICVzIG7Do28gc3Vwb3J0YWRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJ2ZXJzw6NvIGRlIMOtbmRpY2UgJyVzJyBpbmNvcnJldGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYzCiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIm7Do28gbW9zdHJhciBtZWRpZG9yIGRlIHByb2dyZXNzbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjUKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJtb3N0cmFyIG1lZGlkb3IgZGUgcHJvZ3Jlc3NvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2NwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICJtb3N0cmFyIG1lZGlkb3IgZGUgcHJvZ3Jlc3NvIGR1cmFudGUgYSBmYXNlIGRlIGVzY3JpdGEgZGUgb2JqZXRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NzAKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgInNlbWVsaGFudGUgYSAtLWFsbC1wcm9ncmVzcyBxdWFuZG8gbyBtZWRpZG9yIGRlIHByb2dyZXNzbyDDqSBtb3N0cmFkbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NzEKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICJ2ZXJzw6NvWyxvZmZzZXRdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg3MgogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJlc2NyZXZlciBvIGZpY2hlaXJvIGRlIMOtbmRpY2UgZG8gcGFjb3RlIG5hIHZlcnPDo28gZGUgZm9ybWF0byBlc3BlY2lmaWNhZGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc1CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAidGFtYW5obyBtw6F4aW1vIGRlIGNhZGEgZmljaGVpcm8gZGUgcGFjb3RlIGdlcmFkbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NzcKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgImlnbm9yYXIgb2JqZXRvcyBlbXByZXN0YWRvcyBkbyBhcnF1aXZvIGRlIG9iamV0b3Mgc29icmVzc2FsZW50ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc5CiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICJpZ25vcmFyIG9iamV0b3MgY29tcGFjdGFkb3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODgxCiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAibGltaXRhciBhIGphbmVsYSBkZSBjb21wYWN0YcOnw6NvIHBvciBvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4MwogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKICJsaW1pdGFyIGEgamFuZWxhIGRlIGNvbXBhY3Rhw6fDo28gcG9yIG1lbcOzcmlhIGVtIGFkacOnw6NvIGFvIGxpbWl0ZSBwb3Igb2JqZXRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODUKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAidGFtYW5obyBtw6F4aW1vIGRlIGNhZGVpYXMgZGVsdGEgcGVybWl0aWRhcyBubyBwYWNvdGUgcmVzdWx0YW50ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODcKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgInJldXRpbGl6YXIgZGVsdGFzIGV4aXN0ZW50ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg5CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAicmV1dGlsaXphciBvYmpldG9zIGV4aXN0ZW50ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODkxCiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICJ1c2FyIG9iamV0b3MgT0ZTX0RFTFRBIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MwogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgInVzYXIgdGhyZWFkcyBhbyBwcm9jdXJhciBwZWxhIG1lbGhvciBjb3JyZXNwb25kw6puY2lhIGRlbHRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5NQogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgIm7Do28gY3JpYXIgdW0gcGFjb3RlIHZhemlvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5NwogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxlciBhcmd1bWVudG9zIGRlIHJldmlzw6NvIGRhIGVudHJhZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTkKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAicmVzdHJpbmdpci1zZSBhb3Mgb2JqZXRvcyBxdWUgYWluZGEgbsOjbyBmb3JhbSBjb21wYWN0YWRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiaW5jbHVpciBvYmpldG9zIGFsY2Fuw6fDoXZlaXMgYSBwYXJ0aXIgZGUgcXVhbHF1ZXIgcmVmZXLDqm5jaWEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICJpbmNsdWlyIG9iamV0b3MgcmVmZXJlbmNpYWRvcyBwb3IgZW50cmFkYXMgZG8gcmVmbG9nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwOAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCB0byBieSB0aGUgaW5kZXgiCiBtc2dzdHIgImluY2x1aXIgb2JqZXRvcyByZWZlcmVuY2lhZG9zIHBlbG8gw61uZGljZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTEKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgImdlcmFyIHBhY290ZSBwYXJhIGEgc2HDrWRhIHBhZHLDo28iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTEzCiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICJpbmNsdWlyIG9iamV0b3MgdGFnIHF1ZSByZWZpcmFtIG9iamV0b3MgYSBjb21wYWN0YXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE1CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJtYW50ZXIgb2JqZXRvcyBpbmFsY2Fuw6fDoXZlaXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE3CiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJlbXBhY290YXIgb2JqZXRvcyBzb2x0b3MgaW5hbGNhbsOnw6F2ZWlzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxOQogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJkZXNjb21wYWN0YXIgb2JqZXRvcyBpbmFsY2Fuw6fDoXZlaXMgbWFpcyByZWNlbnRlcyBxdWUgPHRlbXBvPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjIKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAiY3JpYXIgcGFjb3RlcyBmaW5vcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjQKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAiY3JpYXIgcGFjb3RlcyBhZGVxdWFkb3MgcGFyYSBvYnRlciBlbSByZXBvc2l0w7NyaW9zIHBvdWNvIHByb2Z1bmRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjYKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICJpZ25vcmFyIHBhY290ZXMgcXVlIHRlbmhhbSB1bSBmaWNoZWlybyAua2VlcCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjgKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJuw612ZWwgZGUgY29tcGFjdGHDp8OjbyBkbyBwYWNvdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMwCiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgIm7Do28gZXNjb25kZXIgY29tbWl0cyBpbnRyb2R1emlkb3MgcG9yIGVueGVydG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzMgogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogInVzYXIgdW0gw61uZGljZSBkZSBtYXBhIGRlIGJpdHMgc2UgZGlzcG9uw612ZWwsIHBhcmEgYWNlbGVyYXIgYSBjb250YWdlbSBkZSAiCiAib2JqZXRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzQKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICJlc2NyZXZlciB1bSDDrW5kaWNlIGRlIG1hcGEgZGUgYml0cyBqdW50YW1lbnRlIGNvbSBvIMOtbmRpY2UgZG8gcGFjb3RlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzA2MQogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIkEgY29udGFyIG9iamV0b3MiCiAKQEAgLTEwODU3LDcgKzExMTMyLDcgQEAKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgImluY29ycG9yYXIgYWx0ZXJhw6fDtWVzIHBvciByZWJhc2UgZW0gdmV6IGRlIGludGVncmFyIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNDggYnVpbHRpbi9yZXZlcnQuYzoxMDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0OCBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MTggYnVpbHRpbi9yZXZlcnQuYzoxMjAKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgInBlcm1pdGlyIGF2YW7Dp28gcsOhcGlkbyIKIApAQCAtMTA5NDYsNyArMTEyMjEsOCBAQAogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIiIKLSJTZSBkZXNlamEgZGVmaW5pciBvIHJhbW8gcXVlIGRldmUgc2VyIHNlZ3VpZG8gcG9yIGVzdGUgcmFtbywgcG9kZSBmYXrDqi1sbyBjb206IgorIlNlIGRlc2VqYSBkZWZpbmlyIG8gcmFtbyBxdWUgZGV2ZSBzZXIgc2VndWlkbyBwb3IgZXN0ZSByYW1vLCBwb2RlIGZhesOqLWxvICIKKyJjb206IgogCiAjOiBidWlsdGluL3B1bGwuYzo0MzcKICMsIGMtZm9ybWF0CkBAIC0xMTE4Miw4ICsxMTQ1OCw4IEBACiAjOiBidWlsdGluL3B1c2guYzozNzAKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgotIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSByZXBvc2l0b3J5ICIKLSJ1c2luZ1xuIgorIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCisicmVwb3NpdG9yeSB1c2luZ1xuIgogIlxuIgogIiAgICBnaXQgcmVtb3RlIGFkZCA8bmFtZT4gPHVybD5cbiIKICJcbiIKQEAgLTExMjI1LDExICsxMTUwMSwxMSBAQAogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgInJlcG9zaXTDs3JpbyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1MTkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICJwdWJsaWNhciB0b2RhcyBhcyByZWZlcsOqbmNpYXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMCBidWlsdGluL3NlbmQtcGFjay5jOjE2MworIzogYnVpbHRpbi9wdXNoLmM6NTIwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICJyZXBsaWNhciB0b2RhcyBhcyByZWZlcsOqbmNpYXMiCiAKQEAgLTExMjQxLDE1ICsxMTUxNywxNSBAQAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAicHVibGljYXIgdGFncyAobsOjbyBwb2RlIHNlciB1c2FkbyBjb20gLS1hbGwgb3UgLS1taXJyb3IpIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNiBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgImZvcsOnYXIgYXR1YWxpemHDp8OjbyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzo1MjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzkKIG1zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgogbXNnc3RyICJub21lIGRhIHJlZmVyw6puY2lhPjo8ZXNwZXJhZG8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTI5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgwCiBtc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCiBtc2dzdHIgImV4aWdpciBxdWUgbyBhbnRpZ28gdmFsb3IgZGEgcmVmZXLDqm5jaWEgdGVuaGEgZXN0ZSB2YWxvciIKIApAQCAtMTEyNTcsMTIgKzExNTMzLDEyIEBACiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250cm9sYXIgYSBwdWJsaWNhw6fDo28gcmVjdXJzaXZhIGRlIHN1Ym3Ds2R1bG9zIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNCBidWlsdGluL3NlbmQtcGFjay5jOjE3MwogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgInVzYXIgcGFjb3RlIGZpbm8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNSBidWlsdGluL3B1c2guYzo1MzYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNTgKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU5CisjOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9wdXNoLmM6NTM2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU5CisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MAogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICJwcm9ncmFtYSByZWNlaXZlIHBhY2siCiAKQEAgLTExMjgyLDE5ICsxMTU1OCwxOSBAQAogbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKIG1zZ3N0ciAicHVibGljYXIgdGFncyBwZXJkaWRhcyBtYXMgcmVsZXZhbnRlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NDYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAiYXNzaW5hciBwdWJsaWNhw6fDo28gY29tIEdQRyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcwCisjOiBidWlsdGluL3B1c2guYzo1NDggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKIG1zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKIG1zZ3N0ciAic29saWNpdGFyIHRyYW5zYcOnw6NvIGF0w7NtaWNhIG5vIHNlcnZpZG9yIHJlbW90byIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NDkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKIG1zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCiBtc2dzdHIgImVzcGVjw61maWNvIGRvIHNlcnZpZG9yIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0OSBidWlsdGluL3NlbmQtcGFjay5jOjE3MQogbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKIG1zZ3N0ciAib3DDp8OjbyBwYXJhIHRyYW5zbWl0aXIiCiAKQEAgLTExMzEwLDg3ICsxMTU4NiwxMDAgQEAKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgogbXNnc3RyICJhcyBvcMOnw7VlcyBkZSBwdWJsaWNhw6fDo28gbsOjbyBwb2RlbSB0ZXIgY2FyYXRlcmVzIGRlIG5vdmEgbGluaGEiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgogImluZGV4LW91dHB1dD08ZmlsZT5dICgtLWVtcHR5IHwgPHRyZWUtaXNoMT4gWzx0cmVlLWlzaDI+IFs8dHJlZS1pc2gzPl1dKSIKIG1zZ3N0ciAiIgotImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4bz4pICIKLSJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS0iCi0iaW5kZXgtb3V0cHV0PTxmaWNoZWlybz5dICgtLWVtcHR5IHwgPMOhcnZvcmUtZXRjMT4gWzzDoXJ2b3JlLWV0YzI+IFs8w6Fydm9yZS0iCi0iZXRjMz5dXSkiCisiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tIgorInByZWZpeD08cHJlZml4bz4pIFstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby0iCisic3BhcnNlLWNoZWNrb3V0XSBbLS1pbmRleC1vdXRwdXQ9PGZpY2hlaXJvPl0gKC0tZW1wdHkgfCA8w6Fydm9yZS1ldGMxPiAiCisiWzzDoXJ2b3JlLWV0YzI+IFs8w6Fydm9yZS1ldGMzPl1dKSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKIG1zZ3N0ciAiZXNjcmV2ZXIgbyDDrW5kaWNlIHJlc3VsdGFudGUgbm8gPGZpY2hlaXJvPiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMzCiBtc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCiBtc2dzdHIgImFwZW5hcyBlc3ZhemlhciBvIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgIkEgaW50ZWdyYXIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNwogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCiBtc2dzdHIgInJlYWxpemFyIHVtYSBpbnRlZ3Jhw6fDo28gZW0gYWRpw6fDo28gYSB1bWEgbGVpdHVyYSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM5CiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgogbXNnc3RyICIiCi0iaW50ZWdyYXIgY29tIDMgcG9udG9zIHNlIGEgaW50ZWdyYcOnw6NvIGFvIG7DrXZlbCBkZSBmaWNoZWlyb3MgbsOjbyBmb3IgbmVjZXNzw6FyaWEiCisiaW50ZWdyYXIgY29tIDMgcG9udG9zIHNlIGEgaW50ZWdyYcOnw6NvIGFvIG7DrXZlbCBkZSBmaWNoZWlyb3MgbsOjbyBmb3IgIgorIm5lY2Vzc8OhcmlhIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICJpbnRlZ3JhciBjb20gMyBwb250byBuYSBwcmVzZW7Dp2EgZGUgYWRpw6fDtWVzIGUgcmVtb8Onw7VlcyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQzCiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAibyBtZXNtbyBxdWUgLW0sIG1hcyBkZXNjYXJ0YXIgZW50cmFkYXMgbsOjbyBpbnRlZ3JhZGFzIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDQKIG1zZ2lkICI8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgIjxzdWJkaXJldMOzcmlvPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICJsZXIgYSDDoXJ2b3JlIGVtIDxzdWJkaXJldMOzcmlvPi8gcGFyYSBvIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAogbXNnaWQgInVwZGF0ZSB3b3JraW5nIHRyZWUgd2l0aCBtZXJnZSByZXN1bHQiCiBtc2dzdHIgImF0dWFsaXphciBhIMOhcnZvcmUgZGUgdHJhYmFsaG8gY29tIG9zIHJlc3VsdGFkb3MgZGEgaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTAKIG1zZ2lkICJnaXRpZ25vcmUiCiBtc2dzdHIgImdpdGlnbm9yZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUxCiBtc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgogbXNnc3RyICJwZXJtaXRpciBxdWUgb3MgZmljaGVpcm9zIGV4cGxpY2l0YW1lbnRlIGlnbm9yYWRvcyBzZWphbSBzdWJzdGl0dcOtZG9zIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTQKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgIm7Do28gdmVyaWZpY2FyIGEgw6Fydm9yZSBkZSB0cmFiYWxobyBkZXBvaXMgZGUgaW50ZWdyYXIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1NQogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAibsOjbyBhdHVhbGl6YXIgbyDDrW5kaWNlIG91IGEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTU3CiBtc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgogbXNnc3RyICJpZ25vcmFyIGEgYXBsaWNhw6fDo28gZG8gZmlsdHJvIGRlIGV4dHJhw6fDo28gZXNwYXJzYSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTU5CiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJkZXB1cmFyIHVucGFjay10cmVlcyIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNgorIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjcKK21zZ2lkICJnaXQgcmViYXNlLS1oZWxwZXIgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCByZWJhc2UtLWhlbHBlciBbPG9ww6fDtWVzPl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoxOQorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAiY29udGludWFyIHJlYmFzZSIKKworIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjIxCittc2dpZCAiYWJvcnQgcmViYXNlIgorbXNnc3RyICJhYm9ydGFyIHJlYmFzZSIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNwogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo3OTMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6Nzk2CiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKICJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgpAQCAtMTE0MjAsNyArMTE3MDksNyBAQAogIlBhcmEgc3VwcmltaXIgZXN0YSBtZW5zYWdlbSBlIG1hbnRlciBvIGNvbXBvcnRhbWVudG8gcHJlZGVmaW5pZG8sIGRlZmluYSBhICIKICJ2YXJpw6F2ZWwgZGUgY29uZmlndXJhw6fDo28gJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbW8gJ3JlZnVzZScuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgxMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTYKIG1zZ2lkICIiCiAiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgogIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCkBAIC0xMTQ0MCwxMSArMTE3MjksMTEgQEAKICJcbiIKICJQYXJhIHN1cHJpbWlyIGVzdGEgbWVuc2FnZW0sIHBvZGUgZGVmaW7DrS1sYSBjb21vICdyZWZ1c2UnLiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODgzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4ODkKIG1zZ2lkICJxdWlldCIKIG1zZ3N0ciAic2lsZW5jaW9zbyIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk3CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5MDMKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiRGV2ZSBlc3BlY2lmaWNhciB1bSBkaXJldMOzcmlvLiIKIApAQCAtMTE2MjMsNyArMTE5MTIsNyBAQAogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIoZWxpbWluYWRvKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzU3IGJ1aWx0aW4vcmVtb3RlLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAiUmVtb3RvIGluZXhpc3RlbnRlOiAlcyIKQEAgLTExNjU2LDcgKzExOTQ1LDcgQEAKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgYW8gY3JpYXIgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3OTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Nzk0CiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC0xMTY3MCwyOTYgKzExOTU5LDI5NyBAQAogIk5vdGE6IGFsZ3VucyByYW1vcyBmb3JhIGRhIGhpZXJhcnF1aWEgcmVmcy9yZW1vdGVzLyBuw6NvIGZvcmFtIHJlbW92aWRvcztcbiIKICJwYXJhIG9zIHJlbW92ZXIsIHVzZToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODA2CisjOiBidWlsdGluL3JlbW90ZS5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCByZW1vdmVyIGEgc2Vjw6fDo28gZGUgY29uZmlndXJhw6fDo28gJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIG5vdm8gKG9zIHByw7N4aW1hIG9iamV0b3Mgb2J0aWRvcyBzZXLDo28gZ3VhcmRhZG9zIGVtIHJlbW90ZXMvJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTIKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIHNlZ3VpZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCisjOiBidWlsdGluL3JlbW90ZS5jOjkxNAogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIgb2Jzb2xldG8gKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgcGFyYSByZW1vdmVyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE2CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiIgogImJyYW5jaC4lcy5tZXJnZSBpbnbDoWxpZG87IG7Do28gw6kgcG9zc8OtdmVsIHJlYmFzZWFyIHNvYnJlIG1haXMgZG8gcXVlIHVtIHJhbW8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCisjOiBidWlsdGluL3JlbW90ZS5jOjk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInJlYmFzZWlhIGludGVyYXRpdmFtZW50ZSBzb2JyZSAlcyBkbyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICJyZWJhc2VpYSBzb2JyZSAlcyBkbyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjk2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIgaW50ZWdyYSBjb20gJXMgZG8gcmVtb3RvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJpbnRlZ3JhIGNvbSAlcyBkbyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjOiBidWlsdGluL3JlbW90ZS5jOjk3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgogbXNnc3RyICIlLSpzICAgIGUgY29tIG8gJXMgZG8gcmVtb3RvXG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE4CiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICJjcmlhZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIxCiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICJlbGltaW5hZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI1CiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAiYXR1YWxpemFkbyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjgKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICJwb2RlIHNlciBhdmFuw6dhZG8gcmFwaWRhbWVudGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMxCiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgImxvY2FsIGRlc2F0dWFsaXphZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIGZvcsOnYSBlbSAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIHB1YmxpY2EgZW0gJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIGZvcsOnYSBlbSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBwdWJsaWNhIGVtICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNgogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJuw6NvIGNvbnN1bHRhciByZW1vdG9zIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiByZW1vdG8gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICBPYnRlciAgICBkbyBVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDMgYnVpbHRpbi9yZW1vdGUuYzoxMTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ1IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjEyOTcKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKG5lbmh1bSBVUkwpIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAogIy4gdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAgUHVibGljYXIgbm8gVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIgYnVpbHRpbi9yZW1vdGUuYzoxMTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIFJhbW8gSEVBRDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwCiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiKG7Do28gY29uc3VsdGFkbykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYyCiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIoZGVzY29uaGVjaWRvKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjExNjYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgorbXNnaWQgIiIKKyIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiAgUmFtbyBIRUFEIChvIHJlbW90byBIRUFEIMOpIGFtYsOtZ3VvLCBwb2RlIHNlciB1bSBkb3Mgc2VndWludGVzKTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKIG1zZ3N0clswXSAiICBSYW1vIHJlbW90bzolcyIKIG1zZ3N0clsxXSAiICBSYW1vcyByZW1vdG9zOiVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMjA1CisjOiBidWlsdGluL3JlbW90ZS5jOjExODEgYnVpbHRpbi9yZW1vdGUuYzoxMjA3CiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICIgKGVzdGFkbyBuw6NvIGNvbnN1bHRhZG8pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5MAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIFJhbW8gbG9jYWwgY29uZmlndXJhZG8gcGFyYSAnZ2l0IHB1bGwnOiIKIG1zZ3N0clsxXSAiICBSYW1vcyBsb2NhaXMgY29uZmlndXJhZG9zIHBhcmEgJ2dpdCBwdWxsJzoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk4CiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICBSZWZlcsOqbmNpYXMgbG9jYWlzIHNlcsOjbyByZWZsZXRpZGFzIChtaXJyb3IpIHBvciAnZ2l0IHB1c2gnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICBSZWZlcsOqbmNpYSBsb2NhbCBjb25maWd1cmFkYSBwYXJhICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMV0gIiAgUmVmZXLDqm5jaWFzIGxvY2FpcyBjb25maWd1cmFkYXMgcGFyYSAnZ2l0IHB1c2gnJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAiZGVmaW5pciByZWZzL3JlbW90ZXMvPG5vbWU+L0hFQUQgZGUgYWNvcmRvIGNvbSBvIHJlbW90byIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjcKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJlbGltaW5hciByZWZzL3JlbW90ZXMvPG5vbWU+L0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBvIHJlbW90byBIRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0NAogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICJNw7psdGlwbG9zIHJhbW9zIEhFQUQgcmVtb3Rvcy4gRXNjb2xoYSB1bSBleHBsaWNpdGFtZW50ZSBjb206IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZWxpbWluYXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIlJlZmVyw6puY2lhIGludsOhbGlkYTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBmaWNhcsOhIHN1c3BlbnNvISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgZmljb3Ugc3VzcGVuc28hIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICJBIGVsaW1pbmFyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBbZWxpbWluYXJpYV0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIgKiBbZWxpbWluYWRvXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzU2CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNTgKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICJlbGltaW5hciByZW1vdG9zIGRlcG9pcyBkZSBvYnRlciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDE5IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3MyBidWlsdGluL3JlbW90ZS5jOjE1NDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQyMSBidWlsdGluL3JlbW90ZS5jOjE0NzUgYnVpbHRpbi9yZW1vdGUuYzoxNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIlJlbW90byBpbmV4aXN0ZW50ZSAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNwogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgImFkaWNpb25hciByYW1vIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0NAogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgIm5lbmh1bSByZW1vdG8gZXNwZWNpZmljYWRvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICJjb25zdWx0YXIgVVJMcyBkZSBwdWJsaWNhw6fDo28gZW0gdmV6IGRlIFVSTHMgdXRpbGl6YWRvcyBwYXJhIG9idGVyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MwogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAicmV0b3JuYXIgdG9kb3Mgb3MgVVJMcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CisjOiBidWlsdGluL3JlbW90ZS5jOjE0OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKIG1zZ3N0ciAibyByZW1vdG8gJyVzJyBuw6NvIHRlbSBuZW5odW0gVVJMIGNvbmZpZ3VyYWRvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNwogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJtYW5pcHVsYXIgVVJMcyBkZSBwdWJsaWNhw6fDo28iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE5CiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAiYWRpY2lvbmFyIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjEKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAiZWxpbWluYXIgVVJMcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjgKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tYWRkIC0tZGVsZXRlIG7Do28gZmF6IHNlbnRpZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAiUGFkcsOjbyBkZSBVUkwgYW50aWdvIGludsOhbGlkbzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAiVVJMIG7Do28gZW5jb250cmFkbzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc5CiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCByZW1vdmVyIHRvZG9zIG9zIFVSTHMgZGUgbsOjbyBwdWJsaWNhw6fDo28iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkzCiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAic2VyIHZlcmJvc287IGRldmUgc2VyIGNvbG9jYWRvIGFudGVzIGRlIHVtIHN1YmNvbWFuZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgIlN1YmNvbWFuZG8gZGVzY29uaGVjaWRvOiAlcyIKQEAgLTEyMDc5LDY5ICsxMjM2OSw2OSBAQAogbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXRvPl0gWy1sIFs8cGFkcsOjbz5dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI1IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MyBidWlsdGluL3JlcGxhY2UuYzozOTEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyOSBidWlsdGluL3JlcGxhY2UuYzozNjcgYnVpbHRpbi9yZXBsYWNlLmM6Mzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICJOb21lIGRlIG9iamV0byBpbnbDoWxpZG86ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAibWVyZ2V0YWcgaW5jb3JyZXRhIG5vIGNvbW1pdCAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgIm1lcmdldGFnIG1hbGZvcm1hZGEgbm8gY29tbWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvcmlnaW5hbCBjb21taXQgJyVzJyBjb250YWlucyBtZXJnZXRhZyAnJXMnIHRoYXQgaXMgZGlzY2FyZGVkOyB1c2UgLS1lZGl0ICIKICJpbnN0ZWFkIG9mIC0tZ3JhZnQiCiBtc2dzdHIgIiIKLSJvIGNvbW1pdCBvcmlnaW5hbCAnJXMnIGNvbnTDqW0gYSBtZXJnZXRhZyAnJXMnIHF1ZSBmb2kgZXhjbHXDrWRhOyB1c2UgLS1lZGl0IGVtICIKLSJ2ZXogZGUgLS1ncmFmdCIKKyJvIGNvbW1pdCBvcmlnaW5hbCAnJXMnIGNvbnTDqW0gYSBtZXJnZXRhZyAnJXMnIHF1ZSBmb2kgZXhjbHXDrWRhOyB1c2UgLS1lZGl0ICIKKyJlbSB2ZXogZGUgLS1ncmFmdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG9yaWdpbmFsIGNvbW1pdCAnJXMnIGhhcyBhIGdwZyBzaWduYXR1cmUuIgogbXNnc3RyICJvIGNvbW1pdCBvcmlnaW5hbCAnJXMnIHRlbSB1bWEgYXNzaW5hdHVyYSBncGcuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNgogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICJhIGFzc2luYXR1cmEgc2Vyw6EgcmVtb3ZpZGEgZG8gY29tbWl0IHN1cGxlbnRlISIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBvIGNvbW1pdCBzdXBsZW50ZSBkZTogJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzYKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAibGlzdGFyIHJlZmVyw6puY2lhcyBzdWJzdGl0dcOtZGFzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNwogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgImVsaW1pbmFyIHJlZmVyw6puY2lhcyBzdWJzdGl0dcOtZGFzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAogbXNnaWQgImVkaXQgZXhpc3Rpbmcgb2JqZWN0IgogbXNnc3RyICJlZGl0YXIgb2JqZXRvIGV4aXN0ZW50ZSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM1CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzkKIG1zZ2lkICJjaGFuZ2UgYSBjb21taXQncyBwYXJlbnRzIgogbXNnc3RyICJtdWRhciBvcyBwYWlzIGRlIHVtIGNvbW1pdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM2CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDAKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICJzdWJzdGl0dWlyIGEgcmVmZXLDqm5jaWEgc2UgZXN0YSBleGlzdGlyIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MQogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAibsOjbyBtb3N0cmFyIG8gY29udGXDumRvIGRlIC0tZWRpdCBjb20gaW1wcmVzc8OjbyBib25pdGEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQyCiBtc2dpZCAidXNlIHRoaXMgZm9ybWF0IgogbXNnc3RyICJ1c2FyIGVzdGUgZm9ybWF0byIKIApAQCAtMTIxNTUsNyArMTI0NDUsOCBAQAogbXNnc3RyICJyZWdpc3RhciByZXNvbHXDp8O1ZXMgbGltcGFzIG5vIMOtbmRpY2UiCiAKICM6IGJ1aWx0aW4vcmVzZXQuYzoyNgotbXNnaWQgImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKK21zZ2lkICIiCisiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogbXNnc3RyICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogCkBAIC0xMjI4NCwyMyArMTI1NzUsMjMgQEAKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgInJldi1saXN0IG7Do28gc3Vwb3J0YSBhcHJlc2VudGHDp8OjbyBkZSBub3RhcyIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTEKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkzCiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcMOnw7Vlcz5dIC0tIFs8YXJndW1lbnRvcz4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTgKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgImNvbnNlcnZhciAnLS0nIHBhc3NhZG8gY29tbyBhcmd1bWVudG8iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMAogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAicGFyYXIgZGUgYW5hbGlzYXIgZGVwb2lzIGRvIHByaW1laXJvIGFyZ3VtZW50byBxdWUgbsOjbyBzZWphIHVtYSBvcMOnw6NvIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDMKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICJtb3N0cmFyIGVtIGZvcm1hdG8gZml4byBlIGxvbmdvIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzMgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MzQKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xMjMzMSw2OCArMTI2MjIsNzIgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmRvPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo3MQorIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXM6ICVzIG7Do28gcG9kZSBzZXIgdXNhZG8gY29tICVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgwCisjOiBidWlsdGluL3JldmVydC5jOjk4CiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAidGVybWluYXIgcmV2ZXJzw6NvIG91IGNoZXJyeS1waWNrIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgxCisjOiBidWlsdGluL3JldmVydC5jOjk5CiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAicmV0b21hciBhIHJldmVyc8OjbyBvdSBjaGVycnktcGljayIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJjYW5jZWxhciByZXZlcnPDo28gb3UgY2hlcnJ5LXBpY2siCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgIm7Do28gc3VibWV0ZXIgYXV0b21hdGljYW1lbnRlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjg0CisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJlZGl0YXIgYSBtZW5zYWdlbSBkZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKLW1zZ2lkICJwYXJlbnQgbnVtYmVyIgotbXNnc3RyICJuw7ptZXJvIGRlIHBhaSIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1Cittc2dpZCAicGFyZW50LW51bWJlciIKK21zZ3N0ciAibsO6bWVyby1wYWkiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2Cittc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKK21zZ3N0ciAic2VsZWNpb25hciBwYWkgcHJpbmNpcGFsIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwOAogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJlc3RyYXTDqWdpYSBkZSBpbnRlZ3Jhw6fDo28iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICJvcMOnw6NvIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9ww6fDo28gZGUgZXN0cmF0w6lnaWEgZGUgaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTkKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgImFjcmVzY2VudGFyIG5vbWUgZG8gY29tbWl0IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjEKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicHJlc2VydmFyIGNvbW1pdHMgaW5pY2lhbG1lbnRlIHZhemlvcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIyCiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJwZXJtaXRpciBjb21taXRzIGNvbSBtZW5zYWdlbnMgdmF6aWFzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjMKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAibWFudGVyIGNvbW1pdHMgcmVkdW5kYW50ZXMgZSB2YXppb3MiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTkyCisjOiBidWlsdGluL3JldmVydC5jOjIxMQogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIHJldmVydGVyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIwNQorIzogYnVpbHRpbi9yZXZlcnQuYzoyMjQKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGVmZXR1YXIgY2hlcnJ5LXBpY2siCiAKQEAgLTEyNDg3LDQ5ICsxMjc4Miw1MSBAQAogImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC0iCiAicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPGhvc3Q+Ol08ZGlyZXTDs3Jpbz4gIgogIls8cmVmZXLDqm5jaWE+Li4uXVxuIgotIiAgLS1hbGwgZSBlc3BlY2lmaWNhw6fDo28gZXhwbGljaXRhIGR1bWEgPHJlZmVyw6puY2lhPiBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZvcy4iCisiICAtLWFsbCBlIGVzcGVjaWZpY2HDp8OjbyBleHBsaWNpdGEgZHVtYSA8cmVmZXLDqm5jaWE+IHPDo28gbXV0dWFtZW50ZSAiCisiZXhjbHVzaXZvcy4iCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYwCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQogbXNnaWQgInJlbW90ZSBuYW1lIgogbXNnc3RyICJub21lIGRvIHJlbW90byIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAidXNlIHN0YXRlbGVzcyBSUEMgcHJvdG9jb2wiCiBtc2dzdHIgInVzZSBwcm90b2NvbG8gUlBDIHNlbSBlc3RhZG8iCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgogbXNnaWQgInJlYWQgcmVmcyBmcm9tIHN0ZGluIgogbXNnc3RyICJsZXIgcmVmZXLDqm5jaWFzIGRvIHN0ZGluIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MworIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzcKIG1zZ2lkICJwcmludCBzdGF0dXMgZnJvbSByZW1vdGUgaGVscGVyIgogbXNnc3RyICJpbXByaW1pciBlc3RhZG8gZG8gcHJvZ3JhbWEgYXV4aWxpYXIgcmVtb3RvIgogCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MTMKIG1zZ2lkICJnaXQgc2hvcnRsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIFs8cGF0aD4uLi5dXSIKLW1zZ3N0ciAiZ2l0IHNob3J0bG9nIFs8b3DDp8O1ZXM+XSBbPGludGVydmFsby1kZS1yZXZpc8O1ZXM+XSBbWy0tXSBbPGNhbWluaG8+Li4uXV0iCittc2dzdHIgIiIKKyJnaXQgc2hvcnRsb2cgWzxvcMOnw7Vlcz5dIFs8aW50ZXJ2YWxvLWRlLXJldmlzw7Vlcz5dIFtbLS1dIFs8Y2FtaW5obz4uLi5dXSIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI0OQorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI0OAogbXNnaWQgIkdyb3VwIGJ5IGNvbW1pdHRlciByYXRoZXIgdGhhbiBhdXRob3IiCiBtc2dzdHIgImFncnVwYXIgcG9yIGNvbW1pdHRlciBlbSB2ZXogZGUgYXV0b3IiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTEKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTAKIG1zZ2lkICJzb3J0IG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlIG51bWJlciBvZiBjb21taXRzIHBlciBhdXRob3IiCiBtc2dzdHIgIm9yZGVuYXIgc2HDrWRhIGRlIGFjb3JkbyBjb20gbyBuw7ptZXJvIGRlIGNvbW1pdHMgcG9yIGF1dG9yIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjUzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjUyCiBtc2dpZCAiU3VwcHJlc3MgY29tbWl0IGRlc2NyaXB0aW9ucywgb25seSBwcm92aWRlcyBjb21taXQgY291bnQiCiBtc2dzdHIgInN1cHJpbWlyIGEgZGVzY3Jpw6fDo28gZG9zIGNvbW1pdHMsIGZvcm5lY2VyIGFwZW5hcyBvIG7Dum1lcm8gZGUgY29tbWl0cyIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI1NQorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI1NAogbXNnaWQgIlNob3cgdGhlIGVtYWlsIGFkZHJlc3Mgb2YgZWFjaCBhdXRob3IiCiBtc2dzdHIgIk1vc3RyYXIgbyBlbmRlcmXDp28gZGUgZS1tYWlsIGRlIGNhZGEgYXV0b3IiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTYKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTUKIG1zZ2lkICJ3WyxpMVssaTJdXSIKIG1zZ3N0ciAid1ssaTFbLGkyXV0iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTcKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTYKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgImFqdXN0YXIgbGluaGFzIgogCkBAIC0xMjU0OSwxMjIgKzEyODQ2LDEyMiBAQAogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIG1zZ3N0ciAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZmVyw6puY2lhPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZiIKIG1zZ2lkX3BsdXJhbCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiCiBtc2dzdHJbMF0gImlnbm9yYXIgJXM7IG7Do28gw6kgcG9zc8OtdmVsIHByb2Nlc3NhciBtYWlzIGRvIHF1ZSAlZCByZWZlcsOqbmNpYSIKIG1zZ3N0clsxXSAiaW5nb3JhciAlczsgbsOjbyDDqSBwb3Nzw612ZWwgcHJvY2Vzc2FyIG1haXMgZG8gcXVlICVkIHJlZmVyw6puY2lhcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjUzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCiBtc2dzdHIgIm5lbmh1bWEgcmVmZXLDqm5jaWEgY29ycmVzcG9uZGUgY29tICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMyCiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJtb3N0cmFyIG9zIHJhbW9zIGRlIG1vbml0b3JpemHDp8OjbyByZW1vdG9zIGUgb3MgcmFtb3MgbG9jYWlzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM0CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgb3MgcmFtb3MgZGUgbW9uaXRvcml6YcOnw6NvIHJlbW90b3MiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzYKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICJjb2xvcmlyICcqISstJyBjb3JyZXNwb25kZW5kbyBhbyByYW1vIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM4CiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgIm1vc3RyYXIgbWFpcyA8bj4gY29tbWl0cyBkZXBvaXMgZG8gYW50ZWNlc3NvciBjb211bSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MAogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAic2luw7NuaW1vIGRlIG1vcmU9LTEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKIG1zZ3N0ciAic3VwcmltaXIgYSBjYWRlaWFzIGRlIGNhcmFjdGVyZXMgZGUgbm9tZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiaW5jbHVpciBvIHJhbW8gYXR1YWwiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgImRlc2lnbmFyIGNvbW1pdHMgcGVsb3Mgc2V1cyBub21lcyBkZSBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJtb3N0cmFyIHBvc3PDrXZlaXMgYmFzZXMgZGUgaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ5CiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAibW9zdHJhciByZWZlcsOqbmNpYXMgaW5hbGNhbsOnw6F2ZWlzIGEgcGFydGlyIGRlIG91dHJhcyByZWZlcsOqbmNpYXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIm1vc3RyYXIgY29tbWl0cyBlbSBvcmRlbSB0b3BvbMOzZ2ljYSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICJtb3N0cmFyIGFwZW5hcyBjb21taXRzIG7Do28gcHJlc2VudGVzIG5vIHByaW1laXJvIHJhbW8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIm1vc3RyYXIgaW50ZWdyYcOnw7VlcyBhbGNhbsOnw6F2ZWlzIGEgcGFydGlyIGR1bWEgw7puaWNhIHBvbnRhIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICIiCiAib3JkZW5hciB0b3BvbG9naWNhbWVudGUsIG1hbnRlbmRvIGEgb3JkZW5hw6fDo28gcG9yIGRhdGEgc2VtcHJlIHF1ZSBwb3Nzw612ZWwiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhc2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MgogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICJtb3N0cmFyIGFzIDxuPiBlbnRyYWRhcyBkZSByZWYtbG9nIG1haXMgcmVjZW50ZSBhIHBhcnRpciBkYSBiYXNlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzAzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njk2CiBtc2dpZCAiIgogIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgogbXNnc3RyICIiCiAiLS1yZWZsb2cgw6kgaW5jb21wYXTDrXZlbCBjb20gLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjAKIG1zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgogbXNnc3RyICJuZW5odW0gcmFtbyBmb3JuZWNpZG8gZSBIRUFEIG7Do28gw6kgdsOhbGlkYSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyMwogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgImEgb3DDp8OjbyAtLXJlZmxvZyBwcmVjaXNhIGRvIG5vbWUgZGUgdW0gcmFtbyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnc3RyWzBdICJhcGVuYXMgJWQgZW50cmFkYSBwb2RlbSBzZXIgbW9zdHJhZGFzIG5lc3RlIG1vbWVudG8uIgogbXNnc3RyWzFdICJhcGVuYXMgJWQgZW50cmFkYXMgcG9kZW0gc2VyIG1vc3RyYWRhcyBuZXN0ZSBtb21lbnRvLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHJlZiAlcyIKIG1zZ3N0ciAicmVmZXLDqm5jaWEgaW5leGlzdGVudGUgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCiBtc2dzdHJbMF0gIm7Do28gw6kgcG9zc8OtdmVsIHByb2Nlc3NhciBtYWlzIGRvIHF1ZSAlZCByZXZpc8Ojby4iCiBtc2dzdHJbMV0gIm7Do28gw6kgcG9zc8OtdmVsIHByb2Nlc3NhciBtYWlzIGRvIHF1ZSAlZCByZXZpc8O1ZXMuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiJyVzJyBuw6NvIMOpIHVtYSByZWZlcsOqbmNpYSB2w6FsaWRhLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZW5jb250cmFyIG8gY29tbWl0ICVzICglcykiCkBAIC0xMjY5Miw3ICsxMjk4OSw4IEBACiAjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYxCiBtc2dpZCAic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCByZXF1aXJlcyBleGFjdCByZWYgcGF0aCIKIG1zZ3N0ciAiIgotInZlcmlmaWNhw6fDo28gZGUgcmVmZXLDqm5jaWFzIG1haXMgcmlnb3Jvc2EsIHJlcXVlciBvIGNhbWluaG8gZXhhdG8gZGEgcmVmZXLDqm5jaWEiCisidmVyaWZpY2HDp8OjbyBkZSByZWZlcsOqbmNpYXMgbWFpcyByaWdvcm9zYSwgcmVxdWVyIG8gY2FtaW5obyBleGF0byBkYSAiCisicmVmZXLDqm5jaWEiCiAKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjQgYnVpbHRpbi9zaG93LXJlZi5jOjE2NgogbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKQEAgLTEyNzMxLDEyICsxMzAyOSwxMiBAQAogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAicHJlY2VkZXIgY2FkYSBsaW5oYSBjb20gdW0gY2Fyw6FjdGVyIGRlIGNvbWVudMOhcmlvIGUgdW0gZXNwYcOnbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICJSZWZlcsOqbmNpYSBpbmV4aXN0ZW50ZTogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAiRXNwZXJhdmEtc2UgdW0gbm9tZSBjb21wbGV0byBkZSB1bWEgcmVmZXLDqm5jaWEsIG9idGV2ZS1zZSAlcyIKQEAgLTEyNzQ2LDkzICsxMzA0NCwxMDIgQEAKIG1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIHRpcmFyIHVtIGNvbXBvbmVudGUgZG8gVVJMICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMwNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiw6JuY29yYSBhbHRlcm5hdGl2YSBwYXJhIGNhbWluaG9zIHJlbGF0aXZvcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxMAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PGNhbWluaG8+XSBbPGNhbWluaG8+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMzMyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQ3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzU2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICJOZW5odW0gVVJMIGVuY29udHJhZG8gcGFyYSBvIGNhbWluaG8gZGUgc3VibcOzZHVsbyAnJXMnIGVtIC5naXRtb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgbG9va3VwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgorImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgorbXNnc3RyICIiCisibsOjbyDDqSBwb3Nzw612ZWwgZW5jb250cmFyIGNvbmZpZ3VyYcOnw6NvICclcycuIEFzc3VtaXIgcXVlIGVzdGUgcmVwb3NpdMOzcmlvIMOpIG8gIgorInByw7NwcmlvIHJlcG9zaXTDs3JpbyBhIG1vbnRhbnRlIGF1dG9yaXTDoXJpby4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiRmFsaGEgYW8gcmVnaXN0YXIgbyBVUkwgZG8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiU3VibcOzZHVsbyAnJXMnICglcykgcmVnaXN0YWRvIGNvbSBjYW1pbmhvICclcydcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAiYXZpc286IG1vZG8gZGUgYXR1YWxpemHDp8OjbyBkbyBjb21hbmRvIHN1Z2VyaWRvIHBhcmEgbyBzdWJtw7NkdWxvICclcydcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM5NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIkZhbGhhIGFvIHJlZ2lzdGFyIG8gbW9kbyBkZSBhdHVhbGl6YcOnw6NvIGRvIGNhbWluaG8gZGUgc3VibcOzZHVsbyAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQzCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIlN1cHJpbWlyIGEgc2HDrWRhIGFvIGluaWNpYWxpemFyIHVtIHN1Ym3Ds2R1bG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxjYW1pbmhvPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzYKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxjYW1pbmhvPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAibmVuaHVtIG1hcGVhbWVudG8gZGUgc3VibcOzZHVsbyBkbyBjYW1pbmhvICclcycgZW5jb250cmFkbyBlbSAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgogbXNnc3RyICJvIHN1Ym3Ds2R1bG8gJyVzJyBuw6NvIHBvZGUgYWRpY2lvbmFyIHNvYnJlc3NhbGVudGU6ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJPIHZhbG9yICclcycgZGUgc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgbsOjbyDDqSByZWNvbmhlY2lkbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIk8gdmFsb3IgJyVzJyBkZSBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gbsOjbyDDqSByZWNvbmhlY2lkbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICJzw610aW8gcGFyYSBhb25kZSBvIG5vdm8gc3VibcOzZHVsbyBzZXLDoSBjbG9uYWRvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM2CiBtc2dpZCAibmFtZSBvZiB0aGUgbmV3IHN1Ym1vZHVsZSIKIG1zZ3N0ciAibm9tZSBkbyBub3ZvIHN1Ym3Ds2R1bG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICJ1cmwgZG9uZGUgY2xvbmFyIG8gc3VibcOzZHVsb3MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDUKIG1zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCiBtc2dzdHIgInByb2Z1bmRpZGFkZSBkZSBjbG9uZXMgcmFzb3MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkzCiBtc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAiZm9yw6dhciBwcm9ncmVzc28gZGEgY2xvbmFnZW0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTMKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCkBAIC0xMjg0MCwxMjAgKzEzMTQ3LDExMCBAQAogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PGNhbWluaG8+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdMOzcmlvPl0gWy0tbmFtZSA8bm9tZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8Y2FtaW5obz4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyBjbG9uYXIgJyVzJyBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiBmaWxlICclcyciCi1tc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyIG8gZmljaGVpcm8gJyVzJyIKLQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIKLW1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZmVjaGFyIG8gZmljaGVpcm8gJXMiCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgbyBkaXJldMOzcmlvIGRvIHN1Ym3Ds2R1bG8gZGUgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAiQ2FtaW5obyBkZSBzdWJtw7NkdWxvICclcycgbsOjbyBpbmljaWFsaXphZG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiUHJldGVuZGlhIHVzYXIgJ3VwZGF0ZSAtLWluaXQnPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIkEgaWdub3JhciBzdWJtw7NkdWxvICVzIG7Do28gaW50ZWdyYWRvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJBIGlnbm9yYXIgc3VibcOzZHVsbyAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTI5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnLiBSZXRyeSBzY2hlZHVsZWQiCiBtc2dzdHIgIkZhbGhhIGFvIGNsb25hciAnJXMnLiBOb3ZhIHRlbnRhdGl2YSBhZ2VuZGFkYSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKIG1zZ3N0ciAiRmFsaGEgYW8gY2xvbmFyICclcycgcGVsYSBzZWd1bmRhIHZleiwgYWJvcnRhZG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjIKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiY2FtaW5obyBwYXJhIGEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NwogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgogbXNnc3RyICIiCiAiY2FtaW5obyBwYXJhIGEgw6Fydm9yZSBkZSB0cmFiYWxobywgYXRyYXZlc3NhbmRvIGxpbWl0ZXMgZGUgc3VibcOzZHVsb3MgIgogImFuaW5oYWRvcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MQogbXNnaWQgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG9yIG5vbmUiCiBtc2dzdHIgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG91IG5vbmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgImNyaWFyIHVtIGNsb25lIHJhc28sIHRydW5jYWRvIGFvIG7Dum1lcm8gZXNwZWNpZmljYWRvIGRlIHJldmlzw7VlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4OAogbXNnaWQgInBhcmFsbGVsIGpvYnMiCiBtc2dzdHIgInRyYWJhbGhvcyBlbSBwYXJhbGVsbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MAogbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKIG1zZ3N0ciAic2UgbyBjbG9uZSBpbmljaWFsIGRldmUgc2VndWlyIGEgcmVjb21lbmRhw6fDo28gcmFzYSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIm7Do28gaW1wcmltaXIgcHJvZ3Jlc3NvIGRhIGNsb25hZ2VtIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk4CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PGNhbWluaG8+XSBbPGNhbWluaG8+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDgKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgInZhbG9yIGluY29ycmV0byBubyBwYXLDom1ldHJvIHVwZGF0ZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0IHRoZSAiCi0ic3VwZXJwcm9qZWN0IGlzIG5vdCBvbiBhbnkgYnJhbmNoIgorIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgorInRoZSBzdXBlcnByb2plY3QgaXMgbm90IG9uIGFueSBicmFuY2giCiBtc2dzdHIgIiIKICJPIHJhbW8gZG8gc3VibcOzZHVsbyAoJXMpIGZvaSBjb25maWd1cmFkbyBwYXJhIGhlcmRhciBvIHJhbW8gZG8gc3VwZXJwcm9qZXRvLCAiCiAibWFzIG8gc3VwZXJwcm9qZXRvIG7Do28gZXN0w6EgZW0gbmVuaHVtIHJhbW8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MwogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICJwZXJjb3JyZXIgc3VibcOzZHVsb3MgcmVjdXJzaXZhbWVudGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2OQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPGNhbWluaG8+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNTcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjI2CiBtc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAibyBzdWJjb21hbmRvIHN1Ym1vZHVsZS0taGVscGVyIGRldmUgc2VyIGludm9jYWRvIGNvbSB1bSBzdWJjb21hbmRvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICIlcyBuw6NvIHN1cG9ydGEgLS1zdXBlci1wcmVmaXgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIzOQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiclcycgbsOjbyDDqSB1bSBzdWJjb21hbmRvIHbDoWxpZG8gZGUgc3VibW9kdWxlLS1oZWxwZXIiCkBAIC0xMjk4OSw3ICsxMzI4Niw4IEBACiAKICM6IGJ1aWx0aW4vdGFnLmM6MjMKIG1zZ2lkICIiCi0iZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl0gPHRhZ25hbWU+IFs8aGVhZD5dIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCisiWzxoZWFkPl0iCiBtc2dzdHIgIiIKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGlkLWNoYXZlPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmljaGVpcm8+XSA8bm9tZS1kYS0iCiAidGFnPiBbPGhlYWQ+XSIKQEAgLTEzMDAwLDMyICsxMzI5OCwyOSBAQAogCiAjOiBidWlsdGluL3RhZy5jOjI1CiBtc2dpZCAiIgotImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLXBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKKyJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgorInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKICJcdFx0Wy0tZm9ybWF0PTxmb3JtYXQ+XSBbLS1bbm8tXW1lcmdlZCBbPGNvbW1pdD5dXSBbPHBhdHRlcm4+Li4uXSIKIG1zZ3N0ciAiIgotImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLXBvaW50cy1hdCA8b2JqZXRvPl1cbiIKKyJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gIgorIlstLXBvaW50cy1hdCA8b2JqZXRvPl1cbiIKICJcdFx0Wy0tZm9ybWF0PTxmb3JtYXRvPl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYWRyw6NvPi4uLl0iCiAKICM6IGJ1aWx0aW4vdGFnLmM6MjcKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0bz5dIDxub21ldGFnPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzo4MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ0YWcgbmFtZSB0b28gbG9uZzogJS4qcy4uLiIKLW1zZ3N0ciAibyBub21lIGRhIHRhZyDDqSBkZW1hc2lhZG8gbG9uZ286ICUuKnMuLi4iCi0KLSM6IGJ1aWx0aW4vdGFnLmM6ODcKKyM6IGJ1aWx0aW4vdGFnLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAidGFnICclcycgbsOjbyBlbmNvbnRyYWRhLiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDIKKyM6IGJ1aWx0aW4vdGFnLmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJUYWcgJyVzJyBlbGltaW5hZGEgKGVyYSAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzEKKyM6IGJ1aWx0aW4vdGFnLmM6MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEzMDM4LDcgKzEzMzMzLDcgQEAKICIgICVzXG4iCiAiTGluaGEgY29tZcOnYWRhcyBjb20gJyVjJyBzZXLDo28gaWdub3JhZGFzLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzNQorIzogYnVpbHRpbi90YWcuYzoxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTMwNTIsMTM4ICsxMzM0NywxNjYgQEAKICIgICVzXG4iCiAiTGluaGFzIGNvbWXDp2FkYXMgY29tICclYycgc2Vyw6NvIG1hbnRpZGFzOyBwb2RlIHJlbW92w6otbGFzIHNlIG8gZGVzZWphci5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoyMTMKKyM6IGJ1aWx0aW4vdGFnLmM6MjEwCiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFzc2luYXIgYSB0YWciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjE1CisjOiBidWlsdGluL3RhZy5jOjIxMgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVzY3JldmVyIG8gZmljaGVpcm8gZGEgdGFnIgogCi0jOiBidWlsdGluL3RhZy5jOjI0MAorIzogYnVpbHRpbi90YWcuYzoyMzYKIG1zZ2lkICJiYWQgb2JqZWN0IHR5cGUuIgogbXNnc3RyICJ0aXBvIGRlIG9iamV0byBpbmNvcnJldG8uIgogCi0jOiBidWlsdGluL3RhZy5jOjI1MwotbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCi1tc2dzdHIgImNhYmXDp2FsaG8gZGEgdGFnIGRlbWFzaWFkbyBsb25nby4iCi0KLSM6IGJ1aWx0aW4vdGFnLmM6Mjg5CisjOiBidWlsdGluL3RhZy5jOjI4MgogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKIG1zZ3N0ciAic2VtIG1lbnNhZ2VtIGRlIHRhZz8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjk1CisjOiBidWlsdGluL3RhZy5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICJBIG1lbnNhZ2VtIGRhIHRhZyBmb2kgZ3VhcmRhZGEgZW0gJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozNTQKKyM6IGJ1aWx0aW4vdGFnLmM6MzEyCittc2dpZCAidGFnOiB0YWdnaW5nICIKK21zZ3N0ciAidGFnOiBhIGNvbG9jYXIgdGFnIgorCisjOiBidWlsdGluL3RhZy5jOjMyMAorbXNnaWQgIm9iamVjdCBvZiB1bmtub3duIHR5cGUiCittc2dzdHIgIm9iamV0byBkZSB0aXBvIGRlc2NvbmhlY2lkbyIKKworIzogYnVpbHRpbi90YWcuYzozMjcKK21zZ2lkICJjb21taXQgb2JqZWN0IgorbXNnc3RyICJvYmpldG8gY29tbWl0IgorCisjOiBidWlsdGluL3RhZy5jOjMzNQorbXNnaWQgInRyZWUgb2JqZWN0IgorbXNnc3RyICJvYmpldG8gw6Fydm9yZSIKKworIzogYnVpbHRpbi90YWcuYzozMzgKK21zZ2lkICJibG9iIG9iamVjdCIKK21zZ3N0ciAib2JqZXRvIGJsb2IiCisKKyM6IGJ1aWx0aW4vdGFnLmM6MzQxCittc2dpZCAib3RoZXIgdGFnIG9iamVjdCIKK21zZ3N0ciAib3V0cm8gb2JqZXRvIHRhZyIKKworIzogYnVpbHRpbi90YWcuYzozOTcKIG1zZ2lkICJsaXN0IHRhZyBuYW1lcyIKIG1zZ3N0ciAibGlzdGFyIG9zIG5vbWVzIGRhcyB0YWciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU2CisjOiBidWlsdGluL3RhZy5jOjM5OQogbXNnaWQgInByaW50IDxuPiBsaW5lcyBvZiBlYWNoIHRhZyBtZXNzYWdlIgogbXNnc3RyICJpbXByaW1pciA8bj4gbGluaGFzIGRlIGNhZGEgbWVuc2FnZW0gZGUgdGFnIgogCi0jOiBidWlsdGluL3RhZy5jOjM1OAorIzogYnVpbHRpbi90YWcuYzo0MDEKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAiZWxpbWluYXIgdGFncyIKIAotIzogYnVpbHRpbi90YWcuYzozNTkKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCiBtc2dpZCAidmVyaWZ5IHRhZ3MiCiBtc2dzdHIgInZlcmlmaWNhciB0YWdzIgogCi0jOiBidWlsdGluL3RhZy5jOjM2MQorIzogYnVpbHRpbi90YWcuYzo0MDQKIG1zZ2lkICJUYWcgY3JlYXRpb24gb3B0aW9ucyIKIG1zZ3N0ciAiT3DDp8O1ZXMgZGUgY3JpYcOnw6NvIGRlIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYzCisjOiBidWlsdGluL3RhZy5jOjQwNgogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAidGFnIGFub3RhZGEsIMOpIG5lY2Vzc8OhcmlvIHVtYSBtZW5zYWdlbSIKIAotIzogYnVpbHRpbi90YWcuYzozNjUKKyM6IGJ1aWx0aW4vdGFnLmM6NDA4CiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgIm1lbnNhZ2VtIGRhIHRhZyIKIAotIzogYnVpbHRpbi90YWcuYzozNjcKKyM6IGJ1aWx0aW4vdGFnLmM6NDEwCiBtc2dpZCAiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIKIG1zZ3N0ciAidGFnIGFub3RhZGEgZSBhc3NpbmFkYSBjb20gR1BHIgogCi0jOiBidWlsdGluL3RhZy5jOjM3MQorIzogYnVpbHRpbi90YWcuYzo0MTQKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJ1c2FyIG91dHJhIGNoYXZlIHBhcmEgYXNzaW5hciBhIHRhZyIKIAotIzogYnVpbHRpbi90YWcuYzozNzIKKyM6IGJ1aWx0aW4vdGFnLmM6NDE1CiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAic3Vic3RpdHVpciBhIHRhZyBzZSBlc3RhIGV4aXN0aXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzczIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OAorIzogYnVpbHRpbi90YWcuYzo0MTYgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY4CiBtc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgogbXNnc3RyICJjcmlhciB1bSByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc1CisjOiBidWlsdGluL3RhZy5jOjQxOAogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIk9ww6fDtWVzIGRlIGxpc3RhZ2VtIGRlIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc2CisjOiBidWlsdGluL3RhZy5jOjQxOQogbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKIG1zZ3N0ciAibW9zdHJhciBhIGxpc3RhIGRlIHRhZ3MgZW0gY29sdW5hcyIKIAotIzogYnVpbHRpbi90YWcuYzozNzcgYnVpbHRpbi90YWcuYzozNzgKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwIGJ1aWx0aW4vdGFnLmM6NDIyCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJpbXByaW1pciBhcGVuYXMgdGFncyBxdWUgY29udGVuaGFtIG8gY29tbWl0IgogCi0jOiBidWlsdGluL3RhZy5jOjM3OQorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi90YWcuYzo0MjMKK21zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgImltcHJpbWlyIGFwZW5hcyB0YWdzIHF1ZSBuw6NvIGNvbnRlbmhhbSBvIGNvbW1pdCIKKworIzogYnVpbHRpbi90YWcuYzo0MjQKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJpbXByaW1pciBhcGVuYXMgYXMgdGFncyBxdWUgZm9yYW0gaW50ZWdyYWRhcyIKIAotIzogYnVpbHRpbi90YWcuYzozODAKKyM6IGJ1aWx0aW4vdGFnLmM6NDI1CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImltcHJpbWlyIGFwZW5hcyBhcyB0YWdzIHF1ZSBuw6NvIGZvcmFtIGludGVncmFkYXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg1CisjOiBidWlsdGluL3RhZy5jOjQzMAogbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJpbXByaW1pciBhcGVuYXMgYXMgdGFncyBkbyBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE1CisjOiBidWlsdGluL3RhZy5jOjQ2OQogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiBlIC1uIHPDo28gaW5jb21wYXTDrXZlaXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDM3Ci1tc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAiYSBvcMOnw6NvIC1uIHPDsyDDqSBwZXJtaXRpZGEgY29tIC1sLiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDkxCittc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgImEgb3DDp8OjbyAtbiBzw7Mgw6kgcGVybWl0aWRhIG5vIG1vZG8gbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDM5Ci1tc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICJhIG9ww6fDo28gLS1jb250YWlucyBzw7Mgw6kgcGVybWl0aWRhIGNvbSAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5MworbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgImEgb3DDp8OjbyAtLWNvbnRhaW5zIHPDsyDDqSBwZXJtaXRpZGEgbm8gbW9kbyBsaXN0YSIKIAotIzogYnVpbHRpbi90YWcuYzo0NDEKLW1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICJhIG9ww6fDo28gLS1wb2ludHMtYXQgc8OzIMOpIHBlcm1pdGlkYSBjb20gLWwuIgorIzogYnVpbHRpbi90YWcuYzo0OTUKK21zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJhIG9ww6fDo28gLS1jb250YWlucyBzw7Mgw6kgcGVybWl0aWRhIG5vIG1vZG8gbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDQzCi1tc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbiBhcmUgb25seSBhbGxvd2VkIHdpdGggLWwiCi1tc2dzdHIgImFzIG9ww6fDtWVzIC0tbWVyZ2VkIGUgLS1uby1tZXJnZWQgc8OzIHPDo28gcGVybWl0aWRhcyBjb20gLWwiCisjOiBidWlsdGluL3RhZy5jOjQ5NworbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJhIG9ww6fDo28gLS1wb2ludHMtYXQgc8OzIMOpIHBlcm1pdGlkYSBubyBtb2RvIGxpc3RhIgogCi0jOiBidWlsdGluL3RhZy5jOjQ1NAorIzogYnVpbHRpbi90YWcuYzo0OTkKK21zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiYXMgb3DDp8O1ZXMgLS1tZXJnZWQgZSAtLW5vLW1lcmdlZCBzw7Mgc8OjbyBwZXJtaXRpZGFzIG5vIG1vZG8gbGlzdGEiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTEwCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICJzw7Mgw6kgcGVybWl0aWRvIHVtIG9ww6fDo28gLUYgb3UgLW0uIgogCi0jOiBidWlsdGluL3RhZy5jOjQ3MworIzogYnVpbHRpbi90YWcuYzo1MjkKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgImRlbWFzaWFkbyBwYXLDom1ldHJvcyIKIAotIzogYnVpbHRpbi90YWcuYzo0NzkKKyM6IGJ1aWx0aW4vdGFnLmM6NTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIG7Do28gw6kgdW0gbm9tZSBkZSB0YWcgdsOhbGlkby4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg0CisjOiBidWlsdGluL3RhZy5jOjU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiYSB0YWcgJyVzJyBqw6EgZXhpc3RlIgogCi0jOiBidWlsdGluL3RhZy5jOjUxMgorIzogYnVpbHRpbi90YWcuYzo1NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJUYWcgJyVzJyBhdHVhbGl6YWRhIChlcmEgJXMpXG4iCkBAIC0xMzIxMiwxNzYgKzEzNTM1LDE5MyBAQAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKIG1zZ3N0ciAiZmFsaGEgYW8gZWxpbWluYXIgbyBmaWNoZWlybyAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTAgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJmYWxoYSBhbyBlbGltaW5hciBvIGRpcmV0w7NyaW8gJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICJBIHRlc3RhciBtdGltZSBlbSAnJXMnICIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQ5CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZpbGUiCiBtc2dzdHIgIiIKICJhIGluZm9ybWHDp8OjbyBkZSBzdGF0IGRvIGRpcmV0w7NyaW8gbsOjbyBtdWRvdSBkZXBvaXMgZGUgYWRpY2lvbmFyIHVtIG5vdm8gIgogImZpY2hlaXJvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjIKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAiYSBpbmZvcm1hw6fDo28gZGUgc3RhdCBkbyBkaXJldMOzcmlvIG7Do28gbXVkb3UgZGVwb2lzIGRlIGFkaWNpb25hciB1bSBub3ZvICIKICJkaXJldMOzcmlvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzUKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgogbXNnc3RyICJhIGluZm9ybWHDp8OjbyBkZSBzdGF0IG11ZG91IGRlcG9pcyBkZSBhdHVhbGl6YXIgdW0gZmljaGVpcm8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4NgogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJhIGluZm9ybWHDp8OjbyBkZSBzdGF0IGRvIGRpcmV0w7NyaW8gbXVkb3UgZGVwb2lzIGRlIGFkaWNpb25hciB1bSBmaWNoZWlybyAiCiAiZGVudHJvIGR1bSBzdWJkaXJldMOzcmlvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTcKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgIiIKICJhIGluZm9ybWHDp8OjbyBkZSBzdGF0IGRvIGRpcmV0w7NyaW8gbsOjbyBtdWRvdSBkZXBvaXMgZGUgZWxpbWluYXIgdW0gZmljaGVpcm8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAiYSBpbmZvcm1hw6fDo28gZGUgc3RhdCBkbyBkaXJldMOzcmlvIG7Do28gbXVkb3UgZGVwb2lzIGRlIGVsaW1pbmFyIHVtIGRpcmV0w7NyaW8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNwogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIE9LIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjgKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxvcMOnw7Vlcz5dIFstLV0gWzxmaWNoZWlybz4uLi5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjMKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgImNvbnRpbnVhciBhIHJlZnJlc2NhciBtZXNtbyBxdWFuZG8gbyDDrW5kaWNlIHByZWNpc2UgZGUgc2VyIGF0dWFsaXphZG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNgogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWZyZXNjYXI6IGlnbm9yYXIgc3VibcOzZHVsb3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyOQogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICJuw6NvIGlnbm9yYXIgbm92b3MgZmljaGVpcm9zIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAiZGVpeGFyIHF1ZSBvcyBmaWNoZWlyb3Mgc3Vic3RpdHVhbSBvcyBkaXJldMOzcmlvcyBlIHZpY2UtdmVyc2EiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMwogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImF2aXNhciBzb2JyZSBmaWNoZWlyb3MgcXVlIGZhbHRlbSBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzUKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAicmVmcmVzY2FyIG1lc21vIHF1ZSBvIMOtbmRpY2UgY29udGVuaGEgZW50cmFkYXMgbsOjbyBpbnRlZ3JhZGFzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgInJlZnJlc2NhciBpbmZvcm1hw6fDo28gZGUgc3RhdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQyCiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJjb21vIC0tcmVmcmVzaCwgbWFzIGlnbm9yYXIgYSBkZWZpbmnDp8OjbyBhc3N1bWUtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDYKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8bW9kbz4sPG9iamV0bz4sPGNhbWluaG8+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFkaWNpb25hciBvIGVsZW1lbnRvIGVzcGVjaWZpY2FkbyBhbyDDrW5kaWNlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTYKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIm1hcmNhciBmaWNoZWlyb3MgY29tbyBcIm7Do28gYWx0ZXJhZG9zXCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OQogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAibGltcGFyIG8gYml0IGFzc3VtZWQtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjIKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICJtYXJjYXIgZmljaGVpcm9zIGNvbW8gXCLDum5pY29zIGRvIMOtbmRpY2VcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY1CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgImxpbXBhciBvIGJpdCBpZ25vcmFyLcOhcnZvcmUtZGUtdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAic8OzIGFkaWNpb25hciBhbyDDrW5kaWNlOyBuw6NvIGFkaWNpb25hciBvIGNvbnRlw7pkbyDDoCBiYXNlIGRlIGRhZG9zIGRlIG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MAogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKICJyZW1vdmVyIG9zIGNhbWluaG9zIG1lbmNpb25hZG8gbWVzbW8gc2UgZXN0aXZlcmVtIHByZXNlbnRlcyBuYSDDoXJ2b3JlIGRlICIKICJ0cmFiYWxobyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcyCiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICJjb20gLS1zdGRpbjogYXMgbGluaGFzIGRhIGVudHJhZGEgc8OjbyB0ZXJtaW5hZGFzIGNvbSBieXRlcyBudWxvcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGVyIGxpc3RhIGRlIGNhbWluaG8gYSBhdHVhbGl6YXIgZGEgZW50cmFkYSBwYWRyw6NvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWRpY2lvbmFyIGVsZW1lbnRvcyBkYSBlbnRyYWRhIHBhZHLDo28gYW8gw61uZGljZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICJyZXBvdm9hciBhcyBmYXNlcyBuwroyIGUgbsK6MyBkb3MgY2FtaW5ob3MgbGlzdGFkb3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICJhdHVhbGl6YXIgYXBlbmFzIGVsZW1lbnRvcyBxdWUgZGlmaXJhbSBkZSBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTAKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJpZ25vcmFyIGZpY2hlaXJvcyBuw6NvIHByZXNlbnRlcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYXIgYcOnw7VlcyBuYSBzYcOtZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKLW1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKLW1zZ3N0ciAiKHBhcmEgcG9yY2VsYW5hcykgZXNxdWVjZXIgY29uZmxpdG9zIGd1YXJkYWRvcyBxdWUgbsOjbyBmb3JhbSByZXNvbHZpZG9zIgotCiAjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NQorbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgorbXNnc3RyICIiCisiKHBhcmEgcG9yY2VsYW5hcykgZXNxdWVjZXIgY29uZmxpdG9zIGd1YXJkYWRvcyBxdWUgbsOjbyBmb3JhbSByZXNvbHZpZG9zIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICJlc2NyZXZlciBvIMOtbmRpY2UgbmVzdGUgZm9ybWF0byIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJhdGl2YXIgb3UgZGVzYXRpdmFyIGEgZGl2aXPDo28gZG8gw61uZGljZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMwogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAiYXRpdmFyIG91IGRlc2F0aXZhciBjYWNoZSBuw6NvIGNvbnRyb2xhZGEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA1CiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgInRlc3RhciBzZSBvIHNpc3RlbWEgZGUgZmljaGVpcm9zIHN1cG9ydGEgY2FjaGUgbsOjbyBjb250cm9sYWRhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNwogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICJhdGl2YXIgY2FjaGUgbsOjbyBjb250cm9sYWRhIHNlbSB0ZXN0YXIgbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMDcKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJlbmFibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKyJjb3JlLnNwbGl0SW5kZXggZXN0w6EgZGVmaW5pZGEgY29tbyBmYWxzZTsgcmVtb3ZhIG91IGFsdGVyZS1hIHNlIHByZXRlbmRlICIKKyJtZXNtbyBhdGl2YXIgw61uZGljZSBzZXBhcmFkbyIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTE2Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJkaXNhYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisiY29yZS5zcGxpdEluZGV4IGVzdMOhIGRlZmluaWRhIGNvbW8gdHJ1ZTsgcmVtb3ZhIG91IGFsdGVyZS1hIHNlIHByZXRlbmRlICIKKyJtZXNtbyBkZXNhdGl2YXIgw61uZGljZSBzZXBhcmFkbyIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTI3CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTMzODksMTEgKzEzNzI5LDExIEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSBlc3TDoSBkZWZpbmlkYSBjb21vIHRydWU7IHJlbW92YSBvdSBhbHRlcmUtYSBzZSBwcmV0ZW5kZSAiCiAibWVzbW8gZGVzYXRpdmFyIGEgY2FjaGUgbsOjbyBjb250cm9sYWRhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMQogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBkaXNhYmxlZCIKIG1zZ3N0ciAiQSBjYWNoZSBuw6NvIGNvbnRyb2xhZGEgZXN0w6EgZGVzYXRpdmFkYSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzkKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZW5hYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCkBAIC0xMzQwMSw3ICsxMzc0MSw3IEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSBlc3TDoSBkZWZpbmlkYSBjb21vIGZhbHNlOyByZW1vdmEgb3UgYWx0ZXJlLWEgc2UgcHJldGVuZGUgIgogIm1lc21vIGF0aXZhciBhIGNhY2hlIG7Do28gY29udHJvbGFkYSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCiBtc2dzdHIgIkEgY2FjaGUgbsOjbyBjb250cm9sYWRhIGRlICclcycgZm9pIGF0aXZhZGEuIgpAQCAtMTM1NDcsNTEgKzEzODg3LDUxIEBACiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKIG1zZ3N0ciAiQSBwcmVwYXJhciAlcyAoaWRlbnRpZmljYWRvciAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJleHRyYWlyIG8gPHJhbW8+IG1lc21vIHNlIGrDoSB0ZW5oYSBzaWRvIGV4dHJhw61kbyBub3V0cmEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgImNyaWFyIHVtIG5vdm8gcmFtbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOAogbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKIG1zZ3N0ciAiY3JpYXIgb3UgcmVwb3IgdW0gcmFtbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzMAogbXNnaWQgInBvcHVsYXRlIHRoZSBuZXcgd29ya2luZyB0cmVlIgogbXNnc3RyICJwb3ZvYXIgYSBub3ZhIMOhcnZvcmUgZGUgdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzgKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgZSAtLWRldGFjaCBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZvcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MwogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAicmF6w6NvIGRlIHRyYW5jYXIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NSBidWlsdGluL3dvcmt0cmVlLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgogbXNnc3RyICInJXMnIG7Do28gw6kgdW1hIMOhcnZvcmUgZGUgdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODYgYnVpbHRpbi93b3JrdHJlZS5jOjUxOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NyBidWlsdGluL3dvcmt0cmVlLmM6NTIwCiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgIkEgw6Fydm9yZSBkZSB0cmFiYWxobyBwcmluY2lwYWwgbsOjbyBwb2RlIHNlciB0cmFuY2FkYSBuZW0gZGVzdHJhbmNhZGEiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAiJyVzJyBqw6EgZXN0w6EgdHJhbmNhZGEsIHJhesOjbzogJXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKIG1zZ3N0ciAiJyVzJyBqw6EgZXN0w6EgdHJhbmNhZGEiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MjEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgogbXNnc3RyICInJXMnIG7Do28gZXN0w6EgdHJhbmNhZGEiCkBAIC0xMzYxNiwxOSArMTM5NTYsMTkgQEAKIG1zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCiBtc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPG9ww6fDtWVzPl0gPGRpcj4iCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAzNgorIzogdXBsb2FkLXBhY2suYzoxMDQwCiBtc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgogbXNnc3RyICJ0ZXJtaW5hciBkZXBvaXMgZGUgdW1hIMO6bmljYSB0cm9jYSBkZSBwZWRpZG8vcmVzcG9zdGEiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAzOAorIzogdXBsb2FkLXBhY2suYzoxMDQyCiBtc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IgogbXNnc3RyICJzYWlyIGltZWRpYXRhbWVudGUgZGVwb2lzIGRvIGFuw7puY2lvIGluaWNpYWwgZGEgcmVmZXLDqm5jaWEiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTA0MAorIzogdXBsb2FkLXBhY2suYzoxMDQ0CiBtc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgogbXNnc3RyICJuw6NvIHRlbnRhciA8ZGlyZXTDs3Jpbz4vLmdpdC8gc2UgbyA8ZGlyZXTDs3Jpbz4gbsOjbyBmb3IgdW0gZGlyZXTDs3JpbyBHaXQiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTA0MgorIzogdXBsb2FkLXBhY2suYzoxMDQ2CiBtc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCiBtc2dzdHIgImludGVycm9tcGVyIHRyYW5zZmVyw6puY2lhIGRlcG9pcyBkZSA8bj4gc2VndW5kb3MgZGUgaW5hdGl2aWRhZGUiCiAKQEAgLTEzNjYwLDE1ICsxNDAwMCwxNSBAQAogImd1aWFzIGRlIGNvbmNlaXRvcy4gQ29uc3VsdGUgJ2dpdCBoZWxwIDxjb21hbmRvPicgb3UgJ2dpdCBoZWxwIDxjb25jZWl0bz4nXG4iCiAicGFyYSBsZXIgc29icmUgdW0gc3ViY29tYW5kbyBvdSBjb25jZWl0byBlc3BlY8OtZmljby4iCiAKLSM6IGh0dHAuYzozNDQKKyM6IGh0dHAuYzozNTUKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIk7Do28gw6kgc3Vwb3J0YWRvIGRlbGVnYXIgY29udHJvbG8gY29tIGNVUkwgPCA3LjIyLjAiCiAKLSM6IGh0dHAuYzozNTMKKyM6IGh0dHAuYzozNjQKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIk7Do28gw6kgc3Vwb3J0YWRvIGFmaXhhciBjaGF2ZXMgcMO6YmxpY2FzIGNvbSBjVVJMIDwgNy40NC4wIgogCi0jOiBodHRwLmM6MTcxMworIzogaHR0cC5jOjE3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byB1cGRhdGUgdXJsIGJhc2UgZnJvbSByZWRpcmVjdGlvbjpcbiIKQEAgLTEzNjc5LDcgKzE0MDE5LDcgQEAKICIgIHBlZGlkbyBwYXJhOiAlc1xuIgogIiAgICByZWRpcmXDp8OjbzogJXMiCiAKLSM6IHJlbW90ZS1jdXJsLmM6MzE5CisjOiByZW1vdGUtY3VybC5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKIG1zZ3N0ciAiYSByZWRpcmVjaW9uYXIgcGFyYSAlcyAiCkBAIC0xMzgxMSw3ICsxNDE1MSw4IEBACiAKICM6IHJlcmVyZS5oOjQwCiBtc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgotbXNnc3RyICJhdHVhbGl6YXIgbyDDrW5kaWNlIGNvbSByZXNvbHXDp8O1ZXMgZGUgY29uZmxpdG9zIHJldXRpbGl6YWRhcyBzZSBwb3Nzw612ZWwiCittc2dzdHIgIiIKKyJhdHVhbGl6YXIgbyDDrW5kaWNlIGNvbSByZXNvbHXDp8O1ZXMgZGUgY29uZmxpdG9zIHJldXRpbGl6YWRhcyBzZSBwb3Nzw612ZWwiCiAKICM6IGdpdC1iaXNlY3Quc2g6NTQKIG1zZ2lkICJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKQEAgLTEzODQyLDcgKzE0MTgzLDggQEAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWQtYnJhbmNoPicuIgotbXNnc3RyICJGYWxoYSBhbyBleHRyYWlyICckc3RhcnRfaGVhZCcuIFRlbnRlICdnaXQgYmlzZWN0IHJlc2V0IDxyYW1vLXbDoWxpZG8+Jy4iCittc2dzdHIgIiIKKyJGYWxoYSBhbyBleHRyYWlyICckc3RhcnRfaGVhZCcuIFRlbnRlICdnaXQgYmlzZWN0IHJlc2V0IDxyYW1vLXbDoWxpZG8+Jy4iCiAKICM6IGdpdC1iaXNlY3Quc2g6MTc3CiBtc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKQEAgLTE0MDExLDcgKzE0MzUzLDggQEAKIAogIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKIG1zZ2lkICIiCi0iRXJyb3I6IFlvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlIgorIkVycm9yOiBZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisibWVyZ2UiCiBtc2dzdHIgIiIKICJFcnJvOiBBcyBzdWFzIGFsdGVyYcOnw7VlcyBsb2NhaXMgbm9zIHNlZ3VpbnRlcyBmaWNoZWlyb3Mgc2VyaWFtIHN1YnN0aXR1w61kYXMgIgogImFvIGludGVncmFyIgpAQCAtMTQxODIsMzkgKzE0NTI1LDM5IEBACiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgogbXNnc3RyICIkYnJhbmNoX25hbWUgYXZhbsOnYWRvIHJhcGlkYW1lbnRlIHBhcmEgJG9udG9fbmFtZS4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MAorIzogZ2l0LXN0YXNoLnNoOjUzCiBtc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgogbXNnc3RyICJuw6NvIGVzdMOhIGltcGxlbWVudGFkbyBnaXQgc3Rhc2ggY2xlYXIgY29tIHBhcsOibWV0cm9zIgogCi0jOiBnaXQtc3Rhc2guc2g6NzMKKyM6IGdpdC1zdGFzaC5zaDo5NAogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgogbXNnc3RyICJPIGNvbW1pdCBpbmljaWFsIGFpbmRhIG7Do28gZXhpc3RlIgogCi0jOiBnaXQtc3Rhc2guc2g6ODgKKyM6IGdpdC1zdGFzaC5zaDoxMDkKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZ3VhcmRhciBvIGVzdGFkbyBhdHVhbCBkbyDDrW5kaWNlIgogCi0jOiBnaXQtc3Rhc2guc2g6MTAzCisjOiBnaXQtc3Rhc2guc2g6MTI0CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZ3VhcmRhciBvcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyIKIAotIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CisjOiBnaXQtc3Rhc2guc2g6MTQ0IGdpdC1zdGFzaC5zaDoxNTcKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZ3VhcmRhciBvIGVzdGFkbyBhdHVhbCBkYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQwCisjOiBnaXQtc3Rhc2guc2g6MTYxCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAiTmVuaHVtYSBhbHRlcmHDp8OjbyBzZWxlY2lvbmFkYSIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MworIzogZ2l0LXN0YXNoLnNoOjE2NAogbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCByZW1vdmVyIG8gw61uZGljZSB0ZW1wb3LDoXJpbyAobsOjbyBwb2RlIGFjb250ZWNlcikiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNTYKKyM6IGdpdC1zdGFzaC5zaDoxNzcKIG1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZ3JhdmFyIG8gZXN0YWRvIGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8iCiAKLSM6IGdpdC1zdGFzaC5zaDoxODgKKyM6IGdpdC1zdGFzaC5zaDoyMDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYXR1YWxpemFyICRyZWZfc3Rhc2ggY29tICR3X2NvbW1pdCIKQEAgLTE0MjI5LDcgKzE0NTcyLDcgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyMzgKKyM6IGdpdC1zdGFzaC5zaDoyNjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgpAQCAtMTQyMzgsMTA4ICsxNDU4MSwxMDggQEAKICJlcnJvOiBvcMOnw6NvIGRlc2NvbmhlY2lkYSBkZSAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKICIgICAgICBQYXJhIGZvcm5lY2VyIHVtYSBtZW5zYWdlbSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICckb3B0aW9uJyIKIAotIzogZ2l0LXN0YXNoLnNoOjI1MQorIzogZ2l0LXN0YXNoLnNoOjI3OAogbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCiBtc2dzdHIgIiIKICJOw6NvIMOpIHBvc3PDrXZlbCB1c2FyIC0tcGF0Y2ggZSAtLWluY2x1ZGUtdW50cmFja2VkIG91IC0tYWxsIGFvIG1lc21vIHRlbXBvIgogCi0jOiBnaXQtc3Rhc2guc2g6MjU5CisjOiBnaXQtc3Rhc2guc2g6Mjg2CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICJOw6NvIGjDoSBhbHRlcmHDp8O1ZXMgbG9jYWlzIHBhcmEgZ3VhcmRhciIKIAotIzogZ2l0LXN0YXNoLnNoOjI2MworIzogZ2l0LXN0YXNoLnNoOjI5MQogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBpbmljaWFsaXphciBhIHBpbGhhIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY3CisjOiBnaXQtc3Rhc2guc2g6Mjk1CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBndWFyZGFyIG8gZXN0YWRvIGF0dWFsIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4CisjOiBnaXQtc3Rhc2guc2g6Mjk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKIG1zZ3N0ciAiRGlyZXTDs3JpbyBkZSB0cmFiYWxobyBlIGVzdGFkbyBkbyDDrW5kaWNlICRzdGFzaF9tc2cgZ3VhcmRhZG9zIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjg1CisjOiBnaXQtc3Rhc2guc2g6MzIzCiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCByZW1vdmVyIGFzIGFsdGVyYcOnw7VlcyBkYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBnaXQtc3Rhc2guc2g6NDAzCisjOiBnaXQtc3Rhc2guc2g6NDcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKIG1zZ3N0ciAib3DDp8OjbyBkZXNjb25oZWNpZG86ICRvcHQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MTYKKyM6IGdpdC1zdGFzaC5zaDo0ODQKIG1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCiBtc2dzdHIgIk5lbmh1bWEgcGlsaGEgZW5jb250cmFkYS4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjMKKyM6IGdpdC1zdGFzaC5zaDo0OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIkRlbWFzaWFkYXMgcmV2aXPDtWVzIGVzcGVjaWZpY2FkYXM6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzgKKyM6IGdpdC1zdGFzaC5zaDo1MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIG7Do28gw6kgdW1hIHJlZmVyw6puY2lhIHbDoWxpZGEiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjYKKyM6IGdpdC1zdGFzaC5zaDo1MzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycgbsOjbyDDqSB1bSBjb21taXQgc2VtZWxoYW50ZSBhIHBpbGhhIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc3CisjOiBnaXQtc3Rhc2guc2g6NTQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJyRhcmdzJyBuw6NvIMOpIHVtYSByZWZlcsOqbmNpYSBkZSBwaWxoYSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4NQorIzogZ2l0LXN0YXNoLnNoOjU1MwogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVmcmVzY2FyIG8gw61uZGljZSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjU1NwogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYXBsaWNhciB1bWEgcGlsaGEgZHVyYW50ZSB1bWEgaW50ZWdyYcOnw6NvIgogCi0jOiBnaXQtc3Rhc2guc2g6NDk3CisjOiBnaXQtc3Rhc2guc2g6NTY1CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiQ29uZmxpdG9zIG5vIMOtbmRpY2UuIFRlbnRlIHNlbSAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5OQorIzogZ2l0LXN0YXNoLnNoOjU2NwogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBndWFyZGFyIMOhcnZvcmUgZG8gw61uZGljZSIKIAotIzogZ2l0LXN0YXNoLnNoOjUwOAorIzogZ2l0LXN0YXNoLnNoOjU3NgogbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgcmVzdGF1cmFyIG9zIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIGRhIHBpbGhhIgogCi0jOiBnaXQtc3Rhc2guc2g6NTMzCisjOiBnaXQtc3Rhc2guc2g6NjAxCiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGRlc3ByZXBhcmFyIG9zIGZpY2hlaXJvcyBtb2RpZmljYWRvIgogCi0jOiBnaXQtc3Rhc2guc2g6NTQ4CisjOiBnaXQtc3Rhc2guc2g6NjE2CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICJPIMOtbmRpY2UgbsOjbyBmb2kgcmVwb3N0by4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjIKKyM6IGdpdC1zdGFzaC5zaDo2MzAKIG1zZ2lkICJUaGUgc3Rhc2ggaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKIG1zZ3N0ciAiQSBwaWxoYSDDqSBndWFyZGEgbm8gY2FzbyBkZSBwcmVjaXNhciBkZWxhIGRlIG5vdm8uIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcxCisjOiBnaXQtc3Rhc2guc2g6NjM5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICJBIGRlc2NhcnRhciAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MgorIzogZ2l0LXN0YXNoLnNoOjY0MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBOw6NvIGZvaSBwb3Nzw612ZWwgZGVzY2FydGFyIGVsZW1lbnRvIGRhIHBpbGhhIgogCi0jOiBnaXQtc3Rhc2guc2g6NTgwCisjOiBnaXQtc3Rhc2guc2g6NjQ4CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJOZW5odW0gbm9tZSBkZSByYW1vIGVzcGVjaWZpY2FkbyIKIAotIzogZ2l0LXN0YXNoLnNoOjY1MgorIzogZ2l0LXN0YXNoLnNoOjcyNwogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKFBhcmEgb3MgcmVzdGF1cmFyIGV4ZWN1dGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiAKQEAgLTE0Mzk2LDcgKzE0NzM5LDggQEAKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCiAiICAkcmVhbHJlcG9cbiIKLSJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCByZXBvXG4iCisidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgIgorInJlcG9cbiIKICJvciB5b3UgYXJlIHVuc3VyZSB3aGF0IHRoaXMgbWVhbnMgY2hvb3NlIGFub3RoZXIgbmFtZSB3aXRoIHRoZSAnLS1uYW1lJyAiCiAib3B0aW9uLiIKIG1zZ3N0ciAiIgpAQCAtMTQ0MjYsMjkgKzE0NzcwLDI5IEBACiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJGYWxoYSBhbyByZWdpc3RhciBvIHN1Ym3Ds2R1bG8gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzQxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiQSBlbnRyYXIgZW0gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ3CisjOiBnaXQtc3VibW9kdWxlLnNoOjM2MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgogbXNnc3RyICIiCiAiSW50ZXJyb21waWRvIGVtICckZGlzcGxheXBhdGgnOyBvIHNjcmlwdCByZXRvcm5vdSB1bSB2YWxvciBkaWZlcmVudGUgZGUgemVyby4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQzMgogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgImVzcGVjaWZpY2Fkb3IgZGUgY2FtaW5obyBlIC0tYWxsIHPDo28gaW5jb21wYXTDrXZlaXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDIzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVXNlICctLWFsbCcgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiIgogIlVzZSAnLS1hbGwnIHNlIHByZXRlbmRlIG1lc21vIGFudWxhciBhIGluaWNpYWxpemHDp8OjbyB0b2RvcyBvcyBzdWJtw7NkdWxvcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDU3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5XG4iCkBAIC0xNDQ1Nyw3ICsxNDgwMSw3IEBACiAiQSDDoXJ2b3JlIGRlIHRyYWJhbGhvIGRvIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCcgY29udMOpbSB1bSBkaXJldMOzcmlvIC5naXRcbiIKICIodXNlICdybSAtcmYnIHNlIHByZXRlbmRlIG1lc21vIHJlbW92w6otbG8sIGluY2x1aW5kbyB0b2RvIG8gc2V1IGhpc3TDs3JpY28pIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKQEAgLTE0NDY2LDQxICsxNDgxMCw0MSBAQAogIkEgw6Fydm9yZSBkZSB0cmFiYWxobyBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIGNvbnTDqW0gYWx0ZXJhw6fDtWVzIGxvY2FpczsgIgogInVzZSAnLWYnIHBhcmEgYXMgZGVzY2FydGFyIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJEaXJldMOzcmlvICckZGlzcGxheXBhdGgnIGxpbXBvIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIk7Do28gZm9pIHBvc3PDrXZlbCByZW1vdmVyIGEgw6Fydm9yZSBkZSB0cmFiYWxobyBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIG8gZGlyZXTDs3JpbyB2YXppbyBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ2NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJPIHJlZ2lzdG8gZG8gc3VibcOzZHVsbyAnJG5hbWUnICgkdXJsKSBmb2kgcmVtb3ZpZG8gZG8gY2FtaW5obyAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiTsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciBhIHJldmlzw6NvIGF0dWFsIG5vIGNhbWluaG8gZGUgc3VibcOzZHVsbyAiCiAiJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjMzCisjOiBnaXQtc3VibW9kdWxlLnNoOjY0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTQ1MDksMTIgKzE0ODUzLDEyIEBACiAiTsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciBhIHJldmlzw6NvIGF0dWFsICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSBubyAiCiAiY2FtaW5obyBkZSBzdWJtw7NkdWxvICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBvYnRlciBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjYyCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKQEAgLTE0NTIzLDg0ICsxNDg2Nyw4NCBAQAogIk9idGV2ZS1zZSBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCcsIG1hcyBuw6NvIGNvbnRpbmhhICRzaGExLiAiCiAiRmFsaGEgYW8gb2J0ZXIgYXF1ZWxlIGNvbW1pdCBkaXJldGFtZW50ZS4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjY5CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGV4dHJhaXIgJyRzaGExJyBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIkNhbWluaG8gZGUgc3VibcOzZHVsbyAnJGRpc3BsYXlwYXRoJzogJyRzaGExJyBleHRyYcOtZG8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njc0CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiTsOjbyBmb2kgcG9zc8OtdmVsIGVmZXR1YXIgcmViYXNlIGRlICckc2hhMScgbm8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICIKICInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIkNhbWluaG8gZGUgc3VibcOzZHVsbyAnJGRpc3BsYXlwYXRoJzogcmViYXNlIGNvbmNsdcOtZG8gZW0gJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgaW50ZWdyYXIgJyRzaGExJyBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICJDYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCc6IGludGVncmFkbyBlbSAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkZhbGhhIGFvIGV4ZWN1dGFyICckY29tbWFuZCAkc2hhMScgbm8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJDYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjczMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiRmFsaGEgYW8gcGVyY29ycmVyIG8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NDAKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICJBIG9ww6fDo28gLS1jYWNoZWQgbsOjbyBwb2RlIHNlciB1c2FkYSBjb20gYSBvcMOnw6NvIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODc4CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5MgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJtb2RvIGluZXNwZXJhZG8gJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIEF2aXNvOiAkZGlzcGxheV9uYW1lIG7Do28gY29udMOpbSBvIGNvbW1pdCAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTAxCisjOiBnaXQtc3VibW9kdWxlLnNoOjkxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgIFdhcm46ICRkaXNwbGF5X25hbWUgbsOjbyBjb250w6ltIG8gY29tbWl0ICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBjb250w6ltIG9zIGNvbW1pdHMgJHNoYTFfc3JjIGUgJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICJGYWxoYSBhbyBwZXJjb3JyZXIgcmVjdXJzaXZhbWVudGUgbyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjExMzYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkEgc2luY3Jvbml6YXIgbyBVUkwgZG8gc3VibcOzZHVsbyAnJGRpc3BsYXlwYXRoJyIKQEAgLTE0ODcxLDcgKzE1MjE1LDggQEAKIG1zZ2lkICIiCiAiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCiAiXG4iCi0iVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mIHdhcm5pbmdzLlxuIgorIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCisid2FybmluZ3MuXG4iCiAiVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLiIKIG1zZ3N0ciAiIgogIlBhcmEgZXZpdGFyIGVzdGEgbWVuc2FnZW0sIHVzZSBcImRyb3BcIiBwYXJhIHJlbW92ZXIgdW0gY29tbWl0ICIKQEAgLTE0OTAxLDExICsxNTI0NiwxMSBAQAogbXNnaWQgIk9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKIG1zZ3N0ciAiT3UgcG9kZSBhYm9ydGFyIG8gcmViYXNlIGNvbSAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCByZW1vdmVyIENIRVJSWV9QSUNLX0hFQUQiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODQKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0OTM2LDExICsxNTI4MSwxMSBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDEKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDUKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAiRXJybyBhbyB0ZW50YXIgZW5jb250cmFyIGEgaWRlbnRpZGFkZSBkbyBhdXRvciBwYXJhIGVtZW5kYXIgbyBjb21taXQiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDYKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTAKIG1zZ2lkICIiCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKQEAgLTE0OTQ4LDExICsxNTI5MywxMSBAQAogIlRlbSBhbHRlcmHDp8O1ZXMgcG9yIHN1Ym1ldGVyIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8uIFN1Ym1ldGEtYXMgcHJpbWVpcm9cbiIKICJlIGV4ZWN1dGUgJ2dpdCByZWJhc2UgLS1jb250aW51ZScgZGUgbm92by4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTEgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE5CiBtc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBzdWJtZXRlciBhcyBhbHRlcmHDp8O1ZXMgcHJlcGFyYWRhcy4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDcKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCkBAIC0xNDk2Niw0MCArMTUzMTEsNDAgQEAKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDcgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwNQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1NSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzEzCiBtc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgbyBlZGl0b3IiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZXh0cmFpciAkc3dpdGNoX3RvIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTczCiBtc2dpZCAiTm8gSEVBRD8iCiBtc2dzdHIgIlNlbSBIRUFEPyIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyICRzdGF0ZV9kaXIgdGVtcG9yw6FyaW8iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzYKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIG1hcmNhciBjb21vIGludGVyYXRpdm8iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzggZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4NiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTkxCiBtc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBpbmljaWFsaXphciBjb21taXRzIHJlZXNjcml0b3MiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyODMKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgogbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCiBtc2dzdHJbMF0gIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgc29icmUgJHNob3J0b250byAoJHRvZG9jb3VudCBjb21hbmRvKSIKIG1zZ3N0clsxXSAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBzb2JyZSAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbWFuZG9zKSIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4OAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NgogbXNnaWQgIiIKICJcbiIKICJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgpAQCAtMTUwMDksNyArMTUzNTQsNyBAQAogIk5vIGVudGFudG8sIHNlIHJlbW92ZXIgdHVkbywgbyByZWJhc2Ugc2Vyw6EgYWJvcnRhZG8uXG4iCiAiXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDMKIG1zZ2lkICJOb3RlIHRoYXQgZW1wdHkgY29tbWl0cyBhcmUgY29tbWVudGVkIG91dCIKIG1zZ3N0ciAiTm90ZSBxdWUgY29tbWl0cyB2YXppb3Mgc8OjbyBjb21lbnRhZG9zIgogCkBAIC0xNTA4OCw2OCArMTU0MzMsNjggQEAKIG1zZ2lkICJ1bnN0YWdlZCIKIG1zZ3N0ciAibsOjbyBwcmVwYXJhZG8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI4OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxMwogbXNnaWQgImJpbmFyeSIKIG1zZ3N0ciAiYmluw6FyaW8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzYwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM1MQogbXNnaWQgIm5vdGhpbmciCiBtc2dzdHIgIm5hZGEiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzU3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMzMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM0OAogbXNnaWQgInVuY2hhbmdlZCIKIG1zZ3N0ciAibsOjbyBhbHRlcmFkbyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjQ0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiJWQgY2FtaW5obyBhZGljaW9uYXJcbiIKIG1zZ3N0clsxXSAiJWQgY2FtaW5ob3MgYWRpY2lvbmFkb3NcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIiVkIGNhbWluaG8gYXR1YWxpemFkb1xuIgogbXNnc3RyWzFdICIlZCBjYW1pbmhvcyBhdHVhbGl6YWRvc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICIlZCBjYW1pbmhvIHJldmVydGlkb1xuIgogbXNnc3RyWzFdICIlZCBjYW1pbmhvcyByZXZlcnRpZG9zXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjYyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ0b3VjaGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidG91Y2hlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICIlZCBjYW1pbmhvIGFmZXRhZG9cbiIKIG1zZ3N0clsxXSAiJWQgY2FtaW5ob3MgYWZldGFkb3NcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjYyCiBtc2dpZCAiVXBkYXRlIgogbXNnc3RyICJBdHVhbGl6YXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjgzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3NAogbXNnaWQgIlJldmVydCIKIG1zZ3N0ciAiUmV2ZXJ0ZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY5NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgogbXNnc3RyICJub3RhOiAlcyDDqSBhZ29yYSBuw6NvIGNvbnRyb2xhZG8uXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzE3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcwOAogbXNnaWQgIkFkZCB1bnRyYWNrZWQiCiBtc2dzdHIgIkFkaWNpb25hciBuw6NvIGNvbnRyb2xhZG9zIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcyMworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo3MTQKIG1zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCiBtc2dzdHIgIk5lbmh1bSBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzMAogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3RhZ2luZy4iCkBAIC0xNTE1Nyw3ICsxNTUwMiw3IEBACiAiU2UgbyBwYXRjaCBzZSBhcGxpY2FyIGNvcnJldGFtZW50ZSwgbyBleGNlcnRvIGVkaXRhZG8gc2Vyw6EgbWFyY2Fkb1xuIgogImNvbW8gcHJlcGFyYWRvIGltZWRpYXRhbWVudGUuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzMwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3Rhc2hpbmcuIgpAQCAtMTUxNjUsNyArMTU1MTAsNyBAQAogIlNlIG8gcGF0Y2ggc2UgYXBsaWNhciBjb3JyZXRhbWVudGUsIG8gZXhjZXJ0byBlZGl0YWRvIHNlcsOhIG1hcmNhZG9cbiIKICJjb21vIGVzY29uZGlkbyBpbWVkaWF0YW1lbnRlLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzYKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHVuc3RhZ2luZy4iCkBAIC0xNTE3Myw3ICsxNTUxOCw3IEBACiAiU2UgbyBwYXRjaCBzZSBhcGxpY2FyIGNvcnJldGFtZW50ZSwgbyBleGNlcnRvIGVkaXRhZG8gc2Vyw6EgbWFyY2Fkb1xuIgogImNvbW8gbsOjbyBwcmVwYXJhZG8gaW1lZGlhdGFtZW50ZS4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDgKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKQEAgLTE1MTgxLDE1ICsxNTUyNiw3IEBACiAiU2UgbyBwYXRjaCBzZSBhcGxpY2FyIGNvcnJldGFtZW50ZSwgbyBleGNlcnRvIGVkaXRhZG8gc2Vyw6EgbWFyY2Fkb1xuIgogInBhcmEgc2VyIGFwbGljYWRvIGltZWRpYXRhbWVudGUuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKLW1zZ2lkICIiCi0iSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKLSJtYXJrZWQgZm9yIGRpc2NhcmRpbmciCi1tc2dzdHIgIiIKLSJTZSBvIHBhdGNoIHNlIGFwbGljYXIgY29ycmV0YW1lbnRlLCBvIGV4Y2VydG8gZWRpdGFkbyBzZXLDoSBtYXJjYWRvXG4iCi0icGFyYSBzZXIgZGVzY2FydGFkbyBpbWVkaWF0YW1lbnRlLiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ1CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKQEAgLTE1MTk3LDE2ICsxNTUzNCwxNyBAQAogIlNlIG8gcGF0Y2ggc2UgYXBsaWNhciBjb3JyZXRhbWVudGUsIG8gZXhjZXJ0byBlZGl0YWRvIHNlcsOhIG1hcmNhZG9cbiIKICJwYXJhIHNlciBkZXNjYXJ0YWRvIGltZWRpYXRhbWVudGUuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3Igd3JpdGluZzogJXMiCi1tc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGZpY2hlaXJvIGRlIGVkacOnw6NvIGRvIGV4Y2VydG8gcGFyYSBlc2NyaXRhOiAlcyIKK21zZ3N0ciAiIgorIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGZpY2hlaXJvIGRlIGVkacOnw6NvIGRvIGV4Y2VydG8gcGFyYSBlc2NyaXRhOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTkKIG1zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKIG1zZ3N0ciAiTW9kbyBkZSBlZGnDp8OjbyBtYW51YWwgZGUgZXhjZXJ0byAtLSB2ZXIgZ3VpYSByw6FwaWRvIGFiYWl4byBubyBmaW5hbC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDc0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIi0tLVxuIgpAQCAtMTUyMjAsNyArMTU1NTgsNyBAQAogIkxpbmhhcyBjb21lw6dhZGFzIGNvbSAlcyBzZXLDo28gcmVtb3ZpZGFzLlxuIgogCiAjLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3MwogbXNnaWQgIiIKICJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgogImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKQEAgLTE1MjMwLDEwICsxNTU2OCwxMSBAQAogImRlIG5vdm8uICBTZSB0b2RhcyBhcyBsaW5oYXMgZG8gZXhjZXJ0byBmb3JlbSByZW1vdmlkYXMsIGEgZWRpw6fDo28gw6lcbiIKICJhYm9ydGFkYSBlIG8gZXhjZXRvIMOpIGRlaXhhZG8gaW5hbHRlcmFkby5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHJlYWRpbmc6ICVzIgotbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyBkZSBlZGnDp8OjbyBkbyBleGNlcnRvIHBhcmEgbGVpdHVyYTogJXMiCittc2dzdHIgIiIKKyJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyBkZSBlZGnDp8OjbyBkbyBleGNlcnRvIHBhcmEgbGVpdHVyYTogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCiAjLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQKQEAgLTE1MjQxLDE0ICsxNTU4MCwxNCBAQAogIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKICMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCiAjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE4NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTc4CiBtc2dpZCAiIgogIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgogbXNnc3RyICIiCiAiTyBleGNlcnRvIHF1ZSBlZGl0b3UgbsOjbyBhcGxpY2EuXG4iCiAiRWRpdGUgZGUgbm92byAocmVzcG9uZGVyIFwibsOjb1wiIGRlc2NhcnRhISkgW3kvbl0/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExODcKIG1zZ2lkICIiCiAieSAtIHN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0xNTI2Miw3ICsxNTYwMSw3IEBACiAiYSAtIHByZXBhcmFyIGVzdGUgZXhjZXJ0byBlIHRvZG9zIG9zIGV4Y2VydG9zIHNlZ3VpbnRlcyBubyBmaWNoZWlyb1xuIgogImQgLSBuw6NvIHByZXBhcmFyIGVzdGUgZXhjZXJ0byBuZW0gb3MgZXhjZXJ0b3Mgc2VndWludGVzIG5vIGZpY2hlaXJvIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE5MwogbXNnaWQgIiIKICJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKQEAgLTE1Mjc2LDcgKzE1NjE1LDcgQEAKICJhIC0gZXNjb25kZXIgZXN0ZSBleGNlcnRvIGUgdG9kb3Mgb3Mgc2VndWludGVzIG5vIGZpY2hlaXJvXG4iCiAiZCAtIG7Do28gZXNjb25kZXIgZXN0ZSBleGNlcnRvIG5lbSBvcyBleGNlcnRvcyBzZWd1aW50ZXMgbm8gZmljaGVpcm8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIwOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTk5CiBtc2dpZCAiIgogInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTE1MjkwLDcgKzE1NjI5LDcgQEAKICJhIC0gZGVzcHJlcGFyYXIgZXN0ZSBleGNlcnRvIGUgdG9kb3Mgb3MgZXhjZXJ0b3Mgc2VndWludGVzIG5vIGZpY2hlaXJvXG4iCiAiZCAtIG7Do28gZGVzcHJlcGFyYXIgZXN0ZSBleGNlcnRvIG5lbSBvcyBleGNlcnRvcyBzZWd1aW50ZXMgbm8gZmljaGVpcm8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjA1CiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgpAQCAtMTUzMDQsNyArMTU2NDMsNyBAQAogImEgLSBhcGxpY2FyIGVzdGUgZXhjZXJ0byBlIHRvZG9zIG9zIGV4Y2VydG9zIHNlZ3VpbnRlcyBubyBmaWNoZWlyb1xuIgogImQgLSBuw6NvIGFwbGljYXIgZXN0ZSBleGNlcnRvIG5lbSBvcyBleGNlcnRvcyBzZWd1aW50ZXMgbm8gZmljaGVpcm8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjExCiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCkBAIC0xNTMxOCw3ICsxNTY1Nyw3IEBACiAiYSAtIGRlc2NhcnRhciBlc3RlIGV4Y2VydG8gZSB0b2RvcyBvcyBleGNlcnRvcyBzZWd1aW50ZXMgbm8gZmljaGVpcm9cbiIKICJkIC0gbsOjbyBkZXNjYXJ0YXIgZXN0ZSBleGNlcnRvIG5lbSBvcyBleGNlcnRvcyBzZWd1aW50ZXMgbm8gZmljaGVpcm8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjE3CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTE1MzMyLDcgKzE1NjcxLDcgQEAKICJhIC0gZGVzY2FydGFyIGVzdGUgZXhjZXJ0byBlIHRvZG9zIG9zIGV4Y2VydG9zIHNlZ3VpbnRlcyBubyBmaWNoZWlyb1xuIgogImQgLSBuw6NvIGRlc2NhcnRhciBlc3RlIGV4Y2VydG8gbmVtIG9zIGV4Y2VydG9zIHNlZ3VpbnRlcyBubyBmaWNoZWlybyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjMyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjMKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTE1MzQ2LDcgKzE1Njg1LDcgQEAKICJhIC0gYXBsaWNhciBlc3RlIGV4Y2VydG8gZSB0b2RvcyBvcyBleGNlcnRvcyBzZWd1aW50ZXMgbm8gZmljaGVpcm9cbiIKICJkIC0gbsOjbyBhcGxpY2FyIGVzdGUgZXhjZXJ0byBuZW0gb3MgZXhjZXJ0b3Mgc2VndWludGVzIG5vIGZpY2hlaXJvIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzMgogbXNnaWQgIiIKICJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgogIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKQEAgLTE1MzY4LDIwOCArMTU3MDcsMjExIEBACiAiZSAtIGVkaXRhciBtYW51YWxtZW50ZSBvIGV4Y2VydG8gYXR1YWxcbiIKICI/IC0gaW1wcmltaXIgYWp1ZGFcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjcyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjMKIG1zZ2lkICJUaGUgc2VsZWN0ZWQgaHVua3MgZG8gbm90IGFwcGx5IHRvIHRoZSBpbmRleCFcbiIKIG1zZ3N0ciAiT3MgZXhjZXJ0b3Mgc2VsZWNpb25hZG9zIG7Do28gYXBsaWNhbSBhbyDDrW5kaWNlIVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI2NAogbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgogbXNnc3RyICJBcGxpY8OhLWxvcyDDoCDDoXJ2b3JlIGRlIHRyYWJhbGhvIG1lc21vIGFzc2ltPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjY3CiBtc2dpZCAiTm90aGluZyB3YXMgYXBwbGllZC5cbiIKIG1zZ3N0ciAiTsOjbyBmb2kgYXBsaWNhZG8gbmFkYS5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjg3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCiBtc2dzdHIgImlnbm9yYWRvIG7Do28gaW50ZWdyYWRvOiAlc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI4NwogbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCiBtc2dzdHIgIkFwZW5hcyBmaWNoZWlyb3MgYmluw6FyaW9zIGFsdGVyYWRvcy5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyODkKIG1zZ2lkICJObyBjaGFuZ2VzLlxuIgogbXNnc3RyICJTZW0gYWx0ZXJhw6fDtWVzLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5NwogbXNnaWQgIlBhdGNoIHVwZGF0ZSIKIG1zZ3N0ciAiQXR1YWxpemFyIHBhdGNoIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJQcmVwYXJhciBhbHRlcmHDp8OjbyBkZSBtb2RvIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzUwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIlByZXBhcmFyIGVsaW1pbmHDp8OjbyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiUHJlcGFyYXIgZXN0ZSBleGNlcnRvIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkVzY29uZGVyIGFsdGVyYcOnw6NvIGRlIG1vZG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiRXNjb25kZXIgZWxpbWluYcOnw6NvIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJFc2NvbmRlciBlc3RlIGV4Y2VydG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJOw6NvIHByZXBhcmFyIGFsdGVyYcOnw6NvIGRlIG1vZG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJOw6NvIHByZXBhcmFyIGVsaW1pbmHDp8OjbyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJOw6NvIHByZXBhcmFyIGVzdGUgZXhjZXJ0byBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcGxpY2FyIGFsdGVyYcOnw6NvIGRlIG1vZG8gYW8gw61uZGljZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcGxpY2FyIGVsaW1pbmHDp8OjbyBhbyDDrW5kaWNlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJBcGxpY2FyIGVzdGUgZXhjZXJ0byBhbyDDrW5kaWNlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJEZXNjYXJ0YXIgYWx0ZXJhw6fDo28gZGUgbW9kbyBkYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzcwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJEZXNjYXJ0YXIgZWxpbWluYcOnw6NvIGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzgwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJEZXNjYXJ0YXIgZXN0ZSBleGNlcnRvIGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzgzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAiRGVzY2FydGFyIGFsdGVyYcOnw6NvIGRlIG1vZG8gZG8gw61uZGljZSBlIGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvIgogIiVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogIkRlc2NhcnRhciBlbGltaW5hw6fDo28gZG8gw61uZGljZSBlIGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogIkRlc2NhcnRhciBlc3RlIGV4Y2VydG8gZG8gw61uZGljZSBlIGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIiIKLSJBcGxpY2FyIGFsdGVyYcOnw6NvIGRlIG1vZG8gYW8gw61uZGljZSBlIMOgIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvJXMsP10/ICIKKyJBcGxpY2FyIGFsdGVyYcOnw6NvIGRlIG1vZG8gYW8gw61uZGljZSBlIMOgIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvIgorIiVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzgwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJBcGxpY2FyIGVsaW1pbmHDp8OjbyBhbyDDrW5kaWNlIGUgw6Agw6Fydm9yZSBkZSB0cmFiYWxobyBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICIiCisiQXBsaWNhciBlbGltaW5hw6fDo28gYW8gw61uZGljZSBlIMOgIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCiAiQXBsaWNhciBlc3RlIGV4Y2VydG8gYW8gw61uZGljZSBlIMOgIMOhcnZvcmUgZGUgdHJhYmFsaG8gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDkzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0ODQKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKIG1zZ3N0ciAiaXIgcGFyYSBxdWUgZXhjZXJ0byAoPHJldD4gcGFyYSB2ZXIgbWFpcyk/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0ODYKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCiBtc2dzdHIgImlyIHBhcmEgcXVlIGV4Y2VydG8/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAiTsO6bWVybyBpbnbDoWxpZG86ICclcydcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuXG4iCiBtc2dpZF9wbHVyYWwgIlNvcnJ5LCBvbmx5ICVkIGh1bmtzIGF2YWlsYWJsZS5cbiIKIG1zZ3N0clswXSAiTGFtZW50bywgYXBlbmFzICVkIGV4Y2VydG8gZGlzcG9uw612ZWwuXG4iCiBtc2dzdHJbMV0gIkxhbWVudG8sIGFwZW5hcyAlZCBleGNlcnRvcyBkaXNwb27DrXZlaXMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUzNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTI2CiBtc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgogbXNnc3RyICJwcm9jdXJhciBwb3IgcmVnZXg/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIlJlZ2V4cCBkZSBwZXNxdWlzYSBtYWxmb3JtYWRhICVzOiAlc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0OQogbXNnaWQgIk5vIGh1bmsgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVyblxuIgogbXNnc3RyICJOZW5odW0gZXhjZXJ0byBjb3JyZXNwb25kZSBhbyBwYWRyw6NvIGZvcm5lY2lkb1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTgzCiBtc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgogbXNnc3RyICJOZW5odW0gZXhjZXJ0byBhbnRlcmlvclxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg5CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIk5lbmh1bSBleGNlcnRvIHNlZ3VpbnRlXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNwbGl0IGludG8gJWQgaHVuay5cbiIKIG1zZ2lkX3BsdXJhbCAiU3BsaXQgaW50byAlZCBodW5rcy5cbiIKIG1zZ3N0clswXSAiRGl2aWRpciBlbSAlZCBleGNlcnRvLlxuIgogbXNnc3RyWzFdICJEaXZpZGlyIGVtICVkIGV4Y2VydG9zLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0OQogbXNnaWQgIlJldmlldyBkaWZmIgogbXNnc3RyICJSZXZlciBkaWZmIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGRvIG5vdCB0cmFuc2xhdGUgdGhlIGNvbW1hbmQgbmFtZXMKICMuICdzdGF0dXMnLCAndXBkYXRlJywgJ3JldmVydCcsIGV0Yy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY3NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY4CiBtc2dpZCAiIgogInN0YXR1cyAgICAgICAgLSBzaG93IHBhdGhzIHdpdGggY2hhbmdlc1xuIgogInVwZGF0ZSAgICAgICAgLSBhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKICJyZXZlcnQgICAgICAgIC0gcmV2ZXJ0IHN0YWdlZCBzZXQgb2YgY2hhbmdlcyBiYWNrIHRvIHRoZSBIRUFEIHZlcnNpb25cbiIKICJwYXRjaCAgICAgICAgIC0gcGljayBodW5rcyBhbmQgdXBkYXRlIHNlbGVjdGl2ZWx5XG4iCi0iZGlmZlx0ICAgICAgLSB2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleFxuIgotImFkZCB1bnRyYWNrZWQgLSBhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKKyJkaWZmICAgICAgICAgIC0gdmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXhcbiIKKyJhZGQgdW50cmFja2VkIC0gYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiAiCisiY2hhbmdlc1xuIgogbXNnc3RyICIiCiAic3RhdHVzICAgICAgICAtIG1vc3RyYXIgY2FtaW5ob3MgY29tIGFsdGVyYcOnw7Vlc1xuIgogInVwZGF0ZSAgICAgICAgLSBhZGljaW9uYXIgbyBlc3RhZG8gZGEgw6Fydm9yZSBkZSB0cmFiYWxobyBhbyBjb25qdW50byBkZSAiCkBAIC0xNTU4MSwxOCArMTU5MjMsMTggQEAKICJhZGQgdW50cmFja2VkIC0gYWRpY2lvbmFyIGNvbnRlw7pkb3MgZGUgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgYW8gY29uanVudG8gIgogImRlIGFsdGVyYcOnw7VlcyBwcmVwYXJhZGFzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTkKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDkKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5MyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTAKIG1zZ2lkICJtaXNzaW5nIC0tIgogbXNnc3RyICJmYWx0YSAtLSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICJNb2RlIGRlIC0tcGF0Y2ggZGVzY29uaGVjaWRvOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcyNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzEyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50ICVzLCBleHBlY3RpbmcgLS0iCiBtc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gJXMsIGVzcGVyYXZhLXNlIC0tIgpAQCAtMTU2MTEsNyArMTU5NTMsOCBAQAogCiAjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4MgogIywgcGVybC1mb3JtYXQKLW1zZ2lkICInJXMnIGNvbnRhaW5zIGFuIGludGVybWVkaWF0ZSB2ZXJzaW9uIG9mIHRoZSBlbWFpbCB5b3Ugd2VyZSBjb21wb3NpbmcuXG4iCittc2dpZCAiIgorIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKIG1zZ3N0ciAiJyVzJyBjb250w6ltIHVtYSB2ZXJzw6NvIGludGVybcOpZGlhIGRvIGUtbWFpbCBxdWUgZXN0ZXZlIGEgY29tcG9yLlxuIgogCiAjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4NwpAQCAtMTU3ODEsNyArMTYxMjQsOCBAQAogIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NzEKIG1zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgogbXNnc3RyICIiCi0iTWVzc2FnZS1JRCBwYXJhIHNlciB1c2FkbyBjb21vIEluLVJlcGx5LVRvIHBhcmEgbyBwcmltZWlybyBlLW1haWwgKHNlIGFsZ3VtKT8gIgorIk1lc3NhZ2UtSUQgcGFyYSBzZXIgdXNhZG8gY29tbyBJbi1SZXBseS1UbyBwYXJhIG8gcHJpbWVpcm8gZS1tYWlsIChzZSAiCisiYWxndW0pPyAiCiAKICM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTIxIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTI5CiAjLCBwZXJsLWZvcm1hdApAQCAtMTU4NDcsOCArMTYxOTEsOCBAQAogIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDAzCiBtc2dpZCAiVW5hYmxlIHRvIGluaXRpYWxpemUgU01UUCBwcm9wZXJseS4gQ2hlY2sgY29uZmlnIGFuZCB1c2UgLS1zbXRwLWRlYnVnLiIKIG1zZ3N0ciAiIgotIk7Do28gw6kgcG9zc8OtdmVsIGluaWNpYWxpemFyIFNNVFAgZGV2aWRhbWVudGUuIFZlcmlmaXF1ZSBhIGNvbmZpZ3VyYcOnw6NvIGUgdXNlIC0tIgotInNtdHAtZGVidWcuIgorIk7Do28gw6kgcG9zc8OtdmVsIGluaWNpYWxpemFyIFNNVFAgZGV2aWRhbWVudGUuIFZlcmlmaXF1ZSBhIGNvbmZpZ3VyYcOnw6NvIGUgdXNlICIKKyItLXNtdHAtZGVidWcuIgogCiAjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjEKICMsIHBlcmwtZm9ybWF0CkBAIC0xNTk1MCw2ICsxNjI5NCw3MSBAQAogbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBzZW5kICVzPyBbeXxOXTogIgogbXNnc3RyICJEZXNlamEgbWVzbW8gZW52aWFyICVzPyBbeXxOXTogIgogCisjfiBtc2dpZCAiIgorI34gIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCisjfiAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKKyN+IG1zZ3N0ciAiIgorI34gIk7Do28gaMOhIG5hZGEgcGFyYSBleGNsdWlyIGRlIGFjb3JkbyBjb20gbyBwYWRyw6NvIDooZXhjbHVpcikuXG4iCisjfiAiVGFsdmV6IHNlIHRlbmhhIGVzcXVlY2lkbyBkZSBhY3Jlc2NlbnRhciAnOi8nIG91ICcuJyA/IgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdDogJSUoJXMpIgorI34gbXNnc3RyICJmb3JtYXRvIG7Do28gcmVjb25oZWNpZG86ICUlKCVzKSIKKworI34gbXNnaWQgIjpzdHJpcD0gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFyZ3VtZW50IgorI34gbXNnc3RyICI6c3RyaXA9IHJlcXVlciB1bSBpbnRlaXJvIHBvc2l0aXZvIGNvbW8gYXJndW1lbnRvIgorCisjfiBtc2dpZCAicmVmICclcycgZG9lcyBub3QgaGF2ZSAlbGQgY29tcG9uZW50cyB0byA6c3RyaXAiCisjfiBtc2dzdHIgImEgcmVmZXLDqm5jaWEgJyVzJyBuw6NvIHRlbSAlbGQgY29tcG9uZW50ZXMgY29tbyBzZSBpbmRpY2EgZW0gOnN0cmlwIgorCisjfiBtc2dpZCAidW5rbm93biAlLipzIGZvcm1hdCAlcyIKKyN+IG1zZ3N0ciAiZm9ybWF0byBkZSAlLipzIGRlc2NvbmhlY2lkbyAlcyIKKworI34gbXNnaWQgIlslczogZ29uZV0iCisjfiBtc2dzdHIgIlslczogZGVzYXBhcmVjaWRvXSIKKworI34gbXNnaWQgIlslc10iCisjfiBtc2dzdHIgIlslc10iCisKKyN+IG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCisjfiBtc2dzdHIgIlslczogYXRyw6FzICVkXSIKKworI34gbXNnaWQgIlslczogYWhlYWQgJWRdIgorI34gbXNnc3RyICJbJXM6IMOgIGZyZW50ZSAlZF0iCisKKyN+IG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgorI34gbXNnc3RyICJbJXM6IMOgIGZyZW50ZSAlZCwgYXRyw6FzICVkXSIKKworI34gbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCisjfiBtc2dzdHIgIiAqKioqIHJlZmVyw6puY2lhcyBpbnbDoWxpZGEgKioqKiIKKworI34gbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgorI34gbXNnc3RyICJkaXJldMOzcmlvIGRlIG9iamV0b3MgZGVtYXNpYWRvIGxvbmdvICUuKnMiCisKKyN+IG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1zZz4gSEVBRCA8Y29tbWl0PiIKKyN+IG1zZ3N0ciAiZ2l0IG1lcmdlIFs8b3DDp8O1ZXM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgorCisjfiBtc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCisjfiBtc2dzdHIgIiclcycgbsOjbyDDqSB1bSBjb21taXQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBmaWxlICclcyciCisjfiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyIG8gZmljaGVpcm8gJyVzJyIKKworI34gbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgorI34gbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBmZWNoYXIgbyBmaWNoZWlybyAlcyIKKworI34gbXNnaWQgInRhZyBuYW1lIHRvbyBsb25nOiAlLipzLi4uIgorI34gbXNnc3RyICJvIG5vbWUgZGEgdGFnIMOpIGRlbWFzaWFkbyBsb25nbzogJS4qcy4uLiIKKworI34gbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCisjfiBtc2dzdHIgImNhYmXDp2FsaG8gZGEgdGFnIGRlbWFzaWFkbyBsb25nby4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyN+ICJtYXJrZWQgZm9yIGRpc2NhcmRpbmciCisjfiBtc2dzdHIgIiIKKyN+ICJTZSBvIHBhdGNoIHNlIGFwbGljYXIgY29ycmV0YW1lbnRlLCBvIGV4Y2VydG8gZWRpdGFkbyBzZXLDoSBtYXJjYWRvXG4iCisjfiAicGFyYSBzZXIgZGVzY2FydGFkbyBpbWVkaWF0YW1lbnRlLiIKKwogI34gbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKICN+IG1zZ3N0ciAiIgogI34gIlVzYXIgdW1hIGhldXLDrXN0aWNhIGV4cGVyaW1lbnRhbCBiYXNlYWRhIGVtIGxpbmhhcyBicmFuY2FzIHBhcmEgbWVsaG9yYXIgIgpAQCAtMTU5NzMsNyArMTYzODIsOCBAQAogCiAjfiBtc2dpZCAiIgogI34gIlxuIgotI34gIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKKyN+ICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgIgorI34gImhpc3RvcnkpIgogI34gbXNnc3RyICIiCiAjfiAiXG4iCiAjfiAiKHVzZSAncm0gLXJmJyBzZSBwcmV0ZW5kZSBtZXNtbyByZW1vdsOqLWxvLCBpbmNsdWluZG8gdG9kbyBvIHNldSBoaXN0w7NyaWNvKSIKQEAgLTE2MDE3LDcgKzE2NDI3LDggQEAKICN+IG1zZ3N0ciAiUHJpbWVpcm8gdGVtIGRlIGRlZmluaXIgYSBzdWEgaW5mb3JtYcOnw6NvIGRlIGNvbW1pdHRlciIKIAogI34gbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiBpbnZhbGlkIHVuaXQiCi0jfiBtc2dzdHIgInZhbG9yIG51bcOpcmljbyAnJXMnIGRhIGNvbmZpZ3VyYcOnw6NvICclcycgaW5jb3JyZXRvOiB1bmlkYWRlIGludsOhbGlkYSIKKyN+IG1zZ3N0ciAiIgorI34gInZhbG9yIG51bcOpcmljbyAnJXMnIGRhIGNvbmZpZ3VyYcOnw6NvICclcycgaW5jb3JyZXRvOiB1bmlkYWRlIGludsOhbGlkYSIKIAogI34gbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6IGludmFsaWQgdW5pdCIKICN+IG1zZ3N0ciAiIgpAQCAtMTYwMjYsOCArMTY0MzcsOCBAQAogCiAjfiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogaW52YWxpZCB1bml0IgogI34gbXNnc3RyICIiCi0jfiAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG8gbm8gZmljaGVpcm8gJXM6IHVuaWRhZGUgIgotI34gImludsOhbGlkYSIKKyN+ICJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBubyBmaWNoZWlybyAlczogIgorI34gInVuaWRhZGUgaW52w6FsaWRhIgogCiAjfiBtc2dpZCAiIgogI34gImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiBpbnZhbGlkIHVuaXQiCkBAIC0xNjIwNSw3ICsxNjYxNiw4IEBACiAjfiBtc2dzdHIgIkludm9xdWUgJ2Jpc2VjdF9zdGF0ZScgY29tIHBlbG8gbWVub3MgdW0gYXJndW1lbnRvLiIKIAogI34gbXNnaWQgIiIKLSN+ICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb20iCisjfiAiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiAiCisjfiAiZnJvbSIKICN+IG1zZ3N0ciAiIgogI34gIlNlIGRlc2VqYSByZXV0aWxpemFyIGVzdGUgZGlyZXTDs3JpbyBnaXQgbG9jYWwgZW0gdmV6IGRlIGNsb25hciBkZSBub3ZvIGRlIgogCkBAIC0xNjIxMyw3ICsxNjYyNSw4IEBACiAjfiAidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgIgogI34gInJlcG8iCiAjfiBtc2dzdHIgIiIKLSN+ICJ1c2UgYSBvcMOnw6NvICctLWZvcmNlJy4gU2UgbyBkaXJldMOzcmlvIGdpdCBsb2NhbCBuw6NvIMOpIG8gcmVwb3NpdMOzcmlvIGNvcnJldG8iCisjfiAidXNlIGEgb3DDp8OjbyAnLS1mb3JjZScuIFNlIG8gZGlyZXTDs3JpbyBnaXQgbG9jYWwgbsOjbyDDqSBvIHJlcG9zaXTDs3JpbyAiCisjfiAiY29ycmV0byIKIAogI34gbXNnaWQgIiIKICN+ICJvciB5b3UgYXJlIHVuc3VyZSB3aGF0IHRoaXMgbWVhbnMgY2hvb3NlIGFub3RoZXIgbmFtZSB3aXRoIHRoZSAnLS1uYW1lJyAiCkBAIC0xNjIyNyw3ICsxNjY0MCw4IEBACiAjfiAiQSDDoXJ2b3JlIGRlIHRyYWJhbGhvIGRvIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCcgY29udMOpbSB1bSBkaXJldMOzcmlvIC5naXQiCiAKICN+IG1zZ2lkICIiCi0jfiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgorI34gIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyAiCisjfiAiaGlzdG9yeSkiCiAjfiBtc2dzdHIgIiIKICN+ICIodXNlICdybSAtcmYnIHNlIHByZXRlbmRlIG1lc21vIHJlbW92w6otbG8sIGluY2x1aW5kbyB0b2RvIG8gc2V1IGhpc3TDs3JpY28pIgogCmRpZmYgLS1naXQgYS9wby9ydS5wbyBiL3BvL3J1LnBvCmluZGV4IGE5MmRkY2YuLjc1ZWM2OGMgMTAwNjQ0Ci0tLSBhL3BvL3J1LnBvCisrKyBiL3BvL3J1LnBvCkBAIC0zLDE1ICszLDE1IEBACiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBQQUNLQUdFIHBhY2thZ2UuCiAjIAogIyBUcmFuc2xhdG9yczoKLSMgRGltaXRyaXkgUnlhemFudGNldiA8REptMDBuQG1haWwucnU+LCAyMDE0LTIwMTYKKyMgRGltaXRyaXkgUnlhemFudGNldiA8REptMDBuQG1haWwucnU+LCAyMDE0LTIwMTcKICMgaW5zb2xvciwgMjAxNAogIyBpbnNvbG9yLCAyMDE0CiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHaXQgUnVzc2lhbiBMb2NhbGl6YXRpb24gUHJvamVjdFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjUwKzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTExLTI4IDIzOjU4KzAwMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wNy0yNCAyMTo1NCswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNy0wNy0zMCAwOToyMCswMDAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBEaW1pdHJpeSBSeWF6YW50Y2V2IDxESm0wMG5AbWFpbC5ydT5cbiIKICJMYW5ndWFnZS1UZWFtOiBSdXNzaWFuIChodHRwOi8vd3d3LnRyYW5zaWZleC5jb20vZGptMDBuL2dpdC1wby1ydS9sYW5ndWFnZS9ydS8pXG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKQEAgLTIwLDU5ICsyMCw1OSBAQAogIkxhbmd1YWdlOiBydVxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9NDsgcGx1cmFsPShuJTEwPT0xICYmIG4lMTAwIT0xMSA/IDAgOiBuJTEwPj0yICYmIG4lMTA8PTQgJiYgKG4lMTAwPDEyIHx8IG4lMTAwPjE0KSA/IDEgOiBuJTEwPT0wIHx8IChuJTEwPj01ICYmIG4lMTA8PTkpIHx8IChuJTEwMD49MTEgJiYgbiUxMDA8PTE0KT8gMiA6IDMpO1xuIgogCi0jOiBhZHZpY2UuYzo1NQorIzogYWR2aWNlLmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICLQv9C+0LTRgdC60LDQt9C60LA6ICUuKnNcbiIKIAotIzogYWR2aWNlLmM6ODMKKyM6IGFkdmljZS5jOjg2CiBtc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywg0LrQvtC/0LjRgNC+0LLQsNC90LjQtSDQutC+0LzQvNC40YLQsCDQsiDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDLCDRgtCw0Log0LrQsNC6INGDINCy0LDRgSDQuNC80LXRjtGC0YHRjyDQvdC1INGB0LvQuNGC0YvQtSDRhNCw0LnQu9GLLiIKIAotIzogYWR2aWNlLmM6ODUKKyM6IGFkdmljZS5jOjg4CiBtc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC30LDQutC+0LzQvNC40YLQuNGC0YwsINGC0LDQuiDQutCw0Log0YMg0LLQsNGBINC40LzQtdGO0YLRgdGPINC90LUg0YHQu9C40YLRi9C1INGE0LDQudC70YsuIgogCi0jOiBhZHZpY2UuYzo4NworIzogYWR2aWNlLmM6OTAKIG1zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMINGB0LvQuNGP0L3QuNC1LCDRgtCw0Log0LrQsNC6INGDINCy0LDRgSDQuNC80LXRjtGC0YHRjyDQvdC1INGB0LvQuNGC0YvQtSDRhNCw0LnQu9GLLiIKIAotIzogYWR2aWNlLmM6ODkKKyM6IGFkdmljZS5jOjkyCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCDQv9C+0LvRg9GH0LXQvdC40LUsINGC0LDQuiDQutCw0Log0YMg0LLQsNGBINC40LzQtdGO0YLRgdGPINC90LUg0YHQu9C40YLRi9C1INGE0LDQudC70YsuIgogCi0jOiBhZHZpY2UuYzo5MQorIzogYWR2aWNlLmM6OTQKIG1zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNGC0LjRgtGMINC40LfQvNC10L3QtdC90LjRjywg0YLQsNC6INC60LDQuiDRgyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtSDRgdC70LjRgtGL0LUg0YTQsNC50LvRiy4iCiAKLSM6IGFkdmljZS5jOjkzCisjOiBhZHZpY2UuYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCAlcywg0YLQsNC6INC60LDQuiDRgyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtSDRgdC70LjRgtGL0LUg0YTQsNC50LvRiy4iCiAKLSM6IGFkdmljZS5jOjEwMQorIzogYWR2aWNlLmM6MTA0CiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKIG1zZ3N0ciAi0JjRgdC/0YDQsNCy0YzRgtC1INC40YUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSwg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgYWRkL3JtIDzRhNCw0LnQuz7CuyxcbtGH0YLQvtCx0Ysg0L/QvtC80LXRgtC40YLRjCDQuNGB0L/RgNCw0LLQu9C10L3QuNC1INC4INGB0LTQtdC70LDQudGC0LUg0LrQvtC80LzQuNGCLiIKIAotIzogYWR2aWNlLmM6MTA5CisjOiBhZHZpY2UuYzoxMTIKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCiBtc2dzdHIgItCS0YvRhdC+0LQg0LjQty3Qt9CwINC90LXRgNCw0LfRgNC10YjQtdC90L3QvtCz0L4g0LrQvtC90YTQu9C40LrRgtCwLiIKIAotIzogYWR2aWNlLmM6MTE0IGJ1aWx0aW4vbWVyZ2UuYzoxMTgxCisjOiBhZHZpY2UuYzoxMTcgYnVpbHRpbi9tZXJnZS5jOjExODQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgItCS0Ysg0L3QtSDQt9Cw0LLQtdGA0YjQuNC70Lgg0YHQu9C40Y/QvdC40LUgKNC/0YDQuNGB0YPRgtGB0YLQstGD0LXRgiDRhNCw0LnQuyBNRVJHRV9IRUFEKS4iCiAKLSM6IGFkdmljZS5jOjExNgorIzogYWR2aWNlLmM6MTE5CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAi0J/QtdGA0LXQtCDRgdC70LjRj9C90LjQtdC8LCDQstGL0L/QvtC70L3QuNGC0LUg0LrQvtC80LzQuNGCINCy0LDRiNC40YUg0LjQt9C80LXQvdC10L3QuNC5LiIKIAotIzogYWR2aWNlLmM6MTE3CisjOiBhZHZpY2UuYzoxMjAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgItCS0YvRhdC+0LQg0LjQty3Qt9CwINC90LXQt9Cw0LLQtdGA0YjQtdC90L3QvtCz0L4g0YHQu9C40Y/QvdC40Y8uIgogCi0jOiBhZHZpY2UuYzoxMjMKKyM6IGFkdmljZS5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCkBAIC04OCw4MiArODgsOTIgQEAKICJcbiIKIG1zZ3N0ciAi0J/RgNC40LzQtdGH0LDQvdC40LU6INC/0LXRgNC10YXQvtC0INC90LAgwqslc8K7LlxuXG7QktGLINGB0LXQudGH0LDRgSDQsiDRgdC+0YHRgtC+0Y/QvdC40LggwqvQvtGC0LTQtdC70ZHQvdC90L7Qs9C+IEhFQUTCuy4g0JLRiyDQvNC+0LbQtdGC0LUg0L7RgdC80L7RgtGA0LXRgtGM0YHRjywg0YHQtNC10LvQsNGC0YxcbtGN0LrRgdC/0LXRgNC40LzQtdC90YLQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINC4INC30LDQutC+0LzQvNC40YLQuNGC0Ywg0LjRhSwg0YLQsNC60LbQtSDQstGLINC80L7QttC10YLQtSDQvtGC0LzQtdC90LjRgtGMXG7QuNC30LzQtdC90LXQvdC40Y8g0LvRjtCx0YvRhSDQutC+0LzQvNC40YLQvtCyINCyINGN0YLQvtC8INGB0L7RgdGC0L7Rj9C90LjQuCDQvdC1INC30LDRgtGA0LDQs9C40LLQsNGPINC70Y7QsdGL0LUg0LLQtdGC0LrQuCDQuFxu0L3QtSDQv9C10YDQtdGF0L7QtNGPINC90LAg0L3QuNGFLlxuXG7QldGB0LvQuCDQstGLINGF0L7RgtC40YLQtSDRgdC+0LfQtNCw0YLRjCDQvdC+0LLRg9GOINCy0LXRgtC60YMg0Lgg0YHQvtGF0YDQsNC90LjRgtGMINGB0LLQvtC4INC60L7QvNC80LjRgtGLLCDRgtC+INCy0YtcbtC80L7QttC10YLQtSDRgdC00LXQu9Cw0YLRjCDRjdGC0L4gKNGB0LXQudGH0LDRgSDQuNC70Lgg0L/QvtC30LbQtSkg0LLRi9C30LLQsNCyINC60L7QvNCw0L3QtNGDIGNoZWNrb3V0INGB0L3QvtCy0LAsXG7QvdC+INGBINC/0LDRgNCw0LzQtdGC0YDQvtC8IC1iLiDQndCw0L/RgNC40LzQtdGAOlxuXG4gIGdpdCBjaGVja291dCAtYiA80LjQvNGPLdC90L7QstC+0Lkt0LLQtdGC0LrQuD5cblxuIgogCi0jOiBhcHBseS5jOjU3CisjOiBhcHBseS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyDQtNC70Y8g0L/RgNC+0LHQtdC70L7QsiDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6NzMKKyM6IGFwcGx5LmM6NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyDQtNC70Y8g0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40Y8g0L/RgNC+0LHQtdC70L7QsiDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6MTI1CisjOiBhcHBseS5jOjEyNgogbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLXJlamVjdCDQuCAtLTN3YXkg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgogCi0jOiBhcHBseS5jOjEyNworIzogYXBwbHkuYzoxMjgKIG1zZ2lkICItLWNhY2hlZCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1jYWNoZWQg0LggLS0zd2F5INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYXBwbHkuYzoxMzAKKyM6IGFwcGx5LmM6MTMxCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLTN3YXkg0LLQvdC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGFwcGx5LmM6MTQxCisjOiBhcHBseS5jOjE0MgogbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0taW5kZXgg0LLQvdC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGFwcGx5LmM6MTQ0CisjOiBhcHBseS5jOjE0NQogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWNhY2hlZCDQstC90LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYXBwbHkuYzo4NDUKKyM6IGFwcGx5LmM6ODM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC00LPQvtGC0L7QstC40YLRjCDRgNC10LPRg9C70Y/RgNC90L7QtSDQstGL0YDQsNC20LXQvdC40LUg0LTQu9GPINC80LXRgtC60Lgg0LLRgNC10LzQtdC90LggJXMiCiAKLSM6IGFwcGx5LmM6ODU0CisjOiBhcHBseS5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgInJlZ2V4ZWMg0LLQvtC30LLRgNCw0YLQuNC7ICVkINC00LvRjyDQstCy0L7QtNCwOiAlcyIKIAotIzogYXBwbHkuYzo5MzgKKyM6IGFwcGx5LmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQuNC80Y8g0YTQsNC50LvQsCDQsiDRgdGC0YDQvtC60LUg0L/QsNGC0YfQsCAlZCIKIAotIzogYXBwbHkuYzo5NzcKKyM6IGFwcGx5LmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiDQv9C70L7RhdC+0LkgZ2l0LWRpZmYg4oCUINC+0LbQuNC00LDQu9C+0YHRjCAvZGV2L251bGwsINC/0L7Qu9GD0YfQtdC90L4gJXMg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6OTgzCisjOiBhcHBseS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiDQv9C70L7RhdC+0LkgZ2l0LWRpZmYg4oCUINC90LUg0YHQvtCz0LvQsNGB0YPRjtGJ0LXQtdGB0Y8g0L3QvtCy0L7QtSDQuNC80Y8g0YTQsNC50LvQsCDQvdCwINGB0YLRgNC+0LrQtSAlZCIKIAotIzogYXBwbHkuYzo5ODQKKyM6IGFwcGx5LmM6OTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6INC/0LvQvtGF0L7QuSBnaXQtZGlmZiDigJQg0L3QtSDRgdC+0LPQu9Cw0YHRg9GO0YnQtdC10YHRjyDRgdGC0LDRgNC+0LUg0LjQvNGPINGE0LDQudC70LAg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6OTkwCisjOiBhcHBseS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6INC/0LvQvtGF0L7QuSBnaXQtZGlmZiAg4oCUINC+0LbQuNC00LDQu9C+0YHRjCAvZGV2L251bGwg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6MTQ4OAorIzogYXBwbHkuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSBvbiBsaW5lICVkOiAlcyIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INGA0LXQttC40LwgJWQ6ICVzIgorCisjOiBhcHBseS5jOjEzMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiCittc2dzdHIgItC/0YDQvtGC0LjQstC+0YDQtdGH0LjQstGL0LUg0YHRgtGA0L7QutC4INC30LDQs9C+0LvQvtCy0LrQsCAlZCDQuCAlZCIKKworIzogYXBwbHkuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKIG1zZ3N0ciAicmVjb3VudDog0L3QtSDQvtC20LjQtNCw0LXQvNCw0Y8g0YHRgtGA0L7QutCwOiAlLipzIgogCi0jOiBhcHBseS5jOjE1NTcKKyM6IGFwcGx5LmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICLRhNGA0LDQs9C80LXQvdGCINC40LfQvNC10L3QtdC90LjQuSDQsdC10Lcg0LfQsNCz0L7Qu9C+0LLQutCwINC90LAg0YHRgtGA0L7QutC1ICVkOiAlLipzIgogCi0jOiBhcHBseS5jOjE1NzcKKyM6IGFwcGx5LmM6MTU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSIKQEAgLTE3Niw3MCArMTg2LDcwIEBACiBtc2dzdHJbMl0gItC30LDQs9C+0LvQvtCy0L7QuiBnaXQgZGlmZiDQvdC1INC90LDRiNC10Lsg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNC80LXQvdC4INGE0LDQudC70LAg0L/RgNC4INGD0LTQsNC70LXQvdC40LggJWQg0LLQtdC00YPRidC40YUg0LrQvtC80L/QvtC90LXQvdGCINC/0YPRgtC4INC6INGE0LDQudC70YMgKNGB0YLRgNC+0LrQsCAlZCkiCiBtc2dzdHJbM10gItC30LDQs9C+0LvQvtCy0L7QuiBnaXQgZGlmZiDQvdC1INC90LDRiNC10Lsg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNC80LXQvdC4INGE0LDQudC70LAg0L/RgNC4INGD0LTQsNC70LXQvdC40LggJWQg0LLQtdC00YPRidC40YUg0LrQvtC80L/QvtC90LXQvdGCINC/0YPRgtC4INC6INGE0LDQudC70YMgKNGB0YLRgNC+0LrQsCAlZCkiCiAKLSM6IGFwcGx5LmM6MTU4OQorIzogYXBwbHkuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgItC30LDQs9C+0LvQvtCy0L7QuiBnaXQgZGlmZiDQvdC1INGB0L7QtNC10YDQttC40YIg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L7QsSDQuNC80LXQvdC4INGE0LDQudC70LAgKNGB0YLRgNC+0LrQsCAlZCkiCiAKLSM6IGFwcGx5LmM6MTc1OQorIzogYXBwbHkuYzoxNzcwCiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgItC90L7QstGL0Lkg0YTQsNC50Lsg0LfQsNCy0LjRgdC40YIg0L7RgiDRgdGC0LDRgNC+0LPQviDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+IgogCi0jOiBhcHBseS5jOjE3NjEKKyM6IGFwcGx5LmM6MTc3MgogbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgItGD0LTQsNC70LXQvdC90YvQuSDRhNCw0LnQuyDQstGB0LUg0LXRidC1INC40LzQtdC10YIg0YHQvtC00LXRgNC20LjQvNC+0LUiCiAKLSM6IGFwcGx5LmM6MTc5NQorIzogYXBwbHkuYzoxODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAi0L/QsNGC0Ycg0L/QvtCy0YDQtdC20LTQtdC9INC90LAg0YHRgtGA0L7QutC1ICVkIgogCi0jOiBhcHBseS5jOjE4MzIKKyM6IGFwcGx5LmM6MTg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAi0L3QvtCy0YvQuSDRhNCw0LnQuyAlcyDQt9Cw0LLQuNGB0LjRgiDQvtGCINGB0YLQsNGA0L7Qs9C+INGB0L7QtNC10YDQttC40LzQvtCz0L4iCiAKLSM6IGFwcGx5LmM6MTgzNAorIzogYXBwbHkuYzoxODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgItGD0LTQsNC70LXQvdC90YvQuSDRhNCw0LnQuyAlcyDQstGB0LUg0LXRidC1INC40LzQtdC10YIg0YHQvtC00LXRgNC20LjQvNC+0LUiCiAKLSM6IGFwcGx5LmM6MTgzNworIzogYXBwbHkuYzoxODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INGE0LDQudC7ICVzINGB0YLQsNC90L7QstC40YLRgdGPINC/0YPRgdGC0YvQvCwg0L3QviDQvdC1INGD0LTQsNC70Y/QtdGC0YHRjyIKIAotIzogYXBwbHkuYzoxOTg0CisjOiBhcHBseS5jOjE5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAi0L/QvtCy0YDQtdC20LTQtdC90L3Ri9C5INC00LLQvtC40YfQvdGL0Lkg0L/QsNGC0Ycg0L3QsCDRgdGC0YDQvtC60LUgJWQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MjAyMQorIzogYXBwbHkuYzoyMDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INC00LLQvtC40YfQvdGL0Lkg0L/QsNGC0Ycg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6MjE4MgorIzogYXBwbHkuYzoyMTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCiBtc2dzdHIgItC/0LDRgtGHINGBINC80YPRgdC+0YDQvtC8INC90LAg0YHRgtGA0L7QutC1ICVkIgogCi0jOiBhcHBseS5jOjIyNzQKKyM6IGFwcGx5LmM6MjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdC40LzQstC+0LvRjNC90YPRjiDRgdGB0YvQu9C60YMgJXMiCiAKLSM6IGFwcGx5LmM6MjI3OAorIzogYXBwbHkuYzoyMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0LjQu9C4INC/0YDQvtGH0LXRgdGC0YwgJXMiCiAKLSM6IGFwcGx5LmM6MjkzMQorIzogYXBwbHkuYzoyOTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC90LDRh9Cw0LvQviDRgdGC0YDQvtC60Lg6IMKrJWPCuyIKIAotIzogYXBwbHkuYzozMDUwCisjOiBhcHBseS5jOjMwNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgogbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgpAQCAtMjQ4LDI1NyArMjU4LDI1NyBAQAogbXNnc3RyWzJdICLQp9Cw0YHRgtGMICMlZCDRg9GB0L/QtdGI0L3QviDQv9GA0LjQvNC10L3QtdC90LAg0L3QsCAlZCAo0YHQviDRgdC00LLQuNCz0L7QvCDQsiAlZCDRgdGC0YDQvtC6KS4iCiBtc2dzdHJbM10gItCn0LDRgdGC0YwgIyVkINGD0YHQv9C10YjQvdC+INC/0YDQuNC80LXQvdC10L3QsCDQvdCwICVkICjRgdC+INGB0LTQstC40LPQvtC8INCyICVkINGB0YLRgNC+0LopLiIKIAotIzogYXBwbHkuYzozMDYyCisjOiBhcHBseS5jOjMwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAi0JrQvtC90YLQtdC60YHRgiDRgdGD0LbQtdC9INC00L4gKCVsZC8lbGQpLCDRh9GC0L7QsdGLINC/0YDQuNC80LXQvdC40YLRjCDRhNGA0LDQs9C80LXQvdGCINC90LAgJWQg0YHRgtGA0L7QutC1IgogCi0jOiBhcHBseS5jOjMwNjgKKyM6IGFwcGx5LmM6MzA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKICIlLipzIgogbXNnc3RyICLQv9GA0Lgg0L/QvtC40YHQutC1OlxuJS4qcyIKIAotIzogYXBwbHkuYzozMDkwCisjOiBhcHBseS5jOjMwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GJ0LXQvdGLINC00LDQvdC90YvQtSDQtNCy0L7QuNGH0L3QvtCz0L4g0L/QsNGC0YfQsCDQtNC70Y8gwqslc8K7IgogCi0jOiBhcHBseS5jOjMwOTgKKyM6IGFwcGx5LmM6MzEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMIHJldmVyc2UtYXBwbHkg0LTQu9GPINC00LLQvtC40YfQvdC+0LPQviDQv9Cw0YLRh9CwLCDQsdC10Lcg0L7QsdGA0LDRidC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuSDQsdC70L7QutCwIMKrJXPCuyIKIAotIzogYXBwbHkuYzozMTQ0CisjOiBhcHBseS5jOjMxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0LjQvNC10L3QuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9Cw0YLRhyDCqyVzwrsg0LHQtdC3INGB0YLRgNC+0LrQuCDRgSDRg9C60LDQt9Cw0L3QvdC+0Lkg0L/QvtC70L3QvtC5INCy0LXRgNGB0LjQtdC5INC40L3QtNC10LrRgdCwIgogCi0jOiBhcHBseS5jOjMxNTQKKyM6IGFwcGx5LmM6MzE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCiBtc2dzdHIgItC/0LDRgtGHINC/0YDQuNC80LXQvdGP0YLRgdGPINC6INGE0LDQudC70YMgwqslc8K7ICglcyksINC90L4g0LXQs9C+INGC0LXQutGD0YnQtdC1INGB0L7QtNC10YDQttC40LzQvtC1INC90LUg0YHQvtC+0YLQstC10YHRgtCy0YPQtdGCINC+0LbQuNC00LDQtdC80L7QvNGDLiIKIAotIzogYXBwbHkuYzozMTYyCisjOiBhcHBseS5jOjMxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgogbXNnc3RyICLQv9Cw0YLRhyDQv9GA0LjQvNC10L3Rj9C10YLRgdGPINC6INC/0YPRgdGC0L7QvNGDINGE0LDQudC70YMgwqslc8K7LCDQvdC+INGE0LDQudC7INC90LUg0L/Rg9GB0YLQvtC5IgogCi0jOiBhcHBseS5jOjMxODAKKyM6IGFwcGx5LmM6MzE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0L3QtdC+0LHRhdC+0LTQuNC80YPRjiDQv9C+0YHRi9C70LrRgyAlcyDQtNC70Y8gwqslc8K7IgogCi0jOiBhcHBseS5jOjMxOTMKKyM6IGFwcGx5LmM6MzE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9Cw0YLRhyDQuiDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6MzE5OQorIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgogbXNnc3RyICLQv9C+0YHQu9C1INC/0YDQuNC80LXQvdC10L3QuNGPINC00LLQvtC40YfQvdC+0LPQviDQv9Cw0YLRh9CwINC00LvRjyDCqyVzwrsg0LHRi9C7INC/0L7Qu9GD0YfQtdC9INC90LXQv9GA0LDQstC40LvRjNC90YvQuSDRgNC10LfRg9C70YzRgtCw0YIgKNC+0LbQuNC00LDQu9C+0YHRjCAlcywg0L/QvtC70YPRh9C10L3QviAlcykiCiAKLSM6IGFwcGx5LmM6MzIyMAorIzogYXBwbHkuYzozMjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0L/RgNC40LzQtdC90LXQvdC40Y8g0LjQt9C80LXQvdC10L3QuNC5OiAlczolbGQiCiAKLSM6IGFwcGx5LmM6MzM0MgorIzogYXBwbHkuYzozMzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC60LvRjtGH0LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDQvdCwICVzIgogCi0jOiBhcHBseS5jOjMzOTAgYXBwbHkuYzozNDAxIGFwcGx5LmM6MzQ0NyBzZXR1cC5jOjI0OAorIzogYXBwbHkuYzozMzkyIGFwcGx5LmM6MzQwMyBhcHBseS5jOjM0NDkgc2V0dXAuYzoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMICVzIgogCi0jOiBhcHBseS5jOjMzOTgKKyM6IGFwcGx5LmM6MzQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLRh9GC0LXQvdC40LUg0LjQtyDCqyVzwrsg0LfQsCDRgdC40LzQstC+0LvQuNGH0LXRgdC60L7QuSDRgdGB0YvQu9C60L7QuSIKIAotIzogYXBwbHkuYzozNDI3IGFwcGx5LmM6MzY2NworIzogYXBwbHkuYzozNDI5IGFwcGx5LmM6MzY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAi0L/Rg9GC0YwgJXMg0LHRi9C7INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvS/Rg9C00LDQu9C10L0iCiAKLSM6IGFwcGx5LmM6MzUxMCBhcHBseS5jOjM2ODEKKyM6IGFwcGx5LmM6MzUxMiBhcHBseS5jOjM2ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgogbXNnc3RyICIlczog0L3QtdGCINCyINC40L3QtNC10LrRgdC1IgogCi0jOiBhcHBseS5jOjM1MTkgYXBwbHkuYzozNjg5CisjOiBhcHBseS5jOjM1MjEgYXBwbHkuYzozNjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXM6INC90LUg0YHQvtCy0L/QsNC00LDQtdGCINGBINC40L3QtNC10LrRgdC+0LwiCiAKLSM6IGFwcGx5LmM6MzU1NAorIzogYXBwbHkuYzozNTU2CiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAi0LIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINC90LXQvtCx0YXQvtC00LjQvNGL0Lkg0LTQstC+0LjRh9C90YvQuSDQvtCx0YrQtdC60YIg0LTQu9GPINC+0YLQutCw0YLQsCDQuiDRgtGA0ZHRhdGF0L7QtNC+0LLQvtC80YMg0YHQu9C40Y/QvdC40Y4uIgogCi0jOiBhcHBseS5jOjM1NTcKKyM6IGFwcGx5LmM6MzU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgItCe0YLQutCw0YIg0Log0YLRgNGR0YXRhdC+0LTQvtCy0L7QvNGDINGB0LvQuNGP0L3QuNGO4oCmXG4iCiAKLSM6IGFwcGx5LmM6MzU3MyBhcHBseS5jOjM1NzcKKyM6IGFwcGx5LmM6MzU3NSBhcHBseS5jOjM1NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YLQtdC60YPRidC10LUg0YHQvtC00LXRgNC20LjQvNC+0LUgwqslc8K7IgogCi0jOiBhcHBseS5jOjM1ODkKKyM6IGFwcGx5LmM6MzU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0YLQutCw0YLQuNGC0YzRgdGPINC6INGC0YDRkdGF0YXQvtC00L7QstC+0LzRgyDRgdC70LjRj9C90LjRjuKAplxuIgogCi0jOiBhcHBseS5jOjM2MDMKKyM6IGFwcGx5LmM6MzYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgItCf0LDRgtGHINC/0YDQuNC80LXQvdC10L0g0Logwqslc8K7INGBINC60L7QvdGE0LvQuNC60YLQsNC80LguXG4iCiAKLSM6IGFwcGx5LmM6MzYwOAorIzogYXBwbHkuYzozNjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICLQn9Cw0YLRhyDQv9GA0LjQvNC10L3QtdC9INC6IMKrJXPCuyDQsdC10Lcg0L7RiNC40LHQvtC6LlxuIgogCi0jOiBhcHBseS5jOjM2MzQKKyM6IGFwcGx5LmM6MzYzNgogbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCiBtc2dzdHIgItC/0LDRgtGHINGD0LTQsNC70LXQvdC40Y8g0L3QtSDRg9C00LDQu9C40Lsg0YHQvtC00LXRgNC20LjQvNC+0LUg0YTQsNC50LvQsCIKIAotIzogYXBwbHkuYzozNzA2CisjOiBhcHBseS5jOjM3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdyb25nIHR5cGUiCiBtc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/IgogCi0jOiBhcHBseS5jOjM3MDgKKyM6IGFwcGx5LmM6MzcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIiVzINC40LzQtdC10YIg0YLQuNC/ICVvLCDQsCDQvtC20LjQtNCw0LvRgdGPICVvIgogCi0jOiBhcHBseS5jOjM4NTkgYXBwbHkuYzozODYxCisjOiBhcHBseS5jOjM4NjAgYXBwbHkuYzozODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/Rg9GC0Ywgwqslc8K7IgogCi0jOiBhcHBseS5jOjM5MTcKKyM6IGFwcGx5LmM6MzkxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCiBtc2dzdHIgIiVzOiDRg9C20LUg0YHQvtC00LXRgNC20LjRgtGB0Y8g0LIg0LjQvdC00LXQutGB0LUiCiAKLSM6IGFwcGx5LmM6MzkyMAorIzogYXBwbHkuYzozOTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6INGD0LbQtSDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBhcHBseS5jOjM5NDAKKyM6IGFwcGx5LmM6Mzk0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCiBtc2dzdHIgItC90L7QstGL0Lkg0YDQtdC20LjQvCDQtNC+0YHRgtGD0L/QsCAoJW8pINC00LvRjyAlcyDQvdC1INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCINGB0YLQsNGA0L7QvNGDINGA0LXQttC40LzRgyDQtNC+0YHRgtGD0L/QsCAoJW8pIgogCi0jOiBhcHBseS5jOjM5NDUKKyM6IGFwcGx5LmM6Mzk0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCiBtc2dzdHIgItC90L7QstGL0Lkg0YDQtdC20LjQvCDQtNC+0YHRgtGD0L/QsCAoJW8pINC00LvRjyAlcyDQvdC1INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCINGB0YLQsNGA0L7QvNGDINGA0LXQttC40LzRgyDQtNC+0YHRgtGD0L/QsCAoJW8pINC00LvRjyAlcyIKIAotIzogYXBwbHkuYzozOTY1CisjOiBhcHBseS5jOjM5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWZmZWN0ZWQgZmlsZSAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgItC30LDRgtGA0L7QvdGD0YLRi9C5INGE0LDQudC7IMKrJXPCuyDQvdCw0YXQvtC00LjRgtGB0Y8g0LfQsCDRgdC40LzQstC+0LvQuNGH0LXRgdC60L7QuSDRgdGB0YvQu9C60L7QuSIKIAotIzogYXBwbHkuYzozOTY5CisjOiBhcHBseS5jOjM5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0Ywg0L/QsNGC0YciCiAKLSM6IGFwcGx5LmM6Mzk4NAorIzogYXBwbHkuYzozOTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC/0LDRgtGH0LAgJXPigKYiCiAKLSM6IGFwcGx5LmM6NDA3NQorIzogYXBwbHkuYzo0MDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINC+0LEgc2hhMSDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINC40LvQuCDQsdC10YHQv9C+0LvQtdC30L3QsCDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPICVzIgogCi0jOiBhcHBseS5jOjQwODIKKyM6IGFwcGx5LmM6NDA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCiBtc2dzdHIgItC40LfQvNC10L3QtdC9INGA0LXQttC40Lwg0LTQu9GPICVzLCDQutC+0YLQvtGA0YvQuSDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDQsiDRgtC10LrRg9GJ0LXQvCBIRUFEIgogCi0jOiBhcHBseS5jOjQwODUKKyM6IGFwcGx5LmM6NDA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0L7QsSBzaGExINC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0LjQu9C4INCx0LXRgdC/0L7Qu9C10LfQvdCwICglcykuIgogCi0jOiBhcHBseS5jOjQwOTAgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1CisjOiBhcHBseS5jOjQwOTEgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL3Jlc2V0LmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgItGB0LHQvtC5IG1ha2VfY2FjaGVfZW50cnkg0LTQu9GPINC/0YPRgtC4IMKrJXPCuyIKIAotIzogYXBwbHkuYzo0MDk0CisjOiBhcHBseS5jOjQwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCAlcyDQstC+INCy0YDQtdC80LXQvdC90YvQuSDQuNC90LTQtdC60YEiCiAKLSM6IGFwcGx5LmM6NDEwNAorIzogYXBwbHkuYzo0MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0LjQvdC00LrQtdC60YEg0LIgJXMiCiAKLSM6IGFwcGx5LmM6NDI0MgorIzogYXBwbHkuYzo0MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCAlcyDQuNC3INC40L3QtNC10LrRgdCwIgogCi0jOiBhcHBseS5jOjQyNzcKKyM6IGFwcGx5LmM6NDI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgItC/0L7QstGA0LXQttC00LXQvdC90YvQuSDQv9Cw0YLRhyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPICVzIgogCi0jOiBhcHBseS5jOjQyODMKKyM6IGFwcGx5LmM6NDI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCDQtNC70Y8g0YHQvtC30LTQsNC90L3QvtCz0L4g0YTQsNC50LvQsCDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6NDI5MQorIzogYXBwbHkuYzo0MjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINCy0YHQv9C+0LzQvtCz0LDRgtC10LvRjNC90YvQuSDRhNCw0LnQuyDQtNC70Y8g0YHQvtC30LTQsNC90L3QvtCz0L4g0YTQsNC50LvQsCAlcyIKIAotIzogYXBwbHkuYzo0Mjk3IGFwcGx5LmM6NDQ0MQorIzogYXBwbHkuYzo0Mjk4IGFwcGx5LmM6NDQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQt9Cw0L/QuNGB0Ywg0LIg0LrRjdGI0LUg0LTQu9GPICVzIgogCi0jOiBhcHBseS5jOjQzMzgKKyM6IGFwcGx5LmM6NDMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINCyIMKrJXPCuyIKIAotIzogYXBwbHkuYzo0MzQyCisjOiBhcHBseS5jOjQzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgItC30LDQutGA0YvRgtC40LUg0YTQsNC50LvQsCDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6NDQxMgorIzogYXBwbHkuYzo0NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINGE0LDQudC7IMKrJXPCuyDRgSDRgNC10LbQuNC80L7QvCDQtNC+0YHRgtGD0L/QsCAlbyIKIAotIzogYXBwbHkuYzo0NTEwCisjOiBhcHBseS5jOjQ1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKIG1zZ3N0ciAi0J/QsNGC0YcgJXMg0L/RgNC40LzQtdC90LXQvSDQsdC10Lcg0L7RiNC40LHQvtC6LiIKIAotIzogYXBwbHkuYzo0NTE4CisjOiBhcHBseS5jOjQ1MTkKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAi0LLQvdGD0YLRgNC10L3QvdGP0Y8g0L7RiNC40LHQutCwIgogCi0jOiBhcHBseS5jOjQ1MjEKKyM6IGFwcGx5LmM6NDUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCiBtc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCkBAIC01MDcsMzYgKzUxNywzNiBAQAogbXNnc3RyWzJdICLQn9GA0LjQvNC10L3QtdC90LjQtSDQv9Cw0YLRh9CwICUlcyDRgSAlZCDQvtGC0LrQsNC30LDQvNC44oCmIgogbXNnc3RyWzNdICLQn9GA0LjQvNC10L3QtdC90LjQtSDQv9Cw0YLRh9CwICUlcyDRgSAlZCDQvtGC0LrQsNC30LDQvNC44oCmIgogCi0jOiBhcHBseS5jOjQ1MzIKKyM6IGFwcGx5LmM6NDUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCiBtc2dzdHIgItGD0YHQtdGH0LXQvdC40LUg0LjQvNC10L3QuCAucmVqINGE0LDQudC70LAg0LTQviAlLipzLnJlaiIKIAotIzogYXBwbHkuYzo0NTQwIGJ1aWx0aW4vZmV0Y2guYzo3NDAgYnVpbHRpbi9mZXRjaC5jOjk4OQorIzogYXBwbHkuYzo0NTQxIGJ1aWx0aW4vZmV0Y2guYzo3MzggYnVpbHRpbi9mZXRjaC5jOjk4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCAlcyIKIAotIzogYXBwbHkuYzo0NTU0CisjOiBhcHBseS5jOjQ1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAi0JHQu9C+0Log4oSWJWQg0L/RgNC40LzQtdC90LXQvSDQsdC10Lcg0L7RiNC40LHQvtC6LiIKIAotIzogYXBwbHkuYzo0NTU4CisjOiBhcHBseS5jOjQ1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgogbXNnc3RyICLQkdC70L7QuiDihJYlZCDQvtGC0LrQu9C+0L3QtdC9LiIKIAotIzogYXBwbHkuYzo0NjY4CisjOiBhcHBseS5jOjQ2NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKIG1zZ3N0ciAi0J/QsNGC0Ycgwqslc8K7INC/0YDQvtC/0YPRidC10L0uIgogCi0jOiBhcHBseS5jOjQ2NzYKKyM6IGFwcGx5LmM6NDY3NwogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAi0L3QtSDRgNCw0YHQv9C+0LfQvdCw0L3QvdGL0Lkg0LLQstC+0LQiCiAKLSM6IGFwcGx5LmM6NDY5NQorIzogYXBwbHkuYzo0Njk2CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCiAKQEAgLTU0NSw3ICs1NTUsNyBAQAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0L/QsNGC0Ycgwqslc8K7OiAlcyIKIAotIzogYXBwbHkuYzo0ODU4CisjOiBhcHBseS5jOjQ4NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCiBtc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKQEAgLTU1NCw3ICs1NjQsNyBAQAogbXNnc3RyWzJdICLQv9GA0L7Qv9GD0YnQtdC90L4gJWQg0L7RiNC40LHQvtC6INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUiCiBtc2dzdHJbM10gItC/0YDQvtC/0YPRidC10L3QviAlZCDQvtGI0LjQsdC+0Log0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhSIKIAotIzogYXBwbHkuYzo0ODY0IGFwcGx5LmM6NDg3OQorIzogYXBwbHkuYzo0ODY2IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgpAQCAtNTYzLDcgKzU3Myw3IEBACiBtc2dzdHJbMl0gIiVkINGB0YLRgNC+0Log0LTQvtCx0LDQstC40LvQuCDQvtGI0LjQsdC60Lgg0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhS4iCiBtc2dzdHJbM10gIiVkINGB0YLRgNC+0Log0LTQvtCx0LDQstC40LvQuCDQvtGI0LjQsdC60Lgg0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhS4iCiAKLSM6IGFwcGx5LmM6NDg3MgorIzogYXBwbHkuYzo0ODc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCkBAIC01NzIsMjYyICs1ODIsMjYzIEBACiBtc2dzdHJbMl0gIiVkINGB0YLRgNC+0Log0LTQvtCx0LDQstC70LXQvdC+INC/0L7RgdC70LUg0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQvtGI0LjQsdC+0Log0LIg0L/RgNC+0LHQtdC70LDRhS4iCiBtc2dzdHJbM10gIiVkINGB0YLRgNC+0LrQuCDQtNC+0LHQsNCy0LvQtdC90L4g0L/QvtGB0LvQtSDQuNGB0L/RgNCw0LLQu9C10L3QuNGPINC+0YjQuNCx0L7QuiDQsiDQv9GA0L7QsdC10LvQsNGFLiIKIAotIzogYXBwbHkuYzo0ODg4IGJ1aWx0aW4vYWRkLmM6NDYzIGJ1aWx0aW4vbXYuYzoyODYgYnVpbHRpbi9ybS5jOjQzMQorIzogYXBwbHkuYzo0ODkwIGJ1aWx0aW4vYWRkLmM6NTEzIGJ1aWx0aW4vbXYuYzoyOTkgYnVpbHRpbi9ybS5jOjM5MQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC90L7QstGL0Lkg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6NDkxOSBhcHBseS5jOjQ5MjIgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2ZldGNoLmM6OTggYnVpbHRpbi9wdWxsLmM6MTgwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1ODkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ3CisjOiBhcHBseS5jOjQ5MjEgYXBwbHkuYzo0OTI0IGJ1aWx0aW4vYW0uYzoyMjU3IGJ1aWx0aW4vYW0uYzoyMjYwCisjOiBidWlsdGluL2Nsb25lLmM6MTE1IGJ1aWx0aW4vZmV0Y2guYzo5MyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInBhdGgiCiBtc2dzdHIgItC/0YPRgtGMIgogCi0jOiBhcHBseS5jOjQ5MjAKKyM6IGFwcGx5LmM6NDkyMgogbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgItC90LUg0L/RgNC40LzQtdC90Y/RgtGMINC40LfQvNC10L3QtdC90LjRjyDQv9C+INGD0LrQsNC30LDQvdC90L7QvNGDINC/0YPRgtC4IgogCi0jOiBhcHBseS5jOjQ5MjMKKyM6IGFwcGx5LmM6NDkyNQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgItC/0YDQuNC80LXQvdGP0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0L/QviDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQv9GD0YLQuCIKIAotIzogYXBwbHkuYzo0OTI1IGJ1aWx0aW4vYW0uYzoyMjg2CisjOiBhcHBseS5jOjQ5MjcgYnVpbHRpbi9hbS5jOjIyNjYKIG1zZ2lkICJudW0iCiBtc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+IgogCi0jOiBhcHBseS5jOjQ5MjYKKyM6IGFwcGx5LmM6NDkyOAogbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCA80LrQvtC70LjRh9C10YHRgtCy0L4+INCy0LXQtNGD0YnQuNGFINC60L7RgdGL0YUg0YfQtdGA0YIg0LjQtyDRgtGA0LDQtNC40YbQuNC+0L3QvdGL0YUg0L/Rg9GC0LXQuSDRgdC/0LjRgdC60LAg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBhcHBseS5jOjQ5MjkKKyM6IGFwcGx5LmM6NDkzMQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQtNC+0LHQsNCy0LvQtdC90LjRjywg0YHQtNC10LvQsNC90L3Ri9C1INGN0YLQuNC8INC/0LDRgtGH0LXQvCIKIAotIzogYXBwbHkuYzo0OTMxCisjOiBhcHBseS5jOjQ5MzMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgItCy0LzQtdGB0YLQviDQv9GA0LjQvNC10L3QtdC90LjRjyDQv9Cw0YLRh9CwINCy0YvQstC10YHRgtC4INGB0YLQsNGC0LjRgdGC0LjQutGDINC00L7QsdCw0LLQu9C10L3QuNC5INC4INGD0LTQsNC70LXQvdC40Lkg0LTQu9GPINCy0LLQvtC00LAiCiAKLSM6IGFwcGx5LmM6NDkzNQorIzogYXBwbHkuYzo0OTM3CiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDQtNC+0LHQsNCy0LvQtdC90L3Ri9GFINC4INGD0LTQsNC70LXQvdC90YvRhSDRgdGC0YDQvtC6INCyINC00LXRgdGP0YLQuNGH0L3QvtC8INC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC4IgogCi0jOiBhcHBseS5jOjQ5MzcKKyM6IGFwcGx5LmM6NDkzOQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgItCy0LzQtdGB0YLQviDQv9GA0LjQvNC10L3QtdC90LjRjyDQv9Cw0YLRh9CwINCy0YvQstC10YHRgtC4INGB0YLQsNGC0LjRgdGC0LjQutGDINC40LfQvNC10L3QtdC90LjQuSDQtNC70Y8g0LLQstC+0LTQsCIKIAotIzogYXBwbHkuYzo0OTM5CisjOiBhcHBseS5jOjQ5NDEKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgogbXNnc3RyICLQstC80LXRgdGC0L4g0L/RgNC40LzQtdC90LXQvdC40Y8g0L/QsNGC0YfQsCDQv9GA0L7QstC10YDQuNGC0Ywg0L/QvtC00YXQvtC00LjRgiDQu9C4INC+0L0iCiAKLSM6IGFwcGx5LmM6NDk0MQorIzogYXBwbHkuYzo0OTQzCiBtc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0YwsINGH0YLQviDQv9Cw0YLRhyDQv9GA0LjQvNC10L3Rj9C10YLRgdGPINC6INGC0LXQutGD0YnQtdC80YMg0LjQvdC00LXQutGB0YMiCiAKLSM6IGFwcGx5LmM6NDk0MworIzogYXBwbHkuYzo0OTQ1CiBtc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC/0YDQuNC80LXQvdC40YLRjCDQv9Cw0YLRhywg0L3QtSDQuNC30LzQtdC90Y/RjyDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyIKIAotIzogYXBwbHkuYzo0OTQ1CisjOiBhcHBseS5jOjQ5NDcKIG1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgogbXNnc3RyICLQv9GA0LjQvdGP0YLRjCDQv9Cw0YLRhywg0LrQvtGC0L7RgNGL0Lkg0LfQsNGC0YDQsNCz0LjQstCw0LXRgiDRhNCw0LnQu9GLINC30LAg0YDQsNCx0L7Rh9C40Lwg0LrQsNGC0LDQu9C+0LPQvtC8IgogCi0jOiBhcHBseS5jOjQ5NDcKKyM6IGFwcGx5LmM6NDk0OQogbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogbXNnc3RyICLQsCDRgtCw0LrQttC1INC/0YDQuNC80LXQvdC40YLRjCDQv9Cw0YLRhyAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgSAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogCi0jOiBhcHBseS5jOjQ5NDkKKyM6IGFwcGx5LmM6NDk1MQogbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgItC/0L7Qv9GL0YLQsNGC0YzRgdGPINGB0LTQtdC70LDRgtGMINGC0YDQtdGF0YXQvtC00L7QstC+0LUg0YHQu9C40Y/QvdC40LUsINC10YHQu9C4INC/0LDRgtGHINC90LUg0L/RgNC40LzQtdC90Y/QtdGC0YHRjyIKIAotIzogYXBwbHkuYzo0OTUxCisjOiBhcHBseS5jOjQ5NTMKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0L/QvtGB0YLRgNC+0LjRgtGMINCy0YDQtdC80LXQvdC90YvQuSDQuNC90LTQtdC60YEsINC+0YHQvdC+0LLQsNC90L3Ri9C5INC90LAg0LLRgdGC0YDQvtC10L3QvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L7QsSDQuNC90LTQtdC60YHQtSIKIAotIzogYXBwbHkuYzo0OTU0IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjUwNQorIzogYXBwbHkuYzo0OTU2IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzAgYnVpbHRpbi9scy1maWxlcy5jOjUxNQogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICLQv9GD0YLQuCwg0L7RgtC00LXQu9GR0L3QvdGL0LUg0J3Qo9Cb0JXQktCr0Jwg0YHQuNC80LLQvtC70L7QvCIKIAotIzogYXBwbHkuYzo0OTU2CisjOiBhcHBseS5jOjQ5NTgKIG1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCiBtc2dzdHIgItGD0LTQvtGB0YLQvtCy0LXRgNC40YLRjNGB0Y8sINGH0YLQviDQv9C+INC60YDQsNC50L3QtdC5INC80LXRgNC1IDxuPiDRgdGC0YDQvtC6INC60L7QvdGC0LXQutGB0YLQsCDRgdC+0LLQv9Cw0LTQsNGO0YIiCiAKLSM6IGFwcGx5LmM6NDk1NyBidWlsdGluL2FtLmM6MjI2NQorIzogYXBwbHkuYzo0OTU5IGJ1aWx0aW4vYW0uYzoyMjQ1CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICLQtNC10LnRgdGC0LLQuNC1IgogCi0jOiBhcHBseS5jOjQ5NTgKKyM6IGFwcGx5LmM6NDk2MAogbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyICLQvtC/0YDQtdC00LXQu9GP0YLRjCDQvdC+0LLRi9C1INC40LvQuCDQvNC+0LTQuNGE0LjRhtC40YDQvtCy0LDQvdC90YvQtSDRgdGC0YDQvtC60LgsINGDINC60L7RgtC+0YDRi9GFINC10YHRgtGMINC+0YjQuNCx0LrQuCDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFIgogCi0jOiBhcHBseS5jOjQ5NjEgYXBwbHkuYzo0OTY0CisjOiBhcHBseS5jOjQ5NjMgYXBwbHkuYzo0OTY2CiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINC40LfQvNC10L3QtdC90LjRjyDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFINC/0YDQuCDQv9C+0LjRgdC60LUg0LrQvtC90YLQtdC60YHRgtCwIgogCi0jOiBhcHBseS5jOjQ5NjcKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICLQv9GA0LjQvNC10L3QuNGC0Ywg0L/QsNGC0Ycg0YEg0L7QsdGA0LDRidC10L3QuNC10Lwg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBhcHBseS5jOjQ5NjkKKyM6IGFwcGx5LmM6NDk3MQogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICLQvdC1INC+0LbQuNC00LDRgtGMINC60LDQuiDQvNC40L3QuNC80YPQvCDQvtC00L3QvtC5INGB0YLRgNC+0LrQuCDQutC+0L3RgtC10LrRgdGC0LAiCiAKLSM6IGFwcGx5LmM6NDk3MQorIzogYXBwbHkuYzo0OTczCiBtc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCiBtc2dzdHIgItC+0YHRgtCw0LLQuNGC0Ywg0L7RgtC60LvQvtC90LXQvdC90YvQtSDQsdC70L7QutC4INC40LfQvNC10L3QtdC90LjQuSDQsiDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40YUgKi5yZWog0YTQsNC50LvQsNGFIgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0L/QtdGA0LXQutGA0YvQstCw0Y7RidC40LXRgdGPINCx0LvQvtC60Lgg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBhcHBseS5jOjQ5NzQgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjU5MwotIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKKyM6IGFwcGx5LmM6NDk3NiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjUxCisjOiBidWlsdGluL2xvZy5jOjE4NzcgYnVpbHRpbi9tdi5jOjEyMyBidWlsdGluL3JlYWQtdHJlZS5jOjEyNQogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgItCx0YvRgtGMINC80L3QvtCz0L7RgdC70L7QstC90LXQtSIKIAotIzogYXBwbHkuYzo0OTc2CisjOiBhcHBseS5jOjQ5NzgKIG1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC90LXQutC+0YDRgNC10LrRgtC90L4g0L7Qv9GA0LXQtNC10LvQtdC90L3Ri9C1INC/0YDQvtC/0YPRidC10L3QvdGL0LUg0L/Rg9GB0YLRi9C1INGB0YLRgNC+0LrQuCDQsiDQutC+0L3RhtC1INGE0LDQudC70LAiCiAKLSM6IGFwcGx5LmM6NDk3OQorIzogYXBwbHkuYzo0OTgxCiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICLQvdC1INC00L7QstC10YDRj9GC0Ywg0LrQvtC70LjRh9C10YHRgtCy0YMg0YHRgtGA0L7QuiDQuNC3INC30LDQs9C+0LvQvtCy0LrQsCDQsdC70L7QutCwINC40LfQvNC10L3QtdC90LjQuSIKIAotIzogYXBwbHkuYzo0OTgxIGJ1aWx0aW4vYW0uYzoyMjc0CisjOiBhcHBseS5jOjQ5ODMgYnVpbHRpbi9hbS5jOjIyNTQKIG1zZ2lkICJyb290IgogbXNnc3RyICLQutC+0YDQtdC90YwiCiAKLSM6IGFwcGx5LmM6NDk4MgorIzogYXBwbHkuYzo0OTg0CiBtc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCA80LrQvtGA0LXQvdGMPiDRgdC/0LXRgNC10LTQuCDQutC+INCy0YHQtdC8INC40LzQtdC90LDQvCDRhNCw0LnQu9C+0LIiCiAKLSM6IGFyY2hpdmUuYzoxMgorIzogYXJjaGl2ZS5jOjEzCiBtc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgWzzQvtC/0YbQuNC4Pl0gPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LA+IFs80L/Rg9GC0Yw+4oCmXSIKIAotIzogYXJjaGl2ZS5jOjEzCisjOiBhcmNoaXZlLmM6MTQKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjE0CisjOiBhcmNoaXZlLmM6MTUKIG1zZ2lkICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gIgogIls8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4gWy0tZXhlYyA80LrQvtC80LDQvdC00LA+XSBbPNC+0L/RhtC40Lg+XSA80YPQutCw0LfQsNGC0LXQu9GMLdC00LXRgNC10LLQsD4gWzzQv9GD0YLRjD7igKZdIgogCi0jOiBhcmNoaXZlLmM6MTUKKyM6IGFyY2hpdmUuYzoxNgogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDzRgNC10L/QvtC30LjRgtC+0YDQuNC5PiBbLS1leGVjIDzQutC+0LzQsNC90LTQsD5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzI3CisjOiBhcmNoaXZlLmM6MzMzIGJ1aWx0aW4vYWRkLmM6MTU0IGJ1aWx0aW4vYWRkLmM6NDkyIGJ1aWx0aW4vcm0uYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKLW1zZ3N0ciAi0YHQv9C10YbQuNGE0LjQutCw0YbQuNGPINC/0YPRgtC4IMKrJXPCuyDQvdC1INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCINC90Lgg0L7QtNC90L7QvNGDINGE0LDQudC70YMiCittc2dzdHIgItGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgCDQv9GD0YLQuCDCqyVzwrsg0L3QtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0LXRgiDQvdC4INC+0LTQvdC+0LzRgyDRhNCw0LnQu9GDIgogCi0jOiBhcmNoaXZlLmM6NDI5CisjOiBhcmNoaXZlLmM6NDE4CiBtc2dpZCAiZm10IgogbXNnc3RyICLRhNC+0YDQvNCw0YIiCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCINCw0YDRhdC40LLQsCIKIAotIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjE0MjkKKyM6IGFyY2hpdmUuYzo0MTkgYnVpbHRpbi9sb2cuYzoxNDQ2CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICLQv9GA0LXRhNC40LrRgSIKIAotIzogYXJjaGl2ZS5jOjQzMQorIzogYXJjaGl2ZS5jOjQyMAogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgItC00L7QsdCw0LLQu9GP0YLRjCDQv9GA0LXRhNC40LrRgSDQv9C10YDQtdC0INC60LDQttC00YvQvCDQv9GD0YLQtdC8INGE0LDQudC70LAg0LIg0LDRgNGF0LjQstC1IgogCi0jOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYmxhbWUuYzoyNjAzIGJ1aWx0aW4vYmxhbWUuYzoyNjA0IGJ1aWx0aW4vY29uZmlnLmM6NTkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2dyZXAuYzo3MjMKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEgYnVpbHRpbi9scy1maWxlcy5jOjUzOSBidWlsdGluL2xzLWZpbGVzLmM6NTQyCi0jOiBidWlsdGluL25vdGVzLmM6NDAxIGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkKKyM6IGFyY2hpdmUuYzo0MjEgYnVpbHRpbi9ibGFtZS5jOjY5MyBidWlsdGluL2JsYW1lLmM6Njk0IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MSBidWlsdGluL2dyZXAuYzoxMDgwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDkgYnVpbHRpbi9scy1maWxlcy5jOjU1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNCBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIwCiAjOiBwYXJzZS1vcHRpb25zLmg6MTUzCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAi0YTQsNC50LsiCiAKLSM6IGFyY2hpdmUuYzo0MzMgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzo0MjIgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgItC30LDQv9C40YHRjCDQsNGA0YXQuNCy0LAg0LIg0Y3RgtC+0YIg0YTQsNC50LsiCiAKLSM6IGFyY2hpdmUuYzo0MzUKKyM6IGFyY2hpdmUuYzo0MjQKIG1zZ2lkICJyZWFkIC5naXRhdHRyaWJ1dGVzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICLRh9C40YLQsNGC0YwgLmdpdGF0dHJpYnV0ZXMg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYXJjaGl2ZS5jOjQzNgorIzogYXJjaGl2ZS5jOjQyNQogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgItC+0YLRh9C10YIg0L7QsSDQsNGA0YXQuNCy0LjRgNC+0LLQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsiBzdGRlcnIiCiAKLSM6IGFyY2hpdmUuYzo0MzcKKyM6IGFyY2hpdmUuYzo0MjYKIG1zZ2lkICJzdG9yZSBvbmx5IgogbXNnc3RyICLRgtC+0LvRjNC60L4g0YXRgNCw0L3QtdC90LjQtSIKIAotIzogYXJjaGl2ZS5jOjQzOAorIzogYXJjaGl2ZS5jOjQyNwogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKIG1zZ3N0ciAi0YHQttC40LzQsNGC0Ywg0LHRi9GB0YLRgNC10LUiCiAKLSM6IGFyY2hpdmUuYzo0NDYKKyM6IGFyY2hpdmUuYzo0MzUKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgItGB0LbQuNC80LDRgtGMINC70YPRh9GI0LUiCiAKLSM6IGFyY2hpdmUuYzo0NDkKKyM6IGFyY2hpdmUuYzo0MzgKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgItC/0LXRgNC10YfQuNGB0LvQuNGC0Ywg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQtSDRhNC+0YDQvNCw0YLRiyDQsNGA0YXQuNCy0L7QsiIKIAotIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9jbG9uZS5jOjg4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKKyM6IGFyY2hpdmUuYzo0NDAgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjEwNSBidWlsdGluL2Nsb25lLmM6MTA4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODIKIG1zZ2lkICJyZXBvIgogbXNnc3RyICLRgNC10L/QvtC30LjRgtC+0YDQuNC5IgogCi0jOiBhcmNoaXZlLmM6NDUyIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6NDQxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0LDRgNGF0LjQsiDQuNC3INCy0L3QtdGI0L3QtdCz0L4gPNGA0LXQv9C+0LfQuNGC0L7RgNC40Y8+IgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODUKKyM6IGFyY2hpdmUuYzo0NDIgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgItC60L7QvNCw0L3QtNCwIgogCi0jOiBhcmNoaXZlLmM6NDU0IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6NDQzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICLQv9GD0YLRjCDQuiDQutC+0LzQsNC90LTQtSBnaXQtdXBsb2FkLWFyY2hpdmUg0L3QsCDQvNCw0YjQuNC90LUg0YEg0LLQvdC10YjQvdC40Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8IgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDUwCiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgItCd0LXQvtC20LjQtNCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ2MworIzogYXJjaGl2ZS5jOjQ1MgogbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgogbXNnc3RyICLQntC/0YbQuNGPIC0tZXhlYyDQvNC+0LbQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0YLQvtC70YzQutC+INCy0LzQtdGB0YLQtSDRgSAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ2NQorIzogYXJjaGl2ZS5jOjQ1NAogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgogbXNnc3RyICLQndC10L7QttC40LTQsNC90L3QsNGPINC+0L/RhtC40Y8gLS1vdXRwdXQiCiAKLSM6IGFyY2hpdmUuYzo0ODcKKyM6IGFyY2hpdmUuYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgogbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INGE0L7RgNC80LDRgiDQsNGA0YXQuNCy0LAgwqslc8K7IgogCi0jOiBhcmNoaXZlLmM6NDk0CisjOiBhcmNoaXZlLmM6NDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCiBtc2dzdHIgItCQ0YDQs9GD0LzQtdC90YIg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINC00LvRjyDRhNC+0YDQvNCw0YLQsCDCqyVzwrs6IC0lZCIKIAotIzogYXR0ci5jOjI2MworIzogYXR0ci5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlLipzIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lIgorbXNnc3RyICIlLipzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC+0L/Rg9GB0YLQuNC80YvQvCDQuNC80LXQvdC10Lwg0LDRgtGA0LjQsdGD0YLQsCIKKworIzogYXR0ci5jOjQxMAogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgogIlVzZSAnXFwhJyBmb3IgbGl0ZXJhbCBsZWFkaW5nIGV4Y2xhbWF0aW9uLiIKIG1zZ3N0ciAi0J7RgtGA0LjRhtCw0Y7RidC40LUg0YjQsNCx0LvQvtC90Ysg0LIg0LDRgtGA0LjQsdGD0YLQsNGFIGdpdCDQuNCz0L3QvtGA0LjRgNGD0Y7RgtGB0Y8uXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrXFwhwrsg0LTQu9GPINCx0YPQutCy0LDQu9GM0L3QvtCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0YHQuNC80LLQvtC70LAg0LIg0LfQvdCw0YfQtdC90LjQuCDCq9Cy0L7RgdC60LvQuNGG0LDRgtC10LvRjNC90YvQuSDQt9C90LDQusK7LiIKIAotIzogYmlzZWN0LmM6NDQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyDCqyVzwrsiCi0KLSM6IGJpc2VjdC5jOjQ0NgorIzogYmlzZWN0LmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCiBtc2dzdHIgItCf0LvQvtGF0L7QtSDRgdC+0LTQtdGA0LbQuNC80L7QtSDRhNCw0LnQu9CwIMKrJXPCuzogJXMiCkBAIC04NjYsNyArODc3LDcgQEAKICM6IGJpc2VjdC5jOjc1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3Igb2YgdGhlICVzIHJldi5cbiIKKyJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvcnMgb2YgdGhlICVzIHJldi5cbiIKICJnaXQgYmlzZWN0IGNhbm5vdCB3b3JrIHByb3Blcmx5IGluIHRoaXMgY2FzZS5cbiIKICJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIKIG1zZ3N0ciAi0J3QtdGB0LrQvtC70YzQutC+ICVzINC60L7QvNC80LjRgtC+0LIg0L3QtSDRj9Cy0LvRj9GO0YLRgdGPINC/0YDQtdC00LrQsNC80LggJXMg0LrQvtC80LzQuNGC0LAuXG7QkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUgZ2l0IGJpc2VjdCDQvdC1INC80L7QttC10YIg0YDQsNCx0L7RgtCw0YLRjCDQv9GA0LDQstC40LvRjNC90L4uXG7QktC+0LfQvNC+0LbQvdC+LCDQstGLINC/0LXRgNC10L/Rg9GC0LDQu9C4INGA0LXQtNCw0LrRhtC40LggJXMg0LggJXMg0LzQtdGB0YLQsNC80Lg/XG4iCkBAIC04ODksNyArOTAwLDcgQEAKIG1zZ2lkICJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIKIG1zZ3N0ciAi0L3Rg9C20L3QviDRg9C60LDQt9Cw0YLRjCAlcyDRgNC10LTQsNC60YbQuNGOIgogCi0jOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI0OAorIzogYmlzZWN0LmM6ODY2IGJ1aWx0aW4vbm90ZXMuYzoxNzUgYnVpbHRpbi90YWcuYzoyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YTQsNC50Lsgwqslc8K7IgpAQCAtOTI0LDkgKzkzNSw5IEBACiBtc2dzdHJbMl0gIijQv9GA0LjQvNC10YDQvdC+ICVkINGI0LDQs9C+0LIpIgogbXNnc3RyWzNdICIo0L/RgNC40LzQtdGA0L3QviAlZCDRiNCw0LPQvtCyKSIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAotIy4gIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24KLSM6IGJpc2VjdC5jOjk5OAorIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAiKHJvdWdobHkgJWQKKyMuIHN0ZXBzKSIgdHJhbnNsYXRpb24uCisjOiBiaXNlY3QuYzoxMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKQEAgLTkzNSw2ICs5NDYsNDAgQEAKIG1zZ3N0clsyXSAi0JHQuNC90LDRgNC90YvQuSDQv9C+0LjRgdC6OiAlZCDRgNC10LTQsNC60YbQuNC5INC+0YHRgtCw0LvQvtGB0Ywg0L/RgNC+0LLQtdGA0LjRgtGMINC/0L7RgdC70LUg0Y3RgtC+0LkgJXNcbiIKIG1zZ3N0clszXSAi0JHQuNC90LDRgNC90YvQuSDQv9C+0LjRgdC6OiAlZCDRgNC10LTQsNC60YbQuNC5INC+0YHRgtCw0LvQvtGB0Ywg0L/RgNC+0LLQtdGA0LjRgtGMINC/0L7RgdC70LUg0Y3RgtC+0LkgJXNcbiIKIAorIzogYmxhbWUuYzoxNzU3Cittc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKK21zZ3N0ciAiLS1jb250ZW50cyDQuCAtLXJldmVyc2Ug0L3QtSDQvtGH0LXQvdGMINGB0L7Rh9C10YLQsNGO0YLRgdGPLiIKKworIzogYmxhbWUuYzoxNzY4Cittc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgorbXNnc3RyICLQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIC0tY29udGVudHMg0YEg0YPQutCw0LfQsNC90LjQtdC8INGE0LjQvdCw0LvRjNC90L7Qs9C+INC40LzQtdC90Lgg0L7QsdGK0LXQutGC0LAiCisKKyM6IGJsYW1lLmM6MTc4OAorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAi0L/RgNC4IC0tcmV2ZXJzZSDQuCAtLWZpcnN0LXBhcmVudCDQstC80LXRgdGC0LUg0L3Rg9C20L3QviDRg9C60LDQt9GL0LLQsNGC0Ywg0LrQvtC90LrRgNC10YLQvdGL0Lkg0L/QvtGB0LvQtdC00L3QuNC5INC60L7QvNC80LjRgiIKKworIzogYmxhbWUuYzoxNzk3IGJ1bmRsZS5jOjE2NCByZWYtZmlsdGVyLmM6MTkxOSBzZXF1ZW5jZXIuYzoxMTY2CisjOiBzZXF1ZW5jZXIuYzoyMzI4IGJ1aWx0aW4vY29tbWl0LmM6MTA1OCBidWlsdGluL2xvZy5jOjM1NiBidWlsdGluL2xvZy5jOjkwNworIzogYnVpbHRpbi9sb2cuYzoxMzU3IGJ1aWx0aW4vbG9nLmM6MTY4MyBidWlsdGluL2xvZy5jOjE5MjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNjAgYnVpbHRpbi9zaG9ydGxvZy5jOjE3NworbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgorbXNnc3RyICLRgdCx0L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuCDQv9GA0L7RhdC+0LTQsCDQv9C+INGA0LXQtNCw0LrRhtC40Y/QvCIKKworIzogYmxhbWUuYzoxODE1Cittc2dpZCAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKK21zZ3N0ciAi0L/RgNC4INGD0LrQsNC30LDQvdC40LggLS1yZXZlcnNlINC4IC0tZmlyc3QtcGFyZW50INCy0LzQtdGB0YLQtSwg0YLRgNC10LHRg9C10YLRgdGPINGC0LDQutC20LUg0YPQutCw0LfQsNGC0Ywg0LTQuNCw0L/QsNC30L7QvSDQv9C+INGG0LXQv9C+0YfQutC1INC/0LXRgNCy0L7Qs9C+INGA0L7QtNC40YLQtdC70Y8iCisKKyM6IGJsYW1lLmM6MTgyNgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCittc2dzdHIgItC90LXRgiDRgtCw0LrQvtCz0L4g0L/Rg9GC0LggJXMg0LIgJXMiCisKKyM6IGJsYW1lLmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0Ywg0L7QsdGK0LXQutGCICVzINC00LvRjyDQv9GD0YLQuCAlcyIKKwogIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMTA1NSw3ICsxMTAwLDcgQEAKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiwqslc8K7INGD0LbQtSDQvdCw0YXQvtC00LjRgtGB0Y8g0L3QsCDCqyVzwrsiCiAKLSM6IGJyYW5jaC5jOjM2MworIzogYnJhbmNoLmM6MzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICJIRUFEINGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCAlcyDQvdC1INC+0LHQvdC+0LLQu9GR0L0iCkBAIC0xMDY1LDI4ICsxMTEwLDIxIEBACiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBsb29rIGxpa2UgYSB2MiBidW5kbGUgZmlsZSIKIG1zZ3N0ciAiwqslc8K7INC90LUg0L/QvtGF0L7QtiDQvdCwINGE0LDQudC7INC/0LDQutC10YLQsCDQstC10YDRgdC40LggMiIKIAotIzogYnVuZGxlLmM6NjEKKyM6IGJ1bmRsZS5jOjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INC30LDQs9C+0LvQvtCy0L7QujogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4NyBzZXF1ZW5jZXIuYzo5NjMgYnVpbHRpbi9jb21taXQuYzo3NzcKKyM6IGJ1bmRsZS5jOjg4IHNlcXVlbmNlci5jOjEzNDQgc2VxdWVuY2VyLmM6MTc3MCBidWlsdGluL2NvbW1pdC5jOjc3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMIMKrJXPCuyIKIAotIzogYnVuZGxlLmM6MTM5CisjOiBidW5kbGUuYzoxNDAKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAi0JIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCDQvtGC0YHRg9GC0YHRgtCy0YPRjtGCINC90LXQvtCx0YXQvtC00LjQvNGL0LUg0LrQvtC80LzQuNGC0Ys6IgogCi0jOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0NjIgc2VxdWVuY2VyLmM6ODMwIHNlcXVlbmNlci5jOjEzNzQKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODE0IGJ1aWx0aW4vY29tbWl0LmM6MTA2MSBidWlsdGluL2xvZy5jOjM0OAotIzogYnVpbHRpbi9sb2cuYzo4OTAgYnVpbHRpbi9sb2cuYzoxMzQwIGJ1aWx0aW4vbG9nLmM6MTY2NiBidWlsdGluL2xvZy5jOjE5MDkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNTYgYnVpbHRpbi9zaG9ydGxvZy5jOjE3MAotbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgotbXNnc3RyICLRgdCx0L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuCDQv9GA0L7RhdC+0LTQsCDQv9C+INGA0LXQtNCw0LrRhtC40Y/QvCIKLQotIzogYnVuZGxlLmM6MTg1CisjOiBidW5kbGUuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgY29udGFpbnMgdGhlc2UgJWQgcmVmczoiCkBAIC0xMDk1LDExICsxMTMzLDExIEBACiBtc2dzdHJbMl0gItCf0LDQutC10YIg0YHQvtC00LXRgNC20LjRgiDRjdGC0LggJWQg0YHRgdGL0LvQvtC6OiIKIG1zZ3N0clszXSAi0J/QsNC60LXRgiDRgdC+0LTQtdGA0LbQuNGCINGN0YLQuCAlZCDRgdGB0YvQu9C+0Lo6IgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE5MwogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICLQn9Cw0LrQtdGCINGB0L7QtNC10YDQttC40YIg0L/QvtC70L3Rg9GOINC40YHRgtC+0YDQuNGOLiIKIAotIzogYnVuZGxlLmM6MTk0CisjOiBidW5kbGUuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCkBAIC0xMTA4LDU4ICsxMTQ2LDU4IEBACiBtc2dzdHJbMl0gItCf0LDQutC10YIg0YLRgNC10LHRg9C10YIg0Y3RgtC4ICVkINGB0YHRi9C70L7QujoiCiBtc2dzdHJbM10gItCf0LDQutC10YIg0YLRgNC10LHRg9C10YIg0Y3RgtC4ICVkINGB0YHRi9C70L7QujoiCiAKLSM6IGJ1bmRsZS5jOjI1MworIzogYnVuZGxlLmM6MjU0CiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQvtCx0YrQtdC60YLRiyDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1bmRsZS5jOjI2NAorIzogYnVuZGxlLmM6MjY1CiBtc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCiBtc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwIHBhY2stb2JqZWN0cyIKIAotIzogYnVuZGxlLmM6MzA0CisjOiBidW5kbGUuYzozMDcKIG1zZ2lkICJyZXYtbGlzdCBkaWVkIgogbXNnc3RyICLQutGA0LjRgtC40YfQtdGB0LrQsNGPINC+0YjQuNCx0LrQsCByZXYtbGlzdCIKIAotIzogYnVuZGxlLmM6MzUzCisjOiBidW5kbGUuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgItGB0YHRi9C70LrQsCDCqyVzwrsg0LjRgdC60LvRjtGH0LXQvdCwINCyINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQuCDRgSDQvtC/0YbQuNGP0LzQuCByZXYtbGlzdCIKIAotIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTY1IGJ1aWx0aW4vbG9nLmM6MTU3MiBidWlsdGluL3Nob3J0bG9nLmM6MjczCisjOiBidW5kbGUuYzo0NDYgYnVpbHRpbi9sb2cuYzoxNzMgYnVpbHRpbi9sb2cuYzoxNTg5IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INCw0YDQs9GD0LzQtdC90YI6ICVzIgogCi0jOiBidW5kbGUuYzo0NTEKKyM6IGJ1bmRsZS5jOjQ1NAogbXNnaWQgIlJlZnVzaW5nIHRvIGNyZWF0ZSBlbXB0eSBidW5kbGUuIgogbXNnc3RyICLQntGC0LrQu9C+0L3QtdC90LjQtSDRgdC+0LfQtNCw0L3QuNGPINC/0YPRgdGC0L7Qs9C+INC/0LDQutC10YLQsC4iCiAKLSM6IGJ1bmRsZS5jOjQ2MworIzogYnVuZGxlLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDCqyVzwrsiCiAKLSM6IGJ1bmRsZS5jOjQ5MQorIzogYnVuZGxlLmM6NDk0CiBtc2dpZCAiaW5kZXgtcGFjayBkaWVkIgogbXNnc3RyICLQutGA0LjRgtC40YfQtdGB0LrQsNGPINC+0YjQuNCx0LrQsCBpbmRleC1wYWNrIgogCi0jOiBjb2xvci5jOjI5MAorIzogY29sb3IuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC30L3QsNGH0LXQvdC40LUg0YbQstC10YLQsDogJS4qcyIKIAotIzogY29tbWl0LmM6NDAgYnVpbHRpbi9hbS5jOjQyMSBidWlsdGluL2FtLmM6NDU3IGJ1aWx0aW4vYW0uYzoxNDkzCi0jOiBidWlsdGluL2FtLmM6MjEyNworIzogY29tbWl0LmM6NDEgc2VxdWVuY2VyLmM6MTU4MiBidWlsdGluL2FtLmM6NDIwIGJ1aWx0aW4vYW0uYzo0NTYKKyM6IGJ1aWx0aW4vYW0uYzoxNDY5IGJ1aWx0aW4vYW0uYzoyMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0YwgJXMiCiAKLSM6IGNvbW1pdC5jOjQyCisjOiBjb21taXQuYzo0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQvtC80LzQuNGC0L7QvCEiCiAKLSM6IGNvbW1pdC5jOjE1MTQKKyM6IGNvbW1pdC5jOjE1MTEKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCkBAIC0xMTcwLDEzMiArMTIwOCwxNjEgQEAKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICLQv9Cw0LzRj9GC0Ywg0LjRgdGH0LXRgNC/0LDQvdCwIgogCi0jOiBjb25maWcuYzo1MTYKKyM6IGNvbmZpZy5jOjE4NgorbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlIGNvbmRpdGlvbmFscyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKK21zZ3N0ciAi0L7RgtC90L7RgdC40YLQtdC70YzQvdGL0LUg0YPRgdC70L7QstC90YvQtSDQstC60LvRjtGH0LXQvdC40Y8g0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4INC00L7Qu9C20L3RiyDQuNGB0YXQvtC00LjRgtGMINC40Lcg0YTQsNC50LvQvtCyIgorCisjOiBjb25maWcuYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQsiAlZCDRgdGC0YDQvtC60LUg0LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwICVzIgogCi0jOiBjb25maWcuYzo1MjAKKyM6IGNvbmZpZy5jOjcyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAi0L7RiNC40LHQutCwINCyICVkINGB0YLRgNC+0LrQtSDRhNCw0LnQu9CwICVzIgogCi0jOiBjb25maWcuYzo1MjQKKyM6IGNvbmZpZy5jOjcyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQsiAlZCDRgdGC0YDQvtC60LUg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGNvbmZpZy5jOjUyOAorIzogY29uZmlnLmM6NzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKIG1zZ3N0ciAi0L7RiNC40LHQutCwINCyICVkINGB0YLRgNC+0LrQtSDQtNCy0L7QuNGH0L3QvtCz0L4g0L7QsdGK0LXQutGC0LAg0L/QvtC00LzQvtC00YPQu9GPICVzIgogCi0jOiBjb25maWcuYzo1MzIKKyM6IGNvbmZpZy5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gY29tbWFuZCBsaW5lICVzIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0LIgJWQg0YHRgtGA0L7QutC1INC60L7QvNC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuCAlcyIKIAotIzogY29uZmlnLmM6NTM2CisjOiBjb25maWcuYzo3NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0LIgJWQg0YHRgtGA0L7QutC1INCyICVzIgogCi0jOiBjb25maWcuYzo2NTUKKyM6IGNvbmZpZy5jOjg2OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAi0LLQvdC1INC00LjQsNC/0LDQt9C+0L3QsCIKIAotIzogY29uZmlnLmM6NjU1CisjOiBjb25maWcuYzo4NjgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+IgogCi0jOiBjb25maWcuYzo2NjEKKyM6IGNvbmZpZy5jOjg3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDCqyVzwrs6ICVzIgogCi0jOiBjb25maWcuYzo2NjYKKyM6IGNvbmZpZy5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INGH0LjRgdC70L7QstC+0LUg0LfQvdCw0YfQtdC90LjQtSDCqyVzwrsg0LTQu9GPIMKrJXPCuyDQsiDQtNCy0L7QuNGH0L3QvtC8INC+0LHRitC10LrRgtC1ICVzOiAlcyIKIAotIzogY29uZmlnLmM6NjY5CisjOiBjb25maWcuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDCqyVzwrsg0LIg0YTQsNC50LvQtSAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY3MgorIzogY29uZmlnLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INGH0LjRgdC70L7QstC+0LUg0LfQvdCw0YfQtdC90LjQtSDCqyVzwrsg0LTQu9GPIMKrJXPCuyDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdC+0Lwg0LLQstC+0LTQtTogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NQorIzogY29uZmlnLmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INGH0LjRgdC70L7QstC+0LUg0LfQvdCw0YfQtdC90LjQtSDCqyVzwrsg0LTQu9GPIMKrJXPCuyDQsiDQtNCy0L7QuNGH0L3QvtC8INC+0LHRitC10LrRgtC1INC/0L7QtNC80L7QtNGD0LvRjyAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY3OAorIzogY29uZmlnLmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDCqyVzwrsg0L3QsCDQutC+0LzQvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LUgJXM6ICVzIgogCi0jOiBjb25maWcuYzo2ODEKKyM6IGNvbmZpZy5jOjg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDCqyVzwrsg0LIgJXM6ICVzIgogCi0jOiBjb25maWcuYzo3NjgKKyM6IGNvbmZpZy5jOjk4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICLRgdCx0L7QuSDRgNCw0LfQstC+0YDQsNGH0LjQstCw0L3QuNGPINC/0YPRgtC4INC60LDRgtCw0LvQvtCz0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPOiDCqyVzwrsiCiAKLSM6IGNvbmZpZy5jOjg1MiBjb25maWcuYzo4NjMKKyM6IGNvbmZpZy5jOjEwODQgY29uZmlnLmM6MTA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGD0YDQvtCy0LXQvdGMINGB0LbQsNGC0LjRjyB6bGliICVkIgogCi0jOiBjb25maWcuYzo5NzgKKyM6IGNvbmZpZy5jOjEyMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0YDQtdC20LjQvCDRgdC+0LfQtNCw0L3QuNGPINC+0LHRitC10LrRgtCwOiAlcyIKIAotIzogY29uZmlnLmM6MTMxMgorIzogY29uZmlnLmM6MTM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGD0YDQvtCy0LXQvdGMINGB0LbQsNGC0LjRjyDQv9Cw0LrQtdGC0LAgJWQiCisKKyM6IGNvbmZpZy5jOjE1NjQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGOINC40Lcg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuCIKIAotIzogY29uZmlnLmM6MTM2MgorIzogY29uZmlnLmM6MTg5NAogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAi0L/RgNC+0LjQt9C+0YjQu9CwINC90LXQuNC30LLQtdGB0YLQvdCw0Y8g0L7RiNC40LHQutCwINC/0YDQuCDRh9GC0LXQvdC40Lgg0YTQsNC50LvQvtCyINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCIKIAotIzogY29uZmlnLmM6MTcxNgorIzogY29uZmlnLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgorbXNnc3RyICLQndC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSAlczogwqslc8K7IgorCisjOiBjb25maWcuYzoyMDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90L7QtSDQt9C90LDRh9C10L3QuNC1IMKrJXPCuyDQtNC70Y8gY29yZS51bnRyYWNrZWRDYWNoZTsg0LjRgdC/0L7Qu9GM0LfRg9GOINGB0YLQsNC90LTQsNGA0YLQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDCq2tlZXDCuyIKKworIzogY29uZmlnLmM6MjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCittc2dzdHIgItC30L3QsNGH0LXQvdC40LUgwqslZMK7INC00LvRjyBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2Ug0LTQvtC70LbQvdC+INCx0YvRgtGMINC+0YIgMCDQtNC+IDEwMCIKKworIzogY29uZmlnLmM6MjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMIMKrJXPCuyDQsiDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0LjQtyDQutC+0LzQsNC90LTQvdC+0Lkg0YHRgtGA0L7QutC4IgogCi0jOiBjb25maWcuYzoxNzE4CisjOiBjb25maWcuYzoyMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINC/0LXRgNC10LzQtdC90L3QsNGPINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDCqyVzwrsg0LIg0YTQsNC50LvQtSDCqyVzwrsg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGNvbmZpZy5jOjE3NzcKKyM6IGNvbmZpZy5jOjIxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKIG1zZ3N0ciAiJXMg0LjQvNC10LXRgiDQvdC10YHQutC+0LvRjNC60L4g0LfQvdCw0YfQtdC90LjQuSIKIAotIzogY29uZmlnLmM6MjMxMQorIzogY29uZmlnLmM6MjUxNyBjb25maWcuYzoyNzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKK21zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INCy0YvQv9C+0LvQvdC10L3QuNC4IGZzdGF0INC90LAg0YTQsNC50LvQtSAlcyIKKworIzogY29uZmlnLmM6MjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9GB0YLQsNC90L7QstC40YLRjCDCqyVzwrsg0LIgwqslc8K7IgogCi0jOiBjb25maWcuYzoyMzEzCisjOiBjb25maWcuYzoyNjM3IGJ1aWx0aW4vcmVtb3RlLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0LHRgNC+0YHQuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8gwqslc8K7IgogCi0jOiBjb25uZWN0LmM6NDkKKyM6IGNvbm5lY3QuYzo1MAogbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCiBtc2dzdHIgItCS0L3QtdGI0L3QuNC5INGB0LXRgNCy0LXRgCDQvtGC0YHQvtC10LTQuNC90LjQu9GB0Y8g0LTQviDQvdCw0YfQsNC70LAg0YHQtdCw0L3RgdCwINGB0LLRj9C30LgiCiAKLSM6IGNvbm5lY3QuYzo1MQorIzogY29ubmVjdC5jOjUyCiBtc2dpZCAiIgogIkNvdWxkIG5vdCByZWFkIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkuXG4iCiAiXG4iCkBAIC0xMzAzLDcgKzEzNzAsNyBAQAogImFuZCB0aGUgcmVwb3NpdG9yeSBleGlzdHMuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC3INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjy5cblxu0KPQtNC+0YHRgtC+0LLQtdGA0YzRgtC10YHRjCwg0YfRgtC+INGDINCy0LDRgSDQtdGB0YLRjCDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0LBcbtC4INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0YHRg9GJ0LXRgdGC0LLRg9C10YIuIgogCi0jOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxNzMgYnVpbHRpbi9wcnVuZS5jOjE0MAorIzogY29ubmVjdGVkLmM6NjMgYnVpbHRpbi9mc2NrLmM6MTkxIGJ1aWx0aW4vcHJ1bmUuYzoxNDEKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0YHQvtC10LTQuNC90LXQvdC40Y8iCiAKQEAgLTEzMTksMTE1ICsxMzg2LDExNSBAQAogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICLRgdCx0L7QuSDQt9Cw0LrRgNGL0YLQuNGPINGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwINGDIHJldi1saXN0IgogCi0jOiBjb252ZXJ0LmM6MjAxCisjOiBjb252ZXJ0LmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCiAiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeS4iCiBtc2dzdHIgIkNSTEYg0LHRg9C00LXRgiDQt9Cw0LzQtdC90LXQvSDQvdCwIExGINCyICVzLlxu0KTQsNC50Lsg0LHRg9C00LXRgiDQuNC80LXRgtGMINGB0LLQvtC4INC+0YDQuNCz0LjQvdCw0LvRjNC90YvQtSDQutC+0L3RhtGLINGB0YLRgNC+0Log0LIg0YDQsNGI0LXQuSDRgNCw0LHQvtGH0LXQuSDQutC+0L/QuNC4LiIKIAotIzogY29udmVydC5jOjIwNQorIzogY29udmVydC5jOjIwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLiIKIG1zZ3N0ciAiQ1JMRiDQsdGD0LTQtdGCINC30LDQvNC10L3QtdC9INC90LAgTEYg0LIgJXMuIgogCi0jOiBjb252ZXJ0LmM6MjExCisjOiBjb252ZXJ0LmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMuXG4iCiAiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeS4iCiBtc2dzdHIgIkxGINCx0YPQtNC10YIg0LfQsNC80LXQvdC10L0g0L3QsCBDUkxGINCyICVzLlxu0KTQsNC50Lsg0LHRg9C00LXRgiDQuNC80LXRgtGMINGB0LLQvtC4INC+0YDQuNCz0LjQvdCw0LvRjNC90YvQtSDQutC+0L3RhtGLINGB0YLRgNC+0Log0LIg0YDQsNGI0LXQuSDRgNCw0LHQvtGH0LXQuSDQutC+0L/QuNC4LiIKIAotIzogY29udmVydC5jOjIxNQorIzogY29udmVydC5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIgogbXNnc3RyICJMRiDQsdGD0LTQtdGCINC30LDQvNC10L3QtdC9INC90LAgQ1JMRiDQsiAlcyIKIAotIzogZGF0ZS5jOjk3CisjOiBkYXRlLmM6MTE2CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAi0LIg0LHRg9C00YPRidC10LwiCiAKLSM6IGRhdGUuYzoxMDMKKyM6IGRhdGUuYzoxMjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHNlY29uZCBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBzZWNvbmRzIGFnbyIKLW1zZ3N0clswXSAiJWx1INGB0LXQutGD0L3QtNGDINC90LDQt9Cw0LQiCi1tc2dzdHJbMV0gIiVsdSDRgdC10LrRg9C90LTRiyDQvdCw0LfQsNC0IgotbXNnc3RyWzJdICIlbHUg0YHQtdC60YPQvdC0INC90LDQt9Cw0LQiCi1tc2dzdHJbM10gIiVsdSDRgdC10LrRg9C90LQg0L3QsNC30LDQtCIKK21zZ2lkICIlPFBSSXVNQVg+IHNlY29uZCBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gc2Vjb25kcyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g0YHQtdC60YPQvdC00LAg0L3QsNC30LDQtCIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiDRgdC10LrRg9C90LTRiyDQvdCw0LfQsNC0IgorbXNnc3RyWzJdICIlPFBSSXVNQVg+INGB0LXQutGD0L3QtCDQvdCw0LfQsNC0IgorbXNnc3RyWzNdICIlPFBSSXVNQVg+INGB0LXQutGD0L3QtNGLINC90LDQt9Cw0LQiCiAKLSM6IGRhdGUuYzoxMTAKKyM6IGRhdGUuYzoxMjkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IG1pbnV0ZSBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBtaW51dGVzIGFnbyIKLW1zZ3N0clswXSAiJWx1INC80LjQvdGD0YLRgyDQvdCw0LfQsNC0IgotbXNnc3RyWzFdICIlbHUg0LzQuNC90YPRgtGLINC90LDQt9Cw0LQiCi1tc2dzdHJbMl0gIiVsdSDQvNC40L3Rg9GCINC90LDQt9Cw0LQiCi1tc2dzdHJbM10gIiVsdSDQvNC40L3Rg9GCINC90LDQt9Cw0LQiCittc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+INC80LjQvdGD0YLQsCDQvdCw0LfQsNC0IgorbXNnc3RyWzFdICIlPFBSSXVNQVg+INC80LjQvdGD0YLRiyDQvdCw0LfQsNC0IgorbXNnc3RyWzJdICIlPFBSSXVNQVg+INC80LjQvdGD0YIg0L3QsNC30LDQtCIKK21zZ3N0clszXSAiJTxQUkl1TUFYPiDQvNC40L3Rg9GC0Ysg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjExNworIzogZGF0ZS5jOjEzNgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgaG91ciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCi1tc2dzdHJbMF0gIiVsdSDRh9Cw0YEg0L3QsNC30LDQtCIKLW1zZ3N0clsxXSAiJWx1INGH0LDRgdCwINC90LDQt9Cw0LQiCi1tc2dzdHJbMl0gIiVsdSDRh9Cw0YHQvtCyINC90LDQt9Cw0LQiCi1tc2dzdHJbM10gIiVsdSDRh9Cw0YHQvtCyINC90LDQt9Cw0LQiCittc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g0YfQsNGBINC90LDQt9Cw0LQiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g0YfQsNGB0LAg0L3QsNC30LDQtCIKK21zZ3N0clsyXSAiJTxQUkl1TUFYPiDRh9Cw0YHQvtCyINC90LDQt9Cw0LQiCittc2dzdHJbM10gIiU8UFJJdU1BWD4g0YfQsNGB0LAg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjEyNAorIzogZGF0ZS5jOjE0MwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgZGF5IGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgotbXNnc3RyWzBdICIlbHUg0LTQtdC90Ywg0L3QsNC30LDQtCIKLW1zZ3N0clsxXSAiJWx1INC00L3RjyDQvdCw0LfQsNC0IgotbXNnc3RyWzJdICIlbHUg0LTQvdC10Lkg0L3QsNC30LDQtCIKLW1zZ3N0clszXSAiJWx1INC00L3QtdC5INC90LDQt9Cw0LQiCittc2dpZCAiJTxQUkl1TUFYPiBkYXkgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGRheXMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+INC00LXQvdGMINC90LDQt9Cw0LQiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g0LTQvdGPINC90LDQt9Cw0LQiCittc2dzdHJbMl0gIiU8UFJJdU1BWD4g0LTQvdC10Lkg0L3QsNC30LDQtCIKK21zZ3N0clszXSAiJTxQUkl1TUFYPiDQtNC90Y8g0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjEzMAorIzogZGF0ZS5jOjE0OQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgd2VlayBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCi1tc2dzdHJbMF0gIiVsdSDQvdC10LTQtdC70Y4g0L3QsNC30LDQtCIKLW1zZ3N0clsxXSAiJWx1INC90LXQtNC10LvQuCDQvdCw0LfQsNC0IgotbXNnc3RyWzJdICIlbHUg0L3QtdC00LXQu9GMINC90LDQt9Cw0LQiCi1tc2dzdHJbM10gIiVsdSDQvdC10LTQtdC70Ywg0L3QsNC30LDQtCIKK21zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiDQvdC10LTQtdC70Y4g0L3QsNC30LDQtCIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiDQvdC10LTQtdC70Lgg0L3QsNC30LDQtCIKK21zZ3N0clsyXSAiJTxQUkl1TUFYPiDQvdC10LTQtdC70Ywg0L3QsNC30LDQtCIKK21zZ3N0clszXSAiJTxQUkl1TUFYPiDQvdC10LTQtdC70Lgg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjEzNworIzogZGF0ZS5jOjE1NgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbW9udGggYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgbW9udGhzIGFnbyIKLW1zZ3N0clswXSAiJWx1INC80LXRgdGP0YYg0L3QsNC30LDQtCIKLW1zZ3N0clsxXSAiJWx1INC80LXRgdGP0YbQsCDQvdCw0LfQsNC0IgotbXNnc3RyWzJdICIlbHUg0LzQtdGB0Y/RhtC10LIg0L3QsNC30LDQtCIKLW1zZ3N0clszXSAiJWx1INC80LXRgdGP0YbQtdCyINC90LDQt9Cw0LQiCittc2dpZCAiJTxQUkl1TUFYPiBtb250aCBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbW9udGhzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiDQvNC10YHRj9GGINC90LDQt9Cw0LQiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g0LzQtdGB0Y/RhtCwINC90LDQt9Cw0LQiCittc2dzdHJbMl0gIiU8UFJJdU1BWD4g0LzQtdGB0Y/RhtC10LIg0L3QsNC30LDQtCIKK21zZ3N0clszXSAiJTxQUkl1TUFYPiDQvNC10YHRj9GG0LAg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjE0OAorIzogZGF0ZS5jOjE2NwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgotbXNnc3RyWzBdICIlbHUg0LPQvtC0IgotbXNnc3RyWzFdICIlbHUg0LPQvtC00LAiCi1tc2dzdHJbMl0gIiVsdSDQu9C10YIiCi1tc2dzdHJbM10gIiVsdSDQu9C10YIiCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+INCz0L7QtCIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiDQs9C+0LTQsCIKK21zZ3N0clsyXSAiJTxQUkl1TUFYPiDQu9C10YIiCittc2dzdHJbM10gIiU8UFJJdU1BWD4g0LPQvtC00LAiCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTUxCisjOiBkYXRlLmM6MTcwCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzLCAlbHUgbW9udGggYWdvIgotbXNnaWRfcGx1cmFsICIlcywgJWx1IG1vbnRocyBhZ28iCi1tc2dzdHJbMF0gIiVzINC4ICVsdSDQvNC10YHRj9GGINC90LDQt9Cw0LQiCi1tc2dzdHJbMV0gIiVzINC4ICVsdSDQvNC10YHRj9GG0LAg0L3QsNC30LDQtCIKLW1zZ3N0clsyXSAiJXMg0LggJWx1INC80LXRgdGP0YbQtdCyINC90LDQt9Cw0LQiCi1tc2dzdHJbM10gIiVzINC4ICVsdSDQvNC10YHRj9GG0LXQsiDQvdCw0LfQsNC0IgorbXNnaWQgIiVzLCAlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJXMsICU8UFJJdU1BWD4gbW9udGhzIGFnbyIKK21zZ3N0clswXSAiJXMsICU8UFJJdU1BWD4g0LzQtdGB0Y/RhiDQvdCw0LfQsNC0IgorbXNnc3RyWzFdICIlcywgJTxQUkl1TUFYPiDQvNC10YHRj9GG0LAg0L3QsNC30LDQtCIKK21zZ3N0clsyXSAiJXMsICU8UFJJdU1BWD4g0LzQtdGB0Y/RhtC10LIg0L3QsNC30LDQtCIKK21zZ3N0clszXSAiJXMsICU8UFJJdU1BWD4g0LzQtdGB0Y/RhtCwINC90LDQt9Cw0LQiCiAKLSM6IGRhdGUuYzoxNTYgZGF0ZS5jOjE2MQorIzogZGF0ZS5jOjE3NSBkYXRlLmM6MTgwCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSB5ZWFyIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIGFnbyIKLW1zZ3N0clswXSAiJWx1INCz0L7QtCDQvdCw0LfQsNC0IgotbXNnc3RyWzFdICIlbHUg0LPQvtC00LAg0L3QsNC30LDQtCIKLW1zZ3N0clsyXSAiJWx1INC70LXRgiDQvdCw0LfQsNC0IgotbXNnc3RyWzNdICIlbHUg0LvQtdGCINC90LDQt9Cw0LQiCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g0LPQvtC0INC90LDQt9Cw0LQiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g0LPQvtC00LAg0L3QsNC30LDQtCIKK21zZ3N0clsyXSAiJTxQUkl1TUFYPiDQu9C10YIg0L3QsNC30LDQtCIKK21zZ3N0clszXSAiJTxQUkl1TUFYPiDQs9C+0LTQsCDQvdCw0LfQsNC0IgogCiAjOiBkaWZmY29yZS1vcmRlci5jOjI0CiAjLCBjLWZvcm1hdApAQCAtMTQzOCwzMTcgKzE1MDUsMzc2IEBACiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgItCS0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QtdGC0L7Rh9C90L7QtSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Y8iCiAKLSM6IGRpZmYuYzo2MgorIzogZGlmZi5jOjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgwqslc8K7INGC0YDQtdCx0YPQtdGCINGD0LrQsNC30LDQvdC40Y8g0LfQvdCw0YfQtdC90LjRjyIKIAotIzogZGlmZi5jOjEyNAorIzogZGlmZi5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAg0KHQsdC+0Lkg0YDQsNC30LHQvtGA0LAg0LLQtdC70LjRh9C40L3RiyDRgdGA0LXQt9CwIChjdXQtb2ZmKSDRgyBkaXJzdGF0IMKrJXPCu1xuIgogCi0jOiBkaWZmLmM6MTI5CisjOiBkaWZmLmM6MTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCBkaXJzdGF0OiDCqyVzwrtcbiIKIAotIzogZGlmZi5jOjI4MworIzogZGlmZi5jOjI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90L7QtSDQt9C90LDRh9C10L3QuNGPINC00LvRjyDQv9C10YDQtdC80LXQvdC90L7QuSDCq2RpZmYuc3VibW9kdWxlwrs6IMKrJXPCuyIKIAotIzogZGlmZi5jOjM0NgorIzogZGlmZi5jOjM0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKICIlcyIKIG1zZ3N0ciAi0J3QsNC50LTQtdC90Ysg0L7RiNC40LHQutC4INCyINC/0LXRgNC10LzQtdC90L3QvtC5IMKrZGlmZi5kaXJzdGF0wrs6XG4lcyIKIAotIzogZGlmZi5jOjMwODcKKyM6IGRpZmYuYzozMTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwINC/0YDQuCDQstC90LXRiNC90LXQvCDRgdGA0LDQstC90LXQvdC40LgsINC+0YHRgtCw0L3QvtCyINC90LAgJXMiCiAKLSM6IGRpZmYuYzozNDEyCisjOiBkaWZmLmM6MzQyNwogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayDQuCAtcyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogZGlmZi5jOjM1MDIKKyM6IGRpZmYuYzozNTE3CiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCi1tc2dzdHIgIi0tZm9sbG93INGC0YDQtdCx0YPQtdGCINGA0L7QstC90L4g0L7QtNC90L7QuSDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0L/Rg9GC0LgiCittc2dzdHIgIi0tZm9sbG93INGC0YDQtdCx0YPQtdGCINGA0L7QstC90L4g0L7QtNC90L7Qs9C+INGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNCwINC/0YPRgtC4IgogCi0jOiBkaWZmLmM6MzY2NQorIzogZGlmZi5jOjM2ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKICIlcyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0YDQsNC30LHQvtGA0LAg0L/QsNGA0LDQvNC10YLRgNCwINC+0L/RhtC40LggLS1kaXJzdGF0Ly1YIDpcbiVzIgogCi0jOiBkaWZmLmM6MzY3OQorIzogZGlmZi5jOjM2OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgItCh0LHQvtC5INGA0LDQt9Cx0L7RgNCwINC/0LDRgNCw0LzQtdGC0YDQsCDQvtC/0YbQuNC4IC0tc3VibW9kdWxlOiDCqyVzwrsiCiAKLSM6IGRpZmYuYzo0NzAwCisjOiBkaWZmLmM6NDcxNgogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICLQvdC10YLQvtGH0L3QvtC1INC+0L/RgNC10LTQtdC70LXQvdC40LUg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjRjyDQsdGL0LvQviDQv9GA0L7Qv9GD0YnQtdC90L4g0LjQty3Qt9CwINGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0YTQsNC50LvQvtCyLiIKIAotIzogZGlmZi5jOjQ3MDMKKyM6IGRpZmYuYzo0NzE5CiBtc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICLQvdCw0LnQtNC10L3RiyDRgtC+0LvRjNC60L4g0LrQvtC/0LjQuCDQuNC3INC40LfQvNC10L3QtdC90L3Ri9GFINC/0YPRgtC10Lkg0LjQty3Qt9CwINGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0YTQsNC50LvQvtCyLiIKIAotIzogZGlmZi5jOjQ3MDYKKyM6IGRpZmYuYzo0NzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKIG1zZ3N0ciAi0LLQvtC30LzQvtC20L3QviDQstGLINC30LDRhdC+0YLQuNGC0LUg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L/QtdGA0LXQvNC10L3QvdGD0Y4gJXMg0LIg0LrQsNC6INC80LjQvdC40LzRg9C8INC30L3QsNGH0LXQvdC40LUgJWQg0Lgg0L/QvtCy0YLQvtGA0LjRgtGMINCy0YvQt9C+0LIg0LrQvtC80LDQvdC00YsuIgogCi0jOiBkaXIuYzoxODY2CisjOiBkaXIuYzoxOTQ4CiBtc2dpZCAiZmFpbGVkIHRvIGdldCBrZXJuZWwgbmFtZSBhbmQgaW5mb3JtYXRpb24iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQuNC80Y8g0Y/QtNGA0LAg0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y4iCiAKLSM6IGRpci5jOjE5ODUKKyM6IGRpci5jOjIwNjcKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24uIgogbXNnc3RyICLQmtGN0Ygg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDQvtGC0LrQu9GO0YfQtdC9INC90LAg0Y3RgtC+0Lkg0YHQuNGB0YLQtdC80LUg0LjQu9C4INCyINGN0YLQvtC8INC80LXRgdGC0LUuIgogCi0jOiBmZXRjaC1wYWNrLmM6MjEzCisjOiBkaXIuYzoyODQ2IGRpci5jOjI4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LPQuCDQtNC70Y8gJXMiCisKKyM6IGRpci5jOjI4NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG1pZ3JhdGUgZ2l0IGRpcmVjdG9yeSBmcm9tICclcycgdG8gJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMINC60LDRgtCw0LvQvtCzIGdpdCDRgSDCqyVzwrsg0LIgwqslc8K7IgorCisjOiBlbnRyeS5jOjI4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQg0LTQu9GPINGE0LDQudC70LAgwqslc8K7IgorCisjOiBmZXRjaC1wYWNrLmM6MjUxCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INC+0LbQuNC00LDQtdGC0YHRjyDQv9C10YDQtdC00LDRh9CwINGB0L/QuNGB0LrQsCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNC1INGH0LDRgdGC0LgiCiAKLSM6IGZldGNoLXBhY2suYzoyMjUKKyM6IGZldGNoLXBhY2suYzoyNjMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INC+0LbQuNC00LDQtdGC0YHRjyBBQ0svTkFLLCDQsCDQv9C+0LvRg9GH0LXQvdC+IEVPRiIKIAotIzogZmV0Y2gtcGFjay5jOjI0MworIzogZmV0Y2gtcGFjay5jOjI4MiBidWlsdGluL2FyY2hpdmUuYzo2MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjI4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiDQvtC20LjQtNCw0LXRgtGB0Y8gQUNLL05BSywg0LAg0L/QvtC70YPRh9C10L3QviDCqyVzwrsiCiAKLSM6IGZldGNoLXBhY2suYzoyOTUKKyM6IGZldGNoLXBhY2suYzozMzUKIG1zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICItLXN0YXRlbGVzcy1ycGMg0YLRgNC10LHRg9C10YIgbXVsdGlfYWNrX2RldGFpbGVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MzgxCisjOiBmZXRjaC1wYWNrLmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YLRgNC+0LrQsCDRh9Cw0YHRgtC40YfQvdC+0LPQviDQv9C+0LvRg9GH0LXQvdC40Y86ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzg3CisjOiBmZXRjaC1wYWNrLmM6NDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwINC/0L7Qu9C90L7Qs9C+INC/0L7Qu9GD0YfQtdC90LjRjzogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozODkKKyM6IGZldGNoLXBhY2suYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCiBtc2dzdHIgItC+0LHRitC10LrRgiDQvdC1INC90LDQudC00LXQvTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozOTIKKyM6IGZldGNoLXBhY2suYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAi0L7RiNC40LHQutCwINCyINC+0LHRitC10LrRgtC1OiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5NAorIzogZmV0Y2gtcGFjay5jOjQzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAi0YfQsNGB0YLQuNGH0L3Ri9C5INC60LvQvtC9INC90LUg0L3QsNC50LTQtdC9OiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5NworIzogZmV0Y2gtcGFjay5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgogbXNnc3RyICLQvtC20LjQtNCw0LvQvtGB0Ywgc2hhbGxvdy91bnNoYWxsb3csINCwINC/0L7Qu9GD0YfQtdC90L4gJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0MzYKKyM6IGZldGNoLXBhY2suYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICVkICVzIgogbXNnc3RyICLQv9C+0LvRg9GH0LXQvdC+ICVzICVkICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDUwCisjOiBmZXRjaC1wYWNrLmM6NDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LrQvtC80LzQuNGCICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDgzCisjOiBmZXRjaC1wYWNrLmM6NTIzCiBtc2dpZCAiZ2l2aW5nIHVwIgogbXNnc3RyICLQvtGB0YLQsNC90LDQstC70LjQstCw0Y4g0LTQsNC70YzQvdC10LnRiNC40LUg0L/QvtC/0YvRgtC60LgiCiAKLSM6IGZldGNoLXBhY2suYzo0OTMgcHJvZ3Jlc3MuYzoyMzUKKyM6IGZldGNoLXBhY2suYzo1MzMgcHJvZ3Jlc3MuYzoyMzcKIG1zZ2lkICJkb25lIgogbXNnc3RyICLQs9C+0YLQvtCy0L4iCiAKLSM6IGZldGNoLXBhY2suYzo1MDUKKyM6IGZldGNoLXBhY2suYzo1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICglZCkgJXMiCiBtc2dzdHIgItC/0L7Qu9GD0YfQtdC90L4gJXMgKCVkKSAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjU1MQorIzogZmV0Y2gtcGFjay5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgogbXNnc3RyICLQn9C+0LzQtdGH0LDRjiAlcyDQutCw0Log0LfQsNCy0LXRgNGI0LXQvdC90YvQuSIKIAotIzogZmV0Y2gtcGFjay5jOjY5NworIzogZmV0Y2gtcGFjay5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAi0YPQttC1INC10YHRgtGMICVzICglcykiCiAKLSM6IGZldGNoLXBhY2suYzo3MzUKKyM6IGZldGNoLXBhY2suYzo4MTMKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiZmV0Y2gtcGFjazog0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L/RgNC+0LPRgNCw0LzQvNGDINGA0LDQt9Cx0L7RgNCwINC00LDQvdC90YvRhSIKIAotIzogZmV0Y2gtcGFjay5jOjc0MworIzogZmV0Y2gtcGFjay5jOjgyMQogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQv9GA0L7RgtC+0LrQvtC70LA6INC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQt9Cw0LPQvtC70L7QstC+0Log0L/QvtGC0L7QutCwIgogCi0jOiBmZXRjaC1wYWNrLmM6Nzk5CisjOiBmZXRjaC1wYWNrLmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKIG1zZ3N0ciAiZmV0Y2gtcGFjazog0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L/RgNC+0LPRgNCw0LzQvNGDICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODE1CisjOiBmZXRjaC1wYWNrLmM6ODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGZhaWxlZCIKIG1zZ3N0ciAiJXMg0LfQsNCy0LXRgNGI0LXQvSDRgSDQvtGI0LjQsdC60L7QuSIKIAotIzogZmV0Y2gtcGFjay5jOjgxNworIzogZmV0Y2gtcGFjay5jOjg5NQogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgItC/0YDQvtC40LfQvtGI0LvQsCAg0L7RiNC40LHQutCwINCyICDQv9GA0L7Qs9GA0LDQvNC80LUg0YDQsNC30LHQvtGA0LAg0LTQsNC90L3Ri9GFIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ0CisjOiBmZXRjaC1wYWNrLmM6OTIyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgogbXNnc3RyICLQodC10YDQstC10YAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0LrQu9C40LXQvdGC0L7QsiDRgSDRh9Cw0YHRgtC40YfQvdGL0Lwg0LrQu9C+0L3QuNGA0L7QstCw0L3QuNC10LwiCiAKLSM6IGZldGNoLXBhY2suYzo4NDgKKyM6IGZldGNoLXBhY2suYzo5MjYKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjg1MQorIzogZmV0Y2gtcGFjay5jOjkyOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgogbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIG5vLWRvbmUiCiAKLSM6IGZldGNoLXBhY2suYzo4NTcKKyM6IGZldGNoLXBhY2suYzo5MzUKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgogbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIG11bHRpX2FjayIKIAotIzogZmV0Y2gtcGFjay5jOjg2MQorIzogZmV0Y2gtcGFjay5jOjkzOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgogbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIHNpZGUtYmFuZC02NGsiCiAKLSM6IGZldGNoLXBhY2suYzo4NjUKKyM6IGZldGNoLXBhY2suYzo5NDMKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgogbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIHNpZGUtYmFuZCIKIAotIzogZmV0Y2gtcGFjay5jOjg2OQorIzogZmV0Y2gtcGFjay5jOjk0NwogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgogbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCiAKLSM6IGZldGNoLXBhY2suYzo4NzMKKyM6IGZldGNoLXBhY2suYzo5NTEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6ODgzCisjOiBmZXRjaC1wYWNrLmM6OTYxCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBvZnMtZGVsdGEiCiAKLSM6IGZldGNoLXBhY2suYzo4OTAKKyM6IGZldGNoLXBhY2suYzo5NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKIG1zZ3N0ciAi0JLQtdGA0YHQuNGPINGB0LXRgNCy0LXRgNCwICUuKnMiCiAKLSM6IGZldGNoLXBhY2suYzo4OTYKKyM6IGZldGNoLXBhY2suYzo5NzQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCiBtc2dzdHIgItCh0LXRgNCy0LXRgCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiAtLXNoYWxsb3ctc2luY2UiCiAKLSM6IGZldGNoLXBhY2suYzo5MDAKKyM6IGZldGNoLXBhY2suYzo5NzgKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAyCisjOiBmZXRjaC1wYWNrLmM6OTgwCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgItCh0LXRgNCy0LXRgCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiAtLWRlZXBlbiIKIAotIzogZmV0Y2gtcGFjay5jOjkxMworIzogZmV0Y2gtcGFjay5jOjk5MQogbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgogbXNnc3RyICLQvdC1INC+0LHRidC40YUg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogZmV0Y2gtcGFjay5jOjkyNQorIzogZmV0Y2gtcGFjay5jOjEwMDMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INC+0YjQuNCx0LrQsCDQv9GA0Lgg0L/QvtC70YPRh9C10L3QuNC4INC00LDQvdC90YvRhS4iCiAKLSM6IGZldGNoLXBhY2suYzoxMDg3CisjOiBmZXRjaC1wYWNrLmM6MTE2NQogbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgogbXNnc3RyICLQvdC10YIg0YHQvtC+0YLQstC10YHRgtCy0YPRjtGJ0LXQs9C+INCy0L3QtdGI0L3QtdCz0L4g0YPQutCw0LfQsNGC0LXQu9GPINC90LAg0LLQtdGC0LrRgyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE4NQorIzogZmV0Y2gtcGFjay5jOjExODcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZW1vdGUgcmVmICVzIgorbXNnc3RyICLQvdC10YIg0YLQsNC60L7QuSDQstC90LXRiNC90LXQuSDRgdGB0YvQu9C60LggJXMiCisKKyM6IGZldGNoLXBhY2suYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBhbGxvdyByZXF1ZXN0IGZvciB1bmFkdmVydGlzZWQgb2JqZWN0ICVzIgorbXNnc3RyICLQodC10YDQstC10YAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0LfQsNC/0YDQvtGBINC90LXQvtCx0YrRj9Cy0LvQtdC90L3QvtCz0L4g0L7QsdGK0LXQutGC0LAgJXMiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzoxODEKIG1zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCiBtc2dzdHIgImdwZyDQvdC1INGD0LTQsNC70L7RgdGMINC/0L7QtNC/0LjRgdCw0YLRjCDQtNCw0L3QvdGL0LUiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMTUKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMTEKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINCy0YDQtdC80LXQvdC90YvQuSDRhNCw0LnQuyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIxNworIzogZ3BnLWludGVyZmFjZS5jOjIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAi0YHQsdC+0Lkg0LfQsNC/0LjRgdC4INC+0YLRgdC+0LXQtNC40L3QtdC90L3QvtC5INC/0L7QtNC/0LjRgdC4INCyIMKrJXPCuyIKIAotIzogZ3JlcC5jOjE3ODIKKyM6IGdyYXBoLmM6OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JlIGludmFsaWQgY29sb3IgJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKK21zZ3N0ciAi0LjQs9C90L7RgNC40YDRg9GOINC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDRhtCy0LXRgiDCqyUuKnPCuyDQsiBsb2cuZ3JhcGhDb2xvcnMiCisKKyM6IGdyZXAuYzoxOTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICLCqyVzwrs6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQtdGB0YLRjCAlcyIKIAotIzogZ3JlcC5jOjE3OTkgYnVpbHRpbi9jbG9uZS5jOjM4MSBidWlsdGluL2RpZmYuYzo4NCBidWlsdGluL3JtLmM6MTU1CisjOiBncmVwLmM6MTk5OCBidWlsdGluL2Nsb25lLmM6NDAzIGJ1aWx0aW4vZGlmZi5jOjgxIGJ1aWx0aW4vcm0uYzoxMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCDCqyVzwrsiCiAKLSM6IGdyZXAuYzoxODEwCisjOiBncmVwLmM6MjAwOQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICLCqyVzwrs6INGB0LvQuNGI0LrQvtC8INC80LDQu9C+INC00LDQvdC90YvRhSDQv9GA0L7Rh9C40YLQsNC90L4iCiAKLSM6IGhlbHAuYzoyMDMKKyM6IGhlbHAuYzoxNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICLQtNC+0YHRgtGD0L/QvdGL0LUg0LrQvtC80LDQvdC00YsgZ2l0INCyIMKrJXPCuyIKIAotIzogaGVscC5jOjIxMAorIzogaGVscC5jOjE4NgogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00YsgZ2l0LCDQtNC+0YHRgtGD0L/QvdGL0LUg0LIg0LTRgNGD0LPQuNGFINC80LXRgdGC0LDRhSDQstCw0YjQtdCz0L4gJFBBVEgiCiAKLSM6IGhlbHAuYzoyNDEKKyM6IGhlbHAuYzoyMTcKIG1zZ2lkICJUaGVzZSBhcmUgY29tbW9uIEdpdCBjb21tYW5kcyB1c2VkIGluIHZhcmlvdXMgc2l0dWF0aW9uczoiCiBtc2dzdHIgItCh0YLQsNC90LTQsNGA0YLQvdGL0LUg0LrQvtC80LDQvdC00YsgR2l0INC40YHQv9C+0LvRjNC30YPQtdC80YvQtSDQsiDRgNCw0LfQu9C40YfQvdGL0YUg0YHQuNGC0YPQsNGG0LjRj9GFOiIKIAotIzogaGVscC5jOjMwNgorIzogaGVscC5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgogImFibGUgdG8gZXhlY3V0ZSBpdC4gTWF5YmUgZ2l0LSVzIGlzIGJyb2tlbj8iCiBtc2dzdHIgIsKrJXPCuyDQv9C+0YXQvtC20LUg0L3QsCDQutC+0LzQsNC90LTRgyBnaXQsINC90L4g0L3QsNC8INC90LUg0YPQtNCw0LvQvtGB0Ywg0LXQtSDQt9Cw0L/Rg9GB0YLQuNGC0YwuINCS0L7Qt9C80L7QttC90L4sIGdpdC0lcyAg0L3QtSDRgNCw0LHQvtGC0LDQtdGCPyIKIAotIzogaGVscC5jOjM2MQorIzogaGVscC5jOjMzNgogbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgogbXNnc3RyICLQntC5LdGR0LkhINCS0LDRiNCwINGB0LjRgdGC0LXQvNCwINC90LUg0YHQvtC+0LHRidCw0LXRgiDQvdC4INC+INC60LDQutC40YUg0LrQvtC80LDQvdC00LDRhSBHaXQg0LLQvtC+0LHRidC1LiIKIAotIzogaGVscC5jOjM4MworIzogaGVscC5jOjM1OAogIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LlxuIgotIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJyIKLW1zZ3N0ciAi0JLQndCY0JzQkNCd0JjQlTog0JLRiyDQstGL0LfQstCw0LvQuCDQutC+0LzQsNC90LTRgyBHaXQgwqslc8K7LCDQvdC+INGC0LDQutC+0Lkg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi5cbtCf0YDQvtC00L7Qu9C20LDQtdC8INGBINC/0YDQtdC00L/QvtC70L7QttC10L3QuNC10LwsINGH0YLQviDQstGLINC40LzQtdC70Lgg0LIg0LLQuNC00YMgwqslc8K7IgorbXNnaWQgIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgItCS0L3QuNC80LDQvdC40LU6INCS0Ysg0LfQsNC/0YPRgdGC0LjQu9C4INC90LUg0YHRg9GJ0LXRgdGC0LLRg9GO0YnRg9GOINC60L7QvNCw0L3QtNGDIEdpdCDCqyVzwrsuIgogCi0jOiBoZWxwLmM6Mzg4CisjOiBoZWxwLmM6MzYzCiAjLCBjLWZvcm1hdAotbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKLW1zZ3N0ciAi0YfQtdGA0LXQtyAlMC4xZiDRgdC10LrRg9C90LQg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LjigKYiCittc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKK21zZ3N0ciAi0J/RgNC+0LTQvtC70LbQsNGOLCDQv9GA0LXQtNC/0L7Qu9Cw0LPQsNGPLCDRh9GC0L4g0LLRiyDQuNC80LXQu9C4INCyINCy0LjQtNGDIMKrJXPCuy4iCiAKLSM6IGhlbHAuYzozOTUKKyM6IGhlbHAuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29udGludWluZyBpbiAlMC4xZiBzZWNvbmRzLCBhc3N1bWluZyB0aGF0IHlvdSBtZWFudCAnJXMnLiIKK21zZ3N0ciAi0J/RgNC+0LTQvtC70LbRgyDRh9C10YDQtdC3ICUwLjFmINGB0LXQutGD0L3QtCwg0L/RgNC10LTQv9C+0LvQsNCz0LDRjywg0YfRgtC+INCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgyDCqyVzwrsuIgorCisjOiBoZWxwLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCiBtc2dzdHIgImdpdDogwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutC+0LzQsNC90LTQvtC5IGdpdC4g0KHQvNC+0YLRgNC40YLQtSDCq2dpdCAtLWhlbHDCuy4iCiAKLSM6IGhlbHAuYzozOTkgaGVscC5jOjQ2NQorIzogaGVscC5jOjM4MAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmRzIGFyZSIKK21zZ3N0clswXSAiXG7QodCw0LzRi9C1INC/0L7RhdC+0LbQuNC1INC60L7QvNCw0L3QtNGLOiIKK21zZ3N0clsxXSAiXG7QodCw0LzRi9C1INC/0L7RhdC+0LbQuNC1INC60L7QvNCw0L3QtNGLOiIKK21zZ3N0clsyXSAiXG7QodCw0LzRi9C1INC/0L7RhdC+0LbQuNC1INC60L7QvNCw0L3QtNGLOiIKK21zZ3N0clszXSAiXG7QodCw0LzRi9C1INC/0L7RhdC+0LbQuNC1INC60L7QvNCw0L3QtNGLOiIKKworIzogaGVscC5jOjM5NQorbXNnaWQgImdpdCB2ZXJzaW9uIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKKworIzogaGVscC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgLSAlcyIKK21zZ3N0ciAiJXM6ICVzIOKAlCAlcyIKKworIzogaGVscC5jOjQ2MAogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0xNzYwLDEyICsxODg2LDcgQEAKIG1zZ3N0clsyXSAiXG7QktC+0LfQvNC+0LbQvdC+LCDQstGLINC40LzQtdC70Lgg0LIg0LLQuNC00YMg0YfRgtC+LdGC0L4g0LjQtyDRjdGC0L7Qs9C+PyIKIG1zZ3N0clszXSAiXG7QktC+0LfQvNC+0LbQvdC+LCDQstGLINC40LzQtdC70Lgg0LIg0LLQuNC00YMg0YfRgtC+LdGC0L4g0LjQtyDRjdGC0L7Qs9C+PyIKIAotIzogaGVscC5jOjQ2MQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXMgLSAlcyIKLW1zZ3N0ciAiJXM6ICVzIOKAlCAlcyIKLQotIzogaWRlbnQuYzozMzQKKyM6IGlkZW50LmM6MzQyCiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTE3ODAsNiArMTkwMSwzOSBAQAogIlxuIgogbXNnc3RyICJcbioqKiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0YHQutCw0LbQuNGC0LUg0LzQvdC1INC60YLQviDQstGLINC10YHRgtGMLlxuXG7Ql9Cw0L/Rg9GB0YLQuNGC0LVcblxuICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJ5b3VAZXhhbXBsZS5jb21cIlxuICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcItCS0LDRiNC1INCY0LzRj1wiXG5cbtC00LvRjyDRg9C60LDQt9Cw0L3QuNGPINC40LTQtdC90YLQuNGE0LjQutCw0YbQuNC+0L3QvdGL0YUg0LTQsNC90L3Ri9GFINCw0LrQutCw0YPQvdGC0LAg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uXG7Qn9GA0L7Qv9GD0YHRgtC40YLQtSDQv9Cw0YDQsNC80LXRgtGAIC0tZ2xvYmFsINC00LvRjyDRg9C60LDQt9Cw0L3QuNGPINC00LDQvdC90YvRhSDRgtC+0LvRjNC60L4g0LTQu9GPINGN0YLQvtCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjy5cblxuIgogCisjOiBpZGVudC5jOjM2NgorbXNnaWQgIm5vIGVtYWlsIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCittc2dzdHIgItCw0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLINC90LUg0YPQutCw0LfQsNC9INC4INCw0LLRgtC+0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQvtGC0LrQu9GO0YfQtdC90L4iCisKKyM6IGlkZW50LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINCw0LLRgtC+0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLICjQv9C+0LvRg9GH0LXQvdC+IMKrJXPCuykiCisKKyM6IGlkZW50LmM6MzgxCittc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICLQuNC80Y8g0L3QtSDRg9C60LDQt9Cw0L3QviDQuCDQsNCy0YLQvtC+0L/RgNC10LTQtdC70LXQvdC40LUg0L7RgtC60LvRjtGH0LXQvdC+IgorCisjOiBpZGVudC5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDQsNCy0YLQvtC+0L/RgNC10LTQtdC70LXQvdC40LUg0LjQvNC10L3QuCAo0L/QvtC70YPRh9C10L3QviDCqyVzwrspIgorCisjOiBpZGVudC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBpZGVudCBuYW1lIChmb3IgPCVzPikgbm90IGFsbG93ZWQiCittc2dzdHIgItC/0YPRgdGC0L7QtSDQuNC80Y8g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCAo0LTQu9GPIDwlcz4pINC90LUg0YDQsNC30YDQtdGI0LXQvdC+IgorCisjOiBpZGVudC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKK21zZ3N0ciAi0LjQvNGPINGB0L7RgdGC0L7QuNGCINGC0L7Qu9GM0LrQviDQuNC3INC90LXRgNCw0LfRgNC10YjQtdC90L3Ri9GFINGB0LjQvNC+0LLQvtC70L7QsjogJXMiCisKKyM6IGlkZW50LmM6NDE2IGJ1aWx0aW4vY29tbWl0LmM6NjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YTQvtGA0LzQsNGCINC00LDRgtGLOiAlcyIKKwogIzogbG9ja2ZpbGUuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMTgwMSwyMjMgKzE5NTUsMjM3IEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICLRgdCx0L7QuSDRh9GC0LXQvdC40Y8g0LrRjdGI0LAiCiAKLSM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjIwMDAgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9jaGVja291dC5jOjM3NAotIzogYnVpbHRpbi9jaGVja291dC5jOjU4OCBidWlsdGluL2Nsb25lLmM6NzMxCisjOiBtZXJnZS5jOjk2IGJ1aWx0aW4vYW0uYzoxOTgwIGJ1aWx0aW4vYW0uYzoyMDE1IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1OTEgYnVpbHRpbi9jbG9uZS5jOjc1MwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC90L7QstGL0Lkg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEwCiBtc2dpZCAiKGJhZCBjb21taXQpXG4iCiBtc2dzdHIgIijQv9C70L7RhdC+0Lkg0LrQvtC80LzQuNGCKVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMiBtZXJnZS1yZWN1cnNpdmUuYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi0YHQsdC+0LkgYWRkaW5mb19jYWNoZSDQtNC70Y8g0L/Rg9GC0Lggwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwNAogbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0L/RgNC4INC/0L7RgdGC0YDQvtC10L3QuNC4INC00LXRgNC10LLRjNC10LIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0L/Rg9GC0Ywgwqslc8K7JXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjczMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUgJXMsINGH0YLQvtCx0Ysg0L7RgdCy0L7QsdC+0LTQuNGC0Ywg0LzQtdGB0YLQviDQtNC70Y8g0L/QvtC00LrQsNGC0LDQu9C+0LPQvtCyXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc0NSBtZXJnZS1yZWN1cnNpdmUuYzo3NjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MyBtZXJnZS1yZWN1cnNpdmUuYzo3NzIKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6INCy0L7Qt9C80L7QttC90L4sINC60L7QvdGE0LvQuNC60YIg0LrQsNGC0LDQu9C+0LPQvtCyL9GE0LDQudC70L7Qsj8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAi0L7RgtC60LDQtyDQv9C+0YLQtdGA0Lgg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtCz0L4g0YTQsNC50LvQsCDQsiDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5NiBidWlsdGluL2NhdC1maWxlLmM6MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNCBidWlsdGluL2NhdC1maWxlLmM6MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIgJXMgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICLQvtC20LjQtNCw0LXRgtGB0Y8g0LTQstC+0LjRh9C90YvQuSDQvtCx0YrQtdC60YIg0LTQu9GPICVzIMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODIyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7OiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODMzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YHQuNC80LLQvtC70YzQvdGD0Y4g0YHRgdGL0LvQutGDIMKrJXPCuzogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgItC90LUg0L/QvtC90Y/RgtC90L4sINGH0YLQviDQtNC10LvQsNGC0Ywg0YEgJTA2byAlcyDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk3OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg2CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMINCy0L3Rg9GC0YDQtdC90L3QtdC1INGB0LvQuNGP0L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0YwgJXMg0LIg0LHQsNC30YMg0LTQsNC90L3Ri9GFIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKICJpbiB0cmVlLiIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAoJXMv0YPQtNCw0LvQtdC90LjQtSk6ICVzINGD0LTQsNC70LXQvdC+INCyICVzINC4ICVzINCyICVzLiDQktC10YDRgdC40Y8gJXMg0LjQtyAlcyDQvtGB0YLQsNCy0LvQtdC90LAg0LIg0LTQtdGA0LXQstC1LiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4NyBtZXJnZS1yZWN1cnNpdmUuYzoxMTAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgorImxlZnQgaW4gdHJlZS4iCittc2dzdHIgItCa0J7QndCk0JvQmNCa0KIgKCVzL9GD0LTQsNC70LXQvdC40LUpOiAlcyDRg9C00LDQu9C10L3QviDQsiAlcyDQuCDQvtGCICVzINC00L4gJXMg0LIgJXMuINCS0LXRgNGB0LjRjyAlcyDQuNC3ICVzINC+0YHRgtCw0LLQu9C10L3QsCDQsiDQtNC10YDQtdCy0LUuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCiAiaW4gdHJlZSBhdCAlcy4iCiBtc2dzdHIgItCa0J7QndCk0JvQmNCa0KIgKCVzL9GD0LTQsNC70LXQvdC40LUpOiAlcyDRg9C00LDQu9C10L3QviDQsiAlcyDQuCAlcyDQsiAlcy4g0JLQtdGA0YHQuNGPICVzINC40LcgJXMg0L7RgdGC0LDQstC70LXQvdCwINCyINC00LXRgNC10LLQtSDQvdCwICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKKyJsZWZ0IGluIHRyZWUgYXQgJXMuIgorbXNnc3RyICLQmtCe0J3QpNCb0JjQmtCiICglcy/Rg9C00LDQu9C10L3QuNC1KTogJXMg0YPQtNCw0LvQtdC90L4g0LIgJXMg0Lgg0L7RgiAlcyDQtNC+ICVzINCyICVzLiDQktC10YDRgdC40Y8gJXMg0LjQtyAlcyDQvtGB0YLQsNCy0LvQtdC90LAg0LIg0LTQtdGA0LXQstC1INC90LAgJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQ0CiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICLQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQ0CiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAi0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiVzIOKAlCDRjdGC0L4g0LrQsNGC0LDQu9C+0LMg0LIgJXMsINC00L7QsdCw0LLQu9GP0LXQvCDQutCw0LogJXMg0LLQvNC10YHRgtC+INGN0YLQvtCz0L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lICIKICJcIiVzXCItPlwiJXNcIiBpbiBcIiVzXCIlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAo0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtS/Qv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1KTog0J/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsg0Lgg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrslcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMQogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiICjQvtGB0YLQsNCy0LvQtdC90L4g0L3QtdGA0LDQt9GA0LXRiNC10L3QvdGL0LwpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAo0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtS/Qv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1KTog0J/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsg0Lgg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgItCf0LXRgNC10LjQvNC10L3QvtCy0YvQstCw0Y4gJXMg0LIgJXMg0LggJXMg0LIgJXMg0LLQvNC10YHRgtC+INGN0YLQvtCz0L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAo0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtS/QtNC+0LHQsNCy0LvQtdC90LjQtSk6INCf0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LUgwqslc8K74oaSwqslc8K7INCyINCy0LXRgtC60LUgwqslc8K7INC4INC00L7QsdCw0LLQu9C10L3QuNC1IMKrJXPCuyDQsiDQstC10YLQutC1IMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICLQlNC+0LHQsNCy0LvQtdC90LjQtSDRgdC70LjRgtC+0LPQviAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MyBtZXJnZS1yZWN1cnNpdmUuYzoxNzY2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUxIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgItCU0L7QsdCw0LLQu9C10L3QuNC1INCy0LzQtdGB0YLQviDRjdGC0L7Qs9C+INC60LDQuiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjEzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICLQvtCx0YrQtdC60YIgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LLQvtC40YfQvdGL0Lwg0L7QsdGK0LXQutGC0L7QvCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgItC40LfQvNC10L3QtdC90L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTAKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICLRgdC+0LTQtdGA0LbQuNC80L7QtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5NwogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgItC00L7QsdCw0LLQu9C10L3QuNC1L9C00L7QsdCw0LLQu9C10L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GB0LogJXMgKNGB0LvQuNGC0Ysg0L7QtNC40L3QsNC60L7QstGL0LUg0LjQt9C80LXQvdC10L3QuNGPINC60LDQuiDRgdGD0YnQtdGB0YLQstGD0Y7RidC40LUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAi0JDQstGC0L7RgdC70LjRj9C90LjQtSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNiBnaXQtc3VibW9kdWxlLnNoOjkyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1MSBnaXQtc3VibW9kdWxlLnNoOjk0NQogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAi0L/QvtC00LzQvtC00YPQu9GMIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICLQmtCe0J3QpNCb0JjQmtCiICglcyk6INCa0L7QvdGE0LvQuNC60YIg0YHQu9C40Y/QvdC40Y8g0LIgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzIKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAi0YTQsNC50Lsv0LrQsNGC0LDQu9C+0LMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzgKIG1zZ2lkICJkaXJlY3RvcnkvZmlsZSIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMv0YTQsNC50LsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICLQmtCe0J3QpNCb0JjQmtCiICglcyk6INCj0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQutCw0YLQsNC70L7QsyDRgSDQuNC80LXQvdC10Lwgwqslc8K7INCyIMKrJXPCuy4g0JTQvtCx0LDQstC70LXQvdC40LUgwqslc8K7INC60LDQuiDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICLQlNC+0LHQsNCy0LvQtdC90LjQtSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkxNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkzMAogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSEiCiBtc2dzdHIgItCj0LbQtSDQvtCx0L3QvtCy0LvQtdC90L4hIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0YHQu9C40Y/QvdC40Y8g0LTQtdGA0LXQstGM0LXQsiDCqyVzwrsg0Lggwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDIyCiBtc2dpZCAiTWVyZ2luZzoiCiBtc2dzdHIgItCh0LvQuNGP0L3QuNC1OiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgogbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKQEAgLTIwMjYsMTYgKzIxOTQsMTYgQEAKIG1zZ3N0clsyXSAi0L3QsNC50LTQtdC90L4gJXUg0L7QsdGJ0LjRhSDQv9GA0LXQtNC60L7QsjoiCiBtc2dzdHJbM10gItC90LDQudC00LXQvdC+ICV1INC+0LHRidC40YUg0L/RgNC10LTQutC+0LI6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDc0CiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICLRgdC70LjRj9C90LjQtSDQvdC1INCy0LXRgNC90YPQu9C+INC60L7QvNC80LjRgiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEyMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC+0LHRitC10LrRgiDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzUgYnVpbHRpbi9tZXJnZS5jOjY0MSBidWlsdGluL21lcmdlLmM6Nzg4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTUxIGJ1aWx0aW4vbWVyZ2UuYzo2NDYgYnVpbHRpbi9tZXJnZS5jOjc5MwogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LXRgtGB0Y8g0LfQsNC/0LjRgdCw0YLRjCDQuNC90LTQtdC60YEuIgogCkBAIC0yMDUxLDU0ICsyMjE5LDU1IEBACiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKIG1zZ3N0ciAi0JLRiyDQvdC1INC30LDQutC+0L3Rh9C40LvQuCDQv9GA0LXQtNGL0LTRg9GJ0LXQtSDRgdC70LjRj9C90LjQtSDQt9Cw0LzQtdGC0L7QuiAoJXMg0YHRg9GJ0LXRgdGC0LLRg9C10YIpLiIKIAotIzogbm90ZXMtdXRpbHMuYzo0MQorIzogbm90ZXMtdXRpbHMuYzo0MgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINC30LDQutC+0LzQvNC40YLQuNGC0Ywg0L3QtdC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvdC90L7QtSDQuNC70Lgg0L3QtSDQuNC80LXRjtGJ0LXQtSDRgdGB0YvQu9C+0Log0LTQtdGA0LXQstC+INC30LDQvNC10YLQvtC6IgogCi0jOiBub3Rlcy11dGlscy5jOjEwMAorIzogbm90ZXMtdXRpbHMuYzoxMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIG5vdGVzLnJld3JpdGVNb2RlIHZhbHVlOiAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSBub3Rlcy5yZXdyaXRlTW9kZTogwqslc8K7IgogCi0jOiBub3Rlcy11dGlscy5jOjExMAorIzogbm90ZXMtdXRpbHMuYzoxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgItCe0YLQutCw0Lcg0LIg0L/QtdGA0LXQt9Cw0L/QuNGB0Lgg0LfQsNC80LXRgtC+0Log0LIgJXMgKNC30LAg0L/RgNC10LTQtdC70LDQvNC4IHJlZnMvbm90ZXMvKSIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKLSMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQotIzogbm90ZXMtdXRpbHMuYzoxMzcKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YKKyMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcworIy4gaXRzIHZhbHVlLgorIzogbm90ZXMtdXRpbHMuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQv9C10YDQtdC80LXQvdC90L7QuSAlczogwqslc8K7IgogCi0jOiBvYmplY3QuYzoyNDIKKyM6IG9iamVjdC5jOjI0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0L7QsdGK0LXQutGCOiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU3MgorIzogcGFyc2Utb3B0aW9ucy5jOjU3MwogbXNnaWQgIi4uLiIKIG1zZ3N0ciAi4oCmIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTkwCisjOiBwYXJzZS1vcHRpb25zLmM6NTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCi0jLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24KLSM6IHBhcnNlLW9wdGlvbnMuYzo1OTQKKyMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbi4KKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICAgICAgICAg0LjQu9C4OiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU5NworIzogcGFyc2Utb3B0aW9ucy5jOjYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAgICAgICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjMxCisjOiBwYXJzZS1vcHRpb25zLmM6NjM0CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLdCa0J7Qm9CY0KfQldCh0KLQktCeIgogCkBAIC0yMTA3LDI4OCArMjI3Niw0MTYgQEAKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC40LzRjyDQvtCx0YrQtdC60YLQsCDCqyVzwrsiCiAKLSM6IHBhdGguYzo4MjYKKyM6IHBhdGguYzo4OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC10LTQvtGB0YLQsNCy0LjRgtGMINC00L7RgdGC0YPQvyDQuiAlcyDQvdCwINC30LDQv9C40YHRjCIKIAotIzogcGF0aHNwZWMuYzoxMzMKLW1zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgotbXNnc3RyICLQs9C70L7QsdCw0LvRjNC90YvQtSDQvtC/0YbQuNC4INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuCDQv9GD0YLQuCDCq2dsb2LCuyDQuCDCq25vZ2xvYsK7INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgorIzogcGF0aHNwZWMuYzoxMjkKK21zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKK21zZ3N0ciAi0KPQv9GA0LDQstC70Y/RjtGJ0LjQuSDRgdC40LzQstC+0LsgwqtcXMK7INC90LUg0YDQsNC30YDQtdGI0LXQvSDQutCw0Log0L/QvtGB0LvQtdC00L3QuNC5INGB0LjQvNCy0L7QuyDQsiDQt9C90LDRh9C10L3QuNC4IGF0dHIiCiAKLSM6IHBhdGhzcGVjLmM6MTQzCisjOiBwYXRoc3BlYy5jOjE0NworbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKK21zZ3N0ciAi0KDQsNC30YDQtdGI0LXQvSDRgtC+0LvRjNC60L4g0L7QtNC40L0g0YHQv9C10YbQuNGE0LjQutCw0YLQvtGAIMKrYXR0cjrCuy4iCisKKyM6IHBhdGhzcGVjLmM6MTUwCittc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgorbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAgYXR0ciDQvdC1INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQv9GD0YHRgtC+0LkiCisKKyM6IHBhdGhzcGVjLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80L7QtSDQuNC80Y8g0LDRgtGA0LjQsdGD0YLQsCAlcyIKKworIzogcGF0aHNwZWMuYzoyNTgKK21zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICLQs9C70L7QsdCw0LvRjNC90YvQtSDQvtC/0YbQuNC4INGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNC+0LIg0L/Rg9GC0LggwqtnbG9iwrsg0Lggwqtub2dsb2LCuyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKKworIzogcGF0aHNwZWMuYzoyNjUKIG1zZ2lkICIiCiAiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgogInBhdGhzcGVjIHNldHRpbmdzIgotbXNnc3RyICLQs9C70L7QsdCw0LvRjNC90LDRjyDQvtC/0YbQuNGPINGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuCDQv9GD0YLQuCDCq2xpdGVyYWzCuyDQvdC1INGB0L7QstC80LXRgdGC0LjQvNCwINGBINC00YDRg9Cz0LjQvNC4INCz0LvQvtCx0LDQu9GM0L3Ri9C80Lgg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0LDQvNC4INC00L7RgdGC0YPQv9CwIgorbXNnc3RyICLQs9C70L7QsdCw0LvRjNC90LDRjyDQvtC/0YbQuNGPINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNCwINC/0YPRgtC4IMKrbGl0ZXJhbMK7INC90LUg0YHQvtCy0LzQtdGB0YLQuNC80LAg0YEg0LTRgNGD0LPQuNC80Lgg0LPQu9C+0LHQsNC70YzQvdGL0LzQuCDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDQsNC80Lgg0LTQvtGB0YLRg9C/0LAiCiAKLSM6IHBhdGhzcGVjLmM6MTc3CisjOiBwYXRoc3BlYy5jOjMwNQogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKLW1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAg0LTQu9GPINC80LDQs9C40YfQtdGB0LrQvtCz0L4g0YHQu9C+0LLQsCDCq3ByZWZpeMK7INCyINGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuCDQv9GD0YLQuCAiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQv9Cw0YDQsNC80LXRgtGAINC00LvRjyDQvNCw0LPQuNGH0LXRgdC60L7Qs9C+INGB0LvQvtCy0LAgwqtwcmVmaXjCuyDQsiDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDQtSDQv9GD0YLQuCAiCiAKLSM6IHBhdGhzcGVjLmM6MTgzCisjOiBwYXRoc3BlYy5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgotbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LzQsNCz0LjRh9C10YHQutC+0LUg0YHQu9C+0LLQviDCqyUuKnPCuyDQsiDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0L/Rg9GC0Lggwqslc8K7IgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LzQsNCz0LjRh9C10YHQutC+0LUg0YHQu9C+0LLQviDCqyUuKnPCuyDQsiDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDQtSDQv9GD0YLQuCDCqyVzwrsiCiAKLSM6IHBhdGhzcGVjLmM6MTg3CisjOiBwYXRoc3BlYy5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCi1tc2dzdHIgItCf0YDQvtC/0YPRidC10L3QviDCqynCuyDQsiDQutC+0L3RhtC1INC80LDQs9C40YfQtdGB0LrQvtCz0L4g0YHQu9C+0LLQsCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0L/Rg9GC0Lggwqslc8K7IgorbXNnc3RyICLQn9GA0L7Qv9GD0YnQtdC90L4gwqspwrsg0LIg0LrQvtC90YbQtSDQvNCw0LPQuNGH0LXRgdC60L7Qs9C+INGB0LvQvtCy0LAg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0LAg0L/Rg9GC0Lggwqslc8K7IgogCi0jOiBwYXRoc3BlYy5jOjIwNQorIzogcGF0aHNwZWMuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCi1tc2dzdHIgItCd0LXRgNC10LDQu9C40LfQvtCy0LDQvdC90L7QtSDQvNCw0LPQuNGH0LXRgdC60L7QtSDRgdC70L7QstC+IMKrJWPCuyDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0L/Rg9GC0Lggwqslc8K7IgorbXNnc3RyICLQndC10YDQtdCw0LvQuNC30L7QstCw0L3QvdC+0LUg0LzQsNCz0LjRh9C10YHQutC+0LUg0YHQu9C+0LLQviDCqyVjwrsg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0LAg0L/Rg9GC0Lggwqslc8K7IgogCi0jOiBwYXRoc3BlYy5jOjIzMAorIzogcGF0aHNwZWMuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiVzOiDCq2xpdGVyYWzCuyDQuCDCq2dsb2LCuyDQvdC1INGB0L7QstC80LXRgdGC0LjQvNGLIgogCi0jOiBwYXRoc3BlYy5jOjI0MQorIzogcGF0aHNwZWMuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIlczogwqslc8K7INCy0L3QtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBwYXRoc3BlYy5jOjI5MQorIzogcGF0aHNwZWMuYzo1MTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgotbXNnc3RyICLQodC/0LXRhtC40YTQuNC60LDRhtC40Y8g0L/Rg9GC0Lggwqslc8K7INCyINC/0L7QtNC80L7QtNGD0LvQtSDCqyUuKnPCuyIKK21zZ2lkICInJXMnIChtbmVtb25pYzogJyVjJykiCittc2dzdHIgIsKrJXPCuyAo0LzQvdC10LzQvtC90LjQutCwOiDCqyVjwrspIgogCi0jOiBwYXRoc3BlYy5jOjM1MworIzogcGF0aHNwZWMuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKLW1zZ3N0ciAiJXM6INC80LDQs9C40YfQtdGB0LrQuNC1INGB0LvQvtCy0LAg0LIg0YHQv9C10YbQuNGE0LjQutCw0YbQuNC4INC/0YPRgtC4INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDRjtGC0YHRjyDQutC+0LzQsNC90LTQvtC5OiAlcyIKK21zZ3N0ciAiJXM6INC80LDQs9C40YfQtdGB0LrQuNC1INGB0LvQvtCy0LAg0LIg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0LUg0L/Rg9GC0Lgg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNGO0YLRgdGPINC60L7QvNCw0L3QtNC+0Lk6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjQwOAorIzogcGF0aHNwZWMuYzo1NzUKIG1zZ2lkICIiCiAiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSIKICIgdXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgogbXNnc3RyICLQv9GD0YHRgtGL0LUg0YHRgtGA0L7QutC4INC60LDQuiDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDRiyDQv9GD0YLQuCDQsdGD0LTRg9GCINGB0LTQtdC70LDQvdGLINC90LXQtNC+0L/Rg9GB0YLQuNC80YvQvNC4INCyINGB0LvQtdC00YPRjtGJ0LjRhSDQstC10YDRgdC40Y/RhS4g0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQstC80LXRgdGC0L4g0L3QuNGFIMKrLsK7LCDRh9GC0L4g0LfQvdCw0YfQuNGCINGB0L7QvtGC0LLQtdGB0YLQstC40LUg0LLRgdC10Lwg0L/Rg9GC0Y/QvCIKIAotIzogcGF0aHNwZWMuYzo0NDAKKyM6IHBhdGhzcGVjLmM6NTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAi0YHQv9C10YbQuNGE0LjQutCw0YbQuNGPINC/0YPRgtC4IMKrJXPCuyDQvdCw0YXQvtC00LjRgtGB0Y8g0LfQsCDRgdC40LzQstC+0LvQuNGH0LXRgdC60L7QuSDRgdGB0YvQu9C60L7QuSIKK21zZ3N0ciAi0YHQv9C10YbQuNGE0LjQutCw0YLQvtGAINC/0YPRgtC4IMKrJXPCuyDQvdCw0YXQvtC00LjRgtGB0Y8g0LfQsCDRgdC40LzQstC+0LvQuNGH0LXRgdC60L7QuSDRgdGB0YvQu9C60L7QuSIKIAotIzogcGF0aHNwZWMuYzo0NDkKLW1zZ2lkICIiCi0iVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKLSJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgotbXNnc3RyICLQndC1INGD0LrQsNC30LDQvSDRiNCw0LHQu9C+0L0g0LTQu9GPINC40YHQutC70Y7Rh9C10L3QuNGPINGBINC/0L7QvNC+0YnRjNGOIDooZXhjbHVkZSkuXG7QktC+0LfQvNC+0LbQvdC+LCDQstGLINC30LDQsdGL0LvQuCDCqzovwrsg0LjQu9C4IMKrLsK7ID8iCi0KLSM6IHByZXR0eS5jOjk3MQorIzogcHJldHR5LmM6OTYzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0YTQvtGA0LzQsNGCINC00LvRjyAtLXByZXR0eSIKIAotIzogcmVhZC1jYWNoZS5jOjEzMTUKKyM6IHJlYWQtY2FjaGUuYzoxNDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgogIlVzaW5nIHZlcnNpb24gJWkiCiBtc2dzdHIgImluZGV4LnZlcnNpb24g0YPQutCw0LfQsNC9LCDQvdC+INC30L3QsNGH0LXQvdC40LUg0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdC+0LUuXG7QmNGB0L/QvtC70YzQt9GD0Y4g0LLQtdGA0YHQuNGOICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTMyNQorIzogcmVhZC1jYWNoZS5jOjE0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgogIlVzaW5nIHZlcnNpb24gJWkiCiBtc2dzdHIgIkdJVF9JTkRFWF9WRVJTSU9OINGD0LrQsNC30LDQvSwg0L3QviDQt9C90LDRh9C10L3QuNC1INC90LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QvtC1Llxu0JjRgdC/0L7Qu9GM0LfRg9GOINCy0LXRgNGB0LjRjiAlaSIKIAotIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQwCisjOiByZWFkLWNhY2hlLmM6MjMwOCBidWlsdGluL21lcmdlLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCDCqyVzwrsiCisKKyM6IHJlYWQtY2FjaGUuYzoyMzgzIHNlcXVlbmNlci5jOjEzNTMgc2VxdWVuY2VyLmM6MjA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyDCqyVzwrsiCisKKyM6IHJlYWQtY2FjaGUuYzoyMzk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINC60LDRgtCw0LvQvtCzIGdpdDogJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyNDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLRgdC+0LXQtNC40L3QuNGC0Yw6ICVzIgorCisjOiByZWZzLmM6NjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7INC00LvRjyDQt9Cw0L/QuNGB0LgiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODEKKyM6IHJlZnMuYzoxNzY5Cittc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgorbXNnc3RyICLQvtCx0L3QvtCy0LvQtdC90LjQtSDRgdGB0YvQu9C+0Log0LfQsNC/0YDQtdGJ0LXQvdC+INCyINC40LfQvtC70LjRgNC+0LLQsNC90L3QvtC8INC+0LrRgNGD0LbQtdC90LjQuCIKKworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutGDICVzOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGB0YHRi9C70LrQuDogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0OTMKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutC4ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6NTUKKyM6IHJlZi1maWx0ZXIuYzozNSB3dC1zdGF0dXMuYzoxODExCittc2dpZCAiZ29uZSIKK21zZ3N0ciAi0LjRgdGH0LXQtyIKKworIzogcmVmLWZpbHRlci5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkIgorbXNnc3RyICLQstC/0LXRgNC10LTQuCAlZCIKKworIzogcmVmLWZpbHRlci5jOjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImJlaGluZCAlZCIKK21zZ3N0ciAi0L/QvtC30LDQtNC4ICVkIgorCisjOiByZWYtZmlsdGVyLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWhlYWQgJWQsIGJlaGluZCAlZCIKK21zZ3N0ciAi0LLQv9C10YDQtdC00LggJWQsINC/0L7Qt9Cw0LTQuCAlZCIKKworIzogcmVmLWZpbHRlci5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogbXNnc3RyICLQvtC20LjQtNCw0LXQvNGL0Lkg0YTQvtGA0LzQsNGCOiAlJShjb2xvcjo8Y29sb3I+KSIKIAotIzogcmVmLWZpbHRlci5jOjU3CisjOiByZWYtZmlsdGVyLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBjb2xvcjogJSUoY29sb3I6JXMpIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0YbQstC10YI6ICUlKGNvbG9yOiVzKSIKIAotIzogcmVmLWZpbHRlci5jOjcxCisjOiByZWYtZmlsdGVyLmM6MTIxCiAjLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQ6ICUlKCVzKSIKLW1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INGE0L7RgNC80LDRgjogJSUoJXMpIgorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpsc3RyaXA9JXMiCittc2dzdHIgItCe0LbQuNC00LDQtdGC0YHRjyDRhtC10LvQvtGH0LjRgdC70LXQvdC90L7QtSDQt9C90LDRh9C10L3QuNC1IHJlZm5hbWU6bHN0cmlwPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6NzcKKyM6IHJlZi1maWx0ZXIuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIKK21zZ3N0ciAi0J7QttC40LTQsNC10YLRgdGPINGG0LXQu9C+0YfQuNGB0LvQtdC90L3QvtC1INC30L3QsNGH0LXQvdC40LUgcmVmbmFtZTpyc3RyaXA9JXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiCittc2dzdHIgItC90LXQvtC/0L7Qt9C90LDQvdC90YvQuSDQsNGA0LPRg9C80LXQvdGCICUlKCVzKTogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCi1tc2dzdHIgIiUlKGJvZHkpINC90LUg0L/RgNC40L3QuNC80LDQtdGCINCw0YDQs9GD0LzQtdC90YLQvtCyIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAICUlKGJvZHkpINC90LUg0L/RgNC40L3QuNC80LDQtdGCINCw0YDQs9GD0LzQtdC90YLRiyIKIAotIzogcmVmLWZpbHRlci5jOjg0CisjOiByZWYtZmlsdGVyLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgotbXNnc3RyICIlJShzdWJqZWN0KSDQvdC1INC/0YDQuNC90LjQvNCw0LXRgiDQsNGA0LPRg9C80LXQvdGC0L7QsiIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAlJShzdWJqZWN0KSDQvdC1INC/0YDQuNC90LjQvNCw0LXRgiDQsNGA0LPRg9C80LXQvdGC0YsiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDEKKyM6IHJlZi1maWx0ZXIuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUodHJhaWxlcnMpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAICUlKHRyYWlsZXJzKSDQvdC1INC/0YDQuNC90LjQvNCw0LXRgiDQsNGA0LPRg9C80LXQvdGC0YsiCisKKyM6IHJlZi1maWx0ZXIuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCi1tc2dzdHIgItC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0L7QttC40LTQsNC10YIg0YHQvtC00LXRgNC20LjQvNC+0LU6bGluZXM9JXMiCittc2dzdHIgItC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0L7QttC40LTQsNC10YIgY29udGVudHM6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDMKKyM6IHJlZi1maWx0ZXIuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgItC90LXQvtC/0L7Qt9C90LDQvdC90YvQuSDQsNGA0LPRg9C80LXQvdGCICUlKGNvbnRlbnRzKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTMKKyM6IHJlZi1maWx0ZXIuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKK21zZ3N0ciAi0L7QttC40LTQsNC10YLRgdGPINC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUgb2JqZWN0bmFtZTpzaG9ydD0lcyIKKworIzogcmVmLWZpbHRlci5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0bmFtZSkgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiAlJShvYmplY3RuYW1lKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzUKKyM6IHJlZi1maWx0ZXIuYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICLQvtC20LjQtNCw0LXQvNGL0Lkg0YTQvtGA0LzQsNGCOiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogCi0jOiByZWYtZmlsdGVyLmM6MTQ3CisjOiByZWYtZmlsdGVyLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBwb3NpdGlvbjolcyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3QsNGPINC/0L7Qt9C40YbQuNGPOiVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTUxCisjOiByZWYtZmlsdGVyLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aWR0aDolcyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3QsNGPINGI0LjRgNC40L3QsDolcyIKIAotIzogcmVmLWZpbHRlci5jOjE1NworIzogcmVmLWZpbHRlci5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgJSUoYWxpZ24pOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE2MQorIzogcmVmLWZpbHRlci5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB3aWR0aCBleHBlY3RlZCB3aXRoIHRoZSAlJShhbGlnbikgYXRvbSIKIG1zZ3N0ciAi0L7QttC40LTQsNC10YLRgdGPINC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QsNGPINGI0LjRgNC40L3QsCDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0YfQsNGB0YLQuNGG0YsgJSUoYWxpZ24pIgogCi0jOiByZWYtZmlsdGVyLmM6MjQ0CisjOiByZWYtZmlsdGVyLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiAlJShpZik6ICVzIgorCisjOiByZWYtZmlsdGVyLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LjQvNGPINC/0L7Qu9GPOiAlLipzIgogCi0jOiByZWYtZmlsdGVyLmM6MjcwCisjOiByZWYtZmlsdGVyLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90L7QtSDQuNC80Y8g0L/QvtC70Y86ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzIKKyM6IHJlZi1maWx0ZXIuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShpZikgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICLRhNC+0YDQvNCw0YI6INGH0LDRgdGC0LjRhtCwICUlKGlmKSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LAg0LHQtdC3INGH0LDRgdGC0LjRhtGLICUlKHRoZW4pIgorCisjOiByZWYtZmlsdGVyLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCittc2dzdHIgItGE0L7RgNC80LDRgjog0YfQsNGB0YLQuNGG0LAgJSUodGhlbikg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINCx0LXQtyDRh9Cw0YHRgtC40YbRiyAlJShpZikiCisKKyM6IHJlZi1maWx0ZXIuYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgItGE0L7RgNC80LDRgjog0YfQsNGB0YLQuNGG0LAgJSUodGhlbikg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINCx0L7Qu9C10LUg0L7QtNC90L7Qs9C+INGA0LDQt9CwIgorCisjOiByZWYtZmlsdGVyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIGFmdGVyICUlKGVsc2UpIgorbXNnc3RyICLRhNC+0YDQvNCw0YI6INGH0LDRgdGC0LjRhtCwICUlKHRoZW4pINC40YHQv9C+0LvRjNC30L7QstCw0L3QsCDQv9C+0YHQu9C1ICUlKGVsc2UpIgorCisjOiByZWYtZmlsdGVyLmM6NTk4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCittc2dzdHIgItGE0L7RgNC80LDRgjog0YfQsNGB0YLQuNGG0LAgJSUoZWxzZSkg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINCx0LXQtyDRh9Cw0YHRgtC40YbRiyAlJShpZikiCisKKyM6IHJlZi1maWx0ZXIuYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCittc2dzdHIgItGE0L7RgNC80LDRgjog0YfQsNGB0YLQuNGG0LAgJSUoZWxzZSkg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINCx0LXQtyDRh9Cw0YHRgtC40YbRiyAlJSh0aGVuKSIKKworIzogcmVmLWZpbHRlci5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi0YTQvtGA0LzQsNGCOiDRh9Cw0YHRgtC40YbQsCAlJShlbHNlKSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LAg0LHQvtC70LXQtSDQvtC00L3QvtCz0L4g0YDQsNC30LAiCisKKyM6IHJlZi1maWx0ZXIuYzo2MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gdXNlZCB3aXRob3V0IGNvcnJlc3BvbmRpbmcgYXRvbSIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCOiDRh9Cw0YHRgtC40YbQsCAlJShlbmQpINC40YHQv9C+0LvRjNC30L7QstCw0L3QsCDQsdC10Lcg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQtdC5INGH0LDRgdGC0LjRhtGLIgogCi0jOiByZWYtZmlsdGVyLmM6NDI0CisjOiByZWYtZmlsdGVyLmM6NjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmb3JtYXQgc3RyaW5nICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwINGE0L7RgNC80LDRgtCwICVzIgogCi0jOiByZWYtZmlsdGVyLmM6ODc4Ci1tc2dpZCAiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiCi1tc2dzdHIgIjpzdHJpcD0g0YLRgNC10LHRg9C10YIg0L3QsNC70LjRh9C40Y8g0L/QvtC70L7QttC40YLQtdC70YzQvdC+0LPQviDRhtC10LvQvtCz0L4g0LDRgNCz0YPQvNC10L3RgtCwIgotCi0jOiByZWYtZmlsdGVyLmM6ODgzCisjOiByZWYtZmlsdGVyLmM6MTI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIKLW1zZ3N0ciAi0YHRgdGL0LvQutCwIMKrJXPCuyDQvdC1INGB0L7QtNC10YDQttC40YIgJWxkINC60L7QvNC/0L7QvdC10L3RgiDQtNC70Y8gOnN0cmlwIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKNC90LXRgiDQstC10YLQutC4LCDQv9C10YDQtdC80LXRidC10L3QuNC1ICVzKSIKIAotIzogcmVmLWZpbHRlci5jOjEwNDYKKyM6IHJlZi1maWx0ZXIuYzoxMjU3CiAjLCBjLWZvcm1hdAotbXNnaWQgInVua25vd24gJS4qcyBmb3JtYXQgJXMiCi1tc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0LkgJS4qcyDRhNC+0YDQvNCw0YIgJXMiCittc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgorbXNnc3RyICIo0L3QtdGCINCy0LXRgtC60LgsINC00LLQvtC40YfQvdGL0Lkg0L/QvtC40YHQuiDQvdCw0YfQsNGCINC90LAgJXMpIgogCi0jOiByZWYtZmlsdGVyLmM6MTA2NiByZWYtZmlsdGVyLmM6MTA5NworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKKyM6IHJlZi1maWx0ZXIuYzoxMjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKK21zZ3N0ciAiKEhFQUQg0L7RgtC00LXQu9GR0L0g0L3QsCAlcykiCisKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKKyM6IHJlZi1maWx0ZXIuYzoxMjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgorbXNnc3RyICIoSEVBRCDQvtGC0LTQtdC70ZHQvSDQvdCw0YfQuNC90LDRjyDRgSAlcykiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjc2Cittc2dpZCAiKG5vIGJyYW5jaCkiCittc2dzdHIgIijQvdC10YIg0LLQtdGC0LrQuCkiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDI2IHJlZi1maWx0ZXIuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKIG1zZ3N0ciAi0L3QtSDQvdCw0LnQtNC10L0g0L7QsdGK0LXQutGCICVzINC00LvRjyAlcyIKIAotIzogcmVmLWZpbHRlci5jOjEwNjkgcmVmLWZpbHRlci5jOjExMDAKKyM6IHJlZi1maWx0ZXIuYzoxNDI5IHJlZi1maWx0ZXIuYzoxNDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhcnNlX29iamVjdF9idWZmZXIgZmFpbGVkIG9uICVzIGZvciAlcyIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INCy0YvQv9C+0LvQvdC10L3QuNC4IHBhcnNlX29iamVjdF9idWZmZXIg0L3QsCAlcyDQtNC70Y8gJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzExCisjOiByZWYtZmlsdGVyLmM6MTc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCiBtc2dzdHIgItCf0L7QstGA0LXQttC00ZHQvdC90YvQuSDQvtCx0YrQtdC60YIgwqslc8K7IgogCi0jOiByZWYtZmlsdGVyLmM6MTM3MworIzogcmVmLWZpbHRlci5jOjE4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgcmVmIHdpdGggYnJva2VuIG5hbWUgJXMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0YPRjiDRgdGB0YvQu9C60YMg0YEg0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C8INC40LzQtdC90LXQvCAlcyIKIAotIzogcmVmLWZpbHRlci5jOjEzNzgKKyM6IHJlZi1maWx0ZXIuYzoxODMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0YPRjiDQvdC10L/RgNCw0LLQuNC70YzQvdGD0Y4g0YHRgdGL0LvQutGDICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTYzMworIzogcmVmLWZpbHRlci5jOjIwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAiZm9ybWF0OiDQv9GA0L7Qv9GD0YnQtdC90LAg0YfQsNGB0YLQuNGG0LAgJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjE2ODcKKyM6IHJlZi1maWx0ZXIuYzoyMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC40LzRjyDQvtCx0YrQtdC60YLQsCAlcyIKIAotIzogcmVtb3RlLmM6NzQ2CisjOiByZW1vdGUuYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICLQndC10LvRjNC30Y8g0LjQt9Cy0LvQtdGH0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+ICVzINC4ICVzINCyICVzIgogCi0jOiByZW1vdGUuYzo3NTAKKyM6IHJlbW90ZS5jOjc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgogbXNnc3RyICIlcyDQvtCx0YvRh9C90L4g0L7RgtGB0LvQtdC20LjQstCw0LXRgiAlcywg0LAg0L3QtSAlcyIKIAotIzogcmVtb3RlLmM6NzU0CisjOiByZW1vdGUuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgogbXNnc3RyICIlcyDQvtGC0YHQu9C10LbQuNCy0LDQtdGCINC4ICVzINC4ICVzIgogCi0jOiByZW1vdGUuYzo3NjIKKyM6IHJlbW90ZS5jOjc2MwogbXNnaWQgIkludGVybmFsIGVycm9yIgogbXNnc3RyICLQktC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LAiCiAKLSM6IHJlbW90ZS5jOjE2NzcgcmVtb3RlLmM6MTcyMAorIzogcmVtb3RlLmM6MTY4MCByZW1vdGUuYzoxNzgyCiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCDQvdC1INGD0LrQsNC30YvQstCw0LXRgiDQvdCwINCy0LXRgtC60YMiCiAKLSM6IHJlbW90ZS5jOjE2ODYKKyM6IHJlbW90ZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgItC90LXRgiDRgtCw0LrQvtC5INCy0LXRgtC60Lg6IMKrJXPCuyIKIAotIzogcmVtb3RlLmM6MTY4OQorIzogcmVtb3RlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAi0LLRi9GI0LXRgdGC0L7Rj9GJ0LDRjyDQstC10YLQutCwINC90LUg0L3QsNGB0YLRgNC+0LXQvdCwINC00LvRjyDQstC10YLQutC4IMKrJXPCuyIKIAotIzogcmVtb3RlLmM6MTY5NQorIzogcmVtb3RlLmM6MTY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAi0LLRi9GI0LXRgdGC0L7Rj9GJ0LDRjyDQstC10YLQutCwIMKrJXPCuyDQvdC1INGB0L7RhdGA0LDQvdC10L3QsCDQutCw0Log0L7RgtGB0LvQtdC20LjQstCw0LXQvNCw0Y8g0LLQtdGC0LrQsCIKIAotIzogcmVtb3RlLmM6MTcxMAorIzogcmVtb3RlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAi0L3QsNC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC+0YLQv9GA0LDQstC60Lggwqslc8K7INC90LAg0LLQvdC10YjQvdC10Lwg0YHQtdGA0LLQtdGA0LUgwqslc8K7INC90LUg0LjQvNC10LXRgiDQu9C+0LrQsNC70YzQvdC+0Lkg0L7RgtGB0LvQtdC20LjQstCw0LXQvNC+0Lkg0LLQtdGC0LrQuCIKQEAgLTI0MDEsNyArMjY5OCw3IEBACiAjOiByZW1vdGUuYzoxNzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggcmVmc3BlY3MgZm9yICclcycgZG8gbm90IGluY2x1ZGUgJyVzJyIKLW1zZ3N0ciAi0YHQv9C10YbQuNGE0LjQutCw0YbQuNC4INC/0YPRgtC4INC00LvRjyDQvtGC0L/RgNCw0LLQutC4IMKrJXPCuyDQvdC1INCy0LrQu9GO0YfQsNGO0YIg0LIg0YHQtdCx0Y8gwqslc8K7IgorbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDRiyDQv9GD0YLQuCDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuCDCqyVzwrsg0L3QtSDQstC60LvRjtGH0LDRjtGCINCyINGB0LXQsdGPIMKrJXPCuyIKIAogIzogcmVtb3RlLmM6MTc0OQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKQEAgLTI0MTEsMjEgKzI3MDgsMjEgQEAKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDCq3NpbXBsZcK7INC+0YLQv9GA0LDQstC60YMg0LIg0LXQtNC40L3RgdGC0LLQtdC90L3Rg9GOINGC0L7Rh9C60YMg0L3QsNC30L3QsNGH0LXQvdC40Y8iCiAKLSM6IHJlbW90ZS5jOjIwNzMKKyM6IHJlbW90ZS5jOjIwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICLQktCw0YjQsCDQstC10YLQutCwINCx0LDQt9C40YDRg9C10YLRgdGPINC90LAgwqslc8K7LCDQvdC+INCy0YvRiNC10YHRgtC+0Y/RidC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQuNGB0YfQtdC3LlxuIgogCi0jOiByZW1vdGUuYzoyMDc3CisjOiByZW1vdGUuYzoyMDgwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIijQtNC70Y8g0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW3CuylcbiIKIAotIzogcmVtb3RlLmM6MjA4MAorIzogcmVtb3RlLmM6MjA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKIG1zZ3N0ciAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQvtCx0L3QvtCy0LvQtdC90LAg0LIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNC4INGBIMKrJXPCuy5cbiIKIAotIzogcmVtb3RlLmM6MjA4NAorIzogcmVtb3RlLmM6MjA4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgpAQCAtMjQzNCwxMSArMjczMSwxMSBAQAogbXNnc3RyWzJdICLQktCw0YjQsCDQstC10YLQutCwINC+0L/QtdGA0LXQttCw0LXRgiDCqyVzwrsg0L3QsCAlZCDQutC+0LzQvNC40YLQvtCyLlxuIgogbXNnc3RyWzNdICLQktCw0YjQsCDQstC10YLQutCwINC+0L/QtdGA0LXQttCw0LXRgiDCqyVzwrsg0L3QsCAlZCDQutC+0LzQvNC40YLQvtCyLlxuIgogCi0jOiByZW1vdGUuYzoyMDkwCisjOiByZW1vdGUuYzoyMDkzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBwdXNowrssINGH0YLQvtCx0Ysg0L7Qv9GD0LHQu9C40LrQvtCy0LDRgtGMINCy0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQutC+0LzQvNC40YLRiylcbiIKIAotIzogcmVtb3RlLmM6MjA5MworIzogcmVtb3RlLmM6MjA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTI0NDgsMTEgKzI3NDUsMTEgQEAKIG1zZ3N0clsyXSAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQvtGC0YHRgtCw0LXRgiDQvtGCIMKrJXPCuyDQvdCwICVkINC60L7QvNC80LjRgtC+0LIg0Lgg0LzQvtC20LXRgiDQsdGL0YLRjCDQv9C10YDQtdC80L7RgtCw0L3QsCDQstC/0LXRgNC10LQuXG4iCiBtc2dzdHJbM10gItCS0LDRiNCwINCy0LXRgtC60LAg0L7RgtGB0YLQsNC10YIg0L7RgiDCqyVzwrsg0L3QsCAlZCDQutC+0LzQvNC40YLQvtCyINC4INC80L7QttC10YIg0LHRi9GC0Ywg0L/QtdGA0LXQvNC+0YLQsNC90LAg0LLQv9C10YDQtdC0LlxuIgogCi0jOiByZW1vdGUuYzoyMTAxCisjOiByZW1vdGUuYzoyMTA0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcHVsbMK7LCDRh9GC0L7QsdGLINC+0LHQvdC+0LLQuNGC0Ywg0LLQsNGI0YMg0LvQvtC60LDQu9GM0L3Rg9GOINCy0LXRgtC60YMpXG4iCiAKLSM6IHJlbW90ZS5jOjIxMDQKKyM6IHJlbW90ZS5jOjIxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC0yNDY1LDEyOSArMjc2MiwxNDUgQEAKIG1zZ3N0clsyXSAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQuCDCqyVzwrsg0YDQsNC30LTQtdC70LjQu9C40YHRjFxu0Lgg0YLQtdC/0LXRgNGMINC40LzQtdGO0YIgJWQg0LggJWQg0YDQsNC30L3Ri9GFINC60L7QvNC80LjRgtC+0LIg0LIg0LrQsNC20LTQvtC5INGB0L7QvtGC0LLQtdGC0YHRgtCy0LXQvdC90L4uXG4iCiBtc2dzdHJbM10gItCS0LDRiNCwINCy0LXRgtC60LAg0Lggwqslc8K7INGA0LDQt9C00LXQu9C40LvQuNGB0YxcbtC4INGC0LXQv9C10YDRjCDQuNC80LXRjtGCICVkINC4ICVkINGA0LDQt9C90YvRhSDQutC+0LzQvNC40YLQvtCyINCyINC60LDQttC00L7QuSDRgdC+0L7RgtCy0LXRgtGB0YLQstC10L3QvdC+LlxuIgogCi0jOiByZW1vdGUuYzoyMTE0CisjOiByZW1vdGUuYzoyMTE3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHB1bGzCuywg0YfRgtC+0LHRiyDRgdC70LjRgtGMINCy0L3QtdGI0L3RjtGOINCy0LXRgtC60YMg0LIg0LLQsNGI0YMpXG4iCiAKLSM6IHJldmlzaW9uLmM6MjE1OAorIzogcmV2aXNpb24uYzoyMTg3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAi0L/QvtGF0L7QttC1LCDQstCw0YjQsCDRgtC10LrRg9GJ0LDRjyDQstC10YLQutCwINC/0L7QstGA0LXQttC00LXQvdCwIgogCi0jOiByZXZpc2lvbi5jOjIxNjEKKyM6IHJldmlzaW9uLmM6MjE5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgItCy0LDRiNCwINGC0LXQutGD0YnQsNGPINCy0LXRgtC60LAgwqslc8K7INC10YnQtSDQvdC1INGB0L7QtNC10YDQttC40YIg0L3QuCDQvtC00L3QvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IHJldmlzaW9uLmM6MjM1NQorIzogcmV2aXNpb24uYzoyMzg0CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgItC+0L/RhtC40Y4gLS1maXJzdC1wYXJlbnQg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTA2CisjOiBydW4tY29tbWFuZC5jOjY0NAogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L7RgtC60YDRi9GC0LjRjyAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTA4CisjOiBzZW5kLXBhY2suYzoxNTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgotbXNnc3RyICJkdXAyKCVkLCVkKSDRgdCx0L7QuSIKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgcmVtb3RlIHVucGFjayBzdGF0dXM6ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDRgdGC0LDRgtGD0YEg0LLQvdC10YjQvdC10Lkg0YDQsNGB0L/QsNC60L7QstC60Lg6ICVzIgogCi0jOiBzZW5kLXBhY2suYzoyOTcKKyM6IHNlbmQtcGFjay5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCittc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQstC90LXRiNC90LXQuSDRgNCw0YHQv9Cw0LrQvtCy0LrQtSAlcyIKKworIzogc2VuZC1wYWNrLmM6MzE2CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgItGB0LHQvtC5INC/0L7QtNC/0LjRgdCw0L3QuNGPINGB0LXRgNGC0LjRhNC40LrQsNGC0LAg0L7RgtC/0YDQsNCy0LrQuCIKIAotIzogc2VuZC1wYWNrLmM6NDEwCisjOiBzZW5kLXBhY2suYzo0MjkKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgItC/0YDQuNC90LjQvNCw0Y7RidCw0Y8g0YHRgtC+0YDQvtC90LAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0L7RgtC/0YDQsNCy0LrRgyDRgSDQvtC/0YbQuNC10LkgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQxMgorIzogc2VuZC1wYWNrLmM6NDMxCiBtc2dpZCAiIgogIm5vdCBzZW5kaW5nIGEgcHVzaCBjZXJ0aWZpY2F0ZSBzaW5jZSB0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0ICIKICItLXNpZ25lZCBwdXNoIgogbXNnc3RyICLQvdC1INC+0YLQv9GA0LDQstC70Y/QtdC8INGB0LXRgNGC0LjRhNC40LrQsNGCINC00LvRjyDQvtGC0L/RgNCw0LLQutC4LCDRgtCw0Log0LrQsNC6INC/0YDQuNC90LjQvNCw0Y7RidCw0Y8g0YHRgtC+0YDQvtC90LAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0L7RgtC/0YDQsNCy0LrRgyDRgSDQvtC/0YbQuNC10LkgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQyNAorIzogc2VuZC1wYWNrLmM6NDQzCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICLQv9GA0LjQvdC40LzQsNGO0YnQsNGPINGB0YLQvtGA0L7QvdCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC+0YLQv9GA0LDQstC60YMg0YEg0L7Qv9GG0LjQtdC5IC0tYXRvbWljIgogCi0jOiBzZW5kLXBhY2suYzo0MjkKKyM6IHNlbmQtcGFjay5jOjQ0OAogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICLQv9GA0LjQvdC40LzQsNGO0YnQsNGPINGB0YLQvtGA0L7QvdCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC+0YLQv9GA0LDQstC60YMg0YEg0L7Qv9GG0LjRj9C80LgiCiAKLSM6IHNlcXVlbmNlci5jOjE3MQorIzogc2VxdWVuY2VyLmM6MjE2CiBtc2dpZCAicmV2ZXJ0IgogbXNnc3RyICLQvtCx0YDQsNGC0LjRgtGMINC40LfQvNC10L3QtdC90LjRjyIKIAotIzogc2VxdWVuY2VyLmM6MTcxCisjOiBzZXF1ZW5jZXIuYzoyMTgKIG1zZ2lkICJjaGVycnktcGljayIKIG1zZ3N0ciAi0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0LrQvtC80LzQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjgKKyM6IHNlcXVlbmNlci5jOjIyMAorbXNnaWQgInJlYmFzZSAtaSIKK21zZ3N0ciAicmViYXNlIC1pIgorCisjOiBzZXF1ZW5jZXIuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBhY3Rpb246ICVkIgorbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3QvtC1INC00LXQudGB0YLQstC40LU6ICVkIgorCisjOiBzZXF1ZW5jZXIuYzoyNzkKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKIG1zZ3N0ciAi0L/QvtGB0LvQtSDRgNCw0LfRgNC10YjQtdC90LjRjyDQutC+0L3RhNC70LjQutGC0L7Qsiwg0L/QvtC80LXRgtGM0YLQtSDQuNGB0L/RgNCw0LLQu9C10L3QvdGL0LUg0L/Rg9GC0LhcbtGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IGFkZCA80L/Rg9GC0Lg+wrsg0LjQu9C4IMKrZ2l0IHJtIDzQv9GD0YLQuD7CuyIKIAotIzogc2VxdWVuY2VyLmM6MjMxCisjOiBzZXF1ZW5jZXIuYzoyODIKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgogImFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICdnaXQgY29tbWl0JyIKIG1zZ3N0ciAi0L/QvtGB0LvQtSDRgNCw0LfRgNC10YjQtdC90LjRjyDQutC+0L3RhNC70LjQutGC0L7Qsiwg0L/QvtC80LXRgtGM0YLQtSDQuNGB0L/RgNCw0LLQu9C10L3QvdGL0LUg0L/Rg9GC0LhcbtGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IGFkZCA80L/Rg9GC0Lg+wrsg0LjQu9C4IMKrZ2l0IHJtIDzQv9GD0YLQuD7Cu1xu0Lgg0YHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgY29tbWl0wrsiCiAKLSM6IHNlcXVlbmNlci5jOjI0NCBzZXF1ZW5jZXIuYzoxMjA5CisjOiBzZXF1ZW5jZXIuYzoyOTUgc2VxdWVuY2VyLmM6MTY4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQsdC70L7QutC40YDQvtCy0LDRgtGMIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MjQ3IHNlcXVlbmNlci5jOjExMjUgc2VxdWVuY2VyLmM6MTIxNAorIzogc2VxdWVuY2VyLmM6Mjk4IHNlcXVlbmNlci5jOjE1NjMgc2VxdWVuY2VyLmM6MTY5MCBzZXF1ZW5jZXIuYzoxNzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LIgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyNTEKKyM6IHNlcXVlbmNlci5jOjMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCBlb2wg0LIgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyNTUgc2VxdWVuY2VyLmM6MTEzMCBzZXF1ZW5jZXIuYzoxMjE2CisjOiBzZXF1ZW5jZXIuYzozMDYgc2VxdWVuY2VyLmM6MTU2OCBzZXF1ZW5jZXIuYzoxNjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LLQtdGA0YjQuNGC0Ywgwqslc8K7LiIKIAotIzogc2VxdWVuY2VyLmM6Mjc5IGJ1aWx0aW4vYW0uYzoyNTkgYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwMzIKKyM6IHNlcXVlbmNlci5jOjMzMCBzZXF1ZW5jZXIuYzo4MTcgc2VxdWVuY2VyLmM6MTU4OSBidWlsdGluL2FtLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjc1MCBidWlsdGluL21lcmdlLmM6MTAxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjMwNQorIzogc2VxdWVuY2VyLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCiBtc2dzdHIgItCy0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90YsgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzozMDkKKyM6IHNlcXVlbmNlci5jOjM2MAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAi0LTQu9GPINC/0YDQvtC00L7Qu9C20LXQvdC40Y8g0LfQsNC60L7QvNC80LjRgtGM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0LjQu9C4INGB0L/RgNGP0YfRjNGC0LUg0LjRhS4iCiAKLSM6IHNlcXVlbmNlci5jOjMyNAorIzogc2VxdWVuY2VyLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVzOiDQv9C10YDQtdC80L7RgtC60LAg0LLQv9C10YDQtdC0IgogCi0jLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzozOTkKKyMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCisjLiAicmViYXNlIC1pIi4KKyM6IHNlcXVlbmNlci5jOjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczog0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINGE0LDQudC7INC40L3QtNC10LrRgdCwIgogCi0jOiBzZXF1ZW5jZXIuYzo0MTgKKyM6IHNlcXVlbmNlci5jOjQ5MQogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNGB0L/QvtC30L3QsNGC0YwgSEVBRCDQutC+0LzQvNC40YJcbiIKIAotIzogc2VxdWVuY2VyLmM6NDM4CisjOiBzZXF1ZW5jZXIuYzo1MTEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC00LXRgNC10LLQviDQutGN0YjQsFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODMKKyM6IHNlcXVlbmNlci5jOjU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKQEAgLTI2MDQsMTgzICsyOTE3LDM4MCBAQAogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgItGDINCy0LDRgSDQuNC80LXRjtGC0YHRjyDQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUuINCV0YHQu9C4INGN0YLQuCDQuNC30LzQtdC90LXQvdC40Y8g0LTQvtC70LbQvdGLINCx0YvRgtGMINC+0LHRitC10LTQtdC90LXQvdGLINGBINC/0YDQtdC00YvQtNGD0YnQuNC8INC60L7QvNC80LjRgtC+0LwsINGC0L4g0LfQsNC/0YPRgdGC0LjRgtC1OlxuXG4gIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuXG7QldGB0LvQuCDQttC1INC+0L3QuCDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0L/QvtC80LXRidC10L3RiyDQsiDQvdC+0LLRi9C5INC60L7QvNC80LjRgiwg0YLQviDQt9Cw0L/Rg9GB0YLQuNGC0LU6XG5cbiAgZ2l0IGNvbW1pdCAlc1xuXG7QkiDQu9GO0LHQvtC8INGB0LvRg9GH0LDQtSwg0L/QvtGB0LvQtSDRgtC+0LPQviDQutCw0Log0LLRiyDQt9Cw0LrQvtC90YfQuNGC0LUsINC/0YDQvtC00L7Qu9C20LjRgtGMINC/0LXRgNC10LzQtdGJ0LXQvdC40LUg0LzQvtC20L3QviDQstGL0L/QvtC70L3QuNCyOlxuXG4gIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo1NjcKKyM6IHNlcXVlbmNlci5jOjY5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC60L7QvNC80LjRgiAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo1NzIKKyM6IHNlcXVlbmNlci5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDRgNC+0LTQuNGC0LXQu9GM0YHQutC40Lkg0LrQvtC80LzQuNGCICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjY1NgorIzogc2VxdWVuY2VyLmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bmV4cGVjdGVkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgorIlxuIgorIlx0JS4qcyIKK21zZ3N0ciAi0L3QtdC+0LbQuNC00LDQvdC90LDRjyDQv9C10YDQstCw0Y8g0YHRgtGA0L7QutCwINGB0L7QvtCx0YnQtdC90LjRjyDRg9C/0LvQvtGC0L3QtdC90LjRjzpcblxuXHQlLipzIgorCisjOiBzZXF1ZW5jZXIuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCisiXG4iCisiXHQlLipzIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0L/QtdGA0LLQsNGPINGB0YLRgNC+0LrQsCDRgdC+0L7QsdGJ0LXQvdC40Y8g0YPQv9C70L7RgtC90LXQvdC40Y86XG5cblx0JS4qcyIKKworIzogc2VxdWVuY2VyLmM6ODM2IHNlcXVlbmNlci5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCittc2dzdHIgItCt0YLQviDQvtCx0YrQtdC00LjQvdC10L3QuNC1ICVkINC60L7QvNC80LjRgtC+0LIuIgorCisjOiBzZXF1ZW5jZXIuYzo4NDUKK21zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKK21zZ3N0ciAi0L3Rg9C20LXQvSBIRUFEINC00LvRjyDQuNGB0L/RgNCw0LLQu9C10L3QuNGPIgorCisjOiBzZXF1ZW5jZXIuYzo4NDcKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCBIRUFEIgorCisjOiBzZXF1ZW5jZXIuYzo4NDkKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCDRgtC10LrRg9GJ0LXQs9C+IEhFQUQiCisKKyM6IHNlcXVlbmNlci5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMIMKrJXPCuyIKKworIzogc2VxdWVuY2VyLmM6ODY0IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQorbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCittc2dzdHIgItCt0YLQviAxLdC1INGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsDoiCisKKyM6IHNlcXVlbmNlci5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZSBvZiAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwINC00LvRjyAlcyIKKworIzogc2VxdWVuY2VyLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMlZDoiCittc2dzdHIgItCt0YLQviDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0L3QvtC80LXRgCAjJWQ6IgorCisjOiBzZXF1ZW5jZXIuYzo4ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICLQodC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0L3QvtC80LXRgCAjJWQg0LHRg9C00LXRgiDQv9GA0L7Qv9GD0YnQtdC90L46IgorCisjOiBzZXF1ZW5jZXIuYzo4ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90LDRjyDQutC+0LzQsNC90LTQsDogJWQiCisKKyM6IHNlcXVlbmNlci5jOjk1NQogbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgItCy0LDRiCDQuNC90LTQtdC60YEg0L3QtSDRgdC70LjRgi4iCiAKLSM6IHNlcXVlbmNlci5jOjY3NQorIzogc2VxdWVuY2VyLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAi0LrQvtC80LzQuNGCICVzIOKAlCDRjdGC0L4g0LrQvtC80LzQuNGCLdGB0LvQuNGP0L3QuNC1LCDQvdC+INC+0L/RhtC40Y8gLW0g0L3QtSDRg9C60LDQt9Cw0L3QsC4iCiAKLSM6IHNlcXVlbmNlci5jOjY4MworIzogc2VxdWVuY2VyLmM6OTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAi0YMg0LrQvtC80LzQuNGC0LAgJXMg0L3QtdGCINC/0YDQtdC00LrQsCAlZCIKIAotIzogc2VxdWVuY2VyLmM6Njg3CisjOiBzZXF1ZW5jZXIuYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAi0L7RgdC90L7QstC90LDRjyDQstC10YLQutCwINGD0LrQsNC30LDQvdCwLCDQvdC+INC60L7QvNC80LjRgiAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0YHQu9C40Y/QvdC40LXQvC4iCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKLSMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzo3MDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgotbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0YDQvtC00LjRgtC10LvRjNGB0LrQuNC5INC60L7QvNC80LjRgiDQtNC70Y8gJXMiCi0KLSM6IHNlcXVlbmNlci5jOjcwNQorIzogc2VxdWVuY2VyLmM6OTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwINC00LvRjyAlcyIKIAotIzogc2VxdWVuY2VyLmM6Nzk3CisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCisjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgorIzogc2VxdWVuY2VyLmM6MTAxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDRgNC+0LTQuNGC0LXQu9GM0YHQutC40Lkg0LrQvtC80LzQuNGCINC00LvRjyAlcyIKKworIzogc2VxdWVuY2VyLmM6MTA3NSBzZXF1ZW5jZXIuYzoxODMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMIMKrJXPCuyDQsiDCqyVzwrsiCisKKyM6IHNlcXVlbmNlci5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0YDQsNGC0LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQutC+0LzQvNC40YLQsCAlc+KApiAlcyIKIAotIzogc2VxdWVuY2VyLmM6Nzk4CisjOiBzZXF1ZW5jZXIuYzoxMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0Ywg0LrQvtC80LzQuNGCICVz4oCmICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzMKKyM6IHNlcXVlbmNlci5jOjExNjkKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L0g0L/Rg9GB0YLQvtC5INC90LDQsdC+0YAg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogc2VxdWVuY2VyLmM6ODQzCisjOiBzZXF1ZW5jZXIuYzoxMTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6INGB0LHQvtC5INGH0YLQtdC90LjRjyDQuNC90LTQtdC60YHQsCIKIAotIzogc2VxdWVuY2VyLmM6ODUwCisjOiBzZXF1ZW5jZXIuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6INGB0LHQvtC5INC+0LHQvdC+0LLQu9C10L3QuNGPINC40L3QtNC10LrRgdCwIgogCi0jOiBzZXF1ZW5jZXIuYzo5NDQKKyM6IHNlcXVlbmNlci5jOjEzMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo5NTAKLW1zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCi1tc2dzdHIgItC60L7QvNC80LjRgtGLINC90LUg0YDQsNC30L7QsdGA0LDQvdGLLiIKKyM6IHNlcXVlbmNlci5jOjEzMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICclcycgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAi0L3QtdC70YzQt9GPINCy0YvQv9C+0LvQvdC40YLRjCDCqyVzwrsg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8g0L/RgNC10LTRi9C00YPRidC10LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogc2VxdWVuY2VyLmM6OTY2CisjOiBzZXF1ZW5jZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrsuIgogCi0jOiBzZXF1ZW5jZXIuYzo5NzIKKyM6IHNlcXVlbmNlci5jOjEzNTkKK21zZ2lkICJwbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKK21zZ3N0ciAi0L/QvtC20LDQu9GD0LnRgdGC0LAg0LjRgdC/0YDQsNCy0YzRgtC1INGN0YLQviDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCByZWJhc2UgLS1lZGl0LXRvZG/Cuy4iCisKKyM6IHNlcXVlbmNlci5jOjEzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCiBtc2dzdHIgItC90LXQv9GA0LjQs9C+0LTQvdCw0Y8g0LTQu9GPINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINC60LDRgNGC0LAg0YEg0LjQvdGB0YLRgNGD0LrRhtC40Y/QvNC4OiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjk4MworIzogc2VxdWVuY2VyLmM6MTM2NgorbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKK21zZ3N0ciAi0LrQvtC80LzQuNGC0Ysg0L3QtSDRgNCw0LfQvtCx0YDQsNC90YsuIgorCisjOiBzZXF1ZW5jZXIuYzoxMzc3CiBtc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCiBtc2dzdHIgItC90LXQu9GM0LfRjyDRgdC60L7Qv9C40YDQvtCy0LDRgtGMINC60L7QvNC80LjRgiDQstC+INCy0YDQtdC80Y8g0L/RgNC+0YbQtdGB0YHQsCDQvtCx0YDQsNGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAuIgogCi0jOiBzZXF1ZW5jZXIuYzo5ODUKKyM6IHNlcXVlbmNlci5jOjEzNzkKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC+0LHRgNCw0YLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINC60L7QvNC80LjRgtCwINCy0L4g0LLRgNC10LzRjyDQutC+0L/QuNGA0L7QstCw0L3QuNGPINC60L7QvNC80LjRgtCwLiIKIAotIzogc2VxdWVuY2VyLmM6MTAyOAorIzogc2VxdWVuY2VyLmM6MTQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgItC90LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C5INC60LvRjtGHOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTAzMQorIzogc2VxdWVuY2VyLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1ICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA2MworIzogc2VxdWVuY2VyLmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAi0LjRgdC/0L7RgNGH0LXQvdC90LDRjyDQutCw0YDRgtCwINGBINC+0L/RhtC40Y/QvNC4OiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjExMDEKKyM6IHNlcXVlbmNlci5jOjE1NDAKIG1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICLQutC+0L/QuNGA0L7QstCw0L3QuNC1INC40LvQuCDQvtCx0YDQsNGJ0LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5INC60L7QvNC80LjRgtCwINGD0LbQtSDQstGL0L/QvtC70L3Rj9GO0YLRgdGPIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTAyCisjOiBzZXF1ZW5jZXIuYzoxNTQxCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAi0L/QvtC/0YDQvtCx0YPQudGC0LUgwqtnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KcK7IgogCi0jOiBzZXF1ZW5jZXIuYzoxMTA2CisjOiBzZXF1ZW5jZXIuYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC60LDRgtCw0LvQvtCzINC00LvRjyDRg9C60LDQt9Cw0YLQtdC70Y8g0YHQu9C10LTQvtCy0LDQvdC40Y8g0LrQvtC80LzQuNGC0L7QsiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjExMjAKKyM6IHNlcXVlbmNlci5jOjE1NTgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQsdC70L7QutC40YDQvtCy0LDRgtGMIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjExNTEgc2VxdWVuY2VyLmM6MTI4OQorIzogc2VxdWVuY2VyLmM6MTYxNCBzZXF1ZW5jZXIuYzoyMTg4CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICLQutC+0L/QuNGA0L7QstCw0L3QuNC1INC40LvQuCDQvtCx0YDQsNGJ0LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5INC60L7QvNC80LjRgtCwINGD0LbQtSDQstGL0L/QvtC70L3Rj9GO0YLRgdGPIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTUzCisjOiBzZXF1ZW5jZXIuYzoxNjE2CiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTU1IHNlcXVlbmNlci5jOjExODkKKyM6IHNlcXVlbmNlci5jOjE2MTggc2VxdWVuY2VyLmM6MTY1MgogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0L7RgtC80LXQvdC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0YEg0LLQtdGC0LrQuCwg0LrQvtGC0L7RgNCw0Y8g0LXRidC1INC90LUg0YHQvtC30LTQsNC90LAiCiAKLSM6IHNlcXVlbmNlci5jOjExNzUgYnVpbHRpbi9ncmVwLmM6NTc4CisjOiBzZXF1ZW5jZXIuYzoxNjM4IGJ1aWx0aW4vZ3JlcC5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MTE3NworIzogc2VxdWVuY2VyLmM6MTY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywgwqslc8K7OiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTE3OAorIzogc2VxdWVuY2VyLmM6MTY0MQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgItC90LXQvtC20LjQtNCw0L3QvdGL0Lkg0LrQvtC90LXRhiDRhNCw0LnQu9CwIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTg0CisjOiBzZXF1ZW5jZXIuYzoxNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAi0YHQvtGF0YDQsNC90LXQvdC90YvQuSDRhNCw0LnQuyDRgSBIRUFEINC/0LXRgNC10LQg0LrQvtC/0LjRgNC+0LLQsNC90LjQtdC8INC60L7QvNC80LjRgtCwIMKrJXPCuyDQv9C+0LLRgNC10LbQtNC10L0iCiAKLSM6IHNlcXVlbmNlci5jOjEzNTQKKyM6IHNlcXVlbmNlci5jOjE2NTgKK21zZ2lkICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQuIE5vdCByZXdpbmRpbmcsIGNoZWNrIHlvdXIgSEVBRCEiCittc2dzdHIgItCf0L7RhdC+0LbQtSwg0YfRgtC+INCy0Ysg0L/QtdGA0LXQvNC10YHRgtC40LvQuCBIRUFELiDQn9C10YDQtdC80L7RgtC60LAg0L3QtSDQstGL0L/QvtC70L3Rj9C10YLRgdGPLCDQv9GA0L7QstC10YDRjNGC0LUg0YHQstC+0Lkg0YPQutCw0LfQsNGC0LXQu9GMIEhFQUQhIgorCisjOiBzZXF1ZW5jZXIuYzoxNzk1IHNlcXVlbmNlci5jOjIwODYKK21zZ2lkICJjYW5ub3QgcmVhZCBIRUFEIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCBIRUFEIgorCisjOiBzZXF1ZW5jZXIuYzoxODM1IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0LrQvtC/0LjRgNC+0LLQsNGC0Ywgwqslc8K7INCyIMKrJXPCuyIKKworIzogc2VxdWVuY2VyLmM6MTg1MQorbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC90LTQtdC60YEiCisKKyM6IHNlcXVlbmNlci5jOjE4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCisiJXNZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCy0YvQv9C+0LvQvdC10L3QuNGPOiAlc1xuJXPQktGLINC80L7QttC10YLQtSDQuNGB0L/RgNCw0LLQuNGC0Ywg0L7RiNC40LHQutGDLCDQsCDQt9Cw0YLQtdC8INC30LDQv9GD0YHRgtC40YLRjFxuXG4gIGdpdCByZWJhc2UgLS1jb250aW51ZVxuXG4iCisKKyM6IHNlcXVlbmNlci5jOjE4NjIKK21zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorbXNnc3RyICLQuCDQsdGL0LvQuCDRgdC00LXQu9Cw0L3RiyDQuNC30LzQtdC90LXQvdC40Y8g0LIg0LjQvdC00LXQutGB0LUg0Lgv0LjQu9C4INCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LVcbiIKKworIzogc2VxdWVuY2VyLmM6MTg2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCittc2dzdHIgItGD0YHQv9C10YjQvdC+0LUg0LLRi9C/0L7Qu9C90LXQvdC40LU6ICVzXG7QvdC+INC+0YHRgtCw0LvQuNGB0Ywg0LjQt9C80LXQvdC10L3QuNGPINCyINC40L3QtNC10LrRgdC1INC4L9C40LvQuCDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1XG7QodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8sINCwINC30LDRgtC10Lwg0LLRi9C/0L7Qu9C90LjRgtC1XG5cbiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG5cbiIKKworIzogc2VxdWVuY2VyLmM6MTkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC5cbiIKK21zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdGLINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy5cbiIKKworIzogc2VxdWVuY2VyLmM6MTkzNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMICVzIgorCisjOiBzZXF1ZW5jZXIuYzoxOTQwIGdpdC1yZWJhc2Uuc2g6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgorIllvdXIgY2hhbmdlcyBhcmUgc2FmZSBpbiB0aGUgc3Rhc2guXG4iCisiWW91IGNhbiBydW4gXCJnaXQgc3Rhc2ggcG9wXCIgb3IgXCJnaXQgc3Rhc2ggZHJvcFwiIGF0IGFueSB0aW1lLlxuIgorbXNnc3RyICLQn9GA0LjQvNC10L3QtdC90LjQtSDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC/0YDRj9GC0LDQvdC90YvRhSDQuNC30LzQtdC90LXQvdC40Lkg0LLRi9C30LLQsNC70L4g0LrQvtC90YTQu9C40LrRgtGLLlxu0JLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPINGB0L/RgNGP0YLQsNC90Ysg0Lgg0LIg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4Llxu0JLRiyDQvNC+0LbQtdGC0LUg0LLRi9C/0L7Qu9C90LjRgtGMIMKrZ2l0IHN0YXNoIHBvcMK7INC40LvQuCDCq2dpdCBzdGFzaCBkcm9wwrsg0LIg0LvRjtCx0L7QuSDQvNC+0LzQtdC90YIuXG4iCisKKyM6IHNlcXVlbmNlci5jOjIwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgorbXNnc3RyICLQntGB0YLQsNC90L7QstC70LXQvdC+INC90LAgJXMg4oCmICAlLipzXG4iCisKKyM6IHNlcXVlbmNlci5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21tYW5kICVkIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC60L7QvNCw0L3QtNCwICVkIgorCisjOiBzZXF1ZW5jZXIuYzoyMDk0Cittc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCBvcmlnLWhlYWQiCisKKyM6IHNlcXVlbmNlci5jOjIwOTkKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnb250byciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMIMKrb250b8K7IgorCisjOiBzZXF1ZW5jZXIuYzoyMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCAlcyIKKworIzogc2VxdWVuY2VyLmM6MjExMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCBIRUFEINC90LAgJXMiCisKKyM6IHNlcXVlbmNlci5jOjIxOTcKK21zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQutC+0LzQvNC40YLQvtCyOiDQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgorCisjOiBzZXF1ZW5jZXIuYzoyMjAyCittc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMIENIRVJSWV9QSUNLX0hFQUQiCisKKyM6IHNlcXVlbmNlci5jOjIyMTEKK21zZ2lkICJjYW5ub3QgYW1lbmQgbm9uLWV4aXN0aW5nIGNvbW1pdCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQuNGB0L/RgNCw0LLQuNGC0Ywg0L3QtdGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSDQutC+0LzQvNC40YIiCisKKyM6IHNlcXVlbmNlci5jOjIyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBmaWxlOiAnJXMnIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0YTQsNC50Ls6IMKrJXPCuyIKKworIzogc2VxdWVuY2VyLmM6MjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbnRlbnRzOiAnJXMnIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0YHQvtC00LXRgNC20LjQvNC+0LU6IMKrJXPCuyIKKworIzogc2VxdWVuY2VyLmM6MjIxOAorbXNnaWQgIiIKKyJcbiIKKyJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UsIGNvbW1pdCB0aGVtXG4iCisiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKK21zZ3N0ciAiXG7QoyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1LiDQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiwg0LAg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuyDRgdC90L7QstCwLiIKKworIzogc2VxdWVuY2VyLmM6MjIyOAorbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQutC+0LzQvNC40YLQuNGC0Ywg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCisKKyM6IHNlcXVlbmNlci5jOjIzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGB0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0LrQvtC80LzQuNGCICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzU4CisjOiBzZXF1ZW5jZXIuYzoyMzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiDQv9C70L7RhdCw0Y8g0YDQtdC00LDQutGG0LjRjyIKIAotIzogc2VxdWVuY2VyLmM6MTM5MQorIzogc2VxdWVuY2VyLmM6MjM0NQogbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINCy0L7Qt9Cy0YDQsNGC0LjRgtGMINC40LfQvdCw0YfQsNC70YzQvdGL0Lkg0LrQvtC80LzQuNGCIgogCi0jOiBzZXR1cC5jOjE2MAorIzogc2V0dXAuYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKICJVc2UgJ2dpdCA8Y29tbWFuZD4gLS0gPHBhdGg+Li4uJyB0byBzcGVjaWZ5IHBhdGhzIHRoYXQgZG8gbm90IGV4aXN0IGxvY2FsbHkuIgogbXNnc3RyICIlczog0L3QtdGCINGC0LDQutC+0LPQviDQv9GD0YLQuCDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1Llxu0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCA80LrQvtC80LDQvdC00LA+IC0tIDzQv9GD0YLRjD7igKbCuyDQtNC70Y8g0YPQutCw0LfQsNC90LjRjyDQv9GD0YLQtdC5LCDQutC+0YLQvtGA0YvQtSDQvdC1INGB0YPRidC10YHRgtCy0YPRjtGCINC70L7QutCw0LvRjNC90L4uIgogCi0jOiBzZXR1cC5jOjE3MworIzogc2V0dXAuYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC0yNzg4LDcgKzMyOTgsNyBAQAogIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCiBtc2dzdHIgItC90LXQvtC00L3QvtC30L3QsNGH0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgwqslc8K7OiDQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINGA0LXQtNCw0LrRhtC40Y8g0LjQu9C4INC90LUg0L/Rg9GC0Ywg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtS5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqstLcK7INC00LvRjyDQvtGC0LTQtdC70LXQvdC40Y8g0L/Rg9GC0LXQuSDQvtGCINGA0LXQtNCw0LrRhtC40LksINCy0L7RgiDRgtCw0Lo6XG7Cq2dpdCA80LrQvtC80LDQvdC00LA+IFs80YDQtdC00LDQutGG0LjRjz7igKZdIC0tIFs80YTQsNC50Ls+4oCmXcK7IgogCi0jOiBzZXR1cC5jOjIyMworIzogc2V0dXAuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtMjc5Niw5NiArMzMwNiw5NiBAQAogIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCiBtc2dzdHIgItC90LXQvtC00L3QvtC30L3QsNGH0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgwqslc8K7OiDRj9Cy0LvRj9C10YLRgdGPINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDQuCDRgNC10LTQsNC60YbQuNC10Lkg0Lgg0LjQvNC10L3QtdC8INGE0LDQudC70LAuXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrLS3CuyDQtNC70Y8g0L7RgtC00LXQu9C10L3QuNGPINC/0YPRgtC10Lkg0L7RgiDRgNC10LTQsNC60YbQuNC5LCDQstC+0YIg0YLQsNC6OlxuwqtnaXQgPNC60L7QvNCw0L3QtNCwPiBbPNGA0LXQtNCw0LrRhtC40Y8+4oCmXSAtLSBbPNGE0LDQudC7PuKApl3CuyIKIAotIzogc2V0dXAuYzo0NjgKKyM6IHNldHVwLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGVkIGdpdCByZXBvIHZlcnNpb24gPD0gJWQsIGZvdW5kICVkIgogbXNnc3RyICLQntC20LjQtNCw0LXQvNCw0Y8g0LLQtdGA0YHQuNGPIGdpdCDRgNC10L/QvtC30LjRgtC+0YDQuNGPIDw9ICVkLCDQsCDQvtCx0L3QsNGA0YPQttC10L3QsCAlZCIKIAotIzogc2V0dXAuYzo0NzYKKyM6IHNldHVwLmM6NTEyCiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICLQvtCx0L3QsNGA0YPQttC10L3RiyDQvdC10LjQt9Cy0LXRgdGC0L3Ri9C1INGA0LDRgdGI0LjRgNC10L3QuNGPINGA0LXQv9C+0LfQuNGC0L7RgNC40Y86IgogCi0jOiBzZXR1cC5jOjc2MgorIzogc2V0dXAuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCiBtc2dzdHIgItCd0LUg0L3QsNC50LTQtdC9IGdpdCDRgNC10L/QvtC30LjRgtC+0LjQuSAo0LjQu9C4INC+0LTQuNC9INC40Lcg0LXQs9C+INC60LDRgtCw0LvQvtCz0L7Qsik6ICVzIgogCi0jOiBzZXR1cC5jOjc2NCBzZXR1cC5jOjkxNSBidWlsdGluL2luZGV4LXBhY2suYzoxNjQxCisjOiBzZXR1cC5jOjgxMiBidWlsdGluL2luZGV4LXBhY2suYzoxNjUyCiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLQtdGA0L3Rg9GC0YzRgdGPINCyINGC0LXQutGD0YnQuNC5INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgogCi0jOiBzZXR1cC5jOjg0NQorIzogc2V0dXAuYzoxMDUwCiBtc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YLQtdC60YPRidC40Lkg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMiCiAKLSM6IHNldHVwLmM6OTIwCisjOiBzZXR1cC5jOjEwNjIgc2V0dXAuYzoxMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzJyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC30LzQtdC90LjRgtGMINC90LAgwqslc8K7IgorCisjOiBzZXR1cC5jOjEwODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgogIlN0b3BwaW5nIGF0IGZpbGVzeXN0ZW0gYm91bmRhcnkgKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gbm90IHNldCkuIgogbXNnc3RyICLQndC1INC90LDQudC00LXQvSBnaXQg0YDQtdC/0L7Qt9C40YLQvtC40LkgKNC40LvQuCDQvtC00LjQvSDQuNC3INC10LPQviDQutCw0YLQsNC70L7Qs9C+0LIg0LLQv9C70L7RgtGMINC00L4g0YLQvtGH0LrQuCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8gJXMpXG7QntGB0YLQsNC90LDQstC70LjQstCw0Y4g0L/QvtC40YHQuiDQvdCwINCz0YDQsNC90LjRhtC1INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgKNGC0LDQuiDQutCw0LogR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSDQvdC1INGD0YHRgtCw0L3QvtCy0LvQtdC9KS4iCiAKLSM6IHNldHVwLmM6OTI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIKLW1zZ3N0ciAi0J/QtdGA0LXQudGC0Lgg0LIgwqslcy8uLsK7IgotCi0jOiBzZXR1cC5jOjk4OQorIzogc2V0dXAuYzoxMTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCiAiVGhlIG93bmVyIG9mIGZpbGVzIG11c3QgYWx3YXlzIGhhdmUgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMuIgogbXNnc3RyICLQn9GA0L7QsdC70LXQvNCwINGB0L4g0LfQvdCw0YfQtdC90LjQtdC8INGA0LXQttC40LzQsCDQtNC+0YHRgtGD0L/QsCDQuiDRhNCw0LnQu9GDIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAoMCUuM28pLlxu0JLQu9Cw0LTQtdC70LXRhiDRhNCw0LnQu9C+0LIg0LTQvtC70LbQtdC9INCy0YHQtdCz0LTQsCDQuNC80LXRgtGMINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0Lgg0L3QsCDQt9Cw0L/QuNGB0YwuIgogCi0jOiBzaGExX2ZpbGUuYzo0NzMKKyM6IHNoYTFfZmlsZS5jOjU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBzaGExX2ZpbGUuYzo0OTkKKyM6IHNoYTFfZmlsZS5jOjU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKIG1zZ3N0ciAi0YHRgdGL0LvQsNC10LzRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K7INC60LDQuiDRgdCy0Y/Qt9Cw0L3QvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1LCDQv9C+0LrQsCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8uIgogCi0jOiBzaGExX2ZpbGUuYzo1MDUKKyM6IHNoYTFfZmlsZS5jOjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICLRgdGB0YvQu9Cw0LXQvNGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC70L7QutCw0LvRjNC90YvQvC4iCiAKLSM6IHNoYTFfZmlsZS5jOjUxMQorIzogc2hhMV9maWxlLmM6NTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKIG1zZ3N0ciAi0YHRgdGL0LvQsNC10LzRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K7INGP0LLQu9GP0LXRgtGB0Y8g0YfQsNGB0YLQuNGH0L3Ri9C8IgogCi0jOiBzaGExX2ZpbGUuYzo1MTkKKyM6IHNoYTFfZmlsZS5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCiBtc2dzdHIgItGB0YHRi9C70LDQtdC80YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IMKrJXPCuyDRj9Cy0LvRj9C10YLRgdGPINGB0YDQsNGJ0LXQvdC90YvQvCIKIAotIzogc2hhMV9maWxlLmM6MTE1OQorIzogc2hhMV9maWxlLmM6MTI0NQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICLRgdC00LLQuNCzINC00L4g0LrQvtC90YbQsCDRhNCw0LnQu9CwINC/0LDQutC10YLQsCAo0LLQvtC30LzQvtC20L3Qviwg0L/QvtCy0YDQtdC20LTRkdC9INGE0LDQudC7IC5pZHg/KSIKIAotIzogc2hhMV9maWxlLmM6MjU5MgorIzogc2hhMV9maWxlLmM6MjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgItGB0LTQstC40LMg0LTQviDQvdCw0YfQsNC70LAg0LjQvdC00LXQutGB0LAg0L/QsNC60LXRgtCwINC00LvRjyAlcyAo0L/QvtCy0YDQtdC20LTRkdC9INC40L3QtNC10LrRgT8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNTk2CisjOiBzaGExX2ZpbGUuYzoyNzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAi0YHQtNCy0LjQsyDQt9CwINC/0YDQtdC00LXQu9Cw0LzQuCDQuNC90LTQtdC60YHQsCDQv9Cw0LrQtdGC0LAg0LTQu9GPICVzICjQvtCx0YDQtdC30LDQvSDQuNC90LTQtdC60YE/KSIKIAotIzogc2hhMV9uYW1lLmM6NDA3CisjOiBzaGExX25hbWUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCiBtc2dzdHIgItGB0L7QutGA0LDRidGR0L3QvdGL0LkgU0hBMSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCAlcyDQvdC10L7QtNC90L7Qt9C90LDRh9C10L0iCiAKLSM6IHNoYTFfbmFtZS5jOjQxOAorIzogc2hhMV9uYW1lLmM6NDMwCiBtc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKIG1zZ3N0ciAi0JLQvtC30LzQvtC20L3Qviwg0LLRiyDQuNC80LXQu9C4INCyINCy0LjQtNGDOiIKIAotIzogc2hhMV9uYW1lLmM6NTc4CisjOiBzaGExX25hbWUuYzo1ODkKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0yODk4LDExMCArMzQwOCwxODMgQEAKICJydW5uaW5nIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKIG1zZ3N0ciAi0J7QsdGL0YfQvdC+IEdpdCDQvdC1INGB0L7Qt9C00LDQtdGCINGB0YHRi9C70LrQuCwg0L7QutCw0L3Rh9C40LLQsNGO0YnQuNC10YHRjyDQvdCwIDQwINGI0LXRgdGC0L3QsNC00YbQsNGC0LXRgNC40YfQvdGL0YVcbtGB0LjQvNCy0L7Qu9C+0LIsINC/0L7RgtC+0LzRgywg0YfRgtC+INC+0L3QuCDQsdGD0LTRg9GCINC40LPQvdC+0YDQuNGA0L7QstCw0YLRjNGB0Y8sINC60L7Qs9C00LAg0LLRiyDQv9GA0L7RgdGC0L5cbtGD0LrQsNC20LXRgtC1INGN0YLQviA0MC3RgdC40LzQstC+0LvRjNC90L7QtSDRiNC10YHRgtC90LDQtNGG0LDRgtC10YDQuNGH0L3QvtC1INGH0LjRgdC70L4uINCi0LDQutC40LUg0YHRgdGL0LvQutC4XG7QvNC+0LPQu9C4INCx0YvRgtGMINGB0L7Qt9C00LDQvdGLINC/0L4g0L7RiNC40LHQutC1LiDQndCw0L/RgNC40LzQtdGALCDRgSDQv9C+0LzQvtGJ0YzRjjpcblxuICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSDigKYpXG5cbiwg0LXRgdC70LggwqskYnLCuyDQvtC60LDQt9Cw0LvRgdGPINC/0YPRgdGC0YvQvCwg0YLQviDRgdGB0YvQu9C60LAg0YEgNDAt0YHQuNC80LLQvtC70YzQvdGL0LxcbtGI0LXRgdGC0L3QsNC00YbQsNGC0LXRgNC40YfQvdGL0Lwg0YfQuNGB0LvQvtC8INCx0YPQtNC10YIg0YHQvtC30LTQsNC90LAuINCf0L7QttCw0LvRg9C50YHRgtCwLCDQv9GA0L7RgdC80L7RgtGA0LjRgtC1INGN0YLQuFxu0YHRgdGL0LvQutC4INC4LCDQstC+0LfQvNC+0LbQvdC+LCDRg9C00LDQu9C40YLQtSDQuNGFLiDQktGLINC80L7QttC10YLQtSDQvtGC0LrQu9GO0YfQuNGC0Ywg0Y3RgtC+INGB0L7QvtCx0YnQtdC90LjQtVxu0LfQsNC/0YPRgdGC0LjQsiDCq2dpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlwrsiCiAKLSM6IHN1Ym1vZHVsZS5jOjY0IHN1Ym1vZHVsZS5jOjk4CisjOiBzdWJtb2R1bGUuYzo3MCBzdWJtb2R1bGUuYzoxMDQKIG1zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC30LzQtdC90LjRgtGMINC90LUg0YHQu9C40YLRi9C5IC5naXRtb2R1bGVzLCDRgdC90LDRh9Cw0LvQsCDRgNCw0LfRgNC10YjQuNGC0LUg0LrQvtC90YTQu9C40LrRgtGLIgogCi0jOiBzdWJtb2R1bGUuYzo2OCBzdWJtb2R1bGUuYzoxMDIKKyM6IHN1Ym1vZHVsZS5jOjc0IHN1Ym1vZHVsZS5jOjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDRgNCw0LfQtNC10Lsg0LIgLmdpdG1vZHVsZXMsINCz0LTQtSDQv9GD0YLRjCDRgNCw0LLQtdC9ICVzIgogCi0jOiBzdWJtb2R1bGUuYzo3NgorIzogc3VibW9kdWxlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAiINCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCAuZ2l0bW9kdWxlcyDQt9Cw0L/QuNGB0YwgJXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjEwOQorIzogc3VibW9kdWxlLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINC30LDQv9C40YHRjCDQsiAuZ2l0bW9kdWxlcyDQtNC70Y8gJXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjEyMAorIzogc3VibW9kdWxlLmM6MTI2CiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90LjRjyDQvtCx0L3QvtCy0LvQtdC90L3QvtCz0L4gLmdpdG1vZHVsZXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1OAorIzogc3VibW9kdWxlLmM6MTY1CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0YLQv9GA0LjRhtCw0YLQtdC70YzQvdGL0LUg0LfQvdCw0YfQtdC90LjRjyDQtNC70Y8gc3VibW9kdWxlLmZldGNoSm9icyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1OAorIzogc3VibW9kdWxlLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImluIHVucG9wdWxhdGVkIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLQsiDQv9GD0YHRgtC+0Lwg0L/QvtC00LzQvtC00YPQu9C1IMKrJXPCuyIKKworIzogc3VibW9kdWxlLmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKK21zZ3N0ciAi0KHQv9C10YbQuNGE0LjQutCw0YLQvtGAINC/0YPRgtC4IMKrJXPCuyDQsiDQv9C+0LTQvNC+0LTRg9C70LUgwqslLipzwrsiCisKKyM6IHN1Ym1vZHVsZS5jOjEzMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBub3QgcmVjb2duaXplZCBhcyBhIGdpdCByZXBvc2l0b3J5IgorbXNnc3RyICLCqyVzwrsg0L3QtSDRgNCw0YHQv9C+0LfQvdCw0L0g0LrQsNC6INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgZ2l0IgorCisjOiBzdWJtb2R1bGUuYzoxNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMIMKrZ2l0IHN0YXR1c8K7INCyINC/0L7QtNC80L7QtNGD0LvQtSDCqyVzwrsiCisKKyM6IHN1Ym1vZHVsZS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMIMKrZ2l0IHN0YXR1c8K7INCyINC/0L7QtNC80L7QtNGD0LvQtSDCqyVzwrsiCisKKyM6IHN1Ym1vZHVsZS5jOjE1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgorbXNnc3RyICLQv9C+0LTQvNC+0LTRg9C70Ywgwqslc8K7INC40LzQtdC10YIg0LjQt9C80LXQvdGR0L3QvdGL0Lkg0LjQvdC00LXQutGBIgorCisjOiBzdWJtb2R1bGUuYzoxODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJyZWxvY2F0ZV9naXRkaXIgZm9yIHN1Ym1vZHVsZSAnJXMnIHdpdGggbW9yZSB0aGFuIG9uZSB3b3JrdHJlZSBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJyZWxvY2F0ZV9naXRkaXIg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsg0YEg0YPQutCw0LfQsNC90LjQtdC8INCx0L7Qu9C10LUg0L7QtNC90L7Qs9C+INGA0LDQsdC+0YfQtdCz0L4g0LTQtdGA0LXQstCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyIKKworIzogc3VibW9kdWxlLmM6MTg1NyBzdWJtb2R1bGUuYzoxOTEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgbmFtZSBmb3Igc3VibW9kdWxlICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YDQvtGB0LjRgtGMINC40LzRjyDQv9C+0LTQvNC+0LTRg9C70Y8gwqslc8K7IgorCisjOiBzdWJtb2R1bGUuYzoxODYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQutCw0YLQsNC70L7QsyDCqyVzwrsiCisKKyM6IHN1Ym1vZHVsZS5jOjE4NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1pZ3JhdGluZyBnaXQgZGlyZWN0b3J5IG9mICclcyVzJyBmcm9tXG4iCisiJyVzJyB0b1xuIgorIiclcydcbiIKK21zZ3N0ciAi0J/QtdGA0LXQvNC10YnQtdC90LjQtSDQutCw0YLQsNC70L7Qs9CwIGdpdCDQtNC70Y8gwqslcyVzwrsg0LjQt1xuwqslc8K7INCyXG7CqyVzwrtcbiIKKworIzogc3VibW9kdWxlLmM6MTk0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LXQutGD0YDRgdC40LLQvdC+INC30LDQudGC0Lgg0LIg0L/QvtC00LzQvtC00YPQu9GMIMKrJXPCuyIKKworIzogc3VibW9kdWxlLmM6MTk5MgorbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCBscy1maWxlcyDQsiAuLiIKKworIzogc3VibW9kdWxlLmM6MjAxMgorbXNnaWQgIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IgorbXNnc3RyICLQntCo0JjQkdCa0JA6INCy0L7Qt9Cy0YDQsNGJ0LXQvdC90LDRjyDRgdGC0YDQvtC60LAg0L3QtSDRgdC+0L7RgtCy0LXRgtGB0LLRg9C10YIgY3dkPyIKKworIzogc3VibW9kdWxlLmM6MjAzMQorIywgYy1mb3JtYXQKK21zZ2lkICJscy10cmVlIHJldHVybmVkIHVuZXhwZWN0ZWQgcmV0dXJuIGNvZGUgJWQiCittc2dzdHIgImxzLXRyZWUg0LLQtdGA0L3Rg9C7INC90LXQvtC20LjQtNCw0L3QvdGL0Lkg0LrQvtC0ICVkIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSAlcyIKIAotIzogdHJhaWxlci5jOjIzOAorIzogdHJhaWxlci5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5uaW5nIHRyYWlsZXIgY29tbWFuZCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INC30LDQv9GD0YHQutC1INC60L7QvNCw0L3QtNGLINC30LDQstC10YDRiNC40YLQtdC70Y8gwqslc8K7IgogCi0jOiB0cmFpbGVyLmM6NDcxIHRyYWlsZXIuYzo0NzUgdHJhaWxlci5jOjQ3OSB0cmFpbGVyLmM6NTMzIHRyYWlsZXIuYzo1MzcKLSM6IHRyYWlsZXIuYzo1NDEKKyM6IHRyYWlsZXIuYzo0NzQgdHJhaWxlci5jOjQ3OCB0cmFpbGVyLmM6NDgyIHRyYWlsZXIuYzo1MzYgdHJhaWxlci5jOjU0MAorIzogdHJhaWxlci5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhbHVlICclcycgZm9yIGtleSAnJXMnIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDQutC70Y7Rh9CwIMKrJXPCuyIKIAotIzogdHJhaWxlci5jOjUyMyB0cmFpbGVyLmM6NTI4IGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CisjOiB0cmFpbGVyLmM6NTI2IHRyYWlsZXIuYzo1MzEgYnVpbHRpbi9yZW1vdGUuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKIG1zZ3N0ciAi0LHQvtC70YzRiNC1INC+0LTQvdC+0LPQviAlcyIKIAotIzogdHJhaWxlci5jOjY3MgorIzogdHJhaWxlci5jOjcwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIgogbXNnc3RyICLQv9GD0YHRgtCw0Y8g0L/QvtGB0LvQtdC00L3Rj9GPINC70LXQutGB0LXQvNCwINCyINC30LDQstC10YDRiNC40YLQtdC70LUgwqslLipzwrsiCiAKLSM6IHRyYWlsZXIuYzo2OTUKKyM6IHRyYWlsZXIuYzo3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5wdXQgZmlsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQstGF0L7QtNC90L7QuSDRhNCw0LnQuyDCqyVzwrsiCiAKLSM6IHRyYWlsZXIuYzo2OTgKKyM6IHRyYWlsZXIuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiB0cmFpbGVyLmM6OTI5IGJ1aWx0aW4vYW0uYzo0NAorIzogdHJhaWxlci5jOjk1MCBidWlsdGluL2FtLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQg0LTQu9GPICVzIgogCi0jOiB0cmFpbGVyLmM6OTMxCisjOiB0cmFpbGVyLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICLRhNCw0LnQuyAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L7QsdGL0YfQvdGL0Lwg0YTQsNC50LvQvtC8IgogCi0jOiB0cmFpbGVyLmM6OTMzCisjOiB0cmFpbGVyLmM6OTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCiBtc2dzdHIgItGE0LDQudC7ICVzINC90LUg0LTQvtGB0YLRg9C/0LXQvSDQvdCwINC30LDQv9C40YHRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4iCiAKLSM6IHRyYWlsZXIuYzo5NDUKKyM6IHRyYWlsZXIuYzo5NjYKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0YTQsNC50LsiCiAKLSM6IHRyYWlsZXIuYzo5ODMKKyM6IHRyYWlsZXIuYzoxMDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INGE0LDQudC7INCyICVzIgogCi0jOiB0cmFuc3BvcnQuYzo2MgorIzogdHJhbnNwb3J0LmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCiBtc2dzdHIgItCR0YPQtNC10YIg0YPRgdGC0LDQvdC+0LLQu9C10L0g0LLRi9GI0LXRgdGC0L7Rj9GJ0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INC00LvRjyDCqyVzwrsg0L3QsCDCqyVzwrsg0YEgwqslc8K7XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjE1MQorIzogdHJhbnNwb3J0LmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKIG1zZ3N0ciAi0YLRgNCw0L3RgdC/0L7RgNGCOiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCDQs9C70YPQsdC40L3RiyDCqyVzwrsiCiAKLSM6IHRyYW5zcG9ydC5jOjgxNworIzogdHJhbnNwb3J0LmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKICJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9C4INC/0L4g0YPQutCw0LfQsNC90L3Ri9C8INC/0YPRgtGP0Lwg0YHQvtC00LXRgNC20LDRgiDQuNC30LzQtdC90LXQvdC40Y8sINC60L7RgtC+0YDRi9C1INC90LUg0L3QsNC50LTQtdC90Ysg0L3QuCDQvdCwINC+0LTQvdC+0Lwg0LjQtyDQstC90LXRiNC90LjRhSDRgNC10L/QvtC30LjRgtC+0YDQuNC10LI6XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjgyMQorIzogdHJhbnNwb3J0LmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTMwMTcsMTEgKzM2MDAsMTEgQEAKICJcbiIKIG1zZ3N0ciAiXG7Qn9C+0L/RgNC+0LHRg9C50YLQtSDQstGL0L/QvtC70L3QuNGC0YxcblxuXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcblxu0LjQu9C4INC/0LXRgNC10LnRgtC4INCyINC60LDRgtCw0LvQvtCzINGBINC/0L7QvNC+0YnRjNGOINC60L7QvNCw0L3QtNGLIGNkINC4INCy0YvQv9C+0LvQvdC40YLRjFxuXG5cdGdpdCBwdXNoXG5cbtC00LvRjyDQuNGFINC+0YLQv9GA0LDQstC60Lgg0L3QsCDQstC90LXRiNC90LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5LlxuIgogCi0jOiB0cmFuc3BvcnQuYzo4MjkKKyM6IHRyYW5zcG9ydC5jOjkwMgogbXNnaWQgIkFib3J0aW5nLiIKIG1zZ3N0ciAi0J/RgNC10YDRi9Cy0LDRji4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc1CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0YHRi9C70LrRgyAlcyIKQEAgLTMwNDIsNDMxICszNjI1LDQ1NSBAQAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgItGB0LvQuNGI0LrQvtC8ICDQutC+0YDQvtGC0LrQuNC5INGE0LDQudC7INC00LXRgNC10LLQsCIKIAotIzogdW5wYWNrLXRyZWVzLmM6NjQKKyM6IHVucGFjay10cmVlcy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCiAiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC4INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1OlxuJSVz0KHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0LjQu9C4INGB0L/RgNGP0YfRjNGC0LUg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPINC/0LXRgNC10LQg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC10Lwg0LLQtdGC0L7Qui4iCiAKLSM6IHVucGFjay10cmVlcy5jOjY2CisjOiB1bnBhY2stdHJlZXMuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgogIiUlcyIKIG1zZ3N0ciAi0JLQsNGI0Lgg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRg9C60LDQt9Cw0L3QvdGL0YUg0YTQsNC50LvQsNGFINCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCDQv9C10YDQtdC60LvRjtGH0LXQvdC40Lgg0L3QsCDRgdC+0YHRgtC+0Y/QvdC40LU6XG4lJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjY5CisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgogIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0YHQu9C40Y/QvdC40Lg6XG4lJXPQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0L/QtdGA0LXQtCDRgdC70LjRj9C90LjQtdC8INCy0LXRgtC+0LouIgogCi0jOiB1bnBhY2stdHJlZXMuYzo3MQorIzogdW5wYWNrLXRyZWVzLmM6MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXMiCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0YHQu9C40Y/QvdC40Lg6XG4lJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjc0CisjOiB1bnBhY2stdHJlZXMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0LggJXM6XG4lJXPQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0L/QtdGA0LXQtCAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjc2CisjOiB1bnBhY2stdHJlZXMuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlcyIKIG1zZ3N0ciAi0JLQsNGI0Lgg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRg9C60LDQt9Cw0L3QvdGL0YUg0YTQsNC50LvQsNGFINCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCAlczpcbiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6ODEKKyM6IHVucGFjay10cmVlcy5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiBpdDpcbiIKKyJVcGRhdGluZyB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzIHdvdWxkIGxvc2UgdW50cmFja2VkIGZpbGVzIGluIHRoZW06XG4iCiAiJXMiCiBtc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1INGD0LrQsNC30LDQvdC90YvRhSDQutCw0YLQsNC70L7Qs9C+0LIg0L/RgNC40LLQtdC00LXRgiDQuiDQv9C+0YLQtdGA0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDQsiDQvdC40YU6XG4lcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6ODUKKyM6IHVucGFjay10cmVlcy5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSDQsdGD0LTRg9GCINGD0LTQsNC70LXQvdGLINC/0YDQuCDQv9C10YDQtdC60LvRjtGH0LXQvdC40Lgg0L3QsCDRgdC+0YHRgtC+0Y/QvdC40LU6XG4lJXPQn9C10YDQtdC80LXRgdGC0LjRgtC1INGN0YLQuCDRhNCw0LnQu9GLINC40LvQuCDRg9C00LDQu9C40YLQtSDQuNGFINC/0LXRgNC10LQg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC10Lwg0LLQtdGC0L7Qui4iCiAKLSM6IHVucGFjay10cmVlcy5jOjg3CisjOiB1bnBhY2stdHJlZXMuYzoxMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgogIiUlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiyDQv9GA0Lgg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC4INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1OlxuJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzo5MAorIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiyDQv9GA0Lgg0YHQu9C40Y/QvdC40Lg6XG4lJXPQn9C10YDQtdC80LXRgdGC0LjRgtC1INGN0YLQuCDRhNCw0LnQu9GLINC40LvQuCDRg9C00LDQu9C40YLQtSDQuNGFINC/0LXRgNC10LQg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC10Lwg0LLQtdGC0L7Qui4iCiAKLSM6IHVucGFjay10cmVlcy5jOjkyCisjOiB1bnBhY2stdHJlZXMuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgogIiUlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiyDQv9GA0Lgg0YHQu9C40Y/QvdC40Lg6XG4lJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjk1CisjOiB1bnBhY2stdHJlZXMuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgogIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSDQsdGD0LTRg9GCINGD0LTQsNC70LXQvdGLINC/0YDQuCAlczpcbiUlc9Cf0LXRgNC10LzQtdGB0YLQuNGC0LUg0Y3RgtC4INGE0LDQudC70Ysg0LjQu9C4INGD0LTQsNC70LjRgtC1INC40YUg0L/QtdGA0LXQtCAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjk3CisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgogIiUlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiyDQv9GA0LggJXM6XG4lJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEwMgorIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC4INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1OlxuJSVz0J/QtdGA0LXQvNC10YHRgtC40YLQtSDRjdGC0Lgg0YTQsNC50LvRiyDQuNC70Lgg0YPQtNCw0LvQuNGC0LUg0LjRhSDQv9C10YDQtdC0INC/0LXRgNC10LrQu9GO0YfQtdC90LjQtdC8INCy0LXRgtC+0LouIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDQKKyM6IHVucGFjay10cmVlcy5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgogIiUlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4INC/0LXRgNC10LrQu9GO0YfQtdC90LjQuCDQvdCwINGB0L7RgdGC0L7Rj9C90LjQtTpcbiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA3CisjOiB1bnBhY2stdHJlZXMuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4INGB0LvQuNGP0L3QuNC4OlxuJSVz0J/QtdGA0LXQvNC10YHRgtC40YLQtSDRjdGC0Lgg0YTQsNC50LvRiyDQuNC70Lgg0YPQtNCw0LvQuNGC0LUg0LjRhSDQv9C10YDQtdC0INC/0LXRgNC10LrQu9GO0YfQtdC90LjQtdC8INCy0LXRgtC+0LouIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDkKKyM6IHVucGFjay10cmVlcy5jOjE1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgogIiUlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4INGB0LvQuNGP0L3QuNC4OlxuJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTIKKyM6IHVucGFjay10cmVlcy5jOjE1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0LggJXM6XG4lJXPQn9C10YDQtdC80LXRgdGC0LjRgtC1INGN0YLQuCDRhNCw0LnQu9GLINC40LvQuCDRg9C00LDQu9C40YLQtSDQuNGFINC/0LXRgNC10LQgJXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTQKKyM6IHVucGFjay10cmVlcy5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4ICVzOlxuJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjEKKyM6IHVucGFjay10cmVlcy5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAi0JfQsNC/0LjRgdGMIMKrJXPCuyDRh9Cw0YHRgtC40YfQvdC+INGB0L7QstC/0LDQtNCw0LXRgiDRgSDCqyVzwrsuICDQndC1INGD0LTQsNC70L7RgdGMINC90LDQt9C90LDRh9C40YLRjCDRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjQKKyM6IHVucGFjay10cmVlcy5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwLXRvLWRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDRh9Cw0YHRgtC40YfQvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1OiDRgdC70LXQtNGD0Y7RidC40LUg0Y3Qu9C10LzQtdC90YLRiyDQvdC1INC/0L7RgdC70LXQtNC90LXQuSDQstC10YDRgdC40Lg6XG4lcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI2CisjOiB1bnBhY2stdHJlZXMuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCB1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDRhNCw0LnQu9GLINC40Lcg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwINCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCDQvtCx0L3QvtCy0LvQtdC90LjQuCDRh9Cw0YHRgtC40YfQvdC+0LPQviDRgdC+0YHRgtC+0Y/QvdC40Y86XG4lcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI4CisjOiB1bnBhY2stdHJlZXMuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0IHVwZGF0ZTpcbiIKICIlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INGE0LDQudC70Ysg0LjQtyDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiyDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0YfQsNGB0YLQuNGH0L3QvtCz0L4g0YHQvtGB0YLQvtGP0L3QuNGPOlxuJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjIwNQorIzogdW5wYWNrLXRyZWVzLmM6MTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW5ub3QgdXBkYXRlIHN1Ym1vZHVsZTpcbiIKKyIlcyIKK21zZ3N0ciAi0J3QtSDRg9C00L7Qu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC/0L7QtNC80L7QtNGD0LvRjDpcbiVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAi0J/RgNC10YDRi9Cy0LDRjlxuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyMzcKKyM6IHVucGFjay10cmVlcy5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgdXBkYXRlIHN0cmF0ZWd5IG5vdCBzdXBwb3J0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLRgdGC0YDQsNGC0LXQs9C40Y8g0L7QsdC90L7QstC70LXQvdC40Y8g0L/QvtC00LzQvtC00YPQu9GPINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyDQv9C+0LTQvNC+0LTRg9C70LXQvCDCqyVzwrsiCisKKyM6IHVucGFjay10cmVlcy5jOjM0NgogbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKIG1zZ3N0ciAi0KDQsNGB0L/QsNC60L7QstC60LAg0YTQsNC50LvQvtCyIgogCi0jOiB1cmxtYXRjaC5jOjEyMAorIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINC40LzRjyBVUkwg0YHRhdC10LzRiyDQuNC70Lgg0L/RgNC+0L/Rg9GJ0LXQvSDRgdGD0YTRhNC40LrRgSDCqzovL8K7IgogCi0jOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIzogdXJsbWF0Y2guYzoxODcgdXJsbWF0Y2guYzozNDYgdXJsbWF0Y2guYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YPQv9GA0LDQstC70Y/RjtGJ0LDRjyDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0YwgJVhYIgogCi0jOiB1cmxtYXRjaC5jOjE3MgorIzogdXJsbWF0Y2guYzoyMTUKIG1zZ2lkICJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GJ0LXQvdC+INC40LzRjyDRgdC10YDQstC10YDQsCDQuCDRgdGF0LXQvNCwINC00L7RgdGC0YPQv9CwINC90LUgwqtmaWxlOsK7IgogCi0jOiB1cmxtYXRjaC5jOjE4OQorIzogdXJsbWF0Y2guYzoyMzIKIG1zZ2lkICJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIgogbXNnc3RyICJVUkwg0YHQviDRgdGF0LXQvNC+0LkgwqtmaWxlOsK7INC90LUg0LzQvtC20LXRgiDRgdC+0LTQtdGA0LbQsNGC0Ywg0L3QvtC80LXRgCDQv9C+0YDRgtCwIgogCi0jOiB1cmxtYXRjaC5jOjE5OQorIzogdXJsbWF0Y2guYzoyNDcKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0LUg0YHQuNC80LLQvtC70Ysg0LIg0LjQvNC10L3QuCDRgdC10YDQstC10YDQsCIKIAotIzogdXJsbWF0Y2guYzoyNDQgdXJsbWF0Y2guYzoyNTUKKyM6IHVybG1hdGNoLmM6MjkyIHVybG1hdGNoLmM6MzAzCiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC90L7QvNC10YAg0L/QvtGA0YLQsCIKIAotIzogdXJsbWF0Y2guYzozMjIKKyM6IHVybG1hdGNoLmM6MzcxCiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGH0LDRgdGC0Ywg0L/Rg9GC0LggwqsuLsK7IgogCi0jOiB3b3JrdHJlZS5jOjI4MgorIzogd29ya3RyZWUuYzoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywgwqslc8K7IgogCi0jOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozOTIKKyM6IHdyYXBwZXIuYzoyMjMgd3JhcHBlci5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMIMKrJXPCuyDQtNC70Y8g0YfRgtC10L3QuNGPINC4INC30LDQv9C40YHQuCIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKKyM6IHdyYXBwZXIuYzoyMjUgd3JhcHBlci5jOjM5NSBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7INC00LvRjyDQt9Cw0L/QuNGB0LgiCiAKLSM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM5NiBidWlsdGluL2FtLmM6MzIwIGJ1aWx0aW4vYW0uYzo3NTkKLSM6IGJ1aWx0aW4vYW0uYzo4NDcgYnVpbHRpbi9jb21taXQuYzoxNzA1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI5Ci0jOiBidWlsdGluL3B1bGwuYzozNDEKKyM6IHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6MzE5IGJ1aWx0aW4vYW0uYzo3NTcKKyM6IGJ1aWx0aW4vYW0uYzo4NDkgYnVpbHRpbi9tZXJnZS5jOjEwMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsg0LTQu9GPINGH0YLQtdC90LjRjyIKIAotIzogd3JhcHBlci5jOjYwNSB3cmFwcGVyLmM6NjI2CisjOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICLCqyVzwrsg0L3QtdC00L7RgdGC0YPQv9C90L4iCiAKLSM6IHdyYXBwZXIuYzo2MzQKKyM6IHdyYXBwZXIuYzo2MzIKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDRgtC10LrRg9GJ0LjQuSDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyIKIAotIzogd3JhcHBlci5jOjY1OAorIzogd3JhcHBlci5jOjY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQsiAlcyIKIAotIzogd3JhcHBlci5jOjY2MAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC60YDRi9GC0YwgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MQorIzogd3Qtc3RhdHVzLmM6MTUyCiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICLQndC1INGB0LvQuNGC0YvQtSDQv9GD0YLQuDoiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKKyM6IHd0LXN0YXR1cy5jOjE3OSB3dC1zdGF0dXMuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlc2V0ICVzIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDRg9Cx0YDQsNGC0Ywg0LjQtyDQuNC90LTQtdC60YHQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MCB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoyMDgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcm0gLS1jYWNoZWQgPNGE0LDQudC7PuKApsK7LCDRh9GC0L7QsdGLINGD0LHRgNCw0YLRjCDQuNC3INC40L3QtNC10LrRgdCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg0CisjOiB3dC1zdGF0dXMuYzoxODUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQv9C+0LzQtdGC0LjRgtGMINGA0LDQt9GA0LXRiNC10L3QuNC1INC60L7QvdGE0LvQuNC60YLQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NiB3dC1zdGF0dXMuYzoxOTAKKyM6IHd0LXN0YXR1cy5jOjE4NyB3dC1zdGF0dXMuYzoxOTEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkL3JtIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQv9C+0LzQtdGC0LjRgtGMINCy0YvQsdGA0LDQvdC90L7QtSDRgNCw0LfRgNC10YjQtdC90LjQtSDQutC+0L3RhNC70LjQutGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxODgKKyM6IHd0LXN0YXR1cy5jOjE4OQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJtIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQv9C+0LzQtdGC0LjRgtGMINGA0LDQt9GA0LXRiNC10L3QuNC1INC60L7QvdGE0LvQuNC60YLQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKKyM6IHd0LXN0YXR1cy5jOjIwMCB3dC1zdGF0dXMuYzo5ODEKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgItCY0LfQvNC10L3QtdC90LjRjywg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQstC60LvRjtGH0LXQvdGLINCyINC60L7QvNC80LjRgjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNyB3dC1zdGF0dXMuYzo5NTQKKyM6IHd0LXN0YXR1cy5jOjIxOCB3dC1zdGF0dXMuYzo5OTAKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgItCY0LfQvNC10L3QtdC90LjRjywg0LrQvtGC0L7RgNGL0LUg0L3QtSDQsiDQuNC90LTQtdC60YHQtSDQtNC70Y8g0LrQvtC80LzQuNGC0LA6IgogCi0jOiB3dC1zdGF0dXMuYzoyMjEKKyM6IHd0LXN0YXR1cy5jOjIyMgogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFkZCA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0LTQvtCx0LDQstC40YLRjCDRhNCw0LnQuyDQsiDQuNC90LTQtdC60YEpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjMKKyM6IHd0LXN0YXR1cy5jOjIyNAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFkZC9ybSA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0LTQvtCx0LDQstC40YLRjCDQuNC70Lgg0YPQtNCw0LvQuNGC0Ywg0YTQsNC50Lsg0LjQtyDQuNC90LTQtdC60YHQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjI1CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyAiCiAiZGlyZWN0b3J5KSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBjaGVja291dCAtLSA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0L7RgtC80LXQvdC40YLRjCDQuNC30LzQtdC90LXQvdC40Y9cbiAgINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjYKKyM6IHd0LXN0YXR1cy5jOjIyNwogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiICAo0YHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0LjQu9C4INC+0YLQvNC10L3QuNGC0LUg0LjQt9C80LXQvdC10L3QuNGPINCyINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80L7QvCDQuNC70Lgg0LjQt9C80LXQvdC10L3QvdC+0Lwg0YHQvtC00LXRgNC20LjQvNC+0Lwg0LIg0L/QvtC00LzQvtC00YPQu9GP0YUpIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgKKyM6IHd0LXN0YXR1cy5jOjIzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCAlcyA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0LTQvtCx0LDQstC40YLRjCDQsiDRgtC+LCDRh9GC0L4g0LHRg9C00LXRgiDQstC60LvRjtGH0LXQvdC+INCyINC60L7QvNC80LjRgikiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjU0CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAi0L7QsdCwINGD0LTQsNC70LXQvdGLOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU1CisjOiB3dC1zdGF0dXMuYzoyNTYKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgItC00L7QsdCw0LLQu9C10L3QviDQvdCw0LzQuDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NworIzogd3Qtc3RhdHVzLmM6MjU4CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90L4g0LjQvNC4OiIKIAotIzogd3Qtc3RhdHVzLmM6MjU5CisjOiB3dC1zdGF0dXMuYzoyNjAKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi0LTQvtCx0LDQstC70LXQvdC+INC40LzQuDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MQorIzogd3Qtc3RhdHVzLmM6MjYyCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgItGD0LTQsNC70LXQvdC+INC90LDQvNC4OiIKIAotIzogd3Qtc3RhdHVzLmM6MjYzCisjOiB3dC1zdGF0dXMuYzoyNjQKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAi0L7QsdCwINC00L7QsdCw0LLQu9C10L3RizoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NQorIzogd3Qtc3RhdHVzLmM6MjY2CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCi1tc2dzdHIgItC+0LHQsCDQuNC30LzQtdC90Ys6IgorbXNnc3RyICLQvtCx0LAg0LjQt9C80LXQvdC10L3RizoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NQorIzogd3Qtc3RhdHVzLmM6Mjc2CiBtc2dpZCAibmV3IGZpbGU6IgogbXNnc3RyICLQvdC+0LLRi9C5INGE0LDQudC7OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc3CisjOiB3dC1zdGF0dXMuYzoyNzgKIG1zZ2lkICJjb3BpZWQ6IgogbXNnc3RyICLRgdC60L7Qv9C40YDQvtCy0LDQvdC+OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc5CisjOiB3dC1zdGF0dXMuYzoyODAKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90L46IgogCi0jOiB3dC1zdGF0dXMuYzoyODEKKyM6IHd0LXN0YXR1cy5jOjI4MgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAi0LjQt9C80LXQvdC10L3QvjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MworIzogd3Qtc3RhdHVzLmM6Mjg0CiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgItC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC+OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg1CisjOiB3dC1zdGF0dXMuYzoyODYKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAi0LjQt9C80LXQvdC10L0g0YLQuNC/OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg3CisjOiB3dC1zdGF0dXMuYzoyODgKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90L46IgogCi0jOiB3dC1zdGF0dXMuYzoyODkKKyM6IHd0LXN0YXR1cy5jOjI5MAogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAi0L3QtSDRgdC70LjRgtGL0LU6IgogCi0jOiB3dC1zdGF0dXMuYzozNzEKKyM6IHd0LXN0YXR1cy5jOjM3MgogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgItC90L7QstGL0LUg0LrQvtC80LzQuNGC0YssICIKIAotIzogd3Qtc3RhdHVzLmM6MzczCisjOiB3dC1zdGF0dXMuYzozNzQKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgItC40LfQvNC10L3QtdC90L4g0YHQvtC00LXRgNC20LjQvNC+0LUsICIKIAotIzogd3Qtc3RhdHVzLmM6Mzc1CisjOiB3dC1zdGF0dXMuYzozNzYKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICLQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNC+0LUg0YHQvtC00LXRgNC20LjQvNC+0LUsICIKIAotIzogd3Qtc3RhdHVzLmM6ODE4CisjOiB3dC1zdGF0dXMuYzo4MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgorbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKK21zZ3N0clswXSAi0KMg0LLQsNGBINGB0LXQudGH0LDRgSDRgdC/0YDRj9GC0LDQvdCwICVkINC30LDQv9C40YHRjCIKK21zZ3N0clsxXSAi0KMg0LLQsNGBINGB0LXQudGH0LDRgSDRgdC/0YDRj9GC0LDQvdGLICVkINC30LDQv9C40YHQuCIKK21zZ3N0clsyXSAi0KMg0LLQsNGBINGB0LXQudGH0LDRgSDRgdC/0YDRj9GC0LDQvdC+ICVkINC30LDQv9C40YHQtdC5IgorbXNnc3RyWzNdICLQoyDQstCw0YEg0YHQtdC50YfQsNGBINGB0L/RgNGP0YLQsNC90YsgJWQg0LfQsNC/0LjRgdC4IgorCisjOiB3dC1zdGF0dXMuYzo4NTMKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QvdGL0LUsINC90L4g0L3QtSDQvtCx0L3QvtCy0LvQtdC90L3Ri9C1INC/0L7QtNC80L7QtNGD0LvQuDoiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMAorIzogd3Qtc3RhdHVzLmM6ODU1CiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPINCyINC/0L7QtNC80L7QtNGD0LvRj9GFLCDQutC+0YLQvtGA0YvQtSDQsdGD0LTRg9GCINC30LDQutC+0LzQvNC40YfQtdC90Ys6IgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjkzNwogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgogbXNnc3RyICLQndC1INGC0YDQvtCz0LDQudGC0LUg0YHRgtGA0L7QutGDINCy0YvRiNC1INGN0YLQvtC5Llxu0JLRgdGRLCDRh9GC0L4g0L3QuNC20LUg4oCUINCx0YPQtNC10YIg0YPQtNCw0LvQtdC90L4uIgogCi0jOiB3dC1zdGF0dXMuYzoxMDEzCisjOiB3dC1zdGF0dXMuYzoxMDQ5CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICLQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtSDRgdC70LjRgtGL0LUg0L/Rg9GC0LguIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE2CisjOiB3dC1zdGF0dXMuYzoxMDUyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAo0YDQsNC30YDQtdGI0LjRgtC1INC60L7QvdGE0LvQuNC60YLRiywg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgY29tbWl0wrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE4CisjOiB3dC1zdGF0dXMuYzoxMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IG1lcmdlIC0tYWJvcnTCuywg0YfRgtC+0LHRiyDQvtGB0YLQsNC90L7QstC40YLRjCDQvtC/0LXRgNCw0YbQuNGOINGB0LvQuNGP0L3QuNGPKSIKIAotIzogd3Qtc3RhdHVzLmM6MTAyMworIzogd3Qtc3RhdHVzLmM6MTA1OQogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgItCS0YHQtSDQutC+0L3RhNC70LjQutGC0Ysg0LjRgdC/0YDQsNCy0LvQtdC90YssINC90L4g0LLRiyDQstGB0LUg0LXRidC1INCyINC/0YDQvtGG0LXRgdGB0LUg0YHQu9C40Y/QvdC40Y8uIgogCi0jOiB3dC1zdGF0dXMuYzoxMDI2CisjOiB3dC1zdGF0dXMuYzoxMDYyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBjb21taXTCuywg0YfRgtC+0LHRiyDQt9Cw0LLQtdGA0YjQuNGC0Ywg0YHQu9C40Y/QvdC40LUpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDM2CisjOiB3dC1zdGF0dXMuYzoxMDcyCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICLQktGLINCyINC/0YDQvtGG0LXRgdGB0LUg0YHQtdGB0YHQuNC4IGFtLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAzOQorIzogd3Qtc3RhdHVzLmM6MTA3NQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAi0KLQtdC60YPRidC40Lkg0L/QsNGC0Ycg0L/Rg9GB0YLQvtC5LiIKIAotIzogd3Qtc3RhdHVzLmM6MTA0MworIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNGA0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGC0YssINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGFtIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEwNDUKKyM6IHd0LXN0YXR1cy5jOjEwODEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBhbSAtLXNraXDCuywg0YfRgtC+0LHRiyDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRjdGC0L7RgiDQv9Cw0YLRhykiCiAKLSM6IHd0LXN0YXR1cy5jOjEwNDcKKyM6IHd0LXN0YXR1cy5jOjEwODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYW0gLS1hYm9ydMK7LCDRh9GC0L7QsdGLINCy0L7RgdGB0YLQsNC90L7QstC40YLRjCDQvtGA0LjQs9C40L3QsNC70YzQvdGD0Y4g0LLQtdGC0LrRgykiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzIKKyM6IHd0LXN0YXR1cy5jOjEyMTQKK21zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCittc2dzdHIgImdpdC1yZWJhc2UtdG9kbyDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCLiIKKworIzogd3Qtc3RhdHVzLmM6MTIxNgogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICLQmtC+0LzQsNC90LTRiyDQvdC1INCy0YvQv9C+0LvQvdC10L3Riy4iCiAKLSM6IHd0LXN0YXR1cy5jOjExNzUKKyM6IHd0LXN0YXR1cy5jOjEyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGFzdCBjb21tYW5kIGRvbmUgKCVkIGNvbW1hbmQgZG9uZSk6IgogbXNnaWRfcGx1cmFsICJMYXN0IGNvbW1hbmRzIGRvbmUgKCVkIGNvbW1hbmRzIGRvbmUpOiIKQEAgLTM0NzUsMTYgKzQwODIsMTYgQEAKIG1zZ3N0clsyXSAi0J/QvtGB0LvQtdC00L3Rj9GPINC60L7QvNCw0L3QtNCwINCy0YvQv9C+0LvQvdC10L3QsCAoJWQg0LrQvtC80LDQvdC0INCy0YvQv9C+0LvQvdC10L3Qvik6IgogbXNnc3RyWzNdICLQn9C+0YHQu9C10LTQvdGP0Y8g0LrQvtC80LDQvdC00LAg0LLRi9C/0L7Qu9C90LXQvdCwICglZCDQutC+0LzQsNC90LQg0LLRi9C/0L7Qu9C90LXQvdC+KToiCiAKLSM6IHd0LXN0YXR1cy5jOjExODYKKyM6IHd0LXN0YXR1cy5jOjEyMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAoc2VlIG1vcmUgaW4gZmlsZSAlcykiCiBtc2dzdHIgIiAgKNGB0LzQvtGC0YDQuNGC0LUg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L4g0LIg0YTQsNC50LvQtSAlcykiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTEKKyM6IHd0LXN0YXR1cy5jOjEyMzUKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICLQmtC+0LzQsNC90LQg0LHQvtC70YzRiNC1INC90LUg0L7RgdGC0LDQu9C+0YHRjC4iCiAKLSM6IHd0LXN0YXR1cy5jOjExOTQKKyM6IHd0LXN0YXR1cy5jOjEyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKQEAgLTM0OTMsMTUwICs0MTAwLDE1NCBAQAogbXNnc3RyWzJdICLQodC70LXQtNGD0Y7RidCw0Y8g0LrQvtC80LDQvdC00LAg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPICglZCDQutC+0LzQsNC90LQg0L7RgdGC0LDQu9C+0YHRjCk6IgogbXNnc3RyWzNdICLQodC70LXQtNGD0Y7RidCw0Y8g0LrQvtC80LDQvdC00LAg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPICglZCDQutC+0LzQsNC90LQg0L7RgdGC0LDQu9C+0YHRjCk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjAyCisjOiB3dC1zdGF0dXMuYzoxMjQ2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb8K7LCDRh9GC0L7QsdGLINC/0YDQvtGB0LzQvtGC0YDQtdGC0Ywg0Lgg0LjQt9C80LXQvdC40YLRjCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMTUKKyM6IHd0LXN0YXR1cy5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC/0LXRgNC10LzQtdGJ0LDQtdGC0LUg0LLQtdGC0LrRgyDCqyVzwrsg0L3QsNC0IMKrJXPCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjAKKyM6IHd0LXN0YXR1cy5jOjEyNjQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC/0LXRgNC10LzQtdGJ0LDQtdGC0LUg0LLQtdGC0LrRgy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzQKKyM6IHd0LXN0YXR1cy5jOjEyNzgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo0YDQsNC30YDQtdGI0LjRgtC1INC60L7QvdGE0LvQuNC60YLRiywg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzYKKyM6IHd0LXN0YXR1cy5jOjEyODAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmViYXNlIC0tc2tpcMK7LCDRh9GC0L7QsdGLINC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQvtGCINC/0LDRgtGHKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIzOAorIzogd3Qtc3RhdHVzLmM6MTI4MgogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCByZWJhc2UgLS1hYm9ydMK7LCDRh9GC0L7QsdGLINC/0LXRgNC10LnRgtC4INC90LAg0L7RgNC40LPQuNC90LDQu9GM0L3Rg9GOINCy0LXRgtC60YMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ0CisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjQstGB0LUg0LrQvtC90YTQu9C40LrRgtGLINGA0LDQt9GA0LXRiNC10L3Rizog0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLWNvbnRpbnVlwrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ4CisjOiB3dC1zdGF0dXMuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINGA0LDQt9C00LXQu9GP0LXRgtC1INC60L7QvNC80LjRgiDQv9GA0Lgg0L/QtdGA0LXQvNC10YnQtdC90LjQuCDQstC10YLQutC4ICDCqyVzwrsg0L3QsNC0IMKrJXPCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTMKKyM6IHd0LXN0YXR1cy5jOjEyOTcKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0YDQsNC30LTQtdC70Y/QtdGC0LUg0LrQvtC80LzQuNGCINC/0YDQuCDQv9C10YDQtdC80LXRidC10L3QuNC4INCy0LXRgtC60LguIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU2CisjOiB3dC1zdGF0dXMuYzoxMzAwCiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIijQmtCw0Log0YLQvtC70YzQutC+INCy0LDRiCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQsdGD0LTQtdGCINGH0LjRgdGC0YvQuSwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLWNvbnRpbnVlwrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINGA0LXQtNCw0LrRgtC40YDRg9C10YLQtSDQutC+0LzQvNC40YIg0L/RgNC4INC/0LXRgNC10LzQtdGJ0LXQvdC40Lgg0LLQtdGC0LrQuCAgwqslc8K7INC90LDQtCDCqyVzwrsuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY1CisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICLQktGLINGB0LXQudGH0LDRgSDRgNC10LTQsNC60YLQuNGA0YPQtdGC0LUg0LrQvtC80LzQuNGCINC/0YDQuCDQv9C10YDQtdC80LXRidC10L3QuNC4INCy0LXRgtC60LguIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY4CisjOiB3dC1zdGF0dXMuYzoxMzEyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBjb21taXQgLS1hbWVuZMK7LCDRh9GC0L7QsdGLINC40YHQv9GA0LDQstC40YLRjCDRgtC10LrRg9GJ0LjQuSDQutC+0LzQvNC40YIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjcwCisjOiB3dC1zdGF0dXMuYzoxMzE0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuywg0LrQvtCz0LTQsCDQsdGD0LTQtdGC0LUg0LTQvtCy0L7Qu9GM0L3RiyDQuNC30LzQtdC90LXQvdC40Y/QvNC4KSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4MAorIzogd3Qtc3RhdHVzLmM6MTMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICLQktGLINC60L7Qv9C40YDRg9C10YLQtSDQutC+0LzQvNC40YIgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjg1CisjOiB3dC1zdGF0dXMuYzoxMzI5CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNGA0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGC0YssINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyODgKKyM6IHd0LXN0YXR1cy5jOjEzMzIKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo0LLRgdC1INC60L7QvdGE0LvQuNC60YLRiyDRgNCw0LfRgNC10YjQtdC90Ys6INC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCBjaGVycnktcGljayAtLWNvbnRpbnVlwrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMjkwCisjOiB3dC1zdGF0dXMuYzoxMzM0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydMK7LCDRh9GC0L7QsdGLINC+0YLQvNC10L3QuNGC0Ywg0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQutC+0LzQvNC40YLQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTkKKyM6IHd0LXN0YXR1cy5jOjEzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC+0LHRgNCw0YnQsNC10YLQtSDQuNC30LzQtdC90LXQvdC40Y8g0LrQvtC80LzQuNGC0LAgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA0CisjOiB3dC1zdGF0dXMuYzoxMzQ4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjRgNCw0LfRgNC10YjQuNGC0LUg0LrQvtC90YTQu9C40LrRgtGLLCDQt9Cw0YLQtdC8INC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCByZXZlcnQgLS1jb250aW51ZcK7KSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwNworIzogd3Qtc3RhdHVzLmM6MTM1MQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo0LLRgdC1INC60L7QvdGE0LvQuNC60YLRiyDRgNCw0LfRgNC10YjQtdC90Ys6INC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCByZXZlcnQgLS1jb250aW51ZcK7KSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwOQorIzogd3Qtc3RhdHVzLmM6MTM1MwogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmV2ZXJ0IC0tYWJvcnTCuywg0YfRgtC+0LHRiyDQvtGC0LzQtdC90LjRgtGMINC+0L/QtdGA0LDRhtC40Y4g0L7QsdGA0LDRidC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuSDQutC+0LzQvNC40YLQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjAKKyM6IHd0LXN0YXR1cy5jOjEzNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICLQktGLINGB0LXQudGH0LDRgSDQsiDQv9GA0L7RhtC10YHRgdC1INC00LLQvtC40YfQvdC+0LPQviDQv9C+0LjRgdC60LAsINC90LDRh9Cw0YLQvtCz0L4g0YEg0LLQtdGC0LrQuCDCqyVzwrsuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI0CisjOiB3dC1zdGF0dXMuYzoxMzY4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0LIg0L/RgNC+0YbQtdGB0YHQtSDQtNCy0L7QuNGH0L3QvtCz0L4g0L/QvtC40YHQutCwLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMyNworIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBiaXNlY3QgcmVzZXTCuywg0YfRgtC+0LHRiyDQstC10YDQvdGD0YLRjNGB0Y8g0L3QsCDQuNGB0YXQvtC00L3Rg9GOINCy0LXRgtC60YMpIgogCi0jOiB3dC1zdGF0dXMuYzoxNTI0CisjOiB3dC1zdGF0dXMuYzoxNTY4CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAi0J3QsCDQstC10YLQutC1ICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QvtC1INC/0LXRgNC10LzQtdGJ0LXQvdC40LUg0LIg0L/RgNC+0YbQtdGB0YHQtTsg0L3QsNC0ICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMgorIzogd3Qtc3RhdHVzLmM6MTU3NgogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgItC/0LXRgNC10LzQtdGJ0LXQvdC40LUg0LIg0L/RgNC+0YbQtdGB0YHQtTsg0L3QsNC0ICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNworIzogd3Qtc3RhdHVzLmM6MTU4MQogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICJIRUFEINC+0YLQtNC10LvRkdC9INC90LAgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM5CisjOiB3dC1zdGF0dXMuYzoxNTgzCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiSEVBRCDQvtGC0LTQtdC70ZHQvSDQvdCw0YfQuNC90LDRjyDRgSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDIKKyM6IHd0LXN0YXR1cy5jOjE1ODYKIG1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgogbXNnc3RyICLQodC10LnRh9Cw0YEg0L3QuCDQvdCwINC+0LTQvdC+0Lkg0LjQtyDQstC10YLQvtC6IgogCi0jOiB3dC1zdGF0dXMuYzoxNTYwCisjOiB3dC1zdGF0dXMuYzoxNjA2CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgItCd0LDRh9Cw0LvRjNC90YvQuSDQutC+0LzQvNC40YIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NzQKKyM6IHd0LXN0YXR1cy5jOjE2MDcKK21zZ2lkICJObyBjb21taXRzIHlldCIKK21zZ3N0ciAi0JXRidC1INC90LXRgiDQutC+0LzQvNC40YLQvtCyIgorCisjOiB3dC1zdGF0dXMuYzoxNjIxCiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLQndC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyIKIAotIzogd3Qtc3RhdHVzLmM6MTU3NgorIzogd3Qtc3RhdHVzLmM6MTYyMwogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgItCY0LPQvdC+0YDQuNGA0YPQtdC80YvQtSDRhNCw0LnQu9GLIgogCi0jOiB3dC1zdGF0dXMuYzoxNTgwCisjOiB3dC1zdGF0dXMuYzoxNjI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0zNjQ0LDYwMiArNDI1NSw2MjcgQEAKICJuZXcgZmlsZXMgeW91cnNlbGYgKHNlZSAnZ2l0IGhlbHAgc3RhdHVzJykuIgogbXNnc3RyICIlLjJmINGB0LXQutGD0L3QtNGLINC30LDQvdGP0Lsg0LLRi9Cy0L7QtCDRgdC/0LjRgdC60LAg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7Qsi4gwqtzdGF0dXMgLXVub8K7INCy0L7Qt9C80L7QttC90L4g0LzQvtC20LXRgiDRg9GB0LrQvtGA0LjRgtGMINGN0YLQviwg0L3QviDQsdGD0LTRjNGC0LUg0LLQvdC40LzQsNGC0LXQu9GM0L3Riywg0Lgg0L3QtSDQt9Cw0LHRg9C00YzRgtC1INC00L7QsdCw0LLQuNGC0Ywg0L3QvtCy0YvQtSDRhNCw0LnQu9GLINCy0YDRg9GH0L3Rg9GOICjRgdC80L7RgtGA0LjRgtC1IMKrZ2l0IGhlbHAgc3RhdHVzwrsg0LTQu9GPINC/0L7QtNGA0L7QsdC90L7RgdGC0LXQuSkuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTg2CisjOiB3dC1zdGF0dXMuYzoxNjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgItCd0LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINC90LUg0L/QvtC60LDQt9Cw0L3RiyVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTg4CisjOiB3dC1zdGF0dXMuYzoxNjM1CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiKNC40YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiDCqy11wrssINGH0YLQvtCx0Ysg0L/QvtC60LDQt9Cw0YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiykiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTQKKyM6IHd0LXN0YXR1cy5jOjE2NDEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICLQndC10YIg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiB3dC1zdGF0dXMuYzoxNTk5CisjOiB3dC1zdGF0dXMuYzoxNjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICLQvdC10YIg0LjQt9C80LXQvdC10L3QuNC5INC00L7QsdCw0LLQu9C10L3QvdGL0YUg0LTQu9GPINC60L7QvNC80LjRgtCwXG4o0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBhZGTCuyDQuC/QuNC70LggwqtnaXQgY29tbWl0IC1hwrspXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDIKKyM6IHd0LXN0YXR1cy5jOjE2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAi0L3QtdGCINC40LfQvNC10L3QtdC90LjQuSDQtNC+0LHQsNCy0LvQtdC90L3Ri9GFINC00LvRjyDQutC+0LzQvNC40YLQsFxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjA1CisjOiB3dC1zdGF0dXMuYzoxNjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQgKHVzZSBcImdpdCBhZGRcIiB0byAiCiAidHJhY2spXG4iCiBtc2dzdHIgItC90LjRh9C10LPQviDQvdC1INC00L7QsdCw0LLQu9C10L3QviDQsiDQutC+0LzQvNC40YIsINC90L4g0LXRgdGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70YsgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkwrssINGH0YLQvtCx0Ysg0L7RgtGB0LvQtdC20LjQstCw0YLRjCDQuNGFKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjA4CisjOiB3dC1zdGF0dXMuYzoxNjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICLQvdC40YfQtdCz0L4g0L3QtSDQtNC+0LHQsNCy0LvQtdC90L4g0LIg0LrQvtC80LzQuNGCLCDQvdC+INC10YHRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgItC90LXRh9C10LPQviDQutC+0LzQvNC40YLQuNGC0YwgKNGB0L7Qt9C00LDQudGC0LUv0YHQutC+0L/QuNGA0YPQudGC0LUg0YTQsNC50LvRiywg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgYWRkwrssINGH0YLQvtCx0Ysg0L7RgtGB0LvQtdC20LjQstCw0YLRjCDQuNGFKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE0IHd0LXN0YXR1cy5jOjE2MTkKKyM6IHd0LXN0YXR1cy5jOjE2NjEgd3Qtc3RhdHVzLmM6MTY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICLQvdC10YfQtdCz0L4g0LrQvtC80LzQuNGC0LjRgtGMXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTcKKyM6IHd0LXN0YXR1cy5jOjE2NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAi0L3QtdGH0LXQs9C+INC60L7QvNC80LjRgtC40YLRjCAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC/0YbQuNGOIMKrLXXCuywg0YfRgtC+0LHRiyDQv9C+0LrQsNC30LDRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIxCisjOiB3dC1zdGF0dXMuYzoxNjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAi0L3QtdGH0LXQs9C+INC60L7QvNC80LjRgtC40YLRjCwg0L3QtdGCINC40LfQvNC10L3QtdC90LjQuSDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MjgKLW1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCi1tc2dzdHIgItCd0LDRh9Cw0LvRjNC90YvQuSDQutC+0LzQvNC40YIg0L3QsCAiCisjOiB3dC1zdGF0dXMuYzoxNzgwCittc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgorbXNnc3RyICLQldGJ0LUg0L3QtdGCINC60L7QvNC80LjRgtC+0LIg0LIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MzIKKyM6IHd0LXN0YXR1cy5jOjE3ODQKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEICjQvdC10YIg0LLQtdGC0LrQuCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NjEKLW1zZ2lkICJnb25lIgotbXNnc3RyICLQuNGB0YfQtdC3IgotCi0jOiB3dC1zdGF0dXMuYzoxNzYzIHd0LXN0YXR1cy5jOjE3NzEKKyM6IHd0LXN0YXR1cy5jOjE4MTMgd3Qtc3RhdHVzLmM6MTgyMQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgItC/0L7Qt9Cw0LTQuCIKIAotIzogd3Qtc3RhdHVzLmM6MTc2NiB3dC1zdGF0dXMuYzoxNzY5CisjOiB3dC1zdGF0dXMuYzoxODE2IHd0LXN0YXR1cy5jOjE4MTkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgItCy0L/QtdGA0LXQtNC4ICIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKLSM6IHd0LXN0YXR1cy5jOjIyNzAKKyM6IHd0LXN0YXR1cy5jOjIzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgJXM6INCjINCy0LDRgSDQtdGB0YLRjCDQvdC10L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyNzYKKyM6IHd0LXN0YXR1cy5jOjIzMTcKIG1zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgItC6INGC0L7QvNGDINC20LUsINCyINCy0LDRiNC10Lwg0LjQvdC00LXQutGB0LUg0LXRgdGC0Ywg0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyNzgKKyM6IHd0LXN0YXR1cy5jOjIzMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCAlczog0JIg0LLQsNGI0LXQvCDQuNC90LTQtdC60YHQtSDQtdGB0YLRjCDQvdC10LfQsNC60L7QvNC80LjRh9C10L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTQKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L7RgtGB0L7QtdC00LjQvdC10L3QuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMgorIzogYnVpbHRpbi9hZGQuYzoyNAogbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgotbXNnc3RyICJnaXQgYWRkIFs80L7Qv9GG0LjQuD5dIFstLV0gPNGB0L/QtdGG0LjRhNC40LrQsNGG0LjRjy3Qv9GD0YLQuD7igKYiCittc2dzdHIgImdpdCBhZGQgWzzQvtC/0YbQuNC4Pl0gWy0tXSA80YHQv9C10YbQuNGE0LjQutCw0YLQvtGALdC/0YPRgtC4PuKApiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MAorIzogYnVpbHRpbi9hZGQuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICLQvdC10L7QttC40LTQsNC90L3Ri9C5INGB0YLQsNGC0YPRgSDRgNCw0LfQu9C40YfQuNC5ICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjg1IGJ1aWx0aW4vY29tbWl0LmM6MjkxCisjOiBidWlsdGluL2FkZC5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6MjkyCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2FkZC5jOjk1CisjOiBidWlsdGluL2FkZC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjE0OQorIzogYnVpbHRpbi9hZGQuYzoxNTEKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAi0J3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0L/QvtGB0LvQtSDQvtCx0L3QvtCy0LvQtdC90LjRjyDQuNC90LTQtdC60YHQsDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODQwCisjOiBidWlsdGluL2FkZC5jOjIxMSBidWlsdGluL3Jldi1wYXJzZS5jOjg3MwogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2FkZC5jOjIyMAorIzogYnVpbHRpbi9hZGQuYzoyMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7INC00LvRjyDQt9Cw0L/QuNGB0LguIgogCi0jOiBidWlsdGluL2FkZC5jOjIyNAorIzogYnVpbHRpbi9hZGQuYzoyMjYKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQv9Cw0YLRhyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjcKKyM6IGJ1aWx0aW4vYWRkLmM6MjI5CiBtc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC4INC/0LDRgtGH0LAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMwCisjOiBidWlsdGluL2FkZC5jOjIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMyCisjOiBidWlsdGluL2FkZC5jOjIzNAogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAi0J/Rg9GB0YLQvtC5INC/0LDRgtGHLiDQntC/0LXRgNCw0YbQuNGPINC/0YDQtdGA0LLQsNC90LAuIgogCi0jOiBidWlsdGluL2FkZC5jOjIzNworIzogYnVpbHRpbi9hZGQuYzoyMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC40LzQtdC90LjRgtGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDcKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ5CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICLQodC70LXQtNGD0Y7RidC40LUg0L/Rg9GC0Lgg0LjQs9C90L7RgNC40YDRg9GO0YLRgdGPINC+0LTQvdC40Lwg0LjQtyDQstCw0YjQuNGFINGE0LDQudC70L7QsiAuZ2l0aWdub3JlOlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjExMQotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTIxCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorIzogYnVpbHRpbi9hZGQuYzoyNjkgYnVpbHRpbi9jbGVhbi5jOjkwNyBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MjAxIGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMyIGJ1aWx0aW4vcm0uYzoyNDIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICLQv9GA0L7QsdC90YvQuSDQt9Cw0L/Rg9GB0LoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY5CisjOiBidWlsdGluL2FkZC5jOjI3MgogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3Ri9C5INCy0YvQsdC+0YAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyIGJ1aWx0aW4vcmVzZXQuYzoyOTkKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAi0LjQvdGC0LXRgNCw0LrRgtC40LLQvdGL0Lkg0LLRi9Cx0L7RgCDQsdC70L7QutC+0LIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcxCisjOiBidWlsdGluL2FkZC5jOjI3NAogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAi0L7RgtGA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGC0LXQutGD0YnQuNC5INGE0LDQudC7INGA0LDQt9C70LjRh9C40Lkg0Lgg0L/RgNC40LzQtdC90LjRgtGMINC10LPQviIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LTQvtCx0LDQstC70LXQvdC40LUg0LjQs9C90L7RgNC40YDRg9C10LzRi9GFINC40L3QsNGH0LUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MworIzogYnVpbHRpbi9hZGQuYzoyNzYKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi0L7QsdC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL2FkZC5jOjI3NAorIzogYnVpbHRpbi9hZGQuYzoyNzcKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgItC30LDQv9C40YHQsNGC0Ywg0YLQvtC70YzQutC+INGE0LDQutGCLCDRh9GC0L4g0L/Rg9GC0Ywg0LHRg9C00LXRgiDQtNC+0LHQsNCy0LvQtdC9INC/0L7Qt9C20LUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjc1CisjOiBidWlsdGluL2FkZC5jOjI3OAogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LjQtyDQstGB0LXRhSDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDQuCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2FkZC5jOjI3OAorIzogYnVpbHRpbi9hZGQuYzoyODEKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINC/0YPRgtC4INGD0LTQsNC70LXQvdC90YvQtSDQuNC3INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCAo0YLQvtC20LUsINGH0YLQviDQuCAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgwCisjOiBidWlsdGluL2FkZC5jOjI4MwogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAi0L3QtSDQtNC+0LHQsNCy0LvRj9GC0YwsINGC0L7Qu9GM0LrQviDQvtCx0L3QvtCy0LjRgtGMINC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi9hZGQuYzoyODEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg0CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0LrQsNGC0Ywg0YTQsNC50LvRiywg0LrQvtGC0L7RgNGL0LUg0L3QtSDQvNC+0LPRg9GCINCx0YvRgtGMINC00L7QsdCw0LLQu9C10L3RiyDQuNC3LdC30LAg0L7RiNC40LHQvtC6IgogCi0jOiBidWlsdGluL2FkZC5jOjI4MgorIzogYnVpbHRpbi9hZGQuYzoyODUKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgItGD0LTQvtGB0YLQvtCy0LXRgNC40YLRjNGB0Y8sINGH0YLQviDQtNCw0LbQtSDQvdC10LTQvtGB0YLQsNGO0YnQuNC1INGE0LDQudC70Ysg0LHRg9C00YPRgiDQv9GA0L7QuNCz0L3QvtGA0LjRgNC+0LLQsNC90Ysg0L/RgNC4ICDQv9GA0L7QsdC90L7QvCDQt9Cw0L/Rg9GB0LrQtSIKIAotIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg2IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCiBtc2dpZCAiKCsvLSl4IgogbXNnc3RyICIoKy8tKXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MwogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICLQv9C10YDQtdC+0L/RgNC10LTQtdC70LjRgtGMINCx0LjRgiDQstGL0L/QvtC70L3QtdC90LjRjyDQvdCwINGD0LrQsNC30LDQvdC90YvRhSDRhNCw0LnQu9Cw0YUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjI4OAorbXNnaWQgIndhcm4gd2hlbiBhZGRpbmcgYW4gZW1iZWRkZWQgcmVwb3NpdG9yeSIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQsNGC0Ywg0L/RgNC4INC00L7QsdCw0LLQu9C10L3QuNC4INCy0YHRgtGA0L7QtdC90L3QvtCz0L4gZ2l0INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCisiQ2xvbmVzIG9mIHRoZSBvdXRlciByZXBvc2l0b3J5IHdpbGwgbm90IGNvbnRhaW4gdGhlIGNvbnRlbnRzIG9mXG4iCisidGhlIGVtYmVkZGVkIHJlcG9zaXRvcnkgYW5kIHdpbGwgbm90IGtub3cgaG93IHRvIG9idGFpbiBpdC5cbiIKKyJJZiB5b3UgbWVhbnQgdG8gYWRkIGEgc3VibW9kdWxlLCB1c2U6XG4iCisiXG4iCisiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIklmIHlvdSBhZGRlZCB0aGlzIHBhdGggYnkgbWlzdGFrZSwgeW91IGNhbiByZW1vdmUgaXQgZnJvbSB0aGVcbiIKKyJpbmRleCB3aXRoOlxuIgorIlxuIgorIlx0Z2l0IHJtIC0tY2FjaGVkICVzXG4iCisiXG4iCisiU2VlIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICLQktGLINC00L7QsdCw0LLQuNC70Lgg0LTRgNGD0LPQvtC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgZ2l0INCy0L3Rg9GC0YDQuCDRgtC10LrRg9GJ0LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y9cbtCa0LvQvtC90Ysg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPINC90LUg0LHRg9C00YPRgiDRgdC+0LTQtdGA0LbQsNGC0Ywg0LLQvdGD0YLRgNC10L3QvdC40LlcbtGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0Lgg0L3QtSDQsdGD0LTRg9GCINC30L3QsNGC0Ywg0LrQsNC6INC10LPQviDQv9C+0LvRg9GH0LjRgtGMLlxu0JXRgdC70Lgg0LLRiyDRhdC+0YLQtdC70Lgg0LTQvtCx0LDQstC40YLRjCDQv9C+0LTQvNC+0LTRg9C70YwsINGC0L4g0LfQsNC/0YPRgdGC0LjRgtC1OlxuXG5cdGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+ICVzXG5cbtCV0YHQu9C4INCx0Ysg0LTQvtCx0LDQstC40LvQuCDRjdGC0L7RgiDQv9GD0YLRjCDQv9C+INC+0YjQuNCx0LrQtSwg0YLQviDQstGLINC80L7QttC10YLQtSDRg9C00LDQu9C40YLRjCDQtdCz0L5cbtC40Lcg0LjQvdC00LXQutGB0LAg0YEg0L/QvtC80L7RidGM0Y46XG5cblx0Z2l0IHJtIC0tY2FjaGVkICVzXG5cbtCU0LvRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4INGB0LzQvtGC0YDQuNGC0LUgwqtnaXQgaGVscCBzdWJtb2R1bGXCuy4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgImFkZGluZyBlbWJlZGRlZCBnaXQgcmVwb3NpdG9yeTogJXMiCittc2dzdHIgItC00L7QsdCw0LLQu9C10L3QuNC1INCy0YHRgtGA0L7QtdC90L3QvtCz0L4gZ2l0INGA0LXQv9C+0LfQuNGC0L7RgNC40Y86ICVzIgorCisjOiBidWlsdGluL2FkZC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LnRgtC1IC1mLCDQtdGB0LvQuCDQstGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQtNC+0LHQsNCy0LjRgtGMINC40YUuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzEyCisjOiBidWlsdGluL2FkZC5jOjM1NwogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2FkZC5jOjM0OAorIzogYnVpbHRpbi9hZGQuYzozOTQKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEg0LggLXUg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU1CisjOiBidWlsdGluL2FkZC5jOjQwMQogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgItCe0L/RhtC40Y8gLS1pZ25vcmUtbWlzc2luZyDQvNC+0LbQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0YLQvtC70YzQutC+INCy0LzQtdGB0YLQtSDRgSAtLWRyeS1ydW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjOiBidWlsdGluL2FkZC5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLS1jaG1vZCDCqyVzwrsg0LTQvtC70LbQtdC9INCx0YvRgtGMIC14INC40LvQuCAreCIKIAotIzogYnVpbHRpbi9hZGQuYzozNzQKKyM6IGJ1aWx0aW4vYWRkLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICLQndC40YfQtdCz0L4g0L3QtSDRg9C60LDQt9Cw0L3Qviwg0L3QuNGH0LXQs9C+INC90LUg0LTQvtCx0LDQstC70LXQvdC+LlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM3NQorIzogYnVpbHRpbi9hZGQuYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgItCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgyDCq2dpdCBhZGQgLsK7P1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjM4MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQgYnVpbHRpbi9jb21taXQuYzozNTAKLSM6IGJ1aWx0aW4vbXYuYzoxMzEgYnVpbHRpbi9yZXNldC5jOjIzNSBidWlsdGluL3JtLmM6Mjk4CisjOiBidWlsdGluL2FkZC5jOjQyNiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NiBidWlsdGluL2NoZWNrb3V0LmM6MjgyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDc1IGJ1aWx0aW4vY2xlYW4uYzo5NTQgYnVpbHRpbi9jb21taXQuYzozNTEKKyM6IGJ1aWx0aW4vbXYuYzoxNDQgYnVpbHRpbi9yZXNldC5jOjIzOCBidWlsdGluL3JtLmM6MjcyCiAjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQ0CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICLRhNCw0LnQuyDQuNC90LTQtdC60YHQsCDQv9C+0LLRgNC10LbQtNC10L0iCiAKLSM6IGJ1aWx0aW4vYW0uYzo0MTQKKyM6IGJ1aWx0aW4vYW0uYzo0MTMKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0YHRhtC10L3QsNGA0LjQuSDQsNCy0YLQvtGA0YHRgtCy0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzo0OTEKKyM6IGJ1aWx0aW4vYW0uYzo0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIKIG1zZ3N0ciAiwqslc8K7INCx0YvQuyDRg9C00LDQu9C10L0g0L/QtdGA0LXRhdCy0LDRgtGH0LjQutC+0LwgYXBwbHlwYXRjaC1tc2ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MzIKKyM6IGJ1aWx0aW4vYW0uYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwINCy0LLQvtC00LA6IMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NjkKKyM6IGJ1aWx0aW4vYW0uYzo1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQutC+0L/QuNGA0L7QstCw0YLRjCDQt9Cw0LzQtdGC0LrRgyDQuNC3IMKrJXPCuyDQsiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1OTUKKyM6IGJ1aWx0aW4vYW0uYzo1OTMKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQstGL0L/QvtC70L3QtdC90LjQuCBmc2VlayIKIAotIzogYnVpbHRpbi9hbS5jOjc3NQorIzogYnVpbHRpbi9hbS5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0L/QsNGC0Ycgwqslc8K7IgogCi0jOiBidWlsdGluL2FtLmM6ODQwCisjOiBidWlsdGluL2FtLmM6ODQyCiBtc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCiBtc2dzdHIgItCi0L7Qu9GM0LrQviDRgdC10YDQuNGPINC/0LDRgtGH0LXQuSBTdEdJVCDQvNC+0LbQtdGCINCx0YvRgtGMINC/0YDQuNC80LXQvdC10L3QsCDQt9CwINGA0LDQtyIKIAotIzogYnVpbHRpbi9hbS5jOjg4NworIzogYnVpbHRpbi9hbS5jOjg4OQogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0LzQtdGC0LrQsCDQtNCw0YLRiy/QstGA0LXQvNC10L3QuCIKIAotIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CisjOiBidWlsdGluL2FtLmM6ODkyIGJ1aWx0aW4vYW0uYzo5MDAKIG1zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQsNGPINGB0YLRgNC+0LrQsCDQtNCw0YLRiyIKIAotIzogYnVpbHRpbi9hbS5jOjg5NQorIzogYnVpbHRpbi9hbS5jOjg5NwogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0YHQvNC10YnQtdC90LjQtSDRh9Cw0YHQvtCy0L7Qs9C+INC/0L7Rj9GB0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5ODQKKyM6IGJ1aWx0aW4vYW0uYzo5ODYKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgItCh0LHQvtC5INC+0L/RgNC10LTQtdC70LXQvdC40Y8g0YTQvtGA0LzQsNGC0LAg0L/QsNGC0YfQsC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo5ODkgYnVpbHRpbi9jbG9uZS5jOjM3OQorIzogYnVpbHRpbi9hbS5jOjk5MSBidWlsdGluL2Nsb25lLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgwqslc8K7IgogCi0jOiBidWlsdGluL2FtLmM6OTkzCisjOiBidWlsdGluL2FtLmM6OTk1CiBtc2dpZCAiRmFpbGVkIHRvIHNwbGl0IHBhdGNoZXMuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C00LXQu9C40YLRjCDQv9Cw0YLRh9C4INC90LAg0YfQsNGB0YLQuC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTI1IGJ1aWx0aW4vY29tbWl0LmM6Mzc2CisjOiBidWlsdGluL2FtLmM6MTEyMCBidWlsdGluL2NvbW1pdC5jOjM3NwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2FtLmM6MTE3NgorIzogYnVpbHRpbi9hbS5jOjExNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgItCa0L7Qs9C00LAg0LLRiyDRg9GB0YLRgNCw0L3QuNGC0LUg0Y3RgtGDINC/0YDQvtCx0LvQtdC80YMsINC30LDQv9GD0YHRgtC40YLQtSDCqyVzIC0tY29udGludWXCuy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTc3CisjOiBidWlsdGluL2FtLmM6MTE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQvtGCINC/0LDRgtGHLCDRgtC+INC30LDQv9GD0YHRgtC40YLQtSDCqyVzIC0tc2tpcMK7LiIKIAotIzogYnVpbHRpbi9hbS5jOjExNzgKKyM6IGJ1aWx0aW4vYW0uYzoxMTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAi0KfRgtC+0LHRiyDQstC10YDQvdGD0YLRjNGB0Y8g0L3QsCDQv9GA0LXQtNGL0LTRg9GJ0YPRjiDQstC10YLQutGDINC4INC+0YHRgtCw0L3QvtCy0LjRgtGMINC/0YDQuNC80LXQvdC10L3QuNC1INC40LfQvNC10L3QtdC90LjQuSwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrJXMgLS1hYm9ydMK7LiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMTYKLW1zZ2lkICJQYXRjaCBpcyBlbXB0eS4gV2FzIGl0IHNwbGl0IHdyb25nPyIKLW1zZ3N0ciAi0J/QsNGC0Ycg0L/Rg9GB0YIuINCS0L7Qt9C80L7QttC90L4sINC+0L0g0LHRi9C7INC90LXQv9GA0LDQstC40LvRjNC90L4g0YDQsNC30LTQtdC70ZHQvT8iCisjOiBidWlsdGluL2FtLmM6MTMwNAorbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKK21zZ3N0ciAi0J/QsNGC0Ycg0L/Rg9GB0YLQvtC5LiIKIAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2FtLmM6MTM3MAogIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgotbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwINC40LTQtdC90YLQuNGE0LjQutCw0YbQuNC4OiAlcyIKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGC0YDQvtC60LAg0LjQtNC10L3RgtC40YTQuNC60LDRhtC40Lg6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDE3CisjOiBidWlsdGluL2FtLmM6MTM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQutC+0LzQvNC40YIgJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEwCisjOiBidWlsdGluL2FtLmM6MTU4NgogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgItCSINGA0LXQv9C+0LfQuNGC0L7RgNC40Lgg0L7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQtNCy0L7QuNGH0L3Ri9C1INC+0LHRitC10LrRgtGLLCDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC00LvRjyDQvtGC0LrQsNGC0LAg0Log0YLRgNC10YXRhdC+0LTQvtCy0L7QvNGDINGB0LvQuNGP0L3QuNGOLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MTIKKyM6IGJ1aWx0aW4vYW0uYzoxNTg4CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9GOINC40L3QtNC10LrRgSDQtNC70Y8g0YDQtdC60L7QvdGB0YLRgNGD0LrRhtC40Lgg0LHQsNC30L7QstC+0LPQviDQtNC10YDQtdCy0LDigKYiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjMxCisjOiBidWlsdGluL2FtLmM6MTYwNwogbXNnaWQgIiIKICJEaWQgeW91IGhhbmQgZWRpdCB5b3VyIHBhdGNoP1xuIgogIkl0IGRvZXMgbm90IGFwcGx5IHRvIGJsb2JzIHJlY29yZGVkIGluIGl0cyBpbmRleC4iCiBtc2dzdHIgItCS0Ysg0LLRgNGD0YfQvdGD0Y4g0LjQt9C80LXQvdGP0LvQuCDQv9Cw0YLRhz9cbtCe0L0g0L3QtSDQvdCw0LrQu9Cw0LTRi9Cy0LDQtdGC0YHRjyDQsdC10Lcg0L7RiNC40LHQvtC6INC90LAg0LTQstC+0LjRh9C90YvQtSDQvtCx0YrQtdC60YLRiywg0LfQsNC/0LjRgdCw0L3QvdGL0LUg0LIg0LXQs9C+INC30LDQs9C+0LvQvtCy0LrQtS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjM3CisjOiBidWlsdGluL2FtLmM6MTYxMwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAi0J7RgtC60LDRgiDQuiDQv9GA0LjQvNC10L3QtdC90LjRjiDQuNC30LzQtdC90LXQvdC40Lkg0Log0LHQsNC30L7QstC+0LzRgyDQutC+0LzQvNC40YLRgyDRgSDQv9C+0LzQvtGJ0YzRjiDRgtGA0LXRhdGF0L7QtNC+0LLQvtCz0L4g0YHQu9C40Y/QvdC40Y/igKYiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjYyCisjOiBidWlsdGluL2FtLmM6MTYzOAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQu9C40YLRjCDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjI4CisjOiBidWlsdGluL2FtLmM6MTY2MiBidWlsdGluL21lcmdlLmM6NjMyCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUg0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC00LXRgNC10LLQviIKIAotIzogYnVpbHRpbi9hbS5jOjE2OTMKKyM6IGJ1aWx0aW4vYW0uYzoxNjY5CiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAi0L/RgNC40LzQtdC90LXQvdC40LUg0Log0L/Rg9GB0YLQvtC5INC40YHRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2FtLmM6MTcwNiBidWlsdGluL2NvbW1pdC5jOjE3NjkgYnVpbHRpbi9tZXJnZS5jOjc5OAotIzogYnVpbHRpbi9tZXJnZS5jOjgyMworIzogYnVpbHRpbi9hbS5jOjE2ODIgYnVpbHRpbi9jb21taXQuYzoxNzY3IGJ1aWx0aW4vbWVyZ2UuYzo4MDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjgKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0LfQsNC/0LjRgdC4INC+0LHRitC10LrRgtCwINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2FtLmM6MTczOSBidWlsdGluL2FtLmM6MTc0MworIzogYnVpbHRpbi9hbS5jOjE3MTUgYnVpbHRpbi9hbS5jOjE3MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc3VtZTogJXMgZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0L/RgNC+0LTQvtC70LbQvdC40YLRjDogJXMg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzU5CisjOiBidWlsdGluL2FtLmM6MTczNQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+0LUg0L/QvtCy0LXQtNC10L3QuNC1LCDQsdC10Lcgc3RkaW4g0L/QvtC00LrQu9GO0YfQtdC90L3QvtCz0L4g0Log0YLQtdGA0LzQuNC90LDQu9GDLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NjQKKyM6IGJ1aWx0aW4vYW0uYzoxNzQwCiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICLQotC10LvQviDQutC+0LzQvNC40YLQsDoiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0sIFtuXSwgW2VdLCBbdl0gYW5kIFthXQogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgotIzogYnVpbHRpbi9hbS5jOjE3NzQKKyM6IGJ1aWx0aW4vYW0uYzoxNzUwCiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAi0J/RgNC40LzQtdC90LjRgtGMPyBbeV0gLSDQtNCwL1tuXSAtINC90LXRgi9bZV0gLSDRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjC9bdl0gLSDQv9GA0L7RgdC80L7RgtGA0LXRgtGMINC/0LDRgtGHL1thXSAtINC/0YDQuNC80LXQvdC40YLRjCDQstGB0ZE6ICIKIAotIzogYnVpbHRpbi9hbS5jOjE4MjQKKyM6IGJ1aWx0aW4vYW0uYzoxODAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAi0JjQvdC00LXQutGBINC90LUg0L/Rg9GB0YLQvtC5OiDQvdC10LvRjNC30Y8g0L/RgNC40LzQtdC90Y/RgtGMINC/0LDRgtGH0LggKNCyINC40L3QtNC10LrRgdC1OiAlcykiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCisjOiBidWlsdGluL2FtLmM6MTg0MCBidWlsdGluL2FtLmM6MTkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJS4qcyIKIG1zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdC40LU6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODc3CisjOiBidWlsdGluL2FtLmM6MTg1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAi0J3QtdGCINC40LfQvNC10L3QtdC90LjQuSDigJQg0J/QsNGC0Ycg0YPQttC1INC/0YDQuNC80LXQvdC10L0uIgogCi0jOiBidWlsdGluL2FtLmM6MTg4NQorIzogYnVpbHRpbi9hbS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgItCe0YjQuNCx0LrQsCDQv9GA0LjQvNC10L3QtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0L3QsCAlcyAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTg5MQorIzogYnVpbHRpbi9hbS5jOjE4NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvcHkgb2YgdGhlIHBhdGNoIHRoYXQgZmFpbGVkIGlzIGZvdW5kIGluOiAlcyIKIG1zZ3N0ciAi0JrQvtC/0LjRjiDQuNC30LzQtdC90LXQvdC40LksINC60L7RgtC+0YDRi9C1INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC40LzQtdC90LjRgtGMLCDQstGLINC80L7QttC10YLQtSDQvdCw0LnRgtC4INCyOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE5MzYKKyM6IGJ1aWx0aW4vYW0uYzoxOTE1CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgogImFscmVhZHkgaW50cm9kdWNlZCB0aGUgc2FtZSBjaGFuZ2VzOyB5b3UgbWlnaHQgd2FudCB0byBza2lwIHRoaXMgcGF0Y2guIgogbXNnc3RyICLQndC10YIg0LjQt9C80LXQvdC10L3QuNC5IOKAlCDQstC+0LfQvNC+0LbQvdC+LCDQstGLINC30LDQsdGL0LvQuCDQstGL0LfQstCw0YLRjCDCq2dpdCBhZGTCuz9cbtCV0YHQu9C4INC90LjRh9C10LPQviDQvdC1INC+0YHRgtCw0LvQvtGB0Ywg0LTQu9GPINC40L3QtNC10LrRgdCw0YbQuNC4LCDRgtC+LCDRgdC60L7RgNC10LUg0LLRgdC10LPQviwg0YfRgtC+LdGC0L4g0LTRgNGD0LPQvtC1INGD0LbQtSDRgdC00LXQu9Cw0LvQviDRgtC1INC20LUg0LjQt9C80LXQvdC10L3QuNGPOyDQstC+0LfQvNC+0LbQvdC+LCDQstCw0Lwg0YHQu9C10LTRg9C10YIg0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0Y3RgtC+0YIg0L/QsNGC0YcuIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MjIKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKLSJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKLW1zZ3N0ciAi0KMg0LLQsNGBINCy0YHQtSDQtdGJ0LUg0LjQvNC10Y7RgtGB0Y8g0L3QtSDRgdC70LjRgtGL0LUg0L/Rg9GC0Lgg0LIg0LjQvdC00LXQutGB0LUuXG7QktC+0LfQvNC+0LbQvdC+LCDQstGLINC30LDQsdGL0LvQuCDQstGL0LfQstCw0YLRjCDCq2dpdCBhZGTCuz8iCisiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyBzdWNoLlxuIgorIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCittc2dzdHIgItCjINCy0LDRgSDQtdGB0YLRjCDQvdC1INGB0LvQuNGC0YvQtSDQv9GD0YLQuCDQsiDQuNC90LTQtdC60YHQtS5cbtCS0Ysg0LTQvtC70LbQvdGLINCy0YvQv9C+0LvQvdC40YLRjCDCq2dpdCBhZGTCuyDQtNC70Y8g0LrQsNC20LTQvtCz0L4g0YTQsNC50LvQsCDRgSDRgNCw0LfRgNC10YjQtdC90L3Ri9C80Lgg0LrQvtC90YTQu9C40LrRgtCw0LzQuCwg0YfRgtC+0LHRiyDQv9C+0LzQtdGC0LjRgtGMINC40YUg0YLQsNC60L7QstGL0LzQuC5cbtCS0Ysg0LzQvtC20LXRgtC1INC30LDQv9GD0YHRgtC40YLRjCDCq2dpdCBybcK7INGBINC40LzQtdC90LXQvCDRhNCw0LnQu9CwLCDRh9GC0L7QsdGLINC/0L7QvNC10YLQuNGC0Ywg0LXQs9C+INC60LDQuiDCq9GD0LTQsNC70LXQvdC+INC40LzQuMK7LiIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAotIzogYnVpbHRpbi9yZXNldC5jOjMxNgorIzogYnVpbHRpbi9hbS5jOjIwMzEgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9hbS5jOjIwNDcgYnVpbHRpbi9yZXNldC5jOjMyMworIzogYnVpbHRpbi9yZXNldC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7LiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMDMKKyM6IGJ1aWx0aW4vYW0uYzoyMDgzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YfQuNGB0YLQuNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2FtLmM6MjEzNworIzogYnVpbHRpbi9hbS5jOjIxMTcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKIG1zZ3N0ciAi0J/QvtGF0L7QttC1LCDRh9GC0L4g0LLRiyDQv9C10YDQtdC80LXRgdGC0LjQu9C4IEhFQUQg0YEg0LzQvtC80LXQvdGC0LAg0L/QvtGB0LvQtdC00L3QtdC5INC+0YjQuNCx0LrQuCDQstGL0L/QvtC70L3QtdC90LjRjyDCq2FtwrsuXG7Qn9C10YDQtdC80L7RgtC60LAg0L3QsCBPUklHX0hFQUQg0L3QtSDQstGL0L/QvtC70L3Rj9C10YLRgdGPIgogCi0jOiBidWlsdGluL2FtLmM6MjIwMAorIzogYnVpbHRpbi9hbS5jOjIxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8gLS1wYXRjaC1mb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFs80L7Qv9GG0LjQuD5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KeKApl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM0CisjOiBidWlsdGluL2FtLmM6MjIxNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzzQvtC/0YbQuNC4Pl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMjIwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgItC30LDQv9GD0YHRgtC40YLRjCDQsiDQuNC90YLQtdGA0LDQutGC0LjQstC90L7QvCDRgNC10LbQuNC80LUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQyCisjOiBidWlsdGluL2FtLmM6MjIyMgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICLQuNGB0YLQvtGA0LjRh9C10YHQutCw0Y8g0L7Qv9GG0LjRjyDigJQg0L3QuNGH0LXQs9C+INC90LUg0LTQtdC70LDQtdGCIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NAorIzogYnVpbHRpbi9hbS5jOjIyMjQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC+0YLQutCw0YLQuNGC0YzRgdGPINC6INGC0YDQtdGF0YXQvtC00L7QstC+0LzRgyDRgdC70LjRj9C90LjRjiwg0LXRgdC70Lgg0L3Rg9C20L3QviIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcyCisjOiBidWlsdGluL2FtLmM6MjIyNSBidWlsdGluL2luaXQtZGIuYzo0ODQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NworIzogYnVpbHRpbi9yZXBhY2suYzoxODAKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAi0YLQuNGF0LjQuSDRgNC10LbQuNC8IgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyMjcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINGB0YLRgNC+0LrRgyBTaWduZWQtb2ZmLWJ5INC6INGB0L7QvtCx0YnQtdC90LjRjiDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgItC/0LXRgNC10LrQvtC00LjRgNC+0LLQsNGC0Ywg0LIgdXRmOCAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MgorIzogYnVpbHRpbi9hbS5jOjIyMzIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINGE0LvQsNCzIC1rINCyIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQKKyM6IGJ1aWx0aW4vYW0uYzoyMjM0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0YLRjCDRhNC70LDQsyAtYiDQsiBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU2CisjOiBidWlsdGluL2FtLmM6MjIzNgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgItC/0LXRgNC10LTQsNGC0Ywg0YTQu9Cw0LMgLW0g0LIgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI1OAorIzogYnVpbHRpbi9hbS5jOjIyMzgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINGE0LvQsNCzIC0ta2VlcC1jciDQsiBnaXQtbWFpbHNwbGl0INC00LvRjyDRhNC+0YDQvNCw0YLQsCBtYm94IgogCi0jOiBidWlsdGluL2FtLmM6MjI2MQorIzogYnVpbHRpbi9hbS5jOjIyNDEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAi0L3QtSDQv9C10YDQtdC00LDQstCw0YLRjCAtLWtlZXAtY3Ig0YTQu9Cw0LMg0LIgZ2l0LW1haWxzcGxpdCDQstC90LUg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCIGFtLmtlZXBjciIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjQKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICLQvtCx0YDQtdC30LDRgtGMINCy0YHQtSDQtNC+INGB0YLRgNC+0LrQuCDQvtCx0YDQtdC30LrQuCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjYgYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUKLSM6IGJ1aWx0aW4vYW0uYzoyMjc4IGJ1aWx0aW4vYW0uYzoyMjgxIGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3Ci0jOiBidWlsdGluL2FtLmM6MjI5MworIzogYnVpbHRpbi9hbS5jOjIyNDYgYnVpbHRpbi9hbS5jOjIyNDkgYnVpbHRpbi9hbS5jOjIyNTIgYnVpbHRpbi9hbS5jOjIyNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjU4IGJ1aWx0aW4vYW0uYzoyMjYxIGJ1aWx0aW4vYW0uYzoyMjY0IGJ1aWx0aW4vYW0uYzoyMjY3CisjOiBidWlsdGluL2FtLmM6MjI3MwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgItC/0LXRgNC10LTQsNGC0Ywg0LXQs9C+INCyIGdpdC1hcHBseSIKIAotIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQotIzogYnVpbHRpbi9ncmVwLmM6NzA3IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM1Ci0jOiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZXBhY2suYzoxODEgYnVpbHRpbi9yZXBhY2suYzoxODUKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQgYnVpbHRpbi9zaG93LXJlZi5jOjE3NSBidWlsdGluL3RhZy5jOjM0MAotIzogcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjQgYnVpbHRpbi9tZXJnZS5jOjIwMiBidWlsdGluL3B1bGwuYzoxNDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NyBidWlsdGluL3JlcGFjay5jOjE4OSBidWlsdGluL3JlcGFjay5jOjE5MworIzogYnVpbHRpbi9yZXBhY2suYzoxOTUgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMSBidWlsdGluL3Nob3ctcmVmLmM6MTY5CisjOiBidWlsdGluL3RhZy5jOjM5OSBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCi0jOiBidWlsdGluL2FtLmM6MjI4OSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAotIzogYnVpbHRpbi90YWcuYzozNzIKKyM6IGJ1aWx0aW4vYW0uYzoyMjY5IGJ1aWx0aW4vYnJhbmNoLmM6NTk2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0NCBidWlsdGluL3RhZy5jOjQzNCBidWlsdGluL3ZlcmlmeS10YWcuYzozOQogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCIgogCi0jOiBidWlsdGluL2FtLmM6MjI5MAorIzogYnVpbHRpbi9hbS5jOjIyNzAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgItGE0L7RgNC80LDRgiwg0LIg0LrQvtGC0L7RgNC+0Lwg0L3QsNGF0L7QtNGP0YLRgdGPINC/0LDRgtGH0LgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk2CisjOiBidWlsdGluL2FtLmM6MjI3NgogbXNnaWQgIm92ZXJyaWRlIGVycm9yIG1lc3NhZ2Ugd2hlbiBwYXRjaCBmYWlsdXJlIG9jY3VycyIKIG1zZ3N0ciAi0L/QtdGA0LXQvtC/0YDQtdC00LXQu9C40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0L7QsSDQvtGI0LjQsdC60LUsINC10YHQu9C4INC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC70L7QttC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk4CisjOiBidWlsdGluL2FtLmM6MjI3OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgItC/0YDQvtC00L7Qu9C20LjRgtGMINC/0YDQuNC80LXQvdC10L3QuNC1INC40LfQvNC10L3QtdC90LjQuSDQv9C+0YHQu9C1INGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LjQu9C40LrRgtCwIgogCi0jOiBidWlsdGluL2FtLmM6MjMwMQorIzogYnVpbHRpbi9hbS5jOjIyODEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAi0YHQuNC90L7QvdC40Lwg0LTQu9GPIC0tY29udGludWUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA0CisjOiBidWlsdGluL2FtLmM6MjI4NAogbXNnaWQgInNraXAgdGhlIGN1cnJlbnQgcGF0Y2giCiBtc2dzdHIgItC/0YDQvtC/0YPRgdGC0LjRgtGMINGC0LXQutGD0YnQuNC5INC/0LDRgtGHIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNworIzogYnVpbHRpbi9hbS5jOjIyODcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICLQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0L7RgNC40LPQuNC90LDQu9GM0L3Rg9GOINCy0LXRgtC60YMg0Lgg0L7RgtC80LXQvdC40YLRjCDQvtC/0LXRgNCw0YbQuNGOINC/0YDQuNC80LXQvdC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzExCisjOiBidWlsdGluL2FtLmM6MjI5MQogbXNnaWQgImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIKIG1zZ3N0ciAi0YHQvtCy0YDQsNGC0Ywg0L4g0LTQsNGC0LUg0LrQvtC80LzQuNGC0LXRgNCwIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMworIzogYnVpbHRpbi9hbS5jOjIyOTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQtdC60YPRidC10LUg0LLRgNC10LzRjyDQutCw0Log0LLRgNC10LzRjyDQsNCy0YLQvtGA0YHRgtCy0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjI5Ci0jOiBidWlsdGluL3B1bGwuYzoxNjUgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQorIzogYnVpbHRpbi9hbS5jOjIyOTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3MiBidWlsdGluL3JldmVydC5jOjExMiBidWlsdGluL3RhZy5jOjQxNAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAia2V5LWlkIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNgorIzogYnVpbHRpbi9hbS5jOjIyOTYKIG1zZ2lkICJHUEctc2lnbiBjb21taXRzIgogbXNnc3RyICLQv9C+0LTQv9C40YHQsNGC0Ywg0LrQvtC80LzQuNGC0Ysg0YEg0L/QvtC80L7RidGM0Y4gR1BHIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOQorIzogYnVpbHRpbi9hbS5jOjIyOTkKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiKNCy0L3Rg9GC0YDQtdC90L3QtdC1INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC00LvRjyBnaXQtcmViYXNlKSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMzQKKyM6IGJ1aWx0aW4vYW0uYzoyMzE3CiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgogbXNnc3RyICLQntC/0YbQuNGPIC1iLy0tYmluYXJ5INGD0LbQtSDQtNC+0LvQs9C+0LUg0LLRgNC10LzRjyDQvdC40YfQtdCz0L4g0L3QtSDQtNC10LvQsNC10YIg0Lgg0LHRg9C00LXRgiDRg9C00LDQu9C10L3QsCDRgSDRgdC70LXQtNGD0Y7RidC40YUg0LLQtdGA0YHQuNGP0YUgR2l0LiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0L3QtSDQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC10LUuIgogCi0jOiBidWlsdGluL2FtLmM6MjM0MQorIzogYnVpbHRpbi9hbS5jOjIzMjQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgItGB0LHQvtC5INGH0YLQtdC90LjRjyDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9hbS5jOjIzNTYKKyM6IGJ1aWx0aW4vYW0uYzoyMzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJXMgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKIG1zZ3N0ciAi0L/RgNC10LTRi9C00YPRidC40Lkg0LrQsNGC0LDQu9C+0LMg0L/QtdGA0LXQvNC10YnQtdC90LjRjyAlcyDQtdGJ0LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIsINC90L4g0L/QtdGA0LXQtNCw0L0gbWJveC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzgwCisjOiBidWlsdGluL2FtLmM6MjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgogIlVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVtb3ZlIGl0LiIKIG1zZ3N0ciAi0J3QsNC50LTQtdC9INC30LDQsdGL0YLRi9C5INC60LDRgtCw0LvQvtCzICVzLlxu0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBhbSAtLWFib3J0wrssINGH0YLQvtCx0Ysg0YPQtNCw0LvQuNGC0Ywg0LXQs9C+LiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODYKKyM6IGJ1aWx0aW4vYW0uYzoyMzY5CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAi0J7Qv9C10YDQsNGG0LjRjyDRgNCw0LfRgNC10YjQtdC90LjRjyDQutC+0L3RhNC70LjQutGC0L7QsiDQvdC1INCyINC/0YDQvtGG0LXRgdGB0LUg0LLRi9C/0L7Qu9C90LXQvdC40Y8sINC90LUg0L/RgNC+0LTQvtC70LbQsNC10LwuIgogCkBAIC00MjY5LDExICs0OTA1LDYgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCi1tc2dzdHIgItC+0YjQuNCx0LrQsCDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y86ICVzIgotCiAjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6INC+0YjQuNCx0LrQsCDQv9GA0L7RgtC+0LrQvtC70LAiCkBAIC00Mjk0LDE2NCArNDkyNSwxMzAgQEAKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMIEJJU0VDVF9IRUFEINCy0LzQtdGB0YLQviDQv9C10YDQtdGF0L7QtNCwINC90LAg0YLQtdC60YPRidC40Lkg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNwogbXNnaWQgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPHJldi1vcHRzPl0gWzxyZXY+XSBbLS1dIDxmaWxlPiIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFs80L7Qv9GG0LjQuD5dIFs80L7Qv9GG0LjQuC3RgNC10LTQsNC60YbQuNC4Pl0gWzzRgNC10LTQsNC60YbQuNGPPl0gWy0tXSA80YTQsNC50Ls+IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzgKKyM6IGJ1aWx0aW4vYmxhbWUuYzozMgogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI80L7Qv9GG0LjQuC1yZXYtbGlzdD4g0LTQvtC60YPQvNC10L3RgtC40YDQvtCy0LDQvdGLINCyIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjE3ODEKLW1zZ2lkICJCbGFtaW5nIGxpbmVzIgotbXNnc3RyICLQn9GA0L7RgdC80L7RgtGAINCw0LLRgtC+0YDQvtCyINGB0YLRgNC+0LoiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc3CisjOiBidWlsdGluL2JsYW1lLmM6NjY4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQt9Cw0L/QuNGB0Lgg0LDQstGC0L7RgNGB0YLQstCwINC/0L7RgdGC0LXQv9C10L3QvdC+LCDQsiDQv9GA0L7RhtC10YHRgdC1INC90LDRhdC+0LbQtNC10L3QuNGPIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU3OAorIzogYnVpbHRpbi9ibGFtZS5jOjY2OQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCd0LUg0L/QvtC60LDQt9GL0LLQsNGC0YwgU0hBLTEg0LTQu9GPINC60L7QvNC80LjRgtC+0LIsINC90LUg0LLRhdC+0LTRj9GJ0LjRhSDQsiDQs9GA0LDQvdC40YbRiyDQt9Cw0L/RgNC+0YHQsCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INC+0YLQutC70Y7Rh9C10L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc5CisjOiBidWlsdGluL2JsYW1lLmM6NjcwCiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQndC1INCy0L7RgdC/0YDQuNC90LjQvNCw0YLRjCDQutC+0YDQvdC10LLRi9C1INC60L7QvNC80LjRgtGLINC60LDQuiDQs9GA0LDQvdC40YfQvdGL0LUgKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDQvtGC0LrQu9GO0YfQtdC90L4pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MAorIzogYnVpbHRpbi9ibGFtZS5jOjY3MQogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg0YDQsNGB0YXQvtC00L7QsiDQvdCwINCy0YvQv9C+0LvQvdC10L3QuNC1INC30LDQv9GA0L7RgdCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MQorIzogYnVpbHRpbi9ibGFtZS5jOjY3MgogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi0J/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0LLRi9Cy0L7QtNC40YLRjCDQv9GA0L7Qs9GA0LXRgdGBINCy0YvQv9C+0LvQvdC10L3QuNGPIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MgorIzogYnVpbHRpbi9ibGFtZS5jOjY3MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC+0YbQtdC90LrRgyDQtNC70Y8g0LfQsNC/0LjRgdC10Lkg0LDQstGC0L7RgNGB0YLQstCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MworIzogYnVpbHRpbi9ibGFtZS5jOjY3NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC+0YDQuNCz0LjQvdCw0LvRjNC90L7QtSDQuNC80Y8g0YTQsNC50LvQsCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzUKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0L7RgNC40LPQuNC90LDQu9GM0L3Ri9C1INC90L7QvNC10YDQsCDRgdGC0YDQvtC6ICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINCyINGE0L7RgNC80LDRgtC1INC00LvRjyDQv9GA0L7Qs9GA0LDQvNC80L3QvtCz0L4g0YDQsNC30LHQvtGA0LAiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg2CisjOiBidWlsdGluL2JsYW1lLmM6Njc3CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINCyINC80LDRiNC40L3QvtGH0LjRgtCw0LXQvNC+0Lwg0YTQvtGA0LzQsNGC0LUsINGBINC/0L7RgdGC0YDQvtGH0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC10Lkg0L4g0LrQvtC80LzQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CisjOiBidWlsdGluL2JsYW1lLmM6Njc4CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0LDQutC+0Lkg0LbQtSDRhNC+0YDQvNCw0YIg0LLRi9Cy0L7QtNCwLCDQutCw0Log0LggZ2l0LWFubm90YXRlICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzkKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0L3QtdC+0LHRgNCw0LHQvtGC0LDQvdC90YvQtSDQstGA0LXQvNC10L3QvdGL0LUg0LzQtdGC0LrQuCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INC+0YLQutC70Y7Rh9C10L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg5CisjOiBidWlsdGluL2JsYW1lLmM6NjgwCiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC00LvQuNC90L3Ri9C5IFNIQTEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC80LzQuNGC0LAgKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDQvtGC0LrQu9GO0YfQtdC90L4pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MAorIzogYnVpbHRpbi9ibGFtZS5jOjY4MQogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCd0LUg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LjQvNGPINCw0LLRgtC+0YDQsCDQuCDQstGA0LXQvNC10L3QvdGL0LUg0LzQtdGC0LrQuCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INC+0YLQutC70Y7Rh9C10L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkxCisjOiBidWlsdGluL2JsYW1lLmM6NjgyCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC/0L7Rh9GC0YMg0LDQstGC0L7RgNCwINCy0LzQtdGB0YLQviDQuNC80LXQvdC4ICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODMKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAi0JjQs9C90L7RgNC40YDQvtCy0LDRgtGMINGA0LDQt9C70LjRh9C40Y8g0LIg0L/RgNC+0LHQtdC70LDRhSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTkKLW1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGluZGVudC1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGN0LrRgdC/0LXRgNC10LzQtdC90YLQsNC70YzQvdGD0Y4g0Y3QstGA0LjRgdGC0LjQutGDLCDQvtGB0L3QvtCy0LDQvdC90YPRjiDQvdCwINC+0YLRgdGC0YPQv9Cw0YUsINGH0YLQvtCx0Ysg0YPQu9GD0YfRiNC40YLRjCDRhNCw0LnQu9GLINGA0LDQt9C70LjRh9C40LkiCisjOiBidWlsdGluL2JsYW1lLmM6NjkwCittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGN0LrRgdC/0LXRgNC10LzQtdC90YLQsNC70YzQvdGD0Y4g0Y3QstGA0LjRgdGC0LjQutGDLCDRh9GC0L7QsdGLINGD0LvRg9GH0YjQuNGC0Ywg0YTQsNC50LvRiyDRgNCw0LfQu9C40YfQuNC5IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwMAotbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGN0LrRgdC/0LXRgNC10LzQtdC90YLQsNC70YzQvdGD0Y4g0Y3QstGA0LjRgdGC0LjQutGDLCDQvtGB0L3QvtCy0LDQvdC90YPRjiDQvdCwINC/0YPRgdGC0YvRhSDRgdGC0YDQvtC60LDRhSwg0YfRgtC+0LHRiyDRg9C70YPRh9GI0LjRgtGMINGE0LDQudC70Ysg0YDQsNC30LvQuNGH0LjQuSIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgItCf0L7RgtGA0LDRgtC40YLRjCDQsdC+0LvRjNGI0LUg0LLRgNC10LzQtdC90LgsINC00LvRjyDQvdCw0YXQvtC20LTQtdC90LjRjyDQu9GD0YfRiNC40YUg0YHQvtCy0L/QsNC00LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAzCisjOiBidWlsdGluL2JsYW1lLmM6NjkzCiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YDQtdC00LDQutGG0LjQuCDQuNC3IDzRhNCw0LnQu9CwPiDQstC80LXRgdGC0L4g0LLRi9C30L7QstCwIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQvtC00LXRgNC20LjQvNC+0LUgPNGE0LDQudC70LA+INC60LDQuiDRhNC40L3QsNC70YzQvdGL0Lkg0YHQvdC40LzQvtC6IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNSBidWlsdGluL2JsYW1lLmM6MjYwNgorIzogYnVpbHRpbi9ibGFtZS5jOjY5NSBidWlsdGluL2JsYW1lLmM6Njk2CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgItC80LjQvS3QtNC70LjQvdCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNQorIzogYnVpbHRpbi9ibGFtZS5jOjY5NQogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgItCd0LDQudGC0Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjQtSDRgdGC0YDQvtC6INCyINC/0YDQtdC00LXQu9Cw0YUg0Lgg0LzQtdC20LTRgyDRhNCw0LnQu9Cw0LzQuCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTYKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLQndCw0LnRgtC4INC/0LXRgNC10LzQtdGJ0LXQvdC40Y8g0YHRgtGA0L7QuiDQsiDQv9GA0LXQtNC10LvQsNGFINC4INC80LXQttC00YMg0YTQsNC50LvQsNC80LgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CisjOiBidWlsdGluL2JsYW1lLmM6Njk3CiBtc2dpZCAibixtIgogbXNnc3RyICLQvdCw0YfQsNC70L4s0LrQvtC90LXRhiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAi0J7QsdGA0LDQsdC+0YLQsNGC0Ywg0YLQvtC70YzQutC+INGB0YLRgNC+0LrQuCDQsiDQtNC40LDQv9Cw0LfQvtC90LUg0L3QsNGH0LDQu9C+LNC60L7QvdC10YYsINC90LDRh9C40L3QsNGPINGBIDEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjU0CisjOiBidWlsdGluL2JsYW1lLmM6NzQ0CiBtc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKIG1zZ3N0ciAiLS1wcm9ncmVzcyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAtLWluY3JlbWVudGFsINC40LvQuCDQvNCw0YjQuNC90L7Rh9C40YLQsNC10LzRi9C8IChwb3JjZWxhaW4pINGE0L7RgNC80LDRgtC+0LwiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KLSMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCi0jLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKLSMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgotIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgotIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI3MDAKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlCisjLiBtYXhpbXVtIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluCisjLiAiZ2l0IGJsYW1lIiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMQorIy4gbW9udGhzIGFnbyIsIHdoaWNoIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QKKyMuIGFtb25nIHZhcmlvdXMgZm9ybXMgb2YgcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0CisjLiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQorIy4gY29sdW1ucy4KKyM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICI0INCz0L7QtNCwINC4IDExINC80LXRgdGP0YbQtdCyINC90LDQt9Cw0LQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzgwCi1tc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKLW1zZ3N0ciAiLS1jb250ZW50cyDQuCAtLXJldmVyc2Ug0L3QtSDQvtGH0LXQvdGMINGB0L7Rh9C10YLQsNGO0YLRgdGPLiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MDAKLW1zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCi1tc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgLS1jb250ZW50cyDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0YTQuNC90LDQu9GM0L3QvtCz0L4g0LjQvNC10L3QuCDQvtCx0YrQtdC60YLQsCIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MDUKLW1zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCi1tc2dzdHIgItC/0YDQuCAtLXJldmVyc2Ug0LggLS1maXJzdC1wYXJlbnQg0LLQvNC10YHRgtC1INC90YPQttC90L4g0YPQutCw0LfRi9Cy0LDRgtGMINC60L7QvdC60YDQtdGC0L3Ri9C5INC/0L7RgdC70LXQtNC90LjQuSDQutC+0LzQvNC40YIiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODMyCi1tc2dpZCAiIgotIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKLW1zZ3N0ciAi0L/RgNC4INGD0LrQsNC30LDQvdC40LggLS1yZXZlcnNlINC4IC0tZmlyc3QtcGFyZW50INCy0LzQtdGB0YLQtSwg0YLRgNC10LHRg9C10YLRgdGPINGC0LDQutC20LUg0YPQutCw0LfQsNGC0Ywg0LTQuNCw0L/QsNC30L7QvSDQv9C+INGG0LXQv9C+0YfQutC1INC/0LXRgNCy0L7Qs9C+INGA0L7QtNC40YLQtdC70Y8iCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODQzCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKLW1zZ3N0ciAi0L3QtdGCINGC0LDQutC+0LPQviDQv9GD0YLQuCAlcyDQsiAlcyIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4NTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIKLW1zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0YfQuNGC0LDRgtGMINC+0LHRitC10LrRgiAlcyDQtNC70Y8g0L/Rg9GC0LggJXMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODczCisjOiBidWlsdGluL2JsYW1lLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCiBtc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgpAQCAtNDQ2MCwyMDkgKzUwNTcsMTQ1IEBACiBtc2dzdHJbMl0gItGE0LDQudC7ICVzINGB0L7QtNC10YDQttC40YIg0YLQvtC70YzQutC+ICVsdSDRgdGC0YDQvtC6IgogbXNnc3RyWzNdICLRhNCw0LnQuyAlcyDRgdC+0LTQtdGA0LbQuNGCINGC0L7Qu9GM0LrQviAlbHUg0YHRgtGA0L7QutC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2CisjOiBidWlsdGluL2JsYW1lLmM6OTI4Cittc2dpZCAiQmxhbWluZyBsaW5lcyIKK21zZ3N0ciAi0J/RgNC+0YHQvNC+0YLRgCDQsNCy0YLQvtGA0L7QsiDRgdGC0YDQvtC6IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI3CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs80L7Qv9GG0LjQuD5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstbF0gWy1mXSA8YnJhbmNoLW5hbWU+IFs8c3RhcnQtcG9pbnQ+XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPNC+0L/RhtC40Lg+XSBbLWxdIFstZl0gPNC40LzRjy3QstC10YLQutC4PiBbPNGC0L7Rh9C60LAt0L3QsNGH0LDQu9CwPl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjkKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstcl0gKC1kIHwgLUQpIDxicmFuY2gtbmFtZT4uLi4iCiBtc2dzdHIgImdpdCBicmFuY2ggWzzQvtC/0YbQuNC4Pl0gWy1yXSAoLWQgfCAtRCkgPNC40LzRjy3QstC10YLQutC4PuKApiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyOQorIzogYnVpbHRpbi9icmFuY2guYzozMAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPNC+0L/RhtC40Lg+XSAoLW0gfCAtTSkgWzzRgdGC0LDRgNCw0Y8t0LLQtdGC0LrQsD5dIDzQvdC+0LLQsNGPLdCy0LXRgtC60LA+IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMxCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPNC+0L/RhtC40Lg+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs80L7Qv9GG0LjQuD5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBoYXMgYmVlbiBtZXJnZWQgdG9cbiIKICIgICAgICAgICAnJXMnLCBidXQgbm90IHlldCBtZXJnZWQgdG8gSEVBRC4iCiBtc2dzdHIgItGD0LTQsNC70LXQvdC40LUg0LLQtdGC0LrQuCDCqyVzwrssINC60L7RgtC+0YDQsNGPINCx0YvQu9CwINGB0LvQuNGC0LAg0YFcbiAgICAgICAgIMKrJXPCuywg0L3QviDQvdC1INGB0LvQuNGC0LAg0YEgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ3CisjOiBidWlsdGluL2JyYW5jaC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKICIgICAgICAgICAnJXMnLCBldmVuIHRob3VnaCBpdCBpcyBtZXJnZWQgdG8gSEVBRC4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQtdC90LjQtSDQstC10YLQutC4IMKrJXPCuywg0LrQvtGC0L7RgNCw0Y8g0LXRidC1INC90LUg0YHQu9C40YLQsCDRgVxuICAgICAgICAgwqslc8K7LCDRhdC+0YLRjyDRg9C20LUg0YHQu9C40YLQsCDRgSBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INC+0LHRitC10LrRgiDQutC+0LzQvNC40YLQsCDQtNC70Y8gwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2NQorIzogYnVpbHRpbi9icmFuY2guYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBicmFuY2ggJyVzJyBpcyBub3QgZnVsbHkgbWVyZ2VkLlxuIgogIklmIHlvdSBhcmUgc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgaXQsIHJ1biAnZ2l0IGJyYW5jaCAtRCAlcycuIgogbXNnc3RyICLQktC10YLQutCwIMKrJXPCuyDQvdC1INGB0LvQuNGC0LAg0L/QvtC70L3QvtGB0YLRjNGOLlxu0JXRgdC70Lgg0LLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDQtdC1INGD0LTQsNC70LjRgtGMLCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgYnJhbmNoIC1EICVzwrsuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE3OAorIzogYnVpbHRpbi9icmFuY2guYzoxODAKIG1zZ2lkICJVcGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0YTQsNC50Lsg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwNgorIzogYnVpbHRpbi9icmFuY2guYzoyMTEKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC60LvRjtGH0LggLWEg0LggLWQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjEyCisjOiBidWlsdGluL2JyYW5jaC5jOjIxNwogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INC+0LHRitC10LrRgiDQutC+0LzQvNC40YLQsCDQtNC70Y8gSEVBRCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINGD0LTQsNC70LjRgtGMINCy0LXRgtC60YMgwqslc8K7INGCLtC6LiDQvtC90LAg0LDQutGC0LjQstC90LAg0L3QsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQxCisjOiBidWlsdGluL2JyYW5jaC5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAi0LLQvdC10YjQvdGP0Y8g0L7RgtGB0LvQtdC20LjQstCw0LXQvNCw0Y8g0LLQtdGC0LrQsCDCqyVzwrsg0L3QtSDQvdCw0LnQtNC10L3QsC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQyCisjOiBidWlsdGluL2JyYW5jaC5jOjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICLQstC10YLQutCwIMKrJXPCuyDQvdC1INC90LDQudC00LXQvdCwLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAi0J7RiNC40LHQutCwINGD0LTQsNC70LXQvdC40Y8g0LLQvdC10YjQvdC10Lkg0L7RgtGB0LvQtdC20LjQstCw0LXQvNC+0Lkg0LLQtdGC0LrQuCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU4CisjOiBidWlsdGluL2JyYW5jaC5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAi0J7RiNC40LHQutCwINGD0LTQsNC70LXQvdC40Y8g0LLQtdGC0LrQuCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgItCS0L3QtdGI0L3Rj9GPINC+0YLRgdC70LXQttC40LLQsNC10LzQsNGPINCy0LXRgtC60LAgJXMg0YPQtNCw0LvQtdC90LAgKNCx0YvQu9CwICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICLQktC10YLQutCwICVzINGD0LTQsNC70LXQvdCwICjQsdGL0LvQsCAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogZ29uZV0iCi1tc2dzdHIgIlslczog0L/RgNC+0L/QsNC7XSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzXSIKLW1zZ3N0ciAiWyVzXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgotbXNnc3RyICJbJXM6INC/0L7Qt9Cw0LTQuCAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIltiZWhpbmQgJWRdIgotbXNnc3RyICJb0L/QvtC30LDQtNC4ICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZF0iCi1tc2dzdHIgIlslczog0LLQv9C10YDQtdC00LggJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgotbXNnc3RyICJb0LLQv9C10YDQtdC00LggJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgotbXNnc3RyICJbJXM6INCy0L/QtdGA0LXQtNC4ICVkLCDQv9C+0LfQsNC00LggJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzNgotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCi1tc2dzdHIgIlvQstC/0LXRgNC10LTQuCAlZCwg0L/QvtC30LDQtNC4ICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNDkKLW1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgotbXNnc3RyICIgKioqKiDQvdC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90LDRjyDRgdGB0YvQu9C60LAgKioqKiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICIo0L3QtdGCINCy0LXRgtC60LgsINC/0LXRgNC10LzQtdGJ0LXQvdC40LUgJXMpIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3OAotIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCi1tc2dzdHIgIijQvdC10YIg0LLQtdGC0LrQuCwg0LTQstC+0LjRh9C90YvQuSDQv9C+0LjRgdC6INC90LDRh9Cw0YIg0L3QsCAlcykiCi0KLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCi0jLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4NAotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCi1tc2dzdHIgIihIRUFEINC+0YLQtNC10LvRkdC9INC90LAgJXMpIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4OQotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKLW1zZ3N0ciAiKEhFQUQg0L7RgtC00LXQu9GR0L0g0L3QsNGH0LjQvdCw0Y8g0YEgJXMpIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM5MwotbXNnaWQgIihubyBicmFuY2gpIgotbXNnc3RyICIo0L3QtdGCINCy0LXRgtC60LgpIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0NAorIzogYnVpbHRpbi9icmFuY2guYzo0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgItCf0YDQvtC40LfQstC+0LTQuNGC0YHRjyDQv9C10YDQtdC80LXRidC10L3QuNC1INCy0LXRgtC60LggJXMg0L3QsCAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAi0J/RgNC+0LjQt9Cy0L7QtNC40YLRgdGPINC00LLQvtC40YfQvdGL0Lkg0L/QvtC40YHQuiDQsiDQstC10YLQutC1ICVzINC90LAgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NAogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC40LzQtdC90L7QstCw0YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDLCDQtdGB0LvQuCDQstGLINC90LUg0L3QsNGF0L7QtNC40YLQtdGB0Ywg0L3QuCDQvdCwINC+0LTQvdC+0Lkg0LjQtyDQvdC40YUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU3MworIzogYnVpbHRpbi9icmFuY2guYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdC+0LUg0LjQvNGPINCy0LXRgtC60Lg6IMKrJXPCuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkxCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgItCh0LHQvtC5INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Y8g0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICLQn9C10YDQtdC40LzQtdC90L7QstCw0L3QsCDQvdC10L/RgNCw0LLQuNC70YzQvdC+INC90LDQt9Cy0LDQvdC90LDRjyDQstC10YLQutCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgItCS0LXRgtC60LAg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LAg0LIgJXMsINC90L4gSEVBRCDQvdC1INC+0LHQvdC+0LLQu9C10L0hIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNAorIzogYnVpbHRpbi9icmFuY2guYzo1MDYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgItCS0LXRgtC60LAg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LAsINC90L4g0L/RgNC+0LjQt9C+0YjQtdC7INGB0LHQvtC5INC+0LHQvdC+0LLQu9C10L3QuNGPINGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMAorIzogYnVpbHRpbi9icmFuY2guYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgpAQCAtNDY3MCwyMDcgKzUyMDMsMjIwIEBACiAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgc3RyaXBwZWQuXG4iCiBtc2dzdHIgItCY0LfQvNC10L3QuNGC0LUg0L7Qv9C40YHQsNC90LjQtSDQtNC70Y8g0LLQtdGC0LrQuDpcbiAgJXNcbtCh0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBIMKrJWPCuyDQsdGD0LTRg9GCINCy0YvRgNC10LfQsNC90YsuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCisjOiBidWlsdGluL2JyYW5jaC5jOjU1NQogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAi0J7QsdGJ0LjQtSDQv9Cw0YDQsNC80LXRgtGA0YsiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjU1NwogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDRhdGN0Ygt0YHRg9C80LzRgyDQuCDRgtC10LzRgywg0YPQutCw0LbQuNGC0LUg0LTQstCw0LbQtNGLINC00LvRjyDQstGL0YjQtdGB0YLQvtGP0YnQtdC5INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQuNC90YTQvtGA0LzQsNGG0LjQvtC90L3Ri9C1INGB0L7QvtCx0YnQtdC90LjRjyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU5CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINGA0LXQttC40Lwg0L7RgtGB0LvQtdC20LjQstCw0L3QuNGPINCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQuCAo0YHQvC4gZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NworIzogYnVpbHRpbi9icmFuY2guYzo1NjEKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAi0LjQt9C80LXQvdC40YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQstGL0YjQtdGB0YLQvtGP0YnQtdC5INCy0LXRgtC60LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICLQstGL0YjQtdGB0YLQvtGP0YnQsNGPIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgItC40LfQvNC10L3QuNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MAorIzogYnVpbHRpbi9icmFuY2guYzo1NjQKIG1zZ2lkICJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAi0KPQsdGA0LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQtSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY1CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YbQstC10YLQvdC+0Lkg0LLRi9Cy0L7QtCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAi0LLRi9C/0L7Qu9C90LjRgtGMINC00LXQudGB0YLQstC40Y8g0L3QsCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDQstC90LXRiNC90LjRhSDQstC10YLQutCw0YUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY0IGJ1aWx0aW4vYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OCBidWlsdGluL2JyYW5jaC5jOjU3MAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INCy0LXRgtC+0LosINC60L7RgtC+0YDRi9C1INGB0L7QtNC10YDQttCw0YIg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2OAorIzogYnVpbHRpbi9icmFuY2guYzo1NjkgYnVpbHRpbi9icmFuY2guYzo1NzEKK21zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQstC10YLQvtC6LCDQutC+0YLQvtGA0YvQtSDQvdC1INGB0L7QtNC10YDQttCw0YIg0LrQvtC80LzQuNGCIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU3NAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgItCh0L/QtdGG0LjRhNC40YfQvdGL0LUg0LTQu9GPIGdpdC1icmFuY2gg0LTQtdC50YHRgtCy0LjRjzoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjU3NQogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQuCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDQuCDQu9C+0LrQsNC70YzQvdGL0YUg0LLQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc3CiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINC/0L7Qu9C90L7RgdGC0YzRjiDRgdC70LjRgtGD0Y4g0LLQtdGC0LrRgyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc4CiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0LLQtdGC0LrRgyAo0LTQsNC20LUg0L3QuNC60YPQtNCwINC90LUg0YHQu9C40YLRg9GOKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc5CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgItC/0LXRgNC10LzQtdGB0YLQuNGC0Ywv0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0LLQtdGC0LrQuCDQuCDQtdC1INC20YPRgNC90LDQuyDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc0CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MAogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgItC/0LXRgNC10LzQtdGB0YLQuNGC0Ywv0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0LLQtdGC0LrRgywg0LTQsNC20LUg0LXRgdC70Lgg0YbQtdC70LXQstC+0LUg0LjQvNGPINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgxCiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INC40LzQtdC9INCy0LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc2CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MgogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQttGD0YDQvdCw0Lsg0YHRgdGL0LvQvtC6INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc4CisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICLQuNC30LzQtdC90LjRgtGMINC+0L/QuNGB0LDQvdC40LUg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7QtSDRgdC+0LfQtNCw0L3QuNC1LCDQv9C10YDQtdC80LXRidC10L3QuNC1INC40LvQuCDRg9C00LDQu9C10L3QuNC1INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgwCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NgogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDRgdC70LjRgtGL0YUg0LLQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQvdC1INGB0LvQuNGC0YvRhSDQstC10YLQvtC6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MgorIzogYnVpbHRpbi9icmFuY2guYzo1ODgKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INCy0LXRgtC+0Log0L/QviDRgdGC0L7Qu9Cx0YbQsNC8IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6MzY2CisjOiBidWlsdGluL2JyYW5jaC5jOjU4OSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDI3CiBtc2dpZCAia2V5IgogbXNnc3RyICLQutC70Y7RhyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODQgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjM2NworIzogYnVpbHRpbi9icmFuY2guYzo1OTAgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MCBidWlsdGluL3RhZy5jOjQyOAogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAi0LjQvNGPINC/0L7Qu9GPLCDQv9C+INC60L7RgtC+0YDQvtC80YMg0LLRi9C/0L7Qu9C90LjRgtGMINGB0L7RgNGC0LjRgNC+0LLQutGDIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCi0jOiBidWlsdGluL3RhZy5jOjM2OQorIzogYnVpbHRpbi9icmFuY2guYzo1OTIgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDA3CisjOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzAgYnVpbHRpbi9ub3Rlcy5jOjU3MworIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgItC+0LHRitC10LrRgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQstC10YLQvtC6LCDQvtC/0YDQtdC00LXQu9C10L3QvdC+0LPQviDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk1IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0MzUKK21zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCittc2dzdHIgItGB0L7RgNGC0LjRgNC+0LLQutCwINC4INGE0LjQu9GM0YLRgNCw0YbQuNGPINC90LUg0LfQsNCy0LjRgdGP0YIg0L7RgiDRgNC10LPQuNGB0YLRgNCwIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM0CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRhNC+0YDQvNCw0YIg0LTQu9GPINCy0YvQstC+0LTQsCIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MTUKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCBIRUFEINC60LDQuiDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Rg9GOINGB0YHRi9C70LrRgy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA5IGJ1aWx0aW4vY2xvbmUuYzo3MDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE5IGJ1aWx0aW4vY2xvbmUuYzo3MjgKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKIG1zZ3N0ciAiSEVBRCDQvdC1INC90LDQudC00LXQvSDQsiByZWZzL2hlYWRzISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQyCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiDQuCAtLXZlcmJvc2Ug0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQwIGJ1aWx0aW4vYnJhbmNoLmM6NzgyCisjOiBidWlsdGluL2JyYW5jaC5jOjY1MyBidWlsdGluL2JyYW5jaC5jOjcwNQogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICLRgtGA0LXQsdGD0LXRgtGB0Y8g0LjQvNGPINCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzU4CisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDQtNCw0YLRjCDQvtC/0LjRgdCw0L3QuNC1INC+0YLQtNC10LvRkdC90L3QvtC80YMgSEVBRCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg2CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNC30LzQtdC90LjRgtGMINC+0L/QuNGB0LDQvdC40LUg0LHQvtC70LXQtSDQvtC00L3QvtC5INCy0LXRgtC60Lgg0LfQsCDRgNCw0LciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzcwCisjOiBidWlsdGluL2JyYW5jaC5jOjY5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAi0JXRidC1INC90LXRgiDQutC+0LzQvNC40YLQsCDQvdCwINCy0LXRgtC60LUgwqslc8K7LiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAi0J3QtdGCINCy0LXRgtC60Lgg0YEg0LjQvNC10L3QtdC8IMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzg4CisjOiBidWlsdGluL2JyYW5jaC5jOjcxMQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgItGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0LLQtdGC0L7QuiDQtNC70Y8g0L7Qv9C10YDQsNGG0LjQuCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNGPIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MworIzogYnVpbHRpbi9icmFuY2guYzo3MTYKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INCy0LXRgtC+0Log0LTQu9GPINGD0LrQsNC30LDQvdC40Y8g0L3QvtCy0YvRhSDQstGL0YjQtdGB0YLQvtGP0YnQuNGFIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NworIzogYnVpbHRpbi9icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDQstGL0YjQtdGB0YLQvtGP0YnQuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LTQu9GPIEhFQUQg0L3QsCAlcywg0YLQsNC6INC60LDQuiDQvtC9INC90LUg0YPQutCw0LfRi9Cy0LDQtdGCINC90Lgg0L3QsCDQvtC00L3RgyDQstC10YLQutGDLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDAgYnVpbHRpbi9icmFuY2guYzo4MjIgYnVpbHRpbi9icmFuY2guYzo4NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzIGJ1aWx0aW4vYnJhbmNoLmM6NzQ1IGJ1aWx0aW4vYnJhbmNoLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgItC90LXRgiDRgtCw0LrQvtC5INCy0LXRgtC60Lggwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNAorIzogYnVpbHRpbi9icmFuY2guYzo3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItCy0LXRgtC60LAgwqslc8K7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE2CisjOiBidWlsdGluL2JyYW5jaC5jOjczOQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INCy0LXRgtC+0Log0LTQu9GPINGD0LHQuNGA0LDQvdC40Y8g0LLRi9GI0LXRgdGC0L7Rj9GJ0LjRhSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQzCiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0YPQsdGA0LDRgtGMINCy0YvRiNC10YHRgtC+0Y/RidC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQtNC70Y8gSEVBRCwg0YLQsNC6INC60LDQuiDQvtC9INC90LUg0YPQutCw0LfRi9Cy0LDQtdGCINC90Lgg0L3QsCDQvtC00L3RgyDQstC10YLQutGDLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0JLQtdGC0LrQsCDCqyVzwrsg0L3QtSDQuNC80LXQtdGCINC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQtSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCiBtc2dpZCAiaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgJ0hFQUQnIG1hbnVhbGx5IgogbXNnc3RyICLQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwINGB0L7Qt9C00LDQstCw0YLRjCDCq0hFQUTCuyDQstGA0YPRh9C90YPRjiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNGLIC1hINC4IC1yINC00LvRjyDCq2dpdCBicmFuY2jCuyDQvdC1INC40LzQtdGO0YIg0YHQvNGL0YHQu9CwINGBINGD0LrQsNC30LDQvdC40LXQvCDQuNC80LXQvdC4INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ5CisjOiBidWlsdGluL2JyYW5jaC5jOjc3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC0tc2V0LXVwc3RyZWFtIGZsYWcgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBDb25zaWRlciB1c2luZyAiCiAiLS10cmFjayBvciAtLXNldC11cHN0cmVhbS10b1xuIgogbXNnc3RyICLQpNC70LDQsyAtLXNldC11cHN0cmVhbSDRg9GB0YLQsNGA0LXQuyDQuCDQsdGD0LTQtdGCINGD0LTQsNC70LXQvSDQsiDQsdGD0LTRg9GJ0LXQvC4g0JLQvNC10YHRgtC+INC90LXQs9C+INC40YHQv9C+0LvRjNC30YPQudGC0LUgLS10cmFjayDQuNC70LggLS1zZXQtdXBzdHJlYW0tdG9cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTQ4NzgsMzI2ICs1NDI0LDMyNiBAQAogIlxuIgogbXNnc3RyICJcbtCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1LCDRh9GC0L7QsdGLIMKrJXPCuyDQvtGC0YHQu9C10LbQuNCy0LDQu9CwIMKrJXPCuywg0YHQtNC10LvQsNC50YLQtSDRgdC70LXQtNGD0Y7RidC10LU6XG5cbiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo1MQorIzogYnVpbHRpbi9idW5kbGUuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBva2F5XG4iCiBtc2dzdHIgIiVzINCyINC/0L7RgNGP0LTQutC1XG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjQKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgogbXNnc3RyICLQotGA0LXQsdGD0LXRgtGB0Y8g0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQtNC70Y8g0YHQvtC30LTQsNC90LjRjyDQv9Cw0LrQtdGC0LAuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjY4CisjOiBidWlsdGluL2J1bmRsZS5jOjYyCiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICLQotGA0LXQsdGD0LXRgtGB0Y8g0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQtNC70Y8g0YDQsNGB0L/QsNC60L7QstC60LguIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTEzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTE5CiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8ICIKICItcCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLXAgfCA80YLQuNC/PiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PNC/0YPRgtGMPl0gPNC+0LHRitC10LrRgj4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MjAKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8ICIKICItLWZpbHRlcnNdIgogbXNnc3RyICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS1maWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NwogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPNGC0LjQvz4g0LzQvtC20LXRgiDQsdGL0YLRjCDQvtC00L3QuNC8INC40Lc6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgtC40L8g0L7QsdGK0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTkKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGA0LDQt9C80LXRgCDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAi0LLRi9C50YLQuCDRgSDQvdGD0LvQtdCy0YvQvCDQutC+0LTQvtC8INCy0L7Qt9Cy0YDQsNGC0LAsINC10YHQu9C4INC90LXRgiDQvtGI0LjQsdC60LgiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi0YHRgtGA0YPQutGC0YPRgNC40YDQvtCy0LDQvdC90YvQuSDQstGL0LLQvtC0INGB0L7QtNC10YDQttC40LzQvtCz0L4g0L7QsdGK0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi0LfQsNC/0YPRgdGC0LjRgtGMIHRleGNvbnYg0L3QsCDRgdC+0LTQtdGA0LbQuNC80L7QvCDQtNCy0L7QuNGH0L3Ri9GFINC+0LHRitC10LrRgtC+0LIgIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY2CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi0LfQsNC/0YPRgdC6INGE0LjQu9GM0YLRgNC+0LIg0L3QsCDRgdC+0LTQtdGA0LbQuNC80L7QvCDQtNCy0L7QuNGH0L3Ri9GFINC+0LHRitC10LrRgtC+0LIgIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTIzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3IGdpdC1zdWJtb2R1bGUuc2g6OTQ0CiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAi0LTQstC+0LjRh9C90YvQuSDQvtCx0YrQtdC60YIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjgKIG1zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0L/RgNC10LTQtdC70LXQvdC90YvQuSDQv9GD0YLRjCDQtNC70Y8gLS10ZXh0Y29udi8tLWZpbHRlcnMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCAtcyDQuCAtdCDRgNCw0LHQvtGC0LDRgtGMINGBINC/0L7QstGA0LXQttC00ZHQvdC90YvQvNC4INC+0LHRitC10LrRgtCw0LzQuCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAi0LHRg9GE0YTQtdGA0LjRgNC+0LLQsNGC0Ywg0LLRi9Cy0L7QtCAtLWJhdGNoIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTY3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTczCiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC4INGB0L7QtNC10YDQttC40LzQvtC1INC+0LHRitC10LrRgtC+0LIsINC/0LXRgNC10LTQsNC90L3Ri9GFINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzYKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQvtCx0YrQtdC60YLQsNGFLCDQv9C10YDQtdC00LDQvdC90YvRhSDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc5CiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICLQv9C10YDQtdGF0L7QtNC40YLRjCDQv9C+INGB0LjQvNCy0L7Qu9GM0L3Ri9C8INGB0YHRi9C70LrQsNC8INCy0L3Rg9GC0YDQuCDQtNC10YDQtdCy0LAgKNC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDRgSDQvtC/0YbQuNGP0LzQuCAtLWJhdGNoINC4IC0tYmF0Y2gtY2hlY2spIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTc1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTgxCiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0L7QsdGK0LXQutGC0Ysg0YEg0L7Qv9GG0LjRj9C80LggLS1iYXRjaCDQuNC70LggLS1iYXRjaC1jaGVjayIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA80LDRgtGA0LjQsdGD0YI+4oCmXSBbLS1dIDzQv9GD0YLRjD7igKYiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDzQsNGC0YDQuNCx0YPRgj7igKZdIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxOQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKIG1zZ2lkICJyZXBvcnQgYWxsIGF0dHJpYnV0ZXMgc2V0IG9uIGZpbGUiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INCy0YHQtSDQsNGC0YDQuNCx0YPRgtGLINGD0YHRgtCw0L3QvtCy0LvQtdC90L3Ri9C1INC00LvRjyDRhNCw0LnQu9CwIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKIG1zZ2lkICJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviAuZ2l0YXR0cmlidXRlcyDQuNC3INC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjIgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNCBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC40LzQtdC90LAg0YTQsNC50LvQvtCyINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI0IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAi0L7QutC+0L3Rh9Cw0L3QuNC1INCy0LLQvtC00LAg0Lgg0LLRi9Cy0L7QtNCwINC30LDQv9C40YHQtdC5INC/0L4g0J3Qo9Cb0JXQktCe0JzQoyDRgdC40LzQstC+0LvRgyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTEzNyBidWlsdGluL2djLmM6MzI1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vZ2MuYzozNTcKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQv9GA0L7Qs9GA0LXRgdGBINCy0YvQv9C+0LvQvdC10L3QuNGPIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L3QtSDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INCy0LLQtdC00LXQvdC90YvQtSDQv9GD0YLQuCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMAogbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0LjQvdC00LXQutGBINC/0YDQuCDQv9GA0L7QstC10YDQutC1IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTgKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0YPQutCw0LfRi9Cy0LDRgtGMINC/0YPRgtC4INCy0LzQtdGB0YLQtSDRgSDQv9Cw0YDQsNC80LXRgtGA0L7QvCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjEKIG1zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiLXog0LjQvNC10LXRgiDRgdC80YvRgdC7INGC0L7Qu9GM0LrQviDQstC80LXRgdGC0LUg0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgItC90LUg0YPQutCw0LfQsNC9INC/0YPRgtGMIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjcKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0L/RgNC4INGD0LrQsNC30LDQvdC40Lgg0L7QtNC90L7Qs9C+INC/0YPRgtC4IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gLS1xdWlldCDQuCAtLXZlcmJvc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MgogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgIi0tbm9uLW1hdGNoaW5nINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQstC80LXRgdGC0LUg0YEgLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo4CisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo5CiBtc2dpZCAiZ2l0IGNoZWNrLW1haWxtYXAgWzxvcHRpb25zPl0gPGNvbnRhY3Q+Li4uIgogbXNnc3RyICJnaXQgY2hlY2stbWFpbG1hcCBbPNC+0L/RhtC40Lg+XSA80LrQvtC90YLQsNC60YI+4oCmIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxMworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MTQKIG1zZ2lkICJhbHNvIHJlYWQgY29udGFjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0YLQsNC60LbQtSDRh9C40YLQsNGC0Ywg0LrQvtC90YLQsNC60YLRiyDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNAorIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbnRhY3Q6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQutC+0L3RgtCw0LrRgjogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjQ3CisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0OAogbXNnaWQgIm5vIGNvbnRhY3RzIHNwZWNpZmllZCIKIG1zZ3N0ciAi0L3QtSDRg9C60LDQt9Cw0L3RiyDQutC+0L3RgtCw0LrRgtGLIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTI3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTI4CiBtc2dpZCAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVja291dC1pbmRleCBbPNC+0L/RhtC40Lg+XSBbLS1dIFs80YTQsNC50Ls+4oCmXSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NQogbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgogbXNnc3RyICLQuNC90LTQtdC60YEg0LTQvtC70LbQtdC9INCx0YvRgtGMINC80LXQttC00YMgMSDQuCAzINC40LvQuCBhbGwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKIG1zZ2lkICJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDRgdC+0YHRgtC+0Y/QvdC40LUg0LLRgdC10YUg0YTQsNC50LvQvtCyINC40Lcg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjIKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgZXhpc3RpbmcgZmlsZXMiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdCw0Y8g0L/QtdGA0LXQt9Cw0L/QuNGB0Ywg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNGFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAogbXNnaWQgIm5vIHdhcm5pbmcgZm9yIGV4aXN0aW5nIGZpbGVzIGFuZCBmaWxlcyBub3QgaW4gaW5kZXgiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNGPINC00LvRjyDRgdGD0YnQtdGB0YLQstGD0Y7RidC40YUg0Lgg0L3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjYKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCiBtc2dzdHIgItC90LUg0YHQvtC30LTQsNCy0LDRgtGMINC90L7QstGL0LUg0YTQsNC50LvRiyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OAogbXNnaWQgInVwZGF0ZSBzdGF0IGluZm9ybWF0aW9uIGluIHRoZSBpbmRleCBmaWxlIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0LjRgdGC0LjQutGDINC00L7RgdGC0YPQv9CwINCyINGE0LDQudC70LUg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzIKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDRgdC/0LjRgdC+0Log0L/Rg9GC0LXQuSDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTczCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0CiBtc2dpZCAid3JpdGUgdGhlIGNvbnRlbnQgdG8gdGVtcG9yYXJ5IGZpbGVzIgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINGB0L7QtNC10YDQttC40LzQvtC1INCy0L4g0LLRgNC10LzQtdC90L3Ri9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQgYnVpbHRpbi9jb2x1bW4uYzozMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTEKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUgYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzgKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgItGB0YLRgNC+0LrQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0YHQv9C10YDQtdC00LggPNGB0YLRgNC+0LrRgz4g0L/RgNC4INGB0L7Qt9C00LDQvdC40Lgg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc4CiBtc2dpZCAiY29weSBvdXQgdGhlIGZpbGVzIGZyb20gbmFtZWQgc3RhZ2UiCiBtc2dzdHIgItC60L7Qv9C40YDQvtCy0LDRgtGMINGE0LDQudC70Ysg0LjQtyDRg9C60LDQt9Cw0L3QvdC+0LPQviDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gPGJyYW5jaD4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPNC+0L/RhtC40Lg+XSA80LLQtdGC0LrQsD4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjI3CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzzQvtC/0YbQuNC4Pl0gWzzQstC10YLQutCwPl0gLS0gPNGE0LDQudC7PuKApiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNCBidWlsdGluL2NoZWNrb3V0LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuyDQvdC1INC40LzQtdC10YIg0L3QsNGI0LXQuSDQstC10YDRgdC40LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYgYnVpbHRpbi9jaGVja291dC5jOjE2OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzNyBidWlsdGluL2NoZWNrb3V0LmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuyDQvdC1INC40LzQtdC10YIg0LjRhSDQstC10YDRgdC40LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAi0L/Rg9GC0Ywgwqslc8K7INC90LUg0LjQvNC10LXRgiDQstGB0LXRhSDQvdC10L7QsdGF0L7QtNC40LzRi9GFINCy0LXRgNGB0LjQuSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE5NgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuyDQvdC1INC40LzQtdC10YIg0L3QtdC+0LHRhdC+0LTQuNC80YvRhSDQstC10YDRgdC40LkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuzog0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC70LjRgtGMIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0YDQtdC30YPQu9GM0YLQsNGCINGB0LvQuNGP0L3QuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1MCBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjI1NiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiwqslc8K7INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INC/0YPRgtC10LkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjIgYnVpbHRpbi9jaGVja291dC5jOjI2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2NSBidWlsdGluL2NoZWNrb3V0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiwqslc8K7INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINC+0LHQvdC+0LLQu9GP0YLRjCDQv9GD0YLQuCDQuCDQv9C10YDQtdC60LvRjtGH0LDRgtGM0YHRjyDQvdCwINCy0LXRgtC60YMgwqslc8K7INC+0LTQvdC+0LLRgNC10LzQtdC90L3Qvi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjM0MiBidWlsdGluL2NoZWNrb3V0LmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAi0L/Rg9GC0Ywgwqslc8K7INC90LUg0YHQu9C40YIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTcKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAi0YHQvdCw0YfQsNC70LAg0L3Rg9C20L3QviDRgNCw0LfRgNC10YjQuNGC0Ywg0LrQvtC90YTQu9C40LrRgtGLINCyINCy0LDRiNC10Lwg0YLQtdC60YPRidC10Lwg0LjQvdC00LXQutGB0LUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LbRg9GA0L3QsNC7INGB0YHRi9C70L7QuiDQtNC70Y8gwqslc8K7OiAlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjYzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjY5CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQg0YHQtdC50YfQsNGBINC90LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjcgYnVpbHRpbi9jbG9uZS5jOjY2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY3MyBidWlsdGluL2Nsb25lLmM6NjgyCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0YwgSEVBRCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLQodCx0YDQvtGBINCy0LXRgtC60Lggwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgItCj0LbQtSDQvdCwIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLQn9C10YDQtdC60LvRjtGH0LXQvdC40LUg0Lgg0YHQsdGA0L7RgSDQstC10YLQutC4IMKrJXPCu1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgItCf0LXRgNC10LrQu9GO0YfQtdC90L4g0L3QsCDQvdC+0LLRg9GOINCy0LXRgtC60YMgwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi0J/QtdGA0LXQutC70Y7Rh9C10L3QviDQvdCwINCy0LXRgtC60YMgwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIOKApiDQuCDQtdGJ0LUgJWQuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC01MjE0LDcgKzU3NjAsNyBAQAogbXNnc3RyWzJdICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQstGLINC+0YHRgtCw0LLQu9GP0LXRgtC1INC/0L7Qt9Cw0LTQuCAlZCDQutC+0LzQvNC40YLQvtCyINC90LUg0YHQvtC10LTQuNC90LXQvdC90YvQtSDQvdC4INGBINC+0LTQvdC+0Lkg0LjQtyDQstCw0YjQuNGFINCy0LXRgtC+0Lo6XG5cbiVzXG4iCiBtc2dzdHJbM10gItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INCy0Ysg0L7RgdGC0LDQstC70Y/QtdGC0LUg0L/QvtC30LDQtNC4ICVkINC60L7QvNC80LjRgtC+0LIg0L3QtSDRgdC+0LXQtNC40L3QtdC90L3Ri9C1INC90Lgg0YEg0L7QtNC90L7QuSDQuNC3INCy0LDRiNC40YUg0LLQtdGC0L7QujpcblxuJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCBpdCBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC01MjMzLDIwNiArNTc3OSwyMDYgQEAKIG1zZ3N0clsyXSAi0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0YHQvtGF0YDQsNC90LjRgtGMINC40YUg0YEg0L/QvtC80L7RidGM0Y4g0YHQvtC30LTQsNC90LjRjyDQvdC+0LLQvtC5INCy0LXRgtC60LgsINGC0L4g0YHQtdC50YfQsNGBINGB0LDQvNC+0LUg0LLRgNC10LzRj1xu0YHQtNC10LvQsNGC0Ywg0Y3RgtC+INGBINC/0L7QvNC+0YnRjNGOOlxuXG4gZ2l0IGJyYW5jaCA80LjQvNGPLdC90L7QstC+0Lkt0LLQtdGC0LrQuD4gJXNcbiIKIG1zZ3N0clszXSAi0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0YHQvtGF0YDQsNC90LjRgtGMINC40YUg0YEg0L/QvtC80L7RidGM0Y4g0YHQvtC30LTQsNC90LjRjyDQvdC+0LLQvtC5INCy0LXRgtC60LgsINGC0L4g0YHQtdC50YfQsNGBINGB0LDQvNC+0LUg0LLRgNC10LzRj1xu0YHQtNC10LvQsNGC0Ywg0Y3RgtC+INGBINC/0L7QvNC+0YnRjNGOOlxuXG4gZ2l0IGJyYW5jaCA80LjQvNGPLdC90L7QstC+0Lkt0LLQtdGC0LrQuD4gJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjgwMAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgItCy0L3Rg9GC0YDQtdC90L3Rj9GPINC+0YjQuNCx0LrQsCDQv9GA0Lgg0YXQvtC20LTQtdC90LjQuCDQv9C+INGA0LXQtNCw0LrRhtC40Y/QvCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjgwNAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICLQn9GA0LXQtNGL0LTRg9GJ0LDRjyDQv9C+0LfQuNGG0LjRjyBIRUFEINCx0YvQu9CwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODI1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODMyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcwCiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi0JLRiyDQvdCw0YXQvtC00LjRgtC10YHRjCDQvdCwINC10YnQtSDQvdC1INGB0L7Qt9C00LDQvdC90L7QuSDQstC10YLQutC1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTcwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgogbXNnc3RyICLQvtC20LjQtNCw0LXRgtGB0Y8g0YLQvtC70YzQutC+INC+0LTQvdCwINGB0YHRi9C70LrQsCwg0LAg0L/QtdGA0LXQtNCw0L3QviAlZC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDEwIGJ1aWx0aW4vd29ya3RyZWUuYzoyMTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDE2IGJ1aWx0aW4vd29ya3RyZWUuYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgdGL0LvQutCwOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAi0LIg0LTQtdGA0LXQstC1INC90LXRgiDRgtCw0LrQvtC5INGB0YHRi9C70LrQuDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NAogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC/0YPRgtC4INC/0YDQuCDQv9C10YDQtdC60LvRjtGH0LXQvdC40Lgg0LLQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEgYnVpbHRpbi9jaGVja291dC5jOjEwODUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywgwqslc8K7INC/0YDQuCDQv9C10YDQtdC60LvRjtGH0LXQvdC40Lgg0LLQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NSBidWlsdGluL2NoZWNrb3V0LmM6MTA5OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIsKrJXPCuyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINC/0LXRgNC10LrQu9GO0YfQuNGC0Ywg0LLQtdGC0LrRgyDQvdCwINC90LUg0LrQvtC80LzQuNGCIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzggYnVpbHRpbi9jaGVja291dC5jOjExNDAgYnVpbHRpbi9jbG9uZS5jOjkzCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzI0Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NCBidWlsdGluL2NoZWNrb3V0LmM6MTE0NiBidWlsdGluL2Nsb25lLmM6MTEzCisjOiBidWlsdGluL3JlbW90ZS5jOjE2NiBidWlsdGluL3JlbW90ZS5jOjE2OCBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMwCiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICLQstC10YLQutCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0Lgg0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQvdC+0LLRg9GOINCy0LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NwogbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCiBtc2dzdHIgItGB0L7Qt9C00LDRgtGML9GB0LHRgNC+0YHQuNGC0Ywg0Lgg0L/QtdGA0LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0L3QvtCy0YPRjiDQstC10YLQutGDIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDgKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQttGD0YDQvdCw0Lsg0YHRgdGL0LvQvtC6INC00LvRjyDQvdC+0LLQvtC5INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5IGJ1aWx0aW4vd29ya3RyZWUuYzozMzIKIG1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgItC+0YLRgdC+0LXQtNC40L3QuNGC0YwgSEVBRCDQvdCwINGD0LrQsNC30LDQvdC90L7QvCDQutC+0LzQvNC40YLQtSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUwCiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQtSDQtNC70Y8g0L3QvtCy0L7QuSDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICLQvdC+0LLQsNGPLdCy0LXRgtC60LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAi0L3QvtCy0LDRjyDQstC10YLQutCwINCx0LXQtyDRgNC+0LTQuNGC0LXQu9C10LkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MwogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQvdCw0YjRgyDQstC10YDRgdC40Y4g0LTQu9GPINC90LUg0YHQu9C40YLRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0LjRhSDQstC10YDRgdC40Y4g0LTQu9GPINC90LUg0YHQu9C40YLRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU3CiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+0LUg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1ICjQvtGC0LHRgNCw0YHRi9Cy0LDQtdGCINCy0YHQtSDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgItCy0YvQv9C+0LvQvdC40YLRjCDRgtGA0LXRhdGF0L7QtNC+0LLQvtC1INGB0LvQuNGP0L3QuNC1INGBINC90L7QstC+0Lkg0LLQtdGC0LrQvtC5IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MyBidWlsdGluL21lcmdlLmM6MjMxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL21lcmdlLmM6MjM1CiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40LPQvdC+0YDQuNGA0YPQtdC80YvQtSDRhNCw0LnQu9GLICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0IGJ1aWx0aW4vbG9nLmM6MTQ2NiBwYXJzZS1vcHRpb25zLmg6MjUxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MCBidWlsdGluL2xvZy5jOjE0ODMgcGFyc2Utb3B0aW9ucy5oOjI1MQogbXNnaWQgInN0eWxlIgogbXNnc3RyICLRgdGC0LjQu9GMIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICLRgdGC0LjQu9GMINC60L7QvdGE0LvQuNC60YLQvtCyINGB0LvQuNGP0L3QuNGPIChtZXJnZSDQuNC70LggZGlmZjMpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjQKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCiBtc2dzdHIgItC90LUg0L7Qs9GA0LDQvdC40YfQuNCy0LDRgtGMINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNGLINC/0YPRgtC4INGC0L7Qu9GM0LrQviDRh9Cw0YHRgtC40YfQvdGL0LzQuCDQt9Cw0L/QuNGB0Y/QvNC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAi0L/QtdGA0LXRgdC80L7RgtGAIMKrZ2l0IGNoZWNrb3V0IDzQvdC10YIt0YLQsNC60L7QuS3QstC10YLQutC4PsK7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjgKIG1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCiBtc2dzdHIgItC90LUg0L/RgNC+0LLQtdGA0Y/RgtGMLCDRh9GC0L4g0LTRgNGD0LPQvtC1INC00LXRgNC10LLQviDRg9C20LUg0YHQvtC00LXRgNC20LjRgiDRg9C60LDQt9Cw0L3QvdGD0Y4g0YHRgdGL0LvQutGDIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MyBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQotIzogYnVpbHRpbi9tZXJnZS5jOjIyOCBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM2Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzIgYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vZmV0Y2guYzoxMTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTIwIGJ1aWx0aW4vcHVzaC5jOjU0NAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INCy0YvQstC+0LTQuNGC0Ywg0L/RgNC+0LPRgNC10YHRgSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAzCiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIg0LggLS1vcnBoYW4g0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjExCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyMAogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayDRgtGA0LXQsdGD0LXRgiDQuNC80Y8g0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjI1CiBtc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICLQn9GA0L7Qv9GD0YnQtdC90L4g0LjQvNGPINCy0LXRgtC60Lg7INC/0L7Qv9GA0L7QsdGD0LnRgtC1IC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjEKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0L/QtdGG0LjRhNC40LrQsNGG0LjRjyDQv9GD0YLQuCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgCDQv9GD0YLQuCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiAjLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKLSJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKLW1zZ3N0ciAi0J3QtdC70YzQt9GPINC+0LHQvdC+0LLQuNGC0Ywg0L/Rg9GC0Lgg0Lgg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0LLQtdGC0LrRgyDCqyVzwrsuXG7QktGLINGF0L7RgtC10LvQuCDQv9C10YDQtdC60LvRjtGH0LjRgtGM0YHRjyDQvdCwIMKrJXPCuywg0YfRgtC+INC90LUg0LzQvtC20LXRgiDQsdGL0YLRjCDQvtC/0YDQtdC00LXQu9C10L3QviDQutCw0Log0LrQvtC80LzQuNGCPyIKK21zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IgorbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60L7QvNC80LjRgtC+0LwsINC/0L7RjdGC0L7QvNGDINC90LXQstC+0LfQvNC+0LbQvdC+INGB0L7Qt9C00LDRgtGMINC40Lcg0L3QtdCz0L4g0LLQtdGC0LrRgyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2gg0L3QtSDQv9GA0LjQvdC40LzQsNC10YIg0L/Rg9GC0Ywgwqslc8K7INC60LDQuiDQsNGA0LPRg9C80LXQvdGCIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzYKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC/0YDQuCDQv9GA0LjQvNC10L3QtdC90LjQuCDRgdC+0YHRgtC+0Y/QvdC40Y8g0LjQvdC00LXQutGB0LAuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyNgogbXNnaWQgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDzRiNCw0LHQu9C+0L0+XSBbLXggfCAtWF0gWy0tXSA80L/Rg9GC0Lg+4oCmIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgogbXNnc3RyICLQo9C00LDQu9C10L3QuNC1ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMAorIzogYnVpbHRpbi9jbGVhbi5jOjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICLQkdGD0LTQtdGCINGD0LTQsNC70LXQvdC+ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMQorIzogYnVpbHRpbi9jbGVhbi5jOjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GB0Log0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAi0JHRg9C00LXRgiDQv9GA0L7Qv9GD0YnQtdC9INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAi0YHQsdC+0Lkg0YPQtNCw0LvQtdC90LjRjyAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5MQorIzogYnVpbHRpbi9jbGVhbi5jOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MgorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCiAiMSAgICAgICAgICAtIHNlbGVjdCBhIG51bWJlcmVkIGl0ZW1cbiIKICJmb28gICAgICAgIC0gc2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeFxuIgotIiAgICAgICAgICAgLSAoZW1wdHkpIHNlbGVjdCBub3RoaW5nIgotbXNnc3RyICLQodC/0YDQsNCy0LrQsCDQv9C+INCy0YvQtNC10LvQtdC90LjRjjpcbjEgICAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0Y3Qu9C10LzQtdC90YJcbmZvbyAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDRjdC70LXQvNC10L3RgiDRgSDRg9C60LDQt9Cw0L3QvdGL0Lwg0L/RgNC10YTQuNC60YHQvtC8XG4gICAgICAgICAgIC0gKNC/0YPRgdGC0L4pINC90LUg0LLRi9Cx0LjRgNCw0YLRjCDQvdC40YfQtdCz0L4iCisiICAgICAgICAgICAtIChlbXB0eSkgc2VsZWN0IG5vdGhpbmdcbiIKK21zZ3N0ciAi0KHQv9GA0LDQstC60LAg0L/QviDQstGL0LTQtdC70LXQvdC40Y46XG4xICAgICAgICAgIC0g0LLRi9Cx0YDQsNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INGN0LvQtdC80LXQvdGCXG5mb28gICAgICAgIC0g0LLRi9Cx0YDQsNGC0Ywg0Y3Qu9C10LzQtdC90YIg0YEg0YPQutCw0LfQsNC90L3Ri9C8INC/0YDQtdGE0LjQutGB0L7QvFxuICAgICAgICAgICAtICjQv9GD0YHRgtC+KSDQvdC1INCy0YvQsdC40YDQsNGC0Ywg0L3QuNGH0LXQs9C+XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTUKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgogIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgpAQCAtNTQ0MSwzOSArNTk4Nyw0MSBAQAogImZvbyAgICAgICAgLSBzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4XG4iCiAiLS4uLiAgICAgICAtIHVuc2VsZWN0IHNwZWNpZmllZCBpdGVtc1xuIgogIiogICAgICAgICAgLSBjaG9vc2UgYWxsIGl0ZW1zXG4iCi0iICAgICAgICAgICAtIChlbXB0eSkgZmluaXNoIHNlbGVjdGluZyIKLW1zZ3N0ciAi0KHQv9GA0LDQstC60LAg0L/QviDQstGL0LTQtdC70LXQvdC40Y46XG4xICAgICAgICAgIC0g0LLRi9Cx0YDQsNGC0Ywg0L7QtNC40L0g0Y3Qu9C10LzQtdC90YJcbjMtNSAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDQtNC40LDQv9Cw0LfQvtC9INGN0LvQtdC80LXQvdGC0L7QslxuMi0zLDYtOSAgICAtINCy0YvQsdGA0LDRgtGMINC90LXRgdC60L7Qu9GM0LrQviDQtNC40LDQv9Cw0LfQvtC90L7QslxuZm9vICAgICAgICAtINCy0YvQsdGA0LDRgtGMINGN0LvQtdC80LXQvdGCINGBINGD0LrQsNC30LDQvdC90YvQvCDQv9GA0LXRhNC40LrRgdC+0Lxcbi3igKYgICAgICAgLSDRg9Cx0YDQsNGC0Ywg0LLRi9C00LXQu9C10L3QuNC1INGBINGD0LrQsNC30LDQvdC90YvRhSDRjdC70LXQvNC10L3RgtC+0LJcbiogICAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDQstGB0LUg0Y3Qu9C10LzQtdC90YLRi1xuICAgICAgICAgICAtICjQv9GD0YHRgtC+KSDQt9Cw0LLQtdGA0YjQuNGC0Ywg0LLRi9C00LXQu9C10L3QuNC1IgorIiAgICAgICAgICAgLSAoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmdcbiIKK21zZ3N0ciAi0KHQv9GA0LDQstC60LAg0L/QviDQstGL0LTQtdC70LXQvdC40Y46XG4xICAgICAgICAgIC0g0LLRi9Cx0YDQsNGC0Ywg0L7QtNC40L0g0Y3Qu9C10LzQtdC90YJcbjMtNSAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDQtNC40LDQv9Cw0LfQvtC9INGN0LvQtdC80LXQvdGC0L7QslxuMi0zLDYtOSAgICAtINCy0YvQsdGA0LDRgtGMINC90LXRgdC60L7Qu9GM0LrQviDQtNC40LDQv9Cw0LfQvtC90L7QslxuZm9vICAgICAgICAtINCy0YvQsdGA0LDRgtGMINGN0LvQtdC80LXQvdGCINGBINGD0LrQsNC30LDQvdC90YvQvCDQv9GA0LXRhNC40LrRgdC+0Lxcbi3igKYgICAgICAgLSDRg9Cx0YDQsNGC0Ywg0LLRi9C00LXQu9C10L3QuNC1INGBINGD0LrQsNC30LDQvdC90YvRhSDRjdC70LXQvNC10L3RgtC+0LJcbiogICAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDQstGB0LUg0Y3Qu9C10LzQtdC90YLRi1xuICAgICAgICAgICAtICjQv9GD0YHRgtC+KSDQt9Cw0LLQtdGA0YjQuNGC0Ywg0LLRi9C00LXQu9C10L3QuNC1XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVoICglcyk/IgotbXNnc3RyICLQpdC8ICglcyk/IgorIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU0NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTIKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgIkh1aCAoJXMpP1xuIgorbXNnc3RyICLQpdC8ICglcyk/XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2NTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgogbXNnc3RyICLQqNCw0LHQu9C+0L3RiyDQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjRjyDQstCy0L7QtNCwPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjkwCisjOiBidWlsdGluL2NsZWFuLmM6Njk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0Y3Qu9C10LzQtdC90YLRiyDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40LU6ICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzExCisjOiBidWlsdGluL2NsZWFuLmM6NzE4CiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAi0KPQutCw0LbQuNGC0LUg0Y3Qu9C10LzQtdC90YLRiyDQtNC70Y8g0YPQtNCw0LvQtdC90LjRjyIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzUyCisjOiBidWlsdGluL2NsZWFuLmM6NzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICLQo9C00LDQu9C40YLRjCAlcyBbeSAtINC00LAvTiAtINC90LXRgl0/ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc3NwotbXNnaWQgIkJ5ZS4iCi1tc2dzdHIgItCU0L4g0YHQstC40LTQsNC90LjRjy4iCisjOiBidWlsdGluL2NsZWFuLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJCeWUuXG4iCittc2dzdHIgItCU0L4g0YHQstC40LTQsNC90LjRjy5cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc4NQorIzogYnVpbHRpbi9jbGVhbi5jOjc5MgogbXNnaWQgIiIKICJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKICJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCkBAIC01NDg0LDE1ICs2MDMyLDE1IEBACiAiPyAgICAgICAgICAgICAgICAgICAtIGhlbHAgZm9yIHByb21wdCBzZWxlY3Rpb24iCiBtc2dzdHIgImNsZWFuICAgICAgICAgICAgICAgLSDQvdCw0YfQsNGC0Ywg0L7Rh9C40YHRgtC60YNcbmZpbHRlciBieSBwYXR0ZXJuICAgLSDQuNGB0LrQu9GO0YfQuNGC0Ywg0YPQtNCw0LvQtdC90LjQtSDRjdC70LXQvNC10L3RgtC+0LJcbnNlbGVjdCBieSBudW1iZXJzICAgLSDQuNGB0LrQu9GO0YfQuNGC0Ywg0YPQtNCw0LvQtdC90LjQtSDRjdC70LXQvNC10L3RgtC+0LIg0L/QviDQvdC+0LzQtdGA0LDQvFxuYXNrIGVhY2ggICAgICAgICAgICAtINC30LDQv9GA0LDRiNC40LLQsNGC0Ywg0L/QvtC00YLQstC10YDQttC00LXQvdC40LUg0L3QsCDRg9C00LDQu9C10L3QuNC1INC60LDQttC00L7Qs9C+INGN0LvQtdC80LXQvdGC0LAgKNC60LDQuiDCq3JtIC1pwrspXG5xdWl0ICAgICAgICAgICAgICAgIC0g0L/RgNC10LrRgNCw0YLQuNGC0Ywg0L7Rh9C40YHRgtC60YNcbmhlbHAgICAgICAgICAgICAgICAgLSDRjdGC0L7RgiDRjdC60YDQsNC9XG4/ICAgICAgICAgICAgICAgICAgIC0g0YHQv9GA0LDQstC60LAg0L/QviDQstGL0LTQtdC70LXQvdC40Y4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjkyCiBtc2dpZCAiKioqIENvbW1hbmRzICoqKiIKIG1zZ3N0ciAiKioqINCa0L7QvNCw0L3QtNGLICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMworIzogYnVpbHRpbi9jbGVhbi5jOjgyMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2ODkKIG1zZ2lkICJXaGF0IG5vdyIKIG1zZ3N0ciAi0KfRgtC+INGC0LXQv9C10YDRjCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgyMQorIzogYnVpbHRpbi9jbGVhbi5jOjgyOAogbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgogbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCiBtc2dzdHJbMF0gItCj0LTQsNC70LjRgtGMINGB0LvQtdC00YPRjtGJ0LjQtSDRjdC70LXQvNC10L3RgtGLOiIKQEAgLTU1MDAsNDA3ICs2MDQ4LDQxNiBAQAogbXNnc3RyWzJdICLQo9C00LDQu9C40YLRjCDRgdC70LXQtNGD0Y7RidC40LUg0Y3Qu9C10LzQtdC90YLRizoiCiBtc2dzdHJbM10gItCj0LTQsNC70LjRgtGMINGB0LvQtdC00YPRjtGJ0LjQtSDRjdC70LXQvNC10L3RgtGLOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgzOAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NAogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICLQkdC+0LvRjNGI0LUg0L3QtdGCINGE0LDQudC70L7QsiDQtNC70Y8g0L7Rh9C40YHRgtC60LgsINCy0YvRhdC+0LTQuNC8LiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg2OQorIzogYnVpbHRpbi9jbGVhbi5jOjkwNgogbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QsCDRg9C00LDQu9GP0LXQvNGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcxCisjOiBidWlsdGluL2NsZWFuLmM6OTA4CiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcyCisjOiBidWlsdGluL2NsZWFuLmM6OTA5CiBtc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QsNGPINC+0YfQuNGB0YLQutCwIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc0CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDQutCw0YLQsNC70L7Qs9C4INC/0L7Qu9C90L7RgdGC0YzRjiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2Rlc2NyaWJlLmM6NDA3IGJ1aWx0aW4vZ3JlcC5jOjcyNQotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNiBidWlsdGluL25hbWUtcmV2LmM6MzEzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxODIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjQ1MiBidWlsdGluL2Rlc2NyaWJlLmM6NDU0CisjOiBidWlsdGluL2dyZXAuYzoxMDgyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDYgYnVpbHRpbi9uYW1lLXJldi5jOjM5NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OSBidWlsdGluL3Nob3ctcmVmLmM6MTc2CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAi0YjQsNCx0LvQvtC9IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc2CisjOiBidWlsdGluL2NsZWFuLmM6OTEzCiBtc2dpZCAiYWRkIDxwYXR0ZXJuPiB0byBpZ25vcmUgcnVsZXMiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0YwgPNGI0LDQsdC70L7QvT4g0LIg0L/RgNCw0LLQuNC70LAg0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICLRgtCw0LrQttC1INGD0LTQsNC70LjRgtGMINC40LPQvdC+0YDQuNGA0YPQtdC80YvQtSDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc5CisjOiBidWlsdGluL2NsZWFuLmM6OTE2CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0YLQvtC70YzQutC+INC40LPQvdC+0YDQuNGA0YPQtdC80YvQtSDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODk3CisjOiBidWlsdGluL2NsZWFuLmM6OTM0CiBtc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviAteCDQuCAtWCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwMQorIzogYnVpbHRpbi9jbGVhbi5jOjkzOAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvIgogIiBjbGVhbiIKIG1zZ3N0ciAiY2xlYW4ucmVxdWlyZUZvcmNlINGD0YHRgtCw0L3QvtCy0LvQtdC9INC60LDQuiB0cnVlINC4INC90Lgg0L7QtNC90LAg0LjQtyDQvtC/0YbQuNC5IC1pLCAtbiDQuNC70LggLWYg0L3QtSDRg9C60LDQt9Cw0L3QsDsg0L7RgtC60LDQtyDQvtGH0LjRgdGC0LrQuCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgogbXNnc3RyICJjbGVhbi5yZXF1aXJlRm9yY2Ug0YPRgdGC0LDQvdC+0LLQu9C10L0g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0LrQsNC6IHRydWUg0Lgg0L3QuCDQvtC00L3QsCDQuNC3INC+0L/RhtC40LkgLWksIC1uINC40LvQuCAtZiDQvdC1INGD0LrQsNC30LDQvdCwOyDQvtGC0LrQsNC3INC+0YfQuNGB0YLQutC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOAogbXNnaWQgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgWzzQvtC/0YbQuNC4Pl0gWy0tXSA80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4gWzzQutCw0YLQsNC70L7Qsz5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MgogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICLQvdC1INC/0LXRgNC10LrQu9GO0YfQsNGC0Ywg0YDQsNCx0L7Rh9GD0Y4g0LrQvtC/0LjRjiDQvdCwIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9pbml0LWRiLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0LPQvtC70YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NwogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQt9C10YDQutCw0LvQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPICjQstC60LvRjtGH0LDQtdGCINCyINGB0LXQsdGPINC4INC/0LDRgNCw0LzQtdGC0YAgYmFyZSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MgorIzogYnVpbHRpbi9jbG9uZS5jOjg5CiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgItC00LvRjyDQutC70L7QvdC40YDQvtCy0LDQvdC40Y8g0LjQtyDQu9C+0LrQsNC70YzQvdC+0LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MQogbXNnaWQgImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IgogbXNnc3RyICLQvdC1INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQttC10YHRgtC60LjQtSDRgdGB0YvQu9C60LgsINCy0YHQtdCz0LTQsCDQutC+0L/QuNGA0L7QstCw0YLRjCDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICLQvdCw0YHRgtGA0L7QuNGC0Ywg0LrQsNC6INC+0LHRidC10LTQvtGB0YLRg9C/0L3Ri9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OCBidWlsdGluL2Nsb25lLmM6ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2Nsb25lLmM6OTkKK21zZ2lkICJwYXRoc3BlYyIKK21zZ3N0ciAi0YHQv9C10YbQuNGE0LjQutCw0YLQvtGALdC/0YPRgtC4IgorCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAi0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0Ywg0L/QvtC00LzQvtC00YPQu9C4INCyINC60LvQvtC90LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MgorIzogYnVpbHRpbi9jbG9uZS5jOjEwMgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi0LrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtC00LzQvtC00YPQu9C10LksINC60L7RgtC+0YDRi9C1INCx0YPQtNGD0YIg0LrQu9C+0L3QuNGA0L7QstCw0L3RiyDQv9Cw0YDRgNCw0LvQtdC70YzQvdC+IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6MTAzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMt0YjQsNCx0LvQvtC90L7QsiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2luaXQtZGIuYzo0NzcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICLQutCw0YLQsNC70L7Qsywg0YjQsNCx0LvQvtC90Ysg0LjQtyDQutC+0YLQvtGA0L7Qs9C+INCx0YPQtNGD0YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdGLIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYgYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgzCiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgItGB0YHRi9C70LDQtdC80YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9GD0LnRgtC1IC0tcmVmZXJlbmNlINGC0L7Qu9GM0LrQviDQv9GA0Lgg0LrQu9C+0L3QuNGA0L7QstCw0L3QuNC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAi0LjQvNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCA80LjQvNGPPiDQstC80LXRgdGC0L4gwqtvcmlnaW7CuyDQtNC70Y8g0L7RgtGB0LvQtdC20LjQstCw0L3QuNGPINCy0YvRiNC10YHRgtC+0Y/RidC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICLQv9C10YDQtdC60LvRjtGH0LjRgtGM0YHRjyDQvdCwIDzQstC10YLQutGDPiwg0LLQvNC10YHRgtC+IEhFQUQg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLQv9GD0YLRjCDQuiBnaXQtdXBsb2FkLXBhY2sg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL2dyZXAuYzo2NjgKLSM6IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vZ3JlcC5jOjEwMjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwNQogbXNnaWQgImRlcHRoIgogbXNnc3RyICLQs9C70YPQsdC40L3QsCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4CisjOiBidWlsdGluL2Nsb25lLmM6MTE4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICLRgdC00LXQu9Cw0YLRjCDRh9Cw0YHRgtC40YfQvdGL0Lkg0LrQu9C+0L0g0YPQutCw0LfQsNC90L3QvtC5INCz0LvRg9Cx0LjQvdGLIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkgYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzIKICM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKIG1zZ2lkICJ0aW1lIgogbXNnc3RyICLQstGA0LXQvNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgItGB0LTQtdC70LDRgtGMINGH0LDRgdGC0LjRh9C90YvQuSDQutC70L7QvSDQtNC+INC+0L/RgNC10LTQtdC70LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vZmV0Y2guYzoxMjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjExOQogbXNnaWQgInJldmlzaW9uIgogbXNnc3RyICLRgNC10LTQsNC60YbQuNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKLW1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIGJ5IGV4Y2x1ZGluZyByZXYiCisjOiBidWlsdGluL2Nsb25lLmM6MTIyIGJ1aWx0aW4vZmV0Y2guYzoxMjAKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lLCBleGNsdWRpbmcgcmV2IgogbXNnc3RyICLRg9Cz0LvRg9Cx0LjRgtGMINC40YHRgtC+0YDQuNGOINGH0LDRgdGC0LjRh9C90L7Qs9C+INC60LvQvtC90LAg0LjRgdC60LvRjtGH0LDRjyDRgNC10LTQsNC60YbQuNGOIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0CisjOiBidWlsdGluL2Nsb25lLmM6MTI0CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICLQutC70L7QvdC40YDQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQvtC00L3RgyDQstC10YLQutGDLCBIRUFEINC40LvQuCAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNgorbXNnaWQgImRvbid0IGNsb25lIGFueSB0YWdzLCBhbmQgbWFrZSBsYXRlciBmZXRjaGVzIG5vdCB0byBmb2xsb3cgdGhlbSIKK21zZ3N0ciAi0L3QtSDQutC70L7QvdC40YDQvtCy0LDRgtGMINC80LXRgtC60LgsINCwINGC0LDQutC20LUg0L3QsNGB0YLRgNC+0LjRgtGMLCDRh9GC0L7QsdGLINC90LUg0LrQu9C+0L3QuNGA0L7QstCw0LvQuNGB0Ywg0Lgg0LIg0LTQsNC70YzQvdC10LnRiNC10LwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjgKIG1zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaGFsbG93IgogbXNnc3RyICLQstGB0LUg0YHQutC70L7QvdC40YDQvtCy0LDQvdC90YvQtSDQv9C+0LTQvNC+0LTRg9C70Lgg0LHRg9C00YPRgiDRh9Cw0YHRgtC40YfQvdGL0LzQuCDQutC70L7QvdCw0LzQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICLQutCw0YLQsNC70L7Qsy1naXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItGA0LDQt9C80LXRgdGC0LjRgtGMINC60LDRgtCw0LvQvtCzIGdpdCDQvtGC0LTQtdC70YzQvdC+INC+0YIg0YDQsNCx0L7Rh9C10Lkg0LrQvtC/0LjQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOQorIzogYnVpbHRpbi9jbG9uZS5jOjEzMQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAi0LrQu9GO0Yc90LfQvdCw0YfQtdC90LjQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L/QsNGA0LDQvNC10YLRgNGLINCy0L3Rg9GC0YDQuCDQvdC+0LLQvtCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2ZldGNoLmM6MTQwIGJ1aWx0aW4vcHVzaC5jOjU0NworIzogYnVpbHRpbi9jbG9uZS5jOjEzMyBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vcHVzaC5jOjU1NQogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+IElQdjQg0LDQtNGA0LXRgdCwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL2Nsb25lLmM6MTM1IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdXNoLmM6NTU3CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4gSVB2NiDQsNC00YDQtdGB0LAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNzIKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgogbXNnc3RyICLQmNC80Y8g0LrQsNGC0LDQu9C+0LPQsCDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YPQs9Cw0LTQsNC90L4uXG7Qo9C60LDQttC40YLQtSDQuNC80Y8g0LrQsNGC0LDQu9C+0LPQsCDRgSDQv9C+0LzQvtGJ0YzRjiDQv9Cw0YDQsNC80LXRgtGA0LAg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwMworIzogYnVpbHRpbi9jbG9uZS5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y86INCd0LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0YMg0LTQu9GPIMKrJXPCuzogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3NQorIzogYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCINC4INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDE5CisjOiBidWlsdGluL2Nsb25lLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGB0YHRi9C70LrRgyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MjMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC60L7Qv9C40YDQvtCy0LDRgtGMINGE0LDQudC7INCyIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICLQs9C+0YLQvtCy0L4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0ODIKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgogImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCiBtc2dzdHIgItCa0LvQvtC90LjRgNC+0LLQsNC90LjQtSDQv9GA0L7RiNC70L4g0YPRgdC/0LXRiNC90L4sINC90L4g0LLQviDQstGA0LXQvNGPINC/0LXRgNC10LrQu9GO0YfQtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0L/RgNC+0LjQt9C+0YjQu9CwINC+0YjQuNCx0LrQsC5cbtChINC/0L7QvNC+0YnRjCDQutC+0LzQsNC90LTRiyDCq2dpdCBzdGF0dXPCuyDQstGLINC80L7QttC10YLQtSDQv9GA0L7RgdC80L7RgtGA0LXRgtGMLCDQutCw0LrQuNC1INGE0LDQudC70Ysg0LHRi9C70Lgg0L7QsdC90L7QstC70LXQvdGLLCDQsCDQv9C+0LLRgtC+0YDQuNGC0Ywg0L/QvtC/0YvRgtC60YMg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC90LAg0LLQtdGC0LrRgyDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBjaGVja291dCAtZiBIRUFEwrtcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzNworIzogYnVpbHRpbi9jbG9uZS5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INCy0L3QtdGI0L3RjtGOINCy0LXRgtC60YMgJXMg0LTQu9GPINC60LvQvtC90LjRgNC+0LLQsNC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NTQKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAi0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQv9GA0LjRgdC70LDQuyDQvdC1INCy0YHQtSDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQ4CisjOiBidWlsdGluL2Nsb25lLmM6NjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5NworIzogYnVpbHRpbi9jbG9uZS5jOjcxOQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAi0LLQvdC10YjQvdC40LkgSEVBRCDRgdGB0YvQu9Cw0LXRgtGB0Y8g0L3QsCDQvdC10YHRg9GJ0LXRgdGC0LLRg9GO0YnRg9GOINGB0YHRi9C70LrRgywg0L3QtdC70YzQt9GPINC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0YLQsNC60YPRjiDQstC10YDRgdC40Y4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTAKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0LLQtdGA0YHQuNGOINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC/0LDRgNCw0LzQtdGC0YDRiyDQsiDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDQv9C10YDQtdC/0LDQutC+0LLQutGDINC00LvRjyDQvtGH0LjRgdGC0LrQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMworIzogYnVpbHRpbi9jbG9uZS5jOjg1NwogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0YHQvtC10LTQuNC90LjRgtGMINCy0YDQtdC80LXQvdC90YvQtSDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjYgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk1CisjOiBidWlsdGluL2Nsb25lLmM6ODkwIGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgItCh0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtC+0LIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcwCisjOiBidWlsdGluL2Nsb25lLmM6ODk0CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICLQktGLINC00L7Qu9C20L3RiyDRg9C60LDQt9Cw0YLRjCDRgNC10L/QvtC30LjRgtC+0YDQuNC5INC00LvRjyDQutC70L7QvdC40YDQvtCy0LDQvdC40Y8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgzCisjOiBidWlsdGluL2Nsb25lLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlINC4IC0tb3JpZ2luICVzINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4NgorIzogYnVpbHRpbi9jbG9uZS5jOjkxMAogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg0LggLS1zZXBhcmF0ZS1naXQtZGlyINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5OQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjkgYnVpbHRpbi9mZXRjaC5jOjEzMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICLQs9C70YPQsdC40L3QsCAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L/QvtC70L7QttC40YLQtdC70YzQvdGL0Lwg0YfQuNGB0LvQvtC8IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTE1CisjOiBidWlsdGluL2Nsb25lLmM6OTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgItGG0LXQu9C10LLQvtC5INC/0YPRgtGMIMKrJXPCuyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIg0Lgg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC/0YPRgdGC0YvQvCDQutCw0YLQsNC70L7Qs9C+0LwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI1CisjOiBidWlsdGluL2Nsb25lLmM6OTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAi0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMgwqslc8K7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjQgYnVpbHRpbi9jbG9uZS5jOjk3NSBidWlsdGluL2RpZmZ0b29sLmM6MjYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YDQvtC00LjRgtC10LvRjNGB0LrQuNC1INC60LDRgtCw0LvQvtCz0Lgg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MworIzogYnVpbHRpbi9jbG9uZS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgItCa0LvQvtC90LjRgNC+0LLQsNC90LjQtSDQsiDQs9C+0LvRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K74oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAi0JrQu9C+0L3QuNGA0L7QstCw0L3QuNC1INCyIMKrJXPCu+KAplxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYzCisjOiBidWlsdGluL2Nsb25lLmM6MTAwNQogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLSIKICJpZi1hYmxlIgogbXNnc3RyICLQutC70L7QvdC40YDQvtCy0LDQvdC40LUg0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLS1yZWN1cnNpdmUg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0L3QuCDRgSAtLXJlZmVyZW5jZSwg0L3QuCDRgSAtLXJlZmVyZW5jZS1pZi1hYmxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxOQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjcKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1kZXB0aCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0L3QsCDQu9C+0LrQsNC70YzQvdGL0YUg0LrQu9C+0L3QsNGFOyDQstC80LXRgdGC0L4g0Y3RgtC+0LPQviDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IGZpbGU6Ly8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjkKIG1zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLXNoYWxsb3ctc2luY2Ug0LjQs9C90L7RgNC40YDRg9C10YLRgdGPINC90LAg0LvQvtC60LDQu9GM0L3Ri9GFINC60LvQvtC90LDRhTsg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSBmaWxlOi8vINCy0LzQtdGB0YLQviDRjdGC0L7Qs9C+LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMjMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcxCiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLXNoYWxsb3ctZXhjbHVkZSDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0L3QsCDQu9C+0LrQsNC70YzQvdGL0YUg0LrQu9C+0L3QsNGFOyDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IGZpbGU6Ly8g0LLQvNC10YHRgtC+INGN0YLQvtCz0L4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzQKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICLQuNGB0YXQvtC00L3Ri9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0Y/QstC70Y/QtdGC0YHRjyDRh9Cw0YHRgtC40YfQvdGL0LwsIC0tbG9jYWwg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzkKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgItCd0LUg0LfQvdCw0Y4g0LrQsNC6INC60LvQvtC90LjRgNC+0LLQsNGC0YwgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkwIGJ1aWx0aW4vY2xvbmUuYzoxMDk4CisjOiBidWlsdGluL2Nsb25lLmM6MTEzOCBidWlsdGluL2Nsb25lLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAi0JLQvdC10YjQvdGP0Y8g0LLQtdGC0LrQsCAlcyDQvdC1INC90LDQudC00LXQvdCwINCyINCy0YvRiNC10YHRgtC+0Y/RidC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQ5CiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAi0J/QvtGF0L7QttC1LCDRh9GC0L4g0LLRiyDQutC70L7QvdC40YDQvtCy0LDQu9C4INC/0YPRgdGC0L7QuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5LiIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzo5CisjOiBidWlsdGluL2NvbHVtbi5jOjEwCiBtc2dpZCAiZ2l0IGNvbHVtbiBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbHVtbiBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyNgorIzogYnVpbHRpbi9jb2x1bW4uYzoyNwogbXNnaWQgImxvb2t1cCBjb25maWcgdmFycyIKIG1zZ3N0ciAi0LfQsNC/0YDQvtGB0LjRgtGMINC/0LXRgNC10LzQtdC90L3Ri9C1INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL2NvbHVtbi5jOjI4CisjOiBidWlsdGluL2NvbHVtbi5jOjI4IGJ1aWx0aW4vY29sdW1uLmM6MjkKIG1zZ2lkICJsYXlvdXQgdG8gdXNlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHRhdC10LzRgyDRgNCw0YHQv9C+0LvQvtC20LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MjkKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzAKIG1zZ2lkICJNYXhpbXVtIHdpZHRoIgogbXNnc3RyICLQnNCw0LrRgdC40LzQsNC70YzQvdCw0Y8g0YjQuNGA0LjQvdCwIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMwCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKIG1zZ3N0ciAi0KDQsNGB0YHRgtC+0Y/QvdC40LUg0L7RgtGB0YLRg9C/0LAg0YHQu9C10LLQsCIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9jb2x1bW4uYzozMgogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gcmlnaHQgYm9yZGVyIgogbXNnc3RyICLQoNCw0YHRgdGC0L7Rj9C90LjQtSDQvtGC0YHRgtGD0L/QsCDRgdC/0YDQsNCy0LAiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzMKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIGJldHdlZW4gY29sdW1ucyIKIG1zZ3N0ciAi0KDQsNGB0YHRgtC+0Y/QvdC40LUg0L7RgtGB0YLRg9C/0LAg0LzQtdC20LTRgyDQutC+0LvQvtC90LrQsNC80LgiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6NTEKKyM6IGJ1aWx0aW4vY29sdW1uLmM6NTIKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLS1jb21tYW5kINC00L7Qu9C20LXQvSDQsdGL0YLRjCDQv9C10YDQstGL0LwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzkKIG1zZ2lkICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKLW1zZ3N0ciAiZ2l0IGNvbW1pdCBbPNC+0L/RhtC40Lg+XSBbLS1dIDzRgdC/0LXRhtC40YTQuNC60LDRhtC40Y8t0L/Rg9GC0Lg+4oCmIgorbXNnc3RyICJnaXQgY29tbWl0IFs80L7Qv9GG0LjQuD5dIFstLV0gPNGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgC3Qv9GD0YLQuD7igKYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDQKIG1zZ2lkICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKLW1zZ3N0ciAiZ2l0IHN0YXR1cyBbPNC+0L/RhtC40Lg+XSBbLS1dIDzRgdC/0LXRhtC40YTQuNC60LDRhtC40Y8t0L/Rg9GC0Lg+4oCmIgorbXNnc3RyICJnaXQgc3RhdHVzIFs80L7Qv9GG0LjQuD5dIFstLV0gPNGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgC3Qv9GD0YLQuD7igKYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDkKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNTkxNSw3ICs2NDcyLDcgQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgItCS0LDRiNC1INC40LzRjyDQuNC70Lgg0Y3Qu9C10LrRgtGA0L7QvdC90LDRjyDQv9C+0YfRgtCwINC90LDRgdGC0YDQvtC10L3RiyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDQvdCwINC+0YHQvdC+0LLQsNC90LjQuCDQstCw0YjQtdCz0L5cbtC40LzQtdC90Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC4INC40LzQtdC90Lgg0LzQsNGI0LjQvdGLLiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0L/RgNC+0LLQtdGA0YzRgtC1LCDRh9GC0L4g0L7QvdC4IFxu0L7Qv9GA0LXQtNC10LvQtdC90Ysg0L/RgNCw0LLQuNC70YzQvdC+Llxu0JLRiyDQvNC+0LbQtdGC0LUg0L7RgtC60LvRjtGH0LjRgtGMINGN0YLQviDRg9Cy0LXQtNC+0LzQu9C10L3QuNC1INGD0YHRgtCw0L3QvtCy0LjQsiDQuNGFINC90LDQv9GA0Y/QvNGD0Y4uINCX0LDQv9GD0YHRgtC40YLQtSDRgdC70LXQtNGD0Y7RidGD0Y5cbtC60L7QvNCw0L3QtNGDINC4INGB0LvQtdC00YPQudGC0LUg0LjQvdGB0YLRgNGD0LrRhtC40Y/QvCDQstCw0YjQtdCz0L4g0YLQtdC60YHRgtC+0LLQvtCz0L4g0YDQtdC00LDQutGC0L7RgNCwLCDQtNC70Y9cbtGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0LLQsNGI0LXQs9C+INGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4OlxuXG4gICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWVkaXRcblxu0J/QvtGB0LvQtSDRjdGC0L7Qs9C+LCDQuNC30LzQtdC90LjRgtGMINCw0LLRgtC+0YDRgdGC0LLQviDRjdGC0L7QuSDQutC+0LzQvNC40YLQsCDQvNC+0LbQvdC+INCx0YPQtNC10YIg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC80LDQvdC00Ys6XG5cbiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MQorIzogYnVpbHRpbi9jb21taXQuYzo2MgogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC01OTI5LDE0ICs2NDg2LDE0IEBACiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogbXNnc3RyICLQktCw0YjQtSDQuNC80Y8g0LjQu9C4INGN0LvQtdC60YLRgNC+0L3QvdCw0Y8g0L/QvtGH0YLQsCDQvdCw0YHRgtGA0L7QtdC90Ysg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0L3QsCDQvtGB0L3QvtCy0LDQvdC40Lgg0LLQsNGI0LXQs9C+XG7QuNC80LXQvdC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuCDQuNC80LXQvdC4INC80LDRiNC40L3Riy4g0J/QvtC20LDQu9GD0LnRgdGC0LAsINC/0YDQvtCy0LXRgNGM0YLQtSwg0YfRgtC+INC+0L3QuCBcbtC+0L/RgNC10LTQtdC70LXQvdGLINC/0YDQsNCy0LjQu9GM0L3Qvi5cbtCS0Ysg0LzQvtC20LXRgtC1INC+0YLQutC70Y7Rh9C40YLRjCDRjdGC0L4g0YPQstC10LTQvtC80LvQtdC90LjQtSDRg9GB0YLQsNC90L7QstC40LIg0LjRhSDQvdCw0L/RgNGP0LzRg9GOOlxuXG4gICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCLQktCw0YjQtSDQmNC80Y9cIlxuICAgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCB5b3VAZXhhbXBsZS5jb21cblxu0J/QvtGB0LvQtSDRjdGC0L7Qs9C+LCDQuNC30LzQtdC90LjRgtGMINCw0LLRgtC+0YDRgdGC0LLQviDRjdGC0L7QuSDQutC+0LzQvNC40YLQsCDQvNC+0LbQvdC+INCx0YPQtNC10YIg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC80LDQvdC00Ys6XG5cbiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MworIzogYnVpbHRpbi9jb21taXQuYzo3NAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgogInJlbW92ZSB0aGUgY29tbWl0IGVudGlyZWx5IHdpdGggXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIG1zZ3N0ciAi0JLRiyDQv9C+0L/RgNC+0YHQuNC70Lgg0LjRgdC/0YDQsNCy0LjRgtGMINC/0L7RgdC70LXQtNC90LjQuSDQutC+0LzQvNC40YIsINC90L4g0LTQtdC70LDRjyDRjdGC0L4g0LLRiyDRgdC00LXQu9Cw0LXRgtC1XG7Qv9GD0YHRgtC+0Lkg0LrQvtC80LzQuNGCLiDQktGLINC80L7QttC10YLQtSDQv9C+0LLRgtC+0YDQuNGC0Ywg0Y3RgtGDINC60L7QvNCw0L3QtNGDINGBINC+0L/RhtC40LXQuSAtLWFsbG93LWVtcHR5XG7QuNC70Lgg0LLRiyDQvNC+0LbQtdGC0LUg0YPQtNCw0LvQuNGC0Ywg0LrQvtC80LzQuNGCINC/0L7Qu9C90L7RgdGC0YzRjiDRgSDQv9C+0LzQvtGJ0YzRjiDQutC+0LzQsNC90LTRiyBcbsKrZ2l0IHJlc2V0IEhFQURewrsuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzkKIG1zZ2lkICIiCiAiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCiAiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgpAQCAtNTk0NSwxMSArNjUwMiwxMSBAQAogIlxuIgogbXNnc3RyICLQmtC+0L/QuNGA0YPQtdC80YvQuSDQutC+0LzQvNC40YIg0YLQtdC/0LXRgNGMINC/0YPRgdGCLCDQstC+0LfQvNC+0LbQvdC+INC/0L7RgdC70LUg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtC+0LIuXG7QldGB0LvQuCDQstGLINCy0YHQtSDRgNCw0LLQvdC+INGF0L7RgtC40YLQtSDRgdC00LXQu9Cw0YLRjCDQv9GD0YHRgtC+0Lkg0LrQvtC80LzQuNGCLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1OlxuXG4gICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NQorIzogYnVpbHRpbi9jb21taXQuYzo4NgogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICLQkiDQv9GA0L7RgtC40LLQvdC+0Lwg0YHQu9GD0YfQsNC1LCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlc2V0wrtcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4OAorIzogYnVpbHRpbi9jb21taXQuYzo4OQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCkBAIC01OTU5LDEwMyArNjUxNiw5OCBAQAogInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAi0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0L/RgNC+0L/Rg9GB0YLQuNGCINGN0YLQvtGCINC60L7QvNC80LjRgiwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQutC+0LzQsNC90LTRgzpcblxuICAgIGdpdCByZXNldFxuXG7Qn9C+0YHQu9C1INGN0YLQvtCz0L4gwqtnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZcK7INC/0YDQvtC00L7Qu9C20LjRgiDQutC+0L/QuNGA0L7QstCw0L3QuNC1INC+0YHRgtCw0LLRiNC40YXRgdGPINC60L7QvNC80LjRgtC+0LIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzE4CisjOiBidWlsdGluL2NvbW1pdC5jOjMxOQogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0YDQsNGB0L/QsNC60L7QstC60Lgg0L7QsdGK0LXQutGC0LAg0LTQtdGA0LXQstCwIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjM2MAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINCy0YDQtdC80LXQvdC90YvQuSDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NgogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC40L3RgtC10YDQsNC60YLQuNCy0L3QvtCz0L4g0LTQvtCx0LDQstC70LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc4CisjOiBidWlsdGluL2NvbW1pdC5jOjM3OQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgxCiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgItCh0LHQvtC5INC/0YDQuCDQvtCx0L3QvtCy0LvQtdC90LjQuCDQvtGB0L3QvtCy0L3QvtCz0L4g0LrRjdGI0LAg0LTQtdGA0LXQstCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgorIzogYnVpbHRpbi9jb21taXQuYzo0MDUgYnVpbHRpbi9jb21taXQuYzo0MjggYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDRhNCw0LnQuyBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1OQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINGB0L7Qt9C00LDRgtGMINGH0LDRgdGC0LjRh9C90YvQuSDQutC+0LzQvNC40YIg0LLQviDQstGA0LXQvNGPINGB0LvQuNGP0L3QuNGPLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYxCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0YHQvtC30LTQsNGC0Ywg0YfQsNGB0YLQuNGH0L3Ri9C5INC60L7QvNC80LjRgiDQstC+INCy0YDQtdC80Y8g0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQutC+0LzQvNC40YLQsC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CisjOiBidWlsdGluL2NvbW1pdC5jOjQ3MAogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4OAorIzogYnVpbHRpbi9jb21taXQuYzo0ODkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICLRgyDQutC+0LzQvNC40YLQsCDCqyVzwrsg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQsNCy0YLQvtGAINCyINC30LDQs9C+0LvQvtCy0LrQtSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1ODQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGhhcyBtYWxmb3JtZWQgYXV0aG9yIGxpbmUiCiBtc2dzdHIgItGDINC60L7QvNC80LjRgtCwIMKrJXPCuyDRgdGC0YDQvtC60LAg0LDQstGC0L7RgNCwINCyINC90LXQv9GA0LDQstC40LvRjNC90L7QvCDRhNC+0YDQvNCw0YLQtSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtLWF1dGhvciDQsiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0Lwg0YTQvtGA0LzQsNGC0LUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjExCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgotbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YTQvtGA0LzQsNGCINC00LDRgtGLOiAlcyIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU2CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQstGL0LHRgNCw0YLRjCDRgdC40LzQstC+0Lsg0LrQvtC80LzQtdC90YLQsNGA0LjRjywg0LrQvtGC0L7RgNGL0LlcbtC90LUg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINCyINGC0LXQutGD0YnQtdC8INGB0L7QvtCx0YnQtdC90LjQuCDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CisjOiBidWlsdGluL2NvbW1pdC5jOjY5MyBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL2NvbW1pdC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YDQvtGB0LjRgtGMINC60L7QvNC80LjRgiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NgorIzogYnVpbHRpbi9jb21taXQuYzo3MDUgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIo0YfRgtC10L3QuNC1INGE0LDQudC70LAg0LbRg9GA0L3QsNC70LAg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsClcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzA3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGE0LDQudC7INC20YPRgNC90LDQu9CwINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzEwCisjOiBidWlsdGluL2NvbW1pdC5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQuyDQttGD0YDQvdCw0LvQsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM3IGJ1aWx0aW4vY29tbWl0LmM6NzQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjczOCBidWlsdGluL2NvbW1pdC5jOjc0NgogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0YwgTUVSR0VfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc5NgorIzogYnVpbHRpbi9jb21taXQuYzo3OTcKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YjQsNCx0LvQvtC9INC+0L/QuNGB0LDQvdC40Y8g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE0CisjOiBidWlsdGluL2NvbW1pdC5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02MDY1LDcgKzY2MTcsNyBAQAogImFuZCB0cnkgYWdhaW4uXG4iCiBtc2dzdHIgIlxu0J/QvtGF0L7QttC1LCDRh9GC0L4g0LLRiyDQv9GL0YLQsNC10YLQtdGB0Ywg0LfQsNC60L7QvNC80LjRgtC40YLRjCDRgdC70LjRj9C90LjQtS5cbtCV0YHQu9C4INGN0YLQviDQvtGI0LjQsdC60LAsINC/0L7QttCw0LvRg9C50YHRgtCwINGD0LTQsNC70LjRgtC1INGE0LDQudC7XG5cdCVzXG7QuCDQv9C+0L/RgNC+0LHRg9C50YLQtSDRgdC90L7QstCwLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxOQorIzogYnVpbHRpbi9jb21taXQuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjA3NSwxNCArNjYyNywxNCBAQAogImFuZCB0cnkgYWdhaW4uXG4iCiBtc2dzdHIgIlxu0J/QvtGF0L7QttC1LCDRh9GC0L4g0LLRiyDQv9GL0YLQsNC10YLQtdGB0Ywg0LfQsNC60L7QvNC80LjRgtC40YLRjCDQv9GA0Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjQuCDQutC+0LzQvNC40YLQsC5cbtCV0YHQu9C4INGN0YLQviDQvdC1INGC0LDQuiwg0YLQviDRg9C00LDQu9C40YLQtSDRhNCw0LnQu1xuXHQlc1xu0Lgg0L/QvtC/0YDQvtCx0YPQudGC0LUg0YHQvdC+0LLQsC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCiAid2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0LTQu9GPINCy0LDRiNC40YUg0LjQt9C80LXQvdC10L3QuNC5LiDQodGC0YDQvtC60LgsXG7QvdCw0YfQuNC90LDRjtGJ0LjQtdGB0Y8g0YEgwqslY8K7INCx0YPQtNGD0YIg0L/RgNC+0LjQs9C90L7RgNC40YDQvtCy0LDQvdGLLCDQsCDQv9GD0YHRgtC+0LUg0YHQvtC+0LHRidC10L3QuNC1XG7QvtGC0LzQtdC90Y/QtdGCINC/0YDQvtGG0LXRgdGBINC60L7QvNC80LjRgtCwLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzOQorIzogYnVpbHRpbi9jb21taXQuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTYwOTAsMTcwICs2NjQyLDE2NiBAQAogIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0LTQu9GPINCy0LDRiNC40YUg0LjQt9C80LXQvdC10L3QuNC5LiDQodGC0YDQvtC60LgsXG7QvdCw0YfQuNC90LDRjtGJ0LjQtdGB0Y8g0YEgwqslY8K7INCx0YPQtNGD0YIg0L7RgdGC0LDQstC70LXQvdGLOyDQstGLINC80L7QttC10YLQtSDRg9C00LDQu9C40YLRjCDQuNGFINCy0YDRg9GH0L3Rg9GOLFxu0LXRgdC70Lgg0YXQvtGC0LjRgtC1LiDQn9GD0YHRgtC+0LUg0YHQvtC+0LHRidC10L3QuNC1INC+0YLQvNC10L3Rj9C10YIg0L/RgNC+0YbQtdGB0YEg0LrQvtC80LzQuNGC0LAuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODU5CisjOiBidWlsdGluL2NvbW1pdC5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVz0JDQstGC0L7RgDogICAgICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2NworIzogYnVpbHRpbi9jb21taXQuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNEYXRlOiAgICAgICVzIgogbXNnc3RyICIlc9CU0LDRgtCwOiAgICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg3NAorIzogYnVpbHRpbi9jb21taXQuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc9Ca0L7QvNC80LjRgtC10YA6ICAlLipzIDwlLipzPiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODg5CiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTUxCiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgItCe0YjQuNCx0LrQsCDQv9GA0Lgg0L/QvtGB0YLRgNC+0LXQvdC40Lgg0LTQtdGA0LXQstGM0LXQsiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NjkgYnVpbHRpbi90YWcuYzoyNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTY1IGJ1aWx0aW4vdGFnLmM6Mjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAi0J/QvtC20LDQu9GD0LnRgdGC0LAsINGD0LrQsNC20LjRgtC1INGB0L7QvtCx0YnQtdC90LjQtSwg0L/RgNC4INGD0LrQsNC30LDQvdC40Lgg0L7Qv9GG0LjQuSAtbSDQuNC70LggLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiLS1hdXRob3Igwqslc8K7INC90LUg0LIg0YTQvtGA0LzQsNGC0LUgwqvQmNC80Y8gPNC/0L7Rh9GC0LA+wrsg0Lgg0L3QtSDRgdC+0LLQv9Cw0LTQsNC10YIg0YEg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC8INCw0LLRgtC+0YDQvtC8IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMgYnVpbHRpbi9jb21taXQuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGA0LXQttC40Lwg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTIxCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcg0LggLXog0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTUxCiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90LjQtSDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0L7Qv9GG0LjQuSAtLXJlc2V0LWF1dGhvciDQuCAtLWF1dGhvciDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MAogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICLQndC10YfQtdCz0L4g0LjRgdC/0YDQsNCy0LvRj9GC0YwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MwogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgItCS0Ysg0LIg0L/RgNC+0YbQtdGB0YHQtSDRgdC70LjRj9C90LjRjyDigJQgINGB0LXQudGH0LDRgSDQvdC10LvRjNC30Y8g0LjRgdC/0YDQsNCy0LvRj9GC0YwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NQogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgItCS0Ysg0LIg0L/RgNC+0YbQtdGB0YHQtSDQutC+0L/QuNGA0L7QstCw0L3QuNGPINC60L7QvNC80LjRgtCwIOKAlCAg0YHQtdC50YfQsNGBINC90LXQu9GM0LfRjyDQuNGB0L/RgNCw0LLQu9GP0YLRjC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCAtLXNxdWFzaCDQuCAtLWZpeHVwINC90LUg0LzQvtCz0YPRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTgxCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzgKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAi0JzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINGC0L7Qu9GM0LrQviDQvtC00L3QsCDQuNC3INC+0L/RhtC40LkgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MworIzogYnVpbHRpbi9jb21taXQuYzoxMTgwCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICLQntC/0YbQuNGPIC1tINC90LUg0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINGBIC1jLy1DLy1GLy0tZml4dXAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExOTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4OAogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yINC80L7QttC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjyDRgtC+0LvRjNC60L4g0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBINC+0L/RhtC40Y/QvNC4IC1DLCAtYyDQuNC70LggLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjA1CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICLQnNC+0LbQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0YLQvtC70YzQutC+INC+0LTQvdCwINC40Lcg0L7Qv9GG0LjQuSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMAorIzogYnVpbHRpbi9jb21taXQuYzoxMjA3CiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QuNC1INC/0YPRgtC10Lkg0LrQsNGC0LDQu9C+0LPQvtCyINGBINC+0L/RhtC40Y/QvNC4IC0taW5jbHVkZS8tLW9ubHkg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMgotbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCi1tc2dzdHIgItCj0LzQvdC+4oCmINC+0YLQvNC10L3QsCDQv9C+0YHQu9C10LTQvdC10LPQviDRgSDQuNC30LzQtdC90LXQvdC90YvQvCDQuNC90LTQtdC60YHQvtC8LiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjE0Ci1tc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKLW1zZ3N0ciAi0J/Rg9GC0Lgg0Y/QstC90L4g0YPQutCw0LfQsNC90Ysg0L/Rg9GC0Lgg0LHQtdC3INC+0L/RhtC40LkgLWkg0LjQu9C4IC1vOyDQv9GA0LXQtNC/0L7Qu9Cw0LPQsNGOINC+0L/RhtC40Y4gLS1vbmx54oCmIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi90YWcuYzo0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxOSBidWlsdGluL3RhZy5jOjU1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0YDQtdC20LjQvNCwINC+0YfQuNGB0YLQutC4ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNAogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgItChINC+0L/RhtC40LXQuSAtYSDRg9C60LDQt9Cw0L3QuNC1INC/0YPRgtC4INC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICLQutGA0LDRgtC60L4g0L/QvtC60LDQt9Cw0YLRjCDRgdGC0LDRgtGD0YEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NCBidWlsdGluL2NvbW1pdC5jOjE2MTkKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQstC10YDRgdC40LgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2Cittc2dpZCAic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDRgdC/0YDRj9GC0LDQvdC90L7QvCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4CiBtc2dpZCAidmVyc2lvbiIKIG1zZ3N0ciAi0LLQtdGA0YHQuNGPIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUyMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MAorIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4IGJ1aWx0aW4vY29tbWl0LmM6MTYyMSBidWlsdGluL3B1c2guYzo1MzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDkKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAi0LzQsNGI0LjQvdC+0YfQuNGC0LDQtdC80YvQuSDQstGL0LLQvtC0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjIzCiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0YLQsNGC0YPRgSDQsiDQtNC70LjQvdC90L7QvCDRhNC+0YDQvNCw0YLQtSAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjI2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTQgYnVpbHRpbi9jb21taXQuYzoxNjI2CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgItC30LDQstC10YDRiNCw0YLRjCDQt9Cw0L/QuNGB0Lgg0J3Qo9Cb0JXQktCr0Jwg0LHQsNC50YLQvtC8IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTMgYnVpbHRpbi9jb21taXQuYzoxNjI5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODEKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQgYnVpbHRpbi90YWcuYzozNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBidWlsdGluL2NvbW1pdC5jOjE2MjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NiBidWlsdGluL3RhZy5jOjQxMgogbXNnaWQgIm1vZGUiCiBtc2dzdHIgItGA0LXQttC40LwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NyBidWlsdGluL2NvbW1pdC5jOjE2MjkKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70YssINC+0L/RhtC40L7QvdCw0LvRjNC90YvQtSDRgNC10LbQuNC80Ys6IGFsbCAo0LLRgdC1KSwgbm9ybWFsICjQutCw0Log0L7QsdGL0YfQvdC+KSwgbm8gKNC90LXRgikuICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LjQs9C90L7RgNC40YDRg9C10LzRi9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OCBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEgcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgItC60L7Qs9C00LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYyCiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINCyINC/0L7QtNC80L7QtNGD0LvRj9GFLCDQvtC/0YbQuNC+0L3QsNC70YzQvdC+INC60L7Qs9C00LA6IGFsbCAo0LLRgdC10LPQtNCwKSwgZGlydHkgKNC40LfQvNC10L3QtdC90L3Ri9C1KSwgdW50cmFja2VkICjQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUpLiAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY0CiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQv9C+INGB0YLQvtC70LHRhtCw0LwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC30LDQv9GA0L7RgdC40YLRjCDQvdC+0LLQvtGB0L7Qt9C00LDQvdC90YvQuSDQutC+0LzQvNC40YIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzOQorIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICLQvdC10LvRjNC30Y8g0YDQsNC30L7QsdGA0LDRgtGMINC90L7QstC+0YHQvtC30LTQsNC90L3Ri9C5INC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICLQvtGC0LTQtdC70ZHQvdC90YvQuSBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIgKNC60L7RgNC90LXQstC+0Lkg0LrQvtC80LzQuNGCKSIKIApAQCAtNjI2OSw3ICs2ODE3LDcgQEAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICLQntC/0YbQuNC4INGB0L7QvtCx0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vdGFnLmM6MzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzo0MTAKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC40Lcg0YTQsNC50LvQsCIKIApAQCAtNjI4MSw3ICs2ODI5LDcgQEAKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi0L/QvtC00LzQtdC90LjRgtGMINCw0LLRgtC+0YDQsCDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkzIGJ1aWx0aW4vZ2MuYzozMjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBidWlsdGluL2djLmM6MzU4CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAi0LTQsNGC0LAiCiAKQEAgLTYyODksOCArNjgzNyw4IEBACiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICLQv9C+0LTQvNC10L3QuNGC0Ywg0LTQsNGC0YMg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vbm90ZXMuYzozOTgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIyIGJ1aWx0aW4vbm90ZXMuYzo0MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi90YWcuYzo0MDgKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICLRgdC+0L7QsdGJ0LXQvdC40LUiCiAKQEAgLTYyOTksNyArNjg0Nyw3IEBACiBtc2dzdHIgItGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCIKIAogIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vY29tbWl0LmM6MTU5NiBidWlsdGluL2NvbW1pdC5jOjE1OTcKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo3OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IHBhcnNlLW9wdGlvbnMuaDoyNTcgcmVmLWZpbHRlci5oOjc3CiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICLQutC+0LzQvNC40YIiCiAKQEAgLTYzMjEsOSArNjg2OSw5IEBACiAKICM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCi1tc2dzdHIgItC60L7QvNC80LjRgiDRgtC10L/QtdGA0Ywg0LfQsCDQvNC+0LjQvCDQsNCy0YLQvtGA0YHRgtCy0L7QvCAo0YEg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LXQvCAtQy8tYy8tLWFtZW5kKSIKK21zZ3N0ciAi0LrQvtC80LzQuNGCINGC0LXQv9C10YDRjCDQt9CwINC80L7QuNC8INCw0LLRgtC+0YDRgdGC0LLQvtC8ICjQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YEgLUMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2xvZy5jOjE0MTMgYnVpbHRpbi9yZXZlcnQuYzo4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbG9nLmM6MTQzMCBidWlsdGluL3JldmVydC5jOjEwNQogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCBTaWduZWQtb2ZmLWJ5OiIKIApAQCAtNjMzOSw3ICs2ODg3LDcgQEAKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICLQv9C+LdGD0LzQvtC70YfQsNC90LjRjiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMgYnVpbHRpbi90YWcuYzo0MTMKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICLQutCw0Log0YPQtNCw0LvRj9GC0Ywg0L/RgNC+0LHQtdC70Ysg0LggI9C60L7QvNC80LXQvdGC0LDRgNC40Lgg0LjQtyDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAiCiAKQEAgLTYzNDcsOCArNjg5NSw4IEBACiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywg0YHRgtCw0YLRg9GBINGE0LDQudC70L7QsiDQsiDRiNCw0LHQu9C+0L0g0YHQvtC+0LHRidC10L3QuNGPINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDYgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3B1bGwuYzoxNjYKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNiBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTMKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCiBtc2dzdHIgItC/0L7QtNC/0LjRgdCw0YLRjCDQutC+0LzQvNC40YIg0YEg0L/QvtC80L7RidGM0Y4gR1BHIgogCkBAIC02NDAwLDE3MCArNjk0OCwxNzAgQEAKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LfQsNC/0LjRgdGMINC40LfQvNC10L3QtdC90LjQuSDRgSDQv9GD0YHRgtGL0Lwg0YHQvtC+0LHRidC10L3QuNC10LwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NAorIzogYnVpbHRpbi9jb21taXQuYzoxNjY1CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCBIRUFEINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzEyCisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAi0KTQsNC50LsgTUVSR0VfSEVBRCDQv9C+0LLRgNC10LbQtNC10L0gKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzE5CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjE3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICLQntGC0LzQtdC90LAg0LrQvtC80LzQuNGC0LA7INCy0Ysg0L3QtSDQuNC30LzQtdC90LjQu9C4INGB0L7QvtCx0YnQtdC90LjQtS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE3NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAi0J7RgtC80LXQvdCwINC60L7QvNC80LjRgtCwINC40Lct0LfQsCDQv9GD0YHRgtC+0LPQviDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwMgorIzogYnVpbHRpbi9jb21taXQuYzoxODAwCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCiAibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgItCg0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LHRi9C7INC+0LHQvdC+0LLQu9C10L0sINC90L4g0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINGE0LDQudC7IG5ld19pbmRleC4g0KPQtNC+0YHRgtC+0LLQtdGA0YzRgtC10YHRjCwg0YfRgtC+INC90LAg0LTQuNGB0LrQtSDQtdGB0YLRjCDRgdCy0L7QsdC+0LTQvdC+0LUg0LzQtdGB0YLQviDQuCDQutCy0L7RgtCwINC90LUg0LjRgdGH0LXRgNC/0LDQvdCwLCDQsCDQv9C+0YHQu9C1INGN0YLQvtCz0L4g0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlc2V0IEhFQUTCuyDQtNC70Y8g0LLQvtGB0YHRgtCw0L3QvtCy0LvQtdC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6OQorIzogYnVpbHRpbi9jb25maWcuYzoxMAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzzQvtC/0YbQuNC4Pl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAi0KDQsNC30LzQtdGJ0LXQvdC40LUg0YTQsNC50LvQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LPQu9C+0LHQsNC70YzQvdGL0Lkg0YTQsNC50Lsg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0LjRgdGC0LXQvNC90YvQuSDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgItC40LTQtdC90YIt0LTQstC+0LjRh9C9LdC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC90LDRgdGC0YDQvtC50LrQuCDQuNC3INGD0LrQsNC30LDQvdC90L7Qs9C+INC00LLQvtC40YfQvdC+0LPQviDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAi0JTQtdC50YHRgtCy0LjQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2NAogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINC30L3QsNGH0LXQvdC40LU6INC40LzRjyBb0YjQsNCx0LvQvtC9LdC30L3QsNGH0LXQvdC40LldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINCy0YHQtSDQt9C90LDRh9C10L3QuNGPOiDQutC70Y7RhyBb0YjQsNCx0LvQvtC9LdC30L3QsNGH0LXQvdC40LldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY0CisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0LfQvdCw0YfQtdC90LjRjyDQv9C+INGI0LDQsdC70L7QvdGDOiDRiNCw0LHQu9C+0L0t0LjQvNC10L0gW9GI0LDQsdC70L7QvS3Qt9C90LDRh9C10L3QuNC5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCiBtc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSwg0YHQv9C10YbQuNGE0LjRh9C90L7QtSDQtNC70Y8gVVJMOiDRgNCw0LfQtNC10LtbLtC/0LXRgNC10LzQtdC90L3QsNGPXSBVUkwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAi0LfQsNC80LXQvdC40YLRjCDQstGB0LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1INC/0LXRgNC10LzQtdC90L3Ri9C1OiDQuNC80Y8g0LfQvdCw0YfQtdC90LjQtSBb0YjQsNCx0LvQvtC9LdC30L3QsNGH0LXQvdC40LldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3CisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC90L7QstGD0Y4g0L/QtdGA0LXQvNC10L3QvdGD0Y46INC40LzRjyDQt9C90LDRh9C10L3QuNC1IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4CisjOiBidWlsdGluL2NvbmZpZy5jOjcwCiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0L/QtdGA0LXQvNC10L3QvdGD0Y46INC40LzRjyBb0YjQsNCx0LvQvtC9LdC30L3QsNGH0LXQvdC40LldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjcxCiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINCy0YHQtSDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1OiDQuNC80Y8gW9GI0LDQsdC70L7QvS3Qt9C90LDRh9C10L3QuNC5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MAorIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAi0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0YDQsNC30LTQtdC7OiDRgdGC0LDRgNC+0LUt0LjQvNGPINC90L7QstC+0LUt0LjQvNGPIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcxCisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0YDQsNC30LTQtdC7OiDQuNC80Y8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQstC10YHRjCDRgdC/0LjRgdC+0LoiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJvcGVuIGFuIGVkaXRvciIKIG1zZ3N0ciAi0L7RgtC60YDRi9GC0Ywg0LIg0YDQtdC00LDQutGC0L7RgNC1IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogc2xvdCBbZGVmYXVsdF0iCiBtc2dzdHIgItC90LDQudGC0Lgg0L3QsNGB0YLRgNC+0LXQvdC90YvQuSDRhtCy0LXRgjog0YDQsNC30LTQtdC7IFvQv9C+LdGD0LzQvtC70YfQsNC90LjRjl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LjRgtGMLCDRgdGD0YnQtdGB0YLQstGD0LXRgiDQu9C4INC90LDRgdGC0YDQvtC10L3QvdGL0Lkg0YbQstC10YI6INGA0LDQt9C00LXQuyBbc3Rkb3V0LdC10YHRgtGMLXR0eV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJUeXBlIgogbXNnc3RyICLQotC40L8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKIG1zZ2lkICJ2YWx1ZSBpcyBcInRydWVcIiBvciBcImZhbHNlXCIiCiBtc2dzdHIgItC30L3QsNGH0LXQvdC40LUg4oCUINGN0YLQviDCq3RydWXCuyAo0L/RgNCw0LLQtNCwKSDQuNC70LggwqtmYWxzZcK7ICjQu9C+0LbRjCkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAi0LfQvdCw0YfQtdC90LjQtSDigJQg0Y3RgtC+INC00LXRgdGP0YLQuNGH0L3QvtC1INGH0LjRgdC70L4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgItC30L3QsNGH0LXQvdC40LUg4oCUINGN0YLQviAtLWJvb2wg0LjQu9C4IC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgwCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAi0LfQvdCw0YfQtdC90LjQtSDigJQg0Y3RgtC+INC/0YPRgtGMICjQuiDRhNCw0LnQu9GDINC40LvQuCDQutCw0YLQsNC70L7Qs9GDKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MQorIzogYnVpbHRpbi9jb25maWcuYzo4MwogbXNnaWQgIk90aGVyIgogbXNnc3RyICLQlNGA0YPQs9C+0LUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgItC30LDQstC10YDRiNCw0YLRjCDQt9C90LDRh9C10L3QuNGPINCd0KPQm9CV0JLQq9CcINCx0LDQudGC0L7QvCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgdmFyaWFibGUgbmFtZXMgb25seSIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0YLQvtC70YzQutC+INC40LzQtdC90LAg0L/QtdGA0LXQvNC10L3QvdGL0YUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODYKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgItGD0YfQuNGC0YvQstCw0YLRjCDQtNC40YDQtdC60YLQuNCy0YsgaW5jbHVkZSAo0LLQutC70Y7Rh9C10L3QuNGPINGE0LDQudC70L7Qsikg0L/RgNC4INC30LDQv9GA0L7RgdC1IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg1CisjOiBidWlsdGluL2NvbmZpZy5jOjg3CiBtc2dpZCAic2hvdyBvcmlnaW4gb2YgY29uZmlnIChmaWxlLCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgY29tbWFuZCBsaW5lKSIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQuNGB0YLQvtGH0L3QuNC6INC90LDRgdGC0YDQvtC50LrQuCAo0YTQsNC50LssINGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLQstC+0LQsINC00LLQvtC40YfQvdGL0Lkg0L7QsdGK0LXQutGCLCDQutC+0LzQsNC90LTQvdCw0Y8g0YHRgtGA0L7QutCwKSIKIApAQCAtNjU4MSw2NjkgKzcxMjksNzk3IEBACiAiI1x0ZW1haWwgPSAlc1xuIgogbXNnc3RyICIjINCt0YLQviDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIEdpdC5cblt1c2VyXVxuIyDQn9C+0LbQsNC70YPQudGB0YLQsCwg0LDQtNCw0L/RgtC40YDRg9C50YLQtSDQuCDRgNCw0YHQutC+0LzQvNC10L3RgtC40YDRg9C50YLQtSDRgdC70LXQtNGD0Y7RidC40LUg0YHRgtGA0L7QutC4OlxuI1x0dXNlciA9ICVzXG4jXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCisjOiBidWlsdGluL2NvbmZpZy5jOjQ5OQorbXNnaWQgIi0tbG9jYWwgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1sb2NhbCDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LLQvdGD0YLRgNC4IGdpdCDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggJXMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjOiBidWlsdGluL2NvbmZpZy5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgogIiAgICAgICBVc2UgYSByZWdleHAsIC0tYWRkIG9yIC0tcmVwbGFjZS1hbGwgdG8gY2hhbmdlICVzLiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC/0LXRgNC10LfQsNC/0LjRgdCw0YLRjCDQvdC10YHQutC+0LvRjNC60L4g0LfQvdCw0YfQtdC90LjQuSDQvtC00L3QuNC8XG4gICAgICAg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgNC10LPRg9C70Y/RgNC90YvQtSDQstGL0YDQsNC20LXQvdC40Y8sINC/0LDRgNCw0LzQtdGC0YDRiyAtLWFkZCDQuNC70LggLS1yZXBsYWNlLWFsbCwg0YfRgtC+0LHRiyDQuNC30LzQtdC90LjRgtGMICVzLiIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODYKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg3CiBtc2dpZCAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIG1zZ3N0ciAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTYKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk3CiBtc2dpZCAicHJpbnQgc2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0IgogbXNnc3RyICLQstGL0LLQvtC0INGA0LDQt9C80LXRgNC+0LIg0LIg0YPQtNC+0LHQvtGH0LjRgtCw0LXQvNC+0Lwg0LTQu9GPINGH0LXQu9C+0LLQtdC60LAg0LLQuNC00LUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjE5CiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIFs8Y29tbWl0LWlzaD4uLi5dIgogbXNnc3RyICJnaXQgZGVzY3JpYmUgWzzQvtC/0YbQuNC4Pl0gWzzRg9C60LDQt9Cw0YLQtdC70Ywt0LrQvtC80LzQuNGC0LA+4oCmXSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjE4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjAKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gLS1kaXJ0eSIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs80L7Qv9GG0LjQuD5dIC0tZGlydHkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImhlYWQiCittc2dzdHIgItGD0LrQsNC30LDRgtC10LvRjCDQvdCwINCy0LXRgtC60YMiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImxpZ2h0d2VpZ2h0IgorbXNnc3RyICLQu9C10LPQutC+0LLQtdGB0L3Ri9C5IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJhbm5vdGF0ZWQiCittc2dzdHIgItCw0L3QvdC+0YLQuNGA0L7QstCw0L3QvdGL0LkiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICLQsNC90L3QvtGC0LjRgNC+0LLQsNC90L3QsNGPINC80LXRgtC60LAgJXMg0L3QtSDQtNC+0YHRgtGD0L/QvdCwIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCiBtc2dzdHIgItCw0L3QvdC+0YLQuNGA0L7QstCw0L3QvdCw0Y8g0LzQtdGC0LrQsCAlcyDQvdC1INGB0L7QtNC10YDQttC40YIg0LLRgdGC0YDQvtC10L3QvdC+0LPQviDQvdCw0LfQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjIzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgItC80LXRgtC60LAgwqslc8K7INGD0LbQtSDQt9C00LXRgdGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ4MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4NiBidWlsdGluL2xvZy5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC40LzRjyDQvtCx0YrQtdC60YLQsCAlcyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCAnJXMnIG9iamVjdCIKIG1zZ3N0ciAiJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LXQudGB0YLQstC40YLQtdC70YzQvdGL0Lwg0L7QsdGK0LXQutGC0L7QvCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGFnIGV4YWN0bHkgbWF0Y2hlcyAnJXMnIgogbXNnc3RyICLQvdC10YIg0LzQtdGC0L7Quiwg0YLQvtGH0L3QviDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40YUgwqslc8K7IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNlYXJjaGluZyB0byBkZXNjcmliZSAlc1xuIgogbXNnc3RyICLQv9C+0LjRgdC6INC+0L/QuNGB0LDQvdC40Y8g0LTQu9GPICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMTkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmluaXNoZWQgc2VhcmNoIGF0ICVzXG4iCiBtc2dzdHIgItC/0L7QuNGB0Log0L7QutC+0L3Rh9C10L0g0L3QsCAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzQ2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyBhbm5vdGF0ZWQgdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKICJIb3dldmVyLCB0aGVyZSB3ZXJlIHVuYW5ub3RhdGVkIHRhZ3M6IHRyeSAtLXRhZ3MuIgogbXNnc3RyICLQndC10YIg0LDQvdC90L7RgtC40YDQvtCy0LDQvdC90YvRhSDQvNC10YLQvtC6LCDQutC+0YLQvtGA0YvQtSDQvNC+0LPRg9GCINC+0L/QuNGB0LDRgtGMIMKrJXPCuy5cbtCd0L4g0LjQvNC10Y7RgtGB0Y8g0L3QtdCw0L3QvdC+0YLQuNGA0L7QstCw0L3QvdGL0LUg0LzQtdGC0LrQuDog0L/QvtC/0YDQvtCx0YPQudGC0LUg0LTQvtCx0LDQstC40YLRjCDQv9Cw0YDQsNC80LXRgtGAIC0tdGFncy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCiAiVHJ5IC0tYWx3YXlzLCBvciBjcmVhdGUgc29tZSB0YWdzLiIKIG1zZ3N0ciAi0J3QtdGCINC80LXRgtC+0LosINC60L7RgtC+0YDRi9C1INC80L7Qs9GD0YIg0L7Qv9C40YHQsNGC0Ywgwqslc+KApi5cbtCf0L7Qv9GA0L7QsdGD0LnRgtC1INC00L7QsdCw0LLQuNGC0Ywg0L/QsNGA0LDQvNC10YLRgCAtLWFsd2F5cyDQuNC70Lgg0YHQvtC30LTQsNGC0Ywg0LrQsNC60LjQtS3QvdC40LHRg9C00Ywg0LzQtdGC0LrQuC4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCiBtc2dzdHIgItC/0L7RgdC10YnQtdC90L4gJWx1INC60L7QvNC80LjRgtC+0LJcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgogImdhdmUgdXAgc2VhcmNoIGF0ICVzXG4iCiBtc2dzdHIgItCx0L7Qu9C10LUgJWkg0LzQtdGC0L7QuiDQvdCw0LnQtNC10L3Qvjsg0L/QvtC60LDQt9Cw0L3QviDQv9C+0YHQu9C10LTQvdC40LUgJWlcbtC+0YHRgtCw0L3QvtCy0LvQtdC9INC/0L7QuNGB0Log0L/QvtGB0LvQtSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiBtc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKIG1zZ3N0ciAi0L/QvtC40YHQuiDQvNC10YLQutC4LCDQutC+0YLQvtGA0LDRjyDQuNC00LXRgiDQv9C+0YHQu9C1INC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQyCiBtc2dpZCAiZGVidWcgc2VhcmNoIHN0cmF0ZWd5IG9uIHN0ZGVyciIKIG1zZ3N0ciAi0LLRi9Cy0L7QtCDQvtGC0LvQsNC00L7Rh9C90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCDRgdGC0YDQsNGC0LXQs9C40Lgg0L/QvtC40YHQutCwINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstGL0LLQvtC0IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQzCiBtc2dpZCAidXNlIGFueSByZWYiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQu9GO0LHRg9GOINGB0YHRi9C70LrRgyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5OQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NAogbXNnaWQgInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LvRjtCx0YPRjiDQvNC10YLQutGDLCDQtNCw0LbQtSDQvdC10LDQvdC90L7RgtC40YDQvtCy0LDQvdC90YPRjiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgItCy0YHQtdCz0LTQsCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LTQu9C40L3QvdGL0Lkg0YTQvtGA0LzQsNGCINCy0YvQstC+0LTQsCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAi0YHQu9C10LTQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQt9CwINC/0LXRgNCy0YvQvCDRgNC+0LTQuNGC0LXQu9C10LwiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDkKIG1zZ2lkICJvbmx5IG91dHB1dCBleGFjdCBtYXRjaGVzIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINGC0L7Qu9GM0LrQviDRgtC+0YfQvdGL0LUg0YHQvtCy0L/QsNC00LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTEKIG1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgogbXNnc3RyICLRgNCw0YHRgdC80LDRgtGA0LjQstCw0YLRjCDQv9C+0YHQu9C10LTQvdC40LUgPG4+INC80LXRgtC+0LogKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiAxMCkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTMKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLRgNCw0YHRgdC80LDRgtGA0LjQstCw0YLRjCDRgtC+0LvRjNC60L4g0LzQtdGC0LrQuCDQv9C+IDzRiNCw0LHQu9C+0L3Rgz4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAgYnVpbHRpbi9uYW1lLXJldi5jOjMyMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NQorbXNnaWQgImRvIG5vdCBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAi0L3QtSDRg9GH0LjRgtGL0LLQsNGC0Ywg0LzQtdGC0LrQuCwg0LrQvtGC0L7RgNGL0LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YIgPNGI0LDQsdC70L7QvdGDPiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NyBidWlsdGluL25hbWUtcmV2LmM6NDA2CiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICLQtdGB0LvQuCDQvdC1INC90LDQudC00LXQvdC+LCDQv9C+0LrQsNC30LDRgtGMINGB0L7QutGA0LDRidC10L3QvdGL0Lkg0L3QvtC80LXRgCDRgNC10LTQsNC60YbQuNC4INC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU4IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjEKIG1zZ2lkICJtYXJrIgogbXNnc3RyICLQv9C+0LzQtdGC0LrQsCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1OQogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCA80L/QvtC80LXRgtC60YM+INC/0YDQuCDQuNC30LzQtdC90LXQvdC90L7QvCDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjjogwqstZGlydHnCuykiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjIKK21zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKK21zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCA80L/QvtC80LXRgtC60YM+INC90LAg0L/QvtCy0YDQtdC20LTRkdC90L3QvtC1INGA0LDQsdC+0YfQtdC1INC00LXRgNC10LLQviAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y46IMKrLWJyb2tlbsK7KSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4MAogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgogbXNnc3RyICItLWxvbmcg0L3QtdGB0L7QstC80LXRgdGC0LjQvNC+INGBIC0tYWJicmV2PTAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MDkKIG1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKIG1zZ3N0ciAi0JjQvNC10L3QsCDQvdC1INC90LDQudC00LXQvdGLLCDQvdC1INC80L7Qs9GDINC90LjRh9C10LPQviDQvtC/0LjRgdCw0YLRjC4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSDQvdC10YHQvtCy0LzQtdGB0YLQuNC80L4g0YEg0YPQutCw0LfQsNC90LjQtdC8INGD0LrQsNC30LDRgtC10LvQtdC5INC60L7QvNC80LjRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjg2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU0Cittc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICItLWJyb2tlbiDQvdC10YHQvtCy0LzQtdGB0YLQuNC80L4g0YEg0YPQutCw0LfQsNC90LjQtdC8INGD0LrQsNC30LDRgtC10LvQtdC5INC60L7QvNC80LjRgtC+0LIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IG5vdCBhIHJlZ3VsYXIgZmlsZSBvciBzeW1saW5rIgogbXNnc3RyICLCqyVzwrs6INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQvtCx0YvRh9C90YvQvCDRhNCw0LnQu9C+0Lwg0LjQu9C4INGB0LjQvNCy0L7Qu9GM0L3QvtC5INGB0YHRi9C70LrQvtC5IgogCi0jOiBidWlsdGluL2RpZmYuYzoyMzcKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQv9Cw0YDQsNC80LXRgtGAOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYxCisjOiBidWlsdGluL2RpZmYuYzozNTkKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0J3QtSDQvdCw0LnQtNC10L0gZ2l0INGA0LXQv9C+0LfQuNGC0L7QuNC5IgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDQKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L0g0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC+0LHRitC10LrRgiDCqyVzwrsuIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTMKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICLQv9C10YDQtdC00LDQvdC+INCx0L7Qu9GM0YjQtSDQtNCy0YPRhSDQtNCy0L7QuNGH0L3Ri9GFINC+0LHRitC10LrRgtC+0LI6IMKrJXPCuyIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDIwCisjOiBidWlsdGluL2RpZmYuYzo0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L0g0L3QtdC+0LHRgNCw0LHQvtGC0LDQvdC90YvQuSDQvtCx0YrQtdC60YIgwqslc8K7LiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjkKK21zZ2lkICJnaXQgZGlmZnRvb2wgWzxvcHRpb25zPl0gWzxjb21taXQ+IFs8Y29tbWl0Pl1dIFstLV0gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBkaWZmdG9vbCBbPNC+0L/RhtC40Lg+XSBbPNC60L7QvNC80LjRgj4gWzzQutC+0LzQvNC40YI+XV0gWy0tXSBbPNC/0YPRgtGMPuKApl0iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkOiAlZCIKK21zZ3N0ciAi0YHQsdC+0Lk6ICVkIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIHN5bWxpbmsgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgyAlcyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rIGZpbGUgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGE0LDQudC7INGB0LjQvNCy0L7Qu9GM0L3QvtC5INGB0YHRi9C70LrQuCAlcyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMgZm9yIHN5bWxpbmsgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC+0LHRitC10LrRgiAlcyDQtNC70Y8g0YHQuNC80LLQvtC70YzQvdC+0Lkg0YHRgdGL0LvQutC4ICVzIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NDAzCittc2dpZCAiIgorImNvbWJpbmVkIGRpZmYgZm9ybWF0cygnLWMnIGFuZCAnLS1jYycpIGFyZSBub3Qgc3VwcG9ydGVkIGluXG4iCisiZGlyZWN0b3J5IGRpZmYgbW9kZSgnLWQnIGFuZCAnLS1kaXItZGlmZicpLiIKK21zZ3N0ciAi0LrQvtC80LHQuNC90LjRgNC+0LLQsNC90L3Ri9C1INGE0L7RgNC80LDRgtGLINGA0LDQt9C70LjRh9C40Lkg0YTQsNC50LvQvtCyKMKrLWPCuyDQuCDCqy0tY2PCuykg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNGO0YLRgdGPINCyINGA0LXQttC40LzQtSDRgdGA0LDQstC90LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQvtCyKMKrLWTCuyDQuCDCqy0tZGlyLWRpZmbCuykuIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgorbXNnc3RyICLQvtCx0LAg0YTQsNC50LvQsCDQuNC30LzQtdC90LXQvdGLOiDCqyVzwrsg0Lggwqslc8K7LiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyOAorbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgorbXNnc3RyICLRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQsdGL0Lsg0L/QvtC60LjQvdGD0YIuIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKK21zZ3N0ciAi0LLRgNC10LzQtdC90L3Ri9C1INGE0LDQudC70Ysg0YPQttC1INC90LDRhdC+0LTRj9GC0YHRjyDQsiDCqyVzwrsuIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCittc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCittc2dzdHIgItCy0L7Qt9C80L7QttC90L4g0LLRiyDRhdC+0YLQuNGC0LUg0LjRhSDRg9C00LDQu9C40YLRjCDQuNC70Lgg0LLQvtGB0YHRgtCw0L3QvtCy0LjRgtGMLiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY4OQorbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgwqtkaWZmLmd1aXRvb2zCuyDQstC80LXRgdGC0L4gwqtkaWZmLnRvb2zCuyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5MQorbXNnaWQgInBlcmZvcm0gYSBmdWxsLWRpcmVjdG9yeSBkaWZmIgorbXNnc3RyICLQstGL0L/QvtC70L3QuNGC0Ywg0L/QvtGE0LDQudC70L7QstC+0LUg0YHRgNCw0LLQvdC10L3QuNC1INCy0YHQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5MworbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKK21zZ3N0ciAi0L3QtSDRgdC/0YDQsNGI0LjQstCw0YLRjCDQv9C10YDQtdC0INC30LDQv9GD0YHQutC+0Lwg0YPRgtC40LvQuNGC0Ysg0YHRgNCw0LLQvdC10L3QuNGPIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk5Cittc2dpZCAidXNlIHN5bWxpbmtzIGluIGRpci1kaWZmIG1vZGUiCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgdC40LzQstC+0LvRjNC90YvQtSDRgdGB0YvQu9C60Lgg0LIg0YDQtdC20LjQvNC1INGB0YDQsNCy0L3QtdC90LjRjyDQutCw0YLQsNC70L7Qs9CwIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAwCittc2dpZCAiPHRvb2w+IgorbXNnc3RyICI80YPRgtC40LvQuNGC0LA+IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAxCittc2dpZCAidXNlIHRoZSBzcGVjaWZpZWQgZGlmZiB0b29sIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YPQutCw0LfQsNC90L3Rg9GOINGD0YLQuNC70LjRgtGDINGB0YDQsNCy0L3QtdC90LjRjyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMworbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKK21zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGD0YLQuNC70LjRgiwg0LrQvtGC0L7RgNGL0LUg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgwqstLXRvb2zCuyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgorbXNnaWQgIiIKKyJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0IgorIiBjb2RlIgorbXNnc3RyICLQstGL0YXQvtC00LjRgtGMINC40LcgwqtnaXQtZGlmZnRvb2zCuywg0LXRgdC70Lgg0LLRi9C30LLQsNC90L3QsNGPINGD0YLQuNC70LjRgtCwINGB0YDQsNCy0L3QtdC90LjRjyDQstC10YDQvdGD0LvQsCDQvdC1INC90YPQu9C10LLQvtC5INC60L7QtCDQstC+0LfQstGA0LDRgtCwIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA4Cittc2dpZCAiPGNvbW1hbmQ+IgorbXNnc3RyICI80LrQvtC80LDQvdC00LA+IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5Cittc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7RgdC+0LHRg9GOINC60L7QvNCw0L3QtNGDINC00LvRjyDQv9GA0L7RgdC80L7RgtGA0LAg0YDQsNC30LvQuNGH0LjQuSIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjczMworbXNnaWQgIm5vIDx0b29sPiBnaXZlbiBmb3IgLS10b29sPTx0b29sPiIKK21zZ3N0ciAi0L3QtSDQv9C10YDQtdC00LDQvdCwIDzRg9GC0LjQu9C40YLQsD4g0LTQu9GPIC0tdG9vbD080YPRgtC40LvQuNGC0LA+IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQwCittc2dpZCAibm8gPGNtZD4gZ2l2ZW4gZm9yIC0tZXh0Y21kPTxjbWQ+IgorbXNnc3RyICLQvdC1INC/0LXRgNC10LTQsNC90LAgPNC60L7QvNCw0L3QtNCwPiDQtNC70Y8gLS1leHRjbWQ9PNC60L7QvNCw0L3QtNCwPiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI2CiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFvQvtC/0YbQuNC4LXJldi1saXN0XSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MgogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L/RgNC+0LPRgNC10YHRgSDQv9C+0YHQu9C1IDxuPiDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICLQstGL0LHQvtGAINC+0LHRgNCw0LHQvtGC0LrQuCDQv9C+0LTQv9C40YHQsNC90L3Ri9GFINC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICLQstGL0LHQvtGAINC+0LHRgNCw0LHQvtGC0LrQuCDQvNC10YLQvtC6LCDQutC+0YLQvtGA0YvQvNC4INC/0L7QvNC10YfQtdC90Ysg0L7RgtGE0LjQu9GM0YLRgNC+0LLQsNC90L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkwCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgItCX0LDQv9C40YHQsNGC0Ywg0L/QvtC80LXRgtC60Lgg0LIg0Y3RgtC+0YIg0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTIKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgItCY0LzQv9C+0YDRgtC40YDQvtCy0LDRgtGMINC/0L7QvNC10YLQutC4INC40Lcg0Y3RgtC+0LPQviDRhNCw0LnQu9CwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk0CiBtc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCiBtc2dzdHIgItCf0L7QtNC00LXQu9Cw0YLRjCDQsNCy0YLQvtGA0LAg0LzQtdGC0LrQuCwg0LXRgdC70Lgg0YMg0LzQtdGC0LrQuCDQvtC9INC+0YLRgdGD0YLRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAi0JLRi9Cy0LXRgdGC0Lgg0L/QvtC70L3QvtC1INC00LXRgNC10LLQviDQtNC70Y8g0LrQsNC20LTQvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTgKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC/0L7QvNC10YLQutGDINC30LDQstC10YDRiNC10L3QuNGPINCyINC60L7QvdGG0LUg0L/QvtGC0L7QutCwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk3CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CiBtc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgogbXNnc3RyICLQn9GA0L7Qv9GD0YHRgtC40YLRjCDQstGL0LLQvtC0INC00LDQvdC90YvRhSDQtNCy0L7QuNGH0L3Ri9GFINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTgKLW1zZ2lkICJyZWZzcGVjIgotbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRhtC40Y8g0YHRgdGL0LvQutC4IgotCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5Ci1tc2dpZCAiQXBwbHkgcmVmc3BlYyB0byBleHBvcnRlZCByZWZzIgotbXNnc3RyICLQn9GA0LjQvNC10L3QuNGC0Ywg0YHQv9C10YbQuNGE0LjQutCw0YbQuNGOINGB0YHRi9C70LrQuCDQuiDRjdC60YHQv9C+0YDRgtC40YDRg9C10LzRi9C8INGB0YHRi9C70LrQsNC8IgotCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMAorbXNnaWQgInJlZnNwZWMiCittc2dzdHIgItGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgCDRgdGB0YvQu9C60LgiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAxCittc2dpZCAiQXBwbHkgcmVmc3BlYyB0byBleHBvcnRlZCByZWZzIgorbXNnc3RyICLQn9GA0LjQvNC10L3QuNGC0Ywg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGAINGB0YHRi9C70LrQuCDQuiDRjdC60YHQv9C+0YDRgtC40YDRg9C10LzRi9C8INGB0YHRi9C70LrQsNC8IgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMgogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgItGB0LTQtdC70LDRgtGMINCy0YvQstC+0LQg0LDQvdC+0L3QuNC80L3Ri9C8IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKLW1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCi1tc2dzdHIgImdpdCBmZXRjaCBbPNC+0L/RhtC40Lg+XSBbPNGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+IFs80YHQv9C10YbQuNGE0LjQutCw0YbQuNGPLdGB0YHRi9C70LrQuD7igKZdXSIKLQogIzogYnVpbHRpbi9mZXRjaC5jOjIyCittc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgorbXNnc3RyICJnaXQgZmV0Y2ggWzzQvtC/0YbQuNC4Pl0gWzzRgNC10L/QvtC30LjRgtC+0YDQuNC5PiBbPNGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgC3RgdGB0YvQu9C60Lg+4oCmXV0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzzQvtC/0YbQuNC4Pl0gPNCz0YDRg9C/0L/QsD4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMworIzogYnVpbHRpbi9mZXRjaC5jOjI0CiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs80L7Qv9GG0LjQuD5dIFsoPNGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+IHwgPNCz0YDRg9C/0L/QsD4p4oCmXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI0CisjOiBidWlsdGluL2ZldGNoLmM6MjUKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE3NQorIzogYnVpbHRpbi9mZXRjaC5jOjkwIGJ1aWx0aW4vcHVsbC5jOjE4MgogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgItC40LfQstC70LXRh9GMINGB0L4g0LLRgdC10YUg0LLQvdC10YjQvdC40YUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdCyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9wdWxsLmM6MTg1CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICLQtNC+0L/QuNGB0LDRgtGMINC6IC5naXQvRkVUQ0hfSEVBRCDQstC80LXRgdGC0L4g0L/QtdGA0LXQt9Cw0L/QuNGB0LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgItC/0YPRgtGMINC6INC/0YDQvtCz0YDQsNC80LzQtSDRg9C/0LDQutC+0LLQutC4INC/0LDQutC10YLQsCDQvdCwINC80LDRiNC40L3QtSDRgSDQstC90LXRiNC90LjQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC10LwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAgYnVpbHRpbi9wdWxsLmM6MTgzCisjOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTkwCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90LDRjyDQv9C10YDQtdC30LDQv9C40YHRjCDQu9C+0LrQsNC70YzQvdC+0Lkg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMgorIzogYnVpbHRpbi9mZXRjaC5jOjk3CiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICLQuNC30LLQu9C10YfRjCDRgSDQvdC10YHQutC+0LvRjNC60LjRhSDQstC90LXRiNC90LjRhSDRgNC10L/QvtC30LjRgtC+0YDQuNC10LIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQgYnVpbHRpbi9wdWxsLmM6MTg1CisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0LjQt9Cy0LvQtdGH0Ywg0LLRgdC1INC80LXRgtC60Lgg0Lgg0YHQstGP0LfQsNC90L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA2CisjOiBidWlsdGluL2ZldGNoLmM6MTAxCiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICLQvdC1INC40LfQstC70LXQutCw0YLRjCDQstGB0LUg0LzQtdGC0LrQuCAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMwogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INC/0L7QtNC80L7QtNGD0LvQtdC5LCDQutC+0YLQvtGA0YvQtSDQsdGD0LTRg9GCINGB0LrQsNGH0LDQvdGLINC/0LDRgNGA0LDQu9C10LvRjNC90L4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAgYnVpbHRpbi9wdWxsLmM6MTg4CisjOiBidWlsdGluL2ZldGNoLmM6MTA1IGJ1aWx0aW4vcHVsbC5jOjE5NQogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICLQv9C+0YfQuNGB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0LLQvdC10YjQvdC40LUg0LLQtdGC0LrQuCwg0LrQvtGC0L7RgNGL0YUg0YPQttC1INC90LXRgiDQvdCwINCy0L3QtdGI0L3QtdC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL2ZldGNoLmM6MTA2IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MTIzCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICLQv9C+INGC0YDQtdCx0L7QstCw0L3QuNGOIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNwogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItGD0L/RgNCw0LLQu9C10L3QuNC1INGA0LXQutGD0YDRgdC40LLQvdGL0Lwg0LjQt9Cy0LvQtdGH0LXQvdC40LXQvCDQv9C+0LTQvNC+0LTRg9C70LXQuSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNiBidWlsdGluL3B1bGwuYzoyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgItC+0YHRgtCw0LLQuNGC0Ywg0LfQsNCz0YDRg9C20LXQvdC90YvQuSDQv9Cw0LrQtdGCINC00LDQvdC90YvRhSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMwogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0L7QsdC90L7QstC70LXQvdC40LUg0YHRgdGL0LvQutC4IEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICLRg9C70YPQs9GD0LHQuNGC0Ywg0LjRgdGC0L7RgNC40Y4g0YfQsNGB0YLQuNGH0L3QvtCz0L4g0LrQu9C+0L3QsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMworIzogYnVpbHRpbi9mZXRjaC5jOjExOAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgogbXNnc3RyICLRg9Cz0LvRg9Cx0LjRgtGMINC40YHRgtC+0YDQuNGOINGH0LDRgdGC0LjRh9C90L7Qs9C+INC60LvQvtC90LAg0L7RgdC90L7QstGL0LLQsNGP0YHRjCDQvdCwINCy0YDQtdC80LXQvdC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNCBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0L/RgNC10L7QsdGA0LDQt9C+0LLQsNGC0Ywg0LIg0L/QvtC70L3Ri9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2ZldGNoLmM6MTI2IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgImRpciIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjcKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICLQv9GA0LjRgdC+0LXQtNC40L3Rj9GC0Ywg0Y3RgtC+INGB0L/QtdGA0LXQtNC4INC6INCy0YvQstC+0LTRgyDQv9GD0YLQtdC5INC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNQotbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgotbXNnc3RyICLRgNC10LbQuNC8INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC00LvRjyDRgNC10LrRg9GA0YHQuNC4IgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMAorbXNnaWQgIiIKKyJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgorImZpbGVzKSIKK21zZ3N0ciAi0L3QsNGB0YLRgNC+0LjRgtGMINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINGA0LXQutGD0YDRgdC40LLQvdC+0LUg0LjQt9Cy0LvQtdGH0LXQvdC40LUg0L/QvtC00LzQvtC00YPQu9C10LkgKNCx0L7Qu9C10LUg0L3QuNC30LrQuNC5INC/0YDQuNC+0YDQuNGC0LXRgiwg0YfQtdC8INGE0LDQudC70Ysg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4KSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQgYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICLQv9GA0LjQvdC40LzQsNGC0Ywg0YHRgdGL0LvQutC4LCDQutC+0YLQvtGA0YvQtSDQvtCx0L3QvtCy0LvRj9GO0YIgLmdpdC9zaGFsbG93IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM4IGJ1aWx0aW4vcHVsbC5jOjIxMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNSBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJyZWZtYXAiCiBtc2dzdHIgItGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQtS3RgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjEyCisjOiBidWlsdGluL2ZldGNoLmM6MTM2IGJ1aWx0aW4vcHVsbC5jOjIxNQogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICLRg9C60LDQt9Cw0YLRjCDRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0YHRgdGL0LvQvtC6INC/0YDQuCDQuNC30LLQu9C10YfQtdC90LjQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM5OAorIzogYnVpbHRpbi9mZXRjaC5jOjM5NAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YHRgdGL0LvQutGDIEhFQUQg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTE0CisjOiBidWlsdGluL2ZldGNoLmM6NTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCiBtc2dzdHIgItC+0L/RhtC40Y8gZmV0Y2gub3V0cHV0INGB0L7QtNC10YDQttC40YIg0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LTQu9GPICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA3CisjOiBidWlsdGluL2ZldGNoLmM6NjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgItC+0LHRitC10LrRgiAlcyDQvdC1INC90LDQudC00LXQvSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYxMQorIzogYnVpbHRpbi9mZXRjaC5jOjYwOQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW9Cw0LrRgtGD0LDQu9GM0L3Qvl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MjQgYnVpbHRpbi9mZXRjaC5jOjcwNAorIzogYnVpbHRpbi9mZXRjaC5jOjYyMiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW9C+0YLQutC70L7QvdC10L3Qvl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjMKIG1zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40LfQstC70LXRh9GMINGC0LXQutGD0YnRg9GOINCy0LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlvQvtCx0L3QvtCy0LvQtdC90LjQtSDQvNC10YLQutC4XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYzNSBidWlsdGluL2ZldGNoLmM6NjY4IGJ1aWx0aW4vZmV0Y2guYzo2ODQKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzMgYnVpbHRpbi9mZXRjaC5jOjY2NiBidWlsdGluL2ZldGNoLmM6NjgyCisjOiBidWlsdGluL2ZldGNoLmM6Njk3CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQu9C+0LrQsNC70YzQvdGD0Y4g0YHRgdGL0LvQutGDIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjU0CisjOiBidWlsdGluL2ZldGNoLmM6NjUyCiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJb0L3QvtCy0LDRjyDQvNC10YLQutCwXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1NworIzogYnVpbHRpbi9mZXRjaC5jOjY1NQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW9C90L7QstCw0Y8g0LLQtdGC0LrQsF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTgKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIlvQvdC+0LLQsNGPINGB0YHRi9C70LrQsF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTcKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtC1INC+0LHQvdC+0LLQu9C10L3QuNC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA0CisjOiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi0LHQtdC3INC/0LXRgNC10LzQvtGC0LrQuCDQstC/0LXRgNC10LQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyDQvdC1INC+0YLQv9GA0LDQstC40Lsg0LLRgdC1INC90LXQvtCx0YXQvtC00LjQvNGL0LUg0L7QsdGK0LXQutGC0YtcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2OQorIzogYnVpbHRpbi9mZXRjaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICIlcyDQvtGC0LrQu9C+0L3QtdC90L4g0LjQty3Qt9CwINGC0L7Qs9C+LCDRh9GC0L4g0YfQsNGB0YLQuNGH0L3Ri9C1INC60L7RgNC90Lgg0L3QtSDRgNCw0LfRgNC10YjQtdC90L4g0L7QsdC90L7QstC70Y/RgtGMIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODU2IGJ1aWx0aW4vZmV0Y2guYzo5NTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTUgYnVpbHRpbi9mZXRjaC5jOjk1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAi0JjQtyAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKICIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHRvIHJlbW92ZSBhbnkgb2xkLCBjb25mbGljdGluZyBicmFuY2hlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC90LXQutC+0YLQvtGA0YvQtSDQu9C+0LrQsNC70YzQvdGL0LUg0YHRgdGL0LvQutC4OyDQv9C+0L/RgNC+0LHRg9C50YLQtSDQt9Cw0L/Rg9GB0YLQuNGC0YwgwqtnaXQgcmVtb3RlIHBydW5lICVzwrssINGH0YLQvtCx0Ysg0L/QvtGH0LjRgdGC0LjRgtGMINGB0YLQsNGA0YvQtSwg0LrQvtC90YTQu9C40LrRgtGD0Y7RidC40LUg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyMgorIzogYnVpbHRpbi9mZXRjaC5jOjkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMg0LHRg9C00LXRgiDQstC40YHRj9GJ0LXQuSDQstC10YLQutC+0LkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIzCisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzINGB0YLQsNC70LAg0LLQuNGB0Y/RidC10Lkg0LLQtdGC0LrQvtC5KSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1NQorIzogYnVpbHRpbi9mZXRjaC5jOjk1NAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW9GD0LTQsNC70LXQvdC+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1NiBidWlsdGluL3JlbW90ZS5jOjEwMjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTUgYnVpbHRpbi9yZW1vdGUuYzoxMDIzCiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIo0L3QtdGCKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3OQorIzogYnVpbHRpbi9mZXRjaC5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgItCe0YLQutCw0Lcg0L/QvtC70YPRh9C10L3QuNGPINCyINGC0LXQutGD0YnRg9GOINCy0LXRgtC60YMgJXMg0L3QtSDQs9C+0LvQvtCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5OAorIzogYnVpbHRpbi9mZXRjaC5jOjk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDCqyUyJHPCuyDQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNCwIMKrJTEkc8K7INC00LvRjyAlMyRzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAwMQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGAIMKrJXPCuyDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0LTQu9GPICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc3CisjOiBidWlsdGluL2ZldGNoLmM6MTA3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogbXNnc3RyICLQndC1INC30L3QsNGOINC60LDQuiDQuNC30LLQu9C10YfRjCDRgSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgItCY0LfQstC70LXRh9C10L3QuNC1INC40LcgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzkgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzggYnVpbHRpbi9yZW1vdGUuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LjQt9Cy0LvQtdGH0YwgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU3CisjOiBidWlsdGluL2ZldGNoLmM6MTI1NgogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgogbXNnc3RyICLQndC1INGD0LrQsNC30LDQvSDQstC90LXRiNC90LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5LiDQo9C60LDQttC40YLQtSBVUkwg0LjQu9C4INC40LzRjyDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0LjQtyDQutC+0YLQvtGA0L7Qs9C+INC00L7Qu9C20L3RiyDQuNC30LLQu9C10LrQsNGC0YzRgdGPINC90L7QstGL0LUg0YDQtdC00LDQutGG0LjQuC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjgwCisjOiBidWlsdGluL2ZldGNoLmM6MTI3OQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgItCS0LDQvCDQvdGD0LbQvdC+INGD0LrQsNC30LDRgtGMINC40LzRjyDQvNC10YLQutC4LiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCiBtc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAi0J7RgtGA0LjRhtCw0YLQtdC70YzQvdCw0Y8g0LPRgNGD0LHQuNC90LAg0LTQu9GPIC0tZGVlcGVuINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIzCiBtc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLS1kZWVwZW4g0LggLS1kZXB0aCDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IC0tZGVwdGgg0LggLS11bnNoYWxsb3ciCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMxCisjOiBidWlsdGluL2ZldGNoLmM6MTMzMAogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXVuc2hhbGxvdyDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwINC90LAg0L/QvtC70L3QvtC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUzCisjOiBidWlsdGluL2ZldGNoLmM6MTM0OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCDQvdC1INC/0YDQuNC90LjQvNCw0LXRgiDQuNC80Y8g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDQutCw0Log0LDRgNCz0YPQvNC10L3RgiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUxCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgotbXNnc3RyICJmZXRjaCAtLWFsbCDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwINC/0YDQuCDRg9C60LDQt9Cw0L3QuNC4INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuSDRgdGB0YvQu9C+0LoiCittc2dzdHIgImZldGNoIC0tYWxsINC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAg0L/RgNC4INGD0LrQsNC30LDQvdC40Lgg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0L7QsiDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzY2CisjOiBidWlsdGluL2ZldGNoLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICLQndC10YIg0YLQsNC60L7Qs9C+INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDQuNC70Lgg0LPRgNGD0L/Qv9GLOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQn9C+0LvRg9GH0LXQvdC40LUg0LPRgNGD0L/Qv9GLINC4INGD0LrQsNC30LDQvdC40LUg0YHQv9C10YbQuNGE0LjQutCw0YbQuNC5INGB0YHRi9C70L7QuiDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTUKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDzRgdC+0L7QsdGJ0LXQvdC40LU+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA80YTQsNC50Ls+XSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjQKIG1zZ2lkICJwb3B1bGF0ZSBsb2cgd2l0aCBhdCBtb3N0IDxuPiBlbnRyaWVzIGZyb20gc2hvcnRsb2ciCiBtc2dzdHIgItC+0YLQv9GA0LDQstC40YLRjCDQsiDQttGD0YDQvdCw0LsgPG4+INC30LDQv9C40YHQtdC5INC40Lcg0LrQvtGA0L7RgtC60L7Qs9C+INC20YPRgNC90LDQu9CwIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgItGB0L7QutGA0LDRidC10L3QuNC1INC00LvRjyAtLWxvZyAo0YPRgdGC0LDRgNC10LLRiNC10LUpIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAogbXNnaWQgInRleHQiCiBtc2dzdHIgItGC0LXQutGB0YIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgPNGC0LXQutGB0YI+INC60LDQuiDQvdCw0YfQsNC70YzQvdC+0LUg0YHQvtC+0LHRidC10L3QuNC1IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICLRhNCw0LnQuyDQtNC70Y8g0YfRgtC10L3QuNGPIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFs8b3B0aW9ucz5dIFs8cGF0dGVybj5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFs80L7Qv9GG0LjQuD5dIFs80YjQsNCx0LvQvtC9Pl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTEKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50cy1hdCA8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDzQvtCx0YrQtdC60YI+XSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPG9iamVjdD5dXSIKLW1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs80L7QsdGK0LXQutGCPl1dIgotCiAjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEyCi1tc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPG9iamVjdD5dXSIKLW1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPNC+0LHRitC10LrRgj5dXSIKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPNC60L7QvNC80LjRgj5dXSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyNworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMworbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxjb21taXQ+XV0gWy0tbm8tY29udGFpbnMgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzzQutC+0LzQvNC40YI+XV0gWy0tbm8tY29udGFpbnMgWzzQutC+0LzQvNC40YI+XV0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDRg9C60LDQt9Cw0YLQtdC70Lgg0LzQtdGB0YLQsCDQt9Cw0L/QvtC70L3QtdC90LjRjyDQsiDQv9C+0LTRhdC+0LTRj9GJ0LXQvCDRhNC+0YDQvNCw0YLQtSDQtNC70Y8g0LrQvtC80LDQvdC00L3QvtCz0L4g0L/RgNC+0YbQtdGB0YHQvtGA0LAiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzAKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0YPQutCw0LfQsNGC0LXQu9C4INC80LXRgdGC0LAg0LfQsNC/0L7Qu9C90LXQvdC40Y8g0LIg0L/QvtC00YXQvtC00Y/RidC10Lwg0YTQvtGA0LzQsNGC0LUg0LTQu9GPIHBlcmwiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzEKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDRg9C60LDQt9Cw0YLQtdC70Lgg0LzQtdGB0YLQsCDQt9Cw0L/QvtC70L3QtdC90LjRjyDQsiDQv9C+0LTRhdC+0LTRj9GJ0LXQvCDRhNC+0YDQvNCw0YLQtSDQtNC70Y8gcHl0aG9uIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBUY2wiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0YPQutCw0LfQsNGC0LXQu9C4INC80LXRgdGC0LAg0LfQsNC/0L7Qu9C90LXQvdC40Y8g0LIg0L/QvtC00YXQvtC00Y/RidC10Lwg0YTQvtGA0LzQsNGC0LUg0LTQu9GPIFRjbCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNgorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNwogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGC0L7Qu9GM0LrQviA8bj4g0YHQvtCy0L/QsNC00LDRjtGJ0LjRhSDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi90YWcuYzozNzIKLW1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgotbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YTQvtGA0LzQsNGCINC00LvRjyDQstGL0LLQvtC00LAiCi0KLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggcG9pbnRzIGF0IHRoZSBnaXZlbiBvYmplY3QiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INGB0YHRi9C70L7Quiwg0LrQvtGC0L7RgNGL0LUg0YPQutCw0LfRi9Cy0LDRjtGCINC90LAg0L/QtdGA0LXQtNCw0L3QvdGL0Lkg0L7QsdGK0LXQutGCIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtCDRgtC+0LvRjNC60L4g0YHQu9C40YLRi9GFINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQvdC1INGB0LvQuNGC0YvRhSDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDRgdGB0YvQu9C+0LosINC60L7RgtC+0YDRi9C1INGB0L7QtNC10YDQttCw0YIg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL2ZzY2suYzo1MTkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDRgdGB0YvQu9C+0LosINC60L7RgtC+0YDRi9C1INC90LUg0YHQvtC00LXRgNC20LDRgiDQutC+0LzQvNC40YIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU1NAogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQutCw0YLQsNC70L7Qs9C+0LIg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTg4CisjOiBidWlsdGluL2ZzY2suYzo2NDYKIG1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbPNC+0L/RhtC40Lg+XSBbPNC+0LHRitC10LrRgj7igKZdIgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTQKKyM6IGJ1aWx0aW4vZnNjay5jOjY1MgogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvdC10LTQvtGB0YLRg9C/0L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTUKKyM6IGJ1aWx0aW4vZnNjay5jOjY1MwogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvtCx0YrQtdC60YLRiywg0L3QsCDQutC+0YLQvtGA0YvQtSDQvdC10YIg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTYKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NAogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQvtGC0YfQtdGCINC/0L4g0LzQtdGC0LrQsNC8IgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTcKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NQogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQvtGC0YfQtdGCINC/0L4g0LrQvtGA0L3QtdCy0YvQvCDRg9C30LvQsNC8IgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTgKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NgogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICLQstC+0YHQv9GA0LjQvdC40LzQsNGC0Ywg0L7QsdGK0LXQutGC0Ysg0LIg0LjQvdC00LXQutGB0LUg0LrQsNC6INC60L7RgNC90LXQstGL0LUg0YPQt9C70YsiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU5OQorIzogYnVpbHRpbi9mc2NrLmM6NjU3CiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQutC+0YDQvdC10LLRi9C1INGD0LfQu9GLINC20YPRgNC90LDQu9C+0LIg0YHRgdGL0LvQvtC6ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwMAorIzogYnVpbHRpbi9mc2NrLmM6NjU4CiBtc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCiBtc2dzdHIgItGC0LDQutC20LUg0L/RgNC+0LLQtdGA0Y/RgtGMINC/0LDQutC10YLRiyDQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDEKKyM6IGJ1aWx0aW4vZnNjay5jOjY1OQogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICLRgtC+0LvRjNC60L4g0L/RgNC+0LLQtdGA0LjRgtGMINGB0L7QtdC00LjQvdC10L3QuNC1IgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDIKKyM6IGJ1aWx0aW4vZnNjay5jOjY2MAogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCx0L7Qu9C10LUg0YHRgtGA0L7Qs9GD0Y4g0L/RgNC+0LLQtdGA0LrRgyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjA0CisjOiBidWlsdGluL2ZzY2suYzo2NjIKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDQvtCx0YrQtdC60YLRiyDQvdCwINC60L7RgtC+0YDRi9C1INC90LXRgiDRgdGB0YvQu9C+0Log0LIgLmdpdC9sb3N0LWZvdW5kIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MDUgYnVpbHRpbi9wcnVuZS5jOjEwNworIzogYnVpbHRpbi9mc2NrLmM6NjYzIGJ1aWx0aW4vcHJ1bmUuYzoxMDcKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYwNgorIzogYnVpbHRpbi9mc2NrLmM6NjY0CiBtc2dpZCAic2hvdyB2ZXJib3NlIG5hbWVzIGZvciByZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQv9C+0LTRgNC+0LHQvdGL0LUg0LjQvNC10L3QsCDQtNC70Y8g0L3QtdC00L7RgdGC0YPQv9C90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2ZzY2suYzo2NjUKKyM6IGJ1aWx0aW4vZnNjay5jOjcyNQogbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9nYy5jOjI1CisjOiBidWlsdGluL2djLmM6MjYKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBnYyBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi9nYy5jOjcyCisjOiBidWlsdGluL2djLmM6NzkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCAlczogJyVzJyIKLW1zZ3N0ciAi0J3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdGL0LkgJXM6IMKrJXPCuyIKK21zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBmc3RhdCAlczogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxMzkKKyM6IGJ1aWx0aW4vZ2MuYzozMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCi1tc2dzdHIgItGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3Ri9C5INC/0YPRgtGMINC6INC60LDRgtCw0LvQvtCz0YMg0L7QsdGK0LXQutGC0LAgJS4qcyIKK21zZ2lkICJDYW4ndCBzdGF0ICVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjI5MAorIzogYnVpbHRpbi9nYy5jOjMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGxhc3QgZ2MgcnVuIHJlcG9ydGVkIHRoZSBmb2xsb3dpbmcuIFBsZWFzZSBjb3JyZWN0IHRoZSByb290IGNhdXNlXG4iCkBAIC03MjUzLDQ2MyArNzkyOSw1MDEgQEAKICIlcyIKIG1zZ3N0ciAi0J/QvtGB0LvQtdC00L3QuNC5INC30LDQv9GD0YHQuiBnYyDRgdC+0L7QsdGJ0LjQuyDRgdC70LXQtNGD0Y7RidC10LUuINCf0L7QttCw0LvRg9C50YHRgtCwLCDQuNGB0L/RgNCw0LLRjNGC0LUg0L7RiNC40LHQutGDINC4INGD0LTQsNC70LjRgtC1ICVzLlxu0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LDRjyDQvtGH0LjRgdGC0LrQsCDRgNC10L/QvtC30LjRgtC+0YDQuNGPINC90LUg0LHRg9C00LXRgiDQv9GA0L7QuNC30LLQvtC00LjRgtGM0YHRjywg0L/QvtC60LAg0Y3RgtC+0YIg0YTQsNC50Lsg0L3QtSDRg9C00LDQu9GR0L0uXG5cbiVzIgogCi0jOiBidWlsdGluL2djLmM6MzI3CisjOiBidWlsdGluL2djLmM6MzU5CiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgItC/0L7Rh9C40YHRgtC40YLRjCDQvtCx0YrQtdC60YLRiywg0L3QsCDQutC+0YLQvtGA0YvQtSDQvdC10YIg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2djLmM6MzI5CisjOiBidWlsdGluL2djLmM6MzYxCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICLQv9GA0L7QstC10YDRj9GC0Ywg0LHQvtC70LXQtSDQstC90LjQvNCw0YLQtdC70YzQvdC+ICjQt9Cw0L3QuNC80LDQtdGCINCx0L7Qu9GM0YjQtSDQstGA0LXQvNC10L3QuCkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzAKKyM6IGJ1aWx0aW4vZ2MuYzozNjIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINGA0LXQttC40LwgYXV0by1nYyIKIAotIzogYnVpbHRpbi9nYy5jOjMzMQorIzogYnVpbHRpbi9nYy5jOjM2MwogbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QviDQt9Cw0L/Rg9GB0YLQuNGC0YwgZ2MsINC00LDQttC1INC10YHRgtGMINC00YDRg9Cz0LDRjyDQutC+0L/QuNGPIGdjINGD0LbQtSDQt9Cw0L/Rg9GJ0LXQvdCwIgogCi0jOiBidWlsdGluL2djLmM6MzczCisjOiBidWlsdGluL2djLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC30L3QsNGH0LXQvdC40LUgJXMg0LTQu9GPIGdjLmxvZ2V4cGlyeSIKKworIzogYnVpbHRpbi9nYy5jOjQwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAi0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LDRjyDRg9C/0LDQutC+0LLQutCwINGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0LIg0YTQvtC90LUsINC00LvRjyDQvtC/0YLQuNC80LDQu9GM0L3QvtC5INC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GM0L3QvtGB0YLQuC5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjM3NQorIzogYnVpbHRpbi9nYy5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgItCQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutCw0Y8g0YPQv9Cw0LrQvtCy0LrQsCDRgNC10L/QvtC30LjRgtC+0YDQuNGPLCDQtNC70Y8g0L7Qv9GC0LjQvNCw0LvRjNC90L7QuSDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjNC90L7RgdGC0LguXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNzYKKyM6IGJ1aWx0aW4vZ2MuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAi0KHQvNC+0YLRgNC40YLQtSDCq2dpdCBoZWxwIGdjwrsg0YDRg9C60L7QstC+0LTRgdGC0LLQsCDQv9C+INGA0YPRh9C90L7QuSDQvtGH0LjRgdGC0LrQtS5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjM5NworIzogYnVpbHRpbi9nYy5jOjQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKIG1zZ3N0ciAiZ2Mg0YPQttC1INC30LDQv9GD0YnQtdC9INC90LAg0Y3RgtC+0Lwg0LrQvtC80L/RjNGO0YLQtdGA0LUgwqslc8K7IHBpZCAlPFBSSXVNQVg+ICjQtdGB0LvQuCDQvdC10YIsINC40YHQv9C+0LvRjNC30YPQudGC0LUgLS1mb3JjZSkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NDEKKyM6IGJ1aWx0aW4vZ2MuYzo0ODAKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgIgogInRoZW0uIgogbXNnc3RyICLQmNC80LXQtdGC0YHRjyDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC+0LHRitC10LrRgtC+0LIsINC90LAg0LrQvtGC0L7RgNGL0LUg0L3QtdGCINGB0YHRi9C70L7Qujsg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHBydW5lwrsg0LTQu9GPINC40YUg0YPQtNCw0LvQtdC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIzCisjOiBidWlsdGluL2dyZXAuYzoyNwogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgWzzQvtC/0YbQuNC4Pl0gWy1lXSA80YjQsNCx0LvQvtC9PiBbPNGA0LXQtNCw0LrRhtC40Y8+4oCmXSBbWy0tXSA80L/Rg9GC0Yw+4oCmXSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjE5CisjOiBidWlsdGluL2dyZXAuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJncmVwOiDRgdCx0L7QuSDRgdC+0LfQtNCw0L3QuNGPINC/0L7RgtC+0LrQsDogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI3NworIzogYnVpbHRpbi9ncmVwLmM6MjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICLRg9C60LDQt9Cw0L3QviDQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtGC0L7QutC+0LIgKCVkKSDQtNC70Y8gJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MyBidWlsdGluL2dyZXAuYzo0ODgKKyMuIFRSQU5TTEFUT1JTOiAlcyBpcyB0aGUgY29uZmlndXJhdGlvbgorIy4gdmFyaWFibGUgZm9yIHR3ZWFraW5nIHRocmVhZHMsIGN1cnJlbnRseQorIy4gZ3JlcC50aHJlYWRzCisjOiBidWlsdGluL2dyZXAuYzozMDIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCittc2dzdHIgItC90LXRgiDQv9C+0LTQtNC10YDQttC60Lgg0L/QvtGC0L7QutC+0LIsINC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1ICVzIgorCisjOiBidWlsdGluL2dyZXAuYzo3ODggYnVpbHRpbi9ncmVwLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LTQtdGA0LXQstC+ICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjUwMworIzogYnVpbHRpbi9ncmVwLmM6ODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIGdyZXAg0LjQtyDQvtCx0YrQtdC60YLQsCDRgtC40L/QsCAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTYxCisjOiBidWlsdGluL2dyZXAuYzo5MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCDCqyVjwrsg0L7QttC40LTQsNC10YIg0YfQuNGB0LvQvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5OQogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgItC40YHQutCw0YLRjCDQsiDQuNC90LTQtdC60YHQtSwg0LAg0L3QtSDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDEKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAi0LjRgdC60LDRgtGMINCyINGB0L7QtNC10YDQttC40LzQvtC8INC90LUg0YPQv9GA0LDQstC70Y/QtdC80YvQvCBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1MQorIzogYnVpbHRpbi9ncmVwLmM6MTAwMwogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi0LjRgdC60LDRgtGMINC4INCyINC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFLCDQuCDQsiDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQsNGFIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDUKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDRhNCw0LnQu9GLINGD0LrQsNC30LDQvdC90YvQtSDQsiDCqy5naXRpZ25vcmXCuyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU2CisjOiBidWlsdGluL2dyZXAuYzoxMDA3Cittc2dpZCAicmVjdXJzaXZlbHkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgorbXNnc3RyICLRgNC10LrRg9GA0YHQuNCy0L3Ri9C5INC/0L7QuNGB0Log0L/QviDQstGB0LXQvCDQv9C+0LTQvNC+0LTRg9C70Y/QvCIKKworIzogYnVpbHRpbi9ncmVwLmM6MTAwOQorbXNnaWQgImJhc2VuYW1lIgorbXNnc3RyICLQsdCw0LfQvtCy0L7QtSDQuNC80Y8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTAKK21zZ2lkICJwcmVwZW5kIHBhcmVudCBwcm9qZWN0J3MgYmFzZW5hbWUgdG8gb3V0cHV0IgorbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINCx0LDQt9C+0LLQvtC1INC40LzRjyDQv9GA0L7QtdC60YLQsCDRgdC/0LXRgNC10LTQuCDQutC+INCy0YHQtdC80YMg0LLRi9Cy0L7QtNC40LzQvtC80YMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTMKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi0LjRgdC60LDRgtGMINCyINC90LXRgdC+0LLQv9Cw0LTQsNGO0YnQuNGFINGB0YLRgNC+0LrQsNGFIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTUKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICLQsdC10Lcg0YPRh9C10YLQsCDRgNC10LPQuNGB0YLRgNCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAi0LjRgdC60LDRgtGMINGB0L7QstC/0LDQtNC10L3QuNGPINGI0LDQsdC70L7QvdCwINGC0L7Qu9GM0LrQviDQvdCwINCz0YDQsNC90LjRhtCw0YUg0YHQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgorIzogYnVpbHRpbi9ncmVwLmM6MTAxOQogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgItC+0LHRgNCw0LHQvtGC0LrQsCDQtNCy0L7QuNGH0L3Ri9GFINGE0LDQudC70L7QsiDQutCw0Log0YLQtdC60YHRgtCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjEKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgItC90LUg0LjRgdC60LDRgtGMINGB0L7QstC/0LDQtNC10L3QuNGPINGI0LDQsdC70L7QvdCwINCyINC00LLQvtC40YfQvdGL0YUg0YTQsNC50LvQsNGFIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjQKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgItC+0LHRgNCw0LHQsNGC0YvQstCw0YLRjNGB0Y8g0LTQstC+0LjRh9C90YvQtSDRhNCw0LnQu9GLINGBINC/0L7QvNC+0YnRjNGOINGE0LjQu9GM0YLRgNC+0LIgdGV4dGNvbnYiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OQorIzogYnVpbHRpbi9ncmVwLmM6MTAyNgogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAi0L3QsCDQs9C70YPQsdC40L3QtSDQvNCw0LrRgdC40LzRgyA80LPQu9GD0LHQuNC90LA+INGD0YDQvtCy0L3QtdC5IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzAKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGA0LDRgdGI0LjRgNC10L3QvdGL0LUg0YDQtdCz0YPQu9GP0YDQvdGL0LUg0LLRi9GA0LDQttC10L3QuNGPIFBPU0lYIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzMKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQsdCw0LfQvtCy0YvQtSDRgNC10LPRg9C70Y/RgNC90YvQtSDQstGL0YDQsNC20LXQvdC40Y8gUE9TSVggKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc5CisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgItC40L3RgtC10YDQv9GA0LXRgtC40YDQvtCy0LDRgtGMINGI0LDQsdC70L7QvdGLINC60LDQuiDRhNC40LrRgdC40YDQvtCy0LDQvdC90YvQtSDRgdGC0YDQvtC60LgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgorIzogYnVpbHRpbi9ncmVwLmM6MTAzOQogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIFBlcmwt0YHQvtCy0LzQtdGB0YLQuNC80YvQtSDRgNC10LPRg9C70Y/RgNC90YvQtSDQstGL0YDQsNC20LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NQorIzogYnVpbHRpbi9ncmVwLmM6MTA0MgogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQvdC+0LzQtdGA0LAg0YHRgtGA0L7QuiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg2CisjOiBidWlsdGluL2dyZXAuYzoxMDQzCiBtc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQuNC80LXQvdCwINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg3CisjOiBidWlsdGluL2dyZXAuYzoxMDQ0CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OQorIzogYnVpbHRpbi9ncmVwLmM6MTA0NgogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIg0L7RgtC90L7RgdC40YLQtdC70YzQvdC+INC60LDRgtCw0LvQvtCz0LAg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkxCisjOiBidWlsdGluL2dyZXAuYzoxMDQ4CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINGC0L7Qu9GM0LrQviDQuNC80LXQvdCwINGE0LDQudC70L7Qsiwg0LAg0L3QtSDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INGB0YLRgNC+0LrQuCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkzCisjOiBidWlsdGluL2dyZXAuYzoxMDUwCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgItGB0LjQvdC+0L3QuNC8INC00LvRjyAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk2CisjOiBidWlsdGluL2dyZXAuYzoxMDUzCiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINGC0L7Qu9GM0LrQviDQvdC10YHQvtCy0L/QsNC00LDRjtGJ0LjQtSDQuNC80LXQvdCwINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk4CisjOiBidWlsdGluL2dyZXAuYzoxMDU1CiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQtNCy0L7QuNGH0L3Ri9C5INCd0J7Qm9CsINC/0L7RgdC70LUg0YHQv9C40YHQutCwINC40LzQtdC9INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAwCisjOiBidWlsdGluL2dyZXAuYzoxMDU3CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC+0LLQv9Cw0LTQtdC90LjQuSwg0LAg0L3QtSDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INGB0YLRgNC+0LrQuCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzoxMDU4CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgItC/0L7QtNGB0LLQtdGH0LjQstCw0YLRjCDRgdC+0LLQv9Cw0LTQtdC90LjRjyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAzCisjOiBidWlsdGluL2dyZXAuYzoxMDYwCiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0L/Rg9GB0YLRg9GOINGB0YLRgNC+0LrRgyDQv9C+0YHQu9C1INGB0L7QstC/0LDQtNC10L3QuNC5INC40Lcg0YDQsNC30L3Ri9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA1CisjOiBidWlsdGluL2dyZXAuYzoxMDYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQuNC80Y8g0YTQsNC50LvQsCDRgtC+0LvRjNC60L4g0YDQsNC3INC90LAg0L3QtdGB0LrQvtC70YzQutC+INGB0L7QstC/0LDQtNC10L3QuNC5INCyINC+0LTQvdC+0Lwg0YTQsNC50LvQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA4CisjOiBidWlsdGluL2dyZXAuYzoxMDY1CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwgPG4+INGB0YLRgNC+0Log0LrQvtC90YLQtdC60YHRgtCwINC/0LXRgNC10LQg0Lgg0L/QvtGB0LvQtSDRgdC+0LLQv9Cw0LTQtdC90LjRjyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzExCisjOiBidWlsdGluL2dyZXAuYzoxMDY4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCA8bj4g0YHRgtGA0L7QuiDQutC+0L3RgtC10LrRgdGC0LAg0L/QtdGA0LXQtCDRgdC+0LLQv9Cw0LTQtdC90LjQtdC8IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzAKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwgPG4+INGB0YLRgNC+0Log0LrQvtC90YLQtdC60YHRgtCwINC/0L7RgdC70LUg0YHQvtCy0L/QsNC00LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQorIzogYnVpbHRpbi9ncmVwLmM6MTA3MgogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCA80LrQvtC7PiDRgNCw0LHQvtGH0LjRhSDQv9C+0YLQvtC60L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE2CisjOiBidWlsdGluL2dyZXAuYzoxMDczCiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAi0YLQvtC20LUsINGH0YLQviDQuCAtQyDQmtCe0JvQmNCn0JXQodCi0JLQniIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE5CisjOiBidWlsdGluL2dyZXAuYzoxMDc2CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgdGC0YDQvtC60YMg0YEg0LjQvNC10L3QtdC8INGE0YPQvdC60YbQuNC4INC/0LXRgNC10LQg0YHQvtCy0L/QsNC00LXQvdC40LXQvCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzIxCisjOiBidWlsdGluL2dyZXAuYzoxMDc4CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L7QutGA0YPQttCw0Y7RidGD0Y4g0YTRg9C90LrRhtC40Y4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyNAorIzogYnVpbHRpbi9ncmVwLmM6MTA4MQogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0YjQsNCx0LvQvtC90Ysg0LjQtyDRhNCw0LnQu9CwIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODMKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgItC/0L7QuNGB0Log0YHQvtC+0YLQstC10YLRgdGC0LLQuNC5INGBIDzRiNCw0LHQu9C+0L3QvtC8PiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI4CisjOiBidWlsdGluL2dyZXAuYzoxMDg1CiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAi0L7QsdGK0LXQtNC40L3QuNGC0Ywg0YjQsNCx0LvQvtC90Ysg0YPQutCw0LfQsNC90L3Ri9C1INGBINC/0L7QvNC+0YnRjNGOIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTcKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAi0L3QuNGH0LXQs9C+INC90LUg0LLRi9Cy0L7QtNC40YLRjCwg0YPQutCw0LfQsNGC0Ywg0L3QsCDRgdC+0LLQv9Cw0LTQtdC90LjQtSDRgSDQv9C+0LzQvtGJ0YzRjiDQutC+0LTQsCDQstGL0YXQvtC00LAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MgorIzogYnVpbHRpbi9ncmVwLmM6MTA5OQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YLQvtC70YzQutC+INGB0L7QstC/0LDQtNC10L3QuNGPINC40Lcg0YTQsNC50LvQvtCyINCyINC60L7RgtC+0YDRi9GFINGB0L7QstC/0LDQtNCw0Y7RgiDQstGB0LUg0YjQsNCx0LvQvtC90YsiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAorIzogYnVpbHRpbi9ncmVwLmM6MTEwMQogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC00LXRgNC10LLQviDRgNCw0LfQsdC+0YDQsCDQtNC70Y8g0LLRi9GA0LDQttC10L3QuNGPINC/0L7QuNGB0LrQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ4CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgItC/0LXQudC00LbQtdGAIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDUKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INGE0LDQudC70Ysg0YEg0L/QvtC80L7RidGM0Y4g0L/RgNC+0LPRgNCw0LzQvNGLLdC/0LXQudC00LbQtdGA0LAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc1MQorIzogYnVpbHRpbi9ncmVwLmM6MTEwOAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINCy0YvQt9C+0LIgZ3JlcCgxKSAo0LjQs9C90L7RgNC40YDRg9C10YLRgdGPINCyINGN0YLQvtC5INGB0LHQvtGA0LrQtSkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNAorIzogYnVpbHRpbi9ncmVwLmM6MTE3MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICLQvdC1INC30LDQtNCw0L0g0YjQsNCx0LvQvtC9LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyMDQKK21zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cyIKK21zZ3N0ciAiLS1uby1pbmRleCDQuNC70LggLS11bnRyYWNrZWQg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEg0YPQutCw0LfQsNC90LjQtdC8INGA0LXQstC40LfQuNC4IgorCisjOiBidWlsdGluL2dyZXAuYzoxMjExCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDRgNC10LTQsNC60YbQuNGOOiAlcyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI0NSBidWlsdGluL2luZGV4LXBhY2suYzoxNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgItGD0LrQsNC30LDQvdC+INC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQv9C+0YLQvtC60L7QsiAoJWQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTAKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAi0L3QtdGCINC/0L7QtNC00LXRgNC20LrQuCDQv9C+0YLQvtC60L7Qsiwg0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40LUgLS10aHJlYWRzIgorCisjOiBidWlsdGluL2dyZXAuYzoxMjgxCiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgogbXNnc3RyICItLW9wZW4tZmlsZXMtaW4tcGFnZXIg0YDQsNCx0L7RgtCw0LXRgiDRgtC+0LvRjNC60L4g0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAyCisjOiBidWlsdGluL2dyZXAuYzoxMzA0Cittc2dpZCAib3B0aW9uIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLXJlY3Vyc2Utc3VibW9kdWxlcy4iCittc2dzdHIgItC+0L/RhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAtLXJlY3Vyc2Utc3VibW9kdWxlcy4iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMTAKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICItLWNhY2hlZCDQuNC70LggLS11bnRyYWNrZWQg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS1uby1pbmRleC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNwotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiLS1uby1pbmRleCDQuNC70LggLS11bnRyYWNrZWQg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEg0YPQutCw0LfQsNC90LjQtdC8INGA0LXQtNCw0LrRhtC40LguIgotCi0jOiBidWlsdGluL2dyZXAuYzo5MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMTYKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkINC90LUg0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQtdC80L7Qs9C+INGB0L7QtNC10YDQttC40LzQvtCz0L4uIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMjQKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4uIgogbXNnc3RyICLRg9C60LDQt9Cw0L3QviDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gLS1jYWNoZWQg0Lgg0LTQtdGA0LXQstC+LiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgxCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCBbLXQgPNGC0LjQvz5dIFstd10gWy0tcGF0aD080YTQsNC50Ls+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gWy0tXSA80YTQsNC50Ls+4oCmIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MwogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIG1zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQogbXNnaWQgInR5cGUiCiBtc2dzdHIgItGC0LjQvyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJvYmplY3QgdHlwZSIKIG1zZ3N0ciAi0YLQuNC/INC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NgogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICLQt9Cw0L/QuNGB0Ywg0L7QsdGK0LXQutGC0LAg0LIg0LHQsNC30YMg0LTQsNC90L3Ri9GFINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgItGB0L7RhdGA0LDQvdC40YLRjCDRhNCw0LnQuyDQsdC10Lcg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0YTQuNC70YzRgtGA0L7QsiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgItGF0Y3RiNC40YDQvtCy0LDRgtGMINC70Y7QsdC+0Lkg0LzRg9GB0L7RgCDQuCDRgdC+0LfQtNCw0LLQsNGC0Ywg0L/QvtCy0YDQtdC20LTQtdC90L3Ri9C1INC+0LHRitC10LrRgtGLINC00LvRjyDQvtGC0LvQsNC00LrQuCBHaXQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAi0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0YTQsNC50Lsg0YLQsNC6LCDQsdGD0LTRgtC+INC+0L0g0L3QsNGF0L7QtNC40YLRgdGPINC/0L4g0YPQutCw0LfQsNC90L3QvtC80YMg0L/Rg9GC0LgiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyCisjOiBidWlsdGluL2hlbHAuYzo0MwogbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQstGB0LXRhSDQtNC+0YHRgtGD0L/QvdGL0YUg0LrQvtC80LDQvdC0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MworIzogYnVpbHRpbi9oZWxwLmM6NDQKIG1zZ2lkICJleGNsdWRlIGd1aWRlcyIKIG1zZ3N0ciAi0LjRgdC60LvRjtGH0LjRgtGMINGA0YPQutC+0LLQvtC00YHRgtCy0LAiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NQogbXNnaWQgInByaW50IGxpc3Qgb2YgdXNlZnVsIGd1aWRlcyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC/0L7Qu9C10LfQvdGL0YUg0YDRg9C60L7QstC+0LTRgdGC0LIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ1CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFuIHBhZ2UiCiBtc2dzdHIgItC+0YLQutGA0YvRgtGMINGA0YPQutC+0LLQvtC00YHRgtCy0L4g0LIg0YTQvtGA0LzQsNGC0LUgbWFuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NgorIzogYnVpbHRpbi9oZWxwLmM6NDcKIG1zZ2lkICJzaG93IG1hbnVhbCBpbiB3ZWIgYnJvd3NlciIKIG1zZ3N0ciAi0L7RgtC60YDRi9GC0Ywg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQsiDQstC10LEt0LHRgNCw0YPQt9C10YDQtSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5CiBtc2dpZCAic2hvdyBpbmZvIHBhZ2UiCiBtc2dzdHIgItC+0YLQutGA0YvRgtGMINGA0YPQutC+0LLQvtC00YHRgtCy0L4g0LIg0YTQvtGA0LzQsNGC0LUgaW5mbyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTQKKyM6IGJ1aWx0aW4vaGVscC5jOjU1CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPNC60L7QvNCw0L3QtNCwPl0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjY2CisjOiBidWlsdGluL2hlbHAuYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INGE0L7RgNC80LDRgiDRgNGD0LrQvtCy0L7QtNGB0YLQstCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9oZWxwLmM6OTMKKyM6IGJ1aWx0aW4vaGVscC5jOjk0CiBtc2dpZCAiRmFpbGVkIHRvIHN0YXJ0IGVtYWNzY2xpZW50LiIKIG1zZ3N0ciAi0KHQsdC+0Lkg0L/RgNC4INC30LDQv9GD0YHQutC1IGVtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTA2CisjOiBidWlsdGluL2hlbHAuYzoxMDcKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgItCh0LHQvtC5INC/0YDQuCDQvtC/0YDQtdC00LXQu9C10L3QuNC4INCy0LXRgNGB0LjQuCBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExNAorIzogYnVpbHRpbi9oZWxwLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgItCy0LXRgNGB0LjRjyBlbWFjc2NsaWVudCDCqyVkwrsg0YHQu9C40YjQutC+0Lwg0YHRgtCw0YDQsNGPICg8IDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMiBidWlsdGluL2hlbHAuYzoxNTMgYnVpbHRpbi9oZWxwLmM6MTYyIGJ1aWx0aW4vaGVscC5jOjE3MAorIzogYnVpbHRpbi9oZWxwLmM6MTMzIGJ1aWx0aW4vaGVscC5jOjE1NCBidWlsdGluL2hlbHAuYzoxNjMgYnVpbHRpbi9oZWxwLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQt9Cw0L/Rg9GB0LrQtSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIwNworIzogYnVpbHRpbi9oZWxwLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgogIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5jbWQnIGluc3RlYWQuIgogbXNnc3RyICLCqyVzwrs6INC/0YPRgtGMINC00LvRjyDQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80L7QuSDQv9GA0L7Qs9GA0LDQvNC80Ysg0L/RgNC+0YHQvNC+0YLRgNCwIG1hbi5cbtCS0LzQtdGB0YLQviDRjdGC0L7Qs9C+INC40YHQv9C+0LvRjNC30YPQudGC0LUgwqttYW4uPNC/0YDQvtCz0YDQsNC80LzQsD4uY21kwrsuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTkKKyM6IGJ1aWx0aW4vaGVscC5jOjIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKICJQbGVhc2UgY29uc2lkZXIgdXNpbmcgJ21hbi48dG9vbD4ucGF0aCcgaW5zdGVhZC4iCiBtc2dzdHIgIsKrJXPCuzog0LrQvtC80LDQvdC00LAg0LTQu9GPINC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQvtC5INC/0YDQvtCz0YDQsNC80LzRiyDQv9GA0L7RgdC80L7RgtGA0LAgbWFuLlxu0JLQvNC10YHRgtC+INGN0YLQvtCz0L4g0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq21hbi480L/RgNC+0LPRgNCw0LzQvNCwPi5wYXRowrsuIgogCi0jOiBidWlsdGluL2hlbHAuYzozMzYKKyM6IGJ1aWx0aW4vaGVscC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICLCqyVzwrs6INC90LXQuNC30LLQtdGB0YLQvdCw0Y8g0L/RgNC+0LPRgNCw0LzQvNCwINC/0YDQvtGB0LzQvtGC0YDQsCBtYW4uIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTMKKyM6IGJ1aWx0aW4vaGVscC5jOjM1NAogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAi0L/RgNC+0LPRgNCw0LzQvNCwINC/0YDQvtGB0LzQvtGC0YDQsCBtYW4g0L3QtSDQvtCx0YDQsNCx0L7RgtCw0LvQsCDQt9Cw0L/RgNC+0YEiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MQorIzogYnVpbHRpbi9oZWxwLmM6MzYyCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAi0L/RgNC+0LPRgNCw0LzQvNCwINC/0YDQvtGB0LzQvtGC0YDQsCBpbmZvINC90LUg0L7QsdGA0LDQsdC+0YLQsNC70LAg0LfQsNC/0YDQvtGBIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNAogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgItCe0L/RgNC10LTQtdC70LXQvdC40LUg0LDRgtGA0LjQsdGD0YLQvtCyINC00LvRjyDQv9GD0YLQtdC5INGE0LDQudC70L7QsiDQuNC70Lgg0LrQsNGC0LDQu9C+0LPQvtCyIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNQogbXNnaWQgIkV2ZXJ5ZGF5IEdpdCBXaXRoIDIwIENvbW1hbmRzIE9yIFNvIgogbXNnc3RyICLQn9C+0LLRgdC10LTQvdC10LLQvdGL0LkgR2l0INGBIDIwINC60L7QvNCw0L3QtNCw0LzQuCDQuNC70Lgg0L7QutC+0LvQviDRgtC+0LPQviIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA1CisjOiBidWlsdGluL2hlbHAuYzo0MDYKIG1zZ2lkICJBIEdpdCBnbG9zc2FyeSIKIG1zZ3N0ciAi0JPQu9C+0YHRgdCw0YDQuNC5IEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA2CisjOiBidWlsdGluL2hlbHAuYzo0MDcKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QuNC1INGB0L/QtdGG0LjQsNC70YzQvdC+INC40LPQvdC+0YDQuNGA0YPQtdC80YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNworIzogYnVpbHRpbi9oZWxwLmM6NDA4CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgItCe0L/RgNC10LTQtdC70LXQvdC40LUg0YHQstC+0LnRgdGC0LIg0L/QvtC00LzQvtC00YPQu9C10LkiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOAorIzogYnVpbHRpbi9oZWxwLmM6NDA5CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICLQo9C60LDQt9Cw0L3QuNC1INGA0LXQtNCw0LrRhtC40Lkg0Lgg0LTQuNCw0L/QsNC30L7QvdC+0LIg0LTQu9GPIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA5CisjOiBidWlsdGluL2hlbHAuYzo0MTAKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAi0KPRh9C10LHQvdC+0LUg0LLQstC10LTQtdC90LjQtSDQsiBHaXQgKNC00LvRjyDQstC10YDRgdC40LggMS41LjEg0LjQu9C4INC90L7QstC10LUpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTAKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMQogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAi0J7QsdC30L7RgCDRgNC10LrQvtC80LXQvdC00YPQtdC80YvRhSDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0LXQuSDQstGL0L/QvtC70L3Rj9C10LzRi9GFINC00LXQudGB0YLQstC40Lkg0YEgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjIKKyM6IGJ1aWx0aW4vaGVscC5jOjQyMwogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6XG4iCiBtc2dzdHIgItCe0YHQvdC+0LLQvdGL0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQsCBHaXQ6XG4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0MAorIzogYnVpbHRpbi9oZWxwLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImBnaXQgJXMnIGlzIGFsaWFzZWQgdG8gYCVzJyIKIG1zZ3N0ciAiwqtnaXQgJXPCuyDigJQg0Y3RgtC+INGB0L7QutGA0LDRidC10L3QuNC1INC00LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2MiBidWlsdGluL2hlbHAuYzo0NzkKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MyBidWlsdGluL2hlbHAuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzJXMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgItC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0YLQuNC/0LAg0L7QsdGK0LXQutGC0LAg0L3QsCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAi0L7QttC40LTQsNC10LzRi9C5INC+0LHRitC10LrRgiDQvdC1INC/0L7Qu9GD0YfQtdC9INC90LAgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgItC+0LHRitC10LrRgiAlczog0L7QttC40LTQsNC10LzRi9C5INGC0LjQvyAlcywg0L/QvtC70YPRh9C10L0gJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaWxsICVkIGJ5dGUiCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBmaWxsICVkIGJ5dGVzIgpAQCAtNzcxOCw3MyArODQzMiw3MyBAQAogbXNnc3RyWzJdICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C+0LvQvdC40YLRjCAlZCDQsdCw0LnRgtC+0LIiCiBtc2dzdHJbM10gItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0L7Qu9C90LjRgtGMICVkINCx0LDQudGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgItC90LXQvtC20LjQtNCw0L3QvdGL0Lkg0LrQvtC90LXRhiDRhNCw0LnQu9CwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDRh9GC0LXQvdC40Y8g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTMKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC+INCx0L7Qu9GM0YjQtSDQsdCw0LnRgiwg0YfQtdC8INCx0YvQu9C+INC00L7RgdGC0YPQv9C90L4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAwCiBtc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKIG1zZ3N0ciAi0L/QsNC60LXRgiDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDQtNC70Y8g0YLQtdC60YPRidC10LPQviDQvtC/0YDQtdC00LXQu9C10L3QuNGPIG9mZl90IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkzCiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICLRgNCw0LfQvNC10YAg0L/QsNC60LXRgtCwINC/0YDQtdCy0YvRiNCw0LXRgiDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0LTQvtC/0YPRgdGC0LjQvNGL0LkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0YTQsNC50Lsg0L/QsNC60LXRgtCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKIG1zZ3N0ciAi0L3QtdGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQtSDQv9C+0LTQv9C40YHQuCDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgItCy0LXRgNGB0LjRjyDQv9Cw0LrQtdGC0LAgJTxQUkl1MzI+INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgItC/0LDQutC10YIg0YHQvtC00LXRgNC20LjRgiDQv9C70L7RhdC+0Lkg0L7QsdGK0LXQutGCINC/0L4g0YHQvNC10YnQtdC90LjRjiAlPFBSSXVNQVg+OiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKIG1zZ3N0ciAi0L/RgNC+0LPRgNCw0LzQvNCwINGB0LbQsNGC0LjRjyDQstC10YDQvdGD0LvQsCAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjgKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICLQv9C10YDQtdC/0L7Qu9C90LXQvdC40LUg0LfQvdCw0YfQtdC90LjRjyDRgdC80LXRidC10L3QuNGPINGDINCx0LDQt9C+0LLQvtCz0L4g0L7QsdGK0LXQutGC0LAg0LTQtdC70YzRgtGLIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNgogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAi0YHQvNC10YnQtdC90LjQtSDQsdCw0LfQvtCy0L7QuSDQtNC10LvRjNGC0Ysg0LLRi9GI0LvQviDQt9CwINC00L7Qv9GD0YHRgtC40LzRi9C1INC/0YDQtdC00LXQu9GLIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDQvtCx0YrQtdC60YLQsCAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzUKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBwcmVhZCDQtNC70Y8g0YTQsNC50LvQsCDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGUgbWlzc2luZyIKIG1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZXMgbWlzc2luZyIKQEAgLTc3OTMsODggKzg1MDcsOTMgQEAKIG1zZ3N0clsyXSAi0L/RgNC10LbQtNC10LLRgNC10LzQtdC90L3QvtC1INC+0LrQvtC90YfQsNC90LjQtSDRhNCw0LnQu9CwINC/0LDQutC10YLQsCwgJTxQUkl1TUFYPiDQsdCw0LnRgtC+0LIg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiIKIG1zZ3N0clszXSAi0L/RgNC10LbQtNC10LLRgNC10LzQtdC90L3QvtC1INC+0LrQvtC90YfQsNC90LjQtSDRhNCw0LnQu9CwINC/0LDQutC10YLQsCwgJTxQUkl1TUFYPiDQsdCw0LnRgtC+0LIg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDMKIG1zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKIG1zZ3N0ciAi0YHQtdGA0YzQtdC30L3QvtC1INC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0L/RgNC4INGA0LDRgdC/0LDQutC+0LLQutC1IgogCiAjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDggYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3NwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODExIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgItCd0JDQmdCU0JXQndCQINCa0J7Qm9Cb0JjQl9CY0K8gU0hBMSDQoSAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjYKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0IGluZm8gJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINGB0YPRidC10YHRgtCy0YPRjtGJ0LXQs9C+INC+0LHRitC10LrRgtCwICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0L7QsdGK0LXQutGCICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YTQsNC50Lsg0LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0LkgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODU0CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICLQntGI0LjQsdC60LAg0LIg0L7QsdGK0LXQutGC0LUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICLQndC1INCy0YHQtSDQtNC+0YfQtdGA0L3QuNC1INC+0LHRitC10LrRgtGLICVzINC00L7RgdGC0LjQttC40LzRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTI4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1OQogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INC/0YDQuNC80LXQvdC10L3QuNC4INC00LXQu9GM0YLRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICLQn9C+0LvRg9GH0LXQvdC40LUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgItCY0L3QtNC10LrRgdC40YDQvtCy0LDQvdC40LUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2NAogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAi0L/QsNC60LXRgiDQv9C+0LLRgNC10LbQtNC10L0gKNC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUgU0hBMSkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjkKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIGZzdGF0INC00LvRjyDRhNCw0LnQu9CwINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3MgogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAi0YTQsNC50Lsg0L/QsNC60LXRgtCwINGB0L7QtNC10YDQttC40YIg0LzRg9GB0L7RgCDQsiDQutC+0L3RhtC1IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTg0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAi0LHQtdC30YPQvNC90LDRjyDQv9GD0YLQsNC90LjRhtCwINCyIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAi0J7Qv9GA0LXQtNC10LvQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC/0L7RgtC+0Lo6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjYwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAi0LHQtdC30YPQvNC90LDRjyDQv9GD0YLQsNC90LjRhtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKQEAgLTc4ODMsMTIgKzg2MDIsMTIgQEAKIG1zZ3N0clsyXSAi0LfQsNCy0LXRgNGI0LXQvdC+INGBICVkINC70L7QutCw0LvRjNC90YvQvNC4INC+0LHRitC10LrRgtCw0LzQuCIKIG1zZ3N0clszXSAi0LfQsNCy0LXRgNGI0LXQvdC+INGBICVkINC70L7QutCw0LvRjNC90YvQvNC4INC+0LHRitC10LrRgtCw0LzQuCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAi0J3QtdC+0LbQuNC00LDQvdC90LDRjyDQutC+0L3RgtGA0L7Qu9GM0L3QsNGPINGB0YPQvNC80LAg0LIg0LrQvtC90YbQtSAlcyAo0LTQuNGB0Log0L/QvtCy0YDQtdC20LTQtdC9PykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCkBAIC03ODk3LDU5ICs4NjE2LDU0IEBACiBtc2dzdHJbMl0gItC/0LDQutC10YIg0YHQvtC00LXRgNC20LjRgiAlZCDQvdC10YDQsNC30YDQtdGI0LXQvdC90YvRhSDQtNC10LvRjNGCIgogbXNnc3RyWzNdICLQv9Cw0LrQtdGCINGB0L7QtNC10YDQttC40YIgJWQg0L3QtdGA0LDQt9GA0LXRiNC10L3QvdGL0YUg0LTQtdC70YzRgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINGB0LbQsNGC0Ywg0L/RgNC40YHQvtC10LTQuNC90LXQvdC90YvQuSDQvtCx0YrQtdC60YIgKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAi0LvQvtC60LDQu9GM0L3Ri9C5INC+0LHRitC10LrRgiAlcyDQv9C+0LLRgNC10LbQtNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDgKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAi0L7RiNC40LHQutCwINC/0YDQuCDQt9Cw0LrRgNGL0YLQuNC4INGE0LDQudC70LAg0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINGE0LDQudC7INGD0LTQtdGA0LbQsNC90LjRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC60YDRi9GC0Ywg0LfQsNC/0LjRgdCw0L3QvdGL0Lkg0YTQsNC50Lsg0YPQtNC10YDQttCw0L3QuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMINGE0LDQudC7INC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0NgogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICLQv9C70L7RhdC+0LkgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2ODEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKLW1zZ3N0ciAi0L3QtdGCINC/0L7QtNC00LXRgNC20LrQuCDQv9C+0YLQvtC60L7Qsiwg0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40LUgJXMiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC5INGE0LDQudC7INC/0LDQutC10YLQsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgpAQCAtNzk1OCw3ICs4NjcyLDcgQEAKIG1zZ3N0clsyXSAi0L3QtSDQtNC10LvRjNGC0Ys6ICVkINC+0LHRitC10LrRgtC+0LIiCiBtc2dzdHJbM10gItC90LUg0LTQtdC70YzRgtGLOiAlZCDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCkBAIC03OTY3LDEzNyArODY4MSwxNDEgQEAKIG1zZ3N0clsyXSAi0LTQu9C40L3QsCDRhtC10L/QvtGH0LrQuCA9ICVkOiAlbHUg0L7QsdGK0LXQutGC0L7QsiIKIG1zZ3N0clszXSAi0LTQu9C40L3QsCDRhtC10L/QvtGH0LrQuCA9ICVkOiAlbHUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAi0LjQvNGPINC/0LDQutC10YLQsCDCqyVzwrsg0L3QtSDQvtC60LDQvdGH0LjQstCw0LXRgtGB0Y8g0L3QsCDCqy5wYWNrwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NgotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMiBidWlsdGluL2luZGV4LXBhY2suYzoxNzE2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgItC/0LvQvtGF0L7QuSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MwogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LHQtdC3IC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDUKK21zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgItC+0L/RhtC40Y8gLS1zdGRpbiDRgtGA0LXQsdGD0LXRgiDQvdCw0LvQuNGH0LjRjyDRgNC10L/QvtC30LjRgtC+0YDQuNGPIGdpdCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1MwogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8g0LjQvNC10L3QuCDRhNCw0LnQu9CwINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQg0LTQu9GPINGI0LDQsdC70L7QvdCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIG9wZW5kaXIg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCByZWFkbGluayDQtNC70Y8gwqslc8K7IgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3OAorIzogYnVpbHRpbi9pbml0LWRiLmM6NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgyDCqyVzwrsg0L3QsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg0CisjOiBidWlsdGluL2luaXQtZGIuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQutC+0L/QuNGA0L7QstCw0YLRjCDRhNCw0LnQuyDCqyVzwrsg0LIgwqslc8K7IgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OAorIzogYnVpbHRpbi9pbml0LWRiLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1INGI0LDQsdC70L7QvdCwICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICLRiNCw0LHQu9C+0L3RiyDQvdC1INC90LDQudC00LXQvdGLICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAi0L3QtSDQutC+0L/QuNGA0YPRjiDRiNCw0LHQu9C+0L3RiyDQuNC3IMKrJXPCuzogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyNworIzogYnVpbHRpbi9pbml0LWRiLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgogbXNnc3RyICLQvdC1INGD0LTQsNC10YLRgdGPINC+0LHRgNCw0LHQvtGC0LDRgtGMINGE0LDQudC7INGC0LjQv9CwICVkIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMzAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQtdGC0YHRjyDQv9C10YDQtdC80LXRgdGC0LjRgtGMINGE0LDQudC7ICVzINCyICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDcgYnVpbHRpbi9pbml0LWRiLmM6MzUwCisjOiBidWlsdGluL2luaXQtZGIuYzozNDggYnVpbHRpbi9pbml0LWRiLmM6MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIlcyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMworIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi0J/QtdGA0LXQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0g0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC5INC+0LHRidC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBHaXQg0LIgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi0J/QtdGA0LXQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0g0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgR2l0INCyICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA4CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi0JjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNC9INC/0YPRgdGC0L7QuSDQvtCx0YnQuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgR2l0INCyICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLQmNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0g0L/Rg9GB0YLQvtC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgR2l0INCyICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDU3CisjOiBidWlsdGluL2luaXQtZGIuYzo0NTgKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dICIKICJbLS1zaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgogbXNnc3RyICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT080LrQsNGC0LDQu9C+0LMt0YjQsNCx0LvQvtC90L7Qsj5dIFstLXNoYXJlZFs9PNC/0YDQsNCy0LAt0LTQvtGB0YLRg9C/0LA+XV0gWzzQutCw0YLQsNC70L7Qsz5dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICLQv9GA0LDQstCwLdC00L7RgdGC0YPQv9CwIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MgogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAi0YPQutCw0LbQuNGC0LUsINC10YHQu9C4INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgZ2l0INCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjyDQvdC10YHQutC+0LvRjNC60LjQvNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj9C80LgiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxNSBidWlsdGluL2luaXQtZGIuYzo1MjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxNiBidWlsdGluL2luaXQtZGIuYzo1MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBta2RpciAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI0CisjOiBidWlsdGluL2luaXQtZGIuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBjaGRpciDQsiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ1CisjOiBidWlsdGluL2luaXQtZGIuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcnk+KSIKIG1zZ3N0ciAiJXMgKNC40LvQuCAtLXdvcmstdHJlZT080LrQsNGC0LDQu9C+0LM+KSDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCx0LXQtyDRg9C60LDQt9Cw0L3QuNGPICVzICjQuNC70LggLS1naXQtZGlyPTzQutCw0YLQsNC70L7Qsz4pIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NzMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LTQvtGB0YLRg9C/INC6INGA0LDQsdC+0YfQtdC80YMg0LrQsNGC0LDQu9C+0LPRgyDCqyVzwrsiCkBAIC04MTI4LDQyOCArODg0Niw0MzMgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICLQvdC40YfQtdCz0L4g0L3QtSDQv9C10YDQtdC00LDQvdC+LCDQtNC70Y8g0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDRhNCw0LnQu9C+0LIg0L3QsCDQvNC10YHRgtC1IgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPNC+0L/RhtC40Lg+XSBbPNC00LjQsNC/0LDQt9C+0L0t0YDQtdC00LDQutGG0LjQuT5dIFtbLS1dIDzQv9GD0YLRjD7igKZdIgogCi0jOiBidWlsdGluL2xvZy5jOjQ1CisjOiBidWlsdGluL2xvZy5jOjQ2CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs80L7Qv9GG0LjQuD5dIDzQvtCx0YrQtdC60YI+4oCmIgogCi0jOiBidWlsdGluL2xvZy5jOjg0CisjOiBidWlsdGluL2xvZy5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCDQtNC70Y8gLS1kZWNvcmF0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5CisjOiBidWlsdGluL2xvZy5jOjE0NwogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0YDQsNC30LvQuNGH0LjRjyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LjRgdGC0L7Rh9C90LjQuiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDRhNCw0LnQuyDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Y8g0L/QvtGH0YLQvtCy0YvRhSDQsNC00YDQtdGB0L7QsiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTUwCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAi0L7Qv9GG0LjQuCDRhNC+0YDQvNCw0YLQsCDQstGL0LLQvtC00LAg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NQorIzogYnVpbHRpbi9sb2cuYzoxNTMKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAi0J7QsdGA0LDQsdC+0YLQsNGC0Ywg0LTQuNCw0L/QsNC30L7QvSDRgdGC0YDQvtC6IG4sbSDQuNC3INGE0LDQudC70LAsINC90LDRh9C40L3QsNGPINGBIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjQxCisjOiBidWlsdGluL2xvZy5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgItCk0LjQvdCw0LvRjNC90YvQuSDQstGL0LLQvtC0OiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ4NgorIzogYnVpbHRpbi9sb2cuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlczog0L/Qu9C+0YXQvtC5INGE0LDQudC7IgogCi0jOiBidWlsdGluL2xvZy5jOjUwMCBidWlsdGluL2xvZy5jOjU5NAorIzogYnVpbHRpbi9sb2cuYzo1MTIgYnVpbHRpbi9sb2cuYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjE4CisjOiBidWlsdGluL2xvZy5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDQvtCx0YrQtdC60YLQsDogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzM5CisjOiBidWlsdGluL2xvZy5jOjc1MQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgItCyIGZvcm1hdC5oZWFkZXJzINC90LUg0YPQutCw0LfQsNC90L4g0LfQvdCw0YfQtdC90LjQtSIKIAotIzogYnVpbHRpbi9sb2cuYzo4MzkKKyM6IGJ1aWx0aW4vbG9nLmM6ODUyCiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICLRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90L7QtSDQuNC80Y8g0LLRi9GF0L7QtNC90L7Qs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODU0CisjOiBidWlsdGluL2xvZy5jOjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICLQndGDINGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGE0LDQudC7INC40LfQvNC10L3QtdC90LjQuSAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo4NjgKKyM6IGJ1aWx0aW4vbG9nLmM6ODg1CiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgItCd0YPQttC10L0g0YLQvtC70YzQutC+INC+0LTQuNC9INC00LjQsNC/0LDQt9C+0L0uIgogCi0jOiBidWlsdGluL2xvZy5jOjg3OAorIzogYnVpbHRpbi9sb2cuYzo4OTUKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgItCd0LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC40LDQv9Cw0LfQvtC90L7QvC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTg0CisjOiBidWlsdGluL2xvZy5jOjEwMDEKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICLQodC+0L/RgNC+0LLQvtC00LjRgtC10LvRjNC90L7QtSDQv9C40YHRjNC80L4g0LTQvtC70LbQvdC+INCx0YvRgtGMINCyINGE0L7RgNC80LDRgtC1INGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDYzCisjOiBidWlsdGluL2xvZy5jOjEwODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAi0L7RiNC40LHQutCwINCyINC/0L7Qu9C1IGluLXJlcGx5LXRvOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDkxCisjOiBidWlsdGluL2xvZy5jOjExMDgKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggWzzQvtC/0YbQuNC4Pl0gWzzQvdCw0YfQuNC90LDRjy3RgT4gfCA80LTQuNCw0L/QsNC30L7QvS3RgNC10LTQsNC60YbQuNC5Pl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE0MQorIzogYnVpbHRpbi9sb2cuYzoxMTU4CiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCiBtc2dzdHIgItCU0LLQsCDQstGL0YXQvtC00L3Ri9GFINC60LDRgtCw0LvQvtCz0LA/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyNDggYnVpbHRpbi9sb2cuYzoxODkxIGJ1aWx0aW4vbG9nLmM6MTg5MyBidWlsdGluL2xvZy5jOjE5MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NSBidWlsdGluL2xvZy5jOjE5MDggYnVpbHRpbi9sb2cuYzoxOTEwIGJ1aWx0aW4vbG9nLmM6MTkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90YvQuSDQutC+0LzQvNC40YIgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDU1CisjOiBidWlsdGluL2xvZy5jOjEyNzUgYnVpbHRpbi9ub3Rlcy5jOjg4NiBidWlsdGluL3RhZy5jOjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfRgNC10YjQuNGC0Ywgwqslc8K7INC60LDQuiDRgdGB0YvQu9C60YMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4MAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YLQvtGH0L3Rg9GOINCx0LDQt9GDINGB0LvQuNGP0L3QuNGPLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjY3CisjOiBidWlsdGluL2xvZy5jOjEyODQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKICJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQstGL0YjQtdGB0YLQvtGP0YnRg9GOINCy0LXRgtC60YMuINCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC30LDQv9C40YHQsNGC0Ywg0LHQsNC30L7QstGL0Lkg0LrQvtC80LzQuNGCINCw0LLRgtC+0LzQuNGC0LjRh9C10YHQutC4LCDRgtC+INC40YHQv9C+0LvRjNC30YPQudGC0LUgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byDQtNC70Y8g0L7RgtGB0LvQtdC20LjQstCw0L3QuNGPINCy0L3QtdGI0L3QtdC5INCy0LXRgtC60LguXG7QmNC70Lgg0LbQtSDQstGLINC80L7QttC10YLQtSDRg9C60LDQt9Cw0YLRjCDQsdCw0LfQvtCy0YvQuSDQutC+0LzQvNC40YIg0YPQutCw0LfQsNC90LjQtdC8IC0tYmFzZT080LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAt0LHQsNC30L7QstC+0LPQvi3QutC+0LzQvNC40YLQsD4g0LLRgNGD0YfQvdGD0Y4uIgogCi0jOiBidWlsdGluL2xvZy5jOjEyODcKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwNAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDRgtC+0YfQvdGD0Y4g0LHQsNC30YMg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI5OAorIzogYnVpbHRpbi9sb2cuYzoxMzE1CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkIGJlIHRoZSBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICLQsdCw0LfQvtCy0YvQuSDQutC+0LzQvNC40YIg0LTQvtC70LbQtdC9INCx0YvRgtGMINC/0YDQtdC00LrQvtC8INGB0L/QuNGB0LrQsCDRgNC10LTQsNC60YbQuNC5IgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxOQogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICLQsdCw0LfQvtCy0YvQuSDQutC+0LzQvNC40YIg0L3QtSDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0LIg0YHQv9C40YHQutC1INGA0LXQtNCw0LrRhtC40LkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM1MQorIzogYnVpbHRpbi9sb2cuYzoxMzY4CiBtc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC/0LDRgtGH0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwOAorIzogYnVpbHRpbi9sb2cuYzoxNDI1CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCBbUEFUQ0ggbi9tXSDQtNCw0LbQtSDQutC+0LPQtNCwINC+0LTQuNC9INC/0LDRgtGHIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyOAogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMIFtQQVRDSF0g0LTQsNC20LUg0LrQvtCz0LTQsCDQvdC10YHQutC+0LvRjNC60L4g0L/QsNGC0YfQtdC5IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINC/0LDRgtGH0Lgg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNworIzogYnVpbHRpbi9sb2cuYzoxNDM0CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgItCz0LXQvdC10YDQuNGA0L7QstCw0YLRjCDRgdC+0L/RgNC+0LLQvtC00LjRgtC10LvRjNC90L7QtSDQv9C40YHRjNC80L4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxOQorIzogYnVpbHRpbi9sb2cuYzoxNDM2CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/RgNC+0YHRgtGD0Y4g0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMINGH0LjRgdC10Lsg0LTQu9GPINC40LzQtdC9INCy0YvRhdC+0LTQvdGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNwogbXNnaWQgInNmeCIKIG1zZ3N0ciAi0YHRg9GE0YTQuNC60YEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMQorIzogYnVpbHRpbi9sb2cuYzoxNDM4CiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgdGD0YTRhNC40LrRgSA80YHRg9GE0YTQuNC60YE+INCy0LzQtdGB0YLQviDCqy5wYXRjaMK7IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgItC90LDRh9Cw0YLRjCDQvdGD0LzQtdGA0LDRhtC40Y4g0L/QsNGC0YfQtdC5INGBIDxuPiwg0LAg0L3QtSDRgSAxIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MgogbXNnaWQgIm1hcmsgdGhlIHNlcmllcyBhcyBOdGggcmUtcm9sbCIKIG1zZ3N0ciAi0L/QvtC80LXRgtC40YLRjCDRgdC10YDQuNGOINC60LDQuiDRjdC90L3Rg9GOINC/0L7Qv9GL0YLQutGDIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NAogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCBbUkZDIFBBVENIXSDQstC80LXRgdGC0L4gW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMwCisjOiBidWlsdGluL2xvZy5jOjE0NDcKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCBbPNC/0YDQtdGE0LjQutGBPl0g0LLQvNC10YHRgtC+IFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICLRgdC+0YXRgNCw0L3QuNGC0Ywg0YDQtdC30YPQu9GM0YLQuNGA0YPRjtGJ0LjQtSDRhNCw0LnQu9GLINCyIDzQutCw0YLQsNC70L7Qsz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNgorIzogYnVpbHRpbi9sb2cuYzoxNDUzCiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgItC90LUg0L7QsdGA0LXQt9Cw0YLRjC/QtNC+0LHQsNCy0LvRj9GC0YwgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM5CisjOiBidWlsdGluL2xvZy5jOjE0NTYKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LTQstC+0LjRh9C90YvQtSDRgNCw0LfQu9C40YfQuNGPIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OAogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINC90YPQu9C10LLRg9GOINGF0Y3RiC3RgdGD0LzQvNGDINCyINC30LDQs9C+0LvQvtCy0LrQtSBGcm9tIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MAogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAi0L3QtSDQstC60LvRjtGH0LDRgtGMINC/0LDRgtGHLCDQtdGB0LvQuCDQutC+0LzQvNC40YIg0YPQttC1INC10YHRgtGMINCyINCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQtSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ1CisjOiBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LIg0YTQvtGA0LzQsNGC0LUg0L/QsNGC0YfQsCwg0LAg0L3QtSDQsiDRgdGC0LDQvdC00LDRgNGC0L3QvtC8ICjQv9Cw0YLRhyArINGB0YLQsNGC0LjRgdGC0LjQutCwKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ3CisjOiBidWlsdGluL2xvZy5jOjE0NjQKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgItCf0LXRgNC10LTQsNGH0LAg0YHQvtC+0LHRidC10L3QuNC5IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NQogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAi0LfQsNCz0L7Qu9C+0LLQvtC6IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NgogbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6INGB0L7QvtCx0YnQtdC90LjRjyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgorIzogYnVpbHRpbi9sb2cuYzoxNDY3IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImVtYWlsIgogbXNnc3RyICLQv9C+0YfRgtCwIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC30LDQs9C+0LvQvtCy0L7QuiBUbzoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1MgorIzogYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6IENjOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU0CisjOiBidWlsdGluL2xvZy5jOjE0NzEKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAi0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NQorIzogYnVpbHRpbi9sb2cuYzoxNDcyCiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LDQtNGA0LXRgSDQvtGC0L/RgNCw0LLQuNGC0LXQu9GPINC90LAgPNC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAPiAo0LjQu9C4INC90LAg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC80LzQuNGC0LXRgNCwLCDQtdGB0LvQuCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU3CisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgC3RgdC+0L7QsdGJ0LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1OAorIzogYnVpbHRpbi9sb2cuYzoxNDc1CiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICLRgdC00LXQu9Cw0YLRjCDQv9C10YDQstC+0LUg0L/QuNGB0YzQvNC+INC+0YLQstC10YLQvtC8INC90LAgPNC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGALdGB0L7QvtCx0YnQtdC90LjRjz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1OSBidWlsdGluL2xvZy5jOjE0NjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NiBidWlsdGluL2xvZy5jOjE0NzkKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAi0LLQu9C+0LbQtdC90LjQtSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYwCisjOiBidWlsdGluL2xvZy5jOjE0NzcKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLQv9GA0LjQu9C+0LbQuNGC0Ywg0L/QsNGC0YciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworIzogYnVpbHRpbi9sb2cuYzoxNDgwCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQv9Cw0YLRhyDQsiDRgtC10LrRgdGCINC/0LjRgdGM0LzQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDY3CisjOiBidWlsdGluL2xvZy5jOjE0ODQKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQsiDQv9C40YHRjNC80LDRhSDQuNC10YDQsNGA0YXQuNGH0L3QvtGB0YLRjCwg0YHRgtC40LvQuDogc2hhbGxvdyAo0YfQsNGB0YLQuNGH0L3Rg9GOKSwgZGVlcCAo0LPQu9GD0LHQvtC60YPRjikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQorIzogYnVpbHRpbi9sb2cuYzoxNDg2CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICLQv9C+0LTQv9C40YHRjCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcwCisjOiBidWlsdGluL2xvZy5jOjE0ODcKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0L/QvtC00L/QuNGB0YwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQorIzogYnVpbHRpbi9sb2cuYzoxNDg4CiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgItCx0LDQt9C+0LLRi9C5INC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcyCisjOiBidWlsdGluL2xvZy5jOjE0ODkKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGC0YDQtdCx0L7QstCw0L3QuNC4INC00LXRgNC10LLQsCDQuiDRgdC10YDQuNC4INC/0LDRgtGH0LXQuSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc0CisjOiBidWlsdGluL2xvZy5jOjE0OTEKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0L/QvtC00L/QuNGB0Ywg0LjQtyDRhNCw0LnQu9CwIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5MgogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQuNC80LXQvdCwINGE0LDQudC70L7QsiDQv9Cw0YLRh9C10LkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NQorIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGC0YDQvtC60LAg0LjQtNC10L3RgtC40YTQuNC60LDRhtC40Lg6ICVzIgorCisjOiBidWlsdGluL2xvZy5jOjE1ODIKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi1uINC4IC1rINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4NAogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItLXN1YmplY3QtcHJlZml4Ly0tcmZjINC4IC1rINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc1CisjOiBidWlsdGluL2xvZy5jOjE1OTIKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtb25seSDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NAogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLXN0YXR1cyDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NgogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1jaGVjayDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyNgogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICLRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LQg0LjQu9C4INC60LDRgtCw0LvQvtCzPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjExCisjOiBidWlsdGluL2xvZy5jOjE2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQutCw0YLQsNC70L7QsyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcwNQorIzogYnVpbHRpbi9sb2cuYzoxNzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGE0LDQudC7INC/0L7QtNC/0LjRgdC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzc3CisjOiBidWlsdGluL2xvZy5jOjE3OTQKIG1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0L/RgNC4INGB0L7Qt9C00LDQvdC40Lgg0LLRi9GF0L7QtNC90YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPNCy0YvRiNC10YHRgtC+0Y/RidCw0Y8t0LLQtdGC0LrQsD4gWzzQs9C+0LvQvtCy0LA+IFs80L7Qs9GA0LDQvdC40YfQtdC90LjQtT5dXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4MAorIzogYnVpbHRpbi9sb2cuYzoxODk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiAiCiAibWFudWFsbHkuXG4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YPRjiDQstC90LXRiNC90Y7RjiDQstC10YLQutGDLCDRg9C60LDQttC40YLQtSA80LLRi9GI0LXRgdGC0L7Rj9GJ0YPRji3QstC10YLQutGDPiDQstGA0YPRh9C90YPRji5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs80L7Qv9GG0LjQuD5dIFs80YTQsNC50Ls+4oCmXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIg0YEg0LzQtdGC0LrQsNC80LgiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0LjQvNCy0L7Qu9GLINCyINC90LjQttC90LXQvCDRgNC10LPQuNGB0YLRgNC1INC00LvRjyDCq9C/0YDQtdC00L/QvtC70L7QttC40YLQtdC70YzQvdC+INCx0LXQtyDQuNC30LzQtdC90LXQvdC40LnCuyDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjEKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9C1INGE0LDQudC70Ysg0L/RgNC4INCy0YvQstC+0LTQtSAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTEzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIzCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINGD0LTQsNC70LXQvdC90YvQtSDRhNCw0LnQu9GLINC/0YDQuCDQstGL0LLQvtC00LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjUKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINC40LfQvNC10L3QtdC90L3Ri9C1INGE0LDQudC70Ysg0L/RgNC4INCy0YvQstC+0LTQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNwogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LTRgNGD0LPQuNC1INGE0LDQudC70Ysg0L/RgNC4INCy0YvQstC+0LTQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOQogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDQuNCz0L3QvtGA0LjRgNGD0LXQvNGL0LUg0YTQsNC50LvRiyDQv9GA0Lgg0LLRi9Cy0L7QtNC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTIyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINC40LzRjyDQuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdC+0LPQviDQvtCx0YrQtdC60YLQsCDQvdCwINCy0YvQstC+0LTQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINGE0LDQudC70Ysg0LIg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzQtSwg0LrQvtGC0L7RgNGL0LUg0LTQvtC70LbQvdGLINCx0YvRgtGMINGD0LTQsNC70LXQvdGLIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDRgtC+0LvRjNC60L4g0LjQvNC10L3QsCDRgyDCq9C00YDRg9Cz0LjRhcK7INC60LDRgtCw0LvQvtCz0L7QsiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOAogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC60L7QvdGG0Ysg0YHRgtGA0L7QuiDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICLQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINC/0YPRgdGC0YvQtSDQutCw0YLQsNC70L7Qs9C4IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDQvdC1INGB0LvQuNGC0YvQtSDRhNCw0LnQu9GLINC90LAg0LLRi9Cy0L7QtNC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNC4INC+INGA0LDQt9GA0LXRiNC10L3QuNC4INC60L7QvdGE0LvQuNC60YLQvtCyINC4INC+0YLQvNC10L3QtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0YTQsNC50LvRiywg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1INGI0LDQsdC70L7QvdGDIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINGI0LDQsdC70L7QvdGLINC40YHQutC70Y7Rh9C10L3QuNGPINC40LcgPNGE0LDQudC7PiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MwogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQv9C+0LrQsNGC0LDQu9C+0LbQvdGL0LUg0YjQsNCx0LvQvtC90Ysg0LjRgdC60LvRjtGH0LXQvdC40Y8g0LjQtyA80YTQsNC50Ls+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C1INC40YHQutC70Y7Rh9C10L3QuNGPIGdpdCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINC/0YPRgtC4INC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQutC+0YDQvdC10LLQvtCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQv9GA0L7QtdC60YLQsCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICLRgNC10LrRg9GA0YHQuNCy0L3QviDQv9C+INC/0L7QtNC80L7QtNGD0LvRj9C8IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICLQtdGB0LvQuCDQutCw0LrQvtC5LdC70LjQsdC+IDzRhNCw0LnQuz4g0L3QtSDQsiDQuNC90LTQtdC60YHQtSwg0YHRh9C40YLQsNGC0Ywg0Y3RgtC+INC+0YjQuNCx0LrQvtC5IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY0CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LAiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjUKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICLQv9GA0LjRgtCy0L7RgNC40YLRjNGB0Y8sINGH0YLQviDQv9GD0YLQuCDRg9C00LDQu9C10L3Riywg0YIu0LouIDzRg9C60LDQt9Cw0YLQtdC70Ywt0LTQtdGA0LXQstCwPiDQtdGJ0LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjcKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC+0YLQu9Cw0LTQvtGH0L3Rg9GOINC40L3RhNC+0YDQvNCw0YbQuNGOIgogCkBAIC04NTYwLDI0NCArOTI4MywyNTMgQEAKICIgICAgICAgICAgICAgICAgICAgICBbLS1zeW1yZWZdIFs8cmVwb3NpdG9yeT4gWzxyZWZzPi4uLl1dIgogbXNnc3RyICJnaXQgbHMtcmVtb3RlIFstLWhlYWRzXSBbLS10YWdzXSBbLS1yZWZzXSBbLS11cGxvYWQtcGFjaz080LfQsNC/0YPRgdC6Pl1cbiAgICAgICAgICAgICAgICAgICAgIFstcSB8IC0tcXVpZXRdIFstLWV4aXQtY29kZV0gWy0tZ2V0LXVybF1cbiAgICAgICAgICAgICAgICAgICAgIFstLXN5bXJlZl0gWzzRgNC10L/QvtC30LjRgtC+0YDQuNC5PiBbPNGB0YHRi9C70LrQuD7igKZdXSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MgogbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0YwgVVJMINCy0L3QtdGI0L3QuNGFINGA0LXQv9C+0LfQuNGC0L7RgNC40LXQsiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MSBidWlsdGluL2xzLXJlbW90ZS5jOjUzCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjUzIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTUKIG1zZ2lkICJleGVjIgogbXNnc3RyICLQt9Cw0L/Rg9GB0LoiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIgYnVpbHRpbi9scy1yZW1vdGUuYzo1NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NCBidWlsdGluL2xzLXJlbW90ZS5jOjU2CiBtc2dpZCAicGF0aCBvZiBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSBob3N0IgogbXNnc3RyICLQv9GD0YLRjCDQuiBnaXQtdXBsb2FkLXBhY2sg0L3QsCDQstC90LXRiNC90LXQvCDRgdC10YDQstC10YDQtSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAogbXNnaWQgImxpbWl0IHRvIHRhZ3MiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LjRgtGMINCy0YvQstC+0LQg0LzQtdGC0LrQsNC80LgiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTcKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTkKIG1zZ2lkICJsaW1pdCB0byBoZWFkcyIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQuNGC0Ywg0LLRi9Cy0L7QtCDRg9C60LDQt9Cw0YLQtdC70Y/QvNC4INC90LAg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAogbXNnaWQgImRvIG5vdCBzaG93IHBlZWxlZCB0YWdzIgogbXNnc3RyICLQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINGD0LTQsNC70ZHQvdC90YvQtSDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYyCiBtc2dpZCAidGFrZSB1cmwuPGJhc2U+Lmluc3RlYWRPZiBpbnRvIGFjY291bnQiCiBtc2dzdHIgItGD0YfQuNGC0YvQstCw0YLRjCB1cmwuPNCx0LDQt9CwPi5pbnN0ZWFkT2YiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgItCy0YvRhdC+0LTQuNGC0Ywg0YEg0LrQvtC00L7QvCAyLCDQtdGB0LvQuCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40LUg0YHRgdGL0LvQutC4INC90LUg0L3QsNC50LTQtdC90YsiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjYKIG1zZ2lkICJzaG93IHVuZGVybHlpbmcgcmVmIGluIGFkZGl0aW9uIHRvIHRoZSBvYmplY3QgcG9pbnRlZCBieSBpdCIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgtCw0LrQttC1INCy0L3Rg9GC0YDQtdC90L3RjtGOINGB0YHRi9C70LrRgyDQsiDQtNC+0L/QvtC70L3QtdC90LjQtSDQuiDQvtCx0YrQtdC60YLRgywg0L3QsCDQutC+0YLQvtGA0YvQuSDQvtC90LAg0YPQutCw0LfRi9Cy0LDQtdGCIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoyOAorIzogYnVpbHRpbi9scy10cmVlLmM6MjkKIG1zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbHMtdHJlZSBbPNC+0L/RhtC40Lg+XSA80YPQutCw0LfQsNGC0LXQu9GMLdC00LXRgNC10LLQsD4gWzzQv9GD0YLRjD7igKZdIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNwogbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDRgtC+0LvRjNC60L4g0LTQtdGA0LXQstGM0Y8iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1YnRyZWVzIgogbXNnc3RyICLQv9GA0L7RhdC+0LTQuNGC0Ywg0YDQtdC60YPRgNGB0LjQstC90L4g0LIg0L/QvtC00LTQtdGA0LXQstGM0Y8iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMgorIzogYnVpbHRpbi9scy10cmVlLmM6MTMxCiBtc2dpZCAic2hvdyB0cmVlcyB3aGVuIHJlY3Vyc2luZyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQtNC10YDQtdCy0YzRjyDQv9GA0Lgg0YDQtdC60YPRgNGB0LjQstC90L7QvCDQv9GA0L7RhdC+0LTQtSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM1CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzQKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICLRgNCw0LfQtNC10LvRj9GC0Ywg0LfQsNC/0LjRgdC4INGBINC/0L7QvNC+0YnRjNGOINCd0KPQm9CV0JLQntCT0J4g0LHQsNC50YLQsCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM2CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdCBzaXplIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINGA0LDQt9C80LXRgCDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM4IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MAorIzogYnVpbHRpbi9scy10cmVlLmM6MTM3IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOQogbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0YLQvtC70YzQutC+INC40LzQtdC90LAg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MgogbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQv9C+0LvQvdGL0LUg0L/Rg9GC0LgiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0NQorIzogYnVpbHRpbi9scy10cmVlLmM6MTQ0CiBtc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQv9C+0LvQvdC+0LUg0LTQtdGA0LXQstC+OyDQvdC1INGC0L7Qu9GM0LrQviDRgtC10LrRg9GJ0LjQuSDQutCw0YLQsNC70L7QsyAo0LLQutC70Y7Rh9Cw0LXRgiDQsiDRgdC10LHRjyAtLWZ1bGwtbmFtZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgotbXNnc3RyICJnaXQgbWVyZ2UgWzzQvtC/0YbQuNC4Pl0gWzzQutC+0LzQvNC40YI+4oCmXSIKKyM6IGJ1aWx0aW4vbWFpbHNwbGl0LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCittc2dzdHIgItC/0YPRgdGC0L7QuSBtYm94OiDCqyVzwrsiCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzo0NwotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgotbXNnc3RyICJnaXQgbWVyZ2UgWzzQvtC/0YbQuNC4Pl0gPNGB0L7QvtCx0YnQtdC90LjQtT4gSEVBRCA80LrQvtC80LzQuNGCPiIKK21zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKK21zZ3N0ciAiZ2l0IG1lcmdlIFs80L7Qv9GG0LjQuD5dIFs80LrQvtC80LzQuNGCPuKApl0iCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzo0OAogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgogbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMgorIzogYnVpbHRpbi9tZXJnZS5jOjQ5Cittc2dpZCAiZ2l0IG1lcmdlIC0tY29udGludWUiCittc2dzdHIgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgorCisjOiBidWlsdGluL21lcmdlLmM6MTA0CiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICLQv9GA0Lgg0YPQutCw0LfQsNC90LjQuCDQv9Cw0YDQsNC80LXRgtGA0LAgwqttwrsg0YLRgNC10LHRg9C10YLRgdGPINGD0LrQsNC30LDRgtGMINC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgbWVyZ2Ugc3RyYXRlZ3kgJyVzJy5cbiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INGB0YLRgNCw0YLQtdCz0LjRjiDRgdC70LjRj9C90LjRjyDCqyVzwrsuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi0JTQvtGB0YLRg9C/0L3Ri9C1INGB0YLRgNCw0YLQtdCz0LjQuDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgItCU0L7RgdGC0YPQv9C90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQtSDRgdGC0YDQsNGC0LXQs9C40Lg6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk1IGJ1aWx0aW4vcHVsbC5jOjEyNworIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMzQKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg0LjQt9C80LXQvdC10L3QuNC5INC/0L7RgdC70LUg0L7QutC+0L3Rh9Cw0L3QuNGPINGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk4IGJ1aWx0aW4vcHVsbC5jOjEzMAorIzogYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzcKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0YLQsNGC0LjRgdGC0LjQutGDINC40LfQvNC10L3QtdC90LjQuSDQv9C+0YHQu9C1INC+0LrQvtC90YfQsNC90LjRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTQwCiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKNGB0LjQvdC+0L3QuNC8INC00LvRjyAtLXN0YXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjEzNgorIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxNDMKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0YwgKNC80LDQutGB0LjQvNGD0LwgPG4+KSDQt9Cw0L/QuNGB0LXQuSDQuNC3INC60L7RgNC+0YLQutC+0LPQviDQttGD0YDQvdCw0LvQsCDQsiDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0YMg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQgYnVpbHRpbi9wdWxsLmM6MTM5CisjOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjE0NgogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQvtC00LjQvSDQutC+0LzQvNC40YIsINCy0LzQtdGB0YLQviDQstGL0L/QvtC70L3QtdC90LjRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDggYnVpbHRpbi9wdWxsLmM6MTQ5CiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICLRgdC00LXQu9Cw0YLRjCDQutC+0LzQvNC40YIsINC10YHQu9C4INGB0LvQuNGP0L3QuNC1INC/0YDQvtGI0LvQviDRg9GB0L/QtdGI0L3QviAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0NQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNTIKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgItC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0L/QtdGA0LXQtCDQstGL0L/QvtC70L3QtdC90LjQtdC8INC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA5CisjOiBidWlsdGluL21lcmdlLmM6MjExCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC/0LXRgNC10LzQvtGC0LrRgyDQstC/0LXRgNC10LQgKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMSBidWlsdGluL3B1bGwuYzoxNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMgYnVpbHRpbi9wdWxsLmM6MTU4CiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAi0L7RgtC80LXQvdC40YLRjCDQstGL0L/QvtC70L3QtdC90LjQtSDRgdC70LjRj9C90LjRjywg0LXRgdC70Lgg0L/QtdGA0LXQvNC+0YLQutCwINCy0L/QtdGA0LXQtCDQvdC10LLQvtC30LzQvtC20L3QsCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL3B1bGwuYzoxNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0YwsINGH0YLQviDRg9C60LDQt9Cw0L3QvdGL0Lkg0LrQvtC80LzQuNGCINC40LzQtdC10YIg0LLQtdGA0L3Rg9GOINGN0LvQtdC60YLRgNC+0L3QvdGD0Y4g0L/QvtC00L/QuNGB0YwgR1BHIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4Ci0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzYgYnVpbHRpbi9wdWxsLmM6MTY1CisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICLRgdGC0YDQsNGC0LXQs9C40Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU5CisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE2NgogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfRg9C10LzQsNGPINGB0YLRgNCw0YLQtdCz0LjRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9wdWxsLmM6MTY5CiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICLQvtC/0YbQuNGPPdC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTYzCisjOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgItC+0L/RhtC40Lgg0LTQu9GPINCy0YvQsdGA0LDQvdC90L7QuSDRgdGC0YDQsNGC0LXQs9C40Lgg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjMKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgItGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCDQtNC70Y8g0YHQu9C40Y/QvdC40Y8gKNC00LvRjyDRgdC70LjRj9C90LjRjyDQsdC10Lcg0L/QtdGA0LXQvNC+0YLQutC4INCy0L/QtdGA0LXQtCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAi0L7RgtC80LXQvdC40YLRjCDQstGL0L/QvtC70L3QtdC90LjQtSDQv9GA0L7QuNGB0YXQvtC00Y/RidC10LPQviDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKK21zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKK21zZ3N0ciAi0L/RgNC+0LTQvtC70LbQuNGC0Ywg0LLRi9C/0L7Qu9C90LXQvdC40LUg0L/RgNC+0LjRgdGF0L7QtNGP0YnQtdCz0L4g0YHQu9C40Y/QvdC40Y8iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzEgYnVpbHRpbi9wdWxsLmM6MTc3CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0YHQu9C40Y/QvdC40LUg0L3QtdGB0LLRj9C30LDQvdC90YvRhSDQuNGB0YLQvtGA0LjQuSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3Rhc2guIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjYwCisjOiBidWlsdGluL21lcmdlLmM6MjY0CiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0LLRi9C/0L7Qu9C90LXQvdC40Lggc3Rhc2giCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC+0LHRitC10LrRgjogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODQgYnVpbHRpbi9tZXJnZS5jOjMwMQorIzogYnVpbHRpbi9tZXJnZS5jOjI4OCBidWlsdGluL21lcmdlLmM6MzA1CiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INCy0YvQv9C+0LvQvdC10L3QuNC4IHJlYWQtdHJlZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMzMQorIzogYnVpbHRpbi9tZXJnZS5jOjMzNQogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgogbXNnc3RyICIgKNC90LXRh9C10LPQviDRg9C/0LvQvtGC0L3Rj9GC0YwpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzQyCisjOiBidWlsdGluL21lcmdlLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAi0KPQv9C70L7RgtC90LXQvdC40LUg0LrQvtC80LzQuNGC0LAg4oCUINC90LUg0L7QsdC90L7QstC70Y/RjyBIRUFEXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICLQndC10YIg0YHQvtC+0LHRidC10L3QuNGPINGB0LvQuNGP0L3QuNGPIOKAlCDQvdC1INC+0LHQvdC+0LLQu9GP0LXQvCBIRUFEXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAiwqslc8K7INC90LUg0YPQutCw0LfRi9Cy0LDQtdGCINC90LAg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTMzCisjOiBidWlsdGluL21lcmdlLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGC0YDQvtC60LAgYnJhbmNoLiVzLm1lcmdlb3B0aW9uczogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTcKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICLQndC1INC+0LHRgNCw0LHQsNGC0YvQstCw0Y4g0L3QuNGH0LXQs9C+LCDQutGA0L7QvNC1INGB0LvQuNGP0L3QuNGPINC00LLRg9GFINGD0LrQsNC30LDRgtC10LvQtdC5INC90LAg0LLQtdGC0LrQuC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90YvQuSDQv9Cw0YDQsNC80LXRgtGAIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4MQorIzogYnVpbHRpbi9tZXJnZS5jOjY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczMworIzogYnVpbHRpbi9tZXJnZS5jOjczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQtdGB0YLRjCDQuNC3IMKrJXPCuyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc0MgorIzogYnVpbHRpbi9tZXJnZS5jOjc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgItCd0LUg0LLRi9C/0L7Qu9C90Y/RjiDQutC+0LzQvNC40YIg0YHQu9C40Y/QvdC40Y87INC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgY29tbWl0wrsg0LTQu9GPINC30LDQstC10YDRiNC10L3QuNGPINGB0LvQuNGP0L3QuNGPLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzQ4CisjOiBidWlsdGluL21lcmdlLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKQEAgLTg4MDcsMjI4ICs5NTM5LDIzMCBAQAogInRoZSBjb21taXQuXG4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAsINC00LvRjyDQvtCx0YrRj9GB0L3QtdC90LjRjywg0LfQsNGH0LXQvCDQvdGD0LbQvdC+XG7RjdGC0L4g0YHQu9C40Y/QvdC40LUsINC+0YHQvtCx0LXQvdC90L4sINC10YHQu9C4INGN0YLQviDRgdC70LjRj9C90LjQtSDQvtCx0L3QvtCy0LvQtdC90L3QvtC5INCy0YvRiNC10YHRgtC+0Y/RidC10LlcbtCy0LXRgtC60Lgg0LIg0YLQtdC80LDRgtC40YfQtdGB0LrRg9GOINCy0LXRgtC60YMuXG5cbtCh0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBIMKrJWPCuyDQsdGD0LTRg9GCINC/0YDQvtC40LPQvdC+0YDQuNGA0L7QstCw0L3Riywg0LAg0L/Rg9GB0YLQvtC1XG7RgdC+0L7QsdGJ0LXQvdC40LUg0L7RgtC80LXQvdGP0LXRgiDQv9GA0L7RhtC10YHRgSDQutC+0LzQvNC40YLQsC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc3MgorIzogYnVpbHRpbi9tZXJnZS5jOjc3NwogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAi0J/Rg9GB0YLQvtC1INGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICLQn9GA0LXQutGA0LDRgdC90L4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7QstC10YHRgtC4INCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LUg0YHQu9C40Y/QvdC40LU7INC40YHQv9GA0LDQstGM0YLQtSDQutC+0L3RhNC70LjQutGC0Ysg0Lgg0YHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0YDQtdC30YPQu9GM0YLQsNGC0LAuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCi1tc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQvtC80LzQuNGC0L7QvCIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjkwNAorIzogYnVpbHRpbi9tZXJnZS5jOjg4OQogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi0J3QtdGCINGC0LXQutGD0YnQtdC5INCy0LXRgtC60LguIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA2CisjOiBidWlsdGluL21lcmdlLmM6ODkxCiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQoyDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INC90LXRgiDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8uIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA4CisjOiBidWlsdGluL21lcmdlLmM6ODkzCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQlNC70Y8g0YLQtdC60YPRidC10Lkg0LLQtdGC0LrQuCDQvdC1INGD0LrQsNC30LDQvdCwINCy0YvRiNC10YHRgtC+0Y/RidCw0Y8g0LLQtdGC0LrQsCDQv9C+INGD0LzQvtC70YfQsNC90LjRji4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C60LDQt9Cw0L3QsCDQstC90LXRiNC90Y/RjyDQvtGC0YHQu9C10LbQuNCy0LDQtdC80LDRjyDQstC10YLQutCwINC00LvRjyAlcyDQvdCwICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTYwCisjOiBidWlsdGluL21lcmdlLmM6OTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCiBtc2dzdHIgItCf0LvQvtGF0L7QtSDQt9C90LDRh9C10L3QuNC1IMKrJXPCuyDQsiDQv9C10YDQtdC80LXQvdC90L7QuSDQvtC60YDRg9C20LXQvdC40Y8gwqslc8K7IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAzNAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDYxCisjOiBidWlsdGluL21lcmdlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgItC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgtC10LwsINGH0YLQviDQvNC+0LbQvdC+INGB0LvQuNGC0Ywg0LIgJXM6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA5NQorIzogYnVpbHRpbi9tZXJnZS5jOjEwODAKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAi0L3QtSDRj9Cy0LvRj9C10YLRgdGPINGC0LXQvCwg0YfRgtC+INC80L7QttC90L4g0YHQu9C40YLRjCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ1Cittc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L7Qv9GG0LjRjyAtLWFib3J0INC90LUg0L/RgNC40L3QuNC80LDQtdGCINCw0YDQs9GD0LzQtdC90YLRiyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExNDkKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgItCd0LXRgiDRgdC70LjRj9C90LjRjywg0LrQvtGC0L7RgNC+0LUg0LzQvtC20L3QviDQvtGC0LzQtdC90LjRgtGMICjQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINGE0LDQudC7IE1FUkdFX0hFQUQpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYxCittc2dpZCAiLS1jb250aW51ZSBleHBlY3RzIG5vIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L7Qv9GG0LjRjyAtLWNvbnRpbnVlINC90LUg0L/RgNC40L3QuNC80LDQtdGCINCw0YDQs9GD0LzQtdC90YLRiyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExNjUKK21zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCittc2dzdHIgItCh0LXQudGH0LDRgSDQvdC1INC/0YDQvtC40YHRhdC+0LTQuNGCINGB0LvQuNGP0L3QuNC1ICjQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINGE0LDQudC7IE1FUkdFX0hFQUQpLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNCy0LXRgNGI0LjQu9C4INGB0LvQuNGP0L3QuNC1ICjQv9GA0LjRgdGD0YLRgdGC0LLRg9C10YIg0YTQsNC50LsgTUVSR0VfSEVBRCkuXG7QktGL0L/QvtC70L3QuNGC0LUg0LrQvtC80LzQuNGCINCy0LDRiNC40YUg0LjQt9C80LXQvdC10L3QuNC5LCDQv9C10YDQtdC0INGB0LvQuNGP0L3QuNC10LwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE4NQorIzogYnVpbHRpbi9tZXJnZS5jOjExODgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNCy0LXRgNGI0LjQu9C4INC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LrQvtC80LzQuNGC0LAgKNC/0YDQuNGB0YPRgtGB0YLQstGD0LXRgiDRhNCw0LnQuyBDSEVSUllfUElDS19IRUFEKS5cbtCf0L7QttCw0LvRg9C50YHRgtCwLCDQt9Cw0LrQvtC80LzQuNGC0YzRgtC1INCy0LDRiNC4INC40LfQvNC10L3QtdC90LjRjywg0L/QtdGA0LXQtCDRgdC70LjRj9C90LjQtdC8LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExODgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTkxCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNCy0LXRgNGI0LjQu9C4INC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LrQvtC80LzQuNGC0LAgKNC/0YDQuNGB0YPRgtGB0YLQstGD0LXRgiDRhNCw0LnQuyBDSEVSUllfUElDS19IRUFEKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTk3CisjOiBidWlsdGluL21lcmdlLmM6MTIwMAogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICLQndC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviAtLXNxdWFzaCDQuCAtLW5vLWZmLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA4CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgItCa0L7QvNC80LjRgiDQvdC1INGD0LrQsNC30LDQvSDQuCDQv9Cw0YDQsNC80LXRgtGAIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtINC90LUg0YPRgdGC0LDQvdC+0LLQu9C10L0uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIyMgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjUKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAi0KPQv9C70L7RgtC90LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0LIg0L/Rg9GB0YLRg9GOINCy0LXRgtC60YMg0LXRidC1INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI3CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgItCa0L7QvNC80LjRgiwg0L3QtSDRj9Cy0LvRj9GO0YnQuNC50YHRjyDQv9C10YDQtdC80L7RgtC60L7QuSDQstC/0LXRgNC10LQsINC90LXRgiDRgdC80YvRgdC70LAg0LTQtdC70LDRgtGMINCyINC/0YPRgdGC0YPRjiDQstC10YLQutGDLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgtC10LwsINGH0YLQviDQvNC+0LbQvdC+INGB0LvQuNGC0YwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMxCisjOiBidWlsdGluL21lcmdlLmM6MTIzNAogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgItCc0L7QttC90L4g0YLQvtC70YzQutC+INC+0LTQuNC9INC60L7QvNC80LjRgiDQsiDQv9GD0YHRgtGD0Y4g0LLQtdGC0LrRgy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg3CisjOiBidWlsdGluL21lcmdlLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICLQmtC+0LzQvNC40YIgJXMg0YHQvtC00LXRgNC20LjRgiDQvdC1INC00L7QstC10YDQtdC90L3Rg9GOIEdQRyDQv9C+0LTQv9C40YHRjCwg0L/RgNC10LTQv9C+0LvQvtC20LjRgtC10LvRjNC90L4g0L7RgiAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkwCisjOiBidWlsdGluL21lcmdlLmM6MTI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAi0JrQvtC80LzQuNGCICVzINGB0L7QtNC10YDQttC40YIg0L/Qu9C+0YXRg9GOIEdQRyDQv9C+0LTQv9C40YHRjCwg0L/RgNC10LTQv9C+0LvQvtC20LjRgtC10LvRjNC90L4g0L7RgiAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkzCisjOiBidWlsdGluL21lcmdlLmM6MTI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICLQmtC+0LzQvNC40YIgJXMg0L3QtSDRgdC+0LTQtdGA0LbQuNGCIEdQRyDQv9C+0LTQv9C40YHRjC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CisjOiBidWlsdGluL21lcmdlLmM6MTI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgItCa0L7QvNC80LjRgiAlcyDRgdC+0LTQtdGA0LbQuNGCINC00LXQudGB0YLQstC40YLQtdC70YzQvdGD0Y4gR1BHINC/0L7QtNC/0LjRgdGMLCDQvtGCICVzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1OAorIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICLQvtGC0LrQsNC3INGB0LvQuNGP0L3QuNGPINC90LXRgdCy0Y/Qt9Cw0L3QvdGL0YUg0LjRgdGC0L7RgNC40Lkg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM2NworIzogYnVpbHRpbi9tZXJnZS5jOjEzNDgKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgogbXNnc3RyICLQo9C20LUg0L7QsdC90L7QstC70LXQvdC+LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICLQntCx0L3QvtCy0LvQtdC90LjQtSAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICLQn9C+0L/Ri9GC0LrQsCDRgtGA0LjQstC40LDQu9GM0L3QvtCz0L4g0YHQu9C40Y/QvdC40Y8g0LIg0LjQvdC00LXQutGB0LXigKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MjUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgItCd0LUg0LLRi9GI0LvQvi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDMxCiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiBZZWVhaCEiCiBtc2dzdHIgItCj0LbQtSDQvtCx0L3QvtCy0LvQtdC90L4uINCa0YDRg9GC0L4hIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ1NgorIzogYnVpbHRpbi9tZXJnZS5jOjE0MzcKIG1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCiBtc2dzdHIgItCf0LXRgNC10LzQvtGC0LrQsCDQstC/0LXRgNC10LQg0L3QtdCy0L7Qt9C80L7QttC90LAsINC+0YLQvNC10L3QsC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc5IGJ1aWx0aW4vbWVyZ2UuYzoxNTU4CisjOiBidWlsdGluL21lcmdlLmM6MTQ2MCBidWlsdGluL21lcmdlLmM6MTUzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKIG1zZ3N0ciAi0J/QtdGA0LXQvNC+0YLQutCwINC00LXRgNC10LLQsCDQuiDQuNGB0YXQvtC00L3QvtC80YMg0YHQvtGB0YLQvtGP0L3QuNGO4oCmXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgzCisjOiBidWlsdGluL21lcmdlLmM6MTQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAi0J/QvtC/0YvRgtC60LAg0YHQu9C40Y/QvdC40Y8g0YEg0L/QvtC80L7RidGM0Y4g0YHRgtGA0LDRgtC10LPQuNC4ICVz4oCmXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ5CisjOiBidWlsdGluL21lcmdlLmM6MTUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAi0J3QuCDQvtC00L3QsCDRgdGC0YDQsNGC0LXQs9C40Y8g0YHQu9C40Y/QvdC40Y8g0L3QtSDQvtCx0YDQsNCx0L7RgtCw0LvQsCDRgdC70LjRj9C90LjQtS5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICLQodCx0L7QuSDQv9GA0Lgg0YHQu9C40Y/QvdC40Lgg0YEg0L/QvtC80L7RidGM0Y4g0YHRgtGA0LDRgtC10LPQuNC4ICVzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU2MAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30YPRjiAlcyDQtNC70Y8g0L/QvtC00LPQvtGC0L7QstC60Lgg0YDRg9GH0L3QvtCz0L4g0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtC+0LIuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTcyCisjOiBidWlsdGluL21lcmdlLmM6MTU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICLQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtC1INGB0LvQuNGP0L3QuNC1INC/0YDQvtGI0LvQviDRg9GB0L/QtdGI0L3Qvjsg0LrQsNC6INC4INC30LDQv9GA0LDRiNC40LLQsNC70LgsINC+0YHRgtCw0L3QvtCy0LvQtdC90L4g0L/QtdGA0LXQtCDQstGL0L/QvtC70L3QtdC90LjQtdC8INC60L7QvNC80LjRgtCwXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDzQutC+0LzQvNC40YI+IDzQutC+0LzQvNC40YI+4oCmIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzEKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gLS1vY3RvcHVzIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gLS1vY3RvcHVzIDzQutC+0LzQvNC40YI+4oCmIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDzQutC+0LzQvNC40YI+4oCmIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzMKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDxjb21taXQ+IDxjb21taXQ+IgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDzQutC+0LzQvNC40YI+IDzQutC+0LzQvNC40YI+IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzQKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDzRgdGB0YvQu9C60LA+IFs80LrQvtC80LzQuNGCPl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE4CiBtc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQstGB0LXRhSDQvtCx0YnQuNGFINC/0YDQtdC00LrQvtCyIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0L/RgNC10LTQutC+0LIg0LTQu9GPINC+0LTQvdC+0LPQviDQvNC90L7Qs9C+0YXQvtC00L7QstC+0LPQviDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGA0LXQtNCw0YbQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC1INC00L7RgdGC0LjQttC40LzRiyDQuNC3INC00YDRg9CzINC00YDRg9Cz0LAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI0CiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICLRj9Cy0LvRj9C10YLRgdGPINC/0LXRgNCy0YvQvCDQv9GA0LXQtNC60L7QvCDQstGC0L7RgNC+0LPQviDRg9C60LDQt9Cw0L3QvdC+0LPQviDQutC+0LzQvNC40YLQsD8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI2CiBtc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCiBtc2dzdHIgItC90LDQudGC0Lgg0LbRg9GA0L3QsNC70LUg0YHRgdGL0LvQvtC6IDzRgdGB0YvQu9C60LA+INCz0LTQtSDQuNC80LXQvdC90L4gPNC60L7QvNC80LjRgj4g0YDQsNC30LLQtdGC0LLQuNC70YHRjyIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAorIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OQogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbPG9wdGlvbnM+XSBbLUwgPG5hbWUxPiBbLUwgPG9yaWc+IFstTCA8bmFtZTI+XV1dIDxmaWxlMT4gIgogIjxvcmlnLWZpbGU+IDxmaWxlMj4iCkBAIC05MTAzLDUwNCArOTgzNyw1MDggQEAKIG1zZ2lkICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogbXNnc3RyICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1MgorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMKIG1zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKIG1zZ3N0ciAi0LLQstC+0LQg0L7RgtC00LXQu9GR0L3QvdGL0Lkg0J3Qo9Cb0JXQktCr0JzQmCDRgdC40LzQstC+0LvQsNC80LgiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUzIGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI0CisjOiBidWlsdGluL21rdHJlZS5jOjE1NCBidWlsdGluL3dyaXRlLXRyZWUuYzoyNQogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0LTQvtC/0YPRgdGC0LjRgtGMINC+0YLRgdGD0YLRgdGC0LLQuNC1INC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU0CisjOiBidWlsdGluL21rdHJlZS5jOjE1NQogbXNnaWQgImFsbG93IGNyZWF0aW9uIG9mIG1vcmUgdGhhbiBvbmUgdHJlZSIKIG1zZ3N0ciAi0LTQvtC/0YPRgdGC0LjRgtGMINGB0L7Qt9C00LDQvdC40LUg0LHQvtC70LXQtSDQvtC00L3QvtCz0L4g0LTQtdGA0LXQstCwIgogCi0jOiBidWlsdGluL212LmM6MTUKKyM6IGJ1aWx0aW4vbXYuYzoxNwogbXNnaWQgImdpdCBtdiBbPG9wdGlvbnM+XSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgogbXNnc3RyICJnaXQgbXYgWzzQvtC/0YbQuNC4Pl0gPNC40YHRgtC+0YfQvdC40Lo+4oCmIDzQvdCw0LfQvdCw0YfQtdC90LjQtT4iCiAKLSM6IGJ1aWx0aW4vbXYuYzo3MAorIzogYnVpbHRpbi9tdi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKIG1zZ3N0ciAi0JrQsNGC0LDQu9C+0LMgJXMg0LIg0LjQvdC00LXQutGB0LUg0Lgg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC/0L7QtNC80L7QtNGD0LvQtdC8PyIKIAotIzogYnVpbHRpbi9tdi5jOjcyIGJ1aWx0aW4vcm0uYzozMTcKKyM6IGJ1aWx0aW4vbXYuYzo4NSBidWlsdGluL3JtLmM6MjkwCiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgItCn0YLQvtCx0Ysg0L/RgNC+0LTQvtC70LbQuNGC0YwsINC/0YDQvtC40L3QtNC10LrRgdC40YDRg9C50YLQtSDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YTQsNC50LvQtSAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9tdi5jOjkwCisjOiBidWlsdGluL212LmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUuKnMgaXMgaW4gaW5kZXgiCiBtc2dzdHIgIiUuKnMg0LIg0LjQvdC00LXRgdC1IgogCi0jOiBidWlsdGluL212LmM6MTEyCisjOiBidWlsdGluL212LmM6MTI1CiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QviDQv9C10YDQtdC80LXRidCw0YLRjC/Qv9C10YDQtdC40LzQtdC90L7QstCw0YLRjCwg0LTQsNC20LUg0LXRgdC70Lgg0YbQtdC70Ywg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTMKKyM6IGJ1aWx0aW4vbXYuYzoxMjYKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0LrQsNGC0Ywg0L7RiNC40LHQutC4INC/0YDQuCDQv9C10YDQtdC80LXRidC10L3QuNC4L9C/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNTUKKyM6IGJ1aWx0aW4vbXYuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgItGG0LXQu9C10LLQvtC5INC/0YPRgtGMIMKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQsNGC0LDQu9C+0LPQvtC8IgogCi0jOiBidWlsdGluL212LmM6MTY2CisjOiBidWlsdGluL212LmM6MTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNGPINC40Lcgwqslc8K7INCyIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL212LmM6MTcwCisjOiBidWlsdGluL212LmM6MTgzCiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAi0L/Qu9C+0YXQvtC5INC40YHRgtC+0YfQvdC40LoiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzMKKyM6IGJ1aWx0aW4vbXYuYzoxODYKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0L/QtdGA0LXQvNC10YHRgtC40YLRjCDQutCw0YLQsNC70L7QsyDQsiDRgdCw0LzQvtCz0L4g0YHQtdCx0Y8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzYKKyM6IGJ1aWx0aW4vbXYuYzoxODkKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0L/QtdGA0LXQvNC10YHRgtC40YLRjCDQutCw0YLQsNC70L7QsyDQsiDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9tdi5jOjE4NQorIzogYnVpbHRpbi9tdi5jOjE5OAogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgItC40YHRhdC+0LTQvdGL0Lkg0LrQsNGC0LDQu9C+0LMg0L/Rg9GB0YIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTAKKyM6IGJ1aWx0aW4vbXYuYzoyMjMKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICLQvdC1INC/0L7QtCDQstC10YDRgdC40L7QvdC90YvQvCDQutC+0L3RgtGA0L7Qu9C10LwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTMKKyM6IGJ1aWx0aW4vbXYuYzoyMjYKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgItGG0LXQu9C10LLQvtC5INC/0YPRgtGMINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9tdi5jOjIyMQorIzogYnVpbHRpbi9tdi5jOjIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICLQv9C10YDQtdC30LDQv9C40YHRjCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjQKKyM6IGJ1aWx0aW4vbXYuYzoyMzcKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LfQsNC/0LjRgdCw0YLRjCIKIAotIzogYnVpbHRpbi9tdi5jOjIyNworIzogYnVpbHRpbi9tdi5jOjI0MAogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAi0L3QtdGB0LrQvtC70YzQutC+INC40YHRgtC+0YfQvdC40LrQvtCyINC00LvRjyDQvtC00L3QvtCz0L4g0YbQtdC70LXQstC+0LPQviDQv9GD0YLQuCIKIAotIzogYnVpbHRpbi9tdi5jOjIyOQorIzogYnVpbHRpbi9tdi5jOjI0MgogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0YbQtdC70LXQstC+0Lkg0LrQsNGC0LDQu9C+0LMg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9tdi5jOjIzNgorIzogYnVpbHRpbi9tdi5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsINC+0YLQutGD0LTQsD0lcywg0LrRg9C00LA9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNTcKKyM6IGJ1aWx0aW4vbXYuYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAi0J/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSAlcyDQsiAlc1xuIgogCi0jOiBidWlsdGluL212LmM6MjYzIGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzc1CisjOiBidWlsdGluL212LmM6Mjc2IGJ1aWx0aW4vcmVtb3RlLmM6NzExIGJ1aWx0aW4vcmVwYWNrLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQuCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMzgKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPNC+0L/RhtC40Lg+XSA80LrQvtC80LzQuNGCPuKApiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMzOQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs80L7Qv9GG0LjQuD5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzQwCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPNC+0L/RhtC40Lg+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINGC0L7Qu9GM0LrQviDQuNC80LXQvdCwICjQsdC10LcgU0hBLTEpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk2CiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INC80LXRgtC60Lgg0LTQu9GPINC40LzQtdC90L7QstCw0L3QuNGPINC60L7QvNC80LjRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTgKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDRgdGB0YvQu9C60LgsINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQtSA80YjQsNCx0LvQvtC90YM+ICIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMAorbXNnaWQgImlnbm9yZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINGB0YHRi9C70LrQuCwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1IDzRiNCw0LHQu9C+0L3Rgz4iCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDIKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LLRgdC10YUg0LrQvtC80LzQuNGC0L7Qsiwg0LTQvtGB0YLQuNC20LjQvNGL0YUg0YHQviDQstGB0LXRhSDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDMKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA0CiBtc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LLRi9Cy0L7QtCDCq3VuZGVmaW5lZMK7LCDQtdGB0LvQuCDQvdC1INC90LDQudC00LXQvdC+ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTAKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAi0YDQsNC30YvQvNC10L3QvtCy0YvQstCw0YLRjCDQstCy0LXQtNC10L3QvdGL0LUg0LzQtdGC0LrQuCAo0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8pIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzRgdGB0YvQu9C60LAt0L3QsC3Qt9Cw0LzQtdGC0LrRgz5dIFtsaXN0IFs80L7QsdGK0LXQutGCPl1dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNwogbXNnaWQgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBhZGQgWy1mXSBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IgogIiB8ICgtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA80YHRgdGL0LvQutCwLdC90LAt0LfQsNC80LXRgtC60YM+XSBhZGQgWy1mXSBbLS1hbGxvdy1lbXB0eV0gWy1tIDzRgdC+0L7QsdGJ0LXQvdC40LU+IHwgLUYgPNGE0LDQudC7PiB8ICgtYyB8IC1DKSA80L7QsdGK0LXQutGCPl0gWzzQvtCx0YrQtdC60YI+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI3CisjOiBidWlsdGluL25vdGVzLmM6MjgKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBjb3B5IFstZl0gPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA80YHRgdGL0LvQutCwLdC90LAt0LfQsNC80LXRgtC60YM+XSBjb3B5IFstZl0gPNC40Lct0L7QsdGK0LXQutGC0LA+IDzQsi3QvtCx0YrQtdC60YI+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOQogbXNnaWQgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBhcHBlbmQgWy0tYWxsb3ctZW1wdHldIFstbSA8bXNnPiB8IC1GIDxmaWxlPiB8IgogIiAoLWMgfCAtQykgPG9iamVjdD5dIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPNGB0YHRi9C70LrQsC3QvdCwLdC30LDQvNC10YLQutGDPl0gYXBwZW5kIFstLWFsbG93LWVtcHR5XSBbLW0gPNGB0L7QvtCx0YnQtdC90LjQtT4gfCAtRiA80YTQsNC50Ls+IHwgKC1jIHwgLUMpIDzQvtCx0YrQtdC60YI+XSBbPNC+0LHRitC10LrRgj5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGVkaXQgWy0tYWxsb3ctZW1wdHldIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPNGB0YHRi9C70LrQsC3QvdCwLdC30LDQvNC10YLQutGDPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzzQvtCx0YrQtdC60YI+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwCisjOiBidWlsdGluL25vdGVzLmM6MzEKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPNGB0YHRi9C70LrQsC3QvdCwLdC30LDQvNC10YLQutGDPl0gc2hvdyBbPNC+0LHRitC10LrRgj5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMgogbXNnaWQgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBtZXJnZSBbLXYgfCAtcV0gWy1zIDxzdHJhdGVneT5dIDxub3Rlcy1yZWY+IgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzRgdGB0YvQu9C60LAt0L3QsC3Qt9Cw0LzQtdGC0LrRgz5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPNGB0YLRgNCw0YLQtdCz0LjRjz5dIDzRgdGB0YvQu9C60LAt0L3QsC3Qt9Cw0LzQtdGC0LrRgz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMgorIzogYnVpbHRpbi9ub3Rlcy5jOjMzCiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMzCisjOiBidWlsdGluL25vdGVzLmM6MzQKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM0CisjOiBidWlsdGluL25vdGVzLmM6MzUKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSByZW1vdmUgWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA80YHRgdGL0LvQutCwLdC90LAt0LfQsNC80LXRgtC60YM+XSByZW1vdmUgWzzQvtCx0YrQtdC60YI+4oCmXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM1CisjOiBidWlsdGluL25vdGVzLmM6MzYKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBwcnVuZSBbLW4gfCAtdl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPNGB0YHRi9C70LrQsC3QvdCwLdC30LDQvNC10YLQutGDPl0gcHJ1bmUgWy1uIHwgLXZdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNwogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGdldC1yZWYiCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPNGB0YHRi9C70LrQsC3QvdCwLdC30LDQvNC10YLQutGDPl0gZ2V0LXJlZiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxCisjOiBidWlsdGluL25vdGVzLmM6NDIKIG1zZ2lkICJnaXQgbm90ZXMgW2xpc3QgWzxvYmplY3Q+XV0iCiBtc2dzdHIgImdpdCBub3RlcyBbbGlzdCBbPNC+0LHRitC10LrRgj5dXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2CisjOiBidWlsdGluL25vdGVzLmM6NDcKIG1zZ2lkICJnaXQgbm90ZXMgYWRkIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBhZGQgWzzQvtC/0YbQuNC4Pl0gWzzQvtCx0YrQtdC60YI+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxCisjOiBidWlsdGluL25vdGVzLmM6NTIKIG1zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPNC+0L/RhtC40Lg+XSA80LjQty3QvtCx0YrQtdC60YLQsD4gPNCyLdC+0LHRitC10LrRgj4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzCiBtc2dpZCAiZ2l0IG5vdGVzIGNvcHkgLS1zdGRpbiBbPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0Pl0uLi4iCiBtc2dzdHIgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzzQuNC3LdC+0LHRitC10LrRgtCwPiA80LIt0L7QsdGK0LXQutGCPl3igKYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NworIzogYnVpbHRpbi9ub3Rlcy5jOjU4CiBtc2dpZCAiZ2l0IG5vdGVzIGFwcGVuZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgYXBwZW5kIFs80L7Qv9GG0LjQuD5dIFs80L7QsdGK0LXQutGCPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjYzCiBtc2dpZCAiZ2l0IG5vdGVzIGVkaXQgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGVkaXQgWzzQvtCx0YrQtdC60YI+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY3CisjOiBidWlsdGluL25vdGVzLmM6NjgKIG1zZ2lkICJnaXQgbm90ZXMgc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgc2hvdyBbPNC+0LHRitC10LrRgj5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MwogbXNnaWQgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIFs80L7Qv9GG0LjQuD5dIDzRgdGB0YvQu9C60LAt0L3QsC3Qt9Cw0LzQtdGC0LrRgz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MworIzogYnVpbHRpbi9ub3Rlcy5jOjc0CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzzQvtC/0YbQuNC4Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc1CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs80L7Qv9GG0LjQuD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MAogbXNnaWQgImdpdCBub3RlcyByZW1vdmUgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIHJlbW92ZSBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg0CisjOiBidWlsdGluL25vdGVzLmM6ODUKIG1zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBwcnVuZSBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5CisjOiBidWlsdGluL25vdGVzLmM6OTAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1CiBtc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKIG1zZ3N0ciAi0JfQsNC/0LjRgdCw0YLRjC/QuNC30LzQtdC90LjRgtGMINC30LDQvNC10YLQutC4INC00LvRjyDRgdC70LXQtNGD0Y7RidC10LPQviDQvtCx0YrQtdC60YLQsDoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMIMKrc2hvd8K7INC00LvRjyDQvtCx0YrQtdC60YLQsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNTIKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnc2hvdycgb3V0cHV0IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQstGL0LLQvtC0IMKrc2hvd8K7IgogCi0jOiBidWlsdGluL25vdGVzLmM6MTU5CisjOiBidWlsdGluL25vdGVzLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LLQtdGA0YjQuNGC0YwgwqtzaG93wrsg0LTQu9GPINC+0LHRitC10LrRgtCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjE5NQogbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKIG1zZ3N0ciAi0L/QvtC20LDQu9GD0LnRgdGC0LAsINGD0LrQsNC20LjRgtC1INGB0L7QtNC10YDQttC40LzQvtC1INC30LDQvNC10YLQutC4LCDQuNGB0L/QvtC70YzQt9GD0Y8g0L7Qv9GG0LjRjiAtbSDQuNC70LggLUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQvtCx0YrQtdC60YIg0LfQsNC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgItGB0L7QtNC10YDQttC40LzQvtC1INC30LDQvNC10YLQutC4INC+0YHRgtCw0LvQvtGB0Ywg0LIgJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzMgYnVpbHRpbi90YWcuYzo0MzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzQgYnVpbHRpbi90YWcuYzo1MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL25vdGVzLmM6MjM1IGJ1aWx0aW4vdGFnLmM6NDQyCisjOiBidWlsdGluL25vdGVzLmM6MjM2IGJ1aWx0aW4vdGFnLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDQuNC70Lgg0L/RgNC+0YfQuNGC0LDRgtGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NCBidWlsdGluL25vdGVzLmM6MzA1IGJ1aWx0aW4vbm90ZXMuYzozMDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzIgYnVpbHRpbi9ub3Rlcy5jOjQyNyBidWlsdGluL25vdGVzLmM6NTEzCi0jOiBidWlsdGluL25vdGVzLmM6NTE4IGJ1aWx0aW4vbm90ZXMuYzo1OTYgYnVpbHRpbi9ub3Rlcy5jOjY1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NSBidWlsdGluL25vdGVzLmM6MzA2IGJ1aWx0aW4vbm90ZXMuYzozMDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzUgYnVpbHRpbi9ub3Rlcy5jOjQzMCBidWlsdGluL25vdGVzLmM6NTE2CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTkgYnVpbHRpbi9ub3Rlcy5jOjY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfRgNC10YjQuNGC0Ywgwqslc8K7INC60LDQuiDRgdGB0YvQu9C60YMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU3CisjOiBidWlsdGluL25vdGVzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0L7QsdGK0LXQutGCIMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQtNCw0L3QvdGL0LUg0LfQsNC80LXRgtC60Lgg0LjQtyDQvdC10LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwIMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0LLQstC10LTQtdC90L3QsNGPINGB0YLRgNC+0LrQsDogwqslc8K7LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMxNgorIzogYnVpbHRpbi9ub3Rlcy5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC60L7Qv9C40YDQvtCy0LDRgtGMINC30LDQvNC10YLQutGDINC40Lcgwqslc8K7INCyIMKrJXPCuyIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKLSMuIGdpdCBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KLSM6IGJ1aWx0aW4vbm90ZXMuYzozNDUKKyMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhIGdpdAorIy4gbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCisjOiBidWlsdGluL25vdGVzLmM6MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAi0L7RgtC60LDQtyDQsiDQv9C10YDQtdC30LDQv9C40YHQuCAlcyDQt9Cw0LzQtdGC0L7QuiDQsiAlcyAo0LfQsCDQv9GA0LXQtNC10LvQsNC80LggcmVmcy9ub3Rlcy8pIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgotIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCisjOiBidWlsdGluL25vdGVzLmM6MzY4IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjUxMSBidWlsdGluL25vdGVzLmM6NTg3IGJ1aWx0aW4vbm90ZXMuYzo2NTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQgYnVpbHRpbi9ub3Rlcy5jOjk1MSBidWlsdGluL25vdGVzLmM6OTcyCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L3QviDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LDRgNCw0LzQtdGC0YDQvtCyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo2NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODEgYnVpbHRpbi9ub3Rlcy5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgogbXNnc3RyICLQvdC1INC90LDQudC00LXQvdCwINC30LDQvNC10YLQutCwINC00LvRjyDQvtCx0YrQtdC60YLQsCAlcy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAi0YLQtdC60YHRgtC+0LLQvtC1INGB0L7QtNC10YDQttC40LzQvtC1INC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDAyIGJ1aWx0aW4vbm90ZXMuYzo1NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICLRgdC+0LTQtdGA0LbQuNC80L7QtSDQt9Cw0LzQtdGC0LrQuCDQsiDRhNCw0LnQu9C1IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQogbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC4INC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0L7QsdGK0LXQutGCINC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTEgYnVpbHRpbi9ub3Rlcy5jOjU3NAogbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGD0LrQsNC30LDQvdC90YvQuSDQvtCx0YrQtdC60YIg0LfQsNC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTEgYnVpbHRpbi9ub3Rlcy5jOjU3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxNCBidWlsdGluL25vdGVzLmM6NTc3CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0YHQvtGF0YDQsNC90LXQvdC40LUg0L/Rg9GB0YLQvtC5INC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo0ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTUgYnVpbHRpbi9ub3Rlcy5jOjQ4NgogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgItC30LDQvNC10L3QuNGC0Ywg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC1INC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDM3CisjOiBidWlsdGluL25vdGVzLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgogImV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0LfQsNC80LXRgtC60YMuINCd0LDQudC00LXQvdCwINGB0YPRidC10YHRgtCy0YPRjtGJ0LDRjyDQt9Cw0LzQtdGC0LrQsCDRgyDQvtCx0YrQtdC60YLQsCAlcy4g0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQv9Cw0YDQsNC80LXRgtGAIMKrLWbCuyDQtNC70Y8g0L/QtdGA0LXQt9Cw0L/QuNGB0Lgg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNGFINC30LDQvNC10YLQvtC6LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCisjOiBidWlsdGluL25vdGVzLmM6NDU1IGJ1aWx0aW4vbm90ZXMuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLQn9C10YDQtdC30LDQv9C40YHRjCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40YUg0LfQsNC80LXRgtC+0Log0YMg0L7QsdGK0LXQutGC0LAgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NjI0IGJ1aWx0aW4vbm90ZXMuYzo4ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjYgYnVpbHRpbi9ub3Rlcy5jOjYyNiBidWlsdGluL25vdGVzLmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INC30LDQvNC10YLQutC4INGDINC+0LHRitC10LrRgtCwICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODcKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC+0LHRitC10LrRgtGLINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODkKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAi0LfQsNCz0YDRg9C30LjRgtGMINC90LDRgdGC0YDQvtC50LrQuCDQv9C10YDQtdC30LDQv9C40YHQuCDQtNC70Y8g0LrQvtC80LDQvdC00YsgPNC60L7QvNCw0L3QtNCwPiAo0LLQutC70Y7Rh9Cw0LXRgiDQsiDRgdC10LHRjyAtLXN0ZGluKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUwNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUwNwogbXNnaWQgInRvbyBmZXcgcGFyYW1ldGVycyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L3QviDRgdC70LjRiNC60L7QvCDQvNCw0LvQviDQv9Cw0YDQsNC80LXRgtGA0L7QsiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyNQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSIKICIgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQutC+0L/QuNGA0L7QstCw0YLRjCDQt9Cw0LzQtdGC0LrRgy4g0J3QsNC50LTQtdC90LAg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQsNGPINC30LDQvNC10YLQutCwINGDINC+0LHRitC10LrRgtCwICVzLiDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC/0LDRgNCw0LzQtdGC0YAgwqstZsK7INC00LvRjyDQv9C10YDQtdC30LDQv9C40YHQuCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40YUg0LfQsNC80LXRgtC+0LouIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTM3CisjOiBidWlsdGluL25vdGVzLmM6NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgogbXNnc3RyICLQvdC10YIg0LfQsNC80LXRgtC+0Log0YMg0LjRgdGF0L7QtNC90L7Qs9C+INC+0LHRitC10LrRgtCwICVzLiDQndC10LvRjNC30Y8g0YHQutC+0L/QuNGA0L7QstCw0YLRjC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCiAiUGxlYXNlIHVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgaW5zdGVhZC5cbiIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCAtbS8tRi8tYy8tQyDQtNC70Y8g0L/QvtC00LrQvtC80LDQvdC00YsgwqtlZGl0wrsg0YPRgdGC0LDRgNC10LvQuC5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUg0LLQvNC10YHRgtC+INC90LjRhSDCq2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUPCuy5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjY4NwogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutGDIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODkKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutGDIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjY5MQogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMgwqtnaXQgbm90ZXMgbWVyZ2XCuyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQogbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdGB0YvQu9C60YMgTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQorIzogYnVpbHRpbi9ub3Rlcy5jOjcxMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LrQvtC80LzQuNGCINC40LcgTk9URVNfTUVSR0VfUEFSVElBTC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTUKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC60L7QvNC80LjRgiDQuNC3IE5PVEVTX01FUkdFX1BBUlRJQUwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzI2CisjOiBidWlsdGluL25vdGVzLmM6NzI4CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9GA0LXRiNC40YLRjCBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzEKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCy0LXRgNGI0LjRgtGMINGB0LvQuNC90LjQtSDQt9Cw0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc1NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINGB0YLRgNCw0YLQtdCz0LjRjyDRgdC70LjRj9C90LjRjyDQt9Cw0LzQtdGC0L7QuiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3MwogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAi0J7QsdGJ0LjQtSDQvtC/0YbQuNC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzczCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NwogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgIgogIihtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQutC+0L3RhNC70LjQutGC0Ysg0LfQsNC80LXRgtC+0Log0YEg0L/QvtC80L7RidGM0Y4g0YPQutCw0LfQsNC90L3QvtC5INGB0YLRgNCw0YLQtdCz0LjQuCAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc3CisjOiBidWlsdGluL25vdGVzLmM6Nzc5CiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi0JrQvtC80LzQuNGCINC90LUg0YHQu9C40YLRi9GFINC30LDQvNC10YLQvtC6IgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc5CisjOiBidWlsdGluL25vdGVzLmM6NzgxCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi0LfQsNCy0LXRgNGI0LjRgtGMINGB0LvQuNGP0L3QuNC1INC30LDQvNC10YLQvtC6INC60L7QvNC80LjRgtC+0Lwg0L3QtSDRgdC70LjRgtGL0YUg0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICLQntGC0LzQtdC90LAg0YDQsNC30YDQtdGI0LXQvdC40Y8g0YHQu9C40Y/QvdC40Y8g0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAi0L7RgtC80LXQvdC40YLRjCDRgdC70LjRj9C90LjQtSDQt9Cw0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc5NgogbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gLS1jb21taXQsIC0tYWJvcnQg0LggLXMvLS1zdHJhdGVneSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjgwMQogbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKIG1zZ3N0ciAi0LLRiyDQtNC+0LvQttC90Ysg0YPQutCw0LfQsNGC0Ywg0YHRgdGL0LvQutGDINC30LDQvNC10YLQutC4INC00LvRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgyMworIzogYnVpbHRpbi9ub3Rlcy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAg0LTQu9GPIC1zLy0tc3RyYXRlZ3k6ICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYwCisjOiBidWlsdGluL25vdGVzLmM6ODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgogbXNnc3RyICLRgdC70LjRj9C90LjQtSDQt9Cw0LzQtdGC0L7QuiDQsiAlcyDRg9C20LUg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQvdCwICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYzCisjOiBidWlsdGluL25vdGVzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMINCw0LTRgNC10YEg0YLQtdC60YPRidC10Lkg0YHRgdGL0LvQutC4INC90LAg0LfQsNC80LXRgtC60YMgKCVzKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCIKQEAgLTk2MDgsMjE4ICsxMDM0NiwyMTggQEAKICItLWFib3J0Jy5cbiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC70LjRgtGMINC30LDQvNC10YLQutC4LiDQmNGB0L/RgNCw0LLRjNGC0LUg0LrQvtC90YTQu9C40LrRgtGLINCyICVzINC4INC30LDQutC+0LzQvNC40YLRjNGC0LUg0YDQtdC30YPQu9GM0YLQsNGCINGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0wrssINC40LvQuCDQv9GA0LXRgNCy0LjRgtC1INC/0YDQvtGG0LXRgdGBINGB0LvQuNGP0L3QuNGPINGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnTCuy5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg4NworIzogYnVpbHRpbi9ub3Rlcy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAi0KMg0L7QsdGK0LXQutGC0LAgJXMg0L3QtdGCINC30LDQvNC10YLQutC4XG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDEKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgItC/0L7Qv9GL0YLQutCwINGD0LTQsNC70LXQvdC40Y8g0L3QtdGB0YPRidC10YHRgtCy0YPRjtGJ0LXQuSDQt9Cw0LzQtdGC0LrQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L7RiNC40LHQutC+0LkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDQKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC40LzQtdC90LAg0L7QsdGK0LXQutGC0L7QsiDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQwIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworIzogYnVpbHRpbi9ub3Rlcy5jOjk0MiBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvRj9GC0YwsINGC0L7Qu9GM0LrQviDQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk0MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk0MwogbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRg9C00LDQu9C10L3QvdGL0YUg0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODUKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgItGB0YHRi9C70LrQsC3QvdCwLdC30LDQvNC10YLQutGDIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTg0CisjOiBidWlsdGluL25vdGVzLmM6OTg2CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQt9Cw0LzQtdGC0LrRgyDQuNC3IDzRgdGB0YvQu9C60LAt0L3QsC3Qt9Cw0LzQtdGC0LrRgz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CisjOiBidWlsdGluL25vdGVzLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC/0L7QtNC60L7QvNCw0L3QtNCwOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMAogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs80L7Qv9GG0LjQuD7igKZdIFs8IDzRgdC/0LjRgdC+0Lot0YHRgdGL0LvQvtC6PiB8IDwgPNGB0L/QuNGB0L7Qui3QvtCx0YrQtdC60YLQvtCyPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyBbPNC+0L/RhtC40Lg+4oCmXSA80LjQvNGPLdCx0LDQt9GLPiBbPCA80YHQv9C40YHQvtC6LdGB0YHRi9C70L7Quj4gfCA8IDzRgdC/0LjRgdC+0Lot0L7QsdGK0LXQutGC0L7Qsj5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0YHQttCw0YLQuNGPICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzY4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NgogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgcGFja3MgYXJlIHNwbGl0IGR1ZSB0byBwYWNrLnBhY2tTaXplTGltaXQiCiBtc2dzdHIgItC+0YLQutC70Y7Rh9C10L3QuNC1INC30LDQv9C40YHQuCDQsdC40YLQvtCy0YvRhSDQutCw0YDRgiwg0YLQsNC6INC60LDQuiDQutCw0YDRgtGLINCx0YvQu9C4INGA0LDQt9Cx0LjRgtGLINC90LAg0YfQsNGB0YLQuCDQuNC3LdC30LAgcGFjay5wYWNrU2l6ZUxpbWl0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODkKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgItCX0LDQv9C40YHRjCDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNzAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA2OQogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICLQvtGC0LrQu9GO0YfQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LHQuNGC0L7QstGL0YUg0LrQsNGA0YIsINGC0LDQuiDQutCw0Log0L3QtdC60L7RgtC+0YDRi9C1INC+0LHRitC10LrRgtGLINC90LUg0LHRi9C70Lgg0YPQv9Cw0LrQvtCy0LDQvdGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQzNAogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgItCh0LbQsNGC0LjQtSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80LDRjyDQstC10YDRgdC40Y8g0LjQvdC00LXQutGB0LAgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgItC/0LvQvtGF0LDRjyDQstC10YDRgdC40Y8g0LjQvdC00LXQutGB0LAgwqslc8K7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg3NwogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0L/RgNC+0LPRgNC10YHRgSDQstGL0L/QvtC70L3QtdC90LjRjyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NzkKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODgxCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L/RgNC+0LPRgNC10YHRgSDQstGL0L/QvtC70L3QtdC90LjRjyDQstC+INCy0YDQtdC80Y8g0LfQsNC/0LjRgdC4INC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg0CiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICLQv9C+0YXQvtC20LUg0L3QsCAtLWFsbC1wcm9ncmVzcyDQv9GA0Lgg0LLQutC70Y7Rh9C10L3QvdC+0Lwg0L/RgNC+0LPRgNC10YHRgdC1INCy0YvQv9C+0LvQvdC10L3QuNGPIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4NQogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgItCy0LXRgNGB0LjRj1ss0YHQvNC10YnQtdC90LjQtV0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg2CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCDQv9Cw0LrQtdGC0LAg0LIg0YPQutCw0LfQsNC90L3QvtC5INCy0LXRgNGB0LjQuCDRhNC+0YDQvNCw0YLQsCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODkKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC60LDQttC00L7Qs9C+INCy0YvRhdC+0LTQvdC+0LPQviDRhNCw0LnQu9CwINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTEKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDRh9GD0LbQuNC1INC+0LHRitC10LrRgtGLLCDQstC30Y/RgtGL0LUg0LjQtyDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QvtCz0L4g0YXRgNCw0L3QuNC70LjRidCwINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODkzCiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0YPQv9Cw0LrQvtCy0LDQvdC90YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTUKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICLQvtCz0YDQsNC90LjRh9C40YLRjCDQvtC60L3QviDQv9Cw0LrQtdGC0LAg0L/QviDQutC+0LvQuNGH0LXRgdGC0LLRgyDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5NwogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgItC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+INC6INC60L7Qu9C40YfQtdGB0YLQstGDINC+0LHRitC10LrRgtC+0LIg0L7Qs9GA0LDQvdC40YfQuNGC0Ywg0L7QutC90L4g0L/QsNC60LXRgtCwINC/0L4g0L/QsNC80Y/RgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5OQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdCw0Y8g0YDQsNC30YDQtdGI0LXQvdC90LDRjyDQtNC70LjQvdCwINGG0LXQv9C+0YfQutC4INC00LXQu9GM0YIg0LIg0YDQtdC30YPQu9GM0YLQuNGA0YPRjtGJ0LXQvCDQv9Cw0LrQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAxCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/QvtCy0YLQvtGA0L3QviDRgdGD0YnQtdGB0YLQstGD0Y7RidC40LUg0LTQtdC70YzRgtGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwMwogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQv9C+0LLRgtC+0YDQvdC+INGB0YPRidC10YHRgtCy0YPRjtGJ0LjQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtCx0YrQtdC60YLRiyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA3CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC80L3QvtCz0L7Qv9C+0YLQvtGH0L3QvtGB0YLRjCDQv9GA0Lgg0L/QvtC40YHQutC1INC70YPRh9GI0LjRhSDRgdC+0LLQv9Cw0LTQtdC90LjQuSDQtNC10LvRjNGCIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwOQogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgItC90LUg0YHQvtC30LTQsNCy0LDRgtGMINC/0YPRgdGC0YvQtSDQstGL0YXQvtC00L3Ri9C1INC/0LDQutC10YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTEKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0LDRgNCz0YPQvNC10L3RgtGLINGA0LXQtNCw0LrRhtC40Lkg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTMKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQuNGC0YzRgdGPINC+0LHRitC10LrRgtCw0LzQuCwg0LrQvtGC0L7RgNGL0LUg0LXRidC1INC90LUg0YPQv9Cw0LrQvtCy0LDQvdGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxNgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINC+0LHRitC10LrRgtGLLCDQutC+0YLQvtGA0YvQtSDQtNC+0YHRgtC40LbQuNC80Ysg0L/QviDQu9GO0LHQvtC5INC40Lcg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxOQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQvtCx0YrQtdC60YLRiywg0L3QsCDQutC+0YLQvtGA0YvQtSDRgdGB0YvQu9Cw0Y7RgtGB0Y8g0LfQsNC/0LjRgdC4INC20YPRgNC90LDQu9CwINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINC+0LHRitC10LrRgtGLLCDQvdCwINC60L7RgtC+0YDRi9C1INGB0YHRi9C70LDQtdGC0YHRjyDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI1CiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQv9Cw0LrQtdGCINC90LAgINGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLRi9Cy0L7QtCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjcKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywg0L7QsdGK0LXQutGC0Ysg0LzQtdGC0L7Quiwg0LrQvtGC0L7RgNGL0LUg0YHRgdGL0LvQsNGO0YLRgdGPINC90LAg0YPQv9Cw0LrQvtCy0YvQstCw0LXQvNGL0LUg0L7QsdGK0LXQutGC0YsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI5CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLRgdC+0YXRgNCw0L3Rj9GC0Ywg0YHRgdGL0LvQutC4INC90LAg0L3QtdC00L7RgdGC0YPQv9C90YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzEKIG1zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgItC/0LDQutC+0LLQsNGC0Ywg0L3QtdC00L7RgdGC0LjQttC40LzRi9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzMwogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICLRgNCw0YHQv9Cw0LrQvtCy0LDRgtGMINC90LXQtNC+0YHRgtGD0L/QvdGL0LUg0L7QsdGK0LXQutGC0YssINC60L7RgtC+0YDRi9C1INC90L7QstC10LUsINGH0LXQvCA80LLRgNC10LzRjz4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTM2CiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgItGB0L7Qt9C00LDQstCw0YLRjCDRgtC+0L3QutC40LUg0L/QsNC60LXRgtGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzOAogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICLRgdC+0LfQtNCw0LLQsNGC0Ywg0L/QsNC60LXRgtGLLCDQv9C+0LTRhdC+0LTRj9GJ0LjQtSDQtNC70Y8g0YfQsNGB0YLQuNGH0L3Ri9GFINC40LfQstC70LXRh9C10L3QuNC5IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MAogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQv9Cw0LrQtdGC0YssINGA0Y/QtNC+0Lwg0YEg0LrQvtGC0L7RgNGL0LzQuCDQu9C10LbQuNGCIC5rZWVwINGE0LDQudC7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MgogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgItGD0YDQvtCy0LXQvdGMINGB0LbQsNGC0LjRjyDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ0CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgItC90LUg0YHQutGA0YvQstCw0YLRjCDQutC+0LzQvNC40YLRiyDRgdGA0LDRidC10L3QuNGP0LzQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDYKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgItC/0L4g0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LjQvdC00LXQutGBINCyINCx0LjRgtC+0LLRi9GFINC60LDRgNGC0LDRhSwg0LTQu9GPINGD0YHQutC+0YDQtdC90LjRjyDQv9C+0LTRgdGH0LXRgtCwINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ4CiBtc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdGMINC40L3QtNC10LrRgdCwINCyINCx0LjRgtC+0LLRi9GFINC60LDRgNGC0LDRhSDQstC80LXRgdGC0LUg0YEg0LjQvdC00LXQutGB0L7QvCDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDc1CiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0J/QvtC00YHRh9C10YIg0L7QsdGK0LXQutGC0L7QsiIKIApAQCAtOTg0NywxMSArMTA1ODUsMTEgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDzQstGA0LXQvNGPPl0gWy0tXSBbPNC40LzRjy3QstC10YLQutC4PuKApl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDYgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi9wcnVuZS5jOjEwNgogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGD0LTQsNC70LXQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTA5IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkKIG1zZ2lkICJleHBpcmUgb2JqZWN0cyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0L7QsdGK0LXQutGC0Ysg0YHRgtCw0YDQtdC1INGH0LXQvCA80LTQsNGC0LAt0L7QutC+0L3Rh9Cw0L3QuNGPPiIKIApAQCAtOTg1OSw2MiArMTA1OTcsNjYgQEAKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQv9C+0YfQuNGB0YLQuNGC0Ywg0L3QtdC40YHQv9C+0LvRjNC30YPQtdC80YvQtSDQvtCx0YrQtdC60YLRiyDQsiBwcmVjaW91cy1vYmplY3RzINGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjUxIGJ1aWx0aW4vcHVsbC5jOjUzCisjOiBidWlsdGluL3B1bGwuYzo1NCBidWlsdGluL3B1bGwuYzo1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1ICVzOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjc2CiBtc2dpZCAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCi1tc2dzdHIgImdpdCBwdWxsIFs80L7Qv9GG0LjQuD5dIFs80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4gWzzRgdC/0LXRhtC40YTQuNC60LDRhtC40Y8t0YHRgdGL0LvQutC4PuKApl1dIgorbXNnc3RyICJnaXQgcHVsbCBbPNC+0L/RhtC40Lg+XSBbPNGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+IFs80YHQv9C10YbQuNGE0LjQutCw0YLQvtGALdGB0YHRi9C70LrQuD7igKZdXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTIxCisjOiBidWlsdGluL3B1bGwuYzoxMjQKK21zZ2lkICJjb250cm9sIGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAi0YPQv9GA0LDQstC70LXQvdC40LUg0YDQtdC60YPRgNGB0LjQstC90YvQvCDQuNC30LLQu9C10YfQtdC90LjQtdC8INC/0L7QtNC80L7QtNGD0LvQtdC5IgorCisjOiBidWlsdGluL3B1bGwuYzoxMjgKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCwg0YHQstGP0LfQsNC90L3Ri9C1INGB0L4g0YHQu9C40Y/QvdC40LXQvCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTI0CisjOiBidWlsdGluL3B1bGwuYzoxMzEKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgItC30LDQsdGA0LDRgtGMINC40LfQvNC10L3QtdC90LjRjyDRgSDQv9C+0LzQvtGJ0YzRjiDQv9C10YDQtdCx0LDQt9C40YDQvtCy0LDQvdC40Y8sINCwINC90LUg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0OCBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoxOSBidWlsdGluL3JldmVydC5jOjEyMQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC/0LXRgNC10LzQvtGC0LrRgyDQstC/0LXRgNC10LQiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9wdWxsLmM6MTY0CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgItCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INCy0YvQv9C+0LvQvdGP0YLRjCBzdGFzaC9zdGFzaCBwb3Ag0LTQviDQuCDQv9C+0YHQu9C1INC/0LXRgNC10LzQtdGJ0LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9wdWxsLmM6MTgwCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICLQntC/0YbQuNC4LCDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0YEg0LjQt9Cy0LvQtdGH0LXQvdC40LXQvCDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NQorIzogYnVpbHRpbi9wdWxsLmM6MTk4CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICLQutC+0LvQuNGH0LXRgdGC0LLQviDQv9C+0LTQvNC+0LTRg9C70LXQuSwg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQv9C+0LvRg9GH0LXQvdGLINC/0LDRgNGA0LDQu9C10LvRjNC90L4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjI4NAorIzogYnVpbHRpbi9wdWxsLmM6Mjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8gcHVsbC5mZjogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM5NworIzogYnVpbHRpbi9wdWxsLmM6Mzk5CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKIG1zZ3N0ciAi0J3QtdGCINC/0YDQtdGC0LXQvdC00LXQvdGC0L7QsiDQtNC70Y8g0L/QtdGA0LXQvNC10YnQtdC90LjRjyDRgdGA0LXQtNC4INGB0YHRi9C70L7Quiwg0LrQvtGC0L7RgNGL0LUg0LLRiyDRgtC+0LvRjNC60L4g0YfRgtC+INC/0L7Qu9GD0YfQuNC70LguIgogCi0jOiBidWlsdGluL3B1bGwuYzozOTkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMQogbXNnaWQgIiIKICJUaGVyZSBhcmUgbm8gY2FuZGlkYXRlcyBmb3IgbWVyZ2luZyBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0IGZldGNoZWQuIgogbXNnc3RyICLQndC10YIg0L/RgNC10YLQtdC90LTQtdC90YLQvtCyINC00LvRjyDRgdC70LjRj9C90LjRjyDRgdGA0LXQtNC4INGB0YHRi9C70L7Quiwg0LrQvtGC0L7RgNGL0LUg0LLRiyDRgtC+0LvRjNC60L4g0YfRgtC+INC/0L7Qu9GD0YfQuNC70LguIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMgogbXNnaWQgIiIKICJHZW5lcmFsbHkgdGhpcyBtZWFucyB0aGF0IHlvdSBwcm92aWRlZCBhIHdpbGRjYXJkIHJlZnNwZWMgd2hpY2ggaGFkIG5vXG4iCiAibWF0Y2hlcyBvbiB0aGUgcmVtb3RlIGVuZC4iCiBtc2dzdHIgItCe0LHRi9GH0L3QviDRjdGC0L4g0L7Qt9C90LDRh9Cw0LXRgiwg0YfRgtC+INCy0Ysg0L/QtdGA0LXQtNCw0LvQuCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y4g0YHRgdGL0LvQutC4INGBINC/0L7QvNC+0YnRjNGOINGI0LDQsdC70L7QvdCwINC4INGN0YLQvtGCINGI0LDQsdC70L7QvSDQvdC4INGBINGH0LXQvCDQvdC1INGB0L7QstC/0LDQuyDQvdCwINCy0L3QtdGI0L3QtdC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LguIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTk5MjIsNjkgKzEwNjY0LDY5IEBACiAiZm9yIHlvdXIgY3VycmVudCBicmFuY2gsIHlvdSBtdXN0IHNwZWNpZnkgYSBicmFuY2ggb24gdGhlIGNvbW1hbmQgbGluZS4iCiBtc2dzdHIgItCS0Ysg0L/QvtC/0YDQvtGB0LjQu9C4INC/0L7Qu9GD0YfQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGB0L4g0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIMKrJXPCuywg0L3QviDQvdC1INGD0LrQsNC30LDQu9C4INCy0LXRgtC60YMuINCi0LDQuiDQutCw0Log0Y3RgtC+INC90LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8gINCy0LDRiNC10Lkg0YLQtdC60YPRidC10Lkg0LLQtdGC0LrQuCwg0LLRiyDQtNC+0LvQttC90Ysg0YPQutCw0LfQsNGC0Ywg0LLQtdGC0LrRgyDQsiDQutC+0LzQsNC90LTQvdC+0Lkg0YHRgtGA0L7QutC1LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0L3QuCDQvdCwINC+0LTQvdC+0Lkg0LjQtyDQstC10YLQvtC6LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEwIGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICLQn9C+0LbQsNC70YPQudGB0YLQsCwg0YPQutCw0LbQuNGC0LUg0L3QsCDQutCw0LrRg9GOINCy0LXRgtC60YMg0LLRiyDRhdC+0YLQuNGC0LUg0L/QtdGA0LXQvNC10YHRgtC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNCBidWlsdGluL3B1bGwuYzo0MjkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKIG1zZ3N0ciAi0J/QvtC20LDQu9GD0LnRgdGC0LAsINGD0LrQsNC20LjRgtC1INGBINC60LDQutC+0Lkg0LLQtdGC0LrQvtC5INCy0Ysg0YXQvtGC0LjRgtC1INGB0LvQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEzIGJ1aWx0aW4vcHVsbC5jOjQyOAorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgItCU0LvRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4LCDRgdC80L7RgtGA0LjRgtC1IGdpdC1wdWxsKDEpLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQyMSBidWlsdGluL3B1bGwuYzo0MzAKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MjMgYnVpbHRpbi9wdWxsLmM6NDMyCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgIjzQstC90LXRiNC90LjQuS3RgNC10L/QvtC30LjRgtC+0YDQuNC5PiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9wdWxsLmM6NDM3IGdpdC1yZWJhc2Uuc2g6NDU2CiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjzQstC10YLQutCwPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgItCjINGC0LXQutGD0YnQtdC5INCy0LXRgtC60Lgg0L3QtdGCINC40L3RhNC+0YDQvNCw0YbQuNC4INC+0LEg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC4LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAi0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0YPQutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0L7RgtGB0LvQtdC20LjQstCw0LXQvNC+0Lkg0LLQtdGC0LrQtSwg0LLRi9C/0L7Qu9C90LjRgtC1OiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM3CisjOiBidWlsdGluL3B1bGwuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKICJmcm9tIHRoZSByZW1vdGUsIGJ1dCBubyBzdWNoIHJlZiB3YXMgZmV0Y2hlZC4iCiBtc2dzdHIgItCS0LDRiNCwINC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjyDRg9C60LDQt9GL0LLQsNC10YIsINGH0YLQviDQvdGD0LbQvdC+INGB0LvQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGB0L4g0YHRgdGL0LvQutC+0LlcbsKrJXPCuyDQuNC3INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjywg0L3QviDRgtCw0LrQsNGPINGB0YHRi9C70LrQsCDQvdC1INCx0YvQu9CwINC/0L7Qu9GD0YfQtdC90LAuIgogCi0jOiBidWlsdGluL3B1bGwuYzo3NTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjc5MgogbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40LUgLS12ZXJpZnktc2lnbmF0dXJlcyDQv9GA0Lgg0L/QtdGA0LXQvNC10YnQtdC90LjQuCIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODAxCisjOiBidWlsdGluL3B1bGwuYzo4NDAKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICItLVtuby1dYXV0b3N0YXNoINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQstC80LXRgdGC0LUg0YEgLS1yZWJhc2UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0OAogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1INC10YnQtSDQvdC1INC90LDRh9Cw0LLRiNC10LnRgdGPINCy0LXRgtC60Lgg0YEg0LjQt9C80LXQvdC10L3QuNGP0LzQuCwg0LTQvtCx0LDQstC70LXQvdC90YvQvNC4INCyINC40L3QtNC10LrRgS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgxMgorIzogYnVpbHRpbi9wdWxsLmM6ODUxCiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAi0L/QvtC70YPRh9C10L3QuNC1INGBINC/0LXRgNC10LzQtdGJ0LXQvdC40LXQvCIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODEzCisjOiBidWlsdGluL3B1bGwuYzo4NTIKIG1zZ2lkICJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICLRgdC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQuNGFLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODM4CisjOiBidWlsdGluL3B1bGwuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC05OTkyLDcgKzEwNzM0LDcgQEAKICJjb21taXQgJXMuIgogbXNnc3RyICLQuNC30LLQu9C10YfQtdC90LjQtSDQvtCx0L3QvtCy0LjQu9C+INGD0LrQsNC30LDRgtC10LvRjCDQvdCwINCy0LDRiNGDINGC0LXQutGD0YnRg9GOINCy0LXRgtC60YMuXG7Qv9C10YDQtdC80L7RgtC60LAg0LLQsNGI0LXQs9C+INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsFxu0YEg0LrQvtC80LzQuNGC0LAgJXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTEwMDAzLDMzICsxMDc0NSwzNyBAQAogInRvIHJlY292ZXIuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQvtGC0LDRgtGMINCy0L/QtdGA0ZHQtCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0LLQsNGI0LXQvCDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1Llxu0J/QvtGB0LvQtSDRgtC+0LPQviwg0LrQsNC6INCy0Ysg0YPQsdC10LTQuNGC0LXRgdGMLCDRh9GC0L4g0LLRiyDRgdC+0YXRgNCw0L3QuNC70Lgg0LLRgdGRINC90LXQvtCx0YXQvtC00LjQvNC+0LUg0LjQtyDQstGL0LLQvtC00LBcbiQgZ2l0IGRpZmYgJXNcbiwg0LfQsNC/0YPRgdGC0LjRgtC1XG4kIGdpdCByZXNldCAtLWhhcmRcbtC00LvRjyDQstC+0YHRgdGC0LDQvdC+0LLQu9C10L3QuNGPINC40YHRhdC+0LTQvdC+0LPQviDRgdC+0YHRgtC+0Y/QvdC40Y8uIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NTgKKyM6IGJ1aWx0aW4vcHVsbC5jOjg5NwogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICLQndC10LvRjNC30Y8g0YHQu9C40YLRjCDQvdC10YHQutC+0LvRjNC60L4g0LLQtdGC0L7QuiDQsiDQv9GD0YHRgtC+0Lkg0YPQutCw0LfQsNGC0LXQu9GMINC90LAg0LLQtdGC0LrRgy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg2MgorIzogYnVpbHRpbi9wdWxsLmM6OTAxCiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/QtdGA0LXQvNC10YHRgtC40YLRjCDQvdCw0LQg0L3QtdGB0LrQvtC70YzQutC40LzQuCDQstC10YLQutCw0LzQuC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2Ci1tc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCi1tc2dzdHIgImdpdCBwdXNoIFs80L7Qv9GG0LjQuD5dIFs80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4gWzzRgdC/0LXRhtC40YTQuNC60LDRhtC40Y8t0YHRgdGL0LvQutC4PuKApl1dIgorIzogYnVpbHRpbi9wdWxsLmM6OTA4Cittc2dpZCAiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCDQv9C10YDQtdC80LXRidC10L3QuNC1INGBINC30LDQv9C40YHQsNC90L3Ri9C80Lgg0LvQvtC60LDQu9GM0L3Ri9C80Lgg0LjQt9C80LXQvdC10L3QuNGP0LzQuCDQsiDQv9C+0LTQvNC+0LTRg9C70Y/RhSIKIAotIzogYnVpbHRpbi9wdXNoLmM6ODkKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3Cittc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCittc2dzdHIgImdpdCBwdXNoIFs80L7Qv9GG0LjQuD5dIFs80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4gWzzRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAt0YHRgdGL0LvQutC4PuKApl1dIgorCisjOiBidWlsdGluL3B1c2guYzo5MAogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKIG1zZ3N0ciAi0YPQutCw0LfQsNC90L4g0YHQvtC60YDQsNGJ0LXQvdC40LUgdGFnLCDQvdC+INC90LUg0YPQutCw0LfQsNC90LAg0YHQsNC80LAgPNC80LXRgtC60LA+IgogCi0jOiBidWlsdGluL3B1c2guYzo5OQorIzogYnVpbHRpbi9wdXNoLmM6MTAwCiBtc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCiBtc2dzdHIgItC+0L/RhtC40Y8gLS1kZWxldGUg0L/RgNC40L3QuNC80LDQtdGCINGC0L7Qu9GM0LrQviDQv9GA0L7RgdGC0YvQtSDRhtC10LvQtdCy0YvQtSDQuNC80LXQvdCwINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQzCisjOiBidWlsdGluL3B1c2guYzoxNDQKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgogbXNnc3RyICJcbtCn0YLQvtCx0Ysg0LLRi9Cx0YDQsNGC0Ywg0LvRjtCx0YPRjiDQuNC3INC+0L/RhtC40Lkg0L3QsCDQv9C+0YHRgtC+0Y/QvdC90L7QuSDQvtGB0L3QvtCy0LUsINGB0LzQvtGC0YDQuNGC0LUgcHVzaC5kZWZhdWx0INCyIMKrZ2l0IGhlbHAgY29uZmlnwrsuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC0xMDA0NCw3ICsxMDc5MCw3IEBACiAiJXMiCiBtc2dzdHIgItCY0LzRjyDQstGL0YjQtdGB0YLQvtGP0YnQtdC5INCy0LXRgtC60Lgg0Lgg0LLQsNGI0LXQuSDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INGA0LDQt9C70LjRh9Cw0Y7RgtGB0Y8uINCn0YLQvtCx0Ysg0L7RgtC/0YDQsNCy0LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQsiDQstGL0YjQtdGB0YLQvtGP0YnRg9GOINCy0LXRgtC60YMg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4LCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1OlxuXG4gICAgZ2l0IHB1c2ggJXMgSEVBRDolc1xuXG7Qp9GC0L7QsdGLINC+0YLQv9GA0LDQstC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0LLQtdGC0LrRgyDRgSDRgtCw0LrQuNC8INC20LUg0LjQvNC10L3QtdC8INC90LAg0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtTpcblxuICAgIGdpdCBwdXNoICVzICVzXG4lcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTEwMDU0LDcgKzEwODAwLDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bmFtZS1vZi1yZW1vdGUtYnJhbmNoPlxuIgogbXNnc3RyICLQktGLINGB0LXQudGH0LDRgSDQvdC1INC90LDRhdC+0LTQuNGC0LXRgdGMINC90Lgg0L3QsCDQvtC00L3QvtC5INC40Lcg0LLQtdGC0L7Qui5cbtCn0YLQvtCx0Ysg0L7RgtC/0YDQsNCy0LjRgtGMINC40YHRgtC+0YDQuNGOLCDQstC10LTRg9GJ0YPRjiDQuiDRgtC10LrRg9GJ0LXQvNGDICjQvtGC0LTQtdC70ZHQvdC90YvQuSBIRUFEKSDRgdC+0YHRgtC+0Y/QvdC40Y4sINC40YHQv9C+0LvRjNC30YPQudGC0LVcblxuICAgIGdpdCBwdXNoICVzIEhFQUQ6PNC40LzRjy3QstC90LXRiNC90LXQuS3QstC10YLQutC4PlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC0xMDA2MywxMyArMTA4MDksMTMgQEAKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIG1zZ3N0ciAi0KLQtdC60YPRidCw0Y8g0LLQtdGC0LrQsCAlcyDQvdC1INC40LzQtdC10YIg0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC4Llxu0KfRgtC+0LHRiyDQvtGC0L/RgNCw0LLQuNGC0Ywg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgyDQuCDRg9GB0YLQsNC90L7QstC40YLRjCDQstC90LXRiNC90Y7RjiDQstC10YLQutGDINC60LDQuiDQstGL0YjQtdGB0YLQvtGP0YnRg9GOINC00LvRjyDRjdGC0L7QuSDQstC10YLQutC4LCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1XG5cbiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzoxODMKKyM6IGJ1aWx0aW4vcHVzaC5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgItCS0LDRiNCwINGC0LXQutGD0YnQsNGPINCy0LXRgtC60LAgJXMg0LjQvNC10LXRgiDQvdC10YHQutC+0LvRjNC60L4g0LLRi9GI0LXRgdGC0L7Rj9GJ0LjRhSDQstC10YLQvtC6LCDQvtGC0LrQsNC3INCyINC+0YLQv9GA0LDQstC60LUg0LjQt9C80LXQvdC10L3QuNC5LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTg2CisjOiBidWlsdGluL3B1c2guYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtMTAwNzcsMTEgKzEwODIzLDExIEBACiAidG8gdXBkYXRlIHdoaWNoIHJlbW90ZSBicmFuY2guIgogbXNnc3RyICLQktGLINGB0LXQudGH0LDRgSDQvtGC0L/RgNCw0LLQu9GP0LXRgtC1INC40LfQvNC10L3QtdC90LjRjyDQvdCwINCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K7LCDQutC+0YLQvtGA0YvQuSDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LLRi9GI0LXRgdGC0L7Rj9GJ0LjQvCDQtNC70Y8g0LLQsNGI0LXQuSDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4IMKrJXPCuywg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8g0YLQvtCz0L4sINGH0YLQviDQvtGC0L/RgNCw0LLQu9GP0YLRjCDQuCDQsiDQutCw0LrRg9GOINCy0L3QtdGI0L3RjtGOINCy0LXRgtC60YMuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjI0NgogbXNnaWQgIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgItCS0Ysg0L3QtSDRg9C60LDQt9Cw0LvQuCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y4g0YHRgdGL0LvQutC4INC00LvRjyDQvtGC0L/RgNCw0LLQutC4LCDQsCBwdXNoLmRlZmF1bHQg0YPQutCw0LfQsNC9INC60LDQuiDCq25vdGhpbmfCuy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0OQorIzogYnVpbHRpbi9wdXNoLmM6MjUzCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xMDA4OSw3ICsxMDgzNSw3IEBACiAiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCiBtc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNGPINCx0YvQu9C4INC+0YLQutC70L7QvdC10L3Riywg0YLQsNC6INC60LDQuiDQstC10YDRhdGD0YjQutCwINCy0LDRiNC10Lkg0YLQtdC60YPRidC10Lkg0LLQtdGC0LrQuFxu0L/QvtC30LDQtNC4INC10LUg0LLQvdC10YjQvdC10Lkg0YfQsNGB0YLQuC4g0JfQsNCx0LXRgNC40YLQtSDQuCDRgdC70LXQudGC0LUg0LLQvdC10YjQvdC40LUg0LjQt9C80LXQvdC10L3QuNGPIFxuKNC90LDQv9GA0LjQvNC10YAsINGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IHB1bGwg4oCmwrspINC/0LXRgNC10LQg0L/QvtCy0YLQvtGA0L3QvtC5INC/0L7Qv9GL0YLQutC+0Lkg0L7RgtC/0YDQsNCy0LrQuFxu0LjQt9C80LXQvdC10L3QuNC5Llxu0JTQu9GPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LgsINGB0LzQvtGC0YDQuNGC0LUgwqtOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHPCu1xu0LIgwqtnaXQgcHVzaCAtLWhlbHDCuy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1NQorIzogYnVpbHRpbi9wdXNoLmM6MjU5CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC0xMDA5Nyw3ICsxMDg0Myw3IEBACiAiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCiBtc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNGPINCx0YvQu9C4INC+0YLQutC70L7QvdC10L3Riywg0YLQsNC6INC60LDQuiDQstC10YDRhdGD0YjQutCwINC+0YLQv9GA0LDQstC70Y/QtdC80L7QuSDQstC10YLQutC4XG7Qv9C+0LfQsNC00Lgg0LXQtSDQstC90LXRiNC90LXQuSDRh9Cw0YHRgtC4LiDQn9C10YDQtdC60LvRjtGH0LjRgtC10YHRjCDQvdCwINCy0LXRgtC60YMg0Lgg0LfQsNCx0LXRgNC40YLQtSDQstC90LXRiNC90LjQtVxu0LjQt9C80LXQvdC10L3QuNGPICjQvdCw0L/RgNC40LzQtdGALCDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBwdWxsIOKApsK7KSDQv9C10YDQtdC0INC/0L7QstGC0L7RgNC90L7QuVxu0L/QvtC/0YvRgtC60L7QuSDQvtGC0L/RgNCw0LLQutC4INC40LfQvNC10L3QtdC90LjQuS5cbtCU0LvRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4LCDRgdC80L7RgtGA0LjRgtC1IMKrTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzwrtcbtCyIMKrZ2l0IHB1c2ggLS1oZWxwwrsuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjI2NQogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGNvbnRhaW5zIHdvcmsgdGhhdCB5b3UgZG9cbiIKICJub3QgaGF2ZSBsb2NhbGx5LiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFub3RoZXIgcmVwb3NpdG9yeSBwdXNoaW5nXG4iCkBAIC0xMDEwNiwzMyArMTA4NTIsMzMgQEAKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAi0J7QsdC90L7QstC70LXQvdC40Y8g0LHRi9C70Lgg0L7RgtC60LvQvtC90LXQvdGLLCDRgtCw0Log0LrQsNC6INCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0YHQvtC00LXRgNC20LjRglxu0LjQt9C80LXQvdC10L3QuNGPLCDQutC+0YLQvtGA0YvRhSDRgyDQstCw0YEg0L3QtdGCINCyINCy0LDRiNC10Lwg0LvQvtC60LDQu9GM0L3QvtC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LguXG7QntCx0YvRh9C90L4sINGN0YLQviDRgdCy0Y/Qt9Cw0L3QvdC+INGBINGC0LXQvCwg0YfRgtC+INC60YLQvi3RgtC+INGD0LbQtSDQvtGC0L/RgNCw0LLQuNC7INC40LfQvNC10L3QtdC90LjRjyDQsiBcbtGC0L4g0LbQtSDQvNC10YHRgtC+LiDQn9C10YDQtdC0INC/0L7QstGC0L7RgNC90L7QuSDQvtGC0L/RgNCw0LLQutC+0Lkg0LLQsNGI0LjRhSDQuNC30LzQtdC90LXQvdC40LksINCy0LDQvCDQvdGD0LbQvdC+XG7Qt9Cw0LHRgNCw0YLRjCDQuCDRgdC70LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQuNC3INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDRgdC10LHQtVxuKNC90LDQv9GA0LjQvNC10YAsINGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IHB1bGwg4oCmwrspLlxu0JTQu9GPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LgsINGB0LzQvtGC0YDQuNGC0LUgwqtOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHPCu1xu0LIgwqtnaXQgcHVzaCAtLWhlbHDCuy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2OAorIzogYnVpbHRpbi9wdXNoLmM6MjcyCiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAi0J7QsdC90L7QstC70LXQvdC40Y8g0LHRi9C70Lgg0L7RgtC60LvQvtC90LXQvdGLLCDRgtCw0Log0LrQsNC6INC80LXRgtC60LAg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCINCy0L4g0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3MQorIzogYnVpbHRpbi9wdXNoLmM6Mjc1CiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIndpdGhvdXQgdXNpbmcgdGhlICctLWZvcmNlJyBvcHRpb24uXG4iCiBtc2dzdHIgItCS0Ysg0L3QtSDQvNC+0LbQtdGC0LUg0L7QsdC90L7QstC40YLRjCDQstC90LXRiNC90Y7RjiDRgdGB0YvQu9C60YMsINC60L7RgtC+0YDQsNGPINGD0LrQsNC30YvQstCw0LXRgiDQvdCwINC+0LHRitC10LrRgiwg0L3QtSDRj9Cy0LvRj9GO0YnQuNC50YHRjyDQutC+0LzQvNC40YLQvtC8INC40LvQuCDQvtCx0L3QvtCy0LjRgtGMINCy0L3QtdGI0L3RjtGOINGB0YHRi9C70LrRgyDRgtCw0LosINGH0YLQvtCx0Ysg0L7QvdCwINGD0LrQsNC30YvQstCw0LvQsCDQvdCwINC+0LHRitC10LrRgiwg0L3QtSDRj9Cy0LvRj9GO0YnQuNC50YHRjyDQutC+0LzQvNC40YLQvtC8LCDQsdC10Lcg0YPQutCw0LfQsNC90LjRjyDQvtC/0YbQuNC4IMKrLS1mb3JjZcK7LlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozMzEKKyM6IGJ1aWx0aW4vcHVzaC5jOjMzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgItCe0YLQv9GA0LDQstC60LAg0LIgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzM1CisjOiBidWlsdGluL3B1c2guYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC/0YDQsNCy0LjRgtGMINC90LXQutC+0YLQvtGA0YvQtSDRgdGB0YvQu9C60Lgg0LIgwqslc8K7IgogCi0jOiBidWlsdGluL3B1c2guYzozNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICLQv9C70L7RhdC+0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2NworIzogYnVpbHRpbi9wdXNoLmM6MzcxCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgcmVwb3NpdG9yeSB1c2luZ1xuIgpAQCAtMTAxNDQsMTk5ICsxMDg5MCwyMTEgQEAKICIgICAgZ2l0IHB1c2ggPG5hbWU+XG4iCiBtc2dzdHIgItCd0LUg0L3QsNGB0YLRgNC+0LXQvdCwINGC0L7Rh9C60LAg0L3QsNC30L3QsNGH0LXQvdC40Y8g0LTQu9GPINC+0YLQv9GA0LDQstC60LguXG7Qm9C40LHQviDRg9C60LDQttC40YLQtSBVUkwg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuCwg0LvQuNCx0L4g0L3QsNGB0YLRgNC+0LnRgtC1INCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0YEg0L/QvtC80L7RidGM0Y5cblxuICAgIGdpdCByZW1vdGUgYWRkIDzQuNC80Y8+IDzQsNC00YDQtdGBPlxuXG7QsCDQt9Cw0YLQtdC8INC+0YLQv9GA0LDQstGM0YLQtSDQuNC30LzQtdC90LXQvdC40Y8g0YEg0L/QvtC80L7RidGM0Y4g0LjQvNC10L3QuCDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y9cblxuICAgIGdpdCBwdXNoIDzQuNC80Y8+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NQorIzogYnVpbHRpbi9wdXNoLmM6Mzg5CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCDQuCAtLXRhZ3Mg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NgorIzogYnVpbHRpbi9wdXNoLmM6MzkwCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiLS1hbGwg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC80LXRgdGC0LUg0YHQviDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y/QvNC4INGB0YHRi9C70L7QuiIKK21zZ3N0ciAiLS1hbGwg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC80LXRgdGC0LUg0YHQviDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDQsNC80Lgg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL3B1c2guYzozOTEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NQogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3Ig0LggLS10YWdzINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBidWlsdGluL3B1c2guYzozOTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCi1tc2dzdHIgIi0tbWlycm9yINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LLQvNC10YHRgtC1INGB0L4g0YHQv9C10YbQuNGE0LjQutCw0YbQuNGP0LzQuCDRgdGB0YvQu9C+0LoiCittc2dzdHIgIi0tbWlycm9yINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LLQvNC10YHRgtC1INGB0L4g0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0LDQvNC4INGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk3CisjOiBidWlsdGluL3B1c2guYzo0MDEKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg0LggLS1taXJyb3Ig0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNQorIzogYnVpbHRpbi9wdXNoLmM6NTIzCiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAi0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1MjQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICLQvtGC0L/RgNCw0LLQuNGC0Ywg0LLRgdC1INGB0YHRi9C70LrQuCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCisjOiBidWlsdGluL3B1c2guYzo1MjUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgItGB0LTQtdC70LDRgtGMINC30LXRgNC60LDQu9C+INCy0YHQtdGFINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE5CisjOiBidWlsdGluL3B1c2guYzo1MjcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutC4IgogCi0jOiBidWlsdGluL3B1c2guYzo1MjAKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyOAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAi0L7RgtC/0YDQsNCy0LjRgtGMINC80LXRgtC60LggKNC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LLQvNC10YHRgtC1INGBIC0tYWxsINC40LvQuCAtLW1pcnJvcikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorIzogYnVpbHRpbi9wdXNoLmM6NTMxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7QtSDQvtCx0L3QvtCy0LvQtdC90LjQtSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxODAKIG1zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgogbXNnc3RyICLQuNC80Y8t0YHRgdGL0LvQutC4Pjo80L7QttC40LTQsNC10YLRgdGPIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNCBidWlsdGluL3NlbmQtcGFjay5jOjE4MQogbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgogbXNnc3RyICLRgtGA0LXQsdC+0LLQsNGC0YwsINGH0YLQvtCx0Ysg0YHRgtCw0YDQvtC1INC30L3QsNGH0LXQvdC40LUg0YHRgdGL0LvQutC4INCx0YvQu9C+INC+0LbQuNC00LDQtdC80YvQvCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5CisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItGD0L/RgNCw0LLQu9C10L3QuNC1INGA0LXQutGD0YDRgdC40LLQvdC+0Lkg0L7RgtC/0YDQsNCy0LrQvtC5INC/0L7QtNC80L7QtNGD0LvQtdC5IgogCi0jOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NAogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0L3QutC40LUg0L/QsNC60LXRgtGLIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzIgYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE1OQorIzogYnVpbHRpbi9wdXNoLmM6NTQwIGJ1aWx0aW4vcHVzaC5jOjU0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2MAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAi0L/Rg9GC0Ywg0Log0L/RgNC+0LPRgNCw0LzQvNC1INGD0L/QsNC60L7QstC60Lgg0L3QsCDRgdC10YDQstC10YDQtSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM0CisjOiBidWlsdGluL3B1c2guYzo1NDIKIG1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKIG1zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LLRi9GI0LXRgdGC0L7Rj9GJ0YPRjiDQstC10YLQutGDINC00LvRjyBnaXQgcHVsbC9zdGF0dXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNworIzogYnVpbHRpbi9wdXNoLmM6NTQ1CiBtc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCiBtc2dzdHIgItC/0L7Rh9C40YHRgtC40YLRjCDQu9C+0LrQsNC70YzQvdC+INGD0LTQsNC70LXQvdC90YvQtSDRgdGB0YvQu9C60LgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzOQorIzogYnVpbHRpbi9wdXNoLmM6NTQ3CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgItC/0YDQvtC/0YPRgdGC0LjRgtGMINC/0LXRgNC10YXQstCw0YLRh9C40LogcHJlLXB1c2giCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MAorIzogYnVpbHRpbi9wdXNoLmM6NTQ4CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICLQvtGC0L/RgNCw0LLQuNGC0Ywg0L/RgNC+0L/Rg9GJ0LXQvdC90YvQtSwg0L3QviDQvdGD0LbQvdGL0LUg0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NTEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAi0L/QvtC00L/QuNGB0LDRgtGMINC+0YLQv9GA0LDQstC60YMg0YEg0L/QvtC80L7RidGM0Y4gR1BHIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICLQt9Cw0L/RgNC+0YHQuNGC0Ywg0LLRi9C/0L7Qu9C90LXQvdC40LUg0LDRgtC+0LzQsNGA0L3QvtC5INGC0YDQsNC90LfQsNC60YbQuNC4INC90LAg0LLQvdC10YjQvdC10Lkg0YHRgtC+0YDQvtC90LUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorIzogYnVpbHRpbi9wdXNoLmM6NTU0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcxCiBtc2dpZCAic2VydmVyLXNwZWNpZmljIgogbXNnc3RyICLQt9Cw0LLQuNGB0LjRgi3QvtGCLdGB0LXRgNCy0LXRgNCwIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NCBidWlsdGluL3NlbmQtcGFjay5jOjE3MgogbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0LLQsNC10LzRi9C1INC+0L/RhtC40LgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MAorIzogYnVpbHRpbi9wdXNoLmM6NTY4CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIi0tZGVsZXRlINC90LXRgdC+0LLQvNC10YHRgtC40LzQviDRgSAgLS1hbGwsIC0tbWlycm9yINC4IC0tdGFncyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTYyCisjOiBidWlsdGluL3B1c2guYzo1NzAKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKIG1zZ3N0ciAiLS1kZWxldGUg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCDQsdC10Lcg0YPQutCw0LfQsNC90LjRjyDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU3OQorIzogYnVpbHRpbi9wdXNoLmM6NTg5CiBtc2dpZCAicHVzaCBvcHRpb25zIG11c3Qgbm90IGhhdmUgbmV3IGxpbmUgY2hhcmFjdGVycyIKIG1zZ3N0ciAi0L7Qv9GG0LjQuCDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuCDQvdC1INC00L7Qu9C20L3RiyDRgdC+0LTQtdGA0LbQsNGC0Ywg0YHQuNC80LLQvtC70Ysg0L/QtdGA0LXQstC+0LTQsCDRgdGC0YDQvtC6IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjQwCiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikiCiAiIFstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdICIKICJbLS1pbmRleC1vdXRwdXQ9PGZpbGU+XSAoLS1lbXB0eSB8IDx0cmVlLWlzaDE+IFs8dHJlZS1pc2gyPiBbPHRyZWUtaXNoMz5dXSkiCiBtc2dzdHIgImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD080L/RgNC10YTQuNC60YE+KSBbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS1pbmRleC1vdXRwdXQ9PNGE0LDQudC7Pl0gKC0tZW1wdHkgfCA80YPQutCw0LfQsNGC0LXQu9GMLdC00LXRgNC10LLQsC0xPiBbPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LAtMj4gWzzRg9C60LDQt9Cw0YLQtdC70Ywt0LTQtdGA0LXQstCwLTM+XV0pIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjEKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINGA0LXQt9GD0LvRjNGC0LjRgNGD0Y7RidC40Lkg0LjQvdC00LXQutGBINCyIDzRhNCw0LnQuz4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICLQv9GA0L7RgdGC0L4g0L7Rh9C40YHRgtC40YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNgogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgItCh0LvQuNGP0L3QuNC1IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKIG1zZ2lkICJwZXJmb3JtIGEgbWVyZ2UgaW4gYWRkaXRpb24gdG8gYSByZWFkIgogbXNnc3RyICLQstGL0L/QvtC70L3QuNGC0Ywg0YHQu9C40Y/QvdC40LUg0LIg0LTQvtC/0L7Qu9C90LXQvdC40LUg0Log0YfRgtC10L3QuNGOIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExOQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzAKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgItGC0YDQtdGF0YXQvtC00L7QstC+0LUg0YHQu9C40Y/QvdC40LUsINC10YHQu9C4INC90LUg0YLRgNC10LHRg9C10YLRgdGPINGB0LvQuNGP0L3QuNC1INC90LAg0YPRgNC+0LLQvdC1INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMyCiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKIG1zZ3N0ciAi0YLRgNC10YXRhdC+0LTQvtCy0L7QtSDRgdC70LjRj9C90LjQtSDQsiDRgdC70YPRh9Cw0LUg0L/RgNC40YHRg9GC0YHRgtCy0LjRjyDQtNC+0LHQsNCy0LvQtdC90LjQuSDQuNC70Lgg0YPQtNCw0LvQtdC90LjQuSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAogbXNnaWQgInNhbWUgYXMgLW0sIGJ1dCBkaXNjYXJkIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgItGC0L7QttC1LCDRh9GC0L4g0LggLW0sINC90L4g0L7RgtC80LXQvdGP0LXRgiDQuNC30LzQtdC90LXQvdC40Y8g0L3QtSDRgdC70LjRgtGL0YUg0LfQsNC/0LjRgdC10LkiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiPNC/0L7QtNC60LDRgtCw0LvQvtCzPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0LTQtdGA0LXQstC+INCyINC40L3QtNC10LrRgSDQsiA80L/QvtC00LrQsNGC0LDQu9C+0LM+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM5CiBtc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKIG1zZ3N0ciAi0L7QsdC90L7QstC40YLRjCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDRgNC10LfRg9C70YzRgtCw0YLQvtC8INGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKIG1zZ2lkICJnaXRpZ25vcmUiCiBtc2dzdHIgImdpdGlnbm9yZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCiBtc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0L/QtdGA0LXQt9Cw0L/QuNGB0Ywg0Y/QstC90L4g0LjQs9C90L7RgNC40YDRg9C10LzRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ1CiBtc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgogbXNnc3RyICLQvdC1INC/0YDQvtCy0LXRgNGP0YLRjCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQv9C+0YHQu9C1INGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDYKIG1zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgItC90LUg0L7QsdC90L7QstC70Y/RgtGMINC40L3QtNC10LrRgSDQuNC70Lgg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAogbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/RgNC40LzQtdC90LXQvdC40LUg0YTQuNC70YzRgtGA0LAg0YfQsNGB0YLQuNGH0L3QvtCz0L4g0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC90LAg0YHQvtGB0YLQvtGP0L3QuNC1IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgItC+0YLQu9Cw0LTQutCwIHVucGFjay10cmVlcyIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNgorIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjgKK21zZ2lkICJnaXQgcmViYXNlLS1oZWxwZXIgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCByZWJhc2UtLWhlbHBlciBbPNC+0L/RhtC40Lg+XSIKKworIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjIwCittc2dpZCAiY29udGludWUgcmViYXNlIgorbXNnc3RyICLQv9GA0L7QtNC+0LvQttC40YLRjCDQv9C10YDQtdC80LXRidC10L3QuNC1IgorCisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MjIKK21zZ2lkICJhYm9ydCByZWJhc2UiCittc2dzdHIgItC+0YHRgtCw0L3QvtCy0LjRgtGMINC/0LXRgNC10LzQtdGJ0LXQvdC40LUiCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjgKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA80LrQsNGC0LDQu9C+0LMtZ2l0PiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo3OTMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODM4CiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKICJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgogIndpdGggd2hhdCB5b3UgcHVzaGVkLCBhbmQgd2lsbCByZXF1aXJlICdnaXQgcmVzZXQgLS1oYXJkJyB0byBtYXRjaFxuIgogInRoZSB3b3JrIHRyZWUgdG8gSEVBRC5cbiIKICJcbiIKLSJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0b1xuIgotIidpZ25vcmUnIG9yICd3YXJuJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgcHVzaGluZyBpbnRvXG4iCisiWW91IGNhbiBzZXQgdGhlICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlXG4iCisidG8gJ2lnbm9yZScgb3IgJ3dhcm4nIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBwdXNoaW5nIGludG9cbiIKICJpdHMgY3VycmVudCBicmFuY2g7IGhvd2V2ZXIsIHRoaXMgaXMgbm90IHJlY29tbWVuZGVkIHVubGVzcyB5b3VcbiIKICJhcnJhbmdlZCB0byB1cGRhdGUgaXRzIHdvcmsgdHJlZSB0byBtYXRjaCB3aGF0IHlvdSBwdXNoZWQgaW4gc29tZVxuIgogIm90aGVyIHdheS5cbiIKQEAgLTEwMzQ1LDcgKzExMTAzLDcgQEAKICIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byAncmVmdXNlJy4iCiBtc2dzdHIgItCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLCDQvtCx0L3QvtCy0LvRj9GC0Ywg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgyDQsiDRgNC10L/QvtC30LjRgtC+0YDQuNC4INGBINGA0LDQsdC+0YfQtdC5XG7QutC+0L/QuNC10LkgKNC90LUg0LPQvtC70L7QvCkg0LfQsNC/0YDQtdGJ0LXQvdC+LCDRgtCw0Log0LrQsNC6INGN0YLQviDRgdC00LXQu9Cw0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0LjQvdC00LXQutGB0LBcbtC4INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQv9GA0L7RgtC40LLQvtGA0LXRh9C40LLRi9C8LCDQuCDQstCw0Lwg0L/RgNC40LnQtNC10YLRgdGPINCy0YvQv9C+0LvQvdC40YLRjFxuwqtnaXQgcmVzZXQgLS1oYXJkwrssINGH0YLQvtCx0Ysg0YHQvtGB0YLQvtGP0L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDRgdC90L7QstCwXG7RgdC+0L7RgtCy0LXRgtGB0YLQstC+0LLQsNC70L4gSEVBRC5cblxu0JLRiyDQvNC+0LbQtdGC0LUg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSDQvtC/0YbQuNC4IMKrcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaMK7XG7QsiDCq2lnbm9yZcK7INC40LvQuCDCq3dhcm7CuyDQstC+INCy0L3QtdGI0L3QtdC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgsINGH0YLQvtCx0Ysg0YDQsNC30YDQtdGI0LjRgtGMXG7QvtGC0L/RgNCw0LLQutGDINCyINC10LPQviDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDOyDQvdC+INGN0YLQviDQvdC1INGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPLCDQtdGB0LvQuCDRgtC+0LvRjNC60L5cbtCy0Ysg0L3QtSDQvdCw0LzQtdGA0LXQvdGLINC+0LHQvdC+0LLQuNGC0Ywg0LXQs9C+INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINGB0L/QvtGB0L7QsdC+0Lwg0L/QvtC00L7QsdC90YvQvFxu0LLRi9GI0LXQvtC/0LjRgdCw0L3QvdC+0LzRgy5cblxu0KfRgtC+0LHRiyDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRjdGC0L4g0YHQvtC+0LHRidC10L3QuNC1INC4INCy0YHQtSDRgNCw0LLQvdC+INC+0YHRgtCw0LLQuNGC0Ywg0L/QvtCy0LXQtNC10L3QuNC1XG7Qv9C+INGD0LzQvtC70YfQsNC90LjRjiwg0YPRgdGC0LDQvdC+0LLQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSDQvtC/0YbQuNC4IMKrcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaMK7XG7QsiDCq3JlZnVzZcK7LiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODU4CiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKICInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgpAQCAtMTAzNTcsMjEyICsxMTExNSwyMTIgQEAKICJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSwgeW91IGNhbiBzZXQgaXQgdG8gJ3JlZnVzZScuIgogbXNnc3RyICLQn9C+INGD0LzQvtC70YfQsNC90LjRjiwg0YPQtNCw0LvQtdC90LjQtSDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INC30LDQv9GA0LXRidC10L3Qviwg0YLQsNC6INC60LDQuiDQv9C+0YHQu9C10LTRg9GO0YnQuNC5XG7Cq2dpdCBjbG9uZcK7INC90LUg0YHQvNC+0LbQtdGCINC/0L7Qu9GD0YfQuNGC0Ywg0L3QuNC60LDQutC40YUg0YTQsNC50LvQvtCyLCDRh9GC0L4g0L/RgNC40LLQtdC00LXRgiDQuiDQv9GD0YLQsNC90LjRhtC1LlxuXG7QktGLINC80L7QttC10YLQtSDRg9GB0YLQsNC90L7QstC40YLRjCDQt9C90LDRh9C10L3QuNC1INC+0L/RhtC40LggwqtyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50wrtcbtCyIMKrd2FybsK7INC40LvQuCDCq2lnbm9yZcK7LCDQstC+INCy0L3QtdGI0L3QtdC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgsICDRh9GC0L7QsdGLINGA0LDQt9GA0LXRiNC40YLRjFxu0YPQtNCw0LvQtdC90LjQtSDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INGBINC40LvQuCDQsdC10Lcg0L/RgNC10LTRg9C/0YDQtdC20LTQsNGO0YnQtdCz0L4g0YHQvtC+0LHRidC10L3QuNGPLlxuXG7Qp9GC0L7QsdGLINC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQviDRgdC+0L7QsdGJ0LXQvdC40LUsINCy0Ysg0LzQvtC20LXRgtC1INGD0YHRgtCw0L3QvtCy0LjRgtGMINC30L3QsNGH0LXQvdC40LUg0L7Qv9GG0LjQuFxu0LIgwqtyZWZ1c2XCuy4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg4MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTMzCiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgItGC0LjRhdC40Lkg0YDQtdC20LjQvCIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk3CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDcKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi0JLRiyDQtNC+0LvQttC90Ysg0YPQutCw0LfQsNGC0Ywg0LrQsNGC0LDQu9C+0LMuIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjQyMworIzogYnVpbHRpbi9yZWZsb2cuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIsKrJXPCuyDQtNC70Y8gwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC+0L/Rg9GB0YLQuNC80L7QuSDQvNC10YLQutC+0Lkg0LTQsNGC0Ysv0LLRgNC10LzQtdC90LgiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NTQwIGJ1aWx0aW4vcmVmbG9nLmM6NTQ1CisjOiBidWlsdGluL3JlZmxvZy5jOjU0MSBidWlsdGluL3JlZmxvZy5jOjU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC+0L/Rg9GB0YLQuNC80L7QuSDQvNC10YLQutC+0Lkg0LTQsNGC0Ysv0LLRgNC10LzQtdC90LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSAiCiAiWy0tbWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIGFkZCBbLXQgPNCy0LXRgtC60LA+XSBbLW0gPNC80LDRgdGC0LXRgC3QstC10YLQutCwPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS1taXJyb3I9PGZldGNofHB1c2g+XSA80LjQvNGPPiA80LDQtNGA0LXRgT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQgYnVpbHRpbi9yZW1vdGUuYzozNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjM1CiBtc2dpZCAiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVuYW1lIDzRgdGC0LDRgNC+0LUt0L3QsNC30LLQsNC90LjQtT4gPNC90L7QstC+0LUt0L3QsNC30LLQsNC90LjQtT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzozOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNiBidWlsdGluL3JlbW90ZS5jOjQwCiBtc2dpZCAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbW92ZSA80LjQvNGPPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNiBidWlsdGluL3JlbW90ZS5jOjQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjE3IGJ1aWx0aW4vcmVtb3RlLmM6NDUKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDzQuNC80Y8+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA80LLQtdGC0LrQsD4pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3CisjOiBidWlsdGluL3JlbW90ZS5jOjE4CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPNC40LzRjz4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPNC40LzRjz4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cD4gfCA8cmVtb3RlPikuLi5dIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gdXBkYXRlIFstcCB8IC0tcHJ1bmVdIFsoPNCz0YDRg9C/0L/QsD4gfCA80LjQvNGPLdCy0L3QtdGI0L3QtdCz0L4t0YDQtdC/0L7Qt9C40YLQvtGA0LjRjz4p4oCmXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDzQuNC80Y8+IDzQstC10YLQutCwPuKApiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjcwCisjOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzEKIG1zZ2lkICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgZ2V0LXVybCBbLS1wdXNoXSBbLS1hbGxdIDzQuNC80Y8+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3NgogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDzQuNC80Y8+IDzQvdC+0LLRi9C5LXVybD4gWzzRgdGC0LDRgNGL0LktdXJsPl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoyNCBidWlsdGluL3JlbW90ZS5jOjc3CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDxuYW1lPiA8bmV3dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDzQuNC80Y8+IDzQvdC+0LLRi9C5LXVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NworIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc4CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDzQuNC80Y8+IDx1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjMwCiBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgogbXNnc3RyICJnaXQgcmVtb3RlIGFkZCBbPNC+0L/RhtC40Lg+XSA80LjQvNGPPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0OQorIzogYnVpbHRpbi9yZW1vdGUuYzo1MAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPNC40LzRjz4gPNCy0LXRgtC60LA+4oCmIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjUwCisjOiBidWlsdGluL3JlbW90ZS5jOjUxCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA80LjQvNGPPiA80LLQtdGC0LrQsD7igKYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTYKIG1zZ2lkICJnaXQgcmVtb3RlIHNob3cgWzxvcHRpb25zPl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNob3cgWzzQvtC/0YbQuNC4Pl0gPNC40LzRjz4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjEKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPNC+0L/RhtC40Lg+XSA80LjQvNGPPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NgogbXNnaWQgImdpdCByZW1vdGUgdXBkYXRlIFs8b3B0aW9ucz5dIFs8Z3JvdXA+IHwgPHJlbW90ZT5dLi4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHVwZGF0ZSBbPNC+0L/RhtC40Lg+XSBbPNCz0YDRg9C/0L/QsD4gfCA80LjQvNGPLdCy0L3QtdGI0L3QtdCz0L4t0YDQtdC/0L7Qt9C40YLQvtGA0LjRjz5d4oCmIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0CisjOiBidWlsdGluL3JlbW90ZS5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICLQntCx0L3QvtCy0LvQtdC90LjQtSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3CiBtc2dpZCAiIgogIi0tbWlycm9yIGlzIGRhbmdlcm91cyBhbmQgZGVwcmVjYXRlZDsgcGxlYXNlXG4iCiAiXHQgdXNlIC0tbWlycm9yPWZldGNoIG9yIC0tbWlycm9yPXB1c2ggaW5zdGVhZCIKIG1zZ3N0ciAi0LrQu9GO0YcgLS1taXJyb3Ig0L3QtdCx0LXQt9C+0L/QsNGB0LXQvSDQuCDQvdC1INGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPINC6INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOO1xu0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQstC80LXRgdGC0L4g0L3QtdCz0L4gLS1taXJyb3I9ZmV0Y2gg0LjQu9C4IC0tbWlycm9yPXB1c2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG1pcnJvciBhcmd1bWVudDogJXMiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQtNC70Y8gbWlycm9yOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYwCiBtc2dpZCAiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIKIG1zZ3N0ciAi0LjQt9Cy0LvQtdGH0Ywg0LLQvdC10YjQvdC40LUg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyCiBtc2dpZCAiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIKIG1zZ3N0ciAi0LjQvNC/0L7RgNGC0LjRgNC+0LLQsNGC0Ywg0LLRgdC1INC80LXRgtC60Lgg0Lgg0LDRgdGB0L7RhtC40LjRgNC+0LLQsNC90L3Ri9C1INC+0LHRitC10LrRgtGLINC/0YDQuCDQuNC30LLQu9C10YfQtdC90LjQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1CiBtc2dpZCAib3IgZG8gbm90IGZldGNoIGFueSB0YWcgYXQgYWxsICgtLW5vLXRhZ3MpIgogbXNnc3RyICLQuNC70Lgg0L3QtSDQuNC30LLQu9C10LrQsNGC0Ywg0LzQtdGC0LrQuCDQstC+0L7QsdGJ0LUgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NwogbXNnaWQgImJyYW5jaChlcykgdG8gdHJhY2siCiBtc2dzdHIgItC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE2OAogbXNnaWQgIm1hc3RlciBicmFuY2giCiBtc2dzdHIgItC80LDRgdGC0LXRgCDQstC10YLQutCwIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkKIG1zZ2lkICJwdXNofGZldGNoIgogbXNnc3RyICJwdXNofGZldGNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LjRgtGMINCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LrQsNC6INC30LXRgNC60LDQu9C+INC00LvRjyDQvtGC0L/RgNCw0LLQutC4INC40LvQuCDQuNC30LLQu9C10YfQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE4MgogbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCiBtc2dzdHIgItGD0LrQsNC30LDQvdC40LUg0LzQsNGB0YLQtdGAINCy0LXRgtC60Lgg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCDRgSDQv9Cw0YDQsNC80LXRgtGA0L7QvCAtLW1pcnJvciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg0CiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKIG1zZ3N0ciAi0YPQutCw0LfQsNC90LjQtSDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDQstC10YLQvtC6INC40LzQtdC10YIg0YHQvNGL0YHQuyDRgtC+0LvRjNC60L4g0L/RgNC4INC30LXRgNC60LDQu9GM0L3QvtC8INC40LfQstC70LXRh9C10L3QuNC4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxOTEgYnVpbHRpbi9yZW1vdGUuYzo2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAi0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSAlcyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjMzCisjOiBidWlsdGluL3JlbW90ZS5jOjE5NSBidWlsdGluL3JlbW90ZS5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00L7Qv9GD0YHRgtC40LzRi9C8INC40LzQtdC90LXQvCDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIzNAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwIG1hc3RlciAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDRgdGC0YDQvtC40YLRjCDQvNCw0YHRgtC10YAg0LLQtdGC0LrRgyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM2CisjOiBidWlsdGluL3JlbW90ZS5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZ2V0IGZldGNoIG1hcCBmb3IgcmVmc3BlYyAlcyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC30LLQu9C10YfRjCDQutCw0YDRgtGDINC00LvRjyDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0YHRgdGL0LvQutC4ICVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC40LfQstC70LXRh9GMINC60LDRgNGC0YMg0LTQu9GPINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNCwINGB0YHRi9C70LrQuCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0MzcgYnVpbHRpbi9yZW1vdGUuYzo0NDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM4IGJ1aWx0aW4vcmVtb3RlLmM6NDQ2CiBtc2dpZCAiKG1hdGNoaW5nKSIKIG1zZ3N0ciAiKNGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LDRjykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQ5CisjOiBidWlsdGluL3JlbW90ZS5jOjQ1MAogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIo0YPQtNCw0LvQtdC90L3QsNGPKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzU4IGJ1aWx0aW4vcmVtb3RlLmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAi0J3QtdGCINGC0LDQutC+0LPQviDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y86ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzOQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0YHQtdC60YbQuNGOINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDRgSDCqyVzwrsg0L3QsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CisjOiBidWlsdGluL3JlbW90ZS5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKICJcdCVzXG4iCiAiXHRQbGVhc2UgdXBkYXRlIHRoZSBjb25maWd1cmF0aW9uIG1hbnVhbGx5IGlmIG5lY2Vzc2FyeS4iCi1tc2dzdHIgItCd0LUg0L7QsdC90L7QstC70Y/RjiDQvdC10YHRgtCw0L3QtNCw0YDRgtC90YPRjiDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y4g0YHRgdGL0LvQutC4INC00LvRjyDQuNC30LLQu9C10YfQtdC90LjRj1xuXHQlc1xuXHTQn9C+0LbQsNC70YPQudGB0YLQsCwg0LXRgdC70Lgg0YLRgNC10LHRg9C10YLRgdGPLCDQvtCx0L3QvtCy0LjRgtC1INC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjiDQstGA0YPRh9C90YPRji4iCittc2dzdHIgItCd0LUg0L7QsdC90L7QstC70Y/RjiDQvdC10YHRgtCw0L3QtNCw0YDRgtC90YPRjiDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAg0YHRgdGL0LvQutC4INC00LvRjyDQuNC30LLQu9C10YfQtdC90LjRj1xuXHQlc1xuXHTQn9C+0LbQsNC70YPQudGB0YLQsCwg0LXRgdC70Lgg0YLRgNC10LHRg9C10YLRgdGPLCDQvtCx0L3QvtCy0LjRgtC1INC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjiDQstGA0YPRh9C90YPRji4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk1CisjOiBidWlsdGluL3JlbW90ZS5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CisjOiBidWlsdGluL3JlbW90ZS5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCisjOiBidWlsdGluL3JlbW90ZS5jOjc5NQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTA1NzQsMTQyICsxMTMzMiwxNDMgQEAKIG1zZ3N0clsyXSAi0J/RgNC40LzQtdGH0LDQvdC40LU6INCd0LXQutC+0YLQvtGA0YvQtSDQstC10YLQutC4INCy0L3QtSDQuNC10YDQsNGA0YXQuNC4IHJlZnMvcmVtb3Rlcy8g0L3QtSDQsdGD0LTRg9GCINGD0LTQsNC70LXQvdGLO1xu0YfRgtC+0LHRiyDRg9C00LDQu9C40YLRjCDQuNGFLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1OiIKIG1zZ3N0clszXSAi0J/RgNC40LzQtdGH0LDQvdC40LU6INCd0LXQutC+0YLQvtGA0YvQtSDQstC10YLQutC4INCy0L3QtSDQuNC10YDQsNGA0YXQuNC4IHJlZnMvcmVtb3Rlcy8g0L3QtSDQsdGD0LTRg9GCINGD0LTQsNC70LXQvdGLO1xu0YfRgtC+0LHRiyDRg9C00LDQu9C40YLRjCDQuNGFLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1OiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDRgdC10LrRhtC40Y4g0YTQsNC50LvQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lggwqslc8K7IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkwNworIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIg0L3QvtCy0LDRjyAo0YHQu9C10LTRg9GO0YnQtdC1INC40LfQstC70LXRh9C10L3QuNC1INGB0L7RhdGA0LDQvdC40YIg0LXQtSDQsiByZW1vdGVzLyVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEzCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiDQvtGC0YHQu9C10LbQuNCy0LDQtdGC0YHRjyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE1CiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiDQvdC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90LAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmVtb3RlIHBydW5lwrssINGH0YLQvtCx0Ysg0YPQtNCw0LvQuNGC0YwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTcKIG1zZ2lkICIgPz8/IgogbXNnc3RyICIgPz8/IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk1NQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggYnJhbmNoLiVzLm1lcmdlOyDQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC80LXRgdGC0LjRgtGMINCx0L7Qu9C10LUg0YfQtdC8INC90LDQtCAxINCy0LXRgtC60L7QuSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAi0L/QtdGA0LXQvNC10YnQsNC10YLRgdGPINC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQvdCw0LQg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQvtC5ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAi0L/QtdGA0LXQvNC10YnQsNC10YLRgdGPINC90LDQtCDQstC90LXRiNC90LXQuSDQstC10YLQutC+0LkgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIg0LHRg9C00LXRgiDRgdC70LjRgtCwINGBINCy0L3QtdGI0L3QtdC5INCy0LXRgtC60L7QuSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAi0LHRg9C00LXRgiDRgdC70LjRgtCwINGBINCy0L3QtdGI0L3QtdC5INCy0LXRgtC60L7QuSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiUtKnMgICAg0Lgg0YEg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQvtC5ICVzXG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE5CiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICLRgdC+0LfQtNCw0L3QsCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjIKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgItGD0LTQsNC70LXQvdCwIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNgogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgItGD0LbQtSDQsNC60YLRg9Cw0LvRjNC90LAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI5CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAi0LLQvtC30LzQvtC20L3QsCDQv9C10YDQtdC80L7RgtC60LAg0LLQv9C10YDQtdC0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMgogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICLQu9C+0LrQsNC70YzQvdCw0Y8g0LLQtdGC0LrQsCDRg9GB0YLQsNGA0LXQu9CwIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDQsdGD0LTQtdGCINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC+0YLQv9GA0LDQstC70LXQvdCwINCyICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMg0LHRg9C00LXRgiDQvtGC0L/RgNCw0LLQu9C10L3QsCDQsiAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMg0LHRg9C00LXRgiDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QviDQvtGC0L/RgNCw0LLQu9C10L3QsCDQsiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDQsdGD0LTQtdGCINC+0YLQv9GA0LDQstC70LXQvdCwINCyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNwogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICLQvdC1INC+0L/RgNCw0YjQuNCy0LDRgtGMINCy0L3QtdGI0L3QuNC1INGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqINCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwg0LTQu9GPINC40LfQstC70LXRh9C10L3QuNGPOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NiBidWlsdGluL3JlbW90ZS5jOjExNjIgYnVpbHRpbi9yZW1vdGUuYzoxMzAxCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIijQvdC10YIgVVJMKSIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduIHdpdGgKLSMuIHRoZSBvbmUgaW4gIiAgRmV0Y2ggVVJMOiAlcyIgdHJhbnNsYXRpb24KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExNTYKKyMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbgorIy4gd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKKyMuIHRyYW5zbGF0aW9uLgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAgICBVUkwg0LTQu9GPINC+0YLQv9GA0LDQstC60Lg6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NiBidWlsdGluL3JlbW90ZS5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgSEVBRCDQstC10YLQutCwOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQKIG1zZ2lkICIobm90IHF1ZXJpZWQpIgogbXNnc3RyICIo0L3QtSDQt9Cw0L/RgNCw0YjQuNCy0LDQu9GB0Y8pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NgogbXNnaWQgIih1bmtub3duKSIKIG1zZ3N0ciAiKNC90LXQuNC30LLQtdGB0YLQvdC+KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIEhFQUQg0LLQtdGC0LrQsCAoSEVBRCDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdGL0LksINC80L7QttC10YIg0LHRi9GC0Ywg0L7QtNC90LjQvCDQuNC3KTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CisjOiBidWlsdGluL3JlbW90ZS5jOjExODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKQEAgLTEwNzE4LDExICsxMTQ3NywxMSBAQAogbXNnc3RyWzJdICIgINCS0L3QtdGI0L3QuNC1INCy0LXRgtC60Lg6JXMiCiBtc2dzdHJbM10gIiAg0JLQvdC10YjQvdC40LUg0LLQtdGC0LrQuDolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg1IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiICjRgdGC0LDRgtGD0YEg0L3QtSDQt9Cw0L/RgNCw0YjQuNCy0LDQu9GB0Y8pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgINCb0L7QutCw0LvRjNC90LDRjyDQstC10YLQutCwLCDQvdCw0YHRgtGA0L7QtdC90L3QsNGPINC00LvRjyDCq2dpdCBwdWxswrs6IgpAQCAtMTA3MzAsMTEgKzExNDg5LDExIEBACiBtc2dzdHJbMl0gIiAg0JvQvtC60LDQu9GM0L3Ri9C1INCy0LXRgtC60LgsINC90LDRgdGC0YDQvtC10L3QvdGL0LUg0LTQu9GPIMKrZ2l0IHB1bGzCuzoiCiBtc2dzdHJbM10gIiAg0JvQvtC60LDQu9GM0L3Ri9C1INCy0LXRgtC60LgsINC90LDRgdGC0YDQvtC10L3QvdGL0LUg0LTQu9GPIMKrZ2l0IHB1bGzCuzoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiINCb0L7QutCw0LvRjNC90YvQtSDRgdGB0YvQu9C60LgsINC30LXRgNC60LDQu9C40YDRg9C10LzRi9C1INGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IHB1c2jCuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCkBAIC0xMDc0Myw0NTkgKzExNTAyLDQ2OSBAQAogbXNnc3RyWzJdICIgINCb0L7QutCw0LvRjNC90YvQtSDRgdGB0YvQu9C60LgsINC90LDRgdGC0YDQvtC10L3QvdGL0LUg0LTQu9GPIMKrZ2l0IHB1c2jCuyVzOiIKIG1zZ3N0clszXSAiICDQm9C+0LrQsNC70YzQvdGL0LUg0YHRgdGL0LvQutC4LCDQvdCw0YHRgtGA0L7QtdC90L3Ri9C1INC00LvRjyDCq2dpdCBwdXNowrslczoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI5CiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCByZWZzL3JlbW90ZXMvPNC40LzRjz4vSEVBRCDQsiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzMQogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMIHJlZnMvcmVtb3Rlcy880LjQvNGPPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0NgogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LLQvdC10YjQvdC40LkgSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDgKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAi0J3QtdGB0LrQvtC70YzQutC+INCy0L3QtdGI0L3QuNGFIEhFQUQg0LLQtdGC0L7Qui4g0KPQutCw0LbQuNGC0LUg0Y/QstC90L4g0L7QtNC90YMg0LjQtyDQvdC40YU6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0YHRgdGL0LvQutCwOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDRgdGC0YDQvtC40YLRjCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzINCx0YPQtNC10YIg0LLQuNGB0Y/RidC10Lkg0LLQtdGC0LrQvtC5ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMg0YHRgtCw0LvQsCDQstC40YHRj9GJ0LXQuSDQstC10YLQutC+0LkhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICLQntGH0LjRgdGC0LrQsCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA4CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW9Cx0YPQtNC10YIg0YPQtNCw0LvQtdC90LBdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW9GD0LTQsNC70LXQvdCwXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzU2CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNjIKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICLQv9C+0YfQuNGB0YLQuNGC0Ywg0LLQvdC10YjQvdC40LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCDQv9C+0YHQu9C1INC40LfQstC70LXRh9C10L3QuNGPIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDI1IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OSBidWlsdGluL3JlbW90ZS5jOjE1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAi0J3QtdGCINGC0LDQutC+0LPQviDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gwqslc8K7IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MQogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LLQtdGC0LrRgyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQyCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDgKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvSDQstC90LXRiNC90LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICLQt9Cw0L/RgNC+0YHQuNGC0YwgVVJMINC+0YLQv9GA0LDQstC60LgsINCy0LzQtdGB0YLQviBVUkwg0LjQt9Cy0LvQtdGH0LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY3CiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICLQstC10YDQvdGD0YLRjCDQstGB0LUgVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBVUkxzIGNvbmZpZ3VyZWQgZm9yIHJlbW90ZSAnJXMnIgogbXNnc3RyICJVUkwg0L3QtSDQvdCw0YHRgtGA0L7QtdC90Ysg0LTQu9GPINCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCiBtc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCiBtc2dzdHIgItGD0L/RgNCw0LLQu9C10L3QuNC1IFVSTCDQvtGC0L/RgNCw0LLQutC4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyMwogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0YwgVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMyCiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAtLWRlbGV0ZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YjQsNCx0LvQvtC9INGB0YLQsNGA0L7Qs9C+IFVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAi0J3QtSDQvdCw0LnQtNC10L3RiyDRgdC+0LLQv9Cw0LTQtdC90LjRjyBVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINGD0LTQsNC70LjRgtGMINCy0YHQtSBVUkwg0L3QtS3QvtGC0L/RgNCw0LLQutC4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NwogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgItCx0YvRgtGMINC80L3QvtCz0L7RgdC70L7QstC90LXQtTsg0LTQvtC70LbQvdC+INGB0YLQvtGP0YLRjCDQv9C10YDQtdC0INC/0L7QtNC60L7QvNCw0L3QtNC+0LkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdCw0Y8g0L/QvtC00LrQvtC80LDQvdC00LA6ICVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3CisjOiBidWlsdGluL3JlcGFjay5jOjE4CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMKK21zZ2lkICIiCisiSW5jcmVtZW50YWwgcmVwYWNrcyBhcmUgaW5jb21wYXRpYmxlIHdpdGggYml0bWFwIGluZGV4ZXMuICBVc2VcbiIKKyItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvciBkaXNhYmxlIHRoZSBwYWNrLndyaXRlYml0bWFwcyBjb25maWd1cmF0aW9uLiIKK21zZ3N0ciAi0JjQvdC60YDQtdC80LXQvdGC0LDQu9GM0L3Ri9C1INC/0LXRgNC10L/QsNC60L7QstC60Lgg0L3QtSDRgdC+0LLQvNC10YHRgtC40LzRiyDRgSDQuNC90LTQtdC60YHQsNC80Lgg0LIg0LHQuNGC0L7QstGL0YUg0LrQsNGA0YLQsNGFLiAg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC/0YbQuNGOIC0tbm8td3JpdGUtYml0bWFwLWluZGV4INC40LvQuCDQvtGC0LrQu9GO0YfQuNGC0LUg0L/QsNGA0LDQvNC10YLRgCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggcGFjay53cml0ZWJpdG1hcHMuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE2OAogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICLRg9C/0LDQutC+0LLQsNGC0Ywg0LLRgdGRINCyINC+0LTQuNC9INC/0LDQutC10YIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYyCisjOiBidWlsdGluL3JlcGFjay5jOjE3MAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgItGC0L7QttC1LCDRh9GC0L4g0LggLWEsINC90L4g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L4g0L7RgtCx0YDQvtGB0LjRgtGMINC90LXQtNC+0YHRgtC40LbQuNC80YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCiBtc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgogbXNnc3RyICLRg9C00LDQu9C40YLQtSDQu9C40YjQvdC40LUg0L/QsNC60LXRgtGLINC4INC30LDQv9GD0YHRgtC40YLQtSBnaXQtcHJ1bmUtcGFja2VkIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0YLRjCDQvtC/0YbQuNGOIC0tbm8tcmV1c2UtZGVsdGEg0LIgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINC+0L/RhtC40Y4gLS1uby1yZXVzZS1vYmplY3Qg0LIgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICLQvdC1INC30LDQv9GD0YHQutCw0YLRjCBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NAorIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0YLRjCDQvtC/0YbQuNGOIC0tbG9jYWwg0LIgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICLQt9Cw0L/QuNGB0Ywg0LjQvdC00LXQutGB0LAg0LIg0LHQuNGC0L7QstGL0YUg0LrQsNGA0YLQsNGFIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NworIzogYnVpbHRpbi9yZXBhY2suYzoxODUKIG1zZ2lkICJhcHByb3hpZGF0ZSIKIG1zZ3N0ciAi0L/RgNC40LzQtdGA0L3QsNGPLdC00LDRgtCwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OAorIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICLRgSDQvtC/0YbQuNC10LkgLUEsINC90LUg0L7RgtCx0YDQsNGB0YvQstCw0YLRjCDQvtCx0YrQtdC60YLRiyDRgdGC0LDRgNC10LUsINGH0LXQvCDRg9C60LDQt9Cw0L3QviIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg4CiBtc2dpZCAid2l0aCAtYSwgcmVwYWNrIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgItGBINC/0LDRgNCw0LzQtdGC0YDQvtC8IC1hLCDQv9C10YDQtdC/0LDQutC+0LLQsNGC0Ywg0L3QtdC00L7RgdGC0YPQv9C90YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICLRgNCw0LfQvNC10YAg0L7QutC90LAsINC40YHQv9C+0LvRjNC30YPQtdC80YvQuSDQtNC70Y8g0LrQvtC80L/RgNC10YHRgdC40Lgg0LTQtdC70YzRgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODMgYnVpbHRpbi9yZXBhY2suYzoxODcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxIGJ1aWx0aW4vcmVwYWNrLmM6MTk3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+LdCx0LDQudGCIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKIG1zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKIG1zZ3N0ciAi0YLQvtC20LUsINGH0YLQviDQuCDQstGL0YjQtSwg0L3QviDQvtCz0YDQsNC90LjRh9C40YLRjCDRgNCw0LfQvNC10YAg0L/QsNC80Y/RgtC4LCDQsCDQvdC1INC60L7Qu9C40YfQtdGB0YLQstC+INC30LDQv9C40YHQtdC5IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NgorIzogYnVpbHRpbi9yZXBhY2suYzoxOTQKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0L3QsCDQvNCw0LrRgdC40LzQsNC70YzQvdGD0Y4g0LPQu9GD0LHQuNC90YMg0LTQtdC70YzRgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk2Cittc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzIgorbXNnc3RyICLQvtCz0YDQsNC90LjRh9C10L3QuNC1INC90LAg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC/0L7RgtC+0LrQvtCyIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE5OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC60LDQttC00L7Qs9C+INC40Lcg0YTQsNC50LvQvtCyINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjAwCiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgItC/0LXRgNC10YPQv9Cw0LrQvtCy0LDRgtGMINC+0LHRitC10LrRgtGLINCyINC/0LDQutC10YLRiywg0L/QvtC80LXRh9C10L3QvdGL0LUg0YTQsNC50LvQvtC8IC5rZWVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIwMAorIzogYnVpbHRpbi9yZXBhY2suYzoyMTAKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0YPQtNCw0LvRj9GC0Ywg0L/QsNC60LXRgtGLINCyIHByZWNpb3VzLW9iamVjdHMg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjE0CiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUg0LggLUEg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzkxIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgogbXNnc3RyICLRgdCx0L7QuSDRg9C00LDQu9C10L3QuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIwCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDzQvtCx0YrQtdC60YI+IDzQt9Cw0LzQtdC90LA+IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWVkaXQgPNC+0LHRitC10LrRgj4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMgogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1ncmFmdCA8Y29tbWl0PiBbPHBhcmVudD4uLi5dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPNC60L7QvNC80LjRgj4gWzzRgNC+0LTQuNGC0LXQu9GMPuKApl0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMwogbXNnaWQgImdpdCByZXBsYWNlIC1kIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgcmVwbGFjZSAtZCA80L7QsdGK0LXQutGCPuKApiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI0CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PNGE0L7RgNC80LDRgj5dIFstbCBbPNGI0LDQsdC70L7QvT5dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI1IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MyBidWlsdGluL3JlcGxhY2UuYzozOTEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzMSBidWlsdGluL3JlcGxhY2UuYzozNjkgYnVpbHRpbi9yZXBsYWNlLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LjQvNGPINC+0LHRitC10LrRgtCwOiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAi0L/Qu9C+0YXQsNGPINC80LXRgtC60LAg0YHQu9C40Y/QvdC40Y8g0LIg0LrQvtC80LzQuNGC0LUgwqslc8K7IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgItC/0L7QstGA0LXQttC00ZHQvdC90LDRjyDQvNC10YLQutCwINGB0LvQuNGP0L3QuNGPINCyINC60L7QvNC80LjRgtC1IMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzY4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgogImluc3RlYWQgb2YgLS1ncmFmdCIKIG1zZ3N0ciAi0L7RgNC40LPQuNC90LDQu9GM0L3Ri9C5INC60L7QvNC80LjRgiDCqyVzwrsg0YHQvtC00LXRgNC20LjRgiDQvNC10YLQutGDINGB0LvQuNGP0L3QuNGPIMKrJXPCuywg0LrQvtGC0L7RgNCw0Y8g0LHRi9C70LAg0L7RgtCx0YDQvtGI0LXQvdCwOyDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IC0tZWRpdCDQstC80LXRgdGC0L4gLS1ncmFmdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG9yaWdpbmFsIGNvbW1pdCAnJXMnIGhhcyBhIGdwZyBzaWduYXR1cmUuIgogbXNnc3RyICLQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lkg0LrQvtC80LzQuNGCIMKrJXPCuyDRgdC+0LTQtdGA0LbQuNGCINC/0L7QtNC/0LjRgdGMIGdwZy4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA4CiBtc2dpZCAidGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIHJlcGxhY2VtZW50IGNvbW1pdCEiCiBtc2dzdHIgItC/0L7QtNC/0LjRgdGMINCx0YPQtNC10YIg0YPQtNCw0LvQtdC90LAg0LIg0LfQsNC80LXQvdC10L3QvdC+0Lwg0LrQvtC80LzQuNGC0LUhIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgcmVwbGFjZW1lbnQgY29tbWl0IGZvcjogJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC30LDQvNC10L3RgyDQtNC70Y8g0LrQvtC80LzQuNGC0LA6IMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC30LDQvNC10L3Rj9C10LzRi9GFINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMzCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzkKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICLRg9C00LDQu9C10L3QuNC1INC30LDQvNC10L3Rj9C10LzRi9GFINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM0CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDAKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INGB0YPRidC10YHRgtCy0YPRjtGJ0LXQs9C+INC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MQogbXNnaWQgImNoYW5nZSBhIGNvbW1pdCdzIHBhcmVudHMiCiBtc2dzdHIgItC40LfQvNC10L3QtdC90LjQtSDRgNC+0LTQuNGC0LXQu9GPINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgItC30LDQvNC10L3QsCDRgdGB0YvQu9C60LgsINC10YHQu9C4INC+0L3QsCDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM3CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDMKIG1zZ2lkICJkbyBub3QgcHJldHR5LXByaW50IGNvbnRlbnRzIGZvciAtLWVkaXQiCiBtc2dzdHIgItC90LUg0LTQtdC70LDRgtGMINGB0YLRgNGD0LrRgtGD0YDQuNGA0L7QstCw0L3QvdGL0Lkg0LLRi9Cy0L7QtCDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC00LvRjyAtLWVkaXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ0CiBtc2dpZCAidXNlIHRoaXMgZm9ybWF0IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0Y3RgtC+0YIg0YTQvtGA0LzQsNGCIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjEyCisjOiBidWlsdGluL3JlcmVyZS5jOjEzCiBtc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPHBhdGg+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIG1zZ3N0ciAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPNC/0YPRgtGMPuKApiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTgKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTkKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDRh9C40YHRgtGL0LUg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtC+0LIg0LIg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOQogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzzQutC+0LzQvNC40YI+XSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3CisjOiBidWlsdGluL3Jlc2V0LmM6MzAKIG1zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LA+XSBbLS1dIDzQv9GD0YLQuD7igKYiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOAorIzogYnVpbHRpbi9yZXNldC5jOjMxCiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgogbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LA+XSBbLS1dIFs80L/Rg9GC0Lg+4oCmXSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAi0YHQvNC10YjQsNC90L3Ri9C5IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgInNvZnQiCiBtc2dzdHIgItC80Y/Qs9C60LjQuSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJoYXJkIgogbXNnc3RyICLQttC10YHRgtC60LjQuSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJtZXJnZSIKIG1zZ3N0ciAi0YHQu9C40Y/QvdC40LXQvCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJrZWVwIgogbXNnc3RyICLQvtGB0YLQsNCy0LvQtdC90LjQtdC8IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3NwogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICLQoyDQstCw0YEg0L3QtdGCINCy0LXRgNC90L7Qs9C+IEhFQUQuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3OQogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQtNC10YDQtdCy0L4g0YMgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MgorIzogYnVpbHRpbi9yZXNldC5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LTQtdGA0LXQstC+INGDICVzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjEwMAorIzogYnVpbHRpbi9yZXNldC5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKIG1zZ3N0ciAiSEVBRCDRgdC10LnRh9Cw0YEg0L3QsCAlcyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE4MworIzogYnVpbHRpbi9yZXNldC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICLQndC10LvRjNC30Y8g0LLRi9C/0L7Qu9C90LjRgtGMINGB0LHRgNC+0YEg0LIg0YDQtdC20LjQvNC1IMKrJXPCuyDQstC+INCy0YDQtdC80Y8g0YHQu9C40Y/QvdC40Y8uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc2CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIKIG1zZ3N0ciAi0YLQuNGF0LjQuSDRgNC10LbQuNC8LCDQstGL0LLQvtC00LjRgtGMINGC0L7Qu9GM0LrQviDQvtGI0LjQsdC60LgiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODgKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAi0YHQsdGA0L7RgdC40YLRjCBIRUFEINC4INC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OQorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAi0YHQsdGA0L7RgdC40YLRjCDRgtC+0LvRjNC60L4gSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6MjgzCisjOiBidWlsdGluL3Jlc2V0LmM6MjkxIGJ1aWx0aW4vcmVzZXQuYzoyOTMKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICLRgdCx0YDQvtGB0LjRgtGMIEhFQUQsINC40L3QtNC10LrRgSDQuCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4NQorIzogYnVpbHRpbi9yZXNldC5jOjI5NQogbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAi0YHQsdGA0L7RgdC40YLRjCBIRUFELCDQvdC+INC+0YHRgtCw0LLQuNGC0Ywg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4OAorIzogYnVpbHRpbi9yZXNldC5jOjMwMQogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgcmVtb3ZlZCBwYXRocyB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINGC0L7Qu9GM0LrQviDRhNCw0LrRgiDRgtC+0LPQviwg0YfRgtC+INGD0LTQsNC70LXQvdC90YvQtSDQv9GD0YLQuCDQsdGD0LTRg9GCINC00L7QsdCw0LLQu9C10L3RiyDQv9C+0LfQttC1IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL3Jlc2V0LmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNGB0L/QvtC30L3QsNGC0Ywgwqslc8K7INC60LDQuiDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Rg9GOINGA0LXQtNCw0LrRhtC40Y4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEzCisjOiBidWlsdGluL3Jlc2V0LmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0YHQv9C+0LfQvdCw0YLRjCDCqyVzwrsg0LrQsNC6INC00LXQudGB0YLQstC40YLQtdC70YzQvdC+0LUg0LTQtdGA0LXQstC+LiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyMgorIzogYnVpbHRpbi9yZXNldC5jOjMzNwogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAtLXtoYXJkLG1peGVkLHNvZnR9IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMxCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ2CiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDQvtC/0YbQuNC4IC0tbWl4ZWQg0YEg0L/Rg9GC0Y/QvNC4INGD0YHRgtCw0YDQtdC70L47INC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmVzZXQgLS0gPNC/0YPRgtC4PsK7IGluc3RlYWQuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMzCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINCy0YvQv9C+0LvQvdC40YLRjCDRgdCx0YDQvtGBINCyINGA0LXQttC40LzQtSDCqyVzwrsg0LLQvNC10YHRgtC1INGBINGD0LrQsNC30LDQvdC40LXQvCDQv9GD0YLQuC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgItGB0LHRgNC+0YEgwqslc8K7INGA0LDQt9GA0LXRiNC10L0g0YLQvtC70YzQutC+INGBINCz0L7Qu9GL0Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ3CisjOiBidWlsdGluL3Jlc2V0LmM6MzYyCiBtc2dpZCAiLU4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIC0tbWl4ZWQiCiBtc2dzdHIgIi1OINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCy0LzQtdGB0YLQtSDRgSAtLW1peGVkIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzY0CisjOiBidWlsdGluL3Jlc2V0LmM6Mzc5CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCiBtc2dzdHIgItCd0LXQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINC/0L7RgdC70LUg0YHQsdGA0L7RgdCwOiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3MAorIzogYnVpbHRpbi9yZXNldC5jOjM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdCx0YDQvtGB0LjRgtGMINGE0LDQudC7INC40L3QtNC10LrRgdCwINC90LAg0YDQtdC00LDQutGG0LjRjiDCqyVzwrsuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mzc0CisjOiBidWlsdGluL3Jlc2V0LmM6Mzg5CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC90L7QstGL0Lkg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAuIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6MzU0CisjOiBidWlsdGluL3Jldi1saXN0LmM6MzU4CiBtc2dpZCAicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIgogbXNnc3RyICJyZXYtbGlzdCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQvtGC0L7QsdGA0LDQttC10L3QuNC1INC30LDQvNC10YLQvtC6IgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM4NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTQKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPNC+0L/RhtC40Lg+XSAtLSBbPNCw0YDQs9GD0LzQtdC90YLRiz7igKZdIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTkKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgItC/0LXRgNC10LTQsNCy0LDRgtGMINC00LDQu9C10LUgwqstLcK7INC60LDQuiDQsNGA0LPRg9C80LXQvdGCIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDEKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgItC+0YHRgtCw0L3QvtCy0LjRgtGMINGA0LDQt9Cx0L7RgCDQv9C+0YHQu9C1INC/0LXRgNCy0L7Qs9C+INCw0YDQs9GD0LzQtdC90YLQsCDQvdC1INGP0LLQu9GP0Y7RidC10LPQvtGB0Y8g0L7Qv9GG0LjQtdC5IgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDQKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINCw0YDQs9GD0LzQtdC90YLRiyDQsiDQtNC70LjQvdC90L7QvCDRhNC+0YDQvNCw0YLQtSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MjcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTM1CiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtMTEyMDQsMTEwICsxMTk3Myw5NiBAQAogIlJ1biBcImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtaFwiIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBmaXJzdCB1c2FnZS4iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPNC+0L/RhtC40Lg+XSAtLSBbPNCw0YDQs9GD0LzQtdC90YLRiz7igKZdXG4gICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs80LDRgNCz0YPQvNC10L3Rgj7igKZdXG4gICBvcjogZ2l0IHJldi1wYXJzZSBbPNC+0L/RhtC40Lg+XSBbPNCw0YDQs9GD0LzQtdC90YI+4oCmXVxuXG7Ql9Cw0L/Rg9GB0YLQuNGC0LUg0LrQvtC80LDQvdC00YMgwqtnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWjCuyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC/0L7QtNGA0L7QsdC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQv9C10YDQstC+0Lwg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LguIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIyCisjOiBidWlsdGluL3JldmVydC5jOjIzCiBtc2dpZCAiZ2l0IHJldmVydCBbPG9wdGlvbnM+XSA8Y29tbWl0LWlzaD4uLi4iCiBtc2dzdHIgImdpdCByZXZlcnQgWzzQvtC/0YbQuNC4Pl0gPNGD0LrQsNC30LDRgtC10LvRjC3QutC+0LzQvNC40YLQsD7igKYiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQKIG1zZ2lkICJnaXQgcmV2ZXJ0IDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IHJldmVydCA80L/QvtC00LrQvtC80LDQvdC00LA+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjI4CisjOiBidWlsdGluL3JldmVydC5jOjI5CiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIFs80L7Qv9GG0LjQuD5dIDzRg9C60LDQt9Cw0YLQtdC70Ywt0LrQvtC80LzQuNGC0LA+4oCmIgogCi0jOiBidWlsdGluL3JldmVydC5jOjI5CisjOiBidWlsdGluL3JldmVydC5jOjMwCiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDzQv9C+0LTQutC+0LzQsNC90LTQsD4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiAlcyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MAorIzogYnVpbHRpbi9yZXZlcnQuYzo5OQogbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgItC60L7QvdC10YYg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4INC60L7Qv9C40YDQvtCy0LDQvdC40Y8g0LjQu9C4INC+0LHRgNCw0YnQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLQv9GA0L7QtNC+0LvQttC40YLRjCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0Ywg0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQuNC70Lgg0L7QsdGA0LDRidC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuSDQutC+0LzQvNC40YLQvtCyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgyCisjOiBidWlsdGluL3JldmVydC5jOjEwMQogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgItC+0YLQvNC10L3QsCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQuNC70Lgg0L7QsdGA0LDRidC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuSDQutC+0LzQvNC40YLQvtCyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgzCisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgogbXNnc3RyICLQvdC1INC60L7QvNC80LjRgtC40YLRjCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4NAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAi0LjQt9C80LXQvdC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKLW1zZ2lkICJwYXJlbnQgbnVtYmVyIgotbXNnc3RyICLQvdC+0LzQtdGAINGA0L7QtNC40YLQtdC70Y8iCisjOiBidWlsdGluL3JldmVydC5jOjEwNgorbXNnaWQgInBhcmVudC1udW1iZXIiCittc2dzdHIgItC90L7QvNC10YAt0YDQvtC00LjRgtC10LvRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4OQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKK21zZ2lkICJzZWxlY3QgbWFpbmxpbmUgcGFyZW50IgorbXNnc3RyICLQstGL0LHQvtGAINC+0YHQvdC+0LLQvdC+0LPQviDRgNC+0LTQuNGC0LXQu9GPIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLRgdGC0YDQsNGC0LXQs9C40Y8g0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICLQvtC/0YbQuNGPIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjExMQogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgItC+0L/RhtC40Y8g0LTQu9GPINGB0YLRgNCw0YLQtdCz0LjQuCDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC40LzRjyDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIyCiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgItGB0L7RhdGA0LDQvdC40YLRjCDQuNC30L3QsNGH0LDQu9GM0L3QviDQv9GD0YHRgtGL0LUg0LrQvtC80LzQuNGC0YsiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEyMwogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC60L7QvNC80LjRgtGLINGBINC/0YPRgdGC0YvQvNC4INGB0L7QvtCx0YnQtdC90LjRj9C80LgiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEyNAogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICLQvtGB0YLQsNCy0LjRgtGMINC40LfQsdGL0YLQvtGH0L3Ri9C1LCDQv9GD0YHRgtGL0LUg0LrQvtC80LzQuNGC0YsiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTkyCisjOiBidWlsdGluL3JldmVydC5jOjIxMgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC+0LHRgNCw0YnQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CisjOiBidWlsdGluL3JldmVydC5jOjIyNQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INC60L7Qv9C40YDQvtCy0LDQvdC40Lgg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxNworIzogYnVpbHRpbi9ybS5jOjE4CiBtc2dpZCAiZ2l0IHJtIFs8b3B0aW9ucz5dIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gWzzQvtC/0YbQuNC4Pl0gWy0tXSA80YTQsNC50Ls+4oCmIgogCi0jOiBidWlsdGluL3JtLmM6NjUKLW1zZ2lkICIiCi0idGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpXG4iCi0idXNlcyBhIC5naXQgZGlyZWN0b3J5OiIKLW1zZ2lkX3BsdXJhbCAiIgotInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlcyAob3Igb25lIG9mIHRoZWlyIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgotInVzZSBhIC5naXQgZGlyZWN0b3J5OiIKLW1zZ3N0clswXSAi0YHQu9C10LTRg9GO0YnQuNC5INC/0L7QtNC80L7QtNGD0LvRjCAo0LjQu9C4INC+0LTQuNC9INC40Lcg0LLQu9C+0LbQtdC90L3Ri9GFINC/0L7QtNC80L7QtNGD0LvQtdC5KVxu0LjRgdC/0L7Qu9GM0LfRg9C10YIg0LrQsNGC0LDQu9C+0LMgLmdpdDoiCi1tc2dzdHJbMV0gItGB0LvQtdC00YPRjtGJ0LjQtSDQv9C+0LTQvNC+0LTRg9C70LggKNC40LvQuCDQvtC00LjQvSDQuNC3INCy0LvQvtC20LXQvdC90YvRhSDQv9C+0LTQvNC+0LTRg9C70LXQuSlcbtC40YHQv9C+0LvRjNC30YPRjtGCINC60LDRgtCw0LvQvtCzIC5naXQ6IgotbXNnc3RyWzJdICLRgdC70LXQtNGD0Y7RidC40LUg0L/QvtC00LzQvtC00YPQu9C4ICjQuNC70Lgg0L7QtNC40L0g0LjQtyDQstC70L7QttC10L3QvdGL0YUg0L/QvtC00LzQvtC00YPQu9C10LkpXG7QuNGB0L/QvtC70YzQt9GD0Y7RgiDQutCw0YLQsNC70L7QsyAuZ2l0OiIKLW1zZ3N0clszXSAi0YHQu9C10LTRg9GO0YnQuNC1INC/0L7QtNC80L7QtNGD0LvQuCAo0LjQu9C4INC+0LTQuNC9INC40Lcg0LLQu9C+0LbQtdC90L3Ri9GFINC/0L7QtNC80L7QtNGD0LvQtdC5KVxu0LjRgdC/0L7Qu9GM0LfRg9GO0YIg0LrQsNGC0LDQu9C+0LMgLmdpdDoiCi0KLSM6IGJ1aWx0aW4vcm0uYzo3MQotbXNnaWQgIiIKLSJcbiIKLSIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCi1tc2dzdHIgIlxuKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtybSAtcmbCuywg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0LXQs9C+LCDQstC60LvRjtGH0LDRjyDQstGB0Y4g0LXQs9C+INC40YHRgtC+0YDQuNGOKSIKLQotIzogYnVpbHRpbi9ybS5jOjIzMAorIzogYnVpbHRpbi9ybS5jOjIwNgogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCiAiZmlsZSBhbmQgdGhlIEhFQUQ6IgpAQCAtMTEzMTksMTMgKzEyMDc0LDEzIEBACiBtc2dzdHJbMl0gItGB0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLINGB0L7QtNC10YDQttCw0YIg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQvtGC0LvQuNGH0LDRjtGJ0LjQtdGB0Y8g0Lgg0L7RgiDRhNCw0LnQu9CwLCDQuCDQvtGCIEhFQUQ6IgogbXNnc3RyWzNdICLRgdC70LXQtNGD0Y7RidC40LUg0YTQsNC50LvRiyDRgdC+0LTQtdGA0LbQsNGCINC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0L7RgtC70LjRh9Cw0Y7RidC40LXRgdGPINC4INC+0YIg0YTQsNC50LvQsCwg0Lgg0L7RgiBIRUFEOiIKIAotIzogYnVpbHRpbi9ybS5jOjIzNQorIzogYnVpbHRpbi9ybS5jOjIxMQogbXNnaWQgIiIKICJcbiIKICIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgogbXNnc3RyICJcbijQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC+0L/RhtC40Y4gwqstZsK7INC00LvRjyDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtCz0L4g0YPQtNCw0LvQtdC90LjRjykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzkKKyM6IGJ1aWx0aW4vcm0uYzoyMTUKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICLRgdC70LXQtNGD0Y7RidC40LUg0YTQsNC50LvRiyDRgdC+0LTQtdGA0LbQsNGCINC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0LjQvdC00LXQutGB0LU6IgpAQCAtMTEzMzMsMTMgKzEyMDg4LDEzIEBACiBtc2dzdHJbMl0gItGB0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLINGB0L7QtNC10YDQttCw0YIg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDQuNC90LTQtdC60YHQtToiCiBtc2dzdHJbM10gItGB0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLINGB0L7QtNC10YDQttCw0YIg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDQuNC90LTQtdC60YHQtToiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMgYnVpbHRpbi9ybS5jOjI1NAorIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIlxuKNC40YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiDCqy0tY2FjaGVkwrsg0LTQu9GPINC+0YHRgtCw0LLQu9C10L3QuNGPINGE0LDQudC70LAsINC40LvQuCDCqy1mwrsg0LTQu9GPINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+0LPQviDRg9C00LDQu9C10L3QuNGPKSIKIAotIzogYnVpbHRpbi9ybS5jOjI1MQorIzogYnVpbHRpbi9ybS5jOjIyNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAi0YHQu9C10LTRg9GO0YnQuNC1INGE0LDQudC70Ysg0YHQvtC00LXRgNC20LDRgiDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPOiIKQEAgLTExMzQ3LDgzICsxMjEwMiw5MiBAQAogbXNnc3RyWzJdICLRgdC70LXQtNGD0Y7RidC40LUg0YTQsNC50LvRiyDRgdC+0LTQtdGA0LbQsNGCINC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y86IgogbXNnc3RyWzNdICLRgdC70LXQtNGD0Y7RidC40LUg0YTQsNC50LvRiyDRgdC+0LTQtdGA0LbQsNGCINC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y86IgogCi0jOiBidWlsdGluL3JtLmM6MjY5CisjOiBidWlsdGluL3JtLmM6MjQzCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAi0L3QtSDQstGL0LLQvtC00LjRgtGMINGB0L/QuNGB0L7QuiDRg9C00LDQu9C10L3QvdGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL3JtLmM6MjcwCisjOiBidWlsdGluL3JtLmM6MjQ0CiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINGC0L7Qu9GM0LrQviDQuNC3INC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL3JtLmM6MjcxCisjOiBidWlsdGluL3JtLmM6MjQ1CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgItC/0YDQvtC/0YPRgdGC0LjRgtGMINC/0YDQvtCy0LXRgNC60YMg0LDQutGC0YPQsNC70YzQvdC+0YHRgtC4IgogCi0jOiBidWlsdGluL3JtLmM6MjcyCisjOiBidWlsdGluL3JtLmM6MjQ2CiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDRgNC10LrRg9GA0YHQuNCy0L3QvtC1INGD0LTQsNC70LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNzQKKyM6IGJ1aWx0aW4vcm0uYzoyNDgKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAi0LLRi9GF0L7QtCDRgSDQvdGD0LvQtdCy0YvQvCDQutC+0LTQvtC8INCy0L7Qt9Cy0YDQsNGC0LAsINC00LDQttC1INC10YHQu9C4INC90LjRh9C10LPQviDQvdC1INC90LDQudC00LXQvdC+IgogCi0jOiBidWlsdGluL3JtLmM6MzM1CisjOiBidWlsdGluL3JtLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvRj9GOINGA0LXQutGD0YDRgdC40LLQvdC+IMKrJXPCuyDQsdC10Lcg0YPQutCw0LfQsNC90LjRjyDQvtC/0YbQuNC4IC1yIgogCi0jOiBidWlsdGluL3JtLmM6Mzc0CisjOiBidWlsdGluL3JtLmM6MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBybTogdW5hYmxlIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ2l0IHJtOiDQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMICVzIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE4CisjOiBidWlsdGluL3JtLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTkKIG1zZ2lkICIiCiAiZ2l0IHNlbmQtcGFjayBbLS1hbGwgfCAtLW1pcnJvcl0gWy0tZHJ5LXJ1bl0gWy0tZm9yY2VdIFstLXJlY2VpdmUtcGFjaz08Z2l0LXJlY2VpdmUtcGFjaz5dIFstLXZlcmJvc2VdIFstLXRoaW5dIFstLWF0b21pY10gWzxob3N0PjpdPGRpcmVjdG9yeT4gWzxyZWY+Li4uXVxuIgogIiAgLS1hbGwgYW5kIGV4cGxpY2l0IDxyZWY+IHNwZWNpZmljYXRpb24gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC1yZWNlaXZlLXBhY2s+XSBbLS12ZXJib3NlXSBbLS10aGluXSBbLS1hdG9taWNdIFs80YHQtdGA0LLQtdGAPjpdPNC60LDRgtCw0LvQvtCzPiBbPNGB0YHRi9C70LrQsD7igKZdXG4gIC0tYWxsINC4INGP0LLQvdCw0Y8g0YHQv9C10YbQuNGE0LjQutCw0YbQuNGPIDzRgdGB0YvQu9C60Lg+INCy0LfQsNC40LzQvdC+INC40YHQutC70Y7Rh9Cw0Y7RidC40LUuIgorbXNnc3RyICJnaXQgc2VuZC1wYWNrIFstLWFsbCB8IC0tbWlycm9yXSBbLS1kcnktcnVuXSBbLS1mb3JjZV0gWy0tcmVjZWl2ZS1wYWNrPTxnaXQtcmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPNGB0LXRgNCy0LXRgD46XTzQutCw0YLQsNC70L7Qsz4gWzzRgdGB0YvQu9C60LA+4oCmXVxuICAtLWFsbCDQuCDRj9Cy0L3Ri9C5INGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgCA80YHRgdGL0LvQutC4PiDQstC30LDQuNC80L3QviDQuNGB0LrQu9GO0YfQsNGO0YnQuNC1LiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjAKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCiBtc2dpZCAicmVtb3RlIG5hbWUiCiBtc2dzdHIgItC40LzRjyDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcxCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgogbXNnaWQgInVzZSBzdGF0ZWxlc3MgUlBDIHByb3RvY29sIgogbXNnc3RyICLQv9GA0L7RgtC+0LrQvtC7INCx0LXQtyDRgdC+0YXRgNCw0L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LTQu9GPIFJQQyIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc3CiBtc2dpZCAicmVhZCByZWZzIGZyb20gc3RkaW4iCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDRgdGB0YvQu9C60Lgg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc4CiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHRgtCw0YLRg9GBINC+0YIg0YHQutGA0LjQv9GC0LAg0LLQvdC10YjQvdC10LPQviDRgdC10YDQstC10YDQsCIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjEzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTQKIG1zZ2lkICJnaXQgc2hvcnRsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHNob3J0bG9nIFs80L7Qv9GG0LjQuD5dIFs80LTQuNCw0L/QsNC30L7QvS3RgNC10LTQsNC60YbQuNC5Pl0gW1stLV0gWzzQv9GD0YLRjD7igKZdXSIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI0MgorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI0OQorbXNnaWQgIkdyb3VwIGJ5IGNvbW1pdHRlciByYXRoZXIgdGhhbiBhdXRob3IiCittc2dzdHIgItCT0YDRg9C/0L/QuNGA0L7QstCw0YLRjCDQv9C+INC60L7QvNC80LjRgtC10YDRgywg0LAg0L3QtSDQv9C+INCw0LLRgtC+0YDRgyIKKworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI1MQogbXNnaWQgInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIKIG1zZ3N0ciAi0L7RgtGB0L7RgNGC0LjRgNC+0LLQsNGC0Ywg0LLRi9Cy0L7QtCDQv9C+INC60L7Qu9C40YfQtdGB0YLQstGDINC60L7QvNC80LjRgtC+0LIg0YMg0LDQstGC0L7RgNCwIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjQ0CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjUzCiBtc2dpZCAiU3VwcHJlc3MgY29tbWl0IGRlc2NyaXB0aW9ucywgb25seSBwcm92aWRlcyBjb21taXQgY291bnQiCiBtc2dzdHIgItCd0LUg0LLRi9Cy0L7QtNC40YLRjCDQvtC/0LjRgdCw0L3QuNGPINC60L7QvNC80LjRgtC+0LIsINCwINGC0L7Qu9GM0LrQviDQuNGFINC60L7Qu9C40YfQtdGB0YLQstC+IgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MjQ2CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjU1CiBtc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQv9C+0YfRgtGDINC60LDQttC00L7Qs9C+INC40Lcg0LDQstGC0L7RgNC+0LIiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNDcKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTYKIG1zZ2lkICJ3WyxpMVssaTJdXSIKIG1zZ3N0ciAid1ssaTFbLGkyXV0iCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNDgKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNTcKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgItCf0LXRgNC10L3QvtGBINGB0YLRgNC+0Log0L3QsCDQstGL0LLQvtC00LUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LWJyYW5jaCBbLWEgfCAtLWFsbF0gWy1yIHwgLS1yZW1vdGVzXSBbLS10b3BvLW9yZGVyIHwgLS1kYXRlLW9yZGVyXVxuIgogIlx0XHRbLS1jdXJyZW50XSBbLS1jb2xvcls9PHdoZW4+XSB8IC0tbm8tY29sb3JdIFstLXNwYXJzZV1cbiIKQEAgLTExNDMxLDExICsxMjE5NSwxMSBAQAogIlx0XHRbLS1uby1uYW1lIHwgLS1zaGExLW5hbWVdIFstLXRvcGljc10gWyg8cmV2PiB8IDxnbG9iPikuLi5dIgogbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggWy1hIHwgLS1hbGxdIFstciB8IC0tcmVtb3Rlc10gWy0tdG9wby1vcmRlciB8IC0tZGF0ZS1vcmRlcl1cblx0XHRbLS1jdXJyZW50XSBbLS1jb2xvcls9PNC60L7Qs9C00LA+XSB8IC0tbm8tY29sb3JdIFstLXNwYXJzZV1cblx0XHRbLS1tb3JlPTxuPiB8IC0tbGlzdCB8IC0taW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdXG5cdFx0Wy0tbm8tbmFtZSB8IC0tc2hhMS1uYW1lXSBbLS10b3BpY3NdIFsoPNGA0LXQtNCw0LrRhtC40Y8+IHwgPNGI0LDQsdC70L7QvT4p4oCmXSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjE0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTYKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPNCx0LDQt9CwPl1dIFstLWxpc3RdIFs80YHRgdGL0LvQutCwPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZiIKIG1zZ2lkX3BsdXJhbCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiCkBAIC0xMTQ0NCw5MCArMTIyMDgsOTAgQEAKIG1zZ3N0clsyXSAi0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40LUgJXM7INC90LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0LHQvtGC0LDRgtGMINCx0L7Qu9GM0YjQtSAlZCDRgdGB0YvQu9C+0LoiCiBtc2dzdHJbM10gItC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1ICVzOyDQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0YHRgdGL0LvQutC4IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIKIG1zZ3N0ciAi0L3QtdGCINGB0L7QstC/0LDQtNCw0Y7RidC40YUg0LfQsNC/0LjRgdC10Lkg0YEgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MjYKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INC4INC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINCy0L3QtdGI0L3QuNGFINC4INC70L7QutCw0LvRjNC90YvRhSDQstC10YLQvtC6IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI4CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINCy0L3QtdGI0L3QuNGFINCy0LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzAKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICLQvtC60YDQsNGI0LjQstCw0YLRjCDCqyohKy3CuyDQsiDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Lgg0YEg0LLQtdGC0LrQvtC5IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMyCiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwgPG4+INC60L7QvNC80LjRgtC+0LIg0L/QvtGB0LvQtSDQvtCx0YnQtdCz0L4g0L/RgNC10LTQutCwIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM0CiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICLRgdC40L3QvtC90LjQvCDQtNC70Y8gbW9yZT0tMSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNQogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QvtCy0LDQvdC90YvQtSDRgdGC0YDQvtC60LgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzcKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQsiDQstGL0LLQvtC0INGC0LXQutGD0YnRg9GOINCy0LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzkKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgItC40LzQtdC90L7QstCw0YLRjCDQutC+0LzQvNC40YLRiyDQuNGFINC40LzQtdC90LDQvNC4INC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQstC+0LfQvNC+0LbQvdGL0LUg0LHQsNC30Ysg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdGB0YvQu9C60LgsINC90LXQtNC+0YHRgtGD0L/QvdGL0LUg0LjQtyDQu9GO0LHRi9GFINC00YDRg9Cz0LjRhSDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INC60L7QvNC80LjRgtGLINCyINGC0L7Qv9C+0LvQvtCz0LjRh9C10YHQutC+0Lwg0L/QvtGA0Y/QtNC60LUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YLQvtC70YzQutC+INC60L7QvNC80LjRgtGLLCDQvtGC0YHRg9GC0YHRgtCy0YPRjtGJ0LjQtSDQsiDQv9C10YDQstC+0Lkg0LLQtdGC0LrQtSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQu9C40Y/QvdC40Y8sINC00L7RgdGC0LjQttC40LzRi9C1INGC0L7Qu9GM0LrQviDQuNC3INC+0LTQvdC+0Lkg0LjQtyDQstC10YDRhdGD0YjQtdC6IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICLRgtC+0L/QvtC70L7Qs9C40YfQtdGB0LrQsNGPINGB0L7RgNGC0LjRgNC+0LLQutCwLCDRgSDRgdC+0YXRgNCw0L3QtdC90LjQtdC8INC/0L7RgNGP0LTQutCwINC00LDRgiwg0LXRgdC70Lgg0LLQvtC30LzQvtC20L3QviIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw80LHQsNC30LA+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMIDxuPiDQv9C+0YHQu9C10LTQvdC40YUg0LfQsNC/0LjRgdC10Lkg0LIg0LbRg9GA0L3QsNC70LUg0YHRgdGL0LvQvtC6LCDQvdCw0YfQuNC90LDRjyDRgSDQsdCw0LfRiyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcwMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY5MAogbXNnaWQgIiIKICItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtIgogImJhc2UiCiBtc2dzdHIgIi0tcmVmbG9nINC90LXRgdC+0LLQvNC10YHRgtC40LzQviDRgSAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50INC4IC0tbWVyZ2UtYmFzZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxNAogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgItC90LUg0YPQutCw0LfQsNC90Ysg0LLQtdGC0LrQuCDQuCBIRUFEINC90LUg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxNwogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLS1yZWZsb2cg0YLRgNC10LHRg9C10YIg0YPQutCw0LfQsNC90LjRjyDQuNC80LXQvdC4INC+0LTQvdC+0Lkg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgpAQCAtMTE1MzYsMTIgKzEyMzAwLDEyIEBACiBtc2dzdHJbMl0gItGC0L7Qu9GM0LrQviAlZCDQt9Cw0L/QuNGB0LXQuSDQvNC+0LPRg9GCINCx0YvRgtGMINC/0L7QutCw0LfQsNC90Ysg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIG1zZ3N0clszXSAi0YLQvtC70YzQutC+ICVkINC30LDQv9C40YHQuCDQvNC+0LPRg9GCINCx0YvRgtGMINC/0L7QutCw0LfQsNC90Ysg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHJlZiAlcyIKIG1zZ3N0ciAi0L3QtdGCINGC0LDQutC+0Lkg0YHRgdGL0LvQutC4ICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgpAQCAtMTE1NTAsMTIgKzEyMzE0LDEyIEBACiBtc2dzdHJbMl0gItC90LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0LHQvtGC0LDRgtGMINCx0L7Qu9GM0YjQtSAlZCDRgNC10LTQsNC60YbQuNC5LiIKIG1zZ3N0clszXSAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0LHQvtC70YzRiNC1ICVkINGA0LXQtNCw0LrRhtC40LguIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC+0L/Rg9GB0YLQuNC80L7QuSDRgdGB0YvQu9C60L7QuSDQvdCwINC60L7QvNC80LjRgi4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQutC+0LzQvNC40YIgJXMgKCVzKSIKQEAgLTExNTcwLDMzMSArMTIzMzQsMzI2IEBACiBtc2dpZCAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s9PHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s9PNGI0LDQsdC70L7QvT5dIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTY1CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTU5CiBtc2dpZCAib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YLQvtC70YzQutC+INC80LXRgtC60LggKNC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAtLWhlYWRzKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MAogbXNnaWQgIm9ubHkgc2hvdyBoZWFkcyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggdGFncykiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGC0L7Qu9GM0LrQviDQs9C+0LvQvtCy0YsgKNC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAtLXRhZ3MpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTY3CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYxCiBtc2dpZCAic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCByZXF1aXJlcyBleGFjdCByZWYgcGF0aCIKIG1zZ3N0ciAi0LHQvtC70LXQtSDRgdGC0YDQvtCz0LDRjyDQv9GA0L7QstC10YDQutCwINGB0YHRi9C70L7Quiwg0YLRgNC10LHRg9C10YIg0YLQvtGH0L3Ri9C5INC/0YPRgtGMINGB0YHRi9C70LrQuCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MCBidWlsdGluL3Nob3ctcmVmLmM6MTcyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjYKIG1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0YHRi9C70LrRgyBIRUFELCDQtNCw0LbQtSDQtdGB0LvQuCDQvtC90LAg0LHRg9C00LXRgiDQvtGC0YTQuNC70YzRgtGA0L7QstCw0L3QsCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2OAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICLRgNCw0LfRi9C80LXQvdC+0LLQsNGC0Ywg0LzQtdGC0LrQuCDQsiDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGLINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCA8bj4g0YbQuNGE0YAg0LTQu9GPINCy0YvQstC+0LTQsCBTSEEtMSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NAogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICLQvdC1INC/0LXRh9Cw0YLQsNGC0Ywg0YDQtdC30YPQu9GM0YLQsNGCINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstGL0LLQvtC0ICjQv9C+0LvQtdC30L3QviDRgSDQvtC/0YbQuNC10LkgwqstLXZlcmlmecK7KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE4MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NgogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0YHRi9C70LrQuCDRgdC+INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwLCDQutC+0YLQvtGA0YvRhSDQvdC10YIg0LIg0LvQvtC60LDQu9GM0L3QvtC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE3CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE5CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzUKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM2CiBtc2dpZCAic2tpcCBhbmQgcmVtb3ZlIGFsbCBsaW5lcyBzdGFydGluZyB3aXRoIGNvbW1lbnQgY2hhcmFjdGVyIgogbXNnc3RyICLQv9GA0L7Qv9GD0YHRgtC40YLRjCDQuCDRg9C00LDQu9C40YLRjCDQstGB0LUg0YHRgtGA0L7QutC4LCDQvdCw0YfQuNC90LDRjtGJ0LjQtdGB0Y8g0YEg0YHQuNC80LLQvtC70LAg0LrQvtC80LzQtdGC0LDRgNC40Y8iCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM4CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOQogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQv9C10YDQtdC0INC60LDQttC00L7QuSDRgdGC0YDQvtC60L7QuSDRgdC40LzQstC+0Lsg0LrQvtC80LzQtdGC0LDRgNC40Y8g0Lgg0L/RgNC+0LHQtdC7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgItCd0LXRgiDRgtCw0LrQvtC5INGB0YHRi9C70LrQuDogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAi0J7QttC40LTQsNC70L7RgdGMINC/0L7Qu9C90L7QtSDQuNC80Y8g0YHRgdGL0LvQutC4LCDQsCDQv9C+0LvRg9GH0LXQvdC+ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdGA0LXQt9Cw0YLRjCDQvtC00LjQvSDQutC+0LzQv9C+0L3QtdC90YIgdXJsIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzA1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICLQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C5INGB0LjQvNCy0L7QuyDQtNC70Y8g0L7RgtC90L7RgdC40YLQtdC70YzQvdGL0YUg0L/Rg9GC0LXQuSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxMAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PNC/0YPRgtGMPl0gWzzQv9GD0YLRjD7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIlVSTCDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0Lggwqslc8K7INC90LUg0L3QsNC50LTQtdC9INCyIC5naXRtb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgbG9va3VwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgorImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9GA0L7RgdC40YLRjCDQutC+0L3RhNC40LPRg9GA0LDRhtC40Y4gwqslc8K7LiDQn9GA0LXQtNC/0L7Qu9Cw0LPQsNGOLCDRh9GC0L4g0Y3RgtC+0YIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQuNC80LXQtdGCINGB0LLQvtC5INGB0L7QsdGB0YLQstC10L3QvdGL0Lkg0LLRi9GI0LXRgdGC0L7Rj9GJ0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5LiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLQodCx0L7QuSDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INCw0LTRgNC10YHQsCDQtNC70Y8g0L/Rg9GC0Lgg0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Ywgwqslc8K7ICglcykg0LfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC9INC/0L4g0L/Rg9GC0Lggwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCiBtc2dzdHIgItCy0L3QuNC80LDQvdC40LU6INC/0YDQtdC00L/QvtC70LDQs9Cw0LXQvNGL0Lkg0YDQtdC20LjQvCDQvtCx0L3QvtCy0LvQtdC90LjRjyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzkwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0YDQtdCz0LjRgdGC0YDQsNGG0LjQuCDRgNC10LbQuNC80LAg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQu9GPINC/0YPRgtC4INC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDMKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAi0J3QtSDQstGL0LLQvtC00LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4INC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPNC/0YPRgtGMPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzYKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDzQv9GD0YLRjD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi0L3QtSDQvdCw0LnQtNC10L3QviDRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0L/QvtC00LzQvtC00YPQu9C10Lkg0LIgLmdpdG1vZHVsZXMg0LTQu9GPINC/0YPRgtC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgogbXNnc3RyICLQv9C+0LTQvNC+0LTRg9C70Y4gwqslc8K7INC90LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0YM6ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICLQl9C90LDRh9C10L3QuNC1IMKrJXPCuyDQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNCwIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5INC90LUg0YDQsNC/0L7Qt9C90LDQvdC+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAi0JfQvdCw0YfQtdC90LjQtSDCqyVzwrsg0LTQu9GPINC/0LDRgNCw0LzQtdGC0YDQsCBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24g0L3QtSDRgNCw0L/QvtC30L3QsNC90L4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAi0LrRg9C00LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGB0LrQu9C+0L3QuNGA0L7QstCw0L0g0L3QvtCy0YvQuSDQv9C+0LTQvNC+0LTRg9C70YwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICLQuNC80Y8g0L3QvtCy0L7Qs9C+INC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgInVybCDQvtGC0LrRg9C00LAg0LTQvtC70LbQtdC9INCx0YvQuyDRgdC60LvQvtC90LjRgNC+0LLQsNC9INC90L7QstGL0Lkg0L/QvtC00LzQvtC00YPQu9GMIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICLQs9C70YPQsdC40L3QsCDQtNC70Y8g0YfQsNGB0YLQuNGH0L3QvtCz0L4g0LrQu9C+0L3QsCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QviDQstGL0LLQvtC00LjRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LrQu9C+0L3QuNGA0L7QstCw0L3QuNGPIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUzCiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTzQv9GD0YLRjD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgPNGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+XSBbLS1uYW1lIDzQuNC80Y8+XSBbLS1kZXB0aCA80LPQu9GD0LHQuNC90LA+XSAtLXVybCA8dXJsPiAtLXBhdGggPNC/0YPRgtGMPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgwqslc8K7IgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQutC70L7QvdC40YDQvtCy0LDRgtGMIMKrJXPCuyDQsiDQv9C+0LTQvNC+0LTRg9C70Ywg0L/QviDQv9GD0YLQuCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGE0LDQudC7IMKrJXPCuyIKLQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCDRhNCw0LnQuyAlcyIKLQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQutCw0YLQsNC70L7QsyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcyNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9GMINC/0L4g0L/Rg9GC0Lggwqslc8K7INC90LUg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNC9IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzMwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzY4CiBtc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgItCS0L7Qt9C80L7QttC90L4sINCy0Ysg0YXQvtGC0LXQu9C4INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDCq3VwZGF0ZSAtLWluaXTCuz8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NTYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgdW5tZXJnZWQgc3VibW9kdWxlICVzIgogbXNnc3RyICLQn9GA0L7Qv9GD0YHQuiDQvdC1INGB0LvQuNGC0L7Qs9C+INC/0L7QtNC80L7QtNGD0LvRjyAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GB0Log0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC60LvQvtC90LjRgNC+0LLQsNGC0Ywgwqslc8K7LiDQl9Cw0L/Qu9Cw0L3QuNGA0L7QstCw0L3QsCDQv9C+0LLRgtC+0YDQvdCw0Y8g0L/QvtC/0YvRgtC60LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LrQu9C+0L3QuNGA0L7QstCw0YLRjCDCqyVzwrsg0YHQviDQstGC0L7RgNC+0Lkg0L/QvtC/0YvRgtC60LgsINC+0YLQvNC10L3QsCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MgogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLQv9GD0YLRjCDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc3CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCiBtc2dzdHIgItC/0YPRgtGMINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUsINCyINC/0YDQtdC00LXQu9Cw0YUg0LPRgNCw0L3QuNGGINC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MQogbXNnaWQgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG9yIG5vbmUiCiBtc2dzdHIgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0INC40LvQuCBub25lIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg1CiBtc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgogbXNnc3RyICLQodC+0LfQtNCw0YLRjCDRh9Cw0YHRgtC40YfQvdGL0Lkg0LrQu9C+0L0sINC+0LPRgNCw0L3QuNGH0LXQvdC90YvQuSDRg9C60LDQt9Cw0L3QvdGL0Lwg0LrQvtC70LjRh9C10YHRgtCy0L7QvCDRgNC10LTQsNC60YbQuNC5IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg4CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAi0L/QsNGA0LDQu9C70LXQu9GM0L3Ri9C1INC30LDQtNCw0YfQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MAogbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKIG1zZ3N0ciAi0LTQvtC70LbQtdC9INC70Lgg0LjQt9C90LDRh9Cw0LvRjNC90YvQuSDQv9GA0L7RhtC10YHRgSDQutC70L7QvdC40YDQvtCy0LDQvdC40Y8g0YHQu9C10LTQvtCy0LDRgtGMINGA0LXQutC+0LzQtdC90LTQsNGG0LjQuCDQviDRh9Cw0YHRgtC40YfQvdC+0YHRgtC4IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkxCiBtc2dpZCAiZG9uJ3QgcHJpbnQgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAi0LLRiyDQstGL0LLQvtC00LjRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LrQu9C+0L3QuNGA0L7QstCw0L3QuNGPIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk4CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PNC/0YPRgtGMPl0gWzzQv9GD0YLRjD7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwOAogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAi0L/Qu9C+0YXQvtC1INC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC/0LDRgNCw0LzQtdGC0YDQsCB1cGRhdGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCiAidGhlIHN1cGVycHJvamVjdCBpcyBub3Qgb24gYW55IGJyYW5jaCIKIG1zZ3N0ciAi0JLQtdGC0LrQsCDQv9C+0LTQvNC+0LTRg9C70Y8gKCVzKSDQvdCw0YHRgtGA0L7QtdC90LAg0L3QsCDQvdCw0YHQu9C10LTQvtCy0LDQvdC40LUg0LLQtdGC0LrQuCDQuNC3INGA0L7QtNC40YLQtdC70YzRgdC60L7Qs9C+INC/0YDQvtC10LrRgtCwLCDQvdC+INC+0L0g0L3QtSDQvdCw0YXQvtC00LjRgtGB0Y8g0L3QuCDQvdCwINC+0LTQvdC+0Lkg0LLQtdGC0LrQtSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDAKLW1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdWJjb21tYW5kIgotbXNnc3RyICLQv9C+0LTQutC+0LzQsNC90LTQsCBzdWJtb2R1bGUtLWhlbHBlciDQtNC+0LvQttC90LAg0LLRi9C30YvQstCw0YLRjNGB0Y8g0YEg0YPQutCw0LfQsNC90LjQtdC8INC/0L7QtNC60L7QvNCw0L3QtNGLIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjMKK21zZ2lkICJyZWN1cnNlIGludG8gc3VibW9kdWxlcyIKK21zZ3N0ciAi0YDQtdC60YPRgNGB0LjQstC90L4g0L/QviDQv9C+0LTQvNC+0LTRg9C70Y/QvCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTY5Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs80L/Rg9GC0Yw+4oCmXSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgorbXNnc3RyICIlcyDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQv9Cw0YDQsNC80LXRgtGAIC0tc3VwZXItcHJlZml4IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L/QvtC00LrQvtC80LDQvdC00L7QuSBzdWJtb2R1bGUtLWhlbHBlciIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo3CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKIG1zZ2lkICJnaXQgc3ltYm9saWMtcmVmIFs8b3B0aW9ucz5dIDxuYW1lPiBbPHJlZj5dIgogbXNnc3RyICJnaXQgc3ltYm9saWMtcmVmIFs80L7Qv9GG0LjQuD5dIDzQuNC80Y8+IFs80YHRgdGL0LvQutCwPl0iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo5CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDzQuNC80Y8+IgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQwCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCiBtc2dpZCAic3VwcHJlc3MgZXJyb3IgbWVzc2FnZSBmb3Igbm9uLXN5bWJvbGljIChkZXRhY2hlZCkgcmVmcyIKIG1zZ3N0ciAi0L3QtSDQstGL0LLQvtC00LjRgtGMINGB0L7QvtCx0YnQtdC90LjRjyDQvtCxINC+0YjQuNCx0LrQsNGFINC00LvRjyDQvdC10YHQuNC80LLQvtC70YzQvdGL0YUgKNC+0YLRgdC+0LXQtNC40L3QtdC90L3Ri9GFKSDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKIG1zZ2lkICJkZWxldGUgc3ltYm9saWMgcmVmIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDRgdC40LzQstC+0LvRjNC90YvQtSDRgdGB0YvQu9C60LgiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgItGD0LrQvtGA0L7Rh9C10L3QvdGL0Lkg0LLRi9Cy0L7QtCDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQ0IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MwogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAi0L/RgNC40YfQuNC90LAiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQ0IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MwogbXNnaWQgInJlYXNvbiBvZiB0aGUgdXBkYXRlIgogbXNnc3RyICLQv9GA0LjRh9C40L3QsCDQvtCx0L3QvtCy0LvQtdC90LjRjyIKIAotIzogYnVpbHRpbi90YWcuYzoyMworIzogYnVpbHRpbi90YWcuYzoyNAogbXNnaWQgIiIKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gIgogIls8aGVhZD5dIgogbXNnc3RyICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPNC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGALdC60LvRjtGH0LA+XSBbLWZdIFstbSA80YHQvtC+0LHRidC10L3QuNC1PiB8IC1GIDzRhNCw0LnQuz5dIDzQuNC80Y8t0LzQtdGC0LrQuD4gWzzRgNC10LTQsNC60YbQuNGPPl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjQKKyM6IGJ1aWx0aW4vdGFnLmM6MjUKIG1zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IHRhZyAtZCA80LjQvNGPLdC80LXRgtC60Lg+4oCmIgogCi0jOiBidWlsdGluL3RhZy5jOjI1CisjOiBidWlsdGluL3RhZy5jOjI2CiBtc2dpZCAiIgotImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLXBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKKyJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tcG9pbnRzLWF0IDxvYmplY3Q+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8cGF0dGVybj4uLi5dIgotbXNnc3RyICJnaXQgdGFnIC1sIFstbls80LrQvtC70LjRh9C10YHRgtCy0L4+XV0gWy0tY29udGFpbnMgPNC60L7QvNC80LjRgj5dIFstLXBvaW50cy1hdCA80L7QsdGK0LXQutGCPl1cblx0XHRbLS1mb3JtYXQ9PNGE0L7RgNC80LDRgj5dIFstLVtuby1dbWVyZ2VkIFs80LrQvtC80LzQuNGCPl1dIFs80YjQsNCx0LvQvtC9PuKApl0iCittc2dzdHIgImdpdCB0YWcgLWwgWy1uWzzQutC+0LvQuNGH0LXRgdGC0LLQvj5dXSBbLS1jb250YWlucyA80LrQvtC80LzQuNGCPl0gWy0tbm8tY29udGFpbnMgPNC60L7QvNC80LjRgj5dIFstLXBvaW50cy1hdCA80L7QsdGK0LXQutGCPl1cblx0XHRbLS1mb3JtYXQ9PNGE0L7RgNC80LDRgj5dIFstLVtuby1dbWVyZ2VkIFs80LrQvtC80LzQuNGCPl1dIFs80YjQsNCx0LvQvtC9PuKApl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjcKLW1zZ2lkICJnaXQgdGFnIC12IDx0YWduYW1lPi4uLiIKLW1zZ3N0ciAiZ2l0IHRhZyAtdiA80LjQvNGPLdC80LXRgtC60Lg+4oCmIgorIzogYnVpbHRpbi90YWcuYzoyOAorbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCittc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTzRhNC+0YDQvNCw0YI+XSA80LjQvNGPLdC80LXRgtC60Lg+4oCmIgogCi0jOiBidWlsdGluL3RhZy5jOjgxCi0jLCBjLWZvcm1hdAotbXNnaWQgInRhZyBuYW1lIHRvbyBsb25nOiAlLipzLi4uIgotbXNnc3RyICLRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90L7QtSDQuNC80Y8g0LzQtdGC0LrQuDogJS4qc+KApiIKLQotIzogYnVpbHRpbi90YWcuYzo4NgorIzogYnVpbHRpbi90YWcuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICLQvNC10YLQutCwICDCqyVzwrsg0L3QtSDQvdCw0LnQtNC10L3QsC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAxCisjOiBidWlsdGluL3RhZy5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgItCc0LXRgtC60LAgwqslc8K7INGD0LTQsNC70LXQvdCwICjQsdGL0LvQsCAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMTcKKyM6IGJ1aWx0aW4vdGFnLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTExOTAzLDcgKzEyNjYyLDcgQEAKICJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLlxuIgogbXNnc3RyICJcbtCS0LLQtdC00LjRgtC1INGB0L7QvtCx0YnQtdC90LjQtSDQtNC70Y8g0LzQtdGC0LrQuDpcbiAgJXNcbtCh0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBIMKrJWPCuyDQsdGD0LTRg9GCINC/0YDQvtC40LPQvdC+0YDQuNGA0L7QstCw0L3Riy5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMjEKKyM6IGJ1aWx0aW4vdGFnLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTExOTEyLDQ1OSArMTI2NzEsNDgzIEBACiAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUga2VwdDsgeW91IG1heSByZW1vdmUgdGhlbSB5b3Vyc2VsZiBpZiB5b3Ugd2FudCB0by5cbiIKIG1zZ3N0ciAiXG7QktCy0LXQtNC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LTQu9GPINC80LXRgtC60Lg6XG4gICVzXG7QodGC0YDQvtC60LgsINC90LDRh9C40L3QsNGO0YnQuNC10YHRjyDRgSDCqyVjwrsg0LHRg9C00YPRgiDQvtGB0YLQsNCy0LvQtdC90Ys7INCy0Ysg0LzQvtC20LXRgtC1INGD0LTQsNC70LjRgtGMINC40YUg0LLRgNGD0YfQvdGD0Y4sINC10YHQu9C4INGF0L7RgtC40YLQtS5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxOTkKKyM6IGJ1aWx0aW4vdGFnLmM6MjExCiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LTQv9C40YHQsNGC0Ywg0LzQtdGC0LrRgyIKIAotIzogYnVpbHRpbi90YWcuYzoyMDEKKyM6IGJ1aWx0aW4vdGFnLmM6MjEzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YTQsNC50Lsg0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi90YWcuYzoyMjYKKyM6IGJ1aWx0aW4vdGFnLmM6MjM3CiBtc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGC0LjQvyDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi90YWcuYzoyMzkKLW1zZ2lkICJ0YWcgaGVhZGVyIHRvbyBiaWcuIgotbXNnc3RyICLQt9Cw0LPQvtC70L7QstC+0Log0LzQtdGC0LrQuCDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuS4iCi0KLSM6IGJ1aWx0aW4vdGFnLmM6Mjc1CisjOiBidWlsdGluL3RhZy5jOjI4MwogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKIG1zZ3N0ciAi0L3QtdGCINC+0L/QuNGB0LDQvdC40Y8g0LzQtdGC0LrQuD8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjgxCisjOiBidWlsdGluL3RhZy5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICLQodC+0L7QsdGJ0LXQvdC40LUg0LzQtdGC0LrQuCDQsdGL0LvQviDQvtGB0YLQsNCy0LvQtdC90L4g0LIgJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozMzkKKyM6IGJ1aWx0aW4vdGFnLmM6Mzk4CiBtc2dpZCAibGlzdCB0YWcgbmFtZXMiCiBtc2dzdHIgItGB0L/QuNGB0L7QuiDQvdCw0LfQstCw0L3QuNC5INC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzQxCisjOiBidWlsdGluL3RhZy5jOjQwMAogbXNnaWQgInByaW50IDxuPiBsaW5lcyBvZiBlYWNoIHRhZyBtZXNzYWdlIgogbXNnc3RyICLQv9C10YfQsNGC0LDRgtGMIDxuPiDRgdGC0YDQvtC6INC+0L/QuNGB0LDQvdC40Y8g0L7RgiDQutCw0LbQtNC+0Lkg0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi90YWcuYzozNDMKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCiBtc2dpZCAiZGVsZXRlIHRhZ3MiCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzQ0CisjOiBidWlsdGluL3RhZy5jOjQwMwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0Ywg0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi90YWcuYzozNDYKKyM6IGJ1aWx0aW4vdGFnLmM6NDA1CiBtc2dpZCAiVGFnIGNyZWF0aW9uIG9wdGlvbnMiCiBtc2dzdHIgItCd0LDRgdGC0YDQvtC50LrQuCDRgdC+0LfQtNCw0L3QuNGPINC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzQ4CisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAi0LTQu9GPINCw0L3QvdC+0YLQuNGA0L7QstCw0L3QvdC+0Lkg0LzQtdGC0LrQuCDQvdGD0LbQvdC+INGB0L7QvtCx0YnQtdC90LjQtSIKIAotIzogYnVpbHRpbi90YWcuYzozNTAKKyM6IGJ1aWx0aW4vdGFnLmM6NDA5CiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgItC+0L/QuNGB0LDQvdC40LUg0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi90YWcuYzozNTIKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCiBtc2dpZCAiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIKIG1zZ3N0ciAi0LDQvdC90L7RgtC40YDQvtCy0LDQvdC90LDRjyDQuCDQv9C+0LTQv9C40YHQsNC90L3QsNGPINGBINC/0L7QvNC+0YnRjNGOIEdQRyDQvNC10YLQutCwIgogCi0jOiBidWlsdGluL3RhZy5jOjM1NgorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LTRgNGD0LPQvtC5INC60LvRjtGHINC00LvRjyDQv9C+0LTQv9C40YHQsNC90LjRjyDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL3RhZy5jOjM1NworIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICLQt9Cw0LzQtdC90LAg0LzQtdGC0LrQuCwg0LXRgdC70Lgg0L7QvdCwINGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL3RhZy5jOjM1OCBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE3IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQogbXNnaWQgImNyZWF0ZSBhIHJlZmxvZyIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0LbRg9GA0L3QsNC7INGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi90YWcuYzozNjAKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAiVGFnIGxpc3Rpbmcgb3B0aW9ucyIKIG1zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4INCy0YvQstC+0LTQsCDRgdC/0LjRgdC60LAg0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi90YWcuYzozNjEKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQvNC10YLQvtC6INC/0L4g0YHRgtC+0LvQsdGG0LDQvCIKIAotIzogYnVpbHRpbi90YWcuYzozNjIgYnVpbHRpbi90YWcuYzozNjMKKyM6IGJ1aWx0aW4vdGFnLmM6NDIxIGJ1aWx0aW4vdGFnLmM6NDIzCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQvNC10YLQvtC6LCDQutC+0YLQvtGA0YvQtSDRgdC+0LTQtdGA0LbQsNGCINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi90YWcuYzozNjQKKyM6IGJ1aWx0aW4vdGFnLmM6NDIyIGJ1aWx0aW4vdGFnLmM6NDI0Cittc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQvNC10YLQvtC6LCDQutC+0YLQvtGA0YvQtSDQvdC1INGB0L7QtNC10YDQttCw0YIg0LrQvtC80LzQuNGCIgorCisjOiBidWlsdGluL3RhZy5jOjQyNQogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INGB0LvQuNGC0YvRhSDQvNC10YLQvtC6IgogCi0jOiBidWlsdGluL3RhZy5jOjM2NQorIzogYnVpbHRpbi90YWcuYzo0MjYKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtCDRgtC+0LvRjNC60L4g0L3QtSDRgdC70LjRgtGL0YUg0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi90YWcuYzozNzAKKyM6IGJ1aWx0aW4vdGFnLmM6NDMxCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INC80LXRgtC+0LosINC+0L/RgNC10LTQtdC70LXQvdC90L7Qs9C+INC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OQorIzogYnVpbHRpbi90YWcuYzo0NzAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4g0LggLW4g0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE5Ci1tc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAi0L7Qv9GG0LjRjiAtbiDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LLQvNC10YHRgtC1INGBIC1sLiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDkyCittc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgItC+0L/RhtC40Y4gLW4g0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INCyINGA0LXQttC40LzQtSDRgdC/0LjRgdC60LAiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDIxCi1tc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICLQvtC/0YbQuNGOIC0tY29udGFpbnMg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INCy0LzQtdGB0YLQtSDRgSAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5NAorbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgItC+0L/RhtC40Y4gLS1jb250YWlucyDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LIg0YDQtdC20LjQvNC1INGB0L/QuNGB0LrQsCIKIAotIzogYnVpbHRpbi90YWcuYzo0MjMKLW1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICLQvtC/0YbQuNGOIC0tcG9pbnRzLWF0INC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQstC80LXRgdGC0LUg0YEgLWwuIgorIzogYnVpbHRpbi90YWcuYzo0OTYKK21zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICLQvtC/0YbQuNGOIC0tbm8tY29udGFpbnMg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INCyINGA0LXQttC40LzQtSDRgdC/0LjRgdC60LAiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDI1Ci1tc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbiBhcmUgb25seSBhbGxvd2VkIHdpdGggLWwiCi1tc2dzdHIgItC+0L/RhtC40LggLS1tZXJnZWQg0LggLS1uby1tZXJnZWQg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INCy0LzQtdGB0YLQtSDRgSAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5OAorbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICLQvtC/0YbQuNGOIC0tcG9pbnRzLWF0INC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQsiDRgNC10LbQuNC80LUg0YHQv9C40YHQutCwIgogCi0jOiBidWlsdGluL3RhZy5jOjQzMworIzogYnVpbHRpbi90YWcuYzo1MDAKK21zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAi0L7Qv9GG0LjQuCAtLW1lcmdlZCDQuCAtLW5vLW1lcmdlZCDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LIg0YDQtdC20LjQvNC1INGB0L/QuNGB0LrQsCIKKworIzogYnVpbHRpbi90YWcuYzo1MTEKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIi1GINC4IC1tINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi90YWcuYzo0NTIKKyM6IGJ1aWx0aW4vdGFnLmM6NTMwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICLQv9C10YDQtdC00LDQvdC+INGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0L/QsNGA0LDQvNC10YLRgNC+0LIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDU4CisjOiBidWlsdGluL3RhZy5jOjUzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAiwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC+0L/Rg9GB0YLQuNC80YvQvCDQuNC80LXQvdC10Lwg0LzQtdGC0LrQuC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDYzCisjOiBidWlsdGluL3RhZy5jOjU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi0LzQtdGC0LrQsCDCqyVzwrsg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL3RhZy5jOjQ5MQorIzogYnVpbHRpbi90YWcuYzo1NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLQnNC10YLQutCwIMKrJXPCuyDQvtCx0L3QvtCy0LvQtdC90LAgKNCx0YvQu9CwICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkzCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDk0CiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgItCg0LDRgdC/0LDQutC+0LLQutCwINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGE0LDQudC7ICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGE0LDQudC7ICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTEgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0LrQsNGC0LDQu9C+0LMgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwIG10aW1lINCyIMKrJXPCuyAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICLQuNC90YTQvtGA0LzQsNGG0LjRjyDRgdGC0LDRgtC40YHRgtC40LrQuCDQutCw0YLQsNC70L7Qs9CwINC90LUg0LjQt9C80LXQvdGP0LXRgtGB0Y8g0L/QvtGB0LvQtSDQtNC+0LHQsNCy0LvQtdC90LjRjyDQvdC+0LLQvtCz0L4g0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTYzCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGRpcmVjdG9yeSIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0YHRgtCw0YLQuNGB0YLQuNC60Lgg0LrQsNGC0LDQu9C+0LPQsCDQvdC1INC40LfQvNC10L3Rj9C10YLRgdGPINC/0L7RgdC70LUg0LTQvtCx0LDQstC70LXQvdC40Y8g0L3QvtCy0L7Qs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTcxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3NgogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINGB0YLQsNGC0LjRgdGC0LjQutC4INC60LDRgtCw0LvQvtCz0LAg0LjQt9C80LXQvdGP0LXRgtGB0Y8g0L/QvtGB0LvQtSDQtNC+0LHQsNCy0LvQtdC90LjRjyDQvdC+0LLQvtCz0L4g0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg3CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0YHRgtCw0YLQuNGB0YLQuNC60Lgg0LrQsNGC0LDQu9C+0LPQsCDQuNC30LzQtdC90Y/QtdGC0YHRjyDQv9C+0YHQu9C1INC00L7QsdCw0LLQu9C10L3QuNGPINC90L7QstC+0LPQviDRhNCw0LnQu9CwINCy0L3Rg9GC0YDQuCDQv9C+0LTQutCw0YLQsNC70L7Qs9CwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTgKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINGB0YLQsNGC0LjRgdGC0LjQutC4INC60LDRgtCw0LvQvtCz0LAg0L3QtSDQuNC30LzQtdC90Y/QtdGC0YHRjyDQv9C+0YHQu9C1INGD0LTQsNC70LXQvdC40Y8g0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjExCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINGB0YLQsNGC0LjRgdGC0LjQutC4INC60LDRgtCw0LvQvtCz0LAg0L3QtSDQuNC30LzQtdC90Y/QtdGC0YHRjyDQv9C+0YHQu9C1INGD0LTQsNC70LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE4CiBtc2dpZCAiIE9LIgogbXNnc3RyICIgT0siCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2OQogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPNC+0L/RhtC40Lg+XSBbLS1dIFs80YTQsNC50Ls+4oCmXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI0CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICLQv9GA0L7QtNC+0LvQttC40YLRjCDQvtCx0L3QvtCy0LvQtdC90LjQtSwg0LTQsNC20LUg0LXRgdC70Lgg0LjQvdC00LXQutGBINGC0YDQtdCx0YPQtdGCINC+0LHQvdC+0LLQu9C10L3QuNGPIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAi0L7QsdC90L7QstC70LXQvdC40LU6INC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQv9C+0LTQvNC+0LTRg9C70LgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMAogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICLQvdC1INC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQvdC+0LLRi9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0YTQsNC50LvQsNC8INC30LDQvNC10L3Rj9GC0Ywg0LrQsNGC0LDQu9C+0LPQuCDQuCDQvdCw0L7QsdC+0YDQvtGCIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICLQt9Cw0LzQtdGH0LDRgtGMINGE0LDQudC70Ysg0L7RgtGB0YPRgtGB0YLQstGD0Y7RidC40LUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgItC+0LHQvdC+0LLQuNGC0YwsINC00LDQttC1INC10YHQu9C4INCyINC40L3QtNC10LrRgdC1INC40LzQtdGO0YLRgdGPINC90LUg0YHQu9C40YLRi9C1INC30LDQv9C40YHQuCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0YLQsNGC0YPRgdC1INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICLQutCw0LogLS1yZWZyZXNoLCDQvdC+INC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQvdCw0YHRgtGA0L7QudC60YMgYXNzdW1lLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPNGA0LXQttC40Lwg0LTQvtGB0YLRg9C/0LA+LDzQvtCx0YrQtdC60YI+LDzQv9GD0YLRjD4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDRg9C60LDQt9Cw0L3QvdGD0Y4g0LfQsNC/0LjRgdGMINCyINC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU3CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICLQv9C+0LzQtdGC0LjRgtGMINGE0LDQudC70Ysg0LrQsNC6IMKr0L3QtSDQuNC30LzQtdC90LXQvdC90YvQtcK7IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjAKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgItGD0LHRgNCw0YLRjCDQv9C+0LzQtdGC0LrRgyBhc3N1bWVkLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYzCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAi0L/QvtC80LXRgtC40YLRjCDRhNCw0LnQu9GLINC60LDQuiDCq9GC0L7Qu9GM0LrQviDQsiDQuNC90LTQtdC60YHQtcK7IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAi0YPQsdGA0LDRgtGMINC/0L7QvNC10YLQutGDIHNraXAtd29ya3RyZWUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OQogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICLRgtC+0LvRjNC60L4g0LTQvtCx0LDQstC40YLRjCDQsiDQuNC90LTQtdC60YE7INC90LUg0LTQvtCx0LDQstC70Y/RgtGMINGB0L7QtNC10YDQttC40LzQvtC1INCyINCx0LDQt9GDINC00LDQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzEKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDRg9C60LDQt9Cw0L3QvdGL0LUg0L/Rg9GC0LgsINC00LDQttC1INC10YHQu9C4INC+0L3QuCDRgdGD0YnQtdGB0YLQstGD0Y7RgiDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgItGBINC+0L/RhtC40LXQuSAtLXN0ZGluOiDRgdGC0YDQvtC60Lgg0L3QsCDQstCy0L7QtNC1INC+0YLQtNC10LvRj9GO0YLRgdGPINCd0KPQm9CV0JLQq9CcINCx0LDQudGC0L7QvCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINGB0L/QuNGB0L7QuiDQvtCx0L3QvtCy0LvRj9C10LzRi9GFINC/0YPRgtC10Lkg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc5CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LfQsNC/0LjRgdC4INC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAg0LIg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODMKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgItC30LDQvdC+0LLQviDQt9Cw0L/QvtC70L3QuNGC0Ywg0LjQvdC00LXQutGBICMyINC4ICMzINC00LvRjyDRg9C60LDQt9Cw0L3QvdGL0YUg0L/Rg9GC0LXQuSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg3CiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgItC+0LHQvdC+0LLQuNGC0Ywg0YLQvtC70YzQutC+INC30LDQv9C40YHQuCwg0LrQvtGC0L7RgNGL0LUg0L7RgtC70LjRh9Cw0Y7RgtGB0Y8g0L7RgiBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0YTQsNC50LvRiywg0L7RgtGB0YPRgtGB0YLQstGD0Y7RidC40LUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk0CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQstGL0L/QvtC70L3Rj9C10LzRi9C1INC00LXQudGB0YLQstC40Y8g0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIo0LTQu9GPINC80LDRiNC40L3QvdC+0Lkg0L7QsdGA0LDQsdC+0YLQutC4KSDQt9Cw0LHRi9GC0Ywg0YHQvtGF0YDQsNC90LXQvdC90YvQtSDQvdC10YDQsNC30YDQtdGI0LXQvdC90YvQtSDQutC+0L3RhNC70LjQutGC0YsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDQuNC90LTQtdC60YEg0LIg0YPQutCw0LfQsNC90L3QvtC8INGE0L7RgNC80LDRgtC1IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAyCiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQuNC70Lgg0LfQsNC/0YDQtdGC0LjRgtGMINGA0LDQt9C00LXQu9GM0L3Ri9C5INC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjC/QvtGC0LrQu9GO0YfQuNGC0Ywg0LrRjdGIINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA2CiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgItC/0YDQvtCy0LXRgNC40YLRjCwg0YfRgtC+INGE0LDQudC70L7QstCw0Y8g0YHQuNGB0YLQtdC80LAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC60Y3RiCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINC60Y3RiCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyINCx0LXQtyDQv9GA0L7QstC10YDQutC4INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTA4Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZW5hYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAICBjb3JlLnNwbGl0SW5kZXgg0YPRgdGC0LDQvdC+0LLQu9C10L0g0LIgZmFsc2U7INGD0LTQsNC70LjRgtC1INC40LvQuCDQuNC30LzQtdC90LjRgtC1INC10LPQviwg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0LLQutC70Y7Rh9C40YLRjCDRgNCw0LfQtNC10LvQtdC90L3Ri9C5INC40L3QtNC10LrRgSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTE3Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJkaXNhYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAICBjb3JlLnNwbGl0SW5kZXgg0YPRgdGC0LDQvdC+0LLQu9C10L0g0LIgdHJ1ZTsg0YPQtNCw0LvQuNGC0LUg0LjQu9C4INC40LfQvNC10L3QuNGC0LUg0LXQs9C+LCDQtdGB0LvQuCDQstGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQvtGC0LrQu9GO0YfQuNGC0Ywg0YDQsNC30LTQtdC70LXQvdC90YvQuSDQuNC90LTQtdC60YEiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyOAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCBjb3JlLnVudHJhY2tlZENhY2hlINGD0YHRgtCw0L3QvtCy0LvQtdC9IHRydWU7INGD0LTQsNC70LjRgtC1INC40LvQuCDQuNC30LzQtdC90LjRgtC1INC10LPQviwg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0LrRjdGIINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMyCiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICLQmtGN0Ygg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDQvtGC0LrQu9GO0YfQtdC9IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0MAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IgogIiB0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCBjb3JlLnVudHJhY2tlZENhY2hlINGD0YHRgtCw0L3QvtCy0LvQtdC9IGZhbHNlOyDRg9C00LDQu9C40YLQtSDQuNC70Lgg0LjQt9C80LXQvdC40YLQtSDQtdCz0L4sINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INCy0LrQu9GO0YfQuNGC0Ywg0LrRjdGIINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICLQmtGN0Ygg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDQstC60LvRjtGH0LXQvSDQtNC70Y8gwqslc8K7IgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzo5CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dIC1kIDxyZWZuYW1lPiBbPG9sZC12YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgWzzQvtC/0YbQuNC4Pl0gLWQgPNC40LzRjy3RgdGB0YvQu9C60Lg+IFs80YHRgtCw0YDQvtC1LdC30L3QsNGH0LXQvdC40LU+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gICAgPHJlZm5hbWU+IDxuZXctdmFsPiBbPG9sZC12YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgWzzQvtC/0YbQuNC4Pl0gICAgPNC40LzRjy3RgdGB0YvQu9C60Lg+IDzQvdC+0LLQvtC1LdC30L3QsNGH0LXQvdC40LU+IFs80YHRgtCw0YDQvtC1LdC30L3QsNGH0LXQvdC40LU+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPNC+0L/RhtC40Lg+XSAtLXN0ZGluIFstel0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY0CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINGB0YHRi9C70LrRgyIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY1CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAi0L7QsdC90L7QstC40YLRjCA80LjQvNGPLdGB0YHRi9C70LrQuD4g0LAg0L3QtSDRgtC+LCDQvdCwINGH0YLQviDQvtC90LAg0YPQutCw0LfRi9Cy0LDQtdGCIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCiBtc2dzdHIgItCy0LLQvtC0INC+0YLQtNC10LvRkdC90L3Ri9C5INCd0KPQm9CV0JLQq9Cc0Jgg0YHQuNC80LLQvtC70LDQvNC4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjcKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OAogbXNnaWQgInJlYWQgdXBkYXRlcyBmcm9tIHN0ZGluIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0L7QsdC90L7QstC70LXQvdC40Y8g0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo2CisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjcKIG1zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTQKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTUKIG1zZ2lkICJ1cGRhdGUgdGhlIGluZm8gZmlsZXMgZnJvbSBzY3JhdGNoIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0LXRgNCy0LXRgNCw0YUg0YEg0L3Rg9C70Y8iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE3CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxOAogbXNnaWQgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPNC60L7QvNC80LjRgj7igKYiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjcyCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MwogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQvtC00LXRgNC20LjQvNC+0LUg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjczIGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM1CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NCBidWlsdGluL3ZlcmlmeS10YWcuYzozOAogbXNnaWQgInByaW50IHJhdyBncGcgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDRgdGL0YDQvtC5INCy0YvQstC+0LQg0YHRgtCw0YLRg9GB0LAg0L7RgiBncGciCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU1CiBtc2dpZCAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDzQv9Cw0LrQtdGCPuKApiIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY0CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjUKIG1zZ2lkICJ2ZXJib3NlIgogbXNnc3RyICLQsdGL0YLRjCDQvNC90L7Qs9C+0YHQu9C+0LLQvdC10LUiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NgorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY3CiBtc2dpZCAic2hvdyBzdGF0aXN0aWNzIG9ubHkiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGC0L7Qu9GM0LrQviDRgdGC0LDRgtC40YHRgtC40LrRgyIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTcKLW1zZ2lkICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIDx0YWc+Li4uIgotbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIDzQvNC10YLQutCwPuKApiIKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE5Cittc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgorbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD080YTQvtGA0LzQsNGCPl0gPNC80LXRgtC60LA+4oCmIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKIG1zZ2lkICJwcmludCB0YWcgY29udGVudHMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0L7QtNC10YDQttC40LzQvtC1INC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGFkZCBbPG9wdGlvbnM+XSA8cGF0aD4gWzxicmFuY2g+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGFkZCBbPNC+0L/RhtC40Lg+XSA80L/Rg9GC0Yw+IFs80LLQtdGC0LrQsD5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNwogbXNnaWQgImdpdCB3b3JrdHJlZSBsaXN0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgbGlzdCBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKIG1zZ2lkICJnaXQgd29ya3RyZWUgbG9jayBbPG9wdGlvbnM+XSA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBsb2NrIFs80L7Qv9GG0LjQuD5dIDzQv9GD0YLRjD4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgWzzQvtC/0YbQuNC4Pl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwCiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPNC/0YPRgtGMPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBub3QgYSB2YWxpZCBkaXJlY3RvcnkiCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0YDQsNCx0L7Rh9C40YUg0LrQsNGC0LDQu9C+0LPQvtCyLyVzOiDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQsNGC0LDQu9C+0LPQvtC8IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INGA0LDQsdC+0YfQuNGFINC60LDRgtCw0LvQvtCz0L7Qsi8lczog0YTQsNC50LsgZ2l0ZGlyINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSDRgNCw0LHQvtGH0LjRhSDQutCw0YLQsNC70L7Qs9C+0LIvJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGE0LDQudC7IGdpdGRpciAoJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0YDQsNCx0L7Rh9C40YUg0LrQsNGC0LDQu9C+0LPQvtCyLyVzOiDQvdC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSDRhNCw0LnQuyBnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgcG9pbnRzIHRvIG5vbi1leGlzdGVudCBsb2NhdGlvbiIKIG1zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSDRgNCw0LHQvtGH0LjRhSDQutCw0YLQsNC70L7Qs9C+0LIvJXM6IGdpdGRpciDRg9C60LDQt9GL0LLQsNC10YIg0L3QsCDQvdC10YHRg9GJ0LXRgdGC0LLRg9GO0YnQtdC1INGA0LDRgdC/0L7Qu9C+0LbQtdC90LjQtSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyOQorbXNnaWQgInJlcG9ydCBwcnVuZWQgd29ya2luZyB0cmVlcyIKK21zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGD0LTQsNC70LXQvdC90YvRhSDRgNCw0LHQvtGH0LjRhSDQutCw0YLQsNC70L7Qs9C+0LIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzEKK21zZ2lkICJleHBpcmUgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPiIKK21zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0YDQsNCx0L7Rh9C40LUg0LrQsNGC0LDQu9C+0LPQuCDRgdGC0LDRgNC10LUg0YfQtdC8IDzQtNCw0YLQsC3QvtC60L7QvdGH0LDQvdC40Y8+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIsKrJXPCuyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCkBAIC0xMjM3NCw5NiArMTMxNTcsMTAwIEBACiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQutCw0YLQsNC70L7QsyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKIG1zZ3N0ciAi0J/QvtC00LPQvtGC0L7QstC60LAgJXMgKNC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAICVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyMworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCA80LLQtdGC0LrQsD4g0LTQsNC20LUg0LXRgdC70Lgg0L7QvdCwINGD0LbQtSDQsNC60YLQuNCy0L3QsCDQsiDQtNGA0YPQs9C+0Lwg0YDQsNCx0L7Rh9C10YHQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0L3QvtCy0YPRjiDQstC10YLQutGDIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMxCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQuNC70Lgg0L/QtdGA0LXQudGC0Lgg0L3QsCDQstC10YLQutGDIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMzCiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC90LDQv9C+0LvQvdC40YLRjCDQvdC+0LLRi9C5INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzM3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzM0Cittc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCittc2dzdHIgItC00LXRgNC20LDRgtGMINGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC30LDQsdC70L7QutC40YDQvtCy0LDQvdC90YvQvCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjM0MgogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiDQuCAtLWRldGFjaCDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3OQogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAi0L/RgNC40YfQuNC90LAg0LHQu9C+0LrQuNGA0L7QstC60LgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODIgYnVpbHRpbi93b3JrdHJlZS5jOjUxNQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MSBidWlsdGluL3dvcmt0cmVlLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgogbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINGA0LDQsdC+0YfQuNC8INC60LDRgtCw0LvQvtCz0L7QvCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NCBidWlsdGluL3dvcmt0cmVlLmM6NTE3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzIGJ1aWx0aW4vd29ya3RyZWUuYzo1MjYKIG1zZ2lkICJUaGUgbWFpbiB3b3JraW5nIHRyZWUgY2Fubm90IGJlIGxvY2tlZCBvciB1bmxvY2tlZCIKIG1zZ3N0ciAi0JPQu9Cw0LLQvdGL0Lkg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMg0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINC30LDQsdC70L7QutC40YDQvtCy0LDQvSDQuNC70Lgg0YDQsNC30LHQu9C+0LrQuNGA0L7QstCw0L0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAiwqslc8K7INGD0LbQtSDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L0sINC/0YDQuNGH0LjQvdCwOiAlcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgogbXNnc3RyICLCqyVzwrsg0YPQttC1INC30LDQsdC70L7QutC40YDQvtCy0LDQvSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBsb2NrZWQiCiBtc2dzdHIgIsKrJXPCuyDQvdC1INC30LDQsdC70L7QutC40YDQvtCy0LDQvSIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTMKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE0CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD080L/RgNC10YTQuNC60YE+L10iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI2CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNwogbXNnaWQgIjxwcmVmaXg+LyIKIG1zZ3N0ciAiPNC/0YDQtdGE0LjQutGBPi8iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0L7QsdGK0LXQutGCINC00LXRgNC10LLQsCDQtNC70Y8g0L/QvtC00LrQsNGC0LDQu9C+0LPQsCDRgSA80L/RgNC10YTQuNC60YE+IgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzEKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YLQvtC70YzQutC+INC/0YDQuCDQvtGC0LvQsNC00LrQtSIKIAotIzogdXBsb2FkLXBhY2suYzoyMgorIzogdXBsb2FkLXBhY2suYzoyMwogbXNnaWQgImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8ZGlyPiIKIG1zZ3N0ciAiZ2l0IHVwbG9hZC1wYWNrIFs80L7Qv9GG0LjQuD5dIDzQutCw0YLQsNC70L7Qsz4iCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAyOAorIzogdXBsb2FkLXBhY2suYzoxMDQxCiBtc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgogbXNnc3RyICLQstGL0YXQvtC0INC/0L7RgdC70LUg0L7QsdC80LXQvdCwINC+0LTQvdC40Lwg0LfQsNC/0YDQvtGB0L7QvC/QvtGC0LLQtdGC0L7QvCIKIAotIzogdXBsb2FkLXBhY2suYzoxMDMwCisjOiB1cGxvYWQtcGFjay5jOjEwNDMKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCiBtc2dzdHIgItCy0YvRhdC+0LTQuNGC0Ywg0YHRgNCw0LfRgyDQv9C+0YHQu9C1INC90LDRh9Cw0LvRjNC90L7Qs9C+INC+0LHRitGP0LLQu9C10L3QuNGPINGB0L/QuNGB0LrQsCDRgdGB0YvQu9C+0LoiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAzMgorIzogdXBsb2FkLXBhY2suYzoxMDQ1CiBtc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgogbXNnc3RyICLQvdC1INC/0YDQvtCy0LXRgNGP0YLRjCA80LrQsNGC0LDQu9C+0LM+Ly5naXQvINC10YHQu9C4IDzQutCw0YLQsNC70L7Qsz4g0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCBHaXQiCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAzNAorIzogdXBsb2FkLXBhY2suYzoxMDQ3CiBtc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCiBtc2dzdHIgItC/0YDQtdGA0LLQsNGC0Ywg0L/QtdGA0LXQtNCw0YfRgyDQv9C+0YHQu9C1IDzQutC+0Ls+INGB0LXQutGD0L3QtCDQv9GA0L7RgdGC0L7RjyIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKQEAgLTEyNDcyLDI4ICsxMzI1OSw0NiBAQAogIlx0Y2htb2QgMDcwMCAlcyIKIG1zZ3N0ciAi0J/RgNCw0LLQsCDQtNC+0YHRgtGD0L/QsCDQuiDQstCw0YjQtdC80YMg0LrQsNGC0LDQu9C+0LPRgyDRgdC+0LrQtdGC0L7QsiDRgdC70LjRiNC60L7QvCDRgdCy0L7QsdC+0LTQvdGLOyDQtNGA0YPQs9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCDQvNC+0LPRg9C4INGH0LjRgtCw0YLRjCDQstCw0YjQuCDQt9Cw0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9C1INC/0LDRgNC+0LvQuCDQtNC+0YHRgtGD0L/QsC4g0J7QsdC00YPQvNCw0LnRgtC1INC30LDQv9GD0YHQuiDQutC+0LzQsNC90LTRizpcblxuXHRjaG1vZCAwNzAwICVzIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MgogbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCiBtc2dzdHIgItCy0YvQstC+0LQg0L7RgtC70LDQtNC+0YfQvdGL0YUg0YHQvtC+0LHRidC10L3QuNC5INC90LAgc3RkZXJyIgogCi0jOiBnaXQuYzoxNAorIzogZ2l0LmM6MTUKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKICJ0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCBvciBjb25jZXB0LiIKIG1zZ3N0ciAiwqtnaXQgaGVscCAt0LDCuyDQuCDCq2dpdCBoZWxwIC1nwrsg0LLRi9Cy0L7QtNC40YIg0YHQv9C40YHQvtC6INC00L7RgdGC0YPQv9C90YvRhSDQv9C+0LTQutC+0LzQsNC90LQg0LhcbtC90LXQutC+0YLQvtGA0YvQtSDRgNGD0LrQvtCy0L7QtNGB0YLQstCwINC/0L4g0YLQtdC80LDQvC4g0JfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGhlbHAgPNC60L7QvNCw0L3QtNCwPsK7INC40LvQuFxuwqtnaXQgaGVscCA80YLQtdGA0LzQuNC9PsK7LCDRh9GC0L7QsdGLINC/0YDQvtGH0LXRgdGC0Ywg0L4g0LrQvtC90LrRgNC10YLQvdGL0YUg0L/QvtC00LrQvtC80LDQvdC00LUg0LjQu9C4INGC0LXQvNC1LiIKIAotIzogaHR0cC5jOjM0MgorIzogaHR0cC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgorbXNnc3RyICLQvtGC0YDQuNGG0LDRgtC10LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1IGh0dHAucG9zdGJ1ZmZlcjsg0LjRgdC/0L7Qu9GM0LfRg9GOINGB0YLQsNC90LTQsNGA0YLQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSAlZCIKKworIzogaHR0cC5jOjM1OAogbXNnaWQgIkRlbGVnYXRpb24gY29udHJvbCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMjIuMCIKIG1zZ3N0ciAi0JTQtdC70LXQs9Cw0YbQuNGPINC/0YDQvtCy0LXRgNC60Lgg0L/QvtC70L3QvtC80L7Rh9C40Lkg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINGBIGNVUkwgPCA3LjIyLjAiCiAKLSM6IGh0dHAuYzozNTEKKyM6IGh0dHAuYzozNjcKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIlB1YmxpYyBrZXkgcGlubmluZyDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8g0YEgY1VSTCA8IDcuNDQuMCIKIAorIzogaHR0cC5jOjE3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVuYWJsZSB0byB1cGRhdGUgdXJsIGJhc2UgZnJvbSByZWRpcmVjdGlvbjpcbiIKKyIgIGFza2VkIGZvcjogJXNcbiIKKyIgICByZWRpcmVjdDogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQsdCw0LfQvtCy0YvQuSB1cmwg0LjQtyDQv9C10YDQtdCw0LTRgNC10YHQsNGG0LjQuDpcbiAg0LfQsNC/0YDQvtGI0LXQvdC+OiAlc1xuICAg0L/QtdGA0LXQsNC00YDQtdGB0L7QstCw0L3QvjogJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZGlyZWN0aW5nIHRvICVzIgorbXNnc3RyICLQv9C10YDQtdCw0LTRgNC10YHQsNGG0LjRjyDQvdCwICVzIgorCiAjOiBjb21tb24tY21kcy5oOjkKIG1zZ2lkICJzdGFydCBhIHdvcmtpbmcgYXJlYSAoc2VlIGFsc286IGdpdCBoZWxwIHR1dG9yaWFsKSIKLW1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0YDQsNCx0L7Rh9GD0Y4g0L7QsdC70LDRgdGC0YwgKNGB0LzQvtGC0YDQuNGC0LUg0YLQsNC60LbQtTogZ2l0IGhlbHAgdHV0b3JpYWwpIgorbXNnc3RyICLRgdC+0LfQtNCw0L3QuNC1INGA0LDQsdC+0YfQtdC5INC+0LHQu9Cw0YHRgtC4ICjRgdC80L7RgtGA0LjRgtC1INGC0LDQutC20LU6IGdpdCBoZWxwIHR1dG9yaWFsKSIKIAogIzogY29tbW9uLWNtZHMuaDoxMAogbXNnaWQgIndvcmsgb24gdGhlIGN1cnJlbnQgY2hhbmdlIChzZWUgYWxzbzogZ2l0IGhlbHAgZXZlcnlkYXkpIgpAQCAtMTI1MTcsMTEgKzEzMzIyLDExIEBACiAKICM6IGNvbW1vbi1jbWRzLmg6MTgKIG1zZ2lkICJVc2UgYmluYXJ5IHNlYXJjaCB0byBmaW5kIHRoZSBjb21taXQgdGhhdCBpbnRyb2R1Y2VkIGEgYnVnIgotbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9C+0LjRgdC6INC40LfQvNC10L3QtdC90LjRjywg0LrQvtGC0L7RgNC+0LUg0LLQvdC+0YHQuNGCINC+0YjQuNCx0LrRgyIKK21zZ3N0ciAi0JLRi9C/0L7Qu9C90LjRgtGMINC00LLQvtC40YfQvdGL0Lkg0L/QvtC40YHQuiDQuNC30LzQtdC90LXQvdC40Y8sINC60L7RgtC+0YDQvtC1INCy0L3QvtGB0LjRgiDQvtGI0LjQsdC60YMiCiAKICM6IGNvbW1vbi1jbWRzLmg6MTkKIG1zZ2lkICJMaXN0LCBjcmVhdGUsIG9yIGRlbGV0ZSBicmFuY2hlcyIKLW1zZ3N0ciAi0JLRi9Cy0L7QtCDRgdC/0LjRgdC60LAsINGB0L7Qt9C00LDQvdC40LUg0LjQu9C4INGD0LTQsNC70LXQvdC40LUg0LLQtdGC0L7QuiIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDRgdC/0LjRgdC60LAg0LLQtdGC0L7QuiwgINC40YUg0YHQvtC30LTQsNC90LjQtSDQuNC70Lgg0YPQtNCw0LvQtdC90LjQtSIKIAogIzogY29tbW9uLWNtZHMuaDoyMAogbXNnaWQgIlN3aXRjaCBicmFuY2hlcyBvciByZXN0b3JlIHdvcmtpbmcgdHJlZSBmaWxlcyIKQEAgLTEyNTkzLDcgKzEzMzk4LDcgQEAKIAogIzogY29tbW9uLWNtZHMuaDozNwogbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgotbXNnc3RyICLQodC+0LfQtNCw0L3QuNC1LCDQstGL0LLQvtC0INGB0L/QuNGB0LrQsCwg0YPQtNCw0LvQtdC90LjQtSDQuNC70Lgg0L/RgNC+0LLQtdGA0LrQsCDQvNC10YLQutC4LCDQv9C+0LTQv9C40YHQsNC90L3QvtC5INGBINC/0L7QvNC+0YnRjNGOIEdQRyIKK21zZ3N0ciAi0KHQvtC30LTQsNC90LjQtSDQvNC10YLQutC4LCDQstGL0LLQvtC0INGB0L/QuNGB0LrQsCwg0YPQtNCw0LvQtdC90LjQtSDQuNC70Lgg0L/RgNC+0LLQtdGA0LrQsCDQvNC10YLQutC4LCDQv9C+0LTQv9C40YHQsNC90L3QvtC5INGBINC/0L7QvNC+0YnRjNGOIEdQRyIKIAogIzogcGFyc2Utb3B0aW9ucy5oOjE0NQogbXNnaWQgImV4cGlyeS1kYXRlIgpAQCAtMTI4MzksNjEgKzEzNjQ0LDU0IEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgItCf0YDQvtGB0YLQvtC1INGB0LvQuNGP0L3QuNC1INC90LUg0YPQtNCw0LvQvtGB0YwsINC/0L7Qv9GL0YLQutCwINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDRgdC70LjRj9C90LjRjy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYKKyM6IGdpdC1yZWJhc2Uuc2g6NTgKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCiAiVG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcmViYXNpbmcsIHJ1biBcImdpdCByZWJhc2UgLS1hYm9ydFwiLiIKIG1zZ3N0ciAi0JrQvtCz0LTQsCDQstGLINGA0LDQt9GA0LXRiNC40YLQtSDRjdGC0L7RgiDQutC+0L3RhNC70LjQutGCLCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuy5cbtCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQvtGCINC/0LDRgtGHLCDRgtC+INC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCByZWJhc2UgLS1za2lwwrsuXG7Qp9GC0L7QsdGLINC/0LXRgNC10LnRgtC4INC90LAg0L7RgNC40LPQuNC90LDQu9GM0L3Rg9GOINCy0LXRgtC60YMg0Lgg0L7RgdGC0LDQvdC+0LLQuNGC0Ywg0L/QtdGA0LXQvNC10YnQtdC90LjQtSwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLWFib3J0wrsuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE1NiBnaXQtcmViYXNlLnNoOjM5NQorIzogZ2l0LXJlYmFzZS5zaDoxNTggZ2l0LXJlYmFzZS5zaDozOTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC50YLQuCDQvdCw0LfQsNC0INC90LAgJGhlYWRfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjcKKyM6IGdpdC1yZWJhc2Uuc2g6MTY5CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgotbXNnc3RyICLQn9GA0LjQvNC10L3QtdC90L4g0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QtSDQv9GA0Y/RgtCw0L3RjNC1LiIKK21zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdGLINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcwCisjOiBnaXQtcmViYXNlLnNoOjE3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCAkc3Rhc2hfc2hhMSIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNzEKLW1zZ2lkICIiCi0iQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKLSJZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLlxuIgotIllvdSBjYW4gcnVuIFwiZ2l0IHN0YXNoIHBvcFwiIG9yIFwiZ2l0IHN0YXNoIGRyb3BcIiBhdCBhbnkgdGltZS5cbiIKLW1zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdC40LUg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7Qs9C+INC/0YDRj9GC0LDQvdGM0Y8g0LLRi9C30LLQsNC70L4g0LrQvtC90YTQu9C40LrRgtGLLlxu0JLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPINGB0L/RgNGP0YLQsNC90Ysg0Lgg0LIg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4Llxu0JLRiyDQvNC+0LbQtdGC0LUg0LLRi9C/0L7Qu9C90LjRgtGMIMKrZ2l0IHN0YXNoIHBvcMK7INC40LvQuCDCq2dpdCBzdGFzaCBkcm9wwrsg0LIg0LvRjtCx0L7QuSDQvNC+0LzQtdC90YIuXG4iCi0KLSM6IGdpdC1yZWJhc2Uuc2g6MjEwCisjOiBnaXQtcmViYXNlLnNoOjIxMgogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICLQn9C10YDQtdGF0LLQsNGC0YfQuNC6IHByZS1yZWJhc2Ug0L7RgtC60LDQt9Cw0Lsg0LIg0L/QtdGA0LXQvNC10YnQtdC90LjQuC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjE1CisjOiBnaXQtcmViYXNlLnNoOjIxNwogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAi0J/QvtGF0L7QttC1LCBnaXQtYW0g0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjy4g0J/QtdGA0LXQvNC10YnQtdC90LjQtSDQvdC10LLQvtC30LzQvtC20L3Qvi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU2CisjOiBnaXQtcmViYXNlLnNoOjM1OAogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgItCd0LXRgiDQv9C10YDQtdC80LXRidC10L3QuNGPINCyINC/0YDQvtGG0LXRgdGB0LU/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2NworIzogZ2l0LXJlYmFzZS5zaDozNjkKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgItCU0LXQudGB0YLQstC40LUgLS1lZGl0LXRvZG8g0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINGC0L7Qu9GM0LrQviDQv9GA0Lgg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+0Lwg0L/QtdGA0LXQvNC10YnQtdC90LjQuC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc0CisjOiBnaXQtcmViYXNlLnNoOjM3NgogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMIEhFQUQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc3CisjOiBnaXQtcmViYXNlLnNoOjM3OQogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKIG1zZ3N0ciAi0JLRiyDQtNC+0LvQttC90Ysg0L7RgtGA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINCy0YHQtVxu0LrQvtC90YTQu9C40LrRgtGLINGB0LvQuNGP0L3QuNGPLCDQsCDQv9C+0YLQvtC8INC/0L7QvNC10YLQuNGC0YxcbtC40YUg0LrQsNC6INGA0LDQt9GA0LXRiNC10L3QvdGL0LUg0YEg0L/QvtC80L7RidGM0Y4gZ2l0IGFkZCIKIAotIzogZ2l0LXJlYmFzZS5zaDo0MTQKKyM6IGdpdC1yZWJhc2Uuc2g6NDE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xMjkwNiwxMDEgKzEzNzA0LDEwMSBAQAogInZhbHVhYmxlIHRoZXJlLiIKIG1zZ3N0ciAi0J/QvtGF0L7QttC1LCDQutCw0YLQsNC70L7QsyAkc3RhdGVfZGlyX2Jhc2Ug0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCINC4INGPINC/0YDQtdC00L/QvtC70LDQs9Cw0Y4sINGH0YLQviDQstGLINCyINC/0YDQvtGG0LXRgdGB0LUg0LTRgNGD0LPQvtCz0L4g0L/QtdGA0LXQvNC10YnQtdC90LjRjy4gINCV0YHQu9C4INGN0YLQviDRgtCw0LosINC/0L7Qv9GA0L7QsdGD0LnRgtC1XG5cdCRjbWRfbGl2ZV9yZWJhc2VcbtCV0YHQu9C4INC90LXRglxuXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxu0Lgg0LfQsNC/0YPRgdGC0LjRgtC1INC80LXQvdGPINGB0L3QvtCy0LAuICDQryDQvtGB0YLQsNC90LDQstC70LjQstCw0Y7RgdGMLCDRh9GC0L7QsdGLINCy0Ysg0L3QtSDQv9C+0YLQtdGA0Y/Qu9C4INGH0YLQvi3RgtC+INCy0LDQttC90L7QtS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY1CisjOiBnaXQtcmViYXNlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAi0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdCw0Y8g0LLRi9GI0LXRgdGC0L7Rj9GJ0LDRjyDQstC10YLQutCwICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ4OQorIzogZ2l0LXJlYmFzZS5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiDQuNC80LXQtdGC0YHRjyDQsdC+0LvRjNGI0LUg0L7QtNC90L7QuSDQsdCw0LfRiyDRgdC70LjRj9C90LjRjyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTIgZ2l0LXJlYmFzZS5zaDo0OTYKKyM6IGdpdC1yZWJhc2Uuc2g6NDk3IGdpdC1yZWJhc2Uuc2g6NTAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiDQvdC10YIg0LHQsNC30Ysg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTAxCisjOiBnaXQtcmViYXNlLnNoOjUwNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgItCd0LUg0YPQutCw0LfRi9Cy0LDQtdGCINC90LAg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSDQutC+0LzQvNC40YI6ICRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI0CisjOiBnaXQtcmViYXNlLnNoOjUyOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwOiDQvdC10YIg0YLQsNC60L7QuSDQstC10YLQutC4OiAkYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTU3Ci1tc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QtSDQv9GA0Y/RgtCw0L3RjNC1IgotCiAjOiBnaXQtcmViYXNlLnNoOjU2MgorbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0YHQv9GA0Y/RgtCw0YLRjCDQuNC30LzQtdC90LXQvdC40Y8iCisKKyM6IGdpdC1yZWJhc2Uuc2g6NTY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INGB0L/RgNGP0YLQsNC90Ys6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTY2CisjOiBnaXQtcmViYXNlLnNoOjU3MQogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgItCh0LTQtdC70LDQudGC0LUg0LrQvtC80LzQuNGCINC40LvQuCDRgdC/0YDRj9GH0YzRgtC1INC40YUuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4NgorIzogZ2l0LXJlYmFzZS5zaDo1OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAi0KLQtdC60YPRidCw0Y8g0LLQtdGC0LrQsCAkYnJhbmNoX25hbWUg0YPQttC1INGB0LLQtdC20LDRjy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTkwCisjOiBnaXQtcmViYXNlLnNoOjU5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICLQotC10LrRg9GJ0LDRjyDQstC10YLQutCwICRicmFuY2hfbmFtZSDRg9C20LUg0YHQstC10LbQsNGPLCDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtC1INC/0LXRgNC10LzQtdGJ0LXQvdC40LUuIgogCi0jOiBnaXQtcmViYXNlLnNoOjYwMQorIzogZ2l0LXJlYmFzZS5zaDo2MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICLQmNC30LzQtdC90LXQvdC40Y8g0L7RgiAkbWIg0LTQviAkb250bzoiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjEwCisjOiBnaXQtcmViYXNlLnNoOjYxNQogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKIG1zZ3N0ciAi0KHQvdCw0YfQsNC70LAg0L/QtdGA0LXQvNCw0YLRi9Cy0LDQtdC8INGD0LrQsNC30LDRgtC10LvRjCDRgtC10LrRg9GJ0LXQs9C+INC60L7QvNC80LjRgtCwLCDRh9GC0L7QsdGLINC/0YDQuNC80LXQvdC40YLRjCDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0L/QvtCy0LXRgNGFINC90LXQs9C+4oCmIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyMAorIzogZ2l0LXJlYmFzZS5zaDo2MjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAi0J/QtdGA0LXQvNC+0YLQsNC90LAg0LLQv9C10YDQtdC0ICRicmFuY2hfbmFtZSDQtNC+ICRvbnRvX25hbWUuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAKKyM6IGdpdC1zdGFzaC5zaDo1NAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiZ2l0IHN0YXNoINC+0YfQuNGB0YLQutCwINGBINC/0LDRgNCw0LzQtdGC0YDQsNC80Lgg0L3QtSDRgNC10LDQu9C40LfQvtCy0LDQvdCwIgogCi0jOiBnaXQtc3Rhc2guc2g6NzMKKyM6IGdpdC1zdGFzaC5zaDo5NQogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgogbXNnc3RyICLQoyDQstCw0YEg0LXRidC1INC90LXRgiDQvdCw0YfQsNC70YzQvdC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogZ2l0LXN0YXNoLnNoOjg4CisjOiBnaXQtc3Rhc2guc2g6MTEwCiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMINGC0LXQutGD0YnQtdC1INGB0L7RgdGC0L7Rj9C90LjQtSDQuNC90LTQtdC60YHQsCIKIAotIzogZ2l0LXN0YXNoLnNoOjEwMworIzogZ2l0LXN0YXNoLnNoOjEyNQogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGB0L7RhdGA0LDQvdC40YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyIKIAotIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CisjOiBnaXQtc3Rhc2guc2g6MTQ1IGdpdC1zdGFzaC5zaDoxNTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0YXRgNCw0L3QuNGC0Ywg0YLQtdC60YPRidC10LUg0YHQvtGB0YLQvtGP0L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MAorIzogZ2l0LXN0YXNoLnNoOjE2MgogbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCiBtc2dzdHIgItCY0LfQvNC10L3QtdC90LjRjyDQvdC1INCy0YvQsdGA0LDQvdGLIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQzCisjOiBnaXQtc3Rhc2guc2g6MTY1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSAo0L3QtSDQtNC+0LvQttC90L4g0YHQu9GD0YfQsNGC0YzRgdGPKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NgorIzogZ2l0LXN0YXNoLnNoOjE3OAogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCIKIAotIzogZ2l0LXN0YXNoLnNoOjE4OAorIzogZ2l0LXN0YXNoLnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0YwgJHJlZl9zdGFzaCDRgSDQv9C+0LzQvtGJ0YzRjiAkd19jb21taXQiCkBAIC0xMzAxNCwxMzIgKzEzODEyLDEzNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIzOAorIzogZ2l0LXN0YXNoLnNoOjI2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCiAiICAgICAgIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgogbXNnc3RyICLQvtGI0LjQsdC60LA6INC90LXQuNC30LLQtdGB0YLQvdCw0Y8g0L7Qv9GG0LjRjyDQtNC70Y8gwqtzdGFzaCBzYXZlwrs6ICRvcHRpb25cbiAgICAgICAg0JTQu9GPINC/0YDQtdC00L7RgdGC0LDQstC70LXQvdC40Y8g0YHQvtC+0LHRidC10L3QuNGPLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IGdpdCBzdGFzaCBzYXZlIC0tIMKrJG9wdGlvbsK7IgogCi0jOiBnaXQtc3Rhc2guc2g6MjUxCisjOiBnaXQtc3Rhc2guc2g6MjgxCiBtc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCAtLXBhdGNoINC4IC0taW5jbHVkZS11bnRyYWNrZWQg0LjQu9C4IC0tYWxsINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogZ2l0LXN0YXNoLnNoOjI1OQorIzogZ2l0LXN0YXNoLnNoOjI4OQogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKIG1zZ3N0ciAi0J3QtdGCINC70L7QutCw0LvRjNC90YvRhSDQuNC30LzQtdC90LXQvdC40Lkg0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYzCisjOiBnaXQtc3Rhc2guc2g6Mjk0CiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0Ywg0YHQv9GA0Y/RgtCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY3CisjOiBnaXQtc3Rhc2guc2g6Mjk4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDRgtC10LrRg9GJ0LjQuSDRgdGC0LDRgtGD0YEiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKKyM6IGdpdC1zdGFzaC5zaDoyOTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAkc3Rhc2hfbXNnIgogbXNnc3RyICLQoNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQuCDRgdC+0YHRgtC+0Y/QvdC40LUg0LjQvdC00LXQutGB0LAg0YHQvtGF0YDQsNC90LXQvdGLICRzdGFzaF9tc2ciCiAKLSM6IGdpdC1zdGFzaC5zaDoyODUKKyM6IGdpdC1zdGFzaC5zaDozMjYKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMworIzogZ2l0LXN0YXNoLnNoOjQ3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCw0Y8g0L7Qv9GG0LjRjzogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNgotbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKKyM6IGdpdC1zdGFzaC5zaDo0ODcKK21zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKIG1zZ3N0ciAi0J3QtSDQvdCw0LnQtNC10L3RiyDRgdC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIzCisjOiBnaXQtc3Rhc2guc2g6NDk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICLQn9C10YDQtdC00LDQvdC+INGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YDQtdC00LDQutGG0LjQuTogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQzOAorIzogZ2l0LXN0YXNoLnNoOjUwOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Ug0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+0Lkg0YHRgdGL0LvQutC+0LkiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjYKKyM6IGdpdC1zdGFzaC5zaDo1MzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIsKrJGFyZ3PCuyDQvdC1INC/0L7RhdC+0LbQtSDQvdCwINC60L7QvNC80LjRgiDRgdC+INGB0L/RgNGP0YLQsNC90L3Ri9C80Lgg0LjQt9C80LXQvdC10L3QuNGP0LzQuCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NworIzogZ2l0LXN0YXNoLnNoOjU0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIsKrJGFyZ3PCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0YHRgdGL0LvQutC+0Lkg0L3QsCDRgdC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODUKKyM6IGdpdC1zdGFzaC5zaDo1NTYKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC40L3QtNC10LrRgSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjU2MAogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINC/0YDQuNC80LXQvdC40YLRjCDRgdC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LLQviDQstGA0LXQvNGPINCy0YvQv9C+0LvQvdC10L3QuNGPINGB0LvQuNGP0L3QuNGPIgogCi0jOiBnaXQtc3Rhc2guc2g6NDk3CisjOiBnaXQtc3Rhc2guc2g6NTY4CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAi0JrQvtC90YTQu9C40LrRgtGLINCyINC40L3QtNC10LrRgdC1LiDQn9C+0L/RgNC+0LHRg9C50YLQtSDQsdC10LcgLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0OTkKKyM6IGdpdC1zdGFzaC5zaDo1NzAKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDQtNC10YDQtdCy0L4g0LjQvdC00LXQutGB0LAiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDgKLW1zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKLW1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLQvtGB0YHRgtCw0L3QvtCy0LjRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINC40Lcg0YHQv9GP0YLQsNC90L3Ri9GFINGE0LDQudC70L7QsiIKKyM6IGdpdC1zdGFzaC5zaDo1NzkKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLQvtGB0YHRgtCw0L3QvtCy0LjRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINC40Lcg0YHQv9GA0Y/RgtCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBnaXQtc3Rhc2guc2g6NTMzCisjOiBnaXQtc3Rhc2guc2g6NjA0CiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0LHRgNCw0YLRjCDQuNC3INC40L3QtNC10LrRgdCwINC40LfQvNC10L3QtdC90L3Ri9C1INGE0LDQudC70YsiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NDgKKyM6IGdpdC1zdGFzaC5zaDo2MTkKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCiBtc2dzdHIgItCY0L3QtNC10LrRgSDQvdC1INCx0YvQuyDQuNC30LLQu9C10YfRkdC9INC40Lcg0YHQv9GA0Y/RgtCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5LiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgotbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorIzogZ2l0LXN0YXNoLnNoOjYzMworbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgogbXNnc3RyICLQodC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGF0YDQsNC90LXQvdGLLCDQvdCwINGB0LvRg9GH0LDQuSDQtdGB0LvQuCDQvtC90Lgg0YHQvdC+0LLQsCDQstCw0Lwg0L/QvtC90LDQtNC+0LHRj9GC0YHRjy4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzEKKyM6IGdpdC1zdGFzaC5zaDo2NDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgItCe0YLQsdGA0L7RiNC10L3QviAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MgorIzogZ2l0LXN0YXNoLnNoOjY0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiDQndC1INGD0LTQsNC70L7RgdGMINC+0YLQsdGA0L7RgdC40YLRjCDQt9Cw0L/QuNGB0Ywg0LjQtyDRgdC/0YDRj9GC0LDQvdC90YvRhSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODAKKyM6IGdpdC1zdGFzaC5zaDo2NTEKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgItCd0LUg0YPQutCw0LfQsNC90L4g0LjQvNGPINCy0LXRgtC60LgiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NTIKKyM6IGdpdC1zdGFzaC5zaDo3MzAKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIijQp9GC0L7QsdGLINCy0L7RgdGB0YLQsNC90L7QstC40YLRjCDQuNGFLCDQvdCw0LHQtdGA0LjRgtC1IMKrZ2l0IHN0YXNoIGFwcGx5wrspIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjE4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxODEKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0J7RgtC90L7RgdC40YLQtdC70YzQvdGL0Lkg0L/Rg9GC0Ywg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INC90LDRhdC+0LTRj9GB0Ywg0L3QsCDQstC10YDRiNC40L3QtSDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTk0CisjOiBnaXQtc3VibW9kdWxlLnNoOjE5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiVVJMINGA0LXQv9C+0LfQuNGC0L7RgNC40Y86IMKrJHJlcG/CuyDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0LDQsdGB0L7Qu9GO0YLQvdGL0Lwg0LjQu9C4INC90LDRh9C40L3QsNGC0YzRgdGPINGBIC4vfC4uLyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiwqskc21fcGF0aMK7INGD0LbQtSDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQsiDQuNC90LTQtdC60YHQtSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjEzCisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgorbXNnc3RyICLCqyRzbV9wYXRowrsg0YPQttC1INGB0L7QtNC10YDQttC40YLRgdGPINCyINC40L3QtNC10LrRgdC1INC4INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQv9C+0LTQvNC+0LTRg9C70LXQvCIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTMxNDcsMjIgKzEzOTUwLDIyIEBACiAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgaXQuIgogbXNnc3RyICLQodC70LXQtNGD0Y7RidC40LUg0L/Rg9GC0Lgg0LjQs9C90L7RgNC40YDRg9GO0YLRgdGPINC+0LTQvdC40Lwg0LjQtyDQstCw0YjQuNGFINGE0LDQudC70L7QsiAuZ2l0aWdub3JlOlxuJHNtX3BhdGhcbtCY0YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiAtZiwg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0LXQs9C+INC00L7QsdCw0LLQuNGC0YwuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzMworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICLQlNC+0LHQsNCy0LvRj9GOINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INC40Lcgwqskc21fcGF0aMK7INCyINC40L3QtNC10LrRgSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiwqskc21fcGF0aMK7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC10LwgZ2l0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0MworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAi0JrQsNGC0LDQu9C+0LMgZ2l0INC00LvRjyDCqyRzbV9uYW1lwrsg0L3QsNC50LTQtdC9INC70L7QutCw0LvRjNC90L4g0L3QsCDQstC90LXRiNC90LjRhSDRgNC10L/QvtC30LjRgtC+0YDQuNGP0YU6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKQEAgLTEzMTcxLDE4NCArMTM5NzQsMTg0IEBACiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgb3B0aW9uLiIKIG1zZ3N0ciAi0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0L/QvtCy0YLQvtGA0L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LvQvtC60LDQu9GM0L3Ri9C5INC60LDRgtCw0LvQvtCzIGdpdCDQstC80LXRgdGC0L4g0L/QvtCy0YLQvtGA0L3QvtCz0L4g0LrQu9C+0L3QuNGA0L7QstCw0L3QuNGPINC40LdcbiAgJHJlYWxyZXBvXG7RgtC+INC40YHQv9C+0LvRjNC30YPQudGC0LUg0L/QsNGA0LDQvNC10YLRgCDCqy0tZm9yY2XCuy4g0JXRgdC70Lgg0LbQtSDQu9C+0LrQsNC70YzQvdGL0Lkg0LrQsNGC0LDQu9C+0LMgZ2l0INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQvdGD0LbQvdGL0Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8INC40LvQuCDQtdGB0LvQuCDQstGLINC90LUg0YPQstC10YDQtdC90YssINGH0YLQviDRjdGC0L4g0LfQvdCw0YfQuNGCLCDRgtC+INGD0LrQsNC20LjRgtC1INC00YDRg9Cz0L7QtSDQuNC80Y8g0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDRgSDQv9C+0LzQvtGJ0YzRjiDQv9Cw0YDQsNC80LXRgtGA0LAgwqstLW5hbWXCuy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjUxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAi0JLQvtGB0YHRgtCw0L3QvtCy0LvQtdC90LjQtSDQu9C+0LrQsNC70YzQvdC+0LPQviDQutCw0YLQsNC70L7Qs9CwIGdpdCDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPIMKrJHNtX25hbWXCuy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjYzCisjOiBnaXQtc3VibW9kdWxlLnNoOjI2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0YHQvtGB0YLQvtGP0L3QuNC1INGDINC/0L7QtNC80L7QtNGD0LvRjyDCqyRzbV9wYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY4CisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0LTQvtCx0LDQstC70LXQvdC40Y8g0L/QvtC00LzQvtC00YPQu9GPIMKrJHNtX3BhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0Ywg0L/QvtC00LzQvtC00YPQu9GMIMKrJHNtX3BhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMjQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzQyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0JfQsNGF0L7QtNC40Lwg0LIgwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgItCe0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdC80YHRjyDQvdCwIMKrJGRpc3BsYXlwYXRowrs7INGB0YbQtdC90LDRgNC40Lkg0LLQtdGA0L3Rg9C7INC90LUg0L3Rg9C70LXQstC+0Lkg0LrQvtC0INCy0L7Qt9Cy0YDQsNGC0LAuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQxNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MzMKICMsIHNoLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjIGFuZCAtLWFsbCBhcmUgaW5jb21wYXRpYmxlIgotbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRhtC40Y4g0L/Rg9GC0Lgg0LggLS1hbGwg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCittc2dzdHIgItGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgCDQv9GD0YLQuCDQuCAtLWFsbCDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrLS1hbGzCuywg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0LTQtdC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMINCy0YHQtSDQv9C+0LTQvNC+0LTRg9C70LgiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQwCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeVxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKIG1zZ3N0ciAi0KDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMg0L/QvtC00LzQvtC00YPQu9GPIMKrJGRpc3BsYXlwYXRowrsg0YPQttC1INGB0L7QtNC10YDQttC40YIg0LrQsNGC0LDQu9C+0LMgLmdpdFxuKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtybSAtcmbCuywg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0LXQs9C+INGB0L4g0LLRgdC10Lkg0LjRgdGC0L7RgNC40LXQuSDQuNC30LzQtdC90LXQvdC40LkpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ0OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvIgogIiBkaXNjYXJkIHRoZW0iCiBtc2dzdHIgItCg0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC/0L7QtNC80L7QtNGD0LvRjyDCqyRkaXNwbGF5cGF0aMK7INGB0L7QtNC10YDQttC40YIg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjzsg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCqy1mwrssINGH0YLQvtCx0Ysg0L7RgtC80LXQvdC40YLRjCDQuNGFIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQntGH0LjRidC10L0g0LrQsNGC0LDQu9C+0LMgwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMg0L/QvtC00LzQvtC00YPQu9GPIMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU1CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC/0YPRgdGC0L7QuSDQutCw0YLQsNC70L7QsyDQv9C+0LTQvNC+0LTRg9C70Y8gwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70YwgwqskbmFtZcK7ICgkdXJsKSDQsdGL0Lsg0YHQvdGP0YIg0YEg0YDQtdCz0LjRgdGC0YDQsNGG0LjQuCDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjE3CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INGC0LXQutGD0YnRg9GOINGA0LXQtNCw0LrRhtC40Y4g0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjY0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINC40LfQstC70LXRh9C10L3QuNC1INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRzbV9wYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjMyCisjOiBnaXQtc3VibW9kdWxlLnNoOjY1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICIKICInJHNtX3BhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YLQtdC60YPRidGD0Y4g0YDQtdC00LDQutGG0LjRjiAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0g0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJHNtX3BhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINC40LfQstC70LXRh9C10L3QuNC1INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY1NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCiAiRGlyZWN0IGZldGNoaW5nIG9mIHRoYXQgY29tbWl0IGZhaWxlZC4iCiBtc2dzdHIgItCf0L7Qu9GD0YfQtdC9INC/0L4g0L/Rg9GC0Lgg0L/QvtC00LzQvtC00YPQu9GPIMKrJGRpc3BsYXlwYXRowrssINC90L4g0L3QtSDRgdC+0LTQtdGA0LbQuNGCICRzaGExLiDQodCx0L7QuSDQv9GA0Lgg0L/RgNGP0LzQvtC8INC/0L7Qu9GD0YfQtdC90LjQuCDQutC+0LzQvNC40YLQsC4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjYzCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDRgdC+0YHRgtC+0Y/QvdC40LUgwqskc2hhMcK7INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Ywg0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7OiDQt9Cw0LHRgNCw0L3QviDRgdC+0YHRgtC+0Y/QvdC40LUgwqskc2hhMcK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMIMKrJHNoYTHCuyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgItCf0L7QtNC80L7QtNGD0LvRjCDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrs6INC/0LXRgNC10LzQtdGJ0LXQvSDQvdCw0LQgwqskc2hhMcK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDRgdC70LjRj9C90LjQtSDRgSDCqyRzaGExwrsg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njc1CisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Ywg0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7OiDRgdC70LjRgtC+INGBIMKrJHNoYTHCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCh0LHQvtC5INCy0YvQv9C+0LvQvdC10L3QuNGPIMKrJGNvbW1hbmQgJHNoYTHCuyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9GMINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuzogwqskY29tbWFuZCAkc2hhMcK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjcxMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINGA0LXQutGD0YDRgdC40LLQvdC+INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NDEKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICLQntC/0YbQuNGOIC0tY2FjaGVkINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBINC+0L/RhtC40LXQuSAtLWZpbGVzIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDRgNC10LbQuNC8ICRtb2RfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICDQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAkZGlzcGxheV9uYW1lINC90LUg0YHQvtC00LXRgNC20LjRgiDQutC+0LzQvNC40YIgJHNoYTFfc3JjIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg5NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICDQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAkZGlzcGxheV9uYW1lINC90LUg0YHQvtC00LXRgNC20LjRgiDQutC+0LzQvNC40YIgJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiICDQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAkZGlzcGxheV9uYW1lINC90LUg0YHQvtC00LXRgNC20LjRgiDQutC+0LzQvNC40YLRiyAkc2hhMV9zcmMg0LggJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNDUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA2NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDRgNC10LrRg9GA0YHQuNCy0L3QviDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0Lggwqskc21fcGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0KHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y8gdXJsINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8gwqskZGlzcGxheXBhdGjCuyIKQEAgLTEzNDY1LDI2ICsxNDI2OCwyMiBAQAogbXNnc3RyWzJdICLQrdGC0L4g0L7QsdGK0LXQtNC40L3QtdC90LjQtSAkY291bnQg0LrQvtC80LzQuNGC0L7QsiIKIG1zZ3N0clszXSAi0K3RgtC+INC+0LHRitC10LTQuNC90LXQvdC40LUgJGNvdW50INC60L7QvNC80LjRgtC+0LIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0MAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMICRmaXh1cF9tc2ciCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ0CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCiBtc2dzdHIgItCt0YLQviDQvtCx0YrQtdC00LjQvdC10L3QuNC1IDIg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ0Ci1tc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKLW1zZ3N0ciAi0K3RgtC+IDEt0LUg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwOiIKLQotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDg0IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjUyNwotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTMwCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0ODUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTI4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0YwgJHNoYTHigKYgJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU1OAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTU5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGFtZW5kIGNvbW1pdCBhZnRlciBzdWNjZXNzZnVsbHkgcGlja2luZyAkc2hhMS4uLiAkcmVzdFxuIgpAQCAtMTM0OTMsMzEgKzE0MjkyLDMxIEBACiAieW91IGFyZSBhYmxlIHRvIHJld29yZCB0aGUgY29tbWl0LiIKIG1zZ3N0ciAi0J3QtSDRg9C00L7Qu9C+0YHRjCDQuNGB0L/RgNCw0LLQuNGC0Ywg0LrQvtC80LzQuNGCINC/0L7RgdC70LUg0YPRgdC/0LXRiNC90L7Qs9C+INC/0LXRgNC10YXQvtC00LAg0L3QsCAkc2hhMeKApiAkcmVzdFxu0K3RgtC+INC/0YDQvtC40LfQvtGI0LvQviwg0YHQutC+0YDQtdC1INCy0YHQtdCz0L4sINC40Lct0LfQsCDQv9GD0YHRgtC+0LPQviDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAg0LjQu9C4INC40Lct0LfQsCDQv9C10YDQtdGF0LLQsNGC0YfQuNC60LAg0L/QtdGA0LXQtCDQutC+0LzQvNC40YLQvtC8LiDQldGB0LvQuCDQttC1INGN0YLQviDQv9GA0L7QuNC30L7RiNC70L4g0LjQty3Qt9CwINC/0LXRgNC10YXQstCw0YLRh9C40LrQsCDQv9C10YDQtdC0INC60L7QvNC80LjRgtC+0LwsINGC0L4g0LLQsNC8INC90YPQttC90L4g0YDQtdGI0LjRgtGMINGBINC90LjQvCDQv9GA0L7QsdC70LXQvNGDINC4INC/0L7QstGC0L7RgNC40YLRjCDQv9C+0L/Ri9GC0LrRgyDRgdC90L7QstCwLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTczCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJHNoYTFfYWJicmV2Li4uICRyZXN0IgogbXNnc3RyICLQntGB0YLQsNC90L7QstC70LXQvdC+INC90LAgJHNoYTFfYWJicmV24oCmICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1ODgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLQndC10LvRjNC30Y8g0YHQtNC10LvQsNGC0Ywgwqskc3F1YXNoX3N0eWxlwrsg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8g0L/RgNC10LTRi9C00YPRidC10LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMwCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCiBtc2dzdHIgItCS0YvQv9C+0LvQvdC10L3QuNC1OiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjM4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjDogJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY0MAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjQxCiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC4INCx0YvQu9C4INGB0LTQtdC70LDQvdGLINC40LfQvNC10L3QtdC90LjRjyDQsiDQuNC90LTQtdC60YHQtSDQuC/QuNC70Lgg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjQyCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDMKIG1zZ2lkICIiCiAiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgogIlxuIgpAQCAtMTM1MjUsNyArMTQzMjQsNyBAQAogbXNnc3RyICLQktGLINC80L7QttC10YLQtSDQuNGB0L/RgNCw0LLQuNGC0Ywg0L7RiNC40LHQutGDLCDQsCDQt9Cw0YLQtdC8INC30LDQv9GD0YHRgtC40YLRjFxuXG5cdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAogIy4gVFJBTlNMQVRPUlM6IGFmdGVyIHRoZXNlIGxpbmVzIGlzIGEgY29tbWFuZCB0byBiZSBpc3N1ZWQgYnkgdGhlIHVzZXIKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY1NQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKQEAgLTEzNTM1LDQ5ICsxNDMzNCw0OSBAQAogIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogbXNnc3RyICLQo9GB0L/QtdGI0L3QvtC1INCy0YvQv9C+0LvQvdC10L3QuNC1OiAkcmVzdFxu0L3QviDQvtGB0YLQsNC70LjRgdGMINC40LfQvNC10L3QtdC90LjRjyDQsiDQuNC90LTQtdC60YHQtSDQuC/QuNC70Lgg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtVxu0KHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0LjQu9C4INGB0L/RgNGP0YfRjNGC0LUg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPLCDQsCDQt9Cw0YLQtdC8INCy0YvQv9C+0LvQvdC40YLQtVxuXG5cdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjY2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiBtc2dzdHIgItCd0LXQvtC/0L7Qt9C90LDQvdC90LDRjyDQutC+0LzQsNC90LTQsDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY2NworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjY4CiBtc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwINC40YHQv9GA0LDQstGM0YLQtSDRjdGC0L4g0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgcmViYXNlIC0tZWRpdC10b2RvwrsuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo3MDIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjcwMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCiBtc2dzdHIgItCj0YHQv9C10YjQvdC+INC/0LXRgNC10LHQsNC30LjRgNC+0LLQsNC9INC4INC+0LHQvdC+0LLQu9GR0L0gJGhlYWRfbmFtZS4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjc0OQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzUwCiBtc2dpZCAiQ291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Qv9GD0YHRgtC40YLRjCDQvdC10L3Rg9C20L3Ri9C1INC60L7QvNCw0L3QtNGLINC+0YLQsdC+0YDQsCAocGljaykiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjkwNworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTA4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogdGhlIFNIQS0xIGlzIG1pc3Npbmcgb3IgaXNuJ3QgYSBjb21taXQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgogIiAtICRsaW5lIgogbXNnc3RyICLQktC90LjQvNCw0L3QuNC1OiDQvdC1INC90LDQudC00LXQvSBTSEEtMSDQuNC70Lgg0L7QvSDQvdC1INGD0LrQsNC30YvQstCw0LXRgiDQvdCwINC60L7QvNC80LjRgi4g0J3QsCDRgdGC0YDQvtC60LU6XG4gLSAkbGluZSIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTQwCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5NDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB0aGUgY29tbWFuZCBpc24ndCByZWNvZ25pemVkIGluIHRoZSBmb2xsb3dpbmcgbGluZTpcbiIKICIgLSAkbGluZSIKIG1zZ3N0ciAi0JLQvdC40LzQsNC90LjQtTog0LrQvtC80LDQvdC00LAg0L3QtSDRgNCw0YHQv9C+0LfQvdCw0L3QsCDQvdCwINGB0YLRgNC+0LrQtTpcbiAtICRsaW5lIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5NzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjk4MAogbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LTQtdC70LjRgtGMIEhFQUQiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMTcKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMTgKIG1zZ2lkICIiCiAiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCiAiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6IgogbXNnc3RyICLQktC90LjQvNCw0L3QuNC1OiDQvdC10LrQvtGC0L7RgNGL0LUg0LrQvtC80LzQuNGC0Ysg0LzQvtCz0LvQuCDQsdGL0YLRjCDQvtGC0LHRgNC+0YjQtdC90Ysg0L/QviDQvtGI0LjQsdC60LUuXG7QntGC0LHRgNC+0YjQtdC90L3Ri9C1INC60L7QvNC80LjRgtGLICjQvtGCINC90L7QstGL0YUg0Log0YHRgtCw0YDRi9C8KToiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMjUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMjYKIG1zZ2lkICIiCiAiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCiAiXG4iCkBAIC0xMzU4NSwyOCArMTQzODQsMjggQEAKICJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgogbXNnc3RyICLQlNC70Y8g0LjQt9Cx0LXQttCw0L3QuNGPINGN0YLQvtCz0L4g0YHQvtC+0LHRidC10L3QuNGPLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZHJvcMK7INGH0YLQvtCx0Ysg0Y/QstC90L4g0YPQtNCw0LvQuNGC0Ywg0LrQvtC80LzQuNGCLlxuXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1INC+0L/RhtC40Y4gwqtnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrwrsg0LTQu9GPINC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC5Llxu0JLQvtC30LzQvtC20L3Ri9C1INC30L3QsNGH0LXQvdC40Y86IGlnbm9yZSwgd2FybiwgZXJyb3IuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDM2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5yZWNvZ25pemVkIHNldHRpbmcgJGNoZWNrX2xldmVsIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suICIKICJJZ25vcmluZy4iCiBtc2dzdHIgItCd0LXRgNCw0YHQv9C+0LfQvdCw0L3QvdCw0Y8g0L3QsNGB0YLRgNC+0LnQutCwICRjaGVja19sZXZlbCDQtNC70Y8g0L7Qv9GG0LjQuCByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4g0JjQs9C90L7RgNC40YDRg9GOLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA1MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA1NAogbXNnaWQgIiIKICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAiCiAiLS1jb250aW51ZScuIgogbXNnc3RyICLQktGLINC80L7QttC10YLQtSDQuNGB0L/RgNCw0LLQuNGC0Ywg0Y3RgtC+INGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb8K7LCDQsCDQv9C+0YLQvtC8INC30LDQv9GD0YHRgtC40LIgwqtnaXQgcmViYXNlIC0tY29udGludWXCuy4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTQKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTUKIG1zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCiBtc2dzdHIgItCY0LvQuCDQstGLINC80L7QttC10YLQtSDQvtGC0LzQtdC90LjRgtGMINC/0YDQvtGG0LXRgdGBINC/0LXRgNC10LHQsNC30LjRgNC+0LLQsNC90LjRjyDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCByZWJhc2UgLS1hYm9ydMK7LiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA3OAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4MwogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCBDSEVSUllfUElDS19IRUFEIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDgzCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0xMzYyNCwyMSArMTQ0MjMsMjEgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogbXNnc3RyICLQoyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1Llxu0JXRgdC70Lgg0Y3RgtC4INC40LfQvNC10L3QtdC90LjRjyDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0L7QsdGK0LXQtNC10L3QtdC90Ysg0YEg0L/RgNC10LTRi9C00YPRidC40Lwg0LrQvtC80LzQuNGC0L7QvCwg0YLQviDQt9Cw0L/Rg9GB0YLQuNGC0LU6XG5cbiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG5cbtCV0YHQu9C4INC20LUg0L7QvdC4INC00L7Qu9C20L3RiyDQsdGL0YLRjCDQv9C+0LzQtdGJ0LXQvdGLINCyINC90L7QstGL0Lkg0LrQvtC80LzQuNGCLCDRgtC+INC30LDQv9GD0YHRgtC40YLQtTpcblxuICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG5cbtCSINC70Y7QsdC+0Lwg0YHQu9GD0YfQsNC1LCDQv9C+0YHQu9C1INGC0L7Qs9C+INC60LDQuiDQstGLINC30LDQutC+0L3Rh9C40YLQtSwg0L/RgNC+0LTQvtC70LbQuNGC0Ywg0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40LI6XG5cbiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDUKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAi0J/RgNC+0LjQt9C+0YjQu9CwINC+0YjQuNCx0LrQsCDQv9GA0Lgg0L/QvtC40YHQutC1INCw0LLRgtC+0YDQsCDQtNC70Y8g0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQutC+0LzQvNC40YLQsCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExMAogbXNnaWQgIiIKICJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKICJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgogbXNnc3RyICLQoyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1LiDQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiwg0LAg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuyDRgdC90L7QstCwLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExMCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE0CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTkKIG1zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrQvtC80LzQuNGC0LjRgtGMINC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTM4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3CiBtc2dpZCAiIgogIlxuIgogIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgpAQCAtMTM2NDcsMzMgKzE0NDQ2LDMzIEBACiAiXG4iCiBtc2dzdHIgIlxu0JLRiyDRgdC10LnRh9Cw0YEg0YDQtdC00LDQutGC0LjRgNGD0LXRgtC1INGE0LDQudC7INGB0L4g0YHQv9C40YHQutC+0Lwg0LTQtdC7INC00LvRjyDQuNC90YLQtdGA0LDQutGC0LjQstC90L7Qs9C+INC/0LXRgNC10LzQtdGJ0LXQvdC40Y8uXG7QlNC70Y8g0L/RgNC+0LTQvtC70LbQtdC90LjRjyDQv9C10YDQtdC80LXRidC10L3QuNGPLCDQv9C+0YHQu9C1INGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0YTQsNC50LvQsCDQt9Cw0L/Rg9GB0YLQuNGC0LU6XG4gICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG5cbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE0NiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzA0CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTU1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMTMKIG1zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMINGA0LXQtNCw0LrRgtC+0YAiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LnRgtC4INC90LAg0LLQtdGA0YHQuNGOICRzd2l0Y2hfdG8iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjQKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzMKIG1zZ2lkICJObyBIRUFEPyIKIG1zZ3N0ciAi0J3QtdGCINGD0LrQsNC30LDRgtC10LvRjyBIRUFEPyIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0LrQsNGC0LDQu9C+0LMgJHN0YXRlX2RpciIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3NgogbXNnaWQgIkNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0L7QvNC10YLQuNGC0Ywg0LrQsNC6INC40L3RgtC10YDQsNC60YLQuNCy0L3Ri9C5IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc3IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODYgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE5MQogbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMINC/0LXRgNC10LfQsNC/0LjRgdCw0L3QvdGL0LUg0LrQvtC80LzQuNGC0YsiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyODIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgogbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCkBAIC0xMzY4MiwxNCArMTQ0ODEsMTQgQEAKIG1zZ3N0clsyXSAi0J/QtdGA0LXQvNC10YnQtdC90LjQtSAkc2hvcnRyZXZpc2lvbnMg0L3QsNC0ICRzaG9ydG9udG8gKCR0b2RvY291bnQg0LrQvtC80LDQvdC0KSIKIG1zZ3N0clszXSAi0J/QtdGA0LXQvNC10YnQtdC90LjQtSAkc2hvcnRyZXZpc2lvbnMg0L3QsNC0ICRzaG9ydG9udG8gKCR0b2RvY291bnQg0LrQvtC80LDQvdC0KSIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4NworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NgogbXNnaWQgIiIKICJcbiIKICJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgogIlxuIgogbXNnc3RyICJcbtCd0L4g0LXRgdC70Lgg0LLRiyDRg9C00LDQu9C40YLQtSDQstGB0LUsINGC0L4g0L/RgNC+0YbQtdGB0YEg0L/QtdGA0LXQvNC10YnQtdC90LjRjyDQsdGD0LTQtdGCINCx0YPQtNC10YIg0L/RgNC10YDQstCw0L0uXG5cbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwMwogbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgogbXNnc3RyICLQl9Cw0LzQtdGC0YzRgtC1LCDRh9GC0L4g0L/Rg9GB0YLRi9C1INC60L7QvNC80LjRgtGLINC30LDQutC+0LzQvNC10L3RgtC40YDQvtCy0LDQvdC90YsiCiAKQEAgLTEzNzQ5LDMgKzE0NTQ4LDc3NiBAQAogIzogZ2l0LXNoLXNldHVwLnNoOjM3NwogbXNnaWQgIlVuYWJsZSB0byBkZXRlcm1pbmUgYWJzb2x1dGUgcGF0aCBvZiBnaXQgZGlyZWN0b3J5IgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINCw0LHRgdC+0LvRjtGC0L3Ri9C5INC/0YPRgtGMINC6INC60LDRgtCw0LvQvtCz0YMgZ2l0IgorCisjLiBUUkFOU0xBVE9SUzogeW91IGNhbiBhZGp1c3QgdGhpcyB0byBhbGlnbiAiZ2l0IGFkZCAtaSIgc3RhdHVzIG1lbnUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiUxMnMgJTEycyAlcyIKK21zZ3N0ciAiJTEycyAlMTJzICVzIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NworbXNnaWQgInN0YWdlZCIKK21zZ3N0ciAi0LIg0LjQvdC00LXQutGB0LUiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Cittc2dpZCAidW5zdGFnZWQiCittc2dzdHIgItC90LUg0LIg0LjQvdC00LXQutGB0LUiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjQ2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjcxCittc2dpZCAiYmluYXJ5IgorbXNnc3RyICLQtNCy0L7QuNGH0L3Ri9C5IgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI1NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMwOQorbXNnaWQgIm5vdGhpbmciCittc2dzdHIgItC90LjRh9C10LPQviIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDYKK21zZ2lkICJ1bmNoYW5nZWQiCittc2dzdHIgItC90LXRgiDQuNC30LzQtdC90LXQvdC40LkiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjAyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAi0LTQvtCx0LDQstC70LXQvSAlZCDQv9GD0YLRjFxuIgorbXNnc3RyWzFdICLQtNC+0LHQsNCy0LvQtdC90L4gJWQg0L/Rg9GC0LhcbiIKK21zZ3N0clsyXSAi0LTQvtCx0LDQstC70LXQvdC+ICVkINC/0YPRgtC10LlcbiIKK21zZ3N0clszXSAi0LTQvtCx0LDQstC70LXQvdC+ICVkINC/0YPRgtC4XG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gItC+0LHQvdC+0LLQu9GR0L0gJWQg0L/Rg9GC0YxcbiIKK21zZ3N0clsxXSAi0L7QsdC90L7QstC70LXQvdC+ICVkINC/0YPRgtC4XG4iCittc2dzdHJbMl0gItC+0LHQvdC+0LLQu9C10L3QviAlZCDQv9GD0YLQtdC5XG4iCittc2dzdHJbM10gItC+0LHQvdC+0LLQu9C10L3QviAlZCDQv9GD0YLQuFxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gItC+0LHRgNCw0YnQtdC90Ysg0LjQt9C80LXQvdC10L3QuNGPICVkINC/0YPRgtC4XG4iCittc2dzdHJbMV0gItC+0LHRgNCw0YnQtdC90Ysg0LjQt9C80LXQvdC10L3QuNGPICVkINC/0YPRgtC10LlcbiIKK21zZ3N0clsyXSAi0L7QsdGA0LDRidC10L3RiyDQuNC30LzQtdC90LXQvdC40Y8gJWQg0L/Rg9GC0LXQuVxuIgorbXNnc3RyWzNdICLQvtCx0YDQsNGJ0LXQvdGLINC40LfQvNC10L3QtdC90LjRjyAlZCDQv9GD0YLQtdC5XG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjExCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgInRvdWNoZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJ0b3VjaGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gItGC0YDQvtC90YPRgiAlZCDQv9GD0YLRjFxuIgorbXNnc3RyWzFdICLRgtGA0L7QvdGD0YLRiyAlZCDQv9GD0YLQuFxuIgorbXNnc3RyWzJdICLRgtGA0L7QvdGD0YLRiyAlZCDQv9GD0YLQtdC5XG4iCittc2dzdHJbM10gItGC0YDQvtC90YPRgtGLICVkINC/0YPRgtC4XG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIwCittc2dpZCAiVXBkYXRlIgorbXNnc3RyICLQntCx0L3QvtCy0LjRgtGMIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMgorbXNnaWQgIlJldmVydCIKK21zZ3N0ciAi0J7QsdGA0LDRgtC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgItC/0YDQuNC80LXRh9Cw0L3QuNC1OiAlcyDRgtC10L/QtdGA0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C5LlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2NgorbXNnaWQgIkFkZCB1bnRyYWNrZWQiCittc2dzdHIgItCU0L7QsdCw0LLQuNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C5IgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MgorbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKK21zZ3N0ciAi0J3QtdGCINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIuXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg1Cittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFnaW5nLiIKK21zZ3N0ciAi0JXRgdC70Lgg0L/QsNGC0Ycg0L/RgNC40LzQtdC90Y/QtdGC0YHRjyDQsdC10Lcg0L7RiNC40LHQvtC6LCDRgtC+INC40LfQvNC10L3RkdC90L3Ri9C5INCx0LvQvtC6INCx0YPQtNC10YIg0YHRgNCw0LfRgyDQv9C+0LzQtdGH0LXQvSDQtNC70Y8g0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90LjRjy4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg4Cittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFzaGluZy4iCittc2dzdHIgItCV0YHQu9C4INC/0LDRgtGHINC/0YDQuNC80LXQvdGP0LXRgtGB0Y8g0LHQtdC3INC+0YjQuNCx0L7Quiwg0YLQviDQuNC30LzQtdC90ZHQvdC90YvQuSDQsdC70L7QuiDQsdGD0LTQtdGCINGB0YDQsNC30YMg0L/QvtC80LXRh9C10L0g0LTQu9GPINC/0YDRj9GC0LDQvdGM0Y8uIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5MQorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3IgdW5zdGFnaW5nLiIKK21zZ3N0ciAi0JXRgdC70Lgg0L/QsNGC0Ycg0L/RgNC40LzQtdC90Y/QtdGC0YHRjyDQsdC10Lcg0L7RiNC40LHQvtC6LCDRgtC+INC40LfQvNC10L3RkdC90L3Ri9C5INCx0LvQvtC6INCx0YPQtNC10YIg0YHRgNCw0LfRgyDQv9C+0LzQtdGH0LXQvSDQtNC70Y8g0YPQsdC40YDQsNC90LjRjyDQuNC3INC40L3QtNC10LrRgdCwLiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5OTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDAzCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBhcHBseWluZy4iCittc2dzdHIgItCV0YHQu9C4INC/0LDRgtGHINC/0YDQuNC80LXQvdGP0LXRgtGB0Y8g0LHQtdC3INC+0YjQuNCx0L7Quiwg0YLQviDQuNC30LzQtdC90ZHQvdC90YvQuSDQsdC70L7QuiDQsdGD0LTQtdGCINGB0YDQsNC30YMg0L/QvtC80LXRh9C10L0g0LTQu9GPINC/0YDQuNC80LXQvdC10L3QuNGPLiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5OTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDAwCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKK21zZ3N0ciAi0JXRgdC70Lgg0L/QsNGC0Ycg0L/RgNC40LzQtdC90Y/QtdGC0YHRjyDQsdC10Lcg0L7RiNC40LHQvtC6LCDRgtC+INC40LfQvNC10L3RkdC90L3Ri9C5INCx0LvQvtC6INCx0YPQtNC10YIg0YHRgNCw0LfRgyDQv9C+0LzQtdGH0LXQvSDQtNC70Y8g0L7RgtC80LXQvdGLINC40LfQvNC10L3QtdC90LjQuS4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAxMworIywgcGVybC1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3Igd3JpdGluZzogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0YTQsNC50Lsg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDQsdC70L7QutCwINC40LfQvNC10L3QtdC90LjQuSDQtNC70Y8g0LfQsNC/0LjRgdC4OiAlcyIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDE0Cittc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCittc2dzdHIgItCg0YPRh9C90L7QuSDRgNC10LbQuNC8INGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0LHQu9C+0LrQsCDQuNC30LzQtdC90LXQvdC40Lkg4oCUINGB0LzQvtGC0YDQuNGC0LUg0L3QuNC20LUg0LTQu9GPINC90LXQsdC+0LvRjNGI0L7Qs9C+INGA0YPQutC+0LLQvtC00YHRgtCy0LAuXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiLS0tXG4iCisiVG8gcmVtb3ZlICclcycgbGluZXMsIG1ha2UgdGhlbSAnICcgbGluZXMgKGNvbnRleHQpLlxuIgorIlRvIHJlbW92ZSAnJXMnIGxpbmVzLCBkZWxldGUgdGhlbS5cbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICVzIHdpbGwgYmUgcmVtb3ZlZC5cbiIKK21zZ3N0ciAiLS0tXG7Qp9GC0L7QsdGLINGD0LTQsNC70LjRgtGMIMKrJXPCuyDRgdGC0YDQvtC60LgsINGB0LTQtdC70LDQudGC0LUg0LjRhSAnICcg0YHRgtGA0L7QutCw0LzQuCAo0LrQvtC90YLQtdC60YHRgikuXG7Qp9GC0L7QsdGLINGD0LTQsNC70LjRgtGMIMKrJXPCuyDRgdGC0YDQvtC60LgsINGD0LTQsNC70LjRgtC1INC40YUuXG7QodGC0YDQvtC60LgsINC90LDRh9C40L3QsNGO0YnQuNC10YHRjyDRgSAlcyDQsdGD0LTRg9GCINGD0LTQsNC70LXQvdGLLlxuIgorCisjLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMjgKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgItCV0YHQu9C4INC/0LDRgtGHINC90LUg0L/RgNC40LzQtdC90Y/QtdGC0YHRjyDQsdC10Lcg0L7RiNC40LHQvtC6LCDQstCw0Lwg0LHRg9C00LXRgiDQtNCw0L3QsFxu0LLQvtC30LzQvtC20L3QvtGB0YLRjCDQuNC30LzQtdC90LjRgtGMINC10LPQviDRgdC90L7QstCwLiDQldGB0LvQuCDQstGB0LUg0YHRgtGA0L7QutC4INCx0LvQvtC60LBcbtC40LfQvNC10L3QtdC90LjQuSDRg9C00LDQu9C10L3Riywg0YLQviDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INCx0YPQtNC10YIg0L7RgtC80LXQvdC10L3Qvlxu0Lgg0LHQu9C+0Log0L7RgdGC0LDQvdC10YLRgdGPINCx0LXQtyDQuNC30LzQtdC90LXQvdC40LkuXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0YTQsNC50Lsg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDQsdC70L7QutCwINC40LfQvNC10L3QtdC90LjQuSDQtNC70Y8g0YfRgtC10L3QuNGPOiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMzQKK21zZ2lkICIiCisiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyIKKyIgIgorbXNnc3RyICLQmNC30LzQtdC90ZHQvdC90YvQuSDQstCw0LzQuCDQsdC70L7QuiDQvdC1INC/0YDQuNC80LXQvdGP0LXRgtGB0Y8uINCg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGB0L3QvtCy0LAgKNC+0YLQstC10YIgwqt5wrsg0L7Qt9C90LDRh9Cw0LXRgiDCq9C90LXRgsK7ISkgW3kvbl0/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTQzCittc2dpZCAiIgorInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKKyJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgorInEgLSBxdWl0OyBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gc3RhZ2UgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICJ5IC0g0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNGC0Ywg0LHQu9C+0Log0LjQt9C80LXQvdC10L3QuNC5XG5uIC0g0L3QtSDQuNC90LTQtdC60YHQuNGA0L7QstCw0YLRjCDRjdGC0L7RgiDQsdC70L7QuiDQuNC30LzQtdC90LXQvdC40LlcbnEgLSDQstGL0YXQvtC0OyDQvdC1INC40L3QtNC10LrRgdC40YDQvtCy0LDRgtGMINGN0YLQvtGCINC4INC/0L7RgdC70LXQtNGD0Y7RidC40LUg0LHQu9C+0LrQuFxuYSAtINC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDRgtGMINGN0YLQvtGCINC4INCy0YHQtSDQv9C+0YHQu9C10LTRg9GO0YnQuNC1INCx0LvQvtC60Lgg0YTQsNC50LvQsFxuZCAtINC90LUg0LjQvdC00LXQutGB0LjRgNC+0LLQsNGC0Ywg0Y3RgtC+0YIg0Lgg0L/QvtGB0LvQtdC00YPRjtGJ0LjQtSDQsdC70L7QutC4INGE0LDQudC70LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0OQorbXNnaWQgIiIKKyJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YXNoIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YXNoIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAieSAtINGB0L/RgNGP0YLQsNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINCx0LvQvtC60LBcbnEgLSDQstGL0YXQvtC0OyDQvdC1INC/0YDRj9GC0LDRgtGMINC40LfQvNC10L3QtdC90LjRjyDRjdGC0L7Qs9C+INC4INC/0L7RgdC70LXQtNGD0Y7RidC40YUg0LHQu9C+0LrQvtCyXG5hIC0g0YHQv9GA0Y/RgtCw0YLRjCDRjdGC0L7RgiDQuCDQstGB0LUg0L/QvtGB0LvQtdC00YPRjtGJ0LjQtSDQsdC70L7QutC4INGE0LDQudC70LBcbmQgLSDQvdC1INC/0YDRj9GC0LDRgtGMINGN0YLQvtGCINC4INC/0L7RgdC70LXQtNGD0Y7RidC40LUg0LHQu9C+0LrQuCDRhNCw0LnQu9CwIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNTUKK21zZ2lkICIiCisieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgorInEgLSBxdWl0OyBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSB1bnN0YWdlIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICJ5IC0g0YPQsdGA0LDRgtGMINC40Lcg0LjQvdC00LXQutGB0LAg0Y3RgtC+0YIg0LHQu9C+0Log0LjQt9C80LXQvdC10L3QuNC5XG5uIC0g0L3QtSDRg9Cx0LjRgNCw0YLRjCDQuNC3INC40L3QtNC10LrRgdCwINGN0YLQvtGCINCx0LvQvtC6INC40LfQvNC10L3QtdC90LjQuVxucSAtINCy0YvRhdC+0LQ7INC90LUg0YPQsdC40YDQsNGC0Ywg0LjQtyDQuNC90LTQtdC60YHQsCDRjdGC0L7RgiDQuCDQv9C+0YHQu9C10LTRg9GO0YnQuNC1INCx0LvQvtC60LhcbmEgLSDRg9Cx0YDQsNGC0Ywg0LjQtyDQuNC90LTQtdC60YHQsCDRjdGC0L7RgiDQuCDQstGB0LUg0L/QvtGB0LvQtdC00YPRjtGJ0LjQtSDQsdC70L7QutC4INGE0LDQudC70LBcbmQgLSDQvdC1INGD0LHQuNGA0LDRgtGMINC40Lcg0LjQvdC00LXQutGB0LAg0Y3RgtC+0YIg0Lgg0L/QvtGB0LvQtdC00YPRjtGJ0LjQtSDQsdC70L7QutC4INGE0LDQudC70LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE2MQorbXNnaWQgIiIKKyJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCisibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAieSAtINC/0YDQuNC80LXQvdC40YLRjCDQsdC70L7QuiDQuNC30LzQtdC90LXQvdC40Lkg0Log0LjQvdC00LXQutGB0YNcbm4gLSDQvdC1INC/0YDQuNC80LXQvdGP0YLRjCDRjdGC0L7RgiDQsdC70L7QuiDQuNC30LzQtdC90LXQvdC40Lkg0Log0LjQvdC00LXQutGB0YNcbnEgLSDQstGL0YXQvtC0OyDQvdC1INC/0YDQuNC80LXQvdGP0YLRjCDRjdGC0L7RgiDQuCDQv9C+0YHQu9C10LTRg9GO0YnQuNC1INCx0LvQvtC60LhcbmEgLSDQv9GA0LjQvNC10L3QuNGC0Ywg0Y3RgtC+0YIg0LHQu9C+0Log0Lgg0LLRgdC1INC/0L7RgdC70LXQtNGD0Y7RidC40LUg0LHQu9C+0LrQuCDRhNCw0LnQu9CwXG5kIC0g0L3QtSDQv9GA0LjQvNC10L3Rj9GC0Ywg0Y3RgtC+0YIg0Lgg0L/QvtGB0LvQtdC00YPRjtGJ0LjQtSDQsdC70L7QutC4INGE0LDQudC70LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE2NworbXNnaWQgIiIKKyJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBkaXNjYXJkIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICJ5IC0g0L7RgtC80LXQvdC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0Y3RgtC+0LPQviDQsdC70L7QutCwINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LVcbm4gLSDQvdC1INC+0YLQvNC10L3Rj9GC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGN0YLQvtCz0L4g0LHQu9C+0LrQsCDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1XG5xIC0g0LLRi9GF0L7QtDsg0L3QtSDQvtGC0LzQtdC90Y/RgtGMINC40LfQvNC10L3QtdC90LjRjyDRjdGC0L7Qs9C+INCx0LvQvtC60LAg0Lgg0LLRgdC10YUg0L/QvtGB0LvQtdC00YPRjtGJ0LjRhVxuYSAtINC+0YLQvNC10L3QuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGN0YLQvtCz0L4g0Lgg0LLRgdC10YUg0L/QvtGB0LvQtdC00YPRjtGJ0LjRhSDQsdC70L7QutC+0LIg0YTQsNC50LvQsFxuZCAtINC90LUg0L7RgtC80LXQvdGP0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0Y3RgtC+0LPQviDQuCDQstGB0LXRhSDQv9C+0YHQu9C10LTRg9GO0YnQuNGFINCx0LvQvtC60L7QsiDRhNCw0LnQu9CwIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNzMKK21zZ2lkICIiCisieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCisibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBkaXNjYXJkIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICJ5IC0g0L7RgtC80LXQvdC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0Y3RgtC+0LPQviDQsdC70L7QutCwINCyINC40L3QtNC10LrRgdC1INC4INGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LVcbm4gLSDQvdC1INC+0YLQvNC10L3Rj9GC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGN0YLQvtCz0L4g0LHQu9C+0LrQsCDQsiDQuNC90LTQtdC60YHQtSDQuCDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1XG5xIC0g0LLRi9GF0L7QtDsg0L3QtSDQvtGC0LzQtdC90Y/RgtGMINC40LfQvNC10L3QtdC90LjRjyDRjdGC0L7Qs9C+INCx0LvQvtC60LAg0Lgg0LLRgdC10YUg0L/QvtGB0LvQtdC00YPRjtGJ0LjRhVxuYSAtINC+0YLQvNC10L3QuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGN0YLQvtCz0L4g0Lgg0LLRgdC10YUg0L/QvtGB0LvQtdC00YPRjtGJ0LjRhSDQsdC70L7QutC+0LIg0YTQsNC50LvQsFxuZCAtINC90LUg0L7RgtC80LXQvdGP0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0Y3RgtC+0LPQviDQuCDQstGB0LXRhSDQv9C+0YHQu9C10LTRg9GO0YnQuNGFINCx0LvQvtC60L7QsiDRhNCw0LnQu9CwIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNzkKK21zZ2lkICIiCisieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAieSAtINC/0YDQuNC80LXQvdC40YLRjCDQsdC70L7QuiDQuNC30LzQtdC90LXQvdC40Lkg0Log0LjQvdC00LXQutGB0YMg0Lgg0YDQsNCx0L7Rh9C10LzRgyDQutCw0YLQsNC70L7Qs9GDXG5uIC0g0L3QtSDQv9GA0LjQvNC10L3Rj9GC0Ywg0Y3RgtC+0YIg0LHQu9C+0Log0LjQt9C80LXQvdC10L3QuNC5INC6INC40L3QtNC10LrRgdGDINC4INGA0LDQsdC+0YfQtdC80YMg0LrQsNGC0LDQu9C+0LPRg1xucSAtINCy0YvRhdC+0LQ7INC90LUg0L/RgNC40LzQtdC90Y/RgtGMINGN0YLQvtGCINC4INC/0L7RgdC70LXQtNGD0Y7RidC40LUg0LHQu9C+0LrQuFxuYSAtINC/0YDQuNC80LXQvdC40YLRjCDRjdGC0L7RgiDQsdC70L7QuiDQuCDQstGB0LUg0L/QvtGB0LvQtdC00YPRjtGJ0LjQtSDQsdC70L7QutC4INGE0LDQudC70LBcbmQgLSDQvdC1INC/0YDQuNC80LXQvdGP0YLRjCDRjdGC0L7RgiDQuCDQv9C+0YHQu9C10LTRg9GO0YnQuNC1INCx0LvQvtC60Lgg0YTQsNC50LvQsCIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTg4Cittc2dpZCAiIgorImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCisiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgorImogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCB1bmRlY2lkZWQgaHVua1xuIgorIkogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCBodW5rXG4iCisiayAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyB1bmRlY2lkZWQgaHVua1xuIgorIksgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgaHVua1xuIgorInMgLSBzcGxpdCB0aGUgY3VycmVudCBodW5rIGludG8gc21hbGxlciBodW5rc1xuIgorImUgLSBtYW51YWxseSBlZGl0IHRoZSBjdXJyZW50IGh1bmtcbiIKKyI/IC0gcHJpbnQgaGVscFxuIgorbXNnc3RyICJnIC0g0LLRi9Cx0YDQsNGC0Ywg0LHQu9C+0Log0LjQt9C80LXQvdC10L3QuNC5INC90LAg0LrQvtGC0L7RgNGL0Lkg0L3Rg9C20L3QviDQv9C10YDQtdC50YLQuFxuLyAtINC/0L7QuNGB0Log0LHQu9C+0LrQsCDQuNC30LzQtdC90LXQvdC40Lkg0YEg0L/QvtC80L7RidGM0Y4g0YDQtdCz0YPQu9GP0YDQvdC+0LPQviDQstGL0YDQsNC20LXQvdC40Y9cbmogLSDQvdC1INC/0YDQuNC90LjQvNCw0YLRjCDRgNC10YjQtdC90LjQtSDQv9C+INGN0YLQvtC80YMg0LHQu9C+0LrRgywg0L/QtdGA0LXQudGC0Lgg0L3QsCDRgdC70LXQtNGD0Y7RidC40Lkg0LHQtdC3INGA0LXRiNC10L3QuNGPXG5KIC0g0L3QtSDQv9GA0LjQvdC40LzQsNGC0Ywg0YDQtdGI0LXQvdC40LUg0L/QviDRjdGC0L7QvNGDINCx0LvQvtC60YMsINC/0LXRgNC10LnRgtC4INC90LAg0YHQu9C10LTRg9GO0YnQuNC5XG5rIC0g0L3QtSDQv9GA0LjQvdC40LzQsNGC0Ywg0YDQtdGI0LXQvdC40LUg0L/QviDRjdGC0L7QvNGDINCx0LvQvtC60YMsINC/0LXRgNC10LnRgtC4INC90LAg0L/RgNC10LTRi9C00YPRidC40Lkg0LHQtdC3INGA0LXRiNC10L3QuNGPXG5LIC0g0L3QtSDQv9GA0LjQvdC40LzQsNGC0Ywg0YDQtdGI0LXQvdC40LUg0L/QviDRjdGC0L7QvNGDINCx0LvQvtC60YMsINC/0LXRgNC10LnRgtC4INC90LAg0L/RgNC10LTRi9C00YPRidC40LlcbnMgLSDRgNCw0LfQtNC10LvQuNGC0Ywg0YLQtdC60YPRidC40Lkg0LHQu9C+0Log0L3QsCDQsdC70L7QutC4INC80LXQvdGM0YjQtdCz0L4g0YDQsNC30LzQtdGA0LBcbmUgLSDQstGA0YPRh9C90YPRjiDQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YLQtdC60YPRidC40Lkg0LHQu9C+0Lpcbj8gLSDQstGL0LLQtdGB0YLQuCDRgdC/0YDQsNCy0LrRg1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMTkKK21zZ2lkICJUaGUgc2VsZWN0ZWQgaHVua3MgZG8gbm90IGFwcGx5IHRvIHRoZSBpbmRleCFcbiIKK21zZ3N0ciAi0JLRi9Cx0YDQsNC90L3Ri9C1INCx0LvQvtC60Lgg0L3QtSDQv9GA0LjQvNC10L3Rj9GO0YLRgdGPINCx0LXQtyDQvtGI0LjQsdC+0Log0Log0LjQvdC00LXQutGB0YMhXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMAorbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgorbXNnc3RyICLQktGB0LUg0YDQsNCy0L3QviDQv9GA0LjQvNC10L3QuNGC0Ywg0LjRhSDQuiDRgNCw0LHQvtGH0LXQvNGDINC60LDRgtCw0LvQvtCz0YM/IgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjMKK21zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgorbXNnc3RyICLQndC40YfQtdCz0L4g0L3QtSDQv9GA0LjQvNC10L3QtdC90L4uXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzNAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bm1lcmdlZDogJXNcbiIKK21zZ3N0ciAi0LjQs9C90L7RgNC40YDRg9GOINC90LUg0YHQu9C40YLQvtC1OiAlc1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDMKK21zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgorbXNnc3RyICLQotC+0LvRjNC60L4g0LjQt9C80LXQvdC10L3QuNGPINC00LLQvtC40YfQvdGL0YUg0YTQsNC50LvQvtCyLlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDUKK21zZ2lkICJObyBjaGFuZ2VzLlxuIgorbXNnc3RyICLQndC10YIg0LjQt9C80LXQvdC10L3QuNC5LlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTMKK21zZ2lkICJQYXRjaCB1cGRhdGUiCittc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1INC/0LDRgtGH0LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQn9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0YLRjCDQuNC30LzQtdC90LXQvdC40LUg0YDQtdC20LjQvNCwINC00L7RgdGC0YPQv9CwIFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQn9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0YLRjCDRg9C00LDQu9C10L3QuNC1IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNworIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0J/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNGC0Ywg0Y3RgtC+0YIg0LHQu9C+0Log0LjQt9C80LXQvdC10L3QuNC5IFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFzaCBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQodC/0YDRj9GC0LDRgtGMINC40LfQvNC10L3QtdC90LjQtSDRgNC10LbQuNC80LAg0LTQvtGB0YLRg9C/0LAgW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzExCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YXNoIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgItCh0L/RgNGP0YLQsNGC0Ywg0YPQtNCw0LvQtdC90LjQtSDRhNCw0LnQu9CwIFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0KHQv9GA0Y/RgtCw0YLRjCDRjdGC0L7RgiDQsdC70L7QuiDQuNC30LzQtdC90LXQvdC40LkgW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0KPQsdGA0LDRgtGMINC40LfQvNC10L3QtdC90LjRjyDRgNC10LbQuNC80LAg0LTQvtGB0YLRg9C/0LAg0LjQtyDQuNC90LTQtdC60YHQsCBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQo9Cx0YDQsNGC0Ywg0YPQtNCw0LvQtdC90LjQtSDQuNC3INC40L3QtNC10LrRgdCwIFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNworIywgcGVybC1mb3JtYXQKK21zZ2lkICJVbnN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQo9Cx0YDQsNGC0Ywg0LjQtyDQuNC90LTQtdC60YHQsCDRjdGC0L7RgiDQsdC70L7QuiDQuNC30LzQtdC90LjQuSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0J/RgNC40LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjQtSDRgNC10LbQuNC80LAg0LTQvtGB0YLRg9C/0LAg0Log0LjQvdC00LXQutGB0YMgW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzIxCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IFt5LG4scSxhLGQsLyVzLD9dPyAiCittc2dzdHIgItCf0YDQuNC80LXQvdC40YLRjCDRg9C00LDQu9C10L3QuNC1INC6INC40L3QtNC10LrRgdGDIFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0J/RgNC40LzQtdC90LjRgtGMINGN0YLQvtGCINCx0LvQvtC6INC6INC40L3QtNC10LrRgdGDIFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0J7RgtC80LXQvdC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0YDQtdC20LjQvNCwINC00L7RgdGC0YPQv9CwINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUgW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQntGC0LzQtdC90LjRgtGMINGD0LTQsNC70LXQvdC40LUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjcKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQntGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDRjdGC0L7Qs9C+INCx0LvQvtC60LAg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQntGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDRgNC10LbQuNC80LAg0LTQvtGB0YLRg9C/0LAg0LIg0LjQvdC00LXQutGB0LUg0Lgg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQntGC0LzQtdC90LjRgtGMINGD0LTQsNC70LXQvdC40LUg0LIg0LjQvdC00LXQutGB0LUg0Lgg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0J7RgtC80LXQvdC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0Y3RgtC+0LPQviDQsdC70L7QutCwINCyINC40L3QtNC10LrRgdC1INC4INGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUgW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQn9GA0LjQvNC10L3QuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGA0LXQttC40LzQsCDQtNC+0YHRgtGD0L/QsCDQuiDQuNC90LTQtdC60YHRgyDQuCDRgNCw0LHQvtGH0LXQvNGDINC60LDRgtCw0LvQvtCz0YMgW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLQn9GA0LjQvNC10L3QuNGC0Ywg0YPQtNCw0LvQtdC90LjQtSDQuiDQuNC90LTQtdC60YHRgyDQuCDRgNCw0LHQvtGH0LXQvNGDINC60LDRgtCw0LvQvtCz0YMgW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKK21zZ3N0ciAi0J/RgNC40LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDRjdGC0L7Qs9C+INCx0LvQvtC60LAg0Log0LjQvdC00LXQutGB0YMg0Lgg0YDQsNCx0L7Rh9C10LzRgyDQutCw0YLQsNC70L7Qs9GDIFt5LG4scSxhLGQsLyVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MAorbXNnaWQgImdvIHRvIHdoaWNoIGh1bmsgKDxyZXQ+IHRvIHNlZSBtb3JlKT8gIgorbXNnc3RyICLQvdCwINC60LDQutC+0Lkg0LHQu9C+0Log0L/QtdGA0LXQudGC0LggKNC90LDQttC80LjRgtC1IDzQstCy0L7QtD4g0YfRgtC+0LHRiyDRg9Cy0LjQtNC10YLRjCDQtdGJ0LUpPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MgorbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKK21zZ3N0ciAi0L3QsCDQutCw0LrQvtC5INCx0LvQvtC6INC/0LXRgNC10LnRgtC4PyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgorbXNnc3RyICLQndC10LLQtdGA0L3Ri9C5INC90L7QvNC10YA6IMKrJXPCu1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuXG4iCittc2dpZF9wbHVyYWwgIlNvcnJ5LCBvbmx5ICVkIGh1bmtzIGF2YWlsYWJsZS5cbiIKK21zZ3N0clswXSAi0J/RgNC+0YHRgtC40YLQtSwg0L3QviDRgtC+0LvRjNC60L4gJWQg0LHQu9C+0Log0LjQt9C80LXQvdC10L3QuNC5INC00L7RgdGC0YPQv9C10L0uXG4iCittc2dzdHJbMV0gItCf0YDQvtGB0YLQuNGC0LUsINC90L4g0YLQvtC70YzQutC+ICVkINCx0LvQvtC60LAg0LjQt9C80LXQvdC10L3QuNC5INC00L7RgdGC0YPQv9C90L4uXG4iCittc2dzdHJbMl0gItCf0YDQvtGB0YLQuNGC0LUsINC90L4g0YLQvtC70YzQutC+ICVkINCx0LvQvtC60L7QsiDQuNC30LzQtdC90LXQvdC40Lkg0LTQvtGB0YLRg9C/0L3Qvi5cbiIKK21zZ3N0clszXSAi0J/RgNC+0YHRgtC40YLQtSwg0L3QviDRgtC+0LvRjNC60L4gJWQg0LHQu9C+0LrQsCDQuNC30LzQtdC90LXQvdC40Lkg0LTQvtGB0YLRg9C/0L3Qvi5cbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDgyCittc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgorbXNnc3RyICLQuNGB0LrQsNGC0Ywg0YEg0L/QvtC80L7RidGM0Y4g0YDQtdCz0YPQu9GP0YDQvdC+0LPQviDQstGL0YDQsNC20LXQvdC40Y8/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIk1hbGZvcm1lZCBzZWFyY2ggcmVnZXhwICVzOiAlc1xuIgorbXNnc3RyICLQoNC10LPRg9C70Y/RgNC90L7QtSDQstGL0YDQsNC20LXQvdC40LUg0LTQu9GPINC/0L7QuNGB0LrQsCDQsiDQvdC10LLQtdGA0L3QvtC8INGE0L7RgNC80LDRgtC1ICVzOiAlc1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDUKK21zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKK21zZ3N0ciAi0J3QtSDQvdCw0LnQtNC10L3RiyDQsdC70L7QutC4LCDQutC+0YLQvtGA0YvQtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RgiDRg9C60LDQt9Cw0L3QvdC+0LzRgyDRiNCw0LHQu9C+0L3Rg1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTM5Cittc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgorbXNnc3RyICLQndC10YIg0L/RgNC10LTRi9C00YPRidC10LPQviDQsdC70L7QutCwXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyNiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKK21zZ2lkICJObyBuZXh0IGh1bmtcbiIKK21zZ3N0ciAi0J3QtSDRgdC70LXQtNGD0Y7RidC10LPQviDQsdC70L7QutCwXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU1MworIywgcGVybC1mb3JtYXQKK21zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCittc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCittc2dzdHJbMF0gItCg0LDQt9Cx0LjRgtC+INC90LAgJWQg0LHQu9C+0Log0LjQt9C80LXQvdC10L3QuNC5LlxuIgorbXNnc3RyWzFdICLQoNCw0LfQsdC40YLQviDQvdCwICVkINCx0LvQvtC60LAg0LjQt9C80LXQvdC10L3QuNC5LlxuIgorbXNnc3RyWzJdICLQoNCw0LfQsdC40YLQviDQvdCwICVkINCx0LvQvtC60L7QsiDQuNC30LzQtdC90LXQvdC40LkuXG4iCittc2dzdHJbM10gItCg0LDQt9Cx0LjRgtC+INC90LAgJWQg0LHQu9C+0LrQsCDQuNC30LzQtdC90LXQvdC40LkuXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYwNQorbXNnaWQgIlJldmlldyBkaWZmIgorbXNnc3RyICLQn9GA0L7RgdC80L7RgtGA0LXRgtGMINC40LfQvNC10L3QtdC90LjRjyIKKworIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBkbyBub3QgdHJhbnNsYXRlIHRoZSBjb21tYW5kIG5hbWVzCisjLiAnc3RhdHVzJywgJ3VwZGF0ZScsICdyZXZlcnQnLCBldGMuCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjQKK21zZ2lkICIiCisic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCisidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgorInJldmVydCAgICAgICAgLSByZXZlcnQgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIGJhY2sgdG8gdGhlIEhFQUQgdmVyc2lvblxuIgorInBhdGNoICAgICAgICAgLSBwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHlcbiIKKyJkaWZmICAgICAgICAgIC0gdmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXhcbiIKKyJhZGQgdW50cmFja2VkIC0gYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzXG4iCittc2dzdHIgInN0YXR1cyAgICAgICAgLSDQv9C+0LrQsNC30LDRgtGMINC/0YPRgtC4INGBINC40LfQvNC10L3QtdC90LjRj9C80LhcbnVwZGF0ZSAgICAgICAgLSDQtNC+0LHQsNCy0LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAg0LjQvdC00LXQutGBXG5yZXZlcnQgICAgICAgIC0g0LLQtdGA0L3Rg9GC0Ywg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C5INC90LDQsdC+0YAg0LjQt9C80LXQvdC10L3QuNC5INC6IEhFQUQg0LLQtdGA0YHQuNC4XG5wYXRjaCAgICAgICAgIC0g0LLRi9Cx0YDQsNGC0Ywg0Lgg0LLRi9Cx0L7RgNC+0YfQvdC+INC+0LHQvdC+0LLQuNGC0Ywg0LHQu9C+0LrQuFxuZGlmZiAgICAgICAgICAtINC/0YDQvtGB0LzQvtGC0YDQtdGC0Ywg0YDQsNC30LvQuNGH0LjRjyDQvNC10LbQtNGDIEhFQUQg0Lgg0LjQvdC00LXQutGB0L7QvFxuYWRkIHVudHJhY2tlZCAtINC00L7QsdCw0LLQuNGC0Ywg0YHQvtC00LXRgNC20LjQvNC+0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDQsiDQuNC90LTQtdC60YFcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY1NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2NgorbXNnaWQgIm1pc3NpbmcgLS0iCittc2dzdHIgItC+0YLRgdGD0YLRgdGC0LLRg9C10YIgLS0iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJ1bmtub3duIC0tcGF0Y2ggbW9kZTogJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YDQtdC20LjQvCDQtNC70Y8gLS1wYXRjaDogJXMiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NzQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiAlcywg0L7QttC40LTQsNC10YLRgdGPIC0tIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyNgorbXNnaWQgImxvY2FsIHpvbmUgZGlmZmVycyBmcm9tIEdNVCBieSBhIG5vbi1taW51dGUgaW50ZXJ2YWxcbiIKK21zZ3N0ciAi0LvQvtC60LDQu9GM0L3Ri9C5INGH0LDRgdC+0LLQvtC5INC/0L7Rj9GBINC+0YLQu9C40YfQsNC10YLRgdGPINC+0YIgR01UINC90LAg0L3QtSDQvNC40L3Rg9GC0L3Ri9C5INC40L3RgtC10YDQstCw0LtcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMzkKK21zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKK21zZ3N0ciAi0LvQvtC60LDQu9GM0L3Ri9C5INGB0LTQstC40LMg0LLRgNC10LzQtdC90Lgg0LHQvtC70YzRiNC1INC40LvQuCDRgNCw0LLQtdC9IDI0INGH0LDRgdCwXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjA4IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjE0Cittc2dpZCAidGhlIGVkaXRvciBleGl0ZWQgdW5jbGVhbmx5LCBhYm9ydGluZyBldmVyeXRoaW5nIgorbXNnc3RyICLRgNC10LTQsNC60YLQvtGAINCx0YvQuyDQt9Cw0LLQtdGA0YjQtdC9INGBINC+0YjQuNCx0LrQvtC5LCDQvtGC0LzQtdC90Y/RjiDQstGB0ZEiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjkxCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKK21zZ3N0ciAiwqslc8K7INGB0L7QtNC10YDQttC40YIg0L/RgNC+0LzQtdC20YPRgtC+0YfQvdGD0Y4g0LLQtdGA0YHQuNGOINC/0LjRgdGM0LzQsCwg0LrQvtGC0L7RgNC+0LUg0LLRiyDQs9C+0YLQvtCy0LjRgtC1LlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI5NgorIywgcGVybC1mb3JtYXQKK21zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKK21zZ3N0ciAiwqslcy5maW5hbMK7INGB0L7QtNC10YDQttC40YIg0L/QvtC00LPQvtGC0L7QstC70LXQvdC90L7QtSDQv9C40YHRjNC80L4uXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzE0Cittc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgorbXNnc3RyICItLWR1bXAtYWxpYXNlcyDQvdC1INGB0L7QstC80LXRgdGC0LjQvNC+INGBINC00YDRg9Cz0LjQvNC4INC+0L/RhtC40Y/QvNC4XG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzc5IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM0Cittc2dpZCAiQ2Fubm90IHJ1biBnaXQgZm9ybWF0LXBhdGNoIGZyb20gb3V0c2lkZSBhIHJlcG9zaXRvcnlcbiIKK21zZ3N0ciAi0J3QtdC70YzQt9GPINC30LDQv9GD0YHQutCw0YLRjCBnaXQgZm9ybWF0LXBhdGNoINCy0L3QtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDQ4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgorbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3QvtC1INC/0L7Qu9C1IC0tc3VwcHJlc3MtY2M6IMKrJXPCu1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ3NworIywgcGVybC1mb3JtYXQKK21zZ2lkICJVbmtub3duIC0tY29uZmlybSBzZXR0aW5nOiAnJXMnXG4iCittc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCAtLWNvbmZpcm06IMKrJXPCu1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwOQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRgdC+0LrRgNCw0YnQtdC90LjQtSDQtNC70Y8gc2VuZG1haWwg0YEg0LrQsNCy0YvRh9C60LDQvNC4INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjzogJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogwqs6aW5jbHVkZTrCuyDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y86ICVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTEzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQv9C10YDQtdC90LDQv9GA0LDQstC70LXQvdC40LUgwqsvZmlsZcK7INC40LvQuCDCq3xwaXBlwrsg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPOiAlc1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRgdGC0YDQvtC60LAgc2VuZG1haWwg0L3QtSDRgNCw0YHQv9C+0LfQvdCw0L3QsDogJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MDAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiIgorIkZpbGUgJyVzJyBleGlzdHMgYnV0IGl0IGNvdWxkIGFsc28gYmUgdGhlIHJhbmdlIG9mIGNvbW1pdHNcbiIKKyJ0byBwcm9kdWNlIHBhdGNoZXMgZm9yLiAgUGxlYXNlIGRpc2FtYmlndWF0ZSBieS4uLlxuIgorIlxuIgorIiAgICAqIFNheWluZyBcIi4vJXNcIiBpZiB5b3UgbWVhbiBhIGZpbGU7IG9yXG4iCisiICAgICogR2l2aW5nIC0tZm9ybWF0LXBhdGNoIG9wdGlvbiBpZiB5b3UgbWVhbiBhIHJhbmdlLlxuIgorbXNnc3RyICLQpNCw0LnQuyDCqyVzwrsg0YHRg9GJ0LXRgdGC0LLRg9C10YIsINC90L4g0Y3RgtC+INGC0LDQutC20LUg0LzQvtC20LXRgiDQsdGL0YLRjCDQuFxu0LTQuNCw0L/QsNC30L7QvdC+0Lwg0LrQvtC80LzQuNGC0L7QsiDQtNC70Y8g0LrQvtGC0L7RgNGL0YUg0L3Rg9C20L3QviDRgdC00LXQu9Cw0YLRjCDQv9Cw0YLRh9C4LiBcbtCj0YHRgtGA0LDQvdC40YLQtSDQvdC10L7QtNC90L7Qt9C90LDRh9C90L7RgdGC0YzigKZcblxuICAgICog0KPQutCw0LfQsNCyIFwiLi8lc1wiINC10YHQu9C4INCy0Ysg0LjQvNC10LXRgtC1INCyINCy0LjQtNGDINC40LzRjyDRhNCw0LnQu9CwOyDQuNC70LhcbiAgICAqINCf0LXRgNC10LTQsNCyINC+0L/RhtC40Y4gLS1mb3JtYXQtcGF0Y2gg0LXRgdC70Lgg0LLRiyDQuNC80LXQtdGC0LUg0LIg0LLQuNC00YMg0LTQuNCw0L/QsNC30L7QvSDQutC+0LzQvNC40YLQvtCyLlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYyMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIG9wZW5kaXIgJXM6ICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiZmF0YWw6ICVzOiAlc1xuIgorIndhcm5pbmc6IG5vIHBhdGNoZXMgd2VyZSBzZW50XG4iCittc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwOiAlczogJXNcbtC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC/0LDRgtGH0Lgg0L3QtSDQsdGL0LvQuCDQvtGC0L/RgNCw0LLQu9C10L3Ri1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY1NgorbXNnaWQgIiIKKyJcbiIKKyJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCisiXG4iCittc2dzdHIgIlxu0KTQsNC50Lsg0YEg0L/QsNGC0YfQtdC8INC90LUg0YPQutCw0LfQsNC9IVxuXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCittc2dzdHIgItCd0LXRgiDRgdGC0YDQvtC60Lgg0YEg0YLQtdC80L7QuSDQsiAlcz8iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njc5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuIGZvciB3cml0aW5nICVzOiAlcyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDQtNC70Y8g0LfQsNC/0LjRgdC4ICVzOiAlcyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2ODkKK21zZ2lkICIiCisiTGluZXMgYmVnaW5uaW5nIGluIFwiR0lUOlwiIHdpbGwgYmUgcmVtb3ZlZC5cbiIKKyJDb25zaWRlciBpbmNsdWRpbmcgYW4gb3ZlcmFsbCBkaWZmc3RhdCBvciB0YWJsZSBvZiBjb250ZW50c1xuIgorImZvciB0aGUgcGF0Y2ggeW91IGFyZSB3cml0aW5nLlxuIgorIlxuIgorIkNsZWFyIHRoZSBib2R5IGNvbnRlbnQgaWYgeW91IGRvbid0IHdpc2ggdG8gc2VuZCBhIHN1bW1hcnkuXG4iCittc2dzdHIgItCh0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBIMKrR0lUOsK7INCx0YPQtNGD0YIg0YPQtNCw0LvQtdC90YsuXG7QktC+0LfQvNC+0LbQvdC+INCx0YPQtNC10YIg0L/QvtC70LXQt9C90L4g0LLQutC70Y7Rh9C40YLRjCDRgdGC0LDRgtC40YHRgtC40LrRgyDQtNC+0LHQsNCy0LvQtdC90LjQuVxu0Lgg0YPQtNCw0LvQtdC90LjQuSDQuNC70Lgg0YLQsNCx0LvQuNGG0YMg0YHQvtC00LXRgNC20LjQvNC+0LPQviDQsiDQv9Cw0YLRhywg0LrQvtGC0L7RgNGL0Lkg0LLRiyDQv9C40YjQtdGC0LUuXG5cbtCe0YfQuNGB0YLQuNGC0LUg0YHQvtC00LXRgNC20LjQvNC+0LUsINC10YHQu9C4INCy0Ysg0L3QtSDRhdC+0YLQuNGC0LUg0L7RgtC/0YDQsNCy0LvRj9GC0Ywg0L/QuNGB0YzQvNC+INGBINC60YDQsNGC0LrQvtC5INC40L3RhNC+0YDQvNCw0YbQuNC10LkuXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzEyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCAlcy5maW5hbDogJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCAlczogJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzUwCittc2dpZCAiVG8vQ2MvQmNjIGZpZWxkcyBhcmUgbm90IGludGVycHJldGVkIHlldCwgdGhleSBoYXZlIGJlZW4gaWdub3JlZFxuIgorbXNnc3RyICLQn9C+0LvRjyBUby9DYy9CY2Mg0L/QvtC60LAg0LXRidC1INC90LUg0L7QsdGA0LDQsdCw0YLRi9Cy0LDRjtGC0YHRjyDQuCDQsdGD0LTRg9GCINC/0YDQvtC40LPQvdC+0YDQuNGA0L7QstCw0L3Ri1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc1OQorbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCittc2dzdHIgItCf0LjRgdGM0LzQviDRgSDQutGA0LDRgtC60L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQtdC5INC/0YPRgdGC0L7QtSwg0L/QvtC/0YPRgdC60LDRjiDQtdCz0L5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3OTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVzZSA8JXM+IFt5L05dPyAiCittc2dzdHIgItCS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIDwlcz4gW3kvTl0/ICIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCisiRW5jb2RpbmcuXG4iCittc2dzdHIgItCh0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLIDgg0LHQuNGC0L3Ri9C1LCDQvdC+INC90LUg0YHQvtC00LXRgNC20LDRgiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nLlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyNQorbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCittc2dzdHIgItCa0LDQutGD0Y4gOCDQsdC40YLQvdGD0Y4g0LrQvtC00LjRgNC+0LLQutGDINC90YPQttC90L4g0YPQutCw0LfQsNGC0YwgW1VURi04XT8gIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgzMworIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiUmVmdXNpbmcgdG8gc2VuZCBiZWNhdXNlIHRoZSBwYXRjaFxuIgorIlx0JXNcbiIKKyJoYXMgdGhlIHRlbXBsYXRlIHN1YmplY3QgJyoqKiBTVUJKRUNUIEhFUkUgKioqJy4gUGFzcyAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byBzZW5kLlxuIgorbXNnc3RyICLQntGC0LrQsNC30YvQstCw0Y7RgdGMINC+0YLQv9GA0LDQstC40YLRjCwg0YIu0LouINC/0LDRgtGHXG5cdCVzXG7RgdC+0LTQtdGA0LbQuNGCINGI0LDQsdC70L7QvdC90YvQuSDQt9Cw0LPQvtC70L7QstC+0LogwqsqKiogU1VCSkVDVCBIRVJFICoqKsK7LiDQo9C60LDQttC40YLQtSDQv9Cw0YDQsNC80LXRgtGAIC0tZm9yY2UsINC10YHQu9C4INCy0YsgINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQvtGC0L/RgNCw0LLQuNGC0Ywg0LXQs9C+LlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1MgorbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCittc2dzdHIgItCa0L7QvNGDINC00L7Qu9C20L3RiyDQsdGL0YLRjCDQvtGC0L/RgNCw0LLQu9C10L3RiyDQv9C40YHRjNC80LAgKNC10YHQu9C4INC90YPQttC90L4pPyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NzAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiZmF0YWw6IGFsaWFzICclcycgZXhwYW5kcyB0byBpdHNlbGZcbiIKK21zZ3N0ciAi0LrRgNC40YLQuNGH0LXRgdC60LDRjyDQvtGI0LjQsdC60LA6INGB0L7QutGA0LDRidC10L3QuNC1IMKrJXPCuyDRgNCw0YHQutGA0YvQstCw0LXRgtGB0Y8g0YHQsNC80L4g0LIg0YHQtdCx0Y9cbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODIKK21zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgorbXNnc3RyICJNZXNzYWdlLUlEINC60L7RgtC+0YDRi9C5INC90YPQttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCyINC/0L7Qu9C1IEluLVJlcGx5LVRvINC00LvRjyDQv9C10YDQstC+0LPQviDQv9C40YHRjNC80LAgKNC10YHQu9C4INC90YPQttC90L4pPyAiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMyIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKK21zZ3N0ciAi0L7RiNC40LHQutCwOiDQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQtNC10LvQuNGC0Ywg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSDQsNC00YDQtdGBINC40Lc6ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDQKK21zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCittc2dzdHIgItCn0YLQviDQvdGD0LbQvdC+INGB0LTQtdC70LDRgtGMINGBINGN0YLQuNC8INCw0LTRgNC10YHQvtC8PyAoW3FdIC0g0LLRi9GF0L7QtHxbZF0gLSDQvtGC0LHRgNC+0YHQuNGC0Yx8W2VdIC0g0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwpOiAiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI0NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0L/Rg9GC0YwgQ0Egwqslc8K7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyMAorbXNnaWQgIiIKKyIgICAgVGhlIENjIGxpc3QgYWJvdmUgaGFzIGJlZW4gZXhwYW5kZWQgYnkgYWRkaXRpb25hbFxuIgorIiAgICBhZGRyZXNzZXMgZm91bmQgaW4gdGhlIHBhdGNoIGNvbW1pdCBtZXNzYWdlLiBCeSBkZWZhdWx0XG4iCisiICAgIHNlbmQtZW1haWwgcHJvbXB0cyBiZWZvcmUgc2VuZGluZyB3aGVuZXZlciB0aGlzIG9jY3Vycy5cbiIKKyIgICAgVGhpcyBiZWhhdmlvciBpcyBjb250cm9sbGVkIGJ5IHRoZSBzZW5kZW1haWwuY29uZmlybVxuIgorIiAgICBjb25maWd1cmF0aW9uIHNldHRpbmcuXG4iCisiXG4iCisiICAgIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLCBydW4gJ2dpdCBzZW5kLWVtYWlsIC0taGVscCcuXG4iCisiICAgIFRvIHJldGFpbiB0aGUgY3VycmVudCBiZWhhdmlvciwgYnV0IHNxdWVsY2ggdGhpcyBtZXNzYWdlLFxuIgorIiAgICBydW4gJ2dpdCBjb25maWcgLS1nbG9iYWwgc2VuZGVtYWlsLmNvbmZpcm0gYXV0bycuXG4iCisiXG4iCittc2dzdHIgIiAgICDQodC/0LjRgdC+0LogQ2MgKNC/0L7Qu9GD0YfQsNGC0LXQu9C10Lkg0LrQvtC/0LjQuCDQv9C40YHRjNC80LApINCx0YvQuyDRgNCw0YHRiNC40YDQtdC9INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LzQuFxuICAgINCw0LTRgNC10YHQsNC80LgsINC90LDQudC00LXQvdC90YvQvNC4INCyINGB0L7QvtCx0YnQtdC90LjQuCDQutC+0LzQvNC40YLQsCDQv9Cw0YLRh9CwLiDQn9C+INGD0LzQvtC70YfQsNC90LjRjlxuICAgIHNlbmQtZW1haWwg0L/QtdGA0LXRgdC/0LDRiNC40LLQsNC10YIg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0LksINC60L7Qs9C00LAg0L7QvdCwINC/0YDQvtC40YHRhdC+0LTQuNGCLlxuICAg0K3RgtC+INC/0L7QstC10LTQtdC90LjQtSDQvNC+0LbQtdGCINCx0YvRgtGMINC40LfQvNC10L3QtdC90L4g0L/QsNGA0LDQvNC10YLRgNC+0Lwg0YTQsNC50LvQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LhcbiAgICBzZW5kZW1haWwuY29uZmlybS5cblxuICAgINCU0LvRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4LCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgc2VuZC1lbWFpbCAtLWhlbHDCuy5cbiAgICDQp9GC0L7QsdGLINC+0YHRgtCw0LLQuNGC0Ywg0YLQtdC60YPRidC10LUg0L/QvtCy0LXQtNC10L3QuNC1LCDQvdC+INGB0LrRgNGL0YLRjCDRjdGC0L4g0YHQvtC+0LHRidC10L3QuNC1LFxuICAgINC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCBjb25maWcgLS1nbG9iYWwgc2VuZGVtYWlsLmNvbmZpcm0gYXV0b8K7LlxuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtxXSBbYV0gaW4geW91cgorIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMzNQorbXNnaWQgIlNlbmQgdGhpcyBlbWFpbD8gKFt5XWVzfFtuXW98W3FddWl0fFthXWxsKTogIgorbXNnc3RyICLQntGC0L/RgNCw0LLQuNGC0Ywg0Y3RgtC+INC/0LjRgdGM0LzQvj8gKFt5XSAtINC00LB8W25dIC0g0L3QtdGCfFtxXSAtINCy0YvRhdC+0LR8W2FdIC0g0LLRgdC1KTogIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMzgKK21zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCittc2dzdHIgItCe0YLQv9GA0LDQstC60LAg0Y3RgtC+0LPQviDQvtGC0LLQtdGC0LAg0L3QsCDQv9C40YHRjNC80L4g0L7QsdGP0LfQsNGC0LXQu9GM0L3QsCIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzY0Cittc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKK21zZ3N0ciAi0KLRgNC10LHRg9C10LzRi9C5IFNNVFAg0YHQtdGA0LLQtdGAINC90LUg0LHRi9C7INC/0YDQsNCy0LjQu9GM0L3QviDQvtCx0YrRj9Cy0LvQtdC9LiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDExCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKK21zZ3N0ciAi0KHQtdGA0LLQtdGAINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIFNUQVJUVExTISAlcyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDE2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTVEFSVFRMUyBmYWlsZWQhICVzIgorbXNnc3RyICLQntGI0LjQsdC60LAgU1RBUlRUTFMhICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MzAKK21zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMIFNNVFAuINCf0YDQvtCy0LXRgNGM0YLQtSDQstCw0YjQuCDQvdCw0YHRgtGA0L7QudC60Lgg0Lgg0L/QvtC/0YDQvtCx0YPQudGC0LUg0LfQsNC/0YPRgdGC0LjRgtGMINCyINC/0LDRgNCw0LzQtdGC0YDQvtC8IC0tc210cC1kZWJ1Zy4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ0OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2VuZCAlc1xuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0YLQv9GA0LDQstC40YLRjCAlc1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRHJ5LVNlbnQgJXNcbiIKK21zZ3N0ciAi0JjQvNC40YLQsNGG0LjRjyDQvtGC0L/RgNCw0LLQutC4ICVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTZW50ICVzXG4iCittc2dzdHIgItCe0YLQv9GA0LDQstC70LXQvdC+ICVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MworbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCittc2dzdHIgItCY0LzQuNGC0LDRhtC40Y8gT0suINCW0YPRgNC90LDQuyDRgdC+0LTQtdGA0LbQuNGCOlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTMKK21zZ2lkICJPSy4gTG9nIHNheXM6XG4iCittc2dzdHIgIk9LLiDQltGD0YDQvdCw0Lsg0YHQvtC00LXRgNC20LjRgjpcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDY1Cittc2dpZCAiUmVzdWx0OiAiCittc2dzdHIgItCg0LXQt9GD0LvRjNGC0LDRgjogIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjgKK21zZ2lkICJSZXN1bHQ6IE9LXG4iCittc2dzdHIgItCg0LXQt9GD0LvRjNGC0LDRgjogT0tcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDgxCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyAlcyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTI4IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICIobWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgorbXNnc3RyICIobWJveCkg0JTQvtCx0LDQstC70LXQvdC40LUgY2M6ICVzINGB0L4g0YHRgtGA0L7QutC4IMKrJXPCu1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MzQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKG1ib3gpIEFkZGluZyB0bzogJXMgZnJvbSBsaW5lICclcydcbiIKK21zZ3N0ciAiKG1ib3gpINCU0L7QsdCw0LLQu9C10L3QuNC1IHRvOiAlcyDRgdC+INGB0YLRgNC+0LrQuCDCqyVzwrtcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTgyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgorbXNnc3RyICIobm9uLW1ib3gpINCU0L7QsdCw0LLQu9C10L3QuNC1IGNjOiAlcyDRgdC+INGB0YLRgNC+0LrQuCDCqyVzwrtcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjA1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihib2R5KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCittc2dzdHIgIihib2R5KSDQlNC+0LHQsNCy0LvQtdC90LjQtSBjYzogJXMg0YHQviDRgdGC0YDQvtC60Lggwqslc8K7XG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICIoJXMpIENvdWxkIG5vdCBleGVjdXRlICclcyciCittc2dzdHIgIiglcykg0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgwqslc8K7IgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKK21zZ3N0ciAiKCVzKSDQlNC+0LHQsNCy0LvQtdC90LjQtSAlczogJXMg0LjQtzogwqslc8K7XG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMgorIywgcGVybC1mb3JtYXQKK21zZ2lkICIoJXMpIGZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICclcyciCittc2dzdHIgIiglcykg0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCDQv9C+0YLQvtC6INC6IMKrJXPCuyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzQ5Cittc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQv9GA0LDQstC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0LIgNyDQsdC40YLQvdC+0Lkg0LrQvtC00LjRgNC+0LLQutC1IgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NTcKK21zZ2lkICJpbnZhbGlkIHRyYW5zZmVyIGVuY29kaW5nIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0LrQvtC00LjRgNC+0LLQutCwINC/0LXRgNC10LTQsNGH0LgiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc5NSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NDYgZ2l0LXNlbmQtZW1haWwucGVybDoxODU2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuICVzOiAlc1xuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMICVzOiAlc1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGNvbnRhaW5zIGEgbGluZSBsb25nZXIgdGhhbiA5OTggY2hhcmFjdGVycyIKK21zZ3N0ciAiJXM6INC/0LDRgtGHINGB0L7QtNC10YDQttC40YIg0YHRgtGA0L7QutGDINC00LvQuNC90L3QtdC1INGH0LXQvCA5OTgg0YHQuNC80LLQvtC70L7QsiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODE0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nICVzIHdpdGggYmFja3VwIHN1ZmZpeCAnJXMnLlxuIgorbXNnc3RyICLQn9GA0L7Qv9GD0YHQutCw0Y4gJXMg0YEg0L7QutC+0L3Rh9Cw0L3QuNC10Lwg0YDQtdC30LXRgNCy0L3QvtC5INC60L7Qv9C40Lggwqslc8K7LlxuIgorCisjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKK21zZ3N0ciAi0JLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0L7RgtC/0YDQsNCy0LjRgtGMICVzPyBbeSAtINC00LB8TiAtINC90LXRgl06ICIKZGlmZiAtLWdpdCBhL3BvL3N2LnBvIGIvcG8vc3YucG8KaW5kZXggOTYzNDBkYy4uNDhjNTc2NSAxMDA2NDQKLS0tIGEvcG8vc3YucG8KKysrIGIvcG8vc3YucG8KQEAgLTUsNjAgKzUsNjAgQEAKICMKIG1zZ2lkICIiCiBtc2dzdHIgIiIKLSJQcm9qZWN0LUlkLVZlcnNpb246IGdpdCAyLjEyLjBcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdCAyLjE0LjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0xOCAwMTowMCswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxNy0wMi0yMCAxOTozOCswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDctMTkgMjI6MzUrMDIwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTctMDctMjAgMjI6NTYrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogUGV0ZXIgS3JlZnRpbmcgPHBldGVyQHNvZnR3b2x2ZXMucHAuc2U+XG4iCi0iTGFuZ3VhZ2UtVGVhbTogU3ZlbnNrYSA8dHAtc3ZAbGlzdG9yLnRwLXN2LnNlPlxuIgorIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHRwLXN2QGxpc3Rvci50cC1zdi5zZT5cbiIKICJMYW5ndWFnZTogc3ZcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKLSJYLUdlbmVyYXRvcjogR3RyYW5zbGF0b3IgMi45MS42XG4iCisiWC1HZW5lcmF0b3I6IFBvZWRpdCAyLjAuMlxuIgogCi0jOiBhZHZpY2UuYzo1NQorIzogYWR2aWNlLmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICJ0aXBzOiAlLipzXG4iCiAKLSM6IGFkdmljZS5jOjgzCisjOiBhZHZpY2UuYzo4NgogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkR1IGthbiBpbnRlIHV0ZsO2cmEgZW4gY2hlcnJ5LXBpY2sgZWZ0ZXJzb20gZHUgaGFyIGZpbGVyIHNvbSBpbnRlIHNsYWdpdHMgIgogInNhbW1hbi4iCiAKLSM6IGFkdmljZS5jOjg1CisjOiBhZHZpY2UuYzo4OAogbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiRHUga2FuIGludGUgdXRmw7ZyYSBlbiBpbmNoZWNrbmluZyBlZnRlcnNvbSBkdSBoYXIgZmlsZXIgc29tIGludGUgc2xhZ2l0cyAiCiAic2FtbWFuLiIKIAotIzogYWR2aWNlLmM6ODcKKyM6IGFkdmljZS5jOjkwCiBtc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJEdSBrYW4gaW50ZSB1dGbDtnJhIGVuIHNhbW1hbnNsYWduaW5nIGVmdGVyc29tIGR1IGhhciBmaWxlciBzb20gaW50ZSBzbGFnaXRzICIKICJzYW1tYW4uIgogCi0jOiBhZHZpY2UuYzo4OQorIzogYWR2aWNlLmM6OTIKIG1zZ2lkICJQdWxsaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkR1IGthbiBpbnRlIHV0ZsO2cmEgZW4gXCJwdWxsXCIgZWZ0ZXJzb20gZHUgaGFyIGZpbGVyIHNvbSBpbnRlIHNsYWdpdHMgc2FtbWFuLiIKIAotIzogYWR2aWNlLmM6OTEKKyM6IGFkdmljZS5jOjk0CiBtc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkR1IGthbiBpbnRlIHV0ZsO2cmEgZW4gXCJyZXZlcnRcIiBlZnRlcnNvbSBkdSBoYXIgZmlsZXIgc29tIGludGUgc2xhZ2l0cyAiCiAic2FtbWFuLiIKIAotIzogYWR2aWNlLmM6OTMKKyM6IGFkdmljZS5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkR1IGthbiBpbnRlIHV0ZsO2cmEgZW4gXCIlc1wiIGVmdGVyc29tIGR1IGhhciBmaWxlciBzb20gaW50ZSBzbGFnaXRzIHNhbW1hbi4iCiAKLSM6IGFkdmljZS5jOjEwMQorIzogYWR2aWNlLmM6MTA0CiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKQEAgLTY2LDIzICs2NiwyMyBAQAogIlLDpHR0YSBkZW0gaSBkaW4gYXJiZXRza2F0YWxvZyBvY2ggYW52w6RuZCBzZWRhbiBcImdpdCBhZGQvcm0gPGZpbD5cIlxuIgogInNvbSBsw6RtcGxpZ3QgZsO2ciBhdHQgYW5nZSBsw7ZzbmluZyBvY2ggY2hlY2thIGluLiIKIAotIzogYWR2aWNlLmM6MTA5CisjOiBhZHZpY2UuYzoxMTIKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCiBtc2dzdHIgIkF2c2x1dGFyIHDDpSBncnVuZCBhdiBvbMO2c3Qga29uZmxpa2d0LiIKIAotIzogYWR2aWNlLmM6MTE0IGJ1aWx0aW4vbWVyZ2UuYzoxMjA2CisjOiBhZHZpY2UuYzoxMTcgYnVpbHRpbi9tZXJnZS5jOjExODQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIkR1IGhhciBpbnRlIGF2c2x1dGF0IHNhbW1hbnNsYWduaW5nZW4gKE1FUkdFX0hFQUQgZmlubnMpLiIKIAotIzogYWR2aWNlLmM6MTE2CisjOiBhZHZpY2UuYzoxMTkKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICJDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGlubmFuIGR1IHV0ZsO2ciBzYW1tYW5zbGFnbmluZ2VuLiIKIAotIzogYWR2aWNlLmM6MTE3CisjOiBhZHZpY2UuYzoxMjAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIkF2c2x1dGFyIHDDpSBncnVuZCBhdiBvZnVsbGJvcmRhZCBzYW1tYW5zbGFnbmluZy4iCiAKLSM6IGFkdmljZS5jOjEyMworIzogYWR2aWNlLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKQEAgLTExMSw4MiArMTExLDkyIEBACiAiICBnaXQgY2hlY2tvdXQgLWIgPG5hbW4tcMOlLW55LWdyZW4+XG4iCiAiXG4iCiAKLSM6IGFwcGx5LmM6NTcKKyM6IGFwcGx5LmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgIm9rw6RudCBhbHRlcm5hdGl2IGbDtnIgd2hpdGVzcGFjZTogXCIlc1wiIgogCi0jOiBhcHBseS5jOjczCisjOiBhcHBseS5jOjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKIG1zZ3N0ciAib2vDpG50IGFsdGVybmF0aXYgZsO2ciBpZ25vcmUtd2hpdGVzcGFjZTogXCIlc1wiIgogCi0jOiBhcHBseS5jOjEyNQorIzogYXBwbHkuYzoxMjYKIG1zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKLW1zZ3N0ciAiLS1yZWplY3Qgb2NoIC0tM3dheSBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgorbXNnc3RyICItLXJlamVjdCBvY2ggLS0zd2F5IGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QuIgogCi0jOiBhcHBseS5jOjEyNworIzogYXBwbHkuYzoxMjgKIG1zZ2lkICItLWNhY2hlZCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKLW1zZ3N0ciAiLS1jYWNoZWQgb2NoIC0tM3dheSBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgorbXNnc3RyICItLWNhY2hlZCBvY2ggLS0zd2F5IGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QuIgogCi0jOiBhcHBseS5jOjEzMAorIzogYXBwbHkuYzoxMzEKIG1zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tM3dheSB1dGFuZsO2ciBhcmtpdiIKIAotIzogYXBwbHkuYzoxNDEKKyM6IGFwcGx5LmM6MTQyCiBtc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1pbmRleCB1dGFuZsO2ciBhcmtpdiIKIAotIzogYXBwbHkuYzoxNDQKKyM6IGFwcGx5LmM6MTQ1CiBtc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tY2FjaGVkIHV0YW5mw7ZyIGFya2l2IgogCi0jOiBhcHBseS5jOjg0NQorIzogYXBwbHkuYzo4MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKIG1zZ3N0ciAiS2FuIGludGUgZsO2cmJlcmVkYSByZWd1bGrDpHJ0IHV0dHJ5Y2sgZsO2ciB0aWRzc3TDpG1wZWxuICVzIgogCi0jOiBhcHBseS5jOjg1NAorIzogYXBwbHkuYzo4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgogbXNnc3RyICJyZWdleGVjIHJldHVybmVyYWRlICVkIGbDtnIgaW5kYXRhOiAlcyIKIAotIzogYXBwbHkuYzo5MzgKKyM6IGFwcGx5LmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgImthbiBpbnRlIGhpdHRhIGZpbG5hbW4gaSBwYXRjaGVuIHDDpSByYWQgJWQiCiAKLSM6IGFwcGx5LmM6OTc3CisjOiBhcHBseS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gZsO2cnbDpG50YWRlIC9kZXYvbnVsbCwgZmljayAlcyBww6UgcmFkICVkIgogCi0jOiBhcHBseS5jOjk4MworIzogYXBwbHkuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gbW90c8OkZ2FuZGUgbnl0dCBmaWxuYW1uIHDDpSByYWQgJWQiCiAKLSM6IGFwcGx5LmM6OTg0CisjOiBhcHBseS5jOjk3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiBkw6VsaWcgZ2l0LWRpZmYgLSBtb3Rzw6RnYW5kZSBnYW1tYWx0IGZpbG5hbW4gcMOlIHJhZCAlZCIKIAotIzogYXBwbHkuYzo5OTAKKyM6IGFwcGx5LmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gZsO2cnbDpG50YWRlIC9kZXYvbnVsbCBww6UgcmFkICVkIgogCi0jOiBhcHBseS5jOjE0ODgKKyM6IGFwcGx5LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCittc2dzdHIgIm9naWx0aWd0IGzDpGdlIHDDpSByYWQgJWQ6ICVzIgorCisjOiBhcHBseS5jOjEzMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiCittc2dzdHIgImh1dnVkZXQgw6RyIGlua29uc2VrdmVudCBtZWxsYW4gcmFkICVkIG9jaCAlZCIKKworIzogYXBwbHkuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKIG1zZ3N0ciAicmVjb3VudDogZsO2cnbDpG50YWRlIHJhZDogJS4qcyIKIAotIzogYXBwbHkuYzoxNTU3CisjOiBhcHBseS5jOjE1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAicGF0Y2gtZnJhZ21lbnQgdXRhbiBodXZ1ZCBww6UgcmFkICVkOiAlLipzIgogCi0jOiBhcHBseS5jOjE1NzcKKyM6IGFwcGx5LmM6MTU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCkBAIC0yMDIsODIgKzIxMiw4MiBAQAogInPDtmt2w6Rnc2tvbXBvbmVudGVyXG4iCiAidGFzIGJvcnQgKHJhZCAlZCkiCiAKLSM6IGFwcGx5LmM6MTU4OQorIzogYXBwbHkuYzoxNjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgImdpdC1kaWZmLWh1dnVkZXQgc2FrbmFyIGZpbG5hbW5zaW5mb3JtYXRpb24gKHJhZCAlZCkiCiAKLSM6IGFwcGx5LmM6MTc1OQorIzogYXBwbHkuYzoxNzcwCiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgIm55IGZpbCBiZXJvciBww6UgZ2FtbWFsdCBpbm5laMOlbGwiCiAKLSM6IGFwcGx5LmM6MTc2MQorIzogYXBwbHkuYzoxNzcyCiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiYm9ydHRhZ2VuIGZpbCBoYXIgZm9ydGZhcmFuZGUgaW5uZWjDpWxsIgogCi0jOiBhcHBseS5jOjE3OTUKKyM6IGFwcGx5LmM6MTgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgInRyYXNpZyBwYXRjaCBww6UgcmFkICVkIgogCi0jOiBhcHBseS5jOjE4MzIKKyM6IGFwcGx5LmM6MTg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAibnlhIGZpbGVuICVzIGJlcm9yIHDDpSBnYW1tYWx0IGlubmVow6VsbCIKIAotIzogYXBwbHkuYzoxODM0CisjOiBhcHBseS5jOjE4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiYm9ydHRhZ25hIGZpbGVuICVzIGhhciBmb3J0ZmFyYW5kZSBpbm5laMOlbGwiCiAKLSM6IGFwcGx5LmM6MTgzNworIzogYXBwbHkuYzoxODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqIHZhcm5pbmc6IGZpbGVuICVzIGJsaXIgdG9tIG1lbiBoYXIgaW50ZSB0YWdpdHMgYm9ydCIKIAotIzogYXBwbHkuYzoxOTg0CisjOiBhcHBseS5jOjE5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAidHJhc2lnIGJpbsOkcnBhdGNoIHDDpSByYWQgJWQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MjAyMQorIzogYXBwbHkuYzoyMDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAiYmluw6RycGF0Y2hlbiBww6UgcmFkICVkIGvDpG5ucyBpbnRlIGlnZW4iCiAKLSM6IGFwcGx5LmM6MjE4MgorIzogYXBwbHkuYzoyMTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCiBtc2dzdHIgInBhdGNoIG1lZCBiYXJhIHNrcsOkcCBww6UgcmFkICVkIgogCi0jOiBhcHBseS5jOjIyNjUKKyM6IGFwcGx5LmM6MjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIHN5bWJvbGlza2EgbMOkbmtlbiAlcyIKIAotIzogYXBwbHkuYzoyMjY5CisjOiBhcHBseS5jOjIyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgZWxsZXIgbMOkc2EgJXMiCiAKLSM6IGFwcGx5LmM6MjkyMgorIzogYXBwbHkuYzoyOTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKIG1zZ3N0ciAiZmVsYWt0aWcgaW5sZWRuaW5nIHDDpSByYWQ6IFwiJWNcIiIKIAotIzogYXBwbHkuYzozMDQxCisjOiBhcHBseS5jOjMwNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgogbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgogbXNnc3RyWzBdICJTdHlja2UgJWQgbHlja2FkZXMgcMOlICVkIChvZmZzZXQgJWQgcmFkKS4iCiBtc2dzdHJbMV0gIlN0eWNrZSAlZCBseWNrYWRlcyBww6UgJWQgKG9mZnNldCAlZCByYWRlcikuIgogCi0jOiBhcHBseS5jOjMwNTMKKyM6IGFwcGx5LmM6MzA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgogbXNnc3RyICJTYW1tYW5oYW5nIHJlZHVjZXJhdCB0aWxsICglbGQvJWxkKSBmw7ZyIGF0dCB0aWxsw6RtcGEgZnJhZ21lbnQgdmlkICVkIgogCi0jOiBhcHBseS5jOjMwNTkKKyM6IGFwcGx5LmM6MzA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKQEAgLTI4NiwyNSArMjk2LDI1IEBACiAidmlkIHPDtmtuaW5nIGVmdGVyOlxuIgogIiUuKnMiCiAKLSM6IGFwcGx5LmM6MzA4MQorIzogYXBwbHkuYzozMDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCiBtc2dzdHIgInNha25hciBiaW7DpHJhIHBhdGNoZGF0YSBmw7ZyIFwiJXNcIiIKIAotIzogYXBwbHkuYzozMDg5CisjOiBhcHBseS5jOjMxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCiBtc2dzdHIgIiIKICJrYW4gaW50ZSBhcHBsaWNlcmEgZW4gYmluw6RycGF0Y2ggYmFrbMOkbmdlcyB1dGFuIGRlbiBvbXbDpG5kYSBwYXRjaGVuIGbDtnIgXCIlcyIKICJcIiIKIAotIzogYXBwbHkuYzozMTM1CisjOiBhcHBseS5jOjMxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgogbXNnc3RyICIiCiAia2FuIGludGUgYXBwbGljZXJhIGJpbsOkcnBhdGNoIHDDpSBcIiVzXCIgdXRhbiBkZW4gZnVsbHN0w6RuZGlnYSBpbmRleHJhZGVuIgogCi0jOiBhcHBseS5jOjMxNDUKKyM6IGFwcGx5LmM6MzE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCkBAIC0zMTIsNTM4ICszMjIsNTQzIEBACiAicGF0Y2hlbiBhcHBsaWNlcmFzIHDDpSBcIiVzXCIgKCVzKSwgc29tIGludGUgbW90c3ZhcmFyIGRldCBudXZhcmFuZGUgIgogImlubmVow6VsbGV0LiIKIAotIzogYXBwbHkuYzozMTUzCisjOiBhcHBseS5jOjMxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgogbXNnc3RyICJwYXRjaGVuIGFwcGxpY2VyYXMgcMOlIGVuIHRvbSBcIiVzXCIsIG1lbiBkZW4gw6RyIGludGUgdG9tIgogCi0jOiBhcHBseS5jOjMxNzEKKyM6IGFwcGx5LmM6MzE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAibsO2ZHbDpG5kaWcgZWZ0ZXJiaWxkICVzIGbDtnIgXCIlc1wiIGthbiBpbnRlIGzDpHNhcyIKIAotIzogYXBwbHkuYzozMTg0CisjOiBhcHBseS5jOjMxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCiBtc2dzdHIgImJpbsOkcnBhdGNoZW4ga2FuIGludGUgdGlsbMOkbXBhcyBww6UgXCIlc1wiIgogCi0jOiBhcHBseS5jOjMxOTAKKyM6IGFwcGx5LmM6MzIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKIG1zZ3N0ciAiYmluw6RycGF0Y2hlbiBww6UgXCIlc1wiIGdlciBmZWxha3RpZ3QgcmVzdWx0YXQgKGbDtnJ2w6RudGFkZSAlcywgZmljayAlcykiCiAKLSM6IGFwcGx5LmM6MzIxMQorIzogYXBwbHkuYzozMjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgogbXNnc3RyICJwYXRjaCBtaXNzbHlja2FkZXM6ICVzOiVsZCIKIAotIzogYXBwbHkuYzozMzMzCisjOiBhcHBseS5jOjMzNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICJrYW4gaW50ZSBjaGVja2EgdXQgJXMiCiAKLSM6IGFwcGx5LmM6MzM4MSBhcHBseS5jOjMzOTIgYXBwbHkuYzozNDM4IHNldHVwLmM6MjQ4CisjOiBhcHBseS5jOjMzOTIgYXBwbHkuYzozNDAzIGFwcGx5LmM6MzQ0OSBzZXR1cC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhICVzIgogCi0jOiBhcHBseS5jOjMzODkKKyM6IGFwcGx5LmM6MzQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJsw6RzZXIgZnLDpW4gXCIlc1wiIHNvbSDDpHIgcMOlIGFuZHJhIHNpZGFuIGF2IGVuIHN5bWJvbGlzayBsw6RuayIKIAotIzogYXBwbHkuYzozNDE4IGFwcGx5LmM6MzY1OAorIzogYXBwbHkuYzozNDI5IGFwcGx5LmM6MzY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAic8O2a3bDpGdlbiAlcyBoYXIgw6RuZHJhdCBuYW1uL3RhZ2l0cyBib3J0IgogCi0jOiBhcHBseS5jOjM1MDEgYXBwbHkuYzozNjcyCisjOiBhcHBseS5jOjM1MTIgYXBwbHkuYzozNjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6IGZpbm5zIGludGUgaSBpbmRleGV0IgogCi0jOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgwCisjOiBhcHBseS5jOjM1MjEgYXBwbHkuYzozNjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXM6IG1vdHN2YXJhciBpbnRlIGluZGV4ZXQiCiAKLSM6IGFwcGx5LmM6MzU0NQorIzogYXBwbHkuYzozNTU2CiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogImFya2l2ZXQgc2FrbmFyIG9iamVrdCBzb20gYmVow7Z2cyBmw7ZyIGF0dCBmYWxsYSB0aWxsYmFrYSBww6UgMy0iCiAidsOkZ3NzYW1tYW5zbGFnbmluZy4iCiAKLSM6IGFwcGx5LmM6MzU0OAorIzogYXBwbHkuYzozNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiRmFsbGVyIHRpbGxiYWthIHDDpSB0cmV2w6Rnc3NhbW1hbnNsYWduaW5nLi4uXG4iCiAKLSM6IGFwcGx5LmM6MzU2NCBhcHBseS5jOjM1NjgKKyM6IGFwcGx5LmM6MzU3NSBhcHBseS5jOjM1NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBha3R1ZWxsdCBpbm5laMOlbGwgaSBcIiVzXCIiCiAKLSM6IGFwcGx5LmM6MzU4MAorIzogYXBwbHkuYzozNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBmYWxsYSB0aWxsYmFrYSBww6UgdHJldsOkZ3NzYW1tYW5zbGFnbmluZy4uLlxuIgogCi0jOiBhcHBseS5jOjM1OTQKKyM6IGFwcGx5LmM6MzYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgIkFwcGxpY2VyYWRlIHBhdGNoZW4gcMOlIFwiJXNcIiBtZWQga29uZmxpa3Rlci5cbiIKIAotIzogYXBwbHkuYzozNTk5CisjOiBhcHBseS5jOjM2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCiBtc2dzdHIgIlRpbGzDpG1wYWRlIHBhdGNoZW4gcMOlICBcIiVzXCIgcmVudC5cbiIKIAotIzogYXBwbHkuYzozNjI1CisjOiBhcHBseS5jOjM2MzYKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICJwYXRjaCBmw7ZyIGJvcnR0YWduaW5nIGzDpG1uYXIga3ZhciBmaWxpbm5laMOlbGwiCiAKLSM6IGFwcGx5LmM6MzY5NworIzogYXBwbHkuYzozNzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIlczogZmVsIHR5cCIKIAotIzogYXBwbHkuYzozNjk5CisjOiBhcHBseS5jOjM3MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgogbXNnc3RyICIlcyBoYXIgdHlwZW4gJW8sIGbDtnJ2w6RudGFkZSAlbyIKIAotIzogYXBwbHkuYzozODUwIGFwcGx5LmM6Mzg1MgorIzogYXBwbHkuYzozODYwIGFwcGx5LmM6Mzg2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKLW1zZ3N0ciAib2dpbHRpZyBzw7ZrdsOkZzogJXMiCittc2dzdHIgIm9naWx0aWcgc8O2a3bDpGcg4oCdJXPigJ0iCiAKLSM6IGFwcGx5LmM6MzkwOAorIzogYXBwbHkuYzozOTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6IGZpbm5zIHJlZGFuIGkgaW5kZXhldCIKIAotIzogYXBwbHkuYzozOTExCisjOiBhcHBseS5jOjM5MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICIlczogZmlubnMgcmVkYW4gaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGFwcGx5LmM6MzkzMQorIzogYXBwbHkuYzozOTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKIG1zZ3N0ciAibnl0dCBsw6RnZSAoJW8pIGbDtnIgJXMgbW90c3ZhcmFyIGludGUgZ2FtbWFsdCBsw6RnZSAoJW8pIgogCi0jOiBhcHBseS5jOjM5MzYKKyM6IGFwcGx5LmM6Mzk0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCiBtc2dzdHIgIm55dHQgbMOkZ2UgKCVvKSBmw7ZyICVzIG1vdHN2YXJhciBpbnRlIGdhbW1hbHQgbMOkZ2UgKCVvKSBmw7ZyICVzIgogCi0jOiBhcHBseS5jOjM5NTYKKyM6IGFwcGx5LmM6Mzk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiZGVuIGJlcsO2cmRhIGZpbGVuIFwiJXNcIiDDpHIgcMOlIGFuZHJhIHNpZGFuIGF2IGVuIHN5bWJvbGlzayBsw6RuayIKIAotIzogYXBwbHkuYzozOTYwCisjOiBhcHBseS5jOjM5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICIlczogcGF0Y2hlbiBrYW4gaW50ZSB0aWxsw6RtcGFzIgogCi0jOiBhcHBseS5jOjM5NzUKKyM6IGFwcGx5LmM6Mzk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAiS29udHJvbGxlcmFyIHBhdGNoZW4gJXMuLi4iCiAKLSM6IGFwcGx5LmM6NDA2NgorIzogYXBwbHkuYzo0MDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgInNoYTEtaW5mb3JtYXRpb25lbiBzYWtuYXMgZWxsZXIgw6RyIG9hbnbDpG5kYmFyIGbDtnIgdW5kZXJtb2R1bGVuICVzIgogCi0jOiBhcHBseS5jOjQwNzMKKyM6IGFwcGx5LmM6NDA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCiBtc2dzdHIgIm55dHQgbMOkZ2UgZsO2ciAlcywgc29tIGludGUgZmlubnMgaSBudXZhcmFuZGUgSEVBRCIKIAotIzogYXBwbHkuYzo0MDc2CisjOiBhcHBseS5jOjQwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgInNoYTEtaW5mb3JtYXRpb25lbiBzYWtuYXMgZWxsZXIgw6RyIG9hbnbDpG5kYmFyICglcykuIgogCi0jOiBhcHBseS5jOjQwODEgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1CisjOiBhcHBseS5jOjQwOTEgYnVpbHRpbi9jaGVja291dC5jOjIzNSBidWlsdGluL3Jlc2V0LmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgbWlzc2x5Y2thZGVzIGbDtnIgc8O2a3bDpGdlbiBcIiVzXCIiCiAKLSM6IGFwcGx5LmM6NDA4NQorIzogYXBwbHkuYzo0MDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpGdnYSB0aWxsICVzIHRpbGwgdGVtcG9yw6RydCBpbmRleCIKIAotIzogYXBwbHkuYzo0MDk1CisjOiBhcHBseS5jOjQxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgdGVtcG9yw6RydCBpbmRleCB0aWxsICVzIgogCi0jOiBhcHBseS5jOjQyMzMKKyM6IGFwcGx5LmM6NDI0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCiBtc2dzdHIgImthbiBpbnRlIHRhIGJvcnQgJXMgZnLDpW4gaW5kZXhldCIKIAotIzogYXBwbHkuYzo0MjY4CisjOiBhcHBseS5jOjQyNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICJ0cmFzaWcgcGF0Y2ggZsO2ciB1bmRlcm1vZHVsZW4gJXMiCiAKLSM6IGFwcGx5LmM6NDI3NAorIzogYXBwbHkuYzo0Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSB0YSBzdGF0dXMgcMOlIG55bGlnZW4gc2thcGFkZSBmaWxlbiBcIiVzXCIiCiAKLSM6IGFwcGx5LmM6NDI4MgorIzogYXBwbHkuYzo0MjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgogbXNnc3RyICJrYW4gaW50ZSBza2FwYSBzw6RrZXJoZXRzbWlubmUgZsO2ciBueWxpZ2VuIHNrYXBhZGUgZmlsZW4gJXMiCiAKLSM6IGFwcGx5LmM6NDI4OCBhcHBseS5jOjQ0MzIKKyM6IGFwcGx5LmM6NDI5OCBhcHBseS5jOjQ0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgImthbiBpbnRlIGzDpGdnYSB0aWxsIGNhY2hlcG9zdCBmw7ZyICVzIgogCi0jOiBhcHBseS5jOjQzMjkKKyM6IGFwcGx5LmM6NDMzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrcml2YSB0aWxsIFwiJXNcIiIKIAotIzogYXBwbHkuYzo0MzMzCisjOiBhcHBseS5jOjQzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgInN0w6RuZ2VyIGZpbGVuIFwiJXNcIiIKIAotIzogYXBwbHkuYzo0NDAzCisjOiBhcHBseS5jOjQ0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgogbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgZmlsZW4gXCIlc1wiIGzDpGdlICVvIgogCi0jOiBhcHBseS5jOjQ1MDEKKyM6IGFwcGx5LmM6NDUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICJUaWxsw6RtcGFkZSBwYXRjaGVuICVzIHJlbnQuIgogCi0jOiBhcHBseS5jOjQ1MDkKKyM6IGFwcGx5LmM6NDUxOQogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICJpbnRlcm50IGZlbCIKIAotIzogYXBwbHkuYzo0NTEyCisjOiBhcHBseS5jOjQ1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgogbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgogbXNnc3RyWzBdICJUaWxsw6RtcGFkZSBwYXRjaGVuICUlcyBtZWQgJWQgcmVmdXNlcmFkLi4uIgogbXNnc3RyWzFdICJUaWxsw6RtcGFkZSBwYXRjaGVuICUlcyBtZWQgJWQgcmVmdXNlcmFkZS4uLiIKIAotIzogYXBwbHkuYzo0NTIzCisjOiBhcHBseS5jOjQ1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgogbXNnc3RyICJ0cnVua2VyYXIgLnJlai1maWxuYW1uZXQgdGlsbCAlLipzLnJlaiIKIAotIzogYXBwbHkuYzo0NTMxIGJ1aWx0aW4vZmV0Y2guYzo3MzcgYnVpbHRpbi9mZXRjaC5jOjk4NgorIzogYXBwbHkuYzo0NTQxIGJ1aWx0aW4vZmV0Y2guYzo3MzggYnVpbHRpbi9mZXRjaC5jOjk4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKIG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hICVzIgogCi0jOiBhcHBseS5jOjQ1NDUKKyM6IGFwcGx5LmM6NDU1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgogbXNnc3RyICJTdHlja2UgJWQgdGlsbMOkbXBhZGVzIHJlbnQuIgogCi0jOiBhcHBseS5jOjQ1NDkKKyM6IGFwcGx5LmM6NDU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCiBtc2dzdHIgIlJlZnVzZXJhciBzdHlja2UgJWQuIgogCi0jOiBhcHBseS5jOjQ2NTkKKyM6IGFwcGx5LmM6NDY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgogbXNnc3RyICJJZ25vcmVyYXIgcGF0Y2ggXCIlc1wiLiIKIAotIzogYXBwbHkuYzo0NjY3CisjOiBhcHBseS5jOjQ2NzcKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCiBtc2dzdHIgImluZGF0YSBrw6RubnMgaW50ZSBpZ2VuIgogCi0jOiBhcHBseS5jOjQ2ODYKKyM6IGFwcGx5LmM6NDY5NgogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGluZGV4ZmlsZW4iCiAKLSM6IGFwcGx5LmM6NDgyNAorIzogYXBwbHkuYzo0ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBwYXRjaGVuIFwiJXNcIjogJXMiCiAKLSM6IGFwcGx5LmM6NDg0OQorIzogYXBwbHkuYzo0ODYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHJbMF0gInVuZGVydHJ5Y2t0ZSAlZCBmZWwgaSBibGFua3N0ZWciCiBtc2dzdHJbMV0gInVuZGVydHJ5Y2t0ZSAlZCBmZWwgaSBibGFua3N0ZWciCiAKLSM6IGFwcGx5LmM6NDg1NSBhcHBseS5jOjQ4NzAKKyM6IGFwcGx5LmM6NDg2NiBhcHBseS5jOjQ4ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAiJWQgcmFkIGzDpGdnZXIgdGlsbCBmZWwgaSBibGFua3N0ZWcuIgogbXNnc3RyWzFdICIlZCByYWRlciBsw6RnZ2VyIHRpbGwgZmVsIGkgYmxhbmtzdGVnLiIKIAotIzogYXBwbHkuYzo0ODYzCisjOiBhcHBseS5jOjQ4NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAiJWQgcmFkIGFwcGxpY2VyYWRlIGVmdGVyIGF0dCBoYSByw6R0dGF0IGZlbCBpIGJsYW5rc3RlZy4iCiBtc2dzdHJbMV0gIiVkIHJhZGVyIGFwcGxpY2VyYWRlIGVmdGVyIGF0dCBoYSByw6R0dGF0IGZlbCBpIGJsYW5rc3RlZy4iCiAKLSM6IGFwcGx5LmM6NDg3OSBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjk4IGJ1aWx0aW4vcm0uYzozOTEKKyM6IGFwcGx5LmM6NDg5MCBidWlsdGluL2FkZC5jOjUxMyBidWlsdGluL212LmM6Mjk5IGJ1aWx0aW4vcm0uYzozOTEKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCi0jOiBhcHBseS5jOjQ5MTAgYXBwbHkuYzo0OTEzIGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCi0jOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vcHVsbC5jOjE4MAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDQKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBhcHBseS5jOjQ5MjEgYXBwbHkuYzo0OTI0IGJ1aWx0aW4vYW0uYzoyMjU3IGJ1aWx0aW4vYW0uYzoyMjYwCisjOiBidWlsdGluL2Nsb25lLmM6MTE1IGJ1aWx0aW4vZmV0Y2guYzo5MyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInBhdGgiCiBtc2dzdHIgInPDtmt2w6RnIgogCi0jOiBhcHBseS5jOjQ5MTEKKyM6IGFwcGx5LmM6NDkyMgogbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgInRpbGzDpG1wYSBpbnRlIMOkbmRyaW5nYXIgc29tIG1vdHN2YXJhciBnaXZlbiBzw7ZrdsOkZyIKIAotIzogYXBwbHkuYzo0OTE0CisjOiBhcHBseS5jOjQ5MjUKIG1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICJ0aWxsw6RtcGEgw6RuZHJpbmdhciBzb20gbW90c3ZhcmFyIGdpdmVuIHPDtmt2w6RnIgogCi0jOiBhcHBseS5jOjQ5MTYgYnVpbHRpbi9hbS5jOjIyODYKKyM6IGFwcGx5LmM6NDkyNyBidWlsdGluL2FtLmM6MjI2NgogbXNnaWQgIm51bSIKIG1zZ3N0ciAiYW50YWwiCiAKLSM6IGFwcGx5LmM6NDkxNworIzogYXBwbHkuYzo0OTI4CiBtc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCiBtc2dzdHIgInRhIGJvcnQgPGFudGFsPiBpbmxlZGFuZGUgc25lZHN0cmVjayBmcsOlbiB0cmFkaXRpb25lbGxhIGRpZmYtc8O2a3bDpGdhciIKIAotIzogYXBwbHkuYzo0OTIwCisjOiBhcHBseS5jOjQ5MzEKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICJpZ25vcmVyYSB0aWxsw6RnZyBnam9yZGEgYXYgcGF0Y2hlbiIKIAotIzogYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MzMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgImlzdMOkbGxldCBmw7ZyIGF0dCB0aWxsw6RtcGEgcGF0Y2hlbiwgc2tyaXYgdXQgZGlmZnN0YXQgZsO2ciBpbmRhdGEiCiAKLSM6IGFwcGx5LmM6NDkyNgorIzogYXBwbHkuYzo0OTM3CiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKIG1zZ3N0ciAidmlzYSBhbnRhbCB0aWxsYWdkYSBvY2ggYm9ydHRhZ25hIHJhZGVyIGRlY2ltYWx0IgogCi0jOiBhcHBseS5jOjQ5MjgKKyM6IGFwcGx5LmM6NDkzOQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgImlzdMOkbGxldCBmw7ZyIGF0dCB0aWxsw6RtcGEgcGF0Y2hlbiwgc2tyaXYgdXQgZW4gc3VtbWVyaW5nIGF2IGluZGF0YSIKIAotIzogYXBwbHkuYzo0OTMwCisjOiBhcHBseS5jOjQ5NDEKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgogbXNnc3RyICJpc3TDpGxsZXQgZsO2ciBhdHQgdGlsbMOkbXBhIHBhdGNoZW4sIHNlIG9tIHBhdGNoZW4ga2FuIHRpbGzDpG1wYXMiCiAKLSM6IGFwcGx5LmM6NDkzMgorIzogYXBwbHkuYzo0OTQzCiBtc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICJzZSB0aWxsIGF0dCBwYXRjaGVuIGthbiB0aWxsw6RtcGFzIHDDpSBha3R1ZWxsdCBpbmRleCIKIAotIzogYXBwbHkuYzo0OTM0CisjOiBhcHBseS5jOjQ5NDUKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAidGlsbMOkbXBhIGVuIHBhdGNoIHV0YW4gYXR0IHLDtnJhIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYXBwbHkuYzo0OTM2CisjOiBhcHBseS5jOjQ5NDcKIG1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgogbXNnc3RyICJnb2R0YSBlbiBwYXRjaCBzb20gcsO2ciBmaWxlciB1dGFuZsO2ciBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGFwcGx5LmM6NDkzOAorIzogYXBwbHkuYzo0OTQ5CiBtc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiBtc2dzdHIgInRpbGzDpG1wYSBvY2tzw6UgcGF0Y2hlbiAoYW52w6RuZCBtZWQgLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIAotIzogYXBwbHkuYzo0OTQwCisjOiBhcHBseS5jOjQ5NTEKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICJmw7Zyc8O2ayBlbiB0cmV2w6Rnc3NhbW1hbnNsYWduaW5nIG9tIHBhdGNoZW4gaW50ZSBrYW4gdGlsbMOkbXBhcyIKIAotIzogYXBwbHkuYzo0OTQyCisjOiBhcHBseS5jOjQ5NTMKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiYnlnZyBldHQgdGVtcG9yw6RydCBpbmRleCBiYXNlcmF0IHDDpSBpbmJ5Z2dkIGluZGV4aW5mb3JtYXRpb24iCiAKLSM6IGFwcGx5LmM6NDk0NSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDcKKyM6IGFwcGx5LmM6NDk1NiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTUKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAic8O2a3bDpGdhciBhdmRlbGFzIG1lZCBOVUwtdGVja2VuIgogCi0jOiBhcHBseS5jOjQ5NDcKKyM6IGFwcGx5LmM6NDk1OAogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAic2UgdGlsbCBhdHQgw6V0bWluc3RvbmUgPG4+IHJhZGVyIHNhbW1hbmhhbmcgw6RyIGxpa2EiCiAKLSM6IGFwcGx5LmM6NDk0OCBidWlsdGluL2FtLmM6MjI2NQorIzogYXBwbHkuYzo0OTU5IGJ1aWx0aW4vYW0uYzoyMjQ1CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICLDpXRnw6RyZCIKIAotIzogYXBwbHkuYzo0OTQ5CisjOiBhcHBseS5jOjQ5NjAKIG1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0ciAiZGV0ZWt0ZXJhIG55YSBlbGxlciDDpG5kcmFkZSByYWRlciBzb20gaGFyIGZlbCBpIGJsYW5rdGVja2VuIgogCi0jOiBhcHBseS5jOjQ5NTIgYXBwbHkuYzo0OTU1CisjOiBhcHBseS5jOjQ5NjMgYXBwbHkuYzo0OTY2CiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAiaWdub3JlcmEgw6RuZHJpbmdhciBpIGJsYW5rdGVja2VuIGbDtnIgc2FtbWFuaGFuZyIKIAotIzogYXBwbHkuYzo0OTU4CisjOiBhcHBseS5jOjQ5NjkKIG1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKIG1zZ3N0ciAidGlsbMOkbXBhIHBhdGNoZW4gYmFrbMOkbmdlcyIKIAotIzogYXBwbHkuYzo0OTYwCisjOiBhcHBseS5jOjQ5NzEKIG1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKIG1zZ3N0ciAiZsO2cnbDpG50YSBpbnRlIG1pbnN0IGVuIHJhZCBzYW1tYW5oYW5nIgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk3MwogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICJsw6RtbmEgcmVmdXNlcmFkZSBzdHlja2VuIGkgbW90c3ZhcmFuZGUgKi5yZWotZmlsZXIiCiAKLSM6IGFwcGx5LmM6NDk2NAorIzogYXBwbHkuYzo0OTc1CiBtc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCiBtc2dzdHIgInRpbGzDpXQgw7Z2ZXJsYXBwYW5kZSBzdHlja2VuIgogCi0jOiBhcHBseS5jOjQ5NjUgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjY1MQotIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKKyM6IGFwcGx5LmM6NDk3NiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjUxCisjOiBidWlsdGluL2xvZy5jOjE4NzcgYnVpbHRpbi9tdi5jOjEyMyBidWlsdGluL3JlYWQtdHJlZS5jOjEyNQogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgInZhciBwcmF0c2FtIgogCi0jOiBhcHBseS5jOjQ5NjcKKyM6IGFwcGx5LmM6NDk3OAogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICJ0b2xlcmVyYSBmZWxha3RpZ3QgZGV0ZWt0ZXJhZGUgc2FrbmFkZSBueXJhZHN0ZWNrZW4gdmlkIGZpbHNsdXQiCiAKLSM6IGFwcGx5LmM6NDk3MAorIzogYXBwbHkuYzo0OTgxCiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICJsaXRlIGludGUgcMOlIGFudGFsZXQgbGluamVyIGkgc3R5Y2tlaHV2dWRlbiIKIAotIzogYXBwbHkuYzo0OTcyIGJ1aWx0aW4vYW0uYzoyMjc0CisjOiBhcHBseS5jOjQ5ODMgYnVpbHRpbi9hbS5jOjIyNTQKIG1zZ2lkICJyb290IgogbXNnc3RyICJyb3QiCiAKLSM6IGFwcGx5LmM6NDk3MworIzogYXBwbHkuYzo0OTg0CiBtc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCA8cm90PiBpIGFsbGEgZmlsbmFtbiIKIAotIzogYXJjaGl2ZS5jOjEyCisjOiBhcmNoaXZlLmM6MTMKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgYXJjaGl2ZSBbPGZsYWdnb3I+XSA8dHLDpGQtaWd0PiBbPHPDtmt2w6RnPi4uLl0iCiAKLSM6IGFyY2hpdmUuYzoxMworIzogYXJjaGl2ZS5jOjE0CiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzoxNAorIzogYXJjaGl2ZS5jOjE1CiBtc2dpZCAiIgogImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGFya2l2PiBbLS1leGVjIDxrbWQ+XSBbPGZsYWdnb3I+XSA8dHLDpGQtaWd0PiAiCiAiWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBhcmNoaXZlLmM6MTUKKyM6IGFyY2hpdmUuYzoxNgogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxhcmtpdj4gWy0tZXhlYyA8a21kPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTUyIGJ1aWx0aW4vYWRkLmM6NDQyIGJ1aWx0aW4vcm0uYzozMDAKKyM6IGFyY2hpdmUuYzozMzMgYnVpbHRpbi9hZGQuYzoxNTQgYnVpbHRpbi9hZGQuYzo0OTIgYnVpbHRpbi9ybS5jOjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICJzw7ZrdsOkZ3NhbmdpdmVsc2VuIFwiJXNcIiBtb3RzdmFyYWRlIGludGUgbsOlZ3JhIGZpbGVyIgogCi0jOiBhcmNoaXZlLmM6NDI5CisjOiBhcmNoaXZlLmM6NDE4CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiYXJraXZmb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CisjOiBhcmNoaXZlLmM6NDE5IGJ1aWx0aW4vbG9nLmM6MTQ0NgogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAicHJlZml4IgogCi0jOiBhcmNoaXZlLmM6NDMxCisjOiBhcmNoaXZlLmM6NDIwCiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBwcmVmaXggdGlsbCB2YXJqZSBzw7ZrdsOkZyBpIGFya2l2ZXQiCiAKLSM6IGFyY2hpdmUuYzo0MzIgYnVpbHRpbi9ibGFtZS5jOjI2MDcgYnVpbHRpbi9ibGFtZS5jOjI2MDggYnVpbHRpbi9jb25maWcuYzo1OQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjEwNTQKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEgYnVpbHRpbi9scy1maWxlcy5jOjU0MSBidWlsdGluL2xzLWZpbGVzLmM6NTQ0Ci0jOiBidWlsdGluL25vdGVzLmM6NDAxIGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkKKyM6IGFyY2hpdmUuYzo0MjEgYnVpbHRpbi9ibGFtZS5jOjY5MyBidWlsdGluL2JsYW1lLmM6Njk0IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MSBidWlsdGluL2dyZXAuYzoxMDgwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDkgYnVpbHRpbi9scy1maWxlcy5jOjU1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNCBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIwCiAjOiBwYXJzZS1vcHRpb25zLmg6MTUzCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAiZmlsIgogCi0jOiBhcmNoaXZlLmM6NDMzIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6NDIyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICJza3JpdiBhcmtpdmV0IHRpbGwgZmlsZW4iCiAKLSM6IGFyY2hpdmUuYzo0MzUKKyM6IGFyY2hpdmUuYzo0MjQKIG1zZ2lkICJyZWFkIC5naXRhdHRyaWJ1dGVzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJsw6RzIC5naXRhdHRyaWJ1dGVzIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBhcmNoaXZlLmM6NDM2CisjOiBhcmNoaXZlLmM6NDI1CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAicmFwcG9ydGVyYSBhcmtpdmVyYWRlIGZpbGVyIHDDpSBzdGFuZGFyZCBmZWwiCiAKLSM6IGFyY2hpdmUuYzo0MzcKKyM6IGFyY2hpdmUuYzo0MjYKIG1zZ2lkICJzdG9yZSBvbmx5IgogbXNnc3RyICJlbmRhc3Qgc3BhcmEiCiAKLSM6IGFyY2hpdmUuYzo0MzgKKyM6IGFyY2hpdmUuYzo0MjcKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgImtvbXByaW1lcmEgc25hYmJhcmUiCiAKLSM6IGFyY2hpdmUuYzo0NDYKKyM6IGFyY2hpdmUuYzo0MzUKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgImtvbXByaW1lcmEgYsOkdHRyZSIKIAotIzogYXJjaGl2ZS5jOjQ0OQorIzogYXJjaGl2ZS5jOjQzOAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAidmlzYSB1bmRlcnN0w7ZkZGEgYXJraXZmb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vY2xvbmUuYzo4OAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY5CisjOiBhcmNoaXZlLmM6NDQwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMDUgYnVpbHRpbi9jbG9uZS5jOjEwOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgyCiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAiYXJraXYiCiAKLSM6IGFyY2hpdmUuYzo0NTIgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0NDEgYnVpbHRpbi9hcmNoaXZlLmM6OTEKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAiaMOkbXRhIGFya2l2ZXQgZnLDpW4gZmrDpHJyYXJraXZldCA8YXJraXY+IgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODUKKyM6IGFyY2hpdmUuYzo0NDIgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImtvbW1hbmRvIgogCi0jOiBhcmNoaXZlLmM6NDU0IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6NDQzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICJzw7ZrdsOkZyB0aWxsIGtvbW1hbmRvdCBnaXQtdXBsb2FkLWFyY2hpdmUgcMOlIGZqw6RycmVuIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDUwCiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgIk92w6RudGFkIGZsYWdnYSAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ2MworIzogYXJjaGl2ZS5jOjQ1MgogbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgogbXNnc3RyICJGbGFnZ2FuIC0tZXhlYyBrYW4gZW5kYXN0IGFudsOkbmRhcyB0aWxsc2FtbWFucyBtZWQgLS1yZW1vdGUiCiAKLSM6IGFyY2hpdmUuYzo0NjUKKyM6IGFyY2hpdmUuYzo0NTQKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKIG1zZ3N0ciAiT3bDpG50YWQgZmxhZ2dhIC0tb3V0cHV0IgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiT2vDpG50IGFya2l2Zm9ybWF0IFwiJXNcIiIKIAotIzogYXJjaGl2ZS5jOjQ5NAorIzogYXJjaGl2ZS5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgogbXNnc3RyICJBcmd1bWVudGV0IHN0w7ZkIGludGUgZsO2ciBmb3JtYXRldCBcIiVzXCI6IC0lZCIKIAotIzogYXR0ci5jOjI2MworIzogYXR0ci5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlLipzIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lIgorbXNnc3RyICIlLSpzIMOkciBpbnRlIGV0dCBnaWx0aWd0IG5hbW4gcMOlIGF0dHJpYnV0IgorCisjOiBhdHRyLmM6NDEwCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCiAiVXNlICdcXCEnIGZvciBsaXRlcmFsIGxlYWRpbmcgZXhjbGFtYXRpb24uIgpAQCAtODUxLDEyICs4NjYsNyBAQAogIk5lZ2F0aXZhIG3Dtm5zdGVyIGlnbm9yZXJhcyBpIGdpdC1hdHRyaWJ1dFxuIgogIkFudsOkbmQgJ1xcIScgZsO2ciBhdHQgaW5sZWRhIG1lZCBldHQgdXRyb3BzdGVja2VuLiIKIAotIzogYmlzZWN0LmM6NDQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKLW1zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgZmlsZW4gXCIlc1wiIgotCi0jOiBiaXNlY3QuYzo0NDYKKyM6IGJpc2VjdC5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICJGZWxha3RpZ3QgY2l0ZXJhdCBpbm5laMOlbGwgaSBmaWxlbiBcIiVzXCI6ICVzIgpAQCAtOTMxLDcgKzk0MSw3IEBACiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgImVuICVzLXJldmlzaW9uIGJlaMO2dnMiCiAKLSM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjYyCisjOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NSBidWlsdGluL3RhZy5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBmaWxlbiBcIiVzXCIiCkBAIC05NjYsMTUgKzk3Niw1NCBAQAogbXNnc3RyWzBdICIodW5nZWbDpHIgJWQgc3RlZykiCiBtc2dzdHJbMV0gIih1bmdlZsOkciAlZCBzdGVnKSIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAotIy4gIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24KLSM6IGJpc2VjdC5jOjk5OAorIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAiKHJvdWdobHkgJWQKKyMuIHN0ZXBzKSIgdHJhbnNsYXRpb24uCisjLgorIzogYmlzZWN0LmM6MTAwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9uIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCiBtc2dpZF9wbHVyYWwgIkJpc2VjdGluZzogJWQgcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCiBtc2dzdHJbMF0gIkJpc2VjdDogJWQgcmV2aXNpb24ga3ZhciBhdHQgdGVzdGEgZWZ0ZXIgZGVubmEgJXNcbiIKIG1zZ3N0clsxXSAiQmlzZWN0OiAlZCByZXZpc2lvbmVyIGt2YXIgYXR0IHRlc3RhIGVmdGVyIGRlbm5hICVzXG4iCiAKKyM6IGJsYW1lLmM6MTc1NworbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCittc2dzdHIgIi0tY29udGVudHMgb2NoIC0tcmV2ZXJzZSBmdW5nZXJhciBpbnRlIHPDpSBicmEgdGlsbHNhbW1hbnMuIgorCisjOiBibGFtZS5jOjE3NjgKK21zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCittc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIC0tY29udGVudHMgbWVkIG5hbW4gcMOlIHNsdXRnaWx0aWd0IGluY2hlY2tuaW5nc29iamVrdCIKKworIzogYmxhbWUuYzoxNzg4Cittc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgorbXNnc3RyICIiCisiLS1yZXZlcnNlIG9jaCAtLWZpcnN0LXBhcmVudCB0aWxsc2FtbWFucyBrcsOkdmVyIGF0dCBkdSBhbmdlciBzZW5hc3RlICIKKyJpbmNoZWNrbmluZ2VuIgorCisjOiBibGFtZS5jOjE3OTcgYnVuZGxlLmM6MTY0IHJlZi1maWx0ZXIuYzoxOTE5IHNlcXVlbmNlci5jOjExNjYKKyM6IHNlcXVlbmNlci5jOjIzMjggYnVpbHRpbi9jb21taXQuYzoxMDU4IGJ1aWx0aW4vbG9nLmM6MzU2IGJ1aWx0aW4vbG9nLmM6OTA3CisjOiBidWlsdGluL2xvZy5jOjEzNTcgYnVpbHRpbi9sb2cuYzoxNjgzIGJ1aWx0aW4vbG9nLmM6MTkyNiBidWlsdGluL21lcmdlLmM6MzYwCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTc3Cittc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSByZXZpc2lvbnN0cmF2ZXJzZXJpbmciCisKKyM6IGJsYW1lLmM6MTgxNQorbXNnaWQgIiIKKyItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCittc2dzdHIgIiIKKyItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdGlsbHNhbW1hbnMga3LDpHZlciBldHQgaW50ZXJ2YWxsIHDDpSBmw7Zyc3RhLWbDtnLDpGxkZXItIgorImtlZGphbiIKKworIzogYmxhbWUuYzoxODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKK21zZ3N0ciAic8O2a3bDpGdlbiAlcyBpICVzIGZpbm5zIGludGUiCisKKyM6IGJsYW1lLmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBvYmpla3RldCAlcyBmw7ZyIHPDtmt2w6RnZW4gJXMiCisKICM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTEwNTIsNyArMTEwMSw3IEBACiAjOiBicmFuY2guYzoxOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQSBicmFuY2ggbmFtZWQgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCi1tc2dzdHIgIkRldCBmaW5ucyByZWRhbiBlbiBncmVuIHNvbSBoZXRlciBcIiVzXCIiCittc2dzdHIgIkRldCBmaW5ucyByZWRhbiBlbiBncmVuIHNvbSBoZXRlciDigJ0lc+KAnS4iCiAKICM6IGJyYW5jaC5jOjE5OAogbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKQEAgLTExMDEsMTQgKzExNTAsMTQgQEAKICM6IGJyYW5jaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgotbXNnc3RyICJBdmdyZW5pbmdzcHVua3RlbiDDpHIgaW50ZSBnaWx0aWc6IFwiJXNcIiIKK21zZ3N0ciAiQXZncmVuaW5nc3B1bmt0ZW4gw6RyIGludGUgZ2lsdGlnOiDigJ0lc+KAnS4iCiAKICM6IGJyYW5jaC5jOjM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiXCIlc1wiIMOkciByZWRhbiB1dGNoZWNrYWQgcMOlIFwiJXNcIiIKIAotIzogYnJhbmNoLmM6MzYzCisjOiBicmFuY2guYzozNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgIkhFQUQgaSBhcmJldHNrYXRhbG9nZW4gJXMgaGFyIGludGUgdXBwZGF0ZXJhdHMiCkBAIC0xMTE4LDk3ICsxMTY3LDkwIEBACiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBsb29rIGxpa2UgYSB2MiBidW5kbGUgZmlsZSIKIG1zZ3N0ciAiJyVzJyBzZXIgaW50ZSB1dCBzb20gZW4gdjItYnVuZGxlLWZpbCIKIAotIzogYnVuZGxlLmM6NjEKKyM6IGJ1bmRsZS5jOjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAib2vDpG50IGh1dnVkOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IHNlcXVlbmNlci5jOjEzMzEgc2VxdWVuY2VyLmM6MTc1MiBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODggc2VxdWVuY2VyLmM6MTM0NCBzZXF1ZW5jZXIuYzoxNzcwIGJ1aWx0aW4vY29tbWl0LmM6Nzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiIKIAotIzogYnVuZGxlLmM6MTM5CisjOiBidW5kbGUuYzoxNDAKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiQXJraXZldCBzYWtuYXIgZGVzc2EgbsO2ZHbDpG5kaWdhIGluY2hlY2tuaW5nYXI6IgogCi0jOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0OTkgc2VxdWVuY2VyLmM6MTE1NCBzZXF1ZW5jZXIuYzoyMjkwCi0jOiBidWlsdGluL2JsYW1lLmM6MjgyMCBidWlsdGluL2NvbW1pdC5jOjEwNjEgYnVpbHRpbi9sb2cuYzozNDgKLSM6IGJ1aWx0aW4vbG9nLmM6ODkwIGJ1aWx0aW4vbG9nLmM6MTM0MCBidWlsdGluL2xvZy5jOjE2NjYgYnVpbHRpbi9sb2cuYzoxOTA5Ci0jOiBidWlsdGluL21lcmdlLmM6MzYwIGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzcKLW1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKLW1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIHJldmlzaW9uc3RyYXZlcnNlcmluZyIKLQotIzogYnVuZGxlLmM6MTg1CisjOiBidW5kbGUuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgY29udGFpbnMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIlBha2V0ZXQgKGJ1bmRsZW4pIGlubmVow6VsbGVyIGRlbm5hIHJlZmVyZW5zOiIKIG1zZ3N0clsxXSAiUGFrZXRldCAoYnVuZGxlbikgaW5uZWjDpWxsZXIgZGVzc2EgJWQgcmVmZXJlbnNlcjoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTkzCiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIlBha2V0ZXQgKGJ1bmRsZW4pIGJlc2tyaXZlciBlbiBrb21wbGV0dCBoaXN0b3Jpay4iCiAKLSM6IGJ1bmRsZS5jOjE5NAorIzogYnVuZGxlLmM6MTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICJQYWtldGV0IChidW5kbGVuKSBrcsOkdmVyIGRlbm5hIHJlZmVyZW5zOiIKIG1zZ3N0clsxXSAiUGFrZXRldCAoYnVuZGxlbikga3LDpHZlciBkZXNzYSAlZCByZWZlcmVuc2VyOiIKIAotIzogYnVuZGxlLmM6MjUzCisjOiBidW5kbGUuYzoyNTQKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICJLdW5kZSBpbnRlIHN0YXJ0YSBwYWNrLW9iamVjdHMiCiAKLSM6IGJ1bmRsZS5jOjI2NAorIzogYnVuZGxlLmM6MjY1CiBtc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCiBtc2dzdHIgInBhY2stb2JqZWN0cyBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1bmRsZS5jOjMwNAorIzogYnVuZGxlLmM6MzA3CiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3QgZG9nIgogCi0jOiBidW5kbGUuYzozNTMKKyM6IGJ1bmRsZS5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAicmVmZXJlbnNlbiBcIiVzXCIgZXhrbHVkZXJhcyBhdiBhcmd1bWVudGVuIHRpbGwgcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI4MgorIzogYnVuZGxlLmM6NDQ2IGJ1aWx0aW4vbG9nLmM6MTczIGJ1aWx0aW4vbG9nLmM6MTU4OSBidWlsdGluL3Nob3J0bG9nLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCBhcmd1bWVudDogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ1MQorIzogYnVuZGxlLmM6NDU0CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIlbDpGdyYXIgc2thcGEgZXR0IHRvbXQgcGFrZXQgKGJ1bmRsZSkuIgogCi0jOiBidW5kbGUuYzo0NjMKKyM6IGJ1bmRsZS5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHNrYXBhIFwiJXNcIiIKIAotIzogYnVuZGxlLmM6NDkxCisjOiBidW5kbGUuYzo0OTQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgImluZGV4LXBhY2sgZG9nIgogCi0jOiBjb2xvci5jOjMwMAorIzogY29sb3IuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IGbDpHJndsOkcmRlOiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBzZXF1ZW5jZXIuYzoxNTY0IGJ1aWx0aW4vYW0uYzo0MjEgYnVpbHRpbi9hbS5jOjQ1NwotIzogYnVpbHRpbi9hbS5jOjE0OTMgYnVpbHRpbi9hbS5jOjIxMjcKKyM6IGNvbW1pdC5jOjQxIHNlcXVlbmNlci5jOjE1ODIgYnVpbHRpbi9hbS5jOjQyMCBidWlsdGluL2FtLmM6NDU2CisjOiBidWlsdGluL2FtLmM6MTQ2OSBidWlsdGluL2FtLmM6MjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgJXMiCiAKLSM6IGNvbW1pdC5jOjQyCisjOiBjb21taXQuYzo0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyDDpHIgaW50ZSBlbiBpbmNoZWNrbmluZyEiCiAKLSM6IGNvbW1pdC5jOjE1MTQKKyM6IGNvbW1pdC5jOjE1MTEKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCkBAIC0xMjIyLDE0OSArMTI2NCwxNjkgQEAKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICJtaW5uZXQgc2x1dCIKIAotIzogY29uZmlnLmM6NTE4CisjOiBjb25maWcuYzoxODYKK21zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZSBjb25kaXRpb25hbHMgbXVzdCBjb21lIGZyb20gZmlsZXMiCittc2dzdHIgInJlbGF0aXZhIGtvbmZpZ3VyZXJpbmdzaW5rbHVkZXJpbmdzdmlsbGtvciBtw6VzdGUga29tbWEgZnLDpW4gZmlsZXIiCisKKyM6IGNvbmZpZy5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnNmaWwgcmFkICVkIGkgYmxvYjplbiAlcyIKIAotIzogY29uZmlnLmM6NTIyCisjOiBjb25maWcuYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCiBtc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIGZpbGVuICVzIgogCi0jOiBjb25maWcuYzo1MjYKKyM6IGNvbmZpZy5jOjcyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIHN0YW5kYXJkIGluIgogCi0jOiBjb25maWcuYzo1MzAKKyM6IGNvbmZpZy5jOjczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCiBtc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIHVuZGVybW9kdWxzLWJsb2I6ZW4gJXMiCiAKLSM6IGNvbmZpZy5jOjUzNAorIzogY29uZmlnLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIGtvbW1hbmRvcmFkZW4gJXMiCiAKLSM6IGNvbmZpZy5jOjUzOAorIzogY29uZmlnLmM6NzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnNmaWwgcmFkICVkIGkgJXMiCiAKLSM6IGNvbmZpZy5jOjY1NworIzogY29uZmlnLmM6ODY4CiBtc2dpZCAib3V0IG9mIHJhbmdlIgogbXNnc3RyICJ1dGFuZsO2ciBpbnRlcnZhbGxldCIKIAotIzogY29uZmlnLmM6NjU3CisjOiBjb25maWcuYzo4NjgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgIm9naWx0aWcgZW5oZXQiCiAKLSM6IGNvbmZpZy5jOjY2MworIzogY29uZmlnLmM6ODc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCI6ICVzIgogCi0jOiBjb25maWcuYzo2NjgKKyM6IGNvbmZpZy5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKIG1zZ3N0ciAiIgogImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkgYmxvYjplbiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY3MQorIzogY29uZmlnLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgogbXNnc3RyICIiCiAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCIgaSBmaWxlbiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NAorIzogY29uZmlnLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAiIgogImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkgc3RhbmRhcmQgaW46ICVzIgogCi0jOiBjb25maWcuYzo2NzcKKyM6IGNvbmZpZy5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiBtc2dzdHIgIiIKICJmZWxha3RpZ3QgbnVtZXJpc2t0IGtvbmZpZ3VyYXRpb25zdsOkcmRlIFwiJXNcIiBmw7ZyIFwiJXNcIiBpIHVuZGVybW9kdWwtYmxvYjoiCiAiZW4gJXM6ICVzIgogCi0jOiBjb25maWcuYzo2ODAKKyM6IGNvbmZpZy5jOjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgogbXNnc3RyICIiCiAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCIgaSBrb21tYW5kb3JhZGVuICIKICIlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY4MworIzogY29uZmlnLmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCIgaSAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjc3MAorIzogY29uZmlnLmM6OTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBleHBhbmRlcmEgYW52w6RuZGFya2F0YWxvZyBpOiBcIiVzXCIiCiAKLSM6IGNvbmZpZy5jOjg2NSBjb25maWcuYzo4NzYKKyM6IGNvbmZpZy5jOjEwODQgY29uZmlnLmM6MTA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAiZmVsYWt0aWd0IHpsaWIta29tcHJpbWVyaW5nc2dyYWQgJWQiCiAKLSM6IGNvbmZpZy5jOjk5MworIzogY29uZmlnLmM6MTIxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgImZlbGFrdGlndCBsw6RnZSBmw7ZyIHNrYXBhbmRlIGF2IG9iamVrdDogJXMiCiAKLSM6IGNvbmZpZy5jOjExNDkKKyM6IGNvbmZpZy5jOjEzNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgImZlbGFrdGlnIHBha2V0a29tcHJpbWVyaW5nc2dyYWQgJWQiCiAKLSM6IGNvbmZpZy5jOjEzMzkKKyM6IGNvbmZpZy5jOjE1NjQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAia2FuIGludGUgdG9sa2Ega29tbWFuZG9yYWRza29uZmlndXJhdGlvbiIKIAotIzogY29uZmlnLmM6MTM4OQorIzogY29uZmlnLmM6MTg5NAogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAib2vDpG50IGZlbCB1cHBzdG9kIHZpZCBsw6RzbmluZyBhdiBrb25maWd1cmF0aW9uc2ZpbGVybmEiCiAKLSM6IGNvbmZpZy5jOjE3NDMKKyM6IGNvbmZpZy5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAlczogJyVzJyIKK21zZ3N0ciAiRmVsYWt0aWd0ICVzOiBcIiVzXCIiCisKKyM6IGNvbmZpZy5jOjIwODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgorbXNnc3RyICIiCisib2vDpG50IHbDpHJkZSBcIiVzXCIgZsO2ciBjb3JlLnVudHJhY2tlZENhY2hlOyBhbnbDpG5kZXIgc3RhbmRhcmR2w6RyZGV0IFwia2VlcFwiIgorCisjOiBjb25maWcuYzoyMTExCisjLCBjLWZvcm1hdAorbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKK21zZ3N0ciAidsOkcmRldCBcIiVkXCIgZsO2ciBzcGxpdEluZGV4Lm1heFBlcmNlbnRhZ2UgYm9yZGUgdmFyYSBtZWxsYW4gMCBvY2ggMTAwIgorCisjOiBjb25maWcuYzoyMTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSB2w6RyZGV0IFwiJXNcIiBmcsOlbiBrb21tYW5kb3JhZHNrb25maWd1cmF0aW9uIgogCi0jOiBjb25maWcuYzoxNzQ1CisjOiBjb25maWcuYzoyMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnN2YXJpYWJlbCBcIiVzXCIgaSBmaWxlbiBcIiVzXCIgcMOlIHJhZCAlZCIKIAotIzogY29uZmlnLmM6MTgwNAorIzogY29uZmlnLmM6MjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIlcyBoYXIgZmxlcmEgdsOkcmRlbiIKIAotIzogY29uZmlnLmM6MjIyNSBjb25maWcuYzoyNDUwCisjOiBjb25maWcuYzoyNTE3IGNvbmZpZy5jOjI3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZnN0YXQgb24gJXMgZmFpbGVkIgogbXNnc3RyICJmc3RhdCBtaXNzbHlja2FkZXMgcMOlICVzIgogCi0jOiBjb25maWcuYzoyMzQzCisjOiBjb25maWcuYzoyNjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHN0w6RsbGEgaW4gXCIlc1wiIHRpbGwgXCIlc1wiIgogCi0jOiBjb25maWcuYzoyMzQ1CisjOiBjb25maWcuYzoyNjM3IGJ1aWx0aW4vcmVtb3RlLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgaW5zdMOkbGxuaW5nIGbDtnIgXCIlc1wiIgogCi0jOiBjb25uZWN0LmM6NDkKKyM6IGNvbm5lY3QuYzo1MAogbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCiBtc2dzdHIgIkZqw6RycmVuIGxhZGUgcMOlIHZpZCBpbmxlZGFuZGUga29udGFrdCIKIAotIzogY29ubmVjdC5jOjUxCisjOiBjb25uZWN0LmM6NTIKIG1zZ2lkICIiCiAiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKICJcbiIKQEAgLTEzNzgsNyArMTQ0MCw3IEBACiAKICMgVmFndWUgb3JpZ2luYWwsIG5vdCBuZXR3b3JraW5nLXJlbGF0ZWQsIGJ1dCByYXRoZXIgcmVsYXRlZCB0byB0aGUgYWN0dWFsCiAjIG9iamVjdHMgaW4gdGhlIGRhdGFiYXNlLgotIzogY29ubmVjdGVkLmM6NjMgYnVpbHRpbi9mc2NrLmM6MTkwIGJ1aWx0aW4vcHJ1bmUuYzoxNDAKKyM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE5MSBidWlsdGluL3BydW5lLmM6MTQxCiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgogbXNnc3RyICJLb250cm9sbGVyYXIga29ubmVrdGl2aXRldCIKIApAQCAtMTM5NCw3ICsxNDU2LDcgQEAKIG1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcmV2LWxpc3QncyBzdGRpbiIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzdMOkbmdhIHJldi1saXN0OnMgc3RhbmRhcmQgaW4iCiAKLSM6IGNvbnZlcnQuYzoyMDEKKyM6IGNvbnZlcnQuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKQEAgLTE0MDMsMTIgKzE0NjUsMTIgQEAKICJDUkxGIGtvbW1lciBhdHQgZXJzw6R0dGFzIGF2IExGIGkgJXMuXG4iCiAiRmlsZW4ga29tbWVyIGF0dCBoYSBzaW5hIHVyc3BydW5nbGlnYSByYWRicnl0bmluZ2FyIGkgZGluIGFyYmV0c2thdGFsb2cuIgogCi0jOiBjb252ZXJ0LmM6MjA1CisjOiBjb252ZXJ0LmM6MjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgogbXNnc3RyICJDUkxGIHNrdWxsZSBlcnPDpHR0YXMgYXYgTEYgaSAlcy4iCiAKLSM6IGNvbnZlcnQuYzoyMTEKKyM6IGNvbnZlcnQuYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKQEAgLTE0MTcsNzggKzE0NzksMjggQEAKICJMRiBrb21tZXIgYXR0IGVyc8OkdHRhcyBhdiBDUkxGIGkgJXMuXG4iCiAiRmlsZW4ga29tbWVyIGF0dCBoYSBzaW5hIHVyc3BydW5nbGlnYSByYWRicnl0bmluZ2FyIGkgZGluIGFyYmV0c2thdGFsb2cuIgogCi0jOiBjb252ZXJ0LmM6MjE1CisjOiBjb252ZXJ0LmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCi1tc2dzdHIgIkxGIHNrdWxsZSBlcnPDpHR0YXMgYXYgQ1JMRiBpICVzLiIKK21zZ3N0ciAiTEYgc2t1bGxlIGVyc8OkdHRhcyBhdiBDUkxGIGkgJXMiCiAKLSM6IGRhdGUuYzo5NworIzogZGF0ZS5jOjExNgogbXNnaWQgImluIHRoZSBmdXR1cmUiCiBtc2dzdHIgImkgZnJhbXRpZGVuIgogCi0jOiBkYXRlLmM6MTAzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBzZWNvbmQgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgc2Vjb25kcyBhZ28iCi1tc2dzdHJbMF0gIiVsdSBzZWt1bmQgc2VkYW4iCi1tc2dzdHJbMV0gIiVsdSBzZWt1bmRlciBzZWRhbiIKLQotIzogZGF0ZS5jOjExMAotIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbWludXRlIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1pbnV0ZXMgYWdvIgotbXNnc3RyWzBdICIlbHUgbWludXQgc2VkYW4iCi1tc2dzdHJbMV0gIiVsdSBtaW51dGVyIHNlZGFuIgotCi0jOiBkYXRlLmM6MTE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBob3VyIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IGhvdXJzIGFnbyIKLW1zZ3N0clswXSAiJWx1IHRpbW1lIHNlZGFuIgotbXNnc3RyWzFdICIlbHUgdGltbWFyIHNlZGFuIgotCi0jOiBkYXRlLmM6MTI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBkYXkgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgZGF5cyBhZ28iCi1tc2dzdHJbMF0gIiVsdSBkYWcgc2VkYW4iCi1tc2dzdHJbMV0gIiVsdSBkYWdhciBzZWRhbiIKLQotIzogZGF0ZS5jOjEzMAotIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgd2VlayBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCi1tc2dzdHJbMF0gIiVsdSB2ZWNrYSBzZWRhbiIKLW1zZ3N0clsxXSAiJWx1IHZlY2tvciBzZWRhbiIKLQotIzogZGF0ZS5jOjEzNwotIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbW9udGggYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgbW9udGhzIGFnbyIKLW1zZ3N0clswXSAiJWx1IG3DpW5hZCBzZWRhbiIKLW1zZ3N0clsxXSAiJWx1IG3DpW5hZGVyIHNlZGFuIgotCi0jOiBkYXRlLmM6MTQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVsdSB5ZWFyIgotbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCi1tc2dzdHJbMF0gIiVsdSDDpXIiCi1tc2dzdHJbMV0gIiVsdSDDpXIiCisjOiBkYXRlLmM6MTIyIGRhdGUuYzoxMjkgZGF0ZS5jOjEzNiBkYXRlLmM6MTQzIGRhdGUuYzoxNDkgZGF0ZS5jOjE1NiBkYXRlLmM6MTY3CisjOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKK21zZ2lkICIlIgorbXNnaWRfcGx1cmFsICIlIgorbXNnc3RyWzBdICIlIgorbXNnc3RyWzFdICIlIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE1MQotIywgYy1mb3JtYXQKLW1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgotbXNnc3RyWzBdICIlcywgJWx1IG3DpW5hZCBzZWRhbiIKLW1zZ3N0clsxXSAiJXMsICVsdSBtw6VuYWRlciBzZWRhbiIKLQotIzogZGF0ZS5jOjE1NiBkYXRlLmM6MTYxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVsdSB5ZWFyIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIGFnbyIKLW1zZ3N0clswXSAiJWx1IMOlciBzZWRhbiIKLW1zZ3N0clsxXSAiJWx1IMOlciBzZWRhbiIKKyM6IGRhdGUuYzoxNzAKK21zZ2lkICIlcywgJSIKK21zZ2lkX3BsdXJhbCAiJXMsICUiCittc2dzdHJbMF0gIiVzLiAlIgorbXNnc3RyWzFdICIlcy4gJSIKIAogIzogZGlmZmNvcmUtb3JkZXIuYzoyNAogIywgYy1mb3JtYXQKQEAgLTE0OTksMjcgKzE1MTEsMjcgQEAKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAiVXRmw7ZyIG9uw7ZqYWt0aWcgbmFtbmJ5dGVzZGV0ZWt0ZXJpbmciCiAKLSM6IGRpZmYuYzo2MgorIzogZGlmZi5jOjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgImZsYWdnYW4gXCIlc1wiIGJlaMO2dmVyIGV0dCB2w6RyZGUiCiAKLSM6IGRpZmYuYzoxMjQKKyM6IGRpZmYuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIgIE1pc3NseWNrYWRlcyB0b2xrYSBkaXJzdGF0LWF2c2vDpHJuaW5nc3Byb2NlbnRhbmRlbCBcIiVzXCJcbiIKIAotIzogZGlmZi5jOjEyOQorIzogZGlmZi5jOjEzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIgIE9rw6RuZCBkaXJzdGF0LXBhcmFtZXRlciBcIiVzXCJcbiIKIAotIzogZGlmZi5jOjI4MQorIzogZGlmZi5jOjI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAiT2vDpG50IHbDpHJkZSBmw7ZyIGtvbmZpZ3VyYXRpb25zdmFyaWFiZWxuIFwiZGlmZi5zdWJtb2R1bGVcIjogXCIlc1wiIgogCi0jOiBkaWZmLmM6MzQ0CisjOiBkaWZmLmM6MzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgpAQCAtMTUyOCwyMCArMTU0MCwyMCBAQAogIkhpdHRhZGUgZmVsIGkga29uZmlndXJhdGlvbnN2YXJpYWJlbG4gXCJkaWZmLmRpcnN0YXRcIjpcbiIKICIlcyIKIAotIzogZGlmZi5jOjMwODUKKyM6IGRpZmYuYzozMTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgImV4dGVybiBkaWZmIGRvZywgc3Rhbm5hciB2aWQgJXMiCiAKLSM6IGRpZmYuYzozNDExCisjOiBkaWZmLmM6MzQyNwogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLWNoZWNrIG9jaCAtcyDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCiAKLSM6IGRpZmYuYzozNTAxCisjOiBkaWZmLmM6MzUxNwogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICItLWZvbGxvdyBrcsOkdmVyIGV4YWt0IGVuIHPDtmt2w6Rnc2FuZ2l2ZWxzZSIKIAotIzogZGlmZi5jOjM2NjQKKyM6IGRpZmYuYzozNjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC0xNTUwLDI1NCArMTU2MiwyNzkgQEAKICJNaXNzbHlja2FkZXMgdG9sa2EgYXJndW1lbnQgdGlsbCBmbGFnZ2FuIC0tZGlyc3RhdC8tWDtcbiIKICIlcyIKIAotIzogZGlmZi5jOjM2NzgKKyM6IGRpZmYuYzozNjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICJNaXNzbHlja2FkZXMgdG9sa2EgYXJndW1lbnQgdGlsbCBmbGFnZ2FuIC0tc3VibW9kdWxlOiBcIiVzXCIiCiAKLSM6IGRpZmYuYzo0Njk2CisjOiBkaWZmLmM6NDcxNgogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCi0ib27Dtmpha3RpZyBuYW1uYnl0ZXNkZXRla3RlcmluZyB1dGbDtnJkZXMgaW50ZSBww6UgZ3J1bmQgYXYgZsO2ciBtw6VuZ2EgZmlsZXIiCisib27Dtmpha3RpZyBuYW1uYnl0ZXNkZXRla3RlcmluZyB1dGbDtnJkZXMgaW50ZSBww6UgZ3J1bmQgYXYgZsO2ciBtw6VuZ2EgZmlsZXIuIgogCi0jOiBkaWZmLmM6NDY5OQorIzogZGlmZi5jOjQ3MTkKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgImhpdHRhZGUgYmFyYSBrb3Bpb3IgZnLDpW4gw6RuZHJhZGUgc8O2a3bDpGdhciBww6UgZ3J1bmQgYXYgZsO2ciBtw6VuZ2EgZmlsZXIuIgogCi0jOiBkaWZmLmM6NDcwMgorIzogZGlmZi5jOjQ3MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgogbXNnc3RyICIiCiAiZHUga2FuIHPDpHR0YSB2YXJpYWJlbG4gJXMgdGlsbCDDpXRtaW5zdG9uZSAlZCBvY2ggZsO2cnPDtmthIGtvbW1hbmRvdCBww6Ugbnl0dC4iCiAKLSM6IGRpci5jOjE4NjIKKyM6IGRpci5jOjE5NDgKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGjDpG10YSBrw6RybmFucyBuYW1uIG9jaCBpbmZvcm1hdGlvbiIKIAotIzogZGlyLmM6MTk4MQorIzogZGlyLmM6MjA2NwogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbi4iCiBtc2dzdHIgIk9zcMOlcmFkIGNhY2hlIMOkciBpbmFrdGl2ZXJhZCBww6Ugc3lzdGVtZXQgZWxsZXIgcGxhdHNlbi4iCiAKLSM6IGRpci5jOjI3NTkKKyM6IGRpci5jOjI4NDYgZGlyLmM6Mjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBrYXRhbG9nZXIgZsO2ciAlcyIKKworIzogZGlyLmM6Mjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIG1pZ3JlcmEgZ2l0LWthdGFsb2cgZnLDpW4gXCIlc1wiIHRpbGwgXCIlc1wiIgogCi0jOiBmZXRjaC1wYWNrLmM6MjEzCisjOiBlbnRyeS5jOjI4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCittc2dzdHIgImt1bmRlIGludGUgdGEgc3RhdHVzIHDDpSBmaWxlbiBcIiVzXCIiCisKKyM6IGZldGNoLXBhY2suYzoyNTEKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZsO2cnbDpG50YWRlIGdydW5kIGxpc3RhIgogCi0jOiBmZXRjaC1wYWNrLmM6MjI1CisjOiBmZXRjaC1wYWNrLmM6MjYzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCiBtc2dzdHIgImdpdCBmZXRjaC1wYXRjaDogZsO2cnbDpG50YWRlIEFDSy9OQUssIGZpY2sgRU9GIgogCi0jOiBmZXRjaC1wYWNrLmM6MjQzCisjOiBmZXRjaC1wYWNrLmM6MjgyIGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCittc2dzdHIgImZqw6RycmZlbDogJXMiCisKKyM6IGZldGNoLXBhY2suYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZsO2cnbDpG50YWRlIEFDSy9OQUssIGZpY2sgXCIlc1wiIgogCi0jOiBmZXRjaC1wYWNrLmM6Mjk1CisjOiBmZXRjaC1wYWNrLmM6MzM1CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKLW1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIGtyw6R2ZXIgXCJtdWx0aSBhY2sgZGV0YWlsZWRcIiIKK21zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIGtyw6R2ZXIg4oCdbXVsdGlfYWNrX2RldGFpbGVk4oCdIgogCi0jOiBmZXRjaC1wYWNrLmM6MzgxCisjOiBmZXRjaC1wYWNrLmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAib2dpbHRpZyBcInNoYWxsb3dcIi1yYWQ6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzg3CisjOiBmZXRjaC1wYWNrLmM6NDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICJvZ2lsdGlnIFwidW5zaGFsbG93XCItcmFkOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM4OQorIzogZmV0Y2gtcGFjay5jOjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3Qgbm90IGZvdW5kOiAlcyIKIG1zZ3N0ciAib2JqZWt0ZXQgaGl0dGFkZXMgaW50ZTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozOTIKKyM6IGZldGNoLXBhY2suYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAiZmVsIGkgb2JqZWt0OiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5NAorIzogZmV0Y2gtcGFjay5jOjQzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAiaW5nZW4gXCJzaGFsbG93XCIgaGl0dGFkZXM6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk3CisjOiBmZXRjaC1wYWNrLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgImbDtnJ2w6RudGFkZSBzaGFsbG93L3Vuc2hhbGxvdywgZmljayAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQzNgorIzogZmV0Y2gtcGFjay5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgJWQgJXMiCiBtc2dzdHIgImZpY2sgJXMgJWQgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0NTAKKyM6IGZldGNoLXBhY2suYzo0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCiBtc2dzdHIgIm9naWx0aWcgaW5jaGVja25pbmcgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0ODMKKyM6IGZldGNoLXBhY2suYzo1MjMKIG1zZ2lkICJnaXZpbmcgdXAiCiBtc2dzdHIgImdlciB1cHAiCiAKLSM6IGZldGNoLXBhY2suYzo0OTMgcHJvZ3Jlc3MuYzoyMzUKKyM6IGZldGNoLXBhY2suYzo1MzMgcHJvZ3Jlc3MuYzoyMzUKIG1zZ2lkICJkb25lIgogbXNnc3RyICJrbGFydCIKIAotIzogZmV0Y2gtcGFjay5jOjUwNQorIzogZmV0Y2gtcGFjay5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgKCVkKSAlcyIKIG1zZ3N0ciAiZmljayAlcyAoJWQpICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NTUxCisjOiBmZXRjaC1wYWNrLmM6NTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCiBtc2dzdHIgIk1hcmtlcmFyICVzIHNvbSBrb21wbGV0dCIKIAotIzogZmV0Y2gtcGFjay5jOjY5NworIzogZmV0Y2gtcGFjay5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAiaGFyIHJlZGFuICVzICglcykiCiAKLSM6IGZldGNoLXBhY2suYzo3MzUKKyM6IGZldGNoLXBhY2suYzo4MTMKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiZmV0Y2gtcGF0Y2g6IGt1bmRlIGludGUgZ3JlbmEgYXYgc2lkYmFuZHNtdWx0aXBsZXhhcmUiCiAKLSM6IGZldGNoLXBhY2suYzo3NDMKKyM6IGZldGNoLXBhY2suYzo4MjEKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgogbXNnc3RyICJwcm90b2tvbGxmZWw6IGZlbGFrdGlndCBwYWNraHV2dWQiCiAKLSM6IGZldGNoLXBhY2suYzo3OTkKKyM6IGZldGNoLXBhY2suYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICJmZXRjaC1wYXRjaDoga3VuZGUgaW50ZSBncmVuYSBhdiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjgxNQorIzogZmV0Y2gtcGFjay5jOjg5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIiVzIG1pc3NseWNrYWRlcyIKIAotIzogZmV0Y2gtcGFjay5jOjgxNworIzogZmV0Y2gtcGFjay5jOjg5NQogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImZlbCBpIHNpZGJhbmRzLWF2bXVsdGlwbGV4YXJlIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ0CisjOiBmZXRjaC1wYWNrLmM6OTIyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgogbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgaW50ZSBrbGllbnRlciBtZWQgZ3J1bmRhIGFya2l2IgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ4CisjOiBmZXRjaC1wYWNrLmM6OTI2CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwibXVsdGlfYWNrX2RldGFpbGVkXCIiCiAKLSM6IGZldGNoLXBhY2suYzo4NTEKKyM6IGZldGNoLXBhY2suYzo5MjkKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwibm8tZG9uZVwiIgogCi0jOiBmZXRjaC1wYWNrLmM6ODU3CisjOiBmZXRjaC1wYWNrLmM6OTM1CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwibXVsdGlfYWNrXCIiCiAKLSM6IGZldGNoLXBhY2suYzo4NjEKKyM6IGZldGNoLXBhY2suYzo5MzkKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwic2lkZS1iYW5kLTY0a1wiIgogCi0jOiBmZXRjaC1wYWNrLmM6ODY1CisjOiBmZXRjaC1wYWNrLmM6OTQzCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwic2lkZS1iYW5kXCIiCiAKLSM6IGZldGNoLXBhY2suYzo4NjkKKyM6IGZldGNoLXBhY2suYzo5NDcKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwiYWxsb3ctdGlwLXNoYTEtaW4td2FudFwiIgogCi0jOiBmZXRjaC1wYWNrLmM6ODczCisjOiBmZXRjaC1wYWNrLmM6OTUxCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcImFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnRcIiIKIAotIzogZmV0Y2gtcGFjay5jOjg4MworIzogZmV0Y2gtcGFjay5jOjk2MQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcIm9mcy1kZWx0YVwiIgogCi0jOiBmZXRjaC1wYWNrLmM6ODkwCisjOiBmZXRjaC1wYWNrLmM6OTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCiBtc2dzdHIgIlNlcnZlcnZlcnNpb25lbiDDpHIgJS4qcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NgorIzogZmV0Y2gtcGFjay5jOjk3NAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIGludGUgLS1zaGFsbG93LXNpbmNlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAwCisjOiBmZXRjaC1wYWNrLmM6OTc4CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBpbnRlIC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAyCisjOiBmZXRjaC1wYWNrLmM6OTgwCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBpbnRlIC0tZGVlcGVuIgogCi0jOiBmZXRjaC1wYWNrLmM6OTEzCisjOiBmZXRjaC1wYWNrLmM6OTkxCiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgImluZ2EgZ2VtZW5zYW1tYSBpbmNoZWNrbmluZ2FyIgogCi0jOiBmZXRjaC1wYWNrLmM6OTI1CisjOiBmZXRjaC1wYWNrLmM6MTAwMwogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgogbXNnc3RyICJnaXQgZmV0Y2gtcGF0Y2g6IGjDpG10bmluZyBtaXNzbHlja2FkZXMuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTA4NworIzogZmV0Y2gtcGFjay5jOjExNjUKIG1zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKIG1zZ3N0ciAiaW5nZXQgbW90c3ZhcmFuZGUgZmrDpHJyaHV2dWQiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxODUKKyM6IGZldGNoLXBhY2suYzoxMTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAiaW5nZW4gc8OlZGFuIGZqw6RycmVmZXJlbnM6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKK21zZ3N0ciAiU2VydmVybiB0aWxsw6V0ZXIgaW50ZSBmw7ZyZnLDpWdhbiBvbSBlaiB0aWxsa8Okbm5hZ2l2ZXQgb2JqZWt0ICVzIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTgxCiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICJncGcgbWlzc2x5Y2thZGVzIHNpZ25lcmEgZGF0YSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIxNQorIzogZ3BnLWludGVyZmFjZS5jOjIxMQogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgdGVtcG9yw6RyYSBmaWwiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMTcKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHdyaXRpbmcgZGV0YWNoZWQgc2lnbmF0dXJlIHRvICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza3JpdmEgZnJpc3TDpWVuZGUgc2lnbmF0dXIgdGlsbCBcIiVzXCIiCiAKLSM6IGdyYXBoLmM6OTYKKyM6IGdyYXBoLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JlIGludmFsaWQgY29sb3IgJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKIG1zZ3N0ciAiaWdub3JlcmEgZmVsYWt0aWcgZsOkcmcgXCIlLipzXCIgaSBsb2cuZ3JhcGhDb2xvcnMiCiAKLSM6IGdyZXAuYzoxNzk0CisjOiBncmVwLmM6MTk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiXCIlc1wiIGt1bmRlIGludGUgbMOkc2EgJXMiCiAKLSM6IGdyZXAuYzoxODExIGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODEgYnVpbHRpbi9ybS5jOjEzMworIzogZ3JlcC5jOjE5OTggYnVpbHRpbi9jbG9uZS5jOjQwMyBidWlsdGluL2RpZmYuYzo4MSBidWlsdGluL3JtLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBzdGF0dXMgcMOlIFwiJXNcIiIKIAotIzogZ3JlcC5jOjE4MjIKKyM6IGdyZXAuYzoyMDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIlwiJXNcIjoga29ydCBsw6RzbmluZyIKIAotIzogaGVscC5jOjIxOAorIzogaGVscC5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgImdpdC1rb21tYW5kb24gdGlsbGfDpG5nbGlnYSBpIFwiJXNcIiIKIAotIzogaGVscC5jOjIyNQorIzogaGVscC5jOjE4NgogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAiZ2l0LWtvbW1hbmRvbiBmcsOlbiBhbmRyYSBwbGF0c2VyIGkgZGluICRQQVRIIgogCi0jOiBoZWxwLmM6MjU2CisjOiBoZWxwLmM6MjE3CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJEZXNzYSB2YW5saWdhIEdpdC1rb21tYW5kb24gYW52w6RuZHMgaSBvbGlrYSBzaXR1YXRpb25lcjoiCiAKLSM6IGhlbHAuYzozMjEKKyM6IGhlbHAuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTE4MDYsMzAgKzE4NDMsNTUgQEAKICJcIiVzXCIgdmVya2FyIHZhcmEgZXR0IGdpdC1rb21tYW5kbywgbWVuIHZpIGthbiBpbnRlXG4iCiAia8O2cmEgZGV0LiBLYW5za2UgZ2l0LSVzIMOkciB0cmFzaWd0PyIKIAotIzogaGVscC5jOjM3NgorIzogaGVscC5jOjMzNgogbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgogbXNnc3RyICJPaiBkw6UuIERpdHQgc3lzdGVtIHJhcHBvcnRlcmFyIGluZ2EgR2l0LWtvbW1hbmRvbiBhbGxzLiIKIAotIzogaGVscC5jOjM5OAorIzogaGVscC5jOjM1OAogIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LlxuIgotIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJyIKK21zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJWQVJOSU5HOiBEdSBhbnJvcGFkZSBldHQgR2l0LWtvbW1hbmRvIHZpZCBuYW1uIFwiJXNcIiwgc29tIGludGUgZmlubnMuIgorCisjOiBoZWxwLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIkZvcnRzw6R0dGVyIHVuZGVyIGbDtnJ1dHPDpHR0bmluZ2VuIGF0dCBkdSBtZW5hZGUg4oCdJXPigJ0uIgorCisjOiBoZWxwLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgIiIKLSJWQVJOSU5HOiBEdSBhbnJvcGFkZSBldHQgR2l0LWtvbW1hbmRvIHZpZCBuYW1uIFwiJXNcIiwgc29tIGludGUgZmlubnMuXG4iCi0iRm9ydHPDpHR0ZXIgdW5kZXIgZsO2cnV0c8OkdHRuaW5nZW4gYXR0IGR1IG1lbmFkZSBcIiVzXCIiCisiRm9ydHPDpHR0ZXIgb20gJTAuMWYgc2VrdW5kZXIsIHVuZGVyIGbDtnJ1dHPDpHR0bmluZ2VuIGF0dCBkdSBtZW5hZGUg4oCdJXPigJ0uIgogCi0jOiBoZWxwLmM6NDAzCi0jLCBjLWZvcm1hdAotbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKLW1zZ3N0ciAiYXV0b21hdGlza3Qgb20gJTAuMWYgc2VrdW5kZXIuLi4iCi0KLSM6IGhlbHAuYzo0MTAKKyM6IGhlbHAuYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0OiBcIiVzXCIgw6RyIGludGUgZXR0IGdpdC1rb21tYW5kby4gU2UgXCJnaXQgLS1oZWxwXCIuIgogCi0jOiBoZWxwLmM6NDE0IGhlbHAuYzo0ODAKKyM6IGhlbHAuYzozODAKK21zZ2lkICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgorbXNnaWRfcGx1cmFsICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kcyBhcmUiCittc2dzdHJbMF0gIiIKKyJcbiIKKyJNZXN0IGxpa3Qga29tbWFuZG8gw6RyIgorbXNnc3RyWzFdICIiCisiXG4iCisiTWVzdCBsaWthIGtvbW1hbmRvbiDDpHIiCisKKyM6IGhlbHAuYzozOTUKK21zZ2lkICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHZlcnNpb24gWzxmbGFnZ29yPl0iCisKKyM6IGhlbHAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIC0gJXMiCittc2dzdHIgIiVzOiAlcyAtICVzIgorCisjOiBoZWxwLmM6NDYwCiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTE4NDMsMTIgKzE5MDUsNyBAQAogIlxuIgogIk1lbmFkZSBkdSBldHQgYXYgZGVzc2E/IgogCi0jOiBoZWxwLmM6NDc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlcyAtICVzIgotbXNnc3RyICIlczogJXMgLSAlcyIKLQotIzogaWRlbnQuYzozMzQKKyM6IGlkZW50LmM6MzQyCiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTE4NzQsNiArMTkzMSwzOSBAQAogIkvDtnIgdXRhbiAtLWdsb2JhbCBmw7ZyIGF0dCBlbmRhc3Qgw6RuZHJhIGkgYWt0dWVsbHQgYXJraXYuXG4iCiAiXG4iCiAKKyM6IGlkZW50LmM6MzY2Cittc2dpZCAibm8gZW1haWwgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKK21zZ3N0ciAiaW5nZW4gZS1wb3N0IGFuZ2F2cyBvY2ggYXV0b2RldGVrdGVyaW5nIMOkciBpbmFrdGl2ZXJhZCIKKworIzogaWRlbnQuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKK21zZ3N0ciAia3VuZGUgaW50ZSBhdXRvZGV0ZWt0ZXJhIGUtcG9zdGFkcmVzcyAoZmljayBcIiVzXCIpIgorCisjOiBpZGVudC5jOjM4MQorbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKK21zZ3N0ciAiaW5nZXQgbmFtbiBhbmdhdnMgb2NoIGF1dG9kZXRla3RlcmluZyDDpHIgaW5ha3RpdmVyYWQiCisKKyM6IGlkZW50LmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBuYW1lIChnb3QgJyVzJykiCittc2dzdHIgImt1bmRlIGludGUgYXV0b2RldGVrdGVyYSBuYW1uIChmaWNrIFwiJXNcIikiCisKKyM6IGlkZW50LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IGlkZW50IG5hbWUgKGZvciA8JXM+KSBub3QgYWxsb3dlZCIKK21zZ3N0ciAidG9tdCBpZGVudC1uYW1uIChmw7ZyIDwlcz4pIGVqIHRpbGzDpXRldCIKKworIzogaWRlbnQuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCittc2dzdHIgIm5hbW5ldCBiZXN0w6VyIGVuYmFydCBhdiBlaiB0aWxsw6V0bmEgdGVja2VuOiAlcyIKKworIzogaWRlbnQuYzo0MTYgYnVpbHRpbi9jb21taXQuYzo2MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCittc2dzdHIgImZlbGFrdGlndCBkYXR1bWZvcm1hdDogJXMiCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTE4OTcsODQgKzE5ODcsODQgQEAKICM6IGxvY2tmaWxlLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjcmVhdGUgJyVzLmxvY2snOiAlcyIKLW1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBcIiVzLmxvY2tcIjogJXMiCittc2dzdHIgIkt1bmRlIGludGUgc2thcGEgXCIlcy5sb2NrXCI6ICVzIgogCiAjOiBtZXJnZS5jOjQxCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgY2FjaGVuIgogCi0jOiBtZXJnZS5jOjk2IGJ1aWx0aW4vYW0uYzoyMDAwIGJ1aWx0aW4vYW0uYzoyMDM1IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzQKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODggYnVpbHRpbi9jbG9uZS5jOjczMQorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MTk4MCBidWlsdGluL2FtLmM6MjAxNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTkxIGJ1aWx0aW4vY2xvbmUuYzo3NTMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMAogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIoZmVsYWt0aWcgaW5jaGVja25pbmcpXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMSBtZXJnZS1yZWN1cnNpdmUuYzoyMzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMiBtZXJnZS1yZWN1cnNpdmUuYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiYWRkaW5mb19jYWNoZSBtaXNzbHlja2FkZXMgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDQKIG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiZmVsIHZpZCBieWdnYW5kZSBhdiB0csOkZCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIHPDtmt2w6RnZW4gXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjczOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIlRhciBib3J0ICVzIGbDtnIgYXR0IGfDtnJhIHBsYXRzIGbDtnIgdW5kZXJrYXRhbG9nXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MiBtZXJnZS1yZWN1cnNpdmUuYzo3NzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1MyBtZXJnZS1yZWN1cnNpdmUuYzo3NzIKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IGthbnNrZSBlbiBLL0Yta29uZmxpa3Q/IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgInbDpGdyYXIgZsO2cmxvcmEgb3Nww6VyYWQgZmlsIHZpZCBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwMyBidWlsdGluL2NhdC1maWxlLmM6MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNCBidWlsdGluL2NhdC1maWxlLmM6MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIG9iamVrdGV0ICVzOiBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgImJsb2IgZsO2cnbDpG50YWRlcyBmw7ZyICVzIFwiJXNcIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgXCIlc1wiOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBzeW1ib2xpc2thIGzDpG5rZW4gXCIlc1wiOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKIG1zZ3N0ciAidmV0IGludGUgaHVyICUwNm8gJXMgXCIlc1wiIHNrYWxsIGhhbnRlcmFzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NgogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICJNaXNzbHlja2FkZXMgZXhla3ZlcmEgaW50ZXJuIHNhbW1hbnNsYWduaW5nIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJLdW5kZSBpbnRlIGzDpGdnYSB0aWxsICVzIHRpbGwgZGF0YWJhc2VuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDg4IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTE5ODMsNyArMjA3MywxNiBAQAogIktPTkZMSUtUICglcy9yYWRlcmEpOiAlcyByYWRlcmFkIGkgJXMgb2NoICVzIGkgJXMuIFZlcnNpb25lbiAlcyBhdiAlcyBsw6RtbmFkICIKICJpIHRyw6RkZXQuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlLiIKK21zZ3N0ciAiIgorIktPTkZMSUtUICglcy9yYWRlcmEpOiAlcyByYWRlcmFkIGkgJXMgb2NoICVzIHRpbGwgJXMgaSAlcy4gVmVyc2lvbmVuICVzIGF2ICIKKyIlcyBsw6RtbmFkIGkgdHLDpGRldC4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTE5OTIsMjAgKzIwOTEsMjkgQEAKICJLT05GTElLVCAoJXMvcmFkZXJhKTogJXMgcmFkZXJhZCBpICVzIG9jaCAlcyBpICVzLiBWZXJzaW9uZW4gJXMgYXYgJXMgbMOkbW5hZCAiCiAiaSB0csOkZGV0IHZpZCAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorIktPTkZMSUtUICglcy9yYWRlcmEpOiAlcyByYWRlcmFkIGkgJXMgb2NoICVzIHRpbGwgJXMgaSAlcy4gVmVyc2lvbmVuICVzIGF2ICIKKyIlcyBsw6RtbmFkIGkgdHLDpGRldCB2aWQgJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQ0CiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICJuYW1uYnl0ZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0NAogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgIm5hbW5ieXR0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyDDpHIgZW4ga2F0YWxvZyBpICVzIGzDpGdnZXIgdGlsbCBzb20gJXMgaXN0w6RsbGV0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgpAQCAtMjAxNCwxMzUgKzIxMjIsMTM1IEBACiAiS09ORkxJS1QgKG5hbW5ieXRlL25hbW5ieXRlKTogTmFtbmJ5dGUgXCIlc1wiLT5cIiVzXCIgcMOlIGdyZW5lbiBcIiVzXCIgIgogIm5hbW5ieXRlIFwiJXNcIi0+XCIlc1wiIGkgXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzEKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiAobMOkbW5hZCBvbMO2c3QpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjk5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogIktPTkZMSUtUIChuYW1uYnl0ZS9uYW1uYnl0ZSk6IE5hbW5ieXRlICVzLT4lcyBpICVzLiBOYW1uYnl0ZSAlcy0+JXMgaSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAiQnl0ZXIgbmFtbiBww6UgJXMgdGlsbCAlcyBvY2ggJXMgdGlsbCAlcyBpc3TDpGxsZXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKIG1zZ3N0ciAiS09ORkxJS1QgKG5hbW5ieXRlL3RpbGzDpGdnKTogTmFtbmJ5dGUgJXMtPiVzIGkgJXMuICVzIHRpbGxhZ2QgaSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICJMw6RnZ2VyIHRpbGwgc2FtbWFuc2xhZ2VuICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTU3IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTEgbWVyZ2UtcmVjdXJzaXZlLmM6MTc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiTMOkZ2dlciB0aWxsIHNvbSAlcyBpc3TDpGxsZXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBvYmpla3RldCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAib2JqZWt0ZXQgJXMgw6RyIGludGUgZW4gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAiw6RuZHJhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIsOkbmRyYWQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTAKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJpbm5laMOlbGwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTcKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICJ0aWxsw6RnZy90aWxsw6RnZyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcyMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgIkhvcHBhZGUgw7Z2ZXIgJXMgKHNhbW1hbnNsYWdlbiBzYW1tYSBzb20gYmVmaW50bGlnKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIlNsw6VyIGlob3AgJXMgYXV0b21hdGlza3QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDEgZ2l0LXN1Ym1vZHVsZS5zaDo5MzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTEgZ2l0LXN1Ym1vZHVsZS5zaDo5NDUKIG1zZ2lkICJzdWJtb2R1bGUiCiBtc2dzdHIgInVuZGVybW9kdWwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIktPTkZMSUtUICglcyk6IFNhbW1hbnNsYWduaW5nc2tvbmZsaWt0IGkgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIlRhciBib3J0ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODYyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODcyCiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgImZpbC9rYXRhbG9nIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc4CiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgImthdGFsb2cvZmlsIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiS09ORkxJS1QgKCVzKTogRGV0IGZpbm5zIGVuIGthdGFsb2cgbWVkIG5hbW5ldCAlcyBpICVzLiBMw6RnZ2VyIHRpbGwgJXMgc29tICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAiTMOkZ2dlciB0aWxsICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTMwCiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlISIKIG1zZ3N0ciAiUmVkYW4gw6Agam91ciEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICJzYW1tYW5zbGFnbmluZyBhdiB0csOkZGVuICVzIG9jaCAlcyBtaXNzbHlja2FkZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjIKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAiU2zDpXIgaWhvcDoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKIG1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCiBtc2dzdHJbMF0gImhpdHRhZGUgJXUgZ2VtZW5zYW0gZsO2cmZhZGVyOiIKIG1zZ3N0clsxXSAiaGl0dGFkZSAldSBnZW1lbnNhbW1hIGbDtnJmw6RkZXI6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDc0CiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICJzYW1tYW5zbGFnbmluZ2VuIHJldHVybmVyYWRlIGluZ2VuIGluY2hlY2tuaW5nIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0b2xrYSBvYmpla3RldCBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNDEgYnVpbHRpbi9tZXJnZS5jOjY0NSBidWlsdGluL21lcmdlLmM6NzkyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTUxIGJ1aWx0aW4vbWVyZ2UuYzo2NDYgYnVpbHRpbi9tZXJnZS5jOjc5MwogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIGluZGV4ZXQuIgogCkBAIC0yMTYzLDIzICsyMjcxLDI1IEBACiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKIG1zZ3N0ciAiRHUgaGFyIGludGUgYXZzbHV0YXQgYW50ZWNrbmluZ3Mtc2FtbWFuc2xhZ25pbmdlbiAoJXMgZmlubnMpLiIKIAotIzogbm90ZXMtdXRpbHMuYzo0MQorIzogbm90ZXMtdXRpbHMuYzo0MgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAiS2FuIGludGUgY2hlY2thIGluIG9pbml0aWVyYXQvb3JlZmVyZXJhdCBhbnRlY2tuaW5nc3Ryw6RkIgogCi0jOiBub3Rlcy11dGlscy5jOjEwMAorIzogbm90ZXMtdXRpbHMuYzoxMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIG5vdGVzLnJld3JpdGVNb2RlIHZhbHVlOiAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIGbDtnIgbm90ZXMucmV3cml0ZU1vZGU6ICclcyciCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTEwCisjOiBub3Rlcy11dGlscy5jOjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAiVsOkZ3JhciBza3JpdmEgw7Z2ZXIgYW50ZWNrbmluZ2FyIGkgJXMgKHV0YW5mw7ZyIHJlZnMvbm90ZXMvKSIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKLSMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQotIzogbm90ZXMtdXRpbHMuYzoxMzcKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YKKyMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcworIy4gaXRzIHZhbHVlLgorIy4KKyM6IG5vdGVzLXV0aWxzLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiRmVsYWt0aWd0IHbDpHJkZSBww6UgJXM6IFwiJXNcIiIKQEAgLTIxODksMjggKzIyOTksMjkgQEAKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBvYmpla3RldDogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NzIKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NzMKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU5MAorIzogcGFyc2Utb3B0aW9ucy5jOjU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgImFudsOkbmRuaW5nOiAlcyIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQotIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uCi0jOiBwYXJzZS1vcHRpb25zLmM6NTk0CisjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCisjLgorIzogcGFyc2Utb3B0aW9ucy5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiAgICAgZWxsZXI6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTk3CisjOiBwYXJzZS1vcHRpb25zLmM6NjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjMxCisjOiBwYXJzZS1vcHRpb25zLmM6NjM0CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLVRBTCIKIApAQCAtMjIxOSwxNyArMjMzMCwzNCBAQAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgogbXNnc3RyICJmZWxmb3JtYXQgb2JqZWt0bmFtbiBcIiVzXCIiCiAKLSM6IHBhdGguYzo4MjYKKyM6IHBhdGguYzo4OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgIkt1bmRlIGludGUgZ8O2cmEgJXMgc2tyaXZiYXIgZsO2ciBncnVwcGVuIgogCi0jOiBwYXRoc3BlYy5jOjE0MgorIzogcGF0aHNwZWMuYzoxMjkKK21zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKK21zZ3N0ciAiU3BlY2lhbHRlY2tuZXQgXCJcXFwiIHRpbGzDpXRzIGludGUgc29tIHNpc3RhIHRlY2tlbiBpIGF0dHJpYnV0dsOkcmRlIgorCisjOiBwYXRoc3BlYy5jOjE0NworbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKK21zZ3N0ciAiRW5kYXN0IGVuIFwiYXR0cjpcIi1hbmdpdmVsc2UgdGlsbMOldGVuLiIKKworIzogcGF0aHNwZWMuYzoxNTAKK21zZ2lkICJhdHRyIHNwZWMgbXVzdCBub3QgYmUgZW1wdHkiCittc2dzdHIgImF0dHItYW5naXZlbHNlIGthbiBpbnRlIHZhcmEgdG9tIgorCisjOiBwYXRoc3BlYy5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGF0dHJpYnV0ZSBuYW1lICVzIgorbXNnc3RyICJvZ2lsdGlndCBhdHRyaWJ1dG5hbW4gJXMiCisKKyM6IHBhdGhzcGVjLmM6MjU4CiBtc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogImRlIGdsb2JhbGEgc8O2a3bDpGdzaW5zdMOkbGxuaW5nYXJuYSBcImdsb2JcIiBvY2ggXCJub2dsb2JcIiDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBwYXRoc3BlYy5jOjE0OQorIzogcGF0aHNwZWMuYzoyNjUKIG1zZ2lkICIiCiAiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgogInBhdGhzcGVjIHNldHRpbmdzIgpAQCAtMjIzNyw1MSArMjM2NSw0NiBAQAogImRlbiBnbG9iYWxhIHPDtmt2w6Rnc2luc3TDpGxsbmluZ2VuIFwibGl0ZXJhbFwiIMOkciBpbmtvbXBhdGliZWwgbWVkIGFsbGEgYW5kcmEgIgogImdsb2JhbGEgc8O2a3bDpGdzaW5zdMOkbGxuaW5nYXIiCiAKLSM6IHBhdGhzcGVjLmM6MTg4CisjOiBwYXRoc3BlYy5jOjMwNQogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKIG1zZ3N0ciAib2dpbHRpZyBwYXJhbWV0ZXIgZsO2ciBzw7ZrdsOkZ3N1dHRyeWNrZXQgZsO2ciBcInByZWZpeFwiIgogCi0jOiBwYXRoc3BlYy5jOjIwMQorIzogcGF0aHNwZWMuYzozMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKLW1zZ3N0ciAiZmVsYWt0aWd0IHPDtmt2w6Rnc3V0dHJ5Y2sgXCIlLipzXCIgaSBcIiVzXCIiCittc2dzdHIgIkZlbGFrdGlndCBzw7ZrdsOkZ3N1dHRyeWNrIFwiJS4qc1wiIGkgXCIlc1wiIgogCi0jOiBwYXRoc3BlYy5jOjIwNgorIzogcGF0aHNwZWMuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgogbXNnc3RyICJcIilcIiBzYWtuYXMgaSBzbHV0ZXQgYXYgc8O2a3bDpGdzdXR0cnlja2V0IGbDtnIgXCIlc1wiIgogCi0jOiBwYXRoc3BlYy5jOjIzOAorIzogcGF0aHNwZWMuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCi1tc2dzdHIgIlRlY2tuZXQgXCIlY1wiIGkgc8O2a3bDpGdzdXR0cnlja2V0IGkgXCIlc1wiIGhhciBpbnRlIGltcGxlbWVudGVyYXRzIgorbXNnc3RyICJFaiBpbXBsZW1lbnRlcmF0IHPDtmt2w6Rnc3V0dHJ5Y2ttYWdpIOKAnSVj4oCdIGkg4oCdJXPigJ0iCiAKLSM6IHBhdGhzcGVjLmM6MjkzIHBhdGhzcGVjLmM6MzE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKLW1zZ3N0ciAiU8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgw6RyIGkgdW5kZXJtb2R1bGVuIFwiJS4qc1wiIgotCi0jOiBwYXRoc3BlYy5jOjM1MAorIzogcGF0aHNwZWMuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiVzOiBcImxpdGVyYWxcIiBvY2ggXCJnbG9iXCIgw6RyIGlua29tcGF0aWJsYSIKIAotIzogcGF0aHNwZWMuYzozNjMKKyM6IHBhdGhzcGVjLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXM6IFwiJXNcIiDDpHIgdXRhbmbDtnIgYXJraXZldCIKIAotIzogcGF0aHNwZWMuYzo0NTEKKyM6IHBhdGhzcGVjLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKIG1zZ3N0ciAiXCIlc1wiIChtaW5uZXNzdMO2ZDogXCIlY1wiKSIKIAotIzogcGF0aHNwZWMuYzo0NjEKKyM6IHBhdGhzcGVjLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCiBtc2dzdHIgIiVzOiBzw7ZrdsOkZ3N1dHRyeWNrZXQgaGFudGVyYXMgaW50ZSBhdiBkZXQgaMOkciBrb21tYW5kb3Q6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjUxMQorIzogcGF0aHNwZWMuYzo1NzUKIG1zZ2lkICIiCiAiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCiAidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgpAQCAtMjI4OSwyNCArMjQxMiwxNiBAQAogInRvbW1hIHN0csOkbmdhciBzb20gc8O2a3bDpGdzYW5naXZlbHNlciBrb21tZXIgYmxpIG9naWx0aWdhIGkgZW4ga29tbWFuZGUgIgogInV0Z8OldmEuIGFudsOkbmQgaXN0w6RsbGV0IC4gb20gZHUgdmlsbCB0csOkZmZhIGFsbGEgc8O2a3bDpGdhciIKIAotIzogcGF0aHNwZWMuYzo1MzUKKyM6IHBhdGhzcGVjLmM6NTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAic8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgw6RyIHDDpSBhbmRyYSBzaWRhbiBhdiBlbiBzeW1ib2xpc2sgbMOkbmsiCiAKLSM6IHBhdGhzcGVjLmM6NTQ0Ci1tc2dpZCAiIgotIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCi0iUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKLW1zZ3N0ciAiIgotIkluZ2VudGluZyBhdHQgZXhrbHVkZXJhIGZyw6VuIG1lZCA6KGV4a2x1ZGVyYSktbcO2bnN0ZXIuXG4iCi0iR2zDtm1kZSBkdSBrYW5za2UgYXR0IGFudGluZ2VuIGzDpGdnYSB0aWxsIFwiOi9cIiBlbGxlciBcIi5cIj8iCi0KLSM6IHByZXR0eS5jOjk4MgorIzogcHJldHR5LmM6OTYzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBmb3JtYXQgZsO2ciAtLXByZXR0eSIKIAotIzogcmVhZC1jYWNoZS5jOjEzMDcKKyM6IHJlYWQtY2FjaGUuYzoxNDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMjMxNSw3ICsyNDMwLDcgQEAKICJpbmRleC52ZXJzaW9uIHNhdHQsIG1lbiB2w6RyZGV0IMOkciBvZ2lsdGlndC5cbiIKICJBbnbDpG5kZXIgdmVyc2lvbiAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjEzMTcKKyM6IHJlYWQtY2FjaGUuYzoxNDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTIzMjQsMjUyICsyNDM5LDM2NiBAQAogIkdJVF9JTkRFWF9WRVJTSU9OIHNhdHQsIG1lbiB2w6RyZGV0IMOkciBvZ2lsdGlndC5cbiIKICJBbnbDpG5kZXIgdmVyc2lvbiAlaSIKIAotIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQ0CisjOiByZWFkLWNhY2hlLmM6MjMwOCBidWlsdGluL21lcmdlLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSBzdMOkbmdhIFwiJXNcIiIKKworIzogcmVhZC1jYWNoZS5jOjIzODMgc2VxdWVuY2VyLmM6MTM1MyBzZXF1ZW5jZXIuYzoyMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyciCittc2dzdHIgImt1bmRlIGludGUgdGEgc3RhdHVzIHDDpSBcIiVzXCIiCisKKyM6IHJlYWQtY2FjaGUuYzoyMzk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBnaXQta2F0YWxvZzogJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyNDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBsw6Rua2VuOiAlcyIKKworIzogcmVmcy5jOjYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICJLdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIgZsO2ciBza3Jpdm5pbmciCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODEKKyM6IHJlZnMuYzoxNzY5Cittc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgorbXNnc3RyICJyZWZlcmVuc3VwcGRhdGVyaW5nYXIgZsO2cmJqdWRuYSBpIGthcmFudMOkbm1pbGrDtiIKKworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgYm9ydCByZWZlcmVuc2VuICVzOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgcmVmZXJlbnNlcjogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0OTMKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgYm9ydCByZWZlcmVuc2VuICVzIgogCi0jOiByZWYtZmlsdGVyLmM6NTYKKyM6IHJlZi1maWx0ZXIuYzozNSB3dC1zdGF0dXMuYzoxODExCittc2dpZCAiZ29uZSIKK21zZ3N0ciAiZsO2cnN2dW5uZW4iCisKKyM6IHJlZi1maWx0ZXIuYzozNgorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCIKK21zZ3N0ciAiZsO2cmUgJWQiCisKKyM6IHJlZi1maWx0ZXIuYzozNworIywgYy1mb3JtYXQKK21zZ2lkICJiZWhpbmQgJWQiCittc2dzdHIgImJha29tICVkIgorCisjOiByZWYtZmlsdGVyLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWhlYWQgJWQsIGJlaGluZCAlZCIKK21zZ3N0ciAiZsO2cmUgJWQsIGJha29tICVkIgorCisjOiByZWYtZmlsdGVyLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgImbDtnJ2w6RudGF0IGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiAKLSM6IHJlZi1maWx0ZXIuYzo1OAorIzogcmVmLWZpbHRlci5jOjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAib2vDpG5kIGbDpHJnOiAlJShjb2xvcjolcykiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MgorIzogcmVmLWZpbHRlci5jOjEyMQogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0OiAlJSglcykiCi1tc2dzdHIgIm9rw6RudCBmb3JtYXQ6ICUlKCVzKSIKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgorbXNnc3RyICJIZWx0YWxzdsOkcmRlIGbDtnJ2w6RudGFkZXMgcmVmbmFtZTpsc3RyaXA9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo3OAorIzogcmVmLWZpbHRlci5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6cnN0cmlwPSVzIgorbXNnc3RyICJIZWx0YWxzdsOkcmRlIGbDtnJ2w6RudGFkZXMgcmVmbmFtZTpyc3RyaXA9JXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiCittc2dzdHIgIm9rw6RudCAlJSglcyktYXJndW1lbnQ6ICVzIgorCisjOiByZWYtZmlsdGVyLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShib2R5KSB0YXIgaW50ZSBhcmd1bWVudCIKIAotIzogcmVmLWZpbHRlci5jOjg1CisjOiByZWYtZmlsdGVyLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShzdWJqZWN0KSB0YXIgaW50ZSBhcmd1bWVudCIKIAotIzogcmVmLWZpbHRlci5jOjkyCisjOiByZWYtZmlsdGVyLmM6MTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHRyYWlsZXJzKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUodHJhaWxlcnMpIHRhciBpbnRlIGFyZ3VtZW50IgogCi0jOiByZWYtZmlsdGVyLmM6MTExCisjOiByZWYtZmlsdGVyLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIGNvbnRlbnRzOmxpbmVzPSVzIgogbXNnc3RyICJwb3NpdGl2dCB2w6RyZGUgZsO2cnbDpG50YXQgY29udGVudHM6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTMKKyM6IHJlZi1maWx0ZXIuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCAlJShjb250ZW50cyktYXJndW1lbnQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTIzCisjOiByZWYtZmlsdGVyLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIG9iamVjdG5hbWU6c2hvcnQ9JXMiCittc2dzdHIgInBvc2l0aXZ0IHbDpHJkZSBmw7ZydsOkbnRhdCBvYmplY3RuYW1lOnNob3J0PSVzIgorCisjOiByZWYtZmlsdGVyLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCAlJShvYmplY3RuYW1lKS1hcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDUKKyM6IHJlZi1maWx0ZXIuYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICJmw7ZydsOkbnRhdCBmb3JtYXQ6ICUlKGFsaWduOjxicmVkZD4sPHBvc2l0aW9uPikiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNTcKKyM6IHJlZi1maWx0ZXIuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICJva8OkbmQgcG9zaXRpb246JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjEKKyM6IHJlZi1maWx0ZXIuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdpZHRoOiVzIgogbXNnc3RyICJva8OkbmQgYnJlZGQ6JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcKKyM6IHJlZi1maWx0ZXIuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGFsaWduKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCAlJShhbGlnbiktYXJndW1lbnQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTcxCisjOiByZWYtZmlsdGVyLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgogbXNnc3RyICJwb3NpdGl2IGJyZWRkIGbDtnJ2w6RudGFkIG1lZCBhdG9tZW4gJSUoYWxpZ24pIgogCi0jOiByZWYtZmlsdGVyLmM6MjU1CisjOiByZWYtZmlsdGVyLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJva8OkbnQgJSUoaWYpLWFyZ3VtZW50OiAlcyIKKworIzogcmVmLWZpbHRlci5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAiZmVsZm9ybWF0IGbDpGx0bmFtbjogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjI4MQorIzogcmVmLWZpbHRlci5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIm9rw6RudCBmw6RsdG5hbW46ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzozODMKKyM6IHJlZi1maWx0ZXIuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShpZikgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJShpZikgYW52w6RuZCB1dGFuIGVuICUlKHRoZW4pLWF0b20iCisKKyM6IHJlZi1maWx0ZXIuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0OiBhdG9tZW4gJSUodGhlbikgYW52w6RuZCB1dGFuIGVuICUlKGlmKS1hdG9tIgorCisjOiByZWYtZmlsdGVyLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJSh0aGVuKSBhbnbDpG5kIG1lciDDpG4gZW4gZ8OlbmciCisKKyM6IHJlZi1maWx0ZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCittc2dzdHIgImZvcm1hdDogYXRvbWVuICUlKHRoZW4pIGFudsOkbmQgZWZ0ZXIgJSUoZWxzZSkiCisKKyM6IHJlZi1maWx0ZXIuYzo1OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0OiBhdG9tZW4gJSUoZWxzZSkgYW52w6RuZCB1dGFuIGVuICUlKGlmKS1hdG9tIgorCisjOiByZWYtZmlsdGVyLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJShlbHNlKSBhbnbDpG5kIHV0YW4gZW4gJSUodGhlbiktYXRvbSIKKworIzogcmVmLWZpbHRlci5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiZm9ybWF0OiBhdG9tZW4gJSUoZWxzZSkgYW52w6RuZCBtZXIgw6RuIGVuIGfDpW5nIgorCisjOiByZWYtZmlsdGVyLmM6NjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCiBtc2dzdHIgImZvcm1hdDogYXRvbWVuICUlKGVuZCkgYW52w6RuZCB1dGFuIG1vdHN2YXJhbmRlIGF0b20iCiAKLSM6IHJlZi1maWx0ZXIuYzo0MzUKKyM6IHJlZi1maWx0ZXIuYzo2NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZvcm1hdCBzdHJpbmcgJXMiCiBtc2dzdHIgImZlbGZvcm1hZCBmb3JtYXRzdHLDpG5nICVzIgogCi0jOiByZWYtZmlsdGVyLmM6ODk4Ci1tc2dpZCAiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiCi1tc2dzdHIgIjpzdHJpcD0ga3LDpHZlciBldHQgcG9zaXRpdnQgaGVsdGFsc2FyZ3VtZW50IgotCi0jOiByZWYtZmlsdGVyLmM6OTAzCisjOiByZWYtZmlsdGVyLmM6MTI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIKLW1zZ3N0ciAicmVmZXJlbnNlbiBcIiVzXCIgaGFyIGludGUgJWxkIGtvbXBvbmVudGVyIGbDtnIgOnN0cmlwIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKGluZ2VuIGdyZW4sIG9tYmFzZXJhciAlcykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDY2CisjOiByZWYtZmlsdGVyLmM6MTI1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgotbXNnc3RyICJva8OkbnQgXCIlLipzXCItZm9ybWF0ICVzIgorbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKK21zZ3N0ciAiKGluZ2VuIGdyZW4sIFwiYmlzZWN0XCIgc3RhcnRhZCBww6UgJXMpIgogCi0jOiByZWYtZmlsdGVyLmM6MTA4NiByZWYtZmlsdGVyLmM6MTExNworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKKyMuCisjOiByZWYtZmlsdGVyLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCittc2dzdHIgIihIRUFEIGZyw6Vua29wcGxhdCB2aWQgJXMpIgorCisjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAorIy4gZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCisjLgorIzogcmVmLWZpbHRlci5jOjEyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCittc2dzdHIgIihIRUFEIGZyw6Vua29wcGxhdCBmcsOlbiAlcykiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjc2Cittc2dpZCAiKG5vIGJyYW5jaCkiCittc2dzdHIgIihpbmdlbiBncmVuKSIKKworIzogcmVmLWZpbHRlci5jOjE0MjYgcmVmLWZpbHRlci5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIgogbXNnc3RyICJvYmpla3RldCAlcyBzYWtuYXMgZsO2ciAlcyIKIAotIzogcmVmLWZpbHRlci5jOjEwODkgcmVmLWZpbHRlci5jOjExMjAKKyM6IHJlZi1maWx0ZXIuYzoxNDI5IHJlZi1maWx0ZXIuYzoxNDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhcnNlX29iamVjdF9idWZmZXIgZmFpbGVkIG9uICVzIGZvciAlcyIKIG1zZ3N0ciAicGFyc2Vfb2JqZWN0X2J1ZmZlciBtaXNzbHlja2FkZXMgcMOlICVzIGbDtnIgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzQzCisjOiByZWYtZmlsdGVyLmM6MTc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCiBtc2dzdHIgImZlbGZvcm1hdCBvYmpla3QgdmlkIFwiJXNcIiIKIAotIzogcmVmLWZpbHRlci5jOjE0MTAKKyM6IHJlZi1maWx0ZXIuYzoxODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICJpZ25vcmVyYXIgcmVmZXJlbnMgbWVkIHRyYXNpZ3QgbmFtbiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MTUKKyM6IHJlZi1maWx0ZXIuYzoxODMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgImlnbm9yZXJhciB0cmFzaWcgcmVmZXJlbnMgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcwCisjOiByZWYtZmlsdGVyLmM6MjA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJShlbmQpIHNha25hcyIKIAotIzogcmVmLWZpbHRlci5jOjE3MzQKKyM6IHJlZi1maWx0ZXIuYzoyMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiZmVsZm9ybWF0IG9iamVrdG5hbW4gJXMiCiAKLSM6IHJlbW90ZS5jOjc1NAorIzogcmVtb3RlLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKIG1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIGLDpWRlICVzIG9jaCAlcyB0aWxsICVzIgogCi0jOiByZW1vdGUuYzo3NTgKKyM6IHJlbW90ZS5jOjc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgogbXNnc3RyICIlcyBzcMOlcmFyIHZhbmxpZ3R2aXMgJXMsIGludGUgJXMiCiAKLSM6IHJlbW90ZS5jOjc2MgorIzogcmVtb3RlLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKIG1zZ3N0ciAiJXMgc3DDpXJhciBiw6VkZSAlcyBvY2ggJXMiCiAKLSM6IHJlbW90ZS5jOjc3MAorIzogcmVtb3RlLmM6NzYzCiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIkludGVybnQgZmVsIgogCi0jOiByZW1vdGUuYzoxNjg1IHJlbW90ZS5jOjE3ODcKKyM6IHJlbW90ZS5jOjE2ODAgcmVtb3RlLmM6MTc4MgogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgcGVrYXIgaW50ZSBww6UgZW4gZ3JlbiIKIAotIzogcmVtb3RlLmM6MTY5NAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAib2vDpG5kIGdyZW46IFwiJXNcIiIKIAotIzogcmVtb3RlLmM6MTY5NworIzogcmVtb3RlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiaW5nZW4gc3RhbmRhcmR1cHBzdHLDtm0gYW5naXZlbiBmw7ZyIGdyZW5lbiBcIiVzXCIiCiAKLSM6IHJlbW90ZS5jOjE3MDMKKyM6IHJlbW90ZS5jOjE2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgInVwcHN0csO2bXNncmVuZW4gXCIlc1wiIMOkciBpbnRlIGxhZ3JhZCBzb20gZW4gZmrDpHJyc3DDpXJhbmRlIGdyZW4iCiAKLSM6IHJlbW90ZS5jOjE3MTgKKyM6IHJlbW90ZS5jOjE3MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgInB1c2gtbcOlbGV0IFwiJXNcIiBww6UgZmrDpHJyZW4gXCIlc1wiIGhhciBpbmdlbiBsb2thbHQgc3DDpXJhbmRlIGdyZW4iCiAKLSM6IHJlbW90ZS5jOjE3MzAKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiZ3JlbmVuIFwiJXNcIiBoYXIgaW5nZW4gZmrDpHJyIGbDtnIgXCJwdXNoXCIiCiAKLSM6IHJlbW90ZS5jOjE3NDEKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICJcInB1c2hcIi1yZWZlcmVuc3NwZWNpZmlrYXRpb24gZsO2ciBcIiVzXCIgaW5uZWjDpWxsZXIgaW50ZSBcIiVzXCIiCiAKLSM6IHJlbW90ZS5jOjE3NTQKKyM6IHJlbW90ZS5jOjE3NDkKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgIlwicHVzaFwiIGhhciBpbmdldCBtw6VsIChwdXNoLmRlZmF1bHQgw6RyIFwiaW5nZW50aW5nXCIpIgogCi0jOiByZW1vdGUuYzoxNzc2CisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAiXCJlbmtlbCBwdXNoXCIgbW90c3ZhcmFyIGZsZXJhIG9saWthIG3DpWwiCiAKLSM6IHJlbW90ZS5jOjIwODEKKyM6IHJlbW90ZS5jOjIwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICJEaW4gZ3JlbiDDpHIgYmFzZXJhZCBww6UgXCIlc1wiLCBtZW4gZGVuIGhhciBmw7Zyc3Z1bm5pdCB1cHBzdHLDtm1zLlxuIgogCi0jOiByZW1vdGUuYzoyMDg1CisjOiByZW1vdGUuYzoyMDgwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiBmw7ZyIGF0dCByw6R0dGEpXG4iCiAKLSM6IHJlbW90ZS5jOjIwODgKKyM6IHJlbW90ZS5jOjIwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIkRpbiBncmVuIMOkciDDoCBqb3VyIG1lZCBcIiVzXCIuXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTIKKyM6IHJlbW90ZS5jOjIwODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiRGluIGdyZW4gbGlnZ2VyIGbDtnJlIFwiJXNcIiBtZWQgJWQgaW5jaGVja25pbmcuXG4iCiBtc2dzdHJbMV0gIkRpbiBncmVuIGxpZ2dlciBmw7ZyZSBcIiVzXCIgbWVkICVkIGluY2hlY2tuaW5nYXIuXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTgKKyM6IHJlbW90ZS5jOjIwOTMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHB1c2hcIiBmw7ZyIGF0dCBwdWJsaWNlcmEgZGluYSBsb2thbGEgaW5jaGVja25pbmdhcilcbiIKIAotIzogcmVtb3RlLmM6MjEwMQorIzogcmVtb3RlLmM6MjA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTI1NzksMTEgKzI4MDgsMTEgQEAKIG1zZ3N0clsxXSAiIgogIkRpbiBncmVuIGxpZ2dlciBlZnRlciBcIiVzXCIgbWVkICVkIGluY2hlY2tuaW5nYXIsIG9jaCBrYW4gc25hYmJzcG9sYXMuXG4iCiAKLSM6IHJlbW90ZS5jOjIxMDkKKyM6IHJlbW90ZS5jOjIxMDQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBwdWxsXCIgZsO2ciBhdHQgdXBwZGF0ZXJhIGRpbiBsb2thbGEgZ3JlbilcbiIKIAotIzogcmVtb3RlLmM6MjExMgorIzogcmVtb3RlLmM6MjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTI1OTgsNDEgKzI4MjcsNDYgQEAKICJEaW4gZ3JlbiBvY2ggXCIlc1wiIGhhciBkaXZlcmdlcmF0LFxuIgogIm9jaCBoYXIgJWQgcmVzcGVrdGl2ZSAlZCBvbGlrYSBpbmNoZWNrbmluZ2FyLlxuIgogCi0jOiByZW1vdGUuYzoyMTIyCisjOiByZW1vdGUuYzoyMTE3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHB1bGxcIiBmw7ZyIGF0dCBzbMOlIGlob3AgZmrDpHJyZ3JlbmVuIG1lZCBkaW4gZWdlbilcbiIKIAotIzogcmV2aXNpb24uYzoyMTU4CisjOiByZXZpc2lvbi5jOjIxODcKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICJkaW4gbnV2YXJhbmRlIGdyZW4gdmVya2FyIHZhcmEgdHJhc2lnIgogCi0jOiByZXZpc2lvbi5jOjIxNjEKKyM6IHJldmlzaW9uLmM6MjE5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgImRpbiBudXZhcmFuZGUgZ3JlbiBcIiVzXCIgaW5uZWjDpWxsZXIgw6RubnUgaW50ZSBuw6VncmEgaW5jaGVja25pbmdhciIKIAotIzogcmV2aXNpb24uYzoyMzU1CisjOiByZXZpc2lvbi5jOjIzODQKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiLS1maXJzdC1wYXJlbnQgw6RyIGlua29tcGF0aWJlbHQgbWVkIC0tYmlzZWN0IgogCi0jOiBydW4tY29tbWFuZC5jOjEyNQorIzogcnVuLWNvbW1hbmQuYzo2NDQKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgL2Rldi9udWxsIgogCi0jOiBydW4tY29tbWFuZC5jOjEyNworIzogc2VuZC1wYWNrLmM6MTUxCiAjLCBjLWZvcm1hdAotbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKLW1zZ3N0ciAiZHVwMiglZCwlZCkgbWlzc2x5Y2thZGVzIgorbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCittc2dzdHIgImt1bmRlIGludGUgdG9sa2EgZmrDpHJydXBwYWNrbmluZ3NzdGF0dXM6ICVzIgogCi0jOiBzZW5kLXBhY2suYzoyOTcKKyM6IHNlbmQtcGFjay5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCittc2dzdHIgImZqw6RycnVwcGFja25pbmcgbWlzc2x5Y2thZGVzOiAlcyIKKworIzogc2VuZC1wYWNrLmM6MzE2CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB1bmRlcnRlY2tuYSBwdXNoLWNlcnRpZmlrYXRldCIKIAotIzogc2VuZC1wYWNrLmM6NDEwCisjOiBzZW5kLXBhY2suYzo0MjkKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgIm1vdHRhZ2Fyc2lkYW4gc3TDtmRlciBpbnRlIHB1c2ggbWVkIC0tc2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MTIKKyM6IHNlbmQtcGFjay5jOjQzMQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKQEAgLTI2NDAsMzIgKzI4NzQsMzIgQEAKICJzw6RuZGVyIGludGUgcHVzaC1jZXJ0aWZpa2F0IGVmdGVyc29tIG1vdHRhZ2Fyc2lkYW4gaW50ZSBzdGxkZXIgcHVzaCBtZWQgLS0iCiAic2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MjQKKyM6IHNlbmQtcGFjay5jOjQ0MwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMgcHVzaCIKIG1zZ3N0ciAibW90dGFnYXJzaWRhbiBzdMO2ZGVyIGludGUgcHVzaCBtZWQgLS1hdG9taWMiCiAKLSM6IHNlbmQtcGFjay5jOjQyOQorIzogc2VuZC1wYWNrLmM6NDQ4CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCiBtc2dzdHIgIm1vdHRhZ2Fyc2lkYW4gc3TDtmRlciBpbnRlIHB1c2gtZmxhZ2dvciIKIAotIzogc2VxdWVuY2VyLmM6MjE1CisjOiBzZXF1ZW5jZXIuYzoyMTYKIG1zZ2lkICJyZXZlcnQiCiBtc2dzdHIgInJldmVydCIKIAotIzogc2VxdWVuY2VyLmM6MjE3CisjOiBzZXF1ZW5jZXIuYzoyMTgKIG1zZ2lkICJjaGVycnktcGljayIKIG1zZ3N0ciAiY2hlcnJ5LXBpY2siCiAKLSM6IHNlcXVlbmNlci5jOjIxOQorIzogc2VxdWVuY2VyLmM6MjIwCiBtc2dpZCAicmViYXNlIC1pIgogbXNnc3RyICJyZWJhc2UgLWkiCiAKLSM6IHNlcXVlbmNlci5jOjIyMQorIzogc2VxdWVuY2VyLmM6MjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYWN0aW9uOiAlZCIKIG1zZ3N0ciAiT2vDpG5kIGZ1bmt0aW9uOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6Mjc4CisjOiBzZXF1ZW5jZXIuYzoyNzkKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKQEAgLTI2NzMsNyArMjkwNyw3IEBACiAiZWZ0ZXIgYXR0IGhhIGzDtnN0IGtvbmZsaWt0ZXJuYSwgbWFya2VyYSBkZSByw6R0dGFkZSBzw7ZrdsOkZ2FybmFcbiIKICJtZWQgXCJnaXQgYWRkIDxzw7ZrdsOkZ2FyPlwiIGVsbGVyIFwiZ2l0IHJtIDxzw7ZrdsOkZ2FyPlwiIgogCi0jOiBzZXF1ZW5jZXIuYzoyODEKKyM6IHNlcXVlbmNlci5jOjI4MgogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCkBAIC0yNjgzLDYzICsyOTE3LDYzIEBACiAibWVkIFwiZ2l0IGFkZCA8c8O2a3bDpGdhcj5cIiBlbGxlciBcImdpdCBybSA8c8O2a3bDpGdhcj5cIlxuIgogIm9jaCBjaGVja2EgaW4gcmVzdWx0YXRldCBtZWQgXCJnaXQgY29tbWl0XCIiCiAKLSM6IHNlcXVlbmNlci5jOjI5NCBzZXF1ZW5jZXIuYzoxNjY3CisjOiBzZXF1ZW5jZXIuYzoyOTUgc2VxdWVuY2VyLmM6MTY4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpXNhIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6Mjk3IHNlcXVlbmNlci5jOjE1NDUgc2VxdWVuY2VyLmM6MTY3MiBzZXF1ZW5jZXIuYzoxNjg2CisjOiBzZXF1ZW5jZXIuYzoyOTggc2VxdWVuY2VyLmM6MTU2MyBzZXF1ZW5jZXIuYzoxNjkwIHNlcXVlbmNlci5jOjE3MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHRpbGwgXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzozMDEKKyM6IHNlcXVlbmNlci5jOjMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHJhZHNsdXQgdGlsbCBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjMwNSBzZXF1ZW5jZXIuYzoxNTUwIHNlcXVlbmNlci5jOjE2NzQKKyM6IHNlcXVlbmNlci5jOjMwNiBzZXF1ZW5jZXIuYzoxNTY4IHNlcXVlbmNlci5jOjE2OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcycuIgogbXNnc3RyICJtaXNzbHlja2FkZXMgZsOkcmRpZ3N0w6RsbGEgXCIlc1wiLiIKIAotIzogc2VxdWVuY2VyLmM6MzI5IHNlcXVlbmNlci5jOjgwOCBzZXF1ZW5jZXIuYzoxNTcxIGJ1aWx0aW4vYW0uYzoyNTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDM2CisjOiBzZXF1ZW5jZXIuYzozMzAgc2VxdWVuY2VyLmM6ODE3IHNlcXVlbmNlci5jOjE1ODkgYnVpbHRpbi9hbS5jOjI1OAorIzogYnVpbHRpbi9jb21taXQuYzo3NTAgYnVpbHRpbi9tZXJnZS5jOjEwMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjM1NQorIzogc2VxdWVuY2VyLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCiBtc2dzdHIgImRpbmEgbG9rYWxhIMOkbmRyaW5nYXIgc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzozNTkKKyM6IHNlcXVlbmNlci5jOjM2MAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAiY2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBmw7ZyIGF0dCBmb3J0c8OkdHRhLiIKIAotIzogc2VxdWVuY2VyLmM6Mzg4CisjOiBzZXF1ZW5jZXIuYzozODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiJXM6IHNuYWJic3BvbGEiCiAKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCi0jLiAqICJyZWJhc2UgLWkiLgorIy4gInJlYmFzZSAtaSIuCiAjLgotIzogc2VxdWVuY2VyLmM6NDcwCisjOiBzZXF1ZW5jZXIuYzo0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODkKKyM6IHNlcXVlbmNlci5jOjQ5MQogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgImt1bmRlIGludGUgYmVzdMOkbW1hIEhFQUQ6cyBpbmNoZWNrbmluZ1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo1MDkKKyM6IHNlcXVlbmNlci5jOjUxMQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICJrYW4gaW50ZSB1cHBkYXRlcmEgY2FjaGV0csOkZFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTIKKyM6IHNlcXVlbmNlci5jOjU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKQEAgLTI3NjgsMTcgKzMwMDIsMTcgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo2ODgKKyM6IHNlcXVlbmNlci5jOjY5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgaW5jaGVja25pbmdlbiAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo2OTMKKyM6IHNlcXVlbmNlci5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGbDtnLDpGxkcmFpbmNoZWNrbmluZ2VuICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjgxNQorIzogc2VxdWVuY2VyLmM6ODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmV4cGVjdGVkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjc4OSw3ICszMDIzLDcgQEAKICJcbiIKICJcdCUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjgyMQorIzogc2VxdWVuY2VyLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbnZhbGlkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjgwMCwyMzEgKzMwMzQsMjMxIEBACiAiXG4iCiAiXHQlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo4Mjcgc2VxdWVuY2VyLmM6ODUyCisjOiBzZXF1ZW5jZXIuYzo4MzYgc2VxdWVuY2VyLmM6ODYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKIG1zZ3N0ciAiRGV0IGjDpHIgw6RyIGVuIGtvbWJpbmF0aW9uIGF2ICVkIGluY2hlY2tuaW5nYXIuIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzYKKyM6IHNlcXVlbmNlci5jOjg0NQogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICJiZWjDtnZlciBlbiBIRUFELWluY2hlY2tuaW5nIGF0dCByw6R0dGEiCiAKLSM6IHNlcXVlbmNlci5jOjgzOAorIzogc2VxdWVuY2VyLmM6ODQ3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDAKKyM6IHNlcXVlbmNlci5jOjg0OQogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBIRUFEOnMgaW5jaGVja25pbmdzbWVkZGVsYW5kZSIKIAotIzogc2VxdWVuY2VyLmM6ODQ2CisjOiBzZXF1ZW5jZXIuYzo4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHNrcml2YSBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjg1NSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDUKKyM6IHNlcXVlbmNlci5jOjg2NCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDUKIG1zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgogbXNnc3RyICJEZXQgaMOkciDDpHIgMTphIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0OiIKIAotIzogc2VxdWVuY2VyLmM6ODYzCisjOiBzZXF1ZW5jZXIuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2Ugb2YgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgaW5jaGVja25pbmdzbWVkZGVsYW5kZSBmw7ZyICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzAKKyM6IHNlcXVlbmNlci5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICJEZXQgaMOkciDDpHIgaW5jaGVja25pbmdzbWVkZGVsYW5kZSAlZDoiCiAKLSM6IHNlcXVlbmNlci5jOjg3NQorIzogc2VxdWVuY2VyLmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJWQgd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAiSW5jaGVja25pbmdzbWVkZGVsYW5kZSAlZCBrb21tZXIgaG9wcGFzIMO2dmVyOiIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKIG1zZ3N0ciAib2vDpG50IGtvbW1hbmRvOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6OTQ2CisjOiBzZXF1ZW5jZXIuYzo5NTUKIG1zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICJkaW4gaW5kZXhmaWwgaGFyIGludGUgc2xhZ2l0cyBpaG9wLiIKIAotIzogc2VxdWVuY2VyLmM6OTY0CisjOiBzZXF1ZW5jZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICJpbmNoZWNrbmluZyAlcyDDpHIgZW4gc2FtbWFuc2xhZ25pbmcsIG1lbiBmbGFnZ2FuIC1tIGFuZ2F2cyBpbnRlLiIKIAotIzogc2VxdWVuY2VyLmM6OTcyCisjOiBzZXF1ZW5jZXIuYzo5ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICJpbmNoZWNrbmluZyAlcyBoYXIgaW50ZSBmw7Zyw6RsZGVyICVkIgogCi0jOiBzZXF1ZW5jZXIuYzo5NzYKKyM6IHNlcXVlbmNlci5jOjk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICJodXZ1ZGxpbmplIGFuZ2F2cywgbWVuIGluY2hlY2tuaW5nZW4gJXMgw6RyIGludGUgZW4gc2FtbWFuc2xhZ25pbmciCittc2dzdHIgImh1dnVkbGluamUgYW5nYXZzLCBtZW4gaW5jaGVja25pbmdlbiAlcyDDpHIgaW50ZSBlbiBzYW1tYW5zbGFnbmluZy4iCiAKLSM6IHNlcXVlbmNlci5jOjk4MgorIzogc2VxdWVuY2VyLmM6OTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgaW5jaGVja25pbmdzbWVkZGVsYW5kZSBmw7ZyICVzIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCiAjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgotIzogc2VxdWVuY2VyLmM6MTAwMQorIzogc2VxdWVuY2VyLmM6MTAxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiBrYW4gaW50ZSB0b2xrYSBmw7Zyw6RsZHJhaW5jaGVja25pbmdlbiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA2MyBzZXF1ZW5jZXIuYzoxODEyCisjOiBzZXF1ZW5jZXIuYzoxMDc1IHNlcXVlbmNlci5jOjE4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgYnl0YSBuYW1uIHDDpSBcIiVzXCIgdGlsbCBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjExMTQKKyM6IHNlcXVlbmNlci5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDpW5ncmEgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjExMTUKKyM6IHNlcXVlbmNlci5jOjExMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRpbGzDpG1wYSAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTE1NworIzogc2VxdWVuY2VyLmM6MTE2OQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJkZW4gYW5naXZuYSB1cHBzw6R0dG5pbmdlbiBpbmNoZWNrbmluZ2FyIMOkciB0b20iCiAKLSM6IHNlcXVlbmNlci5jOjExNjcKKyM6IHNlcXVlbmNlci5jOjExNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogbWlzc2x5Y2thZGVzIGzDpHNhIGluZGV4ZXQiCiAKLSM6IHNlcXVlbmNlci5jOjExNzQKKyM6IHNlcXVlbmNlci5jOjExODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogbWlzc2x5Y2thZGVzIHVwcGRhdGVyYSBpbmRleGV0IgogCi0jOiBzZXF1ZW5jZXIuYzoxMjk0CisjOiBzZXF1ZW5jZXIuYzoxMzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAib2dpbHRpZyByYWQgJWQ6ICUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjEzMDIKKyM6IHNlcXVlbmNlci5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICclcycgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKLW1zZ3N0ciAiS2FuIGludGUgdXRmw7ZyYSBcIiVzXCIgdXRhbiBlbiBmw7ZyZWfDpWVuZGUgaW5jaGVja25pbmciCittc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgXCIlc1wiIHV0YW4gZW4gZsO2cmVnw6VlbmRlIGluY2hlY2tuaW5nIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzM0CisjOiBzZXF1ZW5jZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIFwiJXNcIi4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNDEKKyM6IHNlcXVlbmNlci5jOjEzNTkKIG1zZ2lkICJwbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAicsOkdHRhIGRldCBtZWQgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQzCisjOiBzZXF1ZW5jZXIuYzoxMzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgotbXNnc3RyICJvYW52w6RuZGJhcnQgbWFudXM6ICVzIgorbXNnc3RyICJvYW52w6RuZGJhcnQgbWFudXM6IOKAnSVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQ4CisjOiBzZXF1ZW5jZXIuYzoxMzY2CiBtc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJpbmdhIGluY2hlY2tuaW5nYXIgbMOkc3Rlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNTkKKyM6IHNlcXVlbmNlci5jOjEzNzcKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcImNoZXJyeS1waWNrXCIgdW5kZXIgZW4gXCJyZXZlcnRcIi4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNjEKKyM6IHNlcXVlbmNlci5jOjEzNzkKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcInJldmVydFwiIHVuZGVyIGVuIFwiY2hlcnJ5LXBpY2tcIi4iCiAKLSM6IHNlcXVlbmNlci5jOjE0MjQKKyM6IHNlcXVlbmNlci5jOjE0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJmZWxha3RpZyBueWNrZWw6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDI3CisjOiBzZXF1ZW5jZXIuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IHbDpHJkZSBmw7ZyICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQ4NAorIzogc2VxdWVuY2VyLmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKLW1zZ3N0ciAidHJhc2lndCBtYW51czogJXMiCittc2dzdHIgInRyYXNpZ3QgbWFudXM6IOKAnSVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIyCisjOiBzZXF1ZW5jZXIuYzoxNTQwCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiZW4gXCJjaGVycnktcGlja1wiIGVsbGVyIFwicmV2ZXJ0XCIgcMOlZ8OlciByZWRhbiIKIAotIzogc2VxdWVuY2VyLmM6MTUyMworIzogc2VxdWVuY2VyLmM6MTU0MQogbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiBtc2dzdHIgInRlc3RhIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6MTUyNgorIzogc2VxdWVuY2VyLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBcInNlcXVlbmNlclwiLWthdGFsb2dlbiBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjE1NDAKKyM6IHNlcXVlbmNlci5jOjE1NTgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpXNhIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTYgc2VxdWVuY2VyLmM6MjE1MAorIzogc2VxdWVuY2VyLmM6MTYxNCBzZXF1ZW5jZXIuYzoyMTg4CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJpbmdlbiBcImNoZXJyeS1waWNrXCIgZWxsZXIgXCJyZXZlcnRcIiBww6Vnw6VyIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTk4CisjOiBzZXF1ZW5jZXIuYzoxNjE2CiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAia2FuIGludGUgYmVzdMOkbW1hIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MDAgc2VxdWVuY2VyLmM6MTYzNAorIzogc2VxdWVuY2VyLmM6MTYxOCBzZXF1ZW5jZXIuYzoxNjUyCiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgImthbiBpbnRlIGF2YnJ5dGEgZnLDpW4gZW4gZ3JlbiBzb20gw6RubnUgaW50ZSDDpHIgZsO2ZGQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjAgYnVpbHRpbi9ncmVwLmM6OTA0CisjOiBzZXF1ZW5jZXIuYzoxNjM4IGJ1aWx0aW4vZ3JlcC5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIyCisjOiBzZXF1ZW5jZXIuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBcIiVzXCI6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIzCisjOiBzZXF1ZW5jZXIuYzoxNjQxCiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAib3bDpG50YXQgZmlsc2x1dCIKIAotIzogc2VxdWVuY2VyLmM6MTYyOQorIzogc2VxdWVuY2VyLmM6MTY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgInNwYXJhZCBIRUFELWZpbCBmcsOlbiBmw7ZyZSBcImNoZXJyeS1waWNrXCIsIFwiJXNcIiwgw6RyIHRyYXNpZyIKIAotIzogc2VxdWVuY2VyLmM6MTY0MAorIzogc2VxdWVuY2VyLmM6MTY1OAogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKIG1zZ3N0ciAiIgogIkR1IHZlcmthciBoYSBmbHl0dGF0IEhFQUQuXG4iCiAiU3BvbGFyIGludGUgdGlsbGJha2EsIGtvbnRyb2xsZXJhIEhFQUQhIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzc3IHNlcXVlbmNlci5jOjIwNDkKKyM6IHNlcXVlbmNlci5jOjE3OTUgc2VxdWVuY2VyLmM6MjA4NgogbXNnaWQgImNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE4MTcgYnVpbHRpbi9kaWZmdG9vbC5jOjU3NAorIzogc2VxdWVuY2VyLmM6MTgzNSBidWlsdGluL2RpZmZ0b29sLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBrb3BpZXJhIGluIFwiJXNcIiB0aWxsIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6MTgzMworIzogc2VxdWVuY2VyLmM6MTg1MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgotbXNnc3RyICJLdW5kZSBpbnRlIGzDpHNhIGluZGV4ZXQiCittc2dzdHIgImt1bmRlIGludGUgbMOkc2EgaW5kZXhldCIKIAotIzogc2VxdWVuY2VyLmM6MTgzOAorIzogc2VxdWVuY2VyLmM6MTg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKQEAgLTMwMzksMTEgKzMyNzMsMTEgQEAKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxODQ0CisjOiBzZXF1ZW5jZXIuYzoxODYyCiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKIG1zZ3N0ciAib2NoIGdqb3JkZSDDpG5kcmluZ2FyIHRpbGwgaW5kZXhldCBvY2gvZWxsZXIgYXJiZXRza2F0YWxvZ2VuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjE4NTAKKyM6IHNlcXVlbmNlci5jOjE4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCkBAIC0zMDYwLDE3ICszMjk0LDE3IEBACiAiXHRnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MTkwNSBnaXQtcmViYXNlLnNoOjE2OAorIzogc2VxdWVuY2VyLmM6MTkyNQogIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCi1tc2dzdHIgIlRpbGzDpG1wYWRlIGF1dG9zdGFzaC4iCittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCittc2dzdHIgIlRpbGzDpG1wYWRlIGF1dG9zdGFzaC5cbiIKIAotIzogc2VxdWVuY2VyLmM6MTkxNworIzogc2VxdWVuY2VyLmM6MTkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE5IGdpdC1yZWJhc2Uuc2g6MTcyCisjOiBzZXF1ZW5jZXIuYzoxOTQwIGdpdC1yZWJhc2Uuc2g6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgpAQCAtMzA4MSw1NyArMzMxNSw1NyBAQAogIkRpbmEgw6RuZHJpbmdhciDDpHIgc8Oka3JhIGkgc3Rhc2hlbi5cbiIKICJEdSBrYW4gbsOkciBzb20gaGVsc3QgYW52w6RuZGEgXCJnaXQgc3Rhc2ggcG9wXCIgZWxsZXIgXCJnaXQgc3Rhc2ggZHJvcFwiLlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDAwCisjOiBzZXF1ZW5jZXIuYzoyMDIyCiAjLCBjLWZvcm1hdAotbXNnaWQgInN0b3BwZWQgYXQgJXMuLi4gJS4qcyIKLW1zZ3N0ciAic3RvcHBhZGUgcMOlICVzLi4uICUuKnMiCittc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgorbXNnc3RyICJTdG9wcGFkZSBww6UgJXMuLi4gJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDI3CisjOiBzZXF1ZW5jZXIuYzoyMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAib2vDpG50IGtvbW1hbmRvICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDU3CisjOiBzZXF1ZW5jZXIuYzoyMDk0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgotbXNnc3RyICJLdW5kZSBpbnRlIGzDpHNhIG9yaWctaGVhZCIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBvcmlnLWhlYWQiCiAKLSM6IHNlcXVlbmNlci5jOjIwNjEKKyM6IHNlcXVlbmNlci5jOjIwOTkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnb250byciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgXCJvbnRvXCIiCiAKLSM6IHNlcXVlbmNlci5jOjIwNjgKKyM6IHNlcXVlbmNlci5jOjIxMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1cHBkYXRlcmEgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIwNzUKKyM6IHNlcXVlbmNlci5jOjIxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSBIRUFEIHRvICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHVwcGRhdGVyYSBIRUFEIHRpbGwgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIxNTkKKyM6IHNlcXVlbmNlci5jOjIxOTcKIG1zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAia2FuIGludGUgb21iYXNlcmE6IER1IGhhciBva8O2YWRlIMOkbmRyaW5nYXIuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTY0CisjOiBzZXF1ZW5jZXIuYzoyMjAyCiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjE3MworIzogc2VxdWVuY2VyLmM6MjIxMQogbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgogbXNnc3RyICJrYW4gaW50ZSBsw6RnZ2EgdGlsbCBpbmNoZWNrbmluZyBzb20gaW50ZSBmaW5ucyIKIAotIzogc2VxdWVuY2VyLmM6MjE3NQorIzogc2VxdWVuY2VyLmM6MjIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGZpbGU6ICclcyciCiBtc2dzdHIgIm9naWx0aWcgZmlsOiBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjIxNzcKKyM6IHNlcXVlbmNlci5jOjIyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAib2dpbHRpZ3QgaW5uZWjDpWxsOiBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjIxODAKKyM6IHNlcXVlbmNlci5jOjIyMTgKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgpAQCAtMzE0MSwyNSArMzM3NSwyNSBAQAogIkR1IGhhciDDpG5kcmluZ2FyIGkgYXJiZXRza2F0YWxvZ2VuIHNvbSBpbnRlIGNoZWNrYXRzIGluLiBDaGVja2EgaW4gZGVtXG4iCiAiZsO2cnN0IG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnV0ZVwiIGlnZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTkwCisjOiBzZXF1ZW5jZXIuYzoyMjI4CiBtc2dpZCAiY291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgImt1bmRlIGludGUgY2hlY2thIGluIGvDtmFkZSDDpG5kcmluZ2FyLiIKIAotIzogc2VxdWVuY2VyLmM6MjI3MAorIzogc2VxdWVuY2VyLmM6MjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIKLW1zZ3N0ciAiJXM6IGthbiBpbnRlIGfDtnJhIFwiY2hlcnJ5LXBpY2tcIiBww6UgdHlwZW4gXCIlc1wiIgorbXNnc3RyICIlczoga2FuIGludGUgZ8O2cmEgXCJjaGVycnktcGlja1wiIHDDpSB0eXBlbiDigJ0lc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6MjI3NAorIzogc2VxdWVuY2VyLmM6MjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlczogZmVsYWt0aWcgcmV2aXNpb24iCiAKLSM6IHNlcXVlbmNlci5jOjIzMDcKKyM6IHNlcXVlbmNlci5jOjIzNDUKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgImthbiBpbnRlIMOlbmdyYSBzb20gZsO2cnN0YSBpbmNoZWNrbmluZyIKIAotIzogc2V0dXAuYzoxNjAKKyM6IHNldHVwLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC0zMTY5LDcgKzM0MDMsNyBAQAogIkFudsOkbmQgXCJnaXQgPGtvbW1hbmRvPiAtLSA8c8O2a3bDpGc+Li5cIiBmw7ZyIGF0dCBhbmdlIHPDtmt2w6RnYXIgc29tIGludGUgZmlubnMgIgogImxva2FsdC4iCiAKLSM6IHNldHVwLmM6MTczCisjOiBzZXR1cC5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTMxODEsNyArMzQxNSw3IEBACiAiQW52w6RuZCBcIi0tXCIgZsO2ciBhdHQgc2tpbGphIHPDtmt2w6RnYXIgZnLDpW4gcmV2aXNpb25lciwgc8OlIGjDpHI6XG4iCiAiXCJnaXQgPGtvbW1hbmRvPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWw+Li4uXVwiIgogCi0jOiBzZXR1cC5jOjIyMworIzogc2V0dXAuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtMzE5MiwyOSArMzQyNiwzNCBAQAogIkFudsOkbmQgXCItLVwiIGbDtnIgYXR0IHNraWxqYSBzw7ZrdsOkZ2FyIGZyw6VuIHJldmlzaW9uZXIsIHPDpSBow6RyOlxuIgogIlwiZ2l0IDxrb21tYW5kbz4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsPi4uLl1cIiIKIAotIzogc2V0dXAuYzo0NzAKKyM6IHNldHVwLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGVkIGdpdCByZXBvIHZlcnNpb24gPD0gJWQsIGZvdW5kICVkIgogbXNnc3RyICJGw7ZydsOkbnRhZGUgZ2l0LWFya2l2dmVyc2lvbiA8PSAlZCwgaGl0dGFkZSAlZCIKIAotIzogc2V0dXAuYzo0NzgKKyM6IHNldHVwLmM6NTEyCiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICJva8OkbmRhIGFya2l2dXTDtmtuaW5nYXIgaGl0dGFkZXM6IgogCi0jOiBzZXR1cC5jOjc2OAorIzogc2V0dXAuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCiBtc2dzdHIgIkludGUgZXR0IGdpdC1hcmtpdiAoZWxsZXIgbsOlZ29uIGF2IGbDtnLDpGxkcmFrYXRhbG9nZXJuYSk6ICVzIgogCi0jOiBzZXR1cC5jOjc3MCBzZXR1cC5jOjkyMiBidWlsdGluL2luZGV4LXBhY2suYzoxNjQzCisjOiBzZXR1cC5jOjgxMiBidWlsdGluL2luZGV4LXBhY2suYzoxNjUyCiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgIkthbiBpbnRlIGfDpSB0aWxsYmFrYSB0aWxsIGFyYmV0c2thdGFsb2dlbiAoY3dkKSIKIAotIzogc2V0dXAuYzo4NTIKKyM6IHNldHVwLmM6MTA1MAogbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIkthbiBpbnRlIGzDpHNhIGFrdHVlbGwgYXJiZXRza2F0YWxvZyIKIAotIzogc2V0dXAuYzo5MjcKKyM6IHNldHVwLmM6MTA2MiBzZXR1cC5jOjEwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMnIgorbXNnc3RyICJLYW4gaW50ZSBieXRhIHRpbGwgXCIlc1wiIgorCisjOiBzZXR1cC5jOjEwODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgpAQCAtMzIyNCwxMiArMzQ2Myw3IEBACiAibW9udGVyaW5nc3B1bmt0ZW4gJXMpXG4iCiAiU3RvcHBhciB2aWQgZmlsc3lzdGVtc2dyw6RucyAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSDDpHIgaW50ZSBzYXR0KS4iCiAKLSM6IHNldHVwLmM6OTM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIKLW1zZ3N0ciAia2FuIGludGUgYnl0YSB0aWxsIFwiJXMvLi5cIiIKLQotIzogc2V0dXAuYzo5OTYKKyM6IHNldHVwLmM6MTE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAoMCUuM28pLlxuIgpAQCAtMzIzOCw1NSArMzQ3Miw1NSBAQAogIlByb2JsZW0gbWVkIGZpbGzDpGdlcy12w6RyZGV0IGkgY29yZS5zaGFyZWRSZXBvc2l0b3J5ICgwJS4zbykuXG4iCiAiw4RnYXJlbiBhdiBmaWxlcm5hIG3DpXN0ZSBhbGx0aWQgaGEgbMOkcy0gb2NoIHNrcml2YmVow7ZyaWdoZXQuIgogCi0jOiBzaGExX2ZpbGUuYzo0OTAKKyM6IHNoYTFfZmlsZS5jOjU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGZpbm5zIGludGUiCiAKLSM6IHNoYTFfZmlsZS5jOjUxNgorIzogc2hhMV9maWxlLmM6NTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgogbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIHNvbSBlbiBsw6Rua2FkIHV0Y2hlY2tuaW5nIHN0w7ZkcyBpbnRlIMOkbm51LiIKIAotIzogc2hhMV9maWxlLmM6NTIyCisjOiBzaGExX2ZpbGUuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAicmVmZXJlbnNhcmtpdmV0IFwiJXNcIiDDpHIgaW50ZSBldHQgbG9rYWx0IGFya2l2LiIKIAotIzogc2hhMV9maWxlLmM6NTI4CisjOiBzaGExX2ZpbGUuYzo1OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgogbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciBncnVudCIKIAotIzogc2hhMV9maWxlLmM6NTM2CisjOiBzaGExX2ZpbGUuYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgogbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciB5bXBhdCIKIAotIzogc2hhMV9maWxlLmM6MTE3NgorIzogc2hhMV9maWxlLmM6MTI0NQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICJvZmZzZXQgZsO2cmUgc2x1dGV0IGF2IHBhY2tmaWxlbiAodHJhc2lnIC5pZHg/KSIKIAotIzogc2hhMV9maWxlLmM6MjYzNworIzogc2hhMV9maWxlLmM6MjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBmw7ZyZSBzbHV0ZXQgYXYgcGFja2luZGV4IGbDtnIgJXMgKHRyYXNpZ3QgaW5kZXg/KSIKIAotIzogc2hhMV9maWxlLmM6MjY0MQorIzogc2hhMV9maWxlLmM6MjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBib3J0b24gc2x1dGV0IGF2IHBhY2tpbmRleCBmw7ZyICVzICh0cnVua2VyYXQgaW5kZXg/KSIKIAotIzogc2hhMV9uYW1lLmM6NDA3CisjOiBzaGExX25hbWUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCiBtc2dzdHIgImtvcnQgU0hBMSAlcyDDpHIgdHZldHlkaWciCiAKLSM6IHNoYTFfbmFtZS5jOjQxOAorIzogc2hhMV9uYW1lLmM6NDMwCiBtc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKIG1zZ3N0ciAiS2FuZGlkYXRlcm5hIMOkcjoiCiAKLSM6IHNoYTFfbmFtZS5jOjU3OAorIzogc2hhMV9uYW1lLmM6NTg5CiBtc2dpZCAiIgogIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCiAiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgpAQCAtMzMwOCw0NiArMzU0Miw2NiBAQAogIlVuZGVyc8O2ayByZWZlcmVuc2VybmEgb2NoIHRhIGthbnNrZSBib3J0IGRlbS4gU3TDpG5nIGF2IG1lZGRlbGFuZGV0XG4iCiAiZ2Vub20gYXR0IGvDtnJhIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKIAotIzogc3VibW9kdWxlLmM6NjUgc3VibW9kdWxlLmM6OTkKKyM6IHN1Ym1vZHVsZS5jOjcwIHN1Ym1vZHVsZS5jOjEwNAogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAiS2FuIGludGUgw6RuZHJhIC5naXRtb2R1bGVzLWZpbCBzb20gaW50ZSBzbGFnaXRzIGlob3AsIGzDtnMgIgogInNhbW1hbnNsYWduaW5nc2tvbmZsaWt0ZXIgZsO2cnN0IgogCi0jOiBzdWJtb2R1bGUuYzo2OSBzdWJtb2R1bGUuYzoxMDMKKyM6IHN1Ym1vZHVsZS5jOjc0IHN1Ym1vZHVsZS5jOjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCiBtc2dzdHIgIkhpdHRhZGUgaW50ZSBuw6Vnb24gc2VrdGlvbiBpIC5naXRtb2R1bGVzIGTDpHIgc8O2a3bDpGc9JXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjc3CisjOiBzdWJtb2R1bGUuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIHVwcGRhdGVyYSAuZ2l0bW9kdWxlcy1wb3N0ZW4gJXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjExMAorIzogc3VibW9kdWxlLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIHRhIGJvcnQgLmdpdG1vZHVsZXMtcG9zdGVuIGbDtnIgJXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjEyMQorIzogc3VibW9kdWxlLmM6MTI2CiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGvDtmEgdXBwZGF0ZXJhZCAuZ2l0bW9kdWxlcyIKIAotIzogc3VibW9kdWxlLmM6MTU5CisjOiBzdWJtb2R1bGUuYzoxNjUKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiBtc2dzdHIgIm5lZ2F0aXZhIHbDpHJkZW4gw6RyIGludGUgdGlsbMOldG5hIGbDtnIgc3VibW9kdWxlLmZldGNoSm9icyIKIAotIzogc3VibW9kdWxlLmM6MTE4NAorIzogc3VibW9kdWxlLmM6Mzc2CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ2lkICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiaSBlaiB1dGNoZWNrYWQgdW5kZXJtb2R1bCBcIiVzXCIiCisKKyM6IHN1Ym1vZHVsZS5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCittc2dzdHIgIlPDtmt2w6Rnc2FuZ2l2ZWxzZW4gXCIlc1wiIMOkciBpIHVuZGVybW9kdWxlbiBcIiUuKnNcIiIKKworIzogc3VibW9kdWxlLmM6MTMzNworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIlwiJXNcIiBrw6RubnMgaW50ZSBpZ2VuIHNvbSBldHQgZ2l0LWFya2l2IgorCisjOiBzdWJtb2R1bGUuYzoxNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc3RhcnRhIFwiZ2l0IHN0YXR1c1wiIGkgdW5kZXJtb2R1bGVuIFwiJXNcIiIKIAotIzogc3VibW9kdWxlLmM6MTE5NworIzogc3VibW9kdWxlLmM6MTQ4OAogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGvDtnJhIFwiZ2l0IHN0YXR1c1wiIGkgdW5kZXJtb2R1bGVuIFwiJXNcIiIKIAotIzogc3VibW9kdWxlLmM6MTM5OAorIzogc3VibW9kdWxlLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBoYXMgZGlydHkgaW5kZXgiCittc2dzdHIgInVuZGVybW9kdWxlbiBcIiVzXCIgaGFyIGV0dCBzbXV0c2lndCBpbmRleCIKKworIzogc3VibW9kdWxlLmM6MTg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKQEAgLTMzNTUsMTggKzM2MDksMTggQEAKICJyZWxvY2F0ZV9naXRkaXIgZsO2ciB1bmRlcm1vZHVsZW4gXCIlc1wiLCBzb20gaGFyIG1lciDDpG4gZW4gYXJiZXRza2F0YWxvZywgIgogInN0w7ZkcyBlaiIKIAotIzogc3VibW9kdWxlLmM6MTQxMCBzdWJtb2R1bGUuYzoxNDcxCisjOiBzdWJtb2R1bGUuYzoxODU3IHN1Ym1vZHVsZS5jOjE5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBuYW1uZXQgZsO2ciB1bmRlcm1vZHVsZW4gXCIlc1wiIgogCi0jOiBzdWJtb2R1bGUuYzoxNDE0IHN1Ym1vZHVsZS5jOjE0NzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0MAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MAorIzogc3VibW9kdWxlLmM6MTg2MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEga2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogc3VibW9kdWxlLmM6MTQyMAorIzogc3VibW9kdWxlLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiIKQEAgLTMzNzcsODEgKzM2MzEsOTQgQEAKICJcIiVzXCIgdGlsbFxuIgogIlwiJXNcIlxuIgogCi0jOiBzdWJtb2R1bGUuYzoxNTEyCisjOiBzdWJtb2R1bGUuYzoxOTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgcmVrdXJzZXJhIGluIGkgdW5kZXJtb2R1bGVuIFwiJXNcIiIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM2MAorIzogc3VibW9kdWxlLmM6MTk5MgorbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKK21zZ3N0ciAia3VuZGUgaW50ZSBzdGFydGEgbHMtZmlsZXMgaSAuLiIKKworIzogc3VibW9kdWxlLmM6MjAxMgorbXNnaWQgIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IgorbXNnc3RyICJCVUc6IHJldHVybmVyYWQgc8O2a3bDpGdzc3Ryw6RuZyBtYXRjaGFyIGludGUgY3dkPyIKKworIzogc3VibW9kdWxlLmM6MjAzMQorIywgYy1mb3JtYXQKK21zZ2lkICJscy10cmVlIHJldHVybmVkIHVuZXhwZWN0ZWQgcmV0dXJuIGNvZGUgJWQiCittc2dzdHIgImxzLXRyZWUgcmV0dXJuZXJhZGUgZW4gb3bDpG50YWQgcmV0dXJrb2QgJWQiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgIm9naWx0aWd0IHbDpHJkZSBmw7ZyICVzIgogCi0jOiB0cmFpbGVyLmM6MjQwCisjOiB0cmFpbGVyLmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdXRmw7ZyYSBcInRyYWlsZXJcIi1rb21tYW5kb3QgXCIlc1wiIgogCi0jOiB0cmFpbGVyLmM6NDczIHRyYWlsZXIuYzo0NzcgdHJhaWxlci5jOjQ4MSB0cmFpbGVyLmM6NTM1IHRyYWlsZXIuYzo1MzkKLSM6IHRyYWlsZXIuYzo1NDMKKyM6IHRyYWlsZXIuYzo0NzQgdHJhaWxlci5jOjQ3OCB0cmFpbGVyLmM6NDgyIHRyYWlsZXIuYzo1MzYgdHJhaWxlci5jOjU0MAorIzogdHJhaWxlci5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhbHVlICclcycgZm9yIGtleSAnJXMnIgogbXNnc3RyICJva8OkbnQgdsOkcmRlIFwiJXNcIiBmw7ZyIG55Y2tlbG4gXCIlc1wiIgogCi0jOiB0cmFpbGVyLmM6NTI1IHRyYWlsZXIuYzo1MzAgYnVpbHRpbi9yZW1vdGUuYzoyODkKKyM6IHRyYWlsZXIuYzo1MjYgdHJhaWxlci5jOjUzMSBidWlsdGluL3JlbW90ZS5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICJtZXIgw6RuIGVuICVzIgogCi0jOiB0cmFpbGVyLmM6NzAyCisjOiB0cmFpbGVyLmM6NzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IHRyYWlsZXIgdG9rZW4gaW4gdHJhaWxlciAnJS4qcyciCiBtc2dzdHIgInRvbSBzbMOkcHJhZHNzeW1ib2wgaSBzbMOkcHJhZGVuIFwiJS4qc1wiIgogCi0jOiB0cmFpbGVyLmM6NzIyCisjOiB0cmFpbGVyLmM6NzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGlucHV0IGZpbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBpbmRhdGFmaWxlbiBcIiVzXCIiCiAKLSM6IHRyYWlsZXIuYzo3MjUKKyM6IHRyYWlsZXIuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgotbXNnc3RyICJLdW5kZSBpbnRlIGzDpHNhIGZyw6VuIHN0YW5kYXJkIGluIgorbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiB0cmFpbGVyLmM6OTQ5IGJ1aWx0aW4vYW0uYzo0NAorIzogdHJhaWxlci5jOjk1MCBidWlsdGluL2FtLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgc3RhdHVzIHDDpSAlcyIKIAotIzogdHJhaWxlci5jOjk1MQorIzogdHJhaWxlci5jOjk1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAiZmlsZW4gJXMgw6RyIGludGUgZW4gbm9ybWFsIGZpbCIKIAotIzogdHJhaWxlci5jOjk1MworIzogdHJhaWxlci5jOjk1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCB3cml0YWJsZSBieSB1c2VyIgogbXNnc3RyICJmaWxlbiAlcyDDpHIgaW50ZSBza3JpdmJhciBhdiBhbnbDpG5kYXJlbiIKIAotIzogdHJhaWxlci5jOjk2NQorIzogdHJhaWxlci5jOjk2NgogbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSB0ZW1wb3LDpHIgZmlsZSIKIAotIzogdHJhaWxlci5jOjEwMDEKKyM6IHRyYWlsZXIuYzoxMDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgImt1bmRlIGludGUgYnl0YSBuYW1uIHDDpSB0ZW1wb3LDpHIgZmlsIHRpbGwgJXMiCiAKLSM6IHRyYW5zcG9ydC5jOjYyCisjOiB0cmFuc3BvcnQuYzo2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKIG1zZ3N0ciAiU2t1bGxlIHPDpHR0YSB1cHBzdHLDtm1zIGbDtnIgXCIlc1wiIHRpbGwgXCIlc1wiIGZyw6VuIFwiJXNcIlxuIgogCi0jOiB0cmFuc3BvcnQuYzoxNTEKKyM6IHRyYW5zcG9ydC5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCi1tc2dzdHIgInRyYW5zcG9ydDogb2dpbHRpZyBmbGFnZ2EgZsO2ciBkZXB0aDogJXMiCittc2dzdHIgInRyYW5zcG9ydDogb2dpbHRpZyBmbGFnZ2EgZsO2ciBkZXB0aDog4oCdJXPigJ0iCiAKLSM6IHRyYW5zcG9ydC5jOjg4NQorIzogdHJhbnNwb3J0LmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKQEAgLTM0NjAsNyArMzcyNyw3IEBACiAiRsO2bGphbmRlIHVuZGVybW9kdWxzw7ZrdsOkZ2FyIGlubmVow6VsbGVyIMOkbmRyaW5nYXIgc29tXG4iCiAiaW50ZSBrYW4gaGl0dGFzIGF2IGZqw6RycmFybmE6XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjg4OQorIzogdHJhbnNwb3J0LmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTM0ODcsMTEgKzM3NTQsMTEgQEAKICJmw7ZyIGF0dCBzw6RuZGEgZGVtIHRpbGwgZmrDpHJyZW4uXG4iCiAiXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjg5NworIzogdHJhbnNwb3J0LmM6OTAyCiBtc2dpZCAiQWJvcnRpbmcuIgogbXNnc3RyICJBdmJyeXRlci4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDgyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2EgcmVmZXJlbnNlbiAlcyIKQEAgLTM1MTIsNyArMzc3OSw3IEBACiBtc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKIG1zZ3N0ciAidHLDpGRmaWwgZsO2ciBrb3J0IgogCi0jOiB1bnBhY2stdHJlZXMuYzo5OQorIzogdW5wYWNrLXRyZWVzLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKQEAgLTM1MjEsNyArMzc4OCw3IEBACiAiRGluYSBsb2thbGEgw6RuZHJpbmdhciBhdiBmw7ZsamFuZGUgZmlsZXIgc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgdXRjaGVja25pbmc6XG4iCiAiJSVzQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBpbm5hbiBkdSBieXRlciBncmVuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTAxCisjOiB1bnBhY2stdHJlZXMuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzUzMCw3ICszNzk3LDcgQEAKICJEaW5hIGxva2FsYSDDpG5kcmluZ2FyIGF2IGbDtmxqYW5kZSBmaWxlciBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiB1dGNoZWNrbmluZzpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEwNAorIzogdW5wYWNrLXRyZWVzLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTM1NDAsNyArMzgwNyw3IEBACiAic2FtbWFuc2xhZ25pbmc6XG4iCiAiJSVzQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBpbm5hbiBkdSBieXRlciBncmVuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA2CisjOiB1bnBhY2stdHJlZXMuYzoxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzU1MCw3ICszODE3LDcgQEAKICJzYW1tYW5zbGFnbmluZzpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEwOQorIzogdW5wYWNrLXRyZWVzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM1NTksNyArMzgyNiw3IEBACiAiRGluYSBsb2thbGEgw6RuZHJpbmdhciBhdiBmw7ZsamFuZGUgZmlsZXIgc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgXCIlc1wiOlxuIgogIiUlc0NoZWNrYSBpbiBkaW5hIMOkbmRyaW5nYXIgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgaW5uYW4gZHUgXCIlc1wiLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTExCisjOiB1bnBhY2stdHJlZXMuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzU2OCw3ICszODM1LDcgQEAKICJEaW5hIGxva2FsYSDDpG5kcmluZ2FyIGF2IGbDtmxqYW5kZSBmaWxlciBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiBcIiVzXCI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTYKKyM6IHVucGFjay10cmVlcy5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtMzU3OCw3ICszODQ1LDcgQEAKICJkZW06XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMAorIzogdW5wYWNrLXRyZWVzLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTM1ODcsNyArMzg1NCw3IEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgdGFzIGJvcnQgYXYgdXRjaGVja25pbmdlbjpcbiIKICIlJXNGbHl0dGEgZWxsZXIgdGEgYm9ydCBkZW0gaW5uYW4gZHUgYnl0ZXIgZ3Jlbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTM1OTYsNyArMzg2Myw3IEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgdGFzIGJvcnQgYXYgdXRjaGVja25pbmdlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNQorIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTM2MDYsNyArMzg3Myw3IEBACiAic2FtbWFuc2xhZ25pbmdlbjpcbiIKICIlJXNGbHl0dGEgZWxsZXIgdGEgYm9ydCBkZW0gaW5uYW4gZHUgc2zDpXIgc2FtbWFuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI3CisjOiB1bnBhY2stdHJlZXMuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtMzYxNiw3ICszODgzLDcgQEAKICJzYW1tYW5zbGFnbmluZ2VuOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTMwCisjOiB1bnBhY2stdHJlZXMuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtMzYyNSw3ICszODkyLDcgQEAKICJGw7ZsamFuZGUgb3Nww6VyYWRlIGZpbGVyIGkgYXJiZXRza2F0YWxvZ2VuIHNrdWxsZSB0YXMgYm9ydCBhdiBcIiVzXCI6XG4iCiAiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IFwiJXNcIi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMgorIzogdW5wYWNrLXRyZWVzLmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTM2MzQsNyArMzkwMSw3IEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgdGFzIGJvcnQgYXYgXCIlc1wiOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM3CisjOiB1bnBhY2stdHJlZXMuYzoxNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC0zNjQ1LDcgKzM5MTIsNyBAQAogInV0Y2hlY2tuaW5nZW46XG4iCiAiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IGJ5dGVyIGdyZW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzkKKyM6IHVucGFjay10cmVlcy5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKQEAgLTM2NTYsNyArMzkyMyw3IEBACiAidXRjaGVja25pbmdlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MgorIzogdW5wYWNrLXRyZWVzLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNjY2LDcgKzM5MzMsNyBAQAogInNhbW1hbnNsYWduaW5nZW46XG4iCiAiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IGJ5dGVyIGdyZW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDQKKyM6IHVucGFjay10cmVlcy5jOjE1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzY3Niw3ICszOTQzLDcgQEAKICJzYW1tYW5zbGFnbmluZ2VuOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ3CisjOiB1bnBhY2stdHJlZXMuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM2ODUsNyArMzk1Miw3IEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiBcIiVzXCI6XG4iCiAiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IFwiJXNcIi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0OQorIzogdW5wYWNrLXRyZWVzLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC0zNjk0LDEyICszOTYxLDEyIEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiBcIiVzXCI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTYKKyM6IHVucGFjay10cmVlcy5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAiUG9zdGVuIFwiJXNcIiDDtnZlcmxhcHBhciBcIiVzXCIuIEthbiBpbnRlIGJpbmRhLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU5CisjOiB1bnBhY2stdHJlZXMuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cC10by1kYXRlOlxuIgpAQCAtMzcwOCw3ICszOTc1LDcgQEAKICJLYW4gaW50ZSB1cHBkYXRlcmEgZ2xlcyB1dGNoZWNrbmluZzogZsO2bGphbmRlIHBvc3RlciDDpHIgaW50ZSDDoGpvdXI6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MQorIzogdW5wYWNrLXRyZWVzLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtMzcxOSw3ICszOTg2LDcgQEAKICJ1dGNoZWNrbmluZzpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYzCisjOiB1bnBhY2stdHJlZXMuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTM3MzAsMjI3ICszOTk3LDI0NyBAQAogInV0Y2hlY2tuaW5nOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNDAKKyM6IHVucGFjay10cmVlcy5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCisiJXMiCittc2dzdHIgIiIKKyJLYW4gaW50ZSB1cHBkYXRlcmEgdW5kZXJtb2R1bDpcbiIKKyIlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nXG4iCiBtc2dzdHIgIkF2YnJ5dGVyXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjI3MAorIzogdW5wYWNrLXRyZWVzLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSB1cGRhdGUgc3RyYXRlZ3kgbm90IHN1cHBvcnRlZCBmb3Igc3VibW9kdWxlICclcyciCittc2dzdHIgInVwcGRhdGVyaW5nc3N0cmF0ZWdpIGbDtnIgdW5kZXJtb2R1bCBzdMO2ZHMgaW50ZSBmw7ZyIHVuZGVybW9kdWxlbiBcIiVzXCIiCisKKyM6IHVucGFjay10cmVlcy5jOjM0NgogbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKIG1zZ3N0ciAiQ2hlY2thciB1dCBmaWxlciIKIAotIzogdXJsbWF0Y2guYzoxMjAKKyM6IHVybG1hdGNoLmM6MTYzCiBtc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCiBtc2dzdHIgIm9naWx0aWcgVVJMLXNjaGVtYW5hbW4gZWxsZXIgc2FrbmF0IFwiOi8vXCItc3VmZml4IgogCi0jOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIzogdXJsbWF0Y2guYzoxODcgdXJsbWF0Y2guYzozNDYgdXJsbWF0Y2guYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgogbXNnc3RyICJvZ2lsdGlnICVYWC10ZWNrZW5zZWt2ZW5zIgogCi0jOiB1cmxtYXRjaC5jOjE3MgorIzogdXJsbWF0Y2guYzoyMTUKIG1zZ2lkICJtaXNzaW5nIGhvc3QgYW5kIHNjaGVtZSBpcyBub3QgJ2ZpbGU6JyIKIG1zZ3N0ciAidsOkcmQgc2FrbmFzIG9jaCBzY2hlbWF0IMOkciBpbnRlIFwiZmlsZTpcIiIKIAotIzogdXJsbWF0Y2guYzoxODkKKyM6IHVybG1hdGNoLmM6MjMyCiBtc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKIG1zZ3N0ciAiZW4gXCJmaWxlOlwiLVVSTCBrYW4gaW50ZSBpbm5laMOlbGxhIHBvcnRudW1tZXIiCiAKLSM6IHVybG1hdGNoLmM6MTk5CisjOiB1cmxtYXRjaC5jOjI0NwogbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCiBtc2dzdHIgIm9naWx0aWdhIHRlY2tlbiBpIHbDpHJkbmFtbmV0IgogCi0jOiB1cmxtYXRjaC5jOjI0NCB1cmxtYXRjaC5jOjI1NQorIzogdXJsbWF0Y2guYzoyOTIgdXJsbWF0Y2guYzozMDMKIG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgogbXNnc3RyICJmZWxha3RpZ3QgcG9ydG51bW1lciIKIAotIzogdXJsbWF0Y2guYzozMjIKKyM6IHVybG1hdGNoLmM6MzcxCiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAiZmVsYWt0aWd0IFwiLi5cIi1zw7ZrdsOkZ3NzZWdtZW50IgogCi0jOiB3b3JrdHJlZS5jOjI4MgorIzogd29ya3RyZWUuYzoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhIFwiJXNcIiIKIAotIzogd3JhcHBlci5jOjIyMiB3cmFwcGVyLmM6MzkyCisjOiB3cmFwcGVyLmM6MjIzIHdyYXBwZXIuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgXCIlc1wiIGbDtnIgbMOkc25pbmcgb2NoIHNrcml2bmluZyIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKKyM6IHdyYXBwZXIuYzoyMjUgd3JhcHBlci5jOjM5NSBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiBmw7ZyIHNrcml2bmluZyIKIAotIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzk2IGJ1aWx0aW4vYW0uYzozMjAgYnVpbHRpbi9hbS5jOjc1OQotIzogYnVpbHRpbi9hbS5jOjg0NyBidWlsdGluL2NvbW1pdC5jOjE3MDAgYnVpbHRpbi9tZXJnZS5jOjEwMzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjM0MQorIzogd3JhcHBlci5jOjIyNyB3cmFwcGVyLmM6Mzk3IGJ1aWx0aW4vYW0uYzozMTkgYnVpbHRpbi9hbS5jOjc1NworIzogYnVpbHRpbi9hbS5jOjg0OSBidWlsdGluL21lcmdlLmM6MTAxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIgZsO2ciBsw6RzbmluZyIKIAotIzogd3JhcHBlci5jOjYwNSB3cmFwcGVyLmM6NjI2CisjOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBrb21tYSDDpXQgXCIlc1wiIgogCi0jOiB3cmFwcGVyLmM6NjM0CisjOiB3cmFwcGVyLmM6NjMyCiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgYWt0dWVsbCBhcmJldHNrYXRhbG9nIgogCi0jOiB3cmFwcGVyLmM6NjU4CisjOiB3cmFwcGVyLmM6NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgdGlsbCAlcyIKIAotIzogd3JhcHBlci5jOjY2MAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgc3TDpG5nYSAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUxCisjOiB3dC1zdGF0dXMuYzoxNTIKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIkVqIHNhbW1hbnNsYWduYSBzw7ZrdsOkZ2FyOiIKIAotIzogd3Qtc3RhdHVzLmM6MTc4IHd0LXN0YXR1cy5jOjIwNQorIzogd3Qtc3RhdHVzLmM6MTc5IHd0LXN0YXR1cy5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmVzZXQgJXMgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBib3J0IGZyw6VuIGvDtikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MCB3dC1zdGF0dXMuYzoyMDcKKyM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoyMDgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBib3J0IGZyw6VuIGvDtikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NAorIzogd3Qtc3RhdHVzLmM6MTg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGFkZCA8ZmlsPi4uLlwiIGbDtnIgYXR0IGFuZ2UgbMO2c25pbmcpIgogCi0jOiB3dC1zdGF0dXMuYzoxODYgd3Qtc3RhdHVzLmM6MTkwCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MTkxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGFkZC9ybSA8ZmlsPi4uLlwiIHNvbSBsw6RtcGxpZ3QgZsO2ciBhdHQgYW5nZSBsw7ZzbmluZykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OAorIzogd3Qtc3RhdHVzLmM6MTg5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcm0gPGZpbD4uLi5cIiBmw7ZyIGF0dCBhbmdlIGzDtnNuaW5nKSIKIAotIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjk0NQorIzogd3Qtc3RhdHVzLmM6MjAwIHd0LXN0YXR1cy5jOjk4MQogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiw4RuZHJpbmdhciBhdHQgY2hlY2thIGluOiIKIAotIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAorIzogd3Qtc3RhdHVzLmM6MjE4IHd0LXN0YXR1cy5jOjk5MAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiw4RuZHJpbmdhciBlaiBpIGluY2hlY2tuaW5nc2vDtm46IgogCi0jOiB3dC1zdGF0dXMuYzoyMjEKKyM6IHd0LXN0YXR1cy5jOjIyMgogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBhZGQgPGZpbD4uLi5cIiBmw7ZyIGF0dCB1cHBkYXRlcmEgdmFkIHNvbSBza2FsbCBjaGVja2FzIGluKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgYWRkL3JtIDxmaWw+Li4uXCIgZsO2ciBhdHQgdXBwZGF0ZXJhIHZhZCBzb20gc2thbGwgY2hlY2thcyBpbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjI1CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBjaGVja291dCAtLSA8ZmlsPi4uLlwiIGbDtnIgYXR0IGbDtnJrYXN0YSDDpG5kcmluZ2FyIGkgIgogImFyYmV0c2thdGFsb2dlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNgorIzogd3Qtc3RhdHVzLmM6MjI3CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAoY2hlY2thIGluIGVsbGVyIGbDtnJrYXN0YSBvc3DDpXJhdCBlbGxlciDDpG5kcmF0IGlubmVow6VsbCBpIHVuZGVybW9kdWxlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjIzOAorIzogd3Qtc3RhdHVzLmM6MjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCAlcyA8ZmlsPi4uLlwiIGbDtnIgYXR0IHRhIG1lZCBpIGRldCBzb20gc2thbGwgY2hlY2thcyBpbikiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjU0CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IGLDpGdnZToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NQorIzogd3Qtc3RhdHVzLmM6MjU2CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICJ0aWxsYWd0IGF2IG9zczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NworIzogd3Qtc3RhdHVzLmM6MjU4CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IGRlbToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1OQorIzogd3Qtc3RhdHVzLmM6MjYwCiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgInRpbGxhZ3QgYXYgZGVtOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYxCisjOiB3dC1zdGF0dXMuYzoyNjIKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IG9zczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MworIzogd3Qtc3RhdHVzLmM6MjY0CiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgInRpbGxhZ3QgYXYgYsOkZ2dlOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY1CisjOiB3dC1zdGF0dXMuYzoyNjYKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAiw6RuZHJhdCBhdiBiw6RnZ2U6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzUKKyM6IHd0LXN0YXR1cy5jOjI3NgogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAibnkgZmlsOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc3CisjOiB3dC1zdGF0dXMuYzoyNzgKIG1zZ2lkICJjb3BpZWQ6IgogbXNnc3RyICJrb3BpZXJhZDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3OQorIzogd3Qtc3RhdHVzLmM6MjgwCiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgImJvcnR0YWdlbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MQorIzogd3Qtc3RhdHVzLmM6MjgyCiBtc2dpZCAibW9kaWZpZWQ6IgogbXNnc3RyICLDpG5kcmFkOiIKIAotIzogd3Qtc3RhdHVzLmM6MjgzCisjOiB3dC1zdGF0dXMuYzoyODQKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAibmFtbmJ5dHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyODUKKyM6IHd0LXN0YXR1cy5jOjI4NgogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICJ0eXBieXRlOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg3CisjOiB3dC1zdGF0dXMuYzoyODgKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAib2vDpG5kOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg5CisjOiB3dC1zdGF0dXMuYzoyOTAKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgIm9zYW1tYW5zbGFnZW46IgogCi0jOiB3dC1zdGF0dXMuYzozNzEKKyM6IHd0LXN0YXR1cy5jOjM3MgogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIm55YSBpbmNoZWNrbmluZ2FyLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MworIzogd3Qtc3RhdHVzLmM6Mzc0CiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLDpG5kcmF0IGlubmVow6VsbCwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzUKKyM6IHd0LXN0YXR1cy5jOjM3NgogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIm9zcMOlcmF0IGlubmVow6VsbCwgIgogCi0jOiB3dC1zdGF0dXMuYzo4MTgKKyM6IHd0LXN0YXR1cy5jOjgyMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cnkiCittc2dpZF9wbHVyYWwgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyaWVzIgorbXNnc3RyWzBdICJTdGFzaGVuIGlubmVow6VsbGVyIGp1c3QgbnUgJWQgcG9zdCIKK21zZ3N0clsxXSAiU3Rhc2hlbiBpbm5laMOlbGxlciBqdXN0IG51ICVkIHBvc3RlciIKKworIzogd3Qtc3RhdHVzLmM6ODUzCiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgIlVuZGVybW9kdWxlciDDpG5kcmFkZSBtZW4gaW50ZSB1cHBkYXRlcmFkZToiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMAorIzogd3Qtc3RhdHVzLmM6ODU1CiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiVW5kZXJtb2R1bGVycyDDpG5kcmluZ2FyIGF0dCBjaGVja2EgaW46IgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjkzNwogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgpAQCAtMzk1OCwxMDcgKzQyNDUsMTA3IEBACiAiUsO2ciBpbnRlIHJhZGVuIG92YW4uXG4iCiAiQWxsdCBuZWRhbiBrb21tZXIgdGFzIGJvcnQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDEzCisjOiB3dC1zdGF0dXMuYzoxMDQ5CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJEdSBoYXIgZWogc2FtbWFuc2xhZ25hIHPDtmt2w6RnYXIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE2CisjOiB3dC1zdGF0dXMuYzoxMDUyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgXCJnaXQgY29tbWl0XCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMDE4CisjOiB3dC1zdGF0dXMuYzoxMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBmw7ZyIGF0dCBhdmJyeXRhIHNhbW1hbnNsYWduaW5nZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMDIzCisjOiB3dC1zdGF0dXMuYzoxMDU5CiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAiQWxsYSBrb25mbGlrdGVyIGhhciByw6R0dGF0cyBtZW4gZHUgw6RyIGZvcnRmYXJhbmRlIGkgZW4gc2FtbWFuc2xhZ25pbmcuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDI2CisjOiB3dC1zdGF0dXMuYzoxMDYyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBjb21taXRcIiBmw7ZyIGF0dCBzbHV0ZsO2cmEgc2FtbWFuc2xhZ25pbmdlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzYKKyM6IHd0LXN0YXR1cy5jOjEwNzIKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIkR1IMOkciBpIG1pdHRlbiBhdiBlbiBrw7ZybmluZyBhdiBcImdpdCBhbVwiLiIKIAotIzogd3Qtc3RhdHVzLmM6MTAzOQorIzogd3Qtc3RhdHVzLmM6MTA3NQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiQWt0dWVsbCBwYXRjaCDDpHIgdG9tLiIKIAotIzogd3Qtc3RhdHVzLmM6MTA0MworIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEwNDUKKyM6IHd0LXN0YXR1cy5jOjEwODEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhbSAtLXNraXBcIiBmw7ZyIGF0dCBob3BwYSDDtnZlciBwYXRjaGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NworIzogd3Qtc3RhdHVzLmM6MTA4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhbSAtLWFib3J0XCIgZsO2ciBhdHQgw6V0ZXJzdMOkbGxhIHVyc3BydW5nc2dyZW5lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzYKKyM6IHd0LXN0YXR1cy5jOjEyMTQKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kbyBzYWtuYXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc4CisjOiB3dC1zdGF0dXMuYzoxMjE2CiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIkluZ2Ega29tbWFuZG9uIHV0ZsO2cmRhLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MQorIzogd3Qtc3RhdHVzLmM6MTIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICJTaXN0YSBrb21tYW5kb3QgdXRmw7ZydCAoJWQga29tbWFuZG8gdXRmw7ZydCk6IgogbXNnc3RyWzFdICJTaXN0YSBrb21tYW5kb3QgdXRmw7ZydCAoJWQga29tbWFuZG9uIHV0ZsO2cnQpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MgorIzogd3Qtc3RhdHVzLmM6MTIzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICAoc2UgZmxlciBpIGZpbGVuICVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE5NworIzogd3Qtc3RhdHVzLmM6MTIzNQogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgIkluZ2Ega29tbWFuZG9uIMOldGVyc3TDpXIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjAwCisjOiB3dC1zdGF0dXMuYzoxMjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIk7DpHN0YSBrb21tYW5kbyBhdHQgdXRmw7ZyYSAoJWQga29tbWFuZG8gw6V0ZXJzdMOlcik6IgogbXNnc3RyWzFdICJGw7ZsamFuZGUga29tbWFuZG9uIGF0dCB1dGbDtnJhICglZCBrb21tYW5kb24gw6V0ZXJzdMOlcik6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjA4CisjOiB3dC1zdGF0dXMuYzoxMjQ2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIGbDtnIgYXR0IHZpc2Egb2NoIHJlZGlnZXJhKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMQorIzogd3Qtc3RhdHVzLmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgYXR0IG9tYmFzZXJhIGdyZW5lbiBcIiVzXCIgb3ZhbnDDpSBcIiVzXCIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI2CisjOiB3dC1zdGF0dXMuYzoxMjY0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gb21iYXNlcmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDAKKyM6IHd0LXN0YXR1cy5jOjEyNzgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDIKKyM6IHd0LXN0YXR1cy5jOjEyODAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmViYXNlIC0tc2tpcFwiIGbDtnIgYXR0IGhvcHBhIMO2dmVyIHBhdGNoZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQ0CisjOiB3dC1zdGF0dXMuYzoxMjgyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgZsO2ciBhdHQgY2hlY2thIHV0IHVyc3BydW5nc2dyZW5lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTAKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGEga29uZmxpa3RlciByw6R0dGFkZToga8O2ciBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NAorIzogd3Qtc3RhdHVzLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgpAQCAtNDA2NiwxMjIgKzQzNTMsMTI2IEBACiAiRHUgaMOlbGxlciBww6UgYXR0IGRlbGEgdXBwIGVuIGluY2hlY2tuaW5nIG1lZGFuIGR1IG9tYmFzZXJhciBncmVuZW4gXCIlc1wiICIKICJvdmFucMOlIFwiJXNcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTkKKyM6IHd0LXN0YXR1cy5jOjEyOTcKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgYXR0IGRlbGEgdXBwIGVuIGluY2hlY2tuaW5nIGkgZW4gb21iYXNlcmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjIKKyM6IHd0LXN0YXR1cy5jOjEzMDAKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoU8OlIGZvcnQgZGluIGFyYmV0c2thdGFsb2cgw6RyIHJlbiwga8O2ciBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NgorIzogd3Qtc3RhdHVzLmM6MTMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAiRHUgaMOlbGxlciBww6UgYXR0IHJlZGlnZXJhIGVuIGluY2hlY2tuaW5nIG1lZGFuIGR1IG9tYmFzZXJhciBncmVuZW4gXCIlc1wiICIKICJvdmFucMOlIFwiJXNcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzEKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIGF0dCByZWRpZ2VyYSBlbiBpbmNoZWNrbmluZyB1bmRlciBlbiBvbWJhc2VyaW5nLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NAorIzogd3Qtc3RhdHVzLmM6MTMxMgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiIKICIgIChhbnbDpG5kIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgZsO2ciBhdHQgbMOkZ2dhIHRpbGwgcMOlIGFrdHVlbGwgaW5jaGVja25pbmcpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzE0CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgbsOkciBkdSDDpHIgbsO2amQgbWVkIGRpbmEgw6RuZHJpbmdhcikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyODYKKyM6IHd0LXN0YXR1cy5jOjEzMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgbWVkIGVuIFwiY2hlcnJ5LXBpY2tcIiBhdiBpbmNoZWNrbmluZ2VuICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI5MQorIzogd3Qtc3RhdHVzLmM6MTMyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChyw6R0dGEga29uZmxpa3RlciBvY2gga8O2ciBzZWRhbiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjk0CisjOiB3dC1zdGF0dXMuYzoxMzMyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGEga29uZmxpa3RlciByw6R0dGFkZToga8O2ciBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjk2CisjOiB3dC1zdGF0dXMuYzoxMzM0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgIChhbnbDpG5kIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiBmw7ZyIGF0dCBhdmJyeXRhIFwiY2hlcnJ5LXBpY2tcIi0iCiAib3BlcmF0aW9uZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA1CisjOiB3dC1zdGF0dXMuYzoxMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgYXR0IMOlbmdyYSBpbmNoZWNrbmluZ2VuICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMxMAorIzogd3Qtc3RhdHVzLmM6MTM0OAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTMKKyM6IHd0LXN0YXR1cy5jOjEzNTEKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGEga29uZmxpa3RlciByw6R0dGFkZToga8O2ciBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMxNQorIzogd3Qtc3RhdHVzLmM6MTM1MwogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiBmw7ZyIGF0dCBhdmJyeXRhIMOlbmdyYW5kZXQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI2CisjOiB3dC1zdGF0dXMuYzoxMzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgbWVkIGVuIFwiYmlzZWN0XCIsIHN0YXJ0YWQgZnLDpW4gZ3JlbmVuIFwiJXNcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzAKKyM6IHd0LXN0YXR1cy5jOjEzNjgKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gXCJiaXNlY3RcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzMKKyM6IHd0LXN0YXR1cy5jOjEzNzEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChhbnbDpG5kIFwiZ2l0IGJpc2VjdCByZXNldFwiIGbDtnIgYXR0IGtvbW1hIHRpbGxiYWthIHRpbGwgdXJzcHJ1bmdzZ3JlbmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU2OAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgIlDDpSBncmVuZW4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM2CisjOiB3dC1zdGF0dXMuYzoxNTc0CiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKLW1zZ3N0ciAiaW50ZXJha3RpdiBvbWJhc2VyaW5nIHDDpWfDpXI7IG92YW5ww6UiCittc2dzdHIgImludGVyYWt0aXYgb21iYXNlcmluZyBww6Vnw6VyOyBvdmFucMOlICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzOAorIzogd3Qtc3RhdHVzLmM6MTU3NgogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCi1tc2dzdHIgIm9tYmFzZXJpbmcgcMOlZ8Olcjsgb3ZhbnDDpSIKK21zZ3N0ciAib21iYXNlcmluZyBww6Vnw6VyOyBvdmFucMOlICIKIAotIzogd3Qtc3RhdHVzLmM6MTU0MworIzogd3Qtc3RhdHVzLmM6MTU4MQogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICJIRUFEIGZyw6Vua29wcGxhZCB2aWQgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ1CisjOiB3dC1zdGF0dXMuYzoxNTgzCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiSEVBRCBmcsOlbmtvcHBsYWQgZnLDpW4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ4CisjOiB3dC1zdGF0dXMuYzoxNTg2CiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiSW50ZSBww6UgbsOlZ29uIGdyZW4gZsO2ciBuw6RydmFyYW5kZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NjYKKyM6IHd0LXN0YXR1cy5jOjE2MDYKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiRsO2cnN0YSBpbmNoZWNrbmluZyIKIAotIzogd3Qtc3RhdHVzLmM6MTU4MAorIzogd3Qtc3RhdHVzLmM6MTYwNworbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgorbXNnc3RyICJJbmdhIGluY2hlY2tuaW5nYXIgw6RubnUiCisKKyM6IHd0LXN0YXR1cy5jOjE2MjEKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIk9zcMOlcmFkZSBmaWxlciIKIAotIzogd3Qtc3RhdHVzLmM6MTU4MgorIzogd3Qtc3RhdHVzLmM6MTYyMwogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIklnbm9yZXJhZGUgZmlsZXIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODYKKyM6IHd0LXN0YXR1cy5jOjE2MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTQxOTMsMzIgKzQ0ODQsMzIgQEAKICJsw6RnZ2EgdGlsbCBueWEgZmlsZXIgc2rDpGx2IChzZSBcImdpdCBoZWxwIHN0YXR1c1wiKS4iCiAKICMgJXMgw6RyIG7DpHN0YSBzdHLDpG5nIGVsbGVyIHRvbS4KLSM6IHd0LXN0YXR1cy5jOjE1OTIKKyM6IHd0LXN0YXR1cy5jOjE2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiT3Nww6VyYWRlIGZpbGVyIHZpc2FzIGVqJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTQKKyM6IHd0LXN0YXR1cy5jOjE2MzUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKGFudsOkbmQgZmxhZ2dhbiAtdSBmw7ZyIGF0dCB2aXNhIG9zcMOlcmFkZSBmaWxlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDAKKyM6IHd0LXN0YXR1cy5jOjE2NDEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJJbmdhIMOkbmRyaW5nYXIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDUKKyM6IHd0LXN0YXR1cy5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJpbmdhIMOkbmRyaW5nYXIgYXR0IGNoZWNrYSBpbiAoYW52w6RuZCBcImdpdCBhZGRcIiBvY2gvZWxsZXIgXCJnaXQgY29tbWl0IC1hIgogIlwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjA4CisjOiB3dC1zdGF0dXMuYzoxNjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgImluZ2Egw6RuZHJpbmdhciBhdHQgY2hlY2thIGluXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTQyMjcsMzI3ICs0NTE4LDM2MyBAQAogImluZ2V0IGvDtmF0IGbDtnIgaW5jaGVja25pbmcsIG1lbiBvc3DDpXJhZGUgZmlsZXIgZmlubnMgKHNww6VyYSBtZWQgXCJnaXQgYWRkIgogIlwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE0CisjOiB3dC1zdGF0dXMuYzoxNjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICJpbmdldCBrw7ZhdCBmw7ZyIGluY2hlY2tuaW5nLCBtZW4gb3Nww6VyYWRlIGZpbGVyIGZpbm5zXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTcKKyM6IHd0LXN0YXR1cy5jOjE2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgImluZ2V0IGF0dCBjaGVja2EgaW4gKHNrYXBhL2tvcGllcmEgZmlsZXIgb2NoIHNww6VyYSBtZWQgXCJnaXQgYWRkXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjAgd3Qtc3RhdHVzLmM6MTYyNQorIzogd3Qtc3RhdHVzLmM6MTY2MSB3dC1zdGF0dXMuYzoxNjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgImluZ2V0IGF0dCBjaGVja2EgaW5cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMworIzogd3Qtc3RhdHVzLmM6MTY2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICJpbmdldCBhdHQgY2hlY2thIGluIChhbnbDpG5kIC11IGbDtnIgYXR0IHZpc2Egb3Nww6VyYWRlIGZpbGVyKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjI3CisjOiB3dC1zdGF0dXMuYzoxNjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAiaW5nZXQgYXR0IGNoZWNrYSBpbiwgYXJiZXRza2F0YWxvZ2VuIHJlblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzM0Ci1tc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgotbXNnc3RyICJGw7Zyc3RhIGluY2hlY2tuaW5nIHDDpSAiCisjOiB3dC1zdGF0dXMuYzoxNzgwCittc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgorbXNnc3RyICJJbmdhIGluY2hlY2tuaW5nYXIgw6RubnUgcMOlICIKIAotIzogd3Qtc3RhdHVzLmM6MTczOAorIzogd3Qtc3RhdHVzLmM6MTc4NAogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIkhFQUQgKGluZ2VuIGdyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNzY3Ci1tc2dpZCAiZ29uZSIKLW1zZ3N0ciAiZsO2cnN2dW5uZW4iCi0KLSM6IHd0LXN0YXR1cy5jOjE3Njkgd3Qtc3RhdHVzLmM6MTc3NworIzogd3Qtc3RhdHVzLmM6MTgxMyB3dC1zdGF0dXMuYzoxODIxCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiZWZ0ZXIgIgogCi0jOiB3dC1zdGF0dXMuYzoxNzcyIHd0LXN0YXR1cy5jOjE3NzUKKyM6IHd0LXN0YXR1cy5jOjE4MTYgd3Qtc3RhdHVzLmM6MTgxOQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAiZsO2cmUgIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgotIzogd3Qtc3RhdHVzLmM6MjI3NworIzogd3Qtc3RhdHVzLmM6MjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJrYW4gaW50ZSAlczogRHUgaGFyIG9rw7ZhZGUgw6RuZHJpbmdhci4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyODMKKyM6IHd0LXN0YXR1cy5jOjIzMTcKIG1zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgImRlc3N1dG9tIGlubmVow6VsbGVyIGRpdCBpbmRleCDDpG5kcmluZ2FyIHNvbSBpbnRlIGhhciBjaGVja2F0cyBpbi4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyODUKKyM6IHd0LXN0YXR1cy5jOjIzMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJrYW4gaW50ZSAlczogRGl0dCBpbmRleCBpbm5laMOlbGxlciDDpG5kcmluZ2FyIHNvbSBpbnRlIGNoZWNrYXRzIGluLiIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTQKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgbMOkbmtlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPGZsYWdnb3I+XSBbLS1dIDxzw7ZrdsOkZz4uLi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODAKKyM6IGJ1aWx0aW4vYWRkLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAiZGlmZi1zdGF0dXMgJWMgZsO2cnbDpG50YWRlcyBpbnRlIgogCi0jOiBidWlsdGluL2FkZC5jOjg1IGJ1aWx0aW4vY29tbWl0LmM6MjkxCisjOiBidWlsdGluL2FkZC5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6MjkyCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGZpbGVyIgogCi0jOiBidWlsdGluL2FkZC5jOjk1CisjOiBidWlsdGluL2FkZC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgInRhIGJvcnQgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTQ5CisjOiBidWlsdGluL2FkZC5jOjE1MQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICJPa8O2YWRlIMOkbmRyaW5nYXIgZWZ0ZXIgYXR0IGhhIHVwcGRhdGVyYXQgaW5kZXhldDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODQ1CisjOiBidWlsdGluL2FkZC5jOjIxMSBidWlsdGluL3Jldi1wYXJzZS5jOjg3MwogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RzYSBpbmRleGV0IgogCi0jOiBidWlsdGluL2FkZC5jOjIyMAorIzogYnVpbHRpbi9hZGQuYzoyMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCi1tc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiBmw7ZyIHNrcml2bmluZyIKK21zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgXCIlc1wiIGbDtnIgc2tyaXZuaW5nLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjQKKyM6IGJ1aWx0aW4vYWRkLmM6MjI2CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSBwYXRjaCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjcKKyM6IGJ1aWx0aW4vYWRkLmM6MjI5CiBtc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCiBtc2dzdHIgInJlZGlnZXJpbmcgYXYgcGF0Y2ggbWlzc2x5Y2thZGVzIgogCi0jOiBidWlsdGluL2FkZC5jOjIzMAorIzogYnVpbHRpbi9hZGQuYzoyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0YSBzdGF0dXMgcMOlIFwiJXNcIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjM0CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICJUb20gcGF0Y2guIEF2YnJ5dGVyLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzcKKyM6IGJ1aWx0aW4vYWRkLmM6MjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRpbGzDpG1wYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ3CisjOiBidWlsdGluL2FkZC5jOjI0OQogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiRsO2bGphbmRlIHPDtmt2w6RnYXIgaWdub3JlcmFzIGF2IGVuIGF2IGRpbmEgLmdpdGlnbm9yZS1maWxlcjpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjYgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vbXYuYzoxMjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTk4IGJ1aWx0aW4vcHVzaC5jOjUyNAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI2IGJ1aWx0aW4vcm0uYzoyNDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY5IGJ1aWx0aW4vY2xlYW4uYzo5MDcgYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjIwMSBidWlsdGluL3B1c2guYzo1MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjQyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAidGVzdGvDtnJuaW5nIgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICJwbG9ja2EgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU5IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyIGJ1aWx0aW4vcmVzZXQuYzoyOTkKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAidsOkbGogc3R5Y2tlbiBpbnRlcmFrdGl2dCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc0CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICJyZWRpZ2VyYSBha3R1ZWxsIGRpZmYgb2NoIGFwcGxpY2VyYSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzIKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJ0aWxsw6V0IGzDpGdnYSB0aWxsIGFubmFycyBpZ25vcmVyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MworIzogYnVpbHRpbi9hZGQuYzoyNzYKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAidXBwZGF0ZXJhIHNww6VyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2FkZC5jOjI3NAorIzogYnVpbHRpbi9hZGQuYzoyNzcKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgInJlZ2lzdHJlcmEgZW5kYXN0IGF0dCBzw7ZrdsOkZ2VuIGtvbW1lciBsw6RnZ2FzIHRpbGwgc2VuYXJlIgogCi0jOiBidWlsdGluL2FkZC5jOjI3NQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImzDpGdnIHRpbGwgw6RuZHJpbmdhciBmcsOlbiBhbGxhIHNww6VyYWRlIG9jaCBvc3DDpXJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjc4CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICJpZ25vcmVyYSBzw7ZrdsOkZ2FyIGJvcnR0YWduYSBpIGFyYmV0c2thdGFsb2dlbiAoc2FtbWEgc29tIC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzoyODAKKyM6IGJ1aWx0aW4vYWRkLmM6MjgzCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJsw6RnZyBpbnRlIHRpbGwsIHVwcGRhdGVyYSBlbmRhc3QgaW5kZXhldCIKIAotIzogYnVpbHRpbi9hZGQuYzoyODEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg0CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiaG9wcGEgYmFyYSDDtnZlciBmaWxlciBzb20gaW50ZSBrYW4gbMOkZ2dhcyB0aWxsIHDDpSBncnVuZCBhdiBmZWwiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgyCisjOiBidWlsdGluL2FkZC5jOjI4NQogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAic2Ugb20gLSDDpHZlbiBzYWtuYWRlIC0gZmlsZXIgaWdub3JlcmFzIGkgdGVzdGvDtnJuaW5nIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NworIzogYnVpbHRpbi9hZGQuYzoyODYgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTIKIG1zZ2lkICIoKy8tKXgiCiBtc2dzdHIgIigrLy0peCIKIAotIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg2IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUzCiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgIsO2dmVyc3R5ciBleGVrdmVyaW5nc2JpdGVuIGbDtnIgYW5naXZuYSBmaWxlciIKIAotIzogYnVpbHRpbi9hZGQuYzozMDUKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg4Cittc2dpZCAid2FybiB3aGVuIGFkZGluZyBhbiBlbWJlZGRlZCByZXBvc2l0b3J5IgorbXNnc3RyICJ2YXJuYSBuw6RyIGV0dCBpbmJ5Z2d0IGFya2l2IGzDpGdncyB0aWxsIgorCisjOiBidWlsdGluL2FkZC5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgorIkNsb25lcyBvZiB0aGUgb3V0ZXIgcmVwb3NpdG9yeSB3aWxsIG5vdCBjb250YWluIHRoZSBjb250ZW50cyBvZlxuIgorInRoZSBlbWJlZGRlZCByZXBvc2l0b3J5IGFuZCB3aWxsIG5vdCBrbm93IGhvdyB0byBvYnRhaW4gaXQuXG4iCisiSWYgeW91IG1lYW50IHRvIGFkZCBhIHN1Ym1vZHVsZSwgdXNlOlxuIgorIlxuIgorIlx0Z2l0IHN1Ym1vZHVsZSBhZGQgPHVybD4gJXNcbiIKKyJcbiIKKyJJZiB5b3UgYWRkZWQgdGhpcyBwYXRoIGJ5IG1pc3Rha2UsIHlvdSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlXG4iCisiaW5kZXggd2l0aDpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIlNlZSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIkR1IGhhciBsYWd0IHRpbGwgZXR0IGFubmF0IGdpdC1hcmtpdiBpbnV0aSBha3R1ZWxsdCBhcmtpdi5cbiIKKyJLbG9uZXIgYXYgZGV0IHl0dHJlIGFya2l2ZXQga29tbWVyIGludGUgaW5uZWjDpWxsYSBpbm5laMOlbGxldCBmcsOlblxuIgorImRldCBpbmLDpGRkYWRlIGFya2l2ZXQgZWxsZXIgdmV0YSBodXIgbWFuIGbDpXIgdGFnIHDDpSBkZXQuXG4iCisiT20gZHUgdMOkbmt0ZSBsw6RnZ2EgdGlsbCBlbiB1bmRlcm1vZHVsLCBza3JldjpcbiIKKyJcbiIKKyJcdGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+ICVzXG4iCisiXG4iCisiT20gZHUgbGFkZSB0aWxsIHPDtmt2w6RnZW4gYXYgbWlzc3RhZyB0YXIgZHUgYm9ydCBkZW4gZnLDpW4gaW5kZXhldFxuIgorIm1lZDpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIlNlIOKAnWdpdCBoZWxwIHN1Ym1vZHVsZeKAnSBmw7ZyIHl0dGVybGlnYXJlIGluZm9ybWF0aW9uLiIKKworIzogYnVpbHRpbi9hZGQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAibMOkZ2dlciB0aWxsIGluYsOkZGRhdCBnaXQtYXJraXY6ICVzIgorCisjOiBidWlsdGluL2FkZC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJBbnbDpG5kIC1mIG9tIGR1IHZlcmtsaWdlbiB2aWxsIGzDpGdnYSB0aWxsIGRlbS5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozMTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzU3CiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpGdnYSB0aWxsIGZpbGVyIgogCi0jOiBidWlsdGluL2FkZC5jOjM0OAorIzogYnVpbHRpbi9hZGQuYzozOTQKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEgb2NoIC11IMOkciDDtm1zZXNpZGlndCBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU1CisjOiBidWlsdGluL2FkZC5jOjQwMQogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIkZsYWdnYW4gLS1pZ25vcmUtbWlzc2luZyBrYW4gZW5kYXN0IGFudsOkbmRhcyB0aWxsc2FtbWFucyBtZWQgLS1kcnktcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OQorIzogYnVpbHRpbi9hZGQuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1jaG1vZCBwYXJhbSAnJXMnIG11c3QgYmUgZWl0aGVyIC14IG9yICt4IgogbXNnc3RyICItLWNobW9kLXBhcmFtZXRlcm4gXCIlc1wiIG3DpXN0ZSBhbnRpbmdlbiB2YXJhIC14IGVsbGVyICt4IgogCi0jOiBidWlsdGluL2FkZC5jOjM3NAorIzogYnVpbHRpbi9hZGQuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIkluZ2V0IGFuZ2l2ZXQsIGluZ2V0IHRpbGxhZ3QuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc1CisjOiBidWlsdGluL2FkZC5jOjQyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiS2Fuc2tlIG1lbmFkZSBkdSBhdHQgc2tyaXZhIFwiZ2l0IGFkZCAuXCI/XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzIgYnVpbHRpbi9jbGVhbi5jOjkxNCBidWlsdGluL2NvbW1pdC5jOjM1MAotIzogYnVpbHRpbi9tdi5jOjE0MyBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyNzEKKyM6IGJ1aWx0aW4vYWRkLmM6NDI2IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc2IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzUgYnVpbHRpbi9jbGVhbi5jOjk1NCBidWlsdGluL2NvbW1pdC5jOjM1MQorIzogYnVpbHRpbi9tdi5jOjE0NCBidWlsdGluL3Jlc2V0LmM6MjM4IGJ1aWx0aW4vcm0uYzoyNzIKICM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgImluZGV4ZmlsZW4gdHJhc2lnIgogCi0jOiBidWlsdGluL2FtLmM6NDE0CisjOiBidWlsdGluL2FtLmM6NDEzCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgZsO2cmZhdHRhcnNrcmlwdCIKIAotIzogYnVpbHRpbi9hbS5jOjQ5MQorIzogYnVpbHRpbi9hbS5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICJcIiVzXCIgdG9ncyBib3J0IGF2IGtyb2tlbiBhcHBseXBhdGNoLW1zZyIKIAotIzogYnVpbHRpbi9hbS5jOjUzMgorIzogYnVpbHRpbi9hbS5jOjUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkZlbGFrdGlnIGluZGF0YXJhZDogXCIlc1wiLiIKIAotIzogYnVpbHRpbi9hbS5jOjU2OQorIzogYnVpbHRpbi9hbS5jOjU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGtvcGllcmEgYW50ZWNrbmluZ2FyIGZyw6VuIFwiJXNcIiB0aWxsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9hbS5jOjU5NQorIzogYnVpbHRpbi9hbS5jOjU5MwogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiXCJmc2Vla1wiIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9hbS5jOjc3NQorIzogYnVpbHRpbi9hbS5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBwYXRjaGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9hbS5jOjg0MAorIzogYnVpbHRpbi9hbS5jOjg0MgogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICJFbmRhc3QgZW4gU3RHSVQtcGF0Y2hzZXJpZSBrYW4gdGlsbMOkbXBhcyDDpXQgZ8OlbmdlbiIKIAotIzogYnVpbHRpbi9hbS5jOjg4NworIzogYnVpbHRpbi9hbS5jOjg4OQogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICJvZ2lsdGlnIHRpZHNzdMOkbXBlbCIKIAotIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CisjOiBidWlsdGluL2FtLmM6ODkyIGJ1aWx0aW4vYW0uYzo5MDAKIG1zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKIG1zZ3N0ciAib2dpbHRpZyBcIkRhdGVcIi1yYWQiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4OTUKKyM6IGJ1aWx0aW4vYW0uYzo4OTcKIG1zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKIG1zZ3N0ciAib2dpbHRpZyB0aWRzem9ucy1vZmZzZXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5ODQKKyM6IGJ1aWx0aW4vYW0uYzo5ODYKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBkZXRla3RlcmEgcGF0Y2hmb3JtYXQuIgogCi0jOiBidWlsdGluL2FtLmM6OTg5IGJ1aWx0aW4vY2xvbmUuYzozNzkKKyM6IGJ1aWx0aW4vYW0uYzo5OTEgYnVpbHRpbi9jbG9uZS5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEga2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9hbS5jOjk5MworIzogYnVpbHRpbi9hbS5jOjk5NQogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGRlbGEgcGF0Y2hhci4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTI1IGJ1aWx0aW4vY29tbWl0LmM6Mzc2CisjOiBidWlsdGluL2FtLmM6MTEyMCBidWlsdGluL2NvbW1pdC5jOjM3NwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgogbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgaW5kZXhmaWwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTc2CisjOiBidWlsdGluL2FtLmM6MTE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiTsOkciBkdSBoYXIgbMO2c3QgcHJvYmxlbWV0LCBrw7ZyIFwiJXMgLS1jb250aW51ZVwiLiIKIAotIzogYnVpbHRpbi9hbS5jOjExNzcKKyM6IGJ1aWx0aW4vYW0uYzoxMTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKIG1zZ3N0ciAiT20gZHUgaGVsbHJlIHZpbGwgaG9wcGEgw7Z2ZXIgcGF0Y2hlbiwga8O2ciBcIiVzIC0tc2tpcFwiIGkgc3TDpGxsZXQuIgogCi0jOiBidWlsdGluL2FtLmM6MTE3OAorIzogYnVpbHRpbi9hbS5jOjExNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICIiCiAiRsO2ciBhdHQgw6V0ZXJnw6UgdGlsbCB1cnNwcnVuZ2xpZyBncmVuIG9jaCBzbHV0YSBwYXRjaGEsIGvDtnIgXCIlcyAtLWFib3J0XCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTMxNgotbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgotbXNnc3RyICJQYXRjaGVuIMOkciB0b20uIERlbGFkZXMgZGVuIHVwcCBmZWxha3RpZ3Q/IgorIzogYnVpbHRpbi9hbS5jOjEzMDQKK21zZ2lkICJQYXRjaCBpcyBlbXB0eS4iCittc2dzdHIgIlBhdGNoZW4gw6RyIHRvbS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vbG9nLmM6MTU1MAorIzogYnVpbHRpbi9hbS5jOjEzNzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKLW1zZ3N0ciAib2dpbHRpZyBpZGVudC1yYWQ6ICVzIgorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKK21zZ3N0ciAib2dpbHRpZyBpZGVudC1yYWQ6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDE3CisjOiBidWlsdGluL2FtLmM6MTM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGluY2hlY2tuaW5nZW4gJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEwCisjOiBidWlsdGluL2FtLmM6MTU4NgogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJBcmtpdmV0IHNha25hciBvYmpla3Qgc29tIGJlaMO2dnMgZsO2ciBhdHQgZmFsbGEgdGlsbGJha2EgcMOlIDMtIgogInbDpGdzc2FtbWFuc2xhZ25pbmcuIgogCi0jOiBidWlsdGluL2FtLmM6MTYxMgorIzogYnVpbHRpbi9hbS5jOjE1ODgKIG1zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgogbXNnc3RyICJBbnbDpG5kZXIgaW5kZXhpbmZvIGbDtnIgYXR0IMOldGVyc2thcGEgZXR0IGJhc3Ryw6RkLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTYzMQorIzogYnVpbHRpbi9hbS5jOjE2MDcKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtNDU1NSwzOSArNDg4MiwzOSBAQAogIkhhciBkdSBoYW5kcmVkaWdlcmF0IGRpbiBwYXRjaD9cbiIKICJEZW4ga2FuIGludGUgdGlsbMOkbXBhcyBww6UgYmxvYmJhciBzb20gYW50ZWNrbmF0cyBpIGRlc3MgaW5kZXguIgogCi0jOiBidWlsdGluL2FtLmM6MTYzNworIzogYnVpbHRpbi9hbS5jOjE2MTMKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCiBtc2dzdHIgIiIKICJGYWxsZXIgdGlsbGJha2EgcMOlIGF0dCBwYXRjaGEgZ3J1bmR2ZXJzaW9uZW4gb2NoIHRyZXbDpGdzc2FtbWFuc2xhZ25pbmcuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjYyCisjOiBidWlsdGluL2FtLmM6MTYzOAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBzbMOlIGlob3Agw6RuZHJpbmdhcm5hLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2ODYgYnVpbHRpbi9tZXJnZS5jOjYzMgorIzogYnVpbHRpbi9hbS5jOjE2NjIgYnVpbHRpbi9tZXJnZS5jOjYzMgogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIG1pc3NseWNrYWRlcyBza3JpdmEgZXR0IHRyw6RkIgogCi0jOiBidWlsdGluL2FtLmM6MTY5MworIzogYnVpbHRpbi9hbS5jOjE2NjkKIG1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgogbXNnc3RyICJ0aWxsw6RtcGFyIHDDpSBlbiB0b20gaGlzdG9yaWsiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2NCBidWlsdGluL21lcmdlLmM6ODAyCi0jOiBidWlsdGluL21lcmdlLmM6ODI3CisjOiBidWlsdGluL2FtLmM6MTY4MiBidWlsdGluL2NvbW1pdC5jOjE3NjcgYnVpbHRpbi9tZXJnZS5jOjgwMworIzogYnVpbHRpbi9tZXJnZS5jOjgyOAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBpbmNoZWNrbmluZ3NvYmpla3QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCisjOiBidWlsdGluL2FtLmM6MTcxNSBidWlsdGluL2FtLmM6MTcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgImthbiBpbnRlIMOldGVydXBwdGE6ICVzIGZpbm5zIGludGUuIgogCi0jOiBidWlsdGluL2FtLmM6MTc1OQorIzogYnVpbHRpbi9hbS5jOjE3MzUKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKICJrYW4gaW50ZSB2YXJhIGludGVyYWt0aXYgb20gc3RhbmRhcmQgaW4gaW50ZSDDpHIgYW5zbHV0ZW4gdGlsbCBlbiB0ZXJtaW5hbC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY0CisjOiBidWlsdGluL2FtLmM6MTc0MAogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAiSW5jaGVja25pbmdza3JvcHBlbiDDpHI6IgogCkBAIC00NTk1LDM1ICs0OTIyLDM1IEBACiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCiAjLgotIzogYnVpbHRpbi9hbS5jOjE3NzQKKyM6IGJ1aWx0aW4vYW0uYzoxNzUwCiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAiVGlsbMOkbXBhPyBZPWphL049bmVqL0U9cmVkaWdlcmEvVj12aXNhIHBhdGNoL0E9Z29kdGEgYWxsYTogIgogCi0jOiBidWlsdGluL2FtLmM6MTgyNAorIzogYnVpbHRpbi9hbS5jOjE4MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgogbXNnc3RyICJTbXV0c2lndCBpbmRleDoga2FuIGludGUgdGlsbMOkbXBhIHBhdGNoYXIgKHNtdXRzaWdhOiAlcykiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCisjOiBidWlsdGluL2FtLmM6MTg0MCBidWlsdGluL2FtLmM6MTkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJS4qcyIKIG1zZ3N0ciAiVGlsbMOkbXBhcjogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4NzcKKyM6IGJ1aWx0aW4vYW0uYzoxODU2CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICJJbmdhIMOkbmRyaW5nYXIgLS0gUGF0Y2hlbiBoYXIgcmVkYW4gdGlsbMOkbXBhdHMuIgogCi0jOiBidWlsdGluL2FtLmM6MTg4NQorIzogYnVpbHRpbi9hbS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgIlBhdGNoIG1pc3NseWNrYWRlcyBww6UgJXMgJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4OTEKKyM6IGJ1aWx0aW4vYW0uYzoxODcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb3B5IG9mIHRoZSBwYXRjaCB0aGF0IGZhaWxlZCBpcyBmb3VuZCBpbjogJXMiCiBtc2dzdHIgIkVuIGtvcGlhIGF2IHBhdGNoZW4gc29tIG1pc3NseWNrYWRlcyBmaW5ucyBpOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE5MzYKKyM6IGJ1aWx0aW4vYW0uYzoxOTE1CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgpAQCAtNDYzMywyNSArNDk2MCwyOSBAQAogIk9tIGRldCBpbnRlIMOkciBuw6Vnb3Qga3ZhciBhdHQga8O2YSBrYW4gZGV0IGjDpG5kYSBhdHQgbsOlZ290IGFubmF0IHJlZGFuXG4iCiAiaW50cm9kdWNlcmF0IHNhbW1hIMOkbmRyaW5nYXI7IGthbnNrZSBkdSBiw7ZyIGhvcHBhIMO2dmVyIHBhdGNoZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MjIKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKLSJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKKyJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKKyJzdWNoLlxuIgorIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgIiIKLSJEdSBoYXIgZm9ydGZhcmFuZGUgc8O2a3bDpGdhciBzb20gaW50ZSBzbGFnaXRzIHNhbW1hbiBpIGRpdHQgaW5kZXguXG4iCi0iR2zDtm1kZSBkdSBhbnbDpG5kYSBcImdpdCBhZGRcIj8iCisiRHUgaGFyIGZvcnRmYXJhbmRlIGVqIHNhbW1hbnNsYWduYSBzw7ZrdsOkZ2FyIGkgaW5kZXhldC5cbiIKKyJEdSBiw7ZyIGvDtnJhIOKAnWdpdCBhZGTigJ0gcMOlIGZpbGVyIG1lZCBsw7ZzdGEga29uZmxpa3RlciBmw7ZyIGF0dCBhbmdlIGRlbSBzb20gIgorImzDtnN0YS5cbiIKKyJEdSBrYW4ga8O2cmEg4oCdZ2l0IHJt4oCdIGbDtnIgYXR0IGdvZHRhIOKAnWJvcnR0YWdlbiBhdiBkZW3igJ0gZsO2ciBkZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MjA1MSBidWlsdGluL2FtLmM6MjA1NSBidWlsdGluL2FtLmM6MjA2NyBidWlsdGluL3Jlc2V0LmM6MzA4Ci0jOiBidWlsdGluL3Jlc2V0LmM6MzE2CisjOiBidWlsdGluL2FtLmM6MjAzMSBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2FtLmM6MjA0NyBidWlsdGluL3Jlc2V0LmM6MzIzCisjOiBidWlsdGluL3Jlc2V0LmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCi1tc2dzdHIgIkthbiBpbnRlIHRvbGthIG9iamVrdGV0IFwiJXNcIiIKK21zZ3N0ciAiS2FuIGludGUgdG9sa2Egb2JqZWt0ZXQg4oCdJXPigJ0uIgogCi0jOiBidWlsdGluL2FtLmM6MjEwMworIzogYnVpbHRpbi9hbS5jOjIwODMKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBzdMOkZGEgdXBwIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTM3CisjOiBidWlsdGluL2FtLmM6MjExNwogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtNDY1OSwxMzMgKzQ5OTAsMTM0IEBACiAiRHUgdmVya2FyIGhhIGZseXR0YXQgSEVBRCBzZWRhbiBcImFtXCIgc2lzdCBtaXNzbHlja2FkZXMuXG4iCiAiw4V0ZXJzdMOkbGxlciBpbnRlIHRpbGwgT1JJR19IRUFEIgogCi0jOiBidWlsdGluL2FtLmM6MjIwMAorIzogYnVpbHRpbi9hbS5jOjIxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIGbDtnIgLS1wYXRjaC1mb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFs8ZmxhZ2dvcj5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM0CisjOiBidWlsdGluL2FtLmM6MjIxNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzxmbGFnZ29yPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMjIwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgImvDtnIgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQyCisjOiBidWlsdGluL2FtLmM6MjIyMgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICJoaXN0b3Jpc2sgZmxhZ2dhIC0tIG5vLW9wIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NAorIzogYnVpbHRpbi9hbS5jOjIyMjQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAidGlsbMOldCBmYWxsYSB0aWxsYmFrYSBww6UgdHJldsOkZ3NzYW1tYW5zbGFnbmluZyBvbSBuw7ZkdsOkbmRpZ3QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3Ci0jOiBidWlsdGluL3JlcGFjay5jOjE3OAorIzogYnVpbHRpbi9hbS5jOjIyMjUgYnVpbHRpbi9pbml0LWRiLmM6NDg0IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgInZhciB0eXN0IgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyMjcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJsw6RnZyB0aWxsIFwiU2lnbmVkLW9mZi1ieVwiLXJhZCBpIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL2FtLmM6MjI1MAorIzogYnVpbHRpbi9hbS5jOjIyMzAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAia29kYSBvbSB0aWxsIHV0ZjggKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtayB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQKKyM6IGJ1aWx0aW4vYW0uYzoyMjM0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtYiB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjM2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtbSB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjM4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtLWtlZXAtY3IgdGlsbCBnaXQtbWFpbHNwbGl0IGbDtnIgbWJveC1mb3JtYXRldCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMjQxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgInPDpG5kIGludGUgZmxhZ2dhbiAtLWtlZXAtY3IgdGlsbCBnaXQtbWFpbHNwbGl0IG9iZXJvZW5kZSBhdiBhbS5rZWVwY3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY0CisjOiBidWlsdGluL2FtLmM6MjI0NAogbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKIG1zZ3N0ciAidGEgYm9ydCBhbGx0aW5nIGbDtnJlIGVuIHNheGxpbmplIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2FtLmM6MjI3MiBidWlsdGluL2FtLmM6MjI3NQotIzogYnVpbHRpbi9hbS5jOjIyNzggYnVpbHRpbi9hbS5jOjIyODEgYnVpbHRpbi9hbS5jOjIyODQgYnVpbHRpbi9hbS5jOjIyODcKLSM6IGJ1aWx0aW4vYW0uYzoyMjkzCisjOiBidWlsdGluL2FtLmM6MjI0NiBidWlsdGluL2FtLmM6MjI0OSBidWlsdGluL2FtLmM6MjI1MiBidWlsdGluL2FtLmM6MjI1NQorIzogYnVpbHRpbi9hbS5jOjIyNTggYnVpbHRpbi9hbS5jOjIyNjEgYnVpbHRpbi9hbS5jOjIyNjQgYnVpbHRpbi9hbS5jOjIyNjcKKyM6IGJ1aWx0aW4vYW0uYzoyMjczCiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAic8OkbmQgZGV0IGdlbm9tIGdpdC1hcHBseSIKIAotIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQotIzogYnVpbHRpbi9ncmVwLmM6MTAzOCBidWlsdGluL21lcmdlLmM6MjAyIGJ1aWx0aW4vcHVsbC5jOjEzNQotIzogYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmVwYWNrLmM6MTg3IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkgYnVpbHRpbi90YWcuYzozNTUKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBidWlsdGluL2FtLmM6MjI2MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzoxMDY0IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTQyCisjOiBidWlsdGluL3B1bGwuYzoxOTcgYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk1IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzEgYnVpbHRpbi9zaG93LXJlZi5jOjE2OQorIzogYnVpbHRpbi90YWcuYzozOTkgcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAibiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CisjOiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDQgYnVpbHRpbi90YWcuYzo0MzQgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgImZvcm1hdCIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgogbXNnc3RyICJmb3JtYXQgZsO2ciBwYXRjaChhcikiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk2CisjOiBidWlsdGluL2FtLmM6MjI3NgogbXNnaWQgIm92ZXJyaWRlIGVycm9yIG1lc3NhZ2Ugd2hlbiBwYXRjaCBmYWlsdXJlIG9jY3VycyIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGZlbG1lZGRlbGFuZGVuIG7DpHIgcGF0Y2hmZWwgdXBwc3TDpXIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk4CisjOiBidWlsdGluL2FtLmM6MjI3OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgImZvcnRzw6R0dCBhcHBsaWNlcmEgcGF0Y2hhciBlZnRlciBhdHQgaGEgbMO2c3QgZW4ga29uZmxpa3QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAxCisjOiBidWlsdGluL2FtLmM6MjI4MQogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICJzeW5vbnltZXIgdGlsbCAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNAorIzogYnVpbHRpbi9hbS5jOjIyODQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICJob3BwYSDDtnZlciBkZW4gYWt0dWVsbGEgZ3JlbmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNworIzogYnVpbHRpbi9hbS5jOjIyODcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICLDpXRlcnN0w6RsbCBvcmlnaW5hbGdyZW5lbiBvY2ggYXZicnl0IHBhdGNobmluZ2VuLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTEKKyM6IGJ1aWx0aW4vYW0uYzoyMjkxCiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICJsanVnIG9tIGluY2hlY2tuaW5nc2RhdHVtIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMworIzogYnVpbHRpbi9hbS5jOjIyOTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICJhbnbDpG5kIG51dmFyYW5kZSB0aWRzc3TDpG1wZWwgZsO2ciBmw7ZyZmF0dGFyZGF0dW0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE1IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL21lcmdlLmM6MjMzCi0jOiBidWlsdGluL3B1bGwuYzoxNjUgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM3MAorIzogYnVpbHRpbi9hbS5jOjIyOTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3MiBidWlsdGluL3JldmVydC5jOjExMiBidWlsdGluL3RhZy5jOjQxNAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAibnlja2VsLWlkIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNgorIzogYnVpbHRpbi9hbS5jOjIyOTYKIG1zZ2lkICJHUEctc2lnbiBjb21taXRzIgogbXNnc3RyICJHUEctc2lnbmVyYSBpbmNoZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOQorIzogYnVpbHRpbi9hbS5jOjIyOTkKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiKGFudsOkbmRzIGludGVybnQgYXYgZ2l0LXJlYmFzZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM0CisjOiBidWlsdGluL2FtLmM6MjMxNwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTQ3OTMsMTYgKzUxMjUsMTYgQEAKICJGbGFnZ2FuIC1iLy0tYmluYXJ5IGhhciB2YXJpdCB1dGFuIGZ1bmt0aW9uIGzDpG5nZSwgb2NoXG4iCiAia29tbWVyIHRhcyBib3J0LiBWaSBiZXIgZGlnIGF0dCBpbnRlIGFudsOkbmRhIGRlbiBsw6RuZ3JlLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzNDEKKyM6IGJ1aWx0aW4vYW0uYzoyMzI0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgaW5kZXhldCIKIAotIzogYnVpbHRpbi9hbS5jOjIzNTYKKyM6IGJ1aWx0aW4vYW0uYzoyMzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJXMgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKIG1zZ3N0ciAidGlkaWdhcmUgcmViYXNlLWthdGFsb2cgJXMgZmlubnMgZm9ydGZhcmFuZGUsIG1lbiBtYm94IGFuZ2F2cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzgwCisjOiBidWlsdGluL2FtLmM6MjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgpAQCAtNDgxMSw3ICs1MTQzLDcgQEAKICJLdmFyYmxpdmVuIGthdGFsb2cgJXMgaGl0dGFkZXMuXG4iCiAiQW52w6RuZCBcImdpdCBhbSAtLWFib3J0XCIgZsO2ciBhdHQgdGEgYm9ydCBkZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MjM4NgorIzogYnVpbHRpbi9hbS5jOjIzNjkKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICJMw7ZzbmluZ3NvcGVyYXRpb24gcMOlZ8OlciBpbnRlLCB2aSDDpXRlcnVwcHRhciBpbnRlLiIKIApAQCAtNDgyMiw3ICs1MTU0LDcgQEAKICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgYXJjaGl2ZSBmaWxlICclcyciCi1tc2dzdHIgIkt1bmRlIGludGUgc2thcGEgYXJraXZmaWxlbiBcIiVzXCIiCittc2dzdHIgImt1bmRlIGludGUgc2thcGEgYXJraXZmaWxlbiBcIiVzXCIiCiAKICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjIwCiBtc2dpZCAiY291bGQgbm90IHJlZGlyZWN0IG91dHB1dCIKQEAgLTQ4NDEsMTEgKzUxNzMsNiBAQAogbXNnaWQgImdpdCBhcmNoaXZlOiBOQUNLICVzIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKLW1zZ3N0ciAiZmrDpHJyZmVsOiAlcyIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBwcm90b2tvbGxmZWwiCkBAIC00ODY2LDE5MSArNTE5MywxNjYgQEAKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICJ1cHBkYXRlcmEgQklTRUNUX0hFQUQgaXN0w6RsbGV0IGbDtnIgYXR0IGNoZWNrYSB1dCBha3R1ZWxsIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNwogbXNnaWQgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPHJldi1vcHRzPl0gWzxyZXY+XSBbLS1dIDxmaWxlPiIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFs8ZmxhZ2dvcj5dIFs8cmV2LWZsYWdnb3I+XSBbPHJldj5dIFstLV0gPGZpbD4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozOAorIzogYnVpbHRpbi9ibGFtZS5jOjMyCiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjxyZXYtZmxhZ2dvcj4gZG9rdW1lbnRlcmFzIGkgZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4NgotbXNnaWQgIkJsYW1pbmcgbGluZXMiCi1tc2dzdHIgIktsYW5kcmEgcmFkZXIiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCisjOiBidWlsdGluL2JsYW1lLmM6NjY4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiVmlzYSBrbGFuZHJpbmdzcG9zdGVyIG7DpHIgdmkgaGl0dGFyIGRlbSwgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCisjOiBidWlsdGluL2JsYW1lLmM6NjY5CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVmlzYSBibGFuayBTSEEtMSBmw7ZyIGdyw6Ruc2luY2hlY2tuaW5nYXIgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg0CisjOiBidWlsdGluL2JsYW1lLmM6NjcwCiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJCZWhhbmRsYSBpbnRlIHJvdGluY2hlY2tuaW5nYXIgc29tIGdyw6Ruc2VyIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NQorIzogYnVpbHRpbi9ibGFtZS5jOjY3MQogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIlZpc2Egc3RhdGlzdGlrIMO2dmVyIGFyYmV0c2tvc3RuYWQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg2CisjOiBidWlsdGluL2JsYW1lLmM6NjcyCiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJUdmluZ2EgZsO2cmxvcHBzcmFwcG9ydGVyaW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NworIzogYnVpbHRpbi9ibGFtZS5jOjY3MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJWaXNhIHV0ZGF0YXBvw6RuZyBmw7ZyIGtsYW5kcmluZ3Nwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CisjOiBidWlsdGluL2JsYW1lLmM6Njc0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIlZpc2Egb3JpZ2luYWxmaWxuYW1uIChTdGFuZGFyZDogYXV0bykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg5CisjOiBidWlsdGluL2JsYW1lLmM6Njc1CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJWaXNhIHVyc3BydW5nbGlndCByYWRudW1tZXIgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkwCisjOiBidWlsdGluL2JsYW1lLmM6Njc2CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAiVmlzYSBpIGV0dCBmb3JtYXQgYXZzZXR0IGbDtnIgbWFza2lua29uc3VtdGlvbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzcKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIlZpc2EgcG9yc2xpbnNmb3JtYXQgbWVkIHBlci1yYWQtaW5jaGVja25pbmdzaW5mb3JtYXRpb24iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkyCisjOiBidWlsdGluL2JsYW1lLmM6Njc4CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiQW52w6RuZCBzYW1tYSB1dGRhdGFsw6RnZSBzb20gZ2l0LWFubm90YXRlIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MworIzogYnVpbHRpbi9ibGFtZS5jOjY3OQogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVmlzYSByw6UgdGlkc3N0w6RtcGVsIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NAorIzogYnVpbHRpbi9ibGFtZS5jOjY4MAogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVmlzYSBsw6VuZyBpbmNoZWNrbmluZ3MtU0hBMSAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODEKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJVbmRlcnRyeWNrIGbDtnJmYXR0YXJuYW1uIG9jaCB0aWRzc3TDpG1wZWwgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk2CisjOiBidWlsdGluL2JsYW1lLmM6NjgyCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJWaXNhIGbDtnJmYXR0YXJlbnMgZS1wb3N0IGlzdMOkbGxldCBmw7ZyIG5hbW4gKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk3CisjOiBidWlsdGluL2JsYW1lLmM6NjgzCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIklnbm9yZXJhIMOkbmRyaW5nYXIgaSBibGFua3N0ZWciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CisjOiBidWlsdGluL2JsYW1lLmM6NjkwCiBtc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKIG1zZ3N0ciAiQW52w6RuZCBlbiBleHBlcmltZW50ZWxsIGFsZ29yaXRtIGbDtnIgYXR0IGbDtnJiw6R0dHJhIGRpZmZhciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIlNsw7ZzYSBleHRyYSBjeWtsZXIgbWVkIGF0dCBoaXR0YSBiw6R0dHJlIHRyw6RmZiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTMKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIkFudsOkbmQgcmV2aXNpb25lciBmcsOlbiA8ZmlsPiBpc3TDpGxsZXQgZsO2ciBhdHQgYW5yb3BhIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJBbnbDpG5kIDxmaWw+cyBpbm5laMOlbGwgc29tIHNsdXRnaWx0aWcgYmlsZCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDkgYnVpbHRpbi9ibGFtZS5jOjI2MTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTUgYnVpbHRpbi9ibGFtZS5jOjY5NgogbXNnaWQgInNjb3JlIgogbXNnc3RyICJwb8OkbmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA5CisjOiBidWlsdGluL2JsYW1lLmM6Njk1CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiSGl0dGEga29waWVyYWRlIHJhZGVyIGludXRpIG9jaCBtZWxsYW4gZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjEwCisjOiBidWlsdGluL2JsYW1lLmM6Njk2CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiSGl0dGEgZmx5dHRhZGUgcmFkZXIgaW51dGkgb2NoIG1lbGxhbiBmaWxlciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiQmVoYW5kbGEgZW5kYXN0IHJhZGludGVydmFsbGV0IG4sbSwgbWVkIGLDtnJqYW4gcMOlIDEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjU4CisjOiBidWlsdGluL2JsYW1lLmM6NzQ0CiBtc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKIG1zZ3N0ciAiLS1wcm9ncmVzcyBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIC0taW5jcmVtZW50YWwgZWxsZXIgcG9yc2xpbnNmb3JtYXQiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KLSMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCi0jLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKLSMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgotIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgotIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI3MDYKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlCisjLiBtYXhpbXVtIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluCisjLiAiZ2l0IGJsYW1lIiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMQorIy4gbW9udGhzIGFnbyIsIHdoaWNoIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QKKyMuIGFtb25nIHZhcmlvdXMgZm9ybXMgb2YgcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0CisjLiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQorIy4gY29sdW1ucy4KKyMuCisjOiBidWlsdGluL2JsYW1lLmM6Nzk1CiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiNCDDpXIsIDExIG3DpW5hZGVyIHNlZGFuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc4NgotbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCi1tc2dzdHIgIi0tY29udGVudHMgb2NoIC0tcmV2ZXJzZSBmdW5nZXJhciBpbnRlIHPDpSBicmEgdGlsbHNhbW1hbnMuIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgwNgotbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKLW1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgLS1jb250ZW50cyBtZWQgbmFtbiBww6Ugc2x1dGdpbHRpZ3QgaW5jaGVja25pbmdzb2JqZWt0IgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgxMQotbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKLW1zZ3N0ciAiIgotIi0tcmV2ZXJzZSBvY2ggLS1maXJzdC1wYXJlbnQgdGlsbHNhbW1hbnMga3LDpHZlciBhdHQgZHUgYW5nZXIgc2VuYXN0ZSAiCi0iaW5jaGVja25pbmdlbiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MzgKLW1zZ2lkICIiCi0iLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgotbXNnc3RyICIiCi0iLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRpbGxzYW1tYW5zIGtyw6R2ZXIgZXR0IGludGVydmFsbCBww6UgZsO2cnN0YS1mw7Zyw6RsZGVyLSIKLSJrZWRqYW4iCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKLW1zZ3N0ciAic8O2a3bDpGdlbiAlcyBpICVzIGZpbm5zIGludGUiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODYwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCi1tc2dzdHIgImthbiBpbnRlIGzDpHNhIG9iamVrdGV0ICVzIGbDtnIgc8O2a3bDpGdlbiAlcyIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4NzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKIG1zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCiBtc2dzdHJbMF0gImZpbGVuICVzIGhhciBiYXJhICVsdSByYWQiCiBtc2dzdHJbMV0gImZpbGVuICVzIGhhciBiYXJhICVsdSByYWRlciIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNgorIzogYnVpbHRpbi9ibGFtZS5jOjkyOAorbXNnaWQgIkJsYW1pbmcgbGluZXMiCittc2dzdHIgIktsYW5kcmEgcmFkZXIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxmbGFnZ29yPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNworIzogYnVpbHRpbi9icmFuY2guYzoyOAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1sXSBbLWZdIDxicmFuY2gtbmFtZT4gWzxzdGFydC1wb2ludD5dIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8ZmxhZ2dvcj5dIFstbF0gWy1mXSA8Z3Jlbm5hbW4+IFs8c3RhcnRwdW5rdD5dIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI4CisjOiBidWlsdGluL2JyYW5jaC5jOjI5CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXJdICgtZCB8IC1EKSA8YnJhbmNoLW5hbWU+Li4uIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8ZmxhZ2dvcj5dIFstcl0gKC1kIHwgLUQpIDxncmVubmFtbj4uLi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzAKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dICgtbSB8IC1NKSBbPG9sZC1icmFuY2g+XSA8bmV3LWJyYW5jaD4iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxmbGFnZ29yPl0gKC1tIHwgLU0pIFs8Z2FtbWFsX2dyZW4+XSA8bnlfZ3Jlbj4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8ZmxhZ2dvcj5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE0MworIzogYnVpbHRpbi9icmFuY2guYzozMgorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCittc2dzdHIgImdpdCBicmFuY2ggWzxmbGFnZ29yPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgpAQCAtNTA1OSw3ICs1MzYxLDcgQEAKICJ0YXIgYm9ydCBncmVuZW4gXCIlc1wiIHNvbSBoYXIgc2xhZ2l0cyBpaG9wIG1lZFxuIgogIiAgICAgICAgIFwiJXNcIiwgbWVuIMOkbm51IGludGUgc2xhZ2l0cyBpaG9wIG1lZCBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgpAQCAtNTA2OCwxMiArNTM3MCwxMiBAQAogInRhciBpbnRlIGJvcnQgZ3JlbmVuIFwiJXNcIiBzb20gaW50ZSBoYXIgc2xhZ2l0cyBpaG9wIG1lZFxuIgogIiAgICAgICAgIFwiJXNcIiwgdHJvdHMgYXR0IGRlbiBoYXIgc2xhZ2l0cyBpaG9wIG1lZCBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzbMOlIHVwcCBpbmNoZWNrbmluZ3NvYmpla3QgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY1CisjOiBidWlsdGluL2JyYW5jaC5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCkBAIC01MDgyLDE2NCArNTM4NCw5MiBAQAogIkdyZW5lbiBcIiVzXCIgaGFyIGludGUgc2xhZ2l0cyBzYW1tYW4gaSBzaW4gaGVsaGV0LlxuIgogIk9tIGR1IMOkciBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIHRhIGJvcnQgZGVuLCBrw7ZyIFwiZ2l0IGJyYW5jaCAtRCAlc1wiLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTgwCiBtc2dpZCAiVXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHVwcGRhdGVyYSBrb25maWd1cmF0aW9uc2ZpbCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjExCiBtc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgogbXNnc3RyICJrYW4gaW50ZSBhbmdlIC1hIG1lZCAtZCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE3CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgogbXNnc3RyICJLdW5kZSBpbnRlIHNsw6UgdXBwIGluY2hlY2tuaW5nc29iamVrdCBmw7ZyIEhFQUQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZGVsZXRlIGJyYW5jaCAnJXMnIGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIkthbiBpbnRlIHRhIGJvcnQgZ3JlbmVuIFwiJXNcIiBzb20gw6RyIHV0Y2hlY2thZCBww6UgXCIlc1wiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MQorIzogYnVpbHRpbi9icmFuY2guYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgImZqw6RycnNww6VyYW5kZSBncmVuZW4gXCIlc1wiIGhpdHRhZGVzIGludGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MgorIzogYnVpbHRpbi9icmFuY2guYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiZ3JlbmVuIFwiJXNcIiBoaXR0YWRlcyBpbnRlLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiRmVsIHZpZCBib3J0dGFnbmluZyBhdiBmasOkcnJzcMOlcmFuZGUgZ3JlbmVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICJGZWwgdmlkIGJvcnR0YWduaW5nIGF2IGdyZW5lbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIlRvZyBib3J0IGZqw6RycnNww6VyYW5kZSBncmVuZW4gJXMgKHZhciAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY2CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiVG9nIGJvcnQgZ3JlbmVuICVzICh2YXIgJXMpLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGdvbmVdIgotbXNnc3RyICJbJXM6IGbDtnJzdnVubmVuXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzXSIKLW1zZ3N0ciAiWyVzXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgotbXNnc3RyICJbJXM6IGJha29tICVkXSAiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIltiZWhpbmQgJWRdIgotbXNnc3RyICJbYmFrb20gJWRdICIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZF0iCi1tc2dzdHIgIlslczogZsO2cmUgJWRdICIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2FoZWFkICVkXSIKLW1zZ3N0ciAiW2bDtnJlICVkXSAiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCi1tc2dzdHIgIlslczogZsO2cmUgJWQsIGJha29tICVkXSAiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiW2bDtnJlICVkLCBiYWtvbSAlZF0gIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjM0OQotbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCi1tc2dzdHIgIiAqKioqIG9naWx0aWcgcmVmICoqKioiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKLW1zZ3N0ciAiKGluZ2VuIGdyZW4sIG9tYmFzZXJhciAlcykiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKGluZ2VuIGdyZW4sIFwiYmlzZWN0XCIgc3RhcnRhZCBww6UgJXMpIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCBmcsOlbmtvcHBsYXQgdmlkICVzKSIKLQotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKLSMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCi1tc2dzdHIgIihIRUFEIGZyw6Vua29wcGxhdCBmcsOlbiAlcykiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkzCi1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIihpbmdlbiBncmVuKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1MzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICJHcmVuZW4gJXMgb21iYXNlcmFzIHDDpSAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAiR3JlbmVuICVzIMOkciBpIGVuIFwiYmlzZWN0XCIgcMOlICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU1NAorIzogYnVpbHRpbi9icmFuY2guYzo0NjQKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiIgogImt1bmRlIGludGUgYnl0YSBuYW1uIHDDpSBha3R1ZWxsIGdyZW4gbsOkciBkdSBpbnRlIGJlZmlubmVyIGRpZyBww6UgbsOlZ29uLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIkZlbGFrdGlndCBuYW1uIHDDpSBncmVuOiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgxCisjOiBidWlsdGluL2JyYW5jaC5jOjQ5MQogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICJNaXNzbHlja2FkZXMgYnl0YSBuYW1uIHDDpSBncmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NQorIzogYnVpbHRpbi9icmFuY2guYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgIkJ5dHRlIGJvcnQgbmFtbiBww6UgZW4gZmVsYWt0aWd0IG5hbW5naXZlbiBncmVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIkdyZW5lbiBuYW1uYnl0dCB0aWxsICVzLCBtZW4gSEVBRCBoYXIgaW50ZSB1cHBkYXRlcmF0cyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk1CisjOiBidWlsdGluL2JyYW5jaC5jOjUwNgogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiR3JlbmVuIG5hbW5ieXR0LCBtZW4gbWlzc2x5Y2thZGVzIHVwcGRhdGVyYSBrb25maWd1cmF0aW9uc2ZpbGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMQorIzogYnVpbHRpbi9icmFuY2guYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgpAQCAtNTI1MCwyMDggKzU0ODAsMjE3IEBACiAiICAlc1xuIgogIlJhZGVyIHNvbSBpbmxlZHMgbWVkIFwiJWNcIiBpZ25vcmVyYXMuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzCisjOiBidWlsdGluL2JyYW5jaC5jOjU1NQogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiQWxsbcOkbm5hIGZsYWdnb3IiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU1NwogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJ2aXNhIGhhc2ggb2NoIMOkcmVuZGVyYWQsIGFuZ2UgdHbDpSBnw6VuZ2VyIGbDtnIgdXBwc3Ryw7Ztc2dyZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgInVuZGVydHJ5Y2sgaW5mb3JtYXRpb25zbWVkZGVsYW5kZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ3CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OQogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgogbXNnc3RyICJzdMOkbGwgaW4gc3DDpXJuaW5nc2zDpGdlIChzZSBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ5CisjOiBidWlsdGluL2JyYW5jaC5jOjU2MQogbXNnaWQgImNoYW5nZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLDpG5kcmEgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJ1cHN0cmVhbSIKIG1zZ3N0ciAidXBwc3Ryw7ZtcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLDpG5kcmEgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NAogbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgotbXNnc3RyICJ0YSBib3J0IHVwcHN0csO2bXNpbmZvcm1hdGlvbmVuIgorbXNnc3RyICJUYSBib3J0IHVwcHN0csO2bXNpbmZvcm1hdGlvbmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MworIzogYnVpbHRpbi9icmFuY2guYzo1NjUKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgImFudsOkbmQgZsOkcmdhZCB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL2JyYW5jaC5jOjU2NgogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImFyYmV0YSBww6UgZmrDpHJyc3DDpXJhbmRlIGdyZW5hciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTYgYnVpbHRpbi9icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY4IGJ1aWx0aW4vYnJhbmNoLmM6NTcwCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgZ3JlbmFyIHNvbSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MAorIzogYnVpbHRpbi9icmFuY2guYzo1NjkgYnVpbHRpbi9icmFuY2guYzo1NzEKK21zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICJ2aXNhIGVuZGFzdCBncmVuYXIgc29tIGludGUgaW5uZWjDpWxsZXIgaW5jaGVja25pbmdlbiIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NzQKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICJTcGVjaWZpa2EgZ2l0LWJyYW5jaC3DpXRnw6RyZGVyOiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc1CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgInZpc2EgYsOlZGUgZmrDpHJyc3DDpXJhbmRlIG9jaCBsb2thbGEgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MworIzogYnVpbHRpbi9icmFuY2guYzo1NzcKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAidGEgYm9ydCBoZWx0IHNhbW1hbnNsYWdlbiBncmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9icmFuY2guYzo1NzgKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJ0YSBib3J0IGdyZW4gKMOkdmVuIG9tIGludGUgaGVsdCBzYW1tYW5zbGFnZW4pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9icmFuY2guYzo1NzkKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiZmx5dHRhL3RhIGJvcnQgZW4gZ3JlbiBvY2ggZGVzcyByZWZsb2dnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NgorIzogYnVpbHRpbi9icmFuY2guYzo1ODAKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJmbHl0dGEvdGEgYm9ydCBlbiBncmVuLCDDpHZlbiBvbSBtw6VsZXQgZmlubnMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY3CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MQogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJsaXN0YSBuYW1uIHDDpSBncmVuYXIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL2JyYW5jaC5jOjU4MgogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICJza2FwYSBncmVuZW5zIHJlZmxvZ2ciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICJyZWRpZ2VyYSBiZXNrcml2bmluZyBmw7ZyIGdyZW5lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAidHZpbmdhIHNrYXBhbmRlLCBmbHl0dC9uYW1uw6RuZHJpbmcsIGJvcnR0YWdhbmRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9icmFuY2guYzo1ODYKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAidmlzYSBlbmRhc3Qgc2FtbWFuc2xhZ25hIGdyZW5hciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBlaiBzYW1tYW5zbGFnbmEgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NAorIzogYnVpbHRpbi9icmFuY2guYzo1ODgKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgInZpc2EgZ3JlbmFyIGkgc3BhbHRlciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzUgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjM4MQorIzogYnVpbHRpbi9icmFuY2guYzo1ODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgImtleSIKIG1zZ3N0ciAibnlja2VsIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6MzgyCisjOiBidWlsdGluL2JyYW5jaC5jOjU5MCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQwIGJ1aWx0aW4vdGFnLmM6NDI4CiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgogbXNnc3RyICJmw6RsdG5hbW4gYXR0IHNvcnRlcmEgcMOlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3OCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCi0jOiBidWlsdGluL3RhZy5jOjM4NAorIzogYnVpbHRpbi9icmFuY2guYzo1OTIgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDA3CisjOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzAgYnVpbHRpbi9ub3Rlcy5jOjU3MworIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIm9iamVrdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJ2aXNhIGVuZGFzdCBncmVuYXIgZsO2ciBvYmpla3RldCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NiBidWlsdGluL3RhZy5jOjM4OAorIzogYnVpbHRpbi9icmFuY2guYzo1OTUgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OCBidWlsdGluL3RhZy5jOjQzNQogbXNnaWQgInNvcnRpbmcgYW5kIGZpbHRlcmluZyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSIKIG1zZ3N0ciAic29ydGVyaW5nIG9jaCBmaWx0cmVyaW5nIHNraWxqZXIgZ2VtZW5lciBvY2ggVkVSU0FMRVIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4Ci1tc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCi1tc2dzdHIgIk1pc3NseWNrYWRlcyBzbMOlIHVwcCBIRUFEIHNvbSBnaWx0aWcgcmVmZXJlbnMiCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM0CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCittc2dzdHIgImZvcm1hdCBhdHQgYW52w6RuZGEgZsO2ciB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzAyIGJ1aWx0aW4vY2xvbmUuYzo3MDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE1Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgIk1pc3NseWNrYWRlcyBzbMOlIHVwcCBIRUFEIHNvbSBnaWx0aWcgcmVmZXJlbnMuIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYxOSBidWlsdGluL2Nsb25lLmM6NzI4CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgaGl0dGFkZXMgaW50ZSB1bmRlciByZWZzL2hlYWRzISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQyCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiBvY2ggLS12ZXJib3NlIMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM1IGJ1aWx0aW4vYnJhbmNoLmM6Nzg3CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MyBidWlsdGluL2JyYW5jaC5jOjcwNQogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICJncmVubmFtbiBrcsOkdnMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIkthbiBpbnRlIGJlc2tyaXZhIGZyw6Vua29wcGxhZCBIRUFEIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2OAorIzogYnVpbHRpbi9icmFuY2guYzo2ODYKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAia2FuIGludGUgcmVkaWdlcmEgYmVza3Jpdm5pbmcgZsO2ciBtZXIgw6RuIGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc1CisjOiBidWlsdGluL2JyYW5jaC5jOjY5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKLW1zZ3N0ciAiSW5nYSBpbmNoZWNrbmluZ2FyIHDDpSBncmVuZW4gXCIlc1wiIMOkbm51IgorbXNnc3RyICJJbmdhIGluY2hlY2tuaW5nYXIgcMOlIGdyZW5lbiBcIiVzXCIgw6RubnUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3OAorIzogYnVpbHRpbi9icmFuY2guYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJJbmdlbiBncmVuIHZpZCBuYW1uZXQgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAiZsO2ciBtw6VuZ2EgZ3JlbmFyIGbDtnIgbmFtbmJ5dGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk4CisjOiBidWlsdGluL2JyYW5jaC5jOjcxNgogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgImbDtnIgbcOlbmdhIGdyZW5hciBmw7ZyIGF0dCBieXRhIHVwcHN0csO2bSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogImt1bmRlIGludGUgc8OkdHRhIHVwcHN0csO2bSBmw7ZyIEhFQUQgdGlsbCAlcyBuw6RyIGRldCBpbnRlIHBla2FyIG1vdCBuw6Vnb24gZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1IGJ1aWx0aW4vYnJhbmNoLmM6ODI3IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMyBidWlsdGluL2JyYW5jaC5jOjc0NSBidWlsdGluL2JyYW5jaC5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJva8OkbmQgZ3JlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA5CisjOiBidWlsdGluL2JyYW5jaC5jOjcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiZ3JlbmVuIFwiJXNcIiBmaW5ucyBpbnRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyMQorIzogYnVpbHRpbi9icmFuY2guYzo3MzkKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byB1bnNldCB1cHN0cmVhbSIKIG1zZ3N0ciAiZsO2ciBtw6VuZ2EgZ3JlbmFyIGbDtnIgYXR0IHRhIGJvcnQgdXBwc3Ryw7ZtIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyNQorIzogYnVpbHRpbi9icmFuY2guYzo3NDMKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAia3VuZGUgaW50ZSB0YSBib3J0IHVwcHN0csO2bSBmw7ZyIEhFQUQgbsOkciBkZXQgaW50ZSBwZWthciBtb3QgbsOlZ29uIGdyZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMQorIzogYnVpbHRpbi9icmFuY2guYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICJHcmVuZW4gXCIlc1wiIGhhciBpbmdlbiB1cHBzdHLDtm1zaW5mb3JtYXRpb24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjc2MwogbXNnaWQgIml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlICdIRUFEJyBtYW51YWxseSIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEgXCJIRUFEXCIgbWFudWVsbHQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODUxCisjOiBidWlsdGluL2JyYW5jaC5jOjc2OQogbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKICJmbGFnZ29ybmEgLWEgb2NoIC1yIHDDpSBcImdpdCBicmFuY2hcIiBrYW4gaW50ZSBhbmdlcyB0aWxsc2FtbWFucyBtZWQgZXR0ICIKICJncmVubmFtbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tIgpAQCAtNTQ2MCw3ICs1Njk5LDcgQEAKICJGbGFnZ2FuIC0tc2V0LXVwc3RyZWFtIHJla29tbWVuZGVyYXMgZWogb2NoIGtvbW1lciB0YXMgYm9ydC4gQW52w6RuZCAtLXRyYWNrICIKICJlbGxlciAtLXNldC11cHN0cmVhbS10b1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg3MQorIzogYnVpbHRpbi9icmFuY2guYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTQ3MSwyMCArNTcxMCwyMCBAQAogIk9tIGR1IHZpbGwgZ8O2cmEgc8OlIGF0dCBcIiVzXCIgc3DDpXJhciBcIiVzXCIgZ8O2ciBkdSBzw6UgaMOkcjpcbiIKICJcbiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo1MQorIzogYnVpbHRpbi9idW5kbGUuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBva2F5XG4iCiBtc2dzdHIgIiVzIMOkciBva2VqXG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjQKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgogbXNnc3RyICJCZWjDtnZlciBldHQgYXJraXYgZsO2ciBhdHQgc2thcGEgZXR0IHBha2V0IChidW5kbGUpLiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2OAorIzogYnVpbHRpbi9idW5kbGUuYzo2MgogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiQmVow7Z2ZXIgZXR0IGFya2l2IGbDtnIgYXR0IHBhY2thIHVwcCBldHQgcGFrZXQgKGJ1bmRsZSkuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTEzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTE5CiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKQEAgLTU0OTIsNyArNTczMSw3IEBACiAiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKICJwIHwgPHR5cD4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxzw7ZrdsOkZz5dIDxvYmpla3Q+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTE0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTIwCiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKQEAgLTU1MDAsMzAyICs1NzM5LDMwMiBAQAogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NwogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPHR5cD4ga2FuIHZhcmEgZW4gYXY6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAidmlzYSBvYmpla3R0eXAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTkKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICJ2aXNhIG9iamVrdHN0b3JsZWsiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjEKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgImF2c2x1dGEgbWVkIG5vbGwgbsOkciBkZXQgaW50ZSB1cHBzdMOldHQgbsOlZ290IGZlbCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJ2aXNhIG9iamVrdGV0cyBpbm5laMOlbGwgc255Z2d0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY0CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImbDtnIgYmxvYi1vYmpla3QsIGvDtnIgZmlsdGVyIHDDpSBvYmpla3RldHMgaW5uZWjDpWxsIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY2CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiZsO2ciBibG9iLW9iamVrdCwga8O2ciBmaWxnZXIgcMOlIG9iamVrdGV0cyBpbm5laMOlbGwiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjEgZ2l0LXN1Ym1vZHVsZS5zaDo5MjkKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjcgZ2l0LXN1Ym1vZHVsZS5zaDo5NDQKIG1zZ2lkICJibG9iIgogbXNnc3RyICJibG9iIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY4CiBtc2dpZCAidXNlIGEgc3BlY2lmaWMgcGF0aCBmb3IgLS10ZXh0Y29udi8tLWZpbHRlcnMiCiBtc2dzdHIgImFudsOkbmQgc3BlY2lmaWsgc8O2a3bDpGcgZsO2ciAtLXRleHRjb252Ly0tZmlsdGVycyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAibMOldGVyIC1zIG9jaCAtdCBhdHQgZnVuZ2VyYSBtZWQgdHJhc2lnYS9zw7ZuZGVyc2tyaXZuYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzEKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgImJ1ZmZyYSB1dGRhdGEgZnLDpW4gLS1iYXRjaCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAidmlzYSBpbmZvcm1hdGlvbiBvY2ggaW5uZWjDpWxsIGbDtnIgb2JqZWt0IHNvbSBsaXN0YXMgcMOlIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTcwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc2CiBtc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJ2aXNhIGluZm9ybWF0aW9uIGbDtnIgb2JqZWt0IHNvbSBsaXN0YXMgcMOlIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc5CiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAiZsO2bGogc3ltYm9saXNrYSBsw6Rua2FyIGkgdHLDpGRldCAoYW52w6RuZCBtZWQgLS1iYXRjaCBlbGxlciAtLWJhdGNoLWNoZWNrKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4MQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgInZpc2EgYWxsYSBvYmpla3QgbWVkIC0tYmF0Y2ggZWxsZXIgLS1iYXRjaC1jaGVjayIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHPDtmt2w6RnPi4uLiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTkKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICJ2aXNhIGFsbGEgYXR0cmlidXQgc29tIHNhdHRzIHDDpSBmaWxlbiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgImFudsOkbmQgLmdpdGF0dHJpYnV0ZXMgZW5kYXN0IGZyw6VuIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICJsw6RzIGZpbG5hbW4gZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI0IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiYXZzbHV0YSBpbi0gb2NoIHV0ZGF0YXBvc3RlciBtZWQgTlVMLXRlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL2djLmM6MzMyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vZ2MuYzozNTcKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgInVuZGVydHJ5Y2sgZsO2cmxvcHBzcmFwcG9ydGVyaW5nIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgInZpc2EgaW5kYXRhc8O2a3bDpGdhciBzb20gaW50ZSB0csOkZmZhcyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMAogbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgogbXNnc3RyICJpZ25vcmVyYSBpbmRleCB2aWQga29udHJvbGwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgImthbiBpbnRlIGFuZ2Ugc8O2a3bDpGdzbmFtbiBtZWQgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTcKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYxCiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IGthbiBlbmRhc3QgYW52w6RuZGFzIHRpbGxzYW1tYW5zIG1lZCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZCIKIG1zZ3N0ciAiaW5nZW4gc8O2a3bDpGcgYW5nYXZzIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjcKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCBrYW4gZW5kYXN0IGFudsOkbmRhcyBtZWQgZXR0IGVua2VsdCBzw7ZrdsOkZ3NuYW1uIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgYsOlZGUgLS1xdWlldCBvY2ggLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICItLW5vbi1tYXRjaGluZyDDpHIgZW5kYXN0IGdpbHRpZyBtZWQgLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo4CisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo5CiBtc2dpZCAiZ2l0IGNoZWNrLW1haWxtYXAgWzxvcHRpb25zPl0gPGNvbnRhY3Q+Li4uIgogbXNnc3RyICJnaXQgY2hlY2stbWFpbG1hcCBbPGZsYWdnb3I+XSA8a29udGFrdD4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjEzCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxNAogbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsw6RzIMOkdmVuIGtvbnRha3RlciBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjQKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb250YWN0OiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBrb250YWt0OiAlcyIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDcKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjQ4CiBtc2dpZCAibm8gY29udGFjdHMgc3BlY2lmaWVkIgogbXNnc3RyICJpbmdhIGtvbnRha3RlciBhbmdhdnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMjgKIG1zZ2lkICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8ZmxhZ2dvcj5dIFstLV0gWzxmaWw+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NQogbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgogbXNnc3RyICJldGFwcCBtw6VzdGUgdmFyYSBtZWxsYW4gMSBvY2ggMyBlbGxlciBcImFsbFwiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYwCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCiBtc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgImNoZWNrYSB1dCBhbGxhIGZpbGVyIGkgaW5kZXhldCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBleGlzdGluZyBmaWxlcyIKIG1zZ3N0ciAidHZpbmdhIMO2dmVyc2tyaXZuaW5nIGF2IGJlZmludGxpZ2EgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjQKIG1zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgogbXNnc3RyICJpbmdlbiB2YXJuaW5nIGbDtnIgZXhpc3RlcmFuZGUgZmlsZXIgb2NoIGZpbGVyIGVqIGkgaW5kZXhldCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NgogbXNnaWQgImRvbid0IGNoZWNrb3V0IG5ldyBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGludGUgdXQgbnlhIGZpbGVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgInVwcGRhdGVyYSBzdGF0LWluZm9ybWF0aW9uIGkgaW5kZXhmaWxlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibMOkcyBsaXN0YW4gw7Z2ZXIgc8O2a3bDpGdhciBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAic2tyaXYgaW5uZWjDpWxsIHRpbGwgdGVtcG9yw6RyYSBmaWxlciIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NCBidWlsdGluL2NvbHVtbi5jOjMwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NSBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3OAogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAic3Ryw6RuZyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgIm7DpHIgZmlsZXIgc2thcGFzLCBsw6RnZyB0aWxsIDxzdHLDpG5nPiBmw7Zyc3QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzgKIG1zZ2lkICJjb3B5IG91dCB0aGUgZmlsZXMgZnJvbSBuYW1lZCBzdGFnZSIKIG1zZ3N0ciAia29waWVyYSB1dCBmaWxlciBmcsOlbiBuYW1uZ2l2ZW4gZXRhcHAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIDxicmFuY2g+IgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxmbGFnZ29yPl0gPGdyZW4+IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNwogbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs8ZmxhZ2dvcj5dIFs8Z3Jlbj5dIC0tIDxmaWw+Li4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzUgYnVpbHRpbi9jaGVja291dC5jOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgaGFyIGludGUgdsOlciB2ZXJzaW9uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcgYnVpbHRpbi9jaGVja291dC5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICJzw7ZrdsOkZ2VuIFwiJXNcIiBoYXIgaW50ZSBkZXJhcyB2ZXJzaW9uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGlubmVow6VsbGVyIGludGUgYWxsYSBuw7ZkdsOkbmRpZ2EgdmVyc2lvbmVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgaW5uZWjDpWxsZXIgaW50ZSBuw7ZkdsOkbmRpZ2EgdmVyc2lvbmVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICJzw7ZrdsOkZyBcIiVzXCI6IGthbiBpbnRlIHNsw6UgaWhvcCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RnZ2EgdGlsbCBzYW1tYW5zbGFnbmluZ3NyZXN1bHRhdCBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1MCBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjI1NiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiXCIlc1wiIGthbiBpbnRlIGFudsOkbmRhcyB2aWQgdXBwZGF0ZXJpbmcgYXYgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICJcIiVzXCIga2FuIGludGUgYW52w6RuZGFzIG1lZCAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIkthbiBpbnRlIHVwcGRhdGVyYSBzw7ZrdsOkZ2FyIG9jaCB2w6R4bGEgdGlsbCBncmVuZW4gXCIlc1wiIHNhbXRpZGlndC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjM0MiBidWlsdGluL2NoZWNrb3V0LmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgaGFyIGludGUgc2xhZ2l0cyBpaG9wIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDk0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDk3CiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgImR1IG3DpXN0ZSBsw7ZzYSBkaXR0IGJlZmludGxpZ2EgaW5kZXggZsO2cnN0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJLYW4gaW50ZSBza2FwYSByZWZlcmVuc2xvZ2cgZsO2ciBcIiVzXCI6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjkKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCDDpHIgbnUgcMOlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjcwIGJ1aWx0aW4vY2xvbmUuYzo2NjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzMgYnVpbHRpbi9jbG9uZS5jOjY4MgogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiw4V0ZXJzdMOkbGwgZ3JlbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NworIzogYnVpbHRpbi9jaGVja291dC5jOjY4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAiUmVkYW4gcMOlIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJWw6R4bGFkZSB0aWxsIG9jaCBub2xsc3TDpGxsZGUgZ3JlbmVuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlbDpHhsYWRlIHRpbGwgZW4gbnkgZ3JlbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY4NQorIzogYnVpbHRpbi9jaGVja291dC5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJWw6R4bGFkZSB0aWxsIGdyZW5lbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczNgorIzogYnVpbHRpbi9jaGVja291dC5jOjczOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIgLi4uIG9jaCAlZCB0aWxsLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNTgxOCw3ICs2MDU3LDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTU4NDUsMTY1ICs2MDg0LDE2MSBAQAogIiBnaXQgYnJhbmNoIDxueXR0X2dyZW5uYW1uPiAlc1xuIgogIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODAwCiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKIG1zZ3N0ciAiaW50ZXJudCBmZWwgdmlkIGdlbm9tZ8OlbmcgYXYgcmV2aXNpb25lciAocmV2aXNpb24gd2FsaykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDQKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiVGlkaWdhcmUgcG9zaXRpb24gZsO2ciBIRUFEIHZhciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgyOCBidWlsdGluL2NoZWNrb3V0LmM6MTA2NworIzogYnVpbHRpbi9jaGVja291dC5jOjgzMiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MAogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIkR1IMOkciBww6UgZW4gZ3JlbiBzb20gw6RubnUgaW50ZSDDpHIgZsO2ZGQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgImVuZGFzdCBlbiByZWZlcmVucyBmw7ZydsOkbnRhZGVzLCAlZCBnYXZzLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTMgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTYgYnVpbHRpbi93b3JrdHJlZS5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgImZlbGFrdGlnIHJlZmVyZW5zOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAicmVmZXJlbnNlbiDDpHIgaW50ZSBldHQgdHLDpGQ6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODQKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAic8O2a3bDpGdhciBrYW4gaW50ZSBhbnbDpG5kYXMgdmlkIGJ5dGUgYXYgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODQgYnVpbHRpbi9jaGVja291dC5jOjEwODgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIlwiJXNcIiBrYW4gaW50ZSBhbnbDpG5kYXMgdmlkIGJ5dGUgYXYgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTUgYnVpbHRpbi9jaGVja291dC5jOjExMDAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NSBidWlsdGluL2NoZWNrb3V0LmM6MTA5OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIlwiJXNcIiBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJLYW4gaW50ZSB2w6R4bGEgZ3JlbiB0aWxsIGlja2UtaW5jaGVja25pbmdlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vY2xvbmUuYzo5MwotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyNAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQgYnVpbHRpbi9jaGVja291dC5jOjExNDYgYnVpbHRpbi9jbG9uZS5jOjExMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjYgYnVpbHRpbi9yZW1vdGUuYzoxNjggYnVpbHRpbi93b3JrdHJlZS5jOjMyOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzMAogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAiZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgInNrYXBhIG9jaCBjaGVja2EgdXQgZW4gbnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAic2thcGEvbm9sbHN0w6RsbCBvY2ggY2hlY2thIHV0IGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OAogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInNrYXBhIHJlZmxvZ2cgZsO2ciBueSBncmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OSBidWlsdGluL3dvcmt0cmVlLmM6MzMyCiBtc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJrb3BwbGEgZnLDpW4gSEVBRCB2aWQgbmFtbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAic8OkdHQgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uIGbDtnIgbnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAibmV3LWJyYW5jaCIKIG1zZ3N0ciAibnktZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJueSBncmVuIHV0YW4gZsO2csOkbGRlciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJjaGVja2EgdXQgdsOlciB2ZXJzaW9uIGbDtnIgZWogc2FtbWFuc2xhZ25hIGZpbGVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIHV0IGRlcmFzIHZlcnNpb24gZsO2ciBlaiBzYW1tYW5zbGFnbmEgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NwogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJ0dmluZ2EgdXRjaGVja25pbmcgKGthc3RhIGJvcnQgbG9rYWxhIMOkbmRyaW5nYXIpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAidXRmw7ZyIGVuIDMtdsOkZ3NzYW1tYW5zbGFnbmluZyBmw7ZyIGRlbiBueWEgZ3JlbmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NiBidWlsdGluL21lcmdlLmM6MjM1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL21lcmdlLmM6MjM1CiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICJ1cHBkYXRlcmEgaWdub3JlcmFkZSBmaWxlciAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NyBidWlsdGluL2xvZy5jOjE0NjYgcGFyc2Utb3B0aW9ucy5oOjI1MQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAgYnVpbHRpbi9sb2cuYzoxNDgzIHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAic3RpbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYxCiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAia29uZmxpa3RzdGlsIChtZXJnZSBlbGxlciBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAiYmVncsOkbnNhIGludGUgc8O2a3bDpGdhciB0aWxsIGVuZGFzdCBnbGVzYSBwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NgogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIgogbXNnc3RyICJmw7ZydXRzcMOlIFwiZ2l0IGNoZWNrb3V0IDxncmVuLXNha25hcz5cIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY4CiBtc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgogbXNnc3RyICIiCiAia29udHJvbGxlcmEgaW50ZSBvbSBlbiBhbm5hbiBhcmJldHNrYXRhbG9nIGjDpWxsZXIgZGVuIGFuZ2l2bmEgcmVmZXJlbnNlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzOQotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyIGJ1aWx0aW4vY2xvbmUuYzo4MCBidWlsdGluL2ZldGNoLmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjMyIGJ1aWx0aW4vcHVsbC5jOjEyMCBidWlsdGluL3B1c2guYzo1NDQKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJ0dmluZ2EgZsO2cmxvcHBzcmFwcG9ydGVyaW5nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDMKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBvY2ggLS1vcnBoYW4gw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMjAKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgYmVow7Z2ZXIgZXR0IG5hbW4gcMOlIGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyNQogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiR3Jlbm5hbW4gc2FrbmFzOyBmw7Zyc8O2ayBtZWQgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MQogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJmZWxha3RpZyBzw7ZrdsOkZ3NhbmdpdmVsc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2OAogIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCi0iRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCi1tc2dzdHIgIiIKLSJLYW4gaW50ZSB1cHBkYXRlcmEgc8O2a3bDpGdhciBvY2ggdsOkeGxhIHRpbGwgZ3JlbmVuIFwiJXNcIiBzYW10aWRpZ3QuXG4iCi0iVmlsbGUgZHUgY2hlY2thIHV0IFwiJXNcIiBzb20gaW50ZSBrYW4gbMO2c2FzIHNvbSBlbiB1dGNoZWNrbmluZz8iCittc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQgYW5kIGEgYnJhbmNoICclcycgY2Fubm90IGJlIGNyZWF0ZWQgZnJvbSBpdCIKK21zZ3N0ciAi4oCdJXPigJ0gw6RyIGludGUgZW4gaW5jaGVja25pbmcgb2NoIGdyZW5lbiDigJ0lc+KAnSBrYW4gaW50ZSBza2FwYXMgZnLDpW4gZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIHRhciBpbnRlIGVuIHPDtmt2w6RnIHNvbSBhcmd1bWVudCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI3NgogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTYwMTEsMzkgKzYyNDYsMzkgQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBvY2ggLS1tZXJnZSDDpHIgaW5rb21wYXRpYmxhIG7DpHJcbiIKICJkdSBjaGVja2FyIHV0IGZyw6VuIGluZGV4ZXQuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyNgogbXNnaWQgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8bcO2bnN0ZXI+XSBbLXggfCAtWF0gWy0tXSAiCiAiPHPDtmt2w6RnYXI+Li4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgogbXNnc3RyICJUYXIgYm9ydCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAiU2t1bGxlIHRhIGJvcnQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJIb3BwYXIgw7Z2ZXIgYXJraXZldCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiU2t1bGxlIGhvcHBhIMO2dmVyIGFya2l2ZXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjMKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtNjA1Niw3ICs2MjkxLDcgQEAKICJmb28gICAgICAgIC0gbWFya2VyYSBwb3N0IGJhc2VyYWQgcMOlIHVuaWt0IHByZWZpeFxuIgogIiAgICAgICAgICAgLSAodG9tdCkgbWFya2VyYSBpbmdlbnRpbmdcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMgorIzogYnVpbHRpbi9jbGVhbi5jOjMwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC02MDc3LDM4ICs2MzEyLDM4IEBACiAiKiAgICAgICAgICAtIHbDpGxqIGFsbGEgcG9zdGVyXG4iCiAiICAgICAgICAgICAtICh0b210KSBhdnNsdXRhIG1hcmtlcmluZ1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTExIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk4Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwMworIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU0NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTIKICMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpP1xuIgogbXNnc3RyICJWYWTDpSAoJXMpP1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjUzCisjOiBidWlsdGluL2NsZWFuLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAiQW5nZSBpZ25vcmVyaW5nc23Dtm5zdGVyPj4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2OTAKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCiBtc2dzdHIgIlZBUk5JTkc6IEhpdHRhciBpbnRlIHBvc3RlciBzb20gbW90c3ZhcmFyOiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxMQorIzogYnVpbHRpbi9jbGVhbi5jOjcxOAogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIlbDpGxqIHBvc3RlciBhdHQgdGEgYm9ydCIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzUyCisjOiBidWlsdGluL2NsZWFuLmM6NzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgotbXNnc3RyICJUYSBib3J0ICVzIFtZPWphIC8gTj1uZWpdPyIKK21zZ3N0ciAiVGEgYm9ydCAlcyBbWT1qYSAvIE49bmVqXT8gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzc3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2OQorIzogYnVpbHRpbi9jbGVhbi5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnllLlxuIgogbXNnc3RyICJIZWogZMOlLlxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg1CisjOiBidWlsdGluL2NsZWFuLmM6NzkyCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTYxMjYsNjIgKzYzNjEsNjMgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0gZGVubmEgc2vDpHJtXG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIGhqw6RscCBmw7ZyIGtvbW1hbmRvdmFsIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODEyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NQorIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIqKiogS29tbWFuZG9uICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg5CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIlZhZCBudSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgyMQorIzogYnVpbHRpbi9jbGVhbi5jOjgyOAogbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgogbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCiBtc2dzdHJbMF0gIlNrdWxsZSB0YSBib3J0IGbDtmxqYW5kZSBwb3N0OiIKIG1zZ3N0clsxXSAiU2t1bGxlIHRhIGJvcnQgZsO2bGphbmRlIHBvc3RlcjoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MzgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDQKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiSW5nYSBmbGVyIGZpbGVyIGF0dCBzdMOkZGEsIGF2c2x1dGFyLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg2OQorIzogYnVpbHRpbi9jbGVhbi5jOjkwNgogbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgogbXNnc3RyICJza3JpdiBpbnRlIHV0IG5hbW4gcMOlIGJvcnR0YWduYSBmaWxlciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3MQorIzogYnVpbHRpbi9jbGVhbi5jOjkwOAogbXNnaWQgImZvcmNlIgogbXNnc3RyICJ0dmluZ2EiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKIG1zZ2lkICJpbnRlcmFjdGl2ZSBjbGVhbmluZyIKIG1zZ3N0ciAic3TDpGRhIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc0CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJ0YSBib3J0IGhlbGEga2F0YWxvZ2VyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6MTA1NgotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOCBidWlsdGluL25hbWUtcmV2LmM6MzEzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjQ1MiBidWlsdGluL2Rlc2NyaWJlLmM6NDU0CisjOiBidWlsdGluL2dyZXAuYzoxMDgyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDYgYnVpbHRpbi9uYW1lLXJldi5jOjM5NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OSBidWlsdGluL3Nob3ctcmVmLmM6MTc2CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAibcO2bnN0ZXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTMKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCA8bcO2bnN0ZXI+IHRpbGwgaWdub3JlcmluZ3NyZWdsZXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICJ0YSDDpHZlbiBib3J0IGlnbm9yZXJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJ0YSBlbmRhc3QgYm9ydCBpZ25vcmVyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODk3CisjOiBidWlsdGluL2NsZWFuLmM6OTM0CiBtc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIteCBvY2ggLVgga2FuIGludGUgYW52w6RuZGFzIHNhbXRpZGlndCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwMQorIzogYnVpbHRpbi9jbGVhbi5jOjkzOAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKICJjbGVhbiIKQEAgLTYxODksNyArNjQyNSw3IEBACiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNhdHQgdGlsbCB0cnVlLCBtZW4gdmFya2VuIC1pLCAtbiBlbGxlciAtZiBhbmdhdnM7IHbDpGdyYXIgIgogInN0w6RkYSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtNjE5NywxMzQgKzY0MzMsMTQyIEBACiAiY2xlYW4ucmVxdWlyZUZvcmNlIGhhciBzdGFuZGFyZHbDpHJkZXQgdHJ1ZSBvY2ggdmFya2VuIC1pLCAtbiBlbGxlciAtZiAiCiAiYW5nYXZzOyB2w6RncmFyIHN0w6RkYSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3CisjOiBidWlsdGluL2Nsb25lLmM6MzgKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFs8ZmxhZ2dvcj5dIFstLV0gPGFya2l2PiBbPGthdD5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MgogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICJza2FwYSBpbnRlIG7DpWdvbiB1dGNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY2IGJ1aWx0aW4vY2xvbmUuYzo2OCBidWlsdGluL2luaXQtZGIuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9pbml0LWRiLmM6NDc5CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJza2FwYSBldHQgbmFrZXQgKFwiYmFyZVwiKSBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcwCisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAic2thcGEgZXR0IHNwZWdlbGFya2l2IChpbXBsaWNlcmFyIFwiYmFyZVwiKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyCisjOiBidWlsdGluL2Nsb25lLmM6ODkKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZsO2ciBhdHQga2xvbmEgZnLDpW4gZXR0IGxva2FsdCBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAic2thcGEgaW50ZSBsb2thbGEgaMOlcmRhIGzDpG5rYXIsIGtvcGllcmEgYWxsdGlkIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJza2FwYSBzb20gZXR0IGRlbGF0IGFya2l2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9jbG9uZS5jOjk5Cittc2dpZCAicGF0aHNwZWMiCittc2dzdHIgInPDtmt2w6Rnc2FuZ2l2ZWxzZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vY2xvbmUuYzo5OQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImluaXRpZXJhIHVuZGVybW9kdWxlciBpIGtsb25lbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgyCisjOiBidWlsdGluL2Nsb25lLmM6MTAyCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgY2xvbmVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJhbnRhbCB1bmRlcm1vZHVsZXIgc29tIGtsb25hcyBwYXJhbGxlbGx0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6MTAzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAibWFsbGthdGFsb2ciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQgYnVpbHRpbi9pbml0LWRiLmM6NDc3CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAia2F0YWxvZyBhdHQgYW52w6RuZGEgbWFsbGFyIGZyw6VuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYgYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgzCiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgInJlZmVyZW5zYXJraXYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MAorIzogYnVpbHRpbi9jbG9uZS5jOjExMAogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgImFudsOkbmQgLS1yZWZlcmVuY2UgZW5kYXN0IHVuZGVyIGtsb25pbmdlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIm5hbW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MgorIzogYnVpbHRpbi9jbG9uZS5jOjExMgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiYW52w6RuZCA8bmFtbj4gaXN0w6RsbGV0IGbDtnIgXCJvcmlnaW5cIiBmw7ZyIGF0dCBzcMOlcmEgdXBwc3Ryw7ZtcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0CisjOiBidWlsdGluL2Nsb25lLmM6MTE0CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiY2hlY2thIHV0IDxncmVuPiBpc3TDpGxsZXQgZsO2ciBmasOkcnJlbnMgSEVBRCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2CisjOiBidWlsdGluL2Nsb25lLmM6MTE2CiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAic8O2a3bDpGcgdGlsbCBnaXQtdXBsb2FkLXBhY2sgcMOlIGZqw6RycmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL2dyZXAuYzo5OTkKLSM6IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vZ3JlcC5jOjEwMjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwNQogbXNnaWQgImRlcHRoIgogbXNnc3RyICJkanVwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTgKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgInNrYXBhIGVuIGdydW5kIGtsb24gcMOlIGRldHRhIGRqdXAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OSBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNgorIzogYnVpbHRpbi9jbG9uZS5jOjExOSBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzMgogIzogcGFyc2Utb3B0aW9ucy5oOjE0MgogbXNnaWQgInRpbWUiCiBtc2dzdHIgInRpZCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjEyMAogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgc2luY2UgYSBzcGVjaWZpYyB0aW1lIgogbXNnc3RyICJza2FwYSBlbiBncnVuZCBrbG9uIGZyw6VuIGVuIGFuZ2l2ZW4gdGlkcHVua3QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9mZXRjaC5jOjEyNAorIzogYnVpbHRpbi9jbG9uZS5jOjEyMSBidWlsdGluL2ZldGNoLmM6MTE5CiBtc2dpZCAicmV2aXNpb24iCiBtc2dzdHIgInJldmlzaW9uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIgYnVpbHRpbi9mZXRjaC5jOjEyMAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgImbDtnJkanVwYSBoaXN0b3JpayBmw7ZyIGdydW5kIGtsb24sIGV4a2x1ZGVyYSByZXZpc2lvbmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0CisjOiBidWlsdGluL2Nsb25lLmM6MTI0CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJrbG9uYSBlbmRhc3QgZW4gZ3JlbiwgSEVBRCBlbGxlciAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNgorbXNnaWQgImRvbid0IGNsb25lIGFueSB0YWdzLCBhbmQgbWFrZSBsYXRlciBmZXRjaGVzIG5vdCB0byBmb2xsb3cgdGhlbSIKK21zZ3N0ciAia2xvbmEgaW5nYSB0YWdnYXIgb2NoIGfDtnIgYXR0IHNlbmFyZSBow6RtdG5pbmdhciBpbnRlIGbDtmxqZXIgZGVtIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAia2xvbmFkZSB1bmRlcm1vZHVsZXIga29tbWVyIHZhcmEgZ3J1bmRhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAorIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgImdpdGthdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL2luaXQtZGIuYzo0ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzAgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic2VwYXJlcmEgZ2l0a2F0YWxvZ2VuIGZyw6VuIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOQorIzogYnVpbHRpbi9jbG9uZS5jOjEzMQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAibnlja2VsPXbDpHJkZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAic3TDpGxsIGluIGtvbmZpZ3VyYXRpb24gaSBkZXQgbnlhIGFya2l2ZXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9mZXRjaC5jOjE0MCBidWlsdGluL3B1c2guYzo1NTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzMgYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1c2guYzo1NTUKIG1zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAiYW52w6RuZCBlbmRhc3QgSVB2NC1hZHJlc3NlciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vcHVzaC5jOjU1MgorIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVzaC5jOjU1NwogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJhbnbDpG5kIGVuZGFzdCBJUHY2LWFkcmVzc2VyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjUwCisjOiBidWlsdGluL2Nsb25lLmM6MjcyCiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTYzMzIsNDIgKzY1NzYsNDIgQEAKICJLdW5kZSBpbnRlIGdpc3NhIGthdGFsb2duYW1uLlxuIgogIkFuZ2UgZW4ga2F0YWxvZyBww6Uga29tbWFuZG9yYWRlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwMworIzogYnVpbHRpbi9jbG9uZS5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiaW5mbzogS2FuIGludGUgc2thcGEgYWx0ZXJuYXRpdiBmw7ZyIFwiJXNcIjogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3NQorIzogYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgw7ZwcG5hIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZmlubnMgb2NoIMOkciBpbmdlbiBrYXRhbG9nIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk3CisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBzdGF0dXMgcMOlICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBsw6Rua2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMworIzogYnVpbHRpbi9jbG9uZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBrb3BpZXJhIGZpbGVuIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ4CisjOiBidWlsdGluL2Nsb25lLmM6NDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImtsYXJ0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDYwCisjOiBidWlsdGluL2Nsb25lLmM6NDgyCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTYzNzcsMTgzICs2NjIxLDE4MiBAQAogIkR1IGthbiBpbnNwZWt0ZXJhIGRldCBzb20gY2hlY2thZGVzIHV0IG1lZCBcImdpdCBzdGF0dXNcIlxuIgogIm9jaCBmw7Zyc8O2a2EgY2hlY2thIHV0IGlnZW4gbWVkIFwiZ2l0IGNoZWNrb3V0IC1mIEhFQURcIlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTM3CisjOiBidWlsdGluL2Nsb25lLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGZqw6RycmdyZW5lbiAlcyBmw7ZyIGF0dCBrbG9uYS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NTQKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAiZmrDpHJyZW4gc8OkbmRlIGludGUgYWxsYSBuw7ZkdsOkbmRpZ2Egb2JqZWt0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQ4CisjOiBidWlsdGluL2Nsb25lLmM6NjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgImthbiBpbnRlIHVwcGRhdGVyYSAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5NworIzogYnVpbHRpbi9jbG9uZS5jOjcxOQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogIkhFQUQgaG9zIGZqw6RycmVuIHBla2FyIHDDpSBlbiBvYmVmaW50bGlnIHJlZmVyZW5zLCBrYW4gaW50ZSBjaGVja2EgdXQuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTAKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICJrdW5kZSBpbnRlIGNoZWNrYSB1dCBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgcGFyYW1ldHJhciB0aWxsIGtvbmZpZ3VyYXRpb25zZmlsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTUKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICJrYW4gaW50ZSBwYWNrYSBvbSBmw7ZyIGF0dCBzdMOkZGEgdXBwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMzCisjOiBidWlsdGluL2Nsb25lLmM6ODU3CiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgdGVtcG9yw6RyIFwiYWx0ZXJuYXRlc1wiLWZpbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2NiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTAgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ1CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAiRsO2ciBtw6VuZ2EgYXJndW1lbnQuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcwCisjOiBidWlsdGluL2Nsb25lLmM6ODk0CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJEdSBtw6VzdGUgYW5nZSBldHQgYXJraXYgYXR0IGtsb25hLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4MworIzogYnVpbHRpbi9jbG9uZS5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgImZsYWdnb3JuYSAtLWJhcmUgb2NoIC0tb3JpZ2luICVzIMOkciBpbmtvbXBhdGlibGEuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODg2CisjOiBidWlsdGluL2Nsb25lLmM6OTEwCiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgImZsYWdnb3JuYSAtLWJhcmUgb2NoIC0tc2VwYXJhdGUtZ2l0LWRpciDDpHIgaW5rb21wYXRpYmxhLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5OQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImFya2l2ZXQgXCIlc1wiIGZpbm5zIGludGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjkgYnVpbHRpbi9mZXRjaC5jOjEzMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICJkanVwZXQgJXMgw6RyIGludGUgZXR0IHBvc2l0aXZ0IHRhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxNQorIzogYnVpbHRpbi9jbG9uZS5jOjkzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICJkZXN0aW5hdGlvbnNzw7ZrdsOkZ2VuIFwiJXNcIiBmaW5ucyByZWRhbiBvY2ggw6RyIGludGUgZW4gdG9tIGthdGFsb2cuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI1CisjOiBidWlsdGluL2Nsb25lLmM6OTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiYXJiZXRzdHLDpGRldCBcIiVzXCIgZmlubnMgcmVkYW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQwIGJ1aWx0aW4vY2xvbmUuYzo5NTEgYnVpbHRpbi9kaWZmdG9vbC5jOjI1MgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1OSBidWlsdGluL3dvcmt0cmVlLmM6MjIyCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjQ5CisjOiBidWlsdGluL2Nsb25lLmM6OTY0IGJ1aWx0aW4vY2xvbmUuYzo5NzUgYnVpbHRpbi9kaWZmdG9vbC5jOjI2MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIyMiBidWlsdGluL3dvcmt0cmVlLmM6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIGlubGVkYW5kZSBrYXRhbG9nZXIgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgYXJiZXRza2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiS2xvbmFyIHRpbGwgZXR0IG5ha2V0IGFya2l2IFwiJXNcIi4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIktsb25hciB0aWxsIFwiJXNcIi4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYzCisjOiBidWlsdGluL2Nsb25lLmM6MTAwNQogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgogbXNnc3RyICIiCiAiY2xvbmUgLS1yZWN1cnNpdmUgw6RyIGludGUga29tcGF0aWJlbCBtZWQgLS1yZWZlcmVuY2Ugb2NoIC0tcmVmZXJlbmNlLWlmLWFibGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CisjOiBidWlsdGluL2Nsb25lLmM6MTA2NwogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgotbXNnc3RyICItLWRlcHRoIGlnbm9yZXJhcyBpIGxva2FsYSBrbG9uaW5nYXI7IGFudsOkbmQgZmlsZTovLyBpc3TDpGxsZXQiCittc2dzdHIgIi0tZGVwdGggaWdub3JlcmFzIGkgbG9rYWxhIGtsb25pbmdhcjsgYW52w6RuZCBmaWxlOi8vIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIxCisjOiBidWlsdGluL2Nsb25lLmM6MTA2OQogbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCi1tc2dzdHIgIi0tc2hhbGxvdy1zaW5jZSBpZ25vcmVyYXMgaSBsb2thbGEga2xvbmluZ2FyOyBhbnbDpG5kIGZpbGU6Ly8gaXN0w6RsbGV0IgorbXNnc3RyICItLXNoYWxsb3ctc2luY2UgaWdub3JlcmFzIGkgbG9rYWxhIGtsb25pbmdhcjsgYW52w6RuZCBmaWxlOi8vIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCisjOiBidWlsdGluL2Nsb25lLmM6MTA3MQogbXNnaWQgIi0tc2hhbGxvdy1leGNsdWRlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgotIi0tc2hhbGxvdy1leGNsdWRlIGlnbm9yZXJhcyBpIGxva2FsYSBrbG9uaW5nYXI7IGFudsOkbmQgZmlsZTovLyBpc3TDpGxsZXQiCisiLS1zaGFsbG93LWV4Y2x1ZGUgaWdub3JlcmFzIGkgbG9rYWxhIGtsb25pbmdhcjsgYW52w6RuZCBmaWxlOi8vIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDI2CisjOiBidWlsdGluL2Nsb25lLmM6MTA3NAogbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCiBtc2dzdHIgImvDpGxsYXJraXZldCDDpHIgZ3J1bnQsIGlnbm9yZXJhciAtLWxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzkKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwgaWdub3JlcmFzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgIlZldCBpbnRlIGh1ciBtYW4ga2xvbmFyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5MCBidWlsdGluL2Nsb25lLmM6MTA5OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMzggYnVpbHRpbi9jbG9uZS5jOjExNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIkZqw6RycmdyZW5lbiAlcyBoaXR0YWRlcyBpbnRlIGkgdXBwc3Ryw7Ztc2Fya2l2ZXQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTE0OQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIkR1IHZlcmthciBoYSBrbG9uYXQgZXR0IHRvbXQgYXJraXYuIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjkKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MTAKIG1zZ2lkICJnaXQgY29sdW1uIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29sdW1uIFs8ZmxhZ2dvcj5dIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI2CisjOiBidWlsdGluL2NvbHVtbi5jOjI3CiBtc2dpZCAibG9va3VwIGNvbmZpZyB2YXJzIgogbXNnc3RyICJzbMOlIHVwcCBrb25maWd1cmF0aW9uc3ZhcmlhYmxlciIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL2NvbHVtbi5jOjI4CisjOiBidWlsdGluL2NvbHVtbi5jOjI4IGJ1aWx0aW4vY29sdW1uLmM6MjkKIG1zZ2lkICJsYXlvdXQgdG8gdXNlIgogbXNnc3RyICJ1dHNlZW5kZSBhdHQgYW52w6RuZGEiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MjkKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzAKIG1zZ2lkICJNYXhpbXVtIHdpZHRoIgogbXNnc3RyICJNYXhpbWFsIGJyZWRkIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMwCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKIG1zZ3N0ciAiU3BhbHRmeWxsbmFkIGkgdsOkbnN0ZXJrYW50ZW4iCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzEKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIG9uIHJpZ2h0IGJvcmRlciIKIG1zZ3N0ciAiU3BhbHRmeWxsbmFkIGkgaMO2Z2Vya2FudGVuIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMyCisjOiBidWlsdGluL2NvbHVtbi5jOjMzCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMiCiBtc2dzdHIgIlNwYWx0ZnlsbG5hZCBtZWxsYW4gc3BhbHRlciIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzo1MQorIzogYnVpbHRpbi9jb2x1bW4uYzo1MgogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiLS1jb21tYW5kIG3DpXN0ZSB2YXJhIGbDtnJzdGEgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzkKIG1zZ2lkICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGNvbW1pdCBbPGZsYWdnb3I+XSBbLS1dIDxzw7ZrdsOkZz4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDQKIG1zZ2lkICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbPGZsYWdnb3I+XSBbLS1dIDxzw7ZrdsOkZz4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDkKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNjU4MCw3ICs2ODIzLDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjIKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNjYwNSw3ICs2ODQ4LDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKQEAgLTY2MTUsNyArNjg1OCw3IEBACiAiYmxpciBkZW4gdG9tLiBEdSBrYW4ga8O2cmEga29tbWFuZG90IHDDpSBueXR0IG1lZCAtLWFsbG93LWVtcHR5LCBlbGxlclxuIgogInPDpSBrYW4gZHUgdGEgYm9ydCBpbmNoZWNrbmluZ2VuIGhlbHQgbWVkIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzkKIG1zZ2lkICIiCiAiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCiAiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgpAQCAtNjYyOSwxMSArNjg3MiwxMSBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NQorIzogYnVpbHRpbi9jb21taXQuYzo4NgogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICJBbnbDpG5kIGFubmFycyBcImdpdCByZXNldFwiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODkKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgogIlxuIgpAQCAtNjY0OSw2NiArNjg5Miw2MSBAQAogIlwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBrb21tZXIgZMOkcmVmdGVyIGF0dCDDpXRlcnVwcHRhXG4iCiAiY2hlcnJ5LXBpY2sgZsO2ciDDpXRlcnN0w6VlbmRlIGluY2hlY2tuaW5nYXIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzE4CisjOiBidWlsdGluL2NvbW1pdC5jOjMxOQogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHBhY2thIHVwcCBIRUFEOnMgdHLDpGRvYmpla3QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjM2MAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIHRlbXBvcsOkciBpbmRleGZpbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY2CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiaW50ZXJha3RpdiB0aWxsw6RnZ25pbmcgbWlzc2x5Y2thZGVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3OAorIzogYnVpbHRpbi9jb21taXQuYzozNzkKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhIHRlbXBvcsOkcnQgaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzgwCisjOiBidWlsdGluL2NvbW1pdC5jOjM4MQogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICJNaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGh1dnVkLWNhY2hldHLDpGRldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MDQgYnVpbHRpbi9jb21taXQuYzo0MjcgYnVpbHRpbi9jb21taXQuYzo0NzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDA1IGJ1aWx0aW4vY29tbWl0LmM6NDI4IGJ1aWx0aW4vY29tbWl0LmM6NDc3CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBmaWxlbiBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1OQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBlbiBkZWx2aXMgaW5jaGVja25pbmcgdW5kZXIgZW4gc2FtbWFuc2xhZ25pbmcuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzo0NjEKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgZW4gZGVsdmlzIGluY2hlY2tuaW5nIHVuZGVyIGVuIGNoZXJyeS1waWNrLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDcwCiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBpbmRleGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4OAorIzogYnVpbHRpbi9jb21taXQuYzo0ODkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHRlbXBvcsOkciBpbmRleGZpbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGxhY2tzIGF1dGhvciBoZWFkZXIiCiBtc2dzdHIgImluY2hlY2tuaW5nZW4gXCIlc1wiIHNha25hciBmw7ZyZmF0dGFyaHV2dWQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTg0CisjOiBidWlsdGluL2NvbW1pdC5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgogbXNnc3RyICJpbmNoZWNrbmluZ2VuIFwiJXNcIiBoYXIgZmVsZm9ybWF0ZXJhdCBmw7ZyZmF0dGFyaHV2dWQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjAzCisjOiBidWlsdGluL2NvbW1pdC5jOjYwNAogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgImZlbGZvcm1hZCBcIi0tYXV0aG9yXCItZmxhZ2dhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxMQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKLW1zZ3N0ciAiZmVsYWt0aWd0IGRhdHVtZm9ybWF0OiAlcyIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU2CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCkBAIC02NzE2LDM4ICs2OTU0LDM4IEBACiAia3VuZGUgaW50ZSB2w6RsamEgZXR0IGtvbW1lbnRhcnN0ZWNrZW4gc29tIGludGUgYW52w6RudHNcbiIKICJpIGRldCBiZWZpbnRsaWdhIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5MiBidWlsdGluL2NvbW1pdC5jOjcyNSBidWlsdGluL2NvbW1pdC5jOjEwOTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjkzIGJ1aWx0aW4vY29tbWl0LmM6NzI2IGJ1aWx0aW4vY29tbWl0LmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBpbmNoZWNrbmluZ2VuICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNCBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNSBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIihsw6RzZXIgbG9nZ21lZGRlbGFuZGUgZnLDpW4gc3RhbmRhcmQgaW4pXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA2CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNwogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGxvZ2cgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzEwCisjOiBidWlsdGluL2NvbW1pdC5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGxvZ2dmaWxlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM3IGJ1aWx0aW4vY29tbWl0LmM6NzQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjczOCBidWlsdGluL2NvbW1pdC5jOjc0NgogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQzCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIE1FUkdFX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk3CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgaW5jaGVja25pbmdzbWFsbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY3NjIsNyArNzAwMCw3IEBACiAiXHQlc1xuIgogIm9jaCBmw7Zyc8O2a2VyIGlnZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE5CisjOiBidWlsdGluL2NvbW1pdC5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02Nzc3LDcgKzcwMTUsNyBAQAogIlx0JXNcbiIKICJvY2ggZsO2cnPDtmtlciBpZ2VuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzMgorIzogYnVpbHRpbi9jb21taXQuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTY3ODcsNyArNzAyNSw3IEBACiAibWVkIFwiJWNcIiBrb21tZXIgaWdub3JlcmFzLCBvY2ggZXR0IHRvbXQgbWVkZGVsYW5kZSBhdmJyeXRlciAiCiAiaW5jaGVja25pbmdlbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC02Nzk4LDE0NiArNzAzNiwxNDYgQEAKICJtZWQgXCIlY1wiIGtvbW1lciBiZWjDpWxsYXM7IGR1IGthbiBzasOkbHYgdGEgYm9ydCBkZW0gb20gZHUgdmlsbC5cbiIKICJFdHQgdG9tdCBtZWRkZWxhbmRlIGF2YnJ5dGVyIGluY2hlY2tuaW5nZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODU5CisjOiBidWlsdGluL2NvbW1pdC5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVzRsO2cmZhdHRhcmU6ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2NworIzogYnVpbHRpbi9jb21taXQuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNEYXRlOiAgICAgICVzIgogbXNnc3RyICIlc0RhdHVtOiAgICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg3NAorIzogYnVpbHRpbi9jb21taXQuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc0luY2hlY2thcmU6ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg5MgorIzogYnVpbHRpbi9jb21taXQuYzo4ODkKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiS2FuIGludGUgbMOkc2EgaW5kZXhldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTUxCiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkZlbCB2aWQgYnlnZ2FuZGUgYXYgdHLDpGQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY4IGJ1aWx0aW4vdGFnLmM6MjgwCisjOiBidWlsdGluL2NvbW1pdC5jOjk2NSBidWlsdGluL3RhZy5jOjI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIkFuZ2UgbWVkZGVsYW5kZXQgZW4gYXYgZmxhZ2dvcm5hIC1tIGVsbGVyIC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIiIKICItLWF1dGhvciAnJXMnIMOkciBpbnRlICdOYW1uIDxlcG9zdD4nIG9jaCBtYXRjaGFyIGluZ2VuIGJlZmludGxpZyBmw7ZyZmF0dGFyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDg2IGJ1aWx0aW4vY29tbWl0LmM6MTMyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMDgzIGJ1aWx0aW4vY29tbWl0LmM6MTMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIk9naWx0aWd0IGzDpGdlIGbDtnIgb3Nww6VyYWRlIGZpbGVyOiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTIxCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcgb2NoIC16IMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTUxCiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiS2FuIGludGUgYW52w6RuZGEgYsOlZGUgLS1yZXNldC1hdXRob3Igb2NoIC0tYXV0aG9yIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MAogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICJEdSBoYXIgaW5nZXQgYXR0IHV0w7ZrYS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiRHUgw6RyIGkgbWl0dGVuIGF2IGVuIHNhbW1hbnNsYWduaW5nIC0tIGthbiBpbnRlIHV0w7ZrYS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMTY1CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiRHUgw6RyIGkgbWl0dGVuIGF2IGVuIGNoZXJyeS1waWNrIC0tIGthbiBpbnRlIHV0w7ZrYS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiRmxhZ2dvcm5hIC0tc3F1YXNoIG9jaCAtLWZpeHVwIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc4CiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIkVuZGFzdCBlbiBhdiAtYy8tQy8tRi8tLWZpeHVwIGthbiBhbnbDpG5kYXMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MAogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAiRmxhZ2dhbiAtbSBrYW4gaW50ZSBrb21iaW5lcmFzIG1lZCAtYy8tQy8tRi8tLWZpeHVwLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjExODgKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICItLXJlc2V0LWF1dGhvciBrYW4gZW5kYXN0IGFudsOkbmRhcyBtZWQgLUMsIC1jIGVsbGVyIC0tYW1lbmQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNQogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogIkVuZGFzdCBlbiBhdiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBrYW4gYW52w6RuZGFzLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjEwCisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDcKIG1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIHPDtmt2w6RnYXIgdGlsbHNhbW1hbnMgbWVkIC0taW5jbHVkZS8tLW9ubHkuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTIKLW1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgotbXNnc3RyICJFeHBsaWNpdGEgc8O2a3bDpGdhciBhbmdhdnMgdXRhbiAtaSBlbGxlciAtbzsgYW50YXIgLS1vbmx5IHPDtmt2w6RnYXIuLi4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNCBidWlsdGluL3RhZy5jOjQ5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMjE5IGJ1aWx0aW4vdGFnLmM6NTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICJGZWxha3RpZ3Qgc3TDpGRuaW5nc2zDpGdlICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNAogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIkthbiBpbnRlIGFuZ2Ugc8O2a3bDpGdhciBtZWQgLWEuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb21taXQuYzoxNjEyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJ2aXNhIGtvbmNpcyBzdGF0dXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MSBidWlsdGluL2NvbW1pdC5jOjE2MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NCBidWlsdGluL2NvbW1pdC5jOjE2MTkKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAidmlzYSBpbmZvcm1hdGlvbiBvbSBncmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NgorbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCittc2dzdHIgInZpc2EgaW5mb3JtYXRpb24gb20gc3Rhc2giCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OAogbXNnaWQgInZlcnNpb24iCiBtc2dzdHIgInZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTYgYnVpbHRpbi9wdXNoLmM6NTI1Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0OQogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJtYXNraW5sw6RzYmFyIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2IGJ1aWx0aW4vY29tbWl0LmM6MTYxOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAidmlzYSBzdGF0dXMgaSBsw6VuZ3QgZm9ybWF0IChzdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OSBidWlsdGluL2NvbW1pdC5jOjE2MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAidGVybWluZXJhIHBvc3RlciBtZWQgTlVMIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjI0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODEKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQgYnVpbHRpbi90YWcuYzozNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBidWlsdGluL2NvbW1pdC5jOjE2MjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NiBidWlsdGluL3RhZy5jOjQxMgogbXNnaWQgIm1vZGUiCiBtc2dzdHIgImzDpGdlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTIgYnVpbHRpbi9jb21taXQuYzoxNjI0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNjI5CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICJ2aXNhIG9zcMOlcmFkZSBmaWxlciwgdmFsZnJpYSBsw6RnZW46IGFsbGEsIG5vcm1hbCwgbm8uIChTdGFuZGFyZDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInZpc2EgaWdub3JlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU2IHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MSBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAibsOkciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjIKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC02OTQ1LDIwMSArNzE4MywyMDEgQEAKICJpZ25vcmVyYSDDpG5kcmluZ2FyIGkgdW5kZXJtb2R1bGVyLCB2YWxmcml0dCBuw6RyOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjQKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJ2aXNhIG9zcMOlcmFkZSBmaWxlciBpIHNwYWx0ZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBlbiBwcmVjaXMgc2thcGFkIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBlbiBwcmVjaXMgc2thcGFkIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgImZyw6Vua29wcGxhZCBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIgKHJvdGluY2hlY2tuaW5nKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICJ1bmRlcnRyeWNrIHNhbW1hbmZhdHRuaW5nIGVmdGVyIGZyYW1nw6VuZ3NyaWsgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MworIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJ2aXNhIGRpZmYgaSBtYWxsZW4gZsO2ciBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg1CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgaW5jaGVja25pbmdzbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg2IGJ1aWx0aW4vdGFnLmM6MzY2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzo0MTAKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICJsw6RzIG1lZGRlbGFuZGUgZnLDpW4gZmlsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiZsO2cmZhdHRhcmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NworIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgIsO2dmVyc3R5ciBmw7ZyZmF0dGFyZSBmw7ZyIGluY2hlY2tuaW5nZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OCBidWlsdGluL2djLmM6MzMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9nYy5jOjM1OAogbXNnaWQgImRhdGUiCiBtc2dzdHIgImRhdHVtIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MwogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGRhdHVtIGbDtnIgaW5jaGVja25pbmdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg5IGJ1aWx0aW4vbWVyZ2UuYzoyMjIgYnVpbHRpbi9ub3Rlcy5jOjM5OAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3RhZy5jOjM2NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0IGJ1aWx0aW4vbWVyZ2UuYzoyMjIgYnVpbHRpbi9ub3Rlcy5jOjQwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3RhZy5jOjQwOAogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIm1lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CiBtc2dpZCAiY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImluY2hlY2tuaW5nc21lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MCBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi9jb21taXQuYzoxNTkyCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6ODEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzcKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NQogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLDpXRlcmFudsOkbmQgb2NoIHJlZGlnZXJhIG1lZGRlbGFuZGUgZnLDpW4gYW5naXZlbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiw6V0ZXJhbnbDpG5kIG1lZGRlbGFuZGUgZnLDpW4gYW5naXZlbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiYW52w6RuZCBhdXRvc3F1YXNoLWZvcm1hdGVyYXQgbWVkZGVsYW5kZSBmw7ZyIGF0dCBmaXhhIGFuZ2l2ZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MworIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJhbnbDpG5kIGF1dG9zcXVhc2gtZm9ybWF0ZXJhdCBtZWRkZWxhbmRlIGbDtnIgYXR0IHNsw6UgaWhvcCBtZWQgYW5naXZlbiAiCiAiaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiamFnIMOkciBudSBmw7ZyZmF0dGFyZSBhdiBpbmNoZWNrbmluZ2VuIChhbnbDpG5kcyBtZWQgLUMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2xvZy5jOjE0MTMgYnVpbHRpbi9yZXZlcnQuYzo4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbG9nLmM6MTQzMCBidWlsdGluL3JldmVydC5jOjEwNQogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBTaWduZWQtb2ZmLWJ5OiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDEKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgImFudsOkbmQgYW5naXZlbiBtYWxsZmlsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICJ0dmluZ2EgcmVkaWdlcmluZyBhdiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICJzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IGJ1aWx0aW4vdGFnLmM6MzY5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMgYnVpbHRpbi90YWcuYzo0MTMKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICJodXIgYmxhbmtzdGVnIG9jaCAja29tbWVudGFyZXIgc2thbGwgdGFzIGJvcnQgZnLDpW4gbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiaW5rbHVkZXJhIHN0YXR1cyBpIG1hbGxlbiBmw7ZyIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDEgYnVpbHRpbi9tZXJnZS5jOjIzNCBidWlsdGluL3B1bGwuYzoxNjYKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNiBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTMKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCiBtc2dzdHIgIkdQRy1zaWduZXJhIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgaW5jaGVja25pbmdlbnMgaW5uZWjDpWxsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGluIGFsbGEgw6RuZHJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJsw6RnZyB0aWxsIGFuZ2l2bmEgZmlsZXIgdGlsbCBpbmRleGV0IGbDtnIgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEyCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImzDpGdnIHRpbGwgZmlsZXIgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCDDpG5kcmluZ2FyIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGVuZGFzdCBpbiBhbmdpdm5hIGZpbGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICJmw7ZyYmlnw6UgcHJlLWNvbW1pdC0gb2NoIGNvbW1pdC1tc2cta3Jva2FyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgInZpc2EgdmFkIHNvbSBza3VsbGUgY2hlY2thcyBpbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjIyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjcKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgImzDpGdnIHRpbGwgZsO2cmVnw6VlbmRlIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAiZsO2cmJpZ8OlIHBvc3QtcmV3cml0ZS1rcm9rIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMwogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIm9rIGF0dCByZWdpc3RyZXJhIGVuIHRvbSDDpG5kcmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzUKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJvayBhdHQgcmVnaXN0cmVyYSBlbiDDpG5kcmluZyBtZWQgdG9tdCBtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBIRUFEOnMgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcwNworIzogYnVpbHRpbi9jb21taXQuYzoxNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIlRyYXNpZyBNRVJHRV9IRUFELWZpbCAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxNwogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzMzCisjOiBidWlsdGluL2NvbW1pdC5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGluY2hlY2tuaW5nc21lZGRlbGFuZGU6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkF2YnJ5dGVyIGluY2hlY2tuaW5nOyBtZWRkZWxhbmRldCBpbnRlIHJlZGlnZXJhdC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjE3NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQXZicnl0ZXIgcMOlIGdydW5kIGF2IHRvbXQgaW5jaGVja25pbmdzbWVkZGVsYW5kZS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE4MDAKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKQEAgLTcxNTAsMTM1ICs3Mzg4LDEzNSBAQAogImF0dCBrdm90ZW4gaW50ZSBoYXIgw7Z2ZXJza3JpZGl0cywgb2NoIGvDtnIgc2VkYW5cbiIKICJcImdpdCByZXNldCBIRUFEXCIgZsO2ciBhdHQgw6V0ZXJzdMOkbGxhLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo5CisjOiBidWlsdGluL2NvbmZpZy5jOjEwCiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NQorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICJLb25maWd1cmF0aW9uc2ZpbGVucyBwbGF0cyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1OAogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgImFudsOkbmQgZ2xvYmFsIGtvbmZpZ3VyYXRpb25zZmlsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBzeXN0ZW1ldHMga29uZmlndXJhdGlvbnNmaWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBhcmtpdmV0cyBrb25maWd1cmF0aW9uc2ZpbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBhbmdpdmVuIGtvbmZpZ3VyYXRpb25zZmlsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAiYmxvYi1pZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgImzDpHMga29uZmlndXJhdGlvbiBmcsOlbiBnaXZldCBibG9iLW9iamVrdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiw4V0Z8OkcmQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiaMOkbXRhIHbDpHJkZTogbmFtbiBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJow6RtdGEgYWxsYSB2w6RyZGVuOiBueWNrZWwgW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2NgogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJow6RtdGEgdsOkcmRlbiBmw7ZyIHJlZ3V0dHI6IG5hbW4tcmVndXR0ciBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY3CiBtc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAiaMOkbXRhIHbDpHJkZSBzcGVjaWZpa3QgVVJMOmVuOiBzZWt0aW9uWy52YXJdIFVSTCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICJlcnPDpHR0IGFsbGEgbW90c3ZhcmFuZGUgdmFyaWFibGVyOiBuYW1uIHbDpHJkZSBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3CisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICJsw6RnZyB0aWxsIGVuIG55IHZhcmlhYmVsOiBuYW1uIHbDpHJkZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgInRhIGJvcnQgZW4gdmFyaWFiZWw6IG5hbW4gW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJ0YSBib3J0IGFsbGEgdHLDpGZmYXI6IG5hbW4gW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MAorIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAiYnl0IG5hbW4gcMOlIHNla3Rpb246IGdhbW1hbHQtbmFtbiBueXR0LW5hbW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJ0YSBib3J0IGVuIHNla3Rpb246IG5hbW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAidmlzYSBhbGxhIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgIsO2cHBuYSB0ZXh0cmVkaWdlcmluZ3Nwcm9ncmFtIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogc2xvdCBbZGVmYXVsdF0iCiBtc2dzdHIgImhpdHRhIGRlbiBpbnN0w6RsbGRhIGbDpHJnZW46IHNsb3QgW2RlZmF1bHRdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1CisjOiBidWlsdGluL2NvbmZpZy5jOjc3CiBtc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgImhpdHRhIGbDpHJnaW5zdMOkbGxuaW5nZW46IHNsb3QgW3N0ZG91dC1pcy10dHldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc4CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVHlwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICJ2w6RyZGV0IMOkciBcInRydWVcIiBlbGxlciBcImZhbHNlXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAidsOkcmRldCDDpHIgZXR0IGRlY2ltYWx0IHRhbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OQorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAidsOkcmRldCDDpHIgLS1ib29sIGVsbGVyIC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgwCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAidsOkcmRldCDDpHIgZW4gc8O2a3bDpGcgKGZpbC0gZWxsZXIga2F0YWxvZ25hbW4pIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgxCisjOiBidWlsdGluL2NvbmZpZy5jOjgzCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIkFuZHJhIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgyCisjOiBidWlsdGluL2NvbmZpZy5jOjg0CiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJ0ZXJtaW5lcmEgdsOkcmRlbiBtZWQgTlVMLWJ5dGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHZhcmlhYmVsbmFtbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NAorIzogYnVpbHRpbi9jb25maWcuYzo4NgogbXNnaWQgInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIKIG1zZ3N0ciAicmVzcGVrdGVyYSBpbmtsdWRlcmluZ3NkaXJla3RpdiB2aWQgdXBwc2xhZyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NQorIzogYnVpbHRpbi9jb25maWcuYzo4NwogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgInZpc2Ega29uZmlndXJhdGlvbnNrw6RsbGEgKGZpbCwgc3RhbmRhcmQgaW4sIGJsb2IsIGtvbW1hbmRvcmFkKSIKIApAQCAtNzMwMSwxMiArNzUzOSwxNiBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk5Cittc2dpZCAiLS1sb2NhbCBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgorbXNnc3RyICItLWxvY2FsIGthbiBiYXJhIGFudsOkbmRhcyBpbnV0aSBldHQgZ2l0LWFya2l2IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEga29uZmlndXJhdGlvbnNmaWxlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjOiBidWlsdGluL2NvbmZpZy5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgpAQCAtNzMxNSw2MyArNzU1Nyw3NSBAQAogImthbiBpbnRlIHNrcml2YSDDtnZlciBmbGVyYSB2w6RyZGVuIG1lZCBldHQgZW5zYW10IHbDpHJkZVxuIgogIiAgICAgICBBbnbDpG5kIGVuIHJlZ2V4cCwgLS1hZGQgZWxsZXIgLS1yZXBsYWNlLWFsbCBmw7ZyIGF0dCDDpG5kcmEgJXMuIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NgorIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODcKIG1zZ2lkICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NgorIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTcKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCiBtc2dzdHIgInNrcml2IHN0b3JsZWthciBpIG3DpG5uaXNrb2zDpHNiYXJ0IGZvcm1hdCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTkKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gWzxjb21taXQtaXNoPi4uLl0iCiBtc2dzdHIgImdpdCBkZXNjcmliZSBbPGZsYWdnb3I+XSBbPGluY2hlY2tuaW5nLWlndD4uLi5dIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMAogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSAtLWRpcnR5IgogbXNnc3RyICJnaXQgZGVzY3JpYmUgWzxmbGFnZ29yPl0gLS1kaXJ0eSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIxNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0Cittc2dpZCAiaGVhZCIKK21zZ3N0ciAiaHV2dWQiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImxpZ2h0d2VpZ2h0IgorbXNnc3RyICJsw6R0dHZpa3RpZyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0Cittc2dpZCAiYW5ub3RhdGVkIgorbXNnc3RyICJhbm5vdGVyYWQiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICJkZW4gYW5ub3RlcmFkZSB0YWdnZW4gJXMgaW50ZSB0aWxsZ8OkbmdsaWciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKIG1zZ3N0ciAiZGVuIGFubm90ZXJhZGUgdGFnZ2VuICVzIGhhciBpbmdldCBpbmLDpGRkYXQgbmFtbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIyMworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICJ0YWdnZW4gXCIlc1wiIMOkciBpIHZlcmtsaWdoZXRlbiBcIiVzXCIgaMOkciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ4MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4NiBidWlsdGluL2xvZy5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiT2JqZWt0bmFtbmV0IMOkciBpbnRlIGdpbHRpZ3Q6ICVzIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgogbXNnc3RyICIlcyDDpHIgaW50ZSBldHQgZ2lsdGlndCBcIiVzXCItb2JqZWt0IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAiaW5nZW4gdGFnZyBtb3RzdmFyYXIgXCIlc1wiIGV4YWt0IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNlYXJjaGluZyB0byBkZXNjcmliZSAlc1xuIgogbXNnc3RyICJzw7ZrZXIgZsO2ciBhdHQgYmVza3JpdmEgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMxOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAiYXZzbHV0YWRlIHPDtmtuaW5nIHDDpSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzQ2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyBhbm5vdGF0ZWQgdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTczODAsNyArNzYzNCw3IEBACiAiSW5nYSBhbm5vdGVyYWRlIHRhZ2dhciBrYW4gYmVza3JpdmEgXCIlc1wiLlxuIgogIkRldCBmaW5ucyBkb2NrIG9hbm5vdGVyYWRlIHRhZ2dhcjogdGVzdGEgLS10YWdzLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTczODksMTIgKzc2NDMsMTIgQEAKICJJbmdhIHRhZ2dhciBrYW4gYmVza3JpdmEgXCIlc1wiLlxuIgogIlRlc3RhIC0tYWx3YXlzLCBlbGxlciBza2FwYSBuw6VncmEgdGFnZ2FyLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmF2ZXJzZWQgJWx1IGNvbW1pdHNcbiIKIG1zZ3N0ciAidHJhdmVyc2VyYWRlICVsdSBpbmNoZWNrbmluZ2FyXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKQEAgLTc0MDMsMTA2ICs3NjU3LDEzMyBAQAogIm1lciDDpG4gJWkgdGFnZ2FyIGhpdHRhZGVzOyBsaXN0YXIgZGUgJWkgc2VuYXN0ZVxuIgogImdhdiB1cHAgc8O2a25pbmdlbiB2aWQgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgImhpdHRhIHRhZ2dlbiBzb20ga29tbWVyIGVmdGVyIGluY2hlY2tuaW5nZW4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDIKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICJmZWxzw7ZrIHPDtmtzdHJhdGVnaW4gcMOlIHN0YW5kYXJkIGZlbCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MwogbXNnaWQgInVzZSBhbnkgcmVmIgogbXNnc3RyICJhbnbDpG5kIGFsbGEgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5OQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NAogbXNnaWQgInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIgogbXNnc3RyICJhbnbDpG5kIGFsbGEgdGFnZ2FyLCDDpHZlbiBvYW5ub3RlcmFkZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgImFudsOkbmQgYWxsdGlkIGzDpW5ndCBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDYKIG1zZ2lkICJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiCiBtc2dzdHIgImbDtmxqIGVuZGFzdCBmw7Zyc3RhIGbDtnLDpGxkZXJuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ5CiBtc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKIG1zZ3N0ciAic2tyaXYgZW5kYXN0IHV0IGV4YWt0YSB0csOkZmZhciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1MQogbXNnaWQgImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiCiBtc2dzdHIgIsO2dmVydsOkZyBkZSA8bj4gbnlhc3RlIHRhZ2dhcm5hIChzdGFuZGFyZDogMTApIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDUzCiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiw7Z2ZXJ2w6RnIGVuZGFzdCB0YWdnYXIgc29tIG1vdHN2YXJhciA8bcO2bnN0ZXI+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTUKK21zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIsO2dmVydsOkZyBpbnRlIHRhZ2dhciBzb20gbW90c3ZhcmFyIDxtw7Zuc3Rlcj4iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTcgYnVpbHRpbi9uYW1lLXJldi5jOjQwNgogbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKIG1zZ3N0ciAidmlzYSBmw7Zya29ydGFkZSBpbmNoZWNrbmluZ3NvYmpla3Qgc29tIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU4IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NjEKIG1zZ2lkICJtYXJrIgogbXNnc3RyICJtw6Rya2UiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTkKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCiBtc2dzdHIgImzDpGdnIHRpbGwgPG3DpHJrZT4gcMOlIGxvcnRpZ3QgYXJiZXRzdHLDpGQgKHN0YW5kYXJkOiBcIi1kaXJ0eVwiKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ2MgorbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gYnJva2VuIHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItYnJva2VuXCIpIgorbXNnc3RyICJsw6RnZyB0aWxsIDxtw6Rya2U+IHDDpSB0cmFzaWd0IGFyYmV0c3Ryw6RkIChzdGFuZGFyZDogXCItYnJva2VuXCIpIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDgwCiBtc2dpZCAiLS1sb25nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWJicmV2PTAiCiBtc2dzdHIgIi0tbG9uZyDDpHIgaW5rb21wYXRpYmVsIG1lZCAtLWFiYnJldj0wIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CiBtc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCiBtc2dzdHIgIkluZ2EgbmFtbiBoaXR0YWRlcywga2FuIGludGUgYmVza3JpdmEgbsOlZ290LiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ3NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MgogbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICItLWRpcnR5IMOkciBpbmtvbXBhdGliZWx0IG1lZCBcImNvbW1pdC1pc2hcIi12w6RyZGVuIgogCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU0Cittc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICItLWJyb2tlbiDDpHIgaW5rb21wYXRpYmVsdCBtZWQgXCJjb21taXQtaXNoXCItdsOkcmRlbiIKKwogIzogYnVpbHRpbi9kaWZmLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCiBtc2dzdHIgIlwiJXNcIjogaW50ZSBlbiBub3JtYWwgZmlsIGVsbGVyIHN5bWJvbGlzayBsw6RuayIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjM0CisjOiBidWlsdGluL2RpZmYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICJvZ2lsdGlnIGZsYWdnYTogJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM1OAorIzogYnVpbHRpbi9kaWZmLmM6MzU5CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIkludGUgZXR0IGdpdC1hcmtpdiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDAxCisjOiBidWlsdGluL2RpZmYuYzo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIm9iamVrdGV0IFwiJXNcIiBzb20gYW5nYXZzIMOkciBmZWxha3RpZ3QuIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTAKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICJtZXIgw6RuIHR2w6UgYmxvYmJhciBhbmdhdnM6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE3CisjOiBidWlsdGluL2RpZmYuYzo0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAiZWogaGFudGVyYXQgb2JqZWt0IFwiJXNcIiBhbmdhdnMuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOQogbXNnaWQgImdpdCBkaWZmdG9vbCBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogImdpdCBkaWZmdG9vbCBbPGZsYWdnb3I+XSBbPGluY2hlY2tuaW5nPiBbPGluY2hlY2tuaW5nPl1dIFstLV0gWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MjQxCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZDogJWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlczogJWQiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozNDIKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBzeW1ib2xpc2thIGzDpG5rZW4gJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIHN5bWJvbGlzayBsw6Ruay1maWwgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIGZvciBzeW1saW5rICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIG9iamVrdGV0ICVzIGbDtnIgc3ltYm9saXNrYSBsw6Rua2VuICVzIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NDAzCiBtc2dpZCAiIgogImNvbWJpbmVkIGRpZmYgZm9ybWF0cygnLWMnIGFuZCAnLS1jYycpIGFyZSBub3Qgc3VwcG9ydGVkIGluXG4iCiAiZGlyZWN0b3J5IGRpZmYgbW9kZSgnLWQnIGFuZCAnLS1kaXItZGlmZicpLiIKQEAgLTc1MTAsNTMgKzc3OTEsNTMgQEAKICJrb21iaW5lcmFkZSBkaWZmLWZvcm1hdCAoXCItY1wiIG9jaCBcIi0tY2NcIikgc3TDtmRzIGludGUgaVxuIgogImthdGFsb2dkaWZmbMOkZ2UgKFwiLWRcIiBvY2ggXCItLWRpci1kaWZmXCIpLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU2NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJib3RoIGZpbGVzIG1vZGlmaWVkOiAnJXMnIGFuZCAnJXMnLiIKIG1zZ3N0ciAiYsOkZ2dlIGZpbGVybmEgw6RuZHJhZGU6IFwiJXNcIiBvY2ggXCIlc1wiLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU2OQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyOAogbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgogbXNnc3RyICJmaWxlbiBpIGFyYmV0c2thdGFsb2dlbiBsw6RtbmFkZXMga3Zhci4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1ODAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgogbXNnc3RyICJ0ZW1wb3LDpHJhIGZpbGVyIGZpbm5zIGkgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU4MQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAogbXNnaWQgInlvdSBtYXkgd2FudCB0byBjbGVhbnVwIG9yIHJlY292ZXIgdGhlc2UuIgogbXNnc3RyICJkdSBrYW5za2UgdmlsbCBzdMOkZGEgZWxsZXIgcsOkZGRhIGRlbS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2ODkKIG1zZ2lkICJ1c2UgYGRpZmYuZ3VpdG9vbGAgaW5zdGVhZCBvZiBgZGlmZi50b29sYCIKIG1zZ3N0ciAiYW52w6RuZCBcImRpZmYuZ3VpdG9vbFwiIGlzdMOkbGxldCBmw7ZyIFwiZGlmZi50b29sXCIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTEKIG1zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKIG1zZ3N0ciAidXRmw7ZyIGRpZmYgZsO2ciBoZWxhIGthdGFsb2dlbiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzMAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5MwogbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKIG1zZ3N0ciAiZnLDpWdhIGludGUgdmlkIHN0YXJ0IGF2IGRpZmYtdmVya3R5ZyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5OQogbXNnaWQgInVzZSBzeW1saW5rcyBpbiBkaXItZGlmZiBtb2RlIgogbXNnc3RyICJhbnbDpG5kIHN5bWJvbGlza2EgbMOkbmthciBpIGthdGFsb2dkaWZmbMOkZ2UiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDAKIG1zZ2lkICI8dG9vbD4iCiBtc2dzdHIgIjx2ZXJrdHlnPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzOAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMQogbXNnaWQgInVzZSB0aGUgc3BlY2lmaWVkIGRpZmYgdG9vbCIKIG1zZ3N0ciAiYW52w6RuZCBhbmdpdmV0IGRpZmYtdmVya3R5ZyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMwogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKLW1zZ3N0ciAidmlzYSBlbiBsaXN0YSDDtnZlciBkaWZmLXZlcmt0eWcgc29tIGthbiBhbnbDpG5kYXMgbWVkIFwiLS10b29sXCIiCittc2dzdHIgInZpc2EgZW4gbGlzdGEgw7Z2ZXIgZGlmZi12ZXJrdHlnIHNvbSBrYW4gYW52w6RuZGFzIG1lZCDigJ0tLXRvb2zigJ0iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDMKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKIG1zZ2lkICIiCiAibWFrZSAnZ2l0LWRpZmZ0b29sJyBleGl0IHdoZW4gYW4gaW52b2tlZCBkaWZmIHRvb2wgcmV0dXJucyBhIG5vbiAtIHplcm8gZXhpdCAiCiAiY29kZSIKQEAgLTc1NjQsMjQ5ICs3ODQ1LDI1MyBAQAogImzDpXQgXCJnaXQtZGlmZnRvb2xcIiBhdmJyeXRhIG7DpHIgZXR0IGFucm9wYXQgZGlmZi12ZXJrdHlnIGdlciByZXR1cnbDpHJkZSAiCiAic2tpbHQgZnLDpW4gbm9sbCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOAogbXNnaWQgIjxjb21tYW5kPiIKIG1zZ3N0ciAiPGtvbW1hbmRvPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOQogbXNnaWQgInNwZWNpZnkgYSBjdXN0b20gY29tbWFuZCBmb3Igdmlld2luZyBkaWZmcyIKIG1zZ3N0ciAiYW5nZSBlZ2V0IGtvbW1hbmRvIGbDtnIgYXR0IHZpc2EgZGlmZmFyIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjcwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMzCiBtc2dpZCAibm8gPHRvb2w+IGdpdmVuIGZvciAtLXRvb2w9PHRvb2w+IgogbXNnc3RyICJpbmdldCA8dmVya3R5Zz4gYW5nYXZzIGbDtnIgLS10b29sPTx2ZXJrdHlnPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY3NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MAogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAiaW5nZXQgPGtvbW1hbmRvPiBhbmdhdnMgZsO2ciAtLWV4dGNtZD08a29tbWFuZG8+IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyNgogbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiBtc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3QtZmxhZ2dvcl0iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICJ2aXNhIGbDtnJsb3BwIGVmdGVyIDxuPiBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgInbDpGxqIGhhbnRlcmluZyBhdiBzaWduZXJhZGUgdGFnZ2FyIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKIG1zZ3N0ciAidsOkbGogaGFudGVyaW5nIGF2IHRhZ2dhciBzb20gaGFyIHRhZ2dmaWx0cmVyYWRlIG9iamVrdCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MAogbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgogbXNnc3RyICJEdW1wIG3DpHJrZW4gdGlsbCBmaWxlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgogbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKIG1zZ3N0ciAiSW1wb3J0ZXJhIG3DpHJrZW4gZnLDpW4gZmlsZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTQKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiRmVqa2EgdGFnZ2FyZSBuw6RyIHRhZ2dlbiBzYWtuYXIgZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAiU2tyaXYgdXQgaGVsYSB0csOkZGV0IGbDtnIgdmFyamUgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTgKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAiQW52w6RuZCBkb25lLWZ1bmt0aW9uZW4gZsO2ciBhdHQgYXZzbHV0YSBzdHLDtm1tZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTcKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTkKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIkhvcHBhIMO2dmVyIHNrcml2bmluZyBhdiBibG9iLWRhdGEiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAwCiBtc2dpZCAicmVmc3BlYyIKIG1zZ3N0ciAicmVmZXJlbnNzcGVjaWZpa2F0aW9uIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk5CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMQogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiQXBwbGljZXJhIHJlZmVyZW5zc3BlY2lmaWthdGlvbiBww6UgZXhwb3J0ZXJhZGUgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAyCiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAiYW5vbnltaXNlcmEgdXRkYXRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8ZmxhZ2dvcj5dIFs8YXJraXY+IFs8cmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIyCisjOiBidWlsdGluL2ZldGNoLmM6MjMKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8ZmxhZ2dvcj5dIDxncnVwcD4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMworIzogYnVpbHRpbi9mZXRjaC5jOjI0CiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8ZmxhZ2dvcj5dIFsoPGFya2l2PiB8IDxncnVwcD4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI0CisjOiBidWlsdGluL2ZldGNoLmM6MjUKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE3NQorIzogYnVpbHRpbi9mZXRjaC5jOjkwIGJ1aWx0aW4vcHVsbC5jOjE4MgogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgImjDpG10YSBmcsOlbiBhbGxhIGZqw6RycmFyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9wdWxsLmM6MTg1CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICJsw6RnZyB0aWxsIGkgLmdpdC9GRVRDSF9IRUFEIGlzdMOkbGxldCBmw7ZyIGF0dCBza3JpdmEgw7Z2ZXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgInPDtmt2w6RnIHRpbGwgdXBsb2FkIHBhY2sgcMOlIGZqw6RycmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAwIGJ1aWx0aW4vcHVsbC5jOjE4MworIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE5MAogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgInR2aW5nYSDDtnZlcnNrcml2bmluZyBhdiBsb2thbCBncmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAyCisjOiBidWlsdGluL2ZldGNoLmM6OTcKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgImjDpG10YSBmcsOlbiBmbGVyYSBmasOkcnJhciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNCBidWlsdGluL3B1bGwuYzoxODUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxOTIKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJow6RtdGEgYWxsYSB0YWdnYXIgb2NoIGFzc29jaWVyYWRlIG9iamVrdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMQogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAiaMOkbXRhIGludGUgYWxsYSB0YWdnYXIgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJhbnRhbCB1bmRlcm1vZHVsZXIgc29tIGjDpG10YXMgcGFyYWxsZWxsdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL3B1bGwuYzoxODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUgYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgInJlbnNhIGZqw6RycnNww6VyYW5kZSBncmVuYXIgZWogbMOkbmdyZSBww6UgZmrDpHJyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL2ZldGNoLmM6MTA2IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MTIzCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICJvbi1kZW1hbmQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9wdWxsLmM6MTkyCisjOiBidWlsdGluL2ZldGNoLmM6MTA3CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAic3R5ciByZWt1cnNpdiBow6RtdG5pbmcgYXYgdW5kZXJtb2R1bGVyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjExMSBidWlsdGluL3B1bGwuYzoyMDMKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAiYmVow6VsbCBow6RtdGFkZSBwYWtldCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMwogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJ0aWxsw6V0IHVwcGRhdGVyaW5nIGF2IEhFQUQtcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJmw7ZyZGp1cGEgaGlzdG9yaWsgZsO2ciBncnVuZCBrbG9uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTE4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCiBtc2dzdHIgImbDtnJkanVwYSBoaXN0b3JpayBmw7ZyIGdydW5kIGtsb24gYmFzZXJhZCBww6UgdGlkIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNCBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAia29udmVydGVyYSB0aWxsIGtvbXBsZXR0IGFya2l2IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9mZXRjaC5jOjEyNiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJkaXIiCiBtc2dzdHIgImthdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNwogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgImzDpGdnIHRpbGwgaSBiw7ZyamFuIGF2IHVuZGVybW9kdWxlbnMgc8O2a3bDpGdzdXRkYXRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM1Ci1tc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCi1tc2dzdHIgInN0YW5kYXJkbMOkZ2UgZsO2ciByZWt1cnNpb24iCisjOiBidWlsdGluL2ZldGNoLmM6MTMwCittc2dpZCAiIgorImRlZmF1bHQgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIChsb3dlciBwcmlvcml0eSB0aGFuIGNvbmZpZyAiCisiZmlsZXMpIgorbXNnc3RyICIiCisic3RhbmRhcmQgZsO2ciByZWt1cnNpdiBow6RtdG5pbmcgYXYgdW5kZXJtb2R1bGVyIChsw6RncmUgcHJpb3JpdGV0IMOkbiAiCisia29uZmlndXJhdGlvbnNmaWxlcikiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdWxsLmM6MjA5CisjOiBidWlsdGluL2ZldGNoLmM6MTM0IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAidGFyIGVtb3QgcmVmZXJlbnNlciBzb20gdXBwZGF0ZXJhciAuZ2l0L3NoYWxsb3ciCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCisjOiBidWlsdGluL2ZldGNoLmM6MTM1IGJ1aWx0aW4vcHVsbC5jOjIxNAogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAicmVmZXJlbnNrYXJ0YSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzYgYnVpbHRpbi9wdWxsLmM6MjE1CiBtc2dpZCAic3BlY2lmeSBmZXRjaCByZWZtYXAiCiBtc2dzdHIgImFuZ2UgcmVmZXJlbnNrYXJ0YSBmw7ZyIFwiZmV0Y2hcIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM5NQorIzogYnVpbHRpbi9mZXRjaC5jOjM5NAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGZqw6Ryci1yZWZlcmVuc2VuIEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIKIG1zZ3N0ciAia29uZmlndXJhdGlvbmVuIGbDtnIgZmV0Y2gub3V0cHV0IGlubmVow6VsbGVyIG9naWx0aWd0IHbDpHJkZSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwNAorIzogYnVpbHRpbi9mZXRjaC5jOjYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICJvYmpla3RldCAlcyBoaXR0YWRlcyBpbnRlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA4CisjOiBidWlsdGluL2ZldGNoLmM6NjA5CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbw6Bqb3VyXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyMSBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NjIyIGJ1aWx0aW4vZmV0Y2guYzo3MDIKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICJbcmVmdXNlcmFkXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyMgorIzogYnVpbHRpbi9mZXRjaC5jOjYyMwogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgaSBha3R1ZWxsIGdyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlt1cHBkYXRlcmFkIHRhZ2ddIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjMyIGJ1aWx0aW4vZmV0Y2guYzo2NjUgYnVpbHRpbi9mZXRjaC5jOjY4MQotIzogYnVpbHRpbi9mZXRjaC5jOjY5NgorIzogYnVpbHRpbi9mZXRjaC5jOjYzMyBidWlsdGluL2ZldGNoLmM6NjY2IGJ1aWx0aW4vZmV0Y2guYzo2ODIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTcKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1cHBkYXRlcmEgbG9rYWwgcmVmIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjUxCisjOiBidWlsdGluL2ZldGNoLmM6NjUyCiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJbbnkgdGFnZ10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTUKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCiBtc2dzdHIgIltueSBncmVuXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1NworIzogYnVpbHRpbi9mZXRjaC5jOjY1OAogbXNnaWQgIltuZXcgcmVmXSIKIG1zZ3N0ciAiW255IHJlZl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTcKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJ0dmluZ2FkIHVwcGRhdGVyaW5nIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiZWogc25hYmJzcG9sYWQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBzw6RuZGUgaW50ZSBhbGxhIG7DtmR2w6RuZGlnYSBvYmpla3RcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2NgorIzogYnVpbHRpbi9mZXRjaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICJhdnZpc2EgJXMgZMOlIGdydW5kYSByw7Z0dGVyIGludGUga2FuIHVwcGRhdGVyYXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMgYnVpbHRpbi9mZXRjaC5jOjk0OQorIzogYnVpbHRpbi9mZXRjaC5jOjg1NSBidWlsdGluL2ZldGNoLmM6OTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJGcsOlbiAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTc4MTUsNTUgKzgxMDAsNTUgQEAKICJ2aXNzYSBsb2thbGEgcmVmZXJlbnNlciBrdW5kZSBpbnRlIHVwcGRhdGVyYXM7IHRlc3RhIGF0dCBrw7ZyYVxuIgogIiBcImdpdCByZW1vdGUgcHJ1bmUgJXNcIiBmw7ZyIGF0dCB0YSBib3J0IGdhbWxhIGdyZW5hciBzb20gc3TDpXIgaSBrb25mbGlrdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkxOQorIzogYnVpbHRpbi9mZXRjaC5jOjkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMga29tbWVyIGJsaSBkaW5nbGFuZGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGhhciBibGl2aXQgZGluZ2xhbmRlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1MgorIzogYnVpbHRpbi9mZXRjaC5jOjk1NAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW2JvcnR0YWdlbl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTMgYnVpbHRpbi9yZW1vdGUuYzoxMDIwCisjOiBidWlsdGluL2ZldGNoLmM6OTU1IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMwogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKGluZ2VuKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3NgorIzogYnVpbHRpbi9mZXRjaC5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIlbDpGdyYXIgaMOkbXRhIHRpbGwgYWt0dWVsbCBncmVuICVzIGkgZXR0IGlja2UtbmFrZXQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiRmxhZ2dhbiBcIiVzXCIgb2NoIHbDpHJkZXQgXCIlc1wiIMOkciBpbnRlIGdpbHRpZ3QgZsO2ciAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5OAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJGbGFnZ2FuIFwiJXNcIiBpZ25vcmVyYXMgZsO2ciAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA3NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKIG1zZ3N0ciAiVmV0IGludGUgaHVyIG1hbiBow6RtdGFyIGZyw6VuICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzNAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiSMOkbXRhciAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzNiBidWlsdGluL3JlbW90ZS5jOjk2CisjOiBidWlsdGluL2ZldGNoLmM6MTIzOCBidWlsdGluL3JlbW90ZS5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBow6RtdGEgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU0CisjOiBidWlsdGluL2ZldGNoLmM6MTI1NgogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtNzg3MSwxMjUgKzgxNTYsMTI2IEBACiAiSW5nZXQgZmrDpHJyYXJraXYgYW5nYXZzLiBBbmdlIGFudGluZ2VuIGVuIFVSTCBlbGxlciBuYW1uZXQgcMOlIGV0dFxuIgogImZqw6RycmFya2l2IHNvbSBueWEgaW5jaGVja25pbmdhciBza2FsbCBow6RtdGFzIGZyw6VuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjc5CiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiRHUgbcOlc3RlIGFuZ2UgbmFtbmV0IHDDpSBlbiB0YWdnLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCiBtc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiTmVnYXRpdmEgZGp1cCBzdMO2ZHMgaW50ZSBpIC0tZGVlcGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLWRlZXBlbiBvY2ggLS1kZXB0aCDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI2CisjOiBidWlsdGluL2ZldGNoLmM6MTMyOAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICItLWRlcHRoIG9jaCAtLXVuc2hhbGxvdyBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzMzAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cga2FuIGludGUgYW52w6RuZGFzIHDDpSBldHQga29tcGxldHQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUwCisjOiBidWlsdGluL2ZldGNoLmM6MTM0OQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCB0YXIgaW50ZSBuYW1uZXQgcMOlIGV0dCBhcmtpdiBzb20gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUyCisjOiBidWlsdGluL2ZldGNoLmM6MTM1MQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwga2FuIGludGUgYW5nZXMgbWVkIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM2MworIzogYnVpbHRpbi9mZXRjaC5jOjEzNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiRmrDpHJyZW4gZWxsZXIgZmrDpHJyZ3J1cHBlbiBmaW5ucyBpbnRlOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJLYW4gaW50ZSBow6RtdGEgZnLDpW4gZ3J1cHAgb2NoIGFuZ2UgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjE0CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNQogbXNnaWQgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZWRkZWxhbmRlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbD5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NAogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAiZnlsbCBpIGxvZ2dlbiBtZWQgc29tIG1lc3QgPG4+IHBvc3RlciBmcsOlbiBzaG9ydGxvZyIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjcKIG1zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgogbXNnc3RyICJhbGlhcyBmw7ZyIC0tbG9nIChhdnLDpWRzKSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICJ0ZXh0IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAiaW5sZWQgbWVkZGVsYW5kZSBtZWQgPHRleHQ+IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJmaWwgYXR0IGzDpHNhIGZyw6VuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFs8b3B0aW9ucz5dIFs8cGF0dGVybj5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFs8ZmxhZ2dvcj5dIFs8bcO2bnN0ZXI+XSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9iamVrdD5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCi1tc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8b2JqZWN0Pl1dIgotbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxvYmpla3Q+XV0iCi0KICM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTIKLW1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zIFs8b2JqZWN0Pl1dIgotbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zIFs8b2JqZWt0Pl1dIgorbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPGNvbW1pdD5dXSIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8aW5jaGVja25pbmc+XV0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjcKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTMKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLWNvbnRhaW5zIFs8Y29tbWl0Pl1dIFstLW5vLWNvbnRhaW5zIFs8Y29tbWl0Pl1dIgorbXNnc3RyICIiCisiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPGluY2hlY2tuaW5nPl1dIFstLW5vLWNvbnRhaW5zIFs8aW5jaGVja25pbmc+XV0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAiY2l0ZXJhIHBsYXRzaMOlbGxhcmUgcGFzc2FuZGUgZsO2ciBza2FsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjI5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgogbXNnc3RyICJjaXRlcmEgcGxhdHNow6VsbGFyZSBwYXNzYW5kZSBmw7ZyIHBlcmwiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzEKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAiY2l0ZXJhIHBsYXRzaMOlbGxhcmUgcGFzc2FuZGUgZsO2ciBweXRob24iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzQKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIFRjbCIKIG1zZ3N0ciAiY2l0ZXJhIHBsYXRzaMOlbGxhcmUgcGFzc2FuZGUgZsO2ciBUY2wiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcKIG1zZ2lkICJzaG93IG9ubHkgPG4+IG1hdGNoZWQgcmVmcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgPG4+IHRyw6RmZmFkZSByZWZzIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vdGFnLmM6Mzg3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4Ci1tc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKLW1zZ3N0ciAiZm9ybWF0IGF0dCBhbnbDpG5kYSBmw7ZyIHV0ZGF0YSIKLQotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gcGVrYXIgcMOlIG9iamVrdGV0IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gc2xhZ2l0cyBzYW1tYW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gZWogc2xhZ2l0cyBzYW1tYW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJ2aXNhIGVuZGFzdCByZWZlcmVuc2VyIHNvbSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3Cittc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gaW50ZSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgorCiAjOiBidWlsdGluL2ZzY2suYzo1NTQKIG1zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIktvbnRyb2xsZXJhciBvYmpla3RrYXRhbG9nZXIiCkBAIC04MDUyLDIxICs4MzM4LDIxIEBACiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiS29udHJvbGxlcmFyIG9iamVrdCIKIAotIzogYnVpbHRpbi9nYy5jOjI1CisjOiBidWlsdGluL2djLmM6MjYKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBnYyBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi9nYy5jOjcyCisjOiBidWlsdGluL2djLmM6NzkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCAlczogJyVzJyIKLW1zZ3N0ciAiRmVsYWt0aWd0ICVzOiBcIiVzXCIiCittc2dpZCAiRmFpbGVkIHRvIGZzdGF0ICVzOiAlcyIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIHRhIHN0YXR1cyAoZnN0YXQpIHDDpSAlczogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxMzkKKyM6IGJ1aWx0aW4vZ2MuYzozMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCi1tc2dzdHIgInRva2lndCBsw6VuZyBvYmpla3RrYXRhbG9nICUuKnMiCittc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKK21zZ3N0ciAiS2FuIGludGUgdGEgc3RhdHVzIHDDpSAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjI5NworIzogYnVpbHRpbi9nYy5jOjMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGxhc3QgZ2MgcnVuIHJlcG9ydGVkIHRoZSBmb2xsb3dpbmcuIFBsZWFzZSBjb3JyZWN0IHRoZSByb290IGNhdXNlXG4iCkBAIC04MDgxLDM4ICs4MzY3LDQzIEBACiAiXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzQKKyM6IGJ1aWx0aW4vZ2MuYzozNTkKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAicmVuc2EgZWogcmVmZXJlcmFkZSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzYKKyM6IGJ1aWx0aW4vZ2MuYzozNjEKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgInZhciBtZXIgZ3J1bmRsaWcgKMO2a2FyIGvDtnJ0aWRlbikiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzcKKyM6IGJ1aWx0aW4vZ2MuYzozNjIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICJha3RpdmVyYSBhdXRvLWdjLWzDpGdlIgogCi0jOiBidWlsdGluL2djLmM6MzM4CisjOiBidWlsdGluL2djLmM6MzYzCiBtc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCiBtc2dzdHIgInR2aW5nYSBnYy1rw7ZybmluZyDDpHZlbiBvbSBlbiBhbm5hbiBnYyBrYW5za2Uga8O2cnMiCiAKICM6IGJ1aWx0aW4vZ2MuYzozODAKICMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGdjLmxvZ2V4cGlyeSB2YWx1ZSAlcyIKK21zZ3N0ciAiS2FuIGludGUgdG9sa2EgdsOkcmRldCAlcyBmw7ZyIGdjLmxvZ2V4cGlyeSIKKworIzogYnVpbHRpbi9nYy5jOjQwOAorIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiUGFja2FyIGFya2l2ZXQgYXV0b21hdGlza3QgaSBiYWtncnVuZGVuIGbDtnIgb3B0aW1hbCBwcmVzdGFuZGEuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozODIKKyM6IGJ1aWx0aW4vZ2MuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICJQYWNrYXIgYXJraXZldCBhdXRvbWF0aXNrdCBmw7ZyIG9wdGltYWwgcHJlc3RhbmRhLlxuIgogCi0jOiBidWlsdGluL2djLmM6MzgzCisjOiBidWlsdGluL2djLmM6NDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlZSBcImdpdCBoZWxwIGdjXCIgZm9yIG1hbnVhbCBob3VzZWtlZXBpbmcuXG4iCiBtc2dzdHIgIlNlIFwiZ2l0IGhlbHAgZ2NcIiBmw7ZyIG1hbnVlbGwgaHVzaMOlbGxuaW5nLlxuIgogCi0jOiBidWlsdGluL2djLmM6NDA0CisjOiBidWlsdGluL2djLmM6NDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgpAQCAtODEyMCwyNjAgKzg0MTEsMjc4IEBACiAiZ2Mga8O2cnMgcmVkYW4gcMOlIG1hc2tpbmVuIFwiJXNcIiBwaWQgJTxQUkl1TUFYPiAoYW52w6RuZCAtLWZvcmNlIG9tIHPDpSBpbnRlICIKICLDpHIgZmFsbGV0KSIKIAotIzogYnVpbHRpbi9nYy5jOjQ0OAorIzogYnVpbHRpbi9nYy5jOjQ3NgogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogIkRldCBmaW5ucyBmw7ZyIG3DpW5nYSBvbsOlYmFyYSBsw7ZzYSBvYmpla3Q7IGvDtnIgXCJnaXQgcHJ1bmVcIiBmw7ZyIGF0dCB0YSBib3J0ICIKICJkZW0uIgogCi0jOiBidWlsdGluL2dyZXAuYzoyNQorIzogYnVpbHRpbi9ncmVwLmM6MjcKIG1zZ2lkICJnaXQgZ3JlcCBbPG9wdGlvbnM+XSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBncmVwIFs8ZmxhZ2dvcj5dIFstZV0gPG3Dtm5zdGVyPiBbPHJldj4uLi5dIFtbLS1dIDxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXA6IG1pc3NseWNrYWRlcyBza2FwYSB0csOlZC4gJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI5MAorIzogYnVpbHRpbi9ncmVwLmM6MjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICJmZWxha3RpZ3QgYW50YWwgdHLDpWRhciBhbmdpdmV0ICglZCkgZsO2ciAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzYzIGJ1aWx0aW4vZ3JlcC5jOjgwNAorIy4gVFJBTlNMQVRPUlM6ICVzIGlzIHRoZSBjb25maWd1cmF0aW9uCisjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CisjLiBncmVwLnRocmVhZHMKKyMuCisjOiBidWlsdGluL2dyZXAuYzozMDIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCittc2dzdHIgInRyw6Vkc3TDtmQgc2FrbmFzLCBpZ25vcmVyYXIgJXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc4OCBidWlsdGluL2dyZXAuYzo4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIHRyw6RkICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyMworIzogYnVpbHRpbi9ncmVwLmM6ODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCi1tc2dzdHIgIkt1bmRlIGludGUgXCJncmVwXCIgZnLDpW4gb2JqZWt0IGF2IHR5cGVuICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIFwiZ3JlcFwiIGZyw6VuIG9iamVrdCBhdiB0eXBlbiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg3CisjOiBidWlsdGluL2dyZXAuYzo5MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiZmxhZ2dhbiBcIiVjXCIgYW50YXIgZXR0IG51bWVyaXNrdCB2w6RyZGUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3MworIzogYnVpbHRpbi9ncmVwLmM6OTk5CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAic8O2ayBpIGluZGV4ZXQgaXN0w6RsbGV0IGbDtnIgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NQorIzogYnVpbHRpbi9ncmVwLmM6MTAwMQogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICJzw7ZrIGkgaW5uZWjDpWxsIHNvbSBpbnRlIGhhbnRlcmFzIGF2IGdpdCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc3CisjOiBidWlsdGluL2dyZXAuYzoxMDAzCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJzw7ZrIGkgYsOlZGUgc3DDpXJhZGUgb2NoIG9zcMOlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc5CisjOiBidWlsdGluL2dyZXAuYzoxMDA1CiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICJpZ25vcmVyYSBmaWxlciBhbmdpdm5hIGkgXCIuZ2l0aWdub3JlXCIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4MQotbXNnaWQgInJlY3Vyc2l2bGV5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKK21zZ2lkICJyZWN1cnNpdmVseSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCiBtc2dzdHIgInPDtmsgdmFyamUgdW5kZXJtb2R1bCByZWt1cnNpdnQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4MworIzogYnVpbHRpbi9ncmVwLmM6MTAwOQogbXNnaWQgImJhc2VuYW1lIgogbXNnc3RyICJiYXNuYW1uIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTAKIG1zZ2lkICJwcmVwZW5kIHBhcmVudCBwcm9qZWN0J3MgYmFzZW5hbWUgdG8gb3V0cHV0IgogbXNnc3RyICJsw6RnZyB0aWxsIGbDtnLDpGxkcmFwcm9qZWt0ZXRzIGJhc25hbW4gaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4NworIzogYnVpbHRpbi9ncmVwLmM6MTAxMwogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJ2aXNhIHJhZGVyIHNvbSBpbnRlIHRyw6RmZmFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTUKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICJza2lmdGzDpGdlc29rw6Ruc2xpZyBzw7ZrbmluZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTkxCisjOiBidWlsdGluL2dyZXAuYzoxMDE3CiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgIm1hdGNoYSBlbmRhc3QgbcO2bnN0ZXIgdmlkIG9yZGdyw6Ruc2VyIgogCi0jOiBidWlsdGluL2dyZXAuYzo5OTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTkKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICJoYW50ZXJhIGJpbsOkcmZpbGVyIHNvbSB0ZXh0IgogCi0jOiBidWlsdGluL2dyZXAuYzo5OTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjEKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgInRyw6RmZmEgaW50ZSBtw7Zuc3RlciBpIGJpbsOkcmZpbGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo5OTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjQKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgImhhbnRlcmEgYmluw6RyZmlsZXIgbWVkIHRleHRjb252LWZpbHRlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwMAorIzogYnVpbHRpbi9ncmVwLmM6MTAyNgogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZ8OlIHNvbSBtZXN0IG5lZCA8ZGp1cD4gbml2w6VlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwNAorIzogYnVpbHRpbi9ncmVwLmM6MTAzMAogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJhbnbDpG5kIHV0w7ZrYWRlIFBPU0lYLXJlZ3VsasOkcmEgdXR0cnljayIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwNworIzogYnVpbHRpbi9ncmVwLmM6MTAzMwogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAiYW52w6RuZCBncnVuZGzDpGdnYW5kZSBQT1NJWC1yZWd1bGrDpHJhIHV0dHJ5Y2sgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMAorIzogYnVpbHRpbi9ncmVwLmM6MTAzNgogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJ0b2xrYSBtw7Zuc3RlciBzb20gZml4ZXJhZGUgc3Ryw6RuZ2FyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDEzCisjOiBidWlsdGluL2dyZXAuYzoxMDM5CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJhbnbDpG5kIFBlcmxrb21wYXRpYmxhIHJlZ3VsasOkcmEgdXR0cnljayIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxNgorIzogYnVpbHRpbi9ncmVwLmM6MTA0MgogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICJ2aXNhIHJhZG51bW1lciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxNworIzogYnVpbHRpbi9ncmVwLmM6MTA0MwogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJ2aXNhIGludGUgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxOAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJ2aXNhIGZpbG5hbW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDYKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJ2aXNhIGZpbG5hbW4gcmVsYXRpdmEgdGlsbCB0b3Bwa2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDIyCisjOiBidWlsdGluL2dyZXAuYzoxMDQ4CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBmaWxuYW1uIGlzdMOkbGxldCBmw7ZyIHRyw6RmZmFkZSByYWRlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyNAorIzogYnVpbHRpbi9ncmVwLmM6MTA1MAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICJzeW5vbnltIGbDtnIgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTMKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgInZpc2EgZW5kYXN0IG5hbW4gcMOlIGZpbGVyIHV0YW4gdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTUKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJza3JpdiBOVUwgZWZ0ZXIgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzMQorIzogYnVpbHRpbi9ncmVwLmM6MTA1NwogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgInZpc2EgYW50YWwgdHLDpGZmYXIgaXN0w6RsbGV0IGbDtnIgdHLDpGZmYWRlIHJhZGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMyCisjOiBidWlsdGluL2dyZXAuYzoxMDU4CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgImxqdXNtYXJrZXJhIHRyw6RmZmFyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM0CisjOiBidWlsdGluL2dyZXAuYzoxMDYwCiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgInNrcml2IHRvbW1hIHJhZGVyIG1lbGxhbiB0csOkZmZhciBmcsOlbiBvbGlrYSBmaWxlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzNgorIzogYnVpbHRpbi9ncmVwLmM6MTA2MgogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgInZpc2EgZmlsbmFtbiBlbmRhc3QgZW4gZ8Olbmcgb3ZhbmbDtnIgdHLDpGZmYXIgZnLDpW4gc2FtbWEgZmlsIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM5CisjOiBidWlsdGluL2dyZXAuYzoxMDY1CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgInZpc2EgPG4+IHJhZGVyIHNhbW1hbmhhbmcgZsO2cmUgb2NoIGVmdGVyIHRyw6RmZmFyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQyCisjOiBidWlsdGluL2dyZXAuYzoxMDY4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgc2FtbWFuaGFuZyBmw7ZyZSB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NAorIzogYnVpbHRpbi9ncmVwLmM6MTA3MAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgc2FtbWFuaGFuZyBlZnRlciB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NgorIzogYnVpbHRpbi9ncmVwLmM6MTA3MgogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgImFudsOkbmQgPG4+IGpvYmJ0csOlZGFyIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ3CisjOiBidWlsdGluL2dyZXAuYzoxMDczCiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiZ2VudsOkZyBmw7ZyIC1DIE5VTSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1MAorIzogYnVpbHRpbi9ncmVwLmM6MTA3NgogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgInZpc2EgZW4gcmFkIG1lZCBmdW5rdGlvbnNuYW1uZXQgZsO2cmUgdHLDpGZmZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzgKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAidmlzYSBkZW4gb21rcmluZ2xpZ2dhbmRlIGZ1bmt0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODEKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAibMOkcyBtw7Zuc3RlciBmcsOlbiBmaWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODMKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgInRyw6RmZmEgPG3Dtm5zdGVyPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1OQorIzogYnVpbHRpbi9ncmVwLmM6MTA4NQogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgImtvbWJpbmVyYSBtw7Zuc3RlciBzb20gYW5nZXMgbWVkIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDcxCisjOiBidWlsdGluL2dyZXAuYzoxMDk3CiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgImFuZ2UgdHLDpGZmIG1lZCBzbHV0c3RhdHVza29kIHV0YW4gdXRkYXRhIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDczCisjOiBidWlsdGluL2dyZXAuYzoxMDk5CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdHLDpGZmYXIgZnLDpW4gZmlsZXIgc29tIHRyw6RmZmFyIGFsbGEgbcO2bnN0ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDEKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAidmlzYSBhbmFseXN0csOkZCBmw7ZyIGdyZXAtdXR0cnljayIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3OQorIzogYnVpbHRpbi9ncmVwLmM6MTEwNQogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJibMOkZGRyYXJlIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDc5CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgInZpc2EgdHLDpGZmYWRlIGZpbGVyIGkgZmlsYmzDpGRkcmFyZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgInRpbGzDpXQgYW5yb3BhIGdyZXAoMSkgKGlnbm9yZXJhcyBhdiBkZXR0YSBieWdnZSkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExNDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExNzIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAiaW5nZXQgbcO2bnN0ZXIgYW5nYXZzLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTE3OCBidWlsdGluL2luZGV4LXBhY2suYzoxNDgyCisjOiBidWlsdGluL2dyZXAuYzoxMjA0Cittc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMiCittc2dzdHIgIi0tbm8taW5kZXggb2NoIC0tdW50cmFja2VkIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgcmV2aXNpb25lciIKKworIzogYnVpbHRpbi9ncmVwLmM6MTIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCittc2dzdHIgImthbiBpbnRlIHNsw6UgdXBwIHJldmlzaW9uOiAlcyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI0NSBidWlsdGluL2luZGV4LXBhY2suYzoxNDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgImZlbGFrdGlndCBhbnRhbCB0csOlZGFyIGFuZ2l2ZXQgKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTIxNQorIzogYnVpbHRpbi9ncmVwLmM6MTI1MAorbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIgorbXNnc3RyICJ0csOlZHN0w7ZkIHNha25hcywgaWdub3JlcmFyIC0tdGhyZWFkcyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI4MQogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGZ1bmdlcmFyIGVuZGFzdCBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTIzOAorIzogYnVpbHRpbi9ncmVwLmM6MTMwNAogbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMuIgogbXNnc3RyICJmbGFnZ2FuIHN0w7ZkcyBpbnRlIG1lZCAtLXJlY3Vyc2Utc3VibW9kdWxlcy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMTAKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICItLWNhY2hlZCBvY2ggLS11bnRyYWNrZWQga2FuIGludGUgYW52w6RuZGFzIG1lZCAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI0OQotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiLS1uby1pbmRleCBvY2ggLS11bnRyYWNrZWQga2FuIGludGUgYW52w6RuZGFzIG1lZCByZXZpc2lvbmVyLiIKLQotIzogYnVpbHRpbi9ncmVwLmM6MTI1MgorIzogYnVpbHRpbi9ncmVwLmM6MTMxNgogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQga2FuIGludGUgYW52w6RuZGFzIGbDtnIgc3DDpXJhdCBpbm5laMOlbGwuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjYwCisjOiBidWlsdGluL2dyZXAuYzoxMzI0CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiYsOlZGUgLS1jYWNoZWQgb2NoIHRyw6RkIGFuZ2F2cy4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgyCiBtc2dpZCAiIgogImdpdCBoYXNoLW9iamVjdCBbLXQgPHR5cGU+XSBbLXddIFstLXBhdGg9PGZpbGU+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPGZpbGU+Li4uIgpAQCAtODM4MSw5MiArODY5MCw5MiBAQAogImdpdCBoYXNoLW9iamVjdCBbLXQgPHR5cD5dIFstd10gWy0tcGF0aD08ZmlsPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dIFstLV0gIgogIjxmaWw+Li4uIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MwogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIG1zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQogbXNnaWQgInR5cGUiCiBtc2dzdHIgInR5cCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJvYmplY3QgdHlwZSIKIG1zZ3N0ciAib2JqZWt0dHlwIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NgogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJza3JpdiBvYmpla3RldCB0aWxsIG9iamVrdGRhdGFiYXNlbiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKIG1zZ2lkICJyZWFkIHRoZSBvYmplY3QgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibMOkcyBvYmpla3RldCBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgInNwYXJhIGZpbGVuIHNvbSBkZW4gw6RyIHV0YW4gZmlsZXIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCiAiaGFzaGEgc2x1bXBtw6Rzc2lndCBza3LDpHAgZsO2ciBhdHQgc2thcGEga29ycnVwdGEgb2JqZWt0IGbDtnIgZmVsc8O2a25pbmcgYXYgR2l0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgImhhbnRlcmEgZmlsZW4gc29tIG9tIGRlbiBrb20gZnLDpW4gc8O2a3bDpGdlbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzCiBtc2dpZCAicHJpbnQgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyIKIG1zZ3N0ciAidmlzYSBhbGxhIHRpbGxnw6RuZ2xpZ2Ega29tbWFuZG9uIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MworIzogYnVpbHRpbi9oZWxwLmM6NDQKIG1zZ2lkICJleGNsdWRlIGd1aWRlcyIKIG1zZ3N0ciAidXRlc2x1dCB2w6RnbGVkbmluZ2FyIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NAorIzogYnVpbHRpbi9oZWxwLmM6NDUKIG1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCiBtc2dzdHIgImxpc3RhIGFudsOkbmRiYXJhIHbDpGdsZWRuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ1CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFuIHBhZ2UiCiBtc2dzdHIgInZpc2EgbWFudWFsc2lkYSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3CiBtc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCiBtc2dzdHIgInZpc2EgbWFudWFsIGkgd2ViYmzDpHNhcmUiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ4CisjOiBidWlsdGluL2hlbHAuYzo0OQogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICJ2aXNhIGluZm8tc2lkYSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTQKKyM6IGJ1aWx0aW4vaGVscC5jOjU1CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGtvbW1hbmRvPl0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjY2CisjOiBidWlsdGluL2hlbHAuYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKLW1zZ3N0ciAib2vDpG50IGhqw6RscGZvcm1hdDogJXMiCittc2dzdHIgIm9rw6RudCBoasOkbHBmb3JtYXQ6IOKAnSVz4oCdIgogCi0jOiBidWlsdGluL2hlbHAuYzo5MworIzogYnVpbHRpbi9oZWxwLmM6OTQKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc3RhcnRhIGVtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTA2CisjOiBidWlsdGluL2hlbHAuYzoxMDcKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgIkt1bmRlIGludGUgdG9sa2EgZW1hY3NjbGllbnQtdmVyc2lvbi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExNAorIzogYnVpbHRpbi9oZWxwLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgImVtYWNzY2xpZW50IHZlcnNpb24gXCIlZFwiIGbDtnIgZ2FtbWFsICg8IDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMiBidWlsdGluL2hlbHAuYzoxNTMgYnVpbHRpbi9oZWxwLmM6MTYyIGJ1aWx0aW4vaGVscC5jOjE3MAorIzogYnVpbHRpbi9oZWxwLmM6MTMzIGJ1aWx0aW4vaGVscC5jOjE1NCBidWlsdGluL2hlbHAuYzoxNjMgYnVpbHRpbi9oZWxwLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgImV4ZWMgbWlzc2x5Y2thZGVzIGbDtnIgXCIlc1wiIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDcKKyM6IGJ1aWx0aW4vaGVscC5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTg0NzUsNyArODc4NCw3IEBACiAiXCIlc1wiOiBzw7ZrdsOkZyBmw7ZyIG1hbi12aXNhcmUgc29tIGVqIHN0w7Zkcy5cbiIKICJBbnbDpG5kIFwibWFuLjx2ZXJrdHlnPi5jbWRcIiBpc3TDpGxsZXQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTkKKyM6IGJ1aWx0aW4vaGVscC5jOjIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTg0ODQsNDM1ICs4NzkzLDQzNSBAQAogIlwiJXNcIjoga29tbWFuZG8gZsO2ciBtYW4tdmlzYXJlIHNvbSBzdMO2ZHMuXG4iCiAiQW52w6RuZCBcIm1hbi48dmVya3R5Zz4ucGF0aFwiIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjMzNgorIzogYnVpbHRpbi9oZWxwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIlwiJXNcIjogb2vDpG5kIG1hbi12aXNhcmUuIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTMKKyM6IGJ1aWx0aW4vaGVscC5jOjM1NAogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiaW5nZW4gbWFuLXZpc2FyZSBoYW50ZXJhZGUgZsO2cmZyw6VnYW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MQorIzogYnVpbHRpbi9oZWxwLmM6MzYyCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiaW5nZW4gaW5mby12aXNhcmUgaGFudGVyYWRlIGbDtnJmcsOlZ2FuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNAogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIkRlZmluaWVyYXIgYXR0cmlidXQgcGVyIHPDtmt2w6RnIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNQogbXNnaWQgIkV2ZXJ5ZGF5IEdpdCBXaXRoIDIwIENvbW1hbmRzIE9yIFNvIgogbXNnc3RyICJHaXQgZsO2ciBkYWdsaWd0IGJydWsgaSB1bmdlZsOkciAyMCBrb21tYW5kb24iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNQorIzogYnVpbHRpbi9oZWxwLmM6NDA2CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIkVuIEdpdC1vcmRsaXN0YSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA2CisjOiBidWlsdGluL2hlbHAuYzo0MDcKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJBbmdlIGF2c2lrdGxpZ2VuIG9zcMOlcmFkZSBmaWxlciBhdHQgaWdub3JlcmEiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwNworIzogYnVpbHRpbi9oZWxwLmM6NDA4CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIkFuZ2UgZWdlbnNrYXBlciBmw7ZyIHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA4CisjOiBidWlsdGluL2hlbHAuYzo0MDkKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIkFuZ2UgdmVyc2lvbmVyIG9jaCBpbnRlcnZhbGwgaSBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOQorIzogYnVpbHRpbi9oZWxwLmM6NDEwCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IChmb3IgdmVyc2lvbiAxLjUuMSBvciBuZXdlcikiCiBtc2dzdHIgIkludHJvZHVrdGlvbiB0aWxsIEdpdCAoZsO2ciB2ZXJzaW9uIDEuNS4xIG9jaCBzZW5hcmUpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTAKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMQogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiw5Z2ZXJzaWt0IMO2dmVyIHJla29tbWVuZGVyYWRlIGFyYmV0c2Zsw7ZkZW4gbWVkIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIyCisjOiBidWlsdGluL2hlbHAuYzo0MjMKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICJEZSB2YW5saWdhIEdpdC12w6RnbGVkbmluZ2FybmEgw6RyOlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDAKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgIlwiZ2l0ICVzXCIgw6RyIGV0dCBhbGlhcyBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIzogYnVpbHRpbi9oZWxwLmM6NDYzIGJ1aWx0aW4vaGVscC5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKIG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgIm9iamVrdHR5cCBzdMOkbW1lciBpbnRlIMO2dmVyZW5zIHZpZCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAiZW1vdHRvZyBpbnRlIGRldCBmw7ZydsOkbnRhZGUgb2JqZWt0ZXQgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIm9iamVrdGV0ICVzOiBmw7ZydsOkbnRhZCB0eXAgJXMsIHPDpWcgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaWxsICVkIGJ5dGUiCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBmaWxsICVkIGJ5dGVzIgogbXNnc3RyWzBdICJrYW4gaW50ZSBmeWxsYSAlZCBieXRlIgogbXNnc3RyWzFdICJrYW4gaW50ZSBmeWxsYSAlZCBieXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MAogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAidGlkaWd0IGZpbHNsdXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgxCiBtc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKIG1zZ3N0ciAiaW5kYXRhbMOkc2ZlbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTMKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAiYW52w6RuZGUgZmxlciBieXRlIMOkbiB0aWxsZ8OkbmdsaWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgInBha2V0IGbDtnIgc3RvcnQgZsO2ciBudXZhcmFuZGUgZGVmaW5pdGlvbiBhdiBvZmZfdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MwogbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKIG1zZ3N0ciAicGFrZXQgw6RyIHN0w7ZycmUgw6RuIHRpbGzDpXRlbiBtYXhpbWFsIHN0b3JsZWsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBwYWtldGZpbGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKIG1zZ3N0ciAicGFrZXRzaWduYXR1ciBzdMOkbW1lciBpbnRlIMO2dmVyZW5zIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICJwYWtldHZlcnNpb24gJTxQUkl1MzI+IHN0w7ZkcyBlaiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgInBha2V0ZXQgaGFyIGZlbGFrdGlndCBvYmpla3QgdmlkIGluZGV4ICU8UFJJdU1BWD46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJpbmZsYXRlIHJldHVybmVyYWRlICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyOAogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgImluZGV4dsOkcmRlc3BpbGwgZsO2ciBkZWx0YWJhc29iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzYKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBpcyBvdXQgb2YgYm91bmQiCiBtc2dzdHIgImRlbHRhYmFzaW5kZXggdXRhbmbDtnIgZ3LDpG5zZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgIm9rw6RuZCBvYmpla3R0eXAgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc1CiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcInByZWFkXCIgcMOlIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCiBtc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCiBtc2dzdHJbMF0gImbDtnIgdGlkaWd0IHNsdXQgcMOlIHBha2V0ZmlsZW4sICU8UFJJdU1BWD4gYnl0ZSBzYWtuYXMiCiBtc2dzdHJbMV0gImbDtnIgdGlkaWd0IHNsdXQgcMOlIHBha2V0ZmlsZW4sICU8UFJJdU1BWD4gYnl0ZSBzYWtuYXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAzCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgImFsbHZhcmxpZyBpbmZsYXRlLWlua29uc2VrdmVucyIKIAogIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMyBidWlsdGluL2luZGV4LXBhY2suYzo4MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNiBidWlsdGluL2luZGV4LXBhY2suYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJTSEExLUtPTExJU0lPTiBVUFBUw4RDS1QgVklEICVzICEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBpbmZvcm1hdGlvbiBvbSBiZWZpbnRsaWd0IG9iamVrdCAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2EgYmVmaW50bGlndCBvYmpla3QgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgIm9naWx0aWd0IGJsb2Itb2JqZWt0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICJvZ2lsdGlndCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTQKIG1zZ2lkICJFcnJvciBpbiBvYmplY3QiCiBtc2dzdHIgIkZlbCBpIG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIkludGUgYWxsYSBiYXJub2JqZWt0IGbDtnIgJXMga2FuIG7DpXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyNCBidWlsdGluL2luZGV4LXBhY2suYzo5NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyOCBidWlsdGluL2luZGV4LXBhY2suYzo5NTkKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0aWxsw6RtcGEgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMzAKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiVGFyIGVtb3Qgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiU2thcGFyIGluZGV4IGbDtnIgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY0CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJwYWtldGV0IMOkciB0cmFzaWd0IChTSEExIHN0w6RtbWVyIGludGUpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICJrYW4gaW50ZSB1dGbDtnJhIFwiZnN0YXRcIiBww6UgcGFrZXRmaWwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzIKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgInBha2V0IGhhciBza3LDpHAgaSBzbHV0ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODQKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJmw7ZydmlycmFkIGJvcnRvbSB2YW52ZXR0IGkgcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDcKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJBbmFseXNlcmFyIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjEwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0csOlZDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJmw7ZydmlycmFkIGJvcnRvbSB2YW52ZXR0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAic2x1dGbDtnJkZXMgbWVkICVkIGxva2FsdCBvYmpla3QiCiBtc2dzdHJbMV0gInNsdXRmw7ZyZGVzIG1lZCAlZCBsb2thbGEgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjcwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJPdsOkbnRhZCBzdmFuc2NoZWNrc3VtbWEgZsO2ciAlcyAodHJhc2lnIGRpc2s/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAicGFrZXRldCBoYXIgJWQgb2FuYWx5c2VyYXQgZGVsdGEiCiBtc2dzdHJbMV0gInBha2V0ZXQgaGFyICVkIG9hbmFseXNlcmFkZSBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1dGbDtnJhIFwiZGVmbGF0ZVwiIHDDpSB0aWxsYWd0IG9iamVrdCAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICJsb2thbHQgb2JqZWt0ICVzIMOkciB0cmFzaWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA4CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgImZlbCB2aWQgc3TDpG5nbmluZyBhdiBwYWtldGZpbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHRhIHNrcml2YSBcImtlZXBcIi1maWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDE5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJha24gaW50ZSBzdMOkbmdhIHNrcml2ZW4gXCJrZWVwXCItZmlsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDQ2CiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhIGluZGV4ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgImZlbGFrdGlnIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NiBidWlsdGluL2luZGV4LXBhY2suYzoxNjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCi1tc2dzdHIgInRyw6Vkc3TDtmQgc2FrbmFzLCBpZ25vcmVyYXIgJXMiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiZWZpbnRsaWcgcGFrZXRmaWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiZWZpbnRsaWcgcGFrZXQtaWR4LWZpbCBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICJpY2tlLWRlbHRhOiAlZCBvYmpla3QiCiBtc2dzdHJbMV0gImlja2UtZGVsdGE6ICVkIG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgogbXNnc3RyWzBdICJrZWRqZWzDpG5nZCA9ICVkOiAlbHUgb2JqZWt0IgogbXNnc3RyWzFdICJrZWRqZWzDpG5nZCA9ICVkOiAlbHUgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICJwYWtldGZpbG5hbW5ldCBcIiVzXCIgc2x1dGFyIGludGUgbWVkIFwiLnBhY2tcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjk4Ci0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzE0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyMyBidWlsdGluL2luZGV4LXBhY2suYzoxNzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDMKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiLS1maXgtdGhpbiBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDUKIG1zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tc3RkaW4ga3LDpHZlciBldHQgZ2l0LWFya2l2IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzUzCiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICItLXZlcmlmeSBhbmdhdnMgdXRhbiBwYWtldGZpbG5hbW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CisjOiBidWlsdGluL2luaXQtZGIuYzo1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSB0YSBzdGF0dXMgcMOlIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHRhIHN0YXR1cyBww6UgbWFsbGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBrYXRhbG9nZW4gKG9wZW5kaXIpIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBsw6RuayAocmVhZGxpbmspIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEgc3ltYm9saXNrIGzDpG5rIFwiJXNcIiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg0CisjOiBidWlsdGluL2luaXQtZGIuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgImthbiBpbnRlIGtvcGllcmEgXCIlc1wiIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OAorIzogYnVpbHRpbi9pbml0LWRiLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgImlnbm9yZXJhciBtYWxsZW4gJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExOQorIzogYnVpbHRpbi9pbml0LWRiLmM6MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCiBtc2dzdHIgIm1hbGxhcm5hIGhpdHRhZGVzIGludGUgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNAorIzogYnVpbHRpbi9pbml0LWRiLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICJrb3BpZXJhZGUgaW50ZSBtYWxsYXIgZnLDpW4gXCIlc1wiOiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzI3CisjOiBidWlsdGluL2luaXQtZGIuYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgImthbiBpbnRlIGhhbnRlcmEgZmlsdHlwICVkIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMzAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAia2FuIGludGUgZmx5dHRhICVzIHRpbGwgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OCBidWlsdGluL2luaXQtZGIuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzIGZpbm5zIHJlZGFuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIk9taW5pdGllcmFkZSBiZWZpbnRsaWd0IGRlbGF0IEdpdC1hcmtpdiBpICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIk9taW5pdGllcmFkZSBiZWZpbnRsaWd0IEdpdC1hcmtpdiBpICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA4CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiSW5pdGllcmFkZSB0b210IGRlbGF0IEdpdC1hcmtpdiBpICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJJbml0aWVyYWRlIHRvbXQgR2l0LWFya2l2IGkgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC04OTIwLDI1ICs5MjI5LDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PG1hbGxrYXRhbG9nPl0gWy0tIgogInNoYXJlZFs9PGJlaMO2cmlnaGV0ZXI+XV0gWzxrYXRhbG9nPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgxCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgImJlaMO2cmlnaGV0ZXIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJhbmdlIGF0dCBnaXQtYXJraXZldCBza2FsbCBkZWxhcyBibGFuZCBmbGVyYSBhbnbDpG5kYXJlIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTUgYnVpbHRpbi9pbml0LWRiLmM6NTIwCisjOiBidWlsdGluL2luaXQtZGIuYzo1MTYgYnVpbHRpbi9pbml0LWRiLmM6NTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBta2RpciAlcyIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEga2F0YWxvZ2VuIChta2RpcikgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKIG1zZ3N0ciAia2FuIGludGUgYnl0YSBrYXRhbG9nIChjaGRpcikgdGlsbCAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ1CisjOiBidWlsdGluL2luaXQtZGIuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCkBAIC04OTQ3LDcgKzkyNTYsNyBAQAogIiVzIChlbGxlciAtLXdvcmstdHJlZT08a2F0YWxvZz4pIGludGUgdGlsbMOldGV0IHV0YW4gYXR0IGFuZ2UgJXMgKGVsbGVyIC0tZ2l0LSIKICJkaXI9PGthdGFsb2c+KSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTczCisjOiBidWlsdGluL2luaXQtZGIuYzo1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAiS2FuIGludGUga29tbWEgw6V0IGFyYmV0c2thdGFsb2dlbiBcIiVzXCIiCkBAIC04OTgwLDExMiArOTI4OSwxMTIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJpbmdlbiBpbmRhdGFmaWwgYW5naXZlbiBmw7ZyIHJlZGlnZXJpbmcgcMOlIHBsYXRzIgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPGZsYWdnb3I+XSBbPHZlcnNpb25zaW50ZXJ2YWxsPl0gW1stLV0gPHPDtmt2w6RnPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDUKKyM6IGJ1aWx0aW4vbG9nLmM6NDYKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzxmbGFnZ29yPl0gPG9iamVrdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODQKKyM6IGJ1aWx0aW4vbG9nLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9naWx0aWcgZmxhZ2dhIGbDtnIgLS1kZWNvcmF0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5CisjOiBidWlsdGluL2xvZy5jOjE0NwogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICJ1bmRlcnRyeWNrIGRpZmYtdXRkYXRhIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDgKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAidmlzYSBrw6RsbGtvZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIkFudsOkbmQgZS1wb3N0bWFwcG5pbmdzZmlsIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MgorIzogYnVpbHRpbi9sb2cuYzoxNTAKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJkZWtvcmVyaW5nc2ZsYWdnb3IiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1CisjOiBidWlsdGluL2xvZy5jOjE1MwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJCZWhhbmRsYSByYWRpbnRlcnZhbGxldCBuLG0gaSBmaWxlbiwgbWVkIGLDtnJqYW4gcMOlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjQxCisjOiBidWlsdGluL2xvZy5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIlNsdXR1dGRhdGE6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDg2CisjOiBidWlsdGluL2xvZy5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiBmZWxha3RpZyBmaWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CisjOiBidWlsdGluL2xvZy5jOjUxMiBidWlsdGluL2xvZy5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2Egb2JqZWt0ZXQgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjE4CisjOiBidWlsdGluL2xvZy5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICJPa8OkbmQgdHlwOiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3MzkKKyM6IGJ1aWx0aW4vbG9nLmM6NzUxCiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgdXRhbiB2w6RyZGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODM5CisjOiBidWlsdGluL2xvZy5jOjg1MgogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAibmFtbmV0IHDDpSB1dGRhdGFrYXRhbG9nZW4gw6RyIGbDtnIgbMOlbmd0IgogCi0jOiBidWlsdGluL2xvZy5jOjg1NAorIzogYnVpbHRpbi9sb2cuYzo4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAiS2FuIGludGUgw7ZwcG5hIHBhdGNoZmlsZW4gJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODY4CisjOiBidWlsdGluL2xvZy5jOjg4NQogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICJCZWjDtnZlciBwcmVjaXMgZXR0IGludGVydmFsbC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODc4CisjOiBidWlsdGluL2xvZy5jOjg5NQogbXNnaWQgIk5vdCBhIHJhbmdlLiIKIG1zZ3N0ciAiSW50ZSBldHQgaW50ZXJ2YWxsLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5ODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTAwMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIk9tc2xhZ3NicmV2ZXQgYmVow7Z2ZXIgZS1wb3N0Zm9ybWF0IgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTA4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJ0b2tpZ3QgaW4tcmVwbHktdG86ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEwOTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTEwOAogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPGZsYWdnb3I+XSBbPHNlZGFuPiB8IDxyZXZpc2lvbnNpbnRlcnZhbGw+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQxCisjOiBidWlsdGluL2xvZy5jOjExNTgKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiVHbDpSB1dGRhdGFrYXRhbG9nZXI/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyNDggYnVpbHRpbi9sb2cuYzoxODkxIGJ1aWx0aW4vbG9nLmM6MTg5MyBidWlsdGluL2xvZy5jOjE5MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NSBidWlsdGluL2xvZy5jOjE5MDggYnVpbHRpbi9sb2cuYzoxOTEwIGJ1aWx0aW4vbG9nLmM6MTkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAiT2vDpG5kIGluY2hlY2tuaW5nICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTggYnVpbHRpbi9ub3Rlcy5jOjg4NCBidWlsdGluL3RhZy5jOjQ3NgorIzogYnVpbHRpbi9sb2cuYzoxMjc1IGJ1aWx0aW4vbm90ZXMuYzo4ODYgYnVpbHRpbi90YWcuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIkt1bmRlIGludGUgc2zDpSB1cHAgXCIlc1wiIHNvbSBlbiBnaWx0aWcgcmVmZXJlbnMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4MAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGV4YWt0IHNhbW1hbnNsYWduaW5nc2Jhcy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2NworIzogYnVpbHRpbi9sb2cuYzoxMjg0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgogInBsZWFzZSB1c2UgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byB0byB0cmFjayBhIHJlbW90ZSBicmFuY2guXG4iCkBAIC05MDk2LDMxNSArOTQwNSwzMjAgQEAKICJFbGxlciBzw6Uga2FuIGR1IGFuZ2UgYmFzaW5jaGVja25pbmcgbWVkIC0tYmFzZT08YmFzLWluY2hlY2tuaW5ncy1pZD4gIgogIm1hbnVlbGx0LiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg3CisjOiBidWlsdGluL2xvZy5jOjEzMDQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGV4YWt0IHNhbW1hbnNsYWduaW5nc2JhcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjk4CisjOiBidWlsdGluL2xvZy5jOjEzMTUKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImJhc2luY2hlY2tuaW5nZW4gYsO2ciB2YXJhIGbDtnJmYWRlciB0aWxsIHJldmlzaW9uc2xpc3RhbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzAyCisjOiBidWlsdGluL2xvZy5jOjEzMTkKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiYmFzaW5jaGVja25pbmdlbiBiw7ZyIGludGUgdmFyYSBpIHJldmlzaW9uc2xpc3RhbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzUxCisjOiBidWlsdGluL2xvZy5jOjEzNjgKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgcGF0Y2gtaWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwOAorIzogYnVpbHRpbi9sb2cuYzoxNDI1CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiYW52w6RuZCBbUEFUQ0ggbi9tXSDDpHZlbiBmw7ZyIGVuIGVuc2FtIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyOAogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICJhbnbDpG5kIFtQQVRDSF0gw6R2ZW4gZsO2ciBmbGVyYSBwYXRjaGFyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICJza3JpdiBwYXRjaGFybmEgcMOlIHN0YW5kYXJkIHV0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICJnZW5lcmVyYSBldHQgZsO2bGplYnJldiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE5CisjOiBidWlsdGluL2xvZy5jOjE0MzYKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgImFudsOkbmQgZW5rZWwgbnVtbWVyc2VrdmVucyBmw7ZyIHV0ZGF0YWZpbG5hbW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMAorIzogYnVpbHRpbi9sb2cuYzoxNDM3CiBtc2dpZCAic2Z4IgogbXNnc3RyICJzZngiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMQorIzogYnVpbHRpbi9sb2cuYzoxNDM4CiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgImFudsOkbmQgPHNmeD4gaXN0w6RsbGV0IGbDtnIgXCIucGF0Y2hcIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIzCisjOiBidWlsdGluL2xvZy5jOjE0NDAKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJiw7ZyamEgbnVtcmVyYSBwYXRjaGFyIHDDpSA8bj4gaXN0w6RsbGV0IGbDtnIgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI1CisjOiBidWlsdGluL2xvZy5jOjE0NDIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIm1hcmtlcmEgc2VyaWVuIHNvbSBOOnRlIGbDtnJzw7ZrIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NAogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIkFudsOkbmQgIFtSRkMgUEFUQ0hdIGlzdMOkbGxldCBmw7ZyIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMAorIzogYnVpbHRpbi9sb2cuYzoxNDQ3CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJBbnbDpG5kIFs8cHJlZml4Pl0gaXN0w6RsbGV0IGbDtnIgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgInNwYXJhIGZpbGVybmEgaSA8a2F0YWxvZz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNgorIzogYnVpbHRpbi9sb2cuYzoxNDUzCiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgInRhIGludGUgYm9ydCBlbGxlciBsw6RnZyB0aWxsIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorIzogYnVpbHRpbi9sb2cuYzoxNDU2CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAic2tyaXYgaW50ZSBiaW7DpHJhIGRpZmZhciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQxCisjOiBidWlsdGluL2xvZy5jOjE0NTgKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAiYW52w6RuZCBoYXNodsOkcmRlIG1lZCBub2xsb3IgaSBGcm9tLWh1dnVkIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MAogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAidGEgaW50ZSBtZWQgcGF0Y2hhciBzb20gbW90c3ZhcmFyIGVuIHVwcHN0csO2bXNpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ1CisjOiBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgInZpc2EgcGF0Y2hmb3JtYXQgaXN0w6RsbGV0IGbDtnIgc3RhbmRhcmQgKHBhdGNoICsgc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NworIzogYnVpbHRpbi9sb2cuYzoxNDY0CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJFLXBvc3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAorIzogYnVpbHRpbi9sb2cuYzoxNDY1CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJodXZ1ZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ5CisjOiBidWlsdGluL2xvZy5jOjE0NjYKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJsw6RnZyB0aWxsIGUtcG9zdGh1dnVkIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAgYnVpbHRpbi9sb2cuYzoxNDUyCisjOiBidWlsdGluL2xvZy5jOjE0NjcgYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgImVwb3N0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImFkZCBUbzogaGVhZGVyIgotbXNnc3RyICJMw6RnZyB0aWxsIG1vdHRhZ2FyaHV2dWQgKFwiVG86XCIpIgorbXNnc3RyICJsw6RnZyB0aWxsIG1vdHRhZ2FyaHV2dWQgKFwiVG86XCIpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImFkZCBDYzogaGVhZGVyIgotbXNnc3RyICJMw6RnZyB0aWxsIGtvcGllaHV2dWQgKFwiQ2M6XCIpIgorbXNnc3RyICJsw6RnZyB0aWxsIGtvcGllaHV2dWQgKFwiQ2M6XCIpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQogbXNnaWQgImlkZW50IgogbXNnc3RyICJpZGVudCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU1CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICJzw6R0dCBGcsOlbi1hZHJlc3MgdGlsbCA8aWRlbnQ+IChlbGxlciBpbmNoZWNrYXJlIG9tIGlkZW50IHNha25hcykiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NworIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVkZGVsYW5kZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU4CisjOiBidWlsdGluL2xvZy5jOjE0NzUKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCi1tc2dzdHIgIkfDtnIgZGV0IGbDtnJzdGEgYnJldmV0IGV0dCBzdmFyIHRpbGwgPG1lZGRlbGFuZGUtaWQ+IgorbXNnc3RyICJnw7ZyIGRldCBmw7Zyc3RhIGJyZXZldCBldHQgc3ZhciB0aWxsIDxtZWRkZWxhbmRlLWlkPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU5IGJ1aWx0aW4vbG9nLmM6MTQ2MgorIzogYnVpbHRpbi9sb2cuYzoxNDc2IGJ1aWx0aW4vbG9nLmM6MTQ3OQogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICJncsOkbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MAorIzogYnVpbHRpbi9sb2cuYzoxNDc3CiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAiYmlmb2dhIHBhdGNoZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworIzogYnVpbHRpbi9sb2cuYzoxNDgwCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiZ8O2ciBwYXRjaGVuIGV0dCBpbmxpbmUtb2JqZWt0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NAogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICJha3RpdmVyYSBicmV2dHLDpWRuaW5nLCB0eXBlcjogc2hhbGxvdywgZGVlcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDY5CisjOiBidWlsdGluL2xvZy5jOjE0ODYKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgInNpZ25hdHVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NwogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBzaWduYXR1ciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcxCisjOiBidWlsdGluL2xvZy5jOjE0ODgKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAiYmFzaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgorIzogYnVpbHRpbi9sb2cuYzoxNDg5CiBtc2dpZCAiYWRkIHByZXJlcXVpc2l0ZSB0cmVlIGluZm8gdG8gdGhlIHBhdGNoIHNlcmllcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBmw7ZyaGFuZHNrcsOkdmQgdHLDpGRpbmZvIGkgcGF0Y2hzZXJpZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAorIzogYnVpbHRpbi9sb2cuYzoxNDkxCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICJsw6RnZyB0aWxsIHNpZ25hdHVyIGZyw6VuIGZpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc1CisjOiBidWlsdGluL2xvZy5jOjE0OTIKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICJ2aXNhIGludGUgZmlsbmFtbiBmw7ZyIHBhdGNoYXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NQorIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCittc2dzdHIgIm9naWx0aWcgaWRlbnQtcmFkOiAlcyIKKworIzogYnVpbHRpbi9sb2cuYzoxNTgyCiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItbiBvY2ggLWsga2FuIGludGUgYW52w6RuZGFzIHNhbXRpZGlndC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NworIzogYnVpbHRpbi9sb2cuYzoxNTg0CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgb2NoIC1rIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MgogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIC0tbmFtZS1vbmx5IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NAogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgLS1uYW1lLXN0YXR1cyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc5CisjOiBidWlsdGluL2xvZy5jOjE1OTYKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIC0tY2hlY2siCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYwOQorIzogYnVpbHRpbi9sb2cuYzoxNjI2CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgInN0YW5kYXJkIHV0LCBlbGxlciBrYXRhbG9nLCB2aWxrZW4gc2thbGwgZGV0IHZhcmE/IgogCi0jOiBidWlsdGluL2xvZy5jOjE2MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIGthdGFsb2dlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcwNQorIzogYnVpbHRpbi9sb2cuYzoxNzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2Egc2lnbmF0dXJmaWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5NAogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2thcGEgdXRkYXRhZmlsZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPHVwcHN0csO2bT4gWzxodXZ1ZD4gWzxncsOkbnM+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4ODAKKyM6IGJ1aWx0aW4vbG9nLmM6MTg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZW4gc3DDpXJhZCBmasOkcnJncmVuLCBhbmdlIDx1cHBzdHLDtm0+IG1hbnVlbGx0LlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDY4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxmbGFnZ29yPl0gWzxmaWw+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpZXJhIGZpbHN0YXR1cyBtZWQgdGFnZ2FyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTExCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE5CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgImFudsOkbmQgc23DpSBib2tzdMOkdmVyIGbDtnIgXCJhbnRhIG9mw7Zyw6RuZHJhZGVcIi1maWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJ2aXNhIGNhY2hhZGUgZmlsZXIgaSB1dGRhdGEgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMwogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGJvcnR0YWduYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBtb2RpZmllcmFkZSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNwogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBhbmRyYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOQogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGlnbm9yZXJhZGUgZmlsZXIgaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBrw7ZhdCBpbm5laMOlbGxzIG9iamVrdG5hbW4gaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzQKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJ2aXNhIGZpbGVyIGkgZmlsc3lzdGVtZXQgc29tIGJlaMO2dmVyIHRhcyBib3J0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICJ2aXNhIGVuZGFzdCBuYW1uIGbDtnIgXCJhbmRyYVwiIGthdGFsb2dlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOAogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICJ2aXNhIHJhZHNsdXQgaSBmaWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgInZpc2EgaW50ZSB0b21tYSBrYXRhbG9nZXIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgInZpc2EgZWogc2FtbWFuc2xhZ25hIGZpbGVyIGkgdXRkYXRhIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgInZpc2EgXCJyZXNvbHZlLXVuZG9cIi1pbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiaG9wcGEgw7Z2ZXIgZmlsZXIgc29tIG1vdHN2YXJhciBtw7Zuc3RlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MAogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgImV4a2x1ZGVyYSBtw7Zuc3RlciBzb20gbMOkc2VzIGZyw6VuIDxmaWw+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgImzDpHMgeXR0ZXJsaWdhcmUgcGVyLWthdGFsb2ctZXhrbHVkZXJpbmdzbcO2bnN0ZXIgZnLDpW4gPGZpbD4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJsw6RnZyB0aWxsIGdpdDpzIHN0YW5kYXJkZXhrbHVkZXJpbmdhciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJnw7ZyIHV0ZGF0YSByZWxhdGl2IHRpbGwgcHJvamVrdGV0cyB0b3Bwa2F0YWxvZyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWt1cnNlcmEgbmVyIGkgdW5kZXJtb2R1bGVyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJvbSBlbiA8ZmlsPiBpbnRlIMOkciBpbmRleGV0LCBiZXRyYWt0YSBkZXQgc29tIGV0dCBmZWwiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjQKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAidHLDpGQtaWd0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY1CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAibMOldHNhcyBhdHQgc8O2a3bDpGdhciBib3J0dGFnbmEgc2VkYW4gPHRyw6RkLWlndD4gZm9ydGZhcmFuZGUgZmlubnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjcKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJ2aXNhIGZlbHPDtmtuaW5nc3V0ZGF0YSIKIApAQCAtOTQxOCw4NSArOTczMiw4NiBAQAogIiAgICAgICAgICAgICAgICAgICAgIFstcSB8IC0tcXVpZXRdIFstLWV4aXQtY29kZV0gWy0tZ2V0LXVybF1cbiIKICIgICAgICAgICAgICAgICAgICAgICBbLS1zeW1yZWZdIFs8YXJraXY+IFs8cmVmZXJlbnNlcj4uLi5dXSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MgogbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgogbXNnc3RyICJ2aXNhIGludGUgZmrDpHJyLVVSTCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MSBidWlsdGluL2xzLXJlbW90ZS5jOjUzCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjUzIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTUKIG1zZ2lkICJleGVjIgogbXNnc3RyICJleGVjIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUyIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTQKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTQgYnVpbHRpbi9scy1yZW1vdGUuYzo1NgogbXNnaWQgInBhdGggb2YgZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUgaG9zdCIKIG1zZ3N0ciAic8O2a3bDpGcgdGlsbCBnaXQtdXBsb2FkLXBhY2sgcMOlIGZqw6RycmVuIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU2CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU4CiBtc2dpZCAibGltaXQgdG8gdGFncyIKIG1zZ3N0ciAiYmVncsOkbnNhIHRpbGwgdGFnZ2FyIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU3CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU5CiBtc2dpZCAibGltaXQgdG8gaGVhZHMiCiBtc2dzdHIgImJlZ3LDpG5zYSB0aWxsIGh1dnVkZW4iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTgKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAKIG1zZ2lkICJkbyBub3Qgc2hvdyBwZWVsZWQgdGFncyIKIG1zZ3N0ciAidmlzYSBpbnRlIGF2c2thbGFkZSB0YWdnYXIiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKIG1zZ2lkICJ0YWtlIHVybC48YmFzZT4uaW5zdGVhZE9mIGludG8gYWNjb3VudCIKIG1zZ3N0ciAidGEgaMOkbnN5biB0aWxsIHVybC48YmFzPi5pbnN0ZWFkT2YiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgImF2c2x1dGEgbWVkIGZlbGtvZCAyIG9tIG1vdHN2YXJhbmRlIHJlZmVyZW5zZXIgaW50ZSBoaXR0YXMiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjQKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjYKIG1zZ2lkICJzaG93IHVuZGVybHlpbmcgcmVmIGluIGFkZGl0aW9uIHRvIHRoZSBvYmplY3QgcG9pbnRlZCBieSBpdCIKIG1zZ3N0ciAidmlzYSB1bmRlcmxpZ2dhbmRlIHJlZmVyZW5zIG9jaCBvYmpla3RldCBkZXQgcGVrYXIgcMOlIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoyOAorIzogYnVpbHRpbi9scy10cmVlLmM6MjkKIG1zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbHMtdHJlZSBbPGZsYWdnb3I+XSA8dHLDpGQtaWd0PiBbPHPDtmt2w6RnPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyNgorIzogYnVpbHRpbi9scy10cmVlLmM6MTI3CiBtc2dpZCAib25seSBzaG93IHRyZWVzIgogbXNnc3RyICJ2aXNhIGVuZGFzdCB0csOkZCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI4CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjkKIG1zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCiBtc2dzdHIgInJla3Vyc2VyYSBuZXIgaSB1bmRlcnRyw6RkIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMQogbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCiBtc2dzdHIgInZpc2EgdHLDpGQgbWVkYW4gcmVrdXJzZXJpbmciCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAidGVybWluZXJhIHBvc3RlciBtZWQgTlVMLWJ5dGUiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9scy10cmVlLmM6MTM1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiaW5rbHVkZXJhIG9iamVrdHN0b3JsZWsiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNiBidWlsdGluL2xzLXRyZWUuYzoxMzgKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNyBidWlsdGluL2xzLXRyZWUuYzoxMzkKIG1zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBmaWxuYW1uIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDEKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MgogbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCiBtc2dzdHIgImFudsOkbmQgZnVsbHN0w6RuZGlnYSBzw7ZrdsOkZ3NuYW1uIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0NAogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAidmlzYSBoZWxhIHRyw6RkZXQ7IGludGUgYmFyYSBha3R1ZWxsIGthdGFsb2cgKGltcGxpY2VyYXIgLS1mdWxsLW5hbWUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDYKLW1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKLW1zZ3N0ciAiZ2l0IG1lcmdlIFs8ZmxhZ2dvcj5dIFs8aW5jaGVja25pbmc+Li4uXSIKKyM6IGJ1aWx0aW4vbWFpbHNwbGl0LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCittc2dzdHIgInRvbSBtYm94OiDigJ0lc+KAnSIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjQ3Ci1tc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCi1tc2dzdHIgImdpdCBtZXJnZSBbPGZsYWdnb3I+XSA8bWVkZGVsYW5kZT4gSEVBRCA8aW5jaGVja25pbmc+IgorbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgorbXNnc3RyICJnaXQgbWVyZ2UgWzxmbGFnZ29yPl0gWzxpbmNoZWNrbmluZz4uLi5dIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKQEAgLTk1MjUsMzIgKzk4NDAsMzIgQEAKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiVGlsbGfDpG5nbGlnYSBza3LDpGRkYXJzeWRkYSBzdHJhdGVnaWVyIMOkcjoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTcgYnVpbHRpbi9wdWxsLmM6MTI3CisjOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEzNAogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgInZpc2EgaW50ZSBlbiBkaWZmc3RhdCBuw6RyIHNhbW1hbnNsYWduaW5nZW4gw6RyIGbDpHJkaWciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTMwCisjOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNwogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAidmlzYSBlbiBkaWZmc3RhdCBuw6RyIHNhbW1hbnNsYWduaW5nZW4gw6RyIGbDpHJkaWciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTMzCisjOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjE0MAogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIihzeW5vbnltIHRpbGwgLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTQzCiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAibMOkZ2cgdGlsbCAoc29tIG1lc3QgPG4+KSBwb3N0ZXIgZnLDpW4gc2hvcnRsb2cgdGlsbCBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQ2CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgInNrYXBhIGVuIGVuc2FtIGluY2hlY2tuaW5nIGlzdMOkbGxldCBmw7ZyIGVuIHNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgInV0ZsO2ciBlbiBpbmNoZWNrbmluZyBvbSBzYW1tYW5zbGFnbmluZ2VuIGx5Y2thZGVzIChzdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTQ1CisjOiBidWlsdGluL21lcmdlLmM6MjEwIGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAicmVkaWdlcmEgbWVkZGVsYW5kZSBpbm5hbiBpbmNoZWNrbmluZyIKIApAQCAtOTU1OCwyOCArOTg3MywyOCBAQAogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgInRpbGzDpXQgc25hYmJzcG9sbmluZyAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEzIGJ1aWx0aW4vcHVsbC5jOjE1MQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMyBidWlsdGluL3B1bGwuYzoxNTgKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICJhdmJyeXQgb20gc25hYmJzcG9sbmluZyBpbnRlIMOkciBtw7ZqbGlnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE1NAorIzogYnVpbHRpbi9tZXJnZS5jOjIxNyBidWlsdGluL3B1bGwuYzoxNjEKIG1zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCiBtc2dzdHIgImJla3LDpGZ0YSBhdHQgZGVuIG5hbW5naXZuYSBpbmNoZWNrbmluZ2VuIGhhciBlbiBnaWx0aWcgR1BHLXNpZ25hdHVyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4Ci0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vbm90ZXMuYzo3NzYgYnVpbHRpbi9wdWxsLmM6MTY1CisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJzdHJhdGVnaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTY2CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICJzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSBhdHQgYW52w6RuZGEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9wdWxsLmM6MTYyCisjOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2OQogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAiYWx0ZXJuYXRpdj12w6RyZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEgYnVpbHRpbi9wdWxsLmM6MTYzCisjOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgImFsdGVybmF0aXYgZsO2ciB2YWxkIHNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpIgogCkBAIC05NTk1LDcgKzk5MTAsNyBAQAogbXNnaWQgImNvbnRpbnVlIHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICJmb3J0c8OkdHQgZGVuIHDDpWfDpWVuZGUgc2FtbWFuc2xhZ25pbmdlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzMSBidWlsdGluL3B1bGwuYzoxNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzEgYnVpbHRpbi9wdWxsLmM6MTc3CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJ0aWxsw6V0IHNhbW1hbnNsYWduaW5nIGF2IG9yZWxhdGVyYWRlIGhpc3RvcmllciIKIApAQCAtOTY0MCwzMyArOTk1NSwzMyBAQAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIkZlbGFrdGlnIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMtc3Ryw6RuZzogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTcKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJIYW50ZXJhciBpbnRlIG7DpWdvdCBhbm5hdCDDpG4gZW4gc2FtbWFuc2xhZ25pbmcgYXYgdHbDpSBodXZ1ZGVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY3MAorIzogYnVpbHRpbi9tZXJnZS5jOjY3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJGZWxha3RpZyBmbGFnZ2EgZsO2ciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczNworIzogYnVpbHRpbi9tZXJnZS5jOjczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2EgZnLDpW4gXCIlc1wiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzQ2CisjOiBidWlsdGluL21lcmdlLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIkNoZWNrYXIgaW50ZSBpbiBzYW1tYW5zbGFnbmluZ2VuOyBhbnbDpG5kIFwiZ2l0IGNvbW1pdFwiIGbDtnIgYXR0IHNsdXRmw7ZyYSAiCiAiZGVuLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzUyCisjOiBidWlsdGluL21lcmdlLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKQEAgLTk2ODIsNzkgKzk5OTcsNjkgQEAKICJSYWRlciBzb20gaW5sZWRzIG1lZCBcIiVjXCIga29tbWVyIGlnbm9yZXJhcywgb2NoIGV0dCB0b210IG1lZGRlbGFuZGVcbiIKICJhdmJyeXRlciBpbmNoZWNrbmluZ2VuLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6Nzc3CiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICJUb210IGluY2hlY2tuaW5nc21lZGRlbGFuZGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk2CisjOiBidWlsdGluL21lcmdlLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAiVW5kZXJiYXJ0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODUxCisjOiBidWlsdGluL21lcmdlLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKICJLdW5kZSBpbnRlIHNsw6UgaWhvcCBhdXRvbWF0aXNrdDsgZml4YSBrb25mbGlrdGVyIG9jaCBjaGVja2EgaW4gcmVzdWx0YXRldC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg2NwotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKLW1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGVuIGluY2hlY2tuaW5nIgotCi0jOiBidWlsdGluL21lcmdlLmM6OTA4CisjOiBidWlsdGluL21lcmdlLmM6ODg5CiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICJJbnRlIHDDpSBuw6Vnb24gZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTEKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkluZ2VuIGZqw6RyciBmw7ZyIGFrdHVlbGwgZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTMKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkluZ2VuIHN0YW5kYXJkdXBwc3Ryw7ZtIGFuZ2l2ZW4gZsO2ciBha3R1ZWxsIGdyZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTE3CisjOiBidWlsdGluL21lcmdlLmM6ODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIkluZ2VuIGZqw6RycnNww6VyYW5kZSBncmVuIGbDtnIgJXMgZnLDpW4gJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKIG1zZ3N0ciAiRmVsYWt0aWd0IHbDpHJkZSBcIiVzXCIgaSBtaWxqw7Z2YXJpYWJlbG4gXCIlc1wiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKLW1zZ3N0ciAia3VuZGUgaW50ZSBzdMOkbmdhIFwiJXNcIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEwNjUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIGluICVzOiAlcyIKIG1zZ3N0ciAiaW50ZSBuw6Vnb3Qgdmkga2FuIHNsw6UgaWhvcCBtZWQgJXM6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA5OQorIzogYnVpbHRpbi9tZXJnZS5jOjEwODAKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAiaW50ZSBuw6Vnb3Qgdmkga2FuIHNsw6UgaWhvcCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ1CiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1hYm9ydCB0YXIgaW5nYSBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNzEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ5CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJJbmdlbiBzYW1tYW5zbGFnbmluZyBhdHQgYXZicnl0YSAoTUVSR0VfSEVBRCBzYWtuYXMpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYxCiBtc2dpZCAiLS1jb250aW51ZSBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1jb250aW51ZSB0YXIgaW5nYSBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExODcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY1CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgaW4gcHJvZ3Jlc3MgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJJbmdlbiBzYW1tYW5zbGFnbmluZyBww6Vnw6VyIChNRVJHRV9IRUFEIHNha25hcykuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIwMworIzogYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtOTc2Miw3ICsxMDA2Nyw3IEBACiAiRHUgaGFyIGludGUgYXZzbHV0YXQgc2FtbWFuc2xhZ25pbmdlbiAoTUVSR0VfSEVBRCBmaW5ucykuXG4iCiAiQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBpbm5hbiBkdSBzbMOlciBpaG9wLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTk3NzAsMTYwICsxMDA3NSwxNjAgQEAKICJEdSBoYXIgaW50ZSBhdnNsdXRhdCBkaW4gXCJjaGVycnktcGlja1wiIChDSEVSUllfUElDS19IRUFEIGZpbm5zKS5cbiIKICJDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGlubmFuIGR1IHNsw6VyIGlob3AuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMworIzogYnVpbHRpbi9tZXJnZS5jOjExOTEKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIkR1IGhhciBpbnRlIGF2c2x1dGF0IGRpbiBcImNoZXJyeS1waWNrXCIgKENIRVJSWV9QSUNLX0hFQUQgZmlubnMpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjAwCiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIkR1IGthbiBpbnRlIGtvbWJpbmVyYSAtLXNxdWFzaCBtZWQgLS1uby1mZi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMwCisjOiBidWlsdGluL21lcmdlLmM6MTIwOAogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICJJbmdlbiBpbmNoZWNrbmluZyBhbmdpdmVuIG9jaCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSDDpHIgZWogc2F0dC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQ3CisjOiBidWlsdGluL21lcmdlLmM6MTIyNQogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICJTdMO2ZGVyIGludGUgZW4gdGlsbHBsYXR0bmluZ3NpbmNoZWNrbmluZyBww6UgZXR0IHRvbXQgaHV2dWQgw6RubnUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQ5CisjOiBidWlsdGluL21lcmdlLmM6MTIyNwogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICJJY2tlLXNuYWJic3BvbGFkIGluY2hlY2tuaW5nIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgZXR0IHRvbXQgaHV2dWQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIGludGUgbsOlZ290IHZpIGthbiBzbMOlIGlob3AiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU2CisjOiBidWlsdGluL21lcmdlLmM6MTIzNAogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCi1tc2dzdHIgIkthbiBlbmRhc3Qgc2zDpSBpaG9wIGVuIGVuZGEgaW5jaGVja25pbmcgaSBldHQgdG9tdCBodXZ1ZC4iCittc2dzdHIgIkthbiBlbmRhc3Qgc2zDpSBpaG9wIGVuIGVuZGEgaW5jaGVja25pbmcgaSBldHQgdG9tdCBodXZ1ZCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKICJJbmNoZWNrbmluZ2VuICVzIGhhciBlbiBvYmV0cm9kZCBHUEctc2lnbmF0dXIgc29tIHDDpXN0w6VzIHZhcmEgZ2pvcmQgYXYgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxNQorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKICJJbmNoZWNrbmluZ2VuICVzIGhhciBlbiBmZWxha3RpZyBHUEctc2lnbmF0dXIgc29tIHDDpXN0w6VzIHZhcmEgZ2pvcmQgYXYgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxOAorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAiSW5jaGVja25pbmcgJXMgaGFyIGludGUgbsOlZ29uIEdQRy1zaWduYXR1ci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzIxCisjOiBidWlsdGluL21lcmdlLmM6MTI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkluY2hlY2tuaW5nZW4gJXMgaGFyIGVuIGtvcnJla3QgR1BHLXNpZ25hdHVyIGF2ICVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgzCisjOiBidWlsdGluL21lcmdlLmM6MTMzOQogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgInbDpGdyYXIgc2zDpSBzYW1tYW4gb3JlbGF0ZXJhZCBoaXN0b3JpayIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ4CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKIG1zZ3N0ciAiUmVkYW4gw6Agam91ci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAyCisjOiBidWlsdGluL21lcmdlLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAiVXBwZGF0ZXJhciAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICJGw7Zyc8O2a2VyIHJpa3RpZ3QgZW5rZWwgc2FtbWFuc2xhZ25pbmcgaSBpbmRleGV0Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUwCisjOiBidWlsdGluL21lcmdlLmM6MTQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOZWouXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc1CisjOiBidWlsdGluL21lcmdlLmM6MTQzMQogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZS4gWWVlYWghIgogbXNnc3RyICJSZWRhbiDDoCBqb3VyLiBUb3BwZW4hIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MzcKIG1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCiBtc2dzdHIgIkthbiBpbnRlIHNuYWJic3BvbGEsIGF2YnJ5dGVyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MDQgYnVpbHRpbi9tZXJnZS5jOjE1ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDYwIGJ1aWx0aW4vbWVyZ2UuYzoxNTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICLDhXRlcnNwb2xhciB0csOkZGV0IHRpbGwgb3LDtnJ0Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTA4CisjOiBidWlsdGluL21lcmdlLmM6MTQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAiRsO2cnPDtmtlciBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaW4gJXMuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NzQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICJJbmdlbiBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSBoYW50ZXJhZGUgc2FtbWFuc2xhZ25pbmdlbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJTYW1tYW5zbGFnbmluZyBtZWQgc3RyYXRlZ2luICVzIG1pc3NseWNrYWRlcy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICJBbnbDpG5kZXIgJXMgZsO2ciBhdHQgZsO2cmJlcmVkYSBsw7ZzbmluZyBmw7ZyIGhhbmQuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk3CisjOiBidWlsdGluL21lcmdlLmM6MTU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCiAiQXV0b21hdGlzayBzYW1tYW5zbGFnbmluZyBseWNrYWRlczsgc3RvcHBhciBmw7ZyZSBpbmNoZWNrbmluZyBzb20gw7Zuc2thdFxuIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyOQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzAKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gPGNvbW1pdD4gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSA8aW5jaGVja25pbmc+IDxpbmNoZWNrbmluZz4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGluY2hlY2tuaW5nPi4uLiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzEKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1pbmRlcGVuZGVudCA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1pbmRlcGVuZGVudCA8aW5jaGVja25pbmc+Li4uIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzMKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDxjb21taXQ+IDxjb21taXQ+IgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDxpbmNoZWNrbmluZz4gPGluY2hlY2tuaW5nPiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzMKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjM0CiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCi1tc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiA8aW5jaGVja25pbmc+IgorbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxpbmNoZWNrbmluZz5dIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKIG1zZ3N0ciAic2tyaXYgdXQgYWxsYSBnZW1lbnNhbW1hIGFuZsOkZGVyIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAiaGl0dGEgYW5mYWRlciBmw7ZyIGVua2VsIG4tdsOkZ3NzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAidmlzYSByZXZpc2lvbmVyIHNvbSBpbnRlIGthbiBuw6VzIGZyw6VuIGFuZHJhIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjMKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNAogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAiw6RyIGRlbiBmw7Zyc3RhIGFuZmFkZXIgdGlsbCBkZW4gYW5kcmE/IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNgogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICJzZSB2YXIgPGluY2hlY2tuaW5nPiBncmVuYWRlcyBhdiBmcsOlbiByZWZlcmVuc2xvZ2dlbiBmcsOlbiA8cmVmPiIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAorIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OQogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbPG9wdGlvbnM+XSBbLUwgPG5hbWUxPiBbLUwgPG9yaWc+IFstTCA8bmFtZTI+XV1dIDxmaWxlMT4gIgogIjxvcmlnLWZpbGU+IDxmaWxlMj4iCkBAIC05OTg3LDcgKzEwMjkyLDcgQEAKICM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjkgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKLW1zZ3N0ciAia3VuZGUgaW50ZSBiZXN0w6RtbWEgcmVmZXJlbnNlbiAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBiZXN0w6RtbWEgcmVmZXJlbnNlbiDigJ0lc+KAnSIKIAogIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NwogIywgYy1mb3JtYXQKQEAgLTk5OTgsMTU2ICsxMDMwMywxNjAgQEAKIG1zZ2lkICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogbXNnc3RyICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1MgorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMKIG1zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKIG1zZ3N0ciAiaW5kYXRhIMOkciBOVUwtdGVybWluZXJhZCIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMgYnVpbHRpbi93cml0ZS10cmVlLmM6MjQKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU0IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI1CiBtc2dpZCAiYWxsb3cgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICJ0aWxsw6V0IHNha25hZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NAorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgInRpbGzDpXQgc2thcGEgbWVyIMOkbiBldHQgdHLDpGQiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNgorIzogYnVpbHRpbi9tdi5jOjE3CiBtc2dpZCAiZ2l0IG12IFs8b3B0aW9ucz5dIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBbPGZsYWdnb3I+XSA8a8OkbGxhPi4uLiA8bcOlbD4iCiAKLSM6IGJ1aWx0aW4vbXYuYzo4MgorIzogYnVpbHRpbi9tdi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKIG1zZ3N0ciAiS2F0YWxvZ2VuICVzIMOkciBpIGluZGV4ZXQgb2NoIGludGUgZW4gdW5kZXJtb2R1bD8iCiAKLSM6IGJ1aWx0aW4vbXYuYzo4NCBidWlsdGluL3JtLmM6MjkwCisjOiBidWlsdGluL212LmM6ODUgYnVpbHRpbi9ybS5jOjI5MAogbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICIiCiAiS8O2YSBkaW5hIMOkbmRyaW5nYXIgaSAuZ2l0bW9kdWxlcyBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBmw7ZyIGF0dCBmb3J0c8OkdHRhIgogCi0jOiBidWlsdGluL212LmM6MTAyCisjOiBidWlsdGluL212LmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUuKnMgaXMgaW4gaW5kZXgiCiBtc2dzdHIgIiUuKnMgw6RyIGkgaW5kZXhldCIKIAotIzogYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAidHZpbmdhIGZseXR0YS/DpG5kcmEgbmFtbiDDpHZlbiBvbSBtw6VsZXQgZmlubnMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjUKKyM6IGJ1aWx0aW4vbXYuYzoxMjYKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAiaG9wcGEgw7Z2ZXIgZmVsIHZpZCBmbHl0dC9uYW1uw6RuZHJpbmciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjcKKyM6IGJ1aWx0aW4vbXYuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgImRlc3RpbmF0aW9uZW4gXCIlc1wiIMOkciBpbmdlbiBrYXRhbG9nIgogCi0jOiBidWlsdGluL212LmM6MTc4CisjOiBidWlsdGluL212LmM6MTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAiS29udHJvbGxlcmFyIG5hbW5ieXRlIGF2IFwiJXNcIiB0aWxsIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL212LmM6MTgyCisjOiBidWlsdGluL212LmM6MTgzCiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAiZmVsYWt0aWcga8OkbGxhIgogCi0jOiBidWlsdGluL212LmM6MTg1CisjOiBidWlsdGluL212LmM6MTg2CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAia2FuIGludGUgZmx5dHRhIGthdGFsb2cgdGlsbCBzaWcgc2rDpGx2IgogCi0jOiBidWlsdGluL212LmM6MTg4CisjOiBidWlsdGluL212LmM6MTg5CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgZmx5dHRhIGthdGFsb2cgw7Z2ZXIgZmlsIgogCi0jOiBidWlsdGluL212LmM6MTk3CisjOiBidWlsdGluL212LmM6MTk4CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAia8OkbGxrYXRhbG9nZW4gw6RyIHRvbSIKIAotIzogYnVpbHRpbi9tdi5jOjIyMgorIzogYnVpbHRpbi9tdi5jOjIyMwogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgImludGUgdmVyc2lvbnNoYW50ZXJhZCIKIAotIzogYnVpbHRpbi9tdi5jOjIyNQorIzogYnVpbHRpbi9tdi5jOjIyNgogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAiZGVzdGluYXRpb25lbiBmaW5ucyIKIAotIzogYnVpbHRpbi9tdi5jOjIzMworIzogYnVpbHRpbi9tdi5jOjIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICJza3JpdmVyIMO2dmVyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9tdi5jOjIzNgorIzogYnVpbHRpbi9tdi5jOjIzNwogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIkthbiBpbnRlIHNrcml2YSDDtnZlciIKIAotIzogYnVpbHRpbi9tdi5jOjIzOQorIzogYnVpbHRpbi9tdi5jOjI0MAogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAiZmxlcmEga8OkbGxvciBmw7ZyIHNhbW1hIG3DpWwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDEKKyM6IGJ1aWx0aW4vbXYuYzoyNDIKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImRlc3RpbmF0aW9uc2thdGFsb2dlbiBmaW5ucyBpbnRlIgogCi0jOiBidWlsdGluL212LmM6MjQ4CisjOiBidWlsdGluL212LmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywga8OkbGxhPSVzLCBtw6VsPSVzIgogCi0jOiBidWlsdGluL212LmM6MjY5CisjOiBidWlsdGluL212LmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIkJ5dGVyIG5hbW4gcMOlICVzIHRpbGwgJXNcbiIKIAotIzogYnVpbHRpbi9tdi5jOjI3NSBidWlsdGluL3JlbW90ZS5jOjcxMCBidWlsdGluL3JlcGFjay5jOjM4NAorIzogYnVpbHRpbi9tdi5jOjI3NiBidWlsdGluL3JlbW90ZS5jOjcxMSBidWlsdGluL3JlcGFjay5jOjM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGJ5dGEgbmFtbiBww6UgXCIlc1wiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU3CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzM4CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxmbGFnZ29yPl0gPGluY2hlY2tuaW5nPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMzOQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8ZmxhZ2dvcj5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzQwCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPGZsYWdnb3I+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJza3JpdiBlbmRhc3QgbmFtbiAoaW5nZW4gU0hBLTEpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk2CiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICJhbnbDpG5kIGVuZGFzdCB0YWdnYXIgZsO2ciBhdHQgbmFtbmdlIGluY2hlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTgKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiYW52w6RuZCBlbmRhc3QgcmVmZXJlbnNlciBzb20gbW90c3ZhcmFyIDxtw7Zuc3Rlcj4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDAKK21zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgImlnbm9yZXJhIHJlZmVyZW5zZXIgc29tIG1vdHN2YXJhciA8bcO2bnN0ZXI+IgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAyCiBtc2dpZCAibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIKIG1zZ3N0ciAibGlzdGEgYWxsYSBpbmNoZWNrbmluZ2FyIHNvbSBrYW4gbsOlcyBhbGxhIHJlZmVyZW5zZXIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDMKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImzDpHMgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgInRpbGzDpXQgYXR0IHNrcml2YSBcIm9kZWZpbmllcmFkZVwiIG5hbW4gKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICJhdnJlZmVyZXJhIHRhZ2dhciBpIGluZGF0YSAoYW52w6RuZHMgaW50ZXJudCkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNQorIzogYnVpbHRpbi9ub3Rlcy5jOjI2CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gW2xpc3QgWzxvYmplY3Q+XV0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPGFudGVja25pbmdzcmVmPl0gW2xpc3QgWzxvYmpla3Q+XV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjI3CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFkZCBbLWZdIFstLWFsbG93LWVtcHR5XSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gIgogInwgKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dIgpAQCAtMTAxNTUsMTIgKzEwNDY0LDEyIEBACiAiZ2l0IG5vdGVzIFstLXJlZiA8YW50ZWNrbmluZ3NyZWY+XSBhZGQgWy1mXSBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtZWRkPiB8IC1GICIKICI8ZmlsPiB8ICgtYyB8IC1DKSA8b2JqZWt0Pl0gWzxvYmpla3Q+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI3CisjOiBidWlsdGluL25vdGVzLmM6MjgKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBjb3B5IFstZl0gPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0PiIKIG1zZ3N0ciAiIgogImdpdCBub3RlcyBbLS1yZWYgPGFudGVja25pbmdzcmVmPl0gY29weSBbLWZdIDxmcsOlbi1vYmpla3Q+IDx0aWxsLW9iamVrdD4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjI5CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgogIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKQEAgLTEwMTY4LDIwNCArMTA0NzcsMjA1IEBACiAiZ2l0IG5vdGVzIFstLXJlZiA8YW50ZWNrbmluZ3NyZWY+XSBhcHBlbmQgWy0tYWxsb3ctZW1wdHldIFstbSA8bWVkZD4gfCAtRiAiCiAiPGZpbD4gfCAoLWMgfCAtQykgPG9iamVrdD5dIFs8b2JqZWt0Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8YW50ZWNrbmluZ3NyZWY+XSBlZGl0IFstLWFsbG93LWVtcHR5XSBbPG9iamVrdD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMQogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHNob3cgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8YW50ZWNrbmluZ3NyZWY+XSBzaG93IFs8b2JqZWt0Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMQorIzogYnVpbHRpbi9ub3Rlcy5jOjMyCiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPHN0cmF0ZWd5Pl0gPG5vdGVzLXJlZj4iCiBtc2dzdHIgIiIKICJnaXQgbm90ZXMgWy0tcmVmIDxhbnRlY2tuaW5nc3JlZj5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPHN0cmF0ZWdpPl0gIgogIjxhbnRlY2tuaW5nc3JlZj4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMgorIzogYnVpbHRpbi9ub3Rlcy5jOjMzCiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMzCisjOiBidWlsdGluL25vdGVzLmM6MzQKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM0CisjOiBidWlsdGluL25vdGVzLmM6MzUKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSByZW1vdmUgWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8YW50ZWNrbmluZ3NyZWY+XSByZW1vdmUgWzxvYmpla3Q+Li4uXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM1CisjOiBidWlsdGluL25vdGVzLmM6MzYKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBwcnVuZSBbLW4gfCAtdl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPGFudGVja25pbmdzcmVmPl0gcHJ1bmUgWy1uIHwgLXZdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNwogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGdldC1yZWYiCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPGFudGVja25pbmdzcmVmPl0gZ2V0LXJlZiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxCisjOiBidWlsdGluL25vdGVzLmM6NDIKIG1zZ2lkICJnaXQgbm90ZXMgW2xpc3QgWzxvYmplY3Q+XV0iCiBtc2dzdHIgImdpdCBub3RlcyBbbGlzdCBbPG9iamVrdD5dXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2CisjOiBidWlsdGluL25vdGVzLmM6NDcKIG1zZ2lkICJnaXQgbm90ZXMgYWRkIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBhZGQgWzxmbGFnZ29yPl0gWzxvYmpla3Q+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxCisjOiBidWlsdGluL25vdGVzLmM6NTIKIG1zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPGZsYWdnb3I+XSA8ZnLDpW4tb2JqZWt0PiA8dGlsbC1vYmpla3Q+IgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MwogbXNnaWQgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD5dLi4uIgogbXNnc3RyICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs8ZnLDpW4tb2JqZWt0PiA8dGlsbC1vYmpla3Q+XS4uLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU3CisjOiBidWlsdGluL25vdGVzLmM6NTgKIG1zZ2lkICJnaXQgbm90ZXMgYXBwZW5kIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBhcHBlbmQgWzxmbGFnZ29yPl0gWzxvYmpla3Q+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjYyCisjOiBidWlsdGluL25vdGVzLmM6NjMKIG1zZ2lkICJnaXQgbm90ZXMgZWRpdCBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgZWRpdCBbPG9iamVrdD5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OAogbXNnaWQgImdpdCBub3RlcyBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBzaG93IFs8b2JqZWt0Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjczCiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIFs8b3B0aW9ucz5dIDxub3Rlcy1yZWY+IgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgWzxmbGFnZ29yPl0gPGFudGVja25pbmdzcmVmPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjczCisjOiBidWlsdGluL25vdGVzLmM6NzQKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc0CisjOiBidWlsdGluL25vdGVzLmM6NzUKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxmbGFnZ29yPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjgwCiBtc2dpZCAiZ2l0IG5vdGVzIHJlbW92ZSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgcmVtb3ZlIFs8b2JqZWt0Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NAorIzogYnVpbHRpbi9ub3Rlcy5jOjg1CiBtc2dpZCAiZ2l0IG5vdGVzIHBydW5lIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgbm90ZXMgcHJ1bmUgWzxmbGFnZ29yPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjkwCiBtc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCiBtc2dzdHIgImdpdCBub3RlcyBnZXQtcmVmIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NQogbXNnaWQgIldyaXRlL2VkaXQgdGhlIG5vdGVzIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdDoiCiBtc2dzdHIgIlNrcml2L3JlZGlnZXJhIGFudGVja25pbmdhciBmw7ZyIGbDtmxqYW5kZSBvYmpla3Q6IgogCi0jOiBidWlsdGluL25vdGVzLmM6MTQ3CisjOiBidWlsdGluL25vdGVzLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHN0YXJ0YSBcInNob3dcIiBmw7ZyIG9iamVrdGV0IFwiJXNcIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjE1MgogbXNnaWQgImNvdWxkIG5vdCByZWFkICdzaG93JyBvdXRwdXQiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgdXRkYXRhIGZyw6VuIFwic2hvd1wiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTU5CisjOiBidWlsdGluL25vdGVzLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBhdnNsdXRhIFwic2hvd1wiIGbDtnIgb2JqZWt0ZXQgXCIlc1wiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTk0CisjOiBidWlsdGluL25vdGVzLmM6MTk1CiBtc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgogbXNnc3RyICJhbmdlIGlubmVow6VsbCBmw7ZyIGFudGVja25pbmdlbiBtZWQgYW50aW5nZW4gLW0gZWxsZXIgLUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGFudGVja25pbmdzb2JqZWt0IgogCi0jOiBidWlsdGluL25vdGVzLmM6MjA1CisjOiBidWlsdGluL25vdGVzLmM6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICJhbnRlY2tuaW5nZW5zIGlubmVow6VsbCBoYXIgbMOkbW5hdHMga3ZhciBpICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgXCIlc1wiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjM1IGJ1aWx0aW4vdGFnLmM6NDYzCisjOiBidWlsdGluL25vdGVzLmM6MjM2IGJ1aWx0aW4vdGFnLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgZWxsZXIgbMOkc2EgXCIlc1wiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNwotIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CisjOiBidWlsdGluL25vdGVzLmM6MjU1IGJ1aWx0aW4vbm90ZXMuYzozMDYgYnVpbHRpbi9ub3Rlcy5jOjMwOAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NSBidWlsdGluL25vdGVzLmM6NDMwIGJ1aWx0aW4vbm90ZXMuYzo1MTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OSBidWlsdGluL25vdGVzLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJrdW5kZSBpbnRlIHNsw6UgdXBwIFwiJXNcIiBzb20gZW4gZ2lsdGlnIHJlZmVyZW5zLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NworIzogYnVpbHRpbi9ub3Rlcy5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2Egb2JqZWt0ZXQgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2MQorIzogYnVpbHRpbi9ub3Rlcy5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBub3RlIGRhdGEgZnJvbSBub24tYmxvYiBvYmplY3QgJyVzJy4iCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGFudGVja25pbmdzZGF0YSBmcsOlbiBpY2tlLWJsb2Itb2JqZWt0ZXQgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgImZlbGFrdGlnIGluZGF0YXJhZDogXCIlc1wiLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMxNgorIzogYnVpbHRpbi9ub3Rlcy5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGtvcGllcmEgYW50ZWNrbmluZ2FyIGZyw6VuIFwiJXNcIiB0aWxsIFwiJXNcIiIKIAotIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKLSMuIGdpdCBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KLSM6IGJ1aWx0aW4vbm90ZXMuYzozNDUKKyMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhIGdpdAorIy4gbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCisjLgorIzogYnVpbHRpbi9ub3Rlcy5jOjM0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgInbDpGdyYXIgdXRmw7ZyYSBcIiVzXCIgcMOlIGFudGVja25pbmdhciBpICVzICh1dGFuZsO2ciByZWZzL25vdGVzLykiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNjUgYnVpbHRpbi9ub3Rlcy5jOjQyMCBidWlsdGluL25vdGVzLmM6NDk2Ci0jOiBidWlsdGluL25vdGVzLmM6NTA4IGJ1aWx0aW4vbm90ZXMuYzo1ODQgYnVpbHRpbi9ub3Rlcy5jOjY1MgotIzogYnVpbHRpbi9ub3Rlcy5jOjgwMiBidWlsdGluL25vdGVzLmM6OTQ5IGJ1aWx0aW4vbm90ZXMuYzo5NzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNjggYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk5CisjOiBidWlsdGluL25vdGVzLmM6NTExIGJ1aWx0aW4vbm90ZXMuYzo1ODcgYnVpbHRpbi9ub3Rlcy5jOjY1NAorIzogYnVpbHRpbi9ub3Rlcy5jOjgwNCBidWlsdGluL25vdGVzLmM6OTUxIGJ1aWx0aW4vbm90ZXMuYzo5NzIKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICJmw7ZyIG3DpW5nYSBwYXJhbWV0cmFyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo2NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODEgYnVpbHRpbi9ub3Rlcy5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgogbXNnc3RyICJpbmdhIGFudGVja25pbmdhciBoaXR0YWRlcyBmw7ZyIG9iamVrdGV0ICVzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCisjOiBidWlsdGluL25vdGVzLmM6NDAyIGJ1aWx0aW4vbm90ZXMuYzo1NjUKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgogbXNnc3RyICJhbnRlY2tuaW5nc2lubmVow6VsbCBzb20gc3Ryw6RuZyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CisjOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKIG1zZ3N0ciAiYW50ZWNrbmluZ3Npbm5laMOlbGwgaSBlbiBmaWwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLDpXRlcmFudsOkbmQgb2NoIHJlZGlnZXJhIGFuZ2l2ZXQgYW50ZWNrbmluZ3NvYmpla3QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLDpXRlcmFudsOkbmQgYW5naXZldCBhbnRlY2tuaW5nc29iamVrdCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CisjOiBidWlsdGluL25vdGVzLmM6NDE0IGJ1aWx0aW4vbm90ZXMuYzo1NzcKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgInRpbGzDpXQgbGFncmEgdG9tIGFudGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxNSBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAiZXJzw6R0dCBiZWZpbnRsaWdhIGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNworIzogYnVpbHRpbi9ub3Rlcy5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTEwMzc0LDI5ICsxMDY4NCwyOSBAQAogIkthbiBpbnRlIGzDpGdnYSB0aWxsIGFudGVja25pbmdhci4gSGl0dGFkZSBiZWZpbnRsaWdhIGFudGVja25pbmdhciBmw7ZyICIKICJvYmpla3RldCAlcy4gQW52w6RuZCBcIi1mXCIgZsO2ciBhdHQgc2tyaXZhIMO2dmVyIGJlZmludGxpZ2EgYW50ZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDUyIGJ1aWx0aW4vbm90ZXMuYzo1MzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NTUgYnVpbHRpbi9ub3Rlcy5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPdmVyd3JpdGluZyBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIlNrcml2ZXIgw7Z2ZXIgYmVmaW50bGlnYSBhbnRlY2tuaW5nYXIgZsO2ciBvYmpla3RldCAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo2MjQgYnVpbHRpbi9ub3Rlcy5jOjg4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2NiBidWlsdGluL25vdGVzLmM6NjI2IGJ1aWx0aW4vbm90ZXMuYzo4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIlRhciBib3J0IGFudGVja25pbmcgZsO2ciBvYmpla3RldCAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDg0CisjOiBidWlsdGluL25vdGVzLmM6NDg3CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgImzDpHMgb2JqZWt0IGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDg2CisjOiBidWlsdGluL25vdGVzLmM6NDg5CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgImzDpHMgb21za3Jpdm5pbmdzaW5zdMOkbGxuaW5nIGbDtnIgPGtvbW1hbmRvPiAoaW1wbGljZXJhciAtLXN0ZGluKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUwNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUwNwogbXNnaWQgInRvbyBmZXcgcGFyYW1ldGVycyIKIG1zZ3N0ciAiZsO2ciBmw6UgcGFyYW1ldHJhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyNQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCkBAIC0xMDQwNSwxMiArMTA3MTUsMTIgQEAKICJLYW4gaW50ZSBrb3BpZXJhIGFudGVja25pbmdhci4gSGl0dGFkZSBiZWZpbnRsaWdhIGFudGVja25pbmdhciBmw7ZyIG9iamVrdGV0ICIKICIlcy4gQW52w6RuZCBcIi1mXCIgZsO2ciBhdHQgc2tyaXZhIMO2dmVyIGJlZmludGxpZ2EgYW50ZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTM3CisjOiBidWlsdGluL25vdGVzLmM6NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgogbXNnc3RyICJhbnRlY2tuaW5nYXIgcMOlIGvDpGxsb2JqZWt0ZXQgJXMgc2FrbmFzLiBLYW4gaW50ZSBrb3BpZXJhLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTEwNDE5LDUyICsxMDcyOSw1MiBAQAogIkZsYWdnb3JuYSAtbS8tRi8tYy8tQyByZWtvbW1lbmRlcmFzIGludGUgZsO2ciB1bmRlcmtvbW1hbmRvdCBcImVkaXRcIi5cbiIKICJBbnbDpG5kIFwiZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQ1wiIGlzdMOkbGxldC5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjY4NwogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IHJlZmVyZW5zZW4gTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4NworIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgcmVmZXJlbnNlbiBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OTEKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBhcmJldHNrYXRhbG9nZW4gZsO2ciBcImdpdCBub3RlcyBtZXJnZVwiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzA5CisjOiBidWlsdGluL25vdGVzLmM6NzExCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBsw6RzYSByZWZlcmVuY2VzIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAia3VuZGUgaW50ZSBoaXR0YSBpbmNoZWNrbmluZyBmcsOlbiBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMworIzogYnVpbHRpbi9ub3Rlcy5jOjcxNQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBpbmNoZWNrbmluZyBmcsOlbiBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjcyOAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGJlc3TDpG1tYSBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzEKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBmw6RyZGlnc3TDpGxsYSBzYW1tYW5zbGFnbmluZyBhdiBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKIG1zZ3N0ciAib2vDpG5kIHNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpIGbDtnIgYW50ZWNrbmluZ2FyOiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3MwogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAiQWxsbcOkbm5hIGZsYWdnb3IiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgogbXNnc3RyICJGbGFnZ29yIGbDtnIgc2FtbWFuc2xhZ25pbmciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgpAQCAtMTA0NzIsNDggKzEwNzgyLDQ4IEBACiAibMOkcyBrb25mbGlrdGVyIGkgYW50ZWNrbmluZ2FyIG1lZCBhbmdpdmVuIHN0cmF0ZWdpIChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc3CisjOiBidWlsdGluL25vdGVzLmM6Nzc5CiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiQ2hlY2thciBpbiBlaiBzYW1tYW5zbGFnbmEgYW50ZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc5CisjOiBidWlsdGluL25vdGVzLmM6NzgxCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiIgogImbDpHJkaWdzdMOkbGwgc2FtbWFuc2xhZ25pbmcgYXYgYW50ZWNrbmluZ2FyIGdlbm9tIGF0dCBjaGVja2EgaW4gZWogIgogInNhbW1hbnNsYWduYSBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICJBdmJyeXQgbMO2c25pbmcgYXYgc2FtbWFuc2xhZ25pbmcgYXYgYW50ZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg1CiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImF2YnJ5dCBzYW1tYW5zbGFnbmluZyBhdiBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTYKIG1zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCiBtc2dzdHIgImthbiBpbnRlIGJsYW5kYSAtLWNvbW1pdCwgLS1hYm9ydCBlbGxlciAtcy8tLXN0cmF0ZWd5IgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzk5CisjOiBidWlsdGluL25vdGVzLmM6ODAxCiBtc2dpZCAibXVzdCBzcGVjaWZ5IGEgbm90ZXMgcmVmIHRvIG1lcmdlIgogbXNnc3RyICJtw6VzdGUgYW5nZSBlbiBhbnRlY2tuaW5ncy1yZWZlcmVucyBhdHQgc2zDpSBpaG9wIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODIzCisjOiBidWlsdGluL25vdGVzLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCiBtc2dzdHIgIm9rw6RuZCAtcy8tLXN0cmF0ZWd5OiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAic2FtbWFuc2xhZ25pbmcgYXYgYW50ZWNrbmluZ2FyIHRpbGwgJXMgw6RyIHJlZGFuIGlnw6VuZ3NhdHQgcMOlICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYzCisjOiBidWlsdGluL25vdGVzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBsYWdyYSBsw6RuayB0aWxsIGFrdHVlbGwgYW50ZWNrbmluZ3NyZWZlcmVucyAoJXMpIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODY1CisjOiBidWlsdGluL25vdGVzLmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKQEAgLTEwNTI0LDIyMSArMTA4MzQsMjIxIEBACiAiJXMgb2NoIGNoZWNrYSBpbiByZXN1bHRhdGV0IG1lZCBcImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdFwiLCBlbGxlciBhdmJyeXQgIgogInNhbW1hbnNsYWduaW5nZW4gbWVkIFwiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnRcIi5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg4NworIzogYnVpbHRpbi9ub3Rlcy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAiT2JqZWt0ZXQgJXMgaGFyIGluZ2VuIGFudGVja25pbmdcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjkwMQogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAiZsO2cnPDtmsgYXR0IHRhIGJvcnQgaWNrZS1leGlzdGVyYW5kZSBhbnRlY2tuaW5nYXIgw6RyIGludGUgZXR0IGZlbCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjkwNAogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsw6RzIG9iamVrdG5hbW4gZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDAgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3CisjOiBidWlsdGluL25vdGVzLmM6OTQyIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAogbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKIG1zZ3N0ciAidGEgaW50ZSBib3J0LCBiYXJhIHZpc2EiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDMKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgogbXNnc3RyICJyYXBwb3J0ZXJhIGJvcnR0YWduYSBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODUKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgImFudGVja25pbmdhci1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODYKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiYW52w6RuZCBhbnRlY2tuaW5nYXIgZnLDpW4gPGFudGVja25pbmdzcmVmPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgIm9rw6RudCB1bmRlcmtvbW1hbmRvOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMAogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPGZsYWdnb3I+Li4uXSBbPCA8cmVmbGlzdGE+IHwgPCA8b2JqZWt0bGlzdGE+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMQogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3B0aW9ucz4uLi5dIDxiYXNlLW5hbWU+IFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPGZsYWdnb3I+Li4uXSA8YmFzbmFtbj4gWzwgPHJlZmxpc3RhPiB8IDwgPG9iamVrdGxpc3RhPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgImZlbCBpIGRlZmxhdGUgKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc2CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAiIgogImluYWt0aXZlcmFyIHNrcml2bmluZyBhdiBiaXRrYXJ0YSwgcGFrZXQgZGVsYXMgcMOlIGdydW5kIGF2IHBhY2sucGFja1NpemVMaW1pdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzg5CiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICJTa3JpdmVyIG9iamVrdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDY4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNjkKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAiaW5ha3RpdmVyYXIgc2tyaXZuaW5nIGF2IGJpdGthcnRhIGTDpSBuw6VncmEgb2JqZWt0IGludGUgcGFja2FzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQzNAogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgIktvbXByaW1lcmFyIG9iamVrdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAiaW5kZXh2ZXJzaW9uZW4gJXMgc3TDtmRzIGVqIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJmZWxha3RpZyBpbmRleHZlcnNpb24gXCIlc1wiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg3NwogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJ2aXNhIGludGUgZsO2cmxvcHBzaW5kaWthdG9yIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg3OQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgInZpc2EgZsO2cmxvcHBzaW5kaWthdG9yIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4MQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICJ2aXNhIGbDtnJsb3Bwc2luZGlrYXRvciB1bmRlciBvYmpla3Rza3Jpdm5pbmdzZmFzZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg0CiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICJzb20gLS1hbGwtcHJvZ3Jlc3MgbsOkciBmw7ZybG9wcHNpbmRpa2F0b3JuIHZpc2FzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4NQogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInZlcnNpb25bLG9mZnNldF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg2CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAic2tyaXYgcGFrZXRpbmRleGZpbGVuIGkgYW5naXZlbiBpbmRleGZvcm1hdHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg5CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAibWF4aW1hbCBzdG9ybGVrIHDDpSB2YXJqZSB1dGRhdGFwYWtldGZpbCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTEKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgImlnbm9yZXJhIGzDpW5hZGUgb2JqZWt0IGZyw6VuIGFsdGVybmF0aXZhIG9iamVrdGxhZ2VyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MwogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JlcmEgcGFja2FkZSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODk1CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiYmVncsOkbnNhIHBha2V0ZsO2bnN0ZXIgZWZ0ZXIgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5NwogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgImJlZ3LDpG5zYSBwYWtldGbDtm5zdGVyIGVmdGVyIG1pbm5lIGbDtnJ1dG9tIG9iamVrdGdyw6RucyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTkKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAibWF4aW1hbCBsw6RuZ2QgcMOlIGRlbHRha2VkamEgdGlsbMOldGVuIGkgc2x1dGxpZ3QgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAxCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLDpXRlcmFudsOkbmQgYmVmaW50bGlnYSBkZWx0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDMKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLDpXRlcmFudsOkbmQgYmVmaW50bGlnYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA1CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICJhbnbDpG5kIE9GU19ERUxUQS1vYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA3CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiYW52w6RuZCB0csOlZGFyIHZpZCBzw7ZrbmluZyBlZnRlciBiw6RzdGEgZGVsdGF0csOkZmZhciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDkKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJmw7Zyc8O2ayBpbnRlIHNrYXBhIHRvbSBwYWtldHV0ZGF0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTEKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsw6RzIHJldmlzaW9uc2FyZ3VtZW50IGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMwogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJiZWdyw6Ruc2Egb2JqZWt0IHRpbGwgZGUgc29tIMOkbm51IGludGUgcGFja2F0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTYKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiaW5rbHVkZXJhIG9iamVrdCBzb20ga2FuIG7DpXMgZnLDpW4gbsOlZ29uIHJlZmVyZW5zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxOQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiaW5rbHVkZXJhIG9iamVrdCBzb20gcmVmZXJlcmFzIGZyw6VuIHJlZmVyZW5zbG9nZ3Bvc3RlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJpbmtsdWRlcmEgb2JqZWt0IHNvbSByZWZlcmVyYXMgZnLDpW4gaW5kZXhldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjUKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgInNrcml2IHBha2V0IHDDpSBzdGFuZGFyZCB1dCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjcKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImlua2x1ZGVyYSB0YWdnb2JqZWt0IHNvbSByZWZlcmVyYXIgb2JqZWt0IHNvbSBza2FsbCBwYWNrYXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI5CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJiZWjDpWxsIG9uw6ViYXJhIG9iamVrdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzEKIG1zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgInBhY2thIGzDtnNhIG9uw6ViYXJhIG9iamVrdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzMKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAicGFja2EgdXBwIG9uw6ViYXJhIG9iamVrdCBueWFyZSDDpG4gPHRpZD4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTM2CiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgInNrYXBhIHR1bm5hIHBha2V0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzOAogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICJza2FwYSBwYWNrZmlsZXIgbMOkbXBhZGUgZsO2ciBncnVuZGEgaMOkbXRuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQwCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiaWdub3JlcmEgcGFrZXQgc29tIGhhciB0aWxsaMO2cmFuZGUgLmtlZXAtZmlsIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MgogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgImtvbXByaW1lcmluZ3NncmFkIGbDtnIgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ0CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgImfDtm0gaW50ZSBpbmNoZWNrbmluZ2FyIG1lZCB5bXBuaW5nYXIgKFwiZ3JhZnRzXCIpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NgogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiYW52w6RuZCBiaXRrYXJ0aW5kZXggb20gdGlsbGfDpG5nbGlndCBmw7ZyIGF0dCByw6RrbmEgb2JqZWt0IHNuYWJiYXJlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0OAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgImFudsOkbmQgYml0a2FydGluZGV4IHRpbGxzYW1tYW5zIG1lZCBwYWNraW5kZXhldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNzUKIG1zZ2lkICJDb3VudGluZyBvYmplY3RzIgogbXNnc3RyICJSw6RrbmFyIG9iamVrdCIKIApAQCAtMTA3NzgsNDUgKzExMDg4LDQ5IEBACiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJrYW4gaW50ZSByZW5zYSBpIGV0dCBcInByZWNpb3VzLW9iamVrdFwiLWFya2l2IgogCi0jOiBidWlsdGluL3B1bGwuYzo1MSBidWlsdGluL3B1bGwuYzo1MworIzogYnVpbHRpbi9wdWxsLmM6NTQgYnVpbHRpbi9wdWxsLmM6NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIGbDtnIgJXM6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MworIzogYnVpbHRpbi9wdWxsLmM6NzYKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxmbGFnZ29yPl0gWzxhcmtpdj4gWzxyZWZzcGVjPi4uLl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjEKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyNAorbXNnaWQgImNvbnRyb2wgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICJzdHlybmluZyBmw7ZyIHJla3Vyc2l2IGjDpG10bmluZyBhdiB1bmRlcm1vZHVsZXIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyOAogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICJBbHRlcm5hdGl2IGfDpGxsYW5kZSBzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTI0CisjOiBidWlsdGluL3B1bGwuYzoxMzEKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgImlubGVtbWEgw6RuZHJpbmdhciBnZW5vbSBvbWJhc2VyaW5nIGkgc3TDpGxsZXQgZsO2ciBzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCisjOiBidWlsdGluL3B1bGwuYzoxNTUgYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjE5IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICJ0aWxsw6V0IHNuYWJic3BvbG5pbmciCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9wdWxsLmM6MTY0CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgInV0ZsO2ciBhdXRvbWF0aXNrdCBzdGFzaC9zdGFzaCBwb3AgZsO2cmUgb2NoIGVmdGVyIG9tYmFzZXJpbmciCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9wdWxsLmM6MTgwCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICJBbHRlcm5hdGl2IGfDpGxsYW5kZSBow6RtdG5pbmdhciIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTk1CisjOiBidWlsdGluL3B1bGwuYzoxOTgKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgImFudGFsIHVuZGVybW9kdWxlciBzb20gaMOkbXRhcyBwYXJhbGxlbGx0IgogCi0jOiBidWlsdGluL3B1bGwuYzoyODQKKyM6IGJ1aWx0aW4vcHVsbC5jOjI4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAiRmVsYWt0aWd0IHbDpHJkZSBmw7ZyIHB1bGwuZmY6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozOTcKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5OQogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCkBAIC0xMDgyNCwxNCArMTExMzgsMTQgQEAKICJEZXQgZmlubnMgaW5nZW4ga2FuZGlkYXQgZsO2ciBvbWJhc2VyaW5nIGJsYW5kIHJlZmVyZW5zZXJuYSBkdSBwcmVjaXMgaGFyICIKICJow6RtdGF0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzk5CisjOiBidWlsdGluL3B1bGwuYzo0MDEKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogIkRldCBmaW5ucyBpbmdlbiBrYW5kaWRhdCBmw7ZyIHNhbW1hbnNsYWduaW5nIGJsYW5kIHJlZmVyZW5zZXJuYSBkdSBwcmVjaXMgaGFyICIKICJow6RtdGF0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAwCisjOiBidWlsdGluL3B1bGwuYzo0MDIKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtMTA4MzksNyArMTExNTMsNyBAQAogIkRldCBiZXR5ZGVyIHZhbmxpZ3R2aXMgYXR0IGR1IGFudsOkbnQgZW4gam9rZXJ0ZWNrZW4tcmVmc3BlYyBzb20gaW50ZVxuIgogIm1vdHN2YXJhZGUgbsOlZ290IGkgZmrDpHJyw6RuZGVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAzCisjOiBidWlsdGluL3B1bGwuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC0xMDg1MCw0MiArMTExNjQsNDIgQEAKICJncmVuLiBFZnRlcnNvbSBkZXQgaW50ZSDDpHIgZGVuIGZqw6RyciBzb20gw6RyIGtvbmZpZ3VyZXJhZCBzb21cbiIKICJzdGFuZGFyZCBmw7ZyIGFrdHVlbGwgZ3JlbiBtw6VzdGUgZHUgYW5nZSBlbiBncmVuIHDDpSBrb21tYW5kb3JhZGVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiRHUgw6RyIGludGUgcMOlIG7DpWdvbiBncmVuIGbDtnIgbsOkcnZhcmFuZGUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTAgYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC4iCiBtc2dzdHIgIkFuZ2Ugdmlsa2VuIGdyZW4gZHUgdmlsbCBvbWJhc2VyYSBtb3QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNCBidWlsdGluL3B1bGwuYzo0MjkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKIG1zZ3N0ciAiQW5nZSB2aWxrZW4gZ3JlbiBkdSB2aWxsIHNsw6Ugc2FtbWFuIG1lZC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMyBidWlsdGluL3B1bGwuYzo0MjgKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MzAKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJTZSBnaXQtcHVsbCgxKSBmw7ZyIGRldGFsamVyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQyMSBidWlsdGluL3B1bGwuYzo0MzAKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MjMgYnVpbHRpbi9wdWxsLmM6NDMyCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgIjxmasOkcnI+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDMwIGJ1aWx0aW4vcHVsbC5jOjQzNSBnaXQtcmViYXNlLnNoOjQ1NQorIzogYnVpbHRpbi9wdWxsLmM6NDE3IGJ1aWx0aW4vcHVsbC5jOjQzMiBidWlsdGluL3B1bGwuYzo0MzcgZ2l0LXJlYmFzZS5zaDo0NTYKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAiPGdyZW4+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiRGV0IGZpbm5zIGluZ2VuIHNww6VybmluZ3NpbmZvcm1hdGlvbiBmw7ZyIGFrdHVlbGwgZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzMiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0MzQgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIk9tIGR1IHZpbGwgYW5nZSBzcMOlcm5pbmdzaW5mb3JtYXRpb24gZsO2ciBncmVuZW4ga2FuIGR1IGfDtnJhIGRldCBtZWQ6IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBjb25maWd1cmF0aW9uIHNwZWNpZmllcyB0byBtZXJnZSB3aXRoIHRoZSByZWYgJyVzJ1xuIgpAQCAtMTA4OTQsMjcgKzExMjA4LDI3IEBACiAiRGluYSBpbnN0w6RsbG5pbmdhciBhbmdlciBzYW1tYW5zbGFnbmluZyBtZWQgcmVmZXJlbnNlbiBcIiVzXCJcbiIKICJmcsOlbiBmasOkcnJlbiwgbWVuIG7DpWdvbiBzw6VkYW4gcmVmZXJlbnMgdG9ncyBpbnRlIGVtb3QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo3NTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjc5MgogbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKIG1zZ3N0ciAiaWdub3JlcmEgLS12ZXJpZnktc2lnbmF0dXJlcyBmw7ZyIG9tYmFzZXJpbmciCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgwMQorIzogYnVpbHRpbi9wdWxsLmM6ODQwCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAiLS1bbm8tXWF1dG9zdGFzaCDDpHIgZW5kYXN0IGdpbHRpZyBtZWQgLS1yZWJhc2UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0OAogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIlVwcGRhdGVyYXIgZW4gb2bDtmRkIGdyZW4gbWVkIMOkbmRyaW5nYXIgc29tIGxhZ3RzIHRpbGwgaSBpbmRleGV0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODEyCisjOiBidWlsdGluL3B1bGwuYzo4NTEKIG1zZ2lkICJwdWxsIHdpdGggcmViYXNlIgogbXNnc3RyICJwdWxsIG1lZCBvbWJhc2VyaW5nIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1MgogbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgImNoZWNrYSBpbiBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBww6UgZGVtLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODM4CisjOiBidWlsdGluL3B1bGwuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xMDkyNSw3ICsxMTIzOSw3IEBACiAic25hYmJzcG9sYXIgZGluIGFyYmV0c2thdGFsb2cgZnLDpW5cbiIKICJpbmNoZWNrbmluZ2VuICVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODQzCisjOiBidWlsdGluL3B1bGwuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0xMDk0MiwyNyArMTEyNTYsMzEgQEAKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICJmw7ZyIGF0dCDDpXRlcmfDpS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg1OAorIzogYnVpbHRpbi9wdWxsLmM6ODk3CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIkthbiBpbnRlIHNsw6UgaWhvcCBmbGVyYSBncmVuYXIgaSBldHQgdG9tdCBodXZ1ZC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg2MgorIzogYnVpbHRpbi9wdWxsLmM6OTAxCiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAiS2FuIGludGUgb21iYXNlcmEgb3ZhbnDDpSBmbGVyYSBncmVuYXIuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNgorIzogYnVpbHRpbi9wdWxsLmM6OTA4Cittc2dpZCAiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgImthbiBpbnRlIG9tYmFzZXJhIG1lZCBsb2thbHQgbGFncmFkZSDDpG5kcmluZ2FyIGkgdW5kZXJtb2Z1bCIKKworIzogYnVpbHRpbi9wdXNoLmM6MTcKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1c2ggWzxmbGFnZ29yPl0gWzxhcmtpdj4gWzxyZWZzcGVjPi4uLl1dIgogCi0jOiBidWlsdGluL3B1c2guYzo4OQorIzogYnVpbHRpbi9wdXNoLmM6OTAKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgInRhZ2dmw7Zya29ydG5pbmcgdXRhbiA8dGFnZz4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjk5CisjOiBidWlsdGluL3B1c2guYzoxMDAKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAiLS1kZWxldGUgZ29kdGFyIGVuZGFzdCBlbmtsYSBtw6VscmVmZXJlbnNuYW1uIgogCi0jOiBidWlsdGluL3B1c2guYzoxNDMKKyM6IGJ1aWx0aW4vcHVzaC5jOjE0NAogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCkBAIC0xMDk3MSw3ICsxMTI4OSw3IEBACiAiRsO2ciBhdHQgdsOkbGphIGV0dCBhdiBhbHRlcm5hdGl2ZW4gcGVybWFuZW50LCBzZSBwdXNoLmRlZmF1bHQgaSBcImdpdCBoZWxwICIKICJjb25maWdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0NgorIzogYnVpbHRpbi9wdXNoLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTEwOTk2LDcgKzExMzE0LDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgJXNcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTExMDExLDcgKzExMzI5LDcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bmFtbi1ww6UtZmrDpHJyZ3Jlbj5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtMTEwMjQsMTIgKzExMzQyLDEyIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICJEZW4gYWt0dWVsbGEgZ3JlbmVuICVzIGhhciBmbGVyYSB1cHBzdHLDtm1zZ3JlbmFyLCB2w6RncmFyIHPDpG5kYS4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4NgorIzogYnVpbHRpbi9wdXNoLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTExMDQwLDE0ICsxMTM1OCwxNCBAQAogImFrdHVlbGxhIGdyZW5lbiBcIiVzXCIsIHV0YW4gYXR0IHRhbGEgb20gZsO2ciBtaWcgdmFkIHNvbVxuIgogInNrYWxsIHPDpG5kYXMgZsO2ciBhdHQgdXBwZGF0ZXJhIGZqw6RycmdyZW5lbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NQorIzogYnVpbHRpbi9wdXNoLmM6MjQ2CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKICJEdSBhbmdhdiBpbmdhIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIGF0dCBzw6RuZGEsIG9jaCBwdXNoLmRlZmF1bHQgw6RyICIKICJcIm5vdGhpbmdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1MgorIzogYnVpbHRpbi9wdXNoLmM6MjUzCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xMTA1OSw3ICsxMTM3Nyw3IEBACiAiXCJnaXQgcHVsbCAuLi4uXCIpIGlubmFuIGR1IHPDpG5kZXIgaWdlbi5cbiIKICJTZSBhdnNuaXR0ZXQgXCJOb3RlIGFib3V0IGZhc3QtZm9yd2FyZFwiIGkgXCJnaXQgcHVzaCAtLWhlbHBcIiBmw7ZyIGRldGFsamVyLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjU4CisjOiBidWlsdGluL3B1c2guYzoyNTkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTExMDcxLDcgKzExMzg5LDcgQEAKICJcImdpdCBwdWxsIC4uLlwiKSBpbm5hbiBkdSBzw6RuZGVyIGlnZW4uXG4iCiAiU2UgYXZzbml0dGV0IFwiTm90ZSBhYm91dCBmYXN0LWZvcndhcmRcIiBpIFwiZ2l0IHB1c2ggLS1oZWxwXCIgZsO2ciBkZXRhbGplci4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2NAorIzogYnVpbHRpbi9wdXNoLmM6MjY1CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTExMDg1LDExICsxMTQwMywxMSBAQAogIih0LmV4LiBcImdpdCBwdWxsIC4uLlwiKSBpbm5hbiBkdSBzw6RuZGVyIGlnZW4uXG4iCiAiU2UgYXZzbml0dGV0IFwiTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzXCIgaSBcImdpdCBwdXNoIC0taGVscFwiIGbDtnIgZGV0YWxqZXIuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNzEKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3MgogbXNnaWQgIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0YWcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlbW90ZS4iCiBtc2dzdHIgIlVwcGRhdGVyaW5nYXJuYSBhdnZpc2FkZXMgZWZ0ZXJzb20gdGFnZ2VuIHJlZGFuIGZpbm5zIHDDpSBmasOkcnJlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAorIzogYnVpbHRpbi9wdXNoLmM6Mjc1CiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgpAQCAtMTExMDAsMjIgKzExNDE4LDIyIEBACiAicGVrYXIgcMOlIG7DpWdvdCBzb20gaW50ZSDDpHIgZW4gaW5jaGVja25pbmcsIHV0YW4gYXR0IGFudsOkbmRhIGZsYWdnYW5cbiIKICJcIi0tZm9yY2VcIi5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzM0CisjOiBidWlsdGluL3B1c2guYzozMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICJTw6RuZGVyIHRpbGwgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzM4CisjOiBidWlsdGluL3B1c2guYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBzw6RuZGEgdmlzc2EgcmVmZXJlbnNlciB0aWxsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY5CisjOiBidWlsdGluL3B1c2guYzozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAiZmVsYWt0aWd0IGFya2l2IFwiJXNcIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzcwCisjOiBidWlsdGluL3B1c2guYzozNzEKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC0xMTEzNiwxMTggKzExNDU0LDExOCBAQAogIlxuIgogIiAgICBnaXQgcHVzaCA8bmFtbj5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg4CisjOiBidWlsdGluL3B1c2guYzozODkKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIG9jaCAtLXRhZ3Mgw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg5CisjOiBidWlsdGluL3B1c2guYzozOTAKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLWFsbCBrYW4gaW50ZSBrb21iaW5lcmFzIG1lZCByZWZlcmVuc3NwZWNpZmlrYXRpb25lciIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk0CisjOiBidWlsdGluL3B1c2guYzozOTUKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIG9jaCAtLXRhZ3Mgw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk1CisjOiBidWlsdGluL3B1c2guYzozOTYKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLW1pcnJvciBrYW4gaW50ZSBrb21iaW5lcmFzIG1lZCByZWZlcmVuc3NwZWNpZmlrYXRpb25lciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDAwCisjOiBidWlsdGluL3B1c2guYzo0MDEKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgb2NoIC0tbWlycm9yIMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOAorIzogYnVpbHRpbi9wdXNoLmM6NTIzCiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAiYXJraXYiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOSBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6NTI0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAic8OkbmQgYWxsYSByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKIG1zZ3N0ciAic3BlZ2xhIGFsbGEgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyCisjOiBidWlsdGluL3B1c2guYzo1MjcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAidGEgYm9ydCByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyOAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAic8OkbmQgdGFnZ2FyIChrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIC0tYWxsIGVsbGVyIC0tbWlycm9yKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CisjOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICJ0dmluZ2EgdXBwZGF0ZXJpbmdhciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxODAKIG1zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgogbXNnc3RyICJyZWZuYW1uPjo8ZsO2cnbDpG50YSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CisjOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKIG1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAia3LDpHYgYXR0IHJlZjpzIHRpZGlnYXJlIHbDpHJkZSDDpHIgZGV0dGEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMgorIzogYnVpbHRpbi9wdXNoLmM6NTM3CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJzdHlyIHJla3Vyc2l2IGluc8OkbmRuaW5nIGF2IHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CisjOiBidWlsdGluL3B1c2guYzo1MzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICJhbnbDpG5kIHR1bm5hIHBha2V0IgogCi0jOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9wdXNoLmM6NTM2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4Ci0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE1OQorIzogYnVpbHRpbi9wdXNoLmM6NTQwIGJ1aWx0aW4vcHVzaC5jOjU0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2MAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAicHJvZ3JhbSBmw7ZyIGF0dCB0YSBlbW90IHBha2V0IgogCi0jOiBidWlsdGluL3B1c2guYzo1MzcKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MgogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICJzdMOkbGwgaW4gdXBwc3Ryw7ZtIGbDtnIgZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NQogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICJ0YSBib3J0IGxva2FsdCBib3J0dGFnbmEgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQyCisjOiBidWlsdGluL3B1c2guYzo1NDcKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAiZsO2cmJpZ8OlIHByZS1wdXNoLWtyb2siCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MworIzogYnVpbHRpbi9wdXNoLmM6NTQ4CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICJzw6RuZCBpbiBzYWtuYWRlIG1lbiByZWxldmFudGEgdGFnZ2FyIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MSBidWlsdGluL3NlbmQtcGFjay5jOjE2OAogbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgogbXNnc3RyICJHUEctc2lnbmVyYSBpbnPDpG5kbmluZ2VuIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICJiZWfDpHIgYXRvbWlza2EgdHJhbnNha3Rpb25lciBww6UgZmrDpHJyc2lkYW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTU0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcxCiBtc2dpZCAic2VydmVyLXNwZWNpZmljIgogbXNnc3RyICJzZXJ2ZXJzcGVjaWZpayIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NTQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKIG1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCiBtc2dzdHIgIiIKICJpbmdldCBhdHQgY2hlY2thIGluXG4iCiAiZmxhZ2dhIGF0dCBzw6RuZGEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MworIzogYnVpbHRpbi9wdXNoLmM6NTY4CiBtc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCiBtc2dzdHIgIi0tZGVsZXRlIMOkciBpbmtvbXBhdGliZWwgbWVkIC0tYWxsLCAtLW1pcnJvciBvY2ggLS10YWdzIgogCi0jOiBidWlsdGluL3B1c2guYzo1NjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MAogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICItLWRlbGV0ZSBrYW4gaW50ZSBhbnbDpG5kYXMgdXRhbiByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3B1c2guYzo1ODQKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4OQogbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCiBtc2dzdHIgInB1c2gtZmxhZ2dvciBrYW4gaW50ZSBpbm5laMOlbGxhIHJhZGJyeXRuaW5nIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjQwCiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKQEAgLTExMjU3LDc1ICsxMTU3NSw4NyBAQAogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKICJpbmRleC1vdXRwdXQ9PGZpbD5dICgtLWVtcHR5IHwgPHRyw6RkLWlndDE+IFs8dHLDpGQtaWd0Mj4gWzx0csOkZC1pZ3QzPl1dKSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIxCiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKIG1zZ3N0ciAic2tyaXYgcmVzdWx0ZXJhbmRlIGluZGV4IHRpbGwgPGZpbD4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICJ0w7ZtIGJhcmEgaW5kZXhldCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTUKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI2CiBtc2dpZCAiTWVyZ2luZyIKIG1zZ3N0ciAiU2FtbWFuc2xhZ25pbmciCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCiBtc2dzdHIgInV0ZsO2ciBlbiBzYW1tYW5zbGFnbmluZyBpIHRpbGzDpGdnIHRpbGwgZW4gbMOkc25pbmciCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE5CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAogbXNnaWQgIjMtd2F5IG1lcmdlIGlmIG5vIGZpbGUgbGV2ZWwgbWVyZ2luZyByZXF1aXJlZCIKIG1zZ3N0ciAiMy12w6Rnc3NhbW1hbnNsYWduaW5nIG9tIHNhbW1hbnNsYWduaW5nIHDDpSBmaWxuaXbDpSBlaiBrcsOkdnMiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgogbXNnaWQgIjMtd2F5IG1lcmdlIGluIHByZXNlbmNlIG9mIGFkZHMgYW5kIHJlbW92ZXMiCiBtc2dzdHIgIjMtdsOkZ3NzYW1tYW5zbGFnbmluZyBuw6RyIGRldCBmaW5ucyB0aWxsw6RnZyBvY2ggYm9ydHRhZ25pbmdhciIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAic29tIC1tLCBtZW4ga2FzdGEgYm9ydCBlaiBzYW1tYW5zbGFnbmEgcG9zdGVyIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICI8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgIjx1bmRlcmthdGFsb2c+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM2CiBtc2dpZCAicmVhZCB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB1bmRlciA8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgImzDpHMgaW4gdHLDpGRldCBpIGluZGV4ZXQgdW5kZXIgPHVuZGVya2F0YWxvZz4vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICJ1cHBkYXRlcmEgYXJiZXRza2F0YWxvZ2VuIG1lZCByZXN1bHRhdGV0IGZyw6VuIHNhbW1hbnNsYWduaW5nZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MQogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAiZ2l0aWdub3JlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgInRpbGzDpXQgZXhwbGljaXQgaWdub3JlcmFkZSBmaWxlciBhdHQgc2tyaXZhcyDDtnZlciIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ1CiBtc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgogbXNnc3RyICJrb250cm9sbGVyYSBpbnRlIGFyYmV0c2thdGFsb2dlbiBlZnRlciBzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ2CiBtc2dpZCAiZG9uJ3QgdXBkYXRlIHRoZSBpbmRleCBvciB0aGUgd29yayB0cmVlIgogbXNnc3RyICJ1cHBkYXRlcmEgaW50ZSBpbmRleGV0IGVsbGVyIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CiBtc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgogbXNnc3RyICJob3BwYSDDtnZlciBhdHQgYXBwbGljZXJhIGZpbHRlciBmw7ZyIGdsZXMgdXRjaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM5CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MAogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKIG1zZ3N0ciAiZmVsc8O2ayB1bnBhY2stdHJlZXMiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzo4Cittc2dpZCAiZ2l0IHJlYmFzZS0taGVscGVyIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcmViYXNlLS1oZWxwZXIgWzxmbGFnZ29yPl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyMAorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAiZm9ydHPDpHR0IG9tYmFzZXJpbmciCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyMgorbXNnaWQgImFib3J0IHJlYmFzZSIKK21zZ3N0ciAiYXZicnl0IG9tYmFzZXJpbmciCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjgKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWthdGFsb2c+IgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjc5MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MzgKIG1zZ2lkICIiCiAiQnkgZGVmYXVsdCwgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGluIGEgbm9uLWJhcmUgcmVwb3NpdG9yeVxuIgogImlzIGRlbmllZCwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhlIGluZGV4IGFuZCB3b3JrIHRyZWUgaW5jb25zaXN0ZW50XG4iCkBAIC0xMTM1NSw3ICsxMTY4NSw3IEBACiAiRsO2ciBhdHQgdW5kdmlrYSBkZXR0YSBtZWRkZWxhbmRlIG9jaCBmb3J0ZmFyYW5kZSBiZWjDpWxsYSBkZXRcbiIKICJub3JtYWxhIGJldGVlbmRldCwgc8OkdHQgXCJyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoXCIgdGlsbCBcInJlZnVzZVwiLiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODU4CiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKICInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgpAQCAtMTEzNzYsMjkgKzExNzA2LDI5IEBACiAiXG4iCiAiRsO2ciBhdHQgdW5kdmlrYSBkZXR0YSBtZWRkZWxhbmRlIGthbiBkdSBzw6R0dGEgZGV0IHRpbGwgXCJyZWZ1c2VcIi4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg4MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTMzCiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgInR5c3QiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ3CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIGVuIGthdGFsb2cuIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjQyMworIzogYnVpbHRpbi9yZWZsb2cuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIlwiJXNcIiBmw7ZyIFwiJXNcIiDDpHIgaW50ZSBlbiBnaWx0aWcgdGlkc3N0w6RtcGVsIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU0MCBidWlsdGluL3JlZmxvZy5jOjU0NQorIzogYnVpbHRpbi9yZWZsb2cuYzo1NDEgYnVpbHRpbi9yZWZsb2cuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiBnaWx0aWcgdGlkc3N0w6RtcGVsIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzCiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1lPiA8dXJsPiIKQEAgLTExNDA2LDgyICsxMTczNiw4MiBAQAogImdpdCByZW1vdGUgYWRkIFstdCA8Z3Jlbj5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbW4+IDx1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0IGJ1aWx0aW4vcmVtb3RlLmM6MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzozNQogbXNnaWQgImdpdCByZW1vdGUgcmVuYW1lIDxvbGQ+IDxuZXc+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbmFtZSA8Z2FtbWFsPiA8bnk+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYgYnVpbHRpbi9yZW1vdGUuYzo0MAogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbW4+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2IGJ1aWx0aW4vcmVtb3RlLmM6NDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcgYnVpbHRpbi9yZW1vdGUuYzo0NQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbW4+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8Z3Jlbj4pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3CisjOiBidWlsdGluL3JlbW90ZS5jOjE4CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbW4+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4CisjOiBidWlsdGluL3JlbW90ZS5jOjE5CiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1uPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gdXBkYXRlIFstcCB8IC0tcHJ1bmVdIFsoPGdyb3VwPiB8IDxyZW1vdGU+KS4uLl0iCiBtc2dzdHIgIiIKICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gdXBkYXRlIFstcCB8IC0tcHJ1bmVdIFsoPGdydXBwPiB8IDxmasOkcnI+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA8bmFtbj4gPGdyZW4+Li4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIxIGJ1aWx0aW4vcmVtb3RlLmM6NzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjIgYnVpbHRpbi9yZW1vdGUuYzo3MQogbXNnaWQgImdpdCByZW1vdGUgZ2V0LXVybCBbLS1wdXNoXSBbLS1hbGxdIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBnZXQtdXJsIFstLXB1c2hdIFstLWFsbF0gPG5hbW4+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3NgogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxuYW1uPiA8bnl1cmw+IFs8Z2FtbWFsdXJsPl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoyNCBidWlsdGluL3JlbW90ZS5jOjc3CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDxuYW1lPiA8bmV3dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDxuYW1uPiA8bnl1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI0IGJ1aWx0aW4vcmVtb3RlLmM6NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjUgYnVpbHRpbi9yZW1vdGUuYzo3OAogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtbj4gPHVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzAKIG1zZ2lkICJnaXQgcmVtb3RlIGFkZCBbPG9wdGlvbnM+XSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgYWRkIFs8ZmxhZ2dvcj5dIDxuYW1uPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0OQorIzogYnVpbHRpbi9yZW1vdGUuYzo1MAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbW4+IDxncmVuPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9yZW1vdGUuYzo1MQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPG5hbW4+IDxncmVuPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1NQorIzogYnVpbHRpbi9yZW1vdGUuYzo1NgogbXNnaWQgImdpdCByZW1vdGUgc2hvdyBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2hvdyBbPGZsYWdnb3I+XSA8bmFtbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjEKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPGZsYWdnb3I+XSA8bmFtbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYKIG1zZ2lkICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwPiB8IDxyZW1vdGU+XS4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxmbGFnZ29yPl0gWzxncnVwcD4gfCA8ZmrDpHJyPl0uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMiCiBtc2dzdHIgIlVwcGRhdGVyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNwogbXNnaWQgIiIKICItLW1pcnJvciBpcyBkYW5nZXJvdXMgYW5kIGRlcHJlY2F0ZWQ7IHBsZWFzZVxuIgogIlx0IHVzZSAtLW1pcnJvcj1mZXRjaCBvciAtLW1pcnJvcj1wdXNoIGluc3RlYWQiCkBAIC0xMTQ4OSw4NiArMTE4MTksODYgQEAKICItLW1pcnJvciDDpHIgZmFybGlnIG9jaCBmw7Zyw6VsZHJhZDsgYW52w6RuZFxuIgogIlx0IC0tbWlycm9yPWZldGNoIGVsbGVyIC0tbWlycm9yPXB1c2ggaXN0w6RsbGV0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBtaXJyb3IgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJva8OkbnQgYXJndW1lbnQgdGlsbCBtaXJyb3I6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjAKIG1zZ2lkICJmZXRjaCB0aGUgcmVtb3RlIGJyYW5jaGVzIgogbXNnc3RyICJow6RtdGEgZmrDpHJyZ3JlbmFybmEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MgogbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCiBtc2dzdHIgImltcG9ydGVyYSBhbGxhIHRhZ2dhciBvY2ggYXNzb2NpZXJhZGUgb2JqZWt0IHZpZCBow6RtdG5pbmciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NQogbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKIG1zZ3N0ciAiZWxsZXIgaMOkbXRhIGludGUgbsOlZ3JhIHRhZ2dhciBhbGxzICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjcKIG1zZ2lkICJicmFuY2goZXMpIHRvIHRyYWNrIgogbXNnc3RyICJncmVuKGFyKSBhdHQgc3DDpXJhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjgKIG1zZ2lkICJtYXN0ZXIgYnJhbmNoIgogbXNnc3RyICJodXZ1ZGdyZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY4CisjOiBidWlsdGluL3JlbW90ZS5jOjE2OQogbXNnaWQgInB1c2h8ZmV0Y2giCiBtc2dzdHIgInB1c2h8ZmV0Y2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE3MAogbXNnaWQgInNldCB1cCByZW1vdGUgYXMgYSBtaXJyb3IgdG8gcHVzaCB0byBvciBmZXRjaCBmcm9tIgogbXNnc3RyICJzdMOkbGwgaW4gYXJraXYgc29tIHNwZWdlbCBhdHQgc8OkbmRhIGVsbGVyIHRhIGVtb3QgZnLDpW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE4MgogbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCiBtc2dzdHIgImF0dCBhbmdlIGVuIG1hc3Rlci1ncmVuIGdlciBpbmdlbiBtZW5pbmcgbWVkIC0tbWlycm9yIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxODQKIG1zZ2lkICJzcGVjaWZ5aW5nIGJyYW5jaGVzIHRvIHRyYWNrIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCBmZXRjaCBtaXJyb3JzIgogbXNnc3RyICJhdHQgYW5nZSBncmVuYXIgYXR0IHNww6VyYSBnZXIgbWVuaW5nIGJhcmEgbWVkIGjDpG10bmluZ3NzcGVnbGFyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxOTEgYnVpbHRpbi9yZW1vdGUuYzo2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiZmrDpHJyYXJraXZldCAlcyBmaW5ucyByZWRhbi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjMzCisjOiBidWlsdGluL3JlbW90ZS5jOjE5NSBidWlsdGluL3JlbW90ZS5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZXR0IGdpbHRpZ3QgbmFtbiBww6UgZmrDpHJyYXJraXYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjM0CisjOiBidWlsdGluL3JlbW90ZS5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgbWFzdGVyICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgc2thcGEgbWFzdGVyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzozMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIGjDpG10YSBtYXBwbmluZyBmw7ZyIHJlZmVyZW5zc3BlY2lmaWthdGlvbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0MzcgYnVpbHRpbi9yZW1vdGUuYzo0NDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM4IGJ1aWx0aW4vcmVtb3RlLmM6NDQ2CiBtc2dpZCAiKG1hdGNoaW5nKSIKIG1zZ3N0ciAiKG1hdGNoYW5kZSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQ5CisjOiBidWlsdGluL3JlbW90ZS5jOjQ1MAogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIodGEgYm9ydCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzU3IGJ1aWx0aW4vcmVtb3RlLmM6ODU0CisjOiBidWlsdGluL3JlbW90ZS5jOjYyMyBidWlsdGluL3JlbW90ZS5jOjc1OCBidWlsdGluL3JlbW90ZS5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCiBtc2dzdHIgIkluZ2V0IHPDpWRhbnQgZmrDpHJyYXJraXY6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzOQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgYnl0YSBuYW1uIHDDpSBrb25maWd1cmF0aW9uc3Nla3Rpb25lbiBcIiVzXCIgdGlsbCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CisjOiBidWlsdGluL3JlbW90ZS5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKQEAgLTExNTc5LDE3ICsxMTkwOSwxNyBAQAogIlx0JXNcbiIKICJcdFVwcGRhdGVyYSBrb25maWd1cmF0aW9uZW4gbWFudWVsbHQgb20gbsO2ZHbDpG5kaWd0LiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CisjOiBidWlsdGluL3JlbW90ZS5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3OTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Nzk1CiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC0xMTYwMywzMDUgKzExOTMzLDMwNyBAQAogIk9ic2VydmVyYTogTsOlZ3JhIGdyZW5hciB1dGFuZsO2ciBoaWVyYXJraW4gcmVmcy9yZW1vdGVzLyB0b2dzIGludGUgYm9ydDtcbiIKICJmw7ZyIGF0dCB0YSBib3J0IGRlbSwgYW52w6RuZDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODA2CisjOiBidWlsdGluL3JlbW90ZS5jOjgwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCBrb25maWd1cmF0aW9uc3Nla3Rpb25lbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTA3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiBueSAobsOkc3RhIGjDpG10bmluZyBzcGFyYXIgaSByZW1vdGVzLyVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEzCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiBzcMOlcmFkIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMgorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTUKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKIG1zZ3N0ciAiIGbDtnJsZWdhZCAoYW52w6RuZCBcImdpdCByZW1vdGUgcHJ1bmVcIiBmw7ZyIGF0dCB0YSBib3J0KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAib2dpbHRpZyBicmFuY2guJXMubWVyZ2U7IGthbiBpbnRlIG9tYmFzZXJhIMO2dmVyID4gMSBncmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2MworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIgogbXNnc3RyICJvbWJhc2VyYXMgaW50ZXJha3RpdnQgcMOlIGZqw6RycmVuICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAib21iYXNlcmFzIHDDpSBmasOkcnJlbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiBzYW1tYW5zbMOlcyBtZWQgZmrDpHJyZW4gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgInNhbW1hbnNsw6VzIG1lZCBmasOkcnJlbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiUtKnMgICAgb2NoIG1lZCBmasOkcnJlbiAlc1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAic2thcGEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIyCiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICJ0YSBib3J0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNgogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgIsOgam91ciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICJrYW4gc25hYmJzcG9sYXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgImxva2FsIGbDtnLDpWxkcmFkIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyB0dmluZ2FyIHRpbGwgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBzw6RuZGVyIHRpbGwgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIHR2aW5nYXIgdGlsbCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBzw6RuZGVyIHRpbGwgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE3CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgImZyw6VnYSBpbnRlIGZqw6RycmFyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiBmasOkcnIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICBIw6RtdC1VUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDMgYnVpbHRpbi9yZW1vdGUuYzoxMTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ2IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MiBidWlsdGluL3JlbW90ZS5jOjEzMDEKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKGluZ2VuIFVSTCkiCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbiB3aXRoCi0jLiB0aGUgb25lIGluICIgIEZldGNoIFVSTDogJXMiIHRyYW5zbGF0aW9uCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTQgYnVpbHRpbi9yZW1vdGUuYzoxMTU2CisjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24KKyMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCisjLiB0cmFuc2xhdGlvbi4KKyMuCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICBTw6RuZC1VUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NiBidWlsdGluL3JlbW90ZS5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgSEVBRC1ncmVuOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQKIG1zZ2lkICIobm90IHF1ZXJpZWQpIgogbXNnc3RyICIoaW50ZSBmw7ZyZnLDpWdhZCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY2CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIob2vDpG5kKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKIG1zZ3N0ciAiICBIRUFELWdyZW4gKEhFQUQgcMOlIGZqw6RyciDDpHIgdHZldHlkaWcsIGthbiB2YXJhIGVuIGF2IGbDtmxqYW5kZSk6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAgRmrDpHJyZ3JlbjolcyIKIG1zZ3N0clsxXSAiICBGasOkcnJncmVuYXI6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OSBidWlsdGluL3JlbW90ZS5jOjEyMDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4NSBidWlsdGluL3JlbW90ZS5jOjEyMTEKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAoc3RhdHVzIGludGUgZsO2cmZyw6VnYWQpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIExva2FsIGdyZW4ga29uZmlndXJlcmFkIGbDtnIgXCJnaXQgcHVsbFwiOiIKIG1zZ3N0clsxXSAiICBMb2thbGEgZ3JlbmFyIGtvbmZpZ3VyZXJhZGUgZsO2ciBcImdpdCBwdWxsXCI6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAgTG9rYWxhIHJlZmVyZW5zZXIgc3BlZ2xhcyBhdiBcImdpdCBwdXNoXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIExva2FsIHJlZmVyZW5zIGtvbmZpZ3VyZXJhZCBmw7ZyIFwiZ2l0IHB1c2hcIiVzOiIKIG1zZ3N0clsxXSAiICBMb2thbGEgcmVmZXJlbnNlciBrb25maWd1cmVyYWRlIGbDtnIgXCJnaXQgcHVzaFwiJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyOQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAic8OkdHQgcmVmcy9yZW1vdGVzLzxuYW1uPi9IRUFEIGVubGlndCBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJ0YSBib3J0IHJlZnMvcmVtb3Rlcy88bmFtbj4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDYKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICJLYW4gaW50ZSBiZXN0w6RtbWEgSEVBRCBww6UgZmrDpHJyZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIkZsZXJhIEhFQUQtZ3JlbmFyIHDDpSBmasOkcnJlbi4gVsOkbGogZW4gZXhwbGljaXQgbWVkOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjUyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0YSBib3J0ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICJJbnRlIGVuIGdpbHRpZyByZWZlcmVuczogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzdMOkbGxhIGluICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMga29tbWVyIGJsaSBkaW5nbGFuZGUhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBoYXIgYmxpdml0IGRpbmdsYW5kZSEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCiBtc2dzdHIgIlJlbnNhciAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA4CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW3NrdWxsZSByZW5zYV0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIgKiBbcmVuc2FkXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzU2CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNjIKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICJyZW5zYSBmasOkcnJhciBlZnRlciBow6RtdG5pbmciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxOSBidWlsdGluL3JlbW90ZS5jOjE0NzMgYnVpbHRpbi9yZW1vdGUuYzoxNTQxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MjUgYnVpbHRpbi9yZW1vdGUuYzoxNDc5IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICJJbmdlbiBzw6VkYW4gZmrDpHJyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM1CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDEKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICJsw6RnZyB0aWxsIGdyZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQ4CiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAiaW5nZW4gZmrDpHJyIGFuZ2F2cyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjUKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAiZnLDpWdhIHPDpG5kLVVSTDplciBpc3TDpGxsZXQgZsO2ciBow6RtdGEtVVJMOmVyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NwogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAicmV0dXJuZXJhIGFsbGEgVVJMOmVyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBVUkxzIGNvbmZpZ3VyZWQgZm9yIHJlbW90ZSAnJXMnIgogbXNnc3RyICJpbmdlbiBVUkw6ZXIgYW5naXZuYSBmw7ZyIGZqw6RycmVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjEKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAibWFuaXB1bGVyYSBVUkw6YXIgZsO2ciBzw6RuZG5pbmciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI1CiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgInRhIGJvcnQgVVJMOmFyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMgogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQgLS1kZWxldGUgZ2VyIGluZ2VuIG1lbmluZyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICJGZWxha3RpZyBnYW1tYWx0IFVSTC1tw7Zuc3RlcjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAiSW5nZW4gc8OlZGFuIFVSTCBoaXR0YWRlczogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICJLb21tZXIgaW50ZSB0YSBib3J0IGFsbGEgaWNrZS1zw6RuZC1VUkw6ZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTk3CiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAidmFyIHByYXRzYW07IG3DpXN0ZSBza3JpdmFzIGbDtnJlIGV0dCB1bmRlcmtvbW1hbmRvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJPa8OkbnQgdW5kZXJrb21tYW5kbzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8ZmxhZ2dvcj5dIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIyCisjOiBidWlsdGluL3JlcGFjay5jOjIzCiBtc2dpZCAiIgogIkluY3JlbWVudGFsIHJlcGFja3MgYXJlIGluY29tcGF0aWJsZSB3aXRoIGJpdG1hcCBpbmRleGVzLiAgVXNlXG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3IgZGlzYWJsZSB0aGUgcGFjay53cml0ZWJpdG1hcHMgY29uZmlndXJhdGlvbi4iCkBAIC0xMTkxMCwxMjMgKzEyMjQyLDEyNyBAQAogIkFudsOkbmQgLS1uby13cml0ZS1iaXRtYXAtaW5kZXggZWxsZXIgaW5ha3RpdmVyYSBpbnN0w6RsbG5pbmdlblxuIgogInBhY2sud3JpdGViaXRtYXBzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAicGFja2EgYWxsdCBpIGV0dCBlbmRhIHBha2V0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2OAorIzogYnVpbHRpbi9yZXBhY2suYzoxNzAKIG1zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgogbXNnc3RyICJzYW1tYSBzb20gLWEsIG9jaCBnw7ZyIG9uw6ViYXJhIG9iamVrdCBsw7ZzYSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCiBtc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgogbXNnc3RyICJ0YSBib3J0IMO2dmVyZmzDtmRpZ2EgcGFrZXQsIG9jaCBrw7ZyIGdpdC1wcnVuZS1wYWNrZWQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NQogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJzw6RuZCAtLW5vLXJldXNlLWRlbHRhIHRpbGwgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJzw6RuZCAtLW5vLXJldXNlLW9iamVjdCB0aWxsIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CisjOiBidWlsdGluL3JlcGFjay5jOjE3OQogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAia8O2ciBpbnRlIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCisjOiBidWlsdGluL3JlcGFjay5jOjE4MgogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJzw6RuZCAtLWxvY2FsIHRpbGwgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICJza3JpdiBiaXRrYXJ0aW5kZXgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzCisjOiBidWlsdGluL3JlcGFjay5jOjE4NQogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICJjaXJrYWRhdHVtIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NAorIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICJtZWQgLUEsIGzDtnMgaW50ZSB1cHAgb2JqZWt0IMOkbGRyZSDDpG4gZGV0dGEiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJtZWQgLWEsIHBhY2thIG9tIG9uw6ViYXJhIG9iamVrdCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJzdG9ybGVrIHDDpSBmw7Zuc3RlciBhbnbDpG50IGbDtnIgZGVsdGFrb21wcmltZXJpbmciCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg5IGJ1aWx0aW4vcmVwYWNrLmM6MTkzCisjOiBidWlsdGluL3JlcGFjay5jOjE5MSBidWlsdGluL3JlcGFjay5jOjE5NwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICJieXRlIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE5MAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKIG1zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKIG1zZ3N0ciAic2FtbWEgc29tIG92YW4sIG1lbiBiZWdyw6Ruc2EgbWlubmVzc3Rvcmxla2VuIGlzdMOkbGxldCBmw7ZyIHBvc3RhbnRhbCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICJiZWdyw6Ruc2EgbWF4aW1hbHQgZGVsdGFkanVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE5NAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTYKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMiCittc2dzdHIgImJlZ3LDpG5zYXIgbWF4aW1hbHQgYW50YWwgdHLDpWRhciIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxOTgKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAibWF4aW1hbCBzdG9ybGVrIHDDpSB2YXJqZSBwYWtldGZpbCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjAwCiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgInBhY2thIG9tIG9iamVrdCBpIHBha2V0IG3DpHJrdGEgbWVkIC5rZWVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIwNgorIzogYnVpbHRpbi9yZXBhY2suYzoyMTAKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJrYW4gaW50ZSB0YSBib3J0IHBha2V0IGkgZXR0IFwicHJlY2lvdXMtb2JqZWN0c1wiLWFya2l2IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIxMAorIzogYnVpbHRpbi9yZXBhY2suYzoyMTQKIG1zZ2lkICItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC1BIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0ta2VlcC11bnJlYWNoYWJsZSBvY2ggLUEga2FuIGludGUgYW52w6RuZGFzIHNhbXRpZGlndCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzo0MDAgYnVpbHRpbi93b3JrdHJlZS5jOjExNQorIzogYnVpbHRpbi9yZXBhY2suYzo0MDYgYnVpbHRpbi93b3JrdHJlZS5jOjExNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIwCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDxvYmpla3Q+IDxlcnPDpHR0bmluZz4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIwCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMQogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1lZGl0IDxvYmplY3Q+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA8b2JqZWt0PiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSAtLWdyYWZ0IDxjb21taXQ+IFs8cGFyZW50Pi4uLl0iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0gLS1ncmFmdCA8aW5jaGVja25pbmc+IFs8ZsO2csOkbGRlcj4uLi5dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjMKIG1zZ2lkICJnaXQgcmVwbGFjZSAtZCA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgLWQgPG9iamVrdD4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNAogbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxtw7Zuc3Rlcj5dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI1IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MyBidWlsdGluL3JlcGxhY2UuYzozOTEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzMSBidWlsdGluL3JlcGxhY2UuYzozNjkgYnVpbHRpbi9yZXBsYWNlLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICJPYmpla3RuYW1uZXQgw6RyIGludGUgZ2lsdGlndDogXCIlc1wiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgImZlbGFrdGlnIHNhbW1hbnNsYWduaW5nc3RhZ2cgaSBpbmNoZWNrbmluZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzU3CisjOiBidWlsdGluL3JlcGxhY2UuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICJmZWxmb3JtYWQgc2FtbWFuc2xhZ25pbmdzdGFnZyBpIGluY2hlY2tuaW5nZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNjgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib3JpZ2luYWwgY29tbWl0ICclcycgY29udGFpbnMgbWVyZ2V0YWcgJyVzJyB0aGF0IGlzIGRpc2NhcmRlZDsgdXNlIC0tZWRpdCAiCkBAIC0xMjAzNSwyMDQgKzEyMzcxLDIwNCBAQAogImRlbiB1cnNwcnVuZ2xpZ2EgaW5jaGVja25pbmdlbiBcIiVzXCIgaW5uZWjDpWxsZXIgc2FtbWFuc2xhZ25pbmdzdGFnZ2VuIFwiJXMiCiAiXCIgc29tIGhhciBmw7Zya2FzdGF0czsgYW52w6RuZCAtLWVkaXQgaXN0w6RsbGV0IGbDtnIgLS1ncmFmdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG9yaWdpbmFsIGNvbW1pdCAnJXMnIGhhcyBhIGdwZyBzaWduYXR1cmUuIgogbXNnc3RyICJkZW4gdXJzcHJ1bmdsaWdhIGluY2hlY2tuaW5nZW4gXCIlc1wiIGhhciBlbiBncGctc2lnbmF0dXIuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOAogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICJzaWduYXR1cmVuIGtvbW1lciBhdHQgdGFzIGJvcnQgaSBlcnPDpHR0bmluZ3NpbmNoZWNrbmluZ2VuISIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGVyc8OkdHRuaW5nc2luY2hlY2tuaW5nIGbDtnI6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAidmlzYSBlcnPDpHR0bmluZ3NyZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOQogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgInRhIGJvcnQgZXJzw6R0dG5pbmdzcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM0CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDAKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAicmVkaWdlcmEgYmVmaW50bGlndCBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQxCiBtc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKIG1zZ3N0ciAiw6RuZHJhIGVuIGluY2hlY2tuaW5ncyBmw7Zyw6RsZHJhciIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM2CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDIKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICJlcnPDpHR0IHJlZmVyZW5zZW4gb20gZGVuIGZpbm5zIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MwogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAiYW52w6RuZCBpbnRlIHNueWdnIHZpc25pbmcgYXYgaW5uZWjDpWxsIGbDtnIgLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0NAogbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiYW52w6RuZCBkZXR0YSBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTIKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTMKIG1zZ2lkICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCA8cGF0aD4uLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogbXNnc3RyICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCA8cGF0aD4uLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjU4CisjOiBidWlsdGluL3JlcmVyZS5jOjU5CiBtc2dpZCAicmVnaXN0ZXIgY2xlYW4gcmVzb2x1dGlvbnMgaW4gaW5kZXgiCiBtc2dzdHIgInJlZ2lzdHJlcmEgcmVuYSBsw7ZzbmluZ2FyIGkgaW5kZXhldCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI2CisjOiBidWlsdGluL3Jlc2V0LmM6MjkKIG1zZ2lkICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogbXNnc3RyICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGluY2hlY2tuaW5nPl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNworIzogYnVpbHRpbi9yZXNldC5jOjMwCiBtc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzx0csOkZC1pZ3Q+XSBbLS1dIDxzw7ZrdsOkZ2FyPi4uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4CisjOiBidWlsdGluL3Jlc2V0LmM6MzEKIG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCiBtc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs8dHLDpGQtaWd0Pl0gWy0tXSBbPHPDtmt2w6RnYXI+Li4uXSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAiYmxhbmRhZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJzb2Z0IgogbXNnc3RyICJtanVrIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgImhhcmQiCiBtc2dzdHIgImjDpXJkIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgIm1lcmdlIgogbXNnc3RyICJzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJrZWVwIgogbXNnc3RyICJiZWjDpWxsIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3NwogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICJEdSBoYXIgaW50ZSBlbiBnaWx0aWcgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NgorIzogYnVpbHRpbi9yZXNldC5jOjc5CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiBIRUFELiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBoaXR0YSB0csOkZGVyIGbDtnIgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MgorIzogYnVpbHRpbi9yZXNldC5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIHRyw6RkZXIgZsO2ciAlcy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxMDAKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCiBtc2dzdHIgIkhFQUQgw6RyIG51IHDDpSAlcyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE4MworIzogYnVpbHRpbi9yZXNldC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICJLYW4gaW50ZSB1dGbDtnJhIGVuICVzIMOldGVyc3TDpGxsbmluZyBtaXR0IGkgZW4gc2FtbWFuc2xhZ25pbmcuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc2CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIKIG1zZ3N0ciAidmFyIHR5c3QsIHJhcHBvcnRlcmEgZW5kYXN0IGZlbCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OAorIzogYnVpbHRpbi9yZXNldC5jOjI4OAogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICLDpXRlcnN0w6RsbCBIRUFEIG9jaCBpbmRleCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OQorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAiw6V0ZXJzdMOkbGwgZW5kYXN0IEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODEgYnVpbHRpbi9yZXNldC5jOjI4MworIzogYnVpbHRpbi9yZXNldC5jOjI5MSBidWlsdGluL3Jlc2V0LmM6MjkzCiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiw6V0ZXJzdMOkbGwgSEVBRCwgaW5kZXggb2NoIGFyYmV0c2thdGFsb2ciCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgIsOldGVyc3TDpGxsIEhFQUQgbWVuIGJlaMOlbGwgbG9rYWxhIMOkbmRyaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODgKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDEKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAicmVnaXN0cmVyYSBlbmRhc3QgYXR0IGJvcnR0YWduYSBzw7ZrdsOkZ2FyIGtvbW1lciBsw6RnZ2FzIHRpbGwgc2VuYXJlIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL3Jlc2V0LmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIkt1bmRlIGludGUgc2zDpSB1cHAgXCIlc1wiIHNvbSBlbiBnaWx0aWcgcmV2aXNpb24uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEzCisjOiBidWlsdGluL3Jlc2V0LmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzbMOlIHVwcCBcIiVzXCIgc29tIGV0dCBnaWx0aWd0IHRyw6RkLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyMgorIzogYnVpbHRpbi9yZXNldC5jOjMzNwogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCDDpHIgaW5rb21wYXRpYmVsIG1lZCAtLXtoYXJkLG1peGVkLHNvZnR9IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMxCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ2CiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1taXhlZCByZWtvbW1lbmRlcmFzIGludGUgbWVkIHPDtmt2w6RnYXI7IGFudsOkbmQgXCJnaXQgcmVzZXQgLS0gPHPDtmt2w6RnYXI+XCIuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMzCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiS2FuIGludGUgZ8O2cmEgJXMgw6V0ZXJzdMOkbGxuaW5nIG1lZCBzw7ZrdsOkZ2FyLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MworIzogYnVpbHRpbi9yZXNldC5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXMgw6V0ZXJzdMOkbGxuaW5nIHRpbGzDpXRzIGludGUgaSBldHQgbmFrZXQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNjIKIG1zZ2lkICItTiBjYW4gb25seSBiZSB1c2VkIHdpdGggLS1taXhlZCIKIG1zZ3N0ciAiLU4ga2FuIGVuZGFzdCBhbnbDpG5kYXMgbWVkIC0tbWl4ZWQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNjQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzkKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKIG1zZ3N0ciAiT2vDtmFkZSDDpG5kcmluZ2FyIGVmdGVyIMOldGVyc3TDpGxsbmluZzoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNzAKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgIkt1bmRlIGludGUgw6V0ZXJzdMOkbGxhIGluZGV4ZmlsZW4gdGlsbCB2ZXJzaW9uZW4gXCIlc1wiLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3NAorIzogYnVpbHRpbi9yZXNldC5jOjM4OQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsLiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1OAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAicmV2LWxpc3Qgc3TDtmRlciBpbnRlIHZpc25pbmcgYXYgYW50ZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTQKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3VtZW50Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk2CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5OQogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAiYmVow6VsbCBcIi0tXCIgc8OkbnQgc29tIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5OAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDEKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgInNsdXRhIHRvbGthIGVmdGVyIGbDtnJzdGEgYXJndW1lbnQgc29tIGludGUgw6RyIGZsYWdnYSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDEKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA0CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAidXRkYXRhIGZhc3QgaSBsw6VuZyBmb3JtIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzMgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MzUKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xMjI0Nyw5MiArMTI1ODMsOTYgQEAKICJLw7ZyIFwiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC1oXCIgZsO2ciBtZXIgaW5mb3JtYXRpb24gb20gZGVuIGbDtnJzdGEgIgogInZhcmlhbnRlbi4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMKIG1zZ2lkICJnaXQgcmV2ZXJ0IFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJldmVydCBbPGZsYWdnb3I+XSA8aW5jaGVja25pbmctaWd0Pi4uLiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMworIzogYnVpbHRpbi9yZXZlcnQuYzoyNAogbXNnaWQgImdpdCByZXZlcnQgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgcmV2ZXJ0IDx1bmRlcmtvbW1hbmRvPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyOAorIzogYnVpbHRpbi9yZXZlcnQuYzoyOQogbXNnaWQgImdpdCBjaGVycnktcGljayBbPG9wdGlvbnM+XSA8Y29tbWl0LWlzaD4uLi4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayBbPGZsYWdnb3I+XSA8aW5jaGVja25pbmctaWd0Pi4uLiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyOQorIzogYnVpbHRpbi9yZXZlcnQuYzozMAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayA8dW5kZXJrb21tYW5kbz4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6NzEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiAlcyBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkICVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgwCisjOiBidWlsdGluL3JldmVydC5jOjk5CiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYXZzbHV0YSByZXZlcnQtIGVsbGVyIGNoZXJyeS1waWNrLXNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiw6V0ZXJ1cHB0YSByZXZlcnQtIGVsbGVyIGNoZXJyeS1waWNrLXNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYXZicnl0IHJldmVydC0gZWxsZXIgY2hlcnJ5LXBpY2stc2VrdmVucyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAiY2hlY2thIGludGUgaW4gYXV0b21hdGlza3QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgInJlZGlnZXJhIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL3JldmVydC5jOjg3Ci1tc2dpZCAicGFyZW50IG51bWJlciIKLW1zZ3N0ciAibnVtbWVyIHDDpSBmw7Zyw6RsZGVyIgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKK21zZ2lkICJwYXJlbnQtbnVtYmVyIgorbXNnc3RyICJudW1tZXItcMOlLWbDtnLDpGxkZXIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3Cittc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKK21zZ3N0ciAidsOkbGogZsO2csOkbGRlciBmw7ZyIGh1dnVkbGluamUiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgInNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkwCisjOiBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAiYWx0ZXJuYXRpdiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTEKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgotbXNnc3RyICJhbHRlcm5hdGl2IGZvzIhyIHNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpIgorbXNnc3RyICJhbHRlcm5hdGl2IGbDtnIgc2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2kiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCisjOiBidWlsdGluL3JldmVydC5jOjEyMAogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBpbmNoZWNrbmluZ3NuYW1uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiYmVow6VsbCBpbmNoZWNrbmluZ2FyIHNvbSBiw7ZyamFyIHNvbSB0b21tYSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIzCiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJ0aWxsw6V0IGluY2hlY2tuaW5nYXIgbWVkIHRvbXQgbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI0CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImJlaMOlbGwgcmVkdW5kYW50YSwgdG9tbWEgaW5jaGVja25pbmdhciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxOTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAiXCJyZXZlcnRcIiBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CisjOiBidWlsdGluL3JldmVydC5jOjIyNQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9ybS5jOjE3CisjOiBidWlsdGluL3JtLmM6MTgKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbPGZsYWdnb3I+XSBbLS1dIDxmaWw+Li4uIgogCi0jOiBidWlsdGluL3JtLmM6MjA1CisjOiBidWlsdGluL3JtLmM6MjA2CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xMjM0NCw3ICsxMjY4NCw3IEBACiBtc2dzdHJbMV0gIiIKICJmw7ZsamFuZGUgZmlsZXIgaGFyIGvDtmF0IGlubmVow6VsbCBzb20gc2tpbGplciBzaWcgYsOlZGUgZnLDpW4gZmlsZW4gb2NoIEhFQUQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjEwCisjOiBidWlsdGluL3JtLmM6MjExCiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC0xMjM1MiwxMyArMTI2OTIsMTMgQEAKICJcbiIKICIoYW52w6RuZCAtZiBmw7ZyIGF0dCB0dmluZ2EgYm9ydHRhZ25pbmcpIgogCi0jOiBidWlsdGluL3JtLmM6MjE0CisjOiBidWlsdGluL3JtLmM6MjE1CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAiZsO2bGphbmRlIGZpbCBoYXIgw6RuZHJpbmdhciBrw7ZhZGUgaSBpbmRleGV0OiIKIG1zZ3N0clsxXSAiZsO2bGphbmRlIGZpbGVyIGhhciDDpG5kcmluZ2FyIGvDtmFkZSBpIGluZGV4ZXQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjE4IGJ1aWx0aW4vcm0uYzoyMjcKKyM6IGJ1aWx0aW4vcm0uYzoyMTkgYnVpbHRpbi9ybS5jOjIyOAogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTIzNjYsMjkgKzEyNzA2LDI5IEBACiAiXG4iCiAiKGFudsOkbmQgLS1jYWNoZWQgZsO2ciBhdHQgYmVow6VsbGEgZmlsZW4gZWxsZXIgLWYgZsO2ciBhdHQgdHZpbmdhIGJvcnR0YWduaW5nKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNAorIzogYnVpbHRpbi9ybS5jOjIyNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAiZsO2bGphbmRlIGZpbCBoYXIgbG9rYWxhIMOkbmRyaW5nYXI6IgogbXNnc3RyWzFdICJmw7ZsamFuZGUgZmlsZXIgaGFyIGxva2FsYSDDpG5kcmluZ2FyOiIKIAotIzogYnVpbHRpbi9ybS5jOjI0MgorIzogYnVpbHRpbi9ybS5jOjI0MwogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgImxpc3RhIGludGUgYm9ydHRhZ25hIGZpbGVyIgogCi0jOiBidWlsdGluL3JtLmM6MjQzCisjOiBidWlsdGluL3JtLmM6MjQ0CiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInRhIGJhcmEgYm9ydCBmcsOlbiBpbmRleGV0IgogCi0jOiBidWlsdGluL3JtLmM6MjQ0CisjOiBidWlsdGluL3JtLmM6MjQ1CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIsO2dmVyc3R5ciDDoGpvdXItdGVzdGV0IgogCi0jOiBidWlsdGluL3JtLmM6MjQ1CisjOiBidWlsdGluL3JtLmM6MjQ2CiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgInRpbGzDpXQgcmVrdXJzaXYgYm9ydHRhZ25pbmciCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDcKKyM6IGJ1aWx0aW4vcm0uYzoyNDgKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiYXZzbHV0YSBtZWQgbm9sbHN0YXR1cyDDpHZlbiBvbSBpbmdldCB0csOkZmZhZGVzIgogCkBAIC0xMjQwNyw3ICsxMjc0Nyw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgXCIlc1wiIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE4CisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE5CiBtc2dpZCAiIgogImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC0iCiAicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPGhvc3Q+Ol08ZGlyZWN0b3J5PiAiCkBAIC0xMjQxOSwyMyArMTI3NTksMjMgQEAKICJbPHJlZj4uLi5dXG4iCiAiICAtLWFsbCBvY2ggZXhwbGljaXQgYW5naXZlbiA8cmVmPiDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUuIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKIG1zZ2lkICJyZW1vdGUgbmFtZSIKIG1zZ3N0ciAiZmrDpHJybmFtbiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAidXNlIHN0YXRlbGVzcyBSUEMgcHJvdG9jb2wiCiBtc2dzdHIgImFudsOkbmQgdGlsbHN0w6VuZHNsw7ZzdCBSUEMtcHJvdG9rb2xsIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MgorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzcKIG1zZ2lkICJyZWFkIHJlZnMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibMOkcyByZWZlcmVuc2VyIGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MworIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzgKIG1zZ2lkICJwcmludCBzdGF0dXMgZnJvbSByZW1vdGUgaGVscGVyIgogbXNnc3RyICJ2aXNhIHN0YXR1cyBmcsOlbiBmasOkcnJoasOkbHBhcmUiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxMworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0CiBtc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSBbPHBhdGg+Li4uXV0iCiBtc2dzdHIgImdpdCBzaG9ydGxvZyBbPGZsYWdnb3I+XSBbPHZlcnNpb25zaW50ZXJ2YWxsPl0gW1stLV0gPHPDtmt2w6RnPi4uLl0iCiAKQEAgLTEyNDYzLDcgKzEyODAzLDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIlJhZGJyeXQgdXRkYXRhIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxMgogbXNnaWQgIiIKICJnaXQgc2hvdy1icmFuY2ggWy1hIHwgLS1hbGxdIFstciB8IC0tcmVtb3Rlc10gWy0tdG9wby1vcmRlciB8IC0tZGF0ZS1vcmRlcl1cbiIKICJcdFx0Wy0tY3VycmVudF0gWy0tY29sb3JbPTx3aGVuPl0gfCAtLW5vLWNvbG9yXSBbLS1zcGFyc2VdXG4iCkBAIC0xMjQ3NSwxMjYgKzEyODE1LDEyNiBAQAogIlx0XHRbLS1tb3JlPTxuPiB8IC0tbGlzdCB8IC0taW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdXG4iCiAiXHRcdFstLW5vLW5hbWUgfCAtLXNoYTEtbmFtZV0gWy0tdG9waWNzXSBbKDxyZXY+IHwgPG3Dtm5zdGVyPikuLi5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxNgogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIG1zZ3N0ciAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzPl1dIFstLWxpc3RdIFs8cmVmPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZiIKIG1zZ2lkX3BsdXJhbCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiCiBtc2dzdHJbMF0gImlnbm9yZXJhciAlczsga2FuIGludGUgaGFudGVyYSBtZXIgw6RuICVkIHJlZmVyZW5zIgogbXNnc3RyWzFdICJpZ25vcmVyYXIgJXM7IGthbiBpbnRlIGhhbnRlcmEgbWVyIMOkbiAlZCByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIKIG1zZ3N0ciAiaW5nYSBtb3RzdmFyYW5kZSByZWZlcmVuc2VyIG1lZCAlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYyNgogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAidmlzYSBmasOkcnJzcMOlcmFuZGUgb2NoIGxva2FsYSBncmVuYXIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MjgKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAidmlzYSBmasOkcnJzcMOlcmFuZGUgZ3JlbmFyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMwCiBtc2dpZCAiY29sb3IgJyohKy0nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyYW5jaCIKIG1zZ3N0ciAiZsOkcmdhIFwiKiErLVwiIGVubGlndCBncmVuZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzIKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAidmlzYSA8bj4geXR0ZXJsaWdhcmUgaW5jaGVja25pbmdhciBlZnRlciBnZW1lbnNhbSBhbmZhZGVyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM0CiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICJzeW5vbnltIHRpbGwgbW9yZT0tMSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNQogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICJ1bmRlcnR5Y2sgbmFtbnN0csOkbmdhciIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNwogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJpbmtsdWRlcmEgYWt0dWVsbCBncmVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICJuYW1uZ2UgaW5jaGVja25pbmdhciBtZWQgZGVyYXMgb2JqZWt0bmFtbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgInZpc2EgbcO2amxpZ2Egc2FtbWFuc2xhZ25pbmdzYmFzZXIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICJ2aXNhIHJlZmVyZW5zZXIgc29tIGludGUga2FuIG7DpXMgZnLDpW4gbsOlZ29uIGFubmFuIHJlZmVyZW5zIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CiBtc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICJ2aXNhIGluY2hlY2tuaW5nYXIgaSB0b3BvbG9naXNrIG9yZG5pbmciCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgaW5jaGVja25pbmdhciBpbnRlIHDDpSBkZW4gZsO2cnN0YSBncmVuZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgInZpc2Egc2FtbWFuc2xhZ25pbmdhciBzb20gZW5kYXN0IGthbiBuw6VzIGZyw6VuIGVuIHNwZXRzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICJzb3J0ZXJhIHRvcG9sb2dpc2t0LCBiZWjDpWxsIGRhdHVtb3JkbmluZyBuw6RyIG3DtmpsaWd0IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICI8bj5bLDxiYXM+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICJ2aXNhIDxuPiBueWFzdGUgcmVmbG9nZ3Bvc3RlciBtZWQgYsO2cmphbiBww6UgYmFzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzAzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjkwCiBtc2dpZCAiIgogIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgogbXNnc3RyICIiCiAiLS1yZWZsb2cgw6RyIGlua29tcGF0aWJlbCBtZWQgLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBlbGxlciAtLW1lcmdlLSIKICJiYXNlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzI3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzE0CiBtc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKIG1zZ3N0ciAiaW5nYSBncmVuYXIgYW5nYXZzLCBvY2ggSEVBRCDDpHIgaW50ZSBnaWx0aWd0IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzMwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzE3CiBtc2dpZCAiLS1yZWZsb2cgb3B0aW9uIG5lZWRzIG9uZSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS1yZWZsb2cgYmVow7Z2ZXIgZXR0IG5hbW4gcMOlIGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ3N0clswXSAibWF4aW1hbHQgJWQgcG9zdGVyIGthbiB2aXNhcyBzYW10aWRpZ3QuIgogbXNnc3RyWzFdICJtYXhpbWFsdCAlZCBwb3N0ZXIga2FuIHZpc2FzIHNhbXRpZGlndC4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZWYgJXMiCiBtc2dzdHIgImluZ2VuIHPDpWRhbiByZWZlcmVucyAlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXZzLiIKIG1zZ3N0clswXSAia2FuIGludGUgaGFudGVyYSBtZXIgw6RuICVkIHJldmlzaW9uLiIKIG1zZ3N0clsxXSAia2FuIGludGUgaGFudGVyYSBtZXIgw6RuICVkIHJldmlzaW9uZXIuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGVuIGdpbHRpZyByZWZlcmVucy4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCiBtc2dzdHIgImhpdHRhciBpbnRlIGluY2hlY2tuaW5nICVzICglcykiCkBAIC0xMjY0MywxMjMgKzEyOTgzLDEzMiBAQAogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgInZpc2EgcmVmZXJlbnNlciBmcsOlbiBzdGFuZGFyZCBpbiBzb20gaW50ZSBmaW5ucyBpIGxva2FsdCBhcmtpdiIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTcKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE4CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTkKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNQorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzYKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgImhvcHBhIMO2dmVyIG9jaCB0YSBib3J0IGFsbGEgcmFkZXIgc29tIGlubGVkcyBtZWQga29tbWVudGFyc3RlY2tlbiIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzgKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM5CiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICJsw6RnZyBpbiBrb21tZW50YXJzdGVja2VuIG9jaCBibGFua3N0ZWcgZsO2cnN0IHDDpSB2YXJqZSByYWQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVmOiAlcyIKIG1zZ3N0ciAiSW5nZW4gc8OlZGFuIHJlZmVyZW5zOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICJGw7ZydsOkbnRhZGUgZnVsbHQgcmVmZXJlbnNuYW1uLCBmaWNrICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCiBtc2dzdHIgImthbiBpbnRlIHRhIGJvcnQgZW4ga29tcG9uZW50IGZyw6VuIHVybDplbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMwNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiYWx0ZXJuYXRpdmEgYW5rYXJlIGbDtnIgcmVsYXRpdmEgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxMAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHPDtmt2w6RnPl0gWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzMzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIkhpdHRhZGUgaW5nZW4gdXJsIGbDtnIgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIlc1wiIGkgLmdpdG1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBsb29rdXAgY29uZmlndXJhdGlvbiAnJXMnLiBBc3N1bWluZyB0aGlzIHJlcG9zaXRvcnkgaXMgaXRzIG93biAiCisiYXV0aG9yaXRhdGl2ZSB1cHN0cmVhbS4iCittc2dzdHIgIiIKKyJrdW5kZSBpbnRlIHNsw6UgdXBwIGtvbmZpZ3VyYXRpb25lbiBcIiVzXCIuIEFudGFyIGF0dCBhcmtpdmV0IMOkciBzbiBlZ2V0ICIKKyJvZmZpY2llbGxhIHVwcHN0csO2bS4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJlZ2lzdHJlcmEgdXJsIGbDtnIgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICJVbmRlcm1vZHVsZW4gXCIlc1wiICglcykgcmVnaXN0cmVyYWQgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICJ2YXJuaW5nOiBrb21tYW5kb3VwcGRhdGVyaW5nc2zDpGdlIGbDtnJlc2xvZ3MgZsO2ciB1bmRlcm1vZHVsZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJNaXNzbHlja2FkZXMgcmVnaXN0cmVyYSB1cHBkYXRlcmluZ3Nsw6RnZSBmw7ZyIHVuZGVybW9kdWxzw7ZrdsOkZyBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDMKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiRMO2bGogdXRkYXRhIGZyw6VuIGluaXRpZXJpbmcgYXYgdW5kZXJtb2R1bCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHPDtmt2w6RnPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzYKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxzw7ZrdsOkZz4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiaGl0dGFkZSBpbmdlbiB1bmRlcm1vZHVsbWFwcG5pbmcgaSAuZ2l0bW9kdWxlcyBmw7ZyIHPDtmt2w6RnZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCiBtc2dzdHIgInVuZGVybW9kdWxlbiBcIiVzXCIga2FuIGludGUgbMOkZ2dhIHRpbGwgYWx0ZXJuYXRpdjogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIlbDpHJkZXQgXCIlc1wiIGkgc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgZsO2cnN0w6VzIGludGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJWw6RyZGV0IFwiJXNcIiBpIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBmw7Zyc3TDpXMgaW50ZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICJ2YXIgZGVuIG55YSB1bmRlcm1vZHVsZW4gc2thbGwga2xvbmFzIHRpbGwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJuYW1uIHDDpSBkZW4gbnlhIHVuZGVybW9kdWxlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgIlVSTCBhdHQga2xvbmEgdW5kZXJtb2R1bGVuIGZyw6VuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJkanVwIGbDtnIgZ3J1bmRhIGtsb25lciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJ0dmluZ2Ega2xvbmluZ3Nmw7ZybG9wcCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKQEAgLTEyNzY3LDkyICsxMzExNiw4MiBAQAogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHPDtmt2w6RnPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPGFya3ZpPl0gWy0tbmFtZSA8bmFtbj5dIFstLWRlcHRoIDxkanVwPl0gLS11cmwgPHVybD4gLS1wYXRoIDxzw7ZrdsOkZz4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgotbXNnc3RyICJtaXNzbHlja2FkZXMga2xvbmEgXCIlc1wiIHRpbGwgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIlc1wiIgorbXNnc3RyICJtaXNzbHlja2FkZXMga2xvbmEgXCIlc1wiIHRpbGwgdW5kZXJtb2R1bHPDtmt2w6RnZW4g4oCdJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgotbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgZmlsZW4gXCIlc1wiIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgotbXNnc3RyICJrdW5kZSBpbnRlIHN0w6RuZ2EgZmlsZW4gJXMiCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGbDpSB0YWcgaSB1bmRlcm1vZHVsa2F0YWxvZyBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIlc1wiIGhhciBpbnRlIGluaXRpZXJhdHMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiS2Fuc2tlIG1lbmFkZSBkdSBhdHQgYW52w6RuZGEgXCJ1cGRhdGUgLS1pbml0XCI/IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiSG9wcGFyIMO2dmVyIGVqIHNhbW1hbnNsYWdlbiB1bmRlcm1vZHVsICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJIb3BwYXIgw7Z2ZXIgdW5kZXJtb2R1bGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICJNaXNzbHlja2FkZXMga2xvbmEgXCIlc1wiLiBOeXR0IGbDtnJzw7ZrIHBsYW5sYWd0IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgogbXNnc3RyICJNaXNzbHlja2FkZXMga2xvbmEgXCIlc1wiIGbDtnIgYW5kcmEgZ8OlbmdlbiwgYXZicnl0ZXIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjIKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic8O2a3bDpGcgaW51dGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc3CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCiBtc2dzdHIgInPDtmt2w6RnIGludXRpIGFyYmV0c2thdGFsb2dlbiwgZ2Vub20gbsOkc3RsYWRlIHVuZGVybW9kdWxncsOkbnNlciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MQogbXNnaWQgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG9yIG5vbmUiCiBtc2dzdHIgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IGVsbGVyIG5vbmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIlNrYXBhIGVuIGdydW5kIGtsb24gdHJ1bmtlcmFkIHRpbGwgYW5naXZldCBhbnRhbCByZXZpc2lvbmVyIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg4CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAicGFyYWxsZWxsYSBqb2JiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkwCiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICJvbSBkZW4gZsO2cnN0YSBrbG9uZW4gc2thbGwgZsO2bGphIHJla29tbWVuZGF0aW9uIGbDtnIgZ3J1bmQga2xvbmluZyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgInNrcml2IGludGUga2xvbmbDtnJsb3BwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk4CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHPDtmt2w6RnPl0gWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwOAogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAiZmVsYWt0aWd0IHbDpHJkZSBmw7ZyIHBhcmFtZXRlcm4gdXBkYXRlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgpAQCAtMTI4NjEsNTggKzEzMjAwLDU0IEBACiAiVW5kZXJtb2R1bGVucyAoJXMpIGdyZW4gaW5zdMOkbGxkIHDDpSBhdHQgw6RydmEgZ3JlbiBmcsOlbiBodXZ1ZHByb2pla3RldCwgbWVuICIKICJodXZ1ZHByb2pla3RldCDDpHIgaW50ZSBww6UgbsOlZ29uIGdyZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MwogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWt1cnNlcmEgbmVyIGkgdW5kZXJtb2R1bGVyIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjkKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE1NwotbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCi1tc2dzdHIgInVuZGVya29tbWFuZG90IHN1Ym1vZHVsZS0taGVscGVyIG3DpXN0ZSBhbnJvcGFzIG1lZCBldHQgdW5kZXJrb21tYW5kbyIKLQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIKIG1zZ3N0ciAiJXMgc3TDtmRlciBpbnRlIC0tc3VwZXItcHJlZml4IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE3MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZXR0IGdpbHRpZ3QgdW5kZXJrb21tYW5kbyB0aWxsIHN1Ym1vZHVsZS0taGVscGVyIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjcKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gPG5hbWU+IFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgWzxmbGFnZ29yPl0gPG5hbW4+IFs8cmVmPl0iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo5CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1uPiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MAorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MQogbXNnaWQgInN1cHByZXNzIGVycm9yIG1lc3NhZ2UgZm9yIG5vbi1zeW1ib2xpYyAoZGV0YWNoZWQpIHJlZnMiCiBtc2dzdHIgIiIKICJ1bmRlcnRyeWNrIGZlbG1lZGRlbGFuZGVuIGbDtnIgaWNrZS1zeW1ib2xpc2thIChmcsOlbmtvcHBsYWRlKSByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQyCiBtc2dpZCAiZGVsZXRlIHN5bWJvbGljIHJlZiIKIG1zZ3N0ciAidGEgYm9ydCBzeW1ib2xpc2sgcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgImbDtnJrb3J0YSByZWYtdXRkYXRhIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MgorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0NCBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKIG1zZ2lkICJyZWFzb24iCiBtc2dzdHIgInNrw6RsIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MgorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0NCBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAic2vDpGwgdGlsbCB1cHBkYXRlcmluZ2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjIzCisjOiBidWlsdGluL3RhZy5jOjI0CiBtc2dpZCAiIgogImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCiAiWzxoZWFkPl0iCkBAIC0xMjkyMCwzOCArMTMyNTUsMzUgQEAKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPG55Y2tlbC1pZD5dIFstZl0gWy1tIDxtZWRkPiB8IC1GIDxmaWw+XSA8dGFnZ25hbW4+ICIKICJbPGh1dnVkPl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjQKKyM6IGJ1aWx0aW4vdGFnLmM6MjUKIG1zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IHRhZyAtZCA8dGFnZ25hbW4+Li4uIgogCi0jOiBidWlsdGluL3RhZy5jOjI1CisjOiBidWlsdGluL3RhZy5jOjI2CiBtc2dpZCAiIgotImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLXBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKKyJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgorInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKICJcdFx0Wy0tZm9ybWF0PTxmb3JtYXQ+XSBbLS1bbm8tXW1lcmdlZCBbPGNvbW1pdD5dXSBbPHBhdHRlcm4+Li4uXSIKIG1zZ3N0ciAiIgotImdpdCB0YWcgLWwgWy1uWzxhbnRhbD5dXSBbLS1jb250YWlucyA8aW5jaGVja25pbmc+XSBbLS1wb2ludHMtYXQgPG9iamVrdD5dXG4iCisiZ2l0IHRhZyAtbCBbLW5bPGFudGFsPl1dIFstLWNvbnRhaW5zIDxpbmNoZWNrbmluZz5dIFstLW5vLWNvbnRhaW5zICIKKyI8aW5jaGVja25pbmc+XSBbLS1wb2ludHMtYXQgPG9iamVrdD5dXG4iCiAiXHRcdFstLWZvcm1hdD08Zm9ybWF0Pl0gWy0tW25vLV1tZXJnZWQgWzxpbmNoZWNrbmluZz5dXSBbPG3Dtm5zdGVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjcKKyM6IGJ1aWx0aW4vdGFnLmM6MjgKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ2duYW1uPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzo4MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ0YWcgbmFtZSB0b28gbG9uZzogJS4qcy4uLiIKLW1zZ3N0ciAidGFnZ25hbW5ldCBmw7ZyIGzDpW5ndDogJS4qcy4uLiIKLQotIzogYnVpbHRpbi90YWcuYzo4NworIzogYnVpbHRpbi90YWcuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJ0YWdnZW4gXCIlc1wiIGhpdHRhZGVzIGludGUuIgogCi0jOiBidWlsdGluL3RhZy5jOjEwMgorIzogYnVpbHRpbi90YWcuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJUb2cgYm9ydCB0YWdnIFwiJXNcIiAodmFyICVzKVxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzMQorIzogYnVpbHRpbi90YWcuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTI5NjQsNyArMTMyOTYsNyBAQAogIiAgJXNcbiIKICJSYWRlciBzb20gaW5sZWRzIG1lZCBcIiVjXCIgaWdub3JlcmFzLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzNQorIzogYnVpbHRpbi90YWcuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTI5NzksMzI4ICsxMzMxMSwzNDggQEAKICJSYWRlciBzb20gaW5sZWRzIG1lZCBcIiVjXCIga29tbWVyIGJlaMOlbGxhczsgZHUga2FuIHNqw6RsdiB0YSBib3J0IGRlbSBvbVxuIgogImR1IHZpbGwuXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjEzCisjOiBidWlsdGluL3RhZy5jOjIxMQogbXNnaWQgInVuYWJsZSB0byBzaWduIHRoZSB0YWciCiBtc2dzdHIgImt1bmRlIGludGUgc2lnbmVyYSB0YWdnZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjE1CisjOiBidWlsdGluL3RhZy5jOjIxMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgdGFnZy1maWxlbiIKIAotIzogYnVpbHRpbi90YWcuYzoyNDAKKyM6IGJ1aWx0aW4vdGFnLmM6MjM3CiBtc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKLW1zZ3N0ciAiZmVsYWt0aWcgb2JqZWt0dHlwIgorbXNnc3RyICJmZWxha3RpZyBvYmpla3R0eXAuIgogCi0jOiBidWlsdGluL3RhZy5jOjI1MwotbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCi1tc2dzdHIgInRhZ2dodXZ1ZCBmw7ZyIHN0b3J0LiIKLQotIzogYnVpbHRpbi90YWcuYzoyODkKKyM6IGJ1aWx0aW4vdGFnLmM6MjgzCiBtc2dpZCAibm8gdGFnIG1lc3NhZ2U/IgogbXNnc3RyICJpbmdldCB0YWdnbWVkZGVsYW5kZT8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjk1CisjOiBidWlsdGluL3RhZy5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICJUYWdnbWVkZGVsYW5kZXQgaGFyIGzDpG1uYXRzIGkgJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozNTQKKyM6IGJ1aWx0aW4vdGFnLmM6Mzk4CiBtc2dpZCAibGlzdCB0YWcgbmFtZXMiCiBtc2dzdHIgImxpc3RhIHRhZ2duYW1uIgogCi0jOiBidWlsdGluL3RhZy5jOjM1NgorIzogYnVpbHRpbi90YWcuYzo0MDAKIG1zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgZnLDpW4gdmFyamUgdGFnZ21lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU4CisjOiBidWlsdGluL3RhZy5jOjQwMgogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICJ0YSBib3J0IHRhZ2dhciIKIAotIzogYnVpbHRpbi90YWcuYzozNTkKKyM6IGJ1aWx0aW4vdGFnLmM6NDAzCiBtc2dpZCAidmVyaWZ5IHRhZ3MiCiBtc2dzdHIgInZlcmlmaWVyYSB0YWdnYXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYxCisjOiBidWlsdGluL3RhZy5jOjQwNQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgYXR0IHNrYXBhIHRhZ2dhciIKIAotIzogYnVpbHRpbi90YWcuYzozNjMKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3CiBtc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgogbXNnc3RyICJhbm5vdGVyYWQgdGFnZywgYmVow7Z2ZXIgbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi90YWcuYzozNjUKKyM6IGJ1aWx0aW4vdGFnLmM6NDA5CiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgInRhZ2dtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL3RhZy5jOjM2NworIzogYnVpbHRpbi90YWcuYzo0MTEKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICJhbm5vdGVyYWQgb2NoIEdQRy1zaWduZXJhZCB0YWdnIgogCi0jOiBidWlsdGluL3RhZy5jOjM3MQorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJhbnbDpG5kIGFubmFuIG55Y2tlbCBmw7ZyIGF0dCBzaWduZXJhIHRhZ2dlbiIKIAotIzogYnVpbHRpbi90YWcuYzozNzIKKyM6IGJ1aWx0aW4vdGFnLmM6NDE2CiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAiZXJzw6R0dCB0YWdnZW4gb20gZGVuIGZpbm5zIgogCi0jOiBidWlsdGluL3RhZy5jOjM3MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE3IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQogbXNnaWQgImNyZWF0ZSBhIHJlZmxvZyIKIG1zZ3N0ciAic2thcGEgZW4gcmVmbG9nIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NQorIzogYnVpbHRpbi90YWcuYzo0MTkKIG1zZ2lkICJUYWcgbGlzdGluZyBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgbGlzdG5pbmcgYXYgdGFnZ2FyIgogCi0jOiBidWlsdGluL3RhZy5jOjM3NgorIzogYnVpbHRpbi90YWcuYzo0MjAKIG1zZ2lkICJzaG93IHRhZyBsaXN0IGluIGNvbHVtbnMiCiBtc2dzdHIgImxpc3RhIHRhZ2dhciBpIHNwYWx0ZXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc3IGJ1aWx0aW4vdGFnLmM6Mzc4CisjOiBidWlsdGluL3RhZy5jOjQyMSBidWlsdGluL3RhZy5jOjQyMwogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdGFnZ2FyIHNvbSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjM3OQorIzogYnVpbHRpbi90YWcuYzo0MjIgYnVpbHRpbi90YWcuYzo0MjQKK21zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgInZpc2EgZW5kYXN0IHRhZ2dhciBzb20gaW50ZSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgorCisjOiBidWlsdGluL3RhZy5jOjQyNQogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHRhZ2dhciBzb20gc2xhZ2l0cyBzYW1tYW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzgwCisjOiBidWlsdGluL3RhZy5jOjQyNgogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJ2aXNhIGVuZGFzdCB0YWdnYXIgc29tIGVqIHNsYWdpdHMgc2FtbWFuIgogCi0jOiBidWlsdGluL3RhZy5jOjM4NQorIzogYnVpbHRpbi90YWcuYzo0MzEKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdGFnZ2FyIGbDtnIgb2JqZWt0ZXQiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE1CisjOiBidWlsdGluL3RhZy5jOjQ3MAogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiBvY2ggLW4gw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi90YWcuYzo0MzcKLW1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICJGbGFnZ2FuIC1uIMOkciBlbmRhc3QgdGlsbMOldGVuIHRpbGxzYW1tYW5zIG1lZCAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5MgorbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJGbGFnZ2FuIC1uIMOkciBlbmRhc3QgdGlsbMOldGVuIGkgbGlzdGzDpGdlIgogCi0jOiBidWlsdGluL3RhZy5jOjQzOQotbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAiRmxhZ2dhbiAtLWNvbnRhaW5zIMOkciBlbmRhc3QgdGlsbMOldGVuIHRpbGxzYW1tYW5zIG1lZCAtbCIKKyM6IGJ1aWx0aW4vdGFnLmM6NDk0Cittc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiRmxhZ2dhbiAtLWNvbnRhaW5zIMOkciBlbmRhc3QgdGlsbMOldGVuIGkgbGlzdGzDpGdlIgogCi0jOiBidWlsdGluL3RhZy5jOjQ0MQotbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgIkZsYWdnYW4gLS1wb2ludHMtYXQgw6RyIGVuZGFzdCB0aWxsw6V0ZW4gdGlsbHNhbW1hbnMgbWVkIC1sLiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDk2Cittc2dpZCAiLS1uby1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiRmxhZ2dhbiAtLW5vLWNvbnRhaW5zIMOkciBlbmRhc3QgdGlsbMOldGVuIGkgbGlzdGzDpGdlIgogCi0jOiBidWlsdGluL3RhZy5jOjQ0MwotbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb24gYXJlIG9ubHkgYWxsb3dlZCB3aXRoIC1sIgotbXNnc3RyICJmbGFnZ29ybmEgLS1tZXJnZWQgb2NoIC0tbm8tbWVyZ2VkIHRpbGzDpXRzIGVuZGFzdCB0aWxsc2FtbWFucyBtZWQgLWwiCisjOiBidWlsdGluL3RhZy5jOjQ5OAorbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJGbGFnZ2FuIC0tcG9pbnRzLWF0IMOkciBlbmRhc3QgdGlsbMOldGVuIGkgbGlzdGzDpGdlIgogCi0jOiBidWlsdGluL3RhZy5jOjQ1NAorIzogYnVpbHRpbi90YWcuYzo1MDAKK21zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiRmxhZ2dvcm5hIC0tbWVyZ2VkIG9jaCAtLW5vLW1lcmdlZCDDpHIgZW5kYXN0IHRpbGzDpXRuYSBpIGxpc3Rsw6RnZSIKKworIzogYnVpbHRpbi90YWcuYzo1MTEKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgImVuZGFzdCBlbiBhdiBmbGFnZ29ybmEgLUYgZWxsZXIgLW0gdGlsbMOldHMuIgogCi0jOiBidWlsdGluL3RhZy5jOjQ3MworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgImbDtnIgbcOlbmdhIHBhcmFtZXRyYXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDc5CisjOiBidWlsdGluL3RhZy5jOjUzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGV0dCBnaWx0aWd0IHRhZ2duYW1uLiIKIAotIzogYnVpbHRpbi90YWcuYzo0ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJ0YWdnZW4gXCIlc1wiIGZpbm5zIHJlZGFuIgogCi0jOiBidWlsdGluL3RhZy5jOjUxMgorIzogYnVpbHRpbi90YWcuYzo1NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJVcHBkYXRlcmFkIHRhZ2cgXCIlc1wiICh2YXIgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTMKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTQKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUGFja2FyIHVwcCBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBrYXRhbG9nZW4gJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBzdGF0dXMgcMOlICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZmlsZSAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIGZpbGVuICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBmaWxlbiAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTAgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBrYXRhbG9nZW4gJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgotbXNnc3RyICJUZXN0YXIgbXRpbWUgaSBcIiVzXCIiCittc2dzdHIgIlRlc3RhciBtdGltZSBpIFwiJXNcIiAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICJzdGF0LWluZm9ybWF0aW9uZW4gZsO2ciBlbiBrYXRhbG9nIMOkbmRyYXMgaW50ZSBuw6RyIG55YSBmaWxlciBsw6RnZ3MgdGlsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTYzCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogInN0YXQtaW5mb3JtYXRpb25lbiBmw7ZyIGVuIGthdGFsb2cgw6RuZHJhcyBpbnRlIG7DpHIgbnlhIGthdGFsb2dlciBsw6RnZ3MgdGlsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTc2CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIHVwZGF0aW5nIGEgZmlsZSIKIG1zZ3N0ciAic3RhdC1pbmZvcm1hdGlvbmVuIGbDtnIgZW4ga2F0YWxvZyDDpG5kcmFzIG7DpHIgZmlsZXIgdXBwZGF0ZXJhcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg3CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogInN0YXQtaW5mb3JtYXRpb25lbiBmw7ZyIGVuIGthdGFsb2cgw6RuZHJhcyBuw6RyIGZpbGVyIGzDpGdncyB0aWxsIGkgZW4gIgogInVuZGVya2F0YWxvZyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTk4CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlIgogbXNnc3RyICJzdGF0LWluZm9ybWF0aW9uZW4gZsO2ciBlbiBrYXRhbG9nIMOkbmRyYXMgaW50ZSBuw6RyIGVuIGZpbCB0YXMgYm9ydCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjExCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgInN0YXQtaW5mb3JtYXRpb25lbiBmw7ZyIGVuIGthdGFsb2cgw6RuZHJhcyBpbnRlIG7DpHIgZW4ga2F0YWxvZyB0YXMgYm9ydCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE4CiBtc2dpZCAiIE9LIgogbXNnc3RyICIgT0siCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2OQogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPGZsYWdnb3I+XSBbLS1dIFs8ZmlsPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTE5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiZm9ydHPDpHR0IHVwcGRhdGVyYSDDpHZlbiBuw6RyIGluZGV4IGludGUgw6RyIMOgam91ciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJlZnJlc2g6IGlnbm9yZXJhIHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgImlnbm9yZXJhIGludGUgbnlhIGZpbGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzIKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAibMOldCBmaWxlciBlcnPDpHR0YSBrYXRhbG9nZXIgb2NoIG9tdsOkbnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImzDpGdnIG3DpHJrZSB0aWxsIGZpbGVyIHNvbSBzYWtuYXMgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICJ1cHBkYXRlcmEgw6R2ZW4gb20gaW5kZXhldCBpbm5laMOlbGxlciBlaiBzYW1tYW5zbGFnbmEgcG9zdGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzkKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgInVwcGRhdGVyYSBzdGF0dXNpbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJzb20gLS1yZWZyZXNoLCBtZW4gaWdub3JlcmEgYXNzdW1lLXVuY2hhbmdlZC1pbnN0w6RsbG5pbmciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NwogbXNnaWQgIjxtb2RlPiw8b2JqZWN0Piw8cGF0aD4iCiBtc2dzdHIgIjxsw6RnZT4sPG9iamVrdD4sPHPDtmt2w6RnPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJsw6RnZyB0aWxsIGFuZ2l2ZW4gcG9zdCBpIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAibWFya2VyYSBmaWxlciBzb20gXCLDpG5kcmFzIGludGVcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYwCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJyZW5zYSBcImFzc3VtZS11bmNoYW5nZWRcIi1iaXRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYzCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAibWFya2VyYSBmaWxlciBzb20gXCJlbmRhc3QgaW5kZXhcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgInTDtm0gXCJza2lwLXdvcmt0cmVlXCItYml0ZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OQogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJsw6RnZyBlbmRhc3QgdGlsbCBpbmRleGV0OyBsw6RnZyBpbnRlIHRpbGwgaW5uZWjDpWxsZXQgaSBvYmpla3RkYXRhYmFzZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgInRhIGJvcnQgbmFtbmdpdm5hIHPDtmt2w6RnYXIgw6R2ZW4gb20gZGUgZmlubnMgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MwogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAibWVkIC0tc3RkaW46IGluZGF0YXJhZGVyIHRlcm1pbmVyYXMgbWVkIG51bGwtYnl0ZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibMOkcyBsaXN0YSDDtnZlciBzw7ZrdsOkZ2FyIGF0dCB1cHBkYXRlcmEgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OQogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICJsw6RnZyBwb3N0ZXIgZnLDpW4gc3RhbmRhcmQgaW4gdGlsbCBpbmRleGV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODMKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIsOldGVyZnlsbCBldGFwcCAyIG9jaCAzIGZyw6VuIGFuZ2l2bmEgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg3CiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgInVwcGRhdGVyYSBlbmRhc3QgcG9zdGVyIHNvbSBza2lsamVyIHNpZyBmcsOlbiBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJpZ25vcmVyYSBmaWxlciBzb20gc2FrbmFzIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTQKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgInJhcHBvcnRlcmEgw6V0Z8OkcmRlciBww6Ugc3RhbmRhcmQgdXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NgogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIoZsO2ciBwb3JzbGluKSBnbMO2bSBzcGFyYWRlIG9sw7ZzdGEga29uZmxpa3RlciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICJza3JpdiBpbmRleCBpIGRldHRhIGZvcm1hdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMgogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJha3RpdmVyYSBlbGxlciBpbmFrdGl2ZXJhIGRlbGF0IGluZGV4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA0CiBtc2dpZCAiZW5hYmxlL2Rpc2FibGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJha3RpdmVyYS9pbmFrdGl2ZXJhIG9zcMOlcmFkIGNhY2hlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJ0ZXN0YSBvbSBmaWxzeXN0ZW1ldCBzdMO2ZGVyIG9zcMOlcmFkIGNhY2hlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICJha3RpdmVyYSBvc3DDpXJhZCBjYWNoZSB1dGFuIGF0dCB0ZXN0YSBmaWxzeXN0ZW1ldCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMDgKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJlbmFibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKyJjb3JlLnNwbGl0SW5kZXggw6RyIHNhdHQgdGlsbCBmYWxzZTsgdGEgYm9ydCBlbGxlciDDpG5kcmEgZGV0IG9tIGR1IHZlcmtsaWdlbiAiCisidmlsbCBha3RpdmVyYSBkZWxhdCBpbmRleCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTE3Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJkaXNhYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisiY29yZS5zcGxpdEluZGV4IMOkciBzYXR0IHRpbGwgdHJ1ZTsgdGEgYm9ydCBlbGxlciDDpG5kcmEgZGV0IG9tIGR1IHZlcmtsaWdlbiAiCisidmlsbCBpbmFrdGl2ZXJhIGRlbGF0IGluZGV4IgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjgKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCkBAIC0xMzMwOCwxMSArMTM2NjAsMTEgQEAKICJjb3JlLnVudHJhY2tlZENhY2hlIMOkciBzYXR0IHRpbGwgdHJ1ZTsgdGEgYm9ydCBlbGxlciDDpG5kcmEgZGV0IG9tIGR1ICIKICJ2ZXJrbGlnZW4gdmlsbCBpbmFrdGl2ZXJhIGRlbiBvc3DDpXJhZGUgY2FjaGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMgogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBkaXNhYmxlZCIKIG1zZ3N0ciAiT3Nww6VyYWQgY2FjaGUgw6RyIGluYWt0aXZlcmFkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0MAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTEzMzIwLDEzMyArMTM2NzIsMTMzIEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSDDpHIgc2F0dCB0aWxsIGZhbHNlOyB0YSBib3J0IGVsbGVyIMOkbmRyYSBkZXQgb20gZHUgIgogInZlcmtsaWdlbiB2aWxsIGFrdGl2ZXJhIGRlbiBvc3DDpXJhZGUgY2FjaGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAiT3Nww6VyYWQgY2FjaGUgw6RyIGFrdGl2ZXJhZCBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6OQorIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKIG1zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAtZCA8cmVmbmFtZT4gWzxvbGQtdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs8ZmxhZ2dvcj5dIC1kIDxyZWZuYW1uPiBbPGdhbW1hbHR2w6RyZGU+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gICAgPHJlZm5hbWU+IDxuZXctdmFsPiBbPG9sZC12YWw+XSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgWzxmbGFnZ29yPl0gICAgPHJlZm5hbW4+IDxnYW1tYWx0dsOkcmRlPiBbPG55dHR2w6RyZGU+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPGZsYWdnb3I+XSAtLXN0ZGluIFstel0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY0CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCiBtc2dzdHIgInRhIGJvcnQgcmVmZXJlbnNlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY1CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKIG1zZ2lkICJ1cGRhdGUgPHJlZm5hbWU+IG5vdCB0aGUgb25lIGl0IHBvaW50cyB0byIKIG1zZ3N0ciAidXBwZGF0ZXJhIDxyZWZuYW1uPiBpbnRlIGRldCBkZW4gcGVrYXIgcMOlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCiBtc2dzdHIgInN0YW5kYXJkIGluIGhhciBOVUwtdGVybWluZXJhZGUgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY4CiBtc2dpZCAicmVhZCB1cGRhdGVzIGZyb20gc3RkaW4iCiBtc2dzdHIgImzDpHMgdXBwZGF0ZXJpbmdhciBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo2CisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjcKIG1zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTQKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTUKIG1zZ2lkICJ1cGRhdGUgdGhlIGluZm8gZmlsZXMgZnJvbSBzY3JhdGNoIgogbXNnc3RyICJ1cHBkYXRlcmEgaW5mb3JtYXRpb25zZmlsZXJuYSBmcsOlbiBncnVuZGVuIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxNworIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTgKIG1zZ2lkICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxpbmNoZWNrbmluZz4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjcyCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MwogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAidmlzYSBpbm5laMOlbGwgZsO2ciBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICJ2aXNhIHLDpWEgZ3BnLXN0YXR1c2RhdGEiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU1CiBtc2dpZCAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWtldD4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY1CiBtc2dpZCAidmVyYm9zZSIKIG1zZ3N0ciAicHJhdHNhbSIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY2CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjcKIG1zZ2lkICJzaG93IHN0YXRpc3RpY3Mgb25seSIKIG1zZ3N0ciAidmlzYSBlbmRhc3Qgc3RhdGlzdGlrIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTkKIG1zZ2lkICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZz4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXRdIDx0YWdnPi4uLiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgdGFnIGNvbnRlbnRzIgogbXNnc3RyICJ2aXNhIGlubmVow6VsbCBmw7ZyIHRhZyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKIG1zZ2lkICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxwYXRoPiBbPGJyYW5jaD5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs8ZmxhZ2dvcj5dIDxzw7ZrdsOkZz4gWzxncmVuPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBsaXN0IFs8ZmxhZ2dvcj5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAogbXNnaWQgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxmbGFnZ29yPl0gPHPDtmt2w6RnPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKIG1zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjAKIG1zZ2lkICJnaXQgd29ya3RyZWUgdW5sb2NrIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHVubG9jayA8c8O2a3bDpGc+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IG5vdCBhIHZhbGlkIGRpcmVjdG9yeSIKIG1zZ3N0ciAiVGFyIGJvcnQgd29ya3RyZWVzLyVzOiBpbnRlIGVuIGdpbHRpZyBrYXRhbG9nIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJUYXIgYm9ydCB3b3JrdHJlZXMvJXM6IGdpdGRpci1maWxlbiBleGlzdGVyYXIgaW50ZSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiB1bmFibGUgdG8gcmVhZCBnaXRkaXIgZmlsZSAoJXMpIgogbXNnc3RyICJUYXIgYm9ydCB3b3JrdHJlZXMvJXM6IGthbiBpbnRlIGzDpHNhIGdpdGRpci1maWxlbiAoJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCiBtc2dzdHIgIlRhciBib3J0IHdvcmt0cmVlcy8lczogZmVsYWt0aWcgZ2l0ZGlyLWZpbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICJUYXIgYm9ydCB3b3JrdHJlZXMvJXM6IGdpdGRpci1maWxlbiBwZWthciBww6UgZW4gaWNrZWV4aXN0ZXJhbmRlIHBsYXRzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTI4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTI5CiBtc2dpZCAicmVwb3J0IHBydW5lZCB3b3JraW5nIHRyZWVzIgogbXNnc3RyICJyYXBwb3J0ZXJhIGJvcnR0YWduYSBhcmJldHNrYXRhbG9nZXIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzEKIG1zZ2lkICJleHBpcmUgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAibMOldCB0aWQgZ8OlIHV0IGbDtnIgYXJiZXRza2F0YWxvZ2VyIMOkbGRyZSDDpG4gPHRpZD4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiXCIlc1wiIGZpbm5zIHJlZGFuIgpAQCAtMTM0NTYsOTcgKzEzODA4LDEwMSBAQAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEga2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgJXMgKGlkZW50aWZpZXIgJXMpIgogbXNnc3RyICJGw7ZyYmVyZWRlciAlcyAoaWRlbnRpZmllcmFyZW4gJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzIzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICIiCiAiY2hlY2thIHV0IDxncmVuPiDDpHZlbiBvbSBkZW4gcmVkYW4gw6RyIHV0Y2hlY2thZCBpIGVuIGFubmFuIGFyYmV0c2thdGFsb2ciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJza2FwYSBlbiBueSBncmVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMxCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJza2FwYSBlbGxlciDDpXRlcnN0w6RsbCBlbiBncmVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMzCiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImJlZm9sa2EgZGVuIG55YSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKK21zZ2lkICJrZWVwIHRoZSBuZXcgd29ya2luZyB0cmVlIGxvY2tlZCIKK21zZ3N0ciAibMOldCBhcmJldHNrYXRhbG9nZW4gZsO2cmJsaSBsw6VzdCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjM0MgogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBvY2ggLS1kZXRhY2ggw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDcyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDc5CiBtc2dpZCAicmVhc29uIGZvciBsb2NraW5nIgogbXNnc3RyICJvcnNhayB0aWxsIGzDpXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MSBidWlsdGluL3dvcmt0cmVlLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZW4gYXJiZXRza2F0YWxvZyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NiBidWlsdGluL3dvcmt0cmVlLmM6NTE5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzIGJ1aWx0aW4vd29ya3RyZWUuYzo1MjYKIG1zZ2lkICJUaGUgbWFpbiB3b3JraW5nIHRyZWUgY2Fubm90IGJlIGxvY2tlZCBvciB1bmxvY2tlZCIKIG1zZ3N0ciAiSHV2dWRhcmJldHNrYXRhbG9nZW4ga2FuIGludGUgbMOlc2FzIGVsbGVyIGzDpXNhcyB1cHAiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAiXCIlc1wiIMOkciByZWRhbiBsw6VzdCwgb3JzYWs6ICVzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCiBtc2dzdHIgIlwiJXNcIiDDpHIgcmVkYW4gbMOlc3QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MjEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgbMOlc3QiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNAogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CiBtc2dpZCAiPHByZWZpeD4vIgogbXNnc3RyICI8cHJlZml4Pi8iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAidmlzYSB0csOkZG9iamVrdCBmw7ZyIHVuZGVya2F0YWxvZ2VuIDxwcmVmaXg+IgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzEKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICJlbmRhc3QgYW52w6RuZGJhcnQgdmlkIGZlbHPDtmtuaW5nIgogCi0jOiB1cGxvYWQtcGFjay5jOjIyCisjOiB1cGxvYWQtcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxmbGFnZ29yPl0gPGthdGFsb2c+IgogCi0jOiB1cGxvYWQtcGFjay5jOjEwMzYKKyM6IHVwbG9hZC1wYWNrLmM6MTA0MQogbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKIG1zZ3N0ciAiYXZzbHV0YSBvbWVkZWxiYXJ0IGVmdGVyIGbDtnJzdGEgYW5yb3Avc3Zhci11dHbDpHhsaW5nIgogCi0jOiB1cGxvYWQtcGFjay5jOjEwMzgKKyM6IHVwbG9hZC1wYWNrLmM6MTA0MwogbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKIG1zZ3N0ciAiYXZzbHV0YSBvbWVkZWxiYXJ0IGVmdGVyIGlubGVkYW5kZSBrdW5nw7ZyZWxzZSBhdiByZWZlcmVuc2VyIgogCi0jOiB1cGxvYWQtcGFjay5jOjEwNDAKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NQogbXNnaWQgImRvIG5vdCB0cnkgPGRpcmVjdG9yeT4vLmdpdC8gaWYgPGRpcmVjdG9yeT4gaXMgbm8gR2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAidGVzdGEgaW50ZSA8a2F0YWxvZz4vLmdpdC8gb20gPGthdGFsb2c+IGludGUgw6RyIGVuIEdpdC1rYXRhbG9nIgogCi0jOiB1cGxvYWQtcGFjay5jOjEwNDIKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NwogbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgogbXNnc3RyICJhdmJyeXQgw7Z2ZXJmw7ZyaW5nZW4gZWZ0ZXIgPG4+IHNla3VuZGVycyBpbmFrdGl2aXRldCIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKQEAgLTEzNTU5LDExICsxMzkxNSwxMSBAQAogIlxuIgogIlx0Y2htb2QgMDcwMCAlcyIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzIKIG1zZ2lkICJwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gc3RkZXJyIgogbXNnc3RyICJza3JpdiBmZWxzw7ZrbmluZ3NtZWRkZWxhbmRlbiBww6Ugc3RhbmRhcmQgZmVsIgogCi0jOiBnaXQuYzoxNAorIzogZ2l0LmM6MTUKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKQEAgLTEzNTczLDE1ICsxMzkyOSwyMCBAQAogIm7DpWdyYSBrb25jZXB0dsOkZ2xlZG5pbmdhci4gU2UgXCJnaXQgaGVscCA8a29tbWFuZG8+XCIgZWxsZXIgXCJnaXQgaGVscFxuIgogIjxrb25jZXB0PlwiIGbDtnIgYXR0IGzDpHNhIG1lciBvbSBzcGVjaWZpa2EgdW5kZXJrb21tYW5kb24gb2NoIGtvbmNlcHQuIgogCi0jOiBodHRwLmM6MzQ0CisjOiBodHRwLmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCittc2dzdHIgImh0dHAucG9zdGJ1ZmZlciBoYXIgbmVnYXRpdnQgdsOkcmRlOyBhbnbDpG5kZXIgZsO2cnZhbGV0ICVkIgorCisjOiBodHRwLmM6MzU4CiBtc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgogbXNnc3RyICJEZWxlZ2VyYWQgc3R5cm5pbmcgc3TDtmRzIGludGUgYXYgY1VSTCA8IDcuMjIuMCIKIAotIzogaHR0cC5jOjM1MworIzogaHR0cC5jOjM2NwogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiRmFzdG7DpWxuaW5nIGF2IMO2cHBlbiBueWNrZWwgc3TDtmRzIGludGUgYXYgY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjE3MTMKKyM6IGh0dHAuYzoxNzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gdXBkYXRlIHVybCBiYXNlIGZyb20gcmVkaXJlY3Rpb246XG4iCkBAIC0xMzU5Miw3ICsxMzk1Myw3IEBACiAiICAgICAgICBiYWQgb206ICVzXG4iCiAiICBvbWRpcmlnZXJpbmc6ICVzIgogCi0jOiByZW1vdGUtY3VybC5jOjMxOQorIzogcmVtb3RlLWN1cmwuYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgIm9tZGlyaWdlcmFyIHRpbGwgJXMiCkBAIC0xMzczNCw3ICsxNDA5NSw3IEBACiAjLiBhdCB0aGlzIHBvaW50LgogIzogZ2l0LWJpc2VjdC5zaDo2MAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKLW1zZ3N0ciAiVmlsbCBkdSBhdHQgamFnIHNrYSBnw7ZyYSBkZXQgw6V0IGRpZyBbWT1qYS9OPW5lal0/IgorbXNnc3RyICJWaWxsIGR1IGF0dCBqYWcgc2thIGfDtnJhIGRldCDDpXQgZGlnIFtZPWphL049bmVqXT8gIgogCiAjOiBnaXQtYmlzZWN0LnNoOjEyMQogIywgc2gtZm9ybWF0CkBAIC0xMzc1Niw3ICsxNDExNyw3IEBACiAiQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIKIG1zZ3N0ciAiIgogIk1pc3NseWNrYWRlcyBjaGVja2EgdXQgXCIkc3RhcnRfaGVhZFwiLiBGw7Zyc8O2ayBcImdpdCBiaXNlY3QgcmVzZXQgIgotIjxnaWx0aWdfZ3Jlbj5cIiIKKyI8Z2lsdGlnX2dyZW4+4oCdLiIKIAogIyBjb2dpdG8tcmVsYXRlcmF0CiAjOiBnaXQtYmlzZWN0LnNoOjE3NwpAQCAtMTM3OTYsNyArMTQxNTcsNyBAQAogIywgc2gtZm9ybWF0CiBtc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhICRURVJNX0JBRCBjb21taXQuIgogbXNnc3RyICIiCi0iVmFybmluZzogdXRmw7ZyIFwiYmlzZWN0XCIgbWVkIGVuZGFzdCBlbiBkw6VsaWcgKFwiJFRFUk1fQkFEXCIpIGluY2hlY2tuaW5nIgorIlZhcm5pbmc6IHV0ZsO2ciBcImJpc2VjdFwiIG1lZCBlbmRhc3QgZW4gZMOlbGlnIChcIiRURVJNX0JBRFwiKSBpbmNoZWNrbmluZy4iCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CkBAIC0xMzk2OSw3ICsxNDMzMCw3IEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgIkVua2VsIHNhbW1hbnNsYWduaW5nIG1pc3NseWNrYWRlcywgZsO2cnPDtmtlciBhdXRvbWF0aXNrIHNhbW1hbnNsYWduaW5nLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NworIzogZ2l0LXJlYmFzZS5zaDo1OAogbXNnaWQgIiIKICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTEzOTgwLDM3ICsxNDM0MSw0MSBAQAogIk9tIGR1IHZpbGwgaG9wcGEgw7Z2ZXIgcGF0Y2hlbiBrw7ZyIGR1IGlzdMOkbGxldCBcImdpdCByZWJhc2UgLS1za2lwXCIuXG4iCiAiRsO2ciBhdHQgw6V0ZXJzdMOkbGxhIG9yaWdpbmFsZ3JlbmVuIG9jaCBhdmJyeXRhIGvDtnIgZHUgXCJnaXQgcmViYXNlIC0tYWJvcnRcIi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTU3IGdpdC1yZWJhc2Uuc2g6Mzk2CisjOiBnaXQtcmViYXNlLnNoOjE1OCBnaXQtcmViYXNlLnNoOjM5NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgogbXNnc3RyICJLdW5kZSBpbnRlIGZseXR0YSB0aWxsYmFrYSB0aWxsICRoZWFkX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE2OQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAiVGlsbMOkbXBhZGUgYXV0b3N0YXNoLiIKKworIzogZ2l0LXJlYmFzZS5zaDoxNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKIG1zZ3N0ciAiS2FuIGludGUgc3BhcmEgJHN0YXNoX3NoYTEiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjExCisjOiBnaXQtcmViYXNlLnNoOjIxMgogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICJLcm9rZW4gcHJlLXJlYmFzZSB2w6RncmFkZSBvbWJhc2VyaW5nZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxNgorIzogZ2l0LXJlYmFzZS5zaDoyMTcKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIkRldCB2ZXJrYXIgc29tIGVuIGdpdC1hbSBrw7Zycy4gS2FuIGludGUgb21iYXNlcmEuIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NworIzogZ2l0LXJlYmFzZS5zaDozNTgKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICJJbmdlbiBvbWJhc2VyaW5nIHDDpWfDpXI/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjkKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIsOFdGfDpHJkZW4gLS1lZGl0LXRvZG8ga2FuIGVuZGFzdCBhbnbDpG5kYXMgdW5kZXIgaW50ZXJha3RpdiBvbWJhc2VyaW5nLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzUKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc2CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiS2FuIGludGUgbMOkc2EgSEVBRCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzgKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc5CiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTQwMTgsNyArMTQzODMsNyBAQAogIkR1IG3DpXN0ZSByZWRpZ2VyYSBhbGxhIHNhbW1hbnNsYWduaW5nc2tvbmZsaWt0ZXIgb2NoXG4iCiAiZMOkcmVmdGVyIG1hcmtlcmEgZGVtIHNvbSBsw7ZzdGEgbWVkIGdpdCBhZGQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDE4CisjOiBnaXQtcmViYXNlLnNoOjQxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTQwMzksMTAyICsxNDQwNCwxMDIgQEAKICJvY2gga8O2ciBwcm9ncmFtbWV0IGlnZW4uIEphZyBhdnNsdXRhciBpZmFsbCBkdSBmb3J0ZmFyYW5kZSBoYXJcbiIKICJuw6Vnb3QgYXYgdsOkcmRlIGTDpHIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2OQorIzogZ2l0LXJlYmFzZS5zaDo0NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgIm9naWx0aWcgdXBwc3Ryw7ZtICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MworIzogZ2l0LXJlYmFzZS5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiBtZXIgw6RuIGVuIHNhbW1hbnNsYWduaW5nc2JhcyBmaW5ucyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTYgZ2l0LXJlYmFzZS5zaDo1MDAKKyM6IGdpdC1yZWJhc2Uuc2g6NDk3IGdpdC1yZWJhc2Uuc2g6NTAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiBpbmdlbiBzYW1tYW5zbGFnbmluZ3NiYXMgZmlubnMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTA1CisjOiBnaXQtcmViYXNlLnNoOjUwNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIlBla2EgcMOlIGVuIGdpbHRpZyBpbmNoZWNrbmluZzogJG9udG9fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjgKKyM6IGdpdC1yZWJhc2Uuc2g6NTI5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAiw7ZkZXNkaWdlcnQ6IGluZ2VuIHPDpWRhbiBncmVuOiAkYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYxCisjOiBnaXQtcmViYXNlLnNoOjU2MgogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIkthbiBpbnRlIHV0ZsO2cmEgXCJhdXRvc3Rhc2hcIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjYKKyM6IGdpdC1yZWJhc2Uuc2g6NTY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAiU2thcGFkZSBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcwCisjOiBnaXQtcmViYXNlLnNoOjU3MQogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIkNoZWNrYSBpbiBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBww6UgZGVtLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTAKKyM6IGdpdC1yZWJhc2Uuc2g6NTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkFrdHVlbGwgZ3JlbiAkYnJhbmNoX25hbWUgw6RyIMOgIGpvdXIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5NAorIzogZ2l0LXJlYmFzZS5zaDo1OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiQWt0dWVsbCBncmVuICRicmFuY2hfbmFtZSDDpHIgw6Agam91ciwgb21iYXNlcmluZyBmcmFtdHZpbmdhZC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjA1CisjOiBnaXQtcmViYXNlLnNoOjYwNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIsOEbmRyaW5nYXIgZnLDpW4gJG1iIHRpbGwgJG9udG86IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxNAorIzogZ2l0LXJlYmFzZS5zaDo2MTUKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICJGw7Zyc3QsIHNwb2xhciB0aWxsYmFrYSBodXZ1ZGV0IGbDtnIgYXR0IHNwZWxhIGF2IGRpdHQgYXJiZXRlIG92YW5ww6UgZGV0Li4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyNAorIzogZ2l0LXJlYmFzZS5zaDo2MjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiU25hYmJzcG9sYWRlICRicmFuY2hfbmFtZSB0aWxsICRvbnRvX25hbWUuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAKKyM6IGdpdC1zdGFzaC5zaDo1NAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiXCJnaXQgc3Rhc2ggY2xlYXJcIiBtZWQgcGFyYW1ldHJhciBoYXIgaW50ZSBpbXBsZW1lbnRlcmF0cyIKIAotIzogZ2l0LXN0YXNoLnNoOjczCisjOiBnaXQtc3Rhc2guc2g6OTUKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKIG1zZ3N0ciAiRHUgaGFyIGludGUgZGVuIGbDtnJzdGEgaW5jaGVja25pbmdlbiDDpG5udSIKIAotIzogZ2l0LXN0YXNoLnNoOjg4CisjOiBnaXQtc3Rhc2guc2g6MTEwCiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIkthbiBpbnRlIHNwYXJhIGFrdHVlbGx0IHRpbGxzdMOlbmQgZsO2ciBpbmRleGV0IgogCi0jOiBnaXQtc3Rhc2guc2g6MTAzCisjOiBnaXQtc3Rhc2guc2g6MTI1CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiS2FuIGludGUgc3BhcmEgb3Nww6VyYWRlIGZpbGVyIgogCi0jOiBnaXQtc3Rhc2guc2g6MTIzIGdpdC1zdGFzaC5zaDoxMzYKKyM6IGdpdC1zdGFzaC5zaDoxNDUgZ2l0LXN0YXNoLnNoOjE1OAogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgogbXNnc3RyICJLYW4gaW50ZSBzcGFyYSBha3R1ZWxsdCB0aWxsc3TDpW5kIGbDtnIgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQwCisjOiBnaXQtc3Rhc2guc2g6MTYyCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAiSW5nYSDDpG5kcmluZ2FyIHZhbGRhIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQzCisjOiBnaXQtc3Rhc2guc2g6MTY1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIkthbiBpbnRlIHRhIGJvcnQgdGVtcG9yw6RydCBpbmRleCAoa2FuIGludGUgaW50csOkZmZhKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NgorIzogZ2l0LXN0YXNoLnNoOjE3OAogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICJLYW4gaW50ZSByZWdpc3RyZXJhIHRpbGxzdMOlbmQgZsO2ciBhcmJldHNrYXRhbG9nIgogCi0jOiBnaXQtc3Rhc2guc2g6MTg4CisjOiBnaXQtc3Rhc2guc2g6MjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIkthbiBpbnRlIHVwcGRhdGVyYSAkcmVmX3N0YXNoIG1lZCAkd19jb21taXQiCkBAIC0xNDE0OSw3ICsxNDUxNCw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjM4CisjOiBnaXQtc3Rhc2guc2g6MjY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTE0MTU4LDEwOCArMTQ1MjMsMTA3IEBACiAiZmVsOiBmZWxha3RpZyBmbGFnZ2EgZsO2ciBcInN0YXNoIHNhdmVcIjogJG9wdGlvblxuIgogIiAgICAgRsO2ciBhdHQgYW5nZSBldHQgbWVkZGVsYW5kZSwgYW52w6RuZCBnaXQgc3Rhc2ggc2F2ZSAtLSBcIiRvcHRpb25cIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI1MQorIzogZ2l0LXN0YXNoLnNoOjI4MQogbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCi1tc2dzdHIgIiIKLSJLYW4gaW50ZSBhbnbDpG5kYSAtLXBhdGNoIG9jaCAtLWluY2x1ZGUtdW50cmFja2VkIGVsbGVyIC0tYWxsIHNhbXRpZGlndC4iCittc2dzdHIgIkthbiBpbnRlIGFudsOkbmRhIC0tcGF0Y2ggb2NoIC0taW5jbHVkZS11bnRyYWNrZWQgZWxsZXIgLS1hbGwgc2FtdGlkaWd0IgogCi0jOiBnaXQtc3Rhc2guc2g6MjU5CisjOiBnaXQtc3Rhc2guc2g6Mjg5CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICJJbmdhIGxva2FsYSDDpG5kcmluZ2FyIGF0dCBzcGFyYSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2MworIzogZ2l0LXN0YXNoLnNoOjI5NAogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICJLYW4gaW50ZSBpbml0aWVyYSBcInN0YXNoXCIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjcKKyM6IGdpdC1zdGFzaC5zaDoyOTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIkthbiBpbnRlIHNwYXJhIGFrdHVlbGwgc3RhdHVzIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4CisjOiBnaXQtc3Rhc2guc2g6Mjk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKIG1zZ3N0ciAiU3BhcmFkZSBhcmJldHNrYXRhbG9nZW4gb2NoIGluZGV4c3RhdHVzICRzdGFzaF9tc2ciCiAKLSM6IGdpdC1zdGFzaC5zaDoyODUKKyM6IGdpdC1zdGFzaC5zaDozMjYKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgIkthbiBpbnRlIHRhIGJvcnQgw6RuZHJpbmdhciBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMworIzogZ2l0LXN0YXNoLnNoOjQ3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIm9rw6RuZCBmbGFnZ2E6ICRvcHQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MTYKLW1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCi1tc2dzdHIgIkluZ2VuIFwic3Rhc2hcIiBoaXR0YWRlcy4iCisjOiBnaXQtc3Rhc2guc2g6NDg3Cittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCittc2dzdHIgIkluZ2EgXCJzdGFzaOKAnS1wb3N0ZXIgaGl0dGFkZXMuIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIzCisjOiBnaXQtc3Rhc2guc2g6NDk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJGw7ZyIG3DpW5nYSByZXZpc2lvbmVyIGFuZ2l2bmE6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzgKKyM6IGdpdC1zdGFzaC5zaDo1MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIMOkciBpbnRlIGVuIGdpbHRpZyByZWZlcmVucyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NgorIzogZ2l0LXN0YXNoLnNoOjUzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiXCIkYXJnc1wiIMOkciBpbnRlIGVuIFwic3Rhc2hcIi1saWtuYW5kZSBpbmNoZWNrbmluZyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NworIzogZ2l0LXN0YXNoLnNoOjU0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIlwiJGFyZ3NcIiDDpHIgaW50ZSBlbiBcInN0YXNoXCItcmVmZXJlbnMiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODUKKyM6IGdpdC1zdGFzaC5zaDo1NTYKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhIGluZGV4ZXQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo1NjAKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIkthbiBpbnRlIHRpbGzDpG1wYSBlbiBcInN0YXNoXCIgbWl0dCBpIGVuIHNhbW1hbnNsYWduaW5nIgogCi0jOiBnaXQtc3Rhc2guc2g6NDk3CisjOiBnaXQtc3Rhc2guc2g6NTY4CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiS29uZmxpa3RlciBpIGluZGV4ZXQuIFRlc3RhIHV0YW4gLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0OTkKKyM6IGdpdC1zdGFzaC5zaDo1NzAKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJLdW5kZSBpbnRlIHNwYXJhIGluZGV4dHLDpGQiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDgKLW1zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKLW1zZ3N0ciAiS3VuZGUgaW50ZSDDpXRlcnN0w6RsbGEgb3Nww6VyYWRlIGZpbGVyIGZyw6VuIHN0YXNoIgorIzogZ2l0LXN0YXNoLnNoOjU3OQorbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgorbXNnc3RyICJLdW5kZSBpbnRlIMOldGVyc3TDpGxsYSBvc3DDpXJhZGUgZmlsZXIgZnLDpW4gc3Rhc2gtcG9zdCIKIAotIzogZ2l0LXN0YXNoLnNoOjUzMworIzogZ2l0LXN0YXNoLnNoOjYwNAogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJLYW4gaW50ZSB0YSBib3J0IMOkbmRyYWRlIGZpbGVyIHVyIGvDtm4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NDgKKyM6IGdpdC1zdGFzaC5zaDo2MTkKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCiBtc2dzdHIgIkluZGV4ZXQgaGFyIGludGUgdGFnaXRzIHVyIGvDtm4uIgogCi0jOiBnaXQtc3Rhc2guc2g6NTYyCi1tc2dpZCAiVGhlIHN0YXNoIGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCi1tc2dzdHIgIlwiU3Rhc2hcIjplbiBiZWjDpWxscyBpZmFsbCBkdSBiZWjDtnZlciBkZW4gaWdlbi4iCisjOiBnaXQtc3Rhc2guc2g6NjMzCittc2dpZCAiVGhlIHN0YXNoIGVudHJ5IGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCittc2dzdHIgIlN0YXNoLXBvc3RlbiBiZWjDpWxscyBpZmFsbCBkdSBiZWjDtnZlciBkZW4gaWdlbi4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzEKKyM6IGdpdC1zdGFzaC5zaDo2NDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIkthc3RhZGUgJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzIKKyM6IGdpdC1zdGFzaC5zaDo2NDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogS3VuZGUgaW50ZSBrYXN0YSBcInN0YXNoXCItcG9zdCIKIAotIzogZ2l0LXN0YXNoLnNoOjU4MAorIzogZ2l0LXN0YXNoLnNoOjY1MQogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAiSW5nZXQgZ3Jlbm5hbW4gYW5nYXZzIgogCi0jOiBnaXQtc3Rhc2guc2g6NjUyCisjOiBnaXQtc3Rhc2guc2g6NzMwCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoRsO2ciBhdHQgw6V0ZXJzdMOkbGxhIGRlbSwgc2tyaXYgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiAKQEAgLTE0MjgyLDcgKzE0NjQ2LDcgQEAKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgogbXNnc3RyICJcIiRzbV9wYXRoXCIgZmlubnMgcmVkYW4gaSBpbmRleGV0IG9jaCDDpHIgaW50ZSBlbiB1bmRlcm1vZHVsIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIxOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTQyOTEsMjQgKzE0NjU1LDI0IEBACiBtc2dzdHIgIiIKICJGw7ZsamFuZGUgc8O2a3bDpGdhciBpZ25vcmVyYXMgYXYgZW4gYXYgZGluYSAuZ2l0aWdub3JlLWZpbGVyOlxuIgogIiRzbV9wYXRoXG4iCi0iQW52w6RuZCAtZiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCBsw6RnZ2EgdGlsbCBkZW4iCisiQW52w6RuZCAtZiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCBsw6RnZ2EgdGlsbCBkZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICJMw6RnZ2VyIHRpbGwgYmVmaW50bGlndCBhcmtpdiBpIFwiJHNtX3BhdGhcIiBpIGluZGV4ZXQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIlwiJHNtX3BhdGhcIiBmaW5ucyByZWRhbiBvY2ggw6RyIGludGUgZXR0IGdpbHRpZ3QgZ2l0LWFya2l2IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAiRW4gZ2l0LWthdGFsb2cgZsO2ciBcIiRzbV9uYW1lXCIgaGl0dGFkZXMgbG9rYWx0IG1lZCBmasOkcnIoYXIpOiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCkBAIC0xNDMyNiw0OCArMTQ2OTAsNDggQEAKICJhcmtpdiBlbGxlciBvbSBkdSDDpHIgb3PDpGtlciBww6UgdmFkIGRldCBow6RyIGJldHlkZXIsIHbDpGxqIGV0dCBhbm5hdCBuYW1uIG1lZFxuIgogImZsYWdnYW4gXCItLW5hbWVcIi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAiQWt0aXZlcmFyIGxva2FsIGdpdC1rYXRhbG9nIGbDtnIgdW5kZXJtb2R1bGVuIFwiJHNtX25hbWVcIiBww6Ugbnl0dC4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBjaGVja2EgdXQgdW5kZXJtb2R1bGVuIFwiJHNtX3BhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJNaXNzbHlja2FkZXMgbMOkZ2dhIHRpbGwgdW5kZXJtb2R1bGVuIFwiJHNtX3BhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIk1pc3NseWNrYWRlcyByZWdpc3RyZXJhIHVuZGVybW9kdWxlbiBcIiRzbV9wYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjM0MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRW50ZXJpbmcgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkfDpXIgaW4gaSBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM0NworIzogZ2l0LXN1Ym1vZHVsZS5zaDozNjIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN0b3BwaW5nIGF0ICckZGlzcGxheXBhdGgnOyBzY3JpcHQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzLiIKIG1zZ3N0ciAiIgogIlN0b3BwYXIgcMOlIFwiJGRpc3BsYXlwYXRoXCI7IHNrcmlwdGV0IHJldHVybmVyYWRlIGVuIHN0YXR1cyBza2lsZCBmcsOlbiBub2xsLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAic8O2a3bDpGdzYW5naXZlbHNlIG9jaCAtLWFsbCDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIkFudsOkbmQgXCItLWFsbFwiIG9tIGR1IHZlcmtsaWdlbiB2aWxsIGF2aW5pdGllcmEgYWxsYSB1bmRlcm1vZHVsZXIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeVxuIgpAQCAtMTQzNzYsNyArMTQ3NDAsNyBAQAogIlVuZGVybW9kdWxzYXJiZXRza2F0YWxvZ2VuIFwiJGRpc3BsYXlwYXRoXCIgaW5uZWjDpWxsZXIgZW4gLmdpdC1rYXRhbG9nXG4iCiAiKGFudsOkbmQgXCJybSAtcmZcIiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCB0YSBib3J0IGRlbiBvY2ggYWxsIGRlc3MgaGlzdG9yaWspIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvICIKQEAgLTE0Mzg1LDM4ICsxNDc0OSwzOCBAQAogIlVuZGVybW9kdWxlbnMgYXJiZXRza2F0YWxvZyBcIiRkaXNwbGF5cGF0aFwiIGhhciBsb2thbGEgw6RuZHJpbmdhcjsgXCItZlwiICIKICJrYXN0YXIgYm9ydCBkZW0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlJlbnNhZGUga2F0YWxvZ2VuIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU1CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRhIGJvcnQgdW5kZXJtb2R1bGVucyBhcmJldHNrYXRhbG9nIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIHRvbSB1bmRlcm1vZHVsc2thdGFsb2cgXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiVW5kZXJtb2R1bGVuIFwiJG5hbWVcIiAoJHVybCkgYXZyZWdpc3RyZXJhZCBmw7ZyIHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBoaXR0YSBha3R1ZWxsIHJldmlzaW9uIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIGkgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJHNtX3BhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTQ0MjUsMTIgKzE0Nzg5LDEyIEBACiAiS2FuIGludGUgaGl0dGEgYWt0dWVsbCByZXZpc2lvbiBmw7ZyICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSBpICIKICJ1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRzbV9wYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBow6RtdGEgaSB1bmRlcm1vZHVsc8O2a3bDpGcgXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgpAQCAtMTQ0MzksODQgKzE0ODAzLDg0IEBACiAiSMOkbXRhZGUgaSB1bmRlcm1vZHVsc3PDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiwgbWVuIGRlbiBpbm5laMO2bGwgaW50ZSAkc2hhMS4gIgogIkRpcmVrdCBow6RtdG5pbmcgYXYgaW5jaGVja25pbmdlbiBtaXNzbHlja2FkZXMuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBjaGVja2EgdXQgXCIkc2hhMVwiIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIjogY2hlY2thZGUgdXQgXCIkc2hhMVwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgb21iYXNlcmEgXCIkc2hhMVwiIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIlVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCI6IG9tYmFzZXJhZGUgaW4gaSBcIiRzaGExXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkthbiBpbnRlIHNsw6UgaWhvcCBcIiRzaGExXCIgaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIjogc2FtbWFuc2xhZ2VuIGkgXCIkc2hhMVwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIk1pc3NseWNrYWRlcyBrw7ZyYSBcIiRjb21tYW5kICRzaGExXCIgaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJVbmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiOiBcIiRjb21tYW5kICRzaGExXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjczMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJla3Vyc2VyYSBpbiBpIHVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjg0MQogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIkZsYWdnYW4gLS1jYWNoZWQga2FuIGludGUgYW52w6RuZGFzIG1lZCBmbGFnZ2FuIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODc4CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5MwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJvdsOkbnRhdCBsw6RnZSAkbW9kX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTEzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAgVmFybmluZzogJGRpc3BsYXlfbmFtZSBpbm5laMOlbGxlciBpbnRlIGluY2hlY2tuaW5nZW4gJHNoYTFfc3JjIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkwMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBWYXJuaW5nOiAkZGlzcGxheV9uYW1lIGlubmVow6VsbGVyIGludGUgaW5jaGVja25pbmdlbiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTA0CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCiAiICBWYXJuaW5nOiAkZGlzcGxheV9uYW1lIGlubmVow6VsbGVyIGludGUgaW5jaGVja25pbmdhcm5hICRzaGExX3NyYyBvY2ggIgogIiRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDUxCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJla3Vyc2VyYSBpbiBpIHVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJHNtX3BhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjExMzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlN5bmtyb25pc2VyYXIgdW5kZXJtb2R1bC11cmwgZsO2ciBcIiRkaXNwbGF5cGF0aFwiIgpAQCAtMTQ2NjcsNyArMTUwMzEsNyBAQAogIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTMxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJHNoYTEuLi4gJHJlc3QiCi1tc2dzdHIgImt1bmRlIGludGUgdGlsbMOkbXBhICRzaGExLi4uICRyZXN0IgorbXNnc3RyICJLdW5kZSBpbnRlIHRpbGzDpG1wYSAkc2hhMS4uLiAkcmVzdCIKIAogIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTU5CiAjLCBzaC1mb3JtYXQKQEAgLTE0NzE1LDcgKzE1MDc5LDcgQEAKIG1zZ3N0ciAiIgogIkR1IGthbiByw6R0dGEgcHJvYmxlbWV0IG9jaCBzZWRhbiBrw7ZyYVxuIgogIlxuIgotIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIiCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKICMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCiAjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NTYKQEAgLTE0ODE4LDExICsxNTE4MiwxMSBAQAogbXNnaWQgIk9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKIG1zZ3N0ciAiRWxsZXIgc8OlIGthbiBkdSBhdmJyeXRhIG9tYmFzZXJpbmdlbiBtZWQgXCJnaXQgcmViYXNlIC0tYWJvcnRcIi4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNzkKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCBDSEVSUllfUElDS19IRUFEIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDg0CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0xNDg1MywxMSArMTUyMTcsMTEgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTAxCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA1CiBtc2dpZCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCiBtc2dzdHIgIkZlbCB2aWQgZsO2cnPDtmsgYXR0IGhpdHRhIGbDtnJmYXR0YXJpZGVudGl0ZXQgZsO2ciBhdHQgdXTDtmthIGluY2hlY2tuaW5nIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTEwCiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCkBAIC0xNDg2NSwxMSArMTUyMjksMTEgQEAKICJEdSBoYXIgw6RuZHJpbmdhciBpIGFyYmV0c2thdGFsb2dlbiBzb20gaW50ZSBjaGVja2F0cyBpbi4gQ2hlY2thIGluIGRlbVxuIgogImbDtnJzdCBvY2gga8O2ciBzZWRhbiBcImdpdCByZWJhc2UgLS1jb250aW51dGVcIiBpZ2VuLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExMSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTkKIG1zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBjaGVja2EgaW4ga8O2YWRlIMOkbmRyaW5nYXIuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTM5CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3CiBtc2dpZCAiIgogIlxuIgogIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgpAQCAtMTQ4ODMsNDAgKzE1MjQ3LDQwIEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMxMwogbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzdGFydGEgdGV4dHJlZGlnZXJhcmUiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgogbXNnc3RyICJLdW5kZSBpbnRlIGNoZWNrYSB1dCAkc3dpdGNoX3RvIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTczCiBtc2dpZCAiTm8gSEVBRD8iCiBtc2dzdHIgIkluZ2V0IEhFQUQ/IgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIHRlbXBvcsOkciAkc3RhdGVfZGlyIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc2CiBtc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCiBtc2dzdHIgIkt1bmRlIGludGUgbWFya2VyYSBzb20gaW50ZXJha3RpdiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3OCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTgzCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTg2IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExOTEKIG1zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBpbml0aWVyYSBvbXNrcml2bmEgaW5jaGVja25pbmdhciIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCiBtc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKIG1zZ3N0clswXSAiT21iYXNlcmEgJHNob3J0cmV2aXNpb25zIHDDpSAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGluY2hlY2tuaW5nKSIKIG1zZ3N0clsxXSAiT21iYXNlcmEgJHNob3J0cmV2aXNpb25zIHDDpSAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGluY2hlY2tuaW5nYXIpIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk2CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCkBAIC0xNDkyNiw3ICsxNTI5MCw3IEBACiAiT21iYXNlcmluZ2VuIGtvbW1lciBkb2NrIGF0dCBhdmJyeXRhcyBvbSBkdSB0YXIgYm9ydCBhbGx0aW5nLlxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzAzCiBtc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCiBtc2dzdHIgIk9ic2VydmVyYSBhdHQgdG9tbWEgaW5jaGVja25pbmdhciDDpHIgdXRrb21tZW50ZXJhZGUiCiAKQEAgLTE0OTkxLDgxICsxNTM1NSw4MSBAQAogbXNnc3RyICJLdW5kZSBpbnRlIGJlc3TDpG1tYSBhYnNvbHV0IHPDtmt2w6RnIHRpbGwgZ2l0LWthdGFsb2dlbiIKIAogIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJTEycyAlMTJzICVzIgogbXNnc3RyICIlMTJzICUxMnMgJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInN0YWdlZCIKIG1zZ3N0ciAia8O2YWQiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInVuc3RhZ2VkIgogbXNnc3RyICJlaiBrw7ZhZCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjQ2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjcxCiBtc2dpZCAiYmluYXJ5IgogbXNnc3RyICJiaW7DpHIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzYwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI1NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMwOQogbXNnaWQgIm5vdGhpbmciCiBtc2dzdHIgImluZ2VudGluZyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjkxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA2CiBtc2dpZCAidW5jaGFuZ2VkIgogbXNnc3RyICJvw6RuZHJhZCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjAyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAibGFkZSB0aWxsICVkIHPDtmt2w6RnXG4iCiBtc2dzdHJbMV0gImxhZGUgdGlsbCAlZCBzw7ZrdsOkZ2FyXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICJ1cHBkYXRlcmFkZSAlZCBzw7ZrdsOkZ1xuIgogbXNnc3RyWzFdICJ1cHBkYXRlcmFkZSAlZCBzw7ZrdsOkZ2FyXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIsOldGVyc3TDpGxsZGUgJWQgc8O2a3bDpGdcbiIKIG1zZ3N0clsxXSAiw6V0ZXJzdMOkbGxkZSAlZCBzw7ZrdsOkZ2FyXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjYyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ0b3VjaGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidG91Y2hlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICJyw7ZyZGUgJWQgc8O2a3bDpGdcbiIKIG1zZ3N0clsxXSAicsO2cmRlICVkIHPDtmt2w6RnYXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIwCiBtc2dpZCAiVXBkYXRlIgogbXNnc3RyICJVcHBkYXRlcmEiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjgzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMgogbXNnaWQgIlJldmVydCIKIG1zZ3N0ciAiw4V0ZXJzdMOkbGwiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgogbXNnc3RyICJvYnNlcnZlcmE6ICVzIHNww6VyYXMgaW50ZSBsw6RuZ3JlLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcxNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjYKIG1zZ2lkICJBZGQgdW50cmFja2VkIgogbXNnc3RyICJMw6RnZyB0aWxsIG9zcMOlcmFkIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcyMworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzIKIG1zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCiBtc2dzdHIgIkluZ2Egb3Nww6VyYWRlIGZpbGVyLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg1CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFnaW5nLiIKQEAgLTE1MDczLDcgKzE1NDM3LDcgQEAKICJPbSBwYXRjaGVuIGthbiBhcHBsaWNlcmFzIHJlbnQga29tbWVyIGRldCByZWRpZ2VyYWRlIHN0eWNrZXQgYXR0XG4iCiAia8O2YXMgb21lZGVsYmFydC4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5ODgKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YXNoaW5nLiIKQEAgLTE1MDgxLDcgKzE1NDQ1LDcgQEAKICJPbSBwYXRjaGVuIGthbiBhcHBsaWNlcmFzIHJlbnQga29tbWVyIGRldCByZWRpZ2VyYWRlIHN0eWNrZXQgYXR0XG4iCiAibMOkZ2dhcyB0aWxsIGkgXCJzdGFzaFwiIG9tZWRlbGJhcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTkxCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciB1bnN0YWdpbmcuIgpAQCAtMTUwODksNyArMTU0NTMsNyBAQAogIk9tIHBhdGNoZW4ga2FuIGFwcGxpY2VyYXMgcmVudCBrb21tZXIgZGV0IHJlZGlnZXJhZGUgc3R5Y2tldCBhdHRcbiIKICJ0YXMgYm9ydCBmcsOlbiBrw7ZuIG9tZWRlbGJhcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMDMKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKQEAgLTE1MDk3LDE1ICsxNTQ2MSw3IEBACiAiT20gcGF0Y2hlbiBrYW4gYXBwbGljZXJhcyByZW50IGtvbW1lciBkZXQgcmVkaWdlcmFkZSBzdHlja2V0IGF0dFxuIgogIm1hcmtlcmFzIGbDtnIgYXBwbGljZXJpbmcgb21lZGVsYmFydC4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1MQotbXNnaWQgIiIKLSJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgotIm1hcmtlZCBmb3IgZGlzY2FyZGluZyIKLW1zZ3N0ciAiIgotIk9tIHBhdGNoZW4ga2FuIGFwcGxpY2VyYXMgcmVudCBrb21tZXIgZGV0IHJlZGlnZXJhZGUgc3R5Y2tldCBhdHRcbiIKLSJtYXJrZXJhcyBmw7ZyIGthc3RhIG9tZWRlbGJhcnQiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5OTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDAwCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKQEAgLTE1MTEzLDE2ICsxNTQ2OSwxNiBAQAogIk9tIHBhdGNoZW4ga2FuIGFwcGxpY2VyYXMgcmVudCBrb21tZXIgZGV0IHJlZGlnZXJhZGUgc3R5Y2tldCBhdHRcbiIKICJtYXJrZXJhcyBmw7ZyIGthc3RhIG9tZWRlbGJhcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAxMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3Igd3JpdGluZzogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgc3R5Y2tlcmVkaWdlcmluZ3NmaWwgZsO2ciBza3Jpdm5pbmc6ICVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAxNAogbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgogbXNnc3RyICJNYW51ZWxsdCBzdHlja2VyZWRpZ2VyaW5nc2zDpGdlIC0tIHNlIG5lZGVyc3QgZsO2ciBzbmFiYmd1aWRlLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiLS0tXG4iCkBAIC0xNTEzNiw3ICsxNTQ5Miw3IEBACiAiUmFkZXIgc29tIGLDtnJqYXIgbWVkICVzIGtvbW1lciBhdHQgdGFzIGJvcnQuXG4iCiAKICMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDI4CiBtc2dpZCAiIgogIklmIGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHksIHlvdSB3aWxsIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCiAiZWRpdCBhZ2Fpbi4gIElmIGFsbCBsaW5lcyBvZiB0aGUgaHVuayBhcmUgcmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgpAQCAtMTUxNDYsNyArMTU1MDIsNyBAQAogInJlZGlnZXJhIGRlbiBpZ2VuLiBPbSBhbGxhIHJhZGVyIGkgZXR0IHN0eWNrZSB0YXMgYm9ydCBhdmJyeXRzXG4iCiAicmVkaWdlcmluZ2VuIG9jaCBzdHlja2V0IGzDpG1uYXMgb2bDtnLDpG5kcmF0LlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgc3R5Y2tlc3JlZGlnZXJpbmdzZmlsIGbDtnIgbMOkc25pbmc6ICVzIgpAQCAtMTUxNTcsMTQgKzE1NTEzLDE0IEBACiAjLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcwogIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KICMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTg3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMzQKIG1zZ2lkICIiCiAiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCiBtc2dzdHIgIiIKICJEaXR0IHJlZGlnZXJhZGUgc3R5Y2tlIGthbiBpbnRlIGFwcGxpY2VyYXMuIFJlZGlnZXJhIGlnZW4gKFwibmVqXCIga2FzdGFyISkgIgotIlt5L25dPyIKKyJbeS9uXT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MwogbXNnaWQgIiIKICJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTE1MTc4LDcgKzE1NTM0LDcgQEAKICJhIC0ga8O2YSBzdHlja2V0IG9jaCBhbGxhIGbDtmxqYW5kZSBpIGZpbGVuXG4iCiAiZCAtIGvDtmEgaW50ZSBzdHlja2V0IGVsbGVyIG7DpWdvdCBhdiBkZSBmw7ZsamFuZGUgaSBmaWxlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjAyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNDkKIG1zZ2lkICIiCiAieSAtIHN0YXNoIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rXG4iCkBAIC0xNTE5Miw3ICsxNTU0OCw3IEBACiAiYSAtIFwic3Rhc2hcIjphIHN0eWNrZXQgb2NoIGFsbGEgZsO2bGphbmRlIGkgZmlsZW5cbiIKICJkIC0gXCJzdGFzaFwiOmEgaW50ZSBzdHlja2V0IGVsbGVyIG7DpWdvdCBhdiBkZSBmw7ZsamFuZGUgaSBmaWxlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjA4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNTUKIG1zZ2lkICIiCiAieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMTUyMDYsNyArMTU1NjIsNyBAQAogImEgLSB0YSBib3J0IHN0eWNrZXQgb2NoIGFsbGEgZsO2bGphbmRlIGkgZmlsZW4gZnLDpW4ga8O2blxuIgogImQgLSB0YSBpbnRlIGJvcnQgc3R5Y2tldCBlbGxlciBuw6Vnb3QgYXYgZGUgZsO2bGphbmRlIGkgZmlsZW4gZnLDpW4ga8O2biIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjE0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNjEKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCkBAIC0xNTIyMCw3ICsxNTU3Niw3IEBACiAiYSAtIGFwcGxpY2VyYSBzdHlja2V0IG9jaCBhbGxhIGbDtmxqYW5kZSBpIGZpbGVuXG4iCiAiZCAtIGFwcGxpY2VyYSBpbnRlIHN0eWNrZXQgZWxsZXIgbsOlZ290IGF2IGRlIGbDtmxqYW5kZSBpIGZpbGVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE2NwogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgpAQCAtMTUyMzQsNyArMTU1OTAsNyBAQAogImEgLSBmw7Zya2FzdGEgc3R5Y2tldCBvY2ggYWxsYSBmw7ZsamFuZGUgaSBmaWxlblxuIgogImQgLSBmw7Zya2FzdGEgaW50ZSBzdHlja2V0IGVsbGVyIG7DpWdvdCBhdiBkZSBmw7ZsamFuZGUgaSBmaWxlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjI2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNzMKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTUyNDgsNyArMTU2MDQsNyBAQAogImEgLSBmw7Zya2FzdGEgc3R5Y2tldCBvY2ggYWxsYSBmw7ZsamFuZGUgaSBmaWxlblxuIgogImQgLSBmw7Zya2FzdGEgaW50ZSBzdHlja2V0IGVsbGVyIG7DpWdvdCBhdiBkZSBmw7ZsamFuZGUgaSBmaWxlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjMyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNzkKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTE1MjYyLDcgKzE1NjE4LDcgQEAKICJhIC0gYXBwbGljZXJhIHN0eWNrZXQgb2NoIGFsbGEgZsO2bGphbmRlIGkgZmlsZW5cbiIKICJkIC0gYXBwbGljZXJhIGludGUgc3R5Y2tldCBlbGxlciBuw6Vnb3QgYXYgZGUgZsO2bGphbmRlIGkgZmlsZW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTg4CiBtc2dpZCAiIgogImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCiAiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgpAQCAtMTUyODQsMjAzICsxNTY0MCwyMDMgQEAKICJlIC0gcmVkaWdlcmEgYWt0dWVsbHQgc3R5Y2tlIG1hbnVlbGx0XG4iCiAiPyAtIHZpc2EgaGrDpGxwXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjE5CiBtc2dpZCAiVGhlIHNlbGVjdGVkIGh1bmtzIGRvIG5vdCBhcHBseSB0byB0aGUgaW5kZXghXG4iCiBtc2dzdHIgIk1hcmtlcmFkZSBzdHlja2VuIGthbiBpbnRlIGFwcGxpY2VyYXMgcMOlIGluZGV4ZXQhXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIwCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgIkFwcGxpY2VyYSBkZW0gcMOlIGFyYmV0c2thdGFsb2dlbiB0cm90cyBkZXQ/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjc2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjMKIG1zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgogbXNnc3RyICJJbmdlbnRpbmcgYXBwbGljZXJhZGVzLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyODcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB1bm1lcmdlZDogJXNcbiIKIG1zZ3N0ciAiaWdub3JlcmFyIGVqIHNhbW1hbnNsYWdlbjogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDMKIG1zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgogbXNnc3RyICJFbmRhc3QgYmluw6RyYSBmaWxlciDDpG5kcmFkZS5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDUKIG1zZ2lkICJObyBjaGFuZ2VzLlxuIgogbXNnc3RyICJJbmdhIMOkbmRyaW5nYXIuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjUzCiBtc2dpZCAiUGF0Y2ggdXBkYXRlIgogbXNnc3RyICJVcHBkYXRlcmEgcGF0Y2giCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCi1tc2dzdHIgIkvDtmEgw6RuZHJhdCBsw6RnZSBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIkvDtmEgw6RuZHJhdCBsw6RnZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJLw7ZhIGJvcnR0YWduaW5nIFt5LG4scSxhLGQsLyVzLD9dPyIKK21zZ3N0ciAiS8O2YSBib3J0dGFnbmluZyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKLW1zZ3N0ciAiS8O2YSBzdHlja2V0IFt5LG4scSxhLGQsLyVzLD9dPyIKK21zZ3N0ciAiS8O2YSBzdHlja2V0IFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzEwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCi1tc2dzdHIgIlN0YXNoOmEgw6RuZHJhdCBsw6RnZSBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIlN0YXNoOmEgw6RuZHJhdCBsw6RnZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJTdGFzaDphIGJvcnR0YWduaW5nIFt5LG4scSxhLGQsLyVzLD9dPyIKK21zZ3N0ciAiU3Rhc2g6YSBib3J0dGFnbmluZyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKLW1zZ3N0ciAiU3Rhc2g6YSBzdHlja2V0IFt5LG4scSxhLGQsLyVzLD9dPyIKK21zZ3N0ciAiU3Rhc2g6YSBzdHlja2V0IFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKLW1zZ3N0ciAiVGEgYm9ydCDDpG5kcmF0IGzDpGdlIGZyw6VuIGvDtm4gW3ksbixxLGEsZCwvJXMsP10/IgorbXNnc3RyICJUYSBib3J0IMOkbmRyYXQgbMOkZ2UgZnLDpW4ga8O2biBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCi1tc2dzdHIgIlRhIGJvcnQgYm9ydHRhZ25pbmcgZnLDpW4ga8O2biBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIlRhIGJvcnQgYm9ydHRhZ25pbmcgZnLDpW4ga8O2biBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxNwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJUYSBib3J0IHN0eWNrZXQgZnLDpW4ga8O2biBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIlRhIGJvcnQgc3R5Y2tldCBmcsOlbiBrw7ZuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzIwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IFt5LG4scSxhLGQsLyVzLD9dPyAiCi1tc2dzdHIgIkFwcGxpY2VyYSDDpG5kcmF0IGzDpGdlIHDDpSBpbmRleGV0IFt5LG4scSxhLGQsLyVzLD9dPyIKK21zZ3N0ciAiQXBwbGljZXJhIMOkbmRyYXQgbMOkZ2UgcMOlIGluZGV4ZXQgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKLW1zZ3N0ciAiQXBwbGljZXJhIGJvcnR0YWduaW5nIHDDpSBpbmRleGV0IFt5LG4scSxhLGQsLyVzLD9dPyIKK21zZ3N0ciAiQXBwbGljZXJhIGJvcnR0YWduaW5nIHDDpSBpbmRleGV0IFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzIyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJBcHBsaWNlcmEgc3R5Y2tldCBww6UgaW5kZXhldCBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIkFwcGxpY2VyYSBzdHlja2V0IHDDpSBpbmRleGV0IFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJLYXN0YSDDpG5kcmF0IGzDpGdlIGZyw6VuIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIkthc3RhIMOkbmRyYXQgbMOkZ2UgZnLDpW4gYXJiZXRza2F0YWxvZ2VuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJLYXN0YSBib3J0dGFnbmluZyBmcsOlbiBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCwvJXMsP10/IgorbXNnc3RyICJLYXN0YSBib3J0dGFnbmluZyBmcsOlbiBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzgwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJLYXN0YSBzdHlja2V0IGZyw6VuIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIkthc3RhIHN0eWNrZXQgZnLDpW4gYXJiZXRza2F0YWxvZ2VuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKLW1zZ3N0ciAiS2FzdGEgw6RuZHJhdCBsw6RnZSBmcsOlbiBpbmRleGV0IG9jaCBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCwvJXMsP10/IgorbXNnc3RyICJLYXN0YSDDpG5kcmF0IGzDpGdlIGZyw6VuIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIGRlbGV0aW9uIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCi1tc2dzdHIgIkthc3RhIGJvcnR0YWduaW5nIGZyw6VuIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIkthc3RhIGJvcnR0YWduaW5nIGZyw6VuIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgotbXNnc3RyICJLYXN0YSBzdHlja2V0IGZyw6VuIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8iCittc2dzdHIgIkthc3RhIHN0eWNrZXQgZnLDpW4gaW5kZXhldCBvY2ggYXJiZXRza2F0YWxvZ2VuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICIiCi0iQXBwbGljZXJhIMOkbmRyYXQgbMOkZ2UgcMOlIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8iCisiQXBwbGljZXJhIMOkbmRyYXQgbMOkZ2UgcMOlIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgotIkFwcGxpY2VyYSBib3J0dGFnbmluZyBww6UgaW5kZXhldCBvY2ggYXJiZXRza2F0YWxvZ2VuIFt5LG4scSxhLGQsLyVzLD9dPyIKKyJBcHBsaWNlcmEgYm9ydHRhZ25pbmcgcMOlIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCi1tc2dzdHIgIkFwcGxpY2VyYSBzdHlja2V0IHDDpSBpbmRleGV0IG9jaCBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCwvJXMsP10/IgorbXNnc3RyICJBcHBsaWNlcmEgc3R5Y2tldCBww6UgaW5kZXhldCBvY2ggYXJiZXRza2F0YWxvZ2VuIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ5MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCiBtc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCi1tc2dzdHIgImfDpSB0aWxsIHZpbGtldCBzdHlja2UgKDxyZXQ+IGbDtnIgYXR0IHNlIGZsZXIpPyIKK21zZ3N0ciAiZ8OlIHRpbGwgdmlsa2V0IHN0eWNrZSAoPHJldD4gZsO2ciBhdHQgc2UgZmxlcik/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDIKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCi1tc2dzdHIgImfDpSB0aWxsIHZpbGtldCBzdHlja2U/IgorbXNnc3RyICJnw6UgdGlsbCB2aWxrZXQgc3R5Y2tlPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUwNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDUxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkludmFsaWQgbnVtYmVyOiAnJXMnXG4iCiBtc2dzdHIgIk9naWx0aWd0IHNpZmZlcnbDpHJkZTogXCIlc1wiXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUwOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgogbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCiBtc2dzdHJbMF0gIkJla2xhZ2FyLCBkZXQgZmlubnMgYmFyYSAlZCBzdHlja2UuXG4iCiBtc2dzdHJbMV0gIkJla2xhZ2FyLCBkZXQgZmlubnMgYmFyYSAlZCBzdHlja2VuLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ4MgogbXNnaWQgInNlYXJjaCBmb3IgcmVnZXg/ICIKIG1zZ3N0ciAic8O2ayBlZnRlciByZWd1bGrDpHJ0IHV0dHJ5Y2s/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIkZlbGFrdGlndCBmb3JtYXQgcMOlIHJlZ3VsasOkcnQgc8O2a3V0dHJ5Y2sgJXM6ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU1OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA1CiBtc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCiBtc2dzdHIgIkluZ2Egc3R5Y2tlbiBtb3RzdmFyYXIgZ2l2ZXQgbcO2bnN0ZXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTE3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUzOQogbXNnaWQgIk5vIHByZXZpb3VzIGh1bmtcbiIKIG1zZ3N0ciAiSW5nZXQgZsO2cmVnw6VlbmRlIHN0eWNrZVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MjYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ1CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIkluZ2V0IGbDtmxqYW5kZSBzdHlja2VcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3BsaXQgaW50byAlZCBodW5rLlxuIgogbXNnaWRfcGx1cmFsICJTcGxpdCBpbnRvICVkIGh1bmtzLlxuIgogbXNnc3RyWzBdICJEZWxhIGkgJWQgc3R5Y2tlLlxuIgogbXNnc3RyWzFdICJEZWxhIGkgJWQgc3R5Y2tlbi5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MDUKIG1zZ2lkICJSZXZpZXcgZGlmZiIKIG1zZ3N0ciAiR3JhbnNrYSBkaWZmIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGRvIG5vdCB0cmFuc2xhdGUgdGhlIGNvbW1hbmQgbmFtZXMKICMuICdzdGF0dXMnLCAndXBkYXRlJywgJ3JldmVydCcsIGV0Yy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY3NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjI0CiBtc2dpZCAiIgogInN0YXR1cyAgICAgICAgLSBzaG93IHBhdGhzIHdpdGggY2hhbmdlc1xuIgogInVwZGF0ZSAgICAgICAgLSBhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKICJyZXZlcnQgICAgICAgIC0gcmV2ZXJ0IHN0YWdlZCBzZXQgb2YgY2hhbmdlcyBiYWNrIHRvIHRoZSBIRUFEIHZlcnNpb25cbiIKICJwYXRjaCAgICAgICAgIC0gcGljayBodW5rcyBhbmQgdXBkYXRlIHNlbGVjdGl2ZWx5XG4iCi0iZGlmZlx0ICAgICAgLSB2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleFxuIgorImRpZmYgICAgICAgICAgLSB2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleFxuIgogImFkZCB1bnRyYWNrZWQgLSBhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mICIKICJjaGFuZ2VzXG4iCiBtc2dzdHIgIiIKQEAgLTE1NDg4LDg4ICsxNTg0NCw4OCBAQAogInVwZGF0ZSAgICAgICAgLSBsw6RnZyBhcmJldHNrYXRhbG9nZW5zIHRpbGxzdMOlbmQgdGlsbCBrw7ZhZGUgw6RuZHJpbmdhclxuIgogInJldmVydCAgICAgICAgLSDDpXRlcnN0w6RsbCBrw7ZhZGUgw6RuZHJpbmdhciB0aWxsIEhFQUQtdmVyc2lvbmVuXG4iCiAicGF0Y2ggICAgICAgICAtIHbDpGxqIG9jaCB1cHBkYXRlcmEgdmFsZGEgc3R5Y2tlblxuIgotImRpZmZcdCAgICAgIC0gdmlzYSBkaWZmIG1lbGxhbiBIRUFEIG9jaCBpbmRleFxuIgorImRpZmYgICAgICAgICAgLSB2aXNhIGRpZmYgbWVsbGFuIEhFQUQgb2NoIGluZGV4XG4iCiAiYWRkIHVudHJhY2tlZCAtIGzDpGdnIHRpbGwgaW5uZWjDpWxsIGkgb3Nww6VyYWRlIGZpbGVyIHRpbGwga8O2YWRlIMOkbmRyaW5nYXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjk0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5OQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzAyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwOQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzEzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY1NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2NgogbXNnaWQgIm1pc3NpbmcgLS0iCiBtc2dzdHIgInNha25hZCAtLSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICJva8OkbnQgbMOkZ2UgZsO2ciAtLXBhdGNoOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcyNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50ICVzLCBleHBlY3RpbmcgLS0iCiBtc2dzdHIgImZlbGFrdGlndCBhcmd1bWVudCAlcywgZsO2cnbDpG50YXIgLS0iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTIxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyNgogbXNnaWQgImxvY2FsIHpvbmUgZGlmZmVycyBmcm9tIEdNVCBieSBhIG5vbi1taW51dGUgaW50ZXJ2YWxcbiIKIG1zZ3N0ciAibG9rYWwgem9uIHNraWxqZXIgc2lnIGZyw6VuIEdNVCBtZWQgZGVsYXIgYXYgbWludXRlclxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMzkKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAibG9rYWwgdGlkc3pvbmbDtnJza2p1dG5pbmcgc3TDtnJyZSDDpG4gZWxsZXIgbGlrYSBtZWQgMjQgdGltbWFyXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIxNAogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAidGV4dHJlZGlnZXJpbmdzcHJvZ3JhbW1ldCBhdnNsdXRhZGVzIG1lZCBmZWwsIGF2YnJ5dGVyIGFsbHRpbmciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjgyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI5MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBjb250YWlucyBhbiBpbnRlcm1lZGlhdGUgdmVyc2lvbiBvZiB0aGUgZW1haWwgeW91IHdlcmUgY29tcG9zaW5nLlxuIgogbXNnc3RyICIiCiAiXCIlc1wiIGlubmVow6VsbGVyIGVuIG1lbGxhbmxpZ2dhbmRlIHZlcnNpb24gYXYgZS1wb3N0YnJldmV0IGR1IHNrcmV2LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIlwiJXMuZmluYWxcIiBpbm5laMOlbGxlciBkZXQgc2tyaXZuYSBicmV2ZXQuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzA1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxNAogbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKIG1zZ3N0ciAiLS1kdW1wLWFsaWFzIMOkciBpbmtvbXBhdGliZWx0IG1lZCBhbmRyYSBmbGFnZ29yXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzY4IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM3OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIkthbiBpbnRlIGvDtnJhIGdpdCBmb3JtYXQtcGF0Y2ggZnLDpW4gdXRhbmbDtnIgYXJraXZldFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQzNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLXN1cHByZXNzLWNjIGZpZWxkOiAnJXMnXG4iCiBtc2dzdHIgIk9rw6RudCBmw6RsdCBpIC0tc3VwcHJlc3MtY2M6IFwiJXNcIlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ2NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLWNvbmZpcm0gc2V0dGluZzogJyVzJ1xuIgogbXNnc3RyICJPa8OkbmQgaW5zdMOkbGxuaW5nIGkgLS1jb25maXJtOiBcIiVzXCJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTA5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGFsaWFzIHdpdGggcXVvdGVzIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgInZhcm5pbmc6IHNlbmRtYWlsLWFsaWFzIG1lZCBjaXRhdGlvbnN0ZWNrZW4gc3TDtmRzIGludGUuICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTAwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgOmluY2x1ZGU6YCBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICJ2YXJuaW5nOiBcIjppbmNsdWRlOlwiIHN0w7ZkcyBpbnRlOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYC9maWxlYCBvciBgfHBpcGVgIHJlZGlyZWN0aW9uIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgInZhcm5pbmc6IG9tZGlyaWdlcmluZyB0aWwgXCIvZmlsXCIgZWxsZXIgXCJ8csO2clwiIHN0w7ZkcyBpbnRlOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogc2VuZG1haWwgbGluZSBpcyBub3QgcmVjb2duaXplZDogJXNcbiIKIG1zZ3N0ciAidmFybmluZzogc2VuZG1haWwtcmFkZW4ga8Okbm5zIGludGUgaWdlbjogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1ODkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjAwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJGaWxlICclcycgZXhpc3RzIGJ1dCBpdCBjb3VsZCBhbHNvIGJlIHRoZSByYW5nZSBvZiBjb21taXRzXG4iCkBAIC0xNTU4NCwxMiArMTU5NDAsMTIgQEAKICIgICAgKiBTw6RnYSBcIi4vJXNcIiBvbSBkdSBtZW5hciBlbiBmaWw7IGVsbGVyXG4iCiAiICAgICogQW5nZSBmbGFnZ2FuIC0tZm9ybWF0LXBhdGNoIG9tIGR1IG1lbmFyIGV0dCBpbnRlcnZhbGwuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjEwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIk1pc3NseWNrYWRlcyB1dGbDtnJhIG9wZW5kaXIgJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogImZhdGFsOiAlczogJXNcbiIKQEAgLTE1NTk4LDcgKzE1OTU0LDcgQEAKICLDtmRlc2RpZ2VydDogJXM6ICVzXG4iCiAidmFybmluZzogaW5nYSBwYXRjaGFyIGhhciBzw6RudHNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjU2CiBtc2dpZCAiIgogIlxuIgogIk5vIHBhdGNoIGZpbGVzIHNwZWNpZmllZCFcbiIKQEAgLTE1NjA4LDE3ICsxNTk2NCwxNyBAQAogIkluZ2EgcGF0Y2hmaWxlciBhbmdhdnMhXG4iCiAiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJObyBzdWJqZWN0IGxpbmUgaW4gJXM/IgogbXNnc3RyICJJbmdlbiDDpHJlbmRlcmFkIGkgJXM/IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gZm9yIHdyaXRpbmcgJXM6ICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIMO2cHBuYSBmw7ZyIHNrcml2bmluZyAlczogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njc4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4OQogbXNnaWQgIiIKICJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgogIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCkBAIC0xNTYzMiw0MiArMTU5ODgsNDIgQEAKICJcbiIKICJSZW5zYSBicmV2a3JvcHBlbiBvbSBkdSBpbnRlIHZpbGwgc8OkbmRhIG7DpWdvbiBzYW1tYW5mYXR0bmluZy5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIMO2cHBuYSAlcy5maW5hbDogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzA0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlczogJXMiCiBtc2dzdHIgIk1pc3NseWNrYWRlcyDDtnBwbmEgJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NTAKIG1zZ2lkICJUby9DYy9CY2MgZmllbGRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgeWV0LCB0aGV5IGhhdmUgYmVlbiBpZ25vcmVkXG4iCiBtc2dzdHIgIkbDpGx0ZW4gVG8vQ2MvQmNjIHRvbGthcyBpbnRlIMOkbm51LCBkZSBoYXIgaWdub3JlcmF0c1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NTkKIG1zZ2lkICJTdW1tYXJ5IGVtYWlsIGlzIGVtcHR5LCBza2lwcGluZyBpdFxuIgogbXNnc3RyICJTYW1tYW5mYXR0YW5kZSBicmV2IHRvbXQsIGhvcHBhciDDtnZlclxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgW3kvTl0gYXMgaXMuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3OTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVzZSA8JXM+IFt5L05dPyAiCiBtc2dzdHIgIsOEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIGFudsOkbmRhIDwlcz4gW1k9amEsIE49bmVqXT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCiBtc2dzdHIgIiIKICJGw7ZsamFuZGUgZmlsZXIgw6RyIMOldHRhYml0YXJzLCBtZW4gYW5nZXIgaW50ZSBlbiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgxNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKIG1zZ2lkICJXaGljaCA4Yml0IGVuY29kaW5nIHNob3VsZCBJIGRlY2xhcmUgW1VURi04XT8gIgotbXNnc3RyICJWaWxrZW4gw6V0dGFiaXRhcnN0ZWNrZW5rb2RuaW5nIHNrYWxsIGphZyBhbmdlIFtVVEYtOF0/IgorbXNnc3RyICJWaWxrZW4gw6V0dGFiaXRhcnN0ZWNrZW5rb2RuaW5nIHNrYWxsIGphZyBhbmdlIFtVVEYtOF0/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODMzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJSZWZ1c2luZyB0byBzZW5kIGJlY2F1c2UgdGhlIHBhdGNoXG4iCkBAIC0xNTY4MCwyMSArMTYwMzYsMjEgQEAKICJoYXIgbWFsbMOkcmVuZGV0IFwiKioqIFNVQkpFQ1QgSEVSRSAqKipcIi4gQW52w6RuZCAtLWZvcmNlIG9tIGR1IHZlcmtsaWdlbiAiCiAidmlsbCBzw6RuZGEuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1MgogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCiBtc2dzdHIgIlRpbGwgdmVtIHNrYWxsIGJyZXZlbiBzw6RuZGFzIChvbSBuw6Vnb24pPyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NTkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODcwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCiBtc2dzdHIgIsO2ZGVzZGlnZXJ0OiBhbGlhc2V0IFwiJXNcIiBleHBhbmRlcmFyIHRpbGwgc2lnIHNqw6RsdlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODIKIG1zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgogbXNnc3RyICIiCi0iTWVzc2FnZS1JRCBhdHQgYW52w6RuZGEgc29tIEluLVJlcGx5LVRvIGbDtnIgZGV0IGbDtnJzdGEgYnJldmV0IChvbSBuw6Vnb3QpPyIKKyJNZXNzYWdlLUlEIGF0dCBhbnbDpG5kYSBzb20gSW4tUmVwbHktVG8gZsO2ciBkZXQgZsO2cnN0YSBicmV2ZXQgKG9tIG7DpWdvdCk/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjEgZ2l0LXNlbmQtZW1haWwucGVybDo5MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMyIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAiZmVsOiBrdW5kZSBpbnRlIGbDpSBmcmFtIGVuIGdpbHRpZyBhZHJlc3MgZnLDpW46ICVzXG4iCkBAIC0xNTcwMiwxNiArMTYwNTgsMTYgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQ0CiBtc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgotbXNnc3RyICJWYWQgdmlsbCBkdSBnw7ZyYSBtZWQgYWRyZXNzZW4/IChxPWF2c2x1dGEsIGQ9a2FzdGEsIGU9cmVkaWdlcmEpOiIKK21zZ3N0ciAiVmFkIHZpbGwgZHUgZ8O2cmEgbWVkIGFkcmVzc2VuPyAocT1hdnNsdXRhLCBkPWthc3RhLCBlPXJlZGlnZXJhKTogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI0NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiQ0Etc8O2a3bDpGdlbiBcIiVzXCIgZmlubnMgaW50ZSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzA5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjAKIG1zZ2lkICIiCiAiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKICIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgpAQCAtMTU3MzgsMTE5ICsxNjA5NCwxMjQgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtxXSBbYV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM1CiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsPyAoW3ldZXN8W25db3xbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIlPDpG5kYSBicmV2ZXQ/ICh5PWphLCBuPW5laiwgcT1hdnNsdXRhLCBhPWFsbGEpOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM4CiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgogbXNnc3RyICJTdmFyIGtyw6R2cyBww6UgZnLDpWdhbiBcIlPDpG5kYSBicmV2ZXQ/XCIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM1MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzY0CiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAiTsO2ZHbDpG5kaWcgU01UUC1zZXJ2ZXIgaGFyIGludGUgYW5naXZpdHMga29ycmVrdC4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM5NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIGludGUgU01BUlRUTFMhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MDMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU1RBUlRUTFMgZmFpbGVkISAlcyIKK21zZ3N0ciAiU1RBUlRUTFMgbWlzc2x5Y2thZGVzISAlcyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDMwCiBtc2dpZCAiVW5hYmxlIHRvIGluaXRpYWxpemUgU01UUCBwcm9wZXJseS4gQ2hlY2sgY29uZmlnIGFuZCB1c2UgLS1zbXRwLWRlYnVnLiIKIG1zZ3N0ciAiIgogIkthbiBpbnRlIGluaXRpZXJhIFNNVFAga29ycmVrdC4gS29udHJvbGxlcmEgaW5zdMOkbGxuaW5nYXJuYSBvY2ggYW52w6RuZCAtLSIKICJzbXRwLWRlYnVnLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDIxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHPDpG5kYSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEcnktU2VudCAlc1xuIgogbXNnc3RyICJUZXN0LVPDpG5kZSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIlPDpG5kZSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MwogbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIlRlc3QtT0suIExvZ2dlbiBzw6RnZXI6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUzCiBtc2dpZCAiT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJPSy4gTG9nZ2VuIHPDpGdlcjpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDM4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjUKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAiUmVzdWx0YXQ6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjgKIG1zZ2lkICJSZXN1bHQ6IE9LXG4iCiBtc2dzdHIgIlJlc3VsdGF0OiBPS1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ4MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIGZpbGUgJXMiCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBmaWxlbiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTAxIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTI4IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgTMOkZ2dlciB0aWxsIGNjOiAlcyBmcsOlbiByYWRlbiBcIiVzXCJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTA3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyB0bzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG1ib3gpIEzDpGdnZXIgdGlsbCB0bzogJXMgZnLDpW4gcmFkZW4gXCIlc1wiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU1NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTgyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoaWNrZS1tYm94KSBMw6RnZ2VyIHRpbGwgY2M6ICVzIGZyw6VuIHJhZGVuIFwiJXNcIlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoa3JvcHApIEzDpGdnZXIgdGlsbCBjYzogJXMgZnLDpW4gcmFkZW4gXCIlc1wiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY3NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQ291bGQgbm90IGV4ZWN1dGUgJyVzJyIKIG1zZ3N0ciAiKCVzKSBLdW5kZSBpbnRlIGvDtnJhIFwiJXNcIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjgzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKIG1zZ3N0ciAiKCVzKSBMw6RnZ2VyIHRpbGwgJXM6ICVzIGZyw6VuOiBcIiVzXCJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjg3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnJXMnIgogbXNnc3RyICIoJXMpIG1pc3NseWNrYWRlcyBzdMOkbmdhIHLDtnJldCB0aWxsIFwiJXNcIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDkKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgImthbiBpbnRlIHPDpG5kYSBicmV2IHNvbSBzanViaXRhcnMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzU3CiBtc2dpZCAiaW52YWxpZCB0cmFuc2ZlciBlbmNvZGluZyIKIG1zZ3N0ciAib2dpbHRpZyDDtnZlcmbDtnJpbmdza29uZG5pbmciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTIgZ2l0LXNlbmQtZW1haWwucGVybDoxODAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTUgZ2l0LXNlbmQtZW1haWwucGVybDoxODQ2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgJXM6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzk4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBjb250YWlucyBhIGxpbmUgbG9uZ2VyIHRoYW4gOTk4IGNoYXJhY3RlcnMiCiBtc2dzdHIgIiVzOiBwYXRjaGVuIGlubmVow6VsbGVyIGVuIHJhZCBsw6RuZ3JlIMOkbiA5OTggdGVja2VuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKIG1zZ3N0ciAiIgpAQCAtMTU4NTgsMTEgKzE2MjE5LDE4MiBAQAogInPDpGtlcmhldHNrb3Bpb3IuXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCAiW3l8Tl0iIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzY0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIHNlbmQgJXM/IFt5fE5dOiAiCiBtc2dzdHIgIlZpbGwgZHUgdmVya2xpZ2VuIHPDpG5kYSAlcz8gW3k9amEsIG49bmVqXTogIgogCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJLdW5kZSBpbnRlIMO2cHBuYSBmaWxlbiBcIiVzXCIiCisKKyN+IG1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKKyN+IG1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgorI34gbXNnc3RyWzBdICIlbHUgc2VrdW5kIHNlZGFuIgorI34gbXNnc3RyWzFdICIlbHUgc2VrdW5kZXIgc2VkYW4iCisKKyN+IG1zZ2lkICIlbHUgbWludXRlIGFnbyIKKyN+IG1zZ2lkX3BsdXJhbCAiJWx1IG1pbnV0ZXMgYWdvIgorI34gbXNnc3RyWzBdICIlbHUgbWludXQgc2VkYW4iCisjfiBtc2dzdHJbMV0gIiVsdSBtaW51dGVyIHNlZGFuIgorCisjfiBtc2dpZCAiJWx1IGhvdXIgYWdvIgorI34gbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgorI34gbXNnc3RyWzBdICIlbHUgdGltbWUgc2VkYW4iCisjfiBtc2dzdHJbMV0gIiVsdSB0aW1tYXIgc2VkYW4iCisKKyN+IG1zZ2lkICIlbHUgZGF5IGFnbyIKKyN+IG1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgorI34gbXNnc3RyWzBdICIlbHUgZGFnIHNlZGFuIgorI34gbXNnc3RyWzFdICIlbHUgZGFnYXIgc2VkYW4iCisKKyN+IG1zZ2lkICIlbHUgd2VlayBhZ28iCisjfiBtc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCisjfiBtc2dzdHJbMF0gIiVsdSB2ZWNrYSBzZWRhbiIKKyN+IG1zZ3N0clsxXSAiJWx1IHZlY2tvciBzZWRhbiIKKworI34gbXNnaWQgIiVsdSBtb250aCBhZ28iCisjfiBtc2dpZF9wbHVyYWwgIiVsdSBtb250aHMgYWdvIgorI34gbXNnc3RyWzBdICIlbHUgbcOlbmFkIHNlZGFuIgorI34gbXNnc3RyWzFdICIlbHUgbcOlbmFkZXIgc2VkYW4iCisKKyN+IG1zZ2lkICIlbHUgeWVhciIKKyN+IG1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgorI34gbXNnc3RyWzBdICIlbHUgw6VyIgorI34gbXNnc3RyWzFdICIlbHUgw6VyIgorCisjfiBtc2dpZCAiJXMsICVsdSBtb250aCBhZ28iCisjfiBtc2dpZF9wbHVyYWwgIiVzLCAlbHUgbW9udGhzIGFnbyIKKyN+IG1zZ3N0clswXSAiJXMsICVsdSBtw6VuYWQgc2VkYW4iCisjfiBtc2dzdHJbMV0gIiVzLCAlbHUgbcOlbmFkZXIgc2VkYW4iCisKKyN+IG1zZ2lkICIlbHUgeWVhciBhZ28iCisjfiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCisjfiBtc2dzdHJbMF0gIiVsdSDDpXIgc2VkYW4iCisjfiBtc2dzdHJbMV0gIiVsdSDDpXIgc2VkYW4iCisKKyN+IG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCisjfiBtc2dzdHIgImF1dG9tYXRpc2t0IG9tICUwLjFmIHNla3VuZGVyLi4uIgorCisjfiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgorI34gbXNnc3RyICJkdXAyKCVkLCVkKSBtaXNzbHlja2FkZXMiCisKKyN+IG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCisjfiBtc2dzdHIgIkbDtnJzdGEgaW5jaGVja25pbmcgcMOlICIKKworI34gbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgorI34gbXNnc3RyICJQYXRjaGVuIMOkciB0b20uIERlbGFkZXMgZGVuIHVwcCBmZWxha3RpZ3Q/IgorCisjfiBtc2dpZCAiIgorI34gIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCisjfiAiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCisjfiBtc2dzdHIgIiIKKyN+ICJEdSBoYXIgZm9ydGZhcmFuZGUgc8O2a3bDpGdhciBzb20gaW50ZSBzbGFnaXRzIHNhbW1hbiBpIGRpdHQgaW5kZXguXG4iCisjfiAiR2zDtm1kZSBkdSBhbnbDpG5kYSBcImdpdCBhZGRcIj8iCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCisjfiAiRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJLYW4gaW50ZSB1cHBkYXRlcmEgc8O2a3bDpGdhciBvY2ggdsOkeGxhIHRpbGwgZ3JlbmVuIFwiJXNcIiBzYW10aWRpZ3QuXG4iCisjfiAiVmlsbGUgZHUgY2hlY2thIHV0IFwiJXNcIiBzb20gaW50ZSBrYW4gbMO2c2FzIHNvbSBlbiB1dGNoZWNrbmluZz8iCisKKyN+IG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgorI34gbXNnc3RyICIiCisjfiAiRXhwbGljaXRhIHPDtmt2w6RnYXIgYW5nYXZzIHV0YW4gLWkgZWxsZXIgLW87IGFudGFyIC0tb25seSBzw7ZrdsOkZ2FyLi4uIgorCisjfiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCisjfiBtc2dzdHIgInN0YW5kYXJkbMOkZ2UgZsO2ciByZWt1cnNpb24iCisKKyN+IG1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdWJjb21tYW5kIgorI34gbXNnc3RyICIiCisjfiAidW5kZXJrb21tYW5kb3Qgc3VibW9kdWxlLS1oZWxwZXIgbcOlc3RlIGFucm9wYXMgbWVkIGV0dCB1bmRlcmtvbW1hbmRvIgorCisjfiBtc2dpZCAiY291bGQgbm90IHN0YXQgJyVzIgorI34gbXNnc3RyICJrdW5kZSBpbnRlIHRhIHN0YXR1cyBww6UgXCIlc1wiIgorCisjfiBtc2dpZCAidGFnOiB0YWdnaW5nICIKKyN+IG1zZ3N0ciAidGFnOiB0YWdnYXIiCisKKyN+IG1zZ2lkICJvYmplY3Qgb2YgdW5rbm93biB0eXBlIgorI34gbXNnc3RyICJvYmpla3QgYXYgb2vDpG5kIHR5cCIKKworI34gbXNnaWQgImNvbW1pdCBvYmplY3QiCisjfiBtc2dzdHIgImluY2hlY2tuaW5nc29iamVrdCIKKworI34gbXNnaWQgInRyZWUgb2JqZWN0IgorI34gbXNnc3RyICJ0csOkZG9iamVrdCIKKworI34gbXNnaWQgImJsb2Igb2JqZWN0IgorI34gbXNnc3RyICJibG9iLW9iamVrdCIKKworI34gbXNnaWQgIm90aGVyIHRhZyBvYmplY3QiCisjfiBtc2dzdHIgImFubmF0IHRhZ2dvYmpla3QiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKKyN+ICJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgorI34gbXNnc3RyICIiCisjfiAiSW5nZW50aW5nIGF0dCBleGtsdWRlcmEgZnLDpW4gbWVkIDooZXhrbHVkZXJhKS1tw7Zuc3Rlci5cbiIKKyN+ICJHbMO2bWRlIGR1IGthbnNrZSBhdHQgYW50aW5nZW4gbMOkZ2dhIHRpbGwgXCI6L1wiIGVsbGVyIFwiLlwiPyIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQ6ICUlKCVzKSIKKyN+IG1zZ3N0ciAib2vDpG50IGZvcm1hdDogJSUoJXMpIgorCisjfiBtc2dpZCAiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgIjpzdHJpcD0ga3LDpHZlciBldHQgcG9zaXRpdnQgaGVsdGFsc2FyZ3VtZW50IgorCisjfiBtc2dpZCAicmVmICclcycgZG9lcyBub3QgaGF2ZSAlbGQgY29tcG9uZW50cyB0byA6c3RyaXAiCisjfiBtc2dzdHIgInJlZmVyZW5zZW4gXCIlc1wiIGhhciBpbnRlICVsZCBrb21wb25lbnRlciBmw7ZyIDpzdHJpcCIKKworI34gbXNnaWQgInVua25vd24gJS4qcyBmb3JtYXQgJXMiCisjfiBtc2dzdHIgIm9rw6RudCBcIiUuKnNcIi1mb3JtYXQgJXMiCisKKyN+IG1zZ2lkICJbJXM6IGdvbmVdIgorI34gbXNnc3RyICJbJXM6IGbDtnJzdnVubmVuXSIKKworI34gbXNnaWQgIlslc10iCisjfiBtc2dzdHIgIlslc10iCisKKyN+IG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCisjfiBtc2dzdHIgIlslczogYmFrb20gJWRdICIKKworI34gbXNnaWQgIlslczogYWhlYWQgJWRdIgorI34gbXNnc3RyICJbJXM6IGbDtnJlICVkXSAiCisKKyN+IG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgorI34gbXNnc3RyICJbJXM6IGbDtnJlICVkLCBiYWtvbSAlZF0gIgorCisjfiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKKyN+IG1zZ3N0ciAiICoqKiogb2dpbHRpZyByZWYgKioqKiIKKworI34gbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgorI34gbXNnc3RyICJ0b2tpZ3QgbMOlbmcgb2JqZWt0a2F0YWxvZyAlLipzIgorCisjfiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCisjfiBtc2dzdHIgImdpdCBtZXJnZSBbPGZsYWdnb3I+XSA8bWVkZGVsYW5kZT4gSEVBRCA8aW5jaGVja25pbmc+IgorCisjfiBtc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCisjfiBtc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiBpbmNoZWNrbmluZyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hIGZpbGVuIFwiJXNcIiIKKworI34gbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgorI34gbXNnc3RyICJrdW5kZSBpbnRlIHN0w6RuZ2EgZmlsZW4gJXMiCisKKyN+IG1zZ2lkICJ0YWcgbmFtZSB0b28gbG9uZzogJS4qcy4uLiIKKyN+IG1zZ3N0ciAidGFnZ25hbW5ldCBmw7ZyIGzDpW5ndDogJS4qcy4uLiIKKworI34gbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCisjfiBtc2dzdHIgInRhZ2dodXZ1ZCBmw7ZyIHN0b3J0LiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorI34gIm1hcmtlZCBmb3IgZGlzY2FyZGluZyIKKyN+IG1zZ3N0ciAiIgorI34gIk9tIHBhdGNoZW4ga2FuIGFwcGxpY2VyYXMgcmVudCBrb21tZXIgZGV0IHJlZGlnZXJhZGUgc3R5Y2tldCBhdHRcbiIKKyN+ICJtYXJrZXJhcyBmw7ZyIGthc3RhIG9tZWRlbGJhcnQiCisKICN+IG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGJsYW5rLWxpbmUtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCiAjfiBtc2dzdHIgIiIKICN+ICJBbnbDpG5kIGVuIGV4cGVyaW1lbnRlbGwgYWxnb3JpdG0gYmFzZXJhZCBww6UgdG9tbWEgcmFkZXIgZsO2ciBhdHQgZsO2cmLDpHR0cmEgIgpAQCAtMTY0MzcsOSArMTY5NjksNiBAQAogI34gbXNnaWQgImNhbm5vdCB1cGRhdGUgSEVBRCByZWYiCiAjfiBtc2dzdHIgImt1bmRlIGludGUgdXBwZGF0ZXJhIEhFQUQtcmVmZXJlbnMiCiAKLSN+IG1zZ2lkICJjYW5ub3QgdGVsbCBjd2QiCi0jfiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGFrdHVlbGwga2F0YWxvZyAoY3dkKSIKLQogI34gbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgogI34gbXNnc3RyICIlczoga2FuIGludGUgbMOlc2EgcmVmZXJlbnNlbiIKIApkaWZmIC0tZ2l0IGEvcG8vdmkucG8gYi9wby92aS5wbwppbmRleCBkZDcwMDE4Li45YzlmOTliIDEwMDY0NAotLS0gYS9wby92aS5wbworKysgYi9wby92aS5wbwpAQCAtNiwxMCArNiwxMCBAQAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0IHYyLjEyLjAtcmMxXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgdjIuMTQuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTE4IDAxOjAwKzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTAyLTE4IDA3OjA3KzA3MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wNy0yNCAyMTo1NCswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNy0wNy0yNSAwNzowNiswNzAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBUcuG6p24gTmfhu41jIFF1w6JuIDx2bndpbGRtYW5AZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IFZpZXRuYW1lc2UgPHRyYW5zbGF0aW9uLXRlYW0tdmlAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgogIkxhbmd1YWdlOiB2aVxuIgpAQCAtMjIsNDQgKzIyLDQ0IEBACiAiWC1Qb2VkaXQtQmFzZXBhdGg6IC4uL1xuIgogIlgtR2VuZXJhdG9yOiBHdHJhbnNsYXRvciAyLjkxLjdcbiIKIAotIzogYWR2aWNlLmM6NTUKKyM6IGFkdmljZS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImhpbnQ6ICUuKnNcbiIKIG1zZ3N0ciAiZ+G7o2kgw706ICUuKnNcbiIKIAotIzogYWR2aWNlLmM6ODMKKyM6IGFkdmljZS5jOjg2CiBtc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiQ2hlcnJ5IGzDoCBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBi4bufaSB2w6wgYuG6oW4gY8OzIG5o4buvbmcgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luLiIKIAotIzogYWR2aWNlLmM6ODUKKyM6IGFkdmljZS5jOjg4CiBtc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJDb21taXQgbMOgIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGLhu59pIHbDrCBi4bqhbiBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiBhZHZpY2UuYzo4NworIzogYWR2aWNlLmM6OTAKIG1zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIk1lcmdlIGzDoCBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBi4bufaSB2w6wgYuG6oW4gY8OzIG5o4buvbmcgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luLiIKIAotIzogYWR2aWNlLmM6ODkKKyM6IGFkdmljZS5jOjkyCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJQdWxsIGzDoCBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBi4bufaSB2w6wgYuG6oW4gY8OzIG5o4buvbmcgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luLiIKIAotIzogYWR2aWNlLmM6OTEKKyM6IGFkdmljZS5jOjk0CiBtc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIlJldmVydCBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IGFkdmljZS5jOjkzCisjOiBhZHZpY2UuYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJOw7MgbMOgIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHbhu5tpICVzIGLhu59pIHbDrCBi4bqhbiBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSAiCiAidHLhu5luLiIKIAotIzogYWR2aWNlLmM6MTAxCisjOiBhZHZpY2UuYzoxMDQKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgpAQCAtNjgsMjMgKzY4LDIzIEBACiAidsOgIHNhdSDEkcOzIGTDuW5nIGzhu4duaCDigJxnaXQgYWRkL3JtIDx04bqtcC10aW4+4oCdXG4iCiAiZMOgbmggcmnDqm5nIGNobyB2aeG7h2MgxJHDoW5oIGThuqV1IGPhuqduIGdp4bqjaSBxdXnhur90IHbDoCB04bqhbyBs4bqnbiBjaHV54buDbiBnaWFvLiIKIAotIzogYWR2aWNlLmM6MTA5CisjOiBhZHZpY2UuYzoxMTIKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCiBtc2dzdHIgIlRob8OhdCByYSBi4bufaSB2w6wgeHVuZyDEkeG7mXQga2jDtG5nIHRo4buDIGdp4bqjaSBxdXnhur90LiIKIAotIzogYWR2aWNlLmM6MTE0IGJ1aWx0aW4vbWVyZ2UuYzoxMjA2CisjOiBhZHZpY2UuYzoxMTcgYnVpbHRpbi9tZXJnZS5jOjExODQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIkLhuqFuIGNoxrBhIGvhur90IHRow7pjIHZp4buHYyBow7JhIHRy4buZbiAoTUVSR0VfSEVBRCB24bqrbiB04buTbiB04bqhaSkuIgogCi0jOiBhZHZpY2UuYzoxMTYKKyM6IGFkdmljZS5jOjExOQogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgIlZ1aSBsw7JuZyBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgdHLGsOG7m2Mga2hpIGjDsmEgdHLhu5luLiIKIAotIzogYWR2aWNlLmM6MTE3CisjOiBhZHZpY2UuYzoxMjAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIlRob8OhdCByYSBi4bufaSB2w6wgdmnhu4djIGjDsmEgdHLhu5luIGtow7RuZyBob8OgbiB04bqldC4iCiAKLSM6IGFkdmljZS5jOjEyMworIzogYWR2aWNlLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKQEAgLTExMyw4NSArMTEzLDk1IEBACiAiICBnaXQgY2hlY2tvdXQgLWIgPHTDqm4tbmjDoW5oLW3hu5tpPlxuIgogIlxuIgogCi0jOiBhcHBseS5jOjU3CisjOiBhcHBseS5jOjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICJraMO0bmcgbmjhuq1uIHJhIHTDuXkgY2jhu41uIHbhu4Ega2hv4bqjbmcgdHLhuq9uZyDigJwlc+KAnSIKIAotIzogYXBwbHkuYzo3MworIzogYXBwbHkuYzo3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgdMO5eSBjaOG7jW4gYuG7jyBxdWEga2hv4bqjbmcgdHLhuq9uZyDigJwlc+KAnSIKIAotIzogYXBwbHkuYzoxMjUKKyM6IGFwcGx5LmM6MTI2CiBtc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIi0tcmVqZWN0IHbDoCAtLTN3YXkga2jDtG5nIHRo4buDIGTDuW5nIGPDuW5nIG5oYXUuIgogCi0jOiBhcHBseS5jOjEyNworIzogYXBwbHkuYzoxMjgKIG1zZ2lkICItLWNhY2hlZCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1jYWNoZWQgdsOgIC0tM3dheSBraMO0bmcgdGjhu4MgZMO5bmcgY8O5bmcgbmhhdS4iCiAKLSM6IGFwcGx5LmM6MTMwCisjOiBhcHBseS5jOjEzMQogbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS0zd2F5IOG7nyBuZ2/DoGkgbeG7mXQga2hvIGNo4bupYSIKIAotIzogYXBwbHkuYzoxNDEKKyM6IGFwcGx5LmM6MTQyCiBtc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1pbmRleCDhu58gbmdvw6BpIG3hu5l0IGtobyBjaOG7qWEiCiAKLSM6IGFwcGx5LmM6MTQ0CisjOiBhcHBseS5jOjE0NQogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWNhY2hlZCDhu58gbmdvw6BpIG3hu5l0IGtobyBjaOG7qWEiCiAKLSM6IGFwcGx5LmM6ODQ1CisjOiBhcHBseS5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgogbXNnc3RyICIiCiAiS2jDtG5nIHRo4buDIGNodeG6qW4gYuG7iyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdWkgZOG6pXUgduG6v3QgdGjhu51pIGdpYW4gKHRpbWVzdGFtcCByZWdleHApICIKICIlcyIKIAotIzogYXBwbHkuYzo4NTQKKyM6IGFwcGx5LmM6ODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKIG1zZ3N0ciAidGhpIGjDoG5oIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSB0cuG6oyB24buBICVkIGNobyDEkeG6p3UgdsOgbzogJXMiCiAKLSM6IGFwcGx5LmM6OTM4CisjOiBhcHBseS5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgdMOqbiB04bqtcCB0aW4gdHJvbmcgbWnhur9uZyB2w6EgdOG6oWkgZMOybmcgJWQiCiAKLSM6IGFwcGx5LmM6OTc3CisjOiBhcHBseS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6IGdpdC1kaWZmIHNhaSAtIGPhuqduIC9kZXYvbnVsbCwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyAlcyB0csOqbiBkw7JuZyAlZCIKIAotIzogYXBwbHkuYzo5ODMKKyM6IGFwcGx5LmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIHNhaSAtIHTDqm4gdOG6rXAgdGluIG3hu5tpIGtow7RuZyBuaOG6pXQgcXXDoW4gdHLDqm4gZMOybmcgJWQiCiAKLSM6IGFwcGx5LmM6OTg0CisjOiBhcHBseS5jOjk3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBzYWkgLSB0w6puIHThuq1wIHRpbiBjxakga2jDtG5nIG5o4bqldCBxdcOhbiB0csOqbiBkw7JuZyAlZCIKIAotIzogYXBwbHkuYzo5OTAKKyM6IGFwcGx5LmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gY+G6p24g4oCcL2Rldi9udWxs4oCdIHRyw6puIGTDsm5nICVkIgogCi0jOiBhcHBseS5jOjE0ODgKKyM6IGFwcGx5LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCittc2dzdHIgImNo4bq/IMSR4buZIGtow7RuZyBo4bujcCBs4buHIHRyw6puIGTDsm5nICVkOiAlcyIKKworIzogYXBwbHkuYzoxMzI2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgorbXNnc3RyICJwaOG6p24gxJHhuqd1IG3DonUgdGh14bqrbiBkw7JuZyAlZCB2w6AgJWQiCisKKyM6IGFwcGx5LmM6MTQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCiBtc2dzdHIgImNoaSB0aeG6v3Q6IGTDsm5nIGtow7RuZyBj4bqnbjogJS4qcyIKIAotIzogYXBwbHkuYzoxNTU3CisjOiBhcHBseS5jOjE1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAibWnhur9uZyB2w6EgcGjDom4gbeG6o25oIG3DoCBraMO0bmcgY8OzIHBo4bqnbiDEkeG6p3UgdOG6oWkgZMOybmcgJWQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MTU3NworIzogYXBwbHkuYzoxNTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKQEAgLTIwMyw4MSArMjEzLDgxIEBACiAicGjhuqduIMSR4bqndSBkaWZmIGNobyBnaXQgIHRoaeG6v3UgdGjDtG5nIHRpbiB0w6puIHThuq1wIHRpbiBraGkgZ+G7oSBi4buPIMSRaSAlZCB0cm9uZyAiCiAidGjDoG5oIHBo4bqnbiBk4bqrbiDEkeG6p3UgdMOqbiBj4bunYSDEkcaw4budbmcgZOG6q24gKGTDsm5nICVkKSIKIAotIzogYXBwbHkuYzoxNTg5CisjOiBhcHBseS5jOjE2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIChsaW5lICVkKSIKIG1zZ3N0ciAicGjhuqduIMSR4bqndSBkaWZmIGNobyBnaXQgdGhp4bq/dSB0aMO0bmcgdGluIHTDqm4gdOG6rXAgdGluIChkw7JuZyAlZCkiCiAKLSM6IGFwcGx5LmM6MTc1OQorIzogYXBwbHkuYzoxNzcwCiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgInThuq1wIHRpbiBt4bubaSBwaOG7pSB0aHXhu5ljIHbDoG8gbuG7mWkgZHVuZyBjxakiCiAKLSM6IGFwcGx5LmM6MTc2MQorIzogYXBwbHkuYzoxNzcyCiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAidOG6rXAgdGluIMSRw6MgeMOzYSB24bqrbiBjw7JuIG7hu5lpIGR1bmciCiAKLSM6IGFwcGx5LmM6MTc5NQorIzogYXBwbHkuYzoxODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAibWnhur9uZyB2w6EgaOG7j25nIHThuqFpIGTDsm5nICVkIgogCi0jOiBhcHBseS5jOjE4MzIKKyM6IGFwcGx5LmM6MTg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAidOG6rXAgdGluIG3hu5tpICVzIHBo4bulIHRodeG7mWMgdsOgbyBu4buZaSBkdW5nIGPFqSIKIAotIzogYXBwbHkuYzoxODM0CisjOiBhcHBseS5jOjE4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAidOG6rXAgdGluIMSRw6MgeMOzYSAlcyB24bqrbiBjw7JuIG7hu5lpIGR1bmciCiAKLSM6IGFwcGx5LmM6MTgzNworIzogYXBwbHkuYzoxODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqIGPhuqNuaCBiw6FvOiB04bqtcCB0aW4gJXMgdHLhu58gbsOqbiB0cuG7kW5nIHLhu5duZyBuaMawbmcga2jDtG5nIGLhu4sgeMOzYSIKIAotIzogYXBwbHkuYzoxOTg0CisjOiBhcHBseS5jOjE5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAibWnhur9uZyB2w6EgxJHhu4tuaCBk4bqhbmcgbmjhu4sgcGjDom4gc2FpIGjhu49uZyB04bqhaSBkw7JuZyAlZDogJS4qcyIKIAotIzogYXBwbHkuYzoyMDIxCisjOiBhcHBseS5jOjIwMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJtaeG6v25nIHbDoSDEkeG7i25oIGThuqFuZyBuaOG7iyBwaMOibiBraMO0bmcgxJHGsOG7o2Mgbmjhuq1uIHJhIHThuqFpIGTDsm5nICVkIgogCi0jOiBhcHBseS5jOjIxODIKKyM6IGFwcGx5LmM6MjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgogbXNnc3RyICJ2w6EgY2jhu4kgduG7m2kg4oCccsOhY+KAnSB04bqhaSBkw7JuZyAlZCIKIAotIzogYXBwbHkuYzoyMjY1CisjOiBhcHBseS5jOjIyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBsacOqbiBr4bq/dCBt4buBbSAlcyIKIAotIzogYXBwbHkuYzoyMjY5CisjOiBhcHBseS5jOjIyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gaGF5IMSR4buNYyAlcyIKIAotIzogYXBwbHkuYzoyOTIyCisjOiBhcHBseS5jOjI5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgogbXNnc3RyICJzYWkga2jhu59pIMSR4bqndSBkw7JuZzog4oCcJWPigJ0iCiAKLSM6IGFwcGx5LmM6MzA0MQorIzogYXBwbHkuYzozMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKIG1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKIG1zZ3N0clswXSAiS2jhu5FpIGThu68gbGnhu4d1ICMlZCB0aMOgbmggY8O0bmcgdOG6oWkgJWQgKG9mZnNldCAlZCBkw7JuZykuIgogCi0jOiBhcHBseS5jOjMwNTMKKyM6IGFwcGx5LmM6MzA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgogbXNnc3RyICJO4buZaSBkdW5nIGLhu4sgZ2nhuqNtIHh14buRbmcgY8OybiAoJWxkLyVsZCkgxJHhu4Mgw6FwIGThu6VuZyBt4bqjbmggZOG7ryBsaeG7h3UgdOG6oWkgJWQiCiAKLSM6IGFwcGx5LmM6MzA1OQorIzogYXBwbHkuYzozMDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgpAQCAtMjg2LDU2NSArMjk2LDU3MCBAQAogInRyb25nIGtoaSDEkWFuZyB0w6xtIGtp4bq/bSBjaG86XG4iCiAiJS4qcyIKIAotIzogYXBwbHkuYzozMDgxCisjOiBhcHBseS5jOjMwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAidGhp4bq/dSBk4buvIGxp4buHdSBj4bunYSBtaeG6v25nIHbDoSDEkeG7i25oIGThuqFuZyBuaOG7iyBwaMOibiBjaG8g4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6MzA4OQorIzogYXBwbHkuYzozMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDIHJldmVyc2UtYXBwbHkgbeG7mXQgbWnhur9uZyB2w6Egbmjhu4sgcGjDom4gbcOgIGtow7RuZyDEkeG6o28gbmfGsOG7o2MgaHVuayB0aMOgbmggIgogIuKAnCVz4oCdIgogCi0jOiBhcHBseS5jOjMxMzUKKyM6IGFwcGx5LmM6MzE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCiBtc2dzdHIgIiIKICJraMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBtaeG6v25nIHbDoSBuaOG7iyBwaMOibiB0aMOgbmgg4oCcJXPigJ0gbcOgIGtow7RuZyBjw7MgZMOybmcgY2jhu4kgbeG7pWMgxJHhuqd5ICIKICLEkeG7pyIKIAotIzogYXBwbHkuYzozMTQ1CisjOiBhcHBseS5jOjMxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgogbXNnc3RyICIiCiAibWnhur9uZyB2w6Egw6FwIGThu6VuZyBjaG8g4oCcJXPigJ0gKCVzKSwgY8OhaSBtw6Aga2jDtG5nIGto4bubcCB24bubaSBjw6FjIG7hu5lpIGR1bmcgaGnhu4duIHThuqFpLiIKIAotIzogYXBwbHkuYzozMTUzCisjOiBhcHBseS5jOjMxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgogbXNnc3RyICJtaeG6v25nIHbDoSDDoXAgZOG7pW5nIGNobyBt4buZdCDigJwlc+KAnSB0cuG7kW5nIHLhu5duZyBuaMawbmcgbsOzIGzhuqFpIGtow7RuZyB0cuG7kW5nIgogCi0jOiBhcHBseS5jOjMxNzEKKyM6IGFwcGx5LmM6MzE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBwb3N0aW1hZ2UgJXMgY+G6p24gdGhp4bq/dCBjaG8g4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6MzE4NAorIzogYXBwbHkuYzozMTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgogbXNnc3RyICJtaeG6v25nIHbDoSDEkeG7i25oIGThuqFuZyBuaOG7iyBwaMOibiBraMO0bmcgxJHGsOG7o2Mgw6FwIGThu6VuZyBjaG8g4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6MzE5MAorIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgogbXNnc3RyICIiCiAidsOhIG5o4buLIHBow6JuIGNobyDigJwlc+KAnSB04bqhbyByYSBr4bq/dCBxdeG6oyBraMO0bmcgY2jDrW5oIHjDoWMgKG1vbmcgY2jhu50gJXMsIGzhuqFpIG5o4bqtbiAiCiAiJXMpIgogCi0jOiBhcHBseS5jOjMyMTEKKyM6IGFwcGx5LmM6MzIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHbDoTogJXM6JWxkIgogCi0jOiBhcHBseS5jOjMzMzMKKyM6IGFwcGx5LmM6MzM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSByYSAlcyIKIAotIzogYXBwbHkuYzozMzgxIGFwcGx5LmM6MzM5MiBhcHBseS5jOjM0Mzggc2V0dXAuYzoyNDgKKyM6IGFwcGx5LmM6MzM5MiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDQ5IHNldHVwLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jICVzIgogCi0jOiBhcHBseS5jOjMzODkKKyM6IGFwcGx5LmM6MzQwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLEkeG7jWMgdOG7qyDigJwlc+KAnSB2xrDhu6N0IHJhIG5nb8OgaSBsacOqbiBr4bq/dCBt4buBbSIKIAotIzogYXBwbHkuYzozNDE4IGFwcGx5LmM6MzY1OAorIzogYXBwbHkuYzozNDI5IGFwcGx5LmM6MzY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuICVzIMSRw6MgYuG7iyB4w7NhIGhv4bq3YyDEkeG7lWkgdMOqbiIKIAotIzogYXBwbHkuYzozNTAxIGFwcGx5LmM6MzY3MgorIzogYXBwbHkuYzozNTEyIGFwcGx5LmM6MzY4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCiBtc2dzdHIgIiVzOiBraMO0bmcgdOG7k24gdOG6oWkgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgwCisjOiBhcHBseS5jOjM1MjEgYXBwbHkuYzozNjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXM6IGtow7RuZyBraOG7m3AgdHJvbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGFwcGx5LmM6MzU0NQorIzogYXBwbHkuYzozNTU2CiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiS2hvIHRoaeG6v3UgxJHhu5FpIHTGsOG7o25nIGJsb2IgY+G6p24gdGhp4bq/dCDEkeG7gyB0cuG7nyB24buBIHRyw6puIOKAnDMtd2F5IG1lcmdl4oCdLiIKIAotIzogYXBwbHkuYzozNTQ4CisjOiBhcHBseS5jOjM1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICLEkGFuZyB0cuG7nyBs4bqhaSBow7JhIHRy4buZbiDigJwzLcSRxrDhu51uZ+KAneKAplxuIgogCi0jOiBhcHBseS5jOjM1NjQgYXBwbHkuYzozNTY4CisjOiBhcHBseS5jOjM1NzUgYXBwbHkuYzozNTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgbuG7mWkgZHVuZyBoaeG7h24gaMOgbmggY+G7p2Eg4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6MzU4MAorIzogYXBwbHkuYzozNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBxdWF5IHRy4bufIGzhuqFpIMSR4buDIGjDsmEgdHLhu5luIGtp4buDdSDigJx0aHJlZS13YXnigJ3igKZcbiIKIAotIzogYXBwbHkuYzozNTk0CisjOiBhcHBseS5jOjM2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIgogbXNnc3RyICLEkMOjIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgJXMgduG7m2kgY8OhYyB4dW5nIMSR4buZdC5cbiIKIAotIzogYXBwbHkuYzozNTk5CisjOiBhcHBseS5jOjM2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCiBtc2dzdHIgIsSQw6Mgw6FwIGThu6VuZyBtaeG6v25nIHbDoSAlcyBt4buZdCBjw6FjaCBz4bqhY2ggc+G6vS5cbiIKIAotIzogYXBwbHkuYzozNjI1CisjOiBhcHBseS5jOjM2MzYKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICJsb+G6oWkgYuG7jyBtaeG6v25nIHbDoSDEkeG7gyBs4bqhaSBu4buZaSBkdW5nIHThuq1wIHRpbiIKIAotIzogYXBwbHkuYzozNjk3CisjOiBhcHBseS5jOjM3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdyb25nIHR5cGUiCiBtc2dzdHIgIiVzOiBzYWkga2nhu4N1IgogCi0jOiBhcHBseS5jOjM2OTkKKyM6IGFwcGx5LmM6MzcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIiVzIGPDsyBraeG7g3UgJW8sIGPhuqduICVvIgogCi0jOiBhcHBseS5jOjM4NTAgYXBwbHkuYzozODUyCisjOiBhcHBseS5jOjM4NjAgYXBwbHkuYzozODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24ga2jDtG5nIGjhu6NwIGzhu4cg4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6MzkwOAorIzogYXBwbHkuYzozOTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6IMSRw6MgY8OzIHThu6sgdHLGsOG7m2MgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBhcHBseS5jOjM5MTEKKyM6IGFwcGx5LmM6MzkyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiDEkcOjIHPhurVuIGPDsyB0cm9uZyB0aMawIG3hu6VjIMSRYW5nIGzDoG0gdmnhu4djIgogCi0jOiBhcHBseS5jOjM5MzEKKyM6IGFwcGx5LmM6Mzk0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCiBtc2dzdHIgImNo4bq/IMSR4buZIG3hu5tpICglbykgY+G7p2EgJXMga2jDtG5nIGto4bubcCB24bubaSBjaOG6vyDEkeG7mSBjxakgKCVvKSIKIAotIzogYXBwbHkuYzozOTM2CisjOiBhcHBseS5jOjM5NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgogbXNnc3RyICJjaOG6vyDEkeG7mSBt4bubaSAoJW8pIGPhu6dhICVzIGtow7RuZyBraOG7m3AgduG7m2kgY2jhur8gxJHhu5kgY8WpICglbykgY+G7p2EgJXMiCiAKLSM6IGFwcGx5LmM6Mzk1NgorIzogYXBwbHkuYzozOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJ04bqtcCB0aW4gY2jhu4t1IHTDoWMgxJHhu5luZyDigJwlc+KAnSB2xrDhu6N0IHJhIG5nb8OgaSBsacOqbiBr4bq/dCBt4buBbSIKIAotIzogYXBwbHkuYzozOTYwCisjOiBhcHBseS5jOjM5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICIlczogbWnhur9uZyB2w6Ega2jDtG5nIMSRxrDhu6NjIMOhcCBk4bulbmciCiAKLSM6IGFwcGx5LmM6Mzk3NQorIzogYXBwbHkuYzozOTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIG1p4bq/bmcgdsOhICVz4oCmIgogCi0jOiBhcHBseS5jOjQwNjYKKyM6IGFwcGx5LmM6NDA3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICJ0aMO0bmcgdGluIHNoYTEgdGhp4bq/dSBob+G6t2Mga2jDtG5nIGTDuW5nIMSRxrDhu6NjIGNobyBtw7QtxJF1biAlcyIKIAotIzogYXBwbHkuYzo0MDczCisjOiBhcHBseS5jOjQwODMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgogbXNnc3RyICJ0aGF5IMSR4buVaSBjaOG6vyDEkeG7mSBjaG8gJXMsIGPDoWkgbcOgIGtow7RuZyBwaOG6o2kgbMOgIEhFQUQgaGnhu4duIHThuqFpIgogCi0jOiBhcHBseS5jOjQwNzYKKyM6IGFwcGx5LmM6NDA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKIG1zZ3N0ciAidGjDtG5nIHRpbiBzaGExIGPDsm4gdGhp4bq/dSBoYXkga2jDtG5nIGTDuW5nIMSRxrDhu6NjKCVzKS4iCiAKLSM6IGFwcGx5LmM6NDA4MSBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKKyM6IGFwcGx5LmM6NDA5MSBidWlsdGluL2NoZWNrb3V0LmM6MjM1IGJ1aWx0aW4vcmVzZXQuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBn4bq3cCBs4buXaSDEkeG7kWkgduG7m2kgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIgogCi0jOiBhcHBseS5jOjQwODUKKyM6IGFwcGx5LmM6NDA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYWRkICVzIHRvIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRow6ptICVzIHbDoG8gY2jhu4kgbeG7pWMgdOG6oW0gdGjhu51pIgogCi0jOiBhcHBseS5jOjQwOTUKKyM6IGFwcGx5LmM6NDEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4NnaGkgbeG7pWMgbOG7pWMgdOG6oW0gdsOgbyAlcyIKIAotIzogYXBwbHkuYzo0MjMzCisjOiBhcHBseS5jOjQyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ+G7oSBi4buPICVzIHThu6sgbeG7pWMgbOG7pWMiCiAKLSM6IGFwcGx5LmM6NDI2OAorIzogYXBwbHkuYzo0Mjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAibWnhur9uZyB2w6Egc2FpIGjhu49uZyBjaG8gbcO0LcSRdW4tY29uICVzIgogCi0jOiBhcHBseS5jOjQyNzQKKyM6IGFwcGx5LmM6NDI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRo4buRbmcga+G7gSB24buBIHThuq1wIHRpbiAlcyBt4bubaSBoxqFuIMSRw6MgxJHGsOG7o2MgdOG6oW8iCiAKLSM6IGFwcGx5LmM6NDI4MgorIzogYXBwbHkuYzo0MjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8g4oCca2hvIGzGsHUgxJHhurFuZyBzYXXigJ0gY2hvIHThuq1wIHRpbiDEkcaw4bujYyB04bqhbyBt4bubaSBoxqFuICVzIgogCi0jOiBhcHBseS5jOjQyODggYXBwbHkuYzo0NDMyCisjOiBhcHBseS5jOjQyOTggYXBwbHkuYzo0NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdGjDqm0gbeG7pWMgbmjhu5sgxJHhu4dtIGNobyAlcyIKIAotIzogYXBwbHkuYzo0MzI5CisjOiBhcHBseS5jOjQzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgdsOgbyDigJwlc+KAnSIKIAotIzogYXBwbHkuYzo0MzMzCisjOiBhcHBseS5jOjQzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgIsSRYW5nIMSRw7NuZyB04bqtcCB0aW4g4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6NDQwMworIzogYXBwbHkuYzo0NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB2w6BvIHThuq1wIHRpbiDigJwlc+KAnSBjaOG6vyDEkeG7mSAlbyIKIAotIzogYXBwbHkuYzo0NTAxCisjOiBhcHBseS5jOjQ1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKIG1zZ3N0ciAixJDDoyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhICVzIG3hu5l0IGPDoWNoIHPhuqFjaCBz4bq9LiIKIAotIzogYXBwbHkuYzo0NTA5CisjOiBhcHBseS5jOjQ1MTkKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSIKIAotIzogYXBwbHkuYzo0NTEyCisjOiBhcHBseS5jOjQ1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgogbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgogbXNnc3RyWzBdICLEkGFuZyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhICUlcyB24bubaSAlZCBs4bqnbiB04burIGNo4buRaeKApiIKIAotIzogYXBwbHkuYzo0NTIzCisjOiBhcHBseS5jOjQ1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgogbXNnc3RyICLEkWFuZyBj4bqvdCBuZ+G6r24gdMOqbiB04bqtcCB0aW4gLnJlaiB0aMOgbmggJS4qcy5yZWoiCiAKLSM6IGFwcGx5LmM6NDUzMSBidWlsdGluL2ZldGNoLmM6NzM3IGJ1aWx0aW4vZmV0Y2guYzo5ODYKKyM6IGFwcGx5LmM6NDU0MSBidWlsdGluL2ZldGNoLmM6NzM4IGJ1aWx0aW4vZmV0Y2guYzo5ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjIOKAnCVz4oCdIgogCi0jOiBhcHBseS5jOjQ1NDUKKyM6IGFwcGx5LmM6NDU1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgogbXNnc3RyICJLaOG7kWkgbmjhu5sgIyVkIMSRxrDhu6NjIMOhcCBk4bulbmcgZ+G7jW4gZ8OgbmcuIgogCi0jOiBhcHBseS5jOjQ1NDkKKyM6IGFwcGx5LmM6NDU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCiBtc2dzdHIgIsSRb+G6oW4gZOG7ryBsaeG7h3UgIyVkIGLhu4sgdOG7qyBjaOG7kWkuIgogCi0jOiBhcHBseS5jOjQ2NTkKKyM6IGFwcGx5LmM6NDY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgogbXNnc3RyICJi4buPIHF1YSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0uIgogCi0jOiBhcHBseS5jOjQ2NjcKKyM6IGFwcGx5LmM6NDY3NwogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAia2jDtG5nIHRo4burYSBuaOG6rW4gxJHhuqd1IHbDoG8iCiAKLSM6IGFwcGx5LmM6NDY4NgorIzogYXBwbHkuYzo0Njk2CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGFwcGx5LmM6NDgyNAorIzogYXBwbHkuYzo0ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIG1p4bq/bmcgdsOhIOKAnCVz4oCdOiAlcyIKIAotIzogYXBwbHkuYzo0ODQ5CisjOiBhcHBseS5jOjQ4NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCiBtc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0clswXSAixJHDoyBjaOG6pW0gZOG7qXQgJWQgbOG7l2kga2hv4bqjbmcgdHLhuq9uZyIKIAotIzogYXBwbHkuYzo0ODU1IGFwcGx5LmM6NDg3MAorIzogYXBwbHkuYzo0ODY2IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZCBkw7JuZyB0aMOqbSBraG/huqNuZyB0cuG6r25nIGzhu5dpLiIKIAotIzogYXBwbHkuYzo0ODYzCisjOiBhcHBseS5jOjQ4NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAiJWQgZMOybmcgxJHGsOG7o2Mgw6FwIGThu6VuZyBzYXUga2hpIHPhu61hIGPDoWMgbOG7l2kga2hv4bqjbmcgdHLhuq9uZy4iCiAKLSM6IGFwcGx5LmM6NDg3OSBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjk4IGJ1aWx0aW4vcm0uYzozOTEKKyM6IGFwcGx5LmM6NDg5MCBidWlsdGluL2FkZC5jOjUxMyBidWlsdGluL212LmM6Mjk5IGJ1aWx0aW4vcm0uYzozOTEKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBhcHBseS5jOjQ5MTAgYXBwbHkuYzo0OTEzIGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCi0jOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vcHVsbC5jOjE4MAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDQKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBhcHBseS5jOjQ5MjEgYXBwbHkuYzo0OTI0IGJ1aWx0aW4vYW0uYzoyMjU3IGJ1aWx0aW4vYW0uYzoyMjYwCisjOiBidWlsdGluL2Nsb25lLmM6MTE1IGJ1aWx0aW4vZmV0Y2guYzo5MyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInBhdGgiCiBtc2dzdHIgIsSRxrDhu51uZy1k4bqrbiIKIAotIzogYXBwbHkuYzo0OTExCisjOiBhcHBseS5jOjQ5MjIKIG1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICJraMO0bmcgw6FwIGThu6VuZyBjw6FjIHRoYXkgxJHhu5VpIGto4bubcCB24bubaSDEkcaw4budbmcgZOG6q24gxJHDoyBjaG8iCiAKLSM6IGFwcGx5LmM6NDkxNAorIzogYXBwbHkuYzo0OTI1CiBtc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAiw6FwIGThu6VuZyBjw6FjIHRoYXkgxJHhu5VpIGto4bubcCB24bubaSDEkcaw4budbmcgZOG6q24gxJHDoyBjaG8iCiAKLSM6IGFwcGx5LmM6NDkxNiBidWlsdGluL2FtLmM6MjI4NgorIzogYXBwbHkuYzo0OTI3IGJ1aWx0aW4vYW0uYzoyMjY2CiBtc2dpZCAibnVtIgogbXNnc3RyICJz4buRIgogCi0jOiBhcHBseS5jOjQ5MTcKKyM6IGFwcGx5LmM6NDkyOAogbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgogbXNnc3RyICJn4buhIGLhu48gPHPhu5E+IGThuqV1IGfhuqFjaCBjaMOpbyBk4bqrbiDEkeG6p3UgdOG7qyDEkcaw4budbmcgZOG6q24gZGlmZiBj4buVIMSRaeG7g24iCiAKLSM6IGFwcGx5LmM6NDkyMAorIzogYXBwbHkuYzo0OTMxCiBtc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKIG1zZ3N0ciAibOG7nSDEkWkgcGjhuqduIGLhu5UgeHVuZyDEkcaw4bujYyB04bqhbyByYSBi4bufaSBtaeG6v25nIHbDoSIKIAotIzogYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MzMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgIiIKICJ0aGF5IHbDrCDDoXAgZOG7pW5nIG3hu5l0IG1p4bq/bmcgdsOhLCBr4bq/dCB4deG6pXQga+G6v3QgcXXhuqMgdOG7qyBs4buHbmggZGlmZnN0YXQgY2hvIMSR4bqndSByYSIKIAotIzogYXBwbHkuYzo0OTI2CisjOiBhcHBseS5jOjQ5MzcKIG1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgogbXNnc3RyICIiCiAiaGnhu4NuIHRo4buLIHPhu5EgbMaw4bujbmcgY8OhYyBkw7JuZyDEkcaw4bujYyB0aMOqbSB2w6BvIHbDoCB4w7NhIMSRaSB0aGVvIGvDvSBoaeG7h3UgdGjhuq1wIHBow6JuIgogCi0jOiBhcHBseS5jOjQ5MjgKKyM6IGFwcGx5LmM6NDkzOQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgInRoYXkgdsOsIMOhcCBk4bulbmcgbeG7mXQgbWnhur9uZyB2w6EsIGvhur90IHh14bqldCBr4bq/dCBxdeG6oyBjaG8gxJHhuqd1IHbDoG8iCiAKLSM6IGFwcGx5LmM6NDkzMAorIzogYXBwbHkuYzo0OTQxCiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKIG1zZ3N0ciAidGhheSB2w6wgw6FwIGThu6VuZyBtaeG6v25nIHbDoSwgaMOjeSB4ZW0geGVtIG1p4bq/bmcgdsOhIGPDsyB0aMOtY2ggaOG7o3Aga2jDtG5nIgogCi0jOiBhcHBseS5jOjQ5MzIKKyM6IGFwcGx5LmM6NDk0MwogbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAiaMOjeSBjaOG6r2MgY2jhuq9uIGzDoCBtaeG6v25nIHbDoSB0aMOtY2ggaOG7o3AgduG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIGhp4buHbiBow6BuaCIKIAotIzogYXBwbHkuYzo0OTM0CisjOiBhcHBseS5jOjQ5NDUKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiw6FwIGThu6VuZyBt4buZdCBtaeG6v25nIHbDoSBtw6Aga2jDtG5nIMSR4buZbmcgY2jhuqFtIMSR4bq/biBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBhcHBseS5jOjQ5MzYKKyM6IGFwcGx5LmM6NDk0NwogbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCiBtc2dzdHIgImNo4bqlcCBuaOG6rW4gbeG7mXQgbWnhur9uZyB2w6EgbcOgIGtow7RuZyDEkeG7mW5nIGNo4bqhbSDEkeG6v24gY8OieSBsw6BtIHZp4buHYyIKIAotIzogYXBwbHkuYzo0OTM4CisjOiBhcHBseS5jOjQ5NDkKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAiIgogIsSR4buTbmcgdGjhu51pIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgKGTDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiAKLSM6IGFwcGx5LmM6NDk0MAorIzogYXBwbHkuYzo0OTUxCiBtc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAidGjhu60gaMOyYSB0cuG7mW4ga2nhu4N1IHRocmVlLXdheSBu4bq/dSB2aeG7h2MgdsOhIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIMSRxrDhu6NjIgogCi0jOiBhcHBseS5jOjQ5NDIKKyM6IGFwcGx5LmM6NDk1MwogbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAieMOieSBk4buxbmcgYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSB0csOqbiBjxqEgc+G7nyB0aMO0bmcgdGluIGLhuqNuZyBt4bulYyBs4bulYyDEkcaw4bujYyBuaMO6bmciCiAKLSM6IGFwcGx5LmM6NDk0NSBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDcKKyM6IGFwcGx5LmM6NDk1NiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTUKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiY8OhYyDEkcaw4budbmcgZOG6q24gYuG7iyBuZ8SDbiBjw6FjaCBi4bufaSBrw70gdOG7sSBOVUxMIgogCi0jOiBhcHBseS5jOjQ5NDcKKyM6IGFwcGx5LmM6NDk1OAogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAixJHhuqNtIGLhuqNvIHLhurFuZyBjw7Mgw610IG5o4bqldCA8bj4gZMOybmcgbuG7mWkgZHVuZyBraOG7m3AiCiAKLSM6IGFwcGx5LmM6NDk0OCBidWlsdGluL2FtLmM6MjI2NQorIzogYXBwbHkuYzo0OTU5IGJ1aWx0aW4vYW0uYzoyMjQ1CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICJow6BuaCDEkeG7mW5nIgogCi0jOiBhcHBseS5jOjQ5NDkKKyM6IGFwcGx5LmM6NDk2MAogbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyICJ0w6xtIHRo4bqleSBt4buZdCBkw7JuZyBt4bubaSBob+G6t2MgYuG7iyBz4butYSDEkeG7lWkgbcOgIG7DsyBjw7MgbOG7l2kgZG8ga2hv4bqjbmcgdHLhuq9uZyIKIAotIzogYXBwbHkuYzo0OTUyIGFwcGx5LmM6NDk1NQorIzogYXBwbHkuYzo0OTYzIGFwcGx5LmM6NDk2NgogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCiBtc2dzdHIgImzhu50gxJFpIHPhu7EgdGhheSDEkeG7lWkgZG8ga2hv4bqjbmcgdHLhuq9uZyBnw6J5IHJhIGtoaSBxdcOpdCBu4buZaSBkdW5nIgogCi0jOiBhcHBseS5jOjQ5NTgKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICLDoXAgZOG7pW5nIG1p4bq/bmcgdsOhIHRoZW8gY2hp4buBdSBuZ8aw4bujYyIKIAotIzogYXBwbHkuYzo0OTYwCisjOiBhcHBseS5jOjQ5NzEKIG1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKIG1zZ3N0ciAixJHhu6tuZyBoeSB24buNbmcgY8OzIMOtdCBuaOG6pXQgbeG7mXQgZMOybmcgbuG7mWkgZHVuZyIKIAotIzogYXBwbHkuYzo0OTYyCisjOiBhcHBseS5jOjQ5NzMKIG1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKIG1zZ3N0ciAixJHhu4MgbOG6oWkga2jhu5FpIGThu68gbGnhu4d1IGLhu4sgdOG7qyBjaOG7kWkgdHJvbmcgY8OhYyB04bqtcCB0aW4gKi5yZWogdMawxqFuZyDhu6luZyIKIAotIzogYXBwbHkuYzo0OTY0CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAiY2hvIHBow6lwIGNo4buTbmcga2jhu5FpIG5o4bubIgogCi0jOiBhcHBseS5jOjQ5NjUgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjY1MQotIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKKyM6IGFwcGx5LmM6NDk3NiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTUgYnVpbHRpbi9mc2NrLmM6NjUxCisjOiBidWlsdGluL2xvZy5jOjE4NzcgYnVpbHRpbi9tdi5jOjEyMyBidWlsdGluL3JlYWQtdHJlZS5jOjEyNQogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgImNoaSB0aeG6v3QiCiAKLSM6IGFwcGx5LmM6NDk2NworIzogYXBwbHkuYzo0OTc4CiBtc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIiIKICLEkcOjIGTDsiB0w6xtIHRo4bqleSBkdW5nIHNhaSBraMO0bmcgY2jDrW5oIHjDoWMgdGhp4bq/dSBkw7JuZyBt4bubaSB04bqhaSBjdeG7kWkgdOG6rXAgdGluIgogCi0jOiBhcHBseS5jOjQ5NzAKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKIG1zZ3N0ciAia2jDtG5nIHRpbiBz4buRIGzGsOG7o25nIGTDsm5nIHRyb25nIHBo4bqnbiDEkeG6p3Uga2jhu5FpIGThu68gbGnhu4d1IgogCi0jOiBhcHBseS5jOjQ5NzIgYnVpbHRpbi9hbS5jOjIyNzQKKyM6IGFwcGx5LmM6NDk4MyBidWlsdGluL2FtLmM6MjI1NAogbXNnaWQgInJvb3QiCiBtc2dzdHIgImfhu5FjIgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NDk4NAogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgInRyZW8gdGjDqm0gPHJvb3Q+IHbDoG8gdOG6pXQgY+G6oyBjw6FjIHTDqm4gdOG6rXAgdGluIgogCi0jOiBhcmNoaXZlLmM6MTIKKyM6IGFyY2hpdmUuYzoxMwogbXNnaWQgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBhcmNoaXZlIFs8Y8OhYy10w7l5LWNo4buNbj5dIDx0cmVlLWlzaD4gWzzEkcaw4budbmctZOG6q24+4oCmXSIKIAotIzogYXJjaGl2ZS5jOjEzCisjOiBhcmNoaXZlLmM6MTQKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjE0CisjOiBhcmNoaXZlLmM6MTUKIG1zZ2lkICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8a2hvPiBbLS1leGVjIDxs4buHbmg+XSBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dHJlZS1pc2g+ICIKICJbPMSRxrDhu51uZy1k4bqrbj7igKZdIgogCi0jOiBhcmNoaXZlLmM6MTUKKyM6IGFyY2hpdmUuYzoxNgogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxraG8+IFstLWV4ZWMgPGzhu4duaD5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzAwCisjOiBhcmNoaXZlLmM6MzMzIGJ1aWx0aW4vYWRkLmM6MTU0IGJ1aWx0aW4vYWRkLmM6NDkyIGJ1aWx0aW4vcm0uYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAixJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyBraOG7m3AgduG7m2kgYuG6pXQga+G7syB04bqtcCB0aW4gbsOgbyIKIAotIzogYXJjaGl2ZS5jOjQyOQorIzogYXJjaGl2ZS5jOjQxOAogbXNnaWQgImZtdCIKIG1zZ3N0ciAixJHhu4tuaF9k4bqhbmciCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAixJHhu4tuaCBk4bqhbmcgbMawdSB0cuG7ryIKIAotIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjE0MjkKKyM6IGFyY2hpdmUuYzo0MTkgYnVpbHRpbi9sb2cuYzoxNDQ2CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJ0aeG7gW5fdOG7kSIKIAotIzogYXJjaGl2ZS5jOjQzMQorIzogYXJjaGl2ZS5jOjQyMAogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgIm7hu5FpIHRow6ptIHRp4buBbiB04buRIHbDoG8gdOG7q25nIMSRxrDhu51uZyBk4bqrbiB04bqtcCB0aW4gdHJvbmcga2hvIGzGsHUiCiAKLSM6IGFyY2hpdmUuYzo0MzIgYnVpbHRpbi9ibGFtZS5jOjI2MDcgYnVpbHRpbi9ibGFtZS5jOjI2MDggYnVpbHRpbi9jb25maWcuYzo1OQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjEwNTQKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEgYnVpbHRpbi9scy1maWxlcy5jOjU0MSBidWlsdGluL2xzLWZpbGVzLmM6NTQ0Ci0jOiBidWlsdGluL25vdGVzLmM6NDAxIGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkKKyM6IGFyY2hpdmUuYzo0MjEgYnVpbHRpbi9ibGFtZS5jOjY5MyBidWlsdGluL2JsYW1lLmM6Njk0IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MSBidWlsdGluL2dyZXAuYzoxMDgwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDkgYnVpbHRpbi9scy1maWxlcy5jOjU1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNCBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIwCiAjOiBwYXJzZS1vcHRpb25zLmg6MTUzCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAidOG6rXBfdGluIgogCi0jOiBhcmNoaXZlLmM6NDMzIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6NDIyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICJnaGkga2hvIGzGsHUgdsOgbyB04bqtcCB0aW4gbsOgeSIKIAotIzogYXJjaGl2ZS5jOjQzNQorIzogYXJjaGl2ZS5jOjQyNAogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIsSR4buNYyAuZ2l0YXR0cmlidXRlcyB0cm9uZyB0aMawIG3hu6VjIGzDoG0gdmnhu4djIgogCi0jOiBhcmNoaXZlLmM6NDM2CisjOiBhcmNoaXZlLmM6NDI1CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyBsxrB1IHRy4buvIHbDoG8gc3RkZXJyICjEkeG6p3UgcmEgbOG7l2kgdGnDqnUgY2h14bqpbikiCiAKLSM6IGFyY2hpdmUuYzo0MzcKKyM6IGFyY2hpdmUuYzo0MjYKIG1zZ2lkICJzdG9yZSBvbmx5IgogbXNnc3RyICJjaOG7iSBsxrB1IChraMO0bmcgbsOpbikiCiAKLSM6IGFyY2hpdmUuYzo0MzgKKyM6IGFyY2hpdmUuYzo0MjcKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgIm7DqW4gbmhhbmggaMahbiIKIAotIzogYXJjaGl2ZS5jOjQ0NgorIzogYXJjaGl2ZS5jOjQzNQogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAibsOpbiBuaOG7jyBoxqFuIgogCi0jOiBhcmNoaXZlLmM6NDQ5CisjOiBhcmNoaXZlLmM6NDM4CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDoWMga2nhu4N1IG7DqW4gxJHGsOG7o2MgaOG7lyB0cuG7oyIKIAotIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9jbG9uZS5jOjg4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKKyM6IGFyY2hpdmUuYzo0NDAgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjEwNSBidWlsdGluL2Nsb25lLmM6MTA4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODIKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJraG8iCiAKLSM6IGFyY2hpdmUuYzo0NTIgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0NDEgYnVpbHRpbi9hcmNoaXZlLmM6OTEKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAibmjhuq1uIGtobyBuw6luIHThu6sga2hvIGNo4bupYSA8a2hvPiB0csOqbiBtw6F5IGNo4bunIgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODUKKyM6IGFyY2hpdmUuYzo0NDIgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImzhu4duaCIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjQ0MyBidWlsdGluL2FyY2hpdmUuYzo5MwogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIMSR4bq/biBs4buHbmggZ2l0LXVwbG9hZC1wYWNrIHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGFyY2hpdmUuYzo0NjEKKyM6IGFyY2hpdmUuYzo0NTAKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKIG1zZ3N0ciAiR+G6t3AgdMO5eSBjaOG7jW4gLS1yZW1vdGUga2jDtG5nIGPhuqduIgogCi0jOiBhcmNoaXZlLmM6NDYzCisjOiBhcmNoaXZlLmM6NDUyCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIlTDuXkgY2jhu41uIC0tZXhlYyBjaOG7iSBjw7MgdGjhu4MgxJHGsOG7o2MgZMO5bmcgY8O5bmcgduG7m2kgLS1yZW1vdGUiCiAKLSM6IGFyY2hpdmUuYzo0NjUKKyM6IGFyY2hpdmUuYzo0NTQKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKIG1zZ3N0ciAiR+G6t3AgdMO5eSBjaOG7jW4ga2jDtG5nIGPhuqduIC0tb3V0cHV0IgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIGhp4buDdSDEkeG7i25oIGThuqFuZyDigJwlc+KAnSIKIAotIzogYXJjaGl2ZS5jOjQ5NAorIzogYXJjaGl2ZS5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgogbXNnc3RyICJUaGFtIHPhu5Ega2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgY2hvIMSR4buLbmggZOG6oW5nIOKAnCVz4oCdOiAtJWQiCiAKLSM6IGF0dHIuYzoyNjMKKyM6IGF0dHIuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS4qcyBpcyBub3QgYSB2YWxpZCBhdHRyaWJ1dGUgbmFtZSIKK21zZ3N0ciAiJS4qcyBraMO0bmcgcGjhuqNpIHTDqm4gdGh14buZYyB0w61uaCBo4bujcCBs4buHIgorCisjOiBhdHRyLmM6NDEwCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCiAiVXNlICdcXCEnIGZvciBsaXRlcmFsIGxlYWRpbmcgZXhjbGFtYXRpb24uIgpAQCAtODUyLDEyICs4NjcsNyBAQAogIkPDoWMgbeG6q3UgZOG6oW5nIHBo4bunIMSR4buLbmggYuG7iyBj4bqlbSBkw7luZyBjaG8gY8OhYyB0aHXhu5ljIHTDrW5oIGPhu6dhIGdpdFxuIgogIkTDuW5nIOKAnFxcIeKAnSBjaG8gY8OhYyBjaHXhu5dpIHbEg24gYuG6o24gY8OzIGThuqV1IGNo4bqlbSB0aGFuIGThuqtuIMSR4bqndS4iCiAKLSM6IGJpc2VjdC5jOjQ0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCi1tc2dzdHIgIktow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiDigJwlc+KAnSIKLQotIzogYmlzZWN0LmM6NDQ2CisjOiBiaXNlY3QuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKIG1zZ3N0ciAibuG7mWkgZHVuZyDEkcaw4bujYyB0csOtY2ggZOG6q24gc2FpIHThuq1wIHRpbiDigJwlc+KAnTogJXMiCkBAIC05MzIsNyArOTQyLDcgQEAKIG1zZ2lkICJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIKIG1zZ3N0ciAiY+G6p24gbeG7mXQgxJFp4buDbSB4w6l0IGR1eeG7h3QgJXMiCiAKLSM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjYyCisjOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NSBidWlsdGluL3RhZy5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHThuq1wIHRpbiDigJwlc+KAnSIKQEAgLTk2NiwxNCArOTc2LDUyIEBACiBtc2dpZF9wbHVyYWwgIihyb3VnaGx5ICVkIHN0ZXBzKSIKIG1zZ3N0clswXSAiKMaw4bubYyBjaOG7q25nICVkIGLGsOG7m2MpIgogCi0jLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoCi0jLiAiKHJvdWdobHkgJWQgc3RlcHMpIiB0cmFuc2xhdGlvbgotIzogYmlzZWN0LmM6OTk4CisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoICIocm91Z2hseSAlZAorIy4gc3RlcHMpIiB0cmFuc2xhdGlvbi4KKyMuCisjOiBiaXNlY3QuYzoxMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKIG1zZ3N0clswXSAiQmlzZWN0aW5nOiBjw7JuICVkIMSRaeG7g20geMOpdCBkdXnhu4d0IMSR4buDIGtp4buDbSBzYXUgJXMgbsOgeVxuIgogCisjOiBibGFtZS5jOjE3NTcKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICJ0w7l5IGNo4buNbi0tY29udGVudHMgdsOgIC0tcmV2ZXJzZSBraMO0bmcgxJHGsOG7o2MgdHLhu5luIHbDoG8gbmhhdS4iCisKKyM6IGJsYW1lLmM6MTc2OAorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGTDuW5nIC0tY29udGVudHMgduG7m2kgdMOqbiDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyBjdeG7kWkgY8O5bmciCisKKyM6IGJsYW1lLmM6MTc4OAorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSB2w6AgLS1maXJzdC1wYXJlbnQgY8O5bmcgbmhhdSBj4bqnbiBjaOG7iSDEkeG7i25oIGzhuqduIGNodXnhu4NuIGdpYW8gY3Xhu5FpIgorCisjOiBibGFtZS5jOjE3OTcgYnVuZGxlLmM6MTY0IHJlZi1maWx0ZXIuYzoxOTE5IHNlcXVlbmNlci5jOjExNjYKKyM6IHNlcXVlbmNlci5jOjIzMjggYnVpbHRpbi9jb21taXQuYzoxMDU4IGJ1aWx0aW4vbG9nLmM6MzU2IGJ1aWx0aW4vbG9nLmM6OTA3CisjOiBidWlsdGluL2xvZy5jOjEzNTcgYnVpbHRpbi9sb2cuYzoxNjgzIGJ1aWx0aW4vbG9nLmM6MTkyNiBidWlsdGluL21lcmdlLmM6MzYwCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTc3Cittc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCittc2dzdHIgImPDoGkgxJHhurd0IHZp4buHYyBkaSBjaHV54buDbiBxdWEgY8OhYyDEkWnhu4NtIHjDqXQgZHV54buHdCBn4bq3cCBs4buXaSIKKworIzogYmxhbWUuYzoxODE1Cittc2dpZCAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCBjw7luZyBuaGF1IHnDqnUgY+G6p3UgdsO5bmcgY8O5bmcgduG7m2kgY2h14buXaSBjaGEtbeG6uS3EkeG6p3UtIgorInRpw6puIgorCisjOiBibGFtZS5jOjE4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgorbXNnc3RyICJraMO0bmcgY8OzIMSRxrDhu51uZyBk4bqrbiAlcyB0cm9uZyDigJwlc+KAnSIKKworIzogYmxhbWUuYzoxODM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgYmxvYiAlcyBjaG8gxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIgorCiAjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0xMTA4LDcgKzExNTYsNyBAQAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICLigJwlc+KAnSDEkcOjIMSRxrDhu6NjIGzhuqV5IHJhIHThuqFpIOKAnCVz4oCdIHLhu5NpIgogCi0jOiBicmFuY2guYzozNjMKKyM6IGJyYW5jaC5jOjM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAiSEVBRCBj4bunYSBjw6J5IGzDoG0gdmnhu4djICVzIGNoxrBhIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCIKQEAgLTExMTgsOTUgKzExNjYsODggQEAKIG1zZ2lkICInJXMnIGRvZXMgbm90IGxvb2sgbGlrZSBhIHYyIGJ1bmRsZSBmaWxlIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgZ2nhu5FuZyBuaMawIHThuq1wIHRpbiB2MiBidW5kbGUgKMSR4buLbmggZOG6oW5nIGR1bXAgY+G7p2EgZ2l0KSIKIAotIzogYnVuZGxlLmM6NjEKKyM6IGJ1bmRsZS5jOjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAicGjhuqduIMSR4bqndSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4NyBzZXF1ZW5jZXIuYzoxMzMxIHNlcXVlbmNlci5jOjE3NTIgYnVpbHRpbi9jb21taXQuYzo3NzcKKyM6IGJ1bmRsZS5jOjg4IHNlcXVlbmNlci5jOjEzNDQgc2VxdWVuY2VyLmM6MTc3MCBidWlsdGluL2NvbW1pdC5jOjc3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyDigJwlc+KAnSIKIAotIzogYnVuZGxlLmM6MTM5CisjOiBidW5kbGUuYzoxNDAKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiS2hvIGNo4bupYSB0aGnhur91IG5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyB0acOqbiBxdXnhur90IG7DoHk6IgogCi0jOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0OTkgc2VxdWVuY2VyLmM6MTE1NCBzZXF1ZW5jZXIuYzoyMjkwCi0jOiBidWlsdGluL2JsYW1lLmM6MjgyMCBidWlsdGluL2NvbW1pdC5jOjEwNjEgYnVpbHRpbi9sb2cuYzozNDgKLSM6IGJ1aWx0aW4vbG9nLmM6ODkwIGJ1aWx0aW4vbG9nLmM6MTM0MCBidWlsdGluL2xvZy5jOjE2NjYgYnVpbHRpbi9sb2cuYzoxOTA5Ci0jOiBidWlsdGluL21lcmdlLmM6MzYwIGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzcKLW1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKLW1zZ3N0ciAiY8OgaSDEkeG6t3Qgdmnhu4djIGRpIGNodXnhu4NuIHF1YSBjw6FjIMSRaeG7g20geMOpdCBkdXnhu4d0IGfhurdwIGzhu5dpIgotCi0jOiBidW5kbGUuYzoxODUKKyM6IGJ1bmRsZS5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiQsOzIGThu68gbGnhu4d1IGNo4bupYSAlZCB0aGFtIGNoaeG6v3U6IgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE5MwogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICJM4buHbmggYnVuZGxlIGdoaSBs4bqhaSB0b8OgbiBi4buZIGzhu4tjaCBz4butLiIKIAotIzogYnVuZGxlLmM6MTk0CisjOiBidW5kbGUuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIkzhu4duaCBidW5kbGUgecOqdSBj4bqndSAlZCB0aGFtIGNoaeG6v3UgbsOgeToiCiAKLSM6IGJ1bmRsZS5jOjI1MworIzogYnVuZGxlLmM6MjU0CiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHPhuqNuIHNpbmggxJHhu5FpIHTGsOG7o25nIGfDs2kiCiAKLSM6IGJ1bmRsZS5jOjI2NAorIzogYnVuZGxlLmM6MjY1CiBtc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyBnw7NpIMSRw6MgY2jhur90IgogCi0jOiBidW5kbGUuYzozMDQKKyM6IGJ1bmRsZS5jOjMwNwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgInJldi1saXN0IMSRw6MgY2jhur90IgogCi0jOiBidW5kbGUuYzozNTMKKyM6IGJ1bmRsZS5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAidGguY2hp4bq/dSDigJwlc+KAnSBi4buLIGxv4bqhaSB0cuG7qyBi4bufaSBjw6FjIHTDuXkgY2jhu41uIHJldi1saXN0IgogCi0jOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjUgYnVpbHRpbi9sb2cuYzoxNTcyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyODIKKyM6IGJ1bmRsZS5jOjQ0NiBidWlsdGluL2xvZy5jOjE3MyBidWlsdGluL2xvZy5jOjE1ODkgYnVpbHRpbi9zaG9ydGxvZy5jOjI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ1MQorIzogYnVuZGxlLmM6NDU0CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIlThu6sgY2jhu5FpIHThuqFvIG3hu5l0IGLDsyBk4buvIGxp4buHdSB0cuG7kW5nIHLhu5duZy4iCiAKLSM6IGJ1bmRsZS5jOjQ2MworIzogYnVuZGxlLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIOKAnCVz4oCdIgogCi0jOiBidW5kbGUuYzo0OTEKKyM6IGJ1bmRsZS5jOjQ5NAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAibeG7pWMgbOG7pWMgZ8OzaSDEkcOjIGNo4bq/dCIKIAotIzogY29sb3IuYzozMDAKKyM6IGNvbG9yLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCiBtc2dzdHIgImdpw6EgdHLhu4sgbcOgdSBraMO0bmcgaOG7o3AgbOG7hzogJS4qcyIKIAotIzogY29tbWl0LmM6NDAgc2VxdWVuY2VyLmM6MTU2NCBidWlsdGluL2FtLmM6NDIxIGJ1aWx0aW4vYW0uYzo0NTcKLSM6IGJ1aWx0aW4vYW0uYzoxNDkzIGJ1aWx0aW4vYW0uYzoyMTI3CisjOiBjb21taXQuYzo0MSBzZXF1ZW5jZXIuYzoxNTgyIGJ1aWx0aW4vYW0uYzo0MjAgYnVpbHRpbi9hbS5jOjQ1NgorIzogYnVpbHRpbi9hbS5jOjE0NjkgYnVpbHRpbi9hbS5jOjIxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IHBow6FwICVzIgogCi0jOiBjb21taXQuYzo0MgorIzogY29tbWl0LmM6NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyEiCiAKLSM6IGNvbW1pdC5jOjE1MTQKKyM6IGNvbW1pdC5jOjE1MTEKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCkBAIC0xMjIwLDE0NCArMTI2MSwxNjQgQEAKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICJo4bq/dCBi4buZIG5o4bubIgogCi0jOiBjb25maWcuYzo1MTgKKyM6IGNvbmZpZy5jOjE4NgorbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlIGNvbmRpdGlvbmFscyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKK21zZ3N0ciAiY8OhYyDEkWnhu4F1IGtp4buHbiBiYW8gZ+G7k20gY+G6pXUgaMOsbmggbGnDqm4gcXVhbiBwaOG6o2kgxJHhur9uIHThu6sgY8OhYyB04bqtcCB0aW4iCisKKyM6IGNvbmZpZy5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAidOG6rXAgdGluIGPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyBibG9iICVzIgogCi0jOiBjb25maWcuYzo1MjIKKyM6IGNvbmZpZy5jOjcyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAiY+G6pXUgaMOsbmggc2FpIHThuqFpIGTDsm5nICVkIHRyb25nIHThuq1wIHRpbiAlcyIKIAotIzogY29uZmlnLmM6NTI2CisjOiBjb25maWcuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJj4bqldSBow6xuaCBzYWkgdOG6oWkgZMOybmcgJWQgdHJvbmcgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogY29uZmlnLmM6NTMwCisjOiBjb25maWcuYzo3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgogbXNnc3RyICJj4bqldSBow6xuaCBzYWkgdOG6oWkgZMOybmcgJWQgdHJvbmcgYmxvYi1tw7QtxJF1bi1jb24gJXMiCiAKLSM6IGNvbmZpZy5jOjUzNAorIzogY29uZmlnLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgImPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyBkw7JuZyBs4buHbmggJXMiCiAKLSM6IGNvbmZpZy5jOjUzOAorIzogY29uZmlnLmM6NzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAiY+G6pXUgaMOsbmggc2FpIHThuqFpIGTDsm5nICVkIHRyb25nICVzIgogCi0jOiBjb25maWcuYzo2NTcKKyM6IGNvbmZpZy5jOjg2OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAibuG6sW0gbmdvw6BpIHBo4bqhbSB2aSIKIAotIzogY29uZmlnLmM6NjU3CisjOiBjb25maWcuYzo4NjgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgIsSRxqFuIHbhu4sga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGNvbmZpZy5jOjY2MworIzogY29uZmlnLmM6ODc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAic2FpIGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EgY+G7p2EgY+G6pXUgaMOsbmgg4oCcJXPigJ0gY2hvIOKAnCVz4oCdOiAlcyIKIAotIzogY29uZmlnLmM6NjY4CisjOiBjb25maWcuYzo4NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCiBtc2dzdHIgInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyBibG9iICVzOiAlcyIKIAotIzogY29uZmlnLmM6NjcxCisjOiBjb25maWcuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiCiBtc2dzdHIgInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyB04bqtcCB0aW4gJXM6ICVzIgogCi0jOiBjb25maWcuYzo2NzQKKyM6IGNvbmZpZy5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCiBtc2dzdHIgIiIKICJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbjogJXMiCiAKLSM6IGNvbmZpZy5jOjY3NworIzogY29uZmlnLmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKIG1zZ3N0ciAiIgogInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjY4MAorIzogY29uZmlnLmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyBkw7JuZyBs4buHbmggJXM6ICVzIgogCi0jOiBjb25maWcuYzo2ODMKKyM6IGNvbmZpZy5jOjg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCiBtc2dzdHIgInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjc3MAorIzogY29uZmlnLmM6OTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIG3hu58gcuG7mW5nIHRoxrAgbeG7pWMgbmfGsOG7nWkgZMO5bmcgdHJvbmc6IOKAnCVz4oCdIgogCi0jOiBjb25maWcuYzo4NjUgY29uZmlnLmM6ODc2CisjOiBjb25maWcuYzoxMDg0IGNvbmZpZy5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm3hu6ljIG7DqW4gemxpYiAlZCBsw6Agc2FpIgogCi0jOiBjb25maWcuYzo5OTMKKyM6IGNvbmZpZy5jOjEyMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgogbXNnc3RyICJjaOG6vyDEkeG7mSBraMO0bmcgaOG7o3AgbOG7hyDEkeG7kWkgduG7m2kgdmnhu4djIHThuqFvIMSR4buRaSB0xrDhu6NuZzogJXMiCiAKLSM6IGNvbmZpZy5jOjExNDkKKyM6IGNvbmZpZy5jOjEzNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm3hu6ljIG7DqW4gZ8OzaSAlZCBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogY29uZmlnLmM6MTMzOQorIzogY29uZmlnLmM6MTU2NAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY+G6pXUgaMOsbmggZMOybmcgbOG7h25oIgogCi0jOiBjb25maWcuYzoxMzg5CisjOiBjb25maWcuYzoxODk0CiBtc2dpZCAidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgogbXNnc3RyICLEkcOjIGPDsyBs4buXaSBjaMawYSBiaeG6v3QgeOG6o3kgcmEgdHJvbmcga2hpIMSR4buNYyBjw6FjIHThuq1wIHRpbiBj4bqldSBow6xuaCIKIAotIzogY29uZmlnLmM6MTc0MworIzogY29uZmlnLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgorbXNnc3RyICIlcyBraMO0bmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCisKKyM6IGNvbmZpZy5jOjIwODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgorbXNnc3RyICIiCisia2jDtG5nIGhp4buDdSBnacOhIHRy4buLIGNvcmUudW50cmFja2VkQ2FjaGUg4oCcJXPigJ07IGTDuW5nIGdpw6EgdHLhu4sgbeG6t2MgxJHhu4tuaCDigJxrZWVw4oCdIgorCisjOiBjb25maWcuYzoyMTExCisjLCBjLWZvcm1hdAorbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKK21zZ3N0ciAiZ2nDoSB0cuG7iyBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2Ug4oCcJWTigJ0gcGjhuqNpIG7hurFtIGdp4buvYSAwIHbDoCAxMDAiCisKKyM6IGNvbmZpZy5jOjIxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2gg4oCcJXPigJ0gdOG7qyBj4bqldSBow6xuaCBkw7JuZyBs4buHbmgiCiAKLSM6IGNvbmZpZy5jOjE3NDUKKyM6IGNvbmZpZy5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyB2YXJpYWJsZSAnJXMnIGluIGZpbGUgJyVzJyBhdCBsaW5lICVkIgogbXNnc3RyICJzYWkgYmnhur9uIGPhuqV1IGjDrG5oIOKAnCVz4oCdIHRyb25nIHThuq1wIHRpbiDigJwlc+KAnSB04bqhaSBkw7JuZyAlZCIKIAotIzogY29uZmlnLmM6MTgwNAorIzogY29uZmlnLmM6MjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIlcyBjw7MgxJFhIGdpw6EgdHLhu4siCiAKLSM6IGNvbmZpZy5jOjIyMjUgY29uZmlnLmM6MjQ1MAorIzogY29uZmlnLmM6MjUxNyBjb25maWcuYzoyNzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiZnN0YXQgdHLDqm4gJXMgZ+G6t3AgbOG7l2kiCiAKLSM6IGNvbmZpZy5jOjIzNDMKKyM6IGNvbmZpZy5jOjI2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG6t3Qg4oCcJXPigJ0gdGjDoG5oIOKAnCVz4oCdIgogCi0jOiBjb25maWcuYzoyMzQ1CisjOiBjb25maWcuYzoyNjM3IGJ1aWx0aW4vcmVtb3RlLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdGjDtGkgxJHhurd0IOKAnCVz4oCdIgogCi0jOiBjb25uZWN0LmM6NDkKKyM6IGNvbm5lY3QuYzo1MAogbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCiBtc2dzdHIgIk3DoXkgY2jhu6cgYuG7iyB0cmVvIHRyw6puIGzhuqduIHRp4bq/cCB4w7pjIMSR4bqndSB0acOqbiIKIAotIzogY29ubmVjdC5jOjUxCisjOiBjb25uZWN0LmM6NTIKIG1zZ2lkICIiCiAiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKICJcbiIKQEAgLTEzNjksNyArMTQzMCw3IEBACiAiVnVpIGzDsm5nIGNo4bqvYyBjaOG6r24gbMOgIGLhuqFuIGPDsyDEkeG7pyB0aOG6qW0gcXV54buBbiB0cnV5IGPhuq1wXG4iCiAidsOgIGtobyBjaOG7qWEgxJHDoyBz4bq1biBjw7MuIgogCi0jOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxOTAgYnVpbHRpbi9wcnVuZS5jOjE0MAorIzogY29ubmVjdGVkLmM6NjMgYnVpbHRpbi9mc2NrLmM6MTkxIGJ1aWx0aW4vcHJ1bmUuYzoxNDEKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCiBtc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEga+G6v3QgbuG7kWkiCiAKQEAgLTEzODUsNyArMTQ0Niw3IEBACiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkcOzbmcgxJHhuqd1IHbDoG8gY2h14bqpbiBzdGRpbiBj4bunYSByZXYtbGlzdCIKIAotIzogY29udmVydC5jOjIwMQorIzogY29udmVydC5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLlxuIgpAQCAtMTM5NCwxMiArMTQ1NSwxMiBAQAogIkNSTEYgc+G6vSBi4buLIHRoYXkgdGjhur8gYuG6sW5nIExGIHRyb25nICVzLlxuIgogIlThuq1wIHRpbiBz4bq9IGPDsyBraeG7g3UgeHXhu5FuZyBkw7JuZyBuaMawIGLhuqNuIGfhu5FjIHRyb25nIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4uIgogCi0jOiBjb252ZXJ0LmM6MjA1CisjOiBjb252ZXJ0LmM6MjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgogbXNnc3RyICJDUkxGIG7Dqm4gxJHGsOG7o2MgdGhheSBi4bqxbmcgTEYgdHJvbmcgJXMuIgogCi0jOiBjb252ZXJ0LmM6MjExCisjOiBjb252ZXJ0LmM6MjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMuXG4iCkBAIC0xNDA4LDY5ICsxNDY5LDY5IEBACiAiTEYgc+G6vSBi4buLIHRoYXkgdGjhur8gYuG6sW5nIENSTEYgdHJvbmcgJXMuXG4iCiAiVOG6rXAgdGluIHPhur0gY8OzIGtp4buDdSB4deG7kW5nIGTDsm5nIG5oxrAgYuG6o24gZ+G7kWMgdHJvbmcgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBj4bunYSBi4bqhbi4iCiAKLSM6IGNvbnZlcnQuYzoyMTUKKyM6IGNvbnZlcnQuYzoyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcyIKIG1zZ3N0ciAiTEYgbsOqbiB0aGF5IGLhurFuZyBDUkxGIHRyb25nICVzIgogCi0jOiBkYXRlLmM6OTcKKyM6IGRhdGUuYzoxMTYKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgotbXNnc3RyICJ0cm9uZyB0xrDGoW5nIGxhaSIKK21zZ3N0ciAi4bufIHRo4budaSB0xrDGoW5nIGxhaSIKIAotIzogZGF0ZS5jOjEwMworIzogZGF0ZS5jOjEyMgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgotbXNnc3RyWzBdICIlbHUgZ2nDonkgdHLGsOG7m2MiCittc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IGdpw6J5IHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTEwCisjOiBkYXRlLmM6MTI5CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBtaW51dGUgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgbWludXRlcyBhZ28iCi1tc2dzdHJbMF0gIiVsdSBwaMO6dCB0csaw4bubYyIKK21zZ2lkICIlPFBSSXVNQVg+IG1pbnV0ZSBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbWludXRlcyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4gcGjDunQgdHLGsOG7m2MiCiAKLSM6IGRhdGUuYzoxMTcKKyM6IGRhdGUuYzoxMzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IGhvdXIgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgotbXNnc3RyWzBdICIlbHUgZ2nhu50gdHLGsOG7m2MiCittc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4gZ2nhu50gdHLGsOG7m2MiCiAKLSM6IGRhdGUuYzoxMjQKKyM6IGRhdGUuYzoxNDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IGRheSBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBkYXlzIGFnbyIKLW1zZ3N0clswXSAiJWx1IG5nw6B5IHRyxrDhu5tjIgorbXNnaWQgIiU8UFJJdU1BWD4gZGF5IGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBkYXlzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiBuZ8OgeSB0csaw4bubYyIKIAotIzogZGF0ZS5jOjEzMAorIzogZGF0ZS5jOjE0OQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgd2VlayBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCi1tc2dzdHJbMF0gIiVsdSB0deG6p24gdHLGsOG7m2MiCittc2dpZCAiJTxQUkl1TUFYPiB3ZWVrIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB3ZWVrcyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4gdHXhuqduIHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTM3CisjOiBkYXRlLmM6MTU2CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBtb250aCBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBtb250aHMgYWdvIgotbXNnc3RyWzBdICIlbHUgdGjDoW5nIHRyxrDhu5tjIgorbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4gdGjDoW5nIHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTQ4CisjOiBkYXRlLmM6MTY3CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSB5ZWFyIgotbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCi1tc2dzdHJbMF0gIiVsdSBuxINtIgorbXNnaWQgIiU8UFJJdU1BWD4geWVhciIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiBuxINtIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE1MQorIzogZGF0ZS5jOjE3MAogIywgYy1mb3JtYXQKLW1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgotbXNnc3RyWzBdICIlcywgJWx1IHRow6FuZyB0csaw4bubYyIKK21zZ2lkICIlcywgJTxQUkl1TUFYPiBtb250aCBhZ28iCittc2dpZF9wbHVyYWwgIiVzLCAlPFBSSXVNQVg+IG1vbnRocyBhZ28iCittc2dzdHJbMF0gIiVzLCAlPFBSSXVNQVg+IHRow6FuZyB0csaw4bubYyIKIAotIzogZGF0ZS5jOjE1NiBkYXRlLmM6MTYxCisjOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHllYXIgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMgYWdvIgotbXNnc3RyWzBdICIlbHUgbsSDbSB0csaw4bubYyIKK21zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiBuxINtIHRyxrDhu5tjIgogCiAjOiBkaWZmY29yZS1vcmRlci5jOjI0CiAjLCBjLWZvcm1hdApAQCAtMTQ4MSwyNyArMTU0MiwyNyBAQAogbXNnaWQgIlBlcmZvcm1pbmcgaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIgogbXNnc3RyICLEkGFuZyB0aOG7sWMgaGnhu4duIGTDsiB0w6xtIMSR4buVaSB0w6puIGtow7RuZyBjaMOtbmggeMOhYyIKIAotIzogZGlmZi5jOjYyCisjOiBkaWZmLmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAidMO5eSBjaOG7jW4g4oCcJXPigJ0gecOqdSBj4bqndSBt4buZdCBnacOhIHRy4buLIgogCi0jOiBkaWZmLmM6MTI0CisjOiBkaWZmLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmFpbGVkIHRvIHBhcnNlIGRpcnN0YXQgY3V0LW9mZiBwZXJjZW50YWdlICclcydcbiIKIG1zZ3N0ciAiICBH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZGlyc3RhdCBj4bqvdCBi4buPIHBo4bqnbiB0csSDbSDigJwlc+KAnVxuIgogCi0jOiBkaWZmLmM6MTI5CisjOiBkaWZmLmM6MTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgS2jDtG5nIGhp4buDdSDEkeG7kWkgc+G7kSBkaXJzdGF0IOKAnCVz4oCdXG4iCiAKLSM6IGRpZmYuYzoyODEKKyM6IGRpZmYuYzoyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIktow7RuZyBoaeG7g3UgZ2nDoSB0cuG7iyBjaG8gYmnhur9uIGPhuqV1IGjDrG5oIOKAnGRpZmYuc3VibW9kdWxl4oCdOiDigJwlc+KAnSIKIAotIzogZGlmZi5jOjM0NAorIzogZGlmZi5jOjM0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTE1MTAsMjAgKzE1NzEsMjAgQEAKICJUw6xtIHRo4bqleSBjw6FjIGzhu5dpIHRyb25nIGJp4bq/biBj4bqldSBow6xuaCDigJxkaWZmLmRpcnN0YXTigJ06XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozMDg1CisjOiBkaWZmLmM6MzEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBkaWZmIGRpZWQsIHN0b3BwaW5nIGF0ICVzIgogbXNnc3RyICJwaOG6p24gbeG7gW0gZGlmZiDhu58gYsOqbiBuZ2/DoGkgxJHDoyBjaOG6v3QsIGThu6tuZyB04bqhaSAlcyIKIAotIzogZGlmZi5jOjM0MTEKKyM6IGRpZmYuYzozNDI3CiBtc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIHbDoCAtcyBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgogCi0jOiBkaWZmLmM6MzUwMQorIzogZGlmZi5jOjM1MTcKIG1zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKIG1zZ3N0ciAiLS1mb2xsb3cgY+G6p24gY2jDrW5oIHjDoWMgbeG7mXQgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIgogCi0jOiBkaWZmLmM6MzY2NAorIzogZGlmZi5jOjM2ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTE1MzIsMjIgKzE1OTMsMjIgQEAKICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggxJHhu5FpIHPhu5EgdMO5eSBjaOG7jW4gLS1kaXJzdGF0Ly1YOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzY3OAorIzogZGlmZi5jOjM2OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCDEkeG7kWkgc+G7kSB0w7l5IGNo4buNbiAtLXN1Ym1vZHVsZTog4oCcJXPigJ0iCiAKLSM6IGRpZmYuYzo0Njk2CisjOiBkaWZmLmM6NDcxNgogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCiAibmjhuq1uIHRo4bqleSDEkeG7lWkgdMOqbiBraMO0bmcgY2jDrW5oIHjDoWMgxJHDoyBi4buLIGLhu48gcXVhIGLhu59pIGPDsyBxdcOhIG5oaeG7gXUgdOG6rXAgdGluLiIKIAotIzogZGlmZi5jOjQ2OTkKKyM6IGRpZmYuYzo0NzE5CiBtc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCiAiY2jhu4kgdMOsbSB0aOG6pXkgY8OhYyBi4bqjbiBzYW8gdOG7qyDEkcaw4budbmcgZOG6q24gxJHDoyBz4butYSDEkeG7lWkgYuG7n2kgdsOsIGPDsyBxdcOhIG5oaeG7gXUgdOG6rXAgdGluLiIKIAotIzogZGlmZi5jOjQ3MDIKKyM6IGRpZmYuYzo0NzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKQEAgLTE1NTUsMjMzICsxNjE2LDI1OSBAQAogImLhuqFuIGPDsyBs4bq9IG114buRbiDEkeG6t3QgYmnhur9uICVzIGPhu6dhIGLhuqFuIHRow6BuaCDDrXQgbmjhuqV0IGzDoCAlZCB2w6AgdGjhu60gbOG6oWkgbOG7h25oIGzhuqduICIKICJu4buvYS4iCiAKLSM6IGRpci5jOjE4NjIKKyM6IGRpci5jOjE5NDgKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHTDqm4gdsOgIHRow7RuZyB0aW4gY+G7p2EgbmjDom4iCiAKLSM6IGRpci5jOjE5ODEKKyM6IGRpci5jOjIwNjcKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24uIgogbXNnc3RyICJC4buZIG5o4bubIHThuqFtIGtow7RuZyB0aGVvIHbhur90IGLhu4sgdOG6r3QgdHLDqm4gaOG7hyB0aOG7kW5nIGhheSB24buLIHRyw60gbsOgeS4iCiAKLSM6IGRpci5jOjI3NTkKKyM6IGRpci5jOjI4NDYgZGlyLmM6Mjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgY2hvICVzIgorCisjOiBkaXIuYzoyODc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtaWdyYXRlIGdpdCBkaXJlY3RvcnkgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkaSBjxrAgdGjGsCBt4bulYyBnaXQgdOG7qyDigJwlc+KAnSBzYW5nIOKAnCVz4oCdIgogCi0jOiBmZXRjaC1wYWNrLmM6MjEzCisjOiBlbnRyeS5jOjI4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aOG7kW5nIGvDqiB04bqtcCB0aW4g4oCcJXPigJ0iCisKKyM6IGZldGNoLXBhY2suYzoyNTEKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogY+G6p24gZGFuaCBzw6FjaCBzaGFsbG93IgogCi0jOiBmZXRjaC1wYWNrLmM6MjI1CisjOiBmZXRjaC1wYWNrLmM6MjYzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBj4bqnbiBBQ0svTkFLLCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjIEVPRiIKIAotIzogZmV0Y2gtcGFjay5jOjI0MworIzogZmV0Y2gtcGFjay5jOjI4MiBidWlsdGluL2FyY2hpdmUuYzo2MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgorbXNnc3RyICJs4buXaSBtw6F5IGNo4bunOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjI4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBj4bqnbiBBQ0svTkFLLCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjIOKAnCVz4oCdIgogCi0jOiBmZXRjaC1wYWNrLmM6Mjk1CisjOiBmZXRjaC1wYWNrLmM6MzM1CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIGPhuqduIG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjM4MQorIzogZmV0Y2gtcGFjay5jOjQyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgImTDsm5nIHNoYWxsb3cga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzg3CisjOiBmZXRjaC1wYWNrLmM6NDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICJkw7JuZyB1bnNoYWxsb3cga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzg5CisjOiBmZXRjaC1wYWNrLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgxJHhu5FpIHTGsOG7o25nOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM5MgorIzogZmV0Y2gtcGFjay5jOjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgogbXNnc3RyICJs4buXaSB0cm9uZyDEkeG7kWkgdMaw4bujbmc6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk0CisjOiBmZXRjaC1wYWNrLmM6NDM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHNoYWxsb3cgZm91bmQ6ICVzIgogbXNnc3RyICJraMO0bmcgdMOsbSBzaGFsbG93IG7DoG86ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk3CisjOiBmZXRjaC1wYWNrLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgImPhuqduIHNoYWxsb3cvdW5zaGFsbG93LCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDM2CisjOiBmZXRjaC1wYWNrLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAibmjhuq1uICVzICVkIC0gJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0NTAKKyM6IGZldGNoLXBhY2suYzo0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gJXMga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGZldGNoLXBhY2suYzo0ODMKKyM6IGZldGNoLXBhY2suYzo1MjMKIG1zZ2lkICJnaXZpbmcgdXAiCiBtc2dzdHIgImNo4buLdSB0aHVhIgogCi0jOiBmZXRjaC1wYWNrLmM6NDkzIHByb2dyZXNzLmM6MjM1CisjOiBmZXRjaC1wYWNrLmM6NTMzIHByb2dyZXNzLmM6MjM3CiBtc2dpZCAiZG9uZSIKIG1zZ3N0ciAieG9uZyIKIAotIzogZmV0Y2gtcGFjay5jOjUwNQorIzogZmV0Y2gtcGFjay5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgKCVkKSAlcyIKIG1zZ3N0ciAibmjhuq1uICVzICglZCkgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo1NTEKKyM6IGZldGNoLXBhY2suYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKIG1zZ3N0ciAixJDDoW5oIGThuqV1ICVzIGzDoCDEkcOjIGhvw6BuIHRow6BuaCIKIAotIzogZmV0Y2gtcGFjay5jOjY5NworIzogZmV0Y2gtcGFjay5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAixJHDoyBz4bq1biBjw7MgJXMgKCVzKSIKIAotIzogZmV0Y2gtcGFjay5jOjczNQorIzogZmV0Y2gtcGFjay5jOjgxMwogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJmZXRjaC1wYWNrOiBraMO0bmcgdGjhu4MgcuG6vSBuaMOhbmggc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIAotIzogZmV0Y2gtcGFjay5jOjc0MworIzogZmV0Y2gtcGFjay5jOjgyMQogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCiBtc2dzdHIgImzhu5dpIGdpYW8gdGjhu6ljOiBwaOG6p24gxJHhuqd1IGfDs2kgYuG7iyBzYWkiCiAKLSM6IGZldGNoLXBhY2suYzo3OTkKKyM6IGZldGNoLXBhY2suYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICJmZXRjaC1wYWNrOiBraMO0bmcgdGjhu4MgcuG6vSBuaMOhbmggJXMiCiAKLSM6IGZldGNoLXBhY2suYzo4MTUKKyM6IGZldGNoLXBhY2suYzo4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZmFpbGVkIgogbXNnc3RyICIlcyBn4bq3cCBs4buXaSIKIAotIzogZmV0Y2gtcGFjay5jOjgxNworIzogZmV0Y2gtcGFjay5jOjg5NQogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImPDsyBs4buXaSB0cm9uZyBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ0CisjOiBmZXRjaC1wYWNrLmM6OTIyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgogbXNnc3RyICJNw6F5IGNo4bunIGtow7RuZyBo4buXIHRy4bujIG3DoXkga2jDoWNoIHNoYWxsb3ciCiAKLSM6IGZldGNoLXBhY2suYzo4NDgKKyM6IGZldGNoLXBhY2suYzo5MjYKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6MgbXVsdGlfYWNrX2RldGFpbGVkIgogCi0jOiBmZXRjaC1wYWNrLmM6ODUxCisjOiBmZXRjaC1wYWNrLmM6OTI5CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCiBtc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBuby1kb25lIgogCi0jOiBmZXRjaC1wYWNrLmM6ODU3CisjOiBmZXRjaC1wYWNrLmM6OTM1CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKIG1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIG11bHRpX2FjayIKIAotIzogZmV0Y2gtcGFjay5jOjg2MQorIzogZmV0Y2gtcGFjay5jOjkzOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgogbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6Mgc2lkZS1iYW5kLTY0ayIKIAotIzogZmV0Y2gtcGFjay5jOjg2NQorIzogZmV0Y2gtcGFjay5jOjk0MwogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiCiBtc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBzaWRlLWJhbmQiCiAKLSM6IGZldGNoLXBhY2suYzo4NjkKKyM6IGZldGNoLXBhY2suYzo5NDcKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCiAKLSM6IGZldGNoLXBhY2suYzo4NzMKKyM6IGZldGNoLXBhY2suYzo5NTEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCiAKLSM6IGZldGNoLXBhY2suYzo4ODMKKyM6IGZldGNoLXBhY2suYzo5NjEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhIgogbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6Mgb2ZzLWRlbHRhIgogCi0jOiBmZXRjaC1wYWNrLmM6ODkwCisjOiBmZXRjaC1wYWNrLmM6OTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCiBtc2dzdHIgIlBoacOqbiBi4bqjbiBtw6F5IGNo4bunIGzDoCAlLipzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODk2CisjOiBmZXRjaC1wYWNrLmM6OTc0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgogbXNnc3RyICJNw6F5IGNo4bunIGtow7RuZyBo4buXIHRy4bujIC0tc2hhbGxvdy1zaW5jZSIKIAotIzogZmV0Y2gtcGFjay5jOjkwMAorIzogZmV0Y2gtcGFjay5jOjk3OAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1leGNsdWRlIgogbXNnc3RyICJNw6F5IGNo4bunIGtow7RuZyBo4buXIHRy4bujIC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTAyCisjOiBmZXRjaC1wYWNrLmM6OTgwCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgIk3DoXkgY2jhu6cga2jDtG5nIGjhu5cgdHLhu6MgLS1kZWVwZW4iCiAKLSM6IGZldGNoLXBhY2suYzo5MTMKKyM6IGZldGNoLXBhY2suYzo5OTEKIG1zZ2lkICJubyBjb21tb24gY29tbWl0cyIKIG1zZ3N0ciAia2jDtG5nIGPDsyBs4bqnbiBjaHV54buDbiBnaWFvIGNodW5nIG7DoG8iCiAKLSM6IGZldGNoLXBhY2suYzo5MjUKKyM6IGZldGNoLXBhY2suYzoxMDAzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBn4bq3cCBs4buXaS4iCiAKLSM6IGZldGNoLXBhY2suYzoxMDg3CisjOiBmZXRjaC1wYWNrLmM6MTE2NQogbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgogbXNnc3RyICJraMO0bmcga2jhu5twIHBo4bqnbiDEkeG6p3UgbcOheSBjaOG7pyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE4NQorIzogZmV0Y2gtcGFjay5jOjExODcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZW1vdGUgcmVmICVzIgorbXNnc3RyICJLaMO0bmcgY8OzIG3DoXkgY2jhu6cgdGhhbSBjaGnhur91IG7DoG8gbmjGsCAlcyIKKworIzogZmV0Y2gtcGFjay5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IGFsbG93IHJlcXVlc3QgZm9yIHVuYWR2ZXJ0aXNlZCBvYmplY3QgJXMiCittc2dzdHIgIiIKKyJNw6F5IHBo4bulYyB24bulIGtow7RuZyBjaG8gcGjDqXAgecOqdSBj4bqndSBjaG8gxJHhu5FpIHTGsOG7o25nIGtow7RuZyDEkcaw4bujYyBiw6FvIHRyxrDhu5tjICVzIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTgxCiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICJncGcgZ+G6t3AgbOG7l2kga2hpIGvDvSBk4buvIGxp4buHdSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIxNQorIzogZ3BnLWludGVyZmFjZS5jOjIxMQogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB04bqtcCB0aW4gdOG6oW0gdGjhu51pIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjE3CisjOiBncGctaW50ZXJmYWNlLmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpIGNo4buvIGvDvSDEkcOtbmgga8OobSB2w6BvIOKAnCVz4oCdIgogCi0jOiBncmFwaC5jOjk2CisjOiBncmFwaC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yZSBpbnZhbGlkIGNvbG9yICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCiBtc2dzdHIgImLhu48gcXVhIG3DoHUga2jDtG5nIGjhu6NwIGzhu4cg4oCcJS4qc+KAnSB0cm9uZyBsb2cuZ3JhcGhDb2xvcnMiCiAKLSM6IGdyZXAuYzoxNzk0CisjOiBncmVwLmM6MTk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAi4oCcJXPigJ06IGtow7RuZyB0aOG7gyDEkeG7jWMgJXMiCiAKLSM6IGdyZXAuYzoxODExIGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODEgYnVpbHRpbi9ybS5jOjEzMworIzogZ3JlcC5jOjE5OTggYnVpbHRpbi9jbG9uZS5jOjQwMyBidWlsdGluL2RpZmYuYzo4MSBidWlsdGluL3JtLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSB0aOG7kW5nIGvDqiB24buBIOKAnCVz4oCdIgogCi0jOiBncmVwLmM6MTgyMgorIzogZ3JlcC5jOjIwMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKIG1zZ3N0ciAi4oCcJXPigJ06IMSR4buNYyBuZ+G6r24iCiAKLSM6IGhlbHAuYzoyMTgKKyM6IGhlbHAuYzoxNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICJjw6FjIGzhu4duaCBnaXQgc+G6tW4gY8OzIHRyb25nIHRoxrAgbeG7pWMg4oCcJXPigJ06IgogCi0jOiBoZWxwLmM6MjI1CisjOiBoZWxwLmM6MTg2CiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICJjw6FjIGzhu4duaCBnaXQgc+G6tW4gY8OzIHThu6sgbeG7mXQgbsahaSBraMOhYyB0cm9uZyAkUEFUSCBj4bunYSBi4bqhbiIKIAotIzogaGVscC5jOjI1NgorIzogaGVscC5jOjIxNwogbXNnaWQgIlRoZXNlIGFyZSBjb21tb24gR2l0IGNvbW1hbmRzIHVzZWQgaW4gdmFyaW91cyBzaXR1YXRpb25zOiIKIG1zZ3N0ciAiQ8OzIGPDoWMgbOG7h25oIEdpdCBjaHVuZyDEkcaw4bujYyBz4butIGThu6VuZyB0cm9uZyBjw6FjIHTDrG5oIGh14buRbmcga2jDoWMgbmhhdToiCiAKLSM6IGhlbHAuYzozMjEKKyM6IGhlbHAuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTE3OTAsMzAgKzE4NzcsNTEgQEAKICLigJwlc+KAnSB0csO0bmcgbmjGsCBsw6AgbeG7mXQgbOG7h25oIGdpdCwgbmjGsG5nIGNow7puZyB0w7RpIGtow7RuZ1xuIgogInRo4buDIHRo4buxYyB0aGkgbsOzLiBDw7MgbOG6vSBsw6AgbOG7h25oIGdpdC0lcyDEkcOjIGLhu4sgaOG7j25nPyIKIAotIzogaGVscC5jOjM3NgorIzogaGVscC5jOjMzNgogbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgogbXNnc3RyICLhu5BpIGNow6AuIEjhu4cgdGjhu5FuZyBj4bunYSBi4bqhbiBiw6FvIHLhurFuZyBjaOG6s25nIGPDsyBs4buHbmggR2l0IG7DoG8gY+G6oy4iCiAKLSM6IGhlbHAuYzozOTgKKyM6IGhlbHAuYzozNTgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKLSJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciCi1tc2dzdHIgIiIKLSJD4bqiTkggQsOBTzogQuG6oW4gxJHDoyBn4buNaSBs4buHbmggR2l0IGPDsyB0w6puIOKAnCVz4oCdLCBtw6AgbsOzIGzhuqFpIGtow7RuZyBjw7Mgc+G6tW4uXG4iCi0iVGnhur9wIHThu6VjIHbDoCBjb2kgcuG6sW5nIMO9IGLhuqFuIGzDoCDigJwlc+KAnSIKK21zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJD4bqiTkggQsOBTzogQuG6oW4gxJHDoyBn4buNaSBs4buHbmggR2l0IGPDsyB0w6puIOKAnCVz4oCdLCBtw6AgbsOzIGzhuqFpIGtow7RuZyBjw7Mgc+G6tW4uIgogCi0jOiBoZWxwLmM6NDAzCisjOiBoZWxwLmM6MzYzCiAjLCBjLWZvcm1hdAotbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKLW1zZ3N0ciAidHJvbmcgJTAuMWYgZ2nDonkgbeG7mXQgY8OhY2ggdOG7sSDEkeG7mW5n4oCmIgorbXNnaWQgIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIlRp4bq/cCB04bulYyB2w6AgY29pIHLhurFuZyDDvSBi4bqhbiBsw6Ag4oCcJXPigJ0uIgogCi0jOiBoZWxwLmM6NDEwCisjOiBoZWxwLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIlRp4bq/cCB04bulYyB0cm9uZyAlMC4xZiBnacOieSx2w6AgY29pIHLhurFuZyDDvSBi4bqhbiBsw6Ag4oCcJXPigJ0uIgorCisjOiBoZWxwLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCiBtc2dzdHIgImdpdDog4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG7h25oIGPhu6dhIGdpdC4gWGVtIOKAnGdpdCAtLWhlbHDigJ0uIgogCi0jOiBoZWxwLmM6NDE0IGhlbHAuYzo0ODAKKyM6IGhlbHAuYzozODAKK21zZ2lkICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgorbXNnaWRfcGx1cmFsICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kcyBhcmUiCittc2dzdHJbMF0gIiIKKyJcbiIKKyJOaOG7r25nIGzhu4duaCBnaeG7kW5nIG5o4bqldCBsw6AiCisKKyM6IGhlbHAuYzozOTUKK21zZ2lkICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHZlcnNpb24gWzxjw6FjLXTDuXktY2jhu41uPl0iCisKKyM6IGhlbHAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIC0gJXMiCittc2dzdHIgIiVzOiAlcyAtICVzIgorCisjOiBoZWxwLmM6NDYwCiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTE4MjQsMTIgKzE5MzIsNyBAQAogIlxuIgogIkPDsyBwaOG6o2kgw70gYuG6oW4gbMOgIG3hu5l0IHRyb25nIHPhu5Egbmjhu69uZyBjw6FpIG7DoHkga2jDtG5nPyIKIAotIzogaGVscC5jOjQ3NgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXMgLSAlcyIKLW1zZ3N0ciAiJXM6ICVzIC0gJXMiCi0KLSM6IGlkZW50LmM6MzM0CisjOiBpZGVudC5jOjM0MgogbXNnaWQgIiIKICJcbiIKICIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCkBAIC0xODU1LDYgKzE5NTgsMzkgQEAKICJC4buPIHTDuXkgY2jhu41uIC0tZ2xvYmFsIG7hur91IGNo4buJIMSR4buLbmggZGFuaCByacOqbmcgY2hvIGtobyBuw6B5LlxuIgogIlxuIgogCisjOiBpZGVudC5jOjM2NgorbXNnaWQgIm5vIGVtYWlsIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCittc2dzdHIgImtow7RuZyDEkcawYSByYSDEkeG7i2EgY2jhu4kgdGjGsCDEkWnhu4duIHThu60gdsOgIGF1dG8tZGV0ZWN0aW9uIGLhu4sgdOG6r3QiCisKKyM6IGlkZW50LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCittc2dzdHIgImtow7RuZyB0aOG7gyB04buxIGTDsiB0w6xtIMSR4buLYSBjaOG7iSB0aMawIMSRaeG7h24gdOG7rSAobmjhuq1uIOKAnCVz4oCdKSIKKworIzogaWRlbnQuYzozODEKK21zZ2lkICJubyBuYW1lIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCittc2dzdHIgImNoxrBhIGNo4buJIHJhIHTDqm4gdsOgIHThu7EtxJHhu5luZy1kw7ItdMOsbSBi4buLIHThuq90IgorCisjOiBpZGVudC5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZMOyLXTDrG0tdOG7sSDEkeG7mW5nIHTDqm4gKMSRw6Mgbmjhuq1uIOKAnCVz4oCdKSIKKworIzogaWRlbnQuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgorbXNnc3RyICJraMO0bmcgY2hvIHBow6lwIHTDqm4gxJHhu4tuaCBkYW5oIGzDoCBy4buXbmcgKGNobyA8JXM+KSIKKworIzogaWRlbnQuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCittc2dzdHIgInTDqm4gY2jhu4kgxJHGsOG7o2MgcGjDqXAgYmFvIGfhu5NtIGPDoWMga8O9IHThu7Egc2F1OiAlcyIKKworIzogaWRlbnQuYzo0MTYgYnVpbHRpbi9jb21taXQuYzo2MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCittc2dzdHIgIm5nw6B5IHRow6FuZyBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTE4ODMsNzggKzIwMTksNzggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgYuG7mSBuaOG7myDEkeG7h20iCiAKLSM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjIwMDAgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9jaGVja291dC5jOjM3NAotIzogYnVpbHRpbi9jaGVja291dC5jOjU4OCBidWlsdGluL2Nsb25lLmM6NzMxCisjOiBtZXJnZS5jOjk2IGJ1aWx0aW4vYW0uYzoxOTgwIGJ1aWx0aW4vYW0uYzoyMDE1IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1OTEgYnVpbHRpbi9jbG9uZS5jOjc1MwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMgbeG7m2kiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEwCiBtc2dpZCAiKGJhZCBjb21taXQpXG4iCiBtc2dzdHIgIihjb21taXQgc2FpKVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzEgbWVyZ2UtcmVjdXJzaXZlLmM6MjM5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzIgbWVyZ2UtcmVjdXJzaXZlLmM6MjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZm9fY2FjaGUgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgImFkZGluZm9fY2FjaGUgZ+G6t3AgbOG7l2kgxJHhu5FpIHbhu5tpIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDQKIG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDonkgZOG7sW5nIGPDonkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqhbyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0lcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzM4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAiR+G7oSBi4buPICVzIMSR4buDIHThuqFvIGNo4buXIChyb29tKSBjaG8gdGjGsCBt4bulYyBjb25cbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzUyIG1lcmdlLXJlY3Vyc2l2ZS5jOjc3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzUzIG1lcmdlLXJlY3Vyc2l2ZS5jOjc3MgogbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCiBtc2dzdHIgIjogY8OzIGzhur0gbMOgIG3hu5l0IHh1bmcgxJHhu5l0IEQvRj8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAidOG7qyBjaOG7kWkgxJHDs25nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgdGhlbyBkw7VpIHThuqFpIOKAnCVz4oCdIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDMgYnVpbHRpbi9jYXQtZmlsZS5jOjM0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDQgYnVpbHRpbi9jYXQtZmlsZS5jOjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIMSR4buRaSB0xrDhu6NuZyAlcyDigJwlc+KAnSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODA1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIGJsb2IgxJHGsOG7o2MgbW9uZyDEkeG7o2kgY2hvICVzIOKAnCVz4oCdIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnOiAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58g4oCcJXPigJ06ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIGxpw6puIGvhur90IG3hu4FtIChzeW1saW5rKSDigJwlc+KAnTogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgcGjhuqNpIGzDoG0gZ8OsIHbhu5tpICUwNm8gJXMg4oCcJXPigJ0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg2CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0aOG7sWMgaGnhu4duIHRy4buZbiBu4buZaSBi4buZIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjDqm0gJXMgdsOgbyBjxqEgc+G7nyBk4buvIGxp4buHdSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4OCBtZXJnZS1yZWN1cnNpdmUuYzoxMTAyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0xOTYzLDcgKzIwOTksMTYgQEAKICJYVU5HIMSQ4buYVCAoJXMveMOzYSk6ICVzIGLhu4sgeMOzYSB0cm9uZyAlcyB2w6AgJXMgdHJvbmcgJXMuIFBoacOqbiBi4bqjbiAlcyBj4bunYSAlcyAiCiAiY8OybiBs4bqhaSB0cm9uZyBjw6J5ICh0cmVlKS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTQgbWVyZ2UtcmVjdXJzaXZlLmM6MTEwNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKKyJsZWZ0IGluIHRyZWUuIgorbXNnc3RyICIiCisiWFVORyDEkOG7mFQgKCVzL3jDs2EpOiAlcyBi4buLIHjDs2EgdHJvbmcgJXMgdsOgICVzIMSR4bq/biAlcyB0cm9uZyAlcy4gUGhpw6puIGLhuqNuICVzICIKKyJj4bunYSAlcyBjw7JuIGzhuqFpIHRyb25nIGPDonkgKHRyZWUpLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMTk3MiwyMCArMjExNywyOSBAQAogIlhVTkcgxJDhu5hUICglcy94w7NhKTogJXMgYuG7iyB4w7NhIHRyb25nICVzIHbDoCAlcyB0cm9uZyAlcy4gUGhpw6puIGLhuqNuICVzIGPhu6dhICVzICIKICJjw7JuIGzhuqFpIHRyb25nIGPDonkgKHRyZWUpIHThuqFpICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKKyJsZWZ0IGluIHRyZWUgYXQgJXMuIgorbXNnc3RyICIiCisiWFVORyDEkOG7mFQgKCVzL3jDs2EpOiAlcyBi4buLIHjDs2EgdHJvbmcgJXMgdsOgICVzIMSR4bq/biAlcyB0cm9uZyAlcy4gUGhpw6puIGLhuqNuICVzICIKKyJj4bunYSAlcyBjw7JuIGzhuqFpIHRyb25nIGPDonkgKHRyZWUpIHThuqFpICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0NAogbXNnaWQgInJlbmFtZSIKIG1zZ3N0ciAixJHhu5VpIHTDqm4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDQKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICLEkcOjIMSR4buVaSB0w6puIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyBsw6AgbeG7mXQgdGjGsCBt4bulYyB0cm9uZyAlcyB0aGF5IHbDoG8gxJHDsyB0aMOqbSB2w6BvIG5oxrAgbMOgICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgpAQCAtMTk5NCwxMzYgKzIxNDgsMTM2IEBACiAiWFVORyDEkOG7mFQgKMSR4buVaS10w6puL8SR4buVaS10w6puKTogxJDhu5VpIHTDqm4gXCIlc1wiLT5cIiVzXCIgdHJvbmcgbmjDoW5oIFwiJXNcIiDEkeG7lWkgIgogInTDqm4gXCIlc1wiLT5cIiVzXCIgdHJvbmcgXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzEKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiAoY+G6p24gZ2nhuqNpIHF1eeG6v3QpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjk5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogIlhVTkcgxJDhu5hUICjEkeG7lWktdMOqbi/EkeG7lWktdMOqbik6IMSQ4buVaSB0w6puICVzLT4lcyB0cm9uZyAlcy4gxJDhu5VpIHTDqm4gJXMtPiVzIHRyb25nICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgogbXNnc3RyICLEkGFuZyDEkeG7lWkgdMOqbiAlcyB0aMOgbmggJXMgdGhheSB2w6wgJXMgdGjDoG5oICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCiBtc2dzdHIgIiIKICJYVU5HIMSQ4buYVCAoxJHhu5VpLXTDqm4vdGjDqm0pOiDEkOG7lWkgdMOqbiAlcy0+JXMgdHJvbmcgJXMuICVzIMSRxrDhu6NjIHRow6ptIHbDoG8gdHJvbmcgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKIG1zZ3N0ciAiVGjDqm0gaMOyYSB0cuG7mW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTcgbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MSBtZXJnZS1yZWN1cnNpdmUuYzoxNzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICJUaGF5IHbDoG8gxJHDsyB0aMOqbSB2w6BvICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyDEkeG7kWkgdMaw4bujbmcgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBibG9iIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgwCiBtc2dpZCAibW9kaWZ5IgogbXNnc3RyICJz4butYSDEkeG7lWkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODAKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAixJHDoyBz4butYSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5MAogbXNnaWQgImNvbnRlbnQiCiBtc2dzdHIgIm7hu5lpIGR1bmciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTcKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICJ0aMOqbS90aMOqbSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcyMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgIsSQw6MgYuG7jyBxdWEgJXMgKMSRw6MgY8OzIHPhurVuIGzhuqduIGjDsmEgdHLhu5luIG7DoHkpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAiVOG7sS3EkeG7mW5nLWjDsmEtdHLhu5luICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQxIGdpdC1zdWJtb2R1bGUuc2g6OTMwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUxIGdpdC1zdWJtb2R1bGUuc2g6OTQ1CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJtw7QtxJF1bi1jb24iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIlhVTkcgxJDhu5hUICglcyk6IFh1bmcgxJHhu5l0IGjDsmEgdHLhu5luIHRyb25nICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODM2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICLEkGFuZyB4w7NhICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODYyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODcyCiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgInThuq1wLXRpbi90aMawLW3hu6VjIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc4CiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgInRoxrAtbeG7pWMvdOG6rXAtdGluIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiWFVORyDEkOG7mFQgKCVzKTog4bueIMSRw6J5IGtow7RuZyBjw7MgdGjGsCBt4bulYyBuw6BvIGPDsyB0w6puICVzIHRyb25nICVzLiBUaMOqbSAlcyBuaMawIGzDoCAiCiAiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4ODMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICJUaMOqbSBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzAKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICLEkMOjIGPhuq1wIG5o4bqtdCBy4buTaSEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICJow7JhIHRy4buZbiBjw6FjIGPDonkgJXMgdsOgICVzIGfhurdwIGzhu5dpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDIyCiBtc2dpZCAiTWVyZ2luZzoiCiBtc2dzdHIgIsSQYW5nIHRy4buZbjoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKIG1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCiBtc2dzdHJbMF0gInTDrG0gdGjhuqV5ICV1IHThu5UgdGnDqm4gY2h1bmc6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDc0CiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICJow7JhIHRy4buZbiBraMO0bmcgdHLhuqMgduG7gSBs4bqnbiBjaHV54buDbiBnaWFvIG7DoG8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMjcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggxJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTQxIGJ1aWx0aW4vbWVyZ2UuYzo2NDUgYnVpbHRpbi9tZXJnZS5jOjc5MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE1MSBidWlsdGluL21lcmdlLmM6NjQ2IGJ1aWx0aW4vbWVyZ2UuYzo3OTMKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGLhuqNuZyBt4bulYyBs4bulYyIKIApAQCAtMjE0NCwyNSArMjI5OCwyNyBAQAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCiBtc2dzdHIgIkLhuqFuIGNoxrBhIGvhur90IHRow7pjIHZp4buHYyBow7JhIHRy4buZbiBnaGkgY2jDuiAoJXMgduG6q24gdOG7k24gdOG6oWkpLiIKIAotIzogbm90ZXMtdXRpbHMuYzo0MQorIzogbm90ZXMtdXRpbHMuYzo0MgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyBjaHV54buDbiBnaWFvIGPDonkgZ2hpIGNow7ogY2jGsGEgxJHGsOG7o2Mga2jhu59pIHThuqFvIGhv4bq3YyBraMO0bmcgxJHGsOG7o2MgdGhhbSAiCiAiY2hp4bq/dSIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDAKKyM6IG5vdGVzLXV0aWxzLmM6MTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiR2nDoSB0cuG7iyBub3Rlcy5yZXdyaXRlTW9kZSBzYWk6IOKAnCVz4oCdIgogCi0jOiBub3Rlcy11dGlscy5jOjExMAorIzogbm90ZXMtdXRpbHMuYzoxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIlThu6sgY2jhu5FpIGdoaSDEkcOoIGdoaSBjaMO6IHRyb25nICVzIChu4bqxbSBuZ2/DoGkgcmVmcy9ub3Rlcy8pIgogCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mIHRoZQotIy4gZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMgaXRzIHZhbHVlCi0jOiBub3Rlcy11dGlscy5jOjEzNworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZgorIy4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzCisjLiBpdHMgdmFsdWUuCisjLgorIzogbm90ZXMtdXRpbHMuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICJHacOhIHRy4buLICVzIHNhaTog4oCcJXPigJ0iCkBAIC0yMTcyLDI4ICsyMzI4LDI5IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCDEkeG7kWkgdMaw4bujbmc6IOKAnCVz4oCdIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTcyCisjOiBwYXJzZS1vcHRpb25zLmM6NTczCiBtc2dpZCAiLi4uIgogbXNnc3RyICLigKYiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1OTAKKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICJjw6FjaCBkw7luZzogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKLSMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjU5NAorIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgorIy4KKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICAgIGhv4bq3YzogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1OTcKKyM6IHBhcnNlLW9wdGlvbnMuYzo2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo2MzEKKyM6IHBhcnNlLW9wdGlvbnMuYzo2MzQKIG1zZ2lkICItTlVNIgogbXNnc3RyICItU+G7kCIKIApAQCAtMjIwMiwxNyArMjM1OSwzNSBAQAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgogbXNnc3RyICJ0w6puIMSR4buRaSB0xrDhu6NuZyBk4buLIGjDrG5oIOKAnCVz4oCdIgogCi0jOiBwYXRoLmM6ODI2CisjOiBwYXRoLmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbMOgbSAlcyDEkcaw4bujYyBnaGkgYuG7n2kgbmjDs20iCiAKLSM6IHBhdGhzcGVjLmM6MTQyCisjOiBwYXRoc3BlYy5jOjEyOQorbXNnaWQgIkVzY2FwZSBjaGFyYWN0ZXIgJ1xcJyBub3QgYWxsb3dlZCBhcyBsYXN0IGNoYXJhY3RlciBpbiBhdHRyIHZhbHVlIgorbXNnc3RyICIiCisiS8O9IHThu7EgdGhvw6F0IGNodeG7l2kg4oCcXFzigJ0ga2jDtG5nIMSRxrDhu6NjIHBow6lwIGzDoCBrw70gdOG7sSBjdeG7kWkgdHJvbmcgZ2nDoSB0cuG7iyB0aHXhu5ljIHTDrW5oIgorCisjOiBwYXRoc3BlYy5jOjE0NworbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKK21zZ3N0ciAiY2jhu4kgY8OzIG3hu5l0IMSR4bq3YyB04bqjIOKAnGF0dHI64oCdIGzDoCDEkcaw4bujYyBwaMOpcC4iCisKKyM6IHBhdGhzcGVjLmM6MTUwCittc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgorbXNnc3RyICLEkeG6t2MgdOG6oyBhdHRyIHBo4bqjaSBraMO0bmcgxJHGsOG7o2MgxJHhu4MgdHLhu5FuZyIKKworIzogcGF0aHNwZWMuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhdHRyaWJ1dGUgbmFtZSAlcyIKK21zZ3N0ciAidMOqbiB0aHXhu5ljIHTDrW5oIGtow7RuZyBo4bujcCBs4buHICVzIgorCisjOiBwYXRoc3BlYy5jOjI1OAogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKICJjw6FjIGPDoGkgxJHhurd0IMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJxnbG9i4oCdIHbDoCDigJxub2dsb2LigJ0gdG/DoG4gY+G7pWMgbMOgIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IHBhdGhzcGVjLmM6MTQ5CisjOiBwYXRoc3BlYy5jOjI2NQogbXNnaWQgIiIKICJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCiAicGF0aHNwZWMgc2V0dGluZ3MiCkBAIC0yMjIwLDUxICsyMzk1LDQ2IEBACiAiY8OgaSDEkeG6t3QgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnGxpdGVyYWzigJ0gdG/DoG4gY+G7pWMgbMOgIHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgY8OgaSDEkeG6t3QgxJHhurdjICIKICJ04bqjIMSRxrDhu51uZyBk4bqrbiB0b8OgbiBj4bulYyBraMOhYyIKIAotIzogcGF0aHNwZWMuYzoxODgKKyM6IHBhdGhzcGVjLmM6MzA1CiBtc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgogbXNnc3RyICJ0aGFtIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgY2hvIOKAnHRp4buBbiB04buR4oCdIG3DoHUgbmhp4buHbSDEkeG6t2MgdOG6oyDEkcaw4budbmcgxJHhuqtuIgogCi0jOiBwYXRoc3BlYy5jOjIwMQorIzogcGF0aHNwZWMuYzozMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKIG1zZ3N0ciAiU+G7kSBtw6B1IG5oaeG7h20gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIGtow7RuZyBo4bujcCBs4buHIOKAnCUuKnPigJ0gdHJvbmcg4oCcJXPigJ0iCiAKLSM6IHBhdGhzcGVjLmM6MjA2CisjOiBwYXRoc3BlYy5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCiBtc2dzdHIgIlRoaeG6v3Ug4oCcKeKAnSB04bqhaSBjdeG7kWkgY+G7p2Egc+G7kSBtw6B1IG5oaeG7h20gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIHRyb25nIOKAnCVz4oCdIgogCi0jOiBwYXRoc3BlYy5jOjIzOAorIzogcGF0aHNwZWMuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCiBtc2dzdHIgIkNoxrBhIHZp4bq/dCBtw6MgY2hvIHPhu5EgbcOgdSBuaGnhu4dtIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJwlY+KAnSB0cm9uZyDigJwlc+KAnSIKIAotIzogcGF0aHNwZWMuYzoyOTMgcGF0aHNwZWMuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgotbXNnc3RyICLEkOG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0gdGjDrCDhu58gdHJvbmcgbcO0LcSRdW4tY29uIOKAnCUuKnPigJ0iCi0KLSM6IHBhdGhzcGVjLmM6MzUwCisjOiBwYXRoc3BlYy5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiJXM6IOKAnGxpdGVyYWzigJ0gdsOgIOKAnGdsb2LigJ0geHVuZyBraOG6r2MgbmhhdSIKIAotIzogcGF0aHNwZWMuYzozNjMKKyM6IHBhdGhzcGVjLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXM6IOKAnCVz4oCdIG5nb8OgaSBt4buZdCBraG8gY2jhu6lhIgogCi0jOiBwYXRoc3BlYy5jOjQ1MQorIzogcGF0aHNwZWMuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyAobW5lbW9uaWM6ICclYycpIgogbXNnc3RyICLigJwlc+KAnSAobW5lbW9uaWM6IOKAnCVj4oCdKSIKIAotIzogcGF0aHNwZWMuYzo0NjEKKyM6IHBhdGhzcGVjLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCiBtc2dzdHIgIiVzOiBz4buRIG3huqd1IG5oaeG7h20gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIGNoxrBhIMSRxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kgbOG7h25oIG7DoHk6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjUxMQorIzogcGF0aHNwZWMuYzo1NzUKIG1zZ2lkICIiCiAiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCiAidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgpAQCAtMjI3MiwyNCArMjQ0MiwxNiBAQAogImNodeG7l2kgcuG7l25nIGzDoG0gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIGtow7RuZyBo4bujcCBs4buHIOG7nyBs4bqnbiBwaMOhdCBow6BuaCBr4bq/IHRp4bq/cC4gVnVpICIKICJsw7JuZyBkw7luZyAuIMSR4buDIHRoYXkgdGjhur8gbuG6v3Ugw70gYuG6oW4gbMOgIGto4bubcCBt4buNaSDEkcaw4budbmcgZOG6q24iCiAKLSM6IHBhdGhzcGVjLmM6NTM1CisjOiBwYXRoc3BlYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIsSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSB2xrDhu6N0IHJhIG5nb8OgaSBsacOqbiBr4bq/dCBt4buBbSIKIAotIzogcGF0aHNwZWMuYzo1NDQKLW1zZ2lkICIiCi0iVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKLSJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgotbXNnc3RyICIiCi0i4bueIMSRw6J5IGtow7RuZyBjw7MgZ8OsIGLhu4sgbG/huqFpIHRy4burIGLhu59pOiBjw6FjIG3huqt1IChsb+G6oWkgdHLhu6spLlxuIgotIkPDsyBs4bq9IGLhuqFuIMSRw6MgcXXDqm4gdGjDqm0gaG/hurdjIGzDoCDigJw6L+KAnSBob+G6t2MgbMOgIOKAnC7igJ0/IgotCi0jOiBwcmV0dHkuYzo5ODIKKyM6IHByZXR0eS5jOjk2MwogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCDEkeG7i25oIGThuqFuZyAtLXByZXR0eSIKIAotIzogcmVhZC1jYWNoZS5jOjEzMDcKKyM6IHJlYWQtY2FjaGUuYzoxNDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMjI5OCw3ICsyNDYwLDcgQEAKICJpbmRleC52ZXJzaW9uIMSRxrDhu6NjIMSR4bq3dCwgbmjGsG5nIGdpw6EgdHLhu4sgY+G7p2EgbsOzIGzhuqFpIGtow7RuZyBo4bujcCBs4buHLlxuIgogIkTDuW5nIHBoacOqbiBi4bqjbiAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjEzMTcKKyM6IHJlYWQtY2FjaGUuYzoxNDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTIzMDcsMjUzICsyNDY5LDM2NyBAQAogIkdJVF9JTkRFWF9WRVJTSU9OIMSRxrDhu6NjIMSR4bq3dCwgbmjGsG5nIGdpw6EgdHLhu4sgY+G7p2EgbsOzIGzhuqFpIGtow7RuZyBo4bujcCBs4buHLlxuIgogIkTDuW5nIHBoacOqbiBi4bqjbiAlaSIKIAotIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQ0CisjOiByZWFkLWNhY2hlLmM6MjMwOCBidWlsdGluL21lcmdlLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyDigJwlc+KAnSIKKworIzogcmVhZC1jYWNoZS5jOjIzODMgc2VxdWVuY2VyLmM6MTM1MyBzZXF1ZW5jZXIuYzoyMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHbhu4Eg4oCcJXPigJ0iCisKKyM6IHJlYWQtY2FjaGUuYzoyMzk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB0aMawIG3hu6VjIGdpdDogJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyNDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgYuG7jyBsacOqbiBr4bq/dCAodW5saW5rKTog4oCcJXPigJ0iCisKKyM6IHJlZnMuYzo2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58g4oCcJXPigJ0gxJHhu4MgZ2hpIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDgxCisjOiByZWZzLmM6MTc2OQorbXNnaWQgInJlZiB1cGRhdGVzIGZvcmJpZGRlbiBpbnNpZGUgcXVhcmFudGluZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiY+G6rXAgbmjhuq10IHRoYW0gY2hp4bq/dSBi4buLIGPhuqVtIHRyb25nIG3DtGkgdHLGsOG7nW5nIGtp4buDbSB0cmEiCisKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgeMOzYSBi4buPIHRoYW0gY2hp4bq/dSAlczogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODQKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjDs2EgYuG7jyB0aGFtIGNoaeG6v3U6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDkzCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxNjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgcmVmZXJlbmNlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ+G7oSBi4buPIHRoYW0gY2hp4bq/dTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo1NgorIzogcmVmLWZpbHRlci5jOjM1IHd0LXN0YXR1cy5jOjE4MTEKK21zZ2lkICJnb25lIgorbXNnc3RyICLEkcOjIHJhIMSRaSIKKworIzogcmVmLWZpbHRlci5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkIgorbXNnc3RyICJwaMOtYSB0csaw4bubYyAlZCIKKworIzogcmVmLWZpbHRlci5jOjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImJlaGluZCAlZCIKK21zZ3N0ciAixJHhurFuZyBzYXUgJWQiCisKKyM6IHJlZi1maWx0ZXIuYzozOAorIywgYy1mb3JtYXQKK21zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkIgorbXNnc3RyICJ0csaw4bubYyAlZCwgc2F1ICVkIgorCisjOiByZWYtZmlsdGVyLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgImPhuqduIMSR4buLbmggZOG6oW5nOiAlJShjb2xvcjo8Y29sb3I+KSIKIAotIzogcmVmLWZpbHRlci5jOjU4CisjOiByZWYtZmlsdGVyLmM6MTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBjb2xvcjogJSUoY29sb3I6JXMpIgogbXNnc3RyICJraMO0bmcgbmjhuq1uIHJhIG3DoHU6ICUlKG3DoHU6JXMpIgogCi0jOiByZWYtZmlsdGVyLmM6NzIKKyM6IHJlZi1maWx0ZXIuYzoxMjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdDogJSUoJXMpIgotbXNnc3RyICJraMO0bmcgbmjhuq1uIHJhIMSR4buLbmggZOG6oW5nOiAlJSglcykiCittc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOmxzdHJpcD0lcyIKK21zZ3N0ciAiR2nDoSB0cuG7iyBuZ3V5w6puIGPhuqduIHTDqm4gdGhhbSBjaGnhur91OmxzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjc4CisjOiByZWYtZmlsdGVyLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCittc2dzdHIgIkdpw6EgdHLhu4sgbmd1ecOqbiBj4bqnbiB0w6puIHRoYW0gY2hp4bq/dTpyc3RyaXA9JXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uICUlKCVzKTogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpIGtow7RuZyBuaOG6rW4gY8OhYyDEkeG7kWkgc+G7kSIKIAotIzogcmVmLWZpbHRlci5jOjg1CisjOiByZWYtZmlsdGVyLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShzdWJqZWN0KSBraMO0bmcgbmjhuq1uIGPDoWMgxJHhu5FpIHPhu5EiCiAKLSM6IHJlZi1maWx0ZXIuYzo5MgorIzogcmVmLWZpbHRlci5jOjE4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlJSh0cmFpbGVycykgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKHRyYWlsZXJzKSBraMO0bmcgbmjhuq1uIGPDoWMgxJHhu5FpIHPhu5EiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTEKKyM6IHJlZi1maWx0ZXIuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCiBtc2dzdHIgImPhuqduIG7hu5lpIGR1bmcgbWFuZyBnacOhIHRy4buLIGTGsMahbmc6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMTMKKyM6IHJlZi1maWx0ZXIuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uICUlKGNvbnRlbnRzKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMjMKKyM6IHJlZi1maWx0ZXIuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKK21zZ3N0ciAiY+G6p24gbuG7mWkgZHVuZyBtYW5nIGdpw6EgdHLhu4sgZMawxqFuZzpzaG90PSVzIgorCisjOiByZWYtZmlsdGVyLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uICUlKG9iamVjdG5hbWUpOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0NQorIzogcmVmLWZpbHRlci5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiBtc2dzdHIgImPhuqduIMSR4buLbmggZOG6oW5nOiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogCi0jOiByZWYtZmlsdGVyLmM6MTU3CisjOiByZWYtZmlsdGVyLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBwb3NpdGlvbjolcyIKIG1zZ3N0ciAiduG7iyB0csOtIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uOiVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTYxCisjOiByZWYtZmlsdGVyLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aWR0aDolcyIKIG1zZ3N0ciAiY2hp4buBdSBy4buZbmcga2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW46JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcKKyM6IHJlZi1maWx0ZXIuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGFsaWduKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uICUlKGFsaWduKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzEKKyM6IHJlZi1maWx0ZXIuYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgd2lkdGggZXhwZWN0ZWQgd2l0aCB0aGUgJSUoYWxpZ24pIGF0b20iCiBtc2dzdHIgImPhuqduIGdpw6EgdHLhu4sgxJHhu5kgcuG7mW5nIGTGsMahbmcgduG7m2kgbmd1ecOqbiB04butICUlKGFsaWduKSIKIAotIzogcmVmLWZpbHRlci5jOjI1NQorIzogcmVmLWZpbHRlci5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoaWYpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW4gJSUoaWYpOiAlcyIKKworIzogcmVmLWZpbHRlci5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAidMOqbiB0csaw4budbmcgZOG7iyBow6xuaDogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjI4MQorIzogcmVmLWZpbHRlci5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgdMOqbiB0csaw4budbmc6ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzozODMKKyM6IHJlZi1maWx0ZXIuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShpZikgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICLEkeG7i25oIGThuqFuZzogbmd1ecOqbiB04butICUlKGlmKSDEkcaw4bujYyBkw7luZyBtw6Aga2jDtG5nIGPDsyBuZ3V5w6puIHThu60gJSUodGhlbikiCisKKyM6IHJlZi1maWx0ZXIuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IG5ndXnDqm4gdOG7rSAlJSh0aGVuKSDEkcaw4bujYyBkw7luZyBtw6Aga2jDtG5nIGPDsyBuZ3V5w6puIHThu60gJSUoaWYpIgorCisjOiByZWYtZmlsdGVyLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLEkeG7i25oIGThuqFuZzogbmd1ecOqbiB04butICUlKHRoZW4pIMSRxrDhu6NjIGTDuW5nIG5oaeG7gXUgaMahbiBt4buZdCBs4bqnbiIKKworIzogcmVmLWZpbHRlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBhZnRlciAlJShlbHNlKSIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IG5ndXnDqm4gdOG7rSAlJSh0aGVuKSDEkcaw4bujYyBkw7luZyBzYXUgJSUoZWxzZSkiCisKKyM6IHJlZi1maWx0ZXIuYzo1OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IG5ndXnDqm4gdOG7rSAlJShlbHNlKSDEkcaw4bujYyBkw7luZyBtw6Aga2jDtG5nIGPDsyBuZ3V5w6puIHThu60gJSUoaWYpIgorCisjOiByZWYtZmlsdGVyLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICLEkeG7i25oIGThuqFuZzogbmd1ecOqbiB04butICUlKGVsc2UpIMSRxrDhu6NjIGTDuW5nIG3DoCBraMO0bmcgY8OzIG5ndXnDqm4gdOG7rSAlJSh0aGVuKSIKKworIzogcmVmLWZpbHRlci5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IG5ndXnDqm4gdOG7rSAlJShlbHNlKSDEkcaw4bujYyBkw7luZyBuaGnhu4F1IGjGoW4gbeG7mXQgbOG6p24iCisKKyM6IHJlZi1maWx0ZXIuYzo2MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gdXNlZCB3aXRob3V0IGNvcnJlc3BvbmRpbmcgYXRvbSIKIG1zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IG5ndXnDqm4gdOG7rSAlJShlbmQpIMSRxrDhu6NjIGTDuW5nIG3DoCBraMO0bmcgY8OzIG5ndXnDqm4gdOG7rSB0xrDGoW5nIOG7qW5nIgogCi0jOiByZWYtZmlsdGVyLmM6NDM1CisjOiByZWYtZmlsdGVyLmM6NjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmb3JtYXQgc3RyaW5nICVzIgogbXNnc3RyICJjaHXhu5dpIMSR4buLbmggZOG6oW5nIGThu4sgaMOsbmggJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo4OTgKLW1zZ2lkICI6c3RyaXA9IHJlcXVpcmVzIGEgcG9zaXRpdmUgaW50ZWdlciBhcmd1bWVudCIKLW1zZ3N0ciAiOnN0cmlwPSBj4bqnbiBt4buZdCDEkeG7kWkgc+G7kSBuZ3V5w6puIGTGsMahbmciCi0KLSM6IHJlZi1maWx0ZXIuYzo5MDMKKyM6IHJlZi1maWx0ZXIuYzoxMjU0CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZiAnJXMnIGRvZXMgbm90IGhhdmUgJWxkIGNvbXBvbmVudHMgdG8gOnN0cmlwIgotbXNnc3RyICJ0aGFtIGNoaeG6v3Ug4oCcJXPigJ0ga2jDtG5nIGPDsyAlbGQgdGjDoG5oIHBo4bqnbiDEkeG7gyBtw6AgOnN0cmlwIgorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKGtow7RuZyBuaMOhbmgsIMSRYW5nIGPhuqNpIHThu5UgJXMpIgogCi0jOiByZWYtZmlsdGVyLmM6MTA2NgorIzogcmVmLWZpbHRlci5jOjEyNTcKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5rbm93biAlLipzIGZvcm1hdCAlcyIKLW1zZ3N0ciAiS2jDtG5nIGhp4buDdSDEkeG7i25oIGThuqFuZyAlLipzICVzIgorbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKK21zZ3N0ciAiKGtow7RuZyBuaMOhbmgsIGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MgxJHGsOG7o2MgYuG6r3QgxJHhuqd1IHThuqFpICVzKSIKIAotIzogcmVmLWZpbHRlci5jOjEwODYgcmVmLWZpbHRlci5jOjExMTcKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCisjLgorIzogcmVmLWZpbHRlci5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgorbXNnc3RyICIoSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04bqhaSAlcykiCisKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKKyMuCisjOiByZWYtZmlsdGVyLmM6MTI3MgorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKK21zZ3N0ciAiKEhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG7qyAlcykiCisKKyM6IHJlZi1maWx0ZXIuYzoxMjc2Cittc2dpZCAiKG5vIGJyYW5jaCkiCittc2dzdHIgIihraMO0bmcgbmjDoW5oKSIKKworIzogcmVmLWZpbHRlci5jOjE0MjYgcmVmLWZpbHRlci5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIgogbXNnc3RyICJ0aGnhur91IMSR4buRaSB0xrDhu6NuZyAlcyBjaG8gJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDg5IHJlZi1maWx0ZXIuYzoxMTIwCisjOiByZWYtZmlsdGVyLmM6MTQyOSByZWYtZmlsdGVyLmM6MTQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgInBhcnNlX29iamVjdF9idWZmZXIgZ+G6t3AgbOG7l2kgdHLDqm4gJXMgY2hvICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTM0MworIzogcmVmLWZpbHRlci5jOjE3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgZOG7iyBow6xuaCB04bqhaSDigJwlc+KAnSIKIAotIzogcmVmLWZpbHRlci5jOjE0MTAKKyM6IHJlZi1maWx0ZXIuYzoxODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICLEkWFuZyBs4budIMSRaSB0aGFtIGNoaeG6v3UgduG7m2kgdMOqbiBo4buPbmcgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDE1CisjOiByZWYtZmlsdGVyLmM6MTgzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICLEkWFuZyBs4budIMSRaSB0aGFtIGNoaeG6v3UgaOG7j25nICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTY3MAorIzogcmVmLWZpbHRlci5jOjIwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IHRoaeG6v3Ugbmd1ecOqbiB04butICUlKGVuZCkiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzM0CisjOiByZWYtZmlsdGVyLmM6MjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgInTDqm4gxJHhu5FpIHTGsOG7o25nIGThu4sgaMOsbmggJXMiCiAKLSM6IHJlbW90ZS5jOjc1NAorIzogcmVtb3RlLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV5IHbhu4EgY+G6oyAlcyB2w6AgJXMgY2hvICVzIgogCi0jOiByZW1vdGUuYzo3NTgKKyM6IHJlbW90ZS5jOjc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgogbXNnc3RyICIlcyB0aMaw4budbmcgdGhlbyBkw7VpICVzLCBraMO0bmcgcGjhuqNpICVzIgogCi0jOiByZW1vdGUuYzo3NjIKKyM6IHJlbW90ZS5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCiBtc2dzdHIgIiVzIHRoZW8gZMO1aSBj4bqjICVzIHbDoCAlcyIKIAotIzogcmVtb3RlLmM6NzcwCisjOiByZW1vdGUuYzo3NjMKIG1zZ2lkICJJbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAiTOG7l2kgbuG7mWkgYuG7mSIKIAotIzogcmVtb3RlLmM6MTY4NSByZW1vdGUuYzoxNzg3CisjOiByZW1vdGUuYzoxNjgwIHJlbW90ZS5jOjE3ODIKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbmjDoW5oIG7DoG8gY+G6oyIKIAotIzogcmVtb3RlLmM6MTY5NAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyBuaMOhbmggbsOgbyBuaMawIHRo4bq/OiDigJwlc+KAnSIKIAotIzogcmVtb3RlLmM6MTY5NworIzogcmVtb3RlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyB0aMaw4bujbmcgbmd14buTbiDEkcaw4bujYyBj4bqldSBow6xuaCBjaG8gbmjDoW5oIOKAnCVz4oCdIgogCi0jOiByZW1vdGUuYzoxNzAzCisjOiByZW1vdGUuYzoxNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAibmjDoW5oIHRoxrDhu6NuZyBuZ3Xhu5NuIOKAnCVz4oCdIGtow7RuZyDEkcaw4bujYyBsxrB1IGzhuqFpIG5oxrAgbMOgIG3hu5l0IG5ow6FuaCB0aGVvIGTDtWkgbcOheSBjaOG7pyIKIAotIzogcmVtb3RlLmM6MTcxOAorIzogcmVtb3RlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAixJHhuql5IGzDqm4gxJHDrWNoIOKAnCVz4oCdIHRyw6puIG3DoXkgY2jhu6cg4oCcJXPigJ0ga2jDtG5nIGPDsyBuaMOhbmggdGhlbyBkw7VpIG7hu5lpIGLhu5kiCiAKLSM6IHJlbW90ZS5jOjE3MzAKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAibmjDoW5oIOKAnCVz4oCdIGtow7RuZyBjw7MgbcOheSBjaOG7pyDEkeG7gyDEkeG6qXkgbMOqbiIKIAotIzogcmVtb3RlLmM6MTc0MQorIzogcmVtb3RlLmM6MTczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIHJlZnNwZWNzIGZvciAnJXMnIGRvIG5vdCBpbmNsdWRlICclcyciCiBtc2dzdHIgIsSR4bqpeSByZWZzcGVjcyBjaG8g4oCcJXPigJ0ga2jDtG5nIGJhbyBn4buTbSDigJwlc+KAnSIKIAotIzogcmVtb3RlLmM6MTc1NAorIzogcmVtb3RlLmM6MTc0OQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKIG1zZ3N0ciAixJHhuql5IGzDqm4gbcOgIGtow7RuZyBjw7MgxJHDrWNoIChwdXNoLmRlZmF1bHQgbMOgIOKAnG5vdGhpbmfigJ0pIgogCi0jOiByZW1vdGUuYzoxNzc2CisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIGdp4bqjaSDEkeG6qXkg4oCcxJHGoW4gZ2nhuqNu4oCdIMSR4bq/biBt4buZdCDEkcOtY2ggxJHGoW4iCiAKLSM6IHJlbW90ZS5jOjIwODEKKyM6IHJlbW90ZS5jOjIwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICIiCiAiTmjDoW5oIGPhu6dhIGLhuqFuIGThu7FhIHRyw6puIGPGoSBz4bufIGzDoCDigJwlc+KAnSwgbmjGsG5nIHRyw6puIHRoxrDhu6NuZyBuZ3Xhu5NuIGtow7RuZyBjw7JuLlxuIgogCi0jOiByZW1vdGUuYzoyMDg1CisjOiByZW1vdGUuYzoyMDgwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgIChkw7luZyBcIiBnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiDEkeG7gyBz4butYSlcbiIKIAotIzogcmVtb3RlLmM6MjA4OAorIzogcmVtb3RlLmM6MjA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKIG1zZ3N0ciAiTmjDoW5oIGPhu6dhIGLhuqFuIMSRw6MgY+G6rXAgbmjhuq10IHbhu5tpIOKAnCVz4oCdLlxuIgogCi0jOiByZW1vdGUuYzoyMDkyCisjOiByZW1vdGUuYzoyMDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIk5ow6FuaCBj4bunYSBi4bqhbiDEkeG7qW5nIHRyxrDhu5tjIOKAnCVz4oCdICVkIGzhuqduIGNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTgKKyM6IHJlbW90ZS5jOjIwOTMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBwdXNoXCIgxJHhu4MgeHXhuqV0IGLhuqNuIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBu4buZaSBi4buZIGPhu6dhIGLhuqFuKVxuIgogCi0jOiByZW1vdGUuYzoyMTAxCisjOiByZW1vdGUuYzoyMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtMjU2MiwxMSArMjgzOCwxMSBAQAogIk5ow6FuaCBj4bunYSBi4bqhbiDEkeG7qW5nIMSR4bqxbmcgc2F1IOKAnCVz4oCdICVkIGzhuqduIGNodXnhu4NuIGdpYW8sIHbDoCBjw7MgdGjhu4MgxJHGsOG7o2MgY2h1eeG7g24tIgogInRp4bq/cC1uaGFuaC5cbiIKIAotIzogcmVtb3RlLmM6MjEwOQorIzogcmVtb3RlLmM6MjEwNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBwdWxsXCIgxJHhu4MgY+G6rXAgbmjhuq10IG5ow6FuaCBu4buZaSBi4buZIGPhu6dhIGLhuqFuKVxuIgogCi0jOiByZW1vdGUuYzoyMTEyCisjOiByZW1vdGUuYzoyMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMjU3OSw0MyArMjg1NSw0OCBAQAogInbDoCBjw7MgJWQgdsOgICVkIGzhuqduIGNodXnhu4NuIGdpYW8ga2jDoWMgbmhhdSBjaG8gdOG7q25nIGPDoWksXG4iCiAidMawxqFuZyDhu6luZyB24bubaSBt4buXaSBs4bqnbi5cbiIKIAotIzogcmVtb3RlLmM6MjEyMgorIzogcmVtb3RlLmM6MjExNwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiIgogIiAgKGTDuW5nIFwiZ2l0IHB1bGxcIiDEkeG7gyBow7JhIHRy4buZbiBuaMOhbmggdHLDqm4gbcOheSBjaOG7pyB2w6BvIHRyb25nIG5ow6FuaCBj4bunYSAiCiAiYuG6oW4pXG4iCiAKLSM6IHJldmlzaW9uLmM6MjE1OAorIzogcmV2aXNpb24uYzoyMTg3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAibmjDoW5oIGhp4buHbiB04bqhaSBj4bunYSBi4bqhbiBjw7MgduG6uyBuaMawIGLhu4sgaOG7j25nIgogCi0jOiByZXZpc2lvbi5jOjIxNjEKKyM6IHJldmlzaW9uLmM6MjE5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgIm5ow6FuaCBoaeG7h24gdOG6oWkgY+G7p2EgYuG6oW4g4oCcJXPigJ0ga2jDtG5nIGPDsyBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIG7DoG8gY+G6oyIKIAotIzogcmV2aXNpb24uYzoyMzU1CisjOiByZXZpc2lvbi5jOjIzODQKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiLS1maXJzdC1wYXJlbnQgeHVuZyBraOG6r2MgduG7m2kgLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTI1CisjOiBydW4tY29tbWFuZC5jOjY0NAogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58g4oCcL2Rldi9udWxs4oCdIgogCi0jOiBydW4tY29tbWFuZC5jOjEyNworIzogc2VuZC1wYWNrLmM6MTUxCiAjLCBjLWZvcm1hdAotbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKLW1zZ3N0ciAiZHVwMiglZCwlZCkgZ+G6t3AgbOG7l2kiCittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIHTDrG5oIHRy4bqhbmcgdW5wYWNrIG3DoXkgY2jhu6c6ICVzIgogCi0jOiBzZW5kLXBhY2suYzoyOTcKKyM6IHNlbmQtcGFjay5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCittc2dzdHIgIm3DoXkgY2jhu6cgZ+G6t3AgbOG7l2kgdW5wYWNrOiAlcyIKKworIzogc2VuZC1wYWNrLmM6MzE2CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBrw70gY2jhu6luZyB0aOG7sWMgxJHhuql5IgogCi0jOiBzZW5kLXBhY2suYzo0MTAKKyM6IHNlbmQtcGFjay5jOjQyOQogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAia+G6v3QgdGjDumMgbmjhuq1uIGtow7RuZyBo4buXIHRy4bujIMSR4bqpeSAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDEyCisjOiBzZW5kLXBhY2suYzo0MzEKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCkBAIC0yNjIzLDMyICsyOTA0LDMyIEBACiAixJHhu6tuZyBn4butaSBnaeG6pXkgY2jhu6luZyBuaOG6rW4gxJHhuql5IHRyxrDhu5tjIGtoaSBr4bq/dCB0aMO6YyBuaOG6rW4ga2jDtG5nIGjhu5cgdHLhu6MgxJHhuql5IC0tIgogInNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDI0CisjOiBzZW5kLXBhY2suYzo0NDMKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgImvhur90IHRow7pjIG5o4bqtbiBraMO0bmcgaOG7lyB0cuG7oyDEkeG6qXkgLS1hdG9taWMiCiAKLSM6IHNlbmQtcGFjay5jOjQyOQorIzogc2VuZC1wYWNrLmM6NDQ4CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCiBtc2dzdHIgImvhur90IHRow7pjIG5o4bqtbiBraMO0bmcgaOG7lyB0cuG7oyBjw6FjIHTDuXkgY2jhu41uIGPhu6dhIGzhu4duaCBwdXNoIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTUKKyM6IHNlcXVlbmNlci5jOjIxNgogbXNnaWQgInJldmVydCIKIG1zZ3N0ciAiaG/DoG4gbmd1ecOqbiIKIAotIzogc2VxdWVuY2VyLmM6MjE3CisjOiBzZXF1ZW5jZXIuYzoyMTgKIG1zZ2lkICJjaGVycnktcGljayIKIG1zZ3N0ciAiY2hlcnJ5LXBpY2siCiAKLSM6IHNlcXVlbmNlci5jOjIxOQorIzogc2VxdWVuY2VyLmM6MjIwCiBtc2dpZCAicmViYXNlIC1pIgogbXNnc3RyICJyZWJhc2UgLWkiCiAKLSM6IHNlcXVlbmNlci5jOjIyMQorIzogc2VxdWVuY2VyLmM6MjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYWN0aW9uOiAlZCIKIG1zZ3N0ciAiS2jDtG5nIG5o4bqtbiByYSB0aGFvIHTDoWM6ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzgKKyM6IHNlcXVlbmNlci5jOjI3OQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtMjY1Niw3ICsyOTM3LDcgQEAKICJzYXUga2hpIGdp4bqjaSBxdXnhur90IGPDoWMgeHVuZyDEkeG7mXQsIMSRw6FuaCBk4bqldSDEkcaw4budbmcgZOG6q24gxJHDoyBz4butYVxuIgogInbhu5tpIGzhu4duaCDigJxnaXQgYWRkIDzEkcaw4budbmdfZOG6q24+4oCdIGhv4bq3YyDigJxnaXQgcm0gPMSRxrDhu51uZ19k4bqrbj7igJ0iCiAKLSM6IHNlcXVlbmNlci5jOjI4MQorIzogc2VxdWVuY2VyLmM6MjgyCiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPidcbiIKQEAgLTI2NjYsNjMgKzI5NDcsNjMgQEAKICJ24bubaSBs4buHbmgg4oCcZ2l0IGFkZCA8xJHGsOG7nW5nX2ThuqtuPuKAnSBob+G6t2Mg4oCcZ2l0IHJtIDzEkcaw4budbmdfZOG6q24+4oCdXG4iCiAidsOgIGNodXnhu4NuIGdpYW8ga+G6v3QgcXXhuqMgYuG6sW5nIGzhu4duaCDigJxnaXQgY29tbWl04oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTQgc2VxdWVuY2VyLmM6MTY2NworIzogc2VxdWVuY2VyLmM6Mjk1IHNlcXVlbmNlci5jOjE2ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvY2sgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGtow7NhIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTcgc2VxdWVuY2VyLmM6MTU0NSBzZXF1ZW5jZXIuYzoxNjcyIHNlcXVlbmNlci5jOjE2ODYKKyM6IHNlcXVlbmNlci5jOjI5OCBzZXF1ZW5jZXIuYzoxNTYzIHNlcXVlbmNlci5jOjE2OTAgc2VxdWVuY2VyLmM6MTcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB2w6BvIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzozMDEKKyM6IHNlcXVlbmNlci5jOjMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgZW9sIHbDoG8g4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjMwNSBzZXF1ZW5jZXIuYzoxNTUwIHNlcXVlbmNlci5jOjE2NzQKKyM6IHNlcXVlbmNlci5jOjMwNiBzZXF1ZW5jZXIuYzoxNTY4IHNlcXVlbmNlci5jOjE2OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcycuIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZmluYWxpemUg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjMyOSBzZXF1ZW5jZXIuYzo4MDggc2VxdWVuY2VyLmM6MTU3MSBidWlsdGluL2FtLmM6MjU5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTAzNgorIzogc2VxdWVuY2VyLmM6MzMwIHNlcXVlbmNlci5jOjgxNyBzZXF1ZW5jZXIuYzoxNTg5IGJ1aWx0aW4vYW0uYzoyNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzUwIGJ1aWx0aW4vbWVyZ2UuYzoxMDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ0uIgogCi0jOiBzZXF1ZW5jZXIuYzozNTUKKyM6IHNlcXVlbmNlci5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICJjw6FjIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5kgY+G7p2EgYuG6oW4gY8OzIHRo4buDIGLhu4sgZ2hpIMSRw6ggYuG7n2kgbOG7h25oICVzLiIKIAotIzogc2VxdWVuY2VyLmM6MzU5CisjOiBzZXF1ZW5jZXIuYzozNjAKIG1zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCiBtc2dzdHIgImNodXnhu4NuIGdpYW8gY8OhYyB0aGF5IMSR4buVaSBj4bunYSBi4bqhbiBoYXkgdOG6oW0gY+G6pXQgKHN0YXNoKSBjaMO6bmcgxJHhu4MgeOG7rSBsw70uIgogCi0jOiBzZXF1ZW5jZXIuYzozODgKKyM6IHNlcXVlbmNlci5jOjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmFzdC1mb3J3YXJkIgogbXNnc3RyICIlczogY2h1eeG7g24tdGnhur9wLW5oYW5oIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiwgImNoZXJyeS1waWNrIiBvcgotIy4gKiAicmViYXNlIC1pIi4KKyMuICJyZWJhc2UgLWkiLgogIy4KLSM6IHNlcXVlbmNlci5jOjQ3MAorIzogc2VxdWVuY2VyLmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVzOiBLaMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaSIKIAotIzogc2VxdWVuY2VyLmM6NDg5CisjOiBzZXF1ZW5jZXIuYzo0OTEKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIGzhuqduIGNodXnhu4NuIGdpYW8gSEVBRFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo1MDkKKyM6IHNlcXVlbmNlci5jOjUxMQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IGPDonkgYuG7mSBuaOG7myDEkeG7h21cbiIKIAotIzogc2VxdWVuY2VyLmM6NTkyCisjOiBzZXF1ZW5jZXIuYzo1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCkBAIC0yNzUxLDE3ICszMDMyLDE3IEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6Njg4CisjOiBzZXF1ZW5jZXIuYzo2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggbOG6p24gY2h1eeG7g24gZ2lhbyAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo2OTMKKyM6IHNlcXVlbmNlci5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggbOG6p24gY2h1eeG7g24gZ2lhbyBjaGEgbeG6uSDigJwlc+KAnVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTUKKyM6IHNlcXVlbmNlci5jOjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5leHBlY3RlZCAxc3QgbGluZSBvZiBzcXVhc2ggbWVzc2FnZTpcbiIKQEAgLTI3NzIsNyArMzA1Myw3IEBACiAiXG4iCiAiXHQlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjEKKyM6IHNlcXVlbmNlci5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW52YWxpZCAxc3QgbGluZSBvZiBzcXVhc2ggbWVzc2FnZTpcbiIKQEAgLTI3ODMsMjMzICszMDY0LDIzMyBAQAogIlxuIgogIlx0JS4qcyIKIAotIzogc2VxdWVuY2VyLmM6ODI3IHNlcXVlbmNlci5jOjg1MgorIzogc2VxdWVuY2VyLmM6ODM2IHNlcXVlbmNlci5jOjg2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCiBtc2dzdHIgIsSQw6J5IGzDoCB04buVIGjhu6NwIGPhu6dhICVkIGzhuqduIGNodXnhu4NuIGdpYW8uIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzYKKyM6IHNlcXVlbmNlci5jOjg0NQogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICJj4bqnbiBt4buZdCBIRUFEIMSR4buDIHPhu61hIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzgKKyM6IHNlcXVlbmNlci5jOjg0NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODQwCisjOiBzZXF1ZW5jZXIuYzo4NDkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgcGjhuqduIGNow7ogdGjDrWNoIChtZXNzYWdlKSBj4bunYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDYKKyM6IHNlcXVlbmNlci5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6ODU1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQorIzogc2VxdWVuY2VyLmM6ODY0IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NQogbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCiBtc2dzdHIgIsSQw6J5IGzDoCBjaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSBuaOG6pXQ6IgogCi0jOiBzZXF1ZW5jZXIuYzo4NjMKKyM6IHNlcXVlbmNlci5jOjg3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZSBvZiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBwaOG6p24gY2jDuiB0aMOtY2ggKG1lc3NhZ2UpIGPhu6dhICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzAKKyM6IHNlcXVlbmNlci5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICLEkMOieSBsw6AgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgIyVkOiIKIAotIzogc2VxdWVuY2VyLmM6ODc1CisjOiBzZXF1ZW5jZXIuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJDaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSAjJWQgc+G6vSBi4buLIGLhu48gcXVhOiIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSBjw6J1IGzhu4duaCAlZCIKIAotIzogc2VxdWVuY2VyLmM6OTQ2CisjOiBzZXF1ZW5jZXIuYzo5NTUKIG1zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICJ04bqtcCB0aW4gbMawdSBt4bulYyBs4bulYyBj4bunYSBi4bqhbiBraMO0bmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo5NjQKKyM6IHNlcXVlbmNlci5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gJXMgbMOgIG3hu5l0IGzhuqduIGjDsmEgdHLhu5luIG5oxrBuZyBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gLW0uIgogCi0jOiBzZXF1ZW5jZXIuYzo5NzIKKyM6IHNlcXVlbmNlci5jOjk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gJXMga2jDtG5nIGPDsyBjaGEgbeG6uSAlZCIKIAotIzogc2VxdWVuY2VyLmM6OTc2CisjOiBzZXF1ZW5jZXIuYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKIG1zZ3N0ciAiIgogImx14buTbmcgY2jDrW5oIMSRw6MgxJHGsOG7o2MgY2jhu4kgcmEgbmjGsG5nIGzhuqduIGNodXnhu4NuIGdpYW8gJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gIgogImjDsmEgdHLhu5luLiIKIAotIzogc2VxdWVuY2VyLmM6OTgyCisjOiBzZXF1ZW5jZXIuYzo5OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBnaGkgY2jDuiBs4bqnbiBjaHV54buDbiBnaWFvIGNobyAlcyIKIAogIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlIGEgInRvZG8iIGNvbW1hbmQgbGlrZQogIy4gInJldmVydCIgb3IgInBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMS4KLSM6IHNlcXVlbmNlci5jOjEwMDEKKyM6IHNlcXVlbmNlci5jOjEwMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGzhuqduIGNodXnhu4NuIGdpYW8gbeG6uSBj4bunYSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA2MyBzZXF1ZW5jZXIuYzoxODEyCisjOiBzZXF1ZW5jZXIuYzoxMDc1IHNlcXVlbmNlci5jOjE4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7lWkgdMOqbiDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjExMTQKKyM6IHNlcXVlbmNlci5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGhvw6BuIG5ndXnDqm4gJXPigKYgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjExMTUKKyM6IHNlcXVlbmNlci5jOjExMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBtaeG6v25nIHbDoSAlc+KApiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTE1NworIzogc2VxdWVuY2VyLmM6MTE2OQogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIHRy4buRbmcgcuG7l25nIMSR4bq3dCBsw6AgaOG7o3AgcXV5IGPDoWNoIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTY3CisjOiBzZXF1ZW5jZXIuYzoxMTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IGfhurdwIGzhu5dpIMSR4buNYyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IHNlcXVlbmNlci5jOjExNzQKKyM6IHNlcXVlbmNlci5jOjExODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogZ+G6t3AgbOG7l2kga2hpIGzDoG0gdMawxqFpIG3hu5tpIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogc2VxdWVuY2VyLmM6MTI5NAorIzogc2VxdWVuY2VyLmM6MTMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgImTDsm5nIGtow7RuZyBo4bujcCBs4buHICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzAyCisjOiBzZXF1ZW5jZXIuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAnJXMnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDigJwlc+KAnSB0aOG7gyBtw6Aga2jDtG5nIGPDsyBs4bqnbiBjaHV54buDbiBnaWFvIGvhur8gdHLGsOG7m2MiCiAKLSM6IHNlcXVlbmNlci5jOjEzMzQKKyM6IHNlcXVlbmNlci5jOjEzNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ0uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQxCisjOiBzZXF1ZW5jZXIuYzoxMzU5CiBtc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgInZ1aSBsw7JuZyBz4butYSBs4buXaSBuw6B5IGLhurFuZyBjw6FjaCBkw7luZyDigJxnaXQgcmViYXNlIC0tZWRpdC10b2Rv4oCdLiIKIAotIzogc2VxdWVuY2VyLmM6MTM0MworIzogc2VxdWVuY2VyLmM6MTM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKIG1zZ3N0ciAiYuG6o25nIGNo4buJIHRo4buLIGtow7RuZyB0aOG7gyBkw7luZyDEkcaw4bujYzogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjEzNDgKKyM6IHNlcXVlbmNlci5jOjEzNjYKIG1zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgImtow7RuZyBjw7MgbOG6p24gY2h1eeG7g24gZ2lhbyBuw6BvIMSRxrDhu6NjIHBow6JuIHTDrWNoLiIKIAotIzogc2VxdWVuY2VyLmM6MTM1OQorIzogc2VxdWVuY2VyLmM6MTM3NwogbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2hlcnJ5LXBpY2sgdHJvbmcga2hpIGhvw6BuIG5ndXnDqm4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxCisjOiBzZXF1ZW5jZXIuYzoxMzc5CiBtc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHZp4buHYyBob8OgbiBuZ3V5w6puIHRyb25nIGtoaSDEkWFuZyBjaGVycnktcGljay4iCiAKLSM6IHNlcXVlbmNlci5jOjE0MjQKKyM6IHNlcXVlbmNlci5jOjE0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJraMOzYSBraMO0bmcgxJHDum5nOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQyNworIzogc2VxdWVuY2VyLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgImdpw6EgdHLhu4sgY2hvICVzIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQ4NAorIzogc2VxdWVuY2VyLmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAiYuG6o25nIHTDuXkgY2jhu41uIGThu4sgaMOsbmg6IOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIyCisjOiBzZXF1ZW5jZXIuYzoxNTQwCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiY8OzIG3hu5l0IHRoYW8gdMOhYyDigJxjaGVycnktcGlja+KAnSBob+G6t2Mg4oCccmV2ZXJ04oCdIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h24iCiAKLSM6IHNlcXVlbmNlci5jOjE1MjMKKyM6IHNlcXVlbmNlci5jOjE1NDEKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJow6N5IHRo4butIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6MTUyNgorIzogc2VxdWVuY2VyLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgeOG6v3AgZMOjeSDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6MTU0MAorIzogc2VxdWVuY2VyLmM6MTU1OAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBraMOzYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTk2IHNlcXVlbmNlci5jOjIxNTAKKyM6IHNlcXVlbmNlci5jOjE2MTQgc2VxdWVuY2VyLmM6MjE4OAogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAia2jDtG5nIGNoZXJyeS1waWNrIGhheSBob8OgbiBuZ3V5w6puIHRyb25nIHRp4bq/biB0csOsbmgiCiAKLSM6IHNlcXVlbmNlci5jOjE1OTgKKyM6IHNlcXVlbmNlci5jOjE2MTYKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MDAgc2VxdWVuY2VyLmM6MTYzNAorIzogc2VxdWVuY2VyLmM6MTYxOCBzZXF1ZW5jZXIuYzoxNjUyCiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBo4buneSBi4buPIHThu6sgbeG7mXQgbmjDoW5oIG3DoCBuw7MgY8OybiBjaMawYSDEkcaw4bujYyB04bqhbyByYSIKIAotIzogc2VxdWVuY2VyLmM6MTYyMCBidWlsdGluL2dyZXAuYzo5MDQKKyM6IHNlcXVlbmNlci5jOjE2MzggYnVpbHRpbi9ncmVwLmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIyCisjOiBzZXF1ZW5jZXIuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTYyMworIzogc2VxdWVuY2VyLmM6MTY0MQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImfhurdwIGvhur90IHRow7pjIHThuq1wIHRpbiDEkeG7mXQgeHXhuqV0IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjI5CisjOiBzZXF1ZW5jZXIuYzoxNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAidOG6rXAgdGluIEhFQUQg4oCccHJlLWNoZXJyeS1waWNr4oCdIMSRw6MgbMawdSDigJwlc+KAnSBi4buLIGjhu49uZyIKIAotIzogc2VxdWVuY2VyLmM6MTY0MAorIzogc2VxdWVuY2VyLmM6MTY1OAogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKIG1zZ3N0ciAiIgogIkLhuqFuIGPDsyBs4bq9IMSRw6MgY8OzIEhFQUQgxJHDoyBi4buLIGRpIGNodXnhu4NuIMSRaSwgS2jDtG5nIHRo4buDIHR1YSwga2nhu4NtIHRyYSBIRUFEIGPhu6dhICIKICJi4bqhbiEiCiAKLSM6IHNlcXVlbmNlci5jOjE3Nzcgc2VxdWVuY2VyLmM6MjA0OQorIzogc2VxdWVuY2VyLmM6MTc5NSBzZXF1ZW5jZXIuYzoyMDg2CiBtc2dpZCAiY2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxODE3IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NzQKKyM6IHNlcXVlbmNlci5jOjE4MzUgYnVpbHRpbi9kaWZmdG9vbC5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaMOpcCDigJwlc+KAnSBzYW5nIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMzCisjOiBzZXF1ZW5jZXIuYzoxODUxCiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBzZXF1ZW5jZXIuYzoxODM4CisjOiBzZXF1ZW5jZXIuYzoxODU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gZmFpbGVkOiAlc1xuIgpAQCAtMzAyNCwxMSArMzMwNSwxMSBAQAogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHNlcXVlbmNlci5jOjE4NDQKKyM6IHNlcXVlbmNlci5jOjE4NjIKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgogbXNnc3RyICJ2w6AgdOG6oW8gY8OhYyB0aGF5IMSR4buVaSBi4bqjbmcgbeG7pWMgbOG7pWMgdsOgL2hheSBjw6J5IGzDoG0gdmnhu4djXG4iCiAKLSM6IHNlcXVlbmNlci5jOjE4NTAKKyM6IHNlcXVlbmNlci5jOjE4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCkBAIC0zMDQ1LDE3ICszMzI2LDE3IEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MTkwNSBnaXQtcmViYXNlLnNoOjE2OAorIzogc2VxdWVuY2VyLmM6MTkyNQogIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCi1tc2dzdHIgIsSQw6Mgw6FwIGThu6VuZyBhdXRvc3Rhc2guIgorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLlxuIgorbXNnc3RyICLEkMOjIMOhcCBk4bulbmcgYXV0b3N0YXNoLlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE3CisjOiBzZXF1ZW5jZXIuYzoxOTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4butIGzGsHUg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjE5MTkgZ2l0LXJlYmFzZS5zaDoxNzIKKyM6IHNlcXVlbmNlci5jOjE5NDAgZ2l0LXJlYmFzZS5zaDoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCkBAIC0zMDY3LDU3ICszMzQ4LDU3IEBACiAiQuG6oW4gY8OzIHRo4buDIGNo4bqheSBs4buHbmggXCJnaXQgc3Rhc2ggcG9wXCIgaGF5IFwiZ2l0IHN0YXNoIGRyb3BcIiBi4bqldCBr4buzIGzDumMgIgogIm7DoG8uXG4iCiAKLSM6IHNlcXVlbmNlci5jOjIwMDAKKyM6IHNlcXVlbmNlci5jOjIwMjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAic3RvcHBlZCBhdCAlcy4uLiAlLipzIgotbXNnc3RyICJk4burbmcgbOG6oWkg4bufICVz4oCmICUuKnMiCittc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgorbXNnc3RyICJE4burbmcgbOG6oWkg4bufICVz4oCmICAlLipzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjIwMjcKKyM6IHNlcXVlbmNlci5jOjIwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kICVkIgogbXNnc3RyICJraMO0bmcgaGnhu4N1IGPDonUgbOG7h25oICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDU3CisjOiBzZXF1ZW5jZXIuYzoyMDk0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIG9yaWctaGVhZCIKIAotIzogc2VxdWVuY2VyLmM6MjA2MQorIzogc2VxdWVuY2VyLmM6MjA5OQogbXNnaWQgImNvdWxkIG5vdCByZWFkICdvbnRvJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyDigJxvbnRv4oCdLiIKIAotIzogc2VxdWVuY2VyLmM6MjA2OAorIzogc2VxdWVuY2VyLmM6MjEwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDc1CisjOiBzZXF1ZW5jZXIuYzoyMTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgSEVBRCB0byAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBIRUFEIHRow6BuaCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjE1OQorIzogc2VxdWVuY2VyLmM6MjE5NwogbXNnaWQgImNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6o2kgdOG7lTogQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgxJHGsGEgbMOqbiBi4buHIHBow7NuZy4iCiAKLSM6IHNlcXVlbmNlci5jOjIxNjQKKyM6IHNlcXVlbmNlci5jOjIyMDIKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB4w7NhIGLhu48gQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjE3MworIzogc2VxdWVuY2VyLmM6MjIxMQogbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgdHUgYuG7jyBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyB04buTbiB04bqhaSIKIAotIzogc2VxdWVuY2VyLmM6MjE3NQorIzogc2VxdWVuY2VyLmM6MjIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGZpbGU6ICclcyciCiBtc2dzdHIgInThuq1wIHRpbiBraMO0bmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjIxNzcKKyM6IHNlcXVlbmNlci5jOjIyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAibuG7mWkgZHVuZyBraMO0bmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjIxODAKKyM6IHNlcXVlbmNlci5jOjIyMTgKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgpAQCAtMzEyNywyNSArMzQwOCwyNSBAQAogIkLhuqFuIGPDsyBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIGNodXnhu4NuIGdpYW8gdHJvbmcgdGjGsCBt4bulYyBsw6BtIHZp4buHYy4gVnVpIGzDsm5nXG4iCiAiY2h1eeG7g24gZ2lhbyBjaMO6bmcgdHLGsOG7m2MgdsOgIHNhdSDEkcOzIGNo4bqheSBs4buHbmgg4oCcZ2l0IHJlYmFzZSAtLWNvbnRpbnVl4oCdIGzhuqduIG7hu69hLiIKIAotIzogc2VxdWVuY2VyLmM6MjE5MAorIzogc2VxdWVuY2VyLmM6MjIyOAogbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIMSRw6MgxJHGsGEgbMOqbiBi4buHIHBow7NuZy4iCiAKLSM6IHNlcXVlbmNlci5jOjIyNzAKKyM6IHNlcXVlbmNlci5jOjIzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgY2hlcnJ5LXBpY2sgbeG7mXQgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIyNzQKKyM6IHNlcXVlbmNlci5jOjIzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IMSRaeG7g20geMOpdCBkdXnhu4d0IHNhaSIKIAotIzogc2VxdWVuY2VyLmM6MjMwNworIzogc2VxdWVuY2VyLmM6MjM0NQogbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGhvw6BuIG5ndXnDqm4gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyBraOG7n2kgdOG6oW8iCiAKLSM6IHNldHVwLmM6MTYwCisjOiBzZXR1cC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtMzE1NSw3ICszNDM2LDcgQEAKICJEw7luZyDigJxnaXQgPGzhu4duaD4gLS0gPMSRxrDhu51uZy9k4bqrbj7igKbigJ0gxJHhu4MgY2jhu4kgxJHhu4tuaCDEkcaw4budbmcgZOG6q24gbcOgIG7DsyBraMO0bmcgdOG7k24gdOG6oWkgIgogIm3hu5l0IGPDoWNoIG7hu5lpIGLhu5kuIgogCi0jOiBzZXR1cC5jOjE3MworIzogc2V0dXAuYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC0zMTY3LDcgKzM0NDgsNyBAQAogIkTDuW5nIOKAnC0t4oCdIMSR4buDIG5nxINuIGPDoWNoIGPDoWMgxJHGsOG7nW5nIGThuqtuIGto4buPaSDEkWnhu4NtIHhlbSB4w6l0LCBuaMawIHRo4bq/IG7DoHk6XG4iCiAi4oCcZ2l0IDxs4buHbmg+IFs8xJFp4buDbSB4ZW0geMOpdD7igKZdIC0tIFs8dOG6rXAgdGluPuKApl3igJ0iCiAKLSM6IHNldHVwLmM6MjIzCisjOiBzZXR1cC5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCkBAIC0zMTc4LDI5ICszNDU5LDM0IEBACiAiRMO5bmcg4oCcLS3igJ0gxJHhu4MgbmfEg24gY8OhY2ggY8OhYyDEkcaw4budbmcgZOG6q24ga2jhu49pIMSRaeG7g20geGVtIHjDqXQsIG5oxrAgdGjhur8gbsOgeTpcbiIKICLigJxnaXQgPGzhu4duaD4gWzzEkWnhu4NtIHhlbSB4w6l0PuKApl0gLS0gWzx04bqtcCB0aW4+4oCmXeKAnSIKIAotIzogc2V0dXAuYzo0NzAKKyM6IHNldHVwLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGVkIGdpdCByZXBvIHZlcnNpb24gPD0gJWQsIGZvdW5kICVkIgogbXNnc3RyICJD4bqnbiBwaGnDqm4gYuG6o24ga2hvIGdpdCA8PSAlZCwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyAlZCIKIAotIzogc2V0dXAuYzo0NzgKKyM6IHNldHVwLmM6NTEyCiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICJ0w6xtIHRo4bqleSBwaOG6p24gbeG7nyBy4buZbmcga2hvIGNoxrBhIGJp4bq/dDoiCiAKLSM6IHNldHVwLmM6NzY4CisjOiBzZXR1cC5jOjgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSBsw6Aga2hvIGdpdCAoaG/hurdjIGLhuqV0IGvhu7MgdGjGsCBt4bulYyBjaGEgbeG6uSBuw6BvKTogJXMiCiAKLSM6IHNldHVwLmM6NzcwIHNldHVwLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKKyM6IHNldHVwLmM6ODEyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTIKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHF1YXkgbOG6oWkgY3dkIgogCi0jOiBzZXR1cC5jOjg1MgorIzogc2V0dXAuYzoxMDUwCiBtc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGhp4buHbiBow6BuaCIKIAotIzogc2V0dXAuYzo5MjcKKyM6IHNldHVwLmM6MTA2MiBzZXR1cC5jOjEwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMnIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gc2FuZyDigJwlc+KAnSIKKworIzogc2V0dXAuYzoxMDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKQEAgLTMyMTAsMTIgKzM0OTYsNyBAQAogIkThu6tuZyB04bqhaSBiacOqbiBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIGNoxrBhICIKICLEkeG6t3QpLiIKIAotIzogc2V0dXAuYzo5MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMvLi4nIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gc2FuZyDigJwlcy8uLuKAnSIKLQotIzogc2V0dXAuYzo5OTYKKyM6IHNldHVwLmM6MTE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAoMCUuM28pLlxuIgpAQCAtMzIyNCw1NiArMzUwNSw1NiBAQAogIkfhurdwIHbhuqVuIMSR4buBIHbhu5tpIGfDrWEgdHLhu4sgY2jhur8gxJHhu5kgdOG6rXAgdGluIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAoMCUuM28pLlxuIgogIm5nxrDhu51pIHPhu58gaOG7r3UgdOG6rXAgdGluIHBo4bqjaSBsdcO0biBjw7MgcXV54buBbiDEkeG7jWMgdsOgIGdoaS4iCiAKLSM6IHNoYTFfZmlsZS5jOjQ5MAorIzogc2hhMV9maWxlLmM6NTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyB04buTbiB04bqhaSIKIAotIzogc2hhMV9maWxlLmM6NTE2CisjOiBzaGExX2ZpbGUuYzo1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0gbmjGsCBsw6AgbOG6pXkgcmEgbGnDqm4ga+G6v3QgduG6q24gY2jGsGEgxJHGsOG7o2MgaOG7lyB0cuG7oy4iCiAKLSM6IHNoYTFfZmlsZS5jOjUyMgorIzogc2hhMV9maWxlLmM6NTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQga2hvIG7hu5lpIGLhu5kuIgogCi0jOiBzaGExX2ZpbGUuYzo1MjgKKyM6IHNoYTFfZmlsZS5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0gbMOgIG7DtG5nIgogCi0jOiBzaGExX2ZpbGUuYzo1MzYKKyM6IHNoYTFfZmlsZS5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0gYuG7iyBj4bqleSBnaMOpcCIKIAotIzogc2hhMV9maWxlLmM6MTE3NgorIzogc2hhMV9maWxlLmM6MTI0NQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICJ24buLIHRyw60gdMawxqFuZyDEkeG7kWkgdHLGsOG7m2MgxJFp4buDbSBr4bq/dCB0aMO6YyBj4bunYSB04bqtcCB0aW4gZ8OzaSAoLmlkeCBo4buPbmcgw6A/KSIKIAotIzogc2hhMV9maWxlLmM6MjYzNworIzogc2hhMV9maWxlLmM6MjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgInbhu4sgdHLDrSB0xrDGoW5nIMSR4buRaSBu4bqxbSB0csaw4bubYyBjaOG7iSBt4bulYyBnw7NpIGNobyAlcyAobeG7pWMgbOG7pWMgYuG7iyBo4buPbmcgw6A/KSIKIAotIzogc2hhMV9maWxlLmM6MjY0MQorIzogc2hhMV9maWxlLmM6MjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIiIKICJ24buLIHRyw60gdMawxqFuZyDEkeG7kWkgdsaw4bujdCBxdcOhIGN14buRaSBj4bunYSBjaOG7iSBt4bulYyBnw7NpIGNobyAlcyAobeG7pWMgbOG7pWMgYuG7iyBj4bqvdCBj4buldCDDoD8pIgogCi0jOiBzaGExX25hbWUuYzo0MDcKKyM6IHNoYTFfbmFtZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAidMOzbSBsxrDhu6NjIFNIQTEgJXMgY2jGsGEgcsO1IHLDoG5nIgogCi0jOiBzaGExX25hbWUuYzo0MTgKKyM6IHNoYTFfbmFtZS5jOjQzMAogbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCiBtc2dzdHIgIkPDoWMg4bupbmcgY+G7rSBsw6A6IgogCi0jOiBzaGExX25hbWUuYzo1NzgKKyM6IHNoYTFfbmFtZS5jOjU4OQogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTMyOTcsNDYgKzM1NzgsNjYgQEAKICJuw6B5XG4iCiAiYuG6sW5nIGPDoWNoIGNo4bqheSBs4buHbmggXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiIgogCi0jOiBzdWJtb2R1bGUuYzo2NSBzdWJtb2R1bGUuYzo5OQorIzogc3VibW9kdWxlLmM6NzAgc3VibW9kdWxlLmM6MTA0CiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgdGhheSDEkeG7lWkgLmdpdG1vZHVsZXMgY2jGsGEgaMOyYSB0cuG7mW4sIGjDo3kgZ2nhuqNpIHF1eeG6v3QgeHVuZyDEkeG7mXQgdHLhu5luICIKICJ0csaw4bubYyIKIAotIzogc3VibW9kdWxlLmM6Njkgc3VibW9kdWxlLmM6MTAzCisjOiBzdWJtb2R1bGUuYzo3NCBzdWJtb2R1bGUuYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgcGjhuqduIHRyb25nIC5naXRtb2R1bGVzIG7GoWkgbcOgIMSRxrDhu51uZ19k4bqrbj0lcyIKIAotIzogc3VibW9kdWxlLmM6NzcKKyM6IHN1Ym1vZHVsZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgbeG7pWMgLmdpdG1vZHVsZXMgJXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjExMAorIzogc3VibW9kdWxlLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIG3hu6VjIC5naXRtb2R1bGVzIGTDoG5oIGNobyAlcyIKIAotIzogc3VibW9kdWxlLmM6MTIxCisjOiBzdWJtb2R1bGUuYzoxMjYKIG1zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG7lSBjaOG7qWMgLmdpdG1vZHVsZXMgxJHDoyBj4bqtcCBuaOG6rXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1OQorIzogc3VibW9kdWxlLmM6MTY1CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICJraMO0bmcgY2hvIHBow6lwIGdpw6EgdHLhu4sgw6JtIOG7nyBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogCi0jOiBzdWJtb2R1bGUuYzoxMTg0CisjOiBzdWJtb2R1bGUuYzozNzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzIGluIHN1Ym1vZHVsZSAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4Mga2jhu59pIGNo4bqheSDigJxnaXQgc3RhdHVzIHRyb25nIG3DtC3EkXVuLWNvbiBjaG8g4oCcJXPigJ0iCittc2dpZCAiaW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlICclcyciCittc2dzdHIgIlRyb25nIG3DtC3EkXVuLWNvbiBraMO0bmcgY8OzIGfDrCDigJwlc+KAnSIKIAotIzogc3VibW9kdWxlLmM6MTE5NworIzogc3VibW9kdWxlLmM6NDA3CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciCi1tc2dzdHIgImtow7RuZyB0aOG7gyBjaOG6oXkg4oCcZ2l0IHN0YXR1cyB0cm9uZyBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICLEkOG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0gdGjDrCDhu58gdHJvbmcgbcO0LcSRdW4tY29uIOKAnCUuKnPigJ0iCiAKLSM6IHN1Ym1vZHVsZS5jOjEzOTgKKyM6IHN1Ym1vZHVsZS5jOjEzMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBub3QgcmVjb2duaXplZCBhcyBhIGdpdCByZXBvc2l0b3J5IgorbXNnc3RyICJraMO0bmcgbmjhuq1uIHJhIOKAnCVz4oCdIGzDoCBt4buZdCBraG8gZ2l0IgorCisjOiBzdWJtb2R1bGUuYzoxNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aOG7kW5nIGvDqiDigJxnaXQgc3RhdHVz4oCdIHRyb25nIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKKworIzogc3VibW9kdWxlLmM6MTQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGNo4bqheSDigJxnaXQgc3RhdHVz4oCdIHRyb25nIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKKworIzogc3VibW9kdWxlLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBoYXMgZGlydHkgaW5kZXgiCittc2dzdHIgIm3DtC3EkXVuLWNvbiDigJwlc+KAnSBjw7MgbeG7pWMgbOG7pWMgY8OybiBi4bqpbiIKKworIzogc3VibW9kdWxlLmM6MTg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKQEAgLTMzNDQsMTggKzM2NDUsMTggQEAKICJyZWxvY2F0ZV9naXRkaXIgY2hvIG3DtC3EkXVuLWNvbiDigJwlc+KAnSB24bubaSBuaGnhu4F1IGjGoW4gbeG7mXQgY8OieSBsw6BtIHZp4buHYyBsw6AgY2jGsGEgIgogIsSRxrDhu6NjIGjhu5cgdHLhu6MiCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MTAgc3VibW9kdWxlLmM6MTQ3MQorIzogc3VibW9kdWxlLmM6MTg1NyBzdWJtb2R1bGUuYzoxOTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgbmFtZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSB0w6puIGNobyBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MTQgc3VibW9kdWxlLmM6MTQ3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUwCisjOiBzdWJtb2R1bGUuYzoxODYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMg4oCcJXPigJ0iCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MjAKKyM6IHN1Ym1vZHVsZS5jOjE4NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk1pZ3JhdGluZyBnaXQgZGlyZWN0b3J5IG9mICclcyVzJyBmcm9tXG4iCkBAIC0zMzY2LDgxICszNjY3LDk0IEBACiAi4oCcJXPigJ0gc2FuZ1xuIgogIuKAnCVz4oCdXG4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE1MTIKKyM6IHN1Ym1vZHVsZS5jOjE5NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buHIHF1eSB2w6BvIHRyb25nIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM2MAorIzogc3VibW9kdWxlLmM6MTk5MgorbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSBscy1maWxlcyB0cm9uZyAuLiIKKworIzogc3VibW9kdWxlLmM6MjAxMgorbXNnaWQgIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IgorbXNnc3RyICJM4buWSTogdHLhuqMgduG7gSBjaHXhu5dpIMSRxrDhu51uZyBk4bqrbiBraMO0bmcga2jhu5twIGN3ZD8iCisKKyM6IHN1Ym1vZHVsZS5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAibHMtdHJlZSByZXR1cm5lZCB1bmV4cGVjdGVkIHJldHVybiBjb2RlICVkIgorbXNnc3RyICJscy10cmVlIHRy4bqjIHbhu4EgbcOjIGtow7RuZyBuaMawIG1vbmcgxJHhu6NpICVkIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICJnacOhIHRy4buLIGNobyAlcyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogdHJhaWxlci5jOjI0MAorIzogdHJhaWxlci5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5uaW5nIHRyYWlsZXIgY29tbWFuZCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiY2jhuqF5IGzhu4duaCBrw6lvIHRoZW8g4oCcJXPigJ0gZ+G6t3AgbOG7l2kiCiAKLSM6IHRyYWlsZXIuYzo0NzMgdHJhaWxlci5jOjQ3NyB0cmFpbGVyLmM6NDgxIHRyYWlsZXIuYzo1MzUgdHJhaWxlci5jOjUzOQotIzogdHJhaWxlci5jOjU0MworIzogdHJhaWxlci5jOjQ3NCB0cmFpbGVyLmM6NDc4IHRyYWlsZXIuYzo0ODIgdHJhaWxlci5jOjUzNiB0cmFpbGVyLmM6NTQwCisjOiB0cmFpbGVyLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgZ2nDoSB0cuG7iyDigJwlc+KAnSBjaG8ga2jDs2Eg4oCcJXPigJ0iCiAKLSM6IHRyYWlsZXIuYzo1MjUgdHJhaWxlci5jOjUzMCBidWlsdGluL3JlbW90ZS5jOjI4OQorIzogdHJhaWxlci5jOjUyNiB0cmFpbGVyLmM6NTMxIGJ1aWx0aW4vcmVtb3RlLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCiBtc2dzdHIgIm5oaeG7gXUgaMahbiBt4buZdCAlcyIKIAotIzogdHJhaWxlci5jOjcwMgorIzogdHJhaWxlci5jOjcwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIgogbXNnc3RyICJ0aOG6uyB0aOG7q2EgdHLhu5FuZyBy4buXbmcgdHJvbmcgcGjhuqduIHRo4burYSDigJwlLipz4oCdIgogCi0jOiB0cmFpbGVyLmM6NzIyCisjOiB0cmFpbGVyLmM6NzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGlucHV0IGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIMSR4buNYyDEkcaw4bujYyB04bqtcCB0aW4gxJHhuqd1IHbDoG8g4oCcJXPigJ0iCiAKLSM6IHRyYWlsZXIuYzo3MjUKKyM6IHRyYWlsZXIuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogdHJhaWxlci5jOjk0OSBidWlsdGluL2FtLmM6NDQKKyM6IHRyYWlsZXIuYzo5NTAgYnVpbHRpbi9hbS5jOjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBICVzIgogCi0jOiB0cmFpbGVyLmM6OTUxCisjOiB0cmFpbGVyLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICJcIiVzXCIga2jDtG5nIHBo4bqjaSBsw6AgdOG6rXAgdGluIGLDrG5oIHRoxrDhu51uZyIKIAotIzogdHJhaWxlci5jOjk1MworIzogdHJhaWxlci5jOjk1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCB3cml0YWJsZSBieSB1c2VyIgogbXNnc3RyICJ04bqtcCB0aW4gJXMgbmfGsOG7nWkgZMO5bmcga2jDtG5nIHRo4buDIGdoaSDEkcaw4bujYyIKIAotIzogdHJhaWxlci5jOjk2NQorIzogdHJhaWxlci5jOjk2NgogbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdOG6rXAgdGluIHThuqFtIHRo4budaSIKIAotIzogdHJhaWxlci5jOjEwMDEKKyM6IHRyYWlsZXIuYzoxMDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7lWkgdMOqbiB04bqtcCB0aW4gdOG6oW0gdGjhu51pIHRow6BuaCAlcyIKIAotIzogdHJhbnNwb3J0LmM6NjIKKyM6IHRyYW5zcG9ydC5jOjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhurd0IHRoxrDhu6NuZyBuZ3Xhu5NuIGPhu6dhIOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnSBj4bunYSDigJwlc+KAnVxuIgogCi0jOiB0cmFuc3BvcnQuYzoxNTEKKyM6IHRyYW5zcG9ydC5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCiBtc2dzdHIgInbhuq1uIGNodXnhu4NuOiB0w7l5IGNo4buNbiDEkeG7mSBzw6J1IOKAnCVz4oCdIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiB0cmFuc3BvcnQuYzo4ODUKKyM6IHRyYW5zcG9ydC5jOjg5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCkBAIC0zNDQ5LDcgKzM3NjMsNyBAQAogIkPDoWMgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiBzYXUgxJHDonkgY8OzIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIGPDoWkgbcOgXG4iCiAiY8OzIHRo4buDIMSRxrDhu6NjIHTDrG0gdGjhuqV5IHRyw6puIG3hu41pIG3DoXkgcGjhu6VjIHbhu6U6XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjg4OQorIzogdHJhbnNwb3J0LmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTM0NzYsMTEgKzM3OTAsMTEgQEAKICLEkeG7gyDEkeG6qXkgY2jDum5nIGzDqm4gbcOheSBwaOG7pWMgduG7pS5cbiIKICJcbiIKIAotIzogdHJhbnNwb3J0LmM6ODk3CisjOiB0cmFuc3BvcnQuYzo5MDIKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIkLDo2kgYuG7jy4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDgyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgdGhhbSBjaGnhur91ICVzIgpAQCAtMzUwMSw3ICszODE1LDcgQEAKIG1zZ2lkICJ0b28tc2hvcnQgdHJlZSBmaWxlIgogbXNnc3RyICJ04bqtcCB0aW4gY8OieSBxdcOhIG5n4bqvbiIKIAotIzogdW5wYWNrLXRyZWVzLmM6OTkKKyM6IHVucGFjay10cmVlcy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNTEyLDcgKzM4MjYsNyBAQAogIiUlc1Z1aSBsw7JuZyBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgaGF5IHThuqFtIGPhuqV0IGNow7puZyDEkWkgdHLGsOG7m2Mga2hpIGLhuqFuICIKICJjaHV54buDbiBuaMOhbmguIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDEKKyM6IHVucGFjay10cmVlcy5jOjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNTIyLDcgKzM4MzYsNyBAQAogImNoZWNrb3V0OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA0CisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzUzMyw3ICszODQ3LDcgQEAKICIlJXNWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIGhheSB04bqhbSBj4bqldCBjaMO6bmcgxJFpIHRyxrDhu5tjIGtoaSBi4bqhbiBow7JhICIKICJ0cuG7mW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDYKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNTQzLDcgKzM4NTcsNyBAQAogImjDsmEgdHLhu5luOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTA5CisjOiB1bnBhY2stdHJlZXMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzU1Myw3ICszODY3LDcgQEAKICIlczpcbiIKICIlJXNWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIGhheSB04bqhbSBj4bqldCBjaMO6bmcgxJFpIHRyxrDhu5tjIGtoaSBi4bqhbiAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjExMQorIzogdW5wYWNrLXRyZWVzLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTM1NjMsNyArMzg3Nyw3IEBACiAiJXM6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTYKKyM6IHVucGFjay10cmVlcy5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtMzU3Myw3ICszODg3LDcgQEAKICJ0cm9uZyBuw7M6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMAorIzogdW5wYWNrLXRyZWVzLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTM1ODMsNyArMzg5Nyw3IEBACiAiY2hlY2tvdXQ6XG4iCiAiJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBjaHV54buDbiBuaMOhbmguIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjIKKyM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNTkzLDcgKzM5MDcsNyBAQAogImNoZWNrb3V0OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI1CisjOiB1bnBhY2stdHJlZXMuYzoxMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtMzYwMyw3ICszOTE3LDcgQEAKICJ0cuG7mW46XG4iCiAiJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBow7JhIHRy4buZbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNworIzogdW5wYWNrLXRyZWVzLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTM2MTMsNyArMzkyNyw3IEBACiAidHLhu5luOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTMwCisjOiB1bnBhY2stdHJlZXMuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtMzYyMiw3ICszOTM2LDcgQEAKICJDw6FjIHThuq1wIHRpbiBjw6J5IGzDoG0gdmnhu4djIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBzYXUgxJHDonkgc+G6vSBi4buLIGfhu6EgYuG7jyBi4bufaSAlczpcbiIKICIlJXNWdWkgbMOybmcgZGkgY2h1eeG7g24gaGF5IGfhu6EgYuG7jyBjaMO6bmcgdHLGsOG7m2Mga2hpIGLhuqFuICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTMyCisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtMzYzMSw3ICszOTQ1LDcgQEAKICJDw6FjIHThuq1wIHRpbiBjw6J5IGzDoG0gdmnhu4djIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBzYXUgxJHDonkgc+G6vSBi4buLIGfhu6EgYuG7jyBi4bufaSAlczpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzNworIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtMzY0Miw3ICszOTU2LDcgQEAKICJjaGVja291dDpcbiIKICIlJXNWdWkgbMOybmcgZGkgY2h1eeG7g24gaGF5IGfhu6EgYuG7jyBjaMO6bmcgdHLGsOG7m2Mga2hpIGLhuqFuIGNodXnhu4NuIG5ow6FuaC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEzOQorIzogdW5wYWNrLXRyZWVzLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtMzY1Myw3ICszOTY3LDcgQEAKICJjaGVja291dDpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MgorIzogdW5wYWNrLXRyZWVzLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zNjYzLDcgKzM5NzcsNyBAQAogImjDsmEgdHLhu5luOlxuIgogIiUlc1Z1aSBsw7JuZyBkaSBjaHV54buDbiBoYXkgZ+G7oSBi4buPIGNow7puZyB0csaw4bubYyBraGkgYuG6oW4gaMOyYSB0cuG7mW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDQKKyM6IHVucGFjay10cmVlcy5jOjE1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzY3Myw3ICszOTg3LDcgQEAKICJow7JhIHRy4buZbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NworIzogdW5wYWNrLXRyZWVzLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC0zNjgzLDcgKzM5OTcsNyBAQAogIiVzOlxuIgogIiUlc1Z1aSBsw7JuZyBkaSBjaHV54buDbiBoYXkgZ+G7oSBi4buPIGNow7puZyB0csaw4bubYyBraGkgYuG6oW4gJXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDkKKyM6IHVucGFjay10cmVlcy5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzY5MywxMiArNDAwNywxMiBAQAogIiVzOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU2CisjOiB1bnBhY2stdHJlZXMuYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRW50cnkgJyVzJyBvdmVybGFwcyB3aXRoICclcycuICBDYW5ub3QgYmluZC4iCiBtc2dzdHIgIk3hu6VjIOKAnCVz4oCdIMSRw6ggbMOqbiDigJwlc+KAnS4gS2jDtG5nIHRo4buDIGJ14buZYy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE1OQorIzogdW5wYWNrLXRyZWVzLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHNwYXJzZSBjaGVja291dDogdGhlIGZvbGxvd2luZyBlbnRyaWVzIGFyZSBub3QgdXAtdG8tZGF0ZTpcbiIKQEAgLTM3MDcsNyArNDAyMSw3IEBACiAiS2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBjaGVja291dCBy4bqjaSByw6FjOiBjw6FjIG3hu6VjIHRpbiBzYXUgxJHDonkgY2jGsGEgY+G6rXAgbmjhuq10OlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNjEKKyM6IHVucGFjay10cmVlcy5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTM3MTgsNyArNDAzMiw3IEBACiAibmjhuq10IGNoZWNrb3V0IHLhuqNpIHLDoWM6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC0zNzI5LDIyOSArNDA0MywyNDggQEAKICJuaOG6rXQgY2hlY2tvdXQgcuG6o2kgcsOhYzpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjQwCisjOiB1bnBhY2stdHJlZXMuYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCB1cGRhdGUgc3VibW9kdWxlOlxuIgorIiVzIgorbXNnc3RyICIiCisiS2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBtw7QtxJF1bi1jb246XG4iCisiJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjI0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZ1xuIgogbXNnc3RyICJCw6NpIGLhu49cbiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjcwCisjOiB1bnBhY2stdHJlZXMuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlIHVwZGF0ZSBzdHJhdGVneSBub3Qgc3VwcG9ydGVkIGZvciBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIGPhuq1wIG5o4bqtdCBtw7QtxJF1bi1jb24ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgY2hvIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKKworIzogdW5wYWNrLXRyZWVzLmM6MzQ2CiBtc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgogbXNnc3RyICLEkGFuZyBs4bqleSByYSBjw6FjIHThuq1wIHRpbiIKIAotIzogdXJsbWF0Y2guYzoxMjAKKyM6IHVybG1hdGNoLmM6MTYzCiBtc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCiBtc2dzdHIgInTDqm4gbMaw4bujYyDEkeG7kyBVUkwga2jDtG5nIGjhu6NwIGzhu4csIGhv4bq3YyB0aGnhur91IGjhuq11IHThu5Eg4oCcOi8v4oCdIgogCi0jOiB1cmxtYXRjaC5jOjE0NCB1cmxtYXRjaC5jOjI5NyB1cmxtYXRjaC5jOjM1NgorIzogdXJsbWF0Y2guYzoxODcgdXJsbWF0Y2guYzozNDYgdXJsbWF0Y2guYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgogbXNnc3RyICJ0aG/DoXQgY2h14buXaSAlWFgga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHVybG1hdGNoLmM6MTcyCisjOiB1cmxtYXRjaC5jOjIxNQogbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgogbXNnc3RyICJ0aGnhur91IG3DoXkgY2jhu6cgdsOgIGzGsOG7o2MgxJHhu5MgdGjDrCBraMO0bmcgcGjhuqNpIGzDoCBnaWFvIHRo4bupYyDigJxmaWxlOuKAnSIKIAotIzogdXJsbWF0Y2guYzoxODkKKyM6IHVybG1hdGNoLmM6MjMyCiBtc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKIG1zZ3N0ciAiVVJMIGtp4buDdSDigJxmaWxlOuKAnSBraMO0bmcgxJHGsOG7o2MgY2jhu6lhIGPhu5VuZyIKIAotIzogdXJsbWF0Y2guYzoxOTkKKyM6IHVybG1hdGNoLmM6MjQ3CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKIG1zZ3N0ciAiY8OzIGPDoWMga8O9IHThu7Ega2jDtG5nIGjhu6NwIGzhu4cgdHJvbmcgdMOqbiBtw6F5IgogCi0jOiB1cmxtYXRjaC5jOjI0NCB1cmxtYXRjaC5jOjI1NQorIzogdXJsbWF0Y2guYzoyOTIgdXJsbWF0Y2guYzozMDMKIG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIgogbXNnc3RyICJ0w6puIGPhu5VuZyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogdXJsbWF0Y2guYzozMjIKKyM6IHVybG1hdGNoLmM6MzcxCiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAixJFv4bqhbiDEkcaw4budbmcgZOG6q24g4oCcLi7igJ0ga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHdvcmt0cmVlLmM6MjgyCisjOiB3b3JrdHJlZS5jOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIOKAnCVz4oCdIgogCi0jOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozOTIKKyM6IHdyYXBwZXIuYzoyMjMgd3JhcHBlci5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyDigJwlc+KAnSDEkeG7gyDEkeG7jWMgdsOgIGdoaSIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKKyM6IHdyYXBwZXIuYzoyMjUgd3JhcHBlci5jOjM5NSBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIGdoaSIKIAotIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzk2IGJ1aWx0aW4vYW0uYzozMjAgYnVpbHRpbi9hbS5jOjc1OQotIzogYnVpbHRpbi9hbS5jOjg0NyBidWlsdGluL2NvbW1pdC5jOjE3MDAgYnVpbHRpbi9tZXJnZS5jOjEwMzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjM0MQorIzogd3JhcHBlci5jOjIyNyB3cmFwcGVyLmM6Mzk3IGJ1aWx0aW4vYW0uYzozMTkgYnVpbHRpbi9hbS5jOjc1NworIzogYnVpbHRpbi9hbS5jOjg0OSBidWlsdGluL21lcmdlLmM6MTAxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyDigJwlc+KAnSDEkeG7gyDEkeG7jWMiCiAKLSM6IHdyYXBwZXIuYzo2MDUgd3JhcHBlci5jOjYyNgorIzogd3JhcHBlci5jOjQyNCB3cmFwcGVyLmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAg4oCcJXPigJ0iCiAKLSM6IHdyYXBwZXIuYzo2MzQKKyM6IHdyYXBwZXIuYzo2MzIKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGhp4buHbiBow6BuaCIKIAotIzogd3JhcHBlci5jOjY1OAorIzogd3JhcHBlci5jOjY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdsOgbyAlcyIKIAotIzogd3JhcHBlci5jOjY2MAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MQorIzogd3Qtc3RhdHVzLmM6MTUyCiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICJOaOG7r25nIMSRxrDhu51uZyBk4bqrbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKKyM6IHd0LXN0YXR1cy5jOjE3OSB3dC1zdGF0dXMuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCByZXNldCAlcyA8dOG6rXAtdGluPuKAplwiIMSR4buDIGLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nKSIKIAotIzogd3Qtc3RhdHVzLmM6MTgwIHd0LXN0YXR1cy5jOjIwNworIzogd3Qtc3RhdHVzLmM6MTgxIHd0LXN0YXR1cy5jOjIwOAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcm0gLS1jYWNoZWQgPHThuq1wLXRpbj7igKZcIiDEkeG7gyBi4buPIHJhIGto4buPaSBi4buHIHBow7NuZykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NAorIzogd3Qtc3RhdHVzLmM6MTg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBhZGQgPHThuq1wLXRpbj7igKZcIiDEkeG7gyDEkcOhbmggZOG6pXUgbMOgIGPhuqduIGdp4bqjaSBxdXnhur90KSIKIAotIzogd3Qtc3RhdHVzLmM6MTg2IHd0LXN0YXR1cy5jOjE5MAorIzogd3Qtc3RhdHVzLmM6MTg3IHd0LXN0YXR1cy5jOjE5MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGTDuW5nIFwiZ2l0IGFkZC9ybSA8dOG6rXAtdGluPuKAplwiIG5oxrAgbMOgIG3hu5l0IGPDoWNoIHRow61jaCBo4bujcCDEkeG7gyDEkcOhbmggZOG6pXUgbMOgICIKICJj4bqnbiDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OAorIzogd3Qtc3RhdHVzLmM6MTg5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJtIDx04bqtcC10aW4+4oCmXCIgxJHhu4MgxJHDoW5oIGThuqV1IGzDoCBj4bqnbiBnaeG6o2kgcXV54bq/dCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKKyM6IHd0LXN0YXR1cy5jOjIwMCB3dC1zdGF0dXMuYzo5ODEKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIk5o4buvbmcgdGhheSDEkeG7lWkgc+G6vSDEkcaw4bujYyBjaHV54buDbiBnaWFvOiIKIAotIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAorIzogd3Qtc3RhdHVzLmM6MjE4IHd0LXN0YXR1cy5jOjk5MAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiQ8OhYyB0aGF5IMSR4buVaSBjaMawYSDEkcaw4bujYyDEkeG6t3QgbMOqbiBi4buHIHBow7NuZyDEkeG7gyBjaHV54buDbiBnaWFvOiIKIAotIzogd3Qtc3RhdHVzLmM6MjIxCisjOiB3dC1zdGF0dXMuYzoyMjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYWRkIDx04bqtcC10aW4+4oCmXCIgxJHhu4MgY+G6rXAgbmjhuq10IG5o4buvbmcgZ8OsIHPhur0gY2h1eeG7g24gZ2lhbykiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMworIzogd3Qtc3RhdHVzLmM6MjI0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBhZGQvcm0gPHThuq1wLXRpbj7igKZcIiDEkeG7gyBj4bqtcCBuaOG6rXQgbmjhu69uZyBnw6wgc+G6vSDEkcaw4bujYyBjaHV54buDbiBnaWFvKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI0CisjOiB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBjaGVja291dCAtLSA8dOG6rXAtdGluPuKAplwiIMSR4buDIGxv4bqhaSBi4buPIGPDoWMgdGhheSDEkeG7lWkgdHJvbmcgdGjGsCBt4bulYyAiCiAibMOgbSB2aeG7h2MpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjYKKyM6IHd0LXN0YXR1cy5jOjIyNwogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiIgogIiAgKGNodXnhu4NuIGdpYW8gaG/hurdjIGzDoCBsb+G6oWkgYuG7jyBjw6FjIG7hu5lpIGR1bmcgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIGhheSDEkcOjIHPhu61hICIKICJjaOG7r2EgdHJvbmcgbcO0LcSRdW4tY29uKSIKIAotIzogd3Qtc3RhdHVzLmM6MjM4CisjOiB3dC1zdGF0dXMuYzoyMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCAlcyA8dOG6rXAtdGluPuKAplwiIMSR4buDIHRow6ptIHbDoG8gbmjhu69uZyBnw6wgY+G6p24gxJHGsOG7o2MgY2h1eeG7g24gZ2lhbykiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjU0CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiYuG7iyB4w7NhIGLhu59pIGPhuqMgaGFpOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU1CisjOiB3dC1zdGF0dXMuYzoyNTYKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgIsSRxrDhu6NjIHRow6ptIHbDoG8gYuG7n2kgY2jDum5nIHRhOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU3CisjOiB3dC1zdGF0dXMuYzoyNTgKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJi4buLIHjDs2EgxJFpIGLhu59pIGjhu406IgogCi0jOiB3dC1zdGF0dXMuYzoyNTkKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICLEkcaw4bujYyB0aMOqbSB2w6BvIGLhu59pIGjhu406IgogCi0jOiB3dC1zdGF0dXMuYzoyNjEKKyM6IHd0LXN0YXR1cy5jOjI2MgogbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgogbXNnc3RyICJi4buLIHjDs2EgYuG7n2kgY2jDum5nIHRhOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYzCisjOiB3dC1zdGF0dXMuYzoyNjQKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAixJHGsOG7o2MgdGjDqm0gdsOgbyBi4bufaSBj4bqjIGhhaToiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NQorIzogd3Qtc3RhdHVzLmM6MjY2CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgImLhu4sgc+G7rWEgYuG7n2kgY+G6oyBoYWk6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzUKKyM6IHd0LXN0YXR1cy5jOjI3NgogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAidOG6rXAgdGluIG3hu5tpOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc3CisjOiB3dC1zdGF0dXMuYzoyNzgKIG1zZ2lkICJjb3BpZWQ6IgogbXNnc3RyICLEkcOjIGNow6lwOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc5CisjOiB3dC1zdGF0dXMuYzoyODAKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAixJHDoyB4w7NhOiIKIAotIzogd3Qtc3RhdHVzLmM6MjgxCisjOiB3dC1zdGF0dXMuYzoyODIKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgIsSRw6Mgc+G7rWE6IgogCi0jOiB3dC1zdGF0dXMuYzoyODMKKyM6IHd0LXN0YXR1cy5jOjI4NAogbXNnaWQgInJlbmFtZWQ6IgogbXNnc3RyICLEkcOjIMSR4buVaSB0w6puOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg1CisjOiB3dC1zdGF0dXMuYzoyODYKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAixJHhu5VpLWtp4buDdToiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NworIzogd3Qtc3RhdHVzLmM6Mjg4CiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgImtow7RuZyBoaeG7g3U6IgogCi0jOiB3dC1zdGF0dXMuYzoyODkKKyM6IHd0LXN0YXR1cy5jOjI5MAogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAiY2jGsGEgaMOyYSB0cuG7mW46IgogCi0jOiB3dC1zdGF0dXMuYzozNzEKKyM6IHd0LXN0YXR1cy5jOjM3MgogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gbeG7m2ksICIKIAotIzogd3Qtc3RhdHVzLmM6MzczCisjOiB3dC1zdGF0dXMuYzozNzQKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgIm7hu5lpIGR1bmcgYuG7iyBz4butYSDEkeG7lWksICIKIAotIzogd3Qtc3RhdHVzLmM6Mzc1CisjOiB3dC1zdGF0dXMuYzozNzYKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJu4buZaSBkdW5nIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSwgIgogCi0jOiB3dC1zdGF0dXMuYzo4MTgKKyM6IHd0LXN0YXR1cy5jOjgyMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cnkiCittc2dpZF9wbHVyYWwgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyaWVzIgorbXNnc3RyWzBdICJC4bqhbiBoaeG7h24gbmF5IOG7nyB0cm9uZyBwaOG6p24gY+G6pXQgxJFpIMSRYW5nIGPDsyAlZCBt4bulYyIKKworIzogd3Qtc3RhdHVzLmM6ODUzCiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgIk5o4buvbmcgbcO0LcSRdW4tY29uIMSRw6MgYuG7iyB0aGF5IMSR4buVaSBuaMawbmcgY2jGsGEgxJHGsOG7o2MgY+G6rXAgbmjhuq10OiIKIAotIzogd3Qtc3RhdHVzLmM6ODIwCisjOiB3dC1zdGF0dXMuYzo4NTUKIG1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICJOaOG7r25nIG3DtC3EkXVuLWNvbiB0aGF5IMSR4buVaSDEkcOjIMSRxrDhu6NjIGNodXnhu4NuIGdpYW86IgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjkzNwogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgpAQCAtMzk1OSwxMDkgKzQyOTIsMTA5IEBACiAiS2jDtG5nIMSR4buZbmcgxJHhur9uIMSRxrDhu51uZyDhu58gdHLDqm4uXG4iCiAiTeG7jWkgdGjhu6kgcGjDrWEgZMaw4bubaSBz4bq9IMSRxrDhu6NjIHjDs2EgYuG7jy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTMKKyM6IHd0LXN0YXR1cy5jOjEwNDkKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIkLhuqFuIGPDsyBuaOG7r25nIMSRxrDhu51uZyBk4bqrbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTYKKyM6IHd0LXN0YXR1cy5jOjEwNTIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHLhu5NpIGNo4bqheSBcImdpdCBjb21taXRcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMTgKKyM6IHd0LXN0YXR1cy5jOjEwNTQKIG1zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiDEkeG7gyBiw6NpIGLhu48gdmnhu4djIGjDsmEgdHLhu5luKSIKIAotIzogd3Qtc3RhdHVzLmM6MTAyMworIzogd3Qtc3RhdHVzLmM6MTA1OQogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90IG5oxrBuZyBi4bqhbiB24bqrbiDEkWFuZyBow7JhIHRy4buZbi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMjYKKyM6IHd0LXN0YXR1cy5jOjEwNjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBjb21taXRcIiDEkeG7gyBob8OgbiB04bqldCB2aeG7h2MgaMOyYSB0cuG7mW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMDM2CisjOiB3dC1zdGF0dXMuYzoxMDcyCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJC4bqhbiDEkWFuZyDhu58gZ2nhu69hIGPhu6dhIG3hu5l0IHBoacOqbiDigJxhbeKAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzkKKyM6IHd0LXN0YXR1cy5jOjEwNzUKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIk1p4bq/bmcgdsOhIGhp4buHbiB04bqhaSBi4buLIHRy4buRbmcgcuG7l25nLiIKIAotIzogd3Qtc3RhdHVzLmM6MTA0MworIzogd3Qtc3RhdHVzLmM6MTA3OQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgdsOgIHNhdSDEkcOzIGNo4bqheSBs4buHbmggXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NQorIzogd3Qtc3RhdHVzLmM6MTA4MQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBhbSAtLXNraXBcIiDEkeG7gyBi4buPIHF1YSBtaeG6v25nIHbDoSBuw6B5KSIKIAotIzogd3Qtc3RhdHVzLmM6MTA0NworIzogd3Qtc3RhdHVzLmM6MTA4MwogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYW0gLS1hYm9ydFwiIMSR4buDIHBo4bulYyBo4buTaSBs4bqhaSBuaMOhbmggbmd1ecOqbiB0aOG7p3kpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc2CisjOiB3dC1zdGF0dXMuYzoxMjE0CiBtc2dpZCAiZ2l0LXJlYmFzZS10b2RvIGlzIG1pc3NpbmcuIgogbXNnc3RyICJ0aGnhur91IGdpdC1yZWJhc2UtdG9kbyIKIAotIzogd3Qtc3RhdHVzLmM6MTE3OAorIzogd3Qtc3RhdHVzLmM6MTIxNgogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICJLaMO0bmcgdGjhu7FjIGhp4buHbiBs4buHbmggbsOgby4iCiAKLSM6IHd0LXN0YXR1cy5jOjExODEKKyM6IHd0LXN0YXR1cy5jOjEyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGFzdCBjb21tYW5kIGRvbmUgKCVkIGNvbW1hbmQgZG9uZSk6IgogbXNnaWRfcGx1cmFsICJMYXN0IGNvbW1hbmRzIGRvbmUgKCVkIGNvbW1hbmRzIGRvbmUpOiIKIG1zZ3N0clswXSAiTOG7h25oIHRo4buxYyBoaeG7h24gY3Xhu5FpICglZCBs4buHbmggxJHGsOG7o2MgdGjhu7FjIHRoaSk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTkyCisjOiB3dC1zdGF0dXMuYzoxMjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICh4ZW0gdGjDqm0gdHJvbmcgJXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTk3CisjOiB3dC1zdGF0dXMuYzoxMjM1CiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBs4buHbmggbsOgbyBjw7JuIGzhuqFpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMAorIzogd3Qtc3RhdHVzLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICJM4buHbmggY+G6p24gbMOgbSBr4bq/IHRp4bq/cCAoJWQgbOG7h25oIGPDsm4gbOG6oWkpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwOAorIzogd3Qtc3RhdHVzLmM6MTI0NgogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB0byB2aWV3IGFuZCBlZGl0KSIKIG1zZ3N0ciAiICAoZMO5bmcgbOG7h25oIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIMSR4buDIHhlbSB2w6Agc+G7rWEpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIxCisjOiB3dC1zdGF0dXMuYzoxMjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIOKAnHJlYmFzZeKAnSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMjI2CisjOiB3dC1zdGF0dXMuYzoxMjY0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIOKAnHJlYmFzZeKAnSAo4oCcY+G6o2kgdOG7leKAnSkuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMjc4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIOKAnGPhuqNpIHThu5XigJ0gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDIKKyM6IHd0LXN0YXR1cy5jOjEyODAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGTDuW5nIGzhu4duaCDigJxj4bqjaSB04buV4oCdIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiDEkeG7gyBi4buPIHF1YSBs4bqnbiB2w6EgbsOgeSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDQKKyM6IHd0LXN0YXR1cy5jOjEyODIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIMSR4buDIGNoZWNrLW91dCBuaMOhbmggbmd1ecOqbiB0aOG7p3kpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUwCisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoa2hpIHThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIHPhu61hIHhvbmc6IGNo4bqheSBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCByZWJhc2UgLS0iCiAiY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTQKKyM6IHd0LXN0YXR1cy5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKQEAgLTQwNjksMTMwICs0NDAyLDEzNCBAQAogIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2MgY2hpYSB0w6FjaCBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIGtoaSAiCiAixJFhbmcg4oCccmViYXNl4oCdIG5ow6FuaCDigJwlc+KAnSB0csOqbiDigJwlc+KAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTkKKyM6IHd0LXN0YXR1cy5jOjEyOTcKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiIgogIkLhuqFuIGhp4buHbiB04bqhaSDEkWFuZyBj4bqvdCDEkcO0aSBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIGtoaSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyAiCiAicmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MgorIzogd3Qtc3RhdHVzLmM6MTMwMAogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoTeG7mXQga2hpIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4gxJHDoyBn4buNbiBnw6BuZywgY2jhuqF5IGzhu4duaCDigJxj4bqjaSB04buV4oCdIFwiZ2l0ICIKICJyZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NgorIzogd3Qtc3RhdHVzLmM6MTMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBz4butYSBjaOG7r2EgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBraGkgxJFhbmcgIgogInJlYmFzZSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMjcxCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gxJFhbmcgc+G7rWEgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBraGkgYuG6oW4gdGjhu7FjIGhp4buHbiByZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjc0CisjOiB3dC1zdGF0dXMuYzoxMzEyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiDEkeG7gyDigJx0dSBi4buV4oCdIGzhuqduIGNodXnhu4NuIGdpYW8gaGnhu4duIHThuqFpKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NgorIzogd3Qtc3RhdHVzLmM6MTMxNAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiIgogIiAgKGNo4bqheSBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG3hu5l0IGtoaSBi4bqhbiBj4bqjbSB0aOG6pXkgaMOgaSAiCiAibMOybmcgduG7gSBuaOG7r25nIHRoYXkgxJHhu5VpIGPhu6dhIG3DrG5oKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4NgorIzogd3Qtc3RhdHVzLmM6MTMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGNoZXJyeS1waWNrIGzhuqduIGNodXnhu4NuIGdpYW8gJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjkxCisjOiB3dC1zdGF0dXMuYzoxMzI5CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTQKKyM6IHd0LXN0YXR1cy5jOjEzMzIKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGtoaSB04bqldCBj4bqjIGPDoWMgeHVuZyDEkeG7mXQgxJHDoyBz4butYSB4b25nOiBjaOG6oXkgbOG7h25oIFwiZ2l0IGNoZXJyeS1waWNrIC0tIgogImNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjk2CisjOiB3dC1zdGF0dXMuYzoxMzM0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiDEkeG7gyBo4buneSBi4buPIHRoYW8gdMOhYyBjaGVycnktcGljaykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDUKKyM6IHd0LXN0YXR1cy5jOjEzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB0aGFvIHTDoWMgaG/DoG4gbmd1ecOqbiBs4bqnbiBjaHV54buDbiBnaWFvIOKAnCVz4oCdLiIKIAotIzogd3Qtc3RhdHVzLmM6MTMxMAorIzogd3Qtc3RhdHVzLmM6MTM0OAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMxMworIzogd3Qtc3RhdHVzLmM6MTM1MQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGtoaSB04bqldCBj4bqjIGPDoWMgeHVuZyDEkeG7mXQgxJHDoyBz4butYSB4b25nOiBjaOG6oXkgbOG7h25oIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzE1CisjOiB3dC1zdGF0dXMuYzoxMzUzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiDEkeG7gyBo4buneSBi4buPIHRoYW8gdMOhYyBob8OgbiBuZ3V5w6puKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMyNgorIzogd3Qtc3RhdHVzLmM6MTM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIiIKICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdGhhbyB0w6FjIGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MgKGJpc2VjdCksIGLhuq90IMSR4bqndSB04burICIKICJuaMOhbmgg4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMwCisjOiB3dC1zdGF0dXMuYzoxMzY4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiQuG6oW4gaGnhu4duIHThuqFpIMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGJpc2VjdCAoZGkgY2h1eeG7g24gbuG7rWEgYsaw4bubYykuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMzCisjOiB3dC1zdGF0dXMuYzoxMzcxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBiaXNlY3QgcmVzZXRcIiDEkeG7gyBxdWF5IHRy4bufIGzhuqFpIG5ow6FuaCBuZ3V5w6puIHRo4buneSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzAKKyM6IHd0LXN0YXR1cy5jOjE1NjgKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJUcsOqbiBuaMOhbmggIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM2CisjOiB3dC1zdGF0dXMuYzoxNTc0CiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNlIOG7nyBjaOG6vyDEkeG7mSB0xrDGoW5nIHTDoWMgxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHbjsgbMOqbiB0csOqbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzgKKyM6IHd0LXN0YXR1cy5jOjE1NzYKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJyZWJhc2UgxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHbjogbMOqbiB0csOqbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDMKKyM6IHd0LXN0YXR1cy5jOjE1ODEKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04bqhaSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDUKKyM6IHd0LXN0YXR1cy5jOjE1ODMKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFEIMSRxrDhu6NjIHTDoWNoIHLhu51pIHThu6sgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ4CisjOiB3dC1zdGF0dXMuYzoxNTg2CiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiSGnhu4duIHThuqFpIGNo4bqzbmcg4bufIG5ow6FuaCBuw6BvIGPhuqMuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTY2CisjOiB3dC1zdGF0dXMuYzoxNjA2CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8ga2jhu59pIHThuqFvIgogCi0jOiB3dC1zdGF0dXMuYzoxNTgwCisjOiB3dC1zdGF0dXMuYzoxNjA3Cittc2dpZCAiTm8gY29tbWl0cyB5ZXQiCittc2dzdHIgIlbhuqtuIGNoxrBhIGNodXnhu4NuIGdpYW8iCisKKyM6IHd0LXN0YXR1cy5jOjE2MjEKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIk5o4buvbmcgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSIKIAotIzogd3Qtc3RhdHVzLmM6MTU4MgorIzogd3Qtc3RhdHVzLmM6MTYyMwogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIk5o4buvbmcgdOG6rXAgdGluIGLhu4sgbOG7nSDEkWkiCiAKLSM6IHd0LXN0YXR1cy5jOjE1ODYKKyM6IHd0LXN0YXR1cy5jOjE2MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTQyMDQsMzIgKzQ1NDEsMzIgQEAKICJjw7MgbOG6vSBsw6BtIG7DsyBuaGFuaCBoxqFuLCBuaMawbmcgYuG6oW4gcGjhuqNpIGPhuqluIHRo4bqtbiDEkeG7q25nIHF1w6puIG3DrG5oIHBo4bqjaVxuIgogInThu7EgdGjDqm0gY8OhYyB04bqtcCB0aW4gbeG7m2kgKHhlbSDigJxnaXQgaGVscCBzdGF0dXPigJ0uLiIKIAotIzogd3Qtc3RhdHVzLmM6MTU5MgorIzogd3Qtc3RhdHVzLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICJOaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkga2jDtG5nIMSRxrDhu6NjIGxp4buHdCBrw6ogcmEgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTQKKyM6IHd0LXN0YXR1cy5jOjE2MzUKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKGTDuW5nIHTDuXkgY2jhu41uIC11IMSR4buDIGhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjAwCisjOiB3dC1zdGF0dXMuYzoxNjQxCiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB0aGF5IMSR4buVaSBuw6BvIgogCi0jOiB3dC1zdGF0dXMuYzoxNjA1CisjOiB3dC1zdGF0dXMuYzoxNjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCiAia2jDtG5nIGPDsyB0aGF5IMSR4buVaSBuw6BvIMSRxrDhu6NjIHRow6ptIHbDoG8gxJHhu4MgY2h1eeG7g24gZ2lhbyAoZMO5bmcgXCJnaXQgYWRkXCIgdsOgL2hv4bq3YyAiCiAiXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDgKKyM6IHd0LXN0YXR1cy5jOjE2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAia2jDtG5nIGPDsyB0aGF5IMSR4buVaSBuw6BvIMSRxrDhu6NjIHRow6ptIHbDoG8gxJHhu4MgY2h1eeG7g24gZ2lhb1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjExCisjOiB3dC1zdGF0dXMuYzoxNjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQgKHVzZSBcImdpdCBhZGRcIiB0byAiCkBAIC00MjM4LDM0MCArNDU3NSwzNzYgQEAKICJraMO0bmcgY8OzIGfDrCDEkcaw4bujYyB0aMOqbSB2w6BvIGzhuqduIGNodXnhu4NuIGdpYW8gbmjGsG5nIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyAiCiAidGhlbyBkw7VpIGhp4buHbiBkaeG7h24gKGTDuW5nIFwiZ2l0IGFkZFwiIMSR4buDIMSRxrBhIHbDoG8gdGhlbyBkw7VpKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE0CisjOiB3dC1zdGF0dXMuYzoxNjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICIiCiAia2jDtG5nIGPDsyBnw6wgxJHGsOG7o2MgdGjDqm0gdsOgbyBs4bqnbiBjaHV54buDbiBnaWFvIG5oxrBuZyBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgIgogInRoZW8gZMO1aSBoaeG7h24gZGnhu4duXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTcKKyM6IHd0LXN0YXR1cy5jOjE2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIiIKICJraMO0bmcgY8OzIGfDrCDEkeG7gyBjaHV54buDbiBnaWFvICh04bqhby9zYW8tY2jDqXAgY8OhYyB04bqtcCB0aW4gdsOgIGTDuW5nIFwiZ2l0IGFkZFwiIMSR4buDICIKICLEkcawYSB2w6BvIHRoZW8gZMO1aSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMCB3dC1zdGF0dXMuYzoxNjI1CisjOiB3dC1zdGF0dXMuYzoxNjYxIHd0LXN0YXR1cy5jOjE2NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhb1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIzCisjOiB3dC1zdGF0dXMuYzoxNjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgIiIKICJraMO0bmcgY8OzIGfDrCDEkeG7gyBjaHV54buDbiBnaWFvIChkw7luZyAtdSB4ZW0gY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjI3CisjOiB3dC1zdGF0dXMuYzoxNjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbywgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBz4bqhY2ggc+G6vVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzM0Ci1tc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgotbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvIGto4bufaSB04bqhbyB0csOqbiAiCisjOiB3dC1zdGF0dXMuYzoxNzgwCittc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgorbXNnc3RyICJW4bqrbiBraMO0bmcgdGjhu7FjIGhp4buHbiBs4buHbmggY2h1eeG7g24gZ2lhbyBuw6BvIgogCi0jOiB3dC1zdGF0dXMuYzoxNzM4CisjOiB3dC1zdGF0dXMuYzoxNzg0CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAoa2jDtG5nIG5ow6FuaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NjcKLW1zZ2lkICJnb25lIgotbXNnc3RyICLEkcOjIHJhIMSRaSIKLQotIzogd3Qtc3RhdHVzLmM6MTc2OSB3dC1zdGF0dXMuYzoxNzc3CisjOiB3dC1zdGF0dXMuYzoxODEzIHd0LXN0YXR1cy5jOjE4MjEKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICLEkeG6sW5nIHNhdSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NzIgd3Qtc3RhdHVzLmM6MTc3NQorIzogd3Qtc3RhdHVzLmM6MTgxNiB3dC1zdGF0dXMuYzoxODE5CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICJwaMOtYSB0csaw4bubYyAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMjc3CisjOiB3dC1zdGF0dXMuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyAlczogQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgxJHGsGEgbMOqbiBi4buHIHBow7NuZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyODMKKyM6IHd0LXN0YXR1cy5jOjIzMTcKIG1zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJ0aMOqbSB2w6BvIMSRw7MsIGLhuqNuZyBt4bulYyBs4bulYyBj4bunYSBi4bqhbiBjw7MgY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gZ2lhby4iCiAKLSM6IHd0LXN0YXR1cy5jOjIyODUKKyM6IHd0LXN0YXR1cy5jOjIzMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDICVzOiBN4bulYyBs4bulYyBj4bunYSBi4bqhbiBjw7MgY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gZ2lhby4iCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDE0CisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBi4buPIGxpw6puIGvhur90ICh1bmxpbmspIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2FkZC5jOjIyCisjOiBidWlsdGluL2FkZC5jOjI0CiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSAgPHBhdGhzcGVjPuKApiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MAorIzogYnVpbHRpbi9hZGQuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJ0cuG6oW5nIHRow6FpIGzhu4duaCBkaWZmIGtow7RuZyBuaMawIG1vbmcgxJHhu6NpICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjg1IGJ1aWx0aW4vY29tbWl0LmM6MjkxCisjOiBidWlsdGluL2FkZC5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6MjkyCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJD4bqtcCBuaOG6rXQgdOG6rXAgdGluIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL2FkZC5jOjk1CisjOiBidWlsdGluL2FkZC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgImfhu6EgYuG7jyDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL2FkZC5jOjE0OQorIzogYnVpbHRpbi9hZGQuYzoxNTEKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiIgogIsSQxrBhIHJhIGto4buPaSBi4buHIHBow7NuZyBjw6FjIHRoYXkgxJHhu5VpIHNhdSBraGkgbMOgbSB0xrDGoWkgbeG7m2kgbOG6oWkgYuG6o25nIG3hu6VjIGzhu6VjOiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDkgYnVpbHRpbi9yZXYtcGFyc2UuYzo4NDUKKyM6IGJ1aWx0aW4vYWRkLmM6MjExIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODczCiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjAKKyM6IGJ1aWx0aW4vYWRkLmM6MjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyDigJwlc+KAnSDEkeG7gyBnaGkuIgogCi0jOiBidWlsdGluL2FkZC5jOjIyNAorIzogYnVpbHRpbi9hZGQuYzoyMjYKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgcmEgbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjI3CisjOiBidWlsdGluL2FkZC5jOjIyOQogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgc+G7rWEgbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMwCisjOiBidWlsdGluL2FkZC5jOjIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBIOKAnCVz4oCdIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2FkZC5jOjIzMgorIzogYnVpbHRpbi9hZGQuYzoyMzQKIG1zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCiBtc2dzdHIgIk1p4bq/bmcgdsOhIHRy4buRbmcgcuG7l25nLiBOw6puIGLhu48gcXVhLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzcKKyM6IGJ1aWx0aW4vYWRkLmM6MjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBtaeG6v25nIHbDoSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDcKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ5CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAiQ8OhYyDEkcaw4budbmcgZOG6q24gdGhlbyBzYXUgxJHDonkgc+G6vSBi4buLIGzhu50gxJFpIGLhu59pIG3hu5l0IHRyb25nIGPDoWMgdOG6rXAgdGluIC5naXRpZ25vcmUgIgogImPhu6dhIGLhuqFuOlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjEyMwotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTI0Ci0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorIzogYnVpbHRpbi9hZGQuYzoyNjkgYnVpbHRpbi9jbGVhbi5jOjkwNyBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MjAxIGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMyIGJ1aWx0aW4vcm0uYzoyNDIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJjaOG6oXkgdGjhu60iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY5CisjOiBidWlsdGluL2FkZC5jOjI3MgogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgInPhu61hIGLhurFuZyBjw6FjaCB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU5IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyIGJ1aWx0aW4vcmVzZXQuYzoyOTkKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiY2jhu41uIOKAnGh1bmtz4oCdIHRoZW8ga2nhu4N1IHTGsMahbmcgdMOhYyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc0CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICJz4butYSBkaWZmIGhp4buHbiBuYXkgdsOgIMOhcCBk4bulbmcgbsOzIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MgorIzogYnVpbHRpbi9hZGQuYzoyNzUKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgImNobyBwaMOpcCB0aMOqbSBjw6FjIHThuq1wIHRpbiBi4buLIGLhu48gcXVhIGtow6FjIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MworIzogYnVpbHRpbi9hZGQuYzoyNzYKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IGPDoWMgdOG6rXAgdGluIMSRxrDhu6NjIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzQKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc3CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICJjaOG7iSBnaGkgbOG6oWkgc+G7sSB2aeG7h2MgbcOgIMSRxrDhu51uZyBk4bqrbiBz4bq9IMSRxrDhu6NjIHRow6ptIHbDoG8gc2F1IgogCi0jOiBidWlsdGluL2FkZC5jOjI3NQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIiIKICJ0aMOqbSBjw6FjIHRoYXkgxJHhu5VpIHThu6sgdOG6pXQgY+G6oyBjw6FjIHThuq1wIHRpbiBjw7MgY8WpbmcgbmjGsCBraMO0bmcgxJHGsOG7o2MgdGhlbyBkw7VpIGThuqV1ICIKICJ24bq/dCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzgKKyM6IGJ1aWx0aW4vYWRkLmM6MjgxCiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIiIKICJs4budIMSRaSBjw6FjIMSRxrDhu51uZyBk4bqrbiBi4buLIGfhu6EgYuG7jyB0cm9uZyBjw6J5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgKGdp4buRbmcgduG7m2kgLS1uby1hbGwpIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzoyODMKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aMOqbSwgY2jhu4kgbMOgbSB0xrDGoWkgbeG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MQorIzogYnVpbHRpbi9hZGQuYzoyODQKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICJjaGllIGLhu48gcXVhIG5o4buvbmcgdOG6rXAgdGluIG3DoCBuw7Mga2jDtG5nIHRo4buDIMSRxrDhu6NjIHRow6ptIHbDoG8gYuG7n2kgdsOsIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MgorIzogYnVpbHRpbi9hZGQuYzoyODUKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgIiIKICJraeG7g20gdHJhIHhlbSAtIHRo4bqtbSBjaMOtIHRoaeG6v3UgLSB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSB0cm9uZyBxdcOhIHRyw6xuaCBjaOG6oXkgdGjhu60iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgogbXNnaWQgIigrLy0peCIKIG1zZ3N0ciAiKCsvLSl4IgogCi0jOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAorIzogYnVpbHRpbi9hZGQuYzoyODYgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTMKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAiZ2hpIMSRw6ggbMOqbiBiw610IHRoaSBow6BuaCBj4bunYSBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL2FkZC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzoyODgKK21zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCittc2dzdHIgImPhuqNuaCBiw6FvIGtoaSB0aMOqbSBt4buZdCBraG8gbmjDum5nIgorCisjOiBidWlsdGluL2FkZC5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgorIkNsb25lcyBvZiB0aGUgb3V0ZXIgcmVwb3NpdG9yeSB3aWxsIG5vdCBjb250YWluIHRoZSBjb250ZW50cyBvZlxuIgorInRoZSBlbWJlZGRlZCByZXBvc2l0b3J5IGFuZCB3aWxsIG5vdCBrbm93IGhvdyB0byBvYnRhaW4gaXQuXG4iCisiSWYgeW91IG1lYW50IHRvIGFkZCBhIHN1Ym1vZHVsZSwgdXNlOlxuIgorIlxuIgorIlx0Z2l0IHN1Ym1vZHVsZSBhZGQgPHVybD4gJXNcbiIKKyJcbiIKKyJJZiB5b3UgYWRkZWQgdGhpcyBwYXRoIGJ5IG1pc3Rha2UsIHlvdSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlXG4iCisiaW5kZXggd2l0aDpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIlNlZSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIkLhuqFuIHbhu6thIHRow6ptIG3hu5l0IGtobyBnaXQgdsOgbyBiw6puIHRyb25nIGtobyBoaeG7h24gdOG6oWkgY+G7p2EgYuG6oW4uXG4iCisiQ8OhYyBi4bqjbiBzYW8gY+G7p2Ega2hvIG5nb8OgaSBz4bq9IGtow7RuZyBjaOG7qWEgY8OhYyBu4buZaSBkdW5nIGPhu6dhXG4iCisia2hvIG5ow7puZyB2w6Agc+G6vSBraMO0bmcgYmnhur90IGzDoG0gdGjhur8gbsOgbyDEkeG7gyBs4bqleSBuw7MuXG4iCisiTuG6v3Ugw70gYuG6oW4gbMOgIHRow6ptIG3hu5l0IG3DtC3EkXVuLWNvbiwgaMOjeSBjaOG6oXk6XG4iCisiXG4iCisiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIk7hur91IGLhuqFuIMSRw6MgdGjDqm0gbWnhur9uZyB2w6EgbsOgeSBjaOG7iSBsw6Agc2FpIHPDs3QsIGLhuqFuIGPDsyB0aOG7gyB4w7NhIGLhu49cbiIKKyJuw7Mga2jhu49pIG3hu6VjIGzhu6VjIGLhurFuZzpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIlhlbSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIMSR4buDIGJp4bq/dCB0aMOqbSBjaGkgdGnhur90LiIKKworIzogYnVpbHRpbi9hZGQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAidGjDqm0gY+G6p24gbeG7mXQga2hvIGdpdCBuaMO6bmc6ICVzIgorCisjOiBidWlsdGluL2FkZC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJT4butIGThu6VuZyB0w7l5IGNo4buNbiAtZiBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gdGjDqm0gY2jDum5nIHbDoG8uXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzEyCisjOiBidWlsdGluL2FkZC5jOjM1NwogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgInRow6ptIHThuq1wIHRpbiBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9hZGQuYzozNDgKKyM6IGJ1aWx0aW4vYWRkLmM6Mzk0CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIHbDoCAtdSB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL2FkZC5jOjM1NQorIzogYnVpbHRpbi9hZGQuYzo0MDEKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICJUw7l5IGNo4buNbiAtLWlnbm9yZS1taXNzaW5nIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBkw7luZyBjw7luZyB24bubaSAtLWRyeS1ydW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjOiBidWlsdGluL2FkZC5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCiBtc2dzdHIgIi0tY2htb2QgdGhhbSBz4buRIOKAnCVz4oCdIHBo4bqjaSBob+G6t2MgbMOgIC14IGhheSAreCIKIAotIzogYnVpbHRpbi9hZGQuYzozNzQKKyM6IGJ1aWx0aW4vYWRkLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICJLaMO0bmcgY8OzIGfDrCDEkcaw4bujYyBjaOG7iSByYSwga2jDtG5nIGPDsyBnw6wgxJHGsOG7o2MgdGjDqm0gdsOgby5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNzUKKyM6IGJ1aWx0aW4vYWRkLmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICJDw7MgbOG6vSDDvSBi4bqhbiBsw6Ag4oCcZ2l0IGFkZCAu4oCdIHBo4bqjaSBraMO0bmc/XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzIgYnVpbHRpbi9jbGVhbi5jOjkxNCBidWlsdGluL2NvbW1pdC5jOjM1MAotIzogYnVpbHRpbi9tdi5jOjE0MyBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyNzEKKyM6IGJ1aWx0aW4vYWRkLmM6NDI2IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc2IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzUgYnVpbHRpbi9jbGVhbi5jOjk1NCBidWlsdGluL2NvbW1pdC5jOjM1MQorIzogYnVpbHRpbi9tdi5jOjE0NCBidWlsdGluL3Jlc2V0LmM6MjM4IGJ1aWx0aW4vcm0uYzoyNzIKICM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgInThuq1wIHRpbiBnaGkgYuG6o25nIG3hu6VjIGzhu6VjIGLhu4sgaOG7j25nIgogCi0jOiBidWlsdGluL2FtLmM6NDE0CisjOiBidWlsdGluL2FtLmM6NDEzCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAgdsSDbiBs4buHbmggdMOhYyBnaeG6oyIKIAotIzogYnVpbHRpbi9hbS5jOjQ5MQorIzogYnVpbHRpbi9hbS5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICLigJwlc+KAnSBi4buLIHjDs2EgYuG7n2kgbcOzYyBhcHBseXBhdGNoLW1zZyIKIAotIzogYnVpbHRpbi9hbS5jOjUzMgorIzogYnVpbHRpbi9hbS5jOjUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkTDsm5nIMSR4bqndSB2w6BvIGThu4sgaMOsbmg6IOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9hbS5jOjU2OQorIzogYnVpbHRpbi9hbS5jOjU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHNhbyBjaMOpcCBnaGkgY2jDuiAobm90ZSkgdOG7qyDigJwlc+KAnSB04bubaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9hbS5jOjU5NQorIzogYnVpbHRpbi9hbS5jOjU5MwogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiZnNlZWsgZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3NzUKKyM6IGJ1aWx0aW4vYW0uYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NDAKKyM6IGJ1aWx0aW4vYW0uYzo4NDIKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAiQ2jhu4kgY8OzIG3hu5l0IHPDqi1yaSBtaeG6v25nIHbDoSBTdEdJVCDEkcaw4bujYyDDoXAgZOG7pW5nIG3hu5l0IGzDumMiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4ODcKKyM6IGJ1aWx0aW4vYW0uYzo4ODkKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiZOG6pXUgdGjhu51pIGdpYW4ga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo4OTAgYnVpbHRpbi9hbS5jOjg5OAorIzogYnVpbHRpbi9hbS5jOjg5MiBidWlsdGluL2FtLmM6OTAwCiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgImTDsm5nIE5nw6B5IHRow6FuZyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9hbS5jOjg5NQorIzogYnVpbHRpbi9hbS5jOjg5NwogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICLEkeG7mSBs4buHY2ggbcO6aSBnaeG7nSBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9hbS5jOjk4NAorIzogYnVpbHRpbi9hbS5jOjk4NgogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAiRMOyIHTDrG0gxJHhu4tuaCBk4bqhbmcgbWnhur9uZyB2w6EgZ+G6t3AgbOG7l2kuIgogCi0jOiBidWlsdGluL2FtLmM6OTg5IGJ1aWx0aW4vY2xvbmUuYzozNzkKKyM6IGJ1aWx0aW4vYW0uYzo5OTEgYnVpbHRpbi9jbG9uZS5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJ04bqhbyB0aMawIG3hu6VjIFwiJXNcIiBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9hbS5jOjk5MworIzogYnVpbHRpbi9hbS5jOjk5NQogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGNoaWEgbmjhu48gY8OhYyBtaeG6v25nIHbDoS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTI1IGJ1aWx0aW4vY29tbWl0LmM6Mzc2CisjOiBidWlsdGluL2FtLmM6MTEyMCBidWlsdGluL2NvbW1pdC5jOjM3NwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FtLmM6MTE3NgorIzogYnVpbHRpbi9hbS5jOjExNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgIktoaSBi4bqhbiDEkcOjIHBow6JuIGdp4bqjaSB4b25nIHRy4bulYyB0cuG6t2MgbsOgeSwgaMOjeSBjaOG6oXkgXCIlcyAtLWNvbnRpbnVlXCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTE3NworIzogYnVpbHRpbi9hbS5jOjExNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICIiCiAiTuG6v3UgYuG6oW4gbXXhu5FuIGLhu48gcXVhIG1p4bq/bmcgdsOhIG7DoHksIGjDo3kgY2jhuqF5IGzhu4duaCBcIiVzIC0tc2tpcFwiIMSR4buDIHRoYXkgdGjhur8uIgogCi0jOiBidWlsdGluL2FtLmM6MTE3OAorIzogYnVpbHRpbi9hbS5jOjExNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICLEkOG7gyBwaOG7pWMgaOG7k2kgbOG6oWkgbmjDoW5oIGfhu5FjIHbDoCBk4burbmcgdsOhLCBow6N5IGNo4bqheSBcIiVzIC0tYWJvcnRcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzE2Ci1tc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCi1tc2dzdHIgIk1p4bq/bmcgdsOhIHRy4buRbmcgcuG7l25nLiBRdcOhIHRyw6xuaCBjaGlhIG5o4buPIG1p4bq/bmcgdsOhIGPDsyBs4buXaT8iCisjOiBidWlsdGluL2FtLmM6MTMwNAorbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKK21zZ3N0ciAiTWnhur9uZyB2w6EgdHLhu5FuZyBy4buXbmcuIgogCi0jOiBidWlsdGluL2FtLmM6MTM5MCBidWlsdGluL2xvZy5jOjE1NTAKKyM6IGJ1aWx0aW4vYW0uYzoxMzcwCiAjLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCi1tc2dzdHIgImTDsm5nIHRo4buldCBs4buBIGtow7RuZyBo4bujcCBs4buHOiAlcyIKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiCittc2dzdHIgImTDsm5nIHRo4buldCBs4buBIGtow7RuZyBo4bujcCBs4buHOiAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTQxNworIzogYnVpbHRpbi9hbS5jOjEzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEwCisjOiBidWlsdGluL2FtLmM6MTU4NgogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIktobyB0aGnhur91IMSR4buRaSB0xrDhu6NuZyBibG9iIGPhuqduIHRoaeG6v3QgxJHhu4MgdHLhu58gduG7gSB0csOqbiDigJwzLXdheSBtZXJnZeKAnS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEyCisjOiBidWlsdGluL2FtLmM6MTU4OAogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgIiIKICJT4butIGThu6VuZyB0aMO0bmcgdGluIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyDEkeG7gyBj4bqldSB0csO6YyBs4bqhaSBt4buZdCBjw6J5ICh0cmVlKSBjxqEgc+G7n+KApiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzEKKyM6IGJ1aWx0aW4vYW0uYzoxNjA3CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTQ1NzksMzggKzQ5NTIsMzggQEAKICJC4bqhbiDEkcOjIHPhu61hIG1p4bq/bmcgdsOhIGPhu6dhIG3DrG5oIGLhurFuZyBjw6FjaCB0aOG7pyBjw7RuZyDDoD9cbiIKICJOw7Mga2jDtG5nIHRo4buDIMOhcCBk4bulbmcgY8OhYyBibG9iIMSRw6MgxJHGsOG7o2MgZ2hpIGzhuqFpIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyBj4bunYSBuw7MuIgogCi0jOiBidWlsdGluL2FtLmM6MTYzNworIzogYnVpbHRpbi9hbS5jOjE2MTMKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCiBtc2dzdHIgIsSQYW5nIHRy4bufIGzhuqFpIMSR4buDIHbDoSBjxqEgc+G7nyB2w6Ag4oCcaMOyYSB0cuG7mW4gMy3Ekcaw4budbmfigJ3igKYiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjYyCisjOiBidWlsdGluL2FtLmM6MTYzOAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0cuG7mW4gdsOgbyBjw6FjIHRoYXkgxJHhu5VpLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2ODYgYnVpbHRpbi9tZXJnZS5jOjYzMgorIzogYnVpbHRpbi9hbS5jOjE2NjIgYnVpbHRpbi9tZXJnZS5jOjYzMgogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgImzhu4duaCBnaXQgd3JpdGUtdHJlZSBn4bq3cCBs4buXaSBraGkgZ2hpIG3hu5l0IGPDonkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjkzCisjOiBidWlsdGluL2FtLmM6MTY2OQogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgIsOhcCBk4bulbmcgdsOgbyBt4buZdCBs4buLY2ggc+G7rSB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9hbS5jOjE3MDYgYnVpbHRpbi9jb21taXQuYzoxNzY0IGJ1aWx0aW4vbWVyZ2UuYzo4MDIKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjcKKyM6IGJ1aWx0aW4vYW0uYzoxNjgyIGJ1aWx0aW4vY29tbWl0LmM6MTc2NyBidWlsdGluL21lcmdlLmM6ODAzCisjOiBidWlsdGluL21lcmdlLmM6ODI4CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCisjOiBidWlsdGluL2FtLmM6MTcxNSBidWlsdGluL2FtLmM6MTcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaOG7pWMgaOG7k2k6ICVzIGtow7RuZyB04buTbiB04bqhaS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzU5CisjOiBidWlsdGluL2FtLmM6MTczNQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAiIgogImtow7RuZyB0aOG7gyDEkcaw4bujYyB0xrDGoW5nIHTDoWMgbcOgIGtow7RuZyBjw7Mgc3RkaW4ga+G6v3QgbuG7kWkgduG7m2kgbeG7mXQgdGhp4bq/dCBi4buLIGN14buRaSIKIAotIzogYnVpbHRpbi9hbS5jOjE3NjQKKyM6IGJ1aWx0aW4vYW0uYzoxNzQwCiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJUaMOibiBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIGzDoDoiCiAKQEAgLTQ2MTgsMzcgKzQ5OTEsMzcgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTc3NAorIzogYnVpbHRpbi9hbS5jOjE3NTAKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICIiCiAiw4FwIGThu6VuZz8gxJHhu5NuZyDDvSBbeV0va2jDtFtuXWcvY2jhu4luaCBz4butYSBbZV0vaGnhu4NuIHRo4buLIG1p4bq/bmcgW3Zdw6EvY2jhuqVwIG5o4bqtbiB04bqldCAiCiAiY+G6oyBbYV06ICIKIAotIzogYnVpbHRpbi9hbS5jOjE4MjQKKyM6IGJ1aWx0aW4vYW0uYzoxODAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiQuG6o25nIG3hu6VjIGzhu6VjIGLhuqluOiBraMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBjw6FjIG1p4bq/bmcgdsOhIChi4bqpbjogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTg2MSBidWlsdGluL2FtLmM6MTkzMworIzogYnVpbHRpbi9hbS5jOjE4NDAgYnVpbHRpbi9hbS5jOjE5MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIsOBcCBk4bulbmc6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODc3CisjOiBidWlsdGluL2FtLmM6MTg1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAiS2jDtG5nIHRoYXkgxJHhu5VpIGfDrCBj4bqjIC0tIE1p4bq/bmcgdsOhIMSRw6MgxJHGsOG7o2Mgw6FwIGThu6VuZyBy4buTaS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODg1CisjOiBidWlsdGluL2FtLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHbDoSB04bqhaSAlcyAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTg5MQorIzogYnVpbHRpbi9hbS5jOjE4NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvcHkgb2YgdGhlIHBhdGNoIHRoYXQgZmFpbGVkIGlzIGZvdW5kIGluOiAlcyIKIG1zZ3N0ciAiQuG6o24gc2FvIGNow6lwIGPhu6dhIG1p4bq/bmcgdsOhIG3DoCBuw7MgZ+G6t3AgbOG7l2kgdGjDrCDEkcaw4bujYyB0w6xtIHRo4bqleSB0cm9uZzogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTM2CisjOiBidWlsdGluL2FtLmM6MTkxNQogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKQEAgLTQ2NTksMjUgKzUwMzIsMzAgQEAKICLEkcOjIHPhurVuIMSRxrDhu6NjIMSRxrBhIHbDoG8gduG7m2kgY8O5bmcgbuG7mWkgZHVuZyB0aGF5IMSR4buVaTsgYuG6oW4gY8OzIGzhur0gbXXhu5FuIGLhu48gcXVhIG1p4bq/bmcgIgogInbDoSBuw6B5LiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDMKKyM6IGJ1aWx0aW4vYW0uYzoxOTIyCiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCi0iRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCisiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCisic3VjaC5cbiIKKyJZb3UgbWlnaHQgcnVuIGBnaXQgcm1gIG9uIGEgZmlsZSB0byBhY2NlcHQgXCJkZWxldGVkIGJ5IHRoZW1cIiBmb3IgaXQuIgogbXNnc3RyICIiCi0iQuG6oW4gduG6q24gY8OzIG5o4buvbmcgxJHGsOG7nW5nIGThuqtuIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyBj4bunYSBtw6xuaC5cbiIKLSJC4bqhbiDEkcOjIHF1w6puIHPhu60gZOG7pW5nIGzhu4duaCDigJxnaXQgYWRk4oCdIMOgPyIKKyJC4bqhbiB24bqrbiBjw7Mgbmjhu69uZyDEkcaw4budbmcgZOG6q24gY2jGsGEgaMOyYSB0cuG7mW4gdHJvbmcgY2jhu4kgbeG7pWMgY+G7p2EgYuG6oW4uXG4iCisiQuG6oW4gbsOqbiDigJxnaXQgYWRk4oCdIHThu6tuZyB04bqtcCB0aW4gduG7m2kgY8OhYyB4dW5nIMSR4buZdCDEkcOjIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90IMSR4buDIMSRw6FuaCAiCisiZOG6pXUgY2jDum5nIGzDoCB0aOG6vy5cbiIKKyJC4bqhbiBjw7MgbOG6vSBtdeG7kW4gY2jhuqF5IOKAnGdpdCBybeKAnCB0csOqbiBt4buZdCB04bqtcCB0aW4gxJHhu4MgY2jhuqVwIG5o4bqtbiBcIsSRxrDhu6NjIHjDs2EgYuG7n2kgaOG7jSIKKyJcIiBjaG8gbsOzLiIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAotIzogYnVpbHRpbi9yZXNldC5jOjMxNgorIzogYnVpbHRpbi9hbS5jOjIwMzEgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9hbS5jOjIwNDcgYnVpbHRpbi9yZXNldC5jOjMyMworIzogYnVpbHRpbi9yZXNldC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggxJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMDMKKyM6IGJ1aWx0aW4vYW0uYzoyMDgzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZOG7jW4gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FtLmM6MjEzNworIzogYnVpbHRpbi9hbS5jOjIxMTcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKQEAgLTQ2ODUsMTM0ICs1MDYzLDEzNSBAQAogIkLhuqFuIGPDsyBs4bq9IMSRw6MgY8OzIEhFQUQgxJHDoyBi4buLIGRpIGNodXnhu4NuIMSRaSBr4buDIHThu6sgbOG6p24g4oCcYW3igJ0gdGjhuqV0IGLhuqFpIGN14buRaSBjw7luZy5cbiIKICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gdOG7m2kgT1JJR19IRUFEIgogCi0jOiBidWlsdGluL2FtLmM6MjIwMAorIzogYnVpbHRpbi9hbS5jOjIxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICJHacOhIHRy4buLIGtow7RuZyBo4bujcCBs4buHIGNobyAtLXBhdGNoLWZvcm1hdDogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjMzCisjOiBidWlsdGluL2FtLmM6MjIxMwogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogbXNnc3RyICJnaXQgYW0gWzxjw6FjLXTDuXktY2jhu41uPl0gWyg8bWJveD58PE1haWxkaXI+KeKApl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM0CisjOiBidWlsdGluL2FtLmM6MjIxNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzxjw6FjLXTDuXktY2jhu41uPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMjIwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgImNo4bqheSBraeG7g3UgdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2FtLmM6MjI0MgorIzogYnVpbHRpbi9hbS5jOjIyMjIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gbOG7i2NoIHPhu60gLS0ga2jDtG5nLXRvw6FuLXThu60iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ0CisjOiBidWlsdGluL2FtLmM6MjIyNAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICJjaG8gcGjDqXAgcXVheSB0cuG7nyBs4bqhaSDEkeG7gyBow7JhIHRy4buZbiBraeG7g3Ug4oCcM3dheeKAnSBu4bq/dSBj4bqnbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc4CisjOiBidWlsdGluL2FtLmM6MjIyNSBidWlsdGluL2luaXQtZGIuYzo0ODQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NworIzogYnVpbHRpbi9yZXBhY2suYzoxODAKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAiaW0gbOG6t25nIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyMjcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJUaMOqbSBkw7JuZyBTaWduZWQtb2ZmLWJ5IGNobyBnaGkgY2jDuiBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MAorIzogYnVpbHRpbi9hbS5jOjIyMzAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAiY2h1eeG7g24gbcOjIHRow6BuaCB1dGY4ICht4bq3YyDEkeG7i25oKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiY2h1eeG7g24gY+G7nSAtayBjaG8gZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NAorIzogYnVpbHRpbi9hbS5jOjIyMzQKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJjaHV54buDbiBj4budIC1iIGNobyBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU2CisjOiBidWlsdGluL2FtLmM6MjIzNgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgImNodXnhu4NuIGPhu50gLW0gY2hvIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjM4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAiY2h1eeG7g24gY+G7nSAtLWtlZXAtY3IgY2hvIGdpdC1tYWlsc3BsaXQgduG7m2kgxJHhu4tuaCBk4bqhbmcgbWJveCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMjQxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgIiIKICLEkeG7q25nIGNodXnhu4NuIGPhu50gLS1rZWVwLWNyIGNobyBnaXQtbWFpbHNwbGl0IGtow7RuZyBwaOG7pSB0aHXhu5ljIHbDoG8gYW0ua2VlcGNyIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NAorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgImPhuq90IG3hu41pIHRo4bupIHRyxrDhu5tjIGTDsm5nIHNjaXNzb3JzIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2FtLmM6MjI3MiBidWlsdGluL2FtLmM6MjI3NQotIzogYnVpbHRpbi9hbS5jOjIyNzggYnVpbHRpbi9hbS5jOjIyODEgYnVpbHRpbi9hbS5jOjIyODQgYnVpbHRpbi9hbS5jOjIyODcKLSM6IGJ1aWx0aW4vYW0uYzoyMjkzCisjOiBidWlsdGluL2FtLmM6MjI0NiBidWlsdGluL2FtLmM6MjI0OSBidWlsdGluL2FtLmM6MjI1MiBidWlsdGluL2FtLmM6MjI1NQorIzogYnVpbHRpbi9hbS5jOjIyNTggYnVpbHRpbi9hbS5jOjIyNjEgYnVpbHRpbi9hbS5jOjIyNjQgYnVpbHRpbi9hbS5jOjIyNjcKKyM6IGJ1aWx0aW4vYW0uYzoyMjczCiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAiY2h1eeG7g24gbsOzIHF1YSBnaXQtYXBwbHkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjUKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzggYnVpbHRpbi9tZXJnZS5jOjIwMiBidWlsdGluL3B1bGwuYzoxMzUKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NCBidWlsdGluL3JlcGFjay5jOjE4NyBidWlsdGluL3JlcGFjay5jOjE5MQotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NCBidWlsdGluL3Nob3ctcmVmLmM6MTY5IGJ1aWx0aW4vdGFnLmM6MzU1Ci0jOiBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NQorIzogYnVpbHRpbi9hbS5jOjIyNjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgorIzogYnVpbHRpbi9ncmVwLmM6MTA2NCBidWlsdGluL21lcmdlLmM6MjAyIGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9wdWxsLmM6MTk3IGJ1aWx0aW4vcmVwYWNrLmM6MTg5IGJ1aWx0aW4vcmVwYWNrLmM6MTkzCisjOiBidWlsdGluL3JlcGFjay5jOjE5NSBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMxIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKKyM6IGJ1aWx0aW4vdGFnLmM6Mzk5IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNAorIzogcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4Ci0jOiBidWlsdGluL3RhZy5jOjM4NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorIzogYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9icmFuY2guYzo1OTYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ0IGJ1aWx0aW4vdGFnLmM6NDM0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICLEkeG7i25oIGThuqFuZyIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgogbXNnc3RyICLEkeG7i25oIGThuqFuZyAoY8OhYykgbWnhur9uZyB2w6EgdGhlbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjc2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICLEkcOoIGzDqm4gY8OhYyBs4budaSBuaOG6r24gbOG7l2kga2hpIHjhuqN5IHJhIGzhu5dpIHbDoSBuZ2hpw6ptIHRy4buNbmciCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk4CisjOiBidWlsdGluL2FtLmM6MjI3OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgInRp4bq/cCB04bulYyDDoXAgZOG7pW5nIGPDoWMgbWnhur9uZyB2w6Egc2F1IGtoaSBnaeG6o2kgcXV54bq/dCB4dW5nIMSR4buZdCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDEKKyM6IGJ1aWx0aW4vYW0uYzoyMjgxCiBtc2dpZCAic3lub255bXMgZm9yIC0tY29udGludWUiCiBtc2dzdHIgIsSR4buTbmcgbmdoxKlhIHbhu5tpIC0tY29udGludWUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA0CisjOiBidWlsdGluL2FtLmM6MjI4NAogbXNnaWQgInNraXAgdGhlIGN1cnJlbnQgcGF0Y2giCiBtc2dzdHIgImLhu48gcXVhIG1p4bq/bmcgdsOhIGhp4buHbiBow6BuaCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDcKKyM6IGJ1aWx0aW4vYW0uYzoyMjg3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAicGjhu6VjIGjhu5NpIGzhuqFpIG5ow6FuaCBn4buRYyB2w6AgbG/huqFpIGLhu48gdGhhbyB0w6FjIHbDoS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzExCisjOiBidWlsdGluL2FtLmM6MjI5MQogbXNnaWQgImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIKIG1zZ3N0ciAibsOzaSBk4buRaSB24buBIG5nw6B5IGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzEzCisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgImTDuW5nIGThuqV1IHRo4budaSBnaWFuIGhp4buHbiB04bqhaSBjaG8gbmfDoHkgdMOhYyBnaeG6oyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTUgYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbWVyZ2UuYzoyMzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NSBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzcwCisjOiBidWlsdGluL2FtLmM6MjI5NSBidWlsdGluL2NvbW1pdC5jOjE2MDUgYnVpbHRpbi9tZXJnZS5jOjIzMworIzogYnVpbHRpbi9wdWxsLmM6MTcyIGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyIGJ1aWx0aW4vdGFnLmM6NDE0CiBtc2dpZCAia2V5LWlkIgogbXNnc3RyICJtw6Mtc+G7kS1raMOzYSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAiR1BHLXNpZ24gY29tbWl0cyIKIG1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyBrw70tR1BHIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOQorIzogYnVpbHRpbi9hbS5jOjIyOTkKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiKGTDuW5nIG7hu5lpIGLhu5kgY2hvIGdpdC1yZWJhc2UpIgogCi0jOiBidWlsdGluL2FtLmM6MjMzNAorIzogYnVpbHRpbi9hbS5jOjIzMTcKIG1zZ2lkICIiCiAiVGhlIC1iLy0tYmluYXJ5IG9wdGlvbiBoYXMgYmVlbiBhIG5vLW9wIGZvciBsb25nIHRpbWUsIGFuZFxuIgogIml0IHdpbGwgYmUgcmVtb3ZlZC4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgYW55bW9yZS4iCkBAIC00ODIwLDE2ICs1MTk5LDE2IEBACiAiVMO5eSBjaOG7jW4gLWIvLS1iaW5hcnkgxJHDoyBraMO0bmcgZMO5bmcgdOG7qyBsw6J1IHLhu5NpLCB2w6BcbiIKICJuw7Mgc+G6vSDEkcaw4bujYyBi4buPIMSRaS4gWGluIMSR4burbmcgc+G7rSBk4bulbmcgbsOzIHRow6ptIG7hu69hLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzNDEKKyM6IGJ1aWx0aW4vYW0uYzoyMzI0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJn4bq3cCBs4buXaSDEkeG7jWMgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FtLmM6MjM1NgorIzogYnVpbHRpbi9hbS5jOjIzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICJ0aMawIG3hu6VjIHJlYmFzZSB0csaw4bubYyAlcyBraMO0bmcgc+G6tW4gY8OzIG5oxrBuZyBtYm94IGzhuqFpIMSRxrBhIHJhLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODAKKyM6IGJ1aWx0aW4vYW0uYzoyMzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCkBAIC00ODM4LDcgKzUyMTcsNyBAQAogIlTDrG0gdGjhuqV5IHRoxrAgbeG7pWMgbOG6oWMgJXMuXG4iCiAiRMO5bmcgXCJnaXQgYW0gLS1hYm9ydFwiIMSR4buDIGxv4bqhaSBi4buPIG7DsyDEkWkuIgogCi0jOiBidWlsdGluL2FtLmM6MjM4NgorIzogYnVpbHRpbi9hbS5jOjIzNjkKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICJUaGFvIHTDoWMgcGjDom4gZ2nhuqNpIGtow7RuZyDEkcaw4bujYyB0aeG6v24gaMOgbmgsIGNow7puZyB0YSBraMO0bmcgcGjhu6VjIGjhu5NpIGzhuqFpLiIKIApAQCAtNDg2OCwxMSArNTI0Nyw2IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBOQUNLICVzIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICJs4buXaSBtw6F5IGNo4bunOiAlcyIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBs4buXaSBnaWFvIHRo4bupYyIKQEAgLTQ4OTQsMTkyICs1MjY4LDE2OCBAQAogbXNnc3RyICIiCiAiY+G6rXAgbmjhuq10IEJJU0VDVF9IRUFEIHRoYXkgdsOsIGzhuqV5IHJhIChjaGVja2luZyBvdXQpIGzhuqduIGNodXnhu4NuIGdpYW8gaGnhu4duIGjDoG5oIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNwogbXNnaWQgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPHJldi1vcHRzPl0gWzxyZXY+XSBbLS1dIDxmaWxlPiIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPHThuq1wLXRpbj4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozOAorIzogYnVpbHRpbi9ibGFtZS5jOjMyCiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjxyZXYtb3B0cz4gxJHGsOG7o2MgbcO0IHThuqMgdHJvbmcgdMOgaSBsaeG7h3UgZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4NgotbXNnaWQgIkJsYW1pbmcgbGluZXMiCi1tc2dzdHIgIkPDoWMgZMOybmcgYmxhbWUiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCisjOiBidWlsdGluL2JsYW1lLmM6NjY4CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIGPDoWMgbeG7pWMg4oCcYmxhbWXigJ0gbmjGsCBsw6AgY2jDum5nIHRhIHRo4bqleSBjaMO6bmcsIHTEg25nIGThuqduIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MworIzogYnVpbHRpbi9ibGFtZS5jOjY2OQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJIaeG7g24gdGjhu4sgU0hBLTEgdHLhuq9uZyBjaG8gbmjhu69uZyBs4bqnbiBjaHV54buDbiBnaWFvIGJpw6puIGdp4bubaSAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzAKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIktow7RuZyBjb2kgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGfhu5FjIGzDoCBnaeG7m2kgaOG6oW4gKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg1CisjOiBidWlsdGluL2JsYW1lLmM6NjcxCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHRo4buRbmcga8OqIGPDtG5nIHPhu6ljIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NgorIzogYnVpbHRpbi9ibGFtZS5jOjY3MgogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiw4lwIGJ14buZYyBiw6FvIGPDoW8gdGnhur9uIHRyaeG7g24gY8O0bmcgdmnhu4djIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4NworIzogYnVpbHRpbi9ibGFtZS5jOjY3MwogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJIaeG7g24gdGjhu4sga+G6v3QgeHXhuqV0IMSRaeG7g20gc+G7kSBjw7MgY8OhYyBt4bulYyB0aW4g4oCcYmxhbWXigJ0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CisjOiBidWlsdGluL2JsYW1lLmM6Njc0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiBn4buRYyAoTeG6t2MgxJHhu4tuaDogYXV0bykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg5CisjOiBidWlsdGluL2JsYW1lLmM6Njc1CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJIaeG7g24gdGjhu4sgc+G7kSBkw7JuZyBn4buRYyAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJIaeG7g24gdGjhu4sg4bufIMSR4buLbmggZOG6oW5nIMSRw6MgdGhp4bq/dCBr4bq/IGNobyBz4buxIHRpw6p1IGTDuW5nIGLhurFuZyBtw6F5IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5MQorIzogYnVpbHRpbi9ibGFtZS5jOjY3NwogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIMSR4buLbmggZOG6oW5nIOKAnHBvcmNlbGFpbuKAnSB24bubaSB0aMO0bmcgdGluIGNodXnhu4NuIGdpYW8gbeG7l2kgZMOybmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkyCisjOiBidWlsdGluL2JsYW1lLmM6Njc4CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiRMO5bmcgY8O5bmcgY2jhur8gxJHhu5kgeHXhuqV0IHJhIHbhu5tpIGdpdC1hbm5vdGF0ZSAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzkKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBk4bqhbmcgdGjDtCAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODAKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBTSEExIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gZOG6oW5nIGTDoGkgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk1CisjOiBidWlsdGluL2JsYW1lLmM6NjgxCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiS2jDtG5nIGhp4buDbiB0aOG7iyB0w6puIHTDoWMgZ2nhuqMgdsOgIGThuqV1IHbhur90IHRo4budaSBnaWFuIChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NgorIzogYnVpbHRpbi9ibGFtZS5jOjY4MgogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHRoxrAgxJFp4buHbiB04butIGPhu6dhIHTDoWMgZ2nhuqMgdGhheSB2w6wgdMOqbiAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2ODMKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiQuG7jyBxdWEgY8OhYyBraMOhYyBiaeG7h3QgZG8ga2hv4bqjbmcgdHLhuq9uZyBnw6J5IHJhIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNAorIzogYnVpbHRpbi9ibGFtZS5jOjY5MAogbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCiBtc2dzdHIgIkTDuW5nIG3hu5l0IHBo4buPbmcgxJFvw6FuIHRo4butIG5naGnhu4dtIMSR4buDIHTEg25nIGPGsOG7nW5nIGPDoWMgZGlmZiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIlRpw6p1IHRo4bulIHRow6ptIG7Eg25nIHTDoGkgbmd1ecOqbiBtw6F5IG3Ds2MgxJHhu4MgdMOsbSBraeG6v20gdOG7kXQgaMahbiBu4buvYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTMKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIiIKICJT4butIGThu6VuZyDEkWnhu4NtIHjDqXQgZHV54buHdCAocmV2aXNpb24pIHThu6sgPHThuq1wIHRpbj4gdGhheSB2w6wgZ+G7jWkg4oCcZ2l0LXJldi1saXN04oCdIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwOAorIzogYnVpbHRpbi9ibGFtZS5jOjY5NAogbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCiBtc2dzdHIgIlPhu60gZOG7pW5nIG7hu5lpIGR1bmcgY+G7p2EgPHThuq1wIHRpbj4gbmjGsCBsw6Ag4bqjbmggY3Xhu5FpIGPDuW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwOSBidWlsdGluL2JsYW1lLmM6MjYxMAorIzogYnVpbHRpbi9ibGFtZS5jOjY5NSBidWlsdGluL2JsYW1lLmM6Njk2CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgIsSRaeG7g20gc+G7kSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTUKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJUw6xtIGPDoWMgYuG6o24gc2FvIGNow6lwIGTDsm5nIHRyb25nIHbDoCBuZ2FuZyBxdWEgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYxMAorIzogYnVpbHRpbi9ibGFtZS5jOjY5NgogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlTDrG0gY8OhYyBkaSBjaHV54buDbiBkw7JuZyB0cm9uZyB2w6AgbmdhbmcgcXVhIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiWOG7rSBsw70gY2jhu4kgZMOybmcgdsO5bmcgbixtLCB0w61uaCB04burIDEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjU4CisjOiBidWlsdGluL2JsYW1lLmM6NzQ0CiBtc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKIG1zZ3N0ciAiIgogIi0tcHJvZ3Jlc3Mga2jDtG5nIMSRxrDhu6NjIGTDuW5nIGPDuW5nIHbhu5tpIC0taW5jcmVtZW50YWwgaGF5IGPDoWMgxJHhu4tuaCBk4bqhbmcgcG9yY2VsYWluIgogCi0jLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZSBtYXhpbXVtCi0jLiBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbiAiZ2l0IGJsYW1lIgotIy4gb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIsIHdoaWNoCi0jLiB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0IGFtb25nIHZhcmlvdXMgZm9ybXMgb2YKLSMuIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dCB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IKLSMuIGZld2VyIGRpc3BsYXkgY29sdW1ucy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzA2CisjLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZQorIy4gbWF4aW11bSBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbgorIy4gImdpdCBibGFtZSIgb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEKKyMuIG1vbnRocyBhZ28iLCB3aGljaCB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0CisjLiBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dAorIy4geW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yIGZld2VyIGRpc3BsYXkKKyMuIGNvbHVtbnMuCisjLgorIzogYnVpbHRpbi9ibGFtZS5jOjc5NQogbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCiBtc2dzdHIgIjQgbsSDbSwgMTEgdGjDoW5nIHRyxrDhu5tjIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc4NgotbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCi1tc2dzdHIgInTDuXkgY2jhu41uLS1jb250ZW50cyB2w6AgLS1yZXZlcnNlIGtow7RuZyDEkcaw4bujYyB0cuG7mW4gdsOgbyBuaGF1LiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MDYKLW1zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBkw7luZyAtLWNvbnRlbnRzIHbhu5tpIHTDqm4gxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8gY3Xhu5FpIGPDuW5nIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgxMQotbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKLW1zZ3N0ciAiIgotIi0tcmV2ZXJzZSB2w6AgLS1maXJzdC1wYXJlbnQgY8O5bmcgbmhhdSBj4bqnbiBjaOG7iSDEkeG7i25oIGzhuqduIGNodXnhu4NuIGdpYW8gY3Xhu5FpIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgzOAotbXNnaWQgIiIKLSItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCi1tc2dzdHIgIiIKLSItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgY8O5bmcgbmhhdSB5w6p1IGPhuqd1IHbDuW5nIGPDuW5nIHbhu5tpIGNodeG7l2kgY2hhLW3hurktxJHhuqd1LSIKLSJ0acOqbiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4NDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgotbXNnc3RyICJraMO0bmcgY8OzIMSRxrDhu51uZyBk4bqrbiAlcyB0cm9uZyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4NjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBibG9iICVzIGNobyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0iCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODc5CisjOiBidWlsdGluL2JsYW1lLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCiBtc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgogbXNnc3RyWzBdICJ04bqtcCB0aW4gJXMgY2jhu4kgY8OzICVsdSBkw7JuZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNgorIzogYnVpbHRpbi9ibGFtZS5jOjkyOAorbXNnaWQgIkJsYW1pbmcgbGluZXMiCittc2dzdHIgIkPDoWMgZMOybmcgYmxhbWUiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxjw6FjLXTDuXktY2jhu41uPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNworIzogYnVpbHRpbi9icmFuY2guYzoyOAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1sXSBbLWZdIDxicmFuY2gtbmFtZT4gWzxzdGFydC1wb2ludD5dIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstbF0gWy1mXSA8dMOqbi1uaMOhbmg+IFs8xJFp4buDbS3EkeG6p3U+XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyOAorIzogYnVpbHRpbi9icmFuY2guYzoyOQogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yXSAoLWQgfCAtRCkgPGJyYW5jaC1uYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbLXJdICgtZCB8IC1EKSA8dMOqbi1uaMOhbmg+IOKApiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyOQorIzogYnVpbHRpbi9icmFuY2guYzozMAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSAoLW0gfCAtTSkgWzxuaMOhbmgtY8WpPl0gPG5ow6FuaC1t4bubaT4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE0MworIzogYnVpbHRpbi9icmFuY2guYzozMgorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCittc2dzdHIgImdpdCBicmFuY2ggWzxjw6FjLXTDuXktY2jhu41uPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgpAQCAtNTA4OCw3ICs1NDM4LDcgQEAKICLEkWFuZyB4w7NhIG5ow6FuaCDigJwlc+KAnSBtw6AgbsOzIGzhuqFpIMSRw6MgxJHGsOG7o2MgaMOyYSB0cuG7mW4gdsOgb1xuIgogIiAgICAgICAgIOKAnCVz4oCdLCBuaMawbmcgduG6q24gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4gdsOgbyBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgpAQCAtNTA5NywxMiArNTQ0NywxMiBAQAogImtow7RuZyB4w7NhIG5ow6FuaCDigJwlc+KAnSBjw6FpIG3DoCBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbiB2w6BvXG4iCiAiICAgICAgICAg4oCcJXPigJ0sIGNobyBkw7kgbMOgIG7DsyDEkcOjIMSRxrDhu6NjIGjDsmEgdHLhu5luIHbDoG8gSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTYxCisjOiBidWlsdGluL2JyYW5jaC5jOjE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyBjaG8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY1CisjOiBidWlsdGluL2JyYW5jaC5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCkBAIC01MTExLDE2MyArNTQ2MSw5MSBAQAogIk5ow6FuaCDigJwlc+KAnSBraMO0bmcgxJHGsOG7o2MgdHLhu5luIG3hu5l0IGPDoWNoIMSR4bqneSDEkeG7py5cbiIKICJO4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4geMOzYSBuw7MsIHRow6wgY2jhuqF5IGzhu4duaCDigJxnaXQgYnJhbmNoIC1EICVz4oCdLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTgwCiBtc2dpZCAiVXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiQ+G6rXAgbmjhuq10IHThuq1wIHRpbiBj4bqldSBow6xuaCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjExCiBtc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZMO5bmcgdMO5eSBjaOG7jW4gLWEgduG7m2kgLWQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjEyCisjOiBidWlsdGluL2JyYW5jaC5jOjIxNwogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHTDrG0ga2nhur9tIMSR4buRaSB0xrDhu6NuZyBjaHV54buDbiBnaWFvIGNobyBIRUFEIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyNgorIzogYnVpbHRpbi9icmFuY2guYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOzYSBuaMOhbmgg4oCcJXPigJ0gxJHDoyDEkcaw4bujYyBs4bqleSByYSB04bqhaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgbmjDoW5oIHRoZW8gZMO1aSBtw6F5IGNo4bunIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBuaMOhbmgg4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1NworIzogYnVpbHRpbi9icmFuY2guYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJFhbmcgeMOzYSBuaMOhbmggdGhlbyBkw7VpIG3DoXkgY2jhu6cg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU4CisjOiBidWlsdGluL2JyYW5jaC5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHjDs2EgYuG7jyBuaMOhbmgg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY1CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIsSQw6MgeMOzYSBuaMOhbmggdGhlbyBkw7VpIG3DoXkgY2jhu6cgXCIlc1wiICh04burbmcgbMOgICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJOaMOhbmgg4oCcJXPigJ0gxJHDoyBi4buLIHjDs2EgKHThu6tuZyBsw6AgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogZ29uZV0iCi1tc2dzdHIgIlslczogxJHDoyByYSDEkWldIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXNdIgotbXNnc3RyICJbJXNdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCi1tc2dzdHIgIlslczogxJHhu6luZyBzYXUgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyNAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYmVoaW5kICVkXSIKLW1zZ3N0ciAiW8SR4bqxbmcgc2F1ICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZF0iCi1tc2dzdHIgIlslczogcGjDrWEgdHLGsOG7m2MgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgotbXNnc3RyICJbcGjDrWEgdHLGsOG7m2MgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgotbXNnc3RyICJbJXM6IHRyxrDhu5tjICVkLCBzYXUgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzNgotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCi1tc2dzdHIgIlt0csaw4bubYyAlZCwgc2F1ICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNDkKLW1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgotbXNnc3RyICIgKioqKiB0aGFtIGNoaeG6v3Uga2jDtG5nIGjhu6NwIGzhu4cgKioqKiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICIoa2jDtG5nIG5ow6FuaCwgxJFhbmcgY+G6o2kgdOG7lSAlcykiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKGtow7RuZyBuaMOhbmgsIGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MgxJHGsOG7o2MgYuG6r3QgxJHhuqd1IHThuqFpICVzKSIKLQotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKLSMuICJIRUFEIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKLW1zZ3N0ciAiKEhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG6oWkgJXMpIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4OQotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKLW1zZ3N0ciAiKEhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG7qyAlcykiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkzCi1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIihraMO0bmcgbmjDoW5oKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1MzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICJOaMOhbmggJXMgxJFhbmcgxJHGsOG7o2MgY+G6o2kgdOG7lSBs4bqhaSB04bqhaSAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAiTmjDoW5oICVzIMSRYW5nIMSRxrDhu6NjIGRpIGNodXnhu4NuIHBow6JuIMSRw7RpIChiaXNlY3QpIHThuqFpICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU1NAorIzogYnVpbHRpbi9icmFuY2guYzo0NjQKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buVaSB0w6puIG5ow6FuaCBoaeG7h24gaMOgbmggdHJvbmcga2hpIG7DsyBjaOG6s25nIOG7nyDEkcOidSBj4bqjLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIlTDqm4gbmjDoW5oIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkxCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7lWkgdMOqbiBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CisjOiBidWlsdGluL2JyYW5jaC5jOjQ5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAixJDDoyDEkeG7lWkgdMOqbiBuaMOhbmgga2h1eeG6v3QgZGFuaCDigJwlc+KAnSDEkWkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg4CisjOiBidWlsdGluL2JyYW5jaC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJOaMOhbmggYuG7iyDEkeG7lWkgdMOqbiB0aMOgbmggJXMsIG5oxrBuZyBIRUFEIGzhuqFpIGtow7RuZyDEkcaw4bujYyBj4bqtcCBuaOG6rXQhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NQorIzogYnVpbHRpbi9icmFuY2guYzo1MDYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIk5ow6FuaCBi4buLIMSR4buVaSB0w6puLCBuaMawbmcgY+G6rXAgbmjhuq10IHThuq1wIHRpbiBj4bqldSBow6xuaCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKQEAgLTUyNzgsMTY3ICs1NTU2LDE3NiBAQAogIiAgJXNcbiIKICJOaOG7r25nIGTDsm5nIMSRxrDhu6NjIGLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBj4bqvdCBi4buPLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0MworIzogYnVpbHRpbi9icmFuY2guYzo1NTUKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIlTDuXkgY2jhu41uIGNodW5nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NTcKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG3DoyBixINtIHbDoCBjaOG7pyDEkeG7gSwgxJHGsGEgcmEgaGFpIGzhuqduIGNobyBuaMOhbmggdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgImtow7RuZyB4deG6pXQgY8OhYyB0aMO0bmcgdGluIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NworIzogYnVpbHRpbi9icmFuY2guYzo1NTkKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAiY8OgaSDEkeG6t3QgY2jhur8gxJHhu5kgdGhlbyBkw7VpICh4ZW0gZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0OQorIzogYnVpbHRpbi9icmFuY2guYzo1NjEKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAidGhheSDEkeG7lWkgdGjDtG5nIHRpbiB0aMaw4bujbmcgbmd14buTbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAidXBzdHJlYW0iCiBtc2dzdHIgInRoxrDhu6NuZyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgInRoYXkgxJHhu5VpIHRow7RuZyB0aW4gdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NAogbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJC4buPIMSR4bq3dCB0aMO0bmcgdGluIHRoxrDhu6NuZyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MworIzogYnVpbHRpbi9icmFuY2guYzo1NjUKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgInTDtCBtw6B1IGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAidGhhbyB0w6FjIHRyw6puIG5ow6FuaCDigJxyZW1vdGUtdHJhY2tpbmfigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU2IGJ1aWx0aW4vYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OCBidWlsdGluL2JyYW5jaC5jOjU3MAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIG5ow6FuaCBtw6AgbsOzIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MAorIzogYnVpbHRpbi9icmFuY2guYzo1NjkgYnVpbHRpbi9icmFuY2guYzo1NzEKK21zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgbmjhu69uZyBuaMOhbmggbcOgIG7DsyBraMO0bmcgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc0CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiSMOgbmggxJHhu5luZyBnaXQtYnJhbmNoOiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc1CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImxp4buHdCBrw6ogY+G6oyBuaMOhbmgg4oCccmVtb3RlLXRyYWNraW5n4oCdIHbDoCBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MworIzogYnVpbHRpbi9icmFuY2guYzo1NzcKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAieMOzYSBt4buZdCB0b8OgbiBi4buZIG5ow6FuaCDEkcOjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9icmFuY2guYzo1NzgKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJ4w7NhIG5ow6FuaCAoY2hvIGTDuSBsw6AgY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9icmFuY2guYzo1NzkKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiZGkgY2h1eeG7g24gaGF5IMSR4buVaSB0w6puIG3hu5l0IG5ow6FuaCB2w6AgcmVmbG9nIGPhu6dhIG7DsyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgwCiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiZGkgY2h1eeG7g24gaG/hurdjIMSR4buVaSB0w6puIG3hu5l0IG5ow6FuaCBuZ2F5IGPhuqMga2hpIMSRw61jaCDEkcOjIGPDsyBz4bq1biIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgxCiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OhYyB0w6puIG5ow6FuaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgyCiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgInThuqFvIHJlZmxvZyBj4bunYSBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICJz4butYSBtw7QgdOG6oyBjaG8gbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MQorIzogYnVpbHRpbi9icmFuY2guYzo1ODUKIG1zZ2lkICJmb3JjZSBjcmVhdGlvbiwgbW92ZS9yZW5hbWUsIGRlbGV0aW9uIgogbXNnc3RyICJideG7mWMgdOG6oW8sIGRpIGNodXnhu4NuL8SR4buVaSB0w6puLCB4w7NhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9icmFuY2guYzo1ODYKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgbmjDoW5oIG3DoCBuw7MgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjczCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgbmjDoW5oIG3DoCBuw7Mga2jDtG5nIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NAorIzogYnVpbHRpbi9icmFuY2guYzo1ODgKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OhYyBuaMOhbmggdHJvbmcgY8OhYyBj4buZdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzUgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjM4MQorIzogYnVpbHRpbi9icmFuY2guYzo1ODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgImtleSIKIG1zZ3N0ciAia2jDs2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzozODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgInTDqm4gdHLGsOG7nW5nIGPhuqduIHPhuq9wIHjhur9wIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3OCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCi0jOiBidWlsdGluL3RhZy5jOjM4NAorIzogYnVpbHRpbi9icmFuY2guYzo1OTIgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDA3CisjOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzAgYnVpbHRpbi9ub3Rlcy5jOjU3MworIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyBuaMOhbmggY+G7p2EgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2IGJ1aWx0aW4vdGFnLmM6Mzg4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4IGJ1aWx0aW4vdGFnLmM6NDM1CiBtc2dpZCAic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIgogbXNnc3RyICJz4bqvcCB44bq/cCB2w6AgbOG7jWMgbMOgIHBow6JuIGJp4buHdCBIT0EgdGjGsOG7nW5nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY5OAorIzogYnVpbHRpbi9icmFuY2guYzo1OTYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQzNAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKK21zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgorbXNnc3RyICLEkeG7i25oIGThuqFuZyBz4bq9IGTDuW5nIGNobyDEkeG6p3UgcmEiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE1CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiBnaeG6o2kgSEVBRCBuaMawIGzDoCBt4buZdCB0aGFtIGNoaeG6v3UgaOG7o3AgbOG7hy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzAyIGJ1aWx0aW4vY2xvbmUuYzo3MDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE5IGJ1aWx0aW4vY2xvbmUuYzo3MjgKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IEhFQUQg4bufIGTGsOG7m2kgcmVmcy9oZWFkcyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI0CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1jb2x1bW4gdsOgIC0tdmVyYm9zZSB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNSBidWlsdGluL2JyYW5jaC5jOjc4NworIzogYnVpbHRpbi9icmFuY2guYzo2NTMgYnVpbHRpbi9icmFuY2guYzo3MDUKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAiY+G6p24gY2jhu4kgcmEgdMOqbiBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCisjOiBidWlsdGluL2JyYW5jaC5jOjY4MQogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkcawYSByYSBtw7QgdOG6oyBIRUFEIMSRw6MgdMOhY2ggcuG7nWkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY4CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NgogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICJraMO0bmcgdGjhu4Mgc+G7rWEgbcO0IHThuqMgY2hvIG5oaeG7gXUgaMahbiBt4buZdCBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc1CisjOiBidWlsdGluL2JyYW5jaC5jOjY5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiVuG6q24gY2jGsGEgY2h1eeG7g24gZ2lhbyB0csOqbiBuaMOhbmgg4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3OAorIzogYnVpbHRpbi9icmFuY2guYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJLaMO0bmcgY8OzIG5ow6FuaCBuw6BvIGPDsyB0w6puIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzExCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IG5ow6FuaCBkw6BuaCBjaG8gdGhhbyB0w6FjIMSR4buVaSB0w6puIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5OAorIzogYnVpbHRpbi9icmFuY2guYzo3MTYKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICJxdcOhIG5oaeG7gXUgbmjDoW5oIMSRxrDhu6NjIMSR4bq3dCBjaG8gdGjGsOG7o25nIG5ndeG7k24gbeG7m2kiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCkBAIC01NDQ2LDQwICs1NzMzLDQwIEBACiAia2jDtG5nIHRo4buDIMSR4bq3dCB0aMaw4bujbmcgbmd14buTbiBj4bunYSBIRUFEIHRow6BuaCAlcyBraGkgbcOgIG7DsyBjaOG6s25nIGNo4buJIMSR4bq/biBuaMOhbmggIgogIm7DoG8gY+G6oy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1IGJ1aWx0aW4vYnJhbmNoLmM6ODI3IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMyBidWlsdGluL2JyYW5jaC5jOjc0NSBidWlsdGluL2JyYW5jaC5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJraMO0bmcgY8OzIG5ow6FuaCBuw6BvIG5oxrAgdGjhur8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA5CisjOiBidWlsdGluL2JyYW5jaC5jOjcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiY2jGsGEgY8OzIG5ow6FuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM5CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgInF1w6Egbmhp4buBdSBuaMOhbmggxJHhu4MgYuG7jyDEkeG6t3QgdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBi4buPIMSR4bq3dCB0aMaw4bujbmcgbmd14buTbiBj4bunYSBIRUFEIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbmjDoW5oIG7DoG8gY+G6oy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCisjOiBidWlsdGluL2JyYW5jaC5jOjc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCiBtc2dzdHIgIk5ow6FuaCDigJwlc+KAnSBraMO0bmcgY8OzIHRow7RuZyB0aW4gdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjc2MwogbXNnaWQgIml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlICdIRUFEJyBtYW51YWxseSIKIG1zZ3N0ciAia2jDtG5nIGjhu6NwIGzDvSBraGkgdOG6oW8g4oCcSEVBROKAnSB0aOG7pyBjw7RuZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CiBtc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogImhhaSB0w7l5IGNo4buNbiAtYSB2w6AgLXIgw6FwIGThu6VuZyBjaG8gbOG7h25oIOKAnGdpdCBicmFuY2jigJ0ga2jDtG5nIGjhu6NwIGzDvSDEkeG7kWkgduG7m2kgdMOqbiAiCiAibmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1NAorIzogYnVpbHRpbi9icmFuY2guYzo3NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS0iCkBAIC01NDg4LDcgKzU3NzUsNyBAQAogIkPhu50gLS1zZXQtdXBzdHJlYW0gxJHDoyBs4bqhYyBo4bqtdSB2w6Agc+G6vSBi4buLIHjDs2EgYuG7jy4gTsOqbiBkw7luZyAtLXRyYWNrIGhv4bq3YyAtLXNldC0iCiAidXBzdHJlYW0tdG9cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4NzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTU0OTksMjAgKzU3ODYsMjAgQEAKICJO4bq/dSBi4bqhbiBtdeG7kW4g4oCcJXPigJ0gdGhlbyBkw7VpIOKAnCVz4oCdLCB0aOG7sWMgaGnhu4duIGzhu4duaCBzYXU6XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NTEKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgb2theVxuIgogbXNnc3RyICLigJwlc+KAnSB04buRdFxuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjY0CisjOiBidWlsdGluL2J1bmRsZS5jOjU4CiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKIG1zZ3N0ciAiQ+G6p24gbeG7mXQga2hvIGNo4bupYSDEkeG7gyBjw7MgdGjhu4MgdOG6oW8gbeG7mXQgYnVuZGxlLiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo2OAorIzogYnVpbHRpbi9idW5kbGUuYzo2MgogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiQ+G6p24gbeG7mXQga2hvIGNo4bupYSDEkeG7gyBjw7MgdGjhu4MgZ2nhuqNpIG7DqW4gbeG7mXQgYnVuZGxlLiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxOQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC01NTIwLDcgKzU4MDcsNyBAQAogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDxraeG7g3U+IHwgLS10ZXh0Y29udikgfCAtLWZpbHRlcnMpIFstLXBhdGg9PMSRxrDhu51uZy9k4bqrbj5dIDzEkeG7kWlfdMaw4bujbmc+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTE0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTIwCiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKQEAgLTU1MjgsMzA0ICs1ODE1LDMwNCBAQAogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NwogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPGtp4buDdT4gbMOgIG3hu5l0IHRyb25nIHPhu5E6IGJsb2IsIHRyZWUsIGNvbW1pdCBob+G6t2MgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGtp4buDdSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTkKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICJoaeG7g24gdGjhu4sga8OtY2ggdGjGsOG7m2MgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxCiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJ0aG/DoXQgduG7m2kgMCBraGkga2jDtG5nIGPDsyBs4buXaSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJpbiBu4buZaSBkdW5nIMSR4buRaSB0xrDhu6NuZyBk4bqhbmcgZOG7hSDEkeG7jWMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiduG7m2kgxJHhu5FpIHTGsOG7o25nIGJsb2IsIGNo4bqheSBs4buHbmggdGV4dGNvbnYgdHLDqm4gbuG7mWkgZHVuZyBj4bunYSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjYKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJ24bubaSDEkeG7kWkgdMaw4bujbmcgYmxvYiwgY2jhuqF5IGzhu4duaCBmaWx0ZXJzIHRyw6puIG7hu5lpIGR1bmcgY+G7p2EgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3IGdpdC1zdWJtb2R1bGUuc2g6OTQ0CiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAiYmxvYiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2OAogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICJkw7luZyBt4buZdCDEkcaw4budbmcgZOG6q24gcsO1IHLDoG5nIGNobyAtLXRleHRjb252Ly0tZmlsdGVycyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAiY2hvIHBow6lwIC1zIHbDoCAtdCDEkeG7gyBsw6BtIHZp4buHYyB24bubaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBzYWkvaOG7j25nIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTY1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTcxCiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICLEkeG7h20ga+G6v3QgeHXhuqV0IC0tYmF0Y2giCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKICJoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB2w6AgbuG7mWkgZHVuZyBj4bunYSBjw6FjIMSR4buRaSB0xrDhu6NuZyBs4bqleSB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzYKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHRow7RuZyB0aW4gduG7gSDEkeG7kWkgdMaw4bujbmcgZmVkICB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzkKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgInRoZW8gbGnDqm4ga+G6v3QgbeG7gW0gdHJvbmctY8OieSAoxJHGsOG7o2MgZMO5bmcgduG7m2kgLS1iYXRjaCBoYXkgLS1iYXRjaC1jaGVjaykiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODEKIG1zZ2lkICJzaG93IGFsbCBvYmplY3RzIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbeG7jWkgxJHhu5FpIHTGsOG7o25nIHbhu5tpIC0tYmF0Y2ggaGF5IC0tYmF0Y2gtY2hlY2siCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjExCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMgogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+4oCmXSBbLS1dIHTDqm4txJHGsOG7nW5nLWThuqtu4oCmIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMgorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTMKIG1zZ2lkICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8YXR0cj7igKZdIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxOQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKIG1zZ2lkICJyZXBvcnQgYWxsIGF0dHJpYnV0ZXMgc2V0IG9uIGZpbGUiCiBtc2dzdHIgImLDoW8gY8OhbyB04bqldCBj4bqjIGPDoWMgdGh14buZYyB0w61uaCDEkeG6t3QgdHLDqm4gdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKIG1zZ2lkICJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiY2jhu4kgZMO5bmcgLmdpdGF0dHJpYnV0ZXMgdOG7qyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICLEkeG7jWMgdMOqbiB04bqtcCB0aW4gdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNo4bqlbSBk4bupdCBjw6FjIGLhuqNuIGdoaSB2w6BvIHbDoCByYSBi4bqxbmcga8O9IHThu7EgTlVMTCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL2djLmM6MzMyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vZ2MuYzozNTcKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgImNo4bq3biBjw6FjIGLDoW8gY8OhbyB0aeG6v24gdHLDrG5oIGhv4bqhdCDEkeG7mW5nIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBuaOG7r25nIMSRxrDhu51uZyBk4bqrbiDEkeG6p3UgdsOgbyBraMO0bmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMwCiBtc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCiBtc2dzdHIgImLhu48gcXVhIG3hu6VjIGzhu6VjIGtoaSBraeG7g20gdHJhIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTgKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhu4kgxJHhu4tuaCBjw6FjIHTDqm4gxJHGsOG7nW5nIGThuqtuIHbhu5tpIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MQogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICIteiBjaOG7iSBo4bujcCBsw70gduG7m2kgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgImNoxrBhIGNo4buJIHJhIMSRxrDhu51uZyBk4bqrbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY3CiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIi0tcXVpZXQgY2jhu4kgaOG7o3AgbOG7hyB24bubaSB0w6puIMSRxrDhu51uZyBk4bqrbiDEkcahbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5CiBtc2dpZCAiY2Fubm90IGhhdmUgYm90aCAtLXF1aWV0IGFuZCAtLXZlcmJvc2UiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkw7luZyBj4bqjIGhhaSB0w7l5IGNo4buNbiAtLXF1aWV0IHbDoCAtLXZlcmJvc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MgogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgInTDuXktY2jhu41uIC0tbm9uLW1hdGNoaW5nIGNo4buJIGjhu6NwIGzhu4cga2hpIGTDuW5nIHbhu5tpIC0tdmVyYm9zZSIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6OAorIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6OQogbXNnaWQgImdpdCBjaGVjay1tYWlsbWFwIFs8b3B0aW9ucz5dIDxjb250YWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrLW1haWxtYXAgWzxjw6FjLXTDuXktY2jhu41uPl0gPGRhbmgtYuG6oT7igKYiCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjEzCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxNAogbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICLEkeG7k25nIHRo4budaSDEkeG7jWMgY8OhYyBkYW5oIGLhuqEgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNAorIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbnRhY3Q6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggZGFuaCBi4bqhOiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDcKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjQ4CiBtc2dpZCAibm8gY29udGFjdHMgc3BlY2lmaWVkIgogbXNnc3RyICJjaMawYSBjaOG7iSByYSBkYW5oIGLhuqEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMjgKIG1zZ2lkICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8Y8OhYy10w7l5LWNo4buNbj5dIFstLV0gWzx04bqtcC10aW4+4oCmXSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NQogbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgogbXNnc3RyICJzdGFnZSBuw6puIGdp4buvYSAxIHbDoCAzIGhheSBhbGwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKIG1zZ2lkICJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAibOG6pXkgcmEgdG/DoG4gYuG7mSBjw6FjIHThuq1wIHRpbiB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjIKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgZXhpc3RpbmcgZmlsZXMiCiBtc2dzdHIgIsOpcCBideG7mWMgZ2hpIMSRw6ggbMOqbiB04bqtcCB0aW4gxJHDoyBz4bq1biBjw7MgdOG7qyB0csaw4bubYyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAogbXNnaWQgIm5vIHdhcm5pbmcgZm9yIGV4aXN0aW5nIGZpbGVzIGFuZCBmaWxlcyBub3QgaW4gaW5kZXgiCiBtc2dzdHIgIiIKICJraMO0bmcgY+G6o25oIGLDoW8gY2hvIG5o4buvbmcgdOG6rXAgdGluIHThu5NuIHThuqFpIHbDoCBraMO0bmcgY8OzIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NgogbXNnaWQgImRvbid0IGNoZWNrb3V0IG5ldyBmaWxlcyIKIG1zZ3N0ciAia2jDtG5nIGNoZWNrb3V0IGPDoWMgdOG6rXAgdGluIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgImPhuq1wIG5o4bqtdCB0aMO0bmcgdGluIHRo4buRbmcga8OqIHRyb25nIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAixJHhu41jIGRhbmggc8OhY2ggxJHGsOG7nW5nIGThuqtuIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAiZ2hpIG7hu5lpIGR1bmcgdsOgbyB04bqtcCB0aW4gdOG6oW0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQgYnVpbHRpbi9jb2x1bW4uYzozMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUgYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzgKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgImNodeG7l2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzYKIG1zZ2lkICJ3aGVuIGNyZWF0aW5nIGZpbGVzLCBwcmVwZW5kIDxzdHJpbmc+IgogbXNnc3RyICJraGkgdOG6oW8gY8OhYyB04bqtcCB0aW4sIG7hu5FpIHRow6ptIDxjaHXhu5dpPiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICJzYW8gY2jDqXAgcmEgY8OhYyB04bqtcCB0aW4gdOG7qyBi4buHIHBow7NuZyBjw7MgdMOqbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gPGJyYW5jaD4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8bmjDoW5oPiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPG5ow6FuaD5dIC0tIDx04bqtcC10aW4+4oCmIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzUgYnVpbHRpbi9jaGVja291dC5jOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyBjw7MgY8OhYyBwaGnDqm4gYuG6o24gY+G7p2EgY2jDum5nIHRhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcgYnVpbHRpbi9jaGVja291dC5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGPDsyBjw6FjIHBoacOqbiBi4bqjbiBj4bunYSBjaMO6bmciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyBjw7MgdOG6pXQgY+G6oyBjw6FjIHBoacOqbiBi4bqjbiBj4bqnbiB0aGnhur90IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyBjw7MgY8OhYyBwaGnDqm4gYuG6o24gY+G6p24gdGhp4bq/dCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIxMworIzogYnVpbHRpbi9jaGVja291dC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdOiBraMO0bmcgdGjhu4MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCBtZXJnZSByZXN1bHQgZm9yICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aMOqbSBr4bq/dCBxdeG6oyBow7JhIHRy4buZbiBjaG8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAgYnVpbHRpbi9jaGVja291dC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MjU2Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTYgYnVpbHRpbi9jaGVja291dC5jOjI1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgImtow7RuZyDEkcaw4bujYyBkw7luZyDigJwlc+KAnSB24bubaSBjw6FjIMSRxrDhu51uZyBk4bqrbiBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjIgYnVpbHRpbi9jaGVja291dC5jOjI2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2NSBidWlsdGluL2NoZWNrb3V0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAia2jDtG5nIMSRxrDhu6NjIGTDuW5nIOKAnCVz4oCdIHbhu5tpICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgY8OhYyDEkcaw4budbmcgZOG6q24gdsOgIGNodXnhu4NuIMSR4bq/biBuaMOhbmgg4oCcJXPigJ0gY8O5bmcgbeG7mXQgbMO6Yy4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjM0MiBidWlsdGluL2NoZWNrb3V0LmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJi4bqhbiBj4bqnbiBwaOG6o2kgZ2nhuqNpIHF1eeG6v3QgYuG6o25nIG3hu6VjIGzhu6VjIGhp4buHbiB04bqhaSBj4bunYSBi4bqhbiB0csaw4bubYyDEkcOjIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiByZWZsb2cgY2hvIOKAnCVz4oCdOiAlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjY5CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQgaGnhu4duIGdp4budIHThuqFpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjcwIGJ1aWx0aW4vY2xvbmUuYzo2NjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzMgYnVpbHRpbi9jbG9uZS5jOjY4MgogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIsSQ4bq3dCBs4bqhaSBuaMOhbmgg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NworIzogYnVpbHRpbi9jaGVja291dC5jOjY4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAixJDDoyBz4bq1biBzw6BuZyB0csOqbiDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLEkMOjIGNodXnhu4NuIHThu5tpIHbDoCDEkeG6t3QgbOG6oWkgbmjDoW5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODMgYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODYgYnVpbHRpbi9jaGVja291dC5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDDoyBjaHV54buDbiDEkeG6v24gbmjDoW5oIG3hu5tpIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDDoyBjaHV54buDbiDEkeG6v24gbmjDoW5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIOKApiB2w6Agbmhp4buBdSBoxqFuICVkLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNTg0NCw3ICs2MTMxLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTU4NjUsMTY3ICs2MTUyLDE2NCBAQAogIiBnaXQgYnJhbmNoIDx0w6puX25ow6FuaF9t4bubaT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjgwMAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImzhu5dpIG7hu5lpIGLhu5kgdHJvbmcga2hpIGRpIGNodXnhu4NuIHF1YSBjw6FjIMSRaeG7g20geMOpdCBkdXnhu4d0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODA0CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIlbhu4sgdHLDrSB0csaw4bubYyBraWEgY+G7p2EgSEVBRCBsw6AiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjggYnVpbHRpbi9jaGVja291dC5jOjEwNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MzIgYnVpbHRpbi9jaGVja291dC5jOjEwNzAKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJC4bqhbiB04bqhaSBuaMOhbmggbcOgIG7DsyBjaMawYSBo4buBIMSRxrDhu6NjIHNpbmggcmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgImNo4buJIGPhuqduIG3hu5l0IHRoYW0gY2hp4bq/dSwgbmjGsG5nIGzhuqFpIMSRxrBhIHJhICVkLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTMgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTYgYnVpbHRpbi93b3JrdHJlZS5jOjIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgInRoYW0gY2hp4bq/dSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgInRoYW0gY2hp4bq/dSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBjw6J5OiVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODQKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiY8OhYyDEkcaw4budbmcgZOG6q24ga2jDtG5nIHRo4buDIGTDuW5nIGPDuW5nIHbhu5tpIGPDoWMgbmjDoW5oIGNodXnhu4NuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NCBidWlsdGluL2NoZWNrb3V0LmM6MTA4OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODcgYnVpbHRpbi9jaGVja291dC5jOjEwOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIHbhu5tpIGPDoWMgbmjDoW5oIGNodXnhu4NuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NSBidWlsdGluL2NoZWNrb3V0LmM6MTEwMAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIGTDuW5nIHbhu5tpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaHV54buDbiBuaMOhbmggxJHhur9uIG3hu5l0IHRo4bupIGtow7RuZyBwaOG6o2kgbMOgIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vY2xvbmUuYzo5MwotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyNAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQgYnVpbHRpbi9jaGVja291dC5jOjExNDYgYnVpbHRpbi9jbG9uZS5jOjExMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjYgYnVpbHRpbi9yZW1vdGUuYzoxNjggYnVpbHRpbi93b3JrdHJlZS5jOjMyOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzMAogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAibmjDoW5oIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAidOG6oW8gdsOgIGNoZWNrb3V0IG3hu5l0IG5ow6FuaCBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAidOG6oW8vxJHhurd0X2zhuqFpIHbDoCBjaGVja291dCBt4buZdCBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OAogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInThuqFvIHJlZmxvZyBjaG8gbmjDoW5oIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OSBidWlsdGluL3dvcmt0cmVlLmM6MzMyCiBtc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJy4budaSBi4buPIEhFQUQgdOG6oWkgbOG6p24gY2h1eeG7g24gZ2lhbyB0aGVvIHTDqm4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLEkeG6t3QgdGjDtG5nIHRpbiB0aMaw4bujbmcgbmd14buTbiBjaG8gbmjDoW5oIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICJuaMOhbmgtbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAibmjDoW5oIGtow7RuZyBjaGEgbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MwogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogImzhuqV5IHJhIChjaGVja291dCkgcGhpw6puIGLhuqNuIGPhu6dhIGNow7puZyB0YSBjaG8gY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICIiCiAibOG6pXkgcmEgKGNoZWNrb3V0KSBwaGnDqm4gYuG6o24gY+G7p2EgY2jDum5nIGjhu40gY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTcKIG1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKIG1zZ3N0ciAiw6lwIGJ14buZYyBs4bqleSByYSAoYuG7jyDEkWkgbmjhu69uZyB0aGF5IMSR4buVaSBu4buZaSBi4buZKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgInRo4buxYyBoaeG7h24gaMOyYSB0cuG7mW4ga2nhu4N1IDMtd2F5IHbhu5tpIG5ow6FuaCBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTYgYnVpbHRpbi9tZXJnZS5jOjIzNQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTkgYnVpbHRpbi9tZXJnZS5jOjIzNQogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NyBidWlsdGluL2xvZy5jOjE0NjYgcGFyc2Utb3B0aW9ucy5oOjI1MQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAgYnVpbHRpbi9sb2cuYzoxNDgzIHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAia2nhu4N1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICJ4dW5nIMSR4buZdCBraeG7g3UgKGjDsmEgdHLhu5luIGhv4bq3YyBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAia2jDtG5nIGdp4bubaSBo4bqhbiDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24gdGjDoG5oIGNo4buJIGPDoWMgbeG7pWMgdGjGsGEgdGjhu5t0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MworIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAiZ+G7o2kgw70gdGjhu6kgaGFpIFwiZ2l0IGNoZWNrb3V0IDxraMO0bmctbmjDoW5oLW7DoG8tbmjGsC124bqteT5cIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY4CiBtc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgogbXNnc3RyICJraMO0bmcga2nhu4NtIHRyYSBu4bq/dSBjw6J5IGzDoG0gdmnhu4djIGtow6FjIMSRYW5nIGdp4buvIHRoYW0gY2hp4bq/dSDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzOQotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyIGJ1aWx0aW4vY2xvbmUuYzo4MCBidWlsdGluL2ZldGNoLmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjMyIGJ1aWx0aW4vcHVsbC5jOjEyMCBidWlsdGluL3B1c2guYzo1NDQKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLDqXAgYnXhu5ljIGLDoW8gY8OhbyB0aeG6v24gdHJp4buDbiBjw7RuZyB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwMwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiAtYiwgLUIgdsOgIC0tb3JwaGFuIGxv4bqhaSB04burIGzhuqtuIG5oYXUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyMAogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayBj4bqnbiB0w6puIG3hu5l0IG5ow6FuaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjI1CiBtc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICJUaGnhur91IHTDqm4gbmjDoW5oOyBow6N5IHRo4butIC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjEKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIMSRw6MgY2hvIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgotIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IgorbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCiBtc2dzdHIgIiIKLSJLaMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IHbDoCBjaHV54buDbiB0aMOgbmggbmjDoW5oIOKAnCVz4oCdIGPDuW5nIGzDumNcbiIKLSJC4bqhbiDEkcOjIGPDsyDDvSDEkeG7i25oIGNoZWNrb3V0IOKAnCVz4oCdIGPDoWkgbcOgIGtow7RuZyB0aOG7gyDEkcaw4bujYyBwaMOibiBnaeG6o2kgbmjGsCBsw6AgbOG6p24gIgotImNodXnhu4NuIGdpYW8/IgorIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdsOgIG3hu5l0IG5ow6FuaCclc+KAnSBraMO0bmcgdGjhu4MgxJHGsOG7o2MgdOG6oW8gIgorInThu6sgxJHDsyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBraMO0bmcgbmjhuq1uIG3hu5l0IMSR4buRaSBz4buRIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjc2CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNjAzMywzOCArNjMxNywzOCBAQAogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIHbDoCAtLW1lcmdlIGzDoCB4dW5nIGto4bqvYyB24bubaSBuaGF1IGtoaVxuIgogImNoZWNrb3V0IGLhuqNuZyBt4bulYyBs4bulYyAoaW5kZXgpLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI1CisjOiBidWlsdGluL2NsZWFuLmM6MjYKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPG3huqt1Pl0gWy14IHwgLVhdIFstLV0gPMSRxrDhu51uZy1k4bqrbj7igKYiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIsSQYW5nIGfhu6EgYuG7jyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAiQ8OzIHRo4buDIGfhu6EgYuG7jyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzEKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIsSQYW5nIGLhu48gcXVhIGtobyBjaOG7qWEgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIk7Dqm4gYuG7jyBxdWEga2hvIGNo4bupYSAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ+G7oSBi4buPICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIzCisjOiBidWlsdGluL2NsZWFuLmM6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTYwNzcsNyArNjM2MSw3IEBACiAiZm9vICAgICAgICAtIGNo4buNbiBt4bulYyB0csOqbiBjxqEgc+G7nyB0aeG7gW4gdOG7kSBkdXkgbmjhuqV0XG4iCiAiICAgICAgICAgICAtICjEkeG7gyB0cuG7kW5nKSBraMO0bmcgY2jhu41uIGfDrCBj4bqjXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtNjA5OCwzOCArNjM4MiwzOCBAQAogIiogICAgICAgICAgLSBjaOG7jW4gdOG6pXRcbiIKICIgICAgICAgICAgIC0gKMSR4buDIHRy4buRbmcpIGvhur90IHRow7pjIHZp4buHYyBjaOG7jW5cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU5OAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NDcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTUyCiAjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT9cbiIKIG1zZ3N0ciAiSOG6oyAoJXMpP1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjUzCisjOiBidWlsdGluL2NsZWFuLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAiTeG6q3UgxJHhu4MgbOG7jWMgY8OhYyB04bqtcCB0aW4gxJHhuqd1IHbDoG8gY+G6p24gbOG7nSDEkWk+PiAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2OTAKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCiBtc2dzdHIgIkPhuqJOSCBCw4FPOiBLaMO0bmcgdMOsbSB0aOG6pXkgY8OhYyBt4bulYyDEkcaw4bujYyBraOG7m3AgYuG7n2k6ICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzExCisjOiBidWlsdGluL2NsZWFuLmM6NzE4CiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAiQ2jhu41uIG3hu6VjIG114buRbiB4w7NhIgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGtlZXAgW3kvTl0gYXMgaXMKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZlICVzIFt5L05dPyAiCiBtc2dzdHIgIljDs2EgYuG7jyDigJwlc+KAnSBbeS9OXT8gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzc3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2OQorIzogYnVpbHRpbi9jbGVhbi5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnllLlxuIgogbXNnc3RyICJU4bqhbSBiaeG7h3QuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTIKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtNjE0Nyw2MSArNjQzMSw2MiBAQAogImhlbHAgICAgICAgICAgICAgICAgLSBoaeG7g24gdGjhu4sgY2jDrW5oIHRy4bujIGdpw7pwIG7DoHlcbiIKICI/ICAgICAgICAgICAgICAgICAgIC0gdHLhu6MgZ2nDunAgZMOgbmggY2hvIGNo4buNbiBi4bqxbmcgY8OhY2ggbmjhuq9jIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODEyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NQorIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIqKiogTOG7h25oICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg5CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIkdp4budIHRow6wgc2FvIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODIxCisjOiBidWlsdGluL2NsZWFuLmM6ODI4CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAiQ8OzIG114buRbiBn4buhIGLhu48gKGPDoWMpIG3hu6VjIHNhdSDEkcOieSBraMO0bmc6IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODM4CisjOiBidWlsdGluL2NsZWFuLmM6ODQ0CiBtc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCiBtc2dzdHIgIktow7RuZyBjw7JuIHThuq1wLXRpbiBuw6BvIMSR4buDIGThu41uIGThurlwLCDEkWFuZyB0aG/DoXQgcmEuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODY5CisjOiBidWlsdGluL2NsZWFuLmM6OTA2CiBtc2dpZCAiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgdMOqbiBj4bunYSBjw6FjIHThuq1wIHRpbiDEkcOjIGfhu6EgYuG7jyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3MQorIzogYnVpbHRpbi9jbGVhbi5jOjkwOAogbXNnaWQgImZvcmNlIgogbXNnc3RyICLDqXAgYnXhu5ljIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcyCisjOiBidWlsdGluL2NsZWFuLmM6OTA5CiBtc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCiBtc2dzdHIgImThu41uIGLhurFuZyBraeG7g3UgdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc0CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJn4buhIGLhu48gdG/DoG4gYuG7mSB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6MTA1NgotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOCBidWlsdGluL25hbWUtcmV2LmM6MzEzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjQ1MiBidWlsdGluL2Rlc2NyaWJlLmM6NDU0CisjOiBidWlsdGluL2dyZXAuYzoxMDgyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDYgYnVpbHRpbi9uYW1lLXJldi5jOjM5NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OSBidWlsdGluL3Nob3ctcmVmLmM6MTc2CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAibeG6q3UiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTMKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAidGjDqm0gPG3huqt1PiB2w6BvIHRyb25nIHF1aSB04bqvYyBi4buPIHF1YSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NworIzogYnVpbHRpbi9jbGVhbi5jOjkxNAogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgIsSR4buTbmcgdGjhu51pIGfhu6EgYuG7jyBj4bqjIGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJjaOG7iSBn4buhIGLhu48gbmjhu69uZyB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg5NworIzogYnVpbHRpbi9jbGVhbi5jOjkzNAogbXNnaWQgIi14IGFuZCAtWCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiLXggdsOgIC1YIGtow7RuZyB0aOG7gyBkw7luZyBjw7luZyBuaGF1IgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTAxCisjOiBidWlsdGluL2NsZWFuLmM6OTM4CiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBzZXQgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgogImNsZWFuIgpAQCAtNjIwOSw3ICs2NDk0LDcgQEAKICJjbGVhbi5yZXF1aXJlRm9yY2UgxJHGsOG7o2MgxJHhurd0IHRow6BuaCB0cnVlIHbDoCBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gLWksIC1uIG3DoCAiCiAiY8Wpbmcga2jDtG5nIC1mOyB04burIGNo4buRaSBs4buHbmggZOG7jW4gZOG6uXAgKGNsZWFuKSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtNjIxNywxMzMgKzY1MDIsMTQ0IEBACiAiY2xlYW4ucmVxdWlyZUZvcmNlIG3hurdjIMSR4buLbmggxJHGsOG7o2MgxJHhurd0IGzDoCB0cnVlIHbDoCBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gLWksIC1uICIKICJtw6AgY8Wpbmcga2jDtG5nIC1mOyB04burIGNo4buRaSBs4buHbmggZOG7jW4gZOG6uXAgKGNsZWFuKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3CisjOiBidWlsdGluL2Nsb25lLmM6MzgKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstLV0gPGtobz4gWzx0Lm3hu6VjPl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NQorIzogYnVpbHRpbi9jbG9uZS5jOjgyCiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgImtow7RuZyB04bqhbyBt4buZdCBjaGVja291dCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY2IGJ1aWx0aW4vY2xvbmUuYzo2OCBidWlsdGluL2luaXQtZGIuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9pbml0LWRiLmM6NDc5CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJ04bqhbyBraG8gdGh14bqnbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcwCisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAidOG6oW8ga2hvIGLhuqNuIHNhbyAow70gbMOgIGtobyB0aHXhuqduKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyCisjOiBidWlsdGluL2Nsb25lLmM6ODkKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAixJHhu4MgbmjDom4gYuG6o24gdOG7qyBraG8gbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc0CisjOiBidWlsdGluL2Nsb25lLmM6OTEKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAia2jDtG5nIHPhu60gZOG7pW5nIGxpw6puIGvhur90IGPhu6luZyBu4buZaSBi4buZLCBsdcO0biBzYW8gY2jDqXAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NgorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgImPDoGkgxJHhurd0IMSRw6J5IGzDoCBraG8gY2hpYSBz4bq7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9jbG9uZS5jOjk5Cittc2dpZCAicGF0aHNwZWMiCittc2dzdHIgIsSR4bq3Yy104bqjLcSRxrDhu51uZy1k4bqrbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vY2xvbmUuYzo5OQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImto4bufaSB04bqhbyBtw7QtxJF1bi1jb24gdHJvbmcgYuG6o24gc2FvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgInPhu5EgbMaw4bujbmcgbcO0LcSRdW4tY29uIMSRxrDhu6NjIG5ow6JuIGLhuqNuIMSR4buTbmcgdGjhu51pIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6MTAzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAidGjGsC1t4bulYy1t4bqrdSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2luaXQtZGIuYzo0NzcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJ0aMawIG3hu6VjIG3DoCB04bqhaSDEkcOzIGPDoWMgbeG6q3Ugc+G6vSDEkcaw4bujYyBkw7luZyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY2xvbmUuYzo4OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA0Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTcwCisjOiBidWlsdGluL2Nsb25lLmM6MTA2IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4MwogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICJraG8gdGhhbSBjaGnhur91IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICJjaOG7iSBkw7luZyAtLXJlZmVyZW5jZSBraGkgbmjDom4gYuG6o24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJ0w6puIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgImTDuW5nIDx0w6puPiB0aGF5IGNobyDigJxvcmlnaW7igJ0gxJHhu4MgdGhlbyBkw7VpIHRoxrDhu6NuZyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICJs4bqleSByYSA8bmjDoW5oPiB0aGF5IGNobyBIRUFEIGPhu6dhIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNgogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gZ2l0LXVwbG9hZC1wYWNrIHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjk5OSBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTcgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL2dyZXAuYzoxMDI1CisjOiBidWlsdGluL3B1bGwuYzoyMDUKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAixJHhu5ktc8OidSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4CisjOiBidWlsdGluL2Nsb25lLmM6MTE4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICJ04bqhbyBi4bqjbiBzYW8ga2jDtG5nIMSR4bqneSDEkeG7pyBjaG8gbeG7qWMgc8OidSDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vZmV0Y2guYzoxMjIgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM2CisjOiBidWlsdGluL2Nsb25lLmM6MTE5IGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMyCiAjOiBwYXJzZS1vcHRpb25zLmg6MTQyCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAidGjhu51pLWdpYW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKIG1zZ3N0ciAidOG6oW8gYuG6o24gc2FvIGtow7RuZyDEkeG6p3kgxJHhu6cgdOG7qyB0aOG7nWkgxJFp4buDbSDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2ZldGNoLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTkKIG1zZ2lkICJyZXZpc2lvbiIKIG1zZ3N0ciAixJFp4buDbSB4w6l0IGR1eeG7h3QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEyNQorIzogYnVpbHRpbi9jbG9uZS5jOjEyMiBidWlsdGluL2ZldGNoLmM6MTIwCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSwgZXhjbHVkaW5nIHJldiIKIG1zZ3N0ciAibMOgbSBzw6J1IGjGoW4gbOG7i2NoIHPhu60gY+G7p2EgYuG6o24gc2FvIHNoYWxsb3csIGLhurFuZyDEkWnhu4NtIHjDqXQgZHV54buHdCBsb+G6oWkgdHLhu6siCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgImNo4buJIG5ow6JuIGLhuqNuIG3hu5l0IG5ow6FuaCwgSEVBRCBob+G6t2MgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKK21zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCittc2dzdHIgIiIKKyLEkeG7qW5nIGPDsyBuaMOibiBi4bqjbiBi4bqldCBr4buzIG5ow6FuaCBuw6BvLCB2w6AgbMOgbSBjaG8gbmjhu69uZyBs4bqnbiBs4bqleSB24buBIHNhdSBraMO0bmcgIgorInRoZW8gY2jDum5nIG7hu69hIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAibeG7jWkgbcO0LcSRdW4tY29uIG5ow6JuIGLhuqNuIHPhur0gbMOgIHNoYWxsb3cgKG7DtG5nKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImtow7RuZyBkw7luZyBjaHVuZyB0aMawIG3hu6VjIGTDoG5oIHJpw6puZyBjaG8gZ2l0IHbDoCB0aMawIG3hu6VjIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5CisjOiBidWlsdGluL2Nsb25lLmM6MTMxCiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJraMOzYT1nacOhX3Ry4buLIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwCisjOiBidWlsdGluL2Nsb25lLmM6MTMyCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICLEkeG6t3QgY+G6pXUgaMOsbmggYsOqbiB0cm9uZyBt4buZdCBraG8gY2jhu6lhIG3hu5tpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTUwCisjOiBidWlsdGluL2Nsb25lLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdXNoLmM6NTU1CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgImNo4buJIGTDuW5nIMSR4buLYSBjaOG7iSBJUHY0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTUyCisjOiBidWlsdGluL2Nsb25lLmM6MTM1IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdXNoLmM6NTU3CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgImNo4buJIGTDuW5nIMSR4buLYSBjaOG7iSBJUHY2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjUwCisjOiBidWlsdGluL2Nsb25lLmM6MjcyCiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTYzNTEsNDIgKzY2NDcsNDIgQEAKICJLaMO0bmcgxJFvw6FuIMSRxrDhu6NjIHRoxrAgbeG7pWMgdMOqbiBsw6AgZ8OsLlxuIgogIlZ1aSBsw7JuZyBjaOG7iSDEkeG7i25oIHTDqm4gbeG7mXQgdGjGsCBt4bulYyB0csOqbiBkw7JuZyBs4buHbmgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgInRow7RuZyB0aW46IGtow7RuZyB0aOG7gyB0aMOqbSB0aGF5IHRo4bq/IGNobyDigJwlc+KAnTogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM3NQorIzogYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM4MworIzogYnVpbHRpbi9jbG9uZS5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgY8OzIHThu5NuIHThuqFpIG5oxrBuZyBs4bqhaSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk3CisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHbhu4EgJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQxOQorIzogYnVpbHRpbi9jbG9uZS5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIMSRxrDhu6NjIGxpw6puIGvhur90IG3hu4FtICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIzCisjOiBidWlsdGluL2Nsb25lLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHNhbyBjaMOpcCB04bqtcCB0aW4gdsOgIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ4CisjOiBidWlsdGluL2Nsb25lLmM6NDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImhvw6BuIHThuqV0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDYwCisjOiBidWlsdGluL2Nsb25lLmM6NDgyCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTYzOTYsMTAwICs2NjkyLDk5IEBACiAiQuG6oW4ga2nhu4NtIHRyYSBr4bu5IHhlbSBjw6FpIGfDrCDEkcaw4bujYyBs4bqleSByYSBi4bqxbmcgbOG7h25oIOKAnGdpdCBzdGF0dXPigJ1cbiIKICJ2w6AgdGjhu60gbOG6pXkgcmEgduG7m2kgbOG7h25oIOKAnGdpdCBjaGVja291dCAtZiBIRUFE4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1MzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBuaMOhbmggbcOheSBjaOG7pyAlcyDEkeG7gyBuaMOibiBi4bqjbiAoY2xvbmUpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYzMgorIzogYnVpbHRpbi9jbG9uZS5jOjY1NAogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJtw6F5IGNo4bunIMSRw6Mga2jDtG5nIGfhu61pIHThuqV0IGPhuqMgY8OhYyDEkeG7kWkgdMaw4bujbmcgY+G6p24gdGhp4bq/dCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0OAorIzogYnVpbHRpbi9jbG9uZS5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10ICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Njk3CisjOiBidWlsdGluL2Nsb25lLmM6NzE5CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICJyZWZlcnMgSEVBRCBtw6F5IGNo4bunICBjaOG7iSDEkeG6v24gcmVmIGtow7RuZyB04buTbiB04bqhaSwga2jDtG5nIHRo4buDIGzhuqV5IHJhLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzI4CisjOiBidWlsdGluL2Nsb25lLmM6NzUwCiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHJhIChjaGVja291dCkgY8OieSBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2OAorIzogYnVpbHRpbi9jbG9uZS5jOjc5MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIGPDoWMgdGhhbSBz4buRIHbDoG8gdOG6rXAgdGluIGPhuqV1IGjDrG5oIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMxCisjOiBidWlsdGluL2Nsb25lLmM6ODU1CiBtc2dpZCAiY2Fubm90IHJlcGFjayB0byBjbGVhbiB1cCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyBnw7NpIMSR4buDIGThu41uIGThurlwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMzCisjOiBidWlsdGluL2Nsb25lLmM6ODU3CiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgYuG7jyBsacOqbiBr4bq/dCB04bqtcCB0aW4gdGhheSB0aOG6vyB04bqhbSB0aOG7nWkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjYgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk1CisjOiBidWlsdGluL2Nsb25lLmM6ODkwIGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIkPDsyBxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcwCisjOiBidWlsdGluL2Nsb25lLmM6ODk0CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJC4bqhbiBwaOG6o2kgY2jhu4kgxJHhu4tuaCBt4buZdCBraG8gxJHhu4MgbcOgIG5ow6JuIGLhuqNuIChjbG9uZSkuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgzCisjOiBidWlsdGluL2Nsb25lLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1iYXJlIHbDoCAtLW9yaWdpbiAlcyB4dW5nIGto4bqvYyBuaGF1LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4NgorIzogYnVpbHRpbi9jbG9uZS5jOjkxMAogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLWJhcmUgdsOgIC0tc2VwYXJhdGUtZ2l0LWRpciB4dW5nIGto4bqvYyBuaGF1LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5OQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImtobyBjaOG7qWEg4oCcJXPigJ0gY2jGsGEgdOG7k24gdOG6oWkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjkgYnVpbHRpbi9mZXRjaC5jOjEzMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICLEkeG7mSBzw6J1ICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHPhu5Egbmd1ecOqbiBkxrDGoW5nIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTE1CisjOiBidWlsdGluL2Nsb25lLmM6OTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkcOtY2gg4oCcJXPigJ0gxJHDoyBjw7MgdOG7qyB0csaw4bubYyB2w6Aga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdGjGsCBt4bulYyBy4buXbmcuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI1CisjOiBidWlsdGluL2Nsb25lLmM6OTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiY8OieSBsw6BtIHZp4buHYyDigJwlc+KAnSDEkcOjIHPhurVuIHThu5NuIHThuqFpIHLhu5NpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vZGlmZnRvb2wuYzoyNTIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTkgYnVpbHRpbi93b3JrdHJlZS5jOjIyMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI0OQorIzogYnVpbHRpbi9jbG9uZS5jOjk2NCBidWlsdGluL2Nsb25lLmM6OTc1IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNjAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGPDoWMgdGjGsCBt4bulYyBk4bqrbiDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBjw6J5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgZGlyIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU1CisjOiBidWlsdGluL2Nsb25lLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICLEkGFuZyBuaMOibiBi4bqjbiB0aMOgbmgga2hvIGNo4bupYSBiYXJlIOKAnCVz4oCd4oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAixJBhbmcgbmjDom4gYuG6o24gdGjDoG5oIOKAnCVz4oCd4oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDA1CiBtc2dpZCAiIgogImNsb25lIC0tcmVjdXJzaXZlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtaWYtIgogImFibGUiCkBAIC02NDk3LDg1ICs2NzkyLDg1IEBACiAibmjDom4gYuG6o24gLS1yZWN1cnNpdmUga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIGPhuqMgaGFpIC0tcmVmZXJlbmNlIHbDoCAtLXJlZmVyZW5jZS0iCiAiaWYtYWJsZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDY3CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGggYuG7iyBs4budIMSRaSBraGkgbmjDom4gYuG6o24gbuG7mWkgYuG7mTsgaMOjeSBz4butIGThu6VuZyBmaWxlOi8vIMSR4buDIHRoYXkgdGjhur8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjkKIG1zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1zaGFsbG93LXNpbmNlIGLhu4sgbOG7nSDEkWkga2hpIG5ow6JuIGLhuqNuIG7hu5lpIGLhu5k7IGjDo3kgc+G7rSBk4bulbmcgZmlsZTovLyDEkeG7gyB0aGF5ICIKICJ0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCisjOiBidWlsdGluL2Nsb25lLmM6MTA3MQogbXNnaWQgIi0tc2hhbGxvdy1leGNsdWRlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tc2hhbGxvdy1leGNsdWRlIGLhu4sgbOG7nSDEkWkga2hpIG5ow6JuIGLhuqNuIG7hu5lpIGLhu5k7IGjDo3kgc+G7rSBk4bulbmcgZmlsZTovLyDEkeG7gyB0aGF5ICIKICJ0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDI2CisjOiBidWlsdGluL2Nsb25lLmM6MTA3NAogbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCiBtc2dzdHIgImtobyBuZ3Xhu5NuIGzDoCBuw7RuZywgbsOqbiBi4buPIHF1YSAtLWxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzkKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwgYuG7iyBs4budIMSRaSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICJLaMO0bmcgYmnhur90IGzDoG0gY8OhY2ggbsOgbyDEkeG7gyBuaMOibiBi4bqjbiAoY2xvbmUpICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5MCBidWlsdGluL2Nsb25lLmM6MTA5OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMzggYnVpbHRpbi9jbG9uZS5jOjExNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIk5ow6FuaCBtw6F5IGNo4bunICVzIGtow7RuZyB0w6xtIHRo4bqleSB0cm9uZyB0aMaw4bujbmcgbmd14buTbiAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQ5CiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiQuG6oW4gaMOsbmggbmjGsCBsw6AgxJHDoyBuaMOibiBi4bqjbiBt4buZdCBraG8gdHLhu5FuZyBy4buXbmcuIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjkKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MTAKIG1zZ2lkICJnaXQgY29sdW1uIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29sdW1uIFs8Y8OhYy10w7l5LWNo4buNbj5dIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI2CisjOiBidWlsdGluL2NvbHVtbi5jOjI3CiBtc2dpZCAibG9va3VwIGNvbmZpZyB2YXJzIgogbXNnc3RyICJ0w6xtIGtp4bq/bSBiaeG6v24gY+G6pXUgaMOsbmgiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9jb2x1bW4uYzoyOAorIzogYnVpbHRpbi9jb2x1bW4uYzoyOCBidWlsdGluL2NvbHVtbi5jOjI5CiBtc2dpZCAibGF5b3V0IHRvIHVzZSIKIG1zZ3N0ciAiYuG7kSBj4bulYyDEkeG7gyBkw7luZyIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzoyOQorIzogYnVpbHRpbi9jb2x1bW4uYzozMAogbXNnaWQgIk1heGltdW0gd2lkdGgiCiBtc2dzdHIgIsSQ4buZIHLhu5luZyB04buRaSDEkWEiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzAKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzEKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIG9uIGxlZnQgYm9yZGVyIgogbXNnc3RyICJDaMOobiB0aMOqbSBraG/huqNuZyB0cuG7kW5nIHbDoG8gYsOqbiB0csOhaSIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9jb2x1bW4uYzozMgogbXNnaWQgIlBhZGRpbmcgc3BhY2Ugb24gcmlnaHQgYm9yZGVyIgogbXNnc3RyICJDaMOobiB0aMOqbSBraG/huqNuZyB0cuG6r25nIHbDoG8gYsOqbiBwaOG6o2kiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzMKIG1zZ2lkICJQYWRkaW5nIHNwYWNlIGJldHdlZW4gY29sdW1ucyIKIG1zZ3N0ciAiQ2jDqG4gdGjDqm0ga2hv4bqjbmcgdHLhuq9uZyBnaeG7r2EgY8OhYyBj4buZdCIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzo1MQorIzogYnVpbHRpbi9jb2x1bW4uYzo1MgogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiLS1jb21tYW5kIHBo4bqjaSBsw6AgxJHhu5FpIHPhu5EgxJHhuqd1IHRpw6puIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM4CisjOiBidWlsdGluL2NvbW1pdC5jOjM5CiBtc2dpZCAiZ2l0IGNvbW1pdCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSA8cGF0aHNwZWM+4oCmIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQzCisjOiBidWlsdGluL2NvbW1pdC5jOjQ0CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSA8cGF0aHNwZWM+4oCmIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ5CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTY2MDYsNyArNjkwMSw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYxCisjOiBidWlsdGluL2NvbW1pdC5jOjYyCiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTY2MzQsNyArNjkyOSw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczCisjOiBidWlsdGluL2NvbW1pdC5jOjc0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBhbWVuZCB0aGUgbW9zdCByZWNlbnQgY29tbWl0LCBidXQgZG9pbmcgc28gd291bGQgbWFrZVxuIgogIml0IGVtcHR5LiBZb3UgY2FuIHJlcGVhdCB5b3VyIGNvbW1hbmQgd2l0aCAtLWFsbG93LWVtcHR5LCBvciB5b3UgY2FuXG4iCkBAIC02NjQ3LDcgKzY5NDIsNyBAQAogImhv4bq3YyBsw6AgYuG6oW4gZ+G7oSBi4buPIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBt4buZdCBjw6FjaCBob8OgbiB0b8OgbiBi4bqxbmcgbOG7h25oOlxuIgogIlwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzkKIG1zZ2lkICIiCiAiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCiAiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgpAQCAtNjY2MiwxMSArNjk1NywxMSBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NQorIzogYnVpbHRpbi9jb21taXQuYzo4NgogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICJO4bq/dSBraMO0bmcgxJHGsOG7o2MgdGjDrCBkw7luZyBs4buHbmggXCJnaXQgcmVzZXRcIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4CisjOiBidWlsdGluL2NvbW1pdC5jOjg5CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTY2ODIsNjggKzY5NzcsNjMgQEAKICJUaOG6vyB0aMOsIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBz4bq9IHBo4bulYyBo4buTaSBs4bqhaSB2aeG7h2MgY2hlcnJ5LXBpY2tcbiIKICJuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gY8OybiBs4bqhaS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE5CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdGjDoW8gZOG7oSBIRUFEIMSR4buRaSB0xrDhu6NuZyBjw6J5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1OQorIzogYnVpbHRpbi9jb21taXQuYzozNjAKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGLhuqNuZyBt4bulYyBs4bulYyB04bqhbSB0aOG7nWkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NgogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aMOqbSBi4bqxbmcgY8OhY2ggdMawxqFuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc5CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgxCiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBj4bqtcCBuaOG6rXQgY8OieSBi4buZIG5o4bubIMSR4buHbSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MDQgYnVpbHRpbi9jb21taXQuYzo0MjcgYnVpbHRpbi9jb21taXQuYzo0NzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDA1IGJ1aWx0aW4vY29tbWl0LmM6NDI4IGJ1aWx0aW4vY29tbWl0LmM6NDc3CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaSAobmV3X2luZGV4KSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU5CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gdmnhu4djIGNodXnhu4NuIGdpYW8gY+G7pWMgYuG7mSB0cm9uZyBraGkgxJFhbmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzo0NjEKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIiIKICJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2MgY2h1eeG7g24gZ2lhbyBi4buZIHBo4bqtbiB0cm9uZyBraGkgxJFhbmcgY2hlcnJ5LXBpY2suIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2OQorIzogYnVpbHRpbi9jb21taXQuYzo0NzAKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImtow7RuZyDEkeG7jWMgxJHGsOG7o2MgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4OAorIzogYnVpbHRpbi9jb21taXQuYzo0ODkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGxhY2tzIGF1dGhvciBoZWFkZXIiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0gdGhp4bq/dSBwaOG6p24gdMOhYyBnaeG6oyDhu58gxJHhuqd1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4NAorIzogYnVpbHRpbi9jb21taXQuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgaGFzIG1hbGZvcm1lZCBhdXRob3IgbGluZSIKIG1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSBjw7MgcGjhuqduIHTDoWMgZ2nhuqMg4bufIMSR4bqndSBk4buLIGThuqFuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAixJHhu5FpIHPhu5EgY2hvIC0tYXV0aG9yIGLhu4sgZOG7iyBow6xuaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCi1tc2dzdHIgIm5nw6B5IHRow6FuZyBraMO0bmcgaOG7o3AgbOG7hzogJXMiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjU1CisjOiBidWlsdGluL2NvbW1pdC5jOjY1NgogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgpAQCAtNjc1MSwzOCArNzA0MSwzOCBAQAogImtow7RuZyB0aOG7gyBjaOG7jW4gbeG7mXQga8O9IHThu7EgZ2hpIGNow7ogY8OhaSBtw6Aga2jDtG5nIMSRxrDhu6NjIGTDuW5nXG4iCiAidHJvbmcgcGjhuqduIGdoaSBjaMO6IGhp4buHbiB04bqhaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CisjOiBidWlsdGluL2NvbW1pdC5jOjY5MyBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL2NvbW1pdC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNCBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNSBidWlsdGluL3Nob3J0bG9nLmM6Mjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIijEkWFuZyDEkeG7jWMgdGjDtG5nIMSRaeG7h3Agbmjhuq10IGvDvSB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4pXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA2CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNwogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIG5o4bqtdCBrw70gdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcxMAorIzogYnVpbHRpbi9jb21taXQuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIMSR4buNYyDEkcaw4bujYyB04buHcCBuaOG6rXQga8O9IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczNyBidWlsdGluL2NvbW1pdC5jOjc0NQorIzogYnVpbHRpbi9jb21taXQuYzo3MzggYnVpbHRpbi9jb21taXQuYzo3NDYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBNRVJHRV9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk2CisjOiBidWlsdGluL2NvbW1pdC5jOjc5NwogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbeG6q3UgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY3OTcsNyArNzA4Nyw3IEBACiAiXHQlc1xuIgogInbDoCB0aOG7rSBs4bqhaS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY4MTIsNyArNzEwMiw3IEBACiAiXHQlc1xuIgogInbDoCB0aOG7rSBs4bqhaS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC02ODIzLDcgKzcxMTMsNyBAQAogImLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBi4buPIHF1YSwgbuG6v3UgcGjhuqduIGNow7ogdGjDrWNoIHLhu5duZyBz4bq9IGjhu6d5IGLhu48gbOG6p24gIgogImNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM5CisjOiBidWlsdGluL2NvbW1pdC5jOjg0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNjgzNSwxNTcgKzcxMjUsMTU1IEBACiAiYuG6r3QgxJHhuqd1IGLhurFuZyDigJwlY+KAnSBz4bq9IMSRxrDhu6NjIGLhu48gcXVhOyBi4bqhbiBjw7MgdGjhu4MgeMOzYSBjaMO6bmcgxJFpIG7hur91IG114buRbiB0aOG6vy5cbiIKICJQaOG6p24gY2jDuiB0aMOtY2ggbsOgeSBu4bq/dSB0cuG7kW5nIHLhu5duZyBz4bq9IGjhu6d5IGLhu48gbOG6p24gY2h1eeG7g24gZ2lhby5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXNUw6FjIGdp4bqjOiAgICAgICAgICAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY3CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVzTmfDoHkgdGjDoW5nOiAgICAgICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODc0CisjOiBidWlsdGluL2NvbW1pdC5jOjg3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVzTmfGsOG7nWkgY2h1eeG7g24gZ2lhbzogJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODkyCisjOiBidWlsdGluL2NvbW1pdC5jOjg4OQogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICJLaMO0bmcgxJHhu41jIMSRxrDhu6NjIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTUxCiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB4w6J5IGThu7FuZyBjw6J5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2OCBidWlsdGluL3RhZy5jOjI4MAorIzogYnVpbHRpbi9jb21taXQuYzo5NjUgYnVpbHRpbi90YWcuYzoyNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICJYaW4gaMOjeSBjdW5nIGPhuqVwIGzhu51pIGNow7ogZ2nhuqNpIGhv4bq3YyBsw6AgZMO5bmcgdMO5eSBjaOG7jW4gLW0gaG/hurdjIGzDoCAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAiLS1hdXRob3Ig4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6Ag4oCcSOG7jSB2w6AgdMOqbiA8dGjGsCDEkWnhu4duIHThu61sPuKAnSB2w6Aga2jDtG5nIGto4bubcCBi4bqldCBr4buzICIKICJ0w6FjIGdp4bqjIG7DoG8gc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODMgYnVpbHRpbi9jb21taXQuYzoxMzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiQ2jhur8gxJHhu5kgY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBraMO0bmcgaOG7o3AgbOG7hyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjEKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgImhhaSB0w7l5IGNo4buNbiAtbG9uZyB2w6AgLXoga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIG5oYXUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTUxCiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgY+G6oyBoYWkgdMO5eSBjaOG7jW4gLS1yZXNldC1hdXRob3IgdsOgIC0tYXV0aG9yIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MworIzogYnVpbHRpbi9jb21taXQuYzoxMTYwCiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIktow7RuZyBjw7MgZ8OsIMSR4buDIG3DoCDigJx0dSBi4buV4oCdIGPhuqMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MwogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIiIKICJC4bqhbiDEkWFuZyDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIC0tIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHZp4buHYyDigJx0dSBi4buV4oCdLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjUKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICIiCiAiQuG6oW4gxJFhbmcg4bufIGdp4buvYSBj4bunYSBxdcOhIHRyw6xuaCBjaGVycnktcGljayAtLSBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2Mg4oCcdHUgIgogImLhu5XigJ0uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2OAogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gLS1zcXVhc2ggdsOgIC0tZml4dXAga2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGPDuW5nIHbhu5tpIG5oYXUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc4CiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICJDaOG7iSDEkcaw4bujYyBkw7luZyBt4buZdCB0cm9uZyBz4buRIHTDuXkgY2jhu41uIHRyb25nIHPhu5EgY8OhYyB0w7l5IGNo4buNbiAtYy8tQy8tRi8tLWZpeHVwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MAogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gLW0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTg4CiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiIgogIi0tcmVzZXQtYXV0aG9yIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSB0w7l5IGNo4buNbiAtQywgLWMgaGF5IC0tYW1lbmQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNQogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogIkNo4buJIG3hu5l0IHRyb25nIGPDoWMgdMO5eSBjaOG7jW4gLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggxJHGsOG7o2MgIgogInPhu60gZOG7pW5nLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjEwCisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDcKIG1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIktow7RuZyDEkcaw4budbmcgZOG6q24gduG7m2kgY8OhYyB0w7l5IGNo4buNbiAtLWluY2x1ZGUvLS1vbmx5IGtow7RuZyBo4bujcCBsw70uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTIKLW1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgotbXNnc3RyICIiCi0iTmjhu69uZyDEkcaw4budbmcgZOG6q24gcsO1IHLDoG5nIMSRxrDhu6NjIGNo4buJIHJhIGtow7RuZyBjw7MgdMO5eSBjaOG7jW4gLWkgY8Wpbmcga2jDtG5nIC1vOyBjb2kgIgotImzDoCAtLW9ubHkgbmjhu69uZyDEkcaw4budbmcgZOG6q24iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNCBidWlsdGluL3RhZy5jOjQ5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMjE5IGJ1aWx0aW4vdGFnLmM6NTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICJDaOG6vyDEkeG7mSBk4buNbiBk4bq5cCBraMO0bmcgaOG7o3AgbOG7hyAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI5CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjQKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICJDw6FjIMSRxrDhu51uZyBk4bqrbiB24bubaSB0w7l5IGNo4buNbiAtYSBraMO0bmcgaOG7o3AgbMO9LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY29tbWl0LmM6MTYxMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzQyIGJ1aWx0aW4vY29tbWl0LmM6MTYxNwogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRy4bqhbmcgdGjDoWkg4bufIGThuqFuZyBzw7pjIHTDrWNoIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDQgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aMO0bmcgdGluIG5ow6FuaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDYKK21zZ2lkICJzaG93IHN0YXNoIGluZm9ybWF0aW9uIgorbXNnc3RyICJoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHThuqFtIGPhuqV0IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDgKIG1zZ2lkICJ2ZXJzaW9uIgogbXNnc3RyICJwaGnDqm4gYuG6o24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTYgYnVpbHRpbi9wdXNoLmM6NTI1Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0OQogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJr4bq/dCB4deG6pXQgZOG6oW5nIG3DoXktY8OzLXRo4buDLcSR4buNYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2IGJ1aWx0aW4vY29tbWl0LmM6MTYxOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRy4bqhbmcgdGjDoWkg4bufIMSR4buLbmggZOG6oW5nIGTDoGkgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDkgYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTQgYnVpbHRpbi9jb21taXQuYzoxNjI2CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgImNo4bqlbSBk4bupdCBjw6FjIG3hu6VjIGLhurFuZyBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NCBidWlsdGluL3RhZy5jOjM2OAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU2IGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg2IGJ1aWx0aW4vdGFnLmM6NDEyCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAiY2jhur8gxJHhu5kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MiBidWlsdGluL2NvbW1pdC5jOjE2MjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NyBidWlsdGluL2NvbW1pdC5jOjE2MjkKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpICBk4bqldSB24bq/dCwgY8OhYyBjaOG6vyDEkeG7mSB0w7l5IGNo4buNbjogIGFsbCwgIgogIm5vcm1hbCwgbm8uIChN4bq3YyDEkeG7i25oOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MAogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIOG6qW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEgcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgImtoaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjIKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC02OTkzLDIwNSArNzI4MSwyMDUgQEAKICJi4buPIHF1YSBjw6FjIHRoYXkgxJHhu5VpIHRyb25nIG3DtC3EkXVuLWNvbiwgdMO5eSBjaOG7jW4ga2hpOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoTeG6t2MgxJHhu4tuaDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjQKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZGFuaCBzw6FjaCBjw6FjIHThuq1wLXRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgdHJvbmcgY8OhYyBj4buZdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDM1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NDAKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgbOG6p24gY2h1eeG7g24gZ2lhbyBt4bubaSBoxqFuIMSRw6MgxJHGsOG7o2MgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNworIzogYnVpbHRpbi9jb21taXQuYzoxNDQyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCBj4bunYSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyBt4bubaSBoxqFuIMSRw6MgxJHGsOG7o2MgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAixJHDoyBy4budaSBraOG7j2kgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChyb290LWNvbW1pdCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyB04buVbmcga+G6v3Qgc2F1IGtoaSBjaHV54buDbiBnaWFvIHRow6BuaCBjw7RuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBz4buxIGtow6FjIGJp4buHdCB0cm9uZyBt4bqrdSB0aW4gbmjhuq9uIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NQorIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiBnaGkgY2jDuiBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NiBidWlsdGluL3RhZy5jOjM2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vdGFnLmM6NDEwCiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAixJHhu41jIGNow7ogdGjDrWNoIHThu6sgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAidMOhYyBnaeG6oyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiZ2hpIMSRw6ggdMOhYyBnaeG6oyBjaG8gY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODggYnVpbHRpbi9nYy5jOjMzMworIzogYnVpbHRpbi9jb21taXQuYzoxNTkzIGJ1aWx0aW4vZ2MuYzozNTgKIG1zZ2lkICJkYXRlIgogbXNnc3RyICJuZ8OgeSB0aMOhbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OAorIzogYnVpbHRpbi9jb21taXQuYzoxNTkzCiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICJnaGkgxJHDqCBuZ8OgeSB0aMOhbmcgY2hvIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OSBidWlsdGluL21lcmdlLmM6MjIyIGJ1aWx0aW4vbm90ZXMuYzozOTgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIyIGJ1aWx0aW4vbm90ZXMuYzo0MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi90YWcuYzo0MDgKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICJjaMO6IHRow61jaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiY2jDuiB0aMOtY2ggY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkwIGJ1aWx0aW4vY29tbWl0LmM6MTU5MSBidWlsdGluL2NvbW1pdC5jOjE1OTIKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo4MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vY29tbWl0LmM6MTU5NiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo3NwogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAibOG6p25fY2h1eeG7g25fZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiZMO5bmcgbOG6oWkgY8OhYyBnaGkgY2jDuiB04burIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaG8gbmjGsG5nIGPDsyBjaG8gc+G7rWEgY2jhu69hIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJkw7luZyBs4bqhaSBjw6FjIGdoaSBjaMO6IHThu6sgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiZMO5bmcgZ2hpIGNow7ogY8OzIMSR4buLbmggZOG6oW5nIGF1dG9zcXVhc2ggxJHhu4Mgc+G7rWEgY2jhu69hIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaOG7iSByYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImTDuW5nIGzhu51pIG5o4bqvbiBjw7MgxJHhu4tuaCBk4bqhbmcgdOG7sSDEkeG7mW5nIG7DqW4gxJHhu4MgbsOpbiBs4bqhaSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaOG7iSAiCiAicmEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiIgogImzhuqduIGNodXnhu4NuIGdpYW8gbmjhuq1uIHTDtGkgbMOgIHTDoWMgZ2nhuqMgKMSRxrDhu6NjIGTDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi9sb2cuYzoxNDEzIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2xvZy5jOjE0MzAgYnVpbHRpbi9yZXZlcnQuYzoxMDUKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgIihuw6puIGTDuW5nKSB0aMOqbSBkw7JuZyBTaWduZWQtb2ZmLWJ5OiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDEKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgInPhu60gZOG7pW5nIHThuq1wIHRpbiBt4bqrdSDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiw6lwIGJ14buZYyBz4butYSBs4bqnbiBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCiBtc2dpZCAiZGVmYXVsdCIKIG1zZ3N0ciAibeG6t2MgxJHhu4tuaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IGJ1aWx0aW4vdGFnLmM6MzY5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMgYnVpbHRpbi90YWcuYzo0MTMKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICJsw6BtIHRo4bq/IG7DoG8gxJHhu4MgY+G6r3QgYuG7jyBraG/huqNuZyB0cuG6r25nIHbDoCAjZ2hpY2jDuiB04burIG3huql1IHRpbiBuaOG6r24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIHRy4bqhbmcgdGjDoWkgdHJvbmcgbeG6q3UgZ2hpIGNow7ogY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxIGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTY2Ci0jOiBidWlsdGluL3JldmVydC5jOjkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDYgYnVpbHRpbi9tZXJnZS5jOjIzNCBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJrw70gbOG6p24gY2h1eeG7g24gZ2lhbyBkw7luZyBHUEciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjA5CiBtc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCiBtc2dzdHIgIkPDoWMgdMO5eSBu4buZaSBkdW5nIGdoaSBjaMO6IGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgImNodXnhu4NuIGdpYW8gdOG6pXQgY+G6oyBjw6FjIHThuq1wIHRpbiBjw7MgdGhheSDEkeG7lWkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIMSR4buDIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEyCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgInRow6ptIGPDoWMgdOG6rXAtdGluIGLhurFuZyB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAidGjDqm0gY8OhYyB0aGF5IMSR4buVaSBi4bqxbmcgdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiY2jhu4kgY2h1eeG7g24gZ2lhbyBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICJ2w7JuZyBxdWEgbcOzYyAoaG9vaykgcHJlLWNvbW1pdCB2w6AgY29tbWl0LW1zZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjExCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICJoaeG7g24gdGjhu4sgeGVtIGPDoWkgZ8OsIGPDsyB0aOG7gyDEkcaw4bujYyBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi4oCcdHUgYuG7leKAnSAoYW1lbmQpIGzhuqduIGNvbW1pdCB0csaw4bubYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjIzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjgKIG1zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCiBtc2dzdHIgInbDsm5nIHF1YSBtw7NjIChob29rKSBwb3N0LXJld3JpdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAib2sgxJHhu4MgZ2hpIGzhuqFpIG3hu5l0IHRoYXkgxJHhu5VpIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNQogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIm9rIMSR4buDIGdoaSBjw6FjIHRoYXkgxJHhu5VpIHbhu5tpIGzhu51pIG5o4bqvbiB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjU5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjUKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcwNworIzogYnVpbHRpbi9jb21taXQuYzoxNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIlThuq1wIHRpbiBNRVJHRV9IRUFEIHNhaSBo4buPbmcgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzE0CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIE1FUkdFX01PREUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTczMworIzogYnVpbHRpbi9jb21taXQuYzoxNzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBwaOG6p24gY2jDuiB0aMOtY2ggKG1lc3NhZ2UpIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW86ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIiIKICLEkGFuZyBi4buPIHF1YSB2aeG7h2MgY2h1eeG7g24gZ2lhbzsgYuG6oW4gxJHDoyBraMO0bmcgYmnDqm4gc2/huqFuIHBo4bqnbiBjaMO6IHRow61jaCAiCiAiKG1lc3NhZ2UpLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJCw6NpIGLhu48gdmnhu4djIGNodXnhu4NuIGdpYW8gYuG7n2kgdsOsIHBo4bqnbiBjaMO6IHRow61jaCBj4bunYSBuw7MgdHLhu5FuZyBy4buXbmcuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc5NworIzogYnVpbHRpbi9jb21taXQuYzoxODAwCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCkBAIC03MjAyLDEzNSArNzQ5MCwxMzUgQEAKICJjw7MgYuG7iyDEkeG6p3kgcXXDoSBoYXkgcXVvdGEgKGjhuqFuIG5naOG6oWNoIMSRxKlhIGPhu6luZykgYuG7iyB2xrDhu6N0IHF1w6EsXG4iCiAidsOgIHNhdSDEkcOzIFwiZ2l0IHJlc2V0IEhFQURcIiDEkeG7gyBraOG6r2MgcGjhu6VjLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo5CisjOiBidWlsdGluL2NvbmZpZy5jOjEwCiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NQorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICJW4buLIHRyw60gdOG6rXAgdGluIGPhuqV1IGjDrG5oIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU2CisjOiBidWlsdGluL2NvbmZpZy5jOjU4CiBtc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKIG1zZ3N0ciAiZMO5bmcgdOG6rXAgdGluIGPhuqV1IGjDrG5oIHRvw6BuIGPhu6VjIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAic+G7rSBk4bulbmcgdOG6rXAgdGluIGPhuqV1IGjDrG5oIGjhu4cgdGjhu5FuZyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICJkw7luZyB04bqtcCB0aW4gY+G6pXUgaMOsbmggY+G7p2Ega2hvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgogbXNnc3RyICJz4butIGThu6VuZyB04bqtcCB0aW4gY+G6pXUgaMOsbmggxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJibG9iLWlkIgogbXNnc3RyICJibG9iLWlkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKIG1zZ3N0ciAixJHhu41jIGPhuqV1IGjDrG5oIHThu6sgxJHhu5FpIHTGsOG7o25nIGJsb2IgxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgIkjDoG5oIMSR4buZbmciCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAibOG6pXkgZ2nDoS10cuG7izogdMOqbiBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJs4bqleSB04bqldCBj4bqjIGdpw6EtdHLhu4s6IGtow7NhIFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJnZXQgdmFsdWVzIGZvciByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAibOG6pXkgZ2nDoSB0cuG7iyBjaG8gcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgogbXNnc3RyICJs4bqleSDEkeG6t2MgdOG6oyBnacOhIHRy4buLIGNobyBVUkw6IHBo4bqnblsuYmnhur9uXSBVUkwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAidGhheSB0aOG6vyB04bqldCBj4bqjIGPDoWMgYmnhur9uIGto4bubcCBt4bqrdTogdMOqbiBnacOhLXRy4buLIFt2YWx1ZV9yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKIG1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgInRow6ptIGJp4bq/biBt4bubaTogdMOqbiBnacOhLXRy4buLIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4CisjOiBidWlsdGluL2NvbmZpZy5jOjcwCiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiZ+G7oSBi4buPIGJp4bq/bjogdMOqbiBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjcxCiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImfhu6EgYuG7jyBt4buNaSBjw6FpIGto4bubcDogdMOqbiBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgogbXNnc3RyICLEkeG7lWkgdMOqbiBwaOG6p246IHTDqm4tY8WpIHTDqm4tbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJn4buhIGLhu48gcGjhuqduOiB0w6puIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcyCisjOiBidWlsdGluL2NvbmZpZy5jOjc0CiBtc2dpZCAibGlzdCBhbGwiCiBtc2dzdHIgImxp4buHdCBrw6ogdOG6pXQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJvcGVuIGFuIGVkaXRvciIKIG1zZ3N0ciAibeG7nyBt4buZdCB0csOsbmggYmnDqm4gc2/huqFuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogc2xvdCBbZGVmYXVsdF0iCiBtc2dzdHIgInTDrG0gY+G6pXUgaMOsbmggbcOgdSBz4bqvYzogc2xvdCBbbeG6t2MgxJHhu4tuaF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAidMOsbSBjw6FjIGPDoGkgxJHhurd0IHbhu4EgbcOgdSBz4bqvYzogc2xvdCBbc3Rkb3V0LWzDoC10dHldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc4CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiS2nhu4N1IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICJnacOhIHRy4buLIGzDoCBcInRydWVcIiBob+G6t2MgXCJmYWxzZVwiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc4CisjOiBidWlsdGluL2NvbmZpZy5jOjgwCiBtc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCiBtc2dzdHIgImdpw6EgdHLhu4sg4bufIGThuqFuZyBz4buRIHRo4bqtcCBwaMOibiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OQorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyBsw6AgLS1ib29sIGhv4bq3YyAtLWludCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgImdpw6EgdHLhu4sgbMOgIMSRxrDhu51uZyBk4bqrbiAodMOqbiB04bqtcCB0aW4gaGF5IHRoxrAgbeG7pWMpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgxCisjOiBidWlsdGluL2NvbmZpZy5jOjgzCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIktow6FjIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgyCisjOiBidWlsdGluL2NvbmZpZy5jOjg0CiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJjaOG6pW0gZOG7qXQgZ2nDoSB0cuG7iyB24bubaSBieXRlIE5VTCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgdmFyaWFibGUgbmFtZXMgb25seSIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgdMOqbiBiaeG6v24iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODYKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgInTDtG4gdHLhu41uZyBr4buDIGPDoCBjw6FjIGjGsOG7m25nIHRyb25nIHTDrG0ga2nhur9tIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg1CisjOiBidWlsdGluL2NvbmZpZy5jOjg3CiBtc2dpZCAic2hvdyBvcmlnaW4gb2YgY29uZmlnIChmaWxlLCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgY29tbWFuZCBsaW5lKSIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyBuZ3V5w6puIGfhu5FjIGPhu6dhIGPhuqV1IGjDrG5oICh04bqtcCB0aW4sIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4sIGJsb2IsIGTDsm5nICIKQEAgLTczNTUsMTIgKzc2NDMsMTYgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCisjOiBidWlsdGluL2NvbmZpZy5jOjQ5OQorbXNnaWQgIi0tbG9jYWwgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1sb2NhbCBjaOG7iSBjw7MgdGjhu4MgxJHGsOG7o2MgZMO5bmcgYsOqbiB0cm9uZyBt4buZdCBraG8gZ2l0IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHThuq1wIHRpbiBj4bqldSBow6xuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC03MzY5LDYzICs3NjYxLDc1IEBACiAia2jDtG5nIHRo4buDIGdoaSDEkcOoIG5oaeG7gXUgZ2nDoSB0cuG7iyB24bubaSBt4buZdCBnacOhIHRy4buLIMSRxqFuXG4iCiAiICAgICAgRMO5bmcgbeG7mXQgYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5LCAtLWFkZCBoYXkgLS1yZXBsYWNlLWFsbCDEkeG7gyB0aGF5IMSR4buVaSAlcy4iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NwogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiBtc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk2CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NwogbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGvDrWNoIGPhu6EgdGhlbyDEkeG7i25oIGThuqFuZyBkw6BuaCBjaG8gbmfGsOG7nWkgxJHhu41jIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxOQogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSBbPGNvbW1pdC1pc2g+Li4uXSIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs8Y8OhYy10w7l5LWNo4buNbj5dIDxjb21taXQtaXNoPioiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjIwCiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIC0tZGlydHkiCiBtc2dzdHIgImdpdCBkZXNjcmliZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLWRpcnR5IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjE3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQKK21zZ2lkICJoZWFkIgorbXNnc3RyICJwaMOtYSB0csaw4bubYyAiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImxpZ2h0d2VpZ2h0IgorbXNnc3RyICJo4bqhbmcgbmjhurkiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImFubm90YXRlZCIKK21zZ3N0ciAiY8OzIGRp4buFbiBnaeG6o2kiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICJ0aOG6uyDEkcOjIMSRxrDhu6NjIGdoaSBjaMO6ICVzIGtow7RuZyBz4bq1biDEkeG7gyBkw7luZyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjIyMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgogbXNnc3RyICJ0aOG6uyDEkcaw4bujYyBjaMO6IGdp4bqjaSAlcyBraMO0bmcgY8OzIHTDqm4gbmjDum5nIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjIzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgInRo4bq7IOKAnCVz4oCdIMSRw6MgdGjhu7FjIHPhu7Eg4bufIMSRw6J5IOKAnCVz4oCdIHLhu5NpIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg2IGJ1aWx0aW4vbG9nLmM6NDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIHTDqm4gxJHhu5FpIHTGsOG7o25nICVzIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyB0aOG6uyBuw6BvIGto4bubcCBjaMOtbmggeMOhYyB24bubaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzZWFyY2hpbmcgdG8gZGVzY3JpYmUgJXNcbiIKIG1zZ3N0ciAixJBhbmcgdMOsbSBraeG6v20gxJHhu4MgbcO0IHThuqMgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMxOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAidmnhu4djIHTDrG0ga2nhur9tIMSRw6Mga+G6v3QgdGjDumMgdOG6oWkgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM0NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC03NDM0LDcgKzc3MzgsNyBAQAogIktow7RuZyBjw7MgdGjhursgxJHGsOG7o2MgY2jDuiBnaeG6o2kgbsOgbyDEkcaw4bujYyBtw7QgdOG6oyBsw6Ag4oCcJXPigJ0uXG4iCiAiVHV5IG5oacOqbiwg4bufIMSRw6J5IGPDsyBuaOG7r25nIHRo4bq7IGtow7RuZyDEkcaw4bujYyBjaMO6IGdp4bqjaTogaMOjeSB0aOG7rSAtLXRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzUwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtNzQ0MywxMiArNzc0NywxMiBAQAogIktow7RuZyBjw7MgdGjhursgY8OzIHRo4buDIG3DtCB04bqjIOKAnCVz4oCdLlxuIgogIkjDo3kgdGjhu60gLS1hbHdheXMsIGhv4bq3YyB04bqhbyBt4buZdCBz4buRIHRo4bq7LiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmF2ZXJzZWQgJWx1IGNvbW1pdHNcbiIKIG1zZ3N0ciAixJHDoyB4dXnDqm4gJWx1IHF1YSBs4bqnbiBjaHV54buDbiBnaWFvXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKQEAgLTc0NTcsMTA3ICs3NzYxLDEzNCBAQAogInTDrG0gdGjhuqV5IG5oaeG7gXUgaMahbiAlaSB0aOG6uzsgxJHDoyBsaeG7h3Qga8OqICVpIGPDoWkgZ+G6p25cbiIKICLEkcOieSBuaOG6pXQgYuG7jyDEkWkgdMOsbSBraeG6v20gdOG6oWkgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM5NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgInTDrG0gY8OhYyB0aOG6uyBtw6AgbsOzIMSR4bq/biB0csaw4bubYyBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQyCiBtc2dpZCAiZGVidWcgc2VhcmNoIHN0cmF0ZWd5IG9uIHN0ZGVyciIKIG1zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIHTDrG0ga2nhur9tIGfhu6EgbOG7l2kgdHLDqm4gxJHhuqd1IHJhIGzhu5dpIGNodeG6qW4gc3RkZXJyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQzCiBtc2dpZCAidXNlIGFueSByZWYiCiBtc2dzdHIgImTDuW5nIHJlZiBi4bqldCBr4buzIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgImTDuW5nIHRo4bq7IGLhuqV0IGvhu7MsIGPhuqMga2hpIOKAnHVuYW5ub3RhdGVk4oCdIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDAwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ1CiBtc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKIG1zZ3N0ciAibHXDtG4gZMO5bmcgxJHhu4tuaCBk4bqhbmcgZMOgaSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAiY2jhu4kgdGhlbyBjaGEgbeG6uSDEkeG6p3UgdGnDqm4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDkKIG1zZ2lkICJvbmx5IG91dHB1dCBleGFjdCBtYXRjaGVzIgogbXNnc3RyICJjaOG7iSB4deG6pXQgbmjhu69uZyBnw6wga2jhu5twIGNow61uaCB4w6FjIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDUxCiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAiY29pIG5oxrAgPG4+IHRo4bq7IGfhuqduIMSRw6J5IG5o4bqldCAobeG6t2MgxJHhu4tuaDogMTApIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDUzCiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiY2jhu4kgY8OibiBuaOG6r2MgxJHhur9uIG5o4buvbmcgdGjhursga2jhu5twIHbhu5tpIDxt4bqrdT4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAgYnVpbHRpbi9uYW1lLXJldi5jOjMyMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NQorbXNnaWQgImRvIG5vdCBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAia2jDtG5nIGNvaSBy4bqxbmcgY8OhYyB0aOG6uyBraOG7m3AgduG7m2kgPG3huqt1PiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NyBidWlsdGluL25hbWUtcmV2LmM6NDA2CiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICJoaeG7g24gdGjhu4sgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8gduG6r24gdOG6r3QgbmjGsCBsw6AgZmFsbGJhY2siCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTggYnVpbHRpbi9kZXNjcmliZS5jOjQ2MQogbXNnaWQgIm1hcmsiCiBtc2dzdHIgImThuqV1IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU5CiBtc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgogbXNnc3RyICJ0aMOqbSA8ZOG6pXU+IHRyw6puIGPDonkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBi4bqpbiAobeG6t2MgxJHhu4tuaCBcIi1kaXJ0eVwiKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ2MgorbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gYnJva2VuIHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItYnJva2VuXCIpIgorbXNnc3RyICJ0aMOqbSA8ZOG6pXU+IHRyw6puIGPDonkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBi4buLIGjhu49uZyAobeG6t2MgxJHhu4tuaCBcIi1icm9rZW5cIikiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODAKIG1zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKIG1zZ3N0ciAiLS1sb25nIGzDoCB4dW5nIGto4bqvYyB24bubaSB0w7l5IGNo4buNbiAtLWFiYnJldj0wIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CiBtc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBjw6FjIHTDqm4sIGtow7RuZyB0aOG7gyBtw7QgdOG6oyBnw6wgY+G6oy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSBsw6AgeHVuZyBraOG6r2MgduG7m2kgY8OhYyB0w7l5IGNo4buNbiBjb21taXQtaXNoIgogCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU0Cittc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICItLWJyb2tlbiBsw6AgeHVuZyBraOG6r2MgduG7m2kgY29tbWl0LWlzaGVzIgorCiAjOiBidWlsdGluL2RpZmYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAi4oCcJXPigJ06IGtow7RuZyBwaOG6o2kgdOG6rXAgdGluIGLDrG5oIHRoxrDhu51uZyBoYXkgbGnDqm4ga+G6v3QgbeG7gW0iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIzNAorIzogYnVpbHRpbi9kaWZmLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAidMO5eSBjaOG7jW4ga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL2RpZmYuYzozNTgKKyM6IGJ1aWx0aW4vZGlmZi5jOjM1OQogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIGzDoCBraG8gZ2l0IgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDEKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIMSRw6MgY2hvIOKAnCVz4oCdIGtow7RuZyBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEwCisjOiBidWlsdGluL2RpZmYuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAixJHDoyBjaG8gbmhp4buBdSBoxqFuIGhhaSDEkeG7kWkgdMaw4bujbmcgYmxvYjog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxNworIzogYnVpbHRpbi9kaWZmLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIsSRw6MgY2hvIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgbuG6r20gZ2nhu68g4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOQogbXNnaWQgImdpdCBkaWZmdG9vbCBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogImdpdCBkaWZmdG9vbCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPGzhuqduX2NodXnhu4NuX2dpYW8+IFs8bOG6p25fY2h1eeG7g25fZ2lhbz5dXSBbLS1dICIKICI8xJHGsOG7nW5nLWThuqtuPuKApl0iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNDEKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkOiAlZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2k6ICVkIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MzQyCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIHN5bWxpbmsgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgbGnDqm4ga+G6v3QgbeG7gW0gJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICJraMO0bmcgxJHhu41jIMSRxrDhu6NjIHThuq1wIHRpbiBsacOqbiBr4bq/dCBt4buBbSAlcyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMgZm9yIHN5bWxpbmsgJXMiCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgxJHhu5FpIHTGsOG7o25nICVzIGNobyBsacOqbiBr4bq/dCBt4buBbSAlcyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjQwMwogbXNnaWQgIiIKICJjb21iaW5lZCBkaWZmIGZvcm1hdHMoJy1jJyBhbmQgJy0tY2MnKSBhcmUgbm90IHN1cHBvcnRlZCBpblxuIgogImRpcmVjdG9yeSBkaWZmIG1vZGUoJy1kJyBhbmQgJy0tZGlyLWRpZmYnKS4iCkBAIC03NTY1LDUzICs3ODk2LDUzIEBACiAiY8OhYyDEkeG7i25oIGThuqFuZyBkaWZmIHThu5UgaOG7o3Ao4oCcLWPigJ0gdsOgIOKAnC0tY2PigJ0pIGNoxrBhIMSRxrDhu6NjIGjhu5cgdHLhu6MgdHJvbmdcbiIKICJjaOG6vyDEkeG7mSBkaWZmIHRoxrAgbeG7pWMo4oCcLWTigJ0gdsOgIOKAnC0tZGlyLWRpZmbigJ0pLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU2NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJib3RoIGZpbGVzIG1vZGlmaWVkOiAnJXMnIGFuZCAnJXMnLiIKIG1zZ3N0ciAiY+G6oyBoYWkgdOG6rXAgdGluIMSRw6MgYuG7iyBz4butYTog4oCcJXPigJ0gdsOgIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU2OQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyOAogbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgogbXNnc3RyICJjw6J5IGzDoG0gdmnhu4djIOG7nyBiw6puIHRyw6FpLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU4MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wb3JhcnkgZmlsZXMgZXhpc3QgaW4gJyVzJy4iCiBtc2dzdHIgImPDoWMgdOG6rXAgdGluIHThuqFtIMSRw6Mgc+G6tW4gY8OzIHRyb25nIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjU4MQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAogbXNnaWQgInlvdSBtYXkgd2FudCB0byBjbGVhbnVwIG9yIHJlY292ZXIgdGhlc2UuIgogbXNnc3RyICJi4bqhbiBjw7MgbOG6vSBtdeG7kW4gZOG7jW4gZOG6uXAgaGF5ICIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYyNgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY4OQogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICJkw7luZyDigJxkaWZmLmd1aXRvb2zigJwgdGhheSB2w6wgZMO5bmcg4oCcZGlmZi50b29s4oCcIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjI4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkxCiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gbeG7mXQgZGlmZiB0b8OgbiB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjMwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkzCiBtc2dpZCAiZG8gbm90IHByb21wdCBiZWZvcmUgbGF1bmNoaW5nIGEgZGlmZiB0b29sIgogbXNnc3RyICLEkeG7q25nIG5o4bqvYyBraGkga2jhu59pIGNo4bqheSBjw7RuZyBj4bulIGRpZmYiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAiZMO5bmcgbGnDqm4ga+G6v3QgbeG7gW0gdHJvbmcgZGlmZi10aMawLW3hu6VjIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAwCiBtc2dpZCAiPHRvb2w+IgogbXNnc3RyICI8Y8O0bmdfY+G7pT4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgImTDuW5nIGPDtG5nIGPhu6UgZGlmZiDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMwogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAiaW4gcmEgZGFuaCBzw6FjaCBjw6FjIGPDtG5nIGPhu6UgZGlmIGPDoWkgbcOgIGPDsyB0aOG6uyBkw7luZyB24bubaSDigJwtLXRvb2zigJwiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDMKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKIG1zZ2lkICIiCiAibWFrZSAnZ2l0LWRpZmZ0b29sJyBleGl0IHdoZW4gYW4gaW52b2tlZCBkaWZmIHRvb2wgcmV0dXJucyBhIG5vbiAtIHplcm8gZXhpdCAiCiAiY29kZSIKQEAgLTc2MTksMjUxICs3OTUwLDI1NSBAQAogImzDoG0gY2hvIOKAnGdpdC1kaWZmdG9vbOKAnSB0aG/DoXQga2hpIGfhu41pIGPDtG5nIGPhu6UgZGlmZiB0cuG6oyB24buBIG3DoyBraMO0bmcgcGjhuqNpIHPhu5EgIgogImtow7RuZyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOAogbXNnaWQgIjxjb21tYW5kPiIKIG1zZ3N0ciAiPGzhu4duaD4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDkKIG1zZ2lkICJzcGVjaWZ5IGEgY3VzdG9tIGNvbW1hbmQgZm9yIHZpZXdpbmcgZGlmZnMiCiBtc2dzdHIgImNo4buJIMSR4buLbmggbeG7mXQgbOG7h25oIHTDuXkgw70gxJHhu4MgeGVtIGRpZmYiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NzAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzMKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgImNoxrBhIMSRxrBhIHJhIDxjw7RuZ19j4bulPiBjaG8gLS10b29sPTxjw7RuZ19j4bulPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY3NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MAogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAiY2jGsGEgxJHGsGEgcmEgPGzhu4duaD4gY2hvIC0tZXh0Y21kPTxs4buHbmg+IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyNgogbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiBtc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGnhur9uIHRyaeG7g24gc2F1IDxuPiDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgImNo4buNbiDEkWnhu4F1IGtoaeG7g24gY+G7p2EgdGjhursgxJHDoyBrw70iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICJjaOG7jW4gc+G7sSB44butIGzDvSBj4bunYSBjw6FjIHRo4bq7LCBjw6FpIG3DoCDEkcOhbmggdGjhursgY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHGsOG7o2MgbOG7jWMgcmEiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTAKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAixJDhu5UgY8OhYyDEkcOhbmggZOG6pXUgbsOgeSB2w6BvIHThuq1wLXRpbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgogbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKIG1zZ3N0ciAibmjhuq1wIHbDoG8gxJHDoW5oIGThuqV1IHThu6sgdOG6rXAgdGluIG7DoHkiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTQKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiTMOgbSBnaeG6oyBt4buZdCBjw6FpIHRo4bq7IGtoaSB0aOG6uyBi4buLIHRoaeG6v3UgbeG7mXQgY8OhaSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NgogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICJYdeG6pXQgcmEgdG/DoG4gYuG7mSBjw6J5IGNobyBt4buXaSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk4CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgIlPhu60gZOG7pW5nIHTDrW5oIG7Eg25nIGRvbmUgxJHhu4MgY2jhuqVtIGThu6l0IGx14buTbmcgZOG7ryBsaeG7h3UiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTcKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTkKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIkLhu48gcXVhIGvhur90IHh14bqldCBj4bunYSBk4buvIGxp4buHdSBibG9iIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMAogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgInJlZnNwZWMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTkKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAxCiBtc2dpZCAiQXBwbHkgcmVmc3BlYyB0byBleHBvcnRlZCByZWZzIgogbXNnc3RyICLDgXAgZOG7pW5nIHJlZnNwZWMgY2hvIHJlZnMgxJHDoyB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMgogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgImvhur90IHh14bqldCBhbm9ueW1pemUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMQorIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgZmV0Y2ggWzxjw6FjLXTDuXktY2jhu41uPl0gWzxraG8tY2jhu6lhPiBbPHJlZnNwZWM+4oCmXV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMgorIzogYnVpbHRpbi9mZXRjaC5jOjIzCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCiBtc2dzdHIgImdpdCBmZXRjaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPG5ow7NtPiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxjw6FjLXTDuXktY2jhu41uPl0gWyg8a2hvPiB8IDxuaMOzbT4p4oCmXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI0CisjOiBidWlsdGluL2ZldGNoLmM6MjUKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE3NQorIzogYnVpbHRpbi9mZXRjaC5jOjkwIGJ1aWx0aW4vcHVsbC5jOjE4MgogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgImzhuqV5IHbhu4EgdOG7qyB04bqldCBj4bqjIGPDoWMgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE3OAorIzogYnVpbHRpbi9mZXRjaC5jOjkyIGJ1aWx0aW4vcHVsbC5jOjE4NQogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAibuG7kWkgdGjDqm0gdsOgbyAuZ2l0L0ZFVENIX0hFQUQgdGhheSB2w6wgZ2hpIMSRw6ggbMOqbiBuw7MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxODEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gZ8OzaSB04bqjaSBsw6puIHRyw6puIG3DoXkgY2jhu6cgY3Xhu5FpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAwIGJ1aWx0aW4vcHVsbC5jOjE4MworIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE5MAogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgIsOpcCBideG7mWMgZ2hpIMSRw6ggbMOqbiBuaMOhbmggbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMgorIzogYnVpbHRpbi9mZXRjaC5jOjk3CiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICJs4bqleSB04burIG5oaeG7gXUgbcOheSBjaOG7pyBjw7luZyBsw7pjIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA0IGJ1aWx0aW4vcHVsbC5jOjE4NQorIzogYnVpbHRpbi9mZXRjaC5jOjk5IGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgImzhuqV5IHThuqV0IGPhuqMgY8OhYyB0aOG6uyBjw7luZyB24bubaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBsacOqbiBxdWFuIMSR4bq/biBuw7MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgImtow7RuZyBs4bqleSB04bqldCBj4bqjIGPDoWMgdGjhursgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJz4buRIGzGsOG7o25nIG3DtC3EkXVuLWNvbiDEkcaw4bujYyBs4bqleSDEkeG7k25nIHRo4budaSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL3B1bGwuYzoxODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUgYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIiIKICJj4bqvdCBj4buldCAocHJ1bmUpIGPDoWMgbmjDoW5oIOKAnHJlbW90ZS10cmFja2luZ+KAnSBraMO0bmcgY8OybiB04buTbiB04bqhaSB0csOqbiBtw6F5IGNo4bunICIKICJu4buvYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMSBidWlsdGluL3B1bGwuYzoxOTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYgYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoxMjMKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgImtoaS1j4bqnbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL3B1bGwuYzoxOTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLEkWnhu4F1IGtoaeG7g24gdmnhu4djIGzhuqV5IHbhu4EgxJHhu4cgcXV5IHRyb25nIGPDoWMgbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjExMSBidWlsdGluL3B1bGwuYzoyMDMKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAiZ2nhu68gbOG6oWkgZ8OzaSDEkcOjIHThuqNpIHbhu4EiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAiY2hvIHBow6lwIGPhuq1wIG5o4bqtdCB0aC5jaGnhur91IEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJsw6BtIHPDonUgaMahbiBs4buLY2ggc+G7rSBj4bunYSBi4bqjbiBzYW8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKIG1zZ3N0ciAibMOgbSBzw6J1IGjGoW4gbOG7i2NoIHPhu60gY+G7p2Ega2hvIGLhuqNuIHNhbyBzaGFsbG93IGThu7FhIHRyw6puIHRo4budaSBnaWFuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNCBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY2h1eeG7g24gxJHhu5VpIGhvw6BuIHRvw6BuIHNhbmcga2hvIGdpdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYgYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiZGlyIgogbXNnc3RyICJ0beG7pWMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjcKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICJzb+G6oW4gc+G6tW4gY8OhaSBuw6B5IGNobyBr4bq/dCB4deG6pXQgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNQotbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgotbXNnc3RyICJjaOG6vyDEkeG7mSBt4bq3YyDEkeG7i25oIGNobyDEkeG7hyBxdWkiCisjOiBidWlsdGluL2ZldGNoLmM6MTMwCittc2dpZCAiIgorImRlZmF1bHQgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIChsb3dlciBwcmlvcml0eSB0aGFuIGNvbmZpZyAiCisiZmlsZXMpIgorbXNnc3RyICIiCisibeG6t2MgxJHhu4tuaCBjaG8gdmnhu4djIGzhuqV5IMSR4buHIHF1eSBjw6FjIG3DtC3EkXVuLWNvbiAoY8OzIG3hu6ljIMawdSB0acOqbiB0aOG6pXAgaMahbiBjw6FjIHThuq1wICIKKyJ0aW4gY+G6pXUgaMOsbmggY29uZmlnKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQgYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICJjaOG6pXAgbmjhuq1uIHRoYW0gY2hp4bq/dSBj4bqtcCBuaOG6rXQgLmdpdC9zaGFsbG93IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM4IGJ1aWx0aW4vcHVsbC5jOjIxMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNSBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJyZWZtYXAiCiBtc2dzdHIgInJlZm1hcCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzYgYnVpbHRpbi9wdWxsLmM6MjE1CiBtc2dpZCAic3BlY2lmeSBmZXRjaCByZWZtYXAiCiBtc2dzdHIgImNo4buJIHJhIHJlZm1hcCBj4bqnbiBs4bqleSB24buBIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzk1CisjOiBidWlsdGluL2ZldGNoLmM6Mzk0CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBtw6F5IGNo4bunIGNobyB0aGFtIGNoaeG6v3UgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUxMQorIzogYnVpbHRpbi9mZXRjaC5jOjUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICJwaOG6p24gY+G6pXUgaMOsbmggZmV0Y2gub3V0cHV0IGPDsyBjaOG7qWEgZ2nDoS10cuG7iyBraMO0bmcgaOG7o3AgbOG7hyAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwNAorIzogYnVpbHRpbi9mZXRjaC5jOjYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgxJHhu5FpIHTGsOG7o25nICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA4CisjOiBidWlsdGluL2ZldGNoLmM6NjA5CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbxJHDoyBj4bqtcCBuaOG6rXRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjIxIGJ1aWx0aW4vZmV0Y2guYzo3MDEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjIgYnVpbHRpbi9mZXRjaC5jOjcwMgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIltC4buLIHThu6sgY2jhu5FpXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyMgorIzogYnVpbHRpbi9mZXRjaC5jOjYyMwogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZmV0Y2ggKGzhuqV5KSB24buBIG5ow6FuaCBoaeG7h24gaMOgbmgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIltj4bqtcCBuaOG6rXQgdGjhurtdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjMyIGJ1aWx0aW4vZmV0Y2guYzo2NjUgYnVpbHRpbi9mZXRjaC5jOjY4MQotIzogYnVpbHRpbi9mZXRjaC5jOjY5NgorIzogYnVpbHRpbi9mZXRjaC5jOjYzMyBidWlsdGluL2ZldGNoLmM6NjY2IGJ1aWx0aW4vZmV0Y2guYzo2ODIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTcKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCB0aGFtIGNoaeG6v3UgbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1MQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MgogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW3Ro4bq7IG3hu5tpXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1NAorIzogYnVpbHRpbi9mZXRjaC5jOjY1NQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW25ow6FuaCBt4bubaV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTgKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIltyZWYgKHRoYW0gY2hp4bq/dSkgbeG7m2ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Njk2CisjOiBidWlsdGluL2ZldGNoLmM6Njk3CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiY8aw4buhbmcgYuG7qWMgY+G6rXAgbmjhuq10IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAia2jDtG5nLXBo4bqjaS1jaHV54buDbi10aeG6v3AtbmhhbmgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyDEkcOjIGtow7RuZyBn4butaSB04bqldCBj4bqjIGPDoWMgxJHhu5FpIHTGsOG7o25nIGPhuqduIHRoaeG6v3RcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2NgorIzogYnVpbHRpbi9mZXRjaC5jOjc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICJ04burIGNo4buRaSAlcyBi4bufaSB2w6wgY8OhYyBn4buRYyBuw7RuZyB0aMOsIGtow7RuZyDEkcaw4bujYyBwaMOpcCBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMgYnVpbHRpbi9mZXRjaC5jOjk0OQorIzogYnVpbHRpbi9mZXRjaC5jOjg1NSBidWlsdGluL2ZldGNoLmM6OTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJU4burICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2NAorIzogYnVpbHRpbi9mZXRjaC5jOjg2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtNzg3Miw1NyArODIwNyw1NyBAQAogIm3hu5l0IHPhu5EgdGhhbSBjaGnhur91IG7hu5lpIGLhu5kga2jDtG5nIHRo4buDIMSRxrDhu6NjIGPhuq1wIG5o4bqtdDsgaMOjeSB0aOG7rSBjaOG6oXlcbiIKICIg4oCcZ2l0IHJlbW90ZSBwcnVuZSAlc+KAnSDEkeG7gyBi4buPIMSRaSBuaOG7r25nIG5ow6FuaCBjxaksIGhheSBi4buLIHh1bmcgxJHhu5l0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTE5CisjOiBidWlsdGluL2ZldGNoLmM6OTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBz4bq9IHRy4bufIHRow6BuaCBraMO0bmcgxJHhuqd1IChraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIMSRw6MgdHLhu58gdGjDoG5oIGtow7RuZyDEkeG6p3UgKGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9KSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTQKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIlvEkcOjIHjDs2FdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTUzIGJ1aWx0aW4vcmVtb3RlLmM6MTAyMAorIzogYnVpbHRpbi9mZXRjaC5jOjk1NSBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihraMO0bmcpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTc2CisjOiBidWlsdGluL2ZldGNoLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogIlThu6sgY2jhu5FpIHZp4buHYyBs4bqleSB2w6BvIHRyb25nIG5ow6FuaCBoaeG7h24gdOG6oWkgJXMgY+G7p2EgbeG7mXQga2hvIGNo4bupYSBraMO0bmcgcGjhuqNpIGtobyAiCiAidHLhuqduIChiYXJlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5NQorIzogYnVpbHRpbi9mZXRjaC5jOjk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICJUw7l5IGNo4buNbiBcIiVzXCIgY8OzIGdpw6EgdHLhu4sgXCIlc1wiIGzDoCBraMO0bmcgaOG7o3AgbOG7hyBjaG8gJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gXCIlc1wiIGLhu4sgYuG7jyBxdWEgduG7m2kgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIktow7RuZyBiaeG6v3QgbMOgbSBjw6FjaCBuw6BvIMSR4buDIGzhuqV5IHbhu4EgdOG7qyAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIsSQYW5nIGzhuqV5IOKAnCVz4oCdIHbhu4FcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzYgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzggYnVpbHRpbi9yZW1vdGUuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDigJwlc+KAnSB24buBIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI1NAorIzogYnVpbHRpbi9mZXRjaC5jOjEyNTYKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKQEAgLTc5MzAsMTI2ICs4MjY1LDEyOCBAQAogIkNoxrBhIGNo4buJIHJhIGtobyBjaOG7qWEgbcOheSBjaOG7py4gIFhpbiBow6N5IGNo4buJIMSR4buLbmggaG/hurdjIGzDoCBVUkwgaG/hurdjXG4iCiAidMOqbiBtw6F5IGNo4bunIHThu6sgY8OhaSBtw6Agbmjhu69uZyDEkWnhu4NtIHjDqXQgZHV54buHdCBt4bubaSBjw7MgdGjhu4MgxJHGsOG7o2MgZmV0Y2ggKGzhuqV5IHbhu4EpLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjc5CiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiQuG6oW4gcGjhuqNpIMSR4buLbmggcsO1IHTDqm4gdGjhursuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMxOQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjEKIG1zZ2lkICJOZWdhdGl2ZSBkZXB0aCBpbiAtLWRlZXBlbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJN4bupYyBzw6J1IGzDoCBz4buRIMOibSB0cm9uZyAtLWRlZXBlbiBsw6Aga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIxCisjOiBidWlsdGluL2ZldGNoLmM6MTMyMwogbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4tLWRlZXBlbiB2w6AgLS1kZXB0aCBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyNgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjgKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1kZXB0aCB2w6AgLS11bnNoYWxsb3cga2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGPDuW5nIHbhu5tpIG5oYXUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI4CisjOiBidWlsdGluL2ZldGNoLmM6MTMzMAogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXVuc2hhbGxvdyB0csOqbiBraG8gaG/DoG4gY2jhu4luaCBsw6Aga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQ5CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImzhu4duaCBs4bqleSB24buBIFwiZmV0Y2ggLS1hbGxcIiBraMO0bmcgbOG6pXkgxJHhu5FpIHPhu5Ega2hvIGNo4bupYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUxCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJs4buHbmggbOG6pXkgduG7gSBcImZldGNoIC0tYWxsXCIga2jDtG5nIGjhu6NwIGzDvSB24bubaSByZWZzcGVjcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgImtow7RuZyBjw7MgbmjDs20gbcOheSBjaOG7pyBoYXkgbcOheSBjaOG7pyBuaMawIHRo4bq/OiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJWaeG7h2MgbOG6pXkgduG7gSBj4bqjIG3hu5l0IG5ow7NtIHbDoCBjaOG7iSDEkeG7i25oIHJlZnNwZWNzIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjE0CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNQogbXNnaWQgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxjaMO6X3Row61jaD5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDx04bqtcC0iCiAidGluPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJn4bqvbiBuaOG6rXQga8O9IHbhu5tpIMOtdCBuaOG6pXQgPG4+IG3hu6VjIHThu6sgbOG7h25oIOKAnHNob3J0bG9n4oCdIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgImLDrSBkYW5oIGNobyAtLWxvZyAoa2jDtG5nIMSRxrDhu6NjIGTDuW5nKSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICJ2xINuIGLhuqNuIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAiZMO5bmcgPHbEg24gYuG6o24gdGjGsOG7nW5nPiDEkeG7gyBi4bqvdCDEkeG6p3UgZ2hpIGNow7oiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcyCiBtc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCiBtc2dzdHIgInThuq1wIHRpbiDEkeG7gyDEkeG7jWMgZOG7ryBsaeG7h3UgdOG7qyDEkcOzIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjkKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFs8b3B0aW9ucz5dIFs8cGF0dGVybj5dIgogbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8beG6q3U+XSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPMSR4buRaSB0xrDhu6NuZz5dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCi1tc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8b2JqZWN0Pl1dIgotbXNnc3RyICJnaXQgYnJhbmNoIChbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzzEkeG7kWlfdMaw4bujbmc+XSIKLQogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMgotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxvYmplY3Q+XV0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzzEkeG7kWlfdMaw4bujbmc+XV0iCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8Y29tbWl0Pl1dIgorbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxs4bqnbi1jaHV54buDbi1naWFvPl1dIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjI3CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEzCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPGNvbW1pdD5dXSBbLS1uby1jb250YWlucyBbPGNvbW1pdD5dXSIKK21zZ3N0ciAiIgorImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxs4bqnbi1jaHV54buDbi1naWFvPl1dIFstLW5vLWNvbnRhaW5zIFs8bOG6p24tIgorImNodXnhu4NuLWdpYW8+XV0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAidHLDrWNoIGThuqtuIMSR4buDIHBow7kgaOG7o3AgY2hvIGjhu4cgduG7jyAoc2hlbGwpIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjI5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMwCiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgogbXNnc3RyICJ0csOtY2ggZOG6q24gxJHhu4MgcGjDuSBo4bujcCBjaG8gcGVybCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMgogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcHl0aG9uIgogbXNnc3RyICJ0csOtY2ggZOG6q24gxJHhu4MgcGjDuSBo4bujcCBjaG8gcHl0aG9uIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM0CiBtc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBUY2wiCiBtc2dzdHIgInRyw61jaCBk4bqrbiDEkeG7gyBwaMO5IGjhu6NwIGNobyBUY2wiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcKIG1zZ2lkICJzaG93IG9ubHkgPG4+IG1hdGNoZWQgcmVmcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGNo4buJIDxuPiB0aGFtIGNoaeG6v3Uga2jhu5twIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vdGFnLmM6Mzg3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4Ci1tc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKLW1zZ3N0ciAixJHhu4tuaCBk4bqhbmcgc+G6vSBkw7luZyBjaG8gxJHhuqd1IHJhIgotCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyCiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIHBvaW50cyBhdCB0aGUgZ2l2ZW4gb2JqZWN0IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyB0aGFtIGNoaeG6v3UgbcOgIG7DsyBjaOG7iSDEkeG6v24gxJHhu5FpIHTGsOG7o25nIMSRw6MgY2hvIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgdGhhbSBjaGnhur91IG3DoCBuw7MgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgdGhhbSBjaGnhur91IG3DoCBuw7Mga2jDtG5nIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgdGhhbSBjaGnhur91IG3DoCBuw7MgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgbmjhu69uZyB0aGFtIGNoaeG6v3UgbcOgIG7DsyBraMO0bmcgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8iCisKICM6IGJ1aWx0aW4vZnNjay5jOjU1NAogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSBjw6FjIHRoxrAgbeG7pWMgxJHhu5FpIHTGsOG7o25nIgpAQCAtODExMCwyMSArODQ0NywyMSBAQAogbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEgY8OhYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyNQorIzogYnVpbHRpbi9nYy5jOjI2CiBtc2dpZCAiZ2l0IGdjIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZ2MgWzxjw6FjLXTDuXktY2jhu41uPl0iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo3MgorIzogYnVpbHRpbi9nYy5jOjc5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgJXM6ICclcyciCi1tc2dzdHIgIiVzIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKK21zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBIHThuq1wIHRpbiAlczogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoxMzkKKyM6IGJ1aWx0aW4vZ2MuYzozMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCi1tc2dzdHIgInRoxrAgbeG7pWMgxJHhu5FpIHTGsOG7o25nIGTDoGkgbeG7mXQgY8OhY2ggxJFpw6puIHLhu5MgJS4qcyIKK21zZ2lkICJDYW4ndCBzdGF0ICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2djLmM6Mjk3CisjOiBidWlsdGluL2djLmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTgxMzksNDAgKzg0NzYsNDUgQEAKICJcbiIKICIlcyIKIAotIzogYnVpbHRpbi9nYy5jOjMzNAorIzogYnVpbHRpbi9nYy5jOjM1OQogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICJ4w7NhIGLhu48gY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIMSRxrDhu6NjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9nYy5jOjMzNgorIzogYnVpbHRpbi9nYy5jOjM2MQogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAiY+G6qW4gdGjhuq1uIGjGoW4gbuG7r2EgKHTEg25nIHRo4budaSBnaWFuIGNo4bqheSkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzcKKyM6IGJ1aWx0aW4vZ2MuYzozNjIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICJi4bqtdCBjaOG6vyDEkeG7mSBhdXRvLWdjIgogCi0jOiBidWlsdGluL2djLmM6MzM4CisjOiBidWlsdGluL2djLmM6MzYzCiBtc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCiBtc2dzdHIgImJ14buZYyBnYyBjaOG6oXkgbmdheSBj4bqjIGtoaSBjw7MgdGnhur9uIHRyw6xuaCBnYyBraMOhYyDEkWFuZyBjaOG6oXkiCiAKICM6IGJ1aWx0aW4vZ2MuYzozODAKICMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGdjLmxvZ2V4cGlyeSB2YWx1ZSAlcyIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGdpw6EgdHLhu4sgZ2MubG9nZXhwaXJ5ICVzIgorCisjOiBidWlsdGluL2djLmM6NDA4CisjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICIiCiAiVOG7sSDEkeG7mW5nIMSRw7NuZyBnw7NpIGtobyBjaOG7qWEgdHLDqm4gbuG7gW4gaOG7hyB0aOG7kW5nIMSR4buDIHThu5FpIMawdSBow7NhIGhp4buHdSBzdeG6pXQgbMOgbSAiCiAidmnhu4djLlxuIgogCi0jOiBidWlsdGluL2djLmM6MzgyCisjOiBidWlsdGluL2djLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiVOG7sSDEkeG7mW5nIMSRw7NuZyBnw7NpIGtobyBjaOG7qWEgxJHhu4MgdOG7kWkgxrB1IGjDs2EgaGnhu4d1IHN14bqldCBsw6BtIHZp4buHYy5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjM4MworIzogYnVpbHRpbi9nYy5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtYW51YWwgaG91c2VrZWVwaW5nLlxuIgogbXNnc3RyICJYZW0gXCJnaXQgaGVscCBnY1wiIMSR4buDIGPDsyBoxrDhu5tuZyBk4bqrbiBj4bulIHRo4buDIHbhu4EgY8OhY2ggZOG7jW4gZOG6uXAga2hvIGdpdC5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjQwNAorIzogYnVpbHRpbi9nYy5jOjQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKQEAgLTgxODAsMjYzICs4NTIyLDI3OSBAQAogImdjIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h24gdHLDqm4gbcOheSDigJwlc+KAnSBwaWQgJTxQUkl1TUFYPiAoZMO5bmcgLS1mb3JjZSBu4bq/dSBraMO0bmcgIgogInBo4bqjaSB0aOG6vykiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NDgKKyM6IGJ1aWx0aW4vZ2MuYzo0ODAKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKICJDw7MgcXXDoSBuaGnhu4F1IMSR4buRaSB0xrDhu6NuZyB04buxIGRvIGtow7RuZyDEkcaw4bujYyBkw7luZyDEkeG6v247IGjDo3kgY2jhuqF5IGzhu4duaCDigJxnaXQgcHJ1bmXigJ0gIgogIsSR4buDIHjDs2EgYuG7jyBjaMO6bmcgxJFpLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI3CiBtc2dpZCAiZ2l0IGdyZXAgWzxvcHRpb25zPl0gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgZ3JlcCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbLWVdIDxt4bqrdT4gWzxyZXY+4oCmXSBbWy0tXSA8xJHGsOG7nW5nLWThuqtuPuKApl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIzMgorIzogYnVpbHRpbi9ncmVwLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDogZ+G6t3AgbOG7l2kgdOG6oW8gdHV54bq/biAodGhyZWFkKTogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI5MAorIzogYnVpbHRpbi9ncmVwLmM6MjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICJz4buRIHR1eeG6v24gxJHDoyBjaG8ga2jDtG5nIGjhu6NwIGzhu4cgKCVkKSBjaG8gJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc2MyBidWlsdGluL2dyZXAuYzo4MDQKKyMuIFRSQU5TTEFUT1JTOiAlcyBpcyB0aGUgY29uZmlndXJhdGlvbgorIy4gdmFyaWFibGUgZm9yIHR3ZWFraW5nIHRocmVhZHMsIGN1cnJlbnRseQorIy4gZ3JlcC50aHJlYWRzCisjLgorIzogYnVpbHRpbi9ncmVwLmM6MzAyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MgorIywgYy1mb3JtYXQKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyDEkWEgdHV54bq/biwgYuG7jyBxdWEgJXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc4OCBidWlsdGluL2dyZXAuYzo4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGPDonkgKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODIzCisjOiBidWlsdGluL2dyZXAuYzo4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbOG7h25oIGdyZXAgKGzhu41jIHTDrG0pIHThu6sgxJHhu5FpIHTGsOG7o25nIHRodeG7mWMga2nhu4N1ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJjaHV54buDbiDEkeG6v24g4oCcJWPigJ0gY+G6p24gbeG7mXQgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTczCisjOiBidWlsdGluL2dyZXAuYzo5OTkKIG1zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgogbXNnc3RyICJ0w6xtIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyB0aGF5IHbDrCB0cm9uZyBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDEKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAidMOsbSB0cm9uZyBu4buZaSBkdW5nIGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9IGLhu59pIGdpdCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc3CisjOiBidWlsdGluL2dyZXAuYzoxMDAzCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJ0w6xtIGtp4bq/bSBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyB2w6AgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIGThuqV1IHbhur90IgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDUKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgImPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgxJHGsOG7o2MgY2jhu4kgxJHhu4tuaCB0aMO0bmcgcXVhIOKAnC5naXRpZ25vcmXigJ0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4MQotbXNnaWQgInJlY3Vyc2l2bGV5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKK21zZ2lkICJyZWN1cnNpdmVseSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCiBtc2dzdHIgInTDrG0ga2nhur9tIMSR4buHIHF1eSB0cm9uZyB04burbmcgbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDkKIG1zZ2lkICJiYXNlbmFtZSIKIG1zZ3N0ciAidMOqbiBjxqEgc+G7nyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTg0CisjOiBidWlsdGluL2dyZXAuYzoxMDEwCiBtc2dpZCAicHJlcGVuZCBwYXJlbnQgcHJvamVjdCdzIGJhc2VuYW1lIHRvIG91dHB1dCIKIG1zZ3N0ciAidHJlbyB2w6BvIHRyxrDhu5tjIHTDqm4gY8ahIHPhu58gY2hhIG3hurkgY+G7p2EgxJHGsOG7nW5nIGThuqtuIHbDoG8ga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTMKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG5o4buvbmcgZMOybmcga2jDtG5nIGto4bubcCB24bubaSBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTg5CisjOiBidWlsdGluL2dyZXAuYzoxMDE1CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAicGjDom4gYmnhu4d0IEhPQS90aMaw4budbmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MQorIzogYnVpbHRpbi9ncmVwLmM6MTAxNwogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICJjaOG7iSBraOG7m3AgbeG6q3UgdOG6oWkgxJHGsOG7nW5nIHJhbmggZ2nhu5tpIHThu6siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5MworIzogYnVpbHRpbi9ncmVwLmM6MTAxOQogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgInjhu60gbMO9IHThuq1wIHRpbiBuaOG7iyBwaMOibiBuaMawIGzDoCBk4bqhbmcgdsSDbiBi4bqjbiB0aMaw4budbmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk5NQorIzogYnVpbHRpbi9ncmVwLmM6MTAyMQogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAia2jDtG5nIGto4bubcCBt4bqrdSB0cm9uZyBjw6FjIHThuq1wIHRpbiBuaOG7iyBwaMOibiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTk4CisjOiBidWlsdGluL2dyZXAuYzoxMDI0CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgogbXNnc3RyICJ44butIGzDvSB04bqtcCB0aW4gbmjhu4sgcGjDom4gduG7m2kgY8OhYyBi4buZIGzhu41jIOKAnHRleHRjb2524oCdIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDAwCisjOiBidWlsdGluL2dyZXAuYzoxMDI2CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICJo4bqhIHh14buRbmcgw610IG5o4bqldCBsw6AgbeG7qWMgPHPDonU+IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDA0CisjOiBidWlsdGluL2dyZXAuYzoxMDMwCiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgImTDuW5nIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1aSBQT1NJWCBjw7MgbeG7nyBy4buZbmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzMKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgInPhu60gZOG7pW5nIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSBraeG7g3UgUE9TSVggKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDEwCisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgImRp4buFbiBk4buLY2ggY8OhYyBt4bqrdSBuaMawIGzDoCBjaHXhu5dpIGPhu5EgxJHhu4tuaCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAzOQogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAic+G7rSBk4bulbmcgYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5IHTGsMahbmcgdGjDrWNoIFBlcmwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDIKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHPhu5EgY+G7p2EgZMOybmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDMKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxOAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NgogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiB0xrDGoW5nIMSR4buRaSB24bubaSB0aMawIG3hu6VjIMSR4buJbmggKHRvcCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDgKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiB0aGF5IHbDrCBuaOG7r25nIGTDsm5nIGto4bubcCB24bubaSBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyNAorIzogYnVpbHRpbi9ncmVwLmM6MTA1MAogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyNworIzogYnVpbHRpbi9ncmVwLmM6MTA1MwogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4gY2hvIG5o4buvbmcgdOG6rXAgdGluIGtow7RuZyBraOG7m3AgduG7m2kgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTUKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJ0aMOqbSBOVUwgdsOgbyBzYXUgdMOqbiB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgc+G7kSBsxrDhu6NuZyBraOG7m3AgdGhheSB2w6wgbmjhu69uZyBkw7JuZyBraOG7m3AgduG7m2kgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTgKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAidMO0IHPDoW5nIHBo4bqnbiBraOG7m3AgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjAKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGTDsm5nIHRy4buRbmcgZ2nhu69hIGPDoWMgbOG6p24ga2jhu5twIHThu6sgY8OhYyB04bqtcCB0aW4ga2jDoWMgYmnhu4d0IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDM2CisjOiBidWlsdGluL2dyZXAuYzoxMDYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiBt4buZdCBs4bqnbiBwaMOtYSB0csOqbiBjw6FjIGzhuqduIGto4bubcCB04burIGPDuW5nIG3hu5l0IHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzOQorIzogYnVpbHRpbi9ncmVwLmM6MTA2NQogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgPG4+IGTDsm5nIG7hu5lpIGR1bmcgcGjDrWEgdHLGsOG7m2MgdsOgIHNhdSBjw6FjIGzhuqduIGto4bubcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0MgorIzogYnVpbHRpbi9ncmVwLmM6MTA2OAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gZMOybmcgbuG7mWkgZHVuZyB0csaw4bubYyBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzAKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gZMOybmcgbuG7mWkgZHVuZyBzYXUga2jhu5twIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ2CisjOiBidWlsdGluL2dyZXAuYzoxMDcyCiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAiZMO5bmcgPG4+IHR1eeG6v24gdHLDrG5oIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ3CisjOiBidWlsdGluL2dyZXAuYzoxMDczCiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiZOG6oW5nIHZp4bq/dCB04bqvdCBj4bunYSAtQyBT4buQIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUwCisjOiBidWlsdGluL2dyZXAuYzoxMDc2CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGTDsm5nIHbDs2kgdMOqbiBow6BtIHRyxrDhu5tjIGPDoWMgbOG6p24ga2jhu5twIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUyCisjOiBidWlsdGluL2dyZXAuYzoxMDc4CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyBow6BtIGJhbyBxdWFuaCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NQorIzogYnVpbHRpbi9ncmVwLmM6MTA4MQogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICLEkeG7jWMgbeG6q3UgdOG7qyB04bqtcC10aW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODMKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIm1hdGNoIDxt4bqrdT4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwODUKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJ04buVIGjhu6NwIG3huqt1IMSRxrDhu6NjIGNo4buJIHJhIHbhu5tpIHTDuXkgY2jhu41uIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDcxCisjOiBidWlsdGluL2dyZXAuYzoxMDk3CiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgIsSRxrBhIHJhIGfhu6NpIMO9IHbhu5tpIHRy4bqhbmcgdGjDoWkgdGhvw6F0IG3DoCBraMO0bmcgY8OzIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3MworIzogYnVpbHRpbi9ncmVwLmM6MTA5OQogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIGPDoWkga2jhu5twIHThu6sgdOG6rXAgdGluIG3DoCBuw7Mga2jhu5twIHRvw6BuIGLhu5kgY8OhYyBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3NQorIzogYnVpbHRpbi9ncmVwLmM6MTEwMQogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OieSBwaMOibiB0w61jaCBjw7ogcGjDoXAgY2hvIGJp4buDdSB0aOG7qWMg4oCcZ3JlcOKAnSAodMOsbSBraeG6v20pIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDc5CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgImTDoG4gdHJhbmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDUKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGto4bubcCB0cm9uZyB0cmFuZyBnaeG6pXkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgImNobyBwaMOpcCBn4buNaSBncmVwKDEpIChi4buLIGLhu48gcXVhIGLhu59pIGzhuqduIGThu4tjaCBuw6B5KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTE0NgorIzogYnVpbHRpbi9ncmVwLmM6MTE3MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICJjaMawYSBjaOG7iSByYSBt4bqrdS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExNzggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MgorIzogYnVpbHRpbi9ncmVwLmM6MTIwNAorbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgorbXNnc3RyICItLW5vLWluZGV4IGhheSAtLXVudHJhY2tlZCBraMO0bmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgcmV2cyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgxJFp4buDbSB4w6l0IGR1eeG7h3Q6ICVzIgorCisjOiBidWlsdGluL2dyZXAuYzoxMjQ1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAic+G7kSB0dXnhur9uIGNo4buJIHJhIGtow7RuZyBo4bujcCBs4buHICglZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyMTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTAKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgxJFhIHR1eeG6v24sIGLhu48gcXVhIC0tdGhyZWFkcyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI4MQogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGNo4buJIGzDoG0gdmnhu4djIHRyw6puIGPDonktbMOgbS12aeG7h2MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyMzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMDQKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgduG7m2kgLS1yZWN1cnNlLXN1Ym1vZHVsZXMuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjQ0CisjOiBidWlsdGluL2dyZXAuYzoxMzEwCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiLS1jYWNoZWQgaGF5IC0tdW50cmFja2VkIGtow7RuZyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI0OQotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiIgotIi0tbm8taW5kZXggaGF5IC0tdW50cmFja2VkIGtow7RuZyDEkcaw4bujYyBz4butIGThu6VuZyBjw7luZyB24bubaSBjw6FjIHTDuXkgY2jhu41uIGxpw6puICIKLSJxdWFuIMSR4bq/biByZXZzLiIKLQotIzogYnVpbHRpbi9ncmVwLmM6MTI1MgorIzogYnVpbHRpbi9ncmVwLmM6MTMxNgogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQga2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGNobyBu4buZaSBkdW5nIGzGsHUgZOG6pXUgduG6v3QuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjYwCisjOiBidWlsdGluL2dyZXAuYzoxMzI0CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiY+G6oyBoYWkgLS1jYWNoZWQgdsOgIGPDoWMgY8OieSBwaOG6o2kgxJHGsOG7o2MgY2jhu4kgcmEuIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaWxlPi4uLiIKQEAgLTg0NDQsOTEgKzg4MDIsOTEgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10IDxraeG7g3U+XSBbLXddIFstLXBhdGg9PHThuq1wLXRpbj4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8dOG6rXAtdGluPuKApiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgyCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODMKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICJraeG7g3UiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgImtp4buDdSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk2CiBtc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgImdoaSDEkeG7kWkgdMaw4bujbmcgdsOgbyBk4buvIGxp4buHdSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgIsSR4buNYyDEkeG7kWkgdMaw4bujbmcgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIHN0ZGluIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAibMawdSBjw6FjIHThuq1wIHRpbiBtw6AgbsOzIGtow7RuZyBjw7MgY8OhYyBi4buZIGzhu41jIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAiIgogImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKIG1zZ3N0ciAiY2jhu4kgY+G6p24gYsSDbSByw6FjIG5n4bqrdSBuaGnDqm4gxJHhu4MgdOG6oW8gbeG7mXQgxJHhu5FpIHTGsOG7o25nIGjhu49uZyDEkeG7gyBtw6AgZ+G7oSBs4buXaSBHaXQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAieOG7rSBsw70gdOG6rXAgdGluIG5oxrAgbMOgIG7DsyDEkWFuZyDhu58gdGjGsCBt4bulYyBuw6B5IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MgorIzogYnVpbHRpbi9oZWxwLmM6NDMKIG1zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZGFuaCBzw6FjaCBjw6FjIGPDonUgbOG7h25oIG5nxrDhu51pIGTDuW5nIGPDsyB0aOG7gyBz4butIGThu6VuZyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0CiBtc2dpZCAiZXhjbHVkZSBndWlkZXMiCiBtc2dzdHIgImjGsOG7m25nIGThuqtuIGxv4bqhaSB0cuG7qyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ1CiBtc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZGFuaCBzw6FjaCBjw6FjIGjGsOG7m25nIGThuqtuIGjhu691IGThu6VuZyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDUKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2CiBtc2dpZCAic2hvdyBtYW4gcGFnZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRyYW5nIG1hbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3CiBtc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBoxrDhu5tuZyBk4bqrbiBz4butIGThu6VuZyB0cm9uZyB0csOsbmggZHV54buHdCB3ZWIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ4CisjOiBidWlsdGluL2hlbHAuYzo0OQogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICJoaeG7h24gdHJhbmcgaW5mbyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTQKKyM6IGJ1aWx0aW4vaGVscC5jOjU1CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGzhu4duaD5dIgogCi0jOiBidWlsdGluL2hlbHAuYzo2NgorIzogYnVpbHRpbi9oZWxwLmM6NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgxJHhu4tuaCBk4bqhbmcgdHLhu6MgZ2nDunAg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjkzCisjOiBidWlsdGluL2hlbHAuYzo5NAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBraOG7n2kgY2jhuqF5IGVtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTA2CisjOiBidWlsdGluL2hlbHAuYzoxMDcKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBwaGnDqm4gYuG6o24gZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTQKKyM6IGJ1aWx0aW4vaGVscC5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJwaGnDqm4gYuG6o24gY+G7p2EgZW1hY3NjbGllbnQg4oCcJWTigJ0gcXXDoSBjxakgKDwgMjIpLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTMyIGJ1aWx0aW4vaGVscC5jOjE1MyBidWlsdGluL2hlbHAuYzoxNjIgYnVpbHRpbi9oZWxwLmM6MTcwCisjOiBidWlsdGluL2hlbHAuYzoxMzMgYnVpbHRpbi9oZWxwLmM6MTU0IGJ1aWx0aW4vaGVscC5jOjE2MyBidWlsdGluL2hlbHAuYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4ZWMgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHRo4buxYyB0aGkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIwNworIzogYnVpbHRpbi9oZWxwLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtODUzNyw3ICs4ODk1LDcgQEAKICLigJwlc+KAnTogxJHGsOG7nW5nIGThuqtuIGtow7RuZyBo4buXIHRy4bujIGLhu5kgdHLDrG5oIGNoaeG6v3UgbWFuLlxuIgogIkjDo3kgY8OibiBuaOG6r2MgxJHhur9uIHZp4buHYyBz4butIGThu6VuZyDigJxtYW4uPHRvb2w+LmNtZOKAnSDEkeG7gyB0aGF5IHRo4bq/LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE5CisjOiBidWlsdGluL2hlbHAuYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC04NTQ2LDQyOSArODkwNCw0MjkgQEAKICLigJwlc+KAnTogY21kIChs4buHbmgpIGjhu5cgdHLhu6MgYuG7mSB0csOsbmggY2hp4bq/dSBtYW4uXG4iCiAiSMOjeSBjw6JuIG5o4bqvYyDEkeG6v24gdmnhu4djIHPhu60gZOG7pW5nIOKAnG1hbi48dG9vbD4ucGF0aOKAnSDEkeG7gyB0aGF5IHRo4bq/LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzM2CisjOiBidWlsdGluL2hlbHAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAi4oCcJXPigJ06IGtow7RuZyByw7UgY2jGsMahbmcgdHLDrG5oIHhlbSBtYW4uIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTMKKyM6IGJ1aWx0aW4vaGVscC5jOjM1NAogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAia2jDtG5nIGPDsyB0csOsbmggeGVtIHRy4bujIGdpw7pwIGThuqFuZyBtYW5wYWdlIHRp4bq/cCBo4bujcCB24bubaSB5w6p1IGPhuqd1IgogCi0jOiBidWlsdGluL2hlbHAuYzozNjEKKyM6IGJ1aWx0aW4vaGVscC5jOjM2MgogbXNnaWQgIm5vIGluZm8gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImtow7RuZyBjw7MgdHLDrG5oIHhlbSB0cuG7oyBnacO6cCBk4bqhbmcgaW5mbyB0aeG6v3AgaOG7o3AgduG7m2kgecOqdSBj4bqndSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDAzCisjOiBidWlsdGluL2hlbHAuYzo0MDQKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICLEkOG7i25oIG5naMSpYSBjw6FjIHRodeG7mWMgdMOtbmggY2hvIG3hu5dpIMSRxrDhu51uZyBk4bqrbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA0CisjOiBidWlsdGluL2hlbHAuYzo0MDUKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAiTeG7l2kgbmfDoHkgaOG7jWMgMjAgbOG7h25oIEdpdCBoYXkgaMahbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA1CisjOiBidWlsdGluL2hlbHAuYzo0MDYKIG1zZ2lkICJBIEdpdCBnbG9zc2FyeSIKIG1zZ3N0ciAiVGh14bqtdCBuZ+G7ryBjaHV5w6puIG3DtG4gR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNwogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIkNo4buJIMSR4buLbmggY8OhYyB04bqtcCB0aW4ga2jDtG5nIGPhuqduIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA3CisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAixJDhu4tuaCBuZ2jEqWEgdGh14buZYyB0w61uaCBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOAorIzogYnVpbHRpbi9oZWxwLmM6NDA5CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICJDaOG7iSDEkeG7i25oIMSRaeG7g20geMOpdCBkdXnhu4d0IHbDoCB2w7luZyBjaG8gR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDkKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgogbXNnc3RyICJIxrDhu5tuZyBk4bqrbiBjw6FjaCBkw7luZyBHaXQg4bufIG3hu6ljIGPGoSBi4bqjbiAoYuG6o24gMS41LjEgaGF5IG3hu5tpIGjGoW4pIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTAKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMQogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiVOG7lW5nIHF1YW4gduG7gSBsdeG7k25nIGPDtG5nIHZp4buHYyBraHV54bq/biBuZ2jhu4sgbsOqbiBkw7luZyB24bubaSBHaXQuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjIKKyM6IGJ1aWx0aW4vaGVscC5jOjQyMwogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6XG4iCiBtc2dzdHIgIkPDoWMgY2jhu4kgZOG6q24gY2h1bmcgduG7gSBjw6FjaCBkw7luZyBHaXQgbMOgOlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDAKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgIuKAnGdpdCAlc+KAnSDEkcaw4bujYyDEkeG6t3QgYsOtIGRhbmggdGjDoG5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NjIgYnVpbHRpbi9oZWxwLmM6NDc5CisjOiBidWlsdGluL2hlbHAuYzo0NjMgYnVpbHRpbi9oZWxwLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICJjw6FjaCBkw7luZzogJXMlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKIG1zZ3N0ciAia2nhu4N1IMSR4buRaSB0xrDhu6NuZyBraMO0bmcga2jhu5twIHThuqFpICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgduG7gSDEkeG7kWkgdMaw4bujbmcgY+G6p24gJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyAlczogY+G6p24ga2nhu4N1ICVzIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaWxsICVkIGJ5dGUiCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBmaWxsICVkIGJ5dGVzIgogbXNnc3RyWzBdICJraMO0bmcgdGjhu4MgxJFp4buBbiB0aMOqbSB2w6BvICVkIGJ5dGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICJn4bq3cCBr4bq/dCB0aMO6YyB04bqtcCB0aW4gRU9GIHF1w6Egc+G7m20iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgxCiBtc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKIG1zZ3N0ciAibOG7l2kgxJHhu41jIOG7nyDEkeG6p3UgdsOgbyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTMKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAic+G7rSBk4bulbmcgbmhp4buBdSBoxqFuIHPhu5EgbMaw4bujbmcgYnl0ZSBtw6AgbsOzIHPhurVuIGPDsyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDAKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICJnw7NpIHF1w6EgbOG7m24gc28gduG7m2kgxJHhu4tuaCBuZ2jEqWEgaGnhu4duIHThuqFpIGPhu6dhIGtp4buDdSBvZmZfdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MwogbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKIG1zZ3N0ciAiZ8OzaSDEkcOjIHbGsOG7o3QgcXXDoSBj4buhIHThu5FpIMSRYSDEkcaw4bujYyBwaMOpcCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHBhY2tmaWxlIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgogbXNnc3RyICJjaOG7ryBrw70gY2hvIGfDs2kga2jDtG5nIGto4bubcCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgcGhpw6puIGLhuqNuIGfDs2kgJTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlPFBSSXVNQVg+OiAlcyIKIG1zZ3N0ciAiZ8OzaSBjw7MgxJHhu5FpIHTGsOG7o25nIHNhaSB04bqhaSBraG/huqNuZyBiw7kgJTxQUkl1TUFYPjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgInjhuqMgbsOpbiB0cuG6oyB24buBICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyOAogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgInRyw6BuIGdpw6EgdHLhu4sga2hv4bqjbmcgYsO5IGNobyDEkeG7kWkgdMaw4bujbmcgZGVsdGEgY8ahIHPhu58iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM2CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJraG/huqNuZyBiw7kgY8ahIHPhu58gY2hvIGRlbHRhIG7hurFtIG5nb8OgaSBwaOG6oW0gdmkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgImtow7RuZyBoaeG7g3Uga2nhu4N1IMSR4buRaSB0xrDhu6NuZyAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzUKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhuqF5IGjDoG0gcHJlYWQgY2hvIHThuq1wIHRpbiBnw7NpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCiBtc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCiBtc2dzdHJbMF0gInThuq1wIHRpbiBnw7NpIGLhu4sga+G6v3QgdGjDumMgc+G7m20sIHRoaeG6v3UgJTxQUkl1TUFYPiBieXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMwogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJz4buxIG3DonUgdGh14bqrbiB44bqjIG7DqW4gbmdoacOqbSB0cuG7jW5nIgogCiAjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDggYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3NwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIlPhu7AgVkEgQ0jhuqBNIFNIQTEgxJDDgyBY4bqiWSBSQSBW4buaSSAlcyEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHRow7RuZyB0aW4gxJHhu5FpIHTGsOG7o25nIHPhurVuIGPDsyAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyDEkeG7kWkgdMaw4bujbmcgxJHDoyB04buTbiB04bqhaSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIGJsb2Iga2jDtG5nIGjhu6NwIGzhu4cgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJXMiCiBtc2dzdHIgIiVzIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1NAogbXNnaWQgIkVycm9yIGluIG9iamVjdCIKIG1zZ3N0ciAiTOG7l2kgdHJvbmcgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSB04bqldCBj4bqjIGPDoWMgxJHhu5FpIHTGsOG7o25nIGNvbiBj4bunYSAlcyBsw6AgY8OzIHRo4buDIHbhu5tpIHThu5tpIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5MjQgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo5MjggYnVpbHRpbi9pbmRleC1wYWNrLmM6OTU5CiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgw6FwIGThu6VuZyBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICLEkGFuZyBuaOG6rW4gduG7gSBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIkPDoWMgxJHhu5FpIHTGsOG7o25nIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2NAogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAiZ8OzaSBi4buLIHNhaSBo4buPbmcgKFNIQTEga2jDtG5nIGto4bubcCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjkKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHBhY2tmaWxlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcyCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICJwYWNrIGPDsyBwaOG6p24gdGjhu6thIOG7nyBjdeG7kWkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODQKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJs4buZbiB44buZbiBoxqFuIGPhuqMgxJFpw6puIHLhu5Mga2hpIGNo4bqheSBow6BtIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAixJBhbmcgcGjDom4gZ2nhuqNpIGPDoWMgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdHV54bq/bjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJs4buZbiB44buZbiBoxqFuIGPhuqMgxJFpw6puIHLhu5MiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICLEkeG6p3kgxJHhu6cgduG7m2kgJWQgxJHhu5FpIHTGsOG7o25nIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgIkfhurdwIHThu5VuZyBraeG7g20gdHJhIHRhaWwga2jDtG5nIGPhuqduIGNobyAlcyAoxJHEqWEgaOG7j25nPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gImfDs2kgY8OzICVkIGRlbHRhIGNoxrBhIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgogbXNnc3RyICJraMO0bmcgdGjhu4MgeOG6oyBuw6luIMSR4buRaSB0xrDhu6NuZyBu4buRaSB0aMOqbSAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgbuG7mWkgYuG7mSAlcyBi4buLIGjhu49uZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwOAogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICJn4bq3cCBs4buXaSB0cm9uZyBraGkgxJHDs25nIHThuq1wIHRpbiBnw7NpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDExCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gZ2nhu68gbOG6oWkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgdOG6rXAgdGluIGdp4buvIGzhuqFpIMSRw6MgxJHGsOG7o2MgZ2hpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM4CiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzGsHUgdOG6rXAgdGluIGfDs2kiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDYKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzGsHUgdHLhu68gdOG6rXAgdGluIGdoaSBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJzYWkgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKLW1zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgxJFhIHR1eeG6v24sIGLhu48gcXVhICVzIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gZ8OzaSDEkcOjIHPhurVuIGPDsyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gaWR4IGPhu6dhIGfDs2kgY2hvIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCiBtc2dzdHJbMF0gImtow7RuZyBkZWx0YTogJWQgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImNoaeG7gXUgZMOgaSB4w61jaCA9ICVkOiAlbHUgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICJ0w6puIHThuq1wIHRpbiB04bqtcCB0aW4gZ8OzaSDigJwlc+KAnSBraMO0bmcgxJHGsOG7o2Mga+G6v3QgdGjDumMgYuG6sW5nIMSRdcO0aSDigJwucGFja+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NSBidWlsdGluL2luZGV4LXBhY2suYzoxNjk4Ci0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzE0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyMyBidWlsdGluL2luZGV4LXBhY2suYzoxNzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiJXMgc2FpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQzCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4ga2jDtG5nIHRo4buDIMSRxrDhu6NjIGTDuW5nIG3DoCBraMO0bmcgY8OzIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDUKIG1zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tc3RkaW4gY+G6p24gbeG7mXQga2hvIGdpdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1MwogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiZMO5bmcgdMO5eSBjaOG7jW4gLS12ZXJpZnkgbcOgIGtow7RuZyDEkcawYSByYSB0w6puIHBhY2tmaWxlIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHbhu4EgbeG6q3Ug4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CisjOiBidWlsdGluL2luaXQtZGIuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbmRpciAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4Mgb3BlbmRpcigpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyByZWFkbGluayDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGxpw6puIGvhur90IG3hu4FtIChzeW1saW5rKSDigJwlc+KAnSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHNhbyBjaMOpcCDigJwlc+KAnSBzYW5nIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OAorIzogYnVpbHRpbi9pbml0LWRiLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgIsSRYW5nIGzhu50gxJFpIG3huqt1IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICJjw6FjIG3huqt1IGtow7RuZyDEkcaw4bujYyB0w6xtIHRo4bqleSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTM0CisjOiBidWlsdGluL2luaXQtZGIuYzoxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIGZyb20gJyVzJzogJXMiCiBtc2dzdHIgImtow7RuZyBzYW8gY2jDqXAgY8OhYyBt4bqrdSB04burIOKAnCVz4oCdOiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzI3CisjOiBidWlsdGluL2luaXQtZGIuYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB44butIGzDvSAoaGFuZGxlKSB04bqtcCB0aW4ga2nhu4N1ICVkIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMzAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAia2jDtG5nIGRpIGNodXnhu4NuIMSRxrDhu6NjICVzIHbDoG8gJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OCBidWlsdGluL2luaXQtZGIuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzIMSRw6MgY8OzIHThu6sgdHLGsOG7m2MgcuG7k2kiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMworIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAixJDDoyBraOG7n2kgdOG6oW8gbOG6oWkga2hvIEdpdCBjaGlhIHPhursgc+G6tW4gY8OzIHRyb25nICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIsSQw6Mga2jhu59pIHThuqFvIGzhuqFpIGtobyBHaXQgc+G6tW4gY8OzIHRyb25nICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA4CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAixJDDoyBraOG7n2kgdOG6oW8gbOG6oWkga2hvIEdpdCBjaGlhIHPhursgdHLhu5FuZyBy4buXbmcgc+G6tW4gY8OzIHRyb25nICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLEkMOjIGto4bufaSB04bqhbyBs4bqhaSBraG8gR2l0IHRy4buRbmcgcuG7l25nIHPhurVuIGPDsyB0cm9uZyAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1NworIzogYnVpbHRpbi9pbml0LWRiLmM6NDU4CiBtc2dpZCAiIgogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxkaXJlY3Rvcnk+XSIKQEAgLTg5NzYsMjUgKzkzMzQsMjUgQEAKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGjGsC1t4bulYy104bqhbT5dIFstLXNoYXJlZFs9PGPDoWMtIgogInF1eeG7gW4+XV0gW3RoxrAtbeG7pWNdIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICJjw6FjIHF1eeG7gW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJjaOG7iSByYSBjw6FpIG3DoCBraG8gZ2l0IMSRxrDhu6NjIGNoaWEgc+G6uyBnaeG7r2Egbmhp4buBdSBuZ8aw4budaSBkw7luZyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE1IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTE2IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBta2RpciAodOG6oW8gdGjGsCBt4bulYyk6ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaGRpciAoY2h1eeG7g24gxJHhu5VpIHRoxrAgbeG7pWMpIHNhbmcgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlcyAob3IgLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vdCBhbGxvd2VkIHdpdGhvdXQgc3BlY2lmeWluZyAlcyAob3IgLS1naXQtIgpAQCAtOTAwMyw3ICs5MzYxLDcgQEAKICIlcyAoaG/hurdjIC0td29yay10cmVlPTx0aMawLW3hu6VjPikga2jDtG5nIGNobyBwaMOpcCBraMO0bmcgY2jhu4kgxJHhu4tuaCAlcyAoaG/hurdjIC0tZ2l0LSIKICJkaXI9PHRoxrAtbeG7pWM+KSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTczCisjOiBidWlsdGluL2luaXQtZGIuYzo1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAgY8OieSAodHJlZSkgbMOgbSB2aeG7h2Mg4oCcJXPigJ0iCkBAIC05MDM2LDExMiArOTM5NCwxMTIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJraMO0bmcgxJHGsGEgcmEgdOG6rXAgdGluIMSR4bqndSB2w6BvIMSR4buDIHPhu61hIHThuqFpLWNo4buXIgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPHbDuW5nLXhlbS14w6l0Pl0gW1stLV0gPMSRxrDhu51uZy1k4bqrbj7igKZdIgogCi0jOiBidWlsdGluL2xvZy5jOjQ1CisjOiBidWlsdGluL2xvZy5jOjQ2CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs8Y8OhYy10w7l5LWNo4buNbj5dIDzEkeG7kWktdMaw4bujbmc+4oCmIgogCi0jOiBidWlsdGluL2xvZy5jOjg0CisjOiBidWlsdGluL2xvZy5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICJ0w7l5IGNo4buNbi0tZGVjb3JhdGUga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOQorIzogYnVpbHRpbi9sb2cuYzoxNDcKIG1zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAiY2jhurduIG3hu41pIGvhur90IHh14bqldCB04burIGRpZmYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwCisjOiBidWlsdGluL2xvZy5jOjE0OAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbcOjIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxCisjOiBidWlsdGluL2xvZy5jOjE0OQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJT4butIGThu6VuZyB04bqtcCB0aW4gw6FuaCB44bqhIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyCisjOiBidWlsdGluL2xvZy5jOjE1MAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgImPDoWMgdMO5eSBjaOG7jW4gdHJhbmcgdHLDrSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzCiBtc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIljhu60gbMO9IGNo4buJIGTDsm5nIHbDuW5nIG4sbSB0cm9uZyB04bqtcCB0aW4sIHTDrW5oIHThu6sgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoyNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiS+G6v3QgeHXhuqV0IGN14buRaSBjw7luZzogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0ODYKKyM6IGJ1aWx0aW4vbG9nLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBzaG93ICVzOiBiYWQgZmlsZSIKIG1zZ3N0ciAiZ2l0IHNob3cgJXM6IHNhaSB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CisjOiBidWlsdGluL2xvZy5jOjUxMiBidWlsdGluL2xvZy5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgxJHhu5FpIHTGsOG7o25nICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjYxOAorIzogYnVpbHRpbi9sb2cuYzo2MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKIG1zZ3N0ciAiS2jDtG5nIG5o4bqtbiByYSBraeG7g3U6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjczOQorIzogYnVpbHRpbi9sb2cuYzo3NTEKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICJmb3JtYXQuaGVhZGVycyBraMO0bmcgY8OzIGdpw6EgdHLhu4sgY+G7pSB0aOG7gyIKIAotIzogYnVpbHRpbi9sb2cuYzo4MzkKKyM6IGJ1aWx0aW4vbG9nLmM6ODUyCiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICJ0w6puIGPhu6dhIHRoxrAgbeG7pWMga+G6v3QgeHXhuqV0IHF1w6EgZMOgaSIKIAotIzogYnVpbHRpbi9sb2cuYzo4NTQKKyM6IGJ1aWx0aW4vbG9nLmM6ODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiBtaeG6v25nIHbDoTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODY4CisjOiBidWlsdGluL2xvZy5jOjg4NQogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICJD4bqnbiBjaMOtbmggeMOhYyBt4buZdCB2w7luZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODc4CisjOiBidWlsdGluL2xvZy5jOjg5NQogbXNnaWQgIk5vdCBhIHJhbmdlLiIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdsO5bmcuIgogCi0jOiBidWlsdGluL2xvZy5jOjk4NAorIzogYnVpbHRpbi9sb2cuYzoxMDAxCiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKIG1zZ3N0ciAi4oCcQ292ZXIgbGV0dGVy4oCdIGPhuqduIGNobyDEkeG7i25oIGThuqFuZyB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTA4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJpbi1yZXBseS10byDEkWnDqm4gcuG7kzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA5MQorIzogYnVpbHRpbi9sb2cuYzoxMTA4CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8a+G7gy104burPiB8IDx2w7luZy14ZW0teMOpdD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTE1OAogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJIYWkgdGjGsCBt4bulYyBr4bq/dCB4deG6pXQ/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyNDggYnVpbHRpbi9sb2cuYzoxODkxIGJ1aWx0aW4vbG9nLmM6MTg5MyBidWlsdGluL2xvZy5jOjE5MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NSBidWlsdGluL2xvZy5jOjE5MDggYnVpbHRpbi9sb2cuYzoxOTEwIGJ1aWx0aW4vbG9nLmM6MTkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAiS2jDtG5nIGhp4buDdSBs4bqnbiBjaHV54buDbiBnaWFvICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTggYnVpbHRpbi9ub3Rlcy5jOjg4NCBidWlsdGluL3RhZy5jOjQ3NgorIzogYnVpbHRpbi9sb2cuYzoxMjc1IGJ1aWx0aW4vbm90ZXMuYzo4ODYgYnVpbHRpbi90YWcuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiBnaeG6o2kg4oCcJXPigJ0gbmjGsCBsw6AgbeG7mXQgdGhhbSBjaGnhur91IGjhu6NwIGzhu4cuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4MAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgbuG7gW4gaMOyYSB0cuG7mW4gY2jDrW5oIHjDoWMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4NAogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgpAQCAtOTE1MiwyMTQgKzk1MTAsMjE5IEBACiAibmjDoW5oIG3DoXkgY2jhu6cuIEhv4bq3YyBsw6AgYuG6oW4gY8OzIHRo4buDIGNo4buJIMSR4buLbmggbOG6p24gY2h1eeG7g24gZ2lhbyBu4buBbiBi4bqxbmdcbiIKICJcIi0tYmFzZT08YmFzZS1jb21taXQtaWQ+XCIgbeG7mXQgY8OhY2ggdGjhu6cgY8O0bmcuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyODcKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwNAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0w6xtIG7hu4FuIGjDsmEgdHLhu5luIGNow61uaCB4w6FjLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjk4CisjOiBidWlsdGluL2xvZy5jOjEzMTUKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gbuG7gW4ga2jDtG5nIGzDoCB04buVIHRpw6puIGPhu6dhIGRhbmggc8OhY2ggxJFp4buDbSB4w6l0IGR1eeG7h3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwMgorIzogYnVpbHRpbi9sb2cuYzoxMzE5CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gbuG7gW4ga2jDtG5nIMSRxrDhu6NjIHRyb25nIGRhbmggc8OhY2ggxJFp4buDbSB4w6l0IGR1eeG7h3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM1MQorIzogYnVpbHRpbi9sb2cuYzoxMzY4CiBtc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IG3DoyBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA4CisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICJkw7luZyBbUEFUQ0ggbi9tXSBuZ2F5IGPhuqMgduG7m2kgbWnhur9uZyB2w6EgxJHGoW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMQorIzogYnVpbHRpbi9sb2cuYzoxNDI4CiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgImTDuW5nIFtWw4FdIG5nYXkgY+G6oyB24bubaSBjw6FjIG1p4bq/bmcgdsOhIHBo4bupYyB04bqhcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE1CisjOiBidWlsdGluL2xvZy5jOjE0MzIKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG1p4bq/bmcgdsOhIHJhIMSR4bqndSByYSBjaHXhuqluIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICJ04bqhbyBiw6wgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE5CisjOiBidWlsdGluL2xvZy5jOjE0MzYKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgInPhu60gZOG7pW5nIGNo4buXaSBkw6N5IHPhu5EgZOG6oW5nIMSRxqFuIGdp4bqjbiBjaG8gdMOqbiB04bqtcC10aW4geHXhuqV0IHJhIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNwogbXNnaWQgInNmeCIKIG1zZ3N0ciAic2Z4IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJz4butIGThu6VuZyA8c2Z4PiB0aGF5IGNobyDigJwucGF0Y2jigJ0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMworIzogYnVpbHRpbi9sb2cuYzoxNDQwCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAiYuG6r3QgxJHhuqd1IMSRw6FuaCBz4buRIG1p4bq/bmcgdsOhIHThu6sgPG4+IHRoYXkgdsOsIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNQorIzogYnVpbHRpbi9sb2cuYzoxNDQyCiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICLEkcOhbmggZOG6pXUgY2h14buXaSBu4buRaSB0aeG6v3AgZOG6oW5nIHRo4bupLU4gcmUtcm9sbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI3CisjOiBidWlsdGluL2xvZy5jOjE0NDQKIG1zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJEw7luZyBbUkZDIFbDgV0gdGhheSBjaG8gW1bDgV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMAorIzogYnVpbHRpbi9sb2cuYzoxNDQ3CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJEw7luZyBbPHRp4buBbi104buRPl0gdGhheSBjaG8gW1bDgV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICJsxrB1IGPDoWMgdOG6rXAgdGluIGvhur90IHF14bqjIHRyb25nIDx0Lm3hu6VjPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM2CisjOiBidWlsdGluL2xvZy5jOjE0NTMKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAia2jDtG5nIHN0cmlwL2FkZCBbVsOBXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM5CisjOiBidWlsdGluL2xvZy5jOjE0NTYKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJraMO0bmcga+G6v3QgeHXhuqV0IGRpZmYgKG5o4buvbmcga2jDoWMgYmnhu4d0KSBuaOG7iyBwaMOibiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQxCisjOiBidWlsdGluL2xvZy5jOjE0NTgKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAieHXhuqV0IG3hu41pIG3DoyBixINtIGFsbC16ZXJvIHRyb25nIHBo4bqnbiDEkeG6p3UgRnJvbSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQzCisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgImtow7RuZyBiYW8gZ+G7k20gbWnhur9uZyB2w6Ega2jhu5twIHbhu5tpIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NQorIzogYnVpbHRpbi9sb2cuYzoxNDYyCiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICJoaeG7g24gdGjhu4sgxJHhu4tuaCBk4bqhbmcgbWnhur9uZyB2w6EgdGhheSB2w6wgbeG6t2MgxJHhu4tuaCAobWnhur9uZyB2w6EgKyB0aOG7kW5nIGvDqikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0NworIzogYnVpbHRpbi9sb2cuYzoxNDY0CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJM4budaSBuaOG6r24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAorIzogYnVpbHRpbi9sb2cuYzoxNDY1CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICLEkeG6p3UgxJHhu4EgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ5CisjOiBidWlsdGluL2xvZy5jOjE0NjYKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJ0aMOqbSDEkeG6p3UgxJHhu4EgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgorIzogYnVpbHRpbi9sb2cuYzoxNDY3IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImVtYWlsIgogbXNnc3RyICJ0aMawIMSRaeG7h24gdOG7rSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDUwCisjOiBidWlsdGluL2xvZy5jOjE0NjcKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAidGjDqm0gVG86IMSR4bqndSDEkeG7gSB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJ0aMOqbSBDYzogxJHhuqd1IMSR4buBIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NAorIzogYnVpbHRpbi9sb2cuYzoxNDcxCiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgInRo4buldCBs4buBIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKICLEkeG6t3Qg4oCcxJDhu4thIGNo4buJIGfhu61p4oCdIHRow6BuaCA8dGjhu6UgbOG7gT4gKGhv4bq3YyB0aOG7pXQgbOG7gSBuZ8aw4budaSBjb21taXQgbuG6v3UgYuG7jyBxdcOqbikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NworIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVzc2FnZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU4CisjOiBidWlsdGluL2xvZy5jOjE0NzUKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImTDuW5nIHRoxrAgxJHhuqd1IHRpw6puIMSR4buDIHRy4bqjIGzhu51pIDxtZXNzYWdlLWlkPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU5IGJ1aWx0aW4vbG9nLmM6MTQ2MgorIzogYnVpbHRpbi9sb2cuYzoxNDc2IGJ1aWx0aW4vbG9nLmM6MTQ3OQogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICJyYW5oIGdp4bubaSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYwCisjOiBidWlsdGluL2xvZy5jOjE0NzcKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLEkcOtbmgga8OobSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDYzCisjOiBidWlsdGluL2xvZy5jOjE0ODAKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICJkw7luZyBtaeG6v25nIHbDoSBsw6BtIG7hu5lpIGR1bmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2NworIzogYnVpbHRpbi9sb2cuYzoxNDg0CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgImNobyBwaMOpcCBsdeG7k25nIGzhu51pIG5o4bqvbiwga2nhu4N1OiDigJxzaGFsbG934oCdLCDigJxkZWVw4oCdIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NgogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAiY2jhu68ga8O9IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NwogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAidGjDqm0gY2jhu68ga8O9IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4OAogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICJs4bqnbl9jaHV54buDbl9naWFvX27hu4FuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4OQogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgImFkZCB0csaw4bubYyBo4bq/dCDEkcOyaSBo4buPaSB0aMO0bmcgdGluIGPDonkgdOG7m2kgc8OqLXJpIG1p4bq/bmcgdsOhIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5MQogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAidGjDqm0gY2jhu68ga8O9IHThu6sgbeG7mXQgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5MgogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgY8OhYyB0w6puIHThuq1wIHRpbiBj4bunYSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKK21zZ3N0ciAiZMOybmcgdGjhu6V0IGzhu4Ega2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBidWlsdGluL2xvZy5jOjE1ODIKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi1uIHbDoCAgLWsgbG/huqFpIHThu6sgbOG6q24gbmhhdS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NworIzogYnVpbHRpbi9sb2cuYzoxNTg0CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgdsOgIC1rIHh1bmcga2jhuq9jIG5oYXUuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MgogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NworIzogYnVpbHRpbi9sb2cuYzoxNTk0CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtc3RhdHVzIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3OQorIzogYnVpbHRpbi9sb2cuYzoxNTk2CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYwOQorIzogYnVpbHRpbi9sb2cuYzoxNjI2CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIsSR4bqndSByYSBjaHXhuqluLCBoYXkgdGjGsCBt4bulYywgY2jhu41uIGPDoWkgbsOgbz8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYxMQorIzogYnVpbHRpbi9sb2cuYzoxNjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyB04bqhbyB0aMawIG3hu6VjIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTcyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHThuq1wIHRpbiBjaOG7ryBrw70g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc3NworIzogYnVpbHRpbi9sb2cuYzoxNzk0CiBtc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB04bqhbyBjw6FjIHThuq1wIHRpbiBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPHRoxrDhu6NuZy1uZ3Xhu5NuPiBbPMSR4bqndT4gWzxnaeG7m2ktaOG6oW4+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4ODAKKyM6IGJ1aWx0aW4vbG9nLmM6MTg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC05MzY3LDEwNiArOTczMCwxMDYgQEAKICJLaMO0bmcgdMOsbSB0aOG6pXkgbmjDoW5oIG3huqFuZyDEkcaw4bujYyB0aGVvIGTDtWksIGjDo3kgY2jhu4kgxJHhu4tuaCA8dGjGsOG7o25nLW5ndeG7k24+IG3hu5l0ICIKICJjw6FjaCB0aOG7pyBjw7RuZy5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8dOG6rXAtdGluPuKApl0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTcKIG1zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgogbXNnc3RyICJuaOG6rW4gZOG6oW5nIGPDoWMgdHLhuqFuZyB0aMOhaSB04bqtcCB0aW4gduG7m2kgdGjhursiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAiIgogImTDuW5nIGNo4buvIGPDoWkgdmnhur90IHRoxrDhu51uZyBjaG8gY8OhYyB04bqtcCB0aW4g4oCcYXNzdW1lIHVuY2hhbmdlZOKAnSAoZ2nhuqMgxJHhu4tuaCBraMO0bmcgIgogInRoYXkgxJHhu5VpKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gxJHGsOG7o2Mgbmjhu5sgdOG6oW0gdsOgbyDEkeG6p3UgcmEgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIzCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiDEkcOjIHjDs2EgdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI1CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gxJHDoyBi4buLIHPhu61hIMSR4buVaSByYSBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjcKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiBraMOhYyB0cm9uZyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjkKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0w6puIMSR4buRaSB0xrDhu6NuZyBj4bunYSBu4buZaSBkdW5nIMSRxrDhu6NjIMSR4bq3dCBsw6puIGLhu4cgcGjDs25nIHJhIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiB0csOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIG3DoCBuw7MgY+G6p24gxJHGsOG7o2MgZ+G7oSBi4buPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdMOqbiBj4bunYSBjw6FjIHRoxrAgbeG7pWMg4oCca2jDoWPigJ0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGvhur90IHRow7pjIGTDsm5nIGPhu6dhIGPDoWMgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyB0aMawIG3hu6VjIHLhu5duZyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGNoxrBhIGjDsmEgdHLhu5luIHRyb25nIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiByZXNvbHZlLXVuZG8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKIG1zZ2lkICJza2lwIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4iCiBtc2dzdHIgImLhu48gcXVhIG5o4buvbmcgdOG6rXAgdGluIGto4bubcCB24bubaSBt4buZdCBt4bqrdSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MAogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgIm3huqt1IGxv4bqhaSB0cuG7qyDEkcaw4bujYyDEkeG7jWMgdOG7qyA8dOG6rXAgdGluPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MwogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICLEkeG7jWMgdGjDqm0gY8OhYyBt4bqrdSBuZ2/huqFpIHRy4burIG3hu5dpIHRoxrAgbeG7pWMgdHJvbmcgPHThuq1wIHRpbj4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJ0aMOqbSBsb+G6oWkgdHLhu6sgdGnDqnUgY2h14bqpbiBraeG7g3UgZ2l0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU4CiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgImzDoG0gY2hvIGvhur90IHh14bqldCBsacOqbiBxdWFuIMSR4bq/biB0aMawIG3hu6VjIOG7nyBt4bupYyBjYW8gbmjhuqV0IChn4buRYykgY+G7p2EgZOG7sSDDoW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjEKIG1zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKIG1zZ3N0ciAixJHhu4cgcXV5IHh1ecOqbiBxdWEgbcO0LcSRdW4gY29uIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJu4bq/dSA8dOG6rXAgdGluPiBi4bqldCBr4buzIGtow7RuZyDhu58gdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjLCB44butIGzDvSBuw7MgbmjGsCBt4buZdCBs4buXaSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInRyZWUtaXNoIgogbXNnc3RyICJ0cmVlLWlzaCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NQogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIiIKICJnaeG6oyDEkeG7i25oIHLhurFuZyBjw6FjIMSRxrDhu51uZyBk4bqrbiDEkcOjIGLhu4sgZ+G7oSBi4buPIGvhu4MgdOG7qyA8dHJlZS1pc2g+IG5heSB24bqrbiBoaeG7h24gZGnhu4duIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY3CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGThu68gbGnhu4d1IGfhu6EgbOG7l2kiCiAKQEAgLTk0ODAsODUgKzk4NDMsODYgQEAKICIgICAgICAgICAgICAgICAgICAgICBbLXEgfCAtLXF1aWV0XSBbLS1leGl0LWNvZGVdIFstLWdldC11cmxdXG4iCiAiICAgICAgICAgICAgICAgICAgICAgWy0tc3ltcmVmXSBbPGtobz4gWzxjw6FjIHRoYW0gY2hp4bq/dT7igKZdXSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MgogbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIFVSTCBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTMgYnVpbHRpbi9scy1yZW1vdGUuYzo1NQogbXNnaWQgImV4ZWMiCiBtc2dzdHIgInRo4buxYyB0aGkiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTIgYnVpbHRpbi9scy1yZW1vdGUuYzo1NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NCBidWlsdGluL2xzLXJlbW90ZS5jOjU2CiBtc2dpZCAicGF0aCBvZiBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSBob3N0IgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gY+G7p2EgZ2l0LXVwbG9hZC1wYWNrIHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTYKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTgKIG1zZ2lkICJsaW1pdCB0byB0YWdzIgogbXNnc3RyICJnaeG7m2kgaOG6oW4gdOG7m2kgY8OhYyB0aOG6uyIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1NworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OQogbXNnaWQgImxpbWl0IHRvIGhlYWRzIgogbXNnc3RyICJnaeG7m2kgaOG6oW4gY2hvIGPDoWMgxJHhuqd1IgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU4CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwCiBtc2dpZCAiZG8gbm90IHNob3cgcGVlbGVkIHRhZ3MiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgdGjhursgYuG7iyBwZWVsIChn4buNdCBi4buPKSIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICJs4bqleSB1cmwuPGJhc2U+Lmluc3RlYWRPZiB2w6BvIHRyb25nIHTDoGkga2hv4bqjbiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NAogbXNnaWQgImV4aXQgd2l0aCBleGl0IGNvZGUgMiBpZiBubyBtYXRjaGluZyByZWZzIGFyZSBmb3VuZCIKIG1zZ3N0ciAidGhvw6F0IHbhu5tpIG3DoyBsw6AgMiBu4bq/dSBraMO0bmcgdMOsbSB0aOG6pXkgdGhhbSBjaGnhur91IG7DoG8ga2jhu5twIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjY0CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY2CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aGFtIGNoaeG6v3UgbuG6sW0gZMaw4bubaSDEkeG7gyB0aMOqbSB2w6BvIMSR4buRaSB0xrDhu6NuZyDEkcaw4bujYyBjaOG7iSBi4bufaSBuw7MiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOQogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBscy10cmVlIFs8Y8OhYy10w7l5LWNo4buNbj5dIDx0cmVlLWlzaD4gWzzEkcaw4budbmctZOG6q24+4oCmXSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBjw6FjIHRyZWUiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9scy10cmVlLmM6MTI5CiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1YnRyZWVzIgogbXNnc3RyICLEkeG7hyBxdXkgdsOgbyBjw6FjIHRoxrAgbeG7pWMgY29uIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMQogbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6J5IGtoaSDEkeG7hyBxdXkiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiY2jhuqVtIGThu6l0IG3hu6VjIHRpbiB24bubaSBieXRlIE5VTCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdCBzaXplIgogbXNnc3RyICJn4buTbSBj4bqjIGvDrWNoIHRoxrDhu5tjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTM2IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOAorIzogYnVpbHRpbi9scy10cmVlLmM6MTM3IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOQogbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCiBtc2dzdHIgImNo4buJIGxp4buHdCBrw6ogdMOqbiB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MQorIzogYnVpbHRpbi9scy10cmVlLmM6MTQyCiBtc2dpZCAidXNlIGZ1bGwgcGF0aCBuYW1lcyIKIG1zZ3N0ciAiZMO5bmcgdMOqbiDEkcaw4budbmcgZOG6q24gxJHhuqd5IMSR4bunIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDMKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0NAogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6J5IG3hu6VjIHRpbjsga2jDtG5nIGNo4buJIHRoxrAgbeG7pWMgaGnhu4duIGjDoG5oIChuZ+G7pSDDvSAtLWZ1bGwtbmFtZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgotbXNnc3RyICJnaXQgbWVyZ2UgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxjb21taXQ+4oCmXSIKKyM6IGJ1aWx0aW4vbWFpbHNwbGl0LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCittc2dzdHIgIm1ib3ggdHLhu5FuZyBy4buXbmc6IOKAnCVz4oCdIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDcKLW1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1zZz4gSEVBRCA8Y29tbWl0PiIKLW1zZ3N0ciAiZ2l0IG1lcmdlIFs8Y8OhYy10w7l5LWNo4buNbj5dIDx0aW4tbmjhuq9uPiBIRUFEIDxjb21taXQ+IgorbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgorbXNnc3RyICJnaXQgbWVyZ2UgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxjb21taXQ+4oCmXSIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjQ4CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCkBAIC05NTg3LDMxICs5OTUxLDMxIEBACiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkPDoWMgY2hp4bq/biBsxrDhu6NjIHTDuXkgY2jhu4luaCBz4bq1biBzw6BuZyBsw6A6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyNworIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMzQKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHRo4buRbmcga8OqIGtow6FjIGJp4buHdCB04bqhaSBjdeG7kWkgY+G7p2EgbOG6p24gaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTMwCisjOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNwogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRo4buRbmcga8OqIGtow6FjIGJp4buHdCB04bqhaSBjdeG7kWkgY+G7p2EgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTMzCisjOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjE0MAogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIijEkeG7k25nIG5naMSpYSB24bubaSAtLXN0YXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vcHVsbC5jOjEzNgorIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxNDMKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgInRow6ptICjDrXQgbmjhuqV0IDxuPikgbeG7pWMgdOG7qyBzaG9ydGxvZyBjaG8gZ2hpIGNow7ogY2h1eeG7g24gZ2lhbyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQ2CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgInThuqFvIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gxJHGsG9uIHRoYXkgdsOsIHRo4buxYyBoaeG7h24gdmnhu4djIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gY2h1eeG7g24gZ2lhbyBu4bq/dSBow7JhIHRy4buZbiB0aMOgbmggY8O0bmcgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEwIGJ1aWx0aW4vcHVsbC5jOjE0NQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNTIKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgInPhu61hIGNow7ogdGjDrWNoIHRyxrDhu5tjIGtoaSBjaHV54buDbiBnaWFvIgogCkBAIC05NjE5LDI4ICs5OTgzLDI4IEBACiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAiY2hvIHBow6lwIGNodXnhu4NuLXRp4bq/cC1uaGFuaCAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMgYnVpbHRpbi9wdWxsLmM6MTUxCisjOiBidWlsdGluL21lcmdlLmM6MjEzIGJ1aWx0aW4vcHVsbC5jOjE1OAogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgImLhu48gcXVhIG7hur91IGNodXnhu4NuLXRp4bq/cC1uaGFuaCBraMO0bmcgdGjhu4MgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU0CisjOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE2MQogbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAidGjhuqltIHRyYSB4ZW0gbOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgdMOqbiDEkcOzIGPDsyBjaOG7ryBrw70gR1BHIGjhu6NwIGzhu4cgaGF5IGtow7RuZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL25vdGVzLmM6Nzc0IGJ1aWx0aW4vcHVsbC5jOjE1OAotIzogYnVpbHRpbi9yZXZlcnQuYzo4OQorIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL25vdGVzLmM6Nzc2IGJ1aWx0aW4vcHVsbC5jOjE2NQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDkKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE1OQorIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNjYKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCiBtc2dzdHIgImNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiBz4bq9IGTDuW5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2MgorIzogYnVpbHRpbi9tZXJnZS5jOjIyMCBidWlsdGluL3B1bGwuYzoxNjkKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgInTDuXlfY2jhu41uPWdpw6FfdHLhu4siCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEgYnVpbHRpbi9wdWxsLmM6MTYzCisjOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgInTDuXkgY2jhu41uIGNobyBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4gxJHDoyBjaOG7jW4iCiAKQEAgLTk2NTgsNyArMTAwMjIsNyBAQAogbXNnaWQgImNvbnRpbnVlIHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICJ0aeG6v3AgdOG7pWMgcXXDoSB0csOsbmggaMOyYSB0cuG7mW4gaGnhu4duIHThuqFpIMSRYW5nIHRo4buxYyBoaeG7h24iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzEgYnVpbHRpbi9wdWxsLmM6MTcwCisjOiBidWlsdGluL21lcmdlLmM6MjMxIGJ1aWx0aW4vcHVsbC5jOjE3NwogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAiY2hvIHBow6lwIGjDsmEgdHLhu5luIGzhu4tjaCBz4butIGtow7RuZyBsacOqbiBxdWFuIgogCkBAIC05NzAzLDMzICsxMDA2NywzMyBAQAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIkNodeG7l2kgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzYWk6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjU2CisjOiBidWlsdGluL21lcmdlLmM6NjU3CiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAiS2jDtG5nIGPhuqdtIG7huq9tIGfDrCBuZ2/DoGkgaGFpIGhlYWQgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiS2jDtG5nIGhp4buDdSB0w7l5IGNo4buNbiBjaG8gbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njg1CisjOiBidWlsdGluL21lcmdlLmM6Njg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczNworIzogYnVpbHRpbi9tZXJnZS5jOjczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgdOG7qyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc0NgorIzogYnVpbHRpbi9tZXJnZS5jOjc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIiIKICJW4bqrbiBjaMawYSBow7JhIHRy4buZbiBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW87IHPhu60gZOG7pW5nIGzhu4duaCDigJxnaXQgY29tbWl04oCdIMSR4buDIGhvw6BuIHThuqV0ICIKICJ2aeG7h2MgaMOyYSB0cuG7mW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtOTc0Nyw4MSArMTAxMTEsNzEgQEAKICJy4buXbmdcbiIKICJz4bq9IGjhu6d5IGLhu48gbOG6p24gY2h1eeG7g24gZ2lhby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc3NgorIzogYnVpbHRpbi9tZXJnZS5jOjc3NwogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAiQ2jDuiB0aMOtY2ggY+G7p2EgbOG6p24gY29tbWl0IChjaHV54buDbiBnaWFvKSBi4buLIHRy4buRbmcgcuG7l25nLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5NgorIzogYnVpbHRpbi9tZXJnZS5jOjc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb25kZXJmdWwuXG4iCiBtc2dzdHIgIlR1eeG7h3QgduG7nWkuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogIlZp4buHYyB04buxIMSR4buZbmcgaMOyYSB0cuG7mW4gZ+G6t3AgbOG7l2k7IGjDo3kgc+G7rWEgY8OhYyB4dW5nIMSR4buZdCBzYXUgxJHDsyBjaHV54buDbiBnaWFvIGvhur90ICIKICJxdeG6oy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg2NwotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKLW1zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gY29tbWl0IChjaHV54buDbiBnaWFvKSIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjkwOAorIzogYnVpbHRpbi9tZXJnZS5jOjg4OQogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAia2jDtG5nIHBo4bqjaSBuaMOhbmggaGnhu4duIGjDoG5oIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTEwCisjOiBidWlsdGluL21lcmdlLmM6ODkxCiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJLaMO0bmcgY8OzIG3DoXkgY2jhu6cgY2hvIG5ow6FuaCBoaeG7h24gaMOgbmguIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTEyCisjOiBidWlsdGluL21lcmdlLmM6ODkzCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJLaMO0bmcgY8OzIHRoxrDhu6NuZyBuZ3Xhu5NuIG3hurdjIMSR4buLbmggxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgY2hvIG5ow6FuaCBoaeG7h24gaMOgbmguIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTE3CisjOiBidWlsdGluL21lcmdlLmM6ODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIktow7RuZyBuaMOhbmggbeG6oW5nIHRoZW8gZMO1aSBjaG8gJXMgdOG7qyAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk2NAorIzogYnVpbHRpbi9tZXJnZS5jOjk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICJHacOhIHRy4buLIHNhaSDigJwlc+KAnSB0cm9uZyBiaeG6v24gbcO0aSB0csaw4budbmcg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4MgxJHDs25nIOKAnCVz4oCdIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTA2NQorIzogYnVpbHRpbi9tZXJnZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UgaW4gJXM6ICVzIgotbXNnc3RyICJraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBz4buRIHRo4bupIGNow7puZyB0w7RpIGPDsyB0aOG7gyBow7JhIHRy4buZbiB0cm9uZyAlczogJXMiCittc2dzdHIgImtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRo4bupIGfDrCDEkcOzIG3DoCBjaMO6bmcgdMO0aSBjw7MgdGjhu4MgaMOyYSB0cuG7mW4gdHJvbmcgJXM6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA5OQorIzogYnVpbHRpbi9tZXJnZS5jOjEwODAKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKLW1zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgc+G7kSB0aOG7qSBjaMO6bmcgdMO0aSBjw7MgdGjhu4MgaMOyYSB0cuG7mW4iCittc2dzdHIgImtow7RuZyBwaOG6o2kgbMOgIHRo4bupIGfDrCDEkcOzIG3DoCBjaMO6bmcgdMO0aSBjw7MgdGjhu4MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY3CisjOiBidWlsdGluL21lcmdlLmM6MTE0NQogbXNnaWQgIi0tYWJvcnQgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tYWJvcnQga2jDtG5nIG5o4bqtbiBjw6FjIMSR4buRaSBz4buRIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE3MQorIzogYnVpbHRpbi9tZXJnZS5jOjExNDkKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIiIKICLhu54gxJHDonkga2jDtG5nIGPDsyBs4bqnbiBow7JhIHRy4buZbiBuw6BvIMSRxrDhu6NjIGjhu6d5IGLhu48gZ2nhu69hIGNo4burbmcgY+G6oyAodGhp4bq/dSBNRVJHRV9IRUFEKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgzCisjOiBidWlsdGluL21lcmdlLmM6MTE2MQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUga2jDtG5nIG5o4bqtbiDEkeG7kWkgc+G7kSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExODcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTY1CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgaW4gcHJvZ3Jlc3MgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICLhu54gxJHDonkga2jDtG5nIGPDsyBs4bqnbiBow7JhIHRy4buZbiBuw6BvIMSRYW5nIMSRxrDhu6NjIHjhu60gbMO9IGPhuqMgKHRoaeG6v3UgTUVSR0VfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIwMworIzogYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtOTgyOSw3ICsxMDE4Myw3IEBACiAiQuG6oW4gY2jGsGEga+G6v3QgdGjDumMgdmnhu4djIGjDsmEgdHLhu5luIChNRVJHRV9IRUFEIHbhuqtuIHThu5NuIHThuqFpKS5cbiIKICJIw6N5IGNodXnhu4NuIGdpYW8gY8OhYyB0aGF5IMSR4buVaSB0csaw4bubYyBraGkgYuG6oW4gY8OzIHRo4buDIGjDsmEgdHLhu5luLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTk4MzcsMTYyICsxMDE5MSwxNjIgQEAKICJC4bqhbiBjaMawYSBr4bq/dCB0aMO6YyB2aeG7h2MgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgduG6q24gdOG7k24gdOG6oWkpLlxuIgogIkjDo3kgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIHRyxrDhu5tjIGtoaSBi4bqhbiBjw7MgdGjhu4MgaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxMworIzogYnVpbHRpbi9tZXJnZS5jOjExOTEKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIkLhuqFuIGNoxrBhIGvhur90IHRow7pjIHZp4buHYyBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCB24bqrbiB04buTbiB04bqhaSkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIyMgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDAKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiQuG6oW4ga2jDtG5nIHRo4buDIGvhur90IGjhu6NwIC0tc3F1YXNoIHbhu5tpIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDgKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiS2jDtG5nIGNo4buJIHJhIGzhuqduIGNodXnhu4NuIGdpYW8gdsOgIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIGNoxrBhIMSRxrDhu6NjIMSR4bq3dC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQ3CisjOiBidWlsdGluL21lcmdlLmM6MTIyNQogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICJTcXVhc2ggY29tbWl0IHbDoG8gbeG7mXQgaGVhZCB0cuG7kW5nIHLhu5duZyB24bqrbiBjaMawYSDEkcaw4bujYyBo4buXIHRy4bujIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0OQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjcKIG1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogIkNodXnhu4NuIGdpYW8ga2jDtG5nLWNodXnhu4NuLXRp4bq/cC1uaGFuaCBraMO0bmcgaOG7o3AgbMO9IOG7nyB0cm9uZyBt4buZdCBoZWFkIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKLW1zZ3N0ciAiJXMgLSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBz4buRIHRo4bupIGNow7puZyB0w7RpIGPDsyB0aOG7gyBow7JhIHRy4buZbiIKK21zZ3N0ciAiJXMgLSBraMO0bmcgcGjhuqNpIGzDoCB0aOG7qSBnw6wgxJHDsyBtw6AgY2jDum5nIHTDtGkgY8OzIHRo4buDIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzQKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAiS2jDtG5nIHRo4buDIGjDsmEgdHLhu5luIG3hu5l0IGPDoWNoIMSRw7puZyDEkeG6r24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB2w6BvIG3hu5l0IGhlYWQgcuG7l25nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxMgorIzogYnVpbHRpbi9tZXJnZS5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogIkzhuqduIGNodXnhu4NuIGdpYW8gJXMgY8OzIG3hu5l0IGNo4buvIGvDvSBHUEcga2jDtG5nIMSRw6FuZyB0aW4sIMSRxrDhu6NjIGNobyBsw6AgYuG7n2kgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxNQorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8gJXMgY8OzIG3hu5l0IGNo4buvIGvDvSBHUEcgc2FpLCDEkcaw4bujYyBjaG8gbMOgIGLhu59pICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8gJXMga2jDtG5nIGPDsyBjaOG7ryBrw70gR1BHLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKIG1zZ3N0ciAiTOG6p24gY2h1eeG7g24gZ2lhbyAlcyBjw7MgbeG7mXQgY2jhu68ga8O9IEdQRyB04buRdCBi4bufaSAlc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM4MworIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJ04burIGNo4buRaSBow7JhIHRy4buZbiBs4buLY2ggc+G7rSBraMO0bmcgbGnDqm4gcXVhbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ4CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKIG1zZ3N0ciAixJDDoyBj4bqtcCBuaOG6rXQgcuG7k2kuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQwMgorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIsSQYW5nIGPhuq1wIG5o4bqtdCAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICLEkGFuZyB0aOG7rSBow7JhIHRy4buZbiBraeG7g3Ug4oCcdHJpdmlhbCBpbi1pbmRleOKAneKAplxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ1MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAiS2jDtG5nLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ3NQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MzEKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKIG1zZ3N0ciAixJDDoyBj4bqtcCBuaOG6rXQgcuG7k2kuIFllZWFoISIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDM3CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICJUaOG7sWMgaGnhu4duIGzhu4duaCBjaHV54buDbi10aeG6v3AtbmhhbmggbMOgIGtow7RuZyB0aOG7gyDEkcaw4bujYywgxJFhbmcgYuG7jyBxdWEuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwNCBidWlsdGluL21lcmdlLmM6MTU4MworIzogYnVpbHRpbi9tZXJnZS5jOjE0NjAgYnVpbHRpbi9tZXJnZS5jOjE1MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIsSQYW5nIHR1YSBs4bqhaSBjw6J5IHRow6BuaCB0aOG7nWkgeGEgeMawYeKAplxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwOAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIsSQYW5nIHRo4butIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiAlc+KAplxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NAorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIktow7RuZyBjw7MgY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIG7DoG8gxJHGsOG7o2MgbuG6r20gZ2nhu68gKGhhbmRsZSkgc+G7sSBow7JhIHRy4buZbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJIw7JhIHRy4buZbiB24bubaSBjaGnhur9uIGzGsOG7o2MgJXMgZ+G6t3AgbOG7l2kuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTg1CisjOiBidWlsdGluL21lcmdlLmM6MTU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgJXMgxJHhu4MgY2h14bqpbiBi4buLIGdp4bqjaSBxdXnhur90IGLhurFuZyB0YXkuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk3CisjOiBidWlsdGluL21lcmdlLmM6MTU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCiAiSMOyYSB0cuG7mW4gdOG7sSDEkeG7mW5nIMSRw6MgdHLhu58gbsOqbiB04buRdDsgYuG7iyBk4burbmcgdHLGsOG7m2Mga2hpIHZp4buHYyBjaHV54buDbiBnaWFvIMSRxrDhu6NjIHnDqnUgIgogImPhuqd1XG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSA8Y29tbWl0PiA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxs4bqnbl9jaHV54buDbl9naWFvPiA8bOG6p25fY2h1eeG7g25fZ2lhbz7igKYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGzhuqduX2NodXnhu4NuX2dpYW8+4oCmIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxs4bqnbl9jaHV54buDbl9naWFvPuKApiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8Y29tbWl0PiA8Y29tbWl0PiIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8Y29tbWl0PiA8bOG6p25fY2h1eeG7g25fZ2lhbz4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHRoYW0tY2hp4bq/dT4gWzxs4bqnbl9jaHV54buDbl9naWFvPl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE4CiBtc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgogbXNnc3RyICJ4deG6pXQgcmEgdOG6pXQgY+G6oyBjw6FjIMO0bmcgYsOgLCB04buVIHRpw6puIGNodW5nIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAidMOsbSB04buVIHRpw6puIGPhu6dhIGjDsmEgdHLhu5luIG4td2F5IMSRxqFuIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjEKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgogbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDoWMg4oCccmV24oCdIG3DoCBuw7Mga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyB04burIGPDoWkga2jDoWMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI0CiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICJsw6AgY2hhIG3hurkgxJHhuqd1IHRpw6puIGPhu6dhIGPDoWkga2jDoWM/IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNgogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICJ0w6xtIHhlbSA8Y29tbWl0PiDEkcaw4bujYyBy4bq9IG5ow6FuaCDhu58gxJHDonUgdOG7qyByZWZsb2cgY+G7p2EgPHRoLmNoaeG6v3U+IgogCi0jOiBidWlsdGluL21lcmdlLWZpbGUuYzo4CisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo5CiBtc2dpZCAiIgogImdpdCBtZXJnZS1maWxlIFs8b3B0aW9ucz5dIFstTCA8bmFtZTE+IFstTCA8b3JpZz4gWy1MIDxuYW1lMj5dXV0gPGZpbGUxPiAiCiAiPG9yaWctZmlsZT4gPGZpbGUyPiIKQEAgLTEwMDY2LDE1NyArMTA0MjAsMTYxIEBACiBtc2dpZCAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKIG1zZ3N0ciAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUzCiBtc2dpZCAiaW5wdXQgaXMgTlVMIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIsSR4bqndSB2w6BvIMSRxrDhu6NjIGNo4bqlbSBk4bupdCBi4bufaSBOVUwiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUzIGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI0CisjOiBidWlsdGluL21rdHJlZS5jOjE1NCBidWlsdGluL3dyaXRlLXRyZWUuYzoyNQogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiY2hvIHBow6lwIHRoaeG6v3UgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NAorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgImNobyBwaMOpcCB04bqhbyBuaGnhu4F1IGjGoW4gbeG7mXQgY8OieSIKIAotIzogYnVpbHRpbi9tdi5jOjE2CisjOiBidWlsdGluL212LmM6MTcKIG1zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFs8Y8OhYy10w7l5LWNo4buNbj5dIDxuZ3Xhu5NuPuKApiA8xJHDrWNoPiIKIAotIzogYnVpbHRpbi9tdi5jOjgyCisjOiBidWlsdGluL212LmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgogbXNnc3RyICJUaMawIG3hu6VjIOKAnCVz4oCdIGPDsyDhu58gdHJvbmcgY2jhu4kgbeG7pWMgbcOgIGtow7RuZyBjw7MgbcO0LcSRdW4gY29uPyIKIAotIzogYnVpbHRpbi9tdi5jOjg0IGJ1aWx0aW4vcm0uYzoyOTAKKyM6IGJ1aWx0aW4vbXYuYzo4NSBidWlsdGluL3JtLmM6MjkwCiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKICJIw6N5IMSRxrBhIGPDoWMgdGhheSDEkeG7lWkgY+G7p2EgYuG6oW4gdsOgbyAuZ2l0bW9kdWxlcyBoYXkgdOG6oW0gY+G6pXQgY2jDum5nIMSRaSDEkeG7gyB44butIGzDvSIKIAotIzogYnVpbHRpbi9tdi5jOjEwMgorIzogYnVpbHRpbi9tdi5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlLipzIGlzIGluIGluZGV4IgogbXNnc3RyICIlLipzIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiw6lwIGJ14buZYyBkaSBjaHV54buDbiBoYXkgxJHhu5VpIHTDqm4gdGjhuq1tIGNow60gY+G6oyBraGkgxJHDrWNoIMSRw6MgdOG7k24gdOG6oWkiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjUKKyM6IGJ1aWx0aW4vbXYuYzoxMjYKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyBs4buXaSBsacOqbiBxdWFuIMSR4bq/biBkaSBjaHV54buDbiwgxJHhu5VpIHTDqm4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjcKKyM6IGJ1aWx0aW4vbXYuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgImPDsyDEkcOtY2gg4oCcJXPigJ0gbmjGsG5nIMSRw6J5IGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzgKKyM6IGJ1aWx0aW4vbXYuYzoxNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIHZp4buHYyDEkeG7lWkgdMOqbiBj4bunYSDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MgorIzogYnVpbHRpbi9tdi5jOjE4MwogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIm5ndeG7k24gc2FpIgogCi0jOiBidWlsdGluL212LmM6MTg1CisjOiBidWlsdGluL212LmM6MTg2CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGRpIGNodXnhu4NuIG3hu5l0IHRoxrAgbeG7pWMgdsOgbyB0cm9uZyBjaMOtbmggbsOzIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL212LmM6MTg4CisjOiBidWlsdGluL212LmM6MTg5CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIGRpIGNodXnhu4NuIMSRxrDhu6NjIHRoxrAgbeG7pWMgdGjDtG5nIHF1YSB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxOTcKKyM6IGJ1aWx0aW4vbXYuYzoxOTgKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJ0aMawIG3hu6VjIG5ndeG7k24gbMOgIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL212LmM6MjIyCisjOiBidWlsdGluL212LmM6MjIzCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAia2jDtG5nIG7hurFtIGTGsOG7m2kgc+G7sSBxdeG6o24gbMO9IG3DoyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL212LmM6MjI1CisjOiBidWlsdGluL212LmM6MjI2CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICLEkcOtY2ggxJHDoyB04buTbiB04bqhaSBz4bq1biBy4buTaSIKIAotIzogYnVpbHRpbi9tdi5jOjIzMworIzogYnVpbHRpbi9tdi5jOjIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICLEkWFuZyBnaGkgxJHDqCBsw6puIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL212LmM6MjM2CisjOiBidWlsdGluL212LmM6MjM3CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSDEkcOoIgogCi0jOiBidWlsdGluL212LmM6MjM5CisjOiBidWlsdGluL212LmM6MjQwCiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICJOaGnhu4F1IG5ndeG7k24gY2hvIGPDuW5nIG3hu5l0IMSRw61jaCIKIAotIzogYnVpbHRpbi9tdi5jOjI0MQorIzogYnVpbHRpbi9tdi5jOjI0MgogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAidGjGsCBt4bulYyDEkcOtY2gga2jDtG5nIHThu5NuIHThuqFpIgogCi0jOiBidWlsdGluL212LmM6MjQ4CisjOiBidWlsdGluL212LmM6MjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywgbmd14buTbj0lcywgxJHDrWNoPSVzIgogCi0jOiBidWlsdGluL212LmM6MjY5CisjOiBidWlsdGluL212LmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIsSQ4buVaSB0w6puICVzIHRow6BuaCAlc1xuIgogCi0jOiBidWlsdGluL212LmM6Mjc1IGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzg0CisjOiBidWlsdGluL212LmM6Mjc2IGJ1aWx0aW4vcmVtb3RlLmM6NzExIGJ1aWx0aW4vcmVwYWNrLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu5VpIHTDqm4g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMzgKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8Y29tbWl0PuKApiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMzOQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8Y8OhYy10w7l5LWNo4buNbj5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzQwCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdMOqbiAoa2jDtG5nIFNIQS0xKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5NgogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAiY2jhu4kgZMO5bmcgY8OhYyB0aOG6uyDEkeG7gyDEkeG6t3QgdMOqbiBjaG8gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE0CisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk4CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgImNo4buJIHPhu60gZOG7pW5nIGPDoWMgdGhhbSBjaGnhur91IGto4bubcCB24bubaSA8beG6q3U+IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAwCittc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICJi4buPIHF1YSBjw6FjIHRoYW0gY2hp4bq/dSBraOG7m3AgduG7m2kgPG3huqt1PiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKICJsaeG7h3Qga8OqIHThuqV0IGPhuqMgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGPDsyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MgdOG7qyB04bqldCBj4bqjIGPDoWMgdGhhbSBjaGnhur91IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAzCiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICLEkeG7jWMgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA0CiBtc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICJjaG8gcGjDqXAgaW4gY8OhYyB0w6puIOKAnGNoxrBhIMSR4buLbmggbmdoxKlh4oCdICht4bq3YyDEkeG7i25oKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICJiw6NpIGLhu48gdGhhbSBjaGnhur91IGPDoWMgdGjhursgdHJvbmcgxJHhuqd1IHbDoG8gKGTDuW5nIG7hu5lpIGLhu5kpIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBbbGlzdCBbPMSR4buRaS10xrDhu6NuZz5dXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2CisjOiBidWlsdGluL25vdGVzLmM6MjcKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA8bXNnPiB8IC1GIDxmaWxlPiAiCiAifCAoLWMgfCAtQykgPG9iamVjdD5dIFs8b2JqZWN0Pl0iCkBAIC0xMDIyNCwxMSArMTA1ODIsMTEgQEAKICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBhZGQgWy1mXSBbLS1hbGxvdy1lbXB0eV0gWy1tIDxs4budaS1uaOG6r24+IHwgLUYgIgogIjx04bqtcC10aW4+IHwgKC1jIHwgLUMpIDzEkeG7kWktdMaw4bujbmc+XSBbPMSR4buRaS10xrDhu6NuZz5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGNvcHkgWy1mXSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBjb3B5IFstZl0gPHThu6stxJHhu5FpLXTGsOG7o25nPiA8xJHhur9uLcSR4buRaS10xrDhu6NuZz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjI5CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgogIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKQEAgLTEwMjM2LDIwNCArMTA1OTQsMjA1IEBACiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYXBwZW5kIFstLWFsbG93LWVtcHR5XSBbLW0gPGzhu51pLW5o4bqvbj4gfCAtRiAiCiAiPHThuq1wLXRpbj4gfCAoLWMgfCAtQykgPMSR4buRaS10xrDhu6NuZz5dIFs8xJHhu5FpLXTGsOG7o25nPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzzEkeG7kWktdMaw4bujbmc+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwCisjOiBidWlsdGluL25vdGVzLmM6MzEKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHNob3cgWzzEkeG7kWktdMaw4bujbmc+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMxCisjOiBidWlsdGluL25vdGVzLmM6MzIKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8c3RyYXRlZ3k+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPGNoaeG6v24tbMaw4bujYz4gXSA8bm90ZXMtcmVmPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMyCisjOiBidWlsdGluL25vdGVzLmM6MzMKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNAogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNQogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHJlbW92ZSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSByZW1vdmUgWzzEkeG7kWktdMaw4bujbmc+4oCmXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM1CisjOiBidWlsdGluL25vdGVzLmM6MzYKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBwcnVuZSBbLW4gfCAtdl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHBydW5lIFstbiB8IC12XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2CisjOiBidWlsdGluL25vdGVzLmM6MzcKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBnZXQtcmVmIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBnZXQtcmVmIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MgogbXNnaWQgImdpdCBub3RlcyBbbGlzdCBbPG9iamVjdD5dXSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFtsaXN0IFs8xJHhu5FpIHTGsOG7o25nPl1dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NwogbXNnaWQgImdpdCBub3RlcyBhZGQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGFkZCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPMSR4buRaS10xrDhu6NuZz5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MgogbXNnaWQgImdpdCBub3RlcyBjb3B5IFs8b3B0aW9ucz5dIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCiBtc2dzdHIgImdpdCBub3RlcyBjb3B5IFs8Y8OhYy10w7l5LWNo4buNbj5dIDx04burLcSR4buRaS10xrDhu6NuZz4gPMSR4bq/bi3EkeG7kWktdMaw4bujbmc+IgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MwogbXNnaWQgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD5dLi4uIgogbXNnc3RyICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs8dOG7qy3EkeG7kWktdMaw4bujbmc+IDzEkeG6v24txJHhu5FpLXTGsOG7o25nPl3igKYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NworIzogYnVpbHRpbi9ub3Rlcy5jOjU4CiBtc2dpZCAiZ2l0IG5vdGVzIGFwcGVuZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgYXBwZW5kIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8xJHhu5FpLXTGsOG7o25nPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjYzCiBtc2dpZCAiZ2l0IG5vdGVzIGVkaXQgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGVkaXQgWzzEkeG7kWkgdMaw4bujbmc+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY3CisjOiBidWlsdGluL25vdGVzLmM6NjgKIG1zZ2lkICJnaXQgbm90ZXMgc2hvdyBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgc2hvdyBbPMSR4buRaSB0xrDhu6NuZz5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MwogbXNnaWQgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIFs8Y8OhYy10w7l5LWNo4buNbj5dIDxub3Rlcy1yZWY+IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NAogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8Y8OhYy10w7l5LWNo4buNbj5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NQogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5CisjOiBidWlsdGluL25vdGVzLmM6ODAKIG1zZ2lkICJnaXQgbm90ZXMgcmVtb3ZlIFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyByZW1vdmUgWzzEkeG7kWkgdMaw4bujbmc+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg0CisjOiBidWlsdGluL25vdGVzLmM6ODUKIG1zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBwcnVuZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5CisjOiBidWlsdGluL25vdGVzLmM6OTAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1CiBtc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKIG1zZ3N0ciAiR2hpIGhheSBz4butYSBnaGkgY2jDuiBjaG8gxJHhu5FpIHTGsOG7o25nIHNhdSDEkcOieToiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBraOG7n2kgY2jhuqF5IOKAnHNob3figJ0gY2hvIMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjE1MgogbXNnaWQgImNvdWxkIG5vdCByZWFkICdzaG93JyBvdXRwdXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMga+G6v3QgeHXhuqV0IOKAnHNob3figJ0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmlzaCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgaG/DoG4gdGjDoG5oIOKAnHNob3figJ0gY2hvIMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjE5NQogbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKIG1zZ3N0ciAiIgogInhpbiBow6N5IMOhcCBk4bulbmcgbuG7mWkgZHVuZyBj4bunYSBnaGkgY2jDuiBz4butIGThu6VuZyBob+G6t2MgbMOgIHTDuXkgY2jhu41uIC1tIGhv4bq3YyBsw6AgLUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgxJHhu5FpIHTGsOG7o25nIGdoaSBjaMO6IChub3RlKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIwNQorIzogYnVpbHRpbi9ub3Rlcy5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAibuG7mWkgZHVuZyBnaGkgY2jDuiBjw7JuIGzhuqFpICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDYwCisjOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzUgYnVpbHRpbi90YWcuYzo0NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzYgYnVpbHRpbi90YWcuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyBoYXkgxJHhu41jIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNwotIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CisjOiBidWlsdGluL25vdGVzLmM6MjU1IGJ1aWx0aW4vbm90ZXMuYzozMDYgYnVpbHRpbi9ub3Rlcy5jOjMwOAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NSBidWlsdGluL25vdGVzLmM6NDMwIGJ1aWx0aW4vbm90ZXMuYzo1MTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OSBidWlsdGluL25vdGVzLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIG5oxrAgbMOgIG3hu5l0IHRoYW0gY2hp4bq/dSBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NworIzogYnVpbHRpbi9ub3Rlcy5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgxJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2MQorIzogYnVpbHRpbi9ub3Rlcy5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBub3RlIGRhdGEgZnJvbSBub24tYmxvYiBvYmplY3QgJyVzJy4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgZOG7ryBsaeG7h3UgZ2hpIGNow7ogdOG7qyDEkeG7kWkgdMaw4bujbmcga2jDtG5nLWJsb2Ig4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzAxCisjOiBidWlsdGluL25vdGVzLmM6MzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiZMOybmcgxJHhuqd1IHbDoG8gZOG7iyBow6xuaDog4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzE2CisjOiBidWlsdGluL25vdGVzLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgc2FvIGNow6lwIGdoaSBjaMO6IChub3RlKSB04burIOKAnCVz4oCdIHNhbmcg4oCcJXPigJ0iCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhCi0jLiBnaXQgbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCi0jOiBidWlsdGluL25vdGVzLmM6MzQ1CisjLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYSBnaXQKKyMuIG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorIy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICJ04burIGNo4buRaSAlcyBnaGkgY2jDuiB0cm9uZyAlcyAobuG6sW0gbmdvw6BpIHJlZnMvbm90ZXMvKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2NSBidWlsdGluL25vdGVzLmM6NDIwIGJ1aWx0aW4vbm90ZXMuYzo0OTYKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDggYnVpbHRpbi9ub3Rlcy5jOjU4NCBidWlsdGluL25vdGVzLmM6NjUyCi0jOiBidWlsdGluL25vdGVzLmM6ODAyIGJ1aWx0aW4vbm90ZXMuYzo5NDkgYnVpbHRpbi9ub3Rlcy5jOjk3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjM2OCBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTEgYnVpbHRpbi9ub3Rlcy5jOjU4NyBidWlsdGluL25vdGVzLmM6NjU0CisjOiBidWlsdGluL25vdGVzLmM6ODA0IGJ1aWx0aW4vbm90ZXMuYzo5NTEgYnVpbHRpbi9ub3Rlcy5jOjk3MgogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgInF1w6Egbmhp4buBdSDEkeG7kWkgc+G7kSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NjY1CisjOiBidWlsdGluL25vdGVzLmM6MzgxIGJ1aWx0aW4vbm90ZXMuYzo2NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGdoaSBjaMO6IGNobyDEkeG7kWkgdMaw4bujbmcgJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk5IGJ1aWx0aW4vbm90ZXMuYzo1NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgIm7hu5lpIGR1bmcgZ2hpIGNow7ogKG5vdGUpIG7hurFtIHRyb25nIG3hu5l0IGNodeG7l2kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgIm7hu5lpIGR1bmcgZ2hpIGNow7ogKG5vdGUpIG7hurFtIHRyb25nIG3hu5l0IHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgImTDuW5nIGzhuqFpIG5oxrBuZyBjw7Mgc+G7rWEgY2jhu69hIMSR4buRaSB0xrDhu6NuZyBub3RlIMSRw6MgY2jhu4kgcmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJkw7luZyBs4bqhaSDEkeG7kWkgdMaw4bujbmcgZ2hpIGNow7ogKG5vdGUpIMSRw6MgY2jhu4kgcmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTEgYnVpbHRpbi9ub3Rlcy5jOjU3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxNCBidWlsdGluL25vdGVzLmM6NTc3CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICJjaG8gbMawdSB0cuG7ryBnaGkgY2jDuiB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NDgzCisjOiBidWlsdGluL25vdGVzLmM6NDE1IGJ1aWx0aW4vbm90ZXMuYzo0ODYKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICJ0aGF5IHRo4bq/IGdoaSBjaMO6IHRyxrDhu5tjIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDM3CisjOiBidWlsdGluL25vdGVzLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTA0NDIsMjkgKzEwODAxLDI5IEBACiAiS2jDtG5nIHRo4buDIHRow6ptIGPDoWMgZ2hpIGNow7ouIMSQw6MgdMOsbSB0aOG6pXkgY8OhYyBnaGkgY2jDuiDEkcOjIGPDsyBz4bq1biBjaG8gxJHhu5FpIHTGsOG7o25nICIKICIlcy4gU+G7rSBk4bulbmcgdMO5eSBjaOG7jW4g4oCcLWbigJ0gxJHhu4MgZ2hpIMSRw6ggbMOqbiBjw6FjIGdoaSBjaMO6IGPFqSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCisjOiBidWlsdGluL25vdGVzLmM6NDU1IGJ1aWx0aW4vbm90ZXMuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLEkGFuZyBnaGkgxJHDqCBsw6puIGdoaSBjaMO6IGPFqSBjaG8gxJHhu5FpIHTGsOG7o25nICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CisjOiBidWlsdGluL25vdGVzLmM6NDY2IGJ1aWx0aW4vbm90ZXMuYzo2MjYgYnVpbHRpbi9ub3Rlcy5jOjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAixJBhbmcgZ+G7oSBi4buPIGdoaSBjaMO6IChub3RlKSBjaG8gxJHhu5FpIHTGsOG7o25nICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODcKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAixJHhu41jIGPDoWMgxJHhu5FpIHTGsOG7o25nIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICJ04bqjaSBj4bqldSBow6xuaCBjaMOpcCBs4bqhaSBjaG8gPGzhu4duaD4gKG5n4bqnbSDEkeG7i25oIGzDoCAtLXN0ZGluKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUwNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUwNwogbXNnaWQgInRvbyBmZXcgcGFyYW1ldGVycyIKIG1zZ3N0ciAicXXDoSDDrXQgxJHhu5FpIHPhu5EiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTA0NzMsMTIgKzEwODMyLDEyIEBACiAiS2jDtG5nIHRo4buDIHNhbyBjaMOpcCBjw6FjIGdoaSBjaMO6LiDEkMOjIHTDrG0gdGjhuqV5IGPDoWMgZ2hpIGNow7ogxJHDoyBjw7Mgc+G6tW4gY2hvIMSR4buRaSAiCiAidMaw4bujbmcgJXMuIFPhu60gZOG7pW5nIHTDuXkgY2jhu41uIOKAnC1m4oCdIMSR4buDIGdoaSDEkcOoIGzDqm4gY8OhYyBnaGkgY2jDuiBjxakiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgInRoaeG6v3UgZ2hpIGNow7ogdHLDqm4gxJHhu5FpIHTGsOG7o25nIG5ndeG7k24gJXMuIEtow7RuZyB0aOG7gyBzYW8gY2jDqXAuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTg5CisjOiBidWlsdGluL25vdGVzLmM6NTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgpAQCAtMTA0ODcsNTIgKzEwODQ2LDUyIEBACiAiQ8OhYyB0w7l5IGNo4buNbiAtbS8tRi8tYy8tQyDEkcOjIGPhu5Uga2jDtG5nIGPDsm4gZMO5bmcgbuG7r2EgY2hvIGzhu4duaCBjb24g4oCcZWRpdOKAnS5cbiIKICJYaW4gaMOjeSBz4butIGThu6VuZyBs4buHbmggc2F1IMSR4buDIHRoYXkgdGjhur86IOKAnGdpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUPigJ0uXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOzYSB0aGFtIGNoaeG6v3UgTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4NworIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDs2EgdGhhbSBjaGnhur91IE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjY5MQogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBn4buhIGLhu48gY8OieSBsw6BtIHZp4buHYyDigJxnaXQgbm90ZXMgbWVyZ2XigJ0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyB0aGFtIGNoaeG6v3UgTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQorIzogYnVpbHRpbi9ub3Rlcy5jOjcxMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgbOG6p24gY2h1eeG7g24gZ2lhbyB04burIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzEzCisjOiBidWlsdGluL25vdGVzLmM6NzE1CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IHBow6FwIGzhuqduIGNodXnhu4NuIGdpYW8gdOG7qyBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjcyOAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIGdp4bqjaSBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzEKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBob8OgbiB0aMOgbmggaMOyYSB0cuG7mW4gZ2hpIGNow7oiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4gZ2hpIGNow7ogJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzMKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIlTDuXkgY2jhu41uIGNodW5nIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzczCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gduG7gSBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NwogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCkBAIC0xMDU0MCw0OCArMTA4OTksNDggQEAKICJwaMOibiBnaeG6o2kgY8OhYyB4dW5nIMSR4buZdCDigJxub3Rlc+KAnSBz4butIGThu6VuZyBjaGnhur9uIGzGsOG7o2MgxJHDoyDEkcawYSByYSAobWFudWFsL291cnMvIgogInRoZWlycy91bmlvbi9jYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NworIzogYnVpbHRpbi9ub3Rlcy5jOjc3OQogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIkNodXnhu4NuIGdpYW8gY8OhYyBub3RlIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc5CisjOiBidWlsdGluL25vdGVzLmM6NzgxCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiIgogImPDoWMgbm90ZSBjdeG7kWkgY8O5bmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4gYuG7n2kgY8OhYyBub3RlIGNoxrBhIGjDsmEgdHLhu5luIGPhu6dhIGzhuqduIGNodXnhu4NuICIKICJnaWFvIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgxCisjOiBidWlsdGluL25vdGVzLmM6NzgzCiBtc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKIG1zZ3N0ciAiSOG7p3kgYuG7jyBwaMOibiBnaeG6o2kgZ2hpIGNow7ogKG5vdGUpIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg1CiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImLhu48gcXVhIGjDsmEgdHLhu5luIGPDoWMgZ2hpIGNow7ogKG5vdGUpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzk0CisjOiBidWlsdGluL25vdGVzLmM6Nzk2CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICJraMO0bmcgdGjhu4MgdHLhu5luIGzhuqtuIC0tY29tbWl0LCAtLWFib3J0IGhheSAtcy8tLXN0cmF0ZWd5IgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzk5CisjOiBidWlsdGluL25vdGVzLmM6ODAxCiBtc2dpZCAibXVzdCBzcGVjaWZ5IGEgbm90ZXMgcmVmIHRvIG1lcmdlIgogbXNnc3RyICJi4bqhbiBwaOG6o2kgY2jhu4kgxJHhu4tuaCB0aGFtIGNoaeG6v3UgZ2hpIGNow7ogxJHhu4MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtcy8tLXN0cmF0ZWd5OiAlcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSAtcy8tLXN0cmF0ZWd5OiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAibeG7mXQgZ2hpIGNow7ogaMOyYSB0cuG7mW4gdsOgbyAlcyDEkcOjIHPhurVuIHRyb25nIHF1w6EgdHLDrG5oIHjhu60gbMO9IHThuqFpICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODYzCisjOiBidWlsdGluL25vdGVzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBsxrB1IGxpw6puIGvhur90IMSR4bq/biB0aGFtIGNoaeG6v3UgZ2hpIGNow7ogaGnhu4duIHThuqFpICglcykiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgpAQCAtMTA1OTIsMjIzICsxMDk1MSwyMjMgQEAKICJjaHV54buDbiBnaWFvIGvhur90IHF14bqjIGLhurFuZyDigJxnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXTigJ0sIGhv4bq3YyBiw6NpIGLhu48gdmnhu4djIGjDsmEgIgogInRy4buZbiBi4bqxbmcg4oCcZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnTigJ0uXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIsSQ4buRaSB0xrDhu6NuZyAlcyBraMO0bmcgY8OzIGdoaSBjaMO6IChub3RlKVxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6OTAxCiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICJj4buRIGfhuq9uZyBn4buhIGLhu48gbeG7mXQgbm90ZSBjaMawYSB04burbmcgdOG7k24gdOG6oWkga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDQKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAixJHhu41jIHTDqm4gxJHhu5FpIHTGsOG7o25nIHThu6sgdGhp4bq/dCBi4buLIG5o4bqtcCBjaHXhuqluIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQwIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworIzogYnVpbHRpbi9ub3Rlcy5jOjk0MiBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgImtow7RuZyBn4buhIGLhu48sIGNo4buJIGhp4buDbiB0aOG7iyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk0MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk0MwogbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCiBtc2dzdHIgImLDoW8gY8OhbyBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcOjIHBydW5lIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgzCisjOiBidWlsdGluL25vdGVzLmM6OTg1CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICJub3Rlcy1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODYKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZMO5bmcg4oCcbm90ZXPigJ0gdOG7qyA8bm90ZXMtcmVmPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgY8OidSBs4buHbmggY29uOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMAogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbY8OhYy10w7l5LWNo4buNbuKApl0gWzwgPGRhbmgtc8OhY2gtdGhhbS1jaGnhur91PiB8IDwgIgogIjxkYW5oLXPDoWNoLcSR4buRaS10xrDhu6NuZz5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIFtjw6FjLXTDuXktY2jhu41u4oCmXSA8YmFzZS1uYW1lPiBbPCA8ZGFuaC1zw6FjaC1yZWY+IHwgPCA8ZGFuaC0iCiAic8OhY2gtxJHhu5FpLXTGsOG7o25nPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgImzhu5dpIGdp4bqjaSBuw6luICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzY2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NgogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgcGFja3MgYXJlIHNwbGl0IGR1ZSB0byBwYWNrLnBhY2tTaXplTGltaXQiCiBtc2dzdHIgInThuq90IGdoaSBiaXRtYXAsIGPDoWMgZ8OzaSBi4buLIGNoaWEgbmjhu48gYuG7n2kgdsOsIHBhY2sucGFja1NpemVMaW1pdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzg5CiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICLEkGFuZyBnaGkgbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA2OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDY5CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgInThuq90IGdoaSBiaXRtYXAsIG5oxrAgduG6rXkgbeG7mXQgc+G7kSDEkeG7kWkgdMaw4bujbmcgc+G6vSBraMO0bmcgxJHGsOG7o2MgxJHDs25nIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDM0CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAixJBhbmcgbsOpbiBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAicGhpw6puIGLhuqNuIG3hu6VjIGzhu6VjIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJwaGnDqm4gYuG6o24gbeG7pWMgbOG7pWMgc2FpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg3NwogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIGLhu5kgxJFvIHRp4bq/biB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODc5CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGLhu5kgxJFvIHRp4bq/biB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODgxCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBi4buZIMSRbyB0aeG6v24gdHJp4buDbiB0cm9uZyBzdeG7kXQgcGhhIGdoaSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg0CiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICJ0xrDGoW5nIHThu7EgLS1hbGwtcHJvZ3Jlc3Mga2hpIGLhu5kgxJFvIHRp4bq/biB0csOsbmggxJHGsOG7o2MgeHXhuqV0IGhp4buHbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODUKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICJwaGnDqm4gYuG6o25bLG9mZnNldF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg2CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiZ2hpIHThuq1wIHRpbiBi4bqjbmcgbeG7pWMgbOG7pWMgZ8OzaSAocGFjaykg4bufIHBoacOqbiBi4bqjbiDEkeG7i25oIGThuqFuZyBpZHggxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODg5CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAia2PDrWggdGjGsOG7m2MgdOG7kWkgxJFhIGNobyB04bqtcCB0aW4gZ8OzaSDEkcaw4bujYyB04bqhbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTEKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgxJHhu5FpIHTGsOG7o25nIHZheSBtxrDhu6NuIHThu6sga2hvIMSR4buRaSB0xrDhu6NuZyB0aGF5IHRo4bq/IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5MwogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHDs25nIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODk1CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiZ2nhu5tpIGjhuqFuIGPhu61hIHPhu5UgxJHDs25nIGfDs2kgdGhlbyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODk3CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiZ2nhu5tpIGjhuqFuIGPhu61hIHPhu5UgxJHDs25nIGfDs2kgdGhlbyBi4buZIG5o4bubIGPhu5luZyB0aMOqbSB24bubaSBnaeG7m2kgaOG6oW4gxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5OQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICLEkeG7mSBkw6BpIHThu5FpIMSRYSBj4bunYSBjaHXhu5dpIG3Ds2MgeMOtY2gg4oCcZGVsdGHigJ0gxJHGsOG7o2MgcGjDqXAgdHJvbmcgZ8OzaSBr4bq/dCBxdeG6oyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDEKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgImTDuW5nIGzhuqFpIGPDoWMgZGVsdGEgc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwMwogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgImTDuW5nIGzhuqFpIGPDoWMgxJHhu5FpIHTGsOG7o25nIHPhurVuIGPDsyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgImTDuW5nIGPDoWMgxJHhu5FpIHTGsOG7o25nIE9GU19ERUxUQSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDcKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICJz4butIGThu6VuZyBjw6FjIHR1eeG6v24gdHLDrG5oIGtoaSB0w6xtIGtp4bq/bSBjaG8gY8OhYyBt4bqrdSBraOG7m3AgZGVsdGEgdOG7kXQgbmjhuqV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwOQogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBr4bq/dCB4deG6pXQgZ8OzaSB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTEKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIgxJHhu41jIHRoYW0gc+G7kSDigJxyZXZpc2lvbuKAnSB04burIHRoaeG6v3QgYuG7iyBuaOG6rXAgY2h14bqpbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTMKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAiZ2nhu5tpIGjhuqFuIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRow6BuaCBuaOG7r25nIGPDoWkgbcOgIGNow7puZyB24bqrbiBjaMawYSDEkcaw4bujYyDEkcOzbmcgZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTYKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgxJHhu5FpIHTGsOG7o25nIGPDsyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MgdOG7qyBi4bqldCBr4buzIHRoYW0gY2hp4bq/dSBuw6BvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxOQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRxrDhu6NjIHRoYW0gY2hp4bq/dSBi4bufaSBjw6FjIG3hu6VjIHJlZmxvZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJiYW8gZ+G7k20gY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHGsOG7o2MgdGhhbSBjaGnhur91IGLhu59pIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkyNQogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAieHXhuqV0IGfDs2kgcmEgxJHhuqd1IHJhIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI3CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICJiYW8gZ+G7k20gY8OhYyDEkeG7kWkgdMaw4bujbmcgdGhhbSBjaGnhur91IMSR4bq/biBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcaw4bujYyDEkcOzbmcgZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjkKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImdp4buvIGzhuqFpIGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMxCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJwYWNrIG3huqV0IGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMzCiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIiIKICJ44bqjIG7DqW4gKGfhu6Ega2jhu49pIGfDs2kpIGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MgbeG7m2kgaMahbiA8dGjhu51pLWdpYW4+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzNgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJ04bqhbyBnw7NpIG5o4bq5IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzOAogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICJ04bqhbyBnw7NpIMSR4buDIHBow7kgaOG7o3AgY2hvIGzhuqV5IHbhu4EgbsO0bmcgKHNoYWxsb3cpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MAogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgZ8OzaSBtw6AgbsOzIGPDsyB04bqtcCB0aW4gLmtlZXAgxJFpIGvDqG0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQyCiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAibeG7qWMgbsOpbiBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJraMO0bmcg4bqpbiBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gYuG7n2kg4oCcZ3JhZnRz4oCdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NgogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiZMO5bmcgbeG7pWMgbOG7pWMgw6FuaCB44bqhIG7hur91IGPDsyB0aOG7gyDEkcaw4bujYyDEkeG7gyBuw6JuZyBjYW8gdOG7kWMgxJHhu5kgxJHhur9tIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDgKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICJnaGkgbeG7mXQgbeG7pWMgbOG7pWMgw6FuaCB44bqhIGPDuW5nIHbhu5tpIG3hu6VjIGzhu6VjIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDc1CiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAixJBhbmcgxJHhur9tIGPDoWMgxJHhu5FpIHTGsOG7o25nIgogCkBAIC0xMDg0OCw0NSArMTEyMDcsNDkgQEAKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04buJYSBi4bubdCB0cm9uZyBt4buZdCBraG8gxJHhu5FpX3TGsOG7o25nX3bEqV/EkeG6oWkiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjUxIGJ1aWx0aW4vcHVsbC5jOjUzCisjOiBidWlsdGluL3B1bGwuYzo1NCBidWlsdGluL3B1bGwuYzo1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIkdpw6EgdHLhu4sga2jDtG5nIGjhu6NwIGzhu4cgJXM6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MworIzogYnVpbHRpbi9wdWxsLmM6NzYKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxraG8tY2jhu6lhPiBbPHJlZnNwZWM+4oCmXV0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMQorIzogYnVpbHRpbi9wdWxsLmM6MTI0Cittc2dpZCAiY29udHJvbCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgIsSRaeG7gXUga2hp4buDbiB2aeG7h2MgbOG6pXkgduG7gSDEkeG7hyBxdXkgY+G7p2EgY8OhYyBtw7QtxJF1bi1jb24iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyOAogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uIGxpw6puIHF1YW4gxJHhur9uIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjEzMQogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKIG1zZ3N0ciAiY8OhYyB0aGF5IMSR4buVaSBo4bujcCBuaOG6pXQgYuG6sW5nIGPhuqNpIHThu5UgdGhheSB2w6wgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0OCBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoxOSBidWlsdGluL3JldmVydC5jOjEyMQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiY2hvIHBow6lwIGNodXnhu4NuLXRp4bq/cC1uaGFuaCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTU3CisjOiBidWlsdGluL3B1bGwuYzoxNjQKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKIG1zZ3N0ciAidOG7sSDEkeG7mW5nIHN0YXNoL3N0YXNoIHBvcCB0xrDhu5tjIHbDoCBzYXUgdHUgYuG7lSAocmViYXNlKSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL3B1bGwuYzoxODAKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gbGnDqm4gcXVhbiDEkeG6v24gbOG7h25oIGzhuqV5IHbhu4EiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NQorIzogYnVpbHRpbi9wdWxsLmM6MTk4CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJz4buRIGzGsOG7o25nIG3DtC3EkXVuLWNvbiDEkcaw4bujYyDEkeG6qXkgbMOqbiDEkeG7k25nIHRo4budaSIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mjg0CisjOiBidWlsdGluL3B1bGwuYzoyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgIkdpw6EgdHLhu4sga2jDtG5nIGjhu6NwIGzhu4cgY2hvIHB1bGwuZmY6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozOTcKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5OQogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCkBAIC0xMDg5NCwxNCArMTEyNTcsMTQgQEAKICLhu54gxJHDonkga2jDtG5nIGPDsyDhu6luZyBj4butIG7DoG8gxJHhu4MgY+G6o2kgdOG7lSBs4bqhaSB0cm9uZyBz4buRIGPDoWMgdGhhbSBjaGnhur91IG3DoCBi4bqhbiB24burYSAiCiAibOG6pXkgduG7gS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM5OQorIzogYnVpbHRpbi9wdWxsLmM6NDAxCiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKICLhu54gxJHDonkga2jDtG5nIGPDsyDhu6luZyBj4butIG7DoG8gxJHhu4MgaMOyYSB0cuG7mW4gdHJvbmcgc+G7kSBjw6FjIHRoYW0gY2hp4bq/dSBtw6AgYuG6oW4gduG7q2EgbOG6pXkgIgogInbhu4EuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMgogbXNnaWQgIiIKICJHZW5lcmFsbHkgdGhpcyBtZWFucyB0aGF0IHlvdSBwcm92aWRlZCBhIHdpbGRjYXJkIHJlZnNwZWMgd2hpY2ggaGFkIG5vXG4iCiAibWF0Y2hlcyBvbiB0aGUgcmVtb3RlIGVuZC4iCkBAIC0xMDkxMCw3ICsxMTI3Myw3IEBACiAidOG7sVxuIgogIsSR4bqhaSBkaeG7h24gbcOgIG7DsyBs4bqhaSBraMO0bmcga2jhu5twIHRyw6puIMSRaeG7g20gY3Xhu5FpIG3DoXkgcGjhu6VjIHbhu6UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTEwOTIyLDQzICsxMTI4NSw0MyBAQAogInRoZW8gbeG6t2MgxJHhu4tuaCBjaG8gbmjDoW5oIGhp4buHbiB04bqhaSBj4bunYSBi4bqhbiwgYuG6oW4gcGjhuqNpIGNo4buJIMSR4buLbmhcbiIKICJt4buZdCBuaMOhbmggdHLDqm4gZMOybmcgbOG7h25oLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiSGnhu4duIHThuqFpIGLhuqFuIGNo4bqzbmcg4bufIG5ow6FuaCBuw6BvIGPhuqMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MTAgYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC4iCiBtc2dzdHIgIlZ1aSBsw7JuZyBjaOG7iSDEkeG7i25oIG5ow6FuaCBuw6BvIGLhuqFuIG114buRbiBj4bqjaSB04buVIGzhuqFpLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0MTQgYnVpbHRpbi9wdWxsLmM6NDI5IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIlZ1aSBsw7JuZyBjaOG7iSDEkeG7i25oIG5ow6FuaCBuw6BvIGLhuqFuIG114buRbiBow7JhIHRy4buZbiB2w6BvLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEzIGJ1aWx0aW4vcHVsbC5jOjQyOAorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlhlbSBnaXQtcHVsbCgxKSDEkeG7gyBiaeG6v3QgdGjDqm0gY2hpIHRp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MjEgYnVpbHRpbi9wdWxsLmM6NDMwCisjOiBidWlsdGluL3B1bGwuYzo0MTcgYnVpbHRpbi9wdWxsLmM6NDIzIGJ1aWx0aW4vcHVsbC5jOjQzMgogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICI8bcOheSBjaOG7pz4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MzAgYnVpbHRpbi9wdWxsLmM6NDM1IGdpdC1yZWJhc2Uuc2g6NDU1CisjOiBidWlsdGluL3B1bGwuYzo0MTcgYnVpbHRpbi9wdWxsLmM6NDMyIGJ1aWx0aW4vcHVsbC5jOjQzNyBnaXQtcmViYXNlLnNoOjQ1NgogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NQogbXNnaWQgIjxicmFuY2g+IgogbXNnc3RyICI8bmjDoW5oPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIuG7niDEkcOieSBraMO0bmcgY8OzIHRow7RuZyB0aW4gdGhlbyBkw7VpIGNobyBuaMOhbmggaGnhu4duIGjDoG5oLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogIk7hur91IGLhuqFuIG114buRbiB0aGVvIGTDtWkgdGjDtG5nIHRpbiBjaG8gbmjDoW5oIG7DoHkgYuG6oW4gY8OzIHRo4buDIHRo4buxYyBoaeG7h24gYuG6sW5nIGzhu4duaDoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNworIzogYnVpbHRpbi9wdWxsLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC0xMDk2NywyOSArMTEzMzAsMjkgQEAKICJDw6FjIMSR4bq3YyB04bqjIGPhuqV1IGjDrG5oIGPhu6dhIGLhuqFuIMSR4buDIGjDsmEgdHLhu5luIHbhu5tpIHRoYW0gY2hp4bq/dSDigJwlc+KAnVxuIgogInThu6sgbcOheSBk4buLY2ggduG7pSwgbmjGsG5nIGtow7RuZyBjw7MgbmjDoW5oIG7DoG8gbmjGsCB0aOG6vyDEkcaw4bujYyBs4bqleSB24buBLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NzU0CisjOiBidWlsdGluL3B1bGwuYzo3OTIKIG1zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCiBtc2dzdHIgImLhu48gcXVhIC0tdmVyaWZ5LXNpZ25hdHVyZXMga2hpIHJlYmFzZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODAxCisjOiBidWlsdGluL3B1bGwuYzo4NDAKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLVtuby1dYXV0b3N0YXNoIGNo4buJIGjhu6NwIGzhu4cga2hpIGTDuW5nIHbhu5tpIC0tcmViYXNlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODA5CisjOiBidWlsdGluL3B1bGwuYzo4NDgKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICIiCiAixJBhbmcgY+G6rXAgbmjhuq10IG3hu5l0IG5ow6FuaCBjaMawYSDEkcaw4bujYyBzaW5oIHJhIHbhu5tpIGPDoWMgdGhheSDEkeG7lWkgxJHGsOG7o2MgdGjDqm0gdsOgbyAiCiAiYuG6o25nIG3hu6VjIGzhu6VjLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODEyCisjOiBidWlsdGluL3B1bGwuYzo4NTEKIG1zZ2lkICJwdWxsIHdpdGggcmViYXNlIgogbXNnc3RyICJwdWxsIHbhu5tpIHJlYmFzZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODEzCisjOiBidWlsdGluL3B1bGwuYzo4NTIKIG1zZ2lkICJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICJ4aW4gaMOjeSBjaHV54buDbiBnaWFvIGhv4bq3YyB04bqhbSBj4bqldCAoc3Rhc2gpIGNow7puZy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgzOAorIzogYnVpbHRpbi9wdWxsLmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtMTEwMDAsNyArMTEzNjMsNyBAQAogIsSRYW5nIGNodXnhu4NuLXRp4bq/cC1uaGFuaCBjw6J5IGzDoG0gdmnhu4djIGPhu6dhIGLhuqFuIHThu6tcbiIKICJs4bqnbiBjaHV54buDbiBnaWFvdCAlcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg0MworIzogYnVpbHRpbi9wdWxsLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTEwMTgsMjcgKzExMzgxLDMyIEBACiAiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCiAixJHhu4Mga2jDtGkgcGjhu6VjIGzhuqFpLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODU4CisjOiBidWlsdGluL3B1bGwuYzo4OTcKIG1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGjDsmEgdHLhu5luIG5oaeG7gXUgbmjDoW5oIHbDoG8gdHJvbmcgbeG7mXQgaGVhZCB0cuG7kW5nIHLhu5duZy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg2MgorIzogYnVpbHRpbi9wdWxsLmM6OTAxCiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbOG7h25oIHJlYmFzZSAoY+G6o2kgdOG7lSkgdHLDqm4gbmhp4buBdSBuaMOhbmguIgogCi0jOiBidWlsdGluL3B1c2guYzoxNgorIzogYnVpbHRpbi9wdWxsLmM6OTA4Cittc2dpZCAiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgIiIKKyJraMO0bmcgdGjhu4MgY+G6o2kgdOG7lSB24bubaSBjw6FjIHRoYXkgxJHhu5VpIG3DtC3EkXVuLWNvbiDEkcaw4bujYyBnaGkgbOG6oWkgbeG7mXQgY8OhY2ggY+G7pWMgYuG7mSIKKworIzogYnVpbHRpbi9wdXNoLmM6MTcKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1c2ggWzxjw6FjLXTDuXktY2jhu41uPl0gWzxraG8tY2jhu6lhPiBbPHJlZnNwZWM+4oCmXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjg5CisjOiBidWlsdGluL3B1c2guYzo5MAogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKIG1zZ3N0ciAiZMO5bmcgdOG7kWMga8O9IHRo4bq7IGtow7RuZyBjw7MgPHRo4bq7PiIKIAotIzogYnVpbHRpbi9wdXNoLmM6OTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwMAogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBjaOG7iSBjaOG6pXAgbmjhuq1uIGPDoWMgdMOqbiB0aGFtIGNoaeG6v3UgZOG6oW5nIHRoxrDhu51uZyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQzCisjOiBidWlsdGluL3B1c2guYzoxNDQKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgpAQCAtMTEwNDcsNyArMTE0MTUsNyBAQAogIsSQ4buDIGNo4buNbiBt4buXaSB0w7l5IGNo4buNbiBt4buZdCBjw6FjaCBj4buRIMSR4buLbmgsIHhlbSBwdXNoLmRlZmF1bHQgdHJvbmcg4oCcZ2l0IGhlbHAgIgogImNvbmZpZ+KAnS4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0NgorIzogYnVpbHRpbi9wdXNoLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTExMDcyLDcgKzExNDQwLDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgJXNcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTExMDg3LDcgKzExNDU1LDcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8dMOqbi1j4bunYS1uaMOhbmgtbcOheS1jaOG7pz5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtMTExMDEsMTIgKzExNDY5LDEyIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICJOaMOhbmggaGnhu4duIHThuqFpICVzIGPDsyBuaGnhu4F1IG5ow6FuaCB0aMaw4bujbmcgbmd14buTbiwgdOG7qyBjaOG7kWkgcHVzaC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4NgorIzogYnVpbHRpbi9wdXNoLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTExMTE4LDE0ICsxMTQ4NiwxNCBAQAogIm5ow6FuaCBoaeG7h24gdOG6oWkg4oCcJXPigJ0gY+G7p2EgYuG6oW4sIG3DoCBraMO0bmcgYsOhbyBjaG8gdMO0aSBiaeG6v3QgbMOgIGPDoWkgZ8OsIMSRxrDhu6NjIHB1c2hcbiIKICLEkeG7gyBj4bqtcCBuaOG6rXQgbmjDoW5oIG3DoXkgY2jhu6cgbsOgby4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NQorIzogYnVpbHRpbi9wdXNoLmM6MjQ2CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKICJC4bqhbiDEkcOjIGtow7RuZyBjaOG7iSByYSBt4buZdCByZWZzcGVjcyBuw6BvIMSR4buDIMSR4bqpeSBsw6puLCB2w6AgcHVzaC5kZWZhdWx0IGzDoCBcImtow7RuZyAiCiAibMOgIGfDrCBj4bqjXCIuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCiAiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgpAQCAtMTExMzgsNyArMTE1MDYsNyBAQAogIlhlbSDigJxOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHPigJ0gdHJvbmcg4oCcZ2l0IHB1c2ggLS1oZWxw4oCdIMSR4buDIGPDsyB0aMO0bmcgdGluIGNoaSAiCiAidGnhur90LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjU4CisjOiBidWlsdGluL3B1c2guYzoyNTkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTExMTUyLDcgKzExNTIwLDcgQEAKICJYZW0g4oCcTm90ZSBhYm91dCBmYXN0LWZvcndhcmRz4oCdIHRyb25nIOKAnGdpdCBwdXNoIC0taGVscOKAnSDEkeG7gyBjw7MgdGjDtG5nIHRpbiBjaGkgIgogInRp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2NAorIzogYnVpbHRpbi9wdXNoLmM6MjY1CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTExMTY3LDExICsxMTUzNSwxMSBAQAogIlhlbSDigJxOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHPigJ0gdHJvbmcg4oCcZ2l0IHB1c2ggLS1oZWxw4oCdIMSR4buDIGPDsyB0aMO0bmcgdGluIGNoaSAiCiAidGnhur90LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjcxCisjOiBidWlsdGluL3B1c2guYzoyNzIKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICJWaeG7h2MgY+G6rXAgbmjhuq10IGLhu4sgdOG7qyBjaOG7kWkgYuG7n2kgdsOsIHRo4bq7IMSRw6Mgc+G6tW4gY8OzIHThu6sgdHLGsOG7m2MgdHLDqm4gbcOheSBjaOG7py4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAorIzogYnVpbHRpbi9wdXNoLmM6Mjc1CiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgpAQCAtMTExODMsMjIgKzExNTUxLDIyIEBACiAixJHhu5FpIHTGsOG7o25nXG4iCiAia2jDtG5nIHBo4bqjaSBjaHV54buDbiBnaWFvLCBtw6Aga2jDtG5nIHPhu60gZOG7pW5nIHTDuXkgY2jhu41uIOKAnC0tZm9yY2XigJ0uXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMzNAorIzogYnVpbHRpbi9wdXNoLmM6MzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAixJBhbmcgxJHhuql5IGzDqm4gJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzM4CisjOiBidWlsdGluL3B1c2guYzozMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6qXkgdOG7m2kgbeG7mXQgc+G7kSB0aGFtIGNoaeG6v3UgxJHhur9uIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3B1c2guYzozNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJyZXBvc2l0b3J5IChraG8pIHNhaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzcwCisjOiBidWlsdGluL3B1c2guYzozNzEKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC0xMTIxOSwxMTYgKzExNTg3LDExNiBAQAogIlxuIgogIiAgICBnaXQgcHVzaCA8dMOqbj5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg4CisjOiBidWlsdGluL3B1c2guYzozODkKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIHbDoCAtLXRhZ3MgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg5CisjOiBidWlsdGluL3B1c2guYzozOTAKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLWFsbCBraMO0bmcgdGjhu4MgxJHGsOG7o2MgdOG7lSBo4bujcCBjw7luZyB24bubaSDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NAorIzogYnVpbHRpbi9wdXNoLmM6Mzk1CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLW1pcnJvciB2w6AgLS10YWdzIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NQorIzogYnVpbHRpbi9wdXNoLmM6Mzk2CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3Iga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIgogCi0jOiBidWlsdGluL3B1c2guYzo0MDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjQwMQogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCB2w6AgLS1taXJyb3IgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE4CisjOiBidWlsdGluL3B1c2guYzo1MjMKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJraG8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOSBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6NTI0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAixJHhuql5IHThuqV0IGPhuqMgY8OhYyB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMCBidWlsdGluL3NlbmQtcGFjay5jOjE2MworIzogYnVpbHRpbi9wdXNoLmM6NTI1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICJtaXJyb3IgdOG6pXQgY+G6oyBjw6FjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyCisjOiBidWlsdGluL3B1c2guYzo1MjcKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAieMOzYSBjw6FjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIzCisjOiBidWlsdGluL3B1c2guYzo1MjgKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgIsSR4bqpeSBjw6FjIHRo4bq7IChraMO0bmcgZMO5bmcgY8O5bmcgduG7m2kgLS1hbGwgaGF5IC0tbWlycm9yKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CisjOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICLDqXAgYnXhu5ljIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxODAKIG1zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgogbXNnc3RyICJ0w6puLXRoYW0tY2hp4bq/dT46PGPhuqduIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNCBidWlsdGluL3NlbmQtcGFjay5jOjE4MQogbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgogbXNnc3RyICJ5w6p1IGPhuqd1IGdpw6EtdHLhu4sgY8WpIGPhu6dhIHRoYW0gY2hp4bq/dSB0aMOsIGzDoCBnacOhLXRy4buLIG7DoHkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMgorIzogYnVpbHRpbi9wdXNoLmM6NTM3CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLEkWnhu4F1IGtoaeG7g24gdmnhu4djIMSR4bqpeSBsw6puIChwdXNoKSDEkeG7hyBxdWkgY+G7p2EgbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NAogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgInThuqFvIGfDs2kgbmjhurkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNSBidWlsdGluL3B1c2guYzo1MzYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNTgKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU5CisjOiBidWlsdGluL3B1c2guYzo1NDAgYnVpbHRpbi9wdXNoLmM6NTQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYwCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICJjaMawxqFuZyB0csOsbmggbmjhuq1uIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNworIzogYnVpbHRpbi9wdXNoLmM6NTQyCiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgIsSR4bq3dCB0aMaw4bujbmcgbmd14buTbiBjaG8gZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NQogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICJ4w6luIHThu4lhIG5o4buvbmcgdGhhbSBjaGnhur91IGLhu4sgZ+G7oSBi4buPIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NwogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICJ2w7JuZyBxdWEgbcOzYyB0aeG7gW4txJHhuql5IChwcmUtcHVzaCkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MworIzogYnVpbHRpbi9wdXNoLmM6NTQ4CiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICJwdXNoIHBo4bqnbiBi4buLIHRoaeG6v3UgbmjGsG5nIGPDoWMgdGjhursgbOG6oWkgdGjDrWNoIGjhu6NwIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MSBidWlsdGluL3NlbmQtcGFjay5jOjE2OAogbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgogbXNnc3RyICJrw70gbOG6p24gxJHhuql5IGTDuW5nIEdQRyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcwCisjOiBidWlsdGluL3B1c2guYzo1NTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKIG1zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKIG1zZ3N0ciAiecOqdSBj4bqndSBnaWFvIGThu4tjaCBo4bqhdCBuaMOibiBiw6puIHBow61hIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTU0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcxCiBtc2dpZCAic2VydmVyLXNwZWNpZmljIgogbXNnc3RyICLEkeG6t2MtdOG6oy1tw6F5LXBo4bulYy124bulIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NCBidWlsdGluL3NlbmQtcGFjay5jOjE3MgogbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gxJHhu4MgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTYzCisjOiBidWlsdGluL3B1c2guYzo1NjgKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUgbMOgIHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgdMO5eSBjaOG7jW4gLS1hbGwsIC0tbWlycm9yIHbDoCAtLXRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NQorIzogYnVpbHRpbi9wdXNoLmM6NTcwCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIGtow7RuZyBo4bujcCBsw70gbuG6v3Uga2jDtG5nIGPDsyBi4bqldCBr4buzIHRoYW0gY2hp4bq/dSBuw6BvIgogCi0jOiBidWlsdGluL3B1c2guYzo1ODQKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4OQogbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCiBtc2dzdHIgImPDoWMgdMO5eSBjaOG7jW4gcHVzaCBwaOG6o2kga2jDtG5nIGPDsyBrw70gdOG7sSBkw7JuZyBt4bubaSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzozNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzo0MAogbXNnaWQgIiIKICJnaXQgcmVhZC10cmVlIFsoLW0gWy0tdHJpdmlhbF0gWy0tYWdncmVzc2l2ZV0gfCAtLXJlc2V0IHwgLS1wcmVmaXg9PHByZWZpeD4pICIKICJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS0iCkBAIC0xMTMzOSw3NiArMTE3MDcsODggQEAKICJbLS1pbmRleC1vdXRwdXQ9PHThuq1wLXRpbj5dICgtLWVtcHR5IHwgPHRyZWUtaXNoMT4gWzx0cmVlLWlzaDI+IFs8dHJlZS0iCiAiaXNoMz5dXSkiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMQogbXNnaWQgIndyaXRlIHJlc3VsdGluZyBpbmRleCB0byA8ZmlsZT4iCiBtc2dzdHIgImdoaSBt4bulYyBs4bulYyBr4bq/dCBxdeG6oyB2w6BvIDx04bqtcC10aW4+IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJvbmx5IGVtcHR5IHRoZSBpbmRleCIKIG1zZ3N0ciAiY2jhu4kgduG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICJIw7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CiBtc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKIG1zZ3N0ciAidGjhu7FjIGhp4buHbiBt4buZdCBow7JhIHRy4buZbiB0aMOqbSB2w6BvIHZp4buHYyDEkeG7jWMiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE5CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAogbXNnaWQgIjMtd2F5IG1lcmdlIGlmIG5vIGZpbGUgbGV2ZWwgbWVyZ2luZyByZXF1aXJlZCIKIG1zZ3N0ciAiIgogImjDsmEgdHLhu5luIGtp4buDdSDigJwzLXdheeKAnSBu4bq/dSBraMO0bmcgY8OzIHThuq1wIHRpbiBt4bupYyBow7JhIHRy4buZbiBuw6BvIMSRxrDhu6NjIHnDqnUgY+G6p3UgIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzIKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICJow7JhIHRy4buZbiAzLXdheSB0cm9uZyBz4buxIGhp4buHbiBkaeG7h24gY+G7p2Eg4oCcYWRkc+KAnSB2w6Ag4oCccmVtb3Zlc+KAnSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiZ2nhu5FuZyB24bubaSAtbSwgbmjGsG5nIGLhu48gcXVhIGPDoWMgbeG7pWMgY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiPHRoxrAtbeG7pWMtY29uPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICLEkeG7jWMgY8OieSB2w6BvIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyBkxrDhu5tpIDx0aMawX23hu6VjX2Nvbj4vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICJj4bqtcCBuaOG6rXQgY8OieSBsw6BtIHZp4buHYyB24bubaSBr4bq/dCBxdeG6oyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQxCiBtc2dpZCAiZ2l0aWdub3JlIgogbXNnc3RyICJnaXRpZ25vcmUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MgogbXNnaWQgImFsbG93IGV4cGxpY2l0bHkgaWdub3JlZCBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKIG1zZ3N0ciAiY2hvIHBow6lwIGPDoWMgdOG6rXAgdGluIHLDtSByw6BuZyBi4buLIGzhu50gxJFpIMSRxrDhu6NjIGdoaSDEkcOoIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgImtow7RuZyBraeG7g20gdHJhIGPDonkgbMOgbSB2aeG7h2Mgc2F1IGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDYKIG1zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgImtow7RuZyBj4bqtcCBuaOG6rXQgYuG6o25nIG3hu6VjIGzhu6VjIGhheSBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgImLhu48gcXVhIMOhcCBk4bulbmcgYuG7mSBs4buNYyBs4bqleSByYSAoY2hlY2tvdXQpIHRoxrBhIHRo4bubdCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJn4buhIGzhu5dpIOKAnHVucGFjay10cmVlc+KAnSIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNgorIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjgKK21zZ2lkICJnaXQgcmViYXNlLS1oZWxwZXIgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCByZWJhc2UtLWhlbHBlciBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKKworIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjIwCittc2dpZCAiY29udGludWUgcmViYXNlIgorbXNnc3RyICJ0aeG6v3AgdOG7pWMgY+G6o2kgdOG7lSIKKworIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjIyCittc2dpZCAiYWJvcnQgcmViYXNlIgorbXNnc3RyICJiw6NpIGLhu48gdmnhu4djIGPhuqNpIHThu5UiCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjgKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8dGjGsC1t4bulYy1naXQ+IgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjc5MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MzgKIG1zZ2lkICIiCiAiQnkgZGVmYXVsdCwgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGluIGEgbm9uLWJhcmUgcmVwb3NpdG9yeVxuIgogImlzIGRlbmllZCwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhlIGluZGV4IGFuZCB3b3JrIHRyZWUgaW5jb25zaXN0ZW50XG4iCkBAIC0xMTQzOCw3ICsxMTgxOCw3IEBACiAixJDhu4MgY2jhuqVtIGThu6l0IGzhu51pIG5o4bqvbiBuw6B5IHbDoCB24bqrbiBnaeG7ryBjw6FjaCDhu6luZyB44butIG3hurdjIMSR4buLbmgsIGjDo3kgxJHhurd0XG4iCiAiYmnhur9uIGPhuqV1IGjDrG5oIOKAnHJlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2jigJ0gdGjDoG5oIOKAnHJlZnVzZeKAnS4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODEzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjg1OAogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCBkZWxldGluZyB0aGUgY3VycmVudCBicmFuY2ggaXMgZGVuaWVkLCBiZWNhdXNlIHRoZSBuZXh0XG4iCiAiJ2dpdCBjbG9uZScgd29uJ3QgcmVzdWx0IGluIGFueSBmaWxlIGNoZWNrZWQgb3V0LCBjYXVzaW5nIGNvbmZ1c2lvbi5cbiIKQEAgLTExNDU5LDI5ICsxMTgzOSwyOSBAQAogIlxuIgogIsSQ4buDIGNo4bqlbSBk4bupdCBs4budaSBuaOG6r24gbsOgeSwgYuG6oW4gaMOjeSDEkeG6t3QgbsOzIHRow6BuaCDigJxyZWZ1c2XigJ0uIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4ODMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkzMwogbXNnaWQgInF1aWV0IgogbXNnc3RyICJpbSBs4bq3bmciCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ3CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgIkLhuqFuIHBo4bqjaSBjaOG7iSDEkeG7i25oIHRoxrAgbeG7pWMuIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjQyMworIzogYnVpbHRpbi9yZWZsb2cuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIuKAnCVz4oCdIGTDoG5oIGNobyDigJwlc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU0MCBidWlsdGluL3JlZmxvZy5jOjU0NQorIzogYnVpbHRpbi9yZWZsb2cuYzo1NDEgYnVpbHRpbi9yZWZsb2cuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIGThuqV1IHRo4budaSBnaWFuIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCiAibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgpAQCAtMTE0ODksODIgKzExODY5LDgyIEBACiAiZ2l0IHJlbW90ZSBhZGQgWy10IDxuaMOhbmg+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFnc3wtLW5vLXRhZ3NdIFstLSIKICJtaXJyb3I9PGZldGNofHB1c2g+XSA8dMOqbj4gPHVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQgYnVpbHRpbi9yZW1vdGUuYzozNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNSBidWlsdGluL3JlbW90ZS5jOjM1CiBtc2dpZCAiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iCiBtc2dzdHIgImdpdCByZW1vdGUgcmVuYW1lIDx0w6puLWPFqT4gPHTDqm4tbeG7m2k+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYgYnVpbHRpbi9yZW1vdGUuYzo0MAogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPHTDqm4+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2IGJ1aWx0aW4vcmVtb3RlLmM6NDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcgYnVpbHRpbi9yZW1vdGUuYzo0NQogbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPHTDqm4+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8bmjDoW5oPikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHBydW5lIFstbiB8IC0tZHJ5LXJ1bl0gPHTDqm4+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5CisjOiBidWlsdGluL3JlbW90ZS5jOjIwCiBtc2dpZCAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKIG1zZ3N0ciAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8bmjDs20+IHwgPG3DoXktY2jhu6c+KeKApl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA8dMOqbj4gPG5ow6FuaD7igKYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEgYnVpbHRpbi9yZW1vdGUuYzo3MAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMiBidWlsdGluL3JlbW90ZS5jOjcxCiBtc2dpZCAiZ2l0IHJlbW90ZSBnZXQtdXJsIFstLXB1c2hdIFstLWFsbF0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjIgYnVpbHRpbi9yZW1vdGUuYzo3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMyBidWlsdGluL3JlbW90ZS5jOjc2CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxuYW1lPiA8bmV3dXJsPiBbPG9sZHVybD5dIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPHTDqm4+IDx1cmwtbeG7m2k+IFs8dXJsLWPFqT5dIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NwogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bmFtZT4gPG5ld3VybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8dMOqbj4gPHVybC1t4bubaT4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3NworIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc4CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDx0w6puPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyOQorIzogYnVpbHRpbi9yZW1vdGUuYzozMAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzxjw6FjLXTDuXktY2jhu41uPl0gPHTDqm4+IDx1cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ5CisjOiBidWlsdGluL3JlbW90ZS5jOjUwCiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8dMOqbj4gPG5ow6FuaD7igKYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDx0w6puPiA8bmjDoW5oPuKApiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1NQorIzogYnVpbHRpbi9yZW1vdGUuYzo1NgogbXNnaWQgImdpdCByZW1vdGUgc2hvdyBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2hvdyBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjEKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYKIG1zZ2lkICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwPiB8IDxyZW1vdGU+XS4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxuaMOzbT4gfCA8bcOheS1jaOG7pz5d4oCmIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0CisjOiBidWlsdGluL3JlbW90ZS5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICLEkGFuZyBj4bqtcCBuaOG6rXQgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNwogbXNnaWQgIiIKICItLW1pcnJvciBpcyBkYW5nZXJvdXMgYW5kIGRlcHJlY2F0ZWQ7IHBsZWFzZVxuIgogIlx0IHVzZSAtLW1pcnJvcj1mZXRjaCBvciAtLW1pcnJvcj1wdXNoIGluc3RlYWQiCkBAIC0xMTU3Miw4NiArMTE5NTIsODYgQEAKICItLW1pcnJvciBuZ3V5IGhp4buDbSB2w6Aga2jDtG5nIGTDuW5nIG7hu69hOyB4aW4gaMOjeVxuIgogIlx0IHPhu60gZOG7pW5nIHTDuXkgY2jhu41uIC0tbWlycm9yPWZldGNoIGhv4bq3YyAtLW1pcnJvcj1wdXNoIMSR4buDIHRoYXkgdGjhur8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG1pcnJvciBhcmd1bWVudDogJXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgdGhhbSBz4buRIG3DoXkgYuG6o24gc2FvIChtaXJyb3IpOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYwCiBtc2dpZCAiZmV0Y2ggdGhlIHJlbW90ZSBicmFuY2hlcyIKIG1zZ3N0ciAibOG6pXkgduG7gSBjw6FjIG5ow6FuaCB04burIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MgogbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCiBtc2dzdHIgIm5o4bqtcCB2w6BvIHThuqV0IGPhuqMgY8OhYyDEkeG7kWkgdMaw4bujbmcgdGjhursgdsOgIHRow6BuaCBwaOG6p24gbGnDqm4gcXVhbiBraGkgbOG6pXkgduG7gSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1CiBtc2dpZCAib3IgZG8gbm90IGZldGNoIGFueSB0YWcgYXQgYWxsICgtLW5vLXRhZ3MpIgogbXNnc3RyICJob+G6t2Mga2jDtG5nIGzhuqV5IHbhu4EgYuG6pXQga+G7syB0aOG6uyBuw6BvICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjcKIG1zZ2lkICJicmFuY2goZXMpIHRvIHRyYWNrIgogbXNnc3RyICJjw6FjIG5ow6FuaCDEkeG7gyB0aGVvIGTDtWkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE2OAogbXNnaWQgIm1hc3RlciBicmFuY2giCiBtc2dzdHIgIm5ow6FuaCBtYXN0ZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY4CisjOiBidWlsdGluL3JlbW90ZS5jOjE2OQogbXNnaWQgInB1c2h8ZmV0Y2giCiBtc2dzdHIgInB1c2h8ZmV0Y2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE3MAogbXNnaWQgInNldCB1cCByZW1vdGUgYXMgYSBtaXJyb3IgdG8gcHVzaCB0byBvciBmZXRjaCBmcm9tIgogbXNnc3RyICLEkeG6t3QgbcOheSBjaOG7pyAocmVtb3RlKSBuaMawIGzDoCBt4buZdCBtw6F5IGLhuqNuIHNhbyDEkeG7gyBwdXNoIGhheSBmZXRjaCB04burIMSRw7MiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE4MgogbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCiBtc2dzdHIgIsSRYW5nIGNo4buJIMSR4buLbmggbeG7mXQgbmjDoW5oIG1hc3RlciBraMO0bmcgaOG7o3AgbMO9IHbhu5tpIHTDuXkgY2jhu41uIC0tbWlycm9yIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxODQKIG1zZ2lkICJzcGVjaWZ5aW5nIGJyYW5jaGVzIHRvIHRyYWNrIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCBmZXRjaCBtaXJyb3JzIgogbXNnc3RyICJjaOG7iSDEkeG7i25oIG5o4buvbmcgbmjDoW5oIMSR4buDIHRoZW8gZMO1aSBjaOG7iSBo4bujcCBsw70gduG7m2kgY8OhYyDigJxmZXRjaCBtaXJyb3LigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjE5MSBidWlsdGluL3JlbW90ZS5jOjYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJtw6F5IGNo4bunICVzIMSRw6MgdOG7k24gdOG6oWkgcuG7k2kuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTUgYnVpbHRpbi9yZW1vdGUuYzo2MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSB0w6puIG3DoXkgY2jhu6cgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCBtYXN0ZXIgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGPDoGkgxJHhurd0IG5ow6FuaCBtYXN0ZXIg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MzM2CisjOiBidWlsdGluL3JlbW90ZS5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZ2V0IGZldGNoIG1hcCBmb3IgcmVmc3BlYyAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV5IMOhbmggeOG6oSAobWFwKSBmZXRjaCBjaG8gxJHhurdjIHThuqMgdGhhbSBjaGnhur91ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQzNyBidWlsdGluL3JlbW90ZS5jOjQ0NQorIzogYnVpbHRpbi9yZW1vdGUuYzo0MzggYnVpbHRpbi9yZW1vdGUuYzo0NDYKIG1zZ2lkICIobWF0Y2hpbmcpIgogbXNnc3RyICIoa2jhu5twKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDUwCiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIih4w7NhKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzU4IGJ1aWx0aW4vcmVtb3RlLmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBtw6F5IGNo4bunIG7DoG8gbmjGsCB0aOG6vzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM5CisjOiBidWlsdGluL3JlbW90ZS5jOjY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buVaSB0w6puIHBo4bqnbiBj4bunYSBj4bqldSBow6xuaCB04burIOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtMTE2NjIsMTcgKzEyMDQyLDE3IEBACiAiXHQlc1xuIgogIlx0WGluIGjDo3kgY+G6rXAgbmjhuq10IHBo4bqnbiBj4bqldSBow6xuaCBt4buZdCBjw6FjaCB0aOG7pyBjw7RuZyBu4bq/dSB0aOG6pXkgY+G6p24gdGhp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk1CisjOiBidWlsdGluL3JlbW90ZS5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDs2Eg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CisjOiBidWlsdGluL3JlbW90ZS5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5MgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTUKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTExNjg0LDMwMiArMTIwNjQsMzA0IEBACiAixJFpO1xuIgogIsSR4buDIHjDs2EgxJFpLCBz4butIGThu6VuZzoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODA2CisjOiBidWlsdGluL3JlbW90ZS5jOjgwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBn4buhIGLhu48gcGjhuqduIGPhuqV1IGjDrG5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkwNworIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbeG7m2kgKGzhuqduIGzhuqV5IHbhu4EgdGnhur9wIHRoZW8gc+G6vSBsxrB1IHRyb25nIHJlbW90ZXMvJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTMKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIMSRxrDhu6NjIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE1CiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiBjxakgcsOtY2ggKGTDuW5nIOKAnGdpdCByZW1vdGUgcHJ1bmXigJ0gxJHhu4MgZ+G7oSBi4buPKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNoLiVzLm1lcmdlIGtow7RuZyBo4bujcCBs4buHOyBraMO0bmcgdGjhu4MgY+G6o2kgdOG7lSB24buBIHBow61hID4gMSBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCisjOiBidWlsdGluL3JlbW90ZS5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gcmViYXNlIG3hu5l0IGPDoWNoIHTGsMahbmcgdMOhYyB0csOqbiBtw6F5IGNo4bunICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAidGjhu7FjIGhp4buHbiByZWJhc2UgdHLDqm4gbcOheSBjaOG7pyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiBow7JhIHRy4buZbiB24bubaSBtw6F5IGNo4bunICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJow7JhIHRy4buZbiB24bubaSBtw6F5IGNo4bunICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MworIzogYnVpbHRpbi9yZW1vdGUuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKIG1zZ3N0ciAiJS0qcyAgICB2w6AgduG7m2kgbcOheSBjaOG7pyAlc1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAidOG6oW8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIyCiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICJ4w7NhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNgogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgIsSRw6MgY+G6rXAgbmjhuq10IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImZhc3QtZm9yd2FyZGFibGUiCiBtc2dzdHIgImPDsy10aOG7gy1jaHV54buDbi10aeG6v3AtbmhhbmgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgImThu68gbGnhu4d1IG7hu5lpIGLhu5kgxJHDoyBjxakiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIMOpcCBideG7mWMgdGjDoG5oICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgxJHhuql5IGzDqm4gdGjDoG5oICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQzCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDDqXAgYnXhu5ljIHRow6BuaCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDEkeG6qXkgbMOqbiB0aMOgbmggJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE3CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgImtow7RuZyB0cnV5IHbhuqVuIGPDoWMgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogbcOheSBjaOG7pyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQyCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCDEkeG7gyBs4bqleSB24buBOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NiBidWlsdGluL3JlbW90ZS5jOjExNjIgYnVpbHRpbi9yZW1vdGUuYzoxMzAxCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihraMO0bmcgY8OzIFVSTCkiCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbiB3aXRoCi0jLiB0aGUgb25lIGluICIgIEZldGNoIFVSTDogJXMiIHRyYW5zbGF0aW9uCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTQgYnVpbHRpbi9yZW1vdGUuYzoxMTU2CisjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24KKyMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCisjLiB0cmFuc2xhdGlvbi4KKyMuCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgxJHhu4MgxJHhuql5IGzDqm46ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NiBidWlsdGluL3JlbW90ZS5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgTmjDoW5oIEhFQUQ6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAogbXNnaWQgIihub3QgcXVlcmllZCkiCiBtc2dzdHIgIihraMO0bmcgecOqdSBj4bqndSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY2CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIoa2jDtG5nIGhp4buDdSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiAgbmjDoW5oIEhFQUQgKEhFQUQgbcOheSBjaOG7pyBjaMawYSByw7UgcsOgbmcsIGPDsyBs4bq9IGzDoCBt4buZdCB0cm9uZyBz4buRIHNhdSk6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAgTmjhu69uZyBuaMOhbmggdHLDqm4gbcOheSBjaOG7pzolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg1IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiICh0cuG6oW5nIHRow6FpIGtow7RuZyDEkcaw4bujYyB5w6p1IGPhuqd1KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg4CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBOaOG7r25nIG5ow6FuaCBu4buZaSBi4buZIMSRw6MgxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIGzhu4duaCDigJxnaXQgcHVsbOKAnToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICByZWZzIG7hu5lpIGLhu5kgc+G6vSDEkcaw4bujYyBwaOG6o24gY2hp4bq/dSBi4bufaSBs4buHbmgg4oCcZ2l0IHB1c2jigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIE5o4buvbmcgdGhhbSBjaGnhur91IG7hu5lpIGLhu5kgxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIGzhu4duaCDigJxnaXQgcHVzaOKAnSVzOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIzCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgIsSR4bq3dCByZWZzL3JlbW90ZXMvPHTDqm4+L0hFQUQgY2hvIHBow7kgaOG7o3AgduG7m2kgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJ4w7NhIHJlZnMvcmVtb3Rlcy88dMOqbj4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDYKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOhYyDEkeG7i25oIMSRxrDhu6NjIEhFQUQgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDgKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiTmhp4buBdSBuaMOhbmggSEVBRCBtw6F5IGNo4bunLiBIw6N5IGNo4buNbiByw7UgcsOgbmcgbeG7mXQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOzYSBi4buPICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIGzDoCB0aGFtIGNoaeG6v3UgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGPDoGkgxJHhurd0ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgc+G6vSB0cuG7nyB0aMOgbmgga2jDtG5nIMSR4bqndSAoa2jDtG5nIMSRxrDhu6NjIHF14bqjbiBsw70pISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgxJHDoyB0cuG7nyB0aMOgbmgga2jDtG5nIMSR4bqndSAoa2jDtG5nIMSRxrDhu6NjIHF14bqjbiBsw70pISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAixJBhbmcgeMOpbiBi4bubdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA4CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW27Dqm4geMOpbiBi4bubdF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIgKiBbxJHDoyBi4buLIHjDqW5dICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM2MgogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgImPhuq90IG3DoXkgY2jhu6cgc2F1IGtoaSBs4bqleSB24buBIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDI1IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OSBidWlsdGluL3JlbW90ZS5jOjE1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBtw6F5IGNo4bunIG7DoG8gY8OzIHTDqm4g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAidGjDqm0gbmjDoW5oIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgImNoxrBhIGNo4buJIHJhIG3DoXkgY2jhu6cgbsOgbyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjUKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAidHJ1eSB24bqlbiDEkeG6qXkgVVJMIHRoYXkgdsOsIGzhuqV5IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NwogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAidHLhuqMgduG7gSBt4buNaSBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgImtow7RuZyBjw7MgVVJMIG7DoG8gxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIG5ow6FuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjEKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAixJHhuql5IGPDoWMg4oCcVVJM4oCdIGLhurFuZyB0YXkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAidGjDqm0gVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICJ4w7NhIFVSTHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMyCiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBraMO0bmcgaOG7o3AgbMO9IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIktp4buDdSBt4bqrdSBVUkwgY8WpIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgVVJMIG5oxrAgduG6rXk6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAiU+G6vSBraMO0bmcgeMOzYSBuaOG7r25nIMSR4buLYSBjaOG7iSBVUkwga2jDtG5nLXB1c2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTk3CiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAiY2hpIHRp4bq/dDsgcGjhuqNpIMSRxrDhu6NjIMSR4bq3dCB0csaw4bubYyBt4buZdCBs4buHbmgtY29uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJLaMO0bmcgaGnhu4N1IGPDonUgbOG7h25oIGNvbjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8Y8OhYy10w7l5LWNo4buNbj5dIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIyCisjOiBidWlsdGluL3JlcGFjay5jOjIzCiBtc2dpZCAiIgogIkluY3JlbWVudGFsIHJlcGFja3MgYXJlIGluY29tcGF0aWJsZSB3aXRoIGJpdG1hcCBpbmRleGVzLiAgVXNlXG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3IgZGlzYWJsZSB0aGUgcGFjay53cml0ZWJpdG1hcHMgY29uZmlndXJhdGlvbi4iCkBAIC0xMTk4NywxMjMgKzEyMzY5LDEyNyBAQAogIkdpYSB0xINuZyByZXBhY2sgbMOgIGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBjaOG7iSBt4bulYyBiaXRtYXAuIETDuW5nXG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggaGF5IHThuq90IGPhuqV1IGjDrG5oIHBhY2sud3JpdGViaXRtYXBzLiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY4CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgIsSRw7NuZyBnw7NpIG3hu41pIHRo4bupIHRyb25nIG3hu5l0IGfDs2kgxJHGoW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY4CisjOiBidWlsdGluL3JlcGFjay5jOjE3MAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgImdp4buRbmcgduG7m2kgLWEsIHbDoCBjaOG7iW5oIHPhu61hIGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyDEkeG7jWMgxJHGsOG7o2MgdGhp4bq/dSBzw7N0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgInjDs2EgYuG7jyBjw6FjIGfDs2kgZMawIHRo4burYSwgdsOgIGNo4bqheSBnaXQtcHJ1bmUtcGFja2VkIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MworIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiY2h1eeG7g24gLS1uby1yZXVzZS1kZWx0YSBjaG8gZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJjaHV54buDbiAtLW5vLXJldXNlLW9iamVjdCBjaG8gZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJraMO0bmcgY2jhuqF5IGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCisjOiBidWlsdGluL3JlcGFjay5jOjE4MgogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJjaHV54buDbiAtLWxvY2FsIGNobyBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MgorIzogYnVpbHRpbi9yZXBhY2suYzoxODQKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgImdoaSBt4bulYyBs4bulYyDDoW5oIHjhuqEiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzCisjOiBidWlsdGluL3JlcGFjay5jOjE4NQogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICJuZ8OgeSDGsOG7m2MgdMOtbmgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CisjOiBidWlsdGluL3JlcGFjay5jOjE4NgogbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCiBtc2dzdHIgInbhu5tpIC1BLCBjw6FjIMSR4buRaSB0xrDhu6NuZyBjxakgaMahbiBraG/huqNuZyB0aOG7nWkgZ2lhbiBuw6B5IHRow6wga2jDtG5nIGLhu4sgbeG6pXQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJ24bubaSAtYSwgxJHDs25nIGfDs2kgbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJrw61jaCB0aMaw4bubYyBj4butYSBz4buVIMSRxrDhu6NjIGTDuW5nIGNobyBuw6luIOKAnGRlbHRh4oCdIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4OSBidWlsdGluL3JlcGFjay5jOjE5MworIzogYnVpbHRpbi9yZXBhY2suYzoxOTEgYnVpbHRpbi9yZXBhY2suYzoxOTcKIG1zZ2lkICJieXRlcyIKIG1zZ3N0ciAiYnl0ZSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkyCiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgImdp4buRbmcgbmjGsCB0csOqbiwgbmjGsG5nIGdp4bubaSBo4bqhbiBrw61jaCB0aMaw4bubYyBi4buZIG5o4bubIGhheSB2w6wgc+G7kSBsxrDhu6NuZyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICJnaeG7m2kgaOG6oW4gxJHhu5kgc8OidSB04buRaSDEkWEgY+G7p2Eg4oCcZGVsdGHigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CisjOiBidWlsdGluL3JlcGFjay5jOjE5NgorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKK21zZ3N0ciAiZ2nhu5tpIGjhuqFuIHPhu5EgbMaw4bujbmcgdOG7kWkgxJFhIHR1eeG6v24gdHLDrG5oIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE5OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICJrw61jaCB0aMaw4bubYyB04buRaSDEkWEgY2hvIHThu6tuZyB04bqtcCB0aW4gZ8OzaSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjAwCiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgIsSRw7NuZyBnw7NpIGzhuqFpIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRyb25nIGPDoWMgZ8OzaSDEkcOjIMSRw6FuaCBk4bqldSBi4bqxbmcgLmtlZXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA2CisjOiBidWlsdGluL3JlcGFjay5jOjIxMAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB4w7NhIGPDoWMgZ8OzaSB0cm9uZyBt4buZdCBraG8gxJHhu5FpX3TGsOG7o25nX3bEqV/EkeG6oWkiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjEwCisjOiBidWlsdGluL3JlcGFjay5jOjIxNAogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIHbDoCAtQSB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjQwMCBidWlsdGluL3dvcmt0cmVlLmM6MTE1CisjOiBidWlsdGluL3JlcGFjay5jOjQwNiBidWlsdGluL3dvcmt0cmVlLmM6MTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGfhu6EgYuG7jyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIwCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDzEkeG7kWktdMaw4bujbmc+IDx0aGF5LXRo4bq/PiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIxCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSAtLWVkaXQgPG9iamVjdD4iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstZl0gLS1lZGl0IDzEkeG7kWkgdMaw4bujbmc+IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjIKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPGNvbW1pdD4gWzxwYXJlbnQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWdyYWZ0IDxs4bqnbl9jaHV54buDbl9naWFvPiBbPGNoYV9t4bq5PuKApl0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMwogbXNnaWQgImdpdCByZXBsYWNlIC1kIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgcmVwbGFjZSAtZCA8xJHhu5FpIHTGsOG7o25nPuKApiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI0CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PMSR4buLbmhfZOG6oW5nPl0gWy1sIFs8beG6q3U+XV0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyNSBidWlsdGluL3JlcGxhY2UuYzozNjMgYnVpbHRpbi9yZXBsYWNlLmM6MzkxCisjOiBidWlsdGluL3JlcGxhY2UuYzozMzEgYnVpbHRpbi9yZXBsYWNlLmM6MzY5IGJ1aWx0aW4vcmVwbGFjZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSBsw6AgdMOqbiDEkeG7kWkgdMaw4bujbmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAidGjhursgaMOyYSB0cuG7mW4gc2FpIHRyb25nIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1NworIzogYnVpbHRpbi9yZXBsYWNlLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAidGjhursgaMOyYSB0cuG7mW4ga2jDtG5nIMSRw7puZyBk4bqhbmcg4bufIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvcmlnaW5hbCBjb21taXQgJyVzJyBjb250YWlucyBtZXJnZXRhZyAnJXMnIHRoYXQgaXMgZGlzY2FyZGVkOyB1c2UgLS1lZGl0ICIKQEAgLTEyMTEyLDIwNiArMTI0OTgsMjA2IEBACiAibOG6p24gY2h1eeG7g24gZ2lhbyBn4buRYyDigJwlc+KAnSBjw7MgY2jhu6lhIHRo4bq7IGjDsmEgdHLhu5luIOKAnCVz4oCdIGPDoWkgbcOgIGLhu4sgbG/huqFpIGLhu487IGTDuW5nICIKICJ0w7l5IGNo4buNbiAtLWVkaXQgdGhheSBjaG8gLS1ncmFmdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG9yaWdpbmFsIGNvbW1pdCAnJXMnIGhhcyBhIGdwZyBzaWduYXR1cmUuIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIGfhu5FjIOKAnCVz4oCdIGPDsyBjaOG7ryBrw70gR1BHLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MDgKIG1zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKIG1zZ3N0ciAiY2jhu68ga8O9IHPhur0gxJHGsOG7o2MgYuG7jyDEkWkgdHJvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyB0aGF5IHRo4bq/ISIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA4CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbOG6p24gY2h1eeG7g24gZ2lhbyB0aGF5IHRo4bq/IGNobzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM4CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OhYyByZWZzIHRoYXkgdGjhur8iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM5CiBtc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAieMOzYSB0aGFtIGNoaeG6v3UgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM0CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDAKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAic+G7rWEgxJHhu5FpIHTGsOG7o25nIHPhurVuIGPDsyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM1CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDEKIG1zZ2lkICJjaGFuZ2UgYSBjb21taXQncyBwYXJlbnRzIgogbXNnc3RyICJ0aGF5IMSR4buVaSBjaGEgbeG6uSBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgInRoYXkgdGjhur8gdGhhbSBjaGnhur91IG7hur91IG7DsyDEkcOjIHPhurVuIGPDsyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM3CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDMKIG1zZ2lkICJkbyBub3QgcHJldHR5LXByaW50IGNvbnRlbnRzIGZvciAtLWVkaXQiCiBtc2dzdHIgIsSR4burbmcgaW4gxJHhurlwIGPDoWMgbuG7mWkgZHVuZyBjaG8gLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0NAogbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZMO5bmcgxJHhu4tuaCBk4bqhbmcgbsOgeSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzoxMgorIzogYnVpbHRpbi9yZXJlcmUuYzoxMwogbXNnaWQgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IDxwYXRoPi4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiBtc2dzdHIgIiIKICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCA8xJHGsOG7nW5nIGThuqtuPuKApiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTgKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTkKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAic+G7lSBnaGkgZOG7jW4gc+G6oWNoIGPDoWMgcGjDom4gZ2nhuqNpIHRyb25nIGLhuqNuIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOQogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNworIzogYnVpbHRpbi9yZXNldC5jOjMwCiBtc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPMSRxrDhu51uZy1k4bqrbj7igKYiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOAorIzogYnVpbHRpbi9yZXNldC5jOjMxCiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgogbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPGPDoWMtxJHGsOG7nW5nLWThuqtuPuKApl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAibWl4ZWQiCiBtc2dzdHIgInBoYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAic29mdCIKIG1zZ3N0ciAibeG7gW0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAiaGFyZCIKIG1zZ3N0ciAiY+G7qW5nIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgIm1lcmdlIgogbXNnc3RyICJow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJrZWVwIgogbXNnc3RyICJnaeG7ryBs4bqhaSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjc0CisjOiBidWlsdGluL3Jlc2V0LmM6NzcKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFELiIKIG1zZ3N0ciAiQuG6oW4ga2jDtG5nIGPDsyBIRUFEIG7DoG8gaOG7o3AgbOG7hy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NgorIzogYnVpbHRpbi9yZXNldC5jOjc5CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiBIRUFELiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHTDrG0gY8OieSBj4bunYSBIRUFELiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgyCisjOiBidWlsdGluL3Jlc2V0LmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0w6xtIGPDonkgY+G7p2EgJXMuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MTAwCisjOiBidWlsdGluL3Jlc2V0LmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgogbXNnc3RyICJIRUFEIGhp4buHbiBnaeG7nSB04bqhaSAlcyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE4MworIzogYnVpbHRpbi9yZXNldC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBt4buZdCAlcyByZXNldCDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3NgorIzogYnVpbHRpbi9yZXNldC5jOjI4NgogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgImzDoG0gdmnhu4djIOG7nyBjaOG6vyDEkeG7mSBpbSBs4bq3bmcsIGNo4buJIGhp4buDbiB0aOG7iyBraGkgY8OzIGzhu5dpIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjc4CisjOiBidWlsdGluL3Jlc2V0LmM6Mjg4CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgIsSR4bq3dCBs4bqhaSAocmVzZXQpIEhFQUQgdsOgIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OQorIzogYnVpbHRpbi9yZXNldC5jOjI4OQogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAiY2jhu4kgxJHhurd0IGzhuqFpIChyZXNldCkgSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI4MSBidWlsdGluL3Jlc2V0LmM6MjgzCisjOiBidWlsdGluL3Jlc2V0LmM6MjkxIGJ1aWx0aW4vcmVzZXQuYzoyOTMKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICLEkeG6t3QgbOG6oWkgSEVBRCwgYuG6o25nIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg1CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk1CiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICLEkeG6t3QgbOG6oWkgSEVBRCBuaMawbmcgZ2nhu68gbOG6oWkgY8OhYyB0aGF5IMSR4buVaSBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg4CisjOiBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgImNo4buJIGdoaSBs4bqhaSBuaOG7r25nIMSRxrDhu51uZyBk4bqrbiB0aOG7sWMgc+G7sSBz4bq9IMSRxrDhu6NjIHRow6ptIHbDoG8gc2F1IG7DoHkiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHBow6JuIGdp4bqjaSDigJwlc+KAnSBuaMawIGzDoCDEkWnhu4NtIHjDqXQgZHV54buHdCBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxMworIzogYnVpbHRpbi9yZXNldC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiBnaeG6o2kg4oCcJXPigJ0gbmjGsCBsw6AgbeG7mXQgY8OieSAodHJlZSkgaOG7o3AgbOG7hy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMjIKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMzcKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2ggeHVuZyBraOG6r2MgduG7m2kgLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMQorIzogYnVpbHRpbi9yZXNldC5jOjM0NgogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tbWl4ZWQgduG7m2kgY8OhYyDEkcaw4budbmcgZOG6q24ga2jDtG5nIGPDsm4gZMO5bmcgbuG7r2E7IGjDo3kgdGhheSB0aOG6vyBi4bqxbmcgbOG7h25oIOKAnGdpdCAiCiAicmVzZXQgLS0gPMSRxrDhu51uZ19k4bqrbj7igJ0uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMzCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbOG7h25oICVzIHJlc2V0IHbhu5tpIGPDoWMgxJHGsOG7nW5nIGThuqtuLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MworIzogYnVpbHRpbi9yZXNldC5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXMgcmVzZXQga2jDtG5nIMSRxrDhu6NjIHBow6lwIHRyw6puIGtobyB0aHXhuqduIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ3CisjOiBidWlsdGluL3Jlc2V0LmM6MzYyCiBtc2dpZCAiLU4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIC0tbWl4ZWQiCiBtc2dzdHIgIi1OIGNo4buJIMSRxrDhu6NjIGTDuW5nIGtoaSBjw7MgLS1taXhlZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NAorIzogYnVpbHRpbi9yZXNldC5jOjM3OQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgogbXNnc3RyICJOaOG7r25nIHRoYXkgxJHhu5VpIMSRxrDhu6NjIMSRxrBhIHJhIGto4buPaSBi4buHIHBow7NuZyBzYXUga2hpIHJlc2V0OiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3MAorIzogYnVpbHRpbi9yZXNldC5jOjM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4bq3dCBs4bqhaSAocmVzZXQpIGLhuqNuZyBt4bulYyBs4bulYyB0aMOgbmggxJFp4buDbSB4w6l0IGR1eeG7h3Qg4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mzc0CisjOiBidWlsdGluL3Jlc2V0LmM6Mzg5CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMgbeG7m2kuIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6MzU0CisjOiBidWlsdGluL3Jldi1saXN0LmM6MzU4CiBtc2dpZCAicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIgogbXNnc3RyICJyZXYtbGlzdCBraMO0bmcgaOG7lyB0cuG7oyBoaeG7g24gdGjhu4sgY8OhYyBnaGkgY2jDuiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTEKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk0CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxjw6FjLXTDuXktY2jhu41uPl0gLS0gWzxjw6FjIHRoYW0gc+G7kT7igKZdIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTkKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgImdp4buvIGzhuqFpIOKAnC0t4oCdIGNodXnhu4NuIHNhbmcgbMOgbSB0aGFtIHPhu5EiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMQogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAiZOG7q25nIHBow6JuIHTDrWNoIHNhdSDEkeG7kWkgc+G7kSDEkeG6p3UgdGnDqm4ga2jDtG5nIGPDsyB0w7l5IGNo4buNbiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDEKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA0CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAia+G6v3QgeHXhuqV0IHRyb25nIMSR4buLbmggZOG6oW5nIGfhuq15IGTDoGkiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTMyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzNQogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEyMzI1LDkyICsxMjcxMSw5NiBAQAogIlxuIgogIkNo4bqheSBs4buHbmggXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiDEkeG7gyBjw7MgdGjDqm0gdGjDtG5nIHRpbiB24buBIGPDoWNoIGTDuW5nLiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMwogbXNnaWQgImdpdCByZXZlcnQgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgogbXNnc3RyICJnaXQgcmV2ZXJ0IFs8Y8OhYy10w7l5LWNo4buNbj5dIDxjb21taXQtaXNoPuKApiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMworIzogYnVpbHRpbi9yZXZlcnQuYzoyNAogbXNnaWQgImdpdCByZXZlcnQgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgcmV2ZXJ0IDxs4buHbmgtY29uPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyOAorIzogYnVpbHRpbi9yZXZlcnQuYzoyOQogbXNnaWQgImdpdCBjaGVycnktcGljayBbPG9wdGlvbnM+XSA8Y29tbWl0LWlzaD4uLi4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8Y29tbWl0LWlzaD7igKYiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MzAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPGzhu4duaC1jb24+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjcxCisjOiBidWlsdGluL3JldmVydC5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlczogJXMga2jDtG5nIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIHbhu5tpICVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgwCisjOiBidWlsdGluL3JldmVydC5jOjk5CiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAia+G6v3QgdGjDumMgY2hlcnJ5LXBpY2sgaGF5IGhvw6BuIG5ndXnDqm4gbGnDqm4gdGnhur9wIG5oYXUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAicGjhu6VjIGjhu5NpIGzhuqFpIGNoZXJyeS1waWNrIGhheSBob8OgbiBuZ3V5w6puIGxpw6puIHRp4bq/cCBuaGF1IgogCi0jOiBidWlsdGluL3JldmVydC5jOjgyCisjOiBidWlsdGluL3JldmVydC5jOjEwMQogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgImtow7RuZyBjaGVycnktcGljayBoYXkgaG/DoG4gbmd1ecOqbiBsacOqbiB0aeG6v3AgbmhhdSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAia2jDtG5nIGNodXnhu4NuIGdpYW8gbeG7mXQgY8OhY2ggdOG7sSDEkeG7mW5nLiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4NAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAic+G7rWEgbOG6oWkgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKLW1zZ2lkICJwYXJlbnQgbnVtYmVyIgotbXNnc3RyICJz4buRIGPhu6dhIGNoYSBt4bq5IgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKK21zZ2lkICJwYXJlbnQtbnVtYmVyIgorbXNnc3RyICJz4buRLWNoYS1t4bq5IgogCi0jOiBidWlsdGluL3JldmVydC5jOjg5CisjOiBidWlsdGluL3JldmVydC5jOjEwNworbXNnaWQgInNlbGVjdCBtYWlubGluZSBwYXJlbnQiCittc2dzdHIgImNo4buNbiBjaGEgbeG6uSBsdeG7k25nIGNow61uaCIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkwCisjOiBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gY2hvIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICJu4buRaSB0aMOqbSB0w6puIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCisjOiBidWlsdGluL3JldmVydC5jOjEyMgogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJj4bqlbSBraOG7n2kgdOG6oW8gbOG6p24gY2h1eeG7g24gZ2lhbyB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIzCiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJjaOG6pXAgbmjhuq1uIGNodXnhu4NuIGdpYW8gbcOgIGtow7RuZyBnaGkgY2jDuiBnw6wiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEyNAogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICJnaeG7ryBs4bqhaSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gZMawIHRo4burYSwgcuG7l25nIgogCi0jOiBidWlsdGluL3JldmVydC5jOjE5MgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICJob8OgbiBuZ3V5w6puIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIwNQorIzogYnVpbHRpbi9yZXZlcnQuYzoyMjUKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCiBtc2dzdHIgImNoZXJyeS1waWNrIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL3JtLmM6MTcKKyM6IGJ1aWx0aW4vcm0uYzoxOAogbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IHJtIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstLV0gPHThuq1wLXRpbj7igKYiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMDUKKyM6IGJ1aWx0aW4vcm0uYzoyMDYKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgogImZpbGUgYW5kIHRoZSBIRUFEOiIKQEAgLTEyNDIxLDcgKzEyODExLDcgQEAKICJjw6FjIHThuq1wIHRpbiBzYXUgxJHDonkgY8OzIGtow6FjIGJp4buHdCBu4buZaSBkdW5nIMSRw6MgxJHGsGEgbMOqbiBi4buHIHBow7NuZ1xuIgogInThu6sgY+G6oyB04bqtcCB0aW4gdsOgIGPhuqMgSEVBRDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTAKKyM6IGJ1aWx0aW4vcm0uYzoyMTEKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTEyNDI5LDEyICsxMjgxOSwxMiBAQAogIlxuIgogIihkw7luZyAtZiDEkeG7gyBideG7mWMgZ+G7oSBi4buPKSIKIAotIzogYnVpbHRpbi9ybS5jOjIxNAorIzogYnVpbHRpbi9ybS5jOjIxNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gImPDoWMgdOG6rXAgdGluIHNhdSDEkcOieSBjw7MgdGhheSDEkeG7lWkgdHLhuqFuZyB0aMOhaSB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWM6IgogCi0jOiBidWlsdGluL3JtLmM6MjE4IGJ1aWx0aW4vcm0uYzoyMjcKKyM6IGJ1aWx0aW4vcm0uYzoyMTkgYnVpbHRpbi9ybS5jOjIyOAogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTI0NDIsMjggKzEyODMyLDI4IEBACiAiXG4iCiAiKGTDuW5nIHTDuXkgY2jhu41uIC0tY2FjaGVkIMSR4buDIGdp4buvIHThuq1wIHRpbiwgaG/hurdjIC1mIMSR4buDIMOpcCBideG7mWMgZ+G7oSBi4buPKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNAorIzogYnVpbHRpbi9ybS5jOjIyNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAibmjhu69uZyB04bqtcCB0aW4gc2F1IMSRw6J5IGPDsyBuaOG7r25nIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5k6IgogCi0jOiBidWlsdGluL3JtLmM6MjQyCisjOiBidWlsdGluL3JtLmM6MjQzCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAia2jDtG5nIGxp4buHdCBrw6ogY8OhYyB04bqtcCB0aW4gxJHDoyBn4buhIGLhu48iCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiY2jhu4kgZ+G7oSBi4buPIHThu6sgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDQKKyM6IGJ1aWx0aW4vcm0uYzoyNDUKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAiZ2hpIMSRw6ggbMOqbiBraeG7g20gdHJhIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi9ybS5jOjI0NQorIzogYnVpbHRpbi9ybS5jOjI0NgogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICJjaG8gcGjDqXAgZ+G7oSBi4buPIMSR4buHIHF1aSIKIAotIzogYnVpbHRpbi9ybS5jOjI0NworIzogYnVpbHRpbi9ybS5jOjI0OAogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICJ0aG/DoXQgcmEgduG7m2kgdHLhuqFuZyB0aMOhaSBraMOhYyBraMO0bmcgdGjhuq1tIGNow60gbuG6v3Uga2jDtG5nIGPDsyBnw6wga2jhu5twIgogCkBAIC0xMjQ4Miw3ICsxMjg3Miw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ+G7oSBi4buPIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE4CisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE5CiBtc2dpZCAiIgogImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC0iCiAicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPGhvc3Q+Ol08ZGlyZWN0b3J5PiAiCkBAIC0xMjQ5NCwyMyArMTI4ODQsMjMgQEAKICJjaGnhur91PuKApl1cbiIKICIgIC0tYWxsIHbDoCDEkeG6t2MgdOG6oyA8cmVmPiByw7UgcsOgbmcgbMOgIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1LiIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjAKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCiBtc2dpZCAicmVtb3RlIG5hbWUiCiBtc2dzdHIgInTDqm4gbcOheSBk4buLY2ggduG7pSIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAidXNlIHN0YXRlbGVzcyBSUEMgcHJvdG9jb2wiCiBtc2dzdHIgImTDuW5nIGdpYW8gdGjhu6ljIFJQQyBraMO0bmcg4buVbiDEkeG7i25oIgogCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MgorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzcKIG1zZ2lkICJyZWFkIHJlZnMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAixJHhu41jIHRoYW0gY2hp4bq/dSB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3OAogbXNnaWQgInByaW50IHN0YXR1cyBmcm9tIHJlbW90ZSBoZWxwZXIiCiBtc2dzdHIgImluIGPDoWMgdHLhuqFuZyB0aMOhaSB04burIHBo4bqnbiBoxrDhu5tuZyBk4bqrbiB0csOqbiBtw6F5IGThu4tjaCB24bulIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gWzxwYXRoPi4uLl1dIgogbXNnc3RyICJnaXQgc2hvcnRsb2cgWzxjw6FjLXTDuXktY2jhu41uPl0gWzx2w7luZy14w6l0LWR1eeG7h3Q+XSBbWy0tXSBbPMSRxrDhu51uZy1k4bqrbj7igKZdXSIKIApAQCAtMTI1MzgsNyArMTI5MjgsNyBAQAogbXNnaWQgIkxpbmV3cmFwIG91dHB1dCIKIG1zZ3N0ciAiTmfhuq90IGTDsm5nIGtoaSBxdcOhIGTDoGkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LWJyYW5jaCBbLWEgfCAtLWFsbF0gWy1yIHwgLS1yZW1vdGVzXSBbLS10b3BvLW9yZGVyIHwgLS1kYXRlLW9yZGVyXVxuIgogIlx0XHRbLS1jdXJyZW50XSBbLS1jb2xvcls9PHdoZW4+XSB8IC0tbm8tY29sb3JdIFstLXNwYXJzZV1cbiIKQEAgLTEyNTUwLDEyMyArMTI5NDAsMTIzIEBACiAiXHRcdFstLW1vcmU9PG4+IHwgLS1saXN0IHwgLS1pbmRlcGVuZGVudCB8IC0tbWVyZ2UtYmFzZV1cbiIKICJcdFx0Wy0tbm8tbmFtZSB8IC0tc2hhMS1uYW1lXSBbLS10b3BpY3NdIFsoPHJldj4gfCA8Z2xvYj4p4oCmXSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjE0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTYKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPG7hu4FuPl1dIFstLWxpc3RdIFs8cmVmPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZiIKIG1zZ2lkX3BsdXJhbCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiCiBtc2dzdHJbMF0gIsSRYW5nIGLhu48gcXVhICVzOyBraMO0bmcgdGjhu4MgeOG7rSBsw70gbmhp4buBdSBoxqFuICVkIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCiBtc2dzdHIgImtow7RuZyB0aGFtIGNoaeG6v3UgbsOgbyBraOG7m3AgduG7m2kgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MjYKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIG5ow6FuaCByZW1vdGUtdHJhY2tpbmcgdsOgIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MjgKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgbmjDoW5oIHJlbW90ZS10cmFja2luZyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMAogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgIm3DoHUg4oCcKiErLeKAnSB0xrDGoW5nIOG7qW5nIHbhu5tpIG5ow6FuaCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzMgogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGjDqm0gPG4+IGzhuqduIGNodXnhu4NuIGdpYW8gc2F1IGNoYSBt4bq5IGNodW5nIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM0CiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSBtb3JlPS0xIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM1CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgImNo4bq3biBjw6FjIGNodeG7l2kgxJHhurd0IHTDqm4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzcKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiYmFvIGfhu5NtIG5ow6FuaCBoaeG7h24gaMOgbmgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzkKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIsSR4bq3dCB0w6puIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBi4bqxbmcgY8OhYyB0w6puIGPhu6dhIMSR4buRaSB0xrDhu6NuZyBj4bunYSBjaMO6bmciCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbeG7jWkgY8ahIHPhu58gY8OzIHRo4buDIGTDuW5nIMSR4buDIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQzCiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdGhhbSBjaGnhur91IGtow7RuZyB0aOG7gyDEkcaw4bujYyDEkeG7jWMgYuG7n2kgYuG6pXQga+G7syB0aGFtIGNoaeG6v3Uga2jDoWMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gdGhlbyB0aOG7qSB04buxIHTDtHDDtCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBu4bqxbSB0csOqbiBuaMOhbmggxJHhuqd1IHRpw6puIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUwCiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyBs4bqnbiBow7JhIHRy4buZbiBjw7MgdGjhu4MgxJHhu41jIMSRxrDhu6NjIGNo4buJIHThu6sgbeG7mXQgxJHhuqd1IG3DunQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgInPhuq9wIHjhur9wIGjDrG5oIHRow6FpIGjhu41jLCBi4bqjbyB0csOsIHRo4bupIHThu7EgbmfDoHkgbuG6v3UgY8OzIHRo4buDIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICI8bj5bLDxjxqFfc+G7nz5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CiBtc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gY8OhYyBt4bulYyDigJxyZWYtbG9n4oCdIGfhuqduIG5o4bqldCBr4buDIHThu6sgbuG7gW4gKGJhc2UpIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzAzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjkwCiBtc2dpZCAiIgogIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgogbXNnc3RyICIiCiAiLS1yZWZsb2cgbMOgIGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBjw6FjIHTDuXkgY2jhu41uIC0tYWxsLCAtLXJlbW90ZXMsIC0tIgogImluZGVwZW5kZW50IGhheSAtLW1lcmdlLWJhc2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTQKIG1zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgogbXNnc3RyICJjaMawYSDEkcawYSByYSBuaMOhbmgsIHbDoCBIRUFEIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzMwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzE3CiBtc2dpZCAiLS1yZWZsb2cgb3B0aW9uIG5lZWRzIG9uZSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS1yZWZsb2cgY+G6p24gdMOqbiBt4buZdCBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ3N0clswXSAiY2jhu4kgY8OzIHRo4buDIGhp4buDbiB0aOG7iyBjw7luZyBsw7pjICVkIGjhuqFuZyBt4bulYy4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZWYgJXMiCiBtc2dzdHIgImtow7RuZyBjw7MgdGhhbSBjaGnhur91IG7DoG8gbmjGsCB0aOG6vyAlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXZzLiIKIG1zZ3N0clswXSAia2jDtG5nIHRo4buDIHjhu60gbMO9IG5oaeG7gXUgaMahbiAlZCDEkWnhu4NtIHjDqXQgZHV54buHdC4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgcGjhuqNpIHRoYW0gY2hp4bq/dSBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IGzhuqduIGNodXnhu4NuIGdpYW8gJXMgKCVzKSIKQEAgLTEyNzE5LDEyNSArMTMxMDksMTM0IEBACiAiaGnhu4NuIHRo4buLIGPDoWMgdGhhbSBjaGnhur91IHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiAoc3RkaW4pIGPDoWkgbcOgIGtow7RuZyDhu58ga2hvIG7hu5lpICIKICJi4buZIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxNworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE4CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOQogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstYyB8IC0tY29tbWVudC1saW5lc10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstYyB8IC0tY29tbWVudC1saW5lc10iCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM1CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgogbXNnaWQgInNraXAgYW5kIHJlbW92ZSBhbGwgbGluZXMgc3RhcnRpbmcgd2l0aCBjb21tZW50IGNoYXJhY3RlciIKIG1zZ3N0ciAiZ2nhu68gdsOgIHjDs2EgYuG7jyBt4buNaSBkw7JuZyBi4bqvdCDEkeG6p3UgYuG6sW5nIGvDvSB04buxIGdoaSBjaMO6IgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOAorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzkKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgInRyZW8gdHLGsOG7m2Mga8O9IHThu7EgZ2hpIGNow7ogdsOgIGvDvSB04buxIGtob+G6o25nIHRy4bqvbmcgY2hvIHThu6tuZyBkw7JuZyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICJLaMO0bmcgY8OzIHRoYW0gY2hp4bq/dSBuw6BvIG5oxrAgdGjhur86ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCiBtc2dzdHIgIkPhuqduIHTDqm4gdGhhbSBjaGnhur91IGThuqFuZyDEkeG6p3kgxJHhu6csIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq90IGLhu48gbeG7mXQgdGjDoG5oIHBo4bqnbiByYSBraOG7j2kg4oCcJXPigJ0gdXJsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMDUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMAogbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCiBtc2dzdHIgIsSRaeG7g20gbmVvIHRoYXkgdGjhur8gY2hvIGPDoWMgxJHGsOG7nW5nIGThuqtuIHTGsMahbmcgxJHhu5FpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEwCiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08L8SRxrDhu51uZy9k4bqrbj5dIFs8L8SRxrDhu51uZy9k4bqrbj7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzMzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSB1cmwgY2hvIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0gdHJvbmcgLmdpdG1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBsb29rdXAgY29uZmlndXJhdGlvbiAnJXMnLiBBc3N1bWluZyB0aGlzIHJlcG9zaXRvcnkgaXMgaXRzIG93biAiCisiYXV0aG9yaXRhdGl2ZSB1cHN0cmVhbS4iCittc2dzdHIgIiIKKyJraMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgY+G6pXUgaMOsbmgg4oCcJXPigJ0uIENvaSBy4bqxbmcga2hvIG7DoHkgbMOgIHRoxrDhu6NuZyBuZ3Xhu5NuIGPDsyBxdXnhu4FuICIKKyJz4bufIGjhu691IGNow61uaCBuw7MuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkcSDbmcga8O9IHVybCBjaG8gxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICJNw7QtxJF1bi1jb24g4oCcJXPigJ0gKCVzKSDEkcaw4bujYyDEkcSDbmcga8O9IGNobyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAiY+G6o25oIGLDoW86IGNo4bq/IMSR4buZIGzhu4duaCBj4bqtcCBuaOG6rXQgxJHGsOG7o2MgZ+G7o2kgw70gY2hvIG3DtC3EkXVuLWNvbiDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzk0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSRxINuZyBrw70gY2jhur8gxJHhu5kgY+G6rXAgbmjhuq10IGNobyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQzCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIkNo4bq3biBr4bq/dCB4deG6pXQgY2hvIGto4bufaSB04bqhbyBt4buZdCBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzwvxJHGsOG7nW5nL2ThuqtuPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzYKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDwvxJHGsOG7nW5nL2ThuqtuPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiS2jDtG5nIHTDrG0gdGjhuqV5IMOhbmggeOG6oSAobWFwcGluZykgbcO0LcSRdW4tY29uIHRyb25nIC5naXRtb2R1bGVzIGNobyDEkcaw4budbmcgZOG6q24gIgogIuKAnCVz4oCdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCiBtc2dzdHIgIm3DtC3EkXVuLWNvbiDigJwlc+KAnSBraMO0bmcgdGjhu4MgdGjDqm0gdGhheSB0aOG6vzogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIkdpw6EgdHLhu4sg4oCcJXPigJ0gY2hvIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiR2nDoSB0cuG7iyDigJwlc+KAnSBjaG8gc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgIm5ow6JuIGLhuqNuIG3DtC3EkXVuLWNvbiBt4bubaSB2w6BvIGNo4buXIG7DoG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJ0w6puIGPhu6dhIG3DtC3EkXVuLWNvbiBt4bubaSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgInVybCBuxqFpIG3DoCBuaMOibiBi4bqjbiBtw7QtxJF1bi1jb24gdOG7qyDEkcOzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJjaGnhu4F1IHPDonUgbOG7i2NoIHPhu60ga2hpIHThuqFvIGLhuqNuIHNhbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLDqXAgYnXhu5ljIHRp4bq/biB0csOsbmggbmjDom4gYuG6o24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTMKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCkBAIC0xMjg0NSw5NCArMTMyNDQsODQgQEAKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTwvxJHGsOG7nW5nL2ThuqtuPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPGtobz5dIFstLW5hbWUgPHTDqm4+XSBbLS1kZXB0aCA8c8OidT5dIFstLXVybCA8dXJsPl0gWzwvxJHGsOG7nW5nL2ThuqtuPuKApl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICJOaMOibiBi4bqjbiDigJwlc+KAnSB2w6BvIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0gZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4g4oCcJXPigJ0iCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNsb3NlIGZpbGUgJXMiCi1tc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgdOG6rXAgdGluICVzIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRoxrAgbeG7pWMgbcO0LcSRdW4tY29uIGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwlc+KAnSBjaMawYSDEkcaw4bujYyBraOG7n2kgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiQ8OzIGzhur0gYuG6oW4gbMOgIGLhuqFuIG114buRbiBkw7luZyBcInVwZGF0ZSAtLWluaXRcIiBwaOG6o2kga2jDtG5nPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIkLhu48gcXVhIGPDoWMgbcO0LcSRdW4tY29uIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJC4buPIHF1YSBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIG5ow6JuIGLhuqNuIOKAnCVz4oCdLiBUaOG7rSBs4bqhaSBs4buLY2ggdHLDrG5oIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgbmjDom4gYuG6o24g4oCcJXPigJ0gbOG6p24gdGjhu6kgaGFpIG7Dqm4gYsOjaSBi4buPIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTYyCiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gY8OieSBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NwogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHhur9uIGPDonkgbMOgbSB2aeG7h2MsIGNow6lvIGJpw6puIGdp4bubaSBtw7QtxJF1bi1jb24gbOG7k25nIG5oYXUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODEKIG1zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgogbXNnc3RyICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBob+G6t2Mga2jDtG5nIGzDoG0gZ8OsIGPhuqMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIiIKICJU4bqhbyBt4buZdCBi4bqjbiBzYW8gbsO0bmcgxJHGsOG7o2MgY+G6r3Qgbmfhuq9uIHRow6BuaCBz4buRIGzGsOG7o25nIMSRaeG7g20geMOpdCBkdXnhu4d0IMSRw6MgY2hvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg4CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAiY8O0bmcgdmnhu4djIMSR4buTbmcgdGjhu51pIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkwCiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICJuaMOibiBi4bqjbiBs4bqnbiDEkeG6p3UgY8OzIG7Dqm4gdGhlbyBraHV54bq/biBuZ2jhu4sgbMOgIG7DtG5nIGhheSBraMO0bmciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTEKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLEkeG7q25nIGluIHRp4bq/biB0csOsbmggbmjDom4gYuG6o24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PC/Ekcaw4budbmcvZOG6q24+XSBbPC/Ekcaw4budbmcvZOG6q24+4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDgKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgImdpw6EgdHLhu4sgY2hvICB0aGFtIHPhu5EgY+G6rXAgbmjhuq10IGLhu4sgc2FpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgpAQCAtMTI5NDEsNTcgKzEzMzMwLDUzIEBACiAiTmjDoW5oIG3DtC3EkXVuLWNvbiAoJXMpIMSRxrDhu6NjIGPhuqV1IGjDrG5oIGvhur8gdGjhu6thIG5ow6FuaCB04burIHNpw6p1IGThu7Egw6FuLCBuaMawbmcgc2nDqnUgIgogImThu7Egw6FuIGzhuqFpIGtow7RuZyB0csOqbiBi4bqldCBr4buzIG5ow6FuaCBuw6BvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjMKIG1zZ2lkICJyZWN1cnNlIGludG8gc3VibW9kdWxlcyIKIG1zZ3N0ciAixJHhu4cgcXV5IHbDoG8gdHJvbmcgbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjkKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzwvxJHGsOG7nW5nL2ThuqtuPuKApl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU3Ci1tc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKLW1zZ3N0ciAibOG7h25oIGNvbiBzdWJtb2R1bGUtLWhlbHBlciBwaOG6o2kgxJHGsOG7o2MgZ+G7jWkgduG7m2kgbeG7mXQgbOG7h25oIGNvbiIKLQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIKIG1zZ3N0ciAiJXMga2jDtG5nIGjhu5cgdHLhu6MgLS1zdXBlci1wcmVmaXgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIGzhu4duaCBjb24gc3VibW9kdWxlLS1oZWxwZXIgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo3CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKIG1zZ2lkICJnaXQgc3ltYm9saWMtcmVmIFs8b3B0aW9ucz5dIDxuYW1lPiBbPHJlZj5dIgogbXNnc3RyICJnaXQgc3ltYm9saWMtcmVmIFs8Y8OhYy10w7l5LWNo4buNbj5dIDx0w6puPiBbPHQuY2hp4bq/dT5dIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OQogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgLWQgWy1xXSA8bmFtZT4iCiBtc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgLWQgWy1xXSA8dMOqbj4iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDAKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKIG1zZ2lkICJzdXBwcmVzcyBlcnJvciBtZXNzYWdlIGZvciBub24tc3ltYm9saWMgKGRldGFjaGVkKSByZWZzIgogbXNnc3RyICJjaOG6t24gY8OhYyB0aMO0bmcgdGluIGzhu5dpIGNobyBjw6FjIHRoYW0gY2hp4bq/dSDigJxraMO0bmctbeG7gW3igJ0gKGLhu4sgdMOhY2ggcmEpIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQyCiBtc2dpZCAiZGVsZXRlIHN5bWJvbGljIHJlZiIKIG1zZ3N0ciAieMOzYSB0aGFtIGNoaeG6v3UgbeG7gW0iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgImzDoG0gbmfhuq9uIGvhur90IHh14bqldCByZWYgKHRoYW0gY2hp4bq/dSkiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQ0IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MwogbXNnaWQgInJlYXNvbiIKIG1zZ3N0ciAibMO9IGRvIgogCi0jOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MgorIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0NCBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKIG1zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKIG1zZ3N0ciAibMO9IGRvIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi90YWcuYzoyMworIzogYnVpbHRpbi90YWcuYzoyNAogbXNnaWQgIiIKICJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gIgogIls8aGVhZD5dIgpAQCAtMTI5OTksMzkgKzEzMzg0LDM1IEBACiAiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPnwtRiA8dOG6rXAtdGluPl0gPHTDqm4tdGjhurs+ICIKICJbPGhlYWQ+XSIKIAotIzogYnVpbHRpbi90YWcuYzoyNAorIzogYnVpbHRpbi90YWcuYzoyNQogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kIDx0w6puLXRo4bq7PuKApiIKIAotIzogYnVpbHRpbi90YWcuYzoyNQorIzogYnVpbHRpbi90YWcuYzoyNgogbXNnaWQgIiIKLSJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1wb2ludHMtYXQgPG9iamVjdD5dXG4iCisiZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dIFstLSIKKyJwb2ludHMtYXQgPG9iamVjdD5dXG4iCiAiXHRcdFstLWZvcm1hdD08Zm9ybWF0Pl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXR0ZXJuPi4uLl0iCiBtc2dzdHIgIiIKLSJnaXQgdGFnIC1sIFstbls8c+G7kT5dXSBbLS1jb250YWlucyA8bOG6p25fY2h1eeG7g25fZ2lhbz5dIFstLXBvaW50cy1hdCA8xJHhu5FpLSIKLSJ0xrDhu6NuZz5dXG4iCi0iXHRcdFstLWZvcm1hdD08xJHhu4tuaCBk4bqhbmc+XSBbLS1bbm8tXW1lcmdlZCBbPGzhuqduX2NodXnhu4NuX2dpYW8+XV0gWzxt4bqrdT7igKZdIgorImdpdCB0YWcgLWwgWy1uWzxz4buRPl1dIFstLWNvbnRhaW5zIDxs4bqnbl9jaHV54buDbl9naWFvPl0gWy0tbm8tY29udGFpbnMgIgorIjxs4bqnbl9jaHV54buDbl9naWFvPl0gWy0tcG9pbnRzLWF0IDzEkeG7kWktdMaw4bujbmc+XVxuIgorIlx0XHRbLS1mb3JtYXQ9PMSR4buLbmhfZOG6oW5nPl0gWy0tW25vLV1tZXJnZWQgWzxs4bqnbl9jaHV54buDbl9naWFvPl1dIFs8beG6q3U+4oCmXSIKIAotIzogYnVpbHRpbi90YWcuYzoyNworIzogYnVpbHRpbi90YWcuYzoyOAogbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTzEkeG7i25oX2ThuqFuZz5dICA8dMOqbi10aOG6uz7igKYiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCi1tc2dzdHIgInTDqm4gdGjhursgcXXDoSBkw6BpOiAlLipz4oCmIgotCi0jOiBidWlsdGluL3RhZy5jOjg3CisjOiBidWlsdGluL3RhZy5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSB0w6xtIHRo4bqleSB0aOG6uyDigJwlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAyCisjOiBidWlsdGluL3RhZy5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIlRo4bq7IMSRw6MgYuG7iyB4w7NhIOKAnCVz4oCdICh04burbmcgbMOgICVzKVxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzMQorIzogYnVpbHRpbi90YWcuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTMwNDQsNyArMTM0MjUsNyBAQAogIiAgJXNcbiIKICJOaOG7r25nIGTDsm5nIMSRxrDhu6NjIGLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBi4buPIHF1YS5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzUKKyM6IGJ1aWx0aW4vdGFnLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEzMDU5LDMzMSArMTM0NDAsMzUyIEBACiAiTmjhu69uZyBkw7JuZyDEkcaw4bujYyBi4bqvdCDEkeG6p3UgYuG6sW5nIOKAnCVj4oCdIHPhur0gxJHGsOG7o2MgZ2nhu68gbOG6oWk7IGLhuqFuIGPDsyB0aOG7gyB4w7NhIGNow7puZyDEkWkgIgogIm7hur91IG114buRbi5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoyMTMKKyM6IGJ1aWx0aW4vdGFnLmM6MjExCiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGvDvSB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzoyMTUKKyM6IGJ1aWx0aW4vdGFnLmM6MjEzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHbDoG8gdOG6rXAgdGluIGzGsHUgdGjhursiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjQwCisjOiBidWlsdGluL3RhZy5jOjIzNwogbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCiBtc2dzdHIgImtp4buDdSDEkeG7kWkgdMaw4bujbmcgc2FpLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNTMKLW1zZ2lkICJ0YWcgaGVhZGVyIHRvbyBiaWcuIgotbXNnc3RyICJwaOG6p24gxJHhuqd1IHRo4bq7IHF1w6EgbOG7m24uIgotCi0jOiBidWlsdGluL3RhZy5jOjI4OQorIzogYnVpbHRpbi90YWcuYzoyODMKIG1zZ2lkICJubyB0YWcgbWVzc2FnZT8iCiBtc2dzdHIgImtow7RuZyBjw7MgY2jDuiB0aMOtY2ggZ8OsIGNobyBjaG8gdGjhursgw6A/IgogCi0jOiBidWlsdGluL3RhZy5jOjI5NQorIzogYnVpbHRpbi90YWcuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKIG1zZ3N0ciAiTuG7mWkgZHVuZyBnaGkgY2jDuiBjw7JuIGzhuqFpICVzXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU0CisjOiBidWlsdGluL3RhZy5jOjM5OAogbXNnaWQgImxpc3QgdGFnIG5hbWVzIgogbXNnc3RyICJjaOG7iSBsaeG7h3Qga8OqIHTDqm4gY8OhYyB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzozNTYKKyM6IGJ1aWx0aW4vdGFnLmM6NDAwCiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gZMOybmcgY2hvIG3hu5dpIGdoaSBjaMO6IgogCi0jOiBidWlsdGluL3RhZy5jOjM1OAorIzogYnVpbHRpbi90YWcuYzo0MDIKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAieMOzYSB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzozNTkKKyM6IGJ1aWx0aW4vdGFnLmM6NDAzCiBtc2dpZCAidmVyaWZ5IHRhZ3MiCiBtc2dzdHIgInRo4bqpbSB0cmEgdGjhursiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYxCisjOiBidWlsdGluL3RhZy5jOjQwNQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICJUw7l5IGNo4buNbiB04bqhbyB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzozNjMKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3CiBtc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgogbXNnc3RyICLEkeG7gyBjaMO6IGdp4bqjaSBjaG8gdGjhurssIGPhuqduIG3hu5l0IGzhu51pIGdoaSBjaMO6IgogCi0jOiBidWlsdGluL3RhZy5jOjM2NQorIzogYnVpbHRpbi90YWcuYzo0MDkKIG1zZ2lkICJ0YWcgbWVzc2FnZSIKIG1zZ3N0ciAicGjhuqduIGNow7ogdGjDrWNoIGNobyB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzozNjcKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCiBtc2dpZCAiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIKIG1zZ3N0ciAidGjhursgY2jDuiBnaeG6o2kgdsOgIGvDvSBraeG7g3UgR1BHIgogCi0jOiBidWlsdGluL3RhZy5jOjM3MQorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJkw7luZyBraMOhbyBraMOhYyDEkeG7gyBrw70gdGjhursiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzcyCisjOiBidWlsdGluL3RhZy5jOjQxNgogbXNnaWQgInJlcGxhY2UgdGhlIHRhZyBpZiBleGlzdHMiCiBtc2dzdHIgInRoYXkgdGjhur8gbuG6v3UgdGjhursgxJHDsyDEkcOjIGPDsyB0csaw4bubYyIKIAotIzogYnVpbHRpbi90YWcuYzozNzMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY4CisjOiBidWlsdGluL3RhZy5jOjQxNyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKIG1zZ2lkICJjcmVhdGUgYSByZWZsb2ciCiBtc2dzdHIgInThuqFvIG3hu5l0IHJlZmxvZyIKIAotIzogYnVpbHRpbi90YWcuYzozNzUKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAiVGFnIGxpc3Rpbmcgb3B0aW9ucyIKIG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiBsaeG7h3Qga8OqIHRo4bq7IgogCi0jOiBidWlsdGluL3RhZy5jOjM3NgorIzogYnVpbHRpbi90YWcuYzo0MjAKIG1zZ2lkICJzaG93IHRhZyBsaXN0IGluIGNvbHVtbnMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBkYW5oIHPDoWNoIHRo4bq7IHRyb25nIGPDoWMgY+G7mXQiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc3IGJ1aWx0aW4vdGFnLmM6Mzc4CisjOiBidWlsdGluL3RhZy5jOjQyMSBidWlsdGluL3RhZy5jOjQyMwogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgbmjDoW5oIG3DoCBuw7MgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc5CisjOiBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3RhZy5jOjQyNAorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgdGjhursgbcOgIG7DsyBraMO0bmcgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDI1CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgdGjhursgbcOgIG7DsyDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi90YWcuYzozODAKKyM6IGJ1aWx0aW4vdGFnLmM6NDI2CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIHRo4bq7IG3DoCBuw7Mga2jDtG5nIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3RhZy5jOjM4NQorIzogYnVpbHRpbi90YWcuYzo0MzEKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgdGjhursgY+G7p2EgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3RhZy5jOjQxNQorIzogYnVpbHRpbi90YWcuYzo0NzAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gdsOgIC1uIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDM3Ci1tc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAidMO5eSBjaOG7jW4gLW4gY2jhu4kgY2hvIHBow6lwIGTDuW5nIHbhu5tpIC1sLiIKKyM6IGJ1aWx0aW4vdGFnLmM6NDkyCittc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgInTDuXkgY2jhu41uIC1uIGNo4buJIGNobyBwaMOpcCBkw7luZyB0cm9uZyBjaOG6vyDEkeG7mSBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3RhZy5jOjQzOQotbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAidMO5eSBjaOG7jW4gLS1jb250YWlucyBjaOG7iSBjaG8gcGjDqXAgZMO5bmcgduG7m2kgLWwuIgorIzogYnVpbHRpbi90YWcuYzo0OTQKK21zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJ0w7l5IGNo4buNbiAtLWNvbnRhaW5zIGNo4buJIGNobyBwaMOpcCBkw7luZyB0cm9uZyBjaOG6vyDEkeG7mSBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3RhZy5jOjQ0MQotbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgInTDuXkgY2jhu41uIC0tcG9pbnRzLWF0IGNo4buJIGNobyBwaMOpcCBkw7luZyB24bubaSAtbC4iCisjOiBidWlsdGluL3RhZy5jOjQ5NgorbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgInTDuXkgY2jhu41uIC0tbm8tY29udGFpbnMgY2jhu4kgY2hvIHBow6lwIGTDuW5nIHRyb25nIGNo4bq/IMSR4buZIGxp4buHdCBrw6oiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDQzCi1tc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbiBhcmUgb25seSBhbGxvd2VkIHdpdGggLWwiCi1tc2dzdHIgInTDuXkgY2jhu41uIC0tbWVyZ2VkIHbDoCAtLW5vLW1lcmdlZCBjaOG7iSBjaG8gcGjDqXAgZMO5bmcgduG7m2kgLWwuIgorIzogYnVpbHRpbi90YWcuYzo0OTgKK21zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1wb2ludHMtYXQgY2jhu4kgY2hvIHBow6lwIGTDuW5nIHRyb25nIGNo4bq/IMSR4buZIGxp4buHdCBrw6oiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDU0CisjOiBidWlsdGluL3RhZy5jOjUwMAorbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICIiCisidMO5eSBjaOG7jW4gLS1tZXJnZWQgdsOgIC0tbm8tbWVyZ2VkIGNo4buJIGNobyBwaMOpcCBkw7luZyB0cm9uZyBjaOG6vyDEkeG7mSBsaeG7h3Qga8OqIgorCisjOiBidWlsdGluL3RhZy5jOjUxMQogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAiY2jhu4kgY8OzIG3hu5l0IHTDuXkgY2jhu41uIC1GIGhv4bq3YyAtbSBsw6AgxJHGsOG7o2MgcGjDqXAuIgogCi0jOiBidWlsdGluL3RhZy5jOjQ3MworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgInF1w6Egbmhp4buBdSDEkeG7kWkgc+G7kSIKIAotIzogYnVpbHRpbi90YWcuYzo0NzkKKyM6IGJ1aWx0aW4vdGFnLmM6NTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgcGjhuqNpIHRo4bq7IGjhu6NwIGzhu4cuIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NAorIzogYnVpbHRpbi90YWcuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIlRo4bq7IOKAnCVz4oCdIMSRw6MgdOG7k24gdOG6oWkgcuG7k2kiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTEyCisjOiBidWlsdGluL3RhZy5jOjU3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIsSQw6MgY+G6rXAgbmjhuq10IHRo4bq7IOKAnCVz4oCdICh0csaw4bubYyBsw6AgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTMKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTQKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAixJBhbmcgZ2nhuqNpIG7DqW4gY8OhYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgInThuqFvIHRoxrAgbeG7pWMgXCIlc1wiIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZmlsZSAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIHThuq1wIHRpbiAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDs2EgdOG6rXAgdGluICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTEgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB4w7NhIHRoxrAgbeG7pWMgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICLEkGFuZyBraeG7g20gdGjhu60gbXRpbWUgdHJvbmcg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICJ0aMO0bmcgdGluIHRo4buRbmcga8OqIHRoxrAgbeG7pWMga2jDtG5nIHRoYXkgxJHhu5VpIHNhdSBraGkgdGjDqm0gdOG6rXAgdGluIG3hu5tpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjMKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICJ0aMO0bmcgdGluIHRo4buRbmcga8OqIHRoxrAgbeG7pWMga2jDtG5nIHRoYXkgxJHhu5VpIHNhdSBraGkgdGjDqm0gdGjGsCBt4bulYyBt4bubaSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTc2CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIHVwZGF0aW5nIGEgZmlsZSIKIG1zZ3N0ciAidGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB0aMawIG3hu6VjIHRoYXkgxJHhu5VpIHNhdSBraGkgY+G6rXAgbmjhuq10IHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg3CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogInRow7RuZyB0aW4gdGjhu5FuZyBrw6ogdGjGsCBt4bulYyB0aGF5IMSR4buVaSBzYXUga2hpIHRow6ptIHThuq1wIHRpbiBt4bubaSB2w6BvIHRyb25nIHRoxrAgIgogIm3hu6VjIGNvbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTk4CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlIgogbXNnc3RyICJ0aMO0bmcgdGluIHRo4buRbmcga8OqIHRoxrAgbeG7pWMga2jDtG5nIHRoYXkgxJHhu5VpIHNhdSBraGkgeMOzYSB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICJ0aMO0bmcgdGluIHRo4buRbmcga8OqIHRoxrAgbeG7pWMga2jDtG5nIHRoYXkgxJHhu5VpIHNhdSBraGkgeMOzYSB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTgKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiDEkOG7k25nIMO9IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjkKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSBbPHThuq1wLXRpbj7igKZdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjQKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgInRp4bq/cCB04bulYyBsw6BtIG3hu5tpIG5nYXkgY+G6oyBraGkgYuG6o25nIG3hu6VjIGzhu6VjIGPhuqduIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJlZnJlc2g6IGzhu50gxJFpIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgImtow7RuZyBi4buPIHF1YSBjw6FjIHThuq1wIHRpbiBt4bubaSB04bqhbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMyCiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgIsSR4buDIGPDoWMgdOG6rXAgdGluIHRoYXkgdGjhur8gY8OhYyB0aMawIG3hu6VjIHbDoCDigJx2aWNlLXZlcnNh4oCdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJ0aMO0bmcgYsOhbyBjw6FjIHThuq1wLXRpbiB0aGnhur91IHRyb25nIHRoxrAtbeG7pWMgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICIiCiAibMOgbSB0xrDGoWkgbeG7m2kgdGjhuq1tIGNow60ga2hpIGLhuqNuZyBt4bulYyBs4bulYyBjaOG7qWEgY8OhYyBt4bulYyB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibOG6pXkgbOG6oWkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJnaeG7kW5nIC0tcmVmcmVzaCwgbmjGsG5nIGLhu48gcXVhIGPDoWMgY8OgaSDEkeG6t3Qg4oCcYXNzdW1lLXVuY2hhbmdlZOKAnSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPGNo4bq/X8SR4buZPiw8xJHhu5FpX3TGsOG7o25nPiw8xJHGsOG7nW5nX2ThuqtuPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIsSQw6FuaCBk4bqldSBjw6FjIHThuq1wIHRpbiBsw6AgXCJraMO0bmcgdGhheSDEkeG7lWlcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYwCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJ4w7NhIGLDrXQgYXNzdW1lZC11bmNoYW5nZWQgKGdp4bqjIMSR4buLbmggbMOgIGtow7RuZyB0aGF5IMSR4buVaSkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIsSRw6FuaCBk4bqldSBjw6FjIHThuq1wIHRpbiBsw6Ag4oCcY2jhu4ktxJHhu41j4oCdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAieMOzYSBiw610IHNraXAtd29ya3RyZWUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OQogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAiY2jhu4kgdGjDqm0gdsOgbyBi4bqjbmcgbeG7pWMgbOG7pWM7IGtow7RuZyB0aMOqbSBu4buZaSBkdW5nIHbDoG8gY8ahIHPhu58gZOG7ryBsaeG7h3UgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzEKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICIiCiAiZ+G7oSBi4buPIGPDoWMgxJHGsOG7nW5nIGThuqtuIMSRxrDhu6NjIMSR4bq3dCB0w6puIHRo4bqtbSBjaMOtIGPhuqMga2hpIG7DsyBoaeG7h24gZGnhu4duIHRyb25nIHRoxrAgbeG7pWMgIgogImzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgInbhu5tpIHTDuXkgY2jhu41uIC0tc3RkaW46IGPDoWMgZMOybmcgxJHhuqd1IHbDoG8gxJHGsOG7o2MgY2jhuqVtIGThu6l0IGLhu59pIGvDvSB04buxIG51bGwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIsSR4buNYyBkYW5oIHPDoWNoIMSRxrDhu51uZyBk4bqrbiBj4bqnbiBj4bqtcCBuaOG6rXQgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBjw6FjIG3hu6VjIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiB2w6BvIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgzCiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICJwaOG7pWMgaOG7k2kgY8OhYyB0cuG6oW5nIHRow6FpICMyIHbDoCAjMyBjaG8gY8OhYyDEkcaw4budbmcgZOG6q24gxJHGsOG7o2MgbGnhu4d0IGvDqiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg3CiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgImNo4buJIGPhuq1wIG5o4bqtdCBjw6FjIG3hu6VjIHRpbiBtw6AgbsOzIGtow6FjIGJp4buHdCBzbyB24bubaSBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJi4buPIHF1YSBjw6FjIHThuq1wLXRpbiB0aGnhur91IHRyb25nIHRoxrAtbeG7pWMgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAiYsOhbyBjw6FvIGPDoWMgdGhhbyB0w6FjIHJhIHRoaeG6v3QgYuG7iyB4deG6pXQgY2h14bqpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk2CiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihjaG8g4oCccG9yY2VsYWluc+KAnSkgcXXDqm4gY8OhYyB4dW5nIMSR4buZdCBjaMawYSDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCDEkcOjIGdoaSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICJnaGkgbeG7pWMgbOG7pWMg4bufIMSR4buLbmggZOG6oW5nIG7DoHkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDIKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBzcGxpdCBpbmRleCIKIG1zZ3N0ciAiYuG6rXQvdOG6r3QgY2hpYSBj4bqvdCBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDQKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgImLhuq10L3Thuq90IGLhu5kgxJHhu4dtIGtow7RuZyB0aGVvIHbhur90IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJraeG7g20gdHJhIHhlbSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGPDsyBo4buXIHRy4bujIMSR4buHbSBraMO0bmcgdGhlbyBkw7VpIGhheSBraMO0bmciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgImLhuq10IGLhu5kgxJHhu4dtIGtow7RuZyB0aGVvIHbhur90IG3DoCBraMO0bmcga2nhu4NtIHRyYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEwOAorbXNnaWQgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgorImVuYWJsZSBzcGxpdCBpbmRleCIKK21zZ3N0ciAiIgorImNvcmUuc3BsaXRJbmRleCDEkcaw4bujYyDEkeG6t3QgbMOgIHNhaTsgeMOzYSBi4buPIGhheSB0aGF5IMSR4buVaSBuw7MsIG7hur91IGLhuqFuIHRo4buxYyBz4buxICIKKyJtdeG7kW4gYuG6rXQgY2hpYSB0w6FjaCBt4bulYyBs4bulYyIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTE3Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJkaXNhYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisiY29yZS5zcGxpdEluZGV4IMSRxrDhu6NjIMSR4bq3dCBsw6AgxJHDum5nOyB4w7NhIGLhu48gaGF5IHRoYXkgxJHhu5VpIG7DsywgbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgIgorIm114buRbiB04bqvdCBjaGlhIHTDoWNoIG3hu6VjIGzhu6VjIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjgKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCkBAIC0xMzM5MSwxMSArMTM3OTMsMTEgQEAKICJjb3JlLnVudHJhY2tlZENhY2hlIMSRxrDhu6NjIMSR4bq3dCBsw6AgxJHDum5nOyB4w7NhIGLhu48gaGF5IHRoYXkgxJHhu5VpIG7DsywgbuG6v3UgYuG6oW4gdGjhu7FjICIKICJz4buxIG114buRbiB04bqvdCBi4buZIMSR4buHbSBjaMawYSB0aGVvIGTDtWkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMyCiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICJOaOG7myDEkeG7h20ga2jDtG5nIHRoZW8gduG6v3QgYuG7iyB04bqvdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNDAKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZW5hYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCkBAIC0xMzQwMywxMzMgKzEzODA1LDEzMyBAQAogImNvcmUudW50cmFja2VkQ2FjaGUgxJHGsOG7o2MgxJHhurd0IGzDoCBzYWk7IHjDs2EgYuG7jyBoYXkgdGhheSDEkeG7lWkgbsOzLCBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSAiCiAibXXhu5FuIGLhuq10IGLhu5kgxJHhu4dtIGNoxrBhIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCiBtc2dzdHIgIk5o4bubIMSR4buHbSBraMO0bmcgdGhlbyB24bq/dCDEkcaw4bujYyBi4bqtdCBjaG8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLWQgPHJlZm5hbWU+IFs8b2xkLXZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtZCA8cmVmbmFtZT4gWzxiaeG6v24tY8WpPl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMQogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dICAgIDxyZWZuYW1lPiA8bmV3LXZhbD4gWzxvbGQtdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs8Y8OhYy10w7l5LWNo4buNbj5dICAgIDxyZWZuYW1lPiA8Ymnhur9uLW3hu5tpPiBbPGJp4bq/bi1jxak+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLXN0ZGluIFstel0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY0CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCiBtc2dzdHIgInjDs2EgdGhhbSBjaGnhur91IgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjUKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NgogbXNnaWQgInVwZGF0ZSA8cmVmbmFtZT4gbm90IHRoZSBvbmUgaXQgcG9pbnRzIHRvIgogbXNnc3RyICJj4bqtcCBuaOG6rXQgPHTDqm4tdGhhbS1jaGnhur91PiBraMO0bmcgcGjhuqNpIGPDoWkgbsOzIGNo4buJIHThu5tpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCiBtc2dzdHIgIsSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gY8OzIGPDoWMgxJHhu5FpIHPhu5EgxJHGsOG7o2MgY2jhuqVtIGThu6l0IGLhu59pIE5VTCIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY3CisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKIG1zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAixJHhu41jIGPhuq1wIG5o4bqtdCB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgorIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo3CiBtc2dpZCAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCiBtc2dzdHIgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE0CisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE1CiBtc2dpZCAidXBkYXRlIHRoZSBpbmZvIGZpbGVzIGZyb20gc2NyYXRjaCIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IGPDoWMgdOG6rXAgdGluIHRow7RuZyB0aW4gdOG7qyDEkWnhu4NtIHh14bqldCBwaMOhdCIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTcKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE4CiBtc2dpZCAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8bOG6p25fY2h1eeG7g25fZ2lhbz7igKYiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjcyCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MwogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG7hu5lpIGR1bmcgY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICJpbiBr4bq/dCB4deG6pXQgdHLhuqFuZyB0aMOhaSBncGcgZOG6oW5nIHRow7QiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo1NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU1CiBtc2dpZCAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxnw7NpPuKApiIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY0CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjUKIG1zZ2lkICJ2ZXJib3NlIgogbXNnc3RyICJjaGkgdGnhur90IgogCi0jOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjYKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NwogbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdGjhu5FuZyBrw6oiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE4CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOQogbXNnaWQgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PMSR4buLbmhfZOG6oW5nPl0gPHRo4bq7PuKApiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgdGFnIGNvbnRlbnRzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbuG7mWkgZHVuZyBj4bunYSB0aOG6uyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKIG1zZ2lkICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxwYXRoPiBbPGJyYW5jaD5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs8Y8OhYy10w7l5LWNo4buNbj5dIDzEkcaw4budbmctZOG6q24+IFs8bmjDoW5oPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBsaXN0IFs8Y8OhYy10w7l5LWNo4buNbj5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAogbXNnaWQgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxjw6FjLXTDuXktY2jhu41uPl0gPC/Ekcaw4budbmcvZOG6q24+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQogbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8Y8OhYy10w7l5LWNo4buNbj5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMAogbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDwvxJHGsOG7nW5nL2ThuqtuPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBub3QgYSB2YWxpZCBkaXJlY3RvcnkiCiBtc2dzdHIgIkfhu6EgYuG7jyBjw6J5IGzDoG0gdmnhu4djLyVzOiBraMO0bmcgcGjhuqNpIGzDoCB0aMawIG3hu6VjIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIkfhu6EgYuG7jyBjw6J5IGzDoG0gdmnhu4djLyVzOiBraMO0bmcgY8OzIHThuq1wIHRpbiBnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAiR+G7oSBi4buPIGPDonkgbMOgbSB2aeG7h2MvJXM6IGtow7RuZyB0aOG7gyDEkeG7jWMgdOG6rXAgdGluIGdpdGRpciAoJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCiBtc2dzdHIgIkfhu6EgYuG7jyBjw6J5IGzDoG0gdmnhu4djLyVzOiB04bqtcCB0aW4gZ2l0ZGlyIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgIkfhu6EgYuG7jyBjw6J5IGzDoG0gdmnhu4djLyVzOiB04bqtcCB0aW4gZ2l0ZGlyIGNo4buJIMSR4bq/biB24buLIHRyw60ga2jDtG5nIHThu5NuIHThuqFpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTI4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTI5CiBtc2dpZCAicmVwb3J0IHBydW5lZCB3b3JraW5nIHRyZWVzIgogbXNnc3RyICJiw6FvIGPDoW8gY8OhYyBjw6J5IGzDoG0gdmnhu4djIMSRw6MgcHJ1bmUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzEKIG1zZ2lkICJleHBpcmUgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiY8OhYyBjw6J5IGzDoG0gdmnhu4djIGjhur90IGjhuqFuIGPFqSBoxqFuIGtob+G6o25nIDx0aOG7nWkgZ2lhbj4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi4oCcJXPigJ0gxJHDoyBjw7MgdOG7qyB0csaw4bubYyBy4buTaSIKQEAgLTEzNTM5LDk2ICsxMzk0MSwxMDAgQEAKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdGjGsCBt4bulYyBj4bunYSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgJXMgKGlkZW50aWZpZXIgJXMpIgogbXNnc3RyICLEkGFuZyBjaHXhuqluIGLhu4sgJXMgKMSR4buLbmggZGFuaCAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgImzhuqV5IHJhIDxuaMOhbmg+IG5nYXkgY+G6oyBraGkgbsOzIMSRw6MgxJHGsOG7o2MgbOG6pXkgcmEg4bufIGPDonkgbMOgbSB2aeG7h2Mga2jDoWMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJ04bqhbyBuaMOhbmggbeG7m2kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzEKIG1zZ2lkICJjcmVhdGUgb3IgcmVzZXQgYSBicmFuY2giCiBtc2dzdHIgInThuqFvIGhheSDEkeG6t3QgbOG6oWkgbeG7mXQgbmjDoW5oIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMzCiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImRpIGNodXnhu4NuIGPDonkgbMOgbSB2aeG7h2MgbeG7m2kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKK21zZ2lkICJrZWVwIHRoZSBuZXcgd29ya2luZyB0cmVlIGxvY2tlZCIKK21zZ3N0ciAiZ2nhu68gY8OieSBsw6BtIHZp4buHYyBt4bubaSBi4buLIGtow7NhIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzQyCiBtc2dpZCAiLWIsIC1CLCBhbmQgLS1kZXRhY2ggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiAtYiwgLUIsIHbDoCAtLWRldGFjaCBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDcyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDc5CiBtc2dpZCAicmVhc29uIGZvciBsb2NraW5nIgogbXNnc3RyICJsw70gZG8ga2jDs2EiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MSBidWlsdGluL3dvcmt0cmVlLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgogbXNnc3RyICIlcyBraMO0bmcgcGjhuqNpIGzDoCBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg2IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTMgYnVpbHRpbi93b3JrdHJlZS5jOjUyNgogbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgogbXNnc3RyICJDw6J5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgY2jDrW5oIGtow7RuZyB0aOG7gyBraMOzYSBoYXkgYuG7jyBraMOzYSDEkcaw4bujYyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgogbXNnc3RyICLigJwlc+KAnSDEkcOjIMSRxrDhu6NjIGtow7NhIHLhu5NpLCBsw70gZG86ICVzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCiBtc2dzdHIgIuKAnCVz4oCdIMSRw6MgxJHGsOG7o2Mga2jDs2EgcuG7k2kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MjEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgogbXNnc3RyICLigJwlc+KAnSBjaMawYSBi4buLIGtow7NhIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxMworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTQKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTx0aeG7gW4tdOG7kT4vXSIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CiBtc2dpZCAiPHByZWZpeD4vIgogbXNnc3RyICI8dGnhu4FuIHThu5E+LyIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjcKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI4CiBtc2dpZCAid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IgogbXNnc3RyICJnaGkgxJHhu5FpIHTGsOG7o25nIGPDonkgKHRyZWUpIGNobyA8dGnhu4FuIHThu5E+IHRoxrAgbeG7pWMgY29uIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzEKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICJjaOG7iSBo4buvdSDDrWNoIGtoaSBj4bqnbiBn4buhIGzhu5dpIgogCi0jOiB1cGxvYWQtcGFjay5jOjIyCisjOiB1cGxvYWQtcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxjw6FjLXTDuXktY2jhu41uPl0gPC/Ekcaw4budbmcvZOG6q24+IgogCi0jOiB1cGxvYWQtcGFjay5jOjEwMzYKKyM6IHVwbG9hZC1wYWNrLmM6MTA0MQogbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKIG1zZ3N0ciAidGhvw6F0IHNhdSBraGkgbeG7mXQgdHJhbyDEkeG7lWkgecOqdSBj4bqndSBoYXkgdHLhuqMgbOG7nWkgxJHGoW4iCiAKLSM6IHVwbG9hZC1wYWNrLmM6MTAzOAorIzogdXBsb2FkLXBhY2suYzoxMDQzCiBtc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IgogbXNnc3RyICJ0aG/DoXQgbmdheSBzYXUga2hpIGto4bufaSB04bqhbyBxdeG6o25nIGPDoW8gdGhhbSBjaGnhur91IgogCi0jOiB1cGxvYWQtcGFjay5jOjEwNDAKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NQogbXNnaWQgImRvIG5vdCB0cnkgPGRpcmVjdG9yeT4vLmdpdC8gaWYgPGRpcmVjdG9yeT4gaXMgbm8gR2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAixJHhu6tuZyB0aOG7rSA8dGjGsF9t4bulYz4vLmdpdC8gbuG6v3UgPHRoxrBfbeG7pWM+IGtow7RuZyBwaOG6o2kgbMOgIHRoxrAgbeG7pWMgR2l0IgogCi0jOiB1cGxvYWQtcGFjay5jOjEwNDIKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NwogbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgogbXNnc3RyICJuZ+G6r3QgdHJ1eeG7gW4gdGjDtG5nIHNhdSA8bj4gZ2nDonkga2jDtG5nIGhv4bqhdCDEkeG7mW5nIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjMKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgpAQCAtMTM2NDEsMTEgKzE0MDQ3LDExIEBACiAiXG4iCiAiXHRjaG1vZCAwNzAwICVzIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MgogbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCiBtc2dzdHIgImluIHRow7RuZyB0aW4gZ+G7oSBs4buXaSByYSDEkeG6p3UgcmEgbOG7l2kgdGnDqnUgY2h14bqpbiIKIAotIzogZ2l0LmM6MTQKKyM6IGdpdC5jOjE1CiBtc2dpZCAiIgogIidnaXQgaGVscCAtYScgYW5kICdnaXQgaGVscCAtZycgbGlzdCBhdmFpbGFibGUgc3ViY29tbWFuZHMgYW5kIHNvbWVcbiIKICJjb25jZXB0IGd1aWRlcy4gU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIG9yICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCkBAIC0xMzY1NSwxNSArMTQwNjEsMjAgQEAKICJoxrDhu5tuZyBk4bqrbiB24buBIGtow6FpIG5p4buHbS4gWGVtIOKAnGdpdCBoZWxwIDxs4buHbmg+4oCdIGhheSDigJxnaXQgaGVscCA8a2jDoWktbmnhu4dtPuKAnVxuIgogIsSR4buDIHhlbSBjw6FjIMSR4bq3YyB04bqjIGNobyBs4buHbmggaGF5IGtow6FpIG5p4buHbSBj4bulIHRo4buDLiIKIAotIzogaHR0cC5jOjM0NAorIzogaHR0cC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgorbXNnc3RyICJnacOhIHRy4buLIMOibSBjaG8gaHR0cC5wb3N0YnVmZmVyOyBt4bq3YyDEkeG7i25oIGzDoCAlZCIKKworIzogaHR0cC5jOjM1OAogbXNnaWQgIkRlbGVnYXRpb24gY29udHJvbCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMjIuMCIKIG1zZ3N0ciAixJBp4buBdSBraGnhu4NuIGdpYW8gcXV54buBbiBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB24bubaSBjVVJMIDwgNy4yMi4wIgogCi0jOiBodHRwLmM6MzUzCisjOiBodHRwLmM6MzY3CiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICJDaOG7kXQga2jDs2EgY8O0bmcga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgduG7m2kgY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjE3MTMKKyM6IGh0dHAuYzoxNzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gdXBkYXRlIHVybCBiYXNlIGZyb20gcmVkaXJlY3Rpb246XG4iCkBAIC0xMzY3NCw3ICsxNDA4NSw3IEBACiAiICAgICAgaOG7j2kgY2hvOiAlc1xuIgogIiBjaHV54buDbiBoxrDhu5tuZzogJXMiCiAKLSM6IHJlbW90ZS1jdXJsLmM6MzE5CisjOiByZW1vdGUtY3VybC5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKIG1zZ3N0ciAiY2h1eeG7g24gaMaw4bubbmcgxJHhur9uICVzIgpAQCAtMTQwNDksNyArMTQ0NjAsNyBAQAogbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgogbXNnc3RyICJIw7JhIHRy4buZbiDEkcahbiBnaeG6o24ga2jDtG5nIGzDoG0gdmnhu4djLCB0aOG7rSBow7JhIHRy4buZbiB04buxIMSR4buZbmcuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU3CisjOiBnaXQtcmViYXNlLnNoOjU4CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTQwNjIsNDEgKzE0NDczLDQ1IEBACiAixJDhu4MgcGjhu6VjIGjhu5NpIGzhuqFpIHRow6BuaCBuaMOhbmggbmd1ecOqbiB0aOG7p3kgdsOgIGThu6tuZyB2aeG7h2MgdsOhIGzhuqFpIHRow6wgY2jhuqF5IFwiZ2l0ICIKICJyZWJhc2UgLS1hYm9ydFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNTcgZ2l0LXJlYmFzZS5zaDozOTYKKyM6IGdpdC1yZWJhc2Uuc2g6MTU4IGdpdC1yZWJhc2Uuc2g6Mzk3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBxdWF5IHRy4bufIGzhuqFpICRoZWFkX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE2OQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAixJDDoyDDoXAgZOG7pW5nIGF1dG9zdGFzaC4iCisKKyM6IGdpdC1yZWJhc2Uuc2g6MTcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBsxrB1ICRzdGFzaF9zaGExIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxMQorIzogZ2l0LXJlYmFzZS5zaDoyMTIKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiTcOzYyAoaG9vaykgcHJlLXJlYmFzZSB04burIGNo4buRaSByZWJhc2UuIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxNgorIzogZ2l0LXJlYmFzZS5zaDoyMTcKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIiIKICJIw6xuaCBuaMawIMSRYW5nIHRyb25nIHF1w6EgdHLDrG5oIHRo4buxYyBoaeG7h24gbOG7h25oIGdpdC1hbS4gS2jDtG5nIHRo4buDIGNo4bqheSBs4buHbmggIgogInJlYmFzZS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU3CisjOiBnaXQtcmViYXNlLnNoOjM1OAogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIktow7RuZyBjw7MgdGnhur9uIHRyw6xuaCByZWJhc2UgbsOgbyBwaOG6o2kga2jDtG5nPyIKIAotIzogZ2l0LXJlYmFzZS5zaDozNjgKKyM6IGdpdC1yZWJhc2Uuc2g6MzY5CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICIiCiAiSMOgbmggxJHhu5luZyDigJwtLWVkaXQtdG9kb+KAnSBjaOG7iSBjw7MgdGjhu4MgZMO5bmcgdHJvbmcgcXXDoSB0csOsbmgg4oCccmViYXNl4oCdIChz4butYSBs4buLY2ggIgogInPhu60pIHTGsMahbmcgdMOhYy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc1CisjOiBnaXQtcmViYXNlLnNoOjM3NgogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgSEVBRCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzgKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc5CiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTQxMDQsNyArMTQ1MTksNyBAQAogIkLhuqFuIHBo4bqjaSBz4butYSB04bqldCBj4bqjIGPDoWMgbOG6p24gaMOyYSB0cuG7mW4geHVuZyDEkeG7mXQgdsOgIHNhdVxuIgogIsSRw7MgxJHDoW5oIGThuqV1IGNow7puZyBsw6AgY+G6p24geOG7rSBsw70gc+G7rSBk4bulbmcgbOG7h25oIGdpdCBhZGQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDE4CisjOiBnaXQtcmViYXNlLnNoOjQxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTQxMjUsMTAyICsxNDU0MCwxMDIgQEAKICJ2w6AgY2jhuqF5IFTDlEkgbOG6p24gbuG7r2EuIFTDlEkgIGThu6tuZyBs4bqhaSB0cm9uZyB0csaw4budbmcgaOG7o3AgYuG6oW4gduG6q25cbiIKICJjw7MgbeG7mXQgc+G7kSB0aOG7qSBxdcO9IGdpw6Eg4bufIMSRw6J5LiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjkKKyM6IGdpdC1yZWJhc2Uuc2g6NDcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICJ0aMaw4bujbmcgbmd14buTbiBraMO0bmcgaOG7o3AgbOG7hyAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMKKyM6IGdpdC1yZWJhc2Uuc2g6NDk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTog4bufIMSRw6J5IGPDsyBuaGnhu4F1IGjGoW4gbeG7mXQgbuG7gW4gbcOzbmcgaMOyYSB0cuG7mW4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2IGdpdC1yZWJhc2Uuc2g6NTAwCisjOiBnaXQtcmViYXNlLnNoOjQ5NyBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZTog4bufIMSRw6J5IGtow7RuZyBjw7MgbuG7gW4gbcOzbmcgaMOyYSB0cuG7mW4gbsOgbyIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MDUKKyM6IGdpdC1yZWJhc2Uuc2g6NTA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAiS2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBo4bujcCBs4buHOiAkb250b19uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyOAorIzogZ2l0LXJlYmFzZS5zaDo1MjkKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICJuZ2hpw6ptIHRy4buNbmc6IGtow7RuZyBjw7MgbmjDoW5oIG5oxrAgdGjhur86ICRicmFuY2hfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjEKKyM6IGdpdC1yZWJhc2Uuc2g6NTYyCiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGF1dG9zdGFzaCIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjYKKyM6IGdpdC1yZWJhc2Uuc2g6NTY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAixJDDoyB04bqhbyBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcwCisjOiBnaXQtcmViYXNlLnNoOjU3MQogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIlhpbiBow6N5IGNodXnhu4NuIGdpYW8gaG/hurdjIHThuqFtIGPhuqV0IChzdGFzaCkgY2jDum5nLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTAKKyM6IGdpdC1yZWJhc2Uuc2g6NTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIk5ow6FuaCBoaeG7h24gdOG6oWkgJGJyYW5jaF9uYW1lIMSRw6MgxJHGsOG7o2MgY+G6rXAgbmjhuq10IHLhu5NpLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTQKKyM6IGdpdC1yZWJhc2Uuc2g6NTk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIk5ow6FuaCBoaeG7h24gdOG6oWkgJGJyYW5jaF9uYW1lIMSRw6MgxJHGsOG7o2MgY+G6rXAgbmjhuq10IHLhu5NpLCBs4buHbmggcmViYXNlIMOpcCBideG7mWMuIgogCi0jOiBnaXQtcmViYXNlLnNoOjYwNQorIzogZ2l0LXJlYmFzZS5zaDo2MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICJUaGF5IMSR4buVaSB04burICRtYiB0aMOgbmggJG9udG86IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxNAorIzogZ2l0LXJlYmFzZS5zaDo2MTUKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIlRyxrDhu5tjIHRpw6puLCBkaSBjaHV54buDbiBoZWFkIMSR4buDIHhlbSBs4bqhaSBjw6FjIGPDtG5nIHZp4buHYyB0csOqbiDEkeG7iW5oIGPhu6dhIG7Ds+KApiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MjQKKyM6IGdpdC1yZWJhc2Uuc2g6NjI1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIkNodXnhu4NuLXRp4bq/cC1uaGFuaCAkYnJhbmNoX25hbWUgdGjDoG5oICRvbnRvX25hbWUuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAKKyM6IGdpdC1zdGFzaC5zaDo1NAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiIgogImdpdCBzdGFzaCBjbGVhciB24bubaSBjw6FjIHRoYW0gc+G7kSBsw6AgY2jGsGEgxJHGsOG7o2MgdGjhu7FjIGhp4buHbiAoa2jDtG5nIG5o4bqtbiDEkeG7kWkgc+G7kSkiCiAKLSM6IGdpdC1zdGFzaC5zaDo3MworIzogZ2l0LXN0YXNoLnNoOjk1CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCiBtc2dzdHIgIkLhuqFuIGNoxrBhIGPDsm4gY8OzIGzhuqduIGNodXnhu4NuIGdpYW8ga2jhu59pIHThuqFvIgogCi0jOiBnaXQtc3Rhc2guc2g6ODgKKyM6IGdpdC1zdGFzaC5zaDoxMTAKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSBs4bqhaSB0cuG6oW5nIHRow6FpIGLhuqNuZyBt4bulYyBs4bulYyBoaeG7h24gaMOgbmgiCiAKLSM6IGdpdC1zdGFzaC5zaDoxMDMKKyM6IGdpdC1zdGFzaC5zaDoxMjUKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIGPDoWMgdOG6rXAgdGluIGNoxrBhIHRoZW8gZMO1aSIKIAotIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CisjOiBnaXQtc3Rhc2guc2g6MTQ1IGdpdC1zdGFzaC5zaDoxNTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSBs4bqhaSB0cuG6oW5nIHRow6FpIGPDonktbMOgbS12aeG7h2MgaGnhu4duIGjDoG5oIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQwCisjOiBnaXQtc3Rhc2guc2g6MTYyCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAiQ2jGsGEgY8OzIHRoYXkgxJHhu5VpIG7DoG8gxJHGsOG7o2MgY2jhu41uIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQzCisjOiBnaXQtc3Rhc2guc2g6MTY1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBn4buhIGLhu48gYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSAoa2jDtG5nIHRo4buDIHjhuqN5IHJhKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NgorIzogZ2l0LXN0YXNoLnNoOjE3OAogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgY8OieSBsw6BtIHZp4buHYyBoaeG7h24gaMOgbmgiCiAKLSM6IGdpdC1zdGFzaC5zaDoxODgKKyM6IGdpdC1zdGFzaC5zaDoyMTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCAkcmVmX3N0YXNoIHbhu5tpICR3X2NvbW1pdCIKQEAgLTE0MjM1LDcgKzE0NjUwLDcgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyMzgKKyM6IGdpdC1zdGFzaC5zaDoyNjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgpAQCAtMTQyNDUsMTA3ICsxNDY2MCwxMDcgQEAKICIgICAgIMSQ4buDIGPDsyB0aOG7gyBkw7luZyBs4budaSBjaMO6IHRow61jaCBjw7MgY2jhu6lhIC0tIOG7nyDEkeG6p3UsXG4iCiAiICAgICBkw7luZyBnaXQgc3Rhc2ggc2F2ZSAtLSBcIiRvcHRpb25cIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI1MQorIzogZ2l0LXN0YXNoLnNoOjI4MQogbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBkw7luZyAtLXBhdGNoIHbDoCAtLWluY2x1ZGUtdW50cmFja2VkIGhheSAtLWFsbCBjw7luZyBt4buZdCBsw7pjLiIKIAotIzogZ2l0LXN0YXNoLnNoOjI1OQorIzogZ2l0LXN0YXNoLnNoOjI4OQogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB0aGF5IMSR4buVaSBu4buZaSBi4buZIG7DoG8gxJHGsOG7o2MgZ2hpIGzhuqFpIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYzCisjOiBnaXQtc3Rhc2guc2g6Mjk0CiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIktow7RuZyB0aOG7gyBraOG7n2kgdOG6oW8gc3Rhc2giCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjcKKyM6IGdpdC1zdGFzaC5zaDoyOTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgdHLhuqFuZyB0aMOhaSBoaeG7h24gaMOgbmgiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKKyM6IGdpdC1zdGFzaC5zaDoyOTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAkc3Rhc2hfbXNnIgogbXNnc3RyICLEkMOjIGdoaSBs4bqhaSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIHbDoCB0cuG6oW5nIHRow6FpIG3hu6VjIGzhu6VjICRzdGFzaF9tc2ciCiAKLSM6IGdpdC1zdGFzaC5zaDoyODUKKyM6IGdpdC1zdGFzaC5zaDozMjYKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBn4buhIGLhu48gY8OhYyB0aGF5IMSR4buVaSBjw6J5LWzDoG0tdmnhu4djIgogCi0jOiBnaXQtc3Rhc2guc2g6NDAzCisjOiBnaXQtc3Rhc2guc2g6NDc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSB0w7l5IGNo4buNbjogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNgotbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKLW1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IGzhuqduIGNodXnhu4NuIGdpYW8gY+G6pXQgxJFpIChzdGFzaCkgbsOgby4iCisjOiBnaXQtc3Rhc2guc2g6NDg3Cittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCittc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBjw6FjIG3hu6VjIHThuqFtIGPhuqV0IChzdGFzaCkgbsOgby4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjMKKyM6IGdpdC1zdGFzaC5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIkNo4buJIHJhIHF1w6Egbmhp4buBdSDEkWnhu4NtIHjDqXQgZHV54buHdDogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQzOAorIzogZ2l0LXN0YXNoLnNoOjUwOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Uga2jDtG5nIHBo4bqjaSBsw6AgdGhhbSBjaGnhur91IGjhu6NwIGzhu4ciCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjYKKyM6IGdpdC1zdGFzaC5zaDo1MzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIuKAnCRhcmdz4oCdIGtow7RuZyBwaOG6o2kgbMOgIGzhuqduIGNodXnhu4NuIGdpYW8ga2nhu4N1LXN0YXNoIChj4bqldCDEkWkpIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc3CisjOiBnaXQtc3Rhc2guc2g6NTQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAi4oCdJGFyZ3PigJ0ga2jDtG5nIHBo4bqjaSB0aGFtIGNoaeG6v3UgxJHhur9uIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg1CisjOiBnaXQtc3Rhc2guc2g6NTU2CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBsw6BtIHTGsMahaSBt4bubaSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo1NjAKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDDoXAgZOG7pW5nIG3hu5l0IHN0YXNoIOG7nyBnaeG7r2EgY+G7p2EgcXXDoSB0csOsbmggaMOyYSB0cuG7mW4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0OTcKKyM6IGdpdC1zdGFzaC5zaDo1NjgKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICJYdW5nIMSR4buZdCB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMuIEjDo3kgdGjhu60gbcOgIGtow7RuZyBkw7luZyB0w7l5IGNo4buNbiAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5OQorIzogZ2l0LXN0YXNoLnNoOjU3MAogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgY8OieSBjaOG7iSBt4bulYyIKIAotIzogZ2l0LXN0YXNoLnNoOjUwOAotbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjhu6VjIGjhu5NpIGPDoWMgdOG6rXAgdGluIGNoxrBhIHRoZW8gZMO1aSB04burIHN0YXNoIgorIzogZ2l0LXN0YXNoLnNoOjU3OQorbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgorbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjhu6VjIGjhu5NpIGPDoWMgdOG6rXAgdGluIGNoxrBhIHRoZW8gZMO1aSB04burIG3hu6VjIGPhuqV0IMSRaSAoc3Rhc2gpIgogCi0jOiBnaXQtc3Rhc2guc2g6NTMzCisjOiBnaXQtc3Rhc2guc2g6NjA0CiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBi4buPIHJhIGto4buPaSBi4buHIHBow7NuZyBjw6FjIHThuq1wIHRpbiDEkcOjIMSRxrDhu6NjIHPhu61hIGNo4buvYSIKIAotIzogZ2l0LXN0YXNoLnNoOjU0OAorIzogZ2l0LXN0YXNoLnNoOjYxOQogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiQuG6o25nIG3hu6VjIGzhu6VjIMSRw6Mga2jDtG5nIMSRxrDhu6NjIGLhu48gc3Rhc2guIgogCi0jOiBnaXQtc3Rhc2guc2g6NTYyCi1tc2dpZCAiVGhlIHN0YXNoIGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCi1tc2dzdHIgInN0YXNoIMSRxrDhu6NjIGdp4buvIHRyb25nIHRyxrDhu51uZyBo4bujcCBi4bqhbiBs4bqhaSBj4bqnbiBuw7MuIgorIzogZ2l0LXN0YXNoLnNoOjYzMworbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICJDw6FjIG3hu6VjIHThuqFtIGPhuqV0IChzdGFzaCkgxJHGsOG7o2MgZ2nhu68gdHJvbmcgdHLGsOG7nW5nIGjhu6NwIGLhuqFuIGzhuqFpIGPhuqduIG7Dsy4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzEKKyM6IGdpdC1zdGFzaC5zaDo2NDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIsSQw6MgeMOzYSAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MgorIzogZ2l0LXN0YXNoLnNoOjY0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBLaMO0bmcgdGjhu4MgeMOzYSBi4buPIG3hu6VjIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6NTgwCisjOiBnaXQtc3Rhc2guc2g6NjUxCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJDaMawYSBjaOG7iSByYSB0w6puIGPhu6dhIG5ow6FuaCIKIAotIzogZ2l0LXN0YXNoLnNoOjY1MgorIzogZ2l0LXN0YXNoLnNoOjczMAogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKMSQ4buDIHBo4bulYyBo4buTaSBs4bqhaSBjaMO6bmcgaMOjeSBnw7UgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiAKQEAgLTE0MzczLDcgKzE0Nzg4LDcgQEAKICLigJ0kc21fcGF0aOKAnSB0aOG7sWMgc+G7sSDEkcOjIHThu5NuIHThuqFpIOG7nyBi4bqjbmcgbeG7pWMgbOG7pWMgcuG7k2kgdsOgIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IG3DtC3EkXVuLSIKICJjb24iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0xNDM4NSwyMyArMTQ4MDAsMjMgQEAKICIkc21fcGF0aFxuIgogIlPhu60gZOG7pW5nIC1mIG7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiB0aMOqbSBuw7MgdsOgby4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM2CisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGV4aXN0aW5nIHJlcG8gYXQgJyRzbV9wYXRoJyB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIsSQYW5nIHRow6ptIHJlcG8gY8OzIHPhurVuIHThuqFpIOKAnCRzbV9wYXRo4oCdIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICLigJ0kc21fcGF0aOKAnSDEkcOjIHThu5NuIHThuqFpIHThu6sgdHLGsOG7m2MgdsOgIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGtobyBnaXQgaOG7o3AgbOG7hyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCiBtc2dzdHIgIiIKICJUaMawIG3hu6VjIGdpdCBjaG8g4oCcJHNtX25hbWXigJ0gxJHGsOG7o2MgdMOsbSB0aOG6pXkgbeG7mXQgY8OhY2ggY+G7pWMgYuG7mSB24bubaSBjw6FjIG3DoXkgY2jhu6c6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKQEAgLTE0NDE3LDQ4ICsxNDgzMiw0OCBAQAogImhv4bq3YyBsw6AgYuG6oW4ga2jDtG5nIGNo4bqvYyBjaOG6r24gxJFp4buBdSDEkcOzIG5naMSpYSBsw6AgZ8OsIHRow6wgY2jhu41uIHTDqm4ga2jDoWMgduG7m2kgdMO5eSAiCiAiY2jhu41uIOKAnC0tbmFtZeKAnS4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAiIgogIlBo4bulYyBo4buTaSBz4buxIGhv4bqhdCDEkeG7mW5nIGPhu6dhIHRoxrAgbeG7pWMgZ2l0IG7hu5lpIGLhu5kgY2hvIG3DtC3EkXVuLWNvbiDigJwkc21fbmFtZeKAnS4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgcmEgbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0aMOqbSBtw7QtxJF1bi1jb24g4oCcJHNtX3BhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHEg25nIGvDvSB24bubaSBo4buHIHRo4buRbmcgbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLEkGFuZyB2w6BvIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIkThu6tuZyBs4bqhaSB04bqhaSDigJwkZGlzcGxheXBhdGjigJ07IHNjcmlwdCB0cuG6oyB24buBIHRy4bqhbmcgdGjDoWkga2jDoWMga2jDtG5nLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAixJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIHbDoCAtLWFsbCB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIkTDuW5nIOKAnC0tYWxs4oCdIG7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiBo4buneSBraOG7n2kgdOG6oW8gbeG7jWkgbcO0LcSRdW4tY29uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ0MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKQEAgLTE0NDY4LDcgKzE0ODgzLDcgQEAKICIoZMO5bmcg4oCccm0gLXJm4oCdIG7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiBn4buhIGLhu48gbsOzIGPDuW5nIHbhu5tpIHThuqV0IGPhuqMgbOG7i2NoIHPhu60gY+G7p2EgIgogImNow7puZykiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDUxCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gIgpAQCAtMTQ0NzcsMzkgKzE0ODkyLDM5IEBACiAiQ8OieSBsw6BtIHZp4buHYyBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5k7IGjDo3kgZMO5bmcg4oCcLSIKICJm4oCdIMSR4buDIGxv4bqhaSBi4buPIGNow7puZyDEkWkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIsSQw6MgdOG6oW8gdGjGsCBt4bulYyDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU1CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIGPDonkgbMOgbSB2aeG7h2MgbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDczCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyB04bqhbyB0aMawIG3hu6VjIG3DtC3EkXVuLWNvbiBy4buXbmcg4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ2NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIk3DtC3EkXVuLWNvbiDigJwkbmFtZeKAnSAoJHVybCkgxJHGsOG7o2MgYuG7jyDEkcSDbmcga8O9IGNobyDEkcaw4budbmcgZOG6q24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJLaMO0bmcgdMOsbSB0aOG6pXkgxJFp4buDbSB4w6l0IGR1eeG7h3QgaGnhu4duIGjDoG5oIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24gIgogIuKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV5IHbhu4EgdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkc21fcGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTQ1MTgsMTIgKzE0OTMzLDEyIEBACiAiS2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IMSRaeG7g20geMOpdCBkdXnhu4d0IGhp4buHbiBow6BuaCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gdHJvbmcgIgogIsSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJHNtX3BhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgduG7gSB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgpAQCAtMTQ1MzIsODYgKzE0OTQ3LDg2IEBACiAixJDDoyBs4bqleSB24buBIHThu6sgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuIGNvbiDigJwkZGlzcGxheXBhdGjigJ0sIG5oxrBuZyBuw7Mga2jDtG5nIGNo4bupYSAkc2hhMS4gIgogIkzhuqV5IHbhu4EgdGhlbyDEkeG7i25oIGjGsOG7m25nIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDsyBn4bq3cCBs4buXaS4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjY5CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSByYSDigJwkc2hhMeKAnSB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ06IMSRw6MgY2hlY2tvdXQg4oCcJHNoYTHigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njc0CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY+G6o2kgdOG7lSDigJwkc2hhMeKAnSB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIsSQxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdOiDEkcaw4bujYyByZWJhc2UgdsOgbyB0cm9uZyDigJwkc2hhMeKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyBow7JhIHRy4buZbiAobWVyZ2UpIOKAnCRzaGEx4oCdIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ06IMSRxrDhu6NjIGjDsmEgdHLhu5luIHbDoG8g4oCcJHNoYTHigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg2CisjOiBnaXQtc3VibW9kdWxlLnNoOjcwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiVGjhu7FjIGhp4buHbiBraMO0bmcgdGjDoG5oIGPDtG5nIGzhu4duaCDigJwkY29tbWFuZCAkc2hhMeKAnSB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uICIKICLigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg3CisjOiBnaXQtc3VibW9kdWxlLnNoOjcwMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgIsSQxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdOiDigJwkY29tbWFuZCAkc2hhMeKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHhu4cgcXV5IHbDoG8gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjg0MQogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIlTDuXkgY2jhu41uIC0tY2FjaGVkIGtow7RuZyB0aOG7gyBkw7luZyBjw7luZyB24bubaSB0w7l5IGNo4buNbiAtLWZpbGVzIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAiY2jhur8gxJHhu5kga2jDtG5nIG5oxrAgbW9uZyBjaOG7nSAkbW9kX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTEzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAgQ+G6o25oIGLDoW86ICRkaXNwbGF5X25hbWUga2jDtG5nIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgQ+G6o25oIGLDoW86ICRkaXNwbGF5X25hbWUga2jDtG5nIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKICIgIEPhuqNuaCBiw6FvOiAkZGlzcGxheV9uYW1lIGtow7RuZyBjaOG7qWEgbmjhu69uZyBs4bqnbiBjaHV54buDbiBnaWFvICRzaGExX3NyYyB2w6AgIgogIiRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDUxCisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4buHIHF1eSB2w6BvIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJHNtX3BhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTExOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJVcmwgTcO0LcSRdW4tY29uIMSR4buTbmcgYuG7mSBow7NhIGNobyDigJwkZGlzcGxheXBhdGjigJ0iCkBAIC0xNDkxNiwxMSArMTUzMzEsMTEgQEAKIG1zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCiBtc2dzdHIgIkhv4bq3YyBsw6AgYuG6oW4gY8OzIHRo4buDIGLDo2kgYuG7jyBs4bqnbiBj4bqjaSB04buVIHbhu5tpIGzhu4duaCDigJxnaXQgcmViYXNlIC0tYWJvcnTigJ0uIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDc5CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDgzCiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOzYSBi4buPIENIRVJSWV9QSUNLX0hFQUQiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODQKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0OTUxLDExICsxNTM2NiwxMSBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDEKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDUKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAiTOG7l2kga2hpIGPhu5EgdMOsbSDEkeG7i25oIGRhbmggY+G7p2EgdMOhYyBnaeG6oyDEkeG7gyB0dSBi4buVIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDYKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTAKIG1zZ2lkICIiCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKQEAgLTE0OTY0LDExICsxNTM3OSwxMSBAQAogIlZ1aSBsw7JuZyBjaHV54buDbiBnaWFvIGNow7puZyB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCDigJxnaXQgcmViYXNlIC0tY29udGludWXigJ0gbOG6p24gIgogIm7hu69hLiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExMSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTkKIG1zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGNodXnhu4NuIGdpYW8gY8OhYyB0aGF5IMSR4buVaSDEkcOjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTM5CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3CiBtc2dpZCAiIgogIlxuIgogIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgpAQCAtMTQ5ODIsMzkgKzE1Mzk3LDM5IEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ3IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMxMwogbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRo4buxYyB0aGkgdHLDrG5oIGJpw6puIHNv4bqhbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2MAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaGVja291dCAkc3dpdGNoX3RvIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTczCiBtc2dpZCAiTm8gSEVBRD8iCiBtc2dzdHIgIktow7RuZyBIRUFEPyIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgdOG6oW0gdGjhu51pICRzdGF0ZV9kaXIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzYKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSRw6FuaCBk4bqldSBsw6AgdMawxqFuZyB0w6FjIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc4IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODMKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODYgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE5MQogbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBnaGkgbOG6oWkiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyODMKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgogbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCiBtc2dzdHJbMF0gIkPhuqNpIHThu5UgJHNob3J0cmV2aXNpb25zIHbDoG8gJHNob3J0b250byAoY8OhYyBs4buHbmggJHRvZG9jb3VudCkiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyODgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTYKIG1zZ2lkICIiCiAiXG4iCiAiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKQEAgLTE1MDIzLDcgKzE1NDM4LDcgQEAKICJcbiIKICJUdXkgbmhpw6puLCBu4bq/dSBi4bqhbiB4w7NhIGLhu48gbeG7jWkgdGjhu6ksIHZp4buHYyBj4bqjaSB04buVIHPhur0gYuG7iyBiw6NpIGLhu48uXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTUKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDMKIG1zZ2lkICJOb3RlIHRoYXQgZW1wdHkgY29tbWl0cyBhcmUgY29tbWVudGVkIG91dCIKIG1zZ3N0ciAiQ2jDuiDDvSBy4bqxbmcgbOG6p24gY2h1eeG7g24gZ2lhbyB0cuG7kW5nIHLhu5duZyBsw6AgZ2hpIGNow7oiCiAKQEAgLTE1MDk0LDc3ICsxNTUwOSw3NyBAQAogbXNnc3RyICJLaMO0bmcgdGjhu4MgZMOyIHTDrG0gxJHGsOG7nW5nIGThuqtuIHR1eeG7h3QgxJHhu5FpIGPhu6dhIHRoxrAgbeG7pWMgZ2l0IgogCiAjLiBUUkFOU0xBVE9SUzogeW91IGNhbiBhZGp1c3QgdGhpcyB0byBhbGlnbiAiZ2l0IGFkZCAtaSIgc3RhdHVzIG1lbnUKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlMTJzICUxMnMgJXMiCiBtc2dzdHIgIiUxMnMgJTEycyAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3CiBtc2dpZCAic3RhZ2VkIgogbXNnc3RyICLEkcOjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmciCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInVuc3RhZ2VkIgogbXNnc3RyICJjaMawYSDEkcawYSBsw6puIGLhu4cgcGjDs25nIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNDYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzEKIG1zZ2lkICJiaW5hcnkiCiBtc2dzdHIgIm5o4buLIHBow6JuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMwNiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDkKIG1zZ2lkICJub3RoaW5nIgogbXNnc3RyICJraMO0bmcgY8OzIGfDrCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozNTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjkxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzA2CiBtc2dpZCAidW5jaGFuZ2VkIgogbXNnc3RyICJraMO0bmcgdGhheSDEkeG7lWkiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjUzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIsSRw6MgdGjDqm0gJWQgxJHGsOG7nW5nIGThuqtuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICLEkcOjIGPhuq1wIG5o4bqtdCAlZCDEkcaw4budbmcgZOG6q25cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAixJHDoyBob8OgbiBuZ3V5w6puICVkIMSRxrDhu51uZyBk4bqrblxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidG91Y2hlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInRvdWNoZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiJWQgxJHGsOG7nW5nIGThuqtuIMSRw6MgdG91Y2ggKGNo4bqhbSlcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIwCiBtc2dpZCAiVXBkYXRlIgogbXNnc3RyICJD4bqtcCBuaOG6rXQiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjgzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMgogbXNnaWQgIlJldmVydCIKIG1zZ3N0ciAiSG/DoG4gbmd1ecOqbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo3MDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCiBtc2dzdHIgImNow7ogw706ICVzIGdp4budIMSRw6MgYuG7jyB0aGVvIGTDtWkuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzE3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2NgogbXNnaWQgIkFkZCB1bnRyYWNrZWQiCiBtc2dzdHIgIlRow6ptIGPDoWMgY8OhaSBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzIzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MgogbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB04bqtcCB0aW4gbsOgbyBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5ODUKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YWdpbmcuIgpAQCAtMTUxNzIsNyArMTU1ODcsNyBAQAogIk7hur91IG1p4bq/bmcgdsOhIMSRxrDhu6NjIMOhcCBk4bulbmcgc+G6oWNoIHPhur0sIGh1bmsgxJHDoyBz4butYSBz4bq9IG5nYXkgbOG6rXAgdOG7qWNcbiIKICLEkcaw4bujYyDEkcOhbmggZOG6pXUgxJHhu4MgY2h1eeG7g24gbMOqbiBi4buHIHBow7NuZy4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo5ODgKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YXNoaW5nLiIKQEAgLTE1MTgwLDcgKzE1NTk1LDcgQEAKICJO4bq/dSBtaeG6v25nIHbDoSDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBodW5rIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCiAixJHGsOG7o2MgxJHDoW5oIGThuqV1IMSR4buDIHThuqFtIGPhuqV0LiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjk5MQogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgdW5zdGFnaW5nLiIKQEAgLTE1MTg4LDcgKzE1NjAzLDcgQEAKICJO4bq/dSBtaeG6v25nIHbDoSDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBodW5rIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCiAixJHGsOG7o2MgxJHDoW5oIGThuqV1IMSR4buDIGLhu48gY2h1eeG7g24gbMOqbiBi4buHIHBow7NuZy4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTk0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAwMwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgYXBwbHlpbmcuIgpAQCAtMTUxOTYsMTUgKzE1NjExLDcgQEAKICJO4bq/dSBtaeG6v25nIHbDoSDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBodW5rIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCiAixJHGsOG7o2MgxJHDoW5oIGThuqV1IMSR4buDIMOhcCBk4bulbmcuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKLW1zZ2lkICIiCi0iSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKLSJtYXJrZWQgZm9yIGRpc2NhcmRpbmciCi1tc2dzdHIgIiIKLSJO4bq/dSBtaeG6v25nIHbDoSDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBodW5rIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCi0ixJHGsOG7o2MgxJHDoW5oIGThuqV1IMSR4buDIGxv4bqhaSBi4buPIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAwMAogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgZGlzY2FyZGluZy4iCkBAIC0xNTIxMiwxNiArMTU2MTksMTYgQEAKICJO4bq/dSBtaeG6v25nIHbDoSDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBodW5rIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCiAixJHGsOG7o2MgxJHDoW5oIGThuqV1IMSR4buDIGxv4bqhaSBi4buPLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6rXAgdGluIHPhu61hIGh1bmsgxJHhu4MgZ2hpOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTQKIG1zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKIG1zZ3N0ciAiQ2jhur8gxJHhu5kgc+G7rWEgaHVuayBi4bqxbmcgdGF5IC0tIHhlbSDhu58gxJHDoXkgxJHhu4MgY8OzIGjGsOG7m25nIGThuqtuIHPhu60gZOG7pW5nIG5oYW5oLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiLS0tXG4iCkBAIC0xNTIzNSw3ICsxNTY0Miw3IEBACiAiTmjhu69uZyBkw7JuZyBi4bqvdCDEkeG6p3UgYuG6sW5nICVzIHPhur0gYuG7iyBsb+G6oWkgYuG7jy5cbiIKIAogIy4gVFJBTlNMQVRPUlM6ICdpdCcgcmVmZXJzIHRvIHRoZSBwYXRjaCBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzIG1lc3NhZ2VzLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDgyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMjgKIG1zZ2lkICIiCiAiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKICJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCkBAIC0xNTI0NSw3ICsxNTY1Miw3IEBACiAixJHhu4Mgc+G7rWEgbOG6p24gbuG7r2EuIE7hur91IG3hu41pIGTDsm5nIGPhu6dhIGh1bmsgYuG7iyB4w7NhIGLhu48sIHRo4bq/IHRow6wgbmjhu69uZ1xuIgogInPhu61hIGThu5VpIHPhur0gYuG7iyBsb+G6oWkgYuG7jywgdsOgIGh1bmsgduG6q24gZ2nhu68gbmd1ecOqbi5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHJlYWRpbmc6ICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyB04bqtcCB0aW4gaHVuayDEkeG7gyDEkeG7jWM6ICVzIgpAQCAtMTUyNTYsMTQgKzE1NjYzLDE0IEBACiAjLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcwogIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KICMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTg3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMzQKIG1zZ2lkICIiCiAiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCiBtc2dzdHIgIiIKICJIdW5rIMSRw6Mgc+G7rWEgY+G7p2EgYuG6oW4ga2jDtG5nIMSRxrDhu6NjIMOhcCBk4bulbmcuIFPhu61hIGzhuqFpIGzhuqduIG7hu69hIChuw7NpIFwiblwiIMSR4buDIGxv4bqhaSAiCiAiYuG7jyEpIFt5L25dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTQzCiBtc2dpZCAiIgogInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMTUyNzgsNyArMTU2ODUsNyBAQAogImQgLSDEkeG7q25nIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcgaHVuayBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gY8OybiBs4bqhaSB0cm9uZyB04bqtcCAiCiAidGluIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0OQogbXNnaWQgIiIKICJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKQEAgLTE1MjkyLDcgKzE1Njk5LDcgQEAKICJhIC0gdOG6oW0gY+G6pXQgaHVuayBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMgaHVuayBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW5cbiIKICJkIC0gxJHhu6tuZyB04bqhbSBj4bqldCBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpIHRyb25nIHThuq1wIHRpbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjA4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNTUKIG1zZ2lkICIiCiAieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMTUzMDgsNyArMTU3MTUsNyBAQAogImQgLSDEkeG7q25nIMSRxrBhIHJhIGto4buPaSBi4buHIHBow7NuZyBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpIHRyb25nICIKICJ04bqtcCB0aW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTYxCiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgpAQCAtMTUzMjIsNyArMTU3MjksNyBAQAogImEgLSDDoXAgZOG7pW5nIGh1bmsgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGh1bmsgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCiAiZCAtIMSR4burbmcgw6FwIGThu6VuZyBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTY3CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCkBAIC0xNTMzNiw3ICsxNTc0Myw3IEBACiAiYSAtIGxv4bqhaSBi4buPIGh1bmsgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGh1bmsgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCiAiZCAtIMSR4burbmcgbG/huqFpIGLhu48gaHVuayBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3MwogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0xNTM1MCw3ICsxNTc1Nyw3IEBACiAiYSAtIGxv4bqhaSBi4buPIGh1bmsgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGh1bmsgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCiAiZCAtIMSR4burbmcgbG/huqFpIGLhu48gaHVuayBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE3OQogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTUzNjQsNyArMTU3NzEsNyBAQAogImEgLSDDoXAgZOG7pW5nIGh1bmsgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGh1bmsgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCiAiZCAtIMSR4burbmcgw6FwIGThu6VuZyBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTg4CiBtc2dpZCAiIgogImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCiAiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgpAQCAtMTUzODYsMjAwICsxNTc5MywyMDAgQEAKICJlIC0gc+G7rWEgYuG6sW5nIHRheSBodW5rIGhp4buHbiBow6BuaFxuIgogIj8gLSBpbiB0cuG7oyBnacO6cFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxOQogbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgogbXNnc3RyICJDw6FjIGh1bmsgxJHDoyBjaOG7jW4ga2jDtG5nIMSRxrDhu6NjIMOhcCBk4bulbmcgdsOgbyBi4bqjbmcgbeG7pWMgbOG7pWMhXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIwCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgIlbhuqtuIMOhcCBk4bulbmcgY2jDum5nIGNobyBjw6J5IGzDoG0gdmnhu4djPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIzCiBtc2dpZCAiTm90aGluZyB3YXMgYXBwbGllZC5cbiIKIG1zZ3N0ciAixJDDoyBraMO0bmcgw6FwIGThu6VuZyBnw6wgY+G6oy5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjg3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCiBtc2dzdHIgImLhu48gcXVhIG5o4buvbmcgdGjhu6kgY2jGsGEgaMOyYSB0cuG7mW46ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQzCiBtc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKIG1zZ3N0ciAiQ2jhu4kgY8OzIGPDoWMgdOG6rXAgdGluIG5o4buLIHBow6JuIGzDoCB0aGF5IMSR4buVaS5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDUKIG1zZ2lkICJObyBjaGFuZ2VzLlxuIgogbXNnc3RyICJLaMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8uXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjUzCiBtc2dpZCAiUGF0Y2ggdXBkYXRlIgogbXNnc3RyICJD4bqtcCBuaOG6rXQgbWnhur9uZyB2w6EiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIlRoYXkgxJHhu5VpIGNo4bq/IMSR4buZIGLhu4cgcGjDs25nIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIljDs2Ega2jhu49pIGLhu4cgcGjDs25nIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLEkMawYSBsw6puIGLhu4cgcGjDs25nIGh1bmsgbsOgeSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJUaGF5IMSR4buVaSBjaOG6vyDEkeG7mSB04bqhbSBj4bqldCDEkWkgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiWMOzYSB04bqhbSBj4bqldCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiVOG6oW0gY+G6pXQgaHVuayBuw6B5IFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiVGhheSDEkeG7lWkgY2jhur8gxJHhu5kgYuG7jyByYSBraOG7j2kgYuG7hyBwaMOzbmcgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJYw7NhIGLhu48gdmnhu4djIGLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nIGh1bmsgbsOgeSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLDgXAgZOG7pW5nIHRoYXkgxJHhu5VpIGNo4bq/IMSR4buZIGNobyBt4bulYyBs4bulYyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLDgXAgZOG7pW5nIHZp4buHYyB4w7NhIHbDoG8gbeG7pWMgbOG7pWMgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIsOBbyBk4bulbmcgaHVuayBuw6B5IHbDoG8gbeG7pWMgbOG7pWMgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkxv4bqhaSBi4buPIGPDoWMgdGhheSDEkeG7lWkgY2jhur8gxJHhu5kgdOG7qyBjw6J5IGzDoG0gdmnhu4djIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJMb+G6oWkgYuG7jyB2aeG7h2MgeMOzYSBraOG7j2kgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkxv4bqhaSBi4buPIGh1bmsgbsOgeSBraOG7j2kgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIkxv4bqhaSBi4buPIHRoYXkgxJHhu5VpIGNo4bq/IMSR4buZIHThu6sgbeG7pWMgbOG7pWMgdsOgIGPDonkgbMOgbSB2aeG7h2MgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICJMb+G6oWkgYuG7jyB2aeG7h2MgeMOzYSBraOG7j2kgbeG7pWMgbOG7pWMgdsOgIGPDonkgbMOgbSB2aeG7h2MgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzg1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiTG/huqFpIGLhu48gaHVuayBuw6B5IGto4buPaSBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAiIgogIsOBcCBk4bulbmcgdGhheSDEkeG7lWkgY2jhur8gxJHhu5kgY2hvIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLDgXAgZOG7pW5nIHZp4buHYyB4w7NhIHbDoG8gbeG7pWMgbOG7pWMgdsOgIGPDonkgbMOgbSB2aeG7h2MgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLDgXAgZOG7pW5nIGh1bmsgbsOgeSB2w6BvIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ5MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCiBtc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCiBtc2dzdHIgIm5o4bqjeSDEkeG6v24gaHVuayBuw6BvICg8cmV0PiDEkeG7gyB4ZW0gdGjDqm0pPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQyCiBtc2dpZCAiZ28gdG8gd2hpY2ggaHVuaz8gIgogbXNnc3RyICJuaOG6o3kgxJHhur9uIGh1bmsgbsOgbz8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUwNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDUxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkludmFsaWQgbnVtYmVyOiAnJXMnXG4iCiBtc2dzdHIgIlPhu5Ega2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUwOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgogbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCiBtc2dzdHJbMF0gIlLhuqV0IHRp4bq/YywgY2jhu4kgY8OzIHPhurVuICVkIGh1bmsuLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ4MgogbXNnaWQgInNlYXJjaCBmb3IgcmVnZXg/ICIKIG1zZ3N0ciAidMOsbSBraeG6v20gY2hvIHJlZ2V4PyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBzZWFyY2ggcmVnZXhwICVzOiAlc1xuIgogbXNnc3RyICLEkOG7i25oIGThuqFuZyB0w6xtIGtp4bq/bSBj4bunYSBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkga2jDtG5nIMSRw7puZyAlczogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDUKIG1zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKIG1zZ3N0ciAiS2jDtG5nIHRo4bqleSBodW5rIG7DoG8ga2jhu5twIG3huqt1IMSRw6MgY2hvXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUxNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzkKIG1zZ2lkICJObyBwcmV2aW91cyBodW5rXG4iCiBtc2dzdHIgIktow7RuZyBjw7MgaHVuayBr4bq/IHRyxrDhu5tjXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyNiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKIG1zZ2lkICJObyBuZXh0IGh1bmtcbiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBodW5rIGvhur8gdGnhur9wXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTUzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNwbGl0IGludG8gJWQgaHVuay5cbiIKIG1zZ2lkX3BsdXJhbCAiU3BsaXQgaW50byAlZCBodW5rcy5cbiIKIG1zZ3N0clswXSAiQ2hpIG5o4buPIHRow6BuaCAlZCBodW5rcy5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MDUKIG1zZ2lkICJSZXZpZXcgZGlmZiIKIG1zZ3N0ciAiWGVtIHjDqXQgbOG6oWkgZGlmZiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBkbyBub3QgdHJhbnNsYXRlIHRoZSBjb21tYW5kIG5hbWVzCiAjLiAnc3RhdHVzJywgJ3VwZGF0ZScsICdyZXZlcnQnLCBldGMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NzcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYyNAogbXNnaWQgIiIKICJzdGF0dXMgICAgICAgIC0gc2hvdyBwYXRocyB3aXRoIGNoYW5nZXNcbiIKICJ1cGRhdGUgICAgICAgIC0gYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzXG4iCiAicmV2ZXJ0ICAgICAgICAtIHJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uXG4iCiAicGF0Y2ggICAgICAgICAtIHBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseVxuIgotImRpZmZcdCAgICAgIC0gdmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXhcbiIKKyJkaWZmICAgICAgICAgIC0gdmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXhcbiIKICJhZGQgdW50cmFja2VkIC0gYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiAiCiAiY2hhbmdlc1xuIgogbXNnc3RyICIiCkBAIC0xNTU5Myw4NCArMTYwMDAsODQgQEAKICJhZGQgdW50cmFja2VkIC0gdGjDqm0gbuG7mWkgZHVuZyBjw6FjIGPDoWMgdOG6rXAgdGluIGNoxrBhIHRoZW8gZMO1aSB2w6AgdOG6rXAgaOG7o3AgY8OhYyAiCiAidGhheSDEkeG7lWkgxJHDoyDEkeG6t3QgbMOqbiBi4buHIHBow7NuZ1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjk5Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzA5Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY2CiBtc2dpZCAibWlzc2luZyAtLSIKIG1zZ3N0ciAidGhp4bq/dSAtLSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICJraMO0bmcgaGnhu4N1IGNo4bq/IMSR4buZIC0tcGF0Y2g6ICVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjc0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImludmFsaWQgYXJndW1lbnQgJXMsIGV4cGVjdGluZyAtLSIKIG1zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgJXMsIGPhuqduIC0tIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjYKIG1zZ2lkICJsb2NhbCB6b25lIGRpZmZlcnMgZnJvbSBHTVQgYnkgYSBub24tbWludXRlIGludGVydmFsXG4iCiBtc2dzdHIgIm3DumkgZ2nhu50gbuG7mWkgYuG7mSBraMOhYyBiaeG7h3QgduG7m2kgR01UIGLhu59pIGtob+G6o25nIHRo4budaSBnaWFuIGtow7RuZy1waMO6dFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMzkKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAia2hv4bqjbmcgYsO5IHRo4budaSBnaWFuIG7hu5lpIGLhu5kgbOG7m24gaMahbiBob+G6t2MgYuG6sW5nIDI0IGdp4budXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIxNAogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAidHLDrG5oIHNv4bqhbiB0aOG6o28gdGhvw6F0IGtow7RuZyBz4bqhY2ggc+G6vSwgYsOjaSBi4buPIG3hu41pIHRo4bupIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI4MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKIG1zZ3N0ciAi4oCcJXPigJ0gY8OzIGNoxrBhIG3hu5l0IHBoacOqbiBi4bqjbiB0cnVuZyBnaWFuIGPhu6dhIHRoxrAgYuG6oW4gxJHDoyBzb+G6oW4uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mjg3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI5NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKIG1zZ3N0ciAi4oCcJXMuZmluYWzigJ0gY2jhu6lhIHRoxrAgxJFp4buHbiB04butIMSRw6Mgc2/huqFuIHRo4bqjby5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzE0CiBtc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgogbXNnc3RyICItLWR1bXAtYWxpYXNlcyB4dW5nIGto4bqvYyB24bubaSBjw6FjIHTDuXkgY2jhu41uIGtow6FjXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzY4IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM3OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaOG6oXkgZ2l0IGZvcm1hdC1wYXRjaCDhu58gbmdvw6BpIG3hu5l0IGtobyBjaOG7qWFcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0MzcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgogbXNnc3RyICJLaMO0bmcgaGnhu4N1IHRyxrDhu51uZyAtLXN1cHByZXNzLWNjOiDigJwlc+KAnVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ2NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLWNvbmZpcm0gc2V0dGluZzogJyVzJ1xuIgogbXNnc3RyICJLaMO0bmcgaGnhu4N1IGPDoGkgxJHhurd0IC0tY29uZmlybTog4oCcJXPigJ1cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTA5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGFsaWFzIHdpdGggcXVvdGVzIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgImPhuqNuaCBiw6FvOiBiw60gZGFuaCBzZW5kbWFpbCB24bubaSBk4bqldSB0csOtY2ggZOG6q24ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6M6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTAwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgOmluY2x1ZGU6YCBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICJj4bqjbmggYsOhbzog4oCcOmluY2x1ZGU64oCcIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYC9maWxlYCBvciBgfHBpcGVgIHJlZGlyZWN0aW9uIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgImPhuqNuaCBiw6FvOiBjaHV54buDbiBoxrDhu5tuZyDigJwvZmlsZeKAnCBoYXkg4oCcfHBpcGXigJwga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6M6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTA3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICJj4bqjbmggYsOhbzogZMOybmcgc2VuZG1haWwga2jDtG5nIG5o4bqtbiByYSDEkcaw4bujYzogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1ODkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjAwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJGaWxlICclcycgZXhpc3RzIGJ1dCBpdCBjb3VsZCBhbHNvIGJlIHRoZSByYW5nZSBvZiBjb21taXRzXG4iCkBAIC0xNTY4NSwxMiArMTYwOTIsMTIgQEAKICIgICAgKiBOw7NpIFwiLi8lc1wiIG7hur91IMO9IGLhuqFuIGzDoCBt4buZdCB04bqtcCB0aW47IGhv4bq3Y1xuIgogIiAgICAqIMSQxrBhIHJhIHTDuXkgY2jhu41uIC0tZm9ybWF0LXBhdGNoIG7hur91IMO9IGLhuqFuIGzDoCBjaHXhuqluIGLhu4suXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjEwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBt4bufIHRoxrAgbeG7pWMg4oCcJXPigJ06ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogImZhdGFsOiAlczogJXNcbiIKQEAgLTE1Njk5LDcgKzE2MTA2LDcgQEAKICJuZ2hpw6ptIHRy4buNbmc6ICVzOiAlc1xuIgogImPhuqNuaCBiw6FvOiBraMO0bmcgY8OzIG1p4bq/bmcgdsOhIG7DoG8gxJHGsOG7o2MgZ+G7rWkgxJFpXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjQ1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY1NgogbXNnaWQgIiIKICJcbiIKICJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCkBAIC0xNTcwOSwxNyArMTYxMTYsMTcgQEAKICJDaMawYSBjaOG7iSDEkeG7i25oIGPDoWMgdOG6rXAgdGluIG1p4bq/bmcgdsOhIVxuIgogIlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY1OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTm8gc3ViamVjdCBsaW5lIGluICVzPyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBkw7JuZyBjaOG7pyDEkeG7gSB0cm9uZyAlcz8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBt4bufIOKAnCVz4oCdIMSR4buDIGdoaTogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njc4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4OQogbXNnaWQgIiIKICJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgogIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCkBAIC0xNTczMywzMSArMTYxNDAsMzEgQEAKICJcbiIKICJYw7NhIG7hu5lpIGR1bmcgcGjhuqduIHRow6JuIG7hur91IGLhuqFuIGtow7RuZyBtdeG7kW4gZ+G7rWkgdMOzbSB04bqvdC5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIG3hu58gJXMuZmluYWw6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgbeG7nyDigJwlc+KAnTogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc1MAogbXNnaWQgIlRvL0NjL0JjYyBmaWVsZHMgYXJlIG5vdCBpbnRlcnByZXRlZCB5ZXQsIHRoZXkgaGF2ZSBiZWVuIGlnbm9yZWRcbiIKIG1zZ3N0ciAiQ8OhYyB0csaw4budbmcgVG8vQ2MvQmNjIGtow7RuZyDEkcaw4bujYyBwaGnDqm4gZOG7i2NoLCBjaMO6bmcgYuG7iyBi4buPIHF1YVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NTkKIG1zZ2lkICJTdW1tYXJ5IGVtYWlsIGlzIGVtcHR5LCBza2lwcGluZyBpdFxuIgogbXNnc3RyICJUaMawIHThu5VuZyB0aOG7gyBsw6AgdHLhu5FuZyBy4buXbmcsIG7Dqm4gYuG7jyBxdWEgbsOzXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCBbeS9OXSBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzgwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc5MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdXNlIDwlcz4gW3kvTl0/ICIKIG1zZ3N0ciAiQuG6oW4gY8OzIGNo4bqvYyBtdeG7kW4gZMO5bmcgPCVzPiBbeS9OXT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCkBAIC0xNTc2NSwxMSArMTYxNzIsMTEgQEAKICJDw6FjIHRyxrDhu51uZyBzYXUgxJHDonkgbMOgIDhiaXQsIG5oxrBuZyBraMO0bmcga2hhaSBiw6FvIG3hu5l0IENvbnRlbnQtVHJhbnNmZXItIgogIkVuY29kaW5nLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgxNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKIG1zZ2lkICJXaGljaCA4Yml0IGVuY29kaW5nIHNob3VsZCBJIGRlY2xhcmUgW1VURi04XT8gIgogbXNnc3RyICJC4bqjbmcgbcOjIDhiaXQgbsOgbyB0w7RpIG7Dqm4ga2hhaSBiw6FvIFtVVEYtOF0/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODMzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJSZWZ1c2luZyB0byBzZW5kIGJlY2F1c2UgdGhlIHBhdGNoXG4iCkBAIC0xNTc4MiwyMCArMTYxODksMjAgQEAKICJjw7MgY2jhu6cgxJHhu4Eg4bufIGThuqFuZyBt4bqrdSDigJwqKiogU1VCSkVDVCBIRVJFICoqKuKAnS4gRMO5bmcgLS1mb3JjZSBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSAiCiAibXXhu5FuIGfhu61pLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg0MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NTIKIG1zZ2lkICJUbyB3aG9tIHNob3VsZCB0aGUgZW1haWxzIGJlIHNlbnQgKGlmIGFueW9uZSk/IgogbXNnc3RyICJU4bubaSBuZ8aw4budaSBtw6AgdGjGsCDEkcaw4bujYyBn4butaSAobuG6v3UgY8OzKT8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgogbXNnc3RyICJuZ2hpw6ptIHRy4buNbmc6IGLDrSBkYW5oIOKAnCVz4oCdIMSRxrDhu6NjIGtoYWkgdHJp4buDbiB0aMOgbmggY2jDrW5oIG7Ds1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODIKIG1zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgogbXNnc3RyICJNZXNzYWdlLUlEIMSRxrDhu6NjIGTDuW5nIG5oxrAgbMOgIEluLVJlcGx5LVRvIGNobyB0aMawIMSR4bqndSB0acOqbiAobuG6v3UgY8OzKT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzIgZ2l0LXNlbmQtZW1haWwucGVybDo5NDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVuYWJsZSB0byBleHRyYWN0IGEgdmFsaWQgYWRkcmVzcyBmcm9tOiAlc1xuIgogbXNnc3RyICJs4buXaToga2jDtG5nIHRo4buDIHLDunQgdHLDrWNoIG3hu5l0IMSR4buLYSBjaOG7iSBo4bujcCBs4buHIHThu6s6ICVzXG4iCkBAIC0xNTgwMywxNiArMTYyMTAsMTYgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQ0CiBtc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgogbXNnc3RyICJMw6BtIGfDrCB24bubaSDEkeG7i2EgY2jhu4kgbsOgeT8gKHRob8OhdFtxXXx4w7NhW2RdfHPhu61hW2VdKTogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyMzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI0NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIENBIOKAnCVz4oCdIGtow7RuZyB04buTbiB04bqhaSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzA5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjAKIG1zZ2lkICIiCiAiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKICIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgpAQCAtMTU4MzksMTI5ICsxNjI0NiwyNjcgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtxXSBbYV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM1CiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsPyAoW3ldZXN8W25db3xbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIkfhu61pIHRoxrAgbsOgeSBjaOG7qT8gKFt5XWPDs3xbbl1raMO0bmd8W3FddGhvw6F0fFthXXThuqV0KTogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMzOAogbXNnaWQgIlNlbmQgdGhpcyBlbWFpbCByZXBseSByZXF1aXJlZCIKIG1zZ3N0ciAiR+G7rWkgdGjGsCBuw6B5IHRy4bqjIGzhu51pIHnDqnUgY+G6p3UiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM1MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzY0CiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAiTcOheSBwaOG7pWMgduG7pSBTTVRQIGNoxrBhIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIG3hu5l0IGPDoWNoIHRow61jaCBo4bujcC4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM5NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKIG1zZ3N0ciAiTcOheSBjaOG7pyBraMO0bmcgaOG7lyB0cuG7oyBTVEFSVFRMUyEgJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQwMworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDE2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyMAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTVEFSVFRMUyBmYWlsZWQhICVzIgorbXNnc3RyICJTVEFSVFRMUyBn4bq3cCBs4buXaSEgJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAogbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIFNNVFAgbeG7mXQgY8OhY2ggxJHDum5nIMSR4bqvbi4gS2nhu4NtIHRyYSBj4bqldSBow6xuaCB2w6AgZMO5bmcgLS1zbXRwLSIKICJkZWJ1Zy4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBzZW5kICVzXG4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBn4butaSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEcnktU2VudCAlc1xuIgogbXNnc3RyICJUaOG7rSBn4butaSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIkfhu61pICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUzCiBtc2dpZCAiRHJ5LU9LLiBMb2cgc2F5czpcbiIKIG1zZ3N0ciAiRHJ5LU9LLiBOaOG6rXQga8O9IG7Ds2kgcuG6sW5nOlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MwogbXNnaWQgIk9LLiBMb2cgc2F5czpcbiIKIG1zZ3N0ciAiT0suIE5o4bqtdCBrw70gbsOzaSBy4bqxbmc6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDY1CiBtc2dpZCAiUmVzdWx0OiAiCiBtc2dzdHIgIkvhur90IHF14bqjOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ0MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDY4CiBtc2dpZCAiUmVzdWx0OiBPS1xuIgogbXNnc3RyICJL4bq/dCBxdeG6ozogVOG7kXRcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDU0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0ODEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBmaWxlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4g4oCcJXPigJ0iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG1ib3gpIFRow6ptIGNjOiAlcyB04burIGTDsm5nIOKAnCVz4oCdXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSDEkGFuZyB0aMOqbSB0bzogJXMgdOG7qyBkw7JuZyDigJwlc+KAnVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU4MgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobm9uLW1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG5vbi1tYm94KSBUaMOqbSBjYzogJXMgdOG7qyBkw7JuZyDigJwlc+KAnVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoYm9keSkgVGjDqm0gY2M6ICVzIHThu6sgZMOybmcg4oCcJXPigJ1cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjc2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBDb3VsZCBub3QgZXhlY3V0ZSAnJXMnIgogbXNnc3RyICIoJXMpIEtow7RuZyB0aOG7gyB0aOG7sWMgdGhpIOKAnCVz4oCdIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIEFkZGluZyAlczogJXMgZnJvbTogJyVzJ1xuIgogbXNnc3RyICIoJXMpIMSQYW5nIHRow6ptICVzOiAlcyB04burOiDigJwlc+KAnVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIGZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICclcyciCiBtc2dzdHIgIiglcykgZ+G6t3AgbOG7l2kga2hpIMSRw7NuZyDEkcaw4budbmcg4buRbmcgxJHhur9uIOKAnCVz4oCdIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0OQogbXNnaWQgImNhbm5vdCBzZW5kIG1lc3NhZ2UgYXMgN2JpdCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IGfhu61pIHRoxrAgZOG6oW5nIDcgYsOtdCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NTcKIG1zZ2lkICJpbnZhbGlkIHRyYW5zZmVyIGVuY29kaW5nIgogbXNnc3RyICJi4bqjbmcgbcOjIHRydXnhu4FuIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDEgZ2l0LXNlbmQtZW1haWwucGVybDoxNzkyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg0NiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufICVzOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc5OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgogbXNnc3RyICIlczogbWnhur9uZyB2w6EgY8OzIGNo4bupYSBkw7JuZyBkw6BpIGjGoW4gOTk4IGvDvSB04buxIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKIG1zZ3N0ciAiQuG7jyBxdWEgJXMgduG7m2kgaOG6rXUgdOG7kSBzYW8gbMawdSBk4buxIHBow7JuZyDigJwlc+KAnS5cbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwICJbeXxOXSIgYXMgaXMuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKIG1zZ3N0ciAiQuG6oW4gY8OzIHRo4buxYyBz4buxIG114buRbiBn4butaSAlcz8gW3l8Tl06ICIKIAorI34gbXNnaWQgIiUiCisjfiBtc2dpZF9wbHVyYWwgIiUiCisjfiBtc2dzdHJbMF0gIiUiCisKKyN+IG1zZ2lkICIlcywgJSIKKyN+IG1zZ2lkX3BsdXJhbCAiJXMsICUiCisjfiBtc2dzdHJbMF0gIiVzLCAlIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4g4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCisjfiBtc2dzdHIgInRyb25nICUwLjFmIGdpw6J5IG3hu5l0IGPDoWNoIHThu7EgxJHhu5luZ+KApiIKKworI34gbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZHVwMiglZCwlZCkgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCisjfiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8ga2jhu59pIHThuqFvIHRyw6puICIKKworI34gbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgorI34gbXNnc3RyICJNaeG6v25nIHbDoSB0cuG7kW5nIHLhu5duZy4gUXXDoSB0csOsbmggY2hpYSBuaOG7jyBtaeG6v25nIHbDoSBjw7MgbOG7l2k/IgorCisjfiBtc2dpZCAiIgorI34gIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCisjfiAiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCisjfiBtc2dzdHIgIiIKKyN+ICJC4bqhbiB24bqrbiBjw7Mgbmjhu69uZyDEkcaw4budbmcgZOG6q24gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4gdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIGPhu6dhICIKKyN+ICJtw6xuaC5cbiIKKyN+ICJC4bqhbiDEkcOjIHF1w6puIHPhu60gZOG7pW5nIGzhu4duaCDigJxnaXQgYWRk4oCdIMOgPyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKKyN+ICJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKKyN+IG1zZ3N0ciAiIgorI34gIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgdsOgIGNodXnhu4NuIHRow6BuaCBuaMOhbmgg4oCcJXPigJ0gY8O5bmcgbMO6Y1xuIgorI34gIkLhuqFuIMSRw6MgY8OzIMO9IMSR4buLbmggY2hlY2tvdXQg4oCcJXPigJ0gY8OhaSBtw6Aga2jDtG5nIHRo4buDIMSRxrDhu6NjIHBow6JuIGdp4bqjaSBuaMawIGzDoCBs4bqnbiAiCisjfiAiY2h1eeG7g24gZ2lhbz8iCisKKyN+IG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgorI34gbXNnc3RyICIiCisjfiAiTmjhu69uZyDEkcaw4budbmcgZOG6q24gcsO1IHLDoG5nIMSRxrDhu6NjIGNo4buJIHJhIGtow7RuZyBjw7MgdMO5eSBjaOG7jW4gLWkgY8Wpbmcga2jDtG5nIC1vOyAiCisjfiAiY29pIGzDoCAtLW9ubHkgbmjhu69uZyDEkcaw4budbmcgZOG6q24iCisKKyN+IG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKKyN+IG1zZ3N0ciAiY2jhur8gxJHhu5kgbeG6t2MgxJHhu4tuaCBjaG8gxJHhu4cgcXVpIgorCisjfiBtc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKKyN+IG1zZ3N0ciAibOG7h25oIGNvbiBzdWJtb2R1bGUtLWhlbHBlciBwaOG6o2kgxJHGsOG7o2MgZ+G7jWkgduG7m2kgbeG7mXQgbOG7h25oIGNvbiIKKworI34gbXNnaWQgInRhZzogdGFnZ2luZyAiCisjfiBtc2dzdHIgInRo4bq7OiDEkWFuZyDEkcOhbmggdGjhursiCisKKyN+IG1zZ2lkICJvYmplY3Qgb2YgdW5rbm93biB0eXBlIgorI34gbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgY+G7p2Ega2nhu4N1IGNoxrBhIGJp4bq/dCIKKworI34gbXNnaWQgImNvbW1pdCBvYmplY3QiCisjfiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyBs4bqnbiBjaHV54buDbiBnaWFvIgorCisjfiBtc2dpZCAidHJlZSBvYmplY3QiCisjfiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyBjw6J5IgorCisjfiBtc2dpZCAiYmxvYiBvYmplY3QiCisjfiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyBibG9iIgorCisjfiBtc2dpZCAib3RoZXIgdGFnIG9iamVjdCIKKyN+IG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIHRo4bq7IGtow6FjIgorCisjfiBtc2dpZCAiIgorI34gIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCisjfiAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKKyN+IG1zZ3N0ciAiIgorI34gIuG7niDEkcOieSBraMO0bmcgY8OzIGfDrCBi4buLIGxv4bqhaSB0cuG7qyBi4bufaTogY8OhYyBt4bqrdSAobG/huqFpIHRy4burKS5cbiIKKyN+ICJDw7MgbOG6vSBi4bqhbiDEkcOjIHF1w6puIHRow6ptIGhv4bq3YyBsw6Ag4oCcOi/igJ0gaG/hurdjIGzDoCDigJwu4oCdPyIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQ6ICUlKCVzKSIKKyN+IG1zZ3N0ciAia2jDtG5nIG5o4bqtbiByYSDEkeG7i25oIGThuqFuZzogJSUoJXMpIgorCisjfiBtc2dpZCAiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgIjpzdHJpcD0gY+G6p24gbeG7mXQgxJHhu5FpIHPhu5Egbmd1ecOqbiBkxrDGoW5nIgorCisjfiBtc2dpZCAicmVmICclcycgZG9lcyBub3QgaGF2ZSAlbGQgY29tcG9uZW50cyB0byA6c3RyaXAiCisjfiBtc2dzdHIgInRoYW0gY2hp4bq/dSDigJwlc+KAnSBraMO0bmcgY8OzICVsZCB0aMOgbmggcGjhuqduIMSR4buDIG3DoCA6c3RyaXAiCisKKyN+IG1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgorI34gbXNnc3RyICJLaMO0bmcgaGnhu4N1IMSR4buLbmggZOG6oW5nICUuKnMgJXMiCisKKyN+IG1zZ2lkICJbJXM6IGdvbmVdIgorI34gbXNnc3RyICJbJXM6IMSRw6MgcmEgxJFpXSIKKworI34gbXNnaWQgIlslc10iCisjfiBtc2dzdHIgIlslc10iCisKKyN+IG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCisjfiBtc2dzdHIgIlslczogxJHhu6luZyBzYXUgJWRdIgorCisjfiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCisjfiBtc2dzdHIgIlslczogcGjDrWEgdHLGsOG7m2MgJWRdIgorCisjfiBtc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKKyN+IG1zZ3N0ciAiWyVzOiB0csaw4bubYyAlZCwgc2F1ICVkXSIKKworI34gbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCisjfiBtc2dzdHIgIiAqKioqIHRoYW0gY2hp4bq/dSBraMO0bmcgaOG7o3AgbOG7hyAqKioqIgorCisjfiBtc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCisjfiBtc2dzdHIgInRoxrAgbeG7pWMgxJHhu5FpIHTGsOG7o25nIGTDoGkgbeG7mXQgY8OhY2ggxJFpw6puIHLhu5MgJS4qcyIKKworI34gbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgorI34gbXNnc3RyICJnaXQgbWVyZ2UgWzxjw6FjLXTDuXktY2jhu41uPl0gPHRpbi1uaOG6r24+IEhFQUQgPGNvbW1pdD4iCisKKyN+IG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKKyN+IG1zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gY29tbWl0IChjaHV54buDbiBnaWFvKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIOKAnCVz4oCdIgorCisjfiBtc2dpZCAiY291bGQgbm90IGNsb3NlIGZpbGUgJXMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgdOG6rXAgdGluICVzIgorCisjfiBtc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCisjfiBtc2dzdHIgInTDqm4gdGjhursgcXXDoSBkw6BpOiAlLipz4oCmIgorCisjfiBtc2dpZCAidGFnIGhlYWRlciB0b28gYmlnLiIKKyN+IG1zZ3N0ciAicGjhuqduIMSR4bqndSB0aOG6uyBxdcOhIGzhu5tuLiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorI34gIm1hcmtlZCBmb3IgZGlzY2FyZGluZyIKKyN+IG1zZ3N0ciAiIgorI34gIk7hur91IG1p4bq/bmcgdsOhIMSRxrDhu6NjIMOhcCBk4bulbmcgc+G6oWNoIHPhur0sIGh1bmsgxJHDoyBz4butYSBz4bq9IG5nYXkgbOG6rXAgdOG7qWNcbiIKKyN+ICLEkcaw4bujYyDEkcOhbmggZOG6pXUgxJHhu4MgbG/huqFpIGLhu48iCisKICN+IG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGJsYW5rLWxpbmUtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCiAjfiBtc2dzdHIgIiIKICN+ICJEw7luZyBt4buZdCBwaOG7j25nIMSRb8OhbiBk4buxYSB0csOqbiBkw7JuZyB0cuG6r25nIHRo4butIG5naGnhu4dtIMSR4buDIHTEg25nIGPGsOG7nW5nIGPDoWMgZGlmZiIKQEAgLTE2NTM4LDkgKzE3MDgzLDYgQEAKICN+IG1zZ2lkICJGYWlsZWQgdG8gY2hkaXI6ICVzIgogI34gbXNnc3RyICJH4bq3cCBs4buXaSB24bubaSBs4buHbmggY2hkaXI6ICVzIgogCi0jfiBtc2dpZCAiY2Fubm90IHRlbGwgY3dkIgotI34gbXNnc3RyICJraMO0bmcgbsOzaSBjaHV54buHbiDEkcaw4bujYyB24bubaSBs4buHbmggY3dkIgotCiAjfiBtc2dpZCAiJXM6IGNhbm5vdCBsb2NrIHRoZSByZWYiCiAjfiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4Mga2jDs2EgcmVmICh0aGFtIGNoaeG6v3UpIgogCmRpZmYgLS1naXQgYS9wby96aF9DTi5wbyBiL3BvL3poX0NOLnBvCmluZGV4IDYyMmI2MWMuLjUxZjViYzkgMTAwNjQ0Ci0tLSBhL3BvL3poX0NOLnBvCisrKyBiL3BvL3poX0NOLnBvCkBAIC0xMCw2ICsxMCw3IEBACiAjICAgLSBUaHluc29uIDxsYW54aW5nY2FuIEFUIGdtYWlsLmNvbT4KICMgICAtIHdzMzM4OSA8d2lsbHNtaXRoMzM4OSBBVCBnbWFpbC5jb20+CiAjICAgLSBXYW5nIFNoZW5nIDx3YW5nc2hlbmcyMDA4bG92ZSBBVCAxNjMuY29tPgorIyAgIC0g5L6d5LqRIDxsaWx5ZGp3ZyBBVCBnbWFpbC5jb20+CiAjICAgLSBZaWNoYW8gWXUgPHl5YzE5OTIgQVQgZ21haWwuY29tPgogIyAgIC0gWmh1YW5nIFlhIDx6aHVhbmd5YSBBVCBtZS5jb20+CiAjCkBAIC0xMTIsNyArMTEzLDcgQEAKICMgICBzbWFydCBIVFRQIHByb3RvY29sICAgICAgICAgICAgICB8ICDmmbrog70gSFRUUCDljY/orq4KICMgICBzcXVhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDljovnvKkKICMgICBzdGFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBuLiDmmoLlrZjljLrvvIjljbPntKLlvJXvvIk7IHYuIOaaguWtmAotIyAgIHN0YXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG4uIOi/m+W6puS/neWtmDsgdi4g5L+d5a2Y6L+b5bqmCisjICAgc3Rhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbi4g6LSu6JeP5Yy6OyB2LiDotK7ol48KICMgICBzdWJtb2R1bGUgICAgICAgICAgICAgICAgICAgICAgICB8ICDlrZDmqKHnu4QKICMgICBzeW1yZWYgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDnrKblj7flvJXnlKgKICMgICB0YWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBuLiDmoIfnrb47IHYuIOaJk+agh+etvgpAQCAtMTM1LDggKzEzNiw4IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IEdpdFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTE4IDAxOjAwKzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTAyLTI1IDAwOjEwKzA4MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wNy0yNCAyMTo1NCswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNy0wOC0wMiAwODowMCswODAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBKaWFuZyBYaW4gPHdvcmxkaGVsbG8ubmV0QGdtYWlsLmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBHaXRIdWIgPGh0dHBzOi8vZ2l0aHViLmNvbS9qaWFuZ3hpbi9naXQvPlxuIgogIkxhbmd1YWdlOiB6aF9DTlxuIgpAQCAtMTQ1LDM3ICsxNDYsMzcgQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCiAKLSM6IGFkdmljZS5jOjU1CisjOiBhZHZpY2UuYzo1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJoaW50OiAlLipzXG4iCiBtc2dzdHIgIuaPkOekuu+8miUuKnNcbiIKIAotIzogYWR2aWNlLmM6ODMKKyM6IGFkdmljZS5jOjg2CiBtc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLml6Dms5Xmi6PpgInvvIzlm6DkuLrmgqjmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCiAKLSM6IGFkdmljZS5jOjg1CisjOiBhZHZpY2UuYzo4OAogbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLml6Dms5Xmj5DkuqTvvIzlm6DkuLrmgqjmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCiAKLSM6IGFkdmljZS5jOjg3CisjOiBhZHZpY2UuYzo5MAogbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLml6Dms5XlkIjlubbvvIzlm6DkuLrmgqjmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCiAKLSM6IGFkdmljZS5jOjg5CisjOiBhZHZpY2UuYzo5MgogbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLml6Dms5Xmi4nlj5bvvIzlm6DkuLrmgqjmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCiAKLSM6IGFkdmljZS5jOjkxCisjOiBhZHZpY2UuYzo5NAogbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIuaXoOazleWbnumAgO+8jOWboOS4uuaCqOacieacquWQiOW5tueahOaWh+S7tuOAgiIKIAotIzogYWR2aWNlLmM6OTMKKyM6IGFkdmljZS5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi5peg5rOVICVz77yM5Zug5Li65oKo5pyJ5pyq5ZCI5bm255qE5paH5Lu244CCIgogCi0jOiBhZHZpY2UuYzoxMDEKKyM6IGFkdmljZS5jOjEwNAogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCkBAIC0xODMsMjMgKzE4NCwyMyBAQAogIuivt+WcqOW3peS9nOWMuuaUueato+aWh+S7tu+8jOeEtuWQjumFjOaDheS9v+eUqCAnZ2l0IGFkZC9ybSA85paH5Lu2Picg5ZG95Luk5qCH6K6wXG4iCiAi6Kej5Yaz5pa55qGI5bm25o+Q5Lqk44CCIgogCi0jOiBhZHZpY2UuYzoxMDkKKyM6IGFkdmljZS5jOjExMgogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiBhbiB1bnJlc29sdmVkIGNvbmZsaWN0LiIKIG1zZ3N0ciAi5Zug5Li65a2Y5Zyo5pyq6Kej5Yaz55qE5Yay56qB6ICM6YCA5Ye644CCIgogCi0jOiBhZHZpY2UuYzoxMTQgYnVpbHRpbi9tZXJnZS5jOjEyMDYKKyM6IGFkdmljZS5jOjExNyBidWlsdGluL21lcmdlLmM6MTE4NAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAi5oKo5bCa5pyq57uT5p2f5oKo55qE5ZCI5bm277yI5a2Y5ZyoIE1FUkdFX0hFQUTvvInjgIIiCiAKLSM6IGFkdmljZS5jOjExNgorIzogYWR2aWNlLmM6MTE5CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAi6K+35Zyo5ZCI5bm25YmN5YWI5o+Q5Lqk5oKo55qE5L+u5pS544CCIgogCi0jOiBhZHZpY2UuYzoxMTcKKyM6IGFkdmljZS5jOjEyMAogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAi5Zug5Li65a2Y5Zyo5pyq5a6M5oiQ55qE5ZCI5bm26ICM6YCA5Ye644CCIgogCi0jOiBhZHZpY2UuYzoxMjMKKyM6IGFkdmljZS5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCkBAIC0yMjYsODIgKzIyNyw5MiBAQAogIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG4iCiAiXG4iCiAKLSM6IGFwcGx5LmM6NTcKKyM6IGFwcGx5LmM6NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgIuacquiDveivhuWIq+eahOepuueZveWtl+espumAiemhuSAnJXMnIgogCi0jOiBhcHBseS5jOjczCisjOiBhcHBseS5jOjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qE56m655m95a2X56ym5b+955Wl6YCJ6aG5ICclcyciCiAKLSM6IGFwcGx5LmM6MTI1CisjOiBhcHBseS5jOjEyNgogbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLXJlamVjdCDlkowgLS0zc2F5IOS4jeiDveWQjOaXtuS9v+eUqOOAgiIKIAotIzogYXBwbHkuYzoxMjcKKyM6IGFwcGx5LmM6MTI4CiBtc2dpZCAiLS1jYWNoZWQgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIi0tY2FjaGVkIOWSjCAtLTN3YXkg5LiN6IO95ZCM5pe25L2/55So44CCIgogCi0jOiBhcHBseS5jOjEzMAorIzogYXBwbHkuYzoxMzEKIG1zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tM3dheSDlnKjkuIDkuKrku5PlupPkuYvlpJYiCiAKLSM6IGFwcGx5LmM6MTQxCisjOiBhcHBseS5jOjE0MgogbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0taW5kZXgg5Zyo5LiA5Liq5LuT5bqT5LmL5aSWIgogCi0jOiBhcHBseS5jOjE0NAorIzogYXBwbHkuYzoxNDUKIG1zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1jYWNoZWQg5Zyo5LiA5Liq5LuT5bqT5LmL5aSWIgogCi0jOiBhcHBseS5jOjg0NQorIzogYXBwbHkuYzo4MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKIG1zZ3N0ciAi5peg5rOV5YeG5aSH5pe26Ze05oiz5q2j5YiZ6KGo6L6+5byPICVzIgogCi0jOiBhcHBseS5jOjg1NAorIzogYXBwbHkuYzo4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgogbXNnc3RyICJyZWdleGVjIOi/lOWbniAlZO+8jOi+k+WFpeS4uu+8miVzIgogCi0jOiBhcHBseS5jOjkzOAorIzogYXBwbHkuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAi5LiN6IO95Zyo6KGl5LiB55qE56ysICVkIOihjOaJvuWIsOaWh+S7tuWQjSIKIAotIzogYXBwbHkuYzo5NzcKKyM6IGFwcGx5LmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx577ya6ZSZ6K+v55qEIGdpdC1kaWZmIC0g5bqU5Li6IC9kZXYvbnVsbO+8jOS9huWcqOesrCAlMiRkIOihjOW+l+WIsCAlMSRzIgogCi0jOiBhcHBseS5jOjk4MworIzogYXBwbHkuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBsee+8mumUmeivr+eahCBnaXQtZGlmZiAtIOesrCAlZCDooYzkuIrmlrDmlofku7blkI3kuI3kuIDoh7QiCiAKLSM6IGFwcGx5LmM6OTg0CisjOiBhcHBseS5jOjk3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx577ya6ZSZ6K+v55qEIGdpdC1kaWZmIC0g56ysICVkIOihjOS4iuaXp+aWh+S7tuWQjeS4jeS4gOiHtCIKIAotIzogYXBwbHkuYzo5OTAKKyM6IGFwcGx5LmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBsee+8mumUmeivr+eahCBnaXQtZGlmZiAtIOesrCAlZCDooYzlpITlupTkuLogL2Rldi9udWxsIgogCi0jOiBhcHBseS5jOjE0ODgKKyM6IGFwcGx5LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCittc2dzdHIgIuesrCAlZCDooYzljIXlkKvml6DmlYjmlofku7bmqKHlvI/vvJolcyIKKworIzogYXBwbHkuYzoxMzI2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgorbXNnc3RyICLkuI3kuIDoh7TnmoTmlofku7blpLTvvIwlZCDooYzlkowgJWQg6KGMIgorCisjOiBhcHBseS5jOjE0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgogbXNnc3RyICJyZWNvdW5077ya5oSP5aSW55qE6KGM77yaJS4qcyIKIAotIzogYXBwbHkuYzoxNTU3CisjOiBhcHBseS5jOjE1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAi56ysICVkIOihjOeahOihpeS4geeJh+auteayoeacieWktOS/oeaBr++8miUuKnMiCiAKLSM6IGFwcGx5LmM6MTU3NworIzogYXBwbHkuYzoxNTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKQEAgLTMxMiw4MiArMzIzLDgyIEBACiBtc2dzdHJbMF0gIuW9k+enu+mZpCAlZCDkuKrliY3lr7zot6/lvoTlkI4gZ2l0IGRpZmYg5aS057y65LmP5paH5Lu25ZCN5L+h5oGv77yI56ysICVkIOihjO+8iSIKIG1zZ3N0clsxXSAi5b2T56e76ZmkICVkIOS4quWJjeWvvOi3r+W+hOWQjiBnaXQgZGlmZiDlpLTnvLrkuY/mlofku7blkI3kv6Hmga/vvIjnrKwgJWQg6KGM77yJIgogCi0jOiBhcHBseS5jOjE1ODkKKyM6IGFwcGx5LmM6MTYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgogbXNnc3RyICJnaXQgZGlmZiDnmoTlpLTkv6Hmga/kuK3nvLrkuY/mlofku7blkI3kv6Hmga/vvIjnrKwgJWQg6KGM77yJIgogCi0jOiBhcHBseS5jOjE3NTkKKyM6IGFwcGx5LmM6MTc3MAogbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICLmlrDmlofku7bkvp3otZbml6flhoXlrrkiCiAKLSM6IGFwcGx5LmM6MTc2MQorIzogYXBwbHkuYzoxNzcyCiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAi5Yig6Zmk55qE5paH5Lu25LuN5pyJ5YaF5a65IgogCi0jOiBhcHBseS5jOjE3OTUKKyM6IGFwcGx5LmM6MTgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgIuihpeS4geWcqOesrCAlZCDooYzmjZ/lnY8iCiAKLSM6IGFwcGx5LmM6MTgzMgorIzogYXBwbHkuYzoxODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICLmlrDmlofku7YgJXMg5L6d6LWW5pen5YaF5a65IgogCi0jOiBhcHBseS5jOjE4MzQKKyM6IGFwcGx5LmM6MTg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgogbXNnc3RyICLliKDpmaTnmoTmlofku7YgJXMg5LuN5pyJ5YaF5a65IgogCi0jOiBhcHBseS5jOjE4MzcKKyM6IGFwcGx5LmM6MTg0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgogbXNnc3RyICIqKiDorablkYrvvJrmlofku7YgJXMg5oiQ5Li656m65paH5Lu25L2G5bm25pyq5Yig6ZmkIgogCi0jOiBhcHBseS5jOjE5ODQKKyM6IGFwcGx5LmM6MTk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICLkuozov5vliLbooaXkuIHlnKjnrKwgJWQg6KGM5o2f5Z2P77yaJS4qcyIKIAotIzogYXBwbHkuYzoyMDIxCisjOiBhcHBseS5jOjIwMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICLmnKrog73or4bliKvnmoTkuozov5vliLbooaXkuIHkvY3kuo7nrKwgJWQg6KGMIgogCi0jOiBhcHBseS5jOjIxODIKKyM6IGFwcGx5LmM6MjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgogbXNnc3RyICLooaXkuIHmlofku7bnmoTnrKwgJWQg6KGM5Y+q5pyJ5Z6D5Zy+5pWw5o2uIgogCi0jOiBhcHBseS5jOjIyNjUKKyM6IGFwcGx5LmM6MjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgogbXNnc3RyICLml6Dms5Xor7vlj5bnrKblj7fpk77mjqUgJXMiCiAKLSM6IGFwcGx5LmM6MjI2OQorIzogYXBwbHkuYzoyMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCiBtc2dzdHIgIuS4jeiDveaJk+W8gOaIluivu+WPliAlcyIKIAotIzogYXBwbHkuYzoyOTIyCisjOiBhcHBseS5jOjI5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgogbXNnc3RyICLml6DmlYjnmoTooYzpppblrZfnrKbvvJonJWMnIgogCi0jOiBhcHBseS5jOjMwNDEKKyM6IGFwcGx5LmM6MzA1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCiBtc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCiBtc2dzdHJbMF0gIuWdlyAjJWQg5oiQ5Yqf5bqU55So5LqOICVk77yI5YGP56e7ICVkIOihjO+8iSIKIG1zZ3N0clsxXSAi5Z2XICMlZCDmiJDlip/lupTnlKjkuo4gJWTvvIjlgY/np7sgJWQg6KGM77yJIgogCi0jOiBhcHBseS5jOjMwNTMKKyM6IGFwcGx5LmM6MzA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgogbXNnc3RyICLkuIrkuIvmloflh4/lsJHliLDvvIglbGQvJWxk77yJ5Lul5Zyo56ysICVkIOihjOW6lOeUqOihpeS4geeJh+autSIKIAotIzogYXBwbHkuYzozMDU5CisjOiBhcHBseS5jOjMwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCkBAIC0zOTYsNTU2ICs0MDcsNTYxIEBACiAi5b2T5p+l6K+i77yaXG4iCiAiJS4qcyIKIAotIzogYXBwbHkuYzozMDgxCisjOiBhcHBseS5jOjMwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAi57y65aSxICclcycg55qE5LqM6L+b5Yi26KGl5LiB5pWw5o2uIgogCi0jOiBhcHBseS5jOjMwODkKKyM6IGFwcGx5LmM6MzEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Y+N5ZCR5bqU55So5LiA5Liq57y65bCR5YiwICclcycg55qE5Y+N5ZCR5pWw5o2u5Z2X55qE5LqM6L+b5Yi26KGl5LiBIgogCi0jOiBhcHBseS5jOjMxMzUKKyM6IGFwcGx5LmM6MzE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCiBtc2dzdHIgIuS4jeiDveWcqCAnJXMnIOS4iuW6lOeUqOayoeacieWujOaVtOe0ouW8leihjOeahOS6jOi/m+WItuihpeS4gSIKIAotIzogYXBwbHkuYzozMTQ1CisjOiBhcHBseS5jOjMxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgogbXNnc3RyICLooaXkuIHlupTnlKjliLAgJyVzJ++8iCVz77yJ77yM5L2G5piv5ZKM5b2T5YmN5YaF5a655LiN5Yy56YWN44CCIgogCi0jOiBhcHBseS5jOjMxNTMKKyM6IGFwcGx5LmM6MzE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgIuihpeS4geW6lOeUqOWIsOepuuaWh+S7tiAnJXMn77yM5L2G5YW25bm26Z2e56m65paH5Lu2IgogCi0jOiBhcHBseS5jOjMxNzEKKyM6IGFwcGx5LmM6MzE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAi5peg5rOV6K+75Y+WICclMiRzJyDlv4XpobvnmoTnm67moIfmlofku7YgJTEkcyIKIAotIzogYXBwbHkuYzozMTg0CisjOiBhcHBseS5jOjMxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCiBtc2dzdHIgIuS6jOi/m+WItuihpeS4geacquW6lOeUqOWIsCAnJXMnIgogCi0jOiBhcHBseS5jOjMxOTAKKyM6IGFwcGx5LmM6MzIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKIG1zZ3N0ciAi5YiwICclcycg55qE5LqM6L+b5Yi26KGl5LiB5Lqn55Sf5LqG5LiN5q2j56Gu55qE57uT5p6c77yI5bqU5Li6ICVz77yM5Y205Li6ICVz77yJIgogCi0jOiBhcHBseS5jOjMyMTEKKyM6IGFwcGx5LmM6MzIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKIG1zZ3N0ciAi5omT6KGl5LiB5aSx6LSl77yaJXM6JWxkIgogCi0jOiBhcHBseS5jOjMzMzMKKyM6IGFwcGx5LmM6MzM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgIuS4jeiDveajgOWHuiAlcyIKIAotIzogYXBwbHkuYzozMzgxIGFwcGx5LmM6MzM5MiBhcHBseS5jOjM0Mzggc2V0dXAuYzoyNDgKKyM6IGFwcGx5LmM6MzM5MiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDQ5IHNldHVwLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgogbXNnc3RyICLml6Dms5Xor7vlj5YgJXMiCiAKLSM6IGFwcGx5LmM6MzM4OQorIzogYXBwbHkuYzozNDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIuivu+WPluS9jeS6juespuWPt+mTvuaOpeS4reeahCAnJXMnIgogCi0jOiBhcHBseS5jOjM0MTggYXBwbHkuYzozNjU4CisjOiBhcHBseS5jOjM0MjkgYXBwbHkuYzozNjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgogbXNnc3RyICLot6/lvoQgJXMg5bey57uP6KKr6YeN5ZG95ZCNL+WIoOmZpCIKIAotIzogYXBwbHkuYzozNTAxIGFwcGx5LmM6MzY3MgorIzogYXBwbHkuYzozNTEyIGFwcGx5LmM6MzY4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCiBtc2dzdHIgIiVz77ya5LiN5a2Y5Zyo5LqO57Si5byV5LitIgogCi0jOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgwCisjOiBhcHBseS5jOjM1MjEgYXBwbHkuYzozNjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXPvvJrlkozntKLlvJXkuI3ljLnphY0iCiAKLSM6IGFwcGx5LmM6MzU0NQorIzogYXBwbHkuYzozNTU2CiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAi5LuT5bqT57y65LmP5b+F6KaB55qE5pWw5o2u5a+56LGh5Lul6L+b6KGM5LiJ5pa55ZCI5bm244CCIgogCi0jOiBhcHBseS5jOjM1NDgKKyM6IGFwcGx5LmM6MzU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIuWbnuiQveWIsOS4ieaWueWQiOW5ti4uLlxuIgogCi0jOiBhcHBseS5jOjM1NjQgYXBwbHkuYzozNTY4CisjOiBhcHBseS5jOjM1NzUgYXBwbHkuYzozNTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciCiBtc2dzdHIgIuaXoOazleivu+WPliAnJXMnIOeahOW9k+WJjeWGheWuuSIKIAotIzogYXBwbHkuYzozNTgwCisjOiBhcHBseS5jOjM1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAi5peg5rOV5Zue6JC95Yiw5LiJ5pa55ZCI5bm2Li4uXG4iCiAKLSM6IGFwcGx5LmM6MzU5NAorIzogYXBwbHkuYzozNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKIG1zZ3N0ciAi5bqU55So6KGl5LiB5YiwICclcycg5a2Y5Zyo5Yay56qB44CCXG4iCiAKLSM6IGFwcGx5LmM6MzU5OQorIzogYXBwbHkuYzozNjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICLmiJDlip/lupTnlKjooaXkuIHliLAgJyVzJ+OAglxuIgogCi0jOiBhcHBseS5jOjM2MjUKKyM6IGFwcGx5LmM6MzYzNgogbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCiBtc2dzdHIgIuenu+mZpOihpeS4geS7jeeVmeS4i+S6huaWh+S7tuWGheWuuSIKIAotIzogYXBwbHkuYzozNjk3CisjOiBhcHBseS5jOjM3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdyb25nIHR5cGUiCiBtc2dzdHIgIiVz77ya6ZSZ6K+v57G75Z6LIgogCi0jOiBhcHBseS5jOjM2OTkKKyM6IGFwcGx5LmM6MzcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIiVzIOeahOexu+Wei+aYryAlb++8jOW6lOS4uiAlbyIKIAotIzogYXBwbHkuYzozODUwIGFwcGx5LmM6Mzg1MgorIzogYXBwbHkuYzozODYwIGFwcGx5LmM6Mzg2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKIG1zZ3N0ciAi5peg5pWI6Lev5b6EICclcyciCiAKLSM6IGFwcGx5LmM6MzkwOAorIzogYXBwbHkuYzozOTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiJXPvvJrlt7Lnu4/lrZjlnKjkuo7ntKLlvJXkuK0iCiAKLSM6IGFwcGx5LmM6MzkxMQorIzogYXBwbHkuYzozOTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXPvvJrlt7Lnu4/lrZjlnKjkuo7lt6XkvZzljLrkuK0iCiAKLSM6IGFwcGx5LmM6MzkzMQorIzogYXBwbHkuYzozOTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKIG1zZ3N0ciAiJTIkcyDnmoTmlrDmqKHlvI/vvIglMSRv77yJ5ZKM5pen5qih5byP77yIJTMkb++8ieS4jeWMuemFjSIKIAotIzogYXBwbHkuYzozOTM2CisjOiBhcHBseS5jOjM5NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgogbXNnc3RyICIlMiRzIOeahOaWsOaooeW8j++8iCUxJG/vvInlkowgJTQkcyDnmoTml6fmqKHlvI/vvIglMyRv77yJ5LiN5Yy56YWNIgogCi0jOiBhcHBseS5jOjM5NTYKKyM6IGFwcGx5LmM6Mzk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAi5Y+X5b2x5ZON55qE5paH5Lu2ICclcycg5L2N5LqO56ym5Y+36ZO+5o6l5LitIgogCi0jOiBhcHBseS5jOjM5NjAKKyM6IGFwcGx5LmM6Mzk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVz77ya6KGl5LiB5pyq5bqU55SoIgogCi0jOiBhcHBseS5jOjM5NzUKKyM6IGFwcGx5LmM6Mzk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAi5qOA5p+l6KGl5LiBICVzLi4uIgogCi0jOiBhcHBseS5jOjQwNjYKKyM6IGFwcGx5LmM6NDA3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICLlrZDmqKHnu4QgJXMg55qEIHNoYTEg5L+h5oGv57y65aSx5oiW5peg5pWIIgogCi0jOiBhcHBseS5jOjQwNzMKKyM6IGFwcGx5LmM6NDA4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCiBtc2dzdHIgIiVzIOeahOaooeW8j+iiq+aUueWPmO+8jOS9huWug+S4jeWcqOW9k+WJjSBIRUFEIOS4rSIKIAotIzogYXBwbHkuYzo0MDc2CisjOiBhcHBseS5jOjQwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgInNoYTEg5L+h5oGv57y65aSx5oiW5peg5pWI77yIJXPvvInjgIIiCiAKLSM6IGFwcGx5LmM6NDA4MSBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKKyM6IGFwcGx5LmM6NDA5MSBidWlsdGluL2NoZWNrb3V0LmM6MjM1IGJ1aWx0aW4vcmVzZXQuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi5a+56Lev5b6EICclcycg55qEIG1ha2VfY2FjaGVfZW50cnkg5pON5L2c5aSx6LSlIgogCi0jOiBhcHBseS5jOjQwODUKKyM6IGFwcGx5LmM6NDA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYWRkICVzIHRvIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi5LiN6IO95Zyo5Li05pe257Si5byV5Lit5re75YqgICVzIgogCi0jOiBhcHBseS5jOjQwOTUKKyM6IGFwcGx5LmM6NDEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgogbXNnc3RyICLkuI3og73miorkuLTml7bntKLlvJXlhpnlhaXliLAgJXMiCiAKLSM6IGFwcGx5LmM6NDIzMworIzogYXBwbHkuYzo0MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAi5LiN6IO95LuO57Si5byV5Lit56e76ZmkICVzIgogCi0jOiBhcHBseS5jOjQyNjgKKyM6IGFwcGx5LmM6NDI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIuWtkOaooee7hCAlcyDmjZ/lnY/nmoTooaXkuIEiCiAKLSM6IGFwcGx5LmM6NDI3NAorIzogYXBwbHkuYzo0Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgotbXNnc3RyICLkuI3og73mnprkuL7mlrDlu7rmlofku7YgJyVzJyDnmoTnirbmgIEiCittc2dzdHIgIuS4jeiDveWvueaWsOW7uuaWh+S7tiAnJXMnIOiwg+eUqCBzdGF0IgogCi0jOiBhcHBseS5jOjQyODIKKyM6IGFwcGx5LmM6NDI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKIG1zZ3N0ciAi5LiN6IO95Li65paw5bu65paH5Lu2ICVzIOWIm+W7uuWQjuerr+WtmOWCqCIKIAotIzogYXBwbHkuYzo0Mjg4IGFwcGx5LmM6NDQzMgorIzogYXBwbHkuYzo0Mjk4IGFwcGx5LmM6NDQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAi5peg5rOV5Li6ICVzIOa3u+WKoOe8k+WtmOadoeebriIKIAotIzogYXBwbHkuYzo0MzI5CisjOiBhcHBseS5jOjQzMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgIuaXoOazleWGmeWFpSAnJXMnIgogCi0jOiBhcHBseS5jOjQzMzMKKyM6IGFwcGx5LmM6NDM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5YWz6Zet5paH5Lu2ICclcyciCiAKLSM6IGFwcGx5LmM6NDQwMworIzogYXBwbHkuYzo0NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAi5LiN6IO95YaZ5paH5Lu2ICclcycg5p2D6ZmQICVvIgogCi0jOiBhcHBseS5jOjQ1MDEKKyM6IGFwcGx5LmM6NDUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICLmiJDlip/lupTnlKjooaXkuIEgJXPjgIIiCiAKLSM6IGFwcGx5LmM6NDUwOQorIzogYXBwbHkuYzo0NTE5CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIuWGhemDqOmUmeivryIKIAotIzogYXBwbHkuYzo0NTEyCisjOiBhcHBseS5jOjQ1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgogbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgogbXNnc3RyWzBdICLlupTnlKggJSVzIOS4quihpeS4ge+8jOWFtuS4rSAlZCDkuKrooqvmi5Lnu50uLi4iCiBtc2dzdHJbMV0gIuW6lOeUqCAlJXMg5Liq6KGl5LiB77yM5YW25LitICVkIOS4quiiq+aLkue7nS4uLiIKIAotIzogYXBwbHkuYzo0NTIzCisjOiBhcHBseS5jOjQ1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgogbXNnc3RyICLmiKrnn60gLnJlaiDmlofku7blkI3kuLogJS4qcy5yZWoiCiAKLSM6IGFwcGx5LmM6NDUzMSBidWlsdGluL2ZldGNoLmM6NzM3IGJ1aWx0aW4vZmV0Y2guYzo5ODYKKyM6IGFwcGx5LmM6NDU0MSBidWlsdGluL2ZldGNoLmM6NzM4IGJ1aWx0aW4vZmV0Y2guYzo5ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAlcyIKIAotIzogYXBwbHkuYzo0NTQ1CisjOiBhcHBseS5jOjQ1NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAi56ysICMlZCDkuKrniYfmrrXmiJDlip/lupTnlKjjgIIiCiAKLSM6IGFwcGx5LmM6NDU0OQorIzogYXBwbHkuYzo0NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKIG1zZ3N0ciAi5ouS57ud56ysICMlZCDkuKrniYfmrrXjgIIiCiAKLSM6IGFwcGx5LmM6NDY1OQorIzogYXBwbHkuYzo0NjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgIueVpei/h+ihpeS4gSAnJXMn44CCIgogCi0jOiBhcHBseS5jOjQ2NjcKKyM6IGFwcGx5LmM6NDY3NwogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qE6L6T5YWlIgogCi0jOiBhcHBseS5jOjQ2ODYKKyM6IGFwcGx5LmM6NDY5NgogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleivu+WPlue0ouW8leaWh+S7tiIKIAotIzogYXBwbHkuYzo0ODI0CisjOiBhcHBseS5jOjQ4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKIG1zZ3N0ciAi5LiN6IO95omT5byA6KGl5LiBICclcyfvvJolcyIKIAotIzogYXBwbHkuYzo0ODQ5CisjOiBhcHBseS5jOjQ4NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCiBtc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0clswXSAi5oqR5Yi25LiL5LuN5pyJICVkIOS4quepuueZveWtl+espuivr+eUqCIKIG1zZ3N0clsxXSAi5oqR5Yi25LiL5LuN5pyJICVkIOS4quepuueZveWtl+espuivr+eUqCIKIAotIzogYXBwbHkuYzo0ODU1IGFwcGx5LmM6NDg3MAorIzogYXBwbHkuYzo0ODY2IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnc3RyWzBdICIlZCDooYzmnInnqbrnmb3lrZfnrKbor6/nlKjjgIIiCi1tc2dzdHJbMV0gIiVkIOihjOacieepuueZveWtl+espuivr+eUqOOAgiIKK21zZ3N0clswXSAiJWQg6KGM5paw5aKe5LqG56m655m95a2X56ym6K+v55So44CCIgorbXNnc3RyWzFdICIlZCDooYzmlrDlop7kuobnqbrnmb3lrZfnrKbor6/nlKjjgIIiCiAKLSM6IGFwcGx5LmM6NDg2MworIzogYXBwbHkuYzo0ODc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIuS/ruWkjeepuueZvemUmeivr+WQju+8jOW6lOeUqOS6hiAlZCDooYzjgIIiCiBtc2dzdHJbMV0gIuS/ruWkjeepuueZvemUmeivr+WQju+8jOW6lOeUqOS6hiAlZCDooYzjgIIiCiAKLSM6IGFwcGx5LmM6NDg3OSBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjk4IGJ1aWx0aW4vcm0uYzozOTEKKyM6IGFwcGx5LmM6NDg5MCBidWlsdGluL2FkZC5jOjUxMyBidWlsdGluL212LmM6Mjk5IGJ1aWx0aW4vcm0uYzozOTEKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWGmeWFpeaWsOe0ouW8leaWh+S7tiIKIAotIzogYXBwbHkuYzo0OTEwIGFwcGx5LmM6NDkxMyBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAotIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA0Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIzOQorIzogYXBwbHkuYzo0OTIxIGFwcGx5LmM6NDkyNCBidWlsdGluL2FtLmM6MjI1NyBidWlsdGluL2FtLmM6MjI2MAorIzogYnVpbHRpbi9jbG9uZS5jOjExNSBidWlsdGluL2ZldGNoLmM6OTMgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKIG1zZ2lkICJwYXRoIgogbXNnc3RyICLot6/lvoQiCiAKLSM6IGFwcGx5LmM6NDkxMQorIzogYXBwbHkuYzo0OTIyCiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAi5LiN6KaB5bqU55So5LiO57uZ5Ye66Lev5b6E5ZCR5Yy56YWN55qE5Y+Y5pu0IgogCi0jOiBhcHBseS5jOjQ5MTQKKyM6IGFwcGx5LmM6NDkyNQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgIuW6lOeUqOS4jue7meWHuui3r+W+hOWQkeWMuemFjeeahOWPmOabtCIKIAotIzogYXBwbHkuYzo0OTE2IGJ1aWx0aW4vYW0uYzoyMjg2CisjOiBhcHBseS5jOjQ5MjcgYnVpbHRpbi9hbS5jOjIyNjYKIG1zZ2lkICJudW0iCiBtc2dzdHIgIuaVsOWtlyIKIAotIzogYXBwbHkuYzo0OTE3CisjOiBhcHBseS5jOjQ5MjgKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAi5LuO5Lyg57uf55qEIGRpZmYg6Lev5b6E5Lit56e76Zmk5oyH5a6a5pWw6YeP55qE5YmN5a+85pac57q/IgogCi0jOiBhcHBseS5jOjQ5MjAKKyM6IGFwcGx5LmM6NDkzMQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgIuW/veeVpeihpeS4geS4reeahOa3u+WKoOeahOaWh+S7tiIKIAotIzogYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MzMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgIuS4jeW6lOeUqOihpeS4ge+8jOiAjOaYr+aYvuekuui+k+WFpeeahOW3ruW8gue7n+iuoe+8iGRpZmZzdGF077yJIgogCi0jOiBhcHBseS5jOjQ5MjYKKyM6IGFwcGx5LmM6NDkzNwogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgIuS7peWNgei/m+WItuaVsOaYvuekuua3u+WKoOWSjOWIoOmZpOeahOihjOaVsCIKIAotIzogYXBwbHkuYzo0OTI4CisjOiBhcHBseS5jOjQ5MzkKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICLkuI3lupTnlKjooaXkuIHvvIzogIzmmK/mmL7npLrovpPlhaXnmoTmpoLopoEiCiAKLSM6IGFwcGx5LmM6NDkzMAorIzogYXBwbHkuYzo0OTQxCiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKIG1zZ3N0ciAi5LiN5bqU55So6KGl5LiB77yM6ICM5piv5p+l55yL6KGl5LiB5piv5ZCm5Y+v5bqU55SoIgogCi0jOiBhcHBseS5jOjQ5MzIKKyM6IGFwcGx5LmM6NDk0MwogbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAi56Gu6K6k6KGl5LiB5Y+v5Lul5bqU55So5Yiw5b2T5YmN57Si5byVIgogCi0jOiBhcHBseS5jOjQ5MzQKKyM6IGFwcGx5LmM6NDk0NQogbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLlupTnlKjooaXkuIHogIzkuI3kv67mlLnlt6XkvZzljLoiCiAKLSM6IGFwcGx5LmM6NDkzNgorIzogYXBwbHkuYzo0OTQ3CiBtc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKIG1zZ3N0ciAi5o6l5Y+X5L+u5pS55bel5L2c5Yy65LmL5aSW5paH5Lu255qE6KGl5LiBIgogCi0jOiBhcHBseS5jOjQ5MzgKKyM6IGFwcGx5LmM6NDk0OQogbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogbXNnc3RyICLov5jlupTnlKjmraTooaXkuIHvvIjkuI4gLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrIOmAiemhueWQjOaXtuS9v+eUqO+8iSIKIAotIzogYXBwbHkuYzo0OTQwCisjOiBhcHBseS5jOjQ5NTEKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICLlpoLmnpzkuIDkuKrooaXkuIHkuI3og73lupTnlKjliJnlsJ3or5XkuInmlrnlkIjlubYiCiAKLSM6IGFwcGx5LmM6NDk0MgorIzogYXBwbHkuYzo0OTUzCiBtc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCiBtc2dzdHIgIuWIm+W7uuS4gOS4quS4tOaXtue0ouW8leWfuuS6juW1jOWFpeeahOe0ouW8leS/oeaBryIKIAotIzogYXBwbHkuYzo0OTQ1IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjUwNworIzogYXBwbHkuYzo0OTU2IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzAgYnVpbHRpbi9scy1maWxlcy5jOjUxNQogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICLot6/lvoTku6UgTlVMIOWtl+espuWIhumalCIKIAotIzogYXBwbHkuYzo0OTQ3CisjOiBhcHBseS5jOjQ5NTgKIG1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCiBtc2dzdHIgIuehruS/neiHs+WwkeWMuemFjSA8bj4g6KGM5LiK5LiL5paHIgogCi0jOiBhcHBseS5jOjQ5NDggYnVpbHRpbi9hbS5jOjIyNjUKKyM6IGFwcGx5LmM6NDk1OSBidWlsdGluL2FtLmM6MjI0NQogbXNnaWQgImFjdGlvbiIKIG1zZ3N0ciAi5Yqo5L2cIgogCi0jOiBhcHBseS5jOjQ5NDkKKyM6IGFwcGx5LmM6NDk2MAogbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyICLmo4Dmn6XmlrDlop7lkozkv67mlLnnmoTooYzkuK3pl7TnmoTnqbrnmb3lrZfnrKbmu6XnlKgiCiAKLSM6IGFwcGx5LmM6NDk1MiBhcHBseS5jOjQ5NTUKKyM6IGFwcGx5LmM6NDk2MyBhcHBseS5jOjQ5NjYKIG1zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgogbXNnc3RyICLmn6Xmib7kuIrkuIvmlofml7blv73nlaXnqbrnmb3lrZfnrKbnmoTlj5jmm7QiCiAKLSM6IGFwcGx5LmM6NDk1OAorIzogYXBwbHkuYzo0OTY5CiBtc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCiBtc2dzdHIgIuWPjeWQkeW6lOeUqOihpeS4gSIKIAotIzogYXBwbHkuYzo0OTYwCisjOiBhcHBseS5jOjQ5NzEKIG1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKIG1zZ3N0ciAi5peg6ZyA6Iez5bCR5LiA6KGM5LiK5LiL5paHIgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk3MwogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICLlsIbmi5Lnu53nmoTooaXkuIHniYfmrrXkv53lrZjlnKjlr7nlupTnmoQgKi5yZWog5paH5Lu25LitIgogCi0jOiBhcHBseS5jOjQ5NjQKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgogbXNnc3RyICLlhYHorrjph43lj6DnmoTooaXkuIHniYfmrrUiCiAKLSM6IGFwcGx5LmM6NDk2NSBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NjUxCi0jOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjEyMiBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorIzogYXBwbHkuYzo0OTc2IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MCBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NSBidWlsdGluL2ZzY2suYzo2NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg3NyBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAi5YaX6ZW/6L6T5Ye6IgogCi0jOiBhcHBseS5jOjQ5NjcKKyM6IGFwcGx5LmM6NDk3OAogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICLlhYHorrjkuI3mraPnoa7nmoTmlofku7bmnKvlsL7mjaLooYznrKYiCiAKLSM6IGFwcGx5LmM6NDk3MAorIzogYXBwbHkuYzo0OTgxCiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICLkuI3kv6Hku7vooaXkuIHniYfmrrXnmoTlpLTkv6Hmga/kuK3nmoTooYzlj7ciCiAKLSM6IGFwcGx5LmM6NDk3MiBidWlsdGluL2FtLmM6MjI3NAorIzogYXBwbHkuYzo0OTgzIGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAi5qC555uu5b2VIgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NDk4NAogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgIuS4uuaJgOacieaWh+S7tuWQjeWJjea3u+WKoCA85qC555uu5b2VPiIKIAotIzogYXJjaGl2ZS5jOjEyCisjOiBhcmNoaXZlLmM6MTMKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgYXJjaGl2ZSBbPOmAiemhuT5dIDzmoJHmiJbmj5DkuqQ+IFs86Lev5b6EPi4uLl0iCiAKLSM6IGFyY2hpdmUuYzoxMworIzogYXJjaGl2ZS5jOjE0CiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzoxNAorIzogYXJjaGl2ZS5jOjE1CiBtc2dpZCAiIgogImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPOS7k+W6kz4gWy0tZXhlYyA85ZG95LukPl0gWzzpgInpobk+XSA85qCR5oiW5o+Q5LqkPiBbPOi3r+W+hD4uLi5dIgogCi0jOiBhcmNoaXZlLmM6MTUKKyM6IGFyY2hpdmUuYzoxNgogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDzku5PlupM+IFstLWV4ZWMgPOWRveS7pD5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzAwCisjOiBhcmNoaXZlLmM6MzMzIGJ1aWx0aW4vYWRkLmM6MTU0IGJ1aWx0aW4vYWRkLmM6NDkyIGJ1aWx0aW4vcm0uYzozMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAi6Lev5b6E6KeE5qC8ICclcycg5pyq5Yy56YWN5Lu75L2V5paH5Lu2IgogCi0jOiBhcmNoaXZlLmM6NDI5CisjOiBhcmNoaXZlLmM6NDE4CiBtc2dpZCAiZm10IgogbXNnc3RyICLmoLzlvI8iCiAKLSM6IGFyY2hpdmUuYzo0MjkKKyM6IGFyY2hpdmUuYzo0MTgKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAi5b2S5qGj5qC85byPIgogCi0jOiBhcmNoaXZlLmM6NDMwIGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYXJjaGl2ZS5jOjQxOSBidWlsdGluL2xvZy5jOjE0NDYKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgIuWJjee8gCIKIAotIzogYXJjaGl2ZS5jOjQzMQorIzogYXJjaGl2ZS5jOjQyMAogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgIuS4uuW9kuaho+S4reavj+S4qui3r+W+hOWQjeWKoOS4iuWJjee8gCIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2JsYW1lLmM6MjYwNyBidWlsdGluL2JsYW1lLmM6MjYwOCBidWlsdGluL2NvbmZpZy5jOjU5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6MTA1NAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMSBidWlsdGluL2xzLWZpbGVzLmM6NTQxIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDEgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3JlYWQtdHJlZS5jOjEwOQorIzogYXJjaGl2ZS5jOjQyMSBidWlsdGluL2JsYW1lLmM6NjkzIGJ1aWx0aW4vYmxhbWUuYzo2OTQgYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTkxIGJ1aWx0aW4vZ3JlcC5jOjEwODAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIgYnVpbHRpbi9scy1maWxlcy5jOjU0OSBidWlsdGluL2xzLWZpbGVzLmM6NTUyCisjOiBidWlsdGluL25vdGVzLmM6NDA0IGJ1aWx0aW4vbm90ZXMuYzo1NjcgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjAKICM6IHBhcnNlLW9wdGlvbnMuaDoxNTMKIG1zZ2lkICJmaWxlIgogbXNnc3RyICLmlofku7YiCiAKLSM6IGFyY2hpdmUuYzo0MzMgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzo0MjIgYnVpbHRpbi9hcmNoaXZlLmM6ODkKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIuW9kuaho+WGmeWFpeatpOaWh+S7tiIKIAotIzogYXJjaGl2ZS5jOjQzNQorIzogYXJjaGl2ZS5jOjQyNAogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIuivu+WPluW3peS9nOWMuuS4reeahCAuZ2l0YXR0cmlidXRlcyIKIAotIzogYXJjaGl2ZS5jOjQzNgorIzogYXJjaGl2ZS5jOjQyNQogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgIuWcqOagh+WHhumUmeivr+S4iuaKpeWRiuW9kuaho+aWh+S7tiIKIAotIzogYXJjaGl2ZS5jOjQzNworIzogYXJjaGl2ZS5jOjQyNgogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgIuWPquWtmOWCqCIKIAotIzogYXJjaGl2ZS5jOjQzOAorIzogYXJjaGl2ZS5jOjQyNwogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKIG1zZ3N0ciAi5Y6L57yp6YCf5bqm5pu05b+rIgogCi0jOiBhcmNoaXZlLmM6NDQ2CisjOiBhcmNoaXZlLmM6NDM1CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICLljovnvKnmlYjmnpzmm7Tlpb0iCiAKLSM6IGFyY2hpdmUuYzo0NDkKKyM6IGFyY2hpdmUuYzo0MzgKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgIuWIl+WHuuaUr+aMgeeahOW9kuaho+agvOW8jyIKIAotIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9jbG9uZS5jOjg4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKKyM6IGFyY2hpdmUuYzo0NDAgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjEwNSBidWlsdGluL2Nsb25lLmM6MTA4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODIKIG1zZ2lkICJyZXBvIgogbXNnc3RyICLku5PlupMiCiAKLSM6IGFyY2hpdmUuYzo0NTIgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0NDEgYnVpbHRpbi9hcmNoaXZlLmM6OTEKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAi5LuO6L+c56iL5LuT5bqT77yIPOS7k+W6kz7vvInmj5Dlj5blvZLmoaPmlofku7YiCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NQorIzogYXJjaGl2ZS5jOjQ0MiBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg4CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAi5ZG95LukIgogCi0jOiBhcmNoaXZlLmM6NDU0IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6NDQzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICLov5znqIsgZ2l0LXVwbG9hZC1hcmNoaXZlIOWRveS7pOeahOi3r+W+hCIKIAotIzogYXJjaGl2ZS5jOjQ2MQorIzogYXJjaGl2ZS5jOjQ1MAogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgogbXNnc3RyICLmnKrnn6Xlj4LmlbAgLS1yZW1vdGUiCiAKLSM6IGFyY2hpdmUuYzo0NjMKKyM6IGFyY2hpdmUuYzo0NTIKIG1zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKIG1zZ3N0ciAi6YCJ6aG5IC0tZXhlYyDlj6rog73lkowgLS1yZW1vdGUg5ZCM5pe25L2/55SoIgogCi0jOiBhcmNoaXZlLmM6NDY1CisjOiBhcmNoaXZlLmM6NDU0CiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCiBtc2dzdHIgIuacquefpeWPguaVsCAtLW91dHB1dCIKIAotIzogYXJjaGl2ZS5jOjQ4NworIzogYXJjaGl2ZS5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCiBtc2dzdHIgIuacquefpeW9kuaho+agvOW8jyAnJXMnIgogCi0jOiBhcmNoaXZlLmM6NDk0CisjOiBhcmNoaXZlLmM6NDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCiBtc2dzdHIgIuWPguaVsOS4jeaUr+aMgeatpOagvOW8jyAnJXMn77yaLSVkIgogCi0jOiBhdHRyLmM6MjYzCisjOiBhdHRyLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCittc2dzdHIgIiUuKnMg5LiN5piv5LiA5Liq5pyJ5pWI55qE5bGe5oCn5ZCNIgorCisjOiBhdHRyLmM6NDEwCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCiAiVXNlICdcXCEnIGZvciBsaXRlcmFsIGxlYWRpbmcgZXhjbGFtYXRpb24uIgpAQCAtOTUzLDEyICs5NjksNyBAQAogIui0n+WAvOaooeeJiOWcqCBnaXQgYXR0cmlidXRlcyDkuK3ooqvlv73nlaVcbiIKICLlvZPlrZfnrKbkuLLnoa7lrp7opoHku6XmhJ/lj7nlj7flvIDlp4vml7bvvIzkvb/nlKggJ1xcISfjgIIiCiAKLSM6IGJpc2VjdC5jOjQ0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCi1tc2dzdHIgIuS4jeiDveaJk+W8gOaWh+S7tiAnJXMnIgotCi0jOiBiaXNlY3QuYzo0NDYKKyM6IGJpc2VjdC5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICLmlofku7YgJyVzJyDljIXlkKvplJnor6/nmoTlvJXnlKjmoLzlvI/vvJolcyIKQEAgLTEwMzIsNyArMTA0Myw3IEBACiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgIumcgOimgeS4gOS4qiAlcyDniYjmnKwiCiAKLSM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjYyCisjOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NSBidWlsdGluL3RhZy5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu65paH5Lu2ICclcyciCkBAIC0xMDY3LDE1ICsxMDc4LDUwIEBACiBtc2dzdHJbMF0gIu+8iOWkp+amgiAlZCDmraXvvIkiCiBtc2dzdHJbMV0gIu+8iOWkp+amgiAlZCDmraXvvIkiCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGgKLSMuICIocm91Z2hseSAlZCBzdGVwcykiIHRyYW5zbGF0aW9uCi0jOiBiaXNlY3QuYzo5OTgKKyMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggIihyb3VnaGx5ICVkCisjLiBzdGVwcykiIHRyYW5zbGF0aW9uLgorIy4KKyM6IGJpc2VjdC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbiBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgogbXNnaWRfcGx1cmFsICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgogbXNnc3RyWzBdICLkuozliIbmn6Xmib7kuK3vvJrlnKjmraTkuYvlkI7vvIzov5jliakgJWQg5Liq54mI5pys5b6F5rWL6K+VICVzXG4iCiBtc2dzdHJbMV0gIuS6jOWIhuafpeaJvuS4re+8muWcqOatpOS5i+WQju+8jOi/mOWJqSAlZCDkuKrniYjmnKzlvoXmtYvor5UgJXNcbiIKIAorIzogYmxhbWUuYzoxNzU3Cittc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKK21zZ3N0ciAiLS1jb250ZW50cyDlkowgLS1yZXZlcnNlIOS4jeiDvea3t+eUqOOAgiIKKworIzogYmxhbWUuYzoxNzY4Cittc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgorbXNnc3RyICLkuI3og73lsIYgLS1jb250ZW50cyDlkozmnIDnu4jnmoTmj5DkuqTlr7nosaHlkI3lhbHnlKgiCisKKyM6IGJsYW1lLmM6MTc4OAorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAiLS1yZXZlcnNlIOWSjCAtLWZpcnN0LXBhcmVudCDlhbHnlKjvvIzpnIDopoHmjIflrprmnIDmlrDnmoTmj5DkuqQiCisKKyM6IGJsYW1lLmM6MTc5NyBidW5kbGUuYzoxNjQgcmVmLWZpbHRlci5jOjE5MTkgc2VxdWVuY2VyLmM6MTE2NgorIzogc2VxdWVuY2VyLmM6MjMyOCBidWlsdGluL2NvbW1pdC5jOjEwNTggYnVpbHRpbi9sb2cuYzozNTYgYnVpbHRpbi9sb2cuYzo5MDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1NyBidWlsdGluL2xvZy5jOjE2ODMgYnVpbHRpbi9sb2cuYzoxOTI2IGJ1aWx0aW4vbWVyZ2UuYzozNjAKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzcKK21zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKK21zZ3N0ciAi54mI5pys6YGN5Y6G6K6+572u5aSx6LSlIgorCisjOiBibGFtZS5jOjE4MTUKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICItLXJldmVyc2Ug5ZKMIC0tZmlyc3QtcGFyZW50IOWFseeUqO+8jOmcgOimgeesrOS4gOelluWFiOmTvuS4iueahOaPkOS6pOiMg+WbtCIKKworIzogYmxhbWUuYzoxODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKK21zZ3N0ciAi5ZyoICUyJHMg5Lit5peg5q2k6Lev5b6EICUxJHMiCisKKyM6IGJsYW1lLmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICLkuI3og73kuLrot6/lvoQgJTIkcyDor7vlj5bmlbDmja7lr7nosaEgJTEkcyIKKwogIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMTIwNCw3ICsxMjUwLDcgQEAKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiJyVzJyDlt7Lnu4/mo4Dlh7rliLAgJyVzJyIKIAotIzogYnJhbmNoLmM6MzYzCisjOiBicmFuY2guYzozNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgIuW3peS9nOWMuiAlcyDnmoQgSEVBRCDmjIflkJHmsqHmnInooqvmm7TmlrAiCkBAIC0xMjE0LDk3ICsxMjYwLDkwIEBACiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBsb29rIGxpa2UgYSB2MiBidW5kbGUgZmlsZSIKIG1zZ3N0ciAiJyVzJyDkuI3lg4/mmK/kuIDkuKogdjIg54mI5pys55qE5YyF5paH5Lu2IgogCi0jOiBidW5kbGUuYzo2MQorIzogYnVuZGxlLmM6NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICLmnKrog73or4bliKvnmoTljIXlpLTvvJolcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IHNlcXVlbmNlci5jOjEzMzEgc2VxdWVuY2VyLmM6MTc1MiBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODggc2VxdWVuY2VyLmM6MTM0NCBzZXF1ZW5jZXIuYzoxNzcwIGJ1aWx0aW4vY29tbWl0LmM6Nzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAnJXMnIgogCi0jOiBidW5kbGUuYzoxMzkKKyM6IGJ1bmRsZS5jOjE0MAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICLku5PlupPkuK3nvLrlsJHov5nkupvlv4XlpIfnmoTmj5DkuqTvvJoiCiAKLSM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ5OSBzZXF1ZW5jZXIuYzoxMTU0IHNlcXVlbmNlci5jOjIyOTAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyODIwIGJ1aWx0aW4vY29tbWl0LmM6MTA2MSBidWlsdGluL2xvZy5jOjM0OAotIzogYnVpbHRpbi9sb2cuYzo4OTAgYnVpbHRpbi9sb2cuYzoxMzQwIGJ1aWx0aW4vbG9nLmM6MTY2NiBidWlsdGluL2xvZy5jOjE5MDkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNjAgYnVpbHRpbi9zaG9ydGxvZy5jOjE3NwotbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgotbXNnc3RyICLniYjmnKzpgY3ljoborr7nva7lpLHotKUiCi0KLSM6IGJ1bmRsZS5jOjE4NQorIzogYnVuZGxlLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICLov5nkuKrljIXkuK3lkKvmnInov5nkuKrlvJXnlKjvvJoiCiBtc2dzdHJbMV0gIui/meS4quWMheS4reWQq+aciSAlZCDkuKrlvJXnlKjvvJoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTkzCiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIui/meS4quWMheiusOW9leS4gOS4quWujOaVtOWOhuWPsuOAgiIKIAotIzogYnVuZGxlLmM6MTk0CisjOiBidW5kbGUuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIui/meS4quWMhemcgOimgei/meS4quW8leeUqO+8miIKIG1zZ3N0clsxXSAi6L+Z5Liq5YyF6ZyA6KaBICVkIOS4quW8leeUqO+8miIKIAotIzogYnVuZGxlLmM6MjUzCisjOiBidW5kbGUuYzoyNTQKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICLkuI3og73nlJ/miJAgcGFjay1vYmplY3RzIOi/m+eoiyIKIAotIzogYnVuZGxlLmM6MjY0CisjOiBidW5kbGUuYzoyNjUKIG1zZ2lkICJwYWNrLW9iamVjdHMgZGllZCIKIG1zZ3N0ciAicGFjay1vYmplY3RzIOe7iOatoiIKIAotIzogYnVuZGxlLmM6MzA0CisjOiBidW5kbGUuYzozMDcKIG1zZ2lkICJyZXYtbGlzdCBkaWVkIgogbXNnc3RyICJyZXYtbGlzdCDnu4jmraIiCiAKLSM6IGJ1bmRsZS5jOjM1MworIzogYnVuZGxlLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICLlvJXnlKggJyVzJyDooqsgcmV2LWxpc3Qg6YCJ6aG55o6S6ZmkIgogCi0jOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjUgYnVpbHRpbi9sb2cuYzoxNTcyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyODIKKyM6IGJ1bmRsZS5jOjQ0NiBidWlsdGluL2xvZy5jOjE3MyBidWlsdGluL2xvZy5jOjE1ODkgYnVpbHRpbi9zaG9ydGxvZy5jOjI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLmnKrog73or4bliKvnmoTlj4LmlbDvvJolcyIKIAotIzogYnVuZGxlLmM6NDUxCisjOiBidW5kbGUuYzo0NTQKIG1zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKIG1zZ3N0ciAi5LiN6IO95Yib5bu656m65YyF44CCIgogCi0jOiBidW5kbGUuYzo0NjMKKyM6IGJ1bmRsZS5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgIuS4jeiDveWIm+W7uiAnJXMnIgogCi0jOiBidW5kbGUuYzo0OTEKKyM6IGJ1bmRsZS5jOjQ5NAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAiaW5kZXgtcGFjayDnu4jmraIiCiAKLSM6IGNvbG9yLmM6MzAwCisjOiBjb2xvci5jOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICLml6DmlYjnmoTpopzoibLlgLzvvJolLipzIgogCi0jOiBjb21taXQuYzo0MCBzZXF1ZW5jZXIuYzoxNTY0IGJ1aWx0aW4vYW0uYzo0MjEgYnVpbHRpbi9hbS5jOjQ1NwotIzogYnVpbHRpbi9hbS5jOjE0OTMgYnVpbHRpbi9hbS5jOjIxMjcKKyM6IGNvbW1pdC5jOjQxIHNlcXVlbmNlci5jOjE1ODIgYnVpbHRpbi9hbS5jOjQyMCBidWlsdGluL2FtLmM6NDU2CisjOiBidWlsdGluL2FtLmM6MTQ2OSBidWlsdGluL2FtLmM6MjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgIuS4jeiDveino+aekCAlcyIKIAotIzogY29tbWl0LmM6NDIKKyM6IGNvbW1pdC5jOjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiVzICVzIOS4jeaYr+S4gOS4quaPkOS6pCEiCiAKLSM6IGNvbW1pdC5jOjE1MTQKKyM6IGNvbW1pdC5jOjE1MTEKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCkBAIC0xMzE4LDE0MiArMTM1NywxNjEgQEAKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICLlhoXlrZjogJflsL0iCiAKLSM6IGNvbmZpZy5jOjUxOAorIzogY29uZmlnLmM6MTg2Cittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICLljIXlkKvnm7jlr7not6/lvoTnmoTmnaHku7blvJXnlKjlv4XpobvmnaXoh6rkuo7mlofku7YiCisKKyM6IGNvbmZpZy5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAi5pWw5o2u5a+56LGhICUyJHMg5Lit6ZSZ6K+v55qE6YWN572u6KGMICUxJGQiCiAKLSM6IGNvbmZpZy5jOjUyMgorIzogY29uZmlnLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgogbXNnc3RyICLmlofku7YgJTIkcyDkuK3plJnor6/nmoTphY3nva7ooYwgJTEkZCIKIAotIzogY29uZmlnLmM6NTI2CisjOiBjb25maWcuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLmoIflh4bovpPlhaXkuK3plJnor6/nmoTphY3nva7ooYwgJWQiCiAKLSM6IGNvbmZpZy5jOjUzMAorIzogY29uZmlnLmM6NzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKIG1zZ3N0ciAi5a2Q5qih57uE5pWw5o2u5a+56LGhICUyJHMg5Lit6ZSZ6K+v55qE6YWN572u6KGMICUxJGQiCiAKLSM6IGNvbmZpZy5jOjUzNAorIzogY29uZmlnLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgIuWRveS7pOihjCAlMiRzIOS4remUmeivr+eahOmFjee9ruihjCAlMSRkIgogCi0jOiBjb25maWcuYzo1MzgKKyM6IGNvbmZpZy5jOjc0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCiBtc2dzdHIgIuWcqCAlMiRzIOS4remUmeivr+eahOmFjee9ruihjCAlMSRkIgogCi0jOiBjb25maWcuYzo2NTcKKyM6IGNvbmZpZy5jOjg2OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAi6LaF5Ye66IyD5Zu0IgogCi0jOiBjb25maWcuYzo2NTcKKyM6IGNvbmZpZy5jOjg2OAogbXNnaWQgImludmFsaWQgdW5pdCIKIG1zZ3N0ciAi5peg5pWI55qE5Y2V5L2NIgogCi0jOiBjb25maWcuYzo2NjMKKyM6IGNvbmZpZy5jOjg3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgIumFjee9ruWPmOmHjyAnJTIkcycg55qE5pWw5a2X5Y+W5YC8ICclMSRzJyDorr7nva7plJnor6/vvJolMyRzIgogCi0jOiBjb25maWcuYzo2NjgKKyM6IGNvbmZpZy5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKIG1zZ3N0ciAi5pWw5o2u5a+56LGhICUzJHMg5Lit6YWN572u5Y+Y6YePICclMiRzJyDplJnor6/nmoTlj5blgLwgJyUxJHMn77yaJTQkcyIKIAotIzogY29uZmlnLmM6NjcxCisjOiBjb25maWcuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiCiBtc2dzdHIgIuaWh+S7tiAlMyRzIOS4remFjee9ruWPmOmHjyAnJTIkcycg6ZSZ6K+v55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCiAKLSM6IGNvbmZpZy5jOjY3NAorIzogY29uZmlnLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAi5qCH5YeG6L6T5YWl5Lit6YWN572u5Y+Y6YePICclMiRzJyDplJnor6/nmoTlj5blgLwgJyUxJHMn77yaJTMkcyIKIAotIzogY29uZmlnLmM6Njc3CisjOiBjb25maWcuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgogbXNnc3RyICLlrZDmqKHnu4TmlbDmja4gJTMkcyDkuK3phY3nva7lj5jph48gJyUyJHMnIOmUmeivr+eahOWPluWAvCAnJTEkcyfvvJolNCRzIgogCi0jOiBjb25maWcuYzo2ODAKKyM6IGNvbmZpZy5jOjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgogbXNnc3RyICLlkb3ku6TooYwgJTMkcyDkuK3phY3nva7lj5jph48gJyUyJHMnIOmUmeivr+eahOWPluWAvCAnJTEkcyfvvJolNCRzIgogCi0jOiBjb25maWcuYzo2ODMKKyM6IGNvbmZpZy5jOjg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCiBtc2dzdHIgIuWcqCAlMyRzIOS4remFjee9ruWPmOmHjyAnJTIkcycg6ZSZ6K+v55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCiAKLSM6IGNvbmZpZy5jOjc3MAorIzogY29uZmlnLmM6OTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgIuaXoOazleaJqeWxlSAnJXMnIOS4reeahOeUqOaIt+ebruW9lSIKIAotIzogY29uZmlnLmM6ODY1IGNvbmZpZy5jOjg3NgorIzogY29uZmlnLmM6MTA4NCBjb25maWcuYzoxMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICLplJnor6/nmoQgemxpYiDljovnvKnnuqfliKsgJWQiCiAKLSM6IGNvbmZpZy5jOjk5MworIzogY29uZmlnLmM6MTIxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgIuaXoOaViOeahOWvueixoeWIm+W7uuaooeW8j++8miVzIgogCi0jOiBjb25maWcuYzoxMTQ5CisjOiBjb25maWcuYzoxMzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICLplJnor6/nmoTmiZPljIXljovnvKnnuqfliKsgJWQiCiAKLSM6IGNvbmZpZy5jOjEzMzkKKyM6IGNvbmZpZy5jOjE1NjQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAi5peg5rOV6Kej5p6Q5ZG95Luk6KGM5Lit55qE6YWN572uIgogCi0jOiBjb25maWcuYzoxMzg5CisjOiBjb25maWcuYzoxODk0CiBtc2dpZCAidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgogbXNnc3RyICLlnKjor7vlj5bphY3nva7mlofku7bml7bpgYfliLDmnKrnn6XplJnor68iCiAKLSM6IGNvbmZpZy5jOjE3NDMKKyM6IGNvbmZpZy5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAlczogJyVzJyIKK21zZ3N0ciAi5peg5pWIICVz77yaJyVzJyIKKworIzogY29uZmlnLmM6MjA4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCittc2dzdHIgIuacquefpeeahCBjb3JlLnVudHJhY2tlZENhY2hlIOWPluWAvCAnJXMn77yM5L2/55So6buY6K6k5YC8ICdrZWVwJyIKKworIzogY29uZmlnLmM6MjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCittc2dzdHIgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSDnmoTlj5blgLwgJyVkJyDlupTor6Xku4vkuo4gMCDlkowgMTAwIOS5i+mXtCIKKworIzogY29uZmlnLmM6MjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIuaXoOazleino+aekOWRveS7pOihjOmFjee9ruS4reeahCAnJXMnIgogCi0jOiBjb25maWcuYzoxNzQ1CisjOiBjb25maWcuYzoyMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAi5Zyo5paH5Lu2ICclMiRzJyDnmoTnrKwgJTMkZCDooYzlj5HnjrDplJnor6/nmoTphY3nva7lj5jph48gJyUxJHMnIgogCi0jOiBjb25maWcuYzoxODA0CisjOiBjb25maWcuYzoyMTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIOacieWkmuS4quWPluWAvCIKIAotIzogY29uZmlnLmM6MjIyNSBjb25maWcuYzoyNDUwCisjOiBjb25maWcuYzoyNTE3IGNvbmZpZy5jOjI3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZnN0YXQgb24gJXMgZmFpbGVkIgotbXNnc3RyICLlnKggJXMg5LiK5omn6KGMIGZzdGF0IOWksei0pSIKK21zZ3N0ciAi5a+5ICVzIOiwg+eUqCBmc3RhdCDlpLHotKUiCiAKLSM6IGNvbmZpZy5jOjIzNDMKKyM6IGNvbmZpZy5jOjI2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIuS4jeiDveiuvue9riAnJXMnIOS4uiAnJXMnIgogCi0jOiBjb25maWcuYzoyMzQ1CisjOiBjb25maWcuYzoyNjM3IGJ1aWx0aW4vcmVtb3RlLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICLkuI3og73lj5bmtojorr7nva4gJyVzJyIKIAotIzogY29ubmVjdC5jOjQ5CisjOiBjb25uZWN0LmM6NTAKIG1zZ2lkICJUaGUgcmVtb3RlIGVuZCBodW5nIHVwIHVwb24gaW5pdGlhbCBjb250YWN0IgogbXNnc3RyICLov5znq6/lnKjov57mjqXlj5Hotbfml7bljbPmjILmlq0iCiAKLSM6IGNvbm5lY3QuYzo1MQorIzogY29ubmVjdC5jOjUyCiBtc2dpZCAiIgogIkNvdWxkIG5vdCByZWFkIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkuXG4iCiAiXG4iCkBAIC0xNDY0LDcgKzE1MjIsNyBAQAogIlxuIgogIuivt+ehruiupOaCqOacieato+ehrueahOiuv+mXruadg+mZkOW5tuS4lOS7k+W6k+WtmOWcqOOAgiIKIAotIzogY29ubmVjdGVkLmM6NjMgYnVpbHRpbi9mc2NrLmM6MTkwIGJ1aWx0aW4vcHJ1bmUuYzoxNDAKKyM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE5MSBidWlsdGluL3BydW5lLmM6MTQxCiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgogbXNnc3RyICLmo4Dmn6Xov57mjqXkuK0iCiAKQEAgLTE0ODAsNyArMTUzOCw3IEBACiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgIuaXoOazleWFs+mXrSByZXYtbGlzdCDnmoTmoIflh4bovpPlhaUiCiAKLSM6IGNvbnZlcnQuYzoyMDEKKyM6IGNvbnZlcnQuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKQEAgLTE0ODksMTIgKzE1NDcsMTIgQEAKICLmlofku7YgJXMg5Lit55qEIENSTEYg5bCG6KKrIExGIOabv+aNouOAglxuIgogIuWcqOW3peS9nOWMuuS4reivpeaWh+S7tuS7jeS/neaMgeWOn+acieeahOaNouihjOespuOAgiIKIAotIzogY29udmVydC5jOjIwNQorIzogY29udmVydC5jOjIwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLiIKIG1zZ3N0ciAi5paH5Lu2ICVzIOS4reeahCBDUkxGIOWwhuiiqyBMRiDmm7/mjaLjgIIiCiAKLSM6IGNvbnZlcnQuYzoyMTEKKyM6IGNvbnZlcnQuYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKQEAgLTE1MDMsNzggKzE1NjEsNzggQEAKICLmlofku7YgJXMg5Lit55qEIExGIOWwhuiiqyBDUkxGIOabv+aNouOAglxuIgogIuWcqOW3peS9nOWMuuS4reivpeaWh+S7tuS7jeS/neaMgeWOn+acieeahOaNouihjOespuOAgiIKIAotIzogY29udmVydC5jOjIxNQorIzogY29udmVydC5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIgogbXNnc3RyICLmlofku7YgJXMg5Lit55qEIExGIOWwhuiiqyBDUkxGIOabv+aNoiIKIAotIzogZGF0ZS5jOjk3CisjOiBkYXRlLmM6MTE2CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAi5Zyo5bCG5p2lIgogCi0jOiBkYXRlLmM6MTAzCisjOiBkYXRlLmM6MTIyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBzZWNvbmQgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgc2Vjb25kcyBhZ28iCi1tc2dzdHJbMF0gIiVsdSDnp5Lpkp/liY0iCi1tc2dzdHJbMV0gIiVsdSDnp5Lpkp/liY0iCittc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IOenkumSn+WJjSIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiDnp5Lpkp/liY0iCiAKLSM6IGRhdGUuYzoxMTAKKyM6IGRhdGUuYzoxMjkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IG1pbnV0ZSBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBtaW51dGVzIGFnbyIKLW1zZ3N0clswXSAiJWx1IOWIhumSn+WJjSIKLW1zZ3N0clsxXSAiJWx1IOWIhumSn+WJjSIKK21zZ2lkICIlPFBSSXVNQVg+IG1pbnV0ZSBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbWludXRlcyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g5YiG6ZKf5YmNIgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IOWIhumSn+WJjSIKIAotIzogZGF0ZS5jOjExNworIzogZGF0ZS5jOjEzNgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgaG91ciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCi1tc2dzdHJbMF0gIiVsdSDlsI/ml7bliY0iCi1tc2dzdHJbMV0gIiVsdSDlsI/ml7bliY0iCittc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g5bCP5pe25YmNIgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IOWwj+aXtuWJjSIKIAotIzogZGF0ZS5jOjEyNAorIzogZGF0ZS5jOjE0MwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgZGF5IGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgotbXNnc3RyWzBdICIlbHUg5aSp5YmNIgotbXNnc3RyWzFdICIlbHUg5aSp5YmNIgorbXNnaWQgIiU8UFJJdU1BWD4gZGF5IGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBkYXlzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiDlpKnliY0iCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g5aSp5YmNIgogCi0jOiBkYXRlLmM6MTMwCisjOiBkYXRlLmM6MTQ5CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSB3ZWVrIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IHdlZWtzIGFnbyIKLW1zZ3N0clswXSAiJWx1IOWRqOWJjSIKLW1zZ3N0clsxXSAiJWx1IOWRqOWJjSIKK21zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiDlkajliY0iCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g5ZGo5YmNIgogCi0jOiBkYXRlLmM6MTM3CisjOiBkYXRlLmM6MTU2CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBtb250aCBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSBtb250aHMgYWdvIgotbXNnc3RyWzBdICIlbHUg5Liq5pyI5YmNIgotbXNnc3RyWzFdICIlbHUg5Liq5pyI5YmNIgorbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g5Liq5pyI5YmNIgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IOS4quaciOWJjSIKIAotIzogZGF0ZS5jOjE0OAorIzogZGF0ZS5jOjE2NwogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgotbXNnc3RyWzBdICIlbHUg5bm0IgotbXNnc3RyWzFdICIlbHUg5bm0IgorbXNnaWQgIiU8UFJJdU1BWD4geWVhciIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiDlubQiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g5bm0IgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE1MQorIzogZGF0ZS5jOjE3MAogIywgYy1mb3JtYXQKLW1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgotbXNnc3RyWzBdICIlcyAlbHUg5Liq5pyI5YmNIgotbXNnc3RyWzFdICIlcyAlbHUg5Liq5pyI5YmNIgorbXNnaWQgIiVzLCAlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJXMsICU8UFJJdU1BWD4gbW9udGhzIGFnbyIKK21zZ3N0clswXSAiJXMgJTxQUkl1TUFYPiDkuKrmnIjliY0iCittc2dzdHJbMV0gIiVzICU8UFJJdU1BWD4g5Liq5pyI5YmNIgogCi0jOiBkYXRlLmM6MTU2IGRhdGUuYzoxNjEKKyM6IGRhdGUuYzoxNzUgZGF0ZS5jOjE4MAogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCi1tc2dzdHJbMF0gIiVsdSDlubTliY0iCi1tc2dzdHJbMV0gIiVsdSDlubTliY0iCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g5bm05YmNIgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IOW5tOWJjSIKIAogIzogZGlmZmNvcmUtb3JkZXIuYzoyNAogIywgYy1mb3JtYXQKQEAgLTE1ODMsMzEgKzE2NDEsMzEgQEAKIAogIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM2CiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCi1tc2dzdHIgIuato+WcqOi/m+ihjOmdnueyvuehrueahOmHjeWRveWQjeajgOa1iyIKK21zZ3N0ciAi5q2j5Zyo6L+b6KGM6Z2e57K+56Gu55qE6YeN5ZG95ZCN5o6i5rWLIgogCi0jOiBkaWZmLmM6NjIKKyM6IGRpZmYuYzo2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICLpgInpobkgJyVzJyAg6ZyA6KaB5LiA5Liq5YC8IgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGRpZmYuYzoxMjQKKyM6IGRpZmYuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIgIOaXoOazleino+aekCBkaXJzdGF0IOaIquatou+8iGN1dC1vZmbvvInnmb7liIbmr5QgJyVzJ1xuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGRpZmYuYzoxMjkKKyM6IGRpZmYuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICDmnKrnn6XnmoQgZGlyc3RhdCDlj4LmlbAgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MjgxCisjOiBkaWZmLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICLphY3nva7lj5jph48gJ2RpZmYuc3VibW9kdWxlJyDmnKrnn6XnmoTlj5blgLzvvJonJXMnIgogCi0jOiBkaWZmLmM6MzQ0CisjOiBkaWZmLmM6MzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgpAQCAtMTYxNiwyMCArMTY3NCwyMCBAQAogIuWPkeeOsOmFjee9ruWPmOmHjyAnZGlmZi5kaXJzdGF0JyDkuK3nmoTplJnor6/vvJpcbiIKICIlcyIKIAotIzogZGlmZi5jOjMwODUKKyM6IGRpZmYuYzozMTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgIuWklumDqCBkaWZmIOmAgOWHuu+8jOWBnOatouWcqCAlcyIKIAotIzogZGlmZi5jOjM0MTEKKyM6IGRpZmYuYzozNDI3CiBtc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tbmFtZS1vbmx544CBLS1uYW1lLXN0YXR1c+OAgS0tY2hlY2sg5ZKMIC1zIOaYr+S6kuaWpeeahCIKIAotIzogZGlmZi5jOjM1MDEKKyM6IGRpZmYuYzozNTE3CiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IOaYjuehruimgeaxguWPqui3n+S4gOS4qui3r+W+hOinhOagvCIKIAotIzogZGlmZi5jOjM2NjQKKyM6IGRpZmYuYzozNjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC0xNjM4LDI1MiArMTY5NiwyNzcgQEAKICLml6Dms5Xop6PmnpAgLS1kaXJzdGF0Ly1YIOmAiemhueeahOWPguaVsO+8mlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzY3OAorIzogZGlmZi5jOjM2OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIuaXoOazleino+aekCAtLXN1Ym1vZHVsZSDpgInpobnnmoTlj4LmlbDvvJonJXMnIgogCi0jOiBkaWZmLmM6NDY5NgorIzogZGlmZi5jOjQ3MTYKIG1zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAi5Zug5Li65paH5Lu25aSq5aSa77yM55Wl6L+H5LiN5Lil5qC855qE6YeN5ZG95ZCN5qOA5p+l44CCIgogCi0jOiBkaWZmLmM6NDY5OQorIzogZGlmZi5jOjQ3MTkKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIuWboOS4uuaWh+S7tuWkquWkmu+8jOWPquWcqOS/ruaUueeahOi3r+W+hOS4reafpeaJvuaLt+i0neOAgiIKIAotIzogZGlmZi5jOjQ3MDIKKyM6IGRpZmYuYzo0NzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKIG1zZ3N0ciAi5oKo5Y+v6IO95oOz6KaB5bCG5Y+Y6YePICVzIOiuvue9ruS4uuiHs+WwkSAlZCDlubblho3mrKHmiafooYzmraTlkb3ku6TjgIIiCiAKLSM6IGRpci5jOjE4NjIKKyM6IGRpci5jOjE5NDgKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5peg5rOV6I635b6X5YaF5qC45ZCN56ew5ZKM5L+h5oGvIgogCi0jOiBkaXIuYzoxOTgxCisjOiBkaXIuYzoyMDY3CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAi57yT5a2Y5pyq6Lef6Liq5paH5Lu25Zyo5pys57O757uf5oiW5L2N572u5Lit6KKr56aB55So44CCIgogCi0jOiBkaXIuYzoyNzU5CisjOiBkaXIuYzoyODQ2IGRpci5jOjI4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCittc2dzdHIgIuS4jeiDveS4uiAlcyDliJvlu7rnm67lvZUiCisKKyM6IGRpci5jOjI4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG1pZ3JhdGUgZ2l0IGRpcmVjdG9yeSBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95LuOICclcycg6L+B56e7IGdpdCDnm67lvZXliLAgJyVzJyIKIAotIzogZmV0Y2gtcGFjay5jOjIxMworIzogZW50cnkuYzoyODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgZmlsZSAnJXMnIgorbXNnc3RyICLkuI3og73lr7nmlofku7YgJyVzJyDosIPnlKggc3RhdCIKKworIzogZmV0Y2gtcGFjay5jOjI1MQogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNr77ya5bqU5Li6IHNoYWxsb3cg5YiX6KGoIgogCi0jOiBmZXRjaC1wYWNrLmM6MjI1CisjOiBmZXRjaC1wYWNrLmM6MjYzCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNr77ya5bqU5Li6IEFDSy9OQUvvvIzljbTlvpfliLAgRU9GIgogCi0jOiBmZXRjaC1wYWNrLmM6MjQzCisjOiBmZXRjaC1wYWNrLmM6MjgyIGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCittc2dzdHIgIui/nOeoi+mUmeivr++8miVzIgorCisjOiBmZXRjaC1wYWNrLmM6MjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2vvvJrlupTkuLogQUNLL05BS++8jOWNtOW+l+WIsCAnJXMnIgogCi0jOiBmZXRjaC1wYWNrLmM6Mjk1CisjOiBmZXRjaC1wYWNrLmM6MzM1CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIOmcgOimgSBtdWx0aV9hY2tfZGV0YWlsZWQiCiAKLSM6IGZldGNoLXBhY2suYzozODEKKyM6IGZldGNoLXBhY2suYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICLml6DmlYjnmoQgc2hhbGxvdyDkv6Hmga/vvJolcyIKIAotIzogZmV0Y2gtcGFjay5jOjM4NworIzogZmV0Y2gtcGFjay5jOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAi5peg5pWI55qEIHVuc2hhbGxvdyDkv6Hmga/vvJolcyIKIAotIzogZmV0Y2gtcGFjay5jOjM4OQorIzogZmV0Y2gtcGFjay5jOjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3Qgbm90IGZvdW5kOiAlcyIKIG1zZ3N0ciAi5a+56LGh5pyq5om+5Yiw77yaJXMiCiAKLSM6IGZldGNoLXBhY2suYzozOTIKKyM6IGZldGNoLXBhY2suYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAi5a+56LGh5Lit5Ye66ZSZ77yaJXMiCiAKLSM6IGZldGNoLXBhY2suYzozOTQKKyM6IGZldGNoLXBhY2suYzo0MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCiBtc2dzdHIgIuacquWPkeeOsCBzaGFsbG9377yaJXMiCiAKLSM6IGZldGNoLXBhY2suYzozOTcKKyM6IGZldGNoLXBhY2suYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIKIG1zZ3N0ciAi5bqU5Li6IHNoYWxsb3cvdW5zaGFsbG9377yM5Y205b6X5YiwICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDM2CisjOiBmZXRjaC1wYWNrLmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAi5b6X5YiwICVzICVkICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDUwCisjOiBmZXRjaC1wYWNrLmM6NDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICLml6DmlYjmj5DkuqQgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0ODMKKyM6IGZldGNoLXBhY2suYzo1MjMKIG1zZ2lkICJnaXZpbmcgdXAiCiBtc2dzdHIgIuaUvuW8gyIKIAotIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorIzogZmV0Y2gtcGFjay5jOjUzMyBwcm9ncmVzcy5jOjIzNwogbXNnaWQgImRvbmUiCiBtc2dzdHIgIuWujOaIkCIKIAotIzogZmV0Y2gtcGFjay5jOjUwNQorIzogZmV0Y2gtcGFjay5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgKCVkKSAlcyIKIG1zZ3N0ciAi5b6X5YiwICVzICglZCkgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo1NTEKKyM6IGZldGNoLXBhY2suYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKIG1zZ3N0ciAi5qCH6K6wICVzIOS4uuWujOaIkCIKIAotIzogZmV0Y2gtcGFjay5jOjY5NworIzogZmV0Y2gtcGFjay5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAi5bey57uP5pyJICVz77yIJXPvvIkiCiAKLSM6IGZldGNoLXBhY2suYzo3MzUKKyM6IGZldGNoLXBhY2suYzo4MTMKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiZmV0Y2gtcGFja++8muaXoOazlea0vueUnyBzaWRlYmFuZCDlpJrot6/ovpPlh7oiCiAKLSM6IGZldGNoLXBhY2suYzo3NDMKKyM6IGZldGNoLXBhY2suYzo4MjEKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgogbXNnc3RyICLljY/orq7plJnor6/vvJrlnY/nmoTljIXlpLQiCiAKLSM6IGZldGNoLXBhY2suYzo3OTkKKyM6IGZldGNoLXBhY2suYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICJmZXRjaC1wYWNr77ya5peg5rOV5rS+55Sf6L+b56iLICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODE1CisjOiBmZXRjaC1wYWNrLmM6ODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGZhaWxlZCIKIG1zZ3N0ciAiJXMg5aSx6LSlIgogCi0jOiBmZXRjaC1wYWNrLmM6ODE3CisjOiBmZXRjaC1wYWNrLmM6ODk1CiBtc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAic2lkZWJhbmQg5aSa6Lev6L6T5Ye65Ye66ZSZIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ0CisjOiBmZXRjaC1wYWNrLmM6OTIyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgogbXNnc3RyICLmnI3liqHlmajkuI3mlK/mjIEgc2hhbGxsb3cg5a6i5oi356uvIgogCi0jOiBmZXRjaC1wYWNrLmM6ODQ4CisjOiBmZXRjaC1wYWNrLmM6OTI2CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjg1MQorIzogZmV0Y2gtcGFjay5jOjkyOQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgogbXNnc3RyICLmnI3liqHlmajmlK/mjIEgbm8tZG9uZSIKIAotIzogZmV0Y2gtcGFjay5jOjg1NworIzogZmV0Y2gtcGFjay5jOjkzNQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCiBtc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBtdWx0aV9hY2siCiAKLSM6IGZldGNoLXBhY2suYzo4NjEKKyM6IGZldGNoLXBhY2suYzo5MzkKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIHNpZGUtYmFuZC02NGsiCiAKLSM6IGZldGNoLXBhY2suYzo4NjUKKyM6IGZldGNoLXBhY2suYzo5NDMKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgogbXNnc3RyICLmnI3liqHlmajmlK/mjIEgc2lkZS1iYW5kIgogCi0jOiBmZXRjaC1wYWNrLmM6ODY5CisjOiBmZXRjaC1wYWNrLmM6OTQ3CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCiBtc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6ODczCisjOiBmZXRjaC1wYWNrLmM6OTUxCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCiBtc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6ODgzCisjOiBmZXRjaC1wYWNrLmM6OTYxCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIG9mcy1kZWx0YSIKIAotIzogZmV0Y2gtcGFjay5jOjg5MAorIzogZmV0Y2gtcGFjay5jOjk2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgogbXNnc3RyICLmnI3liqHlmajniYjmnKwgJS4qcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NgorIzogZmV0Y2gtcGFjay5jOjk3NAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5LiN5pSv5oyBIC0tc2hhbGxvdy1zaW5jZSIKIAotIzogZmV0Y2gtcGFjay5jOjkwMAorIzogZmV0Y2gtcGFjay5jOjk3OAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1leGNsdWRlIgogbXNnc3RyICLmnI3liqHlmajkuI3mlK/mjIEgLS1zaGFsbG93LWV4Y2x1ZGUiCiAKLSM6IGZldGNoLXBhY2suYzo5MDIKKyM6IGZldGNoLXBhY2suYzo5ODAKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5LiN5pSv5oyBIC0tZGVlcGVuIgogCi0jOiBmZXRjaC1wYWNrLmM6OTEzCisjOiBmZXRjaC1wYWNrLmM6OTkxCiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgIuayoeacieWFseWQjOeahOaPkOS6pCIKIAotIzogZmV0Y2gtcGFjay5jOjkyNQorIzogZmV0Y2gtcGFjay5jOjEwMDMKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2vvvJrojrflj5blpLHotKXjgIIiCiAKLSM6IGZldGNoLXBhY2suYzoxMDg3CisjOiBmZXRjaC1wYWNrLmM6MTE2NQogbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgogbXNnc3RyICLmsqHmnInljLnphY3nmoTov5znqIvliIbmlK8iCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxODUKKyM6IGZldGNoLXBhY2suYzoxMTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAi5rKh5pyJ6L+Z5qC355qE6L+c56iL5byV55SoICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKK21zZ3N0ciAi5pyN5Yqh5Zmo5LiN5YWB6K646K+35rGC5pyq5YWs5byA55qE5a+56LGhICVzIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTgxCiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICJncGcg5peg5rOV5Li65pWw5o2u562+5ZCNIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjE1CisjOiBncGctaW50ZXJmYWNlLmM6MjExCiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAi5LiN6IO95Yib5bu65Li05pe25paH5Lu2IgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjE3CisjOiBncGctaW50ZXJmYWNlLmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICLml6Dms5XlsIbliIbnprvlvI/nrb7lkI3lhpnlhaUgJyVzJyIKIAotIzogZ3JhcGguYzo5NgorIzogZ3JhcGguYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgogbXNnc3RyICLlv73nlaUgbG9nLmdyYXBoQ29sb3JzIOS4reaXoOaViOeahOminOiJsiAnJS4qcyciCiAKLSM6IGdyZXAuYzoxNzk0CisjOiBncmVwLmM6MTk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJ++8muaXoOazleivu+WPliAlcyIKIAotIzogZ3JlcC5jOjE4MTEgYnVpbHRpbi9jbG9uZS5jOjM4MSBidWlsdGluL2RpZmYuYzo4MSBidWlsdGluL3JtLmM6MTMzCisjOiBncmVwLmM6MTk5OCBidWlsdGluL2Nsb25lLmM6NDAzIGJ1aWx0aW4vZGlmZi5jOjgxIGJ1aWx0aW4vcm0uYzoxMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKLW1zZ3N0ciAi5peg5rOV5p6a5Li+ICclcycg54q25oCBIgorbXNnc3RyICLlr7kgJyVzJyDosIPnlKggc3RhdCDlpLHotKUiCiAKLSM6IGdyZXAuYzoxODIyCisjOiBncmVwLmM6MjAwOQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICInJXMn77ya6K+75Y+W5LiN5a6M5pW0IgogCi0jOiBoZWxwLmM6MjE4CisjOiBoZWxwLmM6MTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAi5ZyoICclcycg5LiL5Y+v55So55qEIGdpdCDlkb3ku6QiCiAKLSM6IGhlbHAuYzoyMjUKKyM6IGhlbHAuYzoxODYKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgIuWcqCAkUEFUSCDot6/lvoTkuK3nmoTlhbbku5blnLDmlrnlj6/nlKjnmoQgZ2l0IOWRveS7pCIKIAotIzogaGVscC5jOjI1NgorIzogaGVscC5jOjIxNwogbXNnaWQgIlRoZXNlIGFyZSBjb21tb24gR2l0IGNvbW1hbmRzIHVzZWQgaW4gdmFyaW91cyBzaXR1YXRpb25zOiIKIG1zZ3N0ciAi6L+Z5Lqb5piv5ZCE56eN5Zy65ZCI5bi46KeB55qEIEdpdCDlkb3ku6TvvJoiCiAKLSM6IGhlbHAuYzozMjEKKyM6IGhlbHAuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTE4OTIsMzAgKzE5NzUsNTAgQEAKICInJXMnIOWDj+aYr+S4gOS4qiBnaXQg5ZG95Luk77yM5L2G5Y205peg5rOV6L+Q6KGM44CCXG4iCiAi5Y+v6IO95pivIGdpdC0lcyDlj5fmjZ/vvJ8iCiAKLSM6IGhlbHAuYzozNzYKKyM6IGhlbHAuYzozMzYKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAi5ZSJ5ZGA77yM5oKo55qE57O757uf5Lit5pyq5Y+R546wIEdpdCDlkb3ku6TjgIIiCiAKLSM6IGhlbHAuYzozOTgKKyM6IGhlbHAuYzozNTgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKLSJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciCi1tc2dzdHIgIiIKLSLorablkYrvvJrmgqjov5DooYzkuIDkuKrkuI3lrZjlnKjnmoQgR2l0IOWRveS7pCAnJXMn44CC57un57ut5omn6KGM5YGH5a6a5oKo6KaB6L+Q6KGM55qEXG4iCi0i5pivICclcyciCittc2dpZCAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi6K2m5ZGK77ya5oKo6L+Q6KGM5LqG5LiA5Liq5bm25LiN5a2Y5Zyo55qEIEdpdCDlkb3ku6QgJyVzJ+OAgiIKIAotIzogaGVscC5jOjQwMworIzogaGVscC5jOjM2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCi1tc2dzdHIgIuWcqCAlMC4xZiDnp5Lpkp/lkI7oh6rliqjov5DooYwuLi4iCittc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKK21zZ3N0ciAi5YGH5a6a5L2g5oOz6KaB55qE5pivICclcycg5bm257un57ut44CCIgogCi0jOiBoZWxwLmM6NDEwCisjOiBoZWxwLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIuWBh+WumuS9oOaDs+imgeeahOaYryAnJTIkcyfvvIzlnKggJTEkMC4xZiDnp5Lpkp/lkI7nu6fnu63jgIIiCisKKyM6IGhlbHAuYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l077yaJyVzJyDkuI3mmK/kuIDkuKogZ2l0IOWRveS7pOOAguWPguingSAnZ2l0IC0taGVscCfjgIIiCiAKLSM6IGhlbHAuYzo0MTQgaGVscC5jOjQ4MAorIzogaGVscC5jOjM4MAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmRzIGFyZSIKK21zZ3N0clswXSAiXG7mnIDnm7jkvLznmoTlkb3ku6TmmK8iCittc2dzdHJbMV0gIlxu5pyA55u45Ly855qE5ZG95Luk5pivIgorCisjOiBoZWxwLmM6Mzk1Cittc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB2ZXJzaW9uIFs86YCJ6aG5Pl0iCisKKyM6IGhlbHAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIC0gJXMiCittc2dzdHIgIiVz77yaJXMgLSAlcyIKKworIzogaGVscC5jOjQ2MAogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0xOTI5LDEyICsyMDMyLDcgQEAKICJcbiIKICLmgqjmjIfnmoTmmK/ov5nlhbbkuK3nmoTmn5DkuIDkuKrkuYjvvJ8iCiAKLSM6IGhlbHAuYzo0NzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzIC0gJXMiCi1tc2dzdHIgIiVz77yaJXMgLSAlcyIKLQotIzogaWRlbnQuYzozMzQKKyM6IGlkZW50LmM6MzQyCiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTE5NTksNiArMjA1NywzOSBAQAogIuadpeiuvue9ruaCqOi0puWPt+eahOe8uuecgei6q+S7veagh+ivhuOAglxuIgogIuWmguaenOS7heWcqOacrOS7k+W6k+iuvue9rui6q+S7veagh+ivhu+8jOWImeecgeeVpSAtLWdsb2JhbCDlj4LmlbDjgIJcbiIKIAorIzogaWRlbnQuYzozNjYKK21zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICLmnKrmj5Dkvpvpgq7ku7blnLDlnYDkuJToh6rliqjmjqLmtYvooqvnpoHnlKgiCisKKyM6IGlkZW50LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCittc2dzdHIgIuaXoOazleiHquWKqOaOoua1i+mCruS7tuWcsOWdgO+8iOW+l+WIsCAnJXMn77yJIgorCisjOiBpZGVudC5jOjM4MQorbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKK21zZ3N0ciAi5pyq5o+Q5L6b5aeT5ZCN5LiU6Ieq5Yqo5o6i5rWL6KKr56aB55SoIgorCisjOiBpZGVudC5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgorbXNnc3RyICLml6Dms5Xoh6rliqjmjqLmtYvlp5PlkI3vvIjlvpfliLAgJyVzJ++8iSIKKworIzogaWRlbnQuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgorbXNnc3RyICLkuI3lhYHorrjnqbrnmoTlp5PlkI3vvIjlr7nkuo4gPCVzPu+8iSIKKworIzogaWRlbnQuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCittc2dzdHIgIuWnk+WQjeS4reS7heWMheWQq+emgeeUqOWtl+espu+8miVzIgorCisjOiBpZGVudC5jOjQxNiBidWlsdGluL2NvbW1pdC5jOjYxMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKK21zZ3N0ciAi5peg5pWI55qE5pel5pyf5qC85byP77yaJXMiCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTE5ODYsMTA5ICsyMTE3LDEyNyBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W57yT5a2YIgogCi0jOiBtZXJnZS5jOjk2IGJ1aWx0aW4vYW0uYzoyMDAwIGJ1aWx0aW4vYW0uYzoyMDM1IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzQKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODggYnVpbHRpbi9jbG9uZS5jOjczMQorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MTk4MCBidWlsdGluL2FtLmM6MjAxNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTkxIGJ1aWx0aW4vY2xvbmUuYzo3NTMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWGmeaWsOeahOe0ouW8leaWh+S7tiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTAKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAi77yI5Z2P5o+Q5Lqk77yJXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMSBtZXJnZS1yZWN1cnNpdmUuYzoyMzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMiBtZXJnZS1yZWN1cnNpdmUuYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi5Li66Lev5b6EICclcycgYWRkaW5mb19jYWNoZSDlpLHotKUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA0CiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIuaXoOazleWIm+W7uuagkSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAi5peg5rOV5Yib5bu66Lev5b6EICclcyclcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzM4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAi5Yig6ZmkICVzIOS7peS+v+S4uuWtkOebruW9leeVmeWHuuepuumXtFxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTIgbWVyZ2UtcmVjdXJzaXZlLmM6NzcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTMgbWVyZ2UtcmVjdXJzaXZlLmM6NzcyCiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAi77ya5Y+v6IO95piv5LiA5Liq55uu5b2VL+aWh+S7tuWGsueqge+8nyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzYxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICLmi5Lnu53kuKLlvIMgJyVzJyDkuK3nmoTmnKrot5/ouKrmlofku7YiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwMyBidWlsdGluL2NhdC1maWxlLmM6MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNCBidWlsdGluL2NhdC1maWxlLmM6MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgIuS4jeiDveivu+WPluWvueixoSAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICIlcyAnJXMnIOW6lOS4uuaVsOaNruWvueixoSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgIuaXoOazleaJk+W8gCAnJXMn77yaJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgogbXNnc3RyICLml6Dms5XliJvlu7rnrKblj7fpk77mjqUgJyVzJ++8miVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4NDUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICLkuI3nn6XpgZPlpoLkvZXlpITnkIYgJTA2byAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NgogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICLml6Dms5XmiafooYzlhoXpg6jlkIjlubYiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIuS4jeiDvea3u+WKoCAlcyDoh7Plr7nosaHlupMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODggbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgogImluIHRyZWUuIgogbXNnc3RyICIiCi0i5Yay56qB77yIJTEkcy/liKDpmaTvvInvvJolMiRzIOWcqCAlMyRzIOS4reiiq+WIoOmZpO+8jOWcqCAlNSRzIOS4reiiqyAlNCRz44CCJTckcyDlnKggJTYkcyDkuK0iCi0i55qE54mI5pys6KKr5L+d55WZ44CCIgorIuWGsueqge+8iCUxJHMv5Yig6Zmk77yJ77yaJTIkcyDlnKggJTMkcyDkuK3ooqvliKDpmaTvvIzlnKggJTUkcyDkuK3ooqsgJTQkc+OAgiU3JHMg55qEICU2JHMg54mIIgorIuacrOiiq+S/neeVmeOAgiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NCBtZXJnZS1yZWN1cnNpdmUuYzoxMTA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgorImxlZnQgaW4gdHJlZS4iCittc2dzdHIgIiIKKyLlhrLnqoHvvIglMSRzL+WIoOmZpO+8ie+8miUyJHMg5ZyoICUzJHMg5Lit6KKr5Yig6Zmk77yM5ZyoICU2JHMg5Lit55qEICU1JHMg6KKrICU0JHPjgIIlOCRzIOeahCAiCisiJTckcyDniYjmnKzooqvkv53nlZnjgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKICJpbiB0cmVlIGF0ICVzLiIKIG1zZ3N0ciAiIgotIuWGsueqge+8iCUxJHMv5Yig6Zmk77yJ77yaJTIkcyDlnKggJTMkcyDkuK3ooqvliKDpmaTvvIzlnKggJTUkcyDkuK3ooqsgJTQkc+OAgiU3JHMg5ZyoICU2JHMg5LitIgotIueahOeJiOacrOS/neeVmeS6jiAlOCRzIOS4reOAgiIKKyLlhrLnqoHvvIglMSRzL+WIoOmZpO+8ie+8miUyJHMg5ZyoICUzJHMg5Lit6KKr5Yig6Zmk77yM5ZyoICU1JHMg5Lit6KKrICU0JHPjgIIlNyRzIOeahCAlNiRzIOeJiCIKKyLmnKzkv53nlZnlnKggJTgkcyDkuK3jgIIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorIuWGsueqge+8iCUxJHMv5Yig6Zmk77yJ77yaJTIkcyDlnKggJTMkcyDkuK3ooqvliKDpmaTvvIzlnKggJTYkcyDkuK3nmoQgJTUkcyDooqsgJTQkc+OAgiU4JHMg55qEICIKKyIlNyRzIOeJiOacrOS/neeVmeWcqCAlOSRzIOS4reOAgiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0NAogbXNnaWQgInJlbmFtZSIKIG1zZ3N0ciAi6YeN5ZG95ZCNIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTUwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQ0CiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAi6YeN5ZG95ZCNIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyDmmK8gJXMg5Lit55qE5LiA5Liq55uu5b2V6ICM5LulICVzIOS4uuWQjeiiq+a3u+WKoCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTIwOTcsMTM1ICsyMjQ2LDEzNSBAQAogIuWGsueqge+8iOmHjeWRveWQjS/ph43lkb3lkI3vvInvvJrlnKjliIbmlK8gXCIlMyRzXCIg5Lit6YeN5ZG95ZCNIFwiJTEkc1wiLT5cIiUyJHNcIu+8jOWcqOWIhuaUryAiCiAiXCIlNiRzXCIg5Lit6YeN5ZG95ZCNIFwiJTQkc1wiLT5cIiU1JHNcIiU3JHMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzEKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIu+8iOeVmeS4i+acquino+WGs++8iSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI5OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKICLlhrLnqoHvvIjph43lkb3lkI0v6YeN5ZG95ZCN77yJ77ya5ZyoICUzJHMg5Lit6YeN5ZG95ZCNICUxJHMtPiUyJHPvvIzlnKggJTYkcyDkuK3ph43lkb3lkI0gJTQkcy0+IgogIiU1JHMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgIuiAjOaYr+mHjeWRveWQjSAlcyDoh7MgJXPvvIzku6Xlj4ogJXMg6IezICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCiBtc2dzdHIgIuWGsueqge+8iOmHjeWRveWQjS/mt7vliqDvvInvvJrlnKggJTMkcyDkuK3ph43lkb3lkI0gJTEkcy0+JTIkc+OAguWcqCAlNSRzIOS4rea3u+WKoCAlNCRzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCiBtc2dzdHIgIua3u+WKoOWQiOW5tuWQjueahCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1NyBtZXJnZS1yZWN1cnNpdmUuYzoxNzcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUxIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIuiAjOaYr+S7pSAlcyDkuLrlkI3mt7vliqAiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICLkuI3og73or7vlj5blr7nosaEgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgIuWvueixoSAlcyDkuI3mmK/kuIDkuKrmlbDmja7lr7nosaEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODAKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgIuS/ruaUuSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MAogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICLkv67mlLkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTAKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICLlhoXlrrkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTcKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICLmt7vliqAv5re75YqgIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzIzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAi55Wl6L+HICVz77yI5bey57uP5YGa6L+H55u45ZCM5ZCI5bm277yJIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAi6Ieq5Yqo5ZCI5bm2ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQxIGdpdC1zdWJtb2R1bGUuc2g6OTMwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzUxIGdpdC1zdWJtb2R1bGUuc2g6OTQ1CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICLlrZDmqKHnu4QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIuWGsueqge+8iCVz77yJ77ya5ZCI5bm25Yay56qB5LqOICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODM2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICLliKDpmaQgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzIKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAi5paH5Lu2L+ebruW9lSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3OAogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICLnm67lvZUv5paH5Lu2IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICLlhrLnqoHvvIglMSRz77yJ77ya5ZyoICUzJHMg5Lit5pyJ5LiA5Liq5ZCN5Li6ICUyJHMg55qE55uu5b2V44CC5LulICU1JHMg5Li65ZCN5re75YqgICU0JHMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4ODMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICLmt7vliqAgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzAKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICLlt7Lnu4/mmK/mnIDmlrDnmoTvvIEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICLml6Dms5XlkIjlubbmoJEgJXMg5ZKMICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDIyCiBtc2dpZCAiTWVyZ2luZzoiCiBtc2dzdHIgIuWQiOW5tu+8miIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgogbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKIG1zZ3N0clswXSAi5Y+R546wICV1IOS4quWFseWQjOelluWFiO+8miIKIG1zZ3N0clsxXSAi5Y+R546wICV1IOS4quWFseWQjOelluWFiO+8miIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA2NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA3NAogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAi5ZCI5bm25pyq6L+U5Zue5o+Q5LqkIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTI3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5a+56LGhICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNDEgYnVpbHRpbi9tZXJnZS5jOjY0NSBidWlsdGluL21lcmdlLmM6NzkyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTUxIGJ1aWx0aW4vbWVyZ2UuYzo2NDYgYnVpbHRpbi9tZXJnZS5jOjc5MwogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIuS4jeiDveWGmeWFpee0ouW8leOAgiIKIApAQCAtMjI0NSwyMyArMjM5NCwyNSBAQAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCiBtc2dzdHIgIuaCqOWwmuacque7k+adn+azqOmHiuWQiOW5tu+8iOWtmOWcqCAlc++8ieOAgiIKIAotIzogbm90ZXMtdXRpbHMuYzo0MQorIzogbm90ZXMtdXRpbHMuYzo0MgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAi5LiN6IO95o+Q5Lqk5pyq5Yid5aeL5YyWL+acquW8leeUqOeahOazqOino+agkSIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDAKKyM6IG5vdGVzLXV0aWxzLmM6MTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAi5Z2P55qEIG5vdGVzLnJld3JpdGVNb2RlIOWAvO+8miclcyciCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTEwCisjOiBub3Rlcy11dGlscy5jOjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAi5ouS57ud5ZCRICVz77yI5ZyoIHJlZnMvbm90ZXMvIOS5i+Wklu+8ieWGmeWFpeazqOinoyIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKLSMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQotIzogbm90ZXMtdXRpbHMuYzoxMzcKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgdGhlIG5hbWUgb2YKKyMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcworIy4gaXRzIHZhbHVlLgorIy4KKyM6IG5vdGVzLXV0aWxzLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAi5Z2P55qEICVzIOWAvO+8miclcyciCkBAIC0yMjcxLDI5ICsyNDIyLDMwIEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgIuS4jeiDveino+aekOWvueixoe+8miVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NTcyCisjOiBwYXJzZS1vcHRpb25zLmM6NTczCiBtc2dpZCAiLi4uIgogbXNnc3RyICIuLi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1OTAKKyM6IHBhcnNlLW9wdGlvbnMuYzo1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICLnlKjms5XvvJolcyIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQotIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uCi0jOiBwYXJzZS1vcHRpb25zLmM6NTk0CisjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCisjLgorIzogcGFyc2Utb3B0aW9ucy5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiAg5oiW77yaJXMiCiAKICMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogcGFyc2Utb3B0aW9ucy5jOjU5NworIzogcGFyc2Utb3B0aW9ucy5jOjYwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjYzMQorIzogcGFyc2Utb3B0aW9ucy5jOjYzNAogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi3mlbDlrZciCiAKQEAgLTIzMDIsNjYgKzI0NTQsNzggQEAKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKIG1zZ3N0ciAi6Z2e5rOV55qE5a+56LGh5ZCNICclcyciCiAKLSM6IHBhdGguYzo4MjYKKyM6IHBhdGguYzo4OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgIuS4jeiDveiuvue9riAlcyDkuLrnu4Tlj6/lhpkiCiAKLSM6IHBhdGhzcGVjLmM6MTQyCisjOiBwYXRoc3BlYy5jOjEyOQorbXNnaWQgIkVzY2FwZSBjaGFyYWN0ZXIgJ1xcJyBub3QgYWxsb3dlZCBhcyBsYXN0IGNoYXJhY3RlciBpbiBhdHRyIHZhbHVlIgorbXNnc3RyICLovazkuYnlrZfnrKYgJ1xcJyDkuI3og73kvZzkuLrlsZ7mgKflgLznmoTmnIDlkI7kuIDkuKrlrZfnrKYiCisKKyM6IHBhdGhzcGVjLmM6MTQ3Cittc2dpZCAiT25seSBvbmUgJ2F0dHI6JyBzcGVjaWZpY2F0aW9uIGlzIGFsbG93ZWQuIgorbXNnc3RyICLlj6rlhYHorrjkuIDkuKogJ2F0dHI6JyDop4TmoLzjgIIiCisKKyM6IHBhdGhzcGVjLmM6MTUwCittc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgorbXNnc3RyICLlsZ7mgKfop4TmoLzkuI3og73kuLrnqboiCisKKyM6IHBhdGhzcGVjLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCittc2dzdHIgIuaXoOaViOeahOWxnuaAp+WQjSAlcyIKKworIzogcGF0aHNwZWMuYzoyNTgKIG1zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICLlhajlsYDnmoQgJ2dsb2InIOWSjCAnbm9nbG9iJyDot6/lvoTop4TmoLzorr7nva7kuI3lhbzlrrkiCiAKLSM6IHBhdGhzcGVjLmM6MTQ5CisjOiBwYXRoc3BlYy5jOjI2NQogbXNnaWQgIiIKICJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCiAicGF0aHNwZWMgc2V0dGluZ3MiCiBtc2dzdHIgIuWFqOWxgOeahCAnbGl0ZXJhbCcg6Lev5b6E6KeE5qC86K6+572u5ZKM5YW25a6D55qE5YWo5bGA6Lev5b6E6KeE5qC86K6+572u5LiN5YW85a65IgogCi0jOiBwYXRoc3BlYy5jOjE4OAorIzogcGF0aHNwZWMuYzozMDUKIG1zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCiBtc2dzdHIgIui3r+W+hOinhOagvOWMheWQq+aXoOaViOeahOelnuWlh+WJjee8gCIKIAotIzogcGF0aHNwZWMuYzoyMDEKKyM6IHBhdGhzcGVjLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCiBtc2dzdHIgIuWcqOi3r+W+hOinhOagvCAnJTMkcycg5Lit5peg5pWI55qE56We5aWH5YmN57yAICclMiQuKjEkcyciCiAKLSM6IHBhdGhzcGVjLmM6MjA2CisjOiBwYXRoc3BlYy5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCiBtc2dzdHIgIui3r+W+hOinhOagvCAnJXMnIOeahOelnuWlh+WJjee8gOe7k+WwvuWwkeS6huS4gOS4qiAnKSciCiAKLSM6IHBhdGhzcGVjLmM6MjM4CisjOiBwYXRoc3BlYy5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKIG1zZ3N0ciAi6Lev5b6E6KeE5qC8ICclMiRzJyDkuK3ljIXlkKvmnKrlrp7njrDnmoTnpZ7lpYfliY3nvIAgJyUxJGMnIgogCi0jOiBwYXRoc3BlYy5jOjI5MyBwYXRoc3BlYy5jOjMxNQotIywgYy1mb3JtYXQKLW1zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCi1tc2dzdHIgIui3r+W+hOinhOagvCAnJXMnIOWcqOWtkOaooee7hCAnJS4qcycg5LitIgotCi0jOiBwYXRoc3BlYy5jOjM1MAorIzogcGF0aHNwZWMuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiVz77yaJ2xpdGVyYWwnIOWSjCAnZ2xvYicg5LiN5YW85a65IgogCi0jOiBwYXRoc3BlYy5jOjM2MworIzogcGF0aHNwZWMuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIlc++8miclcycg5Zyo5LuT5bqT5LmL5aSWIgogCi0jOiBwYXRoc3BlYy5jOjQ1MQorIzogcGF0aHNwZWMuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyAobW5lbW9uaWM6ICclYycpIgogbXNnc3RyICInJXMn77yI5Yqp6K6w56ym77yaJyVjJ++8iSIKIAotIzogcGF0aHNwZWMuYzo0NjEKKyM6IHBhdGhzcGVjLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCiBtc2dzdHIgIiVz77ya6Lev5b6E6KeE5qC856We5aWH5YmN57yA5LiN6KKr5q2k5ZG95Luk5pSv5oyB77yaJXMiCiAKLSM6IHBhdGhzcGVjLmM6NTExCisjOiBwYXRoc3BlYy5jOjU3NQogbXNnaWQgIiIKICJlbXB0eSBzdHJpbmdzIGFzIHBhdGhzcGVjcyB3aWxsIGJlIG1hZGUgaW52YWxpZCBpbiB1cGNvbWluZyByZWxlYXNlcy4gcGxlYXNlICIKICJ1c2UgLiBpbnN0ZWFkIGlmIHlvdSBtZWFudCB0byBtYXRjaCBhbGwgcGF0aHMiCkBAIC0yMzY5LDI0ICsyNTMzLDE2IEBACiAi5Zyo5LiL5LiA5Liq54mI5pys5Lit77yM5L2/55So56m65a2X56ym5Liy5L2c5Li66Lev5b6E6KeE5qC85bCG6KKr6KeG5L2c6Z2e5rOV44CC5aaC5p6c6KaB5Yy56YWN5omA5pyJ6Lev5b6E77yMXG4iCiAi6K+35Luj5LmL5LulIC4iCiAKLSM6IHBhdGhzcGVjLmM6NTM1CisjOiBwYXRoc3BlYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIui3r+W+hOinhOagvCAnJXMnIOS9jeS6juespuWPt+mTvuaOpeS4rSIKIAotIzogcGF0aHNwZWMuYzo1NDQKLW1zZ2lkICIiCi0iVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKLSJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgotbXNnc3RyICIiCi0i5rKh5pyJ5Li6IDooZXhjbHVkZSkg5qih5byP5o+Q5L6b6KaB5b+955Wl55qE5YaF5a6544CC5Lmf6K645oKo5b+Y6K6w5LqGXG4iCi0i5re75YqgICc6Lycg5oiWICcuJyDvvJ8iCi0KLSM6IHByZXR0eS5jOjk4MgorIzogcHJldHR5LmM6OTYzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6QIC0tcHJldHR5IOagvOW8jyIKIAotIzogcmVhZC1jYWNoZS5jOjEzMDcKKyM6IHJlYWQtY2FjaGUuYzoxNDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMjM5NSw3ICsyNTUxLDcgQEAKICLorr7nva7kuoYgaW5kZXgudmVyc2lvbu+8jOS9huaYr+WPluWAvOaXoOaViOOAglxuIgogIuS9v+eUqOeJiOacrCAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjEzMTcKKyM6IHJlYWQtY2FjaGUuYzoxNDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTI0MDQsMjUyICsyNTYwLDM2NiBAQAogIuiuvue9ruS6hiBHSVRfSU5ERVhfVkVSU0lPTu+8jOS9huaYr+WPluWAvOaXoOaViOOAglxuIgogIuS9v+eUqOeJiOacrCAlaSIKIAotIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQ0CisjOiByZWFkLWNhY2hlLmM6MjMwOCBidWlsdGluL21lcmdlLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAi5LiN6IO95YWz6ZetICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzoyMzgzIHNlcXVlbmNlci5jOjEzNTMgc2VxdWVuY2VyLmM6MjA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgorbXNnc3RyICLkuI3og73lr7kgJyVzJyDosIPnlKggc3RhdCIKKworIzogcmVhZC1jYWNoZS5jOjIzOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gZ2l0IGRpcjogJXMiCittc2dzdHIgIuS4jeiDveaJk+W8gCBnaXQg55uu5b2V77yaJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyNDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgorbXNnc3RyICLml6Dms5XliKDpmaTvvJolcyIKKworIzogcmVmcy5jOjYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyDov5vooYzlhpnlhaUiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODEKKyM6IHJlZnMuYzoxNzY5Cittc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgorbXNnc3RyICLlnKjpmpTnprvnjq/looPkuK3npoHmraLmm7TmlrDlvJXnlKgiCisKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjE2NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgogbXNnc3RyICLml6Dms5XliKDpmaTlvJXnlKggJXPvvJolcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICLml6Dms5XliKDpmaTlvJXnlKjvvJolcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ5MworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTY3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAi5peg5rOV5Yig6Zmk5byV55SoICVzIgogCi0jOiByZWYtZmlsdGVyLmM6NTYKKyM6IHJlZi1maWx0ZXIuYzozNSB3dC1zdGF0dXMuYzoxODExCittc2dpZCAiZ29uZSIKK21zZ3N0ciAi5Lii5aSxIgorCisjOiByZWYtZmlsdGVyLmM6MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWhlYWQgJWQiCittc2dzdHIgIumihuWFiCAlZCIKKworIzogcmVmLWZpbHRlci5jOjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImJlaGluZCAlZCIKK21zZ3N0ciAi6JC95ZCOICVkIgorCisjOiByZWYtZmlsdGVyLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWhlYWQgJWQsIGJlaGluZCAlZCIKK21zZ3N0ciAi6aKG5YWIICVk77yM6JC95ZCOICVkIgorCisjOiByZWYtZmlsdGVyLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgIuacn+acm+eahOagvOW8j++8miUlKGNvbG9yOjxjb2xvcj4pIgogCi0jOiByZWYtZmlsdGVyLmM6NTgKKyM6IHJlZi1maWx0ZXIuYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGNvbG9yOiAlJShjb2xvcjolcykiCiBtc2dzdHIgIuacquiDveivhuWIq+eahOminOiJsu+8miUlKGNvbG9yOiVzKSIKIAotIzogcmVmLWZpbHRlci5jOjcyCisjOiByZWYtZmlsdGVyLmM6MTIxCiAjLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQ6ICUlKCVzKSIKLW1zZ3N0ciAi5pyq6IO96K+G5Yir55qE5qC85byP77yaJSUoJXMpIgorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpsc3RyaXA9JXMiCittc2dzdHIgIuacn+acm+aVtOaVsOWAvCByZWZuYW1lOmxzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjc4CisjOiByZWYtZmlsdGVyLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCittc2dzdHIgIuacn+acm+aVtOaVsOWAvCByZWZuYW1lOnJzdHJpcD0lcyIKKworIzogcmVmLWZpbHRlci5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5pyq6IO96K+G5Yir55qEICUlKCVzKSDlj4LmlbDvvJolcyIKKworIzogcmVmLWZpbHRlci5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShib2R5KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoYm9keSkg5LiN5bim5Y+C5pWwIgogCi0jOiByZWYtZmlsdGVyLmM6ODUKKyM6IHJlZi1maWx0ZXIuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKHN1YmplY3QpIOS4jeW4puWPguaVsCIKIAotIzogcmVmLWZpbHRlci5jOjkyCisjOiByZWYtZmlsdGVyLmM6MTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHRyYWlsZXJzKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUodHJhaWxlcnMpIOS4jeW4puWPguaVsCIKIAotIzogcmVmLWZpbHRlci5jOjExMQorIzogcmVmLWZpbHRlci5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKLW1zZ3N0ciAi6KaB5Li6IGNvbnRlbnRzOmxpbmVzPSVzIOaPkOS+m+S4gOS4quato+aVsCIKK21zZ3N0ciAi5pyf5pyb5LiA5Liq5q2j5pWwIGNvbnRlbnRzOmxpbmVzPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTEzCisjOiByZWYtZmlsdGVyLmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShjb250ZW50cykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLmnKrog73or4bliKvnmoQgJSUoY29udGVudHMpIOWPguaVsO+8miVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTIzCisjOiByZWYtZmlsdGVyLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIG9iamVjdG5hbWU6c2hvcnQ9JXMiCittc2dzdHIgIuacn+acm+S4gOS4quato+aVsCBvYmplY3RuYW1lOnNob3J0PSVzIgorCisjOiByZWYtZmlsdGVyLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuacquiDveivhuWIq+eahCAlJShvYmplY3RuYW1lKSDlj4LmlbDvvJolcyIKIAotIzogcmVmLWZpbHRlci5jOjE0NQorIzogcmVmLWZpbHRlci5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiBtc2dzdHIgIuacn+acm+eahOagvOW8j++8miUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNTcKKyM6IHJlZi1maWx0ZXIuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICLmnKrog73or4bliKvnmoTkvY3nva7vvJolcyIKIAotIzogcmVmLWZpbHRlci5jOjE2MQorIzogcmVmLWZpbHRlci5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCiBtc2dzdHIgIuacquiDveivhuWIq+eahOWuveW6pu+8miVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTY3CisjOiByZWYtZmlsdGVyLmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShhbGlnbikgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLmnKrog73or4bliKvnmoQgJSUoYWxpZ24pIOWPguaVsO+8miVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTcxCisjOiByZWYtZmlsdGVyLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgogbXNnc3RyICLlhYPntKAgJSUoYWxpZ24pIOmcgOimgeS4gOS4quato+aVsOeahOWuveW6piIKIAotIzogcmVmLWZpbHRlci5jOjI1NQorIzogcmVmLWZpbHRlci5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoaWYpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5pyq6IO96K+G5Yir55qEICUlKGlmKSDlj4LmlbDvvJolcyIKKworIzogcmVmLWZpbHRlci5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAi6Z2e5rOV55qE5a2X5q615ZCN77yaJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjI4MQorIzogcmVmLWZpbHRlci5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIuacquefpeeahOWtl+auteWQje+8miUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzozODMKKyM6IHJlZi1maWx0ZXIuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShpZikgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICLmoLzlvI/vvJrkvb/nlKjkuoYgJSUoaWYpIOWFg+e0oOiAjOayoeaciSAlJSh0aGVuKSDlhYPntKAiCisKKyM6IHJlZi1maWx0ZXIuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAi5qC85byP77ya5L2/55So5LqGICUlKHRoZW4pIOWFg+e0oOiAjOayoeaciSAlJShpZikg5YWD57SgIgorCisjOiByZWYtZmlsdGVyLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLmoLzlvI/vvJolJSh0aGVuKSDlhYPntKDnlKjkuoblpJrmrKEiCisKKyM6IHJlZi1maWx0ZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCittc2dzdHIgIuagvOW8j++8miUlKHRoZW4pIOWFg+e0oOeUqOWcqOS6hiAlJShlbHNlKSDkuYvlkI4iCisKKyM6IHJlZi1maWx0ZXIuYzo1OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAi5qC85byP77ya5L2/55So5LqGICUlKGVsc2UpIOWFg+e0oOiAjOayoeaciSAlJShpZikg5YWD57SgIgorCisjOiByZWYtZmlsdGVyLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICLmoLzlvI/vvJrkvb/nlKjkuoYgJSUoZWxzZSkg5YWD57Sg6ICM5rKh5pyJICUlKHRoZW4pIOWFg+e0oCIKKworIzogcmVmLWZpbHRlci5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi5qC85byP77yaJSUoZWxzZSkg5YWD57Sg55So5LqG5aSa5qyhIgorCisjOiByZWYtZmlsdGVyLmM6NjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCiBtc2dzdHIgIuagvOW8j++8muS9v+eUqOS6hiAlJShlbmQpIOWFg+e0oOWNtOayoeacieWug+eahOWvueW6lOWFg+e0oCIKIAotIzogcmVmLWZpbHRlci5jOjQzNQorIzogcmVmLWZpbHRlci5jOjY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKIG1zZ3N0ciAi6Z2e5rOV55qE5qC85byP5YyW5a2X56ym5LiyICVzIgogCi0jOiByZWYtZmlsdGVyLmM6ODk4Ci1tc2dpZCAiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiCi1tc2dzdHIgIjpzdHJpcD0g6ZyA6KaB5LiA5Liq5q2j5pW05Z6L5Y+C5pWwIgotCi0jOiByZWYtZmlsdGVyLmM6OTAzCisjOiByZWYtZmlsdGVyLmM6MTI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIKLW1zZ3N0ciAi5byV55SoICclcycg5pyq5o+Q5L6b55So5LqOIDpzdHJpcCDnmoQgJWxkIOS4que7hOS7tiIKK21zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCittc2dzdHIgIu+8iOmdnuWIhuaUr++8jOato+WPmOWfuiAlc++8iSIKIAotIzogcmVmLWZpbHRlci5jOjEwNjYKKyM6IHJlZi1maWx0ZXIuYzoxMjU3CiAjLCBjLWZvcm1hdAotbXNnaWQgInVua25vd24gJS4qcyBmb3JtYXQgJXMiCi1tc2dzdHIgIuacquefpeeahCAlLipzIOagvOW8jyAlcyIKK21zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCittc2dzdHIgIu+8iOmdnuWIhuaUr++8jOS6jOWIhuafpeaJvuW8gOWni+S6jiAlc++8iSIKIAotIzogcmVmLWZpbHRlci5jOjEwODYgcmVmLWZpbHRlci5jOjExMTcKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCisjLgorIzogcmVmLWZpbHRlci5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgorbXNnc3RyICLvvIjlpLTmjIfpkojliIbnprvkuo4gJXPvvIkiCisKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECisjLiBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKKyMuCisjOiByZWYtZmlsdGVyLmM6MTI3MgorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKK21zZ3N0ciAi77yI5aS05oyH6ZKI5YiG56a76IeqICVz77yJIgorCisjOiByZWYtZmlsdGVyLmM6MTI3NgorbXNnaWQgIihubyBicmFuY2gpIgorbXNnc3RyICLvvIjpnZ7liIbmlK/vvIkiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDI2IHJlZi1maWx0ZXIuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKIG1zZ3N0ciAi57y65aSxICUyJHMg55qE5a+56LGhICUxJHMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMDg5IHJlZi1maWx0ZXIuYzoxMTIwCisjOiByZWYtZmlsdGVyLmM6MTQyOSByZWYtZmlsdGVyLmM6MTQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgInBhcnNlX29iamVjdF9idWZmZXIg5aSx6LSl5LqOICUyJHMg55qEICUxJHMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzQzCisjOiByZWYtZmlsdGVyLmM6MTc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCiBtc2dzdHIgIumdnuazleeahOWvueixoeS6jiAnJXMnIgogCi0jOiByZWYtZmlsdGVyLmM6MTQxMAorIzogcmVmLWZpbHRlci5jOjE4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgcmVmIHdpdGggYnJva2VuIG5hbWUgJXMiCiBtc2dzdHIgIuW/veeVpeW4puaciemUmeivr+WQjeensCAlcyDnmoTlvJXnlKgiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDE1CisjOiByZWYtZmlsdGVyLmM6MTgzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICLlv73nlaXmjZ/lnY/nmoTlvJXnlKggJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcwCisjOiByZWYtZmlsdGVyLmM6MjA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICLmoLzlvI/vvJrnvLrlsJEgJSUoZW5kKSDlhYPntKAiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzM0CisjOiByZWYtZmlsdGVyLmM6MjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIumdnuazleeahOWvueixoeWQjSAlcyIKIAotIzogcmVtb3RlLmM6NzU0CisjOiByZW1vdGUuYzo3NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICLkuI3og73lkIzml7bojrflj5YgJXMg5ZKMICVzIOiHsyAlcyIKIAotIzogcmVtb3RlLmM6NzU4CisjOiByZW1vdGUuYzo3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdXN1YWxseSB0cmFja3MgJXMsIG5vdCAlcyIKIG1zZ3N0ciAiJXMg6YCa5bi46Lef6LiqICVz77yM6ICM6Z2eICVzIgogCi0jOiByZW1vdGUuYzo3NjIKKyM6IHJlbW90ZS5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCiBtc2dzdHIgIiVzIOWQjOaXtui3n+i4qiAlcyDlkowgJXMiCiAKLSM6IHJlbW90ZS5jOjc3MAorIzogcmVtb3RlLmM6NzYzCiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIuWGhemDqOmUmeivryIKIAotIzogcmVtb3RlLmM6MTY4NSByZW1vdGUuYzoxNzg3CisjOiByZW1vdGUuYzoxNjgwIHJlbW90ZS5jOjE3ODIKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEIOayoeacieaMh+WQkeS4gOS4quWIhuaUryIKIAotIzogcmVtb3RlLmM6MTY5NAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAi5rKh5pyJ5q2k5YiG5pSv77yaJyVzJyIKIAotIzogcmVtb3RlLmM6MTY5NworIzogcmVtb3RlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAi5bCa5pyq57uZ5YiG5pSvICclcycg6K6+572u5LiK5ri4IgogCi0jOiByZW1vdGUuYzoxNzAzCisjOiByZW1vdGUuYzoxNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLkuIrmuLjliIbmlK8gJyVzJyDmsqHmnInlrZjlgqjkuLrkuIDkuKrov5znqIvot5/ouKrliIbmlK8iCiAKLSM6IHJlbW90ZS5jOjE3MTgKKyM6IHJlbW90ZS5jOjE3MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgIuaOqOmAgeebruaghyAnJXMnIOiHs+i/nOeoiyAnJXMnIOayoeacieacrOWcsOi3n+i4quWIhuaUryIKIAotIzogcmVtb3RlLmM6MTczMAorIzogcmVtb3RlLmM6MTcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBoYXMgbm8gcmVtb3RlIGZvciBwdXNoaW5nIgogbXNnc3RyICLliIbmlK8gJyVzJyDmsqHmnInorr7nva7opoHmjqjpgIHnmoTov5znqIvmnI3liqHlmagiCiAKLSM6IHJlbW90ZS5jOjE3NDEKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICLlkJEgJyVzJyDmjqjpgIHlvJXnlKjop4TmoLzmnKrljIXlkKsgJyVzJyIKIAotIzogcmVtb3RlLmM6MTc1NAorIzogcmVtb3RlLmM6MTc0OQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKIG1zZ3N0ciAi5o6o6YCB5peg55uu5qCH77yIcHVzaC5kZWZhdWx0IOaYryAnbm90aGluZyfvvIkiCiAKLSM6IHJlbW90ZS5jOjE3NzYKKyM6IHJlbW90ZS5jOjE3NzEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgogbXNnc3RyICLml6Dms5Xop6PmnpAgJ3NpbXBsZScg5o6o6YCB6Iez5LiA5Liq5Y2V54us55qE55uu5qCHIgogCi0jOiByZW1vdGUuYzoyMDgxCisjOiByZW1vdGUuYzoyMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKIG1zZ3N0ciAi5oKo55qE5YiG5pSv5Z+65LqOICclcyfvvIzkvYbmraTkuIrmuLjliIbmlK/lt7Lnu4/kuI3lrZjlnKjjgIJcbiIKIAotIzogcmVtb3RlLmM6MjA4NQorIzogcmVtb3RlLmM6MjA4MAogbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIOadpeS/ruWkje+8iVxuIgogCi0jOiByZW1vdGUuYzoyMDg4CisjOiByZW1vdGUuYzoyMDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgogbXNnc3RyICLmgqjnmoTliIbmlK/kuI7kuIrmuLjliIbmlK8gJyVzJyDkuIDoh7TjgIJcbiIKIAotIzogcmVtb3RlLmM6MjA5MgorIzogcmVtb3RlLmM6MjA4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICLmgqjnmoTliIbmlK/pooblhYggJyVzJyDlhbEgJWQg5Liq5o+Q5Lqk44CCXG4iCiBtc2dzdHJbMV0gIuaCqOeahOWIhuaUr+mihuWFiCAnJXMnIOWFsSAlZCDkuKrmj5DkuqTjgIJcbiIKIAotIzogcmVtb3RlLmM6MjA5OAorIzogcmVtb3RlLmM6MjA5MwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1c2hcIiDmnaXlj5HluIPmgqjnmoTmnKzlnLDmj5DkuqTvvIlcbiIKIAotIzogcmVtb3RlLmM6MjEwMQorIzogcmVtb3RlLmM6MjA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTI2NTgsMTEgKzI5MjgsMTEgQEAKIG1zZ3N0clsxXSAi5oKo55qE5YiG5pSv6JC95ZCOICclcycg5YWxICVkIOS4quaPkOS6pO+8jOW5tuS4lOWPr+S7peW/q+i/m+OAglxuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHJlbW90ZS5jOjIxMDkKKyM6IHJlbW90ZS5jOjIxMDQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcHVsbFwiIOadpeabtOaWsOaCqOeahOacrOWcsOWIhuaUr++8iVxuIgogCi0jOiByZW1vdGUuYzoyMTEyCisjOiByZW1vdGUuYzoyMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMjY3OCw3MiArMjk0OCw3NyBAQAogIuW5tuS4lOWIhuWIq+aciSAlZCDlkowgJWQg5aSE5LiN5ZCM55qE5o+Q5Lqk44CCXG4iCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogcmVtb3RlLmM6MjEyMgorIzogcmVtb3RlLmM6MjExNwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcHVsbFwiIOadpeWQiOW5tui/nOeoi+WIhuaUr++8iVxuIgogCi0jOiByZXZpc2lvbi5jOjIxNTgKKyM6IHJldmlzaW9uLmM6MjE4NwogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgIuaCqOeahOW9k+WJjeWIhuaUr+WlveWDj+iiq+aNn+WdjyIKIAotIzogcmV2aXNpb24uYzoyMTYxCisjOiByZXZpc2lvbi5jOjIxOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICLmgqjnmoTlvZPliY3liIbmlK8gJyVzJyDlsJrml6Dku7vkvZXmj5DkuqQiCiAKLSM6IHJldmlzaW9uLmM6MjM1NQorIzogcmV2aXNpb24uYzoyMzg0CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgIi0tZmlyc3QtcGFyZW50IOS4jiAtLWJpc2VjdCDkuI3lhbzlrrkiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTI1CisjOiBydW4tY29tbWFuZC5jOjY0NAogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAi5LiN6IO95omT5byAIC9kZXYvbnVsbCIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjcKKyM6IHNlbmQtcGFjay5jOjE1MQogIywgYy1mb3JtYXQKLW1zZ2lkICJkdXAyKCVkLCVkKSBmYWlsZWQiCi1tc2dzdHIgIuS4jeiDveiwg+eUqCBkdXAyKCVkLCVkKSIKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgcmVtb3RlIHVucGFjayBzdGF0dXM6ICVzIgorbXNnc3RyICLkuI3og73op6PmnpDov5znqIvop6PljIXnirbmgIHvvJolcyIKIAotIzogc2VuZC1wYWNrLmM6Mjk3CisjOiBzZW5kLXBhY2suYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgorbXNnc3RyICLov5znqIvop6PljIXlpLHotKXvvJolcyIKKworIzogc2VuZC1wYWNrLmM6MzE2CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgIuaXoOazleS4uuaOqOmAgeivgeS5puetvuWQjSIKIAotIzogc2VuZC1wYWNrLmM6NDEwCisjOiBzZW5kLXBhY2suYzo0MjkKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgIuaOpeaUtuerr+S4jeaUr+aMgeetvuWQjeaOqOmAgSIKIAotIzogc2VuZC1wYWNrLmM6NDEyCisjOiBzZW5kLXBhY2suYzo0MzEKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCiBtc2dzdHIgIuacquWPkemAgeaOqOmAgeivgeS5pu+8jOWboOS4uuaOpeaUtuerr+S4jeaUr+aMgeetvuWQjeaOqOmAgSIKIAotIzogc2VuZC1wYWNrLmM6NDI0CisjOiBzZW5kLXBhY2suYzo0NDMKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgIuaOpeaUtuerr+S4jeaUr+aMgeWOn+WtkOaOqOmAgSIKIAotIzogc2VuZC1wYWNrLmM6NDI5CisjOiBzZW5kLXBhY2suYzo0NDgKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKIG1zZ3N0ciAi5o6l5pS256uv5LiN5pSv5oyB5o6o6YCB6YCJ6aG5IgogCi0jOiBzZXF1ZW5jZXIuYzoyMTUKKyM6IHNlcXVlbmNlci5jOjIxNgogbXNnaWQgInJldmVydCIKIG1zZ3N0ciAi6L+Y5Y6fIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTcKKyM6IHNlcXVlbmNlci5jOjIxOAogbXNnaWQgImNoZXJyeS1waWNrIgogbXNnc3RyICLmi6PpgIkiCiAKLSM6IHNlcXVlbmNlci5jOjIxOQorIzogc2VxdWVuY2VyLmM6MjIwCiBtc2dpZCAicmViYXNlIC1pIgogbXNnc3RyICJyZWJhc2UgLWkiCiAKLSM6IHNlcXVlbmNlci5jOjIyMQorIzogc2VxdWVuY2VyLmM6MjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYWN0aW9uOiAlZCIKIG1zZ3N0ciAi5pyq55+l5Yqo5L2c77yaJWQiCiAKLSM6IHNlcXVlbmNlci5jOjI3OAorIzogc2VxdWVuY2VyLmM6Mjc5CiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCkBAIC0yNzUxLDcgKzMwMjYsNyBAQAogIuWGsueqgeino+WGs+WujOavleWQju+8jOeUqCAnZ2l0IGFkZCA86Lev5b6EPicg5oiWICdnaXQgcm0gPOi3r+W+hD4nXG4iCiAi5ZG95Luk5qCH6K6w5L+u5q2j5ZCO55qE5paH5Lu2IgogCi0jOiBzZXF1ZW5jZXIuYzoyODEKKyM6IHNlcXVlbmNlci5jOjI4MgogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCkBAIC0yNzYwLDYzICszMDM1LDYzIEBACiAi5Yay56qB6Kej5Yaz5a6M5q+V5ZCO77yM55SoICdnaXQgYWRkIDzot6/lvoQ+JyDmiJYgJ2dpdCBybSA86Lev5b6EPidcbiIKICLlr7nkv67mraPlkI7nmoTmlofku7blgZrmoIforrDvvIznhLblkI7nlKggJ2dpdCBjb21taXQnIOaPkOS6pCIKIAotIzogc2VxdWVuY2VyLmM6Mjk0IHNlcXVlbmNlci5jOjE2NjcKKyM6IHNlcXVlbmNlci5jOjI5NSBzZXF1ZW5jZXIuYzoxNjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIuS4jeiDvemUgeWumiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTcgc2VxdWVuY2VyLmM6MTU0NSBzZXF1ZW5jZXIuYzoxNjcyIHNlcXVlbmNlci5jOjE2ODYKKyM6IHNlcXVlbmNlci5jOjI5OCBzZXF1ZW5jZXIuYzoxNTYzIHNlcXVlbmNlci5jOjE2OTAgc2VxdWVuY2VyLmM6MTcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWlICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjMwMQorIzogc2VxdWVuY2VyLmM6MzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95bCG5o2i6KGM56ym5YaZ5YWlICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjMwNSBzZXF1ZW5jZXIuYzoxNTUwIHNlcXVlbmNlci5jOjE2NzQKKyM6IHNlcXVlbmNlci5jOjMwNiBzZXF1ZW5jZXIuYzoxNTY4IHNlcXVlbmNlci5jOjE2OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcycuIgogbXNnc3RyICLml6Dms5XlrozmiJAgJyVzJ+OAgiIKIAotIzogc2VxdWVuY2VyLmM6MzI5IHNlcXVlbmNlci5jOjgwOCBzZXF1ZW5jZXIuYzoxNTcxIGJ1aWx0aW4vYW0uYzoyNTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDM2CisjOiBzZXF1ZW5jZXIuYzozMzAgc2VxdWVuY2VyLmM6ODE3IHNlcXVlbmNlci5jOjE1ODkgYnVpbHRpbi9hbS5jOjI1OAorIzogYnVpbHRpbi9jb21taXQuYzo3NTAgYnVpbHRpbi9tZXJnZS5jOjEwMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM1NQorIzogc2VxdWVuY2VyLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCiBtc2dzdHIgIuaCqOeahOacrOWcsOS/ruaUueWwhuiiqyVz6KaG55uW44CCIgogCi0jOiBzZXF1ZW5jZXIuYzozNTkKKyM6IHNlcXVlbmNlci5jOjM2MAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKLW1zZ3N0ciAi5o+Q5Lqk5oKo55qE5L+u5pS55oiW5L+d5a2Y6L+b5bqm5ZCO5YaN57un57ut44CCIgorbXNnc3RyICLmj5DkuqTmgqjnmoTkv67mlLnmiJbotK7ol4/lkI7lho3nu6fnu63jgIIiCiAKLSM6IHNlcXVlbmNlci5jOjM4OAorIzogc2VxdWVuY2VyLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVz77ya5b+r6L+bIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiwgImNoZXJyeS1waWNrIiBvcgotIy4gKiAicmViYXNlIC1pIi4KKyMuICJyZWJhc2UgLWkiLgogIy4KLSM6IHNlcXVlbmNlci5jOjQ3MAorIzogc2VxdWVuY2VyLmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVz77ya5peg5rOV5YaZ5YWl5paw57Si5byV5paH5Lu2IgogCi0jOiBzZXF1ZW5jZXIuYzo0ODkKKyM6IHNlcXVlbmNlci5jOjQ5MQogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCiBtc2dzdHIgIuS4jeiDveino+aekCBIRUFEIOaPkOS6pFxuIgogCi0jOiBzZXF1ZW5jZXIuYzo1MDkKKyM6IHNlcXVlbmNlci5jOjUxMQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICLkuI3og73mm7TmlrDnvJPlrZjmoJFcbiIKIAotIzogc2VxdWVuY2VyLmM6NTkyCisjOiBzZXF1ZW5jZXIuYzo1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCkBAIC0yODQ1LDE3ICszMTIwLDE3IEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6Njg4CisjOiBzZXF1ZW5jZXIuYzo2OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICLkuI3og73op6PmnpDmj5DkuqQgJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6NjkzCisjOiBzZXF1ZW5jZXIuYzo3MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q54i25o+Q5LqkICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjgxNQorIzogc2VxdWVuY2VyLmM6ODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmV4cGVjdGVkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjg2Niw3ICszMTQxLDcgQEAKICJcbiIKICJcdCUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjgyMQorIzogc2VxdWVuY2VyLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbnZhbGlkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgpAQCAtMjg3NywyMzAgKzMxNTIsMjMwIEBACiAiXG4iCiAiXHQlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo4Mjcgc2VxdWVuY2VyLmM6ODUyCisjOiBzZXF1ZW5jZXIuYzo4MzYgc2VxdWVuY2VyLmM6ODYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKIG1zZ3N0ciAi6L+Z5piv5LiA5LiqICVkIOS4quaPkOS6pOeahOe7hOWQiOOAgiIKIAotIzogc2VxdWVuY2VyLmM6ODM2CisjOiBzZXF1ZW5jZXIuYzo4NDUKIG1zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKIG1zZ3N0ciAi6ZyA6KaB5LiA5LiqIEhFQUQg5p2l5L+u5aSNIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzgKKyM6IHNlcXVlbmNlci5jOjg0NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIuS4jeiDveivu+WPliBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDAKKyM6IHNlcXVlbmNlci5jOjg0OQogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIEhFQUQg55qE5o+Q5Lqk6K+05piOIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDYKKyM6IHNlcXVlbmNlci5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95YaZICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjg1NSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDUKKyM6IHNlcXVlbmNlci5jOjg2NCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDUKIG1zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgogbXNnc3RyICLov5nmmK/nrKzkuIDkuKrmj5DkuqTor7TmmI7vvJoiCiAKLSM6IHNlcXVlbmNlci5jOjg2MworIzogc2VxdWVuY2VyLmM6ODcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICLkuI3og73or7vlj5YgJXMg55qE5o+Q5Lqk6K+05piOIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzAKKyM6IHNlcXVlbmNlci5jOjg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICLov5nmmK/mj5DkuqTor7TmmI4gIyVk77yaIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzUKKyM6IHNlcXVlbmNlci5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyVkIHdpbGwgYmUgc2tpcHBlZDoiCiBtc2dzdHIgIuaPkOS6pOivtOaYjiAjJWQg5bCG6KKr6Lez6L+H77yaIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODAKKyM6IHNlcXVlbmNlci5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6ICVkIgogbXNnc3RyICLmnKrnn6Xlkb3ku6TvvJolZCIKIAotIzogc2VxdWVuY2VyLmM6OTQ2CisjOiBzZXF1ZW5jZXIuYzo5NTUKIG1zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICLmgqjnmoTntKLlvJXmlofku7bmnKrlrozmiJDlkIjlubbjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjk2NAorIzogc2VxdWVuY2VyLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAi5o+Q5LqkICVzIOaYr+S4gOS4quWQiOW5tuaPkOS6pOS9huacquaPkOS+myAtbSDpgInpobnjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjk3MgorIzogc2VxdWVuY2VyLmM6OTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAi5o+Q5LqkICVzIOayoeacieesrCAlZCDkuKrniLbmj5DkuqQiCiAKLSM6IHNlcXVlbmNlci5jOjk3NgorIzogc2VxdWVuY2VyLmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCiBtc2dzdHIgIuaMh+WumuS6huS4u+e6v++8jOS9huaYr+aPkOS6pCAlcyDkuI3mmK/kuIDkuKrlkIjlubbmj5DkuqTjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjk4MgorIzogc2VxdWVuY2VyLmM6OTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICLkuI3og73lvpfliLAgJXMg55qE5o+Q5Lqk6K+05piOIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCiAjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgotIzogc2VxdWVuY2VyLmM6MTAwMQorIzogc2VxdWVuY2VyLmM6MTAxMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVz77ya5LiN6IO96Kej5p6Q54i25o+Q5LqkICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDYzIHNlcXVlbmNlci5jOjE4MTIKKyM6IHNlcXVlbmNlci5jOjEwNzUgc2VxdWVuY2VyLmM6MTgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVuYW1lICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95bCGICclcycg6YeN5ZG95ZCN5Li6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjExMTQKKyM6IHNlcXVlbmNlci5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAi5LiN6IO96L+Y5Y6fICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE1CisjOiBzZXF1ZW5jZXIuYzoxMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAi5LiN6IO95bqU55SoICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTU3CisjOiBzZXF1ZW5jZXIuYzoxMTY5CiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgIuaPkOS+m+S6huepuueahOaPkOS6pOmbhiIKIAotIzogc2VxdWVuY2VyLmM6MTE2NworIzogc2VxdWVuY2VyLmM6MTE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVz77ya5peg5rOV6K+75Y+W57Si5byVIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTc0CisjOiBzZXF1ZW5jZXIuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXPvvJrml6Dms5XliLfmlrDntKLlvJUiCiAKLSM6IHNlcXVlbmNlci5jOjEyOTQKKyM6IHNlcXVlbmNlci5jOjEzMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICLml6DmlYjooYwgJWTvvJolLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzAyCisjOiBzZXF1ZW5jZXIuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAnJXMnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIuayoeacieeItuaPkOS6pOeahOaDheWGteS4i+S4jeiDvSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzM0CisjOiBzZXF1ZW5jZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgogbXNnc3RyICLkuI3og73or7vlj5YgJyVzJ+OAgiIKIAotIzogc2VxdWVuY2VyLmM6MTM0MQorIzogc2VxdWVuY2VyLmM6MTM1OQogbXNnaWQgInBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogbXNnc3RyICLor7fnlKggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIOadpeS/ruaUueOAgiIKIAotIzogc2VxdWVuY2VyLmM6MTM0MworIzogc2VxdWVuY2VyLmM6MTM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKIG1zZ3N0ciAi5LiN5Y+v55So55qE5oyH5Luk5riF5Y2V77yaJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTM0OAorIzogc2VxdWVuY2VyLmM6MTM2NgogbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAi5rKh5pyJ6Kej5p6Q5o+Q5Lqk44CCIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzU5CisjOiBzZXF1ZW5jZXIuYzoxMzc3CiBtc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCiBtc2dzdHIgIuS4jeiDveWcqOWbnumAgOS4reaJp+ihjOaLo+mAieOAgiIKIAotIzogc2VxdWVuY2VyLmM6MTM2MQorIzogc2VxdWVuY2VyLmM6MTM3OQogbXNnaWQgImNhbm5vdCByZXZlcnQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICLkuI3og73lnKjmi6PpgInkuK3miafooYzlm57pgIDjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjE0MjQKKyM6IHNlcXVlbmNlci5jOjE0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICLml6DmlYjplK7lkI3vvJolcyIKIAotIzogc2VxdWVuY2VyLmM6MTQyNworIzogc2VxdWVuY2VyLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIiVzIOeahOWAvOaXoOaViO+8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDg0CisjOiBzZXF1ZW5jZXIuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgogbXNnc3RyICLpnZ7ms5XnmoTpgInpobnmuIXljZXvvJonJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIyCisjOiBzZXF1ZW5jZXIuYzoxNTQwCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAi5LiA5Liq5ouj6YCJ5oiW6L+Y5Y6f5pON5L2c5bey5Zyo6L+b6KGMIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTIzCisjOiBzZXF1ZW5jZXIuYzoxNTQxCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAi5bCd6K+VIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6MTUyNgorIzogc2VxdWVuY2VyLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu65bqP5YiX55uu5b2VICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE1NDAKKyM6IHNlcXVlbmNlci5jOjE1NTgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICLkuI3og73plIHlrpogSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTU5NiBzZXF1ZW5jZXIuYzoyMTUwCisjOiBzZXF1ZW5jZXIuYzoxNjE0IHNlcXVlbmNlci5jOjIxODgKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIuaLo+mAieaIlui/mOWOn+aTjeS9nOW5tuacqui/m+ihjCIKIAotIzogc2VxdWVuY2VyLmM6MTU5OAorIzogc2VxdWVuY2VyLmM6MTYxNgogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgIuS4jeiDveino+aekCBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjAwIHNlcXVlbmNlci5jOjE2MzQKKyM6IHNlcXVlbmNlci5jOjE2MTggc2VxdWVuY2VyLmM6MTY1MgogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICLkuI3og73ku47lsJrmnKrlu7rnq4vnmoTliIbmlK/nu4jmraIiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjAgYnVpbHRpbi9ncmVwLmM6OTA0CisjOiBzZXF1ZW5jZXIuYzoxNjM4IGJ1aWx0aW4vZ3JlcC5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICLkuI3og73miZPlvIAgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTYyMgorIzogc2VxdWVuY2VyLmM6MTY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WICclcyfvvJolcyIKIAotIzogc2VxdWVuY2VyLmM6MTYyMworIzogc2VxdWVuY2VyLmM6MTY0MQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIuaEj+WklueahOaWh+S7tue7k+adnyIKIAotIzogc2VxdWVuY2VyLmM6MTYyOQorIzogc2VxdWVuY2VyLmM6MTY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIuS/neWtmOaLo+mAieaPkOS6pOWJjeeahCBIRUFEIOaWh+S7tiAnJXMnIOaNn+WdjyIKIAotIzogc2VxdWVuY2VyLmM6MTY0MAorIzogc2VxdWVuY2VyLmM6MTY1OAogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKIG1zZ3N0ciAi5oKo5aW95YOP56e75Yqo5LqGIEhFQUTjgILmnKrog73lm57pgIDvvIzmo4Dmn6XmgqjnmoQgSEVBRO+8gSIKIAotIzogc2VxdWVuY2VyLmM6MTc3NyBzZXF1ZW5jZXIuYzoyMDQ5CisjOiBzZXF1ZW5jZXIuYzoxNzk1IHNlcXVlbmNlci5jOjIwODYKIG1zZ2lkICJjYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICLkuI3og73or7vlj5YgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTgxNyBidWlsdGluL2RpZmZ0b29sLmM6NTc0CisjOiBzZXF1ZW5jZXIuYzoxODM1IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICLkuI3og73mi7fotJ0gJyVzJyDoh7MgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTgzMworIzogc2VxdWVuY2VyLmM6MTg1MQogbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgogbXNnc3RyICLkuI3og73or7vlj5bntKLlvJUiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogc2VxdWVuY2VyLmM6MTgzOAorIzogc2VxdWVuY2VyLmM6MTg1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKQEAgLTMxMTUsMTEgKzMzOTAsMTEgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxODQ0CisjOiBzZXF1ZW5jZXIuYzoxODYyCiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKIG1zZ3N0ciAi5bm25LiU5L+u5pS557Si5byV5ZKML+aIluW3peS9nOWMulxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxODUwCisjOiBzZXF1ZW5jZXIuYzoxODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gc3VjY2VlZGVkOiAlc1xuIgpAQCAtMzEzMSwyMiArMzQwNiwyMiBAQAogbXNnc3RyICIiCiAi5omn6KGM5oiQ5Yqf77yaJXNcbiIKICLkvYbmmK/lnKjntKLlvJXlkowv5oiW5bel5L2c5Yy65Lit5a2Y5Zyo5Y+Y5pu0XG4iCi0i5o+Q5Lqk5oiW5pqC5a2Y5L+u5pS577yM54S25ZCO6L+Q6KGMXG4iCisi5o+Q5Lqk5oiW6LSu6JeP5L+u5pS577yM54S25ZCO6L+Q6KGMXG4iCiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MTkwNSBnaXQtcmViYXNlLnNoOjE2OAorIzogc2VxdWVuY2VyLmM6MTkyNQogIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCi1tc2dzdHIgIuaIkOWKn+W6lOeUqCBhdXRvc3Rhc2jjgIIiCittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCittc2dzdHIgIuW3suW6lOeUqCBhdXRvc3Rhc2jjgIJcbiIKIAotIzogc2VxdWVuY2VyLmM6MTkxNworIzogc2VxdWVuY2VyLmM6MTkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgIuS4jeiDveWtmOWCqCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTkxOSBnaXQtcmViYXNlLnNoOjE3MgorIzogc2VxdWVuY2VyLmM6MTk0MCBnaXQtcmViYXNlLnNoOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKQEAgLTMxNTQsODUgKzM0MjksODcgQEAKICJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCiBtc2dzdHIgIiIKICLlupTnlKggYXV0b3N0YXNoIOWvvOiHtOWGsueqgeOAglxuIgotIuaCqOeahOS/ruaUueWuieWFqOWcsOS/neWtmOWcqCBzdGFzaCDkuK3jgIJcbiIKKyLmgqjnmoTkv67mlLnlronlhajlnLDkv53lrZjlnKjotK7ol4/ljLrkuK3jgIJcbiIKICLmgqjlj6/ku6XlnKjku7vkvZXml7blgJnov5DooYwgXCJnaXQgc3Rhc2ggcG9wXCIg5oiWIFwiZ2l0IHN0YXNoIGRyb3BcIuOAglxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDAwCisjOiBzZXF1ZW5jZXIuYzoyMDIyCiAjLCBjLWZvcm1hdAotbXNnaWQgInN0b3BwZWQgYXQgJXMuLi4gJS4qcyIKLW1zZ3N0ciAi5YGc5q2i5ZyoICVzLi4uICUuKnMiCittc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgorbXNnc3RyICLlgZzmraLlnKggJXMuLi4gJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDI3CisjOiBzZXF1ZW5jZXIuYzoyMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAi5pyq55+l5ZG95LukICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDU3CisjOiBzZXF1ZW5jZXIuYzoyMDk0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgogbXNnc3RyICLkuI3og73or7vlj5Ygb3JpZy1oZWFkIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYxCisjOiBzZXF1ZW5jZXIuYzoyMDk5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgogbXNnc3RyICLkuI3og73or7vlj5YgJ29udG8nIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDY4CisjOiBzZXF1ZW5jZXIuYzoyMTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgIuS4jeiDveabtOaWsCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjA3NQorIzogc2VxdWVuY2VyLmM6MjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCiBtc2dzdHIgIuS4jeiDveabtOaWsCBIRUFEIOS4uiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjE1OQorIzogc2VxdWVuY2VyLmM6MjE5NwogbXNnaWQgImNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLkuI3og73lj5jln7rvvJrmgqjmnInmnKrmmoLlrZjnmoTlj5jmm7TjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjIxNjQKKyM6IHNlcXVlbmNlci5jOjIyMDIKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIuS4jeiDveWIoOmZpCBDSEVSUllfUElDS19IRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTczCisjOiBzZXF1ZW5jZXIuYzoyMjExCiBtc2dpZCAiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiCiBtc2dzdHIgIuS4jeiDveS/ruihpeS4jeWtmOWcqOeahOaPkOS6pCIKIAotIzogc2VxdWVuY2VyLmM6MjE3NQorIzogc2VxdWVuY2VyLmM6MjIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGZpbGU6ICclcyciCiBtc2dzdHIgIuaXoOaViOaWh+S7tu+8miclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIxNzcKKyM6IHNlcXVlbmNlci5jOjIyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAi5peg5pWI5YaF5a6577yaJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjE4MAorIzogc2VxdWVuY2VyLmM6MjIxOAogbXNnaWQgIiIKICJcbiIKICJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UsIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKLW1zZ3N0ciAiXG7mgqjnmoTlt6XkvZzljLrkuK3mnInmnKrmj5DkuqTnmoTlj5jmm7TjgILor7flhYjmj5DkuqTnhLblkI7lho3mrKHov5DooYwgJ2dpdCByZWJhc2UgLS1jb250aW51ZSfjgIIiCittc2dzdHIgIiIKKyJcbiIKKyLmgqjnmoTlt6XkvZzljLrkuK3mnInmnKrmj5DkuqTnmoTlj5jmm7TjgILor7flhYjmj5DkuqTnhLblkI7lho3mrKHov5DooYwgJ2dpdCByZWJhc2UgLS1jb250aW51ZSfjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjIxOTAKKyM6IHNlcXVlbmNlci5jOjIyMjgKIG1zZ2lkICJjb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi5LiN6IO95o+Q5Lqk5pqC5a2Y55qE5L+u5pS544CCIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjcwCisjOiBzZXF1ZW5jZXIuYzoyMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlc++8muS4jeiDveaLo+mAieS4gOS4qiVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjc0CisjOiBzZXF1ZW5jZXIuYzoyMzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVz77ya6ZSZ6K+v55qE54mI5pysIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzA3CisjOiBzZXF1ZW5jZXIuYzoyMzQ1CiBtc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICLkuI3og73kvZzkuLrliJ3lp4vmj5DkuqTlm57pgIAiCiAKLSM6IHNldHVwLmM6MTYwCisjOiBzZXR1cC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtMzI0MSw3ICszNTE4LDcgQEAKICIlc++8muW3peS9nOWMuuS4reaXoOatpOi3r+W+hOOAglxuIgogIuS9v+eUqOWRveS7pCAnZ2l0IDxjb21tYW5kPiAtLSA8cGF0aD4uLi4nIOadpeaMh+WumuacrOWcsOS4jeWtmOWcqOeahOi3r+W+hOOAgiIKIAotIzogc2V0dXAuYzoxNzMKKyM6IHNldHVwLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtMzI1Miw3ICszNTI5LDcgQEAKICLkvb/nlKggJy0tJyDmnaXliIbpmpTniYjmnKzlkozot6/lvoTvvIzkvovlpoLvvJpcbiIKICInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgogCi0jOiBzZXR1cC5jOjIyMworIzogc2V0dXAuYzoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtMzI2MywyOSArMzU0MCwzNCBAQAogIuS9v+eUqCAnLS0nIOadpeWIhumalOeJiOacrOWSjOi3r+W+hO+8jOS+i+Wmgu+8mlxuIgogIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCiAKLSM6IHNldHVwLmM6NDcwCisjOiBzZXR1cC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9ICVkLCBmb3VuZCAlZCIKIG1zZ3N0ciAi5pyf5pybIGdpdCDku5PlupPniYjmnKwgPD0gJWTvvIzljbTlvpfliLAgJWQiCiAKLSM6IHNldHVwLmM6NDc4CisjOiBzZXR1cC5jOjUxMgogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAi5Y+R546w5pyq55+l55qE5LuT5bqT5omp5bGV77yaIgogCi0jOiBzZXR1cC5jOjc2OAorIzogc2V0dXAuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4qiBnaXQg5LuT5bqT77yI5oiW6ICF5Lu75L2V54i255uu5b2V77yJ77yaJXMiCiAKLSM6IHNldHVwLmM6NzcwIHNldHVwLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKKyM6IHNldHVwLmM6ODEyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTIKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAi5peg5rOV6L+U5Zue5b2T5YmN5bel5L2c55uu5b2VIgogCi0jOiBzZXR1cC5jOjg1MgorIzogc2V0dXAuYzoxMDUwCiBtc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5b2T5YmN5bel5L2c55uu5b2VIgogCi0jOiBzZXR1cC5jOjkyNworIzogc2V0dXAuYzoxMDYyIHNldHVwLmM6MTA2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHRvICclcyciCittc2dzdHIgIuS4jeiDveWIh+aNouWIsCAnJXMnIgorCisjOiBzZXR1cC5jOjEwODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgpAQCAtMzI5NCwxMiArMzU3Niw3IEBACiAi5LiN5piv5LiA5LiqIGdpdCDku5PlupPvvIjmiJbogIXlkJHkuIrpgJLlvZLoh7PmjILovb3ngrkgJXMg55qE5Lu75L2V56WW5YWI55uu5b2V77yJXG4iCiAi5YGc5q2i5Zyo5paH5Lu257O757uf6L6555WM77yI5pyq6K6+572uIEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU3vvInjgIIiCiAKLSM6IHNldHVwLmM6OTM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIKLW1zZ3N0ciAi5LiN6IO95YiH5o2i5YiwICclcy8uLiciCi0KLSM6IHNldHVwLmM6OTk2CisjOiBzZXR1cC5jOjExNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKQEAgLTMzMDgsNTUgKzM1ODUsNTUgQEAKICLlj4LmlbAgY29yZS5zaGFyZWRSZXBvc2l0b3J5IOeahOaWh+S7tuadg+mZkOWAvOaciemUme+8iDAlLjNv77yJ44CCXG4iCiAi5paH5Lu25bGe5Li75b+F6aG75aeL57uI5oul5pyJ6K+75YaZ5p2D6ZmQ44CCIgogCi0jOiBzaGExX2ZpbGUuYzo0OTAKKyM6IHNoYTFfZmlsZS5jOjU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIui3r+W+hCAnJXMnIOS4jeWtmOWcqCIKIAotIzogc2hhMV9maWxlLmM6NTE2CisjOiBzaGExX2ZpbGUuYzo1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgIuWwmuS4jeaUr+aMgeWwhuWPguiAg+S7k+W6kyAnJXMnIOS9nOS4uuS4gOS4qumTvuaOpeajgOWHuuOAgiIKIAotIzogc2hhMV9maWxlLmM6NTIyCisjOiBzaGExX2ZpbGUuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAi5Y+C6ICD5LuT5bqTICclcycg5LiN5piv5LiA5Liq5pys5Zyw5LuT5bqT44CCIgogCi0jOiBzaGExX2ZpbGUuYzo1MjgKKyM6IHNoYTFfZmlsZS5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgIuWPguiAg+S7k+W6kyAnJXMnIOaYr+S4gOS4qua1heWFi+mahiIKIAotIzogc2hhMV9maWxlLmM6NTM2CisjOiBzaGExX2ZpbGUuYzo2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgogbXNnc3RyICLlj4LogIPku5PlupMgJyVzJyDlt7Looqvlq4HmjqUiCiAKLSM6IHNoYTFfZmlsZS5jOjExNzYKKyM6IHNoYTFfZmlsZS5jOjEyNDUKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAi5YGP56e76YeP5Zyo5YyF5paH5Lu257uT5p2f5LmL5YmN77yI5o2f5Z2P55qEIC5pZHjvvJ/vvIkiCiAKLSM6IHNoYTFfZmlsZS5jOjI2MzcKKyM6IHNoYTFfZmlsZS5jOjI3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgogbXNnc3RyICLlgY/np7vph4/lnKggJXMg55qE5YyF57Si5byV5byA5aeL5LmL5YmN77yI5o2f5Z2P55qE57Si5byV77yf77yJIgogCi0jOiBzaGExX2ZpbGUuYzoyNjQxCisjOiBzaGExX2ZpbGUuYzoyNzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAi5YGP56e76YeP6LaK6L+H5LqGICVzIOeahOWMhee0ouW8leeahOe7k+Wwvu+8iOiiq+aIquaWreeahOe0ouW8le+8n++8iSIKIAotIzogc2hhMV9uYW1lLmM6NDA3CisjOiBzaGExX25hbWUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCiBtc2dzdHIgIuefrSBTSEExICVzIOWtmOWcqOatp+S5iSIKIAotIzogc2hhMV9uYW1lLmM6NDE4CisjOiBzaGExX25hbWUuYzo0MzAKIG1zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgogbXNnc3RyICLlgJnpgInogIXmnInvvJoiCiAKLSM6IHNoYTFfbmFtZS5jOjU3OAorIzogc2hhMV9uYW1lLmM6NTg5CiBtc2dpZCAiIgogIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCiAiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgpAQCAtMzM3Nyw2MSArMzY1NCw4MSBAQAogIuWPr+iDvemcgOimgeWIoOmZpOWug+S7rOOAgueUqCBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCJcbiIKICLlkb3ku6TlhbPpl63mnKzmtojmga/pgJrnn6XjgIIiCiAKLSM6IHN1Ym1vZHVsZS5jOjY1IHN1Ym1vZHVsZS5jOjk5CisjOiBzdWJtb2R1bGUuYzo3MCBzdWJtb2R1bGUuYzoxMDQKIG1zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKIG1zZ3N0ciAi5peg5rOV5L+u5pS55pyq5ZCI5bm255qEIC5naXRtb2R1bGVz77yM5YWI6Kej5Yaz5ZCI5bm25Yay56qBIgogCi0jOiBzdWJtb2R1bGUuYzo2OSBzdWJtb2R1bGUuYzoxMDMKKyM6IHN1Ym1vZHVsZS5jOjc0IHN1Ym1vZHVsZS5jOjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCiBtc2dzdHIgIuaXoOazleWcqCAuZ2l0bW9kdWxlcyDkuK3mib7liLAgcGF0aD0lcyDnmoTlsI/oioIiCiAKLSM6IHN1Ym1vZHVsZS5jOjc3CisjOiBzdWJtb2R1bGUuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgogbXNnc3RyICLkuI3og73mm7TmlrAgLmdpdG1vZHVsZXMg5p2h55uuICVzIgogCi0jOiBzdWJtb2R1bGUuYzoxMTAKKyM6IHN1Ym1vZHVsZS5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAi5peg5rOV56e76ZmkICVzIOeahCAuZ2l0bW9kdWxlcyDmnaHnm64iCiAKLSM6IHN1Ym1vZHVsZS5jOjEyMQorIzogc3VibW9kdWxlLmM6MTI2CiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAi5bCG5pu05paw5ZCOIC5naXRtb2R1bGVzIOa3u+WKoOaaguWtmOWMuuWksei0pSIKIAotIzogc3VibW9kdWxlLmM6MTU5CisjOiBzdWJtb2R1bGUuYzoxNjUKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiBtc2dzdHIgInN1Ym1vZHVsZS5mZXRjaEpvYnMg5LiN5YWB6K645Li66LSf5YC8IgogCi0jOiBzdWJtb2R1bGUuYzoxMTg0CisjOiBzdWJtb2R1bGUuYzozNzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzIGluIHN1Ym1vZHVsZSAnJXMnIgotbXNnc3RyICLml6Dms5XlnKjlrZDmqKHnu4QgJyVzJyDkuK3lkK/liqggZ2l0IHN0YXR1cyIKK21zZ2lkICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi5L2N5LqO5pyq5qOA5Ye655qE5a2Q5qih57uEICclcyciCiAKLSM6IHN1Ym1vZHVsZS5jOjExOTcKKyM6IHN1Ym1vZHVsZS5jOjQwNwogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzIGluIHN1Ym1vZHVsZSAnJXMnIgotbXNnc3RyICLml6Dms5XlnKjlrZDmqKHnu4QgJyVzJyDkuK3miafooYwgZ2l0IHN0YXR1cyIKK21zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCittc2dzdHIgIui3r+W+hOinhOagvCAnJXMnIOWcqOWtkOaooee7hCAnJS4qcycg5LitIgogCi0jOiBzdWJtb2R1bGUuYzoxMzk4CisjOiBzdWJtb2R1bGUuYzoxMzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAi5peg5rOV5bCGICclcycg6K+G5Yir5Li65LiA5LiqIGdpdCDku5PlupMiCisKKyM6IHN1Ym1vZHVsZS5jOjE0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uEICclcycg5Lit5ZCv5YqoICdnaXQgc3RhdHVzJyIKKworIzogc3VibW9kdWxlLmM6MTQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uEICclcycg5Lit5omn6KGMICdnaXQgc3RhdHVzJyIKKworIzogc3VibW9kdWxlLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBoYXMgZGlydHkgaW5kZXgiCittc2dzdHIgIuWtkOaooee7hCAnJXMnIOS4reacieiEj+e0ouW8lSIKKworIzogc3VibW9kdWxlLmM6MTg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAi5LiN5pSv5oyB5a+55pyJ5aSa5Liq5bel5L2c5Yy655qE5a2Q5qih57uEICclcycg5omn6KGMIHJlbG9jYXRlX2dpdGRpciIKIAotIzogc3VibW9kdWxlLmM6MTQxMCBzdWJtb2R1bGUuYzoxNDcxCisjOiBzdWJtb2R1bGUuYzoxODU3IHN1Ym1vZHVsZS5jOjE5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95p+l6K+i5a2Q5qih57uEICclcycg55qE5ZCN56ewIgogCi0jOiBzdWJtb2R1bGUuYzoxNDE0IHN1Ym1vZHVsZS5jOjE0NzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0MAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MAorIzogc3VibW9kdWxlLmM6MTg2MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIuS4jeiDveWIm+W7uuebruW9lSAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxNDIwCisjOiBzdWJtb2R1bGUuYzoxODY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJNaWdyYXRpbmcgZ2l0IGRpcmVjdG9yeSBvZiAnJXMlcycgZnJvbVxuIgpAQCAtMzQ0Miw4OCArMzczOSwxMDEgQEAKICInJXMnIOi/geenu+iHs1xuIgogIiclcydcbiIKIAotIzogc3VibW9kdWxlLmM6MTUxMgorIzogc3VibW9kdWxlLmM6MTk0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLml6Dms5XpgJLlvZLov5vlrZDmqKHnu4Tot6/lvoQgJyVzJyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM2MAorIzogc3VibW9kdWxlLmM6MTk5MgorbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKK21zZ3N0ciAi5peg5rOV5ZyoIC4uIOS4reWQr+WKqCBscy1maWxlcyIKKworIzogc3VibW9kdWxlLmM6MjAxMgorbXNnaWQgIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IgorbXNnc3RyICJCVUfvvJrov5Tlm57nmoTot6/lvoTlkozlvZPliY3ot6/lvoTkuI3ljLnphY3vvJ8iCisKKyM6IHN1Ym1vZHVsZS5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAibHMtdHJlZSByZXR1cm5lZCB1bmV4cGVjdGVkIHJldHVybiBjb2RlICVkIgorbXNnc3RyICJscy10cmVlIOi/lOWbnuacquefpei/lOWbnuWAvCAlZCIKKworIzogc3VibW9kdWxlLWNvbmZpZy5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiJXMg55qE5YC85peg5pWIIgogCi0jOiB0cmFpbGVyLmM6MjQwCisjOiB0cmFpbGVyLmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgogbXNnc3RyICLmiafooYwgdHJhaWxlciDlkb3ku6QgJyVzJyDlpLHotKUiCiAKLSM6IHRyYWlsZXIuYzo0NzMgdHJhaWxlci5jOjQ3NyB0cmFpbGVyLmM6NDgxIHRyYWlsZXIuYzo1MzUgdHJhaWxlci5jOjUzOQotIzogdHJhaWxlci5jOjU0MworIzogdHJhaWxlci5jOjQ3NCB0cmFpbGVyLmM6NDc4IHRyYWlsZXIuYzo0ODIgdHJhaWxlci5jOjUzNiB0cmFpbGVyLmM6NTQwCisjOiB0cmFpbGVyLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgIumUriAnJTIkcycg55qE5pyq55+l5Y+W5YC8ICclMSRzJyIKIAotIzogdHJhaWxlci5jOjUyNSB0cmFpbGVyLmM6NTMwIGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CisjOiB0cmFpbGVyLmM6NTI2IHRyYWlsZXIuYzo1MzEgYnVpbHRpbi9yZW1vdGUuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKIG1zZ3N0ciAi5aSa5LqO5LiA5LiqICVzIgogCi0jOiB0cmFpbGVyLmM6NzAyCisjOiB0cmFpbGVyLmM6NzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IHRyYWlsZXIgdG9rZW4gaW4gdHJhaWxlciAnJS4qcyciCiBtc2dzdHIgIuetvuWQjSAnJS4qcycg55qE6ZSu5Li656m6IgogCi0jOiB0cmFpbGVyLmM6NzIyCisjOiB0cmFpbGVyLmM6NzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGlucHV0IGZpbGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W6L6T5YWl5paH5Lu2ICclcyciCiAKLSM6IHRyYWlsZXIuYzo3MjUKKyM6IHRyYWlsZXIuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICLkuI3og73oh6rmoIflh4bovpPlhaXor7vlj5YiCiAKLSM6IHRyYWlsZXIuYzo5NDkgYnVpbHRpbi9hbS5jOjQ0CisjOiB0cmFpbGVyLmM6OTUwIGJ1aWx0aW4vYW0uYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKLW1zZ3N0ciAi5LiN6IO96I635Y+WICVzIOeahOaWh+S7tueKtuaAgSIKK21zZ3N0ciAi5LiN6IO95a+5ICVzIOiwg+eUqCBzdGF0IgogCi0jOiB0cmFpbGVyLmM6OTUxCisjOiB0cmFpbGVyLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICLmlofku7YgJXMg5LiN5piv5LiA5Liq5q2j6KeE5paH5Lu2IgogCi0jOiB0cmFpbGVyLmM6OTUzCisjOiB0cmFpbGVyLmM6OTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCiBtc2dzdHIgIuaWh+S7tiAlcyDnlKjmiLfkuI3lj6/lhpkiCiAKLSM6IHRyYWlsZXIuYzo5NjUKKyM6IHRyYWlsZXIuYzo5NjYKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAi5LiN6IO95omT5byA5Li05pe25paH5Lu2IgogCi0jOiB0cmFpbGVyLmM6MTAwMQorIzogdHJhaWxlci5jOjEwMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSB0ZW1wb3JhcnkgZmlsZSB0byAlcyIKIG1zZ3N0ciAi5LiN6IO96YeN5ZG95ZCN5Li05pe25paH5Lu25Li6ICVzIgogCi0jOiB0cmFuc3BvcnQuYzo2MgorIzogdHJhbnNwb3J0LmM6NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCiBtc2dzdHIgIuWwhuimgeiuvue9riAnJTEkcycg55qE5LiK5ri45Li6ICclMyRzJyDnmoQgJyUyJHMnXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjE1MQorIzogdHJhbnNwb3J0LmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKIG1zZ3N0ciAi5Lyg6L6T77ya5peg5pWI55qE5rex5bqm6YCJ6aG5ICclcyciCiAKLSM6IHRyYW5zcG9ydC5jOjg4NQorIzogdHJhbnNwb3J0LmM6ODkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKICJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKIG1zZ3N0ciAi5LiL5YiX5a2Q5qih57uE6Lev5b6E5omA5YyF5ZCr55qE5L+u5pS55Zyo5Lu75L2V6L+c56iL5rqQ5Lit6YO95om+5LiN5Yiw77yaXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjg4OQorIzogdHJhbnNwb3J0LmM6ODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTM1NTAsMTEgKzM4NjAsMTEgQEAKICLku6XmjqjpgIHoh7Pov5znqIvjgIJcbiIKICJcbiIKIAotIzogdHJhbnNwb3J0LmM6ODk3CisjOiB0cmFuc3BvcnQuYzo5MDIKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIuato+WcqOe7iOatouOAgiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwODIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHJlZiAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5byV55SoICVzIgpAQCAtMzU3NSwxNiArMzg4NSwxNiBAQAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgIuWkquefreeahOagkeaWh+S7tiIKIAotIzogdW5wYWNrLXRyZWVzLmM6OTkKKyM6IHVucGFjay10cmVlcy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCiAiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKICLmgqjlr7nkuIvliJfmlofku7bnmoTmnKzlnLDkv67mlLnlsIbooqvmo4Dlh7rmk43kvZzopobnm5bvvJpcbiIKLSIlJXPor7flnKjliIfmjaLliIbmlK/liY3mj5DkuqTmgqjnmoTkv67mlLnmiJbogIXkv53lrZjov5vluqbjgIIiCisiJSVz6K+35Zyo5YiH5o2i5YiG5pSv5YmN5o+Q5Lqk5oiW6LSu6JeP5oKo55qE5L+u5pS544CCIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDEKKyM6IHVucGFjay10cmVlcy5jOjEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC0zNTkzLDE2ICszOTAzLDE2IEBACiAi5oKo5a+55LiL5YiX5paH5Lu255qE5pys5Zyw5L+u5pS55bCG6KKr5qOA5Ye65pON5L2c6KaG55uW77yaXG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMDQKKyM6IHVucGFjay10cmVlcy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCiAiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogIuaCqOWvueS4i+WIl+aWh+S7tueahOacrOWcsOS/ruaUueWwhuiiq+WQiOW5tuaTjeS9nOimhueblu+8mlxuIgotIiUlc+ivt+WcqOWQiOW5tuWJjeaPkOS6pOaCqOeahOS/ruaUueaIluiAheS/neWtmOi/m+W6puOAgiIKKyIlJXPor7flnKjlkIjlubbliY3mj5DkuqTmiJbotK7ol4/mgqjnmoTkv67mlLnjgIIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEwNgorIzogdW5wYWNrLXRyZWVzLmM6MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTM2MTEsMTYgKzM5MjEsMTYgQEAKICLmgqjlr7nkuIvliJfmlofku7bnmoTmnKzlnLDkv67mlLnlsIbooqvlkIjlubbmk43kvZzopobnm5bvvJpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEwOQorIzogdW5wYWNrLXRyZWVzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKICIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICIiCiAi5oKo5a+55LiL5YiX5paH5Lu255qE5pys5Zyw5L+u5pS55bCG6KKrICVzIOimhueblu+8mlxuIgotIiUlc+ivt+WcqCAlcyDkuYvliY3mj5DkuqTmgqjnmoTkv67mlLnmiJbogIXkv53lrZjov5vluqbjgIIiCisiJSVz6K+35ZyoICVzIOS5i+WJjeaPkOS6pOaIlui0ruiXj+aCqOeahOS/ruaUueOAgiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTExCisjOiB1bnBhY2stdHJlZXMuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzYyOSw3ICszOTM5LDcgQEAKICLmgqjlr7nkuIvliJfmlofku7bnmoTmnKzlnLDkv67mlLnlsIbooqsgJXMg6KaG55uW77yaXG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTYKKyM6IHVucGFjay10cmVlcy5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtMzYzOCw3ICszOTQ4LDcgQEAKICLmm7TmlrDlpoLkuIvnm67lvZXlsIbkvJrkuKLlpLHlhbbkuK3mnKrot5/ouKrnmoTmlofku7bvvJpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIwCisjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtMzY0Nyw3ICszOTU3LDcgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLrmo4Dlh7rmk43kvZzogIzooqvliKDpmaTvvJpcbiIKICIlJXPor7flnKjliIfmjaLliIbmlK/kuYvliY3np7vliqjmiJbliKDpmaTjgIIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTM2NTYsNyArMzk2Niw3IEBACiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li65qOA5Ye65pON5L2c6ICM6KKr5Yig6Zmk77yaXG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjUKKyM6IHVucGFjay10cmVlcy5jOjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCkBAIC0zNjY1LDcgKzM5NzUsNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uuWQiOW5tuaTjeS9nOiAjOiiq+WIoOmZpO+8mlxuIgogIiUlc+ivt+WcqOWQiOW5tuWJjeenu+WKqOaIluWIoOmZpOOAgiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI3CisjOiB1bnBhY2stdHJlZXMuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtMzY3NCw3ICszOTg0LDcgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLrlkIjlubbmk43kvZzogIzooqvliKDpmaTvvJpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMAorIzogdW5wYWNrLXRyZWVzLmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTM2ODMsNyArMzk5Myw3IEBACiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li6ICVzIOaTjeS9nOiAjOiiq+WIoOmZpO+8mlxuIgogIiUlc+ivt+WcqCAlcyDliY3np7vliqjmiJbliKDpmaTjgIIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMgorIzogdW5wYWNrLXRyZWVzLmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTM2OTIsNyArNDAwMiw3IEBACiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li6ICVzIOaTjeS9nOiAjOiiq+WIoOmZpO+8mlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM3CisjOiB1bnBhY2stdHJlZXMuYzoxNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC0zNzAyLDcgKzQwMTIsNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uuajgOWHuuaTjeS9nOiAjOiiq+imhueblu+8mlxuIgogIiUlc+ivt+WcqOWIh+aNouWIhuaUr+WJjeenu+WKqOaIluWIoOmZpOOAgiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM5CisjOiB1bnBhY2stdHJlZXMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC0zNzEyLDcgKzQwMjIsNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uuajgOWHuuaTjeS9nOiAjOiiq+imhueblu+8mlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQyCisjOiB1bnBhY2stdHJlZXMuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTM3MjEsNyArNDAzMSw3IEBACiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li65ZCI5bm25pON5L2c6ICM6KKr6KaG55uW77yaXG4iCiAiJSVz6K+35Zyo5ZCI5bm25YmN56e75Yqo5oiW5Yig6Zmk44CCIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDQKKyM6IHVucGFjay10cmVlcy5jOjE1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzczMCw3ICs0MDQwLDcgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLrlkIjlubbmk43kvZzogIzooqvopobnm5bvvJpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NworIzogdW5wYWNrLXRyZWVzLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC0zNzM5LDcgKzQwNDksNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uiAlcyDmk43kvZzogIzooqvopobnm5bvvJpcbiIKICIlJXPor7flnKggJXMg5YmN56e75Yqo5oiW5Yig6Zmk44CCIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDkKKyM6IHVucGFjay10cmVlcy5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtMzc0OCwxMiArNDA1OCwxMiBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uiAlcyDmk43kvZzogIzooqvopobnm5bvvJpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVudHJ5ICclcycgb3ZlcmxhcHMgd2l0aCAnJXMnLiAgQ2Fubm90IGJpbmQuIgogbXNnc3RyICLmnaHnm64gJyVzJyDlkowgJyVzJyDph43lj6DjgILml6Dms5XlkIjlubbjgIIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1OQorIzogdW5wYWNrLXRyZWVzLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHNwYXJzZSBjaGVja291dDogdGhlIGZvbGxvd2luZyBlbnRyaWVzIGFyZSBub3QgdXAtdG8tZGF0ZTpcbiIKQEAgLTM3NjIsNyArNDA3Miw3IEBACiAi5peg5rOV5pu05paw56iA55aP5qOA5Ye677ya5aaC5LiL5p2h55uu5LiN5piv5pyA5paw77yaXG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MQorIzogdW5wYWNrLXRyZWVzLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtMzc3Miw3ICs0MDgyLDcgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmlofku7blsIbooqvnqIDnlo/mo4Dlh7rmm7TmlrDmiYDopobnm5bvvJpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYzCisjOiB1bnBhY2stdHJlZXMuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTM3ODIsMjM0ICs0MDkyLDI1NCBAQAogIuW3peS9nOWMuuS4reS4i+WIl+aWh+S7tuWwhuiiq+eogOeWj+ajgOWHuuabtOaWsOaJgOWIoOmZpO+8mlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNDAKKyM6IHVucGFjay10cmVlcy5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCisiJXMiCittc2dzdHIgIiIKKyLml6Dms5Xmm7TmlrDlrZDmqKHnu4TvvJpcbiIKKyIlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nXG4iCiBtc2dzdHIgIue7iOatouS4rVxuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNzAKKyM6IHVucGFjay10cmVlcy5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgdXBkYXRlIHN0cmF0ZWd5IG5vdCBzdXBwb3J0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLlrZDmqKHnu4QgJXMg5LiN5pSv5oyB5a2Q5qih57uE5pu05paw562W55WlIgorCisjOiB1bnBhY2stdHJlZXMuYzozNDYKIG1zZ2lkICJDaGVja2luZyBvdXQgZmlsZXMiCiBtc2dzdHIgIuato+WcqOajgOWHuuaWh+S7tiIKIAotIzogdXJsbWF0Y2guYzoxMjAKKyM6IHVybG1hdGNoLmM6MTYzCiBtc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCiBtc2dzdHIgIuaXoOaViOeahCBVUkwg5pa55qGI5ZCN56ew5oiW5Lii5aSxICc6Ly8nIOWQjue8gCIKIAotIzogdXJsbWF0Y2guYzoxNDQgdXJsbWF0Y2guYzoyOTcgdXJsbWF0Y2guYzozNTYKKyM6IHVybG1hdGNoLmM6MTg3IHVybG1hdGNoLmM6MzQ2IHVybG1hdGNoLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKIG1zZ3N0ciAi5peg5pWI55qEICVYWCDovazkuYnluo/liJciCiAKLSM6IHVybG1hdGNoLmM6MTcyCisjOiB1cmxtYXRjaC5jOjIxNQogbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgogbXNnc3RyICLnvLrlpLHkuLvmnLrlkI3kuJQgVVJMIOaWueahiOS4jeaYryAnZmlsZTonIgogCi0jOiB1cmxtYXRjaC5jOjE4OQorIzogdXJsbWF0Y2guYzoyMzIKIG1zZ2lkICJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIgogbXNnc3RyICLkuIDkuKogJ2ZpbGU6JyBVUkwg5LiN5bqU6K+l5YyF5ZCr56uv5Y+j5Y+3IgogCi0jOiB1cmxtYXRjaC5jOjE5OQorIzogdXJsbWF0Y2guYzoyNDcKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgogbXNnc3RyICLkuLvmnLrlkI3kuK3ljIXlkKvml6DmlYjnmoTlrZfnrKYiCiAKLSM6IHVybG1hdGNoLmM6MjQ0IHVybG1hdGNoLmM6MjU1CisjOiB1cmxtYXRjaC5jOjI5MiB1cmxtYXRjaC5jOjMwMwogbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIiCiBtc2dzdHIgIuaXoOaViOeahOerr+WPo+WPtyIKIAotIzogdXJsbWF0Y2guYzozMjIKKyM6IHVybG1hdGNoLmM6MzcxCiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAi5peg5pWI55qEICcuLicg6Lev5b6E54mH5q61IgogCi0jOiB3b3JrdHJlZS5jOjI4MgorIzogd29ya3RyZWUuYzoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKIG1zZ3N0ciAi5peg5rOV6K+75Y+WICclcyciCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM5MgorIzogd3JhcHBlci5jOjIyMyB3cmFwcGVyLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgIuaXoOazleaJk+W8gCAnJXMnIOi/m+ihjOivu+WGmSIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKKyM6IHdyYXBwZXIuYzoyMjUgd3JhcHBlci5jOjM5NSBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIuaXoOazleaJk+W8gCAnJXMnIOi/m+ihjOWGmeWFpSIKIAotIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzk2IGJ1aWx0aW4vYW0uYzozMjAgYnVpbHRpbi9hbS5jOjc1OQotIzogYnVpbHRpbi9hbS5jOjg0NyBidWlsdGluL2NvbW1pdC5jOjE3MDAgYnVpbHRpbi9tZXJnZS5jOjEwMzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjM0MQorIzogd3JhcHBlci5jOjIyNyB3cmFwcGVyLmM6Mzk3IGJ1aWx0aW4vYW0uYzozMTkgYnVpbHRpbi9hbS5jOjc1NworIzogYnVpbHRpbi9hbS5jOjg0OSBidWlsdGluL21lcmdlLmM6MTAxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyDov5vooYzor7vlj5YiCiAKLSM6IHdyYXBwZXIuYzo2MDUgd3JhcHBlci5jOjYyNgorIzogd3JhcHBlci5jOjQyNCB3cmFwcGVyLmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K6/6ZeuICclcyciCiAKLSM6IHdyYXBwZXIuYzo2MzQKKyM6IHdyYXBwZXIuYzo2MzIKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIuS4jeiDveiOt+WPluW9k+WJjeW3peS9nOebruW9lSIKIAotIzogd3JhcHBlci5jOjY1OAorIzogd3JhcHBlci5jOjY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIuS4jeiDveWGmeWFpSAlcyIKIAotIzogd3JhcHBlci5jOjY2MAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgIuS4jeiDveWFs+mXrSAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUxCisjOiB3dC1zdGF0dXMuYzoxNTIKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIuacquWQiOW5tueahOi3r+W+hO+8miIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNzggd3Qtc3RhdHVzLmM6MjA1CisjOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmVzZXQgJXMgPOaWh+S7tj4uLi5cIiDku6Xlj5bmtojmmoLlrZjvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTgwIHd0LXN0YXR1cy5jOjIwNworIzogd3Qtc3RhdHVzLmM6MTgxIHd0LXN0YXR1cy5jOjIwOAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcm0gLS1jYWNoZWQgPOaWh+S7tj4uLi5cIiDku6Xlj5bmtojmmoLlrZjvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTg0CisjOiB3dC1zdGF0dXMuYzoxODUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFkZCA85paH5Lu2Pi4uLlwiIOagh+iusOino+WGs+aWueahiO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxODYgd3Qtc3RhdHVzLmM6MTkwCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MTkxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIO+8iOmFjOaDheS9v+eUqCBcImdpdCBhZGQvcm0gPOaWh+S7tj4uLi5cIiDmoIforrDop6PlhrPmlrnmoYjvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTg4CisjOiB3dC1zdGF0dXMuYzoxODkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcm0gPOaWh+S7tj4uLi5cIiDmoIforrDop6PlhrPmlrnmoYjvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKKyM6IHd0LXN0YXR1cy5jOjIwMCB3dC1zdGF0dXMuYzo5ODEKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIuimgeaPkOS6pOeahOWPmOabtO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAorIzogd3Qtc3RhdHVzLmM6MjE4IHd0LXN0YXR1cy5jOjk5MAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAi5bCa5pyq5pqC5a2Y5Lul5aSH5o+Q5Lqk55qE5Y+Y5pu077yaIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjIyMQorIzogd3Qtc3RhdHVzLmM6MjIyCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFkZCA85paH5Lu2Pi4uLlwiIOabtOaWsOimgeaPkOS6pOeahOWGheWuue+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMjMKKyM6IHd0LXN0YXR1cy5jOjIyNAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhZGQvcm0gPOaWh+S7tj4uLi5cIiDmm7TmlrDopoHmj5DkuqTnmoTlhoXlrrnvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MjI0CisjOiB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNoZWNrb3V0IC0tIDzmlofku7Y+Li4uXCIg5Lii5byD5bel5L2c5Yy655qE5pS55Yqo77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjIyNgorIzogd3Qtc3RhdHVzLmM6MjI3CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIgIO+8iOaPkOS6pOaIluS4ouW8g+WtkOaooee7hOS4reacqui3n+i4quaIluS/ruaUueeahOWGheWuue+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMzgKKyM6IHd0LXN0YXR1cy5jOjIzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgJXMgPOaWh+S7tj4uLi5cIiDku6XljIXlkKvopoHmj5DkuqTnmoTlhoXlrrnvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MworIzogd3Qtc3RhdHVzLmM6MjU0CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAi5Y+M5pa55Yig6Zmk77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI1NgogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAi55Sx5oiR5Lus5re75Yqg77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNTcKKyM6IHd0LXN0YXR1cy5jOjI1OAogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgIueUseS7luS7rOWIoOmZpO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjU5CisjOiB3dC1zdGF0dXMuYzoyNjAKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi55Sx5LuW5Lus5re75Yqg77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNjEKKyM6IHd0LXN0YXR1cy5jOjI2MgogbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgogbXNnc3RyICLnlLHmiJHku6zliKDpmaTvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MworIzogd3Qtc3RhdHVzLmM6MjY0CiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgIuWPjOaWuea3u+WKoO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjY1CisjOiB3dC1zdGF0dXMuYzoyNjYKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAi5Y+M5pa55L+u5pS577yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNzUKKyM6IHd0LXN0YXR1cy5jOjI3NgogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAi5paw5paH5Lu277yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNzcKKyM6IHd0LXN0YXR1cy5jOjI3OAogbXNnaWQgImNvcGllZDoiCiBtc2dzdHIgIuaLt+i0ne+8miIKIAotIzogd3Qtc3RhdHVzLmM6Mjc5CisjOiB3dC1zdGF0dXMuYzoyODAKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAi5Yig6Zmk77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyODEKKyM6IHd0LXN0YXR1cy5jOjI4MgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAi5L+u5pS577yaIgogCi0jOiB3dC1zdGF0dXMuYzoyODMKKyM6IHd0LXN0YXR1cy5jOjI4NAogbXNnaWQgInJlbmFtZWQ6IgogbXNnc3RyICLph43lkb3lkI3vvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NQorIzogd3Qtc3RhdHVzLmM6Mjg2CiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgIuexu+Wei+WPmOabtO+8miIKIAotIzogd3Qtc3RhdHVzLmM6Mjg3CisjOiB3dC1zdGF0dXMuYzoyODgKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAi5pyq55+l77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyODkKKyM6IHd0LXN0YXR1cy5jOjI5MAogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAi5pyq5ZCI5bm277yaIgogCiAjICDor5HogIXvvJrmnKvlsL7kuKTkuKrlrZfoioLlj6/og73ooqvliKDlh4/vvIzlpoLmnpznv7vor5HkuLrkuK3mlofmoIfngrnkvJrlh7rnjrDljYrkuKrmsYnlrZcKLSM6IHd0LXN0YXR1cy5jOjM3MQorIzogd3Qtc3RhdHVzLmM6MzcyCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAi5paw5o+Q5LqkLCAiCiAKICMgIOivkeiAhe+8muacq+WwvuS4pOS4quWtl+iKguWPr+iDveiiq+WIoOWHj++8jOWmguaenOe/u+ivkeS4uuS4reaWh+agh+eCueS8muWHuueOsOWNiuS4quaxieWtlwotIzogd3Qtc3RhdHVzLmM6MzczCisjOiB3dC1zdGF0dXMuYzozNzQKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgIuS/ruaUueeahOWGheWuuSwgIgogCiAjICDor5HogIXvvJrmnKvlsL7kuKTkuKrlrZfoioLlj6/og73ooqvliKDlh4/vvIzlpoLmnpznv7vor5HkuLrkuK3mlofmoIfngrnkvJrlh7rnjrDljYrkuKrmsYnlrZcKLSM6IHd0LXN0YXR1cy5jOjM3NQorIzogd3Qtc3RhdHVzLmM6Mzc2CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAi5pyq6Lef6Liq55qE5YaF5a65LCAiCiAKLSM6IHd0LXN0YXR1cy5jOjgxOAorIzogd3Qtc3RhdHVzLmM6ODIxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyeSIKK21zZ2lkX3BsdXJhbCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJpZXMiCittc2dzdHJbMF0gIuaCqOeahOi0ruiXj+WMuuW9k+WJjeaciSAlZCDmnaHorrDlvZUiCittc2dzdHJbMV0gIuaCqOeahOi0ruiXj+WMuuW9k+WJjeaciSAlZCDmnaHorrDlvZUiCisKKyM6IHd0LXN0YXR1cy5jOjg1MwogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICLlrZDmqKHnu4Tlt7Lkv67mlLnkvYblsJrmnKrmm7TmlrDvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjgyMAorIzogd3Qtc3RhdHVzLmM6ODU1CiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi6KaB5o+Q5Lqk55qE5a2Q5qih57uE5Y+Y5pu077yaIgogCi0jOiB3dC1zdGF0dXMuYzo5MDEKKyM6IHd0LXN0YXR1cy5jOjkzNwogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgpAQCAtNDAxNyw3NyArNDM0Nyw3NyBAQAogIuS4jeimgeaUueWKqOS4iumdoueahOS4gOihjOOAglxuIgogIuS4i+mdoueahOaJgOacieWGheWuueWdh+Wwhuiiq+WIoOmZpOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTAxMworIzogd3Qtc3RhdHVzLmM6MTA0OQogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAi5oKo5pyJ5bCa5pyq5ZCI5bm255qE6Lev5b6E44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEwMTYKKyM6IHd0LXN0YXR1cy5jOjEwNTIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgIO+8iOino+WGs+WGsueqgeW5tui/kOihjCBcImdpdCBjb21taXRcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMDE4CisjOiB3dC1zdGF0dXMuYzoxMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBtZXJnZSAtLWFib3J0XCIg57uI5q2i5ZCI5bm277yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMDIzCisjOiB3dC1zdGF0dXMuYzoxMDU5CiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAi5omA5pyJ5Yay56qB5bey6Kej5Yaz5L2G5oKo5LuN5aSE5LqO5ZCI5bm25Lit44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEwMjYKKyM6IHd0LXN0YXR1cy5jOjEwNjIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBjb21taXRcIiDnu5PmnZ/lkIjlubbvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzYKKyM6IHd0LXN0YXR1cy5jOjEwNzIKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIuaCqOato+WkhOS6jiBhbSDmk43kvZzov4fnqIvkuK3jgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjEwMzkKKyM6IHd0LXN0YXR1cy5jOjEwNzUKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIuW9k+WJjeeahOihpeS4geS4uuepuuOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMDQzCisjOiB3dC1zdGF0dXMuYzoxMDc5CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHvvIznhLblkI7ov5DooYwgXCJnaXQgYW0gLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEwNDUKKyM6IHd0LXN0YXR1cy5jOjEwODEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYW0gLS1za2lwXCIg6Lez6L+H5q2k6KGl5LiB77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEwNDcKKyM6IHd0LXN0YXR1cy5jOjEwODMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFtIC0tYWJvcnRcIiDmgaLlpI3ljp/mnInliIbmlK/vvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzYKKyM6IHd0LXN0YXR1cy5jOjEyMTQKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kbyDkuKLlpLHjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzgKKyM6IHd0LXN0YXR1cy5jOjEyMTYKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAi5rKh5pyJ5ZG95Luk6KKr5omn6KGM44CCIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgxCisjOiB3dC1zdGF0dXMuYzoxMjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIuacgOWQjuS4gOadoeWRveS7pOW3suWujOaIkO+8iCVkIOadoeWRveS7pOiiq+aJp+ihjO+8ie+8miIKIG1zZ3N0clsxXSAi5pyA5ZCO55qE5ZG95Luk5bey5a6M5oiQ77yIJWQg5p2h5ZG95Luk6KKr5omn6KGM77yJ77yaIgogCi0jOiB3dC1zdGF0dXMuYzoxMTkyCisjOiB3dC1zdGF0dXMuYzoxMjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgIO+8iOabtOWkmuWPguingeaWh+S7tiAlc++8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTE5NworIzogd3Qtc3RhdHVzLmM6MTIzNQogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgIuacquWJqeS4i+S7u+S9leWRveS7pOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMAorIzogd3Qtc3RhdHVzLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgpAQCAtNDA5NSwxNjUgKzQ0MjUsMTY5IEBACiBtc2dzdHJbMV0gIuaOpeS4i+adpeimgeaJp+ihjOeahOWRveS7pO+8iOWJqeS9mSAlZCDmnaHlkb3ku6TvvInvvJoiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTIwOAorIzogd3Qtc3RhdHVzLmM6MTI0NgogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB0byB2aWV3IGFuZCBlZGl0KSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIg5p2l5p+l55yL5ZKM57yW6L6R77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIxCisjOiB3dC1zdGF0dXMuYzoxMjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLmgqjlnKjmiafooYzlsIbliIbmlK8gJyVzJyDlj5jln7rliLAgJyVzJyDnmoTmk43kvZzjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjYKKyM6IHd0LXN0YXR1cy5jOjEyNjQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIuaCqOWcqOaJp+ihjOWPmOWfuuaTjeS9nOOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMjc4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB77yM54S25ZCO6L+Q6KGMIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTI0MgorIzogd3Qtc3RhdHVzLmM6MTI4MAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmViYXNlIC0tc2tpcFwiIOi3s+i/h+atpOihpeS4ge+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjQ0CisjOiB3dC1zdGF0dXMuYzoxMjgyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZWJhc2UgLS1hYm9ydFwiIOS7peajgOWHuuWOn+acieWIhuaUr++8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjUwCisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOaJgOacieWGsueqgeW3suino+WGs++8mui/kOihjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU0CisjOiB3dC1zdGF0dXMuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIuaCqOWcqOaJp+ihjOWwhuWIhuaUryAnJXMnIOWPmOWfuuWIsCAnJXMnIOeahOaTjeS9nOaXtuaLhuWIhuaPkOS6pOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1OQorIzogd3Qtc3RhdHVzLmM6MTI5NwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICLmgqjlnKjmiafooYzlj5jln7rmk43kvZzml7bmi4bliIbmj5DkuqTjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTI2MgorIzogd3Qtc3RhdHVzLmM6MTMwMAogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOS4gOaXpuaCqOW3peS9nOebruW9leaPkOS6pOW5suWHgOWQju+8jOi/kOihjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY2CisjOiB3dC1zdGF0dXMuYzoxMzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIuaCqOWcqOaJp+ihjOWwhuWIhuaUryAnJXMnIOWPmOWfuuWIsCAnJXMnIOeahOaTjeS9nOaXtue8lui+keaPkOS6pOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3MQorIzogd3Qtc3RhdHVzLmM6MTMwOQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi5oKo5Zyo5omn6KGM5Y+Y5Z+65pON5L2c5pe257yW6L6R5o+Q5Lqk44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyNzQKKyM6IHd0LXN0YXR1cy5jOjEzMTIKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBjb21taXQgLS1hbWVuZFwiIOS/ruihpeW9k+WJjeaPkOS6pO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzE0CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIgIO+8iOW9k+aCqOWvueaCqOeahOS/ruaUuea7oeaEj+WQjuaJp+ihjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMjg2CisjOiB3dC1zdGF0dXMuYzoxMzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIuaCqOWcqOaJp+ihjOaLo+mAieaPkOS6pCAlcyDnmoTmk43kvZzjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTI5MQorIzogd3Qtc3RhdHVzLmM6MTMyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOino+WGs+WGsueqgeW5tui/kOihjCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTI5NAorIzogd3Qtc3RhdHVzLmM6MTMzMgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOaJgOacieWGsueqgeW3suino+WGs++8mui/kOihjCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTI5NgorIzogd3Qtc3RhdHVzLmM6MTMzNAogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIg5Lul5Y+W5raI5ouj6YCJ5pON5L2c77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA1CisjOiB3dC1zdGF0dXMuYzoxMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICLmgqjlnKjmiafooYzlj43ovazmj5DkuqQgJXMg55qE5pON5L2c44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEzMTAKKyM6IHd0LXN0YXR1cy5jOjEzNDgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB5bm26L+Q6KGMIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTMxMworIzogd3Qtc3RhdHVzLmM6MTM1MQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjmiYDmnInlhrLnqoHlt7Lop6PlhrPvvJrov5DooYwgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMzE1CisjOiB3dC1zdGF0dXMuYzoxMzUzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiDku6Xlj5bmtojlj43ovazmj5DkuqTmk43kvZzvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjYKKyM6IHd0LXN0YXR1cy5jOjEzNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICLmgqjlnKjmiafooYzku47liIbmlK8gJyVzJyDlvIDlp4vnmoTkuozliIbmn6Xmib7mk43kvZzjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzAKKyM6IHd0LXN0YXR1cy5jOjEzNjgKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICLmgqjlnKjmiafooYzkuozliIbmn6Xmib7mk43kvZzjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTMzMworIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYmlzZWN0IHJlc2V0XCIg5Lul5Zue5Yiw5Y6f5pyJ5YiG5pSv77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxNTMwCisjOiB3dC1zdGF0dXMuYzoxNTY4CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAi5L2N5LqO5YiG5pSvICIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNgorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIuS6pOS6kuW8j+WPmOWfuuaTjeS9nOato+WcqOi/m+ihjOS4re+8m+iHsyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzgKKyM6IHd0LXN0YXR1cy5jOjE1NzYKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICLlj5jln7rmk43kvZzmraPlnKjov5vooYzkuK3vvJvoh7MgIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQzCisjOiB3dC1zdGF0dXMuYzoxNTgxCiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgIuWktOaMh+mSiOWIhuemu+S6jiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDUKKyM6IHd0LXN0YXR1cy5jOjE1ODMKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICLlpLTmjIfpkojliIbnprvoh6ogIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ4CisjOiB3dC1zdGF0dXMuYzoxNTg2CiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAi5b2T5YmN5LiN5Zyo5Lu75L2V5YiG5pSv5LiK44CCIgogCi0jOiB3dC1zdGF0dXMuYzoxNTY2CisjOiB3dC1zdGF0dXMuYzoxNjA2CiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIuWIneWni+aPkOS6pCIKIAotIzogd3Qtc3RhdHVzLmM6MTU4MAorIzogd3Qtc3RhdHVzLmM6MTYwNworbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgorbXNnc3RyICLlsJrml6Dmj5DkuqQiCisKKyM6IHd0LXN0YXR1cy5jOjE2MjEKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuacqui3n+i4queahOaWh+S7tiIKIAotIzogd3Qtc3RhdHVzLmM6MTU4MgorIzogd3Qtc3RhdHVzLmM6MTYyMwogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIuW/veeVpeeahOaWh+S7tiIKIAotIzogd3Qtc3RhdHVzLmM6MTU4NgorIzogd3Qtc3RhdHVzLmM6MTYyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtNDI2MywzNjAgKzQ1OTcsMzkyIEBACiAi6ICX6LS55LqGICUuMmYg56eS5Lul5p6a5Li+5pyq6Lef6Liq55qE5paH5Lu244CCJ3N0YXR1cyAtdW5vJyDkuZ/orrjog73mj5Dpq5jpgJ/luqbvvIxcbiIKICLkvYbmgqjpnIDopoHlsI/lv4PkuI3opoHlv5jkuobmt7vliqDmlrDmlofku7bvvIjlj4Lop4EgJ2dpdCBoZWxwIHN0YXR1cyfvvInjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1OTIKKyM6IHd0LXN0YXR1cy5jOjE2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAi5pyq6Lef6Liq55qE5paH5Lu25rKh5pyJ5YiX5Ye6JXMiCiAKICMgIOivkeiAhe+8muS4reaWh+Wtl+espuS4suaLvOaOpe+8jOWPr+WIoOmZpOWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTU5NAorIzogd3Qtc3RhdHVzLmM6MTYzNQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIu+8iOS9v+eUqCAtdSDlj4LmlbDmmL7npLrmnKrot5/ouKrnmoTmlofku7bvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDAKKyM6IHd0LXN0YXR1cy5jOjE2NDEKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICLmsqHmnInkv67mlLkiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDUKKyM6IHd0LXN0YXR1cy5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIuS/ruaUueWwmuacquWKoOWFpeaPkOS6pO+8iOS9v+eUqCBcImdpdCBhZGRcIiDlkowv5oiWIFwiZ2l0IGNvbW1pdCAtYVwi77yJXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MDgKKyM6IHd0LXN0YXR1cy5jOjE2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAi5L+u5pS55bCa5pyq5Yqg5YWl5o+Q5LqkXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKICJ0cmFjaylcbiIKIG1zZ3N0ciAi5o+Q5Lqk5Li656m677yM5L2G5piv5a2Y5Zyo5bCa5pyq6Lef6Liq55qE5paH5Lu277yI5L2/55SoIFwiZ2l0IGFkZFwiIOW7uueri+i3n+i4qu+8iVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE0CisjOiB3dC1zdGF0dXMuYzoxNjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICLmj5DkuqTkuLrnqbrvvIzkvYbmmK/lrZjlnKjlsJrmnKrot5/ouKrnmoTmlofku7ZcbiIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNjE3CisjOiB3dC1zdGF0dXMuYzoxNjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICLml6Dmlofku7bopoHmj5DkuqTvvIjliJvlu7ov5ou36LSd5paH5Lu25bm25L2/55SoIFwiZ2l0IGFkZFwiIOW7uueri+i3n+i4qu+8iVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIwIHd0LXN0YXR1cy5jOjE2MjUKKyM6IHd0LXN0YXR1cy5jOjE2NjEgd3Qtc3RhdHVzLmM6MTY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICLml6Dmlofku7bopoHmj5DkuqRcbiIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNjIzCisjOiB3dC1zdGF0dXMuYzoxNjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pO+8iOS9v+eUqCAtdSDmmL7npLrmnKrot5/ouKrnmoTmlofku7bvvIlcbiIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNjI3CisjOiB3dC1zdGF0dXMuYzoxNjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAi5peg5paH5Lu26KaB5o+Q5Lqk77yM5bmy5YeA55qE5bel5L2c5Yy6XG4iCiAKLSMgIOivkeiAhe+8muazqOaEj+S/neaMgeWPpeWwvuepuuagvAotIzogd3Qtc3RhdHVzLmM6MTczNAotbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKLW1zZ3N0ciAi5Yid5aeL5o+Q5Lqk5LqOICIKKyM6IHd0LXN0YXR1cy5jOjE3ODAKK21zZ2lkICJObyBjb21taXRzIHlldCBvbiAiCittc2dzdHIgIuWwmuaXoOaPkOS6pOWcqCAiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MzgKKyM6IHd0LXN0YXR1cy5jOjE3ODQKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFE77yI6Z2e5YiG5pSv77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxNzY3Ci1tc2dpZCAiZ29uZSIKLW1zZ3N0ciAi5Lii5aSxIgotCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHlj6XlsL7nqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE3Njkgd3Qtc3RhdHVzLmM6MTc3NworIzogd3Qtc3RhdHVzLmM6MTgxMyB3dC1zdGF0dXMuYzoxODIxCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAi6JC95ZCOICIKIAotIzogd3Qtc3RhdHVzLmM6MTc3MiB3dC1zdGF0dXMuYzoxNzc1CisjOiB3dC1zdGF0dXMuYzoxODE2IHd0LXN0YXR1cy5jOjE4MTkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgIumihuWFiCAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMjc3CisjOiB3dC1zdGF0dXMuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIuS4jeiDvSVz77ya5oKo5pyJ5pyq5pqC5a2Y55qE5Y+Y5pu044CCIgogCi0jOiB3dC1zdGF0dXMuYzoyMjgzCisjOiB3dC1zdGF0dXMuYzoyMzE3CiBtc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLlj6blpJbvvIzmgqjnmoTntKLlvJXkuK3ljIXlkKvmnKrmj5DkuqTnmoTlj5jmm7TjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjIyODUKKyM6IHd0LXN0YXR1cy5jOjIzMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLkuI3og70lc++8muaCqOeahOe0ouW8leS4reWMheWQq+acquaPkOS6pOeahOWPmOabtOOAgiIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTQKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Yig6ZmkICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPOmAiemhuT5dIFstLV0gPOi3r+W+hOinhOagvD4uLi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODAKKyM6IGJ1aWx0aW4vYWRkLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAi5oSP5aSW55qE5beu5byC54q25oCBICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjg1IGJ1aWx0aW4vY29tbWl0LmM6MjkxCisjOiBidWlsdGluL2FkZC5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6MjkyCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLmm7TmlrDmlofku7blpLHotKUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTUKKyM6IGJ1aWx0aW4vYWRkLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAi5Yig6ZmkICclcydcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNDkKKyM6IGJ1aWx0aW4vYWRkLmM6MTUxCiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIuWIt+aWsOe0ouW8leS5i+WQjuWwmuacquiiq+aaguWtmOeahOWPmOabtO+8miIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDkgYnVpbHRpbi9yZXYtcGFyc2UuYzo4NDUKKyM6IGJ1aWx0aW4vYWRkLmM6MjExIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODczCiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLkuI3og73or7vlj5bntKLlvJUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIwCisjOiBidWlsdGluL2FkZC5jOjIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAi5peg5rOV5omT5byAICclcycg6L+b6KGM5YaZ5YWl44CCIgogCi0jOiBidWlsdGluL2FkZC5jOjIyNAorIzogYnVpbHRpbi9hZGQuYzoyMjYKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIuS4jeiDveeUn+aIkOihpeS4gSIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjcKKyM6IGJ1aWx0aW4vYWRkLmM6MjI5CiBtc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCiBtc2dzdHIgIue8lui+keihpeS4geWksei0pSIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzAKKyM6IGJ1aWx0aW4vYWRkLmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCi1tc2dzdHIgIuS4jeiDveafpeeci+aWh+S7tueKtuaAgSAnJXMnIgorbXNnc3RyICLkuI3og73lr7kgJyVzJyDosIPnlKggc3RhdCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjM0CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLnqbrooaXkuIHjgILlvILluLjnu4jmraLjgIIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjM3CisjOiBidWlsdGluL2FkZC5jOjIzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95bqU55SoICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ3CisjOiBidWlsdGluL2FkZC5jOjI0OQogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAi5LiL5YiX6Lev5b6E5qC55o2u5oKo55qE5LiA5LiqIC5naXRpZ25vcmUg5paH5Lu26ICM6KKr5b+955Wl77yaXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY2IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL212LmM6MTIzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5OCBidWlsdGluL3B1c2guYzo1MjQKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNiBidWlsdGluL3JtLmM6MjQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCisjOiBidWlsdGluL2FkZC5jOjI2OSBidWlsdGluL2NsZWFuLmM6OTA3IGJ1aWx0aW4vZmV0Y2guYzoxMTAgYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoyMDEgYnVpbHRpbi9wdXNoLmM6NTI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMzIgYnVpbHRpbi9ybS5jOjI0MiBidWlsdGluL3NlbmQtcGFjay5jOjE2NAogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIua8lOS5oCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjkKKyM6IGJ1aWx0aW4vYWRkLmM6MjcyCiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAi5Lqk5LqS5byP5ouj6YCJIgogCi0jOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1OSBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MyBidWlsdGluL2NoZWNrb3V0LmM6MTE2MiBidWlsdGluL3Jlc2V0LmM6Mjk5CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIuS6pOS6kuW8j+aMkemAieaVsOaNruWdlyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc0CiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICLnvJbovpHlvZPliY3lt67lvILlubblupTnlKgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjcyCisjOiBidWlsdGluL2FkZC5jOjI3NQogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi5YWB6K645re75Yqg5b+955Wl55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjI3MworIzogYnVpbHRpbi9hZGQuYzoyNzYKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi5pu05paw5bey6Lef6Liq55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjI3NAorIzogYnVpbHRpbi9hZGQuYzoyNzcKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIuWPquiusOW9le+8jOivpei3r+W+hOeojeWQjuWGjea3u+WKoCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNzUKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc4CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLmt7vliqDmiYDmnInmlLnlj5jnmoTlt7Lot5/ouKrmlofku7blkozmnKrot5/ouKrmlofku7YiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjc4CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICLlv73nlaXlt6XkvZzljLrkuK3np7vpmaTnmoTot6/lvoTvvIjlkowgLS1uby1hbGwg55u45ZCM77yJIgogCi0jOiBidWlsdGluL2FkZC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzoyODMKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgIuS4jea3u+WKoO+8jOWPquWIt+aWsOe0ouW8lSIKIAotIzogYnVpbHRpbi9hZGQuYzoyODEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg0CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAi6Lez6L+H5Zug5Ye66ZSZ5LiN6IO95re75Yqg55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjI4MgorIzogYnVpbHRpbi9hZGQuYzoyODUKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgIuajgOafpeWcqOa8lOS5oOaooeW8j+S4i+aWh+S7tu+8iOWNs+S9v+S4jeWtmOWcqO+8ieaYr+WQpuiiq+W/veeVpSIKIAotIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg2IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCiBtc2dpZCAiKCsvLSl4IgogbXNnc3RyICIoKy8tKXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4CisjOiBidWlsdGluL2FkZC5jOjI4NiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MwogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICLopobnm5bliJfooajph4zmlofku7bnmoTlj6/miafooYzkvY0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjI4OAorbXNnaWQgIndhcm4gd2hlbiBhZGRpbmcgYW4gZW1iZWRkZWQgcmVwb3NpdG9yeSIKK21zZ3N0ciAi5Yib5bu65LiA5Liq5bWM5YWl5byP5LuT5bqT5pe257uZ5LqI6K2m5ZGKIgorCisjOiBidWlsdGluL2FkZC5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgorIkNsb25lcyBvZiB0aGUgb3V0ZXIgcmVwb3NpdG9yeSB3aWxsIG5vdCBjb250YWluIHRoZSBjb250ZW50cyBvZlxuIgorInRoZSBlbWJlZGRlZCByZXBvc2l0b3J5IGFuZCB3aWxsIG5vdCBrbm93IGhvdyB0byBvYnRhaW4gaXQuXG4iCisiSWYgeW91IG1lYW50IHRvIGFkZCBhIHN1Ym1vZHVsZSwgdXNlOlxuIgorIlxuIgorIlx0Z2l0IHN1Ym1vZHVsZSBhZGQgPHVybD4gJXNcbiIKKyJcbiIKKyJJZiB5b3UgYWRkZWQgdGhpcyBwYXRoIGJ5IG1pc3Rha2UsIHlvdSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlXG4iCisiaW5kZXggd2l0aDpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIlNlZSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIuaCqOWcqOW9k+WJjeS7k+W6k+S4rea3u+WKoOS6huWPpuWkluS4gOS4qkdpdOS7k+W6k+OAguWFi+mahuWkluWxgueahOS7k+W6k+WwhuS4jeWMheWQq+W1jOWFpeS7k+W6k+eahOWGheWuue+8jOW5tuS4lOS4jeefpemBk+ivpeWmguS9leiOt+WPluWug+OAglxuIgorIuWmguaenOaCqOimgea3u+WKoOS4gOS4quWtkOaooee7hO+8jOS9v+eUqO+8mlxuIgorIlxuIgorIlx0Z2l0IHN1Ym1vZHVsZSBhZGQgPHVybD4gJXNcbiIKKyJcbiIKKyLlpoLmnpzmgqjkuI3lsI/lv4Pmt7vliqDkuobov5nkuKrot6/lvoTvvIzlj6/ku6XnlKjkuIvpnaLnmoTlkb3ku6TlsIblhbbku47ntKLlvJXkuK3liKDpmaTvvJpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIuWPguingSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIOiOt+WPluabtOWkmuS/oeaBr+OAgiIKKworIzogYnVpbHRpbi9hZGQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAi5q2j5Zyo5re75Yqg5bWM5YWl5byPIGdpdCDku5PlupPvvJolcyIKKworIzogYnVpbHRpbi9hZGQuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAi5L2/55SoIC1mIOWPguaVsOWmguaenOaCqOehruWunuimgea3u+WKoOWug+S7rOOAglxuIgogCi0jOiBidWlsdGluL2FkZC5jOjMxMgorIzogYnVpbHRpbi9hZGQuYzozNTcKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLmt7vliqDmlofku7blpLHotKUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzQ4CisjOiBidWlsdGluL2FkZC5jOjM5NAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSDlkowgLXUg6YCJ6aG55LqS5palIgogCi0jOiBidWlsdGluL2FkZC5jOjM1NQorIzogYnVpbHRpbi9hZGQuYzo0MDEKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICLpgInpobkgLS1pZ25vcmUtbWlzc2luZyDlj6rog73lkowgLS1kcnktcnVuIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9hZGQuYzozNTkKKyM6IGJ1aWx0aW4vYWRkLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKIG1zZ3N0ciAi5Y+C5pWwIC0tY2htb2Qg5Y+W5YC8ICclcycg5b+F6aG75pivIC14IOaIliAreCIKIAotIzogYnVpbHRpbi9hZGQuYzozNzQKKyM6IGJ1aWx0aW4vYWRkLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICLmsqHmnInmjIflrprmlofku7bvvIzkuZ/msqHmnInmlofku7booqvmt7vliqDjgIJcbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNzUKKyM6IGJ1aWx0aW4vYWRkLmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICLkuZ/orrjmgqjmg7PopoHmiafooYwgJ2dpdCBhZGQgLifvvJ9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozODAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jaGVja291dC5jOjI3OQotIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MiBidWlsdGluL2NsZWFuLmM6OTE0IGJ1aWx0aW4vY29tbWl0LmM6MzUwCi0jOiBidWlsdGluL212LmM6MTQzIGJ1aWx0aW4vcmVzZXQuYzoyMzUgYnVpbHRpbi9ybS5jOjI3MQorIzogYnVpbHRpbi9hZGQuYzo0MjYgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzYgYnVpbHRpbi9jaGVja291dC5jOjI4MgorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3NSBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzUxCisjOiBidWlsdGluL212LmM6MTQ0IGJ1aWx0aW4vcmVzZXQuYzoyMzggYnVpbHRpbi9ybS5jOjI3MgogIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0NAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAi57Si5byV5paH5Lu25o2f5Z2PIgogCi0jOiBidWlsdGluL2FtLmM6NDE0CisjOiBidWlsdGluL2FtLmM6NDEzCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgIuS4jeiDveino+aekOS9nOiAheiEmuacrCIKIAotIzogYnVpbHRpbi9hbS5jOjQ5MQorIzogYnVpbHRpbi9hbS5jOjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICInJXMnIOiiqyBhcHBseXBhdGNoLW1zZyDpkqnlrZDliKDpmaQiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MzIKKyM6IGJ1aWx0aW4vYW0uYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLpnZ7ms5XnmoTovpPlhaXooYzvvJonJXMn44CCIgogCi0jOiBidWlsdGluL2FtLmM6NTY5CisjOiBidWlsdGluL2FtLmM6NTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLku44gJyVzJyDmi7fotJ3ms6jop6PliLAgJyVzJyDml7blpLHotKUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1OTUKKyM6IGJ1aWx0aW4vYW0uYzo1OTMKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgImZzZWVrIOWksei0pSIKIAotIzogYnVpbHRpbi9hbS5jOjc3NQorIzogYnVpbHRpbi9hbS5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAi5peg5rOV6Kej5p6Q6KGl5LiBICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NDAKKyM6IGJ1aWx0aW4vYW0uYzo4NDIKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAi5LiA5qyh5Y+q6IO95pyJ5LiA5LiqIFN0R0lUIOihpeS4gemYn+WIl+iiq+W6lOeUqCIKIAotIzogYnVpbHRpbi9hbS5jOjg4NworIzogYnVpbHRpbi9hbS5jOjg4OQogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLml6DmlYjnmoTml7bpl7TmiLMiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4OTAgYnVpbHRpbi9hbS5jOjg5OAorIzogYnVpbHRpbi9hbS5jOjg5MiBidWlsdGluL2FtLmM6OTAwCiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgIuaXoOaViOeahOaXpeacn+ihjCIKIAotIzogYnVpbHRpbi9hbS5jOjg5NQorIzogYnVpbHRpbi9hbS5jOjg5NwogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICLml6DmlYjnmoTml7bljLrlgY/np7vlgLwiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5ODQKKyM6IGJ1aWx0aW4vYW0uYzo5ODYKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCi1tc2dzdHIgIuihpeS4geagvOW8j+ajgOa1i+Wksei0peOAgiIKK21zZ3N0ciAi6KGl5LiB5qC85byP5o6i5rWL5aSx6LSl44CCIgogCi0jOiBidWlsdGluL2FtLmM6OTg5IGJ1aWx0aW4vY2xvbmUuYzozNzkKKyM6IGJ1aWx0aW4vYW0uYzo5OTEgYnVpbHRpbi9jbG9uZS5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLml6Dms5XliJvlu7rnm67lvZUgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjk5MworIzogYnVpbHRpbi9hbS5jOjk5NQogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAi5peg5rOV5ouG5YiG6KGl5LiB44CCIgogCi0jOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgorIzogYnVpbHRpbi9hbS5jOjExMjAgYnVpbHRpbi9jb21taXQuYzozNzcKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZ5YWl57Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL2FtLmM6MTE3NgorIzogYnVpbHRpbi9hbS5jOjExNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgIuW9k+aCqOino+WGs+i/meS4gOmXrumimO+8jOaJp+ihjCBcIiVzIC0tY29udGludWVcIuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjExNzcKKyM6IGJ1aWx0aW4vYW0uYzoxMTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKIG1zZ3N0ciAi5aaC5p6c5oKo5oOz6KaB6Lez6L+H6L+Z5LiA6KGl5LiB77yM5YiZ5omn6KGMIFwiJXMgLS1za2lwXCLjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTc4CisjOiBidWlsdGluL2FtLmM6MTE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgIuiLpeimgeWkjeWOn+iHs+WOn+Wni+WIhuaUr+W5tuWBnOatouihpeS4geaTjeS9nO+8jOaJp+ihjCBcIiVzIC0tYWJvcnRcIuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMTYKLW1zZ2lkICJQYXRjaCBpcyBlbXB0eS4gV2FzIGl0IHNwbGl0IHdyb25nPyIKLW1zZ3N0ciAi6KGl5LiB5Li656m644CC5piv5LiN5piv5YiH5YiG6ZSZ6K+v77yfIgorIzogYnVpbHRpbi9hbS5jOjEzMDQKK21zZ2lkICJQYXRjaCBpcyBlbXB0eS4iCittc2dzdHIgIuihpeS4geS4uuepuuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2FtLmM6MTM3MAogIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgotbXNnc3RyICLljIXlkKvml6DmlYjnmoTouqvku73moIfor4bvvJolcyIKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiCittc2dzdHIgIuaXoOaViOeahOi6q+S7veagh+ivhu+8miUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDE3CisjOiBidWlsdGluL2FtLmM6MTM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgogbXNnc3RyICLkuI3og73op6PmnpDmj5DkuqQgJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjEwCisjOiBidWlsdGluL2FtLmM6MTU4NgogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIuS7k+W6k+e8uuS5j+W/heimgeeahOaVsOaNruWvueixoeS7pei/m+ihjOS4ieaWueWQiOW5tuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MTIKKyM6IGJ1aWx0aW4vYW0uYzoxNTg4CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAi5L2/55So57Si5byV5p2l6YeN5bu65LiA5Liq77yI5LiJ5pa55ZCI5bm255qE77yJ5Z+656GA55uu5b2V5qCRLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTYzMQorIzogYnVpbHRpbi9hbS5jOjE2MDcKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtNDYyNCwzNyArNDk5MCwzNyBAQAogIuaCqOaYr+WQpuabvuaJi+WKqOe8lui+kei/h+aCqOeahOihpeS4ge+8n1xuIgogIuaXoOazleW6lOeUqOihpeS4geWIsOe0ouW8leS4reeahOaVsOaNruWvueixoeS4iuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzcKKyM6IGJ1aWx0aW4vYW0uYzoxNjEzCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICLlm57okL3liLDln7rnoYDniYjmnKzkuIrmiZPooaXkuIHlj4rov5vooYzkuInmlrnlkIjlubYuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjYyCisjOiBidWlsdGluL2FtLmM6MTYzOAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIuaXoOazleWQiOW5tuWPmOabtOOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE2ODYgYnVpbHRpbi9tZXJnZS5jOjYzMgorIzogYnVpbHRpbi9hbS5jOjE2NjIgYnVpbHRpbi9tZXJnZS5jOjYzMgogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIOaXoOazleWGmeWFpeS4gOagkeWvueixoSIKIAotIzogYnVpbHRpbi9hbS5jOjE2OTMKKyM6IGJ1aWx0aW4vYW0uYzoxNjY5CiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAi5q2j5bqU55So5Yiw5LiA5Liq56m65Y6G5Y+y5LiKIgogCi0jOiBidWlsdGluL2FtLmM6MTcwNiBidWlsdGluL2NvbW1pdC5jOjE3NjQgYnVpbHRpbi9tZXJnZS5jOjgwMgotIzogYnVpbHRpbi9tZXJnZS5jOjgyNworIzogYnVpbHRpbi9hbS5jOjE2ODIgYnVpbHRpbi9jb21taXQuYzoxNzY3IGJ1aWx0aW4vbWVyZ2UuYzo4MDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjgKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAi5peg5rOV5YaZ5o+Q5Lqk5a+56LGhIgogCi0jOiBidWlsdGluL2FtLmM6MTczOSBidWlsdGluL2FtLmM6MTc0MworIzogYnVpbHRpbi9hbS5jOjE3MTUgYnVpbHRpbi9hbS5jOjE3MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc3VtZTogJXMgZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICLml6Dms5Xnu6fnu63vvJolcyDkuI3lrZjlnKjjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzU5CisjOiBidWlsdGluL2FtLmM6MTczNQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAi5qCH5YeG6L6T5YWl5rKh5pyJ5ZKM57uI56uv5YWz6IGU77yM5LiN6IO96L+b6KGM5Lqk5LqS5byP5pON5L2c44CCIgogCi0jOiBidWlsdGluL2FtLmM6MTc2NAorIzogYnVpbHRpbi9hbS5jOjE3NDAKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCiBtc2dzdHIgIuaPkOS6pOWGheWuueS4uu+8miIKIApAQCAtNDY2MywzNSArNTAyOSwzNSBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNzc0CisjOiBidWlsdGluL2FtLmM6MTc1MAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIuW6lOeUqO+8n+aYr1t5XS/lkKZbbl0v57yW6L6RW2VdL+afpeeci+ihpeS4gVt2XS/lupTnlKjmiYDmnIlbYV3vvJoiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODI0CisjOiBidWlsdGluL2FtLmM6MTgwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIuiEj+e0ouW8le+8muS4jeiDveW6lOeUqOihpeS4ge+8iOiEj+aWh+S7tu+8miVz77yJIgogCi0jOiBidWlsdGluL2FtLmM6MTg2MSBidWlsdGluL2FtLmM6MTkzMworIzogYnVpbHRpbi9hbS5jOjE4NDAgYnVpbHRpbi9hbS5jOjE5MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIuW6lOeUqO+8miUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODc3CisjOiBidWlsdGluL2FtLmM6MTg1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAi5rKh5pyJ5Y+Y5pu0IOKAlOKAlCDooaXkuIHlt7Lnu4/lupTnlKjov4fjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODg1CisjOiBidWlsdGluL2FtLmM6MTg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAi5omT6KGl5LiB5aSx6LSl5LqOICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkxCisjOiBidWlsdGluL2FtLmM6MTg3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgogbXNnc3RyICLlpLHotKXnmoTooaXkuIHmlofku7blia/mnKzkvY3kuo7vvJolcyIKIAotIzogYnVpbHRpbi9hbS5jOjE5MzYKKyM6IGJ1aWx0aW4vYW0uYzoxOTE1CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgpAQCAtNDcwMSwxNTcgKzUwNjcsMTYxIEBACiAi5aaC5p6c5rKh5pyJ5LuA5LmI6KaB5re75Yqg5Yiw5pqC5a2Y5Yy655qE77yM5YiZ5b6I5Y+v6IO95piv5YW25a6D5o+Q5Lqk5bey57uP5byV5YWl5LqG55u45ZCM55qE5Y+Y5pu044CCXG4iCiAi5oKo5Lmf6K645oOz6KaB6Lez6L+H6L+Z5Liq6KGl5LiB44CCIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MjIKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKLSJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKKyJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKKyJzdWNoLlxuIgorIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgIiIKLSLmgqjnmoTntKLlvJXkuK3ku43mnInmnKrlkIjlubbnmoTot6/lvoTjgIJcbiIKLSLmgqjmmK/lkKblv5jkuobmiafooYwgJ2dpdCBhZGQn77yfIgorIuWcqOaCqOeahOe0ouW8leS4reS7jeWtmOWcqOacquWQiOW5tueahOi3r+W+hOOAglxuIgorIuaCqOW6lOivpeWvueW3sue7j+WGsueqgeino+WGs+eahOavj+S4gOS4quaWh+S7tuaJp+ihjCAnZ2l0IGFkZCcg5p2l5qCH6K6w5bey57uP5a6M5oiQ44CCIFxuIgorIuS9oOWPr+S7peWvuSBcIueUseS7luS7rOWIoOmZpFwiIOeahOaWh+S7tuaJp+ihjCBgZ2l0IHJtYCDlkb3ku6TjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDUxIGJ1aWx0aW4vYW0uYzoyMDU1IGJ1aWx0aW4vYW0uYzoyMDY3IGJ1aWx0aW4vcmVzZXQuYzozMDgKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMDMxIGJ1aWx0aW4vYW0uYzoyMDM1IGJ1aWx0aW4vYW0uYzoyMDQ3IGJ1aWx0aW4vcmVzZXQuYzozMjMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5a+56LGhICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTAzCisjOiBidWlsdGluL2FtLmM6MjA4MwogbXNnaWQgImZhaWxlZCB0byBjbGVhbiBpbmRleCIKIG1zZ3N0ciAi5peg5rOV5riF56m657Si5byVIgogCi0jOiBidWlsdGluL2FtLmM6MjEzNworIzogYnVpbHRpbi9hbS5jOjIxMTcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKIG1zZ3N0ciAi5oKo5aW95YOP5Zyo5LiK5LiA5qyhICdhbScg5aSx6LSl5ZCO56e75Yqo5LqGIEhFQUTjgILmnKrlm57pgIDoh7MgT1JJR19IRUFEIgogCi0jOiBidWlsdGluL2FtLmM6MjIwMAorIzogYnVpbHRpbi9hbS5jOjIxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICLml6DmlYjnmoQgLS1wYXRjaC1mb3JtYXQg5YC877yaJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjMzCisjOiBidWlsdGluL2FtLmM6MjIxMwogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogbXNnc3RyICJnaXQgYW0gWzzpgInpobk+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogCi0jOiBidWlsdGluL2FtLmM6MjIzNAorIzogYnVpbHRpbi9hbS5jOjIyMTQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs86YCJ6aG5Pl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMjIwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIuS7peS6pOS6kuW8j+aWueW8j+i/kOihjCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjIyCiBtc2dpZCAiaGlzdG9yaWNhbCBvcHRpb24gLS0gbm8tb3AiCiBtc2dzdHIgIuiAgeeahOWPguaVsCDigJTigJQg5peg5L2c55SoIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NAorIzogYnVpbHRpbi9hbS5jOjIyMjQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAi5aaC5p6c5b+F6KaB77yM5YWB6K645L2/55So5LiJ5pa55ZCI5bm244CCIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NSBidWlsdGluL2luaXQtZGIuYzo0ODMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NwotIzogYnVpbHRpbi9yZXBhY2suYzoxNzgKKyM6IGJ1aWx0aW4vYW0uYzoyMjI1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3CisjOiBidWlsdGluL3JlcGFjay5jOjE4MAogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICLpnZnpu5jmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ3CisjOiBidWlsdGluL2FtLmM6MjIyNwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuWcqOaPkOS6pOivtOaYjuS4rea3u+WKoOS4gOS4qiBTaWduZWQtb2ZmLWJ5IOetvuWQjSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTAKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgIuS9v+eUqCB1dGY4IOWtl+espumbhu+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi5ZCRIGdpdC1tYWlsaW5mbyDkvKDpgJIgLWsg5Y+C5pWwIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NAorIzogYnVpbHRpbi9hbS5jOjIyMzQKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICLlkJEgZ2l0LW1haWxpbmZvIOS8oOmAkiAtYiDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU2CisjOiBidWlsdGluL2FtLmM6MjIzNgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIuWQkSBnaXQtbWFpbGluZm8g5Lyg6YCSIC1tIOWPguaVsCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjM4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAi6ZKI5a+5IG1ib3gg5qC85byP77yM5ZCRIGdpdC1tYWlsc3BsaXQg5Lyg6YCSIC0ta2VlcC1jciDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjYxCisjOiBidWlsdGluL2FtLmM6MjI0MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICLkuI3lkJEgZ2l0LW1haWxzcGxpdCDkvKDpgJIgLS1rZWVwLWNyIOWPguaVsO+8jOimhuebliBhbS5rZWVwY3Ig55qE6K6+572uIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NAorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgIuS4ouW8g+ijgeWIh+e6v+WJjeeahOaJgOacieWGheWuuSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjYgYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUKLSM6IGJ1aWx0aW4vYW0uYzoyMjc4IGJ1aWx0aW4vYW0uYzoyMjgxIGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3Ci0jOiBidWlsdGluL2FtLmM6MjI5MworIzogYnVpbHRpbi9hbS5jOjIyNDYgYnVpbHRpbi9hbS5jOjIyNDkgYnVpbHRpbi9hbS5jOjIyNTIgYnVpbHRpbi9hbS5jOjIyNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjU4IGJ1aWx0aW4vYW0uYzoyMjYxIGJ1aWx0aW4vYW0uYzoyMjY0IGJ1aWx0aW4vYW0uYzoyMjY3CisjOiBidWlsdGluL2FtLmM6MjI3MwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgIuS8oOmAkue7mSBnaXQtYXBwbHkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjUKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzggYnVpbHRpbi9tZXJnZS5jOjIwMiBidWlsdGluL3B1bGwuYzoxMzUKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NCBidWlsdGluL3JlcGFjay5jOjE4NyBidWlsdGluL3JlcGFjay5jOjE5MQotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NCBidWlsdGluL3Nob3ctcmVmLmM6MTY5IGJ1aWx0aW4vdGFnLmM6MzU1Ci0jOiBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NQorIzogYnVpbHRpbi9hbS5jOjIyNjMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgorIzogYnVpbHRpbi9ncmVwLmM6MTA2NCBidWlsdGluL21lcmdlLmM6MjAyIGJ1aWx0aW4vcHVsbC5jOjE0MgorIzogYnVpbHRpbi9wdWxsLmM6MTk3IGJ1aWx0aW4vcmVwYWNrLmM6MTg5IGJ1aWx0aW4vcmVwYWNrLmM6MTkzCisjOiBidWlsdGluL3JlcGFjay5jOjE5NSBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMxIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKKyM6IGJ1aWx0aW4vdGFnLmM6Mzk5IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNAorIzogcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4Ci0jOiBidWlsdGluL3RhZy5jOjM4NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorIzogYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9icmFuY2guYzo1OTYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ0IGJ1aWx0aW4vdGFnLmM6NDM0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICLmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjkwCisjOiBidWlsdGluL2FtLmM6MjI3MAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAi6KGl5LiB55qE5qC85byPIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NgorIzogYnVpbHRpbi9hbS5jOjIyNzYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIuaJk+ihpeS4geWksei0peaXtuaYvuekuueahOmUmeivr+S/oeaBryIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjc4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAi5Yay56qB6Kej5Yaz5ZCO57un57ut5bqU55So6KGl5LiBIgogCi0jOiBidWlsdGluL2FtLmM6MjMwMQorIzogYnVpbHRpbi9hbS5jOjIyODEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAi5ZKMIC0tY29udGludWUg5ZCM5LmJIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNAorIzogYnVpbHRpbi9hbS5jOjIyODQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICLot7Pov4flvZPliY3ooaXkuIEiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA3CisjOiBidWlsdGluL2FtLmM6MjI4NwogbXNnaWQgInJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbi4iCiBtc2dzdHIgIuaBouWkjeWOn+Wni+WIhuaUr+W5tue7iOatouaJk+ihpeS4geaTjeS9nOOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTEKKyM6IGJ1aWx0aW4vYW0uYzoyMjkxCiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICLlsIbkvZzogIXml6XmnJ/kvZzkuLrmj5DkuqTml6XmnJ8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzEzCisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgIueUqOW9k+WJjeaXtumXtOS9nOS4uuS9nOiAheaXpeacnyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTUgYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbWVyZ2UuYzoyMzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NSBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzcwCisjOiBidWlsdGluL2FtLmM6MjI5NSBidWlsdGluL2NvbW1pdC5jOjE2MDUgYnVpbHRpbi9tZXJnZS5jOjIzMworIzogYnVpbHRpbi9wdWxsLmM6MTcyIGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyIGJ1aWx0aW4vdGFnLmM6NDE0CiBtc2dpZCAia2V5LWlkIgogbXNnc3RyICJrZXktaWQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE2CisjOiBidWlsdGluL2FtLmM6MjI5NgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgIuS9v+eUqCBHUEcg562+5ZCN5o+Q5LqkIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOQorIzogYnVpbHRpbi9hbS5jOjIyOTkKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAi77yI5YaF6YOo5L2/55So77yM55So5LqOIGdpdC1yZWJhc2XvvIkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM0CisjOiBidWlsdGluL2FtLmM6MjMxNwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTQ4NTksMTYgKzUyMjksMTYgQEAKICLlj4LmlbAgLWIvLS1iaW5hcnkg5bey57uP5b6I6ZW/5pe26Ze05LiN5YGa5Lu75L2V5a6e6LSo5pON5L2c5LqG77yM5bm25LiU5bCG6KKr56e76Zmk44CCXG4iCiAi6K+35LiN6KaB5YaN5L2/55So5a6D5LqG44CCIgogCi0jOiBidWlsdGluL2FtLmM6MjM0MQorIzogYnVpbHRpbi9hbS5jOjIzMjQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIuaXoOazleivu+WPlue0ouW8lSIKIAotIzogYnVpbHRpbi9hbS5jOjIzNTYKKyM6IGJ1aWx0aW4vYW0uYzoyMzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJXMgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKIG1zZ3N0ciAi5LmL5YmN55qE5Y+Y5Z+655uu5b2VICVzIOS7jeeEtuWtmOWcqO+8jOS9huWNtOaPkOS+m+S6hiBtYm9444CCIgogCi0jOiBidWlsdGluL2FtLmM6MjM4MAorIzogYnVpbHRpbi9hbS5jOjIzNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTQ4NzcsNyArNTI0Nyw3IEBACiAi5Y+R546w5LqG6ZSZ6K+v55qEICVzIOebruW9leOAglxuIgogIuS9v+eUqCBcImdpdCBhbSAtLWFib3J0XCIg5Yig6Zmk5a6D44CCIgogCi0jOiBidWlsdGluL2FtLmM6MjM4NgorIzogYnVpbHRpbi9hbS5jOjIzNjkKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICLop6PlhrPmk43kvZzmnKrov5vooYzvvIzmiJHku6zkuI3kvJrnu6fnu63jgIIiCiAKQEAgLTQ5MDcsMTEgKzUyNzcsNiBAQAogbXNnaWQgImdpdCBhcmNoaXZlOiBOQUNLICVzIgogbXNnc3RyICJnaXQgYXJjaGl2Ze+8mk5BQ0sgJXMiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCi1tc2dzdHIgIui/nOeoi+mUmeivr++8miVzIgotCiAjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmXvvJrljY/orq7plJnor68iCkBAIC00OTMyLDE4OCArNTI5NywxNjcgQEAKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICLmm7TmlrAgQklTRUNUX0hFQUQg6ICM6Z2e5qOA5Ye65b2T5YmN5o+Q5LqkIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNwogbXNnaWQgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPHJldi1vcHRzPl0gWzxyZXY+XSBbLS1dIDxmaWxlPiIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFs86YCJ6aG5Pl0gWzzniYjmnKzpgInpobk+XSBbPOeJiOacrD5dIFstLV0gPOaWh+S7tj4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzozOAorIzogYnVpbHRpbi9ibGFtZS5jOjMyCiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjzniYjmnKzpgInpobk+IOeahOaWh+aho+iusOW9leWcqCBnaXQtcmV2LWxpc3QoMSkg5LitIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4NgotbXNnaWQgIkJsYW1pbmcgbGluZXMiCi1tc2dzdHIgIui/vei4quS7o+eggeihjCIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NjgKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICLlop7ph4/lvI/lnLDmmL7npLrlj5HnjrDnmoQgYmxhbWUg5p2h55uuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU4MworIzogYnVpbHRpbi9ibGFtZS5jOjY2OQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIui+ueeVjOaPkOS6pOaYvuekuuepuueahCBTSEEtMe+8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzAKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuS4jeaKiuagueaPkOS6pOS9nOS4uui+ueeVjO+8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzEKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICLmmL7npLrlkb3ku6TmtojogJfnu5/orqEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg2CisjOiBidWlsdGluL2JsYW1lLmM6NjcyCiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLlvLrliLbov5vluqbmmL7npLoiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CisjOiBidWlsdGluL2JsYW1lLmM6NjczCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIuaYvuekuuWIpOaWrSBibGFtZSDmnaHnm67kvY3np7vnmoTlvpfliIbor4rmlq3kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CisjOiBidWlsdGluL2JsYW1lLmM6Njc0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIuaYvuekuuWOn+Wni+aWh+S7tuWQje+8iOm7mOiupO+8muiHquWKqO+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1ODkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzUKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuaYvuekuuWOn+Wni+eahOihjOWPt++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1OTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2NzYKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICLmmL7npLrkuLrkuIDkuKrpgILlkIjmnLrlmajor7vlj5bnmoTmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkxCisjOiBidWlsdGluL2JsYW1lLmM6Njc3CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICLkuLrmr4/kuIDooYzmmL7npLrmnLrlmajpgILnlKjnmoTmj5DkuqTkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkyCisjOiBidWlsdGluL2JsYW1lLmM6Njc4CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5L2/55So5ZKMIGdpdC1hbm5vdGF0ZSDnm7jlkIznmoTovpPlh7rmqKHlvI/vvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkzCisjOiBidWlsdGluL2JsYW1lLmM6Njc5CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLmmL7npLrljp/lp4vml7bpl7TmiLPvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk0CisjOiBidWlsdGluL2JsYW1lLmM6NjgwCiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLmmL7npLrplb/nmoQgU0hBMSDmj5DkuqTlj7fvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk1CisjOiBidWlsdGluL2JsYW1lLmM6NjgxCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi6ZqQ6JeP5L2c6ICF5ZCN5a2X5ZKM5pe26Ze05oiz77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NgorIzogYnVpbHRpbi9ibGFtZS5jOjY4MgogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5pi+56S65L2c6ICF55qE6YKu566x6ICM5LiN5piv5ZCN5a2X77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU5NworIzogYnVpbHRpbi9ibGFtZS5jOjY4MwogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICLlv73nlaXnqbrnmb3lt67lvIIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CisjOiBidWlsdGluL2JsYW1lLmM6NjkwCiBtc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKIG1zZ3N0ciAi5L2/55So5LiA5Liq6K+V6aqM5oCn55qE5ZCv5Y+R5byP566X5rOV5pS56L+b5beu5byC5pi+56S6IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNgorIzogYnVpbHRpbi9ibGFtZS5jOjY5MgogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAi6Iqx6LS56aKd5aSW55qE5b6q546v5p2l5om+5Yiw5pu05aW955qE5Yy56YWNIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYwNworIzogYnVpbHRpbi9ibGFtZS5jOjY5MwogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAi5L2/55So5p2l6IeqIDzmlofku7Y+IOeahOS/ruiuoumbhuiAjOS4jeaYr+iwg+eUqCBnaXQtcmV2LWxpc3QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA4CisjOiBidWlsdGluL2JsYW1lLmM6Njk0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAi5L2/55SoIDzmlofku7Y+IOeahOWGheWuueS9nOS4uuacgOe7iOeahOWbvueJhyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MDkgYnVpbHRpbi9ibGFtZS5jOjI2MTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTUgYnVpbHRpbi9ibGFtZS5jOjY5NgogbXNnaWQgInNjb3JlIgogbXNnc3RyICLlvpfliIYiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA5CisjOiBidWlsdGluL2JsYW1lLmM6Njk1CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAi5om+5Yiw5paH5Lu25YaF5Y+K6Leo5paH5Lu255qE6KGM5ou36LSdIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjYxMAorIzogYnVpbHRpbi9ibGFtZS5jOjY5NgogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIuaJvuWIsOaWh+S7tuWGheWPiui3qOaWh+S7tueahOihjOenu+WKqCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI2MTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo2OTcKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAi5Y+q5aSE55CG6KGM6IyD5Zu05ZyoIG4g5ZKMIG0g5LmL6Ze055qE77yM5LuOIDEg5byA5aeLIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjY1OAorIzogYnVpbHRpbi9ibGFtZS5jOjc0NAogbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCiBtc2dzdHIgIi0tcHJvZ3Jlc3Mg5LiN6IO95ZKMIC0taW5jcmVtZW50YWwg5oiWIC0tcG9yY2VsYWluIOWQjOaXtuS9v+eUqCIKIAotIy4gVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUgbWF4aW11bQotIy4gZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4gImdpdCBibGFtZSIKLSMuIG91dHB1dC4gIEZvciBDIGxvY2FsZSwgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iLCB3aGljaAotIy4gdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdCBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mCi0jLiByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQgeW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yCi0jLiBmZXdlciBkaXNwbGF5IGNvbHVtbnMuCi0jOiBidWlsdGluL2JsYW1lLmM6MjcwNgorIy4gVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUKKyMuIG1heGltdW0gZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4KKyMuICJnaXQgYmxhbWUiIG91dHB1dC4gIEZvciBDIGxvY2FsZSwgIjQgeWVhcnMsIDExCisjLiBtb250aHMgYWdvIiwgd2hpY2ggdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdAorIy4gYW1vbmcgdmFyaW91cyBmb3JtcyBvZiByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQKKyMuIHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvciBmZXdlciBkaXNwbGF5CisjLiBjb2x1bW5zLgorIy4KKyM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICI0IOW5tCAxMSDkuKrmnIjliY0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzg2Ci1tc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKLW1zZ3N0ciAiLS1jb250ZW50cyDlkowgLS1yZXZlcnNlIOS4jeiDvea3t+eUqOOAgiIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MDYKLW1zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCi1tc2dzdHIgIuS4jeiDveWwhiAtLWNvbnRlbnRzIOWSjOacgOe7iOeahOaPkOS6pOWvueixoeWQjeWFseeUqCIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4MTEKLW1zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCi1tc2dzdHIgIi0tcmV2ZXJzZSDlkowgLS1maXJzdC1wYXJlbnQg5YWx55So77yM6ZyA6KaB5oyH5a6a5pyA5paw55qE5o+Q5LqkIgotCi0jOiBidWlsdGluL2JsYW1lLmM6MjgzOAotbXNnaWQgIiIKLSItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCi1tc2dzdHIgIi0tcmV2ZXJzZSDlkowgLS1maXJzdC1wYXJlbnQg5YWx55So77yM6ZyA6KaB56ys5LiA56WW5YWI6ZO+5LiK55qE5o+Q5Lqk6IyD5Zu0IgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg0OQotIywgYy1mb3JtYXQKLW1zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCi1tc2dzdHIgIuWcqCAlMiRzIOS4reaXoOatpOi3r+W+hCAlMSRzIgotCi0jOiBidWlsdGluL2JsYW1lLmM6Mjg2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgotbXNnc3RyICLkuI3og73kuLrot6/lvoQgJTIkcyDor7vlj5bmlbDmja7lr7nosaEgJTEkcyIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjI4NzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKIG1zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCiBtc2dzdHJbMF0gIuaWh+S7tiAlcyDlj6rmnIkgJWx1IOihjCIKIG1zZ3N0clsxXSAi5paH5Lu2ICVzIOWPquaciSAlbHUg6KGMIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2CisjOiBidWlsdGluL2JsYW1lLmM6OTI4Cittc2dpZCAiQmxhbWluZyBsaW5lcyIKK21zZ3N0ciAi6L+96Liq5Luj56CB6KGMIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI3CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs86YCJ6aG5Pl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNworIzogYnVpbHRpbi9icmFuY2guYzoyOAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1sXSBbLWZdIDxicmFuY2gtbmFtZT4gWzxzdGFydC1wb2ludD5dIgogbXNnc3RyICJnaXQgYnJhbmNoIFs86YCJ6aG5Pl0gWy1sXSBbLWZdIDzliIbmlK/lkI0+IFs86LW35aeL54K5Pl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjkKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstcl0gKC1kIHwgLUQpIDxicmFuY2gtbmFtZT4uLi4iCiBtc2dzdHIgImdpdCBicmFuY2ggWzzpgInpobk+XSBbLXJdICgtZCB8IC1EKSA85YiG5pSv5ZCNPi4uLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyOQorIzogYnVpbHRpbi9icmFuY2guYzozMAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPOmAiemhuT5dICgtbSB8IC1NKSBbPOaXp+WIhuaUrz5dIDzmlrDliIbmlK8+IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMxCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPOmAiemhuT5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogCisjOiBidWlsdGluL2JyYW5jaC5jOjMyCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPOmAiemhuT5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorCiAjICDor5HogIXvvJrkv53mjIHljp/mjaLooYzmoLzlvI/vvIzlnKjovpPlh7rml7YgJXMg55qE5pu/5Luj5YaF5a655Lya6K6p5a2X56ym5Liy5Y+Y6ZW/Ci0jOiBidWlsdGluL2JyYW5jaC5jOjE0MworIzogYnVpbHRpbi9icmFuY2guYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaGFzIGJlZW4gbWVyZ2VkIHRvXG4iCkBAIC01MTIzLDcgKzU0NjcsNyBAQAogIiAgICAgICAgICclcyfvvIzkvYbmnKrlkIjlubbliLAgSEVBROOAgiIKIAogIyAg6K+R6ICF77ya5L+d5oyB5Y6f5o2i6KGM5qC85byP77yM5Zyo6L6T5Ye65pe2ICVzIOeahOabv+S7o+WGheWuueS8muiuqeWtl+espuS4suWPmOmVvwotIzogYnVpbHRpbi9icmFuY2guYzoxNDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgpAQCAtNTEzMiwxMiArNTQ3NiwxMiBAQAogIuW5tuacquWIoOmZpOWIhuaUryAnJXMn77yMIOiZveeEtuWug+W3sue7j+WQiOW5tuWIsCBIRUFE77yMXG4iCiAiICAgICAgICAg54S26ICM5Y205bCa5pyq6KKr5ZCI5bm25Yiw5YiG5pSvICclcycg44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MQorIzogYnVpbHRpbi9icmFuY2guYzoxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgogbXNnc3RyICLml6Dms5Xmn6Xor6IgJyVzJyDmjIflkJHnmoTmj5DkuqTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY1CisjOiBidWlsdGluL2JyYW5jaC5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCkBAIC01MTQ2LDE2MyArNTQ5MCw5MSBAQAogIuWIhuaUryAnJXMnIOayoeacieWujOWFqOWQiOW5tuOAglxuIgogIuWmguaenOaCqOehruiupOimgeWIoOmZpOWug++8jOaJp+ihjCAnZ2l0IGJyYW5jaCAtRCAlcyfjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTc4CisjOiBidWlsdGluL2JyYW5jaC5jOjE4MAogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIuaXoOazleabtOaWsCBjb25maWcg5paH5Lu2IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwNgorIzogYnVpbHRpbi9icmFuY2guYzoyMTEKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgIuS4jeiDveWwhiAtYSDlkowgLWQg5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIxMgorIzogYnVpbHRpbi9icmFuY2guYzoyMTcKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCiBtc2dzdHIgIuaXoOazleafpeivoiBIRUFEIOaMh+WQkeeahOaPkOS6pOWvueixoSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Yig6Zmk5qOA5Ye65LqOICclMiRzJyDnmoTliIbmlK8gJyUxJHMn44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MQorIzogYnVpbHRpbi9icmFuY2guYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgIuacquiDveaJvuWIsOi/nOeoi+i3n+i4quWIhuaUryAnJXMn44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI0MgorIzogYnVpbHRpbi9icmFuY2guYzoyNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAi5YiG5pSvICclcycg5pyq5Y+R546w44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1NworIzogYnVpbHRpbi9icmFuY2guYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICLml6Dms5XliKDpmaTov5znqIvot5/ouKrliIbmlK8gJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICLml6Dms5XliKDpmaTliIbmlK8gJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAi5bey5Yig6Zmk6L+c56iL6Lef6Liq5YiG5pSvICVz77yI5pu+5Li6ICVz77yJ44CCXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY2CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAi5bey5Yig6Zmk5YiG5pSvICVz77yI5pu+5Li6ICVz77yJ44CCXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogZ29uZV0iCi1tc2dzdHIgIlslczog5Lii5aSxXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzXSIKLW1zZ3N0ciAiWyVzXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgotbXNnc3RyICJbJXPvvJrokL3lkI4gJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyNAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYmVoaW5kICVkXSIKLW1zZ3N0ciAiW+iQveWQjiAlZF0iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWRdIgotbXNnc3RyICJbJXPvvJrpooblhYggJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgotbXNnc3RyICJb6aKG5YWIICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKLW1zZ3N0ciAiWyVz77ya6aKG5YWIICVk77yM6JC95ZCOICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozMzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2FoZWFkICVkLCBiZWhpbmQgJWRdIgotbXNnc3RyICJb6aKG5YWIICVk77yM6JC95ZCOICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNDkKLW1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgotbXNnc3RyICIgKioqKiDml6DmlYjlvJXnlKggKioqKiIKLQotIzogYnVpbHRpbi9icmFuY2guYzozNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICLvvIjpnZ7liIbmlK/vvIzmraPlj5jln7ogJXPvvIkiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAi77yI6Z2e5YiG5pSv77yM5LqM5YiG5p+l5om+5byA5aeL5LqOICVz77yJIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwotIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICLvvIjlpLTmjIfpkojliIbnprvkuo4gJXPvvIkiCi0KLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCi0jLiAiSEVBRCBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgotbXNnc3RyICLvvIjlpLTmjIfpkojliIbnprvoh6ogJXPvvIkiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkzCi1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIu+8iOmdnuWIhuaUr++8iSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo1MzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICLliIbmlK8gJXMg5q2j6KKr5Y+Y5Z+65YiwICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzOQorIzogYnVpbHRpbi9icmFuY2guYzo0NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICLliIbmlK8gJXMg5q2j6KKr5LqM5YiG5p+l5om+5LqOICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU1NAorIzogYnVpbHRpbi9icmFuY2guYzo0NjQKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAi5peg5rOV6YeN5ZG95ZCN5b2T5YmN5YiG5pSv5Zug5Li65LiN5aSE5LqO5Lu75L2V5YiG5pSv5LiK44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU2NAorIzogYnVpbHRpbi9icmFuY2guYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi5peg5pWI55qE5YiG5pSv5ZCN77yaJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkxCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIuWIhuaUr+mHjeWRveWQjeWksei0pSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICLph43lkb3lkI3mjonkuIDkuKrplJnor6/lkb3lkI3nmoTml6fliIbmlK8gJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIuWIhuaUr+mHjeWRveWQjeS4uiAlc++8jOS9hiBIRUFEIOayoeacieabtOaWsO+8gSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTA2CiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICLliIbmlK/ooqvph43lkb3lkI3vvIzkvYbmm7TmlrAgY29uZmlnIOaWh+S7tuWksei0pSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKQEAgLTUzMTMsMjA0ICs1NTg1LDIxMyBAQAogIiAgJXNcbiIKICLku6UgJyVjJyDlvIDlpLTnmoTooYzlsIbooqvov4fmu6TjgIJcbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU1CiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgogbXNnc3RyICLpgJrnlKjpgInpobkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU1NwogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICLmmL7npLrlk4jluIzlgLzlkozkuLvpopjvvIzoi6Xlj4LmlbDlh7rnjrDkuKTmrKHliJnmmL7npLrkuIrmuLjliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgIuS4jeaYvuekuuS/oeaBryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU5CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgIuiuvue9rui3n+i4quaooeW8j++8iOWPguingSBnaXQtcHVsbCgxKe+8iSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCiBtc2dpZCAiY2hhbmdlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIuaUueWPmOS4iua4uOS/oeaBryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAidXBzdHJlYW0iCiBtc2dzdHIgIuS4iua4uCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLmlLnlj5jkuIrmuLjkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NAogbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLlj5bmtojkuIrmuLjkv6Hmga/nmoTorr7nva4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NQogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAi5L2/55So5b2p6Imy6L6T5Ye6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9icmFuY2guYzo1NjYKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLkvZznlKjkuo7ov5znqIvot5/ouKrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU2IGJ1aWx0aW4vYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OCBidWlsdGluL2JyYW5jaC5jOjU3MAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIuWPquaJk+WNsOWMheWQq+ivpeaPkOS6pOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY5IGJ1aWx0aW4vYnJhbmNoLmM6NTcxCittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAi5Y+q5omT5Y2w5LiN5YyF5ZCr6K+l5o+Q5Lqk55qE5YiG5pSvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU3NAogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgIuWFt+S9k+eahCBnaXQtYnJhbmNoIOWKqOS9nO+8miIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc1CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIuWIl+WHuui/nOeoi+i3n+i4quWPiuacrOWcsOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc3CiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgIuWIoOmZpOWujOWFqOWQiOW5tueahOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTc4CiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAi5Yig6Zmk5YiG5pSv77yI5Y2z5L2/5rKh5pyJ5ZCI5bm277yJIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9icmFuY2guYzo1NzkKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAi56e75YqoL+mHjeWRveWQjeS4gOS4quWIhuaUr++8jOS7peWPiuWug+eahOW8leeUqOaXpeW/lyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgwCiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi56e75YqoL+mHjeWRveWQjeS4gOS4quWIhuaUr++8jOWNs+S9v+ebruagh+W3suWtmOWcqCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgxCiBtc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCiBtc2dzdHIgIuWIl+WHuuWIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTgyCiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgIuWIm+W7uuWIhuaUr+eahOW8leeUqOaXpeW/lyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg0CiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgIuagh+iusOWIhuaUr+eahOaPj+i/sCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg1CiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAi5by65Yi25Yib5bu644CB56e75YqoL+mHjeWRveWQjeOAgeWIoOmZpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg2CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgIuWPquaJk+WNsOW3sue7j+WQiOW5tueahOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICLlj6rmiZPljbDlsJrmnKrlkIjlubbnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc0CisjOiBidWlsdGluL2JyYW5jaC5jOjU4OAogbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAi5Lul5YiX55qE5pa55byP5pi+56S65YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6MzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4OSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDI3CiBtc2dpZCAia2V5IgogbXNnc3RyICJrZXkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzozODIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgIuaOkuW6j+eahOWtl+auteWQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NzggYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL25vdGVzLmM6NDA0Ci0jOiBidWlsdGluL25vdGVzLmM6NDA3IGJ1aWx0aW4vbm90ZXMuYzo1NjcgYnVpbHRpbi9ub3Rlcy5jOjU3MAotIzogYnVpbHRpbi90YWcuYzozODQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkyIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIgYnVpbHRpbi9ub3Rlcy5jOjQwNworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMCBidWlsdGluL25vdGVzLmM6NTcwIGJ1aWx0aW4vbm90ZXMuYzo1NzMKKyM6IGJ1aWx0aW4vdGFnLmM6NDMwCiBtc2dpZCAib2JqZWN0IgogbXNnc3RyICLlr7nosaEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njc5CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5oyH5ZCR6K+l5a+56LGh55qE5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2IGJ1aWx0aW4vdGFnLmM6Mzg4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4IGJ1aWx0aW4vdGFnLmM6NDM1CiBtc2dpZCAic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIgogbXNnc3RyICLmjpLluo/lkozov4fmu6TlsZ7kuo7lpKflsI/lhpnkuI3mlY/mhJ8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM0CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCittc2dzdHIgIui+k+WHuuagvOW8jyIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MTUKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi5peg5rOV5bCGIEhFQUQg6Kej5p6Q5Li65pyJ5pWI5byV55So44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwMiBidWlsdGluL2Nsb25lLmM6NzA2CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOSBidWlsdGluL2Nsb25lLmM6NzI4CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQg5rKh5pyJ5L2N5LqOIC9yZWZzL2hlYWRzIOS5i+S4i++8gSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQyCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiDlkowgLS12ZXJib3NlIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzUgYnVpbHRpbi9icmFuY2guYzo3ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzIGJ1aWx0aW4vYnJhbmNoLmM6NzA1CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgIuW/hemhu+aPkOS+m+WIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgxCiBtc2dpZCAiQ2Fubm90IGdpdmUgZGVzY3JpcHRpb24gdG8gZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAi5LiN6IO95ZCR5YiG56a75aS05oyH6ZKI5o+Q5L6b5o+P6L+wIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2OAorIzogYnVpbHRpbi9icmFuY2guYzo2ODYKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAi5LiN6IO95Li65LiA5Liq5Lul5LiK55qE5YiG5pSv57yW6L6R5o+P6L+wIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3NQorIzogYnVpbHRpbi9icmFuY2guYzo2OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIuWIhuaUryAnJXMnIOWwmuaXoOaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAi5rKh5pyJ5YiG5pSvICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkzCisjOiBidWlsdGluL2JyYW5jaC5jOjcxMQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgIuS4uumHjeWRveWQjeaTjeS9nOaPkOS+m+S6huWkquWkmueahOWIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzE2CiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgdG8gc2V0IG5ldyB1cHN0cmVhbSIKIG1zZ3N0ciAi5Li66K6+572u5paw5LiK5ri45o+Q5L6b5LqG5aSq5aSa55qE5YiG5pSv5ZCNIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICLml6Dms5Xorr7nva4gSEVBRCDnmoTkuIrmuLjkuLogJXPvvIzlm6DkuLogSEVBRCDmsqHmnInmjIflkJHku7vkvZXliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA1IGJ1aWx0aW4vYnJhbmNoLmM6ODI3IGJ1aWx0aW4vYnJhbmNoLmM6ODQ4CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMyBidWlsdGluL2JyYW5jaC5jOjc0NSBidWlsdGluL2JyYW5jaC5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICLmsqHmnInmraTliIbmlK8gJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLliIbmlK8gJyVzJyDkuI3lrZjlnKgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCisjOiBidWlsdGluL2JyYW5jaC5jOjczOQogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICLkuLrlj5bmtojkuIrmuLjorr7nva7mk43kvZzmj5DkvpvkuoblpKrlpJrnmoTliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CisjOiBidWlsdGluL2JyYW5jaC5jOjc0MwogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIuaXoOazleWPlua2iCBIRUFEIOeahOS4iua4uOiuvue9ruWboOS4uuWug+ayoeacieaMh+WQkeS4gOS4quWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5YiG5pSvICclcycg5rKh5pyJ5LiK5ri45L+h5oGvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg0NQorIzogYnVpbHRpbi9icmFuY2guYzo3NjMKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgIuaJi+W3peWIm+W7uiAnSEVBRCcg5rKh5pyJ5oSP5LmJIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjg1MQorIzogYnVpbHRpbi9icmFuY2guYzo3NjkKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICInZ2l0IGJyYW5jaCcg55qEIC1hIOWSjCAtciDpgInpobnluKbkuIDkuKrliIbmlK/lkI3lj4LmlbDmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU0CisjOiBidWlsdGluL2JyYW5jaC5jOjc3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC0tc2V0LXVwc3RyZWFtIGZsYWcgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBDb25zaWRlciB1c2luZyAtLSIKQEAgLTU1MTgsNyArNTc5OSw3IEBACiBtc2dzdHIgIiIKICLpgInpobkgLS1zZXQtdXBzdHJlYW0g5bey5byD55So5bm25bCG6KKr56e76Zmk44CC6ICD6JmR5L2/55SoIC0tdHJhY2sg5oiWIC0tc2V0LXVwc3RyZWFtLXRvXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODcxCisjOiBidWlsdGluL2JyYW5jaC5jOjc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01NTI5LDIwICs1ODEwLDIwIEBACiAi5aaC5p6c5L2g5oOz55SoICclcycg6Lef6LiqICclcycsIOi/meS5iOWBmu+8mlxuIgogIlxuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjUxCisjOiBidWlsdGluL2J1bmRsZS5jOjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG9rYXlcbiIKIG1zZ3N0ciAiJXMg5Y+v5LulXG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjQKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgogbXNnc3RyICLpnIDopoHkuIDkuKrku5PlupPmnaXliJvlu7rljIXjgIIiCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjgKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjIKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgIumcgOimgeS4gOS4quS7k+W6k+adpeino+WMheOAgiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxOQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC01NTUwLDcgKzU4MzEsNyBAQAogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDznsbvlnos+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD086Lev5b6EPl0gPOWvueixoT4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MjAKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtNTU1OCwzMDIgKzU4MzksMzAyIEBACiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTUxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU3CiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI857G75Z6LPiDlj6/ku6XmmK/lhbbkuK3kuYvkuIDvvJpibG9i44CBdHJlZeOAgWNvbW1pdOOAgXRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OAogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgIuaYvuekuuWvueixoeexu+WeiyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OQogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgIuaYvuekuuWvueixoeWkp+WwjyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAi5b2T5rKh5pyJ6ZSZ6K+v5pe26YCA5Ye65bm26L+U5Zue6Zu2IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTU2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYyCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIue+juinguWcsOaJk+WNsOWvueixoeeahOWGheWuuSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICLlr7nkuo7mlbDmja7lr7nosaHvvIzlr7nlhbblhoXlrrnlgZrmlofmnKzovazmjaIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjYKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICLlr7nkuo7mlbDmja7lr7nosaHvvIzlr7nlhbblhoXlrrnlgZrov4fmu6QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjEgZ2l0LXN1Ym1vZHVsZS5zaDo5MjkKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjcgZ2l0LXN1Ym1vZHVsZS5zaDo5NDQKIG1zZ2lkICJibG9iIgogbXNnc3RyICLmlbDmja7lr7nosaEiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjgKIG1zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKIG1zZ3N0ciAi5a+55LqOIC0tdGV4dGNvbnYvLS1maWx0ZXJzIOS9v+eUqOS4gOS4queJueWumueahOi3r+W+hCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAi5YWB6K64IC1zIOWSjCAtdCDlr7nmjZ/lnY/nmoTlr7nosaHnlJ/mlYgiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzEKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgIue8k+WGsiAtLWJhdGNoIOeahOi+k+WHuiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi5pi+56S65LuO5qCH5YeG6L6T5YWl5o+Q5L6b55qE5a+56LGh55qE5L+h5oGv5ZKM5YaF5a65IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTcwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc2CiBtc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLmmL7npLrku47moIflh4bovpPlhaXmj5DkvpvnmoTlr7nosaHnmoTkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzkKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgIui3n+maj+agkeWGheespuWPt+mTvuaOpe+8iOWSjCAtLWJhdGNoIOaIliAtLWJhdGNoLWNoZWNrIOWFseeUqO+8iSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4MQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgIuS9v+eUqCAtLWJhdGNoIOaIliAtLWJhdGNoLWNoZWNrIOWPguaVsOaYvuekuuaJgOacieWvueixoSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA85bGe5oCnPi4uLl0gWy0tXSA86Lev5b6E5ZCNPi4uLiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPOWxnuaApz4uLi5dIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxOQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKIG1zZ2lkICJyZXBvcnQgYWxsIGF0dHJpYnV0ZXMgc2V0IG9uIGZpbGUiCiBtc2dzdHIgIuaKpeWRiuiuvue9ruWcqOaWh+S7tuS4iueahOaJgOacieWxnuaApyIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIuWPquS9v+eUqOe0ouW8leS4reeahCAuZ2l0YXR0cmlidXRlcyIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WHuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjQgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICLovpPlhaXlkozovpPlh7rnmoTorrDlvZXkvb/nlKggTlVMIOWtl+espue7iOe7kyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL2djLmM6MzMyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vZ2MuYzozNTcKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIuS4jeaYvuekuui/m+W6puaKpeWRiiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICLmmL7npLrmnKrljLnphY3nmoTovpPlhaXot6/lvoQiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MzAKIG1zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKIG1zZ3N0ciAi5qOA5p+l5pe25b+955Wl57Si5byVIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1NAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTgKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICLkuI3og73lkIzml7bmjIflrprot6/lvoTlj4ogLS1zdGRpbiDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU3CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MQogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICIteiDpnIDopoHlkowgLS1zdGRpbiDlj4LmlbDlhbHnlKjmiY3mnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MwogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICLmnKrmjIflrprot6/lvoQiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NwogbXNnaWQgIi0tcXVpZXQgaXMgb25seSB2YWxpZCB3aXRoIGEgc2luZ2xlIHBhdGhuYW1lIgogbXNnc3RyICLlj4LmlbAgLS1xdWlldCDlj6rlnKjmj5DkvpvkuIDkuKrot6/lvoTlkI3ml7bmnInmlYgiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICLkuI3og73lkIzml7bmj5DkvpsgLS1xdWlldCDlkowgLS12ZXJib3NlIOWPguaVsCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyCiBtc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKIG1zZ3N0ciAiLS1ub24tbWF0Y2hpbmcg6YCJ6aG55Y+q5Zyo5L2/55SoIC0tdmVyYm9zZSDml7bmnInmlYgiCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjgKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjkKIG1zZ2lkICJnaXQgY2hlY2stbWFpbG1hcCBbPG9wdGlvbnM+XSA8Y29udGFjdD4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1tYWlsbWFwIFs86YCJ6aG5Pl0gPOiBlOezu+WcsOWdgD4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjEzCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxNAogbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICLov5jku47moIflh4bovpPlhaXor7vlj5bogZTns7vlnLDlnYAiCiAKLSM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjI0CisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29udGFjdDogJXMiCiBtc2dzdHIgIuS4jeiDveino+aekOiBlOezu+WcsOWdgO+8miVzIgogCi0jOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0NworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDgKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgIuacquaMh+WumuiBlOezu+WcsOWdgCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyNworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzzpgInpobk+XSBbLS1dIFs85paH5Lu2Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDUKIG1zZ2lkICJzdGFnZSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzIG9yIGFsbCIKIG1zZ3N0ciAi57Si5byV5YC85bqU6K+l5Y+W5YC8IDEg5YiwIDMg5oiW6ICFIGFsbCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQogbXNnaWQgImNoZWNrIG91dCBhbGwgZmlsZXMgaW4gdGhlIGluZGV4IgogbXNnc3RyICLmo4Dlh7rntKLlvJXljLrnmoTmiYDmnInmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjIKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgZXhpc3RpbmcgZmlsZXMiCiBtc2dzdHIgIuW8uuWItuimhueblueOsOacieeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAogbXNnaWQgIm5vIHdhcm5pbmcgZm9yIGV4aXN0aW5nIGZpbGVzIGFuZCBmaWxlcyBub3QgaW4gaW5kZXgiCiBtc2dzdHIgIuWtmOWcqOaIluS4jeWcqOe0ouW8leS4reeahOaWh+S7tumDveayoeacieitpuWRiiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NgogbXNnaWQgImRvbid0IGNoZWNrb3V0IG5ldyBmaWxlcyIKIG1zZ3N0ciAi5LiN5qOA5Ye65paw5paH5Lu2IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgIuabtOaWsOe0ouW8leS4reaWh+S7tueahOeKtuaAgeS/oeaBryIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi5LuO5qCH5YeG6L6T5YWl6K+75Y+W6Lev5b6E5YiX6KGoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTczCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0CiBtc2dpZCAid3JpdGUgdGhlIGNvbnRlbnQgdG8gdGVtcG9yYXJ5IGZpbGVzIgogbXNnc3RyICLlsIblhoXlrrnlhpnlhaXkuLTml7bmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQgYnVpbHRpbi9jb2x1bW4uYzozMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUgYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzgKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgIuWtl+espuS4siIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgIuWcqOWIm+W7uuaWh+S7tuaXtu+8jOWcqOWJjemdouWKoOS4iiA85a2X56ym5LiyPiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICLku47mjIflrprmmoLlrZjljLrkuK3mi7flh7rmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjI2CiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIDxicmFuY2g+IgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzzpgInpobk+XSA85YiG5pSvPiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjcKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPOmAiemhuT5dIFs85YiG5pSvPl0gLS0gPOaWh+S7tj4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQgYnVpbHRpbi9jaGVja291dC5jOjE2NworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNSBidWlsdGluL2NoZWNrb3V0LmM6MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInmiJHku6znmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYgYnVpbHRpbi9jaGVja291dC5jOjE2OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzNyBidWlsdGluL2NoZWNrb3V0LmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgIui3r+W+hCAnJXMnIOayoeacieS7luS7rOeahOeJiOacrCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE1MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInlhajpg6jlv4XpobvnmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInlv4XpobvnmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgInBhdGggJyVzJ++8muaXoOazleWQiOW5tiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Li6ICclcycg5re75Yqg5ZCI5bm257uT5p6cIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjUwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjI1NgotIzogYnVpbHRpbi9jaGVja291dC5jOjI1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MjU2IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIgogbXNnc3RyICInJXMnIOS4jeiDveWcqOabtOaWsOi3r+W+hOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIOS4jeiDveWSjCAlcyDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICLkuI3og73lkIzml7bmm7TmlrDot6/lvoTlubbliIfmjaLliLDliIbmlK8nJXMn44CCIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzM5IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDIgYnVpbHRpbi9jaGVja291dC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgIui3r+W+hCAnJXMnIOacquWQiOW5tiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NwogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICLmgqjpnIDopoHlhYjop6PlhrPlvZPliY3ntKLlvJXnmoTlhrLnqoEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIuS4jeiDveWvuSAnJXMnIOaJp+ihjCByZWZsb2cg5pON5L2c77yaJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjY2OQogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIOebruWJjeS9jeS6jiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3MCBidWlsdGluL2Nsb25lLmM6NjYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjczIGJ1aWx0aW4vY2xvbmUuYzo2ODIKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCiBtc2dzdHIgIuS4jeiDveabtOaWsCBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIumHjee9ruWIhuaUryAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIuW3sue7j+S9jeS6jiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIuWIh+aNouW5tumHjee9ruWIhuaUryAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODMgYnVpbHRpbi9jaGVja291dC5jOjEwNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODYgYnVpbHRpbi9jaGVja291dC5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi5YiH5o2i5Yiw5LiA5Liq5paw5YiG5pSvICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY4NQorIzogYnVpbHRpbi9jaGVja291dC5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLliIfmjaLliLDliIbmlK8gJyVzJ1xuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiDlj4rlhbblroMgJWQg5Liq44CCXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC01ODc0LDcgKzYxNTUsNyBAQAogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtNTkwMSwyMDIgKzYxODIsMTk4IEBACiAiIGdpdCBicmFuY2ggPOaWsOWIhuaUr+WQjT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjgwMAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgIuWcqOeJiOacrOmBjeWOhuaXtumBh+WIsOWGhemDqOmUmeivryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjgwNAogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICLkuYvliY3nmoQgSEVBRCDkvY3nva7mmK8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjggYnVpbHRpbi9jaGVja291dC5jOjEwNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MzIgYnVpbHRpbi9jaGVja291dC5jOjEwNzAKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICLmgqjkvY3kuo7kuIDkuKrlsJrmnKrliJ3lp4vljJbnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgIuW6lOWPquacieS4gOS4quW8leeUqO+8jOWNtOe7meWHuuS6hiAlZCDkuKoiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDEzIGJ1aWx0aW4vd29ya3RyZWUuYzoyMTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDE2IGJ1aWx0aW4vd29ya3RyZWUuYzoyMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICLml6DmlYjlvJXnlKjvvJolcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAi5byV55So5LiN5piv5LiA5Liq5qCR77yaJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NAogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICLot6/lvoTkuI3og73lkozliIfmjaLliIbmlK/lkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NyBidWlsdGluL2NoZWNrb3V0LmM6MTA5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICInJXMnIOS4jeiDveWSjOWIh+aNouWIhuaUr+WQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTUgYnVpbHRpbi9jaGVja291dC5jOjExMDAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5NSBidWlsdGluL2NoZWNrb3V0LmM6MTA5OCBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIiclcycg5LiN6IO95ZKMICclcycg5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIuS4jeiDveWIh+aNouWIhuaUr+WIsOS4gOS4qumdnuaPkOS6pCAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MSBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL2Nsb25lLmM6OTMKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2IGJ1aWx0aW4vY2xvbmUuYzoxMTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTY4IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzAKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIuWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgIuWIm+W7uuW5tuajgOWHuuS4gOS4quaWsOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAi5Yib5bu6L+mHjee9ruW5tuajgOWHuuS4gOS4quWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ4CiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi5Li65paw55qE5YiG5pSv5Yib5bu65byV55So5pel5b+XIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OSBidWlsdGluL3dvcmt0cmVlLmM6MzMyCiBtc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJIRUFEIOS7juaMh+WumueahOaPkOS6pOWIhuemuyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUwCiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgIuS4uuaWsOeahOWIhuaUr+iuvue9ruS4iua4uOS/oeaBryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAibmV3LWJyYW5jaCIKIG1zZ3N0ciAi5paw5YiG5pSvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKIG1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCiBtc2dzdHIgIuaWsOeahOayoeacieeItuaPkOS6pOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzCiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICLlr7nlsJrmnKrlkIjlubbnmoTmlofku7bmo4Dlh7rmiJHku6znmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NQogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICLlr7nlsJrmnKrlkIjlubbnmoTmlofku7bmo4Dlh7rku5bku6znmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NwogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICLlvLrliLbmo4Dlh7rvvIjkuKLlvIPmnKzlnLDkv67mlLnvvIkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICLlkozmlrDnmoTliIbmlK/miafooYzkuInmlrnlkIjlubYiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2IGJ1aWx0aW4vbWVyZ2UuYzoyMzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU5IGJ1aWx0aW4vbWVyZ2UuYzoyMzUKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuabtOaWsOW/veeVpeeahOaWh+S7tu+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTcgYnVpbHRpbi9sb2cuYzoxNDY2IHBhcnNlLW9wdGlvbnMuaDoyNTEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwIGJ1aWx0aW4vbG9nLmM6MTQ4MyBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgIumjjuagvCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYxCiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAi5Yay56qB6L6T5Ye66aOO5qC877yIbWVyZ2Ug5oiWIGRpZmYz77yJIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjQKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCiBtc2dzdHIgIuWvuei3r+W+hOS4jeWBmueogOeWj+ajgOWHuueahOmZkOWItiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY2CiBtc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCiBtc2dzdHIgIuS6jOasoeeMnOa1iydnaXQgY2hlY2tvdXQgPOaXoOatpOWIhuaUrz4nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjgKIG1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCiBtc2dzdHIgIuS4jeajgOafpeaMh+WumueahOW8leeUqOaYr+WQpuiiq+WFtuS7luW3peS9nOWMuuaJgOWNoOeUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjYgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzIgYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzOQotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTcyIGJ1aWx0aW4vY2xvbmUuYzo4MCBidWlsdGluL2ZldGNoLmM6MTE0CisjOiBidWlsdGluL21lcmdlLmM6MjMyIGJ1aWx0aW4vcHVsbC5jOjEyMCBidWlsdGluL3B1c2guYzo1NDQKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLlvLrliLbmmL7npLrov5vluqbmiqXlkYoiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwMwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWLjgIEtQiDlkowgLS1vcnBoYW4g5piv5LqS5pal55qEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMjAKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sg6ZyA6KaB5LiA5Liq5YiG5pSv5ZCNIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxOQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMjUKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIue8uuWwkeWIhuaUr+WQje+8m+WwneivlSAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYxCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIuaXoOaViOeahOi3r+W+hOinhOagvCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiAjLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKLSJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKLW1zZ3N0ciAiIgotIuS4jeiDveWQjOaXtuabtOaWsOi3r+W+hOW5tuWIh+aNouWIsOWIhuaUryclcyfjgIJcbiIKLSLmgqjmmK/mg7PopoHmo4Dlh7ogJyVzJyDkvYblhbbmnKrog73op6PmnpDkuLrmj5DkuqTkuYjvvJ8iCittc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQgYW5kIGEgYnJhbmNoICclcycgY2Fubm90IGJlIGNyZWF0ZWQgZnJvbSBpdCIKK21zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmj5DkuqTvvIzkuI3og73ln7rkuo7lroPliJvlu7rliIbmlK8gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V077yaLS1kZXRhY2gg5LiN6IO95o6l5pS26Lev5b6E5Y+C5pWwICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI3NgogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKIG1zZ3N0ciAiIgogImdpdCBjaGVja291dO+8muWcqOS7jue0ouW8leajgOWHuuaXtu+8jC0tb3Vycy8tLXRoZWlyc+OAgS0tZm9yY2Ug5ZKMIC0tbWVyZ2Ug5LiN5YW85a6544CCIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjUKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyNgogbXNnaWQgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA85qih5byPPl0gWy14IHwgLVhdIFstLV0gPOi3r+W+hD4uLi4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOQorIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIuato+WIoOmZpCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAi5bCG5Yig6ZmkICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMQorIzogYnVpbHRpbi9jbGVhbi5jOjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAi5b+955Wl5LuT5bqTICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICLlsIblv73nlaXku5PlupMgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAi5peg5rOV5Yig6ZmkICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjkxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjIzCisjOiBidWlsdGluL2NsZWFuLmM6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTYxMDksNyArNjM4Niw3IEBACiAiZm9vICAgICAgICAtIOmAmui/h+WUr+S4gOWJjee8gOmAieaLqeS4gOS4qumAiemhuVxuIgogIiAgICAgICAgICAgLSDvvIjnqbrvvInku4DkuYjkuZ/kuI3pgInmi6lcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMgorIzogYnVpbHRpbi9jbGVhbi5jOjMwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC02MTMwLDM4ICs2NDA3LDM4IEBACiAiKiAgICAgICAgICAtIOmAieaLqeaJgOaciemAiemhuVxuIgogIiAgICAgICAgICAgLSDvvIjnqbrvvInnu5PmnZ/pgInmi6lcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU5OAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NDcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTUyCiAjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT9cbiIKIG1zZ3N0ciAi5Zev77yIJXPvvInvvJ9cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY1MworIzogYnVpbHRpbi9jbGVhbi5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIui+k+WFpeaooeeJiOS7peaOkumZpOadoeebrj4+ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5MAorIzogYnVpbHRpbi9jbGVhbi5jOjY5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAi6K2m5ZGK77ya5peg5rOV5om+5Yiw5ZKMICVzIOWMuemFjeeahOadoeebriIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxMQorIzogYnVpbHRpbi9jbGVhbi5jOjcxOAogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIumAieaLqeimgeWIoOmZpOeahOadoeebriIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzUyCisjOiBidWlsdGluL2NsZWFuLmM6NzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICLliKDpmaQgJXMgW3kvTl3vvJ8iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY5CisjOiBidWlsdGluL2NsZWFuLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJCeWUuXG4iCiBtc2dzdHIgIuWGjeingeOAglxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg1CisjOiBidWlsdGluL2NsZWFuLmM6NzkyCiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTYxNzksMjAzICs2NDU2LDIxMiBAQAogImhlbHAgICAgICAgICAgICAgICAgLSDmmL7npLrmnKzluK7liqlcbiIKICI/ICAgICAgICAgICAgICAgICAgIC0g5pi+56S65aaC5L2V5Zyo5o+Q56S656ym5LiL6YCJ5oup55qE5biu5YqpIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODEyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NQorIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKIG1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgogbXNnc3RyICIqKiog5ZG95LukICoqKiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg5CiBtc2dpZCAiV2hhdCBub3ciCiBtc2dzdHIgIuivt+mAieaLqSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgyMQorIzogYnVpbHRpbi9jbGVhbi5jOjgyOAogbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgogbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCiBtc2dzdHJbMF0gIuWwhuWIoOmZpOWmguS4i+adoeebru+8miIKIG1zZ3N0clsxXSAi5bCG5Yig6Zmk5aaC5LiL5p2h55uu77yaIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODM4CisjOiBidWlsdGluL2NsZWFuLmM6ODQ0CiBtc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCiBtc2dzdHIgIuayoeacieimgea4heeQhueahOaWh+S7tu+8jOmAgOWHuuOAgiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg2OQorIzogYnVpbHRpbi9jbGVhbi5jOjkwNgogbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgogbXNnc3RyICLkuI3miZPljbDliKDpmaTmlofku7bnmoTlkI3np7AiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDgKIG1zZ2lkICJmb3JjZSIKIG1zZ3N0ciAi5by65Yi2IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODcyCisjOiBidWlsdGluL2NsZWFuLmM6OTA5CiBtc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCiBtc2dzdHIgIuS6pOS6kuW8j+a4hemZpCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg3NAorIzogYnVpbHRpbi9jbGVhbi5jOjkxMQogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi5Yig6Zmk5pW05Liq55uu5b2VIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6MTA1NgotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOCBidWlsdGluL25hbWUtcmV2LmM6MzEzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjQ1MiBidWlsdGluL2Rlc2NyaWJlLmM6NDU0CisjOiBidWlsdGluL2dyZXAuYzoxMDgyIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDYgYnVpbHRpbi9uYW1lLXJldi5jOjM5NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OSBidWlsdGluL3Nob3ctcmVmLmM6MTc2CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAi5qih5byPIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc2CisjOiBidWlsdGluL2NsZWFuLmM6OTEzCiBtc2dpZCAiYWRkIDxwYXR0ZXJuPiB0byBpZ25vcmUgcnVsZXMiCiBtc2dzdHIgIua3u+WKoCA85qih5byPPiDliLDlv73nlaXop4TliJkiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICLkuZ/liKDpmaTlv73nlaXnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLlj6rliKDpmaTlv73nlaXnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4OTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi14IOWSjCAtWCDkuI3og73lkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzgKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCiAiY2xlYW4iCiBtc2dzdHIgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ug6K6+572u5Li6IHRydWUg5LiU5pyq5o+Q5L6bIC1p44CBLW4g5oiWIC1mIOmAiemhue+8jOaLkue7neaJp+ihjOa4heeQhuWKqOS9nCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgogbXNnc3RyICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIOm7mOiupOS4uiB0cnVlIOS4lOacquaPkOS+myAtaeOAgS1uIOaIliAtZiDpgInpobnvvIzmi5Lnu53miafooYzmuIXnkIbliqjkvZwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozNworIzogYnVpbHRpbi9jbG9uZS5jOjM4CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPOmAiemhuT5dIFstLV0gPOS7k+W6kz4gWzzot6/lvoQ+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY1CisjOiBidWlsdGluL2Nsb25lLmM6ODIKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAi5LiN5Yib5bu65LiA5Liq5qOA5Ye6IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2luaXQtZGIuYzo0NzkKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuWIm+W7uuS4gOS4que6r+S7k+W6kyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcwCisjOiBidWlsdGluL2Nsb25lLmM6ODcKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq6ZWc5YOP5LuT5bqT77yI5Lmf5piv57qv5LuT5bqT77yJIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OQogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICLku47mnKzlnLDku5PlupPlhYvpmoYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NAorIzogYnVpbHRpbi9jbG9uZS5jOjkxCiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgIuS4jeS9v+eUqOacrOWcsOehrOmTvuaOpe+8jOWni+e7iOWkjeWItiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6K6+572u5Li65YWx5Lqr5LuT5bqTIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9jbG9uZS5jOjk5Cittc2dpZCAicGF0aHNwZWMiCittc2dzdHIgIui3r+W+hOinhOagvCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vY2xvbmUuYzo5OQogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgIuWcqOWFi+mahuaXtuWIneWni+WMluWtkOaooee7hCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgyCisjOiBidWlsdGluL2Nsb25lLmM6MTAyCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgY2xvbmVkIGluIHBhcmFsbGVsIgogbXNnc3RyICLlubblj5HlhYvpmobnmoTlrZDmqKHnu4TnmoTmlbDph48iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0NzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMgYnVpbHRpbi9pbml0LWRiLmM6NDc2CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICLmqKHmnb/nm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQgYnVpbHRpbi9pbml0LWRiLmM6NDc3CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAi5qih5p2/55uu5b2V5bCG6KKr5L2/55SoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYgYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgzCiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuWPguiAg+S7k+W6kyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwCisjOiBidWlsdGluL2Nsb25lLmM6MTEwCiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAi5LuF5Zyo5YWL6ZqG5pe25Y+C6ICDIC0tcmVmZXJlbmNlIOaMh+WQkeeahOacrOWcsOS7k+W6kyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIuWQjeensCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyCisjOiBidWlsdGluL2Nsb25lLmM6MTEyCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICLkvb/nlKggPOWQjeensD4g6ICM5LiN5pivICdvcmlnaW4nIOWOu+i3n+i4quS4iua4uCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0CisjOiBidWlsdGluL2Nsb25lLmM6MTE0CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAi5qOA5Ye6IDzliIbmlK8+IOiAjOS4jeaYr+i/nOeoiyBIRUFEIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLov5znqIsgZ2l0LXVwbG9hZC1wYWNrIOi3r+W+hCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9ncmVwLmM6OTk5Ci0jOiBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTcgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL2dyZXAuYzoxMDI1CisjOiBidWlsdGluL3B1bGwuYzoyMDUKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAi5rex5bqmIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTgKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgIuWIm+W7uuS4gOS4quaMh+Wumua3seW6pueahOa1heWFi+mahiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vZmV0Y2guYzoxMjIgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM2CisjOiBidWlsdGluL2Nsb25lLmM6MTE5IGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMyCiAjOiBwYXJzZS1vcHRpb25zLmg6MTQyCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAi5pe26Ze0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgIuS7juS4gOS4queJueWumuaXtumXtOWIm+W7uuS4gOS4qua1heWFi+mahiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2ZldGNoLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTkKIG1zZ2lkICJyZXZpc2lvbiIKIG1zZ3N0ciAi54mI5pysIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIgYnVpbHRpbi9mZXRjaC5jOjEyMAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgIua3seWMlua1heWFi+mahueahOWOhuWPsu+8jOmZpOS6hueJueWumueJiOacrCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNAorIzogYnVpbHRpbi9jbG9uZS5jOjEyNAogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAi5Y+q5YWL6ZqG5LiA5Liq5YiG5pSv44CBSEVBRCDmiJYgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKK21zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCittc2dzdHIgIuS4jeimgeWFi+mahuS7u+S9leagh+etvu+8jOW5tuS4lOWQjue7reiOt+WPluaTjeS9nOS5n+S4jeS4i+i9veWug+S7rCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyOAogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgIuWtkOaooee7hOWwhuS7pea1heS4i+i9veaooeW8j+WFi+mahiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXTnm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImdpdOebruW9leWSjOW3peS9nOWMuuWIhuemuyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOQorIzogYnVpbHRpbi9jbG9uZS5jOjEzMQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAia2V5PXZhbHVlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwCisjOiBidWlsdGluL2Nsb25lLmM6MTMyCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICLlnKjmlrDku5PlupPkuK3orr7nva7phY3nva7kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9mZXRjaC5jOjE0MCBidWlsdGluL3B1c2guYzo1NTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzMgYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1c2guYzo1NTUKIG1zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAi5Y+q5L2/55SoIElQdjQg5Zyw5Z2AIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTUyCisjOiBidWlsdGluL2Nsb25lLmM6MTM1IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdXNoLmM6NTU3CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIuWPquS9v+eUqCBJUHY2IOWcsOWdgCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI1MAorIzogYnVpbHRpbi9jbG9uZS5jOjI3MgogbXNnaWQgIiIKICJObyBkaXJlY3RvcnkgbmFtZSBjb3VsZCBiZSBndWVzc2VkLlxuIgogIlBsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG9uIHRoZSBjb21tYW5kIGxpbmUiCkBAIC02MzgzLDQyICs2NjY5LDQyIEBACiAi5peg5rOV54yc5Yiw55uu5b2V5ZCN44CCXG4iCiAi6K+35Zyo5ZG95Luk6KGM5oyH5a6a5LiA5Liq55uu5b2VIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzAzCisjOiBidWlsdGluL2Nsb25lLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJpbmZvOiDkuI3og73kuLogJyVzJyDmt7vliqDkuIDkuKrlpIfnlKjvvJolc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzc1CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCiBtc2dzdHIgIuaXoOazleaJk+W8gCAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzgzCisjOiBidWlsdGluL2Nsb25lLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyDlrZjlnKjkuJTkuI3mmK/kuIDkuKrnm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKLW1zZ3N0ciAi5peg5rOV5p6a5Li+ICVzIOeKtuaAgVxuIgorbXNnc3RyICLlr7kgJXMg6LCD55SoIHN0YXQg5aSx6LSlXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIuaXoOazleWIm+W7uumTvuaOpSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIzCisjOiBidWlsdGluL2Nsb25lLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAi5peg5rOV5ou36LSd5paH5Lu26IezICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAi5a6M5oiQ44CCXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0ODIKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtNjQyOCwxODAgKzY3MTQsMTc5IEBACiAi5oKo5Y+v5Lul6YCa6L+HICdnaXQgc3RhdHVzJyDmo4Dmn6Xlk6rkupvlt7Looqvmo4Dlh7rvvIznhLblkI7kvb/nlKjlkb3ku6RcbiIKICInZ2l0IGNoZWNrb3V0IC1mIEhFQUQnIOmHjeivlVxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTM3CisjOiBidWlsdGluL2Nsb25lLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICLkuI3og73lj5HnjrDopoHlhYvpmobnmoTov5znqIvliIbmlK8gJXPjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NTQKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAi6L+c56iL5rKh5pyJ5Y+R6YCB5omA5pyJ5b+F6aG755qE5a+56LGhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQ4CisjOiBidWlsdGluL2Nsb25lLmM6NjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgIuS4jeiDveabtOaWsCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5NworIzogYnVpbHRpbi9jbG9uZS5jOjcxOQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAi6L+c56iLIEhFQUQg5oyH5ZCR5LiA5Liq5LiN5a2Y5Zyo55qE5byV55So77yM5peg5rOV5qOA5Ye644CCXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTAKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICLkuI3og73mo4Dlh7rlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAi5peg5rOV5bCG5Y+C5pWw5YaZ5YWl6YWN572u5paH5Lu2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMxCisjOiBidWlsdGluL2Nsb25lLmM6ODU1CiBtc2dpZCAiY2Fubm90IHJlcGFjayB0byBjbGVhbiB1cCIKIG1zZ3N0ciAi5peg5rOV5omn6KGMIHJlcGFjayDmnaXmuIXnkIYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTcKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgIuaXoOazleWIoOmZpOS4tOaXtueahCBhbHRlcm5hdGVzIOaWh+S7tiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2NiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTAgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ1CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAi5aSq5aSa5Y+C5pWw44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcwCisjOiBidWlsdGluL2Nsb25lLmM6ODk0CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICLmgqjlv4XpobvmjIflrprkuIDkuKrku5PlupPmnaXlhYvpmobjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg5ZKMIC0tb3JpZ2luICVzIOmAiemhueS4jeWFvOWuueOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4NgorIzogYnVpbHRpbi9jbG9uZS5jOjkxMAogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg5ZKMIC0tc2VwYXJhdGUtZ2l0LWRpciDpgInpobnkuI3lhbzlrrnjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLku5PlupMgJyVzJyDkuI3lrZjlnKgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjkgYnVpbHRpbi9mZXRjaC5jOjEzMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICLmt7HluqYgJXMg5LiN5piv5LiA5Liq5q2j5pWwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTE1CisjOiBidWlsdGluL2Nsb25lLmM6OTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIuebruagh+i3r+W+hCAnJXMnIOW3sue7j+WtmOWcqO+8jOW5tuS4lOS4jeaYr+S4gOS4quepuuebruW9leOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyNQorIzogYnVpbHRpbi9jbG9uZS5jOjk0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIuW3peS9nOWMuiAnJXMnIOW3sue7j+WtmOWcqOOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vZGlmZnRvb2wuYzoyNTIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTkgYnVpbHRpbi93b3JrdHJlZS5jOjIyMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI0OQorIzogYnVpbHRpbi9jbG9uZS5jOjk2NCBidWlsdGluL2Nsb25lLmM6OTc1IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNjAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Li6ICclcycg5Yib5bu65YWI5a+855uu5b2VIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQzCisjOiBidWlsdGluL2Nsb25lLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICLkuI3og73liJvlu7rlt6XkvZzljLrnm67lvZUgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NQorIzogYnVpbHRpbi9jbG9uZS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAi5YWL6ZqG5Yiw57qv5LuT5bqTICclcycuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NworIzogYnVpbHRpbi9jbG9uZS5jOjk4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICLmraPlhYvpmobliLAgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYzCisjOiBidWlsdGluL2Nsb25lLmM6MTAwNQogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgogbXNnc3RyICJjbG9uZSAtLXJlY3Vyc2l2ZSDlkowgLS1yZWZlcmVuY2Ug5Lul5Y+KIC0tcmVmZXJlbmNlLWlmLWFibGUg5LiN5YW85a65IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxOQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjcKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1kZXB0aCDlnKjmnKzlnLDlhYvpmobml7booqvlv73nlaXvvIzor7fmlLnnlKggZmlsZTovLyDljY/orq7jgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIxCisjOiBidWlsdGluL2Nsb25lLmM6MTA2OQogbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tc2hhbGxvdy1zaW5jZSDlnKjmnKzlnLDlhYvpmobml7booqvlv73nlaXvvIzor7fmlLnnlKggZmlsZTovLyDljY/orq7jgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCisjOiBidWlsdGluL2Nsb25lLmM6MTA3MQogbXNnaWQgIi0tc2hhbGxvdy1leGNsdWRlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1zaGFsbG93LWV4Y2x1ZGUg5Zyo5pys5Zyw5YWL6ZqG5pe26KKr5b+955Wl77yM6K+35pS555SoIGZpbGU6Ly8g5Y2P6K6u44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNzQKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICLmupDku5PlupPmmK/mtYXlhYvpmobvvIzlv73nlaUgLS1sb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDc5CiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIOiiq+W/veeVpSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICLkuI3nn6XpgZPlpoLkvZXlhYvpmoYgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkwIGJ1aWx0aW4vY2xvbmUuYzoxMDk4CisjOiBidWlsdGluL2Nsb25lLmM6MTEzOCBidWlsdGluL2Nsb25lLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAi6L+c56iL5YiG5pSvICVzIOWcqOS4iua4uCAlcyDmnKrlj5HnjrAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTE0OQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIuaCqOS8vOS5juWFi+mahuS6huS4gOS4quepuuS7k+W6k+OAgiIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzo5CisjOiBidWlsdGluL2NvbHVtbi5jOjEwCiBtc2dpZCAiZ2l0IGNvbHVtbiBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbHVtbiBbPOmAiemhuT5dIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI2CisjOiBidWlsdGluL2NvbHVtbi5jOjI3CiBtc2dpZCAibG9va3VwIGNvbmZpZyB2YXJzIgogbXNnc3RyICLmn6Xmib7phY3nva7lj5jph48iCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9jb2x1bW4uYzoyOAorIzogYnVpbHRpbi9jb2x1bW4uYzoyOCBidWlsdGluL2NvbHVtbi5jOjI5CiBtc2dpZCAibGF5b3V0IHRvIHVzZSIKIG1zZ3N0ciAi6KaB5L2/55So55qE5biD5bGAIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjI5CisjOiBidWlsdGluL2NvbHVtbi5jOjMwCiBtc2dpZCAiTWF4aW11bSB3aWR0aCIKIG1zZ3N0ciAi5pyA5aSn5a695bqmIgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMwCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKIG1zZ3N0ciAi5bem6L655qGG55qE5aGr5YWF56m66Ze0IgogCi0jOiBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL2NvbHVtbi5jOjMyCiBtc2dpZCAiUGFkZGluZyBzcGFjZSBvbiByaWdodCBib3JkZXIiCiBtc2dzdHIgIuWPs+i+ueahhueahOWhq+WFheepuumXtCIKIAotIzogYnVpbHRpbi9jb2x1bW4uYzozMgorIzogYnVpbHRpbi9jb2x1bW4uYzozMwogbXNnaWQgIlBhZGRpbmcgc3BhY2UgYmV0d2VlbiBjb2x1bW5zIgogbXNnc3RyICLkuKTliJfkuYvpl7TnmoTloavlhYXnqbrpl7QiCiAKLSM6IGJ1aWx0aW4vY29sdW1uLmM6NTEKKyM6IGJ1aWx0aW4vY29sdW1uLmM6NTIKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIi0tY29tbWFuZCDlv4XpobvmmK/nrKzkuIDkuKrlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzkKIG1zZ2lkICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGNvbW1pdCBbPOmAiemhuT5dIFstLV0gPOi3r+W+hOinhOagvD4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDQKIG1zZ2lkICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbPOmAiemhuT5dIFstLV0gPOi3r+W+hOinhOagvD4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDkKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNjYyNSw3ICs2OTEwLDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjIKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNjY0OCw3ICs2OTMzLDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKQEAgLTY2NTcsNyArNjk0Miw3IEBACiAi5oKo6KaB5L+u6KGl5pyA6L+R55qE5o+Q5Lqk77yM5L2G6L+Z5LmI5YGa5Lya6K6p5a6D5oiQ5Li656m65o+Q5Lqk44CC5oKo5Y+v5Lul6YeN5aSN5oKo55qE5ZG95Luk5bm25bim5LiKXG4iCiAiLS1hbGxvdy1lbXB0eSDpgInpobnvvIzmiJbogIXmgqjlj6/nlKjlkb3ku6QgXCJnaXQgcmVzZXQgSEVBRF5cIiDmlbTkuKrliKDpmaTor6Xmj5DkuqTjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OAorIzogYnVpbHRpbi9jb21taXQuYzo3OQogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC02NjcxLDExICs2OTU2LDExIEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1CisjOiBidWlsdGluL2NvbW1pdC5jOjg2CiBtc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCiBtc2dzdHIgIuWQpuWIme+8jOivt+S9v+eUqOWRveS7pCAnZ2l0IHJlc2V0J1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4CisjOiBidWlsdGluL2NvbW1pdC5jOjg5CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKQEAgLTY2OTEsMTAzICs2OTc2LDk4IEBACiAi54S25ZCO5omn6KGMIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiDnu6fnu63lr7nlhbbkvZnmj5DkuqTmiafooYzmi6PpgIlcbiIKICLmk43kvZzjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE5CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICLml6Dms5Xop6PljIUgSEVBRCDmoJHlr7nosaEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjM2MAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLkuI3og73liJvlu7rkuLTml7bntKLlvJUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NgogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgIuS6pOS6kuW8j+a3u+WKoOWksei0pSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc5CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIuaXoOazleabtOaWsOS4tOaXtue0ouW8lSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgxCiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIuS4jeiDveabtOaWsOagkeeahOS4u+e8k+WtmCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MDQgYnVpbHRpbi9jb21taXQuYzo0MjcgYnVpbHRpbi9jb21taXQuYzo0NzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDA1IGJ1aWx0aW4vY29tbWl0LmM6NDI4IGJ1aWx0aW4vY29tbWl0LmM6NDc3CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICLml6Dms5XlhpkgbmV3X2luZGV4IOaWh+S7tiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU5CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICLlnKjlkIjlubbov4fnqIvkuK3kuI3og73lgZrpg6jliIbmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAi5Zyo5ouj6YCJ6L+H56iL5Lit5LiN6IO95YGa6YOo5YiG5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2OQorIzogYnVpbHRpbi9jb21taXQuYzo0NzAKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIuaXoOazleivu+WPlue0ouW8lSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDg5CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICLml6Dms5XlhpnkuLTml7bntKLlvJXmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICLmj5DkuqQgJyVzJyDnvLrlsJHkvZzogIXkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTg0CisjOiBidWlsdGluL2NvbW1pdC5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgogbXNnc3RyICLmj5DkuqQgJyVzJyDmnInpnZ7ms5XnmoTkvZzogIXkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjAzCisjOiBidWlsdGluL2NvbW1pdC5jOjYwNAogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgIumdnuazleeahCAtLWF1dGhvciDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjExCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgotbXNnc3RyICLml6DmlYjnmoTml6XmnJ/moLzlvI/vvJolcyIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU2CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuaXoOazlemAieaLqeS4gOS4quacquiiq+W9k+WJjeaPkOS6pOivtOaYjuS9v+eUqOeahOazqOmHiuWtl+espiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CisjOiBidWlsdGluL2NvbW1pdC5jOjY5MyBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL2NvbW1pdC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgIuS4jeiDveafpeivouaPkOS6pCAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NQorIzogYnVpbHRpbi9jb21taXQuYzo3MDUgYnVpbHRpbi9zaG9ydGxvZy5jOjI5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICLvvIjmraPku47moIflh4bovpPlhaXkuK3or7vlj5bml6Xlv5fkv6Hmga/vvIlcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzA3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuS4jeiDveS7juagh+WHhui+k+WFpeS4reivu+WPluaXpeW/l+S/oeaBryIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmaWxlICclcyciCiBtc2dzdHIgIuS4jeiDveivu+WPluaXpeW/l+aWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczNyBidWlsdGluL2NvbW1pdC5jOjc0NQorIzogYnVpbHRpbi9jb21taXQuYzo3MzggYnVpbHRpbi9jb21taXQuYzo3NDYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICLkuI3og73or7vlj5YgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQzCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICLkuI3og73or7vlj5YgTUVSR0VfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc5NgorIzogYnVpbHRpbi9jb21taXQuYzo3OTcKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgogbXNnc3RyICLkuI3og73lhpnmj5DkuqTmqKHniYgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE0CisjOiBidWlsdGluL2NvbW1pdC5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02ODAxLDcgKzcwODEsNyBAQAogIlx0JXNcbiIKICLnhLblkI7ph43or5XjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTY4MTUsNyArNzA5NSw3IEBACiAiXHQlc1xuIgogIueEtuWQjumHjeivleOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzMgorIzogYnVpbHRpbi9jb21taXQuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTY4MjQsNyArNzEwNCw3IEBACiAi6K+35Li65oKo55qE5Y+Y5pu06L6T5YWl5o+Q5Lqk6K+05piO44CC5LulICclYycg5byA5aeL55qE6KGM5bCG6KKr5b+955Wl77yM6ICM5LiA5Liq56m655qE5o+Q5LqkXG4iCiAi6K+05piO5bCG5Lya57uI5q2i5o+Q5Lqk44CCXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM5CisjOiBidWlsdGluL2NvbW1pdC5jOjg0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtNjgzNSwzNDYgKzcxMTUsMzQ2IEBACiAi5Lmf5Y+v5Lul5Yig6Zmk5a6D5Lus44CC5LiA5Liq56m655qE5o+Q5Lqk6K+05piO5bCG5Lya57uI5q2i5o+Q5Lqk44CCXG4iCiAKICMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogYnVpbHRpbi9jb21taXQuYzo4NTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXPkvZzogIXvvJogICUuKnMgPCUuKnM+IgogCiAjICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY3CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVz5pel5pyf77yaICAlcyIKIAogIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCi0jOiBidWlsdGluL2NvbW1pdC5jOjg3NAorIzogYnVpbHRpbi9jb21taXQuYzo4NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc+aPkOS6pOiAhe+8miUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg5MgorIzogYnVpbHRpbi9jb21taXQuYzo4ODkKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W57Si5byVIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NAorIzogYnVpbHRpbi9jb21taXQuYzo5NTEKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAi5peg5rOV5Yib5bu65qCR5a+56LGhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2OCBidWlsdGluL3RhZy5jOjI4MAorIzogYnVpbHRpbi9jb21taXQuYzo5NjUgYnVpbHRpbi90YWcuYzoyNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICLor7fkvb/nlKggLW0g5oiWIC1GIOmAiemhueaPkOS+m+aPkOS6pOivtOaYjuOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIi0tYXV0aG9yICclcycg5LiN5pivICdOYW1lIDxlbWFpbD4nIOagvOW8j++8jOS4lOacquiDveWcqOeOsOacieS9nOiAheS4reaJvuWIsOWMuemFjSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDg2IGJ1aWx0aW4vY29tbWl0LmM6MTMyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMDgzIGJ1aWx0aW4vY29tbWl0LmM6MTMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIuaXoOaViOeahOacqui/vei4quaWh+S7tuWPguaVsCAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMQogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1sb25nIOWSjCAteiDpgInpobnkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTUxCiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi5ZCM5pe25L2/55SoIC0tcmVzZXQtYXV0aG9yIOWSjCAtLWF1dGhvciDmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MworIzogYnVpbHRpbi9jb21taXQuYzoxMTYwCiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIuaCqOayoeacieWPr+S/ruihpeeahOaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY2CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICLmgqjmraPlpITkuo7kuIDkuKrlkIjlubbov4fnqIvkuK0gLS0g5peg5rOV5L+u6KGl5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NQogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIuaCqOato+WkhOS6juS4gOS4quaLo+mAiei/h+eoi+S4rSAtLSDml6Dms5Xkv67ooaXmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi6YCJ6aG5IC0tc3F1YXNoIOWSjCAtLWZpeHVwIOS4jeiDveWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTgxCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzgKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAi5Y+q6IO955So5LiA5LiqIC1jLy1DLy1GLy0tZml4dXAg6YCJ6aG544CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MAogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAi6YCJ6aG5IC1tIOS4jeiDveWSjCAtYy8tQy8tRi8tLWZpeHVwIOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjExODgKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICItLXJlc2V0LWF1dGhvciDlj6rog73lkowgLUPjgIEtYyDmiJYgLS1hbWVuZCDlkIzml7bkvb/nlKjjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjA1CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICLlj6rog73nlKjkuIDkuKogLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2gg6YCJ6aG544CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNwogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAi5Y+C5pWwIC0taW5jbHVkZS8tLW9ubHkg5LiN6Lef6Lev5b6E5rKh5pyJ5oSP5LmJ44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTIKLW1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgotbXNnc3RyICLmjIflrprkuobmmI7noa7nmoTot6/lvoTogIzmsqHmnInkvb/nlKggLWkg5oiWIC1vIOmAiemhue+8jOiupOS4uuaYryAtLW9ubHkgcGF0aHMuLi4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNCBidWlsdGluL3RhZy5jOjQ5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMjE5IGJ1aWx0aW4vdGFnLmM6NTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICLml6DmlYjnmoTmuIXnkIbmqKHlvI8gJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyOQorIzogYnVpbHRpbi9jb21taXQuYzoxMjI0CiBtc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAi6Lev5b6E5ZKMIC1hIOmAiemhueWQjOaXtuS9v+eUqOayoeacieaEj+S5ieOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY29tbWl0LmM6MTYxMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzQyIGJ1aWx0aW4vY29tbWl0LmM6MTYxNwogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAi5Lul566A5rSB55qE5qC85byP5pi+56S654q25oCBIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDQgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIuaYvuekuuWIhuaUr+S/oeaBryIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDYKK21zZ2lkICJzaG93IHN0YXNoIGluZm9ybWF0aW9uIgorbXNnc3RyICLmmL7npLrotK7ol4/ljLrkv6Hmga8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OAogbXNnaWQgInZlcnNpb24iCiBtc2dzdHIgIueJiOacrCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQzIGJ1aWx0aW4vY29tbWl0LmM6MTYxNiBidWlsdGluL3B1c2guYzo1MjUKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MjEgYnVpbHRpbi9wdXNoLmM6NTMwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQ5CiBtc2dpZCAibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiCiBtc2dzdHIgIuacuuWZqOWPr+ivu+eahOi+k+WHuiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ2IGJ1aWx0aW4vY29tbWl0LmM6MTYxOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAi5Lul6ZW/5qC85byP5pi+56S654q25oCB77yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDkgYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTQgYnVpbHRpbi9jb21taXQuYzoxNjI2CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgIuadoeebruS7pSBOVUwg5a2X56ym57uT5bC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjI0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODEKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQgYnVpbHRpbi90YWcuYzozNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBidWlsdGluL2NvbW1pdC5jOjE2MjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NiBidWlsdGluL3RhZy5jOjQxMgogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIuaooeW8jyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIGJ1aWx0aW4vY29tbWl0LmM6MTYyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3IGJ1aWx0aW4vY29tbWl0LmM6MTYyOQogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAi5pi+56S65pyq6Lef6Liq55qE5paH5Lu277yM4oCc5qih5byP4oCd55qE5Y+v6YCJ5Y+C5pWw77yaYWxs44CBbm9ybWFs44CBbm/jgILvvIjpu5jorqTvvJphbGzvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYwCiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLmmL7npLrlv73nlaXnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NiBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEgcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgIuS9leaXtiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjIKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICLlv73nlaXlrZDmqKHnu4TnmoTmm7TmlLnvvIzigJzkvZXml7bigJ3nmoTlj6/pgInlj4LmlbDvvJphbGzjgIFkaXJ0eeOAgXVudHJhY2tlZOOAgu+8iOm7mOiupO+8mmFsbO+8iSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjQKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICLku6XliJfnmoTmlrnlvI/mmL7npLrmnKrot5/ouKrnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNQorIzogYnVpbHRpbi9jb21taXQuYzoxNDQwCiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi5peg5rOV5om+5Yiw5paw5Yib5bu655qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5paw5Yib5bu655qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NwogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIuWIhuemu+WktOaMh+mSiCIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICLvvIjmoLnmj5DkuqTvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAi5o+Q5Lqk5oiQ5Yqf5ZCO5LiN5pi+56S65qaC6L+w5L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi5Zyo5o+Q5Lqk6K+05piO5qih5p2/6YeM5pi+56S65beu5byCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MAogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIuaPkOS6pOivtOaYjumAiemhuSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg2IGJ1aWx0aW4vdGFnLmM6MzY2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzo0MTAKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICLku47mlofku7bkuK3or7vlj5bmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NworIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAiYXV0aG9yIgogbXNnc3RyICLkvZzogIUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NworIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgIuaPkOS6pOaXtuimhuebluS9nOiAhSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4IGJ1aWx0aW4vZ2MuYzozMzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBidWlsdGluL2djLmM6MzU4CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAi5pel5pyfIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MwogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5o+Q5Lqk5pe26KaG55uW5pel5pyfIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODkgYnVpbHRpbi9tZXJnZS5jOjIyMiBidWlsdGluL25vdGVzLmM6Mzk4Ci0jOiBidWlsdGluL25vdGVzLmM6NTYxIGJ1aWx0aW4vdGFnLmM6MzY0CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQgYnVpbHRpbi9tZXJnZS5jOjIyMiBidWlsdGluL25vdGVzLmM6NDAxCisjOiBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vdGFnLmM6NDA4CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAi6K+05piOIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAogbXNnaWQgImNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MCBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi9jb21taXQuYzoxNTkyCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6ODEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzcKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgIuaPkOS6pCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi6YeN55So5bm257yW6L6R5oyH5a6a5o+Q5Lqk55qE5o+Q5Lqk6K+05piOIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLph43nlKjmjIflrprmj5DkuqTnmoTmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi5L2/55SoIGF1dG9zcXVhc2gg5qC85byP55qE5o+Q5Lqk6K+05piO55So5Lul5L+u5q2j5oyH5a6a55qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLkvb/nlKggYXV0b3NxdWFzaCDmoLzlvI/nmoTmj5DkuqTor7TmmI7nlKjku6XljovnvKnoh7PmjIflrprnmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAi546w5Zyo5bCG6K+l5o+Q5Lqk55qE5L2c6ICF5pS55Li65oiR77yI5ZKMIC1DLy1jLy0tYW1lbmQg5Y+C5pWw5YWx55So77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi9sb2cuYzoxNDEzIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2xvZy5jOjE0MzAgYnVpbHRpbi9yZXZlcnQuYzoxMDUKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgIua3u+WKoCBTaWduZWQtb2ZmLWJ5OiDnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICLkvb/nlKjmjIflrprnmoTmqKHmnb/mlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNjAyCiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgIuW8uuWItue8lui+keaPkOS6pCIKIAogIyAg6K+R6ICF77ya5Y+v6YCJ5YC877yM5LiN6IO957+76K+R77yI5oiW5piv5Y6f5paH5Lit56yU6K+v77yM5bqU5Li6IG1vZGXvvIkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCiBtc2dpZCAiZGVmYXVsdCIKIG1zZ3N0ciAiZGVmYXVsdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IGJ1aWx0aW4vdGFnLmM6MzY5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMgYnVpbHRpbi90YWcuYzo0MTMKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICLorr7nva7lpoLkvZXliKDpmaTmj5DkuqTor7TmmI7ph4znmoTnqbrmoLzlkowj5rOo6YeKIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNAogbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICLlnKjmj5DkuqTor7TmmI7mqKHmnb/ph4zljIXlkKvnirbmgIHkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMSBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE2NgotIzogYnVpbHRpbi9yZXZlcnQuYzo5MworIzogYnVpbHRpbi9jb21taXQuYzoxNjA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL3JldmVydC5jOjExMwogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAiR1BHIOaPkOS6pOetvuWQjSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAi5o+Q5Lqk5YaF5a656YCJ6aG5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAi5o+Q5Lqk5omA5pyJ5pS55Yqo55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5re75Yqg5oyH5a6a55qE5paH5Lu25Yiw57Si5byV5Yy6562J5b6F5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMgogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICLkuqTkupLlvI/mt7vliqDmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAi5Lqk5LqS5byP5re75Yqg5Y+Y5pu0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAi5Y+q5o+Q5Lqk5oyH5a6a55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICLnu5Xov4cgcHJlLWNvbW1pdCDlkowgY29tbWl0LW1zZyDpkqnlrZAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQorIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAi5pi+56S65bCG6KaB5o+Q5Lqk55qE5YaF5a65IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi5L+u5pS55YWI5YmN55qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAi57uV6L+HIHBvc3QtcmV3cml0ZSDpkqnlrZAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAi5YWB6K645LiA5Liq56m65o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNQogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIuWFgeiuuOepuueahOaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjU5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjUKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIuS4jeiDveino+aekCBIRUFEIOaPkOS6pCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAi5o2f5Z2P55qEIE1FUkdFX0hFQUQg5paH5Lu277yIJXPvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNzE3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIE1FUkdFX01PREUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTczMworIzogYnVpbHRpbi9jb21taXQuYzoxNzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5o+Q5Lqk6K+05piO77yaJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NAorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAi57uI5q2i5o+Q5Lqk77yb5oKo5pyq5pu05pS55p2l6Ieq5qih54mI55qE5o+Q5Lqk6K+05piO44CCXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIue7iOatouaPkOS6pOWboOS4uuaPkOS6pOivtOaYjuS4uuepuuOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwMAogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgpAQCAtNzE4MywxMzUgKzc0NjMsMTM1IEBACiAi5LuT5bqT5bey5pu05paw77yM5L2G5peg5rOV5YaZIG5ld19pbmRleCDmlofku7bjgILmo4Dmn6XmmK/lkKbno4Hnm5jlt7Lmu6FcbiIKICLmiJbno4Hnm5jphY3pop3lt7LogJflsL3vvIznhLblkI7miafooYwgXCJnaXQgcmVzZXQgSEVBRFwiIOaBouWkjeOAgiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo5CisjOiBidWlsdGluL2NvbmZpZy5jOjEwCiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbPOmAiemhuT5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU1CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIumFjee9ruaWh+S7tuS9jee9riIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1OAogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgIuS9v+eUqOWFqOWxgOmFjee9ruaWh+S7tiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgIuS9v+eUqOezu+e7n+e6p+mFjee9ruaWh+S7tiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICLkvb/nlKjku5PlupPnuqfphY3nva7mlofku7YiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgIuS9v+eUqOaMh+WumueahOmFjee9ruaWh+S7tiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgIuaVsOaNruWvueixoSBJRCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgIuS7jue7meWumueahOaVsOaNruWvueixoeivu+WPlumFjee9riIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAi5pON5L2cIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuiOt+WPluWAvO+8mm5hbWUgW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MworIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi6I635b6X5omA5pyJ55qE5YC877yaa2V5IFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJnZXQgdmFsdWVzIGZvciByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi5qC55o2u5q2j5YiZ6KGo6L6+5byP6I635b6X5YC877yabmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY3CiBtc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAi6I635b6XIFVSTCDlj5blgLzvvJpzZWN0aW9uWy52YXJdIFVSTCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICLmm7/mjaLmiYDmnInljLnphY3nmoTlj5jph4/vvJpuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKIG1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgIua3u+WKoOS4gOS4quaWsOeahOWPmOmHj++8mm5hbWUgdmFsdWUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLliKDpmaTkuIDkuKrlj5jph4/vvJpuYW1lIFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJyZW1vdmUgYWxsIG1hdGNoZXM6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi5Yig6Zmk5omA5pyJ5Yy56YWN6aG577yabmFtZSBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgogbXNnc3RyICLph43lkb3lkI3lsI/oioLvvJpvbGQtbmFtZSBuZXctbmFtZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCiBtc2dzdHIgIuWIoOmZpOS4gOS4quWwj+iKgu+8mm5hbWUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAi5YiX5Ye65omA5pyJIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgIuaJk+W8gOS4gOS4que8lui+keWZqCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3NgogbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgogbXNnc3RyICLojrflvpfphY3nva7nmoTpopzoibLvvJrphY3nva4gW+m7mOiupF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAi6I635b6X6aKc6Imy6K6+572u77ya6YWN572uIFtzdGRvdXQtaXMtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3OAogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIuexu+WeiyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAi5YC85pivIFwidHJ1ZVwiIOaIliBcImZhbHNlXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAi5YC85piv5Y2B6L+b5Yi25pWwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjgxCiBtc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgogbXNnc3RyICLlgLzmmK8gLS1ib29sIG9yIC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgwCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAi5YC85piv5LiA5Liq6Lev5b6E77yI5paH5Lu25oiW55uu5b2V5ZCN77yJIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgxCisjOiBidWlsdGluL2NvbmZpZy5jOjgzCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIuWFtuWugyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MgorIzogYnVpbHRpbi9jb25maWcuYzo4NAogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAi57uI5q2i5YC85pivIE5VTCDlrZfoioIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgIuWPquaYvuekuuWPmOmHj+WQjSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NAorIzogYnVpbHRpbi9jb25maWcuYzo4NgogbXNnaWQgInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIKIG1zZ3N0ciAi5p+l6K+i5pe25Y+C54WnIGluY2x1ZGUg5oyH5Luk6YCS5b2S5p+l5om+IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg1CisjOiBidWlsdGluL2NvbmZpZy5jOjg3CiBtc2dpZCAic2hvdyBvcmlnaW4gb2YgY29uZmlnIChmaWxlLCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgY29tbWFuZCBsaW5lKSIKIG1zZ3N0ciAi5pi+56S66YWN572u55qE5p2l5rqQ77yI5paH5Lu244CB5qCH5YeG6L6T5YWl44CB5pWw5o2u5a+56LGh77yM5oiW5ZG95Luk6KGM77yJIgogCkBAIC03MzM0LDEyICs3NjE0LDE2IEBACiAiI1x0bmFtZSA9ICVzXG4iCiAiI1x0ZW1haWwgPSAlc1xuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxMworIzogYnVpbHRpbi9jb25maWcuYzo0OTkKK21zZ2lkICItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIi0tbG9jYWwg5Y+q6IO95Zyo5LiA5Liq5LuT5bqT5YaF5L2/55SoIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu66YWN572u5paH5Lu2ICVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyNQorIzogYnVpbHRpbi9jb25maWcuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKQEAgLTczNDgsNjMgKzc2MzIsNzUgQEAKICLml6Dms5XnlKjkuIDkuKrlgLzopobnm5blpJrkuKrlgLxcbiIKICIgICAgICAg5L2/55So5LiA5Liq5q2j5YiZ6KGo6L6+5byP44CBLS1hZGQg5oiWIC0tcmVwbGFjZS1hbGwg5p2l5L+u5pS5ICVz44CCIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NgorIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODcKIG1zZ2lkICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NgorIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTcKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCiBtc2dzdHIgIuS7peeUqOaIt+WPr+ivu+eahOagvOW8j+aYvuekuuWkp+WwjyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjE3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MTkKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gWzxjb21taXQtaXNoPi4uLl0iCiBtc2dzdHIgImdpdCBkZXNjcmliZSBbPOmAiemhuT5dIFs85o+Q5Lqk5Y+3Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjIwCiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIC0tZGlydHkiCiBtc2dzdHIgImdpdCBkZXNjcmliZSBbPOmAiemhuT5dIC0tZGlydHkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NAorbXNnaWQgImhlYWQiCittc2dzdHIgIuWktCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0Cittc2dpZCAibGlnaHR3ZWlnaHQiCittc2dzdHIgIui9u+mHj+e6p+eahCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0Cittc2dpZCAiYW5ub3RhdGVkIgorbXNnc3RyICLpmYTms6jnmoQiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICLpmYTms6jmoIfnrb4gJXMg5peg5pWIIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCiBtc2dzdHIgIumZhOazqOagh+etviAlcyDmsqHmnInltYzlhaXlkI3np7AiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMjMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKIG1zZ3N0ciAi5qCH562+ICclcycg55qE56Gu5piv5ZyoICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTAgYnVpbHRpbi9sb2cuYzo0ODAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODYgYnVpbHRpbi9sb2cuYzo0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOeahOWvueixoeWQjSAlcyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCAnJXMnIG9iamVjdCIKIG1zZ3N0ciAiJXMg5LiN5piv5LiA5Liq5pyJ5pWI55qEICclcycg5a+56LGhIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAi5rKh5pyJ5qCH562+5YeG56Gu5Yy56YWNICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2VhcmNoaW5nIHRvIGRlc2NyaWJlICVzXG4iCiBtc2dzdHIgIuaQnOe0ouaPj+i/sCAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzE5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICLlrozmiJDmkJzntKIgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM0NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC03NDEzLDcgKzc3MDksNyBAQAogIuayoeaciemZhOazqOagh+etvuiDveaPj+i/sCAnJXMn44CCXG4iCiAi54S26ICM77yM5a2Y5Zyo5pyq6ZmE5rOo5qCH562+77ya5bCd6K+VIC0tdGFnc+OAgiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM1MAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTc0MjIsMTIgKzc3MTgsMTIgQEAKICLmsqHmnInmoIfnrb7og73mj4/ov7AgJyVzJ+OAglxuIgogIuWwneivlSAtLWFsd2F5c++8jOaIluiAheWIm+W7uuS4gOS6m+agh+etvuOAgiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmF2ZXJzZWQgJWx1IGNvbW1pdHNcbiIKIG1zZ3N0ciAi5bey6YGN5Y6GICVsdSDkuKrmj5DkuqRcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgpAQCAtNzQzNiw0MDYgKzc3MzIsNDM3IEBACiAi5Y+R546w5aSa5LqOICVpIOS4quagh+etvu+8jOWIl+WHuuacgOi/keeahCAlaSDkuKpcbiIKICLlnKggJXMg5pS+5byD5pCc57SiXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKIG1zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgogbXNnc3RyICLlr7vmib7or6Xmj5DkuqTkuYvlkI7nmoTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDIKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICLlnKjmoIflh4bplJnor6/kuIrosIPor5XmkJzntKLnrZbnlaUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozOTgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDMKIG1zZ2lkICJ1c2UgYW55IHJlZiIKIG1zZ3N0ciAi5L2/55So5Lu75oSP5byV55SoIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzk5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgIuS9v+eUqOS7u+aEj+agh+etvu+8jOWNs+S9v+acqumZhOW4puazqOmHiiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgIuWni+e7iOS9v+eUqOmVv+aPkOS6pOWPt+agvOW8jyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwMQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAi5Y+q6Lef6ZqP56ys5LiA5Liq54i25o+Q5LqkIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ5CiBtc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKIG1zZ3N0ciAi5Y+q6L6T5Ye657K+56Gu5Yy56YWNIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDUxCiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAi6ICD6JmR5pyA6L+RIDxuPiDkuKrmoIfnrb7vvIjpu5jorqTvvJoxMO+8iSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1MwogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIuWPquiAg+iZkeWMuemFjSA85qih5byPPiDnmoTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAgYnVpbHRpbi9uYW1lLXJldi5jOjMyMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NQorbXNnaWQgImRvIG5vdCBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAi5LiN6ICD6JmR5Yy56YWNIDzmqKHlvI8+IOeahOagh+etviIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NyBidWlsdGluL25hbWUtcmV2LmM6NDA2CiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICLmmL7npLrnroDlhpnnmoTmj5DkuqTlj7fkvZzkuLrlkI7lpIciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NTggYnVpbHRpbi9kZXNjcmliZS5jOjQ2MQogbXNnaWQgIm1hcmsiCiBtc2dzdHIgIuagh+iusCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1OQogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKIG1zZ3N0ciAi5a+55LqO6ISP5bel5L2c5Yy677yM6L+95YqgIDzmoIforrA+77yI6buY6K6k77yaXCItZGlydHlcIu+8iSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ2MgorbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gYnJva2VuIHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItYnJva2VuXCIpIgorbXNnc3RyICLlr7nkuo7mjZ/lnY/nmoTlt6XkvZzljLrvvIzov73liqAgPOagh+iusD7vvIjpu5jorqTvvJpcIi1icm9rZW5cIu+8iSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ4MAogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgogbXNnc3RyICItLWxvbmcg5LiOIC0tYWJicmV2PTAg5LiN5YW85a65IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDU2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CiBtc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCiBtc2dzdHIgIuayoeacieWPkeeOsOWQjeensO+8jOaXoOazleaPj+i/sOS7u+S9leS4nOilv+OAgiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ3NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MgogbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgotbXNnc3RyICItLWRpcnR5IOS4jeiDveS4juaPkOS6pOWQjOaXtuS9v+eUqCIKK21zZ3N0ciAiLS1kaXJ0eSDkuI7mj5DkuqTlj7fkuI3lhbzlrrkiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQKK21zZ2lkICItLWJyb2tlbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCittc2dzdHIgIi0tYnJva2VuIOS4juaPkOS6pOWPt+S4jeWFvOWuuSIKIAogIzogYnVpbHRpbi9kaWZmLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCiBtc2dzdHIgIiclcyfvvJrkuI3mmK/kuIDkuKrmraPop4Tmlofku7bmiJbnrKblj7fpk77mjqUiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIzNAorIzogYnVpbHRpbi9kaWZmLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAi5peg5pWI6YCJ6aG577yaJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM1OAorIzogYnVpbHRpbi9kaWZmLmM6MzU5CiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS4jeaYr+S4gOS4qiBnaXQg5LuT5bqTIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDEKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAi5o+Q5L6b5LqG5peg5pWI5a+56LGhICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxMAorIzogYnVpbHRpbi9kaWZmLmM6NDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgIuaPkOS+m+S6hui2hei/h+S4pOS4quaVsOaNruWvueixoe+8miclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxNworIzogYnVpbHRpbi9kaWZmLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIuaXoOazleWkhOeQhueahOWvueixoSAnJXMn44CCIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOQogbXNnaWQgImdpdCBkaWZmdG9vbCBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGRpZmZ0b29sIFs86YCJ6aG5Pl0gWzzmj5DkuqQ+IFs85o+Q5LqkPl1dIFstLV0gWzzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0MQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQ6ICVkIgogbXNnc3RyICLlpLHotKXvvJolZCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjM0MgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICLml6Dms5Xor7vlj5bnrKblj7fpk77mjqUgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICLml6Dms5Xor7vlj5bnrKblj7fpk77mjqXmlofku7YgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIGZvciBzeW1saW5rICVzIgorbXNnc3RyICLml6Dms5Xor7vlj5bnrKblj7fpk77mjqUgJTIkcyDmjIflkJHnmoTlr7nosaEgJTEkcyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjQwMwogbXNnaWQgIiIKICJjb21iaW5lZCBkaWZmIGZvcm1hdHMoJy1jJyBhbmQgJy0tY2MnKSBhcmUgbm90IHN1cHBvcnRlZCBpblxuIgogImRpcmVjdG9yeSBkaWZmIG1vZGUoJy1kJyBhbmQgJy0tZGlyLWRpZmYnKS4iCi1tc2dzdHIgIuS4jeaUr+aMgeWcqOebruW9leavlOi+g+aooeW8j++8iCctZCcg5ZKMICctLWRpci1kaWZmJ++8ieS4remHh+eUqOe7hOWQiOW3ruW8guagvOW8j++8iCctYycg5ZKMICctLWNjJ++8ieOAgiIKK21zZ3N0ciAiIgorIuS4jeaUr+aMgeWcqOebruW9leavlOi+g+aooeW8j++8iCctZCcg5ZKMICctLWRpci1kaWZmJ++8ieS4remHh+eUqOe7hOWQiOW3ruW8guagvOW8j++8iCctYycg5ZKMICctLSIKKyJjYyfvvInjgIIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NjcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCiBtc2dzdHIgIuS4pOS4quaWh+S7tumDveiiq+S/ruaUue+8miclcycg5ZKMICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1NjkKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKIG1zZ2lkICJ3b3JraW5nIHRyZWUgZmlsZSBoYXMgYmVlbiBsZWZ0LiIKIG1zZ3N0ciAi5bel5L2c5Yy65paH5Lu26KKr55WZ5LqG5LiL5p2l44CCIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NTgwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKIG1zZ3N0ciAi5Li05pe25paH5Lu25a2Y5Zyo5LqOICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo1ODEKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDAKIG1zZ2lkICJ5b3UgbWF5IHdhbnQgdG8gY2xlYW51cCBvciByZWNvdmVyIHRoZXNlLiIKIG1zZ3N0ciAi5oKo5Y+v6IO95oOz6KaB5riF55CG5oiW6ICF5oGi5aSN5a6D5Lus44CCIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjI2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njg5CiBtc2dpZCAidXNlIGBkaWZmLmd1aXRvb2xgIGluc3RlYWQgb2YgYGRpZmYudG9vbGAiCiBtc2dzdHIgIuS9v+eUqCBgZGlmZi5ndWl0b29sYCDku6Pmm78gYGRpZmYudG9vbGAiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTEKIG1zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKIG1zZ3N0ciAi5omn6KGM5LiA5Liq5YWo55uu5b2V5beu5byC5q+U6L6DIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjMwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkzCiBtc2dpZCAiZG8gbm90IHByb21wdCBiZWZvcmUgbGF1bmNoaW5nIGEgZGlmZiB0b29sIgogbXNnc3RyICLlkK/liqjlt67lvILmr5TovoPlt6XlhbfkuYvliY3kuI3mj5DnpLoiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAi5ZyoIGRpci1kaWZmIOaooeW8j+S4reS9v+eUqOespuWPt+mTvuaOpSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMAogbXNnaWQgIjx0b29sPiIKIG1zZ3N0ciAiPOW3peWFtz4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgIuS9v+eUqOaMh+WumueahOW3ruW8guavlOi+g+W3peWFtyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMwogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAi5pi+56S65Y+v5Lul55So5ZyoIGAtLXRvb2xgIOWPguaVsOWQjueahOW3ruW8guW3peWFt+WIl+ihqCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0MworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgogbXNnaWQgIiIKICJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKICJjb2RlIgogbXNnc3RyICLlvZPmiafooYwgZGlmZiDlt6Xlhbfov5Tlm57pnZ7pm7bpgIDlh7rnoIHml7bvvIzkvb8gJ2dpdC1kaWZmdG9vbCcg6YCA5Ye6IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA4CiBtc2dpZCAiPGNvbW1hbmQ+IgogbXNnc3RyICI85ZG95LukPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOQogbXNnaWQgInNwZWNpZnkgYSBjdXN0b20gY29tbWFuZCBmb3Igdmlld2luZyBkaWZmcyIKIG1zZ3N0ciAi5oyH5a6a5LiA5Liq55So5LqO5p+l55yL5beu5byC55qE6Ieq5a6a5LmJ5ZG95LukIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjcwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMzCiBtc2dpZCAibm8gPHRvb2w+IGdpdmVuIGZvciAtLXRvb2w9PHRvb2w+IgogbXNnc3RyICLmsqHmnInkuLogLS10b29sPTzlt6Xlhbc+IOWPguaVsOaPkOS+myA85bel5YW3PiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY3NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MAogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAi5rKh5pyJ5Li6IC0tZXh0Y21kPTzlkb3ku6Q+IOWPguaVsOaPkOS+myA85ZG95LukPiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjYKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKIG1zZ3N0ciAi5ZyoIDxuPiDkuKrlr7nosaHkuYvlkI7mmL7npLrov5vluqYiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgIumAieaLqeWmguS9leWkhOeQhuetvuWQjeagh+etviIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NwogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgIumAieaLqeW9k+agh+etvuaMh+WQkeiiq+i/h+a7pOWvueixoeaXtuivpeagh+etvueahOWkhOeQhuaWueW8jyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MAogbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgogbXNnc3RyICLmiormoIforrDlrZjlgqjliLDov5nkuKrmlofku7YiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTIKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgIuS7jui/meS4quaWh+S7tuWvvOWFpeagh+iusCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NAogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICLlvZPmoIfnrb7nvLrlsJHmoIforrDogIXlrZfmrrXml7bvvIzlgYfoo4Xmj5DkvpvkuIDkuKoiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5OTYKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAi5q+P5qyh5o+Q5Lqk6YO96L6T5Ye65pW05Liq5qCRIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk4CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgIuS9v+eUqCBkb25lIOWKn+iDveadpee7iOatoua1gSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5NworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5OQogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAi6Lez6L+H5pWw5o2u5a+56LGh55qE6L6T5Ye6IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTk4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwMAogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgIuW8leeUqOinhOagvCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk5OQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDEKIG1zZ2lkICJBcHBseSByZWZzcGVjIHRvIGV4cG9ydGVkIHJlZnMiCiBtc2dzdHIgIuWvueWvvOWHuueahOW8leeUqOW6lOeUqOW8leeUqOinhOagvCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDAyCiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAi5Yy/5ZCN6L6T5Ye6IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs86YCJ6aG5Pl0gWzzku5PlupM+IFs85byV55So6KeE5qC8Pi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzzpgInpobk+XSA857uEPiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzzpgInpobk+XSBbKDzku5PlupM+IHwgPOe7hD4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI0CisjOiBidWlsdGluL2ZldGNoLmM6MjUKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPOmAiemhuT5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTc1CisjOiBidWlsdGluL2ZldGNoLmM6OTAgYnVpbHRpbi9wdWxsLmM6MTgyCiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAi5LuO5omA5pyJ55qE6L+c56iL5oqT5Y+WIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9wdWxsLmM6MTg1CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICLov73liqDliLAgLmdpdC9GRVRDSF9IRUFEIOiAjOS4jeaYr+imhuebluWugyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5IGJ1aWx0aW4vcHVsbC5jOjE4MQorIzogYnVpbHRpbi9mZXRjaC5jOjk0IGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAi5LiK5Lyg5YyF5Yiw6L+c56iL55qE6Lev5b6EIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAwIGJ1aWx0aW4vcHVsbC5jOjE4MworIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE5MAogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgIuW8uuWItuimhuebluacrOWcsOWIhuaUryIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMgorIzogYnVpbHRpbi9mZXRjaC5jOjk3CiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICLku47lpJrkuKrov5znqIvmipPlj5YiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQgYnVpbHRpbi9wdWxsLmM6MTg1CisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAi5oqT5Y+W5omA5pyJ55qE5qCH562+5ZKM5YWz6IGU5a+56LGhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA2CisjOiBidWlsdGluL2ZldGNoLmM6MTAxCiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICLkuI3mipPlj5bku7vkvZXmoIfnrb4oLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMwogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIuWtkOaooee7hOiOt+WPlueahOW5tuWPkeaVsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL3B1bGwuYzoxODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUgYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIua4hemZpOi/nOeoi+W3sue7j+S4jeWtmOWcqOeahOWIhuaUr+eahOi3n+i4quWIhuaUryIKIAogIyAg6K+R6ICF77ya5Y+v6YCJ5YC877yM5LiN6IO957+76K+RCi0jOiBidWlsdGluL2ZldGNoLmM6MTExIGJ1aWx0aW4vcHVsbC5jOjE5MQorIzogYnVpbHRpbi9mZXRjaC5jOjEwNiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjEyMwogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAib24tZGVtYW5kIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwNwogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuaOp+WItuWtkOaooee7hOeahOmAkuW9kuaKk+WPliIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNiBidWlsdGluL3B1bGwuYzoyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgIuS/neaMgeS4i+i9veWMhSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMwogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICLlhYHorrjmm7TmlrAgSEVBRCDlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICLmt7HljJbmtYXlhYvpmobnmoTljoblj7IiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKIG1zZ3N0ciAi5Z+65LqO5pe26Ze05p2l5rex5YyW5rWF5YWL6ZqG55qE5Y6G5Y+yIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNCBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6L2s5o2i5Li65LiA5Liq5a6M5pW055qE5LuT5bqTIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9mZXRjaC5jOjEyNiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJkaXIiCiBtc2dzdHIgIuebruW9lSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyNwogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgIuWcqOWtkOaooee7hOi3r+W+hOi+k+WHuueahOWJjemdouWKoOS4iuatpOebruW9lSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNQotbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgotbXNnc3RyICLpgJLlvZLnmoTpu5jorqTmqKHlvI8iCisjOiBidWlsdGluL2ZldGNoLmM6MTMwCittc2dpZCAiIgorImRlZmF1bHQgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIChsb3dlciBwcmlvcml0eSB0aGFuIGNvbmZpZyAiCisiZmlsZXMpIgorbXNnc3RyICLpgJLlvZLojrflj5blrZDmqKHnu4TnmoTnvLrnnIHlgLzvvIjmr5TphY3nva7mlofku7bkvJjlhYjnuqfkvY7vvIkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdWxsLmM6MjA5CisjOiBidWlsdGluL2ZldGNoLmM6MTM0IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAi5o6l5Y+X5pu05pawIC5naXQvc2hhbGxvdyDnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCisjOiBidWlsdGluL2ZldGNoLmM6MTM1IGJ1aWx0aW4vcHVsbC5jOjIxNAogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAi5byV55So5pig5bCEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIxMgorIzogYnVpbHRpbi9mZXRjaC5jOjEzNiBidWlsdGluL3B1bGwuYzoyMTUKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAi5oyH5a6a6I635Y+W5pON5L2c55qE5byV55So5pig5bCEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzk1CisjOiBidWlsdGluL2ZldGNoLmM6Mzk0CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIuaXoOazleWPkeeOsOi/nOeoiyBIRUFEIOW8leeUqCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjUxMQorIzogYnVpbHRpbi9mZXRjaC5jOjUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICLphY3nva7lj5jph48gZmV0Y2gub3V0cHV0IOWMheWQq+aXoOaViOWAvCAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwNAorIzogYnVpbHRpbi9mZXRjaC5jOjYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICLlr7nosaEgJXMg5pyq5Y+R546wIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA4CisjOiBidWlsdGluL2ZldGNoLmM6NjA5CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJb5pyA5pawXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyMSBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NjIyIGJ1aWx0aW4vZmV0Y2guYzo3MDIKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICJb5bey5ouS57udXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYyMgorIzogYnVpbHRpbi9mZXRjaC5jOjYyMwogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLlvZPliY3liIbmlK/kuIvkuI3og73miafooYzojrflj5bmk43kvZwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzIKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlvmoIfnrb7mm7TmlrBdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjMyIGJ1aWx0aW4vZmV0Y2guYzo2NjUgYnVpbHRpbi9mZXRjaC5jOjY4MQotIzogYnVpbHRpbi9mZXRjaC5jOjY5NgorIzogYnVpbHRpbi9mZXRjaC5jOjYzMyBidWlsdGluL2ZldGNoLmM6NjY2IGJ1aWx0aW4vZmV0Y2guYzo2ODIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTcKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAi5LiN6IO95pu05paw5pys5Zyw5byV55SoIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjUxCisjOiBidWlsdGluL2ZldGNoLmM6NjUyCiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJb5paw5qCH562+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY1NAorIzogYnVpbHRpbi9mZXRjaC5jOjY1NQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW+aWsOWIhuaUr10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTgKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIlvmlrDlvJXnlKhdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Njk2CisjOiBidWlsdGluL2ZldGNoLmM6Njk3CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAi5by65Yi25pu05pawIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAxCisjOiBidWlsdGluL2ZldGNoLmM6NzAyCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi6Z2e5b+r6L+bIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQ2CisjOiBidWlsdGluL2ZldGNoLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMg5pyq5Y+R6YCB5omA5pyJ5b+F6aG755qE5a+56LGhXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKIG1zZ3N0ciAi5ouS57udICVzIOWboOS4uua1heWFi+mahuS4jeWFgeiuuOiiq+abtOaWsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg1MyBidWlsdGluL2ZldGNoLmM6OTQ5CisjOiBidWlsdGluL2ZldGNoLmM6ODU1IGJ1aWx0aW4vZmV0Y2guYzo5NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIuadpeiHqiAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTc4NDUsMTc5ICs4MTcyLDE3OSBAQAogIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycg5p2l5Yig6Zmk5pen55qE44CB5pyJ5Yay56qB55qE5YiG5pSvIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAg77yIJXMg5bCG5oiQ5Li65pGH5pGG54q25oCB77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICDvvIglcyDlt7LmiJDkuLrmkYfmkYbnirbmgIHvvIkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTQKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIlvlt7LliKDpmaRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTUzIGJ1aWx0aW4vcmVtb3RlLmM6MTAyMAorIzogYnVpbHRpbi9mZXRjaC5jOjk1NSBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIu+8iOaXoO+8iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3NgorIzogYnVpbHRpbi9mZXRjaC5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuaLkue7neiOt+WPluWIsOmdnue6r+S7k+W6k+eahOW9k+WJjeWIhuaUryAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5NQorIzogYnVpbHRpbi9mZXRjaC5jOjk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICLpgInpobkgXCIlc1wiIOeahOWAvCBcIiVzXCIg5a+55LqOICVzIOaYr+aXoOaViOeahCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5OAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICLpgInpobkgXCIlc1wiIOS4uiAlcyDmiYDlv73nlaVcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIuS4jeefpemBk+WmguS9leS7jiAlcyDojrflj5YiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICLmraPlnKjojrflj5YgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMzYgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzggYnVpbHRpbi9yZW1vdGUuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIuS4jeiDveiOt+WPliAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU2CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgIuacquaMh+Wumui/nOeoi+S7k+W6k+OAguivt+mAmui/h+S4gOS4qiBVUkwg5oiW6L+c56iL5LuT5bqT5ZCN5oyH5a6a77yM55So5Lul6I635Y+W5paw5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI3NworIzogYnVpbHRpbi9mZXRjaC5jOjEyNzkKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICLmgqjpnIDopoHmjIflrprkuIDkuKrmoIfnrb7lkI3np7DjgIIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzE5CisjOiBidWlsdGluL2ZldGNoLmM6MTMyMQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIi0tZGVlcGVuIOS4jeaUr+aMgei0n+aVsOa3seW6piIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIzCiBtc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLS1kZWVwZW4g5ZKMIC0tZGVwdGgg5piv5LqS5pal55qEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyNgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjgKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiLS1kZXB0aCDlkowgLS11bnNoYWxsb3cg5LiN6IO95ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzMzAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi5a+55LqO5LiA5Liq5a6M5pW055qE5LuT5bqT77yM5Y+C5pWwIC0tdW5zaGFsbG93IOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQ5CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsIOS4jeiDveW4puS4gOS4quS7k+W6k+WPguaVsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUxCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCDluKblvJXnlKjop4TmoLzmsqHmnInku7vkvZXmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzYzCisjOiBidWlsdGluL2ZldGNoLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICLmsqHmnInov5nmoLfnmoTov5znqIvmiJbov5znqIvnu4TvvJolcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcwCiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLojrflj5bnu4TlubbmjIflrprlvJXnlKjop4TmoLzmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjE0CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNQogbXNnaWQgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPOivtOaYjj5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDzmlofku7Y+XSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjQKIG1zZ2lkICJwb3B1bGF0ZSBsb2cgd2l0aCBhdCBtb3N0IDxuPiBlbnRyaWVzIGZyb20gc2hvcnRsb2ciCiBtc2dzdHIgIuWQkeaPkOS6pOivtOaYjuS4reacgOWkmuWkjeWItuaMh+Wumuadoeebru+8iOWQiOW5tuiAjOadpeeahOaPkOS6pO+8ieeahOeugOefreivtOaYjiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjcKIG1zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgogbXNnc3RyICLlj4LmlbAgLS1sb2cg55qE5Yir5ZCN77yI5bey5byD55So77yJIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAogbXNnaWQgInRleHQiCiBtc2dzdHIgIuaWh+acrCIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKIG1zZ2lkICJ1c2UgPHRleHQ+IGFzIHN0YXJ0IG9mIG1lc3NhZ2UiCiBtc2dzdHIgIuS9v+eUqCA85paH5pysPiDkvZzkuLrmj5DkuqTor7TmmI7nmoTlvIDlp4siCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcyCiBtc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCiBtc2dzdHIgIuS7juaWh+S7tuS4reivu+WPliIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo5CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbPG9wdGlvbnM+XSBbPHBhdHRlcm4+XSIKIG1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbPOmAiemhuT5dIFs85qih5byPPl0iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTAKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTEKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50cy1hdCA8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDzlr7nosaE+XSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQotbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPG9iamVjdD5dXSIKLW1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs85a+56LGhPl1dIgotCiAjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEyCi1tc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPG9iamVjdD5dXSIKLW1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPOWvueixoT5dXSIKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPOaPkOS6pD5dXSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyNworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMworbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxjb21taXQ+XV0gWy0tbm8tY29udGFpbnMgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzzmj5DkuqQ+XV0gWy0tbm8tY29udGFpbnMgWzzmj5DkuqQ+XV0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKIG1zZ3N0ciAi5byV55So5Y2g5L2N56ym6YCC55So5LqOIHNoZWxscyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyOQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcGVybCIKIG1zZ3N0ciAi5byV55So5Y2g5L2N56ym6YCC55So5LqOIHBlcmwiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzEKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzIKIG1zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKIG1zZ3N0ciAi5byV55So5Y2g5L2N56ym6YCC55So5LqOIHB5dGhvbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNAogbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgVGNsIgogbXNnc3RyICLlvJXnlKjljaDkvY3nrKbpgILnlKjkuo4gVGNsIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3CiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIuWPquaYvuekuiA8bj4g5Liq5Yy56YWN55qE5byV55SoIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vdGFnLmM6Mzg3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4Ci1tc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKLW1zZ3N0ciAi6L6T5Ye65qC85byPIgotCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyCiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIHBvaW50cyBhdCB0aGUgZ2l2ZW4gb2JqZWN0IgogbXNnc3RyICLlj6rmiZPljbDmjIflkJHnu5nlrprlr7nosaHnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDQKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICLlj6rmiZPljbDlt7Lnu4/lkIjlubbnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5rKh5pyJ5ZCI5bm255qE5byV55SoIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5YyF5ZCr6K+l5o+Q5Lqk55qE5byV55SoIgogCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3Cittc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAi5Y+q5omT5Y2w5LiN5YyF5ZCr6K+l5o+Q5Lqk55qE5byV55SoIgorCiAjOiBidWlsdGluL2ZzY2suYzo1NTQKIG1zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIuajgOafpeWvueixoeebruW9leS4rSIKQEAgLTgwNzgsMjEgKzg0MDUsMjEgQEAKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICLmo4Dmn6Xlr7nosaHkuK0iCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyNQorIzogYnVpbHRpbi9nYy5jOjI2CiBtc2dpZCAiZ2l0IGdjIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZ2MgWzzpgInpobk+XSIKIAotIzogYnVpbHRpbi9nYy5jOjcyCisjOiBidWlsdGluL2djLmM6NzkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCAlczogJyVzJyIKLW1zZ3N0ciAi5peg5pWIICVz77yaJyVzJyIKK21zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgorbXNnc3RyICLlr7kgJXMg6LCD55SoIGZzdGF0IOWksei0pe+8miVzIgogCi0jOiBidWlsdGluL2djLmM6MTM5CisjOiBidWlsdGluL2djLmM6MzExCiAjLCBjLWZvcm1hdAotbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgotbXNnc3RyICLkuI3mraPluLjnmoTplb/lr7nosaHnm67lvZUgJS4qcyIKK21zZ2lkICJDYW4ndCBzdGF0ICVzIgorbXNnc3RyICLkuI3og73lr7kgJXMg6LCD55SoIHN0YXQiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyOTcKKyM6IGJ1aWx0aW4vZ2MuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBsYXN0IGdjIHJ1biByZXBvcnRlZCB0aGUgZm9sbG93aW5nLiBQbGVhc2UgY29ycmVjdCB0aGUgcm9vdCBjYXVzZVxuIgpAQCAtODEwNiwyOTcgKzg0MzMsMzIwIEBACiAiXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzQKKyM6IGJ1aWx0aW4vZ2MuYzozNTkKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAi5riF6Zmk5pyq5byV55So55qE5a+56LGhIgogCi0jOiBidWlsdGluL2djLmM6MzM2CisjOiBidWlsdGluL2djLmM6MzYxCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICLmm7TlvbvlupXvvIjlop7liqDov5DooYzml7bpl7TvvIkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzcKKyM6IGJ1aWx0aW4vZ2MuYzozNjIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICLlkK/nlKjoh6rliqjlnoPlnL7lm57mlLbmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozMzgKKyM6IGJ1aWx0aW4vZ2MuYzozNjMKIG1zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKIG1zZ3N0ciAi5by65Yi25omn6KGMIGdjIOWNs+S9v+WPpuWkluS4gOS4qiBnYyDmraPlnKjmiafooYwiCiAKICM6IGJ1aWx0aW4vZ2MuYzozODAKICMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGdjLmxvZ2V4cGlyeSB2YWx1ZSAlcyIKK21zZ3N0ciAi5peg5rOV6Kej5p6QIGdjLmxvZ2V4cGlyeSDnmoTlgLwgJXMiCisKKyM6IGJ1aWx0aW4vZ2MuYzo0MDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGluIGJhY2tncm91bmQgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIuiHquWKqOWcqOWQjuWPsOaJp+ihjOS7k+W6k+aJk+WMheS7peaxguacgOS9s+aAp+iDveOAglxuIgogCi0jOiBidWlsdGluL2djLmM6MzgyCisjOiBidWlsdGluL2djLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAi6Ieq5Yqo5omT5YyF5LuT5bqT5Lul5rGC5pyA5L2z5oCn6IO944CCXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzozODMKKyM6IGJ1aWx0aW4vZ2MuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAi5omL5bel57u05oqk5Y+C6KeBIFwiZ2l0IGhlbHAgZ2NcIuOAglxuIgogCi0jOiBidWlsdGluL2djLmM6NDA0CisjOiBidWlsdGluL2djLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgogbXNnc3RyICIiCiAi5bey57uP5pyJ5LiA5LiqIGdjIOato+i/kOihjOWcqOacuuWZqCAnJXMnIHBpZCAlPFBSSXVNQVg+77yI5aaC5p6c5LiN5piv77yM5L2/55SoIC0tZm9yY2XvvIkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NDgKKyM6IGJ1aWx0aW4vZ2MuYzo0ODAKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIuacieWkquWkmuS4jeWPr+i+vueahOadvuaVo+Wvueixoe+8jOi/kOihjCAnZ2l0IHBydW5lJyDliKDpmaTlroPku6zjgIIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI1CisjOiBidWlsdGluL2dyZXAuYzoyNwogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgWzzpgInpobk+XSBbLWVdIDzmqKHlvI8+IFs854mI5pysPi4uLl0gW1stLV0gPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXDvvJrml6Dms5XliJvlu7rnur/nqIvvvJolcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjkwCisjOiBidWlsdGluL2dyZXAuYzoyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgIuS4uiAlMiRzIOiuvuWumueahOe6v+eoi+aVsCAoJTEkZCkg5peg5pWIIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NjMgYnVpbHRpbi9ncmVwLmM6ODA0CisjLiBUUkFOU0xBVE9SUzogJXMgaXMgdGhlIGNvbmZpZ3VyYXRpb24KKyMuIHZhcmlhYmxlIGZvciB0d2Vha2luZyB0aHJlYWRzLCBjdXJyZW50bHkKKyMuIGdyZXAudGhyZWFkcworIy4KKyM6IGJ1aWx0aW4vZ3JlcC5jOjMwMiBidWlsdGluL2luZGV4LXBhY2suYzoxNDk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKK21zZ3N0ciAi5rKh5pyJ57q/56iL5pSv5oyB77yM5b+955WlICVzIgorCisjOiBidWlsdGluL2dyZXAuYzo3ODggYnVpbHRpbi9ncmVwLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W5qCR77yIJXPvvIkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyMworIzogYnVpbHRpbi9ncmVwLmM6ODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgIuaXoOazleaKk+WPluadpeiHquS6jiAlcyDnsbvlnovnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NworIzogYnVpbHRpbi9ncmVwLmM6OTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInN3aXRjaCBgJWMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgIuW8gOWFsyBgJWMnIOacn+acm+S4gOS4quaVsOWtl+WAvCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTczCisjOiBidWlsdGluL2dyZXAuYzo5OTkKIG1zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgogbXNnc3RyICLlnKjntKLlvJXljLrmkJzntKLogIzkuI3mmK/lnKjlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NQorIzogYnVpbHRpbi9ncmVwLmM6MTAwMQogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICLlnKjmnKrooqsgZ2l0IOeuoeeQhueahOWGheWuueS4reafpeaJviIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiBidWlsdGluL2dyZXAuYzo5NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDMKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuWcqOi3n+i4quWSjOacqui3n+i4queahOaWh+S7tuS4reaQnOe0oiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc5CisjOiBidWlsdGluL2dyZXAuYzoxMDA1CiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICLlv73nlaUgJy5naXRpZ25vcmUnIOWMheWQq+eahOaWh+S7tiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTgxCi1tc2dpZCAicmVjdXJzaXZsZXkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgorIzogYnVpbHRpbi9ncmVwLmM6MTAwNworbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKIG1zZ3N0ciAi5Zyo5q+P5LiA5Liq5a2Q5qih57uE5Lit6YCS5b2S5pCc57SiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDkKIG1zZ2lkICJiYXNlbmFtZSIKIG1zZ3N0ciAi5Z+65pys5ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo5ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTAKIG1zZ2lkICJwcmVwZW5kIHBhcmVudCBwcm9qZWN0J3MgYmFzZW5hbWUgdG8gb3V0cHV0IgogbXNnc3RyICLlnKjovpPlh7rkuK3ku6XniLbpobnnm67nmoTln7rmnKzlkI3kuLrliY3nvIAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4NworIzogYnVpbHRpbi9ncmVwLmM6MTAxMwogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLmmL7npLrmnKrljLnphY3nmoTooYwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk4OQorIzogYnVpbHRpbi9ncmVwLmM6MTAxNQogbXNnaWQgImNhc2UgaW5zZW5zaXRpdmUgbWF0Y2hpbmciCiBtc2dzdHIgIuS4jeWMuuWIhuWkp+Wwj+WGmeWMuemFjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTkxCisjOiBidWlsdGluL2dyZXAuYzoxMDE3CiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgIuWPquWcqOWNleivjei+ueeVjOWMuemFjeaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTkzCisjOiBidWlsdGluL2dyZXAuYzoxMDE5CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKIG1zZ3N0ciAi5oqK5LqM6L+b5Yi25paH5Lu25b2T5YGa5paH5pys5aSE55CGIgogCi0jOiBidWlsdGluL2dyZXAuYzo5OTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjEKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgIuS4jeWcqOS6jOi/m+WItuaWh+S7tuS4reWMuemFjeaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTk4CisjOiBidWlsdGluL2dyZXAuYzoxMDI0CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgogbXNnc3RyICLnlKggdGV4dGNvbnYg6L+H5ruk5Zmo5aSE55CG5LqM6L+b5Yi25paH5Lu2IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDAwCisjOiBidWlsdGluL2dyZXAuYzoxMDI2CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICLmnIDlpJrku6XmjIflrprnmoTmt7HluqblkJHkuIvlr7vmib4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzAKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi5L2/55So5omp5bGV55qEIFBPU0lYIOato+WImeihqOi+vuW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAwNworIzogYnVpbHRpbi9ncmVwLmM6MTAzMwogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAi5L2/55So5Z+65pys55qEIFBPU0lYIOato+WImeihqOi+vuW8j++8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMAorIzogYnVpbHRpbi9ncmVwLmM6MTAzNgogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICLmiormqKHlvI/op6PmnpDkuLrlm7rlrprnmoTlrZfnrKbkuLIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzkKIG1zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgIuS9v+eUqCBQZXJsIOWFvOWuueeahOato+WImeihqOi+vuW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxNgorIzogYnVpbHRpbi9ncmVwLmM6MTA0MgogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICLmmL7npLrooYzlj7ciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDMKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAi5LiN5pi+56S65paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDE4CisjOiBidWlsdGluL2dyZXAuYzoxMDQ0CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIuaYvuekuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMAorIzogYnVpbHRpbi9ncmVwLmM6MTA0NgogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIuaYvuekuuebuOWvueS6jumhtue6p+ebruW9leeahOaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMgorIzogYnVpbHRpbi9ncmVwLmM6MTA0OAogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi5Y+q5pi+56S65paH5Lu25ZCN6ICM5LiN5pi+56S65Yy56YWN55qE6KGMIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDI0CisjOiBidWlsdGluL2dyZXAuYzoxMDUwCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgIuWSjCAtLWZpbGVzLXdpdGgtbWF0Y2hlcyDlkIzkuYkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTMKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIuWPquaYvuekuuacquWMuemFjeeahOaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyOQorIzogYnVpbHRpbi9ncmVwLmM6MTA1NQogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgIuWcqOaWh+S7tuWQjeWQjui+k+WHuiBOVUwg5a2X56ymIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMxCisjOiBidWlsdGluL2dyZXAuYzoxMDU3CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi5pi+56S65oC75Yy56YWN6KGM5pWw77yM6ICM5LiN5pi+56S65Yy56YWN55qE6KGMIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDMyCisjOiBidWlsdGluL2dyZXAuYzoxMDU4CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgIumrmOS6ruaYvuekuuWMuemFjemhuSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAzNAorIzogYnVpbHRpbi9ncmVwLmM6MTA2MAogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICLlnKjkuI3lkIzmlofku7bnmoTljLnphY3pobnkuYvpl7TmiZPljbDnqbrooYwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjIKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICLlj6rlnKjlkIzkuIDmlofku7bnmoTljLnphY3pobnnmoTkuIrpnaLmmL7npLrkuIDmrKHmlofku7blkI0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjUKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAi5pi+56S65Yy56YWN6aG55YmN5ZCO55qEIDxuPiDooYzkuIrkuIvmlociCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjgKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLmmL7npLrljLnphY3pobnliY0gPG4+IOihjOS4iuS4i+aWhyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NAorIzogYnVpbHRpbi9ncmVwLmM6MTA3MAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAi5pi+56S65Yy56YWN6aG55ZCOIDxuPiDooYzkuIrkuIvmlociCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzIKIG1zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgogbXNnc3RyICLkvb/nlKggPG4+IOS4quW3peS9nOe6v+eoiyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NworIzogYnVpbHRpbi9ncmVwLmM6MTA3MwogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgIuW/q+aNt+mUriAtQyDmlbDlrZciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzYKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLlnKjljLnphY3nmoTliY3pnaLmmL7npLrkuIDooYzlh73mlbDlkI0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzgKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAi5pi+56S65omA5Zyo5Ye95pWw55qE5YmN5ZCO5YaF5a65IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU1CisjOiBidWlsdGluL2dyZXAuYzoxMDgxCiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgIuS7juaWh+S7tuivu+WPluaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NworIzogYnVpbHRpbi9ncmVwLmM6MTA4MwogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi5Yy56YWNIDzmqKHlvI8+IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU5CisjOiBidWlsdGluL2dyZXAuYzoxMDg1CiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAi57uE5ZCI55SoIC1lIOWPguaVsOiuvuWumueahOaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3MQorIzogYnVpbHRpbi9ncmVwLmM6MTA5NwogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLkuI3ovpPlh7rvvIzogIznlKjpgIDlh7rnoIHmoIfor4blkb3kuK3nirbmgIEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTkKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICLlj6rmmL7npLrljLnphY3miYDmnInmqKHlvI/nmoTmlofku7bkuK3nmoTljLnphY0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDEKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAi5pi+56S6IGdyZXAg6KGo6L6+5byP55qE6Kej5p6Q5qCRIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDc5CisjOiBidWlsdGluL2dyZXAuYzoxMTA1CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIuWIhumhtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA3OQorIzogYnVpbHRpbi9ncmVwLmM6MTEwNQogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICLliIbpobXmmL7npLrljLnphY3nmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMDgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgIuWFgeiuuOiwg+eUqCBncmVwKDEp77yI5pys5qyh5p6E5bu65b+955Wl77yJIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTQ2CisjOiBidWlsdGluL2dyZXAuYzoxMTcyCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgIuacquaPkOS+m+aooeW8j+WMuemFjeOAgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTE3OCBidWlsdGluL2luZGV4LXBhY2suYzoxNDgyCisjOiBidWlsdGluL2dyZXAuYzoxMjA0Cittc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMiCittc2dzdHIgIi0tbm8taW5kZXgg5oiWIC0tdW50cmFja2VkIOS4jeiDveWSjOeJiOacrOWQjOaXtuS9v+eUqCIKKworIzogYnVpbHRpbi9ncmVwLmM6MTIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCittc2dzdHIgIuS4jeiDveino+aekOeJiOacrO+8miVzIgorCisjOiBidWlsdGluL2dyZXAuYzoxMjQ1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAi5oyH5a6a55qE57q/56iL5pWw5peg5pWI77yIJWTvvIkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyMTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEyNTAKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAi5rKh5pyJ57q/56iL5pSv5oyB77yM5b+955WlIC0tdGhyZWFkcyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTI4MQogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIOS7heeUqOS6juW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTIzOAorIzogYnVpbHRpbi9ncmVwLmM6MTMwNAogbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMuIgogbXNnc3RyICLpgInpobnkuI3mlK/mjIHlkowgLS1yZWN1cnNlLXN1Ym1vZHVsZXMg5YWx55So44CCIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMjQ0CisjOiBidWlsdGluL2dyZXAuYzoxMzEwCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiLS1jYWNoZWQg5oiWIC0tdW50cmFja2VkIOS4jeiDveS4jiAtLW5vLWluZGV4IOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTI0OQotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiLS1uby1pbmRleCDmiJYgLS11bnRyYWNrZWQg5LiN6IO95ZKM54mI5pys5ZCM5pe25L2/55So44CCIgotCi0jOiBidWlsdGluL2dyZXAuYzoxMjUyCisjOiBidWlsdGluL2dyZXAuYzoxMzE2CiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCDkuI3og73nlKjkuo7lt7Lot5/ouKrlhoXlrrnjgIIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEyNjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEzMjQKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4uIgogbXNnc3RyICLlkIzml7bnu5nlh7rkuoYgLS1jYWNoZWQg5ZKM5qCR5a+56LGh44CCIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODEKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4MgogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaWxlPi4uLiIKQEAgLTg0MDQsOTEgKzg3NTQsOTEgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10IDznsbvlnos+XSBbLXddIFstLXBhdGg9POaWh+S7tj4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA85paH5Lu2Pi4uLiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjgyCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODMKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICLnsbvlnosiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgIuWvueixoeexu+WeiyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAi5bCG5a+56LGh5YaZ5YWl5a+56LGh5pWw5o2u5bqTIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5blr7nosaEiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAogbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgogbXNnc3RyICLljp/moLflrZjlgqjmlofku7bkuI3kvb/nlKjov4fmu6TlmagiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICLlhYHorrjlr7nku7vmhI/pmo/mnLrlnoPlnL7mlbDmja7lgZrmlaPliJfmnaXliJvlu7rmjZ/lnY/nmoTlr7nosaHku6Xkvr/osIPor5UgR2l0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgIuWkhOeQhuaWh+S7tuW5tuWBh+iuvuWFtuadpeiHquS6juatpOi3r+W+hCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzCiBtc2dpZCAicHJpbnQgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyIKIG1zZ3N0ciAi5omT5Y2w5omA5pyJ5Y+v55So55qE5ZG95LukIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MworIzogYnVpbHRpbi9oZWxwLmM6NDQKIG1zZ2lkICJleGNsdWRlIGd1aWRlcyIKIG1zZ3N0ciAi5o6S6Zmk5ZCR5a+8IgogCi0jOiBidWlsdGluL2hlbHAuYzo0NAorIzogYnVpbHRpbi9oZWxwLmM6NDUKIG1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCiBtc2dzdHIgIuaYvuekuuacieeUqOeahOaMh+WNl+WIl+ihqCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDUKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2CiBtc2dpZCAic2hvdyBtYW4gcGFnZSIKIG1zZ3N0ciAi5pi+56S6IG1hbiDmiYvlhowiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2CisjOiBidWlsdGluL2hlbHAuYzo0NwogbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgogbXNnc3RyICLlnKggd2ViIOa1j+iniOWZqOS4reaYvuekuuaJi+WGjCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5CiBtc2dpZCAic2hvdyBpbmZvIHBhZ2UiCiBtc2dzdHIgIuaYvuekuiBpbmZvIOaJi+WGjCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTQKKyM6IGJ1aWx0aW4vaGVscC5jOjU1CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPOWRveS7pD5dIgogCi0jOiBidWlsdGluL2hlbHAuYzo2NgorIzogYnVpbHRpbi9oZWxwLmM6NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCiBtc2dzdHIgIuacquiDveivhuWIq+eahOW4ruWKqeagvOW8jyAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzo5MworIzogYnVpbHRpbi9oZWxwLmM6OTQKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICLml6Dms5XlkK/liqggZW1hY3NjbGllbnTjgIIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNgorIzogYnVpbHRpbi9oZWxwLmM6MTA3CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICLml6Dms5Xop6PmnpAgZW1hY3NjbGllbnQg54mI5pys44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTQKKyM6IGJ1aWx0aW4vaGVscC5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJlbWFjc2NsaWVudCDniYjmnKwgJyVkJyDlpKrogIHvvIg8IDIy77yJ44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzIgYnVpbHRpbi9oZWxwLmM6MTUzIGJ1aWx0aW4vaGVscC5jOjE2MiBidWlsdGluL2hlbHAuYzoxNzAKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMyBidWlsdGluL2hlbHAuYzoxNTQgYnVpbHRpbi9oZWxwLmM6MTYzIGJ1aWx0aW4vaGVscC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICLml6Dms5XmiafooYwgJyVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjA3CisjOiBidWlsdGluL2hlbHAuYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC04NDk3LDcgKzg4NDcsNyBAQAogIiclcyfvvJrkuI3mlK/mjIHnmoQgbWFuIOaJi+WGjOafpeeci+WZqOeahOi3r+W+hOOAglxuIgogIuivt+S9v+eUqCAnbWFuLjzlt6Xlhbc+LmNtZCfjgIIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxOQorIzogYnVpbHRpbi9oZWxwLmM6MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtODUwNiw0MzUgKzg4NTYsNDM1IEBACiAiJyVzJzog5pSv5oyB55qEIG1hbiDmiYvlhozmn6XnnIvlmajlkb3ku6TjgIJcbiIKICLor7fkvb/nlKggJ21hbi485bel5YW3Pi5wYXRoJ+OAgiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzM2CisjOiBidWlsdGluL2hlbHAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiJyVzJ++8muacquefpeeahCBtYW4g5p+l55yL5Zmo44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTMKKyM6IGJ1aWx0aW4vaGVscC5jOjM1NAogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAi5rKh5pyJIG1hbiDmn6XnnIvlmajlpITnkIbmraTor7fmsYIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MQorIzogYnVpbHRpbi9oZWxwLmM6MzYyCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAi5rKh5pyJIGluZm8g5p+l55yL5Zmo5aSE55CG5q2k6K+35rGCIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNAogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIuWumuS5iei3r+W+hOeahOWxnuaApyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA0CisjOiBidWlsdGluL2hlbHAuYzo0MDUKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAi5q+P5LiA5aSpIEdpdCDluLjnlKjnmoTnuqYgMjAg5p2h5ZG95LukIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDUKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNgogbXNnaWQgIkEgR2l0IGdsb3NzYXJ5IgogbXNnc3RyICJHaXQg6K+N5rGH6KGoIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNwogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIuW/veeVpeaMh+WumueahOacqui3n+i4quaWh+S7tiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA3CisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAi5a6a5LmJ5a2Q5qih57uE5bGe5oCnIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOQogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAi5oyH5a6aIEdpdCDnmoTniYjmnKzlkozniYjmnKzojIPlm7QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOQorIzogYnVpbHRpbi9oZWxwLmM6NDEwCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IChmb3IgdmVyc2lvbiAxLjUuMSBvciBuZXdlcikiCiBtc2dzdHIgIuS4gOS4qiBHaXQg5pWZ56iL77yI6ZKI5a+5IDEuNS4xIOaIluabtOaWsOeJiOacrO+8iSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEwCisjOiBidWlsdGluL2hlbHAuYzo0MTEKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIkdpdCDmjqjojZDnmoTlt6XkvZzmtYHmpoLop4giCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyMgorIzogYnVpbHRpbi9oZWxwLmM6NDIzCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZTpcbiIKIG1zZ3N0ciAi5pyA5bi455So55qEIEdpdCDlkJHlr7zmnInvvJpcbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQwCisjOiBidWlsdGluL2hlbHAuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIgogbXNnc3RyICJgZ2l0ICVzJyDmmK8gYCVzJyDnmoTliKvlkI0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2MiBidWlsdGluL2hlbHAuYzo0NzkKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MyBidWlsdGluL2hlbHAuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzJXMiCiBtc2dzdHIgIueUqOazle+8miVzJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICLkuI3og73miZPlvIAgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICIlcyDnmoTlr7nosaHnsbvlnovkuI3ljLnphY0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgIuacquiDveiOt+WPlumihOacn+eahOWvueixoSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAi5a+56LGhICVz77ya5bqU5Li657G75Z6LICVz77yM5Y205pivICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAi5peg5rOV5aGr5YWFICVkIOWtl+iKgiIKIG1zZ3N0clsxXSAi5peg5rOV5aGr5YWFICVkIOWtl+iKgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgIui/h+aXqeeahOaWh+S7tue7k+adn+espu+8iEVPRu+8iSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODEKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICLovpPlhaXkuIrnmoTor7vplJnor68iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkzCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgIueUqOaOieS6hui2hei/h+WPr+eUqOeahOWtl+iKgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDAKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICLljIXlpKrlpKfotoXov4fkuoblvZPliY0gb2ZmX3Qg55qE5a6a5LmJIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkzCiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICLljIXotoXov4fkuobmnIDlpKflhYHorrjlgLwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu6ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIuaXoOazleaJk+W8gOWMheaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgogbXNnc3RyICLljIXnrb7lkI3kuI3ljLnphY0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgIuS4jeaUr+aMgeWMheeJiOacrCAlPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgogbXNnc3RyICLljIXkuK3mnInplJnor6/nmoTlr7nosaHkvY3kuo7lgY/np7vph48gJTxQUkl1TUFYPu+8miVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICLop6PljovnvKnov5Tlm54gJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI4CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAi5YGP56e75YC86KaG55uW5LqGIGRlbHRhIOWfuuWHhuWvueixoSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzYKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBpcyBvdXQgb2YgYm91bmQiCiBtc2dzdHIgImRlbHRhIOWfuuWHhuWBj+enu+i2iueVjCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAi5pyq55+l5a+56LGh57G75Z6LICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NQogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCiBtc2dzdHIgIuaXoOazleivu+WPluWMheaWh+S7tiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICLljIXmlofku7bov4fml6nnu5PmnZ/vvIznvLrlsJEgJTxQUkl1TUFYPiDlrZfoioIiCiBtc2dzdHJbMV0gIuWMheaWh+S7tui/h+aXqee7k+adn++8jOe8uuWwkSAlPFBSSXVNQVg+IOWtl+iKgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDMKIG1zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKIG1zZ3N0ciAi6Kej5Y6L57yp5Lil6YeN55qE5LiN5LiA6Ie0IgogCiAjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDggYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3NwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIuWPkeeOsCAlcyDlh7rnjrAgU0hBMSDlhrLnqoHvvIEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIuS4jeiDveivuyAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0IGluZm8gJXMiCittc2dzdHIgIuS4jeiDveivu+WPlueOsOWtmOWvueixoeS/oeaBryAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W546w5a2Y5a+56LGhICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICLml6DmlYjnmoTmlbDmja7lr7nosaEgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJXMiCiBtc2dzdHIgIuaXoOaViOeahCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTQKIG1zZ2lkICJFcnJvciBpbiBvYmplY3QiCiBtc2dzdHIgIuWvueixoeS4reWHuumUmSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIiVzIOeahOaJgOacieWtkOWvueixoeW5tumdnumDveWPr+i+viIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTI0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTI4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1OQogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAi5peg5rOV5bqU55SoIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTMwCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIuaOpeaUtuWvueixoeS4rSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzMAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIue0ouW8leWvueixoeS4rSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2NAogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAi5YyF5Yay56qB77yIU0hBMSDkuI3ljLnphY3vvIkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjkKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCi1tc2dzdHIgIuS4jeiDveaemuS4vuWMheaWh+S7tueKtuaAgSIKK21zZ3N0ciAi5LiN6IO95a+55YyF5paH5Lu26LCD55SoIGZzdGF0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcyCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICLljIXnmoTnu5PlsL7mnInlnoPlnL7mlbDmja4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODQKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJwYXJzZV9wYWNrX29iamVjdHMoKSDkuK3pgYfliLDkuI3lj6/nkIbllrvnmoTpl67popgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDcKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICLlpITnkIYgZGVsdGEg5LitIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjEwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu657q/56iL77yaJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjAKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICLkuI3lj6/nkIbllrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICLlrozmiJAgJWQg5Liq5pys5Zyw5a+56LGhIgogbXNnc3RyWzFdICLlrozmiJAgJWQg5Liq5pys5Zyw5a+56LGhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjcwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICLlr7kgJXMg55qE5bC+6YOo5qCh6aqM5Ye6546w5oSP5aSW77yI56OB55uY5o2f5Z2P77yf77yJIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICLljIXmnIkgJWQg5Liq5pyq6Kej5Yaz55qEIGRlbHRhIgogbXNnc3RyWzFdICLljIXmnIkgJWQg5Liq5pyq6Kej5Yaz55qEIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgogbXNnc3RyICLkuI3og73ljovnvKnpmYTliqDlr7nosaHvvIglZO+8iSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAi5pys5Zyw5a+56LGhICVzIOW3suaNn+WdjyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwOAogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICLlhbPpl63ljIXmlofku7bml7blh7rplJkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICLml6Dms5Xlhpnkv53nlZnmlofku7YgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5YWz6Zet5L+d55WZ5paH5Lu2ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzgKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICLml6Dms5XlrZjlgqjljIXmlofku7YiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDYKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5a2Y5YKo57Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgIuWdj+eahCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgotbXNnc3RyICLmsqHmnInnur/nqIvmlK/mjIHvvIzlv73nlaUgJXMiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIuaXoOazleaJk+W8gOeOsOWtmOWMheaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIuaXoOazleS4uiAlcyDmiZPlvIDljIXntKLlvJXmlofku7YiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAi6Z2eIGRlbHRh77yaJWQg5Liq5a+56LGhIgogbXNnc3RyWzFdICLpnZ4gZGVsdGHvvJolZCDkuKrlr7nosaEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAi6ZO+6ZW/ID0gJWQ6ICVsdSDlr7nosaEiCiBtc2dzdHJbMV0gIumTvumVvyA9ICVkOiAlbHUg5a+56LGhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICLljIXmlofku7blkI0gJyVzJyDmsqHmnInku6UgJy5wYWNrJyDnu5PlsL4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5OAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIumUmeivr+mAiemhuSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MwogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIOS4jeiDveWSjCAtLXN0ZGluIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NQogbXNnaWQgIi0tc3RkaW4gcmVxdWlyZXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1zdGRpbiDpnIDopoHkuIDkuKogZ2l0IOS7k+W6kyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1MwogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkg5rKh5pyJ5o+Q5L6b5YyF5paH5Lu25ZCN5Y+C5pWwIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKLW1zZ3N0ciAi5LiN6IO95p6a5Li+ICclcycg54q25oCBIgorbXNnc3RyICLkuI3og73lr7kgJyVzJyDosIPnlKggc3RhdCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCi1tc2dzdHIgIuS4jeiDveaemuS4vuaooeeJiCAnJXMnIOeKtuaAgSIKK21zZ3N0ciAi5LiN6IO95a+55qih54mIICclcycg6LCD55SoIHN0YXQiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CisjOiBidWlsdGluL2luaXQtZGIuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbmRpciAnJXMnIgogbXNnc3RyICLkuI3og73miZPlvIDnm67lvZUgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgogbXNnc3RyICLkuI3og73or7vlj5bpk77mjqUgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96IeqICclcycg5YiwICclcycg5Yib5bu656ym5Y+36ZO+5o6lIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NAorIzogYnVpbHRpbi9pbml0LWRiLmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICLkuI3og73mi7fotJ0gJyVzJyDoh7MgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgogbXNnc3RyICLlv73nlaXmqKHniYggJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExOQorIzogYnVpbHRpbi9pbml0LWRiLmM6MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCiBtc2dzdHIgIuaooeeJiOacquaJvuWIsCAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTM0CisjOiBidWlsdGluL2luaXQtZGIuYzoxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIGZyb20gJyVzJzogJXMiCiBtc2dzdHIgIuayoeacieS7jiAnJXMnIOWkjeWItuaooeeJiO+8miVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMjcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAi5LiN6IO95aSE55CGICVkIOexu+Wei+eahOaWh+S7tiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzMwCisjOiBidWlsdGluL2luaXQtZGIuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIuS4jeiDveenu+WKqCAlcyDoh7MgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OCBidWlsdGluL2luaXQtZGIuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzIOW3sue7j+WtmOWcqCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDAzCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLph43mlrDliJ3lp4vljJblt7LlrZjlnKjnmoTlhbHkuqsgR2l0IOS7k+W6k+S6jiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLph43mlrDliJ3lp4vljJblt7LlrZjlnKjnmoQgR2l0IOS7k+W6k+S6jiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIuW3suWIneWni+WMluepuueahOWFseS6qyBHaXQg5LuT5bqT5LqOICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLlt7LliJ3lp4vljJbnqbrnmoQgR2l0IOS7k+W6k+S6jiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1NworIzogYnVpbHRpbi9pbml0LWRiLmM6NDU4CiBtc2dpZCAiIgogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxkaXJlY3Rvcnk+XSIKQEAgLTg5NDIsMzIgKzkyOTIsMzIgQEAKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT085qih5p2/55uu5b2VPl0gWy0tc2hhcmVkWz085p2D6ZmQPl1dICIKICJbPOebruW9lT5dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICLmnYPpmZAiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICLmjIflrpogZ2l0IOS7k+W6k+aYr+WkmuS4queUqOaIt+S5i+mXtOWFseS6q+eahCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE1IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTE2IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgIuS4jeiDveWIm+W7uuebruW9lSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI0CisjOiBidWlsdGluL2luaXQtZGIuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICLkuI3og73liIfmjaLnm67lvZXliLAgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlcyAob3IgLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vdCBhbGxvd2VkIHdpdGhvdXQgc3BlY2lmeWluZyAlcyAob3IgLS1naXQtIgogImRpcj08ZGlyZWN0b3J5PikiCiBtc2dzdHIgIuS4jeWFgeiuuCAlc++8iOaIliAtLXdvcmstdHJlZT0855uu5b2VPu+8ieiAjOayoeacieaMh+WumiAlc++8iOaIliAtLWdpdC1kaXI9POebruW9lT7vvIkiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3MworIzogYnVpbHRpbi9pbml0LWRiLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgIuS4jeiDveiuv+mXruW3peS9nOWMuiAnJXMnIgpAQCAtOTAwMCwxMTIgKzkzNTAsMTEyIEBACiBtc2dpZCAibm8gaW5wdXQgZmlsZSBnaXZlbiBmb3IgaW4tcGxhY2UgZWRpdGluZyIKIG1zZ3N0ciAi5rKh5pyJ57uZ5Ye66KaB5Y6f5L2N57yW6L6R55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPOmAiemhuT5dIFs854mI5pys6IyD5Zu0Pl0gW1stLV0gPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL2xvZy5jOjQ1CisjOiBidWlsdGluL2xvZy5jOjQ2CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs86YCJ6aG5Pl0gPOWvueixoT4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODQKKyM6IGJ1aWx0aW4vbG9nLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIuaXoOaViOeahCAtLWRlY29yYXRlIOmAiemhue+8miVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOQorIzogYnVpbHRpbi9sb2cuYzoxNDcKIG1zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAi5LiN5pi+56S65beu5byC6L6T5Ye6IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDgKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAi5pi+56S65rqQIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MQorIzogYnVpbHRpbi9sb2cuYzoxNDkKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKIG1zZ3N0ciAi5L2/55So6YKu5Lu25pig5bCE5paH5Lu2IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MgorIzogYnVpbHRpbi9sb2cuYzoxNTAKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICLkv67ppbDpgInpobkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1CisjOiBidWlsdGluL2xvZy5jOjE1MwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICLlpITnkIbmlofku7bkuK3nrKwgbiDliLAgbSDkuYvpl7TnmoTooYzvvIzku44gMSDlvIDlp4siCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjQxCisjOiBidWlsdGluL2xvZy5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIuacgOe7iOi+k+WHuu+8miVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDg2CisjOiBidWlsdGluL2xvZy5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiDmjZ/lnY/nmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CisjOiBidWlsdGluL2xvZy5jOjUxMiBidWlsdGluL2xvZy5jOjYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIuS4jeiDveivu+WPluWvueixoSAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo2MTgKKyM6IGJ1aWx0aW4vbG9nLmM6NjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIuacquefpeexu+Wei++8miVkIgogCi0jOiBidWlsdGluL2xvZy5jOjczOQorIzogYnVpbHRpbi9sb2cuYzo3NTEKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICJmb3JtYXQuaGVhZGVycyDmsqHmnInlgLwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODM5CisjOiBidWlsdGluL2xvZy5jOjg1MgogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAi6L6T5Ye655uu5b2V5ZCN5aSq6ZW/IgogCi0jOiBidWlsdGluL2xvZy5jOjg1NAorIzogYnVpbHRpbi9sb2cuYzo4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAi5peg5rOV5omT5byA6KGl5LiB5paH5Lu2ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjg2OAorIzogYnVpbHRpbi9sb2cuYzo4ODUKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKIG1zZ3N0ciAi5Y+q6ZyA6KaB5LiA5Liq6IyD5Zu044CCIgogCi0jOiBidWlsdGluL2xvZy5jOjg3OAorIzogYnVpbHRpbi9sb2cuYzo4OTUKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgIuS4jeaYr+S4gOS4quiMg+WbtOOAgiIKIAotIzogYnVpbHRpbi9sb2cuYzo5ODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTAwMQogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIuS/oeWwgemcgOimgemCruS7tuWcsOWdgOagvOW8jyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDYzCisjOiBidWlsdGluL2xvZy5jOjEwODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAi5LiN5q2j5bi455qEIGluLXJlcGx5LXRv77yaJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA5MQorIzogYnVpbHRpbi9sb2cuYzoxMTA4CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs86YCJ6aG5Pl0gWzzku44+IHwgPOeJiOacrOiMg+WbtD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTE1OAogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICLkuKTkuKrovpPlh7rnm67lvZXvvJ8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0OCBidWlsdGluL2xvZy5jOjE4OTEgYnVpbHRpbi9sb2cuYzoxODkzIGJ1aWx0aW4vbG9nLmM6MTkwNQorIzogYnVpbHRpbi9sb2cuYzoxMjY1IGJ1aWx0aW4vbG9nLmM6MTkwOCBidWlsdGluL2xvZy5jOjE5MTAgYnVpbHRpbi9sb2cuYzoxOTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICLmnKrnn6Xmj5DkuqQgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDc2CisjOiBidWlsdGluL2xvZy5jOjEyNzUgYnVpbHRpbi9ub3Rlcy5jOjg4NiBidWlsdGluL3RhZy5jOjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi5peg5rOV6Kej5p6QICclcycg5Li65LiA5Liq5pyJ5pWI5byV55So44CCIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4MAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICLkuI3og73mib7liLDlh4bnoa7nmoTlkIjlubbln7rnur/jgIIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2NworIzogYnVpbHRpbi9sb2cuYzoxMjg0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgogInBsZWFzZSB1c2UgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byB0byB0cmFjayBhIHJlbW90ZSBicmFuY2guXG4iCkBAIC05MTE1LDMxNSArOTQ2NSwzMjAgQEAKICJnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIOadpei3n+i4quS4gOS4qui/nOeoi+WIhuaUr+OAguaIluiAheS9oOWPr+S7pemAmui/h1xuIgogIuWPguaVsCAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiDmiYvliqjmjIflrprkuIDkuKrln7rnur/mj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI4NworIzogYnVpbHRpbi9sb2cuYzoxMzA0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAi5peg5rOV5om+5Yiw5YeG56Gu55qE5ZCI5bm25Z+657q/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyOTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxNQogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAi5Z+657q/5o+Q5Lqk5bqU6K+l5piv54mI5pys5YiX6KGo55qE56WW5YWIIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxOQogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICLln7rnur/mj5DkuqTkuI3lupTor6Xlh7rnjrDlnKjniYjmnKzliJfooajkuK0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM1MQorIzogYnVpbHRpbi9sb2cuYzoxMzY4CiBtc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKIG1zZ3N0ciAi5peg5rOV5b6X5Yiw6KGl5LiBIGlkIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIuS9v+eUqCBbUEFUQ0ggbi9tXe+8jOWNs+S9v+WPquacieS4gOS4quihpeS4gSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0MjgKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAi5L2/55SoIFtQQVRDSF3vvIzljbPkvb/mnInlpJrkuKrooaXkuIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDMyCiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgIuaJk+WNsOihpeS4geWIsOagh+WHhui+k+WHuiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE3CisjOiBidWlsdGluL2xvZy5jOjE0MzQKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAi55Sf5oiQ5LiA5bCB6ZmE5L+hIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNgogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAi5L2/55So566A5Y2V55qE5pWw5a2X5bqP5YiX5L2c5Li66L6T5Ye65paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNwogbXNnaWQgInNmeCIKIG1zZ3N0ciAi5ZCO57yAIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOAogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICLkvb/nlKggPOWQjue8gD4g5Luj5pu/ICcucGF0Y2gnIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgIuihpeS4geS7pSA8bj4g5byA5aeL57yW5Y+377yM6ICM5LiN5pivMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI1CisjOiBidWlsdGluL2xvZy5jOjE0NDIKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIuagh+iusOihpeS4geezu+WIl+aYr+esrOWHoOasoemHjeWItiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI3CisjOiBidWlsdGluL2xvZy5jOjE0NDQKIG1zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICLkvb/nlKggW1JGQyBQQVRDSF0g5Luj5pu/IFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMAorIzogYnVpbHRpbi9sb2cuYzoxNDQ3CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICLkvb/nlKggWzzliY3nvIA+XSDku6Pmm78gW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgIuaKiue7k+aenOaWh+S7tuWtmOWCqOWcqCA855uu5b2VPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM2CisjOiBidWlsdGluL2xvZy5jOjE0NTMKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAi5LiN5Yig6ZmkL+a3u+WKoCBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NgogbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCiBtc2dzdHIgIuS4jei+k+WHuuS6jOi/m+WItuW3ruW8giIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQxCisjOiBidWlsdGluL2xvZy5jOjE0NTgKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAi5ZyoIEZyb20g5aS05L+h5oGv5Lit6L6T5Ye65YWo5Li66Zu255qE5ZOI5biM5YC8IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MAogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAi5LiN5YyF5ZCr5bey5Zyo5LiK5ri45o+Q5Lqk5Lit55qE6KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MgogbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKIG1zZ3N0ciAi5pi+56S657qv6KGl5LiB5qC85byP6ICM6Z2e6buY6K6k55qE77yI6KGl5LiBK+eKtuaAge+8iSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ3CisjOiBidWlsdGluL2xvZy5jOjE0NjQKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgIumCruS7tuWPkemAgSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ4CisjOiBidWlsdGluL2xvZy5jOjE0NjUKIG1zZ2lkICJoZWFkZXIiCiBtc2dzdHIgImhlYWRlciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQ5CisjOiBidWlsdGluL2xvZy5jOjE0NjYKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICLmt7vliqDpgq7ku7blpLQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1MCBidWlsdGluL2xvZy5jOjE0NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NyBidWlsdGluL2xvZy5jOjE0NjkKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAi6YKu5Lu25Zyw5Z2AIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICLmt7vliqDmlLbku7bkuroiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1MgorIzogYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgIua3u+WKoOaKhOmAgSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU0CisjOiBidWlsdGluL2xvZy5jOjE0NzEKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAi5qCH6K+GIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIuWwhiBGcm9tIOWcsOWdgOiuvue9ruS4uiA85qCH6K+GPu+8iOWmguiLpeS4jeaPkOS+m++8jOWImeeUqOaPkOS6pOiAhSBJRCDlgZrkuLrlnLDlnYDvvIkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1NworIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAi6YKu5Lu25qCH6K+GIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NQogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAi5L2/56ys5LiA5bCB6YKu5Lu25L2c5Li65a+5IDzpgq7ku7bmoIfor4Y+IOeahOWbnuWkjSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU5IGJ1aWx0aW4vbG9nLmM6MTQ2MgorIzogYnVpbHRpbi9sb2cuYzoxNDc2IGJ1aWx0aW4vbG9nLmM6MTQ3OQogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICLovrnnlYwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MAorIzogYnVpbHRpbi9sb2cuYzoxNDc3CiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAi6ZmE5Lu25pa55byP5re75Yqg6KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4MAogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgIuWGheiBlOaYvuekuuihpeS4gSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDY3CisjOiBidWlsdGluL2xvZy5jOjE0ODQKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAi5ZCv55So6YKu5Lu257q/57Si77yM6aOO5qC877ya5rWF77yM5rexIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NgogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAi562+5ZCNIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4NwogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAi5re75Yqg5LiA5Liq562+5ZCNIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4OAogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICLln7rnur/mj5DkuqQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgorIzogYnVpbHRpbi9sb2cuYzoxNDg5CiBtc2dpZCAiYWRkIHByZXJlcXVpc2l0ZSB0cmVlIGluZm8gdG8gdGhlIHBhdGNoIHNlcmllcyIKIG1zZ3N0ciAi5Li66KGl5LiB5YiX6KGo5re75Yqg5YmN572u5qCR5L+h5oGvIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5MQogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAi5LuO5paH5Lu25re75Yqg5LiA5Liq562+5ZCNIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ5MgogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgIuS4jeimgeaJk+WNsOihpeS4geaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKK21zZ3N0ciAi5YyF5ZCr5peg5pWI55qE6Lqr5Lu95qCH6K+G77yaJXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4MgogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLW4g5ZKMIC1rIOS6kuaWpeOAgiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjOiBidWlsdGluL2xvZy5jOjE1ODQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyDlkowgLWsg5LqS5pal44CCIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MgogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IOaXoOaEj+S5iSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc3CisjOiBidWlsdGluL2xvZy5jOjE1OTQKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMg5peg5oSP5LmJIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NgogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1jaGVjayDml6DmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYwOQorIzogYnVpbHRpbi9sb2cuYzoxNjI2CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIuagh+WHhui+k+WHuuaIluebruW9le+8jOWTquS4gOS4qu+8nyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjExCisjOiBidWlsdGluL2xvZy5jOjE2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu655uu5b2VICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcwNQorIzogYnVpbHRpbi9sb2cuYzoxNzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCiBtc2dzdHIgIuaXoOazleivu+WPluetvuWQjeaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5NAogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICLml6Dms5XliJvlu7rovpPlh7rmlofku7YiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNgorIzogYnVpbHRpbi9sb2cuYzoxODQzCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPOS4iua4uD4gWzzlpLQ+IFs86ZmQ5Yi2Pl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODgwCisjOiBidWlsdGluL2xvZy5jOjE4OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgogbXNnc3RyICLkuI3og73mib7liLDot5/ouKrnmoTov5znqIvliIbmlK/vvIzor7fmiYvlt6XmjIflrpogPOS4iua4uD7jgIJcbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs86YCJ6aG5Pl0gWzzmlofku7Y+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgIueUqOagh+etvuagh+ivhuaWh+S7tueahOeKtuaAgSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICLkvb/nlKjlsI/lhpnlrZfmr43ooajnpLogJ+WBh+iuvuacquaUueWPmOeahCcg5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTEzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIxCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgIuaYvuekuue8k+WtmOeahOaWh+S7tu+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMwogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLmmL7npLrlt7LliKDpmaTnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjUKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuW3suS/ruaUueeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNwogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi5pi+56S65YW25a6D5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTIxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI5CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuW/veeVpeeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLmmL7npLrmmoLlrZjljLrlhoXlrrnnmoTlr7nosaHlkI3np7AiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzQKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICLmmL7npLrmlofku7bns7vnu5/pnIDopoHliKDpmaTnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgIuWPquaYvuekuuKAnOWFtuS7luKAneebruW9leeahOWQjeensCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOAogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICLmmL7npLrmlofku7bmjaLooYznrKbmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICLkuI3mmL7npLrnqbrnm67lvZUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuacquWQiOW5tueahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICLmmL7npLogcmVzb2x2ZS11bmRvIOS/oeaBryIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAi5Yy56YWN5o6S6Zmk5paH5Lu255qE5qih5byPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAi5LuOIDzmlofku7Y+IOS4reivu+WPluaOkumZpOaooeW8jyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MwogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICLku44gPOaWh+S7tj4g6K+75Y+W6aKd5aSW55qE5q+P5Liq55uu5b2V55qE5o6S6Zmk5qih5byPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAi5re75Yqg5qCH5YeG55qEIGdpdCDmjpLpmaQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTgKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi5pi+56S655u45a+55LqO6aG257qn55uu5b2V55qE5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYxCiBtc2dpZCAicmVjdXJzZSB0aHJvdWdoIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuWcqOWtkOaooee7hOS4remAkuW9kiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MwogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAi5aaC5p6c5Lu75L2VIDzmlofku7Y+IOmDveS4jeWcqOe0ouW8leWMuu+8jOinhuS4uumUmeivryIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInRyZWUtaXNoIgogbXNnc3RyICLmoJHmiJbmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjUKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICLlgYfoo4Xoh6rku44gPOagkeaIluaPkOS6pD4g5LmL5ZCO5Yig6Zmk55qE6Lev5b6E5LuN54S25a2Y5ZyoIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY3CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAi5pi+56S66LCD6K+V5pWw5o2uIgogCkBAIC05NDM3LDg1ICs5NzkyLDg2IEBACiAiICAgICAgICAgICAgICAgICAgICAgWy1xIHwgLS1xdWlldF0gWy0tZXhpdC1jb2RlXSBbLS1nZXQtdXJsXVxuIgogIiAgICAgICAgICAgICAgICAgICAgIFstLXN5bXJlZl0gWzzku5PlupM+IFs85byV55SoPi4uLl1dIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjUwCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjUyCiBtc2dpZCAiZG8gbm90IHByaW50IHJlbW90ZSBVUkwiCiBtc2dzdHIgIuS4jeaJk+WNsOi/nOeoiyBVUkwiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTEgYnVpbHRpbi9scy1yZW1vdGUuYzo1MworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MyBidWlsdGluL2xzLXJlbW90ZS5jOjU1CiBtc2dpZCAiZXhlYyIKIG1zZ3N0ciAiZXhlYyIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1MiBidWlsdGluL2xzLXJlbW90ZS5jOjU0CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTYKIG1zZ2lkICJwYXRoIG9mIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIGhvc3QiCiBtc2dzdHIgIui/nOeoi+S4u+acuuS4iueahCBnaXQtdXBsb2FkLXBhY2sg6Lev5b6EIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU2CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU4CiBtc2dpZCAibGltaXQgdG8gdGFncyIKIG1zZ3N0ciAi5LuF6ZmQ5LqO5qCH562+IgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjU3CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjU5CiBtc2dpZCAibGltaXQgdG8gaGVhZHMiCiBtc2dzdHIgIuS7hemZkOS6juWIhuaUryIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MAogbXNnaWQgImRvIG5vdCBzaG93IHBlZWxlZCB0YWdzIgogbXNnc3RyICLkuI3mmL7npLrlt7Lop6PmnpDnmoTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKIG1zZ2lkICJ0YWtlIHVybC48YmFzZT4uaW5zdGVhZE9mIGludG8gYWNjb3VudCIKIG1zZ3N0ciAi5Y+C6ICDIHVybC48YmFzZT4uaW5zdGVhZE9mIOiuvue9riIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NAogbXNnaWQgImV4aXQgd2l0aCBleGl0IGNvZGUgMiBpZiBubyBtYXRjaGluZyByZWZzIGFyZSBmb3VuZCIKIG1zZ3N0ciAi6Iul5pyq5om+5Yiw5Yy56YWN55qE5byV55So5YiZ5Lul6YCA5Ye656CBMumAgOWHuiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NAorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NgogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgogbXNnc3RyICLpmaTkuobmmL7npLrmjIflkJHnmoTlr7nosaHlpJbvvIzmmL7npLrmjIflkJHnmoTlvJXnlKjlkI0iCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjI4CisjOiBidWlsdGluL2xzLXRyZWUuYzoyOQogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBscy10cmVlIFs86YCJ6aG5Pl0gPOagkeaIluaPkOS6pD4gWzzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI2CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjcKIG1zZ2lkICJvbmx5IHNob3cgdHJlZXMiCiBtc2dzdHIgIuWPquaYvuekuuagkSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTI4CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMjkKIG1zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCiBtc2dzdHIgIumAkuW9kuWIsOWtkOagkSIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTMwCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzEKIG1zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgogbXNnc3RyICLlvZPpgJLlvZLml7bmmL7npLrmoJEiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMworIzogYnVpbHRpbi9scy10cmVlLmM6MTM0CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAi5p2h55uu5LulIE5VTCDlrZfnrKbnu4jmraIiCiAKLSM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9scy10cmVlLmM6MTM1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAi5YyF5ous5a+56LGh5aSn5bCPIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxMzYgYnVpbHRpbi9scy10cmVlLmM6MTM4CisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzcgYnVpbHRpbi9scy10cmVlLmM6MTM5CiBtc2dpZCAibGlzdCBvbmx5IGZpbGVuYW1lcyIKIG1zZ3N0ciAi5Y+q5YiX5Ye65paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2xzLXRyZWUuYzoxNDEKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MgogbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCiBtc2dzdHIgIuS9v+eUqOaWh+S7tueahOWFqOi3r+W+hCIKIAotIzogYnVpbHRpbi9scy10cmVlLmM6MTQzCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDQKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgIuWIl+WHuuaVtOS4quagke+8m+S4jeS7heS7heW9k+WJjeebruW9le+8iOmakOWQqyAtLWZ1bGwtbmFtZe+8iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ2Ci1tc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCi1tc2dzdHIgImdpdCBtZXJnZSBbPOmAiemhuT5dIFs85o+Q5LqkPi4uLl0iCisjOiBidWlsdGluL21haWxzcGxpdC5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBtYm94OiAnJXMnIgorbXNnc3RyICLnqbrnmoQgbWJveO+8miclcyciCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzo0NwotbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgotbXNnc3RyICJnaXQgbWVyZ2UgWzzpgInpobk+XSA86K+05piOPiBIRUFEIDzmj5DkuqQ+IgorbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgorbXNnc3RyICJnaXQgbWVyZ2UgWzzpgInpobk+XSBbPOaPkOS6pD4uLi5dIgogCiAjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKQEAgLTk1NDQsMzEgKzk5MDAsMzEgQEAKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi5Y+v55So55qE6Ieq5a6a5LmJ562W55Wl5pyJ77yaIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyNworIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMzQKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLlnKjlkIjlubbnmoTmnIDlkI7kuI3mmL7npLrlt67lvILnu5/orqEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTMwCisjOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNwogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAi5Zyo5ZCI5bm255qE5pyA5ZCO5pi+56S65beu5byC57uf6K6hIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjEzMworIzogYnVpbHRpbi9tZXJnZS5jOjIwMSBidWlsdGluL3B1bGwuYzoxNDAKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICLvvIjlkowgLS1zdGF0IOWQjOS5ie+8iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTQzCiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLlnKjlkIjlubbmj5DkuqTkv6Hmga/kuK3mt7vliqDvvIjmnIDlpJogPG4+IOadoe+8ieeyvueugOaPkOS6pOiusOW9lSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQ2CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgIuWIm+W7uuS4gOS4quWNleeLrOeahOaPkOS6pOiAjOS4jeaYr+WBmuS4gOasoeWQiOW5tiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDggYnVpbHRpbi9wdWxsLmM6MTQ5CiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICLlpoLmnpzlkIjlubbmiJDlip/vvIzmiafooYzkuIDmrKHmj5DkuqTvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTQ1CisjOiBidWlsdGluL21lcmdlLmM6MjEwIGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAi5Zyo5o+Q5Lqk5YmN57yW6L6R5o+Q5Lqk6K+05piOIgogCkBAIC05NTc2LDI4ICs5OTMyLDI4IEBACiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAi5YWB6K645b+r6L+b77yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEzIGJ1aWx0aW4vcHVsbC5jOjE1MQorIzogYnVpbHRpbi9tZXJnZS5jOjIxMyBidWlsdGluL3B1bGwuYzoxNTgKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICLlpoLmnpzkuI3og73lv6vov5vlsLHmlL7lvIPlkIjlubYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU0CisjOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE2MQogbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAi6aqM6K+B5oyH5a6a55qE5o+Q5Lqk5piv5ZCm5YyF5ZCr5LiA5Liq5pyJ5pWI55qEIEdQRyDnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjc3NCBidWlsdGluL3B1bGwuYzoxNTgKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjc3NiBidWlsdGluL3B1bGwuYzoxNjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgIuetlueVpSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTY2CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICLopoHkvb/nlKjnmoTlkIjlubbnrZbnlaUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9wdWxsLmM6MTYyCisjOiBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vcHVsbC5jOjE2OQogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAib3B0aW9uPXZhbHVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIxIGJ1aWx0aW4vcHVsbC5jOjE2MworIzogYnVpbHRpbi9tZXJnZS5jOjIyMSBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLmiYDpgInnmoTlkIjlubbnrZbnlaXnmoTpgInpobkiCiAKQEAgLTk2MTMsMTcgKzk5NjksMTcgQEAKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAi57un57ut5b2T5YmN5q2j5Zyo6L+b6KGM55qE5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjMxIGJ1aWx0aW4vcHVsbC5jOjE3MAorIzogYnVpbHRpbi9tZXJnZS5jOjIzMSBidWlsdGluL3B1bGwuYzoxNzcKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIuWFgeiuuOWQiOW5tuS4jeebuOWFs+eahOWOhuWPsiIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjI1OQogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgotbXNnc3RyICLkuI3og73ov5vooYzov5vluqbkv53lrZjjgIIiCittc2dzdHIgIuS4jeiDvei/kOihjOi0ruiXj+OAgiIKIAogIzogYnVpbHRpbi9tZXJnZS5jOjI2NAogbXNnaWQgInN0YXNoIGZhaWxlZCIKLW1zZ3N0ciAi6L+b5bqm5L+d5a2Y5aSx6LSlIgorbXNnc3RyICLotK7ol4/lpLHotKUiCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkKICMsIGMtZm9ybWF0CkBAIC05NjU5LDMxICsxMDAxNSwzMSBAQAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIuWdj+eahCBicmFuY2guJXMubWVyZ2VvcHRpb25zIOWtl+espuS4su+8miVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjU2CisjOiBidWlsdGluL21lcmdlLmM6NjU3CiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAi5pyq5aSE55CG5Lik5Liq5aS05ZCI5bm25LmL5aSW55qE5Lu75L2V5pON5L2c44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjcwCisjOiBidWlsdGluL21lcmdlLmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgIm1lcmdlLXJlY3Vyc2l2ZSDnmoTmnKrnn6XpgInpobnvvJotWCVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njg1CisjOiBidWlsdGluL21lcmdlLmM6Njg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKIG1zZ3N0ciAi5LiN6IO95YaZICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzM3CisjOiBidWlsdGluL21lcmdlLmM6NzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95LuOICclcycg6K+75Y+WIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzQ2CisjOiBidWlsdGluL21lcmdlLmM6NzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAi5pyq5o+Q5Lqk5ZCI5bm277yM5L2/55SoICdnaXQgY29tbWl0JyDlrozmiJDmraTmrKHlkIjlubbjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc1MgorIzogYnVpbHRpbi9tZXJnZS5jOjc1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCkBAIC05Njk3LDc4ICsxMDA1Myw2OCBAQAogIlxuIgogIuS7pSAnJWMnIOW8gOWktOeahOihjOWwhuiiq+W/veeVpe+8jOiAjOS4lOepuuaPkOS6pOivtOaYjuWwhuS8mue7iOatouaPkOS6pOOAglxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6Nzc3CiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICLnqbrmj5DkuqTkv6Hmga/jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICLlpKrmo5LkuobjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg1MQorIzogYnVpbHRpbi9tZXJnZS5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICLoh6rliqjlkIjlubblpLHotKXvvIzkv67mraPlhrLnqoHnhLblkI7mj5DkuqTkv67mraPnmoTnu5PmnpzjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg2NwotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKLW1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmj5DkuqQiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODkKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIuayoeacieW9k+WJjeWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkxMAorIzogYnVpbHRpbi9tZXJnZS5jOjg5MQogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSv5rKh5pyJ5a+55bqU55qE6L+c56iL5LuT5bqT44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTEyCisjOiBidWlsdGluL21lcmdlLmM6ODkzCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLlvZPliY3liIbmlK/msqHmnInlrprkuYnpu5jorqTnmoTkuIrmuLjliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAi5a+55LqOICVzIOayoeacieadpeiHqiAlcyDnmoTov5znqIvot5/ouKrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKIG1zZ3N0ciAi546v5aKDICclMiRzJyDkuK3lrZjlnKjlnY/nmoTlj5blgLwgJyUxJHMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKLW1zZ3N0ciAi5LiN6IO95YWz6ZetICclcyciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDY1CisjOiBidWlsdGluL21lcmdlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgIuS4jeiDveWcqCAlcyDkuK3lkIjlubbvvJolcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIuS4jeiDveWQiOW5tiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ1CiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1hYm9ydCDkuI3luKblj4LmlbAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTcxCisjOiBidWlsdGluL21lcmdlLmM6MTE0OQogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAi5rKh5pyJ6KaB57uI5q2i55qE5ZCI5bm277yITUVSR0VfSEVBRCDkuKLlpLHvvInjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgzCisjOiBidWlsdGluL21lcmdlLmM6MTE2MQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUg5LiN5bim5Y+C5pWwIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE4NworIzogYnVpbHRpbi9tZXJnZS5jOjExNjUKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIuayoeaciei/m+ihjOS4reeahOWQiOW5tu+8iE1FUkdFX0hFQUQg5Lii5aSx77yJ44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIwMworIzogYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtOTc3Niw3ICsxMDEyMiw3IEBACiAi5oKo5bCa5pyq57uT5p2f5oKo55qE5ZCI5bm277yI5a2Y5ZyoIE1FUkdFX0hFQUTvvInjgIJcbiIKICLor7flnKjlkIjlubbliY3lhYjmj5DkuqTmgqjnmoTkv67mlLnjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjEwCisjOiBidWlsdGluL21lcmdlLmM6MTE4OAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC05Nzg0LDE1NyArMTAxMzAsMTU3IEBACiAi5oKo5bCa5pyq57uT5p2f5oKo55qE5ouj6YCJ77yI5a2Y5ZyoIENIRVJSWV9QSUNLX0hFQUTvvInjgIJcbiIKICLor7flnKjlkIjlubbliY3lhYjmj5DkuqTmgqjnmoTkv67mlLnjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjEzCisjOiBidWlsdGluL21lcmdlLmM6MTE5MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAi5oKo5bCa5pyq57uT5p2f5oKo55qE5ouj6YCJ77yI5a2Y5ZyoIENIRVJSWV9QSUNLX0hFQUTvvInjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjIyCisjOiBidWlsdGluL21lcmdlLmM6MTIwMAogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICLmgqjkuI3og73lsIYgLS1zcXVhc2gg5LiOIC0tbm8tZmYg5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDgKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAi5pyq5oyH5a6a5o+Q5Lqk5bm25LiUIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIOacquiuvue9ruOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI1CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIuWwmuS4jeaUr+aMgeWIsOepuuWIhuaUr+eahOWOi+e8qeaPkOS6pCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI3CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIuWIsOepuuWIhuaUr+eahOmdnuW/q+i/m+W8j+aPkOS6pOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0g5LiN6IO96KKr5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzQKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICLlj6rog73lsIbkuIDkuKrmj5DkuqTlkIjlubbliLDnqbrliIbmlK/kuIoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEyCisjOiBidWlsdGluL21lcmdlLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICLmj5DkuqQgJXMg5pyJ5LiA5Liq6Z2e5Y+v5L+h55qE5aOw56ew5p2l6IeqICVzIOeahCBHUEcg562+5ZCN44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxNQorIzogYnVpbHRpbi9tZXJnZS5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIuaPkOS6pCAlcyDmnInkuIDkuKrplJnor6/nmoTlo7Dnp7DmnaXoh6ogJXMg55qEIEdQRyDnrb7lkI3jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzE4CisjOiBidWlsdGluL21lcmdlLmM6MTI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICLmj5DkuqQgJXMg5rKh5pyJ5LiA5LiqIEdQRyDnrb7lkI3jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzIxCisjOiBidWlsdGluL21lcmdlLmM6MTI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIuaPkOS6pCAlcyDmnInkuIDkuKrmnaXoh6ogJXMg55qE5aW955qEIEdQRyDnrb7lkI3jgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM5CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAi5ouS57ud5ZCI5bm25peg5YWz55qE5Y6G5Y+yIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjEzNDgKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgogbXNnc3RyICLlt7Lnu4/mmK/mnIDmlrDnmoTjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAyCisjOiBidWlsdGluL21lcmdlLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAi5pu05pawICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0MworIzogYnVpbHRpbi9tZXJnZS5jOjEzOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgIuWwneivlemdnuW4uOWwj+eahOe0ouW8leWGheWQiOW5ti4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ1MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAi5peg44CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc1CisjOiBidWlsdGluL21lcmdlLmM6MTQzMQogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZS4gWWVlYWghIgogbXNnc3RyICLlt7Lnu4/mmK/mnIDmlrDnmoTjgILogLbvvIEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgxCisjOiBidWlsdGluL21lcmdlLmM6MTQzNwogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAi5peg5rOV5b+r6L+b77yM57uI5q2i44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwNCBidWlsdGluL21lcmdlLmM6MTU4MworIzogYnVpbHRpbi9tZXJnZS5jOjE0NjAgYnVpbHRpbi9tZXJnZS5jOjE1MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIuWwhuagkeWbnua7muiHs+WOn+Wni+eKtuaAgS4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwOAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIuWwneivleWQiOW5tuetlueVpSAlcy4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NAorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIuayoeacieWQiOW5tuetlueVpeWkhOeQhuatpOWQiOW5tuOAglxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU3NgorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIuS9v+eUqOetlueVpSAlcyDlkIjlubblpLHotKXjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICLkvb/nlKggJXMg5Lul5YeG5aSH5omL5bel6Kej5Yaz44CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk3CisjOiBidWlsdGluL21lcmdlLmM6MTU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICLoh6rliqjlkIjlubbov5vlsZXpobrliKnvvIzmjInopoHmsYLlnKjmj5DkuqTliY3lgZzmraJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjkKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gPOaPkOS6pD4gPOaPkOS6pD4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPOaPkOS6pD4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPOaPkOS6pD4uLi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMwogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPOaPkOS6pD4gPOaPkOS6pD4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPOW8leeUqD4gWzzmj5DkuqQ+XSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE3CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTgKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgIui+k+WHuuaJgOacieWFseWQjOeahOelluWFiCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjAKIG1zZ2lkICJmaW5kIGFuY2VzdG9ycyBmb3IgYSBzaW5nbGUgbi13YXkgbWVyZ2UiCiBtc2dzdHIgIuafpeaJvuS4gOS4quWkmui3r+WQiOW5tueahOelluWFiOaPkOS6pCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAi5pi+56S65LiN6IO96KKr5YW25LuW6K6/6Zeu5Yiw55qE54mI5pysIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjMKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNAogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAi56ys5LiA5Liq5piv5YW25LuW55qE56WW5YWI5o+Q5Lqk5LmI77yfIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNgogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICLmoLnmja4gPOW8leeUqD4g55qE5byV55So5pel5b+X5p+l5om+IDzmj5DkuqQ+IOeahOa0vueUn+WkhCIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OAorIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OQogbXNnaWQgIiIKICJnaXQgbWVyZ2UtZmlsZSBbPG9wdGlvbnM+XSBbLUwgPG5hbWUxPiBbLUwgPG9yaWc+IFstTCA8bmFtZTI+XV1dIDxmaWxlMT4gIgogIjxvcmlnLWZpbGU+IDxmaWxlMj4iCkBAIC0xMDAwOSwxNTUgKzEwMzU1LDE1OSBAQAogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTUyCisjOiBidWlsdGluL21rdHJlZS5jOjE1MwogbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgogbXNnc3RyICLovpPlhaXku6UgTlVMIOWtl+espue7iOatoiIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTMgYnVpbHRpbi93cml0ZS10cmVlLmM6MjQKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU0IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI1CiBtc2dpZCAiYWxsb3cgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICLlhYHorrjkuKLlpLHnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU0CisjOiBidWlsdGluL21rdHJlZS5jOjE1NQogbXNnaWQgImFsbG93IGNyZWF0aW9uIG9mIG1vcmUgdGhhbiBvbmUgdHJlZSIKIG1zZ3N0ciAi5YWB6K645Yib5bu65LiA5Liq5Lul5LiK55qE5qCRIgogCi0jOiBidWlsdGluL212LmM6MTYKKyM6IGJ1aWx0aW4vbXYuYzoxNwogbXNnaWQgImdpdCBtdiBbPG9wdGlvbnM+XSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgogbXNnc3RyICJnaXQgbXYgWzzpgInpobk+XSA85rqQPi4uLiA855uu5qCHPiIKIAotIzogYnVpbHRpbi9tdi5jOjgyCisjOiBidWlsdGluL212LmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgogbXNnc3RyICLnm67lvZUgJXMg5Zyo57Si5byV5Lit5bm25LiU5LiN5piv5a2Q5qih57uE77yfIgogCi0jOiBidWlsdGluL212LmM6ODQgYnVpbHRpbi9ybS5jOjI5MAorIzogYnVpbHRpbi9tdi5jOjg1IGJ1aWx0aW4vcm0uYzoyOTAKIG1zZ2lkICJQbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKLW1zZ3N0ciAi6K+35bCG5oKo55qE5L+u5pS55pqC5a2Y5YiwIC5naXRtb2R1bGVzIOS4reaIluS/neWtmOi/m+W6puWQjuWGjee7p+e7rSIKK21zZ3N0ciAi6K+35bCG5oKo55qE5L+u5pS55pqC5a2Y5YiwIC5naXRtb2R1bGVzIOS4reaIlui0ruiXj+WQjuWGjee7p+e7rSIKIAotIzogYnVpbHRpbi9tdi5jOjEwMgorIzogYnVpbHRpbi9tdi5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlLipzIGlzIGluIGluZGV4IgogbXNnc3RyICIlLipzIOWcqOe0ouW8leS4rSIKIAotIzogYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi5by65Yi256e75YqoL+mHjeWRveS7pO+8jOWNs+S9v+ebruagh+WtmOWcqCIKIAotIzogYnVpbHRpbi9tdi5jOjEyNQorIzogYnVpbHRpbi9tdi5jOjEyNgogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICLot7Pov4fnp7vliqgv6YeN5ZG95ZCN6ZSZ6K+vIgogCi0jOiBidWlsdGluL212LmM6MTY3CisjOiBidWlsdGluL212LmM6MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICLnm67moIcgJyVzJyDkuI3mmK/kuIDkuKrnm67lvZUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzgKKyM6IGJ1aWx0aW4vbXYuYzoxNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLmo4Dmn6UgJyVzJyDliLAgJyVzJyDnmoTph43lkb3lkI1cbiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MgorIzogYnVpbHRpbi9tdi5jOjE4MwogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIuWdj+eahOa6kCIKIAotIzogYnVpbHRpbi9tdi5jOjE4NQorIzogYnVpbHRpbi9tdi5jOjE4NgogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIuS4jeiDveWwhuebruW9leenu+WKqOWIsOiHqui6qyIKIAotIzogYnVpbHRpbi9tdi5jOjE4OAorIzogYnVpbHRpbi9tdi5jOjE4OQogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIuS4jeiDveWwhuebruW9leenu+WKqOWIsOaWh+S7tiIKIAotIzogYnVpbHRpbi9tdi5jOjE5NworIzogYnVpbHRpbi9tdi5jOjE5OAogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgIua6kOebruW9leS4uuepuiIKIAotIzogYnVpbHRpbi9tdi5jOjIyMgorIzogYnVpbHRpbi9tdi5jOjIyMwogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIuS4jeWcqOeJiOacrOaOp+WItuS5i+S4iyIKIAotIzogYnVpbHRpbi9tdi5jOjIyNQorIzogYnVpbHRpbi9tdi5jOjIyNgogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAi55uu5qCH5bey5a2Y5ZyoIgogCi0jOiBidWlsdGluL212LmM6MjMzCisjOiBidWlsdGluL212LmM6MjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIuimhuebliAnJXMnIgogCi0jOiBidWlsdGluL212LmM6MjM2CisjOiBidWlsdGluL212LmM6MjM3CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAi5LiN6IO96KaG55uWIgogCi0jOiBidWlsdGluL212LmM6MjM5CisjOiBidWlsdGluL212LmM6MjQwCiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICLlkIzkuIDnm67moIflhbfmnInlpJrkuKrmupAiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDEKKyM6IGJ1aWx0aW4vbXYuYzoyNDIKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIuebruagh+ebruW9leS4jeWtmOWcqCIKIAotIzogYnVpbHRpbi9tdi5jOjI0OAorIzogYnVpbHRpbi9tdi5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXPvvIzmupA9JXPvvIznm67moIc9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNjkKKyM6IGJ1aWx0aW4vbXYuYzoyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAi6YeN5ZG95ZCNICVzIOiHsyAlc1xuIgogCi0jOiBidWlsdGluL212LmM6Mjc1IGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzg0CisjOiBidWlsdGluL212LmM6Mjc2IGJ1aWx0aW4vcmVtb3RlLmM6NzExIGJ1aWx0aW4vcmVwYWNrLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICLph43lkb3lkI0gJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMzgKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPOmAiemhuT5dIDzmj5DkuqQ+Li4uIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzM5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzpgInpobk+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM0MAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzpgInpobk+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6Mzk1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICLlj6rmiZPljbDlkI3np7DvvIjml6AgU0hBLTHvvIkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozOTYKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgIuWPquS9v+eUqOagh+etvuadpeWRveWQjeaPkOS6pCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjM5OAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLlj6rkvb/nlKjlkowgPOaooeW8jz4g55u45Yy56YWN55qE5byV55SoIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAwCittc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICLlv73nlaXlkowgPOaooeW8jz4g55u45Yy56YWN55qE5byV55SoIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAyCiBtc2dpZCAibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIKIG1zZ3N0ciAi5YiX5Ye65Y+v5Lul5LuO5omA5pyJ5byV55So6K6/6Zeu55qE5o+Q5LqkIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAzCiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5YiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuWFgeiuuOaJk+WNsCBg5pyq5a6a5LmJYCDnmoTlkI3np7DvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTAKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAi5Y+N5ZCR6Kej5p6Q6L6T5YWl5Lit55qE5qCH562+77yI5YaF6YOo5L2/55So77yJIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzms6jop6PlvJXnlKg+XSBbbGlzdCBbPOWvueixoT5dXSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2CisjOiBidWlsdGluL25vdGVzLmM6MjcKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA8bXNnPiB8IC1GIDxmaWxlPiAiCiAifCAoLWMgfCAtQykgPG9iamVjdD5dIFs8b2JqZWN0Pl0iCkBAIC0xMDE2NSwxMSArMTA1MTUsMTEgQEAKICJnaXQgbm90ZXMgWy0tcmVmIDzms6jop6PlvJXnlKg+XSBhZGQgWy1mXSBbLS1hbGxvdy1lbXB0eV0gWy1tIDzor7TmmI4+IHwgLUYgPOaWh+S7tj4gIgogInwgKC1jIHwgLUMpIDzlr7nosaE+XSBbPOWvueixoT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOAogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGNvcHkgWy1mXSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzms6jop6PlvJXnlKg+XSBjb3B5IFstZl0gPOa6kOWvueixoT4gPOebruagh+WvueixoT4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjI5CiBtc2dpZCAiIgogImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgogIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKQEAgLTEwMTc3LDI0MyArMTA1MjcsMjQ0IEBACiAiZ2l0IG5vdGVzIFstLXJlZiA85rOo6Kej5byV55SoPl0gYXBwZW5kIFstLWFsbG93LWVtcHR5XSBbLW0gPOivtOaYjj4gfCAtRiA85paH5Lu2PiB8ICIKICIoLWMgfCAtQykgPOWvueixoT5dIFs85a+56LGhPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwCiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA85rOo6Kej5byV55SoPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzzlr7nosaE+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwCisjOiBidWlsdGluL25vdGVzLmM6MzEKIG1zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOazqOino+W8leeUqD5dIHNob3cgWzzlr7nosaE+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjMxCisjOiBidWlsdGluL25vdGVzLmM6MzIKIG1zZ2lkICIiCiAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8c3RyYXRlZ3k+XSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA85rOo6Kej5byV55SoPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8562W55WlPiBdIDzms6jop6PlvJXnlKg+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMwogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbLXYgfCAtcV0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbLXYgfCAtcV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMworIzogYnVpbHRpbi9ub3Rlcy5jOjM0CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNAorIzogYnVpbHRpbi9ub3Rlcy5jOjM1CiBtc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gcmVtb3ZlIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOazqOino+W8leeUqD5dIHJlbW92ZSBbPOWvueixoT4uLi5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNgogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHBydW5lIFstbiB8IC12XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA85rOo6Kej5byV55SoPl0gcHJ1bmUgWy1uIHwgLXZdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNwogbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGdldC1yZWYiCiBtc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOazqOino+W8leeUqD5dIGdldC1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQyCiBtc2dpZCAiZ2l0IG5vdGVzIFtsaXN0IFs8b2JqZWN0Pl1dIgogbXNnc3RyICJnaXQgbm90ZXMgW2xpc3QgWzzlr7nosaE+XV0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ3CiBtc2dpZCAiZ2l0IG5vdGVzIGFkZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgYWRkIFs86YCJ6aG5Pl0gWzzlr7nosaE+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxCisjOiBidWlsdGluL25vdGVzLmM6NTIKIG1zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgogbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPOmAiemhuT5dIDzmupDlr7nosaE+IDznm67moIflr7nosaE+IgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MwogbXNnaWQgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD5dLi4uIgogbXNnc3RyICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs85rqQ5a+56LGhPiA855uu5qCH5a+56LGhPl0uLi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NworIzogYnVpbHRpbi9ub3Rlcy5jOjU4CiBtc2dpZCAiZ2l0IG5vdGVzIGFwcGVuZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgYXBwZW5kIFs86YCJ6aG5Pl0gWzzlr7nosaE+XSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjYyCisjOiBidWlsdGluL25vdGVzLmM6NjMKIG1zZ2lkICJnaXQgbm90ZXMgZWRpdCBbPG9iamVjdD5dIgogbXNnc3RyICJnaXQgbm90ZXMgZWRpdCBbPOWvueixoT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OAogbXNnaWQgImdpdCBub3RlcyBzaG93IFs8b2JqZWN0Pl0iCiBtc2dzdHIgImdpdCBub3RlcyBzaG93IFs85a+56LGhPl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjczCiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIFs8b3B0aW9ucz5dIDxub3Rlcy1yZWY+IgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgWzzpgInpobk+XSA85rOo6Kej5byV55SoPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjczCisjOiBidWlsdGluL25vdGVzLmM6NzQKIG1zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPOmAiemhuT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NQogbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPOmAiemhuT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MAogbXNnaWQgImdpdCBub3RlcyByZW1vdmUgWzxvYmplY3Q+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIHJlbW92ZSBbPOWvueixoT5dIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NQogbXNnaWQgImdpdCBub3RlcyBwcnVuZSBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IG5vdGVzIHBydW5lIFs86YCJ6aG5Pl0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjkwCiBtc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCiBtc2dzdHIgImdpdCBub3RlcyBnZXQtcmVmIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NQogbXNnaWQgIldyaXRlL2VkaXQgdGhlIG5vdGVzIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdDoiCiBtc2dzdHIgIuS4uuS4i+mdoueahOWvueixoeWGmS/nvJbovpHor7TmmI7vvJoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgIuS4jeiDveS4uuWvueixoSAnJXMnIOW8gOWniyAnc2hvdyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNTIKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnc2hvdycgb3V0cHV0IgogbXNnc3RyICLkuI3og73or7vlj5YgJ3Nob3cnIOeahOi+k+WHuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgIuaXoOazleS4uuWvueixoSAnJXMnIOWujOaIkCAnc2hvdyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxOTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxOTUKIG1zZ2lkICJwbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCiBtc2dzdHIgIuivt+mAmui/hyAtbSDmiJYgLUYg6YCJ6aG55Li65rOo6Kej5o+Q5L6b5YaF5a65IgogCi0jOiBidWlsdGluL25vdGVzLmM6MjAzCisjOiBidWlsdGluL25vdGVzLmM6MjA0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgogbXNnc3RyICLkuI3og73lhpnms6jop6Plr7nosaEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIuazqOino+WGheWuueiiq+eVmeWcqCAlcyDkuK0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzMgYnVpbHRpbi90YWcuYzo0NjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzQgYnVpbHRpbi90YWcuYzo1MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WICclcyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzUgYnVpbHRpbi90YWcuYzo0NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzYgYnVpbHRpbi90YWcuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICLkuI3og73miZPlvIDmiJbor7vlj5YgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NCBidWlsdGluL25vdGVzLmM6MzA1IGJ1aWx0aW4vbm90ZXMuYzozMDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzIgYnVpbHRpbi9ub3Rlcy5jOjQyNyBidWlsdGluL25vdGVzLmM6NTEzCi0jOiBidWlsdGluL25vdGVzLmM6NTE4IGJ1aWx0aW4vbm90ZXMuYzo1OTYgYnVpbHRpbi9ub3Rlcy5jOjY1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NSBidWlsdGluL25vdGVzLmM6MzA2IGJ1aWx0aW4vbm90ZXMuYzozMDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzUgYnVpbHRpbi9ub3Rlcy5jOjQzMCBidWlsdGluL25vdGVzLmM6NTE2CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTkgYnVpbHRpbi9ub3Rlcy5jOjY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi5peg5rOV6Kej5p6QICclcycg5Li65LiA5Liq5pyJ5pWI5byV55So44CCIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU3CisjOiBidWlsdGluL25vdGVzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W5a+56LGhICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgogbXNnc3RyICLkuI3og73ku47pnZ7mlbDmja7lr7nosaEgJyVzJyDkuK3or7vlj5bms6jop6PmlbDmja7jgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLpnZ7ms5XnmoTovpPlhaXooYzvvJonJXMn44CCIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzE2CisjOiBidWlsdGluL25vdGVzLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLku44gJyVzJyDmi7fotJ3ms6jop6PliLAgJyVzJyDml7blpLHotKUiCiAKLSMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhCi0jLiBnaXQgbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCi0jOiBidWlsdGluL25vdGVzLmM6MzQ1CisjLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYSBnaXQKKyMuIG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorIy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICLmi5Lnu53lkJEgJTIkc++8iOWcqCByZWZzL25vdGVzLyDkuYvlpJbvvIklMSRz5rOo6KejIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgotIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCisjOiBidWlsdGluL25vdGVzLmM6MzY4IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjUxMSBidWlsdGluL25vdGVzLmM6NTg3IGJ1aWx0aW4vbm90ZXMuYzo2NTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQgYnVpbHRpbi9ub3Rlcy5jOjk1MSBidWlsdGluL25vdGVzLmM6OTcyCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAi5Y+C5pWw5aSq5aSaIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo2NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODEgYnVpbHRpbi9ub3Rlcy5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgogbXNnc3RyICLmnKrlj5HnjrDlr7nosaEgJXMg55qE5rOo6Kej44CCIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk5IGJ1aWx0aW4vbm90ZXMuYzo1NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgIuazqOino+WGheWuueS9nOS4uuS4gOS4quWtl+espuS4siIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CisjOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKIG1zZ3N0ciAi5rOo6Kej5YaF5a655Yiw5LiA5Liq5paH5Lu25LitIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQogbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAi6YeN55So5ZKM57yW6L6R5oyH5a6a55qE5rOo6Kej5a+56LGhIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTEgYnVpbHRpbi9ub3Rlcy5jOjU3NAogbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAi6YeN55So5oyH5a6a55qE5rOo6Kej5a+56LGhIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo1NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTQgYnVpbHRpbi9ub3Rlcy5jOjU3NwogbXNnaWQgImFsbG93IHN0b3JpbmcgZW1wdHkgbm90ZSIKIG1zZ3N0ciAi5YWB6K645L+d5a2Y56m655m95rOo6YeKIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo0ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTUgYnVpbHRpbi9ub3Rlcy5jOjQ4NgogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIuabv+aNouW3suWtmOWcqOeahOazqOinoyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNworIzogYnVpbHRpbi9ub3Rlcy5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKICJleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi5LiN6IO95re75Yqg5rOo6Kej44CC5Y+R546w5a+56LGhICVzIOW3suWtmOWcqOazqOino+OAguS9v+eUqCAnLWYnIOimhueblueOsOWtmOazqOinoyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCisjOiBidWlsdGluL25vdGVzLmM6NDU1IGJ1aWx0aW4vbm90ZXMuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLopobnm5blr7nosaEgJXMg546w5a2Y5rOo6KejXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CisjOiBidWlsdGluL25vdGVzLmM6NDY2IGJ1aWx0aW4vbm90ZXMuYzo2MjYgYnVpbHRpbi9ub3Rlcy5jOjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAi5Yig6Zmk5a+56LGhICVzIOeahOazqOino1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDg0CisjOiBidWlsdGluL25vdGVzLmM6NDg3CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WPluWvueixoSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICLph43mlrDliqDovb0gPOWRveS7pD4g55qE6YWN572u77yI6ZqQ5ZCrIC0tc3RkaW7vvIkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDcKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgIuWPguaVsOWkquWwkSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyNQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCiAiZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIuS4jeiDveaLt+i0neazqOino+OAguWPkeeOsOWvueixoSAlcyDlt7LlrZjlnKjms6jop6PjgILkvb/nlKggJy1mJyDopobnm5bnjrDlrZjms6jop6MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgIua6kOWvueixoSAlcyDnvLrlsJHms6jop6PjgILkuI3og73mi7fotJ3jgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMDQyMiw5NyArMTA3NzMsOTcgQEAKICLlrZDlkb3ku6QgJ2VkaXQnIOeahOmAiemhuSAtbS8tRi8tYy8tQyDlt7LlvIPnlKjjgIJcbiIKICLor7fmjaLnlKggJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMn44CCXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICLml6Dms5XliKDpmaTlvJXnlKggTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4NworIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAi5peg5rOV5Yig6Zmk5byV55SoIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjY5MQogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCiBtc2dzdHIgIuaXoOazleWIoOmZpCAnZ2l0IG5vdGVzIG1lcmdlJyDlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W5byV55SoIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAi5peg5rOV5LuOIE5PVEVTX01FUkdFX1BBUlRJQUwg5Lit5om+5Yiw5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzEzCisjOiBidWlsdGluL25vdGVzLmM6NzE1CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICLml6Dms5Xku44gTk9URVNfTUVSR0VfUEFSVElBTCDkuK3op6PmnpDmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjgKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIuaXoOazleino+aekCBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzEKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgIuaXoOazleWujOaIkOazqOino+WQiOW5tiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc1NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgogbXNnc3RyICLmnKrnn6XnmoTms6jop6PlkIjlubbnrZbnlaUgJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzMKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIumAmueUqOmAiemhuSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MworIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQogbXNnaWQgIk1lcmdlIG9wdGlvbnMiCiBtc2dzdHIgIuWQiOW5tumAiemhuSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NwogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCiBtc2dzdHIgIuS9v+eUqOaMh+WumueahOetlueVpeino+WGs+azqOino+WGsueqgSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc3CisjOiBidWlsdGluL25vdGVzLmM6Nzc5CiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi5o+Q5Lqk5pyq5ZCI5bm255qE5rOo6KejIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc5CisjOiBidWlsdGluL25vdGVzLmM6NzgxCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi6YCa6L+H5o+Q5Lqk5pyq5ZCI5bm255qE5rOo6Kej5p2l5a6M5oiQ5rOo6Kej5ZCI5bm2IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgxCisjOiBidWlsdGluL25vdGVzLmM6NzgzCiBtc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKIG1zZ3N0ciAi5Lit5q2i5rOo6Kej5ZCI5bm255qE5pa55qGIIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg1CiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgIuS4reatouazqOino+WQiOW5tiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc5NgogbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKIG1zZ3N0ciAi5LiN6IO95re355SoIC0tY29tbWl044CBLS1hYm9ydCDmiJYgLXMvLS1zdHJhdGVneSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjgwMQogbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKIG1zZ3N0ciAi5b+F6aG75oyH5a6a5LiA5Liq5rOo6Kej5byV55So5p2l5ZCI5bm2IgogCi0jOiBidWlsdGluL25vdGVzLmM6ODIzCisjOiBidWlsdGluL25vdGVzLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCiBtc2dzdHIgIuacquefpeeahCAtcy8tLXN0cmF0ZWd577yaJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCiBtc2dzdHIgIuS9jeS6jiAlMiRzIOeahOS4gOS4quWIsCAlMSRzIOS4reeahOazqOino+WQiOW5tuato+WcqOaJp+ihjOS4rSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2MworIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgogbXNnc3RyICLml6Dms5XlrZjlgqjpk77mjqXliLDlvZPliY3nmoTms6jop6PlvJXnlKjvvIglc++8iSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCkBAIC0xMDUyMiwyMTggKzEwODczLDIxOCBAQAogIuiHquWKqOWQiOW5tuivtOaYjuWksei0peOAguS/ruaUuSAlcyDkuK3nmoTlhrLnqoHlubbkuJTkvb/nlKjlkb3ku6QgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcg5o+QIgogIuS6pOe7k+aenO+8jOaIluiAheS9v+eUqOWRveS7pCAnZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnIOe7iOatouWQiOW5tuOAglxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODg3CisjOiBidWlsdGluL25vdGVzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICLlr7nosaEgJXMg5rKh5pyJ5rOo6KejXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDEKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgIuWwneivleWIoOmZpOS4jeWtmOWcqOeahOazqOino+S4jeaYr+S4gOS4qumUmeivryIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjkwNAogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5blr7nosaHlkI3np7AiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDAgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3CisjOiBidWlsdGluL25vdGVzLmM6OTQyIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAogbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKIG1zZ3N0ciAi5LiN5Yig6Zmk77yM5Y+q5pi+56S6IgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQxCisjOiBidWlsdGluL25vdGVzLmM6OTQzCiBtc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKIG1zZ3N0ciAi5oql5ZGK5riF6Zmk55qE5rOo6KejIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgzCisjOiBidWlsdGluL25vdGVzLmM6OTg1CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICLms6jop6PlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODYKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAi5LuOIDzms6jop6PlvJXnlKg+IOS9v+eUqOazqOinoyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgIuacquefpeWtkOWRveS7pO+8miVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzzpgInpobk+Li4uXSBbPCA85byV55So5YiX6KGoPiB8IDwgPOWvueixoeWIl+ihqD5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgImdpdCBwYWNrLW9iamVjdHMgWzzpgInpobk+Li4uXSA8YmFzZS1uYW1lPiBbPCA85byV55So5YiX6KGoPiB8IDwgPOWvueixoeWIl+ihqD5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICLljovnvKnplJnor68gKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc2CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAi56aB55SoIGJpdG1hcCDlhpnlhaXvvIzlm6DkuLogcGFjay5wYWNrU2l6ZUxpbWl0IOiuvue9ruS9v+W+l+WMheiiq+WIh+WIhuS4uuWkmuS4qiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzg5CiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICLlhpnlhaXlr7nosaHkuK0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA2OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDY5CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgIuemgeeUqCBiaXRtYXAg5YaZ5YWl77yM5Zug5Li65LiA5Lqb5a+56LGh5bCG5LiN5Lya6KKr5omT5YyFIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQzNAogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgIuWOi+e8qeWvueixoeS4rSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAi5LiN5pSv5oyB55qE57Si5byV54mI5pysICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICLlnY/nmoTntKLlvJXniYjmnKwgJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzgxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NzcKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi5LiN5pi+56S66L+b5bqm6KGoIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg3OQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIuaYvuekuui/m+W6puihqCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODEKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAi5Zyo5a+56LGh5YaZ5YWl6Zi25q615pi+56S66L+b5bqm6KGoIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4NAogbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKIG1zZ3N0ciAi5b2T6L+b5bqm6KGo5pi+56S65pe257G75Ly85LqOIC0tYWxsLXByb2dyZXNzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3ODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg4NQogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgIueJiOacrFss5YGP56e7XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzkwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODYKIG1zZ2lkICJ3cml0ZSB0aGUgcGFjayBpbmRleCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgaWR4IGZvcm1hdCB2ZXJzaW9uIgogbXNnc3RyICLnlKjmjIflrprnmoQgaWR4IOagvOW8j+eJiOacrOadpeWGmeWMhee0ouW8leaWh+S7tiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzkzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4ODkKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICLmr4/kuKrovpPlh7rljIXnmoTmnIDlpKflsLrlr7giCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODkxCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICLlv73nlaXku47lpIfnlKjlr7nosaHlrZjlgqjph4zlgJ/nlKjlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODkzCiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICLlv73nlaXljIXlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODk1CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAi6ZmQ5Yi25omT5YyF56qX5Y+j55qE5a+56LGh5pWwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg5NwogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIumZpOWvueixoeaVsOmHj+mZkOWItuWkluiuvue9ruaJk+WMheeql+WPo+eahOWGheWtmOmZkOWItiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4OTkKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAi5omT5YyF5YWB6K6455qEIGRlbHRhIOmTvueahOacgOWkp+mVv+W6piIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDEKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgIumHjeeUqOW3suWtmOWcqOeahCBkZWx0YXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTAzCiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi6YeN55So5bey5a2Y5Zyo55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwNQogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAi5L2/55SoIE9GU19ERUxUQSDlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA3CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAi5L2/55So57q/56iL5p+l6K+i5pyA5L2zIGRlbHRhIOWMuemFjSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDkKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICLkuI3liJvlu7rnqbrnmoTljIXovpPlh7oiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTExCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi5LuO5qCH5YeG6L6T5YWl6K+75Y+W54mI5pys5Y+35Y+C5pWwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxMwogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICLpmZDliLbpgqPkupvlsJrmnKrmiZPljIXnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE2CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgIuWMheaLrOWPr+S7peS7juS7u+S9leW8leeUqOiuv+mXruWIsOeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTkKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgIuWMheaLrOiiq+W8leeUqOaXpeW/l+W8leeUqOWIsOeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MjIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICLljIXmi6zooqvntKLlvJXlvJXnlKjliLDnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI1CiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICLovpPlh7rljIXliLDmoIflh4bovpPlh7oiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI3CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICLljIXmi6zpgqPkupvlvJXnlKjkuoblvoXmiZPljIXlr7nosaHnmoTmoIfnrb7lr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI5CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLnu7TmjIHkuI3lj6/ovr7nmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMxCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLmiZPljIXmnb7mlaPnmoTkuI3lj6/ovr7lr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTMzCiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIuWwhuavlOe7meWumiA85pe26Ze0PiDmlrDnmoTml6Dms5Xorr/pl67nmoTlr7nosaHop6PljIUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTM2CiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgIuWIm+W7uueyvueugOWMhSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzgKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAi5Yib5bu66YCC5ZCI5rWF5YWL6ZqG5LuT5bqT6I635Y+W55qE5YyFIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0MAogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgIuW/veeVpemFjeaciSAua2VlcCDmlofku7bnmoTljIUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQyCiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAi5omT5YyF5Y6L57yp57qn5YirIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICLmmL7npLrooqvlq4HmjqXpmpDol4/nmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ2CiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICLkvb/nlKggYml0bWFwIOe0ouW8le+8iOWmguaenOacieeahOivne+8ieS7peaPkOmrmOWvueixoeiuoeaVsOaXtueahOmAn+W6piIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NDgKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICLlnKjlu7rnq4vljIXntKLlvJXnmoTlkIzml7bliJvlu7ogYml0bWFwIOe0ouW8lSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNzUKIG1zZ2lkICJDb3VudGluZyBvYmplY3RzIgogbXNnc3RyICLlr7nosaHorqHmlbDkuK0iCiAKQEAgLTEwNzczLDYyICsxMTEyNCw2NiBAQAogbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAi5LiN6IO95Zyo54+N5ZOB5LuT5bqT5Lit5omn6KGM5riF55CG5pON5L2cIgogCi0jOiBidWlsdGluL3B1bGwuYzo1MSBidWlsdGluL3B1bGwuYzo1MworIzogYnVpbHRpbi9wdWxsLmM6NTQgYnVpbHRpbi9wdWxsLmM6NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICIlcyDnmoTlgLzml6DmlYjvvJolcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjc2CiBtc2dpZCAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBwdWxsIFs86YCJ6aG5Pl0gWzzku5PlupM+IFs85byV55So6KeE5qC8Pi4uLl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjEKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyNAorbXNnaWQgImNvbnRyb2wgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICLmjqfliLblrZDmqKHnu4TnmoTpgJLlvZLojrflj5YiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyOAogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICLlkozlkIjlubbnm7jlhbPnmoTpgInpobkiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyNAorIzogYnVpbHRpbi9wdWxsLmM6MTMxCiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICLkvb/nlKjlj5jln7rmk43kvZzlj5bku6PlkIjlubbmk43kvZzku6XlkIjlhaXkv67mlLkiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0OCBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoxOSBidWlsdGluL3JldmVydC5jOjEyMQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi5YWB6K645b+r6L+b5byPIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNTcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NAogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgotbXNnc3RyICLoh6rliqjlnKjlj5jln7rmk43kvZzliY3lkI7miafooYwgc3Rhc2gvc3Rhc2ggcG9wIgorbXNnc3RyICLlj5jln7rmk43kvZzliY3lkI7miafooYzoh6rliqjotK7ol4/lkozlvLnlh7rotK7ol48iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9wdWxsLmM6MTgwCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICLlkozojrflj5bnm7jlhbPnmoTlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NQorIzogYnVpbHRpbi9wdWxsLmM6MTk4CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICLlubblj5Hmi4nlj5bnmoTlrZDmqKHnu4TnmoTmlbDph48iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjI4NAorIzogYnVpbHRpbi9wdWxsLmM6Mjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgogbXNnc3RyICJwdWxsLmZmIOeahOWPluWAvOaXoOaViO+8miVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozOTcKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5OQogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCiBtc2dzdHIgIuWcqOaCqOWImuWImuiOt+WPluWIsOeahOW8leeUqOS4reayoeacieWPmOWfuuaTjeS9nOeahOWAmemAieOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzk5CisjOiBidWlsdGluL3B1bGwuYzo0MDEKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAi5Zyo5oKo5Yia5Yia6I635Y+W5Yiw55qE5byV55So5Lit5rKh5pyJ5ZCI5bm25pON5L2c55qE5YCZ6YCJ44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMgogbXNnaWQgIiIKICJHZW5lcmFsbHkgdGhpcyBtZWFucyB0aGF0IHlvdSBwcm92aWRlZCBhIHdpbGRjYXJkIHJlZnNwZWMgd2hpY2ggaGFkIG5vXG4iCiAibWF0Y2hlcyBvbiB0aGUgcmVtb3RlIGVuZC4iCiBtc2dzdHIgIumAmuW4uOi/meaEj+WRs+edgOaCqOaPkOS+m+S6huS4gOS4qumAmumFjeespuW8leeUqOinhOagvOS9huacquiDveWSjOi/nOerr+WMuemFjeOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDAzCisjOiBidWlsdGluL3B1bGwuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC0xMDgzOCw0MiArMTExOTMsNDIgQEAKICLmgqjopoHmsYLku47ov5znqIsgJyVzJyDmi4nlj5bvvIzkvYbmmK/mnKrmjIflrprkuIDkuKrliIbmlK/jgILlm6DkuLrov5nkuI3mmK/lvZPliY1cbiIKICLliIbmlK/pu5jorqTnmoTov5znqIvku5PlupPvvIzmgqjlv4XpobvlnKjlkb3ku6TooYzkuK3mjIflrprkuIDkuKrliIbmlK/lkI3jgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQwOCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0MTAgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIuaCqOW9k+WJjeS4jeWcqOS4gOS4quWIhuaUr+S4iuOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDEwIGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICLor7fmjIflrprmgqjopoHlj5jln7rliLDlk6rkuIDkuKrliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDE0IGJ1aWx0aW4vcHVsbC5jOjQyOSBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICLor7fmjIflrprmgqjopoHlkIjlubblk6rkuIDkuKrliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxMyBidWlsdGluL3B1bGwuYzo0MjgKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MzAKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICLor6bop4EgZ2l0LXB1bGwoMSnjgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MjEgYnVpbHRpbi9wdWxsLmM6NDMwCisjOiBidWlsdGluL3B1bGwuYzo0MTcgYnVpbHRpbi9wdWxsLmM6NDIzIGJ1aWx0aW4vcHVsbC5jOjQzMgogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICI86L+c56iLPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNyBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9wdWxsLmM6NDM3IGdpdC1yZWJhc2Uuc2g6NDU2CiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjzliIbmlK8+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSv5rKh5pyJ6Lef6Liq5L+h5oGv44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorIzogYnVpbHRpbi9wdWxsLmM6NDM0IGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgogbXNnc3RyICLlpoLmnpzmgqjmg7PopoHkuLrmraTliIbmlK/liJvlu7rot5/ouKrkv6Hmga/vvIzmgqjlj6/ku6XmiafooYzvvJoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNworIzogYnVpbHRpbi9wdWxsLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC0xMDg4MiwyNyArMTEyMzcsMjcgQEAKICLmgqjnmoTphY3nva7kuK3mjIflrpropoHlkIjlubbov5znqIvnmoTlvJXnlKggJyVzJ++8jFxuIgogIuS9huaYr+ayoeacieiOt+WPluWIsOi/meS4quW8leeUqOOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NzU0CisjOiBidWlsdGluL3B1bGwuYzo3OTIKIG1zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCiBtc2dzdHIgIuS4uuWPmOWfuuaTjeS9nOW/veeVpSAtLXZlcmlmeS1zaWduYXR1cmVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MAogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgIi0tW25vLV1hdXRvc3Rhc2gg6YCJ6aG55Y+q5Zyo5L2/55SoIC0tcmViYXNlIOaXtuacieaViOOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODA5CisjOiBidWlsdGluL3B1bGwuYzo4NDgKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICLmm7TmlrDlsJrmnKror57nlJ/nmoTliIbmlK/vvIzlj5jmm7Tmt7vliqDoh7PntKLlvJXjgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgxMgorIzogYnVpbHRpbi9wdWxsLmM6ODUxCiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAi5Y+Y5Z+65byP5ouJ5Y+WIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1MgogbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCi1tc2dzdHIgIuivt+aPkOS6pOaIluS4uuWug+S7rOS/neWtmOi/m+W6puOAgiIKK21zZ3N0ciAi6K+35o+Q5Lqk5oiW6LSu6JeP5a6D5Lus44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MzgKKyM6IGJ1aWx0aW4vcHVsbC5jOjg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTEwOTEyLDcgKzExMjY3LDcgQEAKICJmZXRjaCDmm7TmlrDkuoblvZPliY3nmoTliIbmlK/jgILlv6vov5vmgqjnmoTlt6XkvZzljLpcbiIKICLoh7Pmj5DkuqQgJXPjgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg0MworIzogYnVpbHRpbi9wdWxsLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTA5MjksMjcgKzExMjg0LDMxIEBACiAiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCiAi5oGi5aSN5LmL5YmN55qE54q25oCB44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NTgKKyM6IGJ1aWx0aW4vcHVsbC5jOjg5NwogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICLml6Dms5XlsIblpJrkuKrliIbmlK/lkIjlubbliLDnqbrliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg2MgorIzogYnVpbHRpbi9wdWxsLmM6OTAxCiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAi5peg5rOV5Y+Y5Z+65Yiw5aSa5Liq5YiG5pSv44CCIgogCi0jOiBidWlsdGluL3B1c2guYzoxNgorIzogYnVpbHRpbi9wdWxsLmM6OTA4Cittc2dpZCAiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgIuacrOWcsOWtkOaooee7hOS4reacieS/ruaUue+8jOaXoOazleWPmOWfuiIKKworIzogYnVpbHRpbi9wdXNoLmM6MTcKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1c2ggWzzpgInpobk+XSBbPOS7k+W6kz4gWzzlvJXnlKjop4TmoLw+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjg5CisjOiBidWlsdGluL3B1c2guYzo5MAogbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKIG1zZ3N0ciAi5qCH562+5ZCO6Z2i5pyq5o+Q5L6bIDzmoIfnrb4+IOWPguaVsCIKIAotIzogYnVpbHRpbi9wdXNoLmM6OTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjEwMAogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSDlj6rmjqXlj5fnroDljZXnmoTnm67moIflvJXnlKjlkI0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE0MworIzogYnVpbHRpbi9wdXNoLmM6MTQ0CiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTEwOTU3LDcgKzExMzE2LDcgQEAKICJcbiIKICLkuLrkuobmsLjkuYXlnLDpgInmi6nku7vkuIDpgInpobnvvIzlj4Lop4EgJ2dpdCBoZWxwIGNvbmZpZycg5Lit55qEIHB1c2guZGVmYXVsdOOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTQ2CisjOiBidWlsdGluL3B1c2guYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtMTA5ODEsNyArMTEzNDAsNyBAQAogIiAgICBnaXQgcHVzaCAlcyAlc1xuIgogIiVzIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtMTA5OTUsNyArMTEzNTQsNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjzov5znqIvliIbmlK/lkI3lrZc+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE3NQorIzogYnVpbHRpbi9wdXNoLmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTExMDA4LDEyICsxMTM2NywxMiBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzoxODMKKyM6IGJ1aWx0aW4vcHVzaC5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSvICVzIOacieWkmuS4quS4iua4uOWIhuaUr++8jOaLkue7neaOqOmAgeOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTg2CisjOiBidWlsdGluL3B1c2guYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtMTEwMjMsMTIgKzExMzgyLDEyIEBACiAi5oKo5q2j5o6o6YCB6Iez6L+c56iLICclcyfvvIjlhbblubbpnZ7lvZPliY3liIbmlK8gJyVzJyDnmoTkuIrmuLjvvInvvIxcbiIKICLogIzmsqHmnInlkYror4nmiJHopoHmjqjpgIHku4DkuYjjgIHmm7TmlrDlk6rkuKrov5znqIvliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI0NQorIzogYnVpbHRpbi9wdXNoLmM6MjQ2CiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIuaCqOayoeacieS4uuaOqOmAgeaMh+WumuS7u+S9leW8leeUqOinhOagvO+8jOW5tuS4lCBwdXNoLmRlZmF1bHQg5Li6IFwibm90aGluZ1wi44CCIgogCi0jOiBidWlsdGluL3B1c2guYzoyNTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjI1MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCiAiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgpAQCAtMTEwMzksNyArMTEzOTgsNyBAQAogIuWGjeasoeaOqOmAgeWJje+8jOWFiOS4jui/nOeoi+WPmOabtOWQiOW5tu+8iOWmgiAnZ2l0IHB1bGwgLi4uJ++8ieOAguivpuingVxuIgogIidnaXQgcHVzaCAtLWhlbHAnIOS4reeahCAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyDlsI/oioLjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI1OAorIzogYnVpbHRpbi9wdXNoLmM6MjU5CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC0xMTA1MCw3ICsxMTQwOSw3IEBACiAi5qOA5Ye66K+l5YiG5pSv5bm25pW05ZCI6L+c56iL5Y+Y5pu077yI5aaCICdnaXQgcHVsbCAuLi4n77yJ77yM54S25ZCO5YaN5o6o6YCB44CC6K+m6KeBXG4iCiAiJ2dpdCBwdXNoIC0taGVscCcg5Lit55qEICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIOWwj+iKguOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY0CisjOiBidWlsdGluL3B1c2guYzoyNjUKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgpAQCAtMTEwNjMsMTEgKzExNDIyLDExIEBACiAi77yI5aaCICdnaXQgcHVsbCAuLi4n77yJ44CCXG4iCiAi6K+m6KeBICdnaXQgcHVzaCAtLWhlbHAnIOS4reeahCAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyDlsI/oioLjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3MQorIzogYnVpbHRpbi9wdXNoLmM6MjcyCiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAi5pu05paw6KKr5ouS57ud77yM5Zug5Li66K+l5qCH562+5Zyo6L+c56iL5bey57uP5a2Y5Zyo44CCIgogCi0jOiBidWlsdGluL3B1c2guYzoyNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3NQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTExMDc2LDIyICsxMTQzNSwyMiBAQAogIuWmguaenOS4jeS9v+eUqCAnLS1mb3JjZScg5Y+C5pWw77yM5oKo5LiN6IO95pu05paw5LiA5Liq5oyH5ZCR6Z2e5o+Q5Lqk5a+56LGh55qE6L+c56iL5byV55So77yMXG4iCiAi5Lmf5LiN6IO95pu05paw6L+c56iL5byV55So6K6p5YW25oyH5ZCR5LiA5Liq6Z2e5o+Q5Lqk5a+56LGh44CCXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMzNAorIzogYnVpbHRpbi9wdXNoLmM6MzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAi5o6o6YCB5YiwICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjMzOAorIzogYnVpbHRpbi9wdXNoLmM6MzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgogbXNnc3RyICLml6Dms5XmjqjpgIHkuIDkupvlvJXnlKjliLAgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY5CisjOiBidWlsdGluL3B1c2guYzozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAi5Z2P55qE5LuT5bqTICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM3MAorIzogYnVpbHRpbi9wdXNoLmM6MzcxCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTExMTIsMTE2ICsxMTQ3MSwxMTYgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPOWQjeensD5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg4CisjOiBidWlsdGluL3B1c2guYzozODkKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIOWSjCAtLXRhZ3Mg5LiN5YW85a65IgogCi0jOiBidWlsdGluL3B1c2guYzozODkKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MAogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsIOS4jeiDveWSjOW8leeUqOinhOagvOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk0CisjOiBidWlsdGluL3B1c2guYzozOTUKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIOWSjCAtLXRhZ3Mg5LiN5YW85a65IgogCi0jOiBidWlsdGluL3B1c2guYzozOTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tbWlycm9yIOS4jeiDveWSjOW8leeUqOinhOagvOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NDAwCisjOiBidWlsdGluL3B1c2guYzo0MDEKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg5ZKMIC0tbWlycm9yIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE4CisjOiBidWlsdGluL3B1c2guYzo1MjMKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICLku5PlupMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOSBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6NTI0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAi5o6o6YCB5omA5pyJ5byV55SoIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKIG1zZ3N0ciAi6ZWc5YOP5omA5pyJ5byV55SoIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjIKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNwogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICLliKDpmaTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMworIzogYnVpbHRpbi9wdXNoLmM6NTI4CiBtc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgogbXNnc3RyICLmjqjpgIHmoIfnrb7vvIjkuI3og73kvb/nlKggLS1hbGwgb3IgLS1taXJyb3LvvIkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyNiBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorIzogYnVpbHRpbi9wdXNoLmM6NTMxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAi5by65Yi25pu05pawIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE4MAogbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCiBtc2dzdHIgIuW8leeUqOWQjT46POacn+acm+WAvCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CisjOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKIG1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAi6KaB5rGC5byV55So5pen55qE5Y+W5YC85Li66K6+5a6a5YC8IgogCi0jOiBidWlsdGluL3B1c2guYzo1MzIKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNwogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAi5o6n5Yi25a2Q5qih57uE55qE6YCS5b2S5o6o6YCBIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzOSBidWlsdGluL3NlbmQtcGFjay5jOjE3NAogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgIuS9v+eUqOeyvueugOaJk+WMhSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM1IGJ1aWx0aW4vcHVzaC5jOjUzNiBidWlsdGluL3NlbmQtcGFjay5jOjE1OAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MCBidWlsdGluL3B1c2guYzo1NDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjAKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCiBtc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCiBtc2dzdHIgIuaOpeaUtuWMheeoi+W6jyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM3CisjOiBidWlsdGluL3B1c2guYzo1NDIKIG1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKIG1zZ3N0ciAi6K6+572uIGdpdCBwdWxsL3N0YXR1cyDnmoTkuIrmuLgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0MAorIzogYnVpbHRpbi9wdXNoLmM6NTQ1CiBtc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCiBtc2dzdHIgIua4hemZpOacrOWcsOWIoOmZpOeahOW8leeUqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQyCisjOiBidWlsdGluL3B1c2guYzo1NDcKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAi57uV6L+HIHByZS1wdXNoIOmSqeWtkCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQzCisjOiBidWlsdGluL3B1c2guYzo1NDgKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgIuaOqOmAgee8uuWkseS9huacieWFs+eahOagh+etviIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NTEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAi55SoIEdQRyDkuLrmjqjpgIHnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OCBidWlsdGluL3NlbmQtcGFjay5jOjE3MAorIzogYnVpbHRpbi9wdXNoLmM6NTUzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgIumcgOimgei/nOerr+aUr+aMgeWOn+WtkOS6i+WKoSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NTQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzEKIG1zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCiBtc2dzdHIgInNlcnZlci1zcGVjaWZpYyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NTQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKIG1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCiBtc2dzdHIgIuS8oOi+k+mAiemhuSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTYzCisjOiBidWlsdGluL3B1c2guYzo1NjgKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUg5LiOIC0tYWxs44CBLS1taXJyb3Ig5Y+KIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NQorIzogYnVpbHRpbi9wdXNoLmM6NTcwCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIOacquaOpeS7u+S9leW8leeUqOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTg0CisjOiBidWlsdGluL3B1c2guYzo1ODkKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgogbXNnc3RyICLmjqjpgIHpgInpobnkuI3og73mnInmjaLooYznrKYiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgpAQCAtMTEyMzEsNzUgKzExNTkwLDg3IEBACiAidSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKICJpbmRleC1vdXRwdXQ9POaWh+S7tj5dICgtLWVtcHR5IHwgPOagkeWvueixoTE+IFs85qCR5a+56LGhMj4gWzzmoJHlr7nosaEzPl1dKSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIxCiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKIG1zZ3N0ciAi5bCG57Si5byV57uT5p6c5YaZ5YWlIDzmlofku7Y+IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJvbmx5IGVtcHR5IHRoZSBpbmRleCIKIG1zZ3N0ciAi5Y+q5piv5riF56m657Si5byVIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjExNQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICLlkIjlubYiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCiBtc2dzdHIgIuivu+WPluS5i+S9meWGjeaJp+ihjOS4gOS4quWQiOW5tiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgogbXNnc3RyICLlpoLmnpzmsqHmnInmlofku7bnuqflkIjlubbpnIDopoHvvIzmiafooYzkuInmlrnlkIjlubYiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgogbXNnaWQgIjMtd2F5IG1lcmdlIGluIHByZXNlbmNlIG9mIGFkZHMgYW5kIHJlbW92ZXMiCiBtc2dzdHIgIuWtmOWcqOa3u+WKoOWSjOWIoOmZpOaXtu+8jOS5n+aJp+ihjOS4ieaWueWQiOW5tiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAi57G75Ly85LqOIC1t77yM5L2G5Lii5byD5pyq5ZCI5bm255qE5p2h55uuIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICI8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgIjzlrZDnm67lvZU+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjUKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM2CiBtc2dpZCAicmVhZCB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB1bmRlciA8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgIuivu+WPluagkeWvueixoeWIsOe0ouW8leeahCA85a2Q55uu5b2VPi8g5LiLIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICLnlKjlkIjlubbnmoTnu5Pmnpzmm7TmlrDlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MQogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAiZ2l0aWdub3JlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgIuWFgeiuuOW/veeVpeaWh+S7tuS4reiuvuWumueahOaWh+S7tuWPr+S7peiiq+imhuebliIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ1CiBtc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgogbXNnc3RyICLlkIjlubblkI7kuI3mo4Dmn6Xlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NgogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAi5LiN5pu05paw57Si5byV5Yy65ZKM5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgIui3s+i/h+W6lOeUqOeogOeWj+ajgOWHuui/h+a7pOWZqCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICLosIPor5UgdW5wYWNrLXRyZWVzIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI2CisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6OAorbXNnaWQgImdpdCByZWJhc2UtLWhlbHBlciBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHJlYmFzZS0taGVscGVyIFs86YCJ6aG5Pl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyMAorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAi57un57ut5Y+Y5Z+6IgorCisjOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MjIKK21zZ2lkICJhYm9ydCByZWJhc2UiCittc2dzdHIgIuS4reatouWPmOWfuiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyOAogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo3OTMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODM4CiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKICJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgpAQCAtMTEzMjUsNyArMTE2OTYsNyBAQAogIuiLpeimgeWxj+iUveatpOS/oeaBr+S4lOS/neaMgem7mOiupOihjOS4uu+8jOiuvue9riAncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCdcbiIKICLphY3nva7lj5jph4/kuLogJ3JlZnVzZSfjgIIiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODEzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjg1OAogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCBkZWxldGluZyB0aGUgY3VycmVudCBicmFuY2ggaXMgZGVuaWVkLCBiZWNhdXNlIHRoZSBuZXh0XG4iCiAiJ2dpdCBjbG9uZScgd29uJ3QgcmVzdWx0IGluIGFueSBmaWxlIGNoZWNrZWQgb3V0LCBjYXVzaW5nIGNvbmZ1c2lvbi5cbiIKQEAgLTExMzQ0LDI5ICsxMTcxNSwyOSBAQAogIlxuIgogIuiLpeimgeWxj+iUveatpOS/oeaBr++8jOaCqOWPr+S7peiuvue9ruWug+S4uiAncmVmdXNlJ+OAgiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODgzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5MzMKIG1zZ2lkICJxdWlldCIKIG1zZ3N0ciAi6Z2Z6buY5qih5byPIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTcKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0NwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgogbXNnc3RyICLmgqjlv4XpobvmjIflrprkuIDkuKrnm67lvZXjgIIiCiAKLSM6IGJ1aWx0aW4vcmVmbG9nLmM6NDIzCisjOiBidWlsdGluL3JlZmxvZy5jOjQyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZvciAnJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiJyUyJHMnIOeahOWAvCAnJTEkcycg5LiN5piv5LiA5Liq5pyJ5pWI55qE5pe26Ze05oizIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU0MCBidWlsdGluL3JlZmxvZy5jOjU0NQorIzogYnVpbHRpbi9yZWZsb2cuYzo1NDEgYnVpbHRpbi9yZWZsb2cuYzo1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiclcycg5LiN5piv5LiA5Liq5pyJ5pWI55qE5pe26Ze05oizIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzCiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tIgogIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1lPiA8dXJsPiIKQEAgLTExMzc0LDgxICsxMTc0NSw4MSBAQAogImdpdCByZW1vdGUgYWRkIFstdCA85YiG5pSvPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLXRhZ3MgfCAtLW5vLXRhZ3NdIFstLSIKICJtaXJyb3I9PGZldGNofHB1c2g+XSA85ZCN56ewPiA85Zyw5Z2APiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjM0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1IGJ1aWx0aW4vcmVtb3RlLmM6MzUKIG1zZ2lkICJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW5hbWUgPOaXp+WQjeensD4gPOaWsOWQjeensD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUgYnVpbHRpbi9yZW1vdGUuYzozOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNiBidWlsdGluL3JlbW90ZS5jOjQwCiBtc2dpZCAiZ2l0IHJlbW90ZSByZW1vdmUgPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbW92ZSA85ZCN56ewPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNiBidWlsdGluL3JlbW90ZS5jOjQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjE3IGJ1aWx0aW4vcmVtb3RlLmM6NDUKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pIgogbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDzlkI3np7A+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA85YiG5pSvPikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHNob3cgWy1uXSA85ZCN56ewPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxOQogbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA85ZCN56ewPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOQorIzogYnVpbHRpbi9yZW1vdGUuYzoyMAogbXNnaWQgIiIKICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gdXBkYXRlIFstcCB8IC0tcHJ1bmVdIFsoPGdyb3VwPiB8IDxyZW1vdGU+KS4uLl0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg857uEPiB8IDzov5znqIs+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA85ZCN56ewPiA85YiG5pSvPi4uLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMSBidWlsdGluL3JlbW90ZS5jOjcwCisjOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzEKIG1zZ2lkICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgZ2V0LXVybCBbLS1wdXNoXSBbLS1hbGxdIDzlkI3np7A+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3NgogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDzlkI3np7A+IDzmlrDnmoTlnLDlnYA+IFs85pen55qE5Zyw5Z2APl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMgYnVpbHRpbi9yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoyNCBidWlsdGluL3JlbW90ZS5jOjc3CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDxuYW1lPiA8bmV3dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tYWRkIDzlkI3np7A+IDzmlrDnmoTlnLDlnYA+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI0IGJ1aWx0aW4vcmVtb3RlLmM6NzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjUgYnVpbHRpbi9yZW1vdGUuYzo3OAogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA85ZCN56ewPiA85Zyw5Z2APiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyOQorIzogYnVpbHRpbi9yZW1vdGUuYzozMAogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzzpgInpobk+XSA85ZCN56ewPiA85Zyw5Z2APiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0OQorIzogYnVpbHRpbi9yZW1vdGUuYzo1MAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPOWQjeensD4gPOWIhuaUrz4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTEKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDzlkI3np7A+IDzliIbmlK8+Li4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjU1CisjOiBidWlsdGluL3JlbW90ZS5jOjU2CiBtc2dpZCAiZ2l0IHJlbW90ZSBzaG93IFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzaG93IFs86YCJ6aG5Pl0gPOWQjeensD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjEKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPOmAiemhuT5dIDzlkI3np7A+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY1CisjOiBidWlsdGluL3JlbW90ZS5jOjY2CiBtc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgdXBkYXRlIFs86YCJ6aG5Pl0gWzznu4Q+IHwgPOi/nOeoiz5dLi4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0CisjOiBidWlsdGluL3JlbW90ZS5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgogbXNnc3RyICLmm7TmlrAgJXMg5LitIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcKIG1zZ2lkICIiCiAiLS1taXJyb3IgaXMgZGFuZ2Vyb3VzIGFuZCBkZXByZWNhdGVkOyBwbGVhc2VcbiIKICJcdCB1c2UgLS1taXJyb3I9ZmV0Y2ggb3IgLS1taXJyb3I9cHVzaCBpbnN0ZWFkIgpAQCAtMTE0NTYsODYgKzExODI3LDg2IEBACiAiLS1taXJyb3Ig6YCJ6aG55Y2x6Zmp5LiU6L+H5pe277yM6K+35L2/55SoIC0tbWlycm9yPWZldGNoXG4iCiAiXHQg5oiWIC0tbWlycm9yPXB1c2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG1pcnJvciBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuacquefpeeahOmVnOWDj+WPguaVsO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjAKIG1zZ2lkICJmZXRjaCB0aGUgcmVtb3RlIGJyYW5jaGVzIgogbXNnc3RyICLmipPlj5bov5znqIvnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MgogbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCiBtc2dzdHIgIuaKk+WPluaXtuWvvOWFpeaJgOacieeahOagh+etvuWSjOWFs+iBlOWvueixoSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1CiBtc2dpZCAib3IgZG8gbm90IGZldGNoIGFueSB0YWcgYXQgYWxsICgtLW5vLXRhZ3MpIgogbXNnc3RyICLmiJbkuI3mipPlj5bku7vkvZXmoIfnrb7vvIgtLW5vLXRhZ3PvvIkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY2CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NwogbXNnaWQgImJyYW5jaChlcykgdG8gdHJhY2siCiBtc2dzdHIgIui3n+i4queahOWIhuaUryIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY4CiBtc2dpZCAibWFzdGVyIGJyYW5jaCIKIG1zZ3N0ciAi5Li757q/5YiG5pSvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkKIG1zZ2lkICJwdXNofGZldGNoIgogbXNnc3RyICJwdXNofGZldGNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAi5oqK6L+c56iL6K6+572u5Li655So5Lul5o6o6YCB5oiW5oqT5Y+W55qE6ZWc5YOPIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxODIKIG1zZ2lkICJzcGVjaWZ5aW5nIGEgbWFzdGVyIGJyYW5jaCBtYWtlcyBubyBzZW5zZSB3aXRoIC0tbWlycm9yIgogbXNnc3RyICLmjIflrprkuIDkuKogbWFzdGVyIOWIhuaUr+W5tuS9v+eUqCAtLW1pcnJvciDpgInpobnmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjE4NAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgIuaMh+Wumuimgei3n+i4queahOWIhuaUr+WPquWcqOS4juiOt+WPlumVnOWDj+WQjOaXtuS9v+eUqOaJjeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkxIGJ1aWx0aW4vcmVtb3RlLmM6NjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSAlcyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIui/nOeoiyAlcyDlt7Lnu4/lrZjlnKjjgIIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjMzCisjOiBidWlsdGluL3JlbW90ZS5jOjE5NSBidWlsdGluL3JlbW90ZS5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahOi/nOeoi+WQjeensCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCBtYXN0ZXIgJyVzJyIKIG1zZ3N0ciAi5peg5rOV6K6+572uIG1hc3RlciAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjMzNgorIzogYnVpbHRpbi9yZW1vdGUuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGdldCBmZXRjaCBtYXAgZm9yIHJlZnNwZWMgJXMiCiBtc2dzdHIgIuaXoOazleW+l+WIsOW8leeUqOinhOagvCAlcyDnmoTojrflj5bliJfooagiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDM3IGJ1aWx0aW4vcmVtb3RlLmM6NDQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjQzOCBidWlsdGluL3JlbW90ZS5jOjQ0NgogbXNnaWQgIihtYXRjaGluZykiCiBtc2dzdHIgIu+8iOWMuemFje+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDUwCiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIu+8iOWIoOmZpO+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIzIGJ1aWx0aW4vcmVtb3RlLmM6NzU4IGJ1aWx0aW4vcmVtb3RlLmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAi5rKh5pyJ6L+Z5qC355qE6L+c56iL77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM5CisjOiBidWlsdGluL3JlbW90ZS5jOjY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO96YeN5ZG95ZCN6YWN572u5bCP6IqCICclcycg5YiwICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CisjOiBidWlsdGluL3JlbW90ZS5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKQEAgLTExNTQ2LDE3ICsxMTkxNywxNyBAQAogIlx0JXNcbiIKICJcdOWmguaenOW/heimgeivt+aJi+WKqOabtOaWsOmFjee9ruOAgiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLliKDpmaQgJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CisjOiBidWlsdGluL3JlbW90ZS5jOjczMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi5Yib5bu6ICclcycg5aSx6LSlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5MgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTUKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTExNTY2LDE0NCArMTE5MzcsMTQ2IEBACiBtc2dzdHJbMF0gIuazqOaEj++8mnJlZi9yZW1vdGVzIOWxgue6p+S5i+WklueahOS4gOS4quWIhuaUr+acquiiq+enu+mZpOOAguimgeWIoOmZpOWug++8jOS9v+eUqO+8miIKIG1zZ3N0clsxXSAi5rOo5oSP77yacmVmL3JlbW90ZXMg5bGC57qn5LmL5aSW55qE5LiA5Lqb5YiG5pSv5pyq6KKr56e76Zmk44CC6KaB5Yig6Zmk5a6D5Lus77yM5L2/55So77yaIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgwNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICLkuI3og73np7vpmaTphY3nva7lsI/oioIgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIOaWsOeahO+8iOS4i+S4gOasoeiOt+WPluWwhuWtmOWCqOS6jiByZW1vdGVzLyVz77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTMKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIOW3sui3n+i4qiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE1CiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiDov4fml7bvvIjkvb/nlKggJ2dpdCByZW1vdGUgcHJ1bmUnIOadpeenu+mZpO+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAi5peg5pWI55qEIGJyYW5jaC4lcy5tZXJnZe+8jOS4jeiDveWPmOWfuuWIsOS4gOS4quS7peS4iueahOWIhuaUryIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAi5Lqk5LqS5byP5Y+Y5Z+65Yiw6L+c56iLICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAi5Y+Y5Z+65Yiw6L+c56iLICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NworIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIOS4jui/nOeoiyAlcyDlkIjlubYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIuS4jui/nOeoiyAlcyDlkIjlubYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjOiBidWlsdGluL3JlbW90ZS5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgogbXNnc3RyICIlLSpzICAgIOS7peWPiuWSjOi/nOeoiyAlc1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAi5Yib5bu6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMgogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAi5Yig6ZmkIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNgogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgIuacgOaWsCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICLlj6/lv6vov5siCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgIuacrOWcsOW3sui/h+aXtiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM2CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMg5by65Yi25o6o6YCB6IezICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMg5o6o6YCB6IezICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQzCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDlvLrliLbmjqjpgIHoh7MgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMg5o6o6YCB6IezICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNwogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICLkuI3mn6Xor6Lov5znqIsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqIOi/nOeoiyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQyCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIOiOt+WPluWcsOWdgO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDMgYnVpbHRpbi9yZW1vdGUuYzoxMTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ2IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MiBidWlsdGluL3JlbW90ZS5jOjEzMDEKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKOaXoCBVUkwpIgogCi0jLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAotIy4gdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgorIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduCisjLiB3aXRoIHRoZSBvbmUgaW4gIiBGZXRjaCBVUkw6ICVzIgorIy4gdHJhbnNsYXRpb24uCisjLgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAg5o6o6YCB5Zyw5Z2A77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQgYnVpbHRpbi9yZW1vdGUuYzoxMTY2IGJ1aWx0aW4vcmVtb3RlLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBIRUFEIOWIhuaUr++8miVzIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAi77yI5pyq5p+l6K+i77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NgogbXNnaWQgIih1bmtub3duKSIKIG1zZ3N0ciAi77yI5pyq55+l77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIEhFQUQg5YiG5pSv77yI6L+c56iLIEhFQUQg5qih57OK77yM5Y+v6IO95piv5LiL5YiX5Lit55qE5LiA5Liq77yJ77yaXG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCkBAIC0xMTcxMSwxNjQgKzEyMDg0LDE2NCBAQAogbXNnc3RyWzFdICIgIOi/nOeoi+WIhuaUr++8miVzIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OSBidWlsdGluL3JlbW90ZS5jOjEyMDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4NSBidWlsdGluL3JlbW90ZS5jOjEyMTEKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIu+8iOeKtuaAgeacquafpeivou+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg4CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICDkuLogJ2dpdCBwdWxsJyDphY3nva7nmoTmnKzlnLDliIbmlK/vvJoiCiBtc2dzdHJbMV0gIiAg5Li6ICdnaXQgcHVsbCcg6YWN572u55qE5pys5Zyw5YiG5pSv77yaIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAg5pys5Zyw5byV55So5bCG5ZyoICdnaXQgcHVzaCcg5pe26KKr6ZWc5YOPIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICDkuLogJ2dpdCBwdXNoJyDphY3nva7nmoTmnKzlnLDlvJXnlKglc++8miIKIG1zZ3N0clsxXSAiICDkuLogJ2dpdCBwdXNoJyDphY3nva7nmoTmnKzlnLDlvJXnlKglc++8miIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIzCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgIuagueaNrui/nOeoi+iuvue9riByZWZzL3JlbW90ZXMvPOWQjeensD4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICLliKDpmaQgcmVmcy9yZW1vdGVzLzzlkI3np7A+L0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAi5peg5rOV56Gu5a6a6L+c56iLIEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIuWkmuS4qui/nOeoiyBIRUFEIOWIhuaUr+OAguivt+aYjuehruWcsOmAieaLqeS4gOS4queUqOWRveS7pO+8miIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjUyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAi5peg5rOV5Yig6ZmkICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICLkuI3mmK/kuIDkuKrmnInmlYjlvJXnlKjvvJolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICLkuI3og73orr7nva4gJXMiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIOWwhuaIkOS4uuaRh+aRhueKtuaAge+8gSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL3JlbW90ZS5jOjEyODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyDlt7LmiJDkuLrmkYfmkYbnirbmgIHvvIEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCiBtc2dzdHIgIuS/ruWJqiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJM77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCiBtc2dzdHIgIiAqIFvlsIbliKDpmaRdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW+W3suWIoOmZpF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM1NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzYyCiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAi5oqT5Y+W5ZCO5riF6Zmk6L+c56iLIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDI1IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OSBidWlsdGluL3JlbW90ZS5jOjE1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAi5rKh5pyJ5q2k6L+c56iLICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAi5re75Yqg5YiG5pSvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgIuacquaMh+Wumui/nOeoiyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjUKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAi5p+l6K+i5o6o6YCBIFVSTCDlnLDlnYDvvIzogIzpnZ7ojrflj5YgVVJMIOWcsOWdgCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKIG1zZ2lkICJyZXR1cm4gYWxsIFVSTHMiCiBtc2dzdHIgIui/lOWbnuaJgOaciSBVUkwg5Zyw5Z2AIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBVUkxzIGNvbmZpZ3VyZWQgZm9yIHJlbW90ZSAnJXMnIgogbXNnc3RyICLmsqHmnInnu5nov5znqIvku5PlupMgJyVzJyDorr7lrpogVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyMQogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICLmk43kvZzmjqjpgIEgVVJMUyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjMKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICLmt7vliqAgVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICLliKDpmaQgVVJMUyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzIKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tYWRkIC0tZGVsZXRlIOaXoOaEj+S5iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICLml6DmlYjnmoTml6cgVVJMIOWMuemFjeaooeeJiO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIuacquaJvuWIsOatpCBVUkzvvJolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODMKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIuWwhuS4jeS8muWIoOmZpOaJgOaciemdnuaOqOmAgSBVUkwg5Zyw5Z2AIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NwogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgIuWGl+mVv+i+k+WHuu+8m+W/hemhu+e9ruS6juWtkOWRveS7pOS5i+WJjSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIyCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAi5pyq55+l5a2Q5ZG95Luk77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs86YCJ6aG5Pl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMKIG1zZ2lkICIiCiAiSW5jcmVtZW50YWwgcmVwYWNrcyBhcmUgaW5jb21wYXRpYmxlIHdpdGggYml0bWFwIGluZGV4ZXMuICBVc2VcbiIKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvciBkaXNhYmxlIHRoZSBwYWNrLndyaXRlYml0bWFwcyBjb25maWd1cmF0aW9uLiIKQEAgLTExODc2LDMyOCArMTIyNDksMzMyIEBACiAi5aKe6YePIHJlcGFjayDlkowgYml0bWFwIOe0ouW8leS4jeWFvOWuueOAgiAg5L2/55SoIC0tbm8td3JpdGUtYml0bWFwLWluZGV4XG4iCiAi5oiW56aB55SoIHBhY2sud3JpdGViaXRtYXBzIOmFjee9ruOAgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY4CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgIuaJgOacieWGheWuueaJk+WMheWIsOS4gOS4quWMheaWh+S7tuS4rSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcwCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAi5ZKMIC1hIOebuOWQjO+8jOW5tuWwhuS4jeWPr+i+vueahOWvueixoeiuvuS4uuadvuaVo+WvueixoSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCiBtc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgogbXNnc3RyICLliKDpmaTlpJrkvZnnmoTljIXvvIzov5DooYwgZ2l0LXBydW5lLXBhY2tlZCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc1CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIuWQkSBnaXQtcGFjay1vYmplY3RzIOS8oOmAkuWPguaVsCAtLW5vLXJldXNlLWRlbHRhIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIuWQkSBnaXQtcGFjay1vYmplY3RzIOS8oOmAkuWPguaVsCAtLW5vLXJldXNlLW9iamVjdCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICLkuI3ov5DooYwgZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgyCiBtc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIuWQkSBnaXQtcGFjay1vYmplY3RzIOS8oOmAkuWPguaVsCAtLWxvY2FsIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MgorIzogYnVpbHRpbi9yZXBhY2suYzoxODQKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgIuWGmSBiaXRtYXAg57Si5byVIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MworIzogYnVpbHRpbi9yZXBhY2suYzoxODUKIG1zZ2lkICJhcHByb3hpZGF0ZSIKIG1zZ3N0ciAi6L+R5Ly85pel5pyfIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NAorIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICLkvb/nlKggLUHvvIzkuI3opoHlsIbml6nkuo7nu5nlrprml7bpl7TnmoTlr7nosaHov4fmnJ8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLkvb/nlKggLWEg77yM6YeN5paw5a+55LiN5Y+v6L6+5a+56LGh5omT5YyFIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4OAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgIueUqOS6juWinumHj+WOi+e8qeeahOeql+WPo+WAvCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODkgYnVpbHRpbi9yZXBhY2suYzoxOTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxIGJ1aWx0aW4vcmVwYWNrLmM6MTk3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgIuWtl+iKgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkyCiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIuWSjOS4iumdoueahOebuOS8vO+8jOS9humZkOWItuWGheWtmOWkp+Wwj+iAjOmdnuadoeebruaVsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICLpmZDliLbmnIDlpKflop7ph4/mt7HluqYiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk0CisjOiBidWlsdGluL3JlcGFjay5jOjE5NgorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKK21zZ3N0ciAi6ZmQ5Yi25pyA5aSn57q/56iL5pWwIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE5OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICLmr4/kuKrljIXmlofku7bnmoTmnIDlpKflsLrlr7giCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk2CisjOiBidWlsdGluL3JlcGFjay5jOjIwMAogbXNnaWQgInJlcGFjayBvYmplY3RzIGluIHBhY2tzIG1hcmtlZCB3aXRoIC5rZWVwIgogbXNnc3RyICLlr7nmoIforrDkuLogLmtlZXAg55qE5YyF5Lit55qE5a+56LGh6YeN5paw5omT5YyFIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjIwNgorIzogYnVpbHRpbi9yZXBhY2suYzoyMTAKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLkuI3og73liKDpmaTnj43lk4Hku5PlupPkuK3nmoTmiZPljIXmlofku7YiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjEwCisjOiBidWlsdGluL3JlcGFjay5jOjIxNAogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIOWSjCAtQSDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6NDAwIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgogbXNnc3RyICLml6Dms5XliKDpmaQgJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIwCiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDzlr7nosaE+IDzmm7/mjaLniak+IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA8b2JqZWN0PiIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWVkaXQgPOWvueixoT4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMgogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1ncmFmdCA8Y29tbWl0PiBbPHBhcmVudD4uLi5dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPOaPkOS6pD4gWzzniLbmj5DkuqQ+Li4uXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzCiBtc2dpZCAiZ2l0IHJlcGxhY2UgLWQgPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCByZXBsYWNlIC1kIDzlr7nosaE+Li4uIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjQKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstLWZvcm1hdD085qC85byPPl0gWy1sIFs85qih5byPPl1dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMjUgYnVpbHRpbi9yZXBsYWNlLmM6MzYzIGJ1aWx0aW4vcmVwbGFjZS5jOjM5MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzMxIGJ1aWx0aW4vcmVwbGFjZS5jOjM2OSBidWlsdGluL3JlcGxhY2UuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOeahOWvueixoeWQje+8miclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAi5o+Q5LqkICclcycg5Lit5ZCr5pyJ5o2f5Z2P55qE5ZCI5bm25qCH562+IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgIuaPkOS6pCAnJXMnIOS4reWQq+aciemdnuazleeahOWQiOW5tuagh+etviIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzY4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgogImluc3RlYWQgb2YgLS1ncmFmdCIKIG1zZ3N0ciAi5Y6f5aeL5o+Q5LqkICclcycg5YyF5ZCr5bey57uP5Lii5byD55qE5ZCI5bm25qCH562+ICclcyfvvIzkvb/nlKggLS1lZGl0IOS7o+abvyAtLWdyYWZ0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZS4iCiBtc2dzdHIgIuWOn+Wni+aPkOS6pCAnJXMnIOS4reWMheWQq+S4gOS4qiBHUEcg562+5ZCNIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOAogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICLlnKjmm7/mjaLnmoTmj5DkuqTkuK3nrb7lkI3lsIbooqvnp7vpmaTvvIEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgogbXNnc3RyICLkuI3og73kuLogJyVzJyDlhpnmm7/mjaLmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM4CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgIuWIl+WHuuabv+aNoueahOW8leeUqCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDMzCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MzkKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICLliKDpmaTmm7/mjaLnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQwCiBtc2dpZCAiZWRpdCBleGlzdGluZyBvYmplY3QiCiBtc2dzdHIgIue8lui+keeOsOWtmOeahOWvueixoSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDM1CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NDEKIG1zZ2lkICJjaGFuZ2UgYSBjb21taXQncyBwYXJlbnRzIgogbXNnc3RyICLkv67mlLnkuIDkuKrmj5DkuqTnmoTniLbmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzNgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQyCiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAi5aaC5p6c5a2Y5Zyo5YiZ5pu/5o2i5byV55SoIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0MwogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAi5LiN6KaB5Li6IC0tZWRpdCDmk43kvZznvo7op4LmmL7npLrlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ0CiBtc2dpZCAidXNlIHRoaXMgZm9ybWF0IgogbXNnc3RyICLkvb/nlKjmraTmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTIKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTMKIG1zZ2lkICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCA8cGF0aD4uLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogbXNnc3RyICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCA86Lev5b6EPi4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6NTgKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NTkKIG1zZ2lkICJyZWdpc3RlciBjbGVhbiByZXNvbHV0aW9ucyBpbiBpbmRleCIKIG1zZ3N0ciAi5Zyo57Si5byV5Lit5rOo5YaM5bmy5YeA55qE6Kej5Yaz5pa55qGIIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjYKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOQogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzzmj5DkuqQ+XSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3CisjOiBidWlsdGluL3Jlc2V0LmM6MzAKIG1zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPOagkeaIluaPkOS6pD5dIFstLV0gPOi3r+W+hD4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOAorIzogYnVpbHRpbi9yZXNldC5jOjMxCiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgogbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPOagkeaIluaPkOS6pD5dIFstLV0gWzzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAi5re35p2CIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNwogbXNnaWQgInNvZnQiCiBtc2dzdHIgIui9r+aApyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJoYXJkIgogbXNnc3RyICLnoazmgKciCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNAorIzogYnVpbHRpbi9yZXNldC5jOjM3CiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgIuWQiOW5tiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0CisjOiBidWlsdGluL3Jlc2V0LmM6MzcKIG1zZ2lkICJrZWVwIgogbXNnc3RyICLkv53mjIEiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo3NAorIzogYnVpbHRpbi9yZXNldC5jOjc3CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCiBtc2dzdHIgIuaCqOayoeacieS4gOS4quacieaViOeahCBIRUFE44CCIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzYKKyM6IGJ1aWx0aW4vcmVzZXQuYzo3OQogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgIuaXoOazleaJvuWIsCBIRUFEIOaMh+WQkeeahOagkeOAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgyCisjOiBidWlsdGluL3Jlc2V0LmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iCiBtc2dzdHIgIuaXoOazleaJvuWIsCAlcyDmjIflkJHnmoTmoJHjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxMDAKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCiBtc2dzdHIgIkhFQUQg546w5Zyo5L2N5LqOICVzIgogCiAjICDor5HogIXvvJrmsYnlrZfkuYvpl7Tml6DnqbrmoLzvvIzmlYXliKDpmaQlc+WJjeWQjuepuuagvAotIzogYnVpbHRpbi9yZXNldC5jOjE4MworIzogYnVpbHRpbi9yZXNldC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICLlnKjlkIjlubbov4fnqIvkuK3kuI3og73lgZolc+mHjee9ruaTjeS9nOOAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3NgorIzogYnVpbHRpbi9yZXNldC5jOjI4NgogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgIuWuiemdmeaooeW8j++8jOWPquaKpeWRiumUmeivryIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI3OAorIzogYnVpbHRpbi9yZXNldC5jOjI4OAogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICLph43nva4gSEVBRCDlkozntKLlvJUiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyODkKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgIuWPqumHjee9riBIRUFEIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjgxIGJ1aWx0aW4vcmVzZXQuYzoyODMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTEgYnVpbHRpbi9yZXNldC5jOjI5MwogbXNnaWQgInJlc2V0IEhFQUQsIGluZGV4IGFuZCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIumHjee9riBIRUFE44CB57Si5byV5ZKM5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg1CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk1CiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICLph43nva4gSEVBRCDkvYbkv53lrZjmnKzlnLDlj5jmm7QiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyODgKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDEKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAi5bCG5Yig6Zmk55qE6Lev5b6E5qCH6K6w5Li656iN5ZCO5re75YqgIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL3Jlc2V0LmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIuaXoOazleWwhiAnJXMnIOino+aekOS4uuS4gOS4quacieaViOeahOeJiOacrOOAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxMworIzogYnVpbHRpbi9yZXNldC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIuaXoOazleWwhiAnJXMnIOino+aekOS4uuS4gOS4quacieaViOeahOagkeWvueixoeOAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyMgorIzogYnVpbHRpbi9yZXNldC5jOjMzNwogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCDkuI4gLS17aGFyZOOAgW1peGVk44CBc29mdH0g6YCJ6aG55LiN5YW85a65IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMxCisjOiBidWlsdGluL3Jlc2V0LmM6MzQ2CiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICItLW1peGVkIOW4pui3r+W+hOW3suW8g+eUqO+8jOiAjOaYr+eUqCAnZ2l0IHJlc2V0IC0tIDzot6/lvoQ+J+OAgiIKIAogIyAg6K+R6ICF77ya5rGJ5a2X5LmL6Ze05peg56m65qC877yM5pWF5Yig6ZmkJXPliY3lkI7nqbrmoLwKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICLkuI3og73luKbot6/lvoTov5vooYwlc+mHjee9ruOAgiIKIAogIyAg6K+R6ICF77ya5rGJ5a2X5LmL6Ze05peg56m65qC877yM5pWF5Yig6ZmkJXPliY3lkI7nqbrmoLwKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS4jeiDveWvuee6r+S7k+W6k+i/m+ihjCVz6YeN572uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQ3CisjOiBidWlsdGluL3Jlc2V0LmM6MzYyCiBtc2dpZCAiLU4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIC0tbWl4ZWQiCiBtc2dzdHIgIi1OIOWPquiDveWSjCAtLW1peGVkIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NAorIzogYnVpbHRpbi9yZXNldC5jOjM3OQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgogbXNnc3RyICLph43nva7lkI7lj5bmtojmmoLlrZjnmoTlj5jmm7TvvJoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNzAKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgIuS4jeiDvemHjee9rue0ouW8leaWh+S7tuiHs+eJiOacrCAnJXMn44CCIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mzc0CisjOiBidWlsdGluL3Jlc2V0LmM6Mzg5CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWl5paw55qE57Si5byV5paH5Lu244CCIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6MzU0CisjOiBidWlsdGluL3Jldi1saXN0LmM6MzU4CiBtc2dpZCAicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIgogbXNnc3RyICJyZXYtbGlzdCDkuI3mlK/mjIHmmL7npLrms6jop6MiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NAogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs86YCJ6aG5Pl0gLS0gWzzlj4LmlbA+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTYKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk5CiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICLkv53mjIEgYC0tYCDkvZzkuLrkuIDkuKrlj4LmlbDkvKDpgJIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMQogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAi6YGH5Yiw56ys5LiA5Liq6Z2e6YCJ6aG55Y+C5pWw5ZCO5YGc5q2i6Kej5p6QIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwMQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDQKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICLku6Xlm7rlrprplb/moLzlvI/ovpPlh7oiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTMyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUzNQogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEyMjExLDkyICsxMjU4OCw5NiBAQAogIlxuIgogIuWIneasoeS9v+eUqOaXtuaJp+ihjCBcImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtaFwiIOadpeiOt+W+l+abtOWkmuS/oeaBr+OAgiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMwogbXNnaWQgImdpdCByZXZlcnQgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgogbXNnc3RyICJnaXQgcmV2ZXJ0IFs86YCJ6aG5Pl0gPOaPkOS6pOWPtz4uLi4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQKIG1zZ2lkICJnaXQgcmV2ZXJ0IDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IHJldmVydCA85a2Q5ZG95LukPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyOAorIzogYnVpbHRpbi9yZXZlcnQuYzoyOQogbXNnaWQgImdpdCBjaGVycnktcGljayBbPG9wdGlvbnM+XSA8Y29tbWl0LWlzaD4uLi4iCiBtc2dzdHIgImdpdCBjaGVycnktcGljayBbPOmAiemhuT5dIDzmj5DkuqTlj7c+Li4uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjI5CisjOiBidWlsdGluL3JldmVydC5jOjMwCiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDzlrZDlkb3ku6Q+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjcxCisjOiBidWlsdGluL3JldmVydC5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlc++8miVzIOS4jeiDveWSjCAlcyDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTkKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLnu4jmraLlj43ovazmiJbmi6PpgInmk43kvZwiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAi57un57ut5Y+N6L2s5oiW5ouj6YCJ5pON5L2cIgogCi0jOiBidWlsdGluL3JldmVydC5jOjgyCisjOiBidWlsdGluL3JldmVydC5jOjEwMQogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIuWPlua2iOWPjei9rOaIluaLo+mAieaTjeS9nCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo4MworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAi5LiN6KaB6Ieq5Yqo5o+Q5LqkIgogCi0jOiBidWlsdGluL3JldmVydC5jOjg0CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLnvJbovpHmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODcKLW1zZ2lkICJwYXJlbnQgbnVtYmVyIgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKK21zZ2lkICJwYXJlbnQtbnVtYmVyIgogbXNnc3RyICLniLbnvJblj7ciCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3Cittc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKK21zZ3N0ciAi6YCJ5oup5Li75bmy54i25o+Q5Lqk57yW5Y+3IgorCisjOiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLlkIjlubbnrZbnlaUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICLpgInpobkiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi5ZCI5bm2562W55Wl55qE6YCJ6aG5IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjAKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIui/veWKoOaPkOS6pOWQjeensCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIyCiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgIuS/neeVmeWIneWni+WMlueahOepuuaPkOS6pCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIzCiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICLlhYHorrjmj5DkuqTor7TmmI7kuLrnqboiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEyNAogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICLkv53mjIHlpJrkvZnnmoTjgIHnqbrnmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTkyCisjOiBidWlsdGluL3JldmVydC5jOjIxMgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgIui/mOWOn+Wksei0pSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMDUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjI1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICLmi6PpgInlpLHotKUiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxNworIzogYnVpbHRpbi9ybS5jOjE4CiBtc2dpZCAiZ2l0IHJtIFs8b3B0aW9ucz5dIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gWzzpgInpobk+XSBbLS1dIDzmlofku7Y+Li4uIgogCi0jOiBidWlsdGluL3JtLmM6MjA1CisjOiBidWlsdGluL3JtLmM6MjA2CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xMjMwNiw3ICsxMjY4Nyw3IEBACiBtc2dzdHJbMF0gIuWmguS4i+aWh+S7tuWFtuaaguWtmOeahOWGheWuueWSjOW3peS9nOWMuuWPiiBIRUFEIOS4reeahOmDveS4jeS4gOagt++8miIKIG1zZ3N0clsxXSAi5aaC5LiL5paH5Lu25YW25pqC5a2Y55qE5YaF5a655ZKM5bel5L2c5Yy65Y+KIEhFQUQg5Lit55qE6YO95LiN5LiA5qC377yaIgogCi0jOiBidWlsdGluL3JtLmM6MjEwCisjOiBidWlsdGluL3JtLmM6MjExCiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC0xMjMxNCwxMyArMTI2OTUsMTMgQEAKICJcbiIKICLvvIjkvb/nlKggLWYg5by65Yi25Yig6Zmk77yJIgogCi0jOiBidWlsdGluL3JtLmM6MjE0CisjOiBidWlsdGluL3JtLmM6MjE1CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAi5LiL5YiX5paH5Lu257Si5byV5Lit5pyJ5Y+Y5pu0IgogbXNnc3RyWzFdICLkuIvliJfmlofku7bntKLlvJXkuK3mnInlj5jmm7QiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTggYnVpbHRpbi9ybS5jOjIyNworIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC0xMjMyOCwyOSArMTI3MDksMjkgQEAKICJcbiIKICLvvIjkvb/nlKggLS1jYWNoZWQg5L+d55WZ5pys5Zyw5paH5Lu277yM5oiW55SoIC1mIOW8uuWItuWIoOmZpO+8iSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNAorIzogYnVpbHRpbi9ybS5jOjIyNQogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAi5aaC5LiL5paH5Lu25pyJ5pys5Zyw5L+u5pS577yaIgogbXNnc3RyWzFdICLlpoLkuIvmlofku7bmnInmnKzlnLDkv67mlLnvvJoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDIKKyM6IGJ1aWx0aW4vcm0uYzoyNDMKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICLkuI3liJflh7rliKDpmaTnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi5Y+q5LuO57Si5byV5Yy65Yig6ZmkIgogCi0jOiBidWlsdGluL3JtLmM6MjQ0CisjOiBidWlsdGluL3JtLmM6MjQ1CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIuW/veeVpeaWh+S7tuabtOaWsOeKtuaAgeajgOafpSIKIAotIzogYnVpbHRpbi9ybS5jOjI0NQorIzogYnVpbHRpbi9ybS5jOjI0NgogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICLlhYHorrjpgJLlvZLliKDpmaQiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDcKKyM6IGJ1aWx0aW4vcm0uYzoyNDgKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAi5Y2z5L2/5rKh5pyJ5Yy56YWN77yM5Lmf5Lul6Zu254q25oCB6YCA5Ye6IgogCkBAIC0xMjM2OSw3ICsxMjc1MCw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgogbXNnc3RyICLml6Dms5XliKDpmaQgJyVzJyIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxOAorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxOQogbXNnaWQgIiIKICJnaXQgc2VuZC1wYWNrIFstLWFsbCB8IC0tbWlycm9yXSBbLS1kcnktcnVuXSBbLS1mb3JjZV0gWy0tcmVjZWl2ZS1wYWNrPTxnaXQtIgogInJlY2VpdmUtcGFjaz5dIFstLXZlcmJvc2VdIFstLXRoaW5dIFstLWF0b21pY10gWzxob3N0PjpdPGRpcmVjdG9yeT4gIgpAQCAtMTIzODAsMjMgKzEyNzYxLDIzIEBACiAicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPOS4u+acuj46XTznm67lvZU+IFs85byV55SoPi4uLl1cbiIKICIgIC0tYWxsIOWSjOaYjuehrueahCA85byV55SoPiDkupLmlqXjgIIiCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYwCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgogbXNnaWQgInJlbW90ZSBuYW1lIgogbXNnc3RyICLov5znqIvlkI3np7AiCiAKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcxCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgogbXNnaWQgInVzZSBzdGF0ZWxlc3MgUlBDIHByb3RvY29sIgogbXNnc3RyICLkvb/nlKjml6DnirbmgIHnmoQgUlBDIOWNj+iuriIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc3CiBtc2dpZCAicmVhZCByZWZzIGZyb20gc3RkaW4iCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WPluW8leeUqCIKIAotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc4CiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAi5omT5Y2w5p2l6Ieq6L+c56iLIGhlbHBlciDnmoTnirbmgIEiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxMworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0CiBtc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSBbPHBhdGg+Li4uXV0iCiBtc2dzdHIgImdpdCBzaG9ydGxvZyBbPOmAiemhuT5dIFs854mI5pys6IyD5Zu0Pl0gW1stLV0gWzzot6/lvoQ+Li4uXV0iCiAKQEAgLTEyNDI0LDcgKzEyODA1LDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIuaKmOihjOi+k+WHuiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjEwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTIKIG1zZ2lkICIiCiAiZ2l0IHNob3ctYnJhbmNoIFstYSB8IC0tYWxsXSBbLXIgfCAtLXJlbW90ZXNdIFstLXRvcG8tb3JkZXIgfCAtLWRhdGUtb3JkZXJdXG4iCiAiXHRcdFstLWN1cnJlbnRdIFstLWNvbG9yWz08d2hlbj5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXVxuIgpAQCAtMTI0MzYsMTI0ICsxMjgxNywxMjQgQEAKICJcdFx0Wy0tbW9yZT08bj4gfCAtLWxpc3QgfCAtLWluZGVwZW5kZW50IHwgLS1tZXJnZS1iYXNlXVxuIgogIlx0XHRbLS1uby1uYW1lIHwgLS1zaGExLW5hbWVdIFstLXRvcGljc10gWyg854mI5pysPiB8IDzpgJrphY3nrKY+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxNAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjE2CiBtc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZj5dIgogbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs85byV55SoPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZiIKIG1zZ2lkX3BsdXJhbCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiCiBtc2dzdHJbMF0gIuW/veeVpSAlc++8jOaXoOazleWkhOeQhiAlZCDkuKrku6XkuIrnmoTlvJXnlKgiCiBtc2dzdHJbMV0gIuW/veeVpSAlc++8jOaXoOazleWkhOeQhiAlZCDkuKrku6XkuIrnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgogbXNnc3RyICLmsqHmnInlkowgJXMg5Yy56YWN55qE5byV55SoIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjI2CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICLmmL7npLrov5znqIvot5/ouKrnmoTlkozmnKzlnLDnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MjgKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAi5pi+56S66L+c56iL6Lef6Liq55qE5YiG5pSvIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjMwCiBtc2dpZCAiY29sb3IgJyohKy0nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyYW5jaCIKIG1zZ3N0ciAi552A6ImyICcqISstJyDliLDnm7jlupTnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzIKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAi5pi+56S65YWx5ZCM56WW5YWI5ZCO55qEIDxuPiDkuKrmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzQKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgIuWSjCBtb3JlPS0xIOWQjOS5iSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzNQogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICLkuI3mmL7npLrlrZfnrKbkuLLlkb3lkI0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzcKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAi5YyF5ous5b2T5YmN5YiG5pSvIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICLku6Xlr7nosaHlkI3lrZflkb3lkI3mj5DkuqQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDEKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICLmmL7npLrlj6/og73lkIjlubbnmoTln7rnur8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICLmmL7npLrmsqHmnInku7vkvZXlvJXnlKjnmoTnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIuS7peaLk+aJkemhuuW6j+aYvuekuuaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICLlj6rmmL7npLrkuI3lnKjnrKzkuIDkuKrliIbmlK/kuIrnmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIuaYvuekuuS7heS4gOS4quWIhuaUr+WPr+iuv+mXrueahOWQiOW5tuaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAi5ouT5omR5pa55byP5o6S5bqP77yM5bm25bC95Y+v6IO95Zyw5L+d5oyB5pel5pyf6aG65bqPIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICI8bj5bLDxiYXNlPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAi5pi+56S65LuOIGJhc2Ug5byA5aeL55qEIDxuPiDmnaHmnIDov5HnmoTlvJXnlKjml6Xlv5forrDlvZUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2OTAKIG1zZ2lkICIiCiAiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCiBtc2dzdHIgIi0tcmVmbG9nIOWSjCAtLWFsbOOAgS0tcmVtb3Rlc+OAgS0taW5kZXBlbmRlbnQg5oiWIC0tbWVyZ2UtYmFzZSDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTQKIG1zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgogbXNnc3RyICLmnKrmj5DkvpvliIbmlK/vvIzkuJQgSEVBRCDml6DmlYgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTcKIG1zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgogbXNnc3RyICLpgInpobkgLS1yZWZsb2cg6ZyA6KaB5LiA5Liq5YiG5pSv5ZCNIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzMzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dzdHJbMF0gIuS4gOasoeWPquiDveaYvuekuiAlZCDkuKrmnaHnm67jgIIiCiBtc2dzdHJbMV0gIuS4gOasoeWPquiDveaYvuekuiAlZCDkuKrmnaHnm67jgIIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZWYgJXMiCiBtc2dzdHIgIuaXoOatpOW8leeUqCAlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXZzLiIKIG1zZ3N0clswXSAi5LiN6IO95aSE55CGICVkIOS4quS7peS4iueahOeJiOacrOOAgiIKIG1zZ3N0clsxXSAi5LiN6IO95aSE55CGICVkIOS4quS7peS4iueahOeJiOacrOOAgiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIiclcycg5LiN5piv5LiA5Liq5pyJ5pWI55qE5byV55So44CCIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgogbXNnc3RyICLkuI3og73mib7liLDmj5DkuqQgJXPvvIglc++8iSIKQEAgLTEyNjAyLDEyNCArMTI5ODMsMTMxIEBACiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5pi+56S65LuO5qCH5YeG6L6T5YWl5Lit6K+75YWl55qE5LiN5Zyo5pys5Zyw5LuT5bqT5Lit55qE5byV55SoIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxNworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE4CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOQogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstYyB8IC0tY29tbWVudC1saW5lc10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstYyB8IC0tY29tbWVudC1saW5lc10iCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM1CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgogbXNnaWQgInNraXAgYW5kIHJlbW92ZSBhbGwgbGluZXMgc3RhcnRpbmcgd2l0aCBjb21tZW50IGNoYXJhY3RlciIKIG1zZ3N0ciAi6Lez6L+H5ZKM56e76Zmk5omA5pyJ55qE5rOo6YeK6KGMIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOAorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzkKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgIuS4uuavj+S4gOihjOeahOihjOmmlua3u+WKoOazqOmHiuespuWSjOepuuagvCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICLmsqHmnInov5nmoLfnmoTlvJXnlKjvvJolcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICLmnJ/mnJvkuIDkuKrlrozmlbTnmoTlvJXnlKjlkI3np7DvvIzljbTlvpfliLAgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5LuOIHVybCAnJXMnIOWJpeemu+S4gOS4que7hOS7tiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzA1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICLnm7jlr7not6/lvoTnmoTmm7/ku6PplJrorrDvvIhhbmNob3LvvIkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMTAKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTzot6/lvoQ+XSBbPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzMzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIuWcqCAuZ2l0bW9kdWxlcyDkuK3mnKrmib7liLDlrZDmqKHnu4QgJyVzJyDnmoQgdXJsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgbG9va3VwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgorImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgorbXNnc3RyICLml6Dms5Xmib7liLDphY3nva4gJyVzJ+OAguWBh+Wumui/meS4quS7k+W6k+aYr+WFtuiHqui6q+eahOWumOaWueS4iua4uOOAgiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLml6Dms5XkuLrlrZDmqKHnu4QgJyVzJyDms6jlhowgdXJsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIuWtkOaooee7hCAnJXMn77yIJXPvvInmnKrlr7not6/lvoQgJyVzJyDms6jlhoxcbiIKIAogIwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAi6K2m5ZGK77ya5bu66K6u5a2Q5qih57uEICclcycg5L2/55So5ZG95Luk5pu05paw5qih5byPXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLml6Dms5XkuLrlrZDmqKHnu4QgJyVzJyDms6jlhozmm7TmlrDmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDMKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAi5Yid5aeL5YyW5a2Q5qih57uE5pe25oqR5Yi26L6T5Ye6IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDE1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQ4CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxwYXRoPl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs86Lev5b6EPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzYKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDzot6/lvoQ+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgIuWcqCAuZ2l0bW9kdWxlcyDkuK3msqHmnInlj5HnjrDot6/lvoQgJyVzJyDnmoTlrZDmqKHnu4TmmKDlsIQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKIG1zZ3N0ciAi5a2Q5qih57uEICclcycg5LiN6IO95re75Yqg5LuT5bqT5aSH6YCJ77yaJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIuS4jeiDveivhuWIqyBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSDnmoTlj5blgLwgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIuS4jeiDveivhuWIqyBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYWlvbiDnmoTlj5blgLwgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICLmlrDnmoTlrZDmqKHnu4TlsIbopoHlhYvpmobnmoTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICLmlrDlrZDmqKHnu4TnmoTlkI3np7AiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICLlhYvpmoblrZDmqKHnu4TnmoQgdXJsIOWcsOWdgCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NQogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAi5rWF5YWL6ZqG55qE5rex5bqmIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MwogbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIuW8uuWItuaYvuekuuWFi+mahui/m+W6piIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKQEAgLTEyNzI3LDE4NyArMTMxMTUsMTcwIEBACiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD086Lev5b6EPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSA85LuT5bqTPl0gIgogIlstLW5hbWUgPOWQjeWtlz5dIFstLWRlcHRoIDzmt7HluqY+XSAtLXVybCA8dXJsPiAtLXBhdGggPOi3r+W+hD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICLml6Dms5XlhYvpmoYgJyVzJyDliLDlrZDmqKHnu4Tot6/lvoQgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiBmaWxlICclcyciCi1tc2dzdHIgIuaXoOazleaJk+W8gOaWh+S7tiAnJXMnIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgotbXNnc3RyICLml6Dms5XlhbPpl63mlofku7YgJXMiCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICLml6Dms5XlvpfliLAgJyVzJyDnmoTlrZDmqKHnu4Tnm67lvZUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIuWtkOaooee7hCAnJXMnIOWwmuacquWIneWni+WMliIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc0NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICLkuZ/orrjmgqjmg7PopoHmiafooYwgJ3VwZGF0ZSAtLWluaXQn77yfIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi55Wl6L+H5pyq5ZCI5bm255qE5a2Q5qih57uEICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzkzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLnlaXov4flrZDmqKHnu4QgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICLlhYvpmoYgJyVzJyDlpLHotKXjgILmjInorqHliJLph43or5UiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCiBtc2dzdHIgIuesrOS6jOasoeWwneivleWFi+mahiAnJXMnIOWksei0pe+8jOmAgOWHuiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MgogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLliLDlt6XkvZzljLrnmoTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzcKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAi5bel5L2c5Yy65Lit55qE6Lev5b6E77yM6YCS5b2S5bWM5aWX5a2Q5qih57uEIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgxCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNl44CBbWVyZ2XjgIFjaGVja291dCDmiJYgbm9uZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4NQogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq5oyH5a6a5rex5bqm55qE5rWF5YWL6ZqGIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg4CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAi5bm25Y+R5Lu75YqhIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkwCiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICLliJ3lp4vlhYvpmobmmK/lkKblupTor6XpgbXlrojmjqjojZDnmoTmtYXlhYvpmobpgInpobkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTEKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLkuI3opoHovpPlh7rlhYvpmobov5vluqYiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD086Lev5b6EPl0gWzzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDgKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgInVwZGF0ZSDlj4LmlbDlj5blgLzplJnor68iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCiAidGhlIHN1cGVycHJvamVjdCBpcyBub3Qgb24gYW55IGJyYW5jaCIKIG1zZ3N0ciAi5a2Q5qih57uE77yIJXPvvInnmoTliIbmlK/phY3nva7kuLrnu6fmib/kuIrnuqfpobnnm67nmoTliIbmlK/vvIzkvYbmmK/kuIrnuqfpobnnm67kuI3lnKjku7vkvZXliIbmlK/kuIoiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MwogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICLlnKjlrZDmqKHnu4TkuK3pgJLlvZIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2OQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE1NwotbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCi1tc2dzdHIgInN1Ym1vZHVsZS1oZWxwZXIg5a2Q5ZG95Luk5b+F6aG755Sx5Y+m5aSW55qE5a2Q5ZG95Luk6LCD55SoIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICIlcyDkuI3mlK/mjIEgLS1zdXBlci1wcmVmaXgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiclcycg5LiN5piv5LiA5Liq5pyJ5pWI55qEIHN1Ym1vZHVsZS0taGVscGVyIOWtkOWRveS7pCIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo3CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKIG1zZ2lkICJnaXQgc3ltYm9saWMtcmVmIFs8b3B0aW9ucz5dIDxuYW1lPiBbPHJlZj5dIgogbXNnc3RyICJnaXQgc3ltYm9saWMtcmVmIFs86YCJ6aG5Pl0gPOWQjeensD4gWzzlvJXnlKg+XSIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo4CisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjkKIG1zZ2lkICJnaXQgc3ltYm9saWMtcmVmIC1kIFstcV0gPG5hbWU+IgogbXNnc3RyICJnaXQgc3ltYm9saWMtcmVmIC1kIFstcV0gPOWQjeensD4iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDAKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKIG1zZ2lkICJzdXBwcmVzcyBlcnJvciBtZXNzYWdlIGZvciBub24tc3ltYm9saWMgKGRldGFjaGVkKSByZWZzIgogbXNnc3RyICLkuI3mmL7npLrpnZ7nrKblj7fvvIjliIbnprvnmoTvvInlvJXnlKjnmoTplJnor6/kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKIG1zZ2lkICJkZWxldGUgc3ltYm9saWMgcmVmIgogbXNnc3RyICLliKDpmaTnrKblj7flvJXnlKgiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMKIG1zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCiBtc2dzdHIgIueugOefreeahOW8leeUqOi+k+WHuiIKIAotIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjIKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDQgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCiBtc2dpZCAicmVhc29uIgogbXNnc3RyICLljp/lm6AiCiAKLSM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYyCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQ0IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MwogbXNnaWQgInJlYXNvbiBvZiB0aGUgdXBkYXRlIgogbXNnc3RyICLmm7TmlrDnmoTljp/lm6AiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjMKKyM6IGJ1aWx0aW4vdGFnLmM6MjQKIG1zZ2lkICIiCiAiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl0gPHRhZ25hbWU+ICIKICJbPGhlYWQ+XSIKIG1zZ3N0ciAiIgogImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPOivtOaYjj4gfCAtRiA85paH5Lu2Pl0gPOagh+etvuWQjT4gWzzlpLQ+XSIKIAotIzogYnVpbHRpbi90YWcuYzoyNAorIzogYnVpbHRpbi90YWcuYzoyNQogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kIDzmoIfnrb7lkI0+Li4uIgogCi0jOiBidWlsdGluL3RhZy5jOjI1CisjOiBidWlsdGluL3RhZy5jOjI2CiBtc2dpZCAiIgotImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLXBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKKyJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgorInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKICJcdFx0Wy0tZm9ybWF0PTxmb3JtYXQ+XSBbLS1bbm8tXW1lcmdlZCBbPGNvbW1pdD5dXSBbPHBhdHRlcm4+Li4uXSIKIG1zZ3N0ciAiIgotImdpdCB0YWcgLWwgWy1uWzzmlbDlrZc+XV0gWy0tY29udGFpbnMgPOaPkOS6pD5dIFstLXBvaW50cy1hdCA85a+56LGhPl1cbiIKKyJnaXQgdGFnIC1sIFstbls85pWw5a2XPl1dIFstLWNvbnRhaW5zIDzmj5DkuqQ+XSBbLS1uby1jb250YWlucyA85o+Q5LqkPl0gWy0tcG9pbnRzLSIKKyJhdCA85a+56LGhPl1cbiIKICJcdFx0Wy0tZm9ybWF0PTzmoLzlvI8+XSBbLS1bbm8tXW1lcmdlZCBbPOaPkOS6pD5dXSBbPOaooeW8jz4uLi5dIgogCi0jOiBidWlsdGluL3RhZy5jOjI3CisjOiBidWlsdGluL3RhZy5jOjI4CiBtc2dpZCAiZ2l0IHRhZyAtdiBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IHRhZyAtdiBbLS1mb3JtYXQ9POagvOW8jz5dIDzmoIfnrb7lkI0+Li4uIgogCi0jOiBidWlsdGluL3RhZy5jOjgyCi0jLCBjLWZvcm1hdAotbXNnaWQgInRhZyBuYW1lIHRvbyBsb25nOiAlLipzLi4uIgotbXNnc3RyICLmoIfnrb7lkI3np7DlpKrplb/vvJolLipzLi4uIgotCi0jOiBidWlsdGluL3RhZy5jOjg3CisjOiBidWlsdGluL3RhZy5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgIuacquWPkeeOsOagh+etviAnJXMn44CCIgogCi0jOiBidWlsdGluL3RhZy5jOjEwMgorIzogYnVpbHRpbi90YWcuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLlt7LliKDpmaTmoIfnrb4gJyVzJ++8iOabvuS4uiAlc++8iVxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzMQorIzogYnVpbHRpbi90YWcuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTI5MjAsNyArMTMyOTEsNyBAQAogIiAgJXNcbiIKICLku6UgJyVjJyDlvIDlpLTnmoTooYzlsIbooqvlv73nlaXjgIJcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzUKKyM6IGJ1aWx0aW4vdGFnLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEyOTM0LDMyNSArMTMzMDUsMzQzIEBACiAiICAlc1xuIgogIuS7pSAnJWMnIOW8gOWktOeahOihjOWwhuiiq+S/neeVme+8jOWmguaenOaCqOaEv+aEj+S5n+WPr+S7peWIoOmZpOWug+S7rOOAglxuIgogCi0jOiBidWlsdGluL3RhZy5jOjIxMworIzogYnVpbHRpbi90YWcuYzoyMTEKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICLml6Dms5Xnrb7nvbLmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjE1CisjOiBidWlsdGluL3RhZy5jOjIxMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZ5qCH562+5paH5Lu2IgogCi0jOiBidWlsdGluL3RhZy5jOjI0MAorIzogYnVpbHRpbi90YWcuYzoyMzcKIG1zZ2lkICJiYWQgb2JqZWN0IHR5cGUuIgogbXNnc3RyICLlnY/nmoTlr7nosaHnsbvlnovjgIIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjUzCi1tc2dpZCAidGFnIGhlYWRlciB0b28gYmlnLiIKLW1zZ3N0ciAi5qCH562+5aS05L+h5oGv5aSq5aSn44CCIgotCi0jOiBidWlsdGluL3RhZy5jOjI4OQorIzogYnVpbHRpbi90YWcuYzoyODMKIG1zZ2lkICJubyB0YWcgbWVzc2FnZT8iCiBtc2dzdHIgIuaXoOagh+etvuivtOaYju+8nyIKIAotIzogYnVpbHRpbi90YWcuYzoyOTUKKyM6IGJ1aWx0aW4vdGFnLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSB0YWcgbWVzc2FnZSBoYXMgYmVlbiBsZWZ0IGluICVzXG4iCiBtc2dzdHIgIuagh+etvuivtOaYjuiiq+S/neeVmeWcqCAlc1xuIgogCi0jOiBidWlsdGluL3RhZy5jOjM1NAorIzogYnVpbHRpbi90YWcuYzozOTgKIG1zZ2lkICJsaXN0IHRhZyBuYW1lcyIKIG1zZ3N0ciAi5YiX5Ye65qCH562+5ZCN56ewIgogCi0jOiBidWlsdGluL3RhZy5jOjM1NgorIzogYnVpbHRpbi90YWcuYzo0MDAKIG1zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAi5q+P5Liq5qCH562+5L+h5oGv5omT5Y2wIDxuPiDooYwiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU4CisjOiBidWlsdGluL3RhZy5jOjQwMgogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICLliKDpmaTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzU5CisjOiBidWlsdGluL3RhZy5jOjQwMwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICLpqozor4HmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYxCisjOiBidWlsdGluL3RhZy5jOjQwNQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICLmoIfnrb7liJvlu7rpgInpobkiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzYzCisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAi6ZmE5rOo5qCH562+77yM6ZyA6KaB5LiA5Liq6K+05piOIgogCi0jOiBidWlsdGluL3RhZy5jOjM2NQorIzogYnVpbHRpbi90YWcuYzo0MDkKIG1zZ2lkICJ0YWcgbWVzc2FnZSIKIG1zZ3N0ciAi5qCH562+6K+05piOIgogCi0jOiBidWlsdGluL3RhZy5jOjM2NworIzogYnVpbHRpbi90YWcuYzo0MTEKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICLpmYTms6jlubbpmYTliqAgR1BHIOetvuWQjeeahOagh+etviIKIAotIzogYnVpbHRpbi90YWcuYzozNzEKKyM6IGJ1aWx0aW4vdGFnLmM6NDE1CiBtc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAi5L2/55So5Y+m5aSW55qE56eB6ZKl562+5ZCN6K+l5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjM3MgorIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICLlpoLmnpzlrZjlnKjvvIzmm7/mjaLnjrDmnInnmoTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzczIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OAorIzogYnVpbHRpbi90YWcuYzo0MTcgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5CiBtc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgogbXNnc3RyICLliJvlu7rlvJXnlKjml6Xlv5ciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc1CisjOiBidWlsdGluL3RhZy5jOjQxOQogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIuagh+etvuWIl+ihqOmAiemhuSIKIAotIzogYnVpbHRpbi90YWcuYzozNzYKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICLku6XliJfnmoTmlrnlvI/mmL7npLrmoIfnrb7liJfooagiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc3IGJ1aWx0aW4vdGFnLmM6Mzc4CisjOiBidWlsdGluL3RhZy5jOjQyMSBidWlsdGluL3RhZy5jOjQyMwogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKLW1zZ3N0ciAi5Y+q5omT5Y2w5YyF5ZCr5o+Q5Lqk55qE5qCH562+IgorbXNnc3RyICLlj6rmiZPljbDljIXlkKvor6Xmj5DkuqTnmoTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzc5CisjOiBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3RhZy5jOjQyNAorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAi5Y+q5omT5Y2w5LiN5YyF5ZCr6K+l5o+Q5Lqk55qE5qCH562+IgorCisjOiBidWlsdGluL3RhZy5jOjQyNQogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgIuWPquaJk+WNsOW3sue7j+WQiOW5tueahOagh+etviIKIAotIzogYnVpbHRpbi90YWcuYzozODAKKyM6IGJ1aWx0aW4vdGFnLmM6NDI2CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgIuWPquaJk+WNsOWwmuacquWQiOW5tueahOagh+etviIKIAotIzogYnVpbHRpbi90YWcuYzozODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDMxCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCi1tc2dzdHIgIuWPquaJk+WNsOWvueixoeeahOagh+etviIKK21zZ3N0ciAi5Y+q5omT5Y2w5oyH5ZCR6K+l5a+56LGh55qE5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjQxNQorIzogYnVpbHRpbi90YWcuYzo0NzAKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4g5ZKMIC1uIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi90YWcuYzo0MzcKLW1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICItbiDpgInpobnlj6rlhYHorrjlkowgLWwg5ZCM5pe25L2/55So44CCIgorIzogYnVpbHRpbi90YWcuYzo0OTIKK21zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiLW4g6YCJ6aG55Y+q5YWB6K6455So5Zyo5YiX6KGo5pi+56S65qih5byPIgogCi0jOiBidWlsdGluL3RhZy5jOjQzOQotbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCB3aXRoIC1sLiIKLW1zZ3N0ciAiLS1jb250YWlucyDpgInpobnlj6rlhYHorrjlkowgLWwg5ZCM5pe25L2/55So44CCIgorIzogYnVpbHRpbi90YWcuYzo0OTQKK21zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICItLWNvbnRhaW5zIOmAiemhueWPquWFgeiuuOeUqOWcqOWIl+ihqOaYvuekuuaooeW8jyIKIAotIzogYnVpbHRpbi90YWcuYzo0NDEKLW1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIHdpdGggLWwuIgotbXNnc3RyICItLXBvaW50cy1hdCDpgInpobnlj6rlhYHorrjlkowgLWwg5ZCM5pe25L2/55So44CCIgorIzogYnVpbHRpbi90YWcuYzo0OTYKK21zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICItLW5vLWNvbnRhaW5zIOmAiemhueWPquWFgeiuuOeUqOWcqOWIl+ihqOaYvuekuuaooeW8jyIKIAotIzogYnVpbHRpbi90YWcuYzo0NDMKLW1zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9uIGFyZSBvbmx5IGFsbG93ZWQgd2l0aCAtbCIKLW1zZ3N0ciAi6YCJ6aG5IC0tbWVyZ2VkIOWSjCAtLW5vLW1lcmdlZCDlj6rog73lkowgLWwg5YWx55SoIgorIzogYnVpbHRpbi90YWcuYzo0OTgKK21zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiLS1wb2ludHMtYXQg6YCJ6aG55Y+q5YWB6K6455So5Zyo5YiX6KGo5pi+56S65qih5byPIgogCi0jOiBidWlsdGluL3RhZy5jOjQ1NAorIzogYnVpbHRpbi90YWcuYzo1MDAKK21zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiLS1tZXJnZWQg5ZKMIC0tbm8tbWVyZ2VkIOmAiemhueWPquWFgeiuuOeUqOWcqOWIl+ihqOaYvuekuuaooeW8jyIKKworIzogYnVpbHRpbi90YWcuYzo1MTEKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIuWPquWFgeiuuOS4gOS4qiAtRiDmiJYgLW0g6YCJ6aG544CCIgogCi0jOiBidWlsdGluL3RhZy5jOjQ3MworIzogYnVpbHRpbi90YWcuYzo1MzAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgIuWkquWkmuWPguaVsCIKIAotIzogYnVpbHRpbi90YWcuYzo0NzkKKyM6IGJ1aWx0aW4vdGFnLmM6NTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahOagh+etvuWQjeensOOAgiIKIAotIzogYnVpbHRpbi90YWcuYzo0ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICLmoIfnrb4gJyVzJyDlt7LlrZjlnKgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTEyCisjOiBidWlsdGluL3RhZy5jOjU3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIuW3suabtOaWsOagh+etviAnJXMn77yI5pu+5Li6ICVz77yJXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTMKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTQKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi5bGV5byA5a+56LGh5LitIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICLml6Dms5XliJvlu7rnm67lvZUgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCi1tc2dzdHIgIuaXoOazleaemuS4viAlcyDnirbmgIEiCittc2dzdHIgIuWvuSAlcyDosIPnlKggc3RhdCDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgogbXNnc3RyICLml6Dms5XliJvlu7rmlofku7YgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGZpbGUgJXMiCiBtc2dzdHIgIuaXoOazleWIoOmZpOaWh+S7tiAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTAgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICLml6Dms5XliKDpmaTnm67lvZUgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICLlnKggJyVzJyDkuK3mtYvor5UgbXRpbWUgIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTAKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZmlsZSIKIG1zZ3N0ciAi5re75Yqg5LiA5Liq5paw5paH5Lu25ZCO77yM55uu5b2V55qE54q25oCB5L+h5oGv5pyq5pS55Y+YIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjMKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICLmt7vliqDkuIDkuKrmlrDnm67lvZXlkI7vvIznm67lvZXnmoTnirbmgIHkv6Hmga/mnKrmlLnlj5giCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTcxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3NgogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCiBtc2dzdHIgIuabtOaWsOS4gOS4quaWh+S7tuWQju+8jOebruW9leeahOeKtuaAgeS/oeaBr+iiq+S/ruaUuSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg3CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAi5Zyo5a2Q55uu5b2V5Lit5re75Yqg5paH5Lu25ZCO77yM55uu5b2V55qE54q25oCB5L+h5oGv6KKr5L+u5pS5IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTgKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgIuWIoOmZpOS4gOS4quaWh+S7tuWQju+8jOebruW9leeahOeKtuaAgeS/oeaBr+acquaUueWPmCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjExCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIuWIoOmZpOS4gOS4quebruW9leWQju+8jOebruW9leeahOeKtuaAgeS/oeaBr+acquaUueWPmCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE4CiBtc2dpZCAiIE9LIgogbXNnc3RyICIgT0siCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2OQogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPOmAiemhuT5dIFstLV0gWzzmlofku7Y+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI0CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICLlvZPntKLlvJXpnIDopoHmm7TmlrDml7bnu6fnu63liLfmlrAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICLliLfmlrDvvJrlv73nlaXlrZDmqKHnu4QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMAogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICLkuI3lv73nlaXmlrDnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLorqnmlofku7bmm7/mjaLnm67lvZXvvIjlj43kuYvkuqbnhLbvvIkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIumAmuefpeaWh+S7tuS7juW3peS9nOWMuuS4ouWksSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIuWNs+S9v+e0ouW8leWMuuWMheWQq+acquWQiOW5tueahOadoeebruS5n+aJp+ihjOWIt+aWsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICLliLfmlrDnu5/orqHkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAi57G75Ly85LqOIC0tcmVmcmVzaO+8jOS9huaYr+W/veeVpSBhc3N1bWUtdW5jaGFuZ2VkIOiuvue9riIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPOWtmOWPluaooeW8jz4sPOWvueixoT4sPOi3r+W+hD4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi5re75Yqg5oyH5a6a55qE5p2h55uu5Yiw57Si5byV5Yy6IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIuaKiuaWh+S7tuagh+iusOS4uiBcIuayoeacieWPmOabtFwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjAKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgIua4hemZpCBhc3N1bWVkLXVuY2hhbmdlZCDkvY0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIuaKiuaWh+S7tuagh+iusOS4uiBcIuS7hee0ouW8lVwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAi5riF6ZmkIHNraXAtd29ya3RyZWUg5L2NIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAi5Y+q5re75Yqg5Yiw57Si5byV5Yy677yb5LiN5re75Yqg5a+56LGh5Yiw5a+56LGh5bqTIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzEKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICLljbPkvb/lrZjlnKjlt6XkvZzljLrph4zvvIzkuZ/liKDpmaTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MwogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAi5pC65bimIC0tc3RkaW7vvJrovpPlhaXnmoTooYzku6UgbnVsbCDlrZfnrKbnu4jmraIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeS4reivu+WPlumcgOimgeabtOaWsOeahOi3r+W+hOWIl+ihqCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc5CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpea3u+WKoOadoeebruWIsOe0ouW8leWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgzCiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICLkuLrmjIflrprmlofku7bph43mlrDnlJ/miJDnrKwy5ZKM56ysM+aaguWtmOWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg3CiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgIuWPquabtOaWsOS4jiBIRUFEIOS4jeWQjOeahOadoeebriIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAi5b+955Wl5bel5L2c5Yy65Lii5aSx55qE5paH5Lu2IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTQKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIuWcqOagh+WHhui+k+WHuuaYvuekuuaTjeS9nCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk2CiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihmb3IgcG9yY2VsYWlucykg5b+Y6K6w5L+d5a2Y55qE5pyq6Kej5Yaz55qE5Yay56qBIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgIuS7pei/meenjeagvOW8j+WGmeWFpee0ouW8leWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMgogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICLlkK/nlKjmiJbnpoHnlKjntKLlvJXmi4bliIYiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDQKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgIuWQr+eUqC/npoHnlKjlr7nmnKrot5/ouKrmlofku7bnmoTnvJPlrZgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA2CiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgIua1i+ivleaWh+S7tuezu+e7n+aYr+WQpuaUr+aMgeacqui3n+i4quaWh+S7tue8k+WtmCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAi5peg6ZyA5qOA5rWL5paH5Lu257O757uf77yM5ZCv55So5a+55pyq6Lef6Liq5paH5Lu255qE57yT5a2YIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEwOAorbXNnaWQgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgorImVuYWJsZSBzcGxpdCBpbmRleCIKK21zZ3N0ciAiIgorImNvcmUuc3BsaXRJbmRleCDooqvorr7nva7kuLogZmFsc2XjgILlpoLmnpzmgqjnoa7lrp7opoHlkK/nlKjntKLlvJXmi4bliIbvvIzor7fliKDpmaTmiJbkv67mlLnlroPjgIIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExNworbXNnaWQgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZGlzYWJsZSBzcGxpdCBpbmRleCIKK21zZ3N0ciAiIgorImNvcmUuc3BsaXRJbmRleCDooqvorr7nva7kuLogdHJ1ZeOAguWmguaenOaCqOehruWunuimgeemgeeUqOe0ouW8leaLhuWIhu+8jOivt+WIoOmZpOaIluS/ruaUueWug+OAgiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTI4CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTMyNjAsMTEgKzEzNjQ5LDExIEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSDooqvorr7nva7kuLogdHJ1ZeOAguWmguaenOaCqOehruWunuimgeemgeeUqOacqui3n+i4quaWh+S7tue8k+WtmO+8jOivt+WIoOmZpOaIluS/riIKICLmlLnlroPjgIIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMyCiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICLnvJPlrZjmnKrot5/ouKrmlofku7booqvnpoHnlKgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQwCiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTMyNzIsMTMzICsxMzY2MSwxMzMgQEAKICJjb3JlLnVudHJhY2tlZENhY2hlIOiiq+iuvue9ruS4uiBmYWxzZeOAguWmguaenOaCqOehruWunuimgeWQr+eUqOacqui3n+i4quaWh+S7tue8k+WtmO+8jOivt+WIoOmZpOaIliIKICLkv67mlLnlroPjgIIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICLnvJPlrZjmnKrot5/ouKrmlofku7blnKggJyVzJyDlkK/nlKgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjkKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLWQgPHJlZm5hbWU+IFs8b2xkLXZhbD5dIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPOmAiemhuT5dIC1kIDzlvJXnlKjlkI0+IFs85pen5YC8Pl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEwCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMQogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dICAgIDxyZWZuYW1lPiA8bmV3LXZhbD4gWzxvbGQtdmFsPl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs86YCJ6aG5Pl0gICAgPOW8leeUqOWQjT4gPOaWsOWAvD4gWzzml6flgLw+XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgogbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPOmAiemhuT5dIC0tc3RkaW4gWy16XSIKIAotIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjQKIG1zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKIG1zZ3N0ciAi5Yig6Zmk5byV55SoIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjUKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NgogbXNnaWQgInVwZGF0ZSA8cmVmbmFtZT4gbm90IHRoZSBvbmUgaXQgcG9pbnRzIHRvIgogbXNnc3RyICLmm7TmlrAgPOW8leeUqOWQjT4g5pys6Lqr6ICM5LiN5piv5a6D5oyH5ZCR55qE5byV55SoIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjYKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCiBtc2dzdHIgIuagh+WHhui+k+WFpeacieS7pSBOVUwg5a2X56ym57uI5q2i55qE5Y+C5pWwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjcKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OAogbXNnaWQgInJlYWQgdXBkYXRlcyBmcm9tIHN0ZGluIgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5bmm7TmlrAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6NgorIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo3CiBtc2dpZCAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCiBtc2dzdHIgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE0CisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE1CiBtc2dpZCAidXBkYXRlIHRoZSBpbmZvIGZpbGVzIGZyb20gc2NyYXRjaCIKIG1zZ3N0ciAi5LuO5aS05byA5aeL5pu05paw5paH5Lu25L+h5oGvIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxNworIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTgKIG1zZ2lkICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDzmj5DkuqQ+Li4uIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MgorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMKIG1zZ2lkICJwcmludCBjb21taXQgY29udGVudHMiCiBtc2dzdHIgIuaJk+WNsOaPkOS6pOWGheWuuSIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc0IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICLmiZPljbDljp/lp4sgZ3BnIOeKtuaAgei+k+WHuiIKIAotIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU0CisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NTUKIG1zZ2lkICJnaXQgdmVyaWZ5LXBhY2sgWy12IHwgLS12ZXJib3NlXSBbLXMgfCAtLXN0YXQtb25seV0gPHBhY2s+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXBhY2sgWy12IHwgLS12ZXJib3NlXSBbLXMgfCAtLXN0YXQtb25seV0gPOWMhT4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NAorIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY1CiBtc2dpZCAidmVyYm9zZSIKIG1zZ3N0ciAi5YaX6ZW/6L6T5Ye6IgogCi0jOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjYKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NwogbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgogbXNnc3RyICLlj6rmmL7npLrnu5/orqEiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE4CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOQogbXNnaWQgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9POagvOW8jz5dIDzmoIfnrb4+Li4uIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNgorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKIG1zZ2lkICJwcmludCB0YWcgY29udGVudHMiCiBtc2dzdHIgIuaJk+WNsOagh+etvuWGheWuuSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKIG1zZ2lkICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxwYXRoPiBbPGJyYW5jaD5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs86YCJ6aG5Pl0gPOi3r+W+hD4gWzzliIbmlK8+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzzpgInpobk+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKIG1zZ2lkICJnaXQgd29ya3RyZWUgbG9jayBbPG9wdGlvbnM+XSA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBsb2NrIFs86YCJ6aG5Pl0gPOi3r+W+hD4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgWzzpgInpobk+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjAKIG1zZ2lkICJnaXQgd29ya3RyZWUgdW5sb2NrIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHVubG9jayA86Lev5b6EPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBub3QgYSB2YWxpZCBkaXJlY3RvcnkiCiBtc2dzdHIgIuWIoOmZpOW3peS9nOWMui8lc++8muS4jeaYr+S4gOS4quacieaViOeahOebruW9lSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi5Yig6ZmkIHdvcmt0cmVlcy8lc++8mmdpdGRpciDmlofku7bkuI3lrZjlnKgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAi5Yig6ZmkIHdvcmt0cmVlcy8lc++8muaXoOazleivu+WPliBnaXRkaXIg5paH5Lu2ICglcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAi5Yig6ZmkIHdvcmt0cmVlcy8lc++8muaXoOaViOeahCBnaXRkaXIg5paH5Lu2IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgIuWIoOmZpCB3b3JrdHJlZXMvJXPvvJpnaXRkaXIg5paH5Lu255qE5oyH5ZCR5LiN5a2Y5ZyoIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTI4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTI5CiBtc2dpZCAicmVwb3J0IHBydW5lZCB3b3JraW5nIHRyZWVzIgogbXNnc3RyICLmiqXlkYrmuIXpmaTnmoTlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzEKIG1zZ2lkICJleHBpcmUgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAi5bCG5pep5LqOIDx0aW1lPiDnmoTlt6XkvZzljLrov4fmnJ8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiJyVzJyDlt7Lnu4/lrZjlnKgiCkBAIC0xMzQwOCw5NiArMTM3OTcsMTAwIEBACiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu655uu5b2VICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKIG1zZ3N0ciAi5YeG5aSHICVz77yI5qCH6K+G56ymICVz77yJIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzIzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICLmo4Dlh7rliIbmlK8gPGJyYW5jaD4g5Y2z5L2/5bey57uP6KKr5qOA5Ye65Yiw5YW25a6D5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq5paw5YiG5pSvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzMxCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICLliJvlu7rmiJbph43nva7kuIDkuKrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzMKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi55Sf5oiQ5paw55qE5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzM3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzM0Cittc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCittc2dzdHIgIumUgeWumuaWsOW3peS9nOWMuiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjM0MgogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1i44CBLUIg5ZKMIC0tZGV0YWNoIOaYr+S6kuaWpeeahCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3OQogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAi6ZSB5a6a5Y6f5ZugIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEgYnVpbHRpbi93b3JrdHJlZS5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODYgYnVpbHRpbi93b3JrdHJlZS5jOjUxOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MyBidWlsdGluL3dvcmt0cmVlLmM6NTI2CiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgIuS4u+W3peS9nOWMuuaXoOazleiiq+WKoOmUgeaIluino+mUgSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgogbXNnc3RyICInJXMnIOW3suiiq+mUgeWumu+8jOWOn+WboO+8miVzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCiBtc2dzdHIgIiclcycg5bey6KKr6ZSB5a6aIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTIxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKIG1zZ3N0ciAiJyVzJyDmnKrooqvplIHlrpoiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNAogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9POWJjee8gD4vXSIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CiBtc2dpZCAiPHByZWZpeD4vIgogbXNnc3RyICI85YmN57yAPi8iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAi5bCGIDzliY3nvIA+IOWtkOebruW9leWGheWuueWGmeWIsOS4gOS4quagkeWvueixoSIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzAKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMxCiBtc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKIG1zZ3N0ciAi5Y+q5a+56LCD6K+V5pyJ55SoIgogCi0jOiB1cGxvYWQtcGFjay5jOjIyCisjOiB1cGxvYWQtcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzzpgInpobk+XSA855uu5b2VPiIKIAotIzogdXBsb2FkLXBhY2suYzoxMDM2CisjOiB1cGxvYWQtcGFjay5jOjEwNDEKIG1zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCiBtc2dzdHIgIuWcqOS4gOasoeWNleeLrOeahOivt+axgi/lk43lupTvvIhyZXF1ZXN0L3Jlc3BvbnNl77yJ5Lqk5o2i5ZCO6YCA5Ye6IgogCi0jOiB1cGxvYWQtcGFjay5jOjEwMzgKKyM6IHVwbG9hZC1wYWNrLmM6MTA0MwogbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKIG1zZ3N0ciAi5Zyo5Yid5aeL55qE5byV55So5bm/5ZGK5ZCO56uL5Y2z6YCA5Ye6IgogCi0jOiB1cGxvYWQtcGFjay5jOjEwNDAKKyM6IHVwbG9hZC1wYWNrLmM6MTA0NQogbXNnaWQgImRvIG5vdCB0cnkgPGRpcmVjdG9yeT4vLmdpdC8gaWYgPGRpcmVjdG9yeT4gaXMgbm8gR2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAi5LiN6KaB5bCd6K+VIDxkaXJlY3Rvcnk+Ly5naXQvIOWmguaenCA8ZGlyZWN0b3J5PiDkuI3mmK/kuIDkuKogR2l0IOebruW9lSIKIAotIzogdXBsb2FkLXBhY2suYzoxMDQyCisjOiB1cGxvYWQtcGFjay5jOjEwNDcKIG1zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKIG1zZ3N0ciAi5LiN5rS75YqoIDxuPiDnp5Lpkp/lkI7nu4jmraLkvKDovpMiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCkBAIC0xMzUxMCwxMSArMTM5MDMsMTEgQEAKICJcbiIKICJcdGNobW9kIDA3MDAgJXMiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQorIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAi6LCD6K+V5L+h5oGv6L6T5Ye65Yiw5qCH5YeG6ZSZ6K+vIgogCi0jOiBnaXQuYzoxNAorIzogZ2l0LmM6MTUKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKQEAgLTEzNTI0LDE1ICsxMzkxNywyMCBAQAogIuafpeeciyAnZ2l0IGhlbHAgPOWRveS7pD4nIOaIliAnZ2l0IGhlbHAgPOamguW/tT4nIOS7peiOt+WPlue7meWumuWtkOWRveS7pOaIluamguW/teeahFxuIgogIuW4ruWKqeOAgiIKIAotIzogaHR0cC5jOjM0NAorIzogaHR0cC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgorbXNnc3RyICJodHRwLnBvc3RidWZmZXIg5Li66LSf5YC877yM6buY6K6k5Li6ICVkIgorCisjOiBodHRwLmM6MzU4CiBtc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgogbXNnc3RyICLlvZMgY1VSTCA8IDcuMjIuMCDml7bvvIzkuI3mlK/mjIHlp5TmiZjmjqfliLYiCiAKLSM6IGh0dHAuYzozNTMKKyM6IGh0dHAuYzozNjcKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIuS4jeaUr+aMgeWFrOmSpeaWh+S7tumUgeWumu+8jOWboOS4uiBjVVJMIDwgNy40NC4wIgogCi0jOiBodHRwLmM6MTcxMworIzogaHR0cC5jOjE3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byB1cGRhdGUgdXJsIGJhc2UgZnJvbSByZWRpcmVjdGlvbjpcbiIKQEAgLTEzNTQzLDcgKzEzOTQxLDcgQEAKICIgICAgIOivt+axgu+8miVzXG4iCiAiICAg6YeN5a6a5ZCR77yaJXMiCiAKLSM6IHJlbW90ZS1jdXJsLmM6MzE5CisjOiByZW1vdGUtY3VybC5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKIG1zZ3N0ciAi6YeN5a6a5ZCR5YiwICVzIgpAQCAtMTM5MTEsNyArMTQzMDksNyBAQAogbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgogbXNnc3RyICLnroDljZXlkIjlubbmnKrnlJ/mlYjvvIzlsJ3or5Xoh6rliqjlkIjlubbjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcKKyM6IGdpdC1yZWJhc2Uuc2g6NTgKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCkBAIC0xMzkyMiwzNyArMTQzMjAsNDEgQEAKICLlpoLmnpzmgqjmg7Pot7Pov4fmraTooaXkuIHvvIzliJnmiafooYwgXCJnaXQgcmViYXNlIC0tc2tpcFwi44CCXG4iCiAi6KaB5oGi5aSN5Y6f5YiG5pSv5bm25YGc5q2i5Y+Y5Z+677yM5omn6KGMIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCLjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTU3IGdpdC1yZWJhc2Uuc2g6Mzk2CisjOiBnaXQtcmViYXNlLnNoOjE1OCBnaXQtcmViYXNlLnNoOjM5NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgogbXNnc3RyICLml6Dms5Xnp7vlm54gJGhlYWRfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNzEKKyM6IGdpdC1yZWJhc2Uuc2g6MTY5Cittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgorbXNnc3RyICLmiJDlip/lupTnlKggYXV0b3N0YXNo44CCIgorCisjOiBnaXQtcmViYXNlLnNoOjE3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgogbXNnc3RyICLml6Dms5Xkv53lrZggJHN0YXNoX3NoYTEiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjExCisjOiBnaXQtcmViYXNlLnNoOjIxMgogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICLpkqnlrZAgcHJlLXJlYmFzZSDmi5Lnu53lj5jln7rmk43kvZzjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjE2CisjOiBnaXQtcmViYXNlLnNoOjIxNwogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAi5Ly85LmO5q2j5aSE5LqO5ZyoIGdpdC1hbSDnmoTmiafooYzov4fnqIvkuK3jgILml6Dms5Xlj5jln7rjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU3CisjOiBnaXQtcmViYXNlLnNoOjM1OAogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIuayoeacieato+WcqOi/m+ihjOeahOWPmOWfuu+8nyIKIAotIzogZ2l0LXJlYmFzZS5zaDozNjgKKyM6IGdpdC1yZWJhc2Uuc2g6MzY5CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICLliqjkvZwgLS1lZGl0LXRvZG8g5Y+q6IO955So5Zyo5Lqk5LqS5byP5Y+Y5Z+66L+H56iL5Lit44CCIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3NQorIzogZ2l0LXJlYmFzZS5zaDozNzYKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICLkuI3og73or7vlj5YgSEVBRCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzgKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc5CiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTM5NjAsNyArMTQzNjIsNyBAQAogIuaCqOW/hemhu+e8lui+keaJgOacieeahOWQiOW5tuWGsueqge+8jOeEtuWQjumAmui/hyBnaXQgYWRkXG4iCiAi5ZG95Luk5bCG5a6D5Lus5qCH6K6w5Li65bey6Kej5YazIgogCi0jOiBnaXQtcmViYXNlLnNoOjQxOAorIzogZ2l0LXJlYmFzZS5zaDo0MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTEzOTc5LDEwMSArMTQzODEsMTAxIEBACiAiXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgogIueEtuWQjuWGjemHjeaWsOaJp+ihjOWPmOWfuuaTjeS9nOOAgiDkuLrpgb/lhY3kuKLlpLHph43opoHmlbDmja7vvIzmiJHlt7Lnu4/lgZzmraLlvZPliY3mk43kvZzjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY5CisjOiBnaXQtcmViYXNlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAi5peg5pWI55qE5LiK5ri4ICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MworIzogZ2l0LXJlYmFzZS5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiDmnInkuIDkuKrku6XkuIrnmoTlkIjlubbln7rlh4YiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDk2IGdpdC1yZWJhc2Uuc2g6NTAwCisjOiBnaXQtcmViYXNlLnNoOjQ5NyBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZTog5rKh5pyJ5ZCI5bm25Z+65YeGIgogCi0jOiBnaXQtcmViYXNlLnNoOjUwNQorIzogZ2l0LXJlYmFzZS5zaDo1MDYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICLmsqHmnInmjIflkJHkuIDkuKrmnInmlYjnmoTmj5DkuqTvvJokb250b19uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyOAorIzogZ2l0LXJlYmFzZS5zaDo1MjkKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICLkuKXph43plJnor6/vvJrml6DmraTliIbmlK/vvJokYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYxCisjOiBnaXQtcmViYXNlLnNoOjU2MgogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIuaXoOazlSBhdXRvc3Rhc2giCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTY2CisjOiBnaXQtcmViYXNlLnNoOjU2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIuWIm+W7uuS6hiBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcwCisjOiBnaXQtcmViYXNlLnNoOjU3MQogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCi1tc2dzdHIgIuivt+aPkOS6pOaIluS4uuWug+S7rOS/neWtmOi/m+W6puOAgiIKK21zZ3N0ciAi6K+35o+Q5Lqk5oiW6LSu6JeP5L+u5pS544CCIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MAorIzogZ2l0LXJlYmFzZS5zaDo1OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSvICRicmFuY2hfbmFtZSDmmK/mnIDmlrDnmoTjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTk0CisjOiBnaXQtcmViYXNlLnNoOjU5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICLlvZPliY3liIbmlK8gJGJyYW5jaF9uYW1lIOaYr+acgOaWsOeahO+8jOW8uuWItuWPmOWfuuOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MDUKKyM6IGdpdC1yZWJhc2Uuc2g6NjA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAi5Y+Y5pu05LuOICRtYiDliLAgJG9udG/vvJoiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjE0CisjOiBnaXQtcmViYXNlLnNoOjYxNQogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKIG1zZ3N0ciAi6aaW5YWI77yM5Zue6YCA5YiG5pSv5Lul5L6/5Zyo5LiK6Z2i6YeN5pS+5oKo55qE5bel5L2cLi4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyNAorIzogZ2l0LXJlYmFzZS5zaDo2MjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAi5b+r6L+bICRicmFuY2hfbmFtZSDoh7MgJG9udG9fbmFtZeOAgiIKIAotIzogZ2l0LXN0YXNoLnNoOjUwCisjOiBnaXQtc3Rhc2guc2g6NTQKIG1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCiBtc2dzdHIgImdpdCBzdGFzaCBjbGVhciDkuI3mlK/mjIHlj4LmlbAiCiAKLSM6IGdpdC1zdGFzaC5zaDo3MworIzogZ2l0LXN0YXNoLnNoOjk1CiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCiBtc2dzdHIgIuaCqOWwmuacquW7uueri+WIneWni+aPkOS6pCIKIAotIzogZ2l0LXN0YXNoLnNoOjg4CisjOiBnaXQtc3Rhc2guc2g6MTEwCiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIuaXoOazleS/neWtmOW9k+WJjee0ouW8leeKtuaAgSIKIAotIzogZ2l0LXN0YXNoLnNoOjEwMworIzogZ2l0LXN0YXNoLnNoOjEyNQogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuaXoOazleS/neWtmOacqui3n+i4quaWh+S7tiIKIAotIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CisjOiBnaXQtc3Rhc2guc2g6MTQ1IGdpdC1zdGFzaC5zaDoxNTgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKIG1zZ3N0ciAi5peg5rOV5L+d5a2Y5b2T5YmN5bel5L2c5Yy654q25oCBIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQwCisjOiBnaXQtc3Rhc2guc2g6MTYyCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAi5rKh5pyJ6YCJ5oup5Y+Y5pu0IgogCi0jOiBnaXQtc3Rhc2guc2g6MTQzCisjOiBnaXQtc3Rhc2guc2g6MTY1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIuaXoOazleWIoOmZpOS4tOaXtue0ouW8le+8iOS4jeW6lOWPkeeUn++8iSIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NgorIzogZ2l0LXN0YXNoLnNoOjE3OAogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICLkuI3og73orrDlvZXlt6XkvZzljLrnirbmgIEiCiAKLSM6IGdpdC1zdGFzaC5zaDoxODgKKyM6IGdpdC1zdGFzaC5zaDoyMTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAi5peg5rOV55SoICR3X2NvbW1pdCDmm7TmlrAgJHJlZl9zdGFzaCIKQEAgLTE0MDg4LDcgKzE0NDkwLDcgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyMzgKKyM6IGdpdC1zdGFzaC5zaDoyNjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgpAQCAtMTQwOTcsMTA3ICsxNDQ5OSwxMDcgQEAKICLplJnor6/vvJonc3Rhc2ggc2F2ZScg55qE5pyq55+l6YCJ6aG577yaJG9wdGlvblxuIgogIiAgICAgIOimgeaPkOS+m+S4gOS4quaPj+i/sOS/oeaBr++8jOS9v+eUqCBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTEKKyM6IGdpdC1zdGFzaC5zaDoyODEKIG1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgogbXNnc3RyICLkuI3og73lkIzml7bkvb/nlKjlj4LmlbAgLS1wYXRjaCDlkowgLS1pbmNsdWRlLXVudHJhY2tlZCDmiJYgLS1hbGwiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNTkKKyM6IGdpdC1zdGFzaC5zaDoyODkKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIuayoeacieimgeS/neWtmOeahOacrOWcsOS/ruaUuSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2MworIzogZ2l0LXN0YXNoLnNoOjI5NAogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgotbXNnc3RyICLml6Dms5XliJ3lp4vljJYgc3Rhc2giCittc2dzdHIgIuaXoOazleWIneWni+WMlui0ruiXjyIKIAotIzogZ2l0LXN0YXNoLnNoOjI2NworIzogZ2l0LXN0YXNoLnNoOjI5OAogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKIG1zZ3N0ciAi5peg5rOV5L+d5a2Y5b2T5YmN54q25oCBIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4CisjOiBnaXQtc3Rhc2guc2g6Mjk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKIG1zZ3N0ciAi5L+d5a2Y5bel5L2c55uu5b2V5ZKM57Si5byV54q25oCBICRzdGFzaF9tc2ciCiAKLSM6IGdpdC1zdGFzaC5zaDoyODUKKyM6IGdpdC1zdGFzaC5zaDozMjYKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgIuaXoOazleWIoOmZpOW3peS9nOWMuuWPmOabtCIKIAotIzogZ2l0LXN0YXNoLnNoOjQwMworIzogZ2l0LXN0YXNoLnNoOjQ3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIuacquefpemAiemhuTogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNgotbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKLW1zZ3N0ciAi5pyq5Y+R546wIHN0YXNo44CCIgorIzogZ2l0LXN0YXNoLnNoOjQ4NworbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgorbXNnc3RyICLmnKrlj5HnjrDotK7ol4/mnaHnm67jgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjMKKyM6IGdpdC1zdGFzaC5zaDo0OTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIuaMh+WumuS6huWkquWkmueahOeJiOacrO+8miRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MzgKKyM6IGdpdC1zdGFzaC5zaDo1MDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIOS4jeaYr+S4gOS4quacieaViOeahOW8leeUqCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NgorIzogZ2l0LXN0YXNoLnNoOjUzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKLW1zZ3N0ciAiJyRhcmdzJyDkuI3mmK8gc3Rhc2gg5qC35o+Q5LqkIgorbXNnc3RyICInJGFyZ3MnIOS4jeaYr+i0ruiXj+W8j+aPkOS6pCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NworIzogZ2l0LXN0YXNoLnNoOjU0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCi1tc2dzdHIgIickYXJncycg5LiN5piv5LiA5LiqIHN0YXNoIOW8leeUqCIKK21zZ3N0ciAiJyRhcmdzJyDkuI3mmK/kuIDkuKrotK7ol4/lvJXnlKgiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODUKKyM6IGdpdC1zdGFzaC5zaDo1NTYKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAi5peg5rOV5Yi35paw57Si5byVIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg5CisjOiBnaXQtc3Rhc2guc2g6NTYwCiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgotbXNnc3RyICLml6Dms5XlnKjlkIjlubbov4fnqIvkuK3mgaLlpI3ov5vluqYiCittc2dzdHIgIuaXoOazleWcqOWQiOW5tui/h+eoi+W6lOeUqOi0ruiXjyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ5NworIzogZ2l0LXN0YXNoLnNoOjU2OAogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIue0ouW8leS4reacieWGsueqgeOAguWwneivleS4jeS9v+eUqCAtLWluZGV444CCIgogCi0jOiBnaXQtc3Rhc2guc2g6NDk5CisjOiBnaXQtc3Rhc2guc2g6NTcwCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAi5LiN6IO95L+d5a2Y57Si5byV5qCRIgogCi0jOiBnaXQtc3Rhc2guc2g6NTA4Ci1tc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCi1tc2dzdHIgIuaXoOazleS7jui/m+W6puS/neWtmOS4reaBouWkjeacqui3n+i4quaWh+S7tiIKKyM6IGdpdC1zdGFzaC5zaDo1NzkKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKK21zZ3N0ciAi5peg5rOV5LuO6LSu6JeP5p2h55uu5Lit5oGi5aSN5pyq6Lef6Liq5paH5Lu2IgogCi0jOiBnaXQtc3Rhc2guc2g6NTMzCisjOiBnaXQtc3Rhc2guc2g6NjA0CiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIuaXoOazleWwhuS/ruaUueeahOaWh+S7tuWPlua2iOaaguWtmCIKIAotIzogZ2l0LXN0YXNoLnNoOjU0OAorIzogZ2l0LXN0YXNoLnNoOjYxOQogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKLW1zZ3N0ciAi57Si5byV55qE6L+b5bqm5rKh5pyJ6KKr5oGi5aSN44CCIgorbXNnc3RyICLntKLlvJXmnKrku47otK7ol4/kuK3mgaLlpI3jgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjIKLW1zZ2lkICJUaGUgc3Rhc2ggaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKLW1zZ3N0ciAi5pqC5a2Y6KKr5L+d55WZ5Lul5aSH5oKo5YaN5qyh6ZyA6KaB44CCIgorIzogZ2l0LXN0YXNoLnNoOjYzMworbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICLotK7ol4/mnaHnm67ooqvkv53nlZnku6XlpIfmgqjlho3mrKHpnIDopoHjgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzEKKyM6IGdpdC1zdGFzaC5zaDo2NDIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIuS4ouW8g+S6hiAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MgorIzogZ2l0LXN0YXNoLnNoOjY0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKLW1zZ3N0ciAiJHtSRVZ977ya5LiN6IO95Lii5byD6L+b5bqm5p2h55uuIgorbXNnc3RyICIke1JFVn3vvJrml6Dms5XkuKLlvIPotK7ol4/mnaHnm64iCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODAKKyM6IGdpdC1zdGFzaC5zaDo2NTEKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIuacquaMh+WumuWIhuaUr+WQjSIKIAotIzogZ2l0LXN0YXNoLnNoOjY1MgorIzogZ2l0LXN0YXNoLnNoOjczMAogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAi77yI5Li65oGi5aSN5pWw5o2u6L6T5YWlIFwiZ2l0IHN0YXNoIGFwcGx5XCLvvIkiCiAKQEAgLTE0MjIwLDcgKzE0NjIyLDcgQEAKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgogbXNnc3RyICInJHNtX3BhdGgnIOW3sue7j+WtmOWcqOS6jue0ouW8leS4reS4lOS4jeaYr+S4gOS4quWtkOaooee7hCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKQEAgLTE0MjMxLDIyICsxNDYzMywyMiBAQAogIiRzbV9wYXRoXG4iCiAi5aaC5p6c5oKo56Gu5a6e5oOz5re75Yqg5a6D77yM5L2/55SoIC1mIOWPguaVsOOAgiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi5re75Yqg5L2N5LqOICckc21fcGF0aCcg55qE546w5a2Y5LuT5bqT5Yiw57Si5byVIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIOW3suWtmOWcqOS4lOS4jeaYr+S4gOS4quacieaViOeahCBnaXQg5LuT5bqTIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAi5pys5Zyw5Y+R546wICckc21fbmFtZScg55qE5LiA5LiqIGdpdCDnm67lvZXvvIzkuI7lhbblr7nlupTnmoTov5znqIvku5PlupPvvJoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ4CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgpAQCAtMTQyNjEsNDcgKzE0NjYzLDQ3IEBACiAi5L2/55SoICctLWZvcmNlJyDpgInpobnjgILlpoLmnpzmnKzlnLAgZ2l0IOebruW9leS4jeaYr+ato+ehrueahOS7k+W6k1xuIgogIuaIluiAheaCqOS4jeehruWumui/memHjOeahOWQq+S5ie+8jOS9v+eUqCAnLS1uYW1lJyDpgInpobnpgInmi6nlj6blpJbnmoTlkI3np7DjgIIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjI1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAi5r+A5rS75pys5ZywIGdpdCDnm67lvZXliLDlrZDmqKHnu4QgJyRzbV9uYW1lJ+OAgiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIuS4jeiDveajgOWHuuWtkOaooee7hCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIuaXoOazlea3u+WKoOWtkOaooee7hCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi5peg5rOV5rOo5YaM5a2Q5qih57uEICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjM0MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRW50ZXJpbmcgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuato+WcqOi/m+WFpSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIuWBnOatouS6jiAnJGRpc3BsYXlwYXRoJ++8m+iEmuacrOi/lOWbnumdnumbtuWAvOOAgiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAicGF0aHNwZWMg5ZKMIC0tYWxsIOS4jeWFvOWuuSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICLlpoLmnpzmgqjnoa7lrp7mg7PopoHlr7nmiYDmnInlrZDmqKHnu4TmiafooYzlj5bmtojliJ3lp4vljJbvvIzor7fkvb/nlKggJy0tYWxsJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5XG4iCkBAIC0xNDMxMCw1NiArMTQ3MTIsNTYgQEAKICLlrZDmqKHnu4Tlt6XkvZzljLogJyRkaXNwbGF5cGF0aCcg5YyF5ZCr5LiA5LiqIC5naXQg55uu5b2VXG4iCiAi77yI5aaC5p6c5oKo55yf55qE5oOz5Yig6Zmk5a6D5Y+K5YW25YWo6YOo5Y6G5Y+y77yM5L2/55SoICdybSAtcmYnIOWRveS7pO+8iSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCiAiZGlzY2FyZCB0aGVtIgogbXNnc3RyICLlrZDmqKHnu4Tlt6XkvZzljLogJyRkaXNwbGF5cGF0aCcg5YyF5ZCr5pys5Zyw5L+u5pS577yb5L2/55SoICctZicg5Lii5byD5a6D5LusIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLlt7LmuIXpmaTnm67lvZUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU1CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLml6Dms5Xnp7vpmaTlrZDmqKHnu4Tlt6XkvZzljLogJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDU4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLkuI3og73liJvlu7rnqbrnmoTlrZDmqKHnu4Tnm67lvZUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDY3CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5a2Q5qih57uEICckbmFtZScgKCR1cmwpIOacquWvuei3r+W+hCAnJGRpc3BsYXlwYXRoJyDms6jlhowiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIzCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIOS4reaJvuWIsOW9k+WJjeeJiOacrCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckc21fcGF0aCcg5Lit6I635Y+WIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYzOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCiAiJyRzbV9wYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckc21fcGF0aCcg5Lit5om+5Yiw5b2T5YmN54mI5pysICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK3ojrflj5YiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjYyCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKQEAgLTE0MzY3LDg0ICsxNDc2OSw4NCBAQAogbXNnc3RyICIiCiAi6I635Y+W5LqG5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgn77yM5L2G5piv5a6D5rKh5pyJ5YyF5ZCrICRzaGEx44CC55u05o6l6I635Y+W6K+l5o+Q5Lqk5aSx6LSl44CCIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLml6Dms5XlnKjlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCcg5Lit5qOA5Ye6ICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY4NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIuWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJ++8muajgOWHuiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIOS4reWPmOWfuiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY3NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAi5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgn77ya5Y+Y5Z+66IezICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWQiOW5tiAnJHNoYTEnIOWIsOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICLlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCfvvJrlt7LlkIjlubblhaUgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuWcqOWtkOaooee7hCAnJGRpc3BsYXlwYXRoJyDkuK3miafooYwgJyRjb21tYW5kICRzaGExJyDlpLHotKUiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg3CisjOiBnaXQtc3VibW9kdWxlLnNoOjcwMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgIuWtkOaooee7hCAnJGRpc3BsYXlwYXRoJ++8mickY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzE4CisjOiBnaXQtc3VibW9kdWxlLnNoOjczMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV6YCS5b2S6L+b5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NDEKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICLpgInpobkgLS1jYWNoZWQg5LiN6IO95ZKM6YCJ6aG5IC0tZmlsZXMg5ZCM5pe25L2/55SoIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAi5oSP5aSW55qE5qih5byPICRtb2RfZHN0IgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjkxMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIOitpuWRiu+8miRkaXNwbGF5X25hbWUg5pyq5YyF5ZCr5o+Q5LqkICRzaGExX3NyYyIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBnaXQtc3VibW9kdWxlLnNoOjkwMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICDorablkYrvvJokZGlzcGxheV9uYW1lIOacquWMheWQq+aPkOS6pCAkc2hhMV9kc3QiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg6K2m5ZGK77yaJGRpc3BsYXlfbmFtZSDmnKrljIXlkKvmj5DkuqQgJHNoYTFfc3JjIOWSjCAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA1MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDY1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIuaXoOazlemAkuW9kui/m+WtkOaooee7hOi3r+W+hCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTEzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5Li6ICckZGlzcGxheXBhdGgnIOWQjOatpeWtkOaooee7hCB1cmwiCkBAIC0xNDY1Niw3ICsxNTA1OCw3IEBACiAiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiBtc2dzdHIgIiIKICLmiafooYzmiJDlip/vvJokcmVzdFxuIgotIuS9huaYr+WcqOe0ouW8leWSjC/miJblt6XkvZzljLrkuK3lrZjlnKjlj5jmm7TjgILmj5DkuqTmiJbmmoLlrZjkv67mlLnvvIznhLblkI7ov5DooYxcbiIKKyLkvYbmmK/lnKjntKLlvJXlkowv5oiW5bel5L2c5Yy65Lit5a2Y5Zyo5Y+Y5pu044CC5o+Q5Lqk5oiW6LSu6JeP5L+u5pS577yM54S25ZCO6L+Q6KGMXG4iCiAiXG4iCiAiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKQEAgLTE0NzM3LDExICsxNTEzOSwxMSBAQAogbXNnaWQgIk9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKIG1zZ3N0ciAi5oiW6ICF5oKo5Y+v5Lul5L2/55SoICdnaXQgcmViYXNlIC0tYWJvcnQnIOWRveS7pOe7iOatouWPmOWfuuaTjeS9nOOAgiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA3OQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4MwogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAi5LiN6IO95Yig6ZmkIENIRVJSWV9QSUNLX0hFQUQiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODQKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0NzcwLDIyICsxNTE3MiwyMiBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDEKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDUKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAi5Zyo5L+u6KGl5o+Q5Lqk5Lit5p+l5om+5L2c6ICF5L+h5oGv5pe26YGH5Yiw6ZSZ6K+vIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTEwCiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCiBtc2dzdHIgIiIKICLmgqjnmoTlt6XkvZzljLrkuK3mnInmnKrmj5DkuqTnmoTlj5jmm7TjgILor7flhYjmj5DkuqTnhLblkI7lho3mrKHov5DooYwgJ2dpdCByZWJhc2UgLS1jb250aW51ZSfjgIIiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTEgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE5CiBtc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIuS4jeiDveaPkOS6pOaaguWtmOeahOS/ruaUueOAgiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEzOQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE0NwogbXNnaWQgIiIKICJcbiIKICJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKQEAgLTE0Nzk5LDQwICsxNTIwMSw0MCBAQAogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE0NyBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzA1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTU1IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMTMKIG1zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCiBtc2dzdHIgIuaXoOazlei/kOihjOe8lui+keWZqCIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2MAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCiBtc2dzdHIgIuS4jeiDveajgOWHuiAkc3dpdGNoX3RvIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY1CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTczCiBtc2dpZCAiTm8gSEVBRD8iCiBtc2dzdHIgIuayoeaciSBIRUFE77yfIgogCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY2CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICLkuI3og73liJvlu7rkuLTml7YgJHN0YXRlX2RpciIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2OAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3NgogbXNnaWQgIkNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgogbXNnc3RyICLkuI3og73moIforrDkuLrkuqTkupLlvI8iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzggZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4NiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTkxCiBtc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCiBtc2dzdHIgIuS4jeiDveWvuemHjeWGmeaPkOS6pOi/m+ihjOWIneWni+WMliIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4MworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCiBtc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKIG1zZ3N0clswXSAi5Y+Y5Z+6ICRzaG9ydHJldmlzaW9ucyDliLAgJHNob3J0b250b++8iCR0b2RvY291bnQg5Liq5o+Q5Lqk77yJIgogbXNnc3RyWzFdICLlj5jln7ogJHNob3J0cmV2aXNpb25zIOWIsCAkc2hvcnRvbnRv77yIJHRvZG9jb3VudCDkuKrmj5DkuqTvvIkiCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyODgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTYKIG1zZ2lkICIiCiAiXG4iCiAiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKQEAgLTE0ODQyLDcgKzE1MjQ0LDcgQEAKICLnhLbogIzvvIzlpoLmnpzmgqjliKDpmaTlhajpg6jlhoXlrrnvvIzlj5jln7rmk43kvZzlsIbkvJrnu4jmraLjgIJcbiIKICJcbiIKIAotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NQorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwMwogbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgogbXNnc3RyICLms6jmhI/nqbrmj5DkuqTlt7Looqvms6jph4rmjokiCiAKQEAgLTE0OTA0LDEyNiArMTUzMDYsMTIwIEBACiBtc2dzdHIgIuS4jeiDveehruWumiBnaXQg55uu5b2V55qE57ud5a+56Lev5b6EIgogCiAjLiBUUkFOU0xBVE9SUzogeW91IGNhbiBhZGp1c3QgdGhpcyB0byBhbGlnbiAiZ2l0IGFkZCAtaSIgc3RhdHVzIG1lbnUKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlMTJzICUxMnMgJXMiCiBtc2dzdHIgIiUxMnMgJTEycyAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3CiBtc2dpZCAic3RhZ2VkIgogbXNnc3RyICLnvJPlrZgiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInVuc3RhZ2VkIgogbXNnc3RyICLmnKrnvJPlrZgiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI0NiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3MQogbXNnaWQgImJpbmFyeSIKIG1zZ3N0ciAi5LqM6L+b5Yi2IgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMwNiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjM2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMDkKIG1zZ2lkICJub3RoaW5nIgogbXNnc3RyICLml6AiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzU3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMwNgogbXNnaWQgInVuY2hhbmdlZCIKIG1zZ3N0ciAi5rKh5pyJ5L+u5pS5IgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiYWRkZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJhZGRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICLlop7liqDkuoYgJWQg5Liq6Lev5b6EXG4iCiBtc2dzdHJbMV0gIuWinuWKoOS6hiAlZCDkuKrot6/lvoRcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIuabtOaWsOS6hiAlZCDkuKrot6/lvoRcbiIKIG1zZ3N0clsxXSAi5pu05paw5LqGICVkIOS4qui3r+W+hFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICLov5jljp/kuoYgJWQg5Liq6Lev5b6EXG4iCiBtc2dzdHJbMV0gIui/mOWOn+S6hiAlZCDkuKrot6/lvoRcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInRvdWNoZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ0b3VjaGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIuinpueisOS6hiAlZCDkuKrot6/lvoRcbiIKIG1zZ3N0clsxXSAi6Kem56Kw5LqGICVkIOS4qui3r+W+hFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjAKIG1zZ2lkICJVcGRhdGUiCiBtc2dzdHIgIuabtOaWsCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2ODMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMyCiBtc2dpZCAiUmV2ZXJ0IgogbXNnc3RyICLov5jljp8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NzA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgogbXNnc3RyICLor7TmmI7vvJolcyDnjrDlt7LmiJDkuLrmnKrot5/ouKrnmoTjgIJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo3MTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjY2CiBtc2dpZCAiQWRkIHVudHJhY2tlZCIKIG1zZ3N0ciAi5re75Yqg5pyq6Lef6Liq55qEIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjcyMworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzIKIG1zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCiBtc2dzdHIgIuayoeacieacqui3n+i4queahOaWh+S7tuOAglxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg1CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFnaW5nLiIKIG1zZ3N0ciAi5aaC5p6c6KGl5LiB6IO95bmy5YeA5Zyw5bqU55So77yM57yW6L6R5Z2X5bCG56uL5Y2z5qCH6K6w5Li65pqC5a2Y44CCIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTg4CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFzaGluZy4iCi1tc2dzdHIgIuWmguaenOihpeS4geiDveW5suWHgOWcsOW6lOeUqO+8jOe8lui+keWdl+Wwhueri+WNs+agh+iusOS4uuS/neWtmOi/m+W6puOAgiIKK21zZ3N0ciAi5aaC5p6c6KGl5LiB6IO95bmy5YeA5Zyw5bqU55So77yM57yW6L6R5Z2X5bCG56uL5Y2z5qCH6K6w5Li66LSu6JeP44CCIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTkxCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciB1bnN0YWdpbmcuIgogbXNnc3RyICLlpoLmnpzooaXkuIHog73lubLlh4DlnLDlupTnlKjvvIznvJbovpHlnZflsIbnq4vljbPmoIforrDkuLrmnKrmmoLlrZjjgIIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTk0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAwMwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgYXBwbHlpbmcuIgogbXNnc3RyICLlpoLmnpzooaXkuIHog73lubLlh4DlnLDlupTnlKjvvIznvJbovpHlnZflsIbnq4vljbPmoIforrDkuLrlupTnlKjjgIIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1MQotbXNnaWQgIiIKLSJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgotIm1hcmtlZCBmb3IgZGlzY2FyZGluZyIKLW1zZ3N0ciAi5aaC5p6c6KGl5LiB6IO95bmy5YeA5Zyw5bqU55So77yM57yW6L6R5Z2X5bCG56uL5Y2z5qCH6K6w5Li65Lii5byDIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6OTk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAwMAogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgZGlzY2FyZGluZy4iCiBtc2dzdHIgIuWmguaenOihpeS4geiDveW5suWHgOWcsOW6lOeUqO+8jOe8lui+keWdl+Wwhueri+WNs+agh+iusOS4uuS4ouW8g+OAgiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICLml6Dms5XlhpnlhaXlnZfnvJbovpHmlofku7bvvJolcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMTQKIG1zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKIG1zZ3N0ciAi5omL5Yqo5Z2X57yW6L6R5qih5byPIC0tIOafpeeci+W6lemDqOeahOW/q+mAn+aMh+WNl+OAglxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiLS0tXG4iCkBAIC0xNTAzNyw3ICsxNTQzMyw3IEBACiAi5LulICVzIOW8gOWni+eahOihjOWwhuiiq+WIoOmZpOOAglxuIgogCiAjLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAyOAogbXNnaWQgIiIKICJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgogImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKQEAgLTE1MDQ2LDcgKzE1NDQyLDcgQEAKICLlpoLmnpzkuI3og73lubLlh4DlnLDlupTnlKjvvIzmgqjlsIbmnInmnLrkvJrph43mlrDnvJbovpHjgILlpoLmnpzor6XlnZfnmoTlhajpg6jlhoXlrrnliKDpmaTvvIzliJlcbiIKICLmraTmrKHnvJbovpHooqvnu4jmraLvvIzor6XlnZfkuI3kvJrooqvkv67mlLnjgIJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHJlYWRpbmc6ICVzIgogbXNnc3RyICLml6Dms5Xor7vlj5blnZfnvJbovpHmlofku7bvvJolcyIKQEAgLTE1MDU3LDEyICsxNTQ1MywxMiBAQAogIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKICMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCiAjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE4NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTM0CiBtc2dpZCAiIgogIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgogbXNnc3RyICLmgqjnmoTnvJbovpHlnZfkuI3og73ooqvlupTnlKjjgILph43mlrDnvJbovpHvvIjpgInmi6kgXCJub1wiIOS4ouW8g++8ge+8iSBbeS9uXT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MwogbXNnaWQgIiIKICJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTE1MDc2LDcgKzE1NDcyLDcgQEAKICJhIC0g5pqC5a2Y6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XXG4iCiAiZCAtIOS4jeaaguWtmOivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdlyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjAyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNDkKIG1zZ2lkICIiCiAieSAtIHN0YXNoIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rXG4iCkBAIC0xNTA5MCw3ICsxNTQ4Niw3IEBACiAiYSAtIOi0ruiXj+ivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdl1xuIgogImQgLSDkuI3otK7ol4/or6XlnZflkozmnKzmlofku7bkuK3lkI7pnaLnmoTlhajpg6jlnZciCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIwOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTU1CiBtc2dpZCAiIgogInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTE1MTA0LDcgKzE1NTAwLDcgQEAKICJhIC0g5LiN5pqC5a2Y6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XXG4iCiAiZCAtIOS4jeimgeS4jeaaguWtmOivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdlyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjE0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNjEKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCkBAIC0xNTExOCw3ICsxNTUxNCw3IEBACiAiYSAtIOW6lOeUqOivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdl1xuIgogImQgLSDkuI3opoHlupTnlKjor6XlnZflkozmnKzmlofku7bkuK3lkI7pnaLnmoTlhajpg6jlnZciCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTY3CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCkBAIC0xNTEzMiw3ICsxNTUyOCw3IEBACiAiYSAtIOS4ouW8g+ivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdl1xuIgogImQgLSDkuI3opoHkuKLlvIPor6XlnZflkozmnKzmlofku7bkuK3lkI7pnaLnmoTlhajpg6jlnZciCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTczCiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTE1MTQ2LDcgKzE1NTQyLDcgQEAKICJhIC0g5Lii5byD6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XXG4iCiAiZCAtIOS4jeimgeS4ouW8g+ivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdlyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjMyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNzkKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTE1MTYwLDcgKzE1NTU2LDcgQEAKICJhIC0g5bqU55So6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XXG4iCiAiZCAtIOS4jeimgeW6lOeUqOivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdlyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExODgKIG1zZ2lkICIiCiAiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKICIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCkBAIC0xNTE4MiwyMDEgKzE1NTc4LDIwMSBAQAogImUgLSDmiYvliqjnvJbovpHlvZPliY3lnZdcbiIKICI/IC0g5pi+56S65biu5YqpXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjE5CiBtc2dpZCAiVGhlIHNlbGVjdGVkIGh1bmtzIGRvIG5vdCBhcHBseSB0byB0aGUgaW5kZXghXG4iCiBtc2dzdHIgIumAieS4reeahOWdl+S4jeiDveW6lOeUqOWIsOe0ouW8le+8gVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMAogbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgogbXNnc3RyICLml6DorrrlpoLkvZXpg73opoHlupTnlKjliLDlt6XkvZzljLrkuYjvvJ8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIzCiBtc2dpZCAiTm90aGluZyB3YXMgYXBwbGllZC5cbiIKIG1zZ3N0ciAi5pyq5bqU55So44CCXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI4NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlc1xuIgogbXNnc3RyICLlv73nlaXmnKrlkIjlhaXnmoTvvJolc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0MwogbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCiBtc2dzdHIgIuWPquacieS6jOi/m+WItuaWh+S7tuiiq+S/ruaUueOAglxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0NQogbXNnaWQgIk5vIGNoYW5nZXMuXG4iCiBtc2dzdHIgIuayoeacieS/ruaUueOAglxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1MwogbXNnaWQgIlBhdGNoIHVwZGF0ZSIKIG1zZ3N0ciAi6KGl5LiB5pu05pawIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLmmoLlrZjnirbmgIHkv67mlLkgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5pqC5a2Y54q25oCB5Yig6ZmkIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLmmoLlrZjor6XlnZcgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzYzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi6LSu6JeP54q25oCB5L+u5pS5IFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIGRlbGV0aW9uIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIui0ruiXj+eKtuaAgeWIoOmZpCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi6LSu6JeP6K+l5Z2XIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5pyq5pqC5a2Y54q25oCB5L+u5pS5IFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5pyq5pqC5a2Y54q25oCB5Yig6ZmkIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuS4jeaaguWtmOivpeWdlyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLkv67mlLnntKLlvJXkuK3nmoTlupTnlKjnirbmgIEgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5LuO57Si5byV5Lit5Yig6Zmk5bqU55So54q25oCBIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzIyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLlsIbmraTlnZflupTnlKjliLDntKLlvJUgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuS/ruaUueW3peS9nOWMuuS4reeahOS4ouW8g+eKtuaAgSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIGRlbGV0aW9uIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5LuO5bel5L2c5Yy65Lit5Yig6Zmk5Lii5byD54q25oCBIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5LuO5bel5L2c5Yy65Lit5Lii5byD6K+l5Z2XIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5L+u5pS557Si5byV5ZKM5bel5L2c5Yy65Lit55qE5Lii5byD54q25oCBIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5LuO57Si5byV5ZKM5bel5L2c5Yy65Lit5Yig6Zmk5Lii5byD54q25oCBIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQsLyVzLD9dPyAiCiBtc2dzdHIgIuS7jue0ouW8leWSjOW3peS9nOWMuuS4reS4ouW8g+ivpeWdlyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzODgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCwvJXMsP10/ICIKIG1zZ3N0ciAi5L+u5pS557Si5byV5ZKM5bel5L2c5Yy65Lit55qE5bqU55So54q25oCBIFt5LG4scSxhLGQsLyVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM4OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLku47ntKLlvJXlkozlt6XkvZzljLrkuK3liKDpmaTlupTnlKjnirbmgIEgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkLC8lcyw/XT8gIgogbXNnc3RyICLlnKjntKLlvJXlkozlt6XkvZzljLrkuK3lupTnlKjor6XlnZcgW3ksbixxLGEsZCwvJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDkzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDAKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKIG1zZ3N0ciAi6Lez6L2s5Yiw5ZOq5Liq5Z2X77yIPOWbnui9pj4g5p+l55yL5pu05aSa77yJ77yfICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDIKIG1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCiBtc2dzdHIgIui3s+i9rOWIsOWTquS4quWdl++8nyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAi5peg5pWI5pWw5a2X77yaJyVzJ1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MDkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS5cbiIKIG1zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLlxuIgogbXNnc3RyWzBdICLlr7nkuI3otbfvvIzlj6rmnIkgJWQg5Liq5Y+v55So5Z2X44CCXG4iCiBtc2dzdHJbMV0gIuWvueS4jei1t++8jOWPquaciSAlZCDkuKrlj6/nlKjlnZfjgIJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTM1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0ODIKIG1zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCiBtc2dzdHIgIuS9v+eUqOato+WImeihqOi+vuW8j+aQnOe0ou+8nyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0OTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIumUmeivr+eahOato+WImeihqOi+vuW8jyAlc++8miVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU1OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTA1CiBtc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCiBtc2dzdHIgIuayoeacieWSjOe7meWumuaooeW8j+ebuOWMuemFjeeahOW/q1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTM5CiBtc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgogbXNnc3RyICLmsqHmnInliY3kuIDkuKrlnZdcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTI2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0NQogbXNnaWQgIk5vIG5leHQgaHVua1xuIgogbXNnc3RyICLmsqHmnInkuIvkuIDkuKrlnZdcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3BsaXQgaW50byAlZCBodW5rLlxuIgogbXNnaWRfcGx1cmFsICJTcGxpdCBpbnRvICVkIGh1bmtzLlxuIgogbXNnc3RyWzBdICLmi4bliIbkuLogJWQg5Z2X44CCXG4iCiBtc2dzdHJbMV0gIuaLhuWIhuS4uiAlZCDlnZfjgIJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MDUKIG1zZ2lkICJSZXZpZXcgZGlmZiIKIG1zZ3N0ciAi5qOA6KeGIGRpZmYiCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjc3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjQKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgogInJldmVydCAgICAgICAgLSByZXZlcnQgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIGJhY2sgdG8gdGhlIEhFQUQgdmVyc2lvblxuIgogInBhdGNoICAgICAgICAgLSBwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHlcbiIKLSJkaWZmXHQgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCisiZGlmZiAgICAgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCiAiYWRkIHVudHJhY2tlZCAtIGFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgIgogImNoYW5nZXNcbiIKIG1zZ3N0ciAiIgpAQCAtMTUzODcsODQgKzE1NzgzLDg0IEBACiAiZGlmZiAgICAgICAgICAtIOaYvuekuiBIRUFEIOWSjOe0ouW8lemXtOW3ruW8glxuIgogImFkZCB1bnRyYWNrZWQgLSDmt7vliqDmnKrot5/ouKrmlofku7bnmoTlhoXlrrnoh7PmmoLlrZjliJfooahcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjk0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5OQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzAyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwOQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzEzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY1NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2NgogbXNnaWQgIm1pc3NpbmcgLS0iCiBtc2dzdHIgIue8uuWksSAtLSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICLmnKrnn6XnmoQgLS1wYXRjaCDmqKHlvI/vvJolcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcyNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50ICVzLCBleHBlY3RpbmcgLS0iCiBtc2dzdHIgIuaXoOaViOeahOWPguaVsCAlc++8jOacn+acm+aYryAtLSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTI2CiBtc2dpZCAibG9jYWwgem9uZSBkaWZmZXJzIGZyb20gR01UIGJ5IGEgbm9uLW1pbnV0ZSBpbnRlcnZhbFxuIgogbXNnc3RyICLmnKzlnLDml7bpl7TlkowgR01UIOacieS4jeWIsOS4gOWIhumSn+mXtOmalFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMzkKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAi5pys5Zyw5pe26Ze05YGP56e76YeP5aSn5LqO562J5LqOIDI0IOWwj+aXtlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMDggZ2l0LXNlbmQtZW1haWwucGVybDoyMTQKIG1zZ2lkICJ0aGUgZWRpdG9yIGV4aXRlZCB1bmNsZWFubHksIGFib3J0aW5nIGV2ZXJ5dGhpbmciCiBtc2dzdHIgIue8lui+keWZqOmdnuato+W4uOmAgOWHuu+8jOe7iOatouaJgOacieaTjeS9nCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoyODIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjkxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGNvbnRhaW5zIGFuIGludGVybWVkaWF0ZSB2ZXJzaW9uIG9mIHRoZSBlbWFpbCB5b3Ugd2VyZSBjb21wb3NpbmcuXG4iCiBtc2dzdHIgIiclcycg5YyF5ZCr5oKo5q2j5Zyo57yW5YaZ55qE5LiA5Liq5Lit6Ze054mI5pys55qE6YKu5Lu244CCXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mjg3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjI5NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKIG1zZ3N0ciAiJyVzLmZpbmFsJyDljIXlkKvnvJbovpHnmoTpgq7ku7bjgIJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzE0CiBtc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgogbXNnc3RyICItLWR1bXAtYWxpYXNlcyDlkozlhbblroPpgInpobnkuI3lhbzlrrlcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozNjggZ2l0LXNlbmQtZW1haWwucGVybDo2MjMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzc5IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM0CiBtc2dpZCAiQ2Fubm90IHJ1biBnaXQgZm9ybWF0LXBhdGNoIGZyb20gb3V0c2lkZSBhIHJlcG9zaXRvcnlcbiIKIG1zZ3N0ciAi5LiN6IO95Zyo5LuT5bqT5LmL5aSW6L+Q6KGMIGdpdCBmb3JtYXQtcGF0Y2hcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0MzcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDQ4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgogbXNnc3RyICLmnKrnn6XnmoQgLS1zdXBwcmVzcy1jYyDlrZfmrrXvvJonJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDY2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tY29uZmlybSBzZXR0aW5nOiAnJXMnXG4iCiBtc2dzdHIgIuacquefpeeahCAtLWNvbmZpcm0g6K6+572u77yaJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MDkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogc2VuZG1haWwgYWxpYXMgd2l0aCBxdW90ZXMgaXMgbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAi6K2m5ZGK77ya5LiN5pSv5oyB5bim5byV5Y+355qEIHNlbmRtYWlsIOWIq+WQje+8miVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTAwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgOmluY2x1ZGU6YCBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICLorablkYrvvJrkuI3mlK/mjIEgYDppbmNsdWRlOmDvvJolc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYC9maWxlYCBvciBgfHBpcGVgIHJlZGlyZWN0aW9uIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgIuitpuWRiu+8muS4jeaUr+aMgSBgL2ZpbGVgIOaIliBgfHBpcGVgIOmHjeWumuWQke+8miVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTA3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICLorablkYrvvJrkuI3og73or4bliKvnmoQgc2VuZG1haWwg6KGM77yaJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1ODkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjAwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJGaWxlICclcycgZXhpc3RzIGJ1dCBpdCBjb3VsZCBhbHNvIGJlIHRoZSByYW5nZSBvZiBjb21taXRzXG4iCkBAIC0xNTQ3MywxNyArMTU4NjksMTggQEAKICIgICAgKiBTYXlpbmcgXCIuLyVzXCIgaWYgeW91IG1lYW4gYSBmaWxlOyBvclxuIgogIiAgICAqIEdpdmluZyAtLWZvcm1hdC1wYXRjaCBvcHRpb24gaWYgeW91IG1lYW4gYSByYW5nZS5cbiIKIG1zZ3N0ciAiIgotIuWtmOWcqOaWh+S7tiAnJXMnIOS9huaYr+Wug+S5n+WPr+iDveaYr+S4gOS4queUqOS6juS6p+eUn+ihpeS4geWIl+ihqOeahOaPkOS6pOiMg+WbtOOAguivt+eUqOWmguS4i+aWueazlea2iOmZpOatp+S5ie+8mlxuIgorIuWtmOWcqOaWh+S7tiAnJXMnIOS9huaYr+Wug+S5n+WPr+iDveaYr+S4gOS4queUqOS6juS6p+eUn+ihpeS4geWIl+ihqOeahOaPkOS6pOiMg+WbtOOAguivt+eUqOWmguS4i+aWueazlea2iOmZpCIKKyLmrafkuYnvvJpcbiIKICJcbiIKICIgICAgKiDlpoLmnpzlkKvkuYnkuLrkuIDkuKrmlofku7bvvIzkvb/nlKggXCIuLyVzXCLvvIzmiJbogIVcbiIKICIgICAgKiDlpoLmnpzlkKvkuYnkuLrkuIDkuKrojIPlm7TvvIzkvb/nlKggLS1mb3JtYXQtcGF0Y2gg6YCJ6aG544CCXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjEwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIuaXoOazleaJk+W8gOebruW9lSAlczogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiZmF0YWw6ICVzOiAlc1xuIgpAQCAtMTU0OTIsMjQgKzE1ODg5LDI3IEBACiAi5Lil6YeN77yaJXPvvJolc1xuIgogIuitpuWRiu+8muihpeS4geacquiDveWPkemAgVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NTYKIG1zZ2lkICIiCiAiXG4iCiAiTm8gcGF0Y2ggZmlsZXMgc3BlY2lmaWVkIVxuIgogIlxuIgotbXNnc3RyICJcbuacquaMh+WumuihpeS4geaWh+S7tu+8gVxuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmnKrmjIflrprooaXkuIHmlofku7bvvIFcbiIKKyJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCiBtc2dzdHIgIuWcqCAlcyDkuK3msqHmnInmoIfpopjooYzvvJ8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIuaXoOazleWGmeWFpSAlczogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njc4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4OQogbXNnaWQgIiIKICJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgogIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCkBAIC0xNTUyMiw0MSArMTU5MjIsNDEgQEAKICJcbiIKICLlpoLmnpzmgqjkuI3mg7Plj5HpgIHmkZjopoHvvIzmuIXpmaTlhoXlrrnjgIJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKIG1zZ3N0ciAi5peg5rOV5omT5byAICVzLmZpbmFsOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKIG1zZ3N0ciAi5peg5rOV5omT5byAICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzUwCiBtc2dpZCAiVG8vQ2MvQmNjIGZpZWxkcyBhcmUgbm90IGludGVycHJldGVkIHlldCwgdGhleSBoYXZlIGJlZW4gaWdub3JlZFxuIgogbXNnc3RyICJUby9DYy9CY2Mg5a2X5q615LiN6Kej5p6Q77yM5a6D5Lus6KKr5b+955WlXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzQ4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc1OQogbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCiBtc2dzdHIgIuaRmOimgemCruS7tuS4uuepuu+8jOi3s+i/h1xuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgW3kvTl0gYXMgaXMuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3OTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVzZSA8JXM+IFt5L05dPyAiCiBtc2dzdHIgIuaCqOehruiupOimgeS9v+eUqCA8JXM+IFt5L05d77yfIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCiBtc2dzdHIgIuWmguS4i+aWh+S7tuWQqyA4Yml0IOWGheWuue+8jOS9huayoeacieWjsOaYjuS4gOS4qiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n44CCXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyNQogbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCiBtc2dzdHIgIuimgeWjsOaYjiA4Yml0IOS4uuS7gOS5iOagt+eahOe8lueggeagvOW8jyBbVVRGLThd77yfIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIlJlZnVzaW5nIHRvIHNlbmQgYmVjYXVzZSB0aGUgcGF0Y2hcbiIKQEAgLTE1NTY4LDIwICsxNTk2OCwyMCBAQAogIlx0JXNcbiIKICLljIXlkKvmqKHniYjmoIfpopggJyoqKiBTVUJKRUNUIEhFUkUgKioqJ+OAguWmguaenOehruWunuaDs+imgeWPkemAge+8jOS9v+eUqOWPguaVsCAtLWZvcmNl44CCXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1MgogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCiBtc2dzdHIgIumCruS7tuWwhuimgeWPkemAgee7meiwge+8nyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NTkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODcwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCiBtc2dzdHIgIuS4pemHje+8muWIq+WQjSAnJXMnIOaJqeWxleS4uuWug+iHquW3sVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODIKIG1zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgogbXNnc3RyICJNZXNzYWdlLUlEIOiiq+eUqOS9nOesrOS4gOWwgemCruS7tueahCBJbi1SZXBseS1UbyDvvJ8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTIxIGdpdC1zZW5kLWVtYWlsLnBlcmw6OTI5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkzMiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5hYmxlIHRvIGV4dHJhY3QgYSB2YWxpZCBhZGRyZXNzIGZyb206ICVzXG4iCiBtc2dzdHIgIumUmeivr++8muS4jeiDveS7jiAlcyDkuK3mj5Dlj5bkuIDkuKrmnInmlYjnmoTpgq7ku7blnLDlnYBcbiIKQEAgLTE1NTg5LDE2ICsxNTk4OSwxNiBAQAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtxXSBbZF0gW2VdIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkzMworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDQKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgIuWmguS9leWkhOeQhui/meS4quWcsOWdgO+8nyhbcV11aXR8W2Rdcm9wfFtlXWRpdCnvvJoiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTIzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMjQ1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkNBIHBhdGggXCIlc1wiIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJDQSDot6/lvoQgXCIlc1wiIOS4jeWtmOWcqCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzA5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjAKIG1zZ2lkICIiCiAiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKICIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgpAQCAtMTU2MjMsMTgyICsxNjAyMywxMjggQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtxXSBbYV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM1CiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsPyAoW3ldZXN8W25db3xbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIuWPkemAgemCruS7tu+8nyhbeV1lc3xbbl1vfFtxXXVpdHxbYV1sbCnvvJoiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM4CiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgogbXNnc3RyICLlj5HpgIHopoHmsYLnmoTpgq7ku7blm57lpI0iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM1MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzY0CiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAi6KaB5rGC55qEIFNNVFAg5pyN5Yqh5Zmo5pyq6KKr5q2j56Gu5a6a5LmJ44CCIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzOTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCiBtc2dzdHIgIuacjeWKoeWZqOS4jeaUr+aMgSBTVEFSVFRMU++8gSVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MDMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU1RBUlRUTFMgZmFpbGVkISAlcyIKK21zZ3N0ciAiU1RBUlRUTFMg5aSx6LSl77yBJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAogbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCiBtc2dzdHIgIuaXoOazleato+ehruWcsOWIneWni+WMliBTTVRQ44CC5qOA5p+l6YWN572u5bm25L2/55SoIC0tc210cC1kZWJ1Z+OAgiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDIxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAi5peg5rOV5Y+R6YCBICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDUxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRyeS1TZW50ICVzXG4iCiBtc2dzdHIgIua8lOS5oOWPkemAgSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIuato+WPkemAgSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MwogbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIua8lOS5oOaIkOWKn+OAguaXpeW/l+ivtO+8mlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1MwogbXNnaWQgIk9LLiBMb2cgc2F5czpcbiIKIG1zZ3N0ciAiT0vjgILml6Xlv5for7TvvJpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDM4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjUKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAi57uT5p6c77yaIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2OAogbXNnaWQgIlJlc3VsdDogT0tcbiIKIG1zZ3N0ciAi57uT5p6c77yaT0tcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDU0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0ODEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBmaWxlICVzIgogbXNnc3RyICLml6Dms5XmiZPlvIDmlofku7YgJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyOCBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG1ib3gpIOa3u+WKoCBjY++8miVzIOiHquihjCAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSDmt7vliqAgdG/vvJolcyDoh6rooYwgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU4MgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobm9uLW1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG5vbi1tYm94KSDmt7vliqAgY2PvvJolcyDoh6rooYwgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYwNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoYm9keSkg5re75YqgIGNjOiAlcyDoh6rooYwgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIENvdWxkIG5vdCBleGVjdXRlICclcyciCiBtc2dzdHIgIiglcykg5LiN6IO95omn6KGMICclcyciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQWRkaW5nICVzOiAlcyBmcm9tOiAnJXMnXG4iCiBtc2dzdHIgIiglcykg5re75YqgICVzOiAlcyDoh6rvvJonJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgZmFpbGVkIHRvIGNsb3NlIHBpcGUgdG8gJyVzJyIKIG1zZ3N0ciAiKCVzKSDml6Dms5XlhbPpl63nrqHpgZPoh7MgJyVzJyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NDkKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgIuS4jeiDveS7pSA3Yml0IOW9ouW8j+WPkemAgeS/oeaBryIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NTcKIG1zZ2lkICJpbnZhbGlkIHRyYW5zZmVyIGVuY29kaW5nIgogbXNnc3RyICLml6DmlYjnmoTkvKDpgIHnvJbnoIEiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc0MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTIgZ2l0LXNlbmQtZW1haWwucGVybDoxODAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTUgZ2l0LXNlbmQtZW1haWwucGVybDoxODQ2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAi5LiN6IO95omT5byAICVz77yaJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzQ0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3OTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGNvbnRhaW5zIGEgbGluZSBsb25nZXIgdGhhbiA5OTggY2hhcmFjdGVycyIKIG1zZ3N0ciAiJXPvvJrooaXkuIHljIXlkKvkuIDkuKrotoXov4cgOTk4IOWtl+espueahOihjCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzYwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgJXMgd2l0aCBiYWNrdXAgc3VmZml4ICclcycuXG4iCiBtc2dzdHIgIueVpei/hyAlcyDlkKvlpIfku73lkI7nvIAgJyVzJ+OAglxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc2NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBzZW5kICVzPyBbeXxOXTogIgogbXNnc3RyICLmgqjnnJ/nmoTopoHlj5HpgIEgJXPvvJ9beXxOXe+8miIKLQotI34gbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLSN+IG1zZ3N0ciAi5L2/55So5LiA5Liq6K+V6aqM5oCn55qE5Z+65LqO56m66KGM55qE5ZCv5Y+R5byP566X5rOV5pS56L+b5beu5byC5pi+56S6IgotCi0jfiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKLSN+IG1zZ3N0ciAi6IGq5piOLi4uIOeUqOiEj+e0ouW8leS/ruihpeacgOWQjuS4gOS4quaPkOS6pOOAgiIKLQotI34gbXNnaWQgIiIKLSN+ICJ0aGUgZm9sbG93aW5nIHN1Ym1vZHVsZSAob3Igb25lIG9mIGl0cyBuZXN0ZWQgc3VibW9kdWxlcylcbiIKLSN+ICJ1c2VzIGEgLmdpdCBkaXJlY3Rvcnk6IgotI34gbXNnaWRfcGx1cmFsICIiCi0jfiAidGhlIGZvbGxvd2luZyBzdWJtb2R1bGVzIChvciBvbmUgb2YgdGhlaXIgbmVzdGVkIHN1Ym1vZHVsZXMpXG4iCi0jfiAidXNlIGEgLmdpdCBkaXJlY3Rvcnk6IgotI34gbXNnc3RyWzBdICLku6XkuIvlrZDmqKHnu4TvvIjmiJbkuIDkuKrlhbbltYzlpZflrZDmqKHnu4TvvInkvb/nlKjkuobkuIDkuKogLmdpdCDnm67lvZXvvJoiCi0jfiBtc2dzdHJbMV0gIuS7peS4i+WtkOaooee7hO+8iOaIluS4gOS4quWFtuW1jOWll+WtkOaooee7hO+8ieS9v+eUqOS6huS4gOS4qiAuZ2l0IOebruW9le+8miIKLQotI34gbXNnaWQgIiIKLSN+ICJcbiIKLSN+ICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgIgotI34gImhpc3RvcnkpIgotI34gbXNnc3RyICIiCi0jfiAiXG4iCi0jfiAi77yI5L2/55SoICdybSAtcmYnIOWRveS7pOWmguaenOaCqOecn+eahOaDs+WIoOmZpOWug+WPiuWFtuWFqOmDqOWOhuWPsu+8iSIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKLSN+IG1zZ3N0ciAi5LiN6IO95YaZ5YWlICVzIgotCi0jfiBtc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgotI34gbXNnc3RyICLplJnor6/mlLblsL4gJXPjgIIiCi0KLSN+IG1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlcnJ5LXBpY2suIgotI34gbXNnc3RyICLmgqjnmoTmnKzlnLDkv67mlLnlsIbooqvmi6PpgInmk43kvZzopobnm5bjgIIiCi0KLSN+IG1zZ2lkICJDYW5ub3QgcmV2ZXJ0IGR1cmluZyBhbm90aGVyIHJldmVydC4iCi0jfiBtc2dzdHIgIuS4jeiDveWcqOWbnumAgOS4reaJp+ihjOWPpuS4gOWbnumAgOOAgiIKLQotI34gbXNnaWQgIkNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYW5vdGhlciBjaGVycnktcGljay4iCi0jfiBtc2dzdHIgIuS4jeiDveWcqOaLo+mAiei/h+eoi+S4reaJp+ihjOWPpuS4gOaLo+mAieOAgiIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKLSN+IG1zZ3N0ciAi5LiN6IO96Kej5p6Q56ysICVkIOihjOOAgiIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgotI34gbXNnc3RyICLkuI3og73miZPlvIAgJXMiCi0KLSN+IG1zZ2lkICJDb3VsZCBub3QgcmVhZCAlcy4iCi0jfiBtc2dzdHIgIuS4jeiDveivu+WPliAlc+OAgiIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgotI34gbXNnc3RyICLkuI3og73moLzlvI/ljJYgJXPjgIIiCi0KLSN+IG1zZ2lkICIlczogJXMiCi0jfiBtc2dzdHIgIiVz77yaJXMiCi0KLSN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi0jfiBtc2dzdHIgIuS4jeiDveaJk+W8gCAlc++8miVzIgotCi0jfiBtc2dpZCAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCi0jfiBtc2dzdHIgIuaCqOmcgOimgeWFiOiuvue9ruaCqOeahOaPkOS6pOiAheS/oeaBryIKZGlmZiAtLWdpdCBhL3ByZWxvYWQtaW5kZXguYyBiL3ByZWxvYWQtaW5kZXguYwppbmRleCBjMWZlM2EzLi43MGE0YzgwIDEwMDY0NAotLS0gYS9wcmVsb2FkLWluZGV4LmMKKysrIGIvcHJlbG9hZC1pbmRleC5jCkBAIC01Myw2ICs1Myw4IEBACiAJCQljb250aW51ZTsKIAkJaWYgKGNlX3VwdG9kYXRlKGNlKSkKIAkJCWNvbnRpbnVlOworCQlpZiAoY2Vfc2tpcF93b3JrdHJlZShjZSkpCisJCQljb250aW51ZTsKIAkJaWYgKCFjZV9wYXRoX21hdGNoKGNlLCAmcC0+cGF0aHNwZWMsIE5VTEwpKQogCQkJY29udGludWU7CiAJCWlmICh0aHJlYWRlZF9oYXNfc3ltbGlua19sZWFkaW5nX3BhdGgoJmNhY2hlLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSkpKQpkaWZmIC0tZ2l0IGEvcHJldHR5LmMgYi9wcmV0dHkuYwppbmRleCA1ZTY4MzgzLi45NGVhYjVjIDEwMDY0NAotLS0gYS9wcmV0dHkuYworKysgYi9wcmV0dHkuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgInV0ZjguaCIKICNpbmNsdWRlICJkaWZmLmgiCkBAIC00MDUsMTEgKzQwNiwxMSBAQAogY29uc3QgY2hhciAqc2hvd19pZGVudF9kYXRlKGNvbnN0IHN0cnVjdCBpZGVudF9zcGxpdCAqaWRlbnQsCiAJCQkgICAgY29uc3Qgc3RydWN0IGRhdGVfbW9kZSAqbW9kZSkKIHsKLQl1bnNpZ25lZCBsb25nIGRhdGUgPSAwOworCXRpbWVzdGFtcF90IGRhdGUgPSAwOwogCWxvbmcgdHogPSAwOwogCiAJaWYgKGlkZW50LT5kYXRlX2JlZ2luICYmIGlkZW50LT5kYXRlX2VuZCkKLQkJZGF0ZSA9IHN0cnRvdWwoaWRlbnQtPmRhdGVfYmVnaW4sIE5VTEwsIDEwKTsKKwkJZGF0ZSA9IHBhcnNlX3RpbWVzdGFtcChpZGVudC0+ZGF0ZV9iZWdpbiwgTlVMTCwgMTApOwogCWlmIChkYXRlX292ZXJmbG93cyhkYXRlKSkKIAkJZGF0ZSA9IDA7CiAJZWxzZSB7CkBAIC03ODMsMjkgKzc4NCw5IEBACiAJc2l6ZV90IGJvZHlfb2ZmOwogCiAJLyogVGhlIGZvbGxvd2luZyBvbmVzIGFyZSByZWxhdGl2ZSB0byB0aGUgcmVzdWx0IHN0cnVjdCBzdHJidWYuICovCi0Jc3RydWN0IGNodW5rIGFiYnJldl9jb21taXRfaGFzaDsKLQlzdHJ1Y3QgY2h1bmsgYWJicmV2X3RyZWVfaGFzaDsKLQlzdHJ1Y3QgY2h1bmsgYWJicmV2X3BhcmVudF9oYXNoZXM7CiAJc2l6ZV90IHdyYXBfc3RhcnQ7CiB9OwogCi1zdGF0aWMgaW50IGFkZF9hZ2FpbihzdHJ1Y3Qgc3RyYnVmICpzYiwgc3RydWN0IGNodW5rICpjaHVuaykKLXsKLQlpZiAoY2h1bmstPmxlbikgewotCQlzdHJidWZfYWRkZHVwKHNiLCBjaHVuay0+b2ZmLCBjaHVuay0+bGVuKTsKLQkJcmV0dXJuIDE7Ci0JfQotCi0JLyoKLQkgKiBXZSBoYXZlbid0IHNlZW4gdGhpcyBjaHVuayBiZWZvcmUuICBPdXIgY2FsbGVyIGlzIHN1cmVseQotCSAqIGdvaW5nIHRvIGFkZCBpdCB0aGUgaGFyZCB3YXkgbm93LiAgUmVtZW1iZXIgdGhlIG1vc3QgbGlrZWx5Ci0JICogc3RhcnQgb2YgdGhlIHRvLWJlLWFkZGVkIGNodW5rOiB0aGUgY3VycmVudCBlbmQgb2YgdGhlCi0JICogc3RydWN0IHN0cmJ1Zi4KLQkgKi8KLQljaHVuay0+b2ZmID0gc2ItPmxlbjsKLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIHZvaWQgcGFyc2VfY29tbWl0X2hlYWRlcihzdHJ1Y3QgZm9ybWF0X2NvbW1pdF9jb250ZXh0ICpjb250ZXh0KQogewogCWNvbnN0IGNoYXIgKm1zZyA9IGNvbnRleHQtPm1lc3NhZ2U7CkBAIC04OTAsMTYgKzg3MSw2IEBACiAJcmV0dXJuIG1zZzsKIH0KIAotc3RhdGljIHZvaWQgZm9ybWF0X3RyYWlsZXJzKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICptc2cpCi17Ci0Jc3RydWN0IHRyYWlsZXJfaW5mbyBpbmZvOwotCi0JdHJhaWxlcl9pbmZvX2dldCgmaW5mbywgbXNnKTsKLQlzdHJidWZfYWRkKHNiLCBpbmZvLnRyYWlsZXJfc3RhcnQsCi0JCSAgIGluZm8udHJhaWxlcl9lbmQgLSBpbmZvLnRyYWlsZXJfc3RhcnQpOwotCXRyYWlsZXJfaW5mb19yZWxlYXNlKCZpbmZvKTsKLX0KLQogc3RhdGljIHZvaWQgcGFyc2VfY29tbWl0X21lc3NhZ2Uoc3RydWN0IGZvcm1hdF9jb21taXRfY29udGV4dCAqYykKIHsKIAljb25zdCBjaGFyICptc2cgPSBjLT5tZXNzYWdlICsgYy0+bWVzc2FnZV9vZmY7CkBAIC05NjYsNiArOTM3LDcgQEAKIAkJCSAgc3RydWN0IGZvcm1hdF9jb21taXRfY29udGV4dCAqYykKIHsKIAljb25zdCBjaGFyICpyZXN0ID0gcGxhY2Vob2xkZXI7CisJY29uc3QgY2hhciAqYmFzaWNfY29sb3IgPSBOVUxMOwogCiAJaWYgKHBsYWNlaG9sZGVyWzFdID09ICcoJykgewogCQljb25zdCBjaGFyICpiZWdpbiA9IHBsYWNlaG9sZGVyICsgMjsKQEAgLTk3NCwyMyArOTQ2LDQxIEBACiAKIAkJaWYgKCFlbmQpCiAJCQlyZXR1cm4gMDsKKwogCQlpZiAoc2tpcF9wcmVmaXgoYmVnaW4sICJhdXRvLCIsICZiZWdpbikpIHsKIAkJCWlmICghd2FudF9jb2xvcihjLT5wcmV0dHlfY3R4LT5jb2xvcikpCiAJCQkJcmV0dXJuIGVuZCAtIHBsYWNlaG9sZGVyICsgMTsKKwkJfSBlbHNlIGlmIChza2lwX3ByZWZpeChiZWdpbiwgImFsd2F5cywiLCAmYmVnaW4pKSB7CisJCQkvKiBub3RoaW5nIHRvIGRvOyB3ZSBkbyBub3QgcmVzcGVjdCB3YW50X2NvbG9yIGF0IGFsbCAqLworCQl9IGVsc2UgeworCQkJLyogdGhlIGRlZmF1bHQgaXMgdGhlIHNhbWUgYXMgImF1dG8iICovCisJCQlpZiAoIXdhbnRfY29sb3IoYy0+cHJldHR5X2N0eC0+Y29sb3IpKQorCQkJCXJldHVybiBlbmQgLSBwbGFjZWhvbGRlciArIDE7CiAJCX0KKwogCQlpZiAoY29sb3JfcGFyc2VfbWVtKGJlZ2luLCBlbmQgLSBiZWdpbiwgY29sb3IpIDwgMCkKIAkJCWRpZShfKCJ1bmFibGUgdG8gcGFyc2UgLS1wcmV0dHkgZm9ybWF0IikpOwogCQlzdHJidWZfYWRkc3RyKHNiLCBjb2xvcik7CiAJCXJldHVybiBlbmQgLSBwbGFjZWhvbGRlciArIDE7CiAJfQorCisJLyoKKwkgKiBXZSBoYW5kbGUgdGhpbmdzIGxpa2UgIiVDKHJlZCkiIGFib3ZlOyBmb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGVyZQorCSAqIGFyZSBhIGZldyBjb2xvcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIHdpdGhvdXQgcGFyZW50aGVzZXMgKGFuZAorCSAqIHRoZXkgY2Fubm90IHN1cHBvcnQgdGhpbmdzIGxpa2UgImF1dG8iIG9yICJhbHdheXMiIGF0IGFsbCkuCisJICovCiAJaWYgKHNraXBfcHJlZml4KHBsYWNlaG9sZGVyICsgMSwgInJlZCIsICZyZXN0KSkKLQkJc3RyYnVmX2FkZHN0cihzYiwgR0lUX0NPTE9SX1JFRCk7CisJCWJhc2ljX2NvbG9yID0gR0lUX0NPTE9SX1JFRDsKIAllbHNlIGlmIChza2lwX3ByZWZpeChwbGFjZWhvbGRlciArIDEsICJncmVlbiIsICZyZXN0KSkKLQkJc3RyYnVmX2FkZHN0cihzYiwgR0lUX0NPTE9SX0dSRUVOKTsKKwkJYmFzaWNfY29sb3IgPSBHSVRfQ09MT1JfR1JFRU47CiAJZWxzZSBpZiAoc2tpcF9wcmVmaXgocGxhY2Vob2xkZXIgKyAxLCAiYmx1ZSIsICZyZXN0KSkKLQkJc3RyYnVmX2FkZHN0cihzYiwgR0lUX0NPTE9SX0JMVUUpOworCQliYXNpY19jb2xvciA9IEdJVF9DT0xPUl9CTFVFOwogCWVsc2UgaWYgKHNraXBfcHJlZml4KHBsYWNlaG9sZGVyICsgMSwgInJlc2V0IiwgJnJlc3QpKQotCQlzdHJidWZfYWRkc3RyKHNiLCBHSVRfQ09MT1JfUkVTRVQpOworCQliYXNpY19jb2xvciA9IEdJVF9DT0xPUl9SRVNFVDsKKworCWlmIChiYXNpY19jb2xvciAmJiB3YW50X2NvbG9yKGMtPnByZXR0eV9jdHgtPmNvbG9yKSkKKwkJc3RyYnVmX2FkZHN0cihzYiwgYmFzaWNfY29sb3IpOworCiAJcmV0dXJuIHJlc3QgLSBwbGFjZWhvbGRlcjsKIH0KIApAQCAtMTA3NCw2ICsxMDY0LDcgQEAKIAljb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBjLT5jb21taXQ7CiAJY29uc3QgY2hhciAqbXNnID0gYy0+bWVzc2FnZTsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnA7CisJY29uc3QgY2hhciAqYXJnOwogCWludCBjaDsKIAogCS8qIHRoZXNlIGFyZSBpbmRlcGVuZGVudCBvZiB0aGUgY29tbWl0ICovCkBAIC0xMTM3LDcgKzExMjgsNyBAQAogCiAJLyogdGhlc2UgZGVwZW5kIG9uIHRoZSBjb21taXQgKi8KIAlpZiAoIWNvbW1pdC0+b2JqZWN0LnBhcnNlZCkKLQkJcGFyc2Vfb2JqZWN0KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwkJcGFyc2Vfb2JqZWN0KCZjb21taXQtPm9iamVjdC5vaWQpOwogCiAJc3dpdGNoIChwbGFjZWhvbGRlclswXSkgewogCWNhc2UgJ0gnOgkJLyogY29tbWl0IGhhc2ggKi8KQEAgLTExNDcsMjQgKzExMzgsMTYgQEAKIAkJcmV0dXJuIDE7CiAJY2FzZSAnaCc6CQkvKiBhYmJyZXZpYXRlZCBjb21taXQgaGFzaCAqLwogCQlzdHJidWZfYWRkc3RyKHNiLCBkaWZmX2dldF9jb2xvcihjLT5hdXRvX2NvbG9yLCBESUZGX0NPTU1JVCkpOwotCQlpZiAoYWRkX2FnYWluKHNiLCAmYy0+YWJicmV2X2NvbW1pdF9oYXNoKSkgewotCQkJc3RyYnVmX2FkZHN0cihzYiwgZGlmZl9nZXRfY29sb3IoYy0+YXV0b19jb2xvciwgRElGRl9SRVNFVCkpOwotCQkJcmV0dXJuIDE7Ci0JCX0KIAkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KHNiLCBjb21taXQtPm9iamVjdC5vaWQuaGFzaCwKIAkJCQkJIGMtPnByZXR0eV9jdHgtPmFiYnJldik7CiAJCXN0cmJ1Zl9hZGRzdHIoc2IsIGRpZmZfZ2V0X2NvbG9yKGMtPmF1dG9fY29sb3IsIERJRkZfUkVTRVQpKTsKLQkJYy0+YWJicmV2X2NvbW1pdF9oYXNoLmxlbiA9IHNiLT5sZW4gLSBjLT5hYmJyZXZfY29tbWl0X2hhc2gub2ZmOwogCQlyZXR1cm4gMTsKIAljYXNlICdUJzoJCS8qIHRyZWUgaGFzaCAqLwogCQlzdHJidWZfYWRkc3RyKHNiLCBvaWRfdG9faGV4KCZjb21taXQtPnRyZWUtPm9iamVjdC5vaWQpKTsKIAkJcmV0dXJuIDE7CiAJY2FzZSAndCc6CQkvKiBhYmJyZXZpYXRlZCB0cmVlIGhhc2ggKi8KLQkJaWYgKGFkZF9hZ2FpbihzYiwgJmMtPmFiYnJldl90cmVlX2hhc2gpKQotCQkJcmV0dXJuIDE7CiAJCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldihzYiwgY29tbWl0LT50cmVlLT5vYmplY3Qub2lkLmhhc2gsCiAJCQkJCSBjLT5wcmV0dHlfY3R4LT5hYmJyZXYpOwotCQljLT5hYmJyZXZfdHJlZV9oYXNoLmxlbiA9IHNiLT5sZW4gLSBjLT5hYmJyZXZfdHJlZV9oYXNoLm9mZjsKIAkJcmV0dXJuIDE7CiAJY2FzZSAnUCc6CQkvKiBwYXJlbnQgaGFzaGVzICovCiAJCWZvciAocCA9IGNvbW1pdC0+cGFyZW50czsgcDsgcCA9IHAtPm5leHQpIHsKQEAgLTExNzQsMTYgKzExNTcsMTIgQEAKIAkJfQogCQlyZXR1cm4gMTsKIAljYXNlICdwJzoJCS8qIGFiYnJldmlhdGVkIHBhcmVudCBoYXNoZXMgKi8KLQkJaWYgKGFkZF9hZ2FpbihzYiwgJmMtPmFiYnJldl9wYXJlbnRfaGFzaGVzKSkKLQkJCXJldHVybiAxOwogCQlmb3IgKHAgPSBjb21taXQtPnBhcmVudHM7IHA7IHAgPSBwLT5uZXh0KSB7CiAJCQlpZiAocCAhPSBjb21taXQtPnBhcmVudHMpCiAJCQkJc3RyYnVmX2FkZGNoKHNiLCAnICcpOwogCQkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KHNiLCBwLT5pdGVtLT5vYmplY3Qub2lkLmhhc2gsCiAJCQkJCQkgYy0+cHJldHR5X2N0eC0+YWJicmV2KTsKIAkJfQotCQljLT5hYmJyZXZfcGFyZW50X2hhc2hlcy5sZW4gPSBzYi0+bGVuIC0KLQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0+YWJicmV2X3BhcmVudF9oYXNoZXMub2ZmOwogCQlyZXR1cm4gMTsKIAljYXNlICdtJzoJCS8qIGxlZnQvcmlnaHQvYm90dG9tICovCiAJCXN0cmJ1Zl9hZGRzdHIoc2IsIGdldF9yZXZpc2lvbl9tYXJrKE5VTEwsIGNvbW1pdCkpOwpAQCAtMTMwNCw5ICsxMjgzLDE4IEBACiAJCXJldHVybiAxOwogCX0KIAotCWlmIChzdGFydHNfd2l0aChwbGFjZWhvbGRlciwgIih0cmFpbGVycykiKSkgewotCQlmb3JtYXRfdHJhaWxlcnMoc2IsIG1zZyArIGMtPnN1YmplY3Rfb2ZmKTsKLQkJcmV0dXJuIHN0cmxlbigiKHRyYWlsZXJzKSIpOworCWlmIChza2lwX3ByZWZpeChwbGFjZWhvbGRlciwgIih0cmFpbGVycyIsICZhcmcpKSB7CisJCXN0cnVjdCBwcm9jZXNzX3RyYWlsZXJfb3B0aW9ucyBvcHRzID0gUFJPQ0VTU19UUkFJTEVSX09QVElPTlNfSU5JVDsKKwkJd2hpbGUgKCphcmcgPT0gJzonKSB7CisJCQlpZiAoc2tpcF9wcmVmaXgoYXJnLCAiOm9ubHkiLCAmYXJnKSkKKwkJCQlvcHRzLm9ubHlfdHJhaWxlcnMgPSAxOworCQkJZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiOnVuZm9sZCIsICZhcmcpKQorCQkJCW9wdHMudW5mb2xkID0gMTsKKwkJfQorCQlpZiAoKmFyZyA9PSAnKScpIHsKKwkJCWZvcm1hdF90cmFpbGVyc19mcm9tX2NvbW1pdChzYiwgbXNnICsgYy0+c3ViamVjdF9vZmYsICZvcHRzKTsKKwkJCXJldHVybiBhcmcgLSBwbGFjZWhvbGRlciArIDE7CisJCX0KIAl9CiAKIAlyZXR1cm4gMDsJLyogdW5rbm93biBwbGFjZWhvbGRlciAqLwpAQCAtMTYwNyw4ICsxNTk1LDkgQEAKIAkJCQlwcC0+cHJlc2VydmVfc3ViamVjdCA/ICJcbiIgOiAiICIpOwogCiAJc3RyYnVmX2dyb3coc2IsIHRpdGxlLmxlbiArIDEwMjQpOwotCWlmIChwcC0+c3ViamVjdCkgewotCQlzdHJidWZfYWRkc3RyKHNiLCBwcC0+c3ViamVjdCk7CisJaWYgKHBwLT5wcmludF9lbWFpbF9zdWJqZWN0KSB7CisJCWlmIChwcC0+cmV2KQorCQkJZm10X291dHB1dF9lbWFpbF9zdWJqZWN0KHNiLCBwcC0+cmV2KTsKIAkJaWYgKG5lZWRzX3JmYzIwNDdfZW5jb2RpbmcodGl0bGUuYnVmLCB0aXRsZS5sZW4sIFJGQzIwNDdfU1VCSkVDVCkpCiAJCQlhZGRfcmZjMjA0NyhzYiwgdGl0bGUuYnVmLCB0aXRsZS5sZW4sCiAJCQkJCQllbmNvZGluZywgUkZDMjA0N19TVUJKRUNUKTsKQEAgLTE4MTgsNyArMTgwNyw3IEBACiAJfQogCiAJcHBfaGVhZGVyKHBwLCBlbmNvZGluZywgY29tbWl0LCAmbXNnLCBzYik7Ci0JaWYgKHBwLT5mbXQgIT0gQ01JVF9GTVRfT05FTElORSAmJiAhcHAtPnN1YmplY3QpIHsKKwlpZiAocHAtPmZtdCAhPSBDTUlUX0ZNVF9PTkVMSU5FICYmICFwcC0+cHJpbnRfZW1haWxfc3ViamVjdCkgewogCQlzdHJidWZfYWRkY2goc2IsICdcbicpOwogCX0KIApkaWZmIC0tZ2l0IGEvcHJpby1xdWV1ZS5jIGIvcHJpby1xdWV1ZS5jCmluZGV4IDE3MjUyZDIuLjEyNmQwOTYgMTAwNjQ0Ci0tLSBhL3ByaW8tcXVldWUuYworKysgYi9wcmlvLXF1ZXVlLmMKQEAgLTIxLDE2ICsyMSwxNSBAQAogCiAJaWYgKHF1ZXVlLT5jb21wYXJlICE9IE5VTEwpCiAJCWRpZSgiQlVHOiBwcmlvX3F1ZXVlX3JldmVyc2UoKSBvbiBub24tTElGTyBxdWV1ZSIpOwotCWZvciAoaSA9IDA7IGkgPD0gKGogPSAocXVldWUtPm5yIC0gMSkgLSBpKTsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCAoaiA9IChxdWV1ZS0+bnIgLSAxKSAtIGkpOyBpKyspCiAJCXN3YXAocXVldWUsIGksIGopOwogfQogCiB2b2lkIGNsZWFyX3ByaW9fcXVldWUoc3RydWN0IHByaW9fcXVldWUgKnF1ZXVlKQogewotCWZyZWUocXVldWUtPmFycmF5KTsKKwlGUkVFX0FORF9OVUxMKHF1ZXVlLT5hcnJheSk7CiAJcXVldWUtPm5yID0gMDsKIAlxdWV1ZS0+YWxsb2MgPSAwOwotCXF1ZXVlLT5hcnJheSA9IE5VTEw7CiAJcXVldWUtPmluc2VydGlvbl9jdHIgPSAwOwogfQogCmRpZmYgLS1naXQgYS9wcm9ncmVzcy5jIGIvcHJvZ3Jlc3MuYwppbmRleCAyOTM3OGNhLi4yODk2NzhkIDEwMDY0NAotLS0gYS9wcm9ncmVzcy5jCisrKyBiL3Byb2dyZXNzLmMKQEAgLTM0LDggKzM0LDkgQEAKIAl1bnNpZ25lZCB0b3RhbDsKIAl1bnNpZ25lZCBsYXN0X3BlcmNlbnQ7CiAJdW5zaWduZWQgZGVsYXk7Ci0JdW5zaWduZWQgZGVsYXllZF9wZXJjZW50X3RyZXNob2xkOworCXVuc2lnbmVkIGRlbGF5ZWRfcGVyY2VudF90aHJlc2hvbGQ7CiAJc3RydWN0IHRocm91Z2hwdXQgKnRocm91Z2hwdXQ7CisJdWludDY0X3Qgc3RhcnRfbnM7CiB9OwogCiBzdGF0aWMgdm9sYXRpbGUgc2lnX2F0b21pY190IHByb2dyZXNzX3VwZGF0ZTsKQEAgLTg3LDcgKzg4LDcgQEAKIAkJCXJldHVybiAwOwogCQlpZiAocHJvZ3Jlc3MtPnRvdGFsKSB7CiAJCQl1bnNpZ25lZCBwZXJjZW50ID0gbiAqIDEwMCAvIHByb2dyZXNzLT50b3RhbDsKLQkJCWlmIChwZXJjZW50ID4gcHJvZ3Jlc3MtPmRlbGF5ZWRfcGVyY2VudF90cmVzaG9sZCkgeworCQkJaWYgKHBlcmNlbnQgPiBwcm9ncmVzcy0+ZGVsYXllZF9wZXJjZW50X3RocmVzaG9sZCkgewogCQkJCS8qIGluaGliaXQgdGhpcyBwcm9ncmVzcyByZXBvcnQgZW50aXJlbHkgKi8KIAkJCQljbGVhcl9wcm9ncmVzc19zaWduYWwoKTsKIAkJCQlwcm9ncmVzcy0+ZGVsYXkgPSAtMTsKQEAgLTIwNCw4ICsyMDUsOCBAQAogCXJldHVybiBwcm9ncmVzcyA/IGRpc3BsYXkocHJvZ3Jlc3MsIG4sIE5VTEwpIDogMDsKIH0KIAotc3RydWN0IHByb2dyZXNzICpzdGFydF9wcm9ncmVzc19kZWxheShjb25zdCBjaGFyICp0aXRsZSwgdW5zaWduZWQgdG90YWwsCi0JCQkJICAgICAgIHVuc2lnbmVkIHBlcmNlbnRfdHJlc2hvbGQsIHVuc2lnbmVkIGRlbGF5KQorc3RhdGljIHN0cnVjdCBwcm9ncmVzcyAqc3RhcnRfcHJvZ3Jlc3NfZGVsYXkoY29uc3QgY2hhciAqdGl0bGUsIHVuc2lnbmVkIHRvdGFsLAorCQkJCQkgICAgIHVuc2lnbmVkIHBlcmNlbnRfdGhyZXNob2xkLCB1bnNpZ25lZCBkZWxheSkKIHsKIAlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzID0gbWFsbG9jKHNpemVvZigqcHJvZ3Jlc3MpKTsKIAlpZiAoIXByb2dyZXNzKSB7CkBAIC0yMTgsMTMgKzIxOSwxOSBAQAogCXByb2dyZXNzLT50b3RhbCA9IHRvdGFsOwogCXByb2dyZXNzLT5sYXN0X3ZhbHVlID0gLTE7CiAJcHJvZ3Jlc3MtPmxhc3RfcGVyY2VudCA9IC0xOwotCXByb2dyZXNzLT5kZWxheWVkX3BlcmNlbnRfdHJlc2hvbGQgPSBwZXJjZW50X3RyZXNob2xkOworCXByb2dyZXNzLT5kZWxheWVkX3BlcmNlbnRfdGhyZXNob2xkID0gcGVyY2VudF90aHJlc2hvbGQ7CiAJcHJvZ3Jlc3MtPmRlbGF5ID0gZGVsYXk7CiAJcHJvZ3Jlc3MtPnRocm91Z2hwdXQgPSBOVUxMOworCXByb2dyZXNzLT5zdGFydF9ucyA9IGdldG5hbm90aW1lKCk7CiAJc2V0X3Byb2dyZXNzX3NpZ25hbCgpOwogCXJldHVybiBwcm9ncmVzczsKIH0KIAorc3RydWN0IHByb2dyZXNzICpzdGFydF9kZWxheWVkX3Byb2dyZXNzKGNvbnN0IGNoYXIgKnRpdGxlLCB1bnNpZ25lZCB0b3RhbCkKK3sKKwlyZXR1cm4gc3RhcnRfcHJvZ3Jlc3NfZGVsYXkodGl0bGUsIHRvdGFsLCAwLCAyKTsKK30KKwogc3RydWN0IHByb2dyZXNzICpzdGFydF9wcm9ncmVzcyhjb25zdCBjaGFyICp0aXRsZSwgdW5zaWduZWQgdG90YWwpCiB7CiAJcmV0dXJuIHN0YXJ0X3Byb2dyZXNzX2RlbGF5KHRpdGxlLCB0b3RhbCwgMCwgMCk7CkBAIC0yNDcsOCArMjU0LDEwIEBACiAJCXN0cnVjdCB0aHJvdWdocHV0ICp0cCA9IHByb2dyZXNzLT50aHJvdWdocHV0OwogCiAJCWlmICh0cCkgewotCQkJdW5zaWduZWQgaW50IHJhdGUgPSAhdHAtPmF2Z19taXNlY3MgPyAwIDoKLQkJCQkJdHAtPmF2Z19ieXRlcyAvIHRwLT5hdmdfbWlzZWNzOworCQkJdWludDY0X3Qgbm93X25zID0gZ2V0bmFub3RpbWUoKTsKKwkJCXVuc2lnbmVkIGludCBtaXNlY3MsIHJhdGU7CisJCQltaXNlY3MgPSAoKG5vd19ucyAtIHByb2dyZXNzLT5zdGFydF9ucykgKiA0Mzk4KSA+PiAzMjsKKwkJCXJhdGUgPSB0cC0+Y3Vycl90b3RhbCAvIChtaXNlY3MgPyBtaXNlY3MgOiAxKTsKIAkJCXRocm91Z2hwdXRfc3RyaW5nKCZ0cC0+ZGlzcGxheSwgdHAtPmN1cnJfdG90YWwsIHJhdGUpOwogCQl9CiAJCXByb2dyZXNzX3VwZGF0ZSA9IDE7CmRpZmYgLS1naXQgYS9wcm9ncmVzcy5oIGIvcHJvZ3Jlc3MuaAppbmRleCA2MTFlNGM0Li42MzkyYjYzIDEwMDY0NAotLS0gYS9wcm9ncmVzcy5oCisrKyBiL3Byb2dyZXNzLmgKQEAgLTYsOCArNiw3IEBACiB2b2lkIGRpc3BsYXlfdGhyb3VnaHB1dChzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCBvZmZfdCB0b3RhbCk7CiBpbnQgZGlzcGxheV9wcm9ncmVzcyhzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1bnNpZ25lZCBuKTsKIHN0cnVjdCBwcm9ncmVzcyAqc3RhcnRfcHJvZ3Jlc3MoY29uc3QgY2hhciAqdGl0bGUsIHVuc2lnbmVkIHRvdGFsKTsKLXN0cnVjdCBwcm9ncmVzcyAqc3RhcnRfcHJvZ3Jlc3NfZGVsYXkoY29uc3QgY2hhciAqdGl0bGUsIHVuc2lnbmVkIHRvdGFsLAotCQkJCSAgICAgICB1bnNpZ25lZCBwZXJjZW50X3RyZXNob2xkLCB1bnNpZ25lZCBkZWxheSk7CitzdHJ1Y3QgcHJvZ3Jlc3MgKnN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoY29uc3QgY2hhciAqdGl0bGUsIHVuc2lnbmVkIHRvdGFsKTsKIHZvaWQgc3RvcF9wcm9ncmVzcyhzdHJ1Y3QgcHJvZ3Jlc3MgKipwcm9ncmVzcyk7CiB2b2lkIHN0b3BfcHJvZ3Jlc3NfbXNnKHN0cnVjdCBwcm9ncmVzcyAqKnByb2dyZXNzLCBjb25zdCBjaGFyICptc2cpOwogCmRpZmYgLS1naXQgYS9wcm9tcHQuYyBiL3Byb21wdC5jCmluZGV4IDc1NDA2MzkuLjZkNTg4NWQgMTAwNjQ0Ci0tLSBhL3Byb21wdC5jCisrKyBiL3Byb21wdC5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJzdHJidWYuaCIKICNpbmNsdWRlICJwcm9tcHQuaCIKZGlmZiAtLWdpdCBhL3F1b3RlLmMgYi9xdW90ZS5jCmluZGV4IDUzYjk4YTUuLmRlMjkyMmQgMTAwNjQ0Ci0tLSBhL3F1b3RlLmMKKysrIGIvcXVvdGUuYwpAQCAtNDMxLDYgKzQzMSw3IEBACiAJCWNhc2UgJ3snOiBjYXNlICd9JzoKIAkJY2FzZSAnJCc6IGNhc2UgJ1xcJzogY2FzZSAnIic6CiAJCQlzdHJidWZfYWRkY2goc2IsICdcXCcpOworCQkJLyogZmFsbHRocm91Z2ggKi8KIAkJZGVmYXVsdDoKIAkJCXN0cmJ1Zl9hZGRjaChzYiwgYyk7CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3JlYWNoYWJsZS5jIGIvcmVhY2hhYmxlLmMKaW5kZXggZDAxOTljYS4uODhkN2Q2NyAxMDA2NDQKLS0tIGEvcmVhY2hhYmxlLmMKKysrIGIvcmVhY2hhYmxlLmMKQEAgLTksNiArOSw4IEBACiAjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgogI2luY2x1ZGUgInByb2dyZXNzLmgiCiAjaW5jbHVkZSAibGlzdC1vYmplY3RzLmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKKyNpbmNsdWRlICJ3b3JrdHJlZS5oIgogCiBzdHJ1Y3QgY29ubmVjdGl2aXR5X3Byb2dyZXNzIHsKIAlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzOwpAQCAtMzMsNyArMzUsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlvYmplY3QgPSBwYXJzZV9vYmplY3Rfb3JfZGllKG9pZC0+aGFzaCwgcGF0aCk7CisJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0X29yX2RpZShvaWQsIHBhdGgpOwogCWFkZF9wZW5kaW5nX29iamVjdChyZXZzLCBvYmplY3QsICIiKTsKIAogCXJldHVybiAwOwpAQCAtNTUsMTEgKzU3LDExIEBACiAKIHN0cnVjdCByZWNlbnRfZGF0YSB7CiAJc3RydWN0IHJldl9pbmZvICpyZXZzOwotCXVuc2lnbmVkIGxvbmcgdGltZXN0YW1wOworCXRpbWVzdGFtcF90IHRpbWVzdGFtcDsKIH07CiAKLXN0YXRpYyB2b2lkIGFkZF9yZWNlbnRfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkgICAgICB1bnNpZ25lZCBsb25nIG10aW1lLAorc3RhdGljIHZvaWQgYWRkX3JlY2VudF9vYmplY3QoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICAgICAgdGltZXN0YW1wX3QgbXRpbWUsCiAJCQkgICAgICBzdHJ1Y3QgcmVjZW50X2RhdGEgKmRhdGEpCiB7CiAJc3RydWN0IG9iamVjdCAqb2JqOwpAQCAtNzUsMzcgKzc3LDM3IEBACiAJICogbGF0ZXIgcHJvY2Vzc2luZywgYW5kIHRoZSByZXZpc2lvbiBtYWNoaW5lcnkgZXhwZWN0cwogCSAqIGNvbW1pdHMgYW5kIHRhZ3MgdG8gaGF2ZSBiZWVuIHBhcnNlZC4KIAkgKi8KLQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhzaGExLCBOVUxMKTsKKwl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvaWQtPmhhc2gsIE5VTEwpOwogCWlmICh0eXBlIDwgMCkKLQkJZGllKCJ1bmFibGUgdG8gZ2V0IG9iamVjdCBpbmZvIGZvciAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZGllKCJ1bmFibGUgdG8gZ2V0IG9iamVjdCBpbmZvIGZvciAlcyIsIG9pZF90b19oZXgob2lkKSk7CiAKIAlzd2l0Y2ggKHR5cGUpIHsKIAljYXNlIE9CSl9UQUc6CiAJY2FzZSBPQkpfQ09NTUlUOgotCQlvYmogPSBwYXJzZV9vYmplY3Rfb3JfZGllKHNoYTEsIE5VTEwpOworCQlvYmogPSBwYXJzZV9vYmplY3Rfb3JfZGllKG9pZCwgTlVMTCk7CiAJCWJyZWFrOwogCWNhc2UgT0JKX1RSRUU6Ci0JCW9iaiA9IChzdHJ1Y3Qgb2JqZWN0ICopbG9va3VwX3RyZWUoc2hhMSk7CisJCW9iaiA9IChzdHJ1Y3Qgb2JqZWN0ICopbG9va3VwX3RyZWUob2lkKTsKIAkJYnJlYWs7CiAJY2FzZSBPQkpfQkxPQjoKLQkJb2JqID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfYmxvYihzaGExKTsKKwkJb2JqID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfYmxvYihvaWQpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlkaWUoInVua25vd24gb2JqZWN0IHR5cGUgZm9yICVzOiAlcyIsCi0JCSAgICBzaGExX3RvX2hleChzaGExKSwgdHlwZW5hbWUodHlwZSkpOworCQkgICAgb2lkX3RvX2hleChvaWQpLCB0eXBlbmFtZSh0eXBlKSk7CiAJfQogCiAJaWYgKCFvYmopCi0JCWRpZSgidW5hYmxlIHRvIGxvb2t1cCAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZGllKCJ1bmFibGUgdG8gbG9va3VwICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAogCWFkZF9wZW5kaW5nX29iamVjdChkYXRhLT5yZXZzLCBvYmosICIiKTsKIH0KIAotc3RhdGljIGludCBhZGRfcmVjZW50X2xvb3NlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdGF0aWMgaW50IGFkZF9yZWNlbnRfbG9vc2UoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJICAgIGNvbnN0IGNoYXIgKnBhdGgsIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IHN0YXQgc3Q7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChzaGExKTsKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfb2JqZWN0KG9pZC0+aGFzaCk7CiAKIAlpZiAob2JqICYmIG9iai0+ZmxhZ3MgJiBTRUVOKQogCQlyZXR1cm4gMDsKQEAgLTExOSwyNyArMTIxLDI3IEBACiAJCSAqLwogCQlpZiAoZXJybm8gPT0gRU5PRU5UKQogCQkJcmV0dXJuIDA7Ci0JCXJldHVybiBlcnJvcl9lcnJubygidW5hYmxlIHRvIHN0YXQgJXMiLCBzaGExX3RvX2hleChzaGExKSk7CisJCXJldHVybiBlcnJvcl9lcnJubygidW5hYmxlIHRvIHN0YXQgJXMiLCBvaWRfdG9faGV4KG9pZCkpOwogCX0KIAotCWFkZF9yZWNlbnRfb2JqZWN0KHNoYTEsIHN0LnN0X210aW1lLCBkYXRhKTsKKwlhZGRfcmVjZW50X29iamVjdChvaWQsIHN0LnN0X210aW1lLCBkYXRhKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBhZGRfcmVjZW50X3BhY2tlZChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RhdGljIGludCBhZGRfcmVjZW50X3BhY2tlZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgICAgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCB1aW50MzJfdCBwb3MsCiAJCQkgICAgIHZvaWQgKmRhdGEpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChzaGExKTsKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfb2JqZWN0KG9pZC0+aGFzaCk7CiAKIAlpZiAob2JqICYmIG9iai0+ZmxhZ3MgJiBTRUVOKQogCQlyZXR1cm4gMDsKLQlhZGRfcmVjZW50X29iamVjdChzaGExLCBwLT5tdGltZSwgZGF0YSk7CisJYWRkX3JlY2VudF9vYmplY3Qob2lkLCBwLT5tdGltZSwgZGF0YSk7CiAJcmV0dXJuIDA7CiB9CiAKIGludCBhZGRfdW5zZWVuX3JlY2VudF9vYmplY3RzX3RvX3RyYXZlcnNhbChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCi0JCQkJCSAgIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wKQorCQkJCQkgICB0aW1lc3RhbXBfdCB0aW1lc3RhbXApCiB7CiAJc3RydWN0IHJlY2VudF9kYXRhIGRhdGE7CiAJaW50IHI7CkBAIC0xNTYsOCArMTU4LDcgQEAKIH0KIAogdm9pZCBtYXJrX3JlYWNoYWJsZV9vYmplY3RzKHN0cnVjdCByZXZfaW5mbyAqcmV2cywgaW50IG1hcmtfcmVmbG9nLAotCQkJICAgIHVuc2lnbmVkIGxvbmcgbWFya19yZWNlbnQsCi0JCQkgICAgc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcykKKwkJCSAgICB0aW1lc3RhbXBfdCBtYXJrX3JlY2VudCwgc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcykKIHsKIAlzdHJ1Y3QgY29ubmVjdGl2aXR5X3Byb2dyZXNzIGNwOwogCkBAIC0xNzcsNiArMTc4LDcgQEAKIAogCS8qIGRldGFjaGVkIEhFQUQgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBsaXN0IGFib3ZlICovCiAJaGVhZF9yZWYoYWRkX29uZV9yZWYsIHJldnMpOworCW90aGVyX2hlYWRfcmVmcyhhZGRfb25lX3JlZiwgcmV2cyk7CiAKIAkvKiBBZGQgYWxsIHJlZmxvZyBpbmZvICovCiAJaWYgKG1hcmtfcmVmbG9nKQpkaWZmIC0tZ2l0IGEvcmVhY2hhYmxlLmggYi9yZWFjaGFibGUuaAppbmRleCBkMjNlZmMzLi4zYzAwZmEwIDEwMDY0NAotLS0gYS9yZWFjaGFibGUuaAorKysgYi9yZWFjaGFibGUuaApAQCAtMyw4ICszLDggQEAKIAogc3RydWN0IHByb2dyZXNzOwogZXh0ZXJuIGludCBhZGRfdW5zZWVuX3JlY2VudF9vYmplY3RzX3RvX3RyYXZlcnNhbChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCi0JCQkJCQkgIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wKTsKKwkJCQkJCSAgdGltZXN0YW1wX3QgdGltZXN0YW1wKTsKIGV4dGVybiB2b2lkIG1hcmtfcmVhY2hhYmxlX29iamVjdHMoc3RydWN0IHJldl9pbmZvICpyZXZzLCBpbnQgbWFya19yZWZsb2csCi0JCQkJICAgdW5zaWduZWQgbG9uZyBtYXJrX3JlY2VudCwgc3RydWN0IHByb2dyZXNzICopOworCQkJCSAgIHRpbWVzdGFtcF90IG1hcmtfcmVjZW50LCBzdHJ1Y3QgcHJvZ3Jlc3MgKik7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvcmVhZC1jYWNoZS5jIGIvcmVhZC1jYWNoZS5jCmluZGV4IDkwNTQzNjkuLjY1ZjRmZTggMTAwNjQ0Ci0tLSBhL3JlYWQtY2FjaGUuYworKysgYi9yZWFkLWNhY2hlLmMKQEAgLTUsNiArNSw3IEBACiAgKi8KICNkZWZpbmUgTk9fVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJ0ZW1wZmlsZS5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgpAQCAtMTU5LDkgKzE2MCw5IEBACiAJaW50IGZkID0gZ2l0X29wZW5fY2xvZXhlYyhjZS0+bmFtZSwgT19SRE9OTFkpOwogCiAJaWYgKGZkID49IDApIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQkJaWYgKCFpbmRleF9mZChzaGExLCBmZCwgc3QsIE9CSl9CTE9CLCBjZS0+bmFtZSwgMCkpCi0JCQltYXRjaCA9IGhhc2hjbXAoc2hhMSwgY2UtPm9pZC5oYXNoKTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJCWlmICghaW5kZXhfZmQoJm9pZCwgZmQsIHN0LCBPQkpfQkxPQiwgY2UtPm5hbWUsIDApKQorCQkJbWF0Y2ggPSBvaWRjbXAoJm9pZCwgJmNlLT5vaWQpOwogCQkvKiBpbmRleF9mZCgpIGNsb3NlZCB0aGUgZmlsZSBkZXNjcmlwdG9yIGFscmVhZHkgKi8KIAl9CiAJcmV0dXJuIG1hdGNoOwpAQCAtMjE5LDYgKzIyMCw3IEBACiAJY2FzZSBTX0lGRElSOgogCQlpZiAoU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQogCQkJcmV0dXJuIGNlX2NvbXBhcmVfZ2l0bGluayhjZSkgPyBEQVRBX0NIQU5HRUQgOiAwOworCQkvKiBlbHNlIGZhbGx0aHJvdWdoICovCiAJZGVmYXVsdDoKIAkJcmV0dXJuIFRZUEVfQ0hBTkdFRDsKIAl9CkBAIC01MTQsOSArNTE2LDggQEAKIAlpc3RhdGUtPmNhY2hlX25yLS07CiAJaWYgKHBvcyA+PSBpc3RhdGUtPmNhY2hlX25yKQogCQlyZXR1cm4gMDsKLQltZW1tb3ZlKGlzdGF0ZS0+Y2FjaGUgKyBwb3MsCi0JCWlzdGF0ZS0+Y2FjaGUgKyBwb3MgKyAxLAotCQkoaXN0YXRlLT5jYWNoZV9uciAtIHBvcykgKiBzaXplb2Yoc3RydWN0IGNhY2hlX2VudHJ5ICopKTsKKwlNT1ZFX0FSUkFZKGlzdGF0ZS0+Y2FjaGUgKyBwb3MsIGlzdGF0ZS0+Y2FjaGUgKyBwb3MgKyAxLAorCQkgICBpc3RhdGUtPmNhY2hlX25yIC0gcG9zKTsKIAlyZXR1cm4gMTsKIH0KIApAQCAtNjg5LDcgKzY5MCw3IEBACiAJCXJldHVybiAwOwogCX0KIAlpZiAoIWludGVudF9vbmx5KSB7Ci0JCWlmIChpbmRleF9wYXRoKGNlLT5vaWQuaGFzaCwgcGF0aCwgc3QsIEhBU0hfV1JJVEVfT0JKRUNUKSkgeworCQlpZiAoaW5kZXhfcGF0aCgmY2UtPm9pZCwgcGF0aCwgc3QsIEhBU0hfV1JJVEVfT0JKRUNUKSkgewogCQkJZnJlZShjZSk7CiAJCQlyZXR1cm4gZXJyb3IoInVuYWJsZSB0byBpbmRleCBmaWxlICVzIiwgcGF0aCk7CiAJCX0KQEAgLTg4Nyw5ICs4ODgsMzIgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCisKKy8qCisgKiBMaWtlIHN0cmNtcCgpLCBidXQgYWxzbyByZXR1cm4gdGhlIG9mZnNldCBvZiB0aGUgZmlyc3QgY2hhbmdlLgorICogSWYgc3RyaW5ncyBhcmUgZXF1YWwsIHJldHVybiB0aGUgbGVuZ3RoLgorICovCitpbnQgc3RyY21wX29mZnNldChjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIsIHNpemVfdCAqZmlyc3RfY2hhbmdlKQoreworCXNpemVfdCBrOworCisJaWYgKCFmaXJzdF9jaGFuZ2UpCisJCXJldHVybiBzdHJjbXAoczEsIHMyKTsKKworCWZvciAoayA9IDA7IHMxW2tdID09IHMyW2tdOyBrKyspCisJCWlmIChzMVtrXSA9PSAnXDAnKQorCQkJYnJlYWs7CisKKwkqZmlyc3RfY2hhbmdlID0gazsKKwlyZXR1cm4gKHVuc2lnbmVkIGNoYXIpczFba10gLSAodW5zaWduZWQgY2hhcilzMltrXTsKK30KKwogLyoKICAqIERvIHdlIGhhdmUgYW5vdGhlciBmaWxlIHdpdGggYSBwYXRobmFtZSB0aGF0IGlzIGEgcHJvcGVyCiAgKiBzdWJzZXQgb2YgdGhlIG5hbWUgd2UncmUgdHJ5aW5nIHRvIGFkZD8KKyAqCisgKiBUaGF0IGlzLCBpcyB0aGVyZSBhbm90aGVyIGZpbGUgaW4gdGhlIGluZGV4IHdpdGggYSBwYXRoCisgKiB0aGF0IG1hdGNoZXMgYSBzdWItZGlyZWN0b3J5IGluIHRoZSBnaXZlbiBlbnRyeT8KICAqLwogc3RhdGljIGludCBoYXNfZGlyX25hbWUoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCiAJCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBpbnQgcG9zLCBpbnQgb2tfdG9fcmVwbGFjZSkKQEAgLTg5OCw5ICs5MjIsNTEgQEAKIAlpbnQgc3RhZ2UgPSBjZV9zdGFnZShjZSk7CiAJY29uc3QgY2hhciAqbmFtZSA9IGNlLT5uYW1lOwogCWNvbnN0IGNoYXIgKnNsYXNoID0gbmFtZSArIGNlX25hbWVsZW4oY2UpOworCXNpemVfdCBsZW5fZXFfbGFzdDsKKwlpbnQgY21wX2xhc3QgPSAwOworCisJLyoKKwkgKiBXZSBhcmUgZnJlcXVlbnRseSBjYWxsZWQgZHVyaW5nIGFuIGl0ZXJhdGlvbiBvbiBhIHNvcnRlZAorCSAqIGxpc3Qgb2YgcGF0aG5hbWVzIGFuZCB3aGlsZSBidWlsZGluZyBhIG5ldyBpbmRleC4gIFRoZXJlZm9yZSwKKwkgKiB0aGVyZSBpcyBhIGhpZ2ggcHJvYmFiaWxpdHkgdGhhdCB0aGlzIGVudHJ5IHdpbGwgZXZlbnR1YWxseQorCSAqIGJlIGFwcGVuZGVkIHRvIHRoZSBpbmRleCwgcmF0aGVyIHRoYW4gaW5zZXJ0ZWQgaW4gdGhlIG1pZGRsZS4KKwkgKiBJZiB3ZSBjYW4gY29uZmlybSB0aGF0LCB3ZSBjYW4gYXZvaWQgYmluYXJ5IHNlYXJjaGVzIG9uIHRoZQorCSAqIGNvbXBvbmVudHMgb2YgdGhlIHBhdGhuYW1lLgorCSAqCisJICogQ29tcGFyZSB0aGUgZW50cnkncyBmdWxsIHBhdGggd2l0aCB0aGUgbGFzdCBwYXRoIGluIHRoZSBpbmRleC4KKwkgKi8KKwlpZiAoaXN0YXRlLT5jYWNoZV9uciA+IDApIHsKKwkJY21wX2xhc3QgPSBzdHJjbXBfb2Zmc2V0KG5hbWUsCisJCQlpc3RhdGUtPmNhY2hlW2lzdGF0ZS0+Y2FjaGVfbnIgLSAxXS0+bmFtZSwKKwkJCSZsZW5fZXFfbGFzdCk7CisJCWlmIChjbXBfbGFzdCA+IDApIHsKKwkJCWlmIChsZW5fZXFfbGFzdCA9PSAwKSB7CisJCQkJLyoKKwkJCQkgKiBUaGUgZW50cnkgc29ydHMgQUZURVIgdGhlIGxhc3Qgb25lIGluIHRoZQorCQkJCSAqIGluZGV4IGFuZCB0aGVpciBwYXRocyBoYXZlIG5vIGNvbW1vbiBwcmVmaXgsCisJCQkJICogc28gdGhlcmUgY2Fubm90IGJlIGEgRi9EIGNvbmZsaWN0LgorCQkJCSAqLworCQkJCXJldHVybiByZXR2YWw7CisJCQl9IGVsc2UgeworCQkJCS8qCisJCQkJICogVGhlIGVudHJ5IHNvcnRzIEFGVEVSIHRoZSBsYXN0IG9uZSBpbiB0aGUKKwkJCQkgKiBpbmRleCwgYnV0IGhhcyBhIGNvbW1vbiBwcmVmaXguICBGYWxsIHRocm91Z2gKKwkJCQkgKiB0byB0aGUgbG9vcCBiZWxvdyB0byBkaXNlY3QgdGhlIGVudHJ5J3MgcGF0aAorCQkJCSAqIGFuZCBzZWUgd2hlcmUgdGhlIGRpZmZlcmVuY2UgaXMuCisJCQkJICovCisJCQl9CisJCX0gZWxzZSBpZiAoY21wX2xhc3QgPT0gMCkgeworCQkJLyoKKwkJCSAqIFRoZSBlbnRyeSBleGFjdGx5IG1hdGNoZXMgdGhlIGxhc3Qgb25lIGluIHRoZQorCQkJICogaW5kZXgsIGJ1dCBiZWNhdXNlIG9mIG11bHRpcGxlIHN0YWdlIGFuZCBDRV9SRU1PVkUKKwkJCSAqIGl0ZW1zLCB3ZSBmYWxsIHRocm91Z2ggYW5kIGxldCB0aGUgcmVndWxhciBzZWFyY2gKKwkJCSAqIGNvZGUgaGFuZGxlIGl0LgorCQkJICovCisJCX0KKwl9CiAKIAlmb3IgKDs7KSB7Ci0JCWludCBsZW47CisJCXNpemVfdCBsZW47CiAKIAkJZm9yICg7OykgewogCQkJaWYgKCotLXNsYXNoID09ICcvJykKQEAgLTkxMCw2ICs5NzYsNjcgQEAKIAkJfQogCQlsZW4gPSBzbGFzaCAtIG5hbWU7CiAKKwkJaWYgKGNtcF9sYXN0ID4gMCkgeworCQkJLyoKKwkJCSAqIChsZW4gKyAxKSBpcyBhIGRpcmVjdG9yeSBib3VuZGFyeSAoaW5jbHVkaW5nCisJCQkgKiB0aGUgdHJhaWxpbmcgc2xhc2gpLiAgQW5kIHNpbmNlIHRoZSBsb29wIGlzCisJCQkgKiBkZWNyZW1lbnRpbmcgInNsYXNoIiwgdGhlIGZpcnN0IGl0ZXJhdGlvbiBpcworCQkJICogdGhlIGxvbmdlc3QgZGlyZWN0b3J5IHByZWZpeDsgc3Vic2VxdWVudAorCQkJICogaXRlcmF0aW9ucyBjb25zaWRlciBwYXJlbnQgZGlyZWN0b3JpZXMuCisJCQkgKi8KKworCQkJaWYgKGxlbiArIDEgPD0gbGVuX2VxX2xhc3QpIHsKKwkJCQkvKgorCQkJCSAqIFRoZSBkaXJlY3RvcnkgcHJlZml4IChpbmNsdWRpbmcgdGhlIHRyYWlsaW5nCisJCQkJICogc2xhc2gpIGFsc28gYXBwZWFycyBhcyBhIHByZWZpeCBpbiB0aGUgbGFzdAorCQkJCSAqIGVudHJ5LCBzbyB0aGUgcmVtYWluZGVyIGNhbm5vdCBjb2xsaWRlIChiZWNhdXNlCisJCQkJICogc3RyY21wIHNhaWQgdGhlIHdob2xlIHBhdGggd2FzIGdyZWF0ZXIpLgorCQkJCSAqCisJCQkJICogRVE6IGxhc3Q6IHh4eC9BCisJCQkJICogICAgIHRoaXM6IHh4eC9CCisJCQkJICoKKwkJCQkgKiBMVDogbGFzdDogeHh4L2ZpbGVfQQorCQkJCSAqICAgICB0aGlzOiB4eHgvZmlsZV9CCisJCQkJICovCisJCQkJcmV0dXJuIHJldHZhbDsKKwkJCX0KKworCQkJaWYgKGxlbiA+IGxlbl9lcV9sYXN0KSB7CisJCQkJLyoKKwkJCQkgKiBUaGlzIHBhcnQgb2YgdGhlIGRpcmVjdG9yeSBwcmVmaXggKGV4Y2x1ZGluZworCQkJCSAqIHRoZSB0cmFpbGluZyBzbGFzaCkgaXMgbG9uZ2VyIHRoYW4gdGhlIGtub3duCisJCQkJICogZXF1YWwgcG9ydGlvbnMsIHNvIHRoaXMgc3ViLWRpcmVjdG9yeSBjYW5ub3QKKwkJCQkgKiBjb2xsaWRlIHdpdGggYSBmaWxlLgorCQkJCSAqCisJCQkJICogR1Q6IGxhc3Q6IHh4eEEKKwkJCQkgKiAgICAgdGhpczogeHh4Qi9maWxlCisJCQkJICovCisJCQkJcmV0dXJuIHJldHZhbDsKKwkJCX0KKworCQkJaWYgKGlzdGF0ZS0+Y2FjaGVfbnIgPiAwICYmCisJCQkJY2VfbmFtZWxlbihpc3RhdGUtPmNhY2hlW2lzdGF0ZS0+Y2FjaGVfbnIgLSAxXSkgPiBsZW4pIHsKKwkJCQkvKgorCQkJCSAqIFRoZSBkaXJlY3RvcnkgcHJlZml4IGxpbmVzIHVwIHdpdGggcGFydCBvZgorCQkJCSAqIGEgbG9uZ2VyIGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUsIGJ1dCBzb3J0cworCQkJCSAqIGFmdGVyIGl0LCBzbyB0aGlzIHN1Yi1kaXJlY3RvcnkgY2Fubm90CisJCQkJICogY29sbGlkZSB3aXRoIGEgZmlsZS4KKwkJCQkgKgorCQkJCSAqIGxhc3Q6IHh4eC95eS1maWxlIChiZWNhdXNlICctJyBzb3J0cyBiZWZvcmUgJy8nKQorCQkJCSAqIHRoaXM6IHh4eC95eS9hYmMKKwkJCQkgKi8KKwkJCQlyZXR1cm4gcmV0dmFsOworCQkJfQorCisJCQkvKgorCQkJICogVGhpcyBpcyBhIHBvc3NpYmxlIGNvbGxpc2lvbi4gRmFsbCB0aHJvdWdoIGFuZAorCQkJICogbGV0IHRoZSByZWd1bGFyIHNlYXJjaCBjb2RlIGhhbmRsZSBpdC4KKwkJCSAqCisJCQkgKiBsYXN0OiB4eHgKKwkJCSAqIHRoaXM6IHh4eC9maWxlCisJCQkgKi8KKwkJfQorCiAJCXBvcyA9IGluZGV4X25hbWVfc3RhZ2VfcG9zKGlzdGF0ZSwgbmFtZSwgbGVuLCBzdGFnZSk7CiAJCWlmIChwb3MgPj0gMCkgewogCQkJLyoKQEAgLTEwMDEsNyArMTEyOCwxNiBAQAogCiAJaWYgKCEob3B0aW9uICYgQUREX0NBQ0hFX0tFRVBfQ0FDSEVfVFJFRSkpCiAJCWNhY2hlX3RyZWVfaW52YWxpZGF0ZV9wYXRoKGlzdGF0ZSwgY2UtPm5hbWUpOwotCXBvcyA9IGluZGV4X25hbWVfc3RhZ2VfcG9zKGlzdGF0ZSwgY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLCBjZV9zdGFnZShjZSkpOworCisJLyoKKwkgKiBJZiB0aGlzIGVudHJ5J3MgcGF0aCBzb3J0cyBhZnRlciB0aGUgbGFzdCBlbnRyeSBpbiB0aGUgaW5kZXgsCisJICogd2UgY2FuIGF2b2lkIHNlYXJjaGluZyBmb3IgaXQuCisJICovCisJaWYgKGlzdGF0ZS0+Y2FjaGVfbnIgPiAwICYmCisJCXN0cmNtcChjZS0+bmFtZSwgaXN0YXRlLT5jYWNoZVtpc3RhdGUtPmNhY2hlX25yIC0gMV0tPm5hbWUpID4gMCkKKwkJcG9zID0gLWlzdGF0ZS0+Y2FjaGVfbnIgLSAxOworCWVsc2UKKwkJcG9zID0gaW5kZXhfbmFtZV9zdGFnZV9wb3MoaXN0YXRlLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIGNlX3N0YWdlKGNlKSk7CiAKIAkvKiBleGlzdGluZyBtYXRjaD8gSnVzdCByZXBsYWNlIGl0LiAqLwogCWlmIChwb3MgPj0gMCkgewpAQCAtMTM2NCw2ICsxNTAwLDcgQEAKIH07CiAKIC8qIFRoZXNlIGFyZSBvbmx5IHVzZWQgZm9yIHYzIG9yIGxvd2VyICovCisjZGVmaW5lIGFsaWduX3BhZGRpbmdfc2l6ZShzaXplLCBsZW4pICgoc2l6ZSArIChsZW4pICsgOCkgJiB+NykgLSAoc2l6ZSArIGxlbikKICNkZWZpbmUgYWxpZ25fZmxleF9uYW1lKFNUUlVDVCxsZW4pICgob2Zmc2V0b2Yoc3RydWN0IFNUUlVDVCxuYW1lKSArIChsZW4pICsgOCkgJiB+NykKICNkZWZpbmUgb25kaXNrX2NhY2hlX2VudHJ5X3NpemUobGVuKSBhbGlnbl9mbGV4X25hbWUob25kaXNrX2NhY2hlX2VudHJ5LGxlbikKICNkZWZpbmUgb25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkX3NpemUobGVuKSBhbGlnbl9mbGV4X25hbWUob25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkLGxlbikKQEAgLTEzNzEsNiArMTUwOCw5IEBACiAJCQkgICAgb25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkX3NpemUoY2VfbmFtZWxlbihjZSkpIDogXAogCQkJICAgIG9uZGlza19jYWNoZV9lbnRyeV9zaXplKGNlX25hbWVsZW4oY2UpKSkKIAorLyogQWxsb3cgZnNjayB0byBmb3JjZSB2ZXJpZmljYXRpb24gb2YgdGhlIGluZGV4IGNoZWNrc3VtLiAqLworaW50IHZlcmlmeV9pbmRleF9jaGVja3N1bTsKKwogc3RhdGljIGludCB2ZXJpZnlfaGRyKHN0cnVjdCBjYWNoZV9oZWFkZXIgKmhkciwgdW5zaWduZWQgbG9uZyBzaXplKQogewogCWdpdF9TSEFfQ1RYIGM7CkBAIC0xMzgyLDYgKzE1MjIsMTAgQEAKIAloZHJfdmVyc2lvbiA9IG50b2hsKGhkci0+aGRyX3ZlcnNpb24pOwogCWlmIChoZHJfdmVyc2lvbiA8IElOREVYX0ZPUk1BVF9MQiB8fCBJTkRFWF9GT1JNQVRfVUIgPCBoZHJfdmVyc2lvbikKIAkJcmV0dXJuIGVycm9yKCJiYWQgaW5kZXggdmVyc2lvbiAlZCIsIGhkcl92ZXJzaW9uKTsKKworCWlmICghdmVyaWZ5X2luZGV4X2NoZWNrc3VtKQorCQlyZXR1cm4gMDsKKwogCWdpdF9TSEExX0luaXQoJmMpOwogCWdpdF9TSEExX1VwZGF0ZSgmYywgaGRyLCBzaXplIC0gMjApOwogCWdpdF9TSEExX0ZpbmFsKHNoYTEsICZjKTsKQEAgLTE1NTgsMTAgKzE3MDIsMjcgQEAKIAl9CiB9CiAKK3N0YXRpYyB2b2lkIHR3ZWFrX3NwbGl0X2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQoreworCXN3aXRjaCAoZ2l0X2NvbmZpZ19nZXRfc3BsaXRfaW5kZXgoKSkgeworCWNhc2UgLTE6IC8qIHVuc2V0OiBkbyBub3RoaW5nICovCisJCWJyZWFrOworCWNhc2UgMDogLyogZmFsc2UgKi8KKwkJcmVtb3ZlX3NwbGl0X2luZGV4KGlzdGF0ZSk7CisJCWJyZWFrOworCWNhc2UgMTogLyogdHJ1ZSAqLworCQlhZGRfc3BsaXRfaW5kZXgoaXN0YXRlKTsKKwkJYnJlYWs7CisJZGVmYXVsdDogLyogdW5rbm93biB2YWx1ZTogZG8gbm90aGluZyAqLworCQlicmVhazsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIHBvc3RfcmVhZF9pbmRleF9mcm9tKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQogewogCWNoZWNrX2NlX29yZGVyKGlzdGF0ZSk7CiAJdHdlYWtfdW50cmFja2VkX2NhY2hlKGlzdGF0ZSk7CisJdHdlYWtfc3BsaXRfaW5kZXgoaXN0YXRlKTsKIH0KIAogLyogcmVtZW1iZXIgdG8gZGlzY2FyZF9jYWNoZSgpIGJlZm9yZSByZWFkaW5nIGEgZGlmZmVyZW50IGNhY2hlISAqLwpAQCAtMTY1NywxMCArMTgxOCwyNiBAQAogCWRpZSgiaW5kZXggZmlsZSBjb3JydXB0Iik7CiB9CiAKKy8qCisgKiBTaWduYWwgdGhhdCB0aGUgc2hhcmVkIGluZGV4IGlzIHVzZWQgYnkgdXBkYXRpbmcgaXRzIG10aW1lLgorICoKKyAqIFRoaXMgd2F5LCBzaGFyZWQgaW5kZXggY2FuIGJlIHJlbW92ZWQgaWYgdGhleSBoYXZlIG5vdCBiZWVuIHVzZWQKKyAqIGZvciBzb21lIHRpbWUuCisgKi8KK3N0YXRpYyB2b2lkIGZyZXNoZW5fc2hhcmVkX2luZGV4KGNoYXIgKmJhc2Vfc2hhMV9oZXgsIGludCB3YXJuKQoreworCWNoYXIgKnNoYXJlZF9pbmRleCA9IGdpdF9wYXRoZHVwKCJzaGFyZWRpbmRleC4lcyIsIGJhc2Vfc2hhMV9oZXgpOworCWlmICghY2hlY2tfYW5kX2ZyZXNoZW5fZmlsZShzaGFyZWRfaW5kZXgsIDEpICYmIHdhcm4pCisJCXdhcm5pbmcoImNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAnJXMnIiwgc2hhcmVkX2luZGV4KTsKKwlmcmVlKHNoYXJlZF9pbmRleCk7Cit9CisKIGludCByZWFkX2luZGV4X2Zyb20oc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJc3RydWN0IHNwbGl0X2luZGV4ICpzcGxpdF9pbmRleDsKIAlpbnQgcmV0OworCWNoYXIgKmJhc2Vfc2hhMV9oZXg7CisJY29uc3QgY2hhciAqYmFzZV9wYXRoOwogCiAJLyogaXN0YXRlLT5pbml0aWFsaXplZCBjb3ZlcnMgYm90aCAuZ2l0L2luZGV4IGFuZCAuZ2l0L3NoYXJlZGluZGV4Lnh4eCAqLwogCWlmIChpc3RhdGUtPmluaXRpYWxpemVkKQpAQCAtMTY3OCwxNSArMTg1NSwxNiBAQAogCQlkaXNjYXJkX2luZGV4KHNwbGl0X2luZGV4LT5iYXNlKTsKIAllbHNlCiAJCXNwbGl0X2luZGV4LT5iYXNlID0geGNhbGxvYygxLCBzaXplb2YoKnNwbGl0X2luZGV4LT5iYXNlKSk7Ci0JcmV0ID0gZG9fcmVhZF9pbmRleChzcGxpdF9pbmRleC0+YmFzZSwKLQkJCSAgICBnaXRfcGF0aCgic2hhcmVkaW5kZXguJXMiLAotCQkJCSAgICAgc2hhMV90b19oZXgoc3BsaXRfaW5kZXgtPmJhc2Vfc2hhMSkpLCAxKTsKKworCWJhc2Vfc2hhMV9oZXggPSBzaGExX3RvX2hleChzcGxpdF9pbmRleC0+YmFzZV9zaGExKTsKKwliYXNlX3BhdGggPSBnaXRfcGF0aCgic2hhcmVkaW5kZXguJXMiLCBiYXNlX3NoYTFfaGV4KTsKKwlyZXQgPSBkb19yZWFkX2luZGV4KHNwbGl0X2luZGV4LT5iYXNlLCBiYXNlX3BhdGgsIDEpOwogCWlmIChoYXNoY21wKHNwbGl0X2luZGV4LT5iYXNlX3NoYTEsIHNwbGl0X2luZGV4LT5iYXNlLT5zaGExKSkKIAkJZGllKCJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIiwKLQkJICAgIHNoYTFfdG9faGV4KHNwbGl0X2luZGV4LT5iYXNlX3NoYTEpLAotCQkgICAgZ2l0X3BhdGgoInNoYXJlZGluZGV4LiVzIiwKLQkJCSAgICAgc2hhMV90b19oZXgoc3BsaXRfaW5kZXgtPmJhc2Vfc2hhMSkpLAorCQkgICAgYmFzZV9zaGExX2hleCwgYmFzZV9wYXRoLAogCQkgICAgc2hhMV90b19oZXgoc3BsaXRfaW5kZXgtPmJhc2UtPnNoYTEpKTsKKworCWZyZXNoZW5fc2hhcmVkX2luZGV4KGJhc2Vfc2hhMV9oZXgsIDApOwogCW1lcmdlX2Jhc2VfaW5kZXgoaXN0YXRlKTsKIAlwb3N0X3JlYWRfaW5kZXhfZnJvbShpc3RhdGUpOwogCXJldHVybiByZXQ7CkBAIC0xNzE4LDggKzE4OTYsNyBAQAogCWZyZWVfbmFtZV9oYXNoKGlzdGF0ZSk7CiAJY2FjaGVfdHJlZV9mcmVlKCYoaXN0YXRlLT5jYWNoZV90cmVlKSk7CiAJaXN0YXRlLT5pbml0aWFsaXplZCA9IDA7Ci0JZnJlZShpc3RhdGUtPmNhY2hlKTsKLQlpc3RhdGUtPmNhY2hlID0gTlVMTDsKKwlGUkVFX0FORF9OVUxMKGlzdGF0ZS0+Y2FjaGUpOwogCWlzdGF0ZS0+Y2FjaGVfYWxsb2MgPSAwOwogCWRpc2NhcmRfc3BsaXRfaW5kZXgoaXN0YXRlKTsKIAlmcmVlX3VudHJhY2tlZF9jYWNoZShpc3RhdGUtPnVudHJhY2tlZCk7CkBAIC0xNzQ2LDcgKzE5MjMsNyBAQAogCXVuc2lnbmVkIGludCBidWZmZXJlZCA9IHdyaXRlX2J1ZmZlcl9sZW47CiAJaWYgKGJ1ZmZlcmVkKSB7CiAJCWdpdF9TSEExX1VwZGF0ZShjb250ZXh0LCB3cml0ZV9idWZmZXIsIGJ1ZmZlcmVkKTsKLQkJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIHdyaXRlX2J1ZmZlciwgYnVmZmVyZWQpICE9IGJ1ZmZlcmVkKQorCQlpZiAod3JpdGVfaW5fZnVsbChmZCwgd3JpdGVfYnVmZmVyLCBidWZmZXJlZCkgPCAwKQogCQkJcmV0dXJuIC0xOwogCQl3cml0ZV9idWZmZXJfbGVuID0gMDsKIAl9CkBAIC0xNzk1LDcgKzE5NzIsNyBAQAogCiAJLyogRmx1c2ggZmlyc3QgaWYgbm90IGVub3VnaCBzcGFjZSBmb3IgU0hBMSBzaWduYXR1cmUgKi8KIAlpZiAobGVmdCArIDIwID4gV1JJVEVfQlVGRkVSX1NJWkUpIHsKLQkJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIHdyaXRlX2J1ZmZlciwgbGVmdCkgIT0gbGVmdCkKKwkJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIHdyaXRlX2J1ZmZlciwgbGVmdCkgPCAwKQogCQkJcmV0dXJuIC0xOwogCQlsZWZ0ID0gMDsKIAl9CkBAIC0xODA0LDcgKzE5ODEsNyBAQAogCWdpdF9TSEExX0ZpbmFsKHdyaXRlX2J1ZmZlciArIGxlZnQsIGNvbnRleHQpOwogCWhhc2hjcHkoc2hhMSwgd3JpdGVfYnVmZmVyICsgbGVmdCk7CiAJbGVmdCArPSAyMDsKLQlyZXR1cm4gKHdyaXRlX2luX2Z1bGwoZmQsIHdyaXRlX2J1ZmZlciwgbGVmdCkgIT0gbGVmdCkgPyAtMSA6IDA7CisJcmV0dXJuICh3cml0ZV9pbl9mdWxsKGZkLCB3cml0ZV9idWZmZXIsIGxlZnQpIDwgMCkgPyAtMSA6IDA7CiB9CiAKIHN0YXRpYyB2b2lkIGNlX3NtdWRnZV9yYWNpbHlfY2xlYW5fZW50cnkoc3RydWN0IGNhY2hlX2VudHJ5ICpjZSkKQEAgLTE4NTcsNyArMjAzNCw3IEBACiB9CiAKIC8qIENvcHkgbWlzY2VsbGFuZW91cyBmaWVsZHMgYnV0IG5vdCB0aGUgbmFtZSAqLwotc3RhdGljIGNoYXIgKmNvcHlfY2FjaGVfZW50cnlfdG9fb25kaXNrKHN0cnVjdCBvbmRpc2tfY2FjaGVfZW50cnkgKm9uZGlzaywKK3N0YXRpYyB2b2lkIGNvcHlfY2FjaGVfZW50cnlfdG9fb25kaXNrKHN0cnVjdCBvbmRpc2tfY2FjaGVfZW50cnkgKm9uZGlzaywKIAkJCQkgICAgICAgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSkKIHsKIAlzaG9ydCBmbGFnczsKQEAgLTE4ODEsMzIgKzIwNTgsMzUgQEAKIAkJc3RydWN0IG9uZGlza19jYWNoZV9lbnRyeV9leHRlbmRlZCAqb25kaXNrMjsKIAkJb25kaXNrMiA9IChzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkICopb25kaXNrOwogCQlvbmRpc2syLT5mbGFnczIgPSBodG9ucygoY2UtPmNlX2ZsYWdzICYgQ0VfRVhURU5ERURfRkxBR1MpID4+IDE2KTsKLQkJcmV0dXJuIG9uZGlzazItPm5hbWU7Ci0JfQotCWVsc2UgewotCQlyZXR1cm4gb25kaXNrLT5uYW1lOwogCX0KIH0KIAogc3RhdGljIGludCBjZV93cml0ZV9lbnRyeShnaXRfU0hBX0NUWCAqYywgaW50IGZkLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAotCQkJICBzdHJ1Y3Qgc3RyYnVmICpwcmV2aW91c19uYW1lKQorCQkJICBzdHJ1Y3Qgc3RyYnVmICpwcmV2aW91c19uYW1lLCBzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5ICpvbmRpc2spCiB7CiAJaW50IHNpemU7Ci0Jc3RydWN0IG9uZGlza19jYWNoZV9lbnRyeSAqb25kaXNrOwogCWludCBzYXZlZF9uYW1lbGVuID0gc2F2ZWRfbmFtZWxlbjsgLyogY29tcGlsZXIgd29ya2Fyb3VuZCAqLwotCWNoYXIgKm5hbWU7CiAJaW50IHJlc3VsdDsKKwlzdGF0aWMgdW5zaWduZWQgY2hhciBwYWRkaW5nWzhdID0geyAweDAwIH07CiAKIAlpZiAoY2UtPmNlX2ZsYWdzICYgQ0VfU1RSSVBfTkFNRSkgewogCQlzYXZlZF9uYW1lbGVuID0gY2VfbmFtZWxlbihjZSk7CiAJCWNlLT5jZV9uYW1lbGVuID0gMDsKIAl9CiAKKwlpZiAoY2UtPmNlX2ZsYWdzICYgQ0VfRVhURU5ERUQpCisJCXNpemUgPSBvZmZzZXRvZihzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkLCBuYW1lKTsKKwllbHNlCisJCXNpemUgPSBvZmZzZXRvZihzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5LCBuYW1lKTsKKwogCWlmICghcHJldmlvdXNfbmFtZSkgewotCQlzaXplID0gb25kaXNrX2NlX3NpemUoY2UpOwotCQlvbmRpc2sgPSB4Y2FsbG9jKDEsIHNpemUpOwotCQluYW1lID0gY29weV9jYWNoZV9lbnRyeV90b19vbmRpc2sob25kaXNrLCBjZSk7Ci0JCW1lbWNweShuYW1lLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSkpOworCQlpbnQgbGVuID0gY2VfbmFtZWxlbihjZSk7CisJCWNvcHlfY2FjaGVfZW50cnlfdG9fb25kaXNrKG9uZGlzaywgY2UpOworCQlyZXN1bHQgPSBjZV93cml0ZShjLCBmZCwgb25kaXNrLCBzaXplKTsKKwkJaWYgKCFyZXN1bHQpCisJCQlyZXN1bHQgPSBjZV93cml0ZShjLCBmZCwgY2UtPm5hbWUsIGxlbik7CisJCWlmICghcmVzdWx0KQorCQkJcmVzdWx0ID0gY2Vfd3JpdGUoYywgZmQsIHBhZGRpbmcsIGFsaWduX3BhZGRpbmdfc2l6ZShzaXplLCBsZW4pKTsKIAl9IGVsc2UgewogCQlpbnQgY29tbW9uLCB0b19yZW1vdmUsIHByZWZpeF9zaXplOwogCQl1bnNpZ25lZCBjaGFyIHRvX3JlbW92ZV92aVsxNl07CkBAIC0xOTE5LDE2ICsyMDk5LDE0IEBACiAJCXRvX3JlbW92ZSA9IHByZXZpb3VzX25hbWUtPmxlbiAtIGNvbW1vbjsKIAkJcHJlZml4X3NpemUgPSBlbmNvZGVfdmFyaW50KHRvX3JlbW92ZSwgdG9fcmVtb3ZlX3ZpKTsKIAotCQlpZiAoY2UtPmNlX2ZsYWdzICYgQ0VfRVhURU5ERUQpCi0JCQlzaXplID0gb2Zmc2V0b2Yoc3RydWN0IG9uZGlza19jYWNoZV9lbnRyeV9leHRlbmRlZCwgbmFtZSk7Ci0JCWVsc2UKLQkJCXNpemUgPSBvZmZzZXRvZihzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5LCBuYW1lKTsKLQkJc2l6ZSArPSBwcmVmaXhfc2l6ZSArIChjZV9uYW1lbGVuKGNlKSAtIGNvbW1vbiArIDEpOwotCi0JCW9uZGlzayA9IHhjYWxsb2MoMSwgc2l6ZSk7Ci0JCW5hbWUgPSBjb3B5X2NhY2hlX2VudHJ5X3RvX29uZGlzayhvbmRpc2ssIGNlKTsKLQkJbWVtY3B5KG5hbWUsIHRvX3JlbW92ZV92aSwgcHJlZml4X3NpemUpOwotCQltZW1jcHkobmFtZSArIHByZWZpeF9zaXplLCBjZS0+bmFtZSArIGNvbW1vbiwgY2VfbmFtZWxlbihjZSkgLSBjb21tb24pOworCQljb3B5X2NhY2hlX2VudHJ5X3RvX29uZGlzayhvbmRpc2ssIGNlKTsKKwkJcmVzdWx0ID0gY2Vfd3JpdGUoYywgZmQsIG9uZGlzaywgc2l6ZSk7CisJCWlmICghcmVzdWx0KQorCQkJcmVzdWx0ID0gY2Vfd3JpdGUoYywgZmQsIHRvX3JlbW92ZV92aSwgcHJlZml4X3NpemUpOworCQlpZiAoIXJlc3VsdCkKKwkJCXJlc3VsdCA9IGNlX3dyaXRlKGMsIGZkLCBjZS0+bmFtZSArIGNvbW1vbiwgY2VfbmFtZWxlbihjZSkgLSBjb21tb24pOworCQlpZiAoIXJlc3VsdCkKKwkJCXJlc3VsdCA9IGNlX3dyaXRlKGMsIGZkLCBwYWRkaW5nLCAxKTsKIAogCQlzdHJidWZfc3BsaWNlKHByZXZpb3VzX25hbWUsIGNvbW1vbiwgdG9fcmVtb3ZlLAogCQkJICAgICAgY2UtPm5hbWUgKyBjb21tb24sIGNlX25hbWVsZW4oY2UpIC0gY29tbW9uKTsKQEAgLTE5MzgsOCArMjExNiw2IEBACiAJCWNlLT5jZV9mbGFncyAmPSB+Q0VfU1RSSVBfTkFNRTsKIAl9CiAKLQlyZXN1bHQgPSBjZV93cml0ZShjLCBmZCwgb25kaXNrLCBzaXplKTsKLQlmcmVlKG9uZGlzayk7CiAJcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMjAxMSwxNiArMjE4NywxOSBAQAogCQlyb2xsYmFja19sb2NrX2ZpbGUobG9ja2ZpbGUpOwogfQogCi1zdGF0aWMgaW50IGRvX3dyaXRlX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBpbnQgbmV3ZmQsCitzdGF0aWMgaW50IGRvX3dyaXRlX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLAogCQkJICBpbnQgc3RyaXBfZXh0ZW5zaW9ucykKIHsKKwlpbnQgbmV3ZmQgPSB0ZW1wZmlsZS0+ZmQ7CiAJZ2l0X1NIQV9DVFggYzsKIAlzdHJ1Y3QgY2FjaGVfaGVhZGVyIGhkcjsKLQlpbnQgaSwgZXJyLCByZW1vdmVkLCBleHRlbmRlZCwgaGRyX3ZlcnNpb247CisJaW50IGksIGVyciA9IDAsIHJlbW92ZWQsIGV4dGVuZGVkLCBoZHJfdmVyc2lvbjsKIAlzdHJ1Y3QgY2FjaGVfZW50cnkgKipjYWNoZSA9IGlzdGF0ZS0+Y2FjaGU7CiAJaW50IGVudHJpZXMgPSBpc3RhdGUtPmNhY2hlX25yOwogCXN0cnVjdCBzdGF0IHN0OworCXN0cnVjdCBvbmRpc2tfY2FjaGVfZW50cnlfZXh0ZW5kZWQgb25kaXNrOwogCXN0cnVjdCBzdHJidWYgcHJldmlvdXNfbmFtZV9idWYgPSBTVFJCVUZfSU5JVCwgKnByZXZpb3VzX25hbWU7CisJaW50IGRyb3BfY2FjaGVfdHJlZSA9IDA7CiAKIAlmb3IgKGkgPSByZW1vdmVkID0gZXh0ZW5kZWQgPSAwOyBpIDwgZW50cmllczsgaSsrKSB7CiAJCWlmIChjYWNoZVtpXS0+Y2VfZmxhZ3MgJiBDRV9SRU1PVkUpCkBAIC0yMDU1LDYgKzIyMzQsNyBAQAogCQlyZXR1cm4gLTE7CiAKIAlwcmV2aW91c19uYW1lID0gKGhkcl92ZXJzaW9uID09IDQpID8gJnByZXZpb3VzX25hbWVfYnVmIDogTlVMTDsKKwogCWZvciAoaSA9IDA7IGkgPCBlbnRyaWVzOyBpKyspIHsKIAkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGNhY2hlW2ldOwogCQlpZiAoY2UtPmNlX2ZsYWdzICYgQ0VfUkVNT1ZFKQpAQCAtMjA3MCwxMyArMjI1MCwyMSBAQAogCQkJaWYgKGFsbG93KQogCQkJCXdhcm5pbmcobXNnLCBjZS0+bmFtZSk7CiAJCQllbHNlCi0JCQkJcmV0dXJuIGVycm9yKG1zZywgY2UtPm5hbWUpOworCQkJCWVyciA9IGVycm9yKG1zZywgY2UtPm5hbWUpOworCisJCQlkcm9wX2NhY2hlX3RyZWUgPSAxOwogCQl9Ci0JCWlmIChjZV93cml0ZV9lbnRyeSgmYywgbmV3ZmQsIGNlLCBwcmV2aW91c19uYW1lKSA8IDApCi0JCQlyZXR1cm4gLTE7CisJCWlmIChjZV93cml0ZV9lbnRyeSgmYywgbmV3ZmQsIGNlLCBwcmV2aW91c19uYW1lLCAoc3RydWN0IG9uZGlza19jYWNoZV9lbnRyeSAqKSZvbmRpc2spIDwgMCkKKwkJCWVyciA9IC0xOworCisJCWlmIChlcnIpCisJCQlicmVhazsKIAl9CiAJc3RyYnVmX3JlbGVhc2UoJnByZXZpb3VzX25hbWVfYnVmKTsKIAorCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKIAkvKiBXcml0ZSBleHRlbnNpb24gZGF0YSBoZXJlICovCiAJaWYgKCFzdHJpcF9leHRlbnNpb25zICYmIGlzdGF0ZS0+c3BsaXRfaW5kZXgpIHsKIAkJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwpAQCAtMjA4OSw3ICsyMjc3LDcgQEAKIAkJaWYgKGVycikKIAkJCXJldHVybiAtMTsKIAl9Ci0JaWYgKCFzdHJpcF9leHRlbnNpb25zICYmIGlzdGF0ZS0+Y2FjaGVfdHJlZSkgeworCWlmICghc3RyaXBfZXh0ZW5zaW9ucyAmJiAhZHJvcF9jYWNoZV90cmVlICYmIGlzdGF0ZS0+Y2FjaGVfdHJlZSkgewogCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKIAkJY2FjaGVfdHJlZV93cml0ZSgmc2IsIGlzdGF0ZS0+Y2FjaGVfdHJlZSk7CkBAIC0yMTIyLDcgKzIzMTAsMTQgQEAKIAkJCXJldHVybiAtMTsKIAl9CiAKLQlpZiAoY2VfZmx1c2goJmMsIG5ld2ZkLCBpc3RhdGUtPnNoYTEpIHx8IGZzdGF0KG5ld2ZkLCAmc3QpKQorCWlmIChjZV9mbHVzaCgmYywgbmV3ZmQsIGlzdGF0ZS0+c2hhMSkpCisJCXJldHVybiAtMTsKKwlpZiAoY2xvc2VfdGVtcGZpbGVfZ2VudGx5KHRlbXBmaWxlKSkgeworCQllcnJvcihfKCJjb3VsZCBub3QgY2xvc2UgJyVzJyIpLCB0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmKTsKKwkJZGVsZXRlX3RlbXBmaWxlKCZ0ZW1wZmlsZSk7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKHN0YXQodGVtcGZpbGUtPmZpbGVuYW1lLmJ1ZiwgJnN0KSkKIAkJcmV0dXJuIC0xOwogCWlzdGF0ZS0+dGltZXN0YW1wLnNlYyA9ICh1bnNpZ25lZCBpbnQpc3Quc3RfbXRpbWU7CiAJaXN0YXRlLT50aW1lc3RhbXAubnNlYyA9IFNUX01USU1FX05TRUMoc3QpOwpAQCAtMjE0NSw3ICsyMzQwLDcgQEAKIHN0YXRpYyBpbnQgZG9fd3JpdGVfbG9ja2VkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBzdHJ1Y3QgbG9ja19maWxlICpsb2NrLAogCQkJCSB1bnNpZ25lZCBmbGFncykKIHsKLQlpbnQgcmV0ID0gZG9fd3JpdGVfaW5kZXgoaXN0YXRlLCBnZXRfbG9ja19maWxlX2ZkKGxvY2spLCAwKTsKKwlpbnQgcmV0ID0gZG9fd3JpdGVfaW5kZXgoaXN0YXRlLCBsb2NrLT50ZW1wZmlsZSwgMCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAlhc3NlcnQoKGZsYWdzICYgKENPTU1JVF9MT0NLIHwgQ0xPU0VfTE9DSykpICE9CkBAIC0yMTUzLDcgKzIzNDgsNyBAQAogCWlmIChmbGFncyAmIENPTU1JVF9MT0NLKQogCQlyZXR1cm4gY29tbWl0X2xvY2tlZF9pbmRleChsb2NrKTsKIAllbHNlIGlmIChmbGFncyAmIENMT1NFX0xPQ0spCi0JCXJldHVybiBjbG9zZV9sb2NrX2ZpbGUobG9jayk7CisJCXJldHVybiBjbG9zZV9sb2NrX2ZpbGVfZ2VudGx5KGxvY2spOwogCWVsc2UKIAkJcmV0dXJuIHJldDsKIH0KQEAgLTIxNjksMzUgKzIzNjQsMTM1IEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHN0cnVjdCB0ZW1wZmlsZSB0ZW1wb3Jhcnlfc2hhcmVkaW5kZXg7CitzdGF0aWMgY29uc3QgY2hhciAqc2hhcmVkX2luZGV4X2V4cGlyZSA9ICIyLndlZWtzLmFnbyI7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9zaGFyZWRfaW5kZXhfZXhwaXJlX2RhdGUodm9pZCkKK3sKKwlzdGF0aWMgdW5zaWduZWQgbG9uZyBzaGFyZWRfaW5kZXhfZXhwaXJlX2RhdGU7CisJc3RhdGljIGludCBzaGFyZWRfaW5kZXhfZXhwaXJlX2RhdGVfcHJlcGFyZWQ7CisKKwlpZiAoIXNoYXJlZF9pbmRleF9leHBpcmVfZGF0ZV9wcmVwYXJlZCkgeworCQlnaXRfY29uZmlnX2dldF9leHBpcnkoInNwbGl0aW5kZXguc2hhcmVkaW5kZXhleHBpcmUiLAorCQkJCSAgICAgICZzaGFyZWRfaW5kZXhfZXhwaXJlKTsKKwkJc2hhcmVkX2luZGV4X2V4cGlyZV9kYXRlID0gYXBwcm94aWRhdGUoc2hhcmVkX2luZGV4X2V4cGlyZSk7CisJCXNoYXJlZF9pbmRleF9leHBpcmVfZGF0ZV9wcmVwYXJlZCA9IDE7CisJfQorCisJcmV0dXJuIHNoYXJlZF9pbmRleF9leHBpcmVfZGF0ZTsKK30KKworc3RhdGljIGludCBzaG91bGRfZGVsZXRlX3NoYXJlZF9pbmRleChjb25zdCBjaGFyICpzaGFyZWRfaW5kZXhfcGF0aCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwl1bnNpZ25lZCBsb25nIGV4cGlyYXRpb247CisKKwkvKiBDaGVjayB0aW1lc3RhbXAgKi8KKwlleHBpcmF0aW9uID0gZ2V0X3NoYXJlZF9pbmRleF9leHBpcmVfZGF0ZSgpOworCWlmICghZXhwaXJhdGlvbikKKwkJcmV0dXJuIDA7CisJaWYgKHN0YXQoc2hhcmVkX2luZGV4X3BhdGgsICZzdCkpCisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgc3RhdCAnJXMnIiksIHNoYXJlZF9pbmRleF9wYXRoKTsKKwlpZiAoc3Quc3RfbXRpbWUgPiBleHBpcmF0aW9uKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGNsZWFuX3NoYXJlZF9pbmRleF9maWxlcyhjb25zdCBjaGFyICpjdXJyZW50X2hleCkKK3sKKwlzdHJ1Y3QgZGlyZW50ICpkZTsKKwlESVIgKmRpciA9IG9wZW5kaXIoZ2V0X2dpdF9kaXIoKSk7CisKKwlpZiAoIWRpcikKKwkJcmV0dXJuIGVycm9yX2Vycm5vKF8oInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIiksIGdldF9naXRfZGlyKCkpOworCisJd2hpbGUgKChkZSA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgeworCQljb25zdCBjaGFyICpzaGExX2hleDsKKwkJY29uc3QgY2hhciAqc2hhcmVkX2luZGV4X3BhdGg7CisJCWlmICghc2tpcF9wcmVmaXgoZGUtPmRfbmFtZSwgInNoYXJlZGluZGV4LiIsICZzaGExX2hleCkpCisJCQljb250aW51ZTsKKwkJaWYgKCFzdHJjbXAoc2hhMV9oZXgsIGN1cnJlbnRfaGV4KSkKKwkJCWNvbnRpbnVlOworCQlzaGFyZWRfaW5kZXhfcGF0aCA9IGdpdF9wYXRoKCIlcyIsIGRlLT5kX25hbWUpOworCQlpZiAoc2hvdWxkX2RlbGV0ZV9zaGFyZWRfaW5kZXgoc2hhcmVkX2luZGV4X3BhdGgpID4gMCAmJgorCQkgICAgdW5saW5rKHNoYXJlZF9pbmRleF9wYXRoKSkKKwkJCXdhcm5pbmdfZXJybm8oXygidW5hYmxlIHRvIHVubGluazogJXMiKSwgc2hhcmVkX2luZGV4X3BhdGgpOworCX0KKwljbG9zZWRpcihkaXIpOworCisJcmV0dXJuIDA7Cit9CiAKIHN0YXRpYyBpbnQgd3JpdGVfc2hhcmVkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAogCQkJICAgICAgc3RydWN0IGxvY2tfZmlsZSAqbG9jaywgdW5zaWduZWQgZmxhZ3MpCiB7CisJc3RydWN0IHRlbXBmaWxlICp0ZW1wOwogCXN0cnVjdCBzcGxpdF9pbmRleCAqc2kgPSBpc3RhdGUtPnNwbGl0X2luZGV4OwotCWludCBmZCwgcmV0OworCWludCByZXQ7CiAKLQlmZCA9IG1rc190ZW1wZmlsZSgmdGVtcG9yYXJ5X3NoYXJlZGluZGV4LCBnaXRfcGF0aCgic2hhcmVkaW5kZXhfWFhYWFhYIikpOwotCWlmIChmZCA8IDApIHsKKwl0ZW1wID0gbWtzX3RlbXBmaWxlKGdpdF9wYXRoKCJzaGFyZWRpbmRleF9YWFhYWFgiKSk7CisJaWYgKCF0ZW1wKSB7CiAJCWhhc2hjbHIoc2ktPmJhc2Vfc2hhMSk7CiAJCXJldHVybiBkb193cml0ZV9sb2NrZWRfaW5kZXgoaXN0YXRlLCBsb2NrLCBmbGFncyk7CiAJfQogCW1vdmVfY2FjaGVfdG9fYmFzZV9pbmRleChpc3RhdGUpOwotCXJldCA9IGRvX3dyaXRlX2luZGV4KHNpLT5iYXNlLCBmZCwgMSk7CisJcmV0ID0gZG9fd3JpdGVfaW5kZXgoc2ktPmJhc2UsIHRlbXAsIDEpOwogCWlmIChyZXQpIHsKLQkJZGVsZXRlX3RlbXBmaWxlKCZ0ZW1wb3Jhcnlfc2hhcmVkaW5kZXgpOworCQlkZWxldGVfdGVtcGZpbGUoJnRlbXApOwogCQlyZXR1cm4gcmV0OwogCX0KLQlyZXQgPSByZW5hbWVfdGVtcGZpbGUoJnRlbXBvcmFyeV9zaGFyZWRpbmRleCwKKwlyZXQgPSBhZGp1c3Rfc2hhcmVkX3Blcm0oZ2V0X3RlbXBmaWxlX3BhdGgodGVtcCkpOworCWlmIChyZXQpIHsKKwkJaW50IHNhdmVfZXJybm8gPSBlcnJubzsKKwkJZXJyb3IoImNhbm5vdCBmaXggcGVybWlzc2lvbiBiaXRzIG9uICVzIiwgZ2V0X3RlbXBmaWxlX3BhdGgodGVtcCkpOworCQlkZWxldGVfdGVtcGZpbGUoJnRlbXApOworCQllcnJubyA9IHNhdmVfZXJybm87CisJCXJldHVybiByZXQ7CisJfQorCXJldCA9IHJlbmFtZV90ZW1wZmlsZSgmdGVtcCwKIAkJCSAgICAgIGdpdF9wYXRoKCJzaGFyZWRpbmRleC4lcyIsIHNoYTFfdG9faGV4KHNpLT5iYXNlLT5zaGExKSkpOwotCWlmICghcmV0KQorCWlmICghcmV0KSB7CiAJCWhhc2hjcHkoc2ktPmJhc2Vfc2hhMSwgc2ktPmJhc2UtPnNoYTEpOworCQljbGVhbl9zaGFyZWRfaW5kZXhfZmlsZXMoc2hhMV90b19oZXgoc2ktPmJhc2UtPnNoYTEpKTsKKwl9CisKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRfbWF4X3BlcmNlbnRfc3BsaXRfY2hhbmdlID0gMjA7CisKK3N0YXRpYyBpbnQgdG9vX21hbnlfbm90X3NoYXJlZF9lbnRyaWVzKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQoreworCWludCBpLCBub3Rfc2hhcmVkID0gMDsKKwlpbnQgbWF4X3NwbGl0ID0gZ2l0X2NvbmZpZ19nZXRfbWF4X3BlcmNlbnRfc3BsaXRfY2hhbmdlKCk7CisKKwlzd2l0Y2ggKG1heF9zcGxpdCkgeworCWNhc2UgLTE6CisJCS8qIG5vdCBvciBiYWRseSBjb25maWd1cmVkOiB1c2UgdGhlIGRlZmF1bHQgdmFsdWUgKi8KKwkJbWF4X3NwbGl0ID0gZGVmYXVsdF9tYXhfcGVyY2VudF9zcGxpdF9jaGFuZ2U7CisJCWJyZWFrOworCWNhc2UgMDoKKwkJcmV0dXJuIDE7IC8qIDAlIG1lYW5zIGFsd2F5cyB3cml0ZSBhIG5ldyBzaGFyZWQgaW5kZXggKi8KKwljYXNlIDEwMDoKKwkJcmV0dXJuIDA7IC8qIDEwMCUgbWVhbnMgbmV2ZXIgd3JpdGUgYSBuZXcgc2hhcmVkIGluZGV4ICovCisJZGVmYXVsdDoKKwkJYnJlYWs7IC8qIGp1c3QgdXNlIHRoZSBjb25maWd1cmVkIHZhbHVlICovCisJfQorCisJLyogQ291bnQgbm90IHNoYXJlZCBlbnRyaWVzICovCisJZm9yIChpID0gMDsgaSA8IGlzdGF0ZS0+Y2FjaGVfbnI7IGkrKykgeworCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gaXN0YXRlLT5jYWNoZVtpXTsKKwkJaWYgKCFjZS0+aW5kZXgpCisJCQlub3Rfc2hhcmVkKys7CisJfQorCisJcmV0dXJuIChpbnQ2NF90KWlzdGF0ZS0+Y2FjaGVfbnIgKiBtYXhfc3BsaXQgPCAoaW50NjRfdClub3Rfc2hhcmVkICogMTAwOworfQorCiBpbnQgd3JpdGVfbG9ja2VkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBzdHJ1Y3QgbG9ja19maWxlICpsb2NrLAogCQkgICAgICAgdW5zaWduZWQgZmxhZ3MpCiB7CisJaW50IG5ld19zaGFyZWRfaW5kZXgsIHJldDsKIAlzdHJ1Y3Qgc3BsaXRfaW5kZXggKnNpID0gaXN0YXRlLT5zcGxpdF9pbmRleDsKIAogCWlmICghc2kgfHwgYWx0ZXJuYXRlX2luZGV4X291dHB1dCB8fApAQCAtMjIxMiwxMyArMjUwNywyNCBAQAogCQlpZiAoKHYgJiAxNSkgPCA2KQogCQkJaXN0YXRlLT5jYWNoZV9jaGFuZ2VkIHw9IFNQTElUX0lOREVYX09SREVSRUQ7CiAJfQotCWlmIChpc3RhdGUtPmNhY2hlX2NoYW5nZWQgJiBTUExJVF9JTkRFWF9PUkRFUkVEKSB7Ci0JCWludCByZXQgPSB3cml0ZV9zaGFyZWRfaW5kZXgoaXN0YXRlLCBsb2NrLCBmbGFncyk7CisJaWYgKHRvb19tYW55X25vdF9zaGFyZWRfZW50cmllcyhpc3RhdGUpKQorCQlpc3RhdGUtPmNhY2hlX2NoYW5nZWQgfD0gU1BMSVRfSU5ERVhfT1JERVJFRDsKKworCW5ld19zaGFyZWRfaW5kZXggPSBpc3RhdGUtPmNhY2hlX2NoYW5nZWQgJiBTUExJVF9JTkRFWF9PUkRFUkVEOworCisJaWYgKG5ld19zaGFyZWRfaW5kZXgpIHsKKwkJcmV0ID0gd3JpdGVfc2hhcmVkX2luZGV4KGlzdGF0ZSwgbG9jaywgZmxhZ3MpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAl9CiAKLQlyZXR1cm4gd3JpdGVfc3BsaXRfaW5kZXgoaXN0YXRlLCBsb2NrLCBmbGFncyk7CisJcmV0ID0gd3JpdGVfc3BsaXRfaW5kZXgoaXN0YXRlLCBsb2NrLCBmbGFncyk7CisKKwkvKiBGcmVzaGVuIHRoZSBzaGFyZWQgaW5kZXggb25seSBpZiB0aGUgc3BsaXQtaW5kZXggd2FzIHdyaXR0ZW4gKi8KKwlpZiAoIXJldCAmJiAhbmV3X3NoYXJlZF9pbmRleCkKKwkJZnJlc2hlbl9zaGFyZWRfaW5kZXgoc2hhMV90b19oZXgoc2ktPmJhc2Vfc2hhMSksIDEpOworCisJcmV0dXJuIHJldDsKIH0KIAogLyoKQEAgLTIzMjEsOCArMjYyNyw3IEBACiAKIHZvaWQgc3RhdF92YWxpZGl0eV9jbGVhcihzdHJ1Y3Qgc3RhdF92YWxpZGl0eSAqc3YpCiB7Ci0JZnJlZShzdi0+c2QpOwotCXN2LT5zZCA9IE5VTEw7CisJRlJFRV9BTkRfTlVMTChzdi0+c2QpOwogfQogCiBpbnQgc3RhdF92YWxpZGl0eV9jaGVjayhzdHJ1Y3Qgc3RhdF92YWxpZGl0eSAqc3YsIGNvbnN0IGNoYXIgKnBhdGgpCkBAIC0yMzQ4LDMgKzI2NTMsOSBAQAogCQlmaWxsX3N0YXRfZGF0YShzdi0+c2QsICZzdCk7CiAJfQogfQorCit2b2lkIG1vdmVfaW5kZXhfZXh0ZW5zaW9ucyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmRzdCwgc3RydWN0IGluZGV4X3N0YXRlICpzcmMpCit7CisJZHN0LT51bnRyYWNrZWQgPSBzcmMtPnVudHJhY2tlZDsKKwlzcmMtPnVudHJhY2tlZCA9IE5VTEw7Cit9CmRpZmYgLS1naXQgYS9yZWYtZmlsdGVyLmMgYi9yZWYtZmlsdGVyLmMKaW5kZXggMzgyMGIyMS4uNTUzMjM2MiAxMDA2NDQKLS0tIGEvcmVmLWZpbHRlci5jCisrKyBiL3JlZi1maWx0ZXIuYwpAQCAtMTQsMTQgKzE0LDUxIEBACiAjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCiAjaW5jbHVkZSAidmVyc2lvbi5oIgogI2luY2x1ZGUgInRyYWlsZXIuaCIKKyNpbmNsdWRlICJ3dC1zdGF0dXMuaCIKKyNpbmNsdWRlICJjb21taXQtc2xhYi5oIgorCitzdGF0aWMgc3RydWN0IHJlZl9tc2cgeworCWNvbnN0IGNoYXIgKmdvbmU7CisJY29uc3QgY2hhciAqYWhlYWQ7CisJY29uc3QgY2hhciAqYmVoaW5kOworCWNvbnN0IGNoYXIgKmFoZWFkX2JlaGluZDsKK30gbXNncyA9IHsKKwkgLyogVW50cmFuc2xhdGVkIHBsdW1iaW5nIG1lc3NhZ2VzOiAqLworCSJnb25lIiwKKwkiYWhlYWQgJWQiLAorCSJiZWhpbmQgJWQiLAorCSJhaGVhZCAlZCwgYmVoaW5kICVkIgorfTsKKwordm9pZCBzZXR1cF9yZWZfZmlsdGVyX3BvcmNlbGFpbl9tc2codm9pZCkKK3sKKwltc2dzLmdvbmUgPSBfKCJnb25lIik7CisJbXNncy5haGVhZCA9IF8oImFoZWFkICVkIik7CisJbXNncy5iZWhpbmQgPSBfKCJiZWhpbmQgJWQiKTsKKwltc2dzLmFoZWFkX2JlaGluZCA9IF8oImFoZWFkICVkLCBiZWhpbmQgJWQiKTsKK30KIAogdHlwZWRlZiBlbnVtIHsgRklFTERfU1RSLCBGSUVMRF9VTE9ORywgRklFTERfVElNRSB9IGNtcF90eXBlOwordHlwZWRlZiBlbnVtIHsgQ09NUEFSRV9FUVVBTCwgQ09NUEFSRV9VTkVRVUFMLCBDT01QQVJFX05PTkUgfSBjbXBfc3RhdHVzOwogCiBzdHJ1Y3QgYWxpZ24gewogCWFsaWduX3R5cGUgcG9zaXRpb247CiAJdW5zaWduZWQgaW50IHdpZHRoOwogfTsKIAorc3RydWN0IGlmX3RoZW5fZWxzZSB7CisJY21wX3N0YXR1cyBjbXBfc3RhdHVzOworCWNvbnN0IGNoYXIgKnN0cjsKKwl1bnNpZ25lZCBpbnQgdGhlbl9hdG9tX3NlZW4gOiAxLAorCQllbHNlX2F0b21fc2VlbiA6IDEsCisJCWNvbmRpdGlvbl9zYXRpc2ZpZWQgOiAxOworfTsKKworc3RydWN0IHJlZm5hbWVfYXRvbSB7CisJZW51bSB7IFJfTk9STUFMLCBSX1NIT1JULCBSX0xTVFJJUCwgUl9SU1RSSVAgfSBvcHRpb247CisJaW50IGxzdHJpcCwgcnN0cmlwOworfTsKKwogLyoKICAqIEFuIGF0b20gaXMgYSB2YWxpZCBmaWVsZCBhdG9tIGxpc3RlZCBiZWxvdywgcG9zc2libHkgcHJlZml4ZWQgd2l0aAogICogYSAiKiIgdG8gZGVub3RlIGRlcmVmX3RhZygpLgpAQCAtMzgsNjIgKzc1LDExOSBAQAogCXVuaW9uIHsKIAkJY2hhciBjb2xvcltDT0xPUl9NQVhMRU5dOwogCQlzdHJ1Y3QgYWxpZ24gYWxpZ247Ci0JCWVudW0geyBSUl9OT1JNQUwsIFJSX1NIT1JURU4sIFJSX1RSQUNLLCBSUl9UUkFDS1NIT1JUIH0KLQkJCXJlbW90ZV9yZWY7CisJCXN0cnVjdCB7CisJCQllbnVtIHsgUlJfUkVGLCBSUl9UUkFDSywgUlJfVFJBQ0tTSE9SVCB9IG9wdGlvbjsKKwkJCXN0cnVjdCByZWZuYW1lX2F0b20gcmVmbmFtZTsKKwkJCXVuc2lnbmVkIGludCBub2JyYWNrZXQgOiAxOworCQl9IHJlbW90ZV9yZWY7CiAJCXN0cnVjdCB7CiAJCQllbnVtIHsgQ19CQVJFLCBDX0JPRFksIENfQk9EWV9ERVAsIENfTElORVMsIENfU0lHLCBDX1NVQiwgQ19UUkFJTEVSUyB9IG9wdGlvbjsKIAkJCXVuc2lnbmVkIGludCBubGluZXM7CiAJCX0gY29udGVudHM7Ci0JCWVudW0geyBPX0ZVTEwsIE9fU0hPUlQgfSBvYmplY3RuYW1lOworCQlzdHJ1Y3QgeworCQkJY21wX3N0YXR1cyBjbXBfc3RhdHVzOworCQkJY29uc3QgY2hhciAqc3RyOworCQl9IGlmX3RoZW5fZWxzZTsKKwkJc3RydWN0IHsKKwkJCWVudW0geyBPX0ZVTEwsIE9fTEVOR1RILCBPX1NIT1JUIH0gb3B0aW9uOworCQkJdW5zaWduZWQgaW50IGxlbmd0aDsKKwkJfSBvYmplY3RuYW1lOworCQlzdHJ1Y3QgcmVmbmFtZV9hdG9tIHJlZm5hbWU7CisJCWNoYXIgKmhlYWQ7CiAJfSB1OwogfSAqdXNlZF9hdG9tOwogc3RhdGljIGludCB1c2VkX2F0b21fY250LCBuZWVkX3RhZ2dlZCwgbmVlZF9zeW1yZWY7Ci1zdGF0aWMgaW50IG5lZWRfY29sb3JfcmVzZXRfYXRfZW9sOwogCi1zdGF0aWMgdm9pZCBjb2xvcl9hdG9tX3BhcnNlcihzdHJ1Y3QgdXNlZF9hdG9tICphdG9tLCBjb25zdCBjaGFyICpjb2xvcl92YWx1ZSkKK3N0YXRpYyB2b2lkIGNvbG9yX2F0b21fcGFyc2VyKGNvbnN0IHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQsIHN0cnVjdCB1c2VkX2F0b20gKmF0b20sIGNvbnN0IGNoYXIgKmNvbG9yX3ZhbHVlKQogewogCWlmICghY29sb3JfdmFsdWUpCiAJCWRpZShfKCJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIikpOwogCWlmIChjb2xvcl9wYXJzZShjb2xvcl92YWx1ZSwgYXRvbS0+dS5jb2xvcikgPCAwKQogCQlkaWUoXygidW5yZWNvZ25pemVkIGNvbG9yOiAlJShjb2xvcjolcykiKSwgY29sb3JfdmFsdWUpOworCS8qCisJICogV2UgY2hlY2sgdGhpcyBhZnRlciB3ZSd2ZSBwYXJzZWQgdGhlIGNvbG9yLCB3aGljaCBsZXRzIHVzIGNvbXBsYWluCisJICogYWJvdXQgc3ludGFjdGljYWxseSBib2d1cyBjb2xvciBuYW1lcyBldmVuIGlmIHRoZXkgd29uJ3QgYmUgdXNlZC4KKwkgKi8KKwlpZiAoIXdhbnRfY29sb3IoZm9ybWF0LT51c2VfY29sb3IpKQorCQljb2xvcl9wYXJzZSgiIiwgYXRvbS0+dS5jb2xvcik7CiB9CiAKLXN0YXRpYyB2b2lkIHJlbW90ZV9yZWZfYXRvbV9wYXJzZXIoc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQorc3RhdGljIHZvaWQgcmVmbmFtZV9hdG9tX3BhcnNlcl9pbnRlcm5hbChzdHJ1Y3QgcmVmbmFtZV9hdG9tICphdG9tLAorCQkJCQkgY29uc3QgY2hhciAqYXJnLCBjb25zdCBjaGFyICpuYW1lKQogewogCWlmICghYXJnKQotCQlhdG9tLT51LnJlbW90ZV9yZWYgPSBSUl9OT1JNQUw7CisJCWF0b20tPm9wdGlvbiA9IFJfTk9STUFMOwogCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAic2hvcnQiKSkKLQkJYXRvbS0+dS5yZW1vdGVfcmVmID0gUlJfU0hPUlRFTjsKLQllbHNlIGlmICghc3RyY21wKGFyZywgInRyYWNrIikpCi0JCWF0b20tPnUucmVtb3RlX3JlZiA9IFJSX1RSQUNLOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAidHJhY2tzaG9ydCIpKQotCQlhdG9tLT51LnJlbW90ZV9yZWYgPSBSUl9UUkFDS1NIT1JUOwotCWVsc2UKLQkJZGllKF8oInVucmVjb2duaXplZCBmb3JtYXQ6ICUlKCVzKSIpLCBhdG9tLT5uYW1lKTsKKwkJYXRvbS0+b3B0aW9uID0gUl9TSE9SVDsKKwllbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICJsc3RyaXA9IiwgJmFyZykgfHwKKwkJIHNraXBfcHJlZml4KGFyZywgInN0cmlwPSIsICZhcmcpKSB7CisJCWF0b20tPm9wdGlvbiA9IFJfTFNUUklQOworCQlpZiAoc3RydG9sX2koYXJnLCAxMCwgJmF0b20tPmxzdHJpcCkpCisJCQlkaWUoXygiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOmxzdHJpcD0lcyIpLCBhcmcpOworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAicnN0cmlwPSIsICZhcmcpKSB7CisJCWF0b20tPm9wdGlvbiA9IFJfUlNUUklQOworCQlpZiAoc3RydG9sX2koYXJnLCAxMCwgJmF0b20tPnJzdHJpcCkpCisJCQlkaWUoXygiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIpLCBhcmcpOworCX0gZWxzZQorCQlkaWUoXygidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiKSwgbmFtZSwgYXJnKTsKIH0KIAotc3RhdGljIHZvaWQgYm9keV9hdG9tX3BhcnNlcihzdHJ1Y3QgdXNlZF9hdG9tICphdG9tLCBjb25zdCBjaGFyICphcmcpCitzdGF0aWMgdm9pZCByZW1vdGVfcmVmX2F0b21fcGFyc2VyKGNvbnN0IHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQsIHN0cnVjdCB1c2VkX2F0b20gKmF0b20sIGNvbnN0IGNoYXIgKmFyZykKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcGFyYW1zID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisJaW50IGk7CisKKwlpZiAoIWFyZykgeworCQlhdG9tLT51LnJlbW90ZV9yZWYub3B0aW9uID0gUlJfUkVGOworCQlyZWZuYW1lX2F0b21fcGFyc2VyX2ludGVybmFsKCZhdG9tLT51LnJlbW90ZV9yZWYucmVmbmFtZSwKKwkJCQkJICAgICBhcmcsIGF0b20tPm5hbWUpOworCQlyZXR1cm47CisJfQorCisJYXRvbS0+dS5yZW1vdGVfcmVmLm5vYnJhY2tldCA9IDA7CisJc3RyaW5nX2xpc3Rfc3BsaXQoJnBhcmFtcywgYXJnLCAnLCcsIC0xKTsKKworCWZvciAoaSA9IDA7IGkgPCBwYXJhbXMubnI7IGkrKykgeworCQljb25zdCBjaGFyICpzID0gcGFyYW1zLml0ZW1zW2ldLnN0cmluZzsKKworCQlpZiAoIXN0cmNtcChzLCAidHJhY2siKSkKKwkJCWF0b20tPnUucmVtb3RlX3JlZi5vcHRpb24gPSBSUl9UUkFDSzsKKwkJZWxzZSBpZiAoIXN0cmNtcChzLCAidHJhY2tzaG9ydCIpKQorCQkJYXRvbS0+dS5yZW1vdGVfcmVmLm9wdGlvbiA9IFJSX1RSQUNLU0hPUlQ7CisJCWVsc2UgaWYgKCFzdHJjbXAocywgIm5vYnJhY2tldCIpKQorCQkJYXRvbS0+dS5yZW1vdGVfcmVmLm5vYnJhY2tldCA9IDE7CisJCWVsc2UgeworCQkJYXRvbS0+dS5yZW1vdGVfcmVmLm9wdGlvbiA9IFJSX1JFRjsKKwkJCXJlZm5hbWVfYXRvbV9wYXJzZXJfaW50ZXJuYWwoJmF0b20tPnUucmVtb3RlX3JlZi5yZWZuYW1lLAorCQkJCQkJICAgICBhcmcsIGF0b20tPm5hbWUpOworCQl9CisJfQorCisJc3RyaW5nX2xpc3RfY2xlYXIoJnBhcmFtcywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGJvZHlfYXRvbV9wYXJzZXIoY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCwgc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQogewogCWlmIChhcmcpCiAJCWRpZShfKCIlJShib2R5KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIpKTsKIAlhdG9tLT51LmNvbnRlbnRzLm9wdGlvbiA9IENfQk9EWV9ERVA7CiB9CiAKLXN0YXRpYyB2b2lkIHN1YmplY3RfYXRvbV9wYXJzZXIoc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQorc3RhdGljIHZvaWQgc3ViamVjdF9hdG9tX3BhcnNlcihjb25zdCBzdHJ1Y3QgcmVmX2Zvcm1hdCAqZm9ybWF0LCBzdHJ1Y3QgdXNlZF9hdG9tICphdG9tLCBjb25zdCBjaGFyICphcmcpCiB7CiAJaWYgKGFyZykKIAkJZGllKF8oIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIikpOwogCWF0b20tPnUuY29udGVudHMub3B0aW9uID0gQ19TVUI7CiB9CiAKLXN0YXRpYyB2b2lkIHRyYWlsZXJzX2F0b21fcGFyc2VyKHN0cnVjdCB1c2VkX2F0b20gKmF0b20sIGNvbnN0IGNoYXIgKmFyZykKK3N0YXRpYyB2b2lkIHRyYWlsZXJzX2F0b21fcGFyc2VyKGNvbnN0IHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQsIHN0cnVjdCB1c2VkX2F0b20gKmF0b20sIGNvbnN0IGNoYXIgKmFyZykKIHsKIAlpZiAoYXJnKQogCQlkaWUoXygiJSUodHJhaWxlcnMpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIikpOwogCWF0b20tPnUuY29udGVudHMub3B0aW9uID0gQ19UUkFJTEVSUzsKIH0KIAotc3RhdGljIHZvaWQgY29udGVudHNfYXRvbV9wYXJzZXIoc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQorc3RhdGljIHZvaWQgY29udGVudHNfYXRvbV9wYXJzZXIoY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCwgc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQogewogCWlmICghYXJnKQogCQlhdG9tLT51LmNvbnRlbnRzLm9wdGlvbiA9IENfQkFSRTsKQEAgLTExMywxNiArMjA3LDI4IEBACiAJCWRpZShfKCJ1bnJlY29nbml6ZWQgJSUoY29udGVudHMpIGFyZ3VtZW50OiAlcyIpLCBhcmcpOwogfQogCi1zdGF0aWMgdm9pZCBvYmplY3RuYW1lX2F0b21fcGFyc2VyKHN0cnVjdCB1c2VkX2F0b20gKmF0b20sIGNvbnN0IGNoYXIgKmFyZykKK3N0YXRpYyB2b2lkIG9iamVjdG5hbWVfYXRvbV9wYXJzZXIoY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCwgc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQogewogCWlmICghYXJnKQotCQlhdG9tLT51Lm9iamVjdG5hbWUgPSBPX0ZVTEw7CisJCWF0b20tPnUub2JqZWN0bmFtZS5vcHRpb24gPSBPX0ZVTEw7CiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICJzaG9ydCIpKQotCQlhdG9tLT51Lm9iamVjdG5hbWUgPSBPX1NIT1JUOwotCWVsc2UKKwkJYXRvbS0+dS5vYmplY3RuYW1lLm9wdGlvbiA9IE9fU0hPUlQ7CisJZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAic2hvcnQ9IiwgJmFyZykpIHsKKwkJYXRvbS0+dS5vYmplY3RuYW1lLm9wdGlvbiA9IE9fTEVOR1RIOworCQlpZiAoc3RydG91bF91aShhcmcsIDEwLCAmYXRvbS0+dS5vYmplY3RuYW1lLmxlbmd0aCkgfHwKKwkJICAgIGF0b20tPnUub2JqZWN0bmFtZS5sZW5ndGggPT0gMCkKKwkJCWRpZShfKCJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIiksIGFyZyk7CisJCWlmIChhdG9tLT51Lm9iamVjdG5hbWUubGVuZ3RoIDwgTUlOSU1VTV9BQkJSRVYpCisJCQlhdG9tLT51Lm9iamVjdG5hbWUubGVuZ3RoID0gTUlOSU1VTV9BQkJSRVY7CisJfSBlbHNlCiAJCWRpZShfKCJ1bnJlY29nbml6ZWQgJSUob2JqZWN0bmFtZSkgYXJndW1lbnQ6ICVzIiksIGFyZyk7CiB9CiAKK3N0YXRpYyB2b2lkIHJlZm5hbWVfYXRvbV9wYXJzZXIoY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCwgc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQoreworCXJlZm5hbWVfYXRvbV9wYXJzZXJfaW50ZXJuYWwoJmF0b20tPnUucmVmbmFtZSwgYXJnLCBhdG9tLT5uYW1lKTsKK30KKwogc3RhdGljIGFsaWduX3R5cGUgcGFyc2VfYWxpZ25fcG9zaXRpb24oY29uc3QgY2hhciAqcykKIHsKIAlpZiAoIXN0cmNtcChzLCAicmlnaHQiKSkKQEAgLTEzNCw3ICsyNDAsNyBAQAogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIHZvaWQgYWxpZ25fYXRvbV9wYXJzZXIoc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQorc3RhdGljIHZvaWQgYWxpZ25fYXRvbV9wYXJzZXIoY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCwgc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKQogewogCXN0cnVjdCBhbGlnbiAqYWxpZ24gPSAmYXRvbS0+dS5hbGlnbjsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcGFyYW1zID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CkBAIC0xNzMsMTIgKzI3OSwzMSBAQAogCXN0cmluZ19saXN0X2NsZWFyKCZwYXJhbXMsIDApOwogfQogCitzdGF0aWMgdm9pZCBpZl9hdG9tX3BhcnNlcihjb25zdCBzdHJ1Y3QgcmVmX2Zvcm1hdCAqZm9ybWF0LCBzdHJ1Y3QgdXNlZF9hdG9tICphdG9tLCBjb25zdCBjaGFyICphcmcpCit7CisJaWYgKCFhcmcpIHsKKwkJYXRvbS0+dS5pZl90aGVuX2Vsc2UuY21wX3N0YXR1cyA9IENPTVBBUkVfTk9ORTsKKwkJcmV0dXJuOworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiZXF1YWxzPSIsICZhdG9tLT51LmlmX3RoZW5fZWxzZS5zdHIpKSB7CisJCWF0b20tPnUuaWZfdGhlbl9lbHNlLmNtcF9zdGF0dXMgPSBDT01QQVJFX0VRVUFMOworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAibm90ZXF1YWxzPSIsICZhdG9tLT51LmlmX3RoZW5fZWxzZS5zdHIpKSB7CisJCWF0b20tPnUuaWZfdGhlbl9lbHNlLmNtcF9zdGF0dXMgPSBDT01QQVJFX1VORVFVQUw7CisJfSBlbHNlIHsKKwkJZGllKF8oInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIiksIGFyZyk7CisJfQorfQorCitzdGF0aWMgdm9pZCBoZWFkX2F0b21fcGFyc2VyKGNvbnN0IHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQsIHN0cnVjdCB1c2VkX2F0b20gKmF0b20sIGNvbnN0IGNoYXIgKmFyZykKK3sKKwlhdG9tLT51LmhlYWQgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsIE5VTEwsIE5VTEwpOworfQorCiBzdGF0aWMgc3RydWN0IHsKIAljb25zdCBjaGFyICpuYW1lOwogCWNtcF90eXBlIGNtcF90eXBlOwotCXZvaWQgKCpwYXJzZXIpKHN0cnVjdCB1c2VkX2F0b20gKmF0b20sIGNvbnN0IGNoYXIgKmFyZyk7CisJdm9pZCAoKnBhcnNlcikoY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCwgc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3QgY2hhciAqYXJnKTsKIH0gdmFsaWRfYXRvbVtdID0gewotCXsgInJlZm5hbWUiIH0sCisJeyAicmVmbmFtZSIgLCBGSUVMRF9TVFIsIHJlZm5hbWVfYXRvbV9wYXJzZXIgfSwKIAl7ICJvYmplY3R0eXBlIiB9LAogCXsgIm9iamVjdHNpemUiLCBGSUVMRF9VTE9ORyB9LAogCXsgIm9iamVjdG5hbWUiLCBGSUVMRF9TVFIsIG9iamVjdG5hbWVfYXRvbV9wYXJzZXIgfSwKQEAgLTIwOCwxMiArMzMzLDE1IEBACiAJeyAiY29udGVudHMiLCBGSUVMRF9TVFIsIGNvbnRlbnRzX2F0b21fcGFyc2VyIH0sCiAJeyAidXBzdHJlYW0iLCBGSUVMRF9TVFIsIHJlbW90ZV9yZWZfYXRvbV9wYXJzZXIgfSwKIAl7ICJwdXNoIiwgRklFTERfU1RSLCByZW1vdGVfcmVmX2F0b21fcGFyc2VyIH0sCi0JeyAic3ltcmVmIiB9LAorCXsgInN5bXJlZiIsIEZJRUxEX1NUUiwgcmVmbmFtZV9hdG9tX3BhcnNlciB9LAogCXsgImZsYWciIH0sCi0JeyAiSEVBRCIgfSwKKwl7ICJIRUFEIiwgRklFTERfU1RSLCBoZWFkX2F0b21fcGFyc2VyIH0sCiAJeyAiY29sb3IiLCBGSUVMRF9TVFIsIGNvbG9yX2F0b21fcGFyc2VyIH0sCiAJeyAiYWxpZ24iLCBGSUVMRF9TVFIsIGFsaWduX2F0b21fcGFyc2VyIH0sCiAJeyAiZW5kIiB9LAorCXsgImlmIiwgRklFTERfU1RSLCBpZl9hdG9tX3BhcnNlciB9LAorCXsgInRoZW4iIH0sCisJeyAiZWxzZSIgfSwKIH07CiAKICNkZWZpbmUgUkVGX0ZPUk1BVFRJTkdfU1RBVEVfSU5JVCAgeyAwLCBOVUxMIH0KQEAgLTIyMSw3ICszNDksNyBAQAogc3RydWN0IHJlZl9mb3JtYXR0aW5nX3N0YWNrIHsKIAlzdHJ1Y3QgcmVmX2Zvcm1hdHRpbmdfc3RhY2sgKnByZXY7CiAJc3RydWN0IHN0cmJ1ZiBvdXRwdXQ7Ci0Jdm9pZCAoKmF0X2VuZCkoc3RydWN0IHJlZl9mb3JtYXR0aW5nX3N0YWNrICpzdGFjayk7CisJdm9pZCAoKmF0X2VuZCkoc3RydWN0IHJlZl9mb3JtYXR0aW5nX3N0YWNrICoqc3RhY2spOwogCXZvaWQgKmF0X2VuZF9kYXRhOwogfTsKIApAQCAtMjMyLDE3ICszNjAsMTYgQEAKIAogc3RydWN0IGF0b21fdmFsdWUgewogCWNvbnN0IGNoYXIgKnM7Ci0JdW5pb24gewotCQlzdHJ1Y3QgYWxpZ24gYWxpZ247Ci0JfSB1OwogCXZvaWQgKCpoYW5kbGVyKShzdHJ1Y3QgYXRvbV92YWx1ZSAqYXRvbXYsIHN0cnVjdCByZWZfZm9ybWF0dGluZ19zdGF0ZSAqc3RhdGUpOwotCXVuc2lnbmVkIGxvbmcgdWw7IC8qIHVzZWQgZm9yIHNvcnRpbmcgd2hlbiBub3QgRklFTERfU1RSICovCisJdWludG1heF90IHZhbHVlOyAvKiB1c2VkIGZvciBzb3J0aW5nIHdoZW4gbm90IEZJRUxEX1NUUiAqLworCXN0cnVjdCB1c2VkX2F0b20gKmF0b207CiB9OwogCiAvKgogICogVXNlZCB0byBwYXJzZSBmb3JtYXQgc3RyaW5nIGFuZCBzb3J0IHNwZWNpZmllcnMKICAqLwotaW50IHBhcnNlX3JlZl9maWx0ZXJfYXRvbShjb25zdCBjaGFyICphdG9tLCBjb25zdCBjaGFyICplcCkKK3N0YXRpYyBpbnQgcGFyc2VfcmVmX2ZpbHRlcl9hdG9tKGNvbnN0IHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQsCisJCQkJIGNvbnN0IGNoYXIgKmF0b20sIGNvbnN0IGNoYXIgKmVwKQogewogCWNvbnN0IGNoYXIgKnNwOwogCWNvbnN0IGNoYXIgKmFyZzsKQEAgLTI5MCwxMCArNDE3LDEwIEBACiAJCWFyZyA9IHVzZWRfYXRvbVthdF0ubmFtZSArIChhcmcgLSBhdG9tKSArIDE7CiAJbWVtc2V0KCZ1c2VkX2F0b21bYXRdLnUsIDAsIHNpemVvZih1c2VkX2F0b21bYXRdLnUpKTsKIAlpZiAodmFsaWRfYXRvbVtpXS5wYXJzZXIpCi0JCXZhbGlkX2F0b21baV0ucGFyc2VyKCZ1c2VkX2F0b21bYXRdLCBhcmcpOworCQl2YWxpZF9hdG9tW2ldLnBhcnNlcihmb3JtYXQsICZ1c2VkX2F0b21bYXRdLCBhcmcpOwogCWlmICgqYXRvbSA9PSAnKicpCiAJCW5lZWRfdGFnZ2VkID0gMTsKLQlpZiAoIXN0cmNtcCh1c2VkX2F0b21bYXRdLm5hbWUsICJzeW1yZWYiKSkKKwlpZiAoIXN0cmNtcCh2YWxpZF9hdG9tW2ldLm5hbWUsICJzeW1yZWYiKSkKIAkJbmVlZF9zeW1yZWYgPSAxOwogCXJldHVybiBhdDsKIH0KQEAgLTM1NCwxMyArNDgxLDE0IEBACiAJKnN0YWNrID0gcHJldjsKIH0KIAotc3RhdGljIHZvaWQgZW5kX2FsaWduX2hhbmRsZXIoc3RydWN0IHJlZl9mb3JtYXR0aW5nX3N0YWNrICpzdGFjaykKK3N0YXRpYyB2b2lkIGVuZF9hbGlnbl9oYW5kbGVyKHN0cnVjdCByZWZfZm9ybWF0dGluZ19zdGFjayAqKnN0YWNrKQogewotCXN0cnVjdCBhbGlnbiAqYWxpZ24gPSAoc3RydWN0IGFsaWduICopc3RhY2stPmF0X2VuZF9kYXRhOworCXN0cnVjdCByZWZfZm9ybWF0dGluZ19zdGFjayAqY3VyID0gKnN0YWNrOworCXN0cnVjdCBhbGlnbiAqYWxpZ24gPSAoc3RydWN0IGFsaWduICopY3VyLT5hdF9lbmRfZGF0YTsKIAlzdHJ1Y3Qgc3RyYnVmIHMgPSBTVFJCVUZfSU5JVDsKIAotCXN0cmJ1Zl91dGY4X2FsaWduKCZzLCBhbGlnbi0+cG9zaXRpb24sIGFsaWduLT53aWR0aCwgc3RhY2stPm91dHB1dC5idWYpOwotCXN0cmJ1Zl9zd2FwKCZzdGFjay0+b3V0cHV0LCAmcyk7CisJc3RyYnVmX3V0ZjhfYWxpZ24oJnMsIGFsaWduLT5wb3NpdGlvbiwgYWxpZ24tPndpZHRoLCBjdXItPm91dHB1dC5idWYpOworCXN0cmJ1Zl9zd2FwKCZjdXItPm91dHB1dCwgJnMpOwogCXN0cmJ1Zl9yZWxlYXNlKCZzKTsKIH0KIApAQCAtMzcxLDcgKzQ5OSwxMTUgQEAKIAlwdXNoX3N0YWNrX2VsZW1lbnQoJnN0YXRlLT5zdGFjayk7CiAJbmV3ID0gc3RhdGUtPnN0YWNrOwogCW5ldy0+YXRfZW5kID0gZW5kX2FsaWduX2hhbmRsZXI7Ci0JbmV3LT5hdF9lbmRfZGF0YSA9ICZhdG9tdi0+dS5hbGlnbjsKKwluZXctPmF0X2VuZF9kYXRhID0gJmF0b212LT5hdG9tLT51LmFsaWduOworfQorCitzdGF0aWMgdm9pZCBpZl90aGVuX2Vsc2VfaGFuZGxlcihzdHJ1Y3QgcmVmX2Zvcm1hdHRpbmdfc3RhY2sgKipzdGFjaykKK3sKKwlzdHJ1Y3QgcmVmX2Zvcm1hdHRpbmdfc3RhY2sgKmN1ciA9ICpzdGFjazsKKwlzdHJ1Y3QgcmVmX2Zvcm1hdHRpbmdfc3RhY2sgKnByZXYgPSBjdXItPnByZXY7CisJc3RydWN0IGlmX3RoZW5fZWxzZSAqaWZfdGhlbl9lbHNlID0gKHN0cnVjdCBpZl90aGVuX2Vsc2UgKiljdXItPmF0X2VuZF9kYXRhOworCisJaWYgKCFpZl90aGVuX2Vsc2UtPnRoZW5fYXRvbV9zZWVuKQorCQlkaWUoXygiZm9ybWF0OiAlJShpZikgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIikpOworCisJaWYgKGlmX3RoZW5fZWxzZS0+ZWxzZV9hdG9tX3NlZW4pIHsKKwkJLyoKKwkJICogVGhlcmUgaXMgYW4gJShlbHNlKSBhdG9tOiB3ZSBuZWVkIHRvIGRyb3Agb25lIHN0YXRlIGZyb20gdGhlCisJCSAqIHN0YWNrLCBlaXRoZXIgdGhlICUoZWxzZSkgYnJhbmNoIGlmIHRoZSBjb25kaXRpb24gaXMgc2F0aXNmaWVkLCBvcgorCQkgKiB0aGUgJSh0aGVuKSBicmFuY2ggaWYgaXQgaXNuJ3QuCisJCSAqLworCQlpZiAoaWZfdGhlbl9lbHNlLT5jb25kaXRpb25fc2F0aXNmaWVkKSB7CisJCQlzdHJidWZfcmVzZXQoJmN1ci0+b3V0cHV0KTsKKwkJCXBvcF9zdGFja19lbGVtZW50KCZjdXIpOworCQl9IGVsc2UgeworCQkJc3RyYnVmX3N3YXAoJmN1ci0+b3V0cHV0LCAmcHJldi0+b3V0cHV0KTsKKwkJCXN0cmJ1Zl9yZXNldCgmY3VyLT5vdXRwdXQpOworCQkJcG9wX3N0YWNrX2VsZW1lbnQoJmN1cik7CisJCX0KKwl9IGVsc2UgaWYgKCFpZl90aGVuX2Vsc2UtPmNvbmRpdGlvbl9zYXRpc2ZpZWQpIHsKKwkJLyoKKwkJICogTm8gJShlbHNlKSBhdG9tOiBqdXN0IGRyb3AgdGhlICUodGhlbikgYnJhbmNoIGlmIHRoZQorCQkgKiBjb25kaXRpb24gaXMgbm90IHNhdGlzZmllZC4KKwkJICovCisJCXN0cmJ1Zl9yZXNldCgmY3VyLT5vdXRwdXQpOworCX0KKworCSpzdGFjayA9IGN1cjsKKwlmcmVlKGlmX3RoZW5fZWxzZSk7Cit9CisKK3N0YXRpYyB2b2lkIGlmX2F0b21faGFuZGxlcihzdHJ1Y3QgYXRvbV92YWx1ZSAqYXRvbXYsIHN0cnVjdCByZWZfZm9ybWF0dGluZ19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IHJlZl9mb3JtYXR0aW5nX3N0YWNrICpuZXc7CisJc3RydWN0IGlmX3RoZW5fZWxzZSAqaWZfdGhlbl9lbHNlID0geGNhbGxvYyhzaXplb2Yoc3RydWN0IGlmX3RoZW5fZWxzZSksIDEpOworCisJaWZfdGhlbl9lbHNlLT5zdHIgPSBhdG9tdi0+YXRvbS0+dS5pZl90aGVuX2Vsc2Uuc3RyOworCWlmX3RoZW5fZWxzZS0+Y21wX3N0YXR1cyA9IGF0b212LT5hdG9tLT51LmlmX3RoZW5fZWxzZS5jbXBfc3RhdHVzOworCisJcHVzaF9zdGFja19lbGVtZW50KCZzdGF0ZS0+c3RhY2spOworCW5ldyA9IHN0YXRlLT5zdGFjazsKKwluZXctPmF0X2VuZCA9IGlmX3RoZW5fZWxzZV9oYW5kbGVyOworCW5ldy0+YXRfZW5kX2RhdGEgPSBpZl90aGVuX2Vsc2U7Cit9CisKK3N0YXRpYyBpbnQgaXNfZW1wdHkoY29uc3QgY2hhciAqcykKK3sKKwl3aGlsZSAoKnMgIT0gJ1wwJykgeworCQlpZiAoIWlzc3BhY2UoKnMpKQorCQkJcmV0dXJuIDA7CisJCXMrKzsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkIHRoZW5fYXRvbV9oYW5kbGVyKHN0cnVjdCBhdG9tX3ZhbHVlICphdG9tdiwgc3RydWN0IHJlZl9mb3JtYXR0aW5nX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgcmVmX2Zvcm1hdHRpbmdfc3RhY2sgKmN1ciA9IHN0YXRlLT5zdGFjazsKKwlzdHJ1Y3QgaWZfdGhlbl9lbHNlICppZl90aGVuX2Vsc2UgPSBOVUxMOworCisJaWYgKGN1ci0+YXRfZW5kID09IGlmX3RoZW5fZWxzZV9oYW5kbGVyKQorCQlpZl90aGVuX2Vsc2UgPSAoc3RydWN0IGlmX3RoZW5fZWxzZSAqKWN1ci0+YXRfZW5kX2RhdGE7CisJaWYgKCFpZl90aGVuX2Vsc2UpCisJCWRpZShfKCJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIikpOworCWlmIChpZl90aGVuX2Vsc2UtPnRoZW5fYXRvbV9zZWVuKQorCQlkaWUoXygiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiKSk7CisJaWYgKGlmX3RoZW5fZWxzZS0+ZWxzZV9hdG9tX3NlZW4pCisJCWRpZShfKCJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBhZnRlciAlJShlbHNlKSIpKTsKKwlpZl90aGVuX2Vsc2UtPnRoZW5fYXRvbV9zZWVuID0gMTsKKwkvKgorCSAqIElmIHRoZSAnZXF1YWxzJyBvciAnbm90ZXF1YWxzJyBhdHRyaWJ1dGUgaXMgdXNlZCB0aGVuCisJICogcGVyZm9ybSB0aGUgcmVxdWlyZWQgY29tcGFyaXNvbi4gSWYgbm90LCBvbmx5IG5vbi1lbXB0eQorCSAqIHN0cmluZ3Mgc2F0aXNmeSB0aGUgJ2lmJyBjb25kaXRpb24uCisJICovCisJaWYgKGlmX3RoZW5fZWxzZS0+Y21wX3N0YXR1cyA9PSBDT01QQVJFX0VRVUFMKSB7CisJCWlmICghc3RyY21wKGlmX3RoZW5fZWxzZS0+c3RyLCBjdXItPm91dHB1dC5idWYpKQorCQkJaWZfdGhlbl9lbHNlLT5jb25kaXRpb25fc2F0aXNmaWVkID0gMTsKKwl9IGVsc2UgaWYgKGlmX3RoZW5fZWxzZS0+Y21wX3N0YXR1cyA9PSBDT01QQVJFX1VORVFVQUwpIHsKKwkJaWYgKHN0cmNtcChpZl90aGVuX2Vsc2UtPnN0ciwgY3VyLT5vdXRwdXQuYnVmKSkKKwkJCWlmX3RoZW5fZWxzZS0+Y29uZGl0aW9uX3NhdGlzZmllZCA9IDE7CisJfSBlbHNlIGlmIChjdXItPm91dHB1dC5sZW4gJiYgIWlzX2VtcHR5KGN1ci0+b3V0cHV0LmJ1ZikpCisJCWlmX3RoZW5fZWxzZS0+Y29uZGl0aW9uX3NhdGlzZmllZCA9IDE7CisJc3RyYnVmX3Jlc2V0KCZjdXItPm91dHB1dCk7Cit9CisKK3N0YXRpYyB2b2lkIGVsc2VfYXRvbV9oYW5kbGVyKHN0cnVjdCBhdG9tX3ZhbHVlICphdG9tdiwgc3RydWN0IHJlZl9mb3JtYXR0aW5nX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgcmVmX2Zvcm1hdHRpbmdfc3RhY2sgKnByZXYgPSBzdGF0ZS0+c3RhY2s7CisJc3RydWN0IGlmX3RoZW5fZWxzZSAqaWZfdGhlbl9lbHNlID0gTlVMTDsKKworCWlmIChwcmV2LT5hdF9lbmQgPT0gaWZfdGhlbl9lbHNlX2hhbmRsZXIpCisJCWlmX3RoZW5fZWxzZSA9IChzdHJ1Y3QgaWZfdGhlbl9lbHNlICopcHJldi0+YXRfZW5kX2RhdGE7CisJaWYgKCFpZl90aGVuX2Vsc2UpCisJCWRpZShfKCJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIikpOworCWlmICghaWZfdGhlbl9lbHNlLT50aGVuX2F0b21fc2VlbikKKwkJZGllKF8oImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIikpOworCWlmIChpZl90aGVuX2Vsc2UtPmVsc2VfYXRvbV9zZWVuKQorCQlkaWUoXygiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiKSk7CisJaWZfdGhlbl9lbHNlLT5lbHNlX2F0b21fc2VlbiA9IDE7CisJcHVzaF9zdGFja19lbGVtZW50KCZzdGF0ZS0+c3RhY2spOworCXN0YXRlLT5zdGFjay0+YXRfZW5kX2RhdGEgPSBwcmV2LT5hdF9lbmRfZGF0YTsKKwlzdGF0ZS0+c3RhY2stPmF0X2VuZCA9IHByZXYtPmF0X2VuZDsKIH0KIAogc3RhdGljIHZvaWQgZW5kX2F0b21faGFuZGxlcihzdHJ1Y3QgYXRvbV92YWx1ZSAqYXRvbXYsIHN0cnVjdCByZWZfZm9ybWF0dGluZ19zdGF0ZSAqc3RhdGUpCkBAIC0zODEsMTQgKzYxNywxNyBAQAogCiAJaWYgKCFjdXJyZW50LT5hdF9lbmQpCiAJCWRpZShfKCJmb3JtYXQ6ICUlKGVuZCkgYXRvbSB1c2VkIHdpdGhvdXQgY29ycmVzcG9uZGluZyBhdG9tIikpOwotCWN1cnJlbnQtPmF0X2VuZChjdXJyZW50KTsKKwljdXJyZW50LT5hdF9lbmQoJnN0YXRlLT5zdGFjayk7CisKKwkvKiAgU3RhY2sgbWF5IGhhdmUgYmVlbiBwb3BwZWQgd2l0aGluIGF0X2VuZCgpLCBoZW5jZSByZXNldCB0aGUgY3VycmVudCBwb2ludGVyICovCisJY3VycmVudCA9IHN0YXRlLT5zdGFjazsKIAogCS8qCiAJICogUGVyZm9ybSBxdW90ZSBmb3JtYXR0aW5nIHdoZW4gdGhlIHN0YWNrIGVsZW1lbnQgaXMgdGhhdCBvZgogCSAqIGEgc3VwcG9ydGluZyBhdG9tLiBJZiBuZXN0ZWQgdGhlbiBwZXJmb3JtIHF1b3RlIGZvcm1hdHRpbmcKIAkgKiBvbmx5IG9uIHRoZSB0b3Btb3N0IHN1cHBvcnRpbmcgYXRvbS4KIAkgKi8KLQlpZiAoIXN0YXRlLT5zdGFjay0+cHJldi0+cHJldikgeworCWlmICghY3VycmVudC0+cHJldi0+cHJldikgewogCQlxdW90ZV9mb3JtYXR0aW5nKCZzLCBjdXJyZW50LT5vdXRwdXQuYnVmLCBzdGF0ZS0+cXVvdGVfc3R5bGUpOwogCQlzdHJidWZfc3dhcCgmY3VycmVudC0+b3V0cHV0LCAmcyk7CiAJfQpAQCAtNDIyLDI0ICs2NjEsMjYgQEAKICAqIE1ha2Ugc3VyZSB0aGUgZm9ybWF0IHN0cmluZyBpcyB3ZWxsIGZvcm1lZCwgYW5kIHBhcnNlIG91dAogICogdGhlIHVzZWQgYXRvbXMuCiAgKi8KLWludCB2ZXJpZnlfcmVmX2Zvcm1hdChjb25zdCBjaGFyICpmb3JtYXQpCitpbnQgdmVyaWZ5X3JlZl9mb3JtYXQoc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCkKIHsKIAljb25zdCBjaGFyICpjcCwgKnNwOwogCi0JbmVlZF9jb2xvcl9yZXNldF9hdF9lb2wgPSAwOwotCWZvciAoY3AgPSBmb3JtYXQ7ICpjcCAmJiAoc3AgPSBmaW5kX25leHQoY3ApKTsgKSB7CisJZm9ybWF0LT5uZWVkX2NvbG9yX3Jlc2V0X2F0X2VvbCA9IDA7CisJZm9yIChjcCA9IGZvcm1hdC0+Zm9ybWF0OyAqY3AgJiYgKHNwID0gZmluZF9uZXh0KGNwKSk7ICkgewogCQljb25zdCBjaGFyICpjb2xvciwgKmVwID0gc3RyY2hyKHNwLCAnKScpOwogCQlpbnQgYXQ7CiAKIAkJaWYgKCFlcCkKIAkJCXJldHVybiBlcnJvcihfKCJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIpLCBzcCk7CiAJCS8qIHNwIHBvaW50cyBhdCAiJSgiIGFuZCBlcCBwb2ludHMgYXQgdGhlIGNsb3NpbmcgIikiICovCi0JCWF0ID0gcGFyc2VfcmVmX2ZpbHRlcl9hdG9tKHNwICsgMiwgZXApOworCQlhdCA9IHBhcnNlX3JlZl9maWx0ZXJfYXRvbShmb3JtYXQsIHNwICsgMiwgZXApOwogCQljcCA9IGVwICsgMTsKIAogCQlpZiAoc2tpcF9wcmVmaXgodXNlZF9hdG9tW2F0XS5uYW1lLCAiY29sb3I6IiwgJmNvbG9yKSkKLQkJCW5lZWRfY29sb3JfcmVzZXRfYXRfZW9sID0gISFzdHJjbXAoY29sb3IsICJyZXNldCIpOworCQkJZm9ybWF0LT5uZWVkX2NvbG9yX3Jlc2V0X2F0X2VvbCA9ICEhc3RyY21wKGNvbG9yLCAicmVzZXQiKTsKIAl9CisJaWYgKGZvcm1hdC0+bmVlZF9jb2xvcl9yZXNldF9hdF9lb2wgJiYgIXdhbnRfY29sb3IoZm9ybWF0LT51c2VfY29sb3IpKQorCQlmb3JtYXQtPm5lZWRfY29sb3JfcmVzZXRfYXRfZW9sID0gMDsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDQ5LDEzICs2OTAsMTMgQEAKICAqIGJ5IHRoZSAic3RydWN0IG9iamVjdCIgcmVwcmVzZW50YXRpb24sIHNldCAqZWF0ZW4gYXMgd2VsbC0tLWl0IGlzIGEKICAqIHNpZ25hbCBmcm9tIHBhcnNlX29iamVjdF9idWZmZXIgdG8gdXMgbm90IHRvIGZyZWUgdGhlIGJ1ZmZlci4KICAqLwotc3RhdGljIHZvaWQgKmdldF9vYmooY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IG9iamVjdCAqKm9iaiwgdW5zaWduZWQgbG9uZyAqc3osIGludCAqZWF0ZW4pCitzdGF0aWMgdm9pZCAqZ2V0X29iaihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCBvYmplY3QgKipvYmosIHVuc2lnbmVkIGxvbmcgKnN6LCBpbnQgKmVhdGVuKQogewogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKLQl2b2lkICpidWYgPSByZWFkX3NoYTFfZmlsZShzaGExLCAmdHlwZSwgc3opOworCXZvaWQgKmJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJnR5cGUsIHN6KTsKIAogCWlmIChidWYpCi0JCSpvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKHNoYTEsIHR5cGUsICpzeiwgYnVmLCBlYXRlbik7CisJCSpvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKG9pZCwgdHlwZSwgKnN6LCBidWYsIGVhdGVuKTsKIAllbHNlCiAJCSpvYmogPSBOVUxMOwogCXJldHVybiBidWY7CkBAIC00NjUsMTIgKzcwNiwxNSBAQAogCQkJICAgc3RydWN0IGF0b21fdmFsdWUgKnYsIHN0cnVjdCB1c2VkX2F0b20gKmF0b20pCiB7CiAJaWYgKHN0YXJ0c193aXRoKG5hbWUsICJvYmplY3RuYW1lIikpIHsKLQkJaWYgKGF0b20tPnUub2JqZWN0bmFtZSA9PSBPX1NIT1JUKSB7CisJCWlmIChhdG9tLT51Lm9iamVjdG5hbWUub3B0aW9uID09IE9fU0hPUlQpIHsKIAkJCXYtPnMgPSB4c3RyZHVwKGZpbmRfdW5pcXVlX2FiYnJldihzaGExLCBERUZBVUxUX0FCQlJFVikpOwogCQkJcmV0dXJuIDE7Ci0JCX0gZWxzZSBpZiAoYXRvbS0+dS5vYmplY3RuYW1lID09IE9fRlVMTCkgeworCQl9IGVsc2UgaWYgKGF0b20tPnUub2JqZWN0bmFtZS5vcHRpb24gPT0gT19GVUxMKSB7CiAJCQl2LT5zID0geHN0cmR1cChzaGExX3RvX2hleChzaGExKSk7CiAJCQlyZXR1cm4gMTsKKwkJfSBlbHNlIGlmIChhdG9tLT51Lm9iamVjdG5hbWUub3B0aW9uID09IE9fTEVOR1RIKSB7CisJCQl2LT5zID0geHN0cmR1cChmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgYXRvbS0+dS5vYmplY3RuYW1lLmxlbmd0aCkpOworCQkJcmV0dXJuIDE7CiAJCX0gZWxzZQogCQkJZGllKCJCVUc6IHVua25vd24gJSUob2JqZWN0bmFtZSkgb3B0aW9uIik7CiAJfQpAQCAtNDkyLDcgKzczNiw3IEBACiAJCWlmICghc3RyY21wKG5hbWUsICJvYmplY3R0eXBlIikpCiAJCQl2LT5zID0gdHlwZW5hbWUob2JqLT50eXBlKTsKIAkJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAib2JqZWN0c2l6ZSIpKSB7Ci0JCQl2LT51bCA9IHN6OworCQkJdi0+dmFsdWUgPSBzejsKIAkJCXYtPnMgPSB4c3RyZm10KCIlbHUiLCBzeik7CiAJCX0KIAkJZWxzZSBpZiAoZGVyZWYpCkBAIC01MzksOCArNzgzLDggQEAKIAkJCXYtPnMgPSB4c3RyZHVwKG9pZF90b19oZXgoJmNvbW1pdC0+dHJlZS0+b2JqZWN0Lm9pZCkpOwogCQl9CiAJCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIm51bXBhcmVudCIpKSB7Ci0JCQl2LT51bCA9IGNvbW1pdF9saXN0X2NvdW50KGNvbW1pdC0+cGFyZW50cyk7Ci0JCQl2LT5zID0geHN0cmZtdCgiJWx1Iiwgdi0+dWwpOworCQkJdi0+dmFsdWUgPSBjb21taXRfbGlzdF9jb3VudChjb21taXQtPnBhcmVudHMpOworCQkJdi0+cyA9IHhzdHJmbXQoIiVsdSIsICh1bnNpZ25lZCBsb25nKXYtPnZhbHVlKTsKIAkJfQogCQllbHNlIGlmICghc3RyY21wKG5hbWUsICJwYXJlbnQiKSkgewogCQkJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOwpAQCAtNjE4LDcgKzg2Miw3IEBACiB7CiAJY29uc3QgY2hhciAqZW9lbWFpbCA9IHN0cnN0cihidWYsICI+ICIpOwogCWNoYXIgKnpvbmU7Ci0JdW5zaWduZWQgbG9uZyB0aW1lc3RhbXA7CisJdGltZXN0YW1wX3QgdGltZXN0YW1wOwogCWxvbmcgdHo7CiAJc3RydWN0IGRhdGVfbW9kZSBkYXRlX21vZGUgPSB7IERBVEVfTk9STUFMIH07CiAJY29uc3QgY2hhciAqZm9ybWF0cDsKQEAgLTYzNywxOCArODgxLDE4IEBACiAKIAlpZiAoIWVvZW1haWwpCiAJCWdvdG8gYmFkOwotCXRpbWVzdGFtcCA9IHN0cnRvdWwoZW9lbWFpbCArIDIsICZ6b25lLCAxMCk7Ci0JaWYgKHRpbWVzdGFtcCA9PSBVTE9OR19NQVgpCisJdGltZXN0YW1wID0gcGFyc2VfdGltZXN0YW1wKGVvZW1haWwgKyAyLCAmem9uZSwgMTApOworCWlmICh0aW1lc3RhbXAgPT0gVElNRV9NQVgpCiAJCWdvdG8gYmFkOwogCXR6ID0gc3RydG9sKHpvbmUsIE5VTEwsIDEwKTsKIAlpZiAoKHR6ID09IExPTkdfTUlOIHx8IHR6ID09IExPTkdfTUFYKSAmJiBlcnJubyA9PSBFUkFOR0UpCiAJCWdvdG8gYmFkOwogCXYtPnMgPSB4c3RyZHVwKHNob3dfZGF0ZSh0aW1lc3RhbXAsIHR6LCAmZGF0ZV9tb2RlKSk7Ci0Jdi0+dWwgPSB0aW1lc3RhbXA7CisJdi0+dmFsdWUgPSB0aW1lc3RhbXA7CiAJcmV0dXJuOwogIGJhZDoKIAl2LT5zID0gIiI7Ci0Jdi0+dWwgPSAwOworCXYtPnZhbHVlID0gMDsKIH0KIAogLyogU2VlIGdyYWJfdmFsdWVzICovCkBAIC04ODcsNTAgKzExMzEsMTA4IEBACiAJcmV0dXJuIGRzdDsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKnN0cmlwX3JlZl9jb21wb25lbnRzKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IGNoYXIgKm5yX2FyZykKK3N0YXRpYyBjb25zdCBjaGFyICpsc3RyaXBfcmVmX2NvbXBvbmVudHMoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IGxlbikKIHsKLQljaGFyICplbmQ7Ci0JbG9uZyBuciA9IHN0cnRvbChucl9hcmcsICZlbmQsIDEwKTsKLQlsb25nIHJlbWFpbmluZyA9IG5yOworCWxvbmcgcmVtYWluaW5nID0gbGVuOwogCWNvbnN0IGNoYXIgKnN0YXJ0ID0gcmVmbmFtZTsKIAotCWlmIChuciA8IDEgfHwgKmVuZCAhPSAnXDAnKQotCQlkaWUoXygiOnN0cmlwPSByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVnZXIgYXJndW1lbnQiKSk7CisJaWYgKGxlbiA8IDApIHsKKwkJaW50IGk7CisJCWNvbnN0IGNoYXIgKnAgPSByZWZuYW1lOwogCi0Jd2hpbGUgKHJlbWFpbmluZykgeworCQkvKiBGaW5kIHRvdGFsIG5vIG9mICcvJyBzZXBhcmF0ZWQgcGF0aC1jb21wb25lbnRzICovCisJCWZvciAoaSA9IDA7IHBbaV07IHBbaV0gPT0gJy8nID8gaSsrIDogKnArKykKKwkJCTsKKwkJLyoKKwkJICogVGhlIG51bWJlciBvZiBjb21wb25lbnRzIHdlIG5lZWQgdG8gc3RyaXAgaXMgbm93CisJCSAqIHRoZSB0b3RhbCBtaW51cyB0aGUgY29tcG9uZW50cyB0byBiZSBsZWZ0IChQbHVzIG9uZQorCQkgKiBiZWNhdXNlIHdlIGNvdW50IHRoZSBudW1iZXIgb2YgJy8nLCBidXQgdGhlIG51bWJlcgorCQkgKiBvZiBjb21wb25lbnRzIGlzIG9uZSBtb3JlIHRoYW4gdGhlIG5vIG9mICcvJykuCisJCSAqLworCQlyZW1haW5pbmcgPSBpICsgbGVuICsgMTsKKwl9CisKKwl3aGlsZSAocmVtYWluaW5nID4gMCkgewogCQlzd2l0Y2ggKCpzdGFydCsrKSB7CiAJCWNhc2UgJ1wwJzoKLQkJCWRpZShfKCJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIpLAotCQkJICAgIHJlZm5hbWUsIG5yKTsKKwkJCXJldHVybiAiIjsKIAkJY2FzZSAnLyc6CiAJCQlyZW1haW5pbmctLTsKIAkJCWJyZWFrOwogCQl9CiAJfQorCiAJcmV0dXJuIHN0YXJ0OwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqcnN0cmlwX3JlZl9jb21wb25lbnRzKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBsZW4pCit7CisJbG9uZyByZW1haW5pbmcgPSBsZW47CisJY2hhciAqc3RhcnQgPSB4c3RyZHVwKHJlZm5hbWUpOworCisJaWYgKGxlbiA8IDApIHsKKwkJaW50IGk7CisJCWNvbnN0IGNoYXIgKnAgPSByZWZuYW1lOworCisJCS8qIEZpbmQgdG90YWwgbm8gb2YgJy8nIHNlcGFyYXRlZCBwYXRoLWNvbXBvbmVudHMgKi8KKwkJZm9yIChpID0gMDsgcFtpXTsgcFtpXSA9PSAnLycgPyBpKysgOiAqcCsrKQorCQkJOworCQkvKgorCQkgKiBUaGUgbnVtYmVyIG9mIGNvbXBvbmVudHMgd2UgbmVlZCB0byBzdHJpcCBpcyBub3cKKwkJICogdGhlIHRvdGFsIG1pbnVzIHRoZSBjb21wb25lbnRzIHRvIGJlIGxlZnQgKFBsdXMgb25lCisJCSAqIGJlY2F1c2Ugd2UgY291bnQgdGhlIG51bWJlciBvZiAnLycsIGJ1dCB0aGUgbnVtYmVyCisJCSAqIG9mIGNvbXBvbmVudHMgaXMgb25lIG1vcmUgdGhhbiB0aGUgbm8gb2YgJy8nKS4KKwkJICovCisJCXJlbWFpbmluZyA9IGkgKyBsZW4gKyAxOworCX0KKworCXdoaWxlIChyZW1haW5pbmctLSA+IDApIHsKKwkJY2hhciAqcCA9IHN0cnJjaHIoc3RhcnQsICcvJyk7CisJCWlmIChwID09IE5VTEwpCisJCQlyZXR1cm4gIiI7CisJCWVsc2UKKwkJCXBbMF0gPSAnXDAnOworCX0KKwlyZXR1cm4gc3RhcnQ7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpzaG93X3JlZihzdHJ1Y3QgcmVmbmFtZV9hdG9tICphdG9tLCBjb25zdCBjaGFyICpyZWZuYW1lKQoreworCWlmIChhdG9tLT5vcHRpb24gPT0gUl9TSE9SVCkKKwkJcmV0dXJuIHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKHJlZm5hbWUsIHdhcm5fYW1iaWd1b3VzX3JlZnMpOworCWVsc2UgaWYgKGF0b20tPm9wdGlvbiA9PSBSX0xTVFJJUCkKKwkJcmV0dXJuIGxzdHJpcF9yZWZfY29tcG9uZW50cyhyZWZuYW1lLCBhdG9tLT5sc3RyaXApOworCWVsc2UgaWYgKGF0b20tPm9wdGlvbiA9PSBSX1JTVFJJUCkKKwkJcmV0dXJuIHJzdHJpcF9yZWZfY29tcG9uZW50cyhyZWZuYW1lLCBhdG9tLT5yc3RyaXApOworCWVsc2UKKwkJcmV0dXJuIHJlZm5hbWU7Cit9CisKIHN0YXRpYyB2b2lkIGZpbGxfcmVtb3RlX3JlZl9kZXRhaWxzKHN0cnVjdCB1c2VkX2F0b20gKmF0b20sIGNvbnN0IGNoYXIgKnJlZm5hbWUsCiAJCQkJICAgIHN0cnVjdCBicmFuY2ggKmJyYW5jaCwgY29uc3QgY2hhciAqKnMpCiB7CiAJaW50IG51bV9vdXJzLCBudW1fdGhlaXJzOwotCWlmIChhdG9tLT51LnJlbW90ZV9yZWYgPT0gUlJfU0hPUlRFTikKLQkJKnMgPSBzaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihyZWZuYW1lLCB3YXJuX2FtYmlndW91c19yZWZzKTsKLQllbHNlIGlmIChhdG9tLT51LnJlbW90ZV9yZWYgPT0gUlJfVFJBQ0spIHsKKwlpZiAoYXRvbS0+dS5yZW1vdGVfcmVmLm9wdGlvbiA9PSBSUl9SRUYpCisJCSpzID0gc2hvd19yZWYoJmF0b20tPnUucmVtb3RlX3JlZi5yZWZuYW1lLCByZWZuYW1lKTsKKwllbHNlIGlmIChhdG9tLT51LnJlbW90ZV9yZWYub3B0aW9uID09IFJSX1RSQUNLKSB7CiAJCWlmIChzdGF0X3RyYWNraW5nX2luZm8oYnJhbmNoLCAmbnVtX291cnMsCi0JCQkJICAgICAgICZudW1fdGhlaXJzLCBOVUxMKSkKLQkJCXJldHVybjsKLQotCQlpZiAoIW51bV9vdXJzICYmICFudW1fdGhlaXJzKQorCQkJCSAgICAgICAmbnVtX3RoZWlycywgTlVMTCkpIHsKKwkJCSpzID0geHN0cmR1cChtc2dzLmdvbmUpOworCQl9IGVsc2UgaWYgKCFudW1fb3VycyAmJiAhbnVtX3RoZWlycykKIAkJCSpzID0gIiI7CiAJCWVsc2UgaWYgKCFudW1fb3VycykKLQkJCSpzID0geHN0cmZtdCgiW2JlaGluZCAlZF0iLCBudW1fdGhlaXJzKTsKKwkJCSpzID0geHN0cmZtdChtc2dzLmJlaGluZCwgbnVtX3RoZWlycyk7CiAJCWVsc2UgaWYgKCFudW1fdGhlaXJzKQotCQkJKnMgPSB4c3RyZm10KCJbYWhlYWQgJWRdIiwgbnVtX291cnMpOworCQkJKnMgPSB4c3RyZm10KG1zZ3MuYWhlYWQsIG51bV9vdXJzKTsKIAkJZWxzZQotCQkJKnMgPSB4c3RyZm10KCJbYWhlYWQgJWQsIGJlaGluZCAlZF0iLAorCQkJKnMgPSB4c3RyZm10KG1zZ3MuYWhlYWRfYmVoaW5kLAogCQkJCSAgICAgbnVtX291cnMsIG51bV90aGVpcnMpOwotCX0gZWxzZSBpZiAoYXRvbS0+dS5yZW1vdGVfcmVmID09IFJSX1RSQUNLU0hPUlQpIHsKKwkJaWYgKCFhdG9tLT51LnJlbW90ZV9yZWYubm9icmFja2V0ICYmICpzWzBdKSB7CisJCQljb25zdCBjaGFyICp0b19mcmVlID0gKnM7CisJCQkqcyA9IHhzdHJmbXQoIlslc10iLCAqcyk7CisJCQlmcmVlKCh2b2lkICopdG9fZnJlZSk7CisJCX0KKwl9IGVsc2UgaWYgKGF0b20tPnUucmVtb3RlX3JlZi5vcHRpb24gPT0gUlJfVFJBQ0tTSE9SVCkgewogCQlpZiAoc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm51bV9vdXJzLAogCQkJCSAgICAgICAmbnVtX3RoZWlycywgTlVMTCkpCiAJCQlyZXR1cm47CkBAIC05NDMsOCArMTI0NSw2MCBAQAogCQkJKnMgPSAiPiI7CiAJCWVsc2UKIAkJCSpzID0gIjw+IjsKLQl9IGVsc2UgLyogUlJfTk9STUFMICovCi0JCSpzID0gcmVmbmFtZTsKKwl9IGVsc2UKKwkJZGllKCJCVUc6IHVuaGFuZGxlZCBSUl8qIGVudW0iKTsKK30KKworY2hhciAqZ2V0X2hlYWRfZGVzY3JpcHRpb24odm9pZCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGRlc2MgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgd3Rfc3RhdHVzX3N0YXRlIHN0YXRlOworCW1lbXNldCgmc3RhdGUsIDAsIHNpemVvZihzdGF0ZSkpOworCXd0X3N0YXR1c19nZXRfc3RhdGUoJnN0YXRlLCAxKTsKKwlpZiAoc3RhdGUucmViYXNlX2luX3Byb2dyZXNzIHx8CisJICAgIHN0YXRlLnJlYmFzZV9pbnRlcmFjdGl2ZV9pbl9wcm9ncmVzcykKKwkJc3RyYnVmX2FkZGYoJmRlc2MsIF8oIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIpLAorCQkJICAgIHN0YXRlLmJyYW5jaCk7CisJZWxzZSBpZiAoc3RhdGUuYmlzZWN0X2luX3Byb2dyZXNzKQorCQlzdHJidWZfYWRkZigmZGVzYywgXygiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIiksCisJCQkgICAgc3RhdGUuYnJhbmNoKTsKKwllbHNlIGlmIChzdGF0ZS5kZXRhY2hlZF9mcm9tKSB7CisJCWlmIChzdGF0ZS5kZXRhY2hlZF9hdCkKKwkJCS8qCisJCQkgKiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAorCQkJICogZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYworCQkJICovCisJCQlzdHJidWZfYWRkZigmZGVzYywgXygiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIiksCisJCQkJc3RhdGUuZGV0YWNoZWRfZnJvbSk7CisJCWVsc2UKKwkJCS8qCisJCQkgKiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAorCQkJICogZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCisJCQkgKi8KKwkJCXN0cmJ1Zl9hZGRmKCZkZXNjLCBfKCIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIpLAorCQkJCXN0YXRlLmRldGFjaGVkX2Zyb20pOworCX0KKwllbHNlCisJCXN0cmJ1Zl9hZGRzdHIoJmRlc2MsIF8oIihubyBicmFuY2gpIikpOworCWZyZWUoc3RhdGUuYnJhbmNoKTsKKwlmcmVlKHN0YXRlLm9udG8pOworCWZyZWUoc3RhdGUuZGV0YWNoZWRfZnJvbSk7CisJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmRlc2MsIE5VTEwpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3N5bXJlZihzdHJ1Y3QgdXNlZF9hdG9tICphdG9tLCBzdHJ1Y3QgcmVmX2FycmF5X2l0ZW0gKnJlZikKK3sKKwlpZiAoIXJlZi0+c3ltcmVmKQorCQlyZXR1cm4gIiI7CisJZWxzZQorCQlyZXR1cm4gc2hvd19yZWYoJmF0b20tPnUucmVmbmFtZSwgcmVmLT5zeW1yZWYpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3JlZm5hbWUoc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgc3RydWN0IHJlZl9hcnJheV9pdGVtICpyZWYpCit7CisJaWYgKHJlZi0+a2luZCAmIEZJTFRFUl9SRUZTX0RFVEFDSEVEX0hFQUQpCisJCXJldHVybiBnZXRfaGVhZF9kZXNjcmlwdGlvbigpOworCXJldHVybiBzaG93X3JlZigmYXRvbS0+dS5yZWZuYW1lLCByZWYtPnJlZm5hbWUpOwogfQogCiAvKgpAQCAtOTU2LDE0ICsxMzEwLDEzIEBACiAJc3RydWN0IG9iamVjdCAqb2JqOwogCWludCBlYXRlbiwgaTsKIAl1bnNpZ25lZCBsb25nIHNpemU7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqdGFnZ2VkOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnRhZ2dlZDsKIAogCXJlZi0+dmFsdWUgPSB4Y2FsbG9jKHVzZWRfYXRvbV9jbnQsIHNpemVvZihzdHJ1Y3QgYXRvbV92YWx1ZSkpOwogCiAJaWYgKG5lZWRfc3ltcmVmICYmIChyZWYtPmZsYWcgJiBSRUZfSVNTWU1SRUYpICYmICFyZWYtPnN5bXJlZikgewotCQl1bnNpZ25lZCBjaGFyIHVudXNlZDFbMjBdOwogCQlyZWYtPnN5bXJlZiA9IHJlc29sdmVfcmVmZHVwKHJlZi0+cmVmbmFtZSwgUkVTT0xWRV9SRUZfUkVBRElORywKLQkJCQkJICAgICB1bnVzZWQxLCBOVUxMKTsKKwkJCQkJICAgICBOVUxMLCBOVUxMKTsKIAkJaWYgKCFyZWYtPnN5bXJlZikKIAkJCXJlZi0+c3ltcmVmID0gIiI7CiAJfQpAQCAtOTc1LDEwICsxMzI4LDEwIEBACiAJCXN0cnVjdCBhdG9tX3ZhbHVlICp2ID0gJnJlZi0+dmFsdWVbaV07CiAJCWludCBkZXJlZiA9IDA7CiAJCWNvbnN0IGNoYXIgKnJlZm5hbWU7Ci0JCWNvbnN0IGNoYXIgKmZvcm1hdHA7CiAJCXN0cnVjdCBicmFuY2ggKmJyYW5jaCA9IE5VTEw7CiAKIAkJdi0+aGFuZGxlciA9IGFwcGVuZF9hdG9tOworCQl2LT5hdG9tID0gYXRvbTsKIAogCQlpZiAoKm5hbWUgPT0gJyonKSB7CiAJCQlkZXJlZiA9IDE7CkBAIC05ODYsOSArMTMzOSw5IEBACiAJCX0KIAogCQlpZiAoc3RhcnRzX3dpdGgobmFtZSwgInJlZm5hbWUiKSkKLQkJCXJlZm5hbWUgPSByZWYtPnJlZm5hbWU7CisJCQlyZWZuYW1lID0gZ2V0X3JlZm5hbWUoYXRvbSwgcmVmKTsKIAkJZWxzZSBpZiAoc3RhcnRzX3dpdGgobmFtZSwgInN5bXJlZiIpKQotCQkJcmVmbmFtZSA9IHJlZi0+c3ltcmVmID8gcmVmLT5zeW1yZWYgOiAiIjsKKwkJCXJlZm5hbWUgPSBnZXRfc3ltcmVmKGF0b20sIHJlZik7CiAJCWVsc2UgaWYgKHN0YXJ0c193aXRoKG5hbWUsICJ1cHN0cmVhbSIpKSB7CiAJCQljb25zdCBjaGFyICpicmFuY2hfbmFtZTsKIAkJCS8qIG9ubHkgbG9jYWwgYnJhbmNoZXMgbWF5IGhhdmUgYW4gdXBzdHJlYW0gKi8KQEAgLTEwMjksNDQgKzEzODIsMzYgQEAKIAkJCQl2LT5zID0geHN0cmR1cChidWYgKyAxKTsKIAkJCX0KIAkJCWNvbnRpbnVlOwotCQl9IGVsc2UgaWYgKCFkZXJlZiAmJiBncmFiX29iamVjdG5hbWUobmFtZSwgcmVmLT5vYmplY3RuYW1lLCB2LCBhdG9tKSkgeworCQl9IGVsc2UgaWYgKCFkZXJlZiAmJiBncmFiX29iamVjdG5hbWUobmFtZSwgcmVmLT5vYmplY3RuYW1lLmhhc2gsIHYsIGF0b20pKSB7CiAJCQljb250aW51ZTsKIAkJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJIRUFEIikpIHsKLQkJCWNvbnN0IGNoYXIgKmhlYWQ7Ci0JCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCi0JCQloZWFkID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywKLQkJCQkJCSAgc2hhMSwgTlVMTCk7Ci0JCQlpZiAoaGVhZCAmJiAhc3RyY21wKHJlZi0+cmVmbmFtZSwgaGVhZCkpCisJCQlpZiAoYXRvbS0+dS5oZWFkICYmICFzdHJjbXAocmVmLT5yZWZuYW1lLCBhdG9tLT51LmhlYWQpKQogCQkJCXYtPnMgPSAiKiI7CiAJCQllbHNlCiAJCQkJdi0+cyA9ICIgIjsKIAkJCWNvbnRpbnVlOwogCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKG5hbWUsICJhbGlnbiIpKSB7Ci0JCQl2LT51LmFsaWduID0gYXRvbS0+dS5hbGlnbjsKIAkJCXYtPmhhbmRsZXIgPSBhbGlnbl9hdG9tX2hhbmRsZXI7CiAJCQljb250aW51ZTsKIAkJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJlbmQiKSkgewogCQkJdi0+aGFuZGxlciA9IGVuZF9hdG9tX2hhbmRsZXI7CiAJCQljb250aW51ZTsKKwkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChuYW1lLCAiaWYiKSkgeworCQkJY29uc3QgY2hhciAqczsKKworCQkJaWYgKHNraXBfcHJlZml4KG5hbWUsICJpZjoiLCAmcykpCisJCQkJdi0+cyA9IHhzdHJkdXAocyk7CisJCQl2LT5oYW5kbGVyID0gaWZfYXRvbV9oYW5kbGVyOworCQkJY29udGludWU7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAidGhlbiIpKSB7CisJCQl2LT5oYW5kbGVyID0gdGhlbl9hdG9tX2hhbmRsZXI7CisJCQljb250aW51ZTsKKwkJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJlbHNlIikpIHsKKwkJCXYtPmhhbmRsZXIgPSBlbHNlX2F0b21faGFuZGxlcjsKKwkJCWNvbnRpbnVlOwogCQl9IGVsc2UKIAkJCWNvbnRpbnVlOwogCi0JCWZvcm1hdHAgPSBzdHJjaHIobmFtZSwgJzonKTsKLQkJaWYgKGZvcm1hdHApIHsKLQkJCWNvbnN0IGNoYXIgKmFyZzsKLQotCQkJZm9ybWF0cCsrOwotCQkJaWYgKCFzdHJjbXAoZm9ybWF0cCwgInNob3J0IikpCi0JCQkJcmVmbmFtZSA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKHJlZm5hbWUsCi0JCQkJCQkgICAgICB3YXJuX2FtYmlndW91c19yZWZzKTsKLQkJCWVsc2UgaWYgKHNraXBfcHJlZml4KGZvcm1hdHAsICJzdHJpcD0iLCAmYXJnKSkKLQkJCQlyZWZuYW1lID0gc3RyaXBfcmVmX2NvbXBvbmVudHMocmVmbmFtZSwgYXJnKTsKLQkJCWVsc2UKLQkJCQlkaWUoXygidW5rbm93biAlLipzIGZvcm1hdCAlcyIpLAotCQkJCSAgICAoaW50KShmb3JtYXRwIC0gbmFtZSksIG5hbWUsIGZvcm1hdHApOwotCQl9Ci0KIAkJaWYgKCFkZXJlZikKIAkJCXYtPnMgPSByZWZuYW1lOwogCQllbHNlCkBAIC0xMDgxLDEzICsxNDI2LDEzIEBACiAJcmV0dXJuOwogCiAgbmVlZF9vYmo6Ci0JYnVmID0gZ2V0X29iaihyZWYtPm9iamVjdG5hbWUsICZvYmosICZzaXplLCAmZWF0ZW4pOworCWJ1ZiA9IGdldF9vYmooJnJlZi0+b2JqZWN0bmFtZSwgJm9iaiwgJnNpemUsICZlYXRlbik7CiAJaWYgKCFidWYpCiAJCWRpZShfKCJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiKSwKLQkJICAgIHNoYTFfdG9faGV4KHJlZi0+b2JqZWN0bmFtZSksIHJlZi0+cmVmbmFtZSk7CisJCSAgICBvaWRfdG9faGV4KCZyZWYtPm9iamVjdG5hbWUpLCByZWYtPnJlZm5hbWUpOwogCWlmICghb2JqKQogCQlkaWUoXygicGFyc2Vfb2JqZWN0X2J1ZmZlciBmYWlsZWQgb24gJXMgZm9yICVzIiksCi0JCSAgICBzaGExX3RvX2hleChyZWYtPm9iamVjdG5hbWUpLCByZWYtPnJlZm5hbWUpOworCQkgICAgb2lkX3RvX2hleCgmcmVmLT5vYmplY3RuYW1lKSwgcmVmLT5yZWZuYW1lKTsKIAogCWdyYWJfdmFsdWVzKHJlZi0+dmFsdWUsIDAsIG9iaiwgYnVmLCBzaXplKTsKIAlpZiAoIWVhdGVuKQpAQCAtMTEwNCw3ICsxNDQ5LDcgQEAKIAkgKiBJZiBpdCBpcyBhIHRhZyBvYmplY3QsIHNlZSBpZiB3ZSB1c2UgYSB2YWx1ZSB0aGF0IGRlcmVmcwogCSAqIHRoZSBvYmplY3QsIGFuZCBpZiB3ZSBkbyBncmFiIHRoZSBvYmplY3QgaXQgcmVmZXJzIHRvLgogCSAqLwotCXRhZ2dlZCA9ICgoc3RydWN0IHRhZyAqKW9iaiktPnRhZ2dlZC0+b2lkLmhhc2g7CisJdGFnZ2VkID0gJigoc3RydWN0IHRhZyAqKW9iaiktPnRhZ2dlZC0+b2lkOwogCiAJLyoKIAkgKiBORUVEU1dPUks6IFRoaXMgZGVyZWZzIHRhZyBvbmx5IG9uY2UsIHdoaWNoCkBAIC0xMTE1LDEwICsxNDYwLDEwIEBACiAJYnVmID0gZ2V0X29iaih0YWdnZWQsICZvYmosICZzaXplLCAmZWF0ZW4pOwogCWlmICghYnVmKQogCQlkaWUoXygibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIiksCi0JCSAgICBzaGExX3RvX2hleCh0YWdnZWQpLCByZWYtPnJlZm5hbWUpOworCQkgICAgb2lkX3RvX2hleCh0YWdnZWQpLCByZWYtPnJlZm5hbWUpOwogCWlmICghb2JqKQogCQlkaWUoXygicGFyc2Vfb2JqZWN0X2J1ZmZlciBmYWlsZWQgb24gJXMgZm9yICVzIiksCi0JCSAgICBzaGExX3RvX2hleCh0YWdnZWQpLCByZWYtPnJlZm5hbWUpOworCQkgICAgb2lkX3RvX2hleCh0YWdnZWQpLCByZWYtPnJlZm5hbWUpOwogCWdyYWJfdmFsdWVzKHJlZi0+dmFsdWUsIDEsIG9iaiwgYnVmLCBzaXplKTsKIAlpZiAoIWVhdGVuKQogCQlmcmVlKGJ1Zik7CkBAIC0xMTM3LDEwICsxNDgyLDIzIEBACiAJKnYgPSAmcmVmLT52YWx1ZVthdG9tXTsKIH0KIAorLyoKKyAqIFVua25vd24gaGFzIHRvIGJlICIwIiBoZXJlLCBiZWNhdXNlIHRoYXQncyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IKKyAqIGNvbnRhaW5zX2NhY2hlIHNsYWIgZW50cmllcyB0aGF0IGhhdmUgbm90IHlldCBiZWVuIGFzc2lnbmVkLgorICovCiBlbnVtIGNvbnRhaW5zX3Jlc3VsdCB7Ci0JQ09OVEFJTlNfVU5LTk9XTiA9IC0xLAotCUNPTlRBSU5TX05PID0gMCwKLQlDT05UQUlOU19ZRVMgPSAxCisJQ09OVEFJTlNfVU5LTk9XTiA9IDAsCisJQ09OVEFJTlNfTk8sCisJQ09OVEFJTlNfWUVTCit9OworCitkZWZpbmVfY29tbWl0X3NsYWIoY29udGFpbnNfY2FjaGUsIGVudW0gY29udGFpbnNfcmVzdWx0KTsKKworc3RydWN0IHJlZl9maWx0ZXJfY2JkYXRhIHsKKwlzdHJ1Y3QgcmVmX2FycmF5ICphcnJheTsKKwlzdHJ1Y3QgcmVmX2ZpbHRlciAqZmlsdGVyOworCXN0cnVjdCBjb250YWluc19jYWNoZSBjb250YWluc19jYWNoZTsKKwlzdHJ1Y3QgY29udGFpbnNfY2FjaGUgbm9fY29udGFpbnNfY2FjaGU7CiB9OwogCiAvKgpAQCAtMTE3MSwyNCArMTUyOSwyNCBAQAogICogRG8gbm90IHJlY3Vyc2UgdG8gZmluZCBvdXQsIHRob3VnaCwgYnV0IHJldHVybiAtMSBpZiBpbmNvbmNsdXNpdmUuCiAgKi8KIHN0YXRpYyBlbnVtIGNvbnRhaW5zX3Jlc3VsdCBjb250YWluc190ZXN0KHN0cnVjdCBjb21taXQgKmNhbmRpZGF0ZSwKLQkJCSAgICBjb25zdCBzdHJ1Y3QgY29tbWl0X2xpc3QgKndhbnQpCisJCQkJCSAgY29uc3Qgc3RydWN0IGNvbW1pdF9saXN0ICp3YW50LAorCQkJCQkgIHN0cnVjdCBjb250YWluc19jYWNoZSAqY2FjaGUpCiB7Ci0JLyogd2FzIGl0IHByZXZpb3VzbHkgbWFya2VkIGFzIGNvbnRhaW5pbmcgYSB3YW50IGNvbW1pdD8gKi8KLQlpZiAoY2FuZGlkYXRlLT5vYmplY3QuZmxhZ3MgJiBUTVBfTUFSSykKLQkJcmV0dXJuIDE7Ci0JLyogb3IgbWFya2VkIGFzIG5vdCBwb3NzaWJseSBjb250YWluaW5nIGEgd2FudCBjb21taXQ/ICovCi0JaWYgKGNhbmRpZGF0ZS0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykKLQkJcmV0dXJuIDA7CisJZW51bSBjb250YWluc19yZXN1bHQgKmNhY2hlZCA9IGNvbnRhaW5zX2NhY2hlX2F0KGNhY2hlLCBjYW5kaWRhdGUpOworCisJLyogSWYgd2UgYWxyZWFkeSBoYXZlIHRoZSBhbnN3ZXIgY2FjaGVkLCByZXR1cm4gdGhhdC4gKi8KKwlpZiAoKmNhY2hlZCkKKwkJcmV0dXJuICpjYWNoZWQ7CisKIAkvKiBvciBhcmUgd2UgaXQ/ICovCiAJaWYgKGluX2NvbW1pdF9saXN0KHdhbnQsIGNhbmRpZGF0ZSkpIHsKLQkJY2FuZGlkYXRlLT5vYmplY3QuZmxhZ3MgfD0gVE1QX01BUks7Ci0JCXJldHVybiAxOworCQkqY2FjaGVkID0gQ09OVEFJTlNfWUVTOworCQlyZXR1cm4gQ09OVEFJTlNfWUVTOwogCX0KIAotCWlmIChwYXJzZV9jb21taXQoY2FuZGlkYXRlKSA8IDApCi0JCXJldHVybiAwOwotCi0JcmV0dXJuIC0xOworCS8qIE90aGVyd2lzZSwgd2UgZG9uJ3Qga25vdzsgcHJlcGFyZSB0byByZWN1cnNlICovCisJcGFyc2VfY29tbWl0X29yX2RpZShjYW5kaWRhdGUpOworCXJldHVybiBDT05UQUlOU19VTktOT1dOOwogfQogCiBzdGF0aWMgdm9pZCBwdXNoX3RvX2NvbnRhaW5zX3N0YWNrKHN0cnVjdCBjb21taXQgKmNhbmRpZGF0ZSwgc3RydWN0IGNvbnRhaW5zX3N0YWNrICpjb250YWluc19zdGFjaykKQEAgLTExOTksMTAgKzE1NTcsMTEgQEAKIH0KIAogc3RhdGljIGVudW0gY29udGFpbnNfcmVzdWx0IGNvbnRhaW5zX3RhZ19hbGdvKHN0cnVjdCBjb21taXQgKmNhbmRpZGF0ZSwKLQkJY29uc3Qgc3RydWN0IGNvbW1pdF9saXN0ICp3YW50KQorCQkJCQkgICAgICBjb25zdCBzdHJ1Y3QgY29tbWl0X2xpc3QgKndhbnQsCisJCQkJCSAgICAgIHN0cnVjdCBjb250YWluc19jYWNoZSAqY2FjaGUpCiB7CiAJc3RydWN0IGNvbnRhaW5zX3N0YWNrIGNvbnRhaW5zX3N0YWNrID0geyAwLCAwLCBOVUxMIH07Ci0JaW50IHJlc3VsdCA9IGNvbnRhaW5zX3Rlc3QoY2FuZGlkYXRlLCB3YW50KTsKKwllbnVtIGNvbnRhaW5zX3Jlc3VsdCByZXN1bHQgPSBjb250YWluc190ZXN0KGNhbmRpZGF0ZSwgd2FudCwgY2FjaGUpOwogCiAJaWYgKHJlc3VsdCAhPSBDT05UQUlOU19VTktOT1dOKQogCQlyZXR1cm4gcmVzdWx0OwpAQCAtMTIxNCwxNiArMTU3MywxNiBAQAogCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMgPSBlbnRyeS0+cGFyZW50czsKIAogCQlpZiAoIXBhcmVudHMpIHsKLQkJCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IFVOSU5URVJFU1RJTkc7CisJCQkqY29udGFpbnNfY2FjaGVfYXQoY2FjaGUsIGNvbW1pdCkgPSBDT05UQUlOU19OTzsKIAkJCWNvbnRhaW5zX3N0YWNrLm5yLS07CiAJCX0KIAkJLyoKIAkJICogSWYgd2UganVzdCBwb3BwZWQgdGhlIHN0YWNrLCBwYXJlbnRzLT5pdGVtIGhhcyBiZWVuIG1hcmtlZCwKLQkJICogdGhlcmVmb3JlIGNvbnRhaW5zX3Rlc3Qgd2lsbCByZXR1cm4gYSBtZWFuaW5nZnVsIDAgb3IgMS4KKwkJICogdGhlcmVmb3JlIGNvbnRhaW5zX3Rlc3Qgd2lsbCByZXR1cm4gYSBtZWFuaW5nZnVsIHllcy9uby4KIAkJICovCi0JCWVsc2Ugc3dpdGNoIChjb250YWluc190ZXN0KHBhcmVudHMtPml0ZW0sIHdhbnQpKSB7CisJCWVsc2Ugc3dpdGNoIChjb250YWluc190ZXN0KHBhcmVudHMtPml0ZW0sIHdhbnQsIGNhY2hlKSkgewogCQljYXNlIENPTlRBSU5TX1lFUzoKLQkJCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IFRNUF9NQVJLOworCQkJKmNvbnRhaW5zX2NhY2hlX2F0KGNhY2hlLCBjb21taXQpID0gQ09OVEFJTlNfWUVTOwogCQkJY29udGFpbnNfc3RhY2subnItLTsKIAkJCWJyZWFrOwogCQljYXNlIENPTlRBSU5TX05POgpAQCAtMTIzNSwxNCArMTU5NCwxNSBAQAogCQl9CiAJfQogCWZyZWUoY29udGFpbnNfc3RhY2suY29udGFpbnNfc3RhY2spOwotCXJldHVybiBjb250YWluc190ZXN0KGNhbmRpZGF0ZSwgd2FudCk7CisJcmV0dXJuIGNvbnRhaW5zX3Rlc3QoY2FuZGlkYXRlLCB3YW50LCBjYWNoZSk7CiB9CiAKLXN0YXRpYyBpbnQgY29tbWl0X2NvbnRhaW5zKHN0cnVjdCByZWZfZmlsdGVyICpmaWx0ZXIsIHN0cnVjdCBjb21taXQgKmNvbW1pdCkKK3N0YXRpYyBpbnQgY29tbWl0X2NvbnRhaW5zKHN0cnVjdCByZWZfZmlsdGVyICpmaWx0ZXIsIHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJCSAgIHN0cnVjdCBjb21taXRfbGlzdCAqbGlzdCwgc3RydWN0IGNvbnRhaW5zX2NhY2hlICpjYWNoZSkKIHsKIAlpZiAoZmlsdGVyLT53aXRoX2NvbW1pdF90YWdfYWxnbykKLQkJcmV0dXJuIGNvbnRhaW5zX3RhZ19hbGdvKGNvbW1pdCwgZmlsdGVyLT53aXRoX2NvbW1pdCk7Ci0JcmV0dXJuIGlzX2Rlc2NlbmRhbnRfb2YoY29tbWl0LCBmaWx0ZXItPndpdGhfY29tbWl0KTsKKwkJcmV0dXJuIGNvbnRhaW5zX3RhZ19hbGdvKGNvbW1pdCwgbGlzdCwgY2FjaGUpID09IENPTlRBSU5TX1lFUzsKKwlyZXR1cm4gaXNfZGVzY2VuZGFudF9vZihjb21taXQsIGxpc3QpOwogfQogCiAvKgpAQCAtMTI2OSw3ICsxNjI5LDcgQEAKIAkgICAgICAgc2tpcF9wcmVmaXgocmVmbmFtZSwgInJlZnMvIiwgJnJlZm5hbWUpKTsKIAogCWZvciAoOyAqcGF0dGVybnM7IHBhdHRlcm5zKyspIHsKLQkJaWYgKCF3aWxkbWF0Y2goKnBhdHRlcm5zLCByZWZuYW1lLCBmbGFncywgTlVMTCkpCisJCWlmICghd2lsZG1hdGNoKCpwYXR0ZXJucywgcmVmbmFtZSwgZmxhZ3MpKQogCQkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwpAQCAtMTMwMCw3ICsxNjYwLDcgQEAKIAkJICAgICByZWZuYW1lW3BsZW5dID09ICcvJyB8fAogCQkgICAgIHBbcGxlbi0xXSA9PSAnLycpKQogCQkJcmV0dXJuIDE7Ci0JCWlmICghd2lsZG1hdGNoKHAsIHJlZm5hbWUsIFdNX1BBVEhOQU1FLCBOVUxMKSkKKwkJaWYgKCF3aWxkbWF0Y2gocCwgcmVmbmFtZSwgV01fUEFUSE5BTUUpKQogCQkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwpAQCAtMTMxNyw2ICsxNjc3LDY4IEBACiB9CiAKIC8qCisgKiBGaW5kIHRoZSBsb25nZXN0IHByZWZpeCBvZiBwYXR0ZXJuIHdlIGNhbiBwYXNzIHRvCisgKiBgZm9yX2VhY2hfZnVsbHJlZl9pbigpYCwgbmFtZWx5IHRoZSBwYXJ0IG9mIHBhdHRlcm4gcHJlY2VkaW5nIHRoZQorICogZmlyc3QgZ2xvYiBjaGFyYWN0ZXIuIChOb3RlIHRoYXQgYGZvcl9lYWNoX2Z1bGxyZWZfaW4oKWAgaXMKKyAqIHBlcmZlY3RseSBoYXBweSB3b3JraW5nIHdpdGggYSBwcmVmaXggdGhhdCBkb2Vzbid0IGVuZCBhdCBhCisgKiBwYXRobmFtZSBjb21wb25lbnQgYm91bmRhcnkuKQorICovCitzdGF0aWMgdm9pZCBmaW5kX2xvbmdlc3RfcHJlZml4KHN0cnVjdCBzdHJidWYgKm91dCwgY29uc3QgY2hhciAqcGF0dGVybikKK3sKKwljb25zdCBjaGFyICpwOworCisJZm9yIChwID0gcGF0dGVybjsgKnAgJiYgIWlzX2dsb2Jfc3BlY2lhbCgqcCk7IHArKykKKwkJOworCisJc3RyYnVmX2FkZChvdXQsIHBhdHRlcm4sIHAgLSBwYXR0ZXJuKTsKK30KKworLyoKKyAqIFRoaXMgaXMgdGhlIHNhbWUgYXMgZm9yX2VhY2hfZnVsbHJlZl9pbigpLCBidXQgaXQgdHJpZXMgdG8gaXRlcmF0ZQorICogb25seSBvdmVyIHRoZSBwYXR0ZXJucyB3ZSdsbCBjYXJlIGFib3V0LiBOb3RlIHRoYXQgaXQgX2RvZXNuJ3RfIGRvIGEgZnVsbAorICogcGF0dGVybiBtYXRjaCwgc28gdGhlIGNhbGxiYWNrIHN0aWxsIGhhcyB0byBtYXRjaCBlYWNoIHJlZiBpbmRpdmlkdWFsbHkuCisgKi8KK3N0YXRpYyBpbnQgZm9yX2VhY2hfZnVsbHJlZl9pbl9wYXR0ZXJuKHN0cnVjdCByZWZfZmlsdGVyICpmaWx0ZXIsCisJCQkJICAgICAgIGVhY2hfcmVmX2ZuIGNiLAorCQkJCSAgICAgICB2b2lkICpjYl9kYXRhLAorCQkJCSAgICAgICBpbnQgYnJva2VuKQoreworCXN0cnVjdCBzdHJidWYgcHJlZml4ID0gU1RSQlVGX0lOSVQ7CisJaW50IHJldDsKKworCWlmICghZmlsdGVyLT5tYXRjaF9hc19wYXRoKSB7CisJCS8qCisJCSAqIGluIHRoaXMgY2FzZSwgdGhlIHBhdHRlcm5zIGFyZSBhcHBsaWVkIGFmdGVyCisJCSAqIHByZWZpeGVzIGxpa2UgInJlZnMvaGVhZHMvIiBldGMuIGFyZSBzdHJpcHBlZCBvZmYsCisJCSAqIHNvIHdlIGhhdmUgdG8gbG9vayBhdCBldmVyeXRoaW5nOgorCQkgKi8KKwkJcmV0dXJuIGZvcl9lYWNoX2Z1bGxyZWZfaW4oIiIsIGNiLCBjYl9kYXRhLCBicm9rZW4pOworCX0KKworCWlmICghZmlsdGVyLT5uYW1lX3BhdHRlcm5zWzBdKSB7CisJCS8qIG5vIHBhdHRlcm5zOyB3ZSBoYXZlIHRvIGxvb2sgYXQgZXZlcnl0aGluZyAqLworCQlyZXR1cm4gZm9yX2VhY2hfZnVsbHJlZl9pbigiIiwgY2IsIGNiX2RhdGEsIGJyb2tlbik7CisJfQorCisJaWYgKGZpbHRlci0+bmFtZV9wYXR0ZXJuc1sxXSkgeworCQkvKgorCQkgKiBtdWx0aXBsZSBwYXR0ZXJuczsgaW4gdGhlb3J5IHRoaXMgY291bGQgc3RpbGwgd29yayBhcyBsb25nCisJCSAqIGFzIHRoZSBwYXR0ZXJucyBhcmUgZGlzam9pbnQuIFdlJ2QganVzdCBtYWtlIG11bHRpcGxlIGNhbGxzCisJCSAqIHRvIGZvcl9lYWNoX3JlZigpLiBCdXQgaWYgdGhleSdyZSBub3QgZGlzam9pbnQsIHdlJ2QgZW5kIHVwCisJCSAqIHJlcG9ydGluZyB0aGUgc2FtZSByZWYgbXVsdGlwbGUgdGltZXMuIFNvIGxldCdzIHB1bnQgb24gdGhhdAorCQkgKiBmb3Igbm93LgorCQkgKi8KKwkJcmV0dXJuIGZvcl9lYWNoX2Z1bGxyZWZfaW4oIiIsIGNiLCBjYl9kYXRhLCBicm9rZW4pOworCX0KKworCWZpbmRfbG9uZ2VzdF9wcmVmaXgoJnByZWZpeCwgZmlsdGVyLT5uYW1lX3BhdHRlcm5zWzBdKTsKKworCXJldCA9IGZvcl9lYWNoX2Z1bGxyZWZfaW4ocHJlZml4LmJ1ZiwgY2IsIGNiX2RhdGEsIGJyb2tlbik7CisJc3RyYnVmX3JlbGVhc2UoJnByZWZpeCk7CisJcmV0dXJuIHJldDsKK30KKworLyoKICAqIEdpdmVuIGEgcmVmIChzaGExLCByZWZuYW1lKSwgY2hlY2sgaWYgdGhlIHJlZiBiZWxvbmdzIHRvIHRoZSBhcnJheQogICogb2Ygc2hhMXMuIElmIHRoZSBnaXZlbiByZWYgaXMgYSB0YWcsIGNoZWNrIGlmIHRoZSBnaXZlbiB0YWcgcG9pbnRzCiAgKiBhdCBvbmUgb2YgdGhlIHNoYTFzIGluIHRoZSBnaXZlbiBzaGExIGFycmF5LgpAQCAtMTMyOSwyMiArMTc1MSwyMiBAQAogICogdGhlIG5lZWQgdG8gcGFyc2UgdGhlIG9iamVjdCB2aWEgcGFyc2Vfb2JqZWN0KCkuIHBlZWxfcmVmKCkgbWlnaHQgYmUgYQogICogbW9yZSBlZmZpY2llbnQgYWx0ZXJuYXRpdmUgdG8gb2J0YWluIHRoZSBwb2ludGVlLgogICovCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqbWF0Y2hfcG9pbnRzX2F0KHN0cnVjdCBzaGExX2FycmF5ICpwb2ludHNfYXQsCi0JCQkJCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJCQkgICAgY29uc3QgY2hhciAqcmVmbmFtZSkKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICptYXRjaF9wb2ludHNfYXQoc3RydWN0IG9pZF9hcnJheSAqcG9pbnRzX2F0LAorCQkJCQkgICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCQkgICAgICAgY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKLQljb25zdCB1bnNpZ25lZCBjaGFyICp0YWdnZWRfc2hhMSA9IE5VTEw7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdGFnZ2VkX29pZCA9IE5VTEw7CiAJc3RydWN0IG9iamVjdCAqb2JqOwogCi0JaWYgKHNoYTFfYXJyYXlfbG9va3VwKHBvaW50c19hdCwgc2hhMSkgPj0gMCkKLQkJcmV0dXJuIHNoYTE7Ci0Jb2JqID0gcGFyc2Vfb2JqZWN0KHNoYTEpOworCWlmIChvaWRfYXJyYXlfbG9va3VwKHBvaW50c19hdCwgb2lkKSA+PSAwKQorCQlyZXR1cm4gb2lkOworCW9iaiA9IHBhcnNlX29iamVjdChvaWQpOwogCWlmICghb2JqKQogCQlkaWUoXygibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIiksIHJlZm5hbWUpOwogCWlmIChvYmotPnR5cGUgPT0gT0JKX1RBRykKLQkJdGFnZ2VkX3NoYTEgPSAoKHN0cnVjdCB0YWcgKilvYmopLT50YWdnZWQtPm9pZC5oYXNoOwotCWlmICh0YWdnZWRfc2hhMSAmJiBzaGExX2FycmF5X2xvb2t1cChwb2ludHNfYXQsIHRhZ2dlZF9zaGExKSA+PSAwKQotCQlyZXR1cm4gdGFnZ2VkX3NoYTE7CisJCXRhZ2dlZF9vaWQgPSAmKChzdHJ1Y3QgdGFnICopb2JqKS0+dGFnZ2VkLT5vaWQ7CisJaWYgKHRhZ2dlZF9vaWQgJiYgb2lkX2FycmF5X2xvb2t1cChwb2ludHNfYXQsIHRhZ2dlZF9vaWQpID49IDApCisJCXJldHVybiB0YWdnZWRfb2lkOwogCXJldHVybiBOVUxMOwogfQogCkBAIC0xMzU1LDcgKzE3NzcsNyBAQAogewogCXN0cnVjdCByZWZfYXJyYXlfaXRlbSAqcmVmOwogCUZMRVhfQUxMT0NfU1RSKHJlZiwgcmVmbmFtZSwgcmVmbmFtZSk7Ci0JaGFzaGNweShyZWYtPm9iamVjdG5hbWUsIG9iamVjdG5hbWUpOworCWhhc2hjcHkocmVmLT5vYmplY3RuYW1lLmhhc2gsIG9iamVjdG5hbWUpOwogCXJlZi0+ZmxhZyA9IGZsYWc7CiAKIAlyZXR1cm4gcmVmOwpAQCAtMTQyNCw3ICsxODQ2LDcgQEAKIAlpZiAoIWZpbHRlcl9wYXR0ZXJuX21hdGNoKGZpbHRlciwgcmVmbmFtZSkpCiAJCXJldHVybiAwOwogCi0JaWYgKGZpbHRlci0+cG9pbnRzX2F0Lm5yICYmICFtYXRjaF9wb2ludHNfYXQoJmZpbHRlci0+cG9pbnRzX2F0LCBvaWQtPmhhc2gsIHJlZm5hbWUpKQorCWlmIChmaWx0ZXItPnBvaW50c19hdC5uciAmJiAhbWF0Y2hfcG9pbnRzX2F0KCZmaWx0ZXItPnBvaW50c19hdCwgb2lkLCByZWZuYW1lKSkKIAkJcmV0dXJuIDA7CiAKIAkvKgpAQCAtMTQzMiwxMyArMTg1NCwxNyBAQAogCSAqIG9idGFpbiB0aGUgY29tbWl0IHVzaW5nIHRoZSAnb2lkJyBhdmFpbGFibGUgYW5kIGRpc2NhcmQgYWxsCiAJICogbm9uLWNvbW1pdHMgZWFybHkuIFRoZSBhY3R1YWwgZmlsdGVyaW5nIGlzIGRvbmUgbGF0ZXIuCiAJICovCi0JaWYgKGZpbHRlci0+bWVyZ2VfY29tbWl0IHx8IGZpbHRlci0+d2l0aF9jb21taXQgfHwgZmlsdGVyLT52ZXJib3NlKSB7Ci0JCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShvaWQtPmhhc2gsIDEpOworCWlmIChmaWx0ZXItPm1lcmdlX2NvbW1pdCB8fCBmaWx0ZXItPndpdGhfY29tbWl0IHx8IGZpbHRlci0+bm9fY29tbWl0IHx8IGZpbHRlci0+dmVyYm9zZSkgeworCQljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2lkLCAxKTsKIAkJaWYgKCFjb21taXQpCiAJCQlyZXR1cm4gMDsKLQkJLyogV2UgcGVyZm9ybSB0aGUgZmlsdGVyaW5nIGZvciB0aGUgJy0tY29udGFpbnMnIG9wdGlvbiAqLworCQkvKiBXZSBwZXJmb3JtIHRoZSBmaWx0ZXJpbmcgZm9yIHRoZSAnLS1jb250YWlucycgb3B0aW9uLi4uICovCiAJCWlmIChmaWx0ZXItPndpdGhfY29tbWl0ICYmCi0JCSAgICAhY29tbWl0X2NvbnRhaW5zKGZpbHRlciwgY29tbWl0KSkKKwkJICAgICFjb21taXRfY29udGFpbnMoZmlsdGVyLCBjb21taXQsIGZpbHRlci0+d2l0aF9jb21taXQsICZyZWZfY2JkYXRhLT5jb250YWluc19jYWNoZSkpCisJCQlyZXR1cm4gMDsKKwkJLyogLi4ub3IgZm9yIHRoZSBgLS1uby1jb250YWlucycgb3B0aW9uICovCisJCWlmIChmaWx0ZXItPm5vX2NvbW1pdCAmJgorCQkgICAgY29tbWl0X2NvbnRhaW5zKGZpbHRlciwgY29tbWl0LCBmaWx0ZXItPm5vX2NvbW1pdCwgJnJlZl9jYmRhdGEtPm5vX2NvbnRhaW5zX2NhY2hlKSkKIAkJCXJldHVybiAwOwogCX0KIApAQCAtMTQ3MCw4ICsxODk2LDcgQEAKIAogCWZvciAoaSA9IDA7IGkgPCBhcnJheS0+bnI7IGkrKykKIAkJZnJlZV9hcnJheV9pdGVtKGFycmF5LT5pdGVtc1tpXSk7Ci0JZnJlZShhcnJheS0+aXRlbXMpOwotCWFycmF5LT5pdGVtcyA9IE5VTEw7CisJRlJFRV9BTkRfTlVMTChhcnJheS0+aXRlbXMpOwogCWFycmF5LT5uciA9IGFycmF5LT5hbGxvYyA9IDA7CiB9CiAKQEAgLTE1MzgsNiArMTk2Myw5IEBACiAJCWJyb2tlbiA9IDE7CiAJZmlsdGVyLT5raW5kID0gdHlwZSAmIEZJTFRFUl9SRUZTX0tJTkRfTUFTSzsKIAorCWluaXRfY29udGFpbnNfY2FjaGUoJnJlZl9jYmRhdGEuY29udGFpbnNfY2FjaGUpOworCWluaXRfY29udGFpbnNfY2FjaGUoJnJlZl9jYmRhdGEubm9fY29udGFpbnNfY2FjaGUpOworCiAJLyogIFNpbXBsZSBwZXItcmVmIGZpbHRlcmluZyAqLwogCWlmICghZmlsdGVyLT5raW5kKQogCQlkaWUoImZpbHRlcl9yZWZzOiBpbnZhbGlkIHR5cGUiKTsKQEAgLTE1NTUsMTEgKzE5ODMsMTMgQEAKIAkJZWxzZSBpZiAoZmlsdGVyLT5raW5kID09IEZJTFRFUl9SRUZTX1RBR1MpCiAJCQlyZXQgPSBmb3JfZWFjaF9mdWxscmVmX2luKCJyZWZzL3RhZ3MvIiwgcmVmX2ZpbHRlcl9oYW5kbGVyLCAmcmVmX2NiZGF0YSwgYnJva2VuKTsKIAkJZWxzZSBpZiAoZmlsdGVyLT5raW5kICYgRklMVEVSX1JFRlNfQUxMKQotCQkJcmV0ID0gZm9yX2VhY2hfZnVsbHJlZl9pbigiIiwgcmVmX2ZpbHRlcl9oYW5kbGVyLCAmcmVmX2NiZGF0YSwgYnJva2VuKTsKKwkJCXJldCA9IGZvcl9lYWNoX2Z1bGxyZWZfaW5fcGF0dGVybihmaWx0ZXIsIHJlZl9maWx0ZXJfaGFuZGxlciwgJnJlZl9jYmRhdGEsIGJyb2tlbik7CiAJCWlmICghcmV0ICYmIChmaWx0ZXItPmtpbmQgJiBGSUxURVJfUkVGU19ERVRBQ0hFRF9IRUFEKSkKIAkJCWhlYWRfcmVmKHJlZl9maWx0ZXJfaGFuZGxlciwgJnJlZl9jYmRhdGEpOwogCX0KIAorCWNsZWFyX2NvbnRhaW5zX2NhY2hlKCZyZWZfY2JkYXRhLmNvbnRhaW5zX2NhY2hlKTsKKwljbGVhcl9jb250YWluc19jYWNoZSgmcmVmX2NiZGF0YS5ub19jb250YWluc19jYWNoZSk7CiAKIAkvKiAgRmlsdGVycyB0aGF0IG5lZWQgcmV2aXNpb24gd2Fsa2luZyAqLwogCWlmIChmaWx0ZXItPm1lcmdlX2NvbW1pdCkKQEAgLTE1ODMsOSArMjAxMyw5IEBACiAJZWxzZSBpZiAoY21wX3R5cGUgPT0gRklFTERfU1RSKQogCQljbXAgPSBjbXBfZm4odmEtPnMsIHZiLT5zKTsKIAllbHNlIHsKLQkJaWYgKHZhLT51bCA8IHZiLT51bCkKKwkJaWYgKHZhLT52YWx1ZSA8IHZiLT52YWx1ZSkKIAkJCWNtcCA9IC0xOwotCQllbHNlIGlmICh2YS0+dWwgPT0gdmItPnVsKQorCQllbHNlIGlmICh2YS0+dmFsdWUgPT0gdmItPnZhbHVlKQogCQkJY21wID0gY21wX2ZuKGEtPnJlZm5hbWUsIGItPnJlZm5hbWUpOwogCQllbHNlCiAJCQljbXAgPSAxOwpAQCAtMTYzNSw1NSArMjA2NSw3NCBAQAogCX0KIH0KIAotdm9pZCBzaG93X3JlZl9hcnJheV9pdGVtKHN0cnVjdCByZWZfYXJyYXlfaXRlbSAqaW5mbywgY29uc3QgY2hhciAqZm9ybWF0LCBpbnQgcXVvdGVfc3R5bGUpCit2b2lkIGZvcm1hdF9yZWZfYXJyYXlfaXRlbShzdHJ1Y3QgcmVmX2FycmF5X2l0ZW0gKmluZm8sCisJCQkgICBjb25zdCBzdHJ1Y3QgcmVmX2Zvcm1hdCAqZm9ybWF0LAorCQkJICAgc3RydWN0IHN0cmJ1ZiAqZmluYWxfYnVmKQogewogCWNvbnN0IGNoYXIgKmNwLCAqc3AsICplcDsKLQlzdHJ1Y3Qgc3RyYnVmICpmaW5hbF9idWY7CiAJc3RydWN0IHJlZl9mb3JtYXR0aW5nX3N0YXRlIHN0YXRlID0gUkVGX0ZPUk1BVFRJTkdfU1RBVEVfSU5JVDsKIAotCXN0YXRlLnF1b3RlX3N0eWxlID0gcXVvdGVfc3R5bGU7CisJc3RhdGUucXVvdGVfc3R5bGUgPSBmb3JtYXQtPnF1b3RlX3N0eWxlOwogCXB1c2hfc3RhY2tfZWxlbWVudCgmc3RhdGUuc3RhY2spOwogCi0JZm9yIChjcCA9IGZvcm1hdDsgKmNwICYmIChzcCA9IGZpbmRfbmV4dChjcCkpOyBjcCA9IGVwICsgMSkgeworCWZvciAoY3AgPSBmb3JtYXQtPmZvcm1hdDsgKmNwICYmIChzcCA9IGZpbmRfbmV4dChjcCkpOyBjcCA9IGVwICsgMSkgewogCQlzdHJ1Y3QgYXRvbV92YWx1ZSAqYXRvbXY7CiAKIAkJZXAgPSBzdHJjaHIoc3AsICcpJyk7CiAJCWlmIChjcCA8IHNwKQogCQkJYXBwZW5kX2xpdGVyYWwoY3AsIHNwLCAmc3RhdGUpOwotCQlnZXRfcmVmX2F0b21fdmFsdWUoaW5mbywgcGFyc2VfcmVmX2ZpbHRlcl9hdG9tKHNwICsgMiwgZXApLCAmYXRvbXYpOworCQlnZXRfcmVmX2F0b21fdmFsdWUoaW5mbywKKwkJCQkgICBwYXJzZV9yZWZfZmlsdGVyX2F0b20oZm9ybWF0LCBzcCArIDIsIGVwKSwKKwkJCQkgICAmYXRvbXYpOwogCQlhdG9tdi0+aGFuZGxlcihhdG9tdiwgJnN0YXRlKTsKIAl9CiAJaWYgKCpjcCkgewogCQlzcCA9IGNwICsgc3RybGVuKGNwKTsKIAkJYXBwZW5kX2xpdGVyYWwoY3AsIHNwLCAmc3RhdGUpOwogCX0KLQlpZiAobmVlZF9jb2xvcl9yZXNldF9hdF9lb2wpIHsKKwlpZiAoZm9ybWF0LT5uZWVkX2NvbG9yX3Jlc2V0X2F0X2VvbCkgewogCQlzdHJ1Y3QgYXRvbV92YWx1ZSByZXNldHY7Ci0JCWNoYXIgY29sb3JbQ09MT1JfTUFYTEVOXSA9ICIiOwotCi0JCWlmIChjb2xvcl9wYXJzZSgicmVzZXQiLCBjb2xvcikgPCAwKQotCQkJZGllKCJCVUc6IGNvdWxkbid0IHBhcnNlICdyZXNldCcgYXMgYSBjb2xvciIpOwotCQlyZXNldHYucyA9IGNvbG9yOworCQlyZXNldHYucyA9IEdJVF9DT0xPUl9SRVNFVDsKIAkJYXBwZW5kX2F0b20oJnJlc2V0diwgJnN0YXRlKTsKIAl9CiAJaWYgKHN0YXRlLnN0YWNrLT5wcmV2KQogCQlkaWUoXygiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIpKTsKLQlmaW5hbF9idWYgPSAmc3RhdGUuc3RhY2stPm91dHB1dDsKLQlmd3JpdGUoZmluYWxfYnVmLT5idWYsIDEsIGZpbmFsX2J1Zi0+bGVuLCBzdGRvdXQpOworCXN0cmJ1Zl9hZGRidWYoZmluYWxfYnVmLCAmc3RhdGUuc3RhY2stPm91dHB1dCk7CiAJcG9wX3N0YWNrX2VsZW1lbnQoJnN0YXRlLnN0YWNrKTsKK30KKwordm9pZCBzaG93X3JlZl9hcnJheV9pdGVtKHN0cnVjdCByZWZfYXJyYXlfaXRlbSAqaW5mbywKKwkJCSBjb25zdCBzdHJ1Y3QgcmVmX2Zvcm1hdCAqZm9ybWF0KQoreworCXN0cnVjdCBzdHJidWYgZmluYWxfYnVmID0gU1RSQlVGX0lOSVQ7CisKKwlmb3JtYXRfcmVmX2FycmF5X2l0ZW0oaW5mbywgZm9ybWF0LCAmZmluYWxfYnVmKTsKKwlmd3JpdGUoZmluYWxfYnVmLmJ1ZiwgMSwgZmluYWxfYnVmLmxlbiwgc3Rkb3V0KTsKKwlzdHJidWZfcmVsZWFzZSgmZmluYWxfYnVmKTsKIAlwdXRjaGFyKCdcbicpOwogfQogCiB2b2lkIHByZXR0eV9wcmludF9yZWYoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJY29uc3QgY2hhciAqZm9ybWF0KQorCQkgICAgICBjb25zdCBzdHJ1Y3QgcmVmX2Zvcm1hdCAqZm9ybWF0KQogewogCXN0cnVjdCByZWZfYXJyYXlfaXRlbSAqcmVmX2l0ZW07CiAJcmVmX2l0ZW0gPSBuZXdfcmVmX2FycmF5X2l0ZW0obmFtZSwgc2hhMSwgMCk7CiAJcmVmX2l0ZW0tPmtpbmQgPSByZWZfa2luZF9mcm9tX3JlZm5hbWUobmFtZSk7Ci0Jc2hvd19yZWZfYXJyYXlfaXRlbShyZWZfaXRlbSwgZm9ybWF0LCAwKTsKKwlzaG93X3JlZl9hcnJheV9pdGVtKHJlZl9pdGVtLCBmb3JtYXQpOwogCWZyZWVfYXJyYXlfaXRlbShyZWZfaXRlbSk7CiB9CiAKK3N0YXRpYyBpbnQgcGFyc2Vfc29ydGluZ19hdG9tKGNvbnN0IGNoYXIgKmF0b20pCit7CisJLyoKKwkgKiBUaGlzIHBhcnNlcyBhbiBhdG9tIHVzaW5nIGEgZHVtbXkgcmVmX2Zvcm1hdCwgc2luY2Ugd2UgZG9uJ3QKKwkgKiBhY3R1YWxseSBjYXJlIGFib3V0IHRoZSBmb3JtYXR0aW5nIGRldGFpbHMuCisJICovCisJc3RydWN0IHJlZl9mb3JtYXQgZHVtbXkgPSBSRUZfRk9STUFUX0lOSVQ7CisJY29uc3QgY2hhciAqZW5kID0gYXRvbSArIHN0cmxlbihhdG9tKTsKKwlyZXR1cm4gcGFyc2VfcmVmX2ZpbHRlcl9hdG9tKCZkdW1teSwgYXRvbSwgZW5kKTsKK30KKwogLyogIElmIG5vIHNvcnRpbmcgb3B0aW9uIGlzIGdpdmVuLCB1c2UgcmVmbmFtZSB0byBzb3J0IGFzIGRlZmF1bHQgKi8KIHN0cnVjdCByZWZfc29ydGluZyAqcmVmX2RlZmF1bHRfc29ydGluZyh2b2lkKQogewpAQCAtMTY5MiwxOCArMjE0MSwxMyBAQAogCXN0cnVjdCByZWZfc29ydGluZyAqc29ydGluZyA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpzb3J0aW5nKSk7CiAKIAlzb3J0aW5nLT5uZXh0ID0gTlVMTDsKLQlzb3J0aW5nLT5hdG9tID0gcGFyc2VfcmVmX2ZpbHRlcl9hdG9tKGNzdHJfbmFtZSwgY3N0cl9uYW1lICsgc3RybGVuKGNzdHJfbmFtZSkpOworCXNvcnRpbmctPmF0b20gPSBwYXJzZV9zb3J0aW5nX2F0b20oY3N0cl9uYW1lKTsKIAlyZXR1cm4gc29ydGluZzsKIH0KIAotaW50IHBhcnNlX29wdF9yZWZfc29ydGluZyhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQordm9pZCBwYXJzZV9yZWZfc29ydGluZyhzdHJ1Y3QgcmVmX3NvcnRpbmcgKipzb3J0aW5nX3RhaWwsIGNvbnN0IGNoYXIgKmFyZykKIHsKLQlzdHJ1Y3QgcmVmX3NvcnRpbmcgKipzb3J0aW5nX3RhaWwgPSBvcHQtPnZhbHVlOwogCXN0cnVjdCByZWZfc29ydGluZyAqczsKLQlpbnQgbGVuOwotCi0JaWYgKCFhcmcpIC8qIHNob3VsZCAtLW5vLXNvcnQgdm9pZCB0aGUgbGlzdCA/ICovCi0JCXJldHVybiAtMTsKIAogCXMgPSB4Y2FsbG9jKDEsIHNpemVvZigqcykpOwogCXMtPm5leHQgPSAqc29ydGluZ190YWlsOwpAQCAtMTcxNiwyNCArMjE2MCwzOSBAQAogCWlmIChza2lwX3ByZWZpeChhcmcsICJ2ZXJzaW9uOiIsICZhcmcpIHx8CiAJICAgIHNraXBfcHJlZml4KGFyZywgInY6IiwgJmFyZykpCiAJCXMtPnZlcnNpb24gPSAxOwotCWxlbiA9IHN0cmxlbihhcmcpOwotCXMtPmF0b20gPSBwYXJzZV9yZWZfZmlsdGVyX2F0b20oYXJnLCBhcmcrbGVuKTsKKwlzLT5hdG9tID0gcGFyc2Vfc29ydGluZ19hdG9tKGFyZyk7Cit9CisKK2ludCBwYXJzZV9vcHRfcmVmX3NvcnRpbmcoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlpZiAoIWFyZykgLyogc2hvdWxkIC0tbm8tc29ydCB2b2lkIHRoZSBsaXN0ID8gKi8KKwkJcmV0dXJuIC0xOworCXBhcnNlX3JlZl9zb3J0aW5nKG9wdC0+dmFsdWUsIGFyZyk7CiAJcmV0dXJuIDA7CiB9CiAKIGludCBwYXJzZV9vcHRfbWVyZ2VfZmlsdGVyKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7CiAJc3RydWN0IHJlZl9maWx0ZXIgKnJmID0gb3B0LT52YWx1ZTsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCWludCBub19tZXJnZWQgPSBzdGFydHNfd2l0aChvcHQtPmxvbmdfbmFtZSwgIm5vIik7CiAKLQlyZi0+bWVyZ2UgPSBzdGFydHNfd2l0aChvcHQtPmxvbmdfbmFtZSwgIm5vIikKKwlpZiAocmYtPm1lcmdlKSB7CisJCWlmIChub19tZXJnZWQpIHsKKwkJCXJldHVybiBvcHRlcnJvcihvcHQsICJpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW1lcmdlZCIsIDApOworCQl9IGVsc2UgeworCQkJcmV0dXJuIG9wdGVycm9yKG9wdCwgImlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkIiwgMCk7CisJCX0KKwl9CisKKwlyZi0+bWVyZ2UgPSBub19tZXJnZWQKIAkJPyBSRUZfRklMVEVSX01FUkdFRF9PTUlUCiAJCTogUkVGX0ZJTFRFUl9NRVJHRURfSU5DTFVERTsKIAotCWlmIChnZXRfc2hhMShhcmcsIHNoYTEpKQorCWlmIChnZXRfb2lkKGFyZywgJm9pZCkpCiAJCWRpZShfKCJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiKSwgYXJnKTsKIAotCXJmLT5tZXJnZV9jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoc2hhMSwgMCk7CisJcmYtPm1lcmdlX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSgmb2lkLCAwKTsKIAlpZiAoIXJmLT5tZXJnZV9jb21taXQpCiAJCXJldHVybiBvcHRlcnJvcihvcHQsICJtdXN0IHBvaW50IHRvIGEgY29tbWl0IiwgMCk7CiAKZGlmZiAtLWdpdCBhL3JlZi1maWx0ZXIuaCBiL3JlZi1maWx0ZXIuaAppbmRleCA3YjA1NTkyLi4wZDk4MzQyIDEwMDY0NAotLS0gYS9yZWYtZmlsdGVyLmgKKysrIGIvcmVmLWZpbHRlci5oCkBAIC0zNCw3ICszNCw3IEBACiB9OwogCiBzdHJ1Y3QgcmVmX2FycmF5X2l0ZW0gewotCXVuc2lnbmVkIGNoYXIgb2JqZWN0bmFtZVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvYmplY3RuYW1lOwogCWludCBmbGFnOwogCXVuc2lnbmVkIGludCBraW5kOwogCWNvbnN0IGNoYXIgKnN5bXJlZjsKQEAgLTUxLDggKzUxLDkgQEAKIAogc3RydWN0IHJlZl9maWx0ZXIgewogCWNvbnN0IGNoYXIgKipuYW1lX3BhdHRlcm5zOwotCXN0cnVjdCBzaGExX2FycmF5IHBvaW50c19hdDsKKwlzdHJ1Y3Qgb2lkX2FycmF5IHBvaW50c19hdDsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKndpdGhfY29tbWl0OworCXN0cnVjdCBjb21taXRfbGlzdCAqbm9fY29tbWl0OwogCiAJZW51bSB7CiAJCVJFRl9GSUxURVJfTUVSR0VEX05PTkUgPSAwLApAQCAtNzEsMTEgKzcyLDIxIEBACiAJCXZlcmJvc2U7CiB9OwogCi1zdHJ1Y3QgcmVmX2ZpbHRlcl9jYmRhdGEgewotCXN0cnVjdCByZWZfYXJyYXkgKmFycmF5OwotCXN0cnVjdCByZWZfZmlsdGVyICpmaWx0ZXI7CitzdHJ1Y3QgcmVmX2Zvcm1hdCB7CisJLyoKKwkgKiBTZXQgdGhlc2UgdG8gZGVmaW5lIHRoZSBmb3JtYXQ7IG1ha2Ugc3VyZSB5b3UgY2FsbAorCSAqIHZlcmlmeV9yZWZfZm9ybWF0KCkgYWZ0ZXJ3YXJkcyB0byBmaW5hbGl6ZS4KKwkgKi8KKwljb25zdCBjaGFyICpmb3JtYXQ7CisJaW50IHF1b3RlX3N0eWxlOworCWludCB1c2VfY29sb3I7CisKKwkvKiBJbnRlcm5hbCBzdGF0ZSB0byByZWYtZmlsdGVyICovCisJaW50IG5lZWRfY29sb3JfcmVzZXRfYXRfZW9sOwogfTsKIAorI2RlZmluZSBSRUZfRk9STUFUX0lOSVQgeyBOVUxMLCAwLCAtMSB9CisKIC8qICBNYWNyb3MgZm9yIGNoZWNraW5nIC0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb25zICovCiAjZGVmaW5lIF9PUFRfTUVSR0VEX05PX01FUkdFRChvcHRpb24sIGZpbHRlciwgaCkgXAogCXsgT1BUSU9OX0NBTExCQUNLLCAwLCBvcHRpb24sIChmaWx0ZXIpLCBOXygiY29tbWl0IiksIChoKSwgXApAQCAtOTQsMjYgKzEwNSwzNCBAQAogaW50IGZpbHRlcl9yZWZzKHN0cnVjdCByZWZfYXJyYXkgKmFycmF5LCBzdHJ1Y3QgcmVmX2ZpbHRlciAqZmlsdGVyLCB1bnNpZ25lZCBpbnQgdHlwZSk7CiAvKiAgQ2xlYXIgYWxsIG1lbW9yeSBhbGxvY2F0ZWQgdG8gcmVmX2FycmF5ICovCiB2b2lkIHJlZl9hcnJheV9jbGVhcihzdHJ1Y3QgcmVmX2FycmF5ICphcnJheSk7Ci0vKiAgUGFyc2UgZm9ybWF0IHN0cmluZyBhbmQgc29ydCBzcGVjaWZpZXJzICovCi1pbnQgcGFyc2VfcmVmX2ZpbHRlcl9hdG9tKGNvbnN0IGNoYXIgKmF0b20sIGNvbnN0IGNoYXIgKmVwKTsKIC8qICBVc2VkIHRvIHZlcmlmeSBpZiB0aGUgZ2l2ZW4gZm9ybWF0IGlzIGNvcnJlY3QgYW5kIHRvIHBhcnNlIG91dCB0aGUgdXNlZCBhdG9tcyAqLwotaW50IHZlcmlmeV9yZWZfZm9ybWF0KGNvbnN0IGNoYXIgKmZvcm1hdCk7CitpbnQgdmVyaWZ5X3JlZl9mb3JtYXQoc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCk7CiAvKiAgU29ydCB0aGUgZ2l2ZW4gcmVmX2FycmF5IGFzIHBlciB0aGUgcmVmX3NvcnRpbmcgcHJvdmlkZWQgKi8KIHZvaWQgcmVmX2FycmF5X3NvcnQoc3RydWN0IHJlZl9zb3J0aW5nICpzb3J0LCBzdHJ1Y3QgcmVmX2FycmF5ICphcnJheSk7CisvKiAgQmFzZWQgb24gdGhlIGdpdmVuIGZvcm1hdCBhbmQgcXVvdGVfc3R5bGUsIGZpbGwgdGhlIHN0cmJ1ZiAqLwordm9pZCBmb3JtYXRfcmVmX2FycmF5X2l0ZW0oc3RydWN0IHJlZl9hcnJheV9pdGVtICppbmZvLAorCQkJICAgY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCwKKwkJCSAgIHN0cnVjdCBzdHJidWYgKmZpbmFsX2J1Zik7CiAvKiAgUHJpbnQgdGhlIHJlZiB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0IGFuZCBxdW90ZV9zdHlsZSAqLwotdm9pZCBzaG93X3JlZl9hcnJheV9pdGVtKHN0cnVjdCByZWZfYXJyYXlfaXRlbSAqaW5mbywgY29uc3QgY2hhciAqZm9ybWF0LCBpbnQgcXVvdGVfc3R5bGUpOwordm9pZCBzaG93X3JlZl9hcnJheV9pdGVtKHN0cnVjdCByZWZfYXJyYXlfaXRlbSAqaW5mbywgY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCk7CisvKiAgUGFyc2UgYSBzaW5nbGUgc29ydCBzcGVjaWZpZXIgYW5kIGFkZCBpdCB0byB0aGUgbGlzdCAqLwordm9pZCBwYXJzZV9yZWZfc29ydGluZyhzdHJ1Y3QgcmVmX3NvcnRpbmcgKipzb3J0aW5nX3RhaWwsIGNvbnN0IGNoYXIgKmF0b20pOwogLyogIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBwYXJzaW5nIHRoZSBzb3J0IG9wdGlvbiAqLwogaW50IHBhcnNlX29wdF9yZWZfc29ydGluZyhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KTsKIC8qICBEZWZhdWx0IHNvcnQgb3B0aW9uIGJhc2VkIG9uIHJlZm5hbWUgKi8KIHN0cnVjdCByZWZfc29ydGluZyAqcmVmX2RlZmF1bHRfc29ydGluZyh2b2lkKTsKIC8qICBGdW5jdGlvbiB0byBwYXJzZSAtLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyAqLwogaW50IHBhcnNlX29wdF9tZXJnZV9maWx0ZXIoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCk7CisvKiAgR2V0IHRoZSBjdXJyZW50IEhFQUQncyBkZXNjcmlwdGlvbiAqLworY2hhciAqZ2V0X2hlYWRfZGVzY3JpcHRpb24odm9pZCk7CisvKiAgU2V0IHVwIHRyYW5zbGF0ZWQgc3RyaW5ncyBpbiB0aGUgb3V0cHV0LiAqLwordm9pZCBzZXR1cF9yZWZfZmlsdGVyX3BvcmNlbGFpbl9tc2codm9pZCk7CiAKIC8qCiAgKiBQcmludCBhIHNpbmdsZSByZWYsIG91dHNpZGUgb2YgYW55IHJlZi1maWx0ZXIuIE5vdGUgdGhhdCB0aGUKICAqIG5hbWUgbXVzdCBiZSBhIGZ1bGx5IHF1YWxpZmllZCByZWZuYW1lLgogICovCiB2b2lkIHByZXR0eV9wcmludF9yZWYoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJY29uc3QgY2hhciAqZm9ybWF0KTsKKwkJICAgICAgY29uc3Qgc3RydWN0IHJlZl9mb3JtYXQgKmZvcm1hdCk7CiAKICNlbmRpZiAvKiAgUkVGX0ZJTFRFUl9IICAqLwpkaWZmIC0tZ2l0IGEvcmVmbG9nLXdhbGsuYyBiL3JlZmxvZy13YWxrLmMKaW5kZXggYTI0NmFmMi4uODQyYjJmNyAxMDA2NDQKLS0tIGEvcmVmbG9nLXdhbGsuYworKysgYi9yZWZsb2ctd2Fsay5jCkBAIC0xMCwxNyArMTAsMTcgQEAKIAljaGFyICpyZWY7CiAJY29uc3QgY2hhciAqc2hvcnRfcmVmOwogCXN0cnVjdCByZWZsb2dfaW5mbyB7Ci0JCXVuc2lnbmVkIGNoYXIgb3NoYTFbMjBdLCBuc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb29pZCwgbm9pZDsKIAkJY2hhciAqZW1haWw7Ci0JCXVuc2lnbmVkIGxvbmcgdGltZXN0YW1wOworCQl0aW1lc3RhbXBfdCB0aW1lc3RhbXA7CiAJCWludCB0ejsKIAkJY2hhciAqbWVzc2FnZTsKIAl9ICppdGVtczsKIAlpbnQgbnIsIGFsbG9jOwogfTsKIAotc3RhdGljIGludCByZWFkX29uZV9yZWZsb2codW5zaWduZWQgY2hhciAqb3NoYTEsIHVuc2lnbmVkIGNoYXIgKm5zaGExLAotCQljb25zdCBjaGFyICplbWFpbCwgdW5zaWduZWQgbG9uZyB0aW1lc3RhbXAsIGludCB0eiwKK3N0YXRpYyBpbnQgcmVhZF9vbmVfcmVmbG9nKHN0cnVjdCBvYmplY3RfaWQgKm9vaWQsIHN0cnVjdCBvYmplY3RfaWQgKm5vaWQsCisJCWNvbnN0IGNoYXIgKmVtYWlsLCB0aW1lc3RhbXBfdCB0aW1lc3RhbXAsIGludCB0eiwKIAkJY29uc3QgY2hhciAqbWVzc2FnZSwgdm9pZCAqY2JfZGF0YSkKIHsKIAlzdHJ1Y3QgY29tcGxldGVfcmVmbG9ncyAqYXJyYXkgPSBjYl9kYXRhOwpAQCAtMjgsOCArMjgsOCBAQAogCiAJQUxMT0NfR1JPVyhhcnJheS0+aXRlbXMsIGFycmF5LT5uciArIDEsIGFycmF5LT5hbGxvYyk7CiAJaXRlbSA9IGFycmF5LT5pdGVtcyArIGFycmF5LT5ucjsKLQloYXNoY3B5KGl0ZW0tPm9zaGExLCBvc2hhMSk7Ci0JaGFzaGNweShpdGVtLT5uc2hhMSwgbnNoYTEpOworCW9pZGNweSgmaXRlbS0+b29pZCwgb29pZCk7CisJb2lkY3B5KCZpdGVtLT5ub2lkLCBub2lkKTsKIAlpdGVtLT5lbWFpbCA9IHhzdHJkdXAoZW1haWwpOwogCWl0ZW0tPnRpbWVzdGFtcCA9IHRpbWVzdGFtcDsKIAlpdGVtLT50eiA9IHR6OwpAQCAtMzgsNiArMzgsMjIgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgZnJlZV9jb21wbGV0ZV9yZWZsb2coc3RydWN0IGNvbXBsZXRlX3JlZmxvZ3MgKmFycmF5KQoreworCWludCBpOworCisJaWYgKCFhcnJheSkKKwkJcmV0dXJuOworCisJZm9yIChpID0gMDsgaSA8IGFycmF5LT5ucjsgaSsrKSB7CisJCWZyZWUoYXJyYXktPml0ZW1zW2ldLmVtYWlsKTsKKwkJZnJlZShhcnJheS0+aXRlbXNbaV0ubWVzc2FnZSk7CisJfQorCWZyZWUoYXJyYXktPml0ZW1zKTsKKwlmcmVlKGFycmF5LT5yZWYpOworCWZyZWUoYXJyYXkpOworfQorCiBzdGF0aWMgc3RydWN0IGNvbXBsZXRlX3JlZmxvZ3MgKnJlYWRfY29tcGxldGVfcmVmbG9nKGNvbnN0IGNoYXIgKnJlZikKIHsKIAlzdHJ1Y3QgY29tcGxldGVfcmVmbG9ncyAqcmVmbG9ncyA9CkBAIC00NSwxMSArNjEsMTAgQEAKIAlyZWZsb2dzLT5yZWYgPSB4c3RyZHVwKHJlZik7CiAJZm9yX2VhY2hfcmVmbG9nX2VudChyZWYsIHJlYWRfb25lX3JlZmxvZywgcmVmbG9ncyk7CiAJaWYgKHJlZmxvZ3MtPm5yID09IDApIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAkJY29uc3QgY2hhciAqbmFtZTsKIAkJdm9pZCAqbmFtZV90b19mcmVlOwogCQluYW1lID0gbmFtZV90b19mcmVlID0gcmVzb2x2ZV9yZWZkdXAocmVmLCBSRVNPTFZFX1JFRl9SRUFESU5HLAotCQkJCQkJICAgICBzaGExLCBOVUxMKTsKKwkJCQkJCSAgICAgTlVMTCwgTlVMTCk7CiAJCWlmIChuYW1lKSB7CiAJCQlmb3JfZWFjaF9yZWZsb2dfZW50KG5hbWUsIHJlYWRfb25lX3JlZmxvZywgcmVmbG9ncyk7CiAJCQlmcmVlKG5hbWVfdG9fZnJlZSk7CkBAIC02OSw3ICs4NCw3IEBACiB9CiAKIHN0YXRpYyBpbnQgZ2V0X3JlZmxvZ19yZWNub19ieV90aW1lKHN0cnVjdCBjb21wbGV0ZV9yZWZsb2dzICphcnJheSwKLQl1bnNpZ25lZCBsb25nIHRpbWVzdGFtcCkKKwl0aW1lc3RhbXBfdCB0aW1lc3RhbXApCiB7CiAJaW50IGk7CiAJZm9yIChpID0gYXJyYXktPm5yIC0gMTsgaSA+PSAwOyBpLS0pCkBAIC03OCw0NSArOTMsNiBAQAogCXJldHVybiAtMTsKIH0KIAotc3RydWN0IGNvbW1pdF9pbmZvX2xpZm8gewotCXN0cnVjdCBjb21taXRfaW5mbyB7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKLQkJdm9pZCAqdXRpbDsKLQl9ICppdGVtczsKLQlpbnQgbnIsIGFsbG9jOwotfTsKLQotc3RhdGljIHN0cnVjdCBjb21taXRfaW5mbyAqZ2V0X2NvbW1pdF9pbmZvKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKLQkJc3RydWN0IGNvbW1pdF9pbmZvX2xpZm8gKmxpZm8sIGludCBwb3ApCi17Ci0JaW50IGk7Ci0JZm9yIChpID0gMDsgaSA8IGxpZm8tPm5yOyBpKyspCi0JCWlmIChsaWZvLT5pdGVtc1tpXS5jb21taXQgPT0gY29tbWl0KSB7Ci0JCQlzdHJ1Y3QgY29tbWl0X2luZm8gKnJlc3VsdCA9ICZsaWZvLT5pdGVtc1tpXTsKLQkJCWlmIChwb3ApIHsKLQkJCQlpZiAoaSArIDEgPCBsaWZvLT5ucikKLQkJCQkJbWVtbW92ZShsaWZvLT5pdGVtcyArIGksCi0JCQkJCQlsaWZvLT5pdGVtcyArIGkgKyAxLAotCQkJCQkJKGxpZm8tPm5yIC0gaSkgKgotCQkJCQkJc2l6ZW9mKHN0cnVjdCBjb21taXRfaW5mbykpOwotCQkJCWxpZm8tPm5yLS07Ci0JCQl9Ci0JCQlyZXR1cm4gcmVzdWx0OwotCQl9Ci0JcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyB2b2lkIGFkZF9jb21taXRfaW5mbyhzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHZvaWQgKnV0aWwsCi0JCXN0cnVjdCBjb21taXRfaW5mb19saWZvICpsaWZvKQotewotCXN0cnVjdCBjb21taXRfaW5mbyAqaW5mbzsKLQlBTExPQ19HUk9XKGxpZm8tPml0ZW1zLCBsaWZvLT5uciArIDEsIGxpZm8tPmFsbG9jKTsKLQlpbmZvID0gbGlmby0+aXRlbXMgKyBsaWZvLT5ucjsKLQlpbmZvLT5jb21taXQgPSBjb21taXQ7Ci0JaW5mby0+dXRpbCA9IHV0aWw7Ci0JbGlmby0+bnIrKzsKLX0KLQogc3RydWN0IGNvbW1pdF9yZWZsb2cgewogCWludCByZWNubzsKIAllbnVtIHNlbGVjdG9yX3R5cGUgewpAQCAtMTI4LDcgKzEwNCw4IEBACiB9OwogCiBzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyB7Ci0Jc3RydWN0IGNvbW1pdF9pbmZvX2xpZm8gcmVmbG9nczsKKwlzdHJ1Y3QgY29tbWl0X3JlZmxvZyAqKmxvZ3M7CisJc2l6ZV90IG5yLCBhbGxvYzsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgY29tcGxldGVfcmVmbG9nczsKIAlzdHJ1Y3QgY29tbWl0X3JlZmxvZyAqbGFzdF9jb21taXRfcmVmbG9nOwogfTsKQEAgLTEzNiwxMiArMTEzLDEzIEBACiB2b2lkIGluaXRfcmVmbG9nX3dhbGsoc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKippbmZvKQogewogCSppbmZvID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHJlZmxvZ193YWxrX2luZm8pKTsKKwkoKmluZm8pLT5jb21wbGV0ZV9yZWZsb2dzLnN0cmR1cF9zdHJpbmdzID0gMTsKIH0KIAogaW50IGFkZF9yZWZsb2dfZm9yX3dhbGsoc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKmluZm8sCiAJCXN0cnVjdCBjb21taXQgKmNvbW1pdCwgY29uc3QgY2hhciAqbmFtZSkKIHsKLQl1bnNpZ25lZCBsb25nIHRpbWVzdGFtcCA9IDA7CisJdGltZXN0YW1wX3QgdGltZXN0YW1wID0gMDsKIAlpbnQgcmVjbm8gPSAtMTsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAlzdHJ1Y3QgY29tcGxldGVfcmVmbG9ncyAqcmVmbG9nczsKQEAgLTE3MiwzOCArMTUwLDQxIEBACiAJCXJlZmxvZ3MgPSBpdGVtLT51dGlsOwogCWVsc2UgewogCQlpZiAoKmJyYW5jaCA9PSAnXDAnKSB7Ci0JCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCQkJZnJlZShicmFuY2gpOwotCQkJYnJhbmNoID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCAwLCBzaGExLCBOVUxMKTsKKwkJCWJyYW5jaCA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgTlVMTCwgTlVMTCk7CiAJCQlpZiAoIWJyYW5jaCkKIAkJCQlkaWUgKCJObyBjdXJyZW50IGJyYW5jaCIpOwogCiAJCX0KIAkJcmVmbG9ncyA9IHJlYWRfY29tcGxldGVfcmVmbG9nKGJyYW5jaCk7CiAJCWlmICghcmVmbG9ncyB8fCByZWZsb2dzLT5uciA9PSAwKSB7Ci0JCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCQljaGFyICpiOwotCQkJaWYgKGR3aW1fbG9nKGJyYW5jaCwgc3RybGVuKGJyYW5jaCksIHNoYTEsICZiKSA9PSAxKSB7Ci0JCQkJaWYgKHJlZmxvZ3MpIHsKLQkJCQkJZnJlZShyZWZsb2dzLT5yZWYpOwotCQkJCQlmcmVlKHJlZmxvZ3MpOwotCQkJCX0KKwkJCWludCByZXQgPSBkd2ltX2xvZyhicmFuY2gsIHN0cmxlbihicmFuY2gpLAorCQkJCQkgICBvaWQuaGFzaCwgJmIpOworCQkJaWYgKHJldCA+IDEpCisJCQkJZnJlZShiKTsKKwkJCWVsc2UgaWYgKHJldCA9PSAxKSB7CisJCQkJZnJlZV9jb21wbGV0ZV9yZWZsb2cocmVmbG9ncyk7CiAJCQkJZnJlZShicmFuY2gpOwogCQkJCWJyYW5jaCA9IGI7CiAJCQkJcmVmbG9ncyA9IHJlYWRfY29tcGxldGVfcmVmbG9nKGJyYW5jaCk7CiAJCQl9CiAJCX0KLQkJaWYgKCFyZWZsb2dzIHx8IHJlZmxvZ3MtPm5yID09IDApCisJCWlmICghcmVmbG9ncyB8fCByZWZsb2dzLT5uciA9PSAwKSB7CisJCQlmcmVlX2NvbXBsZXRlX3JlZmxvZyhyZWZsb2dzKTsKKwkJCWZyZWUoYnJhbmNoKTsKIAkJCXJldHVybiAtMTsKKwkJfQogCQlzdHJpbmdfbGlzdF9pbnNlcnQoJmluZm8tPmNvbXBsZXRlX3JlZmxvZ3MsIGJyYW5jaCktPnV0aWwKIAkJCT0gcmVmbG9nczsKIAl9CisJZnJlZShicmFuY2gpOwogCiAJY29tbWl0X3JlZmxvZyA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBjb21taXRfcmVmbG9nKSk7CiAJaWYgKHJlY25vIDwgMCkgewogCQljb21taXRfcmVmbG9nLT5yZWNubyA9IGdldF9yZWZsb2dfcmVjbm9fYnlfdGltZShyZWZsb2dzLCB0aW1lc3RhbXApOwogCQlpZiAoY29tbWl0X3JlZmxvZy0+cmVjbm8gPCAwKSB7Ci0JCQlmcmVlKGJyYW5jaCk7CiAJCQlmcmVlKGNvbW1pdF9yZWZsb2cpOwogCQkJcmV0dXJuIC0xOwogCQl9CkBAIC0yMTIsNTIgKzE5MywxMiBAQAogCWNvbW1pdF9yZWZsb2ctPnNlbGVjdG9yID0gc2VsZWN0b3I7CiAJY29tbWl0X3JlZmxvZy0+cmVmbG9ncyA9IHJlZmxvZ3M7CiAKLQlhZGRfY29tbWl0X2luZm8oY29tbWl0LCBjb21taXRfcmVmbG9nLCAmaW5mby0+cmVmbG9ncyk7CisJQUxMT0NfR1JPVyhpbmZvLT5sb2dzLCBpbmZvLT5uciArIDEsIGluZm8tPmFsbG9jKTsKKwlpbmZvLT5sb2dzW2luZm8tPm5yKytdID0gY29tbWl0X3JlZmxvZzsKKwogCXJldHVybiAwOwogfQogCi12b2lkIGZha2VfcmVmbG9nX3BhcmVudChzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqaW5mbywgc3RydWN0IGNvbW1pdCAqY29tbWl0KQotewotCXN0cnVjdCBjb21taXRfaW5mbyAqY29tbWl0X2luZm8gPQotCQlnZXRfY29tbWl0X2luZm8oY29tbWl0LCAmaW5mby0+cmVmbG9ncywgMCk7Ci0Jc3RydWN0IGNvbW1pdF9yZWZsb2cgKmNvbW1pdF9yZWZsb2c7Ci0Jc3RydWN0IG9iamVjdCAqbG9nb2JqOwotCXN0cnVjdCByZWZsb2dfaW5mbyAqcmVmbG9nOwotCi0JaW5mby0+bGFzdF9jb21taXRfcmVmbG9nID0gTlVMTDsKLQlpZiAoIWNvbW1pdF9pbmZvKQotCQlyZXR1cm47Ci0KLQljb21taXRfcmVmbG9nID0gY29tbWl0X2luZm8tPnV0aWw7Ci0JaWYgKGNvbW1pdF9yZWZsb2ctPnJlY25vIDwgMCkgewotCQljb21taXQtPnBhcmVudHMgPSBOVUxMOwotCQlyZXR1cm47Ci0JfQotCWluZm8tPmxhc3RfY29tbWl0X3JlZmxvZyA9IGNvbW1pdF9yZWZsb2c7Ci0KLQlkbyB7Ci0JCXJlZmxvZyA9ICZjb21taXRfcmVmbG9nLT5yZWZsb2dzLT5pdGVtc1tjb21taXRfcmVmbG9nLT5yZWNub107Ci0JCWNvbW1pdF9yZWZsb2ctPnJlY25vLS07Ci0JCWxvZ29iaiA9IHBhcnNlX29iamVjdChyZWZsb2ctPm9zaGExKTsKLQl9IHdoaWxlIChjb21taXRfcmVmbG9nLT5yZWNubyAmJiAobG9nb2JqICYmIGxvZ29iai0+dHlwZSAhPSBPQkpfQ09NTUlUKSk7Ci0KLQlpZiAoIWxvZ29iaiAmJiBjb21taXRfcmVmbG9nLT5yZWNubyA+PSAwICYmIGlzX251bGxfc2hhMShyZWZsb2ctPm9zaGExKSkgewotCQkvKiBhIHJvb3QgY29tbWl0LCBidXQgdGhlcmUgYXJlIHN0aWxsIG1vcmUgZW50cmllcyB0byBzaG93ICovCi0JCXJlZmxvZyA9ICZjb21taXRfcmVmbG9nLT5yZWZsb2dzLT5pdGVtc1tjb21taXRfcmVmbG9nLT5yZWNub107Ci0JCWxvZ29iaiA9IHBhcnNlX29iamVjdChyZWZsb2ctPm5zaGExKTsKLQl9Ci0KLQlpZiAoIWxvZ29iaiB8fCBsb2dvYmotPnR5cGUgIT0gT0JKX0NPTU1JVCkgewotCQljb21taXRfaW5mby0+Y29tbWl0ID0gTlVMTDsKLQkJY29tbWl0LT5wYXJlbnRzID0gTlVMTDsKLQkJcmV0dXJuOwotCX0KLQljb21taXRfaW5mby0+Y29tbWl0ID0gKHN0cnVjdCBjb21taXQgKilsb2dvYmo7Ci0KLQljb21taXQtPnBhcmVudHMgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgY29tbWl0X2xpc3QpKTsKLQljb21taXQtPnBhcmVudHMtPml0ZW0gPSBjb21taXRfaW5mby0+Y29tbWl0OwotfQotCiB2b2lkIGdldF9yZWZsb2dfc2VsZWN0b3Ioc3RydWN0IHN0cmJ1ZiAqc2IsCiAJCQkgc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKnJlZmxvZ19pbmZvLAogCQkJIGNvbnN0IHN0cnVjdCBkYXRlX21vZGUgKmRtb2RlLCBpbnQgZm9yY2VfZGF0ZSwKQEAgLTMyMSw2ICsyNjIsMTggQEAKIAlyZXR1cm4gaW5mby0+ZW1haWw7CiB9CiAKK3RpbWVzdGFtcF90IGdldF9yZWZsb2dfdGltZXN0YW1wKHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbykKK3sKKwlzdHJ1Y3QgY29tbWl0X3JlZmxvZyAqY29tbWl0X3JlZmxvZyA9IHJlZmxvZ19pbmZvLT5sYXN0X2NvbW1pdF9yZWZsb2c7CisJc3RydWN0IHJlZmxvZ19pbmZvICppbmZvOworCisJaWYgKCFjb21taXRfcmVmbG9nKQorCQlyZXR1cm4gMDsKKworCWluZm8gPSAmY29tbWl0X3JlZmxvZy0+cmVmbG9ncy0+aXRlbXNbY29tbWl0X3JlZmxvZy0+cmVjbm8rMV07CisJcmV0dXJuIGluZm8tPnRpbWVzdGFtcDsKK30KKwogdm9pZCBzaG93X3JlZmxvZ19tZXNzYWdlKHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbywgaW50IG9uZWxpbmUsCiAJCQkgY29uc3Qgc3RydWN0IGRhdGVfbW9kZSAqZG1vZGUsIGludCBmb3JjZV9kYXRlKQogewpAQCAtMzQyLDMgKzI5NSw1MyBAQAogCQlzdHJidWZfcmVsZWFzZSgmc2VsZWN0b3IpOwogCX0KIH0KKworaW50IHJlZmxvZ193YWxrX2VtcHR5KHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICppbmZvKQoreworCXJldHVybiAhaW5mbyB8fCAhaW5mby0+bnI7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0ICpuZXh0X3JlZmxvZ19jb21taXQoc3RydWN0IGNvbW1pdF9yZWZsb2cgKmxvZykKK3sKKwlmb3IgKDsgbG9nLT5yZWNubyA+PSAwOyBsb2ctPnJlY25vLS0pIHsKKwkJc3RydWN0IHJlZmxvZ19pbmZvICplbnRyeSA9ICZsb2ctPnJlZmxvZ3MtPml0ZW1zW2xvZy0+cmVjbm9dOworCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBwYXJzZV9vYmplY3QoJmVudHJ5LT5ub2lkKTsKKworCQlpZiAob2JqICYmIG9iai0+dHlwZSA9PSBPQkpfQ09NTUlUKQorCQkJcmV0dXJuIChzdHJ1Y3QgY29tbWl0ICopb2JqOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHRpbWVzdGFtcF90IGxvZ190aW1lc3RhbXAoc3RydWN0IGNvbW1pdF9yZWZsb2cgKmxvZykKK3sKKwlyZXR1cm4gbG9nLT5yZWZsb2dzLT5pdGVtc1tsb2ctPnJlY25vXS50aW1lc3RhbXA7Cit9CisKK3N0cnVjdCBjb21taXQgKm5leHRfcmVmbG9nX2VudHJ5KHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICp3YWxrKQoreworCXN0cnVjdCBjb21taXRfcmVmbG9nICpiZXN0ID0gTlVMTDsKKwlzdHJ1Y3QgY29tbWl0ICpiZXN0X2NvbW1pdCA9IE5VTEw7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgd2Fsay0+bnI7IGkrKykgeworCQlzdHJ1Y3QgY29tbWl0X3JlZmxvZyAqbG9nID0gd2Fsay0+bG9nc1tpXTsKKwkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbmV4dF9yZWZsb2dfY29tbWl0KGxvZyk7CisKKwkJaWYgKCFjb21taXQpCisJCQljb250aW51ZTsKKworCQlpZiAoIWJlc3QgfHwgbG9nX3RpbWVzdGFtcChsb2cpID4gbG9nX3RpbWVzdGFtcChiZXN0KSkgeworCQkJYmVzdCA9IGxvZzsKKwkJCWJlc3RfY29tbWl0ID0gY29tbWl0OworCQl9CisJfQorCisJaWYgKGJlc3QpIHsKKwkJYmVzdC0+cmVjbm8tLTsKKwkJd2Fsay0+bGFzdF9jb21taXRfcmVmbG9nID0gYmVzdDsKKwkJcmV0dXJuIGJlc3RfY29tbWl0OworCX0KKworCXJldHVybiBOVUxMOworfQpkaWZmIC0tZ2l0IGEvcmVmbG9nLXdhbGsuaCBiL3JlZmxvZy13YWxrLmgKaW5kZXggMjc4ODZmNy4uNzU1M2M0NCAxMDA2NDQKLS0tIGEvcmVmbG9nLXdhbGsuaAorKysgYi9yZWZsb2ctd2Fsay5oCkBAIC04LDE2ICs4LDE5IEBACiBleHRlcm4gdm9pZCBpbml0X3JlZmxvZ193YWxrKHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICoqaW5mbyk7CiBleHRlcm4gaW50IGFkZF9yZWZsb2dfZm9yX3dhbGsoc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKmluZm8sCiAJCXN0cnVjdCBjb21taXQgKmNvbW1pdCwgY29uc3QgY2hhciAqbmFtZSk7Ci1leHRlcm4gdm9pZCBmYWtlX3JlZmxvZ19wYXJlbnQoc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKmluZm8sCi0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCk7CiBleHRlcm4gdm9pZCBzaG93X3JlZmxvZ19tZXNzYWdlKHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICppbmZvLCBpbnQsCiAJCQkJY29uc3Qgc3RydWN0IGRhdGVfbW9kZSAqLCBpbnQgZm9yY2VfZGF0ZSk7CiBleHRlcm4gdm9pZCBnZXRfcmVmbG9nX21lc3NhZ2Uoc3RydWN0IHN0cmJ1ZiAqc2IsCiAJCXN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbyk7CiBleHRlcm4gY29uc3QgY2hhciAqZ2V0X3JlZmxvZ19pZGVudChzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqcmVmbG9nX2luZm8pOworZXh0ZXJuIHRpbWVzdGFtcF90IGdldF9yZWZsb2dfdGltZXN0YW1wKHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbyk7CiBleHRlcm4gdm9pZCBnZXRfcmVmbG9nX3NlbGVjdG9yKHN0cnVjdCBzdHJidWYgKnNiLAogCQlzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqcmVmbG9nX2luZm8sCiAJCWNvbnN0IHN0cnVjdCBkYXRlX21vZGUgKmRtb2RlLCBpbnQgZm9yY2VfZGF0ZSwKIAkJaW50IHNob3J0ZW4pOwogCitleHRlcm4gaW50IHJlZmxvZ193YWxrX2VtcHR5KHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICp3YWxrKTsKKworc3RydWN0IGNvbW1pdCAqbmV4dF9yZWZsb2dfZW50cnkoc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKnJlZmxvZ19pbmZvKTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9yZWZzLmMgYi9yZWZzLmMKaW5kZXggMmQ3MTc3NC4uZGYwNzVmYyAxMDA2NDQKLS0tIGEvcmVmcy5jCisrKyBiL3JlZnMuYwpAQCAtMywxMSArMywxNiBAQAogICovCiAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgImhhc2htYXAuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgorI2luY2x1ZGUgIml0ZXJhdG9yLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgInJlZnMvcmVmcy1pbnRlcm5hbC5oIgogI2luY2x1ZGUgIm9iamVjdC5oIgogI2luY2x1ZGUgInRhZy5oIgorI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgorI2luY2x1ZGUgIndvcmt0cmVlLmgiCiAKIC8qCiAgKiBMaXN0IG9mIGFsbCBhdmFpbGFibGUgYmFja2VuZHMKQEAgLTE2OSwxMSArMTc0LDQxIEBACiAJcmV0dXJuIDE7CiB9CiAKKy8qCisgKiBSZXR1cm4gdHJ1ZSBpZiByZWZuYW1lLCB3aGljaCBoYXMgdGhlIHNwZWNpZmllZCBvaWQgYW5kIGZsYWdzLCBjYW4KKyAqIGJlIHJlc29sdmVkIHRvIGFuIG9iamVjdCBpbiB0aGUgZGF0YWJhc2UuIElmIHRoZSByZWZlcnJlZC10byBvYmplY3QKKyAqIGRvZXMgbm90IGV4aXN0LCBlbWl0IGEgd2FybmluZyBhbmQgcmV0dXJuIGZhbHNlLgorICovCitpbnQgcmVmX3Jlc29sdmVzX3RvX29iamVjdChjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICAgdW5zaWduZWQgaW50IGZsYWdzKQoreworCWlmIChmbGFncyAmIFJFRl9JU0JST0tFTikKKwkJcmV0dXJuIDA7CisJaWYgKCFoYXNfc2hhMV9maWxlKG9pZC0+aGFzaCkpIHsKKwkJZXJyb3IoIiVzIGRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgb2JqZWN0ISIsIHJlZm5hbWUpOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK2NoYXIgKnJlZnNfcmVzb2x2ZV9yZWZkdXAoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCSAgY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHJlc29sdmVfZmxhZ3MsCisJCQkgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCAqZmxhZ3MpCit7CisJY29uc3QgY2hhciAqcmVzdWx0OworCisJcmVzdWx0ID0gcmVmc19yZXNvbHZlX3JlZl91bnNhZmUocmVmcywgcmVmbmFtZSwgcmVzb2x2ZV9mbGFncywKKwkJCQkJIHNoYTEsIGZsYWdzKTsKKwlyZXR1cm4geHN0cmR1cF9vcl9udWxsKHJlc3VsdCk7Cit9CisKIGNoYXIgKnJlc29sdmVfcmVmZHVwKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCByZXNvbHZlX2ZsYWdzLAogCQkgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCAqZmxhZ3MpCiB7Ci0JcmV0dXJuIHhzdHJkdXBfb3JfbnVsbChyZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgcmVzb2x2ZV9mbGFncywKLQkJCQkJCSAgc2hhMSwgZmxhZ3MpKTsKKwlyZXR1cm4gcmVmc19yZXNvbHZlX3JlZmR1cChnZXRfbWFpbl9yZWZfc3RvcmUoKSwKKwkJCQkgICByZWZuYW1lLCByZXNvbHZlX2ZsYWdzLAorCQkJCSAgIHNoYTEsIGZsYWdzKTsKIH0KIAogLyogVGhlIGFyZ3VtZW50IHRvIGZpbHRlcl9yZWZzICovCkBAIC0xODMsMTMgKzIxOCwyMCBAQAogCXZvaWQgKmNiX2RhdGE7CiB9OwogCi1pbnQgcmVhZF9yZWZfZnVsbChjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgcmVzb2x2ZV9mbGFncywgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50ICpmbGFncykKK2ludCByZWZzX3JlYWRfcmVmX2Z1bGwoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJICAgICAgIGludCByZXNvbHZlX2ZsYWdzLCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgKmZsYWdzKQogewotCWlmIChyZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgcmVzb2x2ZV9mbGFncywgc2hhMSwgZmxhZ3MpKQorCWlmIChyZWZzX3Jlc29sdmVfcmVmX3Vuc2FmZShyZWZzLCByZWZuYW1lLCByZXNvbHZlX2ZsYWdzLCBzaGExLCBmbGFncykpCiAJCXJldHVybiAwOwogCXJldHVybiAtMTsKIH0KIAoraW50IHJlYWRfcmVmX2Z1bGwoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHJlc29sdmVfZmxhZ3MsIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCAqZmxhZ3MpCit7CisJcmV0dXJuIHJlZnNfcmVhZF9yZWZfZnVsbChnZXRfbWFpbl9yZWZfc3RvcmUoKSwgcmVmbmFtZSwKKwkJCQkgIHJlc29sdmVfZmxhZ3MsIHNoYTEsIGZsYWdzKTsKK30KKwogaW50IHJlYWRfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJcmV0dXJuIHJlYWRfcmVmX2Z1bGwocmVmbmFtZSwgUkVTT0xWRV9SRUZfUkVBRElORywgc2hhMSwgTlVMTCk7CkBAIC0xOTcsOCArMjM5LDcgQEAKIAogaW50IHJlZl9leGlzdHMoY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCXJldHVybiAhIXJlc29sdmVfcmVmX3Vuc2FmZShyZWZuYW1lLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBzaGExLCBOVUxMKTsKKwlyZXR1cm4gISFyZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgUkVTT0xWRV9SRUZfUkVBRElORywgTlVMTCwgTlVMTCk7CiB9CiAKIHN0YXRpYyBpbnQgZmlsdGVyX3JlZnMoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLApAQCAtMjA2LDcgKzI0Nyw3IEBACiB7CiAJc3RydWN0IHJlZl9maWx0ZXIgKmZpbHRlciA9IChzdHJ1Y3QgcmVmX2ZpbHRlciAqKWRhdGE7CiAKLQlpZiAod2lsZG1hdGNoKGZpbHRlci0+cGF0dGVybiwgcmVmbmFtZSwgMCwgTlVMTCkpCisJaWYgKHdpbGRtYXRjaChmaWx0ZXItPnBhdHRlcm4sIHJlZm5hbWUsIDApKQogCQlyZXR1cm4gMDsKIAlyZXR1cm4gZmlsdGVyLT5mbihyZWZuYW1lLCBvaWQsIGZsYWdzLCBmaWx0ZXItPmNiX2RhdGEpOwogfQpAQCAtMjQ0LDEyICsyODUsMTEgQEAKIHsKIAlzdHJ1Y3Qgd2Fybl9pZl9kYW5nbGluZ19kYXRhICpkID0gY2JfZGF0YTsKIAljb25zdCBjaGFyICpyZXNvbHZlc190bzsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIGp1bms7CiAKIAlpZiAoIShmbGFncyAmIFJFRl9JU1NZTVJFRikpCiAJCXJldHVybiAwOwogCi0JcmVzb2x2ZXNfdG8gPSByZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgMCwganVuay5oYXNoLCBOVUxMKTsKKwlyZXNvbHZlc190byA9IHJlc29sdmVfcmVmX3Vuc2FmZShyZWZuYW1lLCAwLCBOVUxMLCBOVUxMKTsKIAlpZiAoIXJlc29sdmVzX3RvCiAJICAgIHx8IChkLT5yZWZuYW1lCiAJCT8gc3RyY21wKHJlc29sdmVzX3RvLCBkLT5yZWZuYW1lKQpAQCAtMjg0LDM0ICszMjQsMzQgQEAKIAlmb3JfZWFjaF9yYXdyZWYod2Fybl9pZl9kYW5nbGluZ19zeW1yZWYsICZkYXRhKTsKIH0KIAotaW50IGZvcl9lYWNoX3RhZ19yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCitpbnQgcmVmc19mb3JfZWFjaF90YWdfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewotCXJldHVybiBmb3JfZWFjaF9yZWZfaW4oInJlZnMvdGFncy8iLCBmbiwgY2JfZGF0YSk7CisJcmV0dXJuIHJlZnNfZm9yX2VhY2hfcmVmX2luKHJlZnMsICJyZWZzL3RhZ3MvIiwgZm4sIGNiX2RhdGEpOwogfQogCi1pbnQgZm9yX2VhY2hfdGFnX3JlZl9zdWJtb2R1bGUoY29uc3QgY2hhciAqc3VibW9kdWxlLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK2ludCBmb3JfZWFjaF90YWdfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewotCXJldHVybiBmb3JfZWFjaF9yZWZfaW5fc3VibW9kdWxlKHN1Ym1vZHVsZSwgInJlZnMvdGFncy8iLCBmbiwgY2JfZGF0YSk7CisJcmV0dXJuIHJlZnNfZm9yX2VhY2hfdGFnX3JlZihnZXRfbWFpbl9yZWZfc3RvcmUoKSwgZm4sIGNiX2RhdGEpOworfQorCitpbnQgcmVmc19mb3JfZWFjaF9icmFuY2hfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQoreworCXJldHVybiByZWZzX2Zvcl9lYWNoX3JlZl9pbihyZWZzLCAicmVmcy9oZWFkcy8iLCBmbiwgY2JfZGF0YSk7CiB9CiAKIGludCBmb3JfZWFjaF9icmFuY2hfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewotCXJldHVybiBmb3JfZWFjaF9yZWZfaW4oInJlZnMvaGVhZHMvIiwgZm4sIGNiX2RhdGEpOworCXJldHVybiByZWZzX2Zvcl9lYWNoX2JyYW5jaF9yZWYoZ2V0X21haW5fcmVmX3N0b3JlKCksIGZuLCBjYl9kYXRhKTsKIH0KIAotaW50IGZvcl9lYWNoX2JyYW5jaF9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCitpbnQgcmVmc19mb3JfZWFjaF9yZW1vdGVfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewotCXJldHVybiBmb3JfZWFjaF9yZWZfaW5fc3VibW9kdWxlKHN1Ym1vZHVsZSwgInJlZnMvaGVhZHMvIiwgZm4sIGNiX2RhdGEpOworCXJldHVybiByZWZzX2Zvcl9lYWNoX3JlZl9pbihyZWZzLCAicmVmcy9yZW1vdGVzLyIsIGZuLCBjYl9kYXRhKTsKIH0KIAogaW50IGZvcl9lYWNoX3JlbW90ZV9yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCiB7Ci0JcmV0dXJuIGZvcl9lYWNoX3JlZl9pbigicmVmcy9yZW1vdGVzLyIsIGZuLCBjYl9kYXRhKTsKLX0KLQotaW50IGZvcl9lYWNoX3JlbW90ZV9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCi17Ci0JcmV0dXJuIGZvcl9lYWNoX3JlZl9pbl9zdWJtb2R1bGUoc3VibW9kdWxlLCAicmVmcy9yZW1vdGVzLyIsIGZuLCBjYl9kYXRhKTsKKwlyZXR1cm4gcmVmc19mb3JfZWFjaF9yZW1vdGVfcmVmKGdldF9tYWluX3JlZl9zdG9yZSgpLCBmbiwgY2JfZGF0YSk7CiB9CiAKIGludCBoZWFkX3JlZl9uYW1lc3BhY2VkKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQpAQCAtMzY1LDExICs0MDUsMTEgQEAKIAogY29uc3QgY2hhciAqcHJldHRpZnlfcmVmbmFtZShjb25zdCBjaGFyICpuYW1lKQogewotCXJldHVybiBuYW1lICsgKAotCQlzdGFydHNfd2l0aChuYW1lLCAicmVmcy9oZWFkcy8iKSA/IDExIDoKLQkJc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvdGFncy8iKSA/IDEwIDoKLQkJc3RhcnRzX3dpdGgobmFtZSwgInJlZnMvcmVtb3Rlcy8iKSA/IDEzIDoKLQkJMCk7CisJaWYgKHNraXBfcHJlZml4KG5hbWUsICJyZWZzL2hlYWRzLyIsICZuYW1lKSB8fAorCSAgICBza2lwX3ByZWZpeChuYW1lLCAicmVmcy90YWdzLyIsICZuYW1lKSB8fAorCSAgICBza2lwX3ByZWZpeChuYW1lLCAicmVmcy9yZW1vdGVzLyIsICZuYW1lKSkKKwkJOyAvKiBub3RoaW5nICovCisJcmV0dXJuIG5hbWU7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICpyZWZfcmV2X3BhcnNlX3J1bGVzW10gPSB7CkBAIC00MjgsMjkgKzQ2OCwzMSBAQAogewogCWNvbnN0IGNoYXIgKipwLCAqcjsKIAlpbnQgcmVmc19mb3VuZCA9IDA7CisJc3RydWN0IHN0cmJ1ZiBmdWxscmVmID0gU1RSQlVGX0lOSVQ7CiAKIAkqcmVmID0gTlVMTDsKIAlmb3IgKHAgPSByZWZfcmV2X3BhcnNlX3J1bGVzOyAqcDsgcCsrKSB7Ci0JCWNoYXIgZnVsbHJlZltQQVRIX01BWF07CiAJCXVuc2lnbmVkIGNoYXIgc2hhMV9mcm9tX3JlZlsyMF07CiAJCXVuc2lnbmVkIGNoYXIgKnRoaXNfcmVzdWx0OwogCQlpbnQgZmxhZzsKIAogCQl0aGlzX3Jlc3VsdCA9IHJlZnNfZm91bmQgPyBzaGExX2Zyb21fcmVmIDogc2hhMTsKLQkJbWtzbnBhdGgoZnVsbHJlZiwgc2l6ZW9mKGZ1bGxyZWYpLCAqcCwgbGVuLCBzdHIpOwotCQlyID0gcmVzb2x2ZV9yZWZfdW5zYWZlKGZ1bGxyZWYsIFJFU09MVkVfUkVGX1JFQURJTkcsCisJCXN0cmJ1Zl9yZXNldCgmZnVsbHJlZik7CisJCXN0cmJ1Zl9hZGRmKCZmdWxscmVmLCAqcCwgbGVuLCBzdHIpOworCQlyID0gcmVzb2x2ZV9yZWZfdW5zYWZlKGZ1bGxyZWYuYnVmLCBSRVNPTFZFX1JFRl9SRUFESU5HLAogCQkJCSAgICAgICB0aGlzX3Jlc3VsdCwgJmZsYWcpOwogCQlpZiAocikgewogCQkJaWYgKCFyZWZzX2ZvdW5kKyspCiAJCQkJKnJlZiA9IHhzdHJkdXAocik7CiAJCQlpZiAoIXdhcm5fYW1iaWd1b3VzX3JlZnMpCiAJCQkJYnJlYWs7Ci0JCX0gZWxzZSBpZiAoKGZsYWcgJiBSRUZfSVNTWU1SRUYpICYmIHN0cmNtcChmdWxscmVmLCAiSEVBRCIpKSB7Ci0JCQl3YXJuaW5nKCJpZ25vcmluZyBkYW5nbGluZyBzeW1yZWYgJXMuIiwgZnVsbHJlZik7Ci0JCX0gZWxzZSBpZiAoKGZsYWcgJiBSRUZfSVNCUk9LRU4pICYmIHN0cmNocihmdWxscmVmLCAnLycpKSB7Ci0JCQl3YXJuaW5nKCJpZ25vcmluZyBicm9rZW4gcmVmICVzLiIsIGZ1bGxyZWYpOworCQl9IGVsc2UgaWYgKChmbGFnICYgUkVGX0lTU1lNUkVGKSAmJiBzdHJjbXAoZnVsbHJlZi5idWYsICJIRUFEIikpIHsKKwkJCXdhcm5pbmcoImlnbm9yaW5nIGRhbmdsaW5nIHN5bXJlZiAlcy4iLCBmdWxscmVmLmJ1Zik7CisJCX0gZWxzZSBpZiAoKGZsYWcgJiBSRUZfSVNCUk9LRU4pICYmIHN0cmNocihmdWxscmVmLmJ1ZiwgJy8nKSkgeworCQkJd2FybmluZygiaWdub3JpbmcgYnJva2VuIHJlZiAlcy4iLCBmdWxscmVmLmJ1Zik7CiAJCX0KIAl9CisJc3RyYnVmX3JlbGVhc2UoJmZ1bGxyZWYpOwogCXJldHVybiByZWZzX2ZvdW5kOwogfQogCkBAIC00NTksMjEgKzUwMSwyMiBAQAogCWNoYXIgKmxhc3RfYnJhbmNoID0gc3Vic3RpdHV0ZV9icmFuY2hfbmFtZSgmc3RyLCAmbGVuKTsKIAljb25zdCBjaGFyICoqcDsKIAlpbnQgbG9nc19mb3VuZCA9IDA7CisJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CiAKIAkqbG9nID0gTlVMTDsKIAlmb3IgKHAgPSByZWZfcmV2X3BhcnNlX3J1bGVzOyAqcDsgcCsrKSB7CiAJCXVuc2lnbmVkIGNoYXIgaGFzaFsyMF07Ci0JCWNoYXIgcGF0aFtQQVRIX01BWF07CiAJCWNvbnN0IGNoYXIgKnJlZiwgKml0OwogCi0JCW1rc25wYXRoKHBhdGgsIHNpemVvZihwYXRoKSwgKnAsIGxlbiwgc3RyKTsKLQkJcmVmID0gcmVzb2x2ZV9yZWZfdW5zYWZlKHBhdGgsIFJFU09MVkVfUkVGX1JFQURJTkcsCisJCXN0cmJ1Zl9yZXNldCgmcGF0aCk7CisJCXN0cmJ1Zl9hZGRmKCZwYXRoLCAqcCwgbGVuLCBzdHIpOworCQlyZWYgPSByZXNvbHZlX3JlZl91bnNhZmUocGF0aC5idWYsIFJFU09MVkVfUkVGX1JFQURJTkcsCiAJCQkJCSBoYXNoLCBOVUxMKTsKIAkJaWYgKCFyZWYpCiAJCQljb250aW51ZTsKLQkJaWYgKHJlZmxvZ19leGlzdHMocGF0aCkpCi0JCQlpdCA9IHBhdGg7Ci0JCWVsc2UgaWYgKHN0cmNtcChyZWYsIHBhdGgpICYmIHJlZmxvZ19leGlzdHMocmVmKSkKKwkJaWYgKHJlZmxvZ19leGlzdHMocGF0aC5idWYpKQorCQkJaXQgPSBwYXRoLmJ1ZjsKKwkJZWxzZSBpZiAoc3RyY21wKHJlZiwgcGF0aC5idWYpICYmIHJlZmxvZ19leGlzdHMocmVmKSkKIAkJCWl0ID0gcmVmOwogCQllbHNlCiAJCQljb250aW51ZTsKQEAgLTQ4NCw2ICs1MjcsNyBAQAogCQlpZiAoIXdhcm5fYW1iaWd1b3VzX3JlZnMpCiAJCQlicmVhazsKIAl9CisJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwogCWZyZWUobGFzdF9icmFuY2gpOwogCXJldHVybiBsb2dzX2ZvdW5kOwogfQpAQCAtNTE1LDYgKzU1OSwyMSBAQAogICAgICAgIHJldHVybiBSRUZfVFlQRV9OT1JNQUw7CiB9CiAKK2xvbmcgZ2V0X2ZpbGVzX3JlZl9sb2NrX3RpbWVvdXRfbXModm9pZCkKK3sKKwlzdGF0aWMgaW50IGNvbmZpZ3VyZWQgPSAwOworCisJLyogVGhlIGRlZmF1bHQgdGltZW91dCBpcyAxMDAgbXM6ICovCisJc3RhdGljIGludCB0aW1lb3V0X21zID0gMTAwOworCisJaWYgKCFjb25maWd1cmVkKSB7CisJCWdpdF9jb25maWdfZ2V0X2ludCgiY29yZS5maWxlc3JlZmxvY2t0aW1lb3V0IiwgJnRpbWVvdXRfbXMpOworCQljb25maWd1cmVkID0gMTsKKwl9CisKKwlyZXR1cm4gdGltZW91dF9tczsKK30KKwogc3RhdGljIGludCB3cml0ZV9wc2V1ZG9yZWYoY29uc3QgY2hhciAqcHNldWRvcmVmLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAogCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsIHN0cnVjdCBzdHJidWYgKmVycikKIHsKQEAgLTUyNywxMSArNTg2LDEzIEBACiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzXG4iLCBzaGExX3RvX2hleChzaGExKSk7CiAKIAlmaWxlbmFtZSA9IGdpdF9wYXRoKCIlcyIsIHBzZXVkb3JlZik7Ci0JZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZsb2NrLCBmaWxlbmFtZSwgTE9DS19ESUVfT05fRVJST1IpOworCWZkID0gaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZV90aW1lb3V0KCZsb2NrLCBmaWxlbmFtZSwKKwkJCQkJICAgICAgIExPQ0tfRElFX09OX0VSUk9SLAorCQkJCQkgICAgICAgZ2V0X2ZpbGVzX3JlZl9sb2NrX3RpbWVvdXRfbXMoKSk7CiAJaWYgKGZkIDwgMCkgewogCQlzdHJidWZfYWRkZihlcnIsICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIsCiAJCQkgICAgZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0JCXJldHVybiAtMTsKKwkJZ290byBkb25lOwogCX0KIAogCWlmIChvbGRfc2hhMSkgewpAQCAtNTQ2LDcgKzYwNyw3IEBACiAJCX0KIAl9CiAKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgYnVmLmJ1ZiwgYnVmLmxlbikgIT0gYnVmLmxlbikgeworCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYuYnVmLCBidWYubGVuKSA8IDApIHsKIAkJc3RyYnVmX2FkZGYoZXJyLCAiY291bGQgbm90IHdyaXRlIHRvICclcyciLCBmaWxlbmFtZSk7CiAJCXJvbGxiYWNrX2xvY2tfZmlsZSgmbG9jayk7CiAJCWdvdG8gZG9uZTsKQEAgLTU3MCw4ICs2MzEsOSBAQAogCQlpbnQgZmQ7CiAJCXVuc2lnbmVkIGNoYXIgYWN0dWFsX29sZF9zaGExWzIwXTsKIAotCQlmZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoJmxvY2ssIGZpbGVuYW1lLAotCQkJCQkgICAgICAgTE9DS19ESUVfT05fRVJST1IpOworCQlmZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGVfdGltZW91dCgKKwkJCQkmbG9jaywgZmlsZW5hbWUsIExPQ0tfRElFX09OX0VSUk9SLAorCQkJCWdldF9maWxlc19yZWZfbG9ja190aW1lb3V0X21zKCkpOwogCQlpZiAoZmQgPCAwKQogCQkJZGllX2Vycm5vKF8oIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciKSwgZmlsZW5hbWUpOwogCQlpZiAocmVhZF9yZWYocHNldWRvcmVmLCBhY3R1YWxfb2xkX3NoYTEpKQpAQCAtNTkxLDE5ICs2NTMsMjMgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IGRlbGV0ZV9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCi0JICAgICAgIHVuc2lnbmVkIGludCBmbGFncykKK2ludCByZWZzX2RlbGV0ZV9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqbXNnLAorCQkgICAgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAorCQkgICAgdW5zaWduZWQgaW50IGZsYWdzKQogewogCXN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uOwogCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7CiAKLQlpZiAocmVmX3R5cGUocmVmbmFtZSkgPT0gUkVGX1RZUEVfUFNFVURPUkVGKQorCWlmIChyZWZfdHlwZShyZWZuYW1lKSA9PSBSRUZfVFlQRV9QU0VVRE9SRUYpIHsKKwkJYXNzZXJ0KHJlZnMgPT0gZ2V0X21haW5fcmVmX3N0b3JlKCkpOwogCQlyZXR1cm4gZGVsZXRlX3BzZXVkb3JlZihyZWZuYW1lLCBvbGRfc2hhMSk7CisJfQogCi0JdHJhbnNhY3Rpb24gPSByZWZfdHJhbnNhY3Rpb25fYmVnaW4oJmVycik7CisJdHJhbnNhY3Rpb24gPSByZWZfc3RvcmVfdHJhbnNhY3Rpb25fYmVnaW4ocmVmcywgJmVycik7CiAJaWYgKCF0cmFuc2FjdGlvbiB8fAogCSAgICByZWZfdHJhbnNhY3Rpb25fZGVsZXRlKHRyYW5zYWN0aW9uLCByZWZuYW1lLCBvbGRfc2hhMSwKLQkJCQkgICBmbGFncywgTlVMTCwgJmVycikgfHwKKwkJCQkgICBmbGFncywgbXNnLCAmZXJyKSB8fAogCSAgICByZWZfdHJhbnNhY3Rpb25fY29tbWl0KHRyYW5zYWN0aW9uLCAmZXJyKSkgewogCQllcnJvcigiJXMiLCBlcnIuYnVmKTsKIAkJcmVmX3RyYW5zYWN0aW9uX2ZyZWUodHJhbnNhY3Rpb24pOwpAQCAtNjE1LDYgKzY4MSwxMyBAQAogCXJldHVybiAwOwogfQogCitpbnQgZGVsZXRlX3JlZihjb25zdCBjaGFyICptc2csIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIHJlZnNfZGVsZXRlX3JlZihnZXRfbWFpbl9yZWZfc3RvcmUoKSwgbXNnLCByZWZuYW1lLAorCQkJICAgICAgIG9sZF9zaGExLCBmbGFncyk7Cit9CisKIGludCBjb3B5X3JlZmxvZ19tc2coY2hhciAqYnVmLCBjb25zdCBjaGFyICptc2cpCiB7CiAJY2hhciAqY3AgPSBidWY7CkBAIC02NTgsNyArNzMxLDcgQEAKIAogc3RydWN0IHJlYWRfcmVmX2F0X2NiIHsKIAljb25zdCBjaGFyICpyZWZuYW1lOwotCXVuc2lnbmVkIGxvbmcgYXRfdGltZTsKKwl0aW1lc3RhbXBfdCBhdF90aW1lOwogCWludCBjbnQ7CiAJaW50IHJlY2NudDsKIAl1bnNpZ25lZCBjaGFyICpzaGExOwpAQCAtNjY3LDE1ICs3NDAsMTUgQEAKIAl1bnNpZ25lZCBjaGFyIG9zaGExWzIwXTsKIAl1bnNpZ25lZCBjaGFyIG5zaGExWzIwXTsKIAlpbnQgdHo7Ci0JdW5zaWduZWQgbG9uZyBkYXRlOworCXRpbWVzdGFtcF90IGRhdGU7CiAJY2hhciAqKm1zZzsKLQl1bnNpZ25lZCBsb25nICpjdXRvZmZfdGltZTsKKwl0aW1lc3RhbXBfdCAqY3V0b2ZmX3RpbWU7CiAJaW50ICpjdXRvZmZfdHo7CiAJaW50ICpjdXRvZmZfY250OwogfTsKIAotc3RhdGljIGludCByZWFkX3JlZl9hdF9lbnQodW5zaWduZWQgY2hhciAqb3NoYTEsIHVuc2lnbmVkIGNoYXIgKm5zaGExLAotCQljb25zdCBjaGFyICplbWFpbCwgdW5zaWduZWQgbG9uZyB0aW1lc3RhbXAsIGludCB0eiwKK3N0YXRpYyBpbnQgcmVhZF9yZWZfYXRfZW50KHN0cnVjdCBvYmplY3RfaWQgKm9vaWQsIHN0cnVjdCBvYmplY3RfaWQgKm5vaWQsCisJCWNvbnN0IGNoYXIgKmVtYWlsLCB0aW1lc3RhbXBfdCB0aW1lc3RhbXAsIGludCB0eiwKIAkJY29uc3QgY2hhciAqbWVzc2FnZSwgdm9pZCAqY2JfZGF0YSkKIHsKIAlzdHJ1Y3QgcmVhZF9yZWZfYXRfY2IgKmNiID0gY2JfZGF0YTsKQEAgLTY5OCwzMSArNzcxLDMxIEBACiAJCSAqIGhvbGQgdGhlIHZhbHVlcyBmb3IgdGhlIHByZXZpb3VzIHJlY29yZC4KIAkJICovCiAJCWlmICghaXNfbnVsbF9zaGExKGNiLT5vc2hhMSkpIHsKLQkJCWhhc2hjcHkoY2ItPnNoYTEsIG5zaGExKTsKLQkJCWlmIChoYXNoY21wKGNiLT5vc2hhMSwgbnNoYTEpKQorCQkJaGFzaGNweShjYi0+c2hhMSwgbm9pZC0+aGFzaCk7CisJCQlpZiAoaGFzaGNtcChjYi0+b3NoYTEsIG5vaWQtPmhhc2gpKQogCQkJCXdhcm5pbmcoIkxvZyBmb3IgcmVmICVzIGhhcyBnYXAgYWZ0ZXIgJXMuIiwKIAkJCQkJY2ItPnJlZm5hbWUsIHNob3dfZGF0ZShjYi0+ZGF0ZSwgY2ItPnR6LCBEQVRFX01PREUoUkZDMjgyMikpKTsKIAkJfQogCQllbHNlIGlmIChjYi0+ZGF0ZSA9PSBjYi0+YXRfdGltZSkKLQkJCWhhc2hjcHkoY2ItPnNoYTEsIG5zaGExKTsKLQkJZWxzZSBpZiAoaGFzaGNtcChuc2hhMSwgY2ItPnNoYTEpKQorCQkJaGFzaGNweShjYi0+c2hhMSwgbm9pZC0+aGFzaCk7CisJCWVsc2UgaWYgKGhhc2hjbXAobm9pZC0+aGFzaCwgY2ItPnNoYTEpKQogCQkJd2FybmluZygiTG9nIGZvciByZWYgJXMgdW5leHBlY3RlZGx5IGVuZGVkIG9uICVzLiIsCiAJCQkJY2ItPnJlZm5hbWUsIHNob3dfZGF0ZShjYi0+ZGF0ZSwgY2ItPnR6LAogCQkJCQkJICAgICAgIERBVEVfTU9ERShSRkMyODIyKSkpOwotCQloYXNoY3B5KGNiLT5vc2hhMSwgb3NoYTEpOwotCQloYXNoY3B5KGNiLT5uc2hhMSwgbnNoYTEpOworCQloYXNoY3B5KGNiLT5vc2hhMSwgb29pZC0+aGFzaCk7CisJCWhhc2hjcHkoY2ItPm5zaGExLCBub2lkLT5oYXNoKTsKIAkJY2ItPmZvdW5kX2l0ID0gMTsKIAkJcmV0dXJuIDE7CiAJfQotCWhhc2hjcHkoY2ItPm9zaGExLCBvc2hhMSk7Ci0JaGFzaGNweShjYi0+bnNoYTEsIG5zaGExKTsKKwloYXNoY3B5KGNiLT5vc2hhMSwgb29pZC0+aGFzaCk7CisJaGFzaGNweShjYi0+bnNoYTEsIG5vaWQtPmhhc2gpOwogCWlmIChjYi0+Y250ID4gMCkKIAkJY2ItPmNudC0tOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHJlYWRfcmVmX2F0X2VudF9vbGRlc3QodW5zaWduZWQgY2hhciAqb3NoYTEsIHVuc2lnbmVkIGNoYXIgKm5zaGExLAotCQkJCSAgY29uc3QgY2hhciAqZW1haWwsIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wLAorc3RhdGljIGludCByZWFkX3JlZl9hdF9lbnRfb2xkZXN0KHN0cnVjdCBvYmplY3RfaWQgKm9vaWQsIHN0cnVjdCBvYmplY3RfaWQgKm5vaWQsCisJCQkJICBjb25zdCBjaGFyICplbWFpbCwgdGltZXN0YW1wX3QgdGltZXN0YW1wLAogCQkJCSAgaW50IHR6LCBjb25zdCBjaGFyICptZXNzYWdlLCB2b2lkICpjYl9kYXRhKQogewogCXN0cnVjdCByZWFkX3JlZl9hdF9jYiAqY2IgPSBjYl9kYXRhOwpAQCAtNzM1LDE2ICs4MDgsMTYgQEAKIAkJKmNiLT5jdXRvZmZfdHogPSB0ejsKIAlpZiAoY2ItPmN1dG9mZl9jbnQpCiAJCSpjYi0+Y3V0b2ZmX2NudCA9IGNiLT5yZWNjbnQ7Ci0JaGFzaGNweShjYi0+c2hhMSwgb3NoYTEpOworCWhhc2hjcHkoY2ItPnNoYTEsIG9vaWQtPmhhc2gpOwogCWlmIChpc19udWxsX3NoYTEoY2ItPnNoYTEpKQotCQloYXNoY3B5KGNiLT5zaGExLCBuc2hhMSk7CisJCWhhc2hjcHkoY2ItPnNoYTEsIG5vaWQtPmhhc2gpOwogCS8qIFdlIGp1c3Qgd2FudCB0aGUgZmlyc3QgZW50cnkgKi8KIAlyZXR1cm4gMTsKIH0KIAotaW50IHJlYWRfcmVmX2F0KGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGludCBmbGFncywgdW5zaWduZWQgbG9uZyBhdF90aW1lLCBpbnQgY250LAoraW50IHJlYWRfcmVmX2F0KGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGludCBmbGFncywgdGltZXN0YW1wX3QgYXRfdGltZSwgaW50IGNudCwKIAkJdW5zaWduZWQgY2hhciAqc2hhMSwgY2hhciAqKm1zZywKLQkJdW5zaWduZWQgbG9uZyAqY3V0b2ZmX3RpbWUsIGludCAqY3V0b2ZmX3R6LCBpbnQgKmN1dG9mZl9jbnQpCisJCXRpbWVzdGFtcF90ICpjdXRvZmZfdGltZSwgaW50ICpjdXRvZmZfdHosIGludCAqY3V0b2ZmX2NudCkKIHsKIAlzdHJ1Y3QgcmVhZF9yZWZfYXRfY2IgY2I7CiAKQEAgLTc2MSw3ICs4MzQsNyBAQAogCWZvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZShyZWZuYW1lLCByZWFkX3JlZl9hdF9lbnQsICZjYik7CiAKIAlpZiAoIWNiLnJlY2NudCkgewotCQlpZiAoZmxhZ3MgJiBHRVRfU0hBMV9RVUlFVExZKQorCQlpZiAoZmxhZ3MgJiBHRVRfT0lEX1FVSUVUTFkpCiAJCQlleGl0KDEyOCk7CiAJCWVsc2UKIAkJCWRpZSgiTG9nIGZvciAlcyBpcyBlbXB0eS4iLCByZWZuYW1lKTsKQEAgLTc3NCwyMCArODQ3LDQyIEBACiAJcmV0dXJuIDE7CiB9CiAKLXN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnJlZl90cmFuc2FjdGlvbl9iZWdpbihzdHJ1Y3Qgc3RyYnVmICplcnIpCitzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICpyZWZfc3RvcmVfdHJhbnNhY3Rpb25fYmVnaW4oc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCQkJCSAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCiB7CisJc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHI7CiAJYXNzZXJ0KGVycik7CiAKLQlyZXR1cm4geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHJlZl90cmFuc2FjdGlvbikpOworCXRyID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHJlZl90cmFuc2FjdGlvbikpOworCXRyLT5yZWZfc3RvcmUgPSByZWZzOworCXJldHVybiB0cjsKK30KKworc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqcmVmX3RyYW5zYWN0aW9uX2JlZ2luKHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlyZXR1cm4gcmVmX3N0b3JlX3RyYW5zYWN0aW9uX2JlZ2luKGdldF9tYWluX3JlZl9zdG9yZSgpLCBlcnIpOwogfQogCiB2b2lkIHJlZl90cmFuc2FjdGlvbl9mcmVlKHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uKQogewotCWludCBpOworCXNpemVfdCBpOwogCiAJaWYgKCF0cmFuc2FjdGlvbikKIAkJcmV0dXJuOwogCisJc3dpdGNoICh0cmFuc2FjdGlvbi0+c3RhdGUpIHsKKwljYXNlIFJFRl9UUkFOU0FDVElPTl9PUEVOOgorCWNhc2UgUkVGX1RSQU5TQUNUSU9OX0NMT1NFRDoKKwkJLyogT0sgKi8KKwkJYnJlYWs7CisJY2FzZSBSRUZfVFJBTlNBQ1RJT05fUFJFUEFSRUQ6CisJCWRpZSgiQlVHOiBmcmVlIGNhbGxlZCBvbiBhIHByZXBhcmVkIHJlZmVyZW5jZSB0cmFuc2FjdGlvbiIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlkaWUoIkJVRzogdW5leHBlY3RlZCByZWZlcmVuY2UgdHJhbnNhY3Rpb24gc3RhdGUiKTsKKwkJYnJlYWs7CisJfQorCiAJZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKSB7CiAJCWZyZWUodHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV0tPm1zZyk7CiAJCWZyZWUodHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV0pOwpAQCAtODE4LDkgKzkxMyw5IEBACiAJdXBkYXRlLT5mbGFncyA9IGZsYWdzOwogCiAJaWYgKGZsYWdzICYgUkVGX0hBVkVfTkVXKQotCQloYXNoY3B5KHVwZGF0ZS0+bmV3X3NoYTEsIG5ld19zaGExKTsKKwkJaGFzaGNweSh1cGRhdGUtPm5ld19vaWQuaGFzaCwgbmV3X3NoYTEpOwogCWlmIChmbGFncyAmIFJFRl9IQVZFX09MRCkKLQkJaGFzaGNweSh1cGRhdGUtPm9sZF9zaGExLCBvbGRfc2hhMSk7CisJCWhhc2hjcHkodXBkYXRlLT5vbGRfb2lkLmhhc2gsIG9sZF9zaGExKTsKIAl1cGRhdGUtPm1zZyA9IHhzdHJkdXBfb3JfbnVsbChtc2cpOwogCXJldHVybiB1cGRhdGU7CiB9CkBAIC04NDIsNiArOTM3LDggQEAKIAkJcmV0dXJuIC0xOwogCX0KIAorCWZsYWdzICY9IFJFRl9UUkFOU0FDVElPTl9VUERBVEVfQUxMT1dFRF9GTEFHUzsKKwogCWZsYWdzIHw9IChuZXdfc2hhMSA/IFJFRl9IQVZFX05FVyA6IDApIHwgKG9sZF9zaGExID8gUkVGX0hBVkVfT0xEIDogMCk7CiAKIAlyZWZfdHJhbnNhY3Rpb25fYWRkX3VwZGF0ZSh0cmFuc2FjdGlvbiwgcmVmbmFtZSwgZmxhZ3MsCkBAIC04OTUsMTggKzk5MiwyMCBAQAogCQlvbGRfb2lkID8gb2xkX29pZC0+aGFzaCA6IE5VTEwsIGZsYWdzLCBvbmVycik7CiB9CiAKLWludCB1cGRhdGVfcmVmKGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqcmVmbmFtZSwKLQkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAotCSAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIGVudW0gYWN0aW9uX29uX2VyciBvbmVycikKK2ludCByZWZzX3VwZGF0ZV9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqbXNnLAorCQkgICAgY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsCisJCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwgdW5zaWduZWQgaW50IGZsYWdzLAorCQkgICAgZW51bSBhY3Rpb25fb25fZXJyIG9uZXJyKQogewogCXN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnQgPSBOVUxMOwogCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7CiAJaW50IHJldCA9IDA7CiAKIAlpZiAocmVmX3R5cGUocmVmbmFtZSkgPT0gUkVGX1RZUEVfUFNFVURPUkVGKSB7CisJCWFzc2VydChyZWZzID09IGdldF9tYWluX3JlZl9zdG9yZSgpKTsKIAkJcmV0ID0gd3JpdGVfcHNldWRvcmVmKHJlZm5hbWUsIG5ld19zaGExLCBvbGRfc2hhMSwgJmVycik7CiAJfSBlbHNlIHsKLQkJdCA9IHJlZl90cmFuc2FjdGlvbl9iZWdpbigmZXJyKTsKKwkJdCA9IHJlZl9zdG9yZV90cmFuc2FjdGlvbl9iZWdpbihyZWZzLCAmZXJyKTsKIAkJaWYgKCF0IHx8CiAJCSAgICByZWZfdHJhbnNhY3Rpb25fdXBkYXRlKHQsIHJlZm5hbWUsIG5ld19zaGExLCBvbGRfc2hhMSwKIAkJCQkJICAgZmxhZ3MsIG1zZywgJmVycikgfHwKQEAgLTkzNywxMiArMTAzNiwyMiBAQAogCXJldHVybiAwOwogfQogCitpbnQgdXBkYXRlX3JlZihjb25zdCBjaGFyICptc2csIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ld19zaGExLAorCSAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwKKwkgICAgICAgdW5zaWduZWQgaW50IGZsYWdzLCBlbnVtIGFjdGlvbl9vbl9lcnIgb25lcnIpCit7CisJcmV0dXJuIHJlZnNfdXBkYXRlX3JlZihnZXRfbWFpbl9yZWZfc3RvcmUoKSwgbXNnLCByZWZuYW1lLCBuZXdfc2hhMSwKKwkJCSAgICAgICBvbGRfc2hhMSwgZmxhZ3MsIG9uZXJyKTsKK30KKwogY2hhciAqc2hvcnRlbl91bmFtYmlndW91c19yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHN0cmljdCkKIHsKIAlpbnQgaTsKIAlzdGF0aWMgY2hhciAqKnNjYW5mX2ZtdHM7CiAJc3RhdGljIGludCBucl9ydWxlczsKIAljaGFyICpzaG9ydF9uYW1lOworCXN0cnVjdCBzdHJidWYgcmVzb2x2ZWRfYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAlpZiAoIW5yX3J1bGVzKSB7CiAJCS8qCkBAIC0xMDAxLDcgKzExMTAsNiBAQAogCQkgKi8KIAkJZm9yIChqID0gMDsgaiA8IHJ1bGVzX3RvX2ZhaWw7IGorKykgewogCQkJY29uc3QgY2hhciAqcnVsZSA9IHJlZl9yZXZfcGFyc2VfcnVsZXNbal07Ci0JCQljaGFyIHJlZm5hbWVbUEFUSF9NQVhdOwogCiAJCQkvKiBza2lwIG1hdGNoZWQgcnVsZSAqLwogCQkJaWYgKGkgPT0gaikKQEAgLTEwMTIsOSArMTEyMCwxMCBAQAogCQkJICogKHdpdGggdGhpcyBwcmV2aW91cyBydWxlKSB0byBhIHZhbGlkIHJlZgogCQkJICogcmVhZF9yZWYoKSByZXR1cm5zIDAgb24gc3VjY2VzcwogCQkJICovCi0JCQlta3NucGF0aChyZWZuYW1lLCBzaXplb2YocmVmbmFtZSksCi0JCQkJIHJ1bGUsIHNob3J0X25hbWVfbGVuLCBzaG9ydF9uYW1lKTsKLQkJCWlmIChyZWZfZXhpc3RzKHJlZm5hbWUpKQorCQkJc3RyYnVmX3Jlc2V0KCZyZXNvbHZlZF9idWYpOworCQkJc3RyYnVmX2FkZGYoJnJlc29sdmVkX2J1ZiwgcnVsZSwKKwkJCQkgICAgc2hvcnRfbmFtZV9sZW4sIHNob3J0X25hbWUpOworCQkJaWYgKHJlZl9leGlzdHMocmVzb2x2ZWRfYnVmLmJ1ZikpCiAJCQkJYnJlYWs7CiAJCX0KIApAQCAtMTAyMiwxMCArMTEzMSwxMyBAQAogCQkgKiBzaG9ydCBuYW1lIGlzIG5vbi1hbWJpZ3VvdXMgaWYgYWxsIHByZXZpb3VzIHJ1bGVzCiAJCSAqIGhhdmVuJ3QgcmVzb2x2ZWQgdG8gYSB2YWxpZCByZWYKIAkJICovCi0JCWlmIChqID09IHJ1bGVzX3RvX2ZhaWwpCisJCWlmIChqID09IHJ1bGVzX3RvX2ZhaWwpIHsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZyZXNvbHZlZF9idWYpOwogCQkJcmV0dXJuIHNob3J0X25hbWU7CisJCX0KIAl9CiAKKwlzdHJidWZfcmVsZWFzZSgmcmVzb2x2ZWRfYnVmKTsKIAlmcmVlKHNob3J0X25hbWUpOwogCXJldHVybiB4c3RyZHVwKHJlZm5hbWUpOwogfQpAQCAtMTA2Niw3ICsxMTc4LDcgQEAKIAkJY29uc3QgY2hhciAqbWF0Y2ggPSBoaWRlX3JlZnMtPml0ZW1zW2ldLnN0cmluZzsKIAkJY29uc3QgY2hhciAqc3ViamVjdDsKIAkJaW50IG5lZyA9IDA7Ci0JCWludCBsZW47CisJCWNvbnN0IGNoYXIgKnA7CiAKIAkJaWYgKCptYXRjaCA9PSAnIScpIHsKIAkJCW5lZyA9IDE7CkBAIC0xMDgxLDEwICsxMTkzLDkgQEAKIAkJfQogCiAJCS8qIHJlZm5hbWUgY2FuIGJlIE5VTEwgd2hlbiBuYW1lc3BhY2VzIGFyZSB1c2VkLiAqLwotCQlpZiAoIXN1YmplY3QgfHwgIXN0YXJ0c193aXRoKHN1YmplY3QsIG1hdGNoKSkKLQkJCWNvbnRpbnVlOwotCQlsZW4gPSBzdHJsZW4obWF0Y2gpOwotCQlpZiAoIXN1YmplY3RbbGVuXSB8fCBzdWJqZWN0W2xlbl0gPT0gJy8nKQorCQlpZiAoc3ViamVjdCAmJgorCQkgICAgc2tpcF9wcmVmaXgoc3ViamVjdCwgbWF0Y2gsICZwKSAmJgorCQkgICAgKCEqcCB8fCAqcCA9PSAnLycpKQogCQkJcmV0dXJuICFuZWc7CiAJfQogCXJldHVybiAwOwpAQCAtMTExOCwxNCArMTIyOSwxNyBAQAogCXJldHVybiBOVUxMOwogfQogCi1pbnQgcmVuYW1lX3JlZl9hdmFpbGFibGUoY29uc3QgY2hhciAqb2xkX3JlZm5hbWUsIGNvbnN0IGNoYXIgKm5ld19yZWZuYW1lKQoraW50IHJlZnNfcmVuYW1lX3JlZl9hdmFpbGFibGUoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCSAgICAgIGNvbnN0IGNoYXIgKm9sZF9yZWZuYW1lLAorCQkJICAgICAgY29uc3QgY2hhciAqbmV3X3JlZm5hbWUpCiB7CiAJc3RydWN0IHN0cmluZ19saXN0IHNraXAgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7CiAJaW50IG9rOwogCiAJc3RyaW5nX2xpc3RfaW5zZXJ0KCZza2lwLCBvbGRfcmVmbmFtZSk7Ci0Jb2sgPSAhdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKG5ld19yZWZuYW1lLCBOVUxMLCAmc2tpcCwgJmVycik7CisJb2sgPSAhcmVmc192ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUocmVmcywgbmV3X3JlZm5hbWUsCisJCQkJCSAgICBOVUxMLCAmc2tpcCwgJmVycik7CiAJaWYgKCFvaykKIAkJZXJyb3IoIiVzIiwgZXJyLmJ1Zik7CiAKQEAgLTExMzQsMTkgKzEyNDgsMTMgQEAKIAlyZXR1cm4gb2s7CiB9CiAKLWludCBoZWFkX3JlZl9zdWJtb2R1bGUoY29uc3QgY2hhciAqc3VibW9kdWxlLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK2ludCByZWZzX2hlYWRfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWludCBmbGFnOwogCi0JaWYgKHN1Ym1vZHVsZSkgewotCQlpZiAocmVzb2x2ZV9naXRsaW5rX3JlZihzdWJtb2R1bGUsICJIRUFEIiwgb2lkLmhhc2gpID09IDApCi0JCQlyZXR1cm4gZm4oIkhFQUQiLCAmb2lkLCAwLCBjYl9kYXRhKTsKLQotCQlyZXR1cm4gMDsKLQl9Ci0KLQlpZiAoIXJlYWRfcmVmX2Z1bGwoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBvaWQuaGFzaCwgJmZsYWcpKQorCWlmICghcmVmc19yZWFkX3JlZl9mdWxsKHJlZnMsICJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywKKwkJCQlvaWQuaGFzaCwgJmZsYWcpKQogCQlyZXR1cm4gZm4oIkhFQUQiLCAmb2lkLCBmbGFnLCBjYl9kYXRhKTsKIAogCXJldHVybiAwOwpAQCAtMTE1NCw3ICsxMjYyLDM0IEBACiAKIGludCBoZWFkX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKLQlyZXR1cm4gaGVhZF9yZWZfc3VibW9kdWxlKE5VTEwsIGZuLCBjYl9kYXRhKTsKKwlyZXR1cm4gcmVmc19oZWFkX3JlZihnZXRfbWFpbl9yZWZfc3RvcmUoKSwgZm4sIGNiX2RhdGEpOworfQorCitzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZzX3JlZl9pdGVyYXRvcl9iZWdpbigKKwkJc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJY29uc3QgY2hhciAqcHJlZml4LCBpbnQgdHJpbSwgaW50IGZsYWdzKQoreworCXN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXI7CisKKwlpZiAocmVmX3BhcmFub2lhIDwgMCkKKwkJcmVmX3BhcmFub2lhID0gZ2l0X2Vudl9ib29sKCJHSVRfUkVGX1BBUkFOT0lBIiwgMCk7CisJaWYgKHJlZl9wYXJhbm9pYSkKKwkJZmxhZ3MgfD0gRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU47CisKKwlpdGVyID0gcmVmcy0+YmUtPml0ZXJhdG9yX2JlZ2luKHJlZnMsIHByZWZpeCwgZmxhZ3MpOworCisJLyoKKwkgKiBgaXRlcmF0b3JfYmVnaW4oKWAgYWxyZWFkeSB0YWtlcyBjYXJlIG9mIHByZWZpeCwgYnV0IHdlCisJICogbWlnaHQgbmVlZCB0byBkbyBzb21lIHRyaW1taW5nOgorCSAqLworCWlmICh0cmltKQorCQlpdGVyID0gcHJlZml4X3JlZl9pdGVyYXRvcl9iZWdpbihpdGVyLCAiIiwgdHJpbSk7CisKKwkvKiBTYW5pdHkgY2hlY2sgZm9yIHN1YmNsYXNzZXM6ICovCisJaWYgKCFpdGVyLT5vcmRlcmVkKQorCQlCVUcoInJlZmVyZW5jZSBpdGVyYXRvciBpcyBub3Qgb3JkZXJlZCIpOworCisJcmV0dXJuIGl0ZXI7CiB9CiAKIC8qCkBAIC0xMTY2LDM0ICsxMzAxLDM4IEBACiAgKiBub24temVybyB2YWx1ZSwgc3RvcCB0aGUgaXRlcmF0aW9uIGFuZCByZXR1cm4gdGhhdCB2YWx1ZTsKICAqIG90aGVyd2lzZSwgcmV0dXJuIDAuCiAgKi8KLXN0YXRpYyBpbnQgZG9fZm9yX2VhY2hfcmVmKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgY29uc3QgY2hhciAqcHJlZml4LAorc3RhdGljIGludCBkb19mb3JfZWFjaF9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqcHJlZml4LAogCQkJICAgZWFjaF9yZWZfZm4gZm4sIGludCB0cmltLCBpbnQgZmxhZ3MsIHZvaWQgKmNiX2RhdGEpCiB7Ci0Jc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoc3VibW9kdWxlKTsKIAlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyOwogCiAJaWYgKCFyZWZzKQogCQlyZXR1cm4gMDsKIAotCWl0ZXIgPSByZWZzLT5iZS0+aXRlcmF0b3JfYmVnaW4ocmVmcywgcHJlZml4LCBmbGFncyk7Ci0JaXRlciA9IHByZWZpeF9yZWZfaXRlcmF0b3JfYmVnaW4oaXRlciwgcHJlZml4LCB0cmltKTsKKwlpdGVyID0gcmVmc19yZWZfaXRlcmF0b3JfYmVnaW4ocmVmcywgcHJlZml4LCB0cmltLCBmbGFncyk7CiAKIAlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmX2l0ZXJhdG9yKGl0ZXIsIGZuLCBjYl9kYXRhKTsKIH0KIAotaW50IGZvcl9lYWNoX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK2ludCByZWZzX2Zvcl9lYWNoX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKLQlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmKE5VTEwsICIiLCBmbiwgMCwgMCwgY2JfZGF0YSk7CisJcmV0dXJuIGRvX2Zvcl9lYWNoX3JlZihyZWZzLCAiIiwgZm4sIDAsIDAsIGNiX2RhdGEpOwogfQogCi1pbnQgZm9yX2VhY2hfcmVmX3N1Ym1vZHVsZShjb25zdCBjaGFyICpzdWJtb2R1bGUsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQoraW50IGZvcl9lYWNoX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKLQlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmKHN1Ym1vZHVsZSwgIiIsIGZuLCAwLCAwLCBjYl9kYXRhKTsKKwlyZXR1cm4gcmVmc19mb3JfZWFjaF9yZWYoZ2V0X21haW5fcmVmX3N0b3JlKCksIGZuLCBjYl9kYXRhKTsKK30KKworaW50IHJlZnNfZm9yX2VhY2hfcmVmX2luKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK3sKKwlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmKHJlZnMsIHByZWZpeCwgZm4sIHN0cmxlbihwcmVmaXgpLCAwLCBjYl9kYXRhKTsKIH0KIAogaW50IGZvcl9lYWNoX3JlZl9pbihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewotCXJldHVybiBkb19mb3JfZWFjaF9yZWYoTlVMTCwgcHJlZml4LCBmbiwgc3RybGVuKHByZWZpeCksIDAsIGNiX2RhdGEpOworCXJldHVybiByZWZzX2Zvcl9lYWNoX3JlZl9pbihnZXRfbWFpbl9yZWZfc3RvcmUoKSwgcHJlZml4LCBmbiwgY2JfZGF0YSk7CiB9CiAKIGludCBmb3JfZWFjaF9mdWxscmVmX2luKGNvbnN0IGNoYXIgKnByZWZpeCwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEsIHVuc2lnbmVkIGludCBicm9rZW4pCkBAIC0xMjAyLDE5ICsxMzQxLDI3IEBACiAKIAlpZiAoYnJva2VuKQogCQlmbGFnID0gRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU47Ci0JcmV0dXJuIGRvX2Zvcl9lYWNoX3JlZihOVUxMLCBwcmVmaXgsIGZuLCAwLCBmbGFnLCBjYl9kYXRhKTsKKwlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmKGdldF9tYWluX3JlZl9zdG9yZSgpLAorCQkJICAgICAgIHByZWZpeCwgZm4sIDAsIGZsYWcsIGNiX2RhdGEpOwogfQogCi1pbnQgZm9yX2VhY2hfcmVmX2luX3N1Ym1vZHVsZShjb25zdCBjaGFyICpzdWJtb2R1bGUsIGNvbnN0IGNoYXIgKnByZWZpeCwKLQkJZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCitpbnQgcmVmc19mb3JfZWFjaF9mdWxscmVmX2luKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgICAgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEsCisJCQkgICAgIHVuc2lnbmVkIGludCBicm9rZW4pCiB7Ci0JcmV0dXJuIGRvX2Zvcl9lYWNoX3JlZihzdWJtb2R1bGUsIHByZWZpeCwgZm4sIHN0cmxlbihwcmVmaXgpLCAwLCBjYl9kYXRhKTsKKwl1bnNpZ25lZCBpbnQgZmxhZyA9IDA7CisKKwlpZiAoYnJva2VuKQorCQlmbGFnID0gRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU47CisJcmV0dXJuIGRvX2Zvcl9lYWNoX3JlZihyZWZzLCBwcmVmaXgsIGZuLCAwLCBmbGFnLCBjYl9kYXRhKTsKIH0KIAogaW50IGZvcl9lYWNoX3JlcGxhY2VfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewotCXJldHVybiBkb19mb3JfZWFjaF9yZWYoTlVMTCwgZ2l0X3JlcGxhY2VfcmVmX2Jhc2UsIGZuLAotCQkJICAgICAgIHN0cmxlbihnaXRfcmVwbGFjZV9yZWZfYmFzZSksIDAsIGNiX2RhdGEpOworCXJldHVybiBkb19mb3JfZWFjaF9yZWYoZ2V0X21haW5fcmVmX3N0b3JlKCksCisJCQkgICAgICAgZ2l0X3JlcGxhY2VfcmVmX2Jhc2UsIGZuLAorCQkJICAgICAgIHN0cmxlbihnaXRfcmVwbGFjZV9yZWZfYmFzZSksCisJCQkgICAgICAgRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU4sIGNiX2RhdGEpOwogfQogCiBpbnQgZm9yX2VhY2hfbmFtZXNwYWNlZF9yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCkBAIC0xMjIyLDI3ICsxMzY5LDQzIEBACiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlpbnQgcmV0OwogCXN0cmJ1Zl9hZGRmKCZidWYsICIlc3JlZnMvIiwgZ2V0X2dpdF9uYW1lc3BhY2UoKSk7Ci0JcmV0ID0gZG9fZm9yX2VhY2hfcmVmKE5VTEwsIGJ1Zi5idWYsIGZuLCAwLCAwLCBjYl9kYXRhKTsKKwlyZXQgPSBkb19mb3JfZWFjaF9yZWYoZ2V0X21haW5fcmVmX3N0b3JlKCksCisJCQkgICAgICBidWYuYnVmLCBmbiwgMCwgMCwgY2JfZGF0YSk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGZvcl9lYWNoX3Jhd3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK2ludCByZWZzX2Zvcl9lYWNoX3Jhd3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKLQlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmKE5VTEwsICIiLCBmbiwgMCwKKwlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmKHJlZnMsICIiLCBmbiwgMCwKIAkJCSAgICAgICBET19GT1JfRUFDSF9JTkNMVURFX0JST0tFTiwgY2JfZGF0YSk7CiB9CiAKK2ludCBmb3JfZWFjaF9yYXdyZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCit7CisJcmV0dXJuIHJlZnNfZm9yX2VhY2hfcmF3cmVmKGdldF9tYWluX3JlZl9zdG9yZSgpLCBmbiwgY2JfZGF0YSk7Cit9CisKK2ludCByZWZzX3JlYWRfcmF3X3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCSAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCSAgICAgIHN0cnVjdCBzdHJidWYgKnJlZmVyZW50LCB1bnNpZ25lZCBpbnQgKnR5cGUpCit7CisJcmV0dXJuIHJlZl9zdG9yZS0+YmUtPnJlYWRfcmF3X3JlZihyZWZfc3RvcmUsIHJlZm5hbWUsIHNoYTEsIHJlZmVyZW50LCB0eXBlKTsKK30KKwogLyogVGhpcyBmdW5jdGlvbiBuZWVkcyB0byByZXR1cm4gYSBtZWFuaW5nZnVsIGVycm5vIG9uIGZhaWx1cmUgKi8KLXN0YXRpYyBjb25zdCBjaGFyICpyZXNvbHZlX3JlZl9yZWN1cnNpdmVseShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLAotCQkJCQkgICBjb25zdCBjaGFyICpyZWZuYW1lLAotCQkJCQkgICBpbnQgcmVzb2x2ZV9mbGFncywKLQkJCQkJICAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50ICpmbGFncykKK2NvbnN0IGNoYXIgKnJlZnNfcmVzb2x2ZV9yZWZfdW5zYWZlKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkJICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJICAgIGludCByZXNvbHZlX2ZsYWdzLAorCQkJCSAgICB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgKmZsYWdzKQogewogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHNiX3JlZm5hbWUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHVudXNlZF9vaWQ7CiAJaW50IHVudXNlZF9mbGFnczsKIAlpbnQgc3ltcmVmX2NvdW50OwogCisJaWYgKCFzaGExKQorCQlzaGExID0gdW51c2VkX29pZC5oYXNoOwogCWlmICghZmxhZ3MpCiAJCWZsYWdzID0gJnVudXNlZF9mbGFnczsKIApAQCAtMTI2OSw4ICsxNDMyLDggQEAKIAlmb3IgKHN5bXJlZl9jb3VudCA9IDA7IHN5bXJlZl9jb3VudCA8IFNZTVJFRl9NQVhERVBUSDsgc3ltcmVmX2NvdW50KyspIHsKIAkJdW5zaWduZWQgaW50IHJlYWRfZmxhZ3MgPSAwOwogCi0JCWlmIChyZWZzLT5iZS0+cmVhZF9yYXdfcmVmKHJlZnMsIHJlZm5hbWUsCi0JCQkJCSAgIHNoYTEsICZzYl9yZWZuYW1lLCAmcmVhZF9mbGFncykpIHsKKwkJaWYgKHJlZnNfcmVhZF9yYXdfcmVmKHJlZnMsIHJlZm5hbWUsCisJCQkJICAgICAgc2hhMSwgJnNiX3JlZm5hbWUsICZyZWFkX2ZsYWdzKSkgewogCQkJKmZsYWdzIHw9IHJlYWRfZmxhZ3M7CiAJCQlpZiAoZXJybm8gIT0gRU5PRU5UIHx8IChyZXNvbHZlX2ZsYWdzICYgUkVTT0xWRV9SRUZfUkVBRElORykpCiAJCQkJcmV0dXJuIE5VTEw7CkBAIC0xMzEzLDcgKzE0NzYsNyBAQAogLyogYmFja2VuZCBmdW5jdGlvbnMgKi8KIGludCByZWZzX2luaXRfZGIoc3RydWN0IHN0cmJ1ZiAqZXJyKQogewotCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfbWFpbl9yZWZfc3RvcmUoKTsKIAogCXJldHVybiByZWZzLT5iZS0+aW5pdF9kYihyZWZzLCBlcnIpOwogfQpAQCAtMTMyMSwxNzYgKzE0ODQsNDQ4IEBACiBjb25zdCBjaGFyICpyZXNvbHZlX3JlZl91bnNhZmUoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHJlc29sdmVfZmxhZ3MsCiAJCQkgICAgICAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50ICpmbGFncykKIHsKLQlyZXR1cm4gcmVzb2x2ZV9yZWZfcmVjdXJzaXZlbHkoZ2V0X3JlZl9zdG9yZShOVUxMKSwgcmVmbmFtZSwKKwlyZXR1cm4gcmVmc19yZXNvbHZlX3JlZl91bnNhZmUoZ2V0X21haW5fcmVmX3N0b3JlKCksIHJlZm5hbWUsCiAJCQkJICAgICAgIHJlc29sdmVfZmxhZ3MsIHNoYTEsIGZsYWdzKTsKIH0KIAogaW50IHJlc29sdmVfZ2l0bGlua19yZWYoY29uc3QgY2hhciAqc3VibW9kdWxlLCBjb25zdCBjaGFyICpyZWZuYW1lLAogCQkJdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKLQlzaXplX3QgbGVuID0gc3RybGVuKHN1Ym1vZHVsZSk7CiAJc3RydWN0IHJlZl9zdG9yZSAqcmVmczsKIAlpbnQgZmxhZ3M7CiAKLQl3aGlsZSAobGVuICYmIHN1Ym1vZHVsZVtsZW4gLSAxXSA9PSAnLycpCi0JCWxlbi0tOwotCi0JaWYgKCFsZW4pCi0JCXJldHVybiAtMTsKLQotCWlmIChzdWJtb2R1bGVbbGVuXSkgewotCQkvKiBXZSBuZWVkIHRvIHN0cmlwIG9mZiBvbmUgb3IgbW9yZSB0cmFpbGluZyBzbGFzaGVzICovCi0JCWNoYXIgKnN0cmlwcGVkID0geG1lbWR1cHooc3VibW9kdWxlLCBsZW4pOwotCi0JCXJlZnMgPSBnZXRfcmVmX3N0b3JlKHN0cmlwcGVkKTsKLQkJZnJlZShzdHJpcHBlZCk7Ci0JfSBlbHNlIHsKLQkJcmVmcyA9IGdldF9yZWZfc3RvcmUoc3VibW9kdWxlKTsKLQl9CisJcmVmcyA9IGdldF9zdWJtb2R1bGVfcmVmX3N0b3JlKHN1Ym1vZHVsZSk7CiAKIAlpZiAoIXJlZnMpCiAJCXJldHVybiAtMTsKIAotCWlmICghcmVzb2x2ZV9yZWZfcmVjdXJzaXZlbHkocmVmcywgcmVmbmFtZSwgMCwgc2hhMSwgJmZsYWdzKSB8fAorCWlmICghcmVmc19yZXNvbHZlX3JlZl91bnNhZmUocmVmcywgcmVmbmFtZSwgMCwgc2hhMSwgJmZsYWdzKSB8fAogCSAgICBpc19udWxsX3NoYTEoc2hhMSkpCiAJCXJldHVybiAtMTsKIAlyZXR1cm4gMDsKIH0KIAorc3RydWN0IHJlZl9zdG9yZV9oYXNoX2VudHJ5Cit7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OyAvKiBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhICovCisKKwlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzOworCisJLyogTlVMLXRlcm1pbmF0ZWQgaWRlbnRpZmllciBvZiB0aGUgcmVmIHN0b3JlOiAqLworCWNoYXIgbmFtZVtGTEVYX0FSUkFZXTsKK307CisKK3N0YXRpYyBpbnQgcmVmX3N0b3JlX2hhc2hfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJCSAgICAgIGNvbnN0IHZvaWQgKmVudHJ5LCBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgICAgICBjb25zdCB2b2lkICprZXlkYXRhKQoreworCWNvbnN0IHN0cnVjdCByZWZfc3RvcmVfaGFzaF9lbnRyeSAqZTEgPSBlbnRyeSwgKmUyID0gZW50cnlfb3Jfa2V5OworCWNvbnN0IGNoYXIgKm5hbWUgPSBrZXlkYXRhID8ga2V5ZGF0YSA6IGUyLT5uYW1lOworCisJcmV0dXJuIHN0cmNtcChlMS0+bmFtZSwgbmFtZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcmVmX3N0b3JlX2hhc2hfZW50cnkgKmFsbG9jX3JlZl9zdG9yZV9oYXNoX2VudHJ5KAorCQljb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzKQoreworCXN0cnVjdCByZWZfc3RvcmVfaGFzaF9lbnRyeSAqZW50cnk7CisKKwlGTEVYX0FMTE9DX1NUUihlbnRyeSwgbmFtZSwgbmFtZSk7CisJaGFzaG1hcF9lbnRyeV9pbml0KGVudHJ5LCBzdHJoYXNoKG5hbWUpKTsKKwllbnRyeS0+cmVmcyA9IHJlZnM7CisJcmV0dXJuIGVudHJ5OworfQorCiAvKiBBIHBvaW50ZXIgdG8gdGhlIHJlZl9zdG9yZSBmb3IgdGhlIG1haW4gcmVwb3NpdG9yeTogKi8KIHN0YXRpYyBzdHJ1Y3QgcmVmX3N0b3JlICptYWluX3JlZl9zdG9yZTsKIAotLyogQSBsaW5rZWQgbGlzdCBvZiByZWZfc3RvcmVzIGZvciBzdWJtb2R1bGVzOiAqLwotc3RhdGljIHN0cnVjdCByZWZfc3RvcmUgKnN1Ym1vZHVsZV9yZWZfc3RvcmVzOworLyogQSBoYXNobWFwIG9mIHJlZl9zdG9yZXMsIHN0b3JlZCBieSBzdWJtb2R1bGUgbmFtZTogKi8KK3N0YXRpYyBzdHJ1Y3QgaGFzaG1hcCBzdWJtb2R1bGVfcmVmX3N0b3JlczsKIAotdm9pZCBiYXNlX3JlZl9zdG9yZV9pbml0KHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCi0JCQkgY29uc3Qgc3RydWN0IHJlZl9zdG9yYWdlX2JlICpiZSwKLQkJCSBjb25zdCBjaGFyICpzdWJtb2R1bGUpCisvKiBBIGhhc2htYXAgb2YgcmVmX3N0b3Jlcywgc3RvcmVkIGJ5IHdvcmt0cmVlIGlkOiAqLworc3RhdGljIHN0cnVjdCBoYXNobWFwIHdvcmt0cmVlX3JlZl9zdG9yZXM7CisKKy8qCisgKiBMb29rIHVwIGEgcmVmIHN0b3JlIGJ5IG5hbWUuIElmIHRoYXQgcmVmX3N0b3JlIGhhc24ndCBiZWVuCisgKiByZWdpc3RlcmVkIHlldCwgcmV0dXJuIE5VTEwuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgcmVmX3N0b3JlICpsb29rdXBfcmVmX3N0b3JlX21hcChzdHJ1Y3QgaGFzaG1hcCAqbWFwLAorCQkJCQkgICAgICBjb25zdCBjaGFyICpuYW1lKQogewotCXJlZnMtPmJlID0gYmU7Ci0JaWYgKCFzdWJtb2R1bGUpIHsKLQkJaWYgKG1haW5fcmVmX3N0b3JlKQotCQkJZGllKCJCVUc6IG1haW5fcmVmX3N0b3JlIGluaXRpYWxpemVkIHR3aWNlIik7CisJc3RydWN0IHJlZl9zdG9yZV9oYXNoX2VudHJ5ICplbnRyeTsKIAotCQlyZWZzLT5zdWJtb2R1bGUgPSAiIjsKLQkJcmVmcy0+bmV4dCA9IE5VTEw7Ci0JCW1haW5fcmVmX3N0b3JlID0gcmVmczsKLQl9IGVsc2UgewotCQlpZiAobG9va3VwX3JlZl9zdG9yZShzdWJtb2R1bGUpKQotCQkJZGllKCJCVUc6IHJlZl9zdG9yZSBmb3Igc3VibW9kdWxlICclcycgaW5pdGlhbGl6ZWQgdHdpY2UiLAotCQkJICAgIHN1Ym1vZHVsZSk7CisJaWYgKCFtYXAtPnRhYmxlc2l6ZSkKKwkJLyogSXQncyBpbml0aWFsaXplZCBvbiBkZW1hbmQgaW4gcmVnaXN0ZXJfcmVmX3N0b3JlKCkuICovCisJCXJldHVybiBOVUxMOwogCi0JCXJlZnMtPnN1Ym1vZHVsZSA9IHhzdHJkdXAoc3VibW9kdWxlKTsKLQkJcmVmcy0+bmV4dCA9IHN1Ym1vZHVsZV9yZWZfc3RvcmVzOwotCQlzdWJtb2R1bGVfcmVmX3N0b3JlcyA9IHJlZnM7Ci0JfQorCWVudHJ5ID0gaGFzaG1hcF9nZXRfZnJvbV9oYXNoKG1hcCwgc3RyaGFzaChuYW1lKSwgbmFtZSk7CisJcmV0dXJuIGVudHJ5ID8gZW50cnktPnJlZnMgOiBOVUxMOwogfQogCi1zdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmVfaW5pdChjb25zdCBjaGFyICpzdWJtb2R1bGUpCisvKgorICogQ3JlYXRlLCByZWNvcmQsIGFuZCByZXR1cm4gYSByZWZfc3RvcmUgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQKKyAqIGdpdGRpci4KKyAqLworc3RhdGljIHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZV9pbml0KGNvbnN0IGNoYXIgKmdpdGRpciwKKwkJCQkJdW5zaWduZWQgaW50IGZsYWdzKQogewogCWNvbnN0IGNoYXIgKmJlX25hbWUgPSAiZmlsZXMiOwogCXN0cnVjdCByZWZfc3RvcmFnZV9iZSAqYmUgPSBmaW5kX3JlZl9zdG9yYWdlX2JhY2tlbmQoYmVfbmFtZSk7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmczsKIAogCWlmICghYmUpCiAJCWRpZSgiQlVHOiByZWZlcmVuY2UgYmFja2VuZCAlcyBpcyB1bmtub3duIiwgYmVfbmFtZSk7CiAKLQlpZiAoIXN1Ym1vZHVsZSB8fCAhKnN1Ym1vZHVsZSkKLQkJcmV0dXJuIGJlLT5pbml0KE5VTEwpOwotCWVsc2UKLQkJcmV0dXJuIGJlLT5pbml0KHN1Ym1vZHVsZSk7CisJcmVmcyA9IGJlLT5pbml0KGdpdGRpciwgZmxhZ3MpOworCXJldHVybiByZWZzOwogfQogCi1zdHJ1Y3QgcmVmX3N0b3JlICpsb29rdXBfcmVmX3N0b3JlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSkKK3N0cnVjdCByZWZfc3RvcmUgKmdldF9tYWluX3JlZl9zdG9yZSh2b2lkKQogewotCXN0cnVjdCByZWZfc3RvcmUgKnJlZnM7Ci0KLQlpZiAoIXN1Ym1vZHVsZSB8fCAhKnN1Ym1vZHVsZSkKKwlpZiAobWFpbl9yZWZfc3RvcmUpCiAJCXJldHVybiBtYWluX3JlZl9zdG9yZTsKIAotCWZvciAocmVmcyA9IHN1Ym1vZHVsZV9yZWZfc3RvcmVzOyByZWZzOyByZWZzID0gcmVmcy0+bmV4dCkgewotCQlpZiAoIXN0cmNtcChzdWJtb2R1bGUsIHJlZnMtPnN1Ym1vZHVsZSkpCi0JCQlyZXR1cm4gcmVmczsKLQl9Ci0KLQlyZXR1cm4gTlVMTDsKKwltYWluX3JlZl9zdG9yZSA9IHJlZl9zdG9yZV9pbml0KGdldF9naXRfZGlyKCksIFJFRl9TVE9SRV9BTExfQ0FQUyk7CisJcmV0dXJuIG1haW5fcmVmX3N0b3JlOwogfQogCi1zdHJ1Y3QgcmVmX3N0b3JlICpnZXRfcmVmX3N0b3JlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSkKKy8qCisgKiBBc3NvY2lhdGUgYSByZWYgc3RvcmUgd2l0aCBhIG5hbWUuIEl0IGlzIGEgZmF0YWwgZXJyb3IgdG8gY2FsbCB0aGlzCisgKiBmdW5jdGlvbiB0d2ljZSBmb3IgdGhlIHNhbWUgbmFtZS4KKyAqLworc3RhdGljIHZvaWQgcmVnaXN0ZXJfcmVmX3N0b3JlX21hcChzdHJ1Y3QgaGFzaG1hcCAqbWFwLAorCQkJCSAgIGNvbnN0IGNoYXIgKnR5cGUsCisJCQkJICAgc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCQkgICBjb25zdCBjaGFyICpuYW1lKQogeworCWlmICghbWFwLT50YWJsZXNpemUpCisJCWhhc2htYXBfaW5pdChtYXAsIHJlZl9zdG9yZV9oYXNoX2NtcCwgTlVMTCwgMCk7CisKKwlpZiAoaGFzaG1hcF9wdXQobWFwLCBhbGxvY19yZWZfc3RvcmVfaGFzaF9lbnRyeShuYW1lLCByZWZzKSkpCisJCWRpZSgiQlVHOiAlcyByZWZfc3RvcmUgJyVzJyBpbml0aWFsaXplZCB0d2ljZSIsIHR5cGUsIG5hbWUpOworfQorCitzdHJ1Y3QgcmVmX3N0b3JlICpnZXRfc3VibW9kdWxlX3JlZl9zdG9yZShjb25zdCBjaGFyICpzdWJtb2R1bGUpCit7CisJc3RydWN0IHN0cmJ1ZiBzdWJtb2R1bGVfc2IgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzOworCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOworCXNpemVfdCBsZW47CiAKLQlpZiAoIXN1Ym1vZHVsZSB8fCAhKnN1Ym1vZHVsZSkgewotCQlyZWZzID0gbG9va3VwX3JlZl9zdG9yZShOVUxMKTsKKwlpZiAoIXN1Ym1vZHVsZSkKKwkJcmV0dXJuIE5VTEw7CiAKLQkJaWYgKCFyZWZzKQotCQkJcmVmcyA9IHJlZl9zdG9yZV9pbml0KE5VTEwpOwotCX0gZWxzZSB7Ci0JCXJlZnMgPSBsb29rdXBfcmVmX3N0b3JlKHN1Ym1vZHVsZSk7CisJbGVuID0gc3RybGVuKHN1Ym1vZHVsZSk7CisJd2hpbGUgKGxlbiAmJiBpc19kaXJfc2VwKHN1Ym1vZHVsZVtsZW4gLSAxXSkpCisJCWxlbi0tOworCWlmICghbGVuKQorCQlyZXR1cm4gTlVMTDsKIAotCQlpZiAoIXJlZnMpIHsKLQkJCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlX3NiID0gU1RSQlVGX0lOSVQ7CisJaWYgKHN1Ym1vZHVsZVtsZW5dKQorCQkvKiBXZSBuZWVkIHRvIHN0cmlwIG9mZiBvbmUgb3IgbW9yZSB0cmFpbGluZyBzbGFzaGVzICovCisJCXN1Ym1vZHVsZSA9IHRvX2ZyZWUgPSB4bWVtZHVweihzdWJtb2R1bGUsIGxlbik7CiAKLQkJCXN0cmJ1Zl9hZGRzdHIoJnN1Ym1vZHVsZV9zYiwgc3VibW9kdWxlKTsKLQkJCWlmIChpc19ub25iYXJlX3JlcG9zaXRvcnlfZGlyKCZzdWJtb2R1bGVfc2IpKQotCQkJCXJlZnMgPSByZWZfc3RvcmVfaW5pdChzdWJtb2R1bGUpOwotCQkJc3RyYnVmX3JlbGVhc2UoJnN1Ym1vZHVsZV9zYik7Ci0JCX0KLQl9CisJcmVmcyA9IGxvb2t1cF9yZWZfc3RvcmVfbWFwKCZzdWJtb2R1bGVfcmVmX3N0b3Jlcywgc3VibW9kdWxlKTsKKwlpZiAocmVmcykKKwkJZ290byBkb25lOworCisJc3RyYnVmX2FkZHN0cigmc3VibW9kdWxlX3NiLCBzdWJtb2R1bGUpOworCWlmICghaXNfbm9uYmFyZV9yZXBvc2l0b3J5X2Rpcigmc3VibW9kdWxlX3NiKSkKKwkJZ290byBkb25lOworCisJaWYgKHN1Ym1vZHVsZV90b19naXRkaXIoJnN1Ym1vZHVsZV9zYiwgc3VibW9kdWxlKSkKKwkJZ290byBkb25lOworCisJLyogYXNzdW1lIHRoYXQgYWRkX3N1Ym1vZHVsZV9vZGIoKSBoYXMgYmVlbiBjYWxsZWQgKi8KKwlyZWZzID0gcmVmX3N0b3JlX2luaXQoc3VibW9kdWxlX3NiLmJ1ZiwKKwkJCSAgICAgIFJFRl9TVE9SRV9SRUFEIHwgUkVGX1NUT1JFX09EQik7CisJcmVnaXN0ZXJfcmVmX3N0b3JlX21hcCgmc3VibW9kdWxlX3JlZl9zdG9yZXMsICJzdWJtb2R1bGUiLAorCQkJICAgICAgIHJlZnMsIHN1Ym1vZHVsZSk7CisKK2RvbmU6CisJc3RyYnVmX3JlbGVhc2UoJnN1Ym1vZHVsZV9zYik7CisJZnJlZSh0b19mcmVlKTsKIAogCXJldHVybiByZWZzOwogfQogCi12b2lkIGFzc2VydF9tYWluX3JlcG9zaXRvcnkoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqY2FsbGVyKQorc3RydWN0IHJlZl9zdG9yZSAqZ2V0X3dvcmt0cmVlX3JlZl9zdG9yZShjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0KQogewotCWlmICgqcmVmcy0+c3VibW9kdWxlKQotCQlkaWUoIkJVRzogJXMgY2FsbGVkIGZvciBhIHN1Ym1vZHVsZSIsIGNhbGxlcik7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmczsKKwljb25zdCBjaGFyICppZDsKKworCWlmICh3dC0+aXNfY3VycmVudCkKKwkJcmV0dXJuIGdldF9tYWluX3JlZl9zdG9yZSgpOworCisJaWQgPSB3dC0+aWQgPyB3dC0+aWQgOiAiLyI7CisJcmVmcyA9IGxvb2t1cF9yZWZfc3RvcmVfbWFwKCZ3b3JrdHJlZV9yZWZfc3RvcmVzLCBpZCk7CisJaWYgKHJlZnMpCisJCXJldHVybiByZWZzOworCisJaWYgKHd0LT5pZCkKKwkJcmVmcyA9IHJlZl9zdG9yZV9pbml0KGdpdF9jb21tb25fcGF0aCgid29ya3RyZWVzLyVzIiwgd3QtPmlkKSwKKwkJCQkgICAgICBSRUZfU1RPUkVfQUxMX0NBUFMpOworCWVsc2UKKwkJcmVmcyA9IHJlZl9zdG9yZV9pbml0KGdldF9naXRfY29tbW9uX2RpcigpLAorCQkJCSAgICAgIFJFRl9TVE9SRV9BTExfQ0FQUyk7CisKKwlpZiAocmVmcykKKwkJcmVnaXN0ZXJfcmVmX3N0b3JlX21hcCgmd29ya3RyZWVfcmVmX3N0b3JlcywgIndvcmt0cmVlIiwKKwkJCQkgICAgICAgcmVmcywgaWQpOworCXJldHVybiByZWZzOworfQorCit2b2lkIGJhc2VfcmVmX3N0b3JlX2luaXQoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCSBjb25zdCBzdHJ1Y3QgcmVmX3N0b3JhZ2VfYmUgKmJlKQoreworCXJlZnMtPmJlID0gYmU7CiB9CiAKIC8qIGJhY2tlbmQgZnVuY3Rpb25zICovCi1pbnQgcGFja19yZWZzKHVuc2lnbmVkIGludCBmbGFncykKK2ludCByZWZzX3BhY2tfcmVmcyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7Ci0Jc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7Ci0KIAlyZXR1cm4gcmVmcy0+YmUtPnBhY2tfcmVmcyhyZWZzLCBmbGFncyk7CiB9CiAKK2ludCByZWZzX3BlZWxfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCSAgdW5zaWduZWQgY2hhciAqc2hhMSkKK3sKKwlpbnQgZmxhZzsKKwl1bnNpZ25lZCBjaGFyIGJhc2VbMjBdOworCisJaWYgKGN1cnJlbnRfcmVmX2l0ZXIgJiYgY3VycmVudF9yZWZfaXRlci0+cmVmbmFtZSA9PSByZWZuYW1lKSB7CisJCXN0cnVjdCBvYmplY3RfaWQgcGVlbGVkOworCisJCWlmIChyZWZfaXRlcmF0b3JfcGVlbChjdXJyZW50X3JlZl9pdGVyLCAmcGVlbGVkKSkKKwkJCXJldHVybiAtMTsKKwkJaGFzaGNweShzaGExLCBwZWVsZWQuaGFzaCk7CisJCXJldHVybiAwOworCX0KKworCWlmIChyZWZzX3JlYWRfcmVmX2Z1bGwocmVmcywgcmVmbmFtZSwKKwkJCSAgICAgICBSRVNPTFZFX1JFRl9SRUFESU5HLCBiYXNlLCAmZmxhZykpCisJCXJldHVybiAtMTsKKworCXJldHVybiBwZWVsX29iamVjdChiYXNlLCBzaGExKTsKK30KKwogaW50IHBlZWxfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7Ci0Jc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisJcmV0dXJuIHJlZnNfcGVlbF9yZWYoZ2V0X21haW5fcmVmX3N0b3JlKCksIHJlZm5hbWUsIHNoYTEpOworfQogCi0JcmV0dXJuIHJlZnMtPmJlLT5wZWVsX3JlZihyZWZzLCByZWZuYW1lLCBzaGExKTsKK2ludCByZWZzX2NyZWF0ZV9zeW1yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJICAgICAgIGNvbnN0IGNoYXIgKnJlZl90YXJnZXQsCisJCSAgICAgICBjb25zdCBjaGFyICpyZWZzX2hlYWRzX21hc3RlciwKKwkJICAgICAgIGNvbnN0IGNoYXIgKmxvZ21zZykKK3sKKwlyZXR1cm4gcmVmcy0+YmUtPmNyZWF0ZV9zeW1yZWYocmVmcywgcmVmX3RhcmdldCwKKwkJCQkgICAgICAgcmVmc19oZWFkc19tYXN0ZXIsCisJCQkJICAgICAgIGxvZ21zZyk7CiB9CiAKIGludCBjcmVhdGVfc3ltcmVmKGNvbnN0IGNoYXIgKnJlZl90YXJnZXQsIGNvbnN0IGNoYXIgKnJlZnNfaGVhZHNfbWFzdGVyLAogCQkgIGNvbnN0IGNoYXIgKmxvZ21zZykKIHsKLQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gZ2V0X3JlZl9zdG9yZShOVUxMKTsKKwlyZXR1cm4gcmVmc19jcmVhdGVfc3ltcmVmKGdldF9tYWluX3JlZl9zdG9yZSgpLCByZWZfdGFyZ2V0LAorCQkJCSAgcmVmc19oZWFkc19tYXN0ZXIsIGxvZ21zZyk7Cit9CiAKLQlyZXR1cm4gcmVmcy0+YmUtPmNyZWF0ZV9zeW1yZWYocmVmcywgcmVmX3RhcmdldCwgcmVmc19oZWFkc19tYXN0ZXIsCi0JCQkJICAgICAgIGxvZ21zZyk7CitpbnQgcmVmX3VwZGF0ZV9yZWplY3RfZHVwbGljYXRlcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZm5hbWVzLAorCQkJCSBzdHJ1Y3Qgc3RyYnVmICplcnIpCit7CisJc2l6ZV90IGksIG4gPSByZWZuYW1lcy0+bnI7CisKKwlhc3NlcnQoZXJyKTsKKworCWZvciAoaSA9IDE7IGkgPCBuOyBpKyspIHsKKwkJaW50IGNtcCA9IHN0cmNtcChyZWZuYW1lcy0+aXRlbXNbaSAtIDFdLnN0cmluZywKKwkJCQkgcmVmbmFtZXMtPml0ZW1zW2ldLnN0cmluZyk7CisKKwkJaWYgKCFjbXApIHsKKwkJCXN0cmJ1Zl9hZGRmKGVyciwKKwkJCQkgICAgIm11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnJXMnIG5vdCBhbGxvd2VkLiIsCisJCQkJICAgIHJlZm5hbWVzLT5pdGVtc1tpXS5zdHJpbmcpOworCQkJcmV0dXJuIDE7CisJCX0gZWxzZSBpZiAoY21wID4gMCkgeworCQkJZGllKCJCVUc6IHJlZl91cGRhdGVfcmVqZWN0X2R1cGxpY2F0ZXMoKSByZWNlaXZlZCB1bnNvcnRlZCBsaXN0Iik7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCByZWZfdHJhbnNhY3Rpb25fcHJlcGFyZShzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbiwKKwkJCSAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IHRyYW5zYWN0aW9uLT5yZWZfc3RvcmU7CisKKwlzd2l0Y2ggKHRyYW5zYWN0aW9uLT5zdGF0ZSkgeworCWNhc2UgUkVGX1RSQU5TQUNUSU9OX09QRU46CisJCS8qIEdvb2QuICovCisJCWJyZWFrOworCWNhc2UgUkVGX1RSQU5TQUNUSU9OX1BSRVBBUkVEOgorCQlkaWUoIkJVRzogcHJlcGFyZSBjYWxsZWQgdHdpY2Ugb24gcmVmZXJlbmNlIHRyYW5zYWN0aW9uIik7CisJCWJyZWFrOworCWNhc2UgUkVGX1RSQU5TQUNUSU9OX0NMT1NFRDoKKwkJZGllKCJCVUc6IHByZXBhcmUgY2FsbGVkIG9uIGEgY2xvc2VkIHJlZmVyZW5jZSB0cmFuc2FjdGlvbiIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlkaWUoIkJVRzogdW5leHBlY3RlZCByZWZlcmVuY2UgdHJhbnNhY3Rpb24gc3RhdGUiKTsKKwkJYnJlYWs7CisJfQorCisJaWYgKGdldGVudihHSVRfUVVBUkFOVElORV9FTlZJUk9OTUVOVCkpIHsKKwkJc3RyYnVmX2FkZHN0cihlcnIsCisJCQkgICAgICBfKCJyZWYgdXBkYXRlcyBmb3JiaWRkZW4gaW5zaWRlIHF1YXJhbnRpbmUgZW52aXJvbm1lbnQiKSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlyZXR1cm4gcmVmcy0+YmUtPnRyYW5zYWN0aW9uX3ByZXBhcmUocmVmcywgdHJhbnNhY3Rpb24sIGVycik7Cit9CisKK2ludCByZWZfdHJhbnNhY3Rpb25fYWJvcnQoc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkgIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gdHJhbnNhY3Rpb24tPnJlZl9zdG9yZTsKKwlpbnQgcmV0ID0gMDsKKworCXN3aXRjaCAodHJhbnNhY3Rpb24tPnN0YXRlKSB7CisJY2FzZSBSRUZfVFJBTlNBQ1RJT05fT1BFTjoKKwkJLyogTm8gbmVlZCB0byBhYm9ydCBleHBsaWNpdGx5LiAqLworCQlicmVhazsKKwljYXNlIFJFRl9UUkFOU0FDVElPTl9QUkVQQVJFRDoKKwkJcmV0ID0gcmVmcy0+YmUtPnRyYW5zYWN0aW9uX2Fib3J0KHJlZnMsIHRyYW5zYWN0aW9uLCBlcnIpOworCQlicmVhazsKKwljYXNlIFJFRl9UUkFOU0FDVElPTl9DTE9TRUQ6CisJCWRpZSgiQlVHOiBhYm9ydCBjYWxsZWQgb24gYSBjbG9zZWQgcmVmZXJlbmNlIHRyYW5zYWN0aW9uIik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRpZSgiQlVHOiB1bmV4cGVjdGVkIHJlZmVyZW5jZSB0cmFuc2FjdGlvbiBzdGF0ZSIpOworCQlicmVhazsKKwl9CisKKwlyZWZfdHJhbnNhY3Rpb25fZnJlZSh0cmFuc2FjdGlvbik7CisJcmV0dXJuIHJldDsKIH0KIAogaW50IHJlZl90cmFuc2FjdGlvbl9jb21taXQoc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCiAJCQkgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCiB7Ci0Jc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IHRyYW5zYWN0aW9uLT5yZWZfc3RvcmU7CisJaW50IHJldDsKIAotCXJldHVybiByZWZzLT5iZS0+dHJhbnNhY3Rpb25fY29tbWl0KHJlZnMsIHRyYW5zYWN0aW9uLCBlcnIpOworCXN3aXRjaCAodHJhbnNhY3Rpb24tPnN0YXRlKSB7CisJY2FzZSBSRUZfVFJBTlNBQ1RJT05fT1BFTjoKKwkJLyogTmVlZCB0byBwcmVwYXJlIGZpcnN0LiAqLworCQlyZXQgPSByZWZfdHJhbnNhY3Rpb25fcHJlcGFyZSh0cmFuc2FjdGlvbiwgZXJyKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJCWJyZWFrOworCWNhc2UgUkVGX1RSQU5TQUNUSU9OX1BSRVBBUkVEOgorCQkvKiBGYWxsIHRocm91Z2ggdG8gZmluaXNoLiAqLworCQlicmVhazsKKwljYXNlIFJFRl9UUkFOU0FDVElPTl9DTE9TRUQ6CisJCWRpZSgiQlVHOiBjb21taXQgY2FsbGVkIG9uIGEgY2xvc2VkIHJlZmVyZW5jZSB0cmFuc2FjdGlvbiIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlkaWUoIkJVRzogdW5leHBlY3RlZCByZWZlcmVuY2UgdHJhbnNhY3Rpb24gc3RhdGUiKTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJlZnMtPmJlLT50cmFuc2FjdGlvbl9maW5pc2gocmVmcywgdHJhbnNhY3Rpb24sIGVycik7CiB9CiAKLWludCB2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUoY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJCSAgICAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpleHRyYSwKLQkJCSAgICAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpza2lwLAotCQkJICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCitpbnQgcmVmc192ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCQkgIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmV4dHJhcywKKwkJCQkgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcCwKKwkJCQkgIHN0cnVjdCBzdHJidWYgKmVycikKIHsKLQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gZ2V0X3JlZl9zdG9yZShOVUxMKTsKKwljb25zdCBjaGFyICpzbGFzaDsKKwljb25zdCBjaGFyICpleHRyYV9yZWZuYW1lOworCXN0cnVjdCBzdHJidWYgZGlybmFtZSA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgcmVmZXJlbnQgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwl1bnNpZ25lZCBpbnQgdHlwZTsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyOworCWludCBvazsKKwlpbnQgcmV0ID0gLTE7CiAKLQlyZXR1cm4gcmVmcy0+YmUtPnZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZShyZWZzLCByZWZuYW1lLCBleHRyYSwgc2tpcCwgZXJyKTsKKwkvKgorCSAqIEZvciB0aGUgc2FrZSBvZiBjb21tZW50cyBpbiB0aGlzIGZ1bmN0aW9uLCBzdXBwb3NlIHRoYXQKKwkgKiByZWZuYW1lIGlzICJyZWZzL2Zvby9iYXIiLgorCSAqLworCisJYXNzZXJ0KGVycik7CisKKwlzdHJidWZfZ3JvdygmZGlybmFtZSwgc3RybGVuKHJlZm5hbWUpICsgMSk7CisJZm9yIChzbGFzaCA9IHN0cmNocihyZWZuYW1lLCAnLycpOyBzbGFzaDsgc2xhc2ggPSBzdHJjaHIoc2xhc2ggKyAxLCAnLycpKSB7CisJCS8qIEV4cGFuZCBkaXJuYW1lIHRvIHRoZSBuZXcgcHJlZml4LCBub3QgaW5jbHVkaW5nIHRoZSB0cmFpbGluZyBzbGFzaDogKi8KKwkJc3RyYnVmX2FkZCgmZGlybmFtZSwgcmVmbmFtZSArIGRpcm5hbWUubGVuLCBzbGFzaCAtIHJlZm5hbWUgLSBkaXJuYW1lLmxlbik7CisKKwkJLyoKKwkJICogV2UgYXJlIHN0aWxsIGF0IGEgbGVhZGluZyBkaXIgb2YgdGhlIHJlZm5hbWUgKGUuZy4sCisJCSAqICJyZWZzL2ZvbyI7IGlmIHRoZXJlIGlzIGEgcmVmZXJlbmNlIHdpdGggdGhhdCBuYW1lLAorCQkgKiBpdCBpcyBhIGNvbmZsaWN0LCAqdW5sZXNzKiBpdCBpcyBpbiBza2lwLgorCQkgKi8KKwkJaWYgKHNraXAgJiYgc3RyaW5nX2xpc3RfaGFzX3N0cmluZyhza2lwLCBkaXJuYW1lLmJ1ZikpCisJCQljb250aW51ZTsKKworCQlpZiAoIXJlZnNfcmVhZF9yYXdfcmVmKHJlZnMsIGRpcm5hbWUuYnVmLCBvaWQuaGFzaCwgJnJlZmVyZW50LCAmdHlwZSkpIHsKKwkJCXN0cmJ1Zl9hZGRmKGVyciwgIiclcycgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICclcyciLAorCQkJCSAgICBkaXJuYW1lLmJ1ZiwgcmVmbmFtZSk7CisJCQlnb3RvIGNsZWFudXA7CisJCX0KKworCQlpZiAoZXh0cmFzICYmIHN0cmluZ19saXN0X2hhc19zdHJpbmcoZXh0cmFzLCBkaXJuYW1lLmJ1ZikpIHsKKwkJCXN0cmJ1Zl9hZGRmKGVyciwgImNhbm5vdCBwcm9jZXNzICclcycgYW5kICclcycgYXQgdGhlIHNhbWUgdGltZSIsCisJCQkJICAgIHJlZm5hbWUsIGRpcm5hbWUuYnVmKTsKKwkJCWdvdG8gY2xlYW51cDsKKwkJfQorCX0KKworCS8qCisJICogV2UgYXJlIGF0IHRoZSBsZWFmIG9mIG91ciByZWZuYW1lIChlLmcuLCAicmVmcy9mb28vYmFyIikuCisJICogVGhlcmUgaXMgbm8gcG9pbnQgaW4gc2VhcmNoaW5nIGZvciBhIHJlZmVyZW5jZSB3aXRoIHRoYXQKKwkgKiBuYW1lLCBiZWNhdXNlIGEgcmVmbmFtZSBpc24ndCBjb25zaWRlcmVkIHRvIGNvbmZsaWN0IHdpdGgKKwkgKiBpdHNlbGYuIEJ1dCB3ZSBzdGlsbCBuZWVkIHRvIGNoZWNrIGZvciByZWZlcmVuY2VzIHdob3NlCisJICogbmFtZXMgYXJlIGluIHRoZSAicmVmcy9mb28vYmFyLyIgbmFtZXNwYWNlLCBiZWNhdXNlIHRoZXkKKwkgKiAqZG8qIGNvbmZsaWN0LgorCSAqLworCXN0cmJ1Zl9hZGRzdHIoJmRpcm5hbWUsIHJlZm5hbWUgKyBkaXJuYW1lLmxlbik7CisJc3RyYnVmX2FkZGNoKCZkaXJuYW1lLCAnLycpOworCisJaXRlciA9IHJlZnNfcmVmX2l0ZXJhdG9yX2JlZ2luKHJlZnMsIGRpcm5hbWUuYnVmLCAwLAorCQkJCSAgICAgICBET19GT1JfRUFDSF9JTkNMVURFX0JST0tFTik7CisJd2hpbGUgKChvayA9IHJlZl9pdGVyYXRvcl9hZHZhbmNlKGl0ZXIpKSA9PSBJVEVSX09LKSB7CisJCWlmIChza2lwICYmCisJCSAgICBzdHJpbmdfbGlzdF9oYXNfc3RyaW5nKHNraXAsIGl0ZXItPnJlZm5hbWUpKQorCQkJY29udGludWU7CisKKwkJc3RyYnVmX2FkZGYoZXJyLCAiJyVzJyBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJyVzJyIsCisJCQkgICAgaXRlci0+cmVmbmFtZSwgcmVmbmFtZSk7CisJCXJlZl9pdGVyYXRvcl9hYm9ydChpdGVyKTsKKwkJZ290byBjbGVhbnVwOworCX0KKworCWlmIChvayAhPSBJVEVSX0RPTkUpCisJCWRpZSgiQlVHOiBlcnJvciB3aGlsZSBpdGVyYXRpbmcgb3ZlciByZWZlcmVuY2VzIik7CisKKwlleHRyYV9yZWZuYW1lID0gZmluZF9kZXNjZW5kYW50X3JlZihkaXJuYW1lLmJ1ZiwgZXh0cmFzLCBza2lwKTsKKwlpZiAoZXh0cmFfcmVmbmFtZSkKKwkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIiwKKwkJCSAgICByZWZuYW1lLCBleHRyYV9yZWZuYW1lKTsKKwllbHNlCisJCXJldCA9IDA7CisKK2NsZWFudXA6CisJc3RyYnVmX3JlbGVhc2UoJnJlZmVyZW50KTsKKwlzdHJidWZfcmVsZWFzZSgmZGlybmFtZSk7CisJcmV0dXJuIHJldDsKIH0KIAotaW50IGZvcl9lYWNoX3JlZmxvZyhlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK2ludCByZWZzX2Zvcl9lYWNoX3JlZmxvZyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKLQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gZ2V0X3JlZl9zdG9yZShOVUxMKTsKIAlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyOwogCiAJaXRlciA9IHJlZnMtPmJlLT5yZWZsb2dfaXRlcmF0b3JfYmVnaW4ocmVmcyk7CkBAIC0xNDk4LDQzICsxOTMzLDg0IEBACiAJcmV0dXJuIGRvX2Zvcl9lYWNoX3JlZl9pdGVyYXRvcihpdGVyLCBmbiwgY2JfZGF0YSk7CiB9CiAKK2ludCBmb3JfZWFjaF9yZWZsb2coZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCit7CisJcmV0dXJuIHJlZnNfZm9yX2VhY2hfcmVmbG9nKGdldF9tYWluX3JlZl9zdG9yZSgpLCBmbiwgY2JfZGF0YSk7Cit9CisKK2ludCByZWZzX2Zvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLAorCQkJCSAgICAgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCQkgICAgIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwKKwkJCQkgICAgIHZvaWQgKmNiX2RhdGEpCit7CisJcmV0dXJuIHJlZnMtPmJlLT5mb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2UocmVmcywgcmVmbmFtZSwKKwkJCQkJCSAgICAgZm4sIGNiX2RhdGEpOworfQorCiBpbnQgZm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwKIAkJCQl2b2lkICpjYl9kYXRhKQogewotCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCXJldHVybiByZWZzX2Zvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZShnZXRfbWFpbl9yZWZfc3RvcmUoKSwKKwkJCQkJCXJlZm5hbWUsIGZuLCBjYl9kYXRhKTsKK30KIAotCXJldHVybiByZWZzLT5iZS0+Zm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlKHJlZnMsIHJlZm5hbWUsCi0JCQkJCQkgICAgIGZuLCBjYl9kYXRhKTsKK2ludCByZWZzX2Zvcl9lYWNoX3JlZmxvZ19lbnQoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCSAgICAgZWFjaF9yZWZsb2dfZW50X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQoreworCXJldHVybiByZWZzLT5iZS0+Zm9yX2VhY2hfcmVmbG9nX2VudChyZWZzLCByZWZuYW1lLCBmbiwgY2JfZGF0YSk7CiB9CiAKIGludCBmb3JfZWFjaF9yZWZsb2dfZW50KGNvbnN0IGNoYXIgKnJlZm5hbWUsIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwKIAkJCXZvaWQgKmNiX2RhdGEpCiB7Ci0Jc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisJcmV0dXJuIHJlZnNfZm9yX2VhY2hfcmVmbG9nX2VudChnZXRfbWFpbl9yZWZfc3RvcmUoKSwgcmVmbmFtZSwKKwkJCQkJZm4sIGNiX2RhdGEpOworfQogCi0JcmV0dXJuIHJlZnMtPmJlLT5mb3JfZWFjaF9yZWZsb2dfZW50KHJlZnMsIHJlZm5hbWUsIGZuLCBjYl9kYXRhKTsKK2ludCByZWZzX3JlZmxvZ19leGlzdHMoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqcmVmbmFtZSkKK3sKKwlyZXR1cm4gcmVmcy0+YmUtPnJlZmxvZ19leGlzdHMocmVmcywgcmVmbmFtZSk7CiB9CiAKIGludCByZWZsb2dfZXhpc3RzKGNvbnN0IGNoYXIgKnJlZm5hbWUpCiB7Ci0Jc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisJcmV0dXJuIHJlZnNfcmVmbG9nX2V4aXN0cyhnZXRfbWFpbl9yZWZfc3RvcmUoKSwgcmVmbmFtZSk7Cit9CiAKLQlyZXR1cm4gcmVmcy0+YmUtPnJlZmxvZ19leGlzdHMocmVmcywgcmVmbmFtZSk7CitpbnQgcmVmc19jcmVhdGVfcmVmbG9nKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCSAgICAgICBpbnQgZm9yY2VfY3JlYXRlLCBzdHJ1Y3Qgc3RyYnVmICplcnIpCit7CisJcmV0dXJuIHJlZnMtPmJlLT5jcmVhdGVfcmVmbG9nKHJlZnMsIHJlZm5hbWUsIGZvcmNlX2NyZWF0ZSwgZXJyKTsKIH0KIAogaW50IHNhZmVfY3JlYXRlX3JlZmxvZyhjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgZm9yY2VfY3JlYXRlLAogCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewotCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCXJldHVybiByZWZzX2NyZWF0ZV9yZWZsb2coZ2V0X21haW5fcmVmX3N0b3JlKCksIHJlZm5hbWUsCisJCQkJICBmb3JjZV9jcmVhdGUsIGVycik7Cit9CiAKLQlyZXR1cm4gcmVmcy0+YmUtPmNyZWF0ZV9yZWZsb2cocmVmcywgcmVmbmFtZSwgZm9yY2VfY3JlYXRlLCBlcnIpOworaW50IHJlZnNfZGVsZXRlX3JlZmxvZyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpyZWZuYW1lKQoreworCXJldHVybiByZWZzLT5iZS0+ZGVsZXRlX3JlZmxvZyhyZWZzLCByZWZuYW1lKTsKIH0KIAogaW50IGRlbGV0ZV9yZWZsb2coY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKLQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gZ2V0X3JlZl9zdG9yZShOVUxMKTsKKwlyZXR1cm4gcmVmc19kZWxldGVfcmVmbG9nKGdldF9tYWluX3JlZl9zdG9yZSgpLCByZWZuYW1lKTsKK30KIAotCXJldHVybiByZWZzLT5iZS0+ZGVsZXRlX3JlZmxvZyhyZWZzLCByZWZuYW1lKTsKK2ludCByZWZzX3JlZmxvZ19leHBpcmUoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJICAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCSAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsCisJCSAgICAgICByZWZsb2dfZXhwaXJ5X3ByZXBhcmVfZm4gcHJlcGFyZV9mbiwKKwkJICAgICAgIHJlZmxvZ19leHBpcnlfc2hvdWxkX3BydW5lX2ZuIHNob3VsZF9wcnVuZV9mbiwKKwkJICAgICAgIHJlZmxvZ19leHBpcnlfY2xlYW51cF9mbiBjbGVhbnVwX2ZuLAorCQkgICAgICAgdm9pZCAqcG9saWN5X2NiX2RhdGEpCit7CisJcmV0dXJuIHJlZnMtPmJlLT5yZWZsb2dfZXhwaXJlKHJlZnMsIHJlZm5hbWUsIHNoYTEsIGZsYWdzLAorCQkJCSAgICAgICBwcmVwYXJlX2ZuLCBzaG91bGRfcHJ1bmVfZm4sCisJCQkJICAgICAgIGNsZWFudXBfZm4sIHBvbGljeV9jYl9kYXRhKTsKIH0KIAogaW50IHJlZmxvZ19leHBpcmUoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKQEAgLTE1NDQsMzEgKzIwMjAsNTAgQEAKIAkJICByZWZsb2dfZXhwaXJ5X2NsZWFudXBfZm4gY2xlYW51cF9mbiwKIAkJICB2b2lkICpwb2xpY3lfY2JfZGF0YSkKIHsKLQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gZ2V0X3JlZl9zdG9yZShOVUxMKTsKLQotCXJldHVybiByZWZzLT5iZS0+cmVmbG9nX2V4cGlyZShyZWZzLCByZWZuYW1lLCBzaGExLCBmbGFncywKLQkJCQkgICAgICAgcHJlcGFyZV9mbiwgc2hvdWxkX3BydW5lX2ZuLAotCQkJCSAgICAgICBjbGVhbnVwX2ZuLCBwb2xpY3lfY2JfZGF0YSk7CisJcmV0dXJuIHJlZnNfcmVmbG9nX2V4cGlyZShnZXRfbWFpbl9yZWZfc3RvcmUoKSwKKwkJCQkgIHJlZm5hbWUsIHNoYTEsIGZsYWdzLAorCQkJCSAgcHJlcGFyZV9mbiwgc2hvdWxkX3BydW5lX2ZuLAorCQkJCSAgY2xlYW51cF9mbiwgcG9saWN5X2NiX2RhdGEpOwogfQogCiBpbnQgaW5pdGlhbF9yZWZfdHJhbnNhY3Rpb25fY29tbWl0KHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAogCQkJCSAgIHN0cnVjdCBzdHJidWYgKmVycikKIHsKLQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gZ2V0X3JlZl9zdG9yZShOVUxMKTsKKwlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gdHJhbnNhY3Rpb24tPnJlZl9zdG9yZTsKIAogCXJldHVybiByZWZzLT5iZS0+aW5pdGlhbF90cmFuc2FjdGlvbl9jb21taXQocmVmcywgdHJhbnNhY3Rpb24sIGVycik7CiB9CiAKLWludCBkZWxldGVfcmVmcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZm5hbWVzLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCitpbnQgcmVmc19kZWxldGVfcmVmcyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICptc2csCisJCSAgICAgc3RydWN0IHN0cmluZ19saXN0ICpyZWZuYW1lcywgdW5zaWduZWQgaW50IGZsYWdzKQogewotCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCXJldHVybiByZWZzLT5iZS0+ZGVsZXRlX3JlZnMocmVmcywgbXNnLCByZWZuYW1lcywgZmxhZ3MpOworfQogCi0JcmV0dXJuIHJlZnMtPmJlLT5kZWxldGVfcmVmcyhyZWZzLCByZWZuYW1lcywgZmxhZ3MpOworaW50IGRlbGV0ZV9yZWZzKGNvbnN0IGNoYXIgKm1zZywgc3RydWN0IHN0cmluZ19saXN0ICpyZWZuYW1lcywKKwkJdW5zaWduZWQgaW50IGZsYWdzKQoreworCXJldHVybiByZWZzX2RlbGV0ZV9yZWZzKGdldF9tYWluX3JlZl9zdG9yZSgpLCBtc2csIHJlZm5hbWVzLCBmbGFncyk7Cit9CisKK2ludCByZWZzX3JlbmFtZV9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqb2xkcmVmLAorCQkgICAgY29uc3QgY2hhciAqbmV3cmVmLCBjb25zdCBjaGFyICpsb2dtc2cpCit7CisJcmV0dXJuIHJlZnMtPmJlLT5yZW5hbWVfcmVmKHJlZnMsIG9sZHJlZiwgbmV3cmVmLCBsb2dtc2cpOwogfQogCiBpbnQgcmVuYW1lX3JlZihjb25zdCBjaGFyICpvbGRyZWYsIGNvbnN0IGNoYXIgKm5ld3JlZiwgY29uc3QgY2hhciAqbG9nbXNnKQogewotCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCXJldHVybiByZWZzX3JlbmFtZV9yZWYoZ2V0X21haW5fcmVmX3N0b3JlKCksIG9sZHJlZiwgbmV3cmVmLCBsb2dtc2cpOworfQogCi0JcmV0dXJuIHJlZnMtPmJlLT5yZW5hbWVfcmVmKHJlZnMsIG9sZHJlZiwgbmV3cmVmLCBsb2dtc2cpOworaW50IHJlZnNfY29weV9leGlzdGluZ19yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqb2xkcmVmLAorCQkgICAgY29uc3QgY2hhciAqbmV3cmVmLCBjb25zdCBjaGFyICpsb2dtc2cpCit7CisJcmV0dXJuIHJlZnMtPmJlLT5jb3B5X3JlZihyZWZzLCBvbGRyZWYsIG5ld3JlZiwgbG9nbXNnKTsKK30KKworaW50IGNvcHlfZXhpc3RpbmdfcmVmKGNvbnN0IGNoYXIgKm9sZHJlZiwgY29uc3QgY2hhciAqbmV3cmVmLCBjb25zdCBjaGFyICpsb2dtc2cpCit7CisJcmV0dXJuIHJlZnNfY29weV9leGlzdGluZ19yZWYoZ2V0X21haW5fcmVmX3N0b3JlKCksIG9sZHJlZiwgbmV3cmVmLCBsb2dtc2cpOwogfQpkaWZmIC0tZ2l0IGEvcmVmcy5oIGIvcmVmcy5oCmluZGV4IDlmYmZmOTAuLmEwMmI2MjggMTAwNjQ0Ci0tLSBhL3JlZnMuaAorKysgYi9yZWZzLmgKQEAgLTEsMTMgKzEsMjAgQEAKICNpZm5kZWYgUkVGU19ICiAjZGVmaW5lIFJFRlNfSAogCitzdHJ1Y3Qgb2JqZWN0X2lkOworc3RydWN0IHJlZl9zdG9yZTsKK3N0cnVjdCBzdHJidWY7CitzdHJ1Y3Qgc3RyaW5nX2xpc3Q7CitzdHJ1Y3Qgd29ya3RyZWU7CisKIC8qCiAgKiBSZXNvbHZlIGEgcmVmZXJlbmNlLCByZWN1cnNpdmVseSBmb2xsb3dpbmcgc3ltYm9saWMgcmVmZXJlcmVuY2VzLgogICoKLSAqIFN0b3JlIHRoZSByZWZlcnJlZC10byBvYmplY3QncyBuYW1lIGluIHNoYTEgYW5kIHJldHVybiB0aGUgbmFtZSBvZgotICogdGhlIG5vbi1zeW1ib2xpYyByZWZlcmVuY2UgdGhhdCB1bHRpbWF0ZWx5IHBvaW50ZWQgYXQgaXQuICBUaGUKLSAqIHJldHVybiB2YWx1ZSwgaWYgbm90IE5VTEwsIGlzIGEgcG9pbnRlciBpbnRvIGVpdGhlciBhIHN0YXRpYyBidWZmZXIKLSAqIG9yIHRoZSBpbnB1dCByZWYuCisgKiBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIG5vbi1zeW1ib2xpYyByZWZlcmVuY2UgdGhhdCB1bHRpbWF0ZWx5IHBvaW50ZWQKKyAqIGF0IHRoZSByZXNvbHZlZCBvYmplY3QgbmFtZS4gIFRoZSByZXR1cm4gdmFsdWUsIGlmIG5vdCBOVUxMLCBpcyBhCisgKiBwb2ludGVyIGludG8gZWl0aGVyIGEgc3RhdGljIGJ1ZmZlciBvciB0aGUgaW5wdXQgcmVmLgorICoKKyAqIElmIHNoYTEgaXMgbm9uLU5VTEwsIHN0b3JlIHRoZSByZWZlcnJlZC10byBvYmplY3QncyBuYW1lIGluIGl0LgogICoKICAqIElmIHRoZSByZWZlcmVuY2UgY2Fubm90IGJlIHJlc29sdmVkIHRvIGFuIG9iamVjdCwgdGhlIGJlaGF2aW9yCiAgKiBkZXBlbmRzIG9uIHRoZSBSRVNPTFZFX1JFRl9SRUFESU5HIGZsYWc6CkBAIC01MiwxNiArNTksNTAgQEAKICNkZWZpbmUgUkVTT0xWRV9SRUZfTk9fUkVDVVJTRSAweDAyCiAjZGVmaW5lIFJFU09MVkVfUkVGX0FMTE9XX0JBRF9OQU1FIDB4MDQKIAorY29uc3QgY2hhciAqcmVmc19yZXNvbHZlX3JlZl91bnNhZmUoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCQkgICAgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCQkgICAgaW50IHJlc29sdmVfZmxhZ3MsCisJCQkJICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCQkJICAgIGludCAqZmxhZ3MpOwogY29uc3QgY2hhciAqcmVzb2x2ZV9yZWZfdW5zYWZlKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCByZXNvbHZlX2ZsYWdzLAogCQkJICAgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCAqZmxhZ3MpOwogCitjaGFyICpyZWZzX3Jlc29sdmVfcmVmZHVwKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCByZXNvbHZlX2ZsYWdzLAorCQkJICB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgKmZsYWdzKTsKIGNoYXIgKnJlc29sdmVfcmVmZHVwKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCByZXNvbHZlX2ZsYWdzLAogCQkgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCAqZmxhZ3MpOwogCitpbnQgcmVmc19yZWFkX3JlZl9mdWxsKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCSAgICAgICBpbnQgcmVzb2x2ZV9mbGFncywgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50ICpmbGFncyk7CiBpbnQgcmVhZF9yZWZfZnVsbChjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgcmVzb2x2ZV9mbGFncywKIAkJICB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgKmZsYWdzKTsKIGludCByZWFkX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExKTsKIAorLyoKKyAqIFJldHVybiAwIGlmIGEgcmVmZXJlbmNlIG5hbWVkIHJlZm5hbWUgY291bGQgYmUgY3JlYXRlZCB3aXRob3V0CisgKiBjb25mbGljdGluZyB3aXRoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIHJlZmVyZW5jZS4gT3RoZXJ3aXNlLAorICogcmV0dXJuIGEgbmVnYXRpdmUgdmFsdWUgYW5kIHdyaXRlIGFuIGV4cGxhbmF0aW9uIHRvIGVyci4gSWYgZXh0cmFzCisgKiBpcyBub24tTlVMTCwgaXQgaXMgYSBsaXN0IG9mIGFkZGl0aW9uYWwgcmVmbmFtZXMgd2l0aCB3aGljaCByZWZuYW1lCisgKiBpcyBub3QgYWxsb3dlZCB0byBjb25mbGljdC4gSWYgc2tpcCBpcyBub24tTlVMTCwgaWdub3JlIHBvdGVudGlhbAorICogY29uZmxpY3RzIHdpdGggcmVmcyBpbiBza2lwIChlLmcuLCBiZWNhdXNlIHRoZXkgYXJlIHNjaGVkdWxlZCBmb3IKKyAqIGRlbGV0aW9uIGluIHRoZSBzYW1lIG9wZXJhdGlvbikuIEJlaGF2aW9yIGlzIHVuZGVmaW5lZCBpZiB0aGUgc2FtZQorICogbmFtZSBpcyBsaXN0ZWQgaW4gYm90aCBleHRyYXMgYW5kIHNraXAuCisgKgorICogVHdvIHJlZmVyZW5jZSBuYW1lcyBjb25mbGljdCBpZiBvbmUgb2YgdGhlbSBleGFjdGx5IG1hdGNoZXMgdGhlCisgKiBsZWFkaW5nIGNvbXBvbmVudHMgb2YgdGhlIG90aGVyOyBlLmcuLCAiZm9vL2JhciIgY29uZmxpY3RzIHdpdGgKKyAqIGJvdGggImZvbyIgYW5kIHdpdGggImZvby9iYXIvYmF6IiBidXQgbm90IHdpdGggImZvby9iYXIiIG9yCisgKiAiZm9vL2JhcmJhZG9zIi4KKyAqCisgKiBleHRyYXMgYW5kIHNraXAgbXVzdCBiZSBzb3J0ZWQuCisgKi8KKworaW50IHJlZnNfdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkJICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCSAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpleHRyYXMsCisJCQkJICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnNraXAsCisJCQkJICBzdHJ1Y3Qgc3RyYnVmICplcnIpOworCiBpbnQgcmVmX2V4aXN0cyhjb25zdCBjaGFyICpyZWZuYW1lKTsKIAogaW50IHNob3VsZF9hdXRvY3JlYXRlX3JlZmxvZyhjb25zdCBjaGFyICpyZWZuYW1lKTsKQEAgLTc4LDYgKzExOSw4IEBACiAgKiBTeW1ib2xpYyByZWZlcmVuY2VzIGFyZSBjb25zaWRlcmVkIHVucGVlbGFibGUsIGV2ZW4gaWYgdGhleQogICogdWx0aW1hdGVseSByZXNvbHZlIHRvIGEgcGVlbGFibGUgdGFnLgogICovCitpbnQgcmVmc19wZWVsX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkgIHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogaW50IHBlZWxfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogCiAvKioKQEAgLTEwMSwzMCArMTQ0LDcxIEBACiBpbnQgZHdpbV9sb2coY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExLCBjaGFyICoqcmVmKTsKIAogLyoKLSAqIEEgcmVmX3RyYW5zYWN0aW9uIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIHJlZiB1cGRhdGVzCi0gKiB0aGF0IHNob3VsZCBzdWNjZWVkIG9yIGZhaWwgdG9nZXRoZXIuCisgKiBBIHJlZl90cmFuc2FjdGlvbiByZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiByZWZlcmVuY2UgdXBkYXRlcyB0aGF0CisgKiBzaG91bGQgc3VjY2VlZCBvciBmYWlsIHRvZ2V0aGVyLgogICoKICAqIENhbGxpbmcgc2VxdWVuY2UKICAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqCiAgKiAtIEFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGEgYHN0cnVjdCByZWZfdHJhbnNhY3Rpb25gIGJ5IGNhbGxpbmcKICAqICAgYHJlZl90cmFuc2FjdGlvbl9iZWdpbigpYC4KICAqCi0gKiAtIExpc3QgaW50ZW5kZWQgcmVmIHVwZGF0ZXMgYnkgY2FsbGluZyBmdW5jdGlvbnMgbGlrZQotICogICBgcmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSgpYCBhbmQgYHJlZl90cmFuc2FjdGlvbl9jcmVhdGUoKWAuCisgKiAtIFNwZWNpZnkgdGhlIGludGVuZGVkIHJlZiB1cGRhdGVzIGJ5IGNhbGxpbmcgb25lIG9yIG1vcmUgb2YgdGhlCisgKiAgIGZvbGxvd2luZyBmdW5jdGlvbnM6CisgKiAgIC0gYHJlZl90cmFuc2FjdGlvbl91cGRhdGUoKWAKKyAqICAgLSBgcmVmX3RyYW5zYWN0aW9uX2NyZWF0ZSgpYAorICogICAtIGByZWZfdHJhbnNhY3Rpb25fZGVsZXRlKClgCisgKiAgIC0gYHJlZl90cmFuc2FjdGlvbl92ZXJpZnkoKWAKICAqCi0gKiAtIENhbGwgYHJlZl90cmFuc2FjdGlvbl9jb21taXQoKWAgdG8gZXhlY3V0ZSB0aGUgdHJhbnNhY3Rpb24uCi0gKiAgIElmIHRoaXMgc3VjY2VlZHMsIHRoZSByZWYgdXBkYXRlcyB3aWxsIGhhdmUgdGFrZW4gcGxhY2UgYW5kCi0gKiAgIHRoZSB0cmFuc2FjdGlvbiBjYW5ub3QgYmUgcm9sbGVkIGJhY2suCisgKiAtIFRoZW4gZWl0aGVyOgogICoKLSAqIC0gSW5zdGVhZCBvZiBgcmVmX3RyYW5zYWN0aW9uX2NvbW1pdGAsIHVzZQotICogICBgaW5pdGlhbF9yZWZfdHJhbnNhY3Rpb25fY29tbWl0KClgIGlmIHRoZSByZWYgZGF0YWJhc2UgaXMga25vd24KLSAqICAgdG8gYmUgZW1wdHkgKGUuZy4gZHVyaW5nIGNsb25lKS4gIFRoaXMgaXMgbGlrZWx5IHRvIGJlIG11Y2gKLSAqICAgZmFzdGVyLgorICogICAtIE9wdGlvbmFsbHkgY2FsbCBgcmVmX3RyYW5zYWN0aW9uX3ByZXBhcmUoKWAgdG8gcHJlcGFyZSB0aGUKKyAqICAgICB0cmFuc2FjdGlvbi4gVGhpcyBsb2NrcyBhbGwgcmVmZXJlbmNlcywgY2hlY2tzIHByZWNvbmRpdGlvbnMsCisgKiAgICAgZXRjLiBidXQgZG9lc24ndCBmaW5hbGl6ZSBhbnl0aGluZy4gSWYgdGhpcyBzdGVwIGZhaWxzLCB0aGUKKyAqICAgICB0cmFuc2FjdGlvbiBoYXMgYmVlbiBjbG9zZWQgYW5kIGNhbiBvbmx5IGJlIGZyZWVkLiBJZiB0aGlzIHN0ZXAKKyAqICAgICBzdWNjZWVkcywgdGhlbiBgcmVmX3RyYW5zYWN0aW9uX2NvbW1pdCgpYCBpcyBhbG1vc3QgY2VydGFpbiB0bworICogICAgIHN1Y2NlZWQuIEhvd2V2ZXIsIHlvdSBjYW4gc3RpbGwgY2FsbCBgcmVmX3RyYW5zYWN0aW9uX2Fib3J0KClgCisgKiAgICAgaWYgeW91IGRlY2lkZSBub3QgdG8gY29tbWl0IHRoZSB0cmFuc2FjdGlvbiBhZnRlciBhbGwuCiAgKgotICogLSBBdCBhbnkgdGltZSBjYWxsIGByZWZfdHJhbnNhY3Rpb25fZnJlZSgpYCB0byBkaXNjYXJkIHRoZQotICogICB0cmFuc2FjdGlvbiBhbmQgZnJlZSBhc3NvY2lhdGVkIHJlc291cmNlcy4gIEluIHBhcnRpY3VsYXIsCi0gKiAgIHRoaXMgcm9sbHMgYmFjayB0aGUgdHJhbnNhY3Rpb24gaWYgaXQgaGFzIG5vdCBiZWVuCi0gKiAgIHN1Y2Nlc3NmdWxseSBjb21taXR0ZWQuCisgKiAgIC0gQ2FsbCBgcmVmX3RyYW5zYWN0aW9uX2NvbW1pdCgpYCB0byBleGVjdXRlIHRoZSB0cmFuc2FjdGlvbiwKKyAqICAgICBtYWtlIHRoZSBjaGFuZ2VzIHBlcm1hbmVudCwgYW5kIHJlbGVhc2UgYWxsIGxvY2tzLiBJZiB5b3UKKyAqICAgICBoYXZlbid0IGFscmVhZHkgY2FsbGVkIGByZWZfdHJhbnNhY3Rpb25fcHJlcGFyZSgpYCwgdGhlbgorICogICAgIGByZWZfdHJhbnNhY3Rpb25fY29tbWl0KClgIGNhbGxzIGl0IGZvciB5b3UuCisgKgorICogICBPcgorICoKKyAqICAgLSBDYWxsIGBpbml0aWFsX3JlZl90cmFuc2FjdGlvbl9jb21taXQoKWAgaWYgdGhlIHJlZiBkYXRhYmFzZSBpcworICogICAgIGtub3duIHRvIGJlIGVtcHR5IGFuZCBoYXZlIG5vIG90aGVyIHdyaXRlcnMgKGUuZy4gZHVyaW5nCisgKiAgICAgY2xvbmUpLiBUaGlzIGlzIGxpa2VseSB0byBiZSBtdWNoIGZhc3RlciB0aGFuCisgKiAgICAgYHJlZl90cmFuc2FjdGlvbl9jb21taXQoKWAuIGByZWZfdHJhbnNhY3Rpb25fcHJlcGFyZSgpYCBzaG91bGQKKyAqICAgICAqbm90KiBiZSBjYWxsZWQgYmVmb3JlIGBpbml0aWFsX3JlZl90cmFuc2FjdGlvbl9jb21taXQoKWAuCisgKgorICogLSBUaGVuIGZpbmFsbHksIGNhbGwgYHJlZl90cmFuc2FjdGlvbl9mcmVlKClgIHRvIGZyZWUgdGhlCisgKiAgIGByZWZfdHJhbnNhY3Rpb25gIGRhdGEgc3RydWN0dXJlLgorICoKKyAqIEF0IGFueSB0aW1lIGJlZm9yZSBjYWxsaW5nIGByZWZfdHJhbnNhY3Rpb25fY29tbWl0KClgLCB5b3UgY2FuIGNhbGwKKyAqIGByZWZfdHJhbnNhY3Rpb25fYWJvcnQoKWAgdG8gYWJvcnQgdGhlIHRyYW5zYWN0aW9uLCByb2xsYmFjayBhbnkKKyAqIGxvY2tzLCBhbmQgZnJlZSBhbnkgYXNzb2NpYXRlZCByZXNvdXJjZXMgKGluY2x1ZGluZyB0aGUKKyAqIGByZWZfdHJhbnNhY3Rpb25gIGRhdGEgc3RydWN0dXJlKS4KKyAqCisgKiBQdXR0aW5nIGl0IGFsbCB0b2dldGhlciwgYSBjb21wbGV0ZSByZWZlcmVuY2UgdXBkYXRlIGxvb2tzIGxpa2UKKyAqCisgKiAgICAgICAgIHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uOworICogICAgICAgICBzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOworICogICAgICAgICBpbnQgcmV0ID0gMDsKKyAqCisgKiAgICAgICAgIHRyYW5zYWN0aW9uID0gcmVmX3N0b3JlX3RyYW5zYWN0aW9uX2JlZ2luKHJlZnMsICZlcnIpOworICogICAgICAgICBpZiAoIXRyYW5zYWN0aW9uIHx8CisgKiAgICAgICAgICAgICByZWZfdHJhbnNhY3Rpb25fdXBkYXRlKC4uLikgfHwKKyAqICAgICAgICAgICAgIHJlZl90cmFuc2FjdGlvbl9jcmVhdGUoLi4uKSB8fAorICogICAgICAgICAgICAgLi4uZXRjLi4uIHx8CisgKiAgICAgICAgICAgICByZWZfdHJhbnNhY3Rpb25fY29tbWl0KHRyYW5zYWN0aW9uLCAmZXJyKSkgeworICogICAgICAgICAgICAgICAgIGVycm9yKCIlcyIsIGVyci5idWYpOworICogICAgICAgICAgICAgICAgIHJldCA9IC0xOworICogICAgICAgICB9CisgKiAgICAgICAgIHJlZl90cmFuc2FjdGlvbl9mcmVlKHRyYW5zYWN0aW9uKTsKKyAqICAgICAgICAgc3RyYnVmX3JlbGVhc2UoJmVycik7CisgKiAgICAgICAgIHJldHVybiByZXQ7CiAgKgogICogRXJyb3IgaGFuZGxpbmcKICAqIC0tLS0tLS0tLS0tLS0tCkBAIC0xNDEsOCArMjI1LDkgQEAKICAqIC0tLS0tLS0KICAqCiAgKiBOb3RlIHRoYXQgbm8gbG9ja3MgYXJlIHRha2VuLCBhbmQgbm8gcmVmcyBhcmUgcmVhZCwgdW50aWwKLSAqIGByZWZfdHJhbnNhY3Rpb25fY29tbWl0YCBpcyBjYWxsZWQuICBTbyBgcmVmX3RyYW5zYWN0aW9uX3ZlcmlmeWAKLSAqIHdvbid0IHJlcG9ydCBhIHZlcmlmaWNhdGlvbiBmYWlsdXJlIHVudGlsIHRoZSBjb21taXQgaXMgYXR0ZW1wdGVkLgorICogYHJlZl90cmFuc2FjdGlvbl9wcmVwYXJlKClgIG9yIGByZWZfdHJhbnNhY3Rpb25fY29tbWl0KClgIGlzCisgKiBjYWxsZWQuIFNvLCBmb3IgZXhhbXBsZSwgYHJlZl90cmFuc2FjdGlvbl92ZXJpZnkoKWAgd29uJ3QgcmVwb3J0IGEKKyAqIHZlcmlmaWNhdGlvbiBmYWlsdXJlIHVudGlsIHRoZSBjb21taXQgaXMgYXR0ZW1wdGVkLgogICovCiBzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uOwogCkBAIC0xODksMTEgKzI3NCwyNyBAQAogICogaXQgaXMgbm90IHNhZmUgdG8gbW9kaWZ5IHJlZmVyZW5jZXMgd2hpbGUgYW4gaXRlcmF0aW9uIGlzIGluCiAgKiBwcm9ncmVzcywgdW5sZXNzIHRoZSBzYW1lIGNhbGxiYWNrIGZ1bmN0aW9uIGludm9jYXRpb24gdGhhdAogICogbW9kaWZpZXMgdGhlIHJlZmVyZW5jZSBhbHNvIHJldHVybnMgYSBub256ZXJvIHZhbHVlIHRvIGltbWVkaWF0ZWx5Ci0gKiBzdG9wIHRoZSBpdGVyYXRpb24uCisgKiBzdG9wIHRoZSBpdGVyYXRpb24uIFJldHVybmVkIHJlZmVyZW5jZXMgYXJlIHNvcnRlZC4KICAqLworaW50IHJlZnNfaGVhZF9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJICBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CitpbnQgcmVmc19mb3JfZWFjaF9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJICAgICAgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworaW50IHJlZnNfZm9yX2VhY2hfcmVmX2luKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CitpbnQgcmVmc19mb3JfZWFjaF90YWdfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkgIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCByZWZzX2Zvcl9lYWNoX2JyYW5jaF9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCSAgICAgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworaW50IHJlZnNfZm9yX2VhY2hfcmVtb3RlX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLAorCQkJICAgICBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CisKIGludCBoZWFkX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CiBpbnQgZm9yX2VhY2hfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKIGludCBmb3JfZWFjaF9yZWZfaW4oY29uc3QgY2hhciAqcHJlZml4LCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CitpbnQgcmVmc19mb3JfZWFjaF9mdWxscmVmX2luKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgICAgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEsCisJCQkgICAgIHVuc2lnbmVkIGludCBicm9rZW4pOwogaW50IGZvcl9lYWNoX2Z1bGxyZWZfaW4oY29uc3QgY2hhciAqcHJlZml4LCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSwKIAkJCXVuc2lnbmVkIGludCBicm9rZW4pOwogaW50IGZvcl9lYWNoX3RhZ19yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwpAQCAtMjA0LDIyICszMDUsMTEgQEAKIGludCBmb3JfZWFjaF9nbG9iX3JlZl9pbihlYWNoX3JlZl9mbiBmbiwgY29uc3QgY2hhciAqcGF0dGVybiwKIAkJCSBjb25zdCBjaGFyICpwcmVmaXgsIHZvaWQgKmNiX2RhdGEpOwogCi1pbnQgaGVhZF9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotaW50IGZvcl9lYWNoX3JlZl9zdWJtb2R1bGUoY29uc3QgY2hhciAqc3VibW9kdWxlLAotCQkJICAgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotaW50IGZvcl9lYWNoX3JlZl9pbl9zdWJtb2R1bGUoY29uc3QgY2hhciAqc3VibW9kdWxlLCBjb25zdCBjaGFyICpwcmVmaXgsCi0JCWVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKLWludCBmb3JfZWFjaF90YWdfcmVmX3N1Ym1vZHVsZShjb25zdCBjaGFyICpzdWJtb2R1bGUsCi0JCQkgICAgICAgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotaW50IGZvcl9lYWNoX2JyYW5jaF9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwKLQkJCQkgIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKLWludCBmb3JfZWFjaF9yZW1vdGVfcmVmX3N1Ym1vZHVsZShjb25zdCBjaGFyICpzdWJtb2R1bGUsCi0JCQkJICBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7Ci0KIGludCBoZWFkX3JlZl9uYW1lc3BhY2VkKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKIGludCBmb3JfZWFjaF9uYW1lc3BhY2VkX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CiAKIC8qIGNhbiBiZSB1c2VkIHRvIGxlYXJuIGFib3V0IGJyb2tlbiByZWYgYW5kIHN5bXJlZiAqLworaW50IHJlZnNfZm9yX2VhY2hfcmF3cmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKIGludCBmb3JfZWFjaF9yYXdyZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwogCiBzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmhhc19nbG9iX3NwZWNpYWxzKGNvbnN0IGNoYXIgKnBhdHRlcm4pCkBAIC0yNDMsNyArMzMzLDcgQEAKICAqIFdyaXRlIGEgcGFja2VkLXJlZnMgZmlsZSBmb3IgdGhlIGN1cnJlbnQgcmVwb3NpdG9yeS4KICAqIGZsYWdzOiBDb21iaW5hdGlvbiBvZiB0aGUgYWJvdmUgUEFDS19SRUZTXyogZmxhZ3MuCiAgKi8KLWludCBwYWNrX3JlZnModW5zaWduZWQgaW50IGZsYWdzKTsKK2ludCByZWZzX3BhY2tfcmVmcyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCB1bnNpZ25lZCBpbnQgZmxhZ3MpOwogCiAvKgogICogRmxhZ3MgY29udHJvbGxpbmcgcmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSgpLCByZWZfdHJhbnNhY3Rpb25fY3JlYXRlKCksIGV0Yy4KQEAgLTI1NiwxNyArMzQ2LDI4IEBACiAjZGVmaW5lIFJFRl9GT1JDRV9DUkVBVEVfUkVGTE9HIDB4NDAKIAogLyoKKyAqIEZsYWdzIHRoYXQgY2FuIGJlIHBhc3NlZCBpbiB0byByZWZfdHJhbnNhY3Rpb25fdXBkYXRlCisgKi8KKyNkZWZpbmUgUkVGX1RSQU5TQUNUSU9OX1VQREFURV9BTExPV0VEX0ZMQUdTIFwKKwlSRUZfSVNQUlVOSU5HIHwgICAgICAgICAgICAgICAgICAgICAgXAorCVJFRl9GT1JDRV9DUkVBVEVfUkVGTE9HIHwgICAgICAgICAgICBcCisJUkVGX05PREVSRUYKKworLyoKICAqIFNldHVwIHJlZmxvZyBiZWZvcmUgdXNpbmcuIEZpbGwgaW4gZXJyIGFuZCByZXR1cm4gLTEgb24gZmFpbHVyZS4KICAqLworaW50IHJlZnNfY3JlYXRlX3JlZmxvZyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkgICAgICAgaW50IGZvcmNlX2NyZWF0ZSwgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKIGludCBzYWZlX2NyZWF0ZV9yZWZsb2coY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IGZvcmNlX2NyZWF0ZSwgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKIAogLyoqIFJlYWRzIGxvZyBmb3IgdGhlIHZhbHVlIG9mIHJlZiBkdXJpbmcgYXRfdGltZS4gKiovCiBpbnQgcmVhZF9yZWZfYXQoY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgaW50IGZsYWdzLAotCQl1bnNpZ25lZCBsb25nIGF0X3RpbWUsIGludCBjbnQsCisJCXRpbWVzdGFtcF90IGF0X3RpbWUsIGludCBjbnQsCiAJCXVuc2lnbmVkIGNoYXIgKnNoYTEsIGNoYXIgKiptc2csCi0JCXVuc2lnbmVkIGxvbmcgKmN1dG9mZl90aW1lLCBpbnQgKmN1dG9mZl90eiwgaW50ICpjdXRvZmZfY250KTsKKwkJdGltZXN0YW1wX3QgKmN1dG9mZl90aW1lLCBpbnQgKmN1dG9mZl90eiwgaW50ICpjdXRvZmZfY250KTsKIAogLyoqIENoZWNrIGlmIGEgcGFydGljdWxhciByZWZsb2cgZXhpc3RzICovCitpbnQgcmVmc19yZWZsb2dfZXhpc3RzKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnJlZm5hbWUpOwogaW50IHJlZmxvZ19leGlzdHMoY29uc3QgY2hhciAqcmVmbmFtZSk7CiAKIC8qCkBAIC0yNzQsMzUgKzM3NSw1MSBAQAogICogdmVyaWZ5IHRoYXQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHJlZmVyZW5jZSBpcyBvbGRfc2hhMSBiZWZvcmUKICAqIGRlbGV0aW5nIGl0LiBJZiBvbGRfc2hhMSBpcyBOVUxMLCBkZWxldGUgdGhlIHJlZmVyZW5jZSBpZiBpdAogICogZXhpc3RzLCByZWdhcmRsZXNzIG9mIGl0cyBvbGQgdmFsdWUuIEl0IGlzIGFuIGVycm9yIGZvciBvbGRfc2hhMSB0bwotICogYmUgTlVMTF9TSEExLiBmbGFncyBpcyBwYXNzZWQgdGhyb3VnaCB0byByZWZfdHJhbnNhY3Rpb25fZGVsZXRlKCkuCisgKiBiZSBOVUxMX1NIQTEuIG1zZyBhbmQgZmxhZ3MgYXJlIHBhc3NlZCB0aHJvdWdoIHRvCisgKiByZWZfdHJhbnNhY3Rpb25fZGVsZXRlKCkuCiAgKi8KLWludCBkZWxldGVfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAotCSAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOworaW50IHJlZnNfZGVsZXRlX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICptc2csCisJCSAgICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCisJCSAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOworaW50IGRlbGV0ZV9yZWYoY29uc3QgY2hhciAqbXNnLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCSAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwgdW5zaWduZWQgaW50IGZsYWdzKTsKIAogLyoKICAqIERlbGV0ZSB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZXMuIElmIHRoZXJlIGFyZSBhbnkgcHJvYmxlbXMsIGVtaXQKICAqIGVycm9ycyBidXQgYXR0ZW1wdCB0byBrZWVwIGdvaW5nIChpLmUuLCB0aGUgZGVsZXRlcyBhcmUgbm90IGRvbmUgaW4KLSAqIGFuIGFsbC1vci1ub3RoaW5nIHRyYW5zYWN0aW9uKS4gZmxhZ3MgaXMgcGFzc2VkIHRocm91Z2ggdG8KKyAqIGFuIGFsbC1vci1ub3RoaW5nIHRyYW5zYWN0aW9uKS4gbXNnIGFuZCBmbGFncyBhcmUgcGFzc2VkIHRocm91Z2ggdG8KICAqIHJlZl90cmFuc2FjdGlvbl9kZWxldGUoKS4KICAqLwotaW50IGRlbGV0ZV9yZWZzKHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsIHVuc2lnbmVkIGludCBmbGFncyk7CitpbnQgcmVmc19kZWxldGVfcmVmcyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICptc2csCisJCSAgICAgc3RydWN0IHN0cmluZ19saXN0ICpyZWZuYW1lcywgdW5zaWduZWQgaW50IGZsYWdzKTsKK2ludCBkZWxldGVfcmVmcyhjb25zdCBjaGFyICptc2csIHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsCisJCXVuc2lnbmVkIGludCBmbGFncyk7CiAKIC8qKiBEZWxldGUgYSByZWZsb2cgKi8KK2ludCByZWZzX2RlbGV0ZV9yZWZsb2coc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqcmVmbmFtZSk7CiBpbnQgZGVsZXRlX3JlZmxvZyhjb25zdCBjaGFyICpyZWZuYW1lKTsKIAogLyogaXRlcmF0ZSBvdmVyIHJlZmxvZyBlbnRyaWVzICovCiB0eXBlZGVmIGludCBlYWNoX3JlZmxvZ19lbnRfZm4oCi0JCXVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLCB1bnNpZ25lZCBjaGFyICpuZXdfc2hhMSwKLQkJY29uc3QgY2hhciAqY29tbWl0dGVyLCB1bnNpZ25lZCBsb25nIHRpbWVzdGFtcCwKKwkJc3RydWN0IG9iamVjdF9pZCAqb2xkX29pZCwgc3RydWN0IG9iamVjdF9pZCAqbmV3X29pZCwKKwkJY29uc3QgY2hhciAqY29tbWl0dGVyLCB0aW1lc3RhbXBfdCB0aW1lc3RhbXAsCiAJCWludCB0eiwgY29uc3QgY2hhciAqbXNnLCB2b2lkICpjYl9kYXRhKTsKIAoraW50IHJlZnNfZm9yX2VhY2hfcmVmbG9nX2VudChzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJICAgICBlYWNoX3JlZmxvZ19lbnRfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworaW50IHJlZnNfZm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkJICAgICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCSAgICAgZWFjaF9yZWZsb2dfZW50X2ZuIGZuLAorCQkJCSAgICAgdm9pZCAqY2JfZGF0YSk7CiBpbnQgZm9yX2VhY2hfcmVmbG9nX2VudChjb25zdCBjaGFyICpyZWZuYW1lLCBlYWNoX3JlZmxvZ19lbnRfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwogaW50IGZvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZShjb25zdCBjaGFyICpyZWZuYW1lLCBlYWNoX3JlZmxvZ19lbnRfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwogCiAvKgogICogQ2FsbHMgdGhlIHNwZWNpZmllZCBmdW5jdGlvbiBmb3IgZWFjaCByZWZsb2cgZmlsZSB1bnRpbCBpdCByZXR1cm5zIG5vbnplcm8sCi0gKiBhbmQgcmV0dXJucyB0aGUgdmFsdWUKKyAqIGFuZCByZXR1cm5zIHRoZSB2YWx1ZS4gUmVmbG9nIGZpbGUgb3JkZXIgaXMgdW5zcGVjaWZpZWQuCiAgKi8KK2ludCByZWZzX2Zvcl9lYWNoX3JlZmxvZyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CiBpbnQgZm9yX2VhY2hfcmVmbG9nKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKIAogI2RlZmluZSBSRUZOQU1FX0FMTE9XX09ORUxFVkVMIDEKQEAgLTMyMywxOSArNDQwLDIxIEBACiBjaGFyICpzaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgc3RyaWN0KTsKIAogLyoqIHJlbmFtZSByZWYsIHJldHVybiAwIG9uIHN1Y2Nlc3MgKiovCi1pbnQgcmVuYW1lX3JlZihjb25zdCBjaGFyICpvbGRyZWYsIGNvbnN0IGNoYXIgKm5ld3JlZiwgY29uc3QgY2hhciAqbG9nbXNnKTsKK2ludCByZWZzX3JlbmFtZV9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqb2xkcmVmLAorCQkgICAgY29uc3QgY2hhciAqbmV3cmVmLCBjb25zdCBjaGFyICpsb2dtc2cpOworaW50IHJlbmFtZV9yZWYoY29uc3QgY2hhciAqb2xkcmVmLCBjb25zdCBjaGFyICpuZXdyZWYsCisJCQljb25zdCBjaGFyICpsb2dtc2cpOwogCisvKiogY29weSByZWYsIHJldHVybiAwIG9uIHN1Y2Nlc3MgKiovCitpbnQgcmVmc19jb3B5X2V4aXN0aW5nX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpvbGRyZWYsCisJCSAgICBjb25zdCBjaGFyICpuZXdyZWYsIGNvbnN0IGNoYXIgKmxvZ21zZyk7CitpbnQgY29weV9leGlzdGluZ19yZWYoY29uc3QgY2hhciAqb2xkcmVmLCBjb25zdCBjaGFyICpuZXdyZWYsCisJCQljb25zdCBjaGFyICpsb2dtc2cpOworCitpbnQgcmVmc19jcmVhdGVfc3ltcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCSAgICAgICBjb25zdCBjaGFyICp0YXJnZXQsIGNvbnN0IGNoYXIgKmxvZ21zZyk7CiBpbnQgY3JlYXRlX3N5bXJlZihjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCBjaGFyICp0YXJnZXQsIGNvbnN0IGNoYXIgKmxvZ21zZyk7CiAKLS8qCi0gKiBVcGRhdGUgSEVBRCBvZiB0aGUgc3BlY2lmaWVkIGdpdGRpci4KLSAqIFNpbWlsYXIgdG8gY3JlYXRlX3N5bXJlZigicmVsYXRpdmUtZ2l0LWRpci9IRUFEIiwgdGFyZ2V0LCBOVUxMKSwgYnV0Ci0gKiB0aGlzIGNhbiB1cGRhdGUgdGhlIG1haW4gd29ya2luZyB0cmVlJ3MgSEVBRCByZWdhcmRsZXNzIG9mIHdoZXJlCi0gKiAkR0lUX0RJUiBwb2ludHMgdG8uCi0gKiBSZXR1cm4gMCBpZiBzdWNjZXNzZnVsLCBub24temVybyBvdGhlcndpc2UuCi0gKiAqLwotaW50IHNldF93b3JrdHJlZV9oZWFkX3N5bXJlZihjb25zdCBjaGFyICpnaXRkaXIsIGNvbnN0IGNoYXIgKnRhcmdldCk7Ci0KIGVudW0gYWN0aW9uX29uX2VyciB7CiAJVVBEQVRFX1JFRlNfTVNHX09OX0VSUiwKIAlVUERBVEVfUkVGU19ESUVfT05fRVJSLApAQCAtMzQ2LDYgKzQ2NSw4IEBACiAgKiBCZWdpbiBhIHJlZmVyZW5jZSB0cmFuc2FjdGlvbi4gIFRoZSByZWZlcmVuY2UgdHJhbnNhY3Rpb24gbXVzdAogICogYmUgZnJlZWQgYnkgY2FsbGluZyByZWZfdHJhbnNhY3Rpb25fZnJlZSgpLgogICovCitzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICpyZWZfc3RvcmVfdHJhbnNhY3Rpb25fYmVnaW4oc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCQkJCSAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpOwogc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqcmVmX3RyYW5zYWN0aW9uX2JlZ2luKHN0cnVjdCBzdHJidWYgKmVycik7CiAKIC8qCkBAIC0zNTksNiArNDgwLDE5IEBACiAgKgogICogICAgIHJlZm5hbWUgLS0gdGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZSB0byBiZSBhZmZlY3RlZC4KICAqCisgKiAgICAgbmV3X3NoYTEgLS0gdGhlIFNIQS0xIHRoYXQgc2hvdWxkIGJlIHNldCB0byBiZSB0aGUgbmV3IHZhbHVlIG9mCisgKiAgICAgICAgIHRoZSByZWZlcmVuY2UuIFNvbWUgZnVuY3Rpb25zIGFsbG93IHRoaXMgcGFyYW1ldGVyIHRvIGJlCisgKiAgICAgICAgIE5VTEwsIG1lYW5pbmcgdGhhdCB0aGUgcmVmZXJlbmNlIGlzIG5vdCBjaGFuZ2VkLCBvcgorICogICAgICAgICBudWxsX3NoYTEsIG1lYW5pbmcgdGhhdCB0aGUgcmVmZXJlbmNlIHNob3VsZCBiZSBkZWxldGVkLiBBCisgKiAgICAgICAgIGNvcHkgb2YgdGhpcyB2YWx1ZSBpcyBtYWRlIGluIHRoZSB0cmFuc2FjdGlvbi4KKyAqCisgKiAgICAgb2xkX3NoYTEgLS0gdGhlIFNIQS0xIHZhbHVlIHRoYXQgdGhlIHJlZmVyZW5jZSBtdXN0IGhhdmUgYmVmb3JlCisgKiAgICAgICAgIHRoZSB1cGRhdGUuIFNvbWUgZnVuY3Rpb25zIGFsbG93IHRoaXMgcGFyYW1ldGVyIHRvIGJlIE5VTEwsCisgKiAgICAgICAgIG1lYW5pbmcgdGhhdCB0aGUgb2xkIHZhbHVlIG9mIHRoZSByZWZlcmVuY2UgaXMgbm90IGNoZWNrZWQsCisgKiAgICAgICAgIG9yIG51bGxfc2hhMSwgbWVhbmluZyB0aGF0IHRoZSByZWZlcmVuY2UgbXVzdCBub3QgZXhpc3QKKyAqICAgICAgICAgYmVmb3JlIHRoZSB1cGRhdGUuIEEgY29weSBvZiB0aGlzIHZhbHVlIGlzIG1hZGUgaW4gdGhlCisgKiAgICAgICAgIHRyYW5zYWN0aW9uLgorICoKICAqICAgICBmbGFncyAtLSBmbGFncyBhZmZlY3RpbmcgdGhlIHVwZGF0ZSwgcGFzc2VkIHRvCiAgKiAgICAgICAgIHVwZGF0ZV9yZWZfbG9jaygpLiBDYW4gYmUgUkVGX05PREVSRUYsIHdoaWNoIG1lYW5zIHRoYXQKICAqICAgICAgICAgc3ltYm9saWMgcmVmZXJlbmNlcyBzaG91bGQgbm90IGJlIGZvbGxvd2VkLgpAQCAtNDQwLDIwICs1NzQsNDggQEAKIAkJCSAgIHVuc2lnbmVkIGludCBmbGFncywKIAkJCSAgIHN0cnVjdCBzdHJidWYgKmVycik7CiAKLS8qCi0gKiBDb21taXQgYWxsIG9mIHRoZSBjaGFuZ2VzIHRoYXQgaGF2ZSBiZWVuIHF1ZXVlZCBpbiB0cmFuc2FjdGlvbiwgYXMKLSAqIGF0b21pY2FsbHkgYXMgcG9zc2libGUuCi0gKgotICogUmV0dXJucyAwIGZvciBzdWNjZXNzLCBvciBvbmUgb2YgdGhlIGJlbG93IGVycm9yIGNvZGVzIGZvciBlcnJvcnMuCi0gKi8KIC8qIE5hbWluZyBjb25mbGljdCAoZm9yIGV4YW1wbGUsIHRoZSByZWYgbmFtZXMgQSBhbmQgQS9CIGNvbmZsaWN0KS4gKi8KICNkZWZpbmUgVFJBTlNBQ1RJT05fTkFNRV9DT05GTElDVCAtMQogLyogQWxsIG90aGVyIGVycm9ycy4gKi8KICNkZWZpbmUgVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUiAtMgorCisvKgorICogUGVyZm9ybSB0aGUgcHJlcGFyYXRvcnkgc3RhZ2VzIG9mIGNvbW1pdHRpbmcgYHRyYW5zYWN0aW9uYC4gQWNxdWlyZQorICogYW55IG5lZWRlZCBsb2NrcywgY2hlY2sgcHJlY29uZGl0aW9ucywgZXRjLjsgYmFzaWNhbGx5LCBkbyBhcyBtdWNoCisgKiBhcyBwb3NzaWJsZSB0byBlbnN1cmUgdGhhdCB0aGUgdHJhbnNhY3Rpb24gd2lsbCBiZSBhYmxlIHRvIGdvCisgKiB0aHJvdWdoLCBzdG9wcGluZyBqdXN0IHNob3J0IG9mIG1ha2luZyBhbnkgaXJyZXZvY2FibGUgb3IKKyAqIHVzZXItdmlzaWJsZSBjaGFuZ2VzLiBUaGUgdXBkYXRlcyB0aGF0IHRoaXMgZnVuY3Rpb24gcHJlcGFyZXMgY2FuCisgKiBiZSBmaW5pc2hlZCB1cCBieSBjYWxsaW5nIGByZWZfdHJhbnNhY3Rpb25fY29tbWl0KClgIG9yIHJvbGxlZCBiYWNrCisgKiBieSBjYWxsaW5nIGByZWZfdHJhbnNhY3Rpb25fYWJvcnQoKWAuCisgKgorICogT24gc3VjY2VzcywgcmV0dXJuIDAgYW5kIGxlYXZlIHRoZSB0cmFuc2FjdGlvbiBpbiAicHJlcGFyZWQiIHN0YXRlLgorICogT24gZmFpbHVyZSwgYWJvcnQgdGhlIHRyYW5zYWN0aW9uLCB3cml0ZSBhbiBlcnJvciBtZXNzYWdlIHRvIGBlcnJgLAorICogYW5kIHJldHVybiBvbmUgb2YgdGhlIGBUUkFOU0FDVElPTl8qYCBjb25zdGFudHMuCisgKgorICogQ2FsbGVycyB3aG8gZG9uJ3QgbmVlZCBzdWNoIGZpbmUtZ3JhaW5lZCBjb250cm9sIG92ZXIgY29tbWl0dGluZworICogcmVmZXJlbmNlIHRyYW5zYWN0aW9ucyBzaG91bGQganVzdCBjYWxsIGByZWZfdHJhbnNhY3Rpb25fY29tbWl0KClgLgorICovCitpbnQgcmVmX3RyYW5zYWN0aW9uX3ByZXBhcmUoc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKKworLyoKKyAqIENvbW1pdCBhbGwgb2YgdGhlIGNoYW5nZXMgdGhhdCBoYXZlIGJlZW4gcXVldWVkIGluIHRyYW5zYWN0aW9uLCBhcworICogYXRvbWljYWxseSBhcyBwb3NzaWJsZS4gT24gc3VjY2VzcywgcmV0dXJuIDAgYW5kIGxlYXZlIHRoZQorICogdHJhbnNhY3Rpb24gaW4gImNsb3NlZCIgc3RhdGUuIE9uIGZhaWx1cmUsIHJvbGwgYmFjayB0aGUKKyAqIHRyYW5zYWN0aW9uLCB3cml0ZSBhbiBlcnJvciBtZXNzYWdlIHRvIGBlcnJgLCBhbmQgcmV0dXJuIG9uZSBvZiB0aGUKKyAqIGBUUkFOU0FDVElPTl8qYCBjb25zdGFudHMKKyAqLwogaW50IHJlZl90cmFuc2FjdGlvbl9jb21taXQoc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCiAJCQkgICBzdHJ1Y3Qgc3RyYnVmICplcnIpOwogCiAvKgorICogQWJvcnQgYHRyYW5zYWN0aW9uYCwgd2hpY2ggaGFzIGJlZW4gYmVndW4gYW5kIHBvc3NpYmx5IHByZXBhcmVkLAorICogYnV0IG5vdCB5ZXQgY29tbWl0dGVkLgorICovCitpbnQgcmVmX3RyYW5zYWN0aW9uX2Fib3J0KHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAorCQkJICBzdHJ1Y3Qgc3RyYnVmICplcnIpOworCisvKgogICogTGlrZSByZWZfdHJhbnNhY3Rpb25fY29tbWl0KCksIGJ1dCBvcHRpbWl6ZWQgZm9yIGNyZWF0aW5nCiAgKiByZWZlcmVuY2VzIHdoZW4gb3JpZ2luYWxseSBpbml0aWFsaXppbmcgYSByZXBvc2l0b3J5IChlLmcuLCBieSAiZ2l0CiAgKiBjbG9uZSIpLiBJdCB3cml0ZXMgdGhlIG5ldyByZWZlcmVuY2VzIGRpcmVjdGx5IHRvIHBhY2tlZC1yZWZzCkBAIC00NjgsNyArNjMwLDcgQEAKIAkJCQkgICBzdHJ1Y3Qgc3RyYnVmICplcnIpOwogCiAvKgotICogRnJlZSBhbiBleGlzdGluZyB0cmFuc2FjdGlvbiBhbmQgYWxsIGFzc29jaWF0ZWQgZGF0YS4KKyAqIEZyZWUgYCp0cmFuc2FjdGlvbmAgYW5kIGFsbCBhc3NvY2lhdGVkIGRhdGEuCiAgKi8KIHZvaWQgcmVmX3RyYW5zYWN0aW9uX2ZyZWUoc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24pOwogCkBAIC00ODAsNiArNjQyLDkgQEAKICAqIHJlZl90cmFuc2FjdGlvbl91cGRhdGUoKS4gSGFuZGxlIGVycm9ycyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGBvbmVycmAKICAqIGFyZ3VtZW50LgogICovCitpbnQgcmVmc191cGRhdGVfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ld19zaGExLCBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwKKwkJICAgIHVuc2lnbmVkIGludCBmbGFncywgZW51bSBhY3Rpb25fb25fZXJyIG9uZXJyKTsKIGludCB1cGRhdGVfcmVmKGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqcmVmbmFtZSwKIAkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAogCSAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIGVudW0gYWN0aW9uX29uX2VyciBvbmVycik7CkBAIC01MzEsMTIgKzY5NiwxMiBAQAogICogICAgIHVubG9ja2VkIGFnYWluLgogICovCiB0eXBlZGVmIHZvaWQgcmVmbG9nX2V4cGlyeV9wcmVwYXJlX2ZuKGNvbnN0IGNoYXIgKnJlZm5hbWUsCi0JCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCQkgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkJICAgICAgdm9pZCAqY2JfZGF0YSk7Ci10eXBlZGVmIGludCByZWZsb2dfZXhwaXJ5X3Nob3VsZF9wcnVuZV9mbih1bnNpZ25lZCBjaGFyICpvc2hhMSwKLQkJCQkJICB1bnNpZ25lZCBjaGFyICpuc2hhMSwKK3R5cGVkZWYgaW50IHJlZmxvZ19leHBpcnlfc2hvdWxkX3BydW5lX2ZuKHN0cnVjdCBvYmplY3RfaWQgKm9vaWQsCisJCQkJCSAgc3RydWN0IG9iamVjdF9pZCAqbm9pZCwKIAkJCQkJICBjb25zdCBjaGFyICplbWFpbCwKLQkJCQkJICB1bnNpZ25lZCBsb25nIHRpbWVzdGFtcCwgaW50IHR6LAorCQkJCQkgIHRpbWVzdGFtcF90IHRpbWVzdGFtcCwgaW50IHR6LAogCQkJCQkgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsIHZvaWQgKmNiX2RhdGEpOwogdHlwZWRlZiB2b2lkIHJlZmxvZ19leHBpcnlfY2xlYW51cF9mbih2b2lkICpjYl9kYXRhKTsKIApAQCAtNTQ2LDYgKzcxMSwxNCBAQAogICogZW51bSBleHBpcmVfcmVmbG9nX2ZsYWdzLiBUaGUgdGhyZWUgZnVuY3Rpb24gcG9pbnRlcnMgYXJlIGRlc2NyaWJlZAogICogYWJvdmUuIE9uIHN1Y2Nlc3MsIHJldHVybiB6ZXJvLgogICovCitpbnQgcmVmc19yZWZsb2dfZXhwaXJlKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCSAgICAgICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJICAgICAgIHVuc2lnbmVkIGludCBmbGFncywKKwkJICAgICAgIHJlZmxvZ19leHBpcnlfcHJlcGFyZV9mbiBwcmVwYXJlX2ZuLAorCQkgICAgICAgcmVmbG9nX2V4cGlyeV9zaG91bGRfcHJ1bmVfZm4gc2hvdWxkX3BydW5lX2ZuLAorCQkgICAgICAgcmVmbG9nX2V4cGlyeV9jbGVhbnVwX2ZuIGNsZWFudXBfZm4sCisJCSAgICAgICB2b2lkICpwb2xpY3lfY2JfZGF0YSk7CiBpbnQgcmVmbG9nX2V4cGlyZShjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAogCQkgIHVuc2lnbmVkIGludCBmbGFncywKIAkJICByZWZsb2dfZXhwaXJ5X3ByZXBhcmVfZm4gcHJlcGFyZV9mbiwKQEAgLTU1NSw0ICs3MjgsMTggQEAKIAogaW50IHJlZl9zdG9yYWdlX2JhY2tlbmRfZXhpc3RzKGNvbnN0IGNoYXIgKm5hbWUpOwogCitzdHJ1Y3QgcmVmX3N0b3JlICpnZXRfbWFpbl9yZWZfc3RvcmUodm9pZCk7CisvKgorICogUmV0dXJuIHRoZSByZWZfc3RvcmUgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQgc3VibW9kdWxlLiBGb3IgdGhlCisgKiBtYWluIHJlcG9zaXRvcnksIHVzZSBzdWJtb2R1bGU9PU5VTEw7IHN1Y2ggYSBjYWxsIGNhbm5vdCBmYWlsLiBGb3IKKyAqIGEgc3VibW9kdWxlLCB0aGUgc3VibW9kdWxlIG11c3QgZXhpc3QgYW5kIGJlIGEgbm9uYmFyZSByZXBvc2l0b3J5LAorICogb3RoZXJ3aXNlIHJldHVybiBOVUxMLiBJZiB0aGUgcmVxdWVzdGVkIHJlZmVyZW5jZSBzdG9yZSBoYXMgbm90IHlldAorICogYmVlbiBpbml0aWFsaXplZCwgaW5pdGlhbGl6ZSBpdCBmaXJzdC4KKyAqCisgKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHN1Ym1vZHVsZT09IiIgaXMgdHJlYXRlZCB0aGUgc2FtZSBhcworICogc3VibW9kdWxlPT1OVUxMLgorICovCitzdHJ1Y3QgcmVmX3N0b3JlICpnZXRfc3VibW9kdWxlX3JlZl9zdG9yZShjb25zdCBjaGFyICpzdWJtb2R1bGUpOworc3RydWN0IHJlZl9zdG9yZSAqZ2V0X3dvcmt0cmVlX3JlZl9zdG9yZShjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0KTsKKwogI2VuZGlmIC8qIFJFRlNfSCAqLwpkaWZmIC0tZ2l0IGEvcmVmcy9maWxlcy1iYWNrZW5kLmMgYi9yZWZzL2ZpbGVzLWJhY2tlbmQuYwppbmRleCBjMDQxZDRiLi4wMTRkYWJiIDEwMDY0NAotLS0gYS9yZWZzL2ZpbGVzLWJhY2tlbmQuYworKysgYi9yZWZzL2ZpbGVzLWJhY2tlbmQuYwpAQCAtMSw2ICsxLDkgQEAKICNpbmNsdWRlICIuLi9jYWNoZS5oIgorI2luY2x1ZGUgIi4uL2NvbmZpZy5oIgogI2luY2x1ZGUgIi4uL3JlZnMuaCIKICNpbmNsdWRlICJyZWZzLWludGVybmFsLmgiCisjaW5jbHVkZSAicmVmLWNhY2hlLmgiCisjaW5jbHVkZSAicGFja2VkLWJhY2tlbmQuaCIKICNpbmNsdWRlICIuLi9pdGVyYXRvci5oIgogI2luY2x1ZGUgIi4uL2Rpci1pdGVyYXRvci5oIgogI2luY2x1ZGUgIi4uL2xvY2tmaWxlLmgiCkBAIC05LDk1NiArMTIsMzAgQEAKIAogc3RydWN0IHJlZl9sb2NrIHsKIAljaGFyICpyZWZfbmFtZTsKLQlzdHJ1Y3QgbG9ja19maWxlICpsazsKKwlzdHJ1Y3QgbG9ja19maWxlIGxrOwogCXN0cnVjdCBvYmplY3RfaWQgb2xkX29pZDsKIH07CiAKLXN0cnVjdCByZWZfZW50cnk7Ci0KLS8qCi0gKiBJbmZvcm1hdGlvbiB1c2VkIChhbG9uZyB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpbiByZWZfZW50cnkpIHRvCi0gKiBkZXNjcmliZSBhIHNpbmdsZSBjYWNoZWQgcmVmZXJlbmNlLiAgVGhpcyBkYXRhIHN0cnVjdHVyZSBvbmx5Ci0gKiBvY2N1cnMgZW1iZWRkZWQgaW4gYSB1bmlvbiBpbiBzdHJ1Y3QgcmVmX2VudHJ5LCBhbmQgb25seSB3aGVuCi0gKiAocmVmX2VudHJ5LT5mbGFnICYgUkVGX0RJUikgaXMgemVyby4KLSAqLwotc3RydWN0IHJlZl92YWx1ZSB7Ci0JLyoKLQkgKiBUaGUgbmFtZSBvZiB0aGUgb2JqZWN0IHRvIHdoaWNoIHRoaXMgcmVmZXJlbmNlIHJlc29sdmVzCi0JICogKHdoaWNoIG1heSBiZSBhIHRhZyBvYmplY3QpLiAgSWYgUkVGX0lTQlJPS0VOLCB0aGlzIGlzCi0JICogbnVsbC4gIElmIFJFRl9JU1NZTVJFRiwgdGhlbiB0aGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBvYmplY3QKLQkgKiByZWZlcnJlZCB0byBieSB0aGUgbGFzdCByZWZlcmVuY2UgaW4gdGhlIHN5bWxpbmsgY2hhaW4uCi0JICovCi0Jc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0KLQkvKgotCSAqIElmIFJFRl9LTk9XU19QRUVMRUQsIHRoZW4gdGhpcyBmaWVsZCBob2xkcyB0aGUgcGVlbGVkIHZhbHVlCi0JICogb2YgdGhpcyByZWZlcmVuY2UsIG9yIG51bGwgaWYgdGhlIHJlZmVyZW5jZSBpcyBrbm93biBub3QgdG8KLQkgKiBiZSBwZWVsYWJsZS4gIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgcGVlbF9yZWYoKSBmb3IgYW4KLQkgKiBleGFjdCBkZWZpbml0aW9uIG9mICJwZWVsYWJsZSIuCi0JICovCi0Jc3RydWN0IG9iamVjdF9pZCBwZWVsZWQ7Ci19OwotCi1zdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlOwotCi0vKgotICogSW5mb3JtYXRpb24gdXNlZCAoYWxvbmcgd2l0aCB0aGUgaW5mb3JtYXRpb24gaW4gcmVmX2VudHJ5KSB0bwotICogZGVzY3JpYmUgYSBsZXZlbCBpbiB0aGUgaGllcmFyY2h5IG9mIHJlZmVyZW5jZXMuICBUaGlzIGRhdGEKLSAqIHN0cnVjdHVyZSBvbmx5IG9jY3VycyBlbWJlZGRlZCBpbiBhIHVuaW9uIGluIHN0cnVjdCByZWZfZW50cnksIGFuZAotICogb25seSB3aGVuIChyZWZfZW50cnkuZmxhZyAmIFJFRl9ESVIpIGlzIHNldC4gIEluIHRoYXQgY2FzZSwKLSAqIChyZWZfZW50cnkuZmxhZyAmIFJFRl9JTkNPTVBMRVRFKSBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHJlZmVyZW5jZXMKLSAqIGluIHRoZSBkaXJlY3RvcnkgaGF2ZSBhbHJlYWR5IGJlZW4gcmVhZDoKLSAqCi0gKiAgICAgKHJlZl9lbnRyeS5mbGFnICYgUkVGX0lOQ09NUExFVEUpIHVuc2V0IC0tIGEgZGlyZWN0b3J5IG9mIGxvb3NlCi0gKiAgICAgICAgIG9yIHBhY2tlZCByZWZlcmVuY2VzLCBhbHJlYWR5IHJlYWQuCi0gKgotICogICAgIChyZWZfZW50cnkuZmxhZyAmIFJFRl9JTkNPTVBMRVRFKSBzZXQgLS0gYSBkaXJlY3Rvcnkgb2YgbG9vc2UKLSAqICAgICAgICAgcmVmZXJlbmNlcyB0aGF0IGhhc24ndCBiZWVuIHJlYWQgeWV0IChub3IgaGFzIGFueSBvZiBpdHMKLSAqICAgICAgICAgc3ViZGlyZWN0b3JpZXMpLgotICoKLSAqIEVudHJpZXMgd2l0aGluIGEgZGlyZWN0b3J5IGFyZSBzdG9yZWQgd2l0aGluIGEgZ3Jvd2FibGUgYXJyYXkgb2YKLSAqIHBvaW50ZXJzIHRvIHJlZl9lbnRyaWVzIChlbnRyaWVzLCBuciwgYWxsb2MpLiAgRW50cmllcyAwIDw9IGkgPAotICogc29ydGVkIGFyZSBzb3J0ZWQgYnkgdGhlaXIgY29tcG9uZW50IG5hbWUgaW4gc3RyY21wKCkgb3JkZXIgYW5kIHRoZQotICogcmVtYWluaW5nIGVudHJpZXMgYXJlIHVuc29ydGVkLgotICoKLSAqIExvb3NlIHJlZmVyZW5jZXMgYXJlIHJlYWQgbGF6aWx5LCBvbmUgZGlyZWN0b3J5IGF0IGEgdGltZS4gIFdoZW4gYQotICogZGlyZWN0b3J5IG9mIGxvb3NlIHJlZmVyZW5jZXMgaXMgcmVhZCwgdGhlbiBhbGwgb2YgdGhlIHJlZmVyZW5jZXMKLSAqIGluIHRoYXQgZGlyZWN0b3J5IGFyZSBzdG9yZWQsIGFuZCBSRUZfSU5DT01QTEVURSBzdHVicyBhcmUgY3JlYXRlZAotICogZm9yIGFueSBzdWJkaXJlY3RvcmllcywgYnV0IHRoZSBzdWJkaXJlY3RvcmllcyB0aGVtc2VsdmVzIGFyZSBub3QKLSAqIHJlYWQuICBUaGUgcmVhZGluZyBpcyB0cmlnZ2VyZWQgYnkgZ2V0X3JlZl9kaXIoKS4KLSAqLwotc3RydWN0IHJlZl9kaXIgewotCWludCBuciwgYWxsb2M7Ci0KLQkvKgotCSAqIEVudHJpZXMgd2l0aCBpbmRleCAwIDw9IGkgPCBzb3J0ZWQgYXJlIHNvcnRlZCBieSBuYW1lLiAgTmV3Ci0JICogZW50cmllcyBhcmUgYXBwZW5kZWQgdG8gdGhlIGxpc3QgdW5zb3J0ZWQsIGFuZCBhcmUgc29ydGVkCi0JICogb25seSB3aGVuIHJlcXVpcmVkOyB0aHVzIHdlIGF2b2lkIHRoZSBuZWVkIHRvIHNvcnQgdGhlIGxpc3QKLQkgKiBhZnRlciB0aGUgYWRkaXRpb24gb2YgZXZlcnkgcmVmZXJlbmNlLgotCSAqLwotCWludCBzb3J0ZWQ7Ci0KLQkvKiBBIHBvaW50ZXIgdG8gdGhlIGZpbGVzX3JlZl9zdG9yZSB0aGF0IGNvbnRhaW5zIHRoaXMgcmVmX2Rpci4gKi8KLQlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZfc3RvcmU7Ci0KLQlzdHJ1Y3QgcmVmX2VudHJ5ICoqZW50cmllczsKLX07Ci0KLS8qCi0gKiBCaXQgdmFsdWVzIGZvciByZWZfZW50cnk6OmZsYWcuICBSRUZfSVNTWU1SRUY9MHgwMSwKLSAqIFJFRl9JU1BBQ0tFRD0weDAyLCBSRUZfSVNCUk9LRU49MHgwNCBhbmQgUkVGX0JBRF9OQU1FPTB4MDggYXJlCi0gKiBwdWJsaWMgdmFsdWVzOyBzZWUgcmVmcy5oLgotICovCi0KLS8qCi0gKiBUaGUgZmllbGQgcmVmX2VudHJ5LT51LnZhbHVlLnBlZWxlZCBvZiB0aGlzIHZhbHVlIGVudHJ5IGNvbnRhaW5zCi0gKiB0aGUgY29ycmVjdCBwZWVsZWQgdmFsdWUgZm9yIHRoZSByZWZlcmVuY2UsIHdoaWNoIG1pZ2h0IGJlCi0gKiBudWxsX3NoYTEgaWYgdGhlIHJlZmVyZW5jZSBpcyBub3QgYSB0YWcgb3IgaWYgaXQgaXMgYnJva2VuLgotICovCi0jZGVmaW5lIFJFRl9LTk9XU19QRUVMRUQgMHgxMAotCi0vKiByZWZfZW50cnkgcmVwcmVzZW50cyBhIGRpcmVjdG9yeSBvZiByZWZlcmVuY2VzICovCi0jZGVmaW5lIFJFRl9ESVIgMHgyMAotCi0vKgotICogRW50cnkgaGFzIG5vdCB5ZXQgYmVlbiByZWFkIGZyb20gZGlzayAodXNlZCBvbmx5IGZvciBSRUZfRElSCi0gKiBlbnRyaWVzIHJlcHJlc2VudGluZyBsb29zZSByZWZlcmVuY2VzKQotICovCi0jZGVmaW5lIFJFRl9JTkNPTVBMRVRFIDB4NDAKLQotLyoKLSAqIEEgcmVmX2VudHJ5IHJlcHJlc2VudHMgZWl0aGVyIGEgcmVmZXJlbmNlIG9yIGEgInN1YmRpcmVjdG9yeSIgb2YKLSAqIHJlZmVyZW5jZXMuCi0gKgotICogRWFjaCBkaXJlY3RvcnkgaW4gdGhlIHJlZmVyZW5jZSBuYW1lc3BhY2UgaXMgcmVwcmVzZW50ZWQgYnkgYQotICogcmVmX2VudHJ5IHdpdGggKGZsYWdzICYgUkVGX0RJUikgc2V0IGFuZCBjb250YWluaW5nIGEgc3ViZGlyIG1lbWJlcgotICogdGhhdCBob2xkcyB0aGUgZW50cmllcyBpbiB0aGF0IGRpcmVjdG9yeSB0aGF0IGhhdmUgYmVlbiByZWFkIHNvCi0gKiBmYXIuICBJZiAoZmxhZ3MgJiBSRUZfSU5DT01QTEVURSkgaXMgc2V0LCB0aGVuIHRoZSBkaXJlY3RvcnkgYW5kCi0gKiBpdHMgc3ViZGlyZWN0b3JpZXMgaGF2ZW4ndCBiZWVuIHJlYWQgeWV0LiAgUkVGX0lOQ09NUExFVEUgaXMgb25seQotICogdXNlZCBmb3IgbG9vc2UgcmVmZXJlbmNlIGRpcmVjdG9yaWVzLgotICoKLSAqIFJlZmVyZW5jZXMgYXJlIHJlcHJlc2VudGVkIGJ5IGEgcmVmX2VudHJ5IHdpdGggKGZsYWdzICYgUkVGX0RJUikKLSAqIHVuc2V0IGFuZCBhIHZhbHVlIG1lbWJlciB0aGF0IGRlc2NyaWJlcyB0aGUgcmVmZXJlbmNlJ3MgdmFsdWUuICBUaGUKLSAqIGZsYWcgbWVtYmVyIGlzIGF0IHRoZSByZWZfZW50cnkgbGV2ZWwsIGJ1dCBpdCBpcyBhbHNvIG5lZWRlZCB0bwotICogaW50ZXJwcmV0IHRoZSBjb250ZW50cyBvZiB0aGUgdmFsdWUgZmllbGQgKGluIG90aGVyIHdvcmRzLCBhCi0gKiByZWZfdmFsdWUgb2JqZWN0IGlzIG5vdCB2ZXJ5IG11Y2ggdXNlIHdpdGhvdXQgdGhlIGVuY2xvc2luZwotICogcmVmX2VudHJ5KS4KLSAqCi0gKiBSZWZlcmVuY2UgbmFtZXMgY2Fubm90IGVuZCB3aXRoIHNsYXNoIGFuZCBkaXJlY3RvcmllcycgbmFtZXMgYXJlCi0gKiBhbHdheXMgc3RvcmVkIHdpdGggYSB0cmFpbGluZyBzbGFzaCAoZXhjZXB0IGZvciB0aGUgdG9wLWxldmVsCi0gKiBkaXJlY3RvcnksIHdoaWNoIGlzIGFsd2F5cyBkZW5vdGVkIGJ5ICIiKS4gIFRoaXMgaGFzIHR3byBuaWNlCi0gKiBjb25zZXF1ZW5jZXM6ICgxKSB3aGVuIHRoZSBlbnRyaWVzIGluIGVhY2ggc3ViZGlyIGFyZSBzb3J0ZWQKLSAqIGxleGljb2dyYXBoaWNhbGx5IGJ5IG5hbWUgKGFzIHRoZXkgdXN1YWxseSBhcmUpLCB0aGUgcmVmZXJlbmNlcyBpbgotICogYSB3aG9sZSB0cmVlIGNhbiBiZSBnZW5lcmF0ZWQgaW4gbGV4aWNvZ3JhcGhpYyBvcmRlciBieSB0cmF2ZXJzaW5nCi0gKiB0aGUgdHJlZSBpbiBsZWZ0LXRvLXJpZ2h0LCBkZXB0aC1maXJzdCBvcmRlcjsgKDIpIHRoZSBuYW1lcyBvZgotICogcmVmZXJlbmNlcyBhbmQgc3ViZGlyZWN0b3JpZXMgY2Fubm90IGNvbmZsaWN0LCBhbmQgdGhlcmVmb3JlIHRoZQotICogcHJlc2VuY2Ugb2YgYW4gZW1wdHkgc3ViZGlyZWN0b3J5IGRvZXMgbm90IGJsb2NrIHRoZSBjcmVhdGlvbiBvZiBhCi0gKiBzaW1pbGFybHktbmFtZWQgcmVmZXJlbmNlLiAgKFRoZSBmYWN0IHRoYXQgcmVmZXJlbmNlIG5hbWVzIHdpdGggdGhlCi0gKiBzYW1lIGxlYWRpbmcgY29tcG9uZW50cyBjYW4gY29uZmxpY3QgKndpdGggZWFjaCBvdGhlciogaXMgYQotICogc2VwYXJhdGUgaXNzdWUgdGhhdCBpcyByZWd1bGF0ZWQgYnkgdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKCkuKQotICoKLSAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIG5hbWUgZmllbGQgY29udGFpbnMgdGhlIGZ1bGx5LXF1YWxpZmllZAotICogcmVmZXJlbmNlIChvciBzdWJkaXJlY3RvcnkpIG5hbWUuICBTcGFjZSBjb3VsZCBiZSBzYXZlZCBieSBvbmx5Ci0gKiBzdG9yaW5nIHRoZSByZWxhdGl2ZSBuYW1lcy4gIEJ1dCB0aGF0IHdvdWxkIHJlcXVpcmUgdGhlIGZ1bGwgbmFtZXMKLSAqIHRvIGJlIGdlbmVyYXRlZCBvbiB0aGUgZmx5IHdoZW4gaXRlcmF0aW5nIGluIGRvX2Zvcl9lYWNoX3JlZigpLCBhbmQKLSAqIHdvdWxkIGJyZWFrIGNhbGxiYWNrIGZ1bmN0aW9ucywgd2hvIGhhdmUgYWx3YXlzIGJlZW4gYWJsZSB0byBhc3N1bWUKLSAqIHRoYXQgdGhlIG5hbWUgc3RyaW5ncyB0aGF0IHRoZXkgYXJlIHBhc3NlZCB3aWxsIG5vdCBiZSBmcmVlZCBkdXJpbmcKLSAqIHRoZSBpdGVyYXRpb24uCi0gKi8KLXN0cnVjdCByZWZfZW50cnkgewotCXVuc2lnbmVkIGNoYXIgZmxhZzsgLyogSVNTWU1SRUY/IElTUEFDS0VEPyAqLwotCXVuaW9uIHsKLQkJc3RydWN0IHJlZl92YWx1ZSB2YWx1ZTsgLyogaWYgbm90IChmbGFncyZSRUZfRElSKSAqLwotCQlzdHJ1Y3QgcmVmX2RpciBzdWJkaXI7IC8qIGlmIChmbGFncyZSRUZfRElSKSAqLwotCX0gdTsKLQkvKgotCSAqIFRoZSBmdWxsIG5hbWUgb2YgdGhlIHJlZmVyZW5jZSAoZS5nLiwgInJlZnMvaGVhZHMvbWFzdGVyIikKLQkgKiBvciB0aGUgZnVsbCBuYW1lIG9mIHRoZSBkaXJlY3Rvcnkgd2l0aCBhIHRyYWlsaW5nIHNsYXNoCi0JICogKGUuZy4sICJyZWZzL2hlYWRzLyIpOgotCSAqLwotCWNoYXIgbmFtZVtGTEVYX0FSUkFZXTsKLX07Ci0KLXN0YXRpYyB2b2lkIHJlYWRfbG9vc2VfcmVmcyhjb25zdCBjaGFyICpkaXJuYW1lLCBzdHJ1Y3QgcmVmX2RpciAqZGlyKTsKLXN0YXRpYyBpbnQgc2VhcmNoX3JlZl9kaXIoc3RydWN0IHJlZl9kaXIgKmRpciwgY29uc3QgY2hhciAqcmVmbmFtZSwgc2l6ZV90IGxlbik7Ci1zdGF0aWMgc3RydWN0IHJlZl9lbnRyeSAqY3JlYXRlX2Rpcl9lbnRyeShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZfc3RvcmUsCi0JCQkJCSAgY29uc3QgY2hhciAqZGlybmFtZSwgc2l6ZV90IGxlbiwKLQkJCQkJICBpbnQgaW5jb21wbGV0ZSk7Ci1zdGF0aWMgdm9pZCBhZGRfZW50cnlfdG9fZGlyKHN0cnVjdCByZWZfZGlyICpkaXIsIHN0cnVjdCByZWZfZW50cnkgKmVudHJ5KTsKLQotc3RhdGljIHN0cnVjdCByZWZfZGlyICpnZXRfcmVmX2RpcihzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeSkKLXsKLQlzdHJ1Y3QgcmVmX2RpciAqZGlyOwotCWFzc2VydChlbnRyeS0+ZmxhZyAmIFJFRl9ESVIpOwotCWRpciA9ICZlbnRyeS0+dS5zdWJkaXI7Ci0JaWYgKGVudHJ5LT5mbGFnICYgUkVGX0lOQ09NUExFVEUpIHsKLQkJcmVhZF9sb29zZV9yZWZzKGVudHJ5LT5uYW1lLCBkaXIpOwotCi0JCS8qCi0JCSAqIE1hbnVhbGx5IGFkZCByZWZzL2Jpc2VjdCwgd2hpY2gsIGJlaW5nCi0JCSAqIHBlci13b3JrdHJlZSwgbWlnaHQgbm90IGFwcGVhciBpbiB0aGUgZGlyZWN0b3J5Ci0JCSAqIGxpc3RpbmcgZm9yIHJlZnMvIGluIHRoZSBtYWluIHJlcG8uCi0JCSAqLwotCQlpZiAoIXN0cmNtcChlbnRyeS0+bmFtZSwgInJlZnMvIikpIHsKLQkJCWludCBwb3MgPSBzZWFyY2hfcmVmX2RpcihkaXIsICJyZWZzL2Jpc2VjdC8iLCAxMik7Ci0JCQlpZiAocG9zIDwgMCkgewotCQkJCXN0cnVjdCByZWZfZW50cnkgKmNoaWxkX2VudHJ5OwotCQkJCWNoaWxkX2VudHJ5ID0gY3JlYXRlX2Rpcl9lbnRyeShkaXItPnJlZl9zdG9yZSwKLQkJCQkJCQkgICAgICAgInJlZnMvYmlzZWN0LyIsCi0JCQkJCQkJICAgICAgIDEyLCAxKTsKLQkJCQlhZGRfZW50cnlfdG9fZGlyKGRpciwgY2hpbGRfZW50cnkpOwotCQkJCXJlYWRfbG9vc2VfcmVmcygicmVmcy9iaXNlY3QiLAotCQkJCQkJJmNoaWxkX2VudHJ5LT51LnN1YmRpcik7Ci0JCQl9Ci0JCX0KLQkJZW50cnktPmZsYWcgJj0gflJFRl9JTkNPTVBMRVRFOwotCX0KLQlyZXR1cm4gZGlyOwotfQotCi1zdGF0aWMgc3RydWN0IHJlZl9lbnRyeSAqY3JlYXRlX3JlZl9lbnRyeShjb25zdCBjaGFyICpyZWZuYW1lLAotCQkJCQkgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBmbGFnLAotCQkJCQkgIGludCBjaGVja19uYW1lKQotewotCXN0cnVjdCByZWZfZW50cnkgKnJlZjsKLQotCWlmIChjaGVja19uYW1lICYmCi0JICAgIGNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZm5hbWUsIFJFRk5BTUVfQUxMT1dfT05FTEVWRUwpKQotCQlkaWUoIlJlZmVyZW5jZSBoYXMgaW52YWxpZCBmb3JtYXQ6ICclcyciLCByZWZuYW1lKTsKLQlGTEVYX0FMTE9DX1NUUihyZWYsIG5hbWUsIHJlZm5hbWUpOwotCWhhc2hjcHkocmVmLT51LnZhbHVlLm9pZC5oYXNoLCBzaGExKTsKLQlvaWRjbHIoJnJlZi0+dS52YWx1ZS5wZWVsZWQpOwotCXJlZi0+ZmxhZyA9IGZsYWc7Ci0JcmV0dXJuIHJlZjsKLX0KLQotc3RhdGljIHZvaWQgY2xlYXJfcmVmX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyKTsKLQotc3RhdGljIHZvaWQgZnJlZV9yZWZfZW50cnkoc3RydWN0IHJlZl9lbnRyeSAqZW50cnkpCi17Ci0JaWYgKGVudHJ5LT5mbGFnICYgUkVGX0RJUikgewotCQkvKgotCQkgKiBEbyBub3QgdXNlIGdldF9yZWZfZGlyKCkgaGVyZSwgYXMgdGhhdCBtaWdodAotCQkgKiB0cmlnZ2VyIHRoZSByZWFkaW5nIG9mIGxvb3NlIHJlZnMuCi0JCSAqLwotCQljbGVhcl9yZWZfZGlyKCZlbnRyeS0+dS5zdWJkaXIpOwotCX0KLQlmcmVlKGVudHJ5KTsKLX0KLQotLyoKLSAqIEFkZCBhIHJlZl9lbnRyeSB0byB0aGUgZW5kIG9mIGRpciAodW5zb3J0ZWQpLiAgRW50cnkgaXMgYWx3YXlzCi0gKiBzdG9yZWQgZGlyZWN0bHkgaW4gZGlyOyBubyByZWN1cnNpb24gaW50byBzdWJkaXJlY3RvcmllcyBpcwotICogZG9uZS4KLSAqLwotc3RhdGljIHZvaWQgYWRkX2VudHJ5X3RvX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyLCBzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeSkKLXsKLQlBTExPQ19HUk9XKGRpci0+ZW50cmllcywgZGlyLT5uciArIDEsIGRpci0+YWxsb2MpOwotCWRpci0+ZW50cmllc1tkaXItPm5yKytdID0gZW50cnk7Ci0JLyogb3B0aW1pemUgZm9yIHRoZSBjYXNlIHRoYXQgZW50cmllcyBhcmUgYWRkZWQgaW4gb3JkZXIgKi8KLQlpZiAoZGlyLT5uciA9PSAxIHx8Ci0JICAgIChkaXItPm5yID09IGRpci0+c29ydGVkICsgMSAmJgotCSAgICAgc3RyY21wKGRpci0+ZW50cmllc1tkaXItPm5yIC0gMl0tPm5hbWUsCi0JCSAgICBkaXItPmVudHJpZXNbZGlyLT5uciAtIDFdLT5uYW1lKSA8IDApKQotCQlkaXItPnNvcnRlZCA9IGRpci0+bnI7Ci19Ci0KLS8qCi0gKiBDbGVhciBhbmQgZnJlZSBhbGwgZW50cmllcyBpbiBkaXIsIHJlY3Vyc2l2ZWx5LgotICovCi1zdGF0aWMgdm9pZCBjbGVhcl9yZWZfZGlyKHN0cnVjdCByZWZfZGlyICpkaXIpCi17Ci0JaW50IGk7Ci0JZm9yIChpID0gMDsgaSA8IGRpci0+bnI7IGkrKykKLQkJZnJlZV9yZWZfZW50cnkoZGlyLT5lbnRyaWVzW2ldKTsKLQlmcmVlKGRpci0+ZW50cmllcyk7Ci0JZGlyLT5zb3J0ZWQgPSBkaXItPm5yID0gZGlyLT5hbGxvYyA9IDA7Ci0JZGlyLT5lbnRyaWVzID0gTlVMTDsKLX0KLQotLyoKLSAqIENyZWF0ZSBhIHN0cnVjdCByZWZfZW50cnkgb2JqZWN0IGZvciB0aGUgc3BlY2lmaWVkIGRpcm5hbWUuCi0gKiBkaXJuYW1lIGlzIHRoZSBuYW1lIG9mIHRoZSBkaXJlY3Rvcnkgd2l0aCBhIHRyYWlsaW5nIHNsYXNoIChlLmcuLAotICogInJlZnMvaGVhZHMvIikgb3IgIiIgZm9yIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgotICovCi1zdGF0aWMgc3RydWN0IHJlZl9lbnRyeSAqY3JlYXRlX2Rpcl9lbnRyeShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZfc3RvcmUsCi0JCQkJCSAgY29uc3QgY2hhciAqZGlybmFtZSwgc2l6ZV90IGxlbiwKLQkJCQkJICBpbnQgaW5jb21wbGV0ZSkKLXsKLQlzdHJ1Y3QgcmVmX2VudHJ5ICpkaXJlbnRyeTsKLQlGTEVYX0FMTE9DX01FTShkaXJlbnRyeSwgbmFtZSwgZGlybmFtZSwgbGVuKTsKLQlkaXJlbnRyeS0+dS5zdWJkaXIucmVmX3N0b3JlID0gcmVmX3N0b3JlOwotCWRpcmVudHJ5LT5mbGFnID0gUkVGX0RJUiB8IChpbmNvbXBsZXRlID8gUkVGX0lOQ09NUExFVEUgOiAwKTsKLQlyZXR1cm4gZGlyZW50cnk7Ci19Ci0KLXN0YXRpYyBpbnQgcmVmX2VudHJ5X2NtcChjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKQotewotCXN0cnVjdCByZWZfZW50cnkgKm9uZSA9ICooc3RydWN0IHJlZl9lbnRyeSAqKilhOwotCXN0cnVjdCByZWZfZW50cnkgKnR3byA9ICooc3RydWN0IHJlZl9lbnRyeSAqKiliOwotCXJldHVybiBzdHJjbXAob25lLT5uYW1lLCB0d28tPm5hbWUpOwotfQotCi1zdGF0aWMgdm9pZCBzb3J0X3JlZl9kaXIoc3RydWN0IHJlZl9kaXIgKmRpcik7Ci0KLXN0cnVjdCBzdHJpbmdfc2xpY2UgewotCXNpemVfdCBsZW47Ci0JY29uc3QgY2hhciAqc3RyOwotfTsKLQotc3RhdGljIGludCByZWZfZW50cnlfY21wX3NzbGljZShjb25zdCB2b2lkICprZXlfLCBjb25zdCB2b2lkICplbnRfKQotewotCWNvbnN0IHN0cnVjdCBzdHJpbmdfc2xpY2UgKmtleSA9IGtleV87Ci0JY29uc3Qgc3RydWN0IHJlZl9lbnRyeSAqZW50ID0gKihjb25zdCBzdHJ1Y3QgcmVmX2VudHJ5ICogY29uc3QgKillbnRfOwotCWludCBjbXAgPSBzdHJuY21wKGtleS0+c3RyLCBlbnQtPm5hbWUsIGtleS0+bGVuKTsKLQlpZiAoY21wKQotCQlyZXR1cm4gY21wOwotCXJldHVybiAnXDAnIC0gKHVuc2lnbmVkIGNoYXIpZW50LT5uYW1lW2tleS0+bGVuXTsKLX0KLQotLyoKLSAqIFJldHVybiB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IHdpdGggdGhlIGdpdmVuIHJlZm5hbWUgZnJvbSB0aGUKLSAqIHJlZl9kaXIgKG5vbi1yZWN1cnNpdmVseSksIHNvcnRpbmcgZGlyIGlmIG5lY2Vzc2FyeS4gIFJldHVybiAtMSBpZgotICogbm8gc3VjaCBlbnRyeSBpcyBmb3VuZC4gIGRpciBtdXN0IGFscmVhZHkgYmUgY29tcGxldGUuCi0gKi8KLXN0YXRpYyBpbnQgc2VhcmNoX3JlZl9kaXIoc3RydWN0IHJlZl9kaXIgKmRpciwgY29uc3QgY2hhciAqcmVmbmFtZSwgc2l6ZV90IGxlbikKLXsKLQlzdHJ1Y3QgcmVmX2VudHJ5ICoqcjsKLQlzdHJ1Y3Qgc3RyaW5nX3NsaWNlIGtleTsKLQotCWlmIChyZWZuYW1lID09IE5VTEwgfHwgIWRpci0+bnIpCi0JCXJldHVybiAtMTsKLQotCXNvcnRfcmVmX2RpcihkaXIpOwotCWtleS5sZW4gPSBsZW47Ci0Ja2V5LnN0ciA9IHJlZm5hbWU7Ci0JciA9IGJzZWFyY2goJmtleSwgZGlyLT5lbnRyaWVzLCBkaXItPm5yLCBzaXplb2YoKmRpci0+ZW50cmllcyksCi0JCSAgICByZWZfZW50cnlfY21wX3NzbGljZSk7Ci0KLQlpZiAociA9PSBOVUxMKQotCQlyZXR1cm4gLTE7Ci0KLQlyZXR1cm4gciAtIGRpci0+ZW50cmllczsKLX0KLQotLyoKLSAqIFNlYXJjaCBmb3IgYSBkaXJlY3RvcnkgZW50cnkgZGlyZWN0bHkgd2l0aGluIGRpciAod2l0aG91dAotICogcmVjdXJzaW5nKS4gIFNvcnQgZGlyIGlmIG5lY2Vzc2FyeS4gIHN1YmRpcm5hbWUgbXVzdCBiZSBhIGRpcmVjdG9yeQotICogbmFtZSAoaS5lLiwgZW5kIGluICcvJykuICBJZiBta2RpciBpcyBzZXQsIHRoZW4gY3JlYXRlIHRoZQotICogZGlyZWN0b3J5IGlmIGl0IGlzIG1pc3Npbmc7IG90aGVyd2lzZSwgcmV0dXJuIE5VTEwgaWYgdGhlIGRlc2lyZWQKLSAqIGRpcmVjdG9yeSBjYW5ub3QgYmUgZm91bmQuICBkaXIgbXVzdCBhbHJlYWR5IGJlIGNvbXBsZXRlLgotICovCi1zdGF0aWMgc3RydWN0IHJlZl9kaXIgKnNlYXJjaF9mb3Jfc3ViZGlyKHN0cnVjdCByZWZfZGlyICpkaXIsCi0JCQkJCSBjb25zdCBjaGFyICpzdWJkaXJuYW1lLCBzaXplX3QgbGVuLAotCQkJCQkgaW50IG1rZGlyKQotewotCWludCBlbnRyeV9pbmRleCA9IHNlYXJjaF9yZWZfZGlyKGRpciwgc3ViZGlybmFtZSwgbGVuKTsKLQlzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeTsKLQlpZiAoZW50cnlfaW5kZXggPT0gLTEpIHsKLQkJaWYgKCFta2RpcikKLQkJCXJldHVybiBOVUxMOwotCQkvKgotCQkgKiBTaW5jZSBkaXIgaXMgY29tcGxldGUsIHRoZSBhYnNlbmNlIG9mIGEgc3ViZGlyCi0JCSAqIG1lYW5zIHRoYXQgdGhlIHN1YmRpciByZWFsbHkgZG9lc24ndCBleGlzdDsKLQkJICogdGhlcmVmb3JlLCBjcmVhdGUgYW4gZW1wdHkgcmVjb3JkIGZvciBpdCBidXQgbWFyawotCQkgKiB0aGUgcmVjb3JkIGNvbXBsZXRlLgotCQkgKi8KLQkJZW50cnkgPSBjcmVhdGVfZGlyX2VudHJ5KGRpci0+cmVmX3N0b3JlLCBzdWJkaXJuYW1lLCBsZW4sIDApOwotCQlhZGRfZW50cnlfdG9fZGlyKGRpciwgZW50cnkpOwotCX0gZWxzZSB7Ci0JCWVudHJ5ID0gZGlyLT5lbnRyaWVzW2VudHJ5X2luZGV4XTsKLQl9Ci0JcmV0dXJuIGdldF9yZWZfZGlyKGVudHJ5KTsKLX0KLQotLyoKLSAqIElmIHJlZm5hbWUgaXMgYSByZWZlcmVuY2UgbmFtZSwgZmluZCB0aGUgcmVmX2RpciB3aXRoaW4gdGhlIGRpcgotICogdHJlZSB0aGF0IHNob3VsZCBob2xkIHJlZm5hbWUuICBJZiByZWZuYW1lIGlzIGEgZGlyZWN0b3J5IG5hbWUKLSAqIChpLmUuLCBlbmRzIGluICcvJyksIHRoZW4gcmV0dXJuIHRoYXQgcmVmX2RpciBpdHNlbGYuICBkaXIgbXVzdAotICogcmVwcmVzZW50IHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IGFuZCBtdXN0IGFscmVhZHkgYmUgY29tcGxldGUuCi0gKiBTb3J0IHJlZl9kaXJzIGFuZCByZWN1cnNlIGludG8gc3ViZGlyZWN0b3JpZXMgYXMgbmVjZXNzYXJ5LiAgSWYKLSAqIG1rZGlyIGlzIHNldCwgdGhlbiBjcmVhdGUgYW55IG1pc3NpbmcgZGlyZWN0b3JpZXM7IG90aGVyd2lzZSwKLSAqIHJldHVybiBOVUxMIGlmIHRoZSBkZXNpcmVkIGRpcmVjdG9yeSBjYW5ub3QgYmUgZm91bmQuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVmX2RpciAqZmluZF9jb250YWluaW5nX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyLAotCQkJCQkgICBjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgbWtkaXIpCi17Ci0JY29uc3QgY2hhciAqc2xhc2g7Ci0JZm9yIChzbGFzaCA9IHN0cmNocihyZWZuYW1lLCAnLycpOyBzbGFzaDsgc2xhc2ggPSBzdHJjaHIoc2xhc2ggKyAxLCAnLycpKSB7Ci0JCXNpemVfdCBkaXJuYW1lbGVuID0gc2xhc2ggLSByZWZuYW1lICsgMTsKLQkJc3RydWN0IHJlZl9kaXIgKnN1YmRpcjsKLQkJc3ViZGlyID0gc2VhcmNoX2Zvcl9zdWJkaXIoZGlyLCByZWZuYW1lLCBkaXJuYW1lbGVuLCBta2Rpcik7Ci0JCWlmICghc3ViZGlyKSB7Ci0JCQlkaXIgPSBOVUxMOwotCQkJYnJlYWs7Ci0JCX0KLQkJZGlyID0gc3ViZGlyOwotCX0KLQotCXJldHVybiBkaXI7Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSB2YWx1ZSBlbnRyeSB3aXRoIHRoZSBnaXZlbiBuYW1lIGluIGRpciwgc29ydGluZyByZWZfZGlycwotICogYW5kIHJlY3Vyc2luZyBpbnRvIHN1YmRpcmVjdG9yaWVzIGFzIG5lY2Vzc2FyeS4gIElmIHRoZSBuYW1lIGlzIG5vdAotICogZm91bmQgb3IgaXQgY29ycmVzcG9uZHMgdG8gYSBkaXJlY3RvcnkgZW50cnksIHJldHVybiBOVUxMLgotICovCi1zdGF0aWMgc3RydWN0IHJlZl9lbnRyeSAqZmluZF9yZWYoc3RydWN0IHJlZl9kaXIgKmRpciwgY29uc3QgY2hhciAqcmVmbmFtZSkKLXsKLQlpbnQgZW50cnlfaW5kZXg7Ci0Jc3RydWN0IHJlZl9lbnRyeSAqZW50cnk7Ci0JZGlyID0gZmluZF9jb250YWluaW5nX2RpcihkaXIsIHJlZm5hbWUsIDApOwotCWlmICghZGlyKQotCQlyZXR1cm4gTlVMTDsKLQllbnRyeV9pbmRleCA9IHNlYXJjaF9yZWZfZGlyKGRpciwgcmVmbmFtZSwgc3RybGVuKHJlZm5hbWUpKTsKLQlpZiAoZW50cnlfaW5kZXggPT0gLTEpCi0JCXJldHVybiBOVUxMOwotCWVudHJ5ID0gZGlyLT5lbnRyaWVzW2VudHJ5X2luZGV4XTsKLQlyZXR1cm4gKGVudHJ5LT5mbGFnICYgUkVGX0RJUikgPyBOVUxMIDogZW50cnk7Ci19Ci0KLS8qCi0gKiBSZW1vdmUgdGhlIGVudHJ5IHdpdGggdGhlIGdpdmVuIG5hbWUgZnJvbSBkaXIsIHJlY3Vyc2luZyBpbnRvCi0gKiBzdWJkaXJlY3RvcmllcyBhcyBuZWNlc3NhcnkuICBJZiByZWZuYW1lIGlzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5Ci0gKiAoaS5lLiwgZW5kcyB3aXRoICcvJyksIHRoZW4gcmVtb3ZlIHRoZSBkaXJlY3RvcnkgYW5kIGl0cyBjb250ZW50cy4KLSAqIElmIHRoZSByZW1vdmFsIHdhcyBzdWNjZXNzZnVsLCByZXR1cm4gdGhlIG51bWJlciBvZiBlbnRyaWVzCi0gKiByZW1haW5pbmcgaW4gdGhlIGRpcmVjdG9yeSBlbnRyeSB0aGF0IGNvbnRhaW5lZCB0aGUgZGVsZXRlZCBlbnRyeS4KLSAqIElmIHRoZSBuYW1lIHdhcyBub3QgZm91bmQsIHJldHVybiAtMS4gIFBsZWFzZSBub3RlIHRoYXQgdGhpcwotICogZnVuY3Rpb24gb25seSBkZWxldGVzIHRoZSBlbnRyeSBmcm9tIHRoZSBjYWNoZTsgaXQgZG9lcyBub3QgZGVsZXRlCi0gKiBpdCBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIGVuc3VyZSB0aGF0IG90aGVyIGNhY2hlIGVudHJpZXMgKHdoaWNoCi0gKiBtaWdodCBiZSBzeW1ib2xpYyByZWZlcmVuY2VzIHRvIHRoZSByZW1vdmVkIGVudHJ5KSBhcmUgdXBkYXRlZC4KLSAqIE5vciBkb2VzIGl0IHJlbW92ZSBhbnkgY29udGFpbmluZyBkaXIgZW50cmllcyB0aGF0IG1pZ2h0IGJlIG1hZGUKLSAqIGVtcHR5IGJ5IHRoZSByZW1vdmFsLiAgZGlyIG11c3QgcmVwcmVzZW50IHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5Ci0gKiBhbmQgbXVzdCBhbHJlYWR5IGJlIGNvbXBsZXRlLgotICovCi1zdGF0aWMgaW50IHJlbW92ZV9lbnRyeShzdHJ1Y3QgcmVmX2RpciAqZGlyLCBjb25zdCBjaGFyICpyZWZuYW1lKQotewotCWludCByZWZuYW1lX2xlbiA9IHN0cmxlbihyZWZuYW1lKTsKLQlpbnQgZW50cnlfaW5kZXg7Ci0Jc3RydWN0IHJlZl9lbnRyeSAqZW50cnk7Ci0JaW50IGlzX2RpciA9IHJlZm5hbWVbcmVmbmFtZV9sZW4gLSAxXSA9PSAnLyc7Ci0JaWYgKGlzX2RpcikgewotCQkvKgotCQkgKiByZWZuYW1lIHJlcHJlc2VudHMgYSByZWZlcmVuY2UgZGlyZWN0b3J5LiAgUmVtb3ZlCi0JCSAqIHRoZSB0cmFpbGluZyBzbGFzaDsgb3RoZXJ3aXNlIHdlIHdpbGwgZ2V0IHRoZQotCQkgKiBkaXJlY3RvcnkgKnJlcHJlc2VudGluZyogcmVmbmFtZSByYXRoZXIgdGhhbiB0aGUKLQkJICogb25lICpjb250YWluaW5nKiBpdC4KLQkJICovCi0JCWNoYXIgKmRpcm5hbWUgPSB4bWVtZHVweihyZWZuYW1lLCByZWZuYW1lX2xlbiAtIDEpOwotCQlkaXIgPSBmaW5kX2NvbnRhaW5pbmdfZGlyKGRpciwgZGlybmFtZSwgMCk7Ci0JCWZyZWUoZGlybmFtZSk7Ci0JfSBlbHNlIHsKLQkJZGlyID0gZmluZF9jb250YWluaW5nX2RpcihkaXIsIHJlZm5hbWUsIDApOwotCX0KLQlpZiAoIWRpcikKLQkJcmV0dXJuIC0xOwotCWVudHJ5X2luZGV4ID0gc2VhcmNoX3JlZl9kaXIoZGlyLCByZWZuYW1lLCByZWZuYW1lX2xlbik7Ci0JaWYgKGVudHJ5X2luZGV4ID09IC0xKQotCQlyZXR1cm4gLTE7Ci0JZW50cnkgPSBkaXItPmVudHJpZXNbZW50cnlfaW5kZXhdOwotCi0JbWVtbW92ZSgmZGlyLT5lbnRyaWVzW2VudHJ5X2luZGV4XSwKLQkJJmRpci0+ZW50cmllc1tlbnRyeV9pbmRleCArIDFdLAotCQkoZGlyLT5uciAtIGVudHJ5X2luZGV4IC0gMSkgKiBzaXplb2YoKmRpci0+ZW50cmllcykKLQkJKTsKLQlkaXItPm5yLS07Ci0JaWYgKGRpci0+c29ydGVkID4gZW50cnlfaW5kZXgpCi0JCWRpci0+c29ydGVkLS07Ci0JZnJlZV9yZWZfZW50cnkoZW50cnkpOwotCXJldHVybiBkaXItPm5yOwotfQotCi0vKgotICogQWRkIGEgcmVmX2VudHJ5IHRvIHRoZSByZWZfZGlyICh1bnNvcnRlZCksIHJlY3Vyc2luZyBpbnRvCi0gKiBzdWJkaXJlY3RvcmllcyBhcyBuZWNlc3NhcnkuICBkaXIgbXVzdCByZXByZXNlbnQgdGhlIHRvcC1sZXZlbAotICogZGlyZWN0b3J5LiAgUmV0dXJuIDAgb24gc3VjY2Vzcy4KLSAqLwotc3RhdGljIGludCBhZGRfcmVmKHN0cnVjdCByZWZfZGlyICpkaXIsIHN0cnVjdCByZWZfZW50cnkgKnJlZikKLXsKLQlkaXIgPSBmaW5kX2NvbnRhaW5pbmdfZGlyKGRpciwgcmVmLT5uYW1lLCAxKTsKLQlpZiAoIWRpcikKLQkJcmV0dXJuIC0xOwotCWFkZF9lbnRyeV90b19kaXIoZGlyLCByZWYpOwotCXJldHVybiAwOwotfQotCi0vKgotICogRW1pdCBhIHdhcm5pbmcgYW5kIHJldHVybiB0cnVlIGlmZiByZWYxIGFuZCByZWYyIGhhdmUgdGhlIHNhbWUgbmFtZQotICogYW5kIHRoZSBzYW1lIHNoYTEuICBEaWUgaWYgdGhleSBoYXZlIHRoZSBzYW1lIG5hbWUgYnV0IGRpZmZlcmVudAotICogc2hhMXMuCi0gKi8KLXN0YXRpYyBpbnQgaXNfZHVwX3JlZihjb25zdCBzdHJ1Y3QgcmVmX2VudHJ5ICpyZWYxLCBjb25zdCBzdHJ1Y3QgcmVmX2VudHJ5ICpyZWYyKQotewotCWlmIChzdHJjbXAocmVmMS0+bmFtZSwgcmVmMi0+bmFtZSkpCi0JCXJldHVybiAwOwotCi0JLyogRHVwbGljYXRlIG5hbWU7IG1ha2Ugc3VyZSB0aGF0IHRoZXkgZG9uJ3QgY29uZmxpY3Q6ICovCi0KLQlpZiAoKHJlZjEtPmZsYWcgJiBSRUZfRElSKSB8fCAocmVmMi0+ZmxhZyAmIFJFRl9ESVIpKQotCQkvKiBUaGlzIGlzIGltcG9zc2libGUgYnkgY29uc3RydWN0aW9uICovCi0JCWRpZSgiUmVmZXJlbmNlIGRpcmVjdG9yeSBjb25mbGljdDogJXMiLCByZWYxLT5uYW1lKTsKLQotCWlmIChvaWRjbXAoJnJlZjEtPnUudmFsdWUub2lkLCAmcmVmMi0+dS52YWx1ZS5vaWQpKQotCQlkaWUoIkR1cGxpY2F0ZWQgcmVmLCBhbmQgU0hBMXMgZG9uJ3QgbWF0Y2g6ICVzIiwgcmVmMS0+bmFtZSk7Ci0KLQl3YXJuaW5nKCJEdXBsaWNhdGVkIHJlZjogJXMiLCByZWYxLT5uYW1lKTsKLQlyZXR1cm4gMTsKLX0KLQotLyoKLSAqIFNvcnQgdGhlIGVudHJpZXMgaW4gZGlyIG5vbi1yZWN1cnNpdmVseSAoaWYgdGhleSBhcmUgbm90IGFscmVhZHkKLSAqIHNvcnRlZCkgYW5kIHJlbW92ZSBhbnkgZHVwbGljYXRlIGVudHJpZXMuCi0gKi8KLXN0YXRpYyB2b2lkIHNvcnRfcmVmX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyKQotewotCWludCBpLCBqOwotCXN0cnVjdCByZWZfZW50cnkgKmxhc3QgPSBOVUxMOwotCi0JLyoKLQkgKiBUaGlzIGNoZWNrIGFsc28gcHJldmVudHMgcGFzc2luZyBhIHplcm8tbGVuZ3RoIGFycmF5IHRvIHFzb3J0KCksCi0JICogd2hpY2ggaXMgYSBwcm9ibGVtIG9uIHNvbWUgcGxhdGZvcm1zLgotCSAqLwotCWlmIChkaXItPnNvcnRlZCA9PSBkaXItPm5yKQotCQlyZXR1cm47Ci0KLQlRU09SVChkaXItPmVudHJpZXMsIGRpci0+bnIsIHJlZl9lbnRyeV9jbXApOwotCi0JLyogUmVtb3ZlIGFueSBkdXBsaWNhdGVzOiAqLwotCWZvciAoaSA9IDAsIGogPSAwOyBqIDwgZGlyLT5ucjsgaisrKSB7Ci0JCXN0cnVjdCByZWZfZW50cnkgKmVudHJ5ID0gZGlyLT5lbnRyaWVzW2pdOwotCQlpZiAobGFzdCAmJiBpc19kdXBfcmVmKGxhc3QsIGVudHJ5KSkKLQkJCWZyZWVfcmVmX2VudHJ5KGVudHJ5KTsKLQkJZWxzZQotCQkJbGFzdCA9IGRpci0+ZW50cmllc1tpKytdID0gZW50cnk7Ci0JfQotCWRpci0+c29ydGVkID0gZGlyLT5uciA9IGk7Ci19Ci0KLS8qCi0gKiBSZXR1cm4gdHJ1ZSBpZiByZWZuYW1lLCB3aGljaCBoYXMgdGhlIHNwZWNpZmllZCBvaWQgYW5kIGZsYWdzLCBjYW4KLSAqIGJlIHJlc29sdmVkIHRvIGFuIG9iamVjdCBpbiB0aGUgZGF0YWJhc2UuIElmIHRoZSByZWZlcnJlZC10byBvYmplY3QKLSAqIGRvZXMgbm90IGV4aXN0LCBlbWl0IGEgd2FybmluZyBhbmQgcmV0dXJuIGZhbHNlLgotICovCi1zdGF0aWMgaW50IHJlZl9yZXNvbHZlc190b19vYmplY3QoY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJCQkgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQkJCQkgIHVuc2lnbmVkIGludCBmbGFncykKLXsKLQlpZiAoZmxhZ3MgJiBSRUZfSVNCUk9LRU4pCi0JCXJldHVybiAwOwotCWlmICghaGFzX3NoYTFfZmlsZShvaWQtPmhhc2gpKSB7Ci0JCWVycm9yKCIlcyBkb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIG9iamVjdCEiLCByZWZuYW1lKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAxOwotfQotCi0vKgotICogUmV0dXJuIHRydWUgaWYgdGhlIHJlZmVyZW5jZSBkZXNjcmliZWQgYnkgZW50cnkgY2FuIGJlIHJlc29sdmVkIHRvCi0gKiBhbiBvYmplY3QgaW4gdGhlIGRhdGFiYXNlOyBvdGhlcndpc2UsIGVtaXQgYSB3YXJuaW5nIGFuZCByZXR1cm4KLSAqIGZhbHNlLgotICovCi1zdGF0aWMgaW50IGVudHJ5X3Jlc29sdmVzX3RvX29iamVjdChzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeSkKLXsKLQlyZXR1cm4gcmVmX3Jlc29sdmVzX3RvX29iamVjdChlbnRyeS0+bmFtZSwKLQkJCQkgICAgICAmZW50cnktPnUudmFsdWUub2lkLCBlbnRyeS0+ZmxhZyk7Ci19Ci0KLXR5cGVkZWYgaW50IGVhY2hfcmVmX2VudHJ5X2ZuKHN0cnVjdCByZWZfZW50cnkgKmVudHJ5LCB2b2lkICpjYl9kYXRhKTsKLQotLyoKLSAqIENhbGwgZm4gZm9yIGVhY2ggcmVmZXJlbmNlIGluIGRpciB0aGF0IGhhcyBpbmRleCBpbiB0aGUgcmFuZ2UKLSAqIG9mZnNldCA8PSBpbmRleCA8IGRpci0+bnIuICBSZWN1cnNlIGludG8gc3ViZGlyZWN0b3JpZXMgdGhhdCBhcmUgaW4KLSAqIHRoYXQgaW5kZXggcmFuZ2UsIHNvcnRpbmcgdGhlbSBiZWZvcmUgaXRlcmF0aW5nLiAgVGhpcyBmdW5jdGlvbgotICogZG9lcyBub3Qgc29ydCBkaXIgaXRzZWxmOyBpdCBzaG91bGQgYmUgc29ydGVkIGJlZm9yZWhhbmQuICBmbiBpcwotICogY2FsbGVkIGZvciBhbGwgcmVmZXJlbmNlcywgaW5jbHVkaW5nIGJyb2tlbiBvbmVzLgotICovCi1zdGF0aWMgaW50IGRvX2Zvcl9lYWNoX2VudHJ5X2luX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyLCBpbnQgb2Zmc2V0LAotCQkJCSAgICBlYWNoX3JlZl9lbnRyeV9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKLXsKLQlpbnQgaTsKLQlhc3NlcnQoZGlyLT5zb3J0ZWQgPT0gZGlyLT5ucik7Ci0JZm9yIChpID0gb2Zmc2V0OyBpIDwgZGlyLT5ucjsgaSsrKSB7Ci0JCXN0cnVjdCByZWZfZW50cnkgKmVudHJ5ID0gZGlyLT5lbnRyaWVzW2ldOwotCQlpbnQgcmV0dmFsOwotCQlpZiAoZW50cnktPmZsYWcgJiBSRUZfRElSKSB7Ci0JCQlzdHJ1Y3QgcmVmX2RpciAqc3ViZGlyID0gZ2V0X3JlZl9kaXIoZW50cnkpOwotCQkJc29ydF9yZWZfZGlyKHN1YmRpcik7Ci0JCQlyZXR2YWwgPSBkb19mb3JfZWFjaF9lbnRyeV9pbl9kaXIoc3ViZGlyLCAwLCBmbiwgY2JfZGF0YSk7Ci0JCX0gZWxzZSB7Ci0JCQlyZXR2YWwgPSBmbihlbnRyeSwgY2JfZGF0YSk7Ci0JCX0KLQkJaWYgKHJldHZhbCkKLQkJCXJldHVybiByZXR2YWw7Ci0JfQotCXJldHVybiAwOwotfQotCi0vKgotICogTG9hZCBhbGwgb2YgdGhlIHJlZnMgZnJvbSB0aGUgZGlyIGludG8gb3VyIGluLW1lbW9yeSBjYWNoZS4gVGhlIGhhcmQgd29yawotICogb2YgbG9hZGluZyBsb29zZSByZWZzIGlzIGRvbmUgYnkgZ2V0X3JlZl9kaXIoKSwgc28gd2UganVzdCBuZWVkIHRvIHJlY3Vyc2UKLSAqIHRocm91Z2ggYWxsIG9mIHRoZSBzdWItZGlyZWN0b3JpZXMuIFdlIGRvIG5vdCBldmVuIG5lZWQgdG8gY2FyZSBhYm91dAotICogc29ydGluZywgYXMgdHJhdmVyc2FsIG9yZGVyIGRvZXMgbm90IG1hdHRlciB0byB1cy4KLSAqLwotc3RhdGljIHZvaWQgcHJpbWVfcmVmX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyKQotewotCWludCBpOwotCWZvciAoaSA9IDA7IGkgPCBkaXItPm5yOyBpKyspIHsKLQkJc3RydWN0IHJlZl9lbnRyeSAqZW50cnkgPSBkaXItPmVudHJpZXNbaV07Ci0JCWlmIChlbnRyeS0+ZmxhZyAmIFJFRl9ESVIpCi0JCQlwcmltZV9yZWZfZGlyKGdldF9yZWZfZGlyKGVudHJ5KSk7Ci0JfQotfQotCi0vKgotICogQSBsZXZlbCBpbiB0aGUgcmVmZXJlbmNlIGhpZXJhcmNoeSB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBpdGVyYXRlZAotICogdGhyb3VnaC4KLSAqLwotc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCB7Ci0JLyoKLQkgKiBUaGUgcmVmX2RpciBiZWluZyBpdGVyYXRlZCBvdmVyIGF0IHRoaXMgbGV2ZWwuIFRoZSByZWZfZGlyCi0JICogaXMgc29ydGVkIGJlZm9yZSBiZWluZyBzdG9yZWQgaGVyZS4KLQkgKi8KLQlzdHJ1Y3QgcmVmX2RpciAqZGlyOwotCi0JLyoKLQkgKiBUaGUgaW5kZXggb2YgdGhlIGN1cnJlbnQgZW50cnkgd2l0aGluIGRpciAod2hpY2ggbWlnaHQKLQkgKiBpdHNlbGYgYmUgYSBkaXJlY3RvcnkpLiBJZiBpbmRleCA9PSAtMSwgdGhlbiB0aGUgaXRlcmF0aW9uCi0JICogaGFzbid0IHlldCBiZWd1bi4gSWYgaW5kZXggPT0gZGlyLT5uciwgdGhlbiB0aGUgaXRlcmF0aW9uCi0JICogdGhyb3VnaCB0aGlzIGxldmVsIGlzIG92ZXIuCi0JICovCi0JaW50IGluZGV4OwotfTsKLQotLyoKLSAqIFJlcHJlc2VudCBhbiBpdGVyYXRpb24gdGhyb3VnaCBhIHJlZl9kaXIgaW4gdGhlIG1lbW9yeSBjYWNoZS4gVGhlCi0gKiBpdGVyYXRpb24gcmVjdXJzZXMgdGhyb3VnaCBzdWJkaXJlY3Rvcmllcy4KLSAqLwotc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciB7Ci0Jc3RydWN0IHJlZl9pdGVyYXRvciBiYXNlOwotCi0JLyoKLQkgKiBUaGUgbnVtYmVyIG9mIGxldmVscyBjdXJyZW50bHkgb24gdGhlIHN0YWNrLiBUaGlzIGlzIGFsd2F5cwotCSAqIGF0IGxlYXN0IDEsIGJlY2F1c2Ugd2hlbiBpdCBiZWNvbWVzIHplcm8gdGhlIGl0ZXJhdGlvbiBpcwotCSAqIGVuZGVkIGFuZCB0aGlzIHN0cnVjdCBpcyBmcmVlZC4KLQkgKi8KLQlzaXplX3QgbGV2ZWxzX25yOwotCi0JLyogVGhlIG51bWJlciBvZiBsZXZlbHMgdGhhdCBoYXZlIGJlZW4gYWxsb2NhdGVkIG9uIHRoZSBzdGFjayAqLwotCXNpemVfdCBsZXZlbHNfYWxsb2M7Ci0KLQkvKgotCSAqIEEgc3RhY2sgb2YgbGV2ZWxzLiBsZXZlbHNbMF0gaXMgdGhlIHVwcGVybW9zdCBsZXZlbCB0aGF0IGlzCi0JICogYmVpbmcgaXRlcmF0ZWQgb3ZlciBpbiB0aGlzIGl0ZXJhdGlvbi4gKFRoaXMgaXMgbm90Ci0JICogbmVjZXNzYXJ5IHRoZSB0b3AgbGV2ZWwgaW4gdGhlIHJlZmVyZW5jZXMgaGllcmFyY2h5LiBJZiB3ZQotCSAqIGFyZSBpdGVyYXRpbmcgdGhyb3VnaCBhIHN1YnRyZWUsIHRoZW4gbGV2ZWxzWzBdIHdpbGwgaG9sZAotCSAqIHRoZSByZWZfZGlyIGZvciB0aGF0IHN1YnRyZWUsIGFuZCBzdWJzZXF1ZW50IGxldmVscyB3aWxsIGdvCi0JICogb24gZnJvbSB0aGVyZS4pCi0JICovCi0Jc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWxzOwotfTsKLQotc3RhdGljIGludCBjYWNoZV9yZWZfaXRlcmF0b3JfYWR2YW5jZShzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpCi17Ci0Jc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciAqaXRlciA9Ci0JCShzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yICopcmVmX2l0ZXJhdG9yOwotCi0Jd2hpbGUgKDEpIHsKLQkJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWwgPQotCQkJJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIgLSAxXTsKLQkJc3RydWN0IHJlZl9kaXIgKmRpciA9IGxldmVsLT5kaXI7Ci0JCXN0cnVjdCByZWZfZW50cnkgKmVudHJ5OwotCi0JCWlmIChsZXZlbC0+aW5kZXggPT0gLTEpCi0JCQlzb3J0X3JlZl9kaXIoZGlyKTsKLQotCQlpZiAoKytsZXZlbC0+aW5kZXggPT0gbGV2ZWwtPmRpci0+bnIpIHsKLQkJCS8qIFRoaXMgbGV2ZWwgaXMgZXhoYXVzdGVkOyBwb3AgdXAgYSBsZXZlbCAqLwotCQkJaWYgKC0taXRlci0+bGV2ZWxzX25yID09IDApCi0JCQkJcmV0dXJuIHJlZl9pdGVyYXRvcl9hYm9ydChyZWZfaXRlcmF0b3IpOwotCi0JCQljb250aW51ZTsKLQkJfQotCi0JCWVudHJ5ID0gZGlyLT5lbnRyaWVzW2xldmVsLT5pbmRleF07Ci0KLQkJaWYgKGVudHJ5LT5mbGFnICYgUkVGX0RJUikgewotCQkJLyogcHVzaCBkb3duIGEgbGV2ZWwgKi8KLQkJCUFMTE9DX0dST1coaXRlci0+bGV2ZWxzLCBpdGVyLT5sZXZlbHNfbnIgKyAxLAotCQkJCSAgIGl0ZXItPmxldmVsc19hbGxvYyk7Ci0KLQkJCWxldmVsID0gJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIrK107Ci0JCQlsZXZlbC0+ZGlyID0gZ2V0X3JlZl9kaXIoZW50cnkpOwotCQkJbGV2ZWwtPmluZGV4ID0gLTE7Ci0JCX0gZWxzZSB7Ci0JCQlpdGVyLT5iYXNlLnJlZm5hbWUgPSBlbnRyeS0+bmFtZTsKLQkJCWl0ZXItPmJhc2Uub2lkID0gJmVudHJ5LT51LnZhbHVlLm9pZDsKLQkJCWl0ZXItPmJhc2UuZmxhZ3MgPSBlbnRyeS0+ZmxhZzsKLQkJCXJldHVybiBJVEVSX09LOwotCQl9Ci0JfQotfQotCi1zdGF0aWMgZW51bSBwZWVsX3N0YXR1cyBwZWVsX2VudHJ5KHN0cnVjdCByZWZfZW50cnkgKmVudHJ5LCBpbnQgcmVwZWVsKTsKLQotc3RhdGljIGludCBjYWNoZV9yZWZfaXRlcmF0b3JfcGVlbChzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IsCi0JCQkJICAgc3RydWN0IG9iamVjdF9pZCAqcGVlbGVkKQotewotCXN0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3IgKml0ZXIgPQotCQkoc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciAqKXJlZl9pdGVyYXRvcjsKLQlzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yX2xldmVsICpsZXZlbDsKLQlzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeTsKLQotCWxldmVsID0gJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIgLSAxXTsKLQotCWlmIChsZXZlbC0+aW5kZXggPT0gLTEpCi0JCWRpZSgiQlVHOiBwZWVsIGNhbGxlZCBiZWZvcmUgYWR2YW5jZSBmb3IgY2FjaGUgaXRlcmF0b3IiKTsKLQotCWVudHJ5ID0gbGV2ZWwtPmRpci0+ZW50cmllc1tsZXZlbC0+aW5kZXhdOwotCi0JaWYgKHBlZWxfZW50cnkoZW50cnksIDApKQotCQlyZXR1cm4gLTE7Ci0Jb2lkY3B5KHBlZWxlZCwgJmVudHJ5LT51LnZhbHVlLnBlZWxlZCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgY2FjaGVfcmVmX2l0ZXJhdG9yX2Fib3J0KHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKLXsKLQlzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yICppdGVyID0KLQkJKHN0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3IgKilyZWZfaXRlcmF0b3I7Ci0KLQlmcmVlKGl0ZXItPmxldmVscyk7Ci0JYmFzZV9yZWZfaXRlcmF0b3JfZnJlZShyZWZfaXRlcmF0b3IpOwotCXJldHVybiBJVEVSX0RPTkU7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVmX2l0ZXJhdG9yX3Z0YWJsZSBjYWNoZV9yZWZfaXRlcmF0b3JfdnRhYmxlID0gewotCWNhY2hlX3JlZl9pdGVyYXRvcl9hZHZhbmNlLAotCWNhY2hlX3JlZl9pdGVyYXRvcl9wZWVsLAotCWNhY2hlX3JlZl9pdGVyYXRvcl9hYm9ydAotfTsKLQotc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3IgKmNhY2hlX3JlZl9pdGVyYXRvcl9iZWdpbihzdHJ1Y3QgcmVmX2RpciAqZGlyKQotewotCXN0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3IgKml0ZXI7Ci0Jc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yOwotCXN0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3JfbGV2ZWwgKmxldmVsOwotCi0JaXRlciA9IHhjYWxsb2MoMSwgc2l6ZW9mKCppdGVyKSk7Ci0JcmVmX2l0ZXJhdG9yID0gJml0ZXItPmJhc2U7Ci0JYmFzZV9yZWZfaXRlcmF0b3JfaW5pdChyZWZfaXRlcmF0b3IsICZjYWNoZV9yZWZfaXRlcmF0b3JfdnRhYmxlKTsKLQlBTExPQ19HUk9XKGl0ZXItPmxldmVscywgMTAsIGl0ZXItPmxldmVsc19hbGxvYyk7Ci0KLQlpdGVyLT5sZXZlbHNfbnIgPSAxOwotCWxldmVsID0gJml0ZXItPmxldmVsc1swXTsKLQlsZXZlbC0+aW5kZXggPSAtMTsKLQlsZXZlbC0+ZGlyID0gZGlyOwotCi0JcmV0dXJuIHJlZl9pdGVyYXRvcjsKLX0KLQotc3RydWN0IG5vbm1hdGNoaW5nX3JlZl9kYXRhIHsKLQljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnNraXA7Ci0JY29uc3QgY2hhciAqY29uZmxpY3RpbmdfcmVmbmFtZTsKLX07Ci0KLXN0YXRpYyBpbnQgbm9ubWF0Y2hpbmdfcmVmX2ZuKHN0cnVjdCByZWZfZW50cnkgKmVudHJ5LCB2b2lkICp2ZGF0YSkKLXsKLQlzdHJ1Y3Qgbm9ubWF0Y2hpbmdfcmVmX2RhdGEgKmRhdGEgPSB2ZGF0YTsKLQotCWlmIChkYXRhLT5za2lwICYmIHN0cmluZ19saXN0X2hhc19zdHJpbmcoZGF0YS0+c2tpcCwgZW50cnktPm5hbWUpKQotCQlyZXR1cm4gMDsKLQotCWRhdGEtPmNvbmZsaWN0aW5nX3JlZm5hbWUgPSBlbnRyeS0+bmFtZTsKLQlyZXR1cm4gMTsKLX0KLQotLyoKLSAqIFJldHVybiAwIGlmIGEgcmVmZXJlbmNlIG5hbWVkIHJlZm5hbWUgY291bGQgYmUgY3JlYXRlZCB3aXRob3V0Ci0gKiBjb25mbGljdGluZyB3aXRoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIHJlZmVyZW5jZSBpbiBkaXIuCi0gKiBTZWUgdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlIGZvciBtb3JlIGluZm9ybWF0aW9uLgotICovCi1zdGF0aWMgaW50IHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZV9kaXIoY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJCQkJY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpleHRyYXMsCi0JCQkJCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcCwKLQkJCQkJc3RydWN0IHJlZl9kaXIgKmRpciwKLQkJCQkJc3RydWN0IHN0cmJ1ZiAqZXJyKQotewotCWNvbnN0IGNoYXIgKnNsYXNoOwotCWNvbnN0IGNoYXIgKmV4dHJhX3JlZm5hbWU7Ci0JaW50IHBvczsKLQlzdHJ1Y3Qgc3RyYnVmIGRpcm5hbWUgPSBTVFJCVUZfSU5JVDsKLQlpbnQgcmV0ID0gLTE7Ci0KLQkvKgotCSAqIEZvciB0aGUgc2FrZSBvZiBjb21tZW50cyBpbiB0aGlzIGZ1bmN0aW9uLCBzdXBwb3NlIHRoYXQKLQkgKiByZWZuYW1lIGlzICJyZWZzL2Zvby9iYXIiLgotCSAqLwotCi0JYXNzZXJ0KGVycik7Ci0KLQlzdHJidWZfZ3JvdygmZGlybmFtZSwgc3RybGVuKHJlZm5hbWUpICsgMSk7Ci0JZm9yIChzbGFzaCA9IHN0cmNocihyZWZuYW1lLCAnLycpOyBzbGFzaDsgc2xhc2ggPSBzdHJjaHIoc2xhc2ggKyAxLCAnLycpKSB7Ci0JCS8qIEV4cGFuZCBkaXJuYW1lIHRvIHRoZSBuZXcgcHJlZml4LCBub3QgaW5jbHVkaW5nIHRoZSB0cmFpbGluZyBzbGFzaDogKi8KLQkJc3RyYnVmX2FkZCgmZGlybmFtZSwgcmVmbmFtZSArIGRpcm5hbWUubGVuLCBzbGFzaCAtIHJlZm5hbWUgLSBkaXJuYW1lLmxlbik7Ci0KLQkJLyoKLQkJICogV2UgYXJlIHN0aWxsIGF0IGEgbGVhZGluZyBkaXIgb2YgdGhlIHJlZm5hbWUgKGUuZy4sCi0JCSAqICJyZWZzL2ZvbyI7IGlmIHRoZXJlIGlzIGEgcmVmZXJlbmNlIHdpdGggdGhhdCBuYW1lLAotCQkgKiBpdCBpcyBhIGNvbmZsaWN0LCAqdW5sZXNzKiBpdCBpcyBpbiBza2lwLgotCQkgKi8KLQkJaWYgKGRpcikgewotCQkJcG9zID0gc2VhcmNoX3JlZl9kaXIoZGlyLCBkaXJuYW1lLmJ1ZiwgZGlybmFtZS5sZW4pOwotCQkJaWYgKHBvcyA+PSAwICYmCi0JCQkgICAgKCFza2lwIHx8ICFzdHJpbmdfbGlzdF9oYXNfc3RyaW5nKHNraXAsIGRpcm5hbWUuYnVmKSkpIHsKLQkJCQkvKgotCQkJCSAqIFdlIGZvdW5kIGEgcmVmZXJlbmNlIHdob3NlIG5hbWUgaXMKLQkJCQkgKiBhIHByb3BlciBwcmVmaXggb2YgcmVmbmFtZTsgZS5nLiwKLQkJCQkgKiAicmVmcy9mb28iLCBhbmQgaXMgbm90IGluIHNraXAuCi0JCQkJICovCi0JCQkJc3RyYnVmX2FkZGYoZXJyLCAiJyVzJyBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJyVzJyIsCi0JCQkJCSAgICBkaXJuYW1lLmJ1ZiwgcmVmbmFtZSk7Ci0JCQkJZ290byBjbGVhbnVwOwotCQkJfQotCQl9Ci0KLQkJaWYgKGV4dHJhcyAmJiBzdHJpbmdfbGlzdF9oYXNfc3RyaW5nKGV4dHJhcywgZGlybmFtZS5idWYpICYmCi0JCSAgICAoIXNraXAgfHwgIXN0cmluZ19saXN0X2hhc19zdHJpbmcoc2tpcCwgZGlybmFtZS5idWYpKSkgewotCQkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIiwKLQkJCQkgICAgcmVmbmFtZSwgZGlybmFtZS5idWYpOwotCQkJZ290byBjbGVhbnVwOwotCQl9Ci0KLQkJLyoKLQkJICogT3RoZXJ3aXNlLCB3ZSBjYW4gdHJ5IHRvIGNvbnRpbnVlIG91ciBzZWFyY2ggd2l0aAotCQkgKiB0aGUgbmV4dCBjb21wb25lbnQuIFNvIHRyeSB0byBsb29rIHVwIHRoZQotCQkgKiBkaXJlY3RvcnksIGUuZy4sICJyZWZzL2Zvby8iLiBJZiB3ZSBjb21lIHVwIGVtcHR5LAotCQkgKiB3ZSBrbm93IHRoZXJlIGlzIG5vdGhpbmcgdW5kZXIgdGhpcyB3aG9sZSBwcmVmaXgsCi0JCSAqIGJ1dCBldmVuIGluIHRoYXQgY2FzZSB3ZSBzdGlsbCBoYXZlIHRvIGNvbnRpbnVlIHRoZQotCQkgKiBzZWFyY2ggZm9yIGNvbmZsaWN0cyB3aXRoIGV4dHJhcy4KLQkJICovCi0JCXN0cmJ1Zl9hZGRjaCgmZGlybmFtZSwgJy8nKTsKLQkJaWYgKGRpcikgewotCQkJcG9zID0gc2VhcmNoX3JlZl9kaXIoZGlyLCBkaXJuYW1lLmJ1ZiwgZGlybmFtZS5sZW4pOwotCQkJaWYgKHBvcyA8IDApIHsKLQkJCQkvKgotCQkJCSAqIFRoZXJlIHdhcyBubyBkaXJlY3RvcnkgInJlZnMvZm9vLyIsCi0JCQkJICogc28gdGhlcmUgaXMgbm90aGluZyB1bmRlciB0aGlzCi0JCQkJICogd2hvbGUgcHJlZml4LiBTbyB0aGVyZSBpcyBubyBuZWVkCi0JCQkJICogdG8gY29udGludWUgbG9va2luZyBmb3IgY29uZmxpY3RpbmcKLQkJCQkgKiByZWZlcmVuY2VzLiBCdXQgd2UgbmVlZCB0byBjb250aW51ZQotCQkJCSAqIGxvb2tpbmcgZm9yIGNvbmZsaWN0aW5nIGV4dHJhcy4KLQkJCQkgKi8KLQkJCQlkaXIgPSBOVUxMOwotCQkJfSBlbHNlIHsKLQkJCQlkaXIgPSBnZXRfcmVmX2RpcihkaXItPmVudHJpZXNbcG9zXSk7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQkvKgotCSAqIFdlIGFyZSBhdCB0aGUgbGVhZiBvZiBvdXIgcmVmbmFtZSAoZS5nLiwgInJlZnMvZm9vL2JhciIpLgotCSAqIFRoZXJlIGlzIG5vIHBvaW50IGluIHNlYXJjaGluZyBmb3IgYSByZWZlcmVuY2Ugd2l0aCB0aGF0Ci0JICogbmFtZSwgYmVjYXVzZSBhIHJlZm5hbWUgaXNuJ3QgY29uc2lkZXJlZCB0byBjb25mbGljdCB3aXRoCi0JICogaXRzZWxmLiBCdXQgd2Ugc3RpbGwgbmVlZCB0byBjaGVjayBmb3IgcmVmZXJlbmNlcyB3aG9zZQotCSAqIG5hbWVzIGFyZSBpbiB0aGUgInJlZnMvZm9vL2Jhci8iIG5hbWVzcGFjZSwgYmVjYXVzZSB0aGV5Ci0JICogKmRvKiBjb25mbGljdC4KLQkgKi8KLQlzdHJidWZfYWRkc3RyKCZkaXJuYW1lLCByZWZuYW1lICsgZGlybmFtZS5sZW4pOwotCXN0cmJ1Zl9hZGRjaCgmZGlybmFtZSwgJy8nKTsKLQotCWlmIChkaXIpIHsKLQkJcG9zID0gc2VhcmNoX3JlZl9kaXIoZGlyLCBkaXJuYW1lLmJ1ZiwgZGlybmFtZS5sZW4pOwotCi0JCWlmIChwb3MgPj0gMCkgewotCQkJLyoKLQkJCSAqIFdlIGZvdW5kIGEgZGlyZWN0b3J5IG5hbWVkICIkcmVmbmFtZS8iCi0JCQkgKiAoZS5nLiwgInJlZnMvZm9vL2Jhci8iKS4gSXQgaXMgYSBwcm9ibGVtCi0JCQkgKiBpZmYgaXQgY29udGFpbnMgYW55IHJlZiB0aGF0IGlzIG5vdCBpbgotCQkJICogInNraXAiLgotCQkJICovCi0JCQlzdHJ1Y3Qgbm9ubWF0Y2hpbmdfcmVmX2RhdGEgZGF0YTsKLQotCQkJZGF0YS5za2lwID0gc2tpcDsKLQkJCWRhdGEuY29uZmxpY3RpbmdfcmVmbmFtZSA9IE5VTEw7Ci0JCQlkaXIgPSBnZXRfcmVmX2RpcihkaXItPmVudHJpZXNbcG9zXSk7Ci0JCQlzb3J0X3JlZl9kaXIoZGlyKTsKLQkJCWlmIChkb19mb3JfZWFjaF9lbnRyeV9pbl9kaXIoZGlyLCAwLCBub25tYXRjaGluZ19yZWZfZm4sICZkYXRhKSkgewotCQkJCXN0cmJ1Zl9hZGRmKGVyciwgIiclcycgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICclcyciLAotCQkJCQkgICAgZGF0YS5jb25mbGljdGluZ19yZWZuYW1lLCByZWZuYW1lKTsKLQkJCQlnb3RvIGNsZWFudXA7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQlleHRyYV9yZWZuYW1lID0gZmluZF9kZXNjZW5kYW50X3JlZihkaXJuYW1lLmJ1ZiwgZXh0cmFzLCBza2lwKTsKLQlpZiAoZXh0cmFfcmVmbmFtZSkKLQkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIiwKLQkJCSAgICByZWZuYW1lLCBleHRyYV9yZWZuYW1lKTsKLQllbHNlCi0JCXJldCA9IDA7Ci0KLWNsZWFudXA6Ci0Jc3RyYnVmX3JlbGVhc2UoJmRpcm5hbWUpOwotCXJldHVybiByZXQ7Ci19Ci0KLXN0cnVjdCBwYWNrZWRfcmVmX2NhY2hlIHsKLQlzdHJ1Y3QgcmVmX2VudHJ5ICpyb290OwotCi0JLyoKLQkgKiBDb3VudCBvZiByZWZlcmVuY2VzIHRvIHRoZSBkYXRhIHN0cnVjdHVyZSBpbiB0aGlzIGluc3RhbmNlLAotCSAqIGluY2x1ZGluZyB0aGUgcG9pbnRlciBmcm9tIGZpbGVzX3JlZl9zdG9yZTo6cGFja2VkIGlmIGFueS4KLQkgKiBUaGUgZGF0YSB3aWxsIG5vdCBiZSBmcmVlZCBhcyBsb25nIGFzIHRoZSByZWZlcmVuY2UgY291bnQKLQkgKiBpcyBub256ZXJvLgotCSAqLwotCXVuc2lnbmVkIGludCByZWZlcnJlcnM7Ci0KLQkvKgotCSAqIElmZiB0aGUgcGFja2VkLXJlZnMgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBpbnN0YW5jZSBpcwotCSAqIGN1cnJlbnRseSBsb2NrZWQgZm9yIHdyaXRpbmcsIHRoaXMgcG9pbnRzIGF0IHRoZSBhc3NvY2lhdGVkCi0JICogbG9jayAod2hpY2ggaXMgb3duZWQgYnkgc29tZWJvZHkgZWxzZSkuICBUaGUgcmVmZXJyZXIgY291bnQKLQkgKiBpcyBhbHNvIGluY3JlbWVudGVkIHdoZW4gdGhlIGZpbGUgaXMgbG9ja2VkIGFuZCBkZWNyZW1lbnRlZAotCSAqIHdoZW4gaXQgaXMgdW5sb2NrZWQuCi0JICovCi0Jc3RydWN0IGxvY2tfZmlsZSAqbG9jazsKLQotCS8qIFRoZSBtZXRhZGF0YSBmcm9tIHdoZW4gdGhpcyBwYWNrZWQtcmVmcyBjYWNoZSB3YXMgcmVhZCAqLwotCXN0cnVjdCBzdGF0X3ZhbGlkaXR5IHZhbGlkaXR5OwotfTsKLQogLyoKICAqIEZ1dHVyZTogbmVlZCB0byBiZSBpbiAic3RydWN0IHJlcG9zaXRvcnkiCiAgKiB3aGVuIGRvaW5nIGEgZnVsbCBsaWJpZmljYXRpb24uCiAgKi8KIHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgewogCXN0cnVjdCByZWZfc3RvcmUgYmFzZTsKLQlzdHJ1Y3QgcmVmX2VudHJ5ICpsb29zZTsKLQlzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqcGFja2VkOworCXVuc2lnbmVkIGludCBzdG9yZV9mbGFnczsKKworCWNoYXIgKmdpdGRpcjsKKwljaGFyICpnaXRjb21tb25kaXI7CisKKwlzdHJ1Y3QgcmVmX2NhY2hlICpsb29zZTsKKworCXN0cnVjdCByZWZfc3RvcmUgKnBhY2tlZF9yZWZfc3RvcmU7CiB9OwogCi0vKiBMb2NrIHVzZWQgZm9yIHRoZSBtYWluIHBhY2tlZC1yZWZzIGZpbGU6ICovCi1zdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBwYWNrbG9jazsKLQotLyoKLSAqIEluY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50IG9mICpwYWNrZWRfcmVmcy4KLSAqLwotc3RhdGljIHZvaWQgYWNxdWlyZV9wYWNrZWRfcmVmX2NhY2hlKHN0cnVjdCBwYWNrZWRfcmVmX2NhY2hlICpwYWNrZWRfcmVmcykKLXsKLQlwYWNrZWRfcmVmcy0+cmVmZXJyZXJzKys7Ci19Ci0KLS8qCi0gKiBEZWNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50IG9mICpwYWNrZWRfcmVmcy4gIElmIGl0IGdvZXMgdG8gemVybywKLSAqIGZyZWUgKnBhY2tlZF9yZWZzIGFuZCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlIHJldHVybiBmYWxzZS4KLSAqLwotc3RhdGljIGludCByZWxlYXNlX3BhY2tlZF9yZWZfY2FjaGUoc3RydWN0IHBhY2tlZF9yZWZfY2FjaGUgKnBhY2tlZF9yZWZzKQotewotCWlmICghLS1wYWNrZWRfcmVmcy0+cmVmZXJyZXJzKSB7Ci0JCWZyZWVfcmVmX2VudHJ5KHBhY2tlZF9yZWZzLT5yb290KTsKLQkJc3RhdF92YWxpZGl0eV9jbGVhcigmcGFja2VkX3JlZnMtPnZhbGlkaXR5KTsKLQkJZnJlZShwYWNrZWRfcmVmcyk7Ci0JCXJldHVybiAxOwotCX0gZWxzZSB7Ci0JCXJldHVybiAwOwotCX0KLX0KLQotc3RhdGljIHZvaWQgY2xlYXJfcGFja2VkX3JlZl9jYWNoZShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzKQotewotCWlmIChyZWZzLT5wYWNrZWQpIHsKLQkJc3RydWN0IHBhY2tlZF9yZWZfY2FjaGUgKnBhY2tlZF9yZWZzID0gcmVmcy0+cGFja2VkOwotCi0JCWlmIChwYWNrZWRfcmVmcy0+bG9jaykKLQkJCWRpZSgiaW50ZXJuYWwgZXJyb3I6IHBhY2tlZC1yZWYgY2FjaGUgY2xlYXJlZCB3aGlsZSBsb2NrZWQiKTsKLQkJcmVmcy0+cGFja2VkID0gTlVMTDsKLQkJcmVsZWFzZV9wYWNrZWRfcmVmX2NhY2hlKHBhY2tlZF9yZWZzKTsKLQl9Ci19Ci0KIHN0YXRpYyB2b2lkIGNsZWFyX2xvb3NlX3JlZl9jYWNoZShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzKQogewogCWlmIChyZWZzLT5sb29zZSkgewotCQlmcmVlX3JlZl9lbnRyeShyZWZzLT5sb29zZSk7CisJCWZyZWVfcmVmX2NhY2hlKHJlZnMtPmxvb3NlKTsKIAkJcmVmcy0+bG9vc2UgPSBOVUxMOwogCX0KIH0KQEAgLTk2NywyMjQgKzQ0LDk4IEBACiAgKiBDcmVhdGUgYSBuZXcgc3VibW9kdWxlIHJlZiBjYWNoZSBhbmQgYWRkIGl0IHRvIHRoZSBpbnRlcm5hbAogICogc2V0IG9mIGNhY2hlcy4KICAqLwotc3RhdGljIHN0cnVjdCByZWZfc3RvcmUgKmZpbGVzX3JlZl9zdG9yZV9jcmVhdGUoY29uc3QgY2hhciAqc3VibW9kdWxlKQorc3RhdGljIHN0cnVjdCByZWZfc3RvcmUgKmZpbGVzX3JlZl9zdG9yZV9jcmVhdGUoY29uc3QgY2hhciAqZ2l0ZGlyLAorCQkJCQkJdW5zaWduZWQgaW50IGZsYWdzKQogewogCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPSB4Y2FsbG9jKDEsIHNpemVvZigqcmVmcykpOwogCXN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSA9IChzdHJ1Y3QgcmVmX3N0b3JlICopcmVmczsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKLQliYXNlX3JlZl9zdG9yZV9pbml0KHJlZl9zdG9yZSwgJnJlZnNfYmVfZmlsZXMsIHN1Ym1vZHVsZSk7CisJYmFzZV9yZWZfc3RvcmVfaW5pdChyZWZfc3RvcmUsICZyZWZzX2JlX2ZpbGVzKTsKKwlyZWZzLT5zdG9yZV9mbGFncyA9IGZsYWdzOworCisJcmVmcy0+Z2l0ZGlyID0geHN0cmR1cChnaXRkaXIpOworCWdldF9jb21tb25fZGlyX25vZW52KCZzYiwgZ2l0ZGlyKTsKKwlyZWZzLT5naXRjb21tb25kaXIgPSBzdHJidWZfZGV0YWNoKCZzYiwgTlVMTCk7CisJc3RyYnVmX2FkZGYoJnNiLCAiJXMvcGFja2VkLXJlZnMiLCByZWZzLT5naXRjb21tb25kaXIpOworCXJlZnMtPnBhY2tlZF9yZWZfc3RvcmUgPSBwYWNrZWRfcmVmX3N0b3JlX2NyZWF0ZShzYi5idWYsIGZsYWdzKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOwogCiAJcmV0dXJuIHJlZl9zdG9yZTsKIH0KIAogLyoKLSAqIERvd25jYXN0IHJlZl9zdG9yZSB0byBmaWxlc19yZWZfc3RvcmUuIERpZSBpZiByZWZfc3RvcmUgaXMgbm90IGEKLSAqIGZpbGVzX3JlZl9zdG9yZS4gSWYgc3VibW9kdWxlX2FsbG93ZWQgaXMgbm90IHRydWUsIHRoZW4gYWxzbyBkaWUgaWYKLSAqIGZpbGVzX3JlZl9zdG9yZSBpcyBmb3IgYSBzdWJtb2R1bGUgKGkuZS4sIG5vdCBmb3IgdGhlIG1haW4KLSAqIHJlcG9zaXRvcnkpLiBjYWxsZXIgaXMgdXNlZCBpbiBhbnkgbmVjZXNzYXJ5IGVycm9yIG1lc3NhZ2VzLgorICogRGllIGlmIHJlZnMgaXMgbm90IHRoZSBtYWluIHJlZiBzdG9yZS4gY2FsbGVyIGlzIHVzZWQgaW4gYW55CisgKiBuZWNlc3NhcnkgZXJyb3IgbWVzc2FnZXMuCiAgKi8KLXN0YXRpYyBzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpmaWxlc19kb3duY2FzdCgKLQkJc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLCBpbnQgc3VibW9kdWxlX2FsbG93ZWQsCi0JCWNvbnN0IGNoYXIgKmNhbGxlcikKK3N0YXRpYyB2b2lkIGZpbGVzX2Fzc2VydF9tYWluX3JlcG9zaXRvcnkoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKKwkJCQkJIGNvbnN0IGNoYXIgKmNhbGxlcikKIHsKKwlpZiAocmVmcy0+c3RvcmVfZmxhZ3MgJiBSRUZfU1RPUkVfTUFJTikKKwkJcmV0dXJuOworCisJZGllKCJCVUc6IG9wZXJhdGlvbiAlcyBvbmx5IGFsbG93ZWQgZm9yIG1haW4gcmVmIHN0b3JlIiwgY2FsbGVyKTsKK30KKworLyoKKyAqIERvd25jYXN0IHJlZl9zdG9yZSB0byBmaWxlc19yZWZfc3RvcmUuIERpZSBpZiByZWZfc3RvcmUgaXMgbm90IGEKKyAqIGZpbGVzX3JlZl9zdG9yZS4gcmVxdWlyZWRfZmxhZ3MgaXMgY29tcGFyZWQgd2l0aCByZWZfc3RvcmUncworICogc3RvcmVfZmxhZ3MgdG8gZW5zdXJlIHRoZSByZWZfc3RvcmUgaGFzIGFsbCByZXF1aXJlZCBjYXBhYmlsaXRpZXMuCisgKiAiY2FsbGVyIiBpcyB1c2VkIGluIGFueSBuZWNlc3NhcnkgZXJyb3IgbWVzc2FnZXMuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpmaWxlc19kb3duY2FzdChzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkJCSAgICAgIHVuc2lnbmVkIGludCByZXF1aXJlZF9mbGFncywKKwkJCQkJICAgICAgY29uc3QgY2hhciAqY2FsbGVyKQoreworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnM7CisKIAlpZiAocmVmX3N0b3JlLT5iZSAhPSAmcmVmc19iZV9maWxlcykKIAkJZGllKCJCVUc6IHJlZl9zdG9yZSBpcyB0eXBlIFwiJXNcIiBub3QgXCJmaWxlc1wiIGluICVzIiwKIAkJICAgIHJlZl9zdG9yZS0+YmUtPm5hbWUsIGNhbGxlcik7CiAKLQlpZiAoIXN1Ym1vZHVsZV9hbGxvd2VkKQotCQlhc3NlcnRfbWFpbl9yZXBvc2l0b3J5KHJlZl9zdG9yZSwgY2FsbGVyKTsKKwlyZWZzID0gKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKilyZWZfc3RvcmU7CiAKLQlyZXR1cm4gKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKilyZWZfc3RvcmU7CisJaWYgKChyZWZzLT5zdG9yZV9mbGFncyAmIHJlcXVpcmVkX2ZsYWdzKSAhPSByZXF1aXJlZF9mbGFncykKKwkJZGllKCJCVUc6IG9wZXJhdGlvbiAlcyByZXF1aXJlcyBhYmlsaXRpZXMgMHgleCwgYnV0IG9ubHkgaGF2ZSAweCV4IiwKKwkJICAgIGNhbGxlciwgcmVxdWlyZWRfZmxhZ3MsIHJlZnMtPnN0b3JlX2ZsYWdzKTsKKworCXJldHVybiByZWZzOwogfQogCi0vKiBUaGUgbGVuZ3RoIG9mIGEgcGVlbGVkIHJlZmVyZW5jZSBsaW5lIGluIHBhY2tlZC1yZWZzLCBpbmNsdWRpbmcgRU9MOiAqLwotI2RlZmluZSBQRUVMRURfTElORV9MRU5HVEggNDIKLQotLyoKLSAqIFRoZSBwYWNrZWQtcmVmcyBoZWFkZXIgbGluZSB0aGF0IHdlIHdyaXRlIG91dC4gIFBlcmhhcHMgb3RoZXIKLSAqIHRyYWl0cyB3aWxsIGJlIGFkZGVkIGxhdGVyLiAgVGhlIHRyYWlsaW5nIHNwYWNlIGlzIHJlcXVpcmVkLgotICovCi1zdGF0aWMgY29uc3QgY2hhciBQQUNLRURfUkVGU19IRUFERVJbXSA9Ci0JIiMgcGFjay1yZWZzIHdpdGg6IHBlZWxlZCBmdWxseS1wZWVsZWQgXG4iOwotCi0vKgotICogUGFyc2Ugb25lIGxpbmUgZnJvbSBhIHBhY2tlZC1yZWZzIGZpbGUuICBXcml0ZSB0aGUgU0hBMSB0byBzaGExLgotICogUmV0dXJuIGEgcG9pbnRlciB0byB0aGUgcmVmbmFtZSB3aXRoaW4gdGhlIGxpbmUgKG51bGwtdGVybWluYXRlZCksCi0gKiBvciBOVUxMIGlmIHRoZXJlIHdhcyBhIHByb2JsZW0uCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9yZWZfbGluZShzdHJ1Y3Qgc3RyYnVmICpsaW5lLCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHZvaWQgZmlsZXNfcmVmbG9nX3BhdGgoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKKwkJCSAgICAgIHN0cnVjdCBzdHJidWYgKnNiLAorCQkJICAgICAgY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKLQljb25zdCBjaGFyICpyZWY7Ci0KLQkvKgotCSAqIDQyOiB0aGUgYW5zd2VyIHRvIGV2ZXJ5dGhpbmcuCi0JICoKLQkgKiBJbiB0aGlzIGNhc2UsIGl0IGhhcHBlbnMgdG8gYmUgdGhlIGFuc3dlciB0bwotCSAqICA0MCAobGVuZ3RoIG9mIHNoYTEgaGV4IHJlcHJlc2VudGF0aW9uKQotCSAqICArMSAoc3BhY2UgaW4gYmV0d2VlbiBoZXggYW5kIG5hbWUpCi0JICogICsxIChuZXdsaW5lIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUpCi0JICovCi0JaWYgKGxpbmUtPmxlbiA8PSA0MikKLQkJcmV0dXJuIE5VTEw7Ci0KLQlpZiAoZ2V0X3NoYTFfaGV4KGxpbmUtPmJ1Ziwgc2hhMSkgPCAwKQotCQlyZXR1cm4gTlVMTDsKLQlpZiAoIWlzc3BhY2UobGluZS0+YnVmWzQwXSkpCi0JCXJldHVybiBOVUxMOwotCi0JcmVmID0gbGluZS0+YnVmICsgNDE7Ci0JaWYgKGlzc3BhY2UoKnJlZikpCi0JCXJldHVybiBOVUxMOwotCi0JaWYgKGxpbmUtPmJ1ZltsaW5lLT5sZW4gLSAxXSAhPSAnXG4nKQotCQlyZXR1cm4gTlVMTDsKLQlsaW5lLT5idWZbLS1saW5lLT5sZW5dID0gMDsKLQotCXJldHVybiByZWY7Ci19Ci0KLS8qCi0gKiBSZWFkIGYsIHdoaWNoIGlzIGEgcGFja2VkLXJlZnMgZmlsZSwgaW50byBkaXIuCi0gKgotICogQSBjb21tZW50IGxpbmUgb2YgdGhlIGZvcm0gIiMgcGFjay1yZWZzIHdpdGg6ICIgbWF5IGNvbnRhaW4gemVybyBvcgotICogbW9yZSB0cmFpdHMuIFdlIGludGVycHJldCB0aGUgdHJhaXRzIGFzIGZvbGxvd3M6Ci0gKgotICogICBObyB0cmFpdHM6Ci0gKgotICogICAgICBQcm9iYWJseSBubyByZWZlcmVuY2VzIGFyZSBwZWVsZWQuIEJ1dCBpZiB0aGUgZmlsZSBjb250YWlucyBhCi0gKiAgICAgIHBlZWxlZCB2YWx1ZSBmb3IgYSByZWZlcmVuY2UsIHdlIHdpbGwgdXNlIGl0LgotICoKLSAqICAgcGVlbGVkOgotICoKLSAqICAgICAgUmVmZXJlbmNlcyB1bmRlciAicmVmcy90YWdzLyIsIGlmIHRoZXkgKmNhbiogYmUgcGVlbGVkLCAqYXJlKgotICogICAgICBwZWVsZWQgaW4gdGhpcyBmaWxlLiBSZWZlcmVuY2VzIG91dHNpZGUgb2YgInJlZnMvdGFncy8iIGFyZQotICogICAgICBwcm9iYWJseSBub3QgcGVlbGVkIGV2ZW4gaWYgdGhleSBjb3VsZCBoYXZlIGJlZW4sIGJ1dCBpZiB3ZSBmaW5kCi0gKiAgICAgIGEgcGVlbGVkIHZhbHVlIGZvciBzdWNoIGEgcmVmZXJlbmNlIHdlIHdpbGwgdXNlIGl0LgotICoKLSAqICAgZnVsbHktcGVlbGVkOgotICoKLSAqICAgICAgQWxsIHJlZmVyZW5jZXMgaW4gdGhlIGZpbGUgdGhhdCBjYW4gYmUgcGVlbGVkIGFyZSBwZWVsZWQuCi0gKiAgICAgIEludmVyc2VseSAoYW5kIHRoaXMgaXMgbW9yZSBpbXBvcnRhbnQpLCBhbnkgcmVmZXJlbmNlcyBpbiB0aGUKLSAqICAgICAgZmlsZSBmb3Igd2hpY2ggbm8gcGVlbGVkIHZhbHVlIGlzIHJlY29yZGVkIGlzIG5vdCBwZWVsYWJsZS4gVGhpcwotICogICAgICB0cmFpdCBzaG91bGQgdHlwaWNhbGx5IGJlIHdyaXR0ZW4gYWxvbmdzaWRlICJwZWVsZWQiIGZvcgotICogICAgICBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgY2xpZW50cywgYnV0IHdlIGRvIG5vdCByZXF1aXJlIGl0Ci0gKiAgICAgIChpLmUuLCAicGVlbGVkIiBpcyBhIG5vLW9wIGlmICJmdWxseS1wZWVsZWQiIGlzIHNldCkuCi0gKi8KLXN0YXRpYyB2b2lkIHJlYWRfcGFja2VkX3JlZnMoRklMRSAqZiwgc3RydWN0IHJlZl9kaXIgKmRpcikKLXsKLQlzdHJ1Y3QgcmVmX2VudHJ5ICpsYXN0ID0gTlVMTDsKLQlzdHJ1Y3Qgc3RyYnVmIGxpbmUgPSBTVFJCVUZfSU5JVDsKLQllbnVtIHsgUEVFTEVEX05PTkUsIFBFRUxFRF9UQUdTLCBQRUVMRURfRlVMTFkgfSBwZWVsZWQgPSBQRUVMRURfTk9ORTsKLQotCXdoaWxlIChzdHJidWZfZ2V0d2hvbGVsaW5lKCZsaW5lLCBmLCAnXG4nKSAhPSBFT0YpIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQkJY29uc3QgY2hhciAqcmVmbmFtZTsKLQkJY29uc3QgY2hhciAqdHJhaXRzOwotCi0JCWlmIChza2lwX3ByZWZpeChsaW5lLmJ1ZiwgIiMgcGFjay1yZWZzIHdpdGg6IiwgJnRyYWl0cykpIHsKLQkJCWlmIChzdHJzdHIodHJhaXRzLCAiIGZ1bGx5LXBlZWxlZCAiKSkKLQkJCQlwZWVsZWQgPSBQRUVMRURfRlVMTFk7Ci0JCQllbHNlIGlmIChzdHJzdHIodHJhaXRzLCAiIHBlZWxlZCAiKSkKLQkJCQlwZWVsZWQgPSBQRUVMRURfVEFHUzsKLQkJCS8qIHBlcmhhcHMgb3RoZXIgdHJhaXRzIGxhdGVyIGFzIHdlbGwgKi8KLQkJCWNvbnRpbnVlOwotCQl9Ci0KLQkJcmVmbmFtZSA9IHBhcnNlX3JlZl9saW5lKCZsaW5lLCBzaGExKTsKLQkJaWYgKHJlZm5hbWUpIHsKLQkJCWludCBmbGFnID0gUkVGX0lTUEFDS0VEOwotCi0JCQlpZiAoY2hlY2tfcmVmbmFtZV9mb3JtYXQocmVmbmFtZSwgUkVGTkFNRV9BTExPV19PTkVMRVZFTCkpIHsKLQkJCQlpZiAoIXJlZm5hbWVfaXNfc2FmZShyZWZuYW1lKSkKLQkJCQkJZGllKCJwYWNrZWQgcmVmbmFtZSBpcyBkYW5nZXJvdXM6ICVzIiwgcmVmbmFtZSk7Ci0JCQkJaGFzaGNscihzaGExKTsKLQkJCQlmbGFnIHw9IFJFRl9CQURfTkFNRSB8IFJFRl9JU0JST0tFTjsKLQkJCX0KLQkJCWxhc3QgPSBjcmVhdGVfcmVmX2VudHJ5KHJlZm5hbWUsIHNoYTEsIGZsYWcsIDApOwotCQkJaWYgKHBlZWxlZCA9PSBQRUVMRURfRlVMTFkgfHwKLQkJCSAgICAocGVlbGVkID09IFBFRUxFRF9UQUdTICYmIHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL3RhZ3MvIikpKQotCQkJCWxhc3QtPmZsYWcgfD0gUkVGX0tOT1dTX1BFRUxFRDsKLQkJCWFkZF9yZWYoZGlyLCBsYXN0KTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCWlmIChsYXN0ICYmCi0JCSAgICBsaW5lLmJ1ZlswXSA9PSAnXicgJiYKLQkJICAgIGxpbmUubGVuID09IFBFRUxFRF9MSU5FX0xFTkdUSCAmJgotCQkgICAgbGluZS5idWZbUEVFTEVEX0xJTkVfTEVOR1RIIC0gMV0gPT0gJ1xuJyAmJgotCQkgICAgIWdldF9zaGExX2hleChsaW5lLmJ1ZiArIDEsIHNoYTEpKSB7Ci0JCQloYXNoY3B5KGxhc3QtPnUudmFsdWUucGVlbGVkLmhhc2gsIHNoYTEpOwotCQkJLyoKLQkJCSAqIFJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgZmlsZSBoZWFkZXIgc2FpZCwKLQkJCSAqIHdlIGRlZmluaXRlbHkga25vdyB0aGUgdmFsdWUgb2YgKnRoaXMqCi0JCQkgKiByZWZlcmVuY2U6Ci0JCQkgKi8KLQkJCWxhc3QtPmZsYWcgfD0gUkVGX0tOT1dTX1BFRUxFRDsKLQkJfQorCXN3aXRjaCAocmVmX3R5cGUocmVmbmFtZSkpIHsKKwljYXNlIFJFRl9UWVBFX1BFUl9XT1JLVFJFRToKKwljYXNlIFJFRl9UWVBFX1BTRVVET1JFRjoKKwkJc3RyYnVmX2FkZGYoc2IsICIlcy9sb2dzLyVzIiwgcmVmcy0+Z2l0ZGlyLCByZWZuYW1lKTsKKwkJYnJlYWs7CisJY2FzZSBSRUZfVFlQRV9OT1JNQUw6CisJCXN0cmJ1Zl9hZGRmKHNiLCAiJXMvbG9ncy8lcyIsIHJlZnMtPmdpdGNvbW1vbmRpciwgcmVmbmFtZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRpZSgiQlVHOiB1bmtub3duIHJlZiB0eXBlICVkIG9mIHJlZiAlcyIsCisJCSAgICByZWZfdHlwZShyZWZuYW1lKSwgcmVmbmFtZSk7CiAJfQotCi0Jc3RyYnVmX3JlbGVhc2UoJmxpbmUpOwogfQogCi0vKgotICogR2V0IHRoZSBwYWNrZWRfcmVmX2NhY2hlIGZvciB0aGUgc3BlY2lmaWVkIGZpbGVzX3JlZl9zdG9yZSwKLSAqIGNyZWF0aW5nIGl0IGlmIG5lY2Vzc2FyeS4KLSAqLwotc3RhdGljIHN0cnVjdCBwYWNrZWRfcmVmX2NhY2hlICpnZXRfcGFja2VkX3JlZl9jYWNoZShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzKQorc3RhdGljIHZvaWQgZmlsZXNfcmVmX3BhdGgoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKKwkJCSAgIHN0cnVjdCBzdHJidWYgKnNiLAorCQkJICAgY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKLQljaGFyICpwYWNrZWRfcmVmc19maWxlOwotCi0JaWYgKCpyZWZzLT5iYXNlLnN1Ym1vZHVsZSkKLQkJcGFja2VkX3JlZnNfZmlsZSA9IGdpdF9wYXRoZHVwX3N1Ym1vZHVsZShyZWZzLT5iYXNlLnN1Ym1vZHVsZSwKLQkJCQkJCQkgInBhY2tlZC1yZWZzIik7Ci0JZWxzZQotCQlwYWNrZWRfcmVmc19maWxlID0gZ2l0X3BhdGhkdXAoInBhY2tlZC1yZWZzIik7Ci0KLQlpZiAocmVmcy0+cGFja2VkICYmCi0JICAgICFzdGF0X3ZhbGlkaXR5X2NoZWNrKCZyZWZzLT5wYWNrZWQtPnZhbGlkaXR5LCBwYWNrZWRfcmVmc19maWxlKSkKLQkJY2xlYXJfcGFja2VkX3JlZl9jYWNoZShyZWZzKTsKLQotCWlmICghcmVmcy0+cGFja2VkKSB7Ci0JCUZJTEUgKmY7Ci0KLQkJcmVmcy0+cGFja2VkID0geGNhbGxvYygxLCBzaXplb2YoKnJlZnMtPnBhY2tlZCkpOwotCQlhY3F1aXJlX3BhY2tlZF9yZWZfY2FjaGUocmVmcy0+cGFja2VkKTsKLQkJcmVmcy0+cGFja2VkLT5yb290ID0gY3JlYXRlX2Rpcl9lbnRyeShyZWZzLCAiIiwgMCwgMCk7Ci0JCWYgPSBmb3BlbihwYWNrZWRfcmVmc19maWxlLCAiciIpOwotCQlpZiAoZikgewotCQkJc3RhdF92YWxpZGl0eV91cGRhdGUoJnJlZnMtPnBhY2tlZC0+dmFsaWRpdHksIGZpbGVubyhmKSk7Ci0JCQlyZWFkX3BhY2tlZF9yZWZzKGYsIGdldF9yZWZfZGlyKHJlZnMtPnBhY2tlZC0+cm9vdCkpOwotCQkJZmNsb3NlKGYpOwotCQl9CisJc3dpdGNoIChyZWZfdHlwZShyZWZuYW1lKSkgeworCWNhc2UgUkVGX1RZUEVfUEVSX1dPUktUUkVFOgorCWNhc2UgUkVGX1RZUEVfUFNFVURPUkVGOgorCQlzdHJidWZfYWRkZihzYiwgIiVzLyVzIiwgcmVmcy0+Z2l0ZGlyLCByZWZuYW1lKTsKKwkJYnJlYWs7CisJY2FzZSBSRUZfVFlQRV9OT1JNQUw6CisJCXN0cmJ1Zl9hZGRmKHNiLCAiJXMvJXMiLCByZWZzLT5naXRjb21tb25kaXIsIHJlZm5hbWUpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlkaWUoIkJVRzogdW5rbm93biByZWYgdHlwZSAlZCBvZiByZWYgJXMiLAorCQkgICAgcmVmX3R5cGUocmVmbmFtZSksIHJlZm5hbWUpOwogCX0KLQlmcmVlKHBhY2tlZF9yZWZzX2ZpbGUpOwotCXJldHVybiByZWZzLT5wYWNrZWQ7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVmX2RpciAqZ2V0X3BhY2tlZF9yZWZfZGlyKHN0cnVjdCBwYWNrZWRfcmVmX2NhY2hlICpwYWNrZWRfcmVmX2NhY2hlKQotewotCXJldHVybiBnZXRfcmVmX2RpcihwYWNrZWRfcmVmX2NhY2hlLT5yb290KTsKLX0KLQotc3RhdGljIHN0cnVjdCByZWZfZGlyICpnZXRfcGFja2VkX3JlZnMoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcykKLXsKLQlyZXR1cm4gZ2V0X3BhY2tlZF9yZWZfZGlyKGdldF9wYWNrZWRfcmVmX2NhY2hlKHJlZnMpKTsKLX0KLQotLyoKLSAqIEFkZCBhIHJlZmVyZW5jZSB0byB0aGUgaW4tbWVtb3J5IHBhY2tlZCByZWZlcmVuY2UgY2FjaGUuICBUaGlzIG1heQotICogb25seSBiZSBjYWxsZWQgd2hpbGUgdGhlIHBhY2tlZC1yZWZzIGZpbGUgaXMgbG9ja2VkIChzZWUKLSAqIGxvY2tfcGFja2VkX3JlZnMoKSkuICBUbyBhY3R1YWxseSB3cml0ZSB0aGUgcGFja2VkLXJlZnMgZmlsZSwgY2FsbAotICogY29tbWl0X3BhY2tlZF9yZWZzKCkuCi0gKi8KLXN0YXRpYyB2b2lkIGFkZF9wYWNrZWRfcmVmKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCi0JCQkgICBjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQotewotCXN0cnVjdCBwYWNrZWRfcmVmX2NhY2hlICpwYWNrZWRfcmVmX2NhY2hlID0gZ2V0X3BhY2tlZF9yZWZfY2FjaGUocmVmcyk7Ci0KLQlpZiAoIXBhY2tlZF9yZWZfY2FjaGUtPmxvY2spCi0JCWRpZSgiaW50ZXJuYWwgZXJyb3I6IHBhY2tlZCByZWZzIG5vdCBsb2NrZWQiKTsKLQlhZGRfcmVmKGdldF9wYWNrZWRfcmVmX2RpcihwYWNrZWRfcmVmX2NhY2hlKSwKLQkJY3JlYXRlX3JlZl9lbnRyeShyZWZuYW1lLCBzaGExLCBSRUZfSVNQQUNLRUQsIDEpKTsKIH0KIAogLyoKQEAgLTExOTIsMjggKzE0MywyMSBAQAogICogKHdpdGhvdXQgcmVjdXJzaW5nKS4gIGRpcm5hbWUgbXVzdCBlbmQgd2l0aCAnLycuICBkaXIgbXVzdCBiZSB0aGUKICAqIGRpcmVjdG9yeSBlbnRyeSBjb3JyZXNwb25kaW5nIHRvIGRpcm5hbWUuCiAgKi8KLXN0YXRpYyB2b2lkIHJlYWRfbG9vc2VfcmVmcyhjb25zdCBjaGFyICpkaXJuYW1lLCBzdHJ1Y3QgcmVmX2RpciAqZGlyKQorc3RhdGljIHZvaWQgbG9vc2VfZmlsbF9yZWZfZGlyKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCSAgICAgICBzdHJ1Y3QgcmVmX2RpciAqZGlyLCBjb25zdCBjaGFyICpkaXJuYW1lKQogewotCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPSBkaXItPnJlZl9zdG9yZTsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfUkVBRCwgImZpbGxfcmVmX2RpciIpOwogCURJUiAqZDsKIAlzdHJ1Y3QgZGlyZW50ICpkZTsKIAlpbnQgZGlybmFtZWxlbiA9IHN0cmxlbihkaXJuYW1lKTsKIAlzdHJ1Y3Qgc3RyYnVmIHJlZm5hbWU7CiAJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CiAJc2l6ZV90IHBhdGhfYmFzZWxlbjsKLQlpbnQgZXJyID0gMDsKIAotCWlmICgqcmVmcy0+YmFzZS5zdWJtb2R1bGUpCi0JCWVyciA9IHN0cmJ1Zl9naXRfcGF0aF9zdWJtb2R1bGUoJnBhdGgsIHJlZnMtPmJhc2Uuc3VibW9kdWxlLCAiJXMiLCBkaXJuYW1lKTsKLQllbHNlCi0JCXN0cmJ1Zl9naXRfcGF0aCgmcGF0aCwgIiVzIiwgZGlybmFtZSk7CisJZmlsZXNfcmVmX3BhdGgocmVmcywgJnBhdGgsIGRpcm5hbWUpOwogCXBhdGhfYmFzZWxlbiA9IHBhdGgubGVuOwogCi0JaWYgKGVycikgewotCQlzdHJidWZfcmVsZWFzZSgmcGF0aCk7Ci0JCXJldHVybjsKLQl9Ci0KIAlkID0gb3BlbmRpcihwYXRoLmJ1Zik7CiAJaWYgKCFkKSB7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKQEAgLTEyMjQsNyArMTY4LDcgQEAKIAlzdHJidWZfYWRkKCZyZWZuYW1lLCBkaXJuYW1lLCBkaXJuYW1lbGVuKTsKIAogCXdoaWxlICgoZGUgPSByZWFkZGlyKGQpKSAhPSBOVUxMKSB7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQlzdHJ1Y3Qgc3RhdCBzdDsKIAkJaW50IGZsYWc7CiAKQEAgLTEyMzksMjYgKzE4MywxNiBAQAogCQl9IGVsc2UgaWYgKFNfSVNESVIoc3Quc3RfbW9kZSkpIHsKIAkJCXN0cmJ1Zl9hZGRjaCgmcmVmbmFtZSwgJy8nKTsKIAkJCWFkZF9lbnRyeV90b19kaXIoZGlyLAotCQkJCQkgY3JlYXRlX2Rpcl9lbnRyeShyZWZzLCByZWZuYW1lLmJ1ZiwKKwkJCQkJIGNyZWF0ZV9kaXJfZW50cnkoZGlyLT5jYWNoZSwgcmVmbmFtZS5idWYsCiAJCQkJCQkJICByZWZuYW1lLmxlbiwgMSkpOwogCQl9IGVsc2UgewotCQkJaW50IHJlYWRfb2s7Ci0KLQkJCWlmICgqcmVmcy0+YmFzZS5zdWJtb2R1bGUpIHsKLQkJCQloYXNoY2xyKHNoYTEpOwotCQkJCWZsYWcgPSAwOwotCQkJCXJlYWRfb2sgPSAhcmVzb2x2ZV9naXRsaW5rX3JlZihyZWZzLT5iYXNlLnN1Ym1vZHVsZSwKLQkJCQkJCQkgICAgICAgcmVmbmFtZS5idWYsIHNoYTEpOwotCQkJfSBlbHNlIHsKLQkJCQlyZWFkX29rID0gIXJlYWRfcmVmX2Z1bGwocmVmbmFtZS5idWYsCi0JCQkJCQkJIFJFU09MVkVfUkVGX1JFQURJTkcsCi0JCQkJCQkJIHNoYTEsICZmbGFnKTsKLQkJCX0KLQotCQkJaWYgKCFyZWFkX29rKSB7Ci0JCQkJaGFzaGNscihzaGExKTsKKwkJCWlmICghcmVmc19yZXNvbHZlX3JlZl91bnNhZmUoJnJlZnMtPmJhc2UsCisJCQkJCQkgICAgIHJlZm5hbWUuYnVmLAorCQkJCQkJICAgICBSRVNPTFZFX1JFRl9SRUFESU5HLAorCQkJCQkJICAgICBvaWQuaGFzaCwgJmZsYWcpKSB7CisJCQkJb2lkY2xyKCZvaWQpOwogCQkJCWZsYWcgfD0gUkVGX0lTQlJPS0VOOwotCQkJfSBlbHNlIGlmIChpc19udWxsX3NoYTEoc2hhMSkpIHsKKwkJCX0gZWxzZSBpZiAoaXNfbnVsbF9vaWQoJm9pZCkpIHsKIAkJCQkvKgogCQkJCSAqIEl0IGlzIHNvIGFzdHJvbm9taWNhbGx5IHVubGlrZWx5CiAJCQkJICogdGhhdCBOVUxMX1NIQTEgaXMgdGhlIFNIQS0xIG9mIGFuCkBAIC0xMjc0LDExICsyMDgsMTEgQEAKIAkJCQkJCSBSRUZOQU1FX0FMTE9XX09ORUxFVkVMKSkgewogCQkJCWlmICghcmVmbmFtZV9pc19zYWZlKHJlZm5hbWUuYnVmKSkKIAkJCQkJZGllKCJsb29zZSByZWZuYW1lIGlzIGRhbmdlcm91czogJXMiLCByZWZuYW1lLmJ1Zik7Ci0JCQkJaGFzaGNscihzaGExKTsKKwkJCQlvaWRjbHIoJm9pZCk7CiAJCQkJZmxhZyB8PSBSRUZfQkFEX05BTUUgfCBSRUZfSVNCUk9LRU47CiAJCQl9CiAJCQlhZGRfZW50cnlfdG9fZGlyKGRpciwKLQkJCQkJIGNyZWF0ZV9yZWZfZW50cnkocmVmbmFtZS5idWYsIHNoYTEsIGZsYWcsIDApKTsKKwkJCQkJIGNyZWF0ZV9yZWZfZW50cnkocmVmbmFtZS5idWYsICZvaWQsIGZsYWcpKTsKIAkJfQogCQlzdHJidWZfc2V0bGVuKCZyZWZuYW1lLCBkaXJuYW1lbGVuKTsKIAkJc3RyYnVmX3NldGxlbigmcGF0aCwgcGF0aF9iYXNlbGVuKTsKQEAgLTEyODYsOSArMjIwLDI0IEBACiAJc3RyYnVmX3JlbGVhc2UoJnJlZm5hbWUpOwogCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKIAljbG9zZWRpcihkKTsKKworCS8qCisJICogTWFudWFsbHkgYWRkIHJlZnMvYmlzZWN0LCB3aGljaCwgYmVpbmcgcGVyLXdvcmt0cmVlLCBtaWdodAorCSAqIG5vdCBhcHBlYXIgaW4gdGhlIGRpcmVjdG9yeSBsaXN0aW5nIGZvciByZWZzLyBpbiB0aGUgbWFpbgorCSAqIHJlcG8uCisJICovCisJaWYgKCFzdHJjbXAoZGlybmFtZSwgInJlZnMvIikpIHsKKwkJaW50IHBvcyA9IHNlYXJjaF9yZWZfZGlyKGRpciwgInJlZnMvYmlzZWN0LyIsIDEyKTsKKworCQlpZiAocG9zIDwgMCkgeworCQkJc3RydWN0IHJlZl9lbnRyeSAqY2hpbGRfZW50cnkgPSBjcmVhdGVfZGlyX2VudHJ5KAorCQkJCQlkaXItPmNhY2hlLCAicmVmcy9iaXNlY3QvIiwgMTIsIDEpOworCQkJYWRkX2VudHJ5X3RvX2RpcihkaXIsIGNoaWxkX2VudHJ5KTsKKwkJfQorCX0KIH0KIAotc3RhdGljIHN0cnVjdCByZWZfZGlyICpnZXRfbG9vc2VfcmVmcyhzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzKQorc3RhdGljIHN0cnVjdCByZWZfY2FjaGUgKmdldF9sb29zZV9yZWZfY2FjaGUoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcykKIHsKIAlpZiAoIXJlZnMtPmxvb3NlKSB7CiAJCS8qCkBAIC0xMjk2LDQ3ICsyNDUsMTkgQEAKIAkJICogYXJlIGFib3V0IHRvIHJlYWQgdGhlIG9ubHkgc3ViZGlyZWN0b3J5IHRoYXQgY2FuCiAJCSAqIGhvbGQgcmVmZXJlbmNlczoKIAkJICovCi0JCXJlZnMtPmxvb3NlID0gY3JlYXRlX2Rpcl9lbnRyeShyZWZzLCAiIiwgMCwgMCk7CisJCXJlZnMtPmxvb3NlID0gY3JlYXRlX3JlZl9jYWNoZSgmcmVmcy0+YmFzZSwgbG9vc2VfZmlsbF9yZWZfZGlyKTsKKworCQkvKiBXZSdyZSBnb2luZyB0byBmaWxsIHRoZSB0b3AgbGV2ZWwgb3Vyc2VsdmVzOiAqLworCQlyZWZzLT5sb29zZS0+cm9vdC0+ZmxhZyAmPSB+UkVGX0lOQ09NUExFVEU7CisKIAkJLyoKLQkJICogQ3JlYXRlIGFuIGluY29tcGxldGUgZW50cnkgZm9yICJyZWZzLyI6CisJCSAqIEFkZCBhbiBpbmNvbXBsZXRlIGVudHJ5IGZvciAicmVmcy8iICh0byBiZSBmaWxsZWQKKwkJICogbGF6aWx5KToKIAkJICovCi0JCWFkZF9lbnRyeV90b19kaXIoZ2V0X3JlZl9kaXIocmVmcy0+bG9vc2UpLAotCQkJCSBjcmVhdGVfZGlyX2VudHJ5KHJlZnMsICJyZWZzLyIsIDUsIDEpKTsKKwkJYWRkX2VudHJ5X3RvX2RpcihnZXRfcmVmX2RpcihyZWZzLT5sb29zZS0+cm9vdCksCisJCQkJIGNyZWF0ZV9kaXJfZW50cnkocmVmcy0+bG9vc2UsICJyZWZzLyIsIDUsIDEpKTsKIAl9Ci0JcmV0dXJuIGdldF9yZWZfZGlyKHJlZnMtPmxvb3NlKTsKLX0KLQotLyoKLSAqIFJldHVybiB0aGUgcmVmX2VudHJ5IGZvciB0aGUgZ2l2ZW4gcmVmbmFtZSBmcm9tIHRoZSBwYWNrZWQKLSAqIHJlZmVyZW5jZXMuICBJZiBpdCBkb2VzIG5vdCBleGlzdCwgcmV0dXJuIE5VTEwuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVmX2VudHJ5ICpnZXRfcGFja2VkX3JlZihzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzLAotCQkJCQljb25zdCBjaGFyICpyZWZuYW1lKQotewotCXJldHVybiBmaW5kX3JlZihnZXRfcGFja2VkX3JlZnMocmVmcyksIHJlZm5hbWUpOwotfQotCi0vKgotICogQSBsb29zZSByZWYgZmlsZSBkb2Vzbid0IGV4aXN0OyBjaGVjayBmb3IgYSBwYWNrZWQgcmVmLgotICovCi1zdGF0aWMgaW50IHJlc29sdmVfcGFja2VkX3JlZihzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzLAotCQkJICAgICAgY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJCSAgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGludCAqZmxhZ3MpCi17Ci0Jc3RydWN0IHJlZl9lbnRyeSAqZW50cnk7Ci0KLQkvKgotCSAqIFRoZSBsb29zZSByZWZlcmVuY2UgZmlsZSBkb2VzIG5vdCBleGlzdDsgY2hlY2sgZm9yIGEgcGFja2VkCi0JICogcmVmZXJlbmNlLgotCSAqLwotCWVudHJ5ID0gZ2V0X3BhY2tlZF9yZWYocmVmcywgcmVmbmFtZSk7Ci0JaWYgKGVudHJ5KSB7Ci0JCWhhc2hjcHkoc2hhMSwgZW50cnktPnUudmFsdWUub2lkLmhhc2gpOwotCQkqZmxhZ3MgfD0gUkVGX0lTUEFDS0VEOwotCQlyZXR1cm4gMDsKLQl9Ci0JLyogcmVmbmFtZSBpcyBub3QgYSBwYWNrZWQgcmVmZXJlbmNlLiAqLwotCXJldHVybiAtMTsKKwlyZXR1cm4gcmVmcy0+bG9vc2U7CiB9CiAKIHN0YXRpYyBpbnQgZmlsZXNfcmVhZF9yYXdfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKQEAgLTEzNDQsNyArMjY1LDcgQEAKIAkJCSAgICAgIHN0cnVjdCBzdHJidWYgKnJlZmVyZW50LCB1bnNpZ25lZCBpbnQgKnR5cGUpCiB7CiAJc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9Ci0JCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMSwgInJlYWRfcmF3X3JlZiIpOworCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIFJFRl9TVE9SRV9SRUFELCAicmVhZF9yYXdfcmVmIik7CiAJc3RydWN0IHN0cmJ1ZiBzYl9jb250ZW50cyA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgc2JfcGF0aCA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKnBhdGg7CkBAIC0xMzU4LDEwICsyNzksNyBAQAogCSp0eXBlID0gMDsKIAlzdHJidWZfcmVzZXQoJnNiX3BhdGgpOwogCi0JaWYgKCpyZWZzLT5iYXNlLnN1Ym1vZHVsZSkKLQkJc3RyYnVmX2dpdF9wYXRoX3N1Ym1vZHVsZSgmc2JfcGF0aCwgcmVmcy0+YmFzZS5zdWJtb2R1bGUsICIlcyIsIHJlZm5hbWUpOwotCWVsc2UKLQkJc3RyYnVmX2dpdF9wYXRoKCZzYl9wYXRoLCAiJXMiLCByZWZuYW1lKTsKKwlmaWxlc19yZWZfcGF0aChyZWZzLCAmc2JfcGF0aCwgcmVmbmFtZSk7CiAKIAlwYXRoID0gc2JfcGF0aC5idWY7CiAKQEAgLTEzODUsNyArMzAzLDggQEAKIAlpZiAobHN0YXQocGF0aCwgJnN0KSA8IDApIHsKIAkJaWYgKGVycm5vICE9IEVOT0VOVCkKIAkJCWdvdG8gb3V0OwotCQlpZiAocmVzb2x2ZV9wYWNrZWRfcmVmKHJlZnMsIHJlZm5hbWUsIHNoYTEsIHR5cGUpKSB7CisJCWlmIChyZWZzX3JlYWRfcmF3X3JlZihyZWZzLT5wYWNrZWRfcmVmX3N0b3JlLCByZWZuYW1lLAorCQkJCSAgICAgIHNoYTEsIHJlZmVyZW50LCB0eXBlKSkgewogCQkJZXJybm8gPSBFTk9FTlQ7CiAJCQlnb3RvIG91dDsKIAkJfQpAQCAtMTQyNCw3ICszNDMsOCBAQAogCQkgKiByZWYgaXMgc3VwcG9zZWQgdG8gYmUsIHRoZXJlIGNvdWxkIHN0aWxsIGJlIGEKIAkJICogcGFja2VkIHJlZjoKIAkJICovCi0JCWlmIChyZXNvbHZlX3BhY2tlZF9yZWYocmVmcywgcmVmbmFtZSwgc2hhMSwgdHlwZSkpIHsKKwkJaWYgKHJlZnNfcmVhZF9yYXdfcmVmKHJlZnMtPnBhY2tlZF9yZWZfc3RvcmUsIHJlZm5hbWUsCisJCQkJICAgICAgc2hhMSwgcmVmZXJlbnQsIHR5cGUpKSB7CiAJCQllcnJubyA9IEVJU0RJUjsKIAkJCWdvdG8gb3V0OwogCQl9CkBAIC0xNDg5LDkgKzQwOSw3IEBACiAKIHN0YXRpYyB2b2lkIHVubG9ja19yZWYoc3RydWN0IHJlZl9sb2NrICpsb2NrKQogewotCS8qIERvIG5vdCBmcmVlIGxvY2stPmxrIC0tIGF0ZXhpdCgpIHN0aWxsIGxvb2tzIGF0IHRoZW0gKi8KLQlpZiAobG9jay0+bGspCi0JCXJvbGxiYWNrX2xvY2tfZmlsZShsb2NrLT5sayk7CisJcm9sbGJhY2tfbG9ja19maWxlKCZsb2NrLT5sayk7CiAJZnJlZShsb2NrLT5yZWZfbmFtZSk7CiAJZnJlZShsb2NrKTsKIH0KQEAgLTE1MDYsNyArNDI0LDcgQEAKICAqCiAgKiBJZiB0aGUgcmVmZXJlbmNlIGRvZXNuJ3QgYWxyZWFkeSBleGlzdCwgdmVyaWZ5IHRoYXQgcmVmbmFtZSBkb2Vzbid0CiAgKiBoYXZlIGEgRC9GIGNvbmZsaWN0IHdpdGggYW55IGV4aXN0aW5nIHJlZmVyZW5jZXMuIGV4dHJhcyBhbmQgc2tpcAotICogYXJlIHBhc3NlZCB0byB2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZGlyKCkgZm9yIHRoaXMgY2hlY2suCisgKiBhcmUgcGFzc2VkIHRvIHJlZnNfdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKCkgZm9yIHRoaXMgY2hlY2suCiAgKgogICogSWYgbXVzdGV4aXN0IGlzIG5vdCBzZXQgYW5kIHRoZSByZWZlcmVuY2UgaXMgbm90IGZvdW5kIG9yIGlzCiAgKiBicm9rZW4sIGxvY2sgdGhlIHJlZmVyZW5jZSBhbnl3YXkgYnV0IGNsZWFyIHNoYTEuCkBAIC0xNTIxLDcgKzQzOSw3IEBACiAgKgogICogYnV0IGl0IGluY2x1ZGVzIGEgbG90IG1vcmUgY29kZSB0bwogICogLSBEZWFsIHdpdGggcG9zc2libGUgcmFjZXMgd2l0aCBvdGhlciBwcm9jZXNzZXMKLSAqIC0gQXZvaWQgY2FsbGluZyB2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZGlyKCkgd2hlbiBpdCBjYW4gYmUKKyAqIC0gQXZvaWQgY2FsbGluZyByZWZzX3ZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZSgpIHdoZW4gaXQgY2FuIGJlCiAgKiAgIGF2b2lkZWQsIG5hbWVseSBpZiB3ZSB3ZXJlIHN1Y2Nlc3NmdWxseSBhYmxlIHRvIHJlYWQgdGhlIHJlZgogICogLSBHZW5lcmF0ZSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlcyBpbiB0aGUgY2FzZSBvZiBmYWlsdXJlCiAgKi8KQEAgLTE1NDAsNyArNDU4LDcgQEAKIAlpbnQgcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKIAogCWFzc2VydChlcnIpOwotCWFzc2VydF9tYWluX3JlcG9zaXRvcnkoJnJlZnMtPmJhc2UsICJsb2NrX3Jhd19yZWYiKTsKKwlmaWxlc19hc3NlcnRfbWFpbl9yZXBvc2l0b3J5KHJlZnMsICJsb2NrX3Jhd19yZWYiKTsKIAogCSp0eXBlID0gMDsKIApAQCAtMTU0OSw3ICs0NjcsNyBAQAogCSpsb2NrX3AgPSBsb2NrID0geGNhbGxvYygxLCBzaXplb2YoKmxvY2spKTsKIAogCWxvY2stPnJlZl9uYW1lID0geHN0cmR1cChyZWZuYW1lKTsKLQlzdHJidWZfZ2l0X3BhdGgoJnJlZl9maWxlLCAiJXMiLCByZWZuYW1lKTsKKwlmaWxlc19yZWZfcGF0aChyZWZzLCAmcmVmX2ZpbGUsIHJlZm5hbWUpOwogCiByZXRyeToKIAlzd2l0Y2ggKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMocmVmX2ZpbGUuYnVmKSkgewpAQCAtMTU2NCw3ICs0ODIsOCBAQAogCQkgKiBhbm90aGVyIHJlZmVyZW5jZSBzdWNoIGFzICJyZWZzL2ZvbyIuIFRoZXJlIGlzIG5vCiAJCSAqIHJlYXNvbiB0byBleHBlY3QgdGhpcyBlcnJvciB0byBiZSB0cmFuc2l0b3J5LgogCQkgKi8KLQkJaWYgKHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZShyZWZuYW1lLCBleHRyYXMsIHNraXAsIGVycikpIHsKKwkJaWYgKHJlZnNfdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKCZyZWZzLT5iYXNlLCByZWZuYW1lLAorCQkJCQkJICBleHRyYXMsIHNraXAsIGVycikpIHsKIAkJCWlmIChtdXN0ZXhpc3QpIHsKIAkJCQkvKgogCQkJCSAqIFRvIHRoZSB1c2VyIHRoZSByZWxldmFudCBlcnJvciBpcwpAQCAtMTU3Nyw3ICs0OTYsOCBAQAogCQkJfSBlbHNlIHsKIAkJCQkvKgogCQkJCSAqIFRoZSBlcnJvciBtZXNzYWdlIHNldCBieQotCQkJCSAqIHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZV9kaXIoKSBpcyBPSy4KKwkJCQkgKiByZWZzX3ZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZSgpIGlzCisJCQkJICogT0suCiAJCQkJICovCiAJCQkJcmV0ID0gVFJBTlNBQ1RJT05fTkFNRV9DT05GTElDVDsKIAkJCX0KQEAgLTE2MDMsMTAgKzUyMyw5IEBACiAJCWdvdG8gZXJyb3JfcmV0dXJuOwogCX0KIAotCWlmICghbG9jay0+bGspCi0JCWxvY2stPmxrID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxvY2tfZmlsZSkpOwotCi0JaWYgKGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUobG9jay0+bGssIHJlZl9maWxlLmJ1ZiwgTE9DS19OT19ERVJFRikgPCAwKSB7CisJaWYgKGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGVfdGltZW91dCgKKwkJCSAgICAmbG9jay0+bGssIHJlZl9maWxlLmJ1ZiwgTE9DS19OT19ERVJFRiwKKwkJCSAgICBnZXRfZmlsZXNfcmVmX2xvY2tfdGltZW91dF9tcygpKSA8IDApIHsKIAkJaWYgKGVycm5vID09IEVOT0VOVCAmJiAtLWF0dGVtcHRzX3JlbWFpbmluZyA+IDApIHsKIAkJCS8qCiAJCQkgKiBNYXliZSBzb21lYm9keSBqdXN0IGRlbGV0ZWQgb25lIG9mIHRoZQpAQCAtMTY2NywxMCArNTg2LDkgQEAKIAkJCQlnb3RvIGVycm9yX3JldHVybjsKIAkJCX0gZWxzZSBpZiAocmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmcmVmX2ZpbGUsCiAJCQkJCQkJICBSRU1PVkVfRElSX0VNUFRZX09OTFkpKSB7Ci0JCQkJaWYgKHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZV9kaXIoCi0JCQkJCQkgICAgcmVmbmFtZSwgZXh0cmFzLCBza2lwLAotCQkJCQkJICAgIGdldF9sb29zZV9yZWZzKHJlZnMpLAotCQkJCQkJICAgIGVycikpIHsKKwkJCQlpZiAocmVmc192ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUoCisJCQkJCQkgICAgJnJlZnMtPmJhc2UsIHJlZm5hbWUsCisJCQkJCQkgICAgZXh0cmFzLCBza2lwLCBlcnIpKSB7CiAJCQkJCS8qCiAJCQkJCSAqIFRoZSBlcnJvciBtZXNzYWdlIHNldCBieQogCQkJCQkgKiB2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUoKSBpcyBPSy4KQEAgLTE3MDIsMTYgKzYyMCwxMyBAQAogCiAJCS8qCiAJCSAqIElmIHRoZSByZWYgZGlkIG5vdCBleGlzdCBhbmQgd2UgYXJlIGNyZWF0aW5nIGl0LAotCQkgKiBtYWtlIHN1cmUgdGhlcmUgaXMgbm8gZXhpc3RpbmcgcGFja2VkIHJlZiB3aG9zZQotCQkgKiBuYW1lIGJlZ2lucyB3aXRoIG91ciByZWZuYW1lLCBub3IgYSBwYWNrZWQgcmVmCi0JCSAqIHdob3NlIG5hbWUgaXMgYSBwcm9wZXIgcHJlZml4IG9mIG91ciByZWZuYW1lLgorCQkgKiBtYWtlIHN1cmUgdGhlcmUgaXMgbm8gZXhpc3RpbmcgcGFja2VkIHJlZiB0aGF0CisJCSAqIGNvbmZsaWN0cyB3aXRoIHJlZm5hbWU6CiAJCSAqLwotCQlpZiAodmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlX2RpcigKLQkJCQkgICAgcmVmbmFtZSwgZXh0cmFzLCBza2lwLAotCQkJCSAgICBnZXRfcGFja2VkX3JlZnMocmVmcyksCi0JCQkJICAgIGVycikpIHsKKwkJaWYgKHJlZnNfdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKAorCQkJCSAgICByZWZzLT5wYWNrZWRfcmVmX3N0b3JlLCByZWZuYW1lLAorCQkJCSAgICBleHRyYXMsIHNraXAsIGVycikpCiAJCQlnb3RvIGVycm9yX3JldHVybjsKLQkJfQogCX0KIAogCXJldCA9IDA7CkBAIC0xNzI2LDg1ICs2NDEsOSBAQAogCXJldHVybiByZXQ7CiB9CiAKLS8qCi0gKiBQZWVsIHRoZSBlbnRyeSAoaWYgcG9zc2libGUpIGFuZCByZXR1cm4gaXRzIG5ldyBwZWVsX3N0YXR1cy4gIElmCi0gKiByZXBlZWwgaXMgdHJ1ZSwgcmUtcGVlbCB0aGUgZW50cnkgZXZlbiBpZiB0aGVyZSBpcyBhbiBvbGQgcGVlbGVkCi0gKiB2YWx1ZSB0aGF0IGlzIGFscmVhZHkgc3RvcmVkIGluIGl0LgotICoKLSAqIEl0IGlzIE9LIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGEgcGFja2VkIHJlZmVyZW5jZSBlbnRyeSB0aGF0Ci0gKiBtaWdodCBiZSBzdGFsZSBhbmQgbWlnaHQgZXZlbiByZWZlciB0byBhbiBvYmplY3QgdGhhdCBoYXMgc2luY2UKLSAqIGJlZW4gZ2FyYmFnZS1jb2xsZWN0ZWQuICBJbiBzdWNoIGEgY2FzZSwgaWYgdGhlIGVudHJ5IGhhcwotICogUkVGX0tOT1dTX1BFRUxFRCB0aGVuIGxlYXZlIHRoZSBzdGF0dXMgdW5jaGFuZ2VkIGFuZCByZXR1cm4KLSAqIFBFRUxfUEVFTEVEIG9yIFBFRUxfTk9OX1RBRzsgb3RoZXJ3aXNlLCByZXR1cm4gUEVFTF9JTlZBTElELgotICovCi1zdGF0aWMgZW51bSBwZWVsX3N0YXR1cyBwZWVsX2VudHJ5KHN0cnVjdCByZWZfZW50cnkgKmVudHJ5LCBpbnQgcmVwZWVsKQotewotCWVudW0gcGVlbF9zdGF0dXMgc3RhdHVzOwotCi0JaWYgKGVudHJ5LT5mbGFnICYgUkVGX0tOT1dTX1BFRUxFRCkgewotCQlpZiAocmVwZWVsKSB7Ci0JCQllbnRyeS0+ZmxhZyAmPSB+UkVGX0tOT1dTX1BFRUxFRDsKLQkJCW9pZGNscigmZW50cnktPnUudmFsdWUucGVlbGVkKTsKLQkJfSBlbHNlIHsKLQkJCXJldHVybiBpc19udWxsX29pZCgmZW50cnktPnUudmFsdWUucGVlbGVkKSA/Ci0JCQkJUEVFTF9OT05fVEFHIDogUEVFTF9QRUVMRUQ7Ci0JCX0KLQl9Ci0JaWYgKGVudHJ5LT5mbGFnICYgUkVGX0lTQlJPS0VOKQotCQlyZXR1cm4gUEVFTF9CUk9LRU47Ci0JaWYgKGVudHJ5LT5mbGFnICYgUkVGX0lTU1lNUkVGKQotCQlyZXR1cm4gUEVFTF9JU19TWU1SRUY7Ci0KLQlzdGF0dXMgPSBwZWVsX29iamVjdChlbnRyeS0+dS52YWx1ZS5vaWQuaGFzaCwgZW50cnktPnUudmFsdWUucGVlbGVkLmhhc2gpOwotCWlmIChzdGF0dXMgPT0gUEVFTF9QRUVMRUQgfHwgc3RhdHVzID09IFBFRUxfTk9OX1RBRykKLQkJZW50cnktPmZsYWcgfD0gUkVGX0tOT1dTX1BFRUxFRDsKLQlyZXR1cm4gc3RhdHVzOwotfQotCi1zdGF0aWMgaW50IGZpbGVzX3BlZWxfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKLQkJCSAgY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSkKLXsKLQlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0gZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAicGVlbF9yZWYiKTsKLQlpbnQgZmxhZzsKLQl1bnNpZ25lZCBjaGFyIGJhc2VbMjBdOwotCi0JaWYgKGN1cnJlbnRfcmVmX2l0ZXIgJiYgY3VycmVudF9yZWZfaXRlci0+cmVmbmFtZSA9PSByZWZuYW1lKSB7Ci0JCXN0cnVjdCBvYmplY3RfaWQgcGVlbGVkOwotCi0JCWlmIChyZWZfaXRlcmF0b3JfcGVlbChjdXJyZW50X3JlZl9pdGVyLCAmcGVlbGVkKSkKLQkJCXJldHVybiAtMTsKLQkJaGFzaGNweShzaGExLCBwZWVsZWQuaGFzaCk7Ci0JCXJldHVybiAwOwotCX0KLQotCWlmIChyZWFkX3JlZl9mdWxsKHJlZm5hbWUsIFJFU09MVkVfUkVGX1JFQURJTkcsIGJhc2UsICZmbGFnKSkKLQkJcmV0dXJuIC0xOwotCi0JLyoKLQkgKiBJZiB0aGUgcmVmZXJlbmNlIGlzIHBhY2tlZCwgcmVhZCBpdHMgcmVmX2VudHJ5IGZyb20gdGhlCi0JICogY2FjaGUgaW4gdGhlIGhvcGUgdGhhdCB3ZSBhbHJlYWR5IGtub3cgaXRzIHBlZWxlZCB2YWx1ZS4KLQkgKiBXZSBvbmx5IHRyeSB0aGlzIG9wdGltaXphdGlvbiBvbiBwYWNrZWQgcmVmZXJlbmNlcyBiZWNhdXNlCi0JICogKGEpIGZvcmNpbmcgdGhlIGZpbGxpbmcgb2YgdGhlIGxvb3NlIHJlZmVyZW5jZSBjYWNoZSBjb3VsZAotCSAqIGJlIGV4cGVuc2l2ZSBhbmQgKGIpIGxvb3NlIHJlZmVyZW5jZXMgYW55d2F5IHVzdWFsbHkgZG8gbm90Ci0JICogaGF2ZSBSRUZfS05PV1NfUEVFTEVELgotCSAqLwotCWlmIChmbGFnICYgUkVGX0lTUEFDS0VEKSB7Ci0JCXN0cnVjdCByZWZfZW50cnkgKnIgPSBnZXRfcGFja2VkX3JlZihyZWZzLCByZWZuYW1lKTsKLQkJaWYgKHIpIHsKLQkJCWlmIChwZWVsX2VudHJ5KHIsIDApKQotCQkJCXJldHVybiAtMTsKLQkJCWhhc2hjcHkoc2hhMSwgci0+dS52YWx1ZS5wZWVsZWQuaGFzaCk7Ci0JCQlyZXR1cm4gMDsKLQkJfQotCX0KLQotCXJldHVybiBwZWVsX29iamVjdChiYXNlLCBzaGExKTsKLX0KLQogc3RydWN0IGZpbGVzX3JlZl9pdGVyYXRvciB7CiAJc3RydWN0IHJlZl9pdGVyYXRvciBiYXNlOwogCi0Jc3RydWN0IHBhY2tlZF9yZWZfY2FjaGUgKnBhY2tlZF9yZWZfY2FjaGU7CiAJc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlcjA7CiAJdW5zaWduZWQgaW50IGZsYWdzOwogfTsKQEAgLTE4NTcsNyArNjk2LDYgQEAKIAlpZiAoaXRlci0+aXRlcjApCiAJCW9rID0gcmVmX2l0ZXJhdG9yX2Fib3J0KGl0ZXItPml0ZXIwKTsKIAotCXJlbGVhc2VfcGFja2VkX3JlZl9jYWNoZShpdGVyLT5wYWNrZWRfcmVmX2NhY2hlKTsKIAliYXNlX3JlZl9pdGVyYXRvcl9mcmVlKHJlZl9pdGVyYXRvcik7CiAJcmV0dXJuIG9rOwogfQpAQCAtMTg3MiwyNCArNzEwLDE2IEBACiAJCXN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKIAkJY29uc3QgY2hhciAqcHJlZml4LCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7Ci0Jc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9Ci0JCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMSwgInJlZl9pdGVyYXRvcl9iZWdpbiIpOwotCXN0cnVjdCByZWZfZGlyICpsb29zZV9kaXIsICpwYWNrZWRfZGlyOwotCXN0cnVjdCByZWZfaXRlcmF0b3IgKmxvb3NlX2l0ZXIsICpwYWNrZWRfaXRlcjsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzOworCXN0cnVjdCByZWZfaXRlcmF0b3IgKmxvb3NlX2l0ZXIsICpwYWNrZWRfaXRlciwgKm92ZXJsYXlfaXRlcjsKIAlzdHJ1Y3QgZmlsZXNfcmVmX2l0ZXJhdG9yICppdGVyOwogCXN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcjsKKwl1bnNpZ25lZCBpbnQgcmVxdWlyZWRfZmxhZ3MgPSBSRUZfU1RPUkVfUkVBRDsKIAotCWlmICghcmVmcykKLQkJcmV0dXJuIGVtcHR5X3JlZl9pdGVyYXRvcl9iZWdpbigpOworCWlmICghKGZsYWdzICYgRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU4pKQorCQlyZXF1aXJlZF9mbGFncyB8PSBSRUZfU1RPUkVfT0RCOwogCi0JaWYgKHJlZl9wYXJhbm9pYSA8IDApCi0JCXJlZl9wYXJhbm9pYSA9IGdpdF9lbnZfYm9vbCgiR0lUX1JFRl9QQVJBTk9JQSIsIDApOwotCWlmIChyZWZfcGFyYW5vaWEpCi0JCWZsYWdzIHw9IERPX0ZPUl9FQUNIX0lOQ0xVREVfQlJPS0VOOwotCi0JaXRlciA9IHhjYWxsb2MoMSwgc2l6ZW9mKCppdGVyKSk7Ci0JcmVmX2l0ZXJhdG9yID0gJml0ZXItPmJhc2U7Ci0JYmFzZV9yZWZfaXRlcmF0b3JfaW5pdChyZWZfaXRlcmF0b3IsICZmaWxlc19yZWZfaXRlcmF0b3JfdnRhYmxlKTsKKwlyZWZzID0gZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCByZXF1aXJlZF9mbGFncywgInJlZl9pdGVyYXRvcl9iZWdpbiIpOwogCiAJLyoKIAkgKiBXZSBtdXN0IG1ha2Ugc3VyZSB0aGF0IGFsbCBsb29zZSByZWZzIGFyZSByZWFkIGJlZm9yZQpAQCAtMTg5Nyw0MyArNzI3LDQyIEBACiAJICogY29uZGl0aW9uIGlmIGxvb3NlIHJlZnMgYXJlIG1pZ3JhdGVkIHRvIHRoZSBwYWNrZWQtcmVmcwogCSAqIGZpbGUgYnkgYSBzaW11bHRhbmVvdXMgcHJvY2VzcywgYnV0IG91ciBpbi1tZW1vcnkgdmlldyBpcwogCSAqIGZyb20gYmVmb3JlIHRoZSBtaWdyYXRpb24uIFdlIGVuc3VyZSB0aGlzIGFzIGZvbGxvd3M6Ci0JICogRmlyc3QsIHdlIGNhbGwgcHJpbWVfcmVmX2RpcigpLCB3aGljaCBwcmUtcmVhZHMgdGhlIGxvb3NlCi0JICogcmVmZXJlbmNlcyBmb3IgdGhlIHN1YnRyZWUgaW50byB0aGUgY2FjaGUuIChJZiB0aGV5J3ZlCi0JICogYWxyZWFkeSBiZWVuIHJlYWQsIHRoYXQncyBPSzsgd2Ugb25seSBuZWVkIHRvIGd1YXJhbnRlZQotCSAqIHRoYXQgdGhleSdyZSByZWFkIGJlZm9yZSB0aGUgcGFja2VkIHJlZnMsIG5vdCAqaG93IG11Y2gqCi0JICogYmVmb3JlLikgQWZ0ZXIgdGhhdCwgd2UgY2FsbCBnZXRfcGFja2VkX3JlZl9jYWNoZSgpLCB3aGljaAotCSAqIGludGVybmFsbHkgY2hlY2tzIHdoZXRoZXIgdGhlIHBhY2tlZC1yZWYgY2FjaGUgaXMgdXAgdG8KLQkgKiBkYXRlIHdpdGggd2hhdCBpcyBvbiBkaXNrLCBhbmQgcmUtcmVhZHMgaXQgaWYgbm90LgorCSAqIEZpcnN0LCB3ZSBjYWxsIHN0YXJ0IHRoZSBsb29zZSByZWZzIGl0ZXJhdGlvbiB3aXRoIGl0cworCSAqIGBwcmltZV9yZWZgIGFyZ3VtZW50IHNldCB0byB0cnVlLiBUaGlzIGNhdXNlcyB0aGUgbG9vc2UKKwkgKiByZWZlcmVuY2VzIGluIHRoZSBzdWJ0cmVlIHRvIGJlIHByZS1yZWFkIGludG8gdGhlIGNhY2hlLgorCSAqIChJZiB0aGV5J3ZlIGFscmVhZHkgYmVlbiByZWFkLCB0aGF0J3MgT0s7IHdlIG9ubHkgbmVlZCB0bworCSAqIGd1YXJhbnRlZSB0aGF0IHRoZXkncmUgcmVhZCBiZWZvcmUgdGhlIHBhY2tlZCByZWZzLCBub3QKKwkgKiAqaG93IG11Y2gqIGJlZm9yZS4pIEFmdGVyIHRoYXQsIHdlIGNhbGwKKwkgKiBwYWNrZWRfcmVmX2l0ZXJhdG9yX2JlZ2luKCksIHdoaWNoIGludGVybmFsbHkgY2hlY2tzCisJICogd2hldGhlciB0aGUgcGFja2VkLXJlZiBjYWNoZSBpcyB1cCB0byBkYXRlIHdpdGggd2hhdCBpcyBvbgorCSAqIGRpc2ssIGFuZCByZS1yZWFkcyBpdCBpZiBub3QuCiAJICovCiAKLQlsb29zZV9kaXIgPSBnZXRfbG9vc2VfcmVmcyhyZWZzKTsKKwlsb29zZV9pdGVyID0gY2FjaGVfcmVmX2l0ZXJhdG9yX2JlZ2luKGdldF9sb29zZV9yZWZfY2FjaGUocmVmcyksCisJCQkJCSAgICAgIHByZWZpeCwgMSk7CiAKLQlpZiAocHJlZml4ICYmICpwcmVmaXgpCi0JCWxvb3NlX2RpciA9IGZpbmRfY29udGFpbmluZ19kaXIobG9vc2VfZGlyLCBwcmVmaXgsIDApOworCS8qCisJICogVGhlIHBhY2tlZC1yZWZzIGZpbGUgbWlnaHQgY29udGFpbiBicm9rZW4gcmVmZXJlbmNlcywgZm9yCisJICogZXhhbXBsZSBhbiBvbGQgdmVyc2lvbiBvZiBhIHJlZmVyZW5jZSB0aGF0IHBvaW50cyBhdCBhbgorCSAqIG9iamVjdCB0aGF0IGhhcyBzaW5jZSBiZWVuIGdhcmJhZ2UtY29sbGVjdGVkLiBUaGlzIGlzIE9LIGFzCisJICogbG9uZyBhcyB0aGVyZSBpcyBhIGNvcnJlc3BvbmRpbmcgbG9vc2UgcmVmZXJlbmNlIHRoYXQKKwkgKiBvdmVycmlkZXMgaXQsIGFuZCB3ZSBkb24ndCB3YW50IHRvIGVtaXQgYW4gZXJyb3IgbWVzc2FnZSBpbgorCSAqIHRoaXMgY2FzZS4gU28gYXNrIHRoZSBwYWNrZWRfcmVmX3N0b3JlIGZvciBhbGwgb2YgaXRzCisJICogcmVmZXJlbmNlcywgYW5kIChpZiBuZWVkZWQpIGRvIG91ciBvd24gY2hlY2sgZm9yIGJyb2tlbgorCSAqIG9uZXMgaW4gZmlsZXNfcmVmX2l0ZXJhdG9yX2FkdmFuY2UoKSwgYWZ0ZXIgd2UgaGF2ZSBtZXJnZWQKKwkgKiB0aGUgcGFja2VkIGFuZCBsb29zZSByZWZlcmVuY2VzLgorCSAqLworCXBhY2tlZF9pdGVyID0gcmVmc19yZWZfaXRlcmF0b3JfYmVnaW4oCisJCQlyZWZzLT5wYWNrZWRfcmVmX3N0b3JlLCBwcmVmaXgsIDAsCisJCQlET19GT1JfRUFDSF9JTkNMVURFX0JST0tFTik7CiAKLQlpZiAobG9vc2VfZGlyKSB7Ci0JCXByaW1lX3JlZl9kaXIobG9vc2VfZGlyKTsKLQkJbG9vc2VfaXRlciA9IGNhY2hlX3JlZl9pdGVyYXRvcl9iZWdpbihsb29zZV9kaXIpOwotCX0gZWxzZSB7Ci0JCS8qIFRoZXJlJ3Mgbm90aGluZyB0byBpdGVyYXRlIG92ZXIuICovCi0JCWxvb3NlX2l0ZXIgPSBlbXB0eV9yZWZfaXRlcmF0b3JfYmVnaW4oKTsKLQl9CisJb3ZlcmxheV9pdGVyID0gb3ZlcmxheV9yZWZfaXRlcmF0b3JfYmVnaW4obG9vc2VfaXRlciwgcGFja2VkX2l0ZXIpOwogCi0JaXRlci0+cGFja2VkX3JlZl9jYWNoZSA9IGdldF9wYWNrZWRfcmVmX2NhY2hlKHJlZnMpOwotCWFjcXVpcmVfcGFja2VkX3JlZl9jYWNoZShpdGVyLT5wYWNrZWRfcmVmX2NhY2hlKTsKLQlwYWNrZWRfZGlyID0gZ2V0X3BhY2tlZF9yZWZfZGlyKGl0ZXItPnBhY2tlZF9yZWZfY2FjaGUpOwotCi0JaWYgKHByZWZpeCAmJiAqcHJlZml4KQotCQlwYWNrZWRfZGlyID0gZmluZF9jb250YWluaW5nX2RpcihwYWNrZWRfZGlyLCBwcmVmaXgsIDApOwotCi0JaWYgKHBhY2tlZF9kaXIpIHsKLQkJcGFja2VkX2l0ZXIgPSBjYWNoZV9yZWZfaXRlcmF0b3JfYmVnaW4ocGFja2VkX2Rpcik7Ci0JfSBlbHNlIHsKLQkJLyogVGhlcmUncyBub3RoaW5nIHRvIGl0ZXJhdGUgb3Zlci4gKi8KLQkJcGFja2VkX2l0ZXIgPSBlbXB0eV9yZWZfaXRlcmF0b3JfYmVnaW4oKTsKLQl9Ci0KLQlpdGVyLT5pdGVyMCA9IG92ZXJsYXlfcmVmX2l0ZXJhdG9yX2JlZ2luKGxvb3NlX2l0ZXIsIHBhY2tlZF9pdGVyKTsKKwlpdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKKwlyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKwliYXNlX3JlZl9pdGVyYXRvcl9pbml0KHJlZl9pdGVyYXRvciwgJmZpbGVzX3JlZl9pdGVyYXRvcl92dGFibGUsCisJCQkgICAgICAgb3ZlcmxheV9pdGVyLT5vcmRlcmVkKTsKKwlpdGVyLT5pdGVyMCA9IG92ZXJsYXlfaXRlcjsKIAlpdGVyLT5mbGFncyA9IGZsYWdzOwogCiAJcmV0dXJuIHJlZl9pdGVyYXRvcjsKQEAgLTE5NDUsMTUgKzc3NCwxNSBAQAogICogb24gc3VjY2Vzcy4gT24gZXJyb3IsIHdyaXRlIGFuIGVycm9yIG1lc3NhZ2UgdG8gZXJyLCBzZXQgZXJybm8sIGFuZAogICogcmV0dXJuIGEgbmVnYXRpdmUgdmFsdWUuCiAgKi8KLXN0YXRpYyBpbnQgdmVyaWZ5X2xvY2soc3RydWN0IHJlZl9sb2NrICpsb2NrLAorc3RhdGljIGludCB2ZXJpZnlfbG9jayhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsIHN0cnVjdCByZWZfbG9jayAqbG9jaywKIAkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLCBpbnQgbXVzdGV4aXN0LAogCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewogCWFzc2VydChlcnIpOwogCi0JaWYgKHJlYWRfcmVmX2Z1bGwobG9jay0+cmVmX25hbWUsCi0JCQkgIG11c3RleGlzdCA/IFJFU09MVkVfUkVGX1JFQURJTkcgOiAwLAotCQkJICBsb2NrLT5vbGRfb2lkLmhhc2gsIE5VTEwpKSB7CisJaWYgKHJlZnNfcmVhZF9yZWZfZnVsbChyZWZfc3RvcmUsIGxvY2stPnJlZl9uYW1lLAorCQkJICAgICAgIG11c3RleGlzdCA/IFJFU09MVkVfUkVGX1JFQURJTkcgOiAwLAorCQkJICAgICAgIGxvY2stPm9sZF9vaWQuaGFzaCwgTlVMTCkpIHsKIAkJaWYgKG9sZF9zaGExKSB7CiAJCQlpbnQgc2F2ZV9lcnJubyA9IGVycm5vOwogCQkJc3RyYnVmX2FkZGYoZXJyLCAiY2FuJ3QgdmVyaWZ5IHJlZiAnJXMnIiwgbG9jay0+cmVmX25hbWUpOwpAQCAtMTk4NSw2ICs4MTQsMTUgQEAKIAlyZXR1cm4gcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseShwYXRoLCBSRU1PVkVfRElSX0VNUFRZX09OTFkpOwogfQogCitzdGF0aWMgaW50IGNyZWF0ZV9yZWZsb2NrKGNvbnN0IGNoYXIgKnBhdGgsIHZvaWQgKmNiKQoreworCXN0cnVjdCBsb2NrX2ZpbGUgKmxrID0gY2I7CisKKwlyZXR1cm4gaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZV90aW1lb3V0KAorCQkJbGssIHBhdGgsIExPQ0tfTk9fREVSRUYsCisJCQlnZXRfZmlsZXNfcmVmX2xvY2tfdGltZW91dF9tcygpKSA8IDAgPyAtMSA6IDA7Cit9CisKIC8qCiAgKiBMb2NrcyBhIHJlZiByZXR1cm5pbmcgdGhlIGxvY2sgb24gc3VjY2VzcyBhbmQgTlVMTCBvbiBmYWlsdXJlLgogICogT24gZmFpbHVyZSBlcnJubyBpcyBzZXQgdG8gc29tZXRoaW5nIG1lYW5pbmdmdWwuCkBAIC0yMDAwLDEzICs4MzgsMTEgQEAKIAlzdHJ1Y3Qgc3RyYnVmIHJlZl9maWxlID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHJlZl9sb2NrICpsb2NrOwogCWludCBsYXN0X2Vycm5vID0gMDsKLQlpbnQgbGZsYWdzID0gTE9DS19OT19ERVJFRjsKIAlpbnQgbXVzdGV4aXN0ID0gKG9sZF9zaGExICYmICFpc19udWxsX3NoYTEob2xkX3NoYTEpKTsKIAlpbnQgcmVzb2x2ZV9mbGFncyA9IFJFU09MVkVfUkVGX05PX1JFQ1VSU0U7Ci0JaW50IGF0dGVtcHRzX3JlbWFpbmluZyA9IDM7CiAJaW50IHJlc29sdmVkOwogCi0JYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgImxvY2tfcmVmX3NoYTFfYmFzaWMiKTsKKwlmaWxlc19hc3NlcnRfbWFpbl9yZXBvc2l0b3J5KHJlZnMsICJsb2NrX3JlZl9zaGExX2Jhc2ljIik7CiAJYXNzZXJ0KGVycik7CiAKIAlsb2NrID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHJlZl9sb2NrKSk7CkBAIC0yMDE2LDkgKzg1MiwxMCBAQAogCWlmIChmbGFncyAmIFJFRl9ERUxFVElORykKIAkJcmVzb2x2ZV9mbGFncyB8PSBSRVNPTFZFX1JFRl9BTExPV19CQURfTkFNRTsKIAotCXN0cmJ1Zl9naXRfcGF0aCgmcmVmX2ZpbGUsICIlcyIsIHJlZm5hbWUpOwotCXJlc29sdmVkID0gISFyZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgcmVzb2x2ZV9mbGFncywKLQkJCQkJbG9jay0+b2xkX29pZC5oYXNoLCB0eXBlKTsKKwlmaWxlc19yZWZfcGF0aChyZWZzLCAmcmVmX2ZpbGUsIHJlZm5hbWUpOworCXJlc29sdmVkID0gISFyZWZzX3Jlc29sdmVfcmVmX3Vuc2FmZSgmcmVmcy0+YmFzZSwKKwkJCQkJICAgICByZWZuYW1lLCByZXNvbHZlX2ZsYWdzLAorCQkJCQkgICAgIGxvY2stPm9sZF9vaWQuaGFzaCwgdHlwZSk7CiAJaWYgKCFyZXNvbHZlZCAmJiBlcnJubyA9PSBFSVNESVIpIHsKIAkJLyoKIAkJICogd2UgYXJlIHRyeWluZyB0byBsb2NrIGZvbyBidXQgd2UgdXNlZCB0bwpAQCAtMjAyOCwyMiArODY1LDIyIEBACiAJCSAqLwogCQlpZiAocmVtb3ZlX2VtcHR5X2RpcmVjdG9yaWVzKCZyZWZfZmlsZSkpIHsKIAkJCWxhc3RfZXJybm8gPSBlcnJubzsKLQkJCWlmICghdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlX2RpcigKLQkJCQkJICAgIHJlZm5hbWUsIGV4dHJhcywgc2tpcCwKLQkJCQkJICAgIGdldF9sb29zZV9yZWZzKHJlZnMpLCBlcnIpKQorCQkJaWYgKCFyZWZzX3ZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZSgKKwkJCQkJICAgICZyZWZzLT5iYXNlLAorCQkJCQkgICAgcmVmbmFtZSwgZXh0cmFzLCBza2lwLCBlcnIpKQogCQkJCXN0cmJ1Zl9hZGRmKGVyciwgInRoZXJlIGFyZSBzdGlsbCByZWZzIHVuZGVyICclcyciLAogCQkJCQkgICAgcmVmbmFtZSk7CiAJCQlnb3RvIGVycm9yX3JldHVybjsKIAkJfQotCQlyZXNvbHZlZCA9ICEhcmVzb2x2ZV9yZWZfdW5zYWZlKHJlZm5hbWUsIHJlc29sdmVfZmxhZ3MsCi0JCQkJCQlsb2NrLT5vbGRfb2lkLmhhc2gsIHR5cGUpOworCQlyZXNvbHZlZCA9ICEhcmVmc19yZXNvbHZlX3JlZl91bnNhZmUoJnJlZnMtPmJhc2UsCisJCQkJCQkgICAgIHJlZm5hbWUsIHJlc29sdmVfZmxhZ3MsCisJCQkJCQkgICAgIGxvY2stPm9sZF9vaWQuaGFzaCwgdHlwZSk7CiAJfQogCWlmICghcmVzb2x2ZWQpIHsKIAkJbGFzdF9lcnJubyA9IGVycm5vOwogCQlpZiAobGFzdF9lcnJubyAhPSBFTk9URElSIHx8Ci0JCSAgICAhdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlX2RpcigKLQkJCQkgICAgcmVmbmFtZSwgZXh0cmFzLCBza2lwLAotCQkJCSAgICBnZXRfbG9vc2VfcmVmcyhyZWZzKSwgZXJyKSkKKwkJICAgICFyZWZzX3ZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZSgmcmVmcy0+YmFzZSwgcmVmbmFtZSwKKwkJCQkJCSAgIGV4dHJhcywgc2tpcCwgZXJyKSkKIAkJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAnJXMnOiAlcyIsCiAJCQkJICAgIHJlZm5hbWUsIHN0cmVycm9yKGxhc3RfZXJybm8pKTsKIApAQCAtMjA1Nyw0NyArODk0LDIxIEBACiAJICogb3VyIHJlZm5hbWUuCiAJICovCiAJaWYgKGlzX251bGxfb2lkKCZsb2NrLT5vbGRfb2lkKSAmJgotCSAgICB2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZGlyKHJlZm5hbWUsIGV4dHJhcywgc2tpcCwKLQkJCQkJIGdldF9wYWNrZWRfcmVmcyhyZWZzKSwKLQkJCQkJIGVycikpIHsKKwkgICAgcmVmc192ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUocmVmcy0+cGFja2VkX3JlZl9zdG9yZSwgcmVmbmFtZSwKKwkJCQkJICBleHRyYXMsIHNraXAsIGVycikpIHsKIAkJbGFzdF9lcnJubyA9IEVOT1RESVI7CiAJCWdvdG8gZXJyb3JfcmV0dXJuOwogCX0KIAotCWxvY2stPmxrID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxvY2tfZmlsZSkpOwotCiAJbG9jay0+cmVmX25hbWUgPSB4c3RyZHVwKHJlZm5hbWUpOwogCi0gcmV0cnk6Ci0Jc3dpdGNoIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KHJlZl9maWxlLmJ1ZikpIHsKLQljYXNlIFNDTERfT0s6Ci0JCWJyZWFrOyAvKiBzdWNjZXNzICovCi0JY2FzZSBTQ0xEX1ZBTklTSEVEOgotCQlpZiAoLS1hdHRlbXB0c19yZW1haW5pbmcgPiAwKQotCQkJZ290byByZXRyeTsKLQkJLyogZmFsbCB0aHJvdWdoICovCi0JZGVmYXVsdDoKKwlpZiAocmFjZXByb29mX2NyZWF0ZV9maWxlKHJlZl9maWxlLmJ1ZiwgY3JlYXRlX3JlZmxvY2ssICZsb2NrLT5saykpIHsKIAkJbGFzdF9lcnJubyA9IGVycm5vOwotCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gY3JlYXRlIGRpcmVjdG9yeSBmb3IgJyVzJyIsCi0JCQkgICAgcmVmX2ZpbGUuYnVmKTsKKwkJdW5hYmxlX3RvX2xvY2tfbWVzc2FnZShyZWZfZmlsZS5idWYsIGVycm5vLCBlcnIpOwogCQlnb3RvIGVycm9yX3JldHVybjsKIAl9CiAKLQlpZiAoaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZShsb2NrLT5saywgcmVmX2ZpbGUuYnVmLCBsZmxhZ3MpIDwgMCkgewotCQlsYXN0X2Vycm5vID0gZXJybm87Ci0JCWlmIChlcnJubyA9PSBFTk9FTlQgJiYgLS1hdHRlbXB0c19yZW1haW5pbmcgPiAwKQotCQkJLyoKLQkJCSAqIE1heWJlIHNvbWVib2R5IGp1c3QgZGVsZXRlZCBvbmUgb2YgdGhlCi0JCQkgKiBkaXJlY3RvcmllcyBsZWFkaW5nIHRvIHJlZl9maWxlLiAgVHJ5Ci0JCQkgKiBhZ2FpbjoKLQkJCSAqLwotCQkJZ290byByZXRyeTsKLQkJZWxzZSB7Ci0JCQl1bmFibGVfdG9fbG9ja19tZXNzYWdlKHJlZl9maWxlLmJ1ZiwgZXJybm8sIGVycik7Ci0JCQlnb3RvIGVycm9yX3JldHVybjsKLQkJfQotCX0KLQlpZiAodmVyaWZ5X2xvY2sobG9jaywgb2xkX3NoYTEsIG11c3RleGlzdCwgZXJyKSkgeworCWlmICh2ZXJpZnlfbG9jaygmcmVmcy0+YmFzZSwgbG9jaywgb2xkX3NoYTEsIG11c3RleGlzdCwgZXJyKSkgewogCQlsYXN0X2Vycm5vID0gZXJybm87CiAJCWdvdG8gZXJyb3JfcmV0dXJuOwogCX0KQEAgLTIxMTMsMjAwICs5MjQsMzQgQEAKIAlyZXR1cm4gbG9jazsKIH0KIAotLyoKLSAqIFdyaXRlIGFuIGVudHJ5IHRvIHRoZSBwYWNrZWQtcmVmcyBmaWxlIGZvciB0aGUgc3BlY2lmaWVkIHJlZm5hbWUuCi0gKiBJZiBwZWVsZWQgaXMgbm9uLU5VTEwsIHdyaXRlIGl0IGFzIHRoZSBlbnRyeSdzIHBlZWxlZCB2YWx1ZS4KLSAqLwotc3RhdGljIHZvaWQgd3JpdGVfcGFja2VkX2VudHJ5KEZJTEUgKmZoLCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJICAgICAgIHVuc2lnbmVkIGNoYXIgKnBlZWxlZCkKLXsKLQlmcHJpbnRmX29yX2RpZShmaCwgIiVzICVzXG4iLCBzaGExX3RvX2hleChzaGExKSwgcmVmbmFtZSk7Ci0JaWYgKHBlZWxlZCkKLQkJZnByaW50Zl9vcl9kaWUoZmgsICJeJXNcbiIsIHNoYTFfdG9faGV4KHBlZWxlZCkpOwotfQotCi0vKgotICogQW4gZWFjaF9yZWZfZW50cnlfZm4gdGhhdCB3cml0ZXMgdGhlIGVudHJ5IHRvIGEgcGFja2VkLXJlZnMgZmlsZS4KLSAqLwotc3RhdGljIGludCB3cml0ZV9wYWNrZWRfZW50cnlfZm4oc3RydWN0IHJlZl9lbnRyeSAqZW50cnksIHZvaWQgKmNiX2RhdGEpCi17Ci0JZW51bSBwZWVsX3N0YXR1cyBwZWVsX3N0YXR1cyA9IHBlZWxfZW50cnkoZW50cnksIDApOwotCi0JaWYgKHBlZWxfc3RhdHVzICE9IFBFRUxfUEVFTEVEICYmIHBlZWxfc3RhdHVzICE9IFBFRUxfTk9OX1RBRykKLQkJZXJyb3IoImludGVybmFsIGVycm9yOiAlcyBpcyBub3QgYSB2YWxpZCBwYWNrZWQgcmVmZXJlbmNlISIsCi0JCSAgICAgIGVudHJ5LT5uYW1lKTsKLQl3cml0ZV9wYWNrZWRfZW50cnkoY2JfZGF0YSwgZW50cnktPm5hbWUsIGVudHJ5LT51LnZhbHVlLm9pZC5oYXNoLAotCQkJICAgcGVlbF9zdGF0dXMgPT0gUEVFTF9QRUVMRUQgPwotCQkJICAgZW50cnktPnUudmFsdWUucGVlbGVkLmhhc2ggOiBOVUxMKTsKLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIExvY2sgdGhlIHBhY2tlZC1yZWZzIGZpbGUgZm9yIHdyaXRpbmcuIEZsYWdzIGlzIHBhc3NlZCB0bwotICogaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgpLiBSZXR1cm4gMCBvbiBzdWNjZXNzLiBPbiBlcnJvcnMsIHNldAotICogZXJybm8gYXBwcm9wcmlhdGVseSBhbmQgcmV0dXJuIGEgbm9uemVybyB2YWx1ZS4KLSAqLwotc3RhdGljIGludCBsb2NrX3BhY2tlZF9yZWZzKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsIGludCBmbGFncykKLXsKLQlzdGF0aWMgaW50IHRpbWVvdXRfY29uZmlndXJlZCA9IDA7Ci0Jc3RhdGljIGludCB0aW1lb3V0X3ZhbHVlID0gMTAwMDsKLQlzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqcGFja2VkX3JlZl9jYWNoZTsKLQotCWFzc2VydF9tYWluX3JlcG9zaXRvcnkoJnJlZnMtPmJhc2UsICJsb2NrX3BhY2tlZF9yZWZzIik7Ci0KLQlpZiAoIXRpbWVvdXRfY29uZmlndXJlZCkgewotCQlnaXRfY29uZmlnX2dldF9pbnQoImNvcmUucGFja2VkcmVmc3RpbWVvdXQiLCAmdGltZW91dF92YWx1ZSk7Ci0JCXRpbWVvdXRfY29uZmlndXJlZCA9IDE7Ci0JfQotCi0JaWYgKGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGVfdGltZW91dCgKLQkJCSAgICAmcGFja2xvY2ssIGdpdF9wYXRoKCJwYWNrZWQtcmVmcyIpLAotCQkJICAgIGZsYWdzLCB0aW1lb3V0X3ZhbHVlKSA8IDApCi0JCXJldHVybiAtMTsKLQkvKgotCSAqIEdldCB0aGUgY3VycmVudCBwYWNrZWQtcmVmcyB3aGlsZSBob2xkaW5nIHRoZSBsb2NrLiAgSWYgdGhlCi0JICogcGFja2VkLXJlZnMgZmlsZSBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSB3ZSBsYXN0IHJlYWQgaXQsCi0JICogdGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgaW52YWxpZGF0ZSB0aGUgY2FjaGUgYW5kIHJlLXJlYWQKLQkgKiB0aGUgcGFja2VkLXJlZnMgZmlsZS4KLQkgKi8KLQlwYWNrZWRfcmVmX2NhY2hlID0gZ2V0X3BhY2tlZF9yZWZfY2FjaGUocmVmcyk7Ci0JcGFja2VkX3JlZl9jYWNoZS0+bG9jayA9ICZwYWNrbG9jazsKLQkvKiBJbmNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudCB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgZnJlZWQ6ICovCi0JYWNxdWlyZV9wYWNrZWRfcmVmX2NhY2hlKHBhY2tlZF9yZWZfY2FjaGUpOwotCXJldHVybiAwOwotfQotCi0vKgotICogV3JpdGUgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcGFja2VkIHJlZnMgY2FjaGUgZnJvbSBtZW1vcnkgdG8KLSAqIGRpc2suIFRoZSBwYWNrZWQtcmVmcyBmaWxlIG11c3QgYWxyZWFkeSBiZSBsb2NrZWQgZm9yIHdyaXRpbmcgKHNlZQotICogbG9ja19wYWNrZWRfcmVmcygpKS4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcy4gT24gZXJyb3JzLCBzZXQgZXJybm8KLSAqIGFuZCByZXR1cm4gYSBub256ZXJvIHZhbHVlCi0gKi8KLXN0YXRpYyBpbnQgY29tbWl0X3BhY2tlZF9yZWZzKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMpCi17Ci0Jc3RydWN0IHBhY2tlZF9yZWZfY2FjaGUgKnBhY2tlZF9yZWZfY2FjaGUgPQotCQlnZXRfcGFja2VkX3JlZl9jYWNoZShyZWZzKTsKLQlpbnQgZXJyb3IgPSAwOwotCWludCBzYXZlX2Vycm5vID0gMDsKLQlGSUxFICpvdXQ7Ci0KLQlhc3NlcnRfbWFpbl9yZXBvc2l0b3J5KCZyZWZzLT5iYXNlLCAiY29tbWl0X3BhY2tlZF9yZWZzIik7Ci0KLQlpZiAoIXBhY2tlZF9yZWZfY2FjaGUtPmxvY2spCi0JCWRpZSgiaW50ZXJuYWwgZXJyb3I6IHBhY2tlZC1yZWZzIG5vdCBsb2NrZWQiKTsKLQotCW91dCA9IGZkb3Blbl9sb2NrX2ZpbGUocGFja2VkX3JlZl9jYWNoZS0+bG9jaywgInciKTsKLQlpZiAoIW91dCkKLQkJZGllX2Vycm5vKCJ1bmFibGUgdG8gZmRvcGVuIHBhY2tlZC1yZWZzIGRlc2NyaXB0b3IiKTsKLQotCWZwcmludGZfb3JfZGllKG91dCwgIiVzIiwgUEFDS0VEX1JFRlNfSEVBREVSKTsKLQlkb19mb3JfZWFjaF9lbnRyeV9pbl9kaXIoZ2V0X3BhY2tlZF9yZWZfZGlyKHBhY2tlZF9yZWZfY2FjaGUpLAotCQkJCSAwLCB3cml0ZV9wYWNrZWRfZW50cnlfZm4sIG91dCk7Ci0KLQlpZiAoY29tbWl0X2xvY2tfZmlsZShwYWNrZWRfcmVmX2NhY2hlLT5sb2NrKSkgewotCQlzYXZlX2Vycm5vID0gZXJybm87Ci0JCWVycm9yID0gLTE7Ci0JfQotCXBhY2tlZF9yZWZfY2FjaGUtPmxvY2sgPSBOVUxMOwotCXJlbGVhc2VfcGFja2VkX3JlZl9jYWNoZShwYWNrZWRfcmVmX2NhY2hlKTsKLQllcnJubyA9IHNhdmVfZXJybm87Ci0JcmV0dXJuIGVycm9yOwotfQotCi0vKgotICogUm9sbGJhY2sgdGhlIGxvY2tmaWxlIGZvciB0aGUgcGFja2VkLXJlZnMgZmlsZSwgYW5kIGRpc2NhcmQgdGhlCi0gKiBpbi1tZW1vcnkgcGFja2VkIHJlZmVyZW5jZSBjYWNoZS4gIChUaGUgcGFja2VkLXJlZnMgZmlsZSB3aWxsIGJlCi0gKiByZWFkIGFuZXcgaWYgaXQgaXMgbmVlZGVkIGFnYWluIGFmdGVyIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLikKLSAqLwotc3RhdGljIHZvaWQgcm9sbGJhY2tfcGFja2VkX3JlZnMoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcykKLXsKLQlzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqcGFja2VkX3JlZl9jYWNoZSA9Ci0JCWdldF9wYWNrZWRfcmVmX2NhY2hlKHJlZnMpOwotCi0JYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgInJvbGxiYWNrX3BhY2tlZF9yZWZzIik7Ci0KLQlpZiAoIXBhY2tlZF9yZWZfY2FjaGUtPmxvY2spCi0JCWRpZSgiaW50ZXJuYWwgZXJyb3I6IHBhY2tlZC1yZWZzIG5vdCBsb2NrZWQiKTsKLQlyb2xsYmFja19sb2NrX2ZpbGUocGFja2VkX3JlZl9jYWNoZS0+bG9jayk7Ci0JcGFja2VkX3JlZl9jYWNoZS0+bG9jayA9IE5VTEw7Ci0JcmVsZWFzZV9wYWNrZWRfcmVmX2NhY2hlKHBhY2tlZF9yZWZfY2FjaGUpOwotCWNsZWFyX3BhY2tlZF9yZWZfY2FjaGUocmVmcyk7Ci19Ci0KIHN0cnVjdCByZWZfdG9fcHJ1bmUgewogCXN0cnVjdCByZWZfdG9fcHJ1bmUgKm5leHQ7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAljaGFyIG5hbWVbRkxFWF9BUlJBWV07CiB9OwogCi1zdHJ1Y3QgcGFja19yZWZzX2NiX2RhdGEgewotCXVuc2lnbmVkIGludCBmbGFnczsKLQlzdHJ1Y3QgcmVmX2RpciAqcGFja2VkX3JlZnM7Ci0Jc3RydWN0IHJlZl90b19wcnVuZSAqcmVmX3RvX3BydW5lOworZW51bSB7CisJUkVNT1ZFX0VNUFRZX1BBUkVOVFNfUkVGID0gMHgwMSwKKwlSRU1PVkVfRU1QVFlfUEFSRU5UU19SRUZMT0cgPSAweDAyCiB9OwogCiAvKgotICogQW4gZWFjaF9yZWZfZW50cnlfZm4gdGhhdCBpcyBydW4gb3ZlciBsb29zZSByZWZlcmVuY2VzIG9ubHkuICBJZgotICogdGhlIGxvb3NlIHJlZmVyZW5jZSBjYW4gYmUgcGFja2VkLCBhZGQgYW4gZW50cnkgaW4gdGhlIHBhY2tlZCByZWYKLSAqIGNhY2hlLiAgSWYgdGhlIHJlZmVyZW5jZSBzaG91bGQgYmUgcHJ1bmVkLCBhbHNvIGFkZCBpdCB0bwotICogcmVmX3RvX3BydW5lIGluIHRoZSBwYWNrX3JlZnNfY2JfZGF0YS4KKyAqIFJlbW92ZSBlbXB0eSBwYXJlbnQgZGlyZWN0b3JpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQKKyAqIHJlZmVyZW5jZSBhbmQvb3IgaXRzIHJlZmxvZywgYnV0IHNwYXJlIFtsb2dzL11yZWZzLyBhbmQgaW1tZWRpYXRlCisgKiBzdWJkaXJzLiBmbGFncyBpcyBhIGNvbWJpbmF0aW9uIG9mIFJFTU9WRV9FTVBUWV9QQVJFTlRTX1JFRiBhbmQvb3IKKyAqIFJFTU9WRV9FTVBUWV9QQVJFTlRTX1JFRkxPRy4KICAqLwotc3RhdGljIGludCBwYWNrX2lmX3Bvc3NpYmxlX2ZuKHN0cnVjdCByZWZfZW50cnkgKmVudHJ5LCB2b2lkICpjYl9kYXRhKQorc3RhdGljIHZvaWQgdHJ5X3JlbW92ZV9lbXB0eV9wYXJlbnRzKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCisJCQkJICAgICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCSAgICAgdW5zaWduZWQgaW50IGZsYWdzKQogewotCXN0cnVjdCBwYWNrX3JlZnNfY2JfZGF0YSAqY2IgPSBjYl9kYXRhOwotCWVudW0gcGVlbF9zdGF0dXMgcGVlbF9zdGF0dXM7Ci0Jc3RydWN0IHJlZl9lbnRyeSAqcGFja2VkX2VudHJ5OwotCWludCBpc190YWdfcmVmID0gc3RhcnRzX3dpdGgoZW50cnktPm5hbWUsICJyZWZzL3RhZ3MvIik7Ci0KLQkvKiBEbyBub3QgcGFjayBwZXItd29ya3RyZWUgcmVmczogKi8KLQlpZiAocmVmX3R5cGUoZW50cnktPm5hbWUpICE9IFJFRl9UWVBFX05PUk1BTCkKLQkJcmV0dXJuIDA7Ci0KLQkvKiBBTFdBWVMgcGFjayB0YWdzICovCi0JaWYgKCEoY2ItPmZsYWdzICYgUEFDS19SRUZTX0FMTCkgJiYgIWlzX3RhZ19yZWYpCi0JCXJldHVybiAwOwotCi0JLyogRG8gbm90IHBhY2sgc3ltYm9saWMgb3IgYnJva2VuIHJlZnM6ICovCi0JaWYgKChlbnRyeS0+ZmxhZyAmIFJFRl9JU1NZTVJFRikgfHwgIWVudHJ5X3Jlc29sdmVzX3RvX29iamVjdChlbnRyeSkpCi0JCXJldHVybiAwOwotCi0JLyogQWRkIGEgcGFja2VkIHJlZiBjYWNoZSBlbnRyeSBlcXVpdmFsZW50IHRvIHRoZSBsb29zZSBlbnRyeS4gKi8KLQlwZWVsX3N0YXR1cyA9IHBlZWxfZW50cnkoZW50cnksIDEpOwotCWlmIChwZWVsX3N0YXR1cyAhPSBQRUVMX1BFRUxFRCAmJiBwZWVsX3N0YXR1cyAhPSBQRUVMX05PTl9UQUcpCi0JCWRpZSgiaW50ZXJuYWwgZXJyb3IgcGVlbGluZyByZWZlcmVuY2UgJXMgKCVzKSIsCi0JCSAgICBlbnRyeS0+bmFtZSwgb2lkX3RvX2hleCgmZW50cnktPnUudmFsdWUub2lkKSk7Ci0JcGFja2VkX2VudHJ5ID0gZmluZF9yZWYoY2ItPnBhY2tlZF9yZWZzLCBlbnRyeS0+bmFtZSk7Ci0JaWYgKHBhY2tlZF9lbnRyeSkgewotCQkvKiBPdmVyd3JpdGUgZXhpc3RpbmcgcGFja2VkIGVudHJ5IHdpdGggaW5mbyBmcm9tIGxvb3NlIGVudHJ5ICovCi0JCXBhY2tlZF9lbnRyeS0+ZmxhZyA9IFJFRl9JU1BBQ0tFRCB8IFJFRl9LTk9XU19QRUVMRUQ7Ci0JCW9pZGNweSgmcGFja2VkX2VudHJ5LT51LnZhbHVlLm9pZCwgJmVudHJ5LT51LnZhbHVlLm9pZCk7Ci0JfSBlbHNlIHsKLQkJcGFja2VkX2VudHJ5ID0gY3JlYXRlX3JlZl9lbnRyeShlbnRyeS0+bmFtZSwgZW50cnktPnUudmFsdWUub2lkLmhhc2gsCi0JCQkJCQlSRUZfSVNQQUNLRUQgfCBSRUZfS05PV1NfUEVFTEVELCAwKTsKLQkJYWRkX3JlZihjYi0+cGFja2VkX3JlZnMsIHBhY2tlZF9lbnRyeSk7Ci0JfQotCW9pZGNweSgmcGFja2VkX2VudHJ5LT51LnZhbHVlLnBlZWxlZCwgJmVudHJ5LT51LnZhbHVlLnBlZWxlZCk7Ci0KLQkvKiBTY2hlZHVsZSB0aGUgbG9vc2UgcmVmZXJlbmNlIGZvciBwcnVuaW5nIGlmIHJlcXVlc3RlZC4gKi8KLQlpZiAoKGNiLT5mbGFncyAmIFBBQ0tfUkVGU19QUlVORSkpIHsKLQkJc3RydWN0IHJlZl90b19wcnVuZSAqbjsKLQkJRkxFWF9BTExPQ19TVFIobiwgbmFtZSwgZW50cnktPm5hbWUpOwotCQloYXNoY3B5KG4tPnNoYTEsIGVudHJ5LT51LnZhbHVlLm9pZC5oYXNoKTsKLQkJbi0+bmV4dCA9IGNiLT5yZWZfdG9fcHJ1bmU7Ci0JCWNiLT5yZWZfdG9fcHJ1bmUgPSBuOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIFJlbW92ZSBlbXB0eSBwYXJlbnRzLCBidXQgc3BhcmUgcmVmcy8gYW5kIGltbWVkaWF0ZSBzdWJkaXJzLgotICogTm90ZTogbXVuZ2VzICpuYW1lLgotICovCi1zdGF0aWMgdm9pZCB0cnlfcmVtb3ZlX2VtcHR5X3BhcmVudHMoY2hhciAqbmFtZSkKLXsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAljaGFyICpwLCAqcTsKIAlpbnQgaTsKLQlwID0gbmFtZTsKKworCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgcmVmbmFtZSk7CisJcCA9IGJ1Zi5idWY7CiAJZm9yIChpID0gMDsgaSA8IDI7IGkrKykgeyAvKiByZWZzL3toZWFkcyx0YWdzLC4uLn0vICovCiAJCXdoaWxlICgqcCAmJiAqcCAhPSAnLycpCiAJCQlwKys7CkBAIC0yMzE0LDIzICs5NTksMzIgQEAKIAkJd2hpbGUgKCpwID09ICcvJykKIAkJCXArKzsKIAl9Ci0JZm9yIChxID0gcDsgKnE7IHErKykKLQkJOwotCXdoaWxlICgxKSB7CisJcSA9IGJ1Zi5idWYgKyBidWYubGVuOworCXdoaWxlIChmbGFncyAmIChSRU1PVkVfRU1QVFlfUEFSRU5UU19SRUYgfCBSRU1PVkVfRU1QVFlfUEFSRU5UU19SRUZMT0cpKSB7CiAJCXdoaWxlIChxID4gcCAmJiAqcSAhPSAnLycpCiAJCQlxLS07CiAJCXdoaWxlIChxID4gcCAmJiAqKHEtMSkgPT0gJy8nKQogCQkJcS0tOwogCQlpZiAocSA9PSBwKQogCQkJYnJlYWs7Ci0JCSpxID0gJ1wwJzsKLQkJaWYgKHJtZGlyKGdpdF9wYXRoKCIlcyIsIG5hbWUpKSkKLQkJCWJyZWFrOworCQlzdHJidWZfc2V0bGVuKCZidWYsIHEgLSBidWYuYnVmKTsKKworCQlzdHJidWZfcmVzZXQoJnNiKTsKKwkJZmlsZXNfcmVmX3BhdGgocmVmcywgJnNiLCBidWYuYnVmKTsKKwkJaWYgKChmbGFncyAmIFJFTU9WRV9FTVBUWV9QQVJFTlRTX1JFRikgJiYgcm1kaXIoc2IuYnVmKSkKKwkJCWZsYWdzICY9IH5SRU1PVkVfRU1QVFlfUEFSRU5UU19SRUY7CisKKwkJc3RyYnVmX3Jlc2V0KCZzYik7CisJCWZpbGVzX3JlZmxvZ19wYXRoKHJlZnMsICZzYiwgYnVmLmJ1Zik7CisJCWlmICgoZmxhZ3MgJiBSRU1PVkVfRU1QVFlfUEFSRU5UU19SRUZMT0cpICYmIHJtZGlyKHNiLmJ1ZikpCisJCQlmbGFncyAmPSB+UkVNT1ZFX0VNUFRZX1BBUkVOVFNfUkVGTE9HOwogCX0KKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOwogfQogCiAvKiBtYWtlIHN1cmUgbm9ib2R5IHRvdWNoZWQgdGhlIHJlZiwgYW5kIHVubGluayAqLwotc3RhdGljIHZvaWQgcHJ1bmVfcmVmKHN0cnVjdCByZWZfdG9fcHJ1bmUgKnIpCitzdGF0aWMgdm9pZCBwcnVuZV9yZWYoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywgc3RydWN0IHJlZl90b19wcnVuZSAqcikKIHsKIAlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbjsKIAlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOwpAQCAtMjMzOCw3ICs5OTIsNyBAQAogCWlmIChjaGVja19yZWZuYW1lX2Zvcm1hdChyLT5uYW1lLCAwKSkKIAkJcmV0dXJuOwogCi0JdHJhbnNhY3Rpb24gPSByZWZfdHJhbnNhY3Rpb25fYmVnaW4oJmVycik7CisJdHJhbnNhY3Rpb24gPSByZWZfc3RvcmVfdHJhbnNhY3Rpb25fYmVnaW4oJnJlZnMtPmJhc2UsICZlcnIpOwogCWlmICghdHJhbnNhY3Rpb24gfHwKIAkgICAgcmVmX3RyYW5zYWN0aW9uX2RlbGV0ZSh0cmFuc2FjdGlvbiwgci0+bmFtZSwgci0+c2hhMSwKIAkJCQkgICBSRUZfSVNQUlVOSU5HIHwgUkVGX05PREVSRUYsIE5VTEwsICZlcnIpIHx8CkBAIC0yMzUwLDE1MiArMTAwNCwxNTYgQEAKIAl9CiAJcmVmX3RyYW5zYWN0aW9uX2ZyZWUodHJhbnNhY3Rpb24pOwogCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOwotCXRyeV9yZW1vdmVfZW1wdHlfcGFyZW50cyhyLT5uYW1lKTsKIH0KIAotc3RhdGljIHZvaWQgcHJ1bmVfcmVmcyhzdHJ1Y3QgcmVmX3RvX3BydW5lICpyKQorLyoKKyAqIFBydW5lIHRoZSBsb29zZSB2ZXJzaW9ucyBvZiB0aGUgcmVmZXJlbmNlcyBpbiB0aGUgbGlua2VkIGxpc3QKKyAqIGAqcmVmc190b19wcnVuZWAsIGZyZWVpbmcgdGhlIGVudHJpZXMgaW4gdGhlIGxpc3QgYXMgd2UgZ28uCisgKi8KK3N0YXRpYyB2b2lkIHBydW5lX3JlZnMoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywgc3RydWN0IHJlZl90b19wcnVuZSAqKnJlZnNfdG9fcHJ1bmUpCiB7Ci0Jd2hpbGUgKHIpIHsKLQkJcHJ1bmVfcmVmKHIpOwotCQlyID0gci0+bmV4dDsKKwl3aGlsZSAoKnJlZnNfdG9fcHJ1bmUpIHsKKwkJc3RydWN0IHJlZl90b19wcnVuZSAqciA9ICpyZWZzX3RvX3BydW5lOworCQkqcmVmc190b19wcnVuZSA9IHItPm5leHQ7CisJCXBydW5lX3JlZihyZWZzLCByKTsKKwkJZnJlZShyKTsKIAl9CiB9CiAKKy8qCisgKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZSBzaG91bGQgYmUgcGFja2VkLgorICovCitzdGF0aWMgaW50IHNob3VsZF9wYWNrX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB1bnNpZ25lZCBpbnQgcmVmX2ZsYWdzLAorCQkJICAgdW5zaWduZWQgaW50IHBhY2tfZmxhZ3MpCit7CisJLyogRG8gbm90IHBhY2sgcGVyLXdvcmt0cmVlIHJlZnM6ICovCisJaWYgKHJlZl90eXBlKHJlZm5hbWUpICE9IFJFRl9UWVBFX05PUk1BTCkKKwkJcmV0dXJuIDA7CisKKwkvKiBEbyBub3QgcGFjayBub24tdGFncyB1bmxlc3MgUEFDS19SRUZTX0FMTCBpcyBzZXQ6ICovCisJaWYgKCEocGFja19mbGFncyAmIFBBQ0tfUkVGU19BTEwpICYmICFzdGFydHNfd2l0aChyZWZuYW1lLCAicmVmcy90YWdzLyIpKQorCQlyZXR1cm4gMDsKKworCS8qIERvIG5vdCBwYWNrIHN5bWJvbGljIHJlZnM6ICovCisJaWYgKHJlZl9mbGFncyAmIFJFRl9JU1NZTVJFRikKKwkJcmV0dXJuIDA7CisKKwkvKiBEbyBub3QgcGFjayBicm9rZW4gcmVmczogKi8KKwlpZiAoIXJlZl9yZXNvbHZlc190b19vYmplY3QocmVmbmFtZSwgb2lkLCByZWZfZmxhZ3MpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCiBzdGF0aWMgaW50IGZpbGVzX3BhY2tfcmVmcyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KLQkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAicGFja19yZWZzIik7Ci0Jc3RydWN0IHBhY2tfcmVmc19jYl9kYXRhIGNiZGF0YTsKKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfV1JJVEUgfCBSRUZfU1RPUkVfT0RCLAorCQkJICAgICAgICJwYWNrX3JlZnMiKTsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyOworCWludCBvazsKKwlzdHJ1Y3QgcmVmX3RvX3BydW5lICpyZWZzX3RvX3BydW5lID0gTlVMTDsKKwlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOworCXN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uOwogCi0JbWVtc2V0KCZjYmRhdGEsIDAsIHNpemVvZihjYmRhdGEpKTsKLQljYmRhdGEuZmxhZ3MgPSBmbGFnczsKKwl0cmFuc2FjdGlvbiA9IHJlZl9zdG9yZV90cmFuc2FjdGlvbl9iZWdpbihyZWZzLT5wYWNrZWRfcmVmX3N0b3JlLCAmZXJyKTsKKwlpZiAoIXRyYW5zYWN0aW9uKQorCQlyZXR1cm4gLTE7CiAKLQlsb2NrX3BhY2tlZF9yZWZzKHJlZnMsIExPQ0tfRElFX09OX0VSUk9SKTsKLQljYmRhdGEucGFja2VkX3JlZnMgPSBnZXRfcGFja2VkX3JlZnMocmVmcyk7CisJcGFja2VkX3JlZnNfbG9jayhyZWZzLT5wYWNrZWRfcmVmX3N0b3JlLCBMT0NLX0RJRV9PTl9FUlJPUiwgJmVycik7CiAKLQlkb19mb3JfZWFjaF9lbnRyeV9pbl9kaXIoZ2V0X2xvb3NlX3JlZnMocmVmcyksIDAsCi0JCQkJIHBhY2tfaWZfcG9zc2libGVfZm4sICZjYmRhdGEpOworCWl0ZXIgPSBjYWNoZV9yZWZfaXRlcmF0b3JfYmVnaW4oZ2V0X2xvb3NlX3JlZl9jYWNoZShyZWZzKSwgTlVMTCwgMCk7CisJd2hpbGUgKChvayA9IHJlZl9pdGVyYXRvcl9hZHZhbmNlKGl0ZXIpKSA9PSBJVEVSX09LKSB7CisJCS8qCisJCSAqIElmIHRoZSBsb29zZSByZWZlcmVuY2UgY2FuIGJlIHBhY2tlZCwgYWRkIGFuIGVudHJ5CisJCSAqIGluIHRoZSBwYWNrZWQgcmVmIGNhY2hlLiBJZiB0aGUgcmVmZXJlbmNlIHNob3VsZCBiZQorCQkgKiBwcnVuZWQsIGFsc28gYWRkIGl0IHRvIHJlZnNfdG9fcHJ1bmUuCisJCSAqLworCQlpZiAoIXNob3VsZF9wYWNrX3JlZihpdGVyLT5yZWZuYW1lLCBpdGVyLT5vaWQsIGl0ZXItPmZsYWdzLAorCQkJCSAgICAgZmxhZ3MpKQorCQkJY29udGludWU7CiAKLQlpZiAoY29tbWl0X3BhY2tlZF9yZWZzKHJlZnMpKQotCQlkaWVfZXJybm8oInVuYWJsZSB0byBvdmVyd3JpdGUgb2xkIHJlZi1wYWNrIGZpbGUiKTsKKwkJLyoKKwkJICogQWRkIGEgcmVmZXJlbmNlIGNyZWF0aW9uIGZvciB0aGlzIHJlZmVyZW5jZSB0byB0aGUKKwkJICogcGFja2VkLXJlZnMgdHJhbnNhY3Rpb246CisJCSAqLworCQlpZiAocmVmX3RyYW5zYWN0aW9uX3VwZGF0ZSh0cmFuc2FjdGlvbiwgaXRlci0+cmVmbmFtZSwKKwkJCQkJICAgaXRlci0+b2lkLT5oYXNoLCBOVUxMLAorCQkJCQkgICBSRUZfTk9ERVJFRiwgTlVMTCwgJmVycikpCisJCQlkaWUoImZhaWx1cmUgcHJlcGFyaW5nIHRvIGNyZWF0ZSBwYWNrZWQgcmVmZXJlbmNlICVzOiAlcyIsCisJCQkgICAgaXRlci0+cmVmbmFtZSwgZXJyLmJ1Zik7CiAKLQlwcnVuZV9yZWZzKGNiZGF0YS5yZWZfdG9fcHJ1bmUpOwotCXJldHVybiAwOwotfQotCi0vKgotICogUmV3cml0ZSB0aGUgcGFja2VkLXJlZnMgZmlsZSwgb21pdHRpbmcgYW55IHJlZnMgbGlzdGVkIGluCi0gKiAncmVmbmFtZXMnLiBPbiBlcnJvciwgbGVhdmUgcGFja2VkLXJlZnMgdW5jaGFuZ2VkLCB3cml0ZSBhbiBlcnJvcgotICogbWVzc2FnZSB0byAnZXJyJywgYW5kIHJldHVybiBhIG5vbnplcm8gdmFsdWUuCi0gKgotICogVGhlIHJlZnMgaW4gJ3JlZm5hbWVzJyBuZWVkbid0IGJlIHNvcnRlZC4gYGVycmAgbXVzdCBub3QgYmUgTlVMTC4KLSAqLwotc3RhdGljIGludCByZXBhY2tfd2l0aG91dF9yZWZzKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCi0JCQkgICAgICAgc3RydWN0IHN0cmluZ19saXN0ICpyZWZuYW1lcywgc3RydWN0IHN0cmJ1ZiAqZXJyKQotewotCXN0cnVjdCByZWZfZGlyICpwYWNrZWQ7Ci0Jc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnJlZm5hbWU7Ci0JaW50IHJldCwgbmVlZHNfcmVwYWNraW5nID0gMCwgcmVtb3ZlZCA9IDA7Ci0KLQlhc3NlcnRfbWFpbl9yZXBvc2l0b3J5KCZyZWZzLT5iYXNlLCAicmVwYWNrX3dpdGhvdXRfcmVmcyIpOwotCWFzc2VydChlcnIpOwotCi0JLyogTG9vayBmb3IgYSBwYWNrZWQgcmVmICovCi0JZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShyZWZuYW1lLCByZWZuYW1lcykgewotCQlpZiAoZ2V0X3BhY2tlZF9yZWYocmVmcywgcmVmbmFtZS0+c3RyaW5nKSkgewotCQkJbmVlZHNfcmVwYWNraW5nID0gMTsKLQkJCWJyZWFrOworCQkvKiBTY2hlZHVsZSB0aGUgbG9vc2UgcmVmZXJlbmNlIGZvciBwcnVuaW5nIGlmIHJlcXVlc3RlZC4gKi8KKwkJaWYgKChmbGFncyAmIFBBQ0tfUkVGU19QUlVORSkpIHsKKwkJCXN0cnVjdCByZWZfdG9fcHJ1bmUgKm47CisJCQlGTEVYX0FMTE9DX1NUUihuLCBuYW1lLCBpdGVyLT5yZWZuYW1lKTsKKwkJCWhhc2hjcHkobi0+c2hhMSwgaXRlci0+b2lkLT5oYXNoKTsKKwkJCW4tPm5leHQgPSByZWZzX3RvX3BydW5lOworCQkJcmVmc190b19wcnVuZSA9IG47CiAJCX0KIAl9CisJaWYgKG9rICE9IElURVJfRE9ORSkKKwkJZGllKCJlcnJvciB3aGlsZSBpdGVyYXRpbmcgb3ZlciByZWZlcmVuY2VzIik7CiAKLQkvKiBBdm9pZCBsb2NraW5nIGlmIHdlIGhhdmUgbm90aGluZyB0byBkbyAqLwotCWlmICghbmVlZHNfcmVwYWNraW5nKQotCQlyZXR1cm4gMDsgLyogbm8gcmVmbmFtZSBleGlzdHMgaW4gcGFja2VkIHJlZnMgKi8KKwlpZiAocmVmX3RyYW5zYWN0aW9uX2NvbW1pdCh0cmFuc2FjdGlvbiwgJmVycikpCisJCWRpZSgidW5hYmxlIHRvIHdyaXRlIG5ldyBwYWNrZWQtcmVmczogJXMiLCBlcnIuYnVmKTsKIAotCWlmIChsb2NrX3BhY2tlZF9yZWZzKHJlZnMsIDApKSB7Ci0JCXVuYWJsZV90b19sb2NrX21lc3NhZ2UoZ2l0X3BhdGgoInBhY2tlZC1yZWZzIiksIGVycm5vLCBlcnIpOwotCQlyZXR1cm4gLTE7Ci0JfQotCXBhY2tlZCA9IGdldF9wYWNrZWRfcmVmcyhyZWZzKTsKKwlyZWZfdHJhbnNhY3Rpb25fZnJlZSh0cmFuc2FjdGlvbik7CiAKLQkvKiBSZW1vdmUgcmVmbmFtZXMgZnJvbSB0aGUgY2FjaGUgKi8KLQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKHJlZm5hbWUsIHJlZm5hbWVzKQotCQlpZiAocmVtb3ZlX2VudHJ5KHBhY2tlZCwgcmVmbmFtZS0+c3RyaW5nKSAhPSAtMSkKLQkJCXJlbW92ZWQgPSAxOwotCWlmICghcmVtb3ZlZCkgewotCQkvKgotCQkgKiBBbGwgcGFja2VkIGVudHJpZXMgZGlzYXBwZWFyZWQgd2hpbGUgd2Ugd2VyZQotCQkgKiBhY3F1aXJpbmcgdGhlIGxvY2suCi0JCSAqLwotCQlyb2xsYmFja19wYWNrZWRfcmVmcyhyZWZzKTsKLQkJcmV0dXJuIDA7Ci0JfQorCXBhY2tlZF9yZWZzX3VubG9jayhyZWZzLT5wYWNrZWRfcmVmX3N0b3JlKTsKIAotCS8qIFdyaXRlIHdoYXQgcmVtYWlucyAqLwotCXJldCA9IGNvbW1pdF9wYWNrZWRfcmVmcyhyZWZzKTsKLQlpZiAocmV0KQotCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gb3ZlcndyaXRlIG9sZCByZWYtcGFjayBmaWxlOiAlcyIsCi0JCQkgICAgc3RyZXJyb3IoZXJybm8pKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IGRlbGV0ZV9yZWZfbG9vc2Uoc3RydWN0IHJlZl9sb2NrICpsb2NrLCBpbnQgZmxhZywgc3RydWN0IHN0cmJ1ZiAqZXJyKQotewotCWFzc2VydChlcnIpOwotCi0JaWYgKCEoZmxhZyAmIFJFRl9JU1BBQ0tFRCkgfHwgZmxhZyAmIFJFRl9JU1NZTVJFRikgewotCQkvKgotCQkgKiBsb29zZS4gIFRoZSBsb29zZSBmaWxlIG5hbWUgaXMgdGhlIHNhbWUgYXMgdGhlCi0JCSAqIGxvY2tmaWxlIG5hbWUsIG1pbnVzICIubG9jayI6Ci0JCSAqLwotCQljaGFyICpsb29zZV9maWxlbmFtZSA9IGdldF9sb2NrZWRfZmlsZV9wYXRoKGxvY2stPmxrKTsKLQkJaW50IHJlcyA9IHVubGlua19vcl9tc2cobG9vc2VfZmlsZW5hbWUsIGVycik7Ci0JCWZyZWUobG9vc2VfZmlsZW5hbWUpOwotCQlpZiAocmVzKQotCQkJcmV0dXJuIDE7Ci0JfQorCXBydW5lX3JlZnMocmVmcywgJnJlZnNfdG9fcHJ1bmUpOworCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGZpbGVzX2RlbGV0ZV9yZWZzKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKK3N0YXRpYyBpbnQgZmlsZXNfZGVsZXRlX3JlZnMoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLCBjb25zdCBjaGFyICptc2csCiAJCQkgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KLQkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAiZGVsZXRlX3JlZnMiKTsKKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfV1JJVEUsICJkZWxldGVfcmVmcyIpOwogCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7CiAJaW50IGksIHJlc3VsdCA9IDA7CiAKIAlpZiAoIXJlZm5hbWVzLT5ucikKIAkJcmV0dXJuIDA7CiAKLQlyZXN1bHQgPSByZXBhY2tfd2l0aG91dF9yZWZzKHJlZnMsIHJlZm5hbWVzLCAmZXJyKTsKLQlpZiAocmVzdWx0KSB7Ci0JCS8qCi0JCSAqIElmIHdlIGZhaWxlZCB0byByZXdyaXRlIHRoZSBwYWNrZWQtcmVmcyBmaWxlLCB0aGVuCi0JCSAqIGl0IGlzIHVuc2FmZSB0byB0cnkgdG8gcmVtb3ZlIGxvb3NlIHJlZnMsIGJlY2F1c2UKLQkJICogZG9pbmcgc28gbWlnaHQgZXhwb3NlIGFuIG9ic29sZXRlIHBhY2tlZCB2YWx1ZSBmb3IKLQkJICogYSByZWZlcmVuY2UgdGhhdCBtaWdodCBldmVuIHBvaW50IGF0IGFuIG9iamVjdCB0aGF0Ci0JCSAqIGhhcyBiZWVuIGdhcmJhZ2UgY29sbGVjdGVkLgotCQkgKi8KLQkJaWYgKHJlZm5hbWVzLT5uciA9PSAxKQotCQkJZXJyb3IoXygiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIiksCi0JCQkgICAgICByZWZuYW1lcy0+aXRlbXNbMF0uc3RyaW5nLCBlcnIuYnVmKTsKLQkJZWxzZQotCQkJZXJyb3IoXygiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIpLCBlcnIuYnVmKTsKKwlpZiAocGFja2VkX3JlZnNfbG9jayhyZWZzLT5wYWNrZWRfcmVmX3N0b3JlLCAwLCAmZXJyKSkKKwkJZ290byBlcnJvcjsKIAotCQlnb3RvIG91dDsKKwlpZiAocmVmc19kZWxldGVfcmVmcyhyZWZzLT5wYWNrZWRfcmVmX3N0b3JlLCBtc2csIHJlZm5hbWVzLCBmbGFncykpIHsKKwkJcGFja2VkX3JlZnNfdW5sb2NrKHJlZnMtPnBhY2tlZF9yZWZfc3RvcmUpOworCQlnb3RvIGVycm9yOwogCX0KIAorCXBhY2tlZF9yZWZzX3VubG9jayhyZWZzLT5wYWNrZWRfcmVmX3N0b3JlKTsKKwogCWZvciAoaSA9IDA7IGkgPCByZWZuYW1lcy0+bnI7IGkrKykgewogCQljb25zdCBjaGFyICpyZWZuYW1lID0gcmVmbmFtZXMtPml0ZW1zW2ldLnN0cmluZzsKIAotCQlpZiAoZGVsZXRlX3JlZihyZWZuYW1lLCBOVUxMLCBmbGFncykpCisJCWlmIChyZWZzX2RlbGV0ZV9yZWYoJnJlZnMtPmJhc2UsIG1zZywgcmVmbmFtZSwgTlVMTCwgZmxhZ3MpKQogCQkJcmVzdWx0IHw9IGVycm9yKF8oImNvdWxkIG5vdCByZW1vdmUgcmVmZXJlbmNlICVzIiksIHJlZm5hbWUpOwogCX0KIAotb3V0OgogCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOwogCXJldHVybiByZXN1bHQ7CisKK2Vycm9yOgorCS8qCisJICogSWYgd2UgZmFpbGVkIHRvIHJld3JpdGUgdGhlIHBhY2tlZC1yZWZzIGZpbGUsIHRoZW4gaXQgaXMKKwkgKiB1bnNhZmUgdG8gdHJ5IHRvIHJlbW92ZSBsb29zZSByZWZzLCBiZWNhdXNlIGRvaW5nIHNvIG1pZ2h0CisJICogZXhwb3NlIGFuIG9ic29sZXRlIHBhY2tlZCB2YWx1ZSBmb3IgYSByZWZlcmVuY2UgdGhhdCBtaWdodAorCSAqIGV2ZW4gcG9pbnQgYXQgYW4gb2JqZWN0IHRoYXQgaGFzIGJlZW4gZ2FyYmFnZSBjb2xsZWN0ZWQuCisJICovCisJaWYgKHJlZm5hbWVzLT5uciA9PSAxKQorCQllcnJvcihfKCJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiKSwKKwkJICAgICAgcmVmbmFtZXMtPml0ZW1zWzBdLnN0cmluZywgZXJyLmJ1Zik7CisJZWxzZQorCQllcnJvcihfKCJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIiksIGVyci5idWYpOworCisJc3RyYnVmX3JlbGVhc2UoJmVycik7CisJcmV0dXJuIC0xOwogfQogCiAvKgpAQCAtMjUwNSwxMzcgKzExNjMsMTQ4IEBACiAgKiBJT1csIHRvIGF2b2lkIGNyb3NzIGRldmljZSByZW5hbWUgZXJyb3JzLCB0aGUgdGVtcG9yYXJ5IHJlbmFtZWQgbG9nIG11c3QKICAqIGxpdmUgaW50byBsb2dzL3JlZnMuCiAgKi8KLSNkZWZpbmUgVE1QX1JFTkFNRURfTE9HICAibG9ncy9yZWZzLy50bXAtcmVuYW1lZC1sb2ciCisjZGVmaW5lIFRNUF9SRU5BTUVEX0xPRyAgInJlZnMvLnRtcC1yZW5hbWVkLWxvZyIKIAotc3RhdGljIGludCByZW5hbWVfdG1wX2xvZyhjb25zdCBjaGFyICpuZXdyZWZuYW1lKQorc3RydWN0IHJlbmFtZV9jYiB7CisJY29uc3QgY2hhciAqdG1wX3JlbmFtZWRfbG9nOworCWludCB0cnVlX2Vycm5vOworfTsKKworc3RhdGljIGludCByZW5hbWVfdG1wX2xvZ19jYWxsYmFjayhjb25zdCBjaGFyICpwYXRoLCB2b2lkICpjYl9kYXRhKQogewotCWludCBhdHRlbXB0c19yZW1haW5pbmcgPSA0OworCXN0cnVjdCByZW5hbWVfY2IgKmNiID0gY2JfZGF0YTsKKworCWlmIChyZW5hbWUoY2ItPnRtcF9yZW5hbWVkX2xvZywgcGF0aCkpIHsKKwkJLyoKKwkJICogcmVuYW1lKGEsIGIpIHdoZW4gYiBpcyBhbiBleGlzdGluZyBkaXJlY3Rvcnkgb3VnaHQKKwkJICogdG8gcmVzdWx0IGluIElTRElSLCBidXQgU29sYXJpcyA1LjggZ2l2ZXMgRU5PVERJUi4KKwkJICogU2hlZXNoLiBSZWNvcmQgdGhlIHRydWUgZXJybm8gZm9yIGVycm9yIHJlcG9ydGluZywKKwkJICogYnV0IHJlcG9ydCBFSVNESVIgdG8gcmFjZXByb29mX2NyZWF0ZV9maWxlKCkgc28KKwkJICogdGhhdCBpdCBrbm93cyB0byByZXRyeS4KKwkJICovCisJCWNiLT50cnVlX2Vycm5vID0gZXJybm87CisJCWlmIChlcnJubyA9PSBFTk9URElSKQorCQkJZXJybm8gPSBFSVNESVI7CisJCXJldHVybiAtMTsKKwl9IGVsc2UgeworCQlyZXR1cm4gMDsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcmVuYW1lX3RtcF9sb2coc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqbmV3cmVmbmFtZSkKK3sKIAlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKLQlpbnQgcmV0ID0gLTE7CisJc3RydWN0IHN0cmJ1ZiB0bXAgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcmVuYW1lX2NiIGNiOworCWludCByZXQ7CiAKLSByZXRyeToKLQlzdHJidWZfcmVzZXQoJnBhdGgpOwotCXN0cmJ1Zl9naXRfcGF0aCgmcGF0aCwgImxvZ3MvJXMiLCBuZXdyZWZuYW1lKTsKLQlzd2l0Y2ggKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QocGF0aC5idWYpKSB7Ci0JY2FzZSBTQ0xEX09LOgotCQlicmVhazsgLyogc3VjY2VzcyAqLwotCWNhc2UgU0NMRF9WQU5JU0hFRDoKLQkJaWYgKC0tYXR0ZW1wdHNfcmVtYWluaW5nID4gMCkKLQkJCWdvdG8gcmV0cnk7Ci0JCS8qIGZhbGwgdGhyb3VnaCAqLwotCWRlZmF1bHQ6Ci0JCWVycm9yKCJ1bmFibGUgdG8gY3JlYXRlIGRpcmVjdG9yeSBmb3IgJXMiLCBuZXdyZWZuYW1lKTsKLQkJZ290byBvdXQ7CisJZmlsZXNfcmVmbG9nX3BhdGgocmVmcywgJnBhdGgsIG5ld3JlZm5hbWUpOworCWZpbGVzX3JlZmxvZ19wYXRoKHJlZnMsICZ0bXAsIFRNUF9SRU5BTUVEX0xPRyk7CisJY2IudG1wX3JlbmFtZWRfbG9nID0gdG1wLmJ1ZjsKKwlyZXQgPSByYWNlcHJvb2ZfY3JlYXRlX2ZpbGUocGF0aC5idWYsIHJlbmFtZV90bXBfbG9nX2NhbGxiYWNrLCAmY2IpOworCWlmIChyZXQpIHsKKwkJaWYgKGVycm5vID09IEVJU0RJUikKKwkJCWVycm9yKCJkaXJlY3Rvcnkgbm90IGVtcHR5OiAlcyIsIHBhdGguYnVmKTsKKwkJZWxzZQorCQkJZXJyb3IoInVuYWJsZSB0byBtb3ZlIGxvZ2ZpbGUgJXMgdG8gJXM6ICVzIiwKKwkJCSAgICAgIHRtcC5idWYsIHBhdGguYnVmLAorCQkJICAgICAgc3RyZXJyb3IoY2IudHJ1ZV9lcnJubykpOwogCX0KIAotCWlmIChyZW5hbWUoZ2l0X3BhdGgoVE1QX1JFTkFNRURfTE9HKSwgcGF0aC5idWYpKSB7Ci0JCWlmICgoZXJybm89PUVJU0RJUiB8fCBlcnJubz09RU5PVERJUikgJiYgLS1hdHRlbXB0c19yZW1haW5pbmcgPiAwKSB7Ci0JCQkvKgotCQkJICogcmVuYW1lKGEsIGIpIHdoZW4gYiBpcyBhbiBleGlzdGluZwotCQkJICogZGlyZWN0b3J5IG91Z2h0IHRvIHJlc3VsdCBpbiBJU0RJUiwgYnV0Ci0JCQkgKiBTb2xhcmlzIDUuOCBnaXZlcyBFTk9URElSLiAgU2hlZXNoLgotCQkJICovCi0JCQlpZiAocmVtb3ZlX2VtcHR5X2RpcmVjdG9yaWVzKCZwYXRoKSkgewotCQkJCWVycm9yKCJEaXJlY3Rvcnkgbm90IGVtcHR5OiBsb2dzLyVzIiwgbmV3cmVmbmFtZSk7Ci0JCQkJZ290byBvdXQ7Ci0JCQl9Ci0JCQlnb3RvIHJldHJ5OwotCQl9IGVsc2UgaWYgKGVycm5vID09IEVOT0VOVCAmJiAtLWF0dGVtcHRzX3JlbWFpbmluZyA+IDApIHsKLQkJCS8qCi0JCQkgKiBNYXliZSBhbm90aGVyIHByb2Nlc3MganVzdCBkZWxldGVkIG9uZSBvZgotCQkJICogdGhlIGRpcmVjdG9yaWVzIGluIHRoZSBwYXRoIHRvIG5ld3JlZm5hbWUuCi0JCQkgKiBUcnkgYWdhaW4gZnJvbSB0aGUgYmVnaW5uaW5nLgotCQkJICovCi0JCQlnb3RvIHJldHJ5OwotCQl9IGVsc2UgewotCQkJZXJyb3IoInVuYWJsZSB0byBtb3ZlIGxvZ2ZpbGUgIlRNUF9SRU5BTUVEX0xPRyIgdG8gbG9ncy8lczogJXMiLAotCQkJCW5ld3JlZm5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0JCQlnb3RvIG91dDsKLQkJfQotCX0KLQlyZXQgPSAwOwotb3V0OgogCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKKwlzdHJidWZfcmVsZWFzZSgmdG1wKTsKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IGZpbGVzX3ZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCi0JCQkJCSAgY29uc3QgY2hhciAqbmV3bmFtZSwKLQkJCQkJICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmV4dHJhcywKLQkJCQkJICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnNraXAsCi0JCQkJCSAgc3RydWN0IHN0cmJ1ZiAqZXJyKQotewotCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQotCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDEsICJ2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUiKTsKLQlzdHJ1Y3QgcmVmX2RpciAqcGFja2VkX3JlZnMgPSBnZXRfcGFja2VkX3JlZnMocmVmcyk7Ci0Jc3RydWN0IHJlZl9kaXIgKmxvb3NlX3JlZnMgPSBnZXRfbG9vc2VfcmVmcyhyZWZzKTsKLQotCWlmICh2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZGlyKG5ld25hbWUsIGV4dHJhcywgc2tpcCwKLQkJCQkJIHBhY2tlZF9yZWZzLCBlcnIpIHx8Ci0JICAgIHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZV9kaXIobmV3bmFtZSwgZXh0cmFzLCBza2lwLAotCQkJCQkgbG9vc2VfcmVmcywgZXJyKSkKLQkJcmV0dXJuIC0xOwotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgd3JpdGVfcmVmX3RvX2xvY2tmaWxlKHN0cnVjdCByZWZfbG9jayAqbG9jaywKLQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKKwkJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBzdHJ1Y3Qgc3RyYnVmICplcnIpOwogc3RhdGljIGludCBjb21taXRfcmVmX3VwZGF0ZShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzLAogCQkJICAgICBzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssCi0JCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmxvZ21zZywKKwkJCSAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpsb2dtc2csCiAJCQkgICAgIHN0cnVjdCBzdHJidWYgKmVycik7CiAKLXN0YXRpYyBpbnQgZmlsZXNfcmVuYW1lX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCitzdGF0aWMgaW50IGZpbGVzX2NvcHlfb3JfcmVuYW1lX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCiAJCQkgICAgY29uc3QgY2hhciAqb2xkcmVmbmFtZSwgY29uc3QgY2hhciAqbmV3cmVmbmFtZSwKLQkJCSAgICBjb25zdCBjaGFyICpsb2dtc2cpCisJCQkgICAgY29uc3QgY2hhciAqbG9nbXNnLCBpbnQgY29weSkKIHsKIAlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KLQkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAicmVuYW1lX3JlZiIpOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sIG9yaWdfc2hhMVsyMF07CisJCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgUkVGX1NUT1JFX1dSSVRFLCAicmVuYW1lX3JlZiIpOworCXN0cnVjdCBvYmplY3RfaWQgb2lkLCBvcmlnX29pZDsKIAlpbnQgZmxhZyA9IDAsIGxvZ21vdmVkID0gMDsKIAlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CiAJc3RydWN0IHN0YXQgbG9naW5mbzsKLQlpbnQgbG9nID0gIWxzdGF0KGdpdF9wYXRoKCJsb2dzLyVzIiwgb2xkcmVmbmFtZSksICZsb2dpbmZvKTsKKwlzdHJ1Y3Qgc3RyYnVmIHNiX29sZHJlZiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgc2JfbmV3cmVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiB0bXBfcmVuYW1lZF9sb2cgPSBTVFJCVUZfSU5JVDsKKwlpbnQgbG9nLCByZXQ7CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAotCWlmIChsb2cgJiYgU19JU0xOSyhsb2dpbmZvLnN0X21vZGUpKQotCQlyZXR1cm4gZXJyb3IoInJlZmxvZyBmb3IgJXMgaXMgYSBzeW1saW5rIiwgb2xkcmVmbmFtZSk7CisJZmlsZXNfcmVmbG9nX3BhdGgocmVmcywgJnNiX29sZHJlZiwgb2xkcmVmbmFtZSk7CisJZmlsZXNfcmVmbG9nX3BhdGgocmVmcywgJnNiX25ld3JlZiwgbmV3cmVmbmFtZSk7CisJZmlsZXNfcmVmbG9nX3BhdGgocmVmcywgJnRtcF9yZW5hbWVkX2xvZywgVE1QX1JFTkFNRURfTE9HKTsKIAotCWlmICghcmVzb2x2ZV9yZWZfdW5zYWZlKG9sZHJlZm5hbWUsIFJFU09MVkVfUkVGX1JFQURJTkcgfCBSRVNPTFZFX1JFRl9OT19SRUNVUlNFLAotCQkJCW9yaWdfc2hhMSwgJmZsYWcpKQotCQlyZXR1cm4gZXJyb3IoInJlZm5hbWUgJXMgbm90IGZvdW5kIiwgb2xkcmVmbmFtZSk7CisJbG9nID0gIWxzdGF0KHNiX29sZHJlZi5idWYsICZsb2dpbmZvKTsKKwlpZiAobG9nICYmIFNfSVNMTksobG9naW5mby5zdF9tb2RlKSkgeworCQlyZXQgPSBlcnJvcigicmVmbG9nIGZvciAlcyBpcyBhIHN5bWxpbmsiLCBvbGRyZWZuYW1lKTsKKwkJZ290byBvdXQ7CisJfQogCi0JaWYgKGZsYWcgJiBSRUZfSVNTWU1SRUYpCi0JCXJldHVybiBlcnJvcigicmVmbmFtZSAlcyBpcyBhIHN5bWJvbGljIHJlZiwgcmVuYW1pbmcgaXQgaXMgbm90IHN1cHBvcnRlZCIsCi0JCQlvbGRyZWZuYW1lKTsKLQlpZiAoIXJlbmFtZV9yZWZfYXZhaWxhYmxlKG9sZHJlZm5hbWUsIG5ld3JlZm5hbWUpKQotCQlyZXR1cm4gMTsKKwlpZiAoIXJlZnNfcmVzb2x2ZV9yZWZfdW5zYWZlKCZyZWZzLT5iYXNlLCBvbGRyZWZuYW1lLAorCQkJCSAgICAgUkVTT0xWRV9SRUZfUkVBRElORyB8IFJFU09MVkVfUkVGX05PX1JFQ1VSU0UsCisJCQkJb3JpZ19vaWQuaGFzaCwgJmZsYWcpKSB7CisJCXJldCA9IGVycm9yKCJyZWZuYW1lICVzIG5vdCBmb3VuZCIsIG9sZHJlZm5hbWUpOworCQlnb3RvIG91dDsKKwl9CiAKLQlpZiAobG9nICYmIHJlbmFtZShnaXRfcGF0aCgibG9ncy8lcyIsIG9sZHJlZm5hbWUpLCBnaXRfcGF0aChUTVBfUkVOQU1FRF9MT0cpKSkKLQkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gbW92ZSBsb2dmaWxlIGxvZ3MvJXMgdG8gIlRNUF9SRU5BTUVEX0xPRyI6ICVzIiwKLQkJCW9sZHJlZm5hbWUsIHN0cmVycm9yKGVycm5vKSk7CisJaWYgKGZsYWcgJiBSRUZfSVNTWU1SRUYpIHsKKwkJaWYgKGNvcHkpCisJCQlyZXQgPSBlcnJvcigicmVmbmFtZSAlcyBpcyBhIHN5bWJvbGljIHJlZiwgY29weWluZyBpdCBpcyBub3Qgc3VwcG9ydGVkIiwKKwkJCQkgICAgb2xkcmVmbmFtZSk7CisJCWVsc2UKKwkJCXJldCA9IGVycm9yKCJyZWZuYW1lICVzIGlzIGEgc3ltYm9saWMgcmVmLCByZW5hbWluZyBpdCBpcyBub3Qgc3VwcG9ydGVkIiwKKwkJCQkgICAgb2xkcmVmbmFtZSk7CisJCWdvdG8gb3V0OworCX0KKwlpZiAoIXJlZnNfcmVuYW1lX3JlZl9hdmFpbGFibGUoJnJlZnMtPmJhc2UsIG9sZHJlZm5hbWUsIG5ld3JlZm5hbWUpKSB7CisJCXJldCA9IDE7CisJCWdvdG8gb3V0OworCX0KIAotCWlmIChkZWxldGVfcmVmKG9sZHJlZm5hbWUsIG9yaWdfc2hhMSwgUkVGX05PREVSRUYpKSB7CisJaWYgKCFjb3B5ICYmIGxvZyAmJiByZW5hbWUoc2Jfb2xkcmVmLmJ1ZiwgdG1wX3JlbmFtZWRfbG9nLmJ1ZikpIHsKKwkJcmV0ID0gZXJyb3IoInVuYWJsZSB0byBtb3ZlIGxvZ2ZpbGUgbG9ncy8lcyB0byBsb2dzLyJUTVBfUkVOQU1FRF9MT0ciOiAlcyIsCisJCQkgICAgb2xkcmVmbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKGNvcHkgJiYgbG9nICYmIGNvcHlfZmlsZSh0bXBfcmVuYW1lZF9sb2cuYnVmLCBzYl9vbGRyZWYuYnVmLCAwNjQ0KSkgeworCQlyZXQgPSBlcnJvcigidW5hYmxlIHRvIGNvcHkgbG9nZmlsZSBsb2dzLyVzIHRvIGxvZ3MvIlRNUF9SRU5BTUVEX0xPRyI6ICVzIiwKKwkJCSAgICBvbGRyZWZuYW1lLCBzdHJlcnJvcihlcnJubykpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoIWNvcHkgJiYgcmVmc19kZWxldGVfcmVmKCZyZWZzLT5iYXNlLCBsb2dtc2csIG9sZHJlZm5hbWUsCisJCQkgICAgb3JpZ19vaWQuaGFzaCwgUkVGX05PREVSRUYpKSB7CiAJCWVycm9yKCJ1bmFibGUgdG8gZGVsZXRlIG9sZCAlcyIsIG9sZHJlZm5hbWUpOwogCQlnb3RvIHJvbGxiYWNrOwogCX0KIAogCS8qCi0JICogU2luY2Ugd2UgYXJlIGRvaW5nIGEgc2hhbGxvdyBsb29rdXAsIHNoYTEgaXMgbm90IHRoZQotCSAqIGNvcnJlY3QgdmFsdWUgdG8gcGFzcyB0byBkZWxldGVfcmVmIGFzIG9sZF9zaGExLiBCdXQgdGhhdAotCSAqIGRvZXNuJ3QgbWF0dGVyLCBiZWNhdXNlIGFuIG9sZF9zaGExIGNoZWNrIHdvdWxkbid0IGFkZCB0bworCSAqIFNpbmNlIHdlIGFyZSBkb2luZyBhIHNoYWxsb3cgbG9va3VwLCBvaWQgaXMgbm90IHRoZQorCSAqIGNvcnJlY3QgdmFsdWUgdG8gcGFzcyB0byBkZWxldGVfcmVmIGFzIG9sZF9vaWQuIEJ1dCB0aGF0CisJICogZG9lc24ndCBtYXR0ZXIsIGJlY2F1c2UgYW4gb2xkX29pZCBjaGVjayB3b3VsZG4ndCBhZGQgdG8KIAkgKiB0aGUgc2FmZXR5IGFueXdheTsgd2Ugd2FudCB0byBkZWxldGUgdGhlIHJlZmVyZW5jZSB3aGF0ZXZlcgogCSAqIGl0cyBjdXJyZW50IHZhbHVlLgogCSAqLwotCWlmICghcmVhZF9yZWZfZnVsbChuZXdyZWZuYW1lLCBSRVNPTFZFX1JFRl9SRUFESU5HIHwgUkVTT0xWRV9SRUZfTk9fUkVDVVJTRSwKLQkJCSAgIHNoYTEsIE5VTEwpICYmCi0JICAgIGRlbGV0ZV9yZWYobmV3cmVmbmFtZSwgTlVMTCwgUkVGX05PREVSRUYpKSB7Ci0JCWlmIChlcnJubz09RUlTRElSKSB7CisJaWYgKCFjb3B5ICYmICFyZWZzX3JlYWRfcmVmX2Z1bGwoJnJlZnMtPmJhc2UsIG5ld3JlZm5hbWUsCisJCQkJUkVTT0xWRV9SRUZfUkVBRElORyB8IFJFU09MVkVfUkVGX05PX1JFQ1VSU0UsCisJCQkJb2lkLmhhc2gsIE5VTEwpICYmCisJICAgIHJlZnNfZGVsZXRlX3JlZigmcmVmcy0+YmFzZSwgTlVMTCwgbmV3cmVmbmFtZSwKKwkJCSAgICBOVUxMLCBSRUZfTk9ERVJFRikpIHsKKwkJaWYgKGVycm5vID09IEVJU0RJUikgewogCQkJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CiAJCQlpbnQgcmVzdWx0OwogCi0JCQlzdHJidWZfZ2l0X3BhdGgoJnBhdGgsICIlcyIsIG5ld3JlZm5hbWUpOworCQkJZmlsZXNfcmVmX3BhdGgocmVmcywgJnBhdGgsIG5ld3JlZm5hbWUpOwogCQkJcmVzdWx0ID0gcmVtb3ZlX2VtcHR5X2RpcmVjdG9yaWVzKCZwYXRoKTsKIAkJCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKIApAQCAtMjY0OSw3ICsxMzE4LDcgQEAKIAkJfQogCX0KIAotCWlmIChsb2cgJiYgcmVuYW1lX3RtcF9sb2cobmV3cmVmbmFtZSkpCisJaWYgKGxvZyAmJiByZW5hbWVfdG1wX2xvZyhyZWZzLCBuZXdyZWZuYW1lKSkKIAkJZ290byByb2xsYmFjazsKIAogCWxvZ21vdmVkID0gbG9nOwpAQCAtMjY1NywyMCArMTMyNiwyNCBAQAogCWxvY2sgPSBsb2NrX3JlZl9zaGExX2Jhc2ljKHJlZnMsIG5ld3JlZm5hbWUsIE5VTEwsIE5VTEwsIE5VTEwsCiAJCQkJICAgUkVGX05PREVSRUYsIE5VTEwsICZlcnIpOwogCWlmICghbG9jaykgewotCQllcnJvcigidW5hYmxlIHRvIHJlbmFtZSAnJXMnIHRvICclcyc6ICVzIiwgb2xkcmVmbmFtZSwgbmV3cmVmbmFtZSwgZXJyLmJ1Zik7CisJCWlmIChjb3B5KQorCQkJZXJyb3IoInVuYWJsZSB0byBjb3B5ICclcycgdG8gJyVzJzogJXMiLCBvbGRyZWZuYW1lLCBuZXdyZWZuYW1lLCBlcnIuYnVmKTsKKwkJZWxzZQorCQkJZXJyb3IoInVuYWJsZSB0byByZW5hbWUgJyVzJyB0byAnJXMnOiAlcyIsIG9sZHJlZm5hbWUsIG5ld3JlZm5hbWUsIGVyci5idWYpOwogCQlzdHJidWZfcmVsZWFzZSgmZXJyKTsKIAkJZ290byByb2xsYmFjazsKIAl9Ci0JaGFzaGNweShsb2NrLT5vbGRfb2lkLmhhc2gsIG9yaWdfc2hhMSk7CisJb2lkY3B5KCZsb2NrLT5vbGRfb2lkLCAmb3JpZ19vaWQpOwogCi0JaWYgKHdyaXRlX3JlZl90b19sb2NrZmlsZShsb2NrLCBvcmlnX3NoYTEsICZlcnIpIHx8Ci0JICAgIGNvbW1pdF9yZWZfdXBkYXRlKHJlZnMsIGxvY2ssIG9yaWdfc2hhMSwgbG9nbXNnLCAmZXJyKSkgeworCWlmICh3cml0ZV9yZWZfdG9fbG9ja2ZpbGUobG9jaywgJm9yaWdfb2lkLCAmZXJyKSB8fAorCSAgICBjb21taXRfcmVmX3VwZGF0ZShyZWZzLCBsb2NrLCAmb3JpZ19vaWQsIGxvZ21zZywgJmVycikpIHsKIAkJZXJyb3IoInVuYWJsZSB0byB3cml0ZSBjdXJyZW50IHNoYTEgaW50byAlczogJXMiLCBuZXdyZWZuYW1lLCBlcnIuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmVycik7CiAJCWdvdG8gcm9sbGJhY2s7CiAJfQogCi0JcmV0dXJuIDA7CisJcmV0ID0gMDsKKwlnb3RvIG91dDsKIAogIHJvbGxiYWNrOgogCWxvY2sgPSBsb2NrX3JlZl9zaGExX2Jhc2ljKHJlZnMsIG9sZHJlZm5hbWUsIE5VTEwsIE5VTEwsIE5VTEwsCkBAIC0yNjgzLDM1ICsxMzU2LDU2IEBACiAKIAlmbGFnID0gbG9nX2FsbF9yZWZfdXBkYXRlczsKIAlsb2dfYWxsX3JlZl91cGRhdGVzID0gTE9HX1JFRlNfTk9ORTsKLQlpZiAod3JpdGVfcmVmX3RvX2xvY2tmaWxlKGxvY2ssIG9yaWdfc2hhMSwgJmVycikgfHwKLQkgICAgY29tbWl0X3JlZl91cGRhdGUocmVmcywgbG9jaywgb3JpZ19zaGExLCBOVUxMLCAmZXJyKSkgeworCWlmICh3cml0ZV9yZWZfdG9fbG9ja2ZpbGUobG9jaywgJm9yaWdfb2lkLCAmZXJyKSB8fAorCSAgICBjb21taXRfcmVmX3VwZGF0ZShyZWZzLCBsb2NrLCAmb3JpZ19vaWQsIE5VTEwsICZlcnIpKSB7CiAJCWVycm9yKCJ1bmFibGUgdG8gd3JpdGUgY3VycmVudCBzaGExIGludG8gJXM6ICVzIiwgb2xkcmVmbmFtZSwgZXJyLmJ1Zik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOwogCX0KIAlsb2dfYWxsX3JlZl91cGRhdGVzID0gZmxhZzsKIAogIHJvbGxiYWNrbG9nOgotCWlmIChsb2dtb3ZlZCAmJiByZW5hbWUoZ2l0X3BhdGgoImxvZ3MvJXMiLCBuZXdyZWZuYW1lKSwgZ2l0X3BhdGgoImxvZ3MvJXMiLCBvbGRyZWZuYW1lKSkpCisJaWYgKGxvZ21vdmVkICYmIHJlbmFtZShzYl9uZXdyZWYuYnVmLCBzYl9vbGRyZWYuYnVmKSkKIAkJZXJyb3IoInVuYWJsZSB0byByZXN0b3JlIGxvZ2ZpbGUgJXMgZnJvbSAlczogJXMiLAogCQkJb2xkcmVmbmFtZSwgbmV3cmVmbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKIAlpZiAoIWxvZ21vdmVkICYmIGxvZyAmJgotCSAgICByZW5hbWUoZ2l0X3BhdGgoVE1QX1JFTkFNRURfTE9HKSwgZ2l0X3BhdGgoImxvZ3MvJXMiLCBvbGRyZWZuYW1lKSkpCi0JCWVycm9yKCJ1bmFibGUgdG8gcmVzdG9yZSBsb2dmaWxlICVzIGZyb20gIlRNUF9SRU5BTUVEX0xPRyI6ICVzIiwKKwkgICAgcmVuYW1lKHRtcF9yZW5hbWVkX2xvZy5idWYsIHNiX29sZHJlZi5idWYpKQorCQllcnJvcigidW5hYmxlIHRvIHJlc3RvcmUgbG9nZmlsZSAlcyBmcm9tIGxvZ3MvIlRNUF9SRU5BTUVEX0xPRyI6ICVzIiwKIAkJCW9sZHJlZm5hbWUsIHN0cmVycm9yKGVycm5vKSk7CisJcmV0ID0gMTsKKyBvdXQ6CisJc3RyYnVmX3JlbGVhc2UoJnNiX25ld3JlZik7CisJc3RyYnVmX3JlbGVhc2UoJnNiX29sZHJlZik7CisJc3RyYnVmX3JlbGVhc2UoJnRtcF9yZW5hbWVkX2xvZyk7CiAKLQlyZXR1cm4gMTsKKwlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IGNsb3NlX3JlZihzdHJ1Y3QgcmVmX2xvY2sgKmxvY2spCitzdGF0aWMgaW50IGZpbGVzX3JlbmFtZV9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgIGNvbnN0IGNoYXIgKm9sZHJlZm5hbWUsIGNvbnN0IGNoYXIgKm5ld3JlZm5hbWUsCisJCQkgICAgY29uc3QgY2hhciAqbG9nbXNnKQogewotCWlmIChjbG9zZV9sb2NrX2ZpbGUobG9jay0+bGspKQorCXJldHVybiBmaWxlc19jb3B5X29yX3JlbmFtZV9yZWYocmVmX3N0b3JlLCBvbGRyZWZuYW1lLAorCQkJCSBuZXdyZWZuYW1lLCBsb2dtc2csIDApOworfQorCitzdGF0aWMgaW50IGZpbGVzX2NvcHlfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCSAgICBjb25zdCBjaGFyICpvbGRyZWZuYW1lLCBjb25zdCBjaGFyICpuZXdyZWZuYW1lLAorCQkJICAgIGNvbnN0IGNoYXIgKmxvZ21zZykKK3sKKwlyZXR1cm4gZmlsZXNfY29weV9vcl9yZW5hbWVfcmVmKHJlZl9zdG9yZSwgb2xkcmVmbmFtZSwKKwkJCQkgbmV3cmVmbmFtZSwgbG9nbXNnLCAxKTsKK30KKworc3RhdGljIGludCBjbG9zZV9yZWZfZ2VudGx5KHN0cnVjdCByZWZfbG9jayAqbG9jaykKK3sKKwlpZiAoY2xvc2VfbG9ja19maWxlX2dlbnRseSgmbG9jay0+bGspKQogCQlyZXR1cm4gLTE7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgY29tbWl0X3JlZihzdHJ1Y3QgcmVmX2xvY2sgKmxvY2spCiB7Ci0JY2hhciAqcGF0aCA9IGdldF9sb2NrZWRfZmlsZV9wYXRoKGxvY2stPmxrKTsKKwljaGFyICpwYXRoID0gZ2V0X2xvY2tlZF9maWxlX3BhdGgoJmxvY2stPmxrKTsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIAogCWlmICghbHN0YXQocGF0aCwgJnN0KSAmJiBTX0lTRElSKHN0LnN0X21vZGUpKSB7CkBAIC0yNzM1LDc1ICsxNDI5LDEwMiBAQAogCQlmcmVlKHBhdGgpOwogCX0KIAotCWlmIChjb21taXRfbG9ja19maWxlKGxvY2stPmxrKSkKKwlpZiAoY29tbWl0X2xvY2tfZmlsZSgmbG9jay0+bGspKQogCQlyZXR1cm4gLTE7CiAJcmV0dXJuIDA7CiB9CiAKLS8qCi0gKiBDcmVhdGUgYSByZWZsb2cgZm9yIGEgcmVmLiAgSWYgZm9yY2VfY3JlYXRlID0gMCwgdGhlIHJlZmxvZyB3aWxsCi0gKiBvbmx5IGJlIGNyZWF0ZWQgZm9yIGNlcnRhaW4gcmVmcyAodGhvc2UgZm9yIHdoaWNoCi0gKiBzaG91bGRfYXV0b2NyZWF0ZV9yZWZsb2cgcmV0dXJucyBub24temVyby4gIE90aGVyd2lzZSwgY3JlYXRlIGl0Ci0gKiByZWdhcmRsZXNzIG9mIHRoZSByZWYgbmFtZS4gIEZpbGwgaW4gKmVyciBhbmQgcmV0dXJuIC0xIG9uIGZhaWx1cmUuCi0gKi8KLXN0YXRpYyBpbnQgbG9nX3JlZl9zZXR1cChjb25zdCBjaGFyICpyZWZuYW1lLCBzdHJ1Y3Qgc3RyYnVmICpsb2dmaWxlLCBzdHJ1Y3Qgc3RyYnVmICplcnIsIGludCBmb3JjZV9jcmVhdGUpCitzdGF0aWMgaW50IG9wZW5fb3JfY3JlYXRlX2xvZ2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgdm9pZCAqY2IpCiB7Ci0JaW50IGxvZ2ZkLCBvZmxhZ3MgPSBPX0FQUEVORCB8IE9fV1JPTkxZOworCWludCAqZmQgPSBjYjsKIAotCXN0cmJ1Zl9naXRfcGF0aChsb2dmaWxlLCAibG9ncy8lcyIsIHJlZm5hbWUpOwotCWlmIChmb3JjZV9jcmVhdGUgfHwgc2hvdWxkX2F1dG9jcmVhdGVfcmVmbG9nKHJlZm5hbWUpKSB7Ci0JCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKGxvZ2ZpbGUtPmJ1ZikgPCAwKSB7Ci0JCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gY3JlYXRlIGRpcmVjdG9yeSBmb3IgJyVzJzogIgotCQkJCSAgICAiJXMiLCBsb2dmaWxlLT5idWYsIHN0cmVycm9yKGVycm5vKSk7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0KLQkJb2ZsYWdzIHw9IE9fQ1JFQVQ7Ci0JfQotCi0JbG9nZmQgPSBvcGVuKGxvZ2ZpbGUtPmJ1Ziwgb2ZsYWdzLCAwNjY2KTsKLQlpZiAobG9nZmQgPCAwKSB7Ci0JCWlmICghKG9mbGFncyAmIE9fQ1JFQVQpICYmIChlcnJubyA9PSBFTk9FTlQgfHwgZXJybm8gPT0gRUlTRElSKSkKLQkJCXJldHVybiAwOwotCi0JCWlmIChlcnJubyA9PSBFSVNESVIpIHsKLQkJCWlmIChyZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMobG9nZmlsZSkpIHsKLQkJCQlzdHJidWZfYWRkZihlcnIsICJ0aGVyZSBhcmUgc3RpbGwgbG9ncyB1bmRlciAiCi0JCQkJCSAgICAiJyVzJyIsIGxvZ2ZpbGUtPmJ1Zik7Ci0JCQkJcmV0dXJuIC0xOwotCQkJfQotCQkJbG9nZmQgPSBvcGVuKGxvZ2ZpbGUtPmJ1Ziwgb2ZsYWdzLCAwNjY2KTsKLQkJfQotCi0JCWlmIChsb2dmZCA8IDApIHsKLQkJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBhcHBlbmQgdG8gJyVzJzogJXMiLAotCQkJCSAgICBsb2dmaWxlLT5idWYsIHN0cmVycm9yKGVycm5vKSk7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0KLQl9Ci0KLQlhZGp1c3Rfc2hhcmVkX3Blcm0obG9nZmlsZS0+YnVmKTsKLQljbG9zZShsb2dmZCk7Ci0JcmV0dXJuIDA7CisJKmZkID0gb3BlbihwYXRoLCBPX0FQUEVORCB8IE9fV1JPTkxZIHwgT19DUkVBVCwgMDY2Nik7CisJcmV0dXJuICgqZmQgPCAwKSA/IC0xIDogMDsKIH0KIAorLyoKKyAqIENyZWF0ZSBhIHJlZmxvZyBmb3IgYSByZWYuIElmIGZvcmNlX2NyZWF0ZSA9IDAsIG9ubHkgY3JlYXRlIHRoZQorICogcmVmbG9nIGZvciBjZXJ0YWluIHJlZnMgKHRob3NlIGZvciB3aGljaCBzaG91bGRfYXV0b2NyZWF0ZV9yZWZsb2cKKyAqIHJldHVybnMgbm9uLXplcm8pLiBPdGhlcndpc2UsIGNyZWF0ZSBpdCByZWdhcmRsZXNzIG9mIHRoZSByZWZlcmVuY2UKKyAqIG5hbWUuIElmIHRoZSBsb2dmaWxlIGFscmVhZHkgZXhpc3RlZCBvciB3YXMgY3JlYXRlZCwgcmV0dXJuIDAgYW5kCisgKiBzZXQgKmxvZ2ZkIHRvIHRoZSBmaWxlIGRlc2NyaXB0b3Igb3BlbmVkIGZvciBhcHBlbmRpbmcgdG8gdGhlIGZpbGUuCisgKiBJZiBubyBsb2dmaWxlIGV4aXN0cyBhbmQgd2UgZGVjaWRlZCBub3QgdG8gY3JlYXRlIG9uZSwgcmV0dXJuIDAgYW5kCisgKiBzZXQgKmxvZ2ZkIHRvIC0xLiBPbiBmYWlsdXJlLCBmaWxsIGluICplcnIsIHNldCAqbG9nZmQgdG8gLTEsIGFuZAorICogcmV0dXJuIC0xLgorICovCitzdGF0aWMgaW50IGxvZ19yZWZfc2V0dXAoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKKwkJCSBjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgZm9yY2VfY3JlYXRlLAorCQkJIGludCAqbG9nZmQsIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGxvZ2ZpbGVfc2IgPSBTVFJCVUZfSU5JVDsKKwljaGFyICpsb2dmaWxlOworCisJZmlsZXNfcmVmbG9nX3BhdGgocmVmcywgJmxvZ2ZpbGVfc2IsIHJlZm5hbWUpOworCWxvZ2ZpbGUgPSBzdHJidWZfZGV0YWNoKCZsb2dmaWxlX3NiLCBOVUxMKTsKKworCWlmIChmb3JjZV9jcmVhdGUgfHwgc2hvdWxkX2F1dG9jcmVhdGVfcmVmbG9nKHJlZm5hbWUpKSB7CisJCWlmIChyYWNlcHJvb2ZfY3JlYXRlX2ZpbGUobG9nZmlsZSwgb3Blbl9vcl9jcmVhdGVfbG9nZmlsZSwgbG9nZmQpKSB7CisJCQlpZiAoZXJybm8gPT0gRU5PRU5UKQorCQkJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IGZvciAnJXMnOiAiCisJCQkJCSAgICAiJXMiLCBsb2dmaWxlLCBzdHJlcnJvcihlcnJubykpOworCQkJZWxzZSBpZiAoZXJybm8gPT0gRUlTRElSKQorCQkJCXN0cmJ1Zl9hZGRmKGVyciwgInRoZXJlIGFyZSBzdGlsbCBsb2dzIHVuZGVyICclcyciLAorCQkJCQkgICAgbG9nZmlsZSk7CisJCQllbHNlCisJCQkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIGFwcGVuZCB0byAnJXMnOiAlcyIsCisJCQkJCSAgICBsb2dmaWxlLCBzdHJlcnJvcihlcnJubykpOworCisJCQlnb3RvIGVycm9yOworCQl9CisJfSBlbHNlIHsKKwkJKmxvZ2ZkID0gb3Blbihsb2dmaWxlLCBPX0FQUEVORCB8IE9fV1JPTkxZLCAwNjY2KTsKKwkJaWYgKCpsb2dmZCA8IDApIHsKKwkJCWlmIChlcnJubyA9PSBFTk9FTlQgfHwgZXJybm8gPT0gRUlTRElSKSB7CisJCQkJLyoKKwkJCQkgKiBUaGUgbG9nZmlsZSBkb2Vzbid0IGFscmVhZHkgZXhpc3QsCisJCQkJICogYnV0IHRoYXQgaXMgbm90IGFuIGVycm9yOyBpdCBvbmx5CisJCQkJICogbWVhbnMgdGhhdCB3ZSB3b24ndCB3cml0ZSBsb2cKKwkJCQkgKiBlbnRyaWVzIHRvIGl0LgorCQkJCSAqLworCQkJCTsKKwkJCX0gZWxzZSB7CisJCQkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIGFwcGVuZCB0byAnJXMnOiAlcyIsCisJCQkJCSAgICBsb2dmaWxlLCBzdHJlcnJvcihlcnJubykpOworCQkJCWdvdG8gZXJyb3I7CisJCQl9CisJCX0KKwl9CisKKwlpZiAoKmxvZ2ZkID49IDApCisJCWFkanVzdF9zaGFyZWRfcGVybShsb2dmaWxlKTsKKworCWZyZWUobG9nZmlsZSk7CisJcmV0dXJuIDA7CisKK2Vycm9yOgorCWZyZWUobG9nZmlsZSk7CisJcmV0dXJuIC0xOworfQogCiBzdGF0aWMgaW50IGZpbGVzX2NyZWF0ZV9yZWZsb2coc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAogCQkJICAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBmb3JjZV9jcmVhdGUsCiAJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewotCWludCByZXQ7Ci0Jc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQorCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIFJFRl9TVE9SRV9XUklURSwgImNyZWF0ZV9yZWZsb2ciKTsKKwlpbnQgZmQ7CiAKLQkvKiBDaGVjayB2YWxpZGl0eSAoYnV0IHdlIGRvbid0IG5lZWQgdGhlIHJlc3VsdCk6ICovCi0JZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAiY3JlYXRlX3JlZmxvZyIpOworCWlmIChsb2dfcmVmX3NldHVwKHJlZnMsIHJlZm5hbWUsIGZvcmNlX2NyZWF0ZSwgJmZkLCBlcnIpKQorCQlyZXR1cm4gLTE7CiAKLQlyZXQgPSBsb2dfcmVmX3NldHVwKHJlZm5hbWUsICZzYiwgZXJyLCBmb3JjZV9jcmVhdGUpOwotCXN0cmJ1Zl9yZWxlYXNlKCZzYik7Ci0JcmV0dXJuIHJldDsKKwlpZiAoZmQgPj0gMCkKKwkJY2xvc2UoZmQpOworCisJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbG9nX3JlZl93cml0ZV9mZChpbnQgZmQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAotCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ld19zaGExLAorc3RhdGljIGludCBsb2dfcmVmX3dyaXRlX2ZkKGludCBmZCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2xkX29pZCwKKwkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpuZXdfb2lkLAogCQkJICAgIGNvbnN0IGNoYXIgKmNvbW1pdHRlciwgY29uc3QgY2hhciAqbXNnKQogewogCWludCBtc2dsZW4sIHdyaXR0ZW47CkBAIC0yODE0LDEwNiArMTUzNSw5OCBAQAogCW1heGxlbiA9IHN0cmxlbihjb21taXR0ZXIpICsgbXNnbGVuICsgMTAwOwogCWxvZ3JlYyA9IHhtYWxsb2MobWF4bGVuKTsKIAlsZW4gPSB4c25wcmludGYobG9ncmVjLCBtYXhsZW4sICIlcyAlcyAlc1xuIiwKLQkJCXNoYTFfdG9faGV4KG9sZF9zaGExKSwKLQkJCXNoYTFfdG9faGV4KG5ld19zaGExKSwKKwkJCW9pZF90b19oZXgob2xkX29pZCksCisJCQlvaWRfdG9faGV4KG5ld19vaWQpLAogCQkJY29tbWl0dGVyKTsKIAlpZiAobXNnbGVuKQogCQlsZW4gKz0gY29weV9yZWZsb2dfbXNnKGxvZ3JlYyArIGxlbiAtIDEsIG1zZykgLSAxOwogCiAJd3JpdHRlbiA9IGxlbiA8PSBtYXhsZW4gPyB3cml0ZV9pbl9mdWxsKGZkLCBsb2dyZWMsIGxlbikgOiAtMTsKIAlmcmVlKGxvZ3JlYyk7Ci0JaWYgKHdyaXR0ZW4gIT0gbGVuKQorCWlmICh3cml0dGVuIDwgMCkKIAkJcmV0dXJuIC0xOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbG9nX3JlZl93cml0ZV8xKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAotCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsIGNvbnN0IGNoYXIgKm1zZywKLQkJCSAgIHN0cnVjdCBzdHJidWYgKmxvZ2ZpbGUsIGludCBmbGFncywKLQkJCSAgIHN0cnVjdCBzdHJidWYgKmVycikKK3N0YXRpYyBpbnQgZmlsZXNfbG9nX3JlZl93cml0ZShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9sZF9vaWQsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbmV3X29pZCwgY29uc3QgY2hhciAqbXNnLAorCQkJICAgICAgIGludCBmbGFncywgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewotCWludCBsb2dmZCwgcmVzdWx0LCBvZmxhZ3MgPSBPX0FQUEVORCB8IE9fV1JPTkxZOworCWludCBsb2dmZCwgcmVzdWx0OwogCiAJaWYgKGxvZ19hbGxfcmVmX3VwZGF0ZXMgPT0gTE9HX1JFRlNfVU5TRVQpCiAJCWxvZ19hbGxfcmVmX3VwZGF0ZXMgPSBpc19iYXJlX3JlcG9zaXRvcnkoKSA/IExPR19SRUZTX05PTkUgOiBMT0dfUkVGU19OT1JNQUw7CiAKLQlyZXN1bHQgPSBsb2dfcmVmX3NldHVwKHJlZm5hbWUsIGxvZ2ZpbGUsIGVyciwgZmxhZ3MgJiBSRUZfRk9SQ0VfQ1JFQVRFX1JFRkxPRyk7CisJcmVzdWx0ID0gbG9nX3JlZl9zZXR1cChyZWZzLCByZWZuYW1lLAorCQkJICAgICAgIGZsYWdzICYgUkVGX0ZPUkNFX0NSRUFURV9SRUZMT0csCisJCQkgICAgICAgJmxvZ2ZkLCBlcnIpOwogCiAJaWYgKHJlc3VsdCkKIAkJcmV0dXJuIHJlc3VsdDsKIAotCWxvZ2ZkID0gb3Blbihsb2dmaWxlLT5idWYsIG9mbGFncyk7CiAJaWYgKGxvZ2ZkIDwgMCkKIAkJcmV0dXJuIDA7Ci0JcmVzdWx0ID0gbG9nX3JlZl93cml0ZV9mZChsb2dmZCwgb2xkX3NoYTEsIG5ld19zaGExLAorCXJlc3VsdCA9IGxvZ19yZWZfd3JpdGVfZmQobG9nZmQsIG9sZF9vaWQsIG5ld19vaWQsCiAJCQkJICBnaXRfY29tbWl0dGVyX2luZm8oMCksIG1zZyk7CiAJaWYgKHJlc3VsdCkgewotCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gYXBwZW5kIHRvICclcyc6ICVzIiwgbG9nZmlsZS0+YnVmLAotCQkJICAgIHN0cmVycm9yKGVycm5vKSk7CisJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwkJaW50IHNhdmVfZXJybm8gPSBlcnJubzsKKworCQlmaWxlc19yZWZsb2dfcGF0aChyZWZzLCAmc2IsIHJlZm5hbWUpOworCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gYXBwZW5kIHRvICclcyc6ICVzIiwKKwkJCSAgICBzYi5idWYsIHN0cmVycm9yKHNhdmVfZXJybm8pKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAkJY2xvc2UobG9nZmQpOwogCQlyZXR1cm4gLTE7CiAJfQogCWlmIChjbG9zZShsb2dmZCkpIHsKLQkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIGFwcGVuZCB0byAnJXMnOiAlcyIsIGxvZ2ZpbGUtPmJ1ZiwKLQkJCSAgICBzdHJlcnJvcihlcnJubykpOworCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJCWludCBzYXZlX2Vycm5vID0gZXJybm87CisKKwkJZmlsZXNfcmVmbG9nX3BhdGgocmVmcywgJnNiLCByZWZuYW1lKTsKKwkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIGFwcGVuZCB0byAnJXMnOiAlcyIsCisJCQkgICAgc2IuYnVmLCBzdHJlcnJvcihzYXZlX2Vycm5vKSk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJCXJldHVybiAtMTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbG9nX3JlZl93cml0ZShjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwKLQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpuZXdfc2hhMSwgY29uc3QgY2hhciAqbXNnLAotCQkJIGludCBmbGFncywgc3RydWN0IHN0cmJ1ZiAqZXJyKQotewotCXJldHVybiBmaWxlc19sb2dfcmVmX3dyaXRlKHJlZm5hbWUsIG9sZF9zaGExLCBuZXdfc2hhMSwgbXNnLCBmbGFncywKLQkJCQkgICBlcnIpOwotfQotCi1pbnQgZmlsZXNfbG9nX3JlZl93cml0ZShjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwKLQkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ld19zaGExLCBjb25zdCBjaGFyICptc2csCi0JCQlpbnQgZmxhZ3MsIHN0cnVjdCBzdHJidWYgKmVycikKLXsKLQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7Ci0JaW50IHJldCA9IGxvZ19yZWZfd3JpdGVfMShyZWZuYW1lLCBvbGRfc2hhMSwgbmV3X3NoYTEsIG1zZywgJnNiLCBmbGFncywKLQkJCQkgIGVycik7Ci0Jc3RyYnVmX3JlbGVhc2UoJnNiKTsKLQlyZXR1cm4gcmV0OwotfQotCiAvKgogICogV3JpdGUgc2hhMSBpbnRvIHRoZSBvcGVuIGxvY2tmaWxlLCB0aGVuIGNsb3NlIHRoZSBsb2NrZmlsZS4gT24KICAqIGVycm9ycywgcm9sbGJhY2sgdGhlIGxvY2tmaWxlLCBmaWxsIGluICplcnIgYW5kCiAgKiByZXR1cm4gLTEuCiAgKi8KIHN0YXRpYyBpbnQgd3JpdGVfcmVmX3RvX2xvY2tmaWxlKHN0cnVjdCByZWZfbG9jayAqbG9jaywKLQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IHN0cmJ1ZiAqZXJyKQorCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCBzdHJidWYgKmVycikKIHsKIAlzdGF0aWMgY2hhciB0ZXJtID0gJ1xuJzsKIAlzdHJ1Y3Qgb2JqZWN0ICpvOwogCWludCBmZDsKIAotCW8gPSBwYXJzZV9vYmplY3Qoc2hhMSk7CisJbyA9IHBhcnNlX29iamVjdChvaWQpOwogCWlmICghbykgewogCQlzdHJidWZfYWRkZihlcnIsCiAJCQkgICAgInRyeWluZyB0byB3cml0ZSByZWYgJyVzJyB3aXRoIG5vbmV4aXN0ZW50IG9iamVjdCAlcyIsCi0JCQkgICAgbG9jay0+cmVmX25hbWUsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCSAgICBsb2NrLT5yZWZfbmFtZSwgb2lkX3RvX2hleChvaWQpKTsKIAkJdW5sb2NrX3JlZihsb2NrKTsKIAkJcmV0dXJuIC0xOwogCX0KIAlpZiAoby0+dHlwZSAhPSBPQkpfQ09NTUlUICYmIGlzX2JyYW5jaChsb2NrLT5yZWZfbmFtZSkpIHsKIAkJc3RyYnVmX2FkZGYoZXJyLAogCQkJICAgICJ0cnlpbmcgdG8gd3JpdGUgbm9uLWNvbW1pdCBvYmplY3QgJXMgdG8gYnJhbmNoICclcyciLAotCQkJICAgIHNoYTFfdG9faGV4KHNoYTEpLCBsb2NrLT5yZWZfbmFtZSk7CisJCQkgICAgb2lkX3RvX2hleChvaWQpLCBsb2NrLT5yZWZfbmFtZSk7CiAJCXVubG9ja19yZWYobG9jayk7CiAJCXJldHVybiAtMTsKIAl9Ci0JZmQgPSBnZXRfbG9ja19maWxlX2ZkKGxvY2stPmxrKTsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgc2hhMV90b19oZXgoc2hhMSksIDQwKSAhPSA0MCB8fAotCSAgICB3cml0ZV9pbl9mdWxsKGZkLCAmdGVybSwgMSkgIT0gMSB8fAotCSAgICBjbG9zZV9yZWYobG9jaykgPCAwKSB7CisJZmQgPSBnZXRfbG9ja19maWxlX2ZkKCZsb2NrLT5sayk7CisJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIG9pZF90b19oZXgob2lkKSwgR0lUX1NIQTFfSEVYU1opIDwgMCB8fAorCSAgICB3cml0ZV9pbl9mdWxsKGZkLCAmdGVybSwgMSkgPCAwIHx8CisJICAgIGNsb3NlX3JlZl9nZW50bHkobG9jaykgPCAwKSB7CiAJCXN0cmJ1Zl9hZGRmKGVyciwKLQkJCSAgICAiY291bGRuJ3Qgd3JpdGUgJyVzJyIsIGdldF9sb2NrX2ZpbGVfcGF0aChsb2NrLT5saykpOworCQkJICAgICJjb3VsZG4ndCB3cml0ZSAnJXMnIiwgZ2V0X2xvY2tfZmlsZV9wYXRoKCZsb2NrLT5saykpOwogCQl1bmxvY2tfcmVmKGxvY2spOwogCQlyZXR1cm4gLTE7CiAJfQpAQCAtMjkyNywxMyArMTY0MCwxNSBAQAogICovCiBzdGF0aWMgaW50IGNvbW1pdF9yZWZfdXBkYXRlKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCiAJCQkgICAgIHN0cnVjdCByZWZfbG9jayAqbG9jaywKLQkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqbG9nbXNnLAorCQkJICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKmxvZ21zZywKIAkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewotCWFzc2VydF9tYWluX3JlcG9zaXRvcnkoJnJlZnMtPmJhc2UsICJjb21taXRfcmVmX3VwZGF0ZSIpOworCWZpbGVzX2Fzc2VydF9tYWluX3JlcG9zaXRvcnkocmVmcywgImNvbW1pdF9yZWZfdXBkYXRlIik7CiAKIAljbGVhcl9sb29zZV9yZWZfY2FjaGUocmVmcyk7Ci0JaWYgKGxvZ19yZWZfd3JpdGUobG9jay0+cmVmX25hbWUsIGxvY2stPm9sZF9vaWQuaGFzaCwgc2hhMSwgbG9nbXNnLCAwLCBlcnIpKSB7CisJaWYgKGZpbGVzX2xvZ19yZWZfd3JpdGUocmVmcywgbG9jay0+cmVmX25hbWUsCisJCQkJJmxvY2stPm9sZF9vaWQsIG9pZCwKKwkJCQlsb2dtc2csIDAsIGVycikpIHsKIAkJY2hhciAqb2xkX21zZyA9IHN0cmJ1Zl9kZXRhY2goZXJyLCBOVUxMKTsKIAkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IHVwZGF0ZSB0aGUgcmVmICclcyc6ICVzIiwKIAkJCSAgICBsb2NrLT5yZWZfbmFtZSwgb2xkX21zZyk7CkBAIC0yOTU1LDE3ICsxNjcwLDE4IEBACiAJCSAqIGNoZWNrIHdpdGggSEVBRCBvbmx5IHdoaWNoIHNob3VsZCBjb3ZlciA5OSUgb2YgYWxsIHVzYWdlCiAJCSAqIHNjZW5hcmlvcyAoZXZlbiAxMDAlIG9mIHRoZSBkZWZhdWx0IG9uZXMpLgogCQkgKi8KLQkJdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOwogCQlpbnQgaGVhZF9mbGFnOwogCQljb25zdCBjaGFyICpoZWFkX3JlZjsKIAotCQloZWFkX3JlZiA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsCi0JCQkJCSAgICAgIGhlYWRfc2hhMSwgJmhlYWRfZmxhZyk7CisJCWhlYWRfcmVmID0gcmVmc19yZXNvbHZlX3JlZl91bnNhZmUoJnJlZnMtPmJhc2UsICJIRUFEIiwKKwkJCQkJCSAgIFJFU09MVkVfUkVGX1JFQURJTkcsCisJCQkJCQkgICBOVUxMLCAmaGVhZF9mbGFnKTsKIAkJaWYgKGhlYWRfcmVmICYmIChoZWFkX2ZsYWcgJiBSRUZfSVNTWU1SRUYpICYmCiAJCSAgICAhc3RyY21wKGhlYWRfcmVmLCBsb2NrLT5yZWZfbmFtZSkpIHsKIAkJCXN0cnVjdCBzdHJidWYgbG9nX2VyciA9IFNUUkJVRl9JTklUOwotCQkJaWYgKGxvZ19yZWZfd3JpdGUoIkhFQUQiLCBsb2NrLT5vbGRfb2lkLmhhc2gsIHNoYTEsCi0JCQkJCSAgbG9nbXNnLCAwLCAmbG9nX2VycikpIHsKKwkJCWlmIChmaWxlc19sb2dfcmVmX3dyaXRlKHJlZnMsICJIRUFEIiwKKwkJCQkJCSZsb2NrLT5vbGRfb2lkLCBvaWQsCisJCQkJCQlsb2dtc2csIDAsICZsb2dfZXJyKSkgewogCQkJCWVycm9yKCIlcyIsIGxvZ19lcnIuYnVmKTsKIAkJCQlzdHJidWZfcmVsZWFzZSgmbG9nX2Vycik7CiAJCQl9CkBAIC0yOTg2LDcgKzE3MDIsNyBAQAogewogCWludCByZXQgPSAtMTsKICNpZm5kZWYgTk9fU1lNTElOS19IRUFECi0JY2hhciAqcmVmX3BhdGggPSBnZXRfbG9ja2VkX2ZpbGVfcGF0aChsb2NrLT5sayk7CisJY2hhciAqcmVmX3BhdGggPSBnZXRfbG9ja2VkX2ZpbGVfcGF0aCgmbG9jay0+bGspOwogCXVubGluayhyZWZfcGF0aCk7CiAJcmV0ID0gc3ltbGluayh0YXJnZXQsIHJlZl9wYXRoKTsKIAlmcmVlKHJlZl9wYXRoKTsKQEAgLTI5OTcsMzQgKzE3MTMsMzkgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVfc3ltcmVmX3JlZmxvZyhzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssIGNvbnN0IGNoYXIgKnJlZm5hbWUsCitzdGF0aWMgdm9pZCB1cGRhdGVfc3ltcmVmX3JlZmxvZyhzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzLAorCQkJCSBzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssIGNvbnN0IGNoYXIgKnJlZm5hbWUsCiAJCQkJIGNvbnN0IGNoYXIgKnRhcmdldCwgY29uc3QgY2hhciAqbG9nbXNnKQogewogCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7Ci0JdW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF07Ci0JaWYgKGxvZ21zZyAmJiAhcmVhZF9yZWYodGFyZ2V0LCBuZXdfc2hhMSkgJiYKLQkgICAgbG9nX3JlZl93cml0ZShyZWZuYW1lLCBsb2NrLT5vbGRfb2lkLmhhc2gsIG5ld19zaGExLCBsb2dtc2csIDAsICZlcnIpKSB7CisJc3RydWN0IG9iamVjdF9pZCBuZXdfb2lkOworCWlmIChsb2dtc2cgJiYKKwkgICAgIXJlZnNfcmVhZF9yZWZfZnVsbCgmcmVmcy0+YmFzZSwgdGFyZ2V0LAorCQkJCVJFU09MVkVfUkVGX1JFQURJTkcsIG5ld19vaWQuaGFzaCwgTlVMTCkgJiYKKwkgICAgZmlsZXNfbG9nX3JlZl93cml0ZShyZWZzLCByZWZuYW1lLCAmbG9jay0+b2xkX29pZCwKKwkJCQkmbmV3X29pZCwgbG9nbXNnLCAwLCAmZXJyKSkgewogCQllcnJvcigiJXMiLCBlcnIuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmVycik7CiAJfQogfQogCi1zdGF0aWMgaW50IGNyZWF0ZV9zeW1yZWZfbG9ja2VkKHN0cnVjdCByZWZfbG9jayAqbG9jaywgY29uc3QgY2hhciAqcmVmbmFtZSwKK3N0YXRpYyBpbnQgY3JlYXRlX3N5bXJlZl9sb2NrZWQoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKKwkJCQlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssIGNvbnN0IGNoYXIgKnJlZm5hbWUsCiAJCQkJY29uc3QgY2hhciAqdGFyZ2V0LCBjb25zdCBjaGFyICpsb2dtc2cpCiB7CiAJaWYgKHByZWZlcl9zeW1saW5rX3JlZnMgJiYgIWNyZWF0ZV9yZWZfc3ltbGluayhsb2NrLCB0YXJnZXQpKSB7Ci0JCXVwZGF0ZV9zeW1yZWZfcmVmbG9nKGxvY2ssIHJlZm5hbWUsIHRhcmdldCwgbG9nbXNnKTsKKwkJdXBkYXRlX3N5bXJlZl9yZWZsb2cocmVmcywgbG9jaywgcmVmbmFtZSwgdGFyZ2V0LCBsb2dtc2cpOwogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoIWZkb3Blbl9sb2NrX2ZpbGUobG9jay0+bGssICJ3IikpCisJaWYgKCFmZG9wZW5fbG9ja19maWxlKCZsb2NrLT5saywgInciKSkKIAkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gZmRvcGVuICVzOiAlcyIsCi0JCQkgICAgIGxvY2stPmxrLT50ZW1wZmlsZS5maWxlbmFtZS5idWYsIHN0cmVycm9yKGVycm5vKSk7CisJCQkgICAgIGxvY2stPmxrLnRlbXBmaWxlLT5maWxlbmFtZS5idWYsIHN0cmVycm9yKGVycm5vKSk7CiAKLQl1cGRhdGVfc3ltcmVmX3JlZmxvZyhsb2NrLCByZWZuYW1lLCB0YXJnZXQsIGxvZ21zZyk7CisJdXBkYXRlX3N5bXJlZl9yZWZsb2cocmVmcywgbG9jaywgcmVmbmFtZSwgdGFyZ2V0LCBsb2dtc2cpOwogCiAJLyogbm8gZXJyb3IgY2hlY2s7IGNvbW1pdF9yZWYgd2lsbCBjaGVjayBmZXJyb3IgKi8KLQlmcHJpbnRmKGxvY2stPmxrLT50ZW1wZmlsZS5mcCwgInJlZjogJXNcbiIsIHRhcmdldCk7CisJZnByaW50Zihsb2NrLT5say50ZW1wZmlsZS0+ZnAsICJyZWY6ICVzXG4iLCB0YXJnZXQpOwogCWlmIChjb21taXRfcmVmKGxvY2spIDwgMCkKIAkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gd3JpdGUgc3ltcmVmIGZvciAlczogJXMiLCByZWZuYW1lLAogCQkJICAgICBzdHJlcnJvcihlcnJubykpOwpAQCAtMzAzNiw3ICsxNzU3LDcgQEAKIAkJCSAgICAgICBjb25zdCBjaGFyICpsb2dtc2cpCiB7CiAJc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9Ci0JCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgImNyZWF0ZV9zeW1yZWYiKTsKKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfV1JJVEUsICJjcmVhdGVfc3ltcmVmIik7CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CiAJaW50IHJldDsKQEAgLTMwNTAsODEgKzE3NzEsNTUgQEAKIAkJcmV0dXJuIC0xOwogCX0KIAotCXJldCA9IGNyZWF0ZV9zeW1yZWZfbG9ja2VkKGxvY2ssIHJlZm5hbWUsIHRhcmdldCwgbG9nbXNnKTsKKwlyZXQgPSBjcmVhdGVfc3ltcmVmX2xvY2tlZChyZWZzLCBsb2NrLCByZWZuYW1lLCB0YXJnZXQsIGxvZ21zZyk7CiAJdW5sb2NrX3JlZihsb2NrKTsKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgc2V0X3dvcmt0cmVlX2hlYWRfc3ltcmVmKGNvbnN0IGNoYXIgKmdpdGRpciwgY29uc3QgY2hhciAqdGFyZ2V0KQotewotCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGhlYWRfbG9jazsKLQlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7Ci0Jc3RydWN0IHN0cmJ1ZiBoZWFkX3BhdGggPSBTVFJCVUZfSU5JVDsKLQljb25zdCBjaGFyICpoZWFkX3JlbDsKLQlpbnQgcmV0OwotCi0Jc3RyYnVmX2FkZGYoJmhlYWRfcGF0aCwgIiVzL0hFQUQiLCBhYnNvbHV0ZV9wYXRoKGdpdGRpcikpOwotCWlmIChob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZoZWFkX2xvY2ssIGhlYWRfcGF0aC5idWYsCi0JCQkJICAgICAgTE9DS19OT19ERVJFRikgPCAwKSB7Ci0JCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7Ci0JCXVuYWJsZV90b19sb2NrX21lc3NhZ2UoaGVhZF9wYXRoLmJ1ZiwgZXJybm8sICZlcnIpOwotCQllcnJvcigiJXMiLCBlcnIuYnVmKTsKLQkJc3RyYnVmX3JlbGVhc2UoJmVycik7Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZoZWFkX3BhdGgpOwotCQlyZXR1cm4gLTE7Ci0JfQotCi0JLyogaGVhZF9yZWwgd2lsbCBiZSAiSEVBRCIgZm9yIHRoZSBtYWluIHRyZWUsICJ3b3JrdHJlZXMvd3QvSEVBRCIgZm9yCi0JICAgbGlua2VkIHRyZWVzICovCi0JaGVhZF9yZWwgPSByZW1vdmVfbGVhZGluZ19wYXRoKGhlYWRfcGF0aC5idWYsCi0JCQkJICAgICAgIGFic29sdXRlX3BhdGgoZ2V0X2dpdF9jb21tb25fZGlyKCkpKTsKLQkvKiB0byBtYWtlIHVzZSBvZiBjcmVhdGVfc3ltcmVmX2xvY2tlZCgpLCBpbml0aWFsaXplIHJlZl9sb2NrICovCi0JbG9jayA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCByZWZfbG9jaykpOwotCWxvY2stPmxrID0gJmhlYWRfbG9jazsKLQlsb2NrLT5yZWZfbmFtZSA9IHhzdHJkdXAoaGVhZF9yZWwpOwotCi0JcmV0ID0gY3JlYXRlX3N5bXJlZl9sb2NrZWQobG9jaywgaGVhZF9yZWwsIHRhcmdldCwgTlVMTCk7Ci0KLQl1bmxvY2tfcmVmKGxvY2spOyAvKiB3aWxsIGZyZWUgbG9jayAqLwotCXN0cmJ1Zl9yZWxlYXNlKCZoZWFkX3BhdGgpOwotCXJldHVybiByZXQ7Ci19Ci0KIHN0YXRpYyBpbnQgZmlsZXNfcmVmbG9nX2V4aXN0cyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCiAJCQkgICAgICAgY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfUkVBRCwgInJlZmxvZ19leGlzdHMiKTsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0YXQgc3Q7CisJaW50IHJldDsKIAotCS8qIENoZWNrIHZhbGlkaXR5IChidXQgd2UgZG9uJ3QgbmVlZCB0aGUgcmVzdWx0KTogKi8KLQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJyZWZsb2dfZXhpc3RzIik7Ci0KLQlyZXR1cm4gIWxzdGF0KGdpdF9wYXRoKCJsb2dzLyVzIiwgcmVmbmFtZSksICZzdCkgJiYKLQkJU19JU1JFRyhzdC5zdF9tb2RlKTsKKwlmaWxlc19yZWZsb2dfcGF0aChyZWZzLCAmc2IsIHJlZm5hbWUpOworCXJldCA9ICFsc3RhdChzYi5idWYsICZzdCkgJiYgU19JU1JFRyhzdC5zdF9tb2RlKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgZmlsZXNfZGVsZXRlX3JlZmxvZyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCiAJCQkgICAgICAgY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKLQkvKiBDaGVjayB2YWxpZGl0eSAoYnV0IHdlIGRvbid0IG5lZWQgdGhlIHJlc3VsdCk6ICovCi0JZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAiZGVsZXRlX3JlZmxvZyIpOworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQorCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIFJFRl9TVE9SRV9XUklURSwgImRlbGV0ZV9yZWZsb2ciKTsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJaW50IHJldDsKIAotCXJldHVybiByZW1vdmVfcGF0aChnaXRfcGF0aCgibG9ncy8lcyIsIHJlZm5hbWUpKTsKKwlmaWxlc19yZWZsb2dfcGF0aChyZWZzLCAmc2IsIHJlZm5hbWUpOworCXJldCA9IHJlbW92ZV9wYXRoKHNiLmJ1Zik7CisJc3RyYnVmX3JlbGVhc2UoJnNiKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHNob3dfb25lX3JlZmxvZ19lbnQoc3RydWN0IHN0cmJ1ZiAqc2IsIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKLQl1bnNpZ25lZCBjaGFyIG9zaGExWzIwXSwgbnNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb29pZCwgbm9pZDsKIAljaGFyICplbWFpbF9lbmQsICptZXNzYWdlOwotCXVuc2lnbmVkIGxvbmcgdGltZXN0YW1wOworCXRpbWVzdGFtcF90IHRpbWVzdGFtcDsKIAlpbnQgdHo7CisJY29uc3QgY2hhciAqcCA9IHNiLT5idWY7CiAKIAkvKiBvbGQgU1AgbmV3IFNQIG5hbWUgPGVtYWlsPiBTUCB0aW1lIFRBQiBtc2cgTEYgKi8KLQlpZiAoc2ItPmxlbiA8IDgzIHx8IHNiLT5idWZbc2ItPmxlbiAtIDFdICE9ICdcbicgfHwKLQkgICAgZ2V0X3NoYTFfaGV4KHNiLT5idWYsIG9zaGExKSB8fCBzYi0+YnVmWzQwXSAhPSAnICcgfHwKLQkgICAgZ2V0X3NoYTFfaGV4KHNiLT5idWYgKyA0MSwgbnNoYTEpIHx8IHNiLT5idWZbODFdICE9ICcgJyB8fAotCSAgICAhKGVtYWlsX2VuZCA9IHN0cmNocihzYi0+YnVmICsgODIsICc+JykpIHx8CisJaWYgKCFzYi0+bGVuIHx8IHNiLT5idWZbc2ItPmxlbiAtIDFdICE9ICdcbicgfHwKKwkgICAgcGFyc2Vfb2lkX2hleChwLCAmb29pZCwgJnApIHx8ICpwKysgIT0gJyAnIHx8CisJICAgIHBhcnNlX29pZF9oZXgocCwgJm5vaWQsICZwKSB8fCAqcCsrICE9ICcgJyB8fAorCSAgICAhKGVtYWlsX2VuZCA9IHN0cmNocihwLCAnPicpKSB8fAogCSAgICBlbWFpbF9lbmRbMV0gIT0gJyAnIHx8Ci0JICAgICEodGltZXN0YW1wID0gc3RydG91bChlbWFpbF9lbmQgKyAyLCAmbWVzc2FnZSwgMTApKSB8fAorCSAgICAhKHRpbWVzdGFtcCA9IHBhcnNlX3RpbWVzdGFtcChlbWFpbF9lbmQgKyAyLCAmbWVzc2FnZSwgMTApKSB8fAogCSAgICAhbWVzc2FnZSB8fCBtZXNzYWdlWzBdICE9ICcgJyB8fAogCSAgICAobWVzc2FnZVsxXSAhPSAnKycgJiYgbWVzc2FnZVsxXSAhPSAnLScpIHx8CiAJICAgICFpc2RpZ2l0KG1lc3NhZ2VbMl0pIHx8ICFpc2RpZ2l0KG1lc3NhZ2VbM10pIHx8CkBAIC0zMTM2LDcgKzE4MzEsNyBAQAogCQltZXNzYWdlICs9IDY7CiAJZWxzZQogCQltZXNzYWdlICs9IDc7Ci0JcmV0dXJuIGZuKG9zaGExLCBuc2hhMSwgc2ItPmJ1ZiArIDgyLCB0aW1lc3RhbXAsIHR6LCBtZXNzYWdlLCBjYl9kYXRhKTsKKwlyZXR1cm4gZm4oJm9vaWQsICZub2lkLCBwLCB0aW1lc3RhbXAsIHR6LCBtZXNzYWdlLCBjYl9kYXRhKTsKIH0KIAogc3RhdGljIGNoYXIgKmZpbmRfYmVnaW5uaW5nX29mX2xpbmUoY2hhciAqYm9iLCBjaGFyICpzY2FuKQpAQCAtMzE1NSwyMiArMTg1MCwyNCBAQAogCQkJCQkgICAgIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwKIAkJCQkJICAgICB2b2lkICpjYl9kYXRhKQogeworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQorCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIFJFRl9TVE9SRV9SRUFELAorCQkJICAgICAgICJmb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2UiKTsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJRklMRSAqbG9nZnA7CiAJbG9uZyBwb3M7CiAJaW50IHJldCA9IDAsIGF0X3RhaWwgPSAxOwogCi0JLyogQ2hlY2sgdmFsaWRpdHkgKGJ1dCB3ZSBkb24ndCBuZWVkIHRoZSByZXN1bHQpOiAqLwotCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgImZvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZSIpOwotCi0JbG9nZnAgPSBmb3BlbihnaXRfcGF0aCgibG9ncy8lcyIsIHJlZm5hbWUpLCAiciIpOworCWZpbGVzX3JlZmxvZ19wYXRoKHJlZnMsICZzYiwgcmVmbmFtZSk7CisJbG9nZnAgPSBmb3BlbihzYi5idWYsICJyIik7CisJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAlpZiAoIWxvZ2ZwKQogCQlyZXR1cm4gLTE7CiAKIAkvKiBKdW1wIHRvIHRoZSBlbmQgKi8KIAlpZiAoZnNlZWsobG9nZnAsIDAsIFNFRUtfRU5EKSA8IDApCi0JCXJldHVybiBlcnJvcigiY2Fubm90IHNlZWsgYmFjayByZWZsb2cgZm9yICVzOiAlcyIsCi0JCQkgICAgIHJlZm5hbWUsIHN0cmVycm9yKGVycm5vKSk7CisJCXJldCA9IGVycm9yKCJjYW5ub3Qgc2VlayBiYWNrIHJlZmxvZyBmb3IgJXM6ICVzIiwKKwkJCSAgICByZWZuYW1lLCBzdHJlcnJvcihlcnJubykpOwogCXBvcyA9IGZ0ZWxsKGxvZ2ZwKTsKIAl3aGlsZSAoIXJldCAmJiAwIDwgcG9zKSB7CiAJCWludCBjbnQ7CkBAIC0zMTgwLDEzICsxODc3LDE3IEBACiAKIAkJLyogRmlsbCBuZXh0IGJsb2NrIGZyb20gdGhlIGVuZCAqLwogCQljbnQgPSAoc2l6ZW9mKGJ1ZikgPCBwb3MpID8gc2l6ZW9mKGJ1ZikgOiBwb3M7Ci0JCWlmIChmc2Vlayhsb2dmcCwgcG9zIC0gY250LCBTRUVLX1NFVCkpCi0JCQlyZXR1cm4gZXJyb3IoImNhbm5vdCBzZWVrIGJhY2sgcmVmbG9nIGZvciAlczogJXMiLAotCQkJCSAgICAgcmVmbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJaWYgKGZzZWVrKGxvZ2ZwLCBwb3MgLSBjbnQsIFNFRUtfU0VUKSkgeworCQkJcmV0ID0gZXJyb3IoImNhbm5vdCBzZWVrIGJhY2sgcmVmbG9nIGZvciAlczogJXMiLAorCQkJCSAgICByZWZuYW1lLCBzdHJlcnJvcihlcnJubykpOworCQkJYnJlYWs7CisJCX0KIAkJbnJlYWQgPSBmcmVhZChidWYsIGNudCwgMSwgbG9nZnApOwotCQlpZiAobnJlYWQgIT0gMSkKLQkJCXJldHVybiBlcnJvcigiY2Fubm90IHJlYWQgJWQgYnl0ZXMgZnJvbSByZWZsb2cgZm9yICVzOiAlcyIsCi0JCQkJICAgICBjbnQsIHJlZm5hbWUsIHN0cmVycm9yKGVycm5vKSk7CisJCWlmIChucmVhZCAhPSAxKSB7CisJCQlyZXQgPSBlcnJvcigiY2Fubm90IHJlYWQgJWQgYnl0ZXMgZnJvbSByZWZsb2cgZm9yICVzOiAlcyIsCisJCQkJICAgIGNudCwgcmVmbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJCWJyZWFrOworCQl9CiAJCXBvcyAtPSBjbnQ7CiAKIAkJc2NhbnAgPSBlbmRwID0gYnVmICsgY250OwpAQCAtMzI2MiwxNCArMTk2MywxNiBAQAogCQkJCSAgICAgY29uc3QgY2hhciAqcmVmbmFtZSwKIAkJCQkgICAgIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfUkVBRCwKKwkJCSAgICAgICAiZm9yX2VhY2hfcmVmbG9nX2VudCIpOwogCUZJTEUgKmxvZ2ZwOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAlpbnQgcmV0ID0gMDsKIAotCS8qIENoZWNrIHZhbGlkaXR5IChidXQgd2UgZG9uJ3QgbmVlZCB0aGUgcmVzdWx0KTogKi8KLQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJmb3JfZWFjaF9yZWZsb2dfZW50Iik7Ci0KLQlsb2dmcCA9IGZvcGVuKGdpdF9wYXRoKCJsb2dzLyVzIiwgcmVmbmFtZSksICJyIik7CisJZmlsZXNfcmVmbG9nX3BhdGgocmVmcywgJnNiLCByZWZuYW1lKTsKKwlsb2dmcCA9IGZvcGVuKHNiLmJ1ZiwgInIiKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOwogCWlmICghbG9nZnApCiAJCXJldHVybiAtMTsKIApAQCAtMzI4Myw2ICsxOTg2LDcgQEAKIHN0cnVjdCBmaWxlc19yZWZsb2dfaXRlcmF0b3IgewogCXN0cnVjdCByZWZfaXRlcmF0b3IgYmFzZTsKIAorCXN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZTsKIAlzdHJ1Y3QgZGlyX2l0ZXJhdG9yICpkaXJfaXRlcmF0b3I7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiB9OwpAQCAtMzMwNCw4ICsyMDA4LDkgQEAKIAkJaWYgKGVuZHNfd2l0aChkaXRlci0+YmFzZW5hbWUsICIubG9jayIpKQogCQkJY29udGludWU7CiAKLQkJaWYgKHJlYWRfcmVmX2Z1bGwoZGl0ZXItPnJlbGF0aXZlX3BhdGgsIDAsCi0JCQkJICBpdGVyLT5vaWQuaGFzaCwgJmZsYWdzKSkgeworCQlpZiAocmVmc19yZWFkX3JlZl9mdWxsKGl0ZXItPnJlZl9zdG9yZSwKKwkJCQkgICAgICAgZGl0ZXItPnJlbGF0aXZlX3BhdGgsIDAsCisJCQkJICAgICAgIGl0ZXItPm9pZC5oYXNoLCAmZmxhZ3MpKSB7CiAJCQllcnJvcigiYmFkIHJlZiBmb3IgJXMiLCBkaXRlci0+cGF0aC5idWYpOwogCQkJY29udGludWU7CiAJCX0KQEAgLTMzNDcsMzQgKzIwNTIsNjIgQEAKIAlmaWxlc19yZWZsb2dfaXRlcmF0b3JfYWJvcnQKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpmaWxlc19yZWZsb2dfaXRlcmF0b3JfYmVnaW4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlKQorc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZmxvZ19pdGVyYXRvcl9iZWdpbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkJCQkgIGNvbnN0IGNoYXIgKmdpdGRpcikKIHsKIAlzdHJ1Y3QgZmlsZXNfcmVmbG9nX2l0ZXJhdG9yICppdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKIAlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKLQkvKiBDaGVjayB2YWxpZGl0eSAoYnV0IHdlIGRvbid0IG5lZWQgdGhlIHJlc3VsdCk6ICovCi0JZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAicmVmbG9nX2l0ZXJhdG9yX2JlZ2luIik7CisJYmFzZV9yZWZfaXRlcmF0b3JfaW5pdChyZWZfaXRlcmF0b3IsICZmaWxlc19yZWZsb2dfaXRlcmF0b3JfdnRhYmxlLCAwKTsKKwlzdHJidWZfYWRkZigmc2IsICIlcy9sb2dzIiwgZ2l0ZGlyKTsKKwlpdGVyLT5kaXJfaXRlcmF0b3IgPSBkaXJfaXRlcmF0b3JfYmVnaW4oc2IuYnVmKTsKKwlpdGVyLT5yZWZfc3RvcmUgPSByZWZfc3RvcmU7CisJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAotCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmZmlsZXNfcmVmbG9nX2l0ZXJhdG9yX3Z0YWJsZSk7Ci0JaXRlci0+ZGlyX2l0ZXJhdG9yID0gZGlyX2l0ZXJhdG9yX2JlZ2luKGdpdF9wYXRoKCJsb2dzIikpOwogCXJldHVybiByZWZfaXRlcmF0b3I7CiB9CiAKLXN0YXRpYyBpbnQgcmVmX3VwZGF0ZV9yZWplY3RfZHVwbGljYXRlcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZm5hbWVzLAotCQkJCQlzdHJ1Y3Qgc3RyYnVmICplcnIpCitzdGF0aWMgZW51bSBpdGVyYXRvcl9zZWxlY3Rpb24gcmVmbG9nX2l0ZXJhdG9yX3NlbGVjdCgKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyX3dvcmt0cmVlLAorCXN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXJfY29tbW9uLAorCXZvaWQgKmNiX2RhdGEpCiB7Ci0JaW50IGksIG4gPSByZWZuYW1lcy0+bnI7CisJaWYgKGl0ZXJfd29ya3RyZWUpIHsKKwkJLyoKKwkJICogV2UncmUgYSBiaXQgbG9vc2UgaGVyZS4gV2UgcHJvYmFibHkgc2hvdWxkIGlnbm9yZQorCQkgKiBjb21tb24gcmVmcyBpZiB0aGV5IGFyZSBhY2NpZGVudGFsbHkgYWRkZWQgYXMKKwkJICogcGVyLXdvcmt0cmVlIHJlZnMuCisJCSAqLworCQlyZXR1cm4gSVRFUl9TRUxFQ1RfMDsKKwl9IGVsc2UgaWYgKGl0ZXJfY29tbW9uKSB7CisJCWlmIChyZWZfdHlwZShpdGVyX2NvbW1vbi0+cmVmbmFtZSkgPT0gUkVGX1RZUEVfTk9STUFMKQorCQkJcmV0dXJuIElURVJfU0VMRUNUXzE7CiAKLQlhc3NlcnQoZXJyKTsKKwkJLyoKKwkJICogVGhlIG1haW4gcmVmIHN0b3JlIG1heSBjb250YWluIG1haW4gd29ya3RyZWUncworCQkgKiBwZXItd29ya3RyZWUgcmVmcywgd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQKKwkJICovCisJCXJldHVybiBJVEVSX1NLSVBfMTsKKwl9IGVsc2UKKwkJcmV0dXJuIElURVJfRE9ORTsKK30KIAotCWZvciAoaSA9IDE7IGkgPCBuOyBpKyspCi0JCWlmICghc3RyY21wKHJlZm5hbWVzLT5pdGVtc1tpIC0gMV0uc3RyaW5nLCByZWZuYW1lcy0+aXRlbXNbaV0uc3RyaW5nKSkgewotCQkJc3RyYnVmX2FkZGYoZXJyLAotCQkJCSAgICAibXVsdGlwbGUgdXBkYXRlcyBmb3IgcmVmICclcycgbm90IGFsbG93ZWQuIiwKLQkJCQkgICAgcmVmbmFtZXMtPml0ZW1zW2ldLnN0cmluZyk7Ci0JCQlyZXR1cm4gMTsKLQkJfQotCXJldHVybiAwOworc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3IgKmZpbGVzX3JlZmxvZ19pdGVyYXRvcl9iZWdpbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUpCit7CisJc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9CisJCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgUkVGX1NUT1JFX1JFQUQsCisJCQkgICAgICAgInJlZmxvZ19pdGVyYXRvcl9iZWdpbiIpOworCisJaWYgKCFzdHJjbXAocmVmcy0+Z2l0ZGlyLCByZWZzLT5naXRjb21tb25kaXIpKSB7CisJCXJldHVybiByZWZsb2dfaXRlcmF0b3JfYmVnaW4ocmVmX3N0b3JlLCByZWZzLT5naXRjb21tb25kaXIpOworCX0gZWxzZSB7CisJCXJldHVybiBtZXJnZV9yZWZfaXRlcmF0b3JfYmVnaW4oCisJCQkwLAorCQkJcmVmbG9nX2l0ZXJhdG9yX2JlZ2luKHJlZl9zdG9yZSwgcmVmcy0+Z2l0ZGlyKSwKKwkJCXJlZmxvZ19pdGVyYXRvcl9iZWdpbihyZWZfc3RvcmUsIHJlZnMtPmdpdGNvbW1vbmRpciksCisJCQlyZWZsb2dfaXRlcmF0b3Jfc2VsZWN0LCByZWZzKTsKKwl9CiB9CiAKIC8qCkBAIC0zNDAwLDExICsyMTMzLDEwIEBACiAKIAkvKgogCSAqIEZpcnN0IG1ha2Ugc3VyZSB0aGF0IEhFQUQgaXMgbm90IGFscmVhZHkgaW4gdGhlCi0JICogdHJhbnNhY3Rpb24uIFRoaXMgaW5zZXJ0aW9uIGlzIE8oTikgaW4gdGhlIHRyYW5zYWN0aW9uCisJICogdHJhbnNhY3Rpb24uIFRoaXMgY2hlY2sgaXMgTyhsZyBOKSBpbiB0aGUgdHJhbnNhY3Rpb24KIAkgKiBzaXplLCBidXQgaXQgaGFwcGVucyBhdCBtb3N0IG9uY2UgcGVyIHRyYW5zYWN0aW9uLgogCSAqLwotCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQoYWZmZWN0ZWRfcmVmbmFtZXMsICJIRUFEIik7Ci0JaWYgKGl0ZW0tPnV0aWwpIHsKKwlpZiAoc3RyaW5nX2xpc3RfaGFzX3N0cmluZyhhZmZlY3RlZF9yZWZuYW1lcywgIkhFQUQiKSkgewogCQkvKiBBbiBlbnRyeSBhbHJlYWR5IGV4aXN0ZWQgKi8KIAkJc3RyYnVmX2FkZGYoZXJyLAogCQkJICAgICJtdWx0aXBsZSB1cGRhdGVzIGZvciAnSEVBRCcgKGluY2x1ZGluZyBvbmUgIgpAQCAtMzQxNiw5ICsyMTQ4LDE3IEBACiAJbmV3X3VwZGF0ZSA9IHJlZl90cmFuc2FjdGlvbl9hZGRfdXBkYXRlKAogCQkJdHJhbnNhY3Rpb24sICJIRUFEIiwKIAkJCXVwZGF0ZS0+ZmxhZ3MgfCBSRUZfTE9HX09OTFkgfCBSRUZfTk9ERVJFRiwKLQkJCXVwZGF0ZS0+bmV3X3NoYTEsIHVwZGF0ZS0+b2xkX3NoYTEsCisJCQl1cGRhdGUtPm5ld19vaWQuaGFzaCwgdXBkYXRlLT5vbGRfb2lkLmhhc2gsCiAJCQl1cGRhdGUtPm1zZyk7CiAKKwkvKgorCSAqIEFkZCAiSEVBRCIuIFRoaXMgaW5zZXJ0aW9uIGlzIE8oTikgaW4gdGhlIHRyYW5zYWN0aW9uCisJICogc2l6ZSwgYnV0IGl0IGhhcHBlbnMgYXQgbW9zdCBvbmNlIHBlciB0cmFuc2FjdGlvbi4KKwkgKiBBZGQgbmV3X3VwZGF0ZS0+cmVmbmFtZSBpbnN0ZWFkIG9mIGEgbGl0ZXJhbCAiSEVBRCIuCisJICovCisJaWYgKHN0cmNtcChuZXdfdXBkYXRlLT5yZWZuYW1lLCAiSEVBRCIpKQorCQlCVUcoIiVzIHVuZXhwZWN0ZWRseSBub3QgJ0hFQUQnIiwgbmV3X3VwZGF0ZS0+cmVmbmFtZSk7CisJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydChhZmZlY3RlZF9yZWZuYW1lcywgbmV3X3VwZGF0ZS0+cmVmbmFtZSk7CiAJaXRlbS0+dXRpbCA9IG5ld191cGRhdGU7CiAKIAlyZXR1cm4gMDsKQEAgLTM0NDUsMTMgKzIxODUsMTIgQEAKIAogCS8qCiAJICogRmlyc3QgbWFrZSBzdXJlIHRoYXQgcmVmZXJlbnQgaXMgbm90IGFscmVhZHkgaW4gdGhlCi0JICogdHJhbnNhY3Rpb24uIFRoaXMgaW5zZXJ0aW9uIGlzIE8oTikgaW4gdGhlIHRyYW5zYWN0aW9uCisJICogdHJhbnNhY3Rpb24uIFRoaXMgY2hlY2sgaXMgTyhsZyBOKSBpbiB0aGUgdHJhbnNhY3Rpb24KIAkgKiBzaXplLCBidXQgaXQgaGFwcGVucyBhdCBtb3N0IG9uY2UgcGVyIHN5bXJlZiBpbiBhCiAJICogdHJhbnNhY3Rpb24uCiAJICovCi0JaXRlbSA9IHN0cmluZ19saXN0X2luc2VydChhZmZlY3RlZF9yZWZuYW1lcywgcmVmZXJlbnQpOwotCWlmIChpdGVtLT51dGlsKSB7Ci0JCS8qIEFuIGVudHJ5IGFscmVhZHkgZXhpc3RlZCAqLworCWlmIChzdHJpbmdfbGlzdF9oYXNfc3RyaW5nKGFmZmVjdGVkX3JlZm5hbWVzLCByZWZlcmVudCkpIHsKKwkJLyogQW4gZW50cnkgYWxyZWFkeSBleGlzdHMgKi8KIAkJc3RyYnVmX2FkZGYoZXJyLAogCQkJICAgICJtdWx0aXBsZSB1cGRhdGVzIGZvciAnJXMnIChpbmNsdWRpbmcgb25lICIKIAkJCSAgICAidmlhIHN5bXJlZiAnJXMnKSBhcmUgbm90IGFsbG93ZWQiLApAQCAtMzQ3Myw3ICsyMjEyLDcgQEAKIAogCW5ld191cGRhdGUgPSByZWZfdHJhbnNhY3Rpb25fYWRkX3VwZGF0ZSgKIAkJCXRyYW5zYWN0aW9uLCByZWZlcmVudCwgbmV3X2ZsYWdzLAotCQkJdXBkYXRlLT5uZXdfc2hhMSwgdXBkYXRlLT5vbGRfc2hhMSwKKwkJCXVwZGF0ZS0+bmV3X29pZC5oYXNoLCB1cGRhdGUtPm9sZF9vaWQuaGFzaCwKIAkJCXVwZGF0ZS0+bXNnKTsKIAogCW5ld191cGRhdGUtPnBhcmVudF91cGRhdGUgPSB1cGRhdGU7CkBAIC0zNDg2LDYgKzIyMjUsMTcgQEAKIAl1cGRhdGUtPmZsYWdzIHw9IFJFRl9MT0dfT05MWSB8IFJFRl9OT0RFUkVGOwogCXVwZGF0ZS0+ZmxhZ3MgJj0gflJFRl9IQVZFX09MRDsKIAorCS8qCisJICogQWRkIHRoZSByZWZlcmVudC4gVGhpcyBpbnNlcnRpb24gaXMgTyhOKSBpbiB0aGUgdHJhbnNhY3Rpb24KKwkgKiBzaXplLCBidXQgaXQgaGFwcGVucyBhdCBtb3N0IG9uY2UgcGVyIHN5bXJlZiBpbiBhCisJICogdHJhbnNhY3Rpb24uIE1ha2Ugc3VyZSB0byBhZGQgbmV3X3VwZGF0ZS0+cmVmbmFtZSwgd2hpY2ggd2lsbAorCSAqIGJlIHZhbGlkIGFzIGxvbmcgYXMgYWZmZWN0ZWRfcmVmbmFtZXMgaXMgaW4gdXNlLCBhbmQgTk9UCisJICogcmVmZXJlbnQsIHdoaWNoIG1pZ2h0IHNvb24gYmUgZnJlZWQgYnkgb3VyIGNhbGxlci4KKwkgKi8KKwlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KGFmZmVjdGVkX3JlZm5hbWVzLCBuZXdfdXBkYXRlLT5yZWZuYW1lKTsKKwlpZiAoaXRlbS0+dXRpbCkKKwkJQlVHKCIlcyB1bmV4cGVjdGVkbHkgZm91bmQgaW4gYWZmZWN0ZWRfcmVmbmFtZXMiLAorCQkgICAgbmV3X3VwZGF0ZS0+cmVmbmFtZSk7CiAJaXRlbS0+dXRpbCA9IG5ld191cGRhdGU7CiAKIAlyZXR1cm4gMDsKQEAgLTM1MTIsMTAgKzIyNjIsMTAgQEAKIAkJCSBzdHJ1Y3Qgc3RyYnVmICplcnIpCiB7CiAJaWYgKCEodXBkYXRlLT5mbGFncyAmIFJFRl9IQVZFX09MRCkgfHwKLQkJICAgIWhhc2hjbXAob2lkLT5oYXNoLCB1cGRhdGUtPm9sZF9zaGExKSkKKwkJICAgIW9pZGNtcChvaWQsICZ1cGRhdGUtPm9sZF9vaWQpKQogCQlyZXR1cm4gMDsKIAotCWlmIChpc19udWxsX3NoYTEodXBkYXRlLT5vbGRfc2hhMSkpCisJaWYgKGlzX251bGxfb2lkKCZ1cGRhdGUtPm9sZF9vaWQpKQogCQlzdHJidWZfYWRkZihlcnIsICJjYW5ub3QgbG9jayByZWYgJyVzJzogIgogCQkJICAgICJyZWZlcmVuY2UgYWxyZWFkeSBleGlzdHMiLAogCQkJICAgIG9yaWdpbmFsX3VwZGF0ZV9yZWZuYW1lKHVwZGF0ZSkpOwpAQCAtMzUyMywxMyArMjI3MywxMyBAQAogCQlzdHJidWZfYWRkZihlcnIsICJjYW5ub3QgbG9jayByZWYgJyVzJzogIgogCQkJICAgICJyZWZlcmVuY2UgaXMgbWlzc2luZyBidXQgZXhwZWN0ZWQgJXMiLAogCQkJICAgIG9yaWdpbmFsX3VwZGF0ZV9yZWZuYW1lKHVwZGF0ZSksCi0JCQkgICAgc2hhMV90b19oZXgodXBkYXRlLT5vbGRfc2hhMSkpOworCQkJICAgIG9pZF90b19oZXgoJnVwZGF0ZS0+b2xkX29pZCkpOwogCWVsc2UKIAkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IGxvY2sgcmVmICclcyc6ICIKIAkJCSAgICAiaXMgYXQgJXMgYnV0IGV4cGVjdGVkICVzIiwKIAkJCSAgICBvcmlnaW5hbF91cGRhdGVfcmVmbmFtZSh1cGRhdGUpLAogCQkJICAgIG9pZF90b19oZXgob2lkKSwKLQkJCSAgICBzaGExX3RvX2hleCh1cGRhdGUtPm9sZF9zaGExKSk7CisJCQkgICAgb2lkX3RvX2hleCgmdXBkYXRlLT5vbGRfb2lkKSk7CiAKIAlyZXR1cm4gLTE7CiB9CkBAIC0zNTU2LDIwICsyMzA2LDIwIEBACiB7CiAJc3RydWN0IHN0cmJ1ZiByZWZlcmVudCA9IFNUUkJVRl9JTklUOwogCWludCBtdXN0ZXhpc3QgPSAodXBkYXRlLT5mbGFncyAmIFJFRl9IQVZFX09MRCkgJiYKLQkJIWlzX251bGxfc2hhMSh1cGRhdGUtPm9sZF9zaGExKTsKLQlpbnQgcmV0OworCQkhaXNfbnVsbF9vaWQoJnVwZGF0ZS0+b2xkX29pZCk7CisJaW50IHJldCA9IDA7CiAJc3RydWN0IHJlZl9sb2NrICpsb2NrOwogCi0JYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgImxvY2tfcmVmX2Zvcl91cGRhdGUiKTsKKwlmaWxlc19hc3NlcnRfbWFpbl9yZXBvc2l0b3J5KHJlZnMsICJsb2NrX3JlZl9mb3JfdXBkYXRlIik7CiAKLQlpZiAoKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSEFWRV9ORVcpICYmIGlzX251bGxfc2hhMSh1cGRhdGUtPm5ld19zaGExKSkKKwlpZiAoKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSEFWRV9ORVcpICYmIGlzX251bGxfb2lkKCZ1cGRhdGUtPm5ld19vaWQpKQogCQl1cGRhdGUtPmZsYWdzIHw9IFJFRl9ERUxFVElORzsKIAogCWlmIChoZWFkX3JlZikgewogCQlyZXQgPSBzcGxpdF9oZWFkX3VwZGF0ZSh1cGRhdGUsIHRyYW5zYWN0aW9uLCBoZWFkX3JlZiwKIAkJCQkJYWZmZWN0ZWRfcmVmbmFtZXMsIGVycik7CiAJCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OworCQkJZ290byBvdXQ7CiAJfQogCiAJcmV0ID0gbG9ja19yYXdfcmVmKHJlZnMsIHVwZGF0ZS0+cmVmbmFtZSwgbXVzdGV4aXN0LApAQCAtMzU4Myw3ICsyMzMzLDcgQEAKIAkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IGxvY2sgcmVmICclcyc6ICVzIiwKIAkJCSAgICBvcmlnaW5hbF91cGRhdGVfcmVmbmFtZSh1cGRhdGUpLCByZWFzb24pOwogCQlmcmVlKHJlYXNvbik7Ci0JCXJldHVybiByZXQ7CisJCWdvdG8gb3V0OwogCX0KIAogCXVwZGF0ZS0+YmFja2VuZF9kYXRhID0gbG9jazsKQEAgLTM1OTUsMTYgKzIzNDUsMTkgQEAKIAkJCSAqIHRoZSB0cmFuc2FjdGlvbiwgc28gd2UgaGF2ZSB0byByZWFkIGl0IGhlcmUKIAkJCSAqIHRvIHJlY29yZCBhbmQgcG9zc2libHkgY2hlY2sgb2xkX3NoYTE6CiAJCQkgKi8KLQkJCWlmIChyZWFkX3JlZl9mdWxsKHJlZmVyZW50LmJ1ZiwgMCwKLQkJCQkJICBsb2NrLT5vbGRfb2lkLmhhc2gsIE5VTEwpKSB7CisJCQlpZiAocmVmc19yZWFkX3JlZl9mdWxsKCZyZWZzLT5iYXNlLAorCQkJCQkgICAgICAgcmVmZXJlbnQuYnVmLCAwLAorCQkJCQkgICAgICAgbG9jay0+b2xkX29pZC5oYXNoLCBOVUxMKSkgewogCQkJCWlmICh1cGRhdGUtPmZsYWdzICYgUkVGX0hBVkVfT0xEKSB7CiAJCQkJCXN0cmJ1Zl9hZGRmKGVyciwgImNhbm5vdCBsb2NrIHJlZiAnJXMnOiAiCiAJCQkJCQkgICAgImVycm9yIHJlYWRpbmcgcmVmZXJlbmNlIiwKIAkJCQkJCSAgICBvcmlnaW5hbF91cGRhdGVfcmVmbmFtZSh1cGRhdGUpKTsKLQkJCQkJcmV0dXJuIC0xOworCQkJCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9IGVsc2UgaWYgKGNoZWNrX29sZF9vaWQodXBkYXRlLCAmbG9jay0+b2xkX29pZCwgZXJyKSkgewotCQkJCXJldHVybiBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOworCQkJCXJldCA9IFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7CisJCQkJZ290byBvdXQ7CiAJCQl9CiAJCX0gZWxzZSB7CiAJCQkvKgpAQCAtMzYxOCwxMyArMjM3MSwxNSBAQAogCQkJCQkJICByZWZlcmVudC5idWYsIHRyYW5zYWN0aW9uLAogCQkJCQkJICBhZmZlY3RlZF9yZWZuYW1lcywgZXJyKTsKIAkJCWlmIChyZXQpCi0JCQkJcmV0dXJuIHJldDsKKwkJCQlnb3RvIG91dDsKIAkJfQogCX0gZWxzZSB7CiAJCXN0cnVjdCByZWZfdXBkYXRlICpwYXJlbnRfdXBkYXRlOwogCi0JCWlmIChjaGVja19vbGRfb2lkKHVwZGF0ZSwgJmxvY2stPm9sZF9vaWQsIGVycikpCi0JCQlyZXR1cm4gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKKwkJaWYgKGNoZWNrX29sZF9vaWQodXBkYXRlLCAmbG9jay0+b2xkX29pZCwgZXJyKSkgeworCQkJcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKKwkJCWdvdG8gb3V0OworCQl9CiAKIAkJLyoKIAkJICogSWYgdGhpcyB1cGRhdGUgaXMgaGFwcGVuaW5nIGluZGlyZWN0bHkgYmVjYXVzZSBvZiBhCkBAIC0zNjQzLDEyICsyMzk4LDEyIEBACiAJICAgICEodXBkYXRlLT5mbGFncyAmIFJFRl9ERUxFVElORykgJiYKIAkgICAgISh1cGRhdGUtPmZsYWdzICYgUkVGX0xPR19PTkxZKSkgewogCQlpZiAoISh1cGRhdGUtPnR5cGUgJiBSRUZfSVNTWU1SRUYpICYmCi0JCSAgICAhaGFzaGNtcChsb2NrLT5vbGRfb2lkLmhhc2gsIHVwZGF0ZS0+bmV3X3NoYTEpKSB7CisJCSAgICAhb2lkY21wKCZsb2NrLT5vbGRfb2lkLCAmdXBkYXRlLT5uZXdfb2lkKSkgewogCQkJLyoKIAkJCSAqIFRoZSByZWZlcmVuY2UgYWxyZWFkeSBoYXMgdGhlIGRlc2lyZWQKIAkJCSAqIHZhbHVlLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHdyaXRlIGl0LgogCQkJICovCi0JCX0gZWxzZSBpZiAod3JpdGVfcmVmX3RvX2xvY2tmaWxlKGxvY2ssIHVwZGF0ZS0+bmV3X3NoYTEsCisJCX0gZWxzZSBpZiAod3JpdGVfcmVmX3RvX2xvY2tmaWxlKGxvY2ssICZ1cGRhdGUtPm5ld19vaWQsCiAJCQkJCQkgZXJyKSkgewogCQkJY2hhciAqd3JpdGVfZXJyID0gc3RyYnVmX2RldGFjaChlcnIsIE5VTEwpOwogCkBAIC0zNjYxLDcgKzI0MTYsOCBAQAogCQkJCSAgICAiY2Fubm90IHVwZGF0ZSByZWYgJyVzJzogJXMiLAogCQkJCSAgICB1cGRhdGUtPnJlZm5hbWUsIHdyaXRlX2Vycik7CiAJCQlmcmVlKHdyaXRlX2Vycik7Ci0JCQlyZXR1cm4gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKKwkJCXJldCA9IFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7CisJCQlnb3RvIG91dDsKIAkJfSBlbHNlIHsKIAkJCXVwZGF0ZS0+ZmxhZ3MgfD0gUkVGX05FRURTX0NPTU1JVDsKIAkJfQpAQCAtMzY3MiwzOCArMjQyOCw4MiBAQAogCQkgKiB0aGUgbG9ja2ZpbGUgaXMgc3RpbGwgb3Blbi4gQ2xvc2UgaXQgdG8KIAkJICogZnJlZSB1cCB0aGUgZmlsZSBkZXNjcmlwdG9yOgogCQkgKi8KLQkJaWYgKGNsb3NlX3JlZihsb2NrKSkgeworCQlpZiAoY2xvc2VfcmVmX2dlbnRseShsb2NrKSkgewogCQkJc3RyYnVmX2FkZGYoZXJyLCAiY291bGRuJ3QgY2xvc2UgJyVzLmxvY2snIiwKIAkJCQkgICAgdXBkYXRlLT5yZWZuYW1lKTsKLQkJCXJldHVybiBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOworCQkJcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKKwkJCWdvdG8gb3V0OwogCQl9CiAJfQotCXJldHVybiAwOworCitvdXQ6CisJc3RyYnVmX3JlbGVhc2UoJnJlZmVyZW50KTsKKwlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IGZpbGVzX3RyYW5zYWN0aW9uX2NvbW1pdChzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCi0JCQkJICAgIHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAotCQkJCSAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCitzdHJ1Y3QgZmlsZXNfdHJhbnNhY3Rpb25fYmFja2VuZF9kYXRhIHsKKwlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICpwYWNrZWRfdHJhbnNhY3Rpb247CisJaW50IHBhY2tlZF9yZWZzX2xvY2tlZDsKK307CisKKy8qCisgKiBVbmxvY2sgYW55IHJlZmVyZW5jZXMgaW4gYHRyYW5zYWN0aW9uYCB0aGF0IGFyZSBzdGlsbCBsb2NrZWQsIGFuZAorICogbWFyayB0aGUgdHJhbnNhY3Rpb24gY2xvc2VkLgorICovCitzdGF0aWMgdm9pZCBmaWxlc190cmFuc2FjdGlvbl9jbGVhbnVwKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCisJCQkJICAgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24pCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGZpbGVzX3RyYW5zYWN0aW9uX2JhY2tlbmRfZGF0YSAqYmFja2VuZF9kYXRhID0KKwkJdHJhbnNhY3Rpb24tPmJhY2tlbmRfZGF0YTsKKwlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOworCisJZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKSB7CisJCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUgPSB0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXTsKKwkJc3RydWN0IHJlZl9sb2NrICpsb2NrID0gdXBkYXRlLT5iYWNrZW5kX2RhdGE7CisKKwkJaWYgKGxvY2spIHsKKwkJCXVubG9ja19yZWYobG9jayk7CisJCQl1cGRhdGUtPmJhY2tlbmRfZGF0YSA9IE5VTEw7CisJCX0KKwl9CisKKwlpZiAoYmFja2VuZF9kYXRhLT5wYWNrZWRfdHJhbnNhY3Rpb24gJiYKKwkgICAgcmVmX3RyYW5zYWN0aW9uX2Fib3J0KGJhY2tlbmRfZGF0YS0+cGFja2VkX3RyYW5zYWN0aW9uLCAmZXJyKSkgeworCQllcnJvcigiZXJyb3IgYWJvcnRpbmcgdHJhbnNhY3Rpb246ICVzIiwgZXJyLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOworCX0KKworCWlmIChiYWNrZW5kX2RhdGEtPnBhY2tlZF9yZWZzX2xvY2tlZCkKKwkJcGFja2VkX3JlZnNfdW5sb2NrKHJlZnMtPnBhY2tlZF9yZWZfc3RvcmUpOworCisJZnJlZShiYWNrZW5kX2RhdGEpOworCisJdHJhbnNhY3Rpb24tPnN0YXRlID0gUkVGX1RSQU5TQUNUSU9OX0NMT1NFRDsKK30KKworc3RhdGljIGludCBmaWxlc190cmFuc2FjdGlvbl9wcmVwYXJlKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQkgICAgIHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAorCQkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewogCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQotCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJyZWZfdHJhbnNhY3Rpb25fY29tbWl0Iik7Ci0JaW50IHJldCA9IDAsIGk7Ci0Jc3RydWN0IHN0cmluZ19saXN0IHJlZnNfdG9fZGVsZXRlID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqcmVmX3RvX2RlbGV0ZTsKKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfV1JJVEUsCisJCQkgICAgICAgInJlZl90cmFuc2FjdGlvbl9wcmVwYXJlIik7CisJc2l6ZV90IGk7CisJaW50IHJldCA9IDA7CiAJc3RydWN0IHN0cmluZ19saXN0IGFmZmVjdGVkX3JlZm5hbWVzID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAljaGFyICpoZWFkX3JlZiA9IE5VTEw7CiAJaW50IGhlYWRfdHlwZTsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWRfb2lkOworCXN0cnVjdCBmaWxlc190cmFuc2FjdGlvbl9iYWNrZW5kX2RhdGEgKmJhY2tlbmRfZGF0YTsKKwlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICpwYWNrZWRfdHJhbnNhY3Rpb24gPSBOVUxMOwogCiAJYXNzZXJ0KGVycik7CiAKLQlpZiAodHJhbnNhY3Rpb24tPnN0YXRlICE9IFJFRl9UUkFOU0FDVElPTl9PUEVOKQotCQlkaWUoIkJVRzogY29tbWl0IGNhbGxlZCBmb3IgdHJhbnNhY3Rpb24gdGhhdCBpcyBub3Qgb3BlbiIpOworCWlmICghdHJhbnNhY3Rpb24tPm5yKQorCQlnb3RvIGNsZWFudXA7CiAKLQlpZiAoIXRyYW5zYWN0aW9uLT5ucikgewotCQl0cmFuc2FjdGlvbi0+c3RhdGUgPSBSRUZfVFJBTlNBQ1RJT05fQ0xPU0VEOwotCQlyZXR1cm4gMDsKLQl9CisJYmFja2VuZF9kYXRhID0geGNhbGxvYygxLCBzaXplb2YoKmJhY2tlbmRfZGF0YSkpOworCXRyYW5zYWN0aW9uLT5iYWNrZW5kX2RhdGEgPSBiYWNrZW5kX2RhdGE7CiAKIAkvKgogCSAqIEZhaWwgaWYgYSByZWZuYW1lIGFwcGVhcnMgbW9yZSB0aGFuIG9uY2UgaW4gdGhlCkBAIC0zNzQ4LDEyICsyNTQ4LDEyIEBACiAJICogaGVhZF9yZWYgd2l0aGluIHRoZSB0cmFuc2FjdGlvbiwgdGhlbiBzcGxpdF9oZWFkX3VwZGF0ZSgpCiAJICogYXJyYW5nZXMgZm9yIHRoZSByZWZsb2cgb2YgSEVBRCB0byBiZSB1cGRhdGVkLCB0b28uCiAJICovCi0JaGVhZF9yZWYgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIFJFU09MVkVfUkVGX05PX1JFQ1VSU0UsCi0JCQkJICBoZWFkX29pZC5oYXNoLCAmaGVhZF90eXBlKTsKKwloZWFkX3JlZiA9IHJlZnNfcmVzb2x2ZV9yZWZkdXAocmVmX3N0b3JlLCAiSEVBRCIsCisJCQkJICAgICAgIFJFU09MVkVfUkVGX05PX1JFQ1VSU0UsCisJCQkJICAgICAgIE5VTEwsICZoZWFkX3R5cGUpOwogCiAJaWYgKGhlYWRfcmVmICYmICEoaGVhZF90eXBlICYgUkVGX0lTU1lNUkVGKSkgewotCQlmcmVlKGhlYWRfcmVmKTsKLQkJaGVhZF9yZWYgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKGhlYWRfcmVmKTsKIAl9CiAKIAkvKgpAQCAtMzc2MSw2ICsyNTYxLDggQEAKIAkgKiB0aGF0IG5ldyB2YWx1ZXMgYXJlIHZhbGlkLCBhbmQgd3JpdGUgbmV3IHZhbHVlcyB0byB0aGUKIAkgKiBsb2NrZmlsZXMsIHJlYWR5IHRvIGJlIGFjdGl2YXRlZC4gT25seSBrZWVwIG9uZSBsb2NrZmlsZQogCSAqIG9wZW4gYXQgYSB0aW1lIHRvIGF2b2lkIHJ1bm5pbmcgb3V0IG9mIGZpbGUgZGVzY3JpcHRvcnMuCisJICogTm90ZSB0aGF0IGxvY2tfcmVmX2Zvcl91cGRhdGUoKSBtaWdodCBhcHBlbmQgbW9yZSB1cGRhdGVzCisJICogdG8gdGhlIHRyYW5zYWN0aW9uLgogCSAqLwogCWZvciAoaSA9IDA7IGkgPCB0cmFuc2FjdGlvbi0+bnI7IGkrKykgewogCQlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlID0gdHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV07CkBAIC0zNzY4LDkgKzI1NzAsNzkgQEAKIAkJcmV0ID0gbG9ja19yZWZfZm9yX3VwZGF0ZShyZWZzLCB1cGRhdGUsIHRyYW5zYWN0aW9uLAogCQkJCQkgIGhlYWRfcmVmLCAmYWZmZWN0ZWRfcmVmbmFtZXMsIGVycik7CiAJCWlmIChyZXQpCi0JCQlnb3RvIGNsZWFudXA7CisJCQlicmVhazsKKworCQlpZiAodXBkYXRlLT5mbGFncyAmIFJFRl9ERUxFVElORyAmJgorCQkgICAgISh1cGRhdGUtPmZsYWdzICYgUkVGX0xPR19PTkxZKSAmJgorCQkgICAgISh1cGRhdGUtPmZsYWdzICYgUkVGX0lTUFJVTklORykpIHsKKwkJCS8qCisJCQkgKiBUaGlzIHJlZmVyZW5jZSBoYXMgdG8gYmUgZGVsZXRlZCBmcm9tCisJCQkgKiBwYWNrZWQtcmVmcyBpZiBpdCBleGlzdHMgdGhlcmUuCisJCQkgKi8KKwkJCWlmICghcGFja2VkX3RyYW5zYWN0aW9uKSB7CisJCQkJcGFja2VkX3RyYW5zYWN0aW9uID0gcmVmX3N0b3JlX3RyYW5zYWN0aW9uX2JlZ2luKAorCQkJCQkJcmVmcy0+cGFja2VkX3JlZl9zdG9yZSwgZXJyKTsKKwkJCQlpZiAoIXBhY2tlZF90cmFuc2FjdGlvbikgeworCQkJCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOworCQkJCQlnb3RvIGNsZWFudXA7CisJCQkJfQorCisJCQkJYmFja2VuZF9kYXRhLT5wYWNrZWRfdHJhbnNhY3Rpb24gPQorCQkJCQlwYWNrZWRfdHJhbnNhY3Rpb247CisJCQl9CisKKwkJCXJlZl90cmFuc2FjdGlvbl9hZGRfdXBkYXRlKAorCQkJCQlwYWNrZWRfdHJhbnNhY3Rpb24sIHVwZGF0ZS0+cmVmbmFtZSwKKwkJCQkJdXBkYXRlLT5mbGFncyAmIH5SRUZfSEFWRV9PTEQsCisJCQkJCXVwZGF0ZS0+bmV3X29pZC5oYXNoLCB1cGRhdGUtPm9sZF9vaWQuaGFzaCwKKwkJCQkJTlVMTCk7CisJCX0KIAl9CiAKKwlpZiAocGFja2VkX3RyYW5zYWN0aW9uKSB7CisJCWlmIChwYWNrZWRfcmVmc19sb2NrKHJlZnMtPnBhY2tlZF9yZWZfc3RvcmUsIDAsIGVycikpIHsKKwkJCXJldCA9IFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7CisJCQlnb3RvIGNsZWFudXA7CisJCX0KKwkJYmFja2VuZF9kYXRhLT5wYWNrZWRfcmVmc19sb2NrZWQgPSAxOworCQlyZXQgPSByZWZfdHJhbnNhY3Rpb25fcHJlcGFyZShwYWNrZWRfdHJhbnNhY3Rpb24sIGVycik7CisJfQorCitjbGVhbnVwOgorCWZyZWUoaGVhZF9yZWYpOworCXN0cmluZ19saXN0X2NsZWFyKCZhZmZlY3RlZF9yZWZuYW1lcywgMCk7CisKKwlpZiAocmV0KQorCQlmaWxlc190cmFuc2FjdGlvbl9jbGVhbnVwKHJlZnMsIHRyYW5zYWN0aW9uKTsKKwllbHNlCisJCXRyYW5zYWN0aW9uLT5zdGF0ZSA9IFJFRl9UUkFOU0FDVElPTl9QUkVQQVJFRDsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZmlsZXNfdHJhbnNhY3Rpb25fZmluaXNoKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQkgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkJICAgIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAicmVmX3RyYW5zYWN0aW9uX2ZpbmlzaCIpOworCXNpemVfdCBpOworCWludCByZXQgPSAwOworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgZmlsZXNfdHJhbnNhY3Rpb25fYmFja2VuZF9kYXRhICpiYWNrZW5kX2RhdGE7CisJc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqcGFja2VkX3RyYW5zYWN0aW9uOworCisKKwlhc3NlcnQoZXJyKTsKKworCWlmICghdHJhbnNhY3Rpb24tPm5yKSB7CisJCXRyYW5zYWN0aW9uLT5zdGF0ZSA9IFJFRl9UUkFOU0FDVElPTl9DTE9TRUQ7CisJCXJldHVybiAwOworCX0KKworCWJhY2tlbmRfZGF0YSA9IHRyYW5zYWN0aW9uLT5iYWNrZW5kX2RhdGE7CisJcGFja2VkX3RyYW5zYWN0aW9uID0gYmFja2VuZF9kYXRhLT5wYWNrZWRfdHJhbnNhY3Rpb247CisKIAkvKiBQZXJmb3JtIHVwZGF0ZXMgZmlyc3Qgc28gbGl2ZSBjb21taXRzIHJlbWFpbiByZWZlcmVuY2VkICovCiAJZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKSB7CiAJCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUgPSB0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXTsKQEAgLTM3NzgsOSArMjY1MCwxMiBAQAogCiAJCWlmICh1cGRhdGUtPmZsYWdzICYgUkVGX05FRURTX0NPTU1JVCB8fAogCQkgICAgdXBkYXRlLT5mbGFncyAmIFJFRl9MT0dfT05MWSkgewotCQkJaWYgKGxvZ19yZWZfd3JpdGUobG9jay0+cmVmX25hbWUsIGxvY2stPm9sZF9vaWQuaGFzaCwKLQkJCQkJICB1cGRhdGUtPm5ld19zaGExLAotCQkJCQkgIHVwZGF0ZS0+bXNnLCB1cGRhdGUtPmZsYWdzLCBlcnIpKSB7CisJCQlpZiAoZmlsZXNfbG9nX3JlZl93cml0ZShyZWZzLAorCQkJCQkJbG9jay0+cmVmX25hbWUsCisJCQkJCQkmbG9jay0+b2xkX29pZCwKKwkJCQkJCSZ1cGRhdGUtPm5ld19vaWQsCisJCQkJCQl1cGRhdGUtPm1zZywgdXBkYXRlLT5mbGFncywKKwkJCQkJCWVycikpIHsKIAkJCQljaGFyICpvbGRfbXNnID0gc3RyYnVmX2RldGFjaChlcnIsIE5VTEwpOwogCiAJCQkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IHVwZGF0ZSB0aGUgcmVmICclcyc6ICVzIiwKQEAgLTM4MDMsNDUgKzI2NzgsOTkgQEAKIAkJCX0KIAkJfQogCX0KLQkvKiBQZXJmb3JtIGRlbGV0ZXMgbm93IHRoYXQgdXBkYXRlcyBhcmUgc2FmZWx5IGNvbXBsZXRlZCAqLworCisJLyoKKwkgKiBOb3cgdGhhdCB1cGRhdGVzIGFyZSBzYWZlbHkgY29tcGxldGVkLCB3ZSBjYW4gcGVyZm9ybQorCSAqIGRlbGV0ZXMuIEZpcnN0IGRlbGV0ZSB0aGUgcmVmbG9ncyBvZiBhbnkgcmVmZXJlbmNlcyB0aGF0CisJICogd2lsbCBiZSBkZWxldGVkLCBzaW5jZSAoaW4gdGhlIHVuZXhwZWN0ZWQgZXZlbnQgb2YgYW4KKwkgKiBlcnJvcikgbGVhdmluZyBhIHJlZmVyZW5jZSB3aXRob3V0IGEgcmVmbG9nIGlzIGxlc3MgYmFkCisJICogdGhhbiBsZWF2aW5nIGEgcmVmbG9nIHdpdGhvdXQgYSByZWZlcmVuY2UgKHRoZSBsYXR0ZXIgaXMgYQorCSAqIG1pbGRseSBpbnZhbGlkIHJlcG9zaXRvcnkgc3RhdGUpOgorCSAqLworCWZvciAoaSA9IDA7IGkgPCB0cmFuc2FjdGlvbi0+bnI7IGkrKykgeworCQlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlID0gdHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV07CisJCWlmICh1cGRhdGUtPmZsYWdzICYgUkVGX0RFTEVUSU5HICYmCisJCSAgICAhKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfTE9HX09OTFkpICYmCisJCSAgICAhKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSVNQUlVOSU5HKSkgeworCQkJc3RyYnVmX3Jlc2V0KCZzYik7CisJCQlmaWxlc19yZWZsb2dfcGF0aChyZWZzLCAmc2IsIHVwZGF0ZS0+cmVmbmFtZSk7CisJCQlpZiAoIXVubGlua19vcl93YXJuKHNiLmJ1ZikpCisJCQkJdHJ5X3JlbW92ZV9lbXB0eV9wYXJlbnRzKHJlZnMsIHVwZGF0ZS0+cmVmbmFtZSwKKwkJCQkJCQkgUkVNT1ZFX0VNUFRZX1BBUkVOVFNfUkVGTE9HKTsKKwkJfQorCX0KKworCS8qCisJICogUGVyZm9ybSBkZWxldGVzIG5vdyB0aGF0IHVwZGF0ZXMgYXJlIHNhZmVseSBjb21wbGV0ZWQuCisJICoKKwkgKiBGaXJzdCBkZWxldGUgYW55IHBhY2tlZCB2ZXJzaW9ucyBvZiB0aGUgcmVmZXJlbmNlcywgd2hpbGUKKwkgKiByZXRhaW5pbmcgdGhlIHBhY2tlZC1yZWZzIGxvY2s6CisJICovCisJaWYgKHBhY2tlZF90cmFuc2FjdGlvbikgeworCQlyZXQgPSByZWZfdHJhbnNhY3Rpb25fY29tbWl0KHBhY2tlZF90cmFuc2FjdGlvbiwgZXJyKTsKKwkJcmVmX3RyYW5zYWN0aW9uX2ZyZWUocGFja2VkX3RyYW5zYWN0aW9uKTsKKwkJcGFja2VkX3RyYW5zYWN0aW9uID0gTlVMTDsKKwkJYmFja2VuZF9kYXRhLT5wYWNrZWRfdHJhbnNhY3Rpb24gPSBOVUxMOworCQlpZiAocmV0KQorCQkJZ290byBjbGVhbnVwOworCX0KKworCS8qIE5vdyBkZWxldGUgdGhlIGxvb3NlIHZlcnNpb25zIG9mIHRoZSByZWZlcmVuY2VzOiAqLwogCWZvciAoaSA9IDA7IGkgPCB0cmFuc2FjdGlvbi0+bnI7IGkrKykgewogCQlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlID0gdHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV07CiAJCXN0cnVjdCByZWZfbG9jayAqbG9jayA9IHVwZGF0ZS0+YmFja2VuZF9kYXRhOwogCiAJCWlmICh1cGRhdGUtPmZsYWdzICYgUkVGX0RFTEVUSU5HICYmCiAJCSAgICAhKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfTE9HX09OTFkpKSB7Ci0JCQlpZiAoZGVsZXRlX3JlZl9sb29zZShsb2NrLCB1cGRhdGUtPnR5cGUsIGVycikpIHsKLQkJCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOwotCQkJCWdvdG8gY2xlYW51cDsKKwkJCWlmICghKHVwZGF0ZS0+dHlwZSAmIFJFRl9JU1BBQ0tFRCkgfHwKKwkJCSAgICB1cGRhdGUtPnR5cGUgJiBSRUZfSVNTWU1SRUYpIHsKKwkJCQkvKiBJdCBpcyBhIGxvb3NlIHJlZmVyZW5jZS4gKi8KKwkJCQlzdHJidWZfcmVzZXQoJnNiKTsKKwkJCQlmaWxlc19yZWZfcGF0aChyZWZzLCAmc2IsIGxvY2stPnJlZl9uYW1lKTsKKwkJCQlpZiAodW5saW5rX29yX21zZyhzYi5idWYsIGVycikpIHsKKwkJCQkJcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKKwkJCQkJZ290byBjbGVhbnVwOworCQkJCX0KKwkJCQl1cGRhdGUtPmZsYWdzIHw9IFJFRl9ERUxFVEVEX0xPT1NFOwogCQkJfQotCi0JCQlpZiAoISh1cGRhdGUtPmZsYWdzICYgUkVGX0lTUFJVTklORykpCi0JCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZyZWZzX3RvX2RlbGV0ZSwKLQkJCQkJCSAgIGxvY2stPnJlZl9uYW1lKTsKIAkJfQogCX0KIAotCWlmIChyZXBhY2tfd2l0aG91dF9yZWZzKHJlZnMsICZyZWZzX3RvX2RlbGV0ZSwgZXJyKSkgewotCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOwotCQlnb3RvIGNsZWFudXA7Ci0JfQotCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0ocmVmX3RvX2RlbGV0ZSwgJnJlZnNfdG9fZGVsZXRlKQotCQl1bmxpbmtfb3Jfd2FybihnaXRfcGF0aCgibG9ncy8lcyIsIHJlZl90b19kZWxldGUtPnN0cmluZykpOwogCWNsZWFyX2xvb3NlX3JlZl9jYWNoZShyZWZzKTsKIAogY2xlYW51cDoKLQl0cmFuc2FjdGlvbi0+c3RhdGUgPSBSRUZfVFJBTlNBQ1RJT05fQ0xPU0VEOworCWZpbGVzX3RyYW5zYWN0aW9uX2NsZWFudXAocmVmcywgdHJhbnNhY3Rpb24pOwogCi0JZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKQotCQlpZiAodHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV0tPmJhY2tlbmRfZGF0YSkKLQkJCXVubG9ja19yZWYodHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV0tPmJhY2tlbmRfZGF0YSk7Ci0Jc3RyaW5nX2xpc3RfY2xlYXIoJnJlZnNfdG9fZGVsZXRlLCAwKTsKLQlmcmVlKGhlYWRfcmVmKTsKLQlzdHJpbmdfbGlzdF9jbGVhcigmYWZmZWN0ZWRfcmVmbmFtZXMsIDApOworCWZvciAoaSA9IDA7IGkgPCB0cmFuc2FjdGlvbi0+bnI7IGkrKykgeworCQlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlID0gdHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV07CiAKKwkJaWYgKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfREVMRVRFRF9MT09TRSkgeworCQkJLyoKKwkJCSAqIFRoZSBsb29zZSByZWZlcmVuY2Ugd2FzIGRlbGV0ZWQuIERlbGV0ZSBhbnkKKwkJCSAqIGVtcHR5IHBhcmVudCBkaXJlY3Rvcmllcy4gKE5vdGUgdGhhdCB0aGlzCisJCQkgKiBjYW4gb25seSB3b3JrIGJlY2F1c2Ugd2UgaGF2ZSBhbHJlYWR5CisJCQkgKiByZW1vdmVkIHRoZSBsb2NrZmlsZS4pCisJCQkgKi8KKwkJCXRyeV9yZW1vdmVfZW1wdHlfcGFyZW50cyhyZWZzLCB1cGRhdGUtPnJlZm5hbWUsCisJCQkJCQkgUkVNT1ZFX0VNUFRZX1BBUkVOVFNfUkVGKTsKKwkJfQorCX0KKworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGludCBmaWxlc190cmFuc2FjdGlvbl9hYm9ydChzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkJICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkJICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQorCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJyZWZfdHJhbnNhY3Rpb25fYWJvcnQiKTsKKworCWZpbGVzX3RyYW5zYWN0aW9uX2NsZWFudXAocmVmcywgdHJhbnNhY3Rpb24pOworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHJlZl9wcmVzZW50KGNvbnN0IGNoYXIgKnJlZm5hbWUsCiAJCSAgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFncywgdm9pZCAqY2JfZGF0YSkKIHsKQEAgLTM4NTUsOSArMjc4NCwxMiBAQAogCQkJCQkgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewogCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQotCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJpbml0aWFsX3JlZl90cmFuc2FjdGlvbl9jb21taXQiKTsKLQlpbnQgcmV0ID0gMCwgaTsKKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfV1JJVEUsCisJCQkgICAgICAgImluaXRpYWxfcmVmX3RyYW5zYWN0aW9uX2NvbW1pdCIpOworCXNpemVfdCBpOworCWludCByZXQgPSAwOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBhZmZlY3RlZF9yZWZuYW1lcyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CisJc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqcGFja2VkX3RyYW5zYWN0aW9uID0gTlVMTDsKIAogCWFzc2VydChlcnIpOwogCkBAIC0zODg2LDQ2ICsyODE4LDUzIEBACiAJICogc28gaGVyZSB3ZSByZWFsbHkgb25seSBjaGVjayB0aGF0IG5vbmUgb2YgdGhlIHJlZmVyZW5jZXMKIAkgKiB0aGF0IHdlIGFyZSBjcmVhdGluZyBhbHJlYWR5IGV4aXN0cy4KIAkgKi8KLQlpZiAoZm9yX2VhY2hfcmF3cmVmKHJlZl9wcmVzZW50LCAmYWZmZWN0ZWRfcmVmbmFtZXMpKQorCWlmIChyZWZzX2Zvcl9lYWNoX3Jhd3JlZigmcmVmcy0+YmFzZSwgcmVmX3ByZXNlbnQsCisJCQkJICZhZmZlY3RlZF9yZWZuYW1lcykpCiAJCWRpZSgiQlVHOiBpbml0aWFsIHJlZiB0cmFuc2FjdGlvbiBjYWxsZWQgd2l0aCBleGlzdGluZyByZWZzIik7CiAKKwlwYWNrZWRfdHJhbnNhY3Rpb24gPSByZWZfc3RvcmVfdHJhbnNhY3Rpb25fYmVnaW4ocmVmcy0+cGFja2VkX3JlZl9zdG9yZSwgZXJyKTsKKwlpZiAoIXBhY2tlZF90cmFuc2FjdGlvbikgeworCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOworCQlnb3RvIGNsZWFudXA7CisJfQorCiAJZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKSB7CiAJCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUgPSB0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXTsKIAogCQlpZiAoKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSEFWRV9PTEQpICYmCi0JCSAgICAhaXNfbnVsbF9zaGExKHVwZGF0ZS0+b2xkX3NoYTEpKQorCQkgICAgIWlzX251bGxfb2lkKCZ1cGRhdGUtPm9sZF9vaWQpKQogCQkJZGllKCJCVUc6IGluaXRpYWwgcmVmIHRyYW5zYWN0aW9uIHdpdGggb2xkX3NoYTEgc2V0Iik7Ci0JCWlmICh2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUodXBkYXRlLT5yZWZuYW1lLAotCQkJCQkgICAgICZhZmZlY3RlZF9yZWZuYW1lcywgTlVMTCwKLQkJCQkJICAgICBlcnIpKSB7CisJCWlmIChyZWZzX3ZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZSgmcmVmcy0+YmFzZSwgdXBkYXRlLT5yZWZuYW1lLAorCQkJCQkJICAmYWZmZWN0ZWRfcmVmbmFtZXMsIE5VTEwsCisJCQkJCQkgIGVycikpIHsKIAkJCXJldCA9IFRSQU5TQUNUSU9OX05BTUVfQ09ORkxJQ1Q7CiAJCQlnb3RvIGNsZWFudXA7CiAJCX0KKworCQkvKgorCQkgKiBBZGQgYSByZWZlcmVuY2UgY3JlYXRpb24gZm9yIHRoaXMgcmVmZXJlbmNlIHRvIHRoZQorCQkgKiBwYWNrZWQtcmVmcyB0cmFuc2FjdGlvbjoKKwkJICovCisJCXJlZl90cmFuc2FjdGlvbl9hZGRfdXBkYXRlKHBhY2tlZF90cmFuc2FjdGlvbiwgdXBkYXRlLT5yZWZuYW1lLAorCQkJCQkgICB1cGRhdGUtPmZsYWdzICYgflJFRl9IQVZFX09MRCwKKwkJCQkJICAgdXBkYXRlLT5uZXdfb2lkLmhhc2gsIHVwZGF0ZS0+b2xkX29pZC5oYXNoLAorCQkJCQkgICBOVUxMKTsKIAl9CiAKLQlpZiAobG9ja19wYWNrZWRfcmVmcyhyZWZzLCAwKSkgewotCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gbG9jayBwYWNrZWQtcmVmcyBmaWxlOiAlcyIsCi0JCQkgICAgc3RyZXJyb3IoZXJybm8pKTsKKwlpZiAocGFja2VkX3JlZnNfbG9jayhyZWZzLT5wYWNrZWRfcmVmX3N0b3JlLCAwLCBlcnIpKSB7CiAJCXJldCA9IFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7CiAJCWdvdG8gY2xlYW51cDsKIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwgdHJhbnNhY3Rpb24tPm5yOyBpKyspIHsKLQkJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSA9IHRyYW5zYWN0aW9uLT51cGRhdGVzW2ldOwotCi0JCWlmICgodXBkYXRlLT5mbGFncyAmIFJFRl9IQVZFX05FVykgJiYKLQkJICAgICFpc19udWxsX3NoYTEodXBkYXRlLT5uZXdfc2hhMSkpCi0JCQlhZGRfcGFja2VkX3JlZihyZWZzLCB1cGRhdGUtPnJlZm5hbWUsIHVwZGF0ZS0+bmV3X3NoYTEpOwotCX0KLQotCWlmIChjb21taXRfcGFja2VkX3JlZnMocmVmcykpIHsKLQkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIGNvbW1pdCBwYWNrZWQtcmVmcyBmaWxlOiAlcyIsCi0JCQkgICAgc3RyZXJyb3IoZXJybm8pKTsKKwlpZiAoaW5pdGlhbF9yZWZfdHJhbnNhY3Rpb25fY29tbWl0KHBhY2tlZF90cmFuc2FjdGlvbiwgZXJyKSkgewogCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOwogCQlnb3RvIGNsZWFudXA7CiAJfQogCiBjbGVhbnVwOgorCWlmIChwYWNrZWRfdHJhbnNhY3Rpb24pCisJCXJlZl90cmFuc2FjdGlvbl9mcmVlKHBhY2tlZF90cmFuc2FjdGlvbik7CisJcGFja2VkX3JlZnNfdW5sb2NrKHJlZnMtPnBhY2tlZF9yZWZfc3RvcmUpOwogCXRyYW5zYWN0aW9uLT5zdGF0ZSA9IFJFRl9UUkFOU0FDVElPTl9DTE9TRUQ7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJmFmZmVjdGVkX3JlZm5hbWVzLCAwKTsKIAlyZXR1cm4gcmV0OwpAQCAtMzkzNiwyMCArMjg3NSwyMCBAQAogCXJlZmxvZ19leHBpcnlfc2hvdWxkX3BydW5lX2ZuICpzaG91bGRfcHJ1bmVfZm47CiAJdm9pZCAqcG9saWN5X2NiOwogCUZJTEUgKm5ld2xvZzsKLQl1bnNpZ25lZCBjaGFyIGxhc3Rfa2VwdF9zaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGxhc3Rfa2VwdF9vaWQ7CiB9OwogCi1zdGF0aWMgaW50IGV4cGlyZV9yZWZsb2dfZW50KHVuc2lnbmVkIGNoYXIgKm9zaGExLCB1bnNpZ25lZCBjaGFyICpuc2hhMSwKLQkJCSAgICAgY29uc3QgY2hhciAqZW1haWwsIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wLCBpbnQgdHosCitzdGF0aWMgaW50IGV4cGlyZV9yZWZsb2dfZW50KHN0cnVjdCBvYmplY3RfaWQgKm9vaWQsIHN0cnVjdCBvYmplY3RfaWQgKm5vaWQsCisJCQkgICAgIGNvbnN0IGNoYXIgKmVtYWlsLCB0aW1lc3RhbXBfdCB0aW1lc3RhbXAsIGludCB0eiwKIAkJCSAgICAgY29uc3QgY2hhciAqbWVzc2FnZSwgdm9pZCAqY2JfZGF0YSkKIHsKIAlzdHJ1Y3QgZXhwaXJlX3JlZmxvZ19jYiAqY2IgPSBjYl9kYXRhOwogCXN0cnVjdCBleHBpcmVfcmVmbG9nX3BvbGljeV9jYiAqcG9saWN5X2NiID0gY2ItPnBvbGljeV9jYjsKIAogCWlmIChjYi0+ZmxhZ3MgJiBFWFBJUkVfUkVGTE9HU19SRVdSSVRFKQotCQlvc2hhMSA9IGNiLT5sYXN0X2tlcHRfc2hhMTsKKwkJb29pZCA9ICZjYi0+bGFzdF9rZXB0X29pZDsKIAotCWlmICgoKmNiLT5zaG91bGRfcHJ1bmVfZm4pKG9zaGExLCBuc2hhMSwgZW1haWwsIHRpbWVzdGFtcCwgdHosCisJaWYgKCgqY2ItPnNob3VsZF9wcnVuZV9mbikob29pZCwgbm9pZCwgZW1haWwsIHRpbWVzdGFtcCwgdHosCiAJCQkJICAgbWVzc2FnZSwgcG9saWN5X2NiKSkgewogCQlpZiAoIWNiLT5uZXdsb2cpCiAJCQlwcmludGYoIndvdWxkIHBydW5lICVzIiwgbWVzc2FnZSk7CkBAIC0zOTU3LDEwICsyODk2LDEwIEBACiAJCQlwcmludGYoInBydW5lICVzIiwgbWVzc2FnZSk7CiAJfSBlbHNlIHsKIAkJaWYgKGNiLT5uZXdsb2cpIHsKLQkJCWZwcmludGYoY2ItPm5ld2xvZywgIiVzICVzICVzICVsdSAlKzA1ZFx0JXMiLAotCQkJCXNoYTFfdG9faGV4KG9zaGExKSwgc2hhMV90b19oZXgobnNoYTEpLAorCQkJZnByaW50ZihjYi0+bmV3bG9nLCAiJXMgJXMgJXMgJSJQUkl0aW1lIiAlKzA1ZFx0JXMiLAorCQkJCW9pZF90b19oZXgob29pZCksIG9pZF90b19oZXgobm9pZCksCiAJCQkJZW1haWwsIHRpbWVzdGFtcCwgdHosIG1lc3NhZ2UpOwotCQkJaGFzaGNweShjYi0+bGFzdF9rZXB0X3NoYTEsIG5zaGExKTsKKwkJCW9pZGNweSgmY2ItPmxhc3Rfa2VwdF9vaWQsIG5vaWQpOwogCQl9CiAJCWlmIChjYi0+ZmxhZ3MgJiBFWFBJUkVfUkVGTE9HU19WRVJCT1NFKQogCQkJcHJpbnRmKCJrZWVwICVzIiwgbWVzc2FnZSk7CkBAIC0zOTc3LDE0ICsyOTE2LDE2IEBACiAJCQkgICAgICAgdm9pZCAqcG9saWN5X2NiX2RhdGEpCiB7CiAJc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9Ci0JCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgInJlZmxvZ19leHBpcmUiKTsKKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfV1JJVEUsICJyZWZsb2dfZXhwaXJlIik7CiAJc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgcmVmbG9nX2xvY2s7CiAJc3RydWN0IGV4cGlyZV9yZWZsb2dfY2IgY2I7CiAJc3RydWN0IHJlZl9sb2NrICpsb2NrOworCXN0cnVjdCBzdHJidWYgbG9nX2ZpbGVfc2IgPSBTVFJCVUZfSU5JVDsKIAljaGFyICpsb2dfZmlsZTsKIAlpbnQgc3RhdHVzID0gMDsKIAlpbnQgdHlwZTsKIAlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJbWVtc2V0KCZjYiwgMCwgc2l6ZW9mKGNiKSk7CiAJY2IuZmxhZ3MgPSBmbGFnczsKQEAgLTQwMDQsMTIgKzI5NDUsMTMgQEAKIAkJc3RyYnVmX3JlbGVhc2UoJmVycik7CiAJCXJldHVybiAtMTsKIAl9Ci0JaWYgKCFyZWZsb2dfZXhpc3RzKHJlZm5hbWUpKSB7CisJaWYgKCFyZWZzX3JlZmxvZ19leGlzdHMocmVmX3N0b3JlLCByZWZuYW1lKSkgewogCQl1bmxvY2tfcmVmKGxvY2spOwogCQlyZXR1cm4gMDsKIAl9CiAKLQlsb2dfZmlsZSA9IGdpdF9wYXRoZHVwKCJsb2dzLyVzIiwgcmVmbmFtZSk7CisJZmlsZXNfcmVmbG9nX3BhdGgocmVmcywgJmxvZ19maWxlX3NiLCByZWZuYW1lKTsKKwlsb2dfZmlsZSA9IHN0cmJ1Zl9kZXRhY2goJmxvZ19maWxlX3NiLCBOVUxMKTsKIAlpZiAoIShmbGFncyAmIEVYUElSRV9SRUZMT0dTX0RSWV9SVU4pKSB7CiAJCS8qCiAJCSAqIEV2ZW4gdGhvdWdoIGhvbGRpbmcgJEdJVF9ESVIvbG9ncy8kcmVmbG9nLmxvY2sgaGFzCkBAIC00MDMzLDggKzI5NzUsMTAgQEAKIAkJfQogCX0KIAotCSgqcHJlcGFyZV9mbikocmVmbmFtZSwgc2hhMSwgY2IucG9saWN5X2NiKTsKLQlmb3JfZWFjaF9yZWZsb2dfZW50KHJlZm5hbWUsIGV4cGlyZV9yZWZsb2dfZW50LCAmY2IpOworCWhhc2hjcHkob2lkLmhhc2gsIHNoYTEpOworCisJKCpwcmVwYXJlX2ZuKShyZWZuYW1lLCAmb2lkLCBjYi5wb2xpY3lfY2IpOworCXJlZnNfZm9yX2VhY2hfcmVmbG9nX2VudChyZWZfc3RvcmUsIHJlZm5hbWUsIGV4cGlyZV9yZWZsb2dfZW50LCAmY2IpOwogCSgqY2xlYW51cF9mbikoY2IucG9saWN5X2NiKTsKIAogCWlmICghKGZsYWdzICYgRVhQSVJFX1JFRkxPR1NfRFJZX1JVTikpIHsKQEAgLTQwNDcsMTggKzI5OTEsMTkgQEAKIAkJICovCiAJCWludCB1cGRhdGUgPSAoZmxhZ3MgJiBFWFBJUkVfUkVGTE9HU19VUERBVEVfUkVGKSAmJgogCQkJISh0eXBlICYgUkVGX0lTU1lNUkVGKSAmJgotCQkJIWlzX251bGxfc2hhMShjYi5sYXN0X2tlcHRfc2hhMSk7CisJCQkhaXNfbnVsbF9vaWQoJmNiLmxhc3Rfa2VwdF9vaWQpOwogCi0JCWlmIChjbG9zZV9sb2NrX2ZpbGUoJnJlZmxvZ19sb2NrKSkgeworCQlpZiAoY2xvc2VfbG9ja19maWxlX2dlbnRseSgmcmVmbG9nX2xvY2spKSB7CiAJCQlzdGF0dXMgfD0gZXJyb3IoImNvdWxkbid0IHdyaXRlICVzOiAlcyIsIGxvZ19maWxlLAogCQkJCQlzdHJlcnJvcihlcnJubykpOworCQkJcm9sbGJhY2tfbG9ja19maWxlKCZyZWZsb2dfbG9jayk7CiAJCX0gZWxzZSBpZiAodXBkYXRlICYmCi0JCQkgICAod3JpdGVfaW5fZnVsbChnZXRfbG9ja19maWxlX2ZkKGxvY2stPmxrKSwKLQkJCQlzaGExX3RvX2hleChjYi5sYXN0X2tlcHRfc2hhMSksIDQwKSAhPSA0MCB8fAotCQkJICAgIHdyaXRlX3N0cl9pbl9mdWxsKGdldF9sb2NrX2ZpbGVfZmQobG9jay0+bGspLCAiXG4iKSAhPSAxIHx8Ci0JCQkgICAgY2xvc2VfcmVmKGxvY2spIDwgMCkpIHsKKwkJCSAgICh3cml0ZV9pbl9mdWxsKGdldF9sb2NrX2ZpbGVfZmQoJmxvY2stPmxrKSwKKwkJCQlvaWRfdG9faGV4KCZjYi5sYXN0X2tlcHRfb2lkKSwgR0lUX1NIQTFfSEVYU1opIDwgMCB8fAorCQkJICAgIHdyaXRlX3N0cl9pbl9mdWxsKGdldF9sb2NrX2ZpbGVfZmQoJmxvY2stPmxrKSwgIlxuIikgPCAwIHx8CisJCQkgICAgY2xvc2VfcmVmX2dlbnRseShsb2NrKSA8IDApKSB7CiAJCQlzdGF0dXMgfD0gZXJyb3IoImNvdWxkbid0IHdyaXRlICVzIiwKLQkJCQkJZ2V0X2xvY2tfZmlsZV9wYXRoKGxvY2stPmxrKSk7CisJCQkJCWdldF9sb2NrX2ZpbGVfcGF0aCgmbG9jay0+bGspKTsKIAkJCXJvbGxiYWNrX2xvY2tfZmlsZSgmcmVmbG9nX2xvY2spOwogCQl9IGVsc2UgaWYgKGNvbW1pdF9sb2NrX2ZpbGUoJnJlZmxvZ19sb2NrKSkgewogCQkJc3RhdHVzIHw9IGVycm9yKCJ1bmFibGUgdG8gd3JpdGUgcmVmbG9nICclcycgKCVzKSIsCkBAIC00MDgwLDE4ICszMDI1LDIxIEBACiAKIHN0YXRpYyBpbnQgZmlsZXNfaW5pdF9kYihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsIHN0cnVjdCBzdHJidWYgKmVycikKIHsKLQkvKiBDaGVjayB2YWxpZGl0eSAoYnV0IHdlIGRvbid0IG5lZWQgdGhlIHJlc3VsdCk6ICovCi0JZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAiaW5pdF9kYiIpOworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQorCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIFJFRl9TVE9SRV9XUklURSwgImluaXRfZGIiKTsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKIAkvKgogCSAqIENyZWF0ZSAuZ2l0L3JlZnMve2hlYWRzLHRhZ3N9CiAJICovCi0Jc2FmZV9jcmVhdGVfZGlyKGdpdF9wYXRoKCJyZWZzL2hlYWRzIiksIDEpOwotCXNhZmVfY3JlYXRlX2RpcihnaXRfcGF0aCgicmVmcy90YWdzIiksIDEpOwotCWlmIChnZXRfc2hhcmVkX3JlcG9zaXRvcnkoKSkgewotCQlhZGp1c3Rfc2hhcmVkX3Blcm0oZ2l0X3BhdGgoInJlZnMvaGVhZHMiKSk7Ci0JCWFkanVzdF9zaGFyZWRfcGVybShnaXRfcGF0aCgicmVmcy90YWdzIikpOwotCX0KKwlmaWxlc19yZWZfcGF0aChyZWZzLCAmc2IsICJyZWZzL2hlYWRzIik7CisJc2FmZV9jcmVhdGVfZGlyKHNiLmJ1ZiwgMSk7CisKKwlzdHJidWZfcmVzZXQoJnNiKTsKKwlmaWxlc19yZWZfcGF0aChyZWZzLCAmc2IsICJyZWZzL3RhZ3MiKTsKKwlzYWZlX2NyZWF0ZV9kaXIoc2IuYnVmLCAxKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQxMDAsMTggKzMwNDgsMTkgQEAKIAkiZmlsZXMiLAogCWZpbGVzX3JlZl9zdG9yZV9jcmVhdGUsCiAJZmlsZXNfaW5pdF9kYiwKLQlmaWxlc190cmFuc2FjdGlvbl9jb21taXQsCisJZmlsZXNfdHJhbnNhY3Rpb25fcHJlcGFyZSwKKwlmaWxlc190cmFuc2FjdGlvbl9maW5pc2gsCisJZmlsZXNfdHJhbnNhY3Rpb25fYWJvcnQsCiAJZmlsZXNfaW5pdGlhbF90cmFuc2FjdGlvbl9jb21taXQsCiAKIAlmaWxlc19wYWNrX3JlZnMsCi0JZmlsZXNfcGVlbF9yZWYsCiAJZmlsZXNfY3JlYXRlX3N5bXJlZiwKIAlmaWxlc19kZWxldGVfcmVmcywKIAlmaWxlc19yZW5hbWVfcmVmLAorCWZpbGVzX2NvcHlfcmVmLAogCiAJZmlsZXNfcmVmX2l0ZXJhdG9yX2JlZ2luLAogCWZpbGVzX3JlYWRfcmF3X3JlZiwKLQlmaWxlc192ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUsCiAKIAlmaWxlc19yZWZsb2dfaXRlcmF0b3JfYmVnaW4sCiAJZmlsZXNfZm9yX2VhY2hfcmVmbG9nX2VudCwKZGlmZiAtLWdpdCBhL3JlZnMvaXRlcmF0b3IuYyBiL3JlZnMvaXRlcmF0b3IuYwppbmRleCBiY2UxZjE5Li5iZDM1ZGE0IDEwMDY0NAotLS0gYS9yZWZzL2l0ZXJhdG9yLmMKKysrIGIvcmVmcy9pdGVyYXRvci5jCkBAIC0yNSw5ICsyNSwxMSBAQAogfQogCiB2b2lkIGJhc2VfcmVmX2l0ZXJhdG9yX2luaXQoc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlciwKLQkJCSAgICBzdHJ1Y3QgcmVmX2l0ZXJhdG9yX3Z0YWJsZSAqdnRhYmxlKQorCQkJICAgIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlICp2dGFibGUsCisJCQkgICAgaW50IG9yZGVyZWQpCiB7CiAJaXRlci0+dnRhYmxlID0gdnRhYmxlOworCWl0ZXItPm9yZGVyZWQgPSAhIW9yZGVyZWQ7CiAJaXRlci0+cmVmbmFtZSA9IE5VTEw7CiAJaXRlci0+b2lkID0gTlVMTDsKIAlpdGVyLT5mbGFncyA9IDA7CkBAIC03Miw3ICs3NCw3IEBACiAJc3RydWN0IGVtcHR5X3JlZl9pdGVyYXRvciAqaXRlciA9IHhjYWxsb2MoMSwgc2l6ZW9mKCppdGVyKSk7CiAJc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yID0gJml0ZXItPmJhc2U7CiAKLQliYXNlX3JlZl9pdGVyYXRvcl9pbml0KHJlZl9pdGVyYXRvciwgJmVtcHR5X3JlZl9pdGVyYXRvcl92dGFibGUpOworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmZW1wdHlfcmVmX2l0ZXJhdG9yX3Z0YWJsZSwgMSk7CiAJcmV0dXJuIHJlZl9pdGVyYXRvcjsKIH0KIApAQCAtMjA1LDYgKzIwNyw3IEBACiB9OwogCiBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICptZXJnZV9yZWZfaXRlcmF0b3JfYmVnaW4oCisJCWludCBvcmRlcmVkLAogCQlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyMCwgc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlcjEsCiAJCXJlZl9pdGVyYXRvcl9zZWxlY3RfZm4gKnNlbGVjdCwgdm9pZCAqY2JfZGF0YSkKIHsKQEAgLTIxOSw3ICsyMjIsNyBAQAogCSAqIHJlZmVyZW5jZXMgdGhyb3VnaCBvbmx5IGlmIHRoZXkgZXhpc3QgaW4gYm90aCBpdGVyYXRvcnMuCiAJICovCiAKLQliYXNlX3JlZl9pdGVyYXRvcl9pbml0KHJlZl9pdGVyYXRvciwgJm1lcmdlX3JlZl9pdGVyYXRvcl92dGFibGUpOworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmbWVyZ2VfcmVmX2l0ZXJhdG9yX3Z0YWJsZSwgb3JkZXJlZCk7CiAJaXRlci0+aXRlcjAgPSBpdGVyMDsKIAlpdGVyLT5pdGVyMSA9IGl0ZXIxOwogCWl0ZXItPnNlbGVjdCA9IHNlbGVjdDsKQEAgLTI2OCw5ICsyNzEsMTEgQEAKIAl9IGVsc2UgaWYgKGlzX2VtcHR5X3JlZl9pdGVyYXRvcihiYWNrKSkgewogCQlyZWZfaXRlcmF0b3JfYWJvcnQoYmFjayk7CiAJCXJldHVybiBmcm9udDsKKwl9IGVsc2UgaWYgKCFmcm9udC0+b3JkZXJlZCB8fCAhYmFjay0+b3JkZXJlZCkgeworCQlCVUcoIm92ZXJsYXlfcmVmX2l0ZXJhdG9yIHJlcXVpcmVzIG9yZGVyZWQgaW5wdXRzIik7CiAJfQogCi0JcmV0dXJuIG1lcmdlX3JlZl9pdGVyYXRvcl9iZWdpbihmcm9udCwgYmFjaywKKwlyZXR1cm4gbWVyZ2VfcmVmX2l0ZXJhdG9yX2JlZ2luKDEsIGZyb250LCBiYWNrLAogCQkJCQlvdmVybGF5X2l0ZXJhdG9yX3NlbGVjdCwgTlVMTCk7CiB9CiAKQEAgLTI4Miw2ICsyODcsMjAgQEAKIAlpbnQgdHJpbTsKIH07CiAKKy8qIFJldHVybiAtMSwgMCwgMSBpZiByZWZuYW1lIGlzIGJlZm9yZSwgaW5zaWRlLCBvciBhZnRlciB0aGUgcHJlZml4LiAqLworc3RhdGljIGludCBjb21wYXJlX3ByZWZpeChjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJd2hpbGUgKCpwcmVmaXgpIHsKKwkJaWYgKCpyZWZuYW1lICE9ICpwcmVmaXgpCisJCQlyZXR1cm4gKCh1bnNpZ25lZCBjaGFyKSpyZWZuYW1lIDwgKHVuc2lnbmVkIGNoYXIpKnByZWZpeCkgPyAtMSA6ICsxOworCisJCXJlZm5hbWUrKzsKKwkJcHJlZml4Kys7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgcHJlZml4X3JlZl9pdGVyYXRvcl9hZHZhbmNlKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKIHsKIAlzdHJ1Y3QgcHJlZml4X3JlZl9pdGVyYXRvciAqaXRlciA9CkBAIC0yODksMTAgKzMwOCw0MiBAQAogCWludCBvazsKIAogCXdoaWxlICgob2sgPSByZWZfaXRlcmF0b3JfYWR2YW5jZShpdGVyLT5pdGVyMCkpID09IElURVJfT0spIHsKLQkJaWYgKCFzdGFydHNfd2l0aChpdGVyLT5pdGVyMC0+cmVmbmFtZSwgaXRlci0+cHJlZml4KSkKKwkJaW50IGNtcCA9IGNvbXBhcmVfcHJlZml4KGl0ZXItPml0ZXIwLT5yZWZuYW1lLCBpdGVyLT5wcmVmaXgpOworCisJCWlmIChjbXAgPCAwKQogCQkJY29udGludWU7CiAKLQkJaXRlci0+YmFzZS5yZWZuYW1lID0gaXRlci0+aXRlcjAtPnJlZm5hbWUgKyBpdGVyLT50cmltOworCQlpZiAoY21wID4gMCkgeworCQkJLyoKKwkJCSAqIElmIHRoZSBzb3VyY2UgaXRlcmF0b3IgaXMgb3JkZXJlZCwgdGhlbiB3ZQorCQkJICogY2FuIHN0b3AgdGhlIGl0ZXJhdGlvbiBhcyBzb29uIGFzIHdlIHNlZSBhCisJCQkgKiByZWZuYW1lIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIHByZWZpeDoKKwkJCSAqLworCQkJaWYgKGl0ZXItPml0ZXIwLT5vcmRlcmVkKSB7CisJCQkJb2sgPSByZWZfaXRlcmF0b3JfYWJvcnQoaXRlci0+aXRlcjApOworCQkJCWJyZWFrOworCQkJfSBlbHNlIHsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJfQorCisJCWlmIChpdGVyLT50cmltKSB7CisJCQkvKgorCQkJICogSXQgaXMgbm9uc2Vuc2UgdG8gdHJpbSBvZmYgY2hhcmFjdGVycyB0aGF0CisJCQkgKiB5b3UgaGF2ZW4ndCBhbHJlYWR5IGNoZWNrZWQgZm9yIHZpYSBhCisJCQkgKiBwcmVmaXggY2hlY2ssIHdoZXRoZXIgdmlhIHRoaXMKKwkJCSAqIGBwcmVmaXhfcmVmX2l0ZXJhdG9yYCBvciB1cHN0cmVhbSBpbgorCQkJICogYGl0ZXIwYCkuIFNvIGlmIHRoZXJlIHdvdWxkbid0IGJlIGF0IGxlYXN0CisJCQkgKiBvbmUgY2hhcmFjdGVyIGxlZnQgaW4gdGhlIHJlZm5hbWUgYWZ0ZXIKKwkJCSAqIHRyaW1taW5nLCByZXBvcnQgaXQgYXMgYSBidWc6CisJCQkgKi8KKwkJCWlmIChzdHJsZW4oaXRlci0+aXRlcjAtPnJlZm5hbWUpIDw9IGl0ZXItPnRyaW0pCisJCQkJZGllKCJCVUc6IGF0dGVtcHQgdG8gdHJpbSB0b28gbWFueSBjaGFyYWN0ZXJzIik7CisJCQlpdGVyLT5iYXNlLnJlZm5hbWUgPSBpdGVyLT5pdGVyMC0+cmVmbmFtZSArIGl0ZXItPnRyaW07CisJCX0gZWxzZSB7CisJCQlpdGVyLT5iYXNlLnJlZm5hbWUgPSBpdGVyLT5pdGVyMC0+cmVmbmFtZTsKKwkJfQorCiAJCWl0ZXItPmJhc2Uub2lkID0gaXRlci0+aXRlcjAtPm9pZDsKIAkJaXRlci0+YmFzZS5mbGFncyA9IGl0ZXItPml0ZXIwLT5mbGFnczsKIAkJcmV0dXJuIElURVJfT0s7CkBAIC0zNDUsNyArMzk2LDcgQEAKIAlpdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKIAlyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKIAotCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmcHJlZml4X3JlZl9pdGVyYXRvcl92dGFibGUpOworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmcHJlZml4X3JlZl9pdGVyYXRvcl92dGFibGUsIGl0ZXIwLT5vcmRlcmVkKTsKIAogCWl0ZXItPml0ZXIwID0gaXRlcjA7CiAJaXRlci0+cHJlZml4ID0geHN0cmR1cChwcmVmaXgpOwpkaWZmIC0tZ2l0IGEvcmVmcy9wYWNrZWQtYmFja2VuZC5jIGIvcmVmcy9wYWNrZWQtYmFja2VuZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNzlkNDIKLS0tIC9kZXYvbnVsbAorKysgYi9yZWZzL3BhY2tlZC1iYWNrZW5kLmMKQEAgLTAsMCArMSwxNTU4IEBACisjaW5jbHVkZSAiLi4vY2FjaGUuaCIKKyNpbmNsdWRlICIuLi9jb25maWcuaCIKKyNpbmNsdWRlICIuLi9yZWZzLmgiCisjaW5jbHVkZSAicmVmcy1pbnRlcm5hbC5oIgorI2luY2x1ZGUgInBhY2tlZC1iYWNrZW5kLmgiCisjaW5jbHVkZSAiLi4vaXRlcmF0b3IuaCIKKyNpbmNsdWRlICIuLi9sb2NrZmlsZS5oIgorCitlbnVtIG1tYXBfc3RyYXRlZ3kgeworCS8qCisJICogRG9uJ3QgdXNlIG1tYXAoKSBhdCBhbGwgZm9yIHJlYWRpbmcgYHBhY2tlZC1yZWZzYC4KKwkgKi8KKwlNTUFQX05PTkUsCisKKwkvKgorCSAqIENhbiB1c2UgbW1hcCgpIGZvciByZWFkaW5nIGBwYWNrZWQtcmVmc2AsIGJ1dCB0aGUgZmlsZSBtdXN0CisJICogbm90IHJlbWFpbiBtbWFwcGVkLiBUaGlzIGlzIHRoZSB1c3VhbCBvcHRpb24gb24gV2luZG93cywKKwkgKiB3aGVyZSB5b3UgY2Fubm90IHJlbmFtZSBhIG5ldyB2ZXJzaW9uIG9mIGEgZmlsZSBvbnRvIGEgZmlsZQorCSAqIHRoYXQgaXMgY3VycmVudGx5IG1tYXBwZWQuCisJICovCisJTU1BUF9URU1QT1JBUlksCisKKwkvKgorCSAqIEl0IGlzIE9LIHRvIGxlYXZlIHRoZSBgcGFja2VkLXJlZnNgIGZpbGUgbW1hcHBlZCB3aGlsZQorCSAqIGFyYml0cmFyeSBvdGhlciBjb2RlIGlzIHJ1bm5pbmcuCisJICovCisJTU1BUF9PSworfTsKKworI2lmIGRlZmluZWQoTk9fTU1BUCkKK3N0YXRpYyBlbnVtIG1tYXBfc3RyYXRlZ3kgbW1hcF9zdHJhdGVneSA9IE1NQVBfTk9ORTsKKyNlbGlmIGRlZmluZWQoTU1BUF9QUkVWRU5UU19ERUxFVEUpCitzdGF0aWMgZW51bSBtbWFwX3N0cmF0ZWd5IG1tYXBfc3RyYXRlZ3kgPSBNTUFQX1RFTVBPUkFSWTsKKyNlbHNlCitzdGF0aWMgZW51bSBtbWFwX3N0cmF0ZWd5IG1tYXBfc3RyYXRlZ3kgPSBNTUFQX09LOworI2VuZGlmCisKK3N0cnVjdCBwYWNrZWRfcmVmX3N0b3JlOworCisvKgorICogQSBgc25hcHNob3RgIHJlcHJlc2VudHMgb25lIHNuYXBzaG90IG9mIGEgYHBhY2tlZC1yZWZzYCBmaWxlLgorICoKKyAqIE5vcm1hbGx5LCB0aGlzIHdpbGwgYmUgYSBtbWFwcGVkIHZpZXcgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZQorICogYHBhY2tlZC1yZWZzYCBmaWxlIGF0IHRoZSB0aW1lIHRoZSBzbmFwc2hvdCB3YXMgY3JlYXRlZC4gSG93ZXZlciwKKyAqIGlmIHRoZSBgcGFja2VkLXJlZnNgIGZpbGUgd2FzIG5vdCBzb3J0ZWQsIHRoaXMgbWlnaHQgcG9pbnQgYXQgaGVhcAorICogbWVtb3J5IGhvbGRpbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBgcGFja2VkLXJlZnNgIGZpbGUgd2l0aCBpdHMKKyAqIHJlY29yZHMgc29ydGVkIGJ5IHJlZm5hbWUuCisgKgorICogYHNuYXBzaG90YCBpbnN0YW5jZXMgYXJlIHJlZmVyZW5jZSBjb3VudGVkICh2aWEKKyAqIGBhY3F1aXJlX3NuYXBzaG90KClgIGFuZCBgcmVsZWFzZV9zbmFwc2hvdCgpYCkuIFRoaXMgaXMgdG8gcHJldmVudAorICogYW4gaW5zdGFuY2UgZnJvbSBkaXNhcHBlYXJpbmcgd2hpbGUgYW4gaXRlcmF0b3IgaXMgc3RpbGwgaXRlcmF0aW5nCisgKiBvdmVyIGl0LiBJbnN0YW5jZXMgYXJlIGdhcmJhZ2UgY29sbGVjdGVkIHdoZW4gdGhlaXIgYHJlZmVycmVyc2AKKyAqIGNvdW50IGdvZXMgdG8gemVyby4KKyAqCisgKiBUaGUgbW9zdCByZWNlbnQgYHNuYXBzaG90YCwgaWYgYXZhaWxhYmxlLCBpcyByZWZlcmVuY2VkIGJ5IHRoZQorICogYHBhY2tlZF9yZWZfc3RvcmVgLiBJdHMgZnJlc2huZXNzIGlzIGNoZWNrZWQgd2hlbmV2ZXIKKyAqIGBnZXRfc25hcHNob3QoKWAgaXMgY2FsbGVkOyBpZiB0aGUgZXhpc3Rpbmcgc25hcHNob3QgaXMgb2Jzb2xldGUsIGEKKyAqIG5ldyBzbmFwc2hvdCBpcyB0YWtlbi4KKyAqLworc3RydWN0IHNuYXBzaG90IHsKKwkvKgorCSAqIEEgYmFjay1wb2ludGVyIHRvIHRoZSBwYWNrZWRfcmVmX3N0b3JlIHdpdGggd2hpY2ggdGhpcworCSAqIHNuYXBzaG90IGlzIGFzc29jaWF0ZWQ6CisJICovCisJc3RydWN0IHBhY2tlZF9yZWZfc3RvcmUgKnJlZnM7CisKKwkvKiBJcyB0aGUgYHBhY2tlZC1yZWZzYCBmaWxlIGN1cnJlbnRseSBtbWFwcGVkPyAqLworCWludCBtbWFwcGVkOworCisJLyoKKwkgKiBUaGUgY29udGVudHMgb2YgdGhlIGBwYWNrZWQtcmVmc2AgZmlsZS4gSWYgdGhlIGZpbGUgd2FzCisJICogYWxyZWFkeSBzb3J0ZWQsIHRoaXMgcG9pbnRzIGF0IHRoZSBtbWFwcGVkIGNvbnRlbnRzIG9mIHRoZQorCSAqIGZpbGUuIElmIG5vdCwgdGhpcyBwb2ludHMgYXQgaGVhcC1hbGxvY2F0ZWQgbWVtb3J5CisJICogY29udGFpbmluZyB0aGUgY29udGVudHMsIHNvcnRlZC4gSWYgdGhlcmUgd2VyZSBubyBjb250ZW50cworCSAqIChlLmcuLCBiZWNhdXNlIHRoZSBmaWxlIGRpZG4ndCBleGlzdCksIGBidWZgIGFuZCBgZW9mYCBhcmUKKwkgKiBib3RoIE5VTEwuCisJICovCisJY2hhciAqYnVmLCAqZW9mOworCisJLyogVGhlIHNpemUgb2YgdGhlIGhlYWRlciBsaW5lLCBpZiBhbnk7IG90aGVyd2lzZSwgMDogKi8KKwlzaXplX3QgaGVhZGVyX2xlbjsKKworCS8qCisJICogV2hhdCBpcyB0aGUgcGVlbGVkIHN0YXRlIG9mIHRoZSBgcGFja2VkLXJlZnNgIGZpbGUgdGhhdAorCSAqIHRoaXMgc25hcHNob3QgcmVwcmVzZW50cz8gKFRoaXMgaXMgdXN1YWxseSBkZXRlcm1pbmVkIGZyb20KKwkgKiB0aGUgZmlsZSdzIGhlYWRlci4pCisJICovCisJZW51bSB7IFBFRUxFRF9OT05FLCBQRUVMRURfVEFHUywgUEVFTEVEX0ZVTExZIH0gcGVlbGVkOworCisJLyoKKwkgKiBDb3VudCBvZiByZWZlcmVuY2VzIHRvIHRoaXMgaW5zdGFuY2UsIGluY2x1ZGluZyB0aGUgcG9pbnRlcgorCSAqIGZyb20gYHBhY2tlZF9yZWZfc3RvcmU6OnNuYXBzaG90YCwgaWYgYW55LiBUaGUgaW5zdGFuY2UKKwkgKiB3aWxsIG5vdCBiZSBmcmVlZCBhcyBsb25nIGFzIHRoZSByZWZlcmVuY2UgY291bnQgaXMKKwkgKiBub256ZXJvLgorCSAqLworCXVuc2lnbmVkIGludCByZWZlcnJlcnM7CisKKwkvKgorCSAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgYHBhY2tlZC1yZWZzYCBmaWxlIGZyb20gd2hpY2ggdGhpcworCSAqIHNuYXBzaG90IHdhcyBjcmVhdGVkLCB1c2VkIHRvIHRlbGwgaWYgdGhlIGZpbGUgaGFzIGJlZW4KKwkgKiByZXBsYWNlZCBzaW5jZSB3ZSByZWFkIGl0LgorCSAqLworCXN0cnVjdCBzdGF0X3ZhbGlkaXR5IHZhbGlkaXR5OworfTsKKworLyoKKyAqIEEgYHJlZl9zdG9yZWAgcmVwcmVzZW50aW5nIHJlZmVyZW5jZXMgc3RvcmVkIGluIGEgYHBhY2tlZC1yZWZzYAorICogZmlsZS4gSXQgaW1wbGVtZW50cyB0aGUgYHJlZl9zdG9yZWAgaW50ZXJmYWNlLCB0aG91Z2ggaXQgaGFzIHNvbWUKKyAqIGxpbWl0YXRpb25zOgorICoKKyAqIC0gSXQgY2Fubm90IHN0b3JlIHN5bWJvbGljIHJlZmVyZW5jZXMuCisgKgorICogLSBJdCBjYW5ub3Qgc3RvcmUgcmVmbG9ncy4KKyAqCisgKiAtIEl0IGRvZXMgbm90IHN1cHBvcnQgcmVmZXJlbmNlIHJlbmFtaW5nICh0aG91Z2ggaXQgY291bGQpLgorICoKKyAqIE9uIHRoZSBvdGhlciBoYW5kLCBpdCBjYW4gYmUgbG9ja2VkIG91dHNpZGUgb2YgYSByZWZlcmVuY2UKKyAqIHRyYW5zYWN0aW9uLiBJbiB0aGF0IGNhc2UsIGl0IHJlbWFpbnMgbG9ja2VkIGV2ZW4gYWZ0ZXIgdGhlCisgKiB0cmFuc2FjdGlvbiBpcyBkb25lIGFuZCB0aGUgbmV3IGBwYWNrZWQtcmVmc2AgZmlsZSBpcyBhY3RpdmF0ZWQuCisgKi8KK3N0cnVjdCBwYWNrZWRfcmVmX3N0b3JlIHsKKwlzdHJ1Y3QgcmVmX3N0b3JlIGJhc2U7CisKKwl1bnNpZ25lZCBpbnQgc3RvcmVfZmxhZ3M7CisKKwkvKiBUaGUgcGF0aCBvZiB0aGUgInBhY2tlZC1yZWZzIiBmaWxlOiAqLworCWNoYXIgKnBhdGg7CisKKwkvKgorCSAqIEEgc25hcHNob3Qgb2YgdGhlIHZhbHVlcyByZWFkIGZyb20gdGhlIGBwYWNrZWQtcmVmc2AgZmlsZSwKKwkgKiBpZiBpdCBtaWdodCBzdGlsbCBiZSBjdXJyZW50OyBvdGhlcndpc2UsIE5VTEwuCisJICovCisJc3RydWN0IHNuYXBzaG90ICpzbmFwc2hvdDsKKworCS8qCisJICogTG9jayB1c2VkIGZvciB0aGUgInBhY2tlZC1yZWZzIiBmaWxlLiBOb3RlIHRoYXQgdGhpcyAoYW5kCisJICogdGh1cyB0aGUgZW5jbG9zaW5nIGBwYWNrZWRfcmVmX3N0b3JlYCkgbXVzdCBub3QgYmUgZnJlZWQuCisJICovCisJc3RydWN0IGxvY2tfZmlsZSBsb2NrOworCisJLyoKKwkgKiBUZW1wb3JhcnkgZmlsZSB1c2VkIHdoZW4gcmV3cml0aW5nIG5ldyBjb250ZW50cyB0byB0aGUKKwkgKiAicGFja2VkLXJlZnMiIGZpbGUuIE5vdGUgdGhhdCB0aGlzIChhbmQgdGh1cyB0aGUgZW5jbG9zaW5nCisJICogYHBhY2tlZF9yZWZfc3RvcmVgKSBtdXN0IG5vdCBiZSBmcmVlZC4KKwkgKi8KKwlzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlOworfTsKKworLyoKKyAqIEluY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIGAqc25hcHNob3RgLgorICovCitzdGF0aWMgdm9pZCBhY3F1aXJlX3NuYXBzaG90KHN0cnVjdCBzbmFwc2hvdCAqc25hcHNob3QpCit7CisJc25hcHNob3QtPnJlZmVycmVycysrOworfQorCisvKgorICogSWYgdGhlIGJ1ZmZlciBpbiBgc25hcHNob3RgIGlzIGFjdGl2ZSwgdGhlbiBlaXRoZXIgbXVubWFwIHRoZQorICogbWVtb3J5IGFuZCBjbG9zZSB0aGUgZmlsZSwgb3IgZnJlZSB0aGUgbWVtb3J5LiBUaGVuIHNldCB0aGUgYnVmZmVyCisgKiBwb2ludGVycyB0byBOVUxMLgorICovCitzdGF0aWMgdm9pZCBjbGVhcl9zbmFwc2hvdF9idWZmZXIoc3RydWN0IHNuYXBzaG90ICpzbmFwc2hvdCkKK3sKKwlpZiAoc25hcHNob3QtPm1tYXBwZWQpIHsKKwkJaWYgKG11bm1hcChzbmFwc2hvdC0+YnVmLCBzbmFwc2hvdC0+ZW9mIC0gc25hcHNob3QtPmJ1ZikpCisJCQlkaWVfZXJybm8oImVycm9yIHVtbWFwcGluZyBwYWNrZWQtcmVmcyBmaWxlICVzIiwKKwkJCQkgIHNuYXBzaG90LT5yZWZzLT5wYXRoKTsKKwkJc25hcHNob3QtPm1tYXBwZWQgPSAwOworCX0gZWxzZSB7CisJCWZyZWUoc25hcHNob3QtPmJ1Zik7CisJfQorCXNuYXBzaG90LT5idWYgPSBzbmFwc2hvdC0+ZW9mID0gTlVMTDsKKwlzbmFwc2hvdC0+aGVhZGVyX2xlbiA9IDA7Cit9CisKKy8qCisgKiBEZWNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIGAqc25hcHNob3RgLiBJZiBpdCBnb2VzIHRvIHplcm8sCisgKiBmcmVlIGAqc25hcHNob3RgIGFuZCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlIHJldHVybiBmYWxzZS4KKyAqLworc3RhdGljIGludCByZWxlYXNlX3NuYXBzaG90KHN0cnVjdCBzbmFwc2hvdCAqc25hcHNob3QpCit7CisJaWYgKCEtLXNuYXBzaG90LT5yZWZlcnJlcnMpIHsKKwkJc3RhdF92YWxpZGl0eV9jbGVhcigmc25hcHNob3QtPnZhbGlkaXR5KTsKKwkJY2xlYXJfc25hcHNob3RfYnVmZmVyKHNuYXBzaG90KTsKKwkJZnJlZShzbmFwc2hvdCk7CisJCXJldHVybiAxOworCX0gZWxzZSB7CisJCXJldHVybiAwOworCX0KK30KKworc3RydWN0IHJlZl9zdG9yZSAqcGFja2VkX3JlZl9zdG9yZV9jcmVhdGUoY29uc3QgY2hhciAqcGF0aCwKKwkJCQkJICB1bnNpZ25lZCBpbnQgc3RvcmVfZmxhZ3MpCit7CisJc3RydWN0IHBhY2tlZF9yZWZfc3RvcmUgKnJlZnMgPSB4Y2FsbG9jKDEsIHNpemVvZigqcmVmcykpOworCXN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSA9IChzdHJ1Y3QgcmVmX3N0b3JlICopcmVmczsKKworCWJhc2VfcmVmX3N0b3JlX2luaXQocmVmX3N0b3JlLCAmcmVmc19iZV9wYWNrZWQpOworCXJlZnMtPnN0b3JlX2ZsYWdzID0gc3RvcmVfZmxhZ3M7CisKKwlyZWZzLT5wYXRoID0geHN0cmR1cChwYXRoKTsKKwlyZXR1cm4gcmVmX3N0b3JlOworfQorCisvKgorICogRG93bmNhc3QgYHJlZl9zdG9yZWAgdG8gYHBhY2tlZF9yZWZfc3RvcmVgLiBEaWUgaWYgYHJlZl9zdG9yZWAgaXMKKyAqIG5vdCBhIGBwYWNrZWRfcmVmX3N0b3JlYC4gQWxzbyBkaWUgaWYgYHBhY2tlZF9yZWZfc3RvcmVgIGRvZXNuJ3QKKyAqIHN1cHBvcnQgYXQgbGVhc3QgdGhlIGZsYWdzIHNwZWNpZmllZCBpbiBgcmVxdWlyZWRfZmxhZ3NgLiBgY2FsbGVyYAorICogaXMgdXNlZCBpbiBhbnkgbmVjZXNzYXJ5IGVycm9yIG1lc3NhZ2VzLgorICovCitzdGF0aWMgc3RydWN0IHBhY2tlZF9yZWZfc3RvcmUgKnBhY2tlZF9kb3duY2FzdChzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkJCQl1bnNpZ25lZCBpbnQgcmVxdWlyZWRfZmxhZ3MsCisJCQkJCQljb25zdCBjaGFyICpjYWxsZXIpCit7CisJc3RydWN0IHBhY2tlZF9yZWZfc3RvcmUgKnJlZnM7CisKKwlpZiAocmVmX3N0b3JlLT5iZSAhPSAmcmVmc19iZV9wYWNrZWQpCisJCWRpZSgiQlVHOiByZWZfc3RvcmUgaXMgdHlwZSBcIiVzXCIgbm90IFwicGFja2VkXCIgaW4gJXMiLAorCQkgICAgcmVmX3N0b3JlLT5iZS0+bmFtZSwgY2FsbGVyKTsKKworCXJlZnMgPSAoc3RydWN0IHBhY2tlZF9yZWZfc3RvcmUgKilyZWZfc3RvcmU7CisKKwlpZiAoKHJlZnMtPnN0b3JlX2ZsYWdzICYgcmVxdWlyZWRfZmxhZ3MpICE9IHJlcXVpcmVkX2ZsYWdzKQorCQlkaWUoIkJVRzogdW5hbGxvd2VkIG9wZXJhdGlvbiAoJXMpLCByZXF1aXJlcyAleCwgaGFzICV4XG4iLAorCQkgICAgY2FsbGVyLCByZXF1aXJlZF9mbGFncywgcmVmcy0+c3RvcmVfZmxhZ3MpOworCisJcmV0dXJuIHJlZnM7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFyX3NuYXBzaG90KHN0cnVjdCBwYWNrZWRfcmVmX3N0b3JlICpyZWZzKQoreworCWlmIChyZWZzLT5zbmFwc2hvdCkgeworCQlzdHJ1Y3Qgc25hcHNob3QgKnNuYXBzaG90ID0gcmVmcy0+c25hcHNob3Q7CisKKwkJcmVmcy0+c25hcHNob3QgPSBOVUxMOworCQlyZWxlYXNlX3NuYXBzaG90KHNuYXBzaG90KTsKKwl9Cit9CisKK3N0YXRpYyBOT1JFVFVSTiB2b2lkIGRpZV91bnRlcm1pbmF0ZWRfbGluZShjb25zdCBjaGFyICpwYXRoLAorCQkJCQkgICBjb25zdCBjaGFyICpwLCBzaXplX3QgbGVuKQoreworCWlmIChsZW4gPCA4MCkKKwkJZGllKCJ1bnRlcm1pbmF0ZWQgbGluZSBpbiAlczogJS4qcyIsIHBhdGgsIChpbnQpbGVuLCBwKTsKKwllbHNlCisJCWRpZSgidW50ZXJtaW5hdGVkIGxpbmUgaW4gJXM6ICUuNzVzLi4uIiwgcGF0aCwgcCk7Cit9CisKK3N0YXRpYyBOT1JFVFVSTiB2b2lkIGRpZV9pbnZhbGlkX2xpbmUoY29uc3QgY2hhciAqcGF0aCwKKwkJCQkgICAgICBjb25zdCBjaGFyICpwLCBzaXplX3QgbGVuKQoreworCWNvbnN0IGNoYXIgKmVvbCA9IG1lbWNocihwLCAnXG4nLCBsZW4pOworCisJaWYgKCFlb2wpCisJCWRpZV91bnRlcm1pbmF0ZWRfbGluZShwYXRoLCBwLCBsZW4pOworCWVsc2UgaWYgKGVvbCAtIHAgPCA4MCkKKwkJZGllKCJ1bmV4cGVjdGVkIGxpbmUgaW4gJXM6ICUuKnMiLCBwYXRoLCAoaW50KShlb2wgLSBwKSwgcCk7CisJZWxzZQorCQlkaWUoInVuZXhwZWN0ZWQgbGluZSBpbiAlczogJS43NXMuLi4iLCBwYXRoLCBwKTsKKworfQorCitzdHJ1Y3Qgc25hcHNob3RfcmVjb3JkIHsKKwljb25zdCBjaGFyICpzdGFydDsKKwlzaXplX3QgbGVuOworfTsKKworc3RhdGljIGludCBjbXBfcGFja2VkX3JlZl9yZWNvcmRzKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2MikKK3sKKwljb25zdCBzdHJ1Y3Qgc25hcHNob3RfcmVjb3JkICplMSA9IHYxLCAqZTIgPSB2MjsKKwljb25zdCBjaGFyICpyMSA9IGUxLT5zdGFydCArIEdJVF9TSEExX0hFWFNaICsgMTsKKwljb25zdCBjaGFyICpyMiA9IGUyLT5zdGFydCArIEdJVF9TSEExX0hFWFNaICsgMTsKKworCXdoaWxlICgxKSB7CisJCWlmICgqcjEgPT0gJ1xuJykKKwkJCXJldHVybiAqcjIgPT0gJ1xuJyA/IDAgOiAtMTsKKwkJaWYgKCpyMSAhPSAqcjIpIHsKKwkJCWlmICgqcjIgPT0gJ1xuJykKKwkJCQlyZXR1cm4gMTsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gKHVuc2lnbmVkIGNoYXIpKnIxIDwgKHVuc2lnbmVkIGNoYXIpKnIyID8gLTEgOiArMTsKKwkJfQorCQlyMSsrOworCQlyMisrOworCX0KK30KKworLyoKKyAqIENvbXBhcmUgYSBzbmFwc2hvdCByZWNvcmQgYXQgYHJlY2AgdG8gdGhlIHNwZWNpZmllZCBOVUwtdGVybWluYXRlZAorICogcmVmbmFtZS4KKyAqLworc3RhdGljIGludCBjbXBfcmVjb3JkX3RvX3JlZm5hbWUoY29uc3QgY2hhciAqcmVjLCBjb25zdCBjaGFyICpyZWZuYW1lKQoreworCWNvbnN0IGNoYXIgKnIxID0gcmVjICsgR0lUX1NIQTFfSEVYU1ogKyAxOworCWNvbnN0IGNoYXIgKnIyID0gcmVmbmFtZTsKKworCXdoaWxlICgxKSB7CisJCWlmICgqcjEgPT0gJ1xuJykKKwkJCXJldHVybiAqcjIgPyAtMSA6IDA7CisJCWlmICghKnIyKQorCQkJcmV0dXJuIDE7CisJCWlmICgqcjEgIT0gKnIyKQorCQkJcmV0dXJuICh1bnNpZ25lZCBjaGFyKSpyMSA8ICh1bnNpZ25lZCBjaGFyKSpyMiA/IC0xIDogKzE7CisJCXIxKys7CisJCXIyKys7CisJfQorfQorCisvKgorICogYHNuYXBzaG90LT5idWZgIGlzIG5vdCBrbm93biB0byBiZSBzb3J0ZWQuIENoZWNrIHdoZXRoZXIgaXQgaXMsIGFuZAorICogaWYgbm90LCBzb3J0IGl0IGludG8gbmV3IG1lbW9yeSBhbmQgbXVubWFwL2ZyZWUgdGhlIG9sZCBzdG9yYWdlLgorICovCitzdGF0aWMgdm9pZCBzb3J0X3NuYXBzaG90KHN0cnVjdCBzbmFwc2hvdCAqc25hcHNob3QpCit7CisJc3RydWN0IHNuYXBzaG90X3JlY29yZCAqcmVjb3JkcyA9IE5VTEw7CisJc2l6ZV90IGFsbG9jID0gMCwgbnIgPSAwOworCWludCBzb3J0ZWQgPSAxOworCWNvbnN0IGNoYXIgKnBvcywgKmVvZiwgKmVvbDsKKwlzaXplX3QgbGVuLCBpOworCWNoYXIgKm5ld19idWZmZXIsICpkc3Q7CisKKwlwb3MgPSBzbmFwc2hvdC0+YnVmICsgc25hcHNob3QtPmhlYWRlcl9sZW47CisJZW9mID0gc25hcHNob3QtPmVvZjsKKwlsZW4gPSBlb2YgLSBwb3M7CisKKwlpZiAoIWxlbikKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJbml0aWFsaXplIHJlY29yZHMgYmFzZWQgb24gYSBjcnVkZSBlc3RpbWF0ZSBvZiB0aGUgbnVtYmVyCisJICogb2YgcmVmZXJlbmNlcyBpbiB0aGUgZmlsZSAod2UnbGwgZ3JvdyBpdCBiZWxvdyBpZiBuZWVkZWQpOgorCSAqLworCUFMTE9DX0dST1cocmVjb3JkcywgbGVuIC8gODAgKyAyMCwgYWxsb2MpOworCisJd2hpbGUgKHBvcyA8IGVvZikgeworCQllb2wgPSBtZW1jaHIocG9zLCAnXG4nLCBlb2YgLSBwb3MpOworCQlpZiAoIWVvbCkKKwkJCS8qIFRoZSBzYWZldHkgY2hlY2sgc2hvdWxkIHByZXZlbnQgdGhpcy4gKi8KKwkJCUJVRygidW50ZXJtaW5hdGVkIGxpbmUgZm91bmQgaW4gcGFja2VkLXJlZnMiKTsKKwkJaWYgKGVvbCAtIHBvcyA8IEdJVF9TSEExX0hFWFNaICsgMikKKwkJCWRpZV9pbnZhbGlkX2xpbmUoc25hcHNob3QtPnJlZnMtPnBhdGgsCisJCQkJCSBwb3MsIGVvZiAtIHBvcyk7CisJCWVvbCsrOworCQlpZiAoZW9sIDwgZW9mICYmICplb2wgPT0gJ14nKSB7CisJCQkvKgorCQkJICogS2VlcCBhbnkgcGVlbGVkIGxpbmUgdG9nZXRoZXIgd2l0aCBpdHMKKwkJCSAqIHJlZmVyZW5jZToKKwkJCSAqLworCQkJY29uc3QgY2hhciAqcGVlbGVkX3N0YXJ0ID0gZW9sOworCisJCQllb2wgPSBtZW1jaHIocGVlbGVkX3N0YXJ0LCAnXG4nLCBlb2YgLSBwZWVsZWRfc3RhcnQpOworCQkJaWYgKCFlb2wpCisJCQkJLyogVGhlIHNhZmV0eSBjaGVjayBzaG91bGQgcHJldmVudCB0aGlzLiAqLworCQkJCUJVRygidW50ZXJtaW5hdGVkIHBlZWxlZCBsaW5lIGZvdW5kIGluIHBhY2tlZC1yZWZzIik7CisJCQllb2wrKzsKKwkJfQorCisJCUFMTE9DX0dST1cocmVjb3JkcywgbnIgKyAxLCBhbGxvYyk7CisJCXJlY29yZHNbbnJdLnN0YXJ0ID0gcG9zOworCQlyZWNvcmRzW25yXS5sZW4gPSBlb2wgLSBwb3M7CisJCW5yKys7CisKKwkJaWYgKHNvcnRlZCAmJgorCQkgICAgbnIgPiAxICYmCisJCSAgICBjbXBfcGFja2VkX3JlZl9yZWNvcmRzKCZyZWNvcmRzW25yIC0gMl0sCisJCQkJCSAgICZyZWNvcmRzW25yIC0gMV0pID49IDApCisJCQlzb3J0ZWQgPSAwOworCisJCXBvcyA9IGVvbDsKKwl9CisKKwlpZiAoc29ydGVkKQorCQlnb3RvIGNsZWFudXA7CisKKwkvKiBXZSBuZWVkIHRvIHNvcnQgdGhlIG1lbW9yeS4gRmlyc3Qgd2Ugc29ydCB0aGUgcmVjb3JkcyBhcnJheTogKi8KKwlRU09SVChyZWNvcmRzLCBuciwgY21wX3BhY2tlZF9yZWZfcmVjb3Jkcyk7CisKKwkvKgorCSAqIEFsbG9jYXRlIGEgbmV3IGNodW5rIG9mIG1lbW9yeSwgYW5kIGNvcHkgdGhlIG9sZCBtZW1vcnkgdG8KKwkgKiB0aGUgbmV3IGluIHRoZSBvcmRlciBpbmRpY2F0ZWQgYnkgYHJlY29yZHNgIChub3QgYm90aGVyaW5nCisJICogd2l0aCB0aGUgaGVhZGVyIGxpbmUpOgorCSAqLworCW5ld19idWZmZXIgPSB4bWFsbG9jKGxlbik7CisJZm9yIChkc3QgPSBuZXdfYnVmZmVyLCBpID0gMDsgaSA8IG5yOyBpKyspIHsKKwkJbWVtY3B5KGRzdCwgcmVjb3Jkc1tpXS5zdGFydCwgcmVjb3Jkc1tpXS5sZW4pOworCQlkc3QgKz0gcmVjb3Jkc1tpXS5sZW47CisJfQorCisJLyoKKwkgKiBOb3cgbXVubWFwIHRoZSBvbGQgYnVmZmVyIGFuZCB1c2UgdGhlIHNvcnRlZCBidWZmZXIgaW4gaXRzCisJICogcGxhY2U6CisJICovCisJY2xlYXJfc25hcHNob3RfYnVmZmVyKHNuYXBzaG90KTsKKwlzbmFwc2hvdC0+YnVmID0gbmV3X2J1ZmZlcjsKKwlzbmFwc2hvdC0+ZW9mID0gbmV3X2J1ZmZlciArIGxlbjsKKwlzbmFwc2hvdC0+aGVhZGVyX2xlbiA9IDA7CisKK2NsZWFudXA6CisJZnJlZShyZWNvcmRzKTsKK30KKworLyoKKyAqIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIHN0YXJ0IG9mIHRoZSByZWNvcmQgdGhhdCBjb250YWlucyB0aGUKKyAqIGNoYXJhY3RlciBgKnBgICh3aGljaCBtdXN0IGJlIHdpdGhpbiB0aGUgYnVmZmVyKS4gSWYgbm8gb3RoZXIKKyAqIHJlY29yZCBzdGFydCBpcyBmb3VuZCwgcmV0dXJuIGBidWZgLgorICovCitzdGF0aWMgY29uc3QgY2hhciAqZmluZF9zdGFydF9vZl9yZWNvcmQoY29uc3QgY2hhciAqYnVmLCBjb25zdCBjaGFyICpwKQoreworCXdoaWxlIChwID4gYnVmICYmIChwWy0xXSAhPSAnXG4nIHx8IHBbMF0gPT0gJ14nKSkKKwkJcC0tOworCXJldHVybiBwOworfQorCisvKgorICogUmV0dXJuIGEgcG9pbnRlciB0byB0aGUgc3RhcnQgb2YgdGhlIHJlY29yZCBmb2xsb3dpbmcgdGhlIHJlY29yZAorICogdGhhdCBjb250YWlucyBgKnBgLiBJZiBub25lIGlzIGZvdW5kIGJlZm9yZSBgZW5kYCwgcmV0dXJuIGBlbmRgLgorICovCitzdGF0aWMgY29uc3QgY2hhciAqZmluZF9lbmRfb2ZfcmVjb3JkKGNvbnN0IGNoYXIgKnAsIGNvbnN0IGNoYXIgKmVuZCkKK3sKKwl3aGlsZSAoKytwIDwgZW5kICYmIChwWy0xXSAhPSAnXG4nIHx8IHBbMF0gPT0gJ14nKSkKKwkJOworCXJldHVybiBwOworfQorCisvKgorICogV2Ugd2FudCB0byBiZSBhYmxlIHRvIGNvbXBhcmUgbW1hcHBlZCByZWZlcmVuY2UgcmVjb3JkcyBxdWlja2x5LAorICogd2l0aG91dCB0b3RhbGx5IHBhcnNpbmcgdGhlbS4gV2UgY2FuIGRvIHNvIGJlY2F1c2UgdGhlIHJlY29yZHMgYXJlCisgKiBMRi10ZXJtaW5hdGVkLCBhbmQgdGhlIHJlZm5hbWUgc2hvdWxkIHN0YXJ0IGV4YWN0bHkgKEdJVF9TSEExX0hFWFNaCisgKiArIDEpIGJ5dGVzIHBhc3QgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVjb3JkLgorICoKKyAqIEJ1dCB3aGF0IGlmIHRoZSBgcGFja2VkLXJlZnNgIGZpbGUgY29udGFpbnMgZ2FyYmFnZT8gV2UncmUgd2lsbGluZworICogdG8gdG9sZXJhdGUgbm90IGRldGVjdGluZyB0aGUgcHJvYmxlbSwgYXMgbG9uZyBhcyB3ZSBkb24ndCBwcm9kdWNlCisgKiB0b3RhbGx5IGdhcmJsZWQgb3V0cHV0ICh3ZSBjYW4ndCBhZmZvcmQgdG8gY2hlY2sgdGhlIGludGVncml0eSBvZgorICogdGhlIHdob2xlIGZpbGUgZHVyaW5nIGV2ZXJ5IEdpdCBpbnZvY2F0aW9uKS4gQnV0IHdlIGRvIHdhbnQgdG8gYmUKKyAqIHN1cmUgdGhhdCB3ZSBuZXZlciByZWFkIHBhc3QgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIGluIG1lbW9yeSBhbmQKKyAqIHBlcmZvcm0gYW4gaWxsZWdhbCBtZW1vcnkgYWNjZXNzLgorICoKKyAqIEd1YXJhbnRlZSB0aGF0IG1pbmltdW0gbGV2ZWwgb2Ygc2FmZXR5IGJ5IHZlcmlmeWluZyB0aGF0IHRoZSBsYXN0CisgKiByZWNvcmQgaW4gdGhlIGZpbGUgaXMgTEYtdGVybWluYXRlZCwgYW5kIHRoYXQgaXQgaGFzIGF0IGxlYXN0CisgKiAoR0lUX1NIQTFfSEVYU1ogKyAxKSBjaGFyYWN0ZXJzIGJlZm9yZSB0aGUgTEYuIERpZSBpZiBlaXRoZXIgb2YKKyAqIHRoZXNlIGNoZWNrcyBmYWlscy4KKyAqLworc3RhdGljIHZvaWQgdmVyaWZ5X2J1ZmZlcl9zYWZlKHN0cnVjdCBzbmFwc2hvdCAqc25hcHNob3QpCit7CisJY29uc3QgY2hhciAqYnVmID0gc25hcHNob3QtPmJ1ZiArIHNuYXBzaG90LT5oZWFkZXJfbGVuOworCWNvbnN0IGNoYXIgKmVvZiA9IHNuYXBzaG90LT5lb2Y7CisJY29uc3QgY2hhciAqbGFzdF9saW5lOworCisJaWYgKGJ1ZiA9PSBlb2YpCisJCXJldHVybjsKKworCWxhc3RfbGluZSA9IGZpbmRfc3RhcnRfb2ZfcmVjb3JkKGJ1ZiwgZW9mIC0gMSk7CisJaWYgKCooZW9mIC0gMSkgIT0gJ1xuJyB8fCBlb2YgLSBsYXN0X2xpbmUgPCBHSVRfU0hBMV9IRVhTWiArIDIpCisJCWRpZV9pbnZhbGlkX2xpbmUoc25hcHNob3QtPnJlZnMtPnBhdGgsCisJCQkJIGxhc3RfbGluZSwgZW9mIC0gbGFzdF9saW5lKTsKK30KKworLyoKKyAqIERlcGVuZGluZyBvbiBgbW1hcF9zdHJhdGVneWAsIGVpdGhlciBtbWFwIG9yIHJlYWQgdGhlIGNvbnRlbnRzIG9mCisgKiB0aGUgYHBhY2tlZC1yZWZzYCBmaWxlIGludG8gdGhlIHNuYXBzaG90LiBSZXR1cm4gMSBpZiB0aGUgZmlsZQorICogZXhpc3RlZCBhbmQgd2FzIHJlYWQsIG9yIDAgaWYgdGhlIGZpbGUgd2FzIGFic2VudC4gRGllIG9uIGVycm9ycy4KKyAqLworc3RhdGljIGludCBsb2FkX2NvbnRlbnRzKHN0cnVjdCBzbmFwc2hvdCAqc25hcHNob3QpCit7CisJaW50IGZkOworCXN0cnVjdCBzdGF0IHN0OworCXNpemVfdCBzaXplOworCXNzaXplX3QgYnl0ZXNfcmVhZDsKKworCWZkID0gb3BlbihzbmFwc2hvdC0+cmVmcy0+cGF0aCwgT19SRE9OTFkpOworCWlmIChmZCA8IDApIHsKKwkJaWYgKGVycm5vID09IEVOT0VOVCkgeworCQkJLyoKKwkJCSAqIFRoaXMgaXMgT0s7IGl0IGp1c3QgbWVhbnMgdGhhdCBubworCQkJICogInBhY2tlZC1yZWZzIiBmaWxlIGhhcyBiZWVuIHdyaXR0ZW4geWV0LAorCQkJICogd2hpY2ggaXMgZXF1aXZhbGVudCB0byBpdCBiZWluZyBlbXB0eSwKKwkJCSAqIHdoaWNoIGlzIGl0cyBzdGF0ZSB3aGVuIGluaXRpYWxpemVkIHdpdGgKKwkJCSAqIHplcm9zLgorCQkJICovCisJCQlyZXR1cm4gMDsKKwkJfSBlbHNlIHsKKwkJCWRpZV9lcnJubygiY291bGRuJ3QgcmVhZCAlcyIsIHNuYXBzaG90LT5yZWZzLT5wYXRoKTsKKwkJfQorCX0KKworCXN0YXRfdmFsaWRpdHlfdXBkYXRlKCZzbmFwc2hvdC0+dmFsaWRpdHksIGZkKTsKKworCWlmIChmc3RhdChmZCwgJnN0KSA8IDApCisJCWRpZV9lcnJubygiY291bGRuJ3Qgc3RhdCAlcyIsIHNuYXBzaG90LT5yZWZzLT5wYXRoKTsKKwlzaXplID0geHNpemVfdChzdC5zdF9zaXplKTsKKworCXN3aXRjaCAobW1hcF9zdHJhdGVneSkgeworCWNhc2UgTU1BUF9OT05FOgorCQlzbmFwc2hvdC0+YnVmID0geG1hbGxvYyhzaXplKTsKKwkJYnl0ZXNfcmVhZCA9IHJlYWRfaW5fZnVsbChmZCwgc25hcHNob3QtPmJ1Ziwgc2l6ZSk7CisJCWlmIChieXRlc19yZWFkIDwgMCB8fCBieXRlc19yZWFkICE9IHNpemUpCisJCQlkaWVfZXJybm8oImNvdWxkbid0IHJlYWQgJXMiLCBzbmFwc2hvdC0+cmVmcy0+cGF0aCk7CisJCXNuYXBzaG90LT5lb2YgPSBzbmFwc2hvdC0+YnVmICsgc2l6ZTsKKwkJc25hcHNob3QtPm1tYXBwZWQgPSAwOworCQlicmVhazsKKwljYXNlIE1NQVBfVEVNUE9SQVJZOgorCWNhc2UgTU1BUF9PSzoKKwkJc25hcHNob3QtPmJ1ZiA9IHhtbWFwKE5VTEwsIHNpemUsIFBST1RfUkVBRCwgTUFQX1BSSVZBVEUsIGZkLCAwKTsKKwkJc25hcHNob3QtPmVvZiA9IHNuYXBzaG90LT5idWYgKyBzaXplOworCQlzbmFwc2hvdC0+bW1hcHBlZCA9IDE7CisJCWJyZWFrOworCX0KKwljbG9zZShmZCk7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEZpbmQgdGhlIHBsYWNlIGluIGBzbmFwc2hvdC0+YnVmYCB3aGVyZSB0aGUgc3RhcnQgb2YgdGhlIHJlY29yZCBmb3IKKyAqIGByZWZuYW1lYCBzdGFydHMuIElmIGBtdXN0ZXhpc3RgIGlzIHRydWUgYW5kIHRoZSByZWZlcmVuY2UgZG9lc24ndAorICogZXhpc3QsIHRoZW4gcmV0dXJuIE5VTEwuIElmIGBtdXN0ZXhpc3RgIGlzIGZhbHNlIGFuZCB0aGUgcmVmZXJlbmNlCisgKiBkb2Vzbid0IGV4aXN0LCB0aGVuIHJldHVybiB0aGUgcG9pbnQgd2hlcmUgdGhhdCByZWZlcmVuY2Ugd291bGQgYmUKKyAqIGluc2VydGVkLiBJbiB0aGUgbGF0dGVyIG1vZGUsIGByZWZuYW1lYCBkb2Vzbid0IGhhdmUgdG8gYmUgYSBwcm9wZXIKKyAqIHJlZmVyZW5jZSBuYW1lOyBmb3IgZXhhbXBsZSwgb25lIGNvdWxkIHNlYXJjaCBmb3IgInJlZnMvcmVwbGFjZS8iCisgKiB0byBmaW5kIHRoZSBzdGFydCBvZiBhbnkgcmVwbGFjZSByZWZlcmVuY2VzLgorICoKKyAqIFRoZSByZWNvcmQgaXMgc291Z2h0IHVzaW5nIGEgYmluYXJ5IHNlYXJjaCwgc28gYHNuYXBzaG90LT5idWZgIG11c3QKKyAqIGJlIHNvcnRlZC4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmZpbmRfcmVmZXJlbmNlX2xvY2F0aW9uKHN0cnVjdCBzbmFwc2hvdCAqc25hcHNob3QsCisJCQkJCSAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBtdXN0ZXhpc3QpCit7CisJLyoKKwkgKiBUaGlzIGlzIG5vdCAqcXVpdGUqIGEgZ2FyZGVuLXZhcmlldHkgYmluYXJ5IHNlYXJjaCwgYmVjYXVzZQorCSAqIHRoZSBkYXRhIHdlJ3JlIHNlYXJjaGluZyBpcyBtYWRlIHVwIG9mIHJlY29yZHMsIGFuZCB3ZQorCSAqIGFsd2F5cyBuZWVkIHRvIGZpbmQgdGhlIGJlZ2lubmluZyBvZiBhIHJlY29yZCB0byBkbyBhCisJICogY29tcGFyaXNvbi4gQSAicmVjb3JkIiBoZXJlIGlzIG9uZSBsaW5lIGZvciB0aGUgcmVmZXJlbmNlCisJICogaXRzZWxmIGFuZCB6ZXJvIG9yIG9uZSBwZWVsIGxpbmVzIHRoYXQgc3RhcnQgd2l0aCAnXicuIE91cgorCSAqIGxvb3AgaW52YXJpYW50IGlzIGRlc2NyaWJlZCBpbiB0aGUgbmV4dCB0d28gY29tbWVudHMuCisJICovCisKKwkvKgorCSAqIEEgcG9pbnRlciB0byB0aGUgY2hhcmFjdGVyIGF0IHRoZSBzdGFydCBvZiBhIHJlY29yZCB3aG9zZQorCSAqIHByZWNlZGluZyByZWNvcmRzIGFsbCBoYXZlIHJlZmVyZW5jZSBuYW1lcyB0aGF0IGNvbWUKKwkgKiAqYmVmb3JlKiBgcmVmbmFtZWAuCisJICovCisJY29uc3QgY2hhciAqbG8gPSBzbmFwc2hvdC0+YnVmICsgc25hcHNob3QtPmhlYWRlcl9sZW47CisKKwkvKgorCSAqIEEgcG9pbnRlciB0byBhIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYSByZWNvcmQgd2hvc2UKKwkgKiByZWZlcmVuY2UgbmFtZSBjb21lcyAqYWZ0ZXIqIGByZWZuYW1lYC4KKwkgKi8KKwljb25zdCBjaGFyICpoaSA9IHNuYXBzaG90LT5lb2Y7CisKKwl3aGlsZSAobG8gPCBoaSkgeworCQljb25zdCBjaGFyICptaWQsICpyZWM7CisJCWludCBjbXA7CisKKwkJbWlkID0gbG8gKyAoaGkgLSBsbykgLyAyOworCQlyZWMgPSBmaW5kX3N0YXJ0X29mX3JlY29yZChsbywgbWlkKTsKKwkJY21wID0gY21wX3JlY29yZF90b19yZWZuYW1lKHJlYywgcmVmbmFtZSk7CisJCWlmIChjbXAgPCAwKSB7CisJCQlsbyA9IGZpbmRfZW5kX29mX3JlY29yZChtaWQsIGhpKTsKKwkJfSBlbHNlIGlmIChjbXAgPiAwKSB7CisJCQloaSA9IHJlYzsKKwkJfSBlbHNlIHsKKwkJCXJldHVybiByZWM7CisJCX0KKwl9CisKKwlpZiAobXVzdGV4aXN0KQorCQlyZXR1cm4gTlVMTDsKKwllbHNlCisJCXJldHVybiBsbzsKK30KKworLyoKKyAqIENyZWF0ZSBhIG5ld2x5LWFsbG9jYXRlZCBgc25hcHNob3RgIG9mIHRoZSBgcGFja2VkLXJlZnNgIGZpbGUgaW4KKyAqIGl0cyBjdXJyZW50IHN0YXRlIGFuZCByZXR1cm4gaXQuIFRoZSByZXR1cm4gdmFsdWUgd2lsbCBhbHJlYWR5IGhhdmUKKyAqIGl0cyByZWZlcmVuY2UgY291bnQgaW5jcmVtZW50ZWQuCisgKgorICogQSBjb21tZW50IGxpbmUgb2YgdGhlIGZvcm0gIiMgcGFjay1yZWZzIHdpdGg6ICIgbWF5IGNvbnRhaW4gemVybyBvcgorICogbW9yZSB0cmFpdHMuIFdlIGludGVycHJldCB0aGUgdHJhaXRzIGFzIGZvbGxvd3M6CisgKgorICogICBOZWl0aGVyIGBwZWVsZWRgIG5vciBgZnVsbHktcGVlbGVkYDoKKyAqCisgKiAgICAgIFByb2JhYmx5IG5vIHJlZmVyZW5jZXMgYXJlIHBlZWxlZC4gQnV0IGlmIHRoZSBmaWxlIGNvbnRhaW5zIGEKKyAqICAgICAgcGVlbGVkIHZhbHVlIGZvciBhIHJlZmVyZW5jZSwgd2Ugd2lsbCB1c2UgaXQuCisgKgorICogICBgcGVlbGVkYDoKKyAqCisgKiAgICAgIFJlZmVyZW5jZXMgdW5kZXIgInJlZnMvdGFncy8iLCBpZiB0aGV5ICpjYW4qIGJlIHBlZWxlZCwgKmFyZSoKKyAqICAgICAgcGVlbGVkIGluIHRoaXMgZmlsZS4gUmVmZXJlbmNlcyBvdXRzaWRlIG9mICJyZWZzL3RhZ3MvIiBhcmUKKyAqICAgICAgcHJvYmFibHkgbm90IHBlZWxlZCBldmVuIGlmIHRoZXkgY291bGQgaGF2ZSBiZWVuLCBidXQgaWYgd2UgZmluZAorICogICAgICBhIHBlZWxlZCB2YWx1ZSBmb3Igc3VjaCBhIHJlZmVyZW5jZSB3ZSB3aWxsIHVzZSBpdC4KKyAqCisgKiAgIGBmdWxseS1wZWVsZWRgOgorICoKKyAqICAgICAgQWxsIHJlZmVyZW5jZXMgaW4gdGhlIGZpbGUgdGhhdCBjYW4gYmUgcGVlbGVkIGFyZSBwZWVsZWQuCisgKiAgICAgIEludmVyc2VseSAoYW5kIHRoaXMgaXMgbW9yZSBpbXBvcnRhbnQpLCBhbnkgcmVmZXJlbmNlcyBpbiB0aGUKKyAqICAgICAgZmlsZSBmb3Igd2hpY2ggbm8gcGVlbGVkIHZhbHVlIGlzIHJlY29yZGVkIGlzIG5vdCBwZWVsYWJsZS4gVGhpcworICogICAgICB0cmFpdCBzaG91bGQgdHlwaWNhbGx5IGJlIHdyaXR0ZW4gYWxvbmdzaWRlICJwZWVsZWQiIGZvcgorICogICAgICBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgY2xpZW50cywgYnV0IHdlIGRvIG5vdCByZXF1aXJlIGl0CisgKiAgICAgIChpLmUuLCAicGVlbGVkIiBpcyBhIG5vLW9wIGlmICJmdWxseS1wZWVsZWQiIGlzIHNldCkuCisgKgorICogICBgc29ydGVkYDoKKyAqCisgKiAgICAgIFRoZSByZWZlcmVuY2VzIGluIHRoaXMgZmlsZSBhcmUga25vd24gdG8gYmUgc29ydGVkIGJ5IHJlZm5hbWUuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25hcHNob3QgKmNyZWF0ZV9zbmFwc2hvdChzdHJ1Y3QgcGFja2VkX3JlZl9zdG9yZSAqcmVmcykKK3sKKwlzdHJ1Y3Qgc25hcHNob3QgKnNuYXBzaG90ID0geGNhbGxvYygxLCBzaXplb2YoKnNuYXBzaG90KSk7CisJaW50IHNvcnRlZCA9IDA7CisKKwlzbmFwc2hvdC0+cmVmcyA9IHJlZnM7CisJYWNxdWlyZV9zbmFwc2hvdChzbmFwc2hvdCk7CisJc25hcHNob3QtPnBlZWxlZCA9IFBFRUxFRF9OT05FOworCisJaWYgKCFsb2FkX2NvbnRlbnRzKHNuYXBzaG90KSkKKwkJcmV0dXJuIHNuYXBzaG90OworCisJLyogSWYgdGhlIGZpbGUgaGFzIGEgaGVhZGVyIGxpbmUsIHByb2Nlc3MgaXQ6ICovCisJaWYgKHNuYXBzaG90LT5idWYgPCBzbmFwc2hvdC0+ZW9mICYmICpzbmFwc2hvdC0+YnVmID09ICcjJykgeworCQlzdHJ1Y3Qgc3RyYnVmIHRtcCA9IFNUUkJVRl9JTklUOworCQljaGFyICpwOworCQljb25zdCBjaGFyICplb2w7CisJCXN0cnVjdCBzdHJpbmdfbGlzdCB0cmFpdHMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworCisJCWVvbCA9IG1lbWNocihzbmFwc2hvdC0+YnVmLCAnXG4nLAorCQkJICAgICBzbmFwc2hvdC0+ZW9mIC0gc25hcHNob3QtPmJ1Zik7CisJCWlmICghZW9sKQorCQkJZGllX3VudGVybWluYXRlZF9saW5lKHJlZnMtPnBhdGgsCisJCQkJCSAgICAgIHNuYXBzaG90LT5idWYsCisJCQkJCSAgICAgIHNuYXBzaG90LT5lb2YgLSBzbmFwc2hvdC0+YnVmKTsKKworCQlzdHJidWZfYWRkKCZ0bXAsIHNuYXBzaG90LT5idWYsIGVvbCAtIHNuYXBzaG90LT5idWYpOworCisJCWlmICghc2tpcF9wcmVmaXgodG1wLmJ1ZiwgIiMgcGFjay1yZWZzIHdpdGg6IiwgKGNvbnN0IGNoYXIgKiopJnApKQorCQkJZGllX2ludmFsaWRfbGluZShyZWZzLT5wYXRoLAorCQkJCQkgc25hcHNob3QtPmJ1ZiwKKwkJCQkJIHNuYXBzaG90LT5lb2YgLSBzbmFwc2hvdC0+YnVmKTsKKworCQlzdHJpbmdfbGlzdF9zcGxpdF9pbl9wbGFjZSgmdHJhaXRzLCBwLCAnICcsIC0xKTsKKworCQlpZiAodW5zb3J0ZWRfc3RyaW5nX2xpc3RfaGFzX3N0cmluZygmdHJhaXRzLCAiZnVsbHktcGVlbGVkIikpCisJCQlzbmFwc2hvdC0+cGVlbGVkID0gUEVFTEVEX0ZVTExZOworCQllbHNlIGlmICh1bnNvcnRlZF9zdHJpbmdfbGlzdF9oYXNfc3RyaW5nKCZ0cmFpdHMsICJwZWVsZWQiKSkKKwkJCXNuYXBzaG90LT5wZWVsZWQgPSBQRUVMRURfVEFHUzsKKworCQlzb3J0ZWQgPSB1bnNvcnRlZF9zdHJpbmdfbGlzdF9oYXNfc3RyaW5nKCZ0cmFpdHMsICJzb3J0ZWQiKTsKKworCQkvKiBwZXJoYXBzIG90aGVyIHRyYWl0cyBsYXRlciBhcyB3ZWxsICovCisKKwkJLyogVGhlICIrIDEiIGlzIGZvciB0aGUgTEYgY2hhcmFjdGVyLiAqLworCQlzbmFwc2hvdC0+aGVhZGVyX2xlbiA9IGVvbCArIDEgLSBzbmFwc2hvdC0+YnVmOworCisJCXN0cmluZ19saXN0X2NsZWFyKCZ0cmFpdHMsIDApOworCQlzdHJidWZfcmVsZWFzZSgmdG1wKTsKKwl9CisKKwl2ZXJpZnlfYnVmZmVyX3NhZmUoc25hcHNob3QpOworCisJaWYgKCFzb3J0ZWQpIHsKKwkJc29ydF9zbmFwc2hvdChzbmFwc2hvdCk7CisKKwkJLyoKKwkJICogUmVvcmRlcmluZyB0aGUgcmVjb3JkcyBtaWdodCBoYXZlIG1vdmVkIGEgc2hvcnQgb25lCisJCSAqIHRvIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciwgc28gdmVyaWZ5IHRoZSBidWZmZXIncworCQkgKiBzYWZldHkgYWdhaW46CisJCSAqLworCQl2ZXJpZnlfYnVmZmVyX3NhZmUoc25hcHNob3QpOworCX0KKworCWlmIChtbWFwX3N0cmF0ZWd5ICE9IE1NQVBfT0sgJiYgc25hcHNob3QtPm1tYXBwZWQpIHsKKwkJLyoKKwkJICogV2UgZG9uJ3Qgd2FudCB0byBsZWF2ZSB0aGUgZmlsZSBtbWFwcGVkLCBzbyB3ZSBhcmUKKwkJICogZm9yY2VkIHRvIG1ha2UgYSBjb3B5IG5vdzoKKwkJICovCisJCXNpemVfdCBzaXplID0gc25hcHNob3QtPmVvZiAtCisJCQkoc25hcHNob3QtPmJ1ZiArIHNuYXBzaG90LT5oZWFkZXJfbGVuKTsKKwkJY2hhciAqYnVmX2NvcHkgPSB4bWFsbG9jKHNpemUpOworCisJCW1lbWNweShidWZfY29weSwgc25hcHNob3QtPmJ1ZiArIHNuYXBzaG90LT5oZWFkZXJfbGVuLCBzaXplKTsKKwkJY2xlYXJfc25hcHNob3RfYnVmZmVyKHNuYXBzaG90KTsKKwkJc25hcHNob3QtPmJ1ZiA9IGJ1Zl9jb3B5OworCQlzbmFwc2hvdC0+ZW9mID0gYnVmX2NvcHkgKyBzaXplOworCX0KKworCXJldHVybiBzbmFwc2hvdDsKK30KKworLyoKKyAqIENoZWNrIHRoYXQgYHJlZnMtPnNuYXBzaG90YCAoaWYgcHJlc2VudCkgc3RpbGwgcmVmbGVjdHMgdGhlCisgKiBjb250ZW50cyBvZiB0aGUgYHBhY2tlZC1yZWZzYCBmaWxlLiBJZiBub3QsIGNsZWFyIHRoZSBzbmFwc2hvdC4KKyAqLworc3RhdGljIHZvaWQgdmFsaWRhdGVfc25hcHNob3Qoc3RydWN0IHBhY2tlZF9yZWZfc3RvcmUgKnJlZnMpCit7CisJaWYgKHJlZnMtPnNuYXBzaG90ICYmCisJICAgICFzdGF0X3ZhbGlkaXR5X2NoZWNrKCZyZWZzLT5zbmFwc2hvdC0+dmFsaWRpdHksIHJlZnMtPnBhdGgpKQorCQljbGVhcl9zbmFwc2hvdChyZWZzKTsKK30KKworLyoKKyAqIEdldCB0aGUgYHNuYXBzaG90YCBmb3IgdGhlIHNwZWNpZmllZCBwYWNrZWRfcmVmX3N0b3JlLCBjcmVhdGluZyBhbmQKKyAqIHBvcHVsYXRpbmcgaXQgaWYgaXQgaGFzbid0IGJlZW4gcmVhZCBiZWZvcmUgb3IgaWYgdGhlIGZpbGUgaGFzIGJlZW4KKyAqIGNoYW5nZWQgKGFjY29yZGluZyB0byBpdHMgYHZhbGlkaXR5YCBmaWVsZCkgc2luY2UgaXQgd2FzIGxhc3QgcmVhZC4KKyAqIE9uIHRoZSBvdGhlciBoYW5kLCBpZiB3ZSBob2xkIHRoZSBsb2NrLCB0aGVuIGFzc3VtZSB0aGF0IHRoZSBmaWxlCisgKiBoYXNuJ3QgYmVlbiBjaGFuZ2VkIG91dCBmcm9tIHVuZGVyIHVzLCBzbyBza2lwIHRoZSBleHRyYSBgc3RhdCgpYAorICogY2FsbCBpbiBgc3RhdF92YWxpZGl0eV9jaGVjaygpYC4gVGhpcyBmdW5jdGlvbiBkb2VzICpub3QqIGluY3JlYXNlCisgKiB0aGUgc25hcHNob3QncyByZWZlcmVuY2UgY291bnQgb24gYmVoYWxmIG9mIHRoZSBjYWxsZXIuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25hcHNob3QgKmdldF9zbmFwc2hvdChzdHJ1Y3QgcGFja2VkX3JlZl9zdG9yZSAqcmVmcykKK3sKKwlpZiAoIWlzX2xvY2tfZmlsZV9sb2NrZWQoJnJlZnMtPmxvY2spKQorCQl2YWxpZGF0ZV9zbmFwc2hvdChyZWZzKTsKKworCWlmICghcmVmcy0+c25hcHNob3QpCisJCXJlZnMtPnNuYXBzaG90ID0gY3JlYXRlX3NuYXBzaG90KHJlZnMpOworCisJcmV0dXJuIHJlZnMtPnNuYXBzaG90OworfQorCitzdGF0aWMgaW50IHBhY2tlZF9yZWFkX3Jhd19yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqcmVmZXJlbnQsIHVuc2lnbmVkIGludCAqdHlwZSkKK3sKKwlzdHJ1Y3QgcGFja2VkX3JlZl9zdG9yZSAqcmVmcyA9CisJCXBhY2tlZF9kb3duY2FzdChyZWZfc3RvcmUsIFJFRl9TVE9SRV9SRUFELCAicmVhZF9yYXdfcmVmIik7CisJc3RydWN0IHNuYXBzaG90ICpzbmFwc2hvdCA9IGdldF9zbmFwc2hvdChyZWZzKTsKKwljb25zdCBjaGFyICpyZWM7CisKKwkqdHlwZSA9IDA7CisKKwlyZWMgPSBmaW5kX3JlZmVyZW5jZV9sb2NhdGlvbihzbmFwc2hvdCwgcmVmbmFtZSwgMSk7CisKKwlpZiAoIXJlYykgeworCQkvKiByZWZuYW1lIGlzIG5vdCBhIHBhY2tlZCByZWZlcmVuY2UuICovCisJCWVycm5vID0gRU5PRU5UOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGdldF9zaGExX2hleChyZWMsIHNoYTEpKQorCQlkaWVfaW52YWxpZF9saW5lKHJlZnMtPnBhdGgsIHJlYywgc25hcHNob3QtPmVvZiAtIHJlYyk7CisKKwkqdHlwZSA9IFJFRl9JU1BBQ0tFRDsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFRoaXMgdmFsdWUgaXMgc2V0IGluIGBiYXNlLmZsYWdzYCBpZiB0aGUgcGVlbGVkIHZhbHVlIG9mIHRoZQorICogY3VycmVudCByZWZlcmVuY2UgaXMga25vd24uIEluIHRoYXQgY2FzZSwgYHBlZWxlZGAgY29udGFpbnMgdGhlCisgKiBjb3JyZWN0IHBlZWxlZCB2YWx1ZSBmb3IgdGhlIHJlZmVyZW5jZSwgd2hpY2ggbWlnaHQgYmUgYG51bGxfc2hhMWAKKyAqIGlmIHRoZSByZWZlcmVuY2UgaXMgbm90IGEgdGFnIG9yIGlmIGl0IGlzIGJyb2tlbi4KKyAqLworI2RlZmluZSBSRUZfS05PV1NfUEVFTEVEIDB4NDAKKworLyoKKyAqIEFuIGl0ZXJhdG9yIG92ZXIgYSBzbmFwc2hvdCBvZiBhIGBwYWNrZWQtcmVmc2AgZmlsZS4KKyAqLworc3RydWN0IHBhY2tlZF9yZWZfaXRlcmF0b3IgeworCXN0cnVjdCByZWZfaXRlcmF0b3IgYmFzZTsKKworCXN0cnVjdCBzbmFwc2hvdCAqc25hcHNob3Q7CisKKwkvKiBUaGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgc25hcHNob3QncyBidWZmZXI6ICovCisJY29uc3QgY2hhciAqcG9zOworCisJLyogVGhlIGVuZCBvZiB0aGUgcGFydCBvZiB0aGUgYnVmZmVyIHRoYXQgd2lsbCBiZSBpdGVyYXRlZCBvdmVyOiAqLworCWNvbnN0IGNoYXIgKmVvZjsKKworCS8qIFNjcmF0Y2ggc3BhY2UgZm9yIGN1cnJlbnQgdmFsdWVzOiAqLworCXN0cnVjdCBvYmplY3RfaWQgb2lkLCBwZWVsZWQ7CisJc3RydWN0IHN0cmJ1ZiByZWZuYW1lX2J1ZjsKKworCXVuc2lnbmVkIGludCBmbGFnczsKK307CisKKy8qCisgKiBNb3ZlIHRoZSBpdGVyYXRvciB0byB0aGUgbmV4dCByZWNvcmQgaW4gdGhlIHNuYXBzaG90LCB3aXRob3V0CisgKiByZXNwZWN0IGZvciB3aGV0aGVyIHRoZSByZWNvcmQgaXMgYWN0dWFsbHkgcmVxdWlyZWQgYnkgdGhlIGN1cnJlbnQKKyAqIGl0ZXJhdGlvbi4gQWRqdXN0IHRoZSBmaWVsZHMgaW4gYGl0ZXJgIGFuZCByZXR1cm4gYElURVJfT0tgIG9yCisgKiBgSVRFUl9ET05FYC4gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBmcmVlIHRoZSBpdGVyYXRvciBpbiB0aGUgY2FzZQorICogb2YgYElURVJfRE9ORWAuCisgKi8KK3N0YXRpYyBpbnQgbmV4dF9yZWNvcmQoc3RydWN0IHBhY2tlZF9yZWZfaXRlcmF0b3IgKml0ZXIpCit7CisJY29uc3QgY2hhciAqcCA9IGl0ZXItPnBvcywgKmVvbDsKKworCXN0cmJ1Zl9yZXNldCgmaXRlci0+cmVmbmFtZV9idWYpOworCisJaWYgKGl0ZXItPnBvcyA9PSBpdGVyLT5lb2YpCisJCXJldHVybiBJVEVSX0RPTkU7CisKKwlpdGVyLT5iYXNlLmZsYWdzID0gUkVGX0lTUEFDS0VEOworCisJaWYgKGl0ZXItPmVvZiAtIHAgPCBHSVRfU0hBMV9IRVhTWiArIDIgfHwKKwkgICAgcGFyc2Vfb2lkX2hleChwLCAmaXRlci0+b2lkLCAmcCkgfHwKKwkgICAgIWlzc3BhY2UoKnArKykpCisJCWRpZV9pbnZhbGlkX2xpbmUoaXRlci0+c25hcHNob3QtPnJlZnMtPnBhdGgsCisJCQkJIGl0ZXItPnBvcywgaXRlci0+ZW9mIC0gaXRlci0+cG9zKTsKKworCWVvbCA9IG1lbWNocihwLCAnXG4nLCBpdGVyLT5lb2YgLSBwKTsKKwlpZiAoIWVvbCkKKwkJZGllX3VudGVybWluYXRlZF9saW5lKGl0ZXItPnNuYXBzaG90LT5yZWZzLT5wYXRoLAorCQkJCSAgICAgIGl0ZXItPnBvcywgaXRlci0+ZW9mIC0gaXRlci0+cG9zKTsKKworCXN0cmJ1Zl9hZGQoJml0ZXItPnJlZm5hbWVfYnVmLCBwLCBlb2wgLSBwKTsKKwlpdGVyLT5iYXNlLnJlZm5hbWUgPSBpdGVyLT5yZWZuYW1lX2J1Zi5idWY7CisKKwlpZiAoY2hlY2tfcmVmbmFtZV9mb3JtYXQoaXRlci0+YmFzZS5yZWZuYW1lLCBSRUZOQU1FX0FMTE9XX09ORUxFVkVMKSkgeworCQlpZiAoIXJlZm5hbWVfaXNfc2FmZShpdGVyLT5iYXNlLnJlZm5hbWUpKQorCQkJZGllKCJwYWNrZWQgcmVmbmFtZSBpcyBkYW5nZXJvdXM6ICVzIiwKKwkJCSAgICBpdGVyLT5iYXNlLnJlZm5hbWUpOworCQlvaWRjbHIoJml0ZXItPm9pZCk7CisJCWl0ZXItPmJhc2UuZmxhZ3MgfD0gUkVGX0JBRF9OQU1FIHwgUkVGX0lTQlJPS0VOOworCX0KKwlpZiAoaXRlci0+c25hcHNob3QtPnBlZWxlZCA9PSBQRUVMRURfRlVMTFkgfHwKKwkgICAgKGl0ZXItPnNuYXBzaG90LT5wZWVsZWQgPT0gUEVFTEVEX1RBR1MgJiYKKwkgICAgIHN0YXJ0c193aXRoKGl0ZXItPmJhc2UucmVmbmFtZSwgInJlZnMvdGFncy8iKSkpCisJCWl0ZXItPmJhc2UuZmxhZ3MgfD0gUkVGX0tOT1dTX1BFRUxFRDsKKworCWl0ZXItPnBvcyA9IGVvbCArIDE7CisKKwlpZiAoaXRlci0+cG9zIDwgaXRlci0+ZW9mICYmICppdGVyLT5wb3MgPT0gJ14nKSB7CisJCXAgPSBpdGVyLT5wb3MgKyAxOworCQlpZiAoaXRlci0+ZW9mIC0gcCA8IEdJVF9TSEExX0hFWFNaICsgMSB8fAorCQkgICAgcGFyc2Vfb2lkX2hleChwLCAmaXRlci0+cGVlbGVkLCAmcCkgfHwKKwkJICAgICpwKysgIT0gJ1xuJykKKwkJCWRpZV9pbnZhbGlkX2xpbmUoaXRlci0+c25hcHNob3QtPnJlZnMtPnBhdGgsCisJCQkJCSBpdGVyLT5wb3MsIGl0ZXItPmVvZiAtIGl0ZXItPnBvcyk7CisJCWl0ZXItPnBvcyA9IHA7CisKKwkJLyoKKwkJICogUmVnYXJkbGVzcyBvZiB3aGF0IHRoZSBmaWxlIGhlYWRlciBzYWlkLCB3ZQorCQkgKiBkZWZpbml0ZWx5IGtub3cgdGhlIHZhbHVlIG9mICp0aGlzKiByZWZlcmVuY2UuIEJ1dAorCQkgKiB3ZSBzdXBwcmVzcyBpdCBpZiB0aGUgcmVmZXJlbmNlIGlzIGJyb2tlbjoKKwkJICovCisJCWlmICgoaXRlci0+YmFzZS5mbGFncyAmIFJFRl9JU0JST0tFTikpIHsKKwkJCW9pZGNscigmaXRlci0+cGVlbGVkKTsKKwkJCWl0ZXItPmJhc2UuZmxhZ3MgJj0gflJFRl9LTk9XU19QRUVMRUQ7CisJCX0gZWxzZSB7CisJCQlpdGVyLT5iYXNlLmZsYWdzIHw9IFJFRl9LTk9XU19QRUVMRUQ7CisJCX0KKwl9IGVsc2UgeworCQlvaWRjbHIoJml0ZXItPnBlZWxlZCk7CisJfQorCisJcmV0dXJuIElURVJfT0s7Cit9CisKK3N0YXRpYyBpbnQgcGFja2VkX3JlZl9pdGVyYXRvcl9hZHZhbmNlKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKK3sKKwlzdHJ1Y3QgcGFja2VkX3JlZl9pdGVyYXRvciAqaXRlciA9CisJCShzdHJ1Y3QgcGFja2VkX3JlZl9pdGVyYXRvciAqKXJlZl9pdGVyYXRvcjsKKwlpbnQgb2s7CisKKwl3aGlsZSAoKG9rID0gbmV4dF9yZWNvcmQoaXRlcikpID09IElURVJfT0spIHsKKwkJaWYgKGl0ZXItPmZsYWdzICYgRE9fRk9SX0VBQ0hfUEVSX1dPUktUUkVFX09OTFkgJiYKKwkJICAgIHJlZl90eXBlKGl0ZXItPmJhc2UucmVmbmFtZSkgIT0gUkVGX1RZUEVfUEVSX1dPUktUUkVFKQorCQkJY29udGludWU7CisKKwkJaWYgKCEoaXRlci0+ZmxhZ3MgJiBET19GT1JfRUFDSF9JTkNMVURFX0JST0tFTikgJiYKKwkJICAgICFyZWZfcmVzb2x2ZXNfdG9fb2JqZWN0KGl0ZXItPmJhc2UucmVmbmFtZSwgJml0ZXItPm9pZCwKKwkJCQkJICAgIGl0ZXItPmZsYWdzKSkKKwkJCWNvbnRpbnVlOworCisJCXJldHVybiBJVEVSX09LOworCX0KKworCWlmIChyZWZfaXRlcmF0b3JfYWJvcnQocmVmX2l0ZXJhdG9yKSAhPSBJVEVSX0RPTkUpCisJCW9rID0gSVRFUl9FUlJPUjsKKworCXJldHVybiBvazsKK30KKworc3RhdGljIGludCBwYWNrZWRfcmVmX2l0ZXJhdG9yX3BlZWwoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yLAorCQkJCSAgIHN0cnVjdCBvYmplY3RfaWQgKnBlZWxlZCkKK3sKKwlzdHJ1Y3QgcGFja2VkX3JlZl9pdGVyYXRvciAqaXRlciA9CisJCShzdHJ1Y3QgcGFja2VkX3JlZl9pdGVyYXRvciAqKXJlZl9pdGVyYXRvcjsKKworCWlmICgoaXRlci0+YmFzZS5mbGFncyAmIFJFRl9LTk9XU19QRUVMRUQpKSB7CisJCW9pZGNweShwZWVsZWQsICZpdGVyLT5wZWVsZWQpOworCQlyZXR1cm4gaXNfbnVsbF9vaWQoJml0ZXItPnBlZWxlZCkgPyAtMSA6IDA7CisJfSBlbHNlIGlmICgoaXRlci0+YmFzZS5mbGFncyAmIChSRUZfSVNCUk9LRU4gfCBSRUZfSVNTWU1SRUYpKSkgeworCQlyZXR1cm4gLTE7CisJfSBlbHNlIHsKKwkJcmV0dXJuICEhcGVlbF9vYmplY3QoaXRlci0+b2lkLmhhc2gsIHBlZWxlZC0+aGFzaCk7CisJfQorfQorCitzdGF0aWMgaW50IHBhY2tlZF9yZWZfaXRlcmF0b3JfYWJvcnQoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yKQoreworCXN0cnVjdCBwYWNrZWRfcmVmX2l0ZXJhdG9yICppdGVyID0KKwkJKHN0cnVjdCBwYWNrZWRfcmVmX2l0ZXJhdG9yICopcmVmX2l0ZXJhdG9yOworCWludCBvayA9IElURVJfRE9ORTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZpdGVyLT5yZWZuYW1lX2J1Zik7CisJcmVsZWFzZV9zbmFwc2hvdChpdGVyLT5zbmFwc2hvdCk7CisJYmFzZV9yZWZfaXRlcmF0b3JfZnJlZShyZWZfaXRlcmF0b3IpOworCXJldHVybiBvazsKK30KKworc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlIHBhY2tlZF9yZWZfaXRlcmF0b3JfdnRhYmxlID0geworCXBhY2tlZF9yZWZfaXRlcmF0b3JfYWR2YW5jZSwKKwlwYWNrZWRfcmVmX2l0ZXJhdG9yX3BlZWwsCisJcGFja2VkX3JlZl9pdGVyYXRvcl9hYm9ydAorfTsKKworc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3IgKnBhY2tlZF9yZWZfaXRlcmF0b3JfYmVnaW4oCisJCXN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJY29uc3QgY2hhciAqcHJlZml4LCB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJc3RydWN0IHBhY2tlZF9yZWZfc3RvcmUgKnJlZnM7CisJc3RydWN0IHNuYXBzaG90ICpzbmFwc2hvdDsKKwljb25zdCBjaGFyICpzdGFydDsKKwlzdHJ1Y3QgcGFja2VkX3JlZl9pdGVyYXRvciAqaXRlcjsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3I7CisJdW5zaWduZWQgaW50IHJlcXVpcmVkX2ZsYWdzID0gUkVGX1NUT1JFX1JFQUQ7CisKKwlpZiAoIShmbGFncyAmIERPX0ZPUl9FQUNIX0lOQ0xVREVfQlJPS0VOKSkKKwkJcmVxdWlyZWRfZmxhZ3MgfD0gUkVGX1NUT1JFX09EQjsKKwlyZWZzID0gcGFja2VkX2Rvd25jYXN0KHJlZl9zdG9yZSwgcmVxdWlyZWRfZmxhZ3MsICJyZWZfaXRlcmF0b3JfYmVnaW4iKTsKKworCS8qCisJICogTm90ZSB0aGF0IGBnZXRfc25hcHNob3QoKWAgaW50ZXJuYWxseSBjaGVja3Mgd2hldGhlciB0aGUKKwkgKiBzbmFwc2hvdCBpcyB1cCB0byBkYXRlIHdpdGggd2hhdCBpcyBvbiBkaXNrLCBhbmQgcmUtcmVhZHMKKwkgKiBpdCBpZiBub3QuCisJICovCisJc25hcHNob3QgPSBnZXRfc25hcHNob3QocmVmcyk7CisKKwlpZiAoIXNuYXBzaG90LT5idWYpCisJCXJldHVybiBlbXB0eV9yZWZfaXRlcmF0b3JfYmVnaW4oKTsKKworCWl0ZXIgPSB4Y2FsbG9jKDEsIHNpemVvZigqaXRlcikpOworCXJlZl9pdGVyYXRvciA9ICZpdGVyLT5iYXNlOworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmcGFja2VkX3JlZl9pdGVyYXRvcl92dGFibGUsIDEpOworCisJaXRlci0+c25hcHNob3QgPSBzbmFwc2hvdDsKKwlhY3F1aXJlX3NuYXBzaG90KHNuYXBzaG90KTsKKworCWlmIChwcmVmaXggJiYgKnByZWZpeCkKKwkJc3RhcnQgPSBmaW5kX3JlZmVyZW5jZV9sb2NhdGlvbihzbmFwc2hvdCwgcHJlZml4LCAwKTsKKwllbHNlCisJCXN0YXJ0ID0gc25hcHNob3QtPmJ1ZiArIHNuYXBzaG90LT5oZWFkZXJfbGVuOworCisJaXRlci0+cG9zID0gc3RhcnQ7CisJaXRlci0+ZW9mID0gc25hcHNob3QtPmVvZjsKKwlzdHJidWZfaW5pdCgmaXRlci0+cmVmbmFtZV9idWYsIDApOworCisJaXRlci0+YmFzZS5vaWQgPSAmaXRlci0+b2lkOworCisJaXRlci0+ZmxhZ3MgPSBmbGFnczsKKworCWlmIChwcmVmaXggJiYgKnByZWZpeCkKKwkJLyogU3RvcCBpdGVyYXRpb24gYWZ0ZXIgd2UndmUgZ29uZSAqcGFzdCogcHJlZml4OiAqLworCQlyZWZfaXRlcmF0b3IgPSBwcmVmaXhfcmVmX2l0ZXJhdG9yX2JlZ2luKHJlZl9pdGVyYXRvciwgcHJlZml4LCAwKTsKKworCXJldHVybiByZWZfaXRlcmF0b3I7Cit9CisKKy8qCisgKiBXcml0ZSBhbiBlbnRyeSB0byB0aGUgcGFja2VkLXJlZnMgZmlsZSBmb3IgdGhlIHNwZWNpZmllZCByZWZuYW1lLgorICogSWYgcGVlbGVkIGlzIG5vbi1OVUxMLCB3cml0ZSBpdCBhcyB0aGUgZW50cnkncyBwZWVsZWQgdmFsdWUuIE9uCisgKiBlcnJvciwgcmV0dXJuIGEgbm9uemVybyB2YWx1ZSBhbmQgbGVhdmUgZXJybm8gc2V0IGF0IHRoZSB2YWx1ZSBsZWZ0CisgKiBieSB0aGUgZmFpbGluZyBjYWxsIHRvIGBmcHJpbnRmKClgLgorICovCitzdGF0aWMgaW50IHdyaXRlX3BhY2tlZF9lbnRyeShGSUxFICpmaCwgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwZWVsZWQpCit7CisJaWYgKGZwcmludGYoZmgsICIlcyAlc1xuIiwgc2hhMV90b19oZXgoc2hhMSksIHJlZm5hbWUpIDwgMCB8fAorCSAgICAocGVlbGVkICYmIGZwcmludGYoZmgsICJeJXNcbiIsIHNoYTFfdG9faGV4KHBlZWxlZCkpIDwgMCkpCisJCXJldHVybiAtMTsKKworCXJldHVybiAwOworfQorCitpbnQgcGFja2VkX3JlZnNfbG9jayhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsIGludCBmbGFncywgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCXN0cnVjdCBwYWNrZWRfcmVmX3N0b3JlICpyZWZzID0KKwkJcGFja2VkX2Rvd25jYXN0KHJlZl9zdG9yZSwgUkVGX1NUT1JFX1dSSVRFIHwgUkVGX1NUT1JFX01BSU4sCisJCQkJInBhY2tlZF9yZWZzX2xvY2siKTsKKwlzdGF0aWMgaW50IHRpbWVvdXRfY29uZmlndXJlZCA9IDA7CisJc3RhdGljIGludCB0aW1lb3V0X3ZhbHVlID0gMTAwMDsKKworCWlmICghdGltZW91dF9jb25maWd1cmVkKSB7CisJCWdpdF9jb25maWdfZ2V0X2ludCgiY29yZS5wYWNrZWRyZWZzdGltZW91dCIsICZ0aW1lb3V0X3ZhbHVlKTsKKwkJdGltZW91dF9jb25maWd1cmVkID0gMTsKKwl9CisKKwkvKgorCSAqIE5vdGUgdGhhdCB3ZSBjbG9zZSB0aGUgbG9ja2ZpbGUgaW1tZWRpYXRlbHkgYmVjYXVzZSB3ZQorCSAqIGRvbid0IHdyaXRlIG5ldyBjb250ZW50IHRvIGl0LCBidXQgcmF0aGVyIHRvIGEgc2VwYXJhdGUKKwkgKiB0ZW1wZmlsZS4KKwkgKi8KKwlpZiAoaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZV90aW1lb3V0KAorCQkJICAgICZyZWZzLT5sb2NrLAorCQkJICAgIHJlZnMtPnBhdGgsCisJCQkgICAgZmxhZ3MsIHRpbWVvdXRfdmFsdWUpIDwgMCkgeworCQl1bmFibGVfdG9fbG9ja19tZXNzYWdlKHJlZnMtPnBhdGgsIGVycm5vLCBlcnIpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGNsb3NlX2xvY2tfZmlsZV9nZW50bHkoJnJlZnMtPmxvY2spKSB7CisJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBjbG9zZSAlczogJXMiLCByZWZzLT5wYXRoLCBzdHJlcnJvcihlcnJubykpOworCQlyb2xsYmFja19sb2NrX2ZpbGUoJnJlZnMtPmxvY2spOworCQlyZXR1cm4gLTE7CisJfQorCisJLyoKKwkgKiBOb3cgdGhhdCB3ZSBob2xkIHRoZSBgcGFja2VkLXJlZnNgIGxvY2ssIG1ha2Ugc3VyZSB0aGF0IG91cgorCSAqIHNuYXBzaG90IG1hdGNoZXMgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgZmlsZS4gTm9ybWFsbHkKKwkgKiBgZ2V0X3NuYXBzaG90KClgIGRvZXMgdGhhdCBmb3IgdXMsIGJ1dCB0aGF0IGZ1bmN0aW9uCisJICogYXNzdW1lcyB0aGF0IHdoZW4gdGhlIGZpbGUgaXMgbG9ja2VkLCBhbnkgZXhpc3Rpbmcgc25hcHNob3QKKwkgKiBpcyBzdGlsbCB2YWxpZC4gV2UndmUganVzdCBsb2NrZWQgdGhlIGZpbGUsIGJ1dCBpdCBtaWdodAorCSAqIGhhdmUgY2hhbmdlZCB0aGUgbW9tZW50ICpiZWZvcmUqIHdlIGxvY2tlZCBpdC4KKwkgKi8KKwl2YWxpZGF0ZV9zbmFwc2hvdChyZWZzKTsKKworCS8qCisJICogTm93IG1ha2Ugc3VyZSB0aGF0IHRoZSBwYWNrZWQtcmVmcyBmaWxlIGFzIGl0IGV4aXN0cyBpbiB0aGUKKwkgKiBsb2NrZWQgc3RhdGUgaXMgbG9hZGVkIGludG8gdGhlIHNuYXBzaG90OgorCSAqLworCWdldF9zbmFwc2hvdChyZWZzKTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBwYWNrZWRfcmVmc191bmxvY2soc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlKQoreworCXN0cnVjdCBwYWNrZWRfcmVmX3N0b3JlICpyZWZzID0gcGFja2VkX2Rvd25jYXN0KAorCQkJcmVmX3N0b3JlLAorCQkJUkVGX1NUT1JFX1JFQUQgfCBSRUZfU1RPUkVfV1JJVEUsCisJCQkicGFja2VkX3JlZnNfdW5sb2NrIik7CisKKwlpZiAoIWlzX2xvY2tfZmlsZV9sb2NrZWQoJnJlZnMtPmxvY2spKQorCQlkaWUoIkJVRzogcGFja2VkX3JlZnNfdW5sb2NrKCkgY2FsbGVkIHdoZW4gbm90IGxvY2tlZCIpOworCXJvbGxiYWNrX2xvY2tfZmlsZSgmcmVmcy0+bG9jayk7Cit9CisKK2ludCBwYWNrZWRfcmVmc19pc19sb2NrZWQoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlKQoreworCXN0cnVjdCBwYWNrZWRfcmVmX3N0b3JlICpyZWZzID0gcGFja2VkX2Rvd25jYXN0KAorCQkJcmVmX3N0b3JlLAorCQkJUkVGX1NUT1JFX1JFQUQgfCBSRUZfU1RPUkVfV1JJVEUsCisJCQkicGFja2VkX3JlZnNfaXNfbG9ja2VkIik7CisKKwlyZXR1cm4gaXNfbG9ja19maWxlX2xvY2tlZCgmcmVmcy0+bG9jayk7Cit9CisKKy8qCisgKiBUaGUgcGFja2VkLXJlZnMgaGVhZGVyIGxpbmUgdGhhdCB3ZSB3cml0ZSBvdXQuIFBlcmhhcHMgb3RoZXIgdHJhaXRzCisgKiB3aWxsIGJlIGFkZGVkIGxhdGVyLgorICoKKyAqIE5vdGUgdGhhdCBlYXJsaWVyIHZlcnNpb25zIG9mIEdpdCB1c2VkIHRvIHBhcnNlIHRoZXNlIHRyYWl0cyBieQorICogbG9va2luZyBmb3IgIiB0cmFpdCAiIGluIHRoZSBsaW5lLiBGb3IgdGhpcyByZWFzb24sIHRoZSBzcGFjZSBhZnRlcgorICogdGhlIGNvbG9uIGFuZCB0aGUgdHJhaWxpbmcgc3BhY2UgYXJlIHJlcXVpcmVkLgorICovCitzdGF0aWMgY29uc3QgY2hhciBQQUNLRURfUkVGU19IRUFERVJbXSA9CisJIiMgcGFjay1yZWZzIHdpdGg6IHBlZWxlZCBmdWxseS1wZWVsZWQgc29ydGVkIFxuIjsKKworc3RhdGljIGludCBwYWNrZWRfaW5pdF9kYihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwkvKiBOb3RoaW5nIHRvIGRvLiAqLworCXJldHVybiAwOworfQorCisvKgorICogV3JpdGUgdGhlIHBhY2tlZCByZWZzIGZyb20gdGhlIGN1cnJlbnQgc25hcHNob3QgdG8gdGhlIHBhY2tlZC1yZWZzCisgKiB0ZW1wZmlsZSwgaW5jb3Jwb3JhdGluZyBhbnkgY2hhbmdlcyBmcm9tIGB1cGRhdGVzYC4gYHVwZGF0ZXNgIG11c3QKKyAqIGJlIGEgc29ydGVkIHN0cmluZyBsaXN0IHdob3NlIGtleXMgYXJlIHRoZSByZWZuYW1lcyBhbmQgd2hvc2UgdXRpbAorICogdmFsdWVzIGFyZSBgc3RydWN0IHJlZl91cGRhdGUgKmAuIE9uIGVycm9yLCByb2xsYmFjayB0aGUgdGVtcGZpbGUsCisgKiB3cml0ZSBhbiBlcnJvciBtZXNzYWdlIHRvIGBlcnJgLCBhbmQgcmV0dXJuIGEgbm9uemVybyB2YWx1ZS4KKyAqCisgKiBUaGUgcGFja2ZpbGUgbXVzdCBiZSBsb2NrZWQgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBhbmQgd2lsbAorICogcmVtYWluIGxvY2tlZCB3aGVuIGl0IGlzIGRvbmUuCisgKi8KK3N0YXRpYyBpbnQgd3JpdGVfd2l0aF91cGRhdGVzKHN0cnVjdCBwYWNrZWRfcmVmX3N0b3JlICpyZWZzLAorCQkJICAgICAgc3RydWN0IHN0cmluZ19saXN0ICp1cGRhdGVzLAorCQkJICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCXN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXIgPSBOVUxMOworCXNpemVfdCBpOworCWludCBvazsKKwlGSUxFICpvdXQ7CisJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCWNoYXIgKnBhY2tlZF9yZWZzX3BhdGg7CisKKwlpZiAoIWlzX2xvY2tfZmlsZV9sb2NrZWQoJnJlZnMtPmxvY2spKQorCQlkaWUoIkJVRzogd3JpdGVfd2l0aF91cGRhdGVzKCkgY2FsbGVkIHdoaWxlIHVubG9ja2VkIik7CisKKwkvKgorCSAqIElmIHBhY2tlZC1yZWZzIGlzIGEgc3ltbGluaywgd2Ugd2FudCB0byBvdmVyd3JpdGUgdGhlCisJICogc3ltbGlua2VkLXRvIGZpbGUsIG5vdCB0aGUgc3ltbGluayBpdHNlbGYuIEFsc28sIHB1dCB0aGUKKwkgKiBzdGFnaW5nIGZpbGUgbmV4dCB0byBpdDoKKwkgKi8KKwlwYWNrZWRfcmVmc19wYXRoID0gZ2V0X2xvY2tlZF9maWxlX3BhdGgoJnJlZnMtPmxvY2spOworCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzLm5ldyIsIHBhY2tlZF9yZWZzX3BhdGgpOworCWZyZWUocGFja2VkX3JlZnNfcGF0aCk7CisJcmVmcy0+dGVtcGZpbGUgPSBjcmVhdGVfdGVtcGZpbGUoc2IuYnVmKTsKKwlpZiAoIXJlZnMtPnRlbXBmaWxlKSB7CisJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBjcmVhdGUgZmlsZSAlczogJXMiLAorCQkJICAgIHNiLmJ1Ziwgc3RyZXJyb3IoZXJybm8pKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKKwkJcmV0dXJuIC0xOworCX0KKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCisJb3V0ID0gZmRvcGVuX3RlbXBmaWxlKHJlZnMtPnRlbXBmaWxlLCAidyIpOworCWlmICghb3V0KSB7CisJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBmZG9wZW4gcGFja2VkLXJlZnMgdGVtcGZpbGU6ICVzIiwKKwkJCSAgICBzdHJlcnJvcihlcnJubykpOworCQlnb3RvIGVycm9yOworCX0KKworCWlmIChmcHJpbnRmKG91dCwgIiVzIiwgUEFDS0VEX1JFRlNfSEVBREVSKSA8IDApCisJCWdvdG8gd3JpdGVfZXJyb3I7CisKKwkvKgorCSAqIFdlIGl0ZXJhdGUgaW4gcGFyYWxsZWwgdGhyb3VnaCB0aGUgY3VycmVudCBsaXN0IG9mIHJlZnMgYW5kCisJICogdGhlIGxpc3Qgb2YgdXBkYXRlcywgcHJvY2Vzc2luZyBhbiBlbnRyeSBmcm9tIGF0IGxlYXN0IG9uZQorCSAqIG9mIHRoZSBsaXN0cyBlYWNoIHRpbWUgdGhyb3VnaCB0aGUgbG9vcC4gV2hlbiB0aGUgY3VycmVudAorCSAqIGxpc3Qgb2YgcmVmcyBpcyBleGhhdXN0ZWQsIHNldCBpdGVyIHRvIE5VTEwuIFdoZW4gdGhlIGxpc3QKKwkgKiBvZiB1cGRhdGVzIGlzIGV4aGF1c3RlZCwgbGVhdmUgaSBzZXQgdG8gdXBkYXRlcy0+bnIuCisJICovCisJaXRlciA9IHBhY2tlZF9yZWZfaXRlcmF0b3JfYmVnaW4oJnJlZnMtPmJhc2UsICIiLAorCQkJCQkgRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU4pOworCWlmICgob2sgPSByZWZfaXRlcmF0b3JfYWR2YW5jZShpdGVyKSkgIT0gSVRFUl9PSykKKwkJaXRlciA9IE5VTEw7CisKKwlpID0gMDsKKworCXdoaWxlIChpdGVyIHx8IGkgPCB1cGRhdGVzLT5ucikgeworCQlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlID0gTlVMTDsKKwkJaW50IGNtcDsKKworCQlpZiAoaSA+PSB1cGRhdGVzLT5ucikgeworCQkJY21wID0gLTE7CisJCX0gZWxzZSB7CisJCQl1cGRhdGUgPSB1cGRhdGVzLT5pdGVtc1tpXS51dGlsOworCisJCQlpZiAoIWl0ZXIpCisJCQkJY21wID0gKzE7CisJCQllbHNlCisJCQkJY21wID0gc3RyY21wKGl0ZXItPnJlZm5hbWUsIHVwZGF0ZS0+cmVmbmFtZSk7CisJCX0KKworCQlpZiAoIWNtcCkgeworCQkJLyoKKwkJCSAqIFRoZXJlIGlzIGJvdGggYW4gb2xkIHZhbHVlIGFuZCBhbiB1cGRhdGUKKwkJCSAqIGZvciB0aGlzIHJlZmVyZW5jZS4gQ2hlY2sgdGhlIG9sZCB2YWx1ZSBpZgorCQkJICogbmVjZXNzYXJ5OgorCQkJICovCisJCQlpZiAoKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSEFWRV9PTEQpKSB7CisJCQkJaWYgKGlzX251bGxfb2lkKCZ1cGRhdGUtPm9sZF9vaWQpKSB7CisJCQkJCXN0cmJ1Zl9hZGRmKGVyciwgImNhbm5vdCB1cGRhdGUgcmVmICclcyc6ICIKKwkJCQkJCSAgICAicmVmZXJlbmNlIGFscmVhZHkgZXhpc3RzIiwKKwkJCQkJCSAgICB1cGRhdGUtPnJlZm5hbWUpOworCQkJCQlnb3RvIGVycm9yOworCQkJCX0gZWxzZSBpZiAob2lkY21wKCZ1cGRhdGUtPm9sZF9vaWQsIGl0ZXItPm9pZCkpIHsKKwkJCQkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IHVwZGF0ZSByZWYgJyVzJzogIgorCQkJCQkJICAgICJpcyBhdCAlcyBidXQgZXhwZWN0ZWQgJXMiLAorCQkJCQkJICAgIHVwZGF0ZS0+cmVmbmFtZSwKKwkJCQkJCSAgICBvaWRfdG9faGV4KGl0ZXItPm9pZCksCisJCQkJCQkgICAgb2lkX3RvX2hleCgmdXBkYXRlLT5vbGRfb2lkKSk7CisJCQkJCWdvdG8gZXJyb3I7CisJCQkJfQorCQkJfQorCisJCQkvKiBOb3cgZmlndXJlIG91dCB3aGF0IHRvIHVzZSBmb3IgdGhlIG5ldyB2YWx1ZTogKi8KKwkJCWlmICgodXBkYXRlLT5mbGFncyAmIFJFRl9IQVZFX05FVykpIHsKKwkJCQkvKgorCQkJCSAqIFRoZSB1cGRhdGUgdGFrZXMgcHJlY2VkZW5jZS4gU2tpcAorCQkJCSAqIHRoZSBpdGVyYXRvciBvdmVyIHRoZSB1bm5lZWRlZAorCQkJCSAqIHZhbHVlLgorCQkJCSAqLworCQkJCWlmICgob2sgPSByZWZfaXRlcmF0b3JfYWR2YW5jZShpdGVyKSkgIT0gSVRFUl9PSykKKwkJCQkJaXRlciA9IE5VTEw7CisJCQkJY21wID0gKzE7CisJCQl9IGVsc2UgeworCQkJCS8qCisJCQkJICogVGhlIHVwZGF0ZSBkb2Vzbid0IGFjdHVhbGx5IHdhbnQgdG8KKwkJCQkgKiBjaGFuZ2UgYW55dGhpbmcuIFdlJ3JlIGRvbmUgd2l0aCBpdC4KKwkJCQkgKi8KKwkJCQlpKys7CisJCQkJY21wID0gLTE7CisJCQl9CisJCX0gZWxzZSBpZiAoY21wID4gMCkgeworCQkJLyoKKwkJCSAqIFRoZXJlIGlzIG5vIG9sZCB2YWx1ZSBidXQgdGhlcmUgaXMgYW4KKwkJCSAqIHVwZGF0ZSBmb3IgdGhpcyByZWZlcmVuY2UuIE1ha2Ugc3VyZSB0aGF0CisJCQkgKiB0aGUgdXBkYXRlIGRpZG4ndCBleHBlY3QgYW4gZXhpc3RpbmcgdmFsdWU6CisJCQkgKi8KKwkJCWlmICgodXBkYXRlLT5mbGFncyAmIFJFRl9IQVZFX09MRCkgJiYKKwkJCSAgICAhaXNfbnVsbF9vaWQoJnVwZGF0ZS0+b2xkX29pZCkpIHsKKwkJCQlzdHJidWZfYWRkZihlcnIsICJjYW5ub3QgdXBkYXRlIHJlZiAnJXMnOiAiCisJCQkJCSAgICAicmVmZXJlbmNlIGlzIG1pc3NpbmcgYnV0IGV4cGVjdGVkICVzIiwKKwkJCQkJICAgIHVwZGF0ZS0+cmVmbmFtZSwKKwkJCQkJICAgIG9pZF90b19oZXgoJnVwZGF0ZS0+b2xkX29pZCkpOworCQkJCWdvdG8gZXJyb3I7CisJCQl9CisJCX0KKworCQlpZiAoY21wIDwgMCkgeworCQkJLyogUGFzcyB0aGUgb2xkIHJlZmVyZW5jZSB0aHJvdWdoLiAqLworCisJCQlzdHJ1Y3Qgb2JqZWN0X2lkIHBlZWxlZDsKKwkJCWludCBwZWVsX2Vycm9yID0gcmVmX2l0ZXJhdG9yX3BlZWwoaXRlciwgJnBlZWxlZCk7CisKKwkJCWlmICh3cml0ZV9wYWNrZWRfZW50cnkob3V0LCBpdGVyLT5yZWZuYW1lLAorCQkJCQkgICAgICAgaXRlci0+b2lkLT5oYXNoLAorCQkJCQkgICAgICAgcGVlbF9lcnJvciA/IE5VTEwgOiBwZWVsZWQuaGFzaCkpCisJCQkJZ290byB3cml0ZV9lcnJvcjsKKworCQkJaWYgKChvayA9IHJlZl9pdGVyYXRvcl9hZHZhbmNlKGl0ZXIpKSAhPSBJVEVSX09LKQorCQkJCWl0ZXIgPSBOVUxMOworCQl9IGVsc2UgaWYgKGlzX251bGxfb2lkKCZ1cGRhdGUtPm5ld19vaWQpKSB7CisJCQkvKgorCQkJICogVGhlIHVwZGF0ZSB3YW50cyB0byBkZWxldGUgdGhlIHJlZmVyZW5jZSwKKwkJCSAqIGFuZCB0aGUgcmVmZXJlbmNlIGVpdGhlciBkaWRuJ3QgZXhpc3Qgb3Igd2UKKwkJCSAqIGhhdmUgYWxyZWFkeSBza2lwcGVkIGl0LiBTbyB3ZSdyZSBkb25lIHdpdGgKKwkJCSAqIHRoZSB1cGRhdGUgKGFuZCBkb24ndCBoYXZlIHRvIHdyaXRlCisJCQkgKiBhbnl0aGluZykuCisJCQkgKi8KKwkJCWkrKzsKKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBvYmplY3RfaWQgcGVlbGVkOworCQkJaW50IHBlZWxfZXJyb3IgPSBwZWVsX29iamVjdCh1cGRhdGUtPm5ld19vaWQuaGFzaCwKKwkJCQkJCSAgICAgcGVlbGVkLmhhc2gpOworCisJCQlpZiAod3JpdGVfcGFja2VkX2VudHJ5KG91dCwgdXBkYXRlLT5yZWZuYW1lLAorCQkJCQkgICAgICAgdXBkYXRlLT5uZXdfb2lkLmhhc2gsCisJCQkJCSAgICAgICBwZWVsX2Vycm9yID8gTlVMTCA6IHBlZWxlZC5oYXNoKSkKKwkJCQlnb3RvIHdyaXRlX2Vycm9yOworCisJCQlpKys7CisJCX0KKwl9CisKKwlpZiAob2sgIT0gSVRFUl9ET05FKSB7CisJCXN0cmJ1Zl9hZGRzdHIoZXJyLCAidW5hYmxlIHRvIHdyaXRlIHBhY2tlZC1yZWZzIGZpbGU6ICIKKwkJCSAgICAgICJlcnJvciBpdGVyYXRpbmcgb3ZlciBvbGQgY29udGVudHMiKTsKKwkJZ290byBlcnJvcjsKKwl9CisKKwlpZiAoY2xvc2VfdGVtcGZpbGVfZ2VudGx5KHJlZnMtPnRlbXBmaWxlKSkgeworCQlzdHJidWZfYWRkZihlcnIsICJlcnJvciBjbG9zaW5nIGZpbGUgJXM6ICVzIiwKKwkJCSAgICBnZXRfdGVtcGZpbGVfcGF0aChyZWZzLT50ZW1wZmlsZSksCisJCQkgICAgc3RyZXJyb3IoZXJybm8pKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKKwkJZGVsZXRlX3RlbXBmaWxlKCZyZWZzLT50ZW1wZmlsZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlyZXR1cm4gMDsKKword3JpdGVfZXJyb3I6CisJc3RyYnVmX2FkZGYoZXJyLCAiZXJyb3Igd3JpdGluZyB0byAlczogJXMiLAorCQkgICAgZ2V0X3RlbXBmaWxlX3BhdGgocmVmcy0+dGVtcGZpbGUpLCBzdHJlcnJvcihlcnJubykpOworCitlcnJvcjoKKwlpZiAoaXRlcikKKwkJcmVmX2l0ZXJhdG9yX2Fib3J0KGl0ZXIpOworCisJZGVsZXRlX3RlbXBmaWxlKCZyZWZzLT50ZW1wZmlsZSk7CisJcmV0dXJuIC0xOworfQorCitzdHJ1Y3QgcGFja2VkX3RyYW5zYWN0aW9uX2JhY2tlbmRfZGF0YSB7CisJLyogVHJ1ZSBpZmYgdGhlIHRyYW5zYWN0aW9uIG93bnMgdGhlIHBhY2tlZC1yZWZzIGxvY2suICovCisJaW50IG93bl9sb2NrOworCisJc3RydWN0IHN0cmluZ19saXN0IHVwZGF0ZXM7Cit9OworCitzdGF0aWMgdm9pZCBwYWNrZWRfdHJhbnNhY3Rpb25fY2xlYW51cChzdHJ1Y3QgcGFja2VkX3JlZl9zdG9yZSAqcmVmcywKKwkJCQkgICAgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24pCit7CisJc3RydWN0IHBhY2tlZF90cmFuc2FjdGlvbl9iYWNrZW5kX2RhdGEgKmRhdGEgPSB0cmFuc2FjdGlvbi0+YmFja2VuZF9kYXRhOworCisJaWYgKGRhdGEpIHsKKwkJc3RyaW5nX2xpc3RfY2xlYXIoJmRhdGEtPnVwZGF0ZXMsIDApOworCisJCWlmIChpc190ZW1wZmlsZV9hY3RpdmUocmVmcy0+dGVtcGZpbGUpKQorCQkJZGVsZXRlX3RlbXBmaWxlKCZyZWZzLT50ZW1wZmlsZSk7CisKKwkJaWYgKGRhdGEtPm93bl9sb2NrICYmIGlzX2xvY2tfZmlsZV9sb2NrZWQoJnJlZnMtPmxvY2spKSB7CisJCQlwYWNrZWRfcmVmc191bmxvY2soJnJlZnMtPmJhc2UpOworCQkJZGF0YS0+b3duX2xvY2sgPSAwOworCQl9CisKKwkJZnJlZShkYXRhKTsKKwkJdHJhbnNhY3Rpb24tPmJhY2tlbmRfZGF0YSA9IE5VTEw7CisJfQorCisJdHJhbnNhY3Rpb24tPnN0YXRlID0gUkVGX1RSQU5TQUNUSU9OX0NMT1NFRDsKK30KKworc3RhdGljIGludCBwYWNrZWRfdHJhbnNhY3Rpb25fcHJlcGFyZShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkJICAgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkJICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCXN0cnVjdCBwYWNrZWRfcmVmX3N0b3JlICpyZWZzID0gcGFja2VkX2Rvd25jYXN0KAorCQkJcmVmX3N0b3JlLAorCQkJUkVGX1NUT1JFX1JFQUQgfCBSRUZfU1RPUkVfV1JJVEUgfCBSRUZfU1RPUkVfT0RCLAorCQkJInJlZl90cmFuc2FjdGlvbl9wcmVwYXJlIik7CisJc3RydWN0IHBhY2tlZF90cmFuc2FjdGlvbl9iYWNrZW5kX2RhdGEgKmRhdGE7CisJc2l6ZV90IGk7CisJaW50IHJldCA9IFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7CisKKwkvKgorCSAqIE5vdGUgdGhhdCB3ZSAqZG9uJ3QqIHNraXAgdHJhbnNhY3Rpb25zIHdpdGggemVybyB1cGRhdGVzLAorCSAqIGJlY2F1c2Ugc3VjaCBhIHRyYW5zYWN0aW9uIG1pZ2h0IGJlIGV4ZWN1dGVkIGZvciB0aGUgc2lkZQorCSAqIGVmZmVjdCBvZiBlbnN1cmluZyB0aGF0IGFsbCBvZiB0aGUgcmVmZXJlbmNlcyBhcmUgcGVlbGVkIG9yCisJICogZW5zdXJpbmcgdGhhdCB0aGUgYHBhY2tlZC1yZWZzYCBmaWxlIGlzIHNvcnRlZC4gSWYgdGhlCisJICogY2FsbGVyIHdhbnRzIHRvIG9wdGltaXplIGF3YXkgZW1wdHkgdHJhbnNhY3Rpb25zLCBpdCBzaG91bGQKKwkgKiBkbyBzbyBpdHNlbGYuCisJICovCisKKwlkYXRhID0geGNhbGxvYygxLCBzaXplb2YoKmRhdGEpKTsKKwlzdHJpbmdfbGlzdF9pbml0KCZkYXRhLT51cGRhdGVzLCAwKTsKKworCXRyYW5zYWN0aW9uLT5iYWNrZW5kX2RhdGEgPSBkYXRhOworCisJLyoKKwkgKiBTdGljayB0aGUgdXBkYXRlcyBpbiBhIHN0cmluZyBsaXN0IGJ5IHJlZm5hbWUgc28gdGhhdCB3ZQorCSAqIGNhbiBzb3J0IHRoZW06CisJICovCisJZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKSB7CisJCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUgPSB0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXTsKKwkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0gPQorCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZkYXRhLT51cGRhdGVzLCB1cGRhdGUtPnJlZm5hbWUpOworCisJCS8qIFN0b3JlIGEgcG9pbnRlciB0byB1cGRhdGUgaW4gaXRlbS0+dXRpbDogKi8KKwkJaXRlbS0+dXRpbCA9IHVwZGF0ZTsKKwl9CisJc3RyaW5nX2xpc3Rfc29ydCgmZGF0YS0+dXBkYXRlcyk7CisKKwlpZiAocmVmX3VwZGF0ZV9yZWplY3RfZHVwbGljYXRlcygmZGF0YS0+dXBkYXRlcywgZXJyKSkKKwkJZ290byBmYWlsdXJlOworCisJaWYgKCFpc19sb2NrX2ZpbGVfbG9ja2VkKCZyZWZzLT5sb2NrKSkgeworCQlpZiAocGFja2VkX3JlZnNfbG9jayhyZWZfc3RvcmUsIDAsIGVycikpCisJCQlnb3RvIGZhaWx1cmU7CisJCWRhdGEtPm93bl9sb2NrID0gMTsKKwl9CisKKwlpZiAod3JpdGVfd2l0aF91cGRhdGVzKHJlZnMsICZkYXRhLT51cGRhdGVzLCBlcnIpKQorCQlnb3RvIGZhaWx1cmU7CisKKwl0cmFuc2FjdGlvbi0+c3RhdGUgPSBSRUZfVFJBTlNBQ1RJT05fUFJFUEFSRUQ7CisJcmV0dXJuIDA7CisKK2ZhaWx1cmU6CisJcGFja2VkX3RyYW5zYWN0aW9uX2NsZWFudXAocmVmcywgdHJhbnNhY3Rpb24pOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGFja2VkX3RyYW5zYWN0aW9uX2Fib3J0KHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQkgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkJICAgIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3QgcGFja2VkX3JlZl9zdG9yZSAqcmVmcyA9IHBhY2tlZF9kb3duY2FzdCgKKwkJCXJlZl9zdG9yZSwKKwkJCVJFRl9TVE9SRV9SRUFEIHwgUkVGX1NUT1JFX1dSSVRFIHwgUkVGX1NUT1JFX09EQiwKKwkJCSJyZWZfdHJhbnNhY3Rpb25fYWJvcnQiKTsKKworCXBhY2tlZF90cmFuc2FjdGlvbl9jbGVhbnVwKHJlZnMsIHRyYW5zYWN0aW9uKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwYWNrZWRfdHJhbnNhY3Rpb25fZmluaXNoKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQkgICAgIHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAorCQkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCXN0cnVjdCBwYWNrZWRfcmVmX3N0b3JlICpyZWZzID0gcGFja2VkX2Rvd25jYXN0KAorCQkJcmVmX3N0b3JlLAorCQkJUkVGX1NUT1JFX1JFQUQgfCBSRUZfU1RPUkVfV1JJVEUgfCBSRUZfU1RPUkVfT0RCLAorCQkJInJlZl90cmFuc2FjdGlvbl9maW5pc2giKTsKKwlpbnQgcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKKwljaGFyICpwYWNrZWRfcmVmc19wYXRoOworCisJY2xlYXJfc25hcHNob3QocmVmcyk7CisKKwlwYWNrZWRfcmVmc19wYXRoID0gZ2V0X2xvY2tlZF9maWxlX3BhdGgoJnJlZnMtPmxvY2spOworCWlmIChyZW5hbWVfdGVtcGZpbGUoJnJlZnMtPnRlbXBmaWxlLCBwYWNrZWRfcmVmc19wYXRoKSkgeworCQlzdHJidWZfYWRkZihlcnIsICJlcnJvciByZXBsYWNpbmcgJXM6ICVzIiwKKwkJCSAgICByZWZzLT5wYXRoLCBzdHJlcnJvcihlcnJubykpOworCQlnb3RvIGNsZWFudXA7CisJfQorCisJcmV0ID0gMDsKKworY2xlYW51cDoKKwlmcmVlKHBhY2tlZF9yZWZzX3BhdGgpOworCXBhY2tlZF90cmFuc2FjdGlvbl9jbGVhbnVwKHJlZnMsIHRyYW5zYWN0aW9uKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBhY2tlZF9pbml0aWFsX3RyYW5zYWN0aW9uX2NvbW1pdChzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkJCSAgICBzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbiwKKwkJCQkJICAgIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlyZXR1cm4gcmVmX3RyYW5zYWN0aW9uX2NvbW1pdCh0cmFuc2FjdGlvbiwgZXJyKTsKK30KKworc3RhdGljIGludCBwYWNrZWRfZGVsZXRlX3JlZnMoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLCBjb25zdCBjaGFyICptc2csCisJCQkgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsIHVuc2lnbmVkIGludCBmbGFncykKK3sKKwlzdHJ1Y3QgcGFja2VkX3JlZl9zdG9yZSAqcmVmcyA9CisJCXBhY2tlZF9kb3duY2FzdChyZWZfc3RvcmUsIFJFRl9TVE9SRV9XUklURSwgImRlbGV0ZV9yZWZzIik7CisJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbjsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKwlpbnQgcmV0OworCisJKHZvaWQpcmVmczsgLyogV2UgbmVlZCB0aGUgY2hlY2sgYWJvdmUsIGJ1dCBkb24ndCB1c2UgdGhlIHZhcmlhYmxlICovCisKKwlpZiAoIXJlZm5hbWVzLT5ucikKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIFNpbmNlIHdlIGRvbid0IGNoZWNrIHRoZSByZWZlcmVuY2VzJyBvbGRfb2lkcywgdGhlCisJICogaW5kaXZpZHVhbCB1cGRhdGVzIGNhbid0IGZhaWwsIHNvIHdlIGNhbiBwYWNrIGFsbCBvZiB0aGUKKwkgKiB1cGRhdGVzIGludG8gYSBzaW5nbGUgdHJhbnNhY3Rpb24uCisJICovCisKKwl0cmFuc2FjdGlvbiA9IHJlZl9zdG9yZV90cmFuc2FjdGlvbl9iZWdpbihyZWZfc3RvcmUsICZlcnIpOworCWlmICghdHJhbnNhY3Rpb24pCisJCXJldHVybiAtMTsKKworCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgcmVmbmFtZXMpIHsKKwkJaWYgKHJlZl90cmFuc2FjdGlvbl9kZWxldGUodHJhbnNhY3Rpb24sIGl0ZW0tPnN0cmluZywgTlVMTCwKKwkJCQkJICAgZmxhZ3MsIG1zZywgJmVycikpIHsKKwkJCXdhcm5pbmcoXygiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIiksCisJCQkJaXRlbS0+c3RyaW5nLCBlcnIuYnVmKTsKKwkJCXN0cmJ1Zl9yZXNldCgmZXJyKTsKKwkJfQorCX0KKworCXJldCA9IHJlZl90cmFuc2FjdGlvbl9jb21taXQodHJhbnNhY3Rpb24sICZlcnIpOworCisJaWYgKHJldCkgeworCQlpZiAocmVmbmFtZXMtPm5yID09IDEpCisJCQllcnJvcihfKCJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiKSwKKwkJCSAgICAgIHJlZm5hbWVzLT5pdGVtc1swXS5zdHJpbmcsIGVyci5idWYpOworCQllbHNlCisJCQllcnJvcihfKCJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIiksIGVyci5idWYpOworCX0KKworCXJlZl90cmFuc2FjdGlvbl9mcmVlKHRyYW5zYWN0aW9uKTsKKwlzdHJidWZfcmVsZWFzZSgmZXJyKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBhY2tlZF9wYWNrX3JlZnMoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJLyoKKwkgKiBQYWNrZWQgcmVmcyBhcmUgYWxyZWFkeSBwYWNrZWQuIEl0IG1pZ2h0IGJlIHRoYXQgbG9vc2UgcmVmcworCSAqIGFyZSBwYWNrZWQgKmludG8qIGEgcGFja2VkIHJlZnMgc3RvcmUsIGJ1dCB0aGF0IGlzIGRvbmUgYnkKKwkgKiB1cGRhdGluZyB0aGUgcGFja2VkIHJlZmVyZW5jZXMgdmlhIGEgdHJhbnNhY3Rpb24uCisJICovCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGFja2VkX2NyZWF0ZV9zeW1yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IGNoYXIgKnRhcmdldCwKKwkJCSAgICAgICBjb25zdCBjaGFyICpsb2dtc2cpCit7CisJZGllKCJCVUc6IHBhY2tlZCByZWZlcmVuY2Ugc3RvcmUgZG9lcyBub3Qgc3VwcG9ydCBzeW1yZWZzIik7Cit9CisKK3N0YXRpYyBpbnQgcGFja2VkX3JlbmFtZV9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgIGNvbnN0IGNoYXIgKm9sZHJlZm5hbWUsIGNvbnN0IGNoYXIgKm5ld3JlZm5hbWUsCisJCQkgICAgY29uc3QgY2hhciAqbG9nbXNnKQoreworCWRpZSgiQlVHOiBwYWNrZWQgcmVmZXJlbmNlIHN0b3JlIGRvZXMgbm90IHN1cHBvcnQgcmVuYW1pbmcgcmVmZXJlbmNlcyIpOworfQorCitzdGF0aWMgaW50IHBhY2tlZF9jb3B5X3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgICBjb25zdCBjaGFyICpvbGRyZWZuYW1lLCBjb25zdCBjaGFyICpuZXdyZWZuYW1lLAorCQkJICAgY29uc3QgY2hhciAqbG9nbXNnKQoreworCWRpZSgiQlVHOiBwYWNrZWQgcmVmZXJlbmNlIHN0b3JlIGRvZXMgbm90IHN1cHBvcnQgY29weWluZyByZWZlcmVuY2VzIik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpwYWNrZWRfcmVmbG9nX2l0ZXJhdG9yX2JlZ2luKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSkKK3sKKwlyZXR1cm4gZW1wdHlfcmVmX2l0ZXJhdG9yX2JlZ2luKCk7Cit9CisKK3N0YXRpYyBpbnQgcGFja2VkX2Zvcl9lYWNoX3JlZmxvZ19lbnQoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJICAgICAgZWFjaF9yZWZsb2dfZW50X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHBhY2tlZF9mb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2Uoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJCQkgICAgICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCQkgICAgICBlYWNoX3JlZmxvZ19lbnRfZm4gZm4sCisJCQkJCSAgICAgIHZvaWQgKmNiX2RhdGEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGFja2VkX3JlZmxvZ19leGlzdHMoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGFja2VkX2NyZWF0ZV9yZWZsb2coc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBmb3JjZV9jcmVhdGUsCisJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCWRpZSgiQlVHOiBwYWNrZWQgcmVmZXJlbmNlIHN0b3JlIGRvZXMgbm90IHN1cHBvcnQgcmVmbG9ncyIpOworfQorCitzdGF0aWMgaW50IHBhY2tlZF9kZWxldGVfcmVmbG9nKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCSAgICAgICBjb25zdCBjaGFyICpyZWZuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHBhY2tlZF9yZWZsb2dfZXhwaXJlKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQljb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJCXVuc2lnbmVkIGludCBmbGFncywKKwkJCQlyZWZsb2dfZXhwaXJ5X3ByZXBhcmVfZm4gcHJlcGFyZV9mbiwKKwkJCQlyZWZsb2dfZXhwaXJ5X3Nob3VsZF9wcnVuZV9mbiBzaG91bGRfcHJ1bmVfZm4sCisJCQkJcmVmbG9nX2V4cGlyeV9jbGVhbnVwX2ZuIGNsZWFudXBfZm4sCisJCQkJdm9pZCAqcG9saWN5X2NiX2RhdGEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCByZWZfc3RvcmFnZV9iZSByZWZzX2JlX3BhY2tlZCA9IHsKKwlOVUxMLAorCSJwYWNrZWQiLAorCXBhY2tlZF9yZWZfc3RvcmVfY3JlYXRlLAorCXBhY2tlZF9pbml0X2RiLAorCXBhY2tlZF90cmFuc2FjdGlvbl9wcmVwYXJlLAorCXBhY2tlZF90cmFuc2FjdGlvbl9maW5pc2gsCisJcGFja2VkX3RyYW5zYWN0aW9uX2Fib3J0LAorCXBhY2tlZF9pbml0aWFsX3RyYW5zYWN0aW9uX2NvbW1pdCwKKworCXBhY2tlZF9wYWNrX3JlZnMsCisJcGFja2VkX2NyZWF0ZV9zeW1yZWYsCisJcGFja2VkX2RlbGV0ZV9yZWZzLAorCXBhY2tlZF9yZW5hbWVfcmVmLAorCXBhY2tlZF9jb3B5X3JlZiwKKworCXBhY2tlZF9yZWZfaXRlcmF0b3JfYmVnaW4sCisJcGFja2VkX3JlYWRfcmF3X3JlZiwKKworCXBhY2tlZF9yZWZsb2dfaXRlcmF0b3JfYmVnaW4sCisJcGFja2VkX2Zvcl9lYWNoX3JlZmxvZ19lbnQsCisJcGFja2VkX2Zvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZSwKKwlwYWNrZWRfcmVmbG9nX2V4aXN0cywKKwlwYWNrZWRfY3JlYXRlX3JlZmxvZywKKwlwYWNrZWRfZGVsZXRlX3JlZmxvZywKKwlwYWNrZWRfcmVmbG9nX2V4cGlyZQorfTsKZGlmZiAtLWdpdCBhL3JlZnMvcGFja2VkLWJhY2tlbmQuaCBiL3JlZnMvcGFja2VkLWJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTY4N2U0Ci0tLSAvZGV2L251bGwKKysrIGIvcmVmcy9wYWNrZWQtYmFja2VuZC5oCkBAIC0wLDAgKzEsMjYgQEAKKyNpZm5kZWYgUkVGU19QQUNLRURfQkFDS0VORF9ICisjZGVmaW5lIFJFRlNfUEFDS0VEX0JBQ0tFTkRfSAorCisvKgorICogU3VwcG9ydCBmb3Igc3RvcmluZyByZWZlcmVuY2VzIGluIGEgYHBhY2tlZC1yZWZzYCBmaWxlLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGJhY2tlbmQgZG9lc24ndCBjaGVjayBmb3IgRC9GIGNvbmZsaWN0cywgYmVjYXVzZSBpdAorICogZG9lc24ndCBjYXJlIGFib3V0IHRoZW0uIEJ1dCB1c3VhbGx5IGl0IHNob3VsZCBiZSB3cmFwcGVkIGluIGEKKyAqIGBmaWxlc19yZWZfc3RvcmVgIHRoYXQgcHJldmVudHMgRC9GIGNvbmZsaWN0cyBmcm9tIGJlaW5nIGNyZWF0ZWQsCisgKiBldmVuIGFtb25nIHBhY2tlZCByZWZzLgorICovCisKK3N0cnVjdCByZWZfc3RvcmUgKnBhY2tlZF9yZWZfc3RvcmVfY3JlYXRlKGNvbnN0IGNoYXIgKnBhdGgsCisJCQkJCSAgdW5zaWduZWQgaW50IHN0b3JlX2ZsYWdzKTsKKworLyoKKyAqIExvY2sgdGhlIHBhY2tlZC1yZWZzIGZpbGUgZm9yIHdyaXRpbmcuIEZsYWdzIGlzIHBhc3NlZCB0bworICogaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgpLiBSZXR1cm4gMCBvbiBzdWNjZXNzLiBPbiBlcnJvcnMsIHdyaXRlCisgKiBhbiBlcnJvciBtZXNzYWdlIHRvIGBlcnJgIGFuZCByZXR1cm4gYSBub256ZXJvIHZhbHVlLgorICovCitpbnQgcGFja2VkX3JlZnNfbG9jayhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsIGludCBmbGFncywgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKKwordm9pZCBwYWNrZWRfcmVmc191bmxvY2soc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlKTsKK2ludCBwYWNrZWRfcmVmc19pc19sb2NrZWQoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlKTsKKworI2VuZGlmIC8qIFJFRlNfUEFDS0VEX0JBQ0tFTkRfSCAqLwpkaWZmIC0tZ2l0IGEvcmVmcy9yZWYtY2FjaGUuYyBiL3JlZnMvcmVmLWNhY2hlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY4NTBlMQotLS0gL2Rldi9udWxsCisrKyBiL3JlZnMvcmVmLWNhY2hlLmMKQEAgLTAsMCArMSw1NTMgQEAKKyNpbmNsdWRlICIuLi9jYWNoZS5oIgorI2luY2x1ZGUgIi4uL3JlZnMuaCIKKyNpbmNsdWRlICJyZWZzLWludGVybmFsLmgiCisjaW5jbHVkZSAicmVmLWNhY2hlLmgiCisjaW5jbHVkZSAiLi4vaXRlcmF0b3IuaCIKKwordm9pZCBhZGRfZW50cnlfdG9fZGlyKHN0cnVjdCByZWZfZGlyICpkaXIsIHN0cnVjdCByZWZfZW50cnkgKmVudHJ5KQoreworCUFMTE9DX0dST1coZGlyLT5lbnRyaWVzLCBkaXItPm5yICsgMSwgZGlyLT5hbGxvYyk7CisJZGlyLT5lbnRyaWVzW2Rpci0+bnIrK10gPSBlbnRyeTsKKwkvKiBvcHRpbWl6ZSBmb3IgdGhlIGNhc2UgdGhhdCBlbnRyaWVzIGFyZSBhZGRlZCBpbiBvcmRlciAqLworCWlmIChkaXItPm5yID09IDEgfHwKKwkgICAgKGRpci0+bnIgPT0gZGlyLT5zb3J0ZWQgKyAxICYmCisJICAgICBzdHJjbXAoZGlyLT5lbnRyaWVzW2Rpci0+bnIgLSAyXS0+bmFtZSwKKwkJICAgIGRpci0+ZW50cmllc1tkaXItPm5yIC0gMV0tPm5hbWUpIDwgMCkpCisJCWRpci0+c29ydGVkID0gZGlyLT5ucjsKK30KKworc3RydWN0IHJlZl9kaXIgKmdldF9yZWZfZGlyKHN0cnVjdCByZWZfZW50cnkgKmVudHJ5KQoreworCXN0cnVjdCByZWZfZGlyICpkaXI7CisJYXNzZXJ0KGVudHJ5LT5mbGFnICYgUkVGX0RJUik7CisJZGlyID0gJmVudHJ5LT51LnN1YmRpcjsKKwlpZiAoZW50cnktPmZsYWcgJiBSRUZfSU5DT01QTEVURSkgeworCQlpZiAoIWRpci0+Y2FjaGUtPmZpbGxfcmVmX2RpcikKKwkJCWRpZSgiQlVHOiBpbmNvbXBsZXRlIHJlZl9zdG9yZSB3aXRob3V0IGZpbGxfcmVmX2RpciBmdW5jdGlvbiIpOworCisJCWRpci0+Y2FjaGUtPmZpbGxfcmVmX2RpcihkaXItPmNhY2hlLT5yZWZfc3RvcmUsIGRpciwgZW50cnktPm5hbWUpOworCQllbnRyeS0+ZmxhZyAmPSB+UkVGX0lOQ09NUExFVEU7CisJfQorCXJldHVybiBkaXI7Cit9CisKK3N0cnVjdCByZWZfZW50cnkgKmNyZWF0ZV9yZWZfZW50cnkoY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFnKQoreworCXN0cnVjdCByZWZfZW50cnkgKnJlZjsKKworCUZMRVhfQUxMT0NfU1RSKHJlZiwgbmFtZSwgcmVmbmFtZSk7CisJb2lkY3B5KCZyZWYtPnUudmFsdWUub2lkLCBvaWQpOworCXJlZi0+ZmxhZyA9IGZsYWc7CisJcmV0dXJuIHJlZjsKK30KKworc3RydWN0IHJlZl9jYWNoZSAqY3JlYXRlX3JlZl9jYWNoZShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLAorCQkJCSAgIGZpbGxfcmVmX2Rpcl9mbiAqZmlsbF9yZWZfZGlyKQoreworCXN0cnVjdCByZWZfY2FjaGUgKnJldCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpyZXQpKTsKKworCXJldC0+cmVmX3N0b3JlID0gcmVmczsKKwlyZXQtPmZpbGxfcmVmX2RpciA9IGZpbGxfcmVmX2RpcjsKKwlyZXQtPnJvb3QgPSBjcmVhdGVfZGlyX2VudHJ5KHJldCwgIiIsIDAsIDEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFyX3JlZl9kaXIoc3RydWN0IHJlZl9kaXIgKmRpcik7CisKK3N0YXRpYyB2b2lkIGZyZWVfcmVmX2VudHJ5KHN0cnVjdCByZWZfZW50cnkgKmVudHJ5KQoreworCWlmIChlbnRyeS0+ZmxhZyAmIFJFRl9ESVIpIHsKKwkJLyoKKwkJICogRG8gbm90IHVzZSBnZXRfcmVmX2RpcigpIGhlcmUsIGFzIHRoYXQgbWlnaHQKKwkJICogdHJpZ2dlciB0aGUgcmVhZGluZyBvZiBsb29zZSByZWZzLgorCQkgKi8KKwkJY2xlYXJfcmVmX2RpcigmZW50cnktPnUuc3ViZGlyKTsKKwl9CisJZnJlZShlbnRyeSk7Cit9CisKK3ZvaWQgZnJlZV9yZWZfY2FjaGUoc3RydWN0IHJlZl9jYWNoZSAqY2FjaGUpCit7CisJZnJlZV9yZWZfZW50cnkoY2FjaGUtPnJvb3QpOworCWZyZWUoY2FjaGUpOworfQorCisvKgorICogQ2xlYXIgYW5kIGZyZWUgYWxsIGVudHJpZXMgaW4gZGlyLCByZWN1cnNpdmVseS4KKyAqLworc3RhdGljIHZvaWQgY2xlYXJfcmVmX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyKQoreworCWludCBpOworCWZvciAoaSA9IDA7IGkgPCBkaXItPm5yOyBpKyspCisJCWZyZWVfcmVmX2VudHJ5KGRpci0+ZW50cmllc1tpXSk7CisJRlJFRV9BTkRfTlVMTChkaXItPmVudHJpZXMpOworCWRpci0+c29ydGVkID0gZGlyLT5uciA9IGRpci0+YWxsb2MgPSAwOworfQorCitzdHJ1Y3QgcmVmX2VudHJ5ICpjcmVhdGVfZGlyX2VudHJ5KHN0cnVjdCByZWZfY2FjaGUgKmNhY2hlLAorCQkJCSAgIGNvbnN0IGNoYXIgKmRpcm5hbWUsIHNpemVfdCBsZW4sCisJCQkJICAgaW50IGluY29tcGxldGUpCit7CisJc3RydWN0IHJlZl9lbnRyeSAqZGlyZW50cnk7CisKKwlGTEVYX0FMTE9DX01FTShkaXJlbnRyeSwgbmFtZSwgZGlybmFtZSwgbGVuKTsKKwlkaXJlbnRyeS0+dS5zdWJkaXIuY2FjaGUgPSBjYWNoZTsKKwlkaXJlbnRyeS0+ZmxhZyA9IFJFRl9ESVIgfCAoaW5jb21wbGV0ZSA/IFJFRl9JTkNPTVBMRVRFIDogMCk7CisJcmV0dXJuIGRpcmVudHJ5OworfQorCitzdGF0aWMgaW50IHJlZl9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3sKKwlzdHJ1Y3QgcmVmX2VudHJ5ICpvbmUgPSAqKHN0cnVjdCByZWZfZW50cnkgKiopYTsKKwlzdHJ1Y3QgcmVmX2VudHJ5ICp0d28gPSAqKHN0cnVjdCByZWZfZW50cnkgKiopYjsKKwlyZXR1cm4gc3RyY21wKG9uZS0+bmFtZSwgdHdvLT5uYW1lKTsKK30KKworc3RhdGljIHZvaWQgc29ydF9yZWZfZGlyKHN0cnVjdCByZWZfZGlyICpkaXIpOworCitzdHJ1Y3Qgc3RyaW5nX3NsaWNlIHsKKwlzaXplX3QgbGVuOworCWNvbnN0IGNoYXIgKnN0cjsKK307CisKK3N0YXRpYyBpbnQgcmVmX2VudHJ5X2NtcF9zc2xpY2UoY29uc3Qgdm9pZCAqa2V5XywgY29uc3Qgdm9pZCAqZW50XykKK3sKKwljb25zdCBzdHJ1Y3Qgc3RyaW5nX3NsaWNlICprZXkgPSBrZXlfOworCWNvbnN0IHN0cnVjdCByZWZfZW50cnkgKmVudCA9ICooY29uc3Qgc3RydWN0IHJlZl9lbnRyeSAqIGNvbnN0ICopZW50XzsKKwlpbnQgY21wID0gc3RybmNtcChrZXktPnN0ciwgZW50LT5uYW1lLCBrZXktPmxlbik7CisJaWYgKGNtcCkKKwkJcmV0dXJuIGNtcDsKKwlyZXR1cm4gJ1wwJyAtICh1bnNpZ25lZCBjaGFyKWVudC0+bmFtZVtrZXktPmxlbl07Cit9CisKK2ludCBzZWFyY2hfcmVmX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyLCBjb25zdCBjaGFyICpyZWZuYW1lLCBzaXplX3QgbGVuKQoreworCXN0cnVjdCByZWZfZW50cnkgKipyOworCXN0cnVjdCBzdHJpbmdfc2xpY2Uga2V5OworCisJaWYgKHJlZm5hbWUgPT0gTlVMTCB8fCAhZGlyLT5ucikKKwkJcmV0dXJuIC0xOworCisJc29ydF9yZWZfZGlyKGRpcik7CisJa2V5LmxlbiA9IGxlbjsKKwlrZXkuc3RyID0gcmVmbmFtZTsKKwlyID0gYnNlYXJjaCgma2V5LCBkaXItPmVudHJpZXMsIGRpci0+bnIsIHNpemVvZigqZGlyLT5lbnRyaWVzKSwKKwkJICAgIHJlZl9lbnRyeV9jbXBfc3NsaWNlKTsKKworCWlmIChyID09IE5VTEwpCisJCXJldHVybiAtMTsKKworCXJldHVybiByIC0gZGlyLT5lbnRyaWVzOworfQorCisvKgorICogU2VhcmNoIGZvciBhIGRpcmVjdG9yeSBlbnRyeSBkaXJlY3RseSB3aXRoaW4gZGlyICh3aXRob3V0CisgKiByZWN1cnNpbmcpLiAgU29ydCBkaXIgaWYgbmVjZXNzYXJ5LiAgc3ViZGlybmFtZSBtdXN0IGJlIGEgZGlyZWN0b3J5CisgKiBuYW1lIChpLmUuLCBlbmQgaW4gJy8nKS4gIElmIG1rZGlyIGlzIHNldCwgdGhlbiBjcmVhdGUgdGhlCisgKiBkaXJlY3RvcnkgaWYgaXQgaXMgbWlzc2luZzsgb3RoZXJ3aXNlLCByZXR1cm4gTlVMTCBpZiB0aGUgZGVzaXJlZAorICogZGlyZWN0b3J5IGNhbm5vdCBiZSBmb3VuZC4gIGRpciBtdXN0IGFscmVhZHkgYmUgY29tcGxldGUuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgcmVmX2RpciAqc2VhcmNoX2Zvcl9zdWJkaXIoc3RydWN0IHJlZl9kaXIgKmRpciwKKwkJCQkJIGNvbnN0IGNoYXIgKnN1YmRpcm5hbWUsIHNpemVfdCBsZW4sCisJCQkJCSBpbnQgbWtkaXIpCit7CisJaW50IGVudHJ5X2luZGV4ID0gc2VhcmNoX3JlZl9kaXIoZGlyLCBzdWJkaXJuYW1lLCBsZW4pOworCXN0cnVjdCByZWZfZW50cnkgKmVudHJ5OworCWlmIChlbnRyeV9pbmRleCA9PSAtMSkgeworCQlpZiAoIW1rZGlyKQorCQkJcmV0dXJuIE5VTEw7CisJCS8qCisJCSAqIFNpbmNlIGRpciBpcyBjb21wbGV0ZSwgdGhlIGFic2VuY2Ugb2YgYSBzdWJkaXIKKwkJICogbWVhbnMgdGhhdCB0aGUgc3ViZGlyIHJlYWxseSBkb2Vzbid0IGV4aXN0OworCQkgKiB0aGVyZWZvcmUsIGNyZWF0ZSBhbiBlbXB0eSByZWNvcmQgZm9yIGl0IGJ1dCBtYXJrCisJCSAqIHRoZSByZWNvcmQgY29tcGxldGUuCisJCSAqLworCQllbnRyeSA9IGNyZWF0ZV9kaXJfZW50cnkoZGlyLT5jYWNoZSwgc3ViZGlybmFtZSwgbGVuLCAwKTsKKwkJYWRkX2VudHJ5X3RvX2RpcihkaXIsIGVudHJ5KTsKKwl9IGVsc2UgeworCQllbnRyeSA9IGRpci0+ZW50cmllc1tlbnRyeV9pbmRleF07CisJfQorCXJldHVybiBnZXRfcmVmX2RpcihlbnRyeSk7Cit9CisKKy8qCisgKiBJZiByZWZuYW1lIGlzIGEgcmVmZXJlbmNlIG5hbWUsIGZpbmQgdGhlIHJlZl9kaXIgd2l0aGluIHRoZSBkaXIKKyAqIHRyZWUgdGhhdCBzaG91bGQgaG9sZCByZWZuYW1lLiBJZiByZWZuYW1lIGlzIGEgZGlyZWN0b3J5IG5hbWUKKyAqIChpLmUuLCBpdCBlbmRzIGluICcvJyksIHRoZW4gcmV0dXJuIHRoYXQgcmVmX2RpciBpdHNlbGYuIGRpciBtdXN0CisgKiByZXByZXNlbnQgdGhlIHRvcC1sZXZlbCBkaXJlY3RvcnkgYW5kIG11c3QgYWxyZWFkeSBiZSBjb21wbGV0ZS4KKyAqIFNvcnQgcmVmX2RpcnMgYW5kIHJlY3Vyc2UgaW50byBzdWJkaXJlY3RvcmllcyBhcyBuZWNlc3NhcnkuIElmCisgKiBta2RpciBpcyBzZXQsIHRoZW4gY3JlYXRlIGFueSBtaXNzaW5nIGRpcmVjdG9yaWVzOyBvdGhlcndpc2UsCisgKiByZXR1cm4gTlVMTCBpZiB0aGUgZGVzaXJlZCBkaXJlY3RvcnkgY2Fubm90IGJlIGZvdW5kLgorICovCitzdGF0aWMgc3RydWN0IHJlZl9kaXIgKmZpbmRfY29udGFpbmluZ19kaXIoc3RydWN0IHJlZl9kaXIgKmRpciwKKwkJCQkJICAgY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IG1rZGlyKQoreworCWNvbnN0IGNoYXIgKnNsYXNoOworCWZvciAoc2xhc2ggPSBzdHJjaHIocmVmbmFtZSwgJy8nKTsgc2xhc2g7IHNsYXNoID0gc3RyY2hyKHNsYXNoICsgMSwgJy8nKSkgeworCQlzaXplX3QgZGlybmFtZWxlbiA9IHNsYXNoIC0gcmVmbmFtZSArIDE7CisJCXN0cnVjdCByZWZfZGlyICpzdWJkaXI7CisJCXN1YmRpciA9IHNlYXJjaF9mb3Jfc3ViZGlyKGRpciwgcmVmbmFtZSwgZGlybmFtZWxlbiwgbWtkaXIpOworCQlpZiAoIXN1YmRpcikgeworCQkJZGlyID0gTlVMTDsKKwkJCWJyZWFrOworCQl9CisJCWRpciA9IHN1YmRpcjsKKwl9CisKKwlyZXR1cm4gZGlyOworfQorCitzdHJ1Y3QgcmVmX2VudHJ5ICpmaW5kX3JlZl9lbnRyeShzdHJ1Y3QgcmVmX2RpciAqZGlyLCBjb25zdCBjaGFyICpyZWZuYW1lKQoreworCWludCBlbnRyeV9pbmRleDsKKwlzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeTsKKwlkaXIgPSBmaW5kX2NvbnRhaW5pbmdfZGlyKGRpciwgcmVmbmFtZSwgMCk7CisJaWYgKCFkaXIpCisJCXJldHVybiBOVUxMOworCWVudHJ5X2luZGV4ID0gc2VhcmNoX3JlZl9kaXIoZGlyLCByZWZuYW1lLCBzdHJsZW4ocmVmbmFtZSkpOworCWlmIChlbnRyeV9pbmRleCA9PSAtMSkKKwkJcmV0dXJuIE5VTEw7CisJZW50cnkgPSBkaXItPmVudHJpZXNbZW50cnlfaW5kZXhdOworCXJldHVybiAoZW50cnktPmZsYWcgJiBSRUZfRElSKSA/IE5VTEwgOiBlbnRyeTsKK30KKworaW50IHJlbW92ZV9lbnRyeV9mcm9tX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyLCBjb25zdCBjaGFyICpyZWZuYW1lKQoreworCWludCByZWZuYW1lX2xlbiA9IHN0cmxlbihyZWZuYW1lKTsKKwlpbnQgZW50cnlfaW5kZXg7CisJc3RydWN0IHJlZl9lbnRyeSAqZW50cnk7CisJaW50IGlzX2RpciA9IHJlZm5hbWVbcmVmbmFtZV9sZW4gLSAxXSA9PSAnLyc7CisJaWYgKGlzX2RpcikgeworCQkvKgorCQkgKiByZWZuYW1lIHJlcHJlc2VudHMgYSByZWZlcmVuY2UgZGlyZWN0b3J5LiAgUmVtb3ZlCisJCSAqIHRoZSB0cmFpbGluZyBzbGFzaDsgb3RoZXJ3aXNlIHdlIHdpbGwgZ2V0IHRoZQorCQkgKiBkaXJlY3RvcnkgKnJlcHJlc2VudGluZyogcmVmbmFtZSByYXRoZXIgdGhhbiB0aGUKKwkJICogb25lICpjb250YWluaW5nKiBpdC4KKwkJICovCisJCWNoYXIgKmRpcm5hbWUgPSB4bWVtZHVweihyZWZuYW1lLCByZWZuYW1lX2xlbiAtIDEpOworCQlkaXIgPSBmaW5kX2NvbnRhaW5pbmdfZGlyKGRpciwgZGlybmFtZSwgMCk7CisJCWZyZWUoZGlybmFtZSk7CisJfSBlbHNlIHsKKwkJZGlyID0gZmluZF9jb250YWluaW5nX2RpcihkaXIsIHJlZm5hbWUsIDApOworCX0KKwlpZiAoIWRpcikKKwkJcmV0dXJuIC0xOworCWVudHJ5X2luZGV4ID0gc2VhcmNoX3JlZl9kaXIoZGlyLCByZWZuYW1lLCByZWZuYW1lX2xlbik7CisJaWYgKGVudHJ5X2luZGV4ID09IC0xKQorCQlyZXR1cm4gLTE7CisJZW50cnkgPSBkaXItPmVudHJpZXNbZW50cnlfaW5kZXhdOworCisJbWVtbW92ZSgmZGlyLT5lbnRyaWVzW2VudHJ5X2luZGV4XSwKKwkJJmRpci0+ZW50cmllc1tlbnRyeV9pbmRleCArIDFdLAorCQkoZGlyLT5uciAtIGVudHJ5X2luZGV4IC0gMSkgKiBzaXplb2YoKmRpci0+ZW50cmllcykKKwkJKTsKKwlkaXItPm5yLS07CisJaWYgKGRpci0+c29ydGVkID4gZW50cnlfaW5kZXgpCisJCWRpci0+c29ydGVkLS07CisJZnJlZV9yZWZfZW50cnkoZW50cnkpOworCXJldHVybiBkaXItPm5yOworfQorCitpbnQgYWRkX3JlZl9lbnRyeShzdHJ1Y3QgcmVmX2RpciAqZGlyLCBzdHJ1Y3QgcmVmX2VudHJ5ICpyZWYpCit7CisJZGlyID0gZmluZF9jb250YWluaW5nX2RpcihkaXIsIHJlZi0+bmFtZSwgMSk7CisJaWYgKCFkaXIpCisJCXJldHVybiAtMTsKKwlhZGRfZW50cnlfdG9fZGlyKGRpciwgcmVmKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEVtaXQgYSB3YXJuaW5nIGFuZCByZXR1cm4gdHJ1ZSBpZmYgcmVmMSBhbmQgcmVmMiBoYXZlIHRoZSBzYW1lIG5hbWUKKyAqIGFuZCB0aGUgc2FtZSBzaGExLiAgRGllIGlmIHRoZXkgaGF2ZSB0aGUgc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQKKyAqIHNoYTFzLgorICovCitzdGF0aWMgaW50IGlzX2R1cF9yZWYoY29uc3Qgc3RydWN0IHJlZl9lbnRyeSAqcmVmMSwgY29uc3Qgc3RydWN0IHJlZl9lbnRyeSAqcmVmMikKK3sKKwlpZiAoc3RyY21wKHJlZjEtPm5hbWUsIHJlZjItPm5hbWUpKQorCQlyZXR1cm4gMDsKKworCS8qIER1cGxpY2F0ZSBuYW1lOyBtYWtlIHN1cmUgdGhhdCB0aGV5IGRvbid0IGNvbmZsaWN0OiAqLworCisJaWYgKChyZWYxLT5mbGFnICYgUkVGX0RJUikgfHwgKHJlZjItPmZsYWcgJiBSRUZfRElSKSkKKwkJLyogVGhpcyBpcyBpbXBvc3NpYmxlIGJ5IGNvbnN0cnVjdGlvbiAqLworCQlkaWUoIlJlZmVyZW5jZSBkaXJlY3RvcnkgY29uZmxpY3Q6ICVzIiwgcmVmMS0+bmFtZSk7CisKKwlpZiAob2lkY21wKCZyZWYxLT51LnZhbHVlLm9pZCwgJnJlZjItPnUudmFsdWUub2lkKSkKKwkJZGllKCJEdXBsaWNhdGVkIHJlZiwgYW5kIFNIQTFzIGRvbid0IG1hdGNoOiAlcyIsIHJlZjEtPm5hbWUpOworCisJd2FybmluZygiRHVwbGljYXRlZCByZWY6ICVzIiwgcmVmMS0+bmFtZSk7CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBTb3J0IHRoZSBlbnRyaWVzIGluIGRpciBub24tcmVjdXJzaXZlbHkgKGlmIHRoZXkgYXJlIG5vdCBhbHJlYWR5CisgKiBzb3J0ZWQpIGFuZCByZW1vdmUgYW55IGR1cGxpY2F0ZSBlbnRyaWVzLgorICovCitzdGF0aWMgdm9pZCBzb3J0X3JlZl9kaXIoc3RydWN0IHJlZl9kaXIgKmRpcikKK3sKKwlpbnQgaSwgajsKKwlzdHJ1Y3QgcmVmX2VudHJ5ICpsYXN0ID0gTlVMTDsKKworCS8qCisJICogVGhpcyBjaGVjayBhbHNvIHByZXZlbnRzIHBhc3NpbmcgYSB6ZXJvLWxlbmd0aCBhcnJheSB0byBxc29ydCgpLAorCSAqIHdoaWNoIGlzIGEgcHJvYmxlbSBvbiBzb21lIHBsYXRmb3Jtcy4KKwkgKi8KKwlpZiAoZGlyLT5zb3J0ZWQgPT0gZGlyLT5ucikKKwkJcmV0dXJuOworCisJUVNPUlQoZGlyLT5lbnRyaWVzLCBkaXItPm5yLCByZWZfZW50cnlfY21wKTsKKworCS8qIFJlbW92ZSBhbnkgZHVwbGljYXRlczogKi8KKwlmb3IgKGkgPSAwLCBqID0gMDsgaiA8IGRpci0+bnI7IGorKykgeworCQlzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeSA9IGRpci0+ZW50cmllc1tqXTsKKwkJaWYgKGxhc3QgJiYgaXNfZHVwX3JlZihsYXN0LCBlbnRyeSkpCisJCQlmcmVlX3JlZl9lbnRyeShlbnRyeSk7CisJCWVsc2UKKwkJCWxhc3QgPSBkaXItPmVudHJpZXNbaSsrXSA9IGVudHJ5OworCX0KKwlkaXItPnNvcnRlZCA9IGRpci0+bnIgPSBpOworfQorCitlbnVtIHByZWZpeF9zdGF0ZSB7CisJLyogQWxsIHJlZnMgd2l0aGluIHRoZSBkaXJlY3Rvcnkgd291bGQgbWF0Y2ggcHJlZml4OiAqLworCVBSRUZJWF9DT05UQUlOU19ESVIsCisKKwkvKiBTb21lLCBidXQgbm90IGFsbCwgcmVmcyB3aXRoaW4gdGhlIGRpcmVjdG9yeSBtaWdodCBtYXRjaCBwcmVmaXg6ICovCisJUFJFRklYX1dJVEhJTl9ESVIsCisKKwkvKiBObyByZWZzIHdpdGhpbiB0aGUgZGlyZWN0b3J5IGNvdWxkIHBvc3NpYmx5IG1hdGNoIHByZWZpeDogKi8KKwlQUkVGSVhfRVhDTFVERVNfRElSCit9OworCisvKgorICogUmV0dXJuIGEgYHByZWZpeF9zdGF0ZWAgY29uc3RhbnQgZGVzY3JpYmluZyB0aGUgcmVsYXRpb25zaGlwCisgKiBiZXR3ZWVuIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgc3BlY2lmaWVkIGBkaXJuYW1lYCBhbmQgYHByZWZpeGAuCisgKi8KK3N0YXRpYyBlbnVtIHByZWZpeF9zdGF0ZSBvdmVybGFwc19wcmVmaXgoY29uc3QgY2hhciAqZGlybmFtZSwKKwkJCQkJIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwl3aGlsZSAoKnByZWZpeCAmJiAqZGlybmFtZSA9PSAqcHJlZml4KSB7CisJCWRpcm5hbWUrKzsKKwkJcHJlZml4Kys7CisJfQorCWlmICghKnByZWZpeCkKKwkJcmV0dXJuIFBSRUZJWF9DT05UQUlOU19ESVI7CisJZWxzZSBpZiAoISpkaXJuYW1lKQorCQlyZXR1cm4gUFJFRklYX1dJVEhJTl9ESVI7CisJZWxzZQorCQlyZXR1cm4gUFJFRklYX0VYQ0xVREVTX0RJUjsKK30KKworLyoKKyAqIExvYWQgYWxsIG9mIHRoZSByZWZzIGZyb20gYGRpcmAgKHJlY3Vyc2l2ZWx5KSB0aGF0IGNvdWxkIHBvc3NpYmx5CisgKiBjb250YWluIHJlZmVyZW5jZXMgbWF0Y2hpbmcgYHByZWZpeGAgaW50byBvdXIgaW4tbWVtb3J5IGNhY2hlLiBJZgorICogYHByZWZpeGAgaXMgTlVMTCwgcHJpbWUgdW5jb25kaXRpb25hbGx5LgorICovCitzdGF0aWMgdm9pZCBwcmltZV9yZWZfZGlyKHN0cnVjdCByZWZfZGlyICpkaXIsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwkvKgorCSAqIFRoZSBoYXJkIHdvcmsgb2YgbG9hZGluZyBsb29zZSByZWZzIGlzIGRvbmUgYnkgZ2V0X3JlZl9kaXIoKSwgc28gd2UKKwkgKiBqdXN0IG5lZWQgdG8gcmVjdXJzZSB0aHJvdWdoIGFsbCBvZiB0aGUgc3ViLWRpcmVjdG9yaWVzLiBXZSBkbyBub3QKKwkgKiBldmVuIG5lZWQgdG8gY2FyZSBhYm91dCBzb3J0aW5nLCBhcyB0cmF2ZXJzYWwgb3JkZXIgZG9lcyBub3QgbWF0dGVyCisJICogdG8gdXMuCisJICovCisJaW50IGk7CisJZm9yIChpID0gMDsgaSA8IGRpci0+bnI7IGkrKykgeworCQlzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeSA9IGRpci0+ZW50cmllc1tpXTsKKwkJaWYgKCEoZW50cnktPmZsYWcgJiBSRUZfRElSKSkgeworCQkJLyogTm90IGEgZGlyZWN0b3J5OyBubyBuZWVkIHRvIHJlY3Vyc2UuICovCisJCX0gZWxzZSBpZiAoIXByZWZpeCkgeworCQkJLyogUmVjdXJzZSBpbiBhbnkgY2FzZTogKi8KKwkJCXByaW1lX3JlZl9kaXIoZ2V0X3JlZl9kaXIoZW50cnkpLCBOVUxMKTsKKwkJfSBlbHNlIHsKKwkJCXN3aXRjaCAob3ZlcmxhcHNfcHJlZml4KGVudHJ5LT5uYW1lLCBwcmVmaXgpKSB7CisJCQljYXNlIFBSRUZJWF9DT05UQUlOU19ESVI6CisJCQkJLyoKKwkJCQkgKiBSZWN1cnNlLCBhbmQgZnJvbSBoZXJlIGRvd24gd2UKKwkJCQkgKiBkb24ndCBoYXZlIHRvIGNoZWNrIHRoZSBwcmVmaXgKKwkJCQkgKiBhbnltb3JlOgorCQkJCSAqLworCQkJCXByaW1lX3JlZl9kaXIoZ2V0X3JlZl9kaXIoZW50cnkpLCBOVUxMKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgUFJFRklYX1dJVEhJTl9ESVI6CisJCQkJcHJpbWVfcmVmX2RpcihnZXRfcmVmX2RpcihlbnRyeSksIHByZWZpeCk7CisJCQkJYnJlYWs7CisJCQljYXNlIFBSRUZJWF9FWENMVURFU19ESVI6CisJCQkJLyogTm8gbmVlZCB0byBwcmltZSB0aGlzIGRpcmVjdG9yeS4gKi8KKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KK30KKworLyoKKyAqIEEgbGV2ZWwgaW4gdGhlIHJlZmVyZW5jZSBoaWVyYXJjaHkgdGhhdCBpcyBjdXJyZW50bHkgYmVpbmcgaXRlcmF0ZWQKKyAqIHRocm91Z2guCisgKi8KK3N0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3JfbGV2ZWwgeworCS8qCisJICogVGhlIHJlZl9kaXIgYmVpbmcgaXRlcmF0ZWQgb3ZlciBhdCB0aGlzIGxldmVsLiBUaGUgcmVmX2RpcgorCSAqIGlzIHNvcnRlZCBiZWZvcmUgYmVpbmcgc3RvcmVkIGhlcmUuCisJICovCisJc3RydWN0IHJlZl9kaXIgKmRpcjsKKworCWVudW0gcHJlZml4X3N0YXRlIHByZWZpeF9zdGF0ZTsKKworCS8qCisJICogVGhlIGluZGV4IG9mIHRoZSBjdXJyZW50IGVudHJ5IHdpdGhpbiBkaXIgKHdoaWNoIG1pZ2h0CisJICogaXRzZWxmIGJlIGEgZGlyZWN0b3J5KS4gSWYgaW5kZXggPT0gLTEsIHRoZW4gdGhlIGl0ZXJhdGlvbgorCSAqIGhhc24ndCB5ZXQgYmVndW4uIElmIGluZGV4ID09IGRpci0+bnIsIHRoZW4gdGhlIGl0ZXJhdGlvbgorCSAqIHRocm91Z2ggdGhpcyBsZXZlbCBpcyBvdmVyLgorCSAqLworCWludCBpbmRleDsKK307CisKKy8qCisgKiBSZXByZXNlbnQgYW4gaXRlcmF0aW9uIHRocm91Z2ggYSByZWZfZGlyIGluIHRoZSBtZW1vcnkgY2FjaGUuIFRoZQorICogaXRlcmF0aW9uIHJlY3Vyc2VzIHRocm91Z2ggc3ViZGlyZWN0b3JpZXMuCisgKi8KK3N0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3IgeworCXN0cnVjdCByZWZfaXRlcmF0b3IgYmFzZTsKKworCS8qCisJICogVGhlIG51bWJlciBvZiBsZXZlbHMgY3VycmVudGx5IG9uIHRoZSBzdGFjay4gVGhpcyBpcyBhbHdheXMKKwkgKiBhdCBsZWFzdCAxLCBiZWNhdXNlIHdoZW4gaXQgYmVjb21lcyB6ZXJvIHRoZSBpdGVyYXRpb24gaXMKKwkgKiBlbmRlZCBhbmQgdGhpcyBzdHJ1Y3QgaXMgZnJlZWQuCisJICovCisJc2l6ZV90IGxldmVsc19ucjsKKworCS8qIFRoZSBudW1iZXIgb2YgbGV2ZWxzIHRoYXQgaGF2ZSBiZWVuIGFsbG9jYXRlZCBvbiB0aGUgc3RhY2sgKi8KKwlzaXplX3QgbGV2ZWxzX2FsbG9jOworCisJLyoKKwkgKiBPbmx5IGluY2x1ZGUgcmVmZXJlbmNlcyB3aXRoIHRoaXMgcHJlZml4IGluIHRoZSBpdGVyYXRpb24uCisJICogVGhlIHByZWZpeCBpcyBtYXRjaGVkIHRleHR1YWxseSwgd2l0aG91dCByZWdhcmQgZm9yIHBhdGgKKwkgKiBjb21wb25lbnQgYm91bmRhcmllcy4KKwkgKi8KKwljb25zdCBjaGFyICpwcmVmaXg7CisKKwkvKgorCSAqIEEgc3RhY2sgb2YgbGV2ZWxzLiBsZXZlbHNbMF0gaXMgdGhlIHVwcGVybW9zdCBsZXZlbCB0aGF0IGlzCisJICogYmVpbmcgaXRlcmF0ZWQgb3ZlciBpbiB0aGlzIGl0ZXJhdGlvbi4gKFRoaXMgaXMgbm90CisJICogbmVjZXNzYXJ5IHRoZSB0b3AgbGV2ZWwgaW4gdGhlIHJlZmVyZW5jZXMgaGllcmFyY2h5LiBJZiB3ZQorCSAqIGFyZSBpdGVyYXRpbmcgdGhyb3VnaCBhIHN1YnRyZWUsIHRoZW4gbGV2ZWxzWzBdIHdpbGwgaG9sZAorCSAqIHRoZSByZWZfZGlyIGZvciB0aGF0IHN1YnRyZWUsIGFuZCBzdWJzZXF1ZW50IGxldmVscyB3aWxsIGdvCisJICogb24gZnJvbSB0aGVyZS4pCisJICovCisJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWxzOworfTsKKworc3RhdGljIGludCBjYWNoZV9yZWZfaXRlcmF0b3JfYWR2YW5jZShzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpCit7CisJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciAqaXRlciA9CisJCShzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yICopcmVmX2l0ZXJhdG9yOworCisJd2hpbGUgKDEpIHsKKwkJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWwgPQorCQkJJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIgLSAxXTsKKwkJc3RydWN0IHJlZl9kaXIgKmRpciA9IGxldmVsLT5kaXI7CisJCXN0cnVjdCByZWZfZW50cnkgKmVudHJ5OworCQllbnVtIHByZWZpeF9zdGF0ZSBlbnRyeV9wcmVmaXhfc3RhdGU7CisKKwkJaWYgKGxldmVsLT5pbmRleCA9PSAtMSkKKwkJCXNvcnRfcmVmX2RpcihkaXIpOworCisJCWlmICgrK2xldmVsLT5pbmRleCA9PSBsZXZlbC0+ZGlyLT5ucikgeworCQkJLyogVGhpcyBsZXZlbCBpcyBleGhhdXN0ZWQ7IHBvcCB1cCBhIGxldmVsICovCisJCQlpZiAoLS1pdGVyLT5sZXZlbHNfbnIgPT0gMCkKKwkJCQlyZXR1cm4gcmVmX2l0ZXJhdG9yX2Fib3J0KHJlZl9pdGVyYXRvcik7CisKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJZW50cnkgPSBkaXItPmVudHJpZXNbbGV2ZWwtPmluZGV4XTsKKworCQlpZiAobGV2ZWwtPnByZWZpeF9zdGF0ZSA9PSBQUkVGSVhfV0lUSElOX0RJUikgeworCQkJZW50cnlfcHJlZml4X3N0YXRlID0gb3ZlcmxhcHNfcHJlZml4KGVudHJ5LT5uYW1lLCBpdGVyLT5wcmVmaXgpOworCQkJaWYgKGVudHJ5X3ByZWZpeF9zdGF0ZSA9PSBQUkVGSVhfRVhDTFVERVNfRElSKQorCQkJCWNvbnRpbnVlOworCQl9IGVsc2UgeworCQkJZW50cnlfcHJlZml4X3N0YXRlID0gbGV2ZWwtPnByZWZpeF9zdGF0ZTsKKwkJfQorCisJCWlmIChlbnRyeS0+ZmxhZyAmIFJFRl9ESVIpIHsKKwkJCS8qIHB1c2ggZG93biBhIGxldmVsICovCisJCQlBTExPQ19HUk9XKGl0ZXItPmxldmVscywgaXRlci0+bGV2ZWxzX25yICsgMSwKKwkJCQkgICBpdGVyLT5sZXZlbHNfYWxsb2MpOworCisJCQlsZXZlbCA9ICZpdGVyLT5sZXZlbHNbaXRlci0+bGV2ZWxzX25yKytdOworCQkJbGV2ZWwtPmRpciA9IGdldF9yZWZfZGlyKGVudHJ5KTsKKwkJCWxldmVsLT5wcmVmaXhfc3RhdGUgPSBlbnRyeV9wcmVmaXhfc3RhdGU7CisJCQlsZXZlbC0+aW5kZXggPSAtMTsKKwkJfSBlbHNlIHsKKwkJCWl0ZXItPmJhc2UucmVmbmFtZSA9IGVudHJ5LT5uYW1lOworCQkJaXRlci0+YmFzZS5vaWQgPSAmZW50cnktPnUudmFsdWUub2lkOworCQkJaXRlci0+YmFzZS5mbGFncyA9IGVudHJ5LT5mbGFnOworCQkJcmV0dXJuIElURVJfT0s7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgY2FjaGVfcmVmX2l0ZXJhdG9yX3BlZWwoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yLAorCQkJCSAgIHN0cnVjdCBvYmplY3RfaWQgKnBlZWxlZCkKK3sKKwlyZXR1cm4gcGVlbF9vYmplY3QocmVmX2l0ZXJhdG9yLT5vaWQtPmhhc2gsIHBlZWxlZC0+aGFzaCk7Cit9CisKK3N0YXRpYyBpbnQgY2FjaGVfcmVmX2l0ZXJhdG9yX2Fib3J0KHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKK3sKKwlzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yICppdGVyID0KKwkJKHN0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3IgKilyZWZfaXRlcmF0b3I7CisKKwlmcmVlKChjaGFyICopaXRlci0+cHJlZml4KTsKKwlmcmVlKGl0ZXItPmxldmVscyk7CisJYmFzZV9yZWZfaXRlcmF0b3JfZnJlZShyZWZfaXRlcmF0b3IpOworCXJldHVybiBJVEVSX0RPTkU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcmVmX2l0ZXJhdG9yX3Z0YWJsZSBjYWNoZV9yZWZfaXRlcmF0b3JfdnRhYmxlID0geworCWNhY2hlX3JlZl9pdGVyYXRvcl9hZHZhbmNlLAorCWNhY2hlX3JlZl9pdGVyYXRvcl9wZWVsLAorCWNhY2hlX3JlZl9pdGVyYXRvcl9hYm9ydAorfTsKKworc3RydWN0IHJlZl9pdGVyYXRvciAqY2FjaGVfcmVmX2l0ZXJhdG9yX2JlZ2luKHN0cnVjdCByZWZfY2FjaGUgKmNhY2hlLAorCQkJCQkgICAgICBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJCSAgICAgIGludCBwcmltZV9kaXIpCit7CisJc3RydWN0IHJlZl9kaXIgKmRpcjsKKwlzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yICppdGVyOworCXN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcjsKKwlzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yX2xldmVsICpsZXZlbDsKKworCWRpciA9IGdldF9yZWZfZGlyKGNhY2hlLT5yb290KTsKKwlpZiAocHJlZml4ICYmICpwcmVmaXgpCisJCWRpciA9IGZpbmRfY29udGFpbmluZ19kaXIoZGlyLCBwcmVmaXgsIDApOworCWlmICghZGlyKQorCQkvKiBUaGVyZSdzIG5vdGhpbmcgdG8gaXRlcmF0ZSBvdmVyLiAqLworCQlyZXR1cm4gZW1wdHlfcmVmX2l0ZXJhdG9yX2JlZ2luKCk7CisKKwlpZiAocHJpbWVfZGlyKQorCQlwcmltZV9yZWZfZGlyKGRpciwgcHJlZml4KTsKKworCWl0ZXIgPSB4Y2FsbG9jKDEsIHNpemVvZigqaXRlcikpOworCXJlZl9pdGVyYXRvciA9ICZpdGVyLT5iYXNlOworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmY2FjaGVfcmVmX2l0ZXJhdG9yX3Z0YWJsZSwgMSk7CisJQUxMT0NfR1JPVyhpdGVyLT5sZXZlbHMsIDEwLCBpdGVyLT5sZXZlbHNfYWxsb2MpOworCisJaXRlci0+bGV2ZWxzX25yID0gMTsKKwlsZXZlbCA9ICZpdGVyLT5sZXZlbHNbMF07CisJbGV2ZWwtPmluZGV4ID0gLTE7CisJbGV2ZWwtPmRpciA9IGRpcjsKKworCWlmIChwcmVmaXggJiYgKnByZWZpeCkgeworCQlpdGVyLT5wcmVmaXggPSB4c3RyZHVwKHByZWZpeCk7CisJCWxldmVsLT5wcmVmaXhfc3RhdGUgPSBQUkVGSVhfV0lUSElOX0RJUjsKKwl9IGVsc2UgeworCQlsZXZlbC0+cHJlZml4X3N0YXRlID0gUFJFRklYX0NPTlRBSU5TX0RJUjsKKwl9CisKKwlyZXR1cm4gcmVmX2l0ZXJhdG9yOworfQpkaWZmIC0tZ2l0IGEvcmVmcy9yZWYtY2FjaGUuaCBiL3JlZnMvcmVmLWNhY2hlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRhNjVlNwotLS0gL2Rldi9udWxsCisrKyBiL3JlZnMvcmVmLWNhY2hlLmgKQEAgLTAsMCArMSwyNDAgQEAKKyNpZm5kZWYgUkVGU19SRUZfQ0FDSEVfSAorI2RlZmluZSBSRUZTX1JFRl9DQUNIRV9ICisKK3N0cnVjdCByZWZfZGlyOworCisvKgorICogSWYgdGhpcyByZWZfY2FjaGUgaXMgZmlsbGVkIGxhemlseSwgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGxvYWQKKyAqIGluZm9ybWF0aW9uIGludG8gdGhlIHNwZWNpZmllZCByZWZfZGlyIChzaGFsbG93IG9yIGRlZXAsIGF0IHRoZQorICogb3B0aW9uIG9mIHRoZSByZWZfc3RvcmUpLiBkaXJuYW1lIGluY2x1ZGVzIGEgdHJhaWxpbmcgc2xhc2guCisgKi8KK3R5cGVkZWYgdm9pZCBmaWxsX3JlZl9kaXJfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgICBzdHJ1Y3QgcmVmX2RpciAqZGlyLCBjb25zdCBjaGFyICpkaXJuYW1lKTsKKworc3RydWN0IHJlZl9jYWNoZSB7CisJc3RydWN0IHJlZl9lbnRyeSAqcm9vdDsKKworCS8qIEEgcG9pbnRlciB0byB0aGUgcmVmX3N0b3JlIHdob3NlIGNhY2hlIHRoaXMgaXM6ICovCisJc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlOworCisJLyoKKwkgKiBGdW5jdGlvbiB1c2VkIChpZiBuZWNlc3NhcnkpIHRvIGxhemlseS1maWxsIGNhY2hlLiBNYXkgYmUKKwkgKiBOVUxMLgorCSAqLworCWZpbGxfcmVmX2Rpcl9mbiAqZmlsbF9yZWZfZGlyOworfTsKKworLyoKKyAqIEluZm9ybWF0aW9uIHVzZWQgKGFsb25nIHdpdGggdGhlIGluZm9ybWF0aW9uIGluIHJlZl9lbnRyeSkgdG8KKyAqIGRlc2NyaWJlIGEgc2luZ2xlIGNhY2hlZCByZWZlcmVuY2UuICBUaGlzIGRhdGEgc3RydWN0dXJlIG9ubHkKKyAqIG9jY3VycyBlbWJlZGRlZCBpbiBhIHVuaW9uIGluIHN0cnVjdCByZWZfZW50cnksIGFuZCBvbmx5IHdoZW4KKyAqIChyZWZfZW50cnktPmZsYWcgJiBSRUZfRElSKSBpcyB6ZXJvLgorICovCitzdHJ1Y3QgcmVmX3ZhbHVlIHsKKwkvKgorCSAqIFRoZSBuYW1lIG9mIHRoZSBvYmplY3QgdG8gd2hpY2ggdGhpcyByZWZlcmVuY2UgcmVzb2x2ZXMKKwkgKiAod2hpY2ggbWF5IGJlIGEgdGFnIG9iamVjdCkuICBJZiBSRUZfSVNCUk9LRU4sIHRoaXMgaXMKKwkgKiBudWxsLiAgSWYgUkVGX0lTU1lNUkVGLCB0aGVuIHRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIG9iamVjdAorCSAqIHJlZmVycmVkIHRvIGJ5IHRoZSBsYXN0IHJlZmVyZW5jZSBpbiB0aGUgc3ltbGluayBjaGFpbi4KKwkgKi8KKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKK307CisKKy8qCisgKiBJbmZvcm1hdGlvbiB1c2VkIChhbG9uZyB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpbiByZWZfZW50cnkpIHRvCisgKiBkZXNjcmliZSBhIGxldmVsIGluIHRoZSBoaWVyYXJjaHkgb2YgcmVmZXJlbmNlcy4gIFRoaXMgZGF0YQorICogc3RydWN0dXJlIG9ubHkgb2NjdXJzIGVtYmVkZGVkIGluIGEgdW5pb24gaW4gc3RydWN0IHJlZl9lbnRyeSwgYW5kCisgKiBvbmx5IHdoZW4gKHJlZl9lbnRyeS5mbGFnICYgUkVGX0RJUikgaXMgc2V0LiAgSW4gdGhhdCBjYXNlLAorICogKHJlZl9lbnRyeS5mbGFnICYgUkVGX0lOQ09NUExFVEUpIGRldGVybWluZXMgd2hldGhlciB0aGUgcmVmZXJlbmNlcworICogaW4gdGhlIGRpcmVjdG9yeSBoYXZlIGFscmVhZHkgYmVlbiByZWFkOgorICoKKyAqICAgICAocmVmX2VudHJ5LmZsYWcgJiBSRUZfSU5DT01QTEVURSkgdW5zZXQgLS0gYSBkaXJlY3Rvcnkgb2YgbG9vc2UKKyAqICAgICAgICAgb3IgcGFja2VkIHJlZmVyZW5jZXMsIGFscmVhZHkgcmVhZC4KKyAqCisgKiAgICAgKHJlZl9lbnRyeS5mbGFnICYgUkVGX0lOQ09NUExFVEUpIHNldCAtLSBhIGRpcmVjdG9yeSBvZiBsb29zZQorICogICAgICAgICByZWZlcmVuY2VzIHRoYXQgaGFzbid0IGJlZW4gcmVhZCB5ZXQgKG5vciBoYXMgYW55IG9mIGl0cworICogICAgICAgICBzdWJkaXJlY3RvcmllcykuCisgKgorICogRW50cmllcyB3aXRoaW4gYSBkaXJlY3RvcnkgYXJlIHN0b3JlZCB3aXRoaW4gYSBncm93YWJsZSBhcnJheSBvZgorICogcG9pbnRlcnMgdG8gcmVmX2VudHJpZXMgKGVudHJpZXMsIG5yLCBhbGxvYykuICBFbnRyaWVzIDAgPD0gaSA8CisgKiBzb3J0ZWQgYXJlIHNvcnRlZCBieSB0aGVpciBjb21wb25lbnQgbmFtZSBpbiBzdHJjbXAoKSBvcmRlciBhbmQgdGhlCisgKiByZW1haW5pbmcgZW50cmllcyBhcmUgdW5zb3J0ZWQuCisgKgorICogTG9vc2UgcmVmZXJlbmNlcyBhcmUgcmVhZCBsYXppbHksIG9uZSBkaXJlY3RvcnkgYXQgYSB0aW1lLiAgV2hlbiBhCisgKiBkaXJlY3Rvcnkgb2YgbG9vc2UgcmVmZXJlbmNlcyBpcyByZWFkLCB0aGVuIGFsbCBvZiB0aGUgcmVmZXJlbmNlcworICogaW4gdGhhdCBkaXJlY3RvcnkgYXJlIHN0b3JlZCwgYW5kIFJFRl9JTkNPTVBMRVRFIHN0dWJzIGFyZSBjcmVhdGVkCisgKiBmb3IgYW55IHN1YmRpcmVjdG9yaWVzLCBidXQgdGhlIHN1YmRpcmVjdG9yaWVzIHRoZW1zZWx2ZXMgYXJlIG5vdAorICogcmVhZC4gIFRoZSByZWFkaW5nIGlzIHRyaWdnZXJlZCBieSBnZXRfcmVmX2RpcigpLgorICovCitzdHJ1Y3QgcmVmX2RpciB7CisJaW50IG5yLCBhbGxvYzsKKworCS8qCisJICogRW50cmllcyB3aXRoIGluZGV4IDAgPD0gaSA8IHNvcnRlZCBhcmUgc29ydGVkIGJ5IG5hbWUuICBOZXcKKwkgKiBlbnRyaWVzIGFyZSBhcHBlbmRlZCB0byB0aGUgbGlzdCB1bnNvcnRlZCwgYW5kIGFyZSBzb3J0ZWQKKwkgKiBvbmx5IHdoZW4gcmVxdWlyZWQ7IHRodXMgd2UgYXZvaWQgdGhlIG5lZWQgdG8gc29ydCB0aGUgbGlzdAorCSAqIGFmdGVyIHRoZSBhZGRpdGlvbiBvZiBldmVyeSByZWZlcmVuY2UuCisJICovCisJaW50IHNvcnRlZDsKKworCS8qIFRoZSByZWZfY2FjaGUgY29udGFpbmluZyB0aGlzIGVudHJ5OiAqLworCXN0cnVjdCByZWZfY2FjaGUgKmNhY2hlOworCisJc3RydWN0IHJlZl9lbnRyeSAqKmVudHJpZXM7Cit9OworCisvKgorICogQml0IHZhbHVlcyBmb3IgcmVmX2VudHJ5OjpmbGFnLiAgUkVGX0lTU1lNUkVGPTB4MDEsCisgKiBSRUZfSVNQQUNLRUQ9MHgwMiwgUkVGX0lTQlJPS0VOPTB4MDQgYW5kIFJFRl9CQURfTkFNRT0weDA4IGFyZQorICogcHVibGljIHZhbHVlczsgc2VlIHJlZnMuaC4KKyAqLworCisvKiByZWZfZW50cnkgcmVwcmVzZW50cyBhIGRpcmVjdG9yeSBvZiByZWZlcmVuY2VzICovCisjZGVmaW5lIFJFRl9ESVIgMHgxMAorCisvKgorICogRW50cnkgaGFzIG5vdCB5ZXQgYmVlbiByZWFkIGZyb20gZGlzayAodXNlZCBvbmx5IGZvciBSRUZfRElSCisgKiBlbnRyaWVzIHJlcHJlc2VudGluZyBsb29zZSByZWZlcmVuY2VzKQorICovCisjZGVmaW5lIFJFRl9JTkNPTVBMRVRFIDB4MjAKKworLyoKKyAqIEEgcmVmX2VudHJ5IHJlcHJlc2VudHMgZWl0aGVyIGEgcmVmZXJlbmNlIG9yIGEgInN1YmRpcmVjdG9yeSIgb2YKKyAqIHJlZmVyZW5jZXMuCisgKgorICogRWFjaCBkaXJlY3RvcnkgaW4gdGhlIHJlZmVyZW5jZSBuYW1lc3BhY2UgaXMgcmVwcmVzZW50ZWQgYnkgYQorICogcmVmX2VudHJ5IHdpdGggKGZsYWdzICYgUkVGX0RJUikgc2V0IGFuZCBjb250YWluaW5nIGEgc3ViZGlyIG1lbWJlcgorICogdGhhdCBob2xkcyB0aGUgZW50cmllcyBpbiB0aGF0IGRpcmVjdG9yeSB0aGF0IGhhdmUgYmVlbiByZWFkIHNvCisgKiBmYXIuICBJZiAoZmxhZ3MgJiBSRUZfSU5DT01QTEVURSkgaXMgc2V0LCB0aGVuIHRoZSBkaXJlY3RvcnkgYW5kCisgKiBpdHMgc3ViZGlyZWN0b3JpZXMgaGF2ZW4ndCBiZWVuIHJlYWQgeWV0LiAgUkVGX0lOQ09NUExFVEUgaXMgb25seQorICogdXNlZCBmb3IgbG9vc2UgcmVmZXJlbmNlIGRpcmVjdG9yaWVzLgorICoKKyAqIFJlZmVyZW5jZXMgYXJlIHJlcHJlc2VudGVkIGJ5IGEgcmVmX2VudHJ5IHdpdGggKGZsYWdzICYgUkVGX0RJUikKKyAqIHVuc2V0IGFuZCBhIHZhbHVlIG1lbWJlciB0aGF0IGRlc2NyaWJlcyB0aGUgcmVmZXJlbmNlJ3MgdmFsdWUuICBUaGUKKyAqIGZsYWcgbWVtYmVyIGlzIGF0IHRoZSByZWZfZW50cnkgbGV2ZWwsIGJ1dCBpdCBpcyBhbHNvIG5lZWRlZCB0bworICogaW50ZXJwcmV0IHRoZSBjb250ZW50cyBvZiB0aGUgdmFsdWUgZmllbGQgKGluIG90aGVyIHdvcmRzLCBhCisgKiByZWZfdmFsdWUgb2JqZWN0IGlzIG5vdCB2ZXJ5IG11Y2ggdXNlIHdpdGhvdXQgdGhlIGVuY2xvc2luZworICogcmVmX2VudHJ5KS4KKyAqCisgKiBSZWZlcmVuY2UgbmFtZXMgY2Fubm90IGVuZCB3aXRoIHNsYXNoIGFuZCBkaXJlY3RvcmllcycgbmFtZXMgYXJlCisgKiBhbHdheXMgc3RvcmVkIHdpdGggYSB0cmFpbGluZyBzbGFzaCAoZXhjZXB0IGZvciB0aGUgdG9wLWxldmVsCisgKiBkaXJlY3RvcnksIHdoaWNoIGlzIGFsd2F5cyBkZW5vdGVkIGJ5ICIiKS4gIFRoaXMgaGFzIHR3byBuaWNlCisgKiBjb25zZXF1ZW5jZXM6ICgxKSB3aGVuIHRoZSBlbnRyaWVzIGluIGVhY2ggc3ViZGlyIGFyZSBzb3J0ZWQKKyAqIGxleGljb2dyYXBoaWNhbGx5IGJ5IG5hbWUgKGFzIHRoZXkgdXN1YWxseSBhcmUpLCB0aGUgcmVmZXJlbmNlcyBpbgorICogYSB3aG9sZSB0cmVlIGNhbiBiZSBnZW5lcmF0ZWQgaW4gbGV4aWNvZ3JhcGhpYyBvcmRlciBieSB0cmF2ZXJzaW5nCisgKiB0aGUgdHJlZSBpbiBsZWZ0LXRvLXJpZ2h0LCBkZXB0aC1maXJzdCBvcmRlcjsgKDIpIHRoZSBuYW1lcyBvZgorICogcmVmZXJlbmNlcyBhbmQgc3ViZGlyZWN0b3JpZXMgY2Fubm90IGNvbmZsaWN0LCBhbmQgdGhlcmVmb3JlIHRoZQorICogcHJlc2VuY2Ugb2YgYW4gZW1wdHkgc3ViZGlyZWN0b3J5IGRvZXMgbm90IGJsb2NrIHRoZSBjcmVhdGlvbiBvZiBhCisgKiBzaW1pbGFybHktbmFtZWQgcmVmZXJlbmNlLiAgKFRoZSBmYWN0IHRoYXQgcmVmZXJlbmNlIG5hbWVzIHdpdGggdGhlCisgKiBzYW1lIGxlYWRpbmcgY29tcG9uZW50cyBjYW4gY29uZmxpY3QgKndpdGggZWFjaCBvdGhlciogaXMgYQorICogc2VwYXJhdGUgaXNzdWUgdGhhdCBpcyByZWd1bGF0ZWQgYnkgcmVmc192ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUoKS4pCisgKgorICogUGxlYXNlIG5vdGUgdGhhdCB0aGUgbmFtZSBmaWVsZCBjb250YWlucyB0aGUgZnVsbHktcXVhbGlmaWVkCisgKiByZWZlcmVuY2UgKG9yIHN1YmRpcmVjdG9yeSkgbmFtZS4gIFNwYWNlIGNvdWxkIGJlIHNhdmVkIGJ5IG9ubHkKKyAqIHN0b3JpbmcgdGhlIHJlbGF0aXZlIG5hbWVzLiAgQnV0IHRoYXQgd291bGQgcmVxdWlyZSB0aGUgZnVsbCBuYW1lcworICogdG8gYmUgZ2VuZXJhdGVkIG9uIHRoZSBmbHkgd2hlbiBpdGVyYXRpbmcgaW4gZG9fZm9yX2VhY2hfcmVmKCksIGFuZAorICogd291bGQgYnJlYWsgY2FsbGJhY2sgZnVuY3Rpb25zLCB3aG8gaGF2ZSBhbHdheXMgYmVlbiBhYmxlIHRvIGFzc3VtZQorICogdGhhdCB0aGUgbmFtZSBzdHJpbmdzIHRoYXQgdGhleSBhcmUgcGFzc2VkIHdpbGwgbm90IGJlIGZyZWVkIGR1cmluZworICogdGhlIGl0ZXJhdGlvbi4KKyAqLworc3RydWN0IHJlZl9lbnRyeSB7CisJdW5zaWduZWQgY2hhciBmbGFnOyAvKiBJU1NZTVJFRj8gSVNQQUNLRUQ/ICovCisJdW5pb24geworCQlzdHJ1Y3QgcmVmX3ZhbHVlIHZhbHVlOyAvKiBpZiBub3QgKGZsYWdzJlJFRl9ESVIpICovCisJCXN0cnVjdCByZWZfZGlyIHN1YmRpcjsgLyogaWYgKGZsYWdzJlJFRl9ESVIpICovCisJfSB1OworCS8qCisJICogVGhlIGZ1bGwgbmFtZSBvZiB0aGUgcmVmZXJlbmNlIChlLmcuLCAicmVmcy9oZWFkcy9tYXN0ZXIiKQorCSAqIG9yIHRoZSBmdWxsIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB3aXRoIGEgdHJhaWxpbmcgc2xhc2gKKwkgKiAoZS5nLiwgInJlZnMvaGVhZHMvIik6CisJICovCisJY2hhciBuYW1lW0ZMRVhfQVJSQVldOworfTsKKworLyoKKyAqIFJldHVybiB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IHdpdGggdGhlIGdpdmVuIHJlZm5hbWUgZnJvbSB0aGUKKyAqIHJlZl9kaXIgKG5vbi1yZWN1cnNpdmVseSksIHNvcnRpbmcgZGlyIGlmIG5lY2Vzc2FyeS4gIFJldHVybiAtMSBpZgorICogbm8gc3VjaCBlbnRyeSBpcyBmb3VuZC4gIGRpciBtdXN0IGFscmVhZHkgYmUgY29tcGxldGUuCisgKi8KK2ludCBzZWFyY2hfcmVmX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyLCBjb25zdCBjaGFyICpyZWZuYW1lLCBzaXplX3QgbGVuKTsKKworc3RydWN0IHJlZl9kaXIgKmdldF9yZWZfZGlyKHN0cnVjdCByZWZfZW50cnkgKmVudHJ5KTsKKworLyoKKyAqIENyZWF0ZSBhIHN0cnVjdCByZWZfZW50cnkgb2JqZWN0IGZvciB0aGUgc3BlY2lmaWVkIGRpcm5hbWUuCisgKiBkaXJuYW1lIGlzIHRoZSBuYW1lIG9mIHRoZSBkaXJlY3Rvcnkgd2l0aCBhIHRyYWlsaW5nIHNsYXNoIChlLmcuLAorICogInJlZnMvaGVhZHMvIikgb3IgIiIgZm9yIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgorICovCitzdHJ1Y3QgcmVmX2VudHJ5ICpjcmVhdGVfZGlyX2VudHJ5KHN0cnVjdCByZWZfY2FjaGUgKmNhY2hlLAorCQkJCSAgIGNvbnN0IGNoYXIgKmRpcm5hbWUsIHNpemVfdCBsZW4sCisJCQkJICAgaW50IGluY29tcGxldGUpOworCitzdHJ1Y3QgcmVmX2VudHJ5ICpjcmVhdGVfcmVmX2VudHJ5KGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZmxhZyk7CisKKy8qCisgKiBSZXR1cm4gYSBwb2ludGVyIHRvIGEgbmV3IGByZWZfY2FjaGVgLiBJdHMgdG9wLWxldmVsIHN0YXJ0cyBvdXQKKyAqIG1hcmtlZCBpbmNvbXBsZXRlLiBJZiBgZmlsbF9yZWZfZGlyYCBpcyBub24tTlVMTCwgaXQgaXMgdGhlCisgKiBmdW5jdGlvbiBjYWxsZWQgdG8gZmlsbCBpbiBpbmNvbXBsZXRlIGRpcmVjdG9yaWVzIGluIHRoZQorICogYHJlZl9jYWNoZWAgd2hlbiB0aGV5IGFyZSBhY2Nlc3NlZC4gSWYgaXQgaXMgTlVMTCwgdGhlbiB0aGUgd2hvbGUKKyAqIGByZWZfY2FjaGVgIG11c3QgYmUgZmlsbGVkIChpbmNsdWRpbmcgY2xlYXJpbmcgaXRzIGRpcmVjdG9yaWVzJworICogYFJFRl9JTkNPTVBMRVRFYCBiaXRzKSBiZWZvcmUgaXQgaXMgdXNlZCwgYW5kIGByZWZzYCBjYW4gYmUgTlVMTCwKKyAqIHRvby4KKyAqLworc3RydWN0IHJlZl9jYWNoZSAqY3JlYXRlX3JlZl9jYWNoZShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLAorCQkJCSAgIGZpbGxfcmVmX2Rpcl9mbiAqZmlsbF9yZWZfZGlyKTsKKworLyoKKyAqIEZyZWUgdGhlIGByZWZfY2FjaGVgIGFuZCBhbGwgb2YgaXRzIGFzc29jaWF0ZWQgZGF0YS4KKyAqLwordm9pZCBmcmVlX3JlZl9jYWNoZShzdHJ1Y3QgcmVmX2NhY2hlICpjYWNoZSk7CisKKy8qCisgKiBBZGQgYSByZWZfZW50cnkgdG8gdGhlIGVuZCBvZiBkaXIgKHVuc29ydGVkKS4gIEVudHJ5IGlzIGFsd2F5cworICogc3RvcmVkIGRpcmVjdGx5IGluIGRpcjsgbm8gcmVjdXJzaW9uIGludG8gc3ViZGlyZWN0b3JpZXMgaXMKKyAqIGRvbmUuCisgKi8KK3ZvaWQgYWRkX2VudHJ5X3RvX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyLCBzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeSk7CisKKy8qCisgKiBSZW1vdmUgdGhlIGVudHJ5IHdpdGggdGhlIGdpdmVuIG5hbWUgZnJvbSBkaXIsIHJlY3Vyc2luZyBpbnRvCisgKiBzdWJkaXJlY3RvcmllcyBhcyBuZWNlc3NhcnkuICBJZiByZWZuYW1lIGlzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5CisgKiAoaS5lLiwgZW5kcyB3aXRoICcvJyksIHRoZW4gcmVtb3ZlIHRoZSBkaXJlY3RvcnkgYW5kIGl0cyBjb250ZW50cy4KKyAqIElmIHRoZSByZW1vdmFsIHdhcyBzdWNjZXNzZnVsLCByZXR1cm4gdGhlIG51bWJlciBvZiBlbnRyaWVzCisgKiByZW1haW5pbmcgaW4gdGhlIGRpcmVjdG9yeSBlbnRyeSB0aGF0IGNvbnRhaW5lZCB0aGUgZGVsZXRlZCBlbnRyeS4KKyAqIElmIHRoZSBuYW1lIHdhcyBub3QgZm91bmQsIHJldHVybiAtMS4gIFBsZWFzZSBub3RlIHRoYXQgdGhpcworICogZnVuY3Rpb24gb25seSBkZWxldGVzIHRoZSBlbnRyeSBmcm9tIHRoZSBjYWNoZTsgaXQgZG9lcyBub3QgZGVsZXRlCisgKiBpdCBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIGVuc3VyZSB0aGF0IG90aGVyIGNhY2hlIGVudHJpZXMgKHdoaWNoCisgKiBtaWdodCBiZSBzeW1ib2xpYyByZWZlcmVuY2VzIHRvIHRoZSByZW1vdmVkIGVudHJ5KSBhcmUgdXBkYXRlZC4KKyAqIE5vciBkb2VzIGl0IHJlbW92ZSBhbnkgY29udGFpbmluZyBkaXIgZW50cmllcyB0aGF0IG1pZ2h0IGJlIG1hZGUKKyAqIGVtcHR5IGJ5IHRoZSByZW1vdmFsLiAgZGlyIG11c3QgcmVwcmVzZW50IHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5CisgKiBhbmQgbXVzdCBhbHJlYWR5IGJlIGNvbXBsZXRlLgorICovCitpbnQgcmVtb3ZlX2VudHJ5X2Zyb21fZGlyKHN0cnVjdCByZWZfZGlyICpkaXIsIGNvbnN0IGNoYXIgKnJlZm5hbWUpOworCisvKgorICogQWRkIGEgcmVmX2VudHJ5IHRvIHRoZSByZWZfZGlyICh1bnNvcnRlZCksIHJlY3Vyc2luZyBpbnRvCisgKiBzdWJkaXJlY3RvcmllcyBhcyBuZWNlc3NhcnkuICBkaXIgbXVzdCByZXByZXNlbnQgdGhlIHRvcC1sZXZlbAorICogZGlyZWN0b3J5LiAgUmV0dXJuIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IGFkZF9yZWZfZW50cnkoc3RydWN0IHJlZl9kaXIgKmRpciwgc3RydWN0IHJlZl9lbnRyeSAqcmVmKTsKKworLyoKKyAqIEZpbmQgdGhlIHZhbHVlIGVudHJ5IHdpdGggdGhlIGdpdmVuIG5hbWUgaW4gZGlyLCBzb3J0aW5nIHJlZl9kaXJzCisgKiBhbmQgcmVjdXJzaW5nIGludG8gc3ViZGlyZWN0b3JpZXMgYXMgbmVjZXNzYXJ5LiAgSWYgdGhlIG5hbWUgaXMgbm90CisgKiBmb3VuZCBvciBpdCBjb3JyZXNwb25kcyB0byBhIGRpcmVjdG9yeSBlbnRyeSwgcmV0dXJuIE5VTEwuCisgKi8KK3N0cnVjdCByZWZfZW50cnkgKmZpbmRfcmVmX2VudHJ5KHN0cnVjdCByZWZfZGlyICpkaXIsIGNvbnN0IGNoYXIgKnJlZm5hbWUpOworCisvKgorICogU3RhcnQgaXRlcmF0aW5nIG92ZXIgcmVmZXJlbmNlcyBpbiBgY2FjaGVgLiBJZiBgcHJlZml4YCBpcworICogc3BlY2lmaWVkLCBvbmx5IGluY2x1ZGUgcmVmZXJlbmNlcyB3aG9zZSBuYW1lcyBzdGFydCB3aXRoIHRoYXQKKyAqIHByZWZpeC4gSWYgYHByaW1lX2RpcmAgaXMgdHJ1ZSwgdGhlbiBmaWxsIGFueSBpbmNvbXBsZXRlCisgKiBkaXJlY3RvcmllcyBiZWZvcmUgYmVnaW5uaW5nIHRoZSBpdGVyYXRpb24uIFRoZSBvdXRwdXQgaXMgb3JkZXJlZAorICogYnkgcmVmbmFtZS4KKyAqLworc3RydWN0IHJlZl9pdGVyYXRvciAqY2FjaGVfcmVmX2l0ZXJhdG9yX2JlZ2luKHN0cnVjdCByZWZfY2FjaGUgKmNhY2hlLAorCQkJCQkgICAgICBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJCSAgICAgIGludCBwcmltZV9kaXIpOworCisjZW5kaWYgLyogUkVGU19SRUZfQ0FDSEVfSCAqLwpkaWZmIC0tZ2l0IGEvcmVmcy9yZWZzLWludGVybmFsLmggYi9yZWZzL3JlZnMtaW50ZXJuYWwuaAppbmRleCAyNTQ0NGNmLi40NDhkZTRiIDEwMDY0NAotLS0gYS9yZWZzL3JlZnMtaW50ZXJuYWwuaAorKysgYi9yZWZzL3JlZnMtaW50ZXJuYWwuaApAQCAtNTYsMjAgKzU2LDQyIEBACiAjZGVmaW5lIFJFRl9VUERBVEVfVklBX0hFQUQgMHgxMDAKIAogLyoKKyAqIFVzZWQgYXMgYSBmbGFnIGluIHJlZl91cGRhdGU6OmZsYWdzIHdoZW4gdGhlIGxvb3NlIHJlZmVyZW5jZSBoYXMKKyAqIGJlZW4gZGVsZXRlZC4KKyAqLworI2RlZmluZSBSRUZfREVMRVRFRF9MT09TRSAweDIwMAorCisvKgorICogUmV0dXJuIHRoZSBsZW5ndGggb2YgdGltZSB0byByZXRyeSBhY3F1aXJpbmcgYSBsb29zZSByZWZlcmVuY2UgbG9jaworICogYmVmb3JlIGdpdmluZyB1cCwgaW4gbWlsbGlzZWNvbmRzOgorICovCitsb25nIGdldF9maWxlc19yZWZfbG9ja190aW1lb3V0X21zKHZvaWQpOworCisvKgogICogUmV0dXJuIHRydWUgaWZmIHJlZm5hbWUgaXMgbWluaW1hbGx5IHNhZmUuICJTYWZlIiBoZXJlIG1lYW5zIHRoYXQKICAqIGRlbGV0aW5nIGEgbG9vc2UgcmVmZXJlbmNlIGJ5IHRoaXMgbmFtZSB3aWxsIG5vdCBkbyBhbnkgZGFtYWdlLCBmb3IKICAqIGV4YW1wbGUgYnkgY2F1c2luZyBhIGZpbGUgdGhhdCBpcyBub3QgYSByZWZlcmVuY2UgdG8gYmUgZGVsZXRlZC4KICAqIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY2hlY2sgdGhhdCB0aGUgcmVmZXJlbmNlIG5hbWUgaXMgbGVnYWw7IGZvcgogICogdGhhdCwgdXNlIGNoZWNrX3JlZm5hbWVfZm9ybWF0KCkuCiAgKgotICogV2UgY29uc2lkZXIgYSByZWZuYW1lIHRoYXQgc3RhcnRzIHdpdGggInJlZnMvIiB0byBiZSBzYWZlIGFzIGxvbmcKLSAqIGFzIGFueSAiLi4iIGNvbXBvbmVudHMgdGhhdCBpdCBtaWdodCBjb250YWluIGRvIG5vdCBlc2NhcGUgInJlZnMvIi4KLSAqIE5hbWVzIHRoYXQgZG8gbm90IHN0YXJ0IHdpdGggInJlZnMvIiBhcmUgY29uc2lkZXJlZCBzYWZlIGlmZiB0aGV5Ci0gKiBjb25zaXN0IGVudGlyZWx5IG9mIHVwcGVyIGNhc2UgY2hhcmFjdGVycyBhbmQgJ18nIChsaWtlICJIRUFEIiBhbmQKLSAqICJNRVJHRV9IRUFEIiBidXQgbm90ICJjb25maWciIG9yICJGT08vQkFSIikuCisgKiBBIHJlZm5hbWUgdGhhdCBzdGFydHMgd2l0aCAicmVmcy8iIGlzIGNvbnNpZGVyZWQgc2FmZSBpZmYgaXQKKyAqIGRvZXNuJ3QgY29udGFpbiBhbnkgIi4iIG9yICIuLiIgY29tcG9uZW50cyBvciBjb25zZWN1dGl2ZSAnLycKKyAqIGNoYXJhY3RlcnMsIGVuZCB3aXRoICcvJywgb3IgKG9uIFdpbmRvd3MpIGNvbnRhaW4gYW55ICdcJworICogY2hhcmFjdGVycy4gTmFtZXMgdGhhdCBkbyBub3Qgc3RhcnQgd2l0aCAicmVmcy8iIGFyZSBjb25zaWRlcmVkCisgKiBzYWZlIGlmZiB0aGV5IGNvbnNpc3QgZW50aXJlbHkgb2YgdXBwZXIgY2FzZSBjaGFyYWN0ZXJzIGFuZCAnXycKKyAqIChsaWtlICJIRUFEIiBhbmQgIk1FUkdFX0hFQUQiIGJ1dCBub3QgImNvbmZpZyIgb3IgIkZPTy9CQVIiKS4KICAqLwogaW50IHJlZm5hbWVfaXNfc2FmZShjb25zdCBjaGFyICpyZWZuYW1lKTsKIAorLyoKKyAqIEhlbHBlciBmdW5jdGlvbjogcmV0dXJuIHRydWUgaWYgcmVmbmFtZSwgd2hpY2ggaGFzIHRoZSBzcGVjaWZpZWQKKyAqIG9pZCBhbmQgZmxhZ3MsIGNhbiBiZSByZXNvbHZlZCB0byBhbiBvYmplY3QgaW4gdGhlIGRhdGFiYXNlLiBJZiB0aGUKKyAqIHJlZmVycmVkLXRvIG9iamVjdCBkb2VzIG5vdCBleGlzdCwgZW1pdCBhIHdhcm5pbmcgYW5kIHJldHVybiBmYWxzZS4KKyAqLworaW50IHJlZl9yZXNvbHZlc190b19vYmplY3QoY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgIHVuc2lnbmVkIGludCBmbGFncyk7CisKIGVudW0gcGVlbF9zdGF0dXMgewogCS8qIG9iamVjdCB3YXMgcGVlbGVkIHN1Y2Nlc3NmdWxseTogKi8KIAlQRUVMX1BFRUxFRCA9IDAsCkBAIC0xMDUsMjggKzEyNyw2IEBACiBlbnVtIHBlZWxfc3RhdHVzIHBlZWxfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogCiAvKgotICogUmV0dXJuIDAgaWYgYSByZWZlcmVuY2UgbmFtZWQgcmVmbmFtZSBjb3VsZCBiZSBjcmVhdGVkIHdpdGhvdXQKLSAqIGNvbmZsaWN0aW5nIHdpdGggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgcmVmZXJlbmNlLiBPdGhlcndpc2UsCi0gKiByZXR1cm4gYSBuZWdhdGl2ZSB2YWx1ZSBhbmQgd3JpdGUgYW4gZXhwbGFuYXRpb24gdG8gZXJyLiBJZiBleHRyYXMKLSAqIGlzIG5vbi1OVUxMLCBpdCBpcyBhIGxpc3Qgb2YgYWRkaXRpb25hbCByZWZuYW1lcyB3aXRoIHdoaWNoIHJlZm5hbWUKLSAqIGlzIG5vdCBhbGxvd2VkIHRvIGNvbmZsaWN0LiBJZiBza2lwIGlzIG5vbi1OVUxMLCBpZ25vcmUgcG90ZW50aWFsCi0gKiBjb25mbGljdHMgd2l0aCByZWZzIGluIHNraXAgKGUuZy4sIGJlY2F1c2UgdGhleSBhcmUgc2NoZWR1bGVkIGZvcgotICogZGVsZXRpb24gaW4gdGhlIHNhbWUgb3BlcmF0aW9uKS4gQmVoYXZpb3IgaXMgdW5kZWZpbmVkIGlmIHRoZSBzYW1lCi0gKiBuYW1lIGlzIGxpc3RlZCBpbiBib3RoIGV4dHJhcyBhbmQgc2tpcC4KLSAqCi0gKiBUd28gcmVmZXJlbmNlIG5hbWVzIGNvbmZsaWN0IGlmIG9uZSBvZiB0aGVtIGV4YWN0bHkgbWF0Y2hlcyB0aGUKLSAqIGxlYWRpbmcgY29tcG9uZW50cyBvZiB0aGUgb3RoZXI7IGUuZy4sICJmb28vYmFyIiBjb25mbGljdHMgd2l0aAotICogYm90aCAiZm9vIiBhbmQgd2l0aCAiZm9vL2Jhci9iYXoiIGJ1dCBub3Qgd2l0aCAiZm9vL2JhciIgb3IKLSAqICJmb28vYmFyYmFkb3MiLgotICoKLSAqIGV4dHJhcyBhbmQgc2tpcCBtdXN0IGJlIHNvcnRlZC4KLSAqLwotaW50IHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZShjb25zdCBjaGFyICpuZXduYW1lLAotCQkJICAgICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmV4dHJhcywKLQkJCSAgICAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpza2lwLAotCQkJICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpOwotCi0vKgogICogQ29weSB0aGUgcmVmbG9nIG1lc3NhZ2UgbXNnIHRvIGJ1Ziwgd2hpY2ggaGFzIGJlZW4gYWxsb2NhdGVkIHN1ZmZpY2llbnRseQogICogbGFyZ2UsIHdoaWxlIGNsZWFuaW5nIHVwIHRoZSB3aGl0ZXNwYWNlcy4gIEVzcGVjaWFsbHksIGNvbnZlcnQgTEYgdG8gc3BhY2UsCiAgKiBiZWNhdXNlIHJlZmxvZyBmaWxlIGlzIG9uZSBsaW5lIHBlciBlbnRyeS4KQEAgLTE0NSwxOCArMTQ1LDE5IEBACiAJLyoKIAkgKiBJZiAoZmxhZ3MgJiBSRUZfSEFWRV9ORVcpLCBzZXQgdGhlIHJlZmVyZW5jZSB0byB0aGlzIHZhbHVlOgogCSAqLwotCXVuc2lnbmVkIGNoYXIgbmV3X3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgbmV3X29pZDsKIAogCS8qCiAJICogSWYgKGZsYWdzICYgUkVGX0hBVkVfT0xEKSwgY2hlY2sgdGhhdCB0aGUgcmVmZXJlbmNlCiAJICogcHJldmlvdXNseSBoYWQgdGhpcyB2YWx1ZToKIAkgKi8KLQl1bnNpZ25lZCBjaGFyIG9sZF9zaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9sZF9vaWQ7CiAKIAkvKgogCSAqIE9uZSBvciBtb3JlIG9mIFJFRl9IQVZFX05FVywgUkVGX0hBVkVfT0xELCBSRUZfTk9ERVJFRiwKLQkgKiBSRUZfREVMRVRJTkcsIFJFRl9JU1BSVU5JTkcsIFJFRl9MT0dfT05MWSwgYW5kCi0JICogUkVGX1VQREFURV9WSUFfSEVBRDoKKwkgKiBSRUZfREVMRVRJTkcsIFJFRl9JU1BSVU5JTkcsIFJFRl9MT0dfT05MWSwKKwkgKiBSRUZfVVBEQVRFX1ZJQV9IRUFELCBSRUZfTkVFRFNfQ09NTUlULCBhbmQKKwkgKiBSRUZfREVMRVRFRF9MT09TRToKIAkgKi8KIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAKQEAgLTE3OSw2ICsxODAsMTggQEAKIAljb25zdCBjaGFyIHJlZm5hbWVbRkxFWF9BUlJBWV07CiB9OwogCitpbnQgcmVmc19yZWFkX3Jhd19yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkgICAgICBjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICpyZWZlcmVudCwgdW5zaWduZWQgaW50ICp0eXBlKTsKKworLyoKKyAqIFdyaXRlIGFuIGVycm9yIHRvIGBlcnJgIGFuZCByZXR1cm4gYSBub256ZXJvIHZhbHVlIGlmZiB0aGUgc2FtZQorICogcmVmbmFtZSBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIGluIGByZWZuYW1lc2AuIGByZWZuYW1lc2AgbXVzdCBiZQorICogc29ydGVkIG9uIGVudHJ5IHRvIHRoaXMgZnVuY3Rpb24uCisgKi8KK2ludCByZWZfdXBkYXRlX3JlamVjdF9kdXBsaWNhdGVzKHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsCisJCQkJIHN0cnVjdCBzdHJidWYgKmVycik7CisKIC8qCiAgKiBBZGQgYSByZWZfdXBkYXRlIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzIHRvIHRyYW5zYWN0aW9uLCBhbmQKICAqIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIG5ldyBvYmplY3QuIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgdmVyaWZ5CkBAIC0xOTUsMTcgKzIwOCwyNyBAQAogCiAvKgogICogVHJhbnNhY3Rpb24gc3RhdGVzLgotICogT1BFTjogICBUaGUgdHJhbnNhY3Rpb24gaXMgaW4gYSB2YWxpZCBzdGF0ZSBhbmQgY2FuIGFjY2VwdCBuZXcgdXBkYXRlcy4KLSAqICAgICAgICAgQW4gT1BFTiB0cmFuc2FjdGlvbiBjYW4gYmUgY29tbWl0dGVkLgotICogQ0xPU0VEOiBBIGNsb3NlZCB0cmFuc2FjdGlvbiBpcyBubyBsb25nZXIgYWN0aXZlIGFuZCBubyBvdGhlciBvcGVyYXRpb25zCi0gKiAgICAgICAgIHRoYW4gZnJlZSBjYW4gYmUgdXNlZCBvbiBpdCBpbiB0aGlzIHN0YXRlLgotICogICAgICAgICBBIHRyYW5zYWN0aW9uIGNhbiBlaXRoZXIgYmVjb21lIGNsb3NlZCBieSBzdWNjZXNzZnVsbHkgY29tbWl0dGluZwotICogICAgICAgICBhbiBhY3RpdmUgdHJhbnNhY3Rpb24gb3IgaWYgdGhlcmUgaXMgYSBmYWlsdXJlIHdoaWxlIGJ1aWxkaW5nCi0gKiAgICAgICAgIHRoZSB0cmFuc2FjdGlvbiB0aHVzIHJlbmRlcmluZyBpdCBmYWlsZWQvaW5hY3RpdmUuCisgKgorICogT1BFTjogICBUaGUgdHJhbnNhY3Rpb24gaXMgaW5pdGlhbGl6ZWQgYW5kIG5ldyB1cGRhdGVzIGNhbiBzdGlsbCBiZQorICogICAgICAgICBhZGRlZCB0byBpdC4gQW4gT1BFTiB0cmFuc2FjdGlvbiBjYW4gYmUgcHJlcGFyZWQsCisgKiAgICAgICAgIGNvbW1pdHRlZCwgZnJlZWQsIG9yIGFib3J0ZWQgKGZyZWVpbmcgYW5kIGFib3J0aW5nIGFuIG9wZW4KKyAqICAgICAgICAgdHJhbnNhY3Rpb24gYXJlIGVxdWl2YWxlbnQpLgorICoKKyAqIFBSRVBBUkVEOiByZWZfdHJhbnNhY3Rpb25fcHJlcGFyZSgpLCB3aGljaCBsb2NrcyBhbGwgb2YgdGhlCisgKiAgICAgICAgIHJlZmVyZW5jZXMgaW52b2x2ZWQgaW4gdGhlIHVwZGF0ZSBhbmQgY2hlY2tzIHRoYXQgdGhlCisgKiAgICAgICAgIHVwZGF0ZSBoYXMgbm8gZXJyb3JzLCBoYXMgYmVlbiBjYWxsZWQgc3VjY2Vzc2Z1bGx5IGZvciB0aGUKKyAqICAgICAgICAgdHJhbnNhY3Rpb24uIEEgUFJFUEFSRUQgdHJhbnNhY3Rpb24gY2FuIGJlIGNvbW1pdHRlZCBvcgorICogICAgICAgICBhYm9ydGVkLgorICoKKyAqIENMT1NFRDogVGhlIHRyYW5zYWN0aW9uIGlzIG5vIGxvbmdlciBhY3RpdmUuIEEgdHJhbnNhY3Rpb24gYmVjb21lcworICogICAgICAgICBDTE9TRUQgaWYgdGhlcmUgaXMgYSBmYWlsdXJlIHdoaWxlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbgorICogICAgICAgICBvciBpZiBhIHRyYW5zYWN0aW9uIGlzIGNvbW1pdHRlZCBvciBhYm9ydGVkLiBBIENMT1NFRAorICogICAgICAgICB0cmFuc2FjdGlvbiBjYW4gb25seSBiZSBmcmVlZC4KICAqLwogZW51bSByZWZfdHJhbnNhY3Rpb25fc3RhdGUgewotCVJFRl9UUkFOU0FDVElPTl9PUEVOICAgPSAwLAotCVJFRl9UUkFOU0FDVElPTl9DTE9TRUQgPSAxCisJUkVGX1RSQU5TQUNUSU9OX09QRU4gICAgID0gMCwKKwlSRUZfVFJBTlNBQ1RJT05fUFJFUEFSRUQgPSAxLAorCVJFRl9UUkFOU0FDVElPTl9DTE9TRUQgICA9IDIKIH07CiAKIC8qCkBAIC0yMTQsMTYgKzIzNywxNCBAQAogICogYXMgYXRvbWljYWxseSBhcyBwb3NzaWJsZS4gIFRoaXMgc3RydWN0dXJlIGlzIG9wYXF1ZSB0byBjYWxsZXJzLgogICovCiBzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uIHsKKwlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmU7CiAJc3RydWN0IHJlZl91cGRhdGUgKip1cGRhdGVzOwogCXNpemVfdCBhbGxvYzsKIAlzaXplX3QgbnI7CiAJZW51bSByZWZfdHJhbnNhY3Rpb25fc3RhdGUgc3RhdGU7CisJdm9pZCAqYmFja2VuZF9kYXRhOwogfTsKIAotaW50IGZpbGVzX2xvZ19yZWZfd3JpdGUoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCi0JCQljb25zdCB1bnNpZ25lZCBjaGFyICpuZXdfc2hhMSwgY29uc3QgY2hhciAqbXNnLAotCQkJaW50IGZsYWdzLCBzdHJ1Y3Qgc3RyYnVmICplcnIpOwotCiAvKgogICogQ2hlY2sgZm9yIGVudHJpZXMgaW4gZXh0cmFzIHRoYXQgYXJlIHdpdGhpbiB0aGUgc3BlY2lmaWVkCiAgKiBkaXJlY3RvcnksIHdoZXJlIGRpcm5hbWUgaXMgYSByZWZlcmVuY2UgZGlyZWN0b3J5IG5hbWUgaW5jbHVkaW5nCkBAIC0yNDgsNyArMjY5LDkgQEAKICAqIHByb2Nlc3NlcyAodGhvdWdoIHJlbmFtZV9yZWYoKSBjYXRjaGVzIHNvbWUgcmFjZXMgdGhhdCBtaWdodCBnZXQgYnkKICAqIHRoaXMgY2hlY2spLgogICovCi1pbnQgcmVuYW1lX3JlZl9hdmFpbGFibGUoY29uc3QgY2hhciAqb2xkX3JlZm5hbWUsIGNvbnN0IGNoYXIgKm5ld19yZWZuYW1lKTsKK2ludCByZWZzX3JlbmFtZV9yZWZfYXZhaWxhYmxlKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkgICAgICBjb25zdCBjaGFyICpvbGRfcmVmbmFtZSwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKm5ld19yZWZuYW1lKTsKIAogLyogV2UgYWxsb3cgInJlY3Vyc2l2ZSIgc3ltYm9saWMgcmVmcy4gT25seSB3aXRoaW4gcmVhc29uLCB0aG91Z2ggKi8KICNkZWZpbmUgU1lNUkVGX01BWERFUFRIIDUKQEAgLTMwNiw2ICszMjksMTMgQEAKICAqLwogc3RydWN0IHJlZl9pdGVyYXRvciB7CiAJc3RydWN0IHJlZl9pdGVyYXRvcl92dGFibGUgKnZ0YWJsZTsKKworCS8qCisJICogRG9lcyB0aGlzIGByZWZfaXRlcmF0b3JgIGl0ZXJhdGUgb3ZlciByZWZlcmVuY2VzIGluIG9yZGVyCisJICogYnkgcmVmbmFtZT8KKwkgKi8KKwl1bnNpZ25lZCBpbnQgb3JkZXJlZCA6IDE7CisKIAljb25zdCBjaGFyICpyZWZuYW1lOwogCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZDsKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CkBAIC0zNDcsNiArMzc3LDE3IEBACiBpbnQgaXNfZW1wdHlfcmVmX2l0ZXJhdG9yKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcik7CiAKIC8qCisgKiBSZXR1cm4gYW4gaXRlcmF0b3IgdGhhdCBnb2VzIG92ZXIgZWFjaCByZWZlcmVuY2UgaW4gYHJlZnNgIGZvcgorICogd2hpY2ggdGhlIHJlZm5hbWUgYmVnaW5zIHdpdGggcHJlZml4LiBJZiB0cmltIGlzIG5vbi16ZXJvLCB0aGVuCisgKiB0cmltIHRoYXQgbWFueSBjaGFyYWN0ZXJzIG9mZiB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcmVmbmFtZS4gZmxhZ3MKKyAqIGNhbiBiZSBET19GT1JfRUFDSF9JTkNMVURFX0JST0tFTiB0byBpbmNsdWRlIGJyb2tlbiByZWZlcmVuY2VzIGluCisgKiB0aGUgaXRlcmF0aW9uLiBUaGUgb3V0cHV0IGlzIG9yZGVyZWQgYnkgcmVmbmFtZS4KKyAqLworc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmc19yZWZfaXRlcmF0b3JfYmVnaW4oCisJCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCWNvbnN0IGNoYXIgKnByZWZpeCwgaW50IHRyaW0sIGludCBmbGFncyk7CisKKy8qCiAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHVzZWQgdG8gaW5zdHJ1Y3QgbWVyZ2VfcmVmX2l0ZXJhdG9yIGhvdyB0bwogICogaW50ZXJsZWF2ZSB0aGUgZW50cmllcyBmcm9tIGl0ZXIwIGFuZCBpdGVyMS4gVGhlIGZ1bmN0aW9uIHNob3VsZAogICogcmV0dXJuIG9uZSBvZiB0aGUgY29uc3RhbnRzIGRlZmluZWQgaW4gZW51bSBpdGVyYXRvcl9zZWxlY3Rpb24uIEl0CkBAIC0zNjYsOSArNDA3LDExIEBACiAgKiBJdGVyYXRlIG92ZXIgdGhlIGVudHJpZXMgZnJvbSBpdGVyMCBhbmQgaXRlcjEsIHdpdGggdGhlIHZhbHVlcwogICogaW50ZXJsZWF2ZWQgYXMgZGlyZWN0ZWQgYnkgdGhlIHNlbGVjdCBmdW5jdGlvbi4gVGhlIGl0ZXJhdG9yIHRha2VzCiAgKiBvd25lcnNoaXAgb2YgaXRlcjAgYW5kIGl0ZXIxIGFuZCBmcmVlcyB0aGVtIHdoZW4gdGhlIGl0ZXJhdGlvbiBpcwotICogb3Zlci4KKyAqIG92ZXIuIEEgZGVyaXZlZCBjbGFzcyBzaG91bGQgc2V0IGBvcmRlcmVkYCB0byAxIG9yIDAgYmFzZWQgb24KKyAqIHdoZXRoZXIgaXQgZ2VuZXJhdGVzIGl0cyBvdXRwdXQgaW4gb3JkZXIgYnkgcmVmZXJlbmNlIG5hbWUuCiAgKi8KIHN0cnVjdCByZWZfaXRlcmF0b3IgKm1lcmdlX3JlZl9pdGVyYXRvcl9iZWdpbigKKwkJaW50IG9yZGVyZWQsCiAJCXN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXIwLCBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyMSwKIAkJcmVmX2l0ZXJhdG9yX3NlbGVjdF9mbiAqc2VsZWN0LCB2b2lkICpjYl9kYXRhKTsKIApAQCAtMzk3LDYgKzQ0MCw4IEBACiAgKiBBcyBhbiBjb252ZW5pZW5jZSB0byBjYWxsZXJzLCBpZiBwcmVmaXggaXMgdGhlIGVtcHR5IHN0cmluZyBhbmQKICAqIHRyaW0gaXMgemVybywgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGl0ZXIwIGRpcmVjdGx5LCB3aXRob3V0CiAgKiB3cmFwcGluZyBpdC4KKyAqCisgKiBUaGUgcmVzdWx0aW5nIHJlZl9pdGVyYXRvciBpcyBvcmRlcmVkIGlmIGl0ZXIwIGlzLgogICovCiBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpwcmVmaXhfcmVmX2l0ZXJhdG9yX2JlZ2luKHN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXIwLAogCQkJCQkgICAgICAgY29uc3QgY2hhciAqcHJlZml4LApAQCAtNDA3LDExICs0NTIsMTQgQEAKIC8qCiAgKiBCYXNlIGNsYXNzIGNvbnN0cnVjdG9yIGZvciByZWZfaXRlcmF0b3JzLiBJbml0aWFsaXplIHRoZQogICogcmVmX2l0ZXJhdG9yIHBhcnQgb2YgaXRlciwgc2V0dGluZyBpdHMgdnRhYmxlIHBvaW50ZXIgYXMgc3BlY2lmaWVkLgorICogYG9yZGVyZWRgIHNob3VsZCBiZSBzZXQgdG8gMSBpZiB0aGUgaXRlcmF0b3Igd2lsbCBpdGVyYXRlIG92ZXIKKyAqIHJlZmVyZW5jZXMgaW4gb3JkZXIgYnkgcmVmbmFtZTsgb3RoZXJ3aXNlIGl0IHNob3VsZCBiZSBzZXQgdG8gMC4KICAqIFRoaXMgaXMgbWVhbnQgdG8gYmUgY2FsbGVkIG9ubHkgYnkgdGhlIGluaXRpYWxpemVycyBvZiBkZXJpdmVkCiAgKiBjbGFzc2VzLgogICovCiB2b2lkIGJhc2VfcmVmX2l0ZXJhdG9yX2luaXQoc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlciwKLQkJCSAgICBzdHJ1Y3QgcmVmX2l0ZXJhdG9yX3Z0YWJsZSAqdnRhYmxlKTsKKwkJCSAgICBzdHJ1Y3QgcmVmX2l0ZXJhdG9yX3Z0YWJsZSAqdnRhYmxlLAorCQkJICAgIGludCBvcmRlcmVkKTsKIAogLyoKICAqIEJhc2UgY2xhc3MgZGVzdHJ1Y3RvciBmb3IgcmVmX2l0ZXJhdG9ycy4gRGVzdHJveSB0aGUgcmVmX2l0ZXJhdG9yCkBAIC00NzcsMzcgKzUyNSw2MiBAQAogCiAvKiByZWZzIGJhY2tlbmRzICovCiAKKy8qIHJlZl9zdG9yZV9pbml0IGZsYWdzICovCisjZGVmaW5lIFJFRl9TVE9SRV9SRUFECQkoMSA8PCAwKQorI2RlZmluZSBSRUZfU1RPUkVfV1JJVEUJCSgxIDw8IDEpIC8qIGNhbiBwZXJmb3JtIHVwZGF0ZSBvcGVyYXRpb25zICovCisjZGVmaW5lIFJFRl9TVE9SRV9PREIJCSgxIDw8IDIpIC8qIGhhcyBhY2Nlc3MgdG8gb2JqZWN0IGRhdGFiYXNlICovCisjZGVmaW5lIFJFRl9TVE9SRV9NQUlOCQkoMSA8PCAzKQorI2RlZmluZSBSRUZfU1RPUkVfQUxMX0NBUFMJKFJFRl9TVE9SRV9SRUFEIHwgXAorCQkJCSBSRUZfU1RPUkVfV1JJVEUgfCBcCisJCQkJIFJFRl9TVE9SRV9PREIgfCBcCisJCQkJIFJFRl9TVE9SRV9NQUlOKQorCiAvKgotICogSW5pdGlhbGl6ZSB0aGUgcmVmX3N0b3JlIGZvciB0aGUgc3BlY2lmaWVkIHN1Ym1vZHVsZSwgb3IgZm9yIHRoZQotICogbWFpbiByZXBvc2l0b3J5IGlmIHN1Ym1vZHVsZSA9PSBOVUxMLiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIGNhbGwKLSAqIGJhc2VfcmVmX3N0b3JlX2luaXQoKSB0byBpbml0aWFsaXplIHRoZSBzaGFyZWQgcGFydCBvZiB0aGUKLSAqIHJlZl9zdG9yZSBhbmQgdG8gcmVjb3JkIHRoZSByZWZfc3RvcmUgZm9yIGxhdGVyIGxvb2t1cC4KKyAqIEluaXRpYWxpemUgdGhlIHJlZl9zdG9yZSBmb3IgdGhlIHNwZWNpZmllZCBnaXRkaXIuIFRoZXNlIGZ1bmN0aW9ucworICogc2hvdWxkIGNhbGwgYmFzZV9yZWZfc3RvcmVfaW5pdCgpIHRvIGluaXRpYWxpemUgdGhlIHNoYXJlZCBwYXJ0IG9mCisgKiB0aGUgcmVmX3N0b3JlIGFuZCB0byByZWNvcmQgdGhlIHJlZl9zdG9yZSBmb3IgbGF0ZXIgbG9va3VwLgogICovCi10eXBlZGVmIHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZV9pbml0X2ZuKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSk7Cit0eXBlZGVmIHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZV9pbml0X2ZuKGNvbnN0IGNoYXIgKmdpdGRpciwKKwkJCQkJICAgIHVuc2lnbmVkIGludCBmbGFncyk7CiAKIHR5cGVkZWYgaW50IHJlZl9pbml0X2RiX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIHN0cnVjdCBzdHJidWYgKmVycik7CiAKK3R5cGVkZWYgaW50IHJlZl90cmFuc2FjdGlvbl9wcmVwYXJlX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkJICAgICAgIHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAorCQkJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpOworCit0eXBlZGVmIGludCByZWZfdHJhbnNhY3Rpb25fZmluaXNoX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkJICAgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkJICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKKwordHlwZWRlZiBpbnQgcmVmX3RyYW5zYWN0aW9uX2Fib3J0X2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkJICAgICBzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbiwKKwkJCQkgICAgIHN0cnVjdCBzdHJidWYgKmVycik7CisKIHR5cGVkZWYgaW50IHJlZl90cmFuc2FjdGlvbl9jb21taXRfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKIAkJCQkgICAgICBzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbiwKIAkJCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpOwogCiB0eXBlZGVmIGludCBwYWNrX3JlZnNfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLCB1bnNpZ25lZCBpbnQgZmxhZ3MpOwotdHlwZWRlZiBpbnQgcGVlbF9yZWZfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAotCQkJY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSk7CiB0eXBlZGVmIGludCBjcmVhdGVfc3ltcmVmX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKIAkJCSAgICAgY29uc3QgY2hhciAqcmVmX3RhcmdldCwKIAkJCSAgICAgY29uc3QgY2hhciAqcmVmc19oZWFkc19tYXN0ZXIsCiAJCQkgICAgIGNvbnN0IGNoYXIgKmxvZ21zZyk7Ci10eXBlZGVmIGludCBkZWxldGVfcmVmc19mbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCit0eXBlZGVmIGludCBkZWxldGVfcmVmc19mbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsIGNvbnN0IGNoYXIgKm1zZywKIAkJCSAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsIHVuc2lnbmVkIGludCBmbGFncyk7CiB0eXBlZGVmIGludCByZW5hbWVfcmVmX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKIAkJCSAgY29uc3QgY2hhciAqb2xkcmVmLCBjb25zdCBjaGFyICpuZXdyZWYsCiAJCQkgIGNvbnN0IGNoYXIgKmxvZ21zZyk7Cit0eXBlZGVmIGludCBjb3B5X3JlZl9mbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgIGNvbnN0IGNoYXIgKm9sZHJlZiwgY29uc3QgY2hhciAqbmV3cmVmLAorCQkJICBjb25zdCBjaGFyICpsb2dtc2cpOwogCiAvKgotICogSXRlcmF0ZSBvdmVyIHRoZSByZWZlcmVuY2VzIGluIHRoZSBzcGVjaWZpZWQgcmVmX3N0b3JlIHRoYXQgYXJlCi0gKiB3aXRoaW4gZmluZF9jb250YWluaW5nX2RpcihwcmVmaXgpLiBJZiBwcmVmaXggaXMgTlVMTCBvciB0aGUgZW1wdHkKLSAqIHN0cmluZywgaXRlcmF0ZSBvdmVyIGFsbCByZWZlcmVuY2VzIGluIHRoZSBzdWJtb2R1bGUuCisgKiBJdGVyYXRlIG92ZXIgdGhlIHJlZmVyZW5jZXMgaW4gYHJlZl9zdG9yZWAgd2hvc2UgbmFtZXMgc3RhcnQgd2l0aAorICogYHByZWZpeGAuIGBwcmVmaXhgIGlzIG1hdGNoZWQgYXMgYSBsaXRlcmFsIHN0cmluZywgd2l0aG91dCByZWdhcmQKKyAqIGZvciBwYXRoIHNlcGFyYXRvcnMuIElmIHByZWZpeCBpcyBOVUxMIG9yIHRoZSBlbXB0eSBzdHJpbmcsIGl0ZXJhdGUKKyAqIG92ZXIgYWxsIHJlZmVyZW5jZXMgaW4gYHJlZl9zdG9yZWAuIFRoZSBvdXRwdXQgaXMgb3JkZXJlZCBieQorICogcmVmbmFtZS4KICAqLwogdHlwZWRlZiBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3JfYmVnaW5fZm4oCiAJCXN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKQEAgLTU4NCwyOSArNjU3LDI1IEBACiAJCQkgICAgY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSwKIAkJCSAgICBzdHJ1Y3Qgc3RyYnVmICpyZWZlcmVudCwgdW5zaWduZWQgaW50ICp0eXBlKTsKIAotdHlwZWRlZiBpbnQgdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKLQkJCQkJY29uc3QgY2hhciAqbmV3bmFtZSwKLQkJCQkJY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpleHRyYXMsCi0JCQkJCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcCwKLQkJCQkJc3RydWN0IHN0cmJ1ZiAqZXJyKTsKLQogc3RydWN0IHJlZl9zdG9yYWdlX2JlIHsKIAlzdHJ1Y3QgcmVmX3N0b3JhZ2VfYmUgKm5leHQ7CiAJY29uc3QgY2hhciAqbmFtZTsKIAlyZWZfc3RvcmVfaW5pdF9mbiAqaW5pdDsKIAlyZWZfaW5pdF9kYl9mbiAqaW5pdF9kYjsKLQlyZWZfdHJhbnNhY3Rpb25fY29tbWl0X2ZuICp0cmFuc2FjdGlvbl9jb21taXQ7CisKKwlyZWZfdHJhbnNhY3Rpb25fcHJlcGFyZV9mbiAqdHJhbnNhY3Rpb25fcHJlcGFyZTsKKwlyZWZfdHJhbnNhY3Rpb25fZmluaXNoX2ZuICp0cmFuc2FjdGlvbl9maW5pc2g7CisJcmVmX3RyYW5zYWN0aW9uX2Fib3J0X2ZuICp0cmFuc2FjdGlvbl9hYm9ydDsKIAlyZWZfdHJhbnNhY3Rpb25fY29tbWl0X2ZuICppbml0aWFsX3RyYW5zYWN0aW9uX2NvbW1pdDsKIAogCXBhY2tfcmVmc19mbiAqcGFja19yZWZzOwotCXBlZWxfcmVmX2ZuICpwZWVsX3JlZjsKIAljcmVhdGVfc3ltcmVmX2ZuICpjcmVhdGVfc3ltcmVmOwogCWRlbGV0ZV9yZWZzX2ZuICpkZWxldGVfcmVmczsKIAlyZW5hbWVfcmVmX2ZuICpyZW5hbWVfcmVmOworCWNvcHlfcmVmX2ZuICpjb3B5X3JlZjsKIAogCXJlZl9pdGVyYXRvcl9iZWdpbl9mbiAqaXRlcmF0b3JfYmVnaW47CiAJcmVhZF9yYXdfcmVmX2ZuICpyZWFkX3Jhd19yZWY7Ci0JdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlX2ZuICp2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGU7CiAKIAlyZWZsb2dfaXRlcmF0b3JfYmVnaW5fZm4gKnJlZmxvZ19pdGVyYXRvcl9iZWdpbjsKIAlmb3JfZWFjaF9yZWZsb2dfZW50X2ZuICpmb3JfZWFjaF9yZWZsb2dfZW50OwpAQCAtNjE4LDYgKzY4Nyw3IEBACiB9OwogCiBleHRlcm4gc3RydWN0IHJlZl9zdG9yYWdlX2JlIHJlZnNfYmVfZmlsZXM7CitleHRlcm4gc3RydWN0IHJlZl9zdG9yYWdlX2JlIHJlZnNfYmVfcGFja2VkOwogCiAvKgogICogQSByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVmZXJlbmNlIHN0b3JlIGZvciB0aGUgbWFpbiByZXBvc2l0b3J5IG9yCkBAIC02MjcsNjQgKzY5NywxMyBAQAogc3RydWN0IHJlZl9zdG9yZSB7CiAJLyogVGhlIGJhY2tlbmQgZGVzY3JpYmluZyB0aGlzIHJlZl9zdG9yZSdzIHN0b3JhZ2Ugc2NoZW1lOiAqLwogCWNvbnN0IHN0cnVjdCByZWZfc3RvcmFnZV9iZSAqYmU7Ci0KLQkvKgotCSAqIFRoZSBuYW1lIG9mIHRoZSBzdWJtb2R1bGUgcmVwcmVzZW50ZWQgYnkgdGhpcyBvYmplY3QsIG9yCi0JICogdGhlIGVtcHR5IHN0cmluZyBpZiBpdCByZXByZXNlbnRzIHRoZSBtYWluIHJlcG9zaXRvcnkncwotCSAqIHJlZmVyZW5jZSBzdG9yZToKLQkgKi8KLQljb25zdCBjaGFyICpzdWJtb2R1bGU7Ci0KLQkvKgotCSAqIFN1Ym1vZHVsZSByZWZlcmVuY2Ugc3RvcmUgaW5zdGFuY2VzIGFyZSBzdG9yZWQgaW4gYSBsaW5rZWQKLQkgKiBsaXN0IHVzaW5nIHRoaXMgcG9pbnRlci4KLQkgKi8KLQlzdHJ1Y3QgcmVmX3N0b3JlICpuZXh0OwogfTsKIAogLyoKLSAqIEZpbGwgaW4gdGhlIGdlbmVyaWMgcGFydCBvZiByZWZzIGZvciB0aGUgc3BlY2lmaWVkIHN1Ym1vZHVsZSBhbmQKLSAqIGFkZCBpdCB0byBvdXIgY29sbGVjdGlvbiBvZiByZWZlcmVuY2Ugc3RvcmVzLgorICogRmlsbCBpbiB0aGUgZ2VuZXJpYyBwYXJ0IG9mIHJlZnMgYW5kIGFkZCBpdCB0byBvdXIgY29sbGVjdGlvbiBvZgorICogcmVmZXJlbmNlIHN0b3Jlcy4KICAqLwogdm9pZCBiYXNlX3JlZl9zdG9yZV9pbml0KHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCi0JCQkgY29uc3Qgc3RydWN0IHJlZl9zdG9yYWdlX2JlICpiZSwKLQkJCSBjb25zdCBjaGFyICpzdWJtb2R1bGUpOwotCi0vKgotICogQ3JlYXRlLCByZWNvcmQsIGFuZCByZXR1cm4gYSByZWZfc3RvcmUgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQKLSAqIHN1Ym1vZHVsZSAob3IgdGhlIG1haW4gcmVwb3NpdG9yeSBpZiBzdWJtb2R1bGUgaXMgTlVMTCkuCi0gKgotICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBzdWJtb2R1bGU9PSIiIGlzIHRyZWF0ZWQgdGhlIHNhbWUgYXMKLSAqIHN1Ym1vZHVsZT09TlVMTC4KLSAqLwotc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlX2luaXQoY29uc3QgY2hhciAqc3VibW9kdWxlKTsKLQotLyoKLSAqIFJldHVybiB0aGUgcmVmX3N0b3JlIGluc3RhbmNlIGZvciB0aGUgc3BlY2lmaWVkIHN1Ym1vZHVsZSAob3IgdGhlCi0gKiBtYWluIHJlcG9zaXRvcnkgaWYgc3VibW9kdWxlIGlzIE5VTEwpLiBJZiB0aGF0IHJlZl9zdG9yZSBoYXNuJ3QKLSAqIGJlZW4gaW5pdGlhbGl6ZWQgeWV0LCByZXR1cm4gTlVMTC4KLSAqCi0gKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHN1Ym1vZHVsZT09IiIgaXMgdHJlYXRlZCB0aGUgc2FtZSBhcwotICogc3VibW9kdWxlPT1OVUxMLgotICovCi1zdHJ1Y3QgcmVmX3N0b3JlICpsb29rdXBfcmVmX3N0b3JlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSk7Ci0KLS8qCi0gKiBSZXR1cm4gdGhlIHJlZl9zdG9yZSBpbnN0YW5jZSBmb3IgdGhlIHNwZWNpZmllZCBzdWJtb2R1bGUuIEZvciB0aGUKLSAqIG1haW4gcmVwb3NpdG9yeSwgdXNlIHN1Ym1vZHVsZT09TlVMTDsgc3VjaCBhIGNhbGwgY2Fubm90IGZhaWwuIEZvcgotICogYSBzdWJtb2R1bGUsIHRoZSBzdWJtb2R1bGUgbXVzdCBleGlzdCBhbmQgYmUgYSBub25iYXJlIHJlcG9zaXRvcnksCi0gKiBvdGhlcndpc2UgcmV0dXJuIE5VTEwuIElmIHRoZSByZXF1ZXN0ZWQgcmVmZXJlbmNlIHN0b3JlIGhhcyBub3QgeWV0Ci0gKiBiZWVuIGluaXRpYWxpemVkLCBpbml0aWFsaXplIGl0IGZpcnN0LgotICoKLSAqIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgc3VibW9kdWxlPT0iIiBpcyB0cmVhdGVkIHRoZSBzYW1lIGFzCi0gKiBzdWJtb2R1bGU9PU5VTEwuCi0gKi8KLXN0cnVjdCByZWZfc3RvcmUgKmdldF9yZWZfc3RvcmUoY29uc3QgY2hhciAqc3VibW9kdWxlKTsKLQotLyoKLSAqIERpZSBpZiByZWZzIGlzIGZvciBhIHN1Ym1vZHVsZSAoaS5lLiwgbm90IGZvciB0aGUgbWFpbiByZXBvc2l0b3J5KS4KLSAqIGNhbGxlciBpcyB1c2VkIGluIGFueSBuZWNlc3NhcnkgZXJyb3IgbWVzc2FnZXMuCi0gKi8KLXZvaWQgYXNzZXJ0X21haW5fcmVwb3NpdG9yeShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpjYWxsZXIpOworCQkJIGNvbnN0IHN0cnVjdCByZWZfc3RvcmFnZV9iZSAqYmUpOwogCiAjZW5kaWYgLyogUkVGU19SRUZTX0lOVEVSTkFMX0ggKi8KZGlmZiAtLWdpdCBhL3JlbW90ZS1jdXJsLmMgYi9yZW1vdGUtY3VybC5jCmluZGV4IDM0YTk3ZTcuLjAwNTNiMDkgMTAwNjQ0Ci0tLSBhL3JlbW90ZS1jdXJsLmMKKysrIGIvcmVtb3RlLWN1cmwuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInJlbW90ZS5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgogI2luY2x1ZGUgIndhbGtlci5oIgpAQCAtMjIsNiArMjMsNyBAQAogCXVuc2lnbmVkIGxvbmcgZGVwdGg7CiAJY2hhciAqZGVlcGVuX3NpbmNlOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBkZWVwZW5fbm90OworCXN0cnVjdCBzdHJpbmdfbGlzdCBwdXNoX29wdGlvbnM7CiAJdW5zaWduZWQgcHJvZ3Jlc3MgOiAxLAogCQljaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkIDogMSwKIAkJY2xvbmluZyA6IDEsCkBAIC0xMzksNiArMTQxLDkgQEAKIAkJZWxzZQogCQkJcmV0dXJuIC0xOwogCQlyZXR1cm4gMDsKKwl9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgInB1c2gtb3B0aW9uIikpIHsKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKCZvcHRpb25zLnB1c2hfb3B0aW9ucywgdmFsdWUpOworCQlyZXR1cm4gMDsKIAogI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPj0gMHgwNzBhMDgKIAl9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImZhbWlseSIpKSB7CkBAIC0xNjMsNyArMTY4LDcgQEAKIAljaGFyICpidWY7CiAJc2l6ZV90IGxlbjsKIAlzdHJ1Y3QgcmVmICpyZWZzOwotCXN0cnVjdCBzaGExX2FycmF5IHNoYWxsb3c7CisJc3RydWN0IG9pZF9hcnJheSBzaGFsbG93OwogCXVuc2lnbmVkIHByb3RvX2dpdCA6IDE7CiB9Owogc3RhdGljIHN0cnVjdCBkaXNjb3ZlcnkgKmxhc3RfZGlzY292ZXJ5OwpAQCAtMjMwLDcgKzIzNSw3IEBACiAJaWYgKGQpIHsKIAkJaWYgKGQgPT0gbGFzdF9kaXNjb3ZlcnkpCiAJCQlsYXN0X2Rpc2NvdmVyeSA9IE5VTEw7Ci0JCWZyZWUoZC0+c2hhbGxvdy5zaGExKTsKKwkJZnJlZShkLT5zaGFsbG93Lm9pZCk7CiAJCWZyZWUoZC0+YnVmX2FsbG9jKTsKIAkJZnJlZV9yZWZzKGQtPnJlZnMpOwogCQlmcmVlKGQpOwpAQCAtNTI3LDYgKzUzMiwxMiBAQAogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBjdXJsX29mZl90IHhjdXJsX29mZl90KHNzaXplX3QgbGVuKSB7CisJaWYgKGxlbiA+IG1heGltdW1fc2lnbmVkX3ZhbHVlX29mX3R5cGUoY3VybF9vZmZfdCkpCisJCWRpZSgiY2Fubm90IGhhbmRsZSBwdXNoZXMgdGhpcyBiaWciKTsKKwlyZXR1cm4gKGN1cmxfb2ZmX3QpIGxlbjsKK30KKwogc3RhdGljIGludCBwb3N0X3JwYyhzdHJ1Y3QgcnBjX3N0YXRlICpycGMpCiB7CiAJc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgKnNsb3Q7CkBAIC02MTAsNyArNjIxLDcgQEAKIAkJICogYW5kIHdlIGp1c3QgbmVlZCB0byBzZW5kIGl0LgogCQkgKi8KIAkJY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGd6aXBfYm9keSk7Ci0JCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9QT1NURklFTERTSVpFLCBnemlwX3NpemUpOworCQljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfUE9TVEZJRUxEU0laRV9MQVJHRSwgeGN1cmxfb2ZmX3QoZ3ppcF9zaXplKSk7CiAKIAl9IGVsc2UgaWYgKHVzZV9nemlwICYmIDEwMjQgPCBycGMtPmxlbikgewogCQkvKiBUaGUgY2xpZW50IGJhY2tlbmQgaXNuJ3QgZ2l2aW5nIHVzIGNvbXByZXNzZWQgZGF0YSBzbwpAQCAtNjQxLDcgKzY1Miw3IEBACiAKIAkJaGVhZGVycyA9IGN1cmxfc2xpc3RfYXBwZW5kKGhlYWRlcnMsICJDb250ZW50LUVuY29kaW5nOiBnemlwIik7CiAJCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9QT1NURklFTERTLCBnemlwX2JvZHkpOwotCQljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfUE9TVEZJRUxEU0laRSwgZ3ppcF9zaXplKTsKKwkJY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX1BPU1RGSUVMRFNJWkVfTEFSR0UsIHhjdXJsX29mZl90KGd6aXBfc2l6ZSkpOwogCiAJCWlmIChvcHRpb25zLnZlcmJvc2l0eSA+IDEpIHsKIAkJCWZwcmludGYoc3RkZXJyLCAiUE9TVCAlcyAoZ3ppcCAlbHUgdG8gJWx1IGJ5dGVzKVxuIiwKQEAgLTY1NCw3ICs2NjUsNyBAQAogCQkgKiBtb3JlIG5vcm1hbCBDb250ZW50LUxlbmd0aCBhcHByb2FjaC4KIAkJICovCiAJCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9QT1NURklFTERTLCBycGMtPmJ1Zik7Ci0JCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9QT1NURklFTERTSVpFLCBycGMtPmxlbik7CisJCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9QT1NURklFTERTSVpFX0xBUkdFLCB4Y3VybF9vZmZfdChycGMtPmxlbikpOwogCQlpZiAob3B0aW9ucy52ZXJib3NpdHkgPiAxKSB7CiAJCQlmcHJpbnRmKHN0ZGVyciwgIlBPU1QgJXMgKCVsdSBieXRlcylcbiIsCiAJCQkJcnBjLT5zZXJ2aWNlX25hbWUsICh1bnNpZ25lZCBsb25nKXJwYy0+bGVuKTsKQEAgLTk0Myw2ICs5NTQsOSBAQAogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLXF1aWV0Iik7CiAJZWxzZSBpZiAob3B0aW9ucy52ZXJib3NpdHkgPiAxKQogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLXZlcmJvc2UiKTsKKwlmb3IgKGkgPSAwOyBpIDwgb3B0aW9ucy5wdXNoX29wdGlvbnMubnI7IGkrKykKKwkJYXJndl9hcnJheV9wdXNoZigmYXJncywgIi0tcHVzaC1vcHRpb249JXMiLAorCQkJCSBvcHRpb25zLnB1c2hfb3B0aW9ucy5pdGVtc1tpXS5zdHJpbmcpOwogCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgb3B0aW9ucy5wcm9ncmVzcyA/ICItLXByb2dyZXNzIiA6ICItLW5vLXByb2dyZXNzIik7CiAJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShjYXNfb3B0aW9uLCAmY2FzX29wdGlvbnMpCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgY2FzX29wdGlvbi0+c3RyaW5nKTsKQEAgLTEwMjgsNiArMTA0Miw3IEBACiAJb3B0aW9ucy5wcm9ncmVzcyA9ICEhaXNhdHR5KDIpOwogCW9wdGlvbnMudGhpbiA9IDE7CiAJc3RyaW5nX2xpc3RfaW5pdCgmb3B0aW9ucy5kZWVwZW5fbm90LCAxKTsKKwlzdHJpbmdfbGlzdF9pbml0KCZvcHRpb25zLnB1c2hfb3B0aW9ucywgMSk7CiAKIAlyZW1vdGUgPSByZW1vdGVfZ2V0KGFyZ3ZbMV0pOwogCmRpZmYgLS1naXQgYS9yZW1vdGUtdGVzdHN2bi5jIGIvcmVtb3RlLXRlc3Rzdm4uYwppbmRleCBmODdiZjg1Li4wZmY0YTMxIDEwMDY0NAotLS0gYS9yZW1vdGUtdGVzdHN2bi5jCisrKyBiL3JlbW90ZS10ZXN0c3ZuLmMKQEAgLTUxLDIzICs1MSwyMiBAQAogfQogCiAvKiBOT1RFOiAncmVmJyByZWZlcnMgdG8gYSBnaXQgcmVmZXJlbmNlLCB3aGlsZSAncmV2JyByZWZlcnMgdG8gYSBzdm4gcmV2aXNpb24uICovCi1zdGF0aWMgY2hhciAqcmVhZF9yZWZfbm90ZShjb25zdCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdKQorc3RhdGljIGNoYXIgKnJlYWRfcmVmX25vdGUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm5vdGVfc2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpub3RlX29pZDsKIAljaGFyICptc2cgPSBOVUxMOwogCXVuc2lnbmVkIGxvbmcgbXNnbGVuOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAogCWluaXRfbm90ZXMoTlVMTCwgbm90ZXNfcmVmLCBOVUxMLCAwKTsKLQlpZiAoIShub3RlX3NoYTEgPSBnZXRfbm90ZShOVUxMLCBzaGExKSkpCisJaWYgKCEobm90ZV9vaWQgPSBnZXRfbm90ZShOVUxMLCBvaWQpKSkKIAkJcmV0dXJuIE5VTEw7CS8qIG5vdGUgdHJlZSBub3QgZm91bmQgKi8KLQlpZiAoIShtc2cgPSByZWFkX3NoYTFfZmlsZShub3RlX3NoYTEsICZ0eXBlLCAmbXNnbGVuKSkpCisJaWYgKCEobXNnID0gcmVhZF9zaGExX2ZpbGUobm90ZV9vaWQtPmhhc2gsICZ0eXBlLCAmbXNnbGVuKSkpCiAJCWVycm9yKCJFbXB0eSBub3RlcyB0cmVlLiAlcyIsIG5vdGVzX3JlZik7CiAJZWxzZSBpZiAoIW1zZ2xlbiB8fCB0eXBlICE9IE9CSl9CTE9CKSB7CiAJCWVycm9yKCJOb3RlIGNvbnRhaW5zIHVudXNhYmxlIGNvbnRlbnQuICIKIAkJCSJJcyBzb21ldGhpbmcgZWxzZSB1c2luZyB0aGlzIG5vdGVzIHRyZWU/ICVzIiwgbm90ZXNfcmVmKTsKLQkJZnJlZShtc2cpOwotCQltc2cgPSBOVUxMOworCQlGUkVFX0FORF9OVUxMKG1zZyk7CiAJfQogCWZyZWVfbm90ZXMoTlVMTCk7CiAJcmV0dXJuIG1zZzsKQEAgLTk5LDggKzk4LDggQEAKIAlyZXR1cm4gLTE7CiB9CiAKLXN0YXRpYyBpbnQgbm90ZTJtYXJrX2NiKGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9iamVjdF9zaGExLAotCQljb25zdCB1bnNpZ25lZCBjaGFyICpub3RlX3NoYTEsIGNoYXIgKm5vdGVfcGF0aCwKK3N0YXRpYyBpbnQgbm90ZTJtYXJrX2NiKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9iamVjdF9vaWQsCisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5vdGVfb2lkLCBjaGFyICpub3RlX3BhdGgsCiAJCXZvaWQgKmNiX2RhdGEpCiB7CiAJRklMRSAqZmlsZSA9IChGSUxFICopY2JfZGF0YTsKQEAgLTEwOSwxNCArMTA4LDE0IEBACiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCXN0cnVjdCByZXZfbm90ZSBub3RlOwogCi0JaWYgKCEobXNnID0gcmVhZF9zaGExX2ZpbGUobm90ZV9zaGExLCAmdHlwZSwgJm1zZ2xlbikpIHx8CisJaWYgKCEobXNnID0gcmVhZF9zaGExX2ZpbGUobm90ZV9vaWQtPmhhc2gsICZ0eXBlLCAmbXNnbGVuKSkgfHwKIAkJCSFtc2dsZW4gfHwgdHlwZSAhPSBPQkpfQkxPQikgewogCQlmcmVlKG1zZyk7CiAJCXJldHVybiAxOwogCX0KIAlpZiAocGFyc2VfcmV2X25vdGUobXNnLCAmbm90ZSkpCiAJCXJldHVybiAyOwotCWlmIChmcHJpbnRmKGZpbGUsICI6JWQgJXNcbiIsIG5vdGUucmV2X25yLCBzaGExX3RvX2hleChvYmplY3Rfc2hhMSkpIDwgMSkKKwlpZiAoZnByaW50ZihmaWxlLCAiOiVkICVzXG4iLCBub3RlLnJldl9uciwgb2lkX3RvX2hleChvYmplY3Rfb2lkKSkgPCAxKQogCQlyZXR1cm4gMzsKIAlyZXR1cm4gMDsKIH0KQEAgLTEyNCwxMCArMTIzLDggQEAKIHN0YXRpYyB2b2lkIHJlZ2VuZXJhdGVfbWFya3Modm9pZCkKIHsKIAlpbnQgcmV0OwotCUZJTEUgKm1hcmtzZmlsZSA9IGZvcGVuKG1hcmtzZmlsZW5hbWUsICJ3KyIpOworCUZJTEUgKm1hcmtzZmlsZSA9IHhmb3BlbihtYXJrc2ZpbGVuYW1lLCAidysiKTsKIAotCWlmICghbWFya3NmaWxlKQotCQlkaWVfZXJybm8oIkNvdWxkbid0IGNyZWF0ZSBtYXJrIGZpbGUgJXMuIiwgbWFya3NmaWxlbmFtZSk7CiAJcmV0ID0gZm9yX2VhY2hfbm90ZShOVUxMLCAwLCBub3RlMm1hcmtfY2IsIG1hcmtzZmlsZSk7CiAJaWYgKHJldCkKIAkJZGllKCJSZWdlbmVyYXRpb24gb2YgbWFya3MgZmFpbGVkLCByZXR1cm5lZCAlZC4iLCByZXQpOwpAQCAtMTQ4LDkgKzE0NSw3IEBACiAJbWFya3NmaWxlID0gZm9wZW4obWFya3NmaWxlbmFtZSwgInIiKTsKIAlpZiAoIW1hcmtzZmlsZSkgewogCQlyZWdlbmVyYXRlX21hcmtzKCk7Ci0JCW1hcmtzZmlsZSA9IGZvcGVuKG1hcmtzZmlsZW5hbWUsICJyIik7Ci0JCWlmICghbWFya3NmaWxlKQotCQkJZGllX2Vycm5vKCJjYW5ub3QgcmVhZCBtYXJrcyBmaWxlICVzISIsIG1hcmtzZmlsZW5hbWUpOworCQltYXJrc2ZpbGUgPSB4Zm9wZW4obWFya3NmaWxlbmFtZSwgInIiKTsKIAkJZmNsb3NlKG1hcmtzZmlsZSk7CiAJfSBlbHNlIHsKIAkJc3RyYnVmX2FkZGYoJnNiLCAiOiVkICIsIGxhdGVzdHJldik7CkBAIC0xNzQsMTUgKzE2OSwxNSBAQAogCWludCBjb2RlOwogCWludCBkdW1waW5fZmQ7CiAJY2hhciAqbm90ZV9tc2c7Ci0JdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CiAJdW5zaWduZWQgaW50IHN0YXJ0cmV2OwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHN2bmR1bXBfcHJvYyA9IENISUxEX1BST0NFU1NfSU5JVDsKIAljb25zdCBjaGFyICpjb21tYW5kID0gInN2bnJkdW1wIjsKIAotCWlmIChyZWFkX3JlZihwcml2YXRlX3JlZiwgaGVhZF9zaGExKSkKKwlpZiAocmVhZF9yZWYocHJpdmF0ZV9yZWYsIGhlYWRfb2lkLmhhc2gpKQogCQlzdGFydHJldiA9IDA7CiAJZWxzZSB7Ci0JCW5vdGVfbXNnID0gcmVhZF9yZWZfbm90ZShoZWFkX3NoYTEpOworCQlub3RlX21zZyA9IHJlYWRfcmVmX25vdGUoJmhlYWRfb2lkKTsKIAkJaWYobm90ZV9tc2cgPT0gTlVMTCkgewogCQkJd2FybmluZygiTm8gbm90ZSBmb3VuZCBmb3IgJXMuIiwgcHJpdmF0ZV9yZWYpOwogCQkJc3RhcnRyZXYgPSAwOwpkaWZmIC0tZ2l0IGEvcmVtb3RlLmMgYi9yZW1vdGUuYwppbmRleCA5ZjgzZmUyLi5iMjIwZjBkIDEwMDY0NAotLS0gYS9yZW1vdGUuYworKysgYi9yZW1vdGUuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInJlbW90ZS5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJjb21taXQuaCIKQEAgLTEzMiw4ICsxMzMsMTUgQEAKIAlpbnQgbGVuOwogfTsKIAotc3RhdGljIGludCByZW1vdGVzX2hhc2hfY21wKGNvbnN0IHN0cnVjdCByZW1vdGUgKmEsIGNvbnN0IHN0cnVjdCByZW1vdGUgKmIsIGNvbnN0IHN0cnVjdCByZW1vdGVzX2hhc2hfa2V5ICprZXkpCitzdGF0aWMgaW50IHJlbW90ZXNfaGFzaF9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAorCQkJICAgIGNvbnN0IHZvaWQgKmVudHJ5LAorCQkJICAgIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJCSAgICBjb25zdCB2b2lkICprZXlkYXRhKQogeworCWNvbnN0IHN0cnVjdCByZW1vdGUgKmEgPSBlbnRyeTsKKwljb25zdCBzdHJ1Y3QgcmVtb3RlICpiID0gZW50cnlfb3Jfa2V5OworCWNvbnN0IHN0cnVjdCByZW1vdGVzX2hhc2hfa2V5ICprZXkgPSBrZXlkYXRhOworCiAJaWYgKGtleSkKIAkJcmV0dXJuIHN0cm5jbXAoYS0+bmFtZSwga2V5LT5zdHIsIGtleS0+bGVuKSB8fCBhLT5uYW1lW2tleS0+bGVuXTsKIAllbHNlCkBAIC0xNDMsNyArMTUxLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBpbml0X3JlbW90ZXNfaGFzaCh2b2lkKQogewogCWlmICghcmVtb3Rlc19oYXNoLmNtcGZuKQotCQloYXNobWFwX2luaXQoJnJlbW90ZXNfaGFzaCwgKGhhc2htYXBfY21wX2ZuKXJlbW90ZXNfaGFzaF9jbXAsIDApOworCQloYXNobWFwX2luaXQoJnJlbW90ZXNfaGFzaCwgcmVtb3Rlc19oYXNoX2NtcCwgTlVMTCwgMCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgcmVtb3RlICptYWtlX3JlbW90ZShjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuKQpAQCAtMjUxLDcgKzI1OSw3IEBACiBzdGF0aWMgdm9pZCByZWFkX3JlbW90ZXNfZmlsZShzdHJ1Y3QgcmVtb3RlICpyZW1vdGUpCiB7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQlGSUxFICpmID0gZm9wZW4oZ2l0X3BhdGgoInJlbW90ZXMvJXMiLCByZW1vdGUtPm5hbWUpLCAiciIpOworCUZJTEUgKmYgPSBmb3Blbl9vcl93YXJuKGdpdF9wYXRoKCJyZW1vdGVzLyVzIiwgcmVtb3RlLT5uYW1lKSwgInIiKTsKIAogCWlmICghZikKIAkJcmV0dXJuOwpAQCAtMjc3LDcgKzI4NSw3IEBACiB7CiAJY2hhciAqZnJhZzsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCUZJTEUgKmYgPSBmb3BlbihnaXRfcGF0aCgiYnJhbmNoZXMvJXMiLCByZW1vdGUtPm5hbWUpLCAiciIpOworCUZJTEUgKmYgPSBmb3Blbl9vcl93YXJuKGdpdF9wYXRoKCJicmFuY2hlcy8lcyIsIHJlbW90ZS0+bmFtZSksICJyIik7CiAKIAlpZiAoIWYpCiAJCXJldHVybjsKQEAgLTQ1OCw3ICs0NjYsNiBAQAogc3RhdGljIHZvaWQgcmVhZF9jb25maWcodm9pZCkKIHsKIAlzdGF0aWMgaW50IGxvYWRlZDsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlpbnQgZmxhZzsKIAogCWlmIChsb2FkZWQpCkBAIC00NjcsNyArNDc0LDcgQEAKIAogCWN1cnJlbnRfYnJhbmNoID0gTlVMTDsKIAlpZiAoc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkpIHsKLQkJY29uc3QgY2hhciAqaGVhZF9yZWYgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCAwLCBvaWQuaGFzaCwgJmZsYWcpOworCQljb25zdCBjaGFyICpoZWFkX3JlZiA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIDAsIE5VTEwsICZmbGFnKTsKIAkJaWYgKGhlYWRfcmVmICYmIChmbGFnICYgUkVGX0lTU1lNUkVGKSAmJgogCQkgICAgc2tpcF9wcmVmaXgoaGVhZF9yZWYsICJyZWZzL2hlYWRzLyIsICZoZWFkX3JlZikpIHsKIAkJCWN1cnJlbnRfYnJhbmNoID0gbWFrZV9icmFuY2goaGVhZF9yZWYsIDApOwpAQCAtNDc3LDI2ICs0ODQsNiBAQAogCWFsaWFzX2FsbF91cmxzKCk7CiB9CiAKLS8qCi0gKiBUaGlzIGZ1bmN0aW9uIGZyZWVzIGEgcmVmc3BlYyBhcnJheS4KLSAqIFdhcm5pbmc6IGNvZGUgcGF0aHMgc2hvdWxkIGJlIGNoZWNrZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHNyYwotICogICAgICAgICAgYW5kIGRzdCBwb2ludGVycyBhcmUgYWx3YXlzIGZyZWVhYmxlIHBvaW50ZXJzIGFzIHdlbGwKLSAqICAgICAgICAgIGFzIHRoZSByZWZzcGVjIHBvaW50ZXIgaXRzZWxmLgotICovCi1zdGF0aWMgdm9pZCBmcmVlX3JlZnNwZWNzKHN0cnVjdCByZWZzcGVjICpyZWZzcGVjLCBpbnQgbnJfcmVmc3BlYykKLXsKLQlpbnQgaTsKLQotCWlmICghcmVmc3BlYykKLQkJcmV0dXJuOwotCi0JZm9yIChpID0gMDsgaSA8IG5yX3JlZnNwZWM7IGkrKykgewotCQlmcmVlKHJlZnNwZWNbaV0uc3JjKTsKLQkJZnJlZShyZWZzcGVjW2ldLmRzdCk7Ci0JfQotCWZyZWUocmVmc3BlYyk7Ci19Ci0KIHN0YXRpYyBzdHJ1Y3QgcmVmc3BlYyAqcGFyc2VfcmVmc3BlY19pbnRlcm5hbChpbnQgbnJfcmVmc3BlYywgY29uc3QgY2hhciAqKnJlZnNwZWMsIGludCBmZXRjaCwgaW50IHZlcmlmeSkKIHsKIAlpbnQgaTsKQEAgLTYxMCw3ICs1OTcsNyBAQAogCQkgKiBzaW5jZSBpdCBpcyBvbmx5IHBvc3NpYmxlIHRvIHJlYWNoIHRoaXMgcG9pbnQgZnJvbSB3aXRoaW4KIAkJICogdGhlIGZvciBsb29wIGFib3ZlLgogCQkgKi8KLQkJZnJlZV9yZWZzcGVjcyhycywgaSsxKTsKKwkJZnJlZV9yZWZzcGVjKGkrMSwgcnMpOwogCQlyZXR1cm4gTlVMTDsKIAl9CiAJZGllKCJJbnZhbGlkIHJlZnNwZWMgJyVzJyIsIHJlZnNwZWNbaV0pOwpAQCAtNjIxLDcgKzYwOCw3IEBACiAJc3RydWN0IHJlZnNwZWMgKnJlZnNwZWM7CiAKIAlyZWZzcGVjID0gcGFyc2VfcmVmc3BlY19pbnRlcm5hbCgxLCAmZmV0Y2hfcmVmc3BlY19zdHIsIDEsIDEpOwotCWZyZWVfcmVmc3BlY3MocmVmc3BlYywgMSk7CisJZnJlZV9yZWZzcGVjKDEsIHJlZnNwZWMpOwogCXJldHVybiAhIXJlZnNwZWM7CiB9CiAKQEAgLTYzMCw3ICs2MTcsNyBAQAogCXJldHVybiBwYXJzZV9yZWZzcGVjX2ludGVybmFsKG5yX3JlZnNwZWMsIHJlZnNwZWMsIDEsIDApOwogfQogCi1zdGF0aWMgc3RydWN0IHJlZnNwZWMgKnBhcnNlX3B1c2hfcmVmc3BlYyhpbnQgbnJfcmVmc3BlYywgY29uc3QgY2hhciAqKnJlZnNwZWMpCitzdHJ1Y3QgcmVmc3BlYyAqcGFyc2VfcHVzaF9yZWZzcGVjKGludCBucl9yZWZzcGVjLCBjb25zdCBjaGFyICoqcmVmc3BlYykKIHsKIAlyZXR1cm4gcGFyc2VfcmVmc3BlY19pbnRlcm5hbChucl9yZWZzcGVjLCByZWZzcGVjLCAwLCAwKTsKIH0KQEAgLTYzOCw2ICs2MjUsMTAgQEAKIHZvaWQgZnJlZV9yZWZzcGVjKGludCBucl9yZWZzcGVjLCBzdHJ1Y3QgcmVmc3BlYyAqcmVmc3BlYykKIHsKIAlpbnQgaTsKKworCWlmICghcmVmc3BlYykKKwkJcmV0dXJuOworCiAJZm9yIChpID0gMDsgaSA8IG5yX3JlZnNwZWM7IGkrKykgewogCQlmcmVlKHJlZnNwZWNbaV0uc3JjKTsKIAkJZnJlZShyZWZzcGVjW2ldLmRzdCk7CkBAIC02NDksNyArNjQwLDEyIEBACiB7CiAJaWYgKCFuYW1lWzBdIHx8IGlzX2RvdF9vcl9kb3Rkb3QobmFtZSkpCiAJCXJldHVybiAwOwotCXJldHVybiAhc3RyY2hyKG5hbWUsICcvJyk7IC8qIG5vIHNsYXNoICovCisKKwkvKiByZW1vdGUgbmlja25hbWVzIGNhbm5vdCBjb250YWluIHNsYXNoZXMgKi8KKwl3aGlsZSAoKm5hbWUpCisJCWlmIChpc19kaXJfc2VwKCpuYW1lKyspKQorCQkJcmV0dXJuIDA7CisJcmV0dXJuIDE7CiB9CiAKIGNvbnN0IGNoYXIgKnJlbW90ZV9mb3JfYnJhbmNoKHN0cnVjdCBicmFuY2ggKmJyYW5jaCwgaW50ICpleHBsaWNpdCkKQEAgLTEwODgsNyArMTA4NCw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCWlmIChnZXRfc2hhMShuYW1lLCBvaWQuaGFzaCkpCisJaWYgKGdldF9vaWQobmFtZSwgJm9pZCkpCiAJCXJldHVybiAtMTsKIAogCWlmIChtYXRjaCkgewpAQCAtMTEwOCwxMCArMTEwNCw5IEBACiBzdGF0aWMgY2hhciAqZ3Vlc3NfcmVmKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCByZWYgKnBlZXIpCiB7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCWNvbnN0IGNoYXIgKnIgPSByZXNvbHZlX3JlZl91bnNhZmUocGVlci0+bmFtZSwgUkVTT0xWRV9SRUZfUkVBRElORywKLQkJCQkJICAgb2lkLmhhc2gsIE5VTEwpOworCQkJCQkgICBOVUxMLCBOVUxMKTsKIAlpZiAoIXIpCiAJCXJldHVybiBOVUxMOwogCkBAIC0xMTY5LDEyICsxMTY0LDExIEBACiAJCXJldHVybiAtMTsKIAogCWlmICghZHN0X3ZhbHVlKSB7Ci0JCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQlpbnQgZmxhZzsKIAogCQlkc3RfdmFsdWUgPSByZXNvbHZlX3JlZl91bnNhZmUobWF0Y2hlZF9zcmMtPm5hbWUsCiAJCQkJCSAgICAgICBSRVNPTFZFX1JFRl9SRUFESU5HLAotCQkJCQkgICAgICAgb2lkLmhhc2gsICZmbGFnKTsKKwkJCQkJICAgICAgIE5VTEwsICZmbGFnKTsKIAkJaWYgKCFkc3RfdmFsdWUgfHwKIAkJICAgICgoZmxhZyAmIFJFRl9JU1NZTVJFRikgJiYKIAkJICAgICAhc3RhcnRzX3dpdGgoZHN0X3ZhbHVlLCAicmVmcy9oZWFkcy8iKSkpCkBAIC0xMTkxLDkgKzExODUsMTAgQEAKIAkJZWxzZSBpZiAoaXNfbnVsbF9vaWQoJm1hdGNoZWRfc3JjLT5uZXdfb2lkKSkKIAkJCWVycm9yKCJ1bmFibGUgdG8gZGVsZXRlICclcyc6IHJlbW90ZSByZWYgZG9lcyBub3QgZXhpc3QiLAogCQkJICAgICAgZHN0X3ZhbHVlKTsKLQkJZWxzZSBpZiAoKGRzdF9ndWVzcyA9IGd1ZXNzX3JlZihkc3RfdmFsdWUsIG1hdGNoZWRfc3JjKSkpCisJCWVsc2UgaWYgKChkc3RfZ3Vlc3MgPSBndWVzc19yZWYoZHN0X3ZhbHVlLCBtYXRjaGVkX3NyYykpKSB7CiAJCQltYXRjaGVkX2RzdCA9IG1ha2VfbGlua2VkX3JlZihkc3RfZ3Vlc3MsIGRzdF90YWlsKTsKLQkJZWxzZQorCQkJZnJlZShkc3RfZ3Vlc3MpOworCQl9IGVsc2UKIAkJCWVycm9yKCJ1bmFibGUgdG8gcHVzaCB0byB1bnF1YWxpZmllZCBkZXN0aW5hdGlvbjogJXNcbiIKIAkJCSAgICAgICJUaGUgZGVzdGluYXRpb24gcmVmc3BlYyBuZWl0aGVyIG1hdGNoZXMgYW4gIgogCQkJICAgICAgImV4aXN0aW5nIHJlZiBvbiB0aGUgcmVtb3RlIG5vclxuIgpAQCAtMTI5Niw3ICsxMjkxLDcgQEAKIAogCWlmIChpc19udWxsX29pZChvaWQpKQogCQlyZXR1cm47Ci0JY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZC0+aGFzaCwgMSk7CisJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZCwgMSk7CiAJaWYgKCFjb21taXQgfHwgKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgVE1QX01BUkspKQogCQlyZXR1cm47CiAJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gVE1QX01BUks7CkBAIC0xMzU4LDcgKzEzNTMsOCBAQAogCiAJCQlpZiAoaXNfbnVsbF9vaWQoJnJlZi0+bmV3X29pZCkpCiAJCQkJY29udGludWU7Ci0JCQljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmVmLT5uZXdfb2lkLmhhc2gsIDEpOworCQkJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KCZyZWYtPm5ld19vaWQsCisJCQkJCQkJCTEpOwogCQkJaWYgKCFjb21taXQpCiAJCQkJLyogbm90IHB1c2hpbmcgYSBjb21taXQsIHdoaWNoIGlzIG5vdCBhbiBlcnJvciAqLwogCQkJCWNvbnRpbnVlOwpAQCAtMTU4NSw4ICsxNTgxLDggQEAKIAkJCQlyZWplY3RfcmVhc29uID0gUkVGX1NUQVRVU19SRUpFQ1RfQUxSRUFEWV9FWElTVFM7CiAJCQllbHNlIGlmICghaGFzX29iamVjdF9maWxlKCZyZWYtPm9sZF9vaWQpKQogCQkJCXJlamVjdF9yZWFzb24gPSBSRUZfU1RBVFVTX1JFSkVDVF9GRVRDSF9GSVJTVDsKLQkJCWVsc2UgaWYgKCFsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmVmLT5vbGRfb2lkLmhhc2gsIDEpIHx8Ci0JCQkJICFsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmVmLT5uZXdfb2lkLmhhc2gsIDEpKQorCQkJZWxzZSBpZiAoIWxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSgmcmVmLT5vbGRfb2lkLCAxKSB8fAorCQkJCSAhbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KCZyZWYtPm5ld19vaWQsIDEpKQogCQkJCXJlamVjdF9yZWFzb24gPSBSRUZfU1RBVFVTX1JFSkVDVF9ORUVEU19GT1JDRTsKIAkJCWVsc2UgaWYgKCFyZWZfbmV3ZXIoJnJlZi0+bmV3X29pZCwgJnJlZi0+b2xkX29pZCkpCiAJCQkJcmVqZWN0X3JlYXNvbiA9IFJFRl9TVEFUVVNfUkVKRUNUX05PTkZBU1RGT1JXQVJEOwpAQCAtMTc5MywxMCArMTc4OSw5IEBACiAKIHN0YXRpYyBpbnQgaWdub3JlX3N5bXJlZl91cGRhdGUoY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlpbnQgZmxhZzsKIAotCWlmICghcmVzb2x2ZV9yZWZfdW5zYWZlKHJlZm5hbWUsIDAsIG9pZC5oYXNoLCAmZmxhZykpCisJaWYgKCFyZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgMCwgTlVMTCwgJmZsYWcpKQogCQlyZXR1cm4gMDsgLyogbm9uLWV4aXN0aW5nIHJlZnMgYXJlIE9LICovCiAJcmV0dXJuIChmbGFnICYgUkVGX0lTU1lNUkVGKTsKIH0KQEAgLTE5NTMsMTIgKzE5NDgsMTIgQEAKIAkgKiBCb3RoIG5ldyBhbmQgb2xkIG11c3QgYmUgY29tbWl0LWlzaCBhbmQgbmV3IGlzIGRlc2NlbmRhbnQgb2YKIAkgKiBvbGQuICBPdGhlcndpc2Ugd2UgcmVxdWlyZSAtLWZvcmNlLgogCSAqLwotCW8gPSBkZXJlZl90YWcocGFyc2Vfb2JqZWN0KG9sZF9vaWQtPmhhc2gpLCBOVUxMLCAwKTsKKwlvID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChvbGRfb2lkKSwgTlVMTCwgMCk7CiAJaWYgKCFvIHx8IG8tPnR5cGUgIT0gT0JKX0NPTU1JVCkKIAkJcmV0dXJuIDA7CiAJb2xkID0gKHN0cnVjdCBjb21taXQgKikgbzsKIAotCW8gPSBkZXJlZl90YWcocGFyc2Vfb2JqZWN0KG5ld19vaWQtPmhhc2gpLCBOVUxMLCAwKTsKKwlvID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChuZXdfb2lkKSwgTlVMTCwgMCk7CiAJaWYgKCFvIHx8IG8tPnR5cGUgIT0gT0JKX0NPTU1JVCkKIAkJcmV0dXJuIDA7CiAJbmV3ID0gKHN0cnVjdCBjb21taXQgKikgbzsKQEAgLTIwMDksMTMgKzIwMDQsMTMgQEAKIAkvKiBDYW5ub3Qgc3RhdCBpZiB3aGF0IHdlIHVzZWQgdG8gYnVpbGQgb24gbm8gbG9uZ2VyIGV4aXN0cyAqLwogCWlmIChyZWFkX3JlZihiYXNlLCBvaWQuaGFzaCkpCiAJCXJldHVybiAtMTsKLQl0aGVpcnMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShvaWQuaGFzaCk7CisJdGhlaXJzID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJm9pZCk7CiAJaWYgKCF0aGVpcnMpCiAJCXJldHVybiAtMTsKIAogCWlmIChyZWFkX3JlZihicmFuY2gtPnJlZm5hbWUsIG9pZC5oYXNoKSkKIAkJcmV0dXJuIC0xOwotCW91cnMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShvaWQuaGFzaCk7CisJb3VycyA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKCZvaWQpOwogCWlmICghb3VycykKIAkJcmV0dXJuIC0xOwogCkBAIC0yMDg1LDcgKzIwODAsNyBAQAogCQkJCV8oIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIikpOwogCX0gZWxzZSBpZiAoIW91cnMgJiYgIXRoZWlycykgewogCQlzdHJidWZfYWRkZihzYiwKLQkJCV8oIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIiksCisJCQlfKCJZb3VyIGJyYW5jaCBpcyB1cCB0byBkYXRlIHdpdGggJyVzJy5cbiIpLAogCQkJYmFzZSk7CiAJfSBlbHNlIGlmICghdGhlaXJzKSB7CiAJCXN0cmJ1Zl9hZGRmKHNiLApAQCAtMjI3OSw3ICsyMjc0LDcgQEAKIAlyZXR1cm4gZW50cnk7CiB9CiAKLWludCBwYXJzZV9wdXNoX2Nhc19vcHRpb24oc3RydWN0IHB1c2hfY2FzX29wdGlvbiAqY2FzLCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3N0YXRpYyBpbnQgcGFyc2VfcHVzaF9jYXNfb3B0aW9uKHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKmNhcywgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7CiAJY29uc3QgY2hhciAqY29sb247CiAJc3RydWN0IHB1c2hfY2FzICplbnRyeTsKQEAgLTIzMDIsOCArMjI5Nyw4IEBACiAJaWYgKCEqY29sb24pCiAJCWVudHJ5LT51c2VfdHJhY2tpbmcgPSAxOwogCWVsc2UgaWYgKCFjb2xvblsxXSkKLQkJaGFzaGNscihlbnRyeS0+ZXhwZWN0KTsKLQllbHNlIGlmIChnZXRfc2hhMShjb2xvbiArIDEsIGVudHJ5LT5leHBlY3QpKQorCQlvaWRjbHIoJmVudHJ5LT5leHBlY3QpOworCWVsc2UgaWYgKGdldF9vaWQoY29sb24gKyAxLCAmZW50cnktPmV4cGVjdCkpCiAJCXJldHVybiBlcnJvcigiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciLCBjb2xvbiArIDEpOwogCXJldHVybiAwOwogfQpAQCAtMjM1MCw3ICsyMzQ1LDcgQEAKIAkJCWNvbnRpbnVlOwogCQlyZWYtPmV4cGVjdF9vbGRfc2hhMSA9IDE7CiAJCWlmICghZW50cnktPnVzZV90cmFja2luZykKLQkJCWhhc2hjcHkocmVmLT5vbGRfb2lkX2V4cGVjdC5oYXNoLCBjYXMtPmVudHJ5W2ldLmV4cGVjdCk7CisJCQlvaWRjcHkoJnJlZi0+b2xkX29pZF9leHBlY3QsICZlbnRyeS0+ZXhwZWN0KTsKIAkJZWxzZSBpZiAocmVtb3RlX3RyYWNraW5nKHJlbW90ZSwgcmVmLT5uYW1lLCAmcmVmLT5vbGRfb2lkX2V4cGVjdCkpCiAJCQlvaWRjbHIoJnJlZi0+b2xkX29pZF9leHBlY3QpOwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9yZW1vdGUuaCBiL3JlbW90ZS5oCmluZGV4IGRkOGM1MTcuLjJlY2Y0YzggMTAwNjQ0Ci0tLSBhL3JlbW90ZS5oCisrKyBiL3JlbW90ZS5oCkBAIC0xNDksMTEgKzE0OSwxMSBAQAogICovCiB2b2lkIGZyZWVfcmVmcyhzdHJ1Y3QgcmVmICpyZWYpOwogCi1zdHJ1Y3Qgc2hhMV9hcnJheTsKK3N0cnVjdCBvaWRfYXJyYXk7CiBleHRlcm4gc3RydWN0IHJlZiAqKmdldF9yZW1vdGVfaGVhZHMoaW50IGluLCBjaGFyICpzcmNfYnVmLCBzaXplX3Qgc3JjX2xlbiwKIAkJCQkgICAgIHN0cnVjdCByZWYgKipsaXN0LCB1bnNpZ25lZCBpbnQgZmxhZ3MsCi0JCQkJICAgICBzdHJ1Y3Qgc2hhMV9hcnJheSAqZXh0cmFfaGF2ZSwKLQkJCQkgICAgIHN0cnVjdCBzaGExX2FycmF5ICpzaGFsbG93KTsKKwkJCQkgICAgIHN0cnVjdCBvaWRfYXJyYXkgKmV4dHJhX2hhdmUsCisJCQkJICAgICBzdHJ1Y3Qgb2lkX2FycmF5ICpzaGFsbG93KTsKIAogaW50IHJlc29sdmVfcmVtb3RlX3N5bXJlZihzdHJ1Y3QgcmVmICpyZWYsIHN0cnVjdCByZWYgKmxpc3QpOwogaW50IHJlZl9uZXdlcihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpuZXdfb2lkLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkKTsKQEAgLTE2OSw2ICsxNjksNyBAQAogCiBpbnQgdmFsaWRfZmV0Y2hfcmVmc3BlYyhjb25zdCBjaGFyICpyZWZzcGVjKTsKIHN0cnVjdCByZWZzcGVjICpwYXJzZV9mZXRjaF9yZWZzcGVjKGludCBucl9yZWZzcGVjLCBjb25zdCBjaGFyICoqcmVmc3BlYyk7CitleHRlcm4gc3RydWN0IHJlZnNwZWMgKnBhcnNlX3B1c2hfcmVmc3BlYyhpbnQgbnJfcmVmc3BlYywgY29uc3QgY2hhciAqKnJlZnNwZWMpOwogCiB2b2lkIGZyZWVfcmVmc3BlYyhpbnQgbnJfcmVmc3BlYywgc3RydWN0IHJlZnNwZWMgKnJlZnNwZWMpOwogCkBAIC0yODEsNyArMjgyLDcgQEAKIHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gewogCXVuc2lnbmVkIHVzZV90cmFja2luZ19mb3JfcmVzdDoxOwogCXN0cnVjdCBwdXNoX2NhcyB7Ci0JCXVuc2lnbmVkIGNoYXIgZXhwZWN0WzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBleHBlY3Q7CiAJCXVuc2lnbmVkIHVzZV90cmFja2luZzoxOwogCQljaGFyICpyZWZuYW1lOwogCX0gKmVudHJ5OwpAQCAtMjkwLDcgKzI5MSw2IEBACiB9OwogCiBleHRlcm4gaW50IHBhcnNlb3B0X3B1c2hfY2FzX29wdGlvbihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KTsKLWV4dGVybiBpbnQgcGFyc2VfcHVzaF9jYXNfb3B0aW9uKHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKiwgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpOwogCiBleHRlcm4gaW50IGlzX2VtcHR5X2Nhcyhjb25zdCBzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICopOwogdm9pZCBhcHBseV9wdXNoX2NhcyhzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICosIHN0cnVjdCByZW1vdGUgKiwgc3RydWN0IHJlZiAqKTsKZGlmZiAtLWdpdCBhL3JlcG9zaXRvcnkuYyBiL3JlcG9zaXRvcnkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjJmYWU1Ci0tLSAvZGV2L251bGwKKysrIGIvcmVwb3NpdG9yeS5jCkBAIC0wLDAgKzEsMjMzIEBACisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAic3VibW9kdWxlLWNvbmZpZy5oIgorCisvKiBUaGUgbWFpbiByZXBvc2l0b3J5ICovCitzdGF0aWMgc3RydWN0IHJlcG9zaXRvcnkgdGhlX3JlcG8gPSB7CisJTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgJnRoZV9pbmRleCwgMCwgMAorfTsKK3N0cnVjdCByZXBvc2l0b3J5ICp0aGVfcmVwb3NpdG9yeSA9ICZ0aGVfcmVwbzsKKworc3RhdGljIGNoYXIgKmdpdF9wYXRoX2Zyb21fZW52KGNvbnN0IGNoYXIgKmVudnZhciwgY29uc3QgY2hhciAqZ2l0X2RpciwKKwkJCSAgICAgICBjb25zdCBjaGFyICpwYXRoLCBpbnQgZnJvbWVudikKK3sKKwlpZiAoZnJvbWVudikgeworCQljb25zdCBjaGFyICp2YWx1ZSA9IGdldGVudihlbnZ2YXIpOworCQlpZiAodmFsdWUpCisJCQlyZXR1cm4geHN0cmR1cCh2YWx1ZSk7CisJfQorCisJcmV0dXJuIHhzdHJmbXQoIiVzLyVzIiwgZ2l0X2RpciwgcGF0aCk7Cit9CisKK3N0YXRpYyBpbnQgZmluZF9jb21tb25fZGlyKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpnaXRkaXIsIGludCBmcm9tZW52KQoreworCWlmIChmcm9tZW52KSB7CisJCWNvbnN0IGNoYXIgKnZhbHVlID0gZ2V0ZW52KEdJVF9DT01NT05fRElSX0VOVklST05NRU5UKTsKKwkJaWYgKHZhbHVlKSB7CisJCQlzdHJidWZfYWRkc3RyKHNiLCB2YWx1ZSk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworCXJldHVybiBnZXRfY29tbW9uX2Rpcl9ub2VudihzYiwgZ2l0ZGlyKTsKK30KKworc3RhdGljIHZvaWQgcmVwb19zZXR1cF9lbnYoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pCit7CisJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCisJcmVwby0+ZGlmZmVyZW50X2NvbW1vbmRpciA9IGZpbmRfY29tbW9uX2Rpcigmc2IsIHJlcG8tPmdpdGRpciwKKwkJCQkJCSAgICAhcmVwby0+aWdub3JlX2Vudik7CisJZnJlZShyZXBvLT5jb21tb25kaXIpOworCXJlcG8tPmNvbW1vbmRpciA9IHN0cmJ1Zl9kZXRhY2goJnNiLCBOVUxMKTsKKwlmcmVlKHJlcG8tPm9iamVjdGRpcik7CisJcmVwby0+b2JqZWN0ZGlyID0gZ2l0X3BhdGhfZnJvbV9lbnYoREJfRU5WSVJPTk1FTlQsIHJlcG8tPmNvbW1vbmRpciwKKwkJCQkJICAgICJvYmplY3RzIiwgIXJlcG8tPmlnbm9yZV9lbnYpOworCWZyZWUocmVwby0+Z3JhZnRfZmlsZSk7CisJcmVwby0+Z3JhZnRfZmlsZSA9IGdpdF9wYXRoX2Zyb21fZW52KEdSQUZUX0VOVklST05NRU5ULCByZXBvLT5jb21tb25kaXIsCisJCQkJCSAgICAgImluZm8vZ3JhZnRzIiwgIXJlcG8tPmlnbm9yZV9lbnYpOworCWZyZWUocmVwby0+aW5kZXhfZmlsZSk7CisJcmVwby0+aW5kZXhfZmlsZSA9IGdpdF9wYXRoX2Zyb21fZW52KElOREVYX0VOVklST05NRU5ULCByZXBvLT5naXRkaXIsCisJCQkJCSAgICAgImluZGV4IiwgIXJlcG8tPmlnbm9yZV9lbnYpOworfQorCit2b2lkIHJlcG9fc2V0X2dpdGRpcihzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwljb25zdCBjaGFyICpnaXRmaWxlID0gcmVhZF9naXRmaWxlKHBhdGgpOworCWNoYXIgKm9sZF9naXRkaXIgPSByZXBvLT5naXRkaXI7CisKKwlyZXBvLT5naXRkaXIgPSB4c3RyZHVwKGdpdGZpbGUgPyBnaXRmaWxlIDogcGF0aCk7CisJcmVwb19zZXR1cF9lbnYocmVwbyk7CisKKwlmcmVlKG9sZF9naXRkaXIpOworfQorCisvKgorICogQXR0ZW1wdCB0byByZXNvbHZlIGFuZCBzZXQgdGhlIHByb3ZpZGVkICdnaXRkaXInIGZvciByZXBvc2l0b3J5ICdyZXBvJy4KKyAqIFJldHVybiAwIHVwb24gc3VjY2VzcyBhbmQgYSBub24temVybyB2YWx1ZSB1cG9uIGZhaWx1cmUuCisgKi8KK3N0YXRpYyBpbnQgcmVwb19pbml0X2dpdGRpcihzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqZ2l0ZGlyKQoreworCWludCByZXQgPSAwOworCWludCBlcnJvciA9IDA7CisJY2hhciAqYWJzcGF0aCA9IE5VTEw7CisJY29uc3QgY2hhciAqcmVzb2x2ZWRfZ2l0ZGlyOworCisJYWJzcGF0aCA9IHJlYWxfcGF0aGR1cChnaXRkaXIsIDApOworCWlmICghYWJzcGF0aCkgeworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogJ2dpdGRpcicgbXVzdCByZWZlcmVuY2UgdGhlIGdpdGRpciBkaXJlY3RseSAqLworCXJlc29sdmVkX2dpdGRpciA9IHJlc29sdmVfZ2l0ZGlyX2dlbnRseShhYnNwYXRoLCAmZXJyb3IpOworCWlmICghcmVzb2x2ZWRfZ2l0ZGlyKSB7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXBvX3NldF9naXRkaXIocmVwbywgcmVzb2x2ZWRfZ2l0ZGlyKTsKKworb3V0OgorCWZyZWUoYWJzcGF0aCk7CisJcmV0dXJuIHJldDsKK30KKwordm9pZCByZXBvX3NldF93b3JrdHJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlyZXBvLT53b3JrdHJlZSA9IHJlYWxfcGF0aGR1cChwYXRoLCAxKTsKK30KKworc3RhdGljIGludCByZWFkX2FuZF92ZXJpZnlfcmVwb3NpdG9yeV9mb3JtYXQoc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0ICpmb3JtYXQsCisJCQkJCSAgICAgY29uc3QgY2hhciAqY29tbW9uZGlyKQoreworCWludCByZXQgPSAwOworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKworCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzL2NvbmZpZyIsIGNvbW1vbmRpcik7CisJcmVhZF9yZXBvc2l0b3J5X2Zvcm1hdChmb3JtYXQsIHNiLmJ1Zik7CisJc3RyYnVmX3Jlc2V0KCZzYik7CisKKwlpZiAodmVyaWZ5X3JlcG9zaXRvcnlfZm9ybWF0KGZvcm1hdCwgJnNiKSA8IDApIHsKKwkJd2FybmluZygiJXMiLCBzYi5idWYpOworCQlyZXQgPSAtMTsKKwl9CisKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBJbml0aWFsaXplICdyZXBvJyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgJ2dpdGRpcicuCisgKiBSZXR1cm4gMCB1cG9uIHN1Y2Nlc3MgYW5kIGEgbm9uLXplcm8gdmFsdWUgdXBvbiBmYWlsdXJlLgorICovCitpbnQgcmVwb19pbml0KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBjb25zdCBjaGFyICpnaXRkaXIsIGNvbnN0IGNoYXIgKndvcmt0cmVlKQoreworCXN0cnVjdCByZXBvc2l0b3J5X2Zvcm1hdCBmb3JtYXQ7CisJbWVtc2V0KHJlcG8sIDAsIHNpemVvZigqcmVwbykpOworCisJcmVwby0+aWdub3JlX2VudiA9IDE7CisKKwlpZiAocmVwb19pbml0X2dpdGRpcihyZXBvLCBnaXRkaXIpKQorCQlnb3RvIGVycm9yOworCisJaWYgKHJlYWRfYW5kX3ZlcmlmeV9yZXBvc2l0b3J5X2Zvcm1hdCgmZm9ybWF0LCByZXBvLT5jb21tb25kaXIpKQorCQlnb3RvIGVycm9yOworCisJaWYgKHdvcmt0cmVlKQorCQlyZXBvX3NldF93b3JrdHJlZShyZXBvLCB3b3JrdHJlZSk7CisKKwlyZXR1cm4gMDsKKworZXJyb3I6CisJcmVwb19jbGVhcihyZXBvKTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBJbml0aWFsaXplICdzdWJtb2R1bGUnIGFzIHRoZSBzdWJtb2R1bGUgZ2l2ZW4gYnkgJ3BhdGgnIGluIHBhcmVudCByZXBvc2l0b3J5CisgKiAnc3VwZXJwcm9qZWN0Jy4KKyAqIFJldHVybiAwIHVwb24gc3VjY2VzcyBhbmQgYSBub24temVybyB2YWx1ZSB1cG9uIGZhaWx1cmUuCisgKi8KK2ludCByZXBvX3N1Ym1vZHVsZV9pbml0KHN0cnVjdCByZXBvc2l0b3J5ICpzdWJtb2R1bGUsCisJCQlzdHJ1Y3QgcmVwb3NpdG9yeSAqc3VwZXJwcm9qZWN0LAorCQkJY29uc3QgY2hhciAqcGF0aCkKK3sKKwljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWI7CisJc3RydWN0IHN0cmJ1ZiBnaXRkaXIgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHdvcmt0cmVlID0gU1RSQlVGX0lOSVQ7CisJaW50IHJldCA9IDA7CisKKwlzdWIgPSBzdWJtb2R1bGVfZnJvbV9jYWNoZShzdXBlcnByb2plY3QsICZudWxsX29pZCwgcGF0aCk7CisJaWYgKCFzdWIpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKworCXN0cmJ1Zl9yZXBvX3dvcmt0cmVlX3BhdGgoJmdpdGRpciwgc3VwZXJwcm9qZWN0LCAiJXMvLmdpdCIsIHBhdGgpOworCXN0cmJ1Zl9yZXBvX3dvcmt0cmVlX3BhdGgoJndvcmt0cmVlLCBzdXBlcnByb2plY3QsICIlcyIsIHBhdGgpOworCisJaWYgKHJlcG9faW5pdChzdWJtb2R1bGUsIGdpdGRpci5idWYsIHdvcmt0cmVlLmJ1ZikpIHsKKwkJLyoKKwkJICogSWYgaW5pdGlsaXphdGlvbiBmYWlscyB0aGVuIGl0IG1heSBiZSBkdWUgdG8gdGhlIHN1Ym1vZHVsZQorCQkgKiBub3QgYmVpbmcgcG9wdWxhdGVkIGluIHRoZSBzdXBlcnByb2plY3QncyB3b3JrdHJlZS4gIEluc3RlYWQKKwkJICogd2UgY2FuIHRyeSB0byBpbml0aWxpemUgdGhlIHN1Ym1vZHVsZSBieSBmaW5kaW5nIGl0J3MgZ2l0ZGlyCisJCSAqIGluIHRoZSBzdXBlcnByb2plY3QncyAnbW9kdWxlcycgZGlyZWN0b3J5LiAgSW4gdGhpcyBjYXNlIHRoZQorCQkgKiBzdWJtb2R1bGUgd291bGQgbm90IGhhdmUgYSB3b3JrdHJlZS4KKwkJICovCisJCXN0cmJ1Zl9yZXNldCgmZ2l0ZGlyKTsKKwkJc3RyYnVmX3JlcG9fZ2l0X3BhdGgoJmdpdGRpciwgc3VwZXJwcm9qZWN0LAorCQkJCSAgICAgIm1vZHVsZXMvJXMiLCBzdWItPm5hbWUpOworCisJCWlmIChyZXBvX2luaXQoc3VibW9kdWxlLCBnaXRkaXIuYnVmLCBOVUxMKSkgeworCQkJcmV0ID0gLTE7CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKworCXN1Ym1vZHVsZS0+c3VibW9kdWxlX3ByZWZpeCA9IHhzdHJmbXQoIiVzJXMvIiwKKwkJCQkJICAgICAgc3VwZXJwcm9qZWN0LT5zdWJtb2R1bGVfcHJlZml4ID8KKwkJCQkJICAgICAgc3VwZXJwcm9qZWN0LT5zdWJtb2R1bGVfcHJlZml4IDoKKwkJCQkJICAgICAgIiIsIHBhdGgpOworCitvdXQ6CisJc3RyYnVmX3JlbGVhc2UoJmdpdGRpcik7CisJc3RyYnVmX3JlbGVhc2UoJndvcmt0cmVlKTsKKwlyZXR1cm4gcmV0OworfQorCit2b2lkIHJlcG9fY2xlYXIoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pCit7CisJRlJFRV9BTkRfTlVMTChyZXBvLT5naXRkaXIpOworCUZSRUVfQU5EX05VTEwocmVwby0+Y29tbW9uZGlyKTsKKwlGUkVFX0FORF9OVUxMKHJlcG8tPm9iamVjdGRpcik7CisJRlJFRV9BTkRfTlVMTChyZXBvLT5ncmFmdF9maWxlKTsKKwlGUkVFX0FORF9OVUxMKHJlcG8tPmluZGV4X2ZpbGUpOworCUZSRUVfQU5EX05VTEwocmVwby0+d29ya3RyZWUpOworCUZSRUVfQU5EX05VTEwocmVwby0+c3VibW9kdWxlX3ByZWZpeCk7CisKKwlpZiAocmVwby0+Y29uZmlnKSB7CisJCWdpdF9jb25maWdzZXRfY2xlYXIocmVwby0+Y29uZmlnKTsKKwkJRlJFRV9BTkRfTlVMTChyZXBvLT5jb25maWcpOworCX0KKworCWlmIChyZXBvLT5zdWJtb2R1bGVfY2FjaGUpIHsKKwkJc3VibW9kdWxlX2NhY2hlX2ZyZWUocmVwby0+c3VibW9kdWxlX2NhY2hlKTsKKwkJcmVwby0+c3VibW9kdWxlX2NhY2hlID0gTlVMTDsKKwl9CisKKwlpZiAocmVwby0+aW5kZXgpIHsKKwkJZGlzY2FyZF9pbmRleChyZXBvLT5pbmRleCk7CisJCUZSRUVfQU5EX05VTEwocmVwby0+aW5kZXgpOworCX0KK30KKworaW50IHJlcG9fcmVhZF9pbmRleChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbykKK3sKKwlpZiAoIXJlcG8tPmluZGV4KQorCQlyZXBvLT5pbmRleCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpyZXBvLT5pbmRleCkpOworCisJcmV0dXJuIHJlYWRfaW5kZXhfZnJvbShyZXBvLT5pbmRleCwgcmVwby0+aW5kZXhfZmlsZSk7Cit9CmRpZmYgLS1naXQgYS9yZXBvc2l0b3J5LmggYi9yZXBvc2l0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y1ZTI0YQotLS0gL2Rldi9udWxsCisrKyBiL3JlcG9zaXRvcnkuaApAQCAtMCwwICsxLDEwNSBAQAorI2lmbmRlZiBSRVBPU0lUT1JZX0gKKyNkZWZpbmUgUkVQT1NJVE9SWV9ICisKK3N0cnVjdCBjb25maWdfc2V0Oworc3RydWN0IGluZGV4X3N0YXRlOworc3RydWN0IHN1Ym1vZHVsZV9jYWNoZTsKKworc3RydWN0IHJlcG9zaXRvcnkgeworCS8qIEVudmlyb25tZW50ICovCisJLyoKKwkgKiBQYXRoIHRvIHRoZSBnaXQgZGlyZWN0b3J5LgorCSAqIENhbm5vdCBiZSBOVUxMIGFmdGVyIGluaXRpYWxpemF0aW9uLgorCSAqLworCWNoYXIgKmdpdGRpcjsKKworCS8qCisJICogUGF0aCB0byB0aGUgY29tbW9uIGdpdCBkaXJlY3RvcnkuCisJICogQ2Fubm90IGJlIE5VTEwgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uCisJICovCisJY2hhciAqY29tbW9uZGlyOworCisJLyoKKwkgKiBQYXRoIHRvIHRoZSByZXBvc2l0b3J5J3Mgb2JqZWN0IHN0b3JlLgorCSAqIENhbm5vdCBiZSBOVUxMIGFmdGVyIGluaXRpYWxpemF0aW9uLgorCSAqLworCWNoYXIgKm9iamVjdGRpcjsKKworCS8qCisJICogUGF0aCB0byB0aGUgcmVwb3NpdG9yeSdzIGdyYWZ0IGZpbGUuCisJICogQ2Fubm90IGJlIE5VTEwgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uCisJICovCisJY2hhciAqZ3JhZnRfZmlsZTsKKworCS8qCisJICogUGF0aCB0byB0aGUgY3VycmVudCB3b3JrdHJlZSdzIGluZGV4IGZpbGUuCisJICogQ2Fubm90IGJlIE5VTEwgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uCisJICovCisJY2hhciAqaW5kZXhfZmlsZTsKKworCS8qCisJICogUGF0aCB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkuCisJICogQSBOVUxMIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZXJlIGlzIG5vIHdvcmtpbmcgZGlyZWN0b3J5LgorCSAqLworCWNoYXIgKndvcmt0cmVlOworCisJLyoKKwkgKiBQYXRoIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHRvcC1sZXZlbCBzdXBlcnByb2plY3QgZG93biB0byB0aGlzCisJICogcmVwb3NpdG9yeS4gIFRoaXMgaXMgb25seSBub24tTlVMTCBpZiB0aGUgcmVwb3NpdG9yeSBpcyBpbml0aWFsaXplZAorCSAqIGFzIGEgc3VibW9kdWxlIG9mIGFub3RoZXIgcmVwb3NpdG9yeS4KKwkgKi8KKwljaGFyICpzdWJtb2R1bGVfcHJlZml4OworCisJLyogU3Vic3lzdGVtcyAqLworCS8qCisJICogUmVwb3NpdG9yeSdzIGNvbmZpZyB3aGljaCBjb250YWlucyBrZXktdmFsdWUgcGFpcnMgZnJvbSB0aGUgdXN1YWwKKwkgKiBzZXQgb2YgY29uZmlnIGZpbGVzIChpLmUuIHJlcG8gc3BlY2lmaWMgLmdpdC9jb25maWcsIHVzZXIgd2lkZQorCSAqIH4vLmdpdGNvbmZpZywgWERHIGNvbmZpZyBmaWxlIGFuZCB0aGUgZ2xvYmFsIC9ldGMvZ2l0Y29uZmlnKQorCSAqLworCXN0cnVjdCBjb25maWdfc2V0ICpjb25maWc7CisKKwkvKiBSZXBvc2l0b3J5J3Mgc3VibW9kdWxlIGNvbmZpZyBhcyBkZWZpbmVkIGJ5ICcuZ2l0bW9kdWxlcycgKi8KKwlzdHJ1Y3Qgc3VibW9kdWxlX2NhY2hlICpzdWJtb2R1bGVfY2FjaGU7CisKKwkvKgorCSAqIFJlcG9zaXRvcnkncyBpbi1tZW1vcnkgaW5kZXguCisJICogJ3JlcG9fcmVhZF9pbmRleCgpJyBjYW4gYmUgdXNlZCB0byBwb3B1bGF0ZSAnaW5kZXgnLgorCSAqLworCXN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXg7CisKKwkvKiBDb25maWd1cmF0aW9ucyAqLworCS8qCisJICogQml0IHVzZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uIHRvIGluZGljYXRlIGlmIHJlcG9zaXRvcnkgc3RhdGUgKGxpa2UKKwkgKiB0aGUgbG9jYXRpb24gb2YgdGhlICdvYmplY3RkaXInKSBzaG91bGQgYmUgcmVhZCBmcm9tIHRoZQorCSAqIGVudmlyb25tZW50LiAgQnkgZGVmYXVsdCB0aGlzIGJpdCB3aWxsIGJlIHNldCBhdCB0aGUgYmVnaW5pbmcgb2YKKwkgKiAncmVwb19pbml0KCknIHNvIHRoYXQgYWxsIHJlcG9zaXRvcmllcyB3aWxsIGlnbm9yZSB0aGUgZW52aXJvbm1lbnQuCisJICogVGhlIGV4Y2VwdGlvbiB0byB0aGlzIGlzICd0aGVfcmVwb3NpdG9yeScsIHdoaWNoIGRvZXNuJ3QgZ28gdGhyb3VnaAorCSAqIHRoZSBub3JtYWwgJ3JlcG9faW5pdCgpJyBwcm9jZXNzLgorCSAqLworCXVuc2lnbmVkIGlnbm9yZV9lbnY6MTsKKworCS8qIEluZGljYXRlIGlmIGEgcmVwb3NpdG9yeSBoYXMgYSBkaWZmZXJlbnQgJ2NvbW1vbmRpcicgZnJvbSAnZ2l0ZGlyJyAqLworCXVuc2lnbmVkIGRpZmZlcmVudF9jb21tb25kaXI6MTsKK307CisKK2V4dGVybiBzdHJ1Y3QgcmVwb3NpdG9yeSAqdGhlX3JlcG9zaXRvcnk7CisKK2V4dGVybiB2b2lkIHJlcG9fc2V0X2dpdGRpcihzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gdm9pZCByZXBvX3NldF93b3JrdHJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gaW50IHJlcG9faW5pdChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqZ2l0ZGlyLCBjb25zdCBjaGFyICp3b3JrdHJlZSk7CitleHRlcm4gaW50IHJlcG9fc3VibW9kdWxlX2luaXQoc3RydWN0IHJlcG9zaXRvcnkgKnN1Ym1vZHVsZSwKKwkJCSAgICAgICBzdHJ1Y3QgcmVwb3NpdG9yeSAqc3VwZXJwcm9qZWN0LAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnBhdGgpOworZXh0ZXJuIHZvaWQgcmVwb19jbGVhcihzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbyk7CisKKy8qCisgKiBQb3B1bGF0ZXMgdGhlIHJlcG9zaXRvcnkncyBpbmRleCBmcm9tIGl0cyBpbmRleF9maWxlLCBhbiBpbmRleCBzdHJ1Y3Qgd2lsbAorICogYmUgYWxsb2NhdGVkIGlmIG5lZWRlZC4KKyAqCisgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBpbmRleCBlbnRyaWVzIGluIHRoZSBwb3B1bGF0ZWQgaW5kZXggb3IgYSB2YWx1ZSBsZXNzCisgKiB0aGFuIHplcm8gaWYgYW4gZXJyb3Igb2NjdXJlZC4gIElmIHRoZSByZXBvc2l0b3J5J3MgaW5kZXggaGFzIGFscmVhZHkgYmVlbgorICogcG9wdWxhdGVkIHRoZW4gdGhlIG51bWJlciBvZiBlbnRyaWVzIHdpbGwgc2ltcGx5IGJlIHJldHVybmVkLgorICovCitleHRlcm4gaW50IHJlcG9fcmVhZF9pbmRleChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbyk7CisKKyNlbmRpZiAvKiBSRVBPU0lUT1JZX0ggKi8KZGlmZiAtLWdpdCBhL3JlcmVyZS5jIGIvcmVyZXJlLmMKaW5kZXggM2JkNTVjYS4uMWNlNDQwZiAxMDA2NDQKLS0tIGEvcmVyZXJlLmMKKysrIGIvcmVyZXJlLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAjaW5jbHVkZSAicmVyZXJlLmgiCkBAIC0zOSw5ICs0MCw4IEBACiAJCWZyZWUocmVyZXJlX2RpcltpXS0+c3RhdHVzKTsKIAkJZnJlZShyZXJlcmVfZGlyW2ldKTsKIAl9Ci0JZnJlZShyZXJlcmVfZGlyKTsKKwlGUkVFX0FORF9OVUxMKHJlcmVyZV9kaXIpOwogCXJlcmVyZV9kaXJfbnIgPSByZXJlcmVfZGlyX2FsbG9jID0gMDsKLQlyZXJlcmVfZGlyID0gTlVMTDsKIH0KIAogc3RhdGljIHZvaWQgZnJlZV9yZXJlcmVfaWQoc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0pCkBAIC0yMDAsNyArMjAwLDcgQEAKIHN0YXRpYyB2b2lkIHJlYWRfcnIoc3RydWN0IHN0cmluZ19saXN0ICpycikKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCUZJTEUgKmluID0gZm9wZW4oZ2l0X3BhdGhfbWVyZ2VfcnIoKSwgInIiKTsKKwlGSUxFICppbiA9IGZvcGVuX29yX3dhcm4oZ2l0X3BhdGhfbWVyZ2VfcnIoKSwgInIiKTsKIAogCWlmICghaW4pCiAJCXJldHVybjsKQEAgLTI1OCw3ICsyNTgsNyBAQAogCQkJCSAgICByZXJlcmVfaWRfaGV4KGlkKSwKIAkJCQkgICAgcnItPml0ZW1zW2ldLnN0cmluZywgMCk7CiAKLQkJaWYgKHdyaXRlX2luX2Z1bGwob3V0X2ZkLCBidWYuYnVmLCBidWYubGVuKSAhPSBidWYubGVuKQorCQlpZiAod3JpdGVfaW5fZnVsbChvdXRfZmQsIGJ1Zi5idWYsIGJ1Zi5sZW4pIDwgMCkKIAkJCWRpZSgidW5hYmxlIHRvIHdyaXRlIHJlcmVyZSByZWNvcmQiKTsKIAogCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKQEAgLTQ4NCwxMyArNDg0LDE0IEBACiAJaW8uaW5wdXQgPSBmb3BlbihwYXRoLCAiciIpOwogCWlvLmlvLndyZXJyb3IgPSAwOwogCWlmICghaW8uaW5wdXQpCi0JCXJldHVybiBlcnJvcigiQ291bGQgbm90IG9wZW4gJXMiLCBwYXRoKTsKKwkJcmV0dXJuIGVycm9yX2Vycm5vKCJDb3VsZCBub3Qgb3BlbiAlcyIsIHBhdGgpOwogCiAJaWYgKG91dHB1dCkgewogCQlpby5pby5vdXRwdXQgPSBmb3BlbihvdXRwdXQsICJ3Iik7CiAJCWlmICghaW8uaW8ub3V0cHV0KSB7CisJCQllcnJvcl9lcnJubygiQ291bGQgbm90IHdyaXRlICVzIiwgb3V0cHV0KTsKIAkJCWZjbG9zZShpby5pbnB1dCk7Ci0JCQlyZXR1cm4gZXJyb3IoIkNvdWxkIG5vdCB3cml0ZSAlcyIsIG91dHB1dCk7CisJCQlyZXR1cm4gLTE7CiAJCX0KIAl9CiAKQEAgLTExMzIsMTQgKzExMzMsMTQgQEAKICAqIEdhcmJhZ2UgY29sbGVjdGlvbiBzdXBwb3J0CiAgKi8KIAotc3RhdGljIHRpbWVfdCByZXJlcmVfY3JlYXRlZF9hdChzdHJ1Y3QgcmVyZXJlX2lkICppZCkKK3N0YXRpYyB0aW1lc3RhbXBfdCByZXJlcmVfY3JlYXRlZF9hdChzdHJ1Y3QgcmVyZXJlX2lkICppZCkKIHsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIAogCXJldHVybiBzdGF0KHJlcmVyZV9wYXRoKGlkLCAicHJlaW1hZ2UiKSwgJnN0KSA/ICh0aW1lX3QpIDAgOiBzdC5zdF9tdGltZTsKIH0KIAotc3RhdGljIHRpbWVfdCByZXJlcmVfbGFzdF91c2VkX2F0KHN0cnVjdCByZXJlcmVfaWQgKmlkKQorc3RhdGljIHRpbWVzdGFtcF90IHJlcmVyZV9sYXN0X3VzZWRfYXQoc3RydWN0IHJlcmVyZV9pZCAqaWQpCiB7CiAJc3RydWN0IHN0YXQgc3Q7CiAKQEAgLTExNTYsMTEgKzExNTcsMTEgQEAKIAlpZC0+Y29sbGVjdGlvbi0+c3RhdHVzW2lkLT52YXJpYW50XSA9IDA7CiB9CiAKLXN0YXRpYyB2b2lkIHBydW5lX29uZShzdHJ1Y3QgcmVyZXJlX2lkICppZCwgdGltZV90IG5vdywKLQkJICAgICAgaW50IGN1dG9mZl9yZXNvbHZlLCBpbnQgY3V0b2ZmX25vcmVzb2x2ZSkKK3N0YXRpYyB2b2lkIHBydW5lX29uZShzdHJ1Y3QgcmVyZXJlX2lkICppZCwKKwkJICAgICAgdGltZXN0YW1wX3QgY3V0b2ZmX3Jlc29sdmUsIHRpbWVzdGFtcF90IGN1dG9mZl9ub3Jlc29sdmUpCiB7Ci0JdGltZV90IHRoZW47Ci0JaW50IGN1dG9mZjsKKwl0aW1lc3RhbXBfdCB0aGVuOworCXRpbWVzdGFtcF90IGN1dG9mZjsKIAogCXRoZW4gPSByZXJlcmVfbGFzdF91c2VkX2F0KGlkKTsKIAlpZiAodGhlbikKQEAgLTExNzEsNyArMTE3Miw3IEBACiAJCQlyZXR1cm47CiAJCWN1dG9mZiA9IGN1dG9mZl9ub3Jlc29sdmU7CiAJfQotCWlmICh0aGVuIDwgbm93IC0gY3V0b2ZmICogODY0MDApCisJaWYgKHRoZW4gPCBjdXRvZmYpCiAJCXVubGlua19ycl9pdGVtKGlkKTsKIH0KIApAQCAtMTE4MSwxNSArMTE4MiwxNSBAQAogCURJUiAqZGlyOwogCXN0cnVjdCBkaXJlbnQgKmU7CiAJaW50IGk7Ci0JdGltZV90IG5vdyA9IHRpbWUoTlVMTCk7Ci0JaW50IGN1dG9mZl9ub3Jlc29sdmUgPSAxNTsKLQlpbnQgY3V0b2ZmX3Jlc29sdmUgPSA2MDsKKwl0aW1lc3RhbXBfdCBub3cgPSB0aW1lKE5VTEwpOworCXRpbWVzdGFtcF90IGN1dG9mZl9ub3Jlc29sdmUgPSBub3cgLSAxNSAqIDg2NDAwOworCXRpbWVzdGFtcF90IGN1dG9mZl9yZXNvbHZlID0gbm93IC0gNjAgKiA4NjQwMDsKIAogCWlmIChzZXR1cF9yZXJlcmUocnIsIDApIDwgMCkKIAkJcmV0dXJuOwogCi0JZ2l0X2NvbmZpZ19nZXRfaW50KCJnYy5yZXJlcmVyZXNvbHZlZCIsICZjdXRvZmZfcmVzb2x2ZSk7Ci0JZ2l0X2NvbmZpZ19nZXRfaW50KCJnYy5yZXJlcmV1bnJlc29sdmVkIiwgJmN1dG9mZl9ub3Jlc29sdmUpOworCWdpdF9jb25maWdfZ2V0X2V4cGlyeV9pbl9kYXlzKCJnYy5yZXJlcmVyZXNvbHZlZCIsICZjdXRvZmZfcmVzb2x2ZSwgbm93KTsKKwlnaXRfY29uZmlnX2dldF9leHBpcnlfaW5fZGF5cygiZ2MucmVyZXJldW5yZXNvbHZlZCIsICZjdXRvZmZfbm9yZXNvbHZlLCBub3cpOwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAlkaXIgPSBvcGVuZGlyKGdpdF9wYXRoKCJyci1jYWNoZSIpKTsKIAlpZiAoIWRpcikKQEAgLTEyMTAsNyArMTIxMSw3IEBACiAJCWZvciAoaWQudmFyaWFudCA9IDAsIGlkLmNvbGxlY3Rpb24gPSBycl9kaXI7CiAJCSAgICAgaWQudmFyaWFudCA8IGlkLmNvbGxlY3Rpb24tPnN0YXR1c19ucjsKIAkJICAgICBpZC52YXJpYW50KyspIHsKLQkJCXBydW5lX29uZSgmaWQsIG5vdywgY3V0b2ZmX3Jlc29sdmUsIGN1dG9mZl9ub3Jlc29sdmUpOworCQkJcHJ1bmVfb25lKCZpZCwgY3V0b2ZmX3Jlc29sdmUsIGN1dG9mZl9ub3Jlc29sdmUpOwogCQkJaWYgKGlkLmNvbGxlY3Rpb24tPnN0YXR1c1tpZC52YXJpYW50XSkKIAkJCQlub3dfZW1wdHkgPSAwOwogCQl9CmRpZmYgLS1naXQgYS9yZXZpc2lvbi5jIGIvcmV2aXNpb24uYwppbmRleCA3NzFkMDc5Li5kMTY3MjIzIDEwMDY0NAotLS0gYS9yZXZpc2lvbi5jCisrKyBiL3JldmlzaW9uLmMKQEAgLTE5LDYgKzE5LDkgQEAKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJjYWNoZS10cmVlLmgiCiAjaW5jbHVkZSAiYmlzZWN0LmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKKyNpbmNsdWRlICJ3b3JrdHJlZS5oIgorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKIAogdm9sYXRpbGUgc2hvd19lYXJseV9vdXRwdXRfZm5fdCBzaG93X2Vhcmx5X291dHB1dDsKIApAQCAtNTksMTAgKzYyLDEwIEBACiAJd2hpbGUgKHRyZWVfZW50cnkoJmRlc2MsICZlbnRyeSkpIHsKIAkJc3dpdGNoIChvYmplY3RfdHlwZShlbnRyeS5tb2RlKSkgewogCQljYXNlIE9CSl9UUkVFOgotCQkJbWFya190cmVlX3VuaW50ZXJlc3RpbmcobG9va3VwX3RyZWUoZW50cnkub2lkLT5oYXNoKSk7CisJCQltYXJrX3RyZWVfdW5pbnRlcmVzdGluZyhsb29rdXBfdHJlZShlbnRyeS5vaWQpKTsKIAkJCWJyZWFrOwogCQljYXNlIE9CSl9CTE9COgotCQkJbWFya19ibG9iX3VuaW50ZXJlc3RpbmcobG9va3VwX2Jsb2IoZW50cnkub2lkLT5oYXNoKSk7CisJCQltYXJrX2Jsb2JfdW5pbnRlcmVzdGluZyhsb29rdXBfYmxvYihlbnRyeS5vaWQpKTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJLyogU3VicHJvamVjdCBjb21taXQgLSBub3QgaW4gdGhpcyByZXBvc2l0b3J5ICovCkBAIC0xNDgsMTYgKzE1MSwxNCBAQAogCWlmIChyZXZzLT5yZWZsb2dfaW5mbyAmJiBvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCkgewogCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCQlpbnQgbGVuID0gaW50ZXJwcmV0X2JyYW5jaF9uYW1lKG5hbWUsIDAsICZidWYsIDApOwotCQlpbnQgc3Q7CiAKIAkJaWYgKDAgPCBsZW4gJiYgbmFtZVtsZW5dICYmIGJ1Zi5sZW4pCiAJCQlzdHJidWZfYWRkc3RyKCZidWYsIG5hbWUgKyBsZW4pOwotCQlzdCA9IGFkZF9yZWZsb2dfZm9yX3dhbGsocmV2cy0+cmVmbG9nX2luZm8sCi0JCQkJCSAoc3RydWN0IGNvbW1pdCAqKW9iaiwKLQkJCQkJIGJ1Zi5idWZbMF0gPyBidWYuYnVmOiBuYW1lKTsKKwkJYWRkX3JlZmxvZ19mb3Jfd2FsayhyZXZzLT5yZWZsb2dfaW5mbywKKwkJCQkgICAgKHN0cnVjdCBjb21taXQgKilvYmosCisJCQkJICAgIGJ1Zi5idWZbMF0gPyBidWYuYnVmOiBuYW1lKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Ci0JCWlmIChzdCkKLQkJCXJldHVybjsKKwkJcmV0dXJuOyAvKiBkbyBub3QgYWRkIHRoZSBjb21taXQgaXRzZWxmICovCiAJfQogCWFkZF9vYmplY3RfYXJyYXlfd2l0aF9wYXRoKG9iaiwgbmFtZSwgJnJldnMtPnBlbmRpbmcsIG1vZGUsIHBhdGgpOwogfQpAQCAtMTc3LDIzICsxNzgsMjMgQEAKIAogdm9pZCBhZGRfaGVhZF90b19wZW5kaW5nKHN0cnVjdCByZXZfaW5mbyAqcmV2cykKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCBvYmplY3QgKm9iajsKLQlpZiAoZ2V0X3NoYTEoIkhFQUQiLCBzaGExKSkKKwlpZiAoZ2V0X29pZCgiSEVBRCIsICZvaWQpKQogCQlyZXR1cm47Ci0Jb2JqID0gcGFyc2Vfb2JqZWN0KHNoYTEpOworCW9iaiA9IHBhcnNlX29iamVjdCgmb2lkKTsKIAlpZiAoIW9iaikKIAkJcmV0dXJuOwogCWFkZF9wZW5kaW5nX29iamVjdChyZXZzLCBvYmosICJIRUFEIik7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgb2JqZWN0ICpnZXRfcmVmZXJlbmNlKHN0cnVjdCByZXZfaW5mbyAqcmV2cywgY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJCSAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IG9iamVjdCAqb2JqZWN0OwogCi0Jb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KHNoYTEpOworCW9iamVjdCA9IHBhcnNlX29iamVjdChvaWQpOwogCWlmICghb2JqZWN0KSB7CiAJCWlmIChyZXZzLT5pZ25vcmVfbWlzc2luZykKIAkJCXJldHVybiBvYmplY3Q7CkBAIC0yMDMsMTAgKzIwNCwxMCBAQAogCXJldHVybiBvYmplY3Q7CiB9CiAKLXZvaWQgYWRkX3BlbmRpbmdfc2hhMShzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGNvbnN0IGNoYXIgKm5hbWUsCi0JCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGludCBmbGFncykKK3ZvaWQgYWRkX3BlbmRpbmdfb2lkKHN0cnVjdCByZXZfaW5mbyAqcmV2cywgY29uc3QgY2hhciAqbmFtZSwKKwkJICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gZ2V0X3JlZmVyZW5jZShyZXZzLCBuYW1lLCBzaGExLCBmbGFncyk7CisJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gZ2V0X3JlZmVyZW5jZShyZXZzLCBuYW1lLCBvaWQsIGZsYWdzKTsKIAlhZGRfcGVuZGluZ19vYmplY3QocmV2cywgb2JqZWN0LCBuYW1lKTsKIH0KIApAQCAtMjI4LDkgKzIyOSw5IEBACiAJCQlhZGRfcGVuZGluZ19vYmplY3QocmV2cywgb2JqZWN0LCB0YWctPnRhZyk7CiAJCWlmICghdGFnLT50YWdnZWQpCiAJCQlkaWUoImJhZCB0YWciKTsKLQkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KHRhZy0+dGFnZ2VkLT5vaWQuaGFzaCk7CisJCW9iamVjdCA9IHBhcnNlX29iamVjdCgmdGFnLT50YWdnZWQtPm9pZCk7CiAJCWlmICghb2JqZWN0KSB7Ci0JCQlpZiAoZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQorCQkJaWYgKHJldnMtPmlnbm9yZV9taXNzaW5nX2xpbmtzIHx8IChmbGFncyAmIFVOSU5URVJFU1RJTkcpKQogCQkJCXJldHVybiBOVUxMOwogCQkJZGllKCJiYWQgb2JqZWN0ICVzIiwgb2lkX3RvX2hleCgmdGFnLT50YWdnZWQtPm9pZCkpOwogCQl9CkBAIC00MDEsOCArNDAyLDggQEAKIAogc3RhdGljIHZvaWQgZmlsZV9hZGRfcmVtb3ZlKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCiAJCSAgICBpbnQgYWRkcmVtb3ZlLCB1bnNpZ25lZCBtb2RlLAotCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJICAgIGludCBzaGExX3ZhbGlkLAorCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkgICAgaW50IG9pZF92YWxpZCwKIAkJICAgIGNvbnN0IGNoYXIgKmZ1bGxwYXRoLCB1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUpCiB7CiAJaW50IGRpZmYgPSBhZGRyZW1vdmUgPT0gJysnID8gUkVWX1RSRUVfTkVXIDogUkVWX1RSRUVfT0xEOwpAQCAtNDE0LDkgKzQxNSw5IEBACiAKIHN0YXRpYyB2b2lkIGZpbGVfY2hhbmdlKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCiAJCSB1bnNpZ25lZCBvbGRfbW9kZSwgdW5zaWduZWQgbmV3X21vZGUsCi0JCSBjb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwKLQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ld19zaGExLAotCQkgaW50IG9sZF9zaGExX3ZhbGlkLCBpbnQgbmV3X3NoYTFfdmFsaWQsCisJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkLAorCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbmV3X29pZCwKKwkJIGludCBvbGRfb2lkX3ZhbGlkLCBpbnQgbmV3X29pZF92YWxpZCwKIAkJIGNvbnN0IGNoYXIgKmZ1bGxwYXRoLAogCQkgdW5zaWduZWQgb2xkX2RpcnR5X3N1Ym1vZHVsZSwgdW5zaWduZWQgbmV3X2RpcnR5X3N1Ym1vZHVsZSkKIHsKQEAgLTQ1NSw3ICs0NTYsNyBAQAogCiAJdHJlZV9kaWZmZXJlbmNlID0gUkVWX1RSRUVfU0FNRTsKIAlESUZGX09QVF9DTFIoJnJldnMtPnBydW5pbmcsIEhBU19DSEFOR0VTKTsKLQlpZiAoZGlmZl90cmVlX3NoYTEodDEtPm9iamVjdC5vaWQuaGFzaCwgdDItPm9iamVjdC5vaWQuaGFzaCwgIiIsCisJaWYgKGRpZmZfdHJlZV9vaWQoJnQxLT5vYmplY3Qub2lkLCAmdDItPm9iamVjdC5vaWQsICIiLAogCQkJICAgJnJldnMtPnBydW5pbmcpIDwgMCkKIAkJcmV0dXJuIFJFVl9UUkVFX0RJRkZFUkVOVDsKIAlyZXR1cm4gdHJlZV9kaWZmZXJlbmNlOwpAQCAtNDcxLDcgKzQ3Miw3IEBACiAKIAl0cmVlX2RpZmZlcmVuY2UgPSBSRVZfVFJFRV9TQU1FOwogCURJRkZfT1BUX0NMUigmcmV2cy0+cHJ1bmluZywgSEFTX0NIQU5HRVMpOwotCXJldHZhbCA9IGRpZmZfdHJlZV9zaGExKE5VTEwsIHQxLT5vYmplY3Qub2lkLmhhc2gsICIiLCAmcmV2cy0+cHJ1bmluZyk7CisJcmV0dmFsID0gZGlmZl90cmVlX29pZChOVUxMLCAmdDEtPm9iamVjdC5vaWQsICIiLCAmcmV2cy0+cHJ1bmluZyk7CiAKIAlyZXR1cm4gcmV0dmFsID49IDAgJiYgKHRyZWVfZGlmZmVyZW5jZSA9PSBSRVZfVFJFRV9TQU1FKTsKIH0KQEAgLTg4NCw3ICs4ODUsNyBAQAogLyogSG93IG1hbnkgZXh0cmEgdW5pbnRlcmVzdGluZyBjb21taXRzIHdlIHdhbnQgdG8gc2VlLi4gKi8KICNkZWZpbmUgU0xPUCA1CiAKLXN0YXRpYyBpbnQgc3RpbGxfaW50ZXJlc3Rpbmcoc3RydWN0IGNvbW1pdF9saXN0ICpzcmMsIHVuc2lnbmVkIGxvbmcgZGF0ZSwgaW50IHNsb3AsCitzdGF0aWMgaW50IHN0aWxsX2ludGVyZXN0aW5nKHN0cnVjdCBjb21taXRfbGlzdCAqc3JjLCB0aW1lc3RhbXBfdCBkYXRlLCBpbnQgc2xvcCwKIAkJCSAgICAgc3RydWN0IGNvbW1pdCAqKmludGVyZXN0aW5nX2NhY2hlKQogewogCS8qCkBAIC0xMDE4LDcgKzEwMTksNyBAQAogc3RhdGljIGludCBsaW1pdF9saXN0KHN0cnVjdCByZXZfaW5mbyAqcmV2cykKIHsKIAlpbnQgc2xvcCA9IFNMT1A7Ci0JdW5zaWduZWQgbG9uZyBkYXRlID0gfjB1bDsKKwl0aW1lc3RhbXBfdCBkYXRlID0gVElNRV9NQVg7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpsaXN0ID0gcmV2cy0+Y29tbWl0czsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKm5ld2xpc3QgPSBOVUxMOwogCXN0cnVjdCBjb21taXRfbGlzdCAqKnAgPSAmbmV3bGlzdDsKQEAgLTExMDUsNyArMTEwNiw3IEBACiAJCQkgICAgdW5zaWduZWQgZmxhZ3MpCiB7CiAJc3RydWN0IHJldl9jbWRsaW5lX2luZm8gKmluZm8gPSAmcmV2cy0+Y21kbGluZTsKLQlpbnQgbnIgPSBpbmZvLT5ucjsKKwl1bnNpZ25lZCBpbnQgbnIgPSBpbmZvLT5ucjsKIAogCUFMTE9DX0dST1coaW5mby0+cmV2LCBuciArIDEsIGluZm8tPmFsbG9jKTsKIAlpbmZvLT5yZXZbbnJdLml0ZW0gPSBpdGVtOwpAQCAtMTEzMyw2ICsxMTM0LDcgQEAKIAlpbnQgd2FybmVkX2JhZF9yZWZsb2c7CiAJc3RydWN0IHJldl9pbmZvICphbGxfcmV2czsKIAljb25zdCBjaGFyICpuYW1lX2Zvcl9lcnJvcm1zZzsKKwlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzOwogfTsKIAogaW50IHJlZl9leGNsdWRlZChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZl9leGNsdWRlcywgY29uc3QgY2hhciAqcGF0aCkKQEAgLTExNDIsNyArMTE0NCw3IEBACiAJaWYgKCFyZWZfZXhjbHVkZXMpCiAJCXJldHVybiAwOwogCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgcmVmX2V4Y2x1ZGVzKSB7Ci0JCWlmICghd2lsZG1hdGNoKGl0ZW0tPnN0cmluZywgcGF0aCwgMCwgTlVMTCkpCisJCWlmICghd2lsZG1hdGNoKGl0ZW0tPnN0cmluZywgcGF0aCwgMCkpCiAJCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CkBAIC0xMTU3LDkgKzExNTksOSBAQAogCWlmIChyZWZfZXhjbHVkZWQoY2ItPmFsbF9yZXZzLT5yZWZfZXhjbHVkZXMsIHBhdGgpKQogCSAgICByZXR1cm4gMDsKIAotCW9iamVjdCA9IGdldF9yZWZlcmVuY2UoY2ItPmFsbF9yZXZzLCBwYXRoLCBvaWQtPmhhc2gsIGNiLT5hbGxfZmxhZ3MpOworCW9iamVjdCA9IGdldF9yZWZlcmVuY2UoY2ItPmFsbF9yZXZzLCBwYXRoLCBvaWQsIGNiLT5hbGxfZmxhZ3MpOwogCWFkZF9yZXZfY21kbGluZShjYi0+YWxsX3JldnMsIG9iamVjdCwgcGF0aCwgUkVWX0NNRF9SRUYsIGNiLT5hbGxfZmxhZ3MpOwotCWFkZF9wZW5kaW5nX3NoYTEoY2ItPmFsbF9yZXZzLCBwYXRoLCBvaWQtPmhhc2gsIGNiLT5hbGxfZmxhZ3MpOworCWFkZF9wZW5kaW5nX29pZChjYi0+YWxsX3JldnMsIHBhdGgsIG9pZCwgY2ItPmFsbF9mbGFncyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTExNjgsNiArMTE3MCw4IEBACiB7CiAJY2ItPmFsbF9yZXZzID0gcmV2czsKIAljYi0+YWxsX2ZsYWdzID0gZmxhZ3M7CisJcmV2cy0+cmV2X2lucHV0X2dpdmVuID0gMTsKKwljYi0+cmVmcyA9IE5VTEw7CiB9CiAKIHZvaWQgY2xlYXJfcmVmX2V4Y2x1c2lvbihzdHJ1Y3Qgc3RyaW5nX2xpc3QgKipyZWZfZXhjbHVkZXNfcCkKQEAgLTExODgsMTkgKzExOTIsMjYgQEAKIAlzdHJpbmdfbGlzdF9hcHBlbmQoKnJlZl9leGNsdWRlc19wLCBleGNsdWRlKTsKIH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX3JlZnMoY29uc3QgY2hhciAqc3VibW9kdWxlLCBzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIHVuc2lnbmVkIGZsYWdzLAotCQlpbnQgKCpmb3JfZWFjaCkoY29uc3QgY2hhciAqLCBlYWNoX3JlZl9mbiwgdm9pZCAqKSkKK3N0YXRpYyB2b2lkIGhhbmRsZV9yZWZzKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQlzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIHVuc2lnbmVkIGZsYWdzLAorCQkJaW50ICgqZm9yX2VhY2gpKHN0cnVjdCByZWZfc3RvcmUgKiwgZWFjaF9yZWZfZm4sIHZvaWQgKikpCiB7CiAJc3RydWN0IGFsbF9yZWZzX2NiIGNiOworCisJaWYgKCFyZWZzKSB7CisJCS8qIHRoaXMgY291bGQgaGFwcGVuIHdpdGggdW5pbml0aWFsaXplZCBzdWJtb2R1bGVzICovCisJCXJldHVybjsKKwl9CisKIAlpbml0X2FsbF9yZWZzX2NiKCZjYiwgcmV2cywgZmxhZ3MpOwotCWZvcl9lYWNoKHN1Ym1vZHVsZSwgaGFuZGxlX29uZV9yZWYsICZjYik7CisJZm9yX2VhY2gocmVmcywgaGFuZGxlX29uZV9yZWYsICZjYik7CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV9vbmVfcmVmbG9nX2NvbW1pdCh1bnNpZ25lZCBjaGFyICpzaGExLCB2b2lkICpjYl9kYXRhKQorc3RhdGljIHZvaWQgaGFuZGxlX29uZV9yZWZsb2dfY29tbWl0KHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqY2JfZGF0YSkKIHsKIAlzdHJ1Y3QgYWxsX3JlZnNfY2IgKmNiID0gY2JfZGF0YTsKLQlpZiAoIWlzX251bGxfc2hhMShzaGExKSkgewotCQlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KHNoYTEpOworCWlmICghaXNfbnVsbF9vaWQob2lkKSkgeworCQlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KG9pZCk7CiAJCWlmIChvKSB7CiAJCQlvLT5mbGFncyB8PSBjYi0+YWxsX2ZsYWdzOwogCQkJLyogPz8/IENNRExJTkVGTEFHUyA/Pz8gKi8KQEAgLTEyMTQsMTIgKzEyMjUsMTIgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgaGFuZGxlX29uZV9yZWZsb2dfZW50KHVuc2lnbmVkIGNoYXIgKm9zaGExLCB1bnNpZ25lZCBjaGFyICpuc2hhMSwKLQkJY29uc3QgY2hhciAqZW1haWwsIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wLCBpbnQgdHosCitzdGF0aWMgaW50IGhhbmRsZV9vbmVfcmVmbG9nX2VudChzdHJ1Y3Qgb2JqZWN0X2lkICpvb2lkLCBzdHJ1Y3Qgb2JqZWN0X2lkICpub2lkLAorCQljb25zdCBjaGFyICplbWFpbCwgdGltZXN0YW1wX3QgdGltZXN0YW1wLCBpbnQgdHosCiAJCWNvbnN0IGNoYXIgKm1lc3NhZ2UsIHZvaWQgKmNiX2RhdGEpCiB7Ci0JaGFuZGxlX29uZV9yZWZsb2dfY29tbWl0KG9zaGExLCBjYl9kYXRhKTsKLQloYW5kbGVfb25lX3JlZmxvZ19jb21taXQobnNoYTEsIGNiX2RhdGEpOworCWhhbmRsZV9vbmVfcmVmbG9nX2NvbW1pdChvb2lkLCBjYl9kYXRhKTsKKwloYW5kbGVfb25lX3JlZmxvZ19jb21taXQobm9pZCwgY2JfZGF0YSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEyMjksMTcgKzEyNDAsNDEgQEAKIAlzdHJ1Y3QgYWxsX3JlZnNfY2IgKmNiID0gY2JfZGF0YTsKIAljYi0+d2FybmVkX2JhZF9yZWZsb2cgPSAwOwogCWNiLT5uYW1lX2Zvcl9lcnJvcm1zZyA9IHBhdGg7Ci0JZm9yX2VhY2hfcmVmbG9nX2VudChwYXRoLCBoYW5kbGVfb25lX3JlZmxvZ19lbnQsIGNiX2RhdGEpOworCXJlZnNfZm9yX2VhY2hfcmVmbG9nX2VudChjYi0+cmVmcywgcGF0aCwKKwkJCQkgaGFuZGxlX29uZV9yZWZsb2dfZW50LCBjYl9kYXRhKTsKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgYWRkX290aGVyX3JlZmxvZ3NfdG9fcGVuZGluZyhzdHJ1Y3QgYWxsX3JlZnNfY2IgKmNiKQoreworCXN0cnVjdCB3b3JrdHJlZSAqKndvcmt0cmVlcywgKipwOworCisJd29ya3RyZWVzID0gZ2V0X3dvcmt0cmVlcygwKTsKKwlmb3IgKHAgPSB3b3JrdHJlZXM7ICpwOyBwKyspIHsKKwkJc3RydWN0IHdvcmt0cmVlICp3dCA9ICpwOworCisJCWlmICh3dC0+aXNfY3VycmVudCkKKwkJCWNvbnRpbnVlOworCisJCWNiLT5yZWZzID0gZ2V0X3dvcmt0cmVlX3JlZl9zdG9yZSh3dCk7CisJCXJlZnNfZm9yX2VhY2hfcmVmbG9nKGNiLT5yZWZzLAorCQkJCSAgICAgaGFuZGxlX29uZV9yZWZsb2csCisJCQkJICAgICBjYik7CisJfQorCWZyZWVfd29ya3RyZWVzKHdvcmt0cmVlcyk7Cit9CisKIHZvaWQgYWRkX3JlZmxvZ3NfdG9fcGVuZGluZyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIHVuc2lnbmVkIGZsYWdzKQogewogCXN0cnVjdCBhbGxfcmVmc19jYiBjYjsKIAogCWNiLmFsbF9yZXZzID0gcmV2czsKIAljYi5hbGxfZmxhZ3MgPSBmbGFnczsKKwljYi5yZWZzID0gZ2V0X21haW5fcmVmX3N0b3JlKCk7CiAJZm9yX2VhY2hfcmVmbG9nKGhhbmRsZV9vbmVfcmVmbG9nLCAmY2IpOworCisJaWYgKCFyZXZzLT5zaW5nbGVfd29ya3RyZWUpCisJCWFkZF9vdGhlcl9yZWZsb2dzX3RvX3BlbmRpbmcoJmNiKTsKIH0KIAogc3RhdGljIHZvaWQgYWRkX2NhY2hlX3RyZWUoc3RydWN0IGNhY2hlX3RyZWUgKml0LCBzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCkBAIC0xMjQ5LDcgKzEyODQsNyBAQAogCWludCBpOwogCiAJaWYgKGl0LT5lbnRyeV9jb3VudCA+PSAwKSB7Ci0JCXN0cnVjdCB0cmVlICp0cmVlID0gbG9va3VwX3RyZWUoaXQtPnNoYTEpOworCQlzdHJ1Y3QgdHJlZSAqdHJlZSA9IGxvb2t1cF90cmVlKCZpdC0+b2lkKTsKIAkJYWRkX3BlbmRpbmdfb2JqZWN0X3dpdGhfcGF0aChyZXZzLCAmdHJlZS0+b2JqZWN0LCAiIiwKIAkJCQkJICAgICAwNDAwMDAsIHBhdGgtPmJ1Zik7CiAJfQpAQCAtMTI2MywzNiArMTI5OCw2MiBAQAogCiB9CiAKLXZvaWQgYWRkX2luZGV4X29iamVjdHNfdG9fcGVuZGluZyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIHVuc2lnbmVkIGZsYWdzKQorc3RhdGljIHZvaWQgZG9fYWRkX2luZGV4X29iamVjdHNfdG9fcGVuZGluZyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCisJCQkJCSAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKIHsKIAlpbnQgaTsKIAotCXJlYWRfY2FjaGUoKTsKLQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOyBpKyspIHsKLQkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGFjdGl2ZV9jYWNoZVtpXTsKKwlmb3IgKGkgPSAwOyBpIDwgaXN0YXRlLT5jYWNoZV9ucjsgaSsrKSB7CisJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpc3RhdGUtPmNhY2hlW2ldOwogCQlzdHJ1Y3QgYmxvYiAqYmxvYjsKIAogCQlpZiAoU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQogCQkJY29udGludWU7CiAKLQkJYmxvYiA9IGxvb2t1cF9ibG9iKGNlLT5vaWQuaGFzaCk7CisJCWJsb2IgPSBsb29rdXBfYmxvYigmY2UtPm9pZCk7CiAJCWlmICghYmxvYikKIAkJCWRpZSgidW5hYmxlIHRvIGFkZCBpbmRleCBibG9iIHRvIHRyYXZlcnNhbCIpOwogCQlhZGRfcGVuZGluZ19vYmplY3Rfd2l0aF9wYXRoKHJldnMsICZibG9iLT5vYmplY3QsICIiLAogCQkJCQkgICAgIGNlLT5jZV9tb2RlLCBjZS0+bmFtZSk7CiAJfQogCi0JaWYgKGFjdGl2ZV9jYWNoZV90cmVlKSB7CisJaWYgKGlzdGF0ZS0+Y2FjaGVfdHJlZSkgewogCQlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKLQkJYWRkX2NhY2hlX3RyZWUoYWN0aXZlX2NhY2hlX3RyZWUsIHJldnMsICZwYXRoKTsKKwkJYWRkX2NhY2hlX3RyZWUoaXN0YXRlLT5jYWNoZV90cmVlLCByZXZzLCAmcGF0aCk7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKIAl9CiB9CiAKK3ZvaWQgYWRkX2luZGV4X29iamVjdHNfdG9fcGVuZGluZyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIHVuc2lnbmVkIGludCBmbGFncykKK3sKKwlzdHJ1Y3Qgd29ya3RyZWUgKip3b3JrdHJlZXMsICoqcDsKKworCXJlYWRfY2FjaGUoKTsKKwlkb19hZGRfaW5kZXhfb2JqZWN0c190b19wZW5kaW5nKHJldnMsICZ0aGVfaW5kZXgpOworCisJaWYgKHJldnMtPnNpbmdsZV93b3JrdHJlZSkKKwkJcmV0dXJuOworCisJd29ya3RyZWVzID0gZ2V0X3dvcmt0cmVlcygwKTsKKwlmb3IgKHAgPSB3b3JrdHJlZXM7ICpwOyBwKyspIHsKKwkJc3RydWN0IHdvcmt0cmVlICp3dCA9ICpwOworCQlzdHJ1Y3QgaW5kZXhfc3RhdGUgaXN0YXRlID0geyBOVUxMIH07CisKKwkJaWYgKHd0LT5pc19jdXJyZW50KQorCQkJY29udGludWU7IC8qIGN1cnJlbnQgaW5kZXggYWxyZWFkeSB0YWtlbiBjYXJlIG9mICovCisKKwkJaWYgKHJlYWRfaW5kZXhfZnJvbSgmaXN0YXRlLAorCQkJCSAgICB3b3JrdHJlZV9naXRfcGF0aCh3dCwgImluZGV4IikpID4gMCkKKwkJCWRvX2FkZF9pbmRleF9vYmplY3RzX3RvX3BlbmRpbmcocmV2cywgJmlzdGF0ZSk7CisJCWRpc2NhcmRfaW5kZXgoJmlzdGF0ZSk7CisJfQorCWZyZWVfd29ya3RyZWVzKHdvcmt0cmVlcyk7Cit9CisKIHN0YXRpYyBpbnQgYWRkX3BhcmVudHNfb25seShzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGNvbnN0IGNoYXIgKmFyZ18sIGludCBmbGFncywKIAkJCSAgICBpbnQgZXhjbHVkZV9wYXJlbnQpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3Qgb2JqZWN0ICppdDsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOwpAQCAtMTMwMywxNyArMTM2NCwxNyBAQAogCQlmbGFncyBePSBVTklOVEVSRVNUSU5HIHwgQk9UVE9NOwogCQlhcmcrKzsKIAl9Ci0JaWYgKGdldF9zaGExX2NvbW1pdHRpc2goYXJnLCBzaGExKSkKKwlpZiAoZ2V0X29pZF9jb21taXR0aXNoKGFyZywgJm9pZCkpCiAJCXJldHVybiAwOwogCXdoaWxlICgxKSB7Ci0JCWl0ID0gZ2V0X3JlZmVyZW5jZShyZXZzLCBhcmcsIHNoYTEsIDApOworCQlpdCA9IGdldF9yZWZlcmVuY2UocmV2cywgYXJnLCAmb2lkLCAwKTsKIAkJaWYgKCFpdCAmJiByZXZzLT5pZ25vcmVfbWlzc2luZykKIAkJCXJldHVybiAwOwogCQlpZiAoaXQtPnR5cGUgIT0gT0JKX1RBRykKIAkJCWJyZWFrOwogCQlpZiAoISgoc3RydWN0IHRhZyopaXQpLT50YWdnZWQpCiAJCQlyZXR1cm4gMDsKLQkJaGFzaGNweShzaGExLCAoKHN0cnVjdCB0YWcqKWl0KS0+dGFnZ2VkLT5vaWQuaGFzaCk7CisJCW9pZGNweSgmb2lkLCAmKChzdHJ1Y3QgdGFnKilpdCktPnRhZ2dlZC0+b2lkKTsKIAl9CiAJaWYgKGl0LT50eXBlICE9IE9CSl9DT01NSVQpCiAJCXJldHVybiAwOwpAQCAtMTM2Miw3ICsxNDIzLDYgQEAKIAlpbml0X2dyZXBfZGVmYXVsdHMoKTsKIAlncmVwX2luaXQoJnJldnMtPmdyZXBfZmlsdGVyLCBwcmVmaXgpOwogCXJldnMtPmdyZXBfZmlsdGVyLnN0YXR1c19vbmx5ID0gMTsKLQlyZXZzLT5ncmVwX2ZpbHRlci5yZWdmbGFncyA9IFJFR19ORVdMSU5FOwogCiAJZGlmZl9zZXR1cCgmcmV2cy0+ZGlmZm9wdCk7CiAJaWYgKHByZWZpeCAmJiAhcmV2cy0+ZGlmZm9wdC5wcmVmaXgpIHsKQEAgLTEzODksMTYgKzE0NDksMTYgQEAKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmJhc2VzOwogCXN0cnVjdCBjb21taXQgKmhlYWQsICpvdGhlcjsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNvbnN0IGNoYXIgKipwcnVuZSA9IE5VTEw7CiAJaW50IGksIHBydW5lX251bSA9IDE7IC8qIGNvdW50aW5nIHRlcm1pbmF0aW5nIE5VTEwgKi8KIAotCWlmIChnZXRfc2hhMSgiSEVBRCIsIHNoYTEpKQorCWlmIChnZXRfb2lkKCJIRUFEIiwgJm9pZCkpCiAJCWRpZSgiLS1tZXJnZSB3aXRob3V0IEhFQUQ/Iik7Ci0JaGVhZCA9IGxvb2t1cF9jb21taXRfb3JfZGllKHNoYTEsICJIRUFEIik7Ci0JaWYgKGdldF9zaGExKCJNRVJHRV9IRUFEIiwgc2hhMSkpCisJaGVhZCA9IGxvb2t1cF9jb21taXRfb3JfZGllKCZvaWQsICJIRUFEIik7CisJaWYgKGdldF9vaWQoIk1FUkdFX0hFQUQiLCAmb2lkKSkKIAkJZGllKCItLW1lcmdlIHdpdGhvdXQgTUVSR0VfSEVBRD8iKTsKLQlvdGhlciA9IGxvb2t1cF9jb21taXRfb3JfZGllKHNoYTEsICJNRVJHRV9IRUFEIik7CisJb3RoZXIgPSBsb29rdXBfY29tbWl0X29yX2RpZSgmb2lkLCAiTUVSR0VfSEVBRCIpOwogCWFkZF9wZW5kaW5nX29iamVjdChyZXZzLCAmaGVhZC0+b2JqZWN0LCAiSEVBRCIpOwogCWFkZF9wZW5kaW5nX29iamVjdChyZXZzLCAmb3RoZXItPm9iamVjdCwgIk1FUkdFX0hFQUQiKTsKIAliYXNlcyA9IGdldF9tZXJnZV9iYXNlcyhoZWFkLCBvdGhlcik7CkBAIC0xNDI5LDEzNCArMTQ4OSwxNjggQEAKIAlyZXZzLT5saW1pdGVkID0gMTsKIH0KIAorc3RhdGljIGludCBkb3Rkb3RfbWlzc2luZyhjb25zdCBjaGFyICphcmcsIGNoYXIgKmRvdGRvdCwKKwkJCSAgc3RydWN0IHJldl9pbmZvICpyZXZzLCBpbnQgc3ltbWV0cmljKQoreworCWlmIChyZXZzLT5pZ25vcmVfbWlzc2luZykKKwkJcmV0dXJuIDA7CisJLyogZGUtbXVuZ2Ugc28gd2UgcmVwb3J0IHRoZSBmdWxsIGFyZ3VtZW50ICovCisJKmRvdGRvdCA9ICcuJzsKKwlkaWUoc3ltbWV0cmljCisJICAgID8gIkludmFsaWQgc3ltbWV0cmljIGRpZmZlcmVuY2UgZXhwcmVzc2lvbiAlcyIKKwkgICAgOiAiSW52YWxpZCByZXZpc2lvbiByYW5nZSAlcyIsIGFyZyk7Cit9CisKK3N0YXRpYyBpbnQgaGFuZGxlX2RvdGRvdF8xKGNvbnN0IGNoYXIgKmFyZywgY2hhciAqZG90ZG90LAorCQkJICAgc3RydWN0IHJldl9pbmZvICpyZXZzLCBpbnQgZmxhZ3MsCisJCQkgICBpbnQgY2FudF9iZV9maWxlbmFtZSwKKwkJCSAgIHN0cnVjdCBvYmplY3RfY29udGV4dCAqYV9vYywKKwkJCSAgIHN0cnVjdCBvYmplY3RfY29udGV4dCAqYl9vYykKK3sKKwljb25zdCBjaGFyICphX25hbWUsICpiX25hbWU7CisJc3RydWN0IG9iamVjdF9pZCBhX29pZCwgYl9vaWQ7CisJc3RydWN0IG9iamVjdCAqYV9vYmosICpiX29iajsKKwl1bnNpZ25lZCBpbnQgYV9mbGFncywgYl9mbGFnczsKKwlpbnQgc3ltbWV0cmljID0gMDsKKwl1bnNpZ25lZCBpbnQgZmxhZ3NfZXhjbHVkZSA9IGZsYWdzIF4gKFVOSU5URVJFU1RJTkcgfCBCT1RUT00pOworCXVuc2lnbmVkIGludCBvY19mbGFncyA9IEdFVF9PSURfQ09NTUlUVElTSCB8IEdFVF9PSURfUkVDT1JEX1BBVEg7CisKKwlhX25hbWUgPSBhcmc7CisJaWYgKCEqYV9uYW1lKQorCQlhX25hbWUgPSAiSEVBRCI7CisKKwliX25hbWUgPSBkb3Rkb3QgKyAyOworCWlmICgqYl9uYW1lID09ICcuJykgeworCQlzeW1tZXRyaWMgPSAxOworCQliX25hbWUrKzsKKwl9CisJaWYgKCEqYl9uYW1lKQorCQliX25hbWUgPSAiSEVBRCI7CisKKwlpZiAoZ2V0X29pZF93aXRoX2NvbnRleHQoYV9uYW1lLCBvY19mbGFncywgJmFfb2lkLCBhX29jKSB8fAorCSAgICBnZXRfb2lkX3dpdGhfY29udGV4dChiX25hbWUsIG9jX2ZsYWdzLCAmYl9vaWQsIGJfb2MpKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoIWNhbnRfYmVfZmlsZW5hbWUpIHsKKwkJKmRvdGRvdCA9ICcuJzsKKwkJdmVyaWZ5X25vbl9maWxlbmFtZShyZXZzLT5wcmVmaXgsIGFyZyk7CisJCSpkb3Rkb3QgPSAnXDAnOworCX0KKworCWFfb2JqID0gcGFyc2Vfb2JqZWN0KCZhX29pZCk7CisJYl9vYmogPSBwYXJzZV9vYmplY3QoJmJfb2lkKTsKKwlpZiAoIWFfb2JqIHx8ICFiX29iaikKKwkJcmV0dXJuIGRvdGRvdF9taXNzaW5nKGFyZywgZG90ZG90LCByZXZzLCBzeW1tZXRyaWMpOworCisJaWYgKCFzeW1tZXRyaWMpIHsKKwkJLyoganVzdCBBLi5CICovCisJCWJfZmxhZ3MgPSBmbGFnczsKKwkJYV9mbGFncyA9IGZsYWdzX2V4Y2x1ZGU7CisJfSBlbHNlIHsKKwkJLyogQS4uLkIgLS0gZmluZCBtZXJnZSBiYXNlcyBiZXR3ZWVuIHRoZSB0d28gKi8KKwkJc3RydWN0IGNvbW1pdCAqYSwgKmI7CisJCXN0cnVjdCBjb21taXRfbGlzdCAqZXhjbHVkZTsKKworCQlhID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJmFfb2JqLT5vaWQpOworCQliID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJmJfb2JqLT5vaWQpOworCQlpZiAoIWEgfHwgIWIpCisJCQlyZXR1cm4gZG90ZG90X21pc3NpbmcoYXJnLCBkb3Rkb3QsIHJldnMsIHN5bW1ldHJpYyk7CisKKwkJZXhjbHVkZSA9IGdldF9tZXJnZV9iYXNlcyhhLCBiKTsKKwkJYWRkX3Jldl9jbWRsaW5lX2xpc3QocmV2cywgZXhjbHVkZSwgUkVWX0NNRF9NRVJHRV9CQVNFLAorCQkJCSAgICAgZmxhZ3NfZXhjbHVkZSk7CisJCWFkZF9wZW5kaW5nX2NvbW1pdF9saXN0KHJldnMsIGV4Y2x1ZGUsIGZsYWdzX2V4Y2x1ZGUpOworCQlmcmVlX2NvbW1pdF9saXN0KGV4Y2x1ZGUpOworCisJCWJfZmxhZ3MgPSBmbGFnczsKKwkJYV9mbGFncyA9IGZsYWdzIHwgU1lNTUVUUklDX0xFRlQ7CisJfQorCisJYV9vYmotPmZsYWdzIHw9IGFfZmxhZ3M7CisJYl9vYmotPmZsYWdzIHw9IGJfZmxhZ3M7CisJYWRkX3Jldl9jbWRsaW5lKHJldnMsIGFfb2JqLCBhX25hbWUsIFJFVl9DTURfTEVGVCwgYV9mbGFncyk7CisJYWRkX3Jldl9jbWRsaW5lKHJldnMsIGJfb2JqLCBiX25hbWUsIFJFVl9DTURfUklHSFQsIGJfZmxhZ3MpOworCWFkZF9wZW5kaW5nX29iamVjdF93aXRoX3BhdGgocmV2cywgYV9vYmosIGFfbmFtZSwgYV9vYy0+bW9kZSwgYV9vYy0+cGF0aCk7CisJYWRkX3BlbmRpbmdfb2JqZWN0X3dpdGhfcGF0aChyZXZzLCBiX29iaiwgYl9uYW1lLCBiX29jLT5tb2RlLCBiX29jLT5wYXRoKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYW5kbGVfZG90ZG90KGNvbnN0IGNoYXIgKmFyZywKKwkJCSBzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGludCBmbGFncywKKwkJCSBpbnQgY2FudF9iZV9maWxlbmFtZSkKK3sKKwlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgYV9vYywgYl9vYzsKKwljaGFyICpkb3Rkb3QgPSBzdHJzdHIoYXJnLCAiLi4iKTsKKwlpbnQgcmV0OworCisJaWYgKCFkb3Rkb3QpCisJCXJldHVybiAtMTsKKworCW1lbXNldCgmYV9vYywgMCwgc2l6ZW9mKGFfb2MpKTsKKwltZW1zZXQoJmJfb2MsIDAsIHNpemVvZihiX29jKSk7CisKKwkqZG90ZG90ID0gJ1wwJzsKKwlyZXQgPSBoYW5kbGVfZG90ZG90XzEoYXJnLCBkb3Rkb3QsIHJldnMsIGZsYWdzLCBjYW50X2JlX2ZpbGVuYW1lLAorCQkJICAgICAgJmFfb2MsICZiX29jKTsKKwkqZG90ZG90ID0gJy4nOworCisJZnJlZShhX29jLnBhdGgpOworCWZyZWUoYl9vYy5wYXRoKTsKKworCXJldHVybiByZXQ7Cit9CisKIGludCBoYW5kbGVfcmV2aXNpb25fYXJnKGNvbnN0IGNoYXIgKmFyZ18sIHN0cnVjdCByZXZfaW5mbyAqcmV2cywgaW50IGZsYWdzLCB1bnNpZ25lZCByZXZhcmdfb3B0KQogewogCXN0cnVjdCBvYmplY3RfY29udGV4dCBvYzsKLQljaGFyICpkb3Rkb3Q7CisJY2hhciAqbWFyazsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3Q7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlpbnQgbG9jYWxfZmxhZ3M7CiAJY29uc3QgY2hhciAqYXJnID0gYXJnXzsKIAlpbnQgY2FudF9iZV9maWxlbmFtZSA9IHJldmFyZ19vcHQgJiBSRVZBUkdfQ0FOTk9UX0JFX0ZJTEVOQU1FOwotCXVuc2lnbmVkIGdldF9zaGExX2ZsYWdzID0gMDsKKwl1bnNpZ25lZCBnZXRfc2hhMV9mbGFncyA9IEdFVF9PSURfUkVDT1JEX1BBVEg7CiAKIAlmbGFncyA9IGZsYWdzICYgVU5JTlRFUkVTVElORyA/IGZsYWdzIHwgQk9UVE9NIDogZmxhZ3MgJiB+Qk9UVE9NOwogCi0JZG90ZG90ID0gc3Ryc3RyKGFyZywgIi4uIik7Ci0JaWYgKGRvdGRvdCkgewotCQl1bnNpZ25lZCBjaGFyIGZyb21fc2hhMVsyMF07Ci0JCWNvbnN0IGNoYXIgKm5leHQgPSBkb3Rkb3QgKyAyOwotCQljb25zdCBjaGFyICp0aGlzID0gYXJnOwotCQlpbnQgc3ltbWV0cmljID0gKm5leHQgPT0gJy4nOwotCQl1bnNpZ25lZCBpbnQgZmxhZ3NfZXhjbHVkZSA9IGZsYWdzIF4gKFVOSU5URVJFU1RJTkcgfCBCT1RUT00pOwotCQlzdGF0aWMgY29uc3QgY2hhciBoZWFkX2J5X2RlZmF1bHRbXSA9ICJIRUFEIjsKLQkJdW5zaWduZWQgaW50IGFfZmxhZ3M7Ci0KLQkJKmRvdGRvdCA9IDA7Ci0JCW5leHQgKz0gc3ltbWV0cmljOwotCi0JCWlmICghKm5leHQpCi0JCQluZXh0ID0gaGVhZF9ieV9kZWZhdWx0OwotCQlpZiAoZG90ZG90ID09IGFyZykKLQkJCXRoaXMgPSBoZWFkX2J5X2RlZmF1bHQ7Ci0JCWlmICh0aGlzID09IGhlYWRfYnlfZGVmYXVsdCAmJiBuZXh0ID09IGhlYWRfYnlfZGVmYXVsdCAmJgotCQkgICAgIXN5bW1ldHJpYykgewotCQkJLyoKLQkJCSAqIEp1c3QgIi4uIj8gIFRoYXQgaXMgbm90IGEgcmFuZ2UgYnV0IHRoZQotCQkJICogcGF0aHNwZWMgZm9yIHRoZSBwYXJlbnQgZGlyZWN0b3J5LgotCQkJICovCi0JCQlpZiAoIWNhbnRfYmVfZmlsZW5hbWUpIHsKLQkJCQkqZG90ZG90ID0gJy4nOwotCQkJCXJldHVybiAtMTsKLQkJCX0KLQkJfQotCQlpZiAoIWdldF9zaGExX2NvbW1pdHRpc2godGhpcywgZnJvbV9zaGExKSAmJgotCQkgICAgIWdldF9zaGExX2NvbW1pdHRpc2gobmV4dCwgc2hhMSkpIHsKLQkJCXN0cnVjdCBvYmplY3QgKmFfb2JqLCAqYl9vYmo7Ci0KLQkJCWlmICghY2FudF9iZV9maWxlbmFtZSkgewotCQkJCSpkb3Rkb3QgPSAnLic7Ci0JCQkJdmVyaWZ5X25vbl9maWxlbmFtZShyZXZzLT5wcmVmaXgsIGFyZyk7Ci0JCQl9Ci0KLQkJCWFfb2JqID0gcGFyc2Vfb2JqZWN0KGZyb21fc2hhMSk7Ci0JCQliX29iaiA9IHBhcnNlX29iamVjdChzaGExKTsKLQkJCWlmICghYV9vYmogfHwgIWJfb2JqKSB7Ci0JCQltaXNzaW5nOgotCQkJCWlmIChyZXZzLT5pZ25vcmVfbWlzc2luZykKLQkJCQkJcmV0dXJuIDA7Ci0JCQkJZGllKHN5bW1ldHJpYwotCQkJCSAgICA/ICJJbnZhbGlkIHN5bW1ldHJpYyBkaWZmZXJlbmNlIGV4cHJlc3Npb24gJXMiCi0JCQkJICAgIDogIkludmFsaWQgcmV2aXNpb24gcmFuZ2UgJXMiLCBhcmcpOwotCQkJfQotCi0JCQlpZiAoIXN5bW1ldHJpYykgewotCQkJCS8qIGp1c3QgQS4uQiAqLwotCQkJCWFfZmxhZ3MgPSBmbGFnc19leGNsdWRlOwotCQkJfSBlbHNlIHsKLQkJCQkvKiBBLi4uQiAtLSBmaW5kIG1lcmdlIGJhc2VzIGJldHdlZW4gdGhlIHR3byAqLwotCQkJCXN0cnVjdCBjb21taXQgKmEsICpiOwotCQkJCXN0cnVjdCBjb21taXRfbGlzdCAqZXhjbHVkZTsKLQotCQkJCWEgPSAoYV9vYmotPnR5cGUgPT0gT0JKX0NPTU1JVAotCQkJCSAgICAgPyAoc3RydWN0IGNvbW1pdCAqKWFfb2JqCi0JCQkJICAgICA6IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKGFfb2JqLT5vaWQuaGFzaCkpOwotCQkJCWIgPSAoYl9vYmotPnR5cGUgPT0gT0JKX0NPTU1JVAotCQkJCSAgICAgPyAoc3RydWN0IGNvbW1pdCAqKWJfb2JqCi0JCQkJICAgICA6IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKGJfb2JqLT5vaWQuaGFzaCkpOwotCQkJCWlmICghYSB8fCAhYikKLQkJCQkJZ290byBtaXNzaW5nOwotCQkJCWV4Y2x1ZGUgPSBnZXRfbWVyZ2VfYmFzZXMoYSwgYik7Ci0JCQkJYWRkX3Jldl9jbWRsaW5lX2xpc3QocmV2cywgZXhjbHVkZSwKLQkJCQkJCSAgICAgUkVWX0NNRF9NRVJHRV9CQVNFLAotCQkJCQkJICAgICBmbGFnc19leGNsdWRlKTsKLQkJCQlhZGRfcGVuZGluZ19jb21taXRfbGlzdChyZXZzLCBleGNsdWRlLAotCQkJCQkJCWZsYWdzX2V4Y2x1ZGUpOwotCQkJCWZyZWVfY29tbWl0X2xpc3QoZXhjbHVkZSk7Ci0KLQkJCQlhX2ZsYWdzID0gZmxhZ3MgfCBTWU1NRVRSSUNfTEVGVDsKLQkJCX0KLQotCQkJYV9vYmotPmZsYWdzIHw9IGFfZmxhZ3M7Ci0JCQliX29iai0+ZmxhZ3MgfD0gZmxhZ3M7Ci0JCQlhZGRfcmV2X2NtZGxpbmUocmV2cywgYV9vYmosIHRoaXMsCi0JCQkJCVJFVl9DTURfTEVGVCwgYV9mbGFncyk7Ci0JCQlhZGRfcmV2X2NtZGxpbmUocmV2cywgYl9vYmosIG5leHQsCi0JCQkJCVJFVl9DTURfUklHSFQsIGZsYWdzKTsKLQkJCWFkZF9wZW5kaW5nX29iamVjdChyZXZzLCBhX29iaiwgdGhpcyk7Ci0JCQlhZGRfcGVuZGluZ19vYmplY3QocmV2cywgYl9vYmosIG5leHQpOwotCQkJcmV0dXJuIDA7Ci0JCX0KLQkJKmRvdGRvdCA9ICcuJzsKKwlpZiAoIWNhbnRfYmVfZmlsZW5hbWUgJiYgIXN0cmNtcChhcmcsICIuLiIpKSB7CisJCS8qCisJCSAqIEp1c3QgIi4uIj8gIFRoYXQgaXMgbm90IGEgcmFuZ2UgYnV0IHRoZQorCQkgKiBwYXRoc3BlYyBmb3IgdGhlIHBhcmVudCBkaXJlY3RvcnkuCisJCSAqLworCQlyZXR1cm4gLTE7CiAJfQogCi0JZG90ZG90ID0gc3Ryc3RyKGFyZywgIl5AIik7Ci0JaWYgKGRvdGRvdCAmJiAhZG90ZG90WzJdKSB7Ci0JCSpkb3Rkb3QgPSAwOworCWlmICghaGFuZGxlX2RvdGRvdChhcmcsIHJldnMsIGZsYWdzLCByZXZhcmdfb3B0KSkKKwkJcmV0dXJuIDA7CisKKwltYXJrID0gc3Ryc3RyKGFyZywgIl5AIik7CisJaWYgKG1hcmsgJiYgIW1hcmtbMl0pIHsKKwkJKm1hcmsgPSAwOwogCQlpZiAoYWRkX3BhcmVudHNfb25seShyZXZzLCBhcmcsIGZsYWdzLCAwKSkKIAkJCXJldHVybiAwOwotCQkqZG90ZG90ID0gJ14nOworCQkqbWFyayA9ICdeJzsKIAl9Ci0JZG90ZG90ID0gc3Ryc3RyKGFyZywgIl4hIik7Ci0JaWYgKGRvdGRvdCAmJiAhZG90ZG90WzJdKSB7Ci0JCSpkb3Rkb3QgPSAwOworCW1hcmsgPSBzdHJzdHIoYXJnLCAiXiEiKTsKKwlpZiAobWFyayAmJiAhbWFya1syXSkgeworCQkqbWFyayA9IDA7CiAJCWlmICghYWRkX3BhcmVudHNfb25seShyZXZzLCBhcmcsIGZsYWdzIF4gKFVOSU5URVJFU1RJTkcgfCBCT1RUT00pLCAwKSkKLQkJCSpkb3Rkb3QgPSAnXic7CisJCQkqbWFyayA9ICdeJzsKIAl9Ci0JZG90ZG90ID0gc3Ryc3RyKGFyZywgIl4tIik7Ci0JaWYgKGRvdGRvdCkgeworCW1hcmsgPSBzdHJzdHIoYXJnLCAiXi0iKTsKKwlpZiAobWFyaykgewogCQlpbnQgZXhjbHVkZV9wYXJlbnQgPSAxOwogCi0JCWlmIChkb3Rkb3RbMl0pIHsKKwkJaWYgKG1hcmtbMl0pIHsKIAkJCWNoYXIgKmVuZDsKLQkJCWV4Y2x1ZGVfcGFyZW50ID0gc3RydG91bChkb3Rkb3QgKyAyLCAmZW5kLCAxMCk7CisJCQlleGNsdWRlX3BhcmVudCA9IHN0cnRvdWwobWFyayArIDIsICZlbmQsIDEwKTsKIAkJCWlmICgqZW5kICE9ICdcMCcgfHwgIWV4Y2x1ZGVfcGFyZW50KQogCQkJCXJldHVybiAtMTsKIAkJfQogCi0JCSpkb3Rkb3QgPSAwOworCQkqbWFyayA9IDA7CiAJCWlmICghYWRkX3BhcmVudHNfb25seShyZXZzLCBhcmcsIGZsYWdzIF4gKFVOSU5URVJFU1RJTkcgfCBCT1RUT00pLCBleGNsdWRlX3BhcmVudCkpCi0JCQkqZG90ZG90ID0gJ14nOworCQkJKm1hcmsgPSAnXic7CiAJfQogCiAJbG9jYWxfZmxhZ3MgPSAwOwpAQCAtMTU2Niw0MyArMTY2MCwyOCBAQAogCX0KIAogCWlmIChyZXZhcmdfb3B0ICYgUkVWQVJHX0NPTU1JVFRJU0gpCi0JCWdldF9zaGExX2ZsYWdzID0gR0VUX1NIQTFfQ09NTUlUVElTSDsKKwkJZ2V0X3NoYTFfZmxhZ3MgfD0gR0VUX09JRF9DT01NSVRUSVNIOwogCi0JaWYgKGdldF9zaGExX3dpdGhfY29udGV4dChhcmcsIGdldF9zaGExX2ZsYWdzLCBzaGExLCAmb2MpKQorCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dChhcmcsIGdldF9zaGExX2ZsYWdzLCAmb2lkLCAmb2MpKQogCQlyZXR1cm4gcmV2cy0+aWdub3JlX21pc3NpbmcgPyAwIDogLTE7CiAJaWYgKCFjYW50X2JlX2ZpbGVuYW1lKQogCQl2ZXJpZnlfbm9uX2ZpbGVuYW1lKHJldnMtPnByZWZpeCwgYXJnKTsKLQlvYmplY3QgPSBnZXRfcmVmZXJlbmNlKHJldnMsIGFyZywgc2hhMSwgZmxhZ3MgXiBsb2NhbF9mbGFncyk7CisJb2JqZWN0ID0gZ2V0X3JlZmVyZW5jZShyZXZzLCBhcmcsICZvaWQsIGZsYWdzIF4gbG9jYWxfZmxhZ3MpOwogCWFkZF9yZXZfY21kbGluZShyZXZzLCBvYmplY3QsIGFyZ18sIFJFVl9DTURfUkVWLCBmbGFncyBeIGxvY2FsX2ZsYWdzKTsKLQlhZGRfcGVuZGluZ19vYmplY3Rfd2l0aF9tb2RlKHJldnMsIG9iamVjdCwgYXJnLCBvYy5tb2RlKTsKKwlhZGRfcGVuZGluZ19vYmplY3Rfd2l0aF9wYXRoKHJldnMsIG9iamVjdCwgYXJnLCBvYy5tb2RlLCBvYy5wYXRoKTsKKwlmcmVlKG9jLnBhdGgpOwogCXJldHVybiAwOwogfQogCi1zdHJ1Y3QgY21kbGluZV9wYXRoc3BlYyB7Ci0JaW50IGFsbG9jOwotCWludCBucjsKLQljb25zdCBjaGFyICoqcGF0aDsKLX07Ci0KLXN0YXRpYyB2b2lkIGFwcGVuZF9wcnVuZV9kYXRhKHN0cnVjdCBjbWRsaW5lX3BhdGhzcGVjICpwcnVuZSwgY29uc3QgY2hhciAqKmF2KQotewotCXdoaWxlICgqYXYpIHsKLQkJQUxMT0NfR1JPVyhwcnVuZS0+cGF0aCwgcHJ1bmUtPm5yICsgMSwgcHJ1bmUtPmFsbG9jKTsKLQkJcHJ1bmUtPnBhdGhbcHJ1bmUtPm5yKytdID0gKihhdisrKTsKLQl9Ci19Ci0KIHN0YXRpYyB2b2lkIHJlYWRfcGF0aHNwZWNfZnJvbV9zdGRpbihzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIHN0cnVjdCBzdHJidWYgKnNiLAotCQkJCSAgICAgc3RydWN0IGNtZGxpbmVfcGF0aHNwZWMgKnBydW5lKQorCQkJCSAgICAgc3RydWN0IGFyZ3ZfYXJyYXkgKnBydW5lKQogewotCXdoaWxlIChzdHJidWZfZ2V0bGluZShzYiwgc3RkaW4pICE9IEVPRikgewotCQlBTExPQ19HUk9XKHBydW5lLT5wYXRoLCBwcnVuZS0+bnIgKyAxLCBwcnVuZS0+YWxsb2MpOwotCQlwcnVuZS0+cGF0aFtwcnVuZS0+bnIrK10gPSB4c3RyZHVwKHNiLT5idWYpOwotCX0KKwl3aGlsZSAoc3RyYnVmX2dldGxpbmUoc2IsIHN0ZGluKSAhPSBFT0YpCisJCWFyZ3ZfYXJyYXlfcHVzaChwcnVuZSwgc2ItPmJ1Zik7CiB9CiAKIHN0YXRpYyB2b2lkIHJlYWRfcmV2aXNpb25zX2Zyb21fc3RkaW4oc3RydWN0IHJldl9pbmZvICpyZXZzLAotCQkJCSAgICAgIHN0cnVjdCBjbWRsaW5lX3BhdGhzcGVjICpwcnVuZSkKKwkJCQkgICAgICBzdHJ1Y3QgYXJndl9hcnJheSAqcHJ1bmUpCiB7CiAJc3RydWN0IHN0cmJ1ZiBzYjsKIAlpbnQgc2Vlbl9kYXNoZGFzaCA9IDA7CkBAIC0xNjkwLDggKzE3NjksOCBAQAogCQlyZXZzLT5tYXhfY291bnQgPSBhdG9pKGFyZ3ZbMV0pOwogCQlyZXZzLT5ub193YWxrID0gMDsKIAkJcmV0dXJuIDI7Ci0JfSBlbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItbiIpKSB7Ci0JCXJldnMtPm1heF9jb3VudCA9IGF0b2koYXJnICsgMik7CisJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItbiIsICZvcHRhcmcpKSB7CisJCXJldnMtPm1heF9jb3VudCA9IGF0b2kob3B0YXJnKTsKIAkJcmV2cy0+bm9fd2FsayA9IDA7CiAJfSBlbHNlIGlmICgoYXJnY291bnQgPSBwYXJzZV9sb25nX29wdCgibWF4LWFnZSIsIGFyZ3YsICZvcHRhcmcpKSkgewogCQlyZXZzLT5tYXhfYWdlID0gYXRvaShvcHRhcmcpOwpAQCAtMTc1MCwxNiArMTgyOSwxMyBAQAogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWF1dGhvci1kYXRlLW9yZGVyIikpIHsKIAkJcmV2cy0+c29ydF9vcmRlciA9IFJFVl9TT1JUX0JZX0FVVEhPUl9EQVRFOwogCQlyZXZzLT50b3BvX29yZGVyID0gMTsKLQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tZWFybHktb3V0cHV0IikpIHsKLQkJaW50IGNvdW50ID0gMTAwOwotCQlzd2l0Y2ggKGFyZ1sxNF0pIHsKLQkJY2FzZSAnPSc6Ci0JCQljb3VudCA9IGF0b2koYXJnKzE1KTsKLQkJCS8qIEZhbGx0aHJvdWdoICovCi0JCWNhc2UgMDoKLQkJCXJldnMtPnRvcG9fb3JkZXIgPSAxOwotCQkgICAgICAgcmV2cy0+ZWFybHlfb3V0cHV0ID0gY291bnQ7Ci0JCX0KKwl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1lYXJseS1vdXRwdXQiKSkgeworCQlyZXZzLT5lYXJseV9vdXRwdXQgPSAxMDA7CisJCXJldnMtPnRvcG9fb3JkZXIgPSAxOworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS1lYXJseS1vdXRwdXQ9IiwgJm9wdGFyZykpIHsKKwkJaWYgKHN0cnRvdWxfdWkob3B0YXJnLCAxMCwgJnJldnMtPmVhcmx5X291dHB1dCkgPCAwKQorCQkJZGllKCInJXMnOiBub3QgYSBub24tbmVnYXRpdmUgaW50ZWdlciIsIG9wdGFyZyk7CisJCXJldnMtPnRvcG9fb3JkZXIgPSAxOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXBhcmVudHMiKSkgewogCQlyZXZzLT5yZXdyaXRlX3BhcmVudHMgPSAxOwogCQlyZXZzLT5wcmludF9wYXJlbnRzID0gMTsKQEAgLTE3NzUsMTMgKzE4NTEsMTMgQEAKIAkJcmV2cy0+bWluX3BhcmVudHMgPSAyOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLW1lcmdlcyIpKSB7CiAJCXJldnMtPm1heF9wYXJlbnRzID0gMTsKLQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tbWluLXBhcmVudHM9IikpIHsKLQkJcmV2cy0+bWluX3BhcmVudHMgPSBhdG9pKGFyZysxNCk7Ci0JfSBlbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLW5vLW1pbi1wYXJlbnRzIikpIHsKKwl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tbWluLXBhcmVudHM9IiwgJm9wdGFyZykpIHsKKwkJcmV2cy0+bWluX3BhcmVudHMgPSBhdG9pKG9wdGFyZyk7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tbWluLXBhcmVudHMiKSkgewogCQlyZXZzLT5taW5fcGFyZW50cyA9IDA7Ci0JfSBlbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLW1heC1wYXJlbnRzPSIpKSB7Ci0JCXJldnMtPm1heF9wYXJlbnRzID0gYXRvaShhcmcrMTQpOwotCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1uby1tYXgtcGFyZW50cyIpKSB7CisJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLW1heC1wYXJlbnRzPSIsICZvcHRhcmcpKSB7CisJCXJldnMtPm1heF9wYXJlbnRzID0gYXRvaShvcHRhcmcpOworCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLW1heC1wYXJlbnRzIikpIHsKIAkJcmV2cy0+bWF4X3BhcmVudHMgPSAtMTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1ib3VuZGFyeSIpKSB7CiAJCXJldnMtPmJvdW5kYXJ5ID0gMTsKQEAgLTE4NjIsMTQgKzE5MzgsMTUgQEAKIAkJcmV2cy0+dmVyYm9zZV9oZWFkZXIgPSAxOwogCQlyZXZzLT5wcmV0dHlfZ2l2ZW4gPSAxOwogCQlnZXRfY29tbWl0X2Zvcm1hdChOVUxMLCByZXZzKTsKLQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tcHJldHR5PSIpIHx8IHN0YXJ0c193aXRoKGFyZywgIi0tZm9ybWF0PSIpKSB7CisJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLXByZXR0eT0iLCAmb3B0YXJnKSB8fAorCQkgICBza2lwX3ByZWZpeChhcmcsICItLWZvcm1hdD0iLCAmb3B0YXJnKSkgewogCQkvKgogCQkgKiBEZXRhY2hlZCBmb3JtICgiLS1wcmV0dHkgWCIgYXMgb3Bwb3NlZCB0byAiLS1wcmV0dHk9WCIpCiAJCSAqIG5vdCBhbGxvd2VkLCBzaW5jZSB0aGUgYXJndW1lbnQgaXMgb3B0aW9uYWwuCiAJCSAqLwogCQlyZXZzLT52ZXJib3NlX2hlYWRlciA9IDE7CiAJCXJldnMtPnByZXR0eV9naXZlbiA9IDE7Ci0JCWdldF9jb21taXRfZm9ybWF0KGFyZys5LCByZXZzKTsKKwkJZ2V0X2NvbW1pdF9mb3JtYXQob3B0YXJnLCByZXZzKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1leHBhbmQtdGFicyIpKSB7CiAJCXJldnMtPmV4cGFuZF90YWJzX2luX2xvZyA9IDg7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tZXhwYW5kLXRhYnMiKSkgewpAQCAtMTg4NywyNiArMTk2NCwyMyBAQAogCQlyZXZzLT5zaG93X3NpZ25hdHVyZSA9IDE7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tc2hvdy1zaWduYXR1cmUiKSkgewogCQlyZXZzLT5zaG93X3NpZ25hdHVyZSA9IDA7Ci0JfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tc2hvdy1saW5lYXItYnJlYWsiKSB8fAotCQkgICBzdGFydHNfd2l0aChhcmcsICItLXNob3ctbGluZWFyLWJyZWFrPSIpKSB7Ci0JCWlmIChzdGFydHNfd2l0aChhcmcsICItLXNob3ctbGluZWFyLWJyZWFrPSIpKQotCQkJcmV2cy0+YnJlYWtfYmFyID0geHN0cmR1cChhcmcgKyAyMCk7Ci0JCWVsc2UKLQkJCXJldnMtPmJyZWFrX2JhciA9ICIgICAgICAgICAgICAgICAgICAgIC4uLi4uLi4uLi4iOworCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXNob3ctbGluZWFyLWJyZWFrIikpIHsKKwkJcmV2cy0+YnJlYWtfYmFyID0gIiAgICAgICAgICAgICAgICAgICAgLi4uLi4uLi4uLiI7CiAJCXJldnMtPnRyYWNrX2xpbmVhciA9IDE7CiAJCXJldnMtPnRyYWNrX2ZpcnN0X3RpbWUgPSAxOwotCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1zaG93LW5vdGVzPSIpIHx8Ci0JCSAgIHN0YXJ0c193aXRoKGFyZywgIi0tbm90ZXM9IikpIHsKKwl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tc2hvdy1saW5lYXItYnJlYWs9IiwgJm9wdGFyZykpIHsKKwkJcmV2cy0+YnJlYWtfYmFyID0geHN0cmR1cChvcHRhcmcpOworCQlyZXZzLT50cmFja19saW5lYXIgPSAxOworCQlyZXZzLT50cmFja19maXJzdF90aW1lID0gMTsKKwl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tc2hvdy1ub3Rlcz0iLCAmb3B0YXJnKSB8fAorCQkgICBza2lwX3ByZWZpeChhcmcsICItLW5vdGVzPSIsICZvcHRhcmcpKSB7CiAJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJCXJldnMtPnNob3dfbm90ZXMgPSAxOwogCQlyZXZzLT5zaG93X25vdGVzX2dpdmVuID0gMTsKLQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tc2hvdy1ub3RlcyIpKSB7Ci0JCQlpZiAocmV2cy0+bm90ZXNfb3B0LnVzZV9kZWZhdWx0X25vdGVzIDwgMCkKLQkJCQlyZXZzLT5ub3Rlc19vcHQudXNlX2RlZmF1bHRfbm90ZXMgPSAxOwotCQkJc3RyYnVmX2FkZHN0cigmYnVmLCBhcmcrMTMpOwotCQl9Ci0JCWVsc2UKLQkJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgYXJnKzgpOworCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1zaG93LW5vdGVzPSIpICYmCisJCSAgICByZXZzLT5ub3Rlc19vcHQudXNlX2RlZmF1bHRfbm90ZXMgPCAwKQorCQkJcmV2cy0+bm90ZXNfb3B0LnVzZV9kZWZhdWx0X25vdGVzID0gMTsKKwkJc3RyYnVmX2FkZHN0cigmYnVmLCBvcHRhcmcpOwogCQlleHBhbmRfbm90ZXNfcmVmKCZidWYpOwogCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJldnMtPm5vdGVzX29wdC5leHRyYV9ub3Rlc19yZWZzLAogCQkJCSAgIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCkpOwpAQCAtMTk0Myw4ICsyMDE3LDggQEAKIAkJcmV2cy0+YWJicmV2ID0gMDsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1hYmJyZXYiKSkgewogCQlyZXZzLT5hYmJyZXYgPSBERUZBVUxUX0FCQlJFVjsKLQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tYWJicmV2PSIpKSB7Ci0JCXJldnMtPmFiYnJldiA9IHN0cnRvdWwoYXJnICsgOSwgTlVMTCwgMTApOworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS1hYmJyZXY9IiwgJm9wdGFyZykpIHsKKwkJcmV2cy0+YWJicmV2ID0gc3RydG91bChvcHRhcmcsIE5VTEwsIDEwKTsKIAkJaWYgKHJldnMtPmFiYnJldiA8IE1JTklNVU1fQUJCUkVWKQogCQkJcmV2cy0+YWJicmV2ID0gTUlOSU1VTV9BQkJSRVY7CiAJCWVsc2UgaWYgKHJldnMtPmFiYnJldiA+IDQwKQpAQCAtMTk5MSwxMSArMjA2NSwxMSBAQAogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWV4dGVuZGVkLXJlZ2V4cCIpIHx8ICFzdHJjbXAoYXJnLCAiLUUiKSkgewogCQlyZXZzLT5ncmVwX2ZpbHRlci5wYXR0ZXJuX3R5cGVfb3B0aW9uID0gR1JFUF9QQVRURVJOX1RZUEVfRVJFOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXJlZ2V4cC1pZ25vcmUtY2FzZSIpIHx8ICFzdHJjbXAoYXJnLCAiLWkiKSkgewotCQlyZXZzLT5ncmVwX2ZpbHRlci5yZWdmbGFncyB8PSBSRUdfSUNBU0U7CisJCXJldnMtPmdyZXBfZmlsdGVyLmlnbm9yZV9jYXNlID0gMTsKIAkJRElGRl9PUFRfU0VUKCZyZXZzLT5kaWZmb3B0LCBQSUNLQVhFX0lHTk9SRV9DQVNFKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1maXhlZC1zdHJpbmdzIikgfHwgIXN0cmNtcChhcmcsICItRiIpKSB7CiAJCXJldnMtPmdyZXBfZmlsdGVyLnBhdHRlcm5fdHlwZV9vcHRpb24gPSBHUkVQX1BBVFRFUk5fVFlQRV9GSVhFRDsKLQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1wZXJsLXJlZ2V4cCIpKSB7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tcGVybC1yZWdleHAiKSB8fCAhc3RyY21wKGFyZywgIi1QIikpIHsKIAkJcmV2cy0+Z3JlcF9maWx0ZXIucGF0dGVybl90eXBlX29wdGlvbiA9IEdSRVBfUEFUVEVSTl9UWVBFX1BDUkU7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tYWxsLW1hdGNoIikpIHsKIAkJcmV2cy0+Z3JlcF9maWx0ZXIuYWxsX21hdGNoID0gMTsKQEAgLTIwNDAsMjMgKzIxMTQsMjUgQEAKIAljdHgtPmFyZ2MgLT0gbjsKIH0KIAotc3RhdGljIGludCBmb3JfZWFjaF9iaXNlY3RfcmVmKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEsIGNvbnN0IGNoYXIgKnRlcm0pIHsKK3N0YXRpYyBpbnQgZm9yX2VhY2hfYmlzZWN0X3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBlYWNoX3JlZl9mbiBmbiwKKwkJCSAgICAgICB2b2lkICpjYl9kYXRhLCBjb25zdCBjaGFyICp0ZXJtKQorewogCXN0cnVjdCBzdHJidWYgYmlzZWN0X3JlZnMgPSBTVFJCVUZfSU5JVDsKIAlpbnQgc3RhdHVzOwogCXN0cmJ1Zl9hZGRmKCZiaXNlY3RfcmVmcywgInJlZnMvYmlzZWN0LyVzIiwgdGVybSk7Ci0Jc3RhdHVzID0gZm9yX2VhY2hfcmVmX2luX3N1Ym1vZHVsZShzdWJtb2R1bGUsIGJpc2VjdF9yZWZzLmJ1ZiwgZm4sIGNiX2RhdGEpOworCXN0YXR1cyA9IHJlZnNfZm9yX2VhY2hfZnVsbHJlZl9pbihyZWZzLCBiaXNlY3RfcmVmcy5idWYsIGZuLCBjYl9kYXRhLCAwKTsKIAlzdHJidWZfcmVsZWFzZSgmYmlzZWN0X3JlZnMpOwogCXJldHVybiBzdGF0dXM7CiB9CiAKLXN0YXRpYyBpbnQgZm9yX2VhY2hfYmFkX2Jpc2VjdF9yZWYoY29uc3QgY2hhciAqc3VibW9kdWxlLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK3N0YXRpYyBpbnQgZm9yX2VhY2hfYmFkX2Jpc2VjdF9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCiB7Ci0JcmV0dXJuIGZvcl9lYWNoX2Jpc2VjdF9yZWYoc3VibW9kdWxlLCBmbiwgY2JfZGF0YSwgdGVybV9iYWQpOworCXJldHVybiBmb3JfZWFjaF9iaXNlY3RfcmVmKHJlZnMsIGZuLCBjYl9kYXRhLCB0ZXJtX2JhZCk7CiB9CiAKLXN0YXRpYyBpbnQgZm9yX2VhY2hfZ29vZF9iaXNlY3RfcmVmKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCitzdGF0aWMgaW50IGZvcl9lYWNoX2dvb2RfYmlzZWN0X3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKLQlyZXR1cm4gZm9yX2VhY2hfYmlzZWN0X3JlZihzdWJtb2R1bGUsIGZuLCBjYl9kYXRhLCB0ZXJtX2dvb2QpOworCXJldHVybiBmb3JfZWFjaF9iaXNlY3RfcmVmKHJlZnMsIGZuLCBjYl9kYXRhLCB0ZXJtX2dvb2QpOwogfQogCiBzdGF0aWMgaW50IGhhbmRsZV9yZXZpc2lvbl9wc2V1ZG9fb3B0KGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwKQEAgLTIwNjUsOCArMjE0MSwyMiBAQAogewogCWNvbnN0IGNoYXIgKmFyZyA9IGFyZ3ZbMF07CiAJY29uc3QgY2hhciAqb3B0YXJnOworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnM7CiAJaW50IGFyZ2NvdW50OwogCisJaWYgKHN1Ym1vZHVsZSkgeworCQkvKgorCQkgKiBXZSBuZWVkIHNvbWUgc29tZXRoaW5nIGxpa2UgZ2V0X3N1Ym1vZHVsZV93b3JrdHJlZXMoKQorCQkgKiBiZWZvcmUgd2UgY2FuIGdvIHRocm91Z2ggYWxsIHdvcmt0cmVlcyBvZiBhIHN1Ym1vZHVsZSwKKwkJICogLmUuZyB3aXRoIGFkZGluZyBhbGwgSEVBRHMgZnJvbSAtLWFsbCwgd2hpY2ggaXMgbm90CisJCSAqIHN1cHBvcnRlZCByaWdodCBub3csIHNvIHN0aWNrIHRvIHNpbmdsZSB3b3JrdHJlZS4KKwkJICovCisJCWlmICghcmV2cy0+c2luZ2xlX3dvcmt0cmVlKQorCQkJZGllKCJCVUc6IC0tc2luZ2xlLXdvcmt0cmVlIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggc3VibW9kdWxlIik7CisJCXJlZnMgPSBnZXRfc3VibW9kdWxlX3JlZl9zdG9yZShzdWJtb2R1bGUpOworCX0gZWxzZQorCQlyZWZzID0gZ2V0X21haW5fcmVmX3N0b3JlKCk7CisKIAkvKgogCSAqIE5PVEUhCiAJICoKQEAgLTIwNzgsMjIgKzIxNjgsMjkgQEAKIAkgKiByZWdpc3RlciBpdCBpbiB0aGUgbGlzdCBhdCB0aGUgdG9wIG9mIGhhbmRsZV9yZXZpc2lvbl9vcHQuCiAJICovCiAJaWYgKCFzdHJjbXAoYXJnLCAiLS1hbGwiKSkgewotCQloYW5kbGVfcmVmcyhzdWJtb2R1bGUsIHJldnMsICpmbGFncywgZm9yX2VhY2hfcmVmX3N1Ym1vZHVsZSk7Ci0JCWhhbmRsZV9yZWZzKHN1Ym1vZHVsZSwgcmV2cywgKmZsYWdzLCBoZWFkX3JlZl9zdWJtb2R1bGUpOworCQloYW5kbGVfcmVmcyhyZWZzLCByZXZzLCAqZmxhZ3MsIHJlZnNfZm9yX2VhY2hfcmVmKTsKKwkJaGFuZGxlX3JlZnMocmVmcywgcmV2cywgKmZsYWdzLCByZWZzX2hlYWRfcmVmKTsKKwkJaWYgKCFyZXZzLT5zaW5nbGVfd29ya3RyZWUpIHsKKwkJCXN0cnVjdCBhbGxfcmVmc19jYiBjYjsKKworCQkJaW5pdF9hbGxfcmVmc19jYigmY2IsIHJldnMsICpmbGFncyk7CisJCQlvdGhlcl9oZWFkX3JlZnMoaGFuZGxlX29uZV9yZWYsICZjYik7CisJCX0KIAkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmV2cy0+cmVmX2V4Y2x1ZGVzKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1icmFuY2hlcyIpKSB7Ci0JCWhhbmRsZV9yZWZzKHN1Ym1vZHVsZSwgcmV2cywgKmZsYWdzLCBmb3JfZWFjaF9icmFuY2hfcmVmX3N1Ym1vZHVsZSk7CisJCWhhbmRsZV9yZWZzKHJlZnMsIHJldnMsICpmbGFncywgcmVmc19mb3JfZWFjaF9icmFuY2hfcmVmKTsKIAkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmV2cy0+cmVmX2V4Y2x1ZGVzKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1iaXNlY3QiKSkgewogCQlyZWFkX2Jpc2VjdF90ZXJtcygmdGVybV9iYWQsICZ0ZXJtX2dvb2QpOwotCQloYW5kbGVfcmVmcyhzdWJtb2R1bGUsIHJldnMsICpmbGFncywgZm9yX2VhY2hfYmFkX2Jpc2VjdF9yZWYpOwotCQloYW5kbGVfcmVmcyhzdWJtb2R1bGUsIHJldnMsICpmbGFncyBeIChVTklOVEVSRVNUSU5HIHwgQk9UVE9NKSwgZm9yX2VhY2hfZ29vZF9iaXNlY3RfcmVmKTsKKwkJaGFuZGxlX3JlZnMocmVmcywgcmV2cywgKmZsYWdzLCBmb3JfZWFjaF9iYWRfYmlzZWN0X3JlZik7CisJCWhhbmRsZV9yZWZzKHJlZnMsIHJldnMsICpmbGFncyBeIChVTklOVEVSRVNUSU5HIHwgQk9UVE9NKSwKKwkJCSAgICBmb3JfZWFjaF9nb29kX2Jpc2VjdF9yZWYpOwogCQlyZXZzLT5iaXNlY3QgPSAxOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXRhZ3MiKSkgewotCQloYW5kbGVfcmVmcyhzdWJtb2R1bGUsIHJldnMsICpmbGFncywgZm9yX2VhY2hfdGFnX3JlZl9zdWJtb2R1bGUpOworCQloYW5kbGVfcmVmcyhyZWZzLCByZXZzLCAqZmxhZ3MsIHJlZnNfZm9yX2VhY2hfdGFnX3JlZik7CiAJCWNsZWFyX3JlZl9leGNsdXNpb24oJnJldnMtPnJlZl9leGNsdWRlcyk7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tcmVtb3RlcyIpKSB7Ci0JCWhhbmRsZV9yZWZzKHN1Ym1vZHVsZSwgcmV2cywgKmZsYWdzLCBmb3JfZWFjaF9yZW1vdGVfcmVmX3N1Ym1vZHVsZSk7CisJCWhhbmRsZV9yZWZzKHJlZnMsIHJldnMsICpmbGFncywgcmVmc19mb3JfZWFjaF9yZW1vdGVfcmVmKTsKIAkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmV2cy0+cmVmX2V4Y2x1ZGVzKTsKIAl9IGVsc2UgaWYgKChhcmdjb3VudCA9IHBhcnNlX2xvbmdfb3B0KCJnbG9iIiwgYXJndiwgJm9wdGFyZykpKSB7CiAJCXN0cnVjdCBhbGxfcmVmc19jYiBjYjsKQEAgLTIxMDQsMjAgKzIyMDEsMjAgQEAKIAl9IGVsc2UgaWYgKChhcmdjb3VudCA9IHBhcnNlX2xvbmdfb3B0KCJleGNsdWRlIiwgYXJndiwgJm9wdGFyZykpKSB7CiAJCWFkZF9yZWZfZXhjbHVzaW9uKCZyZXZzLT5yZWZfZXhjbHVkZXMsIG9wdGFyZyk7CiAJCXJldHVybiBhcmdjb3VudDsKLQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tYnJhbmNoZXM9IikpIHsKKwl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tYnJhbmNoZXM9IiwgJm9wdGFyZykpIHsKIAkJc3RydWN0IGFsbF9yZWZzX2NiIGNiOwogCQlpbml0X2FsbF9yZWZzX2NiKCZjYiwgcmV2cywgKmZsYWdzKTsKLQkJZm9yX2VhY2hfZ2xvYl9yZWZfaW4oaGFuZGxlX29uZV9yZWYsIGFyZyArIDExLCAicmVmcy9oZWFkcy8iLCAmY2IpOworCQlmb3JfZWFjaF9nbG9iX3JlZl9pbihoYW5kbGVfb25lX3JlZiwgb3B0YXJnLCAicmVmcy9oZWFkcy8iLCAmY2IpOwogCQljbGVhcl9yZWZfZXhjbHVzaW9uKCZyZXZzLT5yZWZfZXhjbHVkZXMpOwotCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS10YWdzPSIpKSB7CisJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLXRhZ3M9IiwgJm9wdGFyZykpIHsKIAkJc3RydWN0IGFsbF9yZWZzX2NiIGNiOwogCQlpbml0X2FsbF9yZWZzX2NiKCZjYiwgcmV2cywgKmZsYWdzKTsKLQkJZm9yX2VhY2hfZ2xvYl9yZWZfaW4oaGFuZGxlX29uZV9yZWYsIGFyZyArIDcsICJyZWZzL3RhZ3MvIiwgJmNiKTsKKwkJZm9yX2VhY2hfZ2xvYl9yZWZfaW4oaGFuZGxlX29uZV9yZWYsIG9wdGFyZywgInJlZnMvdGFncy8iLCAmY2IpOwogCQljbGVhcl9yZWZfZXhjbHVzaW9uKCZyZXZzLT5yZWZfZXhjbHVkZXMpOwotCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1yZW1vdGVzPSIpKSB7CisJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLXJlbW90ZXM9IiwgJm9wdGFyZykpIHsKIAkJc3RydWN0IGFsbF9yZWZzX2NiIGNiOwogCQlpbml0X2FsbF9yZWZzX2NiKCZjYiwgcmV2cywgKmZsYWdzKTsKLQkJZm9yX2VhY2hfZ2xvYl9yZWZfaW4oaGFuZGxlX29uZV9yZWYsIGFyZyArIDEwLCAicmVmcy9yZW1vdGVzLyIsICZjYik7CisJCWZvcl9lYWNoX2dsb2JfcmVmX2luKGhhbmRsZV9vbmVfcmVmLCBvcHRhcmcsICJyZWZzL3JlbW90ZXMvIiwgJmNiKTsKIAkJY2xlYXJfcmVmX2V4Y2x1c2lvbigmcmV2cy0+cmVmX2V4Y2x1ZGVzKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1yZWZsb2ciKSkgewogCQlhZGRfcmVmbG9nc190b19wZW5kaW5nKHJldnMsICpmbGFncyk7CkBAIC0yMTI3LDE5ICsyMjI0LDIxIEBACiAJCSpmbGFncyBePSBVTklOVEVSRVNUSU5HIHwgQk9UVE9NOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLXdhbGsiKSkgewogCQlyZXZzLT5ub193YWxrID0gUkVWSVNJT05fV0FMS19OT19XQUxLX1NPUlRFRDsKLQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tbm8td2Fsaz0iKSkgeworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS1uby13YWxrPSIsICZvcHRhcmcpKSB7CiAJCS8qCiAJCSAqIERldGFjaGVkIGZvcm0gKCItLW5vLXdhbGsgWCIgYXMgb3Bwb3NlZCB0byAiLS1uby13YWxrPVgiKQogCQkgKiBub3QgYWxsb3dlZCwgc2luY2UgdGhlIGFyZ3VtZW50IGlzIG9wdGlvbmFsLgogCQkgKi8KLQkJaWYgKCFzdHJjbXAoYXJnICsgMTAsICJzb3J0ZWQiKSkKKwkJaWYgKCFzdHJjbXAob3B0YXJnLCAic29ydGVkIikpCiAJCQlyZXZzLT5ub193YWxrID0gUkVWSVNJT05fV0FMS19OT19XQUxLX1NPUlRFRDsKLQkJZWxzZSBpZiAoIXN0cmNtcChhcmcgKyAxMCwgInVuc29ydGVkIikpCisJCWVsc2UgaWYgKCFzdHJjbXAob3B0YXJnLCAidW5zb3J0ZWQiKSkKIAkJCXJldnMtPm5vX3dhbGsgPSBSRVZJU0lPTl9XQUxLX05PX1dBTEtfVU5TT1JURUQ7CiAJCWVsc2UKIAkJCXJldHVybiBlcnJvcigiaW52YWxpZCBhcmd1bWVudCB0byAtLW5vLXdhbGsiKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1kby13YWxrIikpIHsKIAkJcmV2cy0+bm9fd2FsayA9IDA7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tc2luZ2xlLXdvcmt0cmVlIikpIHsKKwkJcmV2cy0+c2luZ2xlX3dvcmt0cmVlID0gMTsKIAl9IGVsc2UgewogCQlyZXR1cm4gMDsKIAl9CkBAIC0yMTQ5LDExICsyMjQ4LDEwIEBACiAKIHN0YXRpYyB2b2lkIE5PUkVUVVJOIGRpYWdub3NlX21pc3NpbmdfZGVmYXVsdChjb25zdCBjaGFyICpkZWYpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAlpbnQgZmxhZ3M7CiAJY29uc3QgY2hhciAqcmVmbmFtZTsKIAotCXJlZm5hbWUgPSByZXNvbHZlX3JlZl91bnNhZmUoZGVmLCAwLCBzaGExLCAmZmxhZ3MpOworCXJlZm5hbWUgPSByZXNvbHZlX3JlZl91bnNhZmUoZGVmLCAwLCBOVUxMLCAmZmxhZ3MpOwogCWlmICghcmVmbmFtZSB8fCAhKGZsYWdzICYgUkVGX0lTU1lNUkVGKSB8fCAoZmxhZ3MgJiBSRUZfSVNCUk9LRU4pKQogCQlkaWUoXygieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIpKTsKIApAQCAtMjE3MiwxMCArMjI3MCw5IEBACiBpbnQgc2V0dXBfcmV2aXNpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3Qgc2V0dXBfcmV2aXNpb25fb3B0ICpvcHQpCiB7CiAJaW50IGksIGZsYWdzLCBsZWZ0LCBzZWVuX2Rhc2hkYXNoLCByZWFkX2Zyb21fc3RkaW4sIGdvdF9yZXZfYXJnID0gMCwgcmV2YXJnX29wdDsKLQlzdHJ1Y3QgY21kbGluZV9wYXRoc3BlYyBwcnVuZV9kYXRhOworCXN0cnVjdCBhcmd2X2FycmF5IHBydW5lX2RhdGEgPSBBUkdWX0FSUkFZX0lOSVQ7CiAJY29uc3QgY2hhciAqc3VibW9kdWxlID0gTlVMTDsKIAotCW1lbXNldCgmcHJ1bmVfZGF0YSwgMCwgc2l6ZW9mKHBydW5lX2RhdGEpKTsKIAlpZiAob3B0KQogCQlzdWJtb2R1bGUgPSBvcHQtPnN1Ym1vZHVsZTsKIApAQCAtMjE5MSw3ICsyMjg4LDcgQEAKIAkJCWFyZ3ZbaV0gPSBOVUxMOwogCQkJYXJnYyA9IGk7CiAJCQlpZiAoYXJndltpICsgMV0pCi0JCQkJYXBwZW5kX3BydW5lX2RhdGEoJnBydW5lX2RhdGEsIGFyZ3YgKyBpICsgMSk7CisJCQkJYXJndl9hcnJheV9wdXNodigmcHJ1bmVfZGF0YSwgYXJndiArIGkgKyAxKTsKIAkJCXNlZW5fZGFzaGRhc2ggPSAxOwogCQkJYnJlYWs7CiAJCX0KQEAgLTIyNTIsMTQgKzIzNDksMTQgQEAKIAkJCWZvciAoaiA9IGk7IGogPCBhcmdjOyBqKyspCiAJCQkJdmVyaWZ5X2ZpbGVuYW1lKHJldnMtPnByZWZpeCwgYXJndltqXSwgaiA9PSBpKTsKIAotCQkJYXBwZW5kX3BydW5lX2RhdGEoJnBydW5lX2RhdGEsIGFyZ3YgKyBpKTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaHYoJnBydW5lX2RhdGEsIGFyZ3YgKyBpKTsKIAkJCWJyZWFrOwogCQl9CiAJCWVsc2UKIAkJCWdvdF9yZXZfYXJnID0gMTsKIAl9CiAKLQlpZiAocHJ1bmVfZGF0YS5ucikgeworCWlmIChwcnVuZV9kYXRhLmFyZ2MpIHsKIAkJLyoKIAkJICogSWYgd2UgbmVlZCB0byBpbnRyb2R1Y2UgdGhlIG1hZ2ljICJhIGxvbmUgJzonIG1lYW5zIG5vCiAJCSAqIHBhdGhzcGVjIHdoYXRzb2V2ZXIiLCBoZXJlIGlzIHRoZSBwbGFjZSB0byBkbyBzby4KQEAgLTIyNzQsMTEgKzIzNzEsMTAgQEAKIAkJICoJY2FsbCBpbml0X3BhdGhzcGVjKCkgdG8gc2V0IHJldnMtPnBydW5lX2RhdGEgaGVyZS4KIAkJICogfQogCQkgKi8KLQkJQUxMT0NfR1JPVyhwcnVuZV9kYXRhLnBhdGgsIHBydW5lX2RhdGEubnIgKyAxLCBwcnVuZV9kYXRhLmFsbG9jKTsKLQkJcHJ1bmVfZGF0YS5wYXRoW3BydW5lX2RhdGEubnIrK10gPSBOVUxMOwogCQlwYXJzZV9wYXRoc3BlYygmcmV2cy0+cHJ1bmVfZGF0YSwgMCwgMCwKLQkJCSAgICAgICByZXZzLT5wcmVmaXgsIHBydW5lX2RhdGEucGF0aCk7CisJCQkgICAgICAgcmV2cy0+cHJlZml4LCBwcnVuZV9kYXRhLmFyZ3YpOwogCX0KKwlhcmd2X2FycmF5X2NsZWFyKCZwcnVuZV9kYXRhKTsKIAogCWlmIChyZXZzLT5kZWYgPT0gTlVMTCkKIAkJcmV2cy0+ZGVmID0gb3B0ID8gb3B0LT5kZWYgOiBOVUxMOwpAQCAtMjI4NiwxMyArMjM4MiwxMyBAQAogCQlvcHQtPnR3ZWFrKHJldnMsIG9wdCk7CiAJaWYgKHJldnMtPnNob3dfbWVyZ2UpCiAJCXByZXBhcmVfc2hvd19tZXJnZShyZXZzKTsKLQlpZiAocmV2cy0+ZGVmICYmICFyZXZzLT5wZW5kaW5nLm5yICYmICFnb3RfcmV2X2FyZykgewotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCWlmIChyZXZzLT5kZWYgJiYgIXJldnMtPnBlbmRpbmcubnIgJiYgIXJldnMtPnJldl9pbnB1dF9naXZlbiAmJiAhZ290X3Jldl9hcmcpIHsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCXN0cnVjdCBvYmplY3QgKm9iamVjdDsKIAkJc3RydWN0IG9iamVjdF9jb250ZXh0IG9jOwotCQlpZiAoZ2V0X3NoYTFfd2l0aF9jb250ZXh0KHJldnMtPmRlZiwgMCwgc2hhMSwgJm9jKSkKKwkJaWYgKGdldF9vaWRfd2l0aF9jb250ZXh0KHJldnMtPmRlZiwgMCwgJm9pZCwgJm9jKSkKIAkJCWRpYWdub3NlX21pc3NpbmdfZGVmYXVsdChyZXZzLT5kZWYpOwotCQlvYmplY3QgPSBnZXRfcmVmZXJlbmNlKHJldnMsIHJldnMtPmRlZiwgc2hhMSwgMCk7CisJCW9iamVjdCA9IGdldF9yZWZlcmVuY2UocmV2cywgcmV2cy0+ZGVmLCAmb2lkLCAwKTsKIAkJYWRkX3BlbmRpbmdfb2JqZWN0X3dpdGhfbW9kZShyZXZzLCBvYmplY3QsIHJldnMtPmRlZiwgb2MubW9kZSk7CiAJfQogCkBAIC0yMzM1LDYgKzI0MzEsOCBAQAogCiAJaWYgKHJldnMtPnJldmVyc2UgJiYgcmV2cy0+cmVmbG9nX2luZm8pCiAJCWRpZSgiY2Fubm90IGNvbWJpbmUgLS1yZXZlcnNlIHdpdGggLS13YWxrLXJlZmxvZ3MiKTsKKwlpZiAocmV2cy0+cmVmbG9nX2luZm8gJiYgcmV2cy0+bGltaXRlZCkKKwkJZGllKCJjYW5ub3QgY29tYmluZSAtLXdhbGstcmVmbG9ncyB3aXRoIGhpc3RvcnktbGltaXRpbmcgb3B0aW9ucyIpOwogCWlmIChyZXZzLT5yZXdyaXRlX3BhcmVudHMgJiYgcmV2cy0+Y2hpbGRyZW4ubmFtZSkKIAkJZGllKCJjYW5ub3QgY29tYmluZSAtLXBhcmVudHMgYW5kIC0tY2hpbGRyZW4iKTsKIApAQCAtMjkwOCw3ICszMDA2LDcgQEAKIAlpZiAob3B0LT5zaG93X25vdGVzKSB7CiAJCWlmICghYnVmLmxlbikKIAkJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgbWVzc2FnZSk7Ci0JCWZvcm1hdF9kaXNwbGF5X25vdGVzKGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCAmYnVmLCBlbmNvZGluZywgMSk7CisJCWZvcm1hdF9kaXNwbGF5X25vdGVzKCZjb21taXQtPm9iamVjdC5vaWQsICZidWYsIGVuY29kaW5nLCAxKTsKIAl9CiAKIAkvKgpAQCAtMjkzNCw2ICszMDMyLDE4IEBACiAJcmV0dXJuIChyZXZzLT5yZXdyaXRlX3BhcmVudHMgfHwgcmV2cy0+Y2hpbGRyZW4ubmFtZSk7CiB9CiAKKy8qCisgKiBSZXR1cm4gYSB0aW1lc3RhbXAgdG8gYmUgdXNlZCBmb3IgLS1zaW5jZS8tLXVudGlsIGNvbXBhcmlzb25zIGZvciB0aGlzCisgKiBjb21taXQsIGJhc2VkIG9uIHRoZSByZXZpc2lvbiBvcHRpb25zLgorICovCitzdGF0aWMgdGltZXN0YW1wX3QgY29tcGFyaXNvbl9kYXRlKGNvbnN0IHN0cnVjdCByZXZfaW5mbyAqcmV2cywKKwkJCQkgICBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCit7CisJcmV0dXJuIHJldnMtPnJlZmxvZ19pbmZvID8KKwkJZ2V0X3JlZmxvZ190aW1lc3RhbXAocmV2cy0+cmVmbG9nX2luZm8pIDoKKwkJY29tbWl0LT5kYXRlOworfQorCiBlbnVtIGNvbW1pdF9hY3Rpb24gZ2V0X2NvbW1pdF9hY3Rpb24oc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7CiAJaWYgKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgU0hPV04pCkBAIC0yOTQ0LDggKzMwNTQsOSBAQAogCQlyZXR1cm4gY29tbWl0X3Nob3c7CiAJaWYgKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykKIAkJcmV0dXJuIGNvbW1pdF9pZ25vcmU7Ci0JaWYgKHJldnMtPm1pbl9hZ2UgIT0gLTEgJiYgKGNvbW1pdC0+ZGF0ZSA+IHJldnMtPm1pbl9hZ2UpKQotCQlyZXR1cm4gY29tbWl0X2lnbm9yZTsKKwlpZiAocmV2cy0+bWluX2FnZSAhPSAtMSAmJgorCSAgICBjb21wYXJpc29uX2RhdGUocmV2cywgY29tbWl0KSA+IHJldnMtPm1pbl9hZ2UpCisJCQlyZXR1cm4gY29tbWl0X2lnbm9yZTsKIAlpZiAocmV2cy0+bWluX3BhcmVudHMgfHwgKHJldnMtPm1heF9wYXJlbnRzID49IDApKSB7CiAJCWludCBuID0gY29tbWl0X2xpc3RfY291bnQoY29tbWl0LT5wYXJlbnRzKTsKIAkJaWYgKChuIDwgcmV2cy0+bWluX3BhcmVudHMpIHx8CkBAIC0zMDc4LDE3ICszMTg5LDE5IEBACiAKIHN0YXRpYyBzdHJ1Y3QgY29tbWl0ICpnZXRfcmV2aXNpb25fMShzdHJ1Y3QgcmV2X2luZm8gKnJldnMpCiB7Ci0JaWYgKCFyZXZzLT5jb21taXRzKQotCQlyZXR1cm4gTlVMTDsKKwl3aGlsZSAoMSkgeworCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAKLQlkbyB7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IHBvcF9jb21taXQoJnJldnMtPmNvbW1pdHMpOworCQlpZiAocmV2cy0+cmVmbG9nX2luZm8pCisJCQljb21taXQgPSBuZXh0X3JlZmxvZ19lbnRyeShyZXZzLT5yZWZsb2dfaW5mbyk7CisJCWVsc2UKKwkJCWNvbW1pdCA9IHBvcF9jb21taXQoJnJldnMtPmNvbW1pdHMpOwogCi0JCWlmIChyZXZzLT5yZWZsb2dfaW5mbykgewotCQkJc2F2ZV9wYXJlbnRzKHJldnMsIGNvbW1pdCk7Ci0JCQlmYWtlX3JlZmxvZ19wYXJlbnQocmV2cy0+cmVmbG9nX2luZm8sIGNvbW1pdCk7CisJCWlmICghY29tbWl0KQorCQkJcmV0dXJuIE5VTEw7CisKKwkJaWYgKHJldnMtPnJlZmxvZ19pbmZvKQogCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgJj0gfihBRERFRCB8IFNFRU4gfCBTSE9XTik7Ci0JCX0KIAogCQkvKgogCQkgKiBJZiB3ZSBoYXZlbid0IGRvbmUgdGhlIGxpc3QgbGltaXRpbmcsIHdlIG5lZWQgdG8gbG9vayBhdApAQCAtMzA5Nyw5ICszMjEwLDEyIEBACiAJCSAqLwogCQlpZiAoIXJldnMtPmxpbWl0ZWQpIHsKIAkJCWlmIChyZXZzLT5tYXhfYWdlICE9IC0xICYmCi0JCQkgICAgKGNvbW1pdC0+ZGF0ZSA8IHJldnMtPm1heF9hZ2UpKQorCQkJICAgIGNvbXBhcmlzb25fZGF0ZShyZXZzLCBjb21taXQpIDwgcmV2cy0+bWF4X2FnZSkKIAkJCQljb250aW51ZTsKLQkJCWlmIChhZGRfcGFyZW50c190b19saXN0KHJldnMsIGNvbW1pdCwgJnJldnMtPmNvbW1pdHMsIE5VTEwpIDwgMCkgeworCisJCQlpZiAocmV2cy0+cmVmbG9nX2luZm8pCisJCQkJdHJ5X3RvX3NpbXBsaWZ5X2NvbW1pdChyZXZzLCBjb21taXQpOworCQkJZWxzZSBpZiAoYWRkX3BhcmVudHNfdG9fbGlzdChyZXZzLCBjb21taXQsICZyZXZzLT5jb21taXRzLCBOVUxMKSA8IDApIHsKIAkJCQlpZiAoIXJldnMtPmlnbm9yZV9taXNzaW5nX2xpbmtzKQogCQkJCQlkaWUoIkZhaWxlZCB0byB0cmF2ZXJzZSBwYXJlbnRzIG9mIGNvbW1pdCAlcyIsCiAJCQkJCQlvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKQEAgLTMxMTcsOCArMzIzMyw3IEBACiAJCQkJdHJhY2tfbGluZWFyKHJldnMsIGNvbW1pdCk7CiAJCQlyZXR1cm4gY29tbWl0OwogCQl9Ci0JfSB3aGlsZSAocmV2cy0+Y29tbWl0cyk7Ci0JcmV0dXJuIE5VTEw7CisJfQogfQogCiAvKgpkaWZmIC0tZ2l0IGEvcmV2aXNpb24uaCBiL3JldmlzaW9uLmgKaW5kZXggMTQ4ODZlYy4uNTQ3NjEyMCAxMDA2NDQKLS0tIGEvcmV2aXNpb24uaAorKysgYi9yZXZpc2lvbi5oCkBAIC03MSwxMSArNzEsMTkgQEAKIAljb25zdCBjaGFyICpkZWY7CiAJc3RydWN0IHBhdGhzcGVjIHBydW5lX2RhdGE7CiAKKwkvKgorCSAqIFdoZXRoZXIgdGhlIGFyZ3VtZW50cyBwYXJzZWQgYnkgc2V0dXBfcmV2aXNpb25zKCkgaW5jbHVkZWQgYW55CisJICogImlucHV0IiByZXZpc2lvbnMgdGhhdCBtaWdodCBzdGlsbCBoYXZlIHlpZWxkZWQgYW4gZW1wdHkgcGVuZGluZworCSAqIGxpc3QgKGUuZy4sIHBhdHRlcm5zIGxpa2UgIi0tYWxsIiBvciAiLS1nbG9iIikuCisJICovCisJaW50IHJldl9pbnB1dF9naXZlbjsKKwogCS8qIHRvcG8tc29ydCAqLwogCWVudW0gcmV2X3NvcnRfb3JkZXIgc29ydF9vcmRlcjsKIAotCXVuc2lnbmVkIGludAllYXJseV9vdXRwdXQ6MSwKLQkJCWlnbm9yZV9taXNzaW5nOjEsCisJdW5zaWduZWQgaW50IGVhcmx5X291dHB1dDsKKworCXVuc2lnbmVkIGludAlpZ25vcmVfbWlzc2luZzoxLAogCQkJaWdub3JlX21pc3NpbmdfbGlua3M6MTsKIAogCS8qIFRyYXZlcnNhbCBmbGFncyAqLwpAQCAtODgsNiArOTYsNyBAQAogCQkJdG9wb19vcmRlcjoxLAogCQkJc2ltcGxpZnlfbWVyZ2VzOjEsCiAJCQlzaW1wbGlmeV9ieV9kZWNvcmF0aW9uOjEsCisJCQlzaW5nbGVfd29ya3RyZWU6MSwKIAkJCXRhZ19vYmplY3RzOjEsCiAJCQl0cmVlX29iamVjdHM6MSwKIAkJCWJsb2Jfb2JqZWN0czoxLApAQCAtMTQxLDYgKzE1MCwxNyBAQAogCQkJZGF0ZV9tb2RlX2V4cGxpY2l0OjEsCiAJCQlwcmVzZXJ2ZV9zdWJqZWN0OjE7CiAJdW5zaWduZWQgaW50CWRpc2FibGVfc3RkaW46MTsKKwkvKgorCSAqIFNldCBgbGVha19wZW5kaW5nYCB0byBwcmV2ZW50IGBwcmVwYXJlX3JldmlzaW9uX3dhbGsoKWAgZnJvbSBjbGVhcmluZworCSAqIHRoZSBhcnJheSBvZiBwZW5kaW5nIG9iamVjdHMgKGBwZW5kaW5nYCkuIEl0IHdpbGwgc3RpbGwgZm9yZ2V0IGFib3V0CisJICogdGhlIGFycmF5IGFuZCBpdHMgZW50cmllcywgc28gdGhleSByZWFsbHkgYXJlIGxlYWtlZC4gVGhpcyBjYW4gYmUKKwkgKiB1c2VmdWwgaWYgdGhlIGBzdHJ1Y3Qgb2JqZWN0X2FycmF5YCBgcGVuZGluZ2AgaXMgY29waWVkIGJlZm9yZQorCSAqIGNhbGxpbmcgYHByZXBhcmVfcmV2aXNpb25fd2FsaygpYC4gQnkgc2V0dGluZyBgbGVha19wZW5kaW5nYCwgeW91CisJICogZWZmZWN0aXZlbHkgY2xhaW0gb3duZXJzaGlwIG9mIHRoZSBvbGQgYXJyYXksIHNvIHlvdSBzaG91bGQgbW9zdAorCSAqIGxpa2VseSBjYWxsIGBvYmplY3RfYXJyYXlfY2xlYXIoJnBlbmRpbmdfY29weSlgIG9uY2UgeW91IGFyZSBkb25lLgorCSAqIE9ic2VydmUgdGhhdCB0aGlzIGlzIGFib3V0IG93bmVyc2hpcCBvZiB0aGUgYXJyYXkgYW5kIGl0cyBlbnRyaWVzLAorCSAqIG5vdCB0aGUgY29tbWl0cyByZWZlcmVuY2VkIGJ5IHRob3NlIGVudHJpZXMuCisJICovCiAJdW5zaWduZWQgaW50CWxlYWtfcGVuZGluZzoxOwogCS8qIC0tc2hvdy1saW5lYXItYnJlYWsgKi8KIAl1bnNpZ25lZCBpbnQJdHJhY2tfbGluZWFyOjEsCkBAIC0xODEsOCArMjAxLDggQEAKIAkvKiBzcGVjaWFsIGxpbWl0cyAqLwogCWludCBza2lwX2NvdW50OwogCWludCBtYXhfY291bnQ7Ci0JdW5zaWduZWQgbG9uZyBtYXhfYWdlOwotCXVuc2lnbmVkIGxvbmcgbWluX2FnZTsKKwl0aW1lc3RhbXBfdCBtYXhfYWdlOworCXRpbWVzdGFtcF90IG1pbl9hZ2U7CiAJaW50IG1pbl9wYXJlbnRzOwogCWludCBtYXhfcGFyZW50czsKIAlpbnQgKCppbmNsdWRlX2NoZWNrKShzdHJ1Y3QgY29tbWl0ICosIHZvaWQgKik7CkBAIC0yNjMsOSArMjgzLDkgQEAKIAogZXh0ZXJuIHZvaWQgYWRkX3BlbmRpbmdfb2JqZWN0KHN0cnVjdCByZXZfaW5mbyAqcmV2cywKIAkJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUpOwotZXh0ZXJuIHZvaWQgYWRkX3BlbmRpbmdfc2hhMShzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCi0JCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkgICAgIHVuc2lnbmVkIGludCBmbGFncyk7CitleHRlcm4gdm9pZCBhZGRfcGVuZGluZ19vaWQoc3RydWN0IHJldl9pbmZvICpyZXZzLAorCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOwogCiBleHRlcm4gdm9pZCBhZGRfaGVhZF90b19wZW5kaW5nKHN0cnVjdCByZXZfaW5mbyAqKTsKIGV4dGVybiB2b2lkIGFkZF9yZWZsb2dzX3RvX3BlbmRpbmcoc3RydWN0IHJldl9pbmZvICosIHVuc2lnbmVkIGludCBmbGFncyk7CmRpZmYgLS1naXQgYS9ydW4tY29tbWFuZC5jIGIvcnVuLWNvbW1hbmQuYwppbmRleCA1NzRiODFkLi4wMTRiMjE2IDEwMDY0NAotLS0gYS9ydW4tY29tbWFuZC5jCisrKyBiL3J1bi1jb21tYW5kLmMKQEAgLTExNywxOCArMTE3LDY1IEBACiAJY2xvc2UoZmRbMV0pOwogfQogCi0jaWZuZGVmIEdJVF9XSU5ET1dTX05BVElWRQotc3RhdGljIGlubGluZSB2b2lkIGR1cF9kZXZudWxsKGludCB0bykKK2ludCBpc19leGVjdXRhYmxlKGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0JaW50IGZkID0gb3BlbigiL2Rldi9udWxsIiwgT19SRFdSKTsKLQlpZiAoZmQgPCAwKQotCQlkaWVfZXJybm8oXygib3BlbiAvZGV2L251bGwgZmFpbGVkIikpOwotCWlmIChkdXAyKGZkLCB0bykgPCAwKQotCQlkaWVfZXJybm8oXygiZHVwMiglZCwlZCkgZmFpbGVkIiksIGZkLCB0byk7Ci0JY2xvc2UoZmQpOworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKHN0YXQobmFtZSwgJnN0KSB8fCAvKiBzdGF0LCBub3QgbHN0YXQgKi8KKwkgICAgIVNfSVNSRUcoc3Quc3RfbW9kZSkpCisJCXJldHVybiAwOworCisjaWYgZGVmaW5lZChHSVRfV0lORE9XU19OQVRJVkUpCisJLyoKKwkgKiBPbiBXaW5kb3dzIHRoZXJlIGlzIG5vIGV4ZWN1dGFibGUgYml0LiBUaGUgZmlsZSBleHRlbnNpb24KKwkgKiBpbmRpY2F0ZXMgd2hldGhlciBpdCBjYW4gYmUgcnVuIGFzIGFuIGV4ZWN1dGFibGUsIGFuZCBHaXQKKwkgKiBoYXMgc3BlY2lhbC1oYW5kbGluZyB0byBkZXRlY3Qgc2NyaXB0cyBhbmQgbGF1bmNoIHRoZW0KKwkgKiB0aHJvdWdoIHRoZSBpbmRpY2F0ZWQgc2NyaXB0IGludGVycHJldGVyLiBXZSB0ZXN0IGZvciB0aGUKKwkgKiBmaWxlIGV4dGVuc2lvbiBmaXJzdCBiZWNhdXNlIHZpcnVzIHNjYW5uZXJzIG1heSBtYWtlCisJICogaXQgcXVpdGUgZXhwZW5zaXZlIHRvIG9wZW4gbWFueSBmaWxlcy4KKwkgKi8KKwlpZiAoZW5kc193aXRoKG5hbWUsICIuZXhlIikpCisJCXJldHVybiBTX0lYVVNSOworCit7CisJLyoKKwkgKiBOb3cgdGhhdCB3ZSBrbm93IGl0IGRvZXMgbm90IGhhdmUgYW4gZXhlY3V0YWJsZSBleHRlbnNpb24sCisJICogcGVlayBpbnRvIHRoZSBmaWxlIGluc3RlYWQuCisJICovCisJY2hhciBidWZbM10gPSB7IDAgfTsKKwlpbnQgbjsKKwlpbnQgZmQgPSBvcGVuKG5hbWUsIE9fUkRPTkxZKTsKKwlzdC5zdF9tb2RlICY9IH5TX0lYVVNSOworCWlmIChmZCA+PSAwKSB7CisJCW4gPSByZWFkKGZkLCBidWYsIDIpOworCQlpZiAobiA9PSAyKQorCQkJLyogbG9vayBmb3IgYSBzaGUtYmFuZyAqLworCQkJaWYgKCFzdHJjbXAoYnVmLCAiIyEiKSkKKwkJCQlzdC5zdF9tb2RlIHw9IFNfSVhVU1I7CisJCWNsb3NlKGZkKTsKKwl9CiB9CiAjZW5kaWYKKwlyZXR1cm4gc3Quc3RfbW9kZSAmIFNfSVhVU1I7Cit9CiAKKy8qCisgKiBTZWFyY2ggJFBBVEggZm9yIGEgY29tbWFuZC4gIFRoaXMgZW11bGF0ZXMgdGhlIHBhdGggc2VhcmNoIHRoYXQKKyAqIGV4ZWN2cCB3b3VsZCBwZXJmb3JtLCB3aXRob3V0IGFjdHVhbGx5IGV4ZWN1dGluZyB0aGUgY29tbWFuZCBzbyBpdAorICogY2FuIGJlIHVzZWQgYmVmb3JlIGZvcmsoKSB0byBwcmVwYXJlIHRvIHJ1biBhIGNvbW1hbmQgdXNpbmcKKyAqIGV4ZWN2ZSgpIG9yIGFmdGVyIGV4ZWN2cCgpIHRvIGRpYWdub3NlIHdoeSBpdCBmYWlsZWQuCisgKgorICogVGhlIGNhbGxlciBzaG91bGQgZW5zdXJlIHRoYXQgZmlsZSBjb250YWlucyBubyBkaXJlY3RvcnkKKyAqIHNlcGFyYXRvcnMuCisgKgorICogUmV0dXJucyB0aGUgcGF0aCB0byB0aGUgY29tbWFuZCwgYXMgZm91bmQgaW4gJFBBVEggb3IgTlVMTCBpZiB0aGUKKyAqIGNvbW1hbmQgY291bGQgbm90IGJlIGZvdW5kLiAgVGhlIGNhbGxlciBpbmhlcml0cyBvd25lcnNoaXAgb2YgdGhlIG1lbW9yeQorICogdXNlZCB0byBzdG9yZSB0aGUgcmVzdWx0YW50IHBhdGguCisgKgorICogVGhpcyBzaG91bGQgbm90IGJlIHVzZWQgb24gV2luZG93cywgd2hlcmUgdGhlICRQQVRIIHNlYXJjaCBydWxlcworICogYXJlIG1vcmUgY29tcGxpY2F0ZWQgKGUuZy4sIGEgc2VhcmNoIGZvciAiZm9vIiBzaG91bGQgZmluZAorICogImZvby5leGUiKS4KKyAqLwogc3RhdGljIGNoYXIgKmxvY2F0ZV9pbl9QQVRIKGNvbnN0IGNoYXIgKmZpbGUpCiB7CiAJY29uc3QgY2hhciAqcCA9IGdldGVudigiUEFUSCIpOwpAQCAtMTQ5LDcgKzE5Niw3IEBACiAJCX0KIAkJc3RyYnVmX2FkZHN0cigmYnVmLCBmaWxlKTsKIAotCQlpZiAoIWFjY2VzcyhidWYuYnVmLCBGX09LKSkKKwkJaWYgKGlzX2V4ZWN1dGFibGUoYnVmLmJ1ZikpCiAJCQlyZXR1cm4gc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKTsKIAogCQlpZiAoISplbmQpCkBAIC0yMjEsMzEgKzI2OCwyNDggQEAKIH0KIAogI2lmbmRlZiBHSVRfV0lORE9XU19OQVRJVkUKLXN0YXRpYyBpbnQgZXhlY3Zfc2hlbGxfY21kKGNvbnN0IGNoYXIgKiphcmd2KQotewotCXN0cnVjdCBhcmd2X2FycmF5IG5hcmd2ID0gQVJHVl9BUlJBWV9JTklUOwotCXByZXBhcmVfc2hlbGxfY21kKCZuYXJndiwgYXJndik7Ci0JdHJhY2VfYXJndl9wcmludGYobmFyZ3YuYXJndiwgInRyYWNlOiBleGVjOiIpOwotCXNhbmVfZXhlY3ZwKG5hcmd2LmFyZ3ZbMF0sIChjaGFyICoqKW5hcmd2LmFyZ3YpOwotCWFyZ3ZfYXJyYXlfY2xlYXIoJm5hcmd2KTsKLQlyZXR1cm4gLTE7Ci19Ci0jZW5kaWYKLQotI2lmbmRlZiBHSVRfV0lORE9XU19OQVRJVkUKIHN0YXRpYyBpbnQgY2hpbGRfbm90aWZpZXIgPSAtMTsKIAotc3RhdGljIHZvaWQgbm90aWZ5X3BhcmVudCh2b2lkKQorZW51bSBjaGlsZF9lcnJjb2RlIHsKKwlDSElMRF9FUlJfQ0hESVIsCisJQ0hJTERfRVJSX0RVUDIsCisJQ0hJTERfRVJSX0NMT1NFLAorCUNISUxEX0VSUl9TSUdQUk9DTUFTSywKKwlDSElMRF9FUlJfRU5PRU5ULAorCUNISUxEX0VSUl9TSUxFTlQsCisJQ0hJTERfRVJSX0VSUk5PCit9OworCitzdHJ1Y3QgY2hpbGRfZXJyIHsKKwllbnVtIGNoaWxkX2VycmNvZGUgZXJyOworCWludCBzeXNlcnI7IC8qIGVycm5vICovCit9OworCitzdGF0aWMgdm9pZCBjaGlsZF9kaWUoZW51bSBjaGlsZF9lcnJjb2RlIGVycikKIHsKKwlzdHJ1Y3QgY2hpbGRfZXJyIGJ1ZjsKKworCWJ1Zi5lcnIgPSBlcnI7CisJYnVmLnN5c2VyciA9IGVycm5vOworCisJLyogd3JpdGUoMikgb24gYnVmIHNtYWxsZXIgdGhhbiBQSVBFX0JVRiAobWluIDUxMikgaXMgYXRvbWljOiAqLworCXh3cml0ZShjaGlsZF9ub3RpZmllciwgJmJ1Ziwgc2l6ZW9mKGJ1ZikpOworCV9leGl0KDEpOworfQorCitzdGF0aWMgdm9pZCBjaGlsZF9kdXAyKGludCBmZCwgaW50IHRvKQoreworCWlmIChkdXAyKGZkLCB0bykgPCAwKQorCQljaGlsZF9kaWUoQ0hJTERfRVJSX0RVUDIpOworfQorCitzdGF0aWMgdm9pZCBjaGlsZF9jbG9zZShpbnQgZmQpCit7CisJaWYgKGNsb3NlKGZkKSkKKwkJY2hpbGRfZGllKENISUxEX0VSUl9DTE9TRSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoaWxkX2Nsb3NlX3BhaXIoaW50IGZkWzJdKQoreworCWNoaWxkX2Nsb3NlKGZkWzBdKTsKKwljaGlsZF9jbG9zZShmZFsxXSk7Cit9CisKKy8qCisgKiBwYXJlbnQgd2lsbCBtYWtlIGl0IGxvb2sgbGlrZSB0aGUgY2hpbGQgc3Bld2VkIGEgZmF0YWwgZXJyb3IgYW5kIGRpZWQKKyAqIHRoaXMgaXMgbmVlZGVkIHRvIHByZXZlbnQgY2hhbmdlcyB0byB0MDA2MS4KKyAqLworc3RhdGljIHZvaWQgZmFrZV9mYXRhbChjb25zdCBjaGFyICplcnIsIHZhX2xpc3QgcGFyYW1zKQoreworCXZyZXBvcnRmKCJmYXRhbDogIiwgZXJyLCBwYXJhbXMpOworfQorCitzdGF0aWMgdm9pZCBjaGlsZF9lcnJvcl9mbihjb25zdCBjaGFyICplcnIsIHZhX2xpc3QgcGFyYW1zKQoreworCWNvbnN0IGNoYXIgbXNnW10gPSAiZXJyb3IoKSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjaGlsZFxuIjsKKwl4d3JpdGUoMiwgbXNnLCBzaXplb2YobXNnKSAtIDEpOworfQorCitzdGF0aWMgdm9pZCBjaGlsZF93YXJuX2ZuKGNvbnN0IGNoYXIgKmVyciwgdmFfbGlzdCBwYXJhbXMpCit7CisJY29uc3QgY2hhciBtc2dbXSA9ICJ3YXJuKCkgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2hpbGRcbiI7CisJeHdyaXRlKDIsIG1zZywgc2l6ZW9mKG1zZykgLSAxKTsKK30KKworc3RhdGljIHZvaWQgTk9SRVRVUk4gY2hpbGRfZGllX2ZuKGNvbnN0IGNoYXIgKmVyciwgdmFfbGlzdCBwYXJhbXMpCit7CisJY29uc3QgY2hhciBtc2dbXSA9ICJkaWUoKSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjaGlsZFxuIjsKKwl4d3JpdGUoMiwgbXNnLCBzaXplb2YobXNnKSAtIDEpOworCV9leGl0KDIpOworfQorCisvKiB0aGlzIHJ1bnMgaW4gdGhlIHBhcmVudCBwcm9jZXNzICovCitzdGF0aWMgdm9pZCBjaGlsZF9lcnJfc3BldyhzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kLCBzdHJ1Y3QgY2hpbGRfZXJyICpjZXJyKQoreworCXN0YXRpYyB2b2lkICgqb2xkX2VycmZuKShjb25zdCBjaGFyICplcnIsIHZhX2xpc3QgcGFyYW1zKTsKKworCW9sZF9lcnJmbiA9IGdldF9lcnJvcl9yb3V0aW5lKCk7CisJc2V0X2Vycm9yX3JvdXRpbmUoZmFrZV9mYXRhbCk7CisJZXJybm8gPSBjZXJyLT5zeXNlcnI7CisKKwlzd2l0Y2ggKGNlcnItPmVycikgeworCWNhc2UgQ0hJTERfRVJSX0NIRElSOgorCQllcnJvcl9lcnJubygiZXhlYyAnJXMnOiBjZCB0byAnJXMnIGZhaWxlZCIsCisJCQkgICAgY21kLT5hcmd2WzBdLCBjbWQtPmRpcik7CisJCWJyZWFrOworCWNhc2UgQ0hJTERfRVJSX0RVUDI6CisJCWVycm9yX2Vycm5vKCJkdXAyKCkgaW4gY2hpbGQgZmFpbGVkIik7CisJCWJyZWFrOworCWNhc2UgQ0hJTERfRVJSX0NMT1NFOgorCQllcnJvcl9lcnJubygiY2xvc2UoKSBpbiBjaGlsZCBmYWlsZWQiKTsKKwkJYnJlYWs7CisJY2FzZSBDSElMRF9FUlJfU0lHUFJPQ01BU0s6CisJCWVycm9yX2Vycm5vKCJzaWdwcm9jbWFzayBmYWlsZWQgcmVzdG9yaW5nIHNpZ25hbHMiKTsKKwkJYnJlYWs7CisJY2FzZSBDSElMRF9FUlJfRU5PRU5UOgorCQllcnJvcl9lcnJubygiY2Fubm90IHJ1biAlcyIsIGNtZC0+YXJndlswXSk7CisJCWJyZWFrOworCWNhc2UgQ0hJTERfRVJSX1NJTEVOVDoKKwkJYnJlYWs7CisJY2FzZSBDSElMRF9FUlJfRVJSTk86CisJCWVycm9yX2Vycm5vKCJjYW5ub3QgZXhlYyAnJXMnIiwgY21kLT5hcmd2WzBdKTsKKwkJYnJlYWs7CisJfQorCXNldF9lcnJvcl9yb3V0aW5lKG9sZF9lcnJmbik7Cit9CisKK3N0YXRpYyB2b2lkIHByZXBhcmVfY21kKHN0cnVjdCBhcmd2X2FycmF5ICpvdXQsIGNvbnN0IHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjbWQpCit7CisJaWYgKCFjbWQtPmFyZ3ZbMF0pCisJCWRpZSgiQlVHOiBjb21tYW5kIGlzIGVtcHR5Iik7CisKIAkvKgotCSAqIGV4ZWN2cCBmYWlsZWQuICBJZiBwb3NzaWJsZSwgd2UnZCBsaWtlIHRvIGxldCBzdGFydF9jb21tYW5kCi0JICoga25vdywgc28gZmFpbHVyZXMgbGlrZSBFTk9FTlQgY2FuIGJlIGhhbmRsZWQgcmlnaHQgYXdheTsgYnV0Ci0JICogb3RoZXJ3aXNlLCBmaW5pc2hfY29tbWFuZCB3aWxsIHN0aWxsIHJlcG9ydCB0aGUgZXJyb3IuCisJICogQWRkIFNIRUxMX1BBVEggc28gaW4gdGhlIGV2ZW50IGV4ZWMgZmFpbHMgd2l0aCBFTk9FWEVDIHdlIGNhbgorCSAqIGF0dGVtcHQgdG8gaW50ZXJwcmV0IHRoZSBjb21tYW5kIHdpdGggJ3NoJy4KIAkgKi8KLQl4d3JpdGUoY2hpbGRfbm90aWZpZXIsICIiLCAxKTsKKwlhcmd2X2FycmF5X3B1c2gob3V0LCBTSEVMTF9QQVRIKTsKKworCWlmIChjbWQtPmdpdF9jbWQpIHsKKwkJYXJndl9hcnJheV9wdXNoKG91dCwgImdpdCIpOworCQlhcmd2X2FycmF5X3B1c2h2KG91dCwgY21kLT5hcmd2KTsKKwl9IGVsc2UgaWYgKGNtZC0+dXNlX3NoZWxsKSB7CisJCXByZXBhcmVfc2hlbGxfY21kKG91dCwgY21kLT5hcmd2KTsKKwl9IGVsc2UgeworCQlhcmd2X2FycmF5X3B1c2h2KG91dCwgY21kLT5hcmd2KTsKKwl9CisKKwkvKgorCSAqIElmIHRoZXJlIGFyZSBubyAnLycgY2hhcmFjdGVycyBpbiB0aGUgY29tbWFuZCB0aGVuIHBlcmZvcm0gYSBwYXRoCisJICogbG9va3VwIGFuZCB1c2UgdGhlIHJlc29sdmVkIHBhdGggYXMgdGhlIGNvbW1hbmQgdG8gZXhlYy4gIElmIHRoZXJlCisJICogYXJlIG5vICcvJyBjaGFyYWN0ZXJzIG9yIGlmIHRoZSBjb21tYW5kIHdhc24ndCBmb3VuZCBpbiB0aGUgcGF0aCwKKwkgKiBoYXZlIGV4ZWMgYXR0ZW1wdCB0byBpbnZva2UgdGhlIGNvbW1hbmQgZGlyZWN0bHkuCisJICovCisJaWYgKCFzdHJjaHIob3V0LT5hcmd2WzFdLCAnLycpKSB7CisJCWNoYXIgKnByb2dyYW0gPSBsb2NhdGVfaW5fUEFUSChvdXQtPmFyZ3ZbMV0pOworCQlpZiAocHJvZ3JhbSkgeworCQkJZnJlZSgoY2hhciAqKW91dC0+YXJndlsxXSk7CisJCQlvdXQtPmFyZ3ZbMV0gPSBwcm9ncmFtOworCQl9CisJfQorfQorCitzdGF0aWMgY2hhciAqKnByZXBfY2hpbGRlbnYoY29uc3QgY2hhciAqY29uc3QgKmRlbHRhZW52KQoreworCWV4dGVybiBjaGFyICoqZW52aXJvbjsKKwljaGFyICoqY2hpbGRlbnY7CisJc3RydWN0IHN0cmluZ19saXN0IGVudiA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCXN0cnVjdCBzdHJidWYga2V5ID0gU1RSQlVGX0lOSVQ7CisJY29uc3QgY2hhciAqY29uc3QgKnA7CisJaW50IGk7CisKKwkvKiBDb25zdHJ1Y3QgYSBzb3J0ZWQgc3RyaW5nIGxpc3QgY29uc2lzdGluZyBvZiB0aGUgY3VycmVudCBlbnZpcm9uICovCisJZm9yIChwID0gKGNvbnN0IGNoYXIgKmNvbnN0ICopIGVudmlyb247IHAgJiYgKnA7IHArKykgeworCQljb25zdCBjaGFyICplcXVhbHMgPSBzdHJjaHIoKnAsICc9Jyk7CisKKwkJaWYgKGVxdWFscykgeworCQkJc3RyYnVmX3Jlc2V0KCZrZXkpOworCQkJc3RyYnVmX2FkZCgma2V5LCAqcCwgZXF1YWxzIC0gKnApOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZlbnYsIGtleS5idWYpLT51dGlsID0gKHZvaWQgKikgKnA7CisJCX0gZWxzZSB7CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmVudiwgKnApLT51dGlsID0gKHZvaWQgKikgKnA7CisJCX0KKwl9CisJc3RyaW5nX2xpc3Rfc29ydCgmZW52KTsKKworCS8qIE1lcmdlIGluICdkZWx0YWVudicgd2l0aCB0aGUgY3VycmVudCBlbnZpcm9uICovCisJZm9yIChwID0gZGVsdGFlbnY7IHAgJiYgKnA7IHArKykgeworCQljb25zdCBjaGFyICplcXVhbHMgPSBzdHJjaHIoKnAsICc9Jyk7CisKKwkJaWYgKGVxdWFscykgeworCQkJLyogKCdrZXk9dmFsdWUnKSwgaW5zZXJ0IG9yIHJlcGxhY2UgZW50cnkgKi8KKwkJCXN0cmJ1Zl9yZXNldCgma2V5KTsKKwkJCXN0cmJ1Zl9hZGQoJmtleSwgKnAsIGVxdWFscyAtICpwKTsKKwkJCXN0cmluZ19saXN0X2luc2VydCgmZW52LCBrZXkuYnVmKS0+dXRpbCA9ICh2b2lkICopICpwOworCQl9IGVsc2UgeworCQkJLyogb3RoZXJ3aXNlICgna2V5JykgcmVtb3ZlIGV4aXN0aW5nIGVudHJ5ICovCisJCQlzdHJpbmdfbGlzdF9yZW1vdmUoJmVudiwgKnAsIDApOworCQl9CisJfQorCisJLyogQ3JlYXRlIGFuIGFycmF5IG9mICdjaGFyIConIHRvIGJlIHVzZWQgYXMgdGhlIGNoaWxkZW52ICovCisJQUxMT0NfQVJSQVkoY2hpbGRlbnYsIGVudi5uciArIDEpOworCWZvciAoaSA9IDA7IGkgPCBlbnYubnI7IGkrKykKKwkJY2hpbGRlbnZbaV0gPSBlbnYuaXRlbXNbaV0udXRpbDsKKwljaGlsZGVudltlbnYubnJdID0gTlVMTDsKKworCXN0cmluZ19saXN0X2NsZWFyKCZlbnYsIDApOworCXN0cmJ1Zl9yZWxlYXNlKCZrZXkpOworCXJldHVybiBjaGlsZGVudjsKK30KKworc3RydWN0IGF0Zm9ya19zdGF0ZSB7CisjaWZuZGVmIE5PX1BUSFJFQURTCisJaW50IGNzOworI2VuZGlmCisJc2lnc2V0X3Qgb2xkOworfTsKKworI2lmbmRlZiBOT19QVEhSRUFEUworc3RhdGljIHZvaWQgYnVnX2RpZShpbnQgZXJyLCBjb25zdCBjaGFyICptc2cpCit7CisJaWYgKGVycikgeworCQllcnJubyA9IGVycjsKKwkJZGllX2Vycm5vKCJCVUc6ICVzIiwgbXNnKTsKKwl9CiB9CiAjZW5kaWYKIAorc3RhdGljIHZvaWQgYXRmb3JrX3ByZXBhcmUoc3RydWN0IGF0Zm9ya19zdGF0ZSAqYXMpCit7CisJc2lnc2V0X3QgYWxsOworCisJaWYgKHNpZ2ZpbGxzZXQoJmFsbCkpCisJCWRpZV9lcnJubygic2lnZmlsbHNldCIpOworI2lmZGVmIE5PX1BUSFJFQURTCisJaWYgKHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmYWxsLCAmYXMtPm9sZCkpCisJCWRpZV9lcnJubygic2lncHJvY21hc2siKTsKKyNlbHNlCisJYnVnX2RpZShwdGhyZWFkX3NpZ21hc2soU0lHX1NFVE1BU0ssICZhbGwsICZhcy0+b2xkKSwKKwkJImJsb2NraW5nIGFsbCBzaWduYWxzIik7CisJYnVnX2RpZShwdGhyZWFkX3NldGNhbmNlbHN0YXRlKFBUSFJFQURfQ0FOQ0VMX0RJU0FCTEUsICZhcy0+Y3MpLAorCQkiZGlzYWJsaW5nIGNhbmNlbGxhdGlvbiIpOworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIGF0Zm9ya19wYXJlbnQoc3RydWN0IGF0Zm9ya19zdGF0ZSAqYXMpCit7CisjaWZkZWYgTk9fUFRIUkVBRFMKKwlpZiAoc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZhcy0+b2xkLCBOVUxMKSkKKwkJZGllX2Vycm5vKCJzaWdwcm9jbWFzayIpOworI2Vsc2UKKwlidWdfZGllKHB0aHJlYWRfc2V0Y2FuY2Vsc3RhdGUoYXMtPmNzLCBOVUxMKSwKKwkJInJlLWVuYWJsaW5nIGNhbmNlbGxhdGlvbiIpOworCWJ1Z19kaWUocHRocmVhZF9zaWdtYXNrKFNJR19TRVRNQVNLLCAmYXMtPm9sZCwgTlVMTCksCisJCSJyZXN0b3Jpbmcgc2lnbmFsIG1hc2siKTsKKyNlbmRpZgorfQorI2VuZGlmIC8qIEdJVF9XSU5ET1dTX05BVElWRSAqLworCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X2Nsb2V4ZWMoaW50IGZkKQogewogCWludCBmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZEKTsKQEAgLTI4MSwxMyArNTQ1LDYgQEAKIAkJY29kZSArPSAxMjg7CiAJfSBlbHNlIGlmIChXSUZFWElURUQoc3RhdHVzKSkgewogCQljb2RlID0gV0VYSVRTVEFUVVMoc3RhdHVzKTsKLQkJLyoKLQkJICogQ29udmVydCBzcGVjaWFsIGV4aXQgY29kZSB3aGVuIGV4ZWN2cCBmYWlsZWQuCi0JCSAqLwotCQlpZiAoY29kZSA9PSAxMjcpIHsKLQkJCWNvZGUgPSAtMTsKLQkJCWZhaWxlZF9lcnJubyA9IEVOT0VOVDsKLQkJfQogCX0gZWxzZSB7CiAJCWVycm9yKCJ3YWl0cGlkIGlzIGNvbmZ1c2VkICglcykiLCBhcmd2MCk7CiAJfQpAQCAtMzcyLDEwOSArNjI5LDE0OSBAQAogI2lmbmRlZiBHSVRfV0lORE9XU19OQVRJVkUKIHsKIAlpbnQgbm90aWZ5X3BpcGVbMl07CisJaW50IG51bGxfZmQgPSAtMTsKKwljaGFyICoqY2hpbGRlbnY7CisJc3RydWN0IGFyZ3ZfYXJyYXkgYXJndiA9IEFSR1ZfQVJSQVlfSU5JVDsKKwlzdHJ1Y3QgY2hpbGRfZXJyIGNlcnI7CisJc3RydWN0IGF0Zm9ya19zdGF0ZSBhczsKKwogCWlmIChwaXBlKG5vdGlmeV9waXBlKSkKIAkJbm90aWZ5X3BpcGVbMF0gPSBub3RpZnlfcGlwZVsxXSA9IC0xOwogCisJaWYgKGNtZC0+bm9fc3RkaW4gfHwgY21kLT5ub19zdGRvdXQgfHwgY21kLT5ub19zdGRlcnIpIHsKKwkJbnVsbF9mZCA9IG9wZW4oIi9kZXYvbnVsbCIsIE9fUkRXUiB8IE9fQ0xPRVhFQyk7CisJCWlmIChudWxsX2ZkIDwgMCkKKwkJCWRpZV9lcnJubyhfKCJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiKSk7CisJCXNldF9jbG9leGVjKG51bGxfZmQpOworCX0KKworCXByZXBhcmVfY21kKCZhcmd2LCBjbWQpOworCWNoaWxkZW52ID0gcHJlcF9jaGlsZGVudihjbWQtPmVudik7CisJYXRmb3JrX3ByZXBhcmUoJmFzKTsKKworCS8qCisJICogTk9URTogSW4gb3JkZXIgdG8gcHJldmVudCBkZWFkbG9ja2luZyB3aGVuIHVzaW5nIHRocmVhZHMgc3BlY2lhbAorCSAqIGNhcmUgc2hvdWxkIGJlIHRha2VuIHdpdGggdGhlIGZ1bmN0aW9uIGNhbGxzIG1hZGUgaW4gYmV0d2VlbiB0aGUKKwkgKiBmb3JrKCkgYW5kIGV4ZWMoKSBjYWxscy4gIE5vIGNhbGxzIHNob3VsZCBiZSBtYWRlIHRvIGZ1bmN0aW9ucyB3aGljaAorCSAqIHJlcXVpcmUgYWNxdWlyaW5nIGEgbG9jayAoZS5nLiBtYWxsb2MpIGFzIHRoZSBsb2NrIGNvdWxkIGhhdmUgYmVlbgorCSAqIGhlbGQgYnkgYW5vdGhlciB0aHJlYWQgYXQgdGhlIHRpbWUgb2YgZm9ya2luZywgY2F1c2luZyB0aGUgbG9jayB0bworCSAqIG5ldmVyIGJlIHJlbGVhc2VkIGluIHRoZSBjaGlsZCBwcm9jZXNzLiAgVGhpcyBtZWFucyBvbmx5CisJICogQXN5bmMtU2lnbmFsLVNhZmUgZnVuY3Rpb25zIGFyZSBwZXJtaXR0ZWQgaW4gdGhlIGNoaWxkLgorCSAqLwogCWNtZC0+cGlkID0gZm9yaygpOwogCWZhaWxlZF9lcnJubyA9IGVycm5vOwogCWlmICghY21kLT5waWQpIHsKKwkJaW50IHNpZzsKIAkJLyoKLQkJICogUmVkaXJlY3QgdGhlIGNoYW5uZWwgdG8gd3JpdGUgc3lzY2FsbCBlcnJvciBtZXNzYWdlcyB0bwotCQkgKiBiZWZvcmUgcmVkaXJlY3RpbmcgdGhlIHByb2Nlc3MncyBzdGRlcnIgc28gdGhhdCBhbGwgZGllKCkKLQkJICogaW4gc3Vic2VxdWVudCBjYWxsIHBhdGhzIHVzZSB0aGUgcGFyZW50J3Mgc3RkZXJyLgorCQkgKiBFbnN1cmUgdGhlIGRlZmF1bHQgZGllL2Vycm9yL3dhcm4gcm91dGluZXMgZG8gbm90IGdldAorCQkgKiBjYWxsZWQsIHRoZXkgY2FuIHRha2Ugc3RkaW8gbG9ja3MgYW5kIG1hbGxvYy4KIAkJICovCi0JCWlmIChjbWQtPm5vX3N0ZGVyciB8fCBuZWVkX2VycikgewotCQkJaW50IGNoaWxkX2VyciA9IGR1cCgyKTsKLQkJCXNldF9jbG9leGVjKGNoaWxkX2Vycik7Ci0JCQlzZXRfZXJyb3JfaGFuZGxlKGZkb3BlbihjaGlsZF9lcnIsICJ3IikpOwotCQl9CisJCXNldF9kaWVfcm91dGluZShjaGlsZF9kaWVfZm4pOworCQlzZXRfZXJyb3Jfcm91dGluZShjaGlsZF9lcnJvcl9mbik7CisJCXNldF93YXJuX3JvdXRpbmUoY2hpbGRfd2Fybl9mbik7CiAKIAkJY2xvc2Uobm90aWZ5X3BpcGVbMF0pOwogCQlzZXRfY2xvZXhlYyhub3RpZnlfcGlwZVsxXSk7CiAJCWNoaWxkX25vdGlmaWVyID0gbm90aWZ5X3BpcGVbMV07Ci0JCWF0ZXhpdChub3RpZnlfcGFyZW50KTsKIAogCQlpZiAoY21kLT5ub19zdGRpbikKLQkJCWR1cF9kZXZudWxsKDApOworCQkJY2hpbGRfZHVwMihudWxsX2ZkLCAwKTsKIAkJZWxzZSBpZiAobmVlZF9pbikgewotCQkJZHVwMihmZGluWzBdLCAwKTsKLQkJCWNsb3NlX3BhaXIoZmRpbik7CisJCQljaGlsZF9kdXAyKGZkaW5bMF0sIDApOworCQkJY2hpbGRfY2xvc2VfcGFpcihmZGluKTsKIAkJfSBlbHNlIGlmIChjbWQtPmluKSB7Ci0JCQlkdXAyKGNtZC0+aW4sIDApOwotCQkJY2xvc2UoY21kLT5pbik7CisJCQljaGlsZF9kdXAyKGNtZC0+aW4sIDApOworCQkJY2hpbGRfY2xvc2UoY21kLT5pbik7CiAJCX0KIAogCQlpZiAoY21kLT5ub19zdGRlcnIpCi0JCQlkdXBfZGV2bnVsbCgyKTsKKwkJCWNoaWxkX2R1cDIobnVsbF9mZCwgMik7CiAJCWVsc2UgaWYgKG5lZWRfZXJyKSB7Ci0JCQlkdXAyKGZkZXJyWzFdLCAyKTsKLQkJCWNsb3NlX3BhaXIoZmRlcnIpOworCQkJY2hpbGRfZHVwMihmZGVyclsxXSwgMik7CisJCQljaGlsZF9jbG9zZV9wYWlyKGZkZXJyKTsKIAkJfSBlbHNlIGlmIChjbWQtPmVyciA+IDEpIHsKLQkJCWR1cDIoY21kLT5lcnIsIDIpOwotCQkJY2xvc2UoY21kLT5lcnIpOworCQkJY2hpbGRfZHVwMihjbWQtPmVyciwgMik7CisJCQljaGlsZF9jbG9zZShjbWQtPmVycik7CiAJCX0KIAogCQlpZiAoY21kLT5ub19zdGRvdXQpCi0JCQlkdXBfZGV2bnVsbCgxKTsKKwkJCWNoaWxkX2R1cDIobnVsbF9mZCwgMSk7CiAJCWVsc2UgaWYgKGNtZC0+c3Rkb3V0X3RvX3N0ZGVycikKLQkJCWR1cDIoMiwgMSk7CisJCQljaGlsZF9kdXAyKDIsIDEpOwogCQllbHNlIGlmIChuZWVkX291dCkgewotCQkJZHVwMihmZG91dFsxXSwgMSk7Ci0JCQljbG9zZV9wYWlyKGZkb3V0KTsKKwkJCWNoaWxkX2R1cDIoZmRvdXRbMV0sIDEpOworCQkJY2hpbGRfY2xvc2VfcGFpcihmZG91dCk7CiAJCX0gZWxzZSBpZiAoY21kLT5vdXQgPiAxKSB7Ci0JCQlkdXAyKGNtZC0+b3V0LCAxKTsKLQkJCWNsb3NlKGNtZC0+b3V0KTsKKwkJCWNoaWxkX2R1cDIoY21kLT5vdXQsIDEpOworCQkJY2hpbGRfY2xvc2UoY21kLT5vdXQpOwogCQl9CiAKIAkJaWYgKGNtZC0+ZGlyICYmIGNoZGlyKGNtZC0+ZGlyKSkKLQkJCWRpZV9lcnJubygiZXhlYyAnJXMnOiBjZCB0byAnJXMnIGZhaWxlZCIsIGNtZC0+YXJndlswXSwKLQkJCSAgICBjbWQtPmRpcik7Ci0JCWlmIChjbWQtPmVudikgewotCQkJZm9yICg7ICpjbWQtPmVudjsgY21kLT5lbnYrKykgewotCQkJCWlmIChzdHJjaHIoKmNtZC0+ZW52LCAnPScpKQotCQkJCQlwdXRlbnYoKGNoYXIgKikqY21kLT5lbnYpOwotCQkJCWVsc2UKLQkJCQkJdW5zZXRlbnYoKmNtZC0+ZW52KTsKLQkJCX0KKwkJCWNoaWxkX2RpZShDSElMRF9FUlJfQ0hESVIpOworCisJCS8qCisJCSAqIHJlc3RvcmUgZGVmYXVsdCBzaWduYWwgaGFuZGxlcnMgaGVyZSwgaW4gY2FzZQorCQkgKiB3ZSBjYXRjaCBhIHNpZ25hbCByaWdodCBiZWZvcmUgZXhlY3ZlIGJlbG93CisJCSAqLworCQlmb3IgKHNpZyA9IDE7IHNpZyA8IE5TSUc7IHNpZysrKSB7CisJCQkvKiBpZ25vcmVkIHNpZ25hbHMgZ2V0IHJlc2V0IHRvIFNJR19ERkwgb24gZXhlY3ZlICovCisJCQlpZiAoc2lnbmFsKHNpZywgU0lHX0RGTCkgPT0gU0lHX0lHTikKKwkJCQlzaWduYWwoc2lnLCBTSUdfSUdOKTsKIAkJfQotCQlpZiAoY21kLT5naXRfY21kKQotCQkJZXhlY3ZfZ2l0X2NtZChjbWQtPmFyZ3YpOwotCQllbHNlIGlmIChjbWQtPnVzZV9zaGVsbCkKLQkJCWV4ZWN2X3NoZWxsX2NtZChjbWQtPmFyZ3YpOwotCQllbHNlCi0JCQlzYW5lX2V4ZWN2cChjbWQtPmFyZ3ZbMF0sIChjaGFyICpjb25zdCopIGNtZC0+YXJndik7CisKKwkJaWYgKHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmYXMub2xkLCBOVUxMKSAhPSAwKQorCQkJY2hpbGRfZGllKENISUxEX0VSUl9TSUdQUk9DTUFTSyk7CisKKwkJLyoKKwkJICogQXR0ZW1wdCB0byBleGVjIHVzaW5nIHRoZSBjb21tYW5kIGFuZCBhcmd1bWVudHMgc3RhcnRpbmcgYXQKKwkJICogYXJndi5hcmd2WzFdLiAgYXJndi5hcmd2WzBdIGNvbnRhaW5zIFNIRUxMX1BBVEggd2hpY2ggd2lsbAorCQkgKiBiZSB1c2VkIGluIHRoZSBldmVudCBleGVjIGZhaWxlZCB3aXRoIEVOT0VYRUMgYXQgd2hpY2ggcG9pbnQKKwkJICogd2Ugd2lsbCB0cnkgdG8gaW50ZXJwcmV0IHRoZSBjb21tYW5kIHVzaW5nICdzaCcuCisJCSAqLworCQlleGVjdmUoYXJndi5hcmd2WzFdLCAoY2hhciAqY29uc3QgKikgYXJndi5hcmd2ICsgMSwKKwkJICAgICAgIChjaGFyICpjb25zdCAqKSBjaGlsZGVudik7CisJCWlmIChlcnJubyA9PSBFTk9FWEVDKQorCQkJZXhlY3ZlKGFyZ3YuYXJndlswXSwgKGNoYXIgKmNvbnN0ICopIGFyZ3YuYXJndiwKKwkJCSAgICAgICAoY2hhciAqY29uc3QgKikgY2hpbGRlbnYpOworCiAJCWlmIChlcnJubyA9PSBFTk9FTlQpIHsKLQkJCWlmICghY21kLT5zaWxlbnRfZXhlY19mYWlsdXJlKQotCQkJCWVycm9yKCJjYW5ub3QgcnVuICVzOiAlcyIsIGNtZC0+YXJndlswXSwKLQkJCQkJc3RyZXJyb3IoRU5PRU5UKSk7Ci0JCQlleGl0KDEyNyk7CisJCQlpZiAoY21kLT5zaWxlbnRfZXhlY19mYWlsdXJlKQorCQkJCWNoaWxkX2RpZShDSElMRF9FUlJfU0lMRU5UKTsKKwkJCWNoaWxkX2RpZShDSElMRF9FUlJfRU5PRU5UKTsKIAkJfSBlbHNlIHsKLQkJCWRpZV9lcnJubygiY2Fubm90IGV4ZWMgJyVzJyIsIGNtZC0+YXJndlswXSk7CisJCQljaGlsZF9kaWUoQ0hJTERfRVJSX0VSUk5PKTsKIAkJfQogCX0KKwlhdGZvcmtfcGFyZW50KCZhcyk7CiAJaWYgKGNtZC0+cGlkIDwgMCkKIAkJZXJyb3JfZXJybm8oImNhbm5vdCBmb3JrKCkgZm9yICVzIiwgY21kLT5hcmd2WzBdKTsKIAllbHNlIGlmIChjbWQtPmNsZWFuX29uX2V4aXQpCiAJCW1hcmtfY2hpbGRfZm9yX2NsZWFudXAoY21kLT5waWQsIGNtZCk7CiAKIAkvKgotCSAqIFdhaXQgZm9yIGNoaWxkJ3MgZXhlY3ZwLiBJZiB0aGUgZXhlY3ZwIHN1Y2NlZWRzIChvciBpZiBmb3JrKCkKKwkgKiBXYWl0IGZvciBjaGlsZCdzIGV4ZWMuIElmIHRoZSBleGVjIHN1Y2NlZWRzIChvciBpZiBmb3JrKCkKIAkgKiBmYWlsZWQpLCBFT0YgaXMgc2VlbiBpbW1lZGlhdGVseSBieSB0aGUgcGFyZW50LiBPdGhlcndpc2UsIHRoZQotCSAqIGNoaWxkIHByb2Nlc3Mgc2VuZHMgYSBzaW5nbGUgYnl0ZS4KKwkgKiBjaGlsZCBwcm9jZXNzIHNlbmRzIGEgY2hpbGRfZXJyIHN0cnVjdC4KIAkgKiBOb3RlIHRoYXQgdXNlIG9mIHRoaXMgaW5mcmFzdHJ1Y3R1cmUgaXMgY29tcGxldGVseSBhZHZpc29yeSwKIAkgKiB0aGVyZWZvcmUsIHdlIGtlZXAgZXJyb3IgY2hlY2tzIG1pbmltYWwuCiAJICovCiAJY2xvc2Uobm90aWZ5X3BpcGVbMV0pOwotCWlmIChyZWFkKG5vdGlmeV9waXBlWzBdLCAmbm90aWZ5X3BpcGVbMV0sIDEpID09IDEpIHsKKwlpZiAoeHJlYWQobm90aWZ5X3BpcGVbMF0sICZjZXJyLCBzaXplb2YoY2VycikpID09IHNpemVvZihjZXJyKSkgewogCQkvKgotCQkgKiBBdCB0aGlzIHBvaW50IHdlIGtub3cgdGhhdCBmb3JrKCkgc3VjY2VlZGVkLCBidXQgZXhlY3ZwKCkKKwkJICogQXQgdGhpcyBwb2ludCB3ZSBrbm93IHRoYXQgZm9yaygpIHN1Y2NlZWRlZCwgYnV0IGV4ZWMoKQogCQkgKiBmYWlsZWQuIEVycm9ycyBoYXZlIGJlZW4gcmVwb3J0ZWQgdG8gb3VyIHN0ZGVyci4KIAkJICovCiAJCXdhaXRfb3Jfd2hpbmUoY21kLT5waWQsIGNtZC0+YXJndlswXSwgMCk7CisJCWNoaWxkX2Vycl9zcGV3KGNtZCwgJmNlcnIpOwogCQlmYWlsZWRfZXJybm8gPSBlcnJubzsKIAkJY21kLT5waWQgPSAtMTsKIAl9CiAJY2xvc2Uobm90aWZ5X3BpcGVbMF0pOworCisJaWYgKG51bGxfZmQgPj0gMCkKKwkJY2xvc2UobnVsbF9mZCk7CisJYXJndl9hcnJheV9jbGVhcigmYXJndik7CisJZnJlZShjaGlsZGVudik7CiB9CiAjZWxzZQogewpAQCAtMTIzNiw3ICsxNTMzLDcgQEAKIAlpZiAoc3RhcnRfY29tbWFuZCgmcHAtPmNoaWxkcmVuW2ldLnByb2Nlc3MpKSB7CiAJCWNvZGUgPSBwcC0+c3RhcnRfZmFpbHVyZSgmcHAtPmNoaWxkcmVuW2ldLmVyciwKIAkJCQkJIHBwLT5kYXRhLAotCQkJCQkgJnBwLT5jaGlsZHJlbltpXS5kYXRhKTsKKwkJCQkJIHBwLT5jaGlsZHJlbltpXS5kYXRhKTsKIAkJc3RyYnVmX2FkZGJ1ZigmcHAtPmJ1ZmZlcmVkX291dHB1dCwgJnBwLT5jaGlsZHJlbltpXS5lcnIpOwogCQlzdHJidWZfcmVzZXQoJnBwLT5jaGlsZHJlbltpXS5lcnIpOwogCQlpZiAoY29kZSkKQEAgLTEzMDQsNyArMTYwMSw3IEBACiAKIAkJY29kZSA9IHBwLT50YXNrX2ZpbmlzaGVkKGNvZGUsCiAJCQkJCSAmcHAtPmNoaWxkcmVuW2ldLmVyciwgcHAtPmRhdGEsCi0JCQkJCSAmcHAtPmNoaWxkcmVuW2ldLmRhdGEpOworCQkJCQkgcHAtPmNoaWxkcmVuW2ldLmRhdGEpOwogCiAJCWlmIChjb2RlKQogCQkJcmVzdWx0ID0gY29kZTsKZGlmZiAtLWdpdCBhL3J1bi1jb21tYW5kLmggYi9ydW4tY29tbWFuZC5oCmluZGV4IDRmYThmNjUuLjM5MzI0MjAgMTAwNjQ0Ci0tLSBhL3J1bi1jb21tYW5kLmgKKysrIGIvcnVuLWNvbW1hbmQuaApAQCAtNTEsNiArNTEsNyBAQAogI2RlZmluZSBDSElMRF9QUk9DRVNTX0lOSVQgeyBOVUxMLCBBUkdWX0FSUkFZX0lOSVQsIEFSR1ZfQVJSQVlfSU5JVCB9CiB2b2lkIGNoaWxkX3Byb2Nlc3NfaW5pdChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqKTsKIHZvaWQgY2hpbGRfcHJvY2Vzc19jbGVhcihzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqKTsKK2V4dGVybiBpbnQgaXNfZXhlY3V0YWJsZShjb25zdCBjaGFyICpuYW1lKTsKIAogaW50IHN0YXJ0X2NvbW1hbmQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKik7CiBpbnQgZmluaXNoX2NvbW1hbmQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKik7CmRpZmYgLS1naXQgYS9zZW5kLXBhY2suYyBiL3NlbmQtcGFjay5jCmluZGV4IGQyZDJhNDkuLmE4Y2M2YjIgMTAwNjQ0Ci0tLSBhL3NlbmQtcGFjay5jCisrKyBiL3NlbmQtcGFjay5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAicGt0LWxpbmUuaCIKQEAgLTUwLDcgKzUxLDcgQEAKIC8qCiAgKiBNYWtlIGEgcGFjayBzdHJlYW0gYW5kIHNwaXQgaXQgb3V0IGludG8gZmlsZSBkZXNjcmlwdG9yIGZkCiAgKi8KLXN0YXRpYyBpbnQgcGFja19vYmplY3RzKGludCBmZCwgc3RydWN0IHJlZiAqcmVmcywgc3RydWN0IHNoYTFfYXJyYXkgKmV4dHJhLCBzdHJ1Y3Qgc2VuZF9wYWNrX2FyZ3MgKmFyZ3MpCitzdGF0aWMgaW50IHBhY2tfb2JqZWN0cyhpbnQgZmQsIHN0cnVjdCByZWYgKnJlZnMsIHN0cnVjdCBvaWRfYXJyYXkgKmV4dHJhLCBzdHJ1Y3Qgc2VuZF9wYWNrX2FyZ3MgKmFyZ3MpCiB7CiAJLyoKIAkgKiBUaGUgY2hpbGQgYmVjb21lcyBwYWNrLW9iamVjdHMgLS1yZXZzOyB3ZSBmZWVkCkBAIC05OCw3ICs5OSw3IEBACiAJICovCiAJcG9faW4gPSB4ZmRvcGVuKHBvLmluLCAidyIpOwogCWZvciAoaSA9IDA7IGkgPCBleHRyYS0+bnI7IGkrKykKLQkJZmVlZF9vYmplY3QoZXh0cmEtPnNoYTFbaV0sIHBvX2luLCAxKTsKKwkJZmVlZF9vYmplY3QoZXh0cmEtPm9pZFtpXS5oYXNoLCBwb19pbiwgMSk7CiAKIAl3aGlsZSAocmVmcykgewogCQlpZiAoIWlzX251bGxfb2lkKCZyZWZzLT5vbGRfb2lkKSkKQEAgLTEzMiw3ICsxMzMsNyBAQAogCQkgKiBGb3IgYSBub3JtYWwgbm9uLXplcm8gZXhpdCwgd2UgYXNzdW1lIHBhY2stb2JqZWN0cyB3cm90ZQogCQkgKiBzb21ldGhpbmcgdXNlZnVsIHRvIHN0ZGVyci4gRm9yIGRlYXRoIGJ5IHNpZ25hbCwgdGhvdWdoLAogCQkgKiB3ZSBzaG91bGQgbWVudGlvbiBpdCB0byB0aGUgdXNlci4gVGhlIGV4Y2VwdGlvbiBpcyBTSUdQSVBFCi0JCSAqICgxNDEpLCBiZWNhdXNlIHRoYXQncyBhIG5vcm1hbCBvY2N1cmVuY2UgaWYgdGhlIHJlbW90ZSBlbmQKKwkJICogKDE0MSksIGJlY2F1c2UgdGhhdCdzIGEgbm9ybWFsIG9jY3VycmVuY2UgaWYgdGhlIHJlbW90ZSBlbmQKIAkJICogaGFuZ3MgdXAgKGFuZCB3ZSdsbCByZXBvcnQgdGhhdCBieSB0cnlpbmcgdG8gcmVhZCB0aGUgdW5wYWNrCiAJCSAqIHN0YXR1cykuCiAJCSAqLwpAQCAtMzc2LDcgKzM3Nyw3IEBACiBpbnQgc2VuZF9wYWNrKHN0cnVjdCBzZW5kX3BhY2tfYXJncyAqYXJncywKIAkgICAgICBpbnQgZmRbXSwgc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4sCiAJICAgICAgc3RydWN0IHJlZiAqcmVtb3RlX3JlZnMsCi0JICAgICAgc3RydWN0IHNoYTFfYXJyYXkgKmV4dHJhX2hhdmUpCisJICAgICAgc3RydWN0IG9pZF9hcnJheSAqZXh0cmFfaGF2ZSkKIHsKIAlpbnQgaW4gPSBmZFswXTsKIAlpbnQgb3V0ID0gZmRbMV07CkBAIC00OTEsOSArNDkyLDEyIEBACiAJCQkgKiB3ZSB3ZXJlIHRvIHNlbmQgaXQgYW5kIHdlJ3JlIHRyeWluZyB0byBzZW5kIHRoZSByZWZzCiAJCQkgKiBhdG9taWNhbGx5LCBhYm9ydCB0aGUgd2hvbGUgb3BlcmF0aW9uLgogCQkJICovCi0JCQlpZiAodXNlX2F0b21pYykKKwkJCWlmICh1c2VfYXRvbWljKSB7CisJCQkJc3RyYnVmX3JlbGVhc2UoJnJlcV9idWYpOworCQkJCXN0cmJ1Zl9yZWxlYXNlKCZjYXBfYnVmKTsKIAkJCQlyZXR1cm4gYXRvbWljX3B1c2hfZmFpbHVyZShhcmdzLCByZW1vdGVfcmVmcywgcmVmKTsKLQkJCS8qIEZhbGx0aHJvdWdoIGZvciBub24gYXRvbWljIGNhc2UuICovCisJCQl9CisJCQkvKiBlbHNlIGZhbGx0aHJvdWdoICovCiAJCWRlZmF1bHQ6CiAJCQljb250aW51ZTsKIAkJfQpAQCAtNTMyLDYgKzUzNiwxNCBAQAogCQl9CiAJfQogCisJaWYgKHVzZV9wdXNoX29wdGlvbnMpIHsKKwkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CisKKwkJcGFja2V0X2J1Zl9mbHVzaCgmcmVxX2J1Zik7CisJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgYXJncy0+cHVzaF9vcHRpb25zKQorCQkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgIiVzIiwgaXRlbS0+c3RyaW5nKTsKKwl9CisKIAlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYykgewogCQlpZiAoIWFyZ3MtPmRyeV9ydW4gJiYgKGNtZHNfc2VudCB8fCBpc19yZXBvc2l0b3J5X3NoYWxsb3coKSkpIHsKIAkJCXBhY2tldF9idWZfZmx1c2goJnJlcV9idWYpOwpAQCAtNTQ0LDE4ICs1NTYsNiBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZyZXFfYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmY2FwX2J1Zik7CiAKLQlpZiAodXNlX3B1c2hfb3B0aW9ucykgewotCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKLQkJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwotCi0JCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgYXJncy0+cHVzaF9vcHRpb25zKQotCQkJcGFja2V0X2J1Zl93cml0ZSgmc2IsICIlcyIsIGl0ZW0tPnN0cmluZyk7Ci0KLQkJd3JpdGVfb3JfZGllKG91dCwgc2IuYnVmLCBzYi5sZW4pOwotCQlwYWNrZXRfZmx1c2gob3V0KTsKLQkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKLQl9Ci0KIAlpZiAodXNlX3NpZGViYW5kICYmIGNtZHNfc2VudCkgewogCQltZW1zZXQoJmRlbXV4LCAwLCBzaXplb2YoZGVtdXgpKTsKIAkJZGVtdXgucHJvYyA9IHNpZGViYW5kX2RlbXV4OwpkaWZmIC0tZ2l0IGEvc2VuZC1wYWNrLmggYi9zZW5kLXBhY2suaAppbmRleCA2N2ZjNDBmLi42YWY3MWY3IDEwMDY0NAotLS0gYS9zZW5kLXBhY2suaAorKysgYi9zZW5kLXBhY2suaApAQCAtMzIsNiArMzIsNiBAQAogCiBpbnQgc2VuZF9wYWNrKHN0cnVjdCBzZW5kX3BhY2tfYXJncyAqYXJncywKIAkgICAgICBpbnQgZmRbXSwgc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4sCi0JICAgICAgc3RydWN0IHJlZiAqcmVtb3RlX3JlZnMsIHN0cnVjdCBzaGExX2FycmF5ICpleHRyYV9oYXZlKTsKKwkgICAgICBzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmcywgc3RydWN0IG9pZF9hcnJheSAqZXh0cmFfaGF2ZSk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc2VxdWVuY2VyLmMgYi9zZXF1ZW5jZXIuYwppbmRleCAxZjcyOWIwLi43ODg2ZTIyIDEwMDY0NAotLS0gYS9zZXF1ZW5jZXIuYworKysgYi9zZXF1ZW5jZXIuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAic2VxdWVuY2VyLmgiCiAjaW5jbHVkZSAiZGlyLmgiCkBAIC0xOSw2ICsyMCw3IEBACiAjaW5jbHVkZSAidHJhaWxlci5oIgogI2luY2x1ZGUgImxvZy10cmVlLmgiCiAjaW5jbHVkZSAid3Qtc3RhdHVzLmgiCisjaW5jbHVkZSAiaGFzaG1hcC5oIgogCiAjZGVmaW5lIEdJVF9SRUZMT0dfQUNUSU9OICJHSVRfUkVGTE9HX0FDVElPTiIKIApAQCAtMTI2LDYgKzEyOCw3IEBACiBzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9hdXRvc3Rhc2gsICJyZWJhc2UtbWVyZ2UvYXV0b3N0YXNoIikKIHN0YXRpYyBHSVRfUEFUSF9GVU5DKHJlYmFzZV9wYXRoX3N0cmF0ZWd5LCAicmViYXNlLW1lcmdlL3N0cmF0ZWd5IikKIHN0YXRpYyBHSVRfUEFUSF9GVU5DKHJlYmFzZV9wYXRoX3N0cmF0ZWd5X29wdHMsICJyZWJhc2UtbWVyZ2Uvc3RyYXRlZ3lfb3B0cyIpCitzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSwgInJlYmFzZS1tZXJnZS9hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSIpCiAKIHN0YXRpYyBpbmxpbmUgaW50IGlzX3JlYmFzZV9pKGNvbnN0IHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKQEAgLTIwMSw3ICsyMDQsNyBAQAogCQlmcmVlKG9wdHMtPnhvcHRzW2ldKTsKIAlmcmVlKG9wdHMtPnhvcHRzKTsKIAotCXN0cmJ1Zl9hZGRmKCZkaXIsICIlcyIsIGdldF9kaXIob3B0cykpOworCXN0cmJ1Zl9hZGRzdHIoJmRpciwgZ2V0X2RpcihvcHRzKSk7CiAJcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmZGlyLCAwKTsKIAlzdHJidWZfcmVsZWFzZSgmZGlyKTsKIApAQCAtMzQ0LDcgKzM0Nyw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgdHJlZSAqZW1wdHlfdHJlZSh2b2lkKQogewotCXJldHVybiBsb29rdXBfdHJlZShFTVBUWV9UUkVFX1NIQTFfQklOKTsKKwlyZXR1cm4gbG9va3VwX3RyZWUoJmVtcHR5X3RyZWVfb2lkKTsKIH0KIAogc3RhdGljIGludCBlcnJvcl9kaXJ0eV9pbmRleChzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCkBAIC0zNzQsNyArMzc3LDcgQEAKIAkJd3JpdGVfZmlsZShnaXRfcGF0aF9hYm9ydF9zYWZldHlfZmlsZSgpLCAiJXMiLCAiIik7CiB9CiAKLXN0YXRpYyBpbnQgZmFzdF9mb3J3YXJkX3RvKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRvLCBjb25zdCB1bnNpZ25lZCBjaGFyICpmcm9tLAorc3RhdGljIGludCBmYXN0X2ZvcndhcmRfdG8oY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdG8sIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmZyb20sCiAJCQlpbnQgdW5ib3JuLCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCiB7CiAJc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb247CkBAIC0zOTAsNyArMzkzLDcgQEAKIAl0cmFuc2FjdGlvbiA9IHJlZl90cmFuc2FjdGlvbl9iZWdpbigmZXJyKTsKIAlpZiAoIXRyYW5zYWN0aW9uIHx8CiAJICAgIHJlZl90cmFuc2FjdGlvbl91cGRhdGUodHJhbnNhY3Rpb24sICJIRUFEIiwKLQkJCQkgICB0bywgdW5ib3JuID8gbnVsbF9zaGExIDogZnJvbSwKKwkJCQkgICB0by0+aGFzaCwgdW5ib3JuID8gbnVsbF9zaGExIDogZnJvbS0+aGFzaCwKIAkJCQkgICAwLCBzYi5idWYsICZlcnIpIHx8CiAJICAgIHJlZl90cmFuc2FjdGlvbl9jb21taXQodHJhbnNhY3Rpb24sICZlcnIpKSB7CiAJCXJlZl90cmFuc2FjdGlvbl9mcmVlKHRyYW5zYWN0aW9uKTsKQEAgLTQyNiw3ICs0MjksNyBAQAogCiBzdGF0aWMgaW50IGRvX3JlY3Vyc2l2ZV9tZXJnZShzdHJ1Y3QgY29tbWl0ICpiYXNlLCBzdHJ1Y3QgY29tbWl0ICpuZXh0LAogCQkJICAgICAgY29uc3QgY2hhciAqYmFzZV9sYWJlbCwgY29uc3QgY2hhciAqbmV4dF9sYWJlbCwKLQkJCSAgICAgIHVuc2lnbmVkIGNoYXIgKmhlYWQsIHN0cnVjdCBzdHJidWYgKm1zZ2J1ZiwKKwkJCSAgICAgIHN0cnVjdCBvYmplY3RfaWQgKmhlYWQsIHN0cnVjdCBzdHJidWYgKm1zZ2J1ZiwKIAkJCSAgICAgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyBvOwpAQCAtNDY0LDcgKzQ2Nyw4IEBACiAKIAlpZiAoYWN0aXZlX2NhY2hlX2NoYW5nZWQgJiYKIAkgICAgd3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsICZpbmRleF9sb2NrLCBDT01NSVRfTE9DSykpCi0JCS8qIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCisJCS8qCisJCSAqIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCiAJCSAqICJyZWJhc2UgLWkiLgogCQkgKi8KIAkJcmV0dXJuIGVycm9yKF8oIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKSwKQEAgLTQ4MiwxMyArNDg2LDEzIEBACiAKIHN0YXRpYyBpbnQgaXNfaW5kZXhfdW5jaGFuZ2VkKHZvaWQpCiB7Ci0JdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CiAJc3RydWN0IGNvbW1pdCAqaGVhZF9jb21taXQ7CiAKLQlpZiAoIXJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsIGhlYWRfc2hhMSwgTlVMTCkpCisJaWYgKCFyZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBoZWFkX29pZC5oYXNoLCBOVUxMKSkKIAkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iKSk7CiAKLQloZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXQoaGVhZF9zaGExKTsKKwloZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXQoJmhlYWRfb2lkKTsKIAogCS8qCiAJICogSWYgaGVhZF9jb21taXQgaXMgTlVMTCwgY2hlY2tfY29tbWl0LCBjYWxsZWQgZnJvbQpAQCAtNTA4LDcgKzUxMiw4IEBACiAJCWlmIChjYWNoZV90cmVlX3VwZGF0ZSgmdGhlX2luZGV4LCAwKSkKIAkJCXJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIpKTsKIAotCXJldHVybiAhaGFzaGNtcChhY3RpdmVfY2FjaGVfdHJlZS0+c2hhMSwgaGVhZF9jb21taXQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCk7CisJcmV0dXJuICFvaWRjbXAoJmFjdGl2ZV9jYWNoZV90cmVlLT5vaWQsCisJCSAgICAgICAmaGVhZF9jb21taXQtPnRyZWUtPm9iamVjdC5vaWQpOwogfQogCiBzdGF0aWMgaW50IHdyaXRlX2F1dGhvcl9zY3JpcHQoY29uc3QgY2hhciAqbWVzc2FnZSkKQEAgLTYwMiw2ICs2MDcsMTIgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIik7CiAKKyNkZWZpbmUgQUxMT1dfRU1QVFkgKDE8PDApCisjZGVmaW5lIEVESVRfTVNHICAgICgxPDwxKQorI2RlZmluZSBBTUVORF9NU0cgICAoMTw8MikKKyNkZWZpbmUgQ0xFQU5VUF9NU0cgKDE8PDMpCisjZGVmaW5lIFZFUklGWV9NU0cgICgxPDw0KQorCiAvKgogICogSWYgd2UgYXJlIGNoZXJyeS1waWNrLCBhbmQgaWYgdGhlIG1lcmdlIGRpZCBub3QgcmVzdWx0IGluCiAgKiBoYW5kLWVkaXRpbmcsIHdlIHdpbGwgaGl0IHRoaXMgY29tbWl0IGFuZCBpbmhlcml0IHRoZSBvcmlnaW5hbApAQCAtNjE1LDggKzYyNiw3IEBACiAgKiBhdXRob3IgbWV0YWRhdGEuCiAgKi8KIHN0YXRpYyBpbnQgcnVuX2dpdF9jb21taXQoY29uc3QgY2hhciAqZGVmbXNnLCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsCi0JCQkgIGludCBhbGxvd19lbXB0eSwgaW50IGVkaXQsIGludCBhbWVuZCwKLQkJCSAgaW50IGNsZWFudXBfY29tbWl0X21lc3NhZ2UpCisJCQkgIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbWQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJY29uc3QgY2hhciAqdmFsdWU7CkBAIC02MjQsNyArNjM0LDcgQEAKIAljbWQuZ2l0X2NtZCA9IDE7CiAKIAlpZiAoaXNfcmViYXNlX2kob3B0cykpIHsKLQkJaWYgKCFlZGl0KSB7CisJCWlmICghKGZsYWdzICYgRURJVF9NU0cpKSB7CiAJCQljbWQuc3Rkb3V0X3RvX3N0ZGVyciA9IDE7CiAJCQljbWQuZXJyID0gLTE7CiAJCX0KQEAgLTYzOCw5ICs2NDgsMTAgQEAKIAl9CiAKIAlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiY29tbWl0Iik7Ci0JYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi1uIik7CiAKLQlpZiAoYW1lbmQpCisJaWYgKCEoZmxhZ3MgJiBWRVJJRllfTVNHKSkKKwkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi1uIik7CisJaWYgKChmbGFncyAmIEFNRU5EX01TRykpCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICItLWFtZW5kIik7CiAJaWYgKG9wdHMtPmdwZ19zaWduKQogCQlhcmd2X2FycmF5X3B1c2hmKCZjbWQuYXJncywgIi1TJXMiLCBvcHRzLT5ncGdfc2lnbik7CkBAIC02NDgsMTYgKzY1OSwxNiBAQAogCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLXMiKTsKIAlpZiAoZGVmbXNnKQogCQlhcmd2X2FycmF5X3B1c2hsKCZjbWQuYXJncywgIi1GIiwgZGVmbXNnLCBOVUxMKTsKLQlpZiAoY2xlYW51cF9jb21taXRfbWVzc2FnZSkKKwlpZiAoKGZsYWdzICYgQ0xFQU5VUF9NU0cpKQogCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLS1jbGVhbnVwPXN0cmlwIik7Ci0JaWYgKGVkaXQpCisJaWYgKChmbGFncyAmIEVESVRfTVNHKSkKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi1lIik7Ci0JZWxzZSBpZiAoIWNsZWFudXBfY29tbWl0X21lc3NhZ2UgJiYKKwllbHNlIGlmICghKGZsYWdzICYgQ0xFQU5VUF9NU0cpICYmCiAJCSAhb3B0cy0+c2lnbm9mZiAmJiAhb3B0cy0+cmVjb3JkX29yaWdpbiAmJgogCQkgZ2l0X2NvbmZpZ19nZXRfdmFsdWUoImNvbW1pdC5jbGVhbnVwIiwgJnZhbHVlKSkKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi0tY2xlYW51cD12ZXJiYXRpbSIpOwogCi0JaWYgKGFsbG93X2VtcHR5KQorCWlmICgoZmxhZ3MgJiBBTExPV19FTVBUWSkpCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICItLWFsbG93LWVtcHR5Iik7CiAKIAlpZiAob3B0cy0+YWxsb3dfZW1wdHlfbWVzc2FnZSkKQEAgLTY4Miw3ICs2OTMsNyBAQAogCiBzdGF0aWMgaW50IGlzX29yaWdpbmFsX2NvbW1pdF9lbXB0eShzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqcHRyZWVfc2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpwdHJlZV9vaWQ7CiAKIAlpZiAocGFyc2VfY29tbWl0KGNvbW1pdCkpCiAJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iKSwKQEAgLTY5MiwxMiArNzAzLDEyIEBACiAJCWlmIChwYXJzZV9jb21taXQocGFyZW50KSkKIAkJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIiksCiAJCQkJb2lkX3RvX2hleCgmcGFyZW50LT5vYmplY3Qub2lkKSk7Ci0JCXB0cmVlX3NoYTEgPSBwYXJlbnQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaDsKKwkJcHRyZWVfb2lkID0gJnBhcmVudC0+dHJlZS0+b2JqZWN0Lm9pZDsKIAl9IGVsc2UgewotCQlwdHJlZV9zaGExID0gRU1QVFlfVFJFRV9TSEExX0JJTjsgLyogY29tbWl0IGlzIHJvb3QgKi8KKwkJcHRyZWVfb2lkID0gJmVtcHR5X3RyZWVfb2lkOyAvKiBjb21taXQgaXMgcm9vdCAqLwogCX0KIAotCXJldHVybiAhaGFzaGNtcChwdHJlZV9zaGExLCBjb21taXQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCk7CisJcmV0dXJuICFvaWRjbXAocHRyZWVfb2lkLCAmY29tbWl0LT50cmVlLT5vYmplY3Qub2lkKTsKIH0KIAogLyoKQEAgLTgyOCwxMyArODM5LDEzIEBACiAJCXN0cmJ1Zl9zcGxpY2UoJmJ1ZiwgMCwgZW9sIC0gYnVmLmJ1ZiwgaGVhZGVyLmJ1ZiwgaGVhZGVyLmxlbik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZoZWFkZXIpOwogCX0gZWxzZSB7Ci0JCXVuc2lnbmVkIGNoYXIgaGVhZFsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgaGVhZDsKIAkJc3RydWN0IGNvbW1pdCAqaGVhZF9jb21taXQ7CiAJCWNvbnN0IGNoYXIgKmhlYWRfbWVzc2FnZSwgKmJvZHk7CiAKLQkJaWYgKGdldF9zaGExKCJIRUFEIiwgaGVhZCkpCisJCWlmIChnZXRfb2lkKCJIRUFEIiwgJmhlYWQpKQogCQkJcmV0dXJuIGVycm9yKF8oIm5lZWQgYSBIRUFEIHRvIGZpeHVwIikpOwotCQlpZiAoIShoZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKGhlYWQpKSkKKwkJaWYgKCEoaGVhZF9jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmaGVhZCkpKQogCQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZWFkIEhFQUQiKSk7CiAJCWlmICghKGhlYWRfbWVzc2FnZSA9IGdldF9jb21taXRfYnVmZmVyKGhlYWRfY29tbWl0LCBOVUxMKSkpCiAJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlYWQgSEVBRCdzIGNvbW1pdCBtZXNzYWdlIikpOwpAQCAtODg3LDE4ICs4OTgsMTggQEAKIAogc3RhdGljIHZvaWQgZmx1c2hfcmV3cml0dGVuX3BlbmRpbmcodm9pZCkgewogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JdW5zaWduZWQgY2hhciBuZXdzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG5ld29pZDsKIAlGSUxFICpvdXQ7CiAKLQlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmYnVmLCByZWJhc2VfcGF0aF9yZXdyaXR0ZW5fcGVuZGluZygpLCA4MikgPiAwICYmCi0JCQkhZ2V0X3NoYTEoIkhFQUQiLCBuZXdzaGExKSAmJgotCQkJKG91dCA9IGZvcGVuKHJlYmFzZV9wYXRoX3Jld3JpdHRlbl9saXN0KCksICJhIikpKSB7CisJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmJ1ZiwgcmViYXNlX3BhdGhfcmV3cml0dGVuX3BlbmRpbmcoKSwgKEdJVF9NQVhfSEVYU1ogKyAxKSAqIDIpID4gMCAmJgorCSAgICAhZ2V0X29pZCgiSEVBRCIsICZuZXdvaWQpICYmCisJICAgIChvdXQgPSBmb3Blbl9vcl93YXJuKHJlYmFzZV9wYXRoX3Jld3JpdHRlbl9saXN0KCksICJhIikpKSB7CiAJCWNoYXIgKmJvbCA9IGJ1Zi5idWYsICplb2w7CiAKIAkJd2hpbGUgKCpib2wpIHsKIAkJCWVvbCA9IHN0cmNocm51bChib2wsICdcbicpOwogCQkJZnByaW50ZihvdXQsICIlLipzICVzXG4iLCAoaW50KShlb2wgLSBib2wpLAotCQkJCQlib2wsIHNoYTFfdG9faGV4KG5ld3NoYTEpKTsKKwkJCQkJYm9sLCBvaWRfdG9faGV4KCZuZXdvaWQpKTsKIAkJCWlmICghKmVvbCkKIAkJCQlicmVhazsKIAkJCWJvbCA9IGVvbCArIDE7CkBAIC05MTEsNyArOTIyLDcgQEAKIAogc3RhdGljIHZvaWQgcmVjb3JkX2luX3Jld3JpdHRlbihzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCWVudW0gdG9kb19jb21tYW5kIG5leHRfY29tbWFuZCkgewotCUZJTEUgKm91dCA9IGZvcGVuKHJlYmFzZV9wYXRoX3Jld3JpdHRlbl9wZW5kaW5nKCksICJhIik7CisJRklMRSAqb3V0ID0gZm9wZW5fb3Jfd2FybihyZWJhc2VfcGF0aF9yZXdyaXR0ZW5fcGVuZGluZygpLCAiYSIpOwogCiAJaWYgKCFvdXQpCiAJCXJldHVybjsKQEAgLTkyNiwxNCArOTM3LDE0IEBACiBzdGF0aWMgaW50IGRvX3BpY2tfY29tbWl0KGVudW0gdG9kb19jb21tYW5kIGNvbW1hbmQsIHN0cnVjdCBjb21taXQgKmNvbW1pdCwKIAkJc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLCBpbnQgZmluYWxfZml4dXApCiB7Ci0JaW50IGVkaXQgPSBvcHRzLT5lZGl0LCBjbGVhbnVwX2NvbW1pdF9tZXNzYWdlID0gMDsKLQljb25zdCBjaGFyICptc2dfZmlsZSA9IGVkaXQgPyBOVUxMIDogZ2l0X3BhdGhfbWVyZ2VfbXNnKCk7Ci0JdW5zaWduZWQgY2hhciBoZWFkWzIwXTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3MgPSBvcHRzLT5lZGl0ID8gRURJVF9NU0cgOiAwOworCWNvbnN0IGNoYXIgKm1zZ19maWxlID0gb3B0cy0+ZWRpdCA/IE5VTEwgOiBnaXRfcGF0aF9tZXJnZV9tc2coKTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWQ7CiAJc3RydWN0IGNvbW1pdCAqYmFzZSwgKm5leHQsICpwYXJlbnQ7CiAJY29uc3QgY2hhciAqYmFzZV9sYWJlbCwgKm5leHRfbGFiZWw7CiAJc3RydWN0IGNvbW1pdF9tZXNzYWdlIG1zZyA9IHsgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCB9OwogCXN0cnVjdCBzdHJidWYgbXNnYnVmID0gU1RSQlVGX0lOSVQ7Ci0JaW50IHJlcywgdW5ib3JuID0gMCwgYW1lbmQgPSAwLCBhbGxvdyA9IDA7CisJaW50IHJlcywgdW5ib3JuID0gMCwgYWxsb3c7CiAKIAlpZiAob3B0cy0+bm9fY29tbWl0KSB7CiAJCS8qCkBAIC05NDIsMTIgKzk1MywxMiBAQAogCQkgKiB0aGF0IHJlcHJlc2VudHMgdGhlICJjdXJyZW50IiBzdGF0ZSBmb3IgbWVyZ2UtcmVjdXJzaXZlCiAJCSAqIHRvIHdvcmsgb24uCiAJCSAqLwotCQlpZiAod3JpdGVfY2FjaGVfYXNfdHJlZShoZWFkLCAwLCBOVUxMKSkKKwkJaWYgKHdyaXRlX2NhY2hlX2FzX3RyZWUoaGVhZC5oYXNoLCAwLCBOVUxMKSkKIAkJCXJldHVybiBlcnJvcihfKCJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIikpOwogCX0gZWxzZSB7Ci0JCXVuYm9ybiA9IGdldF9zaGExKCJIRUFEIiwgaGVhZCk7CisJCXVuYm9ybiA9IGdldF9vaWQoIkhFQUQiLCAmaGVhZCk7CiAJCWlmICh1bmJvcm4pCi0JCQloYXNoY3B5KGhlYWQsIEVNUFRZX1RSRUVfU0hBMV9CSU4pOworCQkJb2lkY3B5KCZoZWFkLCAmZW1wdHlfdHJlZV9vaWQpOwogCQlpZiAoaW5kZXhfZGlmZmVyc19mcm9tKHVuYm9ybiA/IEVNUFRZX1RSRUVfU0hBMV9IRVggOiAiSEVBRCIsIDAsIDApKQogCQkJcmV0dXJuIGVycm9yX2RpcnR5X2luZGV4KG9wdHMpOwogCX0KQEAgLTk4MywxNSArOTk0LDE3IEBACiAJCQlvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKIAogCWlmIChvcHRzLT5hbGxvd19mZiAmJiAhaXNfZml4dXAoY29tbWFuZCkgJiYKLQkgICAgKChwYXJlbnQgJiYgIWhhc2hjbXAocGFyZW50LT5vYmplY3Qub2lkLmhhc2gsIGhlYWQpKSB8fAorCSAgICAoKHBhcmVudCAmJiAhb2lkY21wKCZwYXJlbnQtPm9iamVjdC5vaWQsICZoZWFkKSkgfHwKIAkgICAgICghcGFyZW50ICYmIHVuYm9ybikpKSB7CiAJCWlmIChpc19yZWJhc2VfaShvcHRzKSkKIAkJCXdyaXRlX2F1dGhvcl9zY3JpcHQobXNnLm1lc3NhZ2UpOwotCQlyZXMgPSBmYXN0X2ZvcndhcmRfdG8oY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsIGhlYWQsIHVuYm9ybiwKKwkJcmVzID0gZmFzdF9mb3J3YXJkX3RvKCZjb21taXQtPm9iamVjdC5vaWQsICZoZWFkLCB1bmJvcm4sCiAJCQlvcHRzKTsKIAkJaWYgKHJlcyB8fCBjb21tYW5kICE9IFRPRE9fUkVXT1JEKQogCQkJZ290byBsZWF2ZTsKLQkJZWRpdCA9IGFtZW5kID0gMTsKKwkJZmxhZ3MgfD0gRURJVF9NU0cgfCBBTUVORF9NU0c7CisJCWlmIChjb21tYW5kID09IFRPRE9fUkVXT1JEKQorCQkJZmxhZ3MgfD0gVkVSSUZZX01TRzsKIAkJbXNnX2ZpbGUgPSBOVUxMOwogCQlnb3RvIGZhc3RfZm9yd2FyZF9lZGl0OwogCX0KQEAgLTEwMzcsNiArMTA1MCw3IEBACiAJCQlzdHJidWZfYWRkc3RyKCZtc2didWYsIHApOwogCiAJCWlmIChvcHRzLT5yZWNvcmRfb3JpZ2luKSB7CisJCQlzdHJidWZfY29tcGxldGVfbGluZSgmbXNnYnVmKTsKIAkJCWlmICghaGFzX2NvbmZvcm1pbmdfZm9vdGVyKCZtc2didWYsIE5VTEwsIDApKQogCQkJCXN0cmJ1Zl9hZGRjaCgmbXNnYnVmLCAnXG4nKTsKIAkJCXN0cmJ1Zl9hZGRzdHIoJm1zZ2J1ZiwgY2hlcnJ5X3BpY2tlZF9wcmVmaXgpOwpAQCAtMTA0NiwyNSArMTA2MCwyNSBAQAogCX0KIAogCWlmIChjb21tYW5kID09IFRPRE9fUkVXT1JEKQotCQllZGl0ID0gMTsKKwkJZmxhZ3MgfD0gRURJVF9NU0cgfCBWRVJJRllfTVNHOwogCWVsc2UgaWYgKGlzX2ZpeHVwKGNvbW1hbmQpKSB7CiAJCWlmICh1cGRhdGVfc3F1YXNoX21lc3NhZ2VzKGNvbW1hbmQsIGNvbW1pdCwgb3B0cykpCiAJCQlyZXR1cm4gLTE7Ci0JCWFtZW5kID0gMTsKKwkJZmxhZ3MgfD0gQU1FTkRfTVNHOwogCQlpZiAoIWZpbmFsX2ZpeHVwKQogCQkJbXNnX2ZpbGUgPSByZWJhc2VfcGF0aF9zcXVhc2hfbXNnKCk7CiAJCWVsc2UgaWYgKGZpbGVfZXhpc3RzKHJlYmFzZV9wYXRoX2ZpeHVwX21zZygpKSkgewotCQkJY2xlYW51cF9jb21taXRfbWVzc2FnZSA9IDE7CisJCQlmbGFncyB8PSBDTEVBTlVQX01TRzsKIAkJCW1zZ19maWxlID0gcmViYXNlX3BhdGhfZml4dXBfbXNnKCk7CiAJCX0gZWxzZSB7Ci0JCQljb25zdCBjaGFyICpkZXN0ID0gZ2l0X3BhdGgoIlNRVUFTSF9NU0ciKTsKKwkJCWNvbnN0IGNoYXIgKmRlc3QgPSBnaXRfcGF0aF9zcXVhc2hfbXNnKCk7CiAJCQl1bmxpbmsoZGVzdCk7CiAJCQlpZiAoY29weV9maWxlKGRlc3QsIHJlYmFzZV9wYXRoX3NxdWFzaF9tc2coKSwgMDY2NikpCiAJCQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIiksCiAJCQkJCSAgICAgcmViYXNlX3BhdGhfc3F1YXNoX21zZygpLCBkZXN0KTsKLQkJCXVubGluayhnaXRfcGF0aCgiTUVSR0VfTVNHIikpOworCQkJdW5saW5rKGdpdF9wYXRoX21lcmdlX21zZygpKTsKIAkJCW1zZ19maWxlID0gZGVzdDsKLQkJCWVkaXQgPSAxOworCQkJZmxhZ3MgfD0gRURJVF9NU0c7CiAJCX0KIAl9CiAKQEAgLTEwNzIsNyArMTA4Niw3IEBACiAJCXJlcyA9IC0xOwogCWVsc2UgaWYgKCFvcHRzLT5zdHJhdGVneSB8fCAhc3RyY21wKG9wdHMtPnN0cmF0ZWd5LCAicmVjdXJzaXZlIikgfHwgY29tbWFuZCA9PSBUT0RPX1JFVkVSVCkgewogCQlyZXMgPSBkb19yZWN1cnNpdmVfbWVyZ2UoYmFzZSwgbmV4dCwgYmFzZV9sYWJlbCwgbmV4dF9sYWJlbCwKLQkJCQkJIGhlYWQsICZtc2didWYsIG9wdHMpOworCQkJCQkgJmhlYWQsICZtc2didWYsIG9wdHMpOwogCQlpZiAocmVzIDwgMCkKIAkJCXJldHVybiByZXM7CiAJCXJlcyB8PSB3cml0ZV9tZXNzYWdlKG1zZ2J1Zi5idWYsIG1zZ2J1Zi5sZW4sCkBAIC0xMDg4LDcgKzExMDIsNyBAQAogCQljb21taXRfbGlzdF9pbnNlcnQobmV4dCwgJnJlbW90ZXMpOwogCQlyZXMgfD0gdHJ5X21lcmdlX2NvbW1hbmQob3B0cy0+c3RyYXRlZ3ksCiAJCQkJCSBvcHRzLT54b3B0c19uciwgKGNvbnN0IGNoYXIgKiopb3B0cy0+eG9wdHMsCi0JCQkJCWNvbW1vbiwgc2hhMV90b19oZXgoaGVhZCksIHJlbW90ZXMpOworCQkJCQljb21tb24sIG9pZF90b19oZXgoJmhlYWQpLCByZW1vdGVzKTsKIAkJZnJlZV9jb21taXRfbGlzdChjb21tb24pOwogCQlmcmVlX2NvbW1pdF9saXN0KHJlbW90ZXMpOwogCX0KQEAgLTExMjMsMTEgKzExMzcsMTEgQEAKIAlpZiAoYWxsb3cgPCAwKSB7CiAJCXJlcyA9IGFsbG93OwogCQlnb3RvIGxlYXZlOwotCX0KKwl9IGVsc2UgaWYgKGFsbG93KQorCQlmbGFncyB8PSBBTExPV19FTVBUWTsKIAlpZiAoIW9wdHMtPm5vX2NvbW1pdCkKIGZhc3RfZm9yd2FyZF9lZGl0OgotCQlyZXMgPSBydW5fZ2l0X2NvbW1pdChtc2dfZmlsZSwgb3B0cywgYWxsb3csIGVkaXQsIGFtZW5kLAotCQkJCSAgICAgY2xlYW51cF9jb21taXRfbWVzc2FnZSk7CisJCXJlcyA9IHJ1bl9naXRfY29tbWl0KG1zZ19maWxlLCBvcHRzLCBmbGFncyk7CiAKIAlpZiAoIXJlcyAmJiBmaW5hbF9maXh1cCkgewogCQl1bmxpbmsocmViYXNlX3BhdGhfZml4dXBfbXNnKCkpOwpAQCAtMTE5Miw2ICsxMjA2LDcgQEAKIAlzdHJ1Y3QgdG9kb19pdGVtICppdGVtczsKIAlpbnQgbnIsIGFsbG9jLCBjdXJyZW50OwogCWludCBkb25lX25yLCB0b3RhbF9ucjsKKwlzdHJ1Y3Qgc3RhdF9kYXRhIHN0YXQ7CiB9OwogCiAjZGVmaW5lIFRPRE9fTElTVF9JTklUIHsgU1RSQlVGX0lOSVQgfQpAQCAtMTE5OSw4ICsxMjE0LDcgQEAKIHN0YXRpYyB2b2lkIHRvZG9fbGlzdF9yZWxlYXNlKHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCkKIHsKIAlzdHJidWZfcmVsZWFzZSgmdG9kb19saXN0LT5idWYpOwotCWZyZWUodG9kb19saXN0LT5pdGVtcyk7Ci0JdG9kb19saXN0LT5pdGVtcyA9IE5VTEw7CisJRlJFRV9BTkRfTlVMTCh0b2RvX2xpc3QtPml0ZW1zKTsKIAl0b2RvX2xpc3QtPm5yID0gdG9kb19saXN0LT5hbGxvYyA9IDA7CiB9CiAKQEAgLTEyMTIsNyArMTIyNiw3IEBACiAKIHN0YXRpYyBpbnQgcGFyc2VfaW5zbl9saW5lKHN0cnVjdCB0b2RvX2l0ZW0gKml0ZW0sIGNvbnN0IGNoYXIgKmJvbCwgY2hhciAqZW9sKQogewotCXVuc2lnbmVkIGNoYXIgY29tbWl0X3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgY29tbWl0X29pZDsKIAljaGFyICplbmRfb2Zfb2JqZWN0X25hbWU7CiAJaW50IGksIHNhdmVkLCBzdGF0dXMsIHBhZGRpbmc7CiAKQEAgLTEyNjEsNyArMTI3NSw3IEBACiAJZW5kX29mX29iamVjdF9uYW1lID0gKGNoYXIgKikgYm9sICsgc3RyY3Nwbihib2wsICIgXHRcbiIpOwogCXNhdmVkID0gKmVuZF9vZl9vYmplY3RfbmFtZTsKIAkqZW5kX29mX29iamVjdF9uYW1lID0gJ1wwJzsKLQlzdGF0dXMgPSBnZXRfc2hhMShib2wsIGNvbW1pdF9zaGExKTsKKwlzdGF0dXMgPSBnZXRfb2lkKGJvbCwgJmNvbW1pdF9vaWQpOwogCSplbmRfb2Zfb2JqZWN0X25hbWUgPSBzYXZlZDsKIAogCWl0ZW0tPmFyZyA9IGVuZF9vZl9vYmplY3RfbmFtZSArIHN0cnNwbihlbmRfb2Zfb2JqZWN0X25hbWUsICIgXHQiKTsKQEAgLTEyNzAsNyArMTI4NCw3IEBACiAJaWYgKHN0YXR1cyA8IDApCiAJCXJldHVybiAtMTsKIAotCWl0ZW0tPmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKGNvbW1pdF9zaGExKTsKKwlpdGVtLT5jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSgmY29tbWl0X29pZCk7CiAJcmV0dXJuICFpdGVtLT5jb21taXQ7CiB9CiAKQEAgLTEzMjIsNiArMTMzNiw3IEBACiBzdGF0aWMgaW50IHJlYWRfcG9wdWxhdGVfdG9kbyhzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QsCiAJCQlzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCiB7CisJc3RydWN0IHN0YXQgc3Q7CiAJY29uc3QgY2hhciAqdG9kb19maWxlID0gZ2V0X3RvZG9fcGF0aChvcHRzKTsKIAlpbnQgZmQsIHJlczsKIApAQCAtMTMzNSw2ICsxMzUwLDExIEBACiAJfQogCWNsb3NlKGZkKTsKIAorCXJlcyA9IHN0YXQodG9kb19maWxlLCAmc3QpOworCWlmIChyZXMpCisJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3Qgc3RhdCAnJXMnIiksIHRvZG9fZmlsZSk7CisJZmlsbF9zdGF0X2RhdGEoJnRvZG9fbGlzdC0+c3RhdCwgJnN0KTsKKwogCXJlcyA9IHBhcnNlX2luc25fYnVmZmVyKHRvZG9fbGlzdC0+YnVmLmJ1ZiwgdG9kb19saXN0KTsKIAlpZiAocmVzKSB7CiAJCWlmIChpc19yZWJhc2VfaShvcHRzKSkKQEAgLTEzNjMsNyArMTM4Myw3IEBACiAKIAlpZiAoaXNfcmViYXNlX2kob3B0cykpIHsKIAkJc3RydWN0IHRvZG9fbGlzdCBkb25lID0gVE9ET19MSVNUX0lOSVQ7Ci0JCUZJTEUgKmYgPSBmb3BlbihyZWJhc2VfcGF0aF9tc2d0b3RhbCgpLCAidyIpOworCQlGSUxFICpmID0gZm9wZW5fb3Jfd2FybihyZWJhc2VfcGF0aF9tc2d0b3RhbCgpLCAidyIpOwogCiAJCWlmIChzdHJidWZfcmVhZF9maWxlKCZkb25lLmJ1ZiwgcmViYXNlX3BhdGhfZG9uZSgpLCAwKSA+IDAgJiYKIAkJCQkhcGFyc2VfaW5zbl9idWZmZXIoZG9uZS5idWYuYnVmLCAmZG9uZSkpCkBAIC0xNDIwLDcgKzE0NDAsMTEgQEAKIAllbHNlIGlmICghc3RyY21wKGtleSwgIm9wdGlvbnMuc3RyYXRlZ3ktb3B0aW9uIikpIHsKIAkJQUxMT0NfR1JPVyhvcHRzLT54b3B0cywgb3B0cy0+eG9wdHNfbnIgKyAxLCBvcHRzLT54b3B0c19hbGxvYyk7CiAJCW9wdHMtPnhvcHRzW29wdHMtPnhvcHRzX25yKytdID0geHN0cmR1cCh2YWx1ZSk7Ci0JfSBlbHNlCisJfSBlbHNlIGlmICghc3RyY21wKGtleSwgIm9wdGlvbnMuYWxsb3ctcmVyZXJlLWF1dG8iKSkKKwkJb3B0cy0+YWxsb3dfcmVyZXJlX2F1dG8gPQorCQkJZ2l0X2NvbmZpZ19ib29sX29yX2ludChrZXksIHZhbHVlLCAmZXJyb3JfZmxhZykgPworCQkJCVJFUkVSRV9BVVRPVVBEQVRFIDogUkVSRVJFX05PQVVUT1VQREFURTsKKwllbHNlCiAJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIGtleTogJXMiKSwga2V5KTsKIAogCWlmICghZXJyb3JfZmxhZykKQEAgLTE0NjEsNiArMTQ4NSwxNSBAQAogCQkJCWZyZWUob3B0cy0+Z3BnX3NpZ24pOwogCQkJCW9wdHMtPmdwZ19zaWduID0geHN0cmR1cChidWYuYnVmICsgMik7CiAJCQl9CisJCQlzdHJidWZfcmVzZXQoJmJ1Zik7CisJCX0KKworCQlpZiAocmVhZF9vbmVsaW5lcigmYnVmLCByZWJhc2VfcGF0aF9hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSgpLCAxKSkgeworCQkJaWYgKCFzdHJjbXAoYnVmLmJ1ZiwgIi0tcmVyZXJlLWF1dG91cGRhdGUiKSkKKwkJCQlvcHRzLT5hbGxvd19yZXJlcmVfYXV0byA9IFJFUkVSRV9BVVRPVVBEQVRFOworCQkJZWxzZSBpZiAoIXN0cmNtcChidWYuYnVmLCAiLS1uby1yZXJlcmUtYXV0b3VwZGF0ZSIpKQorCQkJCW9wdHMtPmFsbG93X3JlcmVyZV9hdXRvID0gUkVSRVJFX05PQVVUT1VQREFURTsKKwkJCXN0cmJ1Zl9yZXNldCgmYnVmKTsKIAkJfQogCiAJCWlmIChmaWxlX2V4aXN0cyhyZWJhc2VfcGF0aF92ZXJib3NlKCkpKQpAQCAtMTUzMyw2ICsxNTY2LDcgQEAKIAlzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBoZWFkX2xvY2s7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlpbnQgZmQ7CisJc3NpemVfdCB3cml0dGVuOwogCiAJZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZoZWFkX2xvY2ssIGdpdF9wYXRoX2hlYWRfZmlsZSgpLCAwKTsKIAlpZiAoZmQgPCAwKSB7CkBAIC0xNTQwLDcgKzE1NzQsOSBAQAogCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IGxvY2sgSEVBRCIpKTsKIAl9CiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzXG4iLCBoZWFkKTsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgYnVmLmJ1ZiwgYnVmLmxlbikgPCAwKSB7CisJd3JpdHRlbiA9IHdyaXRlX2luX2Z1bGwoZmQsIGJ1Zi5idWYsIGJ1Zi5sZW4pOworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCWlmICh3cml0dGVuIDwgMCkgewogCQlyb2xsYmFja19sb2NrX2ZpbGUoJmhlYWRfbG9jayk7CiAJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIpLAogCQkJCSAgIGdpdF9wYXRoX2hlYWRfZmlsZSgpKTsKQEAgLTE1NzYsMzYgKzE2MTIsMzcgQEAKIAlyZXR1cm4gIW9pZGNtcCgmYWN0dWFsX2hlYWQsICZleHBlY3RlZF9oZWFkKTsKIH0KIAotc3RhdGljIGludCByZXNldF9mb3Jfcm9sbGJhY2soY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgcmVzZXRfZm9yX3JvbGxiYWNrKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAljb25zdCBjaGFyICphcmd2WzRdOwkvKiByZXNldCAtLW1lcmdlIDxhcmc+ICsgTlVMTCAqLwogCiAJYXJndlswXSA9ICJyZXNldCI7CiAJYXJndlsxXSA9ICItLW1lcmdlIjsKLQlhcmd2WzJdID0gc2hhMV90b19oZXgoc2hhMSk7CisJYXJndlsyXSA9IG9pZF90b19oZXgob2lkKTsKIAlhcmd2WzNdID0gTlVMTDsKIAlyZXR1cm4gcnVuX2NvbW1hbmRfdl9vcHQoYXJndiwgUlVOX0dJVF9DTUQpOwogfQogCiBzdGF0aWMgaW50IHJvbGxiYWNrX3NpbmdsZV9waWNrKHZvaWQpCiB7Ci0JdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CiAKIAlpZiAoIWZpbGVfZXhpc3RzKGdpdF9wYXRoX2NoZXJyeV9waWNrX2hlYWQoKSkgJiYKIAkgICAgIWZpbGVfZXhpc3RzKGdpdF9wYXRoX3JldmVydF9oZWFkKCkpKQogCQlyZXR1cm4gZXJyb3IoXygibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIikpOwotCWlmIChyZWFkX3JlZl9mdWxsKCJIRUFEIiwgMCwgaGVhZF9zaGExLCBOVUxMKSkKKwlpZiAocmVhZF9yZWZfZnVsbCgiSEVBRCIsIDAsIGhlYWRfb2lkLmhhc2gsIE5VTEwpKQogCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IHJlc29sdmUgSEVBRCIpKTsKLQlpZiAoaXNfbnVsbF9zaGExKGhlYWRfc2hhMSkpCisJaWYgKGlzX251bGxfb2lkKCZoZWFkX29pZCkpCiAJCXJldHVybiBlcnJvcihfKCJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIpKTsKLQlyZXR1cm4gcmVzZXRfZm9yX3JvbGxiYWNrKGhlYWRfc2hhMSk7CisJcmV0dXJuIHJlc2V0X2Zvcl9yb2xsYmFjaygmaGVhZF9vaWQpOwogfQogCiBpbnQgc2VxdWVuY2VyX3JvbGxiYWNrKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlGSUxFICpmOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwljb25zdCBjaGFyICpwOwogCiAJZiA9IGZvcGVuKGdpdF9wYXRoX2hlYWRfZmlsZSgpLCAiciIpOwogCWlmICghZiAmJiBlcnJubyA9PSBFTk9FTlQpIHsKQEAgLTE2MjUsMTIgKzE2NjIsMTIgQEAKIAkJZ290byBmYWlsOwogCX0KIAlmY2xvc2UoZik7Ci0JaWYgKGdldF9zaGExX2hleChidWYuYnVmLCBzaGExKSB8fCBidWYuYnVmWzQwXSAhPSAnXDAnKSB7CisJaWYgKHBhcnNlX29pZF9oZXgoYnVmLmJ1ZiwgJm9pZCwgJnApIHx8ICpwICE9ICdcMCcpIHsKIAkJZXJyb3IoXygic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IiksCiAJCQlnaXRfcGF0aF9oZWFkX2ZpbGUoKSk7CiAJCWdvdG8gZmFpbDsKIAl9Ci0JaWYgKGlzX251bGxfc2hhMShzaGExKSkgeworCWlmIChpc19udWxsX29pZCgmb2lkKSkgewogCQllcnJvcihfKCJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIpKTsKIAkJZ290byBmYWlsOwogCX0KQEAgLTE2NDAsNyArMTY3Nyw3IEBACiAJCXdhcm5pbmcoXygiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiAiCiAJCQkgICJOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIikpOwogCX0gZWxzZQotCWlmIChyZXNldF9mb3Jfcm9sbGJhY2soc2hhMSkpCisJaWYgKHJlc2V0X2Zvcl9yb2xsYmFjaygmb2lkKSkKIAkJZ290byBmYWlsOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCXJldHVybiBzZXF1ZW5jZXJfcmVtb3ZlX3N0YXRlKG9wdHMpOwpAQCAtMTcyNCw2ICsxNzYxLDEwIEBACiAJCQkJCQkJIm9wdGlvbnMuc3RyYXRlZ3ktb3B0aW9uIiwKIAkJCQkJCQlvcHRzLT54b3B0c1tpXSwgIl4kIiwgMCk7CiAJfQorCWlmIChvcHRzLT5hbGxvd19yZXJlcmVfYXV0bykKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwgIm9wdGlvbnMuYWxsb3ctcmVyZXJlLWF1dG8iLAorCQkJCQkJICAgICBvcHRzLT5hbGxvd19yZXJlcmVfYXV0byA9PSBSRVJFUkVfQVVUT1VQREFURSA/CisJCQkJCQkgICAgICJ0cnVlIiA6ICJmYWxzZSIpOwogCXJldHVybiByZXM7CiB9CiAKQEAgLTE3NzAsMTMgKzE4MTEsMTMgQEAKIAogc3RhdGljIGludCBpbnRlbmRfdG9fYW1lbmQodm9pZCkKIHsKLQl1bnNpZ25lZCBjaGFyIGhlYWRbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgaGVhZDsKIAljaGFyICpwOwogCi0JaWYgKGdldF9zaGExKCJIRUFEIiwgaGVhZCkpCisJaWYgKGdldF9vaWQoIkhFQUQiLCAmaGVhZCkpCiAJCXJldHVybiBlcnJvcihfKCJjYW5ub3QgcmVhZCBIRUFEIikpOwogCi0JcCA9IHNoYTFfdG9faGV4KGhlYWQpOworCXAgPSBvaWRfdG9faGV4KCZoZWFkKTsKIAlyZXR1cm4gd3JpdGVfbWVzc2FnZShwLCBzdHJsZW4ocCksIHJlYmFzZV9wYXRoX2FtZW5kKCksIDEpOwogfQogCkBAIC0xODEyLDEwICsxODUzLDEwIEBACiAJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcmVuYW1lICclcycgdG8gJyVzJyIpLAogCQkJcmViYXNlX3BhdGhfc3F1YXNoX21zZygpLCByZWJhc2VfcGF0aF9tZXNzYWdlKCkpOwogCXVubGluayhyZWJhc2VfcGF0aF9maXh1cF9tc2coKSk7Ci0JdW5saW5rKGdpdF9wYXRoKCJNRVJHRV9NU0ciKSk7Ci0JaWYgKGNvcHlfZmlsZShnaXRfcGF0aCgiTUVSR0VfTVNHIiksIHJlYmFzZV9wYXRoX21lc3NhZ2UoKSwgMDY2NikpCisJdW5saW5rKGdpdF9wYXRoX21lcmdlX21zZygpKTsKKwlpZiAoY29weV9maWxlKGdpdF9wYXRoX21lcmdlX21zZygpLCByZWJhc2VfcGF0aF9tZXNzYWdlKCksIDA2NjYpKQogCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIiksCi0JCQkgICAgIHJlYmFzZV9wYXRoX21lc3NhZ2UoKSwgZ2l0X3BhdGgoIk1FUkdFX01TRyIpKTsKKwkJCSAgICAgcmViYXNlX3BhdGhfbWVzc2FnZSgpLCBnaXRfcGF0aF9tZXJnZV9tc2coKSk7CiAJcmV0dXJuIGVycm9yX3dpdGhfcGF0Y2goY29tbWl0LCBzdWJqZWN0LCBzdWJqZWN0X2xlbiwgb3B0cywgMSwgMCk7CiB9CiAKQEAgLTE4OTgsMTEgKzE5MzksMTMgQEAKIAlzdHJidWZfdHJpbSgmc3Rhc2hfc2hhMSk7CiAKIAljaGlsZC5naXRfY21kID0gMTsKKwljaGlsZC5ub19zdGRvdXQgPSAxOworCWNoaWxkLm5vX3N0ZGVyciA9IDE7CiAJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAic3Rhc2giKTsKIAlhcmd2X2FycmF5X3B1c2goJmNoaWxkLmFyZ3MsICJhcHBseSIpOwogCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQuYXJncywgc3Rhc2hfc2hhMS5idWYpOwogCWlmICghcnVuX2NvbW1hbmQoJmNoaWxkKSkKLQkJcHJpbnRmKF8oIkFwcGxpZWQgYXV0b3N0YXNoLiIpKTsKKwkJZnByaW50ZihzdGRlcnIsIF8oIkFwcGxpZWQgYXV0b3N0YXNoLlxuIikpOwogCWVsc2UgewogCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBzdG9yZSA9IENISUxEX1BST0NFU1NfSU5JVDsKIApAQCAtMTkxNiwxMCArMTk1OSwxMSBAQAogCQlpZiAocnVuX2NvbW1hbmQoJnN0b3JlKSkKIAkJCXJldCA9IGVycm9yKF8oImNhbm5vdCBzdG9yZSAlcyIpLCBzdGFzaF9zaGExLmJ1Zik7CiAJCWVsc2UKLQkJCXByaW50ZihfKCJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgotCQkJCSJZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLlxuIgotCQkJCSJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciIKLQkJCQkiIFwiZ2l0IHN0YXNoIGRyb3BcIiBhdCBhbnkgdGltZS5cbiIpKTsKKwkJCWZwcmludGYoc3RkZXJyLAorCQkJCV8oIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCisJCQkJICAiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKKwkJCQkgICJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciIKKwkJCQkgICIgXCJnaXQgc3Rhc2ggZHJvcFwiIGF0IGFueSB0aW1lLlxuIikpOwogCX0KIAogCXN0cmJ1Zl9yZWxlYXNlKCZzdGFzaF9zaGExKTsKQEAgLTE5OTcsNyArMjA0MSw4IEBACiAJCQlpZiAoaXRlbS0+Y29tbWFuZCA9PSBUT0RPX0VESVQpIHsKIAkJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBpdGVtLT5jb21taXQ7CiAJCQkJaWYgKCFyZXMpCi0JCQkJCXdhcm5pbmcoXygic3RvcHBlZCBhdCAlcy4uLiAlLipzIiksCisJCQkJCWZwcmludGYoc3RkZXJyLAorCQkJCQkJXygiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIiksCiAJCQkJCQlzaG9ydF9jb21taXRfbmFtZShjb21taXQpLAogCQkJCQkJaXRlbS0+YXJnX2xlbiwgaXRlbS0+YXJnKTsKIAkJCQlyZXR1cm4gZXJyb3Jfd2l0aF9wYXRjaChjb21taXQsCkBAIC0yMDE5LDEwICsyMDY0LDI1IEBACiAJCX0gZWxzZSBpZiAoaXRlbS0+Y29tbWFuZCA9PSBUT0RPX0VYRUMpIHsKIAkJCWNoYXIgKmVuZF9vZl9hcmcgPSAoY2hhciAqKShpdGVtLT5hcmcgKyBpdGVtLT5hcmdfbGVuKTsKIAkJCWludCBzYXZlZCA9ICplbmRfb2ZfYXJnOworCQkJc3RydWN0IHN0YXQgc3Q7CiAKIAkJCSplbmRfb2ZfYXJnID0gJ1wwJzsKIAkJCXJlcyA9IGRvX2V4ZWMoaXRlbS0+YXJnKTsKIAkJCSplbmRfb2ZfYXJnID0gc2F2ZWQ7CisKKwkJCS8qIFJlcmVhZCB0aGUgdG9kbyBmaWxlIGlmIGl0IGhhcyBjaGFuZ2VkLiAqLworCQkJaWYgKHJlcykKKwkJCQk7IC8qIGZhbGwgdGhyb3VnaCAqLworCQkJZWxzZSBpZiAoc3RhdChnZXRfdG9kb19wYXRoKG9wdHMpLCAmc3QpKQorCQkJCXJlcyA9IGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBzdGF0ICclcyciKSwKKwkJCQkJCSAgZ2V0X3RvZG9fcGF0aChvcHRzKSk7CisJCQllbHNlIGlmIChtYXRjaF9zdGF0X2RhdGEoJnRvZG9fbGlzdC0+c3RhdCwgJnN0KSkgeworCQkJCXRvZG9fbGlzdF9yZWxlYXNlKHRvZG9fbGlzdCk7CisJCQkJaWYgKHJlYWRfcG9wdWxhdGVfdG9kbyh0b2RvX2xpc3QsIG9wdHMpKQorCQkJCQlyZXMgPSAtMTsgLyogbWVzc2FnZSB3YXMgcHJpbnRlZCAqLworCQkJCS8qIGBjdXJyZW50YCB3aWxsIGJlIGluY3JlbWVudGVkIGJlbG93ICovCisJCQkJdG9kb19saXN0LT5jdXJyZW50ID0gLTE7CisJCQl9CiAJCX0gZWxzZSBpZiAoIWlzX25vb3AoaXRlbS0+Y29tbWFuZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygidW5rbm93biBjb21tYW5kICVkIiksIGl0ZW0tPmNvbW1hbmQpOwogCkBAIC0yMDQyLDEwICsyMTAyLDEwIEBACiAJCWlmIChyZWFkX29uZWxpbmVyKCZoZWFkX3JlZiwgcmViYXNlX3BhdGhfaGVhZF9uYW1lKCksIDApICYmCiAJCQkJc3RhcnRzX3dpdGgoaGVhZF9yZWYuYnVmLCAicmVmcy8iKSkgewogCQkJY29uc3QgY2hhciAqbXNnOwotCQkJdW5zaWduZWQgY2hhciBoZWFkWzIwXSwgb3JpZ1syMF07CisJCQlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWQsIG9yaWc7CiAJCQlpbnQgcmVzOwogCi0JCQlpZiAoZ2V0X3NoYTEoIkhFQUQiLCBoZWFkKSkgeworCQkJaWYgKGdldF9vaWQoIkhFQUQiLCAmaGVhZCkpIHsKIAkJCQlyZXMgPSBlcnJvcihfKCJjYW5ub3QgcmVhZCBIRUFEIikpOwogY2xlYW51cF9oZWFkX3JlZjoKIAkJCQlzdHJidWZfcmVsZWFzZSgmaGVhZF9yZWYpOwpAQCAtMjA1MywxNyArMjExMywxOCBAQAogCQkJCXJldHVybiByZXM7CiAJCQl9CiAJCQlpZiAoIXJlYWRfb25lbGluZXIoJmJ1ZiwgcmViYXNlX3BhdGhfb3JpZ19oZWFkKCksIDApIHx8Ci0JCQkJCWdldF9zaGExX2hleChidWYuYnVmLCBvcmlnKSkgeworCQkJCQlnZXRfb2lkX2hleChidWYuYnVmLCAmb3JpZykpIHsKIAkJCQlyZXMgPSBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCBvcmlnLWhlYWQiKSk7CiAJCQkJZ290byBjbGVhbnVwX2hlYWRfcmVmOwogCQkJfQorCQkJc3RyYnVmX3Jlc2V0KCZidWYpOwogCQkJaWYgKCFyZWFkX29uZWxpbmVyKCZidWYsIHJlYmFzZV9wYXRoX29udG8oKSwgMCkpIHsKIAkJCQlyZXMgPSBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCAnb250byciKSk7CiAJCQkJZ290byBjbGVhbnVwX2hlYWRfcmVmOwogCQkJfQogCQkJbXNnID0gcmVmbG9nX21lc3NhZ2Uob3B0cywgImZpbmlzaCIsICIlcyBvbnRvICVzIiwKIAkJCQloZWFkX3JlZi5idWYsIGJ1Zi5idWYpOwotCQkJaWYgKHVwZGF0ZV9yZWYobXNnLCBoZWFkX3JlZi5idWYsIGhlYWQsIG9yaWcsCisJCQlpZiAodXBkYXRlX3JlZihtc2csIGhlYWRfcmVmLmJ1ZiwgaGVhZC5oYXNoLCBvcmlnLmhhc2gsCiAJCQkJCVJFRl9OT0RFUkVGLCBVUERBVEVfUkVGU19NU0dfT05fRVJSKSkgewogCQkJCXJlcyA9IGVycm9yKF8oImNvdWxkIG5vdCB1cGRhdGUgJXMiKSwKIAkJCQkJaGVhZF9yZWYuYnVmKTsKQEAgLTIwOTEsMTAgKzIxNTIsMTAgQEAKIAkJCWxvZ190cmVlX29wdC5kaXNhYmxlX3N0ZGluID0gMTsKIAogCQkJaWYgKHJlYWRfb25lbGluZXIoJmJ1ZiwgcmViYXNlX3BhdGhfb3JpZ19oZWFkKCksIDApICYmCi0JCQkgICAgIWdldF9zaGExKGJ1Zi5idWYsIG9yaWcuaGFzaCkgJiYKLQkJCSAgICAhZ2V0X3NoYTEoIkhFQUQiLCBoZWFkLmhhc2gpKSB7Ci0JCQkJZGlmZl90cmVlX3NoYTEob3JpZy5oYXNoLCBoZWFkLmhhc2gsCi0JCQkJCSAgICAgICAiIiwgJmxvZ190cmVlX29wdC5kaWZmb3B0KTsKKwkJCSAgICAhZ2V0X29pZChidWYuYnVmLCAmb3JpZykgJiYKKwkJCSAgICAhZ2V0X29pZCgiSEVBRCIsICZoZWFkKSkgeworCQkJCWRpZmZfdHJlZV9vaWQoJm9yaWcsICZoZWFkLCAiIiwKKwkJCQkJICAgICAgJmxvZ190cmVlX29wdC5kaWZmb3B0KTsKIAkJCQlsb2dfdHJlZV9kaWZmX2ZsdXNoKCZsb2dfdHJlZV9vcHQpOwogCQkJfQogCQl9CkBAIC0yMTUzLDEyICsyMjE0LDEyIEBACiAKIHN0YXRpYyBpbnQgY29tbWl0X3N0YWdlZF9jaGFuZ2VzKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKLQlpbnQgYW1lbmQgPSAwOworCXVuc2lnbmVkIGludCBmbGFncyA9IEFMTE9XX0VNUFRZIHwgRURJVF9NU0c7CiAKIAlpZiAoaGFzX3Vuc3RhZ2VkX2NoYW5nZXMoMSkpCiAJCXJldHVybiBlcnJvcihfKCJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIpKTsKIAlpZiAoIWhhc191bmNvbW1pdHRlZF9jaGFuZ2VzKDApKSB7Ci0JCWNvbnN0IGNoYXIgKmNoZXJyeV9waWNrX2hlYWQgPSBnaXRfcGF0aCgiQ0hFUlJZX1BJQ0tfSEVBRCIpOworCQljb25zdCBjaGFyICpjaGVycnlfcGlja19oZWFkID0gZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCgpOwogCiAJCWlmIChmaWxlX2V4aXN0cyhjaGVycnlfcGlja19oZWFkKSAmJiB1bmxpbmsoY2hlcnJ5X3BpY2tfaGVhZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIikpOwpAQCAtMjE2NywyNiArMjIyOCwyNiBAQAogCiAJaWYgKGZpbGVfZXhpc3RzKHJlYmFzZV9wYXRoX2FtZW5kKCkpKSB7CiAJCXN0cnVjdCBzdHJidWYgcmV2ID0gU1RSQlVGX0lOSVQ7Ci0JCXVuc2lnbmVkIGNoYXIgaGVhZFsyMF0sIHRvX2FtZW5kWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBoZWFkLCB0b19hbWVuZDsKIAotCQlpZiAoZ2V0X3NoYTEoIkhFQUQiLCBoZWFkKSkKKwkJaWYgKGdldF9vaWQoIkhFQUQiLCAmaGVhZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiKSk7CiAJCWlmICghcmVhZF9vbmVsaW5lcigmcmV2LCByZWJhc2VfcGF0aF9hbWVuZCgpLCAwKSkKIAkJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIGZpbGU6ICclcyciKSwgcmViYXNlX3BhdGhfYW1lbmQoKSk7Ci0JCWlmIChnZXRfc2hhMV9oZXgocmV2LmJ1ZiwgdG9fYW1lbmQpKQorCQlpZiAoZ2V0X29pZF9oZXgocmV2LmJ1ZiwgJnRvX2FtZW5kKSkKIAkJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIGNvbnRlbnRzOiAnJXMnIiksCiAJCQkJcmViYXNlX3BhdGhfYW1lbmQoKSk7Ci0JCWlmIChoYXNoY21wKGhlYWQsIHRvX2FtZW5kKSkKKwkJaWYgKG9pZGNtcCgmaGVhZCwgJnRvX2FtZW5kKSkKIAkJCXJldHVybiBlcnJvcihfKCJcbllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciAiCiAJCQkJICAgICAgICJ3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKIAkJCQkgICAgICAgImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAiCiAJCQkJICAgICAgICItLWNvbnRpbnVlJyBhZ2Fpbi4iKSk7CiAKIAkJc3RyYnVmX3JlbGVhc2UoJnJldik7Ci0JCWFtZW5kID0gMTsKKwkJZmxhZ3MgfD0gQU1FTkRfTVNHOwogCX0KIAotCWlmIChydW5fZ2l0X2NvbW1pdChyZWJhc2VfcGF0aF9tZXNzYWdlKCksIG9wdHMsIDEsIDEsIGFtZW5kLCAwKSkKKwlpZiAocnVuX2dpdF9jb21taXQocmViYXNlX3BhdGhfbWVzc2FnZSgpLCBvcHRzLCBmbGFncykpCiAJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIpKTsKIAl1bmxpbmsocmViYXNlX3BhdGhfYW1lbmQoKSk7CiAJcmV0dXJuIDA7CkBAIC0yMjI4LDcgKzIyODksNyBAQAogCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCQlpZiAocmVhZF9vbmVsaW5lcigmYnVmLCByZWJhc2VfcGF0aF9zdG9wcGVkX3NoYSgpLCAxKSAmJgotCQkgICAgIWdldF9zaGExX2NvbW1pdHRpc2goYnVmLmJ1Ziwgb2lkLmhhc2gpKQorCQkgICAgIWdldF9vaWRfY29tbWl0dGlzaChidWYuYnVmLCAmb2lkKSkKIAkJCXJlY29yZF9pbl9yZXdyaXR0ZW4oJm9pZCwgcGVla19jb21tYW5kKCZ0b2RvX2xpc3QsIDApKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJfQpAQCAtMjI0OSw3ICsyMzEwLDcgQEAKIGludCBzZXF1ZW5jZXJfcGlja19yZXZpc2lvbnMoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCXN0cnVjdCB0b2RvX2xpc3QgdG9kb19saXN0ID0gVE9ET19MSVNUX0lOSVQ7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlpbnQgaSwgcmVzOwogCiAJYXNzZXJ0KG9wdHMtPnJldnMpOwpAQCAtMjI1NywxNiArMjMxOCwxNiBAQAogCQlyZXR1cm4gLTE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgb3B0cy0+cmV2cy0+cGVuZGluZy5ucjsgaSsrKSB7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQljb25zdCBjaGFyICpuYW1lID0gb3B0cy0+cmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLm5hbWU7CiAKIAkJLyogVGhpcyBoYXBwZW5zIHdoZW4gdXNpbmcgLS1zdGRpbi4gKi8KIAkJaWYgKCFzdHJsZW4obmFtZSkpCiAJCQljb250aW51ZTsKIAotCQlpZiAoIWdldF9zaGExKG5hbWUsIHNoYTEpKSB7Ci0JCQlpZiAoIWxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzaGExLCAxKSkgewotCQkJCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CisJCWlmICghZ2V0X29pZChuYW1lLCAmb2lkKSkgeworCQkJaWYgKCFsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoJm9pZCwgMSkpIHsKKwkJCQllbnVtIG9iamVjdF90eXBlIHR5cGUgPSBzaGExX29iamVjdF9pbmZvKG9pZC5oYXNoLCBOVUxMKTsKIAkJCQlyZXR1cm4gZXJyb3IoXygiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiKSwKIAkJCQkJbmFtZSwgdHlwZW5hbWUodHlwZSkpOwogCQkJfQpAQCAtMjMwMyw5ICsyMzY0LDkgQEAKIAlpZiAod2Fsa19yZXZzX3BvcHVsYXRlX3RvZG8oJnRvZG9fbGlzdCwgb3B0cykgfHwKIAkJCWNyZWF0ZV9zZXFfZGlyKCkgPCAwKQogCQlyZXR1cm4gLTE7Ci0JaWYgKGdldF9zaGExKCJIRUFEIiwgc2hhMSkgJiYgKG9wdHMtPmFjdGlvbiA9PSBSRVBMQVlfUkVWRVJUKSkKKwlpZiAoZ2V0X29pZCgiSEVBRCIsICZvaWQpICYmIChvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1JFVkVSVCkpCiAJCXJldHVybiBlcnJvcihfKCJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiKSk7Ci0JaWYgKHNhdmVfaGVhZChzaGExX3RvX2hleChzaGExKSkpCisJaWYgKHNhdmVfaGVhZChvaWRfdG9faGV4KCZvaWQpKSkKIAkJcmV0dXJuIC0xOwogCWlmIChzYXZlX29wdHMob3B0cykpCiAJCXJldHVybiAtMTsKQEAgLTIzMjYsNiArMjM4Nyw5IEBACiAJCQkJZ2V0ZW52KCJHSVRfQ09NTUlUVEVSX0VNQUlMIikpKTsKIAlzdHJidWZfYWRkY2goJnNvYiwgJ1xuJyk7CiAKKwlpZiAoIWlnbm9yZV9mb290ZXIpCisJCXN0cmJ1Zl9jb21wbGV0ZV9saW5lKG1zZ2J1Zik7CisKIAkvKgogCSAqIElmIHRoZSB3aG9sZSBtZXNzYWdlIGJ1ZmZlciBpcyBlcXVhbCB0byB0aGUgc29iLCBwcmV0ZW5kIHRoYXQgd2UKIAkgKiBmb3VuZCBhIGNvbmZvcm1pbmcgZm9vdGVyIHdpdGggYSBtYXRjaGluZyBzb2IKQEAgLTIzNDYsMTMgKzI0MTAsNiBAQAogCQkJICogdGhlIHRpdGxlIGFuZCBib2R5IHRvIGJlIGZpbGxlZCBpbiBieSB0aGUgdXNlci4KIAkJCSAqLwogCQkJYXBwZW5kX25ld2xpbmVzID0gIlxuXG4iOwotCQl9IGVsc2UgaWYgKG1zZ2J1Zi0+YnVmW2xlbiAtIDFdICE9ICdcbicpIHsKLQkJCS8qCi0JCQkgKiBJbmNvbXBsZXRlIGxpbmUuICBDb21wbGV0ZSB0aGUgbGluZSBhbmQgYWRkIGEKLQkJCSAqIGJsYW5rIG9uZSBzbyB0aGF0IHRoZXJlIGlzIGFuIGVtcHR5IGxpbmUgYmV0d2VlbgotCQkJICogdGhlIG1lc3NhZ2UgYm9keSBhbmQgdGhlIHNvYi4KLQkJCSAqLwotCQkJYXBwZW5kX25ld2xpbmVzID0gIlxuXG4iOwogCQl9IGVsc2UgaWYgKGxlbiA9PSAxKSB7CiAJCQkvKgogCQkJICogQnVmZmVyIGNvbnRhaW5zIGEgc2luZ2xlIG5ld2xpbmUuICBBZGQgYW5vdGhlcgpAQCAtMjM3OSwzICsyNDM2LDUzMyBAQAogCiAJc3RyYnVmX3JlbGVhc2UoJnNvYik7CiB9CisKK2ludCBzZXF1ZW5jZXJfbWFrZV9zY3JpcHQoaW50IGtlZXBfZW1wdHksIEZJTEUgKm91dCwKKwkJaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWNoYXIgKmZvcm1hdCA9IE5VTEw7CisJc3RydWN0IHByZXR0eV9wcmludF9jb250ZXh0IHBwID0gezB9OworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHJldl9pbmZvIHJldnM7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0OworCisJaW5pdF9yZXZpc2lvbnMoJnJldnMsIE5VTEwpOworCXJldnMudmVyYm9zZV9oZWFkZXIgPSAxOworCXJldnMubWF4X3BhcmVudHMgPSAxOworCXJldnMuY2hlcnJ5X3BpY2sgPSAxOworCXJldnMubGltaXRlZCA9IDE7CisJcmV2cy5yZXZlcnNlID0gMTsKKwlyZXZzLnJpZ2h0X29ubHkgPSAxOworCXJldnMuc29ydF9vcmRlciA9IFJFVl9TT1JUX0lOX0dSQVBIX09SREVSOworCXJldnMudG9wb19vcmRlciA9IDE7CisKKwlyZXZzLnByZXR0eV9naXZlbiA9IDE7CisJZ2l0X2NvbmZpZ19nZXRfc3RyaW5nKCJyZWJhc2UuaW5zdHJ1Y3Rpb25Gb3JtYXQiLCAmZm9ybWF0KTsKKwlpZiAoIWZvcm1hdCB8fCAhKmZvcm1hdCkgeworCQlmcmVlKGZvcm1hdCk7CisJCWZvcm1hdCA9IHhzdHJkdXAoIiVzIik7CisJfQorCWdldF9jb21taXRfZm9ybWF0KGZvcm1hdCwgJnJldnMpOworCWZyZWUoZm9ybWF0KTsKKwlwcC5mbXQgPSByZXZzLmNvbW1pdF9mb3JtYXQ7CisJcHAub3V0cHV0X2VuY29kaW5nID0gZ2V0X2xvZ19vdXRwdXRfZW5jb2RpbmcoKTsKKworCWlmIChzZXR1cF9yZXZpc2lvbnMoYXJnYywgYXJndiwgJnJldnMsIE5VTEwpID4gMSkKKwkJcmV0dXJuIGVycm9yKF8oIm1ha2Vfc2NyaXB0OiB1bmhhbmRsZWQgb3B0aW9ucyIpKTsKKworCWlmIChwcmVwYXJlX3JldmlzaW9uX3dhbGsoJnJldnMpIDwgMCkKKwkJcmV0dXJuIGVycm9yKF8oIm1ha2Vfc2NyaXB0OiBlcnJvciBwcmVwYXJpbmcgcmV2aXNpb25zIikpOworCisJd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24oJnJldnMpKSkgeworCQlzdHJidWZfcmVzZXQoJmJ1Zik7CisJCWlmICgha2VlcF9lbXB0eSAmJiBpc19vcmlnaW5hbF9jb21taXRfZW1wdHkoY29tbWl0KSkKKwkJCXN0cmJ1Zl9hZGRmKCZidWYsICIlYyAiLCBjb21tZW50X2xpbmVfY2hhcik7CisJCXN0cmJ1Zl9hZGRmKCZidWYsICJwaWNrICVzICIsIG9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOworCQlwcmV0dHlfcHJpbnRfY29tbWl0KCZwcCwgY29tbWl0LCAmYnVmKTsKKwkJc3RyYnVmX2FkZGNoKCZidWYsICdcbicpOworCQlmcHV0cyhidWYuYnVmLCBvdXQpOworCX0KKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKKwlyZXR1cm4gMDsKK30KKworCitpbnQgdHJhbnNmb3JtX3RvZG9faWRzKGludCBzaG9ydGVuX2lkcykKK3sKKwljb25zdCBjaGFyICp0b2RvX2ZpbGUgPSByZWJhc2VfcGF0aF90b2RvKCk7CisJc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKKwlpbnQgZmQsIHJlcywgaTsKKwlGSUxFICpvdXQ7CisKKwlzdHJidWZfcmVzZXQoJnRvZG9fbGlzdC5idWYpOworCWZkID0gb3Blbih0b2RvX2ZpbGUsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IG9wZW4gJyVzJyIpLCB0b2RvX2ZpbGUpOworCWlmIChzdHJidWZfcmVhZCgmdG9kb19saXN0LmJ1ZiwgZmQsIDApIDwgMCkgeworCQljbG9zZShmZCk7CisJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCAnJXMnLiIpLCB0b2RvX2ZpbGUpOworCX0KKwljbG9zZShmZCk7CisKKwlyZXMgPSBwYXJzZV9pbnNuX2J1ZmZlcih0b2RvX2xpc3QuYnVmLmJ1ZiwgJnRvZG9fbGlzdCk7CisJaWYgKHJlcykgeworCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKwkJcmV0dXJuIGVycm9yKF8oInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIpLCB0b2RvX2ZpbGUpOworCX0KKworCW91dCA9IGZvcGVuKHRvZG9fZmlsZSwgInciKTsKKwlpZiAoIW91dCkgeworCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKwkJcmV0dXJuIGVycm9yKF8oInVuYWJsZSB0byBvcGVuICclcycgZm9yIHdyaXRpbmciKSwgdG9kb19maWxlKTsKKwl9CisJZm9yIChpID0gMDsgaSA8IHRvZG9fbGlzdC5ucjsgaSsrKSB7CisJCXN0cnVjdCB0b2RvX2l0ZW0gKml0ZW0gPSB0b2RvX2xpc3QuaXRlbXMgKyBpOworCQlpbnQgYm9sID0gaXRlbS0+b2Zmc2V0X2luX2J1ZjsKKwkJY29uc3QgY2hhciAqcCA9IHRvZG9fbGlzdC5idWYuYnVmICsgYm9sOworCQlpbnQgZW9sID0gaSArIDEgPCB0b2RvX2xpc3QubnIgPworCQkJdG9kb19saXN0Lml0ZW1zW2kgKyAxXS5vZmZzZXRfaW5fYnVmIDoKKwkJCXRvZG9fbGlzdC5idWYubGVuOworCisJCWlmIChpdGVtLT5jb21tYW5kID49IFRPRE9fRVhFQyAmJiBpdGVtLT5jb21tYW5kICE9IFRPRE9fRFJPUCkKKwkJCWZ3cml0ZShwLCBlb2wgLSBib2wsIDEsIG91dCk7CisJCWVsc2UgeworCQkJY29uc3QgY2hhciAqaWQgPSBzaG9ydGVuX2lkcyA/CisJCQkJc2hvcnRfY29tbWl0X25hbWUoaXRlbS0+Y29tbWl0KSA6CisJCQkJb2lkX3RvX2hleCgmaXRlbS0+Y29tbWl0LT5vYmplY3Qub2lkKTsKKwkJCWludCBsZW47CisKKwkJCXAgKz0gc3Ryc3BuKHAsICIgXHQiKTsgLyogbGVmdC10cmltIGNvbW1hbmQgKi8KKwkJCWxlbiA9IHN0cmNzcG4ocCwgIiBcdCIpOyAvKiBsZW5ndGggb2YgY29tbWFuZCAqLworCisJCQlmcHJpbnRmKG91dCwgIiUuKnMgJXMgJS4qc1xuIiwKKwkJCQlsZW4sIHAsIGlkLCBpdGVtLT5hcmdfbGVuLCBpdGVtLT5hcmcpOworCQl9CisJfQorCWZjbG9zZShvdXQpOworCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCXJldHVybiAwOworfQorCitlbnVtIGNoZWNrX2xldmVsIHsKKwlDSEVDS19JR05PUkUgPSAwLCBDSEVDS19XQVJOLCBDSEVDS19FUlJPUgorfTsKKworc3RhdGljIGVudW0gY2hlY2tfbGV2ZWwgZ2V0X21pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsKHZvaWQpCit7CisJY29uc3QgY2hhciAqdmFsdWU7CisKKwlpZiAoZ2l0X2NvbmZpZ19nZXRfdmFsdWUoInJlYmFzZS5taXNzaW5nY29tbWl0c2NoZWNrIiwgJnZhbHVlKSB8fAorCQkJIXN0cmNhc2VjbXAoImlnbm9yZSIsIHZhbHVlKSkKKwkJcmV0dXJuIENIRUNLX0lHTk9SRTsKKwlpZiAoIXN0cmNhc2VjbXAoIndhcm4iLCB2YWx1ZSkpCisJCXJldHVybiBDSEVDS19XQVJOOworCWlmICghc3RyY2FzZWNtcCgiZXJyb3IiLCB2YWx1ZSkpCisJCXJldHVybiBDSEVDS19FUlJPUjsKKwl3YXJuaW5nKF8oInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24iCisJCSAgInJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iKSwgdmFsdWUpOworCXJldHVybiBDSEVDS19JR05PUkU7Cit9CisKKy8qCisgKiBDaGVjayBpZiB0aGUgdXNlciBkcm9wcGVkIHNvbWUgY29tbWl0cyBieSBtaXN0YWtlCisgKiBCZWhhdmlvdXIgZGV0ZXJtaW5lZCBieSByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4KKyAqIENoZWNrIGlmIHRoZXJlIGlzIGFuIHVucmVjb2duaXplZCBjb21tYW5kIG9yIGEKKyAqIGJhZCBTSEEtMSBpbiBhIGNvbW1hbmQuCisgKi8KK2ludCBjaGVja190b2RvX2xpc3Qodm9pZCkKK3sKKwllbnVtIGNoZWNrX2xldmVsIGNoZWNrX2xldmVsID0gZ2V0X21pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsKCk7CisJc3RydWN0IHN0cmJ1ZiB0b2RvX2ZpbGUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgdG9kb19saXN0IHRvZG9fbGlzdCA9IFRPRE9fTElTVF9JTklUOworCXN0cnVjdCBzdHJidWYgbWlzc2luZyA9IFNUUkJVRl9JTklUOworCWludCBhZHZpc2VfdG9fZWRpdF90b2RvID0gMCwgcmVzID0gMCwgZmQsIGk7CisKKwlzdHJidWZfYWRkc3RyKCZ0b2RvX2ZpbGUsIHJlYmFzZV9wYXRoX3RvZG8oKSk7CisJZmQgPSBvcGVuKHRvZG9fZmlsZS5idWYsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKSB7CisJCXJlcyA9IGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcyciKSwgdG9kb19maWxlLmJ1Zik7CisJCWdvdG8gbGVhdmVfY2hlY2s7CisJfQorCWlmIChzdHJidWZfcmVhZCgmdG9kb19saXN0LmJ1ZiwgZmQsIDApIDwgMCkgeworCQljbG9zZShmZCk7CisJCXJlcyA9IGVycm9yKF8oImNvdWxkIG5vdCByZWFkICclcycuIiksIHRvZG9fZmlsZS5idWYpOworCQlnb3RvIGxlYXZlX2NoZWNrOworCX0KKwljbG9zZShmZCk7CisJYWR2aXNlX3RvX2VkaXRfdG9kbyA9IHJlcyA9CisJCXBhcnNlX2luc25fYnVmZmVyKHRvZG9fbGlzdC5idWYuYnVmLCAmdG9kb19saXN0KTsKKworCWlmIChyZXMgfHwgY2hlY2tfbGV2ZWwgPT0gQ0hFQ0tfSUdOT1JFKQorCQlnb3RvIGxlYXZlX2NoZWNrOworCisJLyogTWFyayB0aGUgY29tbWl0cyBpbiBnaXQtcmViYXNlLXRvZG8gYXMgc2VlbiAqLworCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QubnI7IGkrKykgeworCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSB0b2RvX2xpc3QuaXRlbXNbaV0uY29tbWl0OworCQlpZiAoY29tbWl0KQorCQkJY29tbWl0LT51dGlsID0gKHZvaWQgKikxOworCX0KKworCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCXN0cmJ1Zl9hZGRzdHIoJnRvZG9fZmlsZSwgIi5iYWNrdXAiKTsKKwlmZCA9IG9wZW4odG9kb19maWxlLmJ1ZiwgT19SRE9OTFkpOworCWlmIChmZCA8IDApIHsKKwkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGQgbm90IG9wZW4gJyVzJyIpLCB0b2RvX2ZpbGUuYnVmKTsKKwkJZ290byBsZWF2ZV9jaGVjazsKKwl9CisJaWYgKHN0cmJ1Zl9yZWFkKCZ0b2RvX2xpc3QuYnVmLCBmZCwgMCkgPCAwKSB7CisJCWNsb3NlKGZkKTsKKwkJcmVzID0gZXJyb3IoXygiY291bGQgbm90IHJlYWQgJyVzJy4iKSwgdG9kb19maWxlLmJ1Zik7CisJCWdvdG8gbGVhdmVfY2hlY2s7CisJfQorCWNsb3NlKGZkKTsKKwlzdHJidWZfcmVsZWFzZSgmdG9kb19maWxlKTsKKwlyZXMgPSAhIXBhcnNlX2luc25fYnVmZmVyKHRvZG9fbGlzdC5idWYuYnVmLCAmdG9kb19saXN0KTsKKworCS8qIEZpbmQgY29tbWl0cyBpbiBnaXQtcmViYXNlLXRvZG8uYmFja3VwIHlldCB1bnNlZW4gKi8KKwlmb3IgKGkgPSB0b2RvX2xpc3QubnIgLSAxOyBpID49IDA7IGktLSkgeworCQlzdHJ1Y3QgdG9kb19pdGVtICppdGVtID0gdG9kb19saXN0Lml0ZW1zICsgaTsKKwkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gaXRlbS0+Y29tbWl0OworCQlpZiAoY29tbWl0ICYmICFjb21taXQtPnV0aWwpIHsKKwkJCXN0cmJ1Zl9hZGRmKCZtaXNzaW5nLCAiIC0gJXMgJS4qc1xuIiwKKwkJCQkgICAgc2hvcnRfY29tbWl0X25hbWUoY29tbWl0KSwKKwkJCQkgICAgaXRlbS0+YXJnX2xlbiwgaXRlbS0+YXJnKTsKKwkJCWNvbW1pdC0+dXRpbCA9ICh2b2lkICopMTsKKwkJfQorCX0KKworCS8qIFdhcm4gYWJvdXQgbWlzc2luZyBjb21taXRzICovCisJaWYgKCFtaXNzaW5nLmxlbikKKwkJZ290byBsZWF2ZV9jaGVjazsKKworCWlmIChjaGVja19sZXZlbCA9PSBDSEVDS19FUlJPUikKKwkJYWR2aXNlX3RvX2VkaXRfdG9kbyA9IHJlcyA9IDE7CisKKwlmcHJpbnRmKHN0ZGVyciwKKwkJXygiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCisJCSJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIpKTsKKworCS8qIE1ha2UgdGhlIGxpc3QgdXNlci1mcmllbmRseSBhbmQgZGlzcGxheSAqLworCWZwdXRzKG1pc3NpbmcuYnVmLCBzdGRlcnIpOworCXN0cmJ1Zl9yZWxlYXNlKCZtaXNzaW5nKTsKKworCWZwcmludGYoc3RkZXJyLCBfKCJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byAiCisJCSJleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cblxuIgorCQkiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgIgorCQkidGhlIGxldmVsIG9mIHdhcm5pbmdzLlxuIgorCQkiVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuXG4iKSk7CisKK2xlYXZlX2NoZWNrOgorCXN0cmJ1Zl9yZWxlYXNlKCZ0b2RvX2ZpbGUpOworCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCisJaWYgKGFkdmlzZV90b19lZGl0X3RvZG8pCisJCWZwcmludGYoc3RkZXJyLAorCQkJXygiWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyAiCisJCQkgICJhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScuXG4iCisJCQkgICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSIKKwkJCSAgIiAtLWFib3J0Jy5cbiIpKTsKKworCXJldHVybiByZXM7Cit9CisKKy8qIHNraXAgcGlja2luZyBjb21taXRzIHdob3NlIHBhcmVudHMgYXJlIHVuY2hhbmdlZCAqLworaW50IHNraXBfdW5uZWNlc3NhcnlfcGlja3Modm9pZCkKK3sKKwljb25zdCBjaGFyICp0b2RvX2ZpbGUgPSByZWJhc2VfcGF0aF90b2RvKCk7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgdG9kb19saXN0IHRvZG9fbGlzdCA9IFRPRE9fTElTVF9JTklUOworCXN0cnVjdCBvYmplY3RfaWQgb250b19vaWQsICpvaWQgPSAmb250b19vaWQsICpwYXJlbnRfb2lkOworCWludCBmZCwgaTsKKworCWlmICghcmVhZF9vbmVsaW5lcigmYnVmLCByZWJhc2VfcGF0aF9vbnRvKCksIDApKQorCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlYWQgJ29udG8nIikpOworCWlmIChnZXRfb2lkKGJ1Zi5idWYsICZvbnRvX29pZCkpIHsKKwkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJCXJldHVybiBlcnJvcihfKCJuZWVkIGEgSEVBRCB0byBmaXh1cCIpKTsKKwl9CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisKKwlmZCA9IG9wZW4odG9kb19maWxlLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkgeworCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IG9wZW4gJyVzJyIpLCB0b2RvX2ZpbGUpOworCX0KKwlpZiAoc3RyYnVmX3JlYWQoJnRvZG9fbGlzdC5idWYsIGZkLCAwKSA8IDApIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlYWQgJyVzJy4iKSwgdG9kb19maWxlKTsKKwl9CisJY2xvc2UoZmQpOworCWlmIChwYXJzZV9pbnNuX2J1ZmZlcih0b2RvX2xpc3QuYnVmLmJ1ZiwgJnRvZG9fbGlzdCkgPCAwKSB7CisJCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCQlyZXR1cm4gLTE7CisJfQorCisJZm9yIChpID0gMDsgaSA8IHRvZG9fbGlzdC5ucjsgaSsrKSB7CisJCXN0cnVjdCB0b2RvX2l0ZW0gKml0ZW0gPSB0b2RvX2xpc3QuaXRlbXMgKyBpOworCisJCWlmIChpdGVtLT5jb21tYW5kID49IFRPRE9fTk9PUCkKKwkJCWNvbnRpbnVlOworCQlpZiAoaXRlbS0+Y29tbWFuZCAhPSBUT0RPX1BJQ0spCisJCQlicmVhazsKKwkJaWYgKHBhcnNlX2NvbW1pdChpdGVtLT5jb21taXQpKSB7CisJCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKwkJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciKSwKKwkJCQlvaWRfdG9faGV4KCZpdGVtLT5jb21taXQtPm9iamVjdC5vaWQpKTsKKwkJfQorCQlpZiAoIWl0ZW0tPmNvbW1pdC0+cGFyZW50cykKKwkJCWJyZWFrOyAvKiByb290IGNvbW1pdCAqLworCQlpZiAoaXRlbS0+Y29tbWl0LT5wYXJlbnRzLT5uZXh0KQorCQkJYnJlYWs7IC8qIG1lcmdlIGNvbW1pdCAqLworCQlwYXJlbnRfb2lkID0gJml0ZW0tPmNvbW1pdC0+cGFyZW50cy0+aXRlbS0+b2JqZWN0Lm9pZDsKKwkJaWYgKGhhc2hjbXAocGFyZW50X29pZC0+aGFzaCwgb2lkLT5oYXNoKSkKKwkJCWJyZWFrOworCQlvaWQgPSAmaXRlbS0+Y29tbWl0LT5vYmplY3Qub2lkOworCX0KKwlpZiAoaSA+IDApIHsKKwkJaW50IG9mZnNldCA9IGkgPCB0b2RvX2xpc3QubnIgPworCQkJdG9kb19saXN0Lml0ZW1zW2ldLm9mZnNldF9pbl9idWYgOiB0b2RvX2xpc3QuYnVmLmxlbjsKKwkJY29uc3QgY2hhciAqZG9uZV9wYXRoID0gcmViYXNlX3BhdGhfZG9uZSgpOworCisJCWZkID0gb3Blbihkb25lX3BhdGgsIE9fQ1JFQVQgfCBPX1dST05MWSB8IE9fQVBQRU5ELCAwNjY2KTsKKwkJaWYgKGZkIDwgMCkgeworCQkJZXJyb3JfZXJybm8oXygiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIpLAorCQkJCSAgICBkb25lX3BhdGgpOworCQkJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CisJCQlyZXR1cm4gLTE7CisJCX0KKwkJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIHRvZG9fbGlzdC5idWYuYnVmLCBvZmZzZXQpIDwgMCkgeworCQkJZXJyb3JfZXJybm8oXygiY291bGQgbm90IHdyaXRlIHRvICclcyciKSwgZG9uZV9wYXRoKTsKKwkJCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCQkJY2xvc2UoZmQpOworCQkJcmV0dXJuIC0xOworCQl9CisJCWNsb3NlKGZkKTsKKworCQlmZCA9IG9wZW4ocmViYXNlX3BhdGhfdG9kbygpLCBPX1dST05MWSwgMDY2Nik7CisJCWlmIChmZCA8IDApIHsKKwkJCWVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciKSwKKwkJCQkgICAgcmViYXNlX3BhdGhfdG9kbygpKTsKKwkJCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCQkJcmV0dXJuIC0xOworCQl9CisJCWlmICh3cml0ZV9pbl9mdWxsKGZkLCB0b2RvX2xpc3QuYnVmLmJ1ZiArIG9mZnNldCwKKwkJCQl0b2RvX2xpc3QuYnVmLmxlbiAtIG9mZnNldCkgPCAwKSB7CisJCQllcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIpLAorCQkJCSAgICByZWJhc2VfcGF0aF90b2RvKCkpOworCQkJY2xvc2UoZmQpOworCQkJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CisJCQlyZXR1cm4gLTE7CisJCX0KKwkJaWYgKGZ0cnVuY2F0ZShmZCwgdG9kb19saXN0LmJ1Zi5sZW4gLSBvZmZzZXQpIDwgMCkgeworCQkJZXJyb3JfZXJybm8oXygiY291bGQgbm90IHRydW5jYXRlICclcyciKSwKKwkJCQkgICAgcmViYXNlX3BhdGhfdG9kbygpKTsKKwkJCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCQkJY2xvc2UoZmQpOworCQkJcmV0dXJuIC0xOworCQl9CisJCWNsb3NlKGZkKTsKKworCQl0b2RvX2xpc3QuY3VycmVudCA9IGk7CisJCWlmIChpc19maXh1cChwZWVrX2NvbW1hbmQoJnRvZG9fbGlzdCwgMCkpKQorCQkJcmVjb3JkX2luX3Jld3JpdHRlbihvaWQsIHBlZWtfY29tbWFuZCgmdG9kb19saXN0LCAwKSk7CisJfQorCisJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CisJcHJpbnRmKCIlc1xuIiwgb2lkX3RvX2hleChvaWQpKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc3ViamVjdDJpdGVtX2VudHJ5IHsKKwlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnRyeTsKKwlpbnQgaTsKKwljaGFyIHN1YmplY3RbRkxFWF9BUlJBWV07Cit9OworCitzdGF0aWMgaW50IHN1YmplY3QyaXRlbV9jbXAoY29uc3Qgdm9pZCAqZm5kYXRhLAorCQkJICAgIGNvbnN0IHN0cnVjdCBzdWJqZWN0Mml0ZW1fZW50cnkgKmEsCisJCQkgICAgY29uc3Qgc3RydWN0IHN1YmplY3QyaXRlbV9lbnRyeSAqYiwgY29uc3Qgdm9pZCAqa2V5KQoreworCXJldHVybiBrZXkgPyBzdHJjbXAoYS0+c3ViamVjdCwga2V5KSA6IHN0cmNtcChhLT5zdWJqZWN0LCBiLT5zdWJqZWN0KTsKK30KKworLyoKKyAqIFJlYXJyYW5nZSB0aGUgdG9kbyBsaXN0IHRoYXQgaGFzIGJvdGggInBpY2sgY29tbWl0LWlkIG1zZyIgYW5kICJwaWNrCisgKiBjb21taXQtaWQgZml4dXAhL3NxdWFzaCEgbXNnIiBpbiBpdCBzbyB0aGF0IHRoZSBsYXR0ZXIgaXMgcHV0IGltbWVkaWF0ZWx5CisgKiBhZnRlciB0aGUgZm9ybWVyLCBhbmQgY2hhbmdlICJwaWNrIiB0byAiZml4dXAiLyJzcXVhc2giLgorICoKKyAqIE5vdGUgdGhhdCBpZiB0aGUgY29uZmlnIGhhcyBzcGVjaWZpZWQgYSBjdXN0b20gaW5zdHJ1Y3Rpb24gZm9ybWF0LCBlYWNoIGxvZworICogbWVzc2FnZSB3aWxsIGhhdmUgdG8gYmUgcmV0cmlldmVkIGZyb20gdGhlIGNvbW1pdCAoYXMgdGhlIG9uZWxpbmUgaW4gdGhlCisgKiBzY3JpcHQgY2Fubm90IGJlIHRydXN0ZWQpIGluIG9yZGVyIHRvIG5vcm1hbGl6ZSB0aGUgYXV0b3NxdWFzaCBhcnJhbmdlbWVudC4KKyAqLworaW50IHJlYXJyYW5nZV9zcXVhc2godm9pZCkKK3sKKwljb25zdCBjaGFyICp0b2RvX2ZpbGUgPSByZWJhc2VfcGF0aF90b2RvKCk7CisJc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKKwlzdHJ1Y3QgaGFzaG1hcCBzdWJqZWN0Mml0ZW07CisJaW50IHJlcyA9IDAsIHJlYXJyYW5nZWQgPSAwLCAqbmV4dCwgKnRhaWwsIGZkLCBpOworCWNoYXIgKipzdWJqZWN0czsKKworCWZkID0gb3Blbih0b2RvX2ZpbGUsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IG9wZW4gJyVzJyIpLCB0b2RvX2ZpbGUpOworCWlmIChzdHJidWZfcmVhZCgmdG9kb19saXN0LmJ1ZiwgZmQsIDApIDwgMCkgeworCQljbG9zZShmZCk7CisJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCAnJXMnLiIpLCB0b2RvX2ZpbGUpOworCX0KKwljbG9zZShmZCk7CisJaWYgKHBhcnNlX2luc25fYnVmZmVyKHRvZG9fbGlzdC5idWYuYnVmLCAmdG9kb19saXN0KSA8IDApIHsKKwkJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CisJCXJldHVybiAtMTsKKwl9CisKKwkvKgorCSAqIFRoZSBoYXNobWFwIG1hcHMgb25lbGluZXMgdG8gdGhlIHJlc3BlY3RpdmUgdG9kbyBsaXN0IGluZGV4LgorCSAqCisJICogSWYgYW55IGl0ZW1zIG5lZWQgdG8gYmUgcmVhcnJhbmdlZCwgdGhlIG5leHRbaV0gdmFsdWUgd2lsbCBpbmRpY2F0ZQorCSAqIHdoaWNoIGl0ZW0gd2FzIG1vdmVkIGRpcmVjdGx5IGFmdGVyIHRoZSBpJ3RoLgorCSAqCisJICogSW4gdGhhdCBjYXNlLCBsYXN0W2ldIHdpbGwgaW5kaWNhdGUgdGhlIGluZGV4IG9mIHRoZSBsYXRlc3QgaXRlbSB0bworCSAqIGJlIG1vdmVkIHRvIGFwcGVhciBhZnRlciB0aGUgaSd0aC4KKwkgKi8KKwloYXNobWFwX2luaXQoJnN1YmplY3QyaXRlbSwgKGhhc2htYXBfY21wX2ZuKSBzdWJqZWN0Mml0ZW1fY21wLAorCQkgICAgIE5VTEwsIHRvZG9fbGlzdC5ucik7CisJQUxMT0NfQVJSQVkobmV4dCwgdG9kb19saXN0Lm5yKTsKKwlBTExPQ19BUlJBWSh0YWlsLCB0b2RvX2xpc3QubnIpOworCUFMTE9DX0FSUkFZKHN1YmplY3RzLCB0b2RvX2xpc3QubnIpOworCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QubnI7IGkrKykgeworCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCQlzdHJ1Y3QgdG9kb19pdGVtICppdGVtID0gdG9kb19saXN0Lml0ZW1zICsgaTsKKwkJY29uc3QgY2hhciAqY29tbWl0X2J1ZmZlciwgKnN1YmplY3QsICpwOworCQlzaXplX3Qgc3ViamVjdF9sZW47CisJCWludCBpMiA9IC0xOworCQlzdHJ1Y3Qgc3ViamVjdDJpdGVtX2VudHJ5ICplbnRyeTsKKworCQluZXh0W2ldID0gdGFpbFtpXSA9IC0xOworCQlpZiAoaXRlbS0+Y29tbWFuZCA+PSBUT0RPX0VYRUMpIHsKKwkJCXN1YmplY3RzW2ldID0gTlVMTDsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKGlzX2ZpeHVwKGl0ZW0tPmNvbW1hbmQpKSB7CisJCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKwkJCXJldHVybiBlcnJvcihfKCJ0aGUgc2NyaXB0IHdhcyBhbHJlYWR5IHJlYXJyYW5nZWQuIikpOworCQl9CisKKwkJaXRlbS0+Y29tbWl0LT51dGlsID0gaXRlbTsKKworCQlwYXJzZV9jb21taXQoaXRlbS0+Y29tbWl0KTsKKwkJY29tbWl0X2J1ZmZlciA9IGdldF9jb21taXRfYnVmZmVyKGl0ZW0tPmNvbW1pdCwgTlVMTCk7CisJCWZpbmRfY29tbWl0X3N1YmplY3QoY29tbWl0X2J1ZmZlciwgJnN1YmplY3QpOworCQlmb3JtYXRfc3ViamVjdCgmYnVmLCBzdWJqZWN0LCAiICIpOworCQlzdWJqZWN0ID0gc3ViamVjdHNbaV0gPSBzdHJidWZfZGV0YWNoKCZidWYsICZzdWJqZWN0X2xlbik7CisJCXVudXNlX2NvbW1pdF9idWZmZXIoaXRlbS0+Y29tbWl0LCBjb21taXRfYnVmZmVyKTsKKwkJaWYgKChza2lwX3ByZWZpeChzdWJqZWN0LCAiZml4dXAhICIsICZwKSB8fAorCQkgICAgIHNraXBfcHJlZml4KHN1YmplY3QsICJzcXVhc2ghICIsICZwKSkpIHsKKwkJCXN0cnVjdCBjb21taXQgKmNvbW1pdDI7CisKKwkJCWZvciAoOzspIHsKKwkJCQl3aGlsZSAoaXNzcGFjZSgqcCkpCisJCQkJCXArKzsKKwkJCQlpZiAoIXNraXBfcHJlZml4KHAsICJmaXh1cCEgIiwgJnApICYmCisJCQkJICAgICFza2lwX3ByZWZpeChwLCAic3F1YXNoISAiLCAmcCkpCisJCQkJCWJyZWFrOworCQkJfQorCisJCQlpZiAoKGVudHJ5ID0gaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZzdWJqZWN0Mml0ZW0sCisJCQkJCQkJICAgc3RyaGFzaChwKSwgcCkpKQorCQkJCS8qIGZvdW5kIGJ5IHRpdGxlICovCisJCQkJaTIgPSBlbnRyeS0+aTsKKwkJCWVsc2UgaWYgKCFzdHJjaHIocCwgJyAnKSAmJgorCQkJCSAoY29tbWl0MiA9CisJCQkJICBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9ieV9uYW1lKHApKSAmJgorCQkJCSBjb21taXQyLT51dGlsKQorCQkJCS8qIGZvdW5kIGJ5IGNvbW1pdCBuYW1lICovCisJCQkJaTIgPSAoc3RydWN0IHRvZG9faXRlbSAqKWNvbW1pdDItPnV0aWwKKwkJCQkJLSB0b2RvX2xpc3QuaXRlbXM7CisJCQllbHNlIHsKKwkJCQkvKiBjb3B5IGNhbiBiZSBhIHByZWZpeCBvZiB0aGUgY29tbWl0IHN1YmplY3QgKi8KKwkJCQlmb3IgKGkyID0gMDsgaTIgPCBpOyBpMisrKQorCQkJCQlpZiAoc3ViamVjdHNbaTJdICYmCisJCQkJCSAgICBzdGFydHNfd2l0aChzdWJqZWN0c1tpMl0sIHApKQorCQkJCQkJYnJlYWs7CisJCQkJaWYgKGkyID09IGkpCisJCQkJCWkyID0gLTE7CisJCQl9CisJCX0KKwkJaWYgKGkyID49IDApIHsKKwkJCXJlYXJyYW5nZWQgPSAxOworCQkJdG9kb19saXN0Lml0ZW1zW2ldLmNvbW1hbmQgPQorCQkJCXN0YXJ0c193aXRoKHN1YmplY3QsICJmaXh1cCEiKSA/CisJCQkJVE9ET19GSVhVUCA6IFRPRE9fU1FVQVNIOworCQkJaWYgKG5leHRbaTJdIDwgMCkKKwkJCQluZXh0W2kyXSA9IGk7CisJCQllbHNlCisJCQkJbmV4dFt0YWlsW2kyXV0gPSBpOworCQkJdGFpbFtpMl0gPSBpOworCQl9IGVsc2UgaWYgKCFoYXNobWFwX2dldF9mcm9tX2hhc2goJnN1YmplY3QyaXRlbSwKKwkJCQkJCXN0cmhhc2goc3ViamVjdCksIHN1YmplY3QpKSB7CisJCQlGTEVYX0FMTE9DX01FTShlbnRyeSwgc3ViamVjdCwgc3ViamVjdCwgc3ViamVjdF9sZW4pOworCQkJZW50cnktPmkgPSBpOworCQkJaGFzaG1hcF9lbnRyeV9pbml0KGVudHJ5LCBzdHJoYXNoKGVudHJ5LT5zdWJqZWN0KSk7CisJCQloYXNobWFwX3B1dCgmc3ViamVjdDJpdGVtLCBlbnRyeSk7CisJCX0KKwl9CisKKwlpZiAocmVhcnJhbmdlZCkgeworCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCisJCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QubnI7IGkrKykgeworCQkJZW51bSB0b2RvX2NvbW1hbmQgY29tbWFuZCA9IHRvZG9fbGlzdC5pdGVtc1tpXS5jb21tYW5kOworCQkJaW50IGN1ciA9IGk7CisKKwkJCS8qCisJCQkgKiBJbml0aWFsbHksIGFsbCBjb21tYW5kcyBhcmUgJ3BpY2sncy4gSWYgaXQgaXMgYQorCQkJICogZml4dXAgb3IgYSBzcXVhc2ggbm93LCB3ZSBoYXZlIHJlYXJyYW5nZWQgaXQuCisJCQkgKi8KKwkJCWlmIChpc19maXh1cChjb21tYW5kKSkKKwkJCQljb250aW51ZTsKKworCQkJd2hpbGUgKGN1ciA+PSAwKSB7CisJCQkJaW50IG9mZnNldCA9IHRvZG9fbGlzdC5pdGVtc1tjdXJdLm9mZnNldF9pbl9idWY7CisJCQkJaW50IGVuZF9vZmZzZXQgPSBjdXIgKyAxIDwgdG9kb19saXN0Lm5yID8KKwkJCQkJdG9kb19saXN0Lml0ZW1zW2N1ciArIDFdLm9mZnNldF9pbl9idWYgOgorCQkJCQl0b2RvX2xpc3QuYnVmLmxlbjsKKwkJCQljaGFyICpib2wgPSB0b2RvX2xpc3QuYnVmLmJ1ZiArIG9mZnNldDsKKwkJCQljaGFyICplb2wgPSB0b2RvX2xpc3QuYnVmLmJ1ZiArIGVuZF9vZmZzZXQ7CisKKwkJCQkvKiByZXBsYWNlICdwaWNrJywgYnkgJ2ZpeHVwJyBvciAnc3F1YXNoJyAqLworCQkJCWNvbW1hbmQgPSB0b2RvX2xpc3QuaXRlbXNbY3VyXS5jb21tYW5kOworCQkJCWlmIChpc19maXh1cChjb21tYW5kKSkgeworCQkJCQlzdHJidWZfYWRkc3RyKCZidWYsCisJCQkJCQl0b2RvX2NvbW1hbmRfaW5mb1tjb21tYW5kXS5zdHIpOworCQkJCQlib2wgKz0gc3RyY3Nwbihib2wsICIgXHQiKTsKKwkJCQl9CisKKwkJCQlzdHJidWZfYWRkKCZidWYsIGJvbCwgZW9sIC0gYm9sKTsKKworCQkJCWN1ciA9IG5leHRbY3VyXTsKKwkJCX0KKwkJfQorCisJCWZkID0gb3Blbih0b2RvX2ZpbGUsIE9fV1JPTkxZKTsKKwkJaWYgKGZkIDwgMCkKKwkJCXJlcyA9IGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcyciKSwgdG9kb19maWxlKTsKKwkJZWxzZSBpZiAod3JpdGUoZmQsIGJ1Zi5idWYsIGJ1Zi5sZW4pIDwgMCkKKwkJCXJlcyA9IGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCByZWFkICclcycuIiksIHRvZG9fZmlsZSk7CisJCWVsc2UgaWYgKGZ0cnVuY2F0ZShmZCwgYnVmLmxlbikgPCAwKQorCQkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGQgbm90IGZpbmlzaCAnJXMnIiksCisJCQkJCSAgIHRvZG9fZmlsZSk7CisJCWNsb3NlKGZkKTsKKwkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJfQorCisJZnJlZShuZXh0KTsKKwlmcmVlKHRhaWwpOworCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QubnI7IGkrKykKKwkJZnJlZShzdWJqZWN0c1tpXSk7CisJZnJlZShzdWJqZWN0cyk7CisJaGFzaG1hcF9mcmVlKCZzdWJqZWN0Mml0ZW0sIDEpOworCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCisJcmV0dXJuIHJlczsKK30KZGlmZiAtLWdpdCBhL3NlcXVlbmNlci5oIGIvc2VxdWVuY2VyLmgKaW5kZXggZjg4NWI2OC4uNmYzZDNkZiAxMDA2NDQKLS0tIGEvc2VxdWVuY2VyLmgKKysrIGIvc2VxdWVuY2VyLmgKQEAgLTQ1LDYgKzQ1LDE0IEBACiBpbnQgc2VxdWVuY2VyX3JvbGxiYWNrKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cyk7CiBpbnQgc2VxdWVuY2VyX3JlbW92ZV9zdGF0ZShzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpOwogCitpbnQgc2VxdWVuY2VyX21ha2Vfc2NyaXB0KGludCBrZWVwX2VtcHR5LCBGSUxFICpvdXQsCisJCWludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CisKK2ludCB0cmFuc2Zvcm1fdG9kb19pZHMoaW50IHNob3J0ZW5faWRzKTsKK2ludCBjaGVja190b2RvX2xpc3Qodm9pZCk7CitpbnQgc2tpcF91bm5lY2Vzc2FyeV9waWNrcyh2b2lkKTsKK2ludCByZWFycmFuZ2Vfc3F1YXNoKHZvaWQpOworCiBleHRlcm4gY29uc3QgY2hhciBzaWduX29mZl9oZWFkZXJbXTsKIAogdm9pZCBhcHBlbmRfc2lnbm9mZihzdHJ1Y3Qgc3RyYnVmICptc2didWYsIGludCBpZ25vcmVfZm9vdGVyLCB1bnNpZ25lZCBmbGFnKTsKZGlmZiAtLWdpdCBhL3NlcnZlci1pbmZvLmMgYi9zZXJ2ZXItaW5mby5jCmluZGV4IDdiYzRlNzUuLjI2YTZjMjAgMTAwNjQ0Ci0tLSBhL3NlcnZlci1pbmZvLmMKKysrIGIvc2VydmVyLWluZm8uYwpAQCAtMyw2ICszLDcgQEAKICNpbmNsdWRlICJvYmplY3QuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJ0YWcuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiAvKgogICogQ3JlYXRlIHRoZSBmaWxlICJwYXRoIiBieSB3cml0aW5nIHRvIGEgdGVtcG9yYXJ5IGZpbGUgYW5kIHJlbmFtaW5nCkBAIC0xNCwxOSArMTUsMjEgQEAKIAljaGFyICp0bXAgPSBta3BhdGhkdXAoIiVzX1hYWFhYWCIsIHBhdGgpOwogCWludCByZXQgPSAtMTsKIAlpbnQgZmQgPSAtMTsKLQlGSUxFICpmcCA9IE5VTEw7CisJRklMRSAqZnAgPSBOVUxMLCAqdG9fY2xvc2U7CiAKIAlzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKHBhdGgpOwogCWZkID0gZ2l0X21rc3RlbXBfbW9kZSh0bXAsIDA2NjYpOwogCWlmIChmZCA8IDApCiAJCWdvdG8gb3V0OwotCWZwID0gZmRvcGVuKGZkLCAidyIpOworCXRvX2Nsb3NlID0gZnAgPSBmZG9wZW4oZmQsICJ3Iik7CiAJaWYgKCFmcCkKIAkJZ290byBvdXQ7CisJZmQgPSAtMTsKIAlyZXQgPSBnZW5lcmF0ZShmcCk7CiAJaWYgKHJldCkKIAkJZ290byBvdXQ7Ci0JaWYgKGZjbG9zZShmcCkpCisJZnAgPSBOVUxMOworCWlmIChmY2xvc2UodG9fY2xvc2UpKQogCQlnb3RvIG91dDsKIAlpZiAoYWRqdXN0X3NoYXJlZF9wZXJtKHRtcCkgPCAwKQogCQlnb3RvIG91dDsKQEAgLTUxLDcgKzU0LDcgQEAKIAkJCWludCBmbGFnLCB2b2lkICpjYl9kYXRhKQogewogCUZJTEUgKmZwID0gY2JfZGF0YTsKLQlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KG9pZC0+aGFzaCk7CisJc3RydWN0IG9iamVjdCAqbyA9IHBhcnNlX29iamVjdChvaWQpOwogCWlmICghbykKIAkJcmV0dXJuIC0xOwogCkBAIC0xMzEsNyArMTM0LDcgQEAKIAljaGFyIGxpbmVbMTAwMF07CiAJaW50IG9sZF9jbnQgPSAwOwogCi0JZnAgPSBmb3BlbihpbmZvZmlsZSwgInIiKTsKKwlmcCA9IGZvcGVuX29yX3dhcm4oaW5mb2ZpbGUsICJyIik7CiAJaWYgKCFmcCkKIAkJcmV0dXJuIDE7IC8qIG5vbmV4aXN0ZW50IGlzIG5vdCBhbiBlcnJvci4gKi8KIApkaWZmIC0tZ2l0IGEvc2V0dXAuYyBiL3NldHVwLmMKaW5kZXggOGY2NGZiZC4uZDc3N2ZmMyAxMDA2NDQKLS0tIGEvc2V0dXAuYworKysgYi9zZXR1cC5jCkBAIC0xLDQgKzEsNiBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAKQEAgLTEzNCwyMSArMTM2LDMwIEBACiAKIGludCBjaGVja19maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKmFyZykKIHsKLQljb25zdCBjaGFyICpuYW1lOworCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOwogCXN0cnVjdCBzdGF0IHN0OwogCi0JaWYgKHN0YXJ0c193aXRoKGFyZywgIjovIikpIHsKLQkJaWYgKGFyZ1syXSA9PSAnXDAnKSAvKiAiOi8iIGlzIHJvb3QgZGlyLCBhbHdheXMgZXhpc3RzICovCisJaWYgKHNraXBfcHJlZml4KGFyZywgIjovIiwgJmFyZykpIHsKKwkJaWYgKCEqYXJnKSAvKiAiOi8iIGlzIHJvb3QgZGlyLCBhbHdheXMgZXhpc3RzICovCiAJCQlyZXR1cm4gMTsKLQkJbmFtZSA9IGFyZyArIDI7Ci0JfSBlbHNlIGlmIChwcmVmaXgpCi0JCW5hbWUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBzdHJsZW4ocHJlZml4KSwgYXJnKTsKLQllbHNlCi0JCW5hbWUgPSBhcmc7Ci0JaWYgKCFsc3RhdChuYW1lLCAmc3QpKQorCQlwcmVmaXggPSBOVUxMOworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiOiEiLCAmYXJnKSB8fAorCQkgICBza2lwX3ByZWZpeChhcmcsICI6XiIsICZhcmcpKSB7CisJCWlmICghKmFyZykgLyogZXhjbHVkaW5nIGV2ZXJ5dGhpbmcgaXMgc2lsbHksIGJ1dCBhbGxvd2VkICovCisJCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAocHJlZml4KQorCQlhcmcgPSB0b19mcmVlID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgYXJnKTsKKworCWlmICghbHN0YXQoYXJnLCAmc3QpKSB7CisJCWZyZWUodG9fZnJlZSk7CiAJCXJldHVybiAxOyAvKiBmaWxlIGV4aXN0cyAqLwotCWlmIChlcnJubyA9PSBFTk9FTlQgfHwgZXJybm8gPT0gRU5PVERJUikKKwl9CisJaWYgKGlzX21pc3NpbmdfZmlsZV9lcnJvcihlcnJubykpIHsKKwkJZnJlZSh0b19mcmVlKTsKIAkJcmV0dXJuIDA7IC8qIGZpbGUgZG9lcyBub3QgZXhpc3QgKi8KKwl9CiAJZGllX2Vycm5vKCJmYWlsZWQgdG8gc3RhdCAnJXMnIiwgYXJnKTsKIH0KIApAQCAtMTc3LDYgKzE4OCwyNCBAQAogfQogCiAvKgorICogQ2hlY2sgZm9yIGFyZ3VtZW50cyB0aGF0IGRvbid0IHJlc29sdmUgYXMgYWN0dWFsIGZpbGVzLAorICogYnV0IHdoaWNoIGxvb2sgc3VmZmljaWVudGx5IGxpa2UgcGF0aHNwZWNzIHRoYXQgd2UnbGwgY29uc2lkZXIKKyAqIHRoZW0gc3VjaCBmb3IgdGhlIHB1cnBvc2VzIG9mIHJldi9wYXRoc3BlYyBEV0lNIHBhcnNpbmcuCisgKi8KK3N0YXRpYyBpbnQgbG9va3NfbGlrZV9wYXRoc3BlYyhjb25zdCBjaGFyICphcmcpCit7CisJLyogYW55dGhpbmcgd2l0aCBhIHdpbGRjYXJkIGNoYXJhY3RlciAqLworCWlmICghbm9fd2lsZGNhcmQoYXJnKSkKKwkJcmV0dXJuIDE7CisKKwkvKiBsb25nLWZvcm0gcGF0aHNwZWMgbWFnaWMgKi8KKwlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiOigiKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworLyoKICAqIFZlcmlmeSBhIGZpbGVuYW1lIHRoYXQgd2UgZ290IGFzIGFuIGFyZ3VtZW50IGZvciBhIHBhdGhzcGVjCiAgKiBlbnRyeS4gTm90ZSB0aGF0IGEgZmlsZW5hbWUgdGhhdCBiZWdpbnMgd2l0aCAiLSIgbmV2ZXIgdmVyaWZpZXMKICAqIGFzIHRydWUsIGJlY2F1c2UgZXZlbiBpZiBzdWNoIGEgZmlsZW5hbWUgd2VyZSB0byBleGlzdCwgd2Ugd2FudApAQCAtMjAyLDcgKzIzMSw3IEBACiB7CiAJaWYgKCphcmcgPT0gJy0nKQogCQlkaWUoImJhZCBmbGFnICclcycgdXNlZCBhZnRlciBmaWxlbmFtZSIsIGFyZyk7Ci0JaWYgKGNoZWNrX2ZpbGVuYW1lKHByZWZpeCwgYXJnKSB8fCAhbm9fd2lsZGNhcmQoYXJnKSkKKwlpZiAobG9va3NfbGlrZV9wYXRoc3BlYyhhcmcpIHx8IGNoZWNrX2ZpbGVuYW1lKHByZWZpeCwgYXJnKSkKIAkJcmV0dXJuOwogCWRpZV92ZXJpZnlfZmlsZW5hbWUocHJlZml4LCBhcmcsIGRpYWdub3NlX21pc3NwZWx0X3Jldik7CiB9CkBAIC01MTIsNyArNTQxLDggQEAKIAogLyoKICAqIFRyeSB0byByZWFkIHRoZSBsb2NhdGlvbiBvZiB0aGUgZ2l0IGRpcmVjdG9yeSBmcm9tIHRoZSAuZ2l0IGZpbGUsCi0gKiByZXR1cm4gcGF0aCB0byBnaXQgZGlyZWN0b3J5IGlmIGZvdW5kLgorICogcmV0dXJuIHBhdGggdG8gZ2l0IGRpcmVjdG9yeSBpZiBmb3VuZC4gVGhlIHJldHVybiB2YWx1ZSBjb21lcyBmcm9tCisgKiBhIHNoYXJlZCBidWZmZXIuCiAgKgogICogT24gZmFpbHVyZSwgaWYgcmV0dXJuX2Vycm9yX2NvZGUgaXMgbm90IE5VTEwsIHJldHVybl9lcnJvcl9jb2RlCiAgKiB3aWxsIGJlIHNldCB0byBhbiBlcnJvciBjb2RlIGFuZCBOVUxMIHdpbGwgYmUgcmV0dXJuZWQuIElmCkBAIC01MzEsNiArNTYxLDcgQEAKIAlzc2l6ZV90IGxlbjsKIAogCWlmIChzdGF0KHBhdGgsICZzdCkpIHsKKwkJLyogTkVFRFNXT1JLOiBkaXNjZXJuIGJldHdlZW4gRU5PRU5UIHZzIG90aGVyIGVycm9ycyAqLwogCQllcnJvcl9jb2RlID0gUkVBRF9HSVRGSUxFX0VSUl9TVEFUX0ZBSUxFRDsKIAkJZ290byBjbGVhbnVwX3JldHVybjsKIAl9CkBAIC02OTcsMTEgKzcyOCwxNiBAQAogCiAJLyogLS13b3JrLXRyZWUgaXMgc2V0IHdpdGhvdXQgLS1naXQtZGlyOyB1c2UgZGlzY292ZXJlZCBvbmUgKi8KIAlpZiAoZ2V0ZW52KEdJVF9XT1JLX1RSRUVfRU5WSVJPTk1FTlQpIHx8IGdpdF93b3JrX3RyZWVfY2ZnKSB7CisJCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOworCQljb25zdCBjaGFyICpyZXQ7CisKIAkJaWYgKG9mZnNldCAhPSBjd2QtPmxlbiAmJiAhaXNfYWJzb2x1dGVfcGF0aChnaXRkaXIpKQotCQkJZ2l0ZGlyID0gcmVhbF9wYXRoZHVwKGdpdGRpciwgMSk7CisJCQlnaXRkaXIgPSB0b19mcmVlID0gcmVhbF9wYXRoZHVwKGdpdGRpciwgMSk7CiAJCWlmIChjaGRpcihjd2QtPmJ1ZikpCiAJCQlkaWVfZXJybm8oIkNvdWxkIG5vdCBjb21lIGJhY2sgdG8gY3dkIik7Ci0JCXJldHVybiBzZXR1cF9leHBsaWNpdF9naXRfZGlyKGdpdGRpciwgY3dkLCBub25naXRfb2spOworCQlyZXQgPSBzZXR1cF9leHBsaWNpdF9naXRfZGlyKGdpdGRpciwgY3dkLCBub25naXRfb2spOworCQlmcmVlKHRvX2ZyZWUpOworCQlyZXR1cm4gcmV0OwogCX0KIAogCS8qICMxNi4yLCAjMTcuMiwgIzIwLjIsICMyMS4yLCAjMjQsICMyNSwgIzI4LCAjMjkgKHNlZSB0MTUxMCkgKi8KQEAgLTcyMSw4ICs3NTcsMTAgQEAKIAlpZiAob2Zmc2V0ID09IGN3ZC0+bGVuKQogCQlyZXR1cm4gTlVMTDsKIAotCS8qIE1ha2UgIm9mZnNldCIgcG9pbnQgdG8gcGFzdCB0aGUgJy8nLCBhbmQgYWRkIGEgJy8nIGF0IHRoZSBlbmQgKi8KLQlvZmZzZXQrKzsKKwkvKiBNYWtlICJvZmZzZXQiIHBvaW50IHBhc3QgdGhlICcvJyAoYWxyZWFkeSB0aGUgY2FzZSBmb3Igcm9vdCBkaXJzKSAqLworCWlmIChvZmZzZXQgIT0gb2Zmc2V0XzFzdF9jb21wb25lbnQoY3dkLT5idWYpKQorCQlvZmZzZXQrKzsKKwkvKiBBZGQgYSAnLycgYXQgdGhlIGVuZCAqLwogCXN0cmJ1Zl9hZGRjaChjd2QsICcvJyk7CiAJcmV0dXJuIGN3ZC0+YnVmICsgb2Zmc2V0OwogfQpAQCAtNzQwLDcgKzc3OCw3IEBACiAKIAkvKiAtLXdvcmstdHJlZSBpcyBzZXQgd2l0aG91dCAtLWdpdC1kaXI7IHVzZSBkaXNjb3ZlcmVkIG9uZSAqLwogCWlmIChnZXRlbnYoR0lUX1dPUktfVFJFRV9FTlZJUk9OTUVOVCkgfHwgZ2l0X3dvcmtfdHJlZV9jZmcpIHsKLQkJY29uc3QgY2hhciAqZ2l0ZGlyOworCQlzdGF0aWMgY29uc3QgY2hhciAqZ2l0ZGlyOwogCiAJCWdpdGRpciA9IG9mZnNldCA9PSBjd2QtPmxlbiA/ICIuIiA6IHhtZW1kdXB6KGN3ZC0+YnVmLCBvZmZzZXQpOwogCQlpZiAoY2hkaXIoY3dkLT5idWYpKQpAQCAtODE2LDIyICs4NTQsMTc4IEBACiAJfQogfQogCitlbnVtIGRpc2NvdmVyeV9yZXN1bHQgeworCUdJVF9ESVJfTk9ORSA9IDAsCisJR0lUX0RJUl9FWFBMSUNJVCwKKwlHSVRfRElSX0RJU0NPVkVSRUQsCisJR0lUX0RJUl9CQVJFLAorCS8qIHRoZXNlIGFyZSBlcnJvcnMgKi8KKwlHSVRfRElSX0hJVF9DRUlMSU5HID0gLTEsCisJR0lUX0RJUl9ISVRfTU9VTlRfUE9JTlQgPSAtMiwKKwlHSVRfRElSX0lOVkFMSURfR0lURklMRSA9IC0zCit9OworCiAvKgogICogV2UgY2Fubm90IGRlY2lkZSBpbiB0aGlzIGZ1bmN0aW9uIHdoZXRoZXIgd2UgYXJlIGluIHRoZSB3b3JrIHRyZWUgb3IKICAqIG5vdCwgc2luY2UgdGhlIGNvbmZpZyBjYW4gb25seSBiZSByZWFkIF9hZnRlcl8gdGhpcyBmdW5jdGlvbiB3YXMgY2FsbGVkLgorICoKKyAqIEFsc28sIHdlIGF2b2lkIGNoYW5naW5nIGFueSBnbG9iYWwgc3RhdGUgKHN1Y2ggYXMgdGhlIGN1cnJlbnQgd29ya2luZworICogZGlyZWN0b3J5KSB0byBhbGxvdyBlYXJseSBjYWxsZXJzLgorICoKKyAqIFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHNlYXJjaCBzaG91bGQgc3RhcnQgbmVlZHMgdG8gYmUgcGFzc2VkIGluIHZpYSB0aGUKKyAqIGBkaXJgIHBhcmFtZXRlcjsgdXBvbiByZXR1cm4sIHRoZSBgZGlyYCBidWZmZXIgd2lsbCBjb250YWluIHRoZSBwYXRoIG9mCisgKiB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBzZWFyY2ggZW5kZWQsIGFuZCBgZ2l0ZGlyYCB3aWxsIGNvbnRhaW4gdGhlIHBhdGggb2YKKyAqIHRoZSBkaXNjb3ZlcmVkIC5naXQvIGRpcmVjdG9yeSwgaWYgYW55LiBJZiBgZ2l0ZGlyYCBpcyBub3QgYWJzb2x1dGUsIGl0CisgKiBpcyByZWxhdGl2ZSB0byBgZGlyYCAoaS5lLiAqbm90KiBuZWNlc3NhcmlseSB0aGUgY3dkKS4KICAqLwotc3RhdGljIGNvbnN0IGNoYXIgKnNldHVwX2dpdF9kaXJlY3RvcnlfZ2VudGx5XzEoaW50ICpub25naXRfb2spCitzdGF0aWMgZW51bSBkaXNjb3ZlcnlfcmVzdWx0IHNldHVwX2dpdF9kaXJlY3RvcnlfZ2VudGx5XzEoc3RydWN0IHN0cmJ1ZiAqZGlyLAorCQkJCQkJCSAgc3RydWN0IHN0cmJ1ZiAqZ2l0ZGlyLAorCQkJCQkJCSAgaW50IGRpZV9vbl9lcnJvcikKIHsKIAljb25zdCBjaGFyICplbnZfY2VpbGluZ19kaXJzID0gZ2V0ZW52KENFSUxJTkdfRElSRUNUT1JJRVNfRU5WSVJPTk1FTlQpOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBjZWlsaW5nX2RpcnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKLQlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBjd2QgPSBTVFJCVUZfSU5JVDsKLQljb25zdCBjaGFyICpnaXRkaXJlbnYsICpyZXQ7Ci0JY2hhciAqZ2l0ZmlsZTsKLQlpbnQgb2Zmc2V0LCBvZmZzZXRfcGFyZW50LCBjZWlsX29mZnNldCA9IC0xOworCWNvbnN0IGNoYXIgKmdpdGRpcmVudjsKKwlpbnQgY2VpbF9vZmZzZXQgPSAtMSwgbWluX29mZnNldCA9IGhhc19kb3NfZHJpdmVfcHJlZml4KGRpci0+YnVmKSA/IDMgOiAxOwogCWRldl90IGN1cnJlbnRfZGV2aWNlID0gMDsKIAlpbnQgb25lX2ZpbGVzeXN0ZW0gPSAxOwogCiAJLyoKKwkgKiBJZiBHSVRfRElSIGlzIHNldCBleHBsaWNpdGx5LCB3ZSdyZSBub3QgZ29pbmcKKwkgKiB0byBkbyBhbnkgZGlzY292ZXJ5LCBidXQgd2Ugc3RpbGwgZG8gcmVwb3NpdG9yeQorCSAqIHZhbGlkYXRpb24uCisJICovCisJZ2l0ZGlyZW52ID0gZ2V0ZW52KEdJVF9ESVJfRU5WSVJPTk1FTlQpOworCWlmIChnaXRkaXJlbnYpIHsKKwkJc3RyYnVmX2FkZHN0cihnaXRkaXIsIGdpdGRpcmVudik7CisJCXJldHVybiBHSVRfRElSX0VYUExJQ0lUOworCX0KKworCWlmIChlbnZfY2VpbGluZ19kaXJzKSB7CisJCWludCBlbXB0eV9lbnRyeV9mb3VuZCA9IDA7CisKKwkJc3RyaW5nX2xpc3Rfc3BsaXQoJmNlaWxpbmdfZGlycywgZW52X2NlaWxpbmdfZGlycywgUEFUSF9TRVAsIC0xKTsKKwkJZmlsdGVyX3N0cmluZ19saXN0KCZjZWlsaW5nX2RpcnMsIDAsCisJCQkJICAgY2Fub25pY2FsaXplX2NlaWxpbmdfZW50cnksICZlbXB0eV9lbnRyeV9mb3VuZCk7CisJCWNlaWxfb2Zmc2V0ID0gbG9uZ2VzdF9hbmNlc3Rvcl9sZW5ndGgoZGlyLT5idWYsICZjZWlsaW5nX2RpcnMpOworCQlzdHJpbmdfbGlzdF9jbGVhcigmY2VpbGluZ19kaXJzLCAwKTsKKwl9CisKKwlpZiAoY2VpbF9vZmZzZXQgPCAwKQorCQljZWlsX29mZnNldCA9IG1pbl9vZmZzZXQgLSAyOworCisJLyoKKwkgKiBUZXN0IGluIHRoZSBmb2xsb3dpbmcgb3JkZXIgKHJlbGF0aXZlIHRvIHRoZSBkaXIpOgorCSAqIC0gLmdpdCAoZmlsZSBjb250YWluaW5nICJnaXRkaXI6IDxwYXRoPiIpCisJICogLSAuZ2l0LworCSAqIC0gLi8gKGJhcmUpCisJICogLSAuLi8uZ2l0CisJICogLSAuLi8uZ2l0LworCSAqIC0gLi4vIChiYXJlKQorCSAqIC0gLi4vLi4vLmdpdC8KKwkgKiAgIGV0Yy4KKwkgKi8KKwlvbmVfZmlsZXN5c3RlbSA9ICFnaXRfZW52X2Jvb2woIkdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0iLCAwKTsKKwlpZiAob25lX2ZpbGVzeXN0ZW0pCisJCWN1cnJlbnRfZGV2aWNlID0gZ2V0X2RldmljZV9vcl9kaWUoZGlyLT5idWYsIE5VTEwsIDApOworCWZvciAoOzspIHsKKwkJaW50IG9mZnNldCA9IGRpci0+bGVuLCBlcnJvcl9jb2RlID0gMDsKKworCQlpZiAob2Zmc2V0ID4gbWluX29mZnNldCkKKwkJCXN0cmJ1Zl9hZGRjaChkaXIsICcvJyk7CisJCXN0cmJ1Zl9hZGRzdHIoZGlyLCBERUZBVUxUX0dJVF9ESVJfRU5WSVJPTk1FTlQpOworCQlnaXRkaXJlbnYgPSByZWFkX2dpdGZpbGVfZ2VudGx5KGRpci0+YnVmLCBkaWVfb25fZXJyb3IgPworCQkJCQkJTlVMTCA6ICZlcnJvcl9jb2RlKTsKKwkJaWYgKCFnaXRkaXJlbnYpIHsKKwkJCWlmIChkaWVfb25fZXJyb3IgfHwKKwkJCSAgICBlcnJvcl9jb2RlID09IFJFQURfR0lURklMRV9FUlJfTk9UX0FfRklMRSkgeworCQkJCS8qIE5FRURTV09SSzogZmFpbCBpZiAuZ2l0IGlzIG5vdCBmaWxlIG5vciBkaXIgKi8KKwkJCQlpZiAoaXNfZ2l0X2RpcmVjdG9yeShkaXItPmJ1ZikpCisJCQkJCWdpdGRpcmVudiA9IERFRkFVTFRfR0lUX0RJUl9FTlZJUk9OTUVOVDsKKwkJCX0gZWxzZSBpZiAoZXJyb3JfY29kZSAhPSBSRUFEX0dJVEZJTEVfRVJSX1NUQVRfRkFJTEVEKQorCQkJCXJldHVybiBHSVRfRElSX0lOVkFMSURfR0lURklMRTsKKwkJfQorCQlzdHJidWZfc2V0bGVuKGRpciwgb2Zmc2V0KTsKKwkJaWYgKGdpdGRpcmVudikgeworCQkJc3RyYnVmX2FkZHN0cihnaXRkaXIsIGdpdGRpcmVudik7CisJCQlyZXR1cm4gR0lUX0RJUl9ESVNDT1ZFUkVEOworCQl9CisKKwkJaWYgKGlzX2dpdF9kaXJlY3RvcnkoZGlyLT5idWYpKSB7CisJCQlzdHJidWZfYWRkc3RyKGdpdGRpciwgIi4iKTsKKwkJCXJldHVybiBHSVRfRElSX0JBUkU7CisJCX0KKworCQlpZiAob2Zmc2V0IDw9IG1pbl9vZmZzZXQpCisJCQlyZXR1cm4gR0lUX0RJUl9ISVRfQ0VJTElORzsKKworCQl3aGlsZSAoLS1vZmZzZXQgPiBjZWlsX29mZnNldCAmJiAhaXNfZGlyX3NlcChkaXItPmJ1ZltvZmZzZXRdKSkKKwkJCTsgLyogY29udGludWUgKi8KKwkJaWYgKG9mZnNldCA8PSBjZWlsX29mZnNldCkKKwkJCXJldHVybiBHSVRfRElSX0hJVF9DRUlMSU5HOworCisJCXN0cmJ1Zl9zZXRsZW4oZGlyLCBvZmZzZXQgPiBtaW5fb2Zmc2V0ID8gIG9mZnNldCA6IG1pbl9vZmZzZXQpOworCQlpZiAob25lX2ZpbGVzeXN0ZW0gJiYKKwkJICAgIGN1cnJlbnRfZGV2aWNlICE9IGdldF9kZXZpY2Vfb3JfZGllKGRpci0+YnVmLCBOVUxMLCBvZmZzZXQpKQorCQkJcmV0dXJuIEdJVF9ESVJfSElUX01PVU5UX1BPSU5UOworCX0KK30KKworaW50IGRpc2NvdmVyX2dpdF9kaXJlY3Rvcnkoc3RydWN0IHN0cmJ1ZiAqY29tbW9uZGlyLAorCQkJICAgc3RydWN0IHN0cmJ1ZiAqZ2l0ZGlyKQoreworCXN0cnVjdCBzdHJidWYgZGlyID0gU1RSQlVGX0lOSVQsIGVyciA9IFNUUkJVRl9JTklUOworCXNpemVfdCBnaXRkaXJfb2Zmc2V0ID0gZ2l0ZGlyLT5sZW4sIGN3ZF9sZW47CisJc2l6ZV90IGNvbW1vbmRpcl9vZmZzZXQgPSBjb21tb25kaXItPmxlbjsKKwlzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgY2FuZGlkYXRlOworCisJaWYgKHN0cmJ1Zl9nZXRjd2QoJmRpcikpCisJCXJldHVybiAtMTsKKworCWN3ZF9sZW4gPSBkaXIubGVuOworCWlmIChzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseV8xKCZkaXIsIGdpdGRpciwgMCkgPD0gMCkgeworCQlzdHJidWZfcmVsZWFzZSgmZGlyKTsKKwkJcmV0dXJuIC0xOworCX0KKworCS8qCisJICogVGhlIHJldHVybmVkIGdpdGRpciBpcyByZWxhdGl2ZSB0byBkaXIsIGFuZCBpZiBkaXIgZG9lcyBub3QgcmVmbGVjdAorCSAqIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LCB3ZSBzaW1wbHkgbWFrZSB0aGUgZ2l0ZGlyIGFic29sdXRlLgorCSAqLworCWlmIChkaXIubGVuIDwgY3dkX2xlbiAmJiAhaXNfYWJzb2x1dGVfcGF0aChnaXRkaXItPmJ1ZiArIGdpdGRpcl9vZmZzZXQpKSB7CisJCS8qIEF2b2lkIGEgdHJhaWxpbmcgIi8uIiAqLworCQlpZiAoIXN0cmNtcCgiLiIsIGdpdGRpci0+YnVmICsgZ2l0ZGlyX29mZnNldCkpCisJCQlzdHJidWZfc2V0bGVuKGdpdGRpciwgZ2l0ZGlyX29mZnNldCk7CisJCWVsc2UKKwkJCXN0cmJ1Zl9hZGRjaCgmZGlyLCAnLycpOworCQlzdHJidWZfaW5zZXJ0KGdpdGRpciwgZ2l0ZGlyX29mZnNldCwgZGlyLmJ1ZiwgZGlyLmxlbik7CisJfQorCisJZ2V0X2NvbW1vbl9kaXIoY29tbW9uZGlyLCBnaXRkaXItPmJ1ZiArIGdpdGRpcl9vZmZzZXQpOworCisJc3RyYnVmX3Jlc2V0KCZkaXIpOworCXN0cmJ1Zl9hZGRmKCZkaXIsICIlcy9jb25maWciLCBjb21tb25kaXItPmJ1ZiArIGNvbW1vbmRpcl9vZmZzZXQpOworCXJlYWRfcmVwb3NpdG9yeV9mb3JtYXQoJmNhbmRpZGF0ZSwgZGlyLmJ1Zik7CisJc3RyYnVmX3JlbGVhc2UoJmRpcik7CisKKwlpZiAodmVyaWZ5X3JlcG9zaXRvcnlfZm9ybWF0KCZjYW5kaWRhdGUsICZlcnIpIDwgMCkgeworCQl3YXJuaW5nKCJpZ25vcmluZyBnaXQgZGlyICclcyc6ICVzIiwKKwkJCWdpdGRpci0+YnVmICsgZ2l0ZGlyX29mZnNldCwgZXJyLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOworCQlzdHJidWZfc2V0bGVuKGNvbW1vbmRpciwgY29tbW9uZGlyX29mZnNldCk7CisJCXN0cmJ1Zl9zZXRsZW4oZ2l0ZGlyLCBnaXRkaXJfb2Zmc2V0KTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiAwOworfQorCitjb25zdCBjaGFyICpzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseShpbnQgKm5vbmdpdF9vaykKK3sKKwlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBjd2QgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIGRpciA9IFNUUkJVRl9JTklULCBnaXRkaXIgPSBTVFJCVUZfSU5JVDsKKwljb25zdCBjaGFyICpwcmVmaXg7CisKKwkvKgogCSAqIFdlIG1heSBoYXZlIHJlYWQgYW4gaW5jb21wbGV0ZSBjb25maWd1cmF0aW9uIGJlZm9yZQogCSAqIHNldHRpbmctdXAgdGhlIGdpdCBkaXJlY3RvcnkuIElmIHNvLCBjbGVhciB0aGUgY2FjaGUgc28KIAkgKiB0aGF0IHRoZSBuZXh0IHF1ZXJpZXMgdG8gdGhlIGNvbmZpZ3VyYXRpb24gcmVsb2FkIGNvbXBsZXRlCkBAIC04NTAsOTggKzEwNDQsNDMgQEAKIAogCWlmIChzdHJidWZfZ2V0Y3dkKCZjd2QpKQogCQlkaWVfZXJybm8oXygiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIpKTsKLQlvZmZzZXQgPSBjd2QubGVuOworCXN0cmJ1Zl9hZGRidWYoJmRpciwgJmN3ZCk7CiAKLQkvKgotCSAqIElmIEdJVF9ESVIgaXMgc2V0IGV4cGxpY2l0bHksIHdlJ3JlIG5vdCBnb2luZwotCSAqIHRvIGRvIGFueSBkaXNjb3ZlcnksIGJ1dCB3ZSBzdGlsbCBkbyByZXBvc2l0b3J5Ci0JICogdmFsaWRhdGlvbi4KLQkgKi8KLQlnaXRkaXJlbnYgPSBnZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCk7Ci0JaWYgKGdpdGRpcmVudikKLQkJcmV0dXJuIHNldHVwX2V4cGxpY2l0X2dpdF9kaXIoZ2l0ZGlyZW52LCAmY3dkLCBub25naXRfb2spOwotCi0JaWYgKGVudl9jZWlsaW5nX2RpcnMpIHsKLQkJaW50IGVtcHR5X2VudHJ5X2ZvdW5kID0gMDsKLQotCQlzdHJpbmdfbGlzdF9zcGxpdCgmY2VpbGluZ19kaXJzLCBlbnZfY2VpbGluZ19kaXJzLCBQQVRIX1NFUCwgLTEpOwotCQlmaWx0ZXJfc3RyaW5nX2xpc3QoJmNlaWxpbmdfZGlycywgMCwKLQkJCQkgICBjYW5vbmljYWxpemVfY2VpbGluZ19lbnRyeSwgJmVtcHR5X2VudHJ5X2ZvdW5kKTsKLQkJY2VpbF9vZmZzZXQgPSBsb25nZXN0X2FuY2VzdG9yX2xlbmd0aChjd2QuYnVmLCAmY2VpbGluZ19kaXJzKTsKLQkJc3RyaW5nX2xpc3RfY2xlYXIoJmNlaWxpbmdfZGlycywgMCk7CisJc3dpdGNoIChzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseV8xKCZkaXIsICZnaXRkaXIsIDEpKSB7CisJY2FzZSBHSVRfRElSX05PTkU6CisJCXByZWZpeCA9IE5VTEw7CisJCWJyZWFrOworCWNhc2UgR0lUX0RJUl9FWFBMSUNJVDoKKwkJcHJlZml4ID0gc2V0dXBfZXhwbGljaXRfZ2l0X2RpcihnaXRkaXIuYnVmLCAmY3dkLCBub25naXRfb2spOworCQlicmVhazsKKwljYXNlIEdJVF9ESVJfRElTQ09WRVJFRDoKKwkJaWYgKGRpci5sZW4gPCBjd2QubGVuICYmIGNoZGlyKGRpci5idWYpKQorCQkJZGllKF8oIkNhbm5vdCBjaGFuZ2UgdG8gJyVzJyIpLCBkaXIuYnVmKTsKKwkJcHJlZml4ID0gc2V0dXBfZGlzY292ZXJlZF9naXRfZGlyKGdpdGRpci5idWYsICZjd2QsIGRpci5sZW4sCisJCQkJCQkgIG5vbmdpdF9vayk7CisJCWJyZWFrOworCWNhc2UgR0lUX0RJUl9CQVJFOgorCQlpZiAoZGlyLmxlbiA8IGN3ZC5sZW4gJiYgY2hkaXIoZGlyLmJ1ZikpCisJCQlkaWUoXygiQ2Fubm90IGNoYW5nZSB0byAnJXMnIiksIGRpci5idWYpOworCQlwcmVmaXggPSBzZXR1cF9iYXJlX2dpdF9kaXIoJmN3ZCwgZGlyLmxlbiwgbm9uZ2l0X29rKTsKKwkJYnJlYWs7CisJY2FzZSBHSVRfRElSX0hJVF9DRUlMSU5HOgorCQlwcmVmaXggPSBzZXR1cF9ub25naXQoY3dkLmJ1Ziwgbm9uZ2l0X29rKTsKKwkJYnJlYWs7CisJY2FzZSBHSVRfRElSX0hJVF9NT1VOVF9QT0lOVDoKKwkJaWYgKG5vbmdpdF9vaykgeworCQkJKm5vbmdpdF9vayA9IDE7CisJCQlzdHJidWZfcmVsZWFzZSgmY3dkKTsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZkaXIpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwkJZGllKF8oIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgorCQkgICAgICAiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iKSwKKwkJICAgIGRpci5idWYpOworCWRlZmF1bHQ6CisJCWRpZSgiQlVHOiB1bmhhbmRsZWQgc2V0dXBfZ2l0X2RpcmVjdG9yeV8xKCkgcmVzdWx0Iik7CiAJfQogCi0JaWYgKGNlaWxfb2Zmc2V0IDwgMCAmJiBoYXNfZG9zX2RyaXZlX3ByZWZpeChjd2QuYnVmKSkKLQkJY2VpbF9vZmZzZXQgPSAxOwotCi0JLyoKLQkgKiBUZXN0IGluIHRoZSBmb2xsb3dpbmcgb3JkZXIgKHJlbGF0aXZlIHRvIHRoZSBjd2QpOgotCSAqIC0gLmdpdCAoZmlsZSBjb250YWluaW5nICJnaXRkaXI6IDxwYXRoPiIpCi0JICogLSAuZ2l0LwotCSAqIC0gLi8gKGJhcmUpCi0JICogLSAuLi8uZ2l0Ci0JICogLSAuLi8uZ2l0LwotCSAqIC0gLi4vIChiYXJlKQotCSAqIC0gLi4vLi4vLmdpdC8KLQkgKiAgIGV0Yy4KLQkgKi8KLQlvbmVfZmlsZXN5c3RlbSA9ICFnaXRfZW52X2Jvb2woIkdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0iLCAwKTsKLQlpZiAob25lX2ZpbGVzeXN0ZW0pCi0JCWN1cnJlbnRfZGV2aWNlID0gZ2V0X2RldmljZV9vcl9kaWUoIi4iLCBOVUxMLCAwKTsKLQlmb3IgKDs7KSB7Ci0JCWdpdGZpbGUgPSAoY2hhciopcmVhZF9naXRmaWxlKERFRkFVTFRfR0lUX0RJUl9FTlZJUk9OTUVOVCk7Ci0JCWlmIChnaXRmaWxlKQotCQkJZ2l0ZGlyZW52ID0gZ2l0ZmlsZSA9IHhzdHJkdXAoZ2l0ZmlsZSk7Ci0JCWVsc2UgewotCQkJaWYgKGlzX2dpdF9kaXJlY3RvcnkoREVGQVVMVF9HSVRfRElSX0VOVklST05NRU5UKSkKLQkJCQlnaXRkaXJlbnYgPSBERUZBVUxUX0dJVF9ESVJfRU5WSVJPTk1FTlQ7Ci0JCX0KLQotCQlpZiAoZ2l0ZGlyZW52KSB7Ci0JCQlyZXQgPSBzZXR1cF9kaXNjb3ZlcmVkX2dpdF9kaXIoZ2l0ZGlyZW52LAotCQkJCQkJICAgICAgICZjd2QsIG9mZnNldCwKLQkJCQkJCSAgICAgICBub25naXRfb2spOwotCQkJZnJlZShnaXRmaWxlKTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KLQkJZnJlZShnaXRmaWxlKTsKLQotCQlpZiAoaXNfZ2l0X2RpcmVjdG9yeSgiLiIpKQotCQkJcmV0dXJuIHNldHVwX2JhcmVfZ2l0X2RpcigmY3dkLCBvZmZzZXQsIG5vbmdpdF9vayk7Ci0KLQkJb2Zmc2V0X3BhcmVudCA9IG9mZnNldDsKLQkJd2hpbGUgKC0tb2Zmc2V0X3BhcmVudCA+IGNlaWxfb2Zmc2V0ICYmIGN3ZC5idWZbb2Zmc2V0X3BhcmVudF0gIT0gJy8nKTsKLQkJaWYgKG9mZnNldF9wYXJlbnQgPD0gY2VpbF9vZmZzZXQpCi0JCQlyZXR1cm4gc2V0dXBfbm9uZ2l0KGN3ZC5idWYsIG5vbmdpdF9vayk7Ci0JCWlmIChvbmVfZmlsZXN5c3RlbSkgewotCQkJZGV2X3QgcGFyZW50X2RldmljZSA9IGdldF9kZXZpY2Vfb3JfZGllKCIuLiIsIGN3ZC5idWYsCi0JCQkJCQkJCW9mZnNldCk7Ci0JCQlpZiAocGFyZW50X2RldmljZSAhPSBjdXJyZW50X2RldmljZSkgewotCQkJCWlmIChub25naXRfb2spIHsKLQkJCQkJaWYgKGNoZGlyKGN3ZC5idWYpKQotCQkJCQkJZGllX2Vycm5vKF8oIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIikpOwotCQkJCQkqbm9uZ2l0X29rID0gMTsKLQkJCQkJcmV0dXJuIE5VTEw7Ci0JCQkJfQotCQkJCXN0cmJ1Zl9zZXRsZW4oJmN3ZCwgb2Zmc2V0KTsKLQkJCQlkaWUoXygiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCi0JCQkJIlN0b3BwaW5nIGF0IGZpbGVzeXN0ZW0gYm91bmRhcnkgKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gbm90IHNldCkuIiksCi0JCQkJICAgIGN3ZC5idWYpOwotCQkJfQotCQl9Ci0JCWlmIChjaGRpcigiLi4iKSkgewotCQkJc3RyYnVmX3NldGxlbigmY3dkLCBvZmZzZXQpOwotCQkJZGllX2Vycm5vKF8oIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIpLCBjd2QuYnVmKTsKLQkJfQotCQlvZmZzZXQgPSBvZmZzZXRfcGFyZW50OwotCX0KLX0KLQotY29uc3QgY2hhciAqc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHkoaW50ICpub25naXRfb2spCi17Ci0JY29uc3QgY2hhciAqcHJlZml4OwotCi0JcHJlZml4ID0gc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHlfMShub25naXRfb2spOwogCWlmIChwcmVmaXgpCiAJCXNldGVudihHSVRfUFJFRklYX0VOVklST05NRU5ULCBwcmVmaXgsIDEpOwogCWVsc2UKQEAgLTk1MCw2ICsxMDg5LDMwIEBACiAJc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkgPSAhbm9uZ2l0X29rIHx8ICEqbm9uZ2l0X29rOwogCXN0YXJ0dXBfaW5mby0+cHJlZml4ID0gcHJlZml4OwogCisJLyoKKwkgKiBOb3QgYWxsIHBhdGhzIHRocm91Z2ggdGhlIHNldHVwIGNvZGUgd2lsbCBjYWxsICdzZXRfZ2l0X2RpcigpJyAod2hpY2gKKwkgKiBkaXJlY3RseSBzZXRzIHVwIHRoZSBlbnZpcm9ubWVudCkgc28gaW4gb3JkZXIgdG8gZ3VhcmFudGVlIHRoYXQgdGhlCisJICogZW52aXJvbm1lbnQgaXMgaW4gYSBjb25zaXN0ZW50IHN0YXRlIGFmdGVyIHNldHVwLCBleHBsaWNpdGx5IHNldHVwCisJICogdGhlIGVudmlyb25tZW50IGlmIHdlIGhhdmUgYSByZXBvc2l0b3J5LgorCSAqCisJICogTkVFRFNXT1JLOiBjdXJyZW50bHkgd2UgYWxsb3cgYm9ndXMgR0lUX0RJUiB2YWx1ZXMgdG8gYmUgc2V0IGluIHNvbWUKKwkgKiBjb2RlIHBhdGhzIHNvIHdlIGFsc28gbmVlZCB0byBleHBsaWNpdGx5IHNldHVwIHRoZSBlbnZpcm9ubWVudCBpZgorCSAqIHRoZSB1c2VyIGhhcyBzZXQgR0lUX0RJUi4gIEl0IG1heSBiZSBiZW5lZmljaWFsIHRvIGRpc2FsbG93IGJvZ3VzCisJICogR0lUX0RJUiB2YWx1ZXMgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLgorCSAqLworCWlmIChzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeSB8fCBnZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCkpIHsKKwkJaWYgKCF0aGVfcmVwb3NpdG9yeS0+Z2l0ZGlyKSB7CisJCQljb25zdCBjaGFyICpnaXRkaXIgPSBnZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCk7CisJCQlpZiAoIWdpdGRpcikKKwkJCQlnaXRkaXIgPSBERUZBVUxUX0dJVF9ESVJfRU5WSVJPTk1FTlQ7CisJCQlyZXBvX3NldF9naXRkaXIodGhlX3JlcG9zaXRvcnksIGdpdGRpcik7CisJCQlzZXR1cF9naXRfZW52KCk7CisJCX0KKwl9CisKKwlzdHJidWZfcmVsZWFzZSgmZGlyKTsKKwlzdHJidWZfcmVsZWFzZSgmZ2l0ZGlyKTsKKwogCXJldHVybiBwcmVmaXg7CiB9CiAKZGlmZiAtLWdpdCBhL3NoYTEtYXJyYXkuYyBiL3NoYTEtYXJyYXkuYwppbmRleCBjMWNjMjVjLi44MzhiM2JmIDEwMDY0NAotLS0gYS9zaGExLWFycmF5LmMKKysrIGIvc2hhMS1hcnJheS5jCkBAIC0yLDYwICsyLDU5IEBACiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogI2luY2x1ZGUgInNoYTEtbG9va3VwLmgiCiAKLXZvaWQgc2hhMV9hcnJheV9hcHBlbmQoc3RydWN0IHNoYTFfYXJyYXkgKmFycmF5LCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQordm9pZCBvaWRfYXJyYXlfYXBwZW5kKHN0cnVjdCBvaWRfYXJyYXkgKmFycmF5LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0JQUxMT0NfR1JPVyhhcnJheS0+c2hhMSwgYXJyYXktPm5yICsgMSwgYXJyYXktPmFsbG9jKTsKLQloYXNoY3B5KGFycmF5LT5zaGExW2FycmF5LT5ucisrXSwgc2hhMSk7CisJQUxMT0NfR1JPVyhhcnJheS0+b2lkLCBhcnJheS0+bnIgKyAxLCBhcnJheS0+YWxsb2MpOworCW9pZGNweSgmYXJyYXktPm9pZFthcnJheS0+bnIrK10sIG9pZCk7CiAJYXJyYXktPnNvcnRlZCA9IDA7CiB9CiAKIHN0YXRpYyBpbnQgdm9pZF9oYXNoY21wKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpCiB7Ci0JcmV0dXJuIGhhc2hjbXAoYSwgYik7CisJcmV0dXJuIG9pZGNtcChhLCBiKTsKIH0KIAotc3RhdGljIHZvaWQgc2hhMV9hcnJheV9zb3J0KHN0cnVjdCBzaGExX2FycmF5ICphcnJheSkKK3N0YXRpYyB2b2lkIG9pZF9hcnJheV9zb3J0KHN0cnVjdCBvaWRfYXJyYXkgKmFycmF5KQogewotCVFTT1JUKGFycmF5LT5zaGExLCBhcnJheS0+bnIsIHZvaWRfaGFzaGNtcCk7CisJUVNPUlQoYXJyYXktPm9pZCwgYXJyYXktPm5yLCB2b2lkX2hhc2hjbXApOwogCWFycmF5LT5zb3J0ZWQgPSAxOwogfQogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMV9hY2Nlc3Moc2l6ZV90IGluZGV4LCB2b2lkICp0YWJsZSkKIHsKLQl1bnNpZ25lZCBjaGFyICgqYXJyYXkpWzIwXSA9IHRhYmxlOwotCXJldHVybiBhcnJheVtpbmRleF07CisJc3RydWN0IG9iamVjdF9pZCAqYXJyYXkgPSB0YWJsZTsKKwlyZXR1cm4gYXJyYXlbaW5kZXhdLmhhc2g7CiB9CiAKLWludCBzaGExX2FycmF5X2xvb2t1cChzdHJ1Y3Qgc2hhMV9hcnJheSAqYXJyYXksIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitpbnQgb2lkX2FycmF5X2xvb2t1cChzdHJ1Y3Qgb2lkX2FycmF5ICphcnJheSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWlmICghYXJyYXktPnNvcnRlZCkKLQkJc2hhMV9hcnJheV9zb3J0KGFycmF5KTsKLQlyZXR1cm4gc2hhMV9wb3Moc2hhMSwgYXJyYXktPnNoYTEsIGFycmF5LT5uciwgc2hhMV9hY2Nlc3MpOworCQlvaWRfYXJyYXlfc29ydChhcnJheSk7CisJcmV0dXJuIHNoYTFfcG9zKG9pZC0+aGFzaCwgYXJyYXktPm9pZCwgYXJyYXktPm5yLCBzaGExX2FjY2Vzcyk7CiB9CiAKLXZvaWQgc2hhMV9hcnJheV9jbGVhcihzdHJ1Y3Qgc2hhMV9hcnJheSAqYXJyYXkpCit2b2lkIG9pZF9hcnJheV9jbGVhcihzdHJ1Y3Qgb2lkX2FycmF5ICphcnJheSkKIHsKLQlmcmVlKGFycmF5LT5zaGExKTsKLQlhcnJheS0+c2hhMSA9IE5VTEw7CisJRlJFRV9BTkRfTlVMTChhcnJheS0+b2lkKTsKIAlhcnJheS0+bnIgPSAwOwogCWFycmF5LT5hbGxvYyA9IDA7CiAJYXJyYXktPnNvcnRlZCA9IDA7CiB9CiAKLWludCBzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZShzdHJ1Y3Qgc2hhMV9hcnJheSAqYXJyYXksCi0JCQkJZm9yX2VhY2hfc2hhMV9mbiBmbiwKK2ludCBvaWRfYXJyYXlfZm9yX2VhY2hfdW5pcXVlKHN0cnVjdCBvaWRfYXJyYXkgKmFycmF5LAorCQkJCWZvcl9lYWNoX29pZF9mbiBmbiwKIAkJCQl2b2lkICpkYXRhKQogewogCWludCBpOwogCiAJaWYgKCFhcnJheS0+c29ydGVkKQotCQlzaGExX2FycmF5X3NvcnQoYXJyYXkpOworCQlvaWRfYXJyYXlfc29ydChhcnJheSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgYXJyYXktPm5yOyBpKyspIHsKIAkJaW50IHJldDsKLQkJaWYgKGkgPiAwICYmICFoYXNoY21wKGFycmF5LT5zaGExW2ldLCBhcnJheS0+c2hhMVtpLTFdKSkKKwkJaWYgKGkgPiAwICYmICFvaWRjbXAoYXJyYXktPm9pZCArIGksIGFycmF5LT5vaWQgKyBpIC0gMSkpCiAJCQljb250aW51ZTsKLQkJcmV0ID0gZm4oYXJyYXktPnNoYTFbaV0sIGRhdGEpOworCQlyZXQgPSBmbihhcnJheS0+b2lkICsgaSwgZGF0YSk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCX0KZGlmZiAtLWdpdCBhL3NoYTEtYXJyYXkuaCBiL3NoYTEtYXJyYXkuaAppbmRleCBiMzIzMGJlLi4wNGIwNzU2IDEwMDY0NAotLS0gYS9zaGExLWFycmF5LmgKKysrIGIvc2hhMS1hcnJheS5oCkBAIC0xLDIzICsxLDIzIEBACiAjaWZuZGVmIFNIQTFfQVJSQVlfSAogI2RlZmluZSBTSEExX0FSUkFZX0gKIAotc3RydWN0IHNoYTFfYXJyYXkgewotCXVuc2lnbmVkIGNoYXIgKCpzaGExKVsyMF07CitzdHJ1Y3Qgb2lkX2FycmF5IHsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7CiAJaW50IG5yOwogCWludCBhbGxvYzsKIAlpbnQgc29ydGVkOwogfTsKIAotI2RlZmluZSBTSEExX0FSUkFZX0lOSVQgeyBOVUxMLCAwLCAwLCAwIH0KKyNkZWZpbmUgT0lEX0FSUkFZX0lOSVQgeyBOVUxMLCAwLCAwLCAwIH0KIAotdm9pZCBzaGExX2FycmF5X2FwcGVuZChzdHJ1Y3Qgc2hhMV9hcnJheSAqYXJyYXksIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwotaW50IHNoYTFfYXJyYXlfbG9va3VwKHN0cnVjdCBzaGExX2FycmF5ICphcnJheSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci12b2lkIHNoYTFfYXJyYXlfY2xlYXIoc3RydWN0IHNoYTFfYXJyYXkgKmFycmF5KTsKK3ZvaWQgb2lkX2FycmF5X2FwcGVuZChzdHJ1Y3Qgb2lkX2FycmF5ICphcnJheSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2ludCBvaWRfYXJyYXlfbG9va3VwKHN0cnVjdCBvaWRfYXJyYXkgKmFycmF5LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwordm9pZCBvaWRfYXJyYXlfY2xlYXIoc3RydWN0IG9pZF9hcnJheSAqYXJyYXkpOwogCi10eXBlZGVmIGludCAoKmZvcl9lYWNoX3NoYTFfZm4pKGNvbnN0IHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sCi0JCQkJdm9pZCAqZGF0YSk7Ci1pbnQgc2hhMV9hcnJheV9mb3JfZWFjaF91bmlxdWUoc3RydWN0IHNoYTFfYXJyYXkgKmFycmF5LAotCQkJICAgICAgIGZvcl9lYWNoX3NoYTFfZm4gZm4sCit0eXBlZGVmIGludCAoKmZvcl9lYWNoX29pZF9mbikoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICAgICAgIHZvaWQgKmRhdGEpOworaW50IG9pZF9hcnJheV9mb3JfZWFjaF91bmlxdWUoc3RydWN0IG9pZF9hcnJheSAqYXJyYXksCisJCQkgICAgICAgZm9yX2VhY2hfb2lkX2ZuIGZuLAogCQkJICAgICAgIHZvaWQgKmRhdGEpOwogCiAjZW5kaWYgLyogU0hBMV9BUlJBWV9IICovCmRpZmYgLS1naXQgYS9zaGExLWxvb2t1cC5jIGIvc2hhMS1sb29rdXAuYwppbmRleCA1ZjA2OTIxLi4yNTUyYjc5IDEwMDY0NAotLS0gYS9zaGExLWxvb2t1cC5jCisrKyBiL3NoYTEtbG9va3VwLmMKQEAgLTk5LDIxOSArOTksMyBAQAogCX0gd2hpbGUgKGxvIDwgaGkpOwogCXJldHVybiAtbG8tMTsKIH0KLQotLyoKLSAqIENvbnZlbnRpb25hbCBiaW5hcnkgc2VhcmNoIGxvb3AgbG9va3MgbGlrZSB0aGlzOgotICoKLSAqCXVuc2lnbmVkIGxvLCBoaTsKLSAqICAgICAgZG8gewotICogICAgICAgICAgICAgIHVuc2lnbmVkIG1pID0gKGxvICsgaGkpIC8gMjsKLSAqICAgICAgICAgICAgICBpbnQgY21wID0gImVudHJ5IHBvaW50ZWQgYXQgYnkgbWkiIG1pbnVzICJ0YXJnZXQiOwotICogICAgICAgICAgICAgIGlmICghY21wKQotICogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChtaSBpcyB0aGUgd2FudGVkIG9uZSkKLSAqICAgICAgICAgICAgICBpZiAoY21wID4gMCkKLSAqICAgICAgICAgICAgICAgICAgICAgIGhpID0gbWk7ICJtaSBpcyBsYXJnZXIgdGhhbiB0YXJnZXQiCi0gKiAgICAgICAgICAgICAgZWxzZQotICogICAgICAgICAgICAgICAgICAgICAgbG8gPSBtaSsxOyAibWkgaXMgc21hbGxlciB0aGFuIHRhcmdldCIKLSAqICAgICAgfSB3aGlsZSAobG8gPCBoaSk7Ci0gKgotICogVGhlIGludmFyaWFudHMgYXJlOgotICoKLSAqIC0gV2hlbiBlbnRlcmluZyB0aGUgbG9vcCwgbG8gcG9pbnRzIGF0IGEgc2xvdCB0aGF0IGlzIG5ldmVyCi0gKiAgIGFib3ZlIHRoZSB0YXJnZXQgKGl0IGNvdWxkIGJlIGF0IHRoZSB0YXJnZXQpLCBoaSBwb2ludHMgYXQgYQotICogICBzbG90IHRoYXQgaXMgZ3VhcmFudGVlZCB0byBiZSBhYm92ZSB0aGUgdGFyZ2V0IChpdCBjYW4gbmV2ZXIKLSAqICAgYmUgYXQgdGhlIHRhcmdldCkuCi0gKgotICogLSBXZSBmaW5kIGEgcG9pbnQgJ21pJyBiZXR3ZWVuIGxvIGFuZCBoaSAobWkgY291bGQgYmUgdGhlIHNhbWUKLSAqICAgYXMgbG8sIGJ1dCBuZXZlciBjYW4gYmUgYXMgc2FtZSBhcyBoaSksIGFuZCBjaGVjayBpZiBpdCBoaXRzCi0gKiAgIHRoZSB0YXJnZXQuICBUaGVyZSBhcmUgdGhyZWUgY2FzZXM6Ci0gKgotICogICAgLSBpZiBpdCBpcyBhIGhpdCwgd2UgYXJlIGhhcHB5LgotICoKLSAqICAgIC0gaWYgaXQgaXMgc3RyaWN0bHkgaGlnaGVyIHRoYW4gdGhlIHRhcmdldCwgd2Ugc2V0IGl0IHRvIGhpLAotICogICAgICBhbmQgcmVwZWF0IHRoZSBzZWFyY2guCi0gKgotICogICAgLSBpZiBpdCBpcyBzdHJpY3RseSBsb3dlciB0aGFuIHRoZSB0YXJnZXQsIHdlIHVwZGF0ZSBsbyB0bwotICogICAgICBvbmUgc2xvdCBhZnRlciBpdCwgYmVjYXVzZSB3ZSBhbGxvdyBsbyB0byBiZSBhdCB0aGUgdGFyZ2V0LgotICoKLSAqICAgSWYgdGhlIGxvb3AgZXhpdHMsIHRoZXJlIGlzIG5vIG1hdGNoaW5nIGVudHJ5LgotICoKLSAqIFdoZW4gY2hvb3NpbmcgJ21pJywgd2UgZG8gbm90IGhhdmUgdG8gdGFrZSB0aGUgIm1pZGRsZSIgYnV0Ci0gKiBhbnl3aGVyZSBpbiBiZXR3ZWVuIGxvIGFuZCBoaSwgYXMgbG9uZyBhcyBsbyA8PSBtaSA8IGhpIGlzCi0gKiBzYXRpc2ZpZWQuICBXaGVuIHdlIHNvbWVob3cga25vdyB0aGF0IHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZQotICogdGFyZ2V0IGFuZCBsbyBpcyBtdWNoIHNob3J0ZXIgdGhhbiB0aGUgdGFyZ2V0IGFuZCBoaSwgd2UgY291bGQKLSAqIHBpY2sgbWkgdGhhdCBpcyBtdWNoIGNsb3NlciB0byBsbyB0aGFuIHRoZSBtaWR3YXkuCi0gKgotICogTm93LCB3ZSBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhY3QgdGhhdCBTSEEtMSBpcyBhIGdvb2QgaGFzaAotICogZnVuY3Rpb24sIGFuZCBhcyBsb25nIGFzIHRoZXJlIGFyZSBlbm91Z2ggZW50cmllcyBpbiB0aGUgdGFibGUsIHdlCi0gKiBjYW4gZXhwZWN0IHVuaWZvcm0gZGlzdHJpYnV0aW9uLiAgQW4gZW50cnkgdGhhdCBiZWdpbnMgd2l0aCBmb3IKLSAqIGV4YW1wbGUgImRlYWRiZWVmLi4uIiBpcyBtdWNoIGxpa2VseSB0byBhcHBlYXIgbXVjaCBsYXRlciB0aGFuIGluCi0gKiB0aGUgbWlkd2F5IG9mIHRoZSB0YWJsZS4gIEl0IGNhbiByZWFzb25hYmx5IGJlIGV4cGVjdGVkIHRvIGJlIG5lYXIKLSAqIDg3JSAoMjIyLzI1NikgZnJvbSB0aGUgdG9wIG9mIHRoZSB0YWJsZS4KLSAqCi0gKiBIb3dldmVyLCB3ZSBkbyBub3Qgd2FudCB0byBwaWNrICJtaSIgdG9vIHByZWNpc2VseS4gIElmIHRoZSBlbnRyeSBhdAotICogdGhlIDg3JSBpbiB0aGUgYWJvdmUgZXhhbXBsZSB0dXJucyBvdXQgdG8gYmUgaGlnaGVyIHRoYW4gdGhlIHRhcmdldAotICogd2UgYXJlIGxvb2tpbmcgZm9yLCB3ZSB3b3VsZCBlbmQgdXAgbmFycm93aW5nIHRoZSBzZWFyY2ggc3BhY2UgZG93bgotICogb25seSBieSAxMyUsIGluc3RlYWQgb2YgNTAlIHdlIHdvdWxkIGdldCBpZiB3ZSBkaWQgYSBzaW1wbGUgYmluYXJ5Ci0gKiBzZWFyY2guICBTbyB3ZSB3b3VsZCB3YW50IHRvIGhlZGdlIG91ciBiZXRzIGJ5IGJlaW5nIGxlc3MgYWdncmVzc2l2ZS4KLSAqCi0gKiBUaGUgdGFibGUgYXQgInRhYmxlIiBob2xkcyBhdCBsZWFzdCAibnIiIGVudHJpZXMgb2YgImVsZW1fc2l6ZSIKLSAqIGJ5dGVzIGVhY2guICBFYWNoIGVudHJ5IGhhcyB0aGUgU0hBLTEga2V5IGF0ICJrZXlfb2Zmc2V0Ii4gIFRoZQotICogdGFibGUgaXMgc29ydGVkIGJ5IHRoZSBTSEEtMSBrZXkgb2YgdGhlIGVudHJpZXMuICBUaGUgY2FsbGVyIHdhbnRzCi0gKiB0byBmaW5kIHRoZSBlbnRyeSB3aXRoICJrZXkiLCBhbmQga25vd3MgdGhhdCB0aGUgZW50cnkgYXQgImxvIiBpcwotICogbm90IGhpZ2hlciB0aGFuIHRoZSBlbnRyeSBpdCBpcyBsb29raW5nIGZvciwgYW5kIHRoYXQgdGhlIGVudHJ5IGF0Ci0gKiAiaGkiIGlzIGhpZ2hlciB0aGFuIHRoZSBlbnRyeSBpdCBpcyBsb29raW5nIGZvci4KLSAqLwotaW50IHNoYTFfZW50cnlfcG9zKGNvbnN0IHZvaWQgKnRhYmxlLAotCQkgICBzaXplX3QgZWxlbV9zaXplLAotCQkgICBzaXplX3Qga2V5X29mZnNldCwKLQkJICAgdW5zaWduZWQgbG8sIHVuc2lnbmVkIGhpLCB1bnNpZ25lZCBuciwKLQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5KQotewotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmJhc2UgPSB0YWJsZTsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpoaV9rZXksICpsb19rZXk7Ci0JdW5zaWduZWQgb2ZzXzA7Ci0Jc3RhdGljIGludCBkZWJ1Z19sb29rdXAgPSAtMTsKLQotCWlmIChkZWJ1Z19sb29rdXAgPCAwKQotCQlkZWJ1Z19sb29rdXAgPSAhIWdldGVudigiR0lUX0RFQlVHX0xPT0tVUCIpOwotCi0JaWYgKCFuciB8fCBsbyA+PSBoaSkKLQkJcmV0dXJuIC0xOwotCi0JaWYgKG5yID09IGhpKQotCQloaV9rZXkgPSBOVUxMOwotCWVsc2UKLQkJaGlfa2V5ID0gYmFzZSArIGVsZW1fc2l6ZSAqIGhpICsga2V5X29mZnNldDsKLQlsb19rZXkgPSBiYXNlICsgZWxlbV9zaXplICogbG8gKyBrZXlfb2Zmc2V0OwotCi0Jb2ZzXzAgPSAwOwotCWRvIHsKLQkJaW50IGNtcDsKLQkJdW5zaWduZWQgb2ZzLCBtaSwgcmFuZ2U7Ci0JCXVuc2lnbmVkIGxvdiwgaGl2LCBreXY7Ci0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm1pX2tleTsKLQotCQlyYW5nZSA9IGhpIC0gbG87Ci0JCWlmIChoaV9rZXkpIHsKLQkJCWZvciAob2ZzID0gb2ZzXzA7IG9mcyA8IDIwOyBvZnMrKykKLQkJCQlpZiAobG9fa2V5W29mc10gIT0gaGlfa2V5W29mc10pCi0JCQkJCWJyZWFrOwotCQkJb2ZzXzAgPSBvZnM7Ci0JCQkvKgotCQkJICogYnl0ZSAwIHRocnUgKG9mcy0xKSBhcmUgdGhlIHNhbWUgYmV0d2VlbgotCQkJICogbG8gYW5kIGhpOyBvZnMgaXMgdGhlIGZpcnN0IGJ5dGUgdGhhdCBpcwotCQkJICogZGlmZmVyZW50LgotCQkJICoKLQkJCSAqIElmIG9mcz09MjAsIHRoZW4gbm8gYnl0ZXMgYXJlIGRpZmZlcmVudCwKLQkJCSAqIG1lYW5pbmcgd2UgaGF2ZSBlbnRyaWVzIHdpdGggZHVwbGljYXRlCi0JCQkgKiBrZXlzLiBXZSBrbm93IHRoYXQgd2UgYXJlIGluIGEgc29saWQgcnVuCi0JCQkgKiBvZiB0aGlzIGVudHJ5IChiZWNhdXNlIHRoZSBlbnRyaWVzIGFyZQotCQkJICogc29ydGVkLCBhbmQgb3VyIGxvIGFuZCBoaSBhcmUgdGhlIHNhbWUsCi0JCQkgKiB0aGVyZSBjYW4gYmUgbm90aGluZyBidXQgdGhpcyBzaW5nbGUga2V5Ci0JCQkgKiBpbiBiZXR3ZWVuKS4gU28gd2UgY2FuIHN0b3AgdGhlIHNlYXJjaC4KLQkJCSAqIEVpdGhlciBvbmUgb2YgdGhlc2UgZW50cmllcyBpcyBpdCAoYW5kCi0JCQkgKiB3ZSBkbyBub3QgY2FyZSB3aGljaCksIG9yIHdlIGRvIG5vdCBoYXZlCi0JCQkgKiBpdC4KLQkJCSAqCi0JCQkgKiBGdXJ0aGVybW9yZSwgd2Uga25vdyB0aGF0IG9uZSBvZiBvdXIKLQkJCSAqIGVuZHBvaW50cyBtdXN0IGJlIHRoZSBlZGdlIG9mIHRoZSBydW4gb2YKLQkJCSAqIGR1cGxpY2F0ZXMuIEZvciBleGFtcGxlLCBnaXZlbiB0aGlzCi0JCQkgKiBzZXF1ZW5jZToKLQkJCSAqCi0JCQkgKiAgICAgaWR4IDAgMSAyIDMgNCA1Ci0JCQkgKiAgICAga2V5IEEgQyBDIEMgQyBECi0JCQkgKgotCQkJICogSWYgd2UgYXJlIHNlYXJjaGluZyBmb3IgIkIiLCB3ZSBtaWdodAotCQkJICogaGl0IHRoZSBkdXBsaWNhdGUgcnVuIGF0IGxvPTEsIGhpPTMKLQkJCSAqIChlLmcuLCBieSBmaXJzdCBtaT0zLCB0aGVuIG1pPTApLiBCdXQgd2UKLQkJCSAqIGNhbiBuZXZlciBoYXZlIGxvID4gMSwgYmVjYXVzZSBCIDwgQy4KLQkJCSAqIFRoYXQgaXMsIGlmIG91ciBrZXkgaXMgbGVzcyB0aGFuIHRoZQotCQkJICogcnVuLCB3ZSBrbm93IHRoYXQgImxvIiBpcyB0aGUgZWRnZSwgYnV0Ci0JCQkgKiB3ZSBjYW4gc2F5IG5vdGhpbmcgb2YgImhpIi4gU2ltaWxhcmx5LAotCQkJICogaWYgb3VyIGtleSBpcyBncmVhdGVyIHRoYW4gdGhlIHJ1biwgd2UKLQkJCSAqIGtub3cgdGhhdCAiaGkiIGlzIHRoZSBlZGdlLCBidXQgd2UgY2FuCi0JCQkgKiBzYXkgbm90aGluZyBvZiAibG8iLgotCQkJICoKLQkJCSAqIFRoZXJlZm9yZSBpZiB3ZSBkbyBub3QgZmluZCBpdCwgd2UgYWxzbwotCQkJICoga25vdyB3aGVyZSBpdCB3b3VsZCBnbyBpZiBpdCBkaWQgZXhpc3Q6Ci0JCQkgKiBqdXN0IG9uIHRoZSBmYXIgc2lkZSBvZiB0aGUgZWRnZSB0aGF0IHdlCi0JCQkgKiBrbm93IGFib3V0LgotCQkJICovCi0JCQlpZiAob2ZzID09IDIwKSB7Ci0JCQkJbWkgPSBsbzsKLQkJCQltaV9rZXkgPSBiYXNlICsgZWxlbV9zaXplICogbWkgKyBrZXlfb2Zmc2V0OwotCQkJCWNtcCA9IG1lbWNtcChtaV9rZXksIGtleSwgMjApOwotCQkJCWlmICghY21wKQotCQkJCQlyZXR1cm4gbWk7Ci0JCQkJaWYgKGNtcCA8IDApCi0JCQkJCXJldHVybiAtMSAtIGhpOwotCQkJCWVsc2UKLQkJCQkJcmV0dXJuIC0xIC0gbG87Ci0JCQl9Ci0KLQkJCWhpdiA9IGhpX2tleVtvZnNfMF07Ci0JCQlpZiAob2ZzXzAgPCAxOSkKLQkJCQloaXYgPSAoaGl2IDw8IDgpIHwgaGlfa2V5W29mc18wKzFdOwotCQl9IGVsc2UgewotCQkJaGl2ID0gMjU2OwotCQkJaWYgKG9mc18wIDwgMTkpCi0JCQkJaGl2IDw8PSA4OwotCQl9Ci0JCWxvdiA9IGxvX2tleVtvZnNfMF07Ci0JCWt5diA9IGtleVtvZnNfMF07Ci0JCWlmIChvZnNfMCA8IDE5KSB7Ci0JCQlsb3YgPSAobG92IDw8IDgpIHwgbG9fa2V5W29mc18wKzFdOwotCQkJa3l2ID0gKGt5diA8PCA4KSB8IGtleVtvZnNfMCsxXTsKLQkJfQotCQlhc3NlcnQobG92IDwgaGl2KTsKLQotCQlpZiAoa3l2IDwgbG92KQotCQkJcmV0dXJuIC0xIC0gbG87Ci0JCWlmIChoaXYgPCBreXYpCi0JCQlyZXR1cm4gLTEgLSBoaTsKLQotCQkvKgotCQkgKiBFdmVuIGlmIHdlIGtub3cgdGhlIHRhcmdldCBpcyBtdWNoIGNsb3NlciB0byAnaGknCi0JCSAqIHRoYW4gJ2xvJywgaWYgd2UgcGljayB0b28gcHJlY2lzZWx5IGFuZCBvdmVyc2hvb3QKLQkJICogKGUuZy4gd2hlbiB3ZSBrbm93ICdtaScgaXMgY2xvc2VyIHRvICdoaScgdGhhbiB0bwotCQkgKiAnbG8nLCBwaWNrICdtaScgdGhhdCBpcyBoaWdoZXIgdGhhbiB0aGUgdGFyZ2V0KSwgd2UKLQkJICogZW5kIHVwIG5hcnJvd2luZyB0aGUgc2VhcmNoIHNwYWNlIGJ5IGEgc21hbGxlcgotCQkgKiBhbW91bnQgKGkuZS4gdGhlIGRpc3RhbmNlIGJldHdlZW4gJ21pJyBhbmQgJ2hpJykKLQkJICogdGhhbiB3aGF0IHdlIHdvdWxkIGhhdmUgKGkuZS4gYWJvdXQgaGFsZiBvZiAnbG8nCi0JCSAqIGFuZCAnaGknKS4gIEhlZGdlIG91ciBiZXRzIHRvIHBpY2sgJ21pJyBsZXNzCi0JCSAqIGFnZ3Jlc3NpdmVseSwgaS5lLiBtYWtlICdtaScgYSBiaXQgY2xvc2VyIHRvIHRoZQotCQkgKiBtaWRkbGUgdGhhbiB3ZSB3b3VsZCBvdGhlcndpc2UgcGljay4KLQkJICovCi0JCWt5diA9IChreXYgKiA2ICsgbG92ICsgaGl2KSAvIDg7Ci0JCWlmIChsb3YgPCBoaXYgLSAxKSB7Ci0JCQlpZiAoa3l2ID09IGxvdikKLQkJCQlreXYrKzsKLQkJCWVsc2UgaWYgKGt5diA9PSBoaXYpCi0JCQkJa3l2LS07Ci0JCX0KLQkJbWkgPSAocmFuZ2UgLSAxKSAqIChreXYgLSBsb3YpIC8gKGhpdiAtIGxvdikgKyBsbzsKLQotCQlpZiAoZGVidWdfbG9va3VwKSB7Ci0JCQlwcmludGYoImxvICV1IGhpICV1IHJnICV1IG1pICV1ICIsIGxvLCBoaSwgcmFuZ2UsIG1pKTsKLQkJCXByaW50Zigib2ZzICV1IGxvdiAleCwgaGl2ICV4LCBreXYgJXhcbiIsCi0JCQkgICAgICAgb2ZzXzAsIGxvdiwgaGl2LCBreXYpOwotCQl9Ci0JCWlmICghKGxvIDw9IG1pICYmIG1pIDwgaGkpKQotCQkJZGllKCJhc3NlcnRpb24gZmFpbHVyZSBsbyAldSBtaSAldSBoaSAldSAlcyIsCi0JCQkgICAgbG8sIG1pLCBoaSwgc2hhMV90b19oZXgoa2V5KSk7Ci0KLQkJbWlfa2V5ID0gYmFzZSArIGVsZW1fc2l6ZSAqIG1pICsga2V5X29mZnNldDsKLQkJY21wID0gbWVtY21wKG1pX2tleSArIG9mc18wLCBrZXkgKyBvZnNfMCwgMjAgLSBvZnNfMCk7Ci0JCWlmICghY21wKQotCQkJcmV0dXJuIG1pOwotCQlpZiAoY21wID4gMCkgewotCQkJaGkgPSBtaTsKLQkJCWhpX2tleSA9IG1pX2tleTsKLQkJfSBlbHNlIHsKLQkJCWxvID0gbWkgKyAxOwotCQkJbG9fa2V5ID0gbWlfa2V5ICsgZWxlbV9zaXplOwotCQl9Ci0JfSB3aGlsZSAobG8gPCBoaSk7Ci0JcmV0dXJuIC1sby0xOwotfQpkaWZmIC0tZ2l0IGEvc2hhMS1sb29rdXAuaCBiL3NoYTEtbG9va3VwLmgKaW5kZXggMjBhZjI4NS4uY2Y1MzE0ZiAxMDA2NDQKLS0tIGEvc2hhMS1sb29rdXAuaAorKysgYi9zaGExLWxvb2t1cC5oCkBAIC03LDEwICs3LDQgQEAKIAkJICAgIHZvaWQgKnRhYmxlLAogCQkgICAgc2l6ZV90IG5yLAogCQkgICAgc2hhMV9hY2Nlc3NfZm4gZm4pOwotCi1leHRlcm4gaW50IHNoYTFfZW50cnlfcG9zKGNvbnN0IHZvaWQgKnRhYmxlLAotCQkJICBzaXplX3QgZWxlbV9zaXplLAotCQkJICBzaXplX3Qga2V5X29mZnNldCwKLQkJCSAgdW5zaWduZWQgbG8sIHVuc2lnbmVkIGhpLCB1bnNpZ25lZCBuciwKLQkJCSAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc2hhMV9maWxlLmMgYi9zaGExX2ZpbGUuYwppbmRleCBkNzdiOTE1Li4wOWFkNjRjIDEwMDY0NAotLS0gYS9zaGExX2ZpbGUuYworKysgYi9zaGExX2ZpbGUuYwpAQCAtNyw2ICs3LDcgQEAKICAqIGNyZWF0aW9uIGV0Yy4KICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgogI2luY2x1ZGUgImRlbHRhLmgiCkBAIC0yNywxMSArMjgsOSBAQAogI2luY2x1ZGUgImxpc3QuaCIKICNpbmNsdWRlICJtZXJnZXNvcnQuaCIKICNpbmNsdWRlICJxdW90ZS5oIgorI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAKLSNkZWZpbmUgU1pfRk1UIFBSSXVNQVgKLXN0YXRpYyBpbmxpbmUgdWludG1heF90IHN6X2ZtdChzaXplX3QgcykgeyByZXR1cm4gczsgfQotCi1jb25zdCB1bnNpZ25lZCBjaGFyIG51bGxfc2hhMVsyMF07Citjb25zdCB1bnNpZ25lZCBjaGFyIG51bGxfc2hhMVtHSVRfTUFYX1JBV1NaXTsKIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgbnVsbF9vaWQ7CiBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkIGVtcHR5X3RyZWVfb2lkID0gewogCUVNUFRZX1RSRUVfU0hBMV9CSU5fTElURVJBTApAQCAtMTI5LDggKzEyOCwxMCBAQAogCQkqc2xhc2ggPSAnXDAnOwogCQlpZiAoIXN0YXQocGF0aCwgJnN0KSkgewogCQkJLyogcGF0aCBleGlzdHMgKi8KLQkJCWlmICghU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJCWlmICghU19JU0RJUihzdC5zdF9tb2RlKSkgeworCQkJCWVycm5vID0gRU5PVERJUjsKIAkJCQlyZXQgPSBTQ0xEX0VYSVNUUzsKKwkJCX0KIAkJfSBlbHNlIGlmIChta2RpcihwYXRoLCAwNzc3KSkgewogCQkJaWYgKGVycm5vID09IEVFWElTVCAmJgogCQkJICAgICFzdGF0KHBhdGgsICZzdCkgJiYgU19JU0RJUihzdC5zdF9tb2RlKSkKQEAgLTE1OCwxMyArMTU5LDg1IEBACiAKIGVudW0gc2NsZF9lcnJvciBzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KGNvbnN0IGNoYXIgKnBhdGgpCiB7CisJaW50IHNhdmVfZXJybm87CiAJLyogcGF0aCBwb2ludHMgdG8gY2FjaGUgZW50cmllcywgc28geHN0cmR1cCBiZWZvcmUgbWVzc2luZyB3aXRoIGl0ICovCiAJY2hhciAqYnVmID0geHN0cmR1cChwYXRoKTsKIAllbnVtIHNjbGRfZXJyb3IgcmVzdWx0ID0gc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3RvcmllcyhidWYpOworCisJc2F2ZV9lcnJubyA9IGVycm5vOwogCWZyZWUoYnVmKTsKKwllcnJubyA9IHNhdmVfZXJybm87CiAJcmV0dXJuIHJlc3VsdDsKIH0KIAoraW50IHJhY2Vwcm9vZl9jcmVhdGVfZmlsZShjb25zdCBjaGFyICpwYXRoLCBjcmVhdGVfZmlsZV9mbiBmbiwgdm9pZCAqY2IpCit7CisJLyoKKwkgKiBUaGUgbnVtYmVyIG9mIHRpbWVzIHdlIHdpbGwgdHJ5IHRvIHJlbW92ZSBlbXB0eSBkaXJlY3RvcmllcworCSAqIGluIHRoZSB3YXkgb2YgcGF0aC4gVGhpcyBpcyBvbmx5IDEgYmVjYXVzZSBpZiBhbm90aGVyCisJICogcHJvY2VzcyBpcyByYWNpbHkgY3JlYXRpbmcgZGlyZWN0b3JpZXMgdGhhdCBjb25mbGljdCB3aXRoCisJICogdXMsIHdlIGRvbid0IHdhbnQgdG8gZmlnaHQgYWdhaW5zdCB0aGVtLgorCSAqLworCWludCByZW1vdmVfZGlyZWN0b3JpZXNfcmVtYWluaW5nID0gMTsKKworCS8qCisJICogVGhlIG51bWJlciBvZiB0aW1lcyB0aGF0IHdlIHdpbGwgdHJ5IHRvIGNyZWF0ZSB0aGUKKwkgKiBkaXJlY3RvcmllcyBjb250YWluaW5nIHBhdGguIFdlIGFyZSB3aWxsaW5nIHRvIGF0dGVtcHQgdGhpcworCSAqIG1vcmUgdGhhbiBvbmNlLCBiZWNhdXNlIGFub3RoZXIgcHJvY2VzcyBjb3VsZCBiZSB0cnlpbmcgdG8KKwkgKiBjbGVhbiB1cCBlbXB0eSBkaXJlY3RvcmllcyBhdCB0aGUgc2FtZSB0aW1lIGFzIHdlIGFyZQorCSAqIHRyeWluZyB0byBjcmVhdGUgdGhlbS4KKwkgKi8KKwlpbnQgY3JlYXRlX2RpcmVjdG9yaWVzX3JlbWFpbmluZyA9IDM7CisKKwkvKiBBIHNjcmF0Y2ggY29weSBvZiBwYXRoLCBmaWxsZWQgbGF6aWx5IGlmIHdlIG5lZWQgaXQ6ICovCisJc3RydWN0IHN0cmJ1ZiBwYXRoX2NvcHkgPSBTVFJCVUZfSU5JVDsKKworCWludCByZXQsIHNhdmVfZXJybm87CisKKwkvKiBTYW5pdHkgY2hlY2s6ICovCisJYXNzZXJ0KCpwYXRoKTsKKworcmV0cnlfZm46CisJcmV0ID0gZm4ocGF0aCwgY2IpOworCXNhdmVfZXJybm8gPSBlcnJubzsKKwlpZiAoIXJldCkKKwkJZ290byBvdXQ7CisKKwlpZiAoZXJybm8gPT0gRUlTRElSICYmIHJlbW92ZV9kaXJlY3Rvcmllc19yZW1haW5pbmctLSA+IDApIHsKKwkJLyoKKwkJICogQSBkaXJlY3RvcnkgaXMgaW4gdGhlIHdheS4gTWF5YmUgaXQgaXMgZW1wdHk7IHRyeQorCQkgKiB0byByZW1vdmUgaXQ6CisJCSAqLworCQlpZiAoIXBhdGhfY29weS5sZW4pCisJCQlzdHJidWZfYWRkc3RyKCZwYXRoX2NvcHksIHBhdGgpOworCisJCWlmICghcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmcGF0aF9jb3B5LCBSRU1PVkVfRElSX0VNUFRZX09OTFkpKQorCQkJZ290byByZXRyeV9mbjsKKwl9IGVsc2UgaWYgKGVycm5vID09IEVOT0VOVCAmJiBjcmVhdGVfZGlyZWN0b3JpZXNfcmVtYWluaW5nLS0gPiAwKSB7CisJCS8qCisJCSAqIE1heWJlIHRoZSBjb250YWluaW5nIGRpcmVjdG9yeSBkaWRuJ3QgZXhpc3QsIG9yCisJCSAqIG1heWJlIGl0IHdhcyBqdXN0IGRlbGV0ZWQgYnkgYSBwcm9jZXNzIHRoYXQgaXMKKwkJICogcmFjaW5nIHdpdGggdXMgdG8gY2xlYW4gdXAgZW1wdHkgZGlyZWN0b3JpZXMuIFRyeQorCQkgKiB0byBjcmVhdGUgaXQ6CisJCSAqLworCQllbnVtIHNjbGRfZXJyb3Igc2NsZF9yZXN1bHQ7CisKKwkJaWYgKCFwYXRoX2NvcHkubGVuKQorCQkJc3RyYnVmX2FkZHN0cigmcGF0aF9jb3B5LCBwYXRoKTsKKworCQlkbyB7CisJCQlzY2xkX3Jlc3VsdCA9IHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMocGF0aF9jb3B5LmJ1Zik7CisJCQlpZiAoc2NsZF9yZXN1bHQgPT0gU0NMRF9PSykKKwkJCQlnb3RvIHJldHJ5X2ZuOworCQl9IHdoaWxlIChzY2xkX3Jlc3VsdCA9PSBTQ0xEX1ZBTklTSEVEICYmIGNyZWF0ZV9kaXJlY3Rvcmllc19yZW1haW5pbmctLSA+IDApOworCX0KKworb3V0OgorCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoX2NvcHkpOworCWVycm5vID0gc2F2ZV9lcnJubzsKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgdm9pZCBmaWxsX3NoYTFfcGF0aChzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJaW50IGk7CkBAIC0yMDMsMjggKzI3Niw2IEBACiAJcmV0dXJuIGJ1Zi0+YnVmOwogfQogCi0gY2hhciAqb2RiX3BhY2tfbmFtZShzdHJ1Y3Qgc3RyYnVmICpidWYsCi0JCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJICAgICBjb25zdCBjaGFyICpleHQpCi17Ci0Jc3RyYnVmX3Jlc2V0KGJ1Zik7Ci0Jc3RyYnVmX2FkZGYoYnVmLCAiJXMvcGFjay9wYWNrLSVzLiVzIiwgZ2V0X29iamVjdF9kaXJlY3RvcnkoKSwKLQkJICAgIHNoYTFfdG9faGV4KHNoYTEpLCBleHQpOwotCXJldHVybiBidWYtPmJ1ZjsKLX0KLQotY2hhciAqc2hhMV9wYWNrX25hbWUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKLXsKLQlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQlyZXR1cm4gb2RiX3BhY2tfbmFtZSgmYnVmLCBzaGExLCAicGFjayIpOwotfQotCi1jaGFyICpzaGExX3BhY2tfaW5kZXhfbmFtZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQotewotCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCXJldHVybiBvZGJfcGFja19uYW1lKCZidWYsIHNoYTEsICJpZHgiKTsKLX0KLQogc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdF9vZGJfbGlzdDsKIHN0YXRpYyBzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqKmFsdF9vZGJfdGFpbDsKIApAQCAtMjcyLDYgKzMyMyw3IEBACiAgKiBTSEExLCBhbiBleHRyYSBzbGFzaCBmb3IgdGhlIGZpcnN0IGxldmVsIGluZGlyZWN0aW9uLCBhbmQgdGhlCiAgKiB0ZXJtaW5hdGluZyBOVUwuCiAgKi8KK3N0YXRpYyB2b2lkIHJlYWRfaW5mb19hbHRlcm5hdGVzKGNvbnN0IGNoYXIgKiByZWxhdGl2ZV9iYXNlLCBpbnQgZGVwdGgpOwogc3RhdGljIGludCBsaW5rX2FsdF9vZGJfZW50cnkoY29uc3QgY2hhciAqZW50cnksIGNvbnN0IGNoYXIgKnJlbGF0aXZlX2Jhc2UsCiAJaW50IGRlcHRoLCBjb25zdCBjaGFyICpub3JtYWxpemVkX29iamRpcikKIHsKQEAgLTM0Niw3ICszOTgsNyBAQAogCXJldHVybiBlbmQ7CiB9CiAKLXN0YXRpYyB2b2lkIGxpbmtfYWx0X29kYl9lbnRyaWVzKGNvbnN0IGNoYXIgKmFsdCwgaW50IGxlbiwgaW50IHNlcCwKK3N0YXRpYyB2b2lkIGxpbmtfYWx0X29kYl9lbnRyaWVzKGNvbnN0IGNoYXIgKmFsdCwgaW50IHNlcCwKIAkJCQkgY29uc3QgY2hhciAqcmVsYXRpdmVfYmFzZSwgaW50IGRlcHRoKQogewogCXN0cnVjdCBzdHJidWYgb2JqZGlyYnVmID0gU1RSQlVGX0lOSVQ7CkBAIC0zNzMsMzAgKzQyNSwyMSBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZvYmpkaXJidWYpOwogfQogCi12b2lkIHJlYWRfaW5mb19hbHRlcm5hdGVzKGNvbnN0IGNoYXIgKiByZWxhdGl2ZV9iYXNlLCBpbnQgZGVwdGgpCitzdGF0aWMgdm9pZCByZWFkX2luZm9fYWx0ZXJuYXRlcyhjb25zdCBjaGFyICogcmVsYXRpdmVfYmFzZSwgaW50IGRlcHRoKQogewotCWNoYXIgKm1hcDsKLQlzaXplX3QgbWFwc3o7Ci0Jc3RydWN0IHN0YXQgc3Q7CiAJY2hhciAqcGF0aDsKLQlpbnQgZmQ7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAogCXBhdGggPSB4c3RyZm10KCIlcy9pbmZvL2FsdGVybmF0ZXMiLCByZWxhdGl2ZV9iYXNlKTsKLQlmZCA9IGdpdF9vcGVuKHBhdGgpOwotCWZyZWUocGF0aCk7Ci0JaWYgKGZkIDwgMCkKLQkJcmV0dXJuOwotCWlmIChmc3RhdChmZCwgJnN0KSB8fCAoc3Quc3Rfc2l6ZSA9PSAwKSkgewotCQljbG9zZShmZCk7CisJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmJ1ZiwgcGF0aCwgMTAyNCkgPCAwKSB7CisJCXdhcm5fb25fZm9wZW5fZXJyb3JzKHBhdGgpOworCQlmcmVlKHBhdGgpOwogCQlyZXR1cm47CiAJfQotCW1hcHN6ID0geHNpemVfdChzdC5zdF9zaXplKTsKLQltYXAgPSB4bW1hcChOVUxMLCBtYXBzeiwgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOwotCWNsb3NlKGZkKTsKIAotCWxpbmtfYWx0X29kYl9lbnRyaWVzKG1hcCwgbWFwc3osICdcbicsIHJlbGF0aXZlX2Jhc2UsIGRlcHRoKTsKLQotCW11bm1hcChtYXAsIG1hcHN6KTsKKwlsaW5rX2FsdF9vZGJfZW50cmllcyhidWYuYnVmLCAnXG4nLCByZWxhdGl2ZV9iYXNlLCBkZXB0aCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJZnJlZShwYXRoKTsKIH0KIAogc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsbG9jX2FsdF9vZGIoY29uc3QgY2hhciAqZGlyKQpAQCAtNDUxLDcgKzQ5NCw3IEBACiAJCWlmIChjb21taXRfbG9ja19maWxlKGxvY2spKQogCQkJZGllX2Vycm5vKCJ1bmFibGUgdG8gbW92ZSBuZXcgYWx0ZXJuYXRlcyBmaWxlIGludG8gcGxhY2UiKTsKIAkJaWYgKGFsdF9vZGJfdGFpbCkKLQkJCWxpbmtfYWx0X29kYl9lbnRyaWVzKHJlZmVyZW5jZSwgc3RybGVuKHJlZmVyZW5jZSksICdcbicsIE5VTEwsIDApOworCQkJbGlua19hbHRfb2RiX2VudHJpZXMocmVmZXJlbmNlLCAnXG4nLCBOVUxMLCAwKTsKIAl9CiAJZnJlZShhbHRzKTsKIH0KQEAgLTQ2NCw3ICs1MDcsNyBAQAogCSAqLwogCXByZXBhcmVfYWx0X29kYigpOwogCi0JbGlua19hbHRfb2RiX2VudHJpZXMocmVmZXJlbmNlLCBzdHJsZW4ocmVmZXJlbmNlKSwgJ1xuJywgTlVMTCwgMCk7CisJbGlua19hbHRfb2RiX2VudHJpZXMocmVmZXJlbmNlLCAnXG4nLCBOVUxMLCAwKTsKIH0KIAogLyoKQEAgLTUzNiw4ICs1NzksNyBAQAogCiBvdXQ6CiAJaWYgKHNlZW5fZXJyb3IpIHsKLQkJZnJlZShyZWZfZ2l0KTsKLQkJcmVmX2dpdCA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwocmVmX2dpdCk7CiAJfQogCiAJcmV0dXJuIHJlZl9naXQ7CkBAIC01NjgsNyArNjEwLDcgQEAKIAlpZiAoIWFsdCkgYWx0ID0gIiI7CiAKIAlhbHRfb2RiX3RhaWwgPSAmYWx0X29kYl9saXN0OwotCWxpbmtfYWx0X29kYl9lbnRyaWVzKGFsdCwgc3RybGVuKGFsdCksIFBBVEhfU0VQLCBOVUxMLCAwKTsKKwlsaW5rX2FsdF9vZGJfZW50cmllcyhhbHQsIFBBVEhfU0VQLCBOVUxMLCAwKTsKIAogCXJlYWRfaW5mb19hbHRlcm5hdGVzKGdldF9vYmplY3RfZGlyZWN0b3J5KCksIDApOwogfQpAQCAtNTg4LDcgKzYzMCw3IEBACiAgKiBlaXRoZXIgZG9lcyBub3QgZXhpc3Qgb24gZGlzaywgb3IgaGFzIGEgc3RhbGUgbXRpbWUgYW5kIG1heSBiZSBzdWJqZWN0IHRvCiAgKiBwcnVuaW5nKS4KICAqLwotc3RhdGljIGludCBjaGVja19hbmRfZnJlc2hlbl9maWxlKGNvbnN0IGNoYXIgKmZuLCBpbnQgZnJlc2hlbikKK2ludCBjaGVja19hbmRfZnJlc2hlbl9maWxlKGNvbnN0IGNoYXIgKmZuLCBpbnQgZnJlc2hlbikKIHsKIAlpZiAoYWNjZXNzKGZuLCBGX09LKSkKIAkJcmV0dXJuIDA7CkBAIC02MzAsMjEzICs2NzIsNiBAQAogCXJldHVybiBjaGVja19hbmRfZnJlc2hlbihzaGExLCAwKTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGludCBwYWNrX3VzZWRfY3RyOwotc3RhdGljIHVuc2lnbmVkIGludCBwYWNrX21tYXBfY2FsbHM7Ci1zdGF0aWMgdW5zaWduZWQgaW50IHBlYWtfcGFja19vcGVuX3dpbmRvd3M7Ci1zdGF0aWMgdW5zaWduZWQgaW50IHBhY2tfb3Blbl93aW5kb3dzOwotc3RhdGljIHVuc2lnbmVkIGludCBwYWNrX29wZW5fZmRzOwotc3RhdGljIHVuc2lnbmVkIGludCBwYWNrX21heF9mZHM7Ci1zdGF0aWMgc2l6ZV90IHBlYWtfcGFja19tYXBwZWQ7Ci1zdGF0aWMgc2l6ZV90IHBhY2tfbWFwcGVkOwotc3RydWN0IHBhY2tlZF9naXQgKnBhY2tlZF9naXQ7Ci0KLXN0YXRpYyBzdHJ1Y3QgbXJ1IHBhY2tlZF9naXRfbXJ1X3N0b3JhZ2U7Ci1zdHJ1Y3QgbXJ1ICpwYWNrZWRfZ2l0X21ydSA9ICZwYWNrZWRfZ2l0X21ydV9zdG9yYWdlOwotCi12b2lkIHBhY2tfcmVwb3J0KHZvaWQpCi17Ci0JZnByaW50ZihzdGRlcnIsCi0JCSJwYWNrX3JlcG9ydDogZ2V0cGFnZXNpemUoKSAgICAgICAgICAgID0gJTEwIiBTWl9GTVQgIlxuIgotCQkicGFja19yZXBvcnQ6IGNvcmUucGFja2VkR2l0V2luZG93U2l6ZSA9ICUxMCIgU1pfRk1UICJcbiIKLQkJInBhY2tfcmVwb3J0OiBjb3JlLnBhY2tlZEdpdExpbWl0ICAgICAgPSAlMTAiIFNaX0ZNVCAiXG4iLAotCQlzel9mbXQoZ2V0cGFnZXNpemUoKSksCi0JCXN6X2ZtdChwYWNrZWRfZ2l0X3dpbmRvd19zaXplKSwKLQkJc3pfZm10KHBhY2tlZF9naXRfbGltaXQpKTsKLQlmcHJpbnRmKHN0ZGVyciwKLQkJInBhY2tfcmVwb3J0OiBwYWNrX3VzZWRfY3RyICAgICAgICAgICAgPSAlMTB1XG4iCi0JCSJwYWNrX3JlcG9ydDogcGFja19tbWFwX2NhbGxzICAgICAgICAgID0gJTEwdVxuIgotCQkicGFja19yZXBvcnQ6IHBhY2tfb3Blbl93aW5kb3dzICAgICAgICA9ICUxMHUgLyAlMTB1XG4iCi0JCSJwYWNrX3JlcG9ydDogcGFja19tYXBwZWQgICAgICAgICAgICAgID0gIgotCQkJIiUxMCIgU1pfRk1UICIgLyAlMTAiIFNaX0ZNVCAiXG4iLAotCQlwYWNrX3VzZWRfY3RyLAotCQlwYWNrX21tYXBfY2FsbHMsCi0JCXBhY2tfb3Blbl93aW5kb3dzLCBwZWFrX3BhY2tfb3Blbl93aW5kb3dzLAotCQlzel9mbXQocGFja19tYXBwZWQpLCBzel9mbXQocGVha19wYWNrX21hcHBlZCkpOwotfQotCi0vKgotICogT3BlbiBhbmQgbW1hcCB0aGUgaW5kZXggZmlsZSBhdCBwYXRoLCBwZXJmb3JtIGEgY291cGxlIG9mCi0gKiBjb25zaXN0ZW5jeSBjaGVja3MsIHRoZW4gcmVjb3JkIGl0cyBpbmZvcm1hdGlvbiB0byBwLiAgUmV0dXJuIDAgb24KLSAqIHN1Y2Nlc3MuCi0gKi8KLXN0YXRpYyBpbnQgY2hlY2tfcGFja2VkX2dpdF9pZHgoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHBhY2tlZF9naXQgKnApCi17Ci0Jdm9pZCAqaWR4X21hcDsKLQlzdHJ1Y3QgcGFja19pZHhfaGVhZGVyICpoZHI7Ci0Jc2l6ZV90IGlkeF9zaXplOwotCXVpbnQzMl90IHZlcnNpb24sIG5yLCBpLCAqaW5kZXg7Ci0JaW50IGZkID0gZ2l0X29wZW4ocGF0aCk7Ci0Jc3RydWN0IHN0YXQgc3Q7Ci0KLQlpZiAoZmQgPCAwKQotCQlyZXR1cm4gLTE7Ci0JaWYgKGZzdGF0KGZkLCAmc3QpKSB7Ci0JCWNsb3NlKGZkKTsKLQkJcmV0dXJuIC0xOwotCX0KLQlpZHhfc2l6ZSA9IHhzaXplX3Qoc3Quc3Rfc2l6ZSk7Ci0JaWYgKGlkeF9zaXplIDwgNCAqIDI1NiArIDIwICsgMjApIHsKLQkJY2xvc2UoZmQpOwotCQlyZXR1cm4gZXJyb3IoImluZGV4IGZpbGUgJXMgaXMgdG9vIHNtYWxsIiwgcGF0aCk7Ci0JfQotCWlkeF9tYXAgPSB4bW1hcChOVUxMLCBpZHhfc2l6ZSwgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOwotCWNsb3NlKGZkKTsKLQotCWhkciA9IGlkeF9tYXA7Ci0JaWYgKGhkci0+aWR4X3NpZ25hdHVyZSA9PSBodG9ubChQQUNLX0lEWF9TSUdOQVRVUkUpKSB7Ci0JCXZlcnNpb24gPSBudG9obChoZHItPmlkeF92ZXJzaW9uKTsKLQkJaWYgKHZlcnNpb24gPCAyIHx8IHZlcnNpb24gPiAyKSB7Ci0JCQltdW5tYXAoaWR4X21hcCwgaWR4X3NpemUpOwotCQkJcmV0dXJuIGVycm9yKCJpbmRleCBmaWxlICVzIGlzIHZlcnNpb24gJSJQUkl1MzIKLQkJCQkgICAgICIgYW5kIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBiaW5hcnkiCi0JCQkJICAgICAiICh0cnkgdXBncmFkaW5nIEdJVCB0byBhIG5ld2VyIHZlcnNpb24pIiwKLQkJCQkgICAgIHBhdGgsIHZlcnNpb24pOwotCQl9Ci0JfSBlbHNlCi0JCXZlcnNpb24gPSAxOwotCi0JbnIgPSAwOwotCWluZGV4ID0gaWR4X21hcDsKLQlpZiAodmVyc2lvbiA+IDEpCi0JCWluZGV4ICs9IDI7ICAvKiBza2lwIGluZGV4IGhlYWRlciAqLwotCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgewotCQl1aW50MzJfdCBuID0gbnRvaGwoaW5kZXhbaV0pOwotCQlpZiAobiA8IG5yKSB7Ci0JCQltdW5tYXAoaWR4X21hcCwgaWR4X3NpemUpOwotCQkJcmV0dXJuIGVycm9yKCJub24tbW9ub3RvbmljIGluZGV4ICVzIiwgcGF0aCk7Ci0JCX0KLQkJbnIgPSBuOwotCX0KLQotCWlmICh2ZXJzaW9uID09IDEpIHsKLQkJLyoKLQkJICogVG90YWwgc2l6ZToKLQkJICogIC0gMjU2IGluZGV4IGVudHJpZXMgNCBieXRlcyBlYWNoCi0JCSAqICAtIDI0LWJ5dGUgZW50cmllcyAqIG5yICgyMC1ieXRlIHNoYTEgKyA0LWJ5dGUgb2Zmc2V0KQotCQkgKiAgLSAyMC1ieXRlIFNIQTEgb2YgdGhlIHBhY2tmaWxlCi0JCSAqICAtIDIwLWJ5dGUgU0hBMSBmaWxlIGNoZWNrc3VtCi0JCSAqLwotCQlpZiAoaWR4X3NpemUgIT0gNCoyNTYgKyBuciAqIDI0ICsgMjAgKyAyMCkgewotCQkJbXVubWFwKGlkeF9tYXAsIGlkeF9zaXplKTsKLQkJCXJldHVybiBlcnJvcigid3JvbmcgaW5kZXggdjEgZmlsZSBzaXplIGluICVzIiwgcGF0aCk7Ci0JCX0KLQl9IGVsc2UgaWYgKHZlcnNpb24gPT0gMikgewotCQkvKgotCQkgKiBNaW5pbXVtIHNpemU6Ci0JCSAqICAtIDggYnl0ZXMgb2YgaGVhZGVyCi0JCSAqICAtIDI1NiBpbmRleCBlbnRyaWVzIDQgYnl0ZXMgZWFjaAotCQkgKiAgLSAyMC1ieXRlIHNoYTEgZW50cnkgKiBucgotCQkgKiAgLSA0LWJ5dGUgY3JjIGVudHJ5ICogbnIKLQkJICogIC0gNC1ieXRlIG9mZnNldCBlbnRyeSAqIG5yCi0JCSAqICAtIDIwLWJ5dGUgU0hBMSBvZiB0aGUgcGFja2ZpbGUKLQkJICogIC0gMjAtYnl0ZSBTSEExIGZpbGUgY2hlY2tzdW0KLQkJICogQW5kIGFmdGVyIHRoZSA0LWJ5dGUgb2Zmc2V0IHRhYmxlIG1pZ2h0IGJlIGEKLQkJICogdmFyaWFibGUgc2l6ZWQgdGFibGUgY29udGFpbmluZyA4LWJ5dGUgZW50cmllcwotCQkgKiBmb3Igb2Zmc2V0cyBsYXJnZXIgdGhhbiAyXjMxLgotCQkgKi8KLQkJdW5zaWduZWQgbG9uZyBtaW5fc2l6ZSA9IDggKyA0KjI1NiArIG5yKigyMCArIDQgKyA0KSArIDIwICsgMjA7Ci0JCXVuc2lnbmVkIGxvbmcgbWF4X3NpemUgPSBtaW5fc2l6ZTsKLQkJaWYgKG5yKQotCQkJbWF4X3NpemUgKz0gKG5yIC0gMSkqODsKLQkJaWYgKGlkeF9zaXplIDwgbWluX3NpemUgfHwgaWR4X3NpemUgPiBtYXhfc2l6ZSkgewotCQkJbXVubWFwKGlkeF9tYXAsIGlkeF9zaXplKTsKLQkJCXJldHVybiBlcnJvcigid3JvbmcgaW5kZXggdjIgZmlsZSBzaXplIGluICVzIiwgcGF0aCk7Ci0JCX0KLQkJaWYgKGlkeF9zaXplICE9IG1pbl9zaXplICYmCi0JCSAgICAvKgotCQkgICAgICogbWFrZSBzdXJlIHdlIGNhbiBkZWFsIHdpdGggbGFyZ2UgcGFjayBvZmZzZXRzLgotCQkgICAgICogMzEtYml0IHNpZ25lZCBvZmZzZXQgd29uJ3QgYmUgZW5vdWdoLCBuZWl0aGVyCi0JCSAgICAgKiAzMi1iaXQgdW5zaWduZWQgb25lIHdpbGwgYmUuCi0JCSAgICAgKi8KLQkJICAgIChzaXplb2Yob2ZmX3QpIDw9IDQpKSB7Ci0JCQltdW5tYXAoaWR4X21hcCwgaWR4X3NpemUpOwotCQkJcmV0dXJuIGVycm9yKCJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IGluICVzIiwgcGF0aCk7Ci0JCX0KLQl9Ci0KLQlwLT5pbmRleF92ZXJzaW9uID0gdmVyc2lvbjsKLQlwLT5pbmRleF9kYXRhID0gaWR4X21hcDsKLQlwLT5pbmRleF9zaXplID0gaWR4X3NpemU7Ci0JcC0+bnVtX29iamVjdHMgPSBucjsKLQlyZXR1cm4gMDsKLX0KLQotaW50IG9wZW5fcGFja19pbmRleChzdHJ1Y3QgcGFja2VkX2dpdCAqcCkKLXsKLQljaGFyICppZHhfbmFtZTsKLQlzaXplX3QgbGVuOwotCWludCByZXQ7Ci0KLQlpZiAocC0+aW5kZXhfZGF0YSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoIXN0cmlwX3N1ZmZpeChwLT5wYWNrX25hbWUsICIucGFjayIsICZsZW4pKQotCQlkaWUoIkJVRzogcGFja19uYW1lIGRvZXMgbm90IGVuZCBpbiAucGFjayIpOwotCWlkeF9uYW1lID0geHN0cmZtdCgiJS4qcy5pZHgiLCAoaW50KWxlbiwgcC0+cGFja19uYW1lKTsKLQlyZXQgPSBjaGVja19wYWNrZWRfZ2l0X2lkeChpZHhfbmFtZSwgcCk7Ci0JZnJlZShpZHhfbmFtZSk7Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIHZvaWQgc2Nhbl93aW5kb3dzKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAotCXN0cnVjdCBwYWNrZWRfZ2l0ICoqbHJ1X3AsCi0Jc3RydWN0IHBhY2tfd2luZG93ICoqbHJ1X3csCi0Jc3RydWN0IHBhY2tfd2luZG93ICoqbHJ1X2wpCi17Ci0Jc3RydWN0IHBhY2tfd2luZG93ICp3LCAqd19sOwotCi0JZm9yICh3X2wgPSBOVUxMLCB3ID0gcC0+d2luZG93czsgdzsgdyA9IHctPm5leHQpIHsKLQkJaWYgKCF3LT5pbnVzZV9jbnQpIHsKLQkJCWlmICghKmxydV93IHx8IHctPmxhc3RfdXNlZCA8ICgqbHJ1X3cpLT5sYXN0X3VzZWQpIHsKLQkJCQkqbHJ1X3AgPSBwOwotCQkJCSpscnVfdyA9IHc7Ci0JCQkJKmxydV9sID0gd19sOwotCQkJfQotCQl9Ci0JCXdfbCA9IHc7Ci0JfQotfQotCi1zdGF0aWMgaW50IHVudXNlX29uZV93aW5kb3coc3RydWN0IHBhY2tlZF9naXQgKmN1cnJlbnQpCi17Ci0Jc3RydWN0IHBhY2tlZF9naXQgKnAsICpscnVfcCA9IE5VTEw7Ci0Jc3RydWN0IHBhY2tfd2luZG93ICpscnVfdyA9IE5VTEwsICpscnVfbCA9IE5VTEw7Ci0KLQlpZiAoY3VycmVudCkKLQkJc2Nhbl93aW5kb3dzKGN1cnJlbnQsICZscnVfcCwgJmxydV93LCAmbHJ1X2wpOwotCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KQotCQlzY2FuX3dpbmRvd3MocCwgJmxydV9wLCAmbHJ1X3csICZscnVfbCk7Ci0JaWYgKGxydV9wKSB7Ci0JCW11bm1hcChscnVfdy0+YmFzZSwgbHJ1X3ctPmxlbik7Ci0JCXBhY2tfbWFwcGVkIC09IGxydV93LT5sZW47Ci0JCWlmIChscnVfbCkKLQkJCWxydV9sLT5uZXh0ID0gbHJ1X3ctPm5leHQ7Ci0JCWVsc2UKLQkJCWxydV9wLT53aW5kb3dzID0gbHJ1X3ctPm5leHQ7Ci0JCWZyZWUobHJ1X3cpOwotCQlwYWNrX29wZW5fd2luZG93cy0tOwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXZvaWQgcmVsZWFzZV9wYWNrX21lbW9yeShzaXplX3QgbmVlZCkKLXsKLQlzaXplX3QgY3VyID0gcGFja19tYXBwZWQ7Ci0Jd2hpbGUgKG5lZWQgPj0gKGN1ciAtIHBhY2tfbWFwcGVkKSAmJiB1bnVzZV9vbmVfd2luZG93KE5VTEwpKQotCQk7IC8qIG5vdGhpbmcgKi8KLX0KLQogc3RhdGljIHZvaWQgbW1hcF9saW1pdF9jaGVjayhzaXplX3QgbGVuZ3RoKQogewogCXN0YXRpYyBzaXplX3QgbGltaXQgPSAwOwpAQCAtODc1LDY4MSArNzEwLDYgQEAKIAlyZXR1cm4gcmV0OwogfQogCi12b2lkIGNsb3NlX3BhY2tfd2luZG93cyhzdHJ1Y3QgcGFja2VkX2dpdCAqcCkKLXsKLQl3aGlsZSAocC0+d2luZG93cykgewotCQlzdHJ1Y3QgcGFja193aW5kb3cgKncgPSBwLT53aW5kb3dzOwotCi0JCWlmICh3LT5pbnVzZV9jbnQpCi0JCQlkaWUoInBhY2sgJyVzJyBzdGlsbCBoYXMgb3BlbiB3aW5kb3dzIHRvIGl0IiwKLQkJCSAgICBwLT5wYWNrX25hbWUpOwotCQltdW5tYXAody0+YmFzZSwgdy0+bGVuKTsKLQkJcGFja19tYXBwZWQgLT0gdy0+bGVuOwotCQlwYWNrX29wZW5fd2luZG93cy0tOwotCQlwLT53aW5kb3dzID0gdy0+bmV4dDsKLQkJZnJlZSh3KTsKLQl9Ci19Ci0KLXN0YXRpYyBpbnQgY2xvc2VfcGFja19mZChzdHJ1Y3QgcGFja2VkX2dpdCAqcCkKLXsKLQlpZiAocC0+cGFja19mZCA8IDApCi0JCXJldHVybiAwOwotCi0JY2xvc2UocC0+cGFja19mZCk7Ci0JcGFja19vcGVuX2Zkcy0tOwotCXAtPnBhY2tfZmQgPSAtMTsKLQotCXJldHVybiAxOwotfQotCi1zdGF0aWMgdm9pZCBjbG9zZV9wYWNrKHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQotewotCWNsb3NlX3BhY2tfd2luZG93cyhwKTsKLQljbG9zZV9wYWNrX2ZkKHApOwotCWNsb3NlX3BhY2tfaW5kZXgocCk7Ci19Ci0KLXZvaWQgY2xvc2VfYWxsX3BhY2tzKHZvaWQpCi17Ci0Jc3RydWN0IHBhY2tlZF9naXQgKnA7Ci0KLQlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkKLQkJaWYgKHAtPmRvX25vdF9jbG9zZSkKLQkJCWRpZSgiQlVHOiB3YW50IHRvIGNsb3NlIHBhY2sgbWFya2VkICdkby1ub3QtY2xvc2UnIik7Ci0JCWVsc2UKLQkJCWNsb3NlX3BhY2socCk7Ci19Ci0KLQotLyoKLSAqIFRoZSBMUlUgcGFjayBpcyB0aGUgb25lIHdpdGggdGhlIG9sZGVzdCBNUlUgd2luZG93LCBwcmVmZXJyaW5nIHBhY2tzCi0gKiB3aXRoIG5vIHVzZWQgd2luZG93cywgb3IgdGhlIG9sZGVzdCBtdGltZSBpZiBpdCBoYXMgbm8gd2luZG93cyBhbGxvY2F0ZWQuCi0gKi8KLXN0YXRpYyB2b2lkIGZpbmRfbHJ1X3BhY2soc3RydWN0IHBhY2tlZF9naXQgKnAsIHN0cnVjdCBwYWNrZWRfZ2l0ICoqbHJ1X3AsIHN0cnVjdCBwYWNrX3dpbmRvdyAqKm1ydV93LCBpbnQgKmFjY2VwdF93aW5kb3dzX2ludXNlKQotewotCXN0cnVjdCBwYWNrX3dpbmRvdyAqdywgKnRoaXNfbXJ1X3c7Ci0JaW50IGhhc193aW5kb3dzX2ludXNlID0gMDsKLQotCS8qCi0JICogUmVqZWN0IHRoaXMgcGFjayBpZiBpdCBoYXMgd2luZG93cyBhbmQgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQKLQkgKiBvbmUgZG9lcyBub3QuICBJZiB0aGlzIHBhY2sgZG9lcyBub3QgaGF2ZSB3aW5kb3dzLCByZWplY3QKLQkgKiBpdCBpZiB0aGUgcGFjayBmaWxlIGlzIG5ld2VyIHRoYW4gdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgb25lLgotCSAqLwotCWlmICgqbHJ1X3AgJiYgISptcnVfdyAmJiAocC0+d2luZG93cyB8fCBwLT5tdGltZSA+ICgqbHJ1X3ApLT5tdGltZSkpCi0JCXJldHVybjsKLQotCWZvciAodyA9IHRoaXNfbXJ1X3cgPSBwLT53aW5kb3dzOyB3OyB3ID0gdy0+bmV4dCkgewotCQkvKgotCQkgKiBSZWplY3QgdGhpcyBwYWNrIGlmIGFueSBvZiBpdHMgd2luZG93cyBhcmUgaW4gdXNlLAotCQkgKiBidXQgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgcGFjayBkaWQgbm90IGhhdmUgYW55Ci0JCSAqIGludXNlIHdpbmRvd3MuICBPdGhlcndpc2UsIHJlY29yZCB0aGF0IHRoaXMgcGFjawotCQkgKiBoYXMgd2luZG93cyBpbiB1c2UuCi0JCSAqLwotCQlpZiAody0+aW51c2VfY250KSB7Ci0JCQlpZiAoKmFjY2VwdF93aW5kb3dzX2ludXNlKQotCQkJCWhhc193aW5kb3dzX2ludXNlID0gMTsKLQkJCWVsc2UKLQkJCQlyZXR1cm47Ci0JCX0KLQotCQlpZiAody0+bGFzdF91c2VkID4gdGhpc19tcnVfdy0+bGFzdF91c2VkKQotCQkJdGhpc19tcnVfdyA9IHc7Ci0KLQkJLyoKLQkJICogUmVqZWN0IHRoaXMgcGFjayBpZiBpdCBoYXMgd2luZG93cyB0aGF0IGhhdmUgYmVlbgotCQkgKiB1c2VkIG1vcmUgcmVjZW50bHkgdGhhbiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCBwYWNrLgotCQkgKiBJZiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCBwYWNrIGhhZCB3aW5kb3dzIGludXNlIGFuZAotCQkgKiB3ZSBoYXZlIG5vdCBlbmNvdW50ZXJlZCBhIHdpbmRvdyBpbiB0aGlzIHBhY2sgdGhhdCBpcwotCQkgKiBpbnVzZSwgc2tpcCB0aGlzIGNoZWNrIHNpbmNlIHdlIHByZWZlciBhIHBhY2sgd2l0aCBubwotCQkgKiBpbnVzZSB3aW5kb3dzIHRvIG9uZSB0aGF0IGhhcyBpbnVzZSB3aW5kb3dzLgotCQkgKi8KLQkJaWYgKCptcnVfdyAmJiAqYWNjZXB0X3dpbmRvd3NfaW51c2UgPT0gaGFzX3dpbmRvd3NfaW51c2UgJiYKLQkJICAgIHRoaXNfbXJ1X3ctPmxhc3RfdXNlZCA+ICgqbXJ1X3cpLT5sYXN0X3VzZWQpCi0JCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBTZWxlY3QgdGhpcyBwYWNrLgotCSAqLwotCSptcnVfdyA9IHRoaXNfbXJ1X3c7Ci0JKmxydV9wID0gcDsKLQkqYWNjZXB0X3dpbmRvd3NfaW51c2UgPSBoYXNfd2luZG93c19pbnVzZTsKLX0KLQotc3RhdGljIGludCBjbG9zZV9vbmVfcGFjayh2b2lkKQotewotCXN0cnVjdCBwYWNrZWRfZ2l0ICpwLCAqbHJ1X3AgPSBOVUxMOwotCXN0cnVjdCBwYWNrX3dpbmRvdyAqbXJ1X3cgPSBOVUxMOwotCWludCBhY2NlcHRfd2luZG93c19pbnVzZSA9IDE7Ci0KLQlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkgewotCQlpZiAocC0+cGFja19mZCA9PSAtMSkKLQkJCWNvbnRpbnVlOwotCQlmaW5kX2xydV9wYWNrKHAsICZscnVfcCwgJm1ydV93LCAmYWNjZXB0X3dpbmRvd3NfaW51c2UpOwotCX0KLQotCWlmIChscnVfcCkKLQkJcmV0dXJuIGNsb3NlX3BhY2tfZmQobHJ1X3ApOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXZvaWQgdW51c2VfcGFjayhzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnNvcikKLXsKLQlzdHJ1Y3QgcGFja193aW5kb3cgKncgPSAqd19jdXJzb3I7Ci0JaWYgKHcpIHsKLQkJdy0+aW51c2VfY250LS07Ci0JCSp3X2N1cnNvciA9IE5VTEw7Ci0JfQotfQotCi12b2lkIGNsb3NlX3BhY2tfaW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKnApCi17Ci0JaWYgKHAtPmluZGV4X2RhdGEpIHsKLQkJbXVubWFwKCh2b2lkICopcC0+aW5kZXhfZGF0YSwgcC0+aW5kZXhfc2l6ZSk7Ci0JCXAtPmluZGV4X2RhdGEgPSBOVUxMOwotCX0KLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBnZXRfbWF4X2ZkX2xpbWl0KHZvaWQpCi17Ci0jaWZkZWYgUkxJTUlUX05PRklMRQotCXsKLQkJc3RydWN0IHJsaW1pdCBsaW07Ci0KLQkJaWYgKCFnZXRybGltaXQoUkxJTUlUX05PRklMRSwgJmxpbSkpCi0JCQlyZXR1cm4gbGltLnJsaW1fY3VyOwotCX0KLSNlbmRpZgotCi0jaWZkZWYgX1NDX09QRU5fTUFYCi0JewotCQlsb25nIG9wZW5fbWF4ID0gc3lzY29uZihfU0NfT1BFTl9NQVgpOwotCQlpZiAoMCA8IG9wZW5fbWF4KQotCQkJcmV0dXJuIG9wZW5fbWF4OwotCQkvKgotCQkgKiBPdGhlcndpc2UsIHdlIGdvdCAtMSBmb3Igb25lIG9mIHRoZSB0d28KLQkJICogcmVhc29uczoKLQkJICoKLQkJICogKDEpIHN5c2NvbmYoKSBkaWQgbm90IHVuZGVyc3RhbmQgX1NDX09QRU5fTUFYCi0JCSAqICAgICBhbmQgc2lnbmFsZWQgYW4gZXJyb3Igd2l0aCAtMTsgb3IKLQkJICogKDIpIHN5c2NvbmYoKSBzYWlkIHRoZXJlIGlzIG5vIGxpbWl0LgotCQkgKgotCQkgKiBXZSBfY291bGRfIGNsZWFyIGVycm5vIGJlZm9yZSBjYWxsaW5nIHN5c2NvbmYoKSB0bwotCQkgKiB0ZWxsIHRoZXNlIHR3byBjYXNlcyBhcGFydCBhbmQgcmV0dXJuIGEgaHVnZSBudW1iZXIKLQkJICogaW4gdGhlIGxhdHRlciBjYXNlIHRvIGxldCB0aGUgY2FsbGVyIGNhcCBpdCB0byBhCi0JCSAqIHZhbHVlIHRoYXQgaXMgbm90IHNvIHNlbGZpc2gsIGJ1dCBsZXR0aW5nIHRoZQotCQkgKiBmYWxsYmFjayBPUEVOX01BWCBjb2RlcGF0aCB0YWtlIGNhcmUgb2YgdGhlc2UgY2FzZXMKLQkJICogaXMgYSBsb3Qgc2ltcGxlci4KLQkJICovCi0JfQotI2VuZGlmCi0KLSNpZmRlZiBPUEVOX01BWAotCXJldHVybiBPUEVOX01BWDsKLSNlbHNlCi0JcmV0dXJuIDE7IC8qIHNlZSB0aGUgY2FsbGVyIDstKSAqLwotI2VuZGlmCi19Ci0KLS8qCi0gKiBEbyBub3QgY2FsbCB0aGlzIGRpcmVjdGx5IGFzIHRoaXMgbGVha3MgcC0+cGFja19mZCBvbiBlcnJvciByZXR1cm47Ci0gKiBjYWxsIG9wZW5fcGFja2VkX2dpdCgpIGluc3RlYWQuCi0gKi8KLXN0YXRpYyBpbnQgb3Blbl9wYWNrZWRfZ2l0XzEoc3RydWN0IHBhY2tlZF9naXQgKnApCi17Ci0Jc3RydWN0IHN0YXQgc3Q7Ci0Jc3RydWN0IHBhY2tfaGVhZGVyIGhkcjsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCXVuc2lnbmVkIGNoYXIgKmlkeF9zaGExOwotCWxvbmcgZmRfZmxhZzsKLQotCWlmICghcC0+aW5kZXhfZGF0YSAmJiBvcGVuX3BhY2tfaW5kZXgocCkpCi0JCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgaW5kZXggdW5hdmFpbGFibGUiLCBwLT5wYWNrX25hbWUpOwotCi0JaWYgKCFwYWNrX21heF9mZHMpIHsKLQkJdW5zaWduZWQgaW50IG1heF9mZHMgPSBnZXRfbWF4X2ZkX2xpbWl0KCk7Ci0KLQkJLyogU2F2ZSAzIGZvciBzdGRpbi9zdGRvdXQvc3RkZXJyLCAyMiBmb3Igd29yayAqLwotCQlpZiAoMjUgPCBtYXhfZmRzKQotCQkJcGFja19tYXhfZmRzID0gbWF4X2ZkcyAtIDI1OwotCQllbHNlCi0JCQlwYWNrX21heF9mZHMgPSAxOwotCX0KLQotCXdoaWxlIChwYWNrX21heF9mZHMgPD0gcGFja19vcGVuX2ZkcyAmJiBjbG9zZV9vbmVfcGFjaygpKQotCQk7IC8qIG5vdGhpbmcgKi8KLQotCXAtPnBhY2tfZmQgPSBnaXRfb3BlbihwLT5wYWNrX25hbWUpOwotCWlmIChwLT5wYWNrX2ZkIDwgMCB8fCBmc3RhdChwLT5wYWNrX2ZkLCAmc3QpKQotCQlyZXR1cm4gLTE7Ci0JcGFja19vcGVuX2ZkcysrOwotCi0JLyogSWYgd2UgY3JlYXRlZCB0aGUgc3RydWN0IGJlZm9yZSB3ZSBoYWQgdGhlIHBhY2sgd2UgbGFjayBzaXplLiAqLwotCWlmICghcC0+cGFja19zaXplKSB7Ci0JCWlmICghU19JU1JFRyhzdC5zdF9tb2RlKSkKLQkJCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgbm90IGEgcmVndWxhciBmaWxlIiwgcC0+cGFja19uYW1lKTsKLQkJcC0+cGFja19zaXplID0gc3Quc3Rfc2l6ZTsKLQl9IGVsc2UgaWYgKHAtPnBhY2tfc2l6ZSAhPSBzdC5zdF9zaXplKQotCQlyZXR1cm4gZXJyb3IoInBhY2tmaWxlICVzIHNpemUgY2hhbmdlZCIsIHAtPnBhY2tfbmFtZSk7Ci0KLQkvKiBXZSBsZWF2ZSB0aGVzZSBmaWxlIGRlc2NyaXB0b3JzIG9wZW4gd2l0aCBzbGlkaW5nIG1tYXA7Ci0JICogdGhlcmUgaXMgbm8gcG9pbnQga2VlcGluZyB0aGVtIG9wZW4gYWNyb3NzIGV4ZWMoKSwgdGhvdWdoLgotCSAqLwotCWZkX2ZsYWcgPSBmY250bChwLT5wYWNrX2ZkLCBGX0dFVEZELCAwKTsKLQlpZiAoZmRfZmxhZyA8IDApCi0JCXJldHVybiBlcnJvcigiY2Fubm90IGRldGVybWluZSBmaWxlIGRlc2NyaXB0b3IgZmxhZ3MiKTsKLQlmZF9mbGFnIHw9IEZEX0NMT0VYRUM7Ci0JaWYgKGZjbnRsKHAtPnBhY2tfZmQsIEZfU0VURkQsIGZkX2ZsYWcpID09IC0xKQotCQlyZXR1cm4gZXJyb3IoImNhbm5vdCBzZXQgRkRfQ0xPRVhFQyIpOwotCi0JLyogVmVyaWZ5IHdlIHJlY29nbml6ZSB0aGlzIHBhY2sgZmlsZSBmb3JtYXQuICovCi0JaWYgKHJlYWRfaW5fZnVsbChwLT5wYWNrX2ZkLCAmaGRyLCBzaXplb2YoaGRyKSkgIT0gc2l6ZW9mKGhkcikpCi0JCXJldHVybiBlcnJvcigiZmlsZSAlcyBpcyBmYXIgdG9vIHNob3J0IHRvIGJlIGEgcGFja2ZpbGUiLCBwLT5wYWNrX25hbWUpOwotCWlmIChoZHIuaGRyX3NpZ25hdHVyZSAhPSBodG9ubChQQUNLX1NJR05BVFVSRSkpCi0JCXJldHVybiBlcnJvcigiZmlsZSAlcyBpcyBub3QgYSBHSVQgcGFja2ZpbGUiLCBwLT5wYWNrX25hbWUpOwotCWlmICghcGFja192ZXJzaW9uX29rKGhkci5oZHJfdmVyc2lvbikpCi0JCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgaXMgdmVyc2lvbiAlIlBSSXUzMiIgYW5kIG5vdCIKLQkJCSIgc3VwcG9ydGVkICh0cnkgdXBncmFkaW5nIEdJVCB0byBhIG5ld2VyIHZlcnNpb24pIiwKLQkJCXAtPnBhY2tfbmFtZSwgbnRvaGwoaGRyLmhkcl92ZXJzaW9uKSk7Ci0KLQkvKiBWZXJpZnkgdGhlIHBhY2sgbWF0Y2hlcyBpdHMgaW5kZXguICovCi0JaWYgKHAtPm51bV9vYmplY3RzICE9IG50b2hsKGhkci5oZHJfZW50cmllcykpCi0JCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgY2xhaW1zIHRvIGhhdmUgJSJQUkl1MzIiIG9iamVjdHMiCi0JCQkgICAgICIgd2hpbGUgaW5kZXggaW5kaWNhdGVzICUiUFJJdTMyIiBvYmplY3RzIiwKLQkJCSAgICAgcC0+cGFja19uYW1lLCBudG9obChoZHIuaGRyX2VudHJpZXMpLAotCQkJICAgICBwLT5udW1fb2JqZWN0cyk7Ci0JaWYgKGxzZWVrKHAtPnBhY2tfZmQsIHAtPnBhY2tfc2l6ZSAtIHNpemVvZihzaGExKSwgU0VFS19TRVQpID09IC0xKQotCQlyZXR1cm4gZXJyb3IoImVuZCBvZiBwYWNrZmlsZSAlcyBpcyB1bmF2YWlsYWJsZSIsIHAtPnBhY2tfbmFtZSk7Ci0JaWYgKHJlYWRfaW5fZnVsbChwLT5wYWNrX2ZkLCBzaGExLCBzaXplb2Yoc2hhMSkpICE9IHNpemVvZihzaGExKSkKLQkJcmV0dXJuIGVycm9yKCJwYWNrZmlsZSAlcyBzaWduYXR1cmUgaXMgdW5hdmFpbGFibGUiLCBwLT5wYWNrX25hbWUpOwotCWlkeF9zaGExID0gKCh1bnNpZ25lZCBjaGFyICopcC0+aW5kZXhfZGF0YSkgKyBwLT5pbmRleF9zaXplIC0gNDA7Ci0JaWYgKGhhc2hjbXAoc2hhMSwgaWR4X3NoYTEpKQotCQlyZXR1cm4gZXJyb3IoInBhY2tmaWxlICVzIGRvZXMgbm90IG1hdGNoIGluZGV4IiwgcC0+cGFja19uYW1lKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBvcGVuX3BhY2tlZF9naXQoc3RydWN0IHBhY2tlZF9naXQgKnApCi17Ci0JaWYgKCFvcGVuX3BhY2tlZF9naXRfMShwKSkKLQkJcmV0dXJuIDA7Ci0JY2xvc2VfcGFja19mZChwKTsKLQlyZXR1cm4gLTE7Ci19Ci0KLXN0YXRpYyBpbnQgaW5fd2luZG93KHN0cnVjdCBwYWNrX3dpbmRvdyAqd2luLCBvZmZfdCBvZmZzZXQpCi17Ci0JLyogV2UgbXVzdCBwcm9taXNlIGF0IGxlYXN0IDIwIGJ5dGVzIChvbmUgaGFzaCkgYWZ0ZXIgdGhlCi0JICogb2Zmc2V0IGlzIGF2YWlsYWJsZSBmcm9tIHRoaXMgd2luZG93LCBvdGhlcndpc2UgdGhlIG9mZnNldAotCSAqIGlzIG5vdCBhY3R1YWxseSBpbiB0aGlzIHdpbmRvdyBhbmQgYSBkaWZmZXJlbnQgd2luZG93ICh3aGljaAotCSAqIGhhcyB0aGF0IG9uZSBoYXNoIGV4Y2VzcykgbXVzdCBiZSB1c2VkLiAgVGhpcyBpcyB0byBzdXBwb3J0Ci0JICogdGhlIG9iamVjdCBoZWFkZXIgYW5kIGRlbHRhIGJhc2UgcGFyc2luZyByb3V0aW5lcyBiZWxvdy4KLQkgKi8KLQlvZmZfdCB3aW5fb2ZmID0gd2luLT5vZmZzZXQ7Ci0JcmV0dXJuIHdpbl9vZmYgPD0gb2Zmc2V0Ci0JCSYmIChvZmZzZXQgKyAyMCkgPD0gKHdpbl9vZmYgKyB3aW4tPmxlbik7Ci19Ci0KLXVuc2lnbmVkIGNoYXIgKnVzZV9wYWNrKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAotCQlzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnNvciwKLQkJb2ZmX3Qgb2Zmc2V0LAotCQl1bnNpZ25lZCBsb25nICpsZWZ0KQotewotCXN0cnVjdCBwYWNrX3dpbmRvdyAqd2luID0gKndfY3Vyc29yOwotCi0JLyogU2luY2UgcGFja2ZpbGVzIGVuZCBpbiBhIGhhc2ggb2YgdGhlaXIgY29udGVudCBhbmQgaXQncwotCSAqIHBvaW50bGVzcyB0byBhc2sgZm9yIGFuIG9mZnNldCBpbnRvIHRoZSBtaWRkbGUgb2YgdGhhdAotCSAqIGhhc2gsIGFuZCB0aGUgaW5fd2luZG93IGZ1bmN0aW9uIGFib3ZlIHdvdWxkbid0IG1hdGNoCi0JICogZG9uJ3QgYWxsb3cgYW4gb2Zmc2V0IHRvbyBjbG9zZSB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLgotCSAqLwotCWlmICghcC0+cGFja19zaXplICYmIHAtPnBhY2tfZmQgPT0gLTEgJiYgb3Blbl9wYWNrZWRfZ2l0KHApKQotCQlkaWUoInBhY2tmaWxlICVzIGNhbm5vdCBiZSBhY2Nlc3NlZCIsIHAtPnBhY2tfbmFtZSk7Ci0JaWYgKG9mZnNldCA+IChwLT5wYWNrX3NpemUgLSAyMCkpCi0JCWRpZSgib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFja2ZpbGUgKHRydW5jYXRlZCBwYWNrPykiKTsKLQlpZiAob2Zmc2V0IDwgMCkKLQkJZGllKF8oIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIikpOwotCi0JaWYgKCF3aW4gfHwgIWluX3dpbmRvdyh3aW4sIG9mZnNldCkpIHsKLQkJaWYgKHdpbikKLQkJCXdpbi0+aW51c2VfY250LS07Ci0JCWZvciAod2luID0gcC0+d2luZG93czsgd2luOyB3aW4gPSB3aW4tPm5leHQpIHsKLQkJCWlmIChpbl93aW5kb3cod2luLCBvZmZzZXQpKQotCQkJCWJyZWFrOwotCQl9Ci0JCWlmICghd2luKSB7Ci0JCQlzaXplX3Qgd2luZG93X2FsaWduID0gcGFja2VkX2dpdF93aW5kb3dfc2l6ZSAvIDI7Ci0JCQlvZmZfdCBsZW47Ci0KLQkJCWlmIChwLT5wYWNrX2ZkID09IC0xICYmIG9wZW5fcGFja2VkX2dpdChwKSkKLQkJCQlkaWUoInBhY2tmaWxlICVzIGNhbm5vdCBiZSBhY2Nlc3NlZCIsIHAtPnBhY2tfbmFtZSk7Ci0KLQkJCXdpbiA9IHhjYWxsb2MoMSwgc2l6ZW9mKCp3aW4pKTsKLQkJCXdpbi0+b2Zmc2V0ID0gKG9mZnNldCAvIHdpbmRvd19hbGlnbikgKiB3aW5kb3dfYWxpZ247Ci0JCQlsZW4gPSBwLT5wYWNrX3NpemUgLSB3aW4tPm9mZnNldDsKLQkJCWlmIChsZW4gPiBwYWNrZWRfZ2l0X3dpbmRvd19zaXplKQotCQkJCWxlbiA9IHBhY2tlZF9naXRfd2luZG93X3NpemU7Ci0JCQl3aW4tPmxlbiA9IChzaXplX3QpbGVuOwotCQkJcGFja19tYXBwZWQgKz0gd2luLT5sZW47Ci0JCQl3aGlsZSAocGFja2VkX2dpdF9saW1pdCA8IHBhY2tfbWFwcGVkCi0JCQkJJiYgdW51c2Vfb25lX3dpbmRvdyhwKSkKLQkJCQk7IC8qIG5vdGhpbmcgKi8KLQkJCXdpbi0+YmFzZSA9IHhtbWFwKE5VTEwsIHdpbi0+bGVuLAotCQkJCVBST1RfUkVBRCwgTUFQX1BSSVZBVEUsCi0JCQkJcC0+cGFja19mZCwgd2luLT5vZmZzZXQpOwotCQkJaWYgKHdpbi0+YmFzZSA9PSBNQVBfRkFJTEVEKQotCQkJCWRpZV9lcnJubygicGFja2ZpbGUgJXMgY2Fubm90IGJlIG1hcHBlZCIsCi0JCQkJCSAgcC0+cGFja19uYW1lKTsKLQkJCWlmICghd2luLT5vZmZzZXQgJiYgd2luLT5sZW4gPT0gcC0+cGFja19zaXplCi0JCQkJJiYgIXAtPmRvX25vdF9jbG9zZSkKLQkJCQljbG9zZV9wYWNrX2ZkKHApOwotCQkJcGFja19tbWFwX2NhbGxzKys7Ci0JCQlwYWNrX29wZW5fd2luZG93cysrOwotCQkJaWYgKHBhY2tfbWFwcGVkID4gcGVha19wYWNrX21hcHBlZCkKLQkJCQlwZWFrX3BhY2tfbWFwcGVkID0gcGFja19tYXBwZWQ7Ci0JCQlpZiAocGFja19vcGVuX3dpbmRvd3MgPiBwZWFrX3BhY2tfb3Blbl93aW5kb3dzKQotCQkJCXBlYWtfcGFja19vcGVuX3dpbmRvd3MgPSBwYWNrX29wZW5fd2luZG93czsKLQkJCXdpbi0+bmV4dCA9IHAtPndpbmRvd3M7Ci0JCQlwLT53aW5kb3dzID0gd2luOwotCQl9Ci0JfQotCWlmICh3aW4gIT0gKndfY3Vyc29yKSB7Ci0JCXdpbi0+bGFzdF91c2VkID0gcGFja191c2VkX2N0cisrOwotCQl3aW4tPmludXNlX2NudCsrOwotCQkqd19jdXJzb3IgPSB3aW47Ci0JfQotCW9mZnNldCAtPSB3aW4tPm9mZnNldDsKLQlpZiAobGVmdCkKLQkJKmxlZnQgPSB3aW4tPmxlbiAtIHhzaXplX3Qob2Zmc2V0KTsKLQlyZXR1cm4gd2luLT5iYXNlICsgb2Zmc2V0OwotfQotCi1zdGF0aWMgc3RydWN0IHBhY2tlZF9naXQgKmFsbG9jX3BhY2tlZF9naXQoaW50IGV4dHJhKQotewotCXN0cnVjdCBwYWNrZWRfZ2l0ICpwID0geG1hbGxvYyhzdF9hZGQoc2l6ZW9mKCpwKSwgZXh0cmEpKTsKLQltZW1zZXQocCwgMCwgc2l6ZW9mKCpwKSk7Ci0JcC0+cGFja19mZCA9IC0xOwotCXJldHVybiBwOwotfQotCi1zdGF0aWMgdm9pZCB0cnlfdG9fZnJlZV9wYWNrX21lbW9yeShzaXplX3Qgc2l6ZSkKLXsKLQlyZWxlYXNlX3BhY2tfbWVtb3J5KHNpemUpOwotfQotCi1zdHJ1Y3QgcGFja2VkX2dpdCAqYWRkX3BhY2tlZF9naXQoY29uc3QgY2hhciAqcGF0aCwgc2l6ZV90IHBhdGhfbGVuLCBpbnQgbG9jYWwpCi17Ci0Jc3RhdGljIGludCBoYXZlX3NldF90cnlfdG9fZnJlZV9yb3V0aW5lOwotCXN0cnVjdCBzdGF0IHN0OwotCXNpemVfdCBhbGxvYzsKLQlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKLQotCWlmICghaGF2ZV9zZXRfdHJ5X3RvX2ZyZWVfcm91dGluZSkgewotCQloYXZlX3NldF90cnlfdG9fZnJlZV9yb3V0aW5lID0gMTsKLQkJc2V0X3RyeV90b19mcmVlX3JvdXRpbmUodHJ5X3RvX2ZyZWVfcGFja19tZW1vcnkpOwotCX0KLQotCS8qCi0JICogTWFrZSBzdXJlIGEgY29ycmVzcG9uZGluZyAucGFjayBmaWxlIGV4aXN0cyBhbmQgdGhhdAotCSAqIHRoZSBpbmRleCBsb29rcyBzYW5lLgotCSAqLwotCWlmICghc3RyaXBfc3VmZml4X21lbShwYXRoLCAmcGF0aF9sZW4sICIuaWR4IikpCi0JCXJldHVybiBOVUxMOwotCi0JLyoKLQkgKiAiLnBhY2siIGlzIGxvbmcgZW5vdWdoIHRvIGhvbGQgYW55IHN1ZmZpeCB3ZSdyZSBhZGRpbmcgKGFuZAotCSAqIHRoZSB1c2UgeHNucHJpbnRmIGRvdWJsZS1jaGVja3MgdGhhdCkKLQkgKi8KLQlhbGxvYyA9IHN0X2FkZDMocGF0aF9sZW4sIHN0cmxlbigiLnBhY2siKSwgMSk7Ci0JcCA9IGFsbG9jX3BhY2tlZF9naXQoYWxsb2MpOwotCW1lbWNweShwLT5wYWNrX25hbWUsIHBhdGgsIHBhdGhfbGVuKTsKLQotCXhzbnByaW50ZihwLT5wYWNrX25hbWUgKyBwYXRoX2xlbiwgYWxsb2MgLSBwYXRoX2xlbiwgIi5rZWVwIik7Ci0JaWYgKCFhY2Nlc3MocC0+cGFja19uYW1lLCBGX09LKSkKLQkJcC0+cGFja19rZWVwID0gMTsKLQotCXhzbnByaW50ZihwLT5wYWNrX25hbWUgKyBwYXRoX2xlbiwgYWxsb2MgLSBwYXRoX2xlbiwgIi5wYWNrIik7Ci0JaWYgKHN0YXQocC0+cGFja19uYW1lLCAmc3QpIHx8ICFTX0lTUkVHKHN0LnN0X21vZGUpKSB7Ci0JCWZyZWUocCk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCS8qIG9rLCBpdCBsb29rcyBzYW5lIGFzIGZhciBhcyB3ZSBjYW4gY2hlY2sgd2l0aG91dAotCSAqIGFjdHVhbGx5IG1hcHBpbmcgdGhlIHBhY2sgZmlsZS4KLQkgKi8KLQlwLT5wYWNrX3NpemUgPSBzdC5zdF9zaXplOwotCXAtPnBhY2tfbG9jYWwgPSBsb2NhbDsKLQlwLT5tdGltZSA9IHN0LnN0X210aW1lOwotCWlmIChwYXRoX2xlbiA8IDQwIHx8IGdldF9zaGExX2hleChwYXRoICsgcGF0aF9sZW4gLSA0MCwgcC0+c2hhMSkpCi0JCWhhc2hjbHIocC0+c2hhMSk7Ci0JcmV0dXJuIHA7Ci19Ci0KLXN0cnVjdCBwYWNrZWRfZ2l0ICpwYXJzZV9wYWNrX2luZGV4KHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmlkeF9wYXRoKQotewotCWNvbnN0IGNoYXIgKnBhdGggPSBzaGExX3BhY2tfbmFtZShzaGExKTsKLQlzaXplX3QgYWxsb2MgPSBzdF9hZGQoc3RybGVuKHBhdGgpLCAxKTsKLQlzdHJ1Y3QgcGFja2VkX2dpdCAqcCA9IGFsbG9jX3BhY2tlZF9naXQoYWxsb2MpOwotCi0JbWVtY3B5KHAtPnBhY2tfbmFtZSwgcGF0aCwgYWxsb2MpOyAvKiBpbmNsdWRlcyBOVUwgKi8KLQloYXNoY3B5KHAtPnNoYTEsIHNoYTEpOwotCWlmIChjaGVja19wYWNrZWRfZ2l0X2lkeChpZHhfcGF0aCwgcCkpIHsKLQkJZnJlZShwKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JcmV0dXJuIHA7Ci19Ci0KLXZvaWQgaW5zdGFsbF9wYWNrZWRfZ2l0KHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrKQotewotCWlmIChwYWNrLT5wYWNrX2ZkICE9IC0xKQotCQlwYWNrX29wZW5fZmRzKys7Ci0KLQlwYWNrLT5uZXh0ID0gcGFja2VkX2dpdDsKLQlwYWNrZWRfZ2l0ID0gcGFjazsKLX0KLQotdm9pZCAoKnJlcG9ydF9nYXJiYWdlKSh1bnNpZ25lZCBzZWVuX2JpdHMsIGNvbnN0IGNoYXIgKnBhdGgpOwotCi1zdGF0aWMgdm9pZCByZXBvcnRfaGVscGVyKGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwKLQkJCSAgaW50IHNlZW5fYml0cywgaW50IGZpcnN0LCBpbnQgbGFzdCkKLXsKLQlpZiAoc2Vlbl9iaXRzID09IChQQUNLRElSX0ZJTEVfUEFDS3xQQUNLRElSX0ZJTEVfSURYKSkKLQkJcmV0dXJuOwotCi0JZm9yICg7IGZpcnN0IDwgbGFzdDsgZmlyc3QrKykKLQkJcmVwb3J0X2dhcmJhZ2Uoc2Vlbl9iaXRzLCBsaXN0LT5pdGVtc1tmaXJzdF0uc3RyaW5nKTsKLX0KLQotc3RhdGljIHZvaWQgcmVwb3J0X3BhY2tfZ2FyYmFnZShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QpCi17Ci0JaW50IGksIGJhc2VsZW4gPSAtMSwgZmlyc3QgPSAwLCBzZWVuX2JpdHMgPSAwOwotCi0JaWYgKCFyZXBvcnRfZ2FyYmFnZSkKLQkJcmV0dXJuOwotCi0Jc3RyaW5nX2xpc3Rfc29ydChsaXN0KTsKLQotCWZvciAoaSA9IDA7IGkgPCBsaXN0LT5ucjsgaSsrKSB7Ci0JCWNvbnN0IGNoYXIgKnBhdGggPSBsaXN0LT5pdGVtc1tpXS5zdHJpbmc7Ci0JCWlmIChiYXNlbGVuICE9IC0xICYmCi0JCSAgICBzdHJuY21wKHBhdGgsIGxpc3QtPml0ZW1zW2ZpcnN0XS5zdHJpbmcsIGJhc2VsZW4pKSB7Ci0JCQlyZXBvcnRfaGVscGVyKGxpc3QsIHNlZW5fYml0cywgZmlyc3QsIGkpOwotCQkJYmFzZWxlbiA9IC0xOwotCQkJc2Vlbl9iaXRzID0gMDsKLQkJfQotCQlpZiAoYmFzZWxlbiA9PSAtMSkgewotCQkJY29uc3QgY2hhciAqZG90ID0gc3RycmNocihwYXRoLCAnLicpOwotCQkJaWYgKCFkb3QpIHsKLQkJCQlyZXBvcnRfZ2FyYmFnZShQQUNLRElSX0ZJTEVfR0FSQkFHRSwgcGF0aCk7Ci0JCQkJY29udGludWU7Ci0JCQl9Ci0JCQliYXNlbGVuID0gZG90IC0gcGF0aCArIDE7Ci0JCQlmaXJzdCA9IGk7Ci0JCX0KLQkJaWYgKCFzdHJjbXAocGF0aCArIGJhc2VsZW4sICJwYWNrIikpCi0JCQlzZWVuX2JpdHMgfD0gMTsKLQkJZWxzZSBpZiAoIXN0cmNtcChwYXRoICsgYmFzZWxlbiwgImlkeCIpKQotCQkJc2Vlbl9iaXRzIHw9IDI7Ci0JfQotCXJlcG9ydF9oZWxwZXIobGlzdCwgc2Vlbl9iaXRzLCBmaXJzdCwgbGlzdC0+bnIpOwotfQotCi1zdGF0aWMgdm9pZCBwcmVwYXJlX3BhY2tlZF9naXRfb25lKGNoYXIgKm9iamRpciwgaW50IGxvY2FsKQotewotCXN0cnVjdCBzdHJidWYgcGF0aCA9IFNUUkJVRl9JTklUOwotCXNpemVfdCBkaXJuYW1lbGVuOwotCURJUiAqZGlyOwotCXN0cnVjdCBkaXJlbnQgKmRlOwotCXN0cnVjdCBzdHJpbmdfbGlzdCBnYXJiYWdlID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7Ci0KLQlzdHJidWZfYWRkc3RyKCZwYXRoLCBvYmpkaXIpOwotCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsICIvcGFjayIpOwotCWRpciA9IG9wZW5kaXIocGF0aC5idWYpOwotCWlmICghZGlyKSB7Ci0JCWlmIChlcnJubyAhPSBFTk9FTlQpCi0JCQllcnJvcl9lcnJubygidW5hYmxlIHRvIG9wZW4gb2JqZWN0IHBhY2sgZGlyZWN0b3J5OiAlcyIsCi0JCQkJICAgIHBhdGguYnVmKTsKLQkJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwotCQlyZXR1cm47Ci0JfQotCXN0cmJ1Zl9hZGRjaCgmcGF0aCwgJy8nKTsKLQlkaXJuYW1lbGVuID0gcGF0aC5sZW47Ci0Jd2hpbGUgKChkZSA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgewotCQlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKLQkJc2l6ZV90IGJhc2VfbGVuOwotCi0JCWlmIChpc19kb3Rfb3JfZG90ZG90KGRlLT5kX25hbWUpKQotCQkJY29udGludWU7Ci0KLQkJc3RyYnVmX3NldGxlbigmcGF0aCwgZGlybmFtZWxlbik7Ci0JCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsIGRlLT5kX25hbWUpOwotCi0JCWJhc2VfbGVuID0gcGF0aC5sZW47Ci0JCWlmIChzdHJpcF9zdWZmaXhfbWVtKHBhdGguYnVmLCAmYmFzZV9sZW4sICIuaWR4IikpIHsKLQkJCS8qIERvbid0IHJlb3BlbiBhIHBhY2sgd2UgYWxyZWFkeSBoYXZlLiAqLwotCQkJZm9yIChwID0gcGFja2VkX2dpdDsgcDsgcCA9IHAtPm5leHQpIHsKLQkJCQlzaXplX3QgbGVuOwotCQkJCWlmIChzdHJpcF9zdWZmaXgocC0+cGFja19uYW1lLCAiLnBhY2siLCAmbGVuKSAmJgotCQkJCSAgICBsZW4gPT0gYmFzZV9sZW4gJiYKLQkJCQkgICAgIW1lbWNtcChwLT5wYWNrX25hbWUsIHBhdGguYnVmLCBsZW4pKQotCQkJCQlicmVhazsKLQkJCX0KLQkJCWlmIChwID09IE5VTEwgJiYKLQkJCSAgICAvKgotCQkJICAgICAqIFNlZSBpZiBpdCByZWFsbHkgaXMgYSB2YWxpZCAuaWR4IGZpbGUgd2l0aAotCQkJICAgICAqIGNvcnJlc3BvbmRpbmcgLnBhY2sgZmlsZSB0aGF0IHdlIGNhbiBtYXAuCi0JCQkgICAgICovCi0JCQkgICAgKHAgPSBhZGRfcGFja2VkX2dpdChwYXRoLmJ1ZiwgcGF0aC5sZW4sIGxvY2FsKSkgIT0gTlVMTCkKLQkJCQlpbnN0YWxsX3BhY2tlZF9naXQocCk7Ci0JCX0KLQotCQlpZiAoIXJlcG9ydF9nYXJiYWdlKQotCQkJY29udGludWU7Ci0KLQkJaWYgKGVuZHNfd2l0aChkZS0+ZF9uYW1lLCAiLmlkeCIpIHx8Ci0JCSAgICBlbmRzX3dpdGgoZGUtPmRfbmFtZSwgIi5wYWNrIikgfHwKLQkJICAgIGVuZHNfd2l0aChkZS0+ZF9uYW1lLCAiLmJpdG1hcCIpIHx8Ci0JCSAgICBlbmRzX3dpdGgoZGUtPmRfbmFtZSwgIi5rZWVwIikpCi0JCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmdhcmJhZ2UsIHBhdGguYnVmKTsKLQkJZWxzZQotCQkJcmVwb3J0X2dhcmJhZ2UoUEFDS0RJUl9GSUxFX0dBUkJBR0UsIHBhdGguYnVmKTsKLQl9Ci0JY2xvc2VkaXIoZGlyKTsKLQlyZXBvcnRfcGFja19nYXJiYWdlKCZnYXJiYWdlKTsKLQlzdHJpbmdfbGlzdF9jbGVhcigmZ2FyYmFnZSwgMCk7Ci0Jc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwotfQotCi1zdGF0aWMgaW50IGFwcHJveGltYXRlX29iamVjdF9jb3VudF92YWxpZDsKLQotLyoKLSAqIEdpdmUgYSBmYXN0LCByb3VnaCBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkuIFRoaXMKLSAqIGlnbm9yZXMgbG9vc2Ugb2JqZWN0cyBjb21wbGV0ZWx5LiBJZiB5b3UgaGF2ZSBhIGxvdCBvZiB0aGVtLCB0aGVuIGVpdGhlcgotICogeW91IHNob3VsZCByZXBhY2sgYmVjYXVzZSB5b3VyIHBlcmZvcm1hbmNlIHdpbGwgYmUgYXdmdWwsIG9yIHRoZXkgYXJlCi0gKiBhbGwgdW5yZWFjaGFibGUgb2JqZWN0cyBhYm91dCB0byBiZSBwcnVuZWQsIGluIHdoaWNoIGNhc2UgdGhleSdyZSBub3QgcmVhbGx5Ci0gKiBpbnRlcmVzdGluZyBhcyBhIG1lYXN1cmUgb2YgcmVwbyBzaXplIGluIHRoZSBmaXJzdCBwbGFjZS4KLSAqLwotdW5zaWduZWQgbG9uZyBhcHByb3hpbWF0ZV9vYmplY3RfY291bnQodm9pZCkKLXsKLQlzdGF0aWMgdW5zaWduZWQgbG9uZyBjb3VudDsKLQlpZiAoIWFwcHJveGltYXRlX29iamVjdF9jb3VudF92YWxpZCkgewotCQlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKLQotCQlwcmVwYXJlX3BhY2tlZF9naXQoKTsKLQkJY291bnQgPSAwOwotCQlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkgewotCQkJaWYgKG9wZW5fcGFja19pbmRleChwKSkKLQkJCQljb250aW51ZTsKLQkJCWNvdW50ICs9IHAtPm51bV9vYmplY3RzOwotCQl9Ci0JfQotCXJldHVybiBjb3VudDsKLX0KLQotc3RhdGljIHZvaWQgKmdldF9uZXh0X3BhY2tlZF9naXQoY29uc3Qgdm9pZCAqcCkKLXsKLQlyZXR1cm4gKChjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqKXApLT5uZXh0OwotfQotCi1zdGF0aWMgdm9pZCBzZXRfbmV4dF9wYWNrZWRfZ2l0KHZvaWQgKnAsIHZvaWQgKm5leHQpCi17Ci0JKChzdHJ1Y3QgcGFja2VkX2dpdCAqKXApLT5uZXh0ID0gbmV4dDsKLX0KLQotc3RhdGljIGludCBzb3J0X3BhY2soY29uc3Qgdm9pZCAqYV8sIGNvbnN0IHZvaWQgKmJfKQotewotCWNvbnN0IHN0cnVjdCBwYWNrZWRfZ2l0ICphID0gYV87Ci0JY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKmIgPSBiXzsKLQlpbnQgc3Q7Ci0KLQkvKgotCSAqIExvY2FsIHBhY2tzIHRlbmQgdG8gY29udGFpbiBvYmplY3RzIHNwZWNpZmljIHRvIG91cgotCSAqIHZhcmlhbnQgb2YgdGhlIHByb2plY3QgdGhhbiByZW1vdGUgb25lcy4gIEluIGFkZGl0aW9uLAotCSAqIHJlbW90ZSBvbmVzIGNvdWxkIGJlIG9uIGEgbmV0d29yayBtb3VudGVkIGZpbGVzeXN0ZW0uCi0JICogRmF2b3IgbG9jYWwgb25lcyBmb3IgdGhlc2UgcmVhc29ucy4KLQkgKi8KLQlzdCA9IGEtPnBhY2tfbG9jYWwgLSBiLT5wYWNrX2xvY2FsOwotCWlmIChzdCkKLQkJcmV0dXJuIC1zdDsKLQotCS8qCi0JICogWW91bmdlciBwYWNrcyB0ZW5kIHRvIGNvbnRhaW4gbW9yZSByZWNlbnQgb2JqZWN0cywKLQkgKiBhbmQgbW9yZSByZWNlbnQgb2JqZWN0cyB0ZW5kIHRvIGdldCBhY2Nlc3NlZCBtb3JlCi0JICogb2Z0ZW4uCi0JICovCi0JaWYgKGEtPm10aW1lIDwgYi0+bXRpbWUpCi0JCXJldHVybiAxOwotCWVsc2UgaWYgKGEtPm10aW1lID09IGItPm10aW1lKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gLTE7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlYXJyYW5nZV9wYWNrZWRfZ2l0KHZvaWQpCi17Ci0JcGFja2VkX2dpdCA9IGxsaXN0X21lcmdlc29ydChwYWNrZWRfZ2l0LCBnZXRfbmV4dF9wYWNrZWRfZ2l0LAotCQkJCSAgICAgc2V0X25leHRfcGFja2VkX2dpdCwgc29ydF9wYWNrKTsKLX0KLQotc3RhdGljIHZvaWQgcHJlcGFyZV9wYWNrZWRfZ2l0X21ydSh2b2lkKQotewotCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwotCi0JbXJ1X2NsZWFyKHBhY2tlZF9naXRfbXJ1KTsKLQlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkKLQkJbXJ1X2FwcGVuZChwYWNrZWRfZ2l0X21ydSwgcCk7Ci19Ci0KLXN0YXRpYyBpbnQgcHJlcGFyZV9wYWNrZWRfZ2l0X3J1bl9vbmNlID0gMDsKLXZvaWQgcHJlcGFyZV9wYWNrZWRfZ2l0KHZvaWQpCi17Ci0Jc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdDsKLQotCWlmIChwcmVwYXJlX3BhY2tlZF9naXRfcnVuX29uY2UpCi0JCXJldHVybjsKLQlwcmVwYXJlX3BhY2tlZF9naXRfb25lKGdldF9vYmplY3RfZGlyZWN0b3J5KCksIDEpOwotCXByZXBhcmVfYWx0X29kYigpOwotCWZvciAoYWx0ID0gYWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkKLQkJcHJlcGFyZV9wYWNrZWRfZ2l0X29uZShhbHQtPnBhdGgsIDApOwotCXJlYXJyYW5nZV9wYWNrZWRfZ2l0KCk7Ci0JcHJlcGFyZV9wYWNrZWRfZ2l0X21ydSgpOwotCXByZXBhcmVfcGFja2VkX2dpdF9ydW5fb25jZSA9IDE7Ci19Ci0KLXZvaWQgcmVwcmVwYXJlX3BhY2tlZF9naXQodm9pZCkKLXsKLQlhcHByb3hpbWF0ZV9vYmplY3RfY291bnRfdmFsaWQgPSAwOwotCXByZXBhcmVfcGFja2VkX2dpdF9ydW5fb25jZSA9IDA7Ci0JcHJlcGFyZV9wYWNrZWRfZ2l0KCk7Ci19Ci0KLXN0YXRpYyB2b2lkIG1hcmtfYmFkX3BhY2tlZF9vYmplY3Qoc3RydWN0IHBhY2tlZF9naXQgKnAsCi0JCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKLXsKLQl1bnNpZ25lZCBpOwotCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fYmFkX29iamVjdHM7IGkrKykKLQkJaWYgKCFoYXNoY21wKHNoYTEsIHAtPmJhZF9vYmplY3Rfc2hhMSArIEdJVF9TSEExX1JBV1NaICogaSkpCi0JCQlyZXR1cm47Ci0JcC0+YmFkX29iamVjdF9zaGExID0geHJlYWxsb2MocC0+YmFkX29iamVjdF9zaGExLAotCQkJCSAgICAgIHN0X211bHQoR0lUX1NIQTFfUkFXU1osCi0JCQkJCSAgICAgIHN0X2FkZChwLT5udW1fYmFkX29iamVjdHMsIDEpKSk7Ci0JaGFzaGNweShwLT5iYWRfb2JqZWN0X3NoYTEgKyBHSVRfU0hBMV9SQVdTWiAqIHAtPm51bV9iYWRfb2JqZWN0cywgc2hhMSk7Ci0JcC0+bnVtX2JhZF9vYmplY3RzKys7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqaGFzX3BhY2tlZF9hbmRfYmFkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCi17Ci0Jc3RydWN0IHBhY2tlZF9naXQgKnA7Ci0JdW5zaWduZWQgaTsKLQotCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KQotCQlmb3IgKGkgPSAwOyBpIDwgcC0+bnVtX2JhZF9vYmplY3RzOyBpKyspCi0JCQlpZiAoIWhhc2hjbXAoc2hhMSwgcC0+YmFkX29iamVjdF9zaGExICsgMjAgKiBpKSkKLQkJCQlyZXR1cm4gcDsKLQlyZXR1cm4gTlVMTDsKLX0KLQogLyoKICAqIFdpdGggYW4gaW4tY29yZSBvYmplY3QgZGF0YSBpbiAibWFwIiwgcmVoYXNoIGl0IHRvIG1ha2Ugc3VyZSB0aGUKICAqIG9iamVjdCBuYW1lIGFjdHVhbGx5IG1hdGNoZXMgInNoYTEiIHRvIGRldGVjdCBvYmplY3QgY29ycnVwdGlvbi4KQEAgLTE2MTAsMTQgKzc3MCwxNCBAQAogCQlmZCA9IG9wZW4obmFtZSwgZmxhZ3MgfCBvX2Nsb2V4ZWMpOwogCX0KIAotI2lmIGRlZmluZWQoRl9HRVRGTCkgJiYgZGVmaW5lZChGX1NFVEZMKSAmJiBkZWZpbmVkKEZEX0NMT0VYRUMpCisjaWYgZGVmaW5lZChGX0dFVEZEKSAmJiBkZWZpbmVkKEZfU0VURkQpICYmIGRlZmluZWQoRkRfQ0xPRVhFQykKIAl7CiAJCXN0YXRpYyBpbnQgZmRfY2xvZXhlYyA9IEZEX0NMT0VYRUM7CiAKIAkJaWYgKCFvX2Nsb2V4ZWMgJiYgMCA8PSBmZCAmJiBmZF9jbG9leGVjKSB7CiAJCQkvKiBPcGVuZWQgdy9vIE9fQ0xPRVhFQz8gIHRyeSB3aXRoIGZjbnRsKDIpIHRvIGFkZCBpdCAqLwotCQkJaW50IGZsYWdzID0gZmNudGwoZmQsIEZfR0VURkwpOwotCQkJaWYgKGZjbnRsKGZkLCBGX1NFVEZMLCBmbGFncyB8IGZkX2Nsb2V4ZWMpKQorCQkJaW50IGZsYWdzID0gZmNudGwoZmQsIEZfR0VURkQpOworCQkJaWYgKGZjbnRsKGZkLCBGX1NFVEZELCBmbGFncyB8IGZkX2Nsb2V4ZWMpKQogCQkJCWZkX2Nsb2V4ZWMgPSAwOwogCQl9CiAJfQpAQCAtMTcyMCwzMSArODgwLDYgQEAKIAlyZXR1cm4gbWFwX3NoYTFfZmlsZV8xKE5VTEwsIHNoYTEsIHNpemUpOwogfQogCi11bnNpZ25lZCBsb25nIHVucGFja19vYmplY3RfaGVhZGVyX2J1ZmZlcihjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsCi0JCXVuc2lnbmVkIGxvbmcgbGVuLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLCB1bnNpZ25lZCBsb25nICpzaXplcCkKLXsKLQl1bnNpZ25lZCBzaGlmdDsKLQl1bnNpZ25lZCBsb25nIHNpemUsIGM7Ci0JdW5zaWduZWQgbG9uZyB1c2VkID0gMDsKLQotCWMgPSBidWZbdXNlZCsrXTsKLQkqdHlwZSA9IChjID4+IDQpICYgNzsKLQlzaXplID0gYyAmIDE1OwotCXNoaWZ0ID0gNDsKLQl3aGlsZSAoYyAmIDB4ODApIHsKLQkJaWYgKGxlbiA8PSB1c2VkIHx8IGJpdHNpemVvZihsb25nKSA8PSBzaGlmdCkgewotCQkJZXJyb3IoImJhZCBvYmplY3QgaGVhZGVyIik7Ci0JCQlzaXplID0gdXNlZCA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQljID0gYnVmW3VzZWQrK107Ci0JCXNpemUgKz0gKGMgJiAweDdmKSA8PCBzaGlmdDsKLQkJc2hpZnQgKz0gNzsKLQl9Ci0JKnNpemVwID0gc2l6ZTsKLQlyZXR1cm4gdXNlZDsKLX0KLQogc3RhdGljIGludCB1bnBhY2tfc2hhMV9zaG9ydF9oZWFkZXIoZ2l0X3pzdHJlYW0gKnN0cmVhbSwKIAkJCQkgICAgdW5zaWduZWQgY2hhciAqbWFwLCB1bnNpZ25lZCBsb25nIG1hcHNpemUsCiAJCQkJICAgIHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBidWZzaXopCkBAIC0xODkwLDcgKzEwMjUsNyBAQAogCSAqIHdlJ3JlIG9idGFpbmluZyB0aGUgdHlwZSB1c2luZyAnLS1hbGxvdy11bmtub3duLXR5cGUnCiAJICogb3B0aW9uLgogCSAqLwotCWlmICgoZmxhZ3MgJiBMT09LVVBfVU5LTk9XTl9PQkpFQ1QpICYmICh0eXBlIDwgMCkpCisJaWYgKChmbGFncyAmIE9CSkVDVF9JTkZPX0FMTE9XX1VOS05PV05fVFlQRSkgJiYgKHR5cGUgPCAwKSkKIAkJdHlwZSA9IDA7CiAJZWxzZSBpZiAodHlwZSA8IDApCiAJCWRpZSgiaW52YWxpZCBvYmplY3QgdHlwZSIpOwpAQCAtMTkyOCw4ODYgKzEwNjMsNyBAQAogCXN0cnVjdCBvYmplY3RfaW5mbyBvaSA9IE9CSkVDVF9JTkZPX0lOSVQ7CiAKIAlvaS5zaXplcCA9IHNpemVwOwotCXJldHVybiBwYXJzZV9zaGExX2hlYWRlcl9leHRlbmRlZChoZHIsICZvaSwgTE9PS1VQX1JFUExBQ0VfT0JKRUNUKTsKLX0KLQotc3RhdGljIHZvaWQgKnVucGFja19zaGExX2ZpbGUodm9pZCAqbWFwLCB1bnNpZ25lZCBsb25nIG1hcHNpemUsIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsIHVuc2lnbmVkIGxvbmcgKnNpemUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCi17Ci0JaW50IHJldDsKLQlnaXRfenN0cmVhbSBzdHJlYW07Ci0JY2hhciBoZHJbODE5Ml07Ci0KLQlyZXQgPSB1bnBhY2tfc2hhMV9oZWFkZXIoJnN0cmVhbSwgbWFwLCBtYXBzaXplLCBoZHIsIHNpemVvZihoZHIpKTsKLQlpZiAocmV0IDwgWl9PSyB8fCAoKnR5cGUgPSBwYXJzZV9zaGExX2hlYWRlcihoZHIsIHNpemUpKSA8IDApCi0JCXJldHVybiBOVUxMOwotCi0JcmV0dXJuIHVucGFja19zaGExX3Jlc3QoJnN0cmVhbSwgaGRyLCAqc2l6ZSwgc2hhMSk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgZ2V0X3NpemVfZnJvbV9kZWx0YShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwKLQkJCQkgIHN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycywKLQkJCSAgICAgICAgICBvZmZfdCBjdXJwb3MpCi17Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YTsKLQl1bnNpZ25lZCBjaGFyIGRlbHRhX2hlYWRbMjBdLCAqaW47Ci0JZ2l0X3pzdHJlYW0gc3RyZWFtOwotCWludCBzdDsKLQotCW1lbXNldCgmc3RyZWFtLCAwLCBzaXplb2Yoc3RyZWFtKSk7Ci0Jc3RyZWFtLm5leHRfb3V0ID0gZGVsdGFfaGVhZDsKLQlzdHJlYW0uYXZhaWxfb3V0ID0gc2l6ZW9mKGRlbHRhX2hlYWQpOwotCi0JZ2l0X2luZmxhdGVfaW5pdCgmc3RyZWFtKTsKLQlkbyB7Ci0JCWluID0gdXNlX3BhY2socCwgd19jdXJzLCBjdXJwb3MsICZzdHJlYW0uYXZhaWxfaW4pOwotCQlzdHJlYW0ubmV4dF9pbiA9IGluOwotCQlzdCA9IGdpdF9pbmZsYXRlKCZzdHJlYW0sIFpfRklOSVNIKTsKLQkJY3VycG9zICs9IHN0cmVhbS5uZXh0X2luIC0gaW47Ci0JfSB3aGlsZSAoKHN0ID09IFpfT0sgfHwgc3QgPT0gWl9CVUZfRVJST1IpICYmCi0JCSBzdHJlYW0udG90YWxfb3V0IDwgc2l6ZW9mKGRlbHRhX2hlYWQpKTsKLQlnaXRfaW5mbGF0ZV9lbmQoJnN0cmVhbSk7Ci0JaWYgKChzdCAhPSBaX1NUUkVBTV9FTkQpICYmIHN0cmVhbS50b3RhbF9vdXQgIT0gc2l6ZW9mKGRlbHRhX2hlYWQpKSB7Ci0JCWVycm9yKCJkZWx0YSBkYXRhIHVucGFjay1pbml0aWFsIGZhaWxlZCIpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBFeGFtaW5lIHRoZSBpbml0aWFsIHBhcnQgb2YgdGhlIGRlbHRhIHRvIGZpZ3VyZSBvdXQKLQkgKiB0aGUgcmVzdWx0IHNpemUuCi0JICovCi0JZGF0YSA9IGRlbHRhX2hlYWQ7Ci0KLQkvKiBpZ25vcmUgYmFzZSBzaXplICovCi0JZ2V0X2RlbHRhX2hkcl9zaXplKCZkYXRhLCBkZWx0YV9oZWFkK3NpemVvZihkZWx0YV9oZWFkKSk7Ci0KLQkvKiBSZWFkIHRoZSByZXN1bHQgc2l6ZSAqLwotCXJldHVybiBnZXRfZGVsdGFfaGRyX3NpemUoJmRhdGEsIGRlbHRhX2hlYWQrc2l6ZW9mKGRlbHRhX2hlYWQpKTsKLX0KLQotc3RhdGljIG9mZl90IGdldF9kZWx0YV9iYXNlKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAotCQkJCSAgICBzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsCi0JCQkJICAgIG9mZl90ICpjdXJwb3MsCi0JCQkJICAgIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwKLQkJCQkgICAgb2ZmX3QgZGVsdGFfb2JqX29mZnNldCkKLXsKLQl1bnNpZ25lZCBjaGFyICpiYXNlX2luZm8gPSB1c2VfcGFjayhwLCB3X2N1cnMsICpjdXJwb3MsIE5VTEwpOwotCW9mZl90IGJhc2Vfb2Zmc2V0OwotCi0JLyogdXNlX3BhY2soKSBhc3N1cmVkIHVzIHdlIGhhdmUgW2Jhc2VfaW5mbywgYmFzZV9pbmZvICsgMjApCi0JICogYXMgYSByYW5nZSB0aGF0IHdlIGNhbiBsb29rIGF0IHdpdGhvdXQgd2Fsa2luZyBvZmYgdGhlCi0JICogZW5kIG9mIHRoZSBtYXBwZWQgd2luZG93LiAgSXRzIGFjdHVhbGx5IHRoZSBoYXNoIHNpemUKLQkgKiB0aGF0IGlzIGFzc3VyZWQuICBBbiBPRlNfREVMVEEgbG9uZ2VyIHRoYW4gdGhlIGhhc2ggc2l6ZQotCSAqIGlzIHN0dXBpZCwgYXMgdGhlbiBhIFJFRl9ERUxUQSB3b3VsZCBiZSBzbWFsbGVyIHRvIHN0b3JlLgotCSAqLwotCWlmICh0eXBlID09IE9CSl9PRlNfREVMVEEpIHsKLQkJdW5zaWduZWQgdXNlZCA9IDA7Ci0JCXVuc2lnbmVkIGNoYXIgYyA9IGJhc2VfaW5mb1t1c2VkKytdOwotCQliYXNlX29mZnNldCA9IGMgJiAxMjc7Ci0JCXdoaWxlIChjICYgMTI4KSB7Ci0JCQliYXNlX29mZnNldCArPSAxOwotCQkJaWYgKCFiYXNlX29mZnNldCB8fCBNU0IoYmFzZV9vZmZzZXQsIDcpKQotCQkJCXJldHVybiAwOyAgLyogb3ZlcmZsb3cgKi8KLQkJCWMgPSBiYXNlX2luZm9bdXNlZCsrXTsKLQkJCWJhc2Vfb2Zmc2V0ID0gKGJhc2Vfb2Zmc2V0IDw8IDcpICsgKGMgJiAxMjcpOwotCQl9Ci0JCWJhc2Vfb2Zmc2V0ID0gZGVsdGFfb2JqX29mZnNldCAtIGJhc2Vfb2Zmc2V0OwotCQlpZiAoYmFzZV9vZmZzZXQgPD0gMCB8fCBiYXNlX29mZnNldCA+PSBkZWx0YV9vYmpfb2Zmc2V0KQotCQkJcmV0dXJuIDA7ICAvKiBvdXQgb2YgYm91bmQgKi8KLQkJKmN1cnBvcyArPSB1c2VkOwotCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfUkVGX0RFTFRBKSB7Ci0JCS8qIFRoZSBiYXNlIGVudHJ5IF9tdXN0XyBiZSBpbiB0aGUgc2FtZSBwYWNrICovCi0JCWJhc2Vfb2Zmc2V0ID0gZmluZF9wYWNrX2VudHJ5X29uZShiYXNlX2luZm8sIHApOwotCQkqY3VycG9zICs9IDIwOwotCX0gZWxzZQotCQlkaWUoIkkgYW0gdG90YWxseSBzY3Jld2VkIik7Ci0JcmV0dXJuIGJhc2Vfb2Zmc2V0OwotfQotCi0vKgotICogTGlrZSBnZXRfZGVsdGFfYmFzZSBhYm92ZSwgYnV0IHdlIHJldHVybiB0aGUgc2hhMSBpbnN0ZWFkIG9mIHRoZSBwYWNrCi0gKiBvZmZzZXQuIFRoaXMgbWVhbnMgaXQgaXMgY2hlYXBlciBmb3IgUkVGIGRlbHRhcyAod2UgZG8gbm90IGhhdmUgdG8gZG8KLSAqIHRoZSBmaW5hbCBvYmplY3QgbG9va3VwKSwgYnV0IG1vcmUgZXhwZW5zaXZlIGZvciBPRlMgZGVsdGFzICh3ZQotICogaGF2ZSB0byBsb2FkIHRoZSByZXZpZHggdG8gY29udmVydCB0aGUgb2Zmc2V0IGJhY2sgaW50byBhIHNoYTEpLgotICovCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqZ2V0X2RlbHRhX2Jhc2Vfc2hhMShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwKLQkJCQkJCXN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycywKLQkJCQkJCW9mZl90IGN1cnBvcywKLQkJCQkJCWVudW0gb2JqZWN0X3R5cGUgdHlwZSwKLQkJCQkJCW9mZl90IGRlbHRhX29ial9vZmZzZXQpCi17Ci0JaWYgKHR5cGUgPT0gT0JKX1JFRl9ERUxUQSkgewotCQl1bnNpZ25lZCBjaGFyICpiYXNlID0gdXNlX3BhY2socCwgd19jdXJzLCBjdXJwb3MsIE5VTEwpOwotCQlyZXR1cm4gYmFzZTsKLQl9IGVsc2UgaWYgKHR5cGUgPT0gT0JKX09GU19ERUxUQSkgewotCQlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKnJldmlkeDsKLQkJb2ZmX3QgYmFzZV9vZmZzZXQgPSBnZXRfZGVsdGFfYmFzZShwLCB3X2N1cnMsICZjdXJwb3MsCi0JCQkJCQkgICB0eXBlLCBkZWx0YV9vYmpfb2Zmc2V0KTsKLQotCQlpZiAoIWJhc2Vfb2Zmc2V0KQotCQkJcmV0dXJuIE5VTEw7Ci0KLQkJcmV2aWR4ID0gZmluZF9wYWNrX3JldmluZGV4KHAsIGJhc2Vfb2Zmc2V0KTsKLQkJaWYgKCFyZXZpZHgpCi0JCQlyZXR1cm4gTlVMTDsKLQotCQlyZXR1cm4gbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShwLCByZXZpZHgtPm5yKTsKLQl9IGVsc2UKLQkJcmV0dXJuIE5VTEw7Ci19Ci0KLWludCB1bnBhY2tfb2JqZWN0X2hlYWRlcihzdHJ1Y3QgcGFja2VkX2dpdCAqcCwKLQkJCSBzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsCi0JCQkgb2ZmX3QgKmN1cnBvcywKLQkJCSB1bnNpZ25lZCBsb25nICpzaXplcCkKLXsKLQl1bnNpZ25lZCBjaGFyICpiYXNlOwotCXVuc2lnbmVkIGxvbmcgbGVmdDsKLQl1bnNpZ25lZCBsb25nIHVzZWQ7Ci0JZW51bSBvYmplY3RfdHlwZSB0eXBlOwotCi0JLyogdXNlX3BhY2soKSBhc3N1cmVzIHVzIHdlIGhhdmUgW2Jhc2UsIGJhc2UgKyAyMCkgYXZhaWxhYmxlCi0JICogYXMgYSByYW5nZSB0aGF0IHdlIGNhbiBsb29rIGF0LiAgKEl0cyBhY3R1YWxseSB0aGUgaGFzaAotCSAqIHNpemUgdGhhdCBpcyBhc3N1cmVkLikgIFdpdGggb3VyIG9iamVjdCBoZWFkZXIgZW5jb2RpbmcKLQkgKiB0aGUgbWF4aW11bSBkZWZsYXRlZCBvYmplY3Qgc2l6ZSBpcyAyXjEzNywgd2hpY2ggaXMganVzdAotCSAqIGluc2FuZSwgc28gd2Uga25vdyB3b24ndCBleGNlZWQgd2hhdCB3ZSBoYXZlIGJlZW4gZ2l2ZW4uCi0JICovCi0JYmFzZSA9IHVzZV9wYWNrKHAsIHdfY3VycywgKmN1cnBvcywgJmxlZnQpOwotCXVzZWQgPSB1bnBhY2tfb2JqZWN0X2hlYWRlcl9idWZmZXIoYmFzZSwgbGVmdCwgJnR5cGUsIHNpemVwKTsKLQlpZiAoIXVzZWQpIHsKLQkJdHlwZSA9IE9CSl9CQUQ7Ci0JfSBlbHNlCi0JCSpjdXJwb3MgKz0gdXNlZDsKLQotCXJldHVybiB0eXBlOwotfQotCi1zdGF0aWMgaW50IHJldHJ5X2JhZF9wYWNrZWRfb2Zmc2V0KHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBvYmpfb2Zmc2V0KQotewotCWludCB0eXBlOwotCXN0cnVjdCByZXZpbmRleF9lbnRyeSAqcmV2aWR4OwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTE7Ci0JcmV2aWR4ID0gZmluZF9wYWNrX3JldmluZGV4KHAsIG9ial9vZmZzZXQpOwotCWlmICghcmV2aWR4KQotCQlyZXR1cm4gT0JKX0JBRDsKLQlzaGExID0gbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShwLCByZXZpZHgtPm5yKTsKLQltYXJrX2JhZF9wYWNrZWRfb2JqZWN0KHAsIHNoYTEpOwotCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOwotCWlmICh0eXBlIDw9IE9CSl9OT05FKQotCQlyZXR1cm4gT0JKX0JBRDsKLQlyZXR1cm4gdHlwZTsKLX0KLQotI2RlZmluZSBQT0lfU1RBQ0tfUFJFQUxMT0MgNjQKLQotc3RhdGljIGVudW0gb2JqZWN0X3R5cGUgcGFja2VkX3RvX29iamVjdF90eXBlKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAotCQkJCQkgICAgICBvZmZfdCBvYmpfb2Zmc2V0LAotCQkJCQkgICAgICBlbnVtIG9iamVjdF90eXBlIHR5cGUsCi0JCQkJCSAgICAgIHN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycywKLQkJCQkJICAgICAgb2ZmX3QgY3VycG9zKQotewotCW9mZl90IHNtYWxsX3BvaV9zdGFja1tQT0lfU1RBQ0tfUFJFQUxMT0NdOwotCW9mZl90ICpwb2lfc3RhY2sgPSBzbWFsbF9wb2lfc3RhY2s7Ci0JaW50IHBvaV9zdGFja19uciA9IDAsIHBvaV9zdGFja19hbGxvYyA9IFBPSV9TVEFDS19QUkVBTExPQzsKLQotCXdoaWxlICh0eXBlID09IE9CSl9PRlNfREVMVEEgfHwgdHlwZSA9PSBPQkpfUkVGX0RFTFRBKSB7Ci0JCW9mZl90IGJhc2Vfb2Zmc2V0OwotCQl1bnNpZ25lZCBsb25nIHNpemU7Ci0JCS8qIFB1c2ggdGhlIG9iamVjdCB3ZSdyZSBnb2luZyB0byBsZWF2ZSBiZWhpbmQgKi8KLQkJaWYgKHBvaV9zdGFja19uciA+PSBwb2lfc3RhY2tfYWxsb2MgJiYgcG9pX3N0YWNrID09IHNtYWxsX3BvaV9zdGFjaykgewotCQkJcG9pX3N0YWNrX2FsbG9jID0gYWxsb2NfbnIocG9pX3N0YWNrX25yKTsKLQkJCUFMTE9DX0FSUkFZKHBvaV9zdGFjaywgcG9pX3N0YWNrX2FsbG9jKTsKLQkJCW1lbWNweShwb2lfc3RhY2ssIHNtYWxsX3BvaV9zdGFjaywgc2l6ZW9mKG9mZl90KSpwb2lfc3RhY2tfbnIpOwotCQl9IGVsc2UgewotCQkJQUxMT0NfR1JPVyhwb2lfc3RhY2ssIHBvaV9zdGFja19ucisxLCBwb2lfc3RhY2tfYWxsb2MpOwotCQl9Ci0JCXBvaV9zdGFja1twb2lfc3RhY2tfbnIrK10gPSBvYmpfb2Zmc2V0OwotCQkvKiBJZiBwYXJzaW5nIHRoZSBiYXNlIG9mZnNldCBmYWlscywganVzdCB1bndpbmQgKi8KLQkJYmFzZV9vZmZzZXQgPSBnZXRfZGVsdGFfYmFzZShwLCB3X2N1cnMsICZjdXJwb3MsIHR5cGUsIG9ial9vZmZzZXQpOwotCQlpZiAoIWJhc2Vfb2Zmc2V0KQotCQkJZ290byB1bndpbmQ7Ci0JCWN1cnBvcyA9IG9ial9vZmZzZXQgPSBiYXNlX29mZnNldDsKLQkJdHlwZSA9IHVucGFja19vYmplY3RfaGVhZGVyKHAsIHdfY3VycywgJmN1cnBvcywgJnNpemUpOwotCQlpZiAodHlwZSA8PSBPQkpfTk9ORSkgewotCQkJLyogSWYgZ2V0dGluZyB0aGUgYmFzZSBpdHNlbGYgZmFpbHMsIHdlIGZpcnN0Ci0JCQkgKiByZXRyeSB0aGUgYmFzZSwgb3RoZXJ3aXNlIHVud2luZCAqLwotCQkJdHlwZSA9IHJldHJ5X2JhZF9wYWNrZWRfb2Zmc2V0KHAsIGJhc2Vfb2Zmc2V0KTsKLQkJCWlmICh0eXBlID4gT0JKX05PTkUpCi0JCQkJZ290byBvdXQ7Ci0JCQlnb3RvIHVud2luZDsKLQkJfQotCX0KLQotCXN3aXRjaCAodHlwZSkgewotCWNhc2UgT0JKX0JBRDoKLQljYXNlIE9CSl9DT01NSVQ6Ci0JY2FzZSBPQkpfVFJFRToKLQljYXNlIE9CSl9CTE9COgotCWNhc2UgT0JKX1RBRzoKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJZXJyb3IoInVua25vd24gb2JqZWN0IHR5cGUgJWkgYXQgb2Zmc2V0ICUiUFJJdU1BWCIgaW4gJXMiLAotCQkgICAgICB0eXBlLCAodWludG1heF90KW9ial9vZmZzZXQsIHAtPnBhY2tfbmFtZSk7Ci0JCXR5cGUgPSBPQkpfQkFEOwotCX0KLQotb3V0OgotCWlmIChwb2lfc3RhY2sgIT0gc21hbGxfcG9pX3N0YWNrKQotCQlmcmVlKHBvaV9zdGFjayk7Ci0JcmV0dXJuIHR5cGU7Ci0KLXVud2luZDoKLQl3aGlsZSAocG9pX3N0YWNrX25yKSB7Ci0JCW9ial9vZmZzZXQgPSBwb2lfc3RhY2tbLS1wb2lfc3RhY2tfbnJdOwotCQl0eXBlID0gcmV0cnlfYmFkX3BhY2tlZF9vZmZzZXQocCwgb2JqX29mZnNldCk7Ci0JCWlmICh0eXBlID4gT0JKX05PTkUpCi0JCQlnb3RvIG91dDsKLQl9Ci0JdHlwZSA9IE9CSl9CQUQ7Ci0JZ290byBvdXQ7Ci19Ci0KLWludCBwYWNrZWRfb2JqZWN0X2luZm8oc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IG9ial9vZmZzZXQsCi0JCSAgICAgICBzdHJ1Y3Qgb2JqZWN0X2luZm8gKm9pKQotewotCXN0cnVjdCBwYWNrX3dpbmRvdyAqd19jdXJzID0gTlVMTDsKLQl1bnNpZ25lZCBsb25nIHNpemU7Ci0Jb2ZmX3QgY3VycG9zID0gb2JqX29mZnNldDsKLQllbnVtIG9iamVjdF90eXBlIHR5cGU7Ci0KLQkvKgotCSAqIFdlIGFsd2F5cyBnZXQgdGhlIHJlcHJlc2VudGF0aW9uIHR5cGUsIGJ1dCBvbmx5IGNvbnZlcnQgaXQgdG8KLQkgKiBhICJyZWFsIiB0eXBlIGxhdGVyIGlmIHRoZSBjYWxsZXIgaXMgaW50ZXJlc3RlZC4KLQkgKi8KLQl0eXBlID0gdW5wYWNrX29iamVjdF9oZWFkZXIocCwgJndfY3VycywgJmN1cnBvcywgJnNpemUpOwotCi0JaWYgKG9pLT5zaXplcCkgewotCQlpZiAodHlwZSA9PSBPQkpfT0ZTX0RFTFRBIHx8IHR5cGUgPT0gT0JKX1JFRl9ERUxUQSkgewotCQkJb2ZmX3QgdG1wX3BvcyA9IGN1cnBvczsKLQkJCW9mZl90IGJhc2Vfb2Zmc2V0ID0gZ2V0X2RlbHRhX2Jhc2UocCwgJndfY3VycywgJnRtcF9wb3MsCi0JCQkJCQkJICAgdHlwZSwgb2JqX29mZnNldCk7Ci0JCQlpZiAoIWJhc2Vfb2Zmc2V0KSB7Ci0JCQkJdHlwZSA9IE9CSl9CQUQ7Ci0JCQkJZ290byBvdXQ7Ci0JCQl9Ci0JCQkqb2ktPnNpemVwID0gZ2V0X3NpemVfZnJvbV9kZWx0YShwLCAmd19jdXJzLCB0bXBfcG9zKTsKLQkJCWlmICgqb2ktPnNpemVwID09IDApIHsKLQkJCQl0eXBlID0gT0JKX0JBRDsKLQkJCQlnb3RvIG91dDsKLQkJCX0KLQkJfSBlbHNlIHsKLQkJCSpvaS0+c2l6ZXAgPSBzaXplOwotCQl9Ci0JfQotCi0JaWYgKG9pLT5kaXNrX3NpemVwKSB7Ci0JCXN0cnVjdCByZXZpbmRleF9lbnRyeSAqcmV2aWR4ID0gZmluZF9wYWNrX3JldmluZGV4KHAsIG9ial9vZmZzZXQpOwotCQkqb2ktPmRpc2tfc2l6ZXAgPSByZXZpZHhbMV0ub2Zmc2V0IC0gb2JqX29mZnNldDsKLQl9Ci0KLQlpZiAob2ktPnR5cGVwKSB7Ci0JCSpvaS0+dHlwZXAgPSBwYWNrZWRfdG9fb2JqZWN0X3R5cGUocCwgb2JqX29mZnNldCwgdHlwZSwgJndfY3VycywgY3VycG9zKTsKLQkJaWYgKCpvaS0+dHlwZXAgPCAwKSB7Ci0JCQl0eXBlID0gT0JKX0JBRDsKLQkJCWdvdG8gb3V0OwotCQl9Ci0JfQotCi0JaWYgKG9pLT5kZWx0YV9iYXNlX3NoYTEpIHsKLQkJaWYgKHR5cGUgPT0gT0JKX09GU19ERUxUQSB8fCB0eXBlID09IE9CSl9SRUZfREVMVEEpIHsKLQkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmJhc2U7Ci0KLQkJCWJhc2UgPSBnZXRfZGVsdGFfYmFzZV9zaGExKHAsICZ3X2N1cnMsIGN1cnBvcywKLQkJCQkJCSAgIHR5cGUsIG9ial9vZmZzZXQpOwotCQkJaWYgKCFiYXNlKSB7Ci0JCQkJdHlwZSA9IE9CSl9CQUQ7Ci0JCQkJZ290byBvdXQ7Ci0JCQl9Ci0KLQkJCWhhc2hjcHkob2ktPmRlbHRhX2Jhc2Vfc2hhMSwgYmFzZSk7Ci0JCX0gZWxzZQotCQkJaGFzaGNscihvaS0+ZGVsdGFfYmFzZV9zaGExKTsKLQl9Ci0KLW91dDoKLQl1bnVzZV9wYWNrKCZ3X2N1cnMpOwotCXJldHVybiB0eXBlOwotfQotCi1zdGF0aWMgdm9pZCAqdW5wYWNrX2NvbXByZXNzZWRfZW50cnkoc3RydWN0IHBhY2tlZF9naXQgKnAsCi0JCQkJICAgIHN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycywKLQkJCQkgICAgb2ZmX3QgY3VycG9zLAotCQkJCSAgICB1bnNpZ25lZCBsb25nIHNpemUpCi17Ci0JaW50IHN0OwotCWdpdF96c3RyZWFtIHN0cmVhbTsKLQl1bnNpZ25lZCBjaGFyICpidWZmZXIsICppbjsKLQotCWJ1ZmZlciA9IHhtYWxsb2N6X2dlbnRseShzaXplKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIE5VTEw7Ci0JbWVtc2V0KCZzdHJlYW0sIDAsIHNpemVvZihzdHJlYW0pKTsKLQlzdHJlYW0ubmV4dF9vdXQgPSBidWZmZXI7Ci0Jc3RyZWFtLmF2YWlsX291dCA9IHNpemUgKyAxOwotCi0JZ2l0X2luZmxhdGVfaW5pdCgmc3RyZWFtKTsKLQlkbyB7Ci0JCWluID0gdXNlX3BhY2socCwgd19jdXJzLCBjdXJwb3MsICZzdHJlYW0uYXZhaWxfaW4pOwotCQlzdHJlYW0ubmV4dF9pbiA9IGluOwotCQlzdCA9IGdpdF9pbmZsYXRlKCZzdHJlYW0sIFpfRklOSVNIKTsKLQkJaWYgKCFzdHJlYW0uYXZhaWxfb3V0KQotCQkJYnJlYWs7IC8qIHRoZSBwYXlsb2FkIGlzIGxhcmdlciB0aGFuIGl0IHNob3VsZCBiZSAqLwotCQljdXJwb3MgKz0gc3RyZWFtLm5leHRfaW4gLSBpbjsKLQl9IHdoaWxlIChzdCA9PSBaX09LIHx8IHN0ID09IFpfQlVGX0VSUk9SKTsKLQlnaXRfaW5mbGF0ZV9lbmQoJnN0cmVhbSk7Ci0JaWYgKChzdCAhPSBaX1NUUkVBTV9FTkQpIHx8IHN0cmVhbS50b3RhbF9vdXQgIT0gc2l6ZSkgewotCQlmcmVlKGJ1ZmZlcik7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCXJldHVybiBidWZmZXI7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaGFzaG1hcCBkZWx0YV9iYXNlX2NhY2hlOwotc3RhdGljIHNpemVfdCBkZWx0YV9iYXNlX2NhY2hlZDsKLQotc3RhdGljIExJU1RfSEVBRChkZWx0YV9iYXNlX2NhY2hlX2xydSk7Ci0KLXN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2tleSB7Ci0Jc3RydWN0IHBhY2tlZF9naXQgKnA7Ci0Jb2ZmX3QgYmFzZV9vZmZzZXQ7Ci19OwotCi1zdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSB7Ci0Jc3RydWN0IGhhc2htYXAgaGFzaDsKLQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9rZXkga2V5OwotCXN0cnVjdCBsaXN0X2hlYWQgbHJ1OwotCXZvaWQgKmRhdGE7Ci0JdW5zaWduZWQgbG9uZyBzaXplOwotCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgcGFja19lbnRyeV9oYXNoKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBiYXNlX29mZnNldCkKLXsKLQl1bnNpZ25lZCBpbnQgaGFzaDsKLQotCWhhc2ggPSAodW5zaWduZWQgaW50KShpbnRwdHJfdClwICsgKHVuc2lnbmVkIGludCliYXNlX29mZnNldDsKLQloYXNoICs9IChoYXNoID4+IDgpICsgKGhhc2ggPj4gMTYpOwotCXJldHVybiBoYXNoOwotfQotCi1zdGF0aWMgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKgotZ2V0X2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkoc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IGJhc2Vfb2Zmc2V0KQotewotCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudHJ5OwotCXN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2tleSBrZXk7Ci0KLQlpZiAoIWRlbHRhX2Jhc2VfY2FjaGUuY21wZm4pCi0JCXJldHVybiBOVUxMOwotCi0JaGFzaG1hcF9lbnRyeV9pbml0KCZlbnRyeSwgcGFja19lbnRyeV9oYXNoKHAsIGJhc2Vfb2Zmc2V0KSk7Ci0Ja2V5LnAgPSBwOwotCWtleS5iYXNlX29mZnNldCA9IGJhc2Vfb2Zmc2V0OwotCXJldHVybiBoYXNobWFwX2dldCgmZGVsdGFfYmFzZV9jYWNoZSwgJmVudHJ5LCAma2V5KTsKLX0KLQotc3RhdGljIGludCBkZWx0YV9iYXNlX2NhY2hlX2tleV9lcShjb25zdCBzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9rZXkgKmEsCi0JCQkJICAgY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfa2V5ICpiKQotewotCXJldHVybiBhLT5wID09IGItPnAgJiYgYS0+YmFzZV9vZmZzZXQgPT0gYi0+YmFzZV9vZmZzZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgZGVsdGFfYmFzZV9jYWNoZV9oYXNoX2NtcChjb25zdCB2b2lkICp2YSwgY29uc3Qgdm9pZCAqdmIsCi0JCQkJICAgICBjb25zdCB2b2lkICp2a2V5KQotewotCWNvbnN0IHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICphID0gdmEsICpiID0gdmI7Ci0JY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfa2V5ICprZXkgPSB2a2V5OwotCWlmIChrZXkpCi0JCXJldHVybiAhZGVsdGFfYmFzZV9jYWNoZV9rZXlfZXEoJmEtPmtleSwga2V5KTsKLQllbHNlCi0JCXJldHVybiAhZGVsdGFfYmFzZV9jYWNoZV9rZXlfZXEoJmEtPmtleSwgJmItPmtleSk7Ci19Ci0KLXN0YXRpYyBpbnQgaW5fZGVsdGFfYmFzZV9jYWNoZShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3QgYmFzZV9vZmZzZXQpCi17Ci0JcmV0dXJuICEhZ2V0X2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkocCwgYmFzZV9vZmZzZXQpOwotfQotCi0vKgotICogUmVtb3ZlIHRoZSBlbnRyeSBmcm9tIHRoZSBjYWNoZSwgYnV0IGRvIF9ub3RfIGZyZWUgdGhlIGFzc29jaWF0ZWQKLSAqIGVudHJ5IGRhdGEuIFRoZSBjYWxsZXIgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSAiZGF0YSIgYnVmZmVyLCBhbmQKLSAqIHNob3VsZCBjb3B5IG91dCBhbnkgZmllbGRzIGl0IHdhbnRzIGJlZm9yZSBkZXRhY2hpbmcuCi0gKi8KLXN0YXRpYyB2b2lkIGRldGFjaF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnQpCi17Ci0JaGFzaG1hcF9yZW1vdmUoJmRlbHRhX2Jhc2VfY2FjaGUsIGVudCwgJmVudC0+a2V5KTsKLQlsaXN0X2RlbCgmZW50LT5scnUpOwotCWRlbHRhX2Jhc2VfY2FjaGVkIC09IGVudC0+c2l6ZTsKLQlmcmVlKGVudCk7Ci19Ci0KLXN0YXRpYyB2b2lkICpjYWNoZV9vcl91bnBhY2tfZW50cnkoc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IGJhc2Vfb2Zmc2V0LAotCXVuc2lnbmVkIGxvbmcgKmJhc2Vfc2l6ZSwgZW51bSBvYmplY3RfdHlwZSAqdHlwZSkKLXsKLQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZW50OwotCi0JZW50ID0gZ2V0X2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkocCwgYmFzZV9vZmZzZXQpOwotCWlmICghZW50KQotCQlyZXR1cm4gdW5wYWNrX2VudHJ5KHAsIGJhc2Vfb2Zmc2V0LCB0eXBlLCBiYXNlX3NpemUpOwotCi0JKnR5cGUgPSBlbnQtPnR5cGU7Ci0JKmJhc2Vfc2l6ZSA9IGVudC0+c2l6ZTsKLQlyZXR1cm4geG1lbWR1cHooZW50LT5kYXRhLCBlbnQtPnNpemUpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgcmVsZWFzZV9kZWx0YV9iYXNlX2NhY2hlKHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnQpCi17Ci0JZnJlZShlbnQtPmRhdGEpOwotCWRldGFjaF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KGVudCk7Ci19Ci0KLXZvaWQgY2xlYXJfZGVsdGFfYmFzZV9jYWNoZSh2b2lkKQotewotCXN0cnVjdCBsaXN0X2hlYWQgKmxydSwgKnRtcDsKLQlsaXN0X2Zvcl9lYWNoX3NhZmUobHJ1LCB0bXAsICZkZWx0YV9iYXNlX2NhY2hlX2xydSkgewotCQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZW50cnkgPQotCQkJbGlzdF9lbnRyeShscnUsIHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5LCBscnUpOwotCQlyZWxlYXNlX2RlbHRhX2Jhc2VfY2FjaGUoZW50cnkpOwotCX0KLX0KLQotc3RhdGljIHZvaWQgYWRkX2RlbHRhX2Jhc2VfY2FjaGUoc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IGJhc2Vfb2Zmc2V0LAotCXZvaWQgKmJhc2UsIHVuc2lnbmVkIGxvbmcgYmFzZV9zaXplLCBlbnVtIG9iamVjdF90eXBlIHR5cGUpCi17Ci0Jc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudCA9IHhtYWxsb2Moc2l6ZW9mKCplbnQpKTsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpscnUsICp0bXA7Ci0KLQlkZWx0YV9iYXNlX2NhY2hlZCArPSBiYXNlX3NpemU7Ci0KLQlsaXN0X2Zvcl9lYWNoX3NhZmUobHJ1LCB0bXAsICZkZWx0YV9iYXNlX2NhY2hlX2xydSkgewotCQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZiA9Ci0JCQlsaXN0X2VudHJ5KGxydSwgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnksIGxydSk7Ci0JCWlmIChkZWx0YV9iYXNlX2NhY2hlZCA8PSBkZWx0YV9iYXNlX2NhY2hlX2xpbWl0KQotCQkJYnJlYWs7Ci0JCXJlbGVhc2VfZGVsdGFfYmFzZV9jYWNoZShmKTsKLQl9Ci0KLQllbnQtPmtleS5wID0gcDsKLQllbnQtPmtleS5iYXNlX29mZnNldCA9IGJhc2Vfb2Zmc2V0OwotCWVudC0+dHlwZSA9IHR5cGU7Ci0JZW50LT5kYXRhID0gYmFzZTsKLQllbnQtPnNpemUgPSBiYXNlX3NpemU7Ci0JbGlzdF9hZGRfdGFpbCgmZW50LT5scnUsICZkZWx0YV9iYXNlX2NhY2hlX2xydSk7Ci0KLQlpZiAoIWRlbHRhX2Jhc2VfY2FjaGUuY21wZm4pCi0JCWhhc2htYXBfaW5pdCgmZGVsdGFfYmFzZV9jYWNoZSwgZGVsdGFfYmFzZV9jYWNoZV9oYXNoX2NtcCwgMCk7Ci0JaGFzaG1hcF9lbnRyeV9pbml0KGVudCwgcGFja19lbnRyeV9oYXNoKHAsIGJhc2Vfb2Zmc2V0KSk7Ci0JaGFzaG1hcF9hZGQoJmRlbHRhX2Jhc2VfY2FjaGUsIGVudCk7Ci19Ci0KLXN0YXRpYyB2b2lkICpyZWFkX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLAotCQkJIHVuc2lnbmVkIGxvbmcgKnNpemUpOwotCi1zdGF0aWMgdm9pZCB3cml0ZV9wYWNrX2FjY2Vzc19sb2coc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IG9ial9vZmZzZXQpCi17Ci0Jc3RhdGljIHN0cnVjdCB0cmFjZV9rZXkgcGFja19hY2Nlc3MgPSBUUkFDRV9LRVlfSU5JVChQQUNLX0FDQ0VTUyk7Ci0JdHJhY2VfcHJpbnRmX2tleSgmcGFja19hY2Nlc3MsICIlcyAlIlBSSXVNQVgiXG4iLAotCQkJIHAtPnBhY2tfbmFtZSwgKHVpbnRtYXhfdClvYmpfb2Zmc2V0KTsKLX0KLQotaW50IGRvX2NoZWNrX3BhY2tlZF9vYmplY3RfY3JjOwotCi0jZGVmaW5lIFVOUEFDS19FTlRSWV9TVEFDS19QUkVBTExPQyA2NAotc3RydWN0IHVucGFja19lbnRyeV9zdGFja19lbnQgewotCW9mZl90IG9ial9vZmZzZXQ7Ci0Jb2ZmX3QgY3VycG9zOwotCXVuc2lnbmVkIGxvbmcgc2l6ZTsKLX07Ci0KLXZvaWQgKnVucGFja19lbnRyeShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3Qgb2JqX29mZnNldCwKLQkJICAgZW51bSBvYmplY3RfdHlwZSAqZmluYWxfdHlwZSwgdW5zaWduZWQgbG9uZyAqZmluYWxfc2l6ZSkKLXsKLQlzdHJ1Y3QgcGFja193aW5kb3cgKndfY3VycyA9IE5VTEw7Ci0Jb2ZmX3QgY3VycG9zID0gb2JqX29mZnNldDsKLQl2b2lkICpkYXRhID0gTlVMTDsKLQl1bnNpZ25lZCBsb25nIHNpemU7Ci0JZW51bSBvYmplY3RfdHlwZSB0eXBlOwotCXN0cnVjdCB1bnBhY2tfZW50cnlfc3RhY2tfZW50IHNtYWxsX2RlbHRhX3N0YWNrW1VOUEFDS19FTlRSWV9TVEFDS19QUkVBTExPQ107Ci0Jc3RydWN0IHVucGFja19lbnRyeV9zdGFja19lbnQgKmRlbHRhX3N0YWNrID0gc21hbGxfZGVsdGFfc3RhY2s7Ci0JaW50IGRlbHRhX3N0YWNrX25yID0gMCwgZGVsdGFfc3RhY2tfYWxsb2MgPSBVTlBBQ0tfRU5UUllfU1RBQ0tfUFJFQUxMT0M7Ci0JaW50IGJhc2VfZnJvbV9jYWNoZSA9IDA7Ci0KLQl3cml0ZV9wYWNrX2FjY2Vzc19sb2cocCwgb2JqX29mZnNldCk7Ci0KLQkvKiBQSEFTRSAxOiBkcmlsbCBkb3duIHRvIHRoZSBpbm5lcm1vc3QgYmFzZSBvYmplY3QgKi8KLQlmb3IgKDs7KSB7Ci0JCW9mZl90IGJhc2Vfb2Zmc2V0OwotCQlpbnQgaTsKLQkJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudDsKLQotCQllbnQgPSBnZXRfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShwLCBjdXJwb3MpOwotCQlpZiAoZW50KSB7Ci0JCQl0eXBlID0gZW50LT50eXBlOwotCQkJZGF0YSA9IGVudC0+ZGF0YTsKLQkJCXNpemUgPSBlbnQtPnNpemU7Ci0JCQlkZXRhY2hfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShlbnQpOwotCQkJYmFzZV9mcm9tX2NhY2hlID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0KLQkJaWYgKGRvX2NoZWNrX3BhY2tlZF9vYmplY3RfY3JjICYmIHAtPmluZGV4X3ZlcnNpb24gPiAxKSB7Ci0JCQlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKnJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBvYmpfb2Zmc2V0KTsKLQkJCW9mZl90IGxlbiA9IHJldmlkeFsxXS5vZmZzZXQgLSBvYmpfb2Zmc2V0OwotCQkJaWYgKGNoZWNrX3BhY2tfY3JjKHAsICZ3X2N1cnMsIG9ial9vZmZzZXQsIGxlbiwgcmV2aWR4LT5ucikpIHsKLQkJCQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0KLQkJCQkJbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShwLCByZXZpZHgtPm5yKTsKLQkJCQllcnJvcigiYmFkIHBhY2tlZCBvYmplY3QgQ1JDIGZvciAlcyIsCi0JCQkJICAgICAgc2hhMV90b19oZXgoc2hhMSkpOwotCQkJCW1hcmtfYmFkX3BhY2tlZF9vYmplY3QocCwgc2hhMSk7Ci0JCQkJdW51c2VfcGFjaygmd19jdXJzKTsKLQkJCQlyZXR1cm4gTlVMTDsKLQkJCX0KLQkJfQotCi0JCXR5cGUgPSB1bnBhY2tfb2JqZWN0X2hlYWRlcihwLCAmd19jdXJzLCAmY3VycG9zLCAmc2l6ZSk7Ci0JCWlmICh0eXBlICE9IE9CSl9PRlNfREVMVEEgJiYgdHlwZSAhPSBPQkpfUkVGX0RFTFRBKQotCQkJYnJlYWs7Ci0KLQkJYmFzZV9vZmZzZXQgPSBnZXRfZGVsdGFfYmFzZShwLCAmd19jdXJzLCAmY3VycG9zLCB0eXBlLCBvYmpfb2Zmc2V0KTsKLQkJaWYgKCFiYXNlX29mZnNldCkgewotCQkJZXJyb3IoImZhaWxlZCB0byB2YWxpZGF0ZSBkZWx0YSBiYXNlIHJlZmVyZW5jZSAiCi0JCQkgICAgICAiYXQgb2Zmc2V0ICUiUFJJdU1BWCIgZnJvbSAlcyIsCi0JCQkgICAgICAodWludG1heF90KWN1cnBvcywgcC0+cGFja19uYW1lKTsKLQkJCS8qIGJhaWwgdG8gcGhhc2UgMiwgaW4gaG9wZXMgb2YgcmVjb3ZlcnkgKi8KLQkJCWRhdGEgPSBOVUxMOwotCQkJYnJlYWs7Ci0JCX0KLQotCQkvKiBwdXNoIG9iamVjdCwgcHJvY2VlZCB0byBiYXNlICovCi0JCWlmIChkZWx0YV9zdGFja19uciA+PSBkZWx0YV9zdGFja19hbGxvYwotCQkgICAgJiYgZGVsdGFfc3RhY2sgPT0gc21hbGxfZGVsdGFfc3RhY2spIHsKLQkJCWRlbHRhX3N0YWNrX2FsbG9jID0gYWxsb2NfbnIoZGVsdGFfc3RhY2tfbnIpOwotCQkJQUxMT0NfQVJSQVkoZGVsdGFfc3RhY2ssIGRlbHRhX3N0YWNrX2FsbG9jKTsKLQkJCW1lbWNweShkZWx0YV9zdGFjaywgc21hbGxfZGVsdGFfc3RhY2ssCi0JCQkgICAgICAgc2l6ZW9mKCpkZWx0YV9zdGFjaykqZGVsdGFfc3RhY2tfbnIpOwotCQl9IGVsc2UgewotCQkJQUxMT0NfR1JPVyhkZWx0YV9zdGFjaywgZGVsdGFfc3RhY2tfbnIrMSwgZGVsdGFfc3RhY2tfYWxsb2MpOwotCQl9Ci0JCWkgPSBkZWx0YV9zdGFja19ucisrOwotCQlkZWx0YV9zdGFja1tpXS5vYmpfb2Zmc2V0ID0gb2JqX29mZnNldDsKLQkJZGVsdGFfc3RhY2tbaV0uY3VycG9zID0gY3VycG9zOwotCQlkZWx0YV9zdGFja1tpXS5zaXplID0gc2l6ZTsKLQotCQljdXJwb3MgPSBvYmpfb2Zmc2V0ID0gYmFzZV9vZmZzZXQ7Ci0JfQotCi0JLyogUEhBU0UgMjogaGFuZGxlIHRoZSBiYXNlICovCi0Jc3dpdGNoICh0eXBlKSB7Ci0JY2FzZSBPQkpfT0ZTX0RFTFRBOgotCWNhc2UgT0JKX1JFRl9ERUxUQToKLQkJaWYgKGRhdGEpCi0JCQlkaWUoIkJVRzogdW5wYWNrX2VudHJ5OiBsZWZ0IGxvb3AgYXQgYSB2YWxpZCBkZWx0YSIpOwotCQlicmVhazsKLQljYXNlIE9CSl9DT01NSVQ6Ci0JY2FzZSBPQkpfVFJFRToKLQljYXNlIE9CSl9CTE9COgotCWNhc2UgT0JKX1RBRzoKLQkJaWYgKCFiYXNlX2Zyb21fY2FjaGUpCi0JCQlkYXRhID0gdW5wYWNrX2NvbXByZXNzZWRfZW50cnkocCwgJndfY3VycywgY3VycG9zLCBzaXplKTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJZGF0YSA9IE5VTEw7Ci0JCWVycm9yKCJ1bmtub3duIG9iamVjdCB0eXBlICVpIGF0IG9mZnNldCAlIlBSSXVNQVgiIGluICVzIiwKLQkJICAgICAgdHlwZSwgKHVpbnRtYXhfdClvYmpfb2Zmc2V0LCBwLT5wYWNrX25hbWUpOwotCX0KLQotCS8qIFBIQVNFIDM6IGFwcGx5IGRlbHRhcyBpbiBvcmRlciAqLwotCi0JLyogaW52YXJpYW50czoKLQkgKiAgICdkYXRhJyBob2xkcyB0aGUgYmFzZSBkYXRhLCBvciBOVUxMIGlmIHRoZXJlIHdhcyBjb3JydXB0aW9uCi0JICovCi0Jd2hpbGUgKGRlbHRhX3N0YWNrX25yKSB7Ci0JCXZvaWQgKmRlbHRhX2RhdGE7Ci0JCXZvaWQgKmJhc2UgPSBkYXRhOwotCQl2b2lkICpleHRlcm5hbF9iYXNlID0gTlVMTDsKLQkJdW5zaWduZWQgbG9uZyBkZWx0YV9zaXplLCBiYXNlX3NpemUgPSBzaXplOwotCQlpbnQgaTsKLQotCQlkYXRhID0gTlVMTDsKLQotCQlpZiAoYmFzZSkKLQkJCWFkZF9kZWx0YV9iYXNlX2NhY2hlKHAsIG9ial9vZmZzZXQsIGJhc2UsIGJhc2Vfc2l6ZSwgdHlwZSk7Ci0KLQkJaWYgKCFiYXNlKSB7Ci0JCQkvKgotCQkJICogV2UncmUgcHJvYmFibHkgaW4gZGVlcCBzaGl0LCBidXQgbGV0J3MgdHJ5IHRvIGZldGNoCi0JCQkgKiB0aGUgcmVxdWlyZWQgYmFzZSBhbnl3YXkgZnJvbSBhbm90aGVyIHBhY2sgb3IgbG9vc2UuCi0JCQkgKiBUaGlzIGlzIGNvc3RseSBidXQgc2hvdWxkIGhhcHBlbiBvbmx5IGluIHRoZSBwcmVzZW5jZQotCQkJICogb2YgYSBjb3JydXB0ZWQgcGFjaywgYW5kIGlzIGJldHRlciB0aGFuIGZhaWxpbmcgb3V0cmlnaHQuCi0JCQkgKi8KLQkJCXN0cnVjdCByZXZpbmRleF9lbnRyeSAqcmV2aWR4OwotCQkJY29uc3QgdW5zaWduZWQgY2hhciAqYmFzZV9zaGExOwotCQkJcmV2aWR4ID0gZmluZF9wYWNrX3JldmluZGV4KHAsIG9ial9vZmZzZXQpOwotCQkJaWYgKHJldmlkeCkgewotCQkJCWJhc2Vfc2hhMSA9IG50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgcmV2aWR4LT5ucik7Ci0JCQkJZXJyb3IoImZhaWxlZCB0byByZWFkIGRlbHRhIGJhc2Ugb2JqZWN0ICVzIgotCQkJCSAgICAgICIgYXQgb2Zmc2V0ICUiUFJJdU1BWCIgZnJvbSAlcyIsCi0JCQkJICAgICAgc2hhMV90b19oZXgoYmFzZV9zaGExKSwgKHVpbnRtYXhfdClvYmpfb2Zmc2V0LAotCQkJCSAgICAgIHAtPnBhY2tfbmFtZSk7Ci0JCQkJbWFya19iYWRfcGFja2VkX29iamVjdChwLCBiYXNlX3NoYTEpOwotCQkJCWJhc2UgPSByZWFkX29iamVjdChiYXNlX3NoYTEsICZ0eXBlLCAmYmFzZV9zaXplKTsKLQkJCQlleHRlcm5hbF9iYXNlID0gYmFzZTsKLQkJCX0KLQkJfQotCi0JCWkgPSAtLWRlbHRhX3N0YWNrX25yOwotCQlvYmpfb2Zmc2V0ID0gZGVsdGFfc3RhY2tbaV0ub2JqX29mZnNldDsKLQkJY3VycG9zID0gZGVsdGFfc3RhY2tbaV0uY3VycG9zOwotCQlkZWx0YV9zaXplID0gZGVsdGFfc3RhY2tbaV0uc2l6ZTsKLQotCQlpZiAoIWJhc2UpCi0JCQljb250aW51ZTsKLQotCQlkZWx0YV9kYXRhID0gdW5wYWNrX2NvbXByZXNzZWRfZW50cnkocCwgJndfY3VycywgY3VycG9zLCBkZWx0YV9zaXplKTsKLQotCQlpZiAoIWRlbHRhX2RhdGEpIHsKLQkJCWVycm9yKCJmYWlsZWQgdG8gdW5wYWNrIGNvbXByZXNzZWQgZGVsdGEgIgotCQkJICAgICAgImF0IG9mZnNldCAlIlBSSXVNQVgiIGZyb20gJXMiLAotCQkJICAgICAgKHVpbnRtYXhfdCljdXJwb3MsIHAtPnBhY2tfbmFtZSk7Ci0JCQlkYXRhID0gTlVMTDsKLQkJCWZyZWUoZXh0ZXJuYWxfYmFzZSk7Ci0JCQljb250aW51ZTsKLQkJfQotCi0JCWRhdGEgPSBwYXRjaF9kZWx0YShiYXNlLCBiYXNlX3NpemUsCi0JCQkJICAgZGVsdGFfZGF0YSwgZGVsdGFfc2l6ZSwKLQkJCQkgICAmc2l6ZSk7Ci0KLQkJLyoKLQkJICogV2UgY291bGQgbm90IGFwcGx5IHRoZSBkZWx0YTsgd2FybiB0aGUgdXNlciwgYnV0IGtlZXAgZ29pbmcuCi0JCSAqIE91ciBmYWlsdXJlIHdpbGwgYmUgbm90aWNlZCBlaXRoZXIgaW4gdGhlIG5leHQgaXRlcmF0aW9uIG9mCi0JCSAqIHRoZSBsb29wLCBvciBpZiB0aGlzIGlzIHRoZSBmaW5hbCBkZWx0YSwgaW4gdGhlIGNhbGxlciB3aGVuCi0JCSAqIHdlIHJldHVybiBOVUxMLiBUaG9zZSBjb2RlIHBhdGhzIHdpbGwgdGFrZSBjYXJlIG9mIG1ha2luZwotCQkgKiBhIG1vcmUgZXhwbGljaXQgd2FybmluZyBhbmQgcmV0cnlpbmcgd2l0aCBhbm90aGVyIGNvcHkgb2YKLQkJICogdGhlIG9iamVjdC4KLQkJICovCi0JCWlmICghZGF0YSkKLQkJCWVycm9yKCJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiKTsKLQotCQlmcmVlKGRlbHRhX2RhdGEpOwotCQlmcmVlKGV4dGVybmFsX2Jhc2UpOwotCX0KLQotCSpmaW5hbF90eXBlID0gdHlwZTsKLQkqZmluYWxfc2l6ZSA9IHNpemU7Ci0KLQl1bnVzZV9wYWNrKCZ3X2N1cnMpOwotCi0JaWYgKGRlbHRhX3N0YWNrICE9IHNtYWxsX2RlbHRhX3N0YWNrKQotCQlmcmVlKGRlbHRhX3N0YWNrKTsKLQotCXJldHVybiBkYXRhOwotfQotCi1jb25zdCB1bnNpZ25lZCBjaGFyICpudGhfcGFja2VkX29iamVjdF9zaGExKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAotCQkJCQkgICAgdWludDMyX3QgbikKLXsKLQljb25zdCB1bnNpZ25lZCBjaGFyICppbmRleCA9IHAtPmluZGV4X2RhdGE7Ci0JaWYgKCFpbmRleCkgewotCQlpZiAob3Blbl9wYWNrX2luZGV4KHApKQotCQkJcmV0dXJuIE5VTEw7Ci0JCWluZGV4ID0gcC0+aW5kZXhfZGF0YTsKLQl9Ci0JaWYgKG4gPj0gcC0+bnVtX29iamVjdHMpCi0JCXJldHVybiBOVUxMOwotCWluZGV4ICs9IDQgKiAyNTY7Ci0JaWYgKHAtPmluZGV4X3ZlcnNpb24gPT0gMSkgewotCQlyZXR1cm4gaW5kZXggKyAyNCAqIG4gKyA0OwotCX0gZWxzZSB7Ci0JCWluZGV4ICs9IDg7Ci0JCXJldHVybiBpbmRleCArIDIwICogbjsKLQl9Ci19Ci0KLXZvaWQgY2hlY2tfcGFja19pbmRleF9wdHIoY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKnAsIGNvbnN0IHZvaWQgKnZwdHIpCi17Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqcHRyID0gdnB0cjsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpzdGFydCA9IHAtPmluZGV4X2RhdGE7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZW5kID0gc3RhcnQgKyBwLT5pbmRleF9zaXplOwotCWlmIChwdHIgPCBzdGFydCkKLQkJZGllKF8oIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIpLAotCQkgICAgcC0+cGFja19uYW1lKTsKLQkvKiBObyBuZWVkIHRvIGNoZWNrIGZvciB1bmRlcmZsb3c7IC5pZHggZmlsZXMgbXVzdCBiZSBhdCBsZWFzdCA4IGJ5dGVzICovCi0JaWYgKHB0ciA+PSBlbmQgLSA4KQotCQlkaWUoXygib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFjayBpbmRleCBmb3IgJXMgKHRydW5jYXRlZCBpbmRleD8pIiksCi0JCSAgICBwLT5wYWNrX25hbWUpOwotfQotCi1vZmZfdCBudGhfcGFja2VkX29iamVjdF9vZmZzZXQoY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKnAsIHVpbnQzMl90IG4pCi17Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqaW5kZXggPSBwLT5pbmRleF9kYXRhOwotCWluZGV4ICs9IDQgKiAyNTY7Ci0JaWYgKHAtPmluZGV4X3ZlcnNpb24gPT0gMSkgewotCQlyZXR1cm4gbnRvaGwoKigodWludDMyX3QgKikoaW5kZXggKyAyNCAqIG4pKSk7Ci0JfSBlbHNlIHsKLQkJdWludDMyX3Qgb2ZmOwotCQlpbmRleCArPSA4ICsgcC0+bnVtX29iamVjdHMgKiAoMjAgKyA0KTsKLQkJb2ZmID0gbnRvaGwoKigodWludDMyX3QgKikoaW5kZXggKyA0ICogbikpKTsKLQkJaWYgKCEob2ZmICYgMHg4MDAwMDAwMCkpCi0JCQlyZXR1cm4gb2ZmOwotCQlpbmRleCArPSBwLT5udW1fb2JqZWN0cyAqIDQgKyAob2ZmICYgMHg3ZmZmZmZmZikgKiA4OwotCQljaGVja19wYWNrX2luZGV4X3B0cihwLCBpbmRleCk7Ci0JCXJldHVybiAoKCh1aW50NjRfdCludG9obCgqKCh1aW50MzJfdCAqKShpbmRleCArIDApKSkpIDw8IDMyKSB8Ci0JCQkJICAgbnRvaGwoKigodWludDMyX3QgKikoaW5kZXggKyA0KSkpOwotCX0KLX0KLQotb2ZmX3QgZmluZF9wYWNrX2VudHJ5X29uZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJCSAgc3RydWN0IHBhY2tlZF9naXQgKnApCi17Ci0JY29uc3QgdWludDMyX3QgKmxldmVsMV9vZnMgPSBwLT5pbmRleF9kYXRhOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmluZGV4ID0gcC0+aW5kZXhfZGF0YTsKLQl1bnNpZ25lZCBoaSwgbG8sIHN0cmlkZTsKLQlzdGF0aWMgaW50IHVzZV9sb29rdXAgPSAtMTsKLQlzdGF0aWMgaW50IGRlYnVnX2xvb2t1cCA9IC0xOwotCi0JaWYgKGRlYnVnX2xvb2t1cCA8IDApCi0JCWRlYnVnX2xvb2t1cCA9ICEhZ2V0ZW52KCJHSVRfREVCVUdfTE9PS1VQIik7Ci0KLQlpZiAoIWluZGV4KSB7Ci0JCWlmIChvcGVuX3BhY2tfaW5kZXgocCkpCi0JCQlyZXR1cm4gMDsKLQkJbGV2ZWwxX29mcyA9IHAtPmluZGV4X2RhdGE7Ci0JCWluZGV4ID0gcC0+aW5kZXhfZGF0YTsKLQl9Ci0JaWYgKHAtPmluZGV4X3ZlcnNpb24gPiAxKSB7Ci0JCWxldmVsMV9vZnMgKz0gMjsKLQkJaW5kZXggKz0gODsKLQl9Ci0JaW5kZXggKz0gNCAqIDI1NjsKLQloaSA9IG50b2hsKGxldmVsMV9vZnNbKnNoYTFdKTsKLQlsbyA9ICgoKnNoYTEgPT0gMHgwKSA/IDAgOiBudG9obChsZXZlbDFfb2ZzWypzaGExIC0gMV0pKTsKLQlpZiAocC0+aW5kZXhfdmVyc2lvbiA+IDEpIHsKLQkJc3RyaWRlID0gMjA7Ci0JfSBlbHNlIHsKLQkJc3RyaWRlID0gMjQ7Ci0JCWluZGV4ICs9IDQ7Ci0JfQotCi0JaWYgKGRlYnVnX2xvb2t1cCkKLQkJcHJpbnRmKCIlMDJ4JTAyeCUwMnguLi4gbG8gJXUgaGkgJXUgbnIgJSJQUkl1MzIiXG4iLAotCQkgICAgICAgc2hhMVswXSwgc2hhMVsxXSwgc2hhMVsyXSwgbG8sIGhpLCBwLT5udW1fb2JqZWN0cyk7Ci0KLQlpZiAodXNlX2xvb2t1cCA8IDApCi0JCXVzZV9sb29rdXAgPSAhIWdldGVudigiR0lUX1VTRV9MT09LVVAiKTsKLQlpZiAodXNlX2xvb2t1cCkgewotCQlpbnQgcG9zID0gc2hhMV9lbnRyeV9wb3MoaW5kZXgsIHN0cmlkZSwgMCwKLQkJCQkJIGxvLCBoaSwgcC0+bnVtX29iamVjdHMsIHNoYTEpOwotCQlpZiAocG9zIDwgMCkKLQkJCXJldHVybiAwOwotCQlyZXR1cm4gbnRoX3BhY2tlZF9vYmplY3Rfb2Zmc2V0KHAsIHBvcyk7Ci0JfQotCi0JZG8gewotCQl1bnNpZ25lZCBtaSA9IChsbyArIGhpKSAvIDI7Ci0JCWludCBjbXAgPSBoYXNoY21wKGluZGV4ICsgbWkgKiBzdHJpZGUsIHNoYTEpOwotCi0JCWlmIChkZWJ1Z19sb29rdXApCi0JCQlwcmludGYoImxvICV1IGhpICV1IHJnICV1IG1pICV1XG4iLAotCQkJICAgICAgIGxvLCBoaSwgaGkgLSBsbywgbWkpOwotCQlpZiAoIWNtcCkKLQkJCXJldHVybiBudGhfcGFja2VkX29iamVjdF9vZmZzZXQocCwgbWkpOwotCQlpZiAoY21wID4gMCkKLQkJCWhpID0gbWk7Ci0JCWVsc2UKLQkJCWxvID0gbWkrMTsKLQl9IHdoaWxlIChsbyA8IGhpKTsKLQlyZXR1cm4gMDsKLX0KLQotaW50IGlzX3BhY2tfdmFsaWQoc3RydWN0IHBhY2tlZF9naXQgKnApCi17Ci0JLyogQW4gYWxyZWFkeSBvcGVuIHBhY2sgaXMga25vd24gdG8gYmUgdmFsaWQuICovCi0JaWYgKHAtPnBhY2tfZmQgIT0gLTEpCi0JCXJldHVybiAxOwotCi0JLyogSWYgdGhlIHBhY2sgaGFzIG9uZSB3aW5kb3cgY29tcGxldGVseSBjb3ZlcmluZyB0aGUKLQkgKiBmaWxlIHNpemUsIHRoZSBwYWNrIGlzIGtub3duIHRvIGJlIHZhbGlkIGV2ZW4gaWYKLQkgKiB0aGUgZGVzY3JpcHRvciBpcyBub3QgY3VycmVudGx5IG9wZW4uCi0JICovCi0JaWYgKHAtPndpbmRvd3MpIHsKLQkJc3RydWN0IHBhY2tfd2luZG93ICp3ID0gcC0+d2luZG93czsKLQotCQlpZiAoIXctPm9mZnNldCAmJiB3LT5sZW4gPT0gcC0+cGFja19zaXplKQotCQkJcmV0dXJuIDE7Ci0JfQotCi0JLyogRm9yY2UgdGhlIHBhY2sgdG8gb3BlbiB0byBwcm92ZSBpdHMgdmFsaWQuICovCi0JcmV0dXJuICFvcGVuX3BhY2tlZF9naXQocCk7Ci19Ci0KLXN0YXRpYyBpbnQgZmlsbF9wYWNrX2VudHJ5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkgICBzdHJ1Y3QgcGFja19lbnRyeSAqZSwKLQkJCSAgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQotewotCW9mZl90IG9mZnNldDsKLQotCWlmIChwLT5udW1fYmFkX29iamVjdHMpIHsKLQkJdW5zaWduZWQgaTsKLQkJZm9yIChpID0gMDsgaSA8IHAtPm51bV9iYWRfb2JqZWN0czsgaSsrKQotCQkJaWYgKCFoYXNoY21wKHNoYTEsIHAtPmJhZF9vYmplY3Rfc2hhMSArIDIwICogaSkpCi0JCQkJcmV0dXJuIDA7Ci0JfQotCi0Jb2Zmc2V0ID0gZmluZF9wYWNrX2VudHJ5X29uZShzaGExLCBwKTsKLQlpZiAoIW9mZnNldCkKLQkJcmV0dXJuIDA7Ci0KLQkvKgotCSAqIFdlIGFyZSBhYm91dCB0byB0ZWxsIHRoZSBjYWxsZXIgd2hlcmUgdGhleSBjYW4gbG9jYXRlIHRoZQotCSAqIHJlcXVlc3RlZCBvYmplY3QuICBXZSBiZXR0ZXIgbWFrZSBzdXJlIHRoZSBwYWNrZmlsZSBpcwotCSAqIHN0aWxsIGhlcmUgYW5kIGNhbiBiZSBhY2Nlc3NlZCBiZWZvcmUgc3VwcGx5aW5nIHRoYXQKLQkgKiBhbnN3ZXIsIGFzIGl0IG1heSBoYXZlIGJlZW4gZGVsZXRlZCBzaW5jZSB0aGUgaW5kZXggd2FzCi0JICogbG9hZGVkIQotCSAqLwotCWlmICghaXNfcGFja192YWxpZChwKSkKLQkJcmV0dXJuIDA7Ci0JZS0+b2Zmc2V0ID0gb2Zmc2V0OwotCWUtPnAgPSBwOwotCWhhc2hjcHkoZS0+c2hhMSwgc2hhMSk7Ci0JcmV0dXJuIDE7Ci19Ci0KLS8qCi0gKiBJZmYgYSBwYWNrIGZpbGUgY29udGFpbnMgdGhlIG9iamVjdCBuYW1lZCBieSBzaGExLCByZXR1cm4gdHJ1ZSBhbmQKLSAqIHN0b3JlIGl0cyBsb2NhdGlvbiB0byBlLgotICovCi1zdGF0aWMgaW50IGZpbmRfcGFja19lbnRyeShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcGFja19lbnRyeSAqZSkKLXsKLQlzdHJ1Y3QgbXJ1X2VudHJ5ICpwOwotCi0JcHJlcGFyZV9wYWNrZWRfZ2l0KCk7Ci0JaWYgKCFwYWNrZWRfZ2l0KQotCQlyZXR1cm4gMDsKLQotCWZvciAocCA9IHBhY2tlZF9naXRfbXJ1LT5oZWFkOyBwOyBwID0gcC0+bmV4dCkgewotCQlpZiAoZmlsbF9wYWNrX2VudHJ5KHNoYTEsIGUsIHAtPml0ZW0pKSB7Ci0JCQltcnVfbWFyayhwYWNrZWRfZ2l0X21ydSwgcCk7Ci0JCQlyZXR1cm4gMTsKLQkJfQotCX0KLQlyZXR1cm4gMDsKLX0KLQotc3RydWN0IHBhY2tlZF9naXQgKmZpbmRfc2hhMV9wYWNrKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkJICBzdHJ1Y3QgcGFja2VkX2dpdCAqcGFja3MpCi17Ci0Jc3RydWN0IHBhY2tlZF9naXQgKnA7Ci0KLQlmb3IgKHAgPSBwYWNrczsgcDsgcCA9IHAtPm5leHQpIHsKLQkJaWYgKGZpbmRfcGFja19lbnRyeV9vbmUoc2hhMSwgcCkpCi0JCQlyZXR1cm4gcDsKLQl9Ci0JcmV0dXJuIE5VTEw7Ci0KKwlyZXR1cm4gcGFyc2Vfc2hhMV9oZWFkZXJfZXh0ZW5kZWQoaGRyLCAmb2ksIDApOwogfQogCiBzdGF0aWMgaW50IHNoYTFfbG9vc2Vfb2JqZWN0X2luZm8oY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKQEAgLTI4MjAsNiArMTA3Niw3IEBACiAJZ2l0X3pzdHJlYW0gc3RyZWFtOwogCWNoYXIgaGRyWzMyXTsKIAlzdHJ1Y3Qgc3RyYnVmIGhkcmJ1ZiA9IFNUUkJVRl9JTklUOworCXVuc2lnbmVkIGxvbmcgc2l6ZV9zY3JhdGNoOwogCiAJaWYgKG9pLT5kZWx0YV9iYXNlX3NoYTEpCiAJCWhhc2hjbHIob2ktPmRlbHRhX2Jhc2Vfc2hhMSk7CkBAIC0yODMyLDcgKzEwODksNyBAQAogCSAqIHJldHVybiB2YWx1ZSBpbXBsaWNpdGx5IGluZGljYXRlcyB3aGV0aGVyIHRoZQogCSAqIG9iamVjdCBldmVuIGV4aXN0cy4KIAkgKi8KLQlpZiAoIW9pLT50eXBlcCAmJiAhb2ktPnR5cGVuYW1lICYmICFvaS0+c2l6ZXApIHsKKwlpZiAoIW9pLT50eXBlcCAmJiAhb2ktPnR5cGVuYW1lICYmICFvaS0+c2l6ZXAgJiYgIW9pLT5jb250ZW50cCkgewogCQljb25zdCBjaGFyICpwYXRoOwogCQlzdHJ1Y3Qgc3RhdCBzdDsKIAkJaWYgKHN0YXRfc2hhMV9maWxlKHNoYTEsICZzdCwgJnBhdGgpIDwgMCkKQEAgLTI4NDUsOSArMTEwMiwxMyBAQAogCW1hcCA9IG1hcF9zaGExX2ZpbGUoc2hhMSwgJm1hcHNpemUpOwogCWlmICghbWFwKQogCQlyZXR1cm4gLTE7CisKKwlpZiAoIW9pLT5zaXplcCkKKwkJb2ktPnNpemVwID0gJnNpemVfc2NyYXRjaDsKKwogCWlmIChvaS0+ZGlza19zaXplcCkKIAkJKm9pLT5kaXNrX3NpemVwID0gbWFwc2l6ZTsKLQlpZiAoKGZsYWdzICYgTE9PS1VQX1VOS05PV05fT0JKRUNUKSkgeworCWlmICgoZmxhZ3MgJiBPQkpFQ1RfSU5GT19BTExPV19VTktOT1dOX1RZUEUpKSB7CiAJCWlmICh1bnBhY2tfc2hhMV9oZWFkZXJfdG9fc3RyYnVmKCZzdHJlYW0sIG1hcCwgbWFwc2l6ZSwgaGRyLCBzaXplb2YoaGRyKSwgJmhkcmJ1ZikgPCAwKQogCQkJc3RhdHVzID0gZXJyb3IoInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiLAogCQkJCSAgICAgICBzaGExX3RvX2hleChzaGExKSk7CkBAIC0yODYyLDc3ICsxMTIzLDg3IEBACiAJCQkJICAgICAgIHNoYTFfdG9faGV4KHNoYTEpKTsKIAl9IGVsc2UgaWYgKChzdGF0dXMgPSBwYXJzZV9zaGExX2hlYWRlcl9leHRlbmRlZChoZHIsIG9pLCBmbGFncykpIDwgMCkKIAkJc3RhdHVzID0gZXJyb3IoInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIiLCBzaGExX3RvX2hleChzaGExKSk7Ci0JZ2l0X2luZmxhdGVfZW5kKCZzdHJlYW0pOworCisJaWYgKHN0YXR1cyA+PSAwICYmIG9pLT5jb250ZW50cCkKKwkJKm9pLT5jb250ZW50cCA9IHVucGFja19zaGExX3Jlc3QoJnN0cmVhbSwgaGRyLAorCQkJCQkJICpvaS0+c2l6ZXAsIHNoYTEpOworCWVsc2UKKwkJZ2l0X2luZmxhdGVfZW5kKCZzdHJlYW0pOworCiAJbXVubWFwKG1hcCwgbWFwc2l6ZSk7CiAJaWYgKHN0YXR1cyAmJiBvaS0+dHlwZXApCiAJCSpvaS0+dHlwZXAgPSBzdGF0dXM7CisJaWYgKG9pLT5zaXplcCA9PSAmc2l6ZV9zY3JhdGNoKQorCQlvaS0+c2l6ZXAgPSBOVUxMOwogCXN0cmJ1Zl9yZWxlYXNlKCZoZHJidWYpOwotCXJldHVybiAwOworCW9pLT53aGVuY2UgPSBPSV9MT09TRTsKKwlyZXR1cm4gKHN0YXR1cyA8IDApID8gc3RhdHVzIDogMDsKIH0KIAogaW50IHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IG9iamVjdF9pbmZvICpvaSwgdW5zaWduZWQgZmxhZ3MpCiB7Ci0Jc3RydWN0IGNhY2hlZF9vYmplY3QgKmNvOworCXN0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2luZm8gYmxhbmtfb2kgPSBPQkpFQ1RfSU5GT19JTklUOwogCXN0cnVjdCBwYWNrX2VudHJ5IGU7CiAJaW50IHJ0eXBlOwotCWVudW0gb2JqZWN0X3R5cGUgcmVhbF90eXBlOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlYWwgPSBsb29rdXBfcmVwbGFjZV9vYmplY3RfZXh0ZW5kZWQoc2hhMSwgZmxhZ3MpOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlYWwgPSAoZmxhZ3MgJiBPQkpFQ1RfSU5GT19MT09LVVBfUkVQTEFDRSkgPworCQkJCSAgICBsb29rdXBfcmVwbGFjZV9vYmplY3Qoc2hhMSkgOgorCQkJCSAgICBzaGExOwogCi0JY28gPSBmaW5kX2NhY2hlZF9vYmplY3QocmVhbCk7Ci0JaWYgKGNvKSB7Ci0JCWlmIChvaS0+dHlwZXApCi0JCQkqKG9pLT50eXBlcCkgPSBjby0+dHlwZTsKLQkJaWYgKG9pLT5zaXplcCkKLQkJCSoob2ktPnNpemVwKSA9IGNvLT5zaXplOwotCQlpZiAob2ktPmRpc2tfc2l6ZXApCi0JCQkqKG9pLT5kaXNrX3NpemVwKSA9IDA7Ci0JCWlmIChvaS0+ZGVsdGFfYmFzZV9zaGExKQotCQkJaGFzaGNscihvaS0+ZGVsdGFfYmFzZV9zaGExKTsKLQkJaWYgKG9pLT50eXBlbmFtZSkKLQkJCXN0cmJ1Zl9hZGRzdHIob2ktPnR5cGVuYW1lLCB0eXBlbmFtZShjby0+dHlwZSkpOwotCQlvaS0+d2hlbmNlID0gT0lfQ0FDSEVEOwotCQlyZXR1cm4gMDsKKwlpZiAoIW9pKQorCQlvaSA9ICZibGFua19vaTsKKworCWlmICghKGZsYWdzICYgT0JKRUNUX0lORk9fU0tJUF9DQUNIRUQpKSB7CisJCXN0cnVjdCBjYWNoZWRfb2JqZWN0ICpjbyA9IGZpbmRfY2FjaGVkX29iamVjdChyZWFsKTsKKwkJaWYgKGNvKSB7CisJCQlpZiAob2ktPnR5cGVwKQorCQkJCSoob2ktPnR5cGVwKSA9IGNvLT50eXBlOworCQkJaWYgKG9pLT5zaXplcCkKKwkJCQkqKG9pLT5zaXplcCkgPSBjby0+c2l6ZTsKKwkJCWlmIChvaS0+ZGlza19zaXplcCkKKwkJCQkqKG9pLT5kaXNrX3NpemVwKSA9IDA7CisJCQlpZiAob2ktPmRlbHRhX2Jhc2Vfc2hhMSkKKwkJCQloYXNoY2xyKG9pLT5kZWx0YV9iYXNlX3NoYTEpOworCQkJaWYgKG9pLT50eXBlbmFtZSkKKwkJCQlzdHJidWZfYWRkc3RyKG9pLT50eXBlbmFtZSwgdHlwZW5hbWUoY28tPnR5cGUpKTsKKwkJCWlmIChvaS0+Y29udGVudHApCisJCQkJKm9pLT5jb250ZW50cCA9IHhtZW1kdXB6KGNvLT5idWYsIGNvLT5zaXplKTsKKwkJCW9pLT53aGVuY2UgPSBPSV9DQUNIRUQ7CisJCQlyZXR1cm4gMDsKKwkJfQogCX0KIAogCWlmICghZmluZF9wYWNrX2VudHJ5KHJlYWwsICZlKSkgewogCQkvKiBNb3N0IGxpa2VseSBpdCdzIGEgbG9vc2Ugb2JqZWN0LiAqLwotCQlpZiAoIXNoYTFfbG9vc2Vfb2JqZWN0X2luZm8ocmVhbCwgb2ksIGZsYWdzKSkgewotCQkJb2ktPndoZW5jZSA9IE9JX0xPT1NFOworCQlpZiAoIXNoYTFfbG9vc2Vfb2JqZWN0X2luZm8ocmVhbCwgb2ksIGZsYWdzKSkKIAkJCXJldHVybiAwOwotCQl9CiAKIAkJLyogTm90IGEgbG9vc2Ugb2JqZWN0OyBzb21lb25lIGVsc2UgbWF5IGhhdmUganVzdCBwYWNrZWQgaXQuICovCi0JCXJlcHJlcGFyZV9wYWNrZWRfZ2l0KCk7Ci0JCWlmICghZmluZF9wYWNrX2VudHJ5KHJlYWwsICZlKSkKKwkJaWYgKGZsYWdzICYgT0JKRUNUX0lORk9fUVVJQ0spIHsKIAkJCXJldHVybiAtMTsKKwkJfSBlbHNlIHsKKwkJCXJlcHJlcGFyZV9wYWNrZWRfZ2l0KCk7CisJCQlpZiAoIWZpbmRfcGFja19lbnRyeShyZWFsLCAmZSkpCisJCQkJcmV0dXJuIC0xOworCQl9CiAJfQogCi0JLyoKLQkgKiBwYWNrZWRfb2JqZWN0X2luZm8oKSBkb2VzIG5vdCBmb2xsb3cgdGhlIGRlbHRhIGNoYWluIHRvCi0JICogZmluZCBvdXQgdGhlIHJlYWwgdHlwZSwgdW5sZXNzIGl0IGlzIGdpdmVuIG9pLT50eXBlcC4KLQkgKi8KLQlpZiAob2ktPnR5cGVuYW1lICYmICFvaS0+dHlwZXApCi0JCW9pLT50eXBlcCA9ICZyZWFsX3R5cGU7CisJaWYgKG9pID09ICZibGFua19vaSkKKwkJLyoKKwkJICogV2Uga25vdyB0aGF0IHRoZSBjYWxsZXIgZG9lc24ndCBhY3R1YWxseSBuZWVkIHRoZQorCQkgKiBpbmZvcm1hdGlvbiBiZWxvdywgc28gcmV0dXJuIGVhcmx5LgorCQkgKi8KKwkJcmV0dXJuIDA7CiAKIAlydHlwZSA9IHBhY2tlZF9vYmplY3RfaW5mbyhlLnAsIGUub2Zmc2V0LCBvaSk7CiAJaWYgKHJ0eXBlIDwgMCkgewogCQltYXJrX2JhZF9wYWNrZWRfb2JqZWN0KGUucCwgcmVhbCk7Ci0JCWlmIChvaS0+dHlwZXAgPT0gJnJlYWxfdHlwZSkKLQkJCW9pLT50eXBlcCA9IE5VTEw7CiAJCXJldHVybiBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKHJlYWwsIG9pLCAwKTsKLQl9IGVsc2UgaWYgKGluX2RlbHRhX2Jhc2VfY2FjaGUoZS5wLCBlLm9mZnNldCkpIHsKLQkJb2ktPndoZW5jZSA9IE9JX0RCQ0FDSEVEOwotCX0gZWxzZSB7Ci0JCW9pLT53aGVuY2UgPSBPSV9QQUNLRUQ7CisJfSBlbHNlIGlmIChvaS0+d2hlbmNlID09IE9JX1BBQ0tFRCkgewogCQlvaS0+dS5wYWNrZWQub2Zmc2V0ID0gZS5vZmZzZXQ7CiAJCW9pLT51LnBhY2tlZC5wYWNrID0gZS5wOwogCQlvaS0+dS5wYWNrZWQuaXNfZGVsdGEgPSAocnR5cGUgPT0gT0JKX1JFRl9ERUxUQSB8fAogCQkJCQkgcnR5cGUgPT0gT0JKX09GU19ERUxUQSk7CiAJfQotCWlmIChvaS0+dHlwZW5hbWUpCi0JCXN0cmJ1Zl9hZGRzdHIob2ktPnR5cGVuYW1lLCB0eXBlbmFtZSgqb2ktPnR5cGVwKSk7Ci0JaWYgKG9pLT50eXBlcCA9PSAmcmVhbF90eXBlKQotCQlvaS0+dHlwZXAgPSBOVUxMOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0yOTQ1LDMzICsxMjE2LDI0IEBACiAKIAlvaS50eXBlcCA9ICZ0eXBlOwogCW9pLnNpemVwID0gc2l6ZXA7Ci0JaWYgKHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoc2hhMSwgJm9pLCBMT09LVVBfUkVQTEFDRV9PQkpFQ1QpIDwgMCkKKwlpZiAoc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZChzaGExLCAmb2ksCisJCQkJICAgICAgT0JKRUNUX0lORk9fTE9PS1VQX1JFUExBQ0UpIDwgMCkKIAkJcmV0dXJuIC0xOwogCXJldHVybiB0eXBlOwogfQogCi1zdGF0aWMgdm9pZCAqcmVhZF9wYWNrZWRfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJICAgICAgZW51bSBvYmplY3RfdHlwZSAqdHlwZSwgdW5zaWduZWQgbG9uZyAqc2l6ZSkKK3N0YXRpYyB2b2lkICpyZWFkX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLAorCQkJIHVuc2lnbmVkIGxvbmcgKnNpemUpCiB7Ci0Jc3RydWN0IHBhY2tfZW50cnkgZTsKLQl2b2lkICpkYXRhOworCXN0cnVjdCBvYmplY3RfaW5mbyBvaSA9IE9CSkVDVF9JTkZPX0lOSVQ7CisJdm9pZCAqY29udGVudDsKKwlvaS50eXBlcCA9IHR5cGU7CisJb2kuc2l6ZXAgPSBzaXplOworCW9pLmNvbnRlbnRwID0gJmNvbnRlbnQ7CiAKLQlpZiAoIWZpbmRfcGFja19lbnRyeShzaGExLCAmZSkpCisJaWYgKHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoc2hhMSwgJm9pLCAwKSA8IDApCiAJCXJldHVybiBOVUxMOwotCWRhdGEgPSBjYWNoZV9vcl91bnBhY2tfZW50cnkoZS5wLCBlLm9mZnNldCwgc2l6ZSwgdHlwZSk7Ci0JaWYgKCFkYXRhKSB7Ci0JCS8qCi0JCSAqIFdlJ3JlIHByb2JhYmx5IGluIGRlZXAgc2hpdCwgYnV0IGxldCdzIHRyeSB0byBmZXRjaAotCQkgKiB0aGUgcmVxdWlyZWQgb2JqZWN0IGFueXdheSBmcm9tIGFub3RoZXIgcGFjayBvciBsb29zZS4KLQkJICogVGhpcyBzaG91bGQgaGFwcGVuIG9ubHkgaW4gdGhlIHByZXNlbmNlIG9mIGEgY29ycnVwdGVkCi0JCSAqIHBhY2ssIGFuZCBpcyBiZXR0ZXIgdGhhbiBmYWlsaW5nIG91dHJpZ2h0LgotCQkgKi8KLQkJZXJyb3IoImZhaWxlZCB0byByZWFkIG9iamVjdCAlcyBhdCBvZmZzZXQgJSJQUkl1TUFYIiBmcm9tICVzIiwKLQkJICAgICAgc2hhMV90b19oZXgoc2hhMSksICh1aW50bWF4X3QpZS5vZmZzZXQsIGUucC0+cGFja19uYW1lKTsKLQkJbWFya19iYWRfcGFja2VkX29iamVjdChlLnAsIHNoYTEpOwotCQlkYXRhID0gcmVhZF9vYmplY3Qoc2hhMSwgdHlwZSwgc2l6ZSk7Ci0JfQotCXJldHVybiBkYXRhOworCXJldHVybiBjb250ZW50OwogfQogCiBpbnQgcHJldGVuZF9zaGExX2ZpbGUodm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIGxlbiwgZW51bSBvYmplY3RfdHlwZSB0eXBlLApAQCAtMjk5MiwzMyArMTI1NCw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkICpyZWFkX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLAotCQkJIHVuc2lnbmVkIGxvbmcgKnNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyBtYXBzaXplOwotCXZvaWQgKm1hcCwgKmJ1ZjsKLQlzdHJ1Y3QgY2FjaGVkX29iamVjdCAqY287Ci0KLQljbyA9IGZpbmRfY2FjaGVkX29iamVjdChzaGExKTsKLQlpZiAoY28pIHsKLQkJKnR5cGUgPSBjby0+dHlwZTsKLQkJKnNpemUgPSBjby0+c2l6ZTsKLQkJcmV0dXJuIHhtZW1kdXB6KGNvLT5idWYsIGNvLT5zaXplKTsKLQl9Ci0KLQlidWYgPSByZWFkX3BhY2tlZF9zaGExKHNoYTEsIHR5cGUsIHNpemUpOwotCWlmIChidWYpCi0JCXJldHVybiBidWY7Ci0JbWFwID0gbWFwX3NoYTFfZmlsZShzaGExLCAmbWFwc2l6ZSk7Ci0JaWYgKG1hcCkgewotCQlidWYgPSB1bnBhY2tfc2hhMV9maWxlKG1hcCwgbWFwc2l6ZSwgdHlwZSwgc2l6ZSwgc2hhMSk7Ci0JCW11bm1hcChtYXAsIG1hcHNpemUpOwotCQlyZXR1cm4gYnVmOwotCX0KLQlyZXByZXBhcmVfcGFja2VkX2dpdCgpOwotCXJldHVybiByZWFkX3BhY2tlZF9zaGExKHNoYTEsIHR5cGUsIHNpemUpOwotfQotCiAvKgogICogVGhpcyBmdW5jdGlvbiBkaWVzIG9uIGNvcnJ1cHQgb2JqZWN0czsgdGhlIGNhbGxlcnMgd2hvIHdhbnQgdG8KICAqIGRlYWwgd2l0aCB0aGVtIHNob3VsZCBhcnJhbmdlIHRvIGNhbGwgcmVhZF9vYmplY3QoKSBhbmQgZ2l2ZSBlcnJvcgpAQCAtMzAyNywxMyArMTI2MiwxNCBAQAogdm9pZCAqcmVhZF9zaGExX2ZpbGVfZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKIAkJCSAgICAgIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsCiAJCQkgICAgICB1bnNpZ25lZCBsb25nICpzaXplLAotCQkJICAgICAgdW5zaWduZWQgZmxhZykKKwkJCSAgICAgIGludCBsb29rdXBfcmVwbGFjZSkKIHsKIAl2b2lkICpkYXRhOwogCWNvbnN0IHN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCWNvbnN0IGNoYXIgKnBhdGg7CiAJc3RydWN0IHN0YXQgc3Q7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqcmVwbCA9IGxvb2t1cF9yZXBsYWNlX29iamVjdF9leHRlbmRlZChzaGExLCBmbGFnKTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpyZXBsID0gbG9va3VwX3JlcGxhY2UgPyBsb29rdXBfcmVwbGFjZV9vYmplY3Qoc2hhMSkKKwkJCQkJCSAgIDogc2hhMTsKIAogCWVycm5vID0gMDsKIAlkYXRhID0gcmVhZF9vYmplY3QocmVwbCwgdHlwZSwgc2l6ZSk7CkBAIC0zMzM2LDcgKzE1NzIsNyBAQAogfQogCiBpbnQgaGFzaF9zaGExX2ZpbGVfbGl0ZXJhbGx5KGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4sIGNvbnN0IGNoYXIgKnR5cGUsCi0JCQkgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGZsYWdzKQorCQkJICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIGZsYWdzKQogewogCWNoYXIgKmhlYWRlcjsKIAlpbnQgaGRybGVuLCBzdGF0dXMgPSAwOwpAQCAtMzM0NCwxMyArMTU4MCwxMyBAQAogCS8qIHR5cGUgc3RyaW5nLCBTUCwgJWx1IG9mIHRoZSBsZW5ndGggcGx1cyBOVUwgbXVzdCBmaXQgdGhpcyAqLwogCWhkcmxlbiA9IHN0cmxlbih0eXBlKSArIDMyOwogCWhlYWRlciA9IHhtYWxsb2MoaGRybGVuKTsKLQl3cml0ZV9zaGExX2ZpbGVfcHJlcGFyZShidWYsIGxlbiwgdHlwZSwgc2hhMSwgaGVhZGVyLCAmaGRybGVuKTsKKwl3cml0ZV9zaGExX2ZpbGVfcHJlcGFyZShidWYsIGxlbiwgdHlwZSwgb2lkLT5oYXNoLCBoZWFkZXIsICZoZHJsZW4pOwogCiAJaWYgKCEoZmxhZ3MgJiBIQVNIX1dSSVRFX09CSkVDVCkpCiAJCWdvdG8gY2xlYW51cDsKLQlpZiAoZnJlc2hlbl9wYWNrZWRfb2JqZWN0KHNoYTEpIHx8IGZyZXNoZW5fbG9vc2Vfb2JqZWN0KHNoYTEpKQorCWlmIChmcmVzaGVuX3BhY2tlZF9vYmplY3Qob2lkLT5oYXNoKSB8fCBmcmVzaGVuX2xvb3NlX29iamVjdChvaWQtPmhhc2gpKQogCQlnb3RvIGNsZWFudXA7Ci0Jc3RhdHVzID0gd3JpdGVfbG9vc2Vfb2JqZWN0KHNoYTEsIGhlYWRlciwgaGRybGVuLCBidWYsIGxlbiwgMCk7CisJc3RhdHVzID0gd3JpdGVfbG9vc2Vfb2JqZWN0KG9pZC0+aGFzaCwgaGVhZGVyLCBoZHJsZW4sIGJ1ZiwgbGVuLCAwKTsKIAogY2xlYW51cDoKIAlmcmVlKGhlYWRlcik7CkBAIC0zMzY4LDcgKzE2MDQsNyBAQAogCiAJaWYgKGhhc19sb29zZV9vYmplY3Qoc2hhMSkpCiAJCXJldHVybiAwOwotCWJ1ZiA9IHJlYWRfcGFja2VkX3NoYTEoc2hhMSwgJnR5cGUsICZsZW4pOworCWJ1ZiA9IHJlYWRfb2JqZWN0KHNoYTEsICZ0eXBlLCAmbGVuKTsKIAlpZiAoIWJ1ZikKIAkJcmV0dXJuIGVycm9yKCJjYW5ub3QgcmVhZCBzaGExX2ZpbGUgZm9yICVzIiwgc2hhMV90b19oZXgoc2hhMSkpOwogCWhkcmxlbiA9IHhzbnByaW50ZihoZHIsIHNpemVvZihoZHIpLCAiJXMgJWx1IiwgdHlwZW5hbWUodHlwZSksIGxlbikgKyAxOwpAQCAtMzM3OCwzMiArMTYxNCwxMiBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBoYXNfcGFja19pbmRleChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQotewotCXN0cnVjdCBzdGF0IHN0OwotCWlmIChzdGF0KHNoYTFfcGFja19pbmRleF9uYW1lKHNoYTEpLCAmc3QpKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gMTsKLX0KLQotaW50IGhhc19zaGExX3BhY2soY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKLXsKLQlzdHJ1Y3QgcGFja19lbnRyeSBlOwotCXJldHVybiBmaW5kX3BhY2tfZW50cnkoc2hhMSwgJmUpOwotfQotCiBpbnQgaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBmbGFncykKIHsKLQlzdHJ1Y3QgcGFja19lbnRyeSBlOwotCi0JaWYgKGZpbmRfcGFja19lbnRyeShzaGExLCAmZSkpCi0JCXJldHVybiAxOwotCWlmIChoYXNfbG9vc2Vfb2JqZWN0KHNoYTEpKQotCQlyZXR1cm4gMTsKLQlpZiAoZmxhZ3MgJiBIQVNfU0hBMV9RVUlDSykKKwlpZiAoIXN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5KQogCQlyZXR1cm4gMDsKLQlyZXByZXBhcmVfcGFja2VkX2dpdCgpOwotCXJldHVybiBmaW5kX3BhY2tfZW50cnkoc2hhMSwgJmUpOworCXJldHVybiBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKHNoYTEsIE5VTEwsCisJCQkJCSBmbGFncyB8IE9CSkVDVF9JTkZPX1NLSVBfQ0FDSEVEKSA+PSAwOwogfQogCiBpbnQgaGFzX29iamVjdF9maWxlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKQEAgLTM0NTksNyArMTY3NSw3IEBACiAJICovCiAJaWYgKCh0eXBlID09IE9CSl9CTE9CKSAmJiBwYXRoKSB7CiAJCXN0cnVjdCBzdHJidWYgbmJ1ZiA9IFNUUkJVRl9JTklUOwotCQlpZiAoY29udmVydF90b19naXQocGF0aCwgYnVmLCBzaXplLCAmbmJ1ZiwKKwkJaWYgKGNvbnZlcnRfdG9fZ2l0KCZ0aGVfaW5kZXgsIHBhdGgsIGJ1Ziwgc2l6ZSwgJm5idWYsCiAJCQkJICAgd3JpdGVfb2JqZWN0ID8gc2FmZV9jcmxmIDogU0FGRV9DUkxGX0ZBTFNFKSkgewogCQkJYnVmID0gc3RyYnVmX2RldGFjaCgmbmJ1ZiwgJnNpemUpOwogCQkJcmVfYWxsb2NhdGVkID0gMTsKQEAgLTM0OTMsNyArMTcwOSw3IEBACiAJYXNzZXJ0KHBhdGgpOwogCWFzc2VydCh3b3VsZF9jb252ZXJ0X3RvX2dpdF9maWx0ZXJfZmQocGF0aCkpOwogCi0JY29udmVydF90b19naXRfZmlsdGVyX2ZkKHBhdGgsIGZkLCAmc2J1ZiwKKwljb252ZXJ0X3RvX2dpdF9maWx0ZXJfZmQoJnRoZV9pbmRleCwgcGF0aCwgZmQsICZzYnVmLAogCQkJCSB3cml0ZV9vYmplY3QgPyBzYWZlX2NybGYgOiBTQUZFX0NSTEZfRkFMU0UpOwogCiAJaWYgKHdyaXRlX29iamVjdCkKQEAgLTM1MzIsMTAgKzE3NDgsMTUgQEAKIAkJcmV0ID0gaW5kZXhfbWVtKHNoYTEsICIiLCBzaXplLCB0eXBlLCBwYXRoLCBmbGFncyk7CiAJfSBlbHNlIGlmIChzaXplIDw9IFNNQUxMX0ZJTEVfU0laRSkgewogCQljaGFyICpidWYgPSB4bWFsbG9jKHNpemUpOwotCQlpZiAoc2l6ZSA9PSByZWFkX2luX2Z1bGwoZmQsIGJ1Ziwgc2l6ZSkpCi0JCQlyZXQgPSBpbmRleF9tZW0oc2hhMSwgYnVmLCBzaXplLCB0eXBlLCBwYXRoLCBmbGFncyk7CisJCXNzaXplX3QgcmVhZF9yZXN1bHQgPSByZWFkX2luX2Z1bGwoZmQsIGJ1Ziwgc2l6ZSk7CisJCWlmIChyZWFkX3Jlc3VsdCA8IDApCisJCQlyZXQgPSBlcnJvcl9lcnJubygicmVhZCBlcnJvciB3aGlsZSBpbmRleGluZyAlcyIsCisJCQkJCSAgcGF0aCA/IHBhdGggOiAiPHVua25vd24+Iik7CisJCWVsc2UgaWYgKHJlYWRfcmVzdWx0ICE9IHNpemUpCisJCQlyZXQgPSBlcnJvcigic2hvcnQgcmVhZCB3aGlsZSBpbmRleGluZyAlcyIsCisJCQkJICAgIHBhdGggPyBwYXRoIDogIjx1bmtub3duPiIpOwogCQllbHNlCi0JCQlyZXQgPSBlcnJvcl9lcnJubygic2hvcnQgcmVhZCIpOworCQkJcmV0ID0gaW5kZXhfbWVtKHNoYTEsIGJ1Ziwgc2l6ZSwgdHlwZSwgcGF0aCwgZmxhZ3MpOwogCQlmcmVlKGJ1Zik7CiAJfSBlbHNlIHsKIAkJdm9pZCAqYnVmID0geG1tYXAoTlVMTCwgc2l6ZSwgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOwpAQCAtMzU2MCwxNCArMTc4MSwxNCBAQAogICogYmluYXJ5IGJsb2JzLCB0aGV5IGdlbmVyYWxseSBkbyBub3Qgd2FudCB0byBnZXQgYW55IGNvbnZlcnNpb24sIGFuZAogICogY2FsbGVycyBzaG91bGQgYXZvaWQgdGhpcyBjb2RlIHBhdGggd2hlbiBmaWx0ZXJzIGFyZSByZXF1ZXN0ZWQuCiAgKi8KLXN0YXRpYyBpbnQgaW5kZXhfc3RyZWFtKHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBmZCwgc2l6ZV90IHNpemUsCitzdGF0aWMgaW50IGluZGV4X3N0cmVhbShzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmZCwgc2l6ZV90IHNpemUsCiAJCQllbnVtIG9iamVjdF90eXBlIHR5cGUsIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQl1bnNpZ25lZCBmbGFncykKIHsKLQlyZXR1cm4gaW5kZXhfYnVsa19jaGVja2luKHNoYTEsIGZkLCBzaXplLCB0eXBlLCBwYXRoLCBmbGFncyk7CisJcmV0dXJuIGluZGV4X2J1bGtfY2hlY2tpbihvaWQtPmhhc2gsIGZkLCBzaXplLCB0eXBlLCBwYXRoLCBmbGFncyk7CiB9CiAKLWludCBpbmRleF9mZCh1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgZmQsIHN0cnVjdCBzdGF0ICpzdCwKK2ludCBpbmRleF9mZChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmZCwgc3RydWN0IHN0YXQgKnN0LAogCSAgICAgZW51bSBvYmplY3RfdHlwZSB0eXBlLCBjb25zdCBjaGFyICpwYXRoLCB1bnNpZ25lZCBmbGFncykKIHsKIAlpbnQgcmV0OwpAQCAtMzU3NywzMSArMTc5OCwzMiBAQAogCSAqIGRpZSgpIGZvciBsYXJnZSBmaWxlcy4KIAkgKi8KIAlpZiAodHlwZSA9PSBPQkpfQkxPQiAmJiBwYXRoICYmIHdvdWxkX2NvbnZlcnRfdG9fZ2l0X2ZpbHRlcl9mZChwYXRoKSkKLQkJcmV0ID0gaW5kZXhfc3RyZWFtX2NvbnZlcnRfYmxvYihzaGExLCBmZCwgcGF0aCwgZmxhZ3MpOworCQlyZXQgPSBpbmRleF9zdHJlYW1fY29udmVydF9ibG9iKG9pZC0+aGFzaCwgZmQsIHBhdGgsIGZsYWdzKTsKIAllbHNlIGlmICghU19JU1JFRyhzdC0+c3RfbW9kZSkpCi0JCXJldCA9IGluZGV4X3BpcGUoc2hhMSwgZmQsIHR5cGUsIHBhdGgsIGZsYWdzKTsKKwkJcmV0ID0gaW5kZXhfcGlwZShvaWQtPmhhc2gsIGZkLCB0eXBlLCBwYXRoLCBmbGFncyk7CiAJZWxzZSBpZiAoc3QtPnN0X3NpemUgPD0gYmlnX2ZpbGVfdGhyZXNob2xkIHx8IHR5cGUgIT0gT0JKX0JMT0IgfHwKLQkJIChwYXRoICYmIHdvdWxkX2NvbnZlcnRfdG9fZ2l0KHBhdGgpKSkKLQkJcmV0ID0gaW5kZXhfY29yZShzaGExLCBmZCwgeHNpemVfdChzdC0+c3Rfc2l6ZSksIHR5cGUsIHBhdGgsCisJCSAocGF0aCAmJiB3b3VsZF9jb252ZXJ0X3RvX2dpdCgmdGhlX2luZGV4LCBwYXRoKSkpCisJCXJldCA9IGluZGV4X2NvcmUob2lkLT5oYXNoLCBmZCwgeHNpemVfdChzdC0+c3Rfc2l6ZSksIHR5cGUsIHBhdGgsCiAJCQkJIGZsYWdzKTsKIAllbHNlCi0JCXJldCA9IGluZGV4X3N0cmVhbShzaGExLCBmZCwgeHNpemVfdChzdC0+c3Rfc2l6ZSksIHR5cGUsIHBhdGgsCisJCXJldCA9IGluZGV4X3N0cmVhbShvaWQsIGZkLCB4c2l6ZV90KHN0LT5zdF9zaXplKSwgdHlwZSwgcGF0aCwKIAkJCQkgICBmbGFncyk7CiAJY2xvc2UoZmQpOwogCXJldHVybiByZXQ7CiB9CiAKLWludCBpbmRleF9wYXRoKHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpzdCwgdW5zaWduZWQgZmxhZ3MpCitpbnQgaW5kZXhfcGF0aChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpzdCwgdW5zaWduZWQgZmxhZ3MpCiB7CiAJaW50IGZkOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwlpbnQgcmMgPSAwOwogCiAJc3dpdGNoIChzdC0+c3RfbW9kZSAmIFNfSUZNVCkgewogCWNhc2UgU19JRlJFRzoKIAkJZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZKTsKIAkJaWYgKGZkIDwgMCkKIAkJCXJldHVybiBlcnJvcl9lcnJubygib3BlbihcIiVzXCIpIiwgcGF0aCk7Ci0JCWlmIChpbmRleF9mZChzaGExLCBmZCwgc3QsIE9CSl9CTE9CLCBwYXRoLCBmbGFncykgPCAwKQorCQlpZiAoaW5kZXhfZmQob2lkLCBmZCwgc3QsIE9CSl9CTE9CLCBwYXRoLCBmbGFncykgPCAwKQogCQkJcmV0dXJuIGVycm9yKCIlczogZmFpbGVkIHRvIGluc2VydCBpbnRvIGRhdGFiYXNlIiwKIAkJCQkgICAgIHBhdGgpOwogCQlicmVhazsKQEAgLTM2MDksMjMgKzE4MzEsMjIgQEAKIAkJaWYgKHN0cmJ1Zl9yZWFkbGluaygmc2IsIHBhdGgsIHN0LT5zdF9zaXplKSkKIAkJCXJldHVybiBlcnJvcl9lcnJubygicmVhZGxpbmsoXCIlc1wiKSIsIHBhdGgpOwogCQlpZiAoIShmbGFncyAmIEhBU0hfV1JJVEVfT0JKRUNUKSkKLQkJCWhhc2hfc2hhMV9maWxlKHNiLmJ1Ziwgc2IubGVuLCBibG9iX3R5cGUsIHNoYTEpOwotCQllbHNlIGlmICh3cml0ZV9zaGExX2ZpbGUoc2IuYnVmLCBzYi5sZW4sIGJsb2JfdHlwZSwgc2hhMSkpCi0JCQlyZXR1cm4gZXJyb3IoIiVzOiBmYWlsZWQgdG8gaW5zZXJ0IGludG8gZGF0YWJhc2UiLAotCQkJCSAgICAgcGF0aCk7CisJCQloYXNoX3NoYTFfZmlsZShzYi5idWYsIHNiLmxlbiwgYmxvYl90eXBlLCBvaWQtPmhhc2gpOworCQllbHNlIGlmICh3cml0ZV9zaGExX2ZpbGUoc2IuYnVmLCBzYi5sZW4sIGJsb2JfdHlwZSwgb2lkLT5oYXNoKSkKKwkJCXJjID0gZXJyb3IoIiVzOiBmYWlsZWQgdG8gaW5zZXJ0IGludG8gZGF0YWJhc2UiLCBwYXRoKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAkJYnJlYWs7CiAJY2FzZSBTX0lGRElSOgotCQlyZXR1cm4gcmVzb2x2ZV9naXRsaW5rX3JlZihwYXRoLCAiSEVBRCIsIHNoYTEpOworCQlyZXR1cm4gcmVzb2x2ZV9naXRsaW5rX3JlZihwYXRoLCAiSEVBRCIsIG9pZC0+aGFzaCk7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIGVycm9yKCIlczogdW5zdXBwb3J0ZWQgZmlsZSB0eXBlIiwgcGF0aCk7CiAJfQotCXJldHVybiAwOworCXJldHVybiByYzsKIH0KIAogaW50IHJlYWRfcGFja19oZWFkZXIoaW50IGZkLCBzdHJ1Y3QgcGFja19oZWFkZXIgKmhlYWRlcikKIHsKLQlpZiAocmVhZF9pbl9mdWxsKGZkLCBoZWFkZXIsIHNpemVvZigqaGVhZGVyKSkgPCBzaXplb2YoKmhlYWRlcikpCisJaWYgKHJlYWRfaW5fZnVsbChmZCwgaGVhZGVyLCBzaXplb2YoKmhlYWRlcikpICE9IHNpemVvZigqaGVhZGVyKSkKIAkJLyogImVvZiBiZWZvcmUgcGFjayBoZWFkZXIgd2FzIGZ1bGx5IHJlYWQiICovCiAJCXJldHVybiBQSF9FUlJPUl9FT0Y7CiAKQEAgLTM2NDgsMjIgKzE4NjksMzIgQEAKIAkJICAgIHR5cGVuYW1lKGV4cGVjdCkpOwogfQogCi1zdGF0aWMgaW50IGZvcl9lYWNoX2ZpbGVfaW5fb2JqX3N1YmRpcihpbnQgc3ViZGlyX25yLAotCQkJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICpwYXRoLAotCQkJCSAgICAgICBlYWNoX2xvb3NlX29iamVjdF9mbiBvYmpfY2IsCi0JCQkJICAgICAgIGVhY2hfbG9vc2VfY3J1ZnRfZm4gY3J1ZnRfY2IsCi0JCQkJICAgICAgIGVhY2hfbG9vc2Vfc3ViZGlyX2ZuIHN1YmRpcl9jYiwKLQkJCQkgICAgICAgdm9pZCAqZGF0YSkKK2ludCBmb3JfZWFjaF9maWxlX2luX29ial9zdWJkaXIodW5zaWduZWQgaW50IHN1YmRpcl9uciwKKwkJCQlzdHJ1Y3Qgc3RyYnVmICpwYXRoLAorCQkJCWVhY2hfbG9vc2Vfb2JqZWN0X2ZuIG9ial9jYiwKKwkJCQllYWNoX2xvb3NlX2NydWZ0X2ZuIGNydWZ0X2NiLAorCQkJCWVhY2hfbG9vc2Vfc3ViZGlyX2ZuIHN1YmRpcl9jYiwKKwkJCQl2b2lkICpkYXRhKQogewotCXNpemVfdCBiYXNlbGVuID0gcGF0aC0+bGVuOwotCURJUiAqZGlyID0gb3BlbmRpcihwYXRoLT5idWYpOworCXNpemVfdCBvcmlnbGVuLCBiYXNlbGVuOworCURJUiAqZGlyOwogCXN0cnVjdCBkaXJlbnQgKmRlOwogCWludCByID0gMDsKIAorCWlmIChzdWJkaXJfbnIgPiAweGZmKQorCQlCVUcoImludmFsaWQgbG9vc2Ugb2JqZWN0IHN1YmRpcmVjdG9yeTogJXgiLCBzdWJkaXJfbnIpOworCisJb3JpZ2xlbiA9IHBhdGgtPmxlbjsKKwlzdHJidWZfY29tcGxldGUocGF0aCwgJy8nKTsKKwlzdHJidWZfYWRkZihwYXRoLCAiJTAyeCIsIHN1YmRpcl9ucik7CisJYmFzZWxlbiA9IHBhdGgtPmxlbjsKKworCWRpciA9IG9wZW5kaXIocGF0aC0+YnVmKTsKIAlpZiAoIWRpcikgewotCQlpZiAoZXJybm8gPT0gRU5PRU5UKQotCQkJcmV0dXJuIDA7Ci0JCXJldHVybiBlcnJvcl9lcnJubygidW5hYmxlIHRvIG9wZW4gJXMiLCBwYXRoLT5idWYpOworCQlpZiAoZXJybm8gIT0gRU5PRU5UKQorCQkJciA9IGVycm9yX2Vycm5vKCJ1bmFibGUgdG8gb3BlbiAlcyIsIHBhdGgtPmJ1Zik7CisJCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgb3JpZ2xlbik7CisJCXJldHVybiByOwogCX0KIAogCXdoaWxlICgoZGUgPSByZWFkZGlyKGRpcikpKSB7CkBAIC0zNjczLDE1ICsxOTA0LDE1IEBACiAJCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgYmFzZWxlbik7CiAJCXN0cmJ1Zl9hZGRmKHBhdGgsICIvJXMiLCBkZS0+ZF9uYW1lKTsKIAotCQlpZiAoc3RybGVuKGRlLT5kX25hbWUpID09IDM4KSAgewotCQkJY2hhciBoZXhbNDFdOwotCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJaWYgKHN0cmxlbihkZS0+ZF9uYW1lKSA9PSBHSVRfU0hBMV9IRVhTWiAtIDIpICB7CisJCQljaGFyIGhleFtHSVRfTUFYX0hFWFNaKzFdOworCQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKLQkJCXNucHJpbnRmKGhleCwgc2l6ZW9mKGhleCksICIlMDJ4JXMiLAotCQkJCSBzdWJkaXJfbnIsIGRlLT5kX25hbWUpOwotCQkJaWYgKCFnZXRfc2hhMV9oZXgoaGV4LCBzaGExKSkgeworCQkJeHNucHJpbnRmKGhleCwgc2l6ZW9mKGhleCksICIlMDJ4JXMiLAorCQkJCSAgc3ViZGlyX25yLCBkZS0+ZF9uYW1lKTsKKwkJCWlmICghZ2V0X29pZF9oZXgoaGV4LCAmb2lkKSkgewogCQkJCWlmIChvYmpfY2IpIHsKLQkJCQkJciA9IG9ial9jYihzaGExLCBwYXRoLT5idWYsIGRhdGEpOworCQkJCQlyID0gb2JqX2NiKCZvaWQsIHBhdGgtPmJ1ZiwgZGF0YSk7CiAJCQkJCWlmIChyKQogCQkJCQkJYnJlYWs7CiAJCQkJfQpAQCAtMzcwMSw2ICsxOTMyLDggQEAKIAlpZiAoIXIgJiYgc3ViZGlyX2NiKQogCQlyID0gc3ViZGlyX2NiKHN1YmRpcl9uciwgcGF0aC0+YnVmLCBkYXRhKTsKIAorCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgb3JpZ2xlbik7CisKIAlyZXR1cm4gcjsKIH0KIApAQCAtMzcxMCwxNSArMTk0MywxMiBAQAogCQkJICAgIGVhY2hfbG9vc2Vfc3ViZGlyX2ZuIHN1YmRpcl9jYiwKIAkJCSAgICB2b2lkICpkYXRhKQogewotCXNpemVfdCBiYXNlbGVuID0gcGF0aC0+bGVuOwogCWludCByID0gMDsKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgewotCQlzdHJidWZfYWRkZihwYXRoLCAiLyUwMngiLCBpKTsKIAkJciA9IGZvcl9lYWNoX2ZpbGVfaW5fb2JqX3N1YmRpcihpLCBwYXRoLCBvYmpfY2IsIGNydWZ0X2NiLAogCQkJCQkJc3ViZGlyX2NiLCBkYXRhKTsKLQkJc3RyYnVmX3NldGxlbihwYXRoLCBiYXNlbGVuKTsKIAkJaWYgKHIpCiAJCQlicmVhazsKIAl9CkBAIC0zNzgxLDQ2ICsyMDExLDYgQEAKIAlyZXR1cm4gZm9yZWFjaF9hbHRfb2RiKGxvb3NlX2Zyb21fYWx0X29kYiwgJmFsdCk7CiB9CiAKLXN0YXRpYyBpbnQgZm9yX2VhY2hfb2JqZWN0X2luX3BhY2soc3RydWN0IHBhY2tlZF9naXQgKnAsIGVhY2hfcGFja2VkX29iamVjdF9mbiBjYiwgdm9pZCAqZGF0YSkKLXsKLQl1aW50MzJfdCBpOwotCWludCByID0gMDsKLQotCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fb2JqZWN0czsgaSsrKSB7Ci0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEgPSBudGhfcGFja2VkX29iamVjdF9zaGExKHAsIGkpOwotCi0JCWlmICghc2hhMSkKLQkJCXJldHVybiBlcnJvcigidW5hYmxlIHRvIGdldCBzaGExIG9mIG9iamVjdCAldSBpbiAlcyIsCi0JCQkJICAgICBpLCBwLT5wYWNrX25hbWUpOwotCi0JCXIgPSBjYihzaGExLCBwLCBpLCBkYXRhKTsKLQkJaWYgKHIpCi0JCQlicmVhazsKLQl9Ci0JcmV0dXJuIHI7Ci19Ci0KLWludCBmb3JfZWFjaF9wYWNrZWRfb2JqZWN0KGVhY2hfcGFja2VkX29iamVjdF9mbiBjYiwgdm9pZCAqZGF0YSwgdW5zaWduZWQgZmxhZ3MpCi17Ci0Jc3RydWN0IHBhY2tlZF9naXQgKnA7Ci0JaW50IHIgPSAwOwotCWludCBwYWNrX2Vycm9ycyA9IDA7Ci0KLQlwcmVwYXJlX3BhY2tlZF9naXQoKTsKLQlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkgewotCQlpZiAoKGZsYWdzICYgRk9SX0VBQ0hfT0JKRUNUX0xPQ0FMX09OTFkpICYmICFwLT5wYWNrX2xvY2FsKQotCQkJY29udGludWU7Ci0JCWlmIChvcGVuX3BhY2tfaW5kZXgocCkpIHsKLQkJCXBhY2tfZXJyb3JzID0gMTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCXIgPSBmb3JfZWFjaF9vYmplY3RfaW5fcGFjayhwLCBjYiwgZGF0YSk7Ci0JCWlmIChyKQotCQkJYnJlYWs7Ci0JfQotCXJldHVybiByID8gciA6IHBhY2tfZXJyb3JzOwotfQotCiBzdGF0aWMgaW50IGNoZWNrX3N0cmVhbV9zaGExKGdpdF96c3RyZWFtICpzdHJlYW0sCiAJCQkgICAgIGNvbnN0IGNoYXIgKmhkciwKIAkJCSAgICAgdW5zaWduZWQgbG9uZyBzaXplLApAQCAtMzgyOCw3ICsyMDE4LDcgQEAKIAkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZXhwZWN0ZWRfc2hhMSkKIHsKIAlnaXRfU0hBX0NUWCBjOwotCXVuc2lnbmVkIGNoYXIgcmVhbF9zaGExW0dJVF9TSEExX1JBV1NaXTsKKwl1bnNpZ25lZCBjaGFyIHJlYWxfc2hhMVtHSVRfTUFYX1JBV1NaXTsKIAl1bnNpZ25lZCBjaGFyIGJ1Zls0MDk2XTsKIAl1bnNpZ25lZCBsb25nIHRvdGFsX3JlYWQ7CiAJaW50IHN0YXR1cyA9IFpfT0s7CkBAIC0zODg1LDcgKzIwNzUsNiBAQAogCQkgICAgICB2b2lkICoqY29udGVudHMpCiB7CiAJaW50IHJldCA9IC0xOwotCWludCBmZCA9IC0xOwogCXZvaWQgKm1hcCA9IE5VTEw7CiAJdW5zaWduZWQgbG9uZyBtYXBzaXplOwogCWdpdF96c3RyZWFtIHN0cmVhbTsKQEAgLTM5MzUsNyArMjEyNCw1IEBACiBvdXQ6CiAJaWYgKG1hcCkKIAkJbXVubWFwKG1hcCwgbWFwc2l6ZSk7Ci0JaWYgKGZkID49IDApCi0JCWNsb3NlKGZkKTsKIAlyZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvc2hhMV9uYW1lLmMgYi9zaGExX25hbWUuYwppbmRleCAyNmNlZWMxLi4xMzRhYzk3IDEwMDY0NAotLS0gYS9zaGExX25hbWUuYworKysgYi9zaGExX25hbWUuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInRhZy5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgInRyZWUuaCIKQEAgLTgsMTkgKzksMjAgQEAKICNpbmNsdWRlICJyZW1vdGUuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJzaGExLWFycmF5LmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAotc3RhdGljIGludCBnZXRfc2hhMV9vbmVsaW5lKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgY2hhciAqLCBzdHJ1Y3QgY29tbWl0X2xpc3QgKik7CitzdGF0aWMgaW50IGdldF9vaWRfb25lbGluZShjb25zdCBjaGFyICosIHN0cnVjdCBvYmplY3RfaWQgKiwgc3RydWN0IGNvbW1pdF9saXN0ICopOwogCi10eXBlZGVmIGludCAoKmRpc2FtYmlndWF0ZV9oaW50X2ZuKShjb25zdCB1bnNpZ25lZCBjaGFyICosIHZvaWQgKik7Cit0eXBlZGVmIGludCAoKmRpc2FtYmlndWF0ZV9oaW50X2ZuKShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIHZvaWQgKik7CiAKIHN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgewogCWludCBsZW47IC8qIGxlbmd0aCBvZiBwcmVmaXggaW4gaGV4IGNoYXJzICovCi0JY2hhciBoZXhfcGZ4W0dJVF9TSEExX0hFWFNaICsgMV07Ci0JdW5zaWduZWQgY2hhciBiaW5fcGZ4W0dJVF9TSEExX1JBV1NaXTsKKwljaGFyIGhleF9wZnhbR0lUX01BWF9IRVhTWiArIDFdOworCXN0cnVjdCBvYmplY3RfaWQgYmluX3BmeDsKIAogCWRpc2FtYmlndWF0ZV9oaW50X2ZuIGZuOwogCXZvaWQgKmNiX2RhdGE7Ci0JdW5zaWduZWQgY2hhciBjYW5kaWRhdGVbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBvYmplY3RfaWQgY2FuZGlkYXRlOwogCXVuc2lnbmVkIGNhbmRpZGF0ZV9leGlzdHM6MTsKIAl1bnNpZ25lZCBjYW5kaWRhdGVfY2hlY2tlZDoxOwogCXVuc2lnbmVkIGNhbmRpZGF0ZV9vazoxOwpAQCAtMjksNyArMzEsNyBAQAogCXVuc2lnbmVkIGFsd2F5c19jYWxsX2ZuOjE7CiB9OwogCi1zdGF0aWMgdm9pZCB1cGRhdGVfY2FuZGlkYXRlcyhzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlICpkcywgY29uc3QgdW5zaWduZWQgY2hhciAqY3VycmVudCkKK3N0YXRpYyB2b2lkIHVwZGF0ZV9jYW5kaWRhdGVzKHN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgKmRzLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjdXJyZW50KQogewogCWlmIChkcy0+YWx3YXlzX2NhbGxfZm4pIHsKIAkJZHMtPmFtYmlndW91cyA9IGRzLT5mbihjdXJyZW50LCBkcy0+Y2JfZGF0YSkgPyAxIDogMDsKQEAgLTM3LDEwICszOSwxMCBAQAogCX0KIAlpZiAoIWRzLT5jYW5kaWRhdGVfZXhpc3RzKSB7CiAJCS8qIHRoaXMgaXMgdGhlIGZpcnN0IGNhbmRpZGF0ZSAqLwotCQloYXNoY3B5KGRzLT5jYW5kaWRhdGUsIGN1cnJlbnQpOworCQlvaWRjcHkoJmRzLT5jYW5kaWRhdGUsIGN1cnJlbnQpOwogCQlkcy0+Y2FuZGlkYXRlX2V4aXN0cyA9IDE7CiAJCXJldHVybjsKLQl9IGVsc2UgaWYgKCFoYXNoY21wKGRzLT5jYW5kaWRhdGUsIGN1cnJlbnQpKSB7CisJfSBlbHNlIGlmICghb2lkY21wKCZkcy0+Y2FuZGlkYXRlLCBjdXJyZW50KSkgewogCQkvKiB0aGUgc2FtZSBhcyB3aGF0IHdlIGFscmVhZHkgaGF2ZSBzZWVuICovCiAJCXJldHVybjsKIAl9CkBAIC01MiwxNCArNTQsMTQgQEAKIAl9CiAKIAlpZiAoIWRzLT5jYW5kaWRhdGVfY2hlY2tlZCkgewotCQlkcy0+Y2FuZGlkYXRlX29rID0gZHMtPmZuKGRzLT5jYW5kaWRhdGUsIGRzLT5jYl9kYXRhKTsKKwkJZHMtPmNhbmRpZGF0ZV9vayA9IGRzLT5mbigmZHMtPmNhbmRpZGF0ZSwgZHMtPmNiX2RhdGEpOwogCQlkcy0+ZGlzYW1iaWd1YXRlX2ZuX3VzZWQgPSAxOwogCQlkcy0+Y2FuZGlkYXRlX2NoZWNrZWQgPSAxOwogCX0KIAogCWlmICghZHMtPmNhbmRpZGF0ZV9vaykgewogCQkvKiBkaXNjYXJkIHRoZSBjYW5kaWRhdGU7IHdlIGtub3cgaXQgZG9lcyBub3Qgc2F0aXNmeSBmbiAqLwotCQloYXNoY3B5KGRzLT5jYW5kaWRhdGUsIGN1cnJlbnQpOworCQlvaWRjcHkoJmRzLT5jYW5kaWRhdGUsIGN1cnJlbnQpOwogCQlkcy0+Y2FuZGlkYXRlX2NoZWNrZWQgPSAwOwogCQlyZXR1cm47CiAJfQpAQCAtNzcsMTAgKzc5LDE5IEBACiAJLyogb3RoZXJ3aXNlLCBjdXJyZW50IGNhbiBiZSBkaXNjYXJkZWQgYW5kIGNhbmRpZGF0ZSBpcyBzdGlsbCBnb29kICovCiB9CiAKK3N0YXRpYyBpbnQgYXBwZW5kX2xvb3NlX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkgICAgICAgdm9pZCAqZGF0YSkKK3sKKwlvaWRfYXJyYXlfYXBwZW5kKGRhdGEsIG9pZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbWF0Y2hfc2hhKHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCBjaGFyICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKik7CisKIHN0YXRpYyB2b2lkIGZpbmRfc2hvcnRfb2JqZWN0X2ZpbGVuYW1lKHN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgKmRzKQogeworCWludCBzdWJkaXJfbnIgPSBkcy0+YmluX3BmeC5oYXNoWzBdOwogCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHQ7Ci0JY2hhciBoZXhbR0lUX1NIQTFfSEVYU1pdOwogCXN0YXRpYyBzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqZmFrZWVudDsKIAogCWlmICghZmFrZWVudCkgewpAQCAtOTUsMjkgKzEwNiwyOSBAQAogCX0KIAlmYWtlZW50LT5uZXh0ID0gYWx0X29kYl9saXN0OwogCi0JeHNucHJpbnRmKGhleCwgc2l6ZW9mKGhleCksICIlLjJzIiwgZHMtPmhleF9wZngpOwogCWZvciAoYWx0ID0gZmFrZWVudDsgYWx0ICYmICFkcy0+YW1iaWd1b3VzOyBhbHQgPSBhbHQtPm5leHQpIHsKLQkJc3RydWN0IHN0cmJ1ZiAqYnVmID0gYWx0X3NjcmF0Y2hfYnVmKGFsdCk7Ci0JCXN0cnVjdCBkaXJlbnQgKmRlOwotCQlESVIgKmRpcjsKKwkJaW50IHBvczsKIAotCQlzdHJidWZfYWRkZihidWYsICIlLjJzLyIsIGRzLT5oZXhfcGZ4KTsKLQkJZGlyID0gb3BlbmRpcihidWYtPmJ1Zik7Ci0JCWlmICghZGlyKQotCQkJY29udGludWU7Ci0KLQkJd2hpbGUgKCFkcy0+YW1iaWd1b3VzICYmIChkZSA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgewotCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQotCQkJaWYgKHN0cmxlbihkZS0+ZF9uYW1lKSAhPSAzOCkKLQkJCQljb250aW51ZTsKLQkJCWlmIChtZW1jbXAoZGUtPmRfbmFtZSwgZHMtPmhleF9wZnggKyAyLCBkcy0+bGVuIC0gMikpCi0JCQkJY29udGludWU7Ci0JCQltZW1jcHkoaGV4ICsgMiwgZGUtPmRfbmFtZSwgMzgpOwotCQkJaWYgKCFnZXRfc2hhMV9oZXgoaGV4LCBzaGExKSkKLQkJCQl1cGRhdGVfY2FuZGlkYXRlcyhkcywgc2hhMSk7CisJCWlmICghYWx0LT5sb29zZV9vYmplY3RzX3N1YmRpcl9zZWVuW3N1YmRpcl9ucl0pIHsKKwkJCXN0cnVjdCBzdHJidWYgKmJ1ZiA9IGFsdF9zY3JhdGNoX2J1ZihhbHQpOworCQkJZm9yX2VhY2hfZmlsZV9pbl9vYmpfc3ViZGlyKHN1YmRpcl9uciwgYnVmLAorCQkJCQkJICAgIGFwcGVuZF9sb29zZV9vYmplY3QsCisJCQkJCQkgICAgTlVMTCwgTlVMTCwKKwkJCQkJCSAgICAmYWx0LT5sb29zZV9vYmplY3RzX2NhY2hlKTsKKwkJCWFsdC0+bG9vc2Vfb2JqZWN0c19zdWJkaXJfc2VlbltzdWJkaXJfbnJdID0gMTsKIAkJfQotCQljbG9zZWRpcihkaXIpOworCisJCXBvcyA9IG9pZF9hcnJheV9sb29rdXAoJmFsdC0+bG9vc2Vfb2JqZWN0c19jYWNoZSwgJmRzLT5iaW5fcGZ4KTsKKwkJaWYgKHBvcyA8IDApCisJCQlwb3MgPSAtMSAtIHBvczsKKwkJd2hpbGUgKCFkcy0+YW1iaWd1b3VzICYmIHBvcyA8IGFsdC0+bG9vc2Vfb2JqZWN0c19jYWNoZS5ucikgeworCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkOworCQkJb2lkID0gYWx0LT5sb29zZV9vYmplY3RzX2NhY2hlLm9pZCArIHBvczsKKwkJCWlmICghbWF0Y2hfc2hhKGRzLT5sZW4sIGRzLT5iaW5fcGZ4Lmhhc2gsIG9pZC0+aGFzaCkpCisJCQkJYnJlYWs7CisJCQl1cGRhdGVfY2FuZGlkYXRlcyhkcywgb2lkKTsKKwkJCXBvcysrOworCQl9CiAJfQogfQogCkBAIC0xNDAsNyArMTUxLDcgQEAKIAkJCSAgIHN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgKmRzKQogewogCXVpbnQzMl90IG51bSwgbGFzdCwgaSwgZmlyc3QgPSAwOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmN1cnJlbnQgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmN1cnJlbnQgPSBOVUxMOwogCiAJb3Blbl9wYWNrX2luZGV4KHApOwogCW51bSA9IHAtPm51bV9vYmplY3RzOwpAQCAtMTUxLDcgKzE2Miw3IEBACiAJCWludCBjbXA7CiAKIAkJY3VycmVudCA9IG50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgbWlkKTsKLQkJY21wID0gaGFzaGNtcChkcy0+YmluX3BmeCwgY3VycmVudCk7CisJCWNtcCA9IGhhc2hjbXAoZHMtPmJpbl9wZnguaGFzaCwgY3VycmVudCk7CiAJCWlmICghY21wKSB7CiAJCQlmaXJzdCA9IG1pZDsKIAkJCWJyZWFrOwpAQCAtMTY5LDggKzE4MCw5IEBACiAJICogMCwgMSBvciBtb3JlIG9iamVjdHMgdGhhdCBhY3R1YWxseSBtYXRjaChlcykuCiAJICovCiAJZm9yIChpID0gZmlyc3Q7IGkgPCBudW0gJiYgIWRzLT5hbWJpZ3VvdXM7IGkrKykgewotCQljdXJyZW50ID0gbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShwLCBpKTsKLQkJaWYgKCFtYXRjaF9zaGEoZHMtPmxlbiwgZHMtPmJpbl9wZngsIGN1cnJlbnQpKQorCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJY3VycmVudCA9IG50aF9wYWNrZWRfb2JqZWN0X29pZCgmb2lkLCBwLCBpKTsKKwkJaWYgKCFtYXRjaF9zaGEoZHMtPmxlbiwgZHMtPmJpbl9wZnguaGFzaCwgY3VycmVudC0+aGFzaCkpCiAJCQlicmVhazsKIAkJdXBkYXRlX2NhbmRpZGF0ZXMoZHMsIGN1cnJlbnQpOwogCX0KQEAgLTE4OSw3ICsyMDEsNyBAQAogI2RlZmluZSBTSE9SVF9OQU1FX0FNQklHVU9VUyAoLTIpCiAKIHN0YXRpYyBpbnQgZmluaXNoX29iamVjdF9kaXNhbWJpZ3VhdGlvbihzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlICpkcywKLQkJCQkJdW5zaWduZWQgY2hhciAqc2hhMSkKKwkJCQkJc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWlmIChkcy0+YW1iaWd1b3VzKQogCQlyZXR1cm4gU0hPUlRfTkFNRV9BTUJJR1VPVVM7CkBAIC0yMTMsNjYgKzIyNSw2NiBAQAogCQkgKiBzYW1lIHJlcG9zaXRvcnkhCiAJCSAqLwogCQlkcy0+Y2FuZGlkYXRlX29rID0gKCFkcy0+ZGlzYW1iaWd1YXRlX2ZuX3VzZWQgfHwKLQkJCQkgICAgZHMtPmZuKGRzLT5jYW5kaWRhdGUsIGRzLT5jYl9kYXRhKSk7CisJCQkJICAgIGRzLT5mbigmZHMtPmNhbmRpZGF0ZSwgZHMtPmNiX2RhdGEpKTsKIAogCWlmICghZHMtPmNhbmRpZGF0ZV9vaykKIAkJcmV0dXJuIFNIT1JUX05BTUVfQU1CSUdVT1VTOwogCi0JaGFzaGNweShzaGExLCBkcy0+Y2FuZGlkYXRlKTsKKwlvaWRjcHkob2lkLCAmZHMtPmNhbmRpZGF0ZSk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZGlzYW1iaWd1YXRlX2NvbW1pdF9vbmx5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHZvaWQgKmNiX2RhdGFfdW51c2VkKQorc3RhdGljIGludCBkaXNhbWJpZ3VhdGVfY29tbWl0X29ubHkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB2b2lkICpjYl9kYXRhX3VudXNlZCkKIHsKLQlpbnQga2luZCA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CisJaW50IGtpbmQgPSBzaGExX29iamVjdF9pbmZvKG9pZC0+aGFzaCwgTlVMTCk7CiAJcmV0dXJuIGtpbmQgPT0gT0JKX0NPTU1JVDsKIH0KIAotc3RhdGljIGludCBkaXNhbWJpZ3VhdGVfY29tbWl0dGlzaF9vbmx5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHZvaWQgKmNiX2RhdGFfdW51c2VkKQorc3RhdGljIGludCBkaXNhbWJpZ3VhdGVfY29tbWl0dGlzaF9vbmx5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqY2JfZGF0YV91bnVzZWQpCiB7CiAJc3RydWN0IG9iamVjdCAqb2JqOwogCWludCBraW5kOwogCi0Ja2luZCA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CisJa2luZCA9IHNoYTFfb2JqZWN0X2luZm8ob2lkLT5oYXNoLCBOVUxMKTsKIAlpZiAoa2luZCA9PSBPQkpfQ09NTUlUKQogCQlyZXR1cm4gMTsKIAlpZiAoa2luZCAhPSBPQkpfVEFHKQogCQlyZXR1cm4gMDsKIAogCS8qIFdlIG5lZWQgdG8gZG8gdGhpcyB0aGUgaGFyZCB3YXkuLi4gKi8KLQlvYmogPSBkZXJlZl90YWcocGFyc2Vfb2JqZWN0KHNoYTEpLCBOVUxMLCAwKTsKKwlvYmogPSBkZXJlZl90YWcocGFyc2Vfb2JqZWN0KG9pZCksIE5VTEwsIDApOwogCWlmIChvYmogJiYgb2JqLT50eXBlID09IE9CSl9DT01NSVQpCiAJCXJldHVybiAxOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGRpc2FtYmlndWF0ZV90cmVlX29ubHkoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdm9pZCAqY2JfZGF0YV91bnVzZWQpCitzdGF0aWMgaW50IGRpc2FtYmlndWF0ZV90cmVlX29ubHkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB2b2lkICpjYl9kYXRhX3VudXNlZCkKIHsKLQlpbnQga2luZCA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CisJaW50IGtpbmQgPSBzaGExX29iamVjdF9pbmZvKG9pZC0+aGFzaCwgTlVMTCk7CiAJcmV0dXJuIGtpbmQgPT0gT0JKX1RSRUU7CiB9CiAKLXN0YXRpYyBpbnQgZGlzYW1iaWd1YXRlX3RyZWVpc2hfb25seShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB2b2lkICpjYl9kYXRhX3VudXNlZCkKK3N0YXRpYyBpbnQgZGlzYW1iaWd1YXRlX3RyZWVpc2hfb25seShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmNiX2RhdGFfdW51c2VkKQogewogCXN0cnVjdCBvYmplY3QgKm9iajsKIAlpbnQga2luZDsKIAotCWtpbmQgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOworCWtpbmQgPSBzaGExX29iamVjdF9pbmZvKG9pZC0+aGFzaCwgTlVMTCk7CiAJaWYgKGtpbmQgPT0gT0JKX1RSRUUgfHwga2luZCA9PSBPQkpfQ09NTUlUKQogCQlyZXR1cm4gMTsKIAlpZiAoa2luZCAhPSBPQkpfVEFHKQogCQlyZXR1cm4gMDsKIAogCS8qIFdlIG5lZWQgdG8gZG8gdGhpcyB0aGUgaGFyZCB3YXkuLi4gKi8KLQlvYmogPSBkZXJlZl90YWcocGFyc2Vfb2JqZWN0KHNoYTEpLCBOVUxMLCAwKTsKKwlvYmogPSBkZXJlZl90YWcocGFyc2Vfb2JqZWN0KG9pZCksIE5VTEwsIDApOwogCWlmIChvYmogJiYgKG9iai0+dHlwZSA9PSBPQkpfVFJFRSB8fCBvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCkpCiAJCXJldHVybiAxOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGRpc2FtYmlndWF0ZV9ibG9iX29ubHkoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdm9pZCAqY2JfZGF0YV91bnVzZWQpCitzdGF0aWMgaW50IGRpc2FtYmlndWF0ZV9ibG9iX29ubHkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB2b2lkICpjYl9kYXRhX3VudXNlZCkKIHsKLQlpbnQga2luZCA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CisJaW50IGtpbmQgPSBzaGExX29iamVjdF9pbmZvKG9pZC0+aGFzaCwgTlVMTCk7CiAJcmV0dXJuIGtpbmQgPT0gT0JKX0JMT0I7CiB9CiAKQEAgLTMzMiw3ICszNDQsNyBAQAogCQlkcy0+aGV4X3BmeFtpXSA9IGM7CiAJCWlmICghKGkgJiAxKSkKIAkJCXZhbCA8PD0gNDsKLQkJZHMtPmJpbl9wZnhbaSA+PiAxXSB8PSB2YWw7CisJCWRzLT5iaW5fcGZ4Lmhhc2hbaSA+PiAxXSB8PSB2YWw7CiAJfQogCiAJZHMtPmxlbiA9IGxlbjsKQEAgLTM0MSwzMSArMzUzLDMyIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgc2hvd19hbWJpZ3VvdXNfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IHNob3dfYW1iaWd1b3VzX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmRhdGEpCiB7CiAJY29uc3Qgc3RydWN0IGRpc2FtYmlndWF0ZV9zdGF0ZSAqZHMgPSBkYXRhOwogCXN0cnVjdCBzdHJidWYgZGVzYyA9IFNUUkJVRl9JTklUOwogCWludCB0eXBlOwogCi0JaWYgKGRzLT5mbiAmJiAhZHMtPmZuKHNoYTEsIGRzLT5jYl9kYXRhKSkKKworCWlmIChkcy0+Zm4gJiYgIWRzLT5mbihvaWQsIGRzLT5jYl9kYXRhKSkKIAkJcmV0dXJuIDA7CiAKLQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhzaGExLCBOVUxMKTsKKwl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhvaWQtPmhhc2gsIE5VTEwpOwogCWlmICh0eXBlID09IE9CSl9DT01NSVQpIHsKLQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdChzaGExKTsKKwkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdChvaWQpOwogCQlpZiAoY29tbWl0KSB7CiAJCQlzdHJ1Y3QgcHJldHR5X3ByaW50X2NvbnRleHQgcHAgPSB7MH07CiAJCQlwcC5kYXRlX21vZGUudHlwZSA9IERBVEVfU0hPUlQ7CiAJCQlmb3JtYXRfY29tbWl0X21lc3NhZ2UoY29tbWl0LCAiICVhZCAtICVzIiwgJmRlc2MsICZwcCk7CiAJCX0KIAl9IGVsc2UgaWYgKHR5cGUgPT0gT0JKX1RBRykgewotCQlzdHJ1Y3QgdGFnICp0YWcgPSBsb29rdXBfdGFnKHNoYTEpOworCQlzdHJ1Y3QgdGFnICp0YWcgPSBsb29rdXBfdGFnKG9pZCk7CiAJCWlmICghcGFyc2VfdGFnKHRhZykgJiYgdGFnLT50YWcpCiAJCQlzdHJidWZfYWRkZigmZGVzYywgIiAlcyIsIHRhZy0+dGFnKTsKIAl9CiAKIAlhZHZpc2UoIiAgJXMgJXMlcyIsCi0JICAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihzaGExLCBERUZBVUxUX0FCQlJFViksCisJICAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihvaWQtPmhhc2gsIERFRkFVTFRfQUJCUkVWKSwKIAkgICAgICAgdHlwZW5hbWUodHlwZSkgPyB0eXBlbmFtZSh0eXBlKSA6ICJ1bmtub3duIHR5cGUiLAogCSAgICAgICBkZXNjLmJ1Zik7CiAKQEAgLTM3MywzNSArMzg2LDM1IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X3Nob3J0X3NoYTEoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqc2hhMSwKK3N0YXRpYyBpbnQgZ2V0X3Nob3J0X29pZChjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgIHVuc2lnbmVkIGZsYWdzKQogewogCWludCBzdGF0dXM7CiAJc3RydWN0IGRpc2FtYmlndWF0ZV9zdGF0ZSBkczsKLQlpbnQgcXVpZXRseSA9ICEhKGZsYWdzICYgR0VUX1NIQTFfUVVJRVRMWSk7CisJaW50IHF1aWV0bHkgPSAhIShmbGFncyAmIEdFVF9PSURfUVVJRVRMWSk7CiAKIAlpZiAoaW5pdF9vYmplY3RfZGlzYW1iaWd1YXRpb24obmFtZSwgbGVuLCAmZHMpIDwgMCkKIAkJcmV0dXJuIC0xOwogCi0JaWYgKEhBU19NVUxUSV9CSVRTKGZsYWdzICYgR0VUX1NIQTFfRElTQU1CSUdVQVRPUlMpKQotCQlkaWUoIkJVRzogbXVsdGlwbGUgZ2V0X3Nob3J0X3NoYTEgZGlzYW1iaWd1YXRvciBmbGFncyIpOworCWlmIChIQVNfTVVMVElfQklUUyhmbGFncyAmIEdFVF9PSURfRElTQU1CSUdVQVRPUlMpKQorCQlkaWUoIkJVRzogbXVsdGlwbGUgZ2V0X3Nob3J0X29pZCBkaXNhbWJpZ3VhdG9yIGZsYWdzIik7CiAKLQlpZiAoZmxhZ3MgJiBHRVRfU0hBMV9DT01NSVQpCisJaWYgKGZsYWdzICYgR0VUX09JRF9DT01NSVQpCiAJCWRzLmZuID0gZGlzYW1iaWd1YXRlX2NvbW1pdF9vbmx5OwotCWVsc2UgaWYgKGZsYWdzICYgR0VUX1NIQTFfQ09NTUlUVElTSCkKKwllbHNlIGlmIChmbGFncyAmIEdFVF9PSURfQ09NTUlUVElTSCkKIAkJZHMuZm4gPSBkaXNhbWJpZ3VhdGVfY29tbWl0dGlzaF9vbmx5OwotCWVsc2UgaWYgKGZsYWdzICYgR0VUX1NIQTFfVFJFRSkKKwllbHNlIGlmIChmbGFncyAmIEdFVF9PSURfVFJFRSkKIAkJZHMuZm4gPSBkaXNhbWJpZ3VhdGVfdHJlZV9vbmx5OwotCWVsc2UgaWYgKGZsYWdzICYgR0VUX1NIQTFfVFJFRUlTSCkKKwllbHNlIGlmIChmbGFncyAmIEdFVF9PSURfVFJFRUlTSCkKIAkJZHMuZm4gPSBkaXNhbWJpZ3VhdGVfdHJlZWlzaF9vbmx5OwotCWVsc2UgaWYgKGZsYWdzICYgR0VUX1NIQTFfQkxPQikKKwllbHNlIGlmIChmbGFncyAmIEdFVF9PSURfQkxPQikKIAkJZHMuZm4gPSBkaXNhbWJpZ3VhdGVfYmxvYl9vbmx5OwogCWVsc2UKIAkJZHMuZm4gPSBkZWZhdWx0X2Rpc2FtYmlndWF0ZV9oaW50OwogCiAJZmluZF9zaG9ydF9vYmplY3RfZmlsZW5hbWUoJmRzKTsKIAlmaW5kX3Nob3J0X3BhY2tlZF9vYmplY3QoJmRzKTsKLQlzdGF0dXMgPSBmaW5pc2hfb2JqZWN0X2Rpc2FtYmlndWF0aW9uKCZkcywgc2hhMSk7CisJc3RhdHVzID0gZmluaXNoX29iamVjdF9kaXNhbWJpZ3VhdGlvbigmZHMsIG9pZCk7CiAKIAlpZiAoIXF1aWV0bHkgJiYgKHN0YXR1cyA9PSBTSE9SVF9OQU1FX0FNQklHVU9VUykpIHsKIAkJZXJyb3IoXygic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiKSwgZHMuaGV4X3BmeCk7CkBAIC00MjIsMTUgKzQzNSwxNSBAQAogCXJldHVybiBzdGF0dXM7CiB9CiAKLXN0YXRpYyBpbnQgY29sbGVjdF9hbWJpZ3VvdXMoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgY29sbGVjdF9hbWJpZ3VvdXMoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB2b2lkICpkYXRhKQogewotCXNoYTFfYXJyYXlfYXBwZW5kKGRhdGEsIHNoYTEpOworCW9pZF9hcnJheV9hcHBlbmQoZGF0YSwgb2lkKTsKIAlyZXR1cm4gMDsKIH0KIAogaW50IGZvcl9lYWNoX2FiYnJldihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfYWJicmV2X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewotCXN0cnVjdCBzaGExX2FycmF5IGNvbGxlY3QgPSBTSEExX0FSUkFZX0lOSVQ7CisJc3RydWN0IG9pZF9hcnJheSBjb2xsZWN0ID0gT0lEX0FSUkFZX0lOSVQ7CiAJc3RydWN0IGRpc2FtYmlndWF0ZV9zdGF0ZSBkczsKIAlpbnQgcmV0OwogCkBAIC00NDMsOCArNDU2LDggQEAKIAlmaW5kX3Nob3J0X29iamVjdF9maWxlbmFtZSgmZHMpOwogCWZpbmRfc2hvcnRfcGFja2VkX29iamVjdCgmZHMpOwogCi0JcmV0ID0gc2hhMV9hcnJheV9mb3JfZWFjaF91bmlxdWUoJmNvbGxlY3QsIGZuLCBjYl9kYXRhKTsKLQlzaGExX2FycmF5X2NsZWFyKCZjb2xsZWN0KTsKKwlyZXQgPSBvaWRfYXJyYXlfZm9yX2VhY2hfdW5pcXVlKCZjb2xsZWN0LCBmbiwgY2JfZGF0YSk7CisJb2lkX2FycmF5X2NsZWFyKCZjb2xsZWN0KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC00NzcsMTAgKzQ5MCw5IEBACiAJCSAqIFdlIG5vdyBrbm93IHdlIGhhdmUgb24gdGhlIG9yZGVyIG9mIDJebGVuIG9iamVjdHMsIHdoaWNoCiAJCSAqIGV4cGVjdHMgYSBjb2xsaXNpb24gYXQgMl4obGVuLzIpLiBCdXQgd2UgYWxzbyBjYXJlIGFib3V0IGhleAogCQkgKiBjaGFycywgbm90IGJpdHMsIGFuZCB0aGVyZSBhcmUgNCBiaXRzIHBlciBoZXguIFNvIGFsbAotCQkgKiB0b2dldGhlciB3ZSBuZWVkIHRvIGRpdmlkZSBieSAyOyBidXQgd2UgYWxzbyB3YW50IHRvIHJvdW5kCi0JCSAqIG9kZCBudW1iZXJzIHVwLCBoZW5jZSBhZGRpbmcgb25lIGJlZm9yZSBkaXZpZGluZy4KKwkJICogdG9nZXRoZXIgd2UgbmVlZCB0byBkaXZpZGUgYnkgMiBhbmQgcm91bmQgdXAuCiAJCSAqLwotCQlsZW4gPSAobGVuICsgMSkgLyAyOworCQlsZW4gPSBESVZfUk9VTkRfVVAobGVuLCAyKTsKIAkJLyoKIAkJICogRm9yIHZlcnkgc21hbGwgcmVwb3MsIHdlIHN0aWNrIHdpdGggb3VyIHJlZ3VsYXIgZmFsbGJhY2suCiAJCSAqLwpAQCAtNDg5LDEyICs1MDEsMTIgQEAKIAl9CiAKIAlzaGExX3RvX2hleF9yKGhleCwgc2hhMSk7Ci0JaWYgKGxlbiA9PSA0MCB8fCAhbGVuKQotCQlyZXR1cm4gNDA7CisJaWYgKGxlbiA9PSBHSVRfU0hBMV9IRVhTWiB8fCAhbGVuKQorCQlyZXR1cm4gR0lUX1NIQTFfSEVYU1o7CiAJZXhpc3RzID0gaGFzX3NoYTFfZmlsZShzaGExKTsKLQl3aGlsZSAobGVuIDwgNDApIHsKLQkJdW5zaWduZWQgY2hhciBzaGExX3JldFsyMF07Ci0JCXN0YXR1cyA9IGdldF9zaG9ydF9zaGExKGhleCwgbGVuLCBzaGExX3JldCwgR0VUX1NIQTFfUVVJRVRMWSk7CisJd2hpbGUgKGxlbiA8IEdJVF9TSEExX0hFWFNaKSB7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkX3JldDsKKwkJc3RhdHVzID0gZ2V0X3Nob3J0X29pZChoZXgsIGxlbiwgJm9pZF9yZXQsIEdFVF9PSURfUVVJRVRMWSk7CiAJCWlmIChleGlzdHMKIAkJICAgID8gIXN0YXR1cwogCQkgICAgOiBzdGF0dXMgPT0gU0hPUlRfTkFNRV9OT1RfRk9VTkQpIHsKQEAgLTUwOSw3ICs1MjEsNyBAQAogY29uc3QgY2hhciAqZmluZF91bmlxdWVfYWJicmV2KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBsZW4pCiB7CiAJc3RhdGljIGludCBidWZubzsKLQlzdGF0aWMgY2hhciBoZXhidWZmZXJbNF1bR0lUX1NIQTFfSEVYU1ogKyAxXTsKKwlzdGF0aWMgY2hhciBoZXhidWZmZXJbNF1bR0lUX01BWF9IRVhTWiArIDFdOwogCWNoYXIgKmhleCA9IGhleGJ1ZmZlcltidWZub107CiAJYnVmbm8gPSAoYnVmbm8gKyAxKSAlIEFSUkFZX1NJWkUoaGV4YnVmZmVyKTsKIAlmaW5kX3VuaXF1ZV9hYmJyZXZfcihoZXgsIHNoYTEsIGxlbik7CkBAIC01NDksNyArNTYxLDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgbnI7IGkrKykgewogCQlpbnQgc3VmZml4X2xlbiA9IHN0cmxlbihzdWZmaXhbaV0pOwogCQlpZiAoc3VmZml4X2xlbiA8PSBsZW4KLQkJICAgICYmICFtZW1jbXAoc3RyaW5nLCBzdWZmaXhbaV0sIHN1ZmZpeF9sZW4pKQorCQkgICAgJiYgIXN0cm5jYXNlY21wKHN0cmluZywgc3VmZml4W2ldLCBzdWZmaXhfbGVuKSkKIAkJCXJldHVybiBzdWZmaXhfbGVuOwogCX0KIAlyZXR1cm4gMDsKQEAgLTU2NywxMCArNTc5LDEwIEBACiAJcmV0dXJuIGF0X21hcmsoc3RyaW5nLCBsZW4sIHN1ZmZpeCwgQVJSQVlfU0laRShzdWZmaXgpKTsKIH0KIAotc3RhdGljIGludCBnZXRfc2hhMV8xKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sIHVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGxvb2t1cF9mbGFncyk7CitzdGF0aWMgaW50IGdldF9vaWRfMShjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIGxvb2t1cF9mbGFncyk7CiBzdGF0aWMgaW50IGludGVycHJldF9udGhfcHJpb3JfY2hlY2tvdXQoY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sIHN0cnVjdCBzdHJidWYgKmJ1Zik7CiAKLXN0YXRpYyBpbnQgZ2V0X3NoYTFfYmFzaWMoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RhdGljIGludCBnZXRfb2lkX2Jhc2ljKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJICB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgKndhcm5fbXNnID0gInJlZm5hbWUgJyUuKnMnIGlzIGFtYmlndW91cy4iOwpAQCAtNTg0LDE0ICs1OTYsMTQgQEAKIAkid2hlcmUgXCIkYnJcIiBpcyBzb21laG93IGVtcHR5IGFuZCBhIDQwLWhleCByZWYgaXMgY3JlYXRlZC4gUGxlYXNlXG4iCiAJImV4YW1pbmUgdGhlc2UgcmVmcyBhbmQgbWF5YmUgZGVsZXRlIHRoZW0uIFR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieVxuIgogCSJydW5uaW5nIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIpOwotCXVuc2lnbmVkIGNoYXIgdG1wX3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgdG1wX29pZDsKIAljaGFyICpyZWFsX3JlZiA9IE5VTEw7CiAJaW50IHJlZnNfZm91bmQgPSAwOwogCWludCBhdCwgcmVmbG9nX2xlbiwgbnRoX3ByaW9yID0gMDsKIAotCWlmIChsZW4gPT0gNDAgJiYgIWdldF9zaGExX2hleChzdHIsIHNoYTEpKSB7CisJaWYgKGxlbiA9PSBHSVRfU0hBMV9IRVhTWiAmJiAhZ2V0X29pZF9oZXgoc3RyLCBvaWQpKSB7CiAJCWlmICh3YXJuX2FtYmlndW91c19yZWZzICYmIHdhcm5fb25fb2JqZWN0X3JlZm5hbWVfYW1iaWd1aXR5KSB7Ci0JCQlyZWZzX2ZvdW5kID0gZHdpbV9yZWYoc3RyLCBsZW4sIHRtcF9zaGExLCAmcmVhbF9yZWYpOworCQkJcmVmc19mb3VuZCA9IGR3aW1fcmVmKHN0ciwgbGVuLCB0bXBfb2lkLmhhc2gsICZyZWFsX3JlZik7CiAJCQlpZiAocmVmc19mb3VuZCA+IDApIHsKIAkJCQl3YXJuaW5nKHdhcm5fbXNnLCBsZW4sIHN0cik7CiAJCQkJaWYgKGFkdmljZV9vYmplY3RfbmFtZV93YXJuaW5nKQpAQCAtNjMzLDcgKzY0NSw3IEBACiAJCWludCBkZXRhY2hlZDsKIAogCQlpZiAoaW50ZXJwcmV0X250aF9wcmlvcl9jaGVja291dChzdHIsIGxlbiwgJmJ1ZikgPiAwKSB7Ci0JCQlkZXRhY2hlZCA9IChidWYubGVuID09IDQwICYmICFnZXRfc2hhMV9oZXgoYnVmLmJ1Ziwgc2hhMSkpOworCQkJZGV0YWNoZWQgPSAoYnVmLmxlbiA9PSBHSVRfU0hBMV9IRVhTWiAmJiAhZ2V0X29pZF9oZXgoYnVmLmJ1Ziwgb2lkKSk7CiAJCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAkJCWlmIChkZXRhY2hlZCkKIAkJCQlyZXR1cm4gMDsKQEAgLTY0MiwyNCArNjU0LDI0IEBACiAKIAlpZiAoIWxlbiAmJiByZWZsb2dfbGVuKQogCQkvKiBhbGxvdyAiQHsuLi59IiB0byBtZWFuIHRoZSBjdXJyZW50IGJyYW5jaCByZWZsb2cgKi8KLQkJcmVmc19mb3VuZCA9IGR3aW1fcmVmKCJIRUFEIiwgNCwgc2hhMSwgJnJlYWxfcmVmKTsKKwkJcmVmc19mb3VuZCA9IGR3aW1fcmVmKCJIRUFEIiwgNCwgb2lkLT5oYXNoLCAmcmVhbF9yZWYpOwogCWVsc2UgaWYgKHJlZmxvZ19sZW4pCi0JCXJlZnNfZm91bmQgPSBkd2ltX2xvZyhzdHIsIGxlbiwgc2hhMSwgJnJlYWxfcmVmKTsKKwkJcmVmc19mb3VuZCA9IGR3aW1fbG9nKHN0ciwgbGVuLCBvaWQtPmhhc2gsICZyZWFsX3JlZik7CiAJZWxzZQotCQlyZWZzX2ZvdW5kID0gZHdpbV9yZWYoc3RyLCBsZW4sIHNoYTEsICZyZWFsX3JlZik7CisJCXJlZnNfZm91bmQgPSBkd2ltX3JlZihzdHIsIGxlbiwgb2lkLT5oYXNoLCAmcmVhbF9yZWYpOwogCiAJaWYgKCFyZWZzX2ZvdW5kKQogCQlyZXR1cm4gLTE7CiAKLQlpZiAod2Fybl9hbWJpZ3VvdXNfcmVmcyAmJiAhKGZsYWdzICYgR0VUX1NIQTFfUVVJRVRMWSkgJiYKKwlpZiAod2Fybl9hbWJpZ3VvdXNfcmVmcyAmJiAhKGZsYWdzICYgR0VUX09JRF9RVUlFVExZKSAmJgogCSAgICAocmVmc19mb3VuZCA+IDEgfHwKLQkgICAgICFnZXRfc2hvcnRfc2hhMShzdHIsIGxlbiwgdG1wX3NoYTEsIEdFVF9TSEExX1FVSUVUTFkpKSkKKwkgICAgICFnZXRfc2hvcnRfb2lkKHN0ciwgbGVuLCAmdG1wX29pZCwgR0VUX09JRF9RVUlFVExZKSkpCiAJCXdhcm5pbmcod2Fybl9tc2csIGxlbiwgc3RyKTsKIAogCWlmIChyZWZsb2dfbGVuKSB7CiAJCWludCBudGgsIGk7Ci0JCXVuc2lnbmVkIGxvbmcgYXRfdGltZTsKLQkJdW5zaWduZWQgbG9uZyBjb190aW1lOworCQl0aW1lc3RhbXBfdCBhdF90aW1lOworCQl0aW1lc3RhbXBfdCBjb190aW1lOwogCQlpbnQgY29fdHosIGNvX2NudDsKIAogCQkvKiBJcyBpdCBhc2tpbmcgZm9yIE4tdGggZW50cnksIG9yIGFwcHJveGlkYXRlPyAqLwpAQCAtNjg1LDcgKzY5Nyw3IEBACiAJCQkJcmV0dXJuIC0xOwogCQkJfQogCQl9Ci0JCWlmIChyZWFkX3JlZl9hdChyZWFsX3JlZiwgZmxhZ3MsIGF0X3RpbWUsIG50aCwgc2hhMSwgTlVMTCwKKwkJaWYgKHJlYWRfcmVmX2F0KHJlYWxfcmVmLCBmbGFncywgYXRfdGltZSwgbnRoLCBvaWQtPmhhc2gsIE5VTEwsCiAJCQkJJmNvX3RpbWUsICZjb190eiwgJmNvX2NudCkpIHsKIAkJCWlmICghbGVuKSB7CiAJCQkJaWYgKHN0YXJ0c193aXRoKHJlYWxfcmVmLCAicmVmcy9oZWFkcy8iKSkgewpAQCAtNjk4LDEzICs3MTAsMTMgQEAKIAkJCQl9CiAJCQl9CiAJCQlpZiAoYXRfdGltZSkgewotCQkJCWlmICghKGZsYWdzICYgR0VUX1NIQTFfUVVJRVRMWSkpIHsKKwkJCQlpZiAoIShmbGFncyAmIEdFVF9PSURfUVVJRVRMWSkpIHsKIAkJCQkJd2FybmluZygiTG9nIGZvciAnJS4qcycgb25seSBnb2VzICIKIAkJCQkJCSJiYWNrIHRvICVzLiIsIGxlbiwgc3RyLAogCQkJCQkJc2hvd19kYXRlKGNvX3RpbWUsIGNvX3R6LCBEQVRFX01PREUoUkZDMjgyMikpKTsKIAkJCQl9CiAJCQl9IGVsc2UgewotCQkJCWlmIChmbGFncyAmIEdFVF9TSEExX1FVSUVUTFkpIHsKKwkJCQlpZiAoZmxhZ3MgJiBHRVRfT0lEX1FVSUVUTFkpIHsKIAkJCQkJZXhpdCgxMjgpOwogCQkJCX0KIAkJCQlkaWUoIkxvZyBmb3IgJyUuKnMnIG9ubHkgaGFzICVkIGVudHJpZXMuIiwKQEAgLTcxOCwyNiArNzMwLDI2IEBACiB9CiAKIHN0YXRpYyBpbnQgZ2V0X3BhcmVudChjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLAotCQkgICAgICB1bnNpZ25lZCBjaGFyICpyZXN1bHQsIGludCBpZHgpCisJCSAgICAgIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCwgaW50IGlkeCkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCWludCByZXQgPSBnZXRfc2hhMV8xKG5hbWUsIGxlbiwgc2hhMSwgR0VUX1NIQTFfQ09NTUlUVElTSCk7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJaW50IHJldCA9IGdldF9vaWRfMShuYW1lLCBsZW4sICZvaWQsIEdFVF9PSURfQ09NTUlUVElTSCk7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCXN0cnVjdCBjb21taXRfbGlzdCAqcDsKIAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7Ci0JY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7CisJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJm9pZCk7CiAJaWYgKHBhcnNlX2NvbW1pdChjb21taXQpKQogCQlyZXR1cm4gLTE7CiAJaWYgKCFpZHgpIHsKLQkJaGFzaGNweShyZXN1bHQsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwkJb2lkY3B5KHJlc3VsdCwgJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAJCXJldHVybiAwOwogCX0KIAlwID0gY29tbWl0LT5wYXJlbnRzOwogCXdoaWxlIChwKSB7CiAJCWlmICghLS1pZHgpIHsKLQkJCWhhc2hjcHkocmVzdWx0LCBwLT5pdGVtLT5vYmplY3Qub2lkLmhhc2gpOworCQkJb2lkY3B5KHJlc3VsdCwgJnAtPml0ZW0tPm9iamVjdC5vaWQpOwogCQkJcmV0dXJuIDA7CiAJCX0KIAkJcCA9IHAtPm5leHQ7CkBAIC03NDYsMTYgKzc1OCwxNiBAQAogfQogCiBzdGF0aWMgaW50IGdldF9udGhfYW5jZXN0b3IoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwKLQkJCSAgICB1bnNpZ25lZCBjaGFyICpyZXN1bHQsIGludCBnZW5lcmF0aW9uKQorCQkJICAgIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCwgaW50IGdlbmVyYXRpb24pCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJaW50IHJldDsKIAotCXJldCA9IGdldF9zaGExXzEobmFtZSwgbGVuLCBzaGExLCBHRVRfU0hBMV9DT01NSVRUSVNIKTsKKwlyZXQgPSBnZXRfb2lkXzEobmFtZSwgbGVuLCAmb2lkLCBHRVRfT0lEX0NPTU1JVFRJU0gpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7Ci0JY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7CisJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UoJm9pZCk7CiAJaWYgKCFjb21taXQpCiAJCXJldHVybiAtMTsKIApAQCAtNzY0LDcgKzc3Niw3IEBACiAJCQlyZXR1cm4gLTE7CiAJCWNvbW1pdCA9IGNvbW1pdC0+cGFyZW50cy0+aXRlbTsKIAl9Ci0JaGFzaGNweShyZXN1bHQsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwlvaWRjcHkocmVzdWx0LCAmY29tbWl0LT5vYmplY3Qub2lkKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzc0LDcgKzc4Niw3IEBACiAJaWYgKG5hbWUgJiYgIW5hbWVsZW4pCiAJCW5hbWVsZW4gPSBzdHJsZW4obmFtZSk7CiAJd2hpbGUgKDEpIHsKLQkJaWYgKCFvIHx8ICghby0+cGFyc2VkICYmICFwYXJzZV9vYmplY3Qoby0+b2lkLmhhc2gpKSkKKwkJaWYgKCFvIHx8ICghby0+cGFyc2VkICYmICFwYXJzZV9vYmplY3QoJm8tPm9pZCkpKQogCQkJcmV0dXJuIE5VTEw7CiAJCWlmIChleHBlY3RlZF90eXBlID09IE9CSl9BTlkgfHwgby0+dHlwZSA9PSBleHBlY3RlZF90eXBlKQogCQkJcmV0dXJuIG87CkBAIC03OTMsMTAgKzgwNSwxMCBAQAogCX0KIH0KIAotc3RhdGljIGludCBwZWVsX29uaW9uKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sIHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdGF0aWMgaW50IHBlZWxfb25pb24oY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkgICAgICB1bnNpZ25lZCBsb29rdXBfZmxhZ3MpCiB7Ci0JdW5zaWduZWQgY2hhciBvdXRlclsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvdXRlcjsKIAljb25zdCBjaGFyICpzcDsKIAl1bnNpZ25lZCBpbnQgZXhwZWN0ZWRfdHlwZSA9IDA7CiAJc3RydWN0IG9iamVjdCAqbzsKQEAgLTgzOCwyMyArODUwLDIzIEBACiAJZWxzZQogCQlyZXR1cm4gLTE7CiAKLQlsb29rdXBfZmxhZ3MgJj0gfkdFVF9TSEExX0RJU0FNQklHVUFUT1JTOworCWxvb2t1cF9mbGFncyAmPSB+R0VUX09JRF9ESVNBTUJJR1VBVE9SUzsKIAlpZiAoZXhwZWN0ZWRfdHlwZSA9PSBPQkpfQ09NTUlUKQotCQlsb29rdXBfZmxhZ3MgfD0gR0VUX1NIQTFfQ09NTUlUVElTSDsKKwkJbG9va3VwX2ZsYWdzIHw9IEdFVF9PSURfQ09NTUlUVElTSDsKIAllbHNlIGlmIChleHBlY3RlZF90eXBlID09IE9CSl9UUkVFKQotCQlsb29rdXBfZmxhZ3MgfD0gR0VUX1NIQTFfVFJFRUlTSDsKKwkJbG9va3VwX2ZsYWdzIHw9IEdFVF9PSURfVFJFRUlTSDsKIAotCWlmIChnZXRfc2hhMV8xKG5hbWUsIHNwIC0gbmFtZSAtIDIsIG91dGVyLCBsb29rdXBfZmxhZ3MpKQorCWlmIChnZXRfb2lkXzEobmFtZSwgc3AgLSBuYW1lIC0gMiwgJm91dGVyLCBsb29rdXBfZmxhZ3MpKQogCQlyZXR1cm4gLTE7CiAKLQlvID0gcGFyc2Vfb2JqZWN0KG91dGVyKTsKKwlvID0gcGFyc2Vfb2JqZWN0KCZvdXRlcik7CiAJaWYgKCFvKQogCQlyZXR1cm4gLTE7CiAJaWYgKCFleHBlY3RlZF90eXBlKSB7CiAJCW8gPSBkZXJlZl90YWcobywgbmFtZSwgc3AgLSBuYW1lIC0gMik7Ci0JCWlmICghbyB8fCAoIW8tPnBhcnNlZCAmJiAhcGFyc2Vfb2JqZWN0KG8tPm9pZC5oYXNoKSkpCisJCWlmICghbyB8fCAoIW8tPnBhcnNlZCAmJiAhcGFyc2Vfb2JqZWN0KCZvLT5vaWQpKSkKIAkJCXJldHVybiAtMTsKLQkJaGFzaGNweShzaGExLCBvLT5vaWQuaGFzaCk7CisJCW9pZGNweShvaWQsICZvLT5vaWQpOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTg2Nyw3ICs4NzksNyBAQAogCWlmICghbykKIAkJcmV0dXJuIC0xOwogCi0JaGFzaGNweShzaGExLCBvLT5vaWQuaGFzaCk7CisJb2lkY3B5KG9pZCwgJm8tPm9pZCk7CiAJaWYgKHNwWzBdID09ICcvJykgewogCQkvKiAiJGNvbW1pdF57L2Zvb30iICovCiAJCWNoYXIgKnByZWZpeDsKQEAgLTg4MywxNyArODk1LDE3IEBACiAKIAkJcHJlZml4ID0geHN0cm5kdXAoc3AgKyAxLCBuYW1lICsgbGVuIC0gMSAtIChzcCArIDEpKTsKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KChzdHJ1Y3QgY29tbWl0ICopbywgJmxpc3QpOwotCQlyZXQgPSBnZXRfc2hhMV9vbmVsaW5lKHByZWZpeCwgc2hhMSwgbGlzdCk7CisJCXJldCA9IGdldF9vaWRfb25lbGluZShwcmVmaXgsIG9pZCwgbGlzdCk7CiAJCWZyZWUocHJlZml4KTsKIAkJcmV0dXJuIHJldDsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2Rlc2NyaWJlX25hbWUoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgZ2V0X2Rlc2NyaWJlX25hbWUoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWNvbnN0IGNoYXIgKmNwOwotCXVuc2lnbmVkIGZsYWdzID0gR0VUX1NIQTFfUVVJRVRMWSB8IEdFVF9TSEExX0NPTU1JVDsKKwl1bnNpZ25lZCBmbGFncyA9IEdFVF9PSURfUVVJRVRMWSB8IEdFVF9PSURfQ09NTUlUOwogCiAJZm9yIChjcCA9IG5hbWUgKyBsZW4gLSAxOyBuYW1lICsgMiA8PSBjcDsgY3AtLSkgewogCQljaGFyIGNoID0gKmNwOwpAQCAtOTA0LDE0ICs5MTYsMTQgQEAKIAkJCWlmIChjaCA9PSAnZycgJiYgY3BbLTFdID09ICctJykgewogCQkJCWNwKys7CiAJCQkJbGVuIC09IGNwIC0gbmFtZTsKLQkJCQlyZXR1cm4gZ2V0X3Nob3J0X3NoYTEoY3AsIGxlbiwgc2hhMSwgZmxhZ3MpOworCQkJCXJldHVybiBnZXRfc2hvcnRfb2lkKGNwLCBsZW4sIG9pZCwgZmxhZ3MpOwogCQkJfQogCQl9CiAJfQogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIGludCBnZXRfc2hhMV8xKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sIHVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGxvb2t1cF9mbGFncykKK3N0YXRpYyBpbnQgZ2V0X29pZF8xKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdW5zaWduZWQgbG9va3VwX2ZsYWdzKQogewogCWludCByZXQsIGhhc19zdWZmaXg7CiAJY29uc3QgY2hhciAqY3A7CkBAIC05MzgsMjUgKzk1MCwyNSBAQAogCQlpZiAoIW51bSAmJiBsZW4xID09IGxlbiAtIDEpCiAJCQludW0gPSAxOwogCQlpZiAoaGFzX3N1ZmZpeCA9PSAnXicpCi0JCQlyZXR1cm4gZ2V0X3BhcmVudChuYW1lLCBsZW4xLCBzaGExLCBudW0pOworCQkJcmV0dXJuIGdldF9wYXJlbnQobmFtZSwgbGVuMSwgb2lkLCBudW0pOwogCQkvKiBlbHNlIGlmIChoYXNfc3VmZml4ID09ICd+JykgLS0gZ29lcyB3aXRob3V0IHNheWluZyAqLwotCQlyZXR1cm4gZ2V0X250aF9hbmNlc3RvcihuYW1lLCBsZW4xLCBzaGExLCBudW0pOworCQlyZXR1cm4gZ2V0X250aF9hbmNlc3RvcihuYW1lLCBsZW4xLCBvaWQsIG51bSk7CiAJfQogCi0JcmV0ID0gcGVlbF9vbmlvbihuYW1lLCBsZW4sIHNoYTEsIGxvb2t1cF9mbGFncyk7CisJcmV0ID0gcGVlbF9vbmlvbihuYW1lLCBsZW4sIG9pZCwgbG9va3VwX2ZsYWdzKTsKIAlpZiAoIXJldCkKIAkJcmV0dXJuIDA7CiAKLQlyZXQgPSBnZXRfc2hhMV9iYXNpYyhuYW1lLCBsZW4sIHNoYTEsIGxvb2t1cF9mbGFncyk7CisJcmV0ID0gZ2V0X29pZF9iYXNpYyhuYW1lLCBsZW4sIG9pZCwgbG9va3VwX2ZsYWdzKTsKIAlpZiAoIXJldCkKIAkJcmV0dXJuIDA7CiAKIAkvKiBJdCBjb3VsZCBiZSBkZXNjcmliZSBvdXRwdXQgdGhhdCBpcyAiU09NRVRISU5HLWdYWFhYIiAqLwotCXJldCA9IGdldF9kZXNjcmliZV9uYW1lKG5hbWUsIGxlbiwgc2hhMSk7CisJcmV0ID0gZ2V0X2Rlc2NyaWJlX25hbWUobmFtZSwgbGVuLCBvaWQpOwogCWlmICghcmV0KQogCQlyZXR1cm4gMDsKIAotCXJldHVybiBnZXRfc2hvcnRfc2hhMShuYW1lLCBsZW4sIHNoYTEsIGxvb2t1cF9mbGFncyk7CisJcmV0dXJuIGdldF9zaG9ydF9vaWQobmFtZSwgbGVuLCBvaWQsIGxvb2t1cF9mbGFncyk7CiB9CiAKIC8qCkBAIC05NzksNyArOTkxLDcgQEAKIAkJCSAgaW50IGZsYWcsIHZvaWQgKmNiX2RhdGEpCiB7CiAJc3RydWN0IGNvbW1pdF9saXN0ICoqbGlzdCA9IGNiX2RhdGE7Ci0Jc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KG9pZC0+aGFzaCk7CisJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KG9pZCk7CiAJaWYgKCFvYmplY3QpCiAJCXJldHVybiAwOwogCWlmIChvYmplY3QtPnR5cGUgPT0gT0JKX1RBRykgewpAQCAtOTkzLDcgKzEwMDUsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdldF9zaGExX29uZWxpbmUoY29uc3QgY2hhciAqcHJlZml4LCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RhdGljIGludCBnZXRfb2lkX29uZWxpbmUoY29uc3QgY2hhciAqcHJlZml4LCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgICAgc3RydWN0IGNvbW1pdF9saXN0ICpsaXN0KQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqYmFja3VwID0gTlVMTCwgKmw7CkBAIC0xMDI1LDcgKzEwMzcsNyBAQAogCQlpbnQgbWF0Y2hlczsKIAogCQljb21taXQgPSBwb3BfbW9zdF9yZWNlbnRfY29tbWl0KCZsaXN0LCBPTkVMSU5FX1NFRU4pOwotCQlpZiAoIXBhcnNlX29iamVjdChjb21taXQtPm9iamVjdC5vaWQuaGFzaCkpCisJCWlmICghcGFyc2Vfb2JqZWN0KCZjb21taXQtPm9iamVjdC5vaWQpKQogCQkJY29udGludWU7CiAJCWJ1ZiA9IGdldF9jb21taXRfYnVmZmVyKGNvbW1pdCwgTlVMTCk7CiAJCXAgPSBzdHJzdHIoYnVmLCAiXG5cbiIpOwpAQCAtMTAzMyw3ICsxMDQ1LDcgQEAKIAkJdW51c2VfY29tbWl0X2J1ZmZlcihjb21taXQsIGJ1Zik7CiAKIAkJaWYgKG1hdGNoZXMpIHsKLQkJCWhhc2hjcHkoc2hhMSwgY29tbWl0LT5vYmplY3Qub2lkLmhhc2gpOworCQkJb2lkY3B5KG9pZCwgJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAJCQlmb3VuZCA9IDE7CiAJCQlicmVhazsKIAkJfQpAQCAtMTA1MSw4ICsxMDYzLDggQEAKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZjsKIH07CiAKLXN0YXRpYyBpbnQgZ3JhYl9udGhfYnJhbmNoX3N3aXRjaCh1bnNpZ25lZCBjaGFyICpvc2hhMSwgdW5zaWduZWQgY2hhciAqbnNoYTEsCi0JCQkJICBjb25zdCBjaGFyICplbWFpbCwgdW5zaWduZWQgbG9uZyB0aW1lc3RhbXAsIGludCB0eiwKK3N0YXRpYyBpbnQgZ3JhYl9udGhfYnJhbmNoX3N3aXRjaChzdHJ1Y3Qgb2JqZWN0X2lkICpvb2lkLCBzdHJ1Y3Qgb2JqZWN0X2lkICpub2lkLAorCQkJCSAgY29uc3QgY2hhciAqZW1haWwsIHRpbWVzdGFtcF90IHRpbWVzdGFtcCwgaW50IHR6LAogCQkJCSAgY29uc3QgY2hhciAqbWVzc2FnZSwgdm9pZCAqY2JfZGF0YSkKIHsKIAlzdHJ1Y3QgZ3JhYl9udGhfYnJhbmNoX3N3aXRjaF9jYmRhdGEgKmNiID0gY2JfZGF0YTsKQEAgLTExMjksMTggKzExNDEsMTggQEAKIAkJc3RydWN0IHN0cmJ1ZiBzYjsKIAkJc3RyYnVmX2luaXQoJnNiLCBkb3RzIC0gbmFtZSk7CiAJCXN0cmJ1Zl9hZGQoJnNiLCBuYW1lLCBkb3RzIC0gbmFtZSk7Ci0JCXN0ID0gZ2V0X3NoYTFfY29tbWl0dGlzaChzYi5idWYsIG9pZF90bXAuaGFzaCk7CisJCXN0ID0gZ2V0X29pZF9jb21taXR0aXNoKHNiLmJ1ZiwgJm9pZF90bXApOwogCQlzdHJidWZfcmVsZWFzZSgmc2IpOwogCX0KIAlpZiAoc3QpCiAJCXJldHVybiBzdDsKLQlvbmUgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2lkX3RtcC5oYXNoLCAwKTsKKwlvbmUgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoJm9pZF90bXAsIDApOwogCWlmICghb25lKQogCQlyZXR1cm4gLTE7CiAKLQlpZiAoZ2V0X3NoYTFfY29tbWl0dGlzaChkb3RzWzNdID8gKGRvdHMgKyAzKSA6ICJIRUFEIiwgb2lkX3RtcC5oYXNoKSkKKwlpZiAoZ2V0X29pZF9jb21taXR0aXNoKGRvdHNbM10gPyAoZG90cyArIDMpIDogIkhFQUQiLCAmb2lkX3RtcCkpCiAJCXJldHVybiAtMTsKLQl0d28gPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2lkX3RtcC5oYXNoLCAwKTsKKwl0d28gPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoJm9pZF90bXAsIDApOwogCWlmICghdHdvKQogCQlyZXR1cm4gLTE7CiAJbWJzID0gZ2V0X21lcmdlX2Jhc2VzKG9uZSwgdHdvKTsKQEAgLTEzMjcsMjEgKzEzMzksMTMgQEAKIH0KIAogLyoKLSAqIFRoaXMgaXMgbGlrZSAiZ2V0X3NoYTFfYmFzaWMoKSIsIGV4Y2VwdCBpdCBhbGxvd3MgInNoYTEgZXhwcmVzc2lvbnMiLAorICogVGhpcyBpcyBsaWtlICJnZXRfb2lkX2Jhc2ljKCkiLCBleGNlcHQgaXQgYWxsb3dzICJvYmplY3QgSUQgZXhwcmVzc2lvbnMiLAogICogbm90YWJseSAieHl6XiIgZm9yICJwYXJlbnQgb2YgeHl6IgogICovCi1pbnQgZ2V0X3NoYTEoY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSkKLXsKLQlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgdW51c2VkOwotCXJldHVybiBnZXRfc2hhMV93aXRoX2NvbnRleHQobmFtZSwgMCwgc2hhMSwgJnVudXNlZCk7Ci19Ci0KLS8qCi0gKiBUaGlzIGlzIGxpa2UgImdldF9zaGExKCkiLCBidXQgZm9yIHN0cnVjdCBvYmplY3RfaWQuCi0gKi8KIGludCBnZXRfb2lkKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlyZXR1cm4gZ2V0X3NoYTEobmFtZSwgb2lkLT5oYXNoKTsKKwlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgdW51c2VkOworCXJldHVybiBnZXRfb2lkX3dpdGhfY29udGV4dChuYW1lLCAwLCBvaWQsICZ1bnVzZWQpOwogfQogCiAKQEAgLTEzNTUsNDkgKzEzNTksNDkgQEAKICAqIGNvbW1pdC1pc2guIEl0IGlzIG1lcmVseSB0byBnaXZlIGEgaGludCB0byB0aGUgZGlzYW1iaWd1YXRpb24KICAqIG1hY2hpbmVyeS4KICAqLwotaW50IGdldF9zaGExX2NvbW1pdHRpc2goY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSkKK2ludCBnZXRfb2lkX2NvbW1pdHRpc2goY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBvYmplY3RfY29udGV4dCB1bnVzZWQ7Ci0JcmV0dXJuIGdldF9zaGExX3dpdGhfY29udGV4dChuYW1lLCBHRVRfU0hBMV9DT01NSVRUSVNILAotCQkJCSAgICAgc2hhMSwgJnVudXNlZCk7CisJcmV0dXJuIGdldF9vaWRfd2l0aF9jb250ZXh0KG5hbWUsIEdFVF9PSURfQ09NTUlUVElTSCwKKwkJCQkgICAgb2lkLCAmdW51c2VkKTsKIH0KIAotaW50IGdldF9zaGExX3RyZWVpc2goY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSkKK2ludCBnZXRfb2lkX3RyZWVpc2goY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBvYmplY3RfY29udGV4dCB1bnVzZWQ7Ci0JcmV0dXJuIGdldF9zaGExX3dpdGhfY29udGV4dChuYW1lLCBHRVRfU0hBMV9UUkVFSVNILAotCQkJCSAgICAgc2hhMSwgJnVudXNlZCk7CisJcmV0dXJuIGdldF9vaWRfd2l0aF9jb250ZXh0KG5hbWUsIEdFVF9PSURfVFJFRUlTSCwKKwkJCQkgICAgb2lkLCAmdW51c2VkKTsKIH0KIAotaW50IGdldF9zaGExX2NvbW1pdChjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExKQoraW50IGdldF9vaWRfY29tbWl0KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgdW51c2VkOwotCXJldHVybiBnZXRfc2hhMV93aXRoX2NvbnRleHQobmFtZSwgR0VUX1NIQTFfQ09NTUlULAotCQkJCSAgICAgc2hhMSwgJnVudXNlZCk7CisJcmV0dXJuIGdldF9vaWRfd2l0aF9jb250ZXh0KG5hbWUsIEdFVF9PSURfQ09NTUlULAorCQkJCSAgICBvaWQsICZ1bnVzZWQpOwogfQogCi1pbnQgZ2V0X3NoYTFfdHJlZShjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExKQoraW50IGdldF9vaWRfdHJlZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3RydWN0IG9iamVjdF9jb250ZXh0IHVudXNlZDsKLQlyZXR1cm4gZ2V0X3NoYTFfd2l0aF9jb250ZXh0KG5hbWUsIEdFVF9TSEExX1RSRUUsCi0JCQkJICAgICBzaGExLCAmdW51c2VkKTsKKwlyZXR1cm4gZ2V0X29pZF93aXRoX2NvbnRleHQobmFtZSwgR0VUX09JRF9UUkVFLAorCQkJCSAgICBvaWQsICZ1bnVzZWQpOwogfQogCi1pbnQgZ2V0X3NoYTFfYmxvYihjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExKQoraW50IGdldF9vaWRfYmxvYihjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3RydWN0IG9iamVjdF9jb250ZXh0IHVudXNlZDsKLQlyZXR1cm4gZ2V0X3NoYTFfd2l0aF9jb250ZXh0KG5hbWUsIEdFVF9TSEExX0JMT0IsCi0JCQkJICAgICBzaGExLCAmdW51c2VkKTsKKwlyZXR1cm4gZ2V0X29pZF93aXRoX2NvbnRleHQobmFtZSwgR0VUX09JRF9CTE9CLAorCQkJCSAgICBvaWQsICZ1bnVzZWQpOwogfQogCiAvKiBNdXN0IGJlIGNhbGxlZCBvbmx5IHdoZW4gb2JqZWN0X25hbWU6ZmlsZW5hbWUgZG9lc24ndCBleGlzdC4gKi8KLXN0YXRpYyB2b2lkIGRpYWdub3NlX2ludmFsaWRfc2hhMV9wYXRoKGNvbnN0IGNoYXIgKnByZWZpeCwKLQkJCQkgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCi0JCQkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRyZWVfc2hhMSwKLQkJCQkgICAgICAgY29uc3QgY2hhciAqb2JqZWN0X25hbWUsCi0JCQkJICAgICAgIGludCBvYmplY3RfbmFtZV9sZW4pCitzdGF0aWMgdm9pZCBkaWFnbm9zZV9pbnZhbGlkX29pZF9wYXRoKGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlX29pZCwKKwkJCQkgICAgICBjb25zdCBjaGFyICpvYmplY3RfbmFtZSwKKwkJCQkgICAgICBpbnQgb2JqZWN0X25hbWVfbGVuKQogewotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJdW5zaWduZWQgbW9kZTsKIAogCWlmICghcHJlZml4KQpAQCAtMTQwNiwxMSArMTQxMCwxMSBAQAogCWlmIChmaWxlX2V4aXN0cyhmaWxlbmFtZSkpCiAJCWRpZSgiUGF0aCAnJXMnIGV4aXN0cyBvbiBkaXNrLCBidXQgbm90IGluICclLipzJy4iLAogCQkgICAgZmlsZW5hbWUsIG9iamVjdF9uYW1lX2xlbiwgb2JqZWN0X25hbWUpOwotCWlmIChlcnJubyA9PSBFTk9FTlQgfHwgZXJybm8gPT0gRU5PVERJUikgeworCWlmIChpc19taXNzaW5nX2ZpbGVfZXJyb3IoZXJybm8pKSB7CiAJCWNoYXIgKmZ1bGxuYW1lID0geHN0cmZtdCgiJXMlcyIsIHByZWZpeCwgZmlsZW5hbWUpOwogCi0JCWlmICghZ2V0X3RyZWVfZW50cnkodHJlZV9zaGExLCBmdWxsbmFtZSwKLQkJCQkgICAgc2hhMSwgJm1vZGUpKSB7CisJCWlmICghZ2V0X3RyZWVfZW50cnkodHJlZV9vaWQtPmhhc2gsIGZ1bGxuYW1lLAorCQkJCSAgICBvaWQuaGFzaCwgJm1vZGUpKSB7CiAJCQlkaWUoIlBhdGggJyVzJyBleGlzdHMsIGJ1dCBub3QgJyVzJy5cbiIKIAkJCSAgICAiRGlkIHlvdSBtZWFuICclLipzOiVzJyBha2EgJyUuKnM6Li8lcyc/IiwKIAkJCSAgICBmdWxsbmFtZSwKQEAgLTE0NzEsNyArMTQ3NSw3IEBACiAKIAlpZiAoZmlsZV9leGlzdHMoZmlsZW5hbWUpKQogCQlkaWUoIlBhdGggJyVzJyBleGlzdHMgb24gZGlzaywgYnV0IG5vdCBpbiB0aGUgaW5kZXguIiwgZmlsZW5hbWUpOwotCWlmIChlcnJubyA9PSBFTk9FTlQgfHwgZXJybm8gPT0gRU5PVERJUikKKwlpZiAoaXNfbWlzc2luZ19maWxlX2Vycm9yKGVycm5vKSkKIAkJZGllKCJQYXRoICclcycgZG9lcyBub3QgZXhpc3QgKG5laXRoZXIgb24gZGlzayBub3IgaW4gdGhlIGluZGV4KS4iLAogCQkgICAgZmlsZW5hbWUpOwogCkBAIC0xNDkzLDIzICsxNDk3LDI0IEBACiAJCQkgICByZWwpOwogfQogCi1zdGF0aWMgaW50IGdldF9zaGExX3dpdGhfY29udGV4dF8xKGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJICAgdW5zaWduZWQgZmxhZ3MsCi0JCQkJICAgY29uc3QgY2hhciAqcHJlZml4LAotCQkJCSAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkJICAgc3RydWN0IG9iamVjdF9jb250ZXh0ICpvYykKK3N0YXRpYyBpbnQgZ2V0X29pZF93aXRoX2NvbnRleHRfMShjb25zdCBjaGFyICpuYW1lLAorCQkJCSAgdW5zaWduZWQgZmxhZ3MsCisJCQkJICBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICBzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgKm9jKQogewogCWludCByZXQsIGJyYWNrZXRfZGVwdGg7CiAJaW50IG5hbWVsZW4gPSBzdHJsZW4obmFtZSk7CiAJY29uc3QgY2hhciAqY3A7Ci0JaW50IG9ubHlfdG9fZGllID0gZmxhZ3MgJiBHRVRfU0hBMV9PTkxZX1RPX0RJRTsKKwlpbnQgb25seV90b19kaWUgPSBmbGFncyAmIEdFVF9PSURfT05MWV9UT19ESUU7CiAKIAlpZiAob25seV90b19kaWUpCi0JCWZsYWdzIHw9IEdFVF9TSEExX1FVSUVUTFk7CisJCWZsYWdzIHw9IEdFVF9PSURfUVVJRVRMWTsKIAogCW1lbXNldChvYywgMCwgc2l6ZW9mKCpvYykpOwogCW9jLT5tb2RlID0gU19JRklOVkFMSUQ7Ci0JcmV0ID0gZ2V0X3NoYTFfMShuYW1lLCBuYW1lbGVuLCBzaGExLCBmbGFncyk7CisJc3RyYnVmX2luaXQoJm9jLT5zeW1saW5rX3BhdGgsIDApOworCXJldCA9IGdldF9vaWRfMShuYW1lLCBuYW1lbGVuLCBvaWQsIGZsYWdzKTsKIAlpZiAoIXJldCkKIAkJcmV0dXJuIHJldDsKIAkvKgpAQCAtMTUyOSw3ICsxNTM0LDcgQEAKIAogCQkJZm9yX2VhY2hfcmVmKGhhbmRsZV9vbmVfcmVmLCAmbGlzdCk7CiAJCQljb21taXRfbGlzdF9zb3J0X2J5X2RhdGUoJmxpc3QpOwotCQkJcmV0dXJuIGdldF9zaGExX29uZWxpbmUobmFtZSArIDIsIHNoYTEsIGxpc3QpOworCQkJcmV0dXJuIGdldF9vaWRfb25lbGluZShuYW1lICsgMiwgb2lkLCBsaXN0KTsKIAkJfQogCQlpZiAobmFtZWxlbiA8IDMgfHwKIAkJICAgIG5hbWVbMl0gIT0gJzonIHx8CkBAIC0xNTQ3LDcgKzE1NTIsOCBAQAogCQkJbmFtZWxlbiA9IHN0cmxlbihjcCk7CiAJCX0KIAotCQlzdHJsY3B5KG9jLT5wYXRoLCBjcCwgc2l6ZW9mKG9jLT5wYXRoKSk7CisJCWlmIChmbGFncyAmIEdFVF9PSURfUkVDT1JEX1BBVEgpCisJCQlvYy0+cGF0aCA9IHhzdHJkdXAoY3ApOwogCiAJCWlmICghYWN0aXZlX2NhY2hlKQogCQkJcmVhZF9jYWNoZSgpOwpAQCAtMTU2MCw3ICsxNTY2LDcgQEAKIAkJCSAgICBtZW1jbXAoY2UtPm5hbWUsIGNwLCBuYW1lbGVuKSkKIAkJCQlicmVhazsKIAkJCWlmIChjZV9zdGFnZShjZSkgPT0gc3RhZ2UpIHsKLQkJCQloYXNoY3B5KHNoYTEsIGNlLT5vaWQuaGFzaCk7CisJCQkJb2lkY3B5KG9pZCwgJmNlLT5vaWQpOwogCQkJCW9jLT5tb2RlID0gY2UtPmNlX21vZGU7CiAJCQkJZnJlZShuZXdfcGF0aCk7CiAJCQkJcmV0dXJuIDA7CkBAIC0xNTgxLDM2ICsxNTg3LDM3IEBACiAJCQlicmVhazsKIAl9CiAJaWYgKCpjcCA9PSAnOicpIHsKLQkJdW5zaWduZWQgY2hhciB0cmVlX3NoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIHRyZWVfb2lkOwogCQlpbnQgbGVuID0gY3AgLSBuYW1lOwogCQl1bnNpZ25lZCBzdWJfZmxhZ3MgPSBmbGFnczsKIAotCQlzdWJfZmxhZ3MgJj0gfkdFVF9TSEExX0RJU0FNQklHVUFUT1JTOwotCQlzdWJfZmxhZ3MgfD0gR0VUX1NIQTFfVFJFRUlTSDsKKwkJc3ViX2ZsYWdzICY9IH5HRVRfT0lEX0RJU0FNQklHVUFUT1JTOworCQlzdWJfZmxhZ3MgfD0gR0VUX09JRF9UUkVFSVNIOwogCi0JCWlmICghZ2V0X3NoYTFfMShuYW1lLCBsZW4sIHRyZWVfc2hhMSwgc3ViX2ZsYWdzKSkgeworCQlpZiAoIWdldF9vaWRfMShuYW1lLCBsZW4sICZ0cmVlX29pZCwgc3ViX2ZsYWdzKSkgewogCQkJY29uc3QgY2hhciAqZmlsZW5hbWUgPSBjcCsxOwogCQkJY2hhciAqbmV3X2ZpbGVuYW1lID0gTlVMTDsKIAogCQkJbmV3X2ZpbGVuYW1lID0gcmVzb2x2ZV9yZWxhdGl2ZV9wYXRoKGZpbGVuYW1lKTsKIAkJCWlmIChuZXdfZmlsZW5hbWUpCiAJCQkJZmlsZW5hbWUgPSBuZXdfZmlsZW5hbWU7Ci0JCQlpZiAoZmxhZ3MgJiBHRVRfU0hBMV9GT0xMT1dfU1lNTElOS1MpIHsKLQkJCQlyZXQgPSBnZXRfdHJlZV9lbnRyeV9mb2xsb3dfc3ltbGlua3ModHJlZV9zaGExLAotCQkJCQlmaWxlbmFtZSwgc2hhMSwgJm9jLT5zeW1saW5rX3BhdGgsCisJCQlpZiAoZmxhZ3MgJiBHRVRfT0lEX0ZPTExPV19TWU1MSU5LUykgeworCQkJCXJldCA9IGdldF90cmVlX2VudHJ5X2ZvbGxvd19zeW1saW5rcyh0cmVlX29pZC5oYXNoLAorCQkJCQlmaWxlbmFtZSwgb2lkLT5oYXNoLCAmb2MtPnN5bWxpbmtfcGF0aCwKIAkJCQkJJm9jLT5tb2RlKTsKIAkJCX0gZWxzZSB7Ci0JCQkJcmV0ID0gZ2V0X3RyZWVfZW50cnkodHJlZV9zaGExLCBmaWxlbmFtZSwKLQkJCQkJCSAgICAgc2hhMSwgJm9jLT5tb2RlKTsKKwkJCQlyZXQgPSBnZXRfdHJlZV9lbnRyeSh0cmVlX29pZC5oYXNoLCBmaWxlbmFtZSwKKwkJCQkJCSAgICAgb2lkLT5oYXNoLCAmb2MtPm1vZGUpOwogCQkJCWlmIChyZXQgJiYgb25seV90b19kaWUpIHsKLQkJCQkJZGlhZ25vc2VfaW52YWxpZF9zaGExX3BhdGgocHJlZml4LAorCQkJCQlkaWFnbm9zZV9pbnZhbGlkX29pZF9wYXRoKHByZWZpeCwKIAkJCQkJCQkJICAgZmlsZW5hbWUsCi0JCQkJCQkJCSAgIHRyZWVfc2hhMSwKKwkJCQkJCQkJICAgJnRyZWVfb2lkLAogCQkJCQkJCQkgICBuYW1lLCBsZW4pOwogCQkJCX0KIAkJCX0KLQkJCWhhc2hjcHkob2MtPnRyZWUsIHRyZWVfc2hhMSk7Ci0JCQlzdHJsY3B5KG9jLT5wYXRoLCBmaWxlbmFtZSwgc2l6ZW9mKG9jLT5wYXRoKSk7CisJCQloYXNoY3B5KG9jLT50cmVlLCB0cmVlX29pZC5oYXNoKTsKKwkJCWlmIChmbGFncyAmIEdFVF9PSURfUkVDT1JEX1BBVEgpCisJCQkJb2MtPnBhdGggPSB4c3RyZHVwKGZpbGVuYW1lKTsKIAogCQkJZnJlZShuZXdfZmlsZW5hbWUpOwogCQkJcmV0dXJuIHJldDsKQEAgLTE2MzIsMTMgKzE2MzksMTMgQEAKIHZvaWQgbWF5YmVfZGllX29uX21pc3NwZWx0X29iamVjdF9uYW1lKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgb2M7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQlnZXRfc2hhMV93aXRoX2NvbnRleHRfMShuYW1lLCBHRVRfU0hBMV9PTkxZX1RPX0RJRSwgcHJlZml4LCBzaGExLCAmb2MpOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCWdldF9vaWRfd2l0aF9jb250ZXh0XzEobmFtZSwgR0VUX09JRF9PTkxZX1RPX0RJRSwgcHJlZml4LCAmb2lkLCAmb2MpOwogfQogCi1pbnQgZ2V0X3NoYTFfd2l0aF9jb250ZXh0KGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgZmxhZ3MsIHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCBvYmplY3RfY29udGV4dCAqb3JjKQoraW50IGdldF9vaWRfd2l0aF9jb250ZXh0KGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgZmxhZ3MsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgc3RydWN0IG9iamVjdF9jb250ZXh0ICpvYykKIHsKLQlpZiAoZmxhZ3MgJiBHRVRfU0hBMV9GT0xMT1dfU1lNTElOS1MgJiYgZmxhZ3MgJiBHRVRfU0hBMV9PTkxZX1RPX0RJRSkKKwlpZiAoZmxhZ3MgJiBHRVRfT0lEX0ZPTExPV19TWU1MSU5LUyAmJiBmbGFncyAmIEdFVF9PSURfT05MWV9UT19ESUUpCiAJCWRpZSgiQlVHOiBpbmNvbXBhdGlibGUgZmxhZ3MgZm9yIGdldF9zaGExX3dpdGhfY29udGV4dCIpOwotCXJldHVybiBnZXRfc2hhMV93aXRoX2NvbnRleHRfMShzdHIsIGZsYWdzLCBOVUxMLCBzaGExLCBvcmMpOworCXJldHVybiBnZXRfb2lkX3dpdGhfY29udGV4dF8xKHN0ciwgZmxhZ3MsIE5VTEwsIG9pZCwgb2MpOwogfQpkaWZmIC0tZ2l0IGEvc2hhMWNvbGxpc2lvbmRldGVjdGlvbiBiL3NoYTFjb2xsaXNpb25kZXRlY3Rpb24KbmV3IGZpbGUgbW9kZSAxNjAwMDAKaW5kZXggMDAwMDAwMC4uMTlkOTdiZgotLS0gL2Rldi9udWxsCisrKyBiL3NoYTFjb2xsaXNpb25kZXRlY3Rpb24KQEAgLTAsMCArMSBAQAorU3VicHJvamVjdCBjb21taXQgMTlkOTdiZjVhZjA1MzEyMjY3YzJlODc0ZWU2YmNmNTg0ZDllOTY4MQpkaWZmIC0tZ2l0IGEvc2hhMWRjLy5naXRhdHRyaWJ1dGVzIGIvc2hhMWRjLy5naXRhdHRyaWJ1dGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNTNmNDAKLS0tIC9kZXYvbnVsbAorKysgYi9zaGExZGMvLmdpdGF0dHJpYnV0ZXMKQEAgLTAsMCArMSBAQAorKiB3aGl0ZXNwYWNlPS1pbmRlbnQtd2l0aC1ub24tdGFiCmRpZmYgLS1naXQgYS9zaGExZGMvTElDRU5TRS50eHQgYi9zaGExZGMvTElDRU5TRS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEzZTZhMQotLS0gL2Rldi9udWxsCisrKyBiL3NoYTFkYy9MSUNFTlNFLnR4dApAQCAtMCwwICsxLDMwIEBACitNSVQgTGljZW5zZQorCitDb3B5cmlnaHQgKGMpIDIwMTc6CisgICAgTWFyYyBTdGV2ZW5zCisgICAgQ3J5cHRvbG9neSBHcm91cAorICAgIENlbnRydW0gV2lza3VuZGUgJiBJbmZvcm1hdGljYQorICAgIFAuTy4gQm94IDk0MDc5LCAxMDkwIEdCIEFtc3RlcmRhbSwgTmV0aGVybGFuZHMKKyAgICBtYXJjQG1hcmMtc3RldmVucy5ubAorCisgICAgRGFuIFNodW1vdworICAgIE1pY3Jvc29mdCBSZXNlYXJjaAorICAgIGRhbnNodUBtaWNyb3NvZnQuY29tCisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKK1NPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvc2hhMWRjL3NoYTEuYyBiL3NoYTFkYy9zaGExLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVlZGVkMQotLS0gL2Rldi9udWxsCisrKyBiL3NoYTFkYy9zaGExLmMKQEAgLTAsMCArMSwxOTAwIEBACisvKioqCisqIENvcHlyaWdodCAyMDE3IE1hcmMgU3RldmVucyA8bWFyY0BtYXJjLXN0ZXZlbnMubmw+LCBEYW4gU2h1bW93IChkYW5zaHVAbWljcm9zb2Z0LmNvbSkKKyogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIE1JVCBTb2Z0d2FyZSBMaWNlbnNlLgorKiBTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRS50eHQgb3IgY29weSBhdAorKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAorKioqLworCisjaWZuZGVmIFNIQTFEQ19OT19TVEFOREFSRF9JTkNMVURFUworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPG1lbW9yeS5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaWZkZWYgX191bml4X18KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4gLyogbWFrZSBzdXJlIG1hY3JvcyBsaWtlIF9CSUdfRU5ESUFOIHZpc2libGUgKi8KKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBTSEExRENfQ1VTVE9NX0lOQ0xVREVfU0hBMV9DCisjaW5jbHVkZSBTSEExRENfQ1VTVE9NX0lOQ0xVREVfU0hBMV9DCisjZW5kaWYKKworI2lmbmRlZiBTSEExRENfSU5JVF9TQUZFX0hBU0hfREVGQVVMVAorI2RlZmluZSBTSEExRENfSU5JVF9TQUZFX0hBU0hfREVGQVVMVCAxCisjZW5kaWYKKworI2luY2x1ZGUgInNoYTEuaCIKKyNpbmNsdWRlICJ1YmNfY2hlY2suaCIKKworI2lmIChkZWZpbmVkKF9fYW1kNjRfXykgfHwgZGVmaW5lZChfX2FtZDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX194ODZfNjQpIHx8IFwKKyAgICAgZGVmaW5lZChpMzg2KSB8fCBkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2k0ODZfXykgIHx8IFwKKyAgICAgZGVmaW5lZChfX2k1ODZfXykgfHwgZGVmaW5lZChfX2k2ODZfXykgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCBkZWZpbmVkKF9fWDg2X18pIHx8IFwKKyAgICAgZGVmaW5lZChfWDg2XykgfHwgZGVmaW5lZChfX1RIV19JTlRFTF9fKSB8fCBkZWZpbmVkKF9fSTg2X18pIHx8IGRlZmluZWQoX19JTlRFTF9fKSB8fCBcCisgICAgIGRlZmluZWQoX18zODYpIHx8IGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9NX0FNRDY0KSkKKyNkZWZpbmUgU0hBMURDX09OX0lOVEVMX0xJS0VfUFJPQ0VTU09SCisjZW5kaWYKKworLyoKKyAgIEJlY2F1c2UgTGl0dGxlLUVuZGlhbiBhcmNoaXRlY3R1cmVzIGFyZSBtb3N0IGNvbW1vbiwKKyAgIHdlIG9ubHkgc2V0IFNIQTFEQ19CSUdFTkRJQU4gaWYgb25lIG9mIHRoZXNlIGNvbmRpdGlvbnMgaXMgbWV0LgorICAgTm90ZSB0aGF0IGFsbCBNU0ZUIHBsYXRmb3JtcyBhcmUgbGl0dGxlIGVuZGlhbiwKKyAgIHNvIG5vbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkIHVuZGVyIHRoZSBNU0MgY29tcGlsZXIuCisgICBJZiB5b3UgYXJlIGNvbXBpbGluZyBvbiBhIGJpZyBlbmRpYW4gcGxhdGZvcm0gYW5kIHlvdXIgY29tcGlsZXIgZG9lcyBub3QgZGVmaW5lIG9uZSBvZiB0aGVzZSwKKyAgIHlvdSB3aWxsIGhhdmUgdG8gYWRkIHdoYXRldmVyIG1hY3JvcyB5b3VyIHRvb2wgY2hhaW4gZGVmaW5lcyB0byBpbmRpY2F0ZSBCaWctRW5kaWFubmVzcy4KKyAqLworCisjaWYgZGVmaW5lZChfX0JZVEVfT1JERVJfXykgJiYgZGVmaW5lZChfX09SREVSX0JJR19FTkRJQU5fXykKKy8qCisgKiBTaG91bGQgZGV0ZWN0IEJpZyBFbmRpYW4gdW5kZXIgR0NDIHNpbmNlIGF0IGxlYXN0IDQuNi4wIChnY2Mgc3ZuCisgKiByZXYgIzE2NTg4MSkuIFNlZQorICogaHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2NwcC9Db21tb24tUHJlZGVmaW5lZC1NYWNyb3MuaHRtbAorICoKKyAqIFRoaXMgYWxzbyB3b3JrcyB1bmRlciBjbGFuZyBzaW5jZSAzLjIsIGl0IGNvcGllZCB0aGUgR0NDLWlzbS4gU2VlCisgKiBjbGFuZy5naXQncyAzYjE5OGE5N2QyICgiUHJlcHJvY2Vzc29yOiBhZGQgX19CWVRFX09SREVSX18KKyAqIHByZWRlZmluZWQgbWFjcm8iLCAyMDEyLTA3LTI3KQorICovCisjaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9CSUdfRU5ESUFOX18KKyNkZWZpbmUgU0hBMURDX0JJR0VORElBTgorI2VuZGlmCisKKy8qIE5vdCB1bmRlciBHQ0MtYWxpa2UgKi8KKyNlbGlmIGRlZmluZWQoX19CWVRFX09SREVSKSAmJiBkZWZpbmVkKF9fQklHX0VORElBTikKKy8qCisgKiBTaG91bGQgZGV0ZWN0IEJpZyBFbmRpYW4gdW5kZXIgZ2xpYmMuZ2l0IHNpbmNlIDE0MjQ1ZWI3MGUgKCJlbnRlcmVkCisgKiBpbnRvIFJDUyIsIDE5OTItMTEtMjUpLiBEZWZpbmVkIGluIDxlbmRpYW4uaD4gd2hpY2ggd2lsbCBoYXZlIGJlZW4KKyAqIGJyb3VnaHQgaW4gYnkgc3RhbmRhcmQgaGVhZGVycy4gU2VlIGdsaWJjLmdpdCBhbmQKKyAqIGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvcHJlZGVmL3dpa2kvRW5kaWFubmVzcy8KKyAqLworI2lmIF9fQllURV9PUkRFUiA9PSBfX0JJR19FTkRJQU4KKyNkZWZpbmUgU0hBMURDX0JJR0VORElBTgorI2VuZGlmCisKKy8qIE5vdCB1bmRlciBHQ0MtYWxpa2Ugb3IgZ2xpYmMgKi8KKyNlbGlmIGRlZmluZWQoX0JZVEVfT1JERVIpICYmIGRlZmluZWQoX0JJR19FTkRJQU4pICYmIGRlZmluZWQoX0xJVFRMRV9FTkRJQU4pCisvKgorICogKkJTRCBhbmQgbmV3bGliIChlbWJlZGVkIGxpbnV4LCBjeWd3aW4sIGV0YykuCisgKiB0aGUgZGVmaW5lZChfQklHX0VORElBTikgJiYgZGVmaW5lZChfTElUVExFX0VORElBTikgcGFydCBwcmV2ZW50cworICogdGhpcyBjb25kaXRpb24gZnJvbSBtYXRjaGluZyB3aXRoIFNvbGFyaXMvc3BhcmMuCisgKiAoU29sYXJpcyBkZWZpbmVzIG9ubHkgb25lIGVuZGlhbiBtYWNybykKKyAqLworI2lmIF9CWVRFX09SREVSID09IF9CSUdfRU5ESUFOCisjZGVmaW5lIFNIQTFEQ19CSUdFTkRJQU4KKyNlbmRpZgorCisvKiBOb3QgdW5kZXIgR0NDLWFsaWtlIG9yIGdsaWJjIG9yICpCU0Qgb3IgbmV3bGliICovCisjZWxpZiAoZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19USFVNQkVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykgfHwgXAorICAgICAgIGRlZmluZWQoX19NSVBTRUJfXykgfHwgZGVmaW5lZChfX01JUFNFQikgfHwgZGVmaW5lZChfTUlQU0VCKSB8fCBcCisgICAgICAgZGVmaW5lZChfX3NwYXJjKSkKKy8qCisgKiBTaG91bGQgZGVmaW5lIEJpZyBFbmRpYW4gZm9yIGEgd2hpdGVsaXN0IG9mIGtub3duIHByb2Nlc3NvcnMuIFNlZQorICogaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9wcmVkZWYvd2lraS9FbmRpYW5uZXNzLyBhbmQKKyAqIGh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobmV0d29yay9zZXJ2ZXItc3RvcmFnZS9zb2xhcmlzL3BvcnRpbmd0b3NvbGFyaXMtMTM4NTE0Lmh0bWwKKyAqLworI2RlZmluZSBTSEExRENfQklHRU5ESUFOCisKKy8qIE5vdCB1bmRlciBHQ0MtYWxpa2Ugb3IgZ2xpYmMgb3IgKkJTRCBvciBuZXdsaWIgb3IgPHByb2Nlc3NvciB3aGl0ZWxpc3Q+ICovCisjZWxpZiBkZWZpbmVkKFNIQTFEQ19PTl9JTlRFTF9MSUtFX1BST0NFU1NPUikKKy8qCisgKiBBcyBhIGxhc3QgcmVzb3J0IGJlZm9yZSB3ZSBkbyBhbnl0aGluZyBlbHNlIHdlJ3JlIG5vdCAxMDAlIHN1cmUKKyAqIGFib3V0IGJlbG93LCB3ZSBibGFja2xpc3Qgc3BlY2lmaWMgcHJvY2Vzc29ycyBoZXJlLiBXZSBjb3VsZCBhZGQKKyAqIG1vcmUsIHNlZSBlLmcuIGh0dHBzOi8vd2lraS5kZWJpYW4ub3JnL0FyY2hpdGVjdHVyZVNwZWNpZmljc01lbW8KKyAqLworI2Vsc2UgLyogTm90IHVuZGVyIEdDQy1hbGlrZSBvciBnbGliYyBvciAqQlNEIG9yIG5ld2xpYiBvciA8cHJvY2Vzc29yIHdoaXRlbGlzdD4gIG9yIDxwcm9jZXNzb3IgYmxhY2tsaXN0PiAqLworCisvKiBXZSBkbyBub3RoaW5nIG1vcmUgaGVyZSBmb3Igbm93ICovCisvKiNlcnJvciAiVW5jb21tZW50IHRoaXMgdG8gc2VlIGlmIHlvdSBmYWxsIHRocm91Z2ggYWxsIHRoZSBkZXRlY3Rpb24iKi8KKworI2VuZGlmIC8qIEJpZyBFbmRpYW4gZGV0ZWN0aW9uICovCisKKyNpZiAoZGVmaW5lZChTSEExRENfRk9SQ0VfTElUVExFRU5ESUFOKSAmJiBkZWZpbmVkKFNIQTFEQ19CSUdFTkRJQU4pKQorI3VuZGVmIFNIQTFEQ19CSUdFTkRJQU4KKyNlbmRpZgorI2lmIChkZWZpbmVkKFNIQTFEQ19GT1JDRV9CSUdFTkRJQU4pICYmICFkZWZpbmVkKFNIQTFEQ19CSUdFTkRJQU4pKQorI2RlZmluZSBTSEExRENfQklHRU5ESUFOCisjZW5kaWYKKy8qRU5ESUFOTkVTUyBTRUxFQ1RJT04qLworCisjaWYgZGVmaW5lZChTSEExRENfRk9SQ0VfVU5BTElHTkVEX0FDQ0VTUykgfHwgZGVmaW5lZChTSEExRENfT05fSU5URUxfTElLRV9QUk9DRVNTT1IpCisjZGVmaW5lIFNIQTFEQ19BTExPV19VTkFMSUdORURfQUNDRVNTCisjZW5kaWYgLypVTkFMSUdOTUVOVCBERVRFQ1RJT04qLworCisKKyNkZWZpbmUgcm90YXRlX3JpZ2h0KHgsbikgKCgoeCk+PihuKSl8KCh4KTw8KDMyLShuKSkpKQorI2RlZmluZSByb3RhdGVfbGVmdCh4LG4pICAoKCh4KTw8KG4pKXwoKHgpPj4oMzItKG4pKSkpCisKKyNkZWZpbmUgc2hhMV9ic3dhcDMyKHgpIFwKKwl7eCA9ICgoeCA8PCA4KSAmIDB4RkYwMEZGMDApIHwgKCh4ID4+IDgpICYgMHhGRjAwRkYpOyB4ID0gKHggPDwgMTYpIHwgKHggPj4gMTYpO30KKworI2RlZmluZSBzaGExX21peChXLCB0KSAgKHJvdGF0ZV9sZWZ0KFdbdCAtIDNdIF4gV1t0IC0gOF0gXiBXW3QgLSAxNF0gXiBXW3QgLSAxNl0sIDEpKQorCisjaWZkZWYgU0hBMURDX0JJR0VORElBTgorCSNkZWZpbmUgc2hhMV9sb2FkKG0sIHQsIHRlbXApICB7IHRlbXAgPSBtW3RdOyB9CisjZWxzZQorCSNkZWZpbmUgc2hhMV9sb2FkKG0sIHQsIHRlbXApICB7IHRlbXAgPSBtW3RdOyBzaGExX2Jzd2FwMzIodGVtcCk7IH0KKyNlbmRpZgorCisjZGVmaW5lIHNoYTFfc3RvcmUoVywgdCwgeCkJKih2b2xhdGlsZSB1aW50MzJfdCAqKSZXW3RdID0geAorCisjZGVmaW5lIHNoYTFfZjEoYixjLGQpICgoZCleKChiKSYoKGMpXihkKSkpKQorI2RlZmluZSBzaGExX2YyKGIsYyxkKSAoKGIpXihjKV4oZCkpCisjZGVmaW5lIHNoYTFfZjMoYixjLGQpICgoKGIpJihjKSkrKChkKSYoKGIpXihjKSkpKQorI2RlZmluZSBzaGExX2Y0KGIsYyxkKSAoKGIpXihjKV4oZCkpCisKKyNkZWZpbmUgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChhLCBiLCBjLCBkLCBlLCBtLCB0KSBcCisJeyBlICs9IHJvdGF0ZV9sZWZ0KGEsIDUpICsgc2hhMV9mMShiLGMsZCkgKyAweDVBODI3OTk5ICsgbVt0XTsgYiA9IHJvdGF0ZV9sZWZ0KGIsIDMwKTsgfQorI2RlZmluZSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIG0sIHQpIFwKKwl7IGUgKz0gcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2YyKGIsYyxkKSArIDB4NkVEOUVCQTEgKyBtW3RdOyBiID0gcm90YXRlX2xlZnQoYiwgMzApOyB9CisjZGVmaW5lIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgbSwgdCkgXAorCXsgZSArPSByb3RhdGVfbGVmdChhLCA1KSArIHNoYTFfZjMoYixjLGQpICsgMHg4RjFCQkNEQyArIG1bdF07IGIgPSByb3RhdGVfbGVmdChiLCAzMCk7IH0KKyNkZWZpbmUgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBtLCB0KSBcCisJeyBlICs9IHJvdGF0ZV9sZWZ0KGEsIDUpICsgc2hhMV9mNChiLGMsZCkgKyAweENBNjJDMUQ2ICsgbVt0XTsgYiA9IHJvdGF0ZV9sZWZ0KGIsIDMwKTsgfQorCisjZGVmaW5lIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbSwgdCkgXAorCXsgYiA9IHJvdGF0ZV9yaWdodChiLCAzMCk7IGUgLT0gcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2YxKGIsYyxkKSArIDB4NUE4Mjc5OTkgKyBtW3RdOyB9CisjZGVmaW5lIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbSwgdCkgXAorCXsgYiA9IHJvdGF0ZV9yaWdodChiLCAzMCk7IGUgLT0gcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2YyKGIsYyxkKSArIDB4NkVEOUVCQTEgKyBtW3RdOyB9CisjZGVmaW5lIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbSwgdCkgXAorCXsgYiA9IHJvdGF0ZV9yaWdodChiLCAzMCk7IGUgLT0gcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2YzKGIsYyxkKSArIDB4OEYxQkJDREMgKyBtW3RdOyB9CisjZGVmaW5lIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbSwgdCkgXAorCXsgYiA9IHJvdGF0ZV9yaWdodChiLCAzMCk7IGUgLT0gcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2Y0KGIsYyxkKSArIDB4Q0E2MkMxRDYgKyBtW3RdOyB9CisKKyNkZWZpbmUgU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChhLCBiLCBjLCBkLCBlLCBtLCBXLCB0LCB0ZW1wKSBcCisJe3NoYTFfbG9hZChtLCB0LCB0ZW1wKTsgc2hhMV9zdG9yZShXLCB0LCB0ZW1wKTsgZSArPSB0ZW1wICsgcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2YxKGIsYyxkKSArIDB4NUE4Mjc5OTk7IGIgPSByb3RhdGVfbGVmdChiLCAzMCk7fQorCisjZGVmaW5lIFNIQTFDT01QUkVTU19GVUxMX1JPVU5EMV9TVEVQX0VYUEFORChhLCBiLCBjLCBkLCBlLCBXLCB0LCB0ZW1wKSBcCisJe3RlbXAgPSBzaGExX21peChXLCB0KTsgc2hhMV9zdG9yZShXLCB0LCB0ZW1wKTsgZSArPSB0ZW1wICsgcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2YxKGIsYyxkKSArIDB4NUE4Mjc5OTk7IGIgPSByb3RhdGVfbGVmdChiLCAzMCk7IH0KKworI2RlZmluZSBTSEExQ09NUFJFU1NfRlVMTF9ST1VORDJfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCB0LCB0ZW1wKSBcCisJe3RlbXAgPSBzaGExX21peChXLCB0KTsgc2hhMV9zdG9yZShXLCB0LCB0ZW1wKTsgZSArPSB0ZW1wICsgcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2YyKGIsYyxkKSArIDB4NkVEOUVCQTE7IGIgPSByb3RhdGVfbGVmdChiLCAzMCk7IH0KKworI2RlZmluZSBTSEExQ09NUFJFU1NfRlVMTF9ST1VORDNfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCB0LCB0ZW1wKSBcCisJe3RlbXAgPSBzaGExX21peChXLCB0KTsgc2hhMV9zdG9yZShXLCB0LCB0ZW1wKTsgZSArPSB0ZW1wICsgcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2YzKGIsYyxkKSArIDB4OEYxQkJDREM7IGIgPSByb3RhdGVfbGVmdChiLCAzMCk7IH0KKworI2RlZmluZSBTSEExQ09NUFJFU1NfRlVMTF9ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCB0LCB0ZW1wKSBcCisJe3RlbXAgPSBzaGExX21peChXLCB0KTsgc2hhMV9zdG9yZShXLCB0LCB0ZW1wKTsgZSArPSB0ZW1wICsgcm90YXRlX2xlZnQoYSwgNSkgKyBzaGExX2Y0KGIsYyxkKSArIDB4Q0E2MkMxRDY7IGIgPSByb3RhdGVfbGVmdChiLCAzMCk7IH0KKworCisjZGVmaW5lIFNIQTFfU1RPUkVfU1RBVEUoaSkgc3RhdGVzW2ldWzBdID0gYTsgc3RhdGVzW2ldWzFdID0gYjsgc3RhdGVzW2ldWzJdID0gYzsgc3RhdGVzW2ldWzNdID0gZDsgc3RhdGVzW2ldWzRdID0gZTsKKworI2lmZGVmIEJVSUxETk9DT0xMREVURUNUU0hBMUNPTVBSRVNTSU9OCit2b2lkIHNoYTFfY29tcHJlc3Npb24odWludDMyX3QgaWh2WzVdLCBjb25zdCB1aW50MzJfdCBtWzE2XSkKK3sKKwl1aW50MzJfdCBXWzgwXTsKKwl1aW50MzJfdCBhLGIsYyxkLGU7CisJdW5zaWduZWQgaTsKKworCW1lbWNweShXLCBtLCAxNiAqIDQpOworCWZvciAoaSA9IDE2OyBpIDwgODA7ICsraSkKKwkJV1tpXSA9IHNoYTFfbWl4KFcsIGkpOworCisJYSA9IGlodlswXTsgYiA9IGlodlsxXTsgYyA9IGlodlsyXTsgZCA9IGlodlszXTsgZSA9IGlodls0XTsKKworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoYSwgYiwgYywgZCwgZSwgVywgMCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCAxKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDIpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoYywgZCwgZSwgYSwgYiwgVywgMyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA0KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDUpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA3KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDgpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoYiwgYywgZCwgZSwgYSwgVywgOSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCAxMCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCAxMSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCAxMik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCAxMyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCAxNCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCAxNSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCAxNik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCAxNyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCAxOCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCAxOSk7CisKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDIwKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDIxKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDIyKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDIzKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDI0KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDI1KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDI2KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDI3KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDI4KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDI5KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDMwKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDMxKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDMyKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDMzKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDM0KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDM1KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDM2KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDM3KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDM4KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDM5KTsKKworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgVywgNDApOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNDEpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgVywgNDIpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgVywgNDMpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgVywgNDQpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgVywgNDUpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNDYpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgVywgNDcpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgVywgNDgpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgVywgNDkpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgVywgNTApOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNTEpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgVywgNTIpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgVywgNTMpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgVywgNTQpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgVywgNTUpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNTYpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgVywgNTcpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgVywgNTgpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgVywgNTkpOworCisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCA2MCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCA2MSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA2Mik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCA2Myk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA2NCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCA2NSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCA2Nik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA2Nyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCA2OCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA2OSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCA3MCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCA3MSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA3Mik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCA3Myk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA3NCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCA3NSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCA3Nik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA3Nyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCA3OCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA3OSk7CisKKwlpaHZbMF0gKz0gYTsgaWh2WzFdICs9IGI7IGlodlsyXSArPSBjOyBpaHZbM10gKz0gZDsgaWh2WzRdICs9IGU7Cit9CisjZW5kaWYgLypCVUlMRE5PQ09MTERFVEVDVFNIQTFDT01QUkVTU0lPTiovCisKKworc3RhdGljIHZvaWQgc2hhMV9jb21wcmVzc2lvbl9XKHVpbnQzMl90IGlodls1XSwgY29uc3QgdWludDMyX3QgV1s4MF0pCit7CisJdWludDMyX3QgYSA9IGlodlswXSwgYiA9IGlodlsxXSwgYyA9IGlodlsyXSwgZCA9IGlodlszXSwgZSA9IGlodls0XTsKKworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoYSwgYiwgYywgZCwgZSwgVywgMCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCAxKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDIpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoYywgZCwgZSwgYSwgYiwgVywgMyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA0KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDUpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA3KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDgpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoYiwgYywgZCwgZSwgYSwgVywgOSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCAxMCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCAxMSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCAxMik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCAxMyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCAxNCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCAxNSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCAxNik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCAxNyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCAxOCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCAxOSk7CisKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDIwKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDIxKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDIyKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDIzKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDI0KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDI1KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDI2KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDI3KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDI4KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDI5KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDMwKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDMxKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDMyKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDMzKTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDM0KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDM1KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDM2KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDM3KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDM4KTsKKwlIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDM5KTsKKworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgVywgNDApOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNDEpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgVywgNDIpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgVywgNDMpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgVywgNDQpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgVywgNDUpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNDYpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgVywgNDcpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgVywgNDgpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgVywgNDkpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgVywgNTApOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNTEpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgVywgNTIpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgVywgNTMpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgVywgNTQpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgVywgNTUpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgVywgNTYpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgVywgNTcpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgVywgNTgpOworCUhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgVywgNTkpOworCisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCA2MCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCA2MSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA2Mik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCA2Myk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA2NCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCA2NSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCA2Nik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA2Nyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCA2OCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA2OSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCA3MCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCA3MSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA3Mik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCA3Myk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA3NCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBXLCA3NSk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBXLCA3Nik7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBXLCA3Nyk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBXLCA3OCk7CisJSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBXLCA3OSk7CisKKwlpaHZbMF0gKz0gYTsgaWh2WzFdICs9IGI7IGlodlsyXSArPSBjOyBpaHZbM10gKz0gZDsgaWh2WzRdICs9IGU7Cit9CisKKworCit2b2lkIHNoYTFfY29tcHJlc3Npb25fc3RhdGVzKHVpbnQzMl90IGlodls1XSwgY29uc3QgdWludDMyX3QgbVsxNl0sIHVpbnQzMl90IFdbODBdLCB1aW50MzJfdCBzdGF0ZXNbODBdWzVdKQoreworCXVpbnQzMl90IGEgPSBpaHZbMF0sIGIgPSBpaHZbMV0sIGMgPSBpaHZbMl0sIGQgPSBpaHZbM10sIGUgPSBpaHZbNF07CisJdWludDMyX3QgdGVtcDsKKworI2lmZGVmIERPU1RPUkVTVEFURTAwCisJU0hBMV9TVE9SRV9TVEFURSgwKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChhLCBiLCBjLCBkLCBlLCBtLCBXLCAwLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTAxCisJU0hBMV9TVE9SRV9TVEFURSgxKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChlLCBhLCBiLCBjLCBkLCBtLCBXLCAxLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTAyCisJU0hBMV9TVE9SRV9TVEFURSgyKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChkLCBlLCBhLCBiLCBjLCBtLCBXLCAyLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTAzCisJU0hBMV9TVE9SRV9TVEFURSgzKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChjLCBkLCBlLCBhLCBiLCBtLCBXLCAzLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTA0CisJU0hBMV9TVE9SRV9TVEFURSg0KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChiLCBjLCBkLCBlLCBhLCBtLCBXLCA0LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTA1CisJU0hBMV9TVE9SRV9TVEFURSg1KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChhLCBiLCBjLCBkLCBlLCBtLCBXLCA1LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTA2CisJU0hBMV9TVE9SRV9TVEFURSg2KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChlLCBhLCBiLCBjLCBkLCBtLCBXLCA2LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTA3CisJU0hBMV9TVE9SRV9TVEFURSg3KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChkLCBlLCBhLCBiLCBjLCBtLCBXLCA3LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTA4CisJU0hBMV9TVE9SRV9TVEFURSg4KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChjLCBkLCBlLCBhLCBiLCBtLCBXLCA4LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTA5CisJU0hBMV9TVE9SRV9TVEFURSg5KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChiLCBjLCBkLCBlLCBhLCBtLCBXLCA5LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTEwCisJU0hBMV9TVE9SRV9TVEFURSgxMCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EMV9TVEVQX0xPQUQoYSwgYiwgYywgZCwgZSwgbSwgVywgMTAsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMTEKKwlTSEExX1NUT1JFX1NUQVRFKDExKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChlLCBhLCBiLCBjLCBkLCBtLCBXLCAxMSwgdGVtcCk7CisKKyNpZmRlZiBET1NUT1JFU1RBVEUxMgorCVNIQTFfU1RPUkVfU1RBVEUoMTIpCisjZW5kaWYKKwlTSEExQ09NUFJFU1NfRlVMTF9ST1VORDFfU1RFUF9MT0FEKGQsIGUsIGEsIGIsIGMsIG0sIFcsIDEyLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTEzCisJU0hBMV9TVE9SRV9TVEFURSgxMykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EMV9TVEVQX0xPQUQoYywgZCwgZSwgYSwgYiwgbSwgVywgMTMsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMTQKKwlTSEExX1NUT1JFX1NUQVRFKDE0KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfTE9BRChiLCBjLCBkLCBlLCBhLCBtLCBXLCAxNCwgdGVtcCk7CisKKyNpZmRlZiBET1NUT1JFU1RBVEUxNQorCVNIQTFfU1RPUkVfU1RBVEUoMTUpCisjZW5kaWYKKwlTSEExQ09NUFJFU1NfRlVMTF9ST1VORDFfU1RFUF9MT0FEKGEsIGIsIGMsIGQsIGUsIG0sIFcsIDE1LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTE2CisJU0hBMV9TVE9SRV9TVEFURSgxNikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EMV9TVEVQX0VYUEFORChlLCBhLCBiLCBjLCBkLCBXLCAxNiwgdGVtcCk7CisKKyNpZmRlZiBET1NUT1JFU1RBVEUxNworCVNIQTFfU1RPUkVfU1RBVEUoMTcpCisjZW5kaWYKKwlTSEExQ09NUFJFU1NfRlVMTF9ST1VORDFfU1RFUF9FWFBBTkQoZCwgZSwgYSwgYiwgYywgVywgMTcsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMTgKKwlTSEExX1NUT1JFX1NUQVRFKDE4KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQxX1NURVBfRVhQQU5EKGMsIGQsIGUsIGEsIGIsIFcsIDE4LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTE5CisJU0hBMV9TVE9SRV9TVEFURSgxOSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EMV9TVEVQX0VYUEFORChiLCBjLCBkLCBlLCBhLCBXLCAxOSwgdGVtcCk7CisKKworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjAKKwlTSEExX1NUT1JFX1NUQVRFKDIwKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYSwgYiwgYywgZCwgZSwgVywgMjAsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjEKKwlTSEExX1NUT1JFX1NUQVRFKDIxKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoZSwgYSwgYiwgYywgZCwgVywgMjEsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjIKKwlTSEExX1NUT1JFX1NUQVRFKDIyKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoZCwgZSwgYSwgYiwgYywgVywgMjIsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjMKKwlTSEExX1NUT1JFX1NUQVRFKDIzKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYywgZCwgZSwgYSwgYiwgVywgMjMsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjQKKwlTSEExX1NUT1JFX1NUQVRFKDI0KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYiwgYywgZCwgZSwgYSwgVywgMjQsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjUKKwlTSEExX1NUT1JFX1NUQVRFKDI1KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYSwgYiwgYywgZCwgZSwgVywgMjUsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjYKKwlTSEExX1NUT1JFX1NUQVRFKDI2KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoZSwgYSwgYiwgYywgZCwgVywgMjYsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjcKKwlTSEExX1NUT1JFX1NUQVRFKDI3KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoZCwgZSwgYSwgYiwgYywgVywgMjcsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjgKKwlTSEExX1NUT1JFX1NUQVRFKDI4KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYywgZCwgZSwgYSwgYiwgVywgMjgsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMjkKKwlTSEExX1NUT1JFX1NUQVRFKDI5KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYiwgYywgZCwgZSwgYSwgVywgMjksIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzAKKwlTSEExX1NUT1JFX1NUQVRFKDMwKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYSwgYiwgYywgZCwgZSwgVywgMzAsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzEKKwlTSEExX1NUT1JFX1NUQVRFKDMxKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoZSwgYSwgYiwgYywgZCwgVywgMzEsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzIKKwlTSEExX1NUT1JFX1NUQVRFKDMyKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoZCwgZSwgYSwgYiwgYywgVywgMzIsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzMKKwlTSEExX1NUT1JFX1NUQVRFKDMzKQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYywgZCwgZSwgYSwgYiwgVywgMzMsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzQKKwlTSEExX1NUT1JFX1NUQVRFKDM0KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYiwgYywgZCwgZSwgYSwgVywgMzQsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzUKKwlTSEExX1NUT1JFX1NUQVRFKDM1KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYSwgYiwgYywgZCwgZSwgVywgMzUsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzYKKwlTSEExX1NUT1JFX1NUQVRFKDM2KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoZSwgYSwgYiwgYywgZCwgVywgMzYsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzcKKwlTSEExX1NUT1JFX1NUQVRFKDM3KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoZCwgZSwgYSwgYiwgYywgVywgMzcsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzgKKwlTSEExX1NUT1JFX1NUQVRFKDM4KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYywgZCwgZSwgYSwgYiwgVywgMzgsIHRlbXApOworCisjaWZkZWYgRE9TVE9SRVNUQVRFMzkKKwlTSEExX1NUT1JFX1NUQVRFKDM5KQorI2VuZGlmCisJU0hBMUNPTVBSRVNTX0ZVTExfUk9VTkQyX1NURVAoYiwgYywgZCwgZSwgYSwgVywgMzksIHRlbXApOworCisKKworI2lmZGVmIERPU1RPUkVTVEFURTQwCisJU0hBMV9TVE9SRV9TVEFURSg0MCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDQwLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQxCisJU0hBMV9TVE9SRV9TVEFURSg0MSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDQxLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQyCisJU0hBMV9TVE9SRV9TVEFURSg0MikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDQyLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQzCisJU0hBMV9TVE9SRV9TVEFURSg0MykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDQzLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQ0CisJU0hBMV9TVE9SRV9TVEFURSg0NCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDQ0LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQ1CisJU0hBMV9TVE9SRV9TVEFURSg0NSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDQ1LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQ2CisJU0hBMV9TVE9SRV9TVEFURSg0NikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDQ2LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQ3CisJU0hBMV9TVE9SRV9TVEFURSg0NykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDQ3LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQ4CisJU0hBMV9TVE9SRV9TVEFURSg0OCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDQ4LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTQ5CisJU0hBMV9TVE9SRV9TVEFURSg0OSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDQ5LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTUwCisJU0hBMV9TVE9SRV9TVEFURSg1MCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDUwLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTUxCisJU0hBMV9TVE9SRV9TVEFURSg1MSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDUxLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTUyCisJU0hBMV9TVE9SRV9TVEFURSg1MikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDUyLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTUzCisJU0hBMV9TVE9SRV9TVEFURSg1MykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDUzLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTU0CisJU0hBMV9TVE9SRV9TVEFURSg1NCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDU0LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTU1CisJU0hBMV9TVE9SRV9TVEFURSg1NSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDU1LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTU2CisJU0hBMV9TVE9SRV9TVEFURSg1NikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDU2LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTU3CisJU0hBMV9TVE9SRV9TVEFURSg1NykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDU3LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTU4CisJU0hBMV9TVE9SRV9TVEFURSg1OCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDU4LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTU5CisJU0hBMV9TVE9SRV9TVEFURSg1OSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5EM19TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDU5LCB0ZW1wKTsKKworCisKKworI2lmZGVmIERPU1RPUkVTVEFURTYwCisJU0hBMV9TVE9SRV9TVEFURSg2MCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDYwLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTYxCisJU0hBMV9TVE9SRV9TVEFURSg2MSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDYxLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTYyCisJU0hBMV9TVE9SRV9TVEFURSg2MikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDYyLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTYzCisJU0hBMV9TVE9SRV9TVEFURSg2MykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDYzLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTY0CisJU0hBMV9TVE9SRV9TVEFURSg2NCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDY0LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTY1CisJU0hBMV9TVE9SRV9TVEFURSg2NSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDY1LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTY2CisJU0hBMV9TVE9SRV9TVEFURSg2NikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDY2LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTY3CisJU0hBMV9TVE9SRV9TVEFURSg2NykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDY3LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTY4CisJU0hBMV9TVE9SRV9TVEFURSg2OCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDY4LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTY5CisJU0hBMV9TVE9SRV9TVEFURSg2OSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDY5LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTcwCisJU0hBMV9TVE9SRV9TVEFURSg3MCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDcwLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTcxCisJU0hBMV9TVE9SRV9TVEFURSg3MSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDcxLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTcyCisJU0hBMV9TVE9SRV9TVEFURSg3MikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDcyLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTczCisJU0hBMV9TVE9SRV9TVEFURSg3MykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDczLCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTc0CisJU0hBMV9TVE9SRV9TVEFURSg3NCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDc0LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTc1CisJU0hBMV9TVE9SRV9TVEFURSg3NSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGEsIGIsIGMsIGQsIGUsIFcsIDc1LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTc2CisJU0hBMV9TVE9SRV9TVEFURSg3NikKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGUsIGEsIGIsIGMsIGQsIFcsIDc2LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTc3CisJU0hBMV9TVE9SRV9TVEFURSg3NykKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGQsIGUsIGEsIGIsIGMsIFcsIDc3LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTc4CisJU0hBMV9TVE9SRV9TVEFURSg3OCkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGMsIGQsIGUsIGEsIGIsIFcsIDc4LCB0ZW1wKTsKKworI2lmZGVmIERPU1RPUkVTVEFURTc5CisJU0hBMV9TVE9SRV9TVEFURSg3OSkKKyNlbmRpZgorCVNIQTFDT01QUkVTU19GVUxMX1JPVU5ENF9TVEVQKGIsIGMsIGQsIGUsIGEsIFcsIDc5LCB0ZW1wKTsKKworCisKKwlpaHZbMF0gKz0gYTsgaWh2WzFdICs9IGI7IGlodlsyXSArPSBjOyBpaHZbM10gKz0gZDsgaWh2WzRdICs9IGU7Cit9CisKKworCisKKyNkZWZpbmUgU0hBMV9SRUNPTVBSRVNTKHQpIFwKK3N0YXRpYyB2b2lkIHNoYTFyZWNvbXByZXNzX2Zhc3RfICMjIHQgKHVpbnQzMl90IGlodmluWzVdLCB1aW50MzJfdCBpaHZvdXRbNV0sIGNvbnN0IHVpbnQzMl90IG1lMls4MF0sIGNvbnN0IHVpbnQzMl90IHN0YXRlWzVdKSBcCit7IFwKKwl1aW50MzJfdCBhID0gc3RhdGVbMF0sIGIgPSBzdGF0ZVsxXSwgYyA9IHN0YXRlWzJdLCBkID0gc3RhdGVbM10sIGUgPSBzdGF0ZVs0XTsgXAorCWlmICh0ID4gNzkpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVBfQlcoYiwgYywgZCwgZSwgYSwgbWUyLCA3OSk7IFwKKwlpZiAodCA+IDc4KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQX0JXKGMsIGQsIGUsIGEsIGIsIG1lMiwgNzgpOyBcCisJaWYgKHQgPiA3NykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUF9CVyhkLCBlLCBhLCBiLCBjLCBtZTIsIDc3KTsgXAorCWlmICh0ID4gNzYpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVBfQlcoZSwgYSwgYiwgYywgZCwgbWUyLCA3Nik7IFwKKwlpZiAodCA+IDc1KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQX0JXKGEsIGIsIGMsIGQsIGUsIG1lMiwgNzUpOyBcCisJaWYgKHQgPiA3NCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUF9CVyhiLCBjLCBkLCBlLCBhLCBtZTIsIDc0KTsgXAorCWlmICh0ID4gNzMpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVBfQlcoYywgZCwgZSwgYSwgYiwgbWUyLCA3Myk7IFwKKwlpZiAodCA+IDcyKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQX0JXKGQsIGUsIGEsIGIsIGMsIG1lMiwgNzIpOyBcCisJaWYgKHQgPiA3MSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUF9CVyhlLCBhLCBiLCBjLCBkLCBtZTIsIDcxKTsgXAorCWlmICh0ID4gNzApIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbWUyLCA3MCk7IFwKKwlpZiAodCA+IDY5KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQX0JXKGIsIGMsIGQsIGUsIGEsIG1lMiwgNjkpOyBcCisJaWYgKHQgPiA2OCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUF9CVyhjLCBkLCBlLCBhLCBiLCBtZTIsIDY4KTsgXAorCWlmICh0ID4gNjcpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVBfQlcoZCwgZSwgYSwgYiwgYywgbWUyLCA2Nyk7IFwKKwlpZiAodCA+IDY2KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQX0JXKGUsIGEsIGIsIGMsIGQsIG1lMiwgNjYpOyBcCisJaWYgKHQgPiA2NSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUF9CVyhhLCBiLCBjLCBkLCBlLCBtZTIsIDY1KTsgXAorCWlmICh0ID4gNjQpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVBfQlcoYiwgYywgZCwgZSwgYSwgbWUyLCA2NCk7IFwKKwlpZiAodCA+IDYzKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQX0JXKGMsIGQsIGUsIGEsIGIsIG1lMiwgNjMpOyBcCisJaWYgKHQgPiA2MikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUF9CVyhkLCBlLCBhLCBiLCBjLCBtZTIsIDYyKTsgXAorCWlmICh0ID4gNjEpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVBfQlcoZSwgYSwgYiwgYywgZCwgbWUyLCA2MSk7IFwKKwlpZiAodCA+IDYwKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQX0JXKGEsIGIsIGMsIGQsIGUsIG1lMiwgNjApOyBcCisJaWYgKHQgPiA1OSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUF9CVyhiLCBjLCBkLCBlLCBhLCBtZTIsIDU5KTsgXAorCWlmICh0ID4gNTgpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVBfQlcoYywgZCwgZSwgYSwgYiwgbWUyLCA1OCk7IFwKKwlpZiAodCA+IDU3KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQX0JXKGQsIGUsIGEsIGIsIGMsIG1lMiwgNTcpOyBcCisJaWYgKHQgPiA1NikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUF9CVyhlLCBhLCBiLCBjLCBkLCBtZTIsIDU2KTsgXAorCWlmICh0ID4gNTUpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbWUyLCA1NSk7IFwKKwlpZiAodCA+IDU0KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQX0JXKGIsIGMsIGQsIGUsIGEsIG1lMiwgNTQpOyBcCisJaWYgKHQgPiA1MykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUF9CVyhjLCBkLCBlLCBhLCBiLCBtZTIsIDUzKTsgXAorCWlmICh0ID4gNTIpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVBfQlcoZCwgZSwgYSwgYiwgYywgbWUyLCA1Mik7IFwKKwlpZiAodCA+IDUxKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQX0JXKGUsIGEsIGIsIGMsIGQsIG1lMiwgNTEpOyBcCisJaWYgKHQgPiA1MCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUF9CVyhhLCBiLCBjLCBkLCBlLCBtZTIsIDUwKTsgXAorCWlmICh0ID4gNDkpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVBfQlcoYiwgYywgZCwgZSwgYSwgbWUyLCA0OSk7IFwKKwlpZiAodCA+IDQ4KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQX0JXKGMsIGQsIGUsIGEsIGIsIG1lMiwgNDgpOyBcCisJaWYgKHQgPiA0NykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUF9CVyhkLCBlLCBhLCBiLCBjLCBtZTIsIDQ3KTsgXAorCWlmICh0ID4gNDYpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVBfQlcoZSwgYSwgYiwgYywgZCwgbWUyLCA0Nik7IFwKKwlpZiAodCA+IDQ1KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQX0JXKGEsIGIsIGMsIGQsIGUsIG1lMiwgNDUpOyBcCisJaWYgKHQgPiA0NCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUF9CVyhiLCBjLCBkLCBlLCBhLCBtZTIsIDQ0KTsgXAorCWlmICh0ID4gNDMpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVBfQlcoYywgZCwgZSwgYSwgYiwgbWUyLCA0Myk7IFwKKwlpZiAodCA+IDQyKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQX0JXKGQsIGUsIGEsIGIsIGMsIG1lMiwgNDIpOyBcCisJaWYgKHQgPiA0MSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUF9CVyhlLCBhLCBiLCBjLCBkLCBtZTIsIDQxKTsgXAorCWlmICh0ID4gNDApIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbWUyLCA0MCk7IFwKKwlpZiAodCA+IDM5KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQX0JXKGIsIGMsIGQsIGUsIGEsIG1lMiwgMzkpOyBcCisJaWYgKHQgPiAzOCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUF9CVyhjLCBkLCBlLCBhLCBiLCBtZTIsIDM4KTsgXAorCWlmICh0ID4gMzcpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVBfQlcoZCwgZSwgYSwgYiwgYywgbWUyLCAzNyk7IFwKKwlpZiAodCA+IDM2KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQX0JXKGUsIGEsIGIsIGMsIGQsIG1lMiwgMzYpOyBcCisJaWYgKHQgPiAzNSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUF9CVyhhLCBiLCBjLCBkLCBlLCBtZTIsIDM1KTsgXAorCWlmICh0ID4gMzQpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVBfQlcoYiwgYywgZCwgZSwgYSwgbWUyLCAzNCk7IFwKKwlpZiAodCA+IDMzKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQX0JXKGMsIGQsIGUsIGEsIGIsIG1lMiwgMzMpOyBcCisJaWYgKHQgPiAzMikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUF9CVyhkLCBlLCBhLCBiLCBjLCBtZTIsIDMyKTsgXAorCWlmICh0ID4gMzEpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVBfQlcoZSwgYSwgYiwgYywgZCwgbWUyLCAzMSk7IFwKKwlpZiAodCA+IDMwKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQX0JXKGEsIGIsIGMsIGQsIGUsIG1lMiwgMzApOyBcCisJaWYgKHQgPiAyOSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUF9CVyhiLCBjLCBkLCBlLCBhLCBtZTIsIDI5KTsgXAorCWlmICh0ID4gMjgpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVBfQlcoYywgZCwgZSwgYSwgYiwgbWUyLCAyOCk7IFwKKwlpZiAodCA+IDI3KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQX0JXKGQsIGUsIGEsIGIsIGMsIG1lMiwgMjcpOyBcCisJaWYgKHQgPiAyNikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUF9CVyhlLCBhLCBiLCBjLCBkLCBtZTIsIDI2KTsgXAorCWlmICh0ID4gMjUpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbWUyLCAyNSk7IFwKKwlpZiAodCA+IDI0KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQX0JXKGIsIGMsIGQsIGUsIGEsIG1lMiwgMjQpOyBcCisJaWYgKHQgPiAyMykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUF9CVyhjLCBkLCBlLCBhLCBiLCBtZTIsIDIzKTsgXAorCWlmICh0ID4gMjIpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVBfQlcoZCwgZSwgYSwgYiwgYywgbWUyLCAyMik7IFwKKwlpZiAodCA+IDIxKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQX0JXKGUsIGEsIGIsIGMsIGQsIG1lMiwgMjEpOyBcCisJaWYgKHQgPiAyMCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUF9CVyhhLCBiLCBjLCBkLCBlLCBtZTIsIDIwKTsgXAorCWlmICh0ID4gMTkpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoYiwgYywgZCwgZSwgYSwgbWUyLCAxOSk7IFwKKwlpZiAodCA+IDE4KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQX0JXKGMsIGQsIGUsIGEsIGIsIG1lMiwgMTgpOyBcCisJaWYgKHQgPiAxNykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUF9CVyhkLCBlLCBhLCBiLCBjLCBtZTIsIDE3KTsgXAorCWlmICh0ID4gMTYpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoZSwgYSwgYiwgYywgZCwgbWUyLCAxNik7IFwKKwlpZiAodCA+IDE1KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQX0JXKGEsIGIsIGMsIGQsIGUsIG1lMiwgMTUpOyBcCisJaWYgKHQgPiAxNCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUF9CVyhiLCBjLCBkLCBlLCBhLCBtZTIsIDE0KTsgXAorCWlmICh0ID4gMTMpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoYywgZCwgZSwgYSwgYiwgbWUyLCAxMyk7IFwKKwlpZiAodCA+IDEyKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQX0JXKGQsIGUsIGEsIGIsIGMsIG1lMiwgMTIpOyBcCisJaWYgKHQgPiAxMSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUF9CVyhlLCBhLCBiLCBjLCBkLCBtZTIsIDExKTsgXAorCWlmICh0ID4gMTApIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbWUyLCAxMCk7IFwKKwlpZiAodCA+IDkpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoYiwgYywgZCwgZSwgYSwgbWUyLCA5KTsgXAorCWlmICh0ID4gOCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUF9CVyhjLCBkLCBlLCBhLCBiLCBtZTIsIDgpOyBcCisJaWYgKHQgPiA3KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQX0JXKGQsIGUsIGEsIGIsIGMsIG1lMiwgNyk7IFwKKwlpZiAodCA+IDYpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoZSwgYSwgYiwgYywgZCwgbWUyLCA2KTsgXAorCWlmICh0ID4gNSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUF9CVyhhLCBiLCBjLCBkLCBlLCBtZTIsIDUpOyBcCisJaWYgKHQgPiA0KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQX0JXKGIsIGMsIGQsIGUsIGEsIG1lMiwgNCk7IFwKKwlpZiAodCA+IDMpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoYywgZCwgZSwgYSwgYiwgbWUyLCAzKTsgXAorCWlmICh0ID4gMikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUF9CVyhkLCBlLCBhLCBiLCBjLCBtZTIsIDIpOyBcCisJaWYgKHQgPiAxKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQX0JXKGUsIGEsIGIsIGMsIGQsIG1lMiwgMSk7IFwKKwlpZiAodCA+IDApIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVBfQlcoYSwgYiwgYywgZCwgZSwgbWUyLCAwKTsgXAorCWlodmluWzBdID0gYTsgaWh2aW5bMV0gPSBiOyBpaHZpblsyXSA9IGM7IGlodmluWzNdID0gZDsgaWh2aW5bNF0gPSBlOyBcCisJYSA9IHN0YXRlWzBdOyBiID0gc3RhdGVbMV07IGMgPSBzdGF0ZVsyXTsgZCA9IHN0YXRlWzNdOyBlID0gc3RhdGVbNF07IFwKKwlpZiAodCA8PSAwKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGEsIGIsIGMsIGQsIGUsIG1lMiwgMCk7IFwKKwlpZiAodCA8PSAxKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGUsIGEsIGIsIGMsIGQsIG1lMiwgMSk7IFwKKwlpZiAodCA8PSAyKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGQsIGUsIGEsIGIsIGMsIG1lMiwgMik7IFwKKwlpZiAodCA8PSAzKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGMsIGQsIGUsIGEsIGIsIG1lMiwgMyk7IFwKKwlpZiAodCA8PSA0KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGIsIGMsIGQsIGUsIGEsIG1lMiwgNCk7IFwKKwlpZiAodCA8PSA1KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGEsIGIsIGMsIGQsIGUsIG1lMiwgNSk7IFwKKwlpZiAodCA8PSA2KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGUsIGEsIGIsIGMsIGQsIG1lMiwgNik7IFwKKwlpZiAodCA8PSA3KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGQsIGUsIGEsIGIsIGMsIG1lMiwgNyk7IFwKKwlpZiAodCA8PSA4KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGMsIGQsIGUsIGEsIGIsIG1lMiwgOCk7IFwKKwlpZiAodCA8PSA5KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGIsIGMsIGQsIGUsIGEsIG1lMiwgOSk7IFwKKwlpZiAodCA8PSAxMCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChhLCBiLCBjLCBkLCBlLCBtZTIsIDEwKTsgXAorCWlmICh0IDw9IDExKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGUsIGEsIGIsIGMsIGQsIG1lMiwgMTEpOyBcCisJaWYgKHQgPD0gMTIpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoZCwgZSwgYSwgYiwgYywgbWUyLCAxMik7IFwKKwlpZiAodCA8PSAxMykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChjLCBkLCBlLCBhLCBiLCBtZTIsIDEzKTsgXAorCWlmICh0IDw9IDE0KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGIsIGMsIGQsIGUsIGEsIG1lMiwgMTQpOyBcCisJaWYgKHQgPD0gMTUpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoYSwgYiwgYywgZCwgZSwgbWUyLCAxNSk7IFwKKwlpZiAodCA8PSAxNikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChlLCBhLCBiLCBjLCBkLCBtZTIsIDE2KTsgXAorCWlmICh0IDw9IDE3KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMV9TVEVQKGQsIGUsIGEsIGIsIGMsIG1lMiwgMTcpOyBcCisJaWYgKHQgPD0gMTgpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQxX1NURVAoYywgZCwgZSwgYSwgYiwgbWUyLCAxOCk7IFwKKwlpZiAodCA8PSAxOSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDFfU1RFUChiLCBjLCBkLCBlLCBhLCBtZTIsIDE5KTsgXAorCWlmICh0IDw9IDIwKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIG1lMiwgMjApOyBcCisJaWYgKHQgPD0gMjEpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVAoZSwgYSwgYiwgYywgZCwgbWUyLCAyMSk7IFwKKwlpZiAodCA8PSAyMikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUChkLCBlLCBhLCBiLCBjLCBtZTIsIDIyKTsgXAorCWlmICh0IDw9IDIzKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIG1lMiwgMjMpOyBcCisJaWYgKHQgPD0gMjQpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVAoYiwgYywgZCwgZSwgYSwgbWUyLCAyNCk7IFwKKwlpZiAodCA8PSAyNSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUChhLCBiLCBjLCBkLCBlLCBtZTIsIDI1KTsgXAorCWlmICh0IDw9IDI2KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGUsIGEsIGIsIGMsIGQsIG1lMiwgMjYpOyBcCisJaWYgKHQgPD0gMjcpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVAoZCwgZSwgYSwgYiwgYywgbWUyLCAyNyk7IFwKKwlpZiAodCA8PSAyOCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUChjLCBkLCBlLCBhLCBiLCBtZTIsIDI4KTsgXAorCWlmICh0IDw9IDI5KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGIsIGMsIGQsIGUsIGEsIG1lMiwgMjkpOyBcCisJaWYgKHQgPD0gMzApIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVAoYSwgYiwgYywgZCwgZSwgbWUyLCAzMCk7IFwKKwlpZiAodCA8PSAzMSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUChlLCBhLCBiLCBjLCBkLCBtZTIsIDMxKTsgXAorCWlmICh0IDw9IDMyKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGQsIGUsIGEsIGIsIGMsIG1lMiwgMzIpOyBcCisJaWYgKHQgPD0gMzMpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVAoYywgZCwgZSwgYSwgYiwgbWUyLCAzMyk7IFwKKwlpZiAodCA8PSAzNCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUChiLCBjLCBkLCBlLCBhLCBtZTIsIDM0KTsgXAorCWlmICh0IDw9IDM1KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGEsIGIsIGMsIGQsIGUsIG1lMiwgMzUpOyBcCisJaWYgKHQgPD0gMzYpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVAoZSwgYSwgYiwgYywgZCwgbWUyLCAzNik7IFwKKwlpZiAodCA8PSAzNykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDJfU1RFUChkLCBlLCBhLCBiLCBjLCBtZTIsIDM3KTsgXAorCWlmICh0IDw9IDM4KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EMl9TVEVQKGMsIGQsIGUsIGEsIGIsIG1lMiwgMzgpOyBcCisJaWYgKHQgPD0gMzkpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQyX1NURVAoYiwgYywgZCwgZSwgYSwgbWUyLCAzOSk7IFwKKwlpZiAodCA8PSA0MCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUChhLCBiLCBjLCBkLCBlLCBtZTIsIDQwKTsgXAorCWlmICh0IDw9IDQxKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQKGUsIGEsIGIsIGMsIGQsIG1lMiwgNDEpOyBcCisJaWYgKHQgPD0gNDIpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgbWUyLCA0Mik7IFwKKwlpZiAodCA8PSA0MykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUChjLCBkLCBlLCBhLCBiLCBtZTIsIDQzKTsgXAorCWlmICh0IDw9IDQ0KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQKGIsIGMsIGQsIGUsIGEsIG1lMiwgNDQpOyBcCisJaWYgKHQgPD0gNDUpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYSwgYiwgYywgZCwgZSwgbWUyLCA0NSk7IFwKKwlpZiAodCA8PSA0NikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUChlLCBhLCBiLCBjLCBkLCBtZTIsIDQ2KTsgXAorCWlmICh0IDw9IDQ3KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQKGQsIGUsIGEsIGIsIGMsIG1lMiwgNDcpOyBcCisJaWYgKHQgPD0gNDgpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYywgZCwgZSwgYSwgYiwgbWUyLCA0OCk7IFwKKwlpZiAodCA8PSA0OSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUChiLCBjLCBkLCBlLCBhLCBtZTIsIDQ5KTsgXAorCWlmICh0IDw9IDUwKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQKGEsIGIsIGMsIGQsIGUsIG1lMiwgNTApOyBcCisJaWYgKHQgPD0gNTEpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZSwgYSwgYiwgYywgZCwgbWUyLCA1MSk7IFwKKwlpZiAodCA8PSA1MikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUChkLCBlLCBhLCBiLCBjLCBtZTIsIDUyKTsgXAorCWlmICh0IDw9IDUzKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQKGMsIGQsIGUsIGEsIGIsIG1lMiwgNTMpOyBcCisJaWYgKHQgPD0gNTQpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoYiwgYywgZCwgZSwgYSwgbWUyLCA1NCk7IFwKKwlpZiAodCA8PSA1NSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUChhLCBiLCBjLCBkLCBlLCBtZTIsIDU1KTsgXAorCWlmICh0IDw9IDU2KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQKGUsIGEsIGIsIGMsIGQsIG1lMiwgNTYpOyBcCisJaWYgKHQgPD0gNTcpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQzX1NURVAoZCwgZSwgYSwgYiwgYywgbWUyLCA1Nyk7IFwKKwlpZiAodCA8PSA1OCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDNfU1RFUChjLCBkLCBlLCBhLCBiLCBtZTIsIDU4KTsgXAorCWlmICh0IDw9IDU5KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5EM19TVEVQKGIsIGMsIGQsIGUsIGEsIG1lMiwgNTkpOyBcCisJaWYgKHQgPD0gNjApIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVAoYSwgYiwgYywgZCwgZSwgbWUyLCA2MCk7IFwKKwlpZiAodCA8PSA2MSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBtZTIsIDYxKTsgXAorCWlmICh0IDw9IDYyKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQKGQsIGUsIGEsIGIsIGMsIG1lMiwgNjIpOyBcCisJaWYgKHQgPD0gNjMpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVAoYywgZCwgZSwgYSwgYiwgbWUyLCA2Myk7IFwKKwlpZiAodCA8PSA2NCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBtZTIsIDY0KTsgXAorCWlmICh0IDw9IDY1KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQKGEsIGIsIGMsIGQsIGUsIG1lMiwgNjUpOyBcCisJaWYgKHQgPD0gNjYpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVAoZSwgYSwgYiwgYywgZCwgbWUyLCA2Nik7IFwKKwlpZiAodCA8PSA2NykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChkLCBlLCBhLCBiLCBjLCBtZTIsIDY3KTsgXAorCWlmICh0IDw9IDY4KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQKGMsIGQsIGUsIGEsIGIsIG1lMiwgNjgpOyBcCisJaWYgKHQgPD0gNjkpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVAoYiwgYywgZCwgZSwgYSwgbWUyLCA2OSk7IFwKKwlpZiAodCA8PSA3MCkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChhLCBiLCBjLCBkLCBlLCBtZTIsIDcwKTsgXAorCWlmICh0IDw9IDcxKSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQKGUsIGEsIGIsIGMsIGQsIG1lMiwgNzEpOyBcCisJaWYgKHQgPD0gNzIpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVAoZCwgZSwgYSwgYiwgYywgbWUyLCA3Mik7IFwKKwlpZiAodCA8PSA3MykgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChjLCBkLCBlLCBhLCBiLCBtZTIsIDczKTsgXAorCWlmICh0IDw9IDc0KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQKGIsIGMsIGQsIGUsIGEsIG1lMiwgNzQpOyBcCisJaWYgKHQgPD0gNzUpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVAoYSwgYiwgYywgZCwgZSwgbWUyLCA3NSk7IFwKKwlpZiAodCA8PSA3NikgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChlLCBhLCBiLCBjLCBkLCBtZTIsIDc2KTsgXAorCWlmICh0IDw9IDc3KSBIQVNIQ0xBU0hfU0hBMUNPTVBSRVNTX1JPVU5ENF9TVEVQKGQsIGUsIGEsIGIsIGMsIG1lMiwgNzcpOyBcCisJaWYgKHQgPD0gNzgpIEhBU0hDTEFTSF9TSEExQ09NUFJFU1NfUk9VTkQ0X1NURVAoYywgZCwgZSwgYSwgYiwgbWUyLCA3OCk7IFwKKwlpZiAodCA8PSA3OSkgSEFTSENMQVNIX1NIQTFDT01QUkVTU19ST1VORDRfU1RFUChiLCBjLCBkLCBlLCBhLCBtZTIsIDc5KTsgXAorCWlodm91dFswXSA9IGlodmluWzBdICsgYTsgaWh2b3V0WzFdID0gaWh2aW5bMV0gKyBiOyBpaHZvdXRbMl0gPSBpaHZpblsyXSArIGM7IGlodm91dFszXSA9IGlodmluWzNdICsgZDsgaWh2b3V0WzRdID0gaWh2aW5bNF0gKyBlOyBcCit9CisKKyNpZmRlZiBfTVNDX1ZFUgorI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTogNDEyNykgIC8qIENvbXBpbGVyIGNvbXBsYWlucyBhYm91dCB0aGUgY2hlY2tzIGluIHRoZSBhYm92ZSBtYWNybyBiZWluZyBjb25zdGFudC4gKi8KKyNlbmRpZgorCisjaWZkZWYgRE9TVE9SRVNUQVRFMAorU0hBMV9SRUNPTVBSRVNTKDApCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTEKK1NIQTFfUkVDT01QUkVTUygxKQorI2VuZGlmCisKKyNpZmRlZiBET1NUT1JFU1RBVEUyCitTSEExX1JFQ09NUFJFU1MoMikKKyNlbmRpZgorCisjaWZkZWYgRE9TVE9SRVNUQVRFMworU0hBMV9SRUNPTVBSRVNTKDMpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQKK1NIQTFfUkVDT01QUkVTUyg0KQorI2VuZGlmCisKKyNpZmRlZiBET1NUT1JFU1RBVEU1CitTSEExX1JFQ09NUFJFU1MoNSkKKyNlbmRpZgorCisjaWZkZWYgRE9TVE9SRVNUQVRFNgorU0hBMV9SRUNPTVBSRVNTKDYpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTcKK1NIQTFfUkVDT01QUkVTUyg3KQorI2VuZGlmCisKKyNpZmRlZiBET1NUT1JFU1RBVEU4CitTSEExX1JFQ09NUFJFU1MoOCkKKyNlbmRpZgorCisjaWZkZWYgRE9TVE9SRVNUQVRFOQorU0hBMV9SRUNPTVBSRVNTKDkpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTEwCitTSEExX1JFQ09NUFJFU1MoMTApCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTExCitTSEExX1JFQ09NUFJFU1MoMTEpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTEyCitTSEExX1JFQ09NUFJFU1MoMTIpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTEzCitTSEExX1JFQ09NUFJFU1MoMTMpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTE0CitTSEExX1JFQ09NUFJFU1MoMTQpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTE1CitTSEExX1JFQ09NUFJFU1MoMTUpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTE2CitTSEExX1JFQ09NUFJFU1MoMTYpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTE3CitTSEExX1JFQ09NUFJFU1MoMTcpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTE4CitTSEExX1JFQ09NUFJFU1MoMTgpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTE5CitTSEExX1JFQ09NUFJFU1MoMTkpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTIwCitTSEExX1JFQ09NUFJFU1MoMjApCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTIxCitTSEExX1JFQ09NUFJFU1MoMjEpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTIyCitTSEExX1JFQ09NUFJFU1MoMjIpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTIzCitTSEExX1JFQ09NUFJFU1MoMjMpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTI0CitTSEExX1JFQ09NUFJFU1MoMjQpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTI1CitTSEExX1JFQ09NUFJFU1MoMjUpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTI2CitTSEExX1JFQ09NUFJFU1MoMjYpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTI3CitTSEExX1JFQ09NUFJFU1MoMjcpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTI4CitTSEExX1JFQ09NUFJFU1MoMjgpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTI5CitTSEExX1JFQ09NUFJFU1MoMjkpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTMwCitTSEExX1JFQ09NUFJFU1MoMzApCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTMxCitTSEExX1JFQ09NUFJFU1MoMzEpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTMyCitTSEExX1JFQ09NUFJFU1MoMzIpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTMzCitTSEExX1JFQ09NUFJFU1MoMzMpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTM0CitTSEExX1JFQ09NUFJFU1MoMzQpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTM1CitTSEExX1JFQ09NUFJFU1MoMzUpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTM2CitTSEExX1JFQ09NUFJFU1MoMzYpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTM3CitTSEExX1JFQ09NUFJFU1MoMzcpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTM4CitTSEExX1JFQ09NUFJFU1MoMzgpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTM5CitTSEExX1JFQ09NUFJFU1MoMzkpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQwCitTSEExX1JFQ09NUFJFU1MoNDApCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQxCitTSEExX1JFQ09NUFJFU1MoNDEpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQyCitTSEExX1JFQ09NUFJFU1MoNDIpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQzCitTSEExX1JFQ09NUFJFU1MoNDMpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQ0CitTSEExX1JFQ09NUFJFU1MoNDQpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQ1CitTSEExX1JFQ09NUFJFU1MoNDUpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQ2CitTSEExX1JFQ09NUFJFU1MoNDYpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQ3CitTSEExX1JFQ09NUFJFU1MoNDcpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQ4CitTSEExX1JFQ09NUFJFU1MoNDgpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTQ5CitTSEExX1JFQ09NUFJFU1MoNDkpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTUwCitTSEExX1JFQ09NUFJFU1MoNTApCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTUxCitTSEExX1JFQ09NUFJFU1MoNTEpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTUyCitTSEExX1JFQ09NUFJFU1MoNTIpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTUzCitTSEExX1JFQ09NUFJFU1MoNTMpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTU0CitTSEExX1JFQ09NUFJFU1MoNTQpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTU1CitTSEExX1JFQ09NUFJFU1MoNTUpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTU2CitTSEExX1JFQ09NUFJFU1MoNTYpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTU3CitTSEExX1JFQ09NUFJFU1MoNTcpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTU4CitTSEExX1JFQ09NUFJFU1MoNTgpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTU5CitTSEExX1JFQ09NUFJFU1MoNTkpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTYwCitTSEExX1JFQ09NUFJFU1MoNjApCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTYxCitTSEExX1JFQ09NUFJFU1MoNjEpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTYyCitTSEExX1JFQ09NUFJFU1MoNjIpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTYzCitTSEExX1JFQ09NUFJFU1MoNjMpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTY0CitTSEExX1JFQ09NUFJFU1MoNjQpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTY1CitTSEExX1JFQ09NUFJFU1MoNjUpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTY2CitTSEExX1JFQ09NUFJFU1MoNjYpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTY3CitTSEExX1JFQ09NUFJFU1MoNjcpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTY4CitTSEExX1JFQ09NUFJFU1MoNjgpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTY5CitTSEExX1JFQ09NUFJFU1MoNjkpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTcwCitTSEExX1JFQ09NUFJFU1MoNzApCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTcxCitTSEExX1JFQ09NUFJFU1MoNzEpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTcyCitTSEExX1JFQ09NUFJFU1MoNzIpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTczCitTSEExX1JFQ09NUFJFU1MoNzMpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTc0CitTSEExX1JFQ09NUFJFU1MoNzQpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTc1CitTSEExX1JFQ09NUFJFU1MoNzUpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTc2CitTSEExX1JFQ09NUFJFU1MoNzYpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTc3CitTSEExX1JFQ09NUFJFU1MoNzcpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTc4CitTSEExX1JFQ09NUFJFU1MoNzgpCisjZW5kaWYKKworI2lmZGVmIERPU1RPUkVTVEFURTc5CitTSEExX1JFQ09NUFJFU1MoNzkpCisjZW5kaWYKKworI2lmZGVmIF9NU0NfVkVSCisjcHJhZ21hIHdhcm5pbmcocG9wKQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIHNoYTFfcmVjb21wcmVzc2lvbl9zdGVwKHVpbnQzMl90IHN0ZXAsIHVpbnQzMl90IGlodmluWzVdLCB1aW50MzJfdCBpaHZvdXRbNV0sIGNvbnN0IHVpbnQzMl90IG1lMls4MF0sIGNvbnN0IHVpbnQzMl90IHN0YXRlWzVdKQoreworCXN3aXRjaCAoc3RlcCkKKwl7CisjaWZkZWYgRE9TVE9SRVNUQVRFMAorCWNhc2UgMDoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8wKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTEKKwljYXNlIDE6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMShpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUyCisJY2FzZSAyOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzIoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMworCWNhc2UgMzoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8zKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTQKKwljYXNlIDQ6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNChpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU1CisJY2FzZSA1OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzUoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNgorCWNhc2UgNjoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF82KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTcKKwljYXNlIDc6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNyhpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU4CisJY2FzZSA4OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzgoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFOQorCWNhc2UgOToKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF85KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTEwCisJY2FzZSAxMDoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8xMChpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUxMQorCWNhc2UgMTE6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMTEoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMTIKKwljYXNlIDEyOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzEyKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTEzCisJY2FzZSAxMzoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8xMyhpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUxNAorCWNhc2UgMTQ6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMTQoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMTUKKwljYXNlIDE1OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzE1KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTE2CisJY2FzZSAxNjoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8xNihpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUxNworCWNhc2UgMTc6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMTcoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMTgKKwljYXNlIDE4OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzE4KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTE5CisJY2FzZSAxOToKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8xOShpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUyMAorCWNhc2UgMjA6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMjAoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMjEKKwljYXNlIDIxOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzIxKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTIyCisJY2FzZSAyMjoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8yMihpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUyMworCWNhc2UgMjM6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMjMoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMjQKKwljYXNlIDI0OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzI0KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTI1CisJY2FzZSAyNToKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8yNShpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUyNgorCWNhc2UgMjY6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMjYoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMjcKKwljYXNlIDI3OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzI3KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTI4CisJY2FzZSAyODoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8yOChpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUyOQorCWNhc2UgMjk6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMjkoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMzAKKwljYXNlIDMwOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzMwKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTMxCisJY2FzZSAzMToKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8zMShpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUzMgorCWNhc2UgMzI6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMzIoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMzMKKwljYXNlIDMzOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzMzKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTM0CisJY2FzZSAzNDoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8zNChpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUzNQorCWNhc2UgMzU6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMzUoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMzYKKwljYXNlIDM2OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzM2KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTM3CisJY2FzZSAzNzoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF8zNyhpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEUzOAorCWNhc2UgMzg6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfMzgoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFMzkKKwljYXNlIDM5OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzM5KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTQwCisJY2FzZSA0MDoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF80MChpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU0MQorCWNhc2UgNDE6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNDEoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNDIKKwljYXNlIDQyOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzQyKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTQzCisJY2FzZSA0MzoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF80MyhpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU0NAorCWNhc2UgNDQ6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNDQoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNDUKKwljYXNlIDQ1OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzQ1KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTQ2CisJY2FzZSA0NjoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF80NihpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU0NworCWNhc2UgNDc6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNDcoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNDgKKwljYXNlIDQ4OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzQ4KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTQ5CisJY2FzZSA0OToKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF80OShpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU1MAorCWNhc2UgNTA6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNTAoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNTEKKwljYXNlIDUxOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzUxKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTUyCisJY2FzZSA1MjoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF81MihpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU1MworCWNhc2UgNTM6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNTMoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNTQKKwljYXNlIDU0OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzU0KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTU1CisJY2FzZSA1NToKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF81NShpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU1NgorCWNhc2UgNTY6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNTYoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNTcKKwljYXNlIDU3OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzU3KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTU4CisJY2FzZSA1ODoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF81OChpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU1OQorCWNhc2UgNTk6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNTkoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNjAKKwljYXNlIDYwOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzYwKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTYxCisJY2FzZSA2MToKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF82MShpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU2MgorCWNhc2UgNjI6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNjIoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNjMKKwljYXNlIDYzOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzYzKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTY0CisJY2FzZSA2NDoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF82NChpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU2NQorCWNhc2UgNjU6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNjUoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNjYKKwljYXNlIDY2OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzY2KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTY3CisJY2FzZSA2NzoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF82NyhpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU2OAorCWNhc2UgNjg6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNjgoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNjkKKwljYXNlIDY5OgorCQlzaGExcmVjb21wcmVzc19mYXN0XzY5KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTcwCisJY2FzZSA3MDoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF83MChpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU3MQorCWNhc2UgNzE6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNzEoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNzIKKwljYXNlIDcyOgorCQlzaGExcmVjb21wcmVzc19mYXN0XzcyKGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTczCisJY2FzZSA3MzoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF83MyhpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU3NAorCWNhc2UgNzQ6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNzQoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNzUKKwljYXNlIDc1OgorCQlzaGExcmVjb21wcmVzc19mYXN0Xzc1KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTc2CisJY2FzZSA3NjoKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF83NihpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBET1NUT1JFU1RBVEU3NworCWNhc2UgNzc6CisJCXNoYTFyZWNvbXByZXNzX2Zhc3RfNzcoaWh2aW4sIGlodm91dCwgbWUyLCBzdGF0ZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRE9TVE9SRVNUQVRFNzgKKwljYXNlIDc4OgorCQlzaGExcmVjb21wcmVzc19mYXN0Xzc4KGlodmluLCBpaHZvdXQsIG1lMiwgc3RhdGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIERPU1RPUkVTVEFURTc5CisJY2FzZSA3OToKKwkJc2hhMXJlY29tcHJlc3NfZmFzdF83OShpaHZpbiwgaWh2b3V0LCBtZTIsIHN0YXRlKTsKKwkJYnJlYWs7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKworfQorCisKKworc3RhdGljIHZvaWQgc2hhMV9wcm9jZXNzKFNIQTFfQ1RYKiBjdHgsIGNvbnN0IHVpbnQzMl90IGJsb2NrWzE2XSkKK3sKKwl1bnNpZ25lZCBpLCBqOworCXVpbnQzMl90IHViY19kdl9tYXNrW0RWTUFTS1NJWkVdID0geyAweEZGRkZGRkZGIH07CisJdWludDMyX3QgaWh2dG1wWzVdOworCisJY3R4LT5paHYxWzBdID0gY3R4LT5paHZbMF07CisJY3R4LT5paHYxWzFdID0gY3R4LT5paHZbMV07CisJY3R4LT5paHYxWzJdID0gY3R4LT5paHZbMl07CisJY3R4LT5paHYxWzNdID0gY3R4LT5paHZbM107CisJY3R4LT5paHYxWzRdID0gY3R4LT5paHZbNF07CisKKwlzaGExX2NvbXByZXNzaW9uX3N0YXRlcyhjdHgtPmlodiwgYmxvY2ssIGN0eC0+bTEsIGN0eC0+c3RhdGVzKTsKKworCWlmIChjdHgtPmRldGVjdF9jb2xsKQorCXsKKwkJaWYgKGN0eC0+dWJjX2NoZWNrKQorCQl7CisJCQl1YmNfY2hlY2soY3R4LT5tMSwgdWJjX2R2X21hc2spOworCQl9CisKKwkJaWYgKHViY19kdl9tYXNrWzBdICE9IDApCisJCXsKKwkJCWZvciAoaSA9IDA7IHNoYTFfZHZzW2ldLmR2VHlwZSAhPSAwOyArK2kpCisJCQl7CisJCQkJaWYgKHViY19kdl9tYXNrWzBdICYgKCh1aW50MzJfdCkoMSkgPDwgc2hhMV9kdnNbaV0ubWFza2IpKQorCQkJCXsKKwkJCQkJZm9yIChqID0gMDsgaiA8IDgwOyArK2opCisJCQkJCQljdHgtPm0yW2pdID0gY3R4LT5tMVtqXSBeIHNoYTFfZHZzW2ldLmRtW2pdOworCisJCQkJCXNoYTFfcmVjb21wcmVzc2lvbl9zdGVwKHNoYTFfZHZzW2ldLnRlc3R0LCBjdHgtPmlodjIsIGlodnRtcCwgY3R4LT5tMiwgY3R4LT5zdGF0ZXNbc2hhMV9kdnNbaV0udGVzdHRdKTsKKworCQkJCQkvKiB0byB2ZXJpZnkgU0hBLTEgY29sbGlzaW9uIGRldGVjdGlvbiBjb2RlIHdpdGggY29sbGlzaW9ucyBmb3IgcmVkdWNlZC1zdGVwIFNIQS0xICovCisJCQkJCWlmICgoMCA9PSAoKGlodnRtcFswXSBeIGN0eC0+aWh2WzBdKSB8IChpaHZ0bXBbMV0gXiBjdHgtPmlodlsxXSkgfCAoaWh2dG1wWzJdIF4gY3R4LT5paHZbMl0pIHwgKGlodnRtcFszXSBeIGN0eC0+aWh2WzNdKSB8IChpaHZ0bXBbNF0gXiBjdHgtPmlodls0XSkpKQorCQkJCQkJfHwgKGN0eC0+cmVkdWNlZF9yb3VuZF9jb2xsICYmIDA9PSgoY3R4LT5paHYxWzBdIF4gY3R4LT5paHYyWzBdKSB8IChjdHgtPmlodjFbMV0gXiBjdHgtPmlodjJbMV0pIHwgKGN0eC0+aWh2MVsyXSBeIGN0eC0+aWh2MlsyXSkgfCAoY3R4LT5paHYxWzNdIF4gY3R4LT5paHYyWzNdKSB8IChjdHgtPmlodjFbNF0gXiBjdHgtPmlodjJbNF0pKSkpCisJCQkJCXsKKwkJCQkJCWN0eC0+Zm91bmRfY29sbGlzaW9uID0gMTsKKworCQkJCQkJaWYgKGN0eC0+c2FmZV9oYXNoKQorCQkJCQkJeworCQkJCQkJCXNoYTFfY29tcHJlc3Npb25fVyhjdHgtPmlodiwgY3R4LT5tMSk7CisJCQkJCQkJc2hhMV9jb21wcmVzc2lvbl9XKGN0eC0+aWh2LCBjdHgtPm0xKTsKKwkJCQkJCX0KKworCQkJCQkJYnJlYWs7CisJCQkJCX0KKwkJCQl9CisJCQl9CisJCX0KKwl9Cit9CisKK3ZvaWQgU0hBMURDSW5pdChTSEExX0NUWCogY3R4KQoreworCWN0eC0+dG90YWwgPSAwOworCWN0eC0+aWh2WzBdID0gMHg2NzQ1MjMwMTsKKwljdHgtPmlodlsxXSA9IDB4RUZDREFCODk7CisJY3R4LT5paHZbMl0gPSAweDk4QkFEQ0ZFOworCWN0eC0+aWh2WzNdID0gMHgxMDMyNTQ3NjsKKwljdHgtPmlodls0XSA9IDB4QzNEMkUxRjA7CisJY3R4LT5mb3VuZF9jb2xsaXNpb24gPSAwOworCWN0eC0+c2FmZV9oYXNoID0gU0hBMURDX0lOSVRfU0FGRV9IQVNIX0RFRkFVTFQ7CisJY3R4LT51YmNfY2hlY2sgPSAxOworCWN0eC0+ZGV0ZWN0X2NvbGwgPSAxOworCWN0eC0+cmVkdWNlZF9yb3VuZF9jb2xsID0gMDsKKwljdHgtPmNhbGxiYWNrID0gTlVMTDsKK30KKwordm9pZCBTSEExRENTZXRTYWZlSGFzaChTSEExX0NUWCogY3R4LCBpbnQgc2FmZWhhc2gpCit7CisJaWYgKHNhZmVoYXNoKQorCQljdHgtPnNhZmVfaGFzaCA9IDE7CisJZWxzZQorCQljdHgtPnNhZmVfaGFzaCA9IDA7Cit9CisKKwordm9pZCBTSEExRENTZXRVc2VVQkMoU0hBMV9DVFgqIGN0eCwgaW50IHViY19jaGVjaykKK3sKKwlpZiAodWJjX2NoZWNrKQorCQljdHgtPnViY19jaGVjayA9IDE7CisJZWxzZQorCQljdHgtPnViY19jaGVjayA9IDA7Cit9CisKK3ZvaWQgU0hBMURDU2V0VXNlRGV0ZWN0Q29sbChTSEExX0NUWCogY3R4LCBpbnQgZGV0ZWN0X2NvbGwpCit7CisJaWYgKGRldGVjdF9jb2xsKQorCQljdHgtPmRldGVjdF9jb2xsID0gMTsKKwllbHNlCisJCWN0eC0+ZGV0ZWN0X2NvbGwgPSAwOworfQorCit2b2lkIFNIQTFEQ1NldERldGVjdFJlZHVjZWRSb3VuZENvbGxpc2lvbihTSEExX0NUWCogY3R4LCBpbnQgcmVkdWNlZF9yb3VuZF9jb2xsKQoreworCWlmIChyZWR1Y2VkX3JvdW5kX2NvbGwpCisJCWN0eC0+cmVkdWNlZF9yb3VuZF9jb2xsID0gMTsKKwllbHNlCisJCWN0eC0+cmVkdWNlZF9yb3VuZF9jb2xsID0gMDsKK30KKwordm9pZCBTSEExRENTZXRDYWxsYmFjayhTSEExX0NUWCogY3R4LCBjb2xsaXNpb25fYmxvY2tfY2FsbGJhY2sgY2FsbGJhY2spCit7CisJY3R4LT5jYWxsYmFjayA9IGNhbGxiYWNrOworfQorCit2b2lkIFNIQTFEQ1VwZGF0ZShTSEExX0NUWCogY3R4LCBjb25zdCBjaGFyKiBidWYsIHNpemVfdCBsZW4pCit7CisJdW5zaWduZWQgbGVmdCwgZmlsbDsKKworCWlmIChsZW4gPT0gMCkKKwkJcmV0dXJuOworCisJbGVmdCA9IGN0eC0+dG90YWwgJiA2MzsKKwlmaWxsID0gNjQgLSBsZWZ0OworCisJaWYgKGxlZnQgJiYgbGVuID49IGZpbGwpCisJeworCQljdHgtPnRvdGFsICs9IGZpbGw7CisJCW1lbWNweShjdHgtPmJ1ZmZlciArIGxlZnQsIGJ1ZiwgZmlsbCk7CisJCXNoYTFfcHJvY2VzcyhjdHgsICh1aW50MzJfdCopKGN0eC0+YnVmZmVyKSk7CisJCWJ1ZiArPSBmaWxsOworCQlsZW4gLT0gZmlsbDsKKwkJbGVmdCA9IDA7CisJfQorCXdoaWxlIChsZW4gPj0gNjQpCisJeworCQljdHgtPnRvdGFsICs9IDY0OworCisjaWYgZGVmaW5lZChTSEExRENfQUxMT1dfVU5BTElHTkVEX0FDQ0VTUykKKwkJc2hhMV9wcm9jZXNzKGN0eCwgKHVpbnQzMl90KikoYnVmKSk7CisjZWxzZQorCQltZW1jcHkoY3R4LT5idWZmZXIsIGJ1ZiwgNjQpOworCQlzaGExX3Byb2Nlc3MoY3R4LCAodWludDMyX3QqKShjdHgtPmJ1ZmZlcikpOworI2VuZGlmIC8qIGRlZmluZWQoU0hBMURDX0FMTE9XX1VOQUxJR05FRF9BQ0NFU1MpICovCisJCWJ1ZiArPSA2NDsKKwkJbGVuIC09IDY0OworCX0KKwlpZiAobGVuID4gMCkKKwl7CisJCWN0eC0+dG90YWwgKz0gbGVuOworCQltZW1jcHkoY3R4LT5idWZmZXIgKyBsZWZ0LCBidWYsIGxlbik7CisJfQorfQorCitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBzaGExX3BhZGRpbmdbNjRdID0KK3sKKwkweDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAorCTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCisJMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKwkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwCit9OworCitpbnQgU0hBMURDRmluYWwodW5zaWduZWQgY2hhciBvdXRwdXRbMjBdLCBTSEExX0NUWCAqY3R4KQoreworCXVpbnQzMl90IGxhc3QgPSBjdHgtPnRvdGFsICYgNjM7CisJdWludDMyX3QgcGFkbiA9IChsYXN0IDwgNTYpID8gKDU2IC0gbGFzdCkgOiAoMTIwIC0gbGFzdCk7CisJdWludDY0X3QgdG90YWw7CisJU0hBMURDVXBkYXRlKGN0eCwgKGNvbnN0IGNoYXIqKShzaGExX3BhZGRpbmcpLCBwYWRuKTsKKworCXRvdGFsID0gY3R4LT50b3RhbCAtIHBhZG47CisJdG90YWwgPDw9IDM7CisJY3R4LT5idWZmZXJbNTZdID0gKHVuc2lnbmVkIGNoYXIpKHRvdGFsID4+IDU2KTsKKwljdHgtPmJ1ZmZlcls1N10gPSAodW5zaWduZWQgY2hhcikodG90YWwgPj4gNDgpOworCWN0eC0+YnVmZmVyWzU4XSA9ICh1bnNpZ25lZCBjaGFyKSh0b3RhbCA+PiA0MCk7CisJY3R4LT5idWZmZXJbNTldID0gKHVuc2lnbmVkIGNoYXIpKHRvdGFsID4+IDMyKTsKKwljdHgtPmJ1ZmZlcls2MF0gPSAodW5zaWduZWQgY2hhcikodG90YWwgPj4gMjQpOworCWN0eC0+YnVmZmVyWzYxXSA9ICh1bnNpZ25lZCBjaGFyKSh0b3RhbCA+PiAxNik7CisJY3R4LT5idWZmZXJbNjJdID0gKHVuc2lnbmVkIGNoYXIpKHRvdGFsID4+IDgpOworCWN0eC0+YnVmZmVyWzYzXSA9ICh1bnNpZ25lZCBjaGFyKSh0b3RhbCk7CisJc2hhMV9wcm9jZXNzKGN0eCwgKHVpbnQzMl90KikoY3R4LT5idWZmZXIpKTsKKwlvdXRwdXRbMF0gPSAodW5zaWduZWQgY2hhcikoY3R4LT5paHZbMF0gPj4gMjQpOworCW91dHB1dFsxXSA9ICh1bnNpZ25lZCBjaGFyKShjdHgtPmlodlswXSA+PiAxNik7CisJb3V0cHV0WzJdID0gKHVuc2lnbmVkIGNoYXIpKGN0eC0+aWh2WzBdID4+IDgpOworCW91dHB1dFszXSA9ICh1bnNpZ25lZCBjaGFyKShjdHgtPmlodlswXSk7CisJb3V0cHV0WzRdID0gKHVuc2lnbmVkIGNoYXIpKGN0eC0+aWh2WzFdID4+IDI0KTsKKwlvdXRwdXRbNV0gPSAodW5zaWduZWQgY2hhcikoY3R4LT5paHZbMV0gPj4gMTYpOworCW91dHB1dFs2XSA9ICh1bnNpZ25lZCBjaGFyKShjdHgtPmlodlsxXSA+PiA4KTsKKwlvdXRwdXRbN10gPSAodW5zaWduZWQgY2hhcikoY3R4LT5paHZbMV0pOworCW91dHB1dFs4XSA9ICh1bnNpZ25lZCBjaGFyKShjdHgtPmlodlsyXSA+PiAyNCk7CisJb3V0cHV0WzldID0gKHVuc2lnbmVkIGNoYXIpKGN0eC0+aWh2WzJdID4+IDE2KTsKKwlvdXRwdXRbMTBdID0gKHVuc2lnbmVkIGNoYXIpKGN0eC0+aWh2WzJdID4+IDgpOworCW91dHB1dFsxMV0gPSAodW5zaWduZWQgY2hhcikoY3R4LT5paHZbMl0pOworCW91dHB1dFsxMl0gPSAodW5zaWduZWQgY2hhcikoY3R4LT5paHZbM10gPj4gMjQpOworCW91dHB1dFsxM10gPSAodW5zaWduZWQgY2hhcikoY3R4LT5paHZbM10gPj4gMTYpOworCW91dHB1dFsxNF0gPSAodW5zaWduZWQgY2hhcikoY3R4LT5paHZbM10gPj4gOCk7CisJb3V0cHV0WzE1XSA9ICh1bnNpZ25lZCBjaGFyKShjdHgtPmlodlszXSk7CisJb3V0cHV0WzE2XSA9ICh1bnNpZ25lZCBjaGFyKShjdHgtPmlodls0XSA+PiAyNCk7CisJb3V0cHV0WzE3XSA9ICh1bnNpZ25lZCBjaGFyKShjdHgtPmlodls0XSA+PiAxNik7CisJb3V0cHV0WzE4XSA9ICh1bnNpZ25lZCBjaGFyKShjdHgtPmlodls0XSA+PiA4KTsKKwlvdXRwdXRbMTldID0gKHVuc2lnbmVkIGNoYXIpKGN0eC0+aWh2WzRdKTsKKwlyZXR1cm4gY3R4LT5mb3VuZF9jb2xsaXNpb247Cit9CisKKyNpZmRlZiBTSEExRENfQ1VTVE9NX1RSQUlMSU5HX0lOQ0xVREVfU0hBMV9DCisjaW5jbHVkZSBTSEExRENfQ1VTVE9NX1RSQUlMSU5HX0lOQ0xVREVfU0hBMV9DCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NoYTFkYy9zaGExLmggYi9zaGExZGMvc2hhMS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNGU5NGIKLS0tIC9kZXYvbnVsbAorKysgYi9zaGExZGMvc2hhMS5oCkBAIC0wLDAgKzEsMTEwIEBACisvKioqCisqIENvcHlyaWdodCAyMDE3IE1hcmMgU3RldmVucyA8bWFyY0BtYXJjLXN0ZXZlbnMubmw+LCBEYW4gU2h1bW93IDxkYW5zaHVAbWljcm9zb2Z0LmNvbT4KKyogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIE1JVCBTb2Z0d2FyZSBMaWNlbnNlLgorKiBTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRS50eHQgb3IgY29weSBhdAorKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAorKioqLworCisjaWZuZGVmIFNIQTFEQ19TSEExX0gKKyNkZWZpbmUgU0hBMURDX1NIQTFfSAorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpZm5kZWYgU0hBMURDX05PX1NUQU5EQVJEX0lOQ0xVREVTCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjZW5kaWYKKworLyogc2hhLTEgY29tcHJlc3Npb24gZnVuY3Rpb24gdGhhdCB0YWtlcyBhbiBhbHJlYWR5IGV4cGFuZGVkIG1lc3NhZ2UsIGFuZCBhZGRpdGlvbmFsbHkgc3RvcmUgaW50ZXJtZWRpYXRlIHN0YXRlcyAqLworLyogb25seSBzdG9yZXMgc3RhdGVzIGlpICh0aGUgc3RhdGUgYmV0d2VlbiBzdGVwIGlpLTEgYW5kIHN0ZXAgaWkpIHdoZW4gRE9TVE9SRVNUQVRFaWkgaXMgZGVmaW5lZCBpbiB1YmNfY2hlY2suaCAqLwordm9pZCBzaGExX2NvbXByZXNzaW9uX3N0YXRlcyh1aW50MzJfdFs1XSwgY29uc3QgdWludDMyX3RbMTZdLCB1aW50MzJfdFs4MF0sIHVpbnQzMl90WzgwXVs1XSk7CisKKy8qCisvLyBGdW5jdGlvbiB0eXBlIGZvciBzaGExX3JlY29tcHJlc3Npb25fc3RlcF9UICh1aW50MzJfdCBpaHZpbls1XSwgdWludDMyX3QgaWh2b3V0WzVdLCBjb25zdCB1aW50MzJfdCBtZTJbODBdLCBjb25zdCB1aW50MzJfdCBzdGF0ZVs1XSkuCisvLyBXaGVyZSAwIDw9IFQgPCA4MAorLy8gICAgICAgbWUyIGlzIGFuIGV4cGFuZGVkIG1lc3NhZ2UgKHRoZSBleHBhbnNpb24gb2YgYW4gb3JpZ2luYWwgbWVzc2FnZSBibG9jayBYT1InZWQgd2l0aCBhIGRpc3R1cmJhbmNlIHZlY3RvcidzIG1lc3NhZ2UgYmxvY2sgZGlmZmVyZW5jZS4pCisvLyAgICAgICBzdGF0ZSBpcyB0aGUgaW50ZXJuYWwgc3RhdGUgKGEsYixjLGQsZSkgYmVmb3JlIHN0ZXAgVCBvZiB0aGUgU0hBLTEgY29tcHJlc3Npb24gZnVuY3Rpb24gd2hpbGUgcHJvY2Vzc2luZyB0aGUgb3JpZ2luYWwgbWVzc2FnZSBibG9jay4KKy8vIFRoZSBmdW5jdGlvbiB3aWxsIHJldHVybjoKKy8vICAgICAgIGlodmluOiBUaGUgcmVjb25zdHJ1Y3RlZCBpbnB1dCBjaGFpbmluZyB2YWx1ZS4KKy8vICAgICAgIGlodm91dDogVGhlIHJlY29uc3RydWN0ZWQgb3V0cHV0IGNoYWluaW5nIHZhbHVlLgorKi8KK3R5cGVkZWYgdm9pZCgqc2hhMV9yZWNvbXByZXNzaW9uX3R5cGUpKHVpbnQzMl90KiwgdWludDMyX3QqLCBjb25zdCB1aW50MzJfdCosIGNvbnN0IHVpbnQzMl90Kik7CisKKy8qIEEgY2FsbGJhY2sgZnVuY3Rpb24gdHlwZSB0aGF0IGNhbiBiZSBzZXQgdG8gYmUgY2FsbGVkIHdoZW4gYSBjb2xsaXNpb24gYmxvY2sgaGFzIGJlZW4gZm91bmQ6ICovCisvKiB2b2lkIGNvbGxpc2lvbl9ibG9ja19jYWxsYmFjayh1aW50NjRfdCBieXRlb2Zmc2V0LCBjb25zdCB1aW50MzJfdCBpaHZpbjFbNV0sIGNvbnN0IHVpbnQzMl90IGlodmluMls1XSwgY29uc3QgdWludDMyX3QgbTFbODBdLCBjb25zdCB1aW50MzJfdCBtMls4MF0pICovCit0eXBlZGVmIHZvaWQoKmNvbGxpc2lvbl9ibG9ja19jYWxsYmFjaykodWludDY0X3QsIGNvbnN0IHVpbnQzMl90KiwgY29uc3QgdWludDMyX3QqLCBjb25zdCB1aW50MzJfdCosIGNvbnN0IHVpbnQzMl90Kik7CisKKy8qIFRoZSBTSEEtMSBjb250ZXh0LiAqLwordHlwZWRlZiBzdHJ1Y3QgeworCXVpbnQ2NF90IHRvdGFsOworCXVpbnQzMl90IGlodls1XTsKKwl1bnNpZ25lZCBjaGFyIGJ1ZmZlcls2NF07CisJaW50IGZvdW5kX2NvbGxpc2lvbjsKKwlpbnQgc2FmZV9oYXNoOworCWludCBkZXRlY3RfY29sbDsKKwlpbnQgdWJjX2NoZWNrOworCWludCByZWR1Y2VkX3JvdW5kX2NvbGw7CisJY29sbGlzaW9uX2Jsb2NrX2NhbGxiYWNrIGNhbGxiYWNrOworCisJdWludDMyX3QgaWh2MVs1XTsKKwl1aW50MzJfdCBpaHYyWzVdOworCXVpbnQzMl90IG0xWzgwXTsKKwl1aW50MzJfdCBtMls4MF07CisJdWludDMyX3Qgc3RhdGVzWzgwXVs1XTsKK30gU0hBMV9DVFg7CisKKy8qIEluaXRpYWxpemUgU0hBLTEgY29udGV4dC4gKi8KK3ZvaWQgU0hBMURDSW5pdChTSEExX0NUWCopOworCisvKgorICAgIEZ1bmN0aW9uIHRvIGVuYWJsZSBzYWZlIFNIQS0xIGhhc2hpbmc6CisgICAgQ29sbGlzaW9uIGF0dGFja3MgYXJlIHRod2FydGVkIGJ5IGhhc2hpbmcgYSBkZXRlY3RlZCBuZWFyLWNvbGxpc2lvbiBibG9jayAzIHRpbWVzLgorICAgIFRoaW5rIG9mIGl0IGFzIGV4dGVuZGluZyBTSEEtMSBmcm9tIDgwLXN0ZXBzIHRvIDI0MC1zdGVwcyBmb3Igc3VjaCBibG9ja3M6CisgICAgICAgIFRoZSBiZXN0IGNvbGxpc2lvbiBhdHRhY2tzIGFnYWluc3QgU0hBLTEgaGF2ZSBjb21wbGV4aXR5IGFib3V0IDJeNjAsCisgICAgICAgIHRodXMgZm9yIDI0MC1zdGVwcyBhbiBpbW1lZGlhdGUgbG93ZXItYm91bmQgZm9yIHRoZSBiZXN0IGNyeXB0YW5hbHl0aWMgYXR0YWNrcyB3b3VsZCBiZSAyXjE4MC4KKyAgICAgICAgQW4gYXR0YWNrZXIgd291bGQgYmUgYmV0dGVyIG9mZiB1c2luZyBhIGdlbmVyaWMgYmlydGhkYXkgc2VhcmNoIG9mIGNvbXBsZXhpdHkgMl44MC4KKworICAgRW5hYmxpbmcgc2FmZSBTSEEtMSBoYXNoaW5nIHdpbGwgcmVzdWx0IGluIHRoZSBjb3JyZWN0IFNIQS0xIGhhc2ggZm9yIG1lc3NhZ2VzIHdoZXJlIG5vIGNvbGxpc2lvbiBhdHRhY2sgd2FzIGRldGVjdGVkLAorICAgYnV0IGl0IHdpbGwgcmVzdWx0IGluIGEgZGlmZmVyZW50IFNIQS0xIGhhc2ggZm9yIG1lc3NhZ2VzIHdoZXJlIGEgY29sbGlzaW9uIGF0dGFjayB3YXMgZGV0ZWN0ZWQuCisgICBUaGlzIHdpbGwgYXV0b21hdGljYWxseSBpbnZhbGlkYXRlIFNIQS0xIGJhc2VkIGRpZ2l0YWwgc2lnbmF0dXJlIGZvcmdlcmllcy4KKyAgIEVuYWJsZWQgYnkgZGVmYXVsdC4KKyovCit2b2lkIFNIQTFEQ1NldFNhZmVIYXNoKFNIQTFfQ1RYKiwgaW50KTsKKworLyoKKyAgICBGdW5jdGlvbiB0byBkaXNhYmxlIG9yIGVuYWJsZSB0aGUgdXNlIG9mIFVuYXZvaWRhYmxlIEJpdGNvbmRpdGlvbnMgKHByb3ZpZGVzIGEgc2lnbmlmaWNhbnQgc3BlZWQgdXApLgorICAgIEVuYWJsZWQgYnkgZGVmYXVsdAorICovCit2b2lkIFNIQTFEQ1NldFVzZVVCQyhTSEExX0NUWCosIGludCk7CisKKy8qCisgICAgRnVuY3Rpb24gdG8gZGlzYWJsZSBvciBlbmFibGUgdGhlIHVzZSBvZiBDb2xsaXNpb24gRGV0ZWN0aW9uLgorICAgIEVuYWJsZWQgYnkgZGVmYXVsdC4KKyAqLwordm9pZCBTSEExRENTZXRVc2VEZXRlY3RDb2xsKFNIQTFfQ1RYKiwgaW50KTsKKworLyogZnVuY3Rpb24gdG8gZGlzYWJsZSBvciBlbmFibGUgdGhlIGRldGVjdGlvbiBvZiByZWR1Y2VkLXJvdW5kIFNIQS0xIGNvbGxpc2lvbnMgKi8KKy8qIGRpc2FibGVkIGJ5IGRlZmF1bHQgKi8KK3ZvaWQgU0hBMURDU2V0RGV0ZWN0UmVkdWNlZFJvdW5kQ29sbGlzaW9uKFNIQTFfQ1RYKiwgaW50KTsKKworLyogZnVuY3Rpb24gdG8gc2V0IGEgY2FsbGJhY2sgZnVuY3Rpb24sIHBhc3MgTlVMTCB0byBkaXNhYmxlICovCisvKiBieSBkZWZhdWx0IG5vIGNhbGxiYWNrIHNldCAqLwordm9pZCBTSEExRENTZXRDYWxsYmFjayhTSEExX0NUWCosIGNvbGxpc2lvbl9ibG9ja19jYWxsYmFjayk7CisKKy8qIHVwZGF0ZSBTSEEtMSBjb250ZXh0IHdpdGggYnVmZmVyIGNvbnRlbnRzICovCit2b2lkIFNIQTFEQ1VwZGF0ZShTSEExX0NUWCosIGNvbnN0IGNoYXIqLCBzaXplX3QpOworCisvKiBvYnRhaW4gU0hBLTEgaGFzaCBmcm9tIFNIQS0xIGNvbnRleHQgKi8KKy8qIHJldHVybnM6IDAgPSBubyBjb2xsaXNpb24gZGV0ZWN0ZWQsIG90aGVyd2lzZSA9IGNvbGxpc2lvbiBmb3VuZCA9PiB3YXJuIHVzZXIgZm9yIGFjdGl2ZSBhdHRhY2sgKi8KK2ludCAgU0hBMURDRmluYWwodW5zaWduZWQgY2hhclsyMF0sIFNIQTFfQ1RYKik7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKyNpZmRlZiBTSEExRENfQ1VTVE9NX1RSQUlMSU5HX0lOQ0xVREVfU0hBMV9ICisjaW5jbHVkZSBTSEExRENfQ1VTVE9NX1RSQUlMSU5HX0lOQ0xVREVfU0hBMV9ICisjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9zaGExZGMvdWJjX2NoZWNrLmMgYi9zaGExZGMvdWJjX2NoZWNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNiZWZmMgotLS0gL2Rldi9udWxsCisrKyBiL3NoYTFkYy91YmNfY2hlY2suYwpAQCAtMCwwICsxLDM3MiBAQAorLyoqKgorKiBDb3B5cmlnaHQgMjAxNyBNYXJjIFN0ZXZlbnMgPG1hcmNAbWFyYy1zdGV2ZW5zLm5sPiwgRGFuIFNodW1vdyA8ZGFuc2h1QG1pY3Jvc29mdC5jb20+CisqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBNSVQgU29mdHdhcmUgTGljZW5zZS4KKyogU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0UudHh0IG9yIGNvcHkgYXQKKyogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKKyoqKi8KKworLyoKKy8vIHRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSAncGFyc2VfYml0cmVsJyBwcm9ncmFtIGluIHRoZSB0b29scyBzZWN0aW9uCisvLyB1c2luZyB0aGUgZGF0YSBmaWxlcyBmcm9tIGRpcmVjdG9yeSAndG9vbHMvZGF0YS8zNTY1JworLy8KKy8vIHNoYTFfZHZzIGNvbnRhaW5zIGEgbGlzdCBvZiBTSEEtMSBEaXN0dXJiYW5jZSBWZWN0b3JzIChEVikgdG8gY2hlY2sKKy8vIGR2VHlwZSwgZHZLIGFuZCBkdkIgZGVmaW5lIHRoZSBEVjogSShLLEIpIG9yIElJKEssQikgKHNlZSB0aGUgcGFwZXIpCisvLyBkbVs4MF0gaXMgdGhlIGV4cGFuZGVkIG1lc3NhZ2UgYmxvY2sgWE9SLWRpZmZlcmVuY2UgZGVmaW5lZCBieSB0aGUgRFYKKy8vIHRlc3R0IGlzIHRoZSBzdGVwIHRvIGRvIHRoZSByZWNvbXByZXNzaW9uIGZyb20gZm9yIGNvbGxpc2lvbiBkZXRlY3Rpb24KKy8vIG1hc2tpIGFuZCBtYXNrYiBkZWZpbmUgdGhlIGJpdCB0byBjaGVjayBmb3IgZWFjaCBEViBpbiB0aGUgZHZtYXNrIHJldHVybmVkIGJ5IHViY19jaGVjaworLy8KKy8vIHViY19jaGVjayB0YWtlcyBhcyBpbnB1dCBhbiBleHBhbmRlZCBtZXNzYWdlIGJsb2NrIGFuZCB2ZXJpZmllcyB0aGUgdW5hdm9pZGFibGUgYml0Y29uZGl0aW9ucyBmb3IgYWxsIGxpc3RlZCBEVnMKKy8vIGl0IHJldHVybnMgYSBkdm1hc2sgd2hlcmUgZWFjaCBiaXQgYmVsb25naW5nIHRvIGEgRFYgaXMgc2V0IGlmIGFsbCB1bmF2b2lkYWJsZSBiaXRjb25kaXRpb25zIGZvciB0aGF0IERWIGhhdmUgYmVlbiBtZXQKKy8vIHRodXMgb25lIG5lZWRzIHRvIGRvIHRoZSByZWNvbXByZXNzaW9uIGNoZWNrIGZvciBlYWNoIERWIHRoYXQgaGFzIGl0cyBiaXQgc2V0CisvLworLy8gdWJjX2NoZWNrIGlzIHByb2dyYW1tYXRpY2FsbHkgZ2VuZXJhdGVkIGFuZCB0aGUgdW5hdm9pZGFibGUgYml0Y29uZGl0aW9ucyBoYXZlIGJlZW4gaGFyZGNvZGVkCisvLyBhIGRpcmVjdGx5IHZlcmlmaWFibGUgdmVyc2lvbiBuYW1lZCB1YmNfY2hlY2tfdmVyaWZ5IGNhbiBiZSBmb3VuZCBpbiB1YmNfY2hlY2tfdmVyaWZ5LmMKKy8vIHViY19jaGVjayBoYXMgYmVlbiB2ZXJpZmllZCBhZ2FpbnN0IHViY19jaGVja192ZXJpZnkgdXNpbmcgdGhlICd1YmNfY2hlY2tfdGVzdCcgcHJvZ3JhbSBpbiB0aGUgdG9vbHMgc2VjdGlvbgorKi8KKworI2lmbmRlZiBTSEExRENfTk9fU1RBTkRBUkRfSU5DTFVERVMKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNlbmRpZgorI2lmZGVmIFNIQTFEQ19DVVNUT01fSU5DTFVERV9VQkNfQ0hFQ0tfQworI2luY2x1ZGUgU0hBMURDX0NVU1RPTV9JTkNMVURFX1VCQ19DSEVDS19DCisjZW5kaWYKKyNpbmNsdWRlICJ1YmNfY2hlY2suaCIKKworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDNfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAwOworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDRfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAxOworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDVfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAyOworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDZfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAzOworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDZfMl9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCA0Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDdfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCA1Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDdfMl9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCA2Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDhfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCA3Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDhfMl9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCA4Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDlfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCA5Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNDlfMl9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAxMDsKK3N0YXRpYyBjb25zdCB1aW50MzJfdCBEVl9JXzUwXzBfYml0IAk9ICh1aW50MzJfdCkoMSkgPDwgMTE7CitzdGF0aWMgY29uc3QgdWludDMyX3QgRFZfSV81MF8yX2JpdCAJPSAodWludDMyX3QpKDEpIDw8IDEyOworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lfNTFfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAxMzsKK3N0YXRpYyBjb25zdCB1aW50MzJfdCBEVl9JXzUxXzJfYml0IAk9ICh1aW50MzJfdCkoMSkgPDwgMTQ7CitzdGF0aWMgY29uc3QgdWludDMyX3QgRFZfSV81Ml8wX2JpdCAJPSAodWludDMyX3QpKDEpIDw8IDE1Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lJXzQ1XzBfYml0IAk9ICh1aW50MzJfdCkoMSkgPDwgMTY7CitzdGF0aWMgY29uc3QgdWludDMyX3QgRFZfSUlfNDZfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAxNzsKK3N0YXRpYyBjb25zdCB1aW50MzJfdCBEVl9JSV80Nl8yX2JpdCAJPSAodWludDMyX3QpKDEpIDw8IDE4Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lJXzQ3XzBfYml0IAk9ICh1aW50MzJfdCkoMSkgPDwgMTk7CitzdGF0aWMgY29uc3QgdWludDMyX3QgRFZfSUlfNDhfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAyMDsKK3N0YXRpYyBjb25zdCB1aW50MzJfdCBEVl9JSV80OV8wX2JpdCAJPSAodWludDMyX3QpKDEpIDw8IDIxOworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lJXzQ5XzJfYml0IAk9ICh1aW50MzJfdCkoMSkgPDwgMjI7CitzdGF0aWMgY29uc3QgdWludDMyX3QgRFZfSUlfNTBfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAyMzsKK3N0YXRpYyBjb25zdCB1aW50MzJfdCBEVl9JSV81MF8yX2JpdCAJPSAodWludDMyX3QpKDEpIDw8IDI0Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lJXzUxXzBfYml0IAk9ICh1aW50MzJfdCkoMSkgPDwgMjU7CitzdGF0aWMgY29uc3QgdWludDMyX3QgRFZfSUlfNTFfMl9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAyNjsKK3N0YXRpYyBjb25zdCB1aW50MzJfdCBEVl9JSV81Ml8wX2JpdCAJPSAodWludDMyX3QpKDEpIDw8IDI3Oworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lJXzUzXzBfYml0IAk9ICh1aW50MzJfdCkoMSkgPDwgMjg7CitzdGF0aWMgY29uc3QgdWludDMyX3QgRFZfSUlfNTRfMF9iaXQgCT0gKHVpbnQzMl90KSgxKSA8PCAyOTsKK3N0YXRpYyBjb25zdCB1aW50MzJfdCBEVl9JSV81NV8wX2JpdCAJPSAodWludDMyX3QpKDEpIDw8IDMwOworc3RhdGljIGNvbnN0IHVpbnQzMl90IERWX0lJXzU2XzBfYml0IAk9ICh1aW50MzJfdCkoMSkgPDwgMzE7CisKK2R2X2luZm9fdCBzaGExX2R2c1tdID0KK3sKKyAgezEsNDMsMCw1OCwwLDAsIHsgMHgwODAwMDAwMCwweDk4MDAwMDBjLDB4ZDgwMDAwMTAsMHgwODAwMDAxMCwweGI4MDAwMDEwLDB4OTgwMDAwMDAsMHg2MDAwMDAwMCwweDAwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxNCwweDEwMDAwMDEwLDB4YjgwMDAwMTQsMHgyODAwMDAwMCwweDIwMDAwMDEwLDB4NDgwMDAwMDAsMHgwODAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHhmMDAwMDAxMCwweDkwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxMCwweGYwMDAwMDEwLDB4YjAwMDAwMDgsMHg0MDAwMDAwMCwweDkwMDAwMDAwLDB4ZjAwMDAwMTAsMHg5MDAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHg5MDAwMDAxMCwweDkwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweGEwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDIwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDAsMHg0MDAwMDAwMiwweDgwMDAwMDA0LDB4ODAwMDAwODAsMHg4MDAwMDAwNiwweDAwMDAwMDQ5LDB4MDAwMDAxMDMsMHg4MDAwMDAwOSwweDgwMDAwMDEyLDB4ODAwMDAyMDIsMHgwMDAwMDAxOCwweDAwMDAwMTY0LDB4MDAwMDA0MDgsMHg4MDAwMDBlNiwweDgwMDAwMDRjLDB4MDAwMDA4MDMsMHg4MDAwMDE2MSwweDgwMDAwNTk5IH0gfQorLCB7MSw0NCwwLDU4LDAsMSwgeyAweGI0MDAwMDA4LDB4MDgwMDAwMDAsMHg5ODAwMDAwYywweGQ4MDAwMDEwLDB4MDgwMDAwMTAsMHhiODAwMDAxMCwweDk4MDAwMDAwLDB4NjAwMDAwMDAsMHgwMDAwMDAwOCwweGMwMDAwMDAwLDB4OTAwMDAwMTQsMHgxMDAwMDAxMCwweGI4MDAwMDE0LDB4MjgwMDAwMDAsMHgyMDAwMDAxMCwweDQ4MDAwMDAwLDB4MDgwMDAwMTgsMHg2MDAwMDAwMCwweDkwMDAwMDEwLDB4ZjAwMDAwMTAsMHg5MDAwMDAwOCwweGMwMDAwMDAwLDB4OTAwMDAwMTAsMHhmMDAwMDAxMCwweGIwMDAwMDA4LDB4NDAwMDAwMDAsMHg5MDAwMDAwMCwweGYwMDAwMDEwLDB4OTAwMDAwMTgsMHg2MDAwMDAwMCwweDkwMDAwMDEwLDB4OTAwMDAwMTAsMHg5MDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHhhMDAwMDAwMCwweDIwMDAwMDAwLDB4YTAwMDAwMDAsMHgyMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4MjAwMDAwMDAsMHgwMDAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMSwweDAwMDAwMDIwLDB4MDAwMDAwMDEsMHg0MDAwMDAwMiwweDQwMDAwMDQwLDB4NDAwMDAwMDIsMHg4MDAwMDAwNCwweDgwMDAwMDgwLDB4ODAwMDAwMDYsMHgwMDAwMDA0OSwweDAwMDAwMTAzLDB4ODAwMDAwMDksMHg4MDAwMDAxMiwweDgwMDAwMjAyLDB4MDAwMDAwMTgsMHgwMDAwMDE2NCwweDAwMDAwNDA4LDB4ODAwMDAwZTYsMHg4MDAwMDA0YywweDAwMDAwODAzLDB4ODAwMDAxNjEgfSB9CissIHsxLDQ1LDAsNTgsMCwyLCB7IDB4ZjQwMDAwMTQsMHhiNDAwMDAwOCwweDA4MDAwMDAwLDB4OTgwMDAwMGMsMHhkODAwMDAxMCwweDA4MDAwMDEwLDB4YjgwMDAwMTAsMHg5ODAwMDAwMCwweDYwMDAwMDAwLDB4MDAwMDAwMDgsMHhjMDAwMDAwMCwweDkwMDAwMDE0LDB4MTAwMDAwMTAsMHhiODAwMDAxNCwweDI4MDAwMDAwLDB4MjAwMDAwMTAsMHg0ODAwMDAwMCwweDA4MDAwMDE4LDB4NjAwMDAwMDAsMHg5MDAwMDAxMCwweGYwMDAwMDEwLDB4OTAwMDAwMDgsMHhjMDAwMDAwMCwweDkwMDAwMDEwLDB4ZjAwMDAwMTAsMHhiMDAwMDAwOCwweDQwMDAwMDAwLDB4OTAwMDAwMDAsMHhmMDAwMDAxMCwweDkwMDAwMDE4LDB4NjAwMDAwMDAsMHg5MDAwMDAxMCwweDkwMDAwMDEwLDB4OTAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4YTAwMDAwMDAsMHgyMDAwMDAwMCwweGEwMDAwMDAwLDB4MjAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4MjAwMDAwMDAsMHgwMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDEsMHgwMDAwMDAyMCwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHg0MDAwMDA0MCwweDQwMDAwMDAyLDB4ODAwMDAwMDQsMHg4MDAwMDA4MCwweDgwMDAwMDA2LDB4MDAwMDAwNDksMHgwMDAwMDEwMywweDgwMDAwMDA5LDB4ODAwMDAwMTIsMHg4MDAwMDIwMiwweDAwMDAwMDE4LDB4MDAwMDAxNjQsMHgwMDAwMDQwOCwweDgwMDAwMGU2LDB4ODAwMDAwNGMsMHgwMDAwMDgwMyB9IH0KKywgezEsNDYsMCw1OCwwLDMsIHsgMHgyYzAwMDAxMCwweGY0MDAwMDE0LDB4YjQwMDAwMDgsMHgwODAwMDAwMCwweDk4MDAwMDBjLDB4ZDgwMDAwMTAsMHgwODAwMDAxMCwweGI4MDAwMDEwLDB4OTgwMDAwMDAsMHg2MDAwMDAwMCwweDAwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxNCwweDEwMDAwMDEwLDB4YjgwMDAwMTQsMHgyODAwMDAwMCwweDIwMDAwMDEwLDB4NDgwMDAwMDAsMHgwODAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHhmMDAwMDAxMCwweDkwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxMCwweGYwMDAwMDEwLDB4YjAwMDAwMDgsMHg0MDAwMDAwMCwweDkwMDAwMDAwLDB4ZjAwMDAwMTAsMHg5MDAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHg5MDAwMDAxMCwweDkwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweGEwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDIwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDAsMHg0MDAwMDAwMiwweDgwMDAwMDA0LDB4ODAwMDAwODAsMHg4MDAwMDAwNiwweDAwMDAwMDQ5LDB4MDAwMDAxMDMsMHg4MDAwMDAwOSwweDgwMDAwMDEyLDB4ODAwMDAyMDIsMHgwMDAwMDAxOCwweDAwMDAwMTY0LDB4MDAwMDA0MDgsMHg4MDAwMDBlNiwweDgwMDAwMDRjIH0gfQorLCB7MSw0NiwyLDU4LDAsNCwgeyAweGIwMDAwMDQwLDB4ZDAwMDAwNTMsMHhkMDAwMDAyMiwweDIwMDAwMDAwLDB4NjAwMDAwMzIsMHg2MDAwMDA0MywweDIwMDAwMDQwLDB4ZTAwMDAwNDIsMHg2MDAwMDAwMiwweDgwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMywweDQwMDAwMDUyLDB4NDAwMDAwNDAsMHhlMDAwMDA1MiwweGEwMDAwMDAwLDB4ODAwMDAwNDAsMHgyMDAwMDAwMSwweDIwMDAwMDYwLDB4ODAwMDAwMDEsMHg0MDAwMDA0MiwweGMwMDAwMDQzLDB4NDAwMDAwMjIsMHgwMDAwMDAwMywweDQwMDAwMDQyLDB4YzAwMDAwNDMsMHhjMDAwMDAyMiwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHhjMDAwMDA0MywweDQwMDAwMDYyLDB4ODAwMDAwMDEsMHg0MDAwMDA0MiwweDQwMDAwMDQyLDB4NDAwMDAwMDIsMHgwMDAwMDAwMiwweDAwMDAwMDQwLDB4ODAwMDAwMDIsMHg4MDAwMDAwMCwweDgwMDAwMDAyLDB4ODAwMDAwNDAsMHgwMDAwMDAwMCwweDgwMDAwMDQwLDB4ODAwMDAwMDAsMHgwMDAwMDA0MCwweDgwMDAwMDAwLDB4MDAwMDAwNDAsMHg4MDAwMDAwMiwweDAwMDAwMDAwLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDQsMHgwMDAwMDA4MCwweDAwMDAwMDA0LDB4MDAwMDAwMDksMHgwMDAwMDEwMSwweDAwMDAwMDA5LDB4MDAwMDAwMTIsMHgwMDAwMDIwMiwweDAwMDAwMDFhLDB4MDAwMDAxMjQsMHgwMDAwMDQwYywweDAwMDAwMDI2LDB4MDAwMDAwNGEsMHgwMDAwMDgwYSwweDAwMDAwMDYwLDB4MDAwMDA1OTAsMHgwMDAwMTAyMCwweDAwMDAwMzlhLDB4MDAwMDAxMzIgfSB9CissIHsxLDQ3LDAsNTgsMCw1LCB7IDB4YzgwMDAwMTAsMHgyYzAwMDAxMCwweGY0MDAwMDE0LDB4YjQwMDAwMDgsMHgwODAwMDAwMCwweDk4MDAwMDBjLDB4ZDgwMDAwMTAsMHgwODAwMDAxMCwweGI4MDAwMDEwLDB4OTgwMDAwMDAsMHg2MDAwMDAwMCwweDAwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxNCwweDEwMDAwMDEwLDB4YjgwMDAwMTQsMHgyODAwMDAwMCwweDIwMDAwMDEwLDB4NDgwMDAwMDAsMHgwODAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHhmMDAwMDAxMCwweDkwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxMCwweGYwMDAwMDEwLDB4YjAwMDAwMDgsMHg0MDAwMDAwMCwweDkwMDAwMDAwLDB4ZjAwMDAwMTAsMHg5MDAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHg5MDAwMDAxMCwweDkwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweGEwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDIwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDAsMHg0MDAwMDAwMiwweDgwMDAwMDA0LDB4ODAwMDAwODAsMHg4MDAwMDAwNiwweDAwMDAwMDQ5LDB4MDAwMDAxMDMsMHg4MDAwMDAwOSwweDgwMDAwMDEyLDB4ODAwMDAyMDIsMHgwMDAwMDAxOCwweDAwMDAwMTY0LDB4MDAwMDA0MDgsMHg4MDAwMDBlNiB9IH0KKywgezEsNDcsMiw1OCwwLDYsIHsgMHgyMDAwMDA0MywweGIwMDAwMDQwLDB4ZDAwMDAwNTMsMHhkMDAwMDAyMiwweDIwMDAwMDAwLDB4NjAwMDAwMzIsMHg2MDAwMDA0MywweDIwMDAwMDQwLDB4ZTAwMDAwNDIsMHg2MDAwMDAwMiwweDgwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMywweDQwMDAwMDUyLDB4NDAwMDAwNDAsMHhlMDAwMDA1MiwweGEwMDAwMDAwLDB4ODAwMDAwNDAsMHgyMDAwMDAwMSwweDIwMDAwMDYwLDB4ODAwMDAwMDEsMHg0MDAwMDA0MiwweGMwMDAwMDQzLDB4NDAwMDAwMjIsMHgwMDAwMDAwMywweDQwMDAwMDQyLDB4YzAwMDAwNDMsMHhjMDAwMDAyMiwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHhjMDAwMDA0MywweDQwMDAwMDYyLDB4ODAwMDAwMDEsMHg0MDAwMDA0MiwweDQwMDAwMDQyLDB4NDAwMDAwMDIsMHgwMDAwMDAwMiwweDAwMDAwMDQwLDB4ODAwMDAwMDIsMHg4MDAwMDAwMCwweDgwMDAwMDAyLDB4ODAwMDAwNDAsMHgwMDAwMDAwMCwweDgwMDAwMDQwLDB4ODAwMDAwMDAsMHgwMDAwMDA0MCwweDgwMDAwMDAwLDB4MDAwMDAwNDAsMHg4MDAwMDAwMiwweDAwMDAwMDAwLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDQsMHgwMDAwMDA4MCwweDAwMDAwMDA0LDB4MDAwMDAwMDksMHgwMDAwMDEwMSwweDAwMDAwMDA5LDB4MDAwMDAwMTIsMHgwMDAwMDIwMiwweDAwMDAwMDFhLDB4MDAwMDAxMjQsMHgwMDAwMDQwYywweDAwMDAwMDI2LDB4MDAwMDAwNGEsMHgwMDAwMDgwYSwweDAwMDAwMDYwLDB4MDAwMDA1OTAsMHgwMDAwMTAyMCwweDAwMDAwMzlhIH0gfQorLCB7MSw0OCwwLDU4LDAsNywgeyAweGI4MDAwMDBhLDB4YzgwMDAwMTAsMHgyYzAwMDAxMCwweGY0MDAwMDE0LDB4YjQwMDAwMDgsMHgwODAwMDAwMCwweDk4MDAwMDBjLDB4ZDgwMDAwMTAsMHgwODAwMDAxMCwweGI4MDAwMDEwLDB4OTgwMDAwMDAsMHg2MDAwMDAwMCwweDAwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxNCwweDEwMDAwMDEwLDB4YjgwMDAwMTQsMHgyODAwMDAwMCwweDIwMDAwMDEwLDB4NDgwMDAwMDAsMHgwODAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHhmMDAwMDAxMCwweDkwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxMCwweGYwMDAwMDEwLDB4YjAwMDAwMDgsMHg0MDAwMDAwMCwweDkwMDAwMDAwLDB4ZjAwMDAwMTAsMHg5MDAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHg5MDAwMDAxMCwweDkwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweGEwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDIwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDAsMHg0MDAwMDAwMiwweDgwMDAwMDA0LDB4ODAwMDAwODAsMHg4MDAwMDAwNiwweDAwMDAwMDQ5LDB4MDAwMDAxMDMsMHg4MDAwMDAwOSwweDgwMDAwMDEyLDB4ODAwMDAyMDIsMHgwMDAwMDAxOCwweDAwMDAwMTY0LDB4MDAwMDA0MDggfSB9CissIHsxLDQ4LDIsNTgsMCw4LCB7IDB4ZTAwMDAwMmEsMHgyMDAwMDA0MywweGIwMDAwMDQwLDB4ZDAwMDAwNTMsMHhkMDAwMDAyMiwweDIwMDAwMDAwLDB4NjAwMDAwMzIsMHg2MDAwMDA0MywweDIwMDAwMDQwLDB4ZTAwMDAwNDIsMHg2MDAwMDAwMiwweDgwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMywweDQwMDAwMDUyLDB4NDAwMDAwNDAsMHhlMDAwMDA1MiwweGEwMDAwMDAwLDB4ODAwMDAwNDAsMHgyMDAwMDAwMSwweDIwMDAwMDYwLDB4ODAwMDAwMDEsMHg0MDAwMDA0MiwweGMwMDAwMDQzLDB4NDAwMDAwMjIsMHgwMDAwMDAwMywweDQwMDAwMDQyLDB4YzAwMDAwNDMsMHhjMDAwMDAyMiwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHhjMDAwMDA0MywweDQwMDAwMDYyLDB4ODAwMDAwMDEsMHg0MDAwMDA0MiwweDQwMDAwMDQyLDB4NDAwMDAwMDIsMHgwMDAwMDAwMiwweDAwMDAwMDQwLDB4ODAwMDAwMDIsMHg4MDAwMDAwMCwweDgwMDAwMDAyLDB4ODAwMDAwNDAsMHgwMDAwMDAwMCwweDgwMDAwMDQwLDB4ODAwMDAwMDAsMHgwMDAwMDA0MCwweDgwMDAwMDAwLDB4MDAwMDAwNDAsMHg4MDAwMDAwMiwweDAwMDAwMDAwLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDQsMHgwMDAwMDA4MCwweDAwMDAwMDA0LDB4MDAwMDAwMDksMHgwMDAwMDEwMSwweDAwMDAwMDA5LDB4MDAwMDAwMTIsMHgwMDAwMDIwMiwweDAwMDAwMDFhLDB4MDAwMDAxMjQsMHgwMDAwMDQwYywweDAwMDAwMDI2LDB4MDAwMDAwNGEsMHgwMDAwMDgwYSwweDAwMDAwMDYwLDB4MDAwMDA1OTAsMHgwMDAwMTAyMCB9IH0KKywgezEsNDksMCw1OCwwLDksIHsgMHgxODAwMDAwMCwweGI4MDAwMDBhLDB4YzgwMDAwMTAsMHgyYzAwMDAxMCwweGY0MDAwMDE0LDB4YjQwMDAwMDgsMHgwODAwMDAwMCwweDk4MDAwMDBjLDB4ZDgwMDAwMTAsMHgwODAwMDAxMCwweGI4MDAwMDEwLDB4OTgwMDAwMDAsMHg2MDAwMDAwMCwweDAwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxNCwweDEwMDAwMDEwLDB4YjgwMDAwMTQsMHgyODAwMDAwMCwweDIwMDAwMDEwLDB4NDgwMDAwMDAsMHgwODAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHhmMDAwMDAxMCwweDkwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxMCwweGYwMDAwMDEwLDB4YjAwMDAwMDgsMHg0MDAwMDAwMCwweDkwMDAwMDAwLDB4ZjAwMDAwMTAsMHg5MDAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHg5MDAwMDAxMCwweDkwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweGEwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDIwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDAsMHg0MDAwMDAwMiwweDgwMDAwMDA0LDB4ODAwMDAwODAsMHg4MDAwMDAwNiwweDAwMDAwMDQ5LDB4MDAwMDAxMDMsMHg4MDAwMDAwOSwweDgwMDAwMDEyLDB4ODAwMDAyMDIsMHgwMDAwMDAxOCwweDAwMDAwMTY0IH0gfQorLCB7MSw0OSwyLDU4LDAsMTAsIHsgMHg2MDAwMDAwMCwweGUwMDAwMDJhLDB4MjAwMDAwNDMsMHhiMDAwMDA0MCwweGQwMDAwMDUzLDB4ZDAwMDAwMjIsMHgyMDAwMDAwMCwweDYwMDAwMDMyLDB4NjAwMDAwNDMsMHgyMDAwMDA0MCwweGUwMDAwMDQyLDB4NjAwMDAwMDIsMHg4MDAwMDAwMSwweDAwMDAwMDIwLDB4MDAwMDAwMDMsMHg0MDAwMDA1MiwweDQwMDAwMDQwLDB4ZTAwMDAwNTIsMHhhMDAwMDAwMCwweDgwMDAwMDQwLDB4MjAwMDAwMDEsMHgyMDAwMDA2MCwweDgwMDAwMDAxLDB4NDAwMDAwNDIsMHhjMDAwMDA0MywweDQwMDAwMDIyLDB4MDAwMDAwMDMsMHg0MDAwMDA0MiwweGMwMDAwMDQzLDB4YzAwMDAwMjIsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4YzAwMDAwNDMsMHg0MDAwMDA2MiwweDgwMDAwMDAxLDB4NDAwMDAwNDIsMHg0MDAwMDA0MiwweDQwMDAwMDAyLDB4MDAwMDAwMDIsMHgwMDAwMDA0MCwweDgwMDAwMDAyLDB4ODAwMDAwMDAsMHg4MDAwMDAwMiwweDgwMDAwMDQwLDB4MDAwMDAwMDAsMHg4MDAwMDA0MCwweDgwMDAwMDAwLDB4MDAwMDAwNDAsMHg4MDAwMDAwMCwweDAwMDAwMDQwLDB4ODAwMDAwMDIsMHgwMDAwMDAwMCwweDgwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDA0LDB4MDAwMDAwODAsMHgwMDAwMDAwNCwweDAwMDAwMDA5LDB4MDAwMDAxMDEsMHgwMDAwMDAwOSwweDAwMDAwMDEyLDB4MDAwMDAyMDIsMHgwMDAwMDAxYSwweDAwMDAwMTI0LDB4MDAwMDA0MGMsMHgwMDAwMDAyNiwweDAwMDAwMDRhLDB4MDAwMDA4MGEsMHgwMDAwMDA2MCwweDAwMDAwNTkwIH0gfQorLCB7MSw1MCwwLDY1LDAsMTEsIHsgMHgwODAwMDAwYywweDE4MDAwMDAwLDB4YjgwMDAwMGEsMHhjODAwMDAxMCwweDJjMDAwMDEwLDB4ZjQwMDAwMTQsMHhiNDAwMDAwOCwweDA4MDAwMDAwLDB4OTgwMDAwMGMsMHhkODAwMDAxMCwweDA4MDAwMDEwLDB4YjgwMDAwMTAsMHg5ODAwMDAwMCwweDYwMDAwMDAwLDB4MDAwMDAwMDgsMHhjMDAwMDAwMCwweDkwMDAwMDE0LDB4MTAwMDAwMTAsMHhiODAwMDAxNCwweDI4MDAwMDAwLDB4MjAwMDAwMTAsMHg0ODAwMDAwMCwweDA4MDAwMDE4LDB4NjAwMDAwMDAsMHg5MDAwMDAxMCwweGYwMDAwMDEwLDB4OTAwMDAwMDgsMHhjMDAwMDAwMCwweDkwMDAwMDEwLDB4ZjAwMDAwMTAsMHhiMDAwMDAwOCwweDQwMDAwMDAwLDB4OTAwMDAwMDAsMHhmMDAwMDAxMCwweDkwMDAwMDE4LDB4NjAwMDAwMDAsMHg5MDAwMDAxMCwweDkwMDAwMDEwLDB4OTAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4YTAwMDAwMDAsMHgyMDAwMDAwMCwweGEwMDAwMDAwLDB4MjAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4MjAwMDAwMDAsMHgwMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDEsMHgwMDAwMDAyMCwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHg0MDAwMDA0MCwweDQwMDAwMDAyLDB4ODAwMDAwMDQsMHg4MDAwMDA4MCwweDgwMDAwMDA2LDB4MDAwMDAwNDksMHgwMDAwMDEwMywweDgwMDAwMDA5LDB4ODAwMDAwMTIsMHg4MDAwMDIwMiwweDAwMDAwMDE4IH0gfQorLCB7MSw1MCwyLDY1LDAsMTIsIHsgMHgyMDAwMDAzMCwweDYwMDAwMDAwLDB4ZTAwMDAwMmEsMHgyMDAwMDA0MywweGIwMDAwMDQwLDB4ZDAwMDAwNTMsMHhkMDAwMDAyMiwweDIwMDAwMDAwLDB4NjAwMDAwMzIsMHg2MDAwMDA0MywweDIwMDAwMDQwLDB4ZTAwMDAwNDIsMHg2MDAwMDAwMiwweDgwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMywweDQwMDAwMDUyLDB4NDAwMDAwNDAsMHhlMDAwMDA1MiwweGEwMDAwMDAwLDB4ODAwMDAwNDAsMHgyMDAwMDAwMSwweDIwMDAwMDYwLDB4ODAwMDAwMDEsMHg0MDAwMDA0MiwweGMwMDAwMDQzLDB4NDAwMDAwMjIsMHgwMDAwMDAwMywweDQwMDAwMDQyLDB4YzAwMDAwNDMsMHhjMDAwMDAyMiwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHhjMDAwMDA0MywweDQwMDAwMDYyLDB4ODAwMDAwMDEsMHg0MDAwMDA0MiwweDQwMDAwMDQyLDB4NDAwMDAwMDIsMHgwMDAwMDAwMiwweDAwMDAwMDQwLDB4ODAwMDAwMDIsMHg4MDAwMDAwMCwweDgwMDAwMDAyLDB4ODAwMDAwNDAsMHgwMDAwMDAwMCwweDgwMDAwMDQwLDB4ODAwMDAwMDAsMHgwMDAwMDA0MCwweDgwMDAwMDAwLDB4MDAwMDAwNDAsMHg4MDAwMDAwMiwweDAwMDAwMDAwLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDQsMHgwMDAwMDA4MCwweDAwMDAwMDA0LDB4MDAwMDAwMDksMHgwMDAwMDEwMSwweDAwMDAwMDA5LDB4MDAwMDAwMTIsMHgwMDAwMDIwMiwweDAwMDAwMDFhLDB4MDAwMDAxMjQsMHgwMDAwMDQwYywweDAwMDAwMDI2LDB4MDAwMDAwNGEsMHgwMDAwMDgwYSwweDAwMDAwMDYwIH0gfQorLCB7MSw1MSwwLDY1LDAsMTMsIHsgMHhlODAwMDAwMCwweDA4MDAwMDBjLDB4MTgwMDAwMDAsMHhiODAwMDAwYSwweGM4MDAwMDEwLDB4MmMwMDAwMTAsMHhmNDAwMDAxNCwweGI0MDAwMDA4LDB4MDgwMDAwMDAsMHg5ODAwMDAwYywweGQ4MDAwMDEwLDB4MDgwMDAwMTAsMHhiODAwMDAxMCwweDk4MDAwMDAwLDB4NjAwMDAwMDAsMHgwMDAwMDAwOCwweGMwMDAwMDAwLDB4OTAwMDAwMTQsMHgxMDAwMDAxMCwweGI4MDAwMDE0LDB4MjgwMDAwMDAsMHgyMDAwMDAxMCwweDQ4MDAwMDAwLDB4MDgwMDAwMTgsMHg2MDAwMDAwMCwweDkwMDAwMDEwLDB4ZjAwMDAwMTAsMHg5MDAwMDAwOCwweGMwMDAwMDAwLDB4OTAwMDAwMTAsMHhmMDAwMDAxMCwweGIwMDAwMDA4LDB4NDAwMDAwMDAsMHg5MDAwMDAwMCwweGYwMDAwMDEwLDB4OTAwMDAwMTgsMHg2MDAwMDAwMCwweDkwMDAwMDEwLDB4OTAwMDAwMTAsMHg5MDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHhhMDAwMDAwMCwweDIwMDAwMDAwLDB4YTAwMDAwMDAsMHgyMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4MjAwMDAwMDAsMHgwMDAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMSwweDAwMDAwMDIwLDB4MDAwMDAwMDEsMHg0MDAwMDAwMiwweDQwMDAwMDQwLDB4NDAwMDAwMDIsMHg4MDAwMDAwNCwweDgwMDAwMDgwLDB4ODAwMDAwMDYsMHgwMDAwMDA0OSwweDAwMDAwMTAzLDB4ODAwMDAwMDksMHg4MDAwMDAxMiwweDgwMDAwMjAyIH0gfQorLCB7MSw1MSwyLDY1LDAsMTQsIHsgMHhhMDAwMDAwMywweDIwMDAwMDMwLDB4NjAwMDAwMDAsMHhlMDAwMDAyYSwweDIwMDAwMDQzLDB4YjAwMDAwNDAsMHhkMDAwMDA1MywweGQwMDAwMDIyLDB4MjAwMDAwMDAsMHg2MDAwMDAzMiwweDYwMDAwMDQzLDB4MjAwMDAwNDAsMHhlMDAwMDA0MiwweDYwMDAwMDAyLDB4ODAwMDAwMDEsMHgwMDAwMDAyMCwweDAwMDAwMDAzLDB4NDAwMDAwNTIsMHg0MDAwMDA0MCwweGUwMDAwMDUyLDB4YTAwMDAwMDAsMHg4MDAwMDA0MCwweDIwMDAwMDAxLDB4MjAwMDAwNjAsMHg4MDAwMDAwMSwweDQwMDAwMDQyLDB4YzAwMDAwNDMsMHg0MDAwMDAyMiwweDAwMDAwMDAzLDB4NDAwMDAwNDIsMHhjMDAwMDA0MywweGMwMDAwMDIyLDB4MDAwMDAwMDEsMHg0MDAwMDAwMiwweGMwMDAwMDQzLDB4NDAwMDAwNjIsMHg4MDAwMDAwMSwweDQwMDAwMDQyLDB4NDAwMDAwNDIsMHg0MDAwMDAwMiwweDAwMDAwMDAyLDB4MDAwMDAwNDAsMHg4MDAwMDAwMiwweDgwMDAwMDAwLDB4ODAwMDAwMDIsMHg4MDAwMDA0MCwweDAwMDAwMDAwLDB4ODAwMDAwNDAsMHg4MDAwMDAwMCwweDAwMDAwMDQwLDB4ODAwMDAwMDAsMHgwMDAwMDA0MCwweDgwMDAwMDAyLDB4MDAwMDAwMDAsMHg4MDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwNCwweDAwMDAwMDgwLDB4MDAwMDAwMDQsMHgwMDAwMDAwOSwweDAwMDAwMTAxLDB4MDAwMDAwMDksMHgwMDAwMDAxMiwweDAwMDAwMjAyLDB4MDAwMDAwMWEsMHgwMDAwMDEyNCwweDAwMDAwNDBjLDB4MDAwMDAwMjYsMHgwMDAwMDA0YSwweDAwMDAwODBhIH0gfQorLCB7MSw1MiwwLDY1LDAsMTUsIHsgMHgwNDAwMDAxMCwweGU4MDAwMDAwLDB4MDgwMDAwMGMsMHgxODAwMDAwMCwweGI4MDAwMDBhLDB4YzgwMDAwMTAsMHgyYzAwMDAxMCwweGY0MDAwMDE0LDB4YjQwMDAwMDgsMHgwODAwMDAwMCwweDk4MDAwMDBjLDB4ZDgwMDAwMTAsMHgwODAwMDAxMCwweGI4MDAwMDEwLDB4OTgwMDAwMDAsMHg2MDAwMDAwMCwweDAwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxNCwweDEwMDAwMDEwLDB4YjgwMDAwMTQsMHgyODAwMDAwMCwweDIwMDAwMDEwLDB4NDgwMDAwMDAsMHgwODAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHhmMDAwMDAxMCwweDkwMDAwMDA4LDB4YzAwMDAwMDAsMHg5MDAwMDAxMCwweGYwMDAwMDEwLDB4YjAwMDAwMDgsMHg0MDAwMDAwMCwweDkwMDAwMDAwLDB4ZjAwMDAwMTAsMHg5MDAwMDAxOCwweDYwMDAwMDAwLDB4OTAwMDAwMTAsMHg5MDAwMDAxMCwweDkwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweGEwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDIwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDAsMHg0MDAwMDAwMiwweDgwMDAwMDA0LDB4ODAwMDAwODAsMHg4MDAwMDAwNiwweDAwMDAwMDQ5LDB4MDAwMDAxMDMsMHg4MDAwMDAwOSwweDgwMDAwMDEyIH0gfQorLCB7Miw0NSwwLDU4LDAsMTYsIHsgMHhlYzAwMDAxNCwweDBjMDAwMDAyLDB4YzAwMDAwMTAsMHhiNDAwMDAxYywweDJjMDAwMDA0LDB4YmMwMDAwMTgsMHhiMDAwMDAxMCwweDAwMDAwMDBjLDB4YjgwMDAwMTAsMHgwODAwMDAxOCwweDc4MDAwMDEwLDB4MDgwMDAwMTQsMHg3MDAwMDAxMCwweGI4MDAwMDFjLDB4ZTgwMDAwMDAsMHhiMDAwMDAwNCwweDU4MDAwMDEwLDB4YjAwMDAwMGMsMHg0ODAwMDAwMCwweGIwMDAwMDAwLDB4YjgwMDAwMTAsMHg5ODAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4NjAwMDAwMDAsMHgwMDAwMDAxOCwweGUwMDAwMDAwLDB4OTAwMDAwMDAsMHgzMDAwMDAxMCwweGIwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweGEwMDAwMDAwLDB4MDAwMDAwMTAsMHg4MDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMSwweDAwMDAwMDIwLDB4MDAwMDAwMDEsMHg0MDAwMDAwMiwweDQwMDAwMDQxLDB4NDAwMDAwMjIsMHg4MDAwMDAwNSwweGMwMDAwMDgyLDB4YzAwMDAwNDYsMHg0MDAwMDA0YiwweDgwMDAwMTA3LDB4MDAwMDAwODksMHgwMDAwMDAxNCwweDgwMDAwMjRiLDB4MDAwMDAxMWIsMHg4MDAwMDE2ZCwweDgwMDAwNDFhLDB4MDAwMDAyZTQsMHg4MDAwMDA1NCwweDAwMDAwOTY3IH0gfQorLCB7Miw0NiwwLDU4LDAsMTcsIHsgMHgyNDAwMDAxYywweGVjMDAwMDE0LDB4MGMwMDAwMDIsMHhjMDAwMDAxMCwweGI0MDAwMDFjLDB4MmMwMDAwMDQsMHhiYzAwMDAxOCwweGIwMDAwMDEwLDB4MDAwMDAwMGMsMHhiODAwMDAxMCwweDA4MDAwMDE4LDB4NzgwMDAwMTAsMHgwODAwMDAxNCwweDcwMDAwMDEwLDB4YjgwMDAwMWMsMHhlODAwMDAwMCwweGIwMDAwMDA0LDB4NTgwMDAwMTAsMHhiMDAwMDAwYywweDQ4MDAwMDAwLDB4YjAwMDAwMDAsMHhiODAwMDAxMCwweDk4MDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHg2MDAwMDAwMCwweDAwMDAwMDE4LDB4ZTAwMDAwMDAsMHg5MDAwMDAwMCwweDMwMDAwMDEwLDB4YjAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4YTAwMDAwMDAsMHgwMDAwMDAxMCwweDgwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDEsMHg0MDAwMDAyMiwweDgwMDAwMDA1LDB4YzAwMDAwODIsMHhjMDAwMDA0NiwweDQwMDAwMDRiLDB4ODAwMDAxMDcsMHgwMDAwMDA4OSwweDAwMDAwMDE0LDB4ODAwMDAyNGIsMHgwMDAwMDExYiwweDgwMDAwMTZkLDB4ODAwMDA0MWEsMHgwMDAwMDJlNCwweDgwMDAwMDU0IH0gfQorLCB7Miw0NiwyLDU4LDAsMTgsIHsgMHg5MDAwMDA3MCwweGIwMDAwMDUzLDB4MzAwMDAwMDgsMHgwMDAwMDA0MywweGQwMDAwMDcyLDB4YjAwMDAwMTAsMHhmMDAwMDA2MiwweGMwMDAwMDQyLDB4MDAwMDAwMzAsMHhlMDAwMDA0MiwweDIwMDAwMDYwLDB4ZTAwMDAwNDEsMHgyMDAwMDA1MCwweGMwMDAwMDQxLDB4ZTAwMDAwNzIsMHhhMDAwMDAwMywweGMwMDAwMDEyLDB4NjAwMDAwNDEsMHhjMDAwMDAzMiwweDIwMDAwMDAxLDB4YzAwMDAwMDIsMHhlMDAwMDA0MiwweDYwMDAwMDQyLDB4ODAwMDAwMDIsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAwMiwweDAwMDAwMDQwLDB4MDAwMDAwMDAsMHg4MDAwMDA0MCwweDgwMDAwMDAwLDB4MDAwMDAwNDAsMHg4MDAwMDAwMSwweDAwMDAwMDYwLDB4ODAwMDAwMDMsMHg0MDAwMDAwMiwweGMwMDAwMDQwLDB4YzAwMDAwMDIsMHg4MDAwMDAwMCwweDgwMDAwMDAwLDB4ODAwMDAwMDIsMHgwMDAwMDA0MCwweDAwMDAwMDAyLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMDIsMHgwMDAwMDA0MCwweDAwMDAwMDAwLDB4ODAwMDAwNDAsMHg4MDAwMDAwMiwweDAwMDAwMDAwLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDA0LDB4MDAwMDAwODAsMHgwMDAwMDAwNCwweDAwMDAwMDA5LDB4MDAwMDAxMDUsMHgwMDAwMDA4OSwweDAwMDAwMDE2LDB4MDAwMDAyMGIsMHgwMDAwMDExYiwweDAwMDAwMTJkLDB4MDAwMDA0MWUsMHgwMDAwMDIyNCwweDAwMDAwMDUwLDB4MDAwMDA5MmUsMHgwMDAwMDQ2YywweDAwMDAwNWI2LDB4MDAwMDEwNmEsMHgwMDAwMGI5MCwweDAwMDAwMTUyIH0gfQorLCB7Miw0NywwLDU4LDAsMTksIHsgMHgyMDAwMDAxMCwweDI0MDAwMDFjLDB4ZWMwMDAwMTQsMHgwYzAwMDAwMiwweGMwMDAwMDEwLDB4YjQwMDAwMWMsMHgyYzAwMDAwNCwweGJjMDAwMDE4LDB4YjAwMDAwMTAsMHgwMDAwMDAwYywweGI4MDAwMDEwLDB4MDgwMDAwMTgsMHg3ODAwMDAxMCwweDA4MDAwMDE0LDB4NzAwMDAwMTAsMHhiODAwMDAxYywweGU4MDAwMDAwLDB4YjAwMDAwMDQsMHg1ODAwMDAxMCwweGIwMDAwMDBjLDB4NDgwMDAwMDAsMHhiMDAwMDAwMCwweGI4MDAwMDEwLDB4OTgwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4MjAwMDAwMDAsMHgwMDAwMDAxMCwweDYwMDAwMDAwLDB4MDAwMDAwMTgsMHhlMDAwMDAwMCwweDkwMDAwMDAwLDB4MzAwMDAwMTAsMHhiMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDAwMDAwMDEwLDB4ODAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDEsMHgwMDAwMDAyMCwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHg0MDAwMDA0MSwweDQwMDAwMDIyLDB4ODAwMDAwMDUsMHhjMDAwMDA4MiwweGMwMDAwMDQ2LDB4NDAwMDAwNGIsMHg4MDAwMDEwNywweDAwMDAwMDg5LDB4MDAwMDAwMTQsMHg4MDAwMDI0YiwweDAwMDAwMTFiLDB4ODAwMDAxNmQsMHg4MDAwMDQxYSwweDAwMDAwMmU0IH0gfQorLCB7Miw0OCwwLDU4LDAsMjAsIHsgMHhiYzAwMDAxYSwweDIwMDAwMDEwLDB4MjQwMDAwMWMsMHhlYzAwMDAxNCwweDBjMDAwMDAyLDB4YzAwMDAwMTAsMHhiNDAwMDAxYywweDJjMDAwMDA0LDB4YmMwMDAwMTgsMHhiMDAwMDAxMCwweDAwMDAwMDBjLDB4YjgwMDAwMTAsMHgwODAwMDAxOCwweDc4MDAwMDEwLDB4MDgwMDAwMTQsMHg3MDAwMDAxMCwweGI4MDAwMDFjLDB4ZTgwMDAwMDAsMHhiMDAwMDAwNCwweDU4MDAwMDEwLDB4YjAwMDAwMGMsMHg0ODAwMDAwMCwweGIwMDAwMDAwLDB4YjgwMDAwMTAsMHg5ODAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4NjAwMDAwMDAsMHgwMDAwMDAxOCwweGUwMDAwMDAwLDB4OTAwMDAwMDAsMHgzMDAwMDAxMCwweGIwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweGEwMDAwMDAwLDB4MDAwMDAwMTAsMHg4MDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMSwweDAwMDAwMDIwLDB4MDAwMDAwMDEsMHg0MDAwMDAwMiwweDQwMDAwMDQxLDB4NDAwMDAwMjIsMHg4MDAwMDAwNSwweGMwMDAwMDgyLDB4YzAwMDAwNDYsMHg0MDAwMDA0YiwweDgwMDAwMTA3LDB4MDAwMDAwODksMHgwMDAwMDAxNCwweDgwMDAwMjRiLDB4MDAwMDAxMWIsMHg4MDAwMDE2ZCwweDgwMDAwNDFhIH0gfQorLCB7Miw0OSwwLDU4LDAsMjEsIHsgMHgzYzAwMDAwNCwweGJjMDAwMDFhLDB4MjAwMDAwMTAsMHgyNDAwMDAxYywweGVjMDAwMDE0LDB4MGMwMDAwMDIsMHhjMDAwMDAxMCwweGI0MDAwMDFjLDB4MmMwMDAwMDQsMHhiYzAwMDAxOCwweGIwMDAwMDEwLDB4MDAwMDAwMGMsMHhiODAwMDAxMCwweDA4MDAwMDE4LDB4NzgwMDAwMTAsMHgwODAwMDAxNCwweDcwMDAwMDEwLDB4YjgwMDAwMWMsMHhlODAwMDAwMCwweGIwMDAwMDA0LDB4NTgwMDAwMTAsMHhiMDAwMDAwYywweDQ4MDAwMDAwLDB4YjAwMDAwMDAsMHhiODAwMDAxMCwweDk4MDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHg2MDAwMDAwMCwweDAwMDAwMDE4LDB4ZTAwMDAwMDAsMHg5MDAwMDAwMCwweDMwMDAwMDEwLDB4YjAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4YTAwMDAwMDAsMHgwMDAwMDAxMCwweDgwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDEsMHg0MDAwMDAyMiwweDgwMDAwMDA1LDB4YzAwMDAwODIsMHhjMDAwMDA0NiwweDQwMDAwMDRiLDB4ODAwMDAxMDcsMHgwMDAwMDA4OSwweDAwMDAwMDE0LDB4ODAwMDAyNGIsMHgwMDAwMDExYiwweDgwMDAwMTZkIH0gfQorLCB7Miw0OSwyLDU4LDAsMjIsIHsgMHhmMDAwMDAxMCwweGYwMDAwMDZhLDB4ODAwMDAwNDAsMHg5MDAwMDA3MCwweGIwMDAwMDUzLDB4MzAwMDAwMDgsMHgwMDAwMDA0MywweGQwMDAwMDcyLDB4YjAwMDAwMTAsMHhmMDAwMDA2MiwweGMwMDAwMDQyLDB4MDAwMDAwMzAsMHhlMDAwMDA0MiwweDIwMDAwMDYwLDB4ZTAwMDAwNDEsMHgyMDAwMDA1MCwweGMwMDAwMDQxLDB4ZTAwMDAwNzIsMHhhMDAwMDAwMywweGMwMDAwMDEyLDB4NjAwMDAwNDEsMHhjMDAwMDAzMiwweDIwMDAwMDAxLDB4YzAwMDAwMDIsMHhlMDAwMDA0MiwweDYwMDAwMDQyLDB4ODAwMDAwMDIsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAwMiwweDAwMDAwMDQwLDB4MDAwMDAwMDAsMHg4MDAwMDA0MCwweDgwMDAwMDAwLDB4MDAwMDAwNDAsMHg4MDAwMDAwMSwweDAwMDAwMDYwLDB4ODAwMDAwMDMsMHg0MDAwMDAwMiwweGMwMDAwMDQwLDB4YzAwMDAwMDIsMHg4MDAwMDAwMCwweDgwMDAwMDAwLDB4ODAwMDAwMDIsMHgwMDAwMDA0MCwweDAwMDAwMDAyLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMDIsMHgwMDAwMDA0MCwweDAwMDAwMDAwLDB4ODAwMDAwNDAsMHg4MDAwMDAwMiwweDAwMDAwMDAwLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDA0LDB4MDAwMDAwODAsMHgwMDAwMDAwNCwweDAwMDAwMDA5LDB4MDAwMDAxMDUsMHgwMDAwMDA4OSwweDAwMDAwMDE2LDB4MDAwMDAyMGIsMHgwMDAwMDExYiwweDAwMDAwMTJkLDB4MDAwMDA0MWUsMHgwMDAwMDIyNCwweDAwMDAwMDUwLDB4MDAwMDA5MmUsMHgwMDAwMDQ2YywweDAwMDAwNWI2IH0gfQorLCB7Miw1MCwwLDY1LDAsMjMsIHsgMHhiNDAwMDAxYywweDNjMDAwMDA0LDB4YmMwMDAwMWEsMHgyMDAwMDAxMCwweDI0MDAwMDFjLDB4ZWMwMDAwMTQsMHgwYzAwMDAwMiwweGMwMDAwMDEwLDB4YjQwMDAwMWMsMHgyYzAwMDAwNCwweGJjMDAwMDE4LDB4YjAwMDAwMTAsMHgwMDAwMDAwYywweGI4MDAwMDEwLDB4MDgwMDAwMTgsMHg3ODAwMDAxMCwweDA4MDAwMDE0LDB4NzAwMDAwMTAsMHhiODAwMDAxYywweGU4MDAwMDAwLDB4YjAwMDAwMDQsMHg1ODAwMDAxMCwweGIwMDAwMDBjLDB4NDgwMDAwMDAsMHhiMDAwMDAwMCwweGI4MDAwMDEwLDB4OTgwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4MjAwMDAwMDAsMHgwMDAwMDAxMCwweDYwMDAwMDAwLDB4MDAwMDAwMTgsMHhlMDAwMDAwMCwweDkwMDAwMDAwLDB4MzAwMDAwMTAsMHhiMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDAwMDAwMDEwLDB4ODAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDEsMHgwMDAwMDAyMCwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHg0MDAwMDA0MSwweDQwMDAwMDIyLDB4ODAwMDAwMDUsMHhjMDAwMDA4MiwweGMwMDAwMDQ2LDB4NDAwMDAwNGIsMHg4MDAwMDEwNywweDAwMDAwMDg5LDB4MDAwMDAwMTQsMHg4MDAwMDI0YiwweDAwMDAwMTFiIH0gfQorLCB7Miw1MCwyLDY1LDAsMjQsIHsgMHhkMDAwMDA3MiwweGYwMDAwMDEwLDB4ZjAwMDAwNmEsMHg4MDAwMDA0MCwweDkwMDAwMDcwLDB4YjAwMDAwNTMsMHgzMDAwMDAwOCwweDAwMDAwMDQzLDB4ZDAwMDAwNzIsMHhiMDAwMDAxMCwweGYwMDAwMDYyLDB4YzAwMDAwNDIsMHgwMDAwMDAzMCwweGUwMDAwMDQyLDB4MjAwMDAwNjAsMHhlMDAwMDA0MSwweDIwMDAwMDUwLDB4YzAwMDAwNDEsMHhlMDAwMDA3MiwweGEwMDAwMDAzLDB4YzAwMDAwMTIsMHg2MDAwMDA0MSwweGMwMDAwMDMyLDB4MjAwMDAwMDEsMHhjMDAwMDAwMiwweGUwMDAwMDQyLDB4NjAwMDAwNDIsMHg4MDAwMDAwMiwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDAyLDB4MDAwMDAwNDAsMHgwMDAwMDAwMCwweDgwMDAwMDQwLDB4ODAwMDAwMDAsMHgwMDAwMDA0MCwweDgwMDAwMDAxLDB4MDAwMDAwNjAsMHg4MDAwMDAwMywweDQwMDAwMDAyLDB4YzAwMDAwNDAsMHhjMDAwMDAwMiwweDgwMDAwMDAwLDB4ODAwMDAwMDAsMHg4MDAwMDAwMiwweDAwMDAwMDQwLDB4MDAwMDAwMDIsMHg4MDAwMDAwMCwweDgwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAwMiwweDAwMDAwMDQwLDB4MDAwMDAwMDAsMHg4MDAwMDA0MCwweDgwMDAwMDAyLDB4MDAwMDAwMDAsMHg4MDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDQsMHgwMDAwMDA4MCwweDAwMDAwMDA0LDB4MDAwMDAwMDksMHgwMDAwMDEwNSwweDAwMDAwMDg5LDB4MDAwMDAwMTYsMHgwMDAwMDIwYiwweDAwMDAwMTFiLDB4MDAwMDAxMmQsMHgwMDAwMDQxZSwweDAwMDAwMjI0LDB4MDAwMDAwNTAsMHgwMDAwMDkyZSwweDAwMDAwNDZjIH0gfQorLCB7Miw1MSwwLDY1LDAsMjUsIHsgMHhjMDAwMDAxMCwweGI0MDAwMDFjLDB4M2MwMDAwMDQsMHhiYzAwMDAxYSwweDIwMDAwMDEwLDB4MjQwMDAwMWMsMHhlYzAwMDAxNCwweDBjMDAwMDAyLDB4YzAwMDAwMTAsMHhiNDAwMDAxYywweDJjMDAwMDA0LDB4YmMwMDAwMTgsMHhiMDAwMDAxMCwweDAwMDAwMDBjLDB4YjgwMDAwMTAsMHgwODAwMDAxOCwweDc4MDAwMDEwLDB4MDgwMDAwMTQsMHg3MDAwMDAxMCwweGI4MDAwMDFjLDB4ZTgwMDAwMDAsMHhiMDAwMDAwNCwweDU4MDAwMDEwLDB4YjAwMDAwMGMsMHg0ODAwMDAwMCwweGIwMDAwMDAwLDB4YjgwMDAwMTAsMHg5ODAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4NjAwMDAwMDAsMHgwMDAwMDAxOCwweGUwMDAwMDAwLDB4OTAwMDAwMDAsMHgzMDAwMDAxMCwweGIwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweGEwMDAwMDAwLDB4MDAwMDAwMTAsMHg4MDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMSwweDAwMDAwMDIwLDB4MDAwMDAwMDEsMHg0MDAwMDAwMiwweDQwMDAwMDQxLDB4NDAwMDAwMjIsMHg4MDAwMDAwNSwweGMwMDAwMDgyLDB4YzAwMDAwNDYsMHg0MDAwMDA0YiwweDgwMDAwMTA3LDB4MDAwMDAwODksMHgwMDAwMDAxNCwweDgwMDAwMjRiIH0gfQorLCB7Miw1MSwyLDY1LDAsMjYsIHsgMHgwMDAwMDA0MywweGQwMDAwMDcyLDB4ZjAwMDAwMTAsMHhmMDAwMDA2YSwweDgwMDAwMDQwLDB4OTAwMDAwNzAsMHhiMDAwMDA1MywweDMwMDAwMDA4LDB4MDAwMDAwNDMsMHhkMDAwMDA3MiwweGIwMDAwMDEwLDB4ZjAwMDAwNjIsMHhjMDAwMDA0MiwweDAwMDAwMDMwLDB4ZTAwMDAwNDIsMHgyMDAwMDA2MCwweGUwMDAwMDQxLDB4MjAwMDAwNTAsMHhjMDAwMDA0MSwweGUwMDAwMDcyLDB4YTAwMDAwMDMsMHhjMDAwMDAxMiwweDYwMDAwMDQxLDB4YzAwMDAwMzIsMHgyMDAwMDAwMSwweGMwMDAwMDAyLDB4ZTAwMDAwNDIsMHg2MDAwMDA0MiwweDgwMDAwMDAyLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMDIsMHgwMDAwMDA0MCwweDAwMDAwMDAwLDB4ODAwMDAwNDAsMHg4MDAwMDAwMCwweDAwMDAwMDQwLDB4ODAwMDAwMDEsMHgwMDAwMDA2MCwweDgwMDAwMDAzLDB4NDAwMDAwMDIsMHhjMDAwMDA0MCwweGMwMDAwMDAyLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDgwMDAwMDAyLDB4MDAwMDAwNDAsMHgwMDAwMDAwMiwweDgwMDAwMDAwLDB4ODAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDAyLDB4MDAwMDAwNDAsMHgwMDAwMDAwMCwweDgwMDAwMDQwLDB4ODAwMDAwMDIsMHgwMDAwMDAwMCwweDgwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwNCwweDAwMDAwMDgwLDB4MDAwMDAwMDQsMHgwMDAwMDAwOSwweDAwMDAwMTA1LDB4MDAwMDAwODksMHgwMDAwMDAxNiwweDAwMDAwMjBiLDB4MDAwMDAxMWIsMHgwMDAwMDEyZCwweDAwMDAwNDFlLDB4MDAwMDAyMjQsMHgwMDAwMDA1MCwweDAwMDAwOTJlIH0gfQorLCB7Miw1MiwwLDY1LDAsMjcsIHsgMHgwYzAwMDAwMiwweGMwMDAwMDEwLDB4YjQwMDAwMWMsMHgzYzAwMDAwNCwweGJjMDAwMDFhLDB4MjAwMDAwMTAsMHgyNDAwMDAxYywweGVjMDAwMDE0LDB4MGMwMDAwMDIsMHhjMDAwMDAxMCwweGI0MDAwMDFjLDB4MmMwMDAwMDQsMHhiYzAwMDAxOCwweGIwMDAwMDEwLDB4MDAwMDAwMGMsMHhiODAwMDAxMCwweDA4MDAwMDE4LDB4NzgwMDAwMTAsMHgwODAwMDAxNCwweDcwMDAwMDEwLDB4YjgwMDAwMWMsMHhlODAwMDAwMCwweGIwMDAwMDA0LDB4NTgwMDAwMTAsMHhiMDAwMDAwYywweDQ4MDAwMDAwLDB4YjAwMDAwMDAsMHhiODAwMDAxMCwweDk4MDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHg2MDAwMDAwMCwweDAwMDAwMDE4LDB4ZTAwMDAwMDAsMHg5MDAwMDAwMCwweDMwMDAwMDEwLDB4YjAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4YTAwMDAwMDAsMHgwMDAwMDAxMCwweDgwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDEsMHg0MDAwMDAyMiwweDgwMDAwMDA1LDB4YzAwMDAwODIsMHhjMDAwMDA0NiwweDQwMDAwMDRiLDB4ODAwMDAxMDcsMHgwMDAwMDA4OSwweDAwMDAwMDE0IH0gfQorLCB7Miw1MywwLDY1LDAsMjgsIHsgMHhjYzAwMDAxNCwweDBjMDAwMDAyLDB4YzAwMDAwMTAsMHhiNDAwMDAxYywweDNjMDAwMDA0LDB4YmMwMDAwMWEsMHgyMDAwMDAxMCwweDI0MDAwMDFjLDB4ZWMwMDAwMTQsMHgwYzAwMDAwMiwweGMwMDAwMDEwLDB4YjQwMDAwMWMsMHgyYzAwMDAwNCwweGJjMDAwMDE4LDB4YjAwMDAwMTAsMHgwMDAwMDAwYywweGI4MDAwMDEwLDB4MDgwMDAwMTgsMHg3ODAwMDAxMCwweDA4MDAwMDE0LDB4NzAwMDAwMTAsMHhiODAwMDAxYywweGU4MDAwMDAwLDB4YjAwMDAwMDQsMHg1ODAwMDAxMCwweGIwMDAwMDBjLDB4NDgwMDAwMDAsMHhiMDAwMDAwMCwweGI4MDAwMDEwLDB4OTgwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4MjAwMDAwMDAsMHgwMDAwMDAxMCwweDYwMDAwMDAwLDB4MDAwMDAwMTgsMHhlMDAwMDAwMCwweDkwMDAwMDAwLDB4MzAwMDAwMTAsMHhiMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDAwMDAwMDEwLDB4ODAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDEsMHgwMDAwMDAyMCwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHg0MDAwMDA0MSwweDQwMDAwMDIyLDB4ODAwMDAwMDUsMHhjMDAwMDA4MiwweGMwMDAwMDQ2LDB4NDAwMDAwNGIsMHg4MDAwMDEwNywweDAwMDAwMDg5IH0gfQorLCB7Miw1NCwwLDY1LDAsMjksIHsgMHgwNDAwMDAxYywweGNjMDAwMDE0LDB4MGMwMDAwMDIsMHhjMDAwMDAxMCwweGI0MDAwMDFjLDB4M2MwMDAwMDQsMHhiYzAwMDAxYSwweDIwMDAwMDEwLDB4MjQwMDAwMWMsMHhlYzAwMDAxNCwweDBjMDAwMDAyLDB4YzAwMDAwMTAsMHhiNDAwMDAxYywweDJjMDAwMDA0LDB4YmMwMDAwMTgsMHhiMDAwMDAxMCwweDAwMDAwMDBjLDB4YjgwMDAwMTAsMHgwODAwMDAxOCwweDc4MDAwMDEwLDB4MDgwMDAwMTQsMHg3MDAwMDAxMCwweGI4MDAwMDFjLDB4ZTgwMDAwMDAsMHhiMDAwMDAwNCwweDU4MDAwMDEwLDB4YjAwMDAwMGMsMHg0ODAwMDAwMCwweGIwMDAwMDAwLDB4YjgwMDAwMTAsMHg5ODAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHgyMDAwMDAwMCwweDAwMDAwMDEwLDB4NjAwMDAwMDAsMHgwMDAwMDAxOCwweGUwMDAwMDAwLDB4OTAwMDAwMDAsMHgzMDAwMDAxMCwweGIwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweGEwMDAwMDAwLDB4MDAwMDAwMTAsMHg4MDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMSwweDAwMDAwMDIwLDB4MDAwMDAwMDEsMHg0MDAwMDAwMiwweDQwMDAwMDQxLDB4NDAwMDAwMjIsMHg4MDAwMDAwNSwweGMwMDAwMDgyLDB4YzAwMDAwNDYsMHg0MDAwMDA0YiwweDgwMDAwMTA3IH0gfQorLCB7Miw1NSwwLDY1LDAsMzAsIHsgMHgwMDAwMDAxMCwweDA0MDAwMDFjLDB4Y2MwMDAwMTQsMHgwYzAwMDAwMiwweGMwMDAwMDEwLDB4YjQwMDAwMWMsMHgzYzAwMDAwNCwweGJjMDAwMDFhLDB4MjAwMDAwMTAsMHgyNDAwMDAxYywweGVjMDAwMDE0LDB4MGMwMDAwMDIsMHhjMDAwMDAxMCwweGI0MDAwMDFjLDB4MmMwMDAwMDQsMHhiYzAwMDAxOCwweGIwMDAwMDEwLDB4MDAwMDAwMGMsMHhiODAwMDAxMCwweDA4MDAwMDE4LDB4NzgwMDAwMTAsMHgwODAwMDAxNCwweDcwMDAwMDEwLDB4YjgwMDAwMWMsMHhlODAwMDAwMCwweGIwMDAwMDA0LDB4NTgwMDAwMTAsMHhiMDAwMDAwYywweDQ4MDAwMDAwLDB4YjAwMDAwMDAsMHhiODAwMDAxMCwweDk4MDAwMDEwLDB4YTAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweDIwMDAwMDAwLDB4MDAwMDAwMTAsMHg2MDAwMDAwMCwweDAwMDAwMDE4LDB4ZTAwMDAwMDAsMHg5MDAwMDAwMCwweDMwMDAwMDEwLDB4YjAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4YTAwMDAwMDAsMHgwMDAwMDAxMCwweDgwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4ODAwMDAwMDAsMHgwMDAwMDAxMCwweDAwMDAwMDAwLDB4MjAwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MjAwMDAwMDAsMHgyMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAxLDB4MDAwMDAwMjAsMHgwMDAwMDAwMSwweDQwMDAwMDAyLDB4NDAwMDAwNDEsMHg0MDAwMDAyMiwweDgwMDAwMDA1LDB4YzAwMDAwODIsMHhjMDAwMDA0NiwweDQwMDAwMDRiIH0gfQorLCB7Miw1NiwwLDY1LDAsMzEsIHsgMHgyNjAwMDAxYSwweDAwMDAwMDEwLDB4MDQwMDAwMWMsMHhjYzAwMDAxNCwweDBjMDAwMDAyLDB4YzAwMDAwMTAsMHhiNDAwMDAxYywweDNjMDAwMDA0LDB4YmMwMDAwMWEsMHgyMDAwMDAxMCwweDI0MDAwMDFjLDB4ZWMwMDAwMTQsMHgwYzAwMDAwMiwweGMwMDAwMDEwLDB4YjQwMDAwMWMsMHgyYzAwMDAwNCwweGJjMDAwMDE4LDB4YjAwMDAwMTAsMHgwMDAwMDAwYywweGI4MDAwMDEwLDB4MDgwMDAwMTgsMHg3ODAwMDAxMCwweDA4MDAwMDE0LDB4NzAwMDAwMTAsMHhiODAwMDAxYywweGU4MDAwMDAwLDB4YjAwMDAwMDQsMHg1ODAwMDAxMCwweGIwMDAwMDBjLDB4NDgwMDAwMDAsMHhiMDAwMDAwMCwweGI4MDAwMDEwLDB4OTgwMDAwMTAsMHhhMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDgwMDAwMDAwLDB4MDAwMDAwMTAsMHgwMDAwMDAwMCwweDIwMDAwMDEwLDB4MjAwMDAwMDAsMHgwMDAwMDAxMCwweDYwMDAwMDAwLDB4MDAwMDAwMTgsMHhlMDAwMDAwMCwweDkwMDAwMDAwLDB4MzAwMDAwMTAsMHhiMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHhhMDAwMDAwMCwweDAwMDAwMDEwLDB4ODAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MjAwMDAwMDAsMHg4MDAwMDAwMCwweDAwMDAwMDEwLDB4MDAwMDAwMDAsMHgyMDAwMDAxMCwweGEwMDAwMDAwLDB4MDAwMDAwMDAsMHgyMDAwMDAwMCwweDIwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDEsMHgwMDAwMDAyMCwweDAwMDAwMDAxLDB4NDAwMDAwMDIsMHg0MDAwMDA0MSwweDQwMDAwMDIyLDB4ODAwMDAwMDUsMHhjMDAwMDA4MiwweGMwMDAwMDQ2IH0gfQorLCB7MCwwLDAsMCwwLDAsIHswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDB9fQorfTsKK3ZvaWQgdWJjX2NoZWNrKGNvbnN0IHVpbnQzMl90IFdbODBdLCB1aW50MzJfdCBkdm1hc2tbMV0pCit7CisJdWludDMyX3QgbWFzayA9IH4oKHVpbnQzMl90KSgwKSk7CisJbWFzayAmPSAoKCgoKFdbNDRdXldbNDVdKT4+MjkpJjEpLTEpIHwgfihEVl9JXzQ4XzBfYml0fERWX0lfNTFfMF9iaXR8RFZfSV81Ml8wX2JpdHxEVl9JSV80NV8wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV81MF8wX2JpdHxEVl9JSV81MV8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzQ5XV5XWzUwXSk+PjI5KSYxKS0xKSB8IH4oRFZfSV80Nl8wX2JpdHxEVl9JSV80NV8wX2JpdHxEVl9JSV81MF8wX2JpdHxEVl9JSV81MV8wX2JpdHxEVl9JSV81NV8wX2JpdHxEVl9JSV81Nl8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzQ4XV5XWzQ5XSk+PjI5KSYxKS0xKSB8IH4oRFZfSV80NV8wX2JpdHxEVl9JXzUyXzBfYml0fERWX0lJXzQ5XzBfYml0fERWX0lJXzUwXzBfYml0fERWX0lJXzU0XzBfYml0fERWX0lJXzU1XzBfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0N11eKFdbNTBdPj4yNSkpJigxPDw0KSktKDE8PDQpKSB8IH4oRFZfSV80N18wX2JpdHxEVl9JXzQ5XzBfYml0fERWX0lfNTFfMF9iaXR8RFZfSUlfNDVfMF9iaXR8RFZfSUlfNTFfMF9iaXR8RFZfSUlfNTZfMF9iaXQpKTsKKwltYXNrICY9ICgoKCgoV1s0N11eV1s0OF0pPj4yOSkmMSktMSkgfCB+KERWX0lfNDRfMF9iaXR8RFZfSV81MV8wX2JpdHxEVl9JSV80OF8wX2JpdHxEVl9JSV80OV8wX2JpdHxEVl9JSV81M18wX2JpdHxEVl9JSV81NF8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzQ2XT4+NCleKFdbNDldPj4yOSkpJjEpLTEpIHwgfihEVl9JXzQ2XzBfYml0fERWX0lfNDhfMF9iaXR8RFZfSV81MF8wX2JpdHxEVl9JXzUyXzBfYml0fERWX0lJXzUwXzBfYml0fERWX0lJXzU1XzBfYml0KSk7CisJbWFzayAmPSAoKCgoKFdbNDZdXldbNDddKT4+MjkpJjEpLTEpIHwgfihEVl9JXzQzXzBfYml0fERWX0lfNTBfMF9iaXR8RFZfSUlfNDdfMF9iaXR8RFZfSUlfNDhfMF9iaXR8RFZfSUlfNTJfMF9iaXR8RFZfSUlfNTNfMF9iaXQpKTsKKwltYXNrICY9ICgoKCgoV1s0NV0+PjQpXihXWzQ4XT4+MjkpKSYxKS0xKSB8IH4oRFZfSV80NV8wX2JpdHxEVl9JXzQ3XzBfYml0fERWX0lfNDlfMF9iaXR8RFZfSV81MV8wX2JpdHxEVl9JSV80OV8wX2JpdHxEVl9JSV81NF8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzQ1XV5XWzQ2XSk+PjI5KSYxKS0xKSB8IH4oRFZfSV80OV8wX2JpdHxEVl9JXzUyXzBfYml0fERWX0lJXzQ2XzBfYml0fERWX0lJXzQ3XzBfYml0fERWX0lJXzUxXzBfYml0fERWX0lJXzUyXzBfYml0KSk7CisJbWFzayAmPSAoKCgoKFdbNDRdPj40KV4oV1s0N10+PjI5KSkmMSktMSkgfCB+KERWX0lfNDRfMF9iaXR8RFZfSV80Nl8wX2JpdHxEVl9JXzQ4XzBfYml0fERWX0lfNTBfMF9iaXR8RFZfSUlfNDhfMF9iaXR8RFZfSUlfNTNfMF9iaXQpKTsKKwltYXNrICY9ICgoKCgoV1s0M10+PjQpXihXWzQ2XT4+MjkpKSYxKS0xKSB8IH4oRFZfSV80M18wX2JpdHxEVl9JXzQ1XzBfYml0fERWX0lfNDdfMF9iaXR8RFZfSV80OV8wX2JpdHxEVl9JSV80N18wX2JpdHxEVl9JSV81Ml8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzQzXV5XWzQ0XSk+PjI5KSYxKS0xKSB8IH4oRFZfSV80N18wX2JpdHxEVl9JXzUwXzBfYml0fERWX0lfNTFfMF9iaXR8RFZfSUlfNDVfMF9iaXR8RFZfSUlfNDlfMF9iaXR8RFZfSUlfNTBfMF9iaXQpKTsKKwltYXNrICY9ICgoKCgoV1s0Ml0+PjQpXihXWzQ1XT4+MjkpKSYxKS0xKSB8IH4oRFZfSV80NF8wX2JpdHxEVl9JXzQ2XzBfYml0fERWX0lfNDhfMF9iaXR8RFZfSV81Ml8wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV81MV8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzQxXT4+NCleKFdbNDRdPj4yOSkpJjEpLTEpIHwgfihEVl9JXzQzXzBfYml0fERWX0lfNDVfMF9iaXR8RFZfSV80N18wX2JpdHxEVl9JXzUxXzBfYml0fERWX0lJXzQ1XzBfYml0fERWX0lJXzUwXzBfYml0KSk7CisJbWFzayAmPSAoKCgoKFdbNDBdXldbNDFdKT4+MjkpJjEpLTEpIHwgfihEVl9JXzQ0XzBfYml0fERWX0lfNDdfMF9iaXR8RFZfSV80OF8wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV80N18wX2JpdHxEVl9JSV81Nl8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzU0XV5XWzU1XSk+PjI5KSYxKS0xKSB8IH4oRFZfSV81MV8wX2JpdHxEVl9JSV80N18wX2JpdHxEVl9JSV81MF8wX2JpdHxEVl9JSV81NV8wX2JpdHxEVl9JSV81Nl8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzUzXV5XWzU0XSk+PjI5KSYxKS0xKSB8IH4oRFZfSV81MF8wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV80OV8wX2JpdHxEVl9JSV81NF8wX2JpdHxEVl9JSV81NV8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzUyXV5XWzUzXSk+PjI5KSYxKS0xKSB8IH4oRFZfSV80OV8wX2JpdHxEVl9JSV80NV8wX2JpdHxEVl9JSV80OF8wX2JpdHxEVl9JSV81M18wX2JpdHxEVl9JSV81NF8wX2JpdCkpOworCW1hc2sgJj0gKCgoKFdbNTBdXihXWzUzXT4+MjUpKSYoMTw8NCkpLSgxPDw0KSkgfCB+KERWX0lfNTBfMF9iaXR8RFZfSV81Ml8wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV80OF8wX2JpdHxEVl9JSV81NF8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzUwXV5XWzUxXSk+PjI5KSYxKS0xKSB8IH4oRFZfSV80N18wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV81MV8wX2JpdHxEVl9JSV81Ml8wX2JpdHxEVl9JSV81Nl8wX2JpdCkpOworCW1hc2sgJj0gKCgoKFdbNDldXihXWzUyXT4+MjUpKSYoMTw8NCkpLSgxPDw0KSkgfCB+KERWX0lfNDlfMF9iaXR8RFZfSV81MV8wX2JpdHxEVl9JSV80NV8wX2JpdHxEVl9JSV80N18wX2JpdHxEVl9JSV81M18wX2JpdCkpOworCW1hc2sgJj0gKCgoKFdbNDhdXihXWzUxXT4+MjUpKSYoMTw8NCkpLSgxPDw0KSkgfCB+KERWX0lfNDhfMF9iaXR8RFZfSV81MF8wX2JpdHxEVl9JXzUyXzBfYml0fERWX0lJXzQ2XzBfYml0fERWX0lJXzUyXzBfYml0KSk7CisJbWFzayAmPSAoKCgoKFdbNDJdXldbNDNdKT4+MjkpJjEpLTEpIHwgfihEVl9JXzQ2XzBfYml0fERWX0lfNDlfMF9iaXR8RFZfSV81MF8wX2JpdHxEVl9JSV80OF8wX2JpdHxEVl9JSV80OV8wX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzQxXV5XWzQyXSk+PjI5KSYxKS0xKSB8IH4oRFZfSV80NV8wX2JpdHxEVl9JXzQ4XzBfYml0fERWX0lfNDlfMF9iaXR8RFZfSUlfNDdfMF9iaXR8RFZfSUlfNDhfMF9iaXQpKTsKKwltYXNrICY9ICgoKCgoV1s0MF0+PjQpXihXWzQzXT4+MjkpKSYxKS0xKSB8IH4oRFZfSV80NF8wX2JpdHxEVl9JXzQ2XzBfYml0fERWX0lfNTBfMF9iaXR8RFZfSUlfNDlfMF9iaXR8RFZfSUlfNTZfMF9iaXQpKTsKKwltYXNrICY9ICgoKCgoV1szOV0+PjQpXihXWzQyXT4+MjkpKSYxKS0xKSB8IH4oRFZfSV80M18wX2JpdHxEVl9JXzQ1XzBfYml0fERWX0lfNDlfMF9iaXR8RFZfSUlfNDhfMF9iaXR8RFZfSUlfNTVfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzQ0XzBfYml0fERWX0lfNDhfMF9iaXR8RFZfSUlfNDdfMF9iaXR8RFZfSUlfNTRfMF9iaXR8RFZfSUlfNTZfMF9iaXQpKQorCQltYXNrICY9ICgoKCgoV1szOF0+PjQpXihXWzQxXT4+MjkpKSYxKS0xKSB8IH4oRFZfSV80NF8wX2JpdHxEVl9JXzQ4XzBfYml0fERWX0lJXzQ3XzBfYml0fERWX0lJXzU0XzBfYml0fERWX0lJXzU2XzBfYml0KSk7CisJbWFzayAmPSAoKCgoKFdbMzddPj40KV4oV1s0MF0+PjI5KSkmMSktMSkgfCB+KERWX0lfNDNfMF9iaXR8RFZfSV80N18wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV81M18wX2JpdHxEVl9JSV81NV8wX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNTJfMF9iaXR8RFZfSUlfNDhfMF9iaXR8RFZfSUlfNTFfMF9iaXR8RFZfSUlfNTZfMF9iaXQpKQorCQltYXNrICY9ICgoKCgoV1s1NV1eV1s1Nl0pPj4yOSkmMSktMSkgfCB+KERWX0lfNTJfMF9iaXR8RFZfSUlfNDhfMF9iaXR8RFZfSUlfNTFfMF9iaXR8RFZfSUlfNTZfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzUyXzBfYml0fERWX0lJXzQ4XzBfYml0fERWX0lJXzUwXzBfYml0fERWX0lJXzU2XzBfYml0KSkKKwkJbWFzayAmPSAoKCgoV1s1Ml1eKFdbNTVdPj4yNSkpJigxPDw0KSktKDE8PDQpKSB8IH4oRFZfSV81Ml8wX2JpdHxEVl9JSV80OF8wX2JpdHxEVl9JSV81MF8wX2JpdHxEVl9JSV81Nl8wX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNTFfMF9iaXR8RFZfSUlfNDdfMF9iaXR8RFZfSUlfNDlfMF9iaXR8RFZfSUlfNTVfMF9iaXQpKQorCQltYXNrICY9ICgoKChXWzUxXV4oV1s1NF0+PjI1KSkmKDE8PDQpKS0oMTw8NCkpIHwgfihEVl9JXzUxXzBfYml0fERWX0lJXzQ3XzBfYml0fERWX0lJXzQ5XzBfYml0fERWX0lJXzU1XzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80OF8wX2JpdHxEVl9JSV80N18wX2JpdHxEVl9JSV81Ml8wX2JpdHxEVl9JSV81M18wX2JpdCkpCisJCW1hc2sgJj0gKCgoKChXWzUxXV5XWzUyXSk+PjI5KSYxKS0xKSB8IH4oRFZfSV80OF8wX2JpdHxEVl9JSV80N18wX2JpdHxEVl9JSV81Ml8wX2JpdHxEVl9JSV81M18wX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNDZfMF9iaXR8RFZfSV80OV8wX2JpdHxEVl9JSV80NV8wX2JpdHxEVl9JSV80OF8wX2JpdCkpCisJCW1hc2sgJj0gKCgoKChXWzM2XT4+NCleKFdbNDBdPj4yOSkpJjEpLTEpIHwgfihEVl9JXzQ2XzBfYml0fERWX0lfNDlfMF9iaXR8RFZfSUlfNDVfMF9iaXR8RFZfSUlfNDhfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzUyXzBfYml0fERWX0lJXzQ4XzBfYml0fERWX0lJXzQ5XzBfYml0KSkKKwkJbWFzayAmPSAoKDAtKCgoV1s1M11eV1s1Nl0pPj4yOSkmMSkpIHwgfihEVl9JXzUyXzBfYml0fERWX0lJXzQ4XzBfYml0fERWX0lJXzQ5XzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV81MF8wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV80N18wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoKFdbNTFdXldbNTRdKT4+MjkpJjEpKSB8IH4oRFZfSV81MF8wX2JpdHxEVl9JSV80Nl8wX2JpdHxEVl9JSV80N18wX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNDlfMF9iaXR8RFZfSV81MV8wX2JpdHxEVl9JSV80NV8wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoKFdbNTBdXldbNTJdKT4+MjkpJjEpKSB8IH4oRFZfSV80OV8wX2JpdHxEVl9JXzUxXzBfYml0fERWX0lJXzQ1XzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80OF8wX2JpdHxEVl9JXzUwXzBfYml0fERWX0lfNTJfMF9iaXQpKQorCQltYXNrICY9ICgoMC0oKChXWzQ5XV5XWzUxXSk+PjI5KSYxKSkgfCB+KERWX0lfNDhfMF9iaXR8RFZfSV81MF8wX2JpdHxEVl9JXzUyXzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80N18wX2JpdHxEVl9JXzQ5XzBfYml0fERWX0lfNTFfMF9iaXQpKQorCQltYXNrICY9ICgoMC0oKChXWzQ4XV5XWzUwXSk+PjI5KSYxKSkgfCB+KERWX0lfNDdfMF9iaXR8RFZfSV80OV8wX2JpdHxEVl9JXzUxXzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80Nl8wX2JpdHxEVl9JXzQ4XzBfYml0fERWX0lfNTBfMF9iaXQpKQorCQltYXNrICY9ICgoMC0oKChXWzQ3XV5XWzQ5XSk+PjI5KSYxKSkgfCB+KERWX0lfNDZfMF9iaXR8RFZfSV80OF8wX2JpdHxEVl9JXzUwXzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80NV8wX2JpdHxEVl9JXzQ3XzBfYml0fERWX0lfNDlfMF9iaXQpKQorCQltYXNrICY9ICgoMC0oKChXWzQ2XV5XWzQ4XSk+PjI5KSYxKSkgfCB+KERWX0lfNDVfMF9iaXR8RFZfSV80N18wX2JpdHxEVl9JXzQ5XzBfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0NV1eV1s0N10pJigxPDw2KSktKDE8PDYpKSB8IH4oRFZfSV80N18yX2JpdHxEVl9JXzQ5XzJfYml0fERWX0lfNTFfMl9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzQ0XzBfYml0fERWX0lfNDZfMF9iaXR8RFZfSV80OF8wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoKFdbNDVdXldbNDddKT4+MjkpJjEpKSB8IH4oRFZfSV80NF8wX2JpdHxEVl9JXzQ2XzBfYml0fERWX0lfNDhfMF9iaXQpKTsKKwltYXNrICY9ICgoKCgoV1s0NF1eV1s0Nl0pPj42KSYxKS0xKSB8IH4oRFZfSV80Nl8yX2JpdHxEVl9JXzQ4XzJfYml0fERWX0lfNTBfMl9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzQzXzBfYml0fERWX0lfNDVfMF9iaXR8RFZfSV80N18wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoKFdbNDRdXldbNDZdKT4+MjkpJjEpKSB8IH4oRFZfSV80M18wX2JpdHxEVl9JXzQ1XzBfYml0fERWX0lfNDdfMF9iaXQpKTsKKwltYXNrICY9ICgoMC0oKFdbNDFdXihXWzQyXT4+NSkpJigxPDwxKSkpIHwgfihEVl9JXzQ4XzJfYml0fERWX0lJXzQ2XzJfYml0fERWX0lJXzUxXzJfYml0KSk7CisJbWFzayAmPSAoKDAtKChXWzQwXV4oV1s0MV0+PjUpKSYoMTw8MSkpKSB8IH4oRFZfSV80N18yX2JpdHxEVl9JXzUxXzJfYml0fERWX0lJXzUwXzJfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80NF8wX2JpdHxEVl9JXzQ2XzBfYml0fERWX0lJXzU2XzBfYml0KSkKKwkJbWFzayAmPSAoKDAtKCgoV1s0MF1eV1s0Ml0pPj40KSYxKSkgfCB+KERWX0lfNDRfMF9iaXR8RFZfSV80Nl8wX2JpdHxEVl9JSV81Nl8wX2JpdCkpOworCW1hc2sgJj0gKCgwLSgoV1szOV1eKFdbNDBdPj41KSkmKDE8PDEpKSkgfCB+KERWX0lfNDZfMl9iaXR8RFZfSV81MF8yX2JpdHxEVl9JSV80OV8yX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNDNfMF9iaXR8RFZfSV80NV8wX2JpdHxEVl9JSV81NV8wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoKFdbMzldXldbNDFdKT4+NCkmMSkpIHwgfihEVl9JXzQzXzBfYml0fERWX0lfNDVfMF9iaXR8RFZfSUlfNTVfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzQ0XzBfYml0fERWX0lJXzU0XzBfYml0fERWX0lJXzU2XzBfYml0KSkKKwkJbWFzayAmPSAoKDAtKCgoV1szOF1eV1s0MF0pPj40KSYxKSkgfCB+KERWX0lfNDRfMF9iaXR8RFZfSUlfNTRfMF9iaXR8RFZfSUlfNTZfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzQzXzBfYml0fERWX0lJXzUzXzBfYml0fERWX0lJXzU1XzBfYml0KSkKKwkJbWFzayAmPSAoKDAtKCgoV1szN11eV1szOV0pPj40KSYxKSkgfCB+KERWX0lfNDNfMF9iaXR8RFZfSUlfNTNfMF9iaXR8RFZfSUlfNTVfMF9iaXQpKTsKKwltYXNrICY9ICgoMC0oKFdbMzZdXihXWzM3XT4+NSkpJigxPDwxKSkpIHwgfihEVl9JXzQ3XzJfYml0fERWX0lfNTBfMl9iaXR8RFZfSUlfNDZfMl9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzQ1XzBfYml0fERWX0lfNDhfMF9iaXR8RFZfSUlfNDdfMF9iaXQpKQorCQltYXNrICY9ICgoKCgoV1szNV0+PjQpXihXWzM5XT4+MjkpKSYxKS0xKSB8IH4oRFZfSV80NV8wX2JpdHxEVl9JXzQ4XzBfYml0fERWX0lJXzQ3XzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80OF8wX2JpdHxEVl9JSV80OF8wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoV1s2M11eKFdbNjRdPj41KSkmKDE8PDApKSkgfCB+KERWX0lfNDhfMF9iaXR8RFZfSUlfNDhfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzQ1XzBfYml0fERWX0lJXzQ1XzBfYml0KSkKKwkJbWFzayAmPSAoKDAtKChXWzYzXV4oV1s2NF0+PjUpKSYoMTw8MSkpKSB8IH4oRFZfSV80NV8wX2JpdHxEVl9JSV80NV8wX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNDdfMF9iaXR8RFZfSUlfNDdfMF9iaXQpKQorCQltYXNrICY9ICgoMC0oKFdbNjJdXihXWzYzXT4+NSkpJigxPDwwKSkpIHwgfihEVl9JXzQ3XzBfYml0fERWX0lJXzQ3XzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80Nl8wX2JpdHxEVl9JSV80Nl8wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoV1s2MV1eKFdbNjJdPj41KSkmKDE8PDApKSkgfCB+KERWX0lfNDZfMF9iaXR8RFZfSUlfNDZfMF9iaXQpKTsKKwltYXNrICY9ICgoMC0oKFdbNjFdXihXWzYyXT4+NSkpJigxPDwyKSkpIHwgfihEVl9JXzQ2XzJfYml0fERWX0lJXzQ2XzJfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV80NV8wX2JpdHxEVl9JSV80NV8wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoV1s2MF1eKFdbNjFdPj41KSkmKDE8PDApKSkgfCB+KERWX0lfNDVfMF9iaXR8RFZfSUlfNDVfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JSV81MV8wX2JpdHxEVl9JSV81NF8wX2JpdCkpCisJCW1hc2sgJj0gKCgoKChXWzU4XV5XWzU5XSk+PjI5KSYxKS0xKSB8IH4oRFZfSUlfNTFfMF9iaXR8RFZfSUlfNTRfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JSV81MF8wX2JpdHxEVl9JSV81M18wX2JpdCkpCisJCW1hc2sgJj0gKCgoKChXWzU3XV5XWzU4XSk+PjI5KSYxKS0xKSB8IH4oRFZfSUlfNTBfMF9iaXR8RFZfSUlfNTNfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JSV81Ml8wX2JpdHxEVl9JSV81NF8wX2JpdCkpCisJCW1hc2sgJj0gKCgoKFdbNTZdXihXWzU5XT4+MjUpKSYoMTw8NCkpLSgxPDw0KSkgfCB+KERWX0lJXzUyXzBfYml0fERWX0lJXzU0XzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSUlfNTFfMF9iaXR8RFZfSUlfNTJfMF9iaXQpKQorCQltYXNrICY9ICgoMC0oKChXWzU2XV5XWzU5XSk+PjI5KSYxKSkgfCB+KERWX0lJXzUxXzBfYml0fERWX0lJXzUyXzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSUlfNDlfMF9iaXR8RFZfSUlfNTJfMF9iaXQpKQorCQltYXNrICY9ICgoKCgoV1s1Nl1eV1s1N10pPj4yOSkmMSktMSkgfCB+KERWX0lJXzQ5XzBfYml0fERWX0lJXzUyXzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSUlfNTFfMF9iaXR8RFZfSUlfNTNfMF9iaXQpKQorCQltYXNrICY9ICgoKChXWzU1XV4oV1s1OF0+PjI1KSkmKDE8PDQpKS0oMTw8NCkpIHwgfihEVl9JSV81MV8wX2JpdHxEVl9JSV81M18wX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lJXzUwXzBfYml0fERWX0lJXzUyXzBfYml0KSkKKwkJbWFzayAmPSAoKCgoV1s1NF1eKFdbNTddPj4yNSkpJigxPDw0KSktKDE8PDQpKSB8IH4oRFZfSUlfNTBfMF9iaXR8RFZfSUlfNTJfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JSV80OV8wX2JpdHxEVl9JSV81MV8wX2JpdCkpCisJCW1hc2sgJj0gKCgoKFdbNTNdXihXWzU2XT4+MjUpKSYoMTw8NCkpLSgxPDw0KSkgfCB+KERWX0lJXzQ5XzBfYml0fERWX0lJXzUxXzBfYml0KSk7CisJbWFzayAmPSAoKCgoV1s1MV1eKFdbNTBdPj41KSkmKDE8PDEpKS0oMTw8MSkpIHwgfihEVl9JXzUwXzJfYml0fERWX0lJXzQ2XzJfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0OF1eV1s1MF0pJigxPDw2KSktKDE8PDYpKSB8IH4oRFZfSV81MF8yX2JpdHxEVl9JSV80Nl8yX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNTFfMF9iaXR8RFZfSV81Ml8wX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoKFdbNDhdXldbNTVdKT4+MjkpJjEpKSB8IH4oRFZfSV81MV8wX2JpdHxEVl9JXzUyXzBfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0N11eV1s0OV0pJigxPDw2KSktKDE8PDYpKSB8IH4oRFZfSV80OV8yX2JpdHxEVl9JXzUxXzJfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0OF1eKFdbNDddPj41KSkmKDE8PDEpKS0oMTw8MSkpIHwgfihEVl9JXzQ3XzJfYml0fERWX0lJXzUxXzJfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0Nl1eV1s0OF0pJigxPDw2KSktKDE8PDYpKSB8IH4oRFZfSV80OF8yX2JpdHxEVl9JXzUwXzJfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0N11eKFdbNDZdPj41KSkmKDE8PDEpKS0oMTw8MSkpIHwgfihEVl9JXzQ2XzJfYml0fERWX0lJXzUwXzJfYml0KSk7CisJbWFzayAmPSAoKDAtKChXWzQ0XV4oV1s0NV0+PjUpKSYoMTw8MSkpKSB8IH4oRFZfSV81MV8yX2JpdHxEVl9JSV80OV8yX2JpdCkpOworCW1hc2sgJj0gKCgoKFdbNDNdXldbNDVdKSYoMTw8NikpLSgxPDw2KSkgfCB+KERWX0lfNDdfMl9iaXR8RFZfSV80OV8yX2JpdCkpOworCW1hc2sgJj0gKCgoKChXWzQyXV5XWzQ0XSk+PjYpJjEpLTEpIHwgfihEVl9JXzQ2XzJfYml0fERWX0lfNDhfMl9iaXQpKTsKKwltYXNrICY9ICgoKChXWzQzXV4oV1s0Ml0+PjUpKSYoMTw8MSkpLSgxPDwxKSkgfCB+KERWX0lJXzQ2XzJfYml0fERWX0lJXzUxXzJfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0Ml1eKFdbNDFdPj41KSkmKDE8PDEpKS0oMTw8MSkpIHwgfihEVl9JXzUxXzJfYml0fERWX0lJXzUwXzJfYml0KSk7CisJbWFzayAmPSAoKCgoV1s0MV1eKFdbNDBdPj41KSkmKDE8PDEpKS0oMTw8MSkpIHwgfihEVl9JXzUwXzJfYml0fERWX0lJXzQ5XzJfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSV81Ml8wX2JpdHxEVl9JSV81MV8wX2JpdCkpCisJCW1hc2sgJj0gKCgoKFdbMzldXihXWzQzXT4+MjUpKSYoMTw8NCkpLSgxPDw0KSkgfCB+KERWX0lfNTJfMF9iaXR8RFZfSUlfNTFfMF9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzUxXzBfYml0fERWX0lJXzUwXzBfYml0KSkKKwkJbWFzayAmPSAoKCgoV1szOF1eKFdbNDJdPj4yNSkpJigxPDw0KSktKDE8PDQpKSB8IH4oRFZfSV81MV8wX2JpdHxEVl9JSV81MF8wX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNDhfMl9iaXR8RFZfSV81MV8yX2JpdCkpCisJCW1hc2sgJj0gKCgwLSgoV1szN11eKFdbMzhdPj41KSkmKDE8PDEpKSkgfCB+KERWX0lfNDhfMl9iaXR8RFZfSV81MV8yX2JpdCkpOworCWlmIChtYXNrICYgKERWX0lfNTBfMF9iaXR8RFZfSUlfNDlfMF9iaXQpKQorCQltYXNrICY9ICgoKChXWzM3XV4oV1s0MV0+PjI1KSkmKDE8PDQpKS0oMTw8NCkpIHwgfihEVl9JXzUwXzBfYml0fERWX0lJXzQ5XzBfYml0KSk7CisJaWYgKG1hc2sgJiAoRFZfSUlfNTJfMF9iaXR8RFZfSUlfNTRfMF9iaXQpKQorCQltYXNrICY9ICgoMC0oKFdbMzZdXldbMzhdKSYoMTw8NCkpKSB8IH4oRFZfSUlfNTJfMF9iaXR8RFZfSUlfNTRfMF9iaXQpKTsKKwltYXNrICY9ICgoMC0oKFdbMzVdXihXWzM2XT4+NSkpJigxPDwxKSkpIHwgfihEVl9JXzQ2XzJfYml0fERWX0lfNDlfMl9iaXQpKTsKKwlpZiAobWFzayAmIChEVl9JXzUxXzBfYml0fERWX0lJXzQ3XzBfYml0KSkKKwkJbWFzayAmPSAoKCgoV1szNV1eKFdbMzldPj4yNSkpJigxPDwzKSktKDE8PDMpKSB8IH4oRFZfSV81MV8wX2JpdHxEVl9JSV80N18wX2JpdCkpOworaWYgKG1hc2spIHsKKworCWlmIChtYXNrICYgRFZfSV80M18wX2JpdCkKKwkJIGlmICgKKwkJCSAgICAhKChXWzYxXV4oV1s2Ml0+PjUpKSAmICgxPDwxKSkKKwkJCSB8fCAhKCEoKFdbNTldXihXWzYzXT4+MjUpKSAmICgxPDw1KSkpCisJCQkgfHwgISgoV1s1OF1eKFdbNjNdPj4zMCkpICYgKDE8PDApKQorCQkgKSAgbWFzayAmPSB+RFZfSV80M18wX2JpdDsKKwlpZiAobWFzayAmIERWX0lfNDRfMF9iaXQpCisJCSBpZiAoCisJCQkgICAgISgoV1s2Ml1eKFdbNjNdPj41KSkgJiAoMTw8MSkpCisJCQkgfHwgISghKChXWzYwXV4oV1s2NF0+PjI1KSkgJiAoMTw8NSkpKQorCQkJIHx8ICEoKFdbNTldXihXWzY0XT4+MzApKSAmICgxPDwwKSkKKwkJICkgIG1hc2sgJj0gfkRWX0lfNDRfMF9iaXQ7CisJaWYgKG1hc2sgJiBEVl9JXzQ2XzJfYml0KQorCQltYXNrICY9ICgofigoV1s0MF1eV1s0Ml0pPj4yKSkgfCB+RFZfSV80Nl8yX2JpdCk7CisJaWYgKG1hc2sgJiBEVl9JXzQ3XzJfYml0KQorCQkgaWYgKAorCQkJICAgICEoKFdbNjJdXihXWzYzXT4+NSkpICYgKDE8PDIpKQorCQkJIHx8ICEoISgoV1s0MV1eV1s0M10pICYgKDE8PDYpKSkKKwkJICkgIG1hc2sgJj0gfkRWX0lfNDdfMl9iaXQ7CisJaWYgKG1hc2sgJiBEVl9JXzQ4XzJfYml0KQorCQkgaWYgKAorCQkJICAgICEoKFdbNjNdXihXWzY0XT4+NSkpICYgKDE8PDIpKQorCQkJIHx8ICEoISgoV1s0OF1eKFdbNDldPDw1KSkgJiAoMTw8NikpKQorCQkgKSAgbWFzayAmPSB+RFZfSV80OF8yX2JpdDsKKwlpZiAobWFzayAmIERWX0lfNDlfMl9iaXQpCisJCSBpZiAoCisJCQkgICAgISghKChXWzQ5XV4oV1s1MF08PDUpKSAmICgxPDw2KSkpCisJCQkgfHwgISgoV1s0Ml1eV1s1MF0pICYgKDE8PDEpKQorCQkJIHx8ICEoISgoV1szOV1eKFdbNDBdPDw1KSkgJiAoMTw8NikpKQorCQkJIHx8ICEoKFdbMzhdXldbNDBdKSAmICgxPDwxKSkKKwkJICkgIG1hc2sgJj0gfkRWX0lfNDlfMl9iaXQ7CisJaWYgKG1hc2sgJiBEVl9JXzUwXzBfYml0KQorCQltYXNrICY9ICgoKChXWzM2XV5XWzM3XSk8PDcpKSB8IH5EVl9JXzUwXzBfYml0KTsKKwlpZiAobWFzayAmIERWX0lfNTBfMl9iaXQpCisJCW1hc2sgJj0gKCgoKFdbNDNdXldbNTFdKTw8MTEpKSB8IH5EVl9JXzUwXzJfYml0KTsKKwlpZiAobWFzayAmIERWX0lfNTFfMF9iaXQpCisJCW1hc2sgJj0gKCgoKFdbMzddXldbMzhdKTw8OSkpIHwgfkRWX0lfNTFfMF9iaXQpOworCWlmIChtYXNrICYgRFZfSV81MV8yX2JpdCkKKwkJIGlmICgKKwkJCSAgICAhKCEoKFdbNTFdXihXWzUyXTw8NSkpICYgKDE8PDYpKSkKKwkJCSB8fCAhKCEoKFdbNDldXldbNTFdKSAmICgxPDw2KSkpCisJCQkgfHwgISghKChXWzM3XV4oV1szN10+PjUpKSAmICgxPDwxKSkpCisJCQkgfHwgISghKChXWzM1XV4oV1szOV0+PjI1KSkgJiAoMTw8NSkpKQorCQkgKSAgbWFzayAmPSB+RFZfSV81MV8yX2JpdDsKKwlpZiAobWFzayAmIERWX0lfNTJfMF9iaXQpCisJCW1hc2sgJj0gKCgoKFdbMzhdXldbMzldKTw8MTEpKSB8IH5EVl9JXzUyXzBfYml0KTsKKwlpZiAobWFzayAmIERWX0lJXzQ2XzJfYml0KQorCQltYXNrICY9ICgoKChXWzQ3XV5XWzUxXSk8PDE3KSkgfCB+RFZfSUlfNDZfMl9iaXQpOworCWlmIChtYXNrICYgRFZfSUlfNDhfMF9iaXQpCisJCSBpZiAoCisJCQkgICAgISghKChXWzM2XV4oV1s0MF0+PjI1KSkgJiAoMTw8MykpKQorCQkJIHx8ICEoKFdbMzVdXihXWzQwXTw8MikpICYgKDE8PDMwKSkKKwkJICkgIG1hc2sgJj0gfkRWX0lJXzQ4XzBfYml0OworCWlmIChtYXNrICYgRFZfSUlfNDlfMF9iaXQpCisJCSBpZiAoCisJCQkgICAgISghKChXWzM3XV4oV1s0MV0+PjI1KSkgJiAoMTw8MykpKQorCQkJIHx8ICEoKFdbMzZdXihXWzQxXTw8MikpICYgKDE8PDMwKSkKKwkJICkgIG1hc2sgJj0gfkRWX0lJXzQ5XzBfYml0OworCWlmIChtYXNrICYgRFZfSUlfNDlfMl9iaXQpCisJCSBpZiAoCisJCQkgICAgISghKChXWzUzXV4oV1s1NF08PDUpKSAmICgxPDw2KSkpCisJCQkgfHwgISghKChXWzUxXV5XWzUzXSkgJiAoMTw8NikpKQorCQkJIHx8ICEoKFdbNTBdXldbNTRdKSAmICgxPDwxKSkKKwkJCSB8fCAhKCEoKFdbNDVdXihXWzQ2XTw8NSkpICYgKDE8PDYpKSkKKwkJCSB8fCAhKCEoKFdbMzddXihXWzQxXT4+MjUpKSAmICgxPDw1KSkpCisJCQkgfHwgISgoV1szNl1eKFdbNDFdPj4zMCkpICYgKDE8PDApKQorCQkgKSAgbWFzayAmPSB+RFZfSUlfNDlfMl9iaXQ7CisJaWYgKG1hc2sgJiBEVl9JSV81MF8wX2JpdCkKKwkJIGlmICgKKwkJCSAgICAhKChXWzU1XV5XWzU4XSkgJiAoMTw8MjkpKQorCQkJIHx8ICEoISgoV1szOF1eKFdbNDJdPj4yNSkpICYgKDE8PDMpKSkKKwkJCSB8fCAhKChXWzM3XV4oV1s0Ml08PDIpKSAmICgxPDwzMCkpCisJCSApICBtYXNrICY9IH5EVl9JSV81MF8wX2JpdDsKKwlpZiAobWFzayAmIERWX0lJXzUwXzJfYml0KQorCQkgaWYgKAorCQkJICAgICEoISgoV1s1NF1eKFdbNTVdPDw1KSkgJiAoMTw8NikpKQorCQkJIHx8ICEoISgoV1s1Ml1eV1s1NF0pICYgKDE8PDYpKSkKKwkJCSB8fCAhKChXWzUxXV5XWzU1XSkgJiAoMTw8MSkpCisJCQkgfHwgISgoV1s0NV1eV1s0N10pICYgKDE8PDEpKQorCQkJIHx8ICEoISgoV1szOF1eKFdbNDJdPj4yNSkpICYgKDE8PDUpKSkKKwkJCSB8fCAhKChXWzM3XV4oV1s0Ml0+PjMwKSkgJiAoMTw8MCkpCisJCSApICBtYXNrICY9IH5EVl9JSV81MF8yX2JpdDsKKwlpZiAobWFzayAmIERWX0lJXzUxXzBfYml0KQorCQkgaWYgKAorCQkJICAgICEoISgoV1szOV1eKFdbNDNdPj4yNSkpICYgKDE8PDMpKSkKKwkJCSB8fCAhKChXWzM4XV4oV1s0M108PDIpKSAmICgxPDwzMCkpCisJCSApICBtYXNrICY9IH5EVl9JSV81MV8wX2JpdDsKKwlpZiAobWFzayAmIERWX0lJXzUxXzJfYml0KQorCQkgaWYgKAorCQkJICAgICEoISgoV1s1NV1eKFdbNTZdPDw1KSkgJiAoMTw8NikpKQorCQkJIHx8ICEoISgoV1s1M11eV1s1NV0pICYgKDE8PDYpKSkKKwkJCSB8fCAhKChXWzUyXV5XWzU2XSkgJiAoMTw8MSkpCisJCQkgfHwgISgoV1s0Nl1eV1s0OF0pICYgKDE8PDEpKQorCQkJIHx8ICEoISgoV1szOV1eKFdbNDNdPj4yNSkpICYgKDE8PDUpKSkKKwkJCSB8fCAhKChXWzM4XV4oV1s0M10+PjMwKSkgJiAoMTw8MCkpCisJCSApICBtYXNrICY9IH5EVl9JSV81MV8yX2JpdDsKKwlpZiAobWFzayAmIERWX0lJXzUyXzBfYml0KQorCQkgaWYgKAorCQkJICAgICEoISgoV1s1OV1eV1s2MF0pICYgKDE8PDI5KSkpCisJCQkgfHwgISghKChXWzQwXV4oV1s0NF0+PjI1KSkgJiAoMTw8MykpKQorCQkJIHx8ICEoISgoV1s0MF1eKFdbNDRdPj4yNSkpICYgKDE8PDQpKSkKKwkJCSB8fCAhKChXWzM5XV4oV1s0NF08PDIpKSAmICgxPDwzMCkpCisJCSApICBtYXNrICY9IH5EVl9JSV81Ml8wX2JpdDsKKwlpZiAobWFzayAmIERWX0lJXzUzXzBfYml0KQorCQkgaWYgKAorCQkJICAgICEoKFdbNThdXldbNjFdKSAmICgxPDwyOSkpCisJCQkgfHwgISghKChXWzU3XV4oV1s2MV0+PjI1KSkgJiAoMTw8NCkpKQorCQkJIHx8ICEoISgoV1s0MV1eKFdbNDVdPj4yNSkpICYgKDE8PDMpKSkKKwkJCSB8fCAhKCEoKFdbNDFdXihXWzQ1XT4+MjUpKSAmICgxPDw0KSkpCisJCSApICBtYXNrICY9IH5EVl9JSV81M18wX2JpdDsKKwlpZiAobWFzayAmIERWX0lJXzU0XzBfYml0KQorCQkgaWYgKAorCQkJICAgICEoISgoV1s1OF1eKFdbNjJdPj4yNSkpICYgKDE8PDQpKSkKKwkJCSB8fCAhKCEoKFdbNDJdXihXWzQ2XT4+MjUpKSAmICgxPDwzKSkpCisJCQkgfHwgISghKChXWzQyXV4oV1s0Nl0+PjI1KSkgJiAoMTw8NCkpKQorCQkgKSAgbWFzayAmPSB+RFZfSUlfNTRfMF9iaXQ7CisJaWYgKG1hc2sgJiBEVl9JSV81NV8wX2JpdCkKKwkJIGlmICgKKwkJCSAgICAhKCEoKFdbNTldXihXWzYzXT4+MjUpKSAmICgxPDw0KSkpCisJCQkgfHwgISghKChXWzU3XV4oV1s1OV0+PjI1KSkgJiAoMTw8NCkpKQorCQkJIHx8ICEoISgoV1s0M11eKFdbNDddPj4yNSkpICYgKDE8PDMpKSkKKwkJCSB8fCAhKCEoKFdbNDNdXihXWzQ3XT4+MjUpKSAmICgxPDw0KSkpCisJCSApICBtYXNrICY9IH5EVl9JSV81NV8wX2JpdDsKKwlpZiAobWFzayAmIERWX0lJXzU2XzBfYml0KQorCQkgaWYgKAorCQkJICAgICEoISgoV1s2MF1eKFdbNjRdPj4yNSkpICYgKDE8PDQpKSkKKwkJCSB8fCAhKCEoKFdbNDRdXihXWzQ4XT4+MjUpKSAmICgxPDwzKSkpCisJCQkgfHwgISghKChXWzQ0XV4oV1s0OF0+PjI1KSkgJiAoMTw8NCkpKQorCQkgKSAgbWFzayAmPSB+RFZfSUlfNTZfMF9iaXQ7Cit9CisKKwlkdm1hc2tbMF09bWFzazsKK30KKworI2lmZGVmIFNIQTFEQ19DVVNUT01fVFJBSUxJTkdfSU5DTFVERV9VQkNfQ0hFQ0tfQworI2luY2x1ZGUgU0hBMURDX0NVU1RPTV9UUkFJTElOR19JTkNMVURFX1VCQ19DSEVDS19DCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NoYTFkYy91YmNfY2hlY2suaCBiL3NoYTFkYy91YmNfY2hlY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2UxN2RjCi0tLSAvZGV2L251bGwKKysrIGIvc2hhMWRjL3ViY19jaGVjay5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qKioKKyogQ29weXJpZ2h0IDIwMTcgTWFyYyBTdGV2ZW5zIDxtYXJjQG1hcmMtc3RldmVucy5ubD4sIERhbiBTaHVtb3cgPGRhbnNodUBtaWNyb3NvZnQuY29tPgorKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgTUlUIFNvZnR3YXJlIExpY2Vuc2UuCisqIFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFLnR4dCBvciBjb3B5IGF0CisqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCisqKiovCisKKy8qCisvLyB0aGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgJ3BhcnNlX2JpdHJlbCcgcHJvZ3JhbSBpbiB0aGUgdG9vbHMgc2VjdGlvbgorLy8gdXNpbmcgdGhlIGRhdGEgZmlsZXMgZnJvbSBkaXJlY3RvcnkgJ3Rvb2xzL2RhdGEvMzU2NScKKy8vCisvLyBzaGExX2R2cyBjb250YWlucyBhIGxpc3Qgb2YgU0hBLTEgRGlzdHVyYmFuY2UgVmVjdG9ycyAoRFYpIHRvIGNoZWNrCisvLyBkdlR5cGUsIGR2SyBhbmQgZHZCIGRlZmluZSB0aGUgRFY6IEkoSyxCKSBvciBJSShLLEIpIChzZWUgdGhlIHBhcGVyKQorLy8gZG1bODBdIGlzIHRoZSBleHBhbmRlZCBtZXNzYWdlIGJsb2NrIFhPUi1kaWZmZXJlbmNlIGRlZmluZWQgYnkgdGhlIERWCisvLyB0ZXN0dCBpcyB0aGUgc3RlcCB0byBkbyB0aGUgcmVjb21wcmVzc2lvbiBmcm9tIGZvciBjb2xsaXNpb24gZGV0ZWN0aW9uCisvLyBtYXNraSBhbmQgbWFza2IgZGVmaW5lIHRoZSBiaXQgdG8gY2hlY2sgZm9yIGVhY2ggRFYgaW4gdGhlIGR2bWFzayByZXR1cm5lZCBieSB1YmNfY2hlY2sKKy8vCisvLyB1YmNfY2hlY2sgdGFrZXMgYXMgaW5wdXQgYW4gZXhwYW5kZWQgbWVzc2FnZSBibG9jayBhbmQgdmVyaWZpZXMgdGhlIHVuYXZvaWRhYmxlIGJpdGNvbmRpdGlvbnMgZm9yIGFsbCBsaXN0ZWQgRFZzCisvLyBpdCByZXR1cm5zIGEgZHZtYXNrIHdoZXJlIGVhY2ggYml0IGJlbG9uZ2luZyB0byBhIERWIGlzIHNldCBpZiBhbGwgdW5hdm9pZGFibGUgYml0Y29uZGl0aW9ucyBmb3IgdGhhdCBEViBoYXZlIGJlZW4gbWV0CisvLyB0aHVzIG9uZSBuZWVkcyB0byBkbyB0aGUgcmVjb21wcmVzc2lvbiBjaGVjayBmb3IgZWFjaCBEViB0aGF0IGhhcyBpdHMgYml0IHNldAorKi8KKworI2lmbmRlZiBTSEExRENfVUJDX0NIRUNLX0gKKyNkZWZpbmUgU0hBMURDX1VCQ19DSEVDS19ICisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2lmbmRlZiBTSEExRENfTk9fU1RBTkRBUkRfSU5DTFVERVMKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNlbmRpZgorCisjZGVmaW5lIERWTUFTS1NJWkUgMQordHlwZWRlZiBzdHJ1Y3QgeyBpbnQgZHZUeXBlOyBpbnQgZHZLOyBpbnQgZHZCOyBpbnQgdGVzdHQ7IGludCBtYXNraTsgaW50IG1hc2tiOyB1aW50MzJfdCBkbVs4MF07IH0gZHZfaW5mb190OworZXh0ZXJuIGR2X2luZm9fdCBzaGExX2R2c1tdOwordm9pZCB1YmNfY2hlY2soY29uc3QgdWludDMyX3QgV1s4MF0sIHVpbnQzMl90IGR2bWFza1tEVk1BU0tTSVpFXSk7CisKKyNkZWZpbmUgRE9TVE9SRVNUQVRFNTgKKyNkZWZpbmUgRE9TVE9SRVNUQVRFNjUKKworI2RlZmluZSBDSEVDS19EVk1BU0soX0RWTUFTSykgKDAgIT0gX0RWTUFTS1swXSkKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworI2lmZGVmIFNIQTFEQ19DVVNUT01fVFJBSUxJTkdfSU5DTFVERV9VQkNfQ0hFQ0tfSAorI2luY2x1ZGUgU0hBMURDX0NVU1RPTV9UUkFJTElOR19JTkNMVURFX1VCQ19DSEVDS19ICisjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9zaGExZGNfZ2l0LmMgYi9zaGExZGNfZ2l0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBjYzlkOQotLS0gL2Rldi9udWxsCisrKyBiL3NoYTFkY19naXQuYwpAQCAtMCwwICsxLDM4IEBACisjaW5jbHVkZSAiY2FjaGUuaCIKKworI2lmZGVmIERDX1NIQTFfRVhURVJOQUwKKy8qCisgKiBTYW1lIGFzIFNIQTFEQ0luaXQsIGJ1dCB3aXRoIGRlZmF1bHQgc2F2ZV9oYXNoPTAKKyAqLwordm9pZCBnaXRfU0hBMURDSW5pdChTSEExX0NUWCAqY3R4KQoreworCVNIQTFEQ0luaXQoY3R4KTsKKwlTSEExRENTZXRTYWZlSGFzaChjdHgsIDApOworfQorI2VuZGlmCisKKy8qCisgKiBTYW1lIGFzIFNIQTFEQ0ZpbmFsLCBidXQgY29udmVydCBjb2xsaXNpb24gYXR0YWNrIGNhc2UgaW50byBhIHZlcmJvc2UgZGllKCkuCisgKi8KK3ZvaWQgZ2l0X1NIQTFEQ0ZpbmFsKHVuc2lnbmVkIGNoYXIgaGFzaFsyMF0sIFNIQTFfQ1RYICpjdHgpCit7CisJaWYgKCFTSEExRENGaW5hbChoYXNoLCBjdHgpKQorCQlyZXR1cm47CisJZGllKCJTSEEtMSBhcHBlYXJzIHRvIGJlIHBhcnQgb2YgYSBjb2xsaXNpb24gYXR0YWNrOiAlcyIsCisJICAgIHNoYTFfdG9faGV4KGhhc2gpKTsKK30KKworLyoKKyAqIFNhbWUgYXMgU0hBMURDVXBkYXRlLCBidXQgYWRqdXN0IHR5cGVzIHRvIG1hdGNoIGdpdCdzIHVzdWFsIGludGVyZmFjZS4KKyAqLwordm9pZCBnaXRfU0hBMURDVXBkYXRlKFNIQTFfQ1RYICpjdHgsIGNvbnN0IHZvaWQgKnZkYXRhLCB1bnNpZ25lZCBsb25nIGxlbikKK3sKKwljb25zdCBjaGFyICpkYXRhID0gdmRhdGE7CisJLyogV2UgZXhwZWN0IGFuIHVuc2lnbmVkIGxvbmcsIGJ1dCBzaGExZGMgb25seSB0YWtlcyBhbiBpbnQgKi8KKwl3aGlsZSAobGVuID4gSU5UX01BWCkgeworCQlTSEExRENVcGRhdGUoY3R4LCBkYXRhLCBJTlRfTUFYKTsKKwkJZGF0YSArPSBJTlRfTUFYOworCQlsZW4gLT0gSU5UX01BWDsKKwl9CisJU0hBMURDVXBkYXRlKGN0eCwgZGF0YSwgbGVuKTsKK30KZGlmZiAtLWdpdCBhL3NoYTFkY19naXQuaCBiL3NoYTFkY19naXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGMyNzI5Ci0tLSAvZGV2L251bGwKKysrIGIvc2hhMWRjX2dpdC5oCkBAIC0wLDAgKzEsMjMgQEAKKy8qIFBsdW1iaW5nIHdpdGggY29sbGl0aW9uLWRldGVjdGluZyBTSEExIGNvZGUgKi8KKworI2lmZGVmIERDX1NIQTFfU1VCTU9EVUxFCisjaW5jbHVkZSAic2hhMWNvbGxpc2lvbmRldGVjdGlvbi9saWIvc2hhMS5oIgorI2VsaWYgZGVmaW5lZChEQ19TSEExX0VYVEVSTkFMKQorI2luY2x1ZGUgPHNoYTFkYy9zaGExLmg+CisjZWxzZQorI2luY2x1ZGUgInNoYTFkYy9zaGExLmgiCisjZW5kaWYKKworI2lmZGVmIERDX1NIQTFfRVhURVJOQUwKK3ZvaWQgZ2l0X1NIQTFEQ0luaXQoU0hBMV9DVFggKik7CisjZWxzZQorI2RlZmluZSBnaXRfU0hBMURDSW5pdAlTSEExRENJbml0CisjZW5kaWYKKwordm9pZCBnaXRfU0hBMURDRmluYWwodW5zaWduZWQgY2hhciBbMjBdLCBTSEExX0NUWCAqKTsKK3ZvaWQgZ2l0X1NIQTFEQ1VwZGF0ZShTSEExX0NUWCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCB1bnNpZ25lZCBsb25nIGxlbik7CisKKyNkZWZpbmUgcGxhdGZvcm1fU0hBX0NUWCBTSEExX0NUWAorI2RlZmluZSBwbGF0Zm9ybV9TSEExX0luaXQgZ2l0X1NIQTFEQ0luaXQKKyNkZWZpbmUgcGxhdGZvcm1fU0hBMV9VcGRhdGUgZ2l0X1NIQTFEQ1VwZGF0ZQorI2RlZmluZSBwbGF0Zm9ybV9TSEExX0ZpbmFsIGdpdF9TSEExRENGaW5hbApkaWZmIC0tZ2l0IGEvc2hhbGxvdy5jIGIvc2hhbGxvdy5jCmluZGV4IDExZjdkZGUuLmRmNGQ0NGUgMTAwNjQ0Ci0tLSBhL3NoYWxsb3cuYworKysgYi9zaGFsbG93LmMKQEAgLTI3LDEzICsyNywxMyBAQAogCWFsdGVybmF0ZV9zaGFsbG93X2ZpbGUgPSB4c3RyZHVwX29yX251bGwocGF0aCk7CiB9CiAKLWludCByZWdpc3Rlcl9zaGFsbG93KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitpbnQgcmVnaXN0ZXJfc2hhbGxvdyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3RydWN0IGNvbW1pdF9ncmFmdCAqZ3JhZnQgPQogCQl4bWFsbG9jKHNpemVvZihzdHJ1Y3QgY29tbWl0X2dyYWZ0KSk7Ci0Jc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdChzaGExKTsKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBsb29rdXBfY29tbWl0KG9pZCk7CiAKLQloYXNoY3B5KGdyYWZ0LT5vaWQuaGFzaCwgc2hhMSk7CisJb2lkY3B5KCZncmFmdC0+b2lkLCBvaWQpOwogCWdyYWZ0LT5ucl9wYXJlbnQgPSAtMTsKIAlpZiAoY29tbWl0ICYmIGNvbW1pdC0+b2JqZWN0LnBhcnNlZCkKIAkJY29tbWl0LT5wYXJlbnRzID0gTlVMTDsKQEAgLTY1LDEwICs2NSwxMCBAQAogCWlzX3NoYWxsb3cgPSAxOwogCiAJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZwKSkgewotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCQlpZiAoZ2V0X3NoYTFfaGV4KGJ1Ziwgc2hhMSkpCisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCQlpZiAoZ2V0X29pZF9oZXgoYnVmLCAmb2lkKSkKIAkJCWRpZSgiYmFkIHNoYWxsb3cgbGluZTogJXMiLCBidWYpOwotCQlyZWdpc3Rlcl9zaGFsbG93KHNoYTEpOworCQlyZWdpc3Rlcl9zaGFsbG93KCZvaWQpOwogCX0KIAlmY2xvc2UoZnApOwogCXJldHVybiBpc19zaGFsbG93OwpAQCAtOTksNyArOTksNyBAQAogCQkJCWN1cl9kZXB0aCA9IDA7CiAJCQl9IGVsc2UgewogCQkJCWNvbW1pdCA9IChzdHJ1Y3QgY29tbWl0ICopCi0JCQkJCXN0YWNrLm9iamVjdHNbLS1zdGFjay5ucl0uaXRlbTsKKwkJCQkJb2JqZWN0X2FycmF5X3BvcCgmc3RhY2spOwogCQkJCWN1cl9kZXB0aCA9ICooaW50ICopY29tbWl0LT51dGlsOwogCQkJfQogCQl9CkBAIC0xMDcsNyArMTA3LDcgQEAKIAkJY3VyX2RlcHRoKys7CiAJCWlmICgoZGVwdGggIT0gSU5GSU5JVEVfREVQVEggJiYgY3VyX2RlcHRoID49IGRlcHRoKSB8fAogCQkgICAgKGlzX3JlcG9zaXRvcnlfc2hhbGxvdygpICYmICFjb21taXQtPnBhcmVudHMgJiYKLQkJICAgICAoZ3JhZnQgPSBsb29rdXBfY29tbWl0X2dyYWZ0KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKSkgIT0gTlVMTCAmJgorCQkgICAgIChncmFmdCA9IGxvb2t1cF9jb21taXRfZ3JhZnQoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpICE9IE5VTEwgJiYKIAkJICAgICBncmFmdC0+bnJfcGFyZW50IDwgMCkpIHsKIAkJCWNvbW1pdF9saXN0X2luc2VydChjb21taXQsICZyZXN1bHQpOwogCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gc2hhbGxvd19mbGFnOwpAQCAtMjQxLDcgKzI0MSw3IEBACiAJaWYgKGdyYWZ0LT5ucl9wYXJlbnQgIT0gLTEpCiAJCXJldHVybiAwOwogCWlmIChkYXRhLT5mbGFncyAmIFNFRU5fT05MWSkgewotCQlzdHJ1Y3QgY29tbWl0ICpjID0gbG9va3VwX2NvbW1pdChncmFmdC0+b2lkLmhhc2gpOworCQlzdHJ1Y3QgY29tbWl0ICpjID0gbG9va3VwX2NvbW1pdCgmZ3JhZnQtPm9pZCk7CiAJCWlmICghYyB8fCAhKGMtPm9iamVjdC5mbGFncyAmIFNFRU4pKSB7CiAJCQlpZiAoZGF0YS0+ZmxhZ3MgJiBWRVJCT1NFKQogCQkJCXByaW50ZigiUmVtb3ZpbmcgJXMgZnJvbSAuZ2l0L3NoYWxsb3dcbiIsCkBAIC0yNjAsNyArMjYwLDcgQEAKIH0KIAogc3RhdGljIGludCB3cml0ZV9zaGFsbG93X2NvbW1pdHNfMShzdHJ1Y3Qgc3RyYnVmICpvdXQsIGludCB1c2VfcGFja19wcm90b2NvbCwKLQkJCQkgICBjb25zdCBzdHJ1Y3Qgc2hhMV9hcnJheSAqZXh0cmEsCisJCQkJICAgY29uc3Qgc3RydWN0IG9pZF9hcnJheSAqZXh0cmEsCiAJCQkJICAgdW5zaWduZWQgZmxhZ3MpCiB7CiAJc3RydWN0IHdyaXRlX3NoYWxsb3dfZGF0YSBkYXRhOwpAQCAtMjczLDcgKzI3Myw3IEBACiAJaWYgKCFleHRyYSkKIAkJcmV0dXJuIGRhdGEuY291bnQ7CiAJZm9yIChpID0gMDsgaSA8IGV4dHJhLT5ucjsgaSsrKSB7Ci0JCXN0cmJ1Zl9hZGRzdHIob3V0LCBzaGExX3RvX2hleChleHRyYS0+c2hhMVtpXSkpOworCQlzdHJidWZfYWRkc3RyKG91dCwgb2lkX3RvX2hleChleHRyYS0+b2lkICsgaSkpOwogCQlzdHJidWZfYWRkY2gob3V0LCAnXG4nKTsKIAkJZGF0YS5jb3VudCsrOwogCX0KQEAgLTI4MSwzOCArMjgxLDM2IEBACiB9CiAKIGludCB3cml0ZV9zaGFsbG93X2NvbW1pdHMoc3RydWN0IHN0cmJ1ZiAqb3V0LCBpbnQgdXNlX3BhY2tfcHJvdG9jb2wsCi0JCQkgIGNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpleHRyYSkKKwkJCSAgY29uc3Qgc3RydWN0IG9pZF9hcnJheSAqZXh0cmEpCiB7CiAJcmV0dXJuIHdyaXRlX3NoYWxsb3dfY29tbWl0c18xKG91dCwgdXNlX3BhY2tfcHJvdG9jb2wsIGV4dHJhLCAwKTsKIH0KIAotc3RhdGljIHN0cnVjdCB0ZW1wZmlsZSB0ZW1wb3Jhcnlfc2hhbGxvdzsKLQotY29uc3QgY2hhciAqc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coY29uc3Qgc3RydWN0IHNoYTFfYXJyYXkgKmV4dHJhKQorY29uc3QgY2hhciAqc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coY29uc3Qgc3RydWN0IG9pZF9hcnJheSAqZXh0cmEpCiB7CisJc3RydWN0IHRlbXBmaWxlICp0ZW1wOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQlpbnQgZmQ7CiAKIAlpZiAod3JpdGVfc2hhbGxvd19jb21taXRzKCZzYiwgMCwgZXh0cmEpKSB7Ci0JCWZkID0geG1rc190ZW1wZmlsZSgmdGVtcG9yYXJ5X3NoYWxsb3csIGdpdF9wYXRoKCJzaGFsbG93X1hYWFhYWCIpKTsKKwkJdGVtcCA9IHhta3NfdGVtcGZpbGUoZ2l0X3BhdGgoInNoYWxsb3dfWFhYWFhYIikpOwogCi0JCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBzYi5idWYsIHNiLmxlbikgIT0gc2IubGVuKQorCQlpZiAod3JpdGVfaW5fZnVsbCh0ZW1wLT5mZCwgc2IuYnVmLCBzYi5sZW4pIDwgMCB8fAorCQkgICAgY2xvc2VfdGVtcGZpbGVfZ2VudGx5KHRlbXApIDwgMCkKIAkJCWRpZV9lcnJubygiZmFpbGVkIHRvIHdyaXRlIHRvICVzIiwKLQkJCQkgIGdldF90ZW1wZmlsZV9wYXRoKCZ0ZW1wb3Jhcnlfc2hhbGxvdykpOwotCQljbG9zZV90ZW1wZmlsZSgmdGVtcG9yYXJ5X3NoYWxsb3cpOworCQkJCSAgZ2V0X3RlbXBmaWxlX3BhdGgodGVtcCkpOwogCQlzdHJidWZfcmVsZWFzZSgmc2IpOwotCQlyZXR1cm4gZ2V0X3RlbXBmaWxlX3BhdGgoJnRlbXBvcmFyeV9zaGFsbG93KTsKKwkJcmV0dXJuIGdldF90ZW1wZmlsZV9wYXRoKHRlbXApOwogCX0KIAkvKgogCSAqIGlzX3JlcG9zaXRvcnlfc2hhbGxvdygpIHNlZXMgZW1wdHkgc3RyaW5nIGFzICJubyBzaGFsbG93CiAJICogZmlsZSIuCiAJICovCi0JcmV0dXJuIGdldF90ZW1wZmlsZV9wYXRoKCZ0ZW1wb3Jhcnlfc2hhbGxvdyk7CisJcmV0dXJuICIiOwogfQogCiB2b2lkIHNldHVwX2FsdGVybmF0ZV9zaGFsbG93KHN0cnVjdCBsb2NrX2ZpbGUgKnNoYWxsb3dfbG9jaywKIAkJCSAgICAgY29uc3QgY2hhciAqKmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUsCi0JCQkgICAgIGNvbnN0IHN0cnVjdCBzaGExX2FycmF5ICpleHRyYSkKKwkJCSAgICAgY29uc3Qgc3RydWN0IG9pZF9hcnJheSAqZXh0cmEpCiB7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCWludCBmZDsKQEAgLTMyMSw3ICszMTksNyBAQAogCQkJCSAgICAgICBMT0NLX0RJRV9PTl9FUlJPUik7CiAJY2hlY2tfc2hhbGxvd19maWxlX2Zvcl91cGRhdGUoKTsKIAlpZiAod3JpdGVfc2hhbGxvd19jb21taXRzKCZzYiwgMCwgZXh0cmEpKSB7Ci0JCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBzYi5idWYsIHNiLmxlbikgIT0gc2IubGVuKQorCQlpZiAod3JpdGVfaW5fZnVsbChmZCwgc2IuYnVmLCBzYi5sZW4pIDwgMCkKIAkJCWRpZV9lcnJubygiZmFpbGVkIHRvIHdyaXRlIHRvICVzIiwKIAkJCQkgIGdldF9sb2NrX2ZpbGVfcGF0aChzaGFsbG93X2xvY2spKTsKIAkJKmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUgPSBnZXRfbG9ja19maWxlX3BhdGgoc2hhbGxvd19sb2NrKTsKQEAgLTM2OCw3ICszNjYsNyBAQAogCQkJCSAgICAgICBMT0NLX0RJRV9PTl9FUlJPUik7CiAJY2hlY2tfc2hhbGxvd19maWxlX2Zvcl91cGRhdGUoKTsKIAlpZiAod3JpdGVfc2hhbGxvd19jb21taXRzXzEoJnNiLCAwLCBOVUxMLCBTRUVOX09OTFkpKSB7Ci0JCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBzYi5idWYsIHNiLmxlbikgIT0gc2IubGVuKQorCQlpZiAod3JpdGVfaW5fZnVsbChmZCwgc2IuYnVmLCBzYi5sZW4pIDwgMCkKIAkJCWRpZV9lcnJubygiZmFpbGVkIHRvIHdyaXRlIHRvICVzIiwKIAkJCQkgIGdldF9sb2NrX2ZpbGVfcGF0aCgmc2hhbGxvd19sb2NrKSk7CiAJCWNvbW1pdF9sb2NrX2ZpbGUoJnNoYWxsb3dfbG9jayk7CkBAIC0zODUsNyArMzgzLDcgQEAKICAqIFN0ZXAgMSwgc3BsaXQgc2VuZGVyIHNoYWxsb3cgY29tbWl0cyBpbnRvICJvdXJzIiBhbmQgInRoZWlycyIKICAqIFN0ZXAgMiwgY2xlYW4gIm91cnMiIGJhc2VkIG9uIC5naXQvc2hhbGxvdwogICovCi12b2lkIHByZXBhcmVfc2hhbGxvd19pbmZvKHN0cnVjdCBzaGFsbG93X2luZm8gKmluZm8sIHN0cnVjdCBzaGExX2FycmF5ICpzYSkKK3ZvaWQgcHJlcGFyZV9zaGFsbG93X2luZm8oc3RydWN0IHNoYWxsb3dfaW5mbyAqaW5mbywgc3RydWN0IG9pZF9hcnJheSAqc2EpCiB7CiAJaW50IGk7CiAJdHJhY2VfcHJpbnRmX2tleSgmdHJhY2Vfc2hhbGxvdywgInNoYWxsb3c6IHByZXBhcmVfc2hhbGxvd19pbmZvXG4iKTsKQEAgLTM5Niw5ICszOTQsOSBAQAogCUFMTE9DX0FSUkFZKGluZm8tPm91cnMsIHNhLT5ucik7CiAJQUxMT0NfQVJSQVkoaW5mby0+dGhlaXJzLCBzYS0+bnIpOwogCWZvciAoaSA9IDA7IGkgPCBzYS0+bnI7IGkrKykgewotCQlpZiAoaGFzX3NoYTFfZmlsZShzYS0+c2hhMVtpXSkpIHsKKwkJaWYgKGhhc19vYmplY3RfZmlsZShzYS0+b2lkICsgaSkpIHsKIAkJCXN0cnVjdCBjb21taXRfZ3JhZnQgKmdyYWZ0OwotCQkJZ3JhZnQgPSBsb29rdXBfY29tbWl0X2dyYWZ0KHNhLT5zaGExW2ldKTsKKwkJCWdyYWZ0ID0gbG9va3VwX2NvbW1pdF9ncmFmdCgmc2EtPm9pZFtpXSk7CiAJCQlpZiAoZ3JhZnQgJiYgZ3JhZnQtPm5yX3BhcmVudCA8IDApCiAJCQkJY29udGludWU7CiAJCQlpbmZvLT5vdXJzW2luZm8tPm5yX291cnMrK10gPSBpOwpAQCAtNDE3LDEzICs0MTUsMTMgQEAKIAogdm9pZCByZW1vdmVfbm9uZXhpc3RlbnRfdGhlaXJzX3NoYWxsb3coc3RydWN0IHNoYWxsb3dfaW5mbyAqaW5mbykKIHsKLQl1bnNpZ25lZCBjaGFyICgqc2hhMSlbMjBdID0gaW5mby0+c2hhbGxvdy0+c2hhMTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQgPSBpbmZvLT5zaGFsbG93LT5vaWQ7CiAJaW50IGksIGRzdDsKIAl0cmFjZV9wcmludGZfa2V5KCZ0cmFjZV9zaGFsbG93LCAic2hhbGxvdzogcmVtb3ZlX25vbmV4aXN0ZW50X3RoZWlyc19zaGFsbG93XG4iKTsKIAlmb3IgKGkgPSBkc3QgPSAwOyBpIDwgaW5mby0+bnJfdGhlaXJzOyBpKyspIHsKIAkJaWYgKGkgIT0gZHN0KQogCQkJaW5mby0+dGhlaXJzW2RzdF0gPSBpbmZvLT50aGVpcnNbaV07Ci0JCWlmIChoYXNfc2hhMV9maWxlKHNoYTFbaW5mby0+dGhlaXJzW2ldXSkpCisJCWlmIChoYXNfb2JqZWN0X2ZpbGUob2lkICsgaW5mby0+dGhlaXJzW2ldKSkKIAkJCWRzdCsrOwogCX0KIAlpbmZvLT5ucl90aGVpcnMgPSBkc3Q7CkBAIC00NDMsNyArNDQxLDcgQEAKIAogc3RhdGljIHVpbnQzMl90ICpwYWludF9hbGxvYyhzdHJ1Y3QgcGFpbnRfaW5mbyAqaW5mbykKIHsKLQl1bnNpZ25lZCBuciA9IChpbmZvLT5ucl9iaXRzICsgMzEpIC8gMzI7CisJdW5zaWduZWQgbnIgPSBESVZfUk9VTkRfVVAoaW5mby0+bnJfYml0cywgMzIpOwogCXVuc2lnbmVkIHNpemUgPSBuciAqIHNpemVvZih1aW50MzJfdCk7CiAJdm9pZCAqcDsKIAlpZiAoIWluZm8tPnBvb2xfY291bnQgfHwgc2l6ZSA+IGluZm8tPmVuZCAtIGluZm8tPmZyZWUpIHsKQEAgLTQ2NiwxOCArNDY0LDIyIEBACiAgKiBVTklOVEVSRVNUSU5HIG9yIEJPVFRPTSBpcyBoaXQuIFNldCB0aGUgaWQtdGggYml0IGluIHJlZl9iaXRtYXAgZm9yCiAgKiBhbGwgd2Fsa2VkIGNvbW1pdHMuCiAgKi8KLXN0YXRpYyB2b2lkIHBhaW50X2Rvd24oc3RydWN0IHBhaW50X2luZm8gKmluZm8sIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdGF0aWMgdm9pZCBwYWludF9kb3duKHN0cnVjdCBwYWludF9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCSAgICAgICB1bnNpZ25lZCBpbnQgaWQpCiB7CiAJdW5zaWduZWQgaW50IGksIG5yOwogCXN0cnVjdCBjb21taXRfbGlzdCAqaGVhZCA9IE5VTEw7Ci0JaW50IGJpdG1hcF9uciA9IChpbmZvLT5ucl9iaXRzICsgMzEpIC8gMzI7CisJaW50IGJpdG1hcF9uciA9IERJVl9ST1VORF9VUChpbmZvLT5ucl9iaXRzLCAzMik7CiAJc2l6ZV90IGJpdG1hcF9zaXplID0gc3RfbXVsdChzaXplb2YodWludDMyX3QpLCBiaXRtYXBfbnIpOwotCXVpbnQzMl90ICp0bXAgPSB4bWFsbG9jKGJpdG1hcF9zaXplKTsgLyogdG8gYmUgZnJlZWQgYmVmb3JlIHJldHVybiAqLwotCXVpbnQzMl90ICpiaXRtYXAgPSBwYWludF9hbGxvYyhpbmZvKTsKLQlzdHJ1Y3QgY29tbWl0ICpjID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHNoYTEsIDEpOworCXN0cnVjdCBjb21taXQgKmMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2lkLCAxKTsKKwl1aW50MzJfdCAqdG1wOyAvKiB0byBiZSBmcmVlZCBiZWZvcmUgcmV0dXJuICovCisJdWludDMyX3QgKmJpdG1hcDsKKwogCWlmICghYykKIAkJcmV0dXJuOworCisJdG1wID0geG1hbGxvYyhiaXRtYXBfc2l6ZSk7CisJYml0bWFwID0gcGFpbnRfYWxsb2MoaW5mbyk7CiAJbWVtc2V0KGJpdG1hcCwgMCwgYml0bWFwX3NpemUpOwogCWJpdG1hcFtpZCAvIDMyXSB8PSAoMVUgPDwgKGlkICUgMzIpKTsKIAljb21taXRfbGlzdF9pbnNlcnQoYywgJmhlYWQpOwpAQCAtNTMxLDcgKzUzMyw3IEBACiBzdGF0aWMgaW50IG1hcmtfdW5pbnRlcmVzdGluZyhjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgICAgICBpbnQgZmxhZ3MsIHZvaWQgKmNiX2RhdGEpCiB7Ci0Jc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZC0+aGFzaCwgMSk7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZCwgMSk7CiAJaWYgKCFjb21taXQpCiAJCXJldHVybiAwOwogCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IFVOSU5URVJFU1RJTkc7CkBAIC01NTksOCArNTYxLDggQEAKIHZvaWQgYXNzaWduX3NoYWxsb3dfY29tbWl0c190b19yZWZzKHN0cnVjdCBzaGFsbG93X2luZm8gKmluZm8sCiAJCQkJICAgIHVpbnQzMl90ICoqdXNlZCwgaW50ICpyZWZfc3RhdHVzKQogewotCXVuc2lnbmVkIGNoYXIgKCpzaGExKVsyMF0gPSBpbmZvLT5zaGFsbG93LT5zaGExOwotCXN0cnVjdCBzaGExX2FycmF5ICpyZWYgPSBpbmZvLT5yZWY7CisJc3RydWN0IG9iamVjdF9pZCAqb2lkID0gaW5mby0+c2hhbGxvdy0+b2lkOworCXN0cnVjdCBvaWRfYXJyYXkgKnJlZiA9IGluZm8tPnJlZjsKIAl1bnNpZ25lZCBpbnQgaSwgbnI7CiAJaW50ICpzaGFsbG93LCBucl9zaGFsbG93ID0gMDsKIAlzdHJ1Y3QgcGFpbnRfaW5mbyBwaTsKQEAgLTU5OSwxOCArNjAxLDE4IEBACiAKIAkvKiBNYXJrIHBvdGVudGlhbCBib3R0b21zIHNvIHdlIHdvbid0IGdvIG91dCBvZiBib3VuZCAqLwogCWZvciAoaSA9IDA7IGkgPCBucl9zaGFsbG93OyBpKyspIHsKLQkJc3RydWN0IGNvbW1pdCAqYyA9IGxvb2t1cF9jb21taXQoc2hhMVtzaGFsbG93W2ldXSk7CisJCXN0cnVjdCBjb21taXQgKmMgPSBsb29rdXBfY29tbWl0KCZvaWRbc2hhbGxvd1tpXV0pOwogCQljLT5vYmplY3QuZmxhZ3MgfD0gQk9UVE9NOwogCX0KIAogCWZvciAoaSA9IDA7IGkgPCByZWYtPm5yOyBpKyspCi0JCXBhaW50X2Rvd24oJnBpLCByZWYtPnNoYTFbaV0sIGkpOworCQlwYWludF9kb3duKCZwaSwgcmVmLT5vaWQgKyBpLCBpKTsKIAogCWlmICh1c2VkKSB7Ci0JCWludCBiaXRtYXBfc2l6ZSA9ICgocGkubnJfYml0cyArIDMxKSAvIDMyKSAqIHNpemVvZih1aW50MzJfdCk7CisJCWludCBiaXRtYXBfc2l6ZSA9IERJVl9ST1VORF9VUChwaS5ucl9iaXRzLCAzMikgKiBzaXplb2YodWludDMyX3QpOwogCQltZW1zZXQodXNlZCwgMCwgc2l6ZW9mKCp1c2VkKSAqIGluZm8tPnNoYWxsb3ctPm5yKTsKIAkJZm9yIChpID0gMDsgaSA8IG5yX3NoYWxsb3c7IGkrKykgewotCQkJY29uc3Qgc3RydWN0IGNvbW1pdCAqYyA9IGxvb2t1cF9jb21taXQoc2hhMVtzaGFsbG93W2ldXSk7CisJCQljb25zdCBzdHJ1Y3QgY29tbWl0ICpjID0gbG9va3VwX2NvbW1pdCgmb2lkW3NoYWxsb3dbaV1dKTsKIAkJCXVpbnQzMl90ICoqbWFwID0gcmVmX2JpdG1hcF9hdCgmcGkucmVmX2JpdG1hcCwgYyk7CiAJCQlpZiAoKm1hcCkKIAkJCQl1c2VkW3NoYWxsb3dbaV1dID0geG1lbWR1cHooKm1hcCwgYml0bWFwX3NpemUpOwpAQCAtNjQxLDcgKzY0Myw3IEBACiB7CiAJc3RydWN0IGNvbW1pdF9hcnJheSAqY2EgPSBjYl9kYXRhOwogCUFMTE9DX0dST1coY2EtPmNvbW1pdHMsIGNhLT5uciArIDEsIGNhLT5hbGxvYyk7Ci0JY2EtPmNvbW1pdHNbY2EtPm5yXSA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShvaWQtPmhhc2gsIDEpOworCWNhLT5jb21taXRzW2NhLT5ucl0gPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2lkLCAxKTsKIAlpZiAoY2EtPmNvbW1pdHNbY2EtPm5yXSkKIAkJY2EtPm5yKys7CiAJcmV0dXJuIDA7CkBAIC02NjQsMTEgKzY2NiwxMSBAQAogCQkJCXN0cnVjdCByZWZfYml0bWFwICpyZWZfYml0bWFwLAogCQkJCWludCAqcmVmX3N0YXR1cykKIHsKLQl1bnNpZ25lZCBjaGFyICgqc2hhMSlbMjBdID0gaW5mby0+c2hhbGxvdy0+c2hhMTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQgPSBpbmZvLT5zaGFsbG93LT5vaWQ7CiAJc3RydWN0IGNvbW1pdCAqYzsKIAl1aW50MzJfdCAqKmJpdG1hcDsKIAlpbnQgZHN0LCBpLCBqOwotCWludCBiaXRtYXBfbnIgPSAoaW5mby0+cmVmLT5uciArIDMxKSAvIDMyOworCWludCBiaXRtYXBfbnIgPSBESVZfUk9VTkRfVVAoaW5mby0+cmVmLT5uciwgMzIpOwogCXN0cnVjdCBjb21taXRfYXJyYXkgY2E7CiAKIAl0cmFjZV9wcmludGZfa2V5KCZ0cmFjZV9zaGFsbG93LCAic2hhbGxvdzogcG9zdF9hc3NpZ25fc2hhbGxvd1xuIik7CkBAIC02NzksNyArNjgxLDcgQEAKIAlmb3IgKGkgPSBkc3QgPSAwOyBpIDwgaW5mby0+bnJfdGhlaXJzOyBpKyspIHsKIAkJaWYgKGkgIT0gZHN0KQogCQkJaW5mby0+dGhlaXJzW2RzdF0gPSBpbmZvLT50aGVpcnNbaV07Ci0JCWMgPSBsb29rdXBfY29tbWl0KHNoYTFbaW5mby0+dGhlaXJzW2ldXSk7CisJCWMgPSBsb29rdXBfY29tbWl0KCZvaWRbaW5mby0+dGhlaXJzW2ldXSk7CiAJCWJpdG1hcCA9IHJlZl9iaXRtYXBfYXQocmVmX2JpdG1hcCwgYyk7CiAJCWlmICghKmJpdG1hcCkKIAkJCWNvbnRpbnVlOwpAQCAtNzAwLDcgKzcwMiw3IEBACiAJZm9yIChpID0gZHN0ID0gMDsgaSA8IGluZm8tPm5yX291cnM7IGkrKykgewogCQlpZiAoaSAhPSBkc3QpCiAJCQlpbmZvLT5vdXJzW2RzdF0gPSBpbmZvLT5vdXJzW2ldOwotCQljID0gbG9va3VwX2NvbW1pdChzaGExW2luZm8tPm91cnNbaV1dKTsKKwkJYyA9IGxvb2t1cF9jb21taXQoJm9pZFtpbmZvLT5vdXJzW2ldXSk7CiAJCWJpdG1hcCA9IHJlZl9iaXRtYXBfYXQocmVmX2JpdG1hcCwgYyk7CiAJCWlmICghKmJpdG1hcCkKIAkJCWNvbnRpbnVlOwpAQCAtNzIyLDcgKzcyNCw3IEBACiBpbnQgZGVsYXllZF9yZWFjaGFiaWxpdHlfdGVzdChzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSwgaW50IGMpCiB7CiAJaWYgKHNpLT5uZWVkX3JlYWNoYWJpbGl0eV90ZXN0W2NdKSB7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXQoc2ktPnNoYWxsb3ctPnNoYTFbY10pOworCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBsb29rdXBfY29tbWl0KCZzaS0+c2hhbGxvdy0+b2lkW2NdKTsKIAogCQlpZiAoIXNpLT5jb21taXRzKSB7CiAJCQlzdHJ1Y3QgY29tbWl0X2FycmF5IGNhOwpkaWZmIC0tZ2l0IGEvc3BsaXQtaW5kZXguYyBiL3NwbGl0LWluZGV4LmMKaW5kZXggNjE1ZjRjYS4uODNlMzllYyAxMDA2NDQKLS0tIGEvc3BsaXQtaW5kZXguYworKysgYi9zcGxpdC1pbmRleC5jCkBAIC0xNjcsMTAgKzE2Nyw5IEBACiAKIAlld2FoX2ZyZWUoc2ktPmRlbGV0ZV9iaXRtYXApOwogCWV3YWhfZnJlZShzaS0+cmVwbGFjZV9iaXRtYXApOwotCWZyZWUoc2ktPnNhdmVkX2NhY2hlKTsKKwlGUkVFX0FORF9OVUxMKHNpLT5zYXZlZF9jYWNoZSk7CiAJc2ktPmRlbGV0ZV9iaXRtYXAgID0gTlVMTDsKIAlzaS0+cmVwbGFjZV9iaXRtYXAgPSBOVUxMOwotCXNpLT5zYXZlZF9jYWNoZQkgICA9IE5VTEw7CiAJc2ktPnNhdmVkX2NhY2hlX25yID0gMDsKIH0KIApAQCAtMzE3LDMgKzMxNiwyNSBAQAogCQlpc3RhdGUtPnNwbGl0X2luZGV4LT5iYXNlLT5jYWNoZVtuZXctPmluZGV4IC0gMV0gPSBuZXc7CiAJfQogfQorCit2b2lkIGFkZF9zcGxpdF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKK3sKKwlpZiAoIWlzdGF0ZS0+c3BsaXRfaW5kZXgpIHsKKwkJaW5pdF9zcGxpdF9pbmRleChpc3RhdGUpOworCQlpc3RhdGUtPmNhY2hlX2NoYW5nZWQgfD0gU1BMSVRfSU5ERVhfT1JERVJFRDsKKwl9Cit9CisKK3ZvaWQgcmVtb3ZlX3NwbGl0X2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQoreworCWlmIChpc3RhdGUtPnNwbGl0X2luZGV4KSB7CisJCS8qCisJCSAqIGNhbid0IGRpc2NhcmRfc3BsaXRfaW5kZXgoJnRoZV9pbmRleCk7IGJlY2F1c2UgdGhhdAorCQkgKiB3aWxsIGRlc3Ryb3kgc3BsaXRfaW5kZXgtPmJhc2UtPmNhY2hlW10sIHdoaWNoIG1heQorCQkgKiBiZSBzaGFyZWQgd2l0aCB0aGVfaW5kZXguY2FjaGVbXS4gU28geWVhaCB3ZSdyZQorCQkgKiBsZWFraW5nIGEgYml0IGhlcmUuCisJCSAqLworCQlpc3RhdGUtPnNwbGl0X2luZGV4ID0gTlVMTDsKKwkJaXN0YXRlLT5jYWNoZV9jaGFuZ2VkIHw9IFNPTUVUSElOR19DSEFOR0VEOworCX0KK30KZGlmZiAtLWdpdCBhL3NwbGl0LWluZGV4LmggYi9zcGxpdC1pbmRleC5oCmluZGV4IGMxMzI0ZjUuLmRmOTFjMWIgMTAwNjQ0Ci0tLSBhL3NwbGl0LWluZGV4LmgKKysrIGIvc3BsaXQtaW5kZXguaApAQCAtMzEsNSArMzEsNyBAQAogdm9pZCBwcmVwYXJlX3RvX3dyaXRlX3NwbGl0X2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKIHZvaWQgZmluaXNoX3dyaXRpbmdfc3BsaXRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpOwogdm9pZCBkaXNjYXJkX3NwbGl0X2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKK3ZvaWQgYWRkX3NwbGl0X2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKK3ZvaWQgcmVtb3ZlX3NwbGl0X2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zdHJidWYuYyBiL3N0cmJ1Zi5jCmluZGV4IGFjZTU4ZTcuLjMyM2M0OWMgMTAwNjQ0Ci0tLSBhL3N0cmJ1Zi5jCisrKyBiL3N0cmJ1Zi5jCkBAIC0yMDQsMTMgKzIwNCw2IEBACiAJc3RyYnVmX3NldGxlbihzYiwgc2ItPmxlbiArIHNiMi0+bGVuKTsKIH0KIAotdm9pZCBzdHJidWZfYWRkZHVwKHN0cnVjdCBzdHJidWYgKnNiLCBzaXplX3QgcG9zLCBzaXplX3QgbGVuKQotewotCXN0cmJ1Zl9ncm93KHNiLCBsZW4pOwotCW1lbWNweShzYi0+YnVmICsgc2ItPmxlbiwgc2ItPmJ1ZiArIHBvcywgbGVuKTsKLQlzdHJidWZfc2V0bGVuKHNiLCBzYi0+bGVuICsgbGVuKTsKLX0KLQogdm9pZCBzdHJidWZfYWRkY2hhcnMoc3RydWN0IHN0cmJ1ZiAqc2IsIGludCBjLCBzaXplX3QgbikKIHsKIAlzdHJidWZfZ3JvdyhzYiwgbik7CkBAIC00NDksNiArNDQyLDE3IEBACiAJCQlzdHJidWZfc2V0bGVuKHNiLCBzdHJsZW4oc2ItPmJ1ZikpOwogCQkJcmV0dXJuIDA7CiAJCX0KKworCQkvKgorCQkgKiBJZiBnZXRjd2QoMykgaXMgaW1wbGVtZW50ZWQgYXMgYSBzeXNjYWxsIHRoYXQgZmFsbHMKKwkJICogYmFjayB0byBhIHJlZ3VsYXIgbG9va3VwIHVzaW5nIHJlYWRkaXIoMykgZXRjLiB0aGVuCisJCSAqIHdlIG1heSBiZSBhYmxlIHRvIGF2b2lkIEVBQ0NFUyBieSBwcm92aWRpbmcgZW5vdWdoCisJCSAqIHNwYWNlIHRvIHRoZSBzeXNjYWxsIGFzIGl0J3Mgbm90IG5lY2Vzc2FyaWx5IGJvdW5kCisJCSAqIHRvIHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyB0aGUgZmFsbGJhY2suCisJCSAqLworCQlpZiAoZXJybm8gPT0gRUFDQ0VTICYmIGd1ZXNzZWRfbGVuIDwgUEFUSF9NQVgpCisJCQljb250aW51ZTsKKwogCQlpZiAoZXJybm8gIT0gRVJBTkdFKQogCQkJYnJlYWs7CiAJfQpAQCAtNDcyLDYgKzQ3Niw3IEBACiAJLyogVHJhbnNsYXRlIHNsb3BidWYgdG8gTlVMTCwgYXMgd2UgY2Fubm90IGNhbGwgcmVhbGxvYyBvbiBpdCAqLwogCWlmICghc2ItPmFsbG9jKQogCQlzYi0+YnVmID0gTlVMTDsKKwllcnJubyA9IDA7CiAJciA9IGdldGRlbGltKCZzYi0+YnVmLCAmc2ItPmFsbG9jLCB0ZXJtLCBmcCk7CiAKIAlpZiAociA+IDApIHsKQEAgLTc3NCwxNCArNzc5LDQ3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotdm9pZCBzdHJidWZfYWRkZnRpbWUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKmZtdCwgY29uc3Qgc3RydWN0IHRtICp0bSkKK3ZvaWQgc3RyYnVmX2FkZGZ0aW1lKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpmbXQsIGNvbnN0IHN0cnVjdCB0bSAqdG0sCisJCSAgICAgaW50IHR6X29mZnNldCwgaW50IHN1cHByZXNzX3R6X25hbWUpCiB7CisJc3RydWN0IHN0cmJ1ZiBtdW5nZWRfZm10ID0gU1RSQlVGX0lOSVQ7CiAJc2l6ZV90IGhpbnQgPSAxMjg7CiAJc2l6ZV90IGxlbjsKIAogCWlmICghKmZtdCkKIAkJcmV0dXJuOwogCisJLyoKKwkgKiBUaGVyZSBpcyBubyBwb3J0YWJsZSB3YXkgdG8gcGFzcyB0aW1lem9uZSBpbmZvcm1hdGlvbiB0bworCSAqIHN0cmZ0aW1lLCBzbyB3ZSBoYW5kbGUgJXogYW5kICVaIGhlcmUuCisJICovCisJZm9yICg7OykgeworCQljb25zdCBjaGFyICpwZXJjZW50ID0gc3RyY2hybnVsKGZtdCwgJyUnKTsKKwkJc3RyYnVmX2FkZCgmbXVuZ2VkX2ZtdCwgZm10LCBwZXJjZW50IC0gZm10KTsKKwkJaWYgKCEqcGVyY2VudCkKKwkJCWJyZWFrOworCQlmbXQgPSBwZXJjZW50ICsgMTsKKwkJc3dpdGNoICgqZm10KSB7CisJCWNhc2UgJyUnOgorCQkJc3RyYnVmX2FkZHN0cigmbXVuZ2VkX2ZtdCwgIiUlIik7CisJCQlmbXQrKzsKKwkJCWJyZWFrOworCQljYXNlICd6JzoKKwkJCXN0cmJ1Zl9hZGRmKCZtdW5nZWRfZm10LCAiJSswNWQiLCB0el9vZmZzZXQpOworCQkJZm10Kys7CisJCQlicmVhazsKKwkJY2FzZSAnWic6CisJCQlpZiAoc3VwcHJlc3NfdHpfbmFtZSkgeworCQkJCWZtdCsrOworCQkJCWJyZWFrOworCQkJfQorCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJZGVmYXVsdDoKKwkJCXN0cmJ1Zl9hZGRjaCgmbXVuZ2VkX2ZtdCwgJyUnKTsKKwkJfQorCX0KKwlmbXQgPSBtdW5nZWRfZm10LmJ1ZjsKKwogCXN0cmJ1Zl9ncm93KHNiLCBoaW50KTsKIAlsZW4gPSBzdHJmdGltZShzYi0+YnVmICsgc2ItPmxlbiwgc2ItPmFsbG9jIC0gc2ItPmxlbiwgZm10LCB0bSk7CiAKQEAgLTc5MywxNyArODMxLDE2IEBACiAJCSAqIG91dHB1dCBjb250YWlucyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBhbmQgdGhlbiBkcm9wIHRoZSBleHRyYQogCQkgKiBjaGFyYWN0ZXIgYmVmb3JlIHJldHVybmluZy4KIAkJICovCi0JCXN0cnVjdCBzdHJidWYgbXVuZ2VkX2ZtdCA9IFNUUkJVRl9JTklUOwotCQlzdHJidWZfYWRkZigmbXVuZ2VkX2ZtdCwgIiVzICIsIGZtdCk7CisJCXN0cmJ1Zl9hZGRjaCgmbXVuZ2VkX2ZtdCwgJyAnKTsKIAkJd2hpbGUgKCFsZW4pIHsKIAkJCWhpbnQgKj0gMjsKIAkJCXN0cmJ1Zl9ncm93KHNiLCBoaW50KTsKIAkJCWxlbiA9IHN0cmZ0aW1lKHNiLT5idWYgKyBzYi0+bGVuLCBzYi0+YWxsb2MgLSBzYi0+bGVuLAogCQkJCSAgICAgICBtdW5nZWRfZm10LmJ1ZiwgdG0pOwogCQl9Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZtdW5nZWRfZm10KTsKIAkJbGVuLS07IC8qIGRyb3AgbXVuZ2VkIHNwYWNlICovCiAJfQorCXN0cmJ1Zl9yZWxlYXNlKCZtdW5nZWRfZm10KTsKIAlzdHJidWZfc2V0bGVuKHNiLCBzYi0+bGVuICsgbGVuKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3RyYnVmLmggYi9zdHJidWYuaAppbmRleCA4MDA0N2IxLi43NDk2Y2I4IDEwMDY0NAotLS0gYS9zdHJidWYuaAorKysgYi9zdHJidWYuaApAQCAtNjgsNyArNjgsNyBAQAogfTsKIAogZXh0ZXJuIGNoYXIgc3RyYnVmX3Nsb3BidWZbXTsKLSNkZWZpbmUgU1RSQlVGX0lOSVQgIHsgMCwgMCwgc3RyYnVmX3Nsb3BidWYgfQorI2RlZmluZSBTVFJCVUZfSU5JVCAgeyAuYWxsb2MgPSAwLCAubGVuID0gMCwgLmJ1ZiA9IHN0cmJ1Zl9zbG9wYnVmIH0KIAogLyoqCiAgKiBMaWZlIEN5Y2xlIEZ1bmN0aW9ucwpAQCAtMTQ3LDcgKzE0NywxMCBAQAogCWlmIChsZW4gPiAoc2ItPmFsbG9jID8gc2ItPmFsbG9jIC0gMSA6IDApKQogCQlkaWUoIkJVRzogc3RyYnVmX3NldGxlbigpIGJleW9uZCBidWZmZXIiKTsKIAlzYi0+bGVuID0gbGVuOwotCXNiLT5idWZbbGVuXSA9ICdcMCc7CisJaWYgKHNiLT5idWYgIT0gc3RyYnVmX3Nsb3BidWYpCisJCXNiLT5idWZbbGVuXSA9ICdcMCc7CisJZWxzZQorCQlhc3NlcnQoIXN0cmJ1Zl9zbG9wYnVmWzBdKTsKIH0KIAogLyoqCkBAIC0yNjQsMTIgKzI2Nyw2IEBACiBleHRlcm4gdm9pZCBzdHJidWZfYWRkYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpzYjIpOwogCiAvKioKLSAqIENvcHkgcGFydCBvZiB0aGUgYnVmZmVyIGZyb20gYSBnaXZlbiBwb3NpdGlvbiB0aWxsIGEgZ2l2ZW4gbGVuZ3RoIHRvIHRoZQotICogZW5kIG9mIHRoZSBidWZmZXIuCi0gKi8KLWV4dGVybiB2b2lkIHN0cmJ1Zl9hZGRkdXAoc3RydWN0IHN0cmJ1ZiAqc2IsIHNpemVfdCBwb3MsIHNpemVfdCBsZW4pOwotCi0vKioKICAqIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXhwYW5kIGEgZm9ybWF0IHN0cmluZyBjb250YWluaW5nCiAgKiBwbGFjZWhvbGRlcnMuIFRvIHRoYXQgZW5kLCBpdCBwYXJzZXMgdGhlIHN0cmluZyBhbmQgY2FsbHMgdGhlIHNwZWNpZmllZAogICogZnVuY3Rpb24gZm9yIGV2ZXJ5IHBlcmNlbnQgc2lnbiBmb3VuZC4KQEAgLTM0MCw4ICszMzcsMTUgQEAKIAogLyoqCiAgKiBBZGQgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IGB0bWAsIGFzIGZvcm1hdHRlZCBieSBgc3RyZnRpbWVgLgorICogYHR6X29mZnNldGAgaXMgaW4gZGVjaW1hbCBoaG1tIGZvcm1hdCwgZS5nLiAtNjAwIG1lYW5zIHNpeCBob3VycyB3ZXN0CisgKiBvZiBHcmVlbndpY2gsIGFuZCBpdCdzIHVzZWQgdG8gZXhwYW5kICV6IGludGVybmFsbHkuICBIb3dldmVyLCB0b2tlbnMKKyAqIHdpdGggbW9kaWZpZXJzIChlLmcuICVFeikgYXJlIHBhc3NlZCB0byBgc3RyZnRpbWVgLgorICogYHN1cHByZXNzX3R6X25hbWVgLCB3aGVuIHNldCwgZXhwYW5kcyAlWiBpbnRlcm5hbGx5IHRvIHRoZSBlbXB0eQorICogc3RyaW5nIHJhdGhlciB0aGFuIHBhc3NpbmcgaXQgdG8gYHN0cmZ0aW1lYC4KICAqLwotZXh0ZXJuIHZvaWQgc3RyYnVmX2FkZGZ0aW1lKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpmbXQsIGNvbnN0IHN0cnVjdCB0bSAqdG0pOworZXh0ZXJuIHZvaWQgc3RyYnVmX2FkZGZ0aW1lKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpmbXQsCisJCQkgICAgY29uc3Qgc3RydWN0IHRtICp0bSwgaW50IHR6X29mZnNldCwKKwkJCSAgICBpbnQgc3VwcHJlc3NfdHpfbmFtZSk7CiAKIC8qKgogICogUmVhZCBhIGdpdmVuIHNpemUgb2YgZGF0YSBmcm9tIGEgRklMRSogcG9pbnRlciB0byB0aGUgYnVmZmVyLgpkaWZmIC0tZ2l0IGEvc3RyZWFtaW5nLmMgYi9zdHJlYW1pbmcuYwppbmRleCA5YWZhNjZiLi41ODkyYjUwIDEwMDY0NAotLS0gYS9zdHJlYW1pbmcuYworKysgYi9zdHJlYW1pbmcuYwpAQCAtMyw2ICszLDcgQEAKICAqLwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAic3RyZWFtaW5nLmgiCisjaW5jbHVkZSAicGFja2ZpbGUuaCIKIAogZW51bSBpbnB1dF9zb3VyY2UgewogCXN0cmVhbV9lcnJvciA9IC0xLApAQCAtNTM5LDcgKzU0MCw3IEBACiAJCQlrZXB0ID0gMDsKIAkJd3JvdGUgPSB3cml0ZV9pbl9mdWxsKGZkLCBidWYsIHJlYWRsZW4pOwogCi0JCWlmICh3cm90ZSAhPSByZWFkbGVuKQorCQlpZiAod3JvdGUgPCAwKQogCQkJZ290byBjbG9zZV9hbmRfZXhpdDsKIAl9CiAJaWYgKGtlcHQgJiYgKGxzZWVrKGZkLCBrZXB0IC0gMSwgU0VFS19DVVIpID09IChvZmZfdCkgLTEgfHwKZGlmZiAtLWdpdCBhL3N0cmluZy1saXN0LmMgYi9zdHJpbmctbGlzdC5jCmluZGV4IDQ1MDE2YWQuLjgwNmI0YzggMTAwNjQ0Ci0tLSBhL3N0cmluZy1saXN0LmMKKysrIGIvc3RyaW5nLWxpc3QuYwpAQCAtNDEsMTQgKzQxLDEwIEBACiAJaWYgKGV4YWN0X21hdGNoKQogCQlyZXR1cm4gLTEgLSBpbmRleDsKIAotCWlmIChsaXN0LT5uciArIDEgPj0gbGlzdC0+YWxsb2MpIHsKLQkJbGlzdC0+YWxsb2MgKz0gMzI7Ci0JCVJFQUxMT0NfQVJSQVkobGlzdC0+aXRlbXMsIGxpc3QtPmFsbG9jKTsKLQl9CisJQUxMT0NfR1JPVyhsaXN0LT5pdGVtcywgbGlzdC0+bnIrMSwgbGlzdC0+YWxsb2MpOwogCWlmIChpbmRleCA8IGxpc3QtPm5yKQotCQltZW1tb3ZlKGxpc3QtPml0ZW1zICsgaW5kZXggKyAxLCBsaXN0LT5pdGVtcyArIGluZGV4LAotCQkJCShsaXN0LT5uciAtIGluZGV4KQotCQkJCSogc2l6ZW9mKHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtKSk7CisJCU1PVkVfQVJSQVkobGlzdC0+aXRlbXMgKyBpbmRleCArIDEsIGxpc3QtPml0ZW1zICsgaW5kZXgsCisJCQkgICBsaXN0LT5uciAtIGluZGV4KTsKIAlsaXN0LT5pdGVtc1tpbmRleF0uc3RyaW5nID0gbGlzdC0+c3RyZHVwX3N0cmluZ3MgPwogCQl4c3RyZHVwKHN0cmluZykgOiAoY2hhciAqKXN0cmluZzsKIAlsaXN0LT5pdGVtc1tpbmRleF0udXRpbCA9IE5VTEw7CkBAIC02Nyw2ICs2MywyMyBAQAogCXJldHVybiBsaXN0LT5pdGVtcyArIGluZGV4OwogfQogCit2b2lkIHN0cmluZ19saXN0X3JlbW92ZShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGNvbnN0IGNoYXIgKnN0cmluZywKKwkJCWludCBmcmVlX3V0aWwpCit7CisJaW50IGV4YWN0X21hdGNoOworCWludCBpID0gZ2V0X2VudHJ5X2luZGV4KGxpc3QsIHN0cmluZywgJmV4YWN0X21hdGNoKTsKKworCWlmIChleGFjdF9tYXRjaCkgeworCQlpZiAobGlzdC0+c3RyZHVwX3N0cmluZ3MpCisJCQlmcmVlKGxpc3QtPml0ZW1zW2ldLnN0cmluZyk7CisJCWlmIChmcmVlX3V0aWwpCisJCQlmcmVlKGxpc3QtPml0ZW1zW2ldLnV0aWwpOworCisJCWxpc3QtPm5yLS07CisJCU1PVkVfQVJSQVkobGlzdC0+aXRlbXMgKyBpLCBsaXN0LT5pdGVtcyArIGkgKyAxLCBsaXN0LT5uciAtIGkpOworCX0KK30KKwogaW50IHN0cmluZ19saXN0X2hhc19zdHJpbmcoY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBjb25zdCBjaGFyICpzdHJpbmcpCiB7CiAJaW50IGV4YWN0X21hdGNoOwpkaWZmIC0tZ2l0IGEvc3RyaW5nLWxpc3QuaCBiL3N0cmluZy1saXN0LmgKaW5kZXggZDM4MDlhMS4uZmY4ZjYwOSAxMDA2NDQKLS0tIGEvc3RyaW5nLWxpc3QuaAorKysgYi9zdHJpbmctbGlzdC5oCkBAIC0xLDYgKzEsNjkgQEAKICNpZm5kZWYgU1RSSU5HX0xJU1RfSAogI2RlZmluZSBTVFJJTkdfTElTVF9ICiAKKy8qKgorICogVGhlIHN0cmluZ19saXN0IEFQSSBvZmZlcnMgYSBkYXRhIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25zIHRvIGhhbmRsZQorICogc29ydGVkIGFuZCB1bnNvcnRlZCBhcnJheXMgb2Ygc3RyaW5ncy4gIEEgInNvcnRlZCIgbGlzdCBpcyBvbmUgd2hvc2UKKyAqIGVudHJpZXMgYXJlIHNvcnRlZCBieSBzdHJpbmcgdmFsdWUgaW4gYHN0cmNtcCgpYCBvcmRlci4KKyAqCisgKiBUaGUgY2FsbGVyOgorICoKKyAqIC4gQWxsb2NhdGVzIGFuZCBjbGVhcnMgYSBgc3RydWN0IHN0cmluZ19saXN0YCB2YXJpYWJsZS4KKyAqCisgKiAuIEluaXRpYWxpemVzIHRoZSBtZW1iZXJzLiBZb3UgbWlnaHQgd2FudCB0byBzZXQgdGhlIGZsYWcgYHN0cmR1cF9zdHJpbmdzYAorICogICBpZiB0aGUgc3RyaW5ncyBzaG91bGQgYmUgc3RyZHVwKCllZC4gRm9yIGV4YW1wbGUsIHRoaXMgaXMgbmVjZXNzYXJ5CisgKiAgIHdoZW4geW91IGFkZCBzb21ldGhpbmcgbGlrZSBnaXRfcGF0aCgiLi4uIiksIHNpbmNlIHRoYXQgZnVuY3Rpb24gcmV0dXJucworICogICBhIHN0YXRpYyBidWZmZXIgdGhhdCB3aWxsIGNoYW5nZSB3aXRoIHRoZSBuZXh0IGNhbGwgdG8gZ2l0X3BhdGgoKS4KKyAqCisgKiBJZiB5b3UgbmVlZCBzb21ldGhpbmcgYWR2YW5jZWQsIHlvdSBjYW4gbWFudWFsbHkgbWFsbG9jKCkgdGhlIGBpdGVtc2AKKyAqIG1lbWJlciAoeW91IG5lZWQgdGhpcyBpZiB5b3UgYWRkIHRoaW5ncyBsYXRlcikgYW5kIHlvdSBzaG91bGQgc2V0IHRoZQorICogYG5yYCBhbmQgYGFsbG9jYCBtZW1iZXJzIGluIHRoYXQgY2FzZSwgdG9vLgorICoKKyAqIC4gQWRkcyBuZXcgaXRlbXMgdG8gdGhlIGxpc3QsIHVzaW5nIGBzdHJpbmdfbGlzdF9hcHBlbmRgLAorICogICBgc3RyaW5nX2xpc3RfYXBwZW5kX25vZHVwYCwgYHN0cmluZ19saXN0X2luc2VydGAsCisgKiAgIGBzdHJpbmdfbGlzdF9zcGxpdGAsIGFuZC9vciBgc3RyaW5nX2xpc3Rfc3BsaXRfaW5fcGxhY2VgLgorICoKKyAqIC4gQ2FuIGNoZWNrIGlmIGEgc3RyaW5nIGlzIGluIHRoZSBsaXN0IHVzaW5nIGBzdHJpbmdfbGlzdF9oYXNfc3RyaW5nYCBvcgorICogICBgdW5zb3J0ZWRfc3RyaW5nX2xpc3RfaGFzX3N0cmluZ2AgYW5kIGdldCBpdCBmcm9tIHRoZSBsaXN0IHVzaW5nCisgKiAgIGBzdHJpbmdfbGlzdF9sb29rdXBgIGZvciBzb3J0ZWQgbGlzdHMuCisgKgorICogLiBDYW4gc29ydCBhbiB1bnNvcnRlZCBsaXN0IHVzaW5nIGBzdHJpbmdfbGlzdF9zb3J0YC4KKyAqCisgKiAuIENhbiByZW1vdmUgZHVwbGljYXRlIGl0ZW1zIGZyb20gYSBzb3J0ZWQgbGlzdCB1c2luZworICogICBgc3RyaW5nX2xpc3RfcmVtb3ZlX2R1cGxpY2F0ZXNgLgorICoKKyAqIC4gQ2FuIHJlbW92ZSBpbmRpdmlkdWFsIGl0ZW1zIG9mIGFuIHVuc29ydGVkIGxpc3QgdXNpbmcKKyAqICAgYHVuc29ydGVkX3N0cmluZ19saXN0X2RlbGV0ZV9pdGVtYC4KKyAqCisgKiAuIENhbiByZW1vdmUgaXRlbXMgbm90IG1hdGNoaW5nIGEgY3JpdGVyaW9uIGZyb20gYSBzb3J0ZWQgb3IgdW5zb3J0ZWQKKyAqICAgbGlzdCB1c2luZyBgZmlsdGVyX3N0cmluZ19saXN0YCwgb3IgcmVtb3ZlIGVtcHR5IHN0cmluZ3MgdXNpbmcKKyAqICAgYHN0cmluZ19saXN0X3JlbW92ZV9lbXB0eV9pdGVtc2AuCisgKgorICogLiBGaW5hbGx5IGl0IHNob3VsZCBmcmVlIHRoZSBsaXN0IHVzaW5nIGBzdHJpbmdfbGlzdF9jbGVhcmAuCisgKgorICogRXhhbXBsZToKKyAqCisgKiAgICAgc3RydWN0IHN0cmluZ19saXN0IGxpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworICogICAgIGludCBpOworICoKKyAqICAgICBzdHJpbmdfbGlzdF9hcHBlbmQoJmxpc3QsICJmb28iKTsKKyAqICAgICBzdHJpbmdfbGlzdF9hcHBlbmQoJmxpc3QsICJiYXIiKTsKKyAqICAgICBmb3IgKGkgPSAwOyBpIDwgbGlzdC5ucjsgaSsrKQorICogICAgICAgICAgICAgcHJpbnRmKCIlc1xuIiwgbGlzdC5pdGVtc1tpXS5zdHJpbmcpCisgKgorICogTk9URTogSXQgaXMgbW9yZSBlZmZpY2llbnQgdG8gYnVpbGQgYW4gdW5zb3J0ZWQgbGlzdCBhbmQgc29ydCBpdAorICogYWZ0ZXJ3YXJkcywgaW5zdGVhZCBvZiBidWlsZGluZyBhIHNvcnRlZCBsaXN0IChgTyhuIGxvZyBuKWAgaW5zdGVhZCBvZgorICogYE8obl4yKWApLgorICoKKyAqIEhvd2V2ZXIsIGlmIHlvdSB1c2UgdGhlIGxpc3QgdG8gY2hlY2sgaWYgYSBjZXJ0YWluIHN0cmluZyB3YXMgYWRkZWQKKyAqIGFscmVhZHksIHlvdSBzaG91bGQgbm90IGRvIHRoYXQgKHVzaW5nIHVuc29ydGVkX3N0cmluZ19saXN0X2hhc19zdHJpbmcoKSksCisgKiBiZWNhdXNlIHRoZSBjb21wbGV4aXR5IHdvdWxkIGJlIHF1YWRyYXRpYyBhZ2FpbiAoYnV0IHdpdGggYSB3b3JzZSBmYWN0b3IpLgorICovCisKKy8qKgorICogUmVwcmVzZW50cyBhbiBpdGVtIG9mIHRoZSBsaXN0LiBUaGUgYHN0cmluZ2AgbWVtYmVyIGlzIGEgcG9pbnRlciB0byB0aGUKKyAqIHN0cmluZywgYW5kIHlvdSBtYXkgdXNlIHRoZSBgdXRpbGAgbWVtYmVyIGZvciBhbnkgcHVycG9zZSwgaWYgeW91IHdhbnQuCisgKi8KIHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtIHsKIAljaGFyICpzdHJpbmc7CiAJdm9pZCAqdXRpbDsKQEAgLTgsNiArNzEsMTggQEAKIAogdHlwZWRlZiBpbnQgKCpjb21wYXJlX3N0cmluZ3NfZm4pKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKIAorLyoqCisgKiBSZXByZXNlbnRzIHRoZSBsaXN0IGl0c2VsZi4KKyAqCisgKiAuIFRoZSBhcnJheSBvZiBpdGVtcyBhcmUgYXZhaWxhYmxlIHZpYSB0aGUgYGl0ZW1zYCBtZW1iZXIuCisgKiAuIFRoZSBgbnJgIG1lbWJlciBjb250YWlucyB0aGUgbnVtYmVyIG9mIGl0ZW1zIHN0b3JlZCBpbiB0aGUgbGlzdC4KKyAqIC4gVGhlIGBhbGxvY2AgbWVtYmVyIGlzIHVzZWQgdG8gYXZvaWQgcmVhbGxvY2F0aW5nIGF0IGV2ZXJ5IGluc2VydGlvbi4KKyAqICAgWW91IHNob3VsZCBub3QgdGFtcGVyIHdpdGggaXQuCisgKiAuIFNldHRpbmcgdGhlIGBzdHJkdXBfc3RyaW5nc2AgbWVtYmVyIHRvIDEgd2lsbCBzdHJkdXAoKSB0aGUgc3RyaW5ncworICogICBiZWZvcmUgYWRkaW5nIHRoZW0sIHNlZSBhYm92ZS4KKyAqIC4gVGhlIGBjb21wYXJlX3N0cmluZ3NfZm5gIG1lbWJlciBpcyB1c2VkIHRvIHNwZWNpZnkgYSBjdXN0b20gY29tcGFyZQorICogICBmdW5jdGlvbiwgb3RoZXJ3aXNlIGBzdHJjbXAoKWAgaXMgdXNlZCBhcyB0aGUgZGVmYXVsdCBmdW5jdGlvbi4KKyAqLwogc3RydWN0IHN0cmluZ19saXN0IHsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbXM7CiAJdW5zaWduZWQgaW50IG5yLCBhbGxvYzsKQEAgLTE4LDMzICs5Myw2NSBAQAogI2RlZmluZSBTVFJJTkdfTElTVF9JTklUX05PRFVQIHsgTlVMTCwgMCwgMCwgMCwgTlVMTCB9CiAjZGVmaW5lIFNUUklOR19MSVNUX0lOSVRfRFVQICAgeyBOVUxMLCAwLCAwLCAxLCBOVUxMIH0KIAorLyogR2VuZXJhbCBmdW5jdGlvbnMgd2hpY2ggd29yayB3aXRoIGJvdGggc29ydGVkIGFuZCB1bnNvcnRlZCBsaXN0cy4gKi8KKworLyoqCisgKiBJbml0aWFsaXplIHRoZSBtZW1iZXJzIG9mIHRoZSBzdHJpbmdfbGlzdCwgc2V0IGBzdHJkdXBfc3RyaW5nc2AKKyAqIG1lbWJlciBhY2NvcmRpbmcgdG8gdGhlIHZhbHVlIG9mIHRoZSBzZWNvbmQgcGFyYW1ldGVyLgorICovCiB2b2lkIHN0cmluZ19saXN0X2luaXQoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBpbnQgc3RyZHVwX3N0cmluZ3MpOwogCi12b2lkIHByaW50X3N0cmluZ19saXN0KGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqcCwgY29uc3QgY2hhciAqdGV4dCk7Ci12b2lkIHN0cmluZ19saXN0X2NsZWFyKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwgaW50IGZyZWVfdXRpbCk7Ci0KLS8qIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGNhbGwgYSBjdXN0b20gY2xlYXIgZnVuY3Rpb24gb24gZWFjaCB1dGlsIHBvaW50ZXIgKi8KLS8qIFRoZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSB1dGlsIHBvaW50ZXIgaXMgcGFzc2VkIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgKi8KLXR5cGVkZWYgdm9pZCAoKnN0cmluZ19saXN0X2NsZWFyX2Z1bmNfdCkodm9pZCAqcCwgY29uc3QgY2hhciAqc3RyKTsKLXZvaWQgc3RyaW5nX2xpc3RfY2xlYXJfZnVuYyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIHN0cmluZ19saXN0X2NsZWFyX2Z1bmNfdCBjbGVhcmZ1bmMpOwotCi0vKiBVc2UgdGhpcyBmdW5jdGlvbiBvciB0aGUgbWFjcm8gYmVsb3cgdG8gaXRlcmF0ZSBvdmVyIGVhY2ggaXRlbSAqLworLyoqIENhbGxiYWNrIGZ1bmN0aW9uIHR5cGUgZm9yIGZvcl9lYWNoX3N0cmluZ19saXN0ICovCiB0eXBlZGVmIGludCAoKnN0cmluZ19saXN0X2VhY2hfZnVuY190KShzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqLCB2b2lkICopOwotaW50IGZvcl9lYWNoX3N0cmluZ19saXN0KHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwKLQkJCSBzdHJpbmdfbGlzdF9lYWNoX2Z1bmNfdCwgdm9pZCAqY2JfZGF0YSk7Ci0jZGVmaW5lIGZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSxsaXN0KSBcCi0JZm9yIChpdGVtID0gKGxpc3QpLT5pdGVtczsgaXRlbSA8IChsaXN0KS0+aXRlbXMgKyAobGlzdCktPm5yOyArK2l0ZW0pCiAKLS8qCi0gKiBBcHBseSB3YW50IHRvIGVhY2ggaXRlbSBpbiBsaXN0LCByZXRhaW5pbmcgb25seSB0aGUgb25lcyBmb3Igd2hpY2gKLSAqIHRoZSBmdW5jdGlvbiByZXR1cm5zIHRydWUuICBJZiBmcmVlX3V0aWwgaXMgdHJ1ZSwgY2FsbCBmcmVlKCkgb24KKy8qKgorICogQXBwbHkgYHdhbnRgIHRvIGVhY2ggaXRlbSBpbiBgbGlzdGAsIHJldGFpbmluZyBvbmx5IHRoZSBvbmVzIGZvciB3aGljaAorICogdGhlIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZS4gIElmIGBmcmVlX3V0aWxgIGlzIHRydWUsIGNhbGwgZnJlZSgpIG9uCiAgKiB0aGUgdXRpbCBtZW1iZXJzIG9mIGFueSBpdGVtcyB0aGF0IGhhdmUgdG8gYmUgZGVsZXRlZC4gIFByZXNlcnZlCiAgKiB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zIHRoYXQgYXJlIHJldGFpbmVkLgogICovCiB2b2lkIGZpbHRlcl9zdHJpbmdfbGlzdChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGludCBmcmVlX3V0aWwsCiAJCQlzdHJpbmdfbGlzdF9lYWNoX2Z1bmNfdCB3YW50LCB2b2lkICpjYl9kYXRhKTsKIAotLyoKKy8qKgorICogRHVtcCBhIHN0cmluZ19saXN0IHRvIHN0ZG91dCwgdXNlZnVsIG1haW5seSBmb3IgZGVidWdnaW5nCisgKiBwdXJwb3Nlcy4gSXQgY2FuIHRha2UgYW4gb3B0aW9uYWwgaGVhZGVyIGFyZ3VtZW50IGFuZCBpdCB3cml0ZXMgb3V0CisgKiB0aGUgc3RyaW5nLXBvaW50ZXIgcGFpcnMgb2YgdGhlIHN0cmluZ19saXN0LCBlYWNoIG9uZSBpbiBpdHMgb3duCisgKiBsaW5lLgorICovCit2b2lkIHByaW50X3N0cmluZ19saXN0KGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqcCwgY29uc3QgY2hhciAqdGV4dCk7CisKKy8qKgorICogRnJlZSBhIHN0cmluZ19saXN0LiBUaGUgYHN0cmluZ2AgcG9pbnRlciBvZiB0aGUgaXRlbXMgd2lsbCBiZSBmcmVlZAorICogaW4gY2FzZSB0aGUgYHN0cmR1cF9zdHJpbmdzYCBtZW1iZXIgb2YgdGhlIHN0cmluZ19saXN0IGlzIHNldC4gVGhlCisgKiBzZWNvbmQgcGFyYW1ldGVyIGNvbnRyb2xzIGlmIHRoZSBgdXRpbGAgcG9pbnRlciBvZiB0aGUgaXRlbXMgc2hvdWxkCisgKiBiZSBmcmVlZCBvciBub3QuCisgKi8KK3ZvaWQgc3RyaW5nX2xpc3RfY2xlYXIoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBpbnQgZnJlZV91dGlsKTsKKworLyoqCisgKiBDYWxsYmFjayB0eXBlIGZvciBgc3RyaW5nX2xpc3RfY2xlYXJfZnVuY2AuICBUaGUgc3RyaW5nIGFzc29jaWF0ZWQKKyAqIHdpdGggdGhlIHV0aWwgcG9pbnRlciBpcyBwYXNzZWQgYXMgdGhlIHNlY29uZCBhcmd1bWVudAorICovCit0eXBlZGVmIHZvaWQgKCpzdHJpbmdfbGlzdF9jbGVhcl9mdW5jX3QpKHZvaWQgKnAsIGNvbnN0IGNoYXIgKnN0cik7CisKKy8qKiBDYWxsIGEgY3VzdG9tIGNsZWFyIGZ1bmN0aW9uIG9uIGVhY2ggdXRpbCBwb2ludGVyICovCit2b2lkIHN0cmluZ19saXN0X2NsZWFyX2Z1bmMoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBzdHJpbmdfbGlzdF9jbGVhcl9mdW5jX3QgY2xlYXJmdW5jKTsKKworLyoqCisgKiBBcHBseSBgZnVuY2AgdG8gZWFjaCBpdGVtLiBJZiBgZnVuY2AgcmV0dXJucyBub256ZXJvLCB0aGUKKyAqIGl0ZXJhdGlvbiBhYm9ydHMgYW5kIHRoZSByZXR1cm4gdmFsdWUgaXMgcHJvcGFnYXRlZC4KKyAqLworaW50IGZvcl9lYWNoX3N0cmluZ19saXN0KHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwKKwkJCSBzdHJpbmdfbGlzdF9lYWNoX2Z1bmNfdCBmdW5jLCB2b2lkICpjYl9kYXRhKTsKKworLyoqIEl0ZXJhdGUgb3ZlciBlYWNoIGl0ZW0sIGFzIGEgbWFjcm8uICovCisjZGVmaW5lIGZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSxsaXN0KSAgICAgICAgICAgIFwKKwlmb3IgKGl0ZW0gPSAobGlzdCktPml0ZW1zOyAgICAgICAgICAgICAgICAgICAgICBcCisJICAgICBpdGVtICYmIGl0ZW0gPCAobGlzdCktPml0ZW1zICsgKGxpc3QpLT5ucjsgXAorCSAgICAgKytpdGVtKQorCisvKioKICAqIFJlbW92ZSBhbnkgZW1wdHkgc3RyaW5ncyBmcm9tIHRoZSBsaXN0LiAgSWYgZnJlZV91dGlsIGlzIHRydWUsIGNhbGwKICAqIGZyZWUoKSBvbiB0aGUgdXRpbCBtZW1iZXJzIG9mIGFueSBpdGVtcyB0aGF0IGhhdmUgdG8gYmUgZGVsZXRlZC4KICAqIFByZXNlcnZlIHRoZSBvcmRlciBvZiB0aGUgaXRlbXMgdGhhdCBhcmUgcmV0YWluZWQuCkBAIC01MiwxOCArMTU5LDM0IEBACiB2b2lkIHN0cmluZ19saXN0X3JlbW92ZV9lbXB0eV9pdGVtcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGludCBmcmVlX3V0aWwpOwogCiAvKiBVc2UgdGhlc2UgZnVuY3Rpb25zIG9ubHkgb24gc29ydGVkIGxpc3RzOiAqLworCisvKiogRGV0ZXJtaW5lIGlmIHRoZSBzdHJpbmdfbGlzdCBoYXMgYSBnaXZlbiBzdHJpbmcgb3Igbm90LiAqLwogaW50IHN0cmluZ19saXN0X2hhc19zdHJpbmcoY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBjb25zdCBjaGFyICpzdHJpbmcpOwogaW50IHN0cmluZ19saXN0X2ZpbmRfaW5zZXJ0X2luZGV4KGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwgY29uc3QgY2hhciAqc3RyaW5nLAogCQkJCSAgaW50IG5lZ2F0aXZlX2V4aXN0aW5nX2luZGV4KTsKLS8qCi0gKiBJbnNlcnRzIHRoZSBnaXZlbiBzdHJpbmcgaW50byB0aGUgc29ydGVkIGxpc3QuCi0gKiBJZiB0aGUgc3RyaW5nIGFscmVhZHkgZXhpc3RzLCB0aGUgbGlzdCBpcyBub3QgYWx0ZXJlZC4KLSAqIFJldHVybnMgdGhlIHN0cmluZ19saXN0X2l0ZW0sIHRoZSBzdHJpbmcgaXMgcGFydCBvZi4KKworLyoqCisgKiBJbnNlcnQgYSBuZXcgZWxlbWVudCB0byB0aGUgc3RyaW5nX2xpc3QuIFRoZSByZXR1cm5lZCBwb2ludGVyIGNhbgorICogYmUgaGFuZHkgaWYgeW91IHdhbnQgdG8gd3JpdGUgc29tZXRoaW5nIHRvIHRoZSBgdXRpbGAgcG9pbnRlciBvZgorICogdGhlIHN0cmluZ19saXN0X2l0ZW0gY29udGFpbmluZyB0aGUganVzdCBhZGRlZCBzdHJpbmcuIElmIHRoZSBnaXZlbgorICogc3RyaW5nIGFscmVhZHkgZXhpc3RzIHRoZSBpbnNlcnRpb24gd2lsbCBiZSBza2lwcGVkIGFuZCB0aGUgcG9pbnRlcgorICogdG8gdGhlIGV4aXN0aW5nIGl0ZW0gcmV0dXJuZWQuCisgKgorICogU2luY2UgdGhpcyBmdW5jdGlvbiB1c2VzIHhyZWFsbG9jKCkgKHdoaWNoIGRpZSgpcyBpZiBpdCBmYWlscykgaWYgdGhlCisgKiBsaXN0IG5lZWRzIHRvIGdyb3csIGl0IGlzIHNhZmUgbm90IHRvIGNoZWNrIHRoZSBwb2ludGVyLiBJLmUuIHlvdSBtYXkKKyAqIHdyaXRlIGBzdHJpbmdfbGlzdF9pbnNlcnQoLi4uKS0+dXRpbCA9IC4uLjtgLgogICovCiBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqc3RyaW5nX2xpc3RfaW5zZXJ0KHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwgY29uc3QgY2hhciAqc3RyaW5nKTsKIAotLyoKLSAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gc3RyaW5nIGlzIHBhcnQgb2YgYSBzb3J0ZWQgbGlzdC4gSWYgaXQgaXMgcGFydCBvZiB0aGUgbGlzdCwKKy8qKgorICogUmVtb3ZlIHRoZSBnaXZlbiBzdHJpbmcgZnJvbSB0aGUgc29ydGVkIGxpc3QuICBJZiB0aGUgc3RyaW5nCisgKiBkb2Vzbid0IGV4aXN0LCB0aGUgbGlzdCBpcyBub3QgYWx0ZXJlZC4KKyAqLworZXh0ZXJuIHZvaWQgc3RyaW5nX2xpc3RfcmVtb3ZlKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwgY29uc3QgY2hhciAqc3RyaW5nLAorCQkJICAgICAgIGludCBmcmVlX3V0aWwpOworCisvKioKKyAqIENoZWNrIGlmIHRoZSBnaXZlbiBzdHJpbmcgaXMgcGFydCBvZiBhIHNvcnRlZCBsaXN0LiBJZiBpdCBpcyBwYXJ0IG9mIHRoZSBsaXN0LAogICogcmV0dXJuIHRoZSBjb3Jlc3BvbmRpbmcgc3RyaW5nX2xpc3RfaXRlbSwgTlVMTCBvdGhlcndpc2UuCiAgKi8KIHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpzdHJpbmdfbGlzdF9sb29rdXAoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBjb25zdCBjaGFyICpzdHJpbmcpOwpAQCAtNzgsMTQgKzIwMSwxNCBAQAogCiAvKiBVc2UgdGhlc2UgZnVuY3Rpb25zIG9ubHkgb24gdW5zb3J0ZWQgbGlzdHM6ICovCiAKLS8qCisvKioKICAqIEFkZCBzdHJpbmcgdG8gdGhlIGVuZCBvZiBsaXN0LiAgSWYgbGlzdC0+c3RyZHVwX3N0cmluZyBpcyBzZXQsIHRoZW4KICAqIHN0cmluZyBpcyBjb3BpZWQ7IG90aGVyd2lzZSB0aGUgbmV3IHN0cmluZ19saXN0X2VudHJ5IHJlZmVycyB0byB0aGUKICAqIGlucHV0IHN0cmluZy4KICAqLwogc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnN0cmluZ19saXN0X2FwcGVuZChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGNvbnN0IGNoYXIgKnN0cmluZyk7CiAKLS8qCisvKioKICAqIExpa2Ugc3RyaW5nX2xpc3RfYXBwZW5kKCksIGV4Y2VwdCBzdHJpbmcgaXMgbmV2ZXIgY29waWVkLiAgV2hlbgogICogbGlzdC0+c3RyZHVwX3N0cmluZ3MgaXMgc2V0LCB0aGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGhhbmQKICAqIG93bmVyc2hpcCBvZiBhIG1hbGxvYygpZWQgc3RyaW5nIHRvIGxpc3Qgd2l0aG91dCBtYWtpbmcgYW4gZXh0cmEKQEAgLTkzLDE2ICsyMTYsMzQgQEAKICAqLwogc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnN0cmluZ19saXN0X2FwcGVuZF9ub2R1cChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGNoYXIgKnN0cmluZyk7CiAKKy8qKgorICogU29ydCB0aGUgbGlzdCdzIGVudHJpZXMgYnkgc3RyaW5nIHZhbHVlIGluIGBzdHJjbXAoKWAgb3JkZXIuCisgKi8KIHZvaWQgc3RyaW5nX2xpc3Rfc29ydChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QpOworCisvKioKKyAqIExpa2UgYHN0cmluZ19saXN0X2hhc19zdHJpbmcoKWAgYnV0IGZvciB1bnNvcnRlZCBsaXN0cy4gTGluZWFyIGluCisgKiBzaXplIG9mIHRoZSBsaXN0LgorICovCiBpbnQgdW5zb3J0ZWRfc3RyaW5nX2xpc3RfaGFzX3N0cmluZyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGNvbnN0IGNoYXIgKnN0cmluZyk7CisKKy8qKgorICogTGlrZSBgc3RyaW5nX2xpc3RfbG9va3VwKClgIGJ1dCBmb3IgdW5zb3J0ZWQgbGlzdHMuIExpbmVhciBpbiBzaXplCisgKiBvZiB0aGUgbGlzdC4KKyAqLwogc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnVuc29ydGVkX3N0cmluZ19saXN0X2xvb2t1cChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsCiAJCQkJCQkgICAgIGNvbnN0IGNoYXIgKnN0cmluZyk7Ci0KKy8qKgorICogUmVtb3ZlIGFuIGl0ZW0gZnJvbSBhIHN0cmluZ19saXN0LiBUaGUgYHN0cmluZ2AgcG9pbnRlciBvZiB0aGUKKyAqIGl0ZW1zIHdpbGwgYmUgZnJlZWQgaW4gY2FzZSB0aGUgYHN0cmR1cF9zdHJpbmdzYCBtZW1iZXIgb2YgdGhlCisgKiBzdHJpbmdfbGlzdCBpcyBzZXQuIFRoZSB0aGlyZCBwYXJhbWV0ZXIgY29udHJvbHMgaWYgdGhlIGB1dGlsYAorICogcG9pbnRlciBvZiB0aGUgaXRlbXMgc2hvdWxkIGJlIGZyZWVkIG9yIG5vdC4KKyAqLwogdm9pZCB1bnNvcnRlZF9zdHJpbmdfbGlzdF9kZWxldGVfaXRlbShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGludCBpLCBpbnQgZnJlZV91dGlsKTsKIAotLyoKLSAqIFNwbGl0IHN0cmluZyBpbnRvIHN1YnN0cmluZ3Mgb24gY2hhcmFjdGVyIGRlbGltIGFuZCBhcHBlbmQgdGhlCi0gKiBzdWJzdHJpbmdzIHRvIGxpc3QuICBUaGUgaW5wdXQgc3RyaW5nIGlzIG5vdCBtb2RpZmllZC4KKy8qKgorICogU3BsaXQgc3RyaW5nIGludG8gc3Vic3RyaW5ncyBvbiBjaGFyYWN0ZXIgYGRlbGltYCBhbmQgYXBwZW5kIHRoZQorICogc3Vic3RyaW5ncyB0byBgbGlzdGAuICBUaGUgaW5wdXQgc3RyaW5nIGlzIG5vdCBtb2RpZmllZC4KICAqIGxpc3QtPnN0cmR1cF9zdHJpbmdzIG11c3QgYmUgc2V0LCBhcyBuZXcgbWVtb3J5IG5lZWRzIHRvIGJlCiAgKiBhbGxvY2F0ZWQgdG8gaG9sZCB0aGUgc3Vic3RyaW5ncy4gIElmIG1heHNwbGl0IGlzIG5vbi1uZWdhdGl2ZSwKICAqIHRoZW4gc3BsaXQgYXQgbW9zdCBtYXhzcGxpdCB0aW1lcy4gIFJldHVybiB0aGUgbnVtYmVyIG9mIHN1YnN0cmluZ3MKZGlmZiAtLWdpdCBhL3N1Yi1wcm9jZXNzLmMgYi9zdWItcHJvY2Vzcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkZGU1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9zdWItcHJvY2Vzcy5jCkBAIC0wLDAgKzEsMjE0IEBACisvKgorICogR2VuZXJpYyBpbXBsZW1lbnRhdGlvbiBvZiBiYWNrZ3JvdW5kIHByb2Nlc3MgaW5mcmFzdHJ1Y3R1cmUuCisgKi8KKyNpbmNsdWRlICJzdWItcHJvY2Vzcy5oIgorI2luY2x1ZGUgInNpZ2NoYWluLmgiCisjaW5jbHVkZSAicGt0LWxpbmUuaCIKKworaW50IGNtZDJwcm9jZXNzX2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCisJCSAgICBjb25zdCB2b2lkICplbnRyeSwKKwkJICAgIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJICAgIGNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKQoreworCWNvbnN0IHN0cnVjdCBzdWJwcm9jZXNzX2VudHJ5ICplMSA9IGVudHJ5OworCWNvbnN0IHN0cnVjdCBzdWJwcm9jZXNzX2VudHJ5ICplMiA9IGVudHJ5X29yX2tleTsKKworCXJldHVybiBzdHJjbXAoZTEtPmNtZCwgZTItPmNtZCk7Cit9CisKK3N0cnVjdCBzdWJwcm9jZXNzX2VudHJ5ICpzdWJwcm9jZXNzX2ZpbmRfZW50cnkoc3RydWN0IGhhc2htYXAgKmhhc2htYXAsIGNvbnN0IGNoYXIgKmNtZCkKK3sKKwlzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSBrZXk7CisKKwloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgc3RyaGFzaChjbWQpKTsKKwlrZXkuY21kID0gY21kOworCXJldHVybiBoYXNobWFwX2dldChoYXNobWFwLCAma2V5LCBOVUxMKTsKK30KKworaW50IHN1YnByb2Nlc3NfcmVhZF9zdGF0dXMoaW50IGZkLCBzdHJ1Y3Qgc3RyYnVmICpzdGF0dXMpCit7CisJc3RydWN0IHN0cmJ1ZiAqKnBhaXI7CisJY2hhciAqbGluZTsKKwlpbnQgbGVuOworCisJZm9yICg7OykgeworCQlsZW4gPSBwYWNrZXRfcmVhZF9saW5lX2dlbnRseShmZCwgTlVMTCwgJmxpbmUpOworCQlpZiAoKGxlbiA8IDApIHx8ICFsaW5lKQorCQkJYnJlYWs7CisJCXBhaXIgPSBzdHJidWZfc3BsaXRfc3RyKGxpbmUsICc9JywgMik7CisJCWlmIChwYWlyWzBdICYmIHBhaXJbMF0tPmxlbiAmJiBwYWlyWzFdKSB7CisJCQkvKiB0aGUgbGFzdCAic3RhdHVzPTxmb28+IiBsaW5lIHdpbnMgKi8KKwkJCWlmICghc3RyY21wKHBhaXJbMF0tPmJ1ZiwgInN0YXR1cz0iKSkgeworCQkJCXN0cmJ1Zl9yZXNldChzdGF0dXMpOworCQkJCXN0cmJ1Zl9hZGRidWYoc3RhdHVzLCBwYWlyWzFdKTsKKwkJCX0KKwkJfQorCQlzdHJidWZfbGlzdF9mcmVlKHBhaXIpOworCX0KKworCXJldHVybiAobGVuIDwgMCkgPyBsZW4gOiAwOworfQorCit2b2lkIHN1YnByb2Nlc3Nfc3RvcChzdHJ1Y3QgaGFzaG1hcCAqaGFzaG1hcCwgc3RydWN0IHN1YnByb2Nlc3NfZW50cnkgKmVudHJ5KQoreworCWlmICghZW50cnkpCisJCXJldHVybjsKKworCWVudHJ5LT5wcm9jZXNzLmNsZWFuX29uX2V4aXQgPSAwOworCWtpbGwoZW50cnktPnByb2Nlc3MucGlkLCBTSUdURVJNKTsKKwlmaW5pc2hfY29tbWFuZCgmZW50cnktPnByb2Nlc3MpOworCisJaGFzaG1hcF9yZW1vdmUoaGFzaG1hcCwgZW50cnksIE5VTEwpOworfQorCitzdGF0aWMgdm9pZCBzdWJwcm9jZXNzX2V4aXRfaGFuZGxlcihzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqcHJvY2VzcykKK3sKKwlzaWdjaGFpbl9wdXNoKFNJR1BJUEUsIFNJR19JR04pOworCS8qIENsb3NpbmcgdGhlIHBpcGUgc2lnbmFscyB0aGUgc3VicHJvY2VzcyB0byBpbml0aWF0ZSBhIHNodXRkb3duLiAqLworCWNsb3NlKHByb2Nlc3MtPmluKTsKKwljbG9zZShwcm9jZXNzLT5vdXQpOworCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKKwkvKiBGaW5pc2ggY29tbWFuZCB3aWxsIHdhaXQgdW50aWwgdGhlIHNodXRkb3duIGlzIGNvbXBsZXRlLiAqLworCWZpbmlzaF9jb21tYW5kKHByb2Nlc3MpOworfQorCitpbnQgc3VicHJvY2Vzc19zdGFydChzdHJ1Y3QgaGFzaG1hcCAqaGFzaG1hcCwgc3RydWN0IHN1YnByb2Nlc3NfZW50cnkgKmVudHJ5LCBjb25zdCBjaGFyICpjbWQsCisJc3VicHJvY2Vzc19zdGFydF9mbiBzdGFydGZuKQoreworCWludCBlcnI7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnByb2Nlc3M7CisJY29uc3QgY2hhciAqYXJndltdID0geyBjbWQsIE5VTEwgfTsKKworCWVudHJ5LT5jbWQgPSBjbWQ7CisJcHJvY2VzcyA9ICZlbnRyeS0+cHJvY2VzczsKKworCWNoaWxkX3Byb2Nlc3NfaW5pdChwcm9jZXNzKTsKKwlwcm9jZXNzLT5hcmd2ID0gYXJndjsKKwlwcm9jZXNzLT51c2Vfc2hlbGwgPSAxOworCXByb2Nlc3MtPmluID0gLTE7CisJcHJvY2Vzcy0+b3V0ID0gLTE7CisJcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdCA9IDE7CisJcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdF9oYW5kbGVyID0gc3VicHJvY2Vzc19leGl0X2hhbmRsZXI7CisKKwllcnIgPSBzdGFydF9jb21tYW5kKHByb2Nlc3MpOworCWlmIChlcnIpIHsKKwkJZXJyb3IoImNhbm5vdCBmb3JrIHRvIHJ1biBzdWJwcm9jZXNzICclcyciLCBjbWQpOworCQlyZXR1cm4gZXJyOworCX0KKworCWhhc2htYXBfZW50cnlfaW5pdChlbnRyeSwgc3RyaGFzaChjbWQpKTsKKworCWVyciA9IHN0YXJ0Zm4oZW50cnkpOworCWlmIChlcnIpIHsKKwkJZXJyb3IoImluaXRpYWxpemF0aW9uIGZvciBzdWJwcm9jZXNzICclcycgZmFpbGVkIiwgY21kKTsKKwkJc3VicHJvY2Vzc19zdG9wKGhhc2htYXAsIGVudHJ5KTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwloYXNobWFwX2FkZChoYXNobWFwLCBlbnRyeSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFuZHNoYWtlX3ZlcnNpb24oc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnByb2Nlc3MsCisJCQkgICAgIGNvbnN0IGNoYXIgKndlbGNvbWVfcHJlZml4LCBpbnQgKnZlcnNpb25zLAorCQkJICAgICBpbnQgKmNob3Nlbl92ZXJzaW9uKQoreworCWludCB2ZXJzaW9uX3NjcmF0Y2g7CisJaW50IGk7CisJY2hhciAqbGluZTsKKwljb25zdCBjaGFyICpwOworCisJaWYgKCFjaG9zZW5fdmVyc2lvbikKKwkJY2hvc2VuX3ZlcnNpb24gPSAmdmVyc2lvbl9zY3JhdGNoOworCisJaWYgKHBhY2tldF93cml0ZV9mbXRfZ2VudGx5KHByb2Nlc3MtPmluLCAiJXMtY2xpZW50XG4iLAorCQkJCSAgICB3ZWxjb21lX3ByZWZpeCkpCisJCXJldHVybiBlcnJvcigiQ291bGQgbm90IHdyaXRlIGNsaWVudCBpZGVudGlmaWNhdGlvbiIpOworCWZvciAoaSA9IDA7IHZlcnNpb25zW2ldOyBpKyspIHsKKwkJaWYgKHBhY2tldF93cml0ZV9mbXRfZ2VudGx5KHByb2Nlc3MtPmluLCAidmVyc2lvbj0lZFxuIiwKKwkJCQkJICAgIHZlcnNpb25zW2ldKSkKKwkJCXJldHVybiBlcnJvcigiQ291bGQgbm90IHdyaXRlIHJlcXVlc3RlZCB2ZXJzaW9uIik7CisJfQorCWlmIChwYWNrZXRfZmx1c2hfZ2VudGx5KHByb2Nlc3MtPmluKSkKKwkJcmV0dXJuIGVycm9yKCJDb3VsZCBub3Qgd3JpdGUgZmx1c2ggcGFja2V0Iik7CisKKwlpZiAoIShsaW5lID0gcGFja2V0X3JlYWRfbGluZShwcm9jZXNzLT5vdXQsIE5VTEwpKSB8fAorCSAgICAhc2tpcF9wcmVmaXgobGluZSwgd2VsY29tZV9wcmVmaXgsICZwKSB8fAorCSAgICBzdHJjbXAocCwgIi1zZXJ2ZXIiKSkKKwkJcmV0dXJuIGVycm9yKCJVbmV4cGVjdGVkIGxpbmUgJyVzJywgZXhwZWN0ZWQgJXMtc2VydmVyIiwKKwkJCSAgICAgbGluZSA/IGxpbmUgOiAiPGZsdXNoIHBhY2tldD4iLCB3ZWxjb21lX3ByZWZpeCk7CisJaWYgKCEobGluZSA9IHBhY2tldF9yZWFkX2xpbmUocHJvY2Vzcy0+b3V0LCBOVUxMKSkgfHwKKwkgICAgIXNraXBfcHJlZml4KGxpbmUsICJ2ZXJzaW9uPSIsICZwKSB8fAorCSAgICBzdHJ0b2xfaShwLCAxMCwgY2hvc2VuX3ZlcnNpb24pKQorCQlyZXR1cm4gZXJyb3IoIlVuZXhwZWN0ZWQgbGluZSAnJXMnLCBleHBlY3RlZCB2ZXJzaW9uIiwKKwkJCSAgICAgbGluZSA/IGxpbmUgOiAiPGZsdXNoIHBhY2tldD4iKTsKKwlpZiAoKGxpbmUgPSBwYWNrZXRfcmVhZF9saW5lKHByb2Nlc3MtPm91dCwgTlVMTCkpKQorCQlyZXR1cm4gZXJyb3IoIlVuZXhwZWN0ZWQgbGluZSAnJXMnLCBleHBlY3RlZCBmbHVzaCIsIGxpbmUpOworCisJLyogQ2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHZlcnNpb24gcmVjZWl2ZWQgaXMgc3VwcG9ydGVkICovCisJZm9yIChpID0gMDsgdmVyc2lvbnNbaV07IGkrKykgeworCQlpZiAodmVyc2lvbnNbaV0gPT0gKmNob3Nlbl92ZXJzaW9uKQorCQkJYnJlYWs7CisJfQorCWlmICghdmVyc2lvbnNbaV0pCisJCXJldHVybiBlcnJvcigiVmVyc2lvbiAlZCBub3Qgc3VwcG9ydGVkIiwgKmNob3Nlbl92ZXJzaW9uKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbmRzaGFrZV9jYXBhYmlsaXRpZXMoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnByb2Nlc3MsCisJCQkJICBzdHJ1Y3Qgc3VicHJvY2Vzc19jYXBhYmlsaXR5ICpjYXBhYmlsaXRpZXMsCisJCQkJICB1bnNpZ25lZCBpbnQgKnN1cHBvcnRlZF9jYXBhYmlsaXRpZXMpCit7CisJaW50IGk7CisJY2hhciAqbGluZTsKKworCWZvciAoaSA9IDA7IGNhcGFiaWxpdGllc1tpXS5uYW1lOyBpKyspIHsKKwkJaWYgKHBhY2tldF93cml0ZV9mbXRfZ2VudGx5KHByb2Nlc3MtPmluLCAiY2FwYWJpbGl0eT0lc1xuIiwKKwkJCQkJICAgIGNhcGFiaWxpdGllc1tpXS5uYW1lKSkKKwkJCXJldHVybiBlcnJvcigiQ291bGQgbm90IHdyaXRlIHJlcXVlc3RlZCBjYXBhYmlsaXR5Iik7CisJfQorCWlmIChwYWNrZXRfZmx1c2hfZ2VudGx5KHByb2Nlc3MtPmluKSkKKwkJcmV0dXJuIGVycm9yKCJDb3VsZCBub3Qgd3JpdGUgZmx1c2ggcGFja2V0Iik7CisKKwl3aGlsZSAoKGxpbmUgPSBwYWNrZXRfcmVhZF9saW5lKHByb2Nlc3MtPm91dCwgTlVMTCkpKSB7CisJCWNvbnN0IGNoYXIgKnA7CisJCWlmICghc2tpcF9wcmVmaXgobGluZSwgImNhcGFiaWxpdHk9IiwgJnApKQorCQkJY29udGludWU7CisKKwkJZm9yIChpID0gMDsKKwkJICAgICBjYXBhYmlsaXRpZXNbaV0ubmFtZSAmJiBzdHJjbXAocCwgY2FwYWJpbGl0aWVzW2ldLm5hbWUpOworCQkgICAgIGkrKykKKwkJCTsKKwkJaWYgKGNhcGFiaWxpdGllc1tpXS5uYW1lKSB7CisJCQlpZiAoc3VwcG9ydGVkX2NhcGFiaWxpdGllcykKKwkJCQkqc3VwcG9ydGVkX2NhcGFiaWxpdGllcyB8PSBjYXBhYmlsaXRpZXNbaV0uZmxhZzsKKwkJfSBlbHNlIHsKKwkJCWRpZSgic3VicHJvY2VzcyAnJXMnIHJlcXVlc3RlZCB1bnN1cHBvcnRlZCBjYXBhYmlsaXR5ICclcyciLAorCQkJICAgIHByb2Nlc3MtPmFyZ3ZbMF0sIHApOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2ludCBzdWJwcm9jZXNzX2hhbmRzaGFrZShzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSAqZW50cnksCisJCQkgY29uc3QgY2hhciAqd2VsY29tZV9wcmVmaXgsCisJCQkgaW50ICp2ZXJzaW9ucywKKwkJCSBpbnQgKmNob3Nlbl92ZXJzaW9uLAorCQkJIHN0cnVjdCBzdWJwcm9jZXNzX2NhcGFiaWxpdHkgKmNhcGFiaWxpdGllcywKKwkJCSB1bnNpZ25lZCBpbnQgKnN1cHBvcnRlZF9jYXBhYmlsaXRpZXMpCit7CisJaW50IHJldHZhbDsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqcHJvY2VzcyA9ICZlbnRyeS0+cHJvY2VzczsKKworCXNpZ2NoYWluX3B1c2goU0lHUElQRSwgU0lHX0lHTik7CisKKwlyZXR2YWwgPSBoYW5kc2hha2VfdmVyc2lvbihwcm9jZXNzLCB3ZWxjb21lX3ByZWZpeCwgdmVyc2lvbnMsCisJCQkJICAgY2hvc2VuX3ZlcnNpb24pIHx8CisJCSBoYW5kc2hha2VfY2FwYWJpbGl0aWVzKHByb2Nlc3MsIGNhcGFiaWxpdGllcywKKwkJCQkJc3VwcG9ydGVkX2NhcGFiaWxpdGllcyk7CisKKwlzaWdjaGFpbl9wb3AoU0lHUElQRSk7CisJcmV0dXJuIHJldHZhbDsKK30KZGlmZiAtLWdpdCBhL3N1Yi1wcm9jZXNzLmggYi9zdWItcHJvY2Vzcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5NzAxOTkKLS0tIC9kZXYvbnVsbAorKysgYi9zdWItcHJvY2Vzcy5oCkBAIC0wLDAgKzEsOTggQEAKKyNpZm5kZWYgU1VCUFJPQ0VTU19ICisjZGVmaW5lIFNVQlBST0NFU1NfSAorCisjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCisjaW5jbHVkZSAiaGFzaG1hcC5oIgorI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCisKKy8qCisgKiBUaGUgc3ViLXByb2Nlc3MgQVBJIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHJ1biBiYWNrZ3JvdW5kIHN1Yi1wcm9jZXNzZXMKKyAqIGZvciB0aGUgZW50aXJlIGxpZmV0aW1lIG9mIGEgR2l0IGludm9jYXRpb24uIElmIEdpdCBuZWVkcyB0byBjb21tdW5pY2F0ZQorICogd2l0aCBhbiBleHRlcm5hbCBwcm9jZXNzIG11bHRpcGxlIHRpbWVzLCB0aGVuIHRoaXMgY2FuIHJlZHVjZXMgdGhlIHByb2Nlc3MKKyAqIGludm9jYXRpb24gb3ZlcmhlYWQuIEdpdCBhbmQgdGhlIHN1Yi1wcm9jZXNzIGNvbW11bmljYXRlIHRocm91Z2ggc3RkaW4gYW5kCisgKiBzdGRvdXQuCisgKgorICogVGhlIHN1Yi1wcm9jZXNzZXMgYXJlIGtlcHQgaW4gYSBoYXNobWFwIGJ5IGNvbW1hbmQgbmFtZSBhbmQgbG9va2VkIHVwCisgKiB2aWEgdGhlIHN1YnByb2Nlc3NfZmluZF9lbnRyeSBmdW5jdGlvbi4gIElmIGFuIGV4aXN0aW5nIGluc3RhbmNlIGNhbiBub3QKKyAqIGJlIGZvdW5kIHRoZW4gYSBuZXcgcHJvY2VzcyBzaG91bGQgYmUgY3JlYXRlZCBhbmQgc3RhcnRlZC4gIFdoZW4gdGhlCisgKiBwYXJlbnQgZ2l0IGNvbW1hbmQgdGVybWluYXRlcywgYWxsIHN1Yi1wcm9jZXNzZXMgYXJlIGFsc28gdGVybWluYXRlZC4KKyAqCisgKiBUaGlzIEFQSSBpcyBiYXNlZCBvbiB0aGUgcnVuLWNvbW1hbmQgQVBJLgorICovCisKKyAvKiBkYXRhIHN0cnVjdHVyZXMgKi8KKworLyogTWVtYmVycyBzaG91bGQgbm90IGJlIGFjY2Vzc2VkIGRpcmVjdGx5LiAqLworc3RydWN0IHN1YnByb2Nlc3NfZW50cnkgeworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsgLyogbXVzdCBiZSB0aGUgZmlyc3QgbWVtYmVyISAqLworCWNvbnN0IGNoYXIgKmNtZDsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBwcm9jZXNzOworfTsKKworc3RydWN0IHN1YnByb2Nlc3NfY2FwYWJpbGl0eSB7CisJY29uc3QgY2hhciAqbmFtZTsKKworCS8qCisJICogc3VicHJvY2Vzc19oYW5kc2hha2Ugd2lsbCAifD0iIHRoaXMgdmFsdWUgdG8gc3VwcG9ydGVkX2NhcGFiaWxpdGllcworCSAqIGlmIHRoZSBzZXJ2ZXIgcmVwb3J0cyB0aGF0IGl0IHN1cHBvcnRzIHRoaXMgY2FwYWJpbGl0eS4KKwkgKi8KKwl1bnNpZ25lZCBpbnQgZmxhZzsKK307CisKKy8qIHN1YnByb2Nlc3MgZnVuY3Rpb25zICovCisKKy8qIEZ1bmN0aW9uIHRvIHRlc3QgdHdvIHN1YnByb2Nlc3MgaGFzaG1hcCBlbnRyaWVzIGZvciBlcXVhbGl0eS4gKi8KK2V4dGVybiBpbnQgY21kMnByb2Nlc3NfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJCSAgIGNvbnN0IHZvaWQgKmUxLAorCQkJICAgY29uc3Qgdm9pZCAqZTIsCisJCQkgICBjb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSk7CisKKy8qCisgKiBVc2VyLXN1cHBsaWVkIGZ1bmN0aW9uIHRvIGluaXRpYWxpemUgdGhlIHN1Yi1wcm9jZXNzLiAgVGhpcyBpcworICogdHlwaWNhbGx5IHVzZWQgdG8gbmVnb3RpYXRlIHRoZSBpbnRlcmZhY2UgdmVyc2lvbiBhbmQgY2FwYWJpbGl0aWVzLgorICovCit0eXBlZGVmIGludCgqc3VicHJvY2Vzc19zdGFydF9mbikoc3RydWN0IHN1YnByb2Nlc3NfZW50cnkgKmVudHJ5KTsKKworLyogU3RhcnQgYSBzdWJwcm9jZXNzIGFuZCBhZGQgaXQgdG8gdGhlIHN1YnByb2Nlc3MgaGFzaG1hcC4gKi8KK2ludCBzdWJwcm9jZXNzX3N0YXJ0KHN0cnVjdCBoYXNobWFwICpoYXNobWFwLCBzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSAqZW50cnksIGNvbnN0IGNoYXIgKmNtZCwKKwkJc3VicHJvY2Vzc19zdGFydF9mbiBzdGFydGZuKTsKKworLyogS2lsbCBhIHN1YnByb2Nlc3MgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBzdWJwcm9jZXNzIGhhc2htYXAuICovCit2b2lkIHN1YnByb2Nlc3Nfc3RvcChzdHJ1Y3QgaGFzaG1hcCAqaGFzaG1hcCwgc3RydWN0IHN1YnByb2Nlc3NfZW50cnkgKmVudHJ5KTsKKworLyogRmluZCBhIHN1YnByb2Nlc3MgaW4gdGhlIHN1YnByb2Nlc3MgaGFzaG1hcC4gKi8KK3N0cnVjdCBzdWJwcm9jZXNzX2VudHJ5ICpzdWJwcm9jZXNzX2ZpbmRfZW50cnkoc3RydWN0IGhhc2htYXAgKmhhc2htYXAsIGNvbnN0IGNoYXIgKmNtZCk7CisKKy8qIHN1YnByb2Nlc3MgaGVscGVyIGZ1bmN0aW9ucyAqLworCisvKiBHZXQgdGhlIHVuZGVybHlpbmcgYHN0cnVjdCBjaGlsZF9wcm9jZXNzYCBmcm9tIGEgc3VicHJvY2Vzcy4gKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnN1YnByb2Nlc3NfZ2V0X2NoaWxkX3Byb2Nlc3MoCisJCXN0cnVjdCBzdWJwcm9jZXNzX2VudHJ5ICplbnRyeSkKK3sKKwlyZXR1cm4gJmVudHJ5LT5wcm9jZXNzOworfQorCisvKgorICogUGVyZm9ybSB0aGUgdmVyc2lvbiBhbmQgY2FwYWJpbGl0eSBuZWdvdGlhdGlvbiBhcyBkZXNjcmliZWQgaW4gdGhlICJMb25nCisgKiBSdW5uaW5nIEZpbHRlciBQcm9jZXNzIiBzZWN0aW9uIG9mIHRoZSBnaXRhdHRyaWJ1dGVzIGRvY3VtZW50YXRpb24gdXNpbmcgdGhlCisgKiBnaXZlbiByZXF1ZXN0ZWQgdmVyc2lvbnMgYW5kIGNhcGFiaWxpdGllcy4gVGhlICJ2ZXJzaW9ucyIgYW5kICJjYXBhYmlsaXRpZXMiCisgKiBwYXJhbWV0ZXJzIGFyZSBhcnJheXMgdGVybWluYXRlZCBieSBhIDAgb3IgYmxhbmsgc3RydWN0LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgdHlwaWNhbGx5IGNhbGxlZCB3aGVuIGEgc3VicHJvY2VzcyBpcyBzdGFydGVkIChhcyBwYXJ0IG9mCisgKiB0aGUgInN0YXJ0Zm4iIHBhc3NlZCB0byBzdWJwcm9jZXNzX3N0YXJ0KS4KKyAqLworaW50IHN1YnByb2Nlc3NfaGFuZHNoYWtlKHN0cnVjdCBzdWJwcm9jZXNzX2VudHJ5ICplbnRyeSwKKwkJCSBjb25zdCBjaGFyICp3ZWxjb21lX3ByZWZpeCwKKwkJCSBpbnQgKnZlcnNpb25zLAorCQkJIGludCAqY2hvc2VuX3ZlcnNpb24sCisJCQkgc3RydWN0IHN1YnByb2Nlc3NfY2FwYWJpbGl0eSAqY2FwYWJpbGl0aWVzLAorCQkJIHVuc2lnbmVkIGludCAqc3VwcG9ydGVkX2NhcGFiaWxpdGllcyk7CisKKy8qCisgKiBIZWxwZXIgZnVuY3Rpb24gdGhhdCB3aWxsIHJlYWQgcGFja2V0cyBsb29raW5nIGZvciAic3RhdHVzPTxmb28+IgorICoga2V5L3ZhbHVlIHBhaXJzIGFuZCByZXR1cm4gdGhlIHZhbHVlIGZyb20gdGhlIGxhc3QgInN0YXR1cyIgcGFja2V0CisgKi8KKworaW50IHN1YnByb2Nlc3NfcmVhZF9zdGF0dXMoaW50IGZkLCBzdHJ1Y3Qgc3RyYnVmICpzdGF0dXMpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL3N1Ym1vZHVsZS1jb25maWcuYyBiL3N1Ym1vZHVsZS1jb25maWcuYwppbmRleCBiYjA2OWJjLi4yYWE4YTE3IDEwMDY0NAotLS0gYS9zdWJtb2R1bGUtY29uZmlnLmMKKysrIGIvc3VibW9kdWxlLWNvbmZpZy5jCkBAIC0xLDcgKzEsMTAgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJzdWJtb2R1bGUtY29uZmlnLmgiCiAjaW5jbHVkZSAic3VibW9kdWxlLmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogCiAvKgogICogc3VibW9kdWxlIGNhY2hlIGxvb2t1cCBzdHJ1Y3R1cmUKQEAgLTE0LDYgKzE3LDggQEAKIHN0cnVjdCBzdWJtb2R1bGVfY2FjaGUgewogCXN0cnVjdCBoYXNobWFwIGZvcl9wYXRoOwogCXN0cnVjdCBoYXNobWFwIGZvcl9uYW1lOworCXVuc2lnbmVkIGluaXRpYWxpemVkOjE7CisJdW5zaWduZWQgZ2l0bW9kdWxlc19yZWFkOjE7CiB9OwogCiAvKgpAQCAtMzAsMjkgKzM1LDQwIEBACiAJbG9va3VwX3BhdGgKIH07CiAKLXN0YXRpYyBzdHJ1Y3Qgc3VibW9kdWxlX2NhY2hlIHRoZV9zdWJtb2R1bGVfY2FjaGU7Ci1zdGF0aWMgaW50IGlzX2NhY2hlX2luaXQ7Ci0KLXN0YXRpYyBpbnQgY29uZmlnX3BhdGhfY21wKGNvbnN0IHN0cnVjdCBzdWJtb2R1bGVfZW50cnkgKmEsCi0JCQkgICBjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlX2VudHJ5ICpiLAotCQkJICAgY29uc3Qgdm9pZCAqdW51c2VkKQorc3RhdGljIGludCBjb25maWdfcGF0aF9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAorCQkJICAgY29uc3Qgdm9pZCAqZW50cnksCisJCQkgICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgICBjb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSkKIHsKKwljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlX2VudHJ5ICphID0gZW50cnk7CisJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSAqYiA9IGVudHJ5X29yX2tleTsKKwogCXJldHVybiBzdHJjbXAoYS0+Y29uZmlnLT5wYXRoLCBiLT5jb25maWctPnBhdGgpIHx8CiAJICAgICAgIGhhc2hjbXAoYS0+Y29uZmlnLT5naXRtb2R1bGVzX3NoYTEsIGItPmNvbmZpZy0+Z2l0bW9kdWxlc19zaGExKTsKIH0KIAotc3RhdGljIGludCBjb25maWdfbmFtZV9jbXAoY29uc3Qgc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSAqYSwKLQkJCSAgIGNvbnN0IHN0cnVjdCBzdWJtb2R1bGVfZW50cnkgKmIsCi0JCQkgICBjb25zdCB2b2lkICp1bnVzZWQpCitzdGF0aWMgaW50IGNvbmZpZ19uYW1lX2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCisJCQkgICBjb25zdCB2b2lkICplbnRyeSwKKwkJCSAgIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJCSAgIGNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKQogeworCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGVfZW50cnkgKmEgPSBlbnRyeTsKKwljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlX2VudHJ5ICpiID0gZW50cnlfb3Jfa2V5OworCiAJcmV0dXJuIHN0cmNtcChhLT5jb25maWctPm5hbWUsIGItPmNvbmZpZy0+bmFtZSkgfHwKIAkgICAgICAgaGFzaGNtcChhLT5jb25maWctPmdpdG1vZHVsZXNfc2hhMSwgYi0+Y29uZmlnLT5naXRtb2R1bGVzX3NoYTEpOwogfQogCi1zdGF0aWMgdm9pZCBjYWNoZV9pbml0KHN0cnVjdCBzdWJtb2R1bGVfY2FjaGUgKmNhY2hlKQorc3RhdGljIHN0cnVjdCBzdWJtb2R1bGVfY2FjaGUgKnN1Ym1vZHVsZV9jYWNoZV9hbGxvYyh2b2lkKQogewotCWhhc2htYXBfaW5pdCgmY2FjaGUtPmZvcl9wYXRoLCAoaGFzaG1hcF9jbXBfZm4pIGNvbmZpZ19wYXRoX2NtcCwgMCk7Ci0JaGFzaG1hcF9pbml0KCZjYWNoZS0+Zm9yX25hbWUsIChoYXNobWFwX2NtcF9mbikgY29uZmlnX25hbWVfY21wLCAwKTsKKwlyZXR1cm4geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHN1Ym1vZHVsZV9jYWNoZSkpOworfQorCitzdGF0aWMgdm9pZCBzdWJtb2R1bGVfY2FjaGVfaW5pdChzdHJ1Y3Qgc3VibW9kdWxlX2NhY2hlICpjYWNoZSkKK3sKKwloYXNobWFwX2luaXQoJmNhY2hlLT5mb3JfcGF0aCwgY29uZmlnX3BhdGhfY21wLCBOVUxMLCAwKTsKKwloYXNobWFwX2luaXQoJmNhY2hlLT5mb3JfbmFtZSwgY29uZmlnX25hbWVfY21wLCBOVUxMLCAwKTsKKwljYWNoZS0+aW5pdGlhbGl6ZWQgPSAxOwogfQogCiBzdGF0aWMgdm9pZCBmcmVlX29uZV9jb25maWcoc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSAqZW50cnkpCkBAIC02NCwxMSArODAsMTQgQEAKIAlmcmVlKGVudHJ5LT5jb25maWcpOwogfQogCi1zdGF0aWMgdm9pZCBjYWNoZV9mcmVlKHN0cnVjdCBzdWJtb2R1bGVfY2FjaGUgKmNhY2hlKQorc3RhdGljIHZvaWQgc3VibW9kdWxlX2NhY2hlX2NsZWFyKHN0cnVjdCBzdWJtb2R1bGVfY2FjaGUgKmNhY2hlKQogewogCXN0cnVjdCBoYXNobWFwX2l0ZXIgaXRlcjsKIAlzdHJ1Y3Qgc3VibW9kdWxlX2VudHJ5ICplbnRyeTsKIAorCWlmICghY2FjaGUtPmluaXRpYWxpemVkKQorCQlyZXR1cm47CisKIAkvKgogCSAqIFdlIGl0ZXJhdGUgb3ZlciB0aGUgbmFtZSBoYXNoIGhlcmUgdG8gYmUgc3ltbWV0cmljIHdpdGggdGhlCiAJICogYWxsb2NhdGlvbiBvZiBzdHJ1Y3Qgc3VibW9kdWxlIGVudHJpZXMuIEVhY2ggaXMgYWxsb2NhdGVkIGJ5CkBAIC04MCw2ICs5OSwxNCBAQAogCiAJaGFzaG1hcF9mcmVlKCZjYWNoZS0+Zm9yX3BhdGgsIDEpOwogCWhhc2htYXBfZnJlZSgmY2FjaGUtPmZvcl9uYW1lLCAxKTsKKwljYWNoZS0+aW5pdGlhbGl6ZWQgPSAwOworCWNhY2hlLT5naXRtb2R1bGVzX3JlYWQgPSAwOworfQorCit2b2lkIHN1Ym1vZHVsZV9jYWNoZV9mcmVlKHN0cnVjdCBzdWJtb2R1bGVfY2FjaGUgKmNhY2hlKQoreworCXN1Ym1vZHVsZV9jYWNoZV9jbGVhcihjYWNoZSk7CisJZnJlZShjYWNoZSk7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgaGFzaF9zaGExX3N0cmluZyhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLApAQCAtMjEzLDcgKzI0MCw3IEBACiBzdGF0aWMgaW50IHBhcnNlX2ZldGNoX3JlY3Vyc2UoY29uc3QgY2hhciAqb3B0LCBjb25zdCBjaGFyICphcmcsCiAJCQkgICAgICAgaW50IGRpZV9vbl9lcnJvcikKIHsKLQlzd2l0Y2ggKGdpdF9jb25maWdfbWF5YmVfYm9vbChvcHQsIGFyZykpIHsKKwlzd2l0Y2ggKGdpdF9wYXJzZV9tYXliZV9ib29sKGFyZykpIHsKIAljYXNlIDE6CiAJCXJldHVybiBSRUNVUlNFX1NVQk1PRFVMRVNfT047CiAJY2FzZSAwOgpAQCAtMjI5LDE1ICsyNTYsNjQgQEAKIAl9CiB9CiAKK2ludCBwYXJzZV9zdWJtb2R1bGVfZmV0Y2hqb2JzKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUpCit7CisJaW50IGZldGNoam9icyA9IGdpdF9jb25maWdfaW50KHZhciwgdmFsdWUpOworCWlmIChmZXRjaGpvYnMgPCAwKQorCQlkaWUoXygibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hqb2JzIikpOworCXJldHVybiBmZXRjaGpvYnM7Cit9CisKIGludCBwYXJzZV9mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXNfYXJnKGNvbnN0IGNoYXIgKm9wdCwgY29uc3QgY2hhciAqYXJnKQogewogCXJldHVybiBwYXJzZV9mZXRjaF9yZWN1cnNlKG9wdCwgYXJnLCAxKTsKIH0KIAoraW50IG9wdGlvbl9mZXRjaF9wYXJzZV9yZWN1cnNlX3N1Ym1vZHVsZXMoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCQkgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCWludCAqdjsKKworCWlmICghb3B0LT52YWx1ZSkKKwkJcmV0dXJuIC0xOworCisJdiA9IG9wdC0+dmFsdWU7CisKKwlpZiAodW5zZXQpIHsKKwkJKnYgPSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGOworCX0gZWxzZSB7CisJCWlmIChhcmcpCisJCQkqdiA9IHBhcnNlX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcob3B0LT5sb25nX25hbWUsIGFyZyk7CisJCWVsc2UKKwkJCSp2ID0gUkVDVVJTRV9TVUJNT0RVTEVTX09OOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwYXJzZV91cGRhdGVfcmVjdXJzZShjb25zdCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKmFyZywKKwkJCQlpbnQgZGllX29uX2Vycm9yKQoreworCXN3aXRjaCAoZ2l0X3BhcnNlX21heWJlX2Jvb2woYXJnKSkgeworCWNhc2UgMToKKwkJcmV0dXJuIFJFQ1VSU0VfU1VCTU9EVUxFU19PTjsKKwljYXNlIDA6CisJCXJldHVybiBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGOworCWRlZmF1bHQ6CisJCWlmIChkaWVfb25fZXJyb3IpCisJCQlkaWUoImJhZCAlcyBhcmd1bWVudDogJXMiLCBvcHQsIGFyZyk7CisJCXJldHVybiBSRUNVUlNFX1NVQk1PRFVMRVNfRVJST1I7CisJfQorfQorCitpbnQgcGFyc2VfdXBkYXRlX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoY29uc3QgY2hhciAqb3B0LCBjb25zdCBjaGFyICphcmcpCit7CisJcmV0dXJuIHBhcnNlX3VwZGF0ZV9yZWN1cnNlKG9wdCwgYXJnLCAxKTsKK30KKwogc3RhdGljIGludCBwYXJzZV9wdXNoX3JlY3Vyc2UoY29uc3QgY2hhciAqb3B0LCBjb25zdCBjaGFyICphcmcsCiAJCQkgICAgICAgaW50IGRpZV9vbl9lcnJvcikKIHsKLQlzd2l0Y2ggKGdpdF9jb25maWdfbWF5YmVfYm9vbChvcHQsIGFyZykpIHsKKwlzd2l0Y2ggKGdpdF9wYXJzZV9tYXliZV9ib29sKGFyZykpIHsKIAljYXNlIDE6CiAJCS8qIFRoZXJlJ3Mgbm8gc2ltcGxlICJvbiIgdmFsdWUgd2hlbiBwdXNoaW5nICovCiAJCWlmIChkaWVfb25fZXJyb3IpCkBAIC0zODEsMTkgKzQ1NywxOSBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBnaXRtb2R1bGVfc2hhMV9mcm9tX2NvbW1pdChjb25zdCB1bnNpZ25lZCBjaGFyICp0cmVlaXNoX25hbWUsCi0JCQkJICAgICAgdW5zaWduZWQgY2hhciAqZ2l0bW9kdWxlc19zaGExLAotCQkJCSAgICAgIHN0cnVjdCBzdHJidWYgKnJldikKK3N0YXRpYyBpbnQgZ2l0bW9kdWxlX29pZF9mcm9tX2NvbW1pdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlaXNoX25hbWUsCisJCQkJICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpnaXRtb2R1bGVzX29pZCwKKwkJCQkgICAgIHN0cnVjdCBzdHJidWYgKnJldikKIHsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChpc19udWxsX3NoYTEodHJlZWlzaF9uYW1lKSkgewotCQloYXNoY2xyKGdpdG1vZHVsZXNfc2hhMSk7CisJaWYgKGlzX251bGxfb2lkKHRyZWVpc2hfbmFtZSkpIHsKKwkJb2lkY2xyKGdpdG1vZHVsZXNfb2lkKTsKIAkJcmV0dXJuIDE7CiAJfQogCi0Jc3RyYnVmX2FkZGYocmV2LCAiJXM6LmdpdG1vZHVsZXMiLCBzaGExX3RvX2hleCh0cmVlaXNoX25hbWUpKTsKLQlpZiAoZ2V0X3NoYTEocmV2LT5idWYsIGdpdG1vZHVsZXNfc2hhMSkgPj0gMCkKKwlzdHJidWZfYWRkZihyZXYsICIlczouZ2l0bW9kdWxlcyIsIG9pZF90b19oZXgodHJlZWlzaF9uYW1lKSk7CisJaWYgKGdldF9vaWQocmV2LT5idWYsIGdpdG1vZHVsZXNfb2lkKSA+PSAwKQogCQlyZXQgPSAxOwogCiAJcmV0dXJuIHJldDsKQEAgLTQwNCwxMyArNDgwLDEzIEBACiAgKiByZXZpc2lvbnMuCiAgKi8KIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpjb25maWdfZnJvbShzdHJ1Y3Qgc3VibW9kdWxlX2NhY2hlICpjYWNoZSwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqdHJlZWlzaF9uYW1lLCBjb25zdCBjaGFyICprZXksCisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnRyZWVpc2hfbmFtZSwgY29uc3QgY2hhciAqa2V5LAogCQllbnVtIGxvb2t1cF90eXBlIGxvb2t1cF90eXBlKQogewogCXN0cnVjdCBzdHJidWYgcmV2ID0gU1RSQlVGX0lOSVQ7CiAJdW5zaWduZWQgbG9uZyBjb25maWdfc2l6ZTsKIAljaGFyICpjb25maWcgPSBOVUxMOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1Ym1vZHVsZSA9IE5VTEw7CiAJc3RydWN0IHBhcnNlX2NvbmZpZ19wYXJhbWV0ZXIgcGFyYW1ldGVyOwpAQCAtNDMwLDI4ICs1MDYsMjggQEAKIAkJcmV0dXJuIGVudHJ5LT5jb25maWc7CiAJfQogCi0JaWYgKCFnaXRtb2R1bGVfc2hhMV9mcm9tX2NvbW1pdCh0cmVlaXNoX25hbWUsIHNoYTEsICZyZXYpKQorCWlmICghZ2l0bW9kdWxlX29pZF9mcm9tX2NvbW1pdCh0cmVlaXNoX25hbWUsICZvaWQsICZyZXYpKQogCQlnb3RvIG91dDsKIAogCXN3aXRjaCAobG9va3VwX3R5cGUpIHsKIAljYXNlIGxvb2t1cF9uYW1lOgotCQlzdWJtb2R1bGUgPSBjYWNoZV9sb29rdXBfbmFtZShjYWNoZSwgc2hhMSwga2V5KTsKKwkJc3VibW9kdWxlID0gY2FjaGVfbG9va3VwX25hbWUoY2FjaGUsIG9pZC5oYXNoLCBrZXkpOwogCQlicmVhazsKIAljYXNlIGxvb2t1cF9wYXRoOgotCQlzdWJtb2R1bGUgPSBjYWNoZV9sb29rdXBfcGF0aChjYWNoZSwgc2hhMSwga2V5KTsKKwkJc3VibW9kdWxlID0gY2FjaGVfbG9va3VwX3BhdGgoY2FjaGUsIG9pZC5oYXNoLCBrZXkpOwogCQlicmVhazsKIAl9CiAJaWYgKHN1Ym1vZHVsZSkKIAkJZ290byBvdXQ7CiAKLQljb25maWcgPSByZWFkX3NoYTFfZmlsZShzaGExLCAmdHlwZSwgJmNvbmZpZ19zaXplKTsKKwljb25maWcgPSByZWFkX3NoYTFfZmlsZShvaWQuaGFzaCwgJnR5cGUsICZjb25maWdfc2l6ZSk7CiAJaWYgKCFjb25maWcgfHwgdHlwZSAhPSBPQkpfQkxPQikKIAkJZ290byBvdXQ7CiAKIAkvKiBmaWxsIHRoZSBzdWJtb2R1bGUgY29uZmlnIGludG8gdGhlIGNhY2hlICovCiAJcGFyYW1ldGVyLmNhY2hlID0gY2FjaGU7Ci0JcGFyYW1ldGVyLnRyZWVpc2hfbmFtZSA9IHRyZWVpc2hfbmFtZTsKLQlwYXJhbWV0ZXIuZ2l0bW9kdWxlc19zaGExID0gc2hhMTsKKwlwYXJhbWV0ZXIudHJlZWlzaF9uYW1lID0gdHJlZWlzaF9uYW1lLT5oYXNoOworCXBhcmFtZXRlci5naXRtb2R1bGVzX3NoYTEgPSBvaWQuaGFzaDsKIAlwYXJhbWV0ZXIub3ZlcndyaXRlID0gMDsKIAlnaXRfY29uZmlnX2Zyb21fbWVtKHBhcnNlX2NvbmZpZywgQ09ORklHX09SSUdJTl9TVUJNT0RVTEVfQkxPQiwgcmV2LmJ1ZiwKIAkJCWNvbmZpZywgY29uZmlnX3NpemUsICZwYXJhbWV0ZXIpOwpAQCAtNDYwLDkgKzUzNiw5IEBACiAKIAlzd2l0Y2ggKGxvb2t1cF90eXBlKSB7CiAJY2FzZSBsb29rdXBfbmFtZToKLQkJcmV0dXJuIGNhY2hlX2xvb2t1cF9uYW1lKGNhY2hlLCBzaGExLCBrZXkpOworCQlyZXR1cm4gY2FjaGVfbG9va3VwX25hbWUoY2FjaGUsIG9pZC5oYXNoLCBrZXkpOwogCWNhc2UgbG9va3VwX3BhdGg6Ci0JCXJldHVybiBjYWNoZV9sb29rdXBfcGF0aChjYWNoZSwgc2hhMSwga2V5KTsKKwkJcmV0dXJuIGNhY2hlX2xvb2t1cF9wYXRoKGNhY2hlLCBvaWQuaGFzaCwga2V5KTsKIAlkZWZhdWx0OgogCQlyZXR1cm4gTlVMTDsKIAl9CkBAIC00NzMsNDMgKzU0OSwxMDEgQEAKIAlyZXR1cm4gc3VibW9kdWxlOwogfQogCi1zdGF0aWMgdm9pZCBlbnN1cmVfY2FjaGVfaW5pdCh2b2lkKQorc3RhdGljIHZvaWQgc3VibW9kdWxlX2NhY2hlX2NoZWNrX2luaXQoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pCiB7Ci0JaWYgKGlzX2NhY2hlX2luaXQpCisJaWYgKHJlcG8tPnN1Ym1vZHVsZV9jYWNoZSAmJiByZXBvLT5zdWJtb2R1bGVfY2FjaGUtPmluaXRpYWxpemVkKQogCQlyZXR1cm47CiAKLQljYWNoZV9pbml0KCZ0aGVfc3VibW9kdWxlX2NhY2hlKTsKLQlpc19jYWNoZV9pbml0ID0gMTsKKwlpZiAoIXJlcG8tPnN1Ym1vZHVsZV9jYWNoZSkKKwkJcmVwby0+c3VibW9kdWxlX2NhY2hlID0gc3VibW9kdWxlX2NhY2hlX2FsbG9jKCk7CisKKwlzdWJtb2R1bGVfY2FjaGVfaW5pdChyZXBvLT5zdWJtb2R1bGVfY2FjaGUpOwogfQogCi1pbnQgcGFyc2Vfc3VibW9kdWxlX2NvbmZpZ19vcHRpb24oY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSkKK3N0YXRpYyBpbnQgZ2l0bW9kdWxlc19jYihjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkYXRhKQogeworCXN0cnVjdCByZXBvc2l0b3J5ICpyZXBvID0gZGF0YTsKIAlzdHJ1Y3QgcGFyc2VfY29uZmlnX3BhcmFtZXRlciBwYXJhbWV0ZXI7Ci0JcGFyYW1ldGVyLmNhY2hlID0gJnRoZV9zdWJtb2R1bGVfY2FjaGU7CisKKwlwYXJhbWV0ZXIuY2FjaGUgPSByZXBvLT5zdWJtb2R1bGVfY2FjaGU7CiAJcGFyYW1ldGVyLnRyZWVpc2hfbmFtZSA9IE5VTEw7CiAJcGFyYW1ldGVyLmdpdG1vZHVsZXNfc2hhMSA9IG51bGxfc2hhMTsKIAlwYXJhbWV0ZXIub3ZlcndyaXRlID0gMTsKIAotCWVuc3VyZV9jYWNoZV9pbml0KCk7CiAJcmV0dXJuIHBhcnNlX2NvbmZpZyh2YXIsIHZhbHVlLCAmcGFyYW1ldGVyKTsKIH0KIAotY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlX2Zyb21fbmFtZShjb25zdCB1bnNpZ25lZCBjaGFyICp0cmVlaXNoX25hbWUsCi0JCWNvbnN0IGNoYXIgKm5hbWUpCit2b2lkIHJlcG9fcmVhZF9naXRtb2R1bGVzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKQogewotCWVuc3VyZV9jYWNoZV9pbml0KCk7Ci0JcmV0dXJuIGNvbmZpZ19mcm9tKCZ0aGVfc3VibW9kdWxlX2NhY2hlLCB0cmVlaXNoX25hbWUsIG5hbWUsIGxvb2t1cF9uYW1lKTsKKwlzdWJtb2R1bGVfY2FjaGVfY2hlY2tfaW5pdChyZXBvKTsKKworCWlmIChyZXBvLT53b3JrdHJlZSkgeworCQljaGFyICpnaXRtb2R1bGVzOworCisJCWlmIChyZXBvX3JlYWRfaW5kZXgocmVwbykgPCAwKQorCQkJcmV0dXJuOworCisJCWdpdG1vZHVsZXMgPSByZXBvX3dvcmt0cmVlX3BhdGgocmVwbywgR0lUTU9EVUxFU19GSUxFKTsKKworCQlpZiAoIWlzX2dpdG1vZHVsZXNfdW5tZXJnZWQocmVwby0+aW5kZXgpKQorCQkJZ2l0X2NvbmZpZ19mcm9tX2ZpbGUoZ2l0bW9kdWxlc19jYiwgZ2l0bW9kdWxlcywgcmVwbyk7CisKKwkJZnJlZShnaXRtb2R1bGVzKTsKKwl9CisKKwlyZXBvLT5zdWJtb2R1bGVfY2FjaGUtPmdpdG1vZHVsZXNfcmVhZCA9IDE7CiB9CiAKLWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1Ym1vZHVsZV9mcm9tX3BhdGgoY29uc3QgdW5zaWduZWQgY2hhciAqdHJlZWlzaF9uYW1lLAordm9pZCBnaXRtb2R1bGVzX2NvbmZpZ19vaWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqY29tbWl0X29pZCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHJldiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCisJc3VibW9kdWxlX2NhY2hlX2NoZWNrX2luaXQodGhlX3JlcG9zaXRvcnkpOworCisJaWYgKGdpdG1vZHVsZV9vaWRfZnJvbV9jb21taXQoY29tbWl0X29pZCwgJm9pZCwgJnJldikpIHsKKwkJZ2l0X2NvbmZpZ19mcm9tX2Jsb2Jfb2lkKGdpdG1vZHVsZXNfY2IsIHJldi5idWYsCisJCQkJCSAmb2lkLCB0aGVfcmVwb3NpdG9yeSk7CisJfQorCXN0cmJ1Zl9yZWxlYXNlKCZyZXYpOworCisJdGhlX3JlcG9zaXRvcnktPnN1Ym1vZHVsZV9jYWNoZS0+Z2l0bW9kdWxlc19yZWFkID0gMTsKK30KKworc3RhdGljIHZvaWQgZ2l0bW9kdWxlc19yZWFkX2NoZWNrKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKQoreworCXN1Ym1vZHVsZV9jYWNoZV9jaGVja19pbml0KHJlcG8pOworCisJLyogcmVhZCB0aGUgcmVwbydzIC5naXRtb2R1bGVzIGZpbGUgaWYgaXQgaGFzbid0IGJlZW4gYWxyZWFkeSAqLworCWlmICghcmVwby0+c3VibW9kdWxlX2NhY2hlLT5naXRtb2R1bGVzX3JlYWQpCisJCXJlcG9fcmVhZF9naXRtb2R1bGVzKHJlcG8pOworfQorCitjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGVfZnJvbV9uYW1lKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnRyZWVpc2hfbmFtZSwKKwkJY29uc3QgY2hhciAqbmFtZSkKK3sKKwlnaXRtb2R1bGVzX3JlYWRfY2hlY2sodGhlX3JlcG9zaXRvcnkpOworCXJldHVybiBjb25maWdfZnJvbSh0aGVfcmVwb3NpdG9yeS0+c3VibW9kdWxlX2NhY2hlLCB0cmVlaXNoX25hbWUsIG5hbWUsIGxvb2t1cF9uYW1lKTsKK30KKworY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlX2Zyb21fcGF0aChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlaXNoX25hbWUsCiAJCWNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0JZW5zdXJlX2NhY2hlX2luaXQoKTsKLQlyZXR1cm4gY29uZmlnX2Zyb20oJnRoZV9zdWJtb2R1bGVfY2FjaGUsIHRyZWVpc2hfbmFtZSwgcGF0aCwgbG9va3VwX3BhdGgpOworCWdpdG1vZHVsZXNfcmVhZF9jaGVjayh0aGVfcmVwb3NpdG9yeSk7CisJcmV0dXJuIGNvbmZpZ19mcm9tKHRoZV9yZXBvc2l0b3J5LT5zdWJtb2R1bGVfY2FjaGUsIHRyZWVpc2hfbmFtZSwgcGF0aCwgbG9va3VwX3BhdGgpOworfQorCitjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGVfZnJvbV9jYWNoZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkJICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlaXNoX25hbWUsCisJCQkJCSAgICAgY29uc3QgY2hhciAqa2V5KQoreworCWdpdG1vZHVsZXNfcmVhZF9jaGVjayhyZXBvKTsKKwlyZXR1cm4gY29uZmlnX2Zyb20ocmVwby0+c3VibW9kdWxlX2NhY2hlLCB0cmVlaXNoX25hbWUsCisJCQkgICBrZXksIGxvb2t1cF9wYXRoKTsKIH0KIAogdm9pZCBzdWJtb2R1bGVfZnJlZSh2b2lkKQogewotCWNhY2hlX2ZyZWUoJnRoZV9zdWJtb2R1bGVfY2FjaGUpOwotCWlzX2NhY2hlX2luaXQgPSAwOworCWlmICh0aGVfcmVwb3NpdG9yeS0+c3VibW9kdWxlX2NhY2hlKQorCQlzdWJtb2R1bGVfY2FjaGVfY2xlYXIodGhlX3JlcG9zaXRvcnktPnN1Ym1vZHVsZV9jYWNoZSk7CiB9CmRpZmYgLS1naXQgYS9zdWJtb2R1bGUtY29uZmlnLmggYi9zdWJtb2R1bGUtY29uZmlnLmgKaW5kZXggNzBmMTkzNi4uZTM4NDU4MyAxMDA2NDQKLS0tIGEvc3VibW9kdWxlLWNvbmZpZy5oCisrKyBiL3N1Ym1vZHVsZS1jb25maWcuaApAQCAtMjIsMTYgKzIyLDI3IEBACiAJaW50IHJlY29tbWVuZF9zaGFsbG93OwogfTsKIAotaW50IHBhcnNlX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoY29uc3QgY2hhciAqb3B0LCBjb25zdCBjaGFyICphcmcpOwotaW50IHBhcnNlX3B1c2hfcmVjdXJzZV9zdWJtb2R1bGVzX2FyZyhjb25zdCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKmFyZyk7Ci1pbnQgcGFyc2Vfc3VibW9kdWxlX2NvbmZpZ19vcHRpb24oY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSk7Ci1jb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGVfZnJvbV9uYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbW1pdF9vcl90cmVlLAotCQljb25zdCBjaGFyICpuYW1lKTsKLWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1Ym1vZHVsZV9mcm9tX3BhdGgoY29uc3QgdW5zaWduZWQgY2hhciAqY29tbWl0X29yX3RyZWUsCi0JCWNvbnN0IGNoYXIgKnBhdGgpOwotZXh0ZXJuIGludCBnaXRtb2R1bGVfc2hhMV9mcm9tX2NvbW1pdChjb25zdCB1bnNpZ25lZCBjaGFyICpjb21taXRfc2hhMSwKLQkJCQkgICAgICB1bnNpZ25lZCBjaGFyICpnaXRtb2R1bGVzX3NoYTEsCi0JCQkJICAgICAgc3RydWN0IHN0cmJ1ZiAqcmV2KTsKLXZvaWQgc3VibW9kdWxlX2ZyZWUodm9pZCk7CitzdHJ1Y3Qgc3VibW9kdWxlX2NhY2hlOworc3RydWN0IHJlcG9zaXRvcnk7CisKK2V4dGVybiB2b2lkIHN1Ym1vZHVsZV9jYWNoZV9mcmVlKHN0cnVjdCBzdWJtb2R1bGVfY2FjaGUgKmNhY2hlKTsKKworZXh0ZXJuIGludCBwYXJzZV9zdWJtb2R1bGVfZmV0Y2hqb2JzKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUpOworZXh0ZXJuIGludCBwYXJzZV9mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXNfYXJnKGNvbnN0IGNoYXIgKm9wdCwgY29uc3QgY2hhciAqYXJnKTsKK3N0cnVjdCBvcHRpb247CitleHRlcm4gaW50IG9wdGlvbl9mZXRjaF9wYXJzZV9yZWN1cnNlX3N1Ym1vZHVsZXMoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCQkJIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KTsKK2V4dGVybiBpbnQgcGFyc2VfdXBkYXRlX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoY29uc3QgY2hhciAqb3B0LCBjb25zdCBjaGFyICphcmcpOworZXh0ZXJuIGludCBwYXJzZV9wdXNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoY29uc3QgY2hhciAqb3B0LCBjb25zdCBjaGFyICphcmcpOworZXh0ZXJuIHZvaWQgcmVwb19yZWFkX2dpdG1vZHVsZXMoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pOworZXh0ZXJuIHZvaWQgZ2l0bW9kdWxlc19jb25maWdfb2lkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmNvbW1pdF9vaWQpOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1Ym1vZHVsZV9mcm9tX25hbWUoCisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmNvbW1pdF9vcl90cmVlLCBjb25zdCBjaGFyICpuYW1lKTsKK2V4dGVybiBjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGVfZnJvbV9wYXRoKAorCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXRfb3JfdHJlZSwgY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlX2Zyb21fY2FjaGUoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdHJlZWlzaF9uYW1lLAorCQkJCQkJICAgIGNvbnN0IGNoYXIgKmtleSk7CitleHRlcm4gdm9pZCBzdWJtb2R1bGVfZnJlZSh2b2lkKTsKIAogI2VuZGlmIC8qIFNVQk1PRFVMRV9DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvc3VibW9kdWxlLmMgYi9zdWJtb2R1bGUuYwppbmRleCAwYTI4MzFkLi42M2U3MDk0IDEwMDY0NAotLS0gYS9zdWJtb2R1bGUuYworKysgYi9zdWJtb2R1bGUuYwpAQCAtMSw0ICsxLDYgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJzdWJtb2R1bGUtY29uZmlnLmgiCiAjaW5jbHVkZSAic3VibW9kdWxlLmgiCiAjaW5jbHVkZSAiZGlyLmgiCkBAIC0xNCwzOCArMTYsNjQgQEAKICNpbmNsdWRlICJibG9iLmgiCiAjaW5jbHVkZSAidGhyZWFkLXV0aWxzLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKKyNpbmNsdWRlICJyZW1vdGUuaCIKICNpbmNsdWRlICJ3b3JrdHJlZS5oIgorI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKIAotc3RhdGljIGludCBjb25maWdfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzID0gUkVDVVJTRV9TVUJNT0RVTEVTX09OX0RFTUFORDsKLXN0YXRpYyBpbnQgcGFyYWxsZWxfam9icyA9IDE7Ci1zdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGNoYW5nZWRfc3VibW9kdWxlX3BhdGhzID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKK3N0YXRpYyBpbnQgY29uZmlnX3VwZGF0ZV9yZWN1cnNlX3N1Ym1vZHVsZXMgPSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBjaGFuZ2VkX3N1Ym1vZHVsZV9wYXRocyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogc3RhdGljIGludCBpbml0aWFsaXplZF9mZXRjaF9yZWZfdGlwczsKLXN0YXRpYyBzdHJ1Y3Qgc2hhMV9hcnJheSByZWZfdGlwc19iZWZvcmVfZmV0Y2g7Ci1zdGF0aWMgc3RydWN0IHNoYTFfYXJyYXkgcmVmX3RpcHNfYWZ0ZXJfZmV0Y2g7CitzdGF0aWMgc3RydWN0IG9pZF9hcnJheSByZWZfdGlwc19iZWZvcmVfZmV0Y2g7CitzdGF0aWMgc3RydWN0IG9pZF9hcnJheSByZWZfdGlwc19hZnRlcl9mZXRjaDsKIAogLyoKLSAqIFRoZSBmb2xsb3dpbmcgZmxhZyBpcyBzZXQgaWYgdGhlIC5naXRtb2R1bGVzIGZpbGUgaXMgdW5tZXJnZWQuIFdlIHRoZW4KLSAqIGRpc2FibGUgcmVjdXJzaW9uIGZvciBhbGwgc3VibW9kdWxlcyB3aGVyZSAuZ2l0L2NvbmZpZyBkb2Vzbid0IGhhdmUgYQotICogbWF0Y2hpbmcgY29uZmlnIGVudHJ5IGJlY2F1c2Ugd2UgY2FuJ3QgZ3Vlc3Mgd2hhdCBtaWdodCBiZSBjb25maWd1cmVkIGluCi0gKiAuZ2l0bW9kdWxlcyB1bmxlc3MgdGhlIHVzZXIgcmVzb2x2ZXMgdGhlIGNvbmZsaWN0LiBXaGVuIGEgY29tbWFuZCBsaW5lCi0gKiBvcHRpb24gaXMgZ2l2ZW4gKHdoaWNoIGFsd2F5cyBvdmVycmlkZXMgY29uZmlndXJhdGlvbikgdGhpcyBmbGFnIHdpbGwgYmUKLSAqIGlnbm9yZWQuCisgKiBDaGVjayBpZiB0aGUgLmdpdG1vZHVsZXMgZmlsZSBpcyB1bm1lcmdlZC4gUGFyc2luZyBvZiB0aGUgLmdpdG1vZHVsZXMgZmlsZQorICogd2lsbCBiZSBkaXNhYmxlZCBiZWNhdXNlIHdlIGNhbid0IGd1ZXNzIHdoYXQgbWlnaHQgYmUgY29uZmlndXJlZCBpbgorICogLmdpdG1vZHVsZXMgdW5sZXNzIHRoZSB1c2VyIHJlc29sdmVzIHRoZSBjb25mbGljdC4KICAqLwotc3RhdGljIGludCBnaXRtb2R1bGVzX2lzX3VubWVyZ2VkOwotCi0vKgotICogVGhpcyBmbGFnIGlzIHNldCBpZiB0aGUgLmdpdG1vZHVsZXMgZmlsZSBoYWQgdW5zdGFnZWQgbW9kaWZpY2F0aW9ucyBvbgotICogc3RhcnR1cC4gVGhpcyBtdXN0IGJlIGNoZWNrZWQgYmVmb3JlIGFsbG93aW5nIG1vZGlmaWNhdGlvbnMgdG8gdGhlCi0gKiAuZ2l0bW9kdWxlcyBmaWxlIHdpdGggdGhlIGludGVudGlvbiB0byBzdGFnZSB0aGVtIGxhdGVyLCBiZWNhdXNlIHdoZW4KLSAqIGNvbnRpbnVpbmcgd2Ugd291bGQgc3RhZ2UgdGhlIG1vZGlmaWNhdGlvbnMgdGhlIHVzZXIgZGlkbid0IHN0YWdlIGhlcnNlbGYKLSAqIHRvby4gVGhhdCBtaWdodCBjaGFuZ2UgaW4gYSBmdXR1cmUgdmVyc2lvbiB3aGVuIHdlIGxlYXJuIHRvIHN0YWdlIHRoZQotICogY2hhbmdlcyB3ZSBkbyBvdXJzZWx2ZXMgd2l0aG91dCBzdGFnaW5nIGFueSBwcmV2aW91cyBtb2RpZmljYXRpb25zLgotICovCi1zdGF0aWMgaW50IGdpdG1vZHVsZXNfaXNfbW9kaWZpZWQ7Ci0KLWludCBpc19zdGFnaW5nX2dpdG1vZHVsZXNfb2sodm9pZCkKK2ludCBpc19naXRtb2R1bGVzX3VubWVyZ2VkKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQogewotCXJldHVybiAhZ2l0bW9kdWxlc19pc19tb2RpZmllZDsKKwlpbnQgcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBHSVRNT0RVTEVTX0ZJTEUsIHN0cmxlbihHSVRNT0RVTEVTX0ZJTEUpKTsKKwlpZiAocG9zIDwgMCkgeyAvKiAuZ2l0bW9kdWxlcyBub3QgZm91bmQgb3IgaXNuJ3QgbWVyZ2VkICovCisJCXBvcyA9IC0xIC0gcG9zOworCQlpZiAoaXN0YXRlLT5jYWNoZV9uciA+IHBvcykgeyAgLyogdGhlcmUgaXMgYSAuZ2l0bW9kdWxlcyAqLworCQkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGlzdGF0ZS0+Y2FjaGVbcG9zXTsKKwkJCWlmIChjZV9uYW1lbGVuKGNlKSA9PSBzdHJsZW4oR0lUTU9EVUxFU19GSUxFKSAmJgorCQkJICAgICFzdHJjbXAoY2UtPm5hbWUsIEdJVE1PRFVMRVNfRklMRSkpCisJCQkJcmV0dXJuIDE7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENoZWNrIGlmIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGhhcyB1bnN0YWdlZCBtb2RpZmljYXRpb25zLiAgVGhpcyBtdXN0IGJlCisgKiBjaGVja2VkIGJlZm9yZSBhbGxvd2luZyBtb2RpZmljYXRpb25zIHRvIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIHdpdGggdGhlCisgKiBpbnRlbnRpb24gdG8gc3RhZ2UgdGhlbSBsYXRlciwgYmVjYXVzZSB3aGVuIGNvbnRpbnVpbmcgd2Ugd291bGQgc3RhZ2UgdGhlCisgKiBtb2RpZmljYXRpb25zIHRoZSB1c2VyIGRpZG4ndCBzdGFnZSBoZXJzZWxmIHRvby4gVGhhdCBtaWdodCBjaGFuZ2UgaW4gYQorICogZnV0dXJlIHZlcnNpb24gd2hlbiB3ZSBsZWFybiB0byBzdGFnZSB0aGUgY2hhbmdlcyB3ZSBkbyBvdXJzZWx2ZXMgd2l0aG91dAorICogc3RhZ2luZyBhbnkgcHJldmlvdXMgbW9kaWZpY2F0aW9ucy4KKyAqLworaW50IGlzX3N0YWdpbmdfZ2l0bW9kdWxlc19vayhjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKK3sKKwlpbnQgcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBHSVRNT0RVTEVTX0ZJTEUsIHN0cmxlbihHSVRNT0RVTEVTX0ZJTEUpKTsKKworCWlmICgocG9zID49IDApICYmIChwb3MgPCBpc3RhdGUtPmNhY2hlX25yKSkgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJaWYgKGxzdGF0KEdJVE1PRFVMRVNfRklMRSwgJnN0KSA9PSAwICYmCisJCSAgICBjZV9tYXRjaF9zdGF0KGlzdGF0ZS0+Y2FjaGVbcG9zXSwgJnN0LCAwKSAmIERBVEFfQ0hBTkdFRCkKKwkJCXJldHVybiAwOworCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGZvcl9lYWNoX3JlbW90ZV9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwKKwkJCQkJIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQoreworCXJldHVybiByZWZzX2Zvcl9lYWNoX3JlbW90ZV9yZWYoZ2V0X3N1Ym1vZHVsZV9yZWZfc3RvcmUoc3VibW9kdWxlKSwKKwkJCQkJZm4sIGNiX2RhdGEpOwogfQogCiAvKgpAQCAtNTgsMTMgKzg2LDEzIEBACiAJc3RydWN0IHN0cmJ1ZiBlbnRyeSA9IFNUUkJVRl9JTklUOwogCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1Ym1vZHVsZTsKIAotCWlmICghZmlsZV9leGlzdHMoIi5naXRtb2R1bGVzIikpIC8qIERvIG5vdGhpbmcgd2l0aG91dCAuZ2l0bW9kdWxlcyAqLworCWlmICghZmlsZV9leGlzdHMoR0lUTU9EVUxFU19GSUxFKSkgLyogRG8gbm90aGluZyB3aXRob3V0IC5naXRtb2R1bGVzICovCiAJCXJldHVybiAtMTsKIAotCWlmIChnaXRtb2R1bGVzX2lzX3VubWVyZ2VkKQorCWlmIChpc19naXRtb2R1bGVzX3VubWVyZ2VkKCZ0aGVfaW5kZXgpKQogCQlkaWUoXygiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiKSk7CiAKLQlzdWJtb2R1bGUgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKG51bGxfc2hhMSwgb2xkcGF0aCk7CisJc3VibW9kdWxlID0gc3VibW9kdWxlX2Zyb21fcGF0aCgmbnVsbF9vaWQsIG9sZHBhdGgpOwogCWlmICghc3VibW9kdWxlIHx8ICFzdWJtb2R1bGUtPm5hbWUpIHsKIAkJd2FybmluZyhfKCJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiKSwgb2xkcGF0aCk7CiAJCXJldHVybiAtMTsKQEAgLTcyLDcgKzEwMCw3IEBACiAJc3RyYnVmX2FkZHN0cigmZW50cnksICJzdWJtb2R1bGUuIik7CiAJc3RyYnVmX2FkZHN0cigmZW50cnksIHN1Ym1vZHVsZS0+bmFtZSk7CiAJc3RyYnVmX2FkZHN0cigmZW50cnksICIucGF0aCIpOwotCWlmIChnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseSgiLmdpdG1vZHVsZXMiLCBlbnRyeS5idWYsIG5ld3BhdGgpIDwgMCkgeworCWlmIChnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShHSVRNT0RVTEVTX0ZJTEUsIGVudHJ5LmJ1ZiwgbmV3cGF0aCkgPCAwKSB7CiAJCS8qIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlICovCiAJCXdhcm5pbmcoXygiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIpLCBlbnRyeS5idWYpOwogCQlzdHJidWZfcmVsZWFzZSgmZW50cnkpOwpAQCAtOTIsMjAgKzEyMCwyMCBAQAogCXN0cnVjdCBzdHJidWYgc2VjdCA9IFNUUkJVRl9JTklUOwogCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1Ym1vZHVsZTsKIAotCWlmICghZmlsZV9leGlzdHMoIi5naXRtb2R1bGVzIikpIC8qIERvIG5vdGhpbmcgd2l0aG91dCAuZ2l0bW9kdWxlcyAqLworCWlmICghZmlsZV9leGlzdHMoR0lUTU9EVUxFU19GSUxFKSkgLyogRG8gbm90aGluZyB3aXRob3V0IC5naXRtb2R1bGVzICovCiAJCXJldHVybiAtMTsKIAotCWlmIChnaXRtb2R1bGVzX2lzX3VubWVyZ2VkKQorCWlmIChpc19naXRtb2R1bGVzX3VubWVyZ2VkKCZ0aGVfaW5kZXgpKQogCQlkaWUoXygiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiKSk7CiAKLQlzdWJtb2R1bGUgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKG51bGxfc2hhMSwgcGF0aCk7CisJc3VibW9kdWxlID0gc3VibW9kdWxlX2Zyb21fcGF0aCgmbnVsbF9vaWQsIHBhdGgpOwogCWlmICghc3VibW9kdWxlIHx8ICFzdWJtb2R1bGUtPm5hbWUpIHsKIAkJd2FybmluZyhfKCJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiKSwgcGF0aCk7CiAJCXJldHVybiAtMTsKIAl9CiAJc3RyYnVmX2FkZHN0cigmc2VjdCwgInN1Ym1vZHVsZS4iKTsKIAlzdHJidWZfYWRkc3RyKCZzZWN0LCBzdWJtb2R1bGUtPm5hbWUpOwotCWlmIChnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uX2luX2ZpbGUoIi5naXRtb2R1bGVzIiwgc2VjdC5idWYsIE5VTEwpIDwgMCkgeworCWlmIChnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uX2luX2ZpbGUoR0lUTU9EVUxFU19GSUxFLCBzZWN0LmJ1ZiwgTlVMTCkgPCAwKSB7CiAJCS8qIE1heWJlIHRoZSB1c2VyIGFscmVhZHkgZGlkIHRoYXQsIGRvbid0IGVycm9yIG91dCBoZXJlICovCiAJCXdhcm5pbmcoXygiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiKSwgcGF0aCk7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZzZWN0KTsKQEAgLTExNyw3ICsxNDUsNyBAQAogCiB2b2lkIHN0YWdlX3VwZGF0ZWRfZ2l0bW9kdWxlcyh2b2lkKQogewotCWlmIChhZGRfZmlsZV90b19jYWNoZSgiLmdpdG1vZHVsZXMiLCAwKSkKKwlpZiAoYWRkX2ZpbGVfdG9fY2FjaGUoR0lUTU9EVUxFU19GSUxFLCAwKSkKIAkJZGllKF8oInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiKSk7CiB9CiAKQEAgLTE0MiwxMzEgKzE3MCwyMTEgQEAKIHZvaWQgc2V0X2RpZmZvcHRfZmxhZ3NfZnJvbV9zdWJtb2R1bGVfY29uZmlnKHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQsCiAJCQkJCSAgICAgY29uc3QgY2hhciAqcGF0aCkKIHsKLQljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGUgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKG51bGxfc2hhMSwgcGF0aCk7CisJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlID0gc3VibW9kdWxlX2Zyb21fcGF0aCgmbnVsbF9vaWQsIHBhdGgpOwogCWlmIChzdWJtb2R1bGUpIHsKLQkJaWYgKHN1Ym1vZHVsZS0+aWdub3JlKQotCQkJaGFuZGxlX2lnbm9yZV9zdWJtb2R1bGVzX2FyZyhkaWZmb3B0LCBzdWJtb2R1bGUtPmlnbm9yZSk7Ci0JCWVsc2UgaWYgKGdpdG1vZHVsZXNfaXNfdW5tZXJnZWQpCisJCWNvbnN0IGNoYXIgKmlnbm9yZTsKKwkJY2hhciAqa2V5OworCisJCWtleSA9IHhzdHJmbXQoInN1Ym1vZHVsZS4lcy5pZ25vcmUiLCBzdWJtb2R1bGUtPm5hbWUpOworCQlpZiAocmVwb19jb25maWdfZ2V0X3N0cmluZ19jb25zdCh0aGVfcmVwb3NpdG9yeSwga2V5LCAmaWdub3JlKSkKKwkJCWlnbm9yZSA9IHN1Ym1vZHVsZS0+aWdub3JlOworCQlmcmVlKGtleSk7CisKKwkJaWYgKGlnbm9yZSkKKwkJCWhhbmRsZV9pZ25vcmVfc3VibW9kdWxlc19hcmcoZGlmZm9wdCwgaWdub3JlKTsKKwkJZWxzZSBpZiAoaXNfZ2l0bW9kdWxlc191bm1lcmdlZCgmdGhlX2luZGV4KSkKIAkJCURJRkZfT1BUX1NFVChkaWZmb3B0LCBJR05PUkVfU1VCTU9EVUxFUyk7CiAJfQogfQogCi1pbnQgc3VibW9kdWxlX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKKy8qIENoZWFwIGZ1bmN0aW9uIHRoYXQgb25seSBkZXRlcm1pbmVzIGlmIHdlJ3JlIGludGVyZXN0ZWQgaW4gc3VibW9kdWxlcyBhdCBhbGwgKi8KK2ludCBnaXRfZGVmYXVsdF9zdWJtb2R1bGVfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogewotCWlmICghc3RyY21wKHZhciwgInN1Ym1vZHVsZS5mZXRjaGpvYnMiKSkgewotCQlwYXJhbGxlbF9qb2JzID0gZ2l0X2NvbmZpZ19pbnQodmFyLCB2YWx1ZSk7Ci0JCWlmIChwYXJhbGxlbF9qb2JzIDwgMCkKLQkJCWRpZShfKCJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiKSk7Ci0JCXJldHVybiAwOwotCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgodmFyLCAic3VibW9kdWxlLiIpKQotCQlyZXR1cm4gcGFyc2Vfc3VibW9kdWxlX2NvbmZpZ19vcHRpb24odmFyLCB2YWx1ZSk7Ci0JZWxzZSBpZiAoIXN0cmNtcCh2YXIsICJmZXRjaC5yZWN1cnNlc3VibW9kdWxlcyIpKSB7Ci0JCWNvbmZpZ19mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXMgPSBwYXJzZV9mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXNfYXJnKHZhciwgdmFsdWUpOwotCQlyZXR1cm4gMDsKKwlpZiAoIXN0cmNtcCh2YXIsICJzdWJtb2R1bGUucmVjdXJzZSIpKSB7CisJCWludCB2ID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpID8KKwkJCVJFQ1VSU0VfU1VCTU9EVUxFU19PTiA6IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkY7CisJCWNvbmZpZ191cGRhdGVfcmVjdXJzZV9zdWJtb2R1bGVzID0gdjsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgZ2l0bW9kdWxlc19jb25maWcodm9pZCkKK2ludCBvcHRpb25fcGFyc2VfcmVjdXJzZV9zdWJtb2R1bGVzX3dvcmt0cmVlX3VwZGF0ZXIoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCQkJICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKIHsKLQljb25zdCBjaGFyICp3b3JrX3RyZWUgPSBnZXRfZ2l0X3dvcmtfdHJlZSgpOwotCWlmICh3b3JrX3RyZWUpIHsKLQkJc3RydWN0IHN0cmJ1ZiBnaXRtb2R1bGVzX3BhdGggPSBTVFJCVUZfSU5JVDsKLQkJaW50IHBvczsKLQkJc3RyYnVmX2FkZHN0cigmZ2l0bW9kdWxlc19wYXRoLCB3b3JrX3RyZWUpOwotCQlzdHJidWZfYWRkc3RyKCZnaXRtb2R1bGVzX3BhdGgsICIvLmdpdG1vZHVsZXMiKTsKLQkJaWYgKHJlYWRfY2FjaGUoKSA8IDApCi0JCQlkaWUoImluZGV4IGZpbGUgY29ycnVwdCIpOwotCQlwb3MgPSBjYWNoZV9uYW1lX3BvcygiLmdpdG1vZHVsZXMiLCAxMSk7Ci0JCWlmIChwb3MgPCAwKSB7IC8qIC5naXRtb2R1bGVzIG5vdCBmb3VuZCBvciBpc24ndCBtZXJnZWQgKi8KLQkJCXBvcyA9IC0xIC0gcG9zOwotCQkJaWYgKGFjdGl2ZV9uciA+IHBvcykgeyAgLyogdGhlcmUgaXMgYSAuZ2l0bW9kdWxlcyAqLwotCQkJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbcG9zXTsKLQkJCQlpZiAoY2VfbmFtZWxlbihjZSkgPT0gMTEgJiYKLQkJCQkgICAgIW1lbWNtcChjZS0+bmFtZSwgIi5naXRtb2R1bGVzIiwgMTEpKQotCQkJCQlnaXRtb2R1bGVzX2lzX3VubWVyZ2VkID0gMTsKLQkJCX0KLQkJfSBlbHNlIGlmIChwb3MgPCBhY3RpdmVfbnIpIHsKLQkJCXN0cnVjdCBzdGF0IHN0OwotCQkJaWYgKGxzdGF0KCIuZ2l0bW9kdWxlcyIsICZzdCkgPT0gMCAmJgotCQkJICAgIGNlX21hdGNoX3N0YXQoYWN0aXZlX2NhY2hlW3Bvc10sICZzdCwgMCkgJiBEQVRBX0NIQU5HRUQpCi0JCQkJZ2l0bW9kdWxlc19pc19tb2RpZmllZCA9IDE7Ci0JCX0KLQotCQlpZiAoIWdpdG1vZHVsZXNfaXNfdW5tZXJnZWQpCi0JCQlnaXRfY29uZmlnX2Zyb21fZmlsZShzdWJtb2R1bGVfY29uZmlnLCBnaXRtb2R1bGVzX3BhdGguYnVmLCBOVUxMKTsKLQkJc3RyYnVmX3JlbGVhc2UoJmdpdG1vZHVsZXNfcGF0aCk7CisJaWYgKHVuc2V0KSB7CisJCWNvbmZpZ191cGRhdGVfcmVjdXJzZV9zdWJtb2R1bGVzID0gUkVDVVJTRV9TVUJNT0RVTEVTX09GRjsKKwkJcmV0dXJuIDA7CiAJfQotfQorCWlmIChhcmcpCisJCWNvbmZpZ191cGRhdGVfcmVjdXJzZV9zdWJtb2R1bGVzID0KKwkJCXBhcnNlX3VwZGF0ZV9yZWN1cnNlX3N1Ym1vZHVsZXNfYXJnKG9wdC0+bG9uZ19uYW1lLAorCQkJCQkJCSAgICBhcmcpOworCWVsc2UKKwkJY29uZmlnX3VwZGF0ZV9yZWN1cnNlX3N1Ym1vZHVsZXMgPSBSRUNVUlNFX1NVQk1PRFVMRVNfT047CiAKLXZvaWQgZ2l0bW9kdWxlc19jb25maWdfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpjb21taXRfc2hhMSkKLXsKLQlzdHJ1Y3Qgc3RyYnVmIHJldiA9IFNUUkJVRl9JTklUOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0KLQlpZiAoZ2l0bW9kdWxlX3NoYTFfZnJvbV9jb21taXQoY29tbWl0X3NoYTEsIHNoYTEsICZyZXYpKSB7Ci0JCWdpdF9jb25maWdfZnJvbV9ibG9iX3NoYTEoc3VibW9kdWxlX2NvbmZpZywgcmV2LmJ1ZiwKLQkJCQkJICBzaGExLCBOVUxMKTsKLQl9Ci0Jc3RyYnVmX3JlbGVhc2UoJnJldik7CisJcmV0dXJuIDA7CiB9CiAKIC8qCiAgKiBEZXRlcm1pbmUgaWYgYSBzdWJtb2R1bGUgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYXQgYSBnaXZlbiAncGF0aCcKICAqLwotaW50IGlzX3N1Ym1vZHVsZV9pbml0aWFsaXplZChjb25zdCBjaGFyICpwYXRoKQoraW50IGlzX3N1Ym1vZHVsZV9hY3RpdmUoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJaW50IHJldCA9IDA7Ci0JY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqbW9kdWxlID0gTlVMTDsKKwljaGFyICprZXkgPSBOVUxMOworCWNoYXIgKnZhbHVlID0gTlVMTDsKKwljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnNsOworCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKm1vZHVsZTsKIAotCW1vZHVsZSA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgobnVsbF9zaGExLCBwYXRoKTsKKwltb2R1bGUgPSBzdWJtb2R1bGVfZnJvbV9jYWNoZShyZXBvLCAmbnVsbF9vaWQsIHBhdGgpOwogCi0JaWYgKG1vZHVsZSkgewotCQljaGFyICprZXkgPSB4c3RyZm10KCJzdWJtb2R1bGUuJXMudXJsIiwgbW9kdWxlLT5uYW1lKTsKLQkJY2hhciAqdmFsdWUgPSBOVUxMOworCS8qIGVhcmx5IHJldHVybiBpZiB0aGVyZSBpc24ndCBhIHBhdGgtPm1vZHVsZSBtYXBwaW5nICovCisJaWYgKCFtb2R1bGUpCisJCXJldHVybiAwOwogCi0JCXJldCA9ICFnaXRfY29uZmlnX2dldF9zdHJpbmcoa2V5LCAmdmFsdWUpOwotCi0JCWZyZWUodmFsdWUpOworCS8qIHN1Ym1vZHVsZS48bmFtZT4uYWN0aXZlIGlzIHNldCAqLworCWtleSA9IHhzdHJmbXQoInN1Ym1vZHVsZS4lcy5hY3RpdmUiLCBtb2R1bGUtPm5hbWUpOworCWlmICghcmVwb19jb25maWdfZ2V0X2Jvb2wocmVwbywga2V5LCAmcmV0KSkgewogCQlmcmVlKGtleSk7CisJCXJldHVybiByZXQ7CisJfQorCWZyZWUoa2V5KTsKKworCS8qIHN1Ym1vZHVsZS5hY3RpdmUgaXMgc2V0ICovCisJc2wgPSByZXBvX2NvbmZpZ19nZXRfdmFsdWVfbXVsdGkocmVwbywgInN1Ym1vZHVsZS5hY3RpdmUiKTsKKwlpZiAoc2wpIHsKKwkJc3RydWN0IHBhdGhzcGVjIHBzOworCQlzdHJ1Y3QgYXJndl9hcnJheSBhcmdzID0gQVJHVl9BUlJBWV9JTklUOworCQljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKworCQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIHNsKSB7CisJCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIGl0ZW0tPnN0cmluZyk7CisJCX0KKworCQlwYXJzZV9wYXRoc3BlYygmcHMsIDAsIDAsIE5VTEwsIGFyZ3MuYXJndik7CisJCXJldCA9IG1hdGNoX3BhdGhzcGVjKCZwcywgcGF0aCwgc3RybGVuKHBhdGgpLCAwLCBOVUxMLCAxKTsKKworCQlhcmd2X2FycmF5X2NsZWFyKCZhcmdzKTsKKwkJY2xlYXJfcGF0aHNwZWMoJnBzKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKKwkvKiBmYWxsYmFjayB0byBjaGVja2luZyBpZiB0aGUgVVJMIGlzIHNldCAqLworCWtleSA9IHhzdHJmbXQoInN1Ym1vZHVsZS4lcy51cmwiLCBtb2R1bGUtPm5hbWUpOworCXJldCA9ICFyZXBvX2NvbmZpZ19nZXRfc3RyaW5nKHJlcG8sIGtleSwgJnZhbHVlKTsKKworCWZyZWUodmFsdWUpOworCWZyZWUoa2V5KTsKIAlyZXR1cm4gcmV0OwogfQogCi0vKgotICogRGV0ZXJtaW5lIGlmIGEgc3VibW9kdWxlIGhhcyBiZWVuIHBvcHVsYXRlZCBhdCBhIGdpdmVuICdwYXRoJwotICovCi1pbnQgaXNfc3VibW9kdWxlX3BvcHVsYXRlZChjb25zdCBjaGFyICpwYXRoKQoraW50IGlzX3N1Ym1vZHVsZV9wb3B1bGF0ZWRfZ2VudGx5KGNvbnN0IGNoYXIgKnBhdGgsIGludCAqcmV0dXJuX2Vycm9yX2NvZGUpCiB7CiAJaW50IHJldCA9IDA7CiAJY2hhciAqZ2l0ZGlyID0geHN0cmZtdCgiJXMvLmdpdCIsIHBhdGgpOwogCi0JaWYgKHJlc29sdmVfZ2l0ZGlyKGdpdGRpcikpCisJaWYgKHJlc29sdmVfZ2l0ZGlyX2dlbnRseShnaXRkaXIsIHJldHVybl9lcnJvcl9jb2RlKSkKIAkJcmV0ID0gMTsKIAogCWZyZWUoZ2l0ZGlyKTsKIAlyZXR1cm4gcmV0OwogfQogCisvKgorICogRGllcyBpZiB0aGUgcHJvdmlkZWQgJ3ByZWZpeCcgY29ycmVzcG9uZHMgdG8gYW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlCisgKi8KK3ZvaWQgZGllX2luX3VucG9wdWxhdGVkX3N1Ym1vZHVsZShjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCQkgIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlpbnQgaSwgcHJlZml4bGVuOworCisJaWYgKCFwcmVmaXgpCisJCXJldHVybjsKKworCXByZWZpeGxlbiA9IHN0cmxlbihwcmVmaXgpOworCisJZm9yIChpID0gMDsgaSA8IGlzdGF0ZS0+Y2FjaGVfbnI7IGkrKykgeworCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gaXN0YXRlLT5jYWNoZVtpXTsKKwkJaW50IGNlX2xlbiA9IGNlX25hbWVsZW4oY2UpOworCisJCWlmICghU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQorCQkJY29udGludWU7CisJCWlmIChwcmVmaXhsZW4gPD0gY2VfbGVuKQorCQkJY29udGludWU7CisJCWlmIChzdHJuY21wKGNlLT5uYW1lLCBwcmVmaXgsIGNlX2xlbikpCisJCQljb250aW51ZTsKKwkJaWYgKHByZWZpeFtjZV9sZW5dICE9ICcvJykKKwkJCWNvbnRpbnVlOworCisJCWRpZShfKCJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIpLCBjZS0+bmFtZSk7CisJfQorfQorCisvKgorICogRGllcyBpZiBhbnkgcGF0aHMgaW4gdGhlIHByb3ZpZGVkIHBhdGhzcGVjIGRlc2NlbmRzIGludG8gYSBzdWJtb2R1bGUKKyAqLwordm9pZCBkaWVfcGF0aF9pbnNpZGVfc3VibW9kdWxlKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMpCit7CisJaW50IGksIGo7CisKKwlmb3IgKGkgPSAwOyBpIDwgaXN0YXRlLT5jYWNoZV9ucjsgaSsrKSB7CisJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpc3RhdGUtPmNhY2hlW2ldOworCQlpbnQgY2VfbGVuID0gY2VfbmFtZWxlbihjZSk7CisKKwkJaWYgKCFTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpCisJCQljb250aW51ZTsKKworCQlmb3IgKGogPSAwOyBqIDwgcHMtPm5yIDsgaisrKSB7CisJCQljb25zdCBzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqaXRlbSA9ICZwcy0+aXRlbXNbal07CisKKwkJCWlmIChpdGVtLT5sZW4gPD0gY2VfbGVuKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGl0ZW0tPm1hdGNoW2NlX2xlbl0gIT0gJy8nKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKHN0cm5jbXAoY2UtPm5hbWUsIGl0ZW0tPm1hdGNoLCBjZV9sZW4pKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGl0ZW0tPmxlbiA9PSBjZV9sZW4gKyAxKQorCQkJCWNvbnRpbnVlOworCisJCQlkaWUoXygiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIiksCisJCQkgICAgaXRlbS0+b3JpZ2luYWwsIGNlX2xlbiwgY2UtPm5hbWUpOworCQl9CisJfQorfQorCitlbnVtIHN1Ym1vZHVsZV91cGRhdGVfdHlwZSBwYXJzZV9zdWJtb2R1bGVfdXBkYXRlX3R5cGUoY29uc3QgY2hhciAqdmFsdWUpCit7CisJaWYgKCFzdHJjbXAodmFsdWUsICJub25lIikpCisJCXJldHVybiBTTV9VUERBVEVfTk9ORTsKKwllbHNlIGlmICghc3RyY21wKHZhbHVlLCAiY2hlY2tvdXQiKSkKKwkJcmV0dXJuIFNNX1VQREFURV9DSEVDS09VVDsKKwllbHNlIGlmICghc3RyY21wKHZhbHVlLCAicmViYXNlIikpCisJCXJldHVybiBTTV9VUERBVEVfUkVCQVNFOworCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJtZXJnZSIpKQorCQlyZXR1cm4gU01fVVBEQVRFX01FUkdFOworCWVsc2UgaWYgKCp2YWx1ZSA9PSAnIScpCisJCXJldHVybiBTTV9VUERBVEVfQ09NTUFORDsKKwllbHNlCisJCXJldHVybiBTTV9VUERBVEVfVU5TUEVDSUZJRUQ7Cit9CisKIGludCBwYXJzZV9zdWJtb2R1bGVfdXBkYXRlX3N0cmF0ZWd5KGNvbnN0IGNoYXIgKnZhbHVlLAogCQlzdHJ1Y3Qgc3VibW9kdWxlX3VwZGF0ZV9zdHJhdGVneSAqZHN0KQogeworCWVudW0gc3VibW9kdWxlX3VwZGF0ZV90eXBlIHR5cGU7CisKIAlmcmVlKCh2b2lkKilkc3QtPmNvbW1hbmQpOwogCWRzdC0+Y29tbWFuZCA9IE5VTEw7Ci0JaWYgKCFzdHJjbXAodmFsdWUsICJub25lIikpCi0JCWRzdC0+dHlwZSA9IFNNX1VQREFURV9OT05FOwotCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJjaGVja291dCIpKQotCQlkc3QtPnR5cGUgPSBTTV9VUERBVEVfQ0hFQ0tPVVQ7Ci0JZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZSwgInJlYmFzZSIpKQotCQlkc3QtPnR5cGUgPSBTTV9VUERBVEVfUkVCQVNFOwotCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJtZXJnZSIpKQotCQlkc3QtPnR5cGUgPSBTTV9VUERBVEVfTUVSR0U7Ci0JZWxzZSBpZiAoc2tpcF9wcmVmaXgodmFsdWUsICIhIiwgJnZhbHVlKSkgewotCQlkc3QtPnR5cGUgPSBTTV9VUERBVEVfQ09NTUFORDsKLQkJZHN0LT5jb21tYW5kID0geHN0cmR1cCh2YWx1ZSk7Ci0JfSBlbHNlCisKKwl0eXBlID0gcGFyc2Vfc3VibW9kdWxlX3VwZGF0ZV90eXBlKHZhbHVlKTsKKwlpZiAodHlwZSA9PSBTTV9VUERBVEVfVU5TUEVDSUZJRUQpCiAJCXJldHVybiAtMTsKKworCWRzdC0+dHlwZSA9IHR5cGU7CisJaWYgKHR5cGUgPT0gU01fVVBEQVRFX0NPTU1BTkQpCisJCWRzdC0+Y29tbWFuZCA9IHhzdHJkdXAodmFsdWUgKyAxKTsKKwogCXJldHVybiAwOwogfQogCkBAIC0zMjksOSArNDM3LDcgQEAKIAlyZXR1cm4gcHJlcGFyZV9yZXZpc2lvbl93YWxrKHJldik7CiB9CiAKLXN0YXRpYyB2b2lkIHByaW50X3N1Ym1vZHVsZV9zdW1tYXJ5KHN0cnVjdCByZXZfaW5mbyAqcmV2LCBGSUxFICpmLAotCQljb25zdCBjaGFyICpsaW5lX3ByZWZpeCwKLQkJY29uc3QgY2hhciAqZGVsLCBjb25zdCBjaGFyICphZGQsIGNvbnN0IGNoYXIgKnJlc2V0KQorc3RhdGljIHZvaWQgcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkoc3RydWN0IHJldl9pbmZvICpyZXYsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm8pCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgZm9ybWF0W10gPSAiICAlbSAlcyI7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwpAQCAtMzQyLDMyICs0NDgsNDEgQEAKIAkJY3R4LmRhdGVfbW9kZSA9IHJldi0+ZGF0ZV9tb2RlOwogCQljdHgub3V0cHV0X2VuY29kaW5nID0gZ2V0X2xvZ19vdXRwdXRfZW5jb2RpbmcoKTsKIAkJc3RyYnVmX3NldGxlbigmc2IsIDApOwotCQlzdHJidWZfYWRkc3RyKCZzYiwgbGluZV9wcmVmaXgpOwotCQlpZiAoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBTWU1NRVRSSUNfTEVGVCkgewotCQkJaWYgKGRlbCkKLQkJCQlzdHJidWZfYWRkc3RyKCZzYiwgZGVsKTsKLQkJfQotCQllbHNlIGlmIChhZGQpCi0JCQlzdHJidWZfYWRkc3RyKCZzYiwgYWRkKTsKIAkJZm9ybWF0X2NvbW1pdF9tZXNzYWdlKGNvbW1pdCwgZm9ybWF0LCAmc2IsICZjdHgpOwotCQlpZiAocmVzZXQpCi0JCQlzdHJidWZfYWRkc3RyKCZzYiwgcmVzZXQpOwogCQlzdHJidWZfYWRkY2goJnNiLCAnXG4nKTsKLQkJZnByaW50ZihmLCAiJXMiLCBzYi5idWYpOworCQlpZiAoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBTWU1NRVRSSUNfTEVGVCkKKwkJCWRpZmZfZW1pdF9zdWJtb2R1bGVfZGVsKG8sIHNiLmJ1Zik7CisJCWVsc2UKKwkJCWRpZmZfZW1pdF9zdWJtb2R1bGVfYWRkKG8sIHNiLmJ1Zik7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiB9CiAKK3N0YXRpYyB2b2lkIHByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52X25vX2dpdF9kaXIoc3RydWN0IGFyZ3ZfYXJyYXkgKm91dCkKK3sKKwljb25zdCBjaGFyICogY29uc3QgKnZhcjsKKworCWZvciAodmFyID0gbG9jYWxfcmVwb19lbnY7ICp2YXI7IHZhcisrKSB7CisJCWlmIChzdHJjbXAoKnZhciwgQ09ORklHX0RBVEFfRU5WSVJPTk1FTlQpKQorCQkJYXJndl9hcnJheV9wdXNoKG91dCwgKnZhcik7CisJfQorfQorCit2b2lkIHByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KHN0cnVjdCBhcmd2X2FycmF5ICpvdXQpCit7CisJcHJlcGFyZV9zdWJtb2R1bGVfcmVwb19lbnZfbm9fZ2l0X2RpcihvdXQpOworCWFyZ3ZfYXJyYXlfcHVzaGYob3V0LCAiJXM9JXMiLCBHSVRfRElSX0VOVklST05NRU5ULAorCQkJIERFRkFVTFRfR0lUX0RJUl9FTlZJUk9OTUVOVCk7Cit9CisKIC8qIEhlbHBlciBmdW5jdGlvbiB0byBkaXNwbGF5IHRoZSBzdWJtb2R1bGUgaGVhZGVyIGxpbmUgcHJpb3IgdG8gdGhlIGZ1bGwKICAqIHN1bW1hcnkgb3V0cHV0LiBJZiBpdCBjYW4gbG9jYXRlIHRoZSBzdWJtb2R1bGUgb2JqZWN0cyBkaXJlY3RvcnkgaXQgd2lsbAogICogYXR0ZW1wdCB0byBsb29rdXAgYm90aCB0aGUgbGVmdCBhbmQgcmlnaHQgY29tbWl0cyBhbmQgcHV0IHRoZW0gaW50byB0aGUKICAqIGxlZnQgYW5kIHJpZ2h0IHBvaW50ZXJzLgogICovCi1zdGF0aWMgdm9pZCBzaG93X3N1Ym1vZHVsZV9oZWFkZXIoRklMRSAqZiwgY29uc3QgY2hhciAqcGF0aCwKLQkJY29uc3QgY2hhciAqbGluZV9wcmVmaXgsCitzdGF0aWMgdm9pZCBzaG93X3N1Ym1vZHVsZV9oZWFkZXIoc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgY29uc3QgY2hhciAqcGF0aCwKIAkJc3RydWN0IG9iamVjdF9pZCAqb25lLCBzdHJ1Y3Qgb2JqZWN0X2lkICp0d28sCi0JCXVuc2lnbmVkIGRpcnR5X3N1Ym1vZHVsZSwgY29uc3QgY2hhciAqbWV0YSwKLQkJY29uc3QgY2hhciAqcmVzZXQsCisJCXVuc2lnbmVkIGRpcnR5X3N1Ym1vZHVsZSwKIAkJc3RydWN0IGNvbW1pdCAqKmxlZnQsIHN0cnVjdCBjb21taXQgKipyaWdodCwKIAkJc3RydWN0IGNvbW1pdF9saXN0ICoqbWVyZ2VfYmFzZXMpCiB7CkBAIC0zNzYsMTEgKzQ5MSwxMCBAQAogCWludCBmYXN0X2ZvcndhcmQgPSAwLCBmYXN0X2JhY2t3YXJkID0gMDsKIAogCWlmIChkaXJ0eV9zdWJtb2R1bGUgJiBESVJUWV9TVUJNT0RVTEVfVU5UUkFDS0VEKQotCQlmcHJpbnRmKGYsICIlc1N1Ym1vZHVsZSAlcyBjb250YWlucyB1bnRyYWNrZWQgY29udGVudFxuIiwKLQkJCWxpbmVfcHJlZml4LCBwYXRoKTsKKwkJZGlmZl9lbWl0X3N1Ym1vZHVsZV91bnRyYWNrZWQobywgcGF0aCk7CisKIAlpZiAoZGlydHlfc3VibW9kdWxlICYgRElSVFlfU1VCTU9EVUxFX01PRElGSUVEKQotCQlmcHJpbnRmKGYsICIlc1N1Ym1vZHVsZSAlcyBjb250YWlucyBtb2RpZmllZCBjb250ZW50XG4iLAotCQkJbGluZV9wcmVmaXgsIHBhdGgpOworCQlkaWZmX2VtaXRfc3VibW9kdWxlX21vZGlmaWVkKG8sIHBhdGgpOwogCiAJaWYgKGlzX251bGxfb2lkKG9uZSkpCiAJCW1lc3NhZ2UgPSAiKG5ldyBzdWJtb2R1bGUpIjsKQEAgLTM4OSw3ICs1MDMsNyBAQAogCiAJaWYgKGFkZF9zdWJtb2R1bGVfb2RiKHBhdGgpKSB7CiAJCWlmICghbWVzc2FnZSkKLQkJCW1lc3NhZ2UgPSAiKG5vdCBpbml0aWFsaXplZCkiOworCQkJbWVzc2FnZSA9ICIoY29tbWl0cyBub3QgcHJlc2VudCkiOwogCQlnb3RvIG91dHB1dF9oZWFkZXI7CiAJfQogCkBAIC0zOTcsOCArNTExLDggQEAKIAkgKiBBdHRlbXB0IHRvIGxvb2t1cCB0aGUgY29tbWl0IHJlZmVyZW5jZXMsIGFuZCBkZXRlcm1pbmUgaWYgdGhpcyBpcwogCSAqIGEgZmFzdCBmb3J3YXJkIG9yIGZhc3QgYmFja3dhcmRzIHVwZGF0ZS4KIAkgKi8KLQkqbGVmdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9uZS0+aGFzaCk7Ci0JKnJpZ2h0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodHdvLT5oYXNoKTsKKwkqbGVmdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9uZSk7CisJKnJpZ2h0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodHdvKTsKIAogCS8qCiAJICogV2FybiBhYm91dCBtaXNzaW5nIGNvbW1pdHMgaW4gdGhlIHN1Ym1vZHVsZSBwcm9qZWN0LCBidXQgb25seSBpZgpAQCAtNDIyLDMxICs1MzYsMjkgQEAKIAl9CiAKIG91dHB1dF9oZWFkZXI6Ci0Jc3RyYnVmX2FkZGYoJnNiLCAiJXMlc1N1Ym1vZHVsZSAlcyAiLCBsaW5lX3ByZWZpeCwgbWV0YSwgcGF0aCk7CisJc3RyYnVmX2FkZGYoJnNiLCAiU3VibW9kdWxlICVzICIsIHBhdGgpOwogCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldigmc2IsIG9uZS0+aGFzaCwgREVGQVVMVF9BQkJSRVYpOwogCXN0cmJ1Zl9hZGRzdHIoJnNiLCAoZmFzdF9iYWNrd2FyZCB8fCBmYXN0X2ZvcndhcmQpID8gIi4uIiA6ICIuLi4iKTsKIAlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoJnNiLCB0d28tPmhhc2gsIERFRkFVTFRfQUJCUkVWKTsKIAlpZiAobWVzc2FnZSkKLQkJc3RyYnVmX2FkZGYoJnNiLCAiICVzJXNcbiIsIG1lc3NhZ2UsIHJlc2V0KTsKKwkJc3RyYnVmX2FkZGYoJnNiLCAiICVzXG4iLCBtZXNzYWdlKTsKIAllbHNlCi0JCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzOiVzXG4iLCBmYXN0X2JhY2t3YXJkID8gIiAocmV3aW5kKSIgOiAiIiwgcmVzZXQpOwotCWZ3cml0ZShzYi5idWYsIHNiLmxlbiwgMSwgZik7CisJCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzOlxuIiwgZmFzdF9iYWNrd2FyZCA/ICIgKHJld2luZCkiIDogIiIpOworCWRpZmZfZW1pdF9zdWJtb2R1bGVfaGVhZGVyKG8sIHNiLmJ1Zik7CiAKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwogfQogCi12b2lkIHNob3dfc3VibW9kdWxlX3N1bW1hcnkoRklMRSAqZiwgY29uc3QgY2hhciAqcGF0aCwKLQkJY29uc3QgY2hhciAqbGluZV9wcmVmaXgsCit2b2lkIHNob3dfc3VibW9kdWxlX3N1bW1hcnkoc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgY29uc3QgY2hhciAqcGF0aCwKIAkJc3RydWN0IG9iamVjdF9pZCAqb25lLCBzdHJ1Y3Qgb2JqZWN0X2lkICp0d28sCi0JCXVuc2lnbmVkIGRpcnR5X3N1Ym1vZHVsZSwgY29uc3QgY2hhciAqbWV0YSwKLQkJY29uc3QgY2hhciAqZGVsLCBjb25zdCBjaGFyICphZGQsIGNvbnN0IGNoYXIgKnJlc2V0KQorCQl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUpCiB7CiAJc3RydWN0IHJldl9pbmZvIHJldjsKIAlzdHJ1Y3QgY29tbWl0ICpsZWZ0ID0gTlVMTCwgKnJpZ2h0ID0gTlVMTDsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKm1lcmdlX2Jhc2VzID0gTlVMTDsKIAotCXNob3dfc3VibW9kdWxlX2hlYWRlcihmLCBwYXRoLCBsaW5lX3ByZWZpeCwgb25lLCB0d28sIGRpcnR5X3N1Ym1vZHVsZSwKLQkJCSAgICAgIG1ldGEsIHJlc2V0LCAmbGVmdCwgJnJpZ2h0LCAmbWVyZ2VfYmFzZXMpOworCXNob3dfc3VibW9kdWxlX2hlYWRlcihvLCBwYXRoLCBvbmUsIHR3bywgZGlydHlfc3VibW9kdWxlLAorCQkJICAgICAgJmxlZnQsICZyaWdodCwgJm1lcmdlX2Jhc2VzKTsKIAogCS8qCiAJICogSWYgd2UgZG9uJ3QgaGF2ZSBib3RoIGEgbGVmdCBhbmQgYSByaWdodCBwb2ludGVyLCB0aGVyZSBpcyBubwpAQCAtNDU4LDExICs1NzAsMTEgQEAKIAogCS8qIFRyZWF0IHJldmlzaW9uIHdhbGtlciBmYWlsdXJlIHRoZSBzYW1lIGFzIG1pc3NpbmcgY29tbWl0cyAqLwogCWlmIChwcmVwYXJlX3N1Ym1vZHVsZV9zdW1tYXJ5KCZyZXYsIHBhdGgsIGxlZnQsIHJpZ2h0LCBtZXJnZV9iYXNlcykpIHsKLQkJZnByaW50ZihmLCAiJXMocmV2aXNpb24gd2Fsa2VyIGZhaWxlZClcbiIsIGxpbmVfcHJlZml4KTsKKwkJZGlmZl9lbWl0X3N1Ym1vZHVsZV9lcnJvcihvLCAiKHJldmlzaW9uIHdhbGtlciBmYWlsZWQpXG4iKTsKIAkJZ290byBvdXQ7CiAJfQogCi0JcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkoJnJldiwgZiwgbGluZV9wcmVmaXgsIGRlbCwgYWRkLCByZXNldCk7CisJcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkoJnJldiwgbyk7CiAKIG91dDoKIAlpZiAobWVyZ2VfYmFzZXMpCkBAIC00NzEsMjEgKzU4MywxOCBAQAogCWNsZWFyX2NvbW1pdF9tYXJrcyhyaWdodCwgfjApOwogfQogCi12b2lkIHNob3dfc3VibW9kdWxlX2lubGluZV9kaWZmKEZJTEUgKmYsIGNvbnN0IGNoYXIgKnBhdGgsCi0JCWNvbnN0IGNoYXIgKmxpbmVfcHJlZml4LAordm9pZCBzaG93X3N1Ym1vZHVsZV9pbmxpbmVfZGlmZihzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICpwYXRoLAogCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvbmUsIHN0cnVjdCBvYmplY3RfaWQgKnR3bywKLQkJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlLCBjb25zdCBjaGFyICptZXRhLAotCQljb25zdCBjaGFyICpkZWwsIGNvbnN0IGNoYXIgKmFkZCwgY29uc3QgY2hhciAqcmVzZXQsCi0JCWNvbnN0IHN0cnVjdCBkaWZmX29wdGlvbnMgKm8pCisJCXVuc2lnbmVkIGRpcnR5X3N1Ym1vZHVsZSkKIHsKIAljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGQgPSAmZW1wdHlfdHJlZV9vaWQsICpuZXcgPSAmZW1wdHlfdHJlZV9vaWQ7CiAJc3RydWN0IGNvbW1pdCAqbGVmdCA9IE5VTEwsICpyaWdodCA9IE5VTEw7CiAJc3RydWN0IGNvbW1pdF9saXN0ICptZXJnZV9iYXNlcyA9IE5VTEw7Ci0Jc3RydWN0IHN0cmJ1ZiBzdWJtb2R1bGVfZGlyID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCi0Jc2hvd19zdWJtb2R1bGVfaGVhZGVyKGYsIHBhdGgsIGxpbmVfcHJlZml4LCBvbmUsIHR3bywgZGlydHlfc3VibW9kdWxlLAotCQkJICAgICAgbWV0YSwgcmVzZXQsICZsZWZ0LCAmcmlnaHQsICZtZXJnZV9iYXNlcyk7CisJc2hvd19zdWJtb2R1bGVfaGVhZGVyKG8sIHBhdGgsIG9uZSwgdHdvLCBkaXJ0eV9zdWJtb2R1bGUsCisJCQkgICAgICAmbGVmdCwgJnJpZ2h0LCAmbWVyZ2VfYmFzZXMpOwogCiAJLyogV2UgbmVlZCBhIHZhbGlkIGxlZnQgYW5kIHJpZ2h0IGNvbW1pdCB0byBkaXNwbGF5IGEgZGlmZmVyZW5jZSAqLwogCWlmICghKGxlZnQgfHwgaXNfbnVsbF9vaWQob25lKSkgfHwKQEAgLTQ5NywxNSArNjA2LDE2IEBACiAJaWYgKHJpZ2h0KQogCQluZXcgPSB0d287CiAKLQlmZmx1c2goZik7CiAJY3AuZ2l0X2NtZCA9IDE7CiAJY3AuZGlyID0gcGF0aDsKLQljcC5vdXQgPSBkdXAoZmlsZW5vKGYpKTsKKwljcC5vdXQgPSAtMTsKIAljcC5ub19zdGRpbiA9IDE7CiAKIAkvKiBUT0RPOiBvdGhlciBvcHRpb25zIG1heSBuZWVkIHRvIGJlIHBhc3NlZCBoZXJlLiAqLwotCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgImRpZmYiKTsKLQlhcmd2X2FycmF5X3B1c2hmKCZjcC5hcmdzLCAiLS1saW5lLXByZWZpeD0lcyIsIGxpbmVfcHJlZml4KTsKKwlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAiZGlmZiIsICItLXN1Ym1vZHVsZT1kaWZmIiwgTlVMTCk7CisJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIi0tY29sb3I9JXMiLCB3YW50X2NvbG9yKG8tPnVzZV9jb2xvcikgPworCQkJICJhbHdheXMiIDogIm5ldmVyIik7CisKIAlpZiAoRElGRl9PUFRfVFNUKG8sIFJFVkVSU0VfRElGRikpIHsKIAkJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIi0tc3JjLXByZWZpeD0lcyVzLyIsCiAJCQkJIG8tPmJfcHJlZml4LCBwYXRoKTsKQEAgLTUyNywxMSArNjM3LDE4IEBACiAJaWYgKCEoZGlydHlfc3VibW9kdWxlICYgRElSVFlfU1VCTU9EVUxFX01PRElGSUVEKSkKIAkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCBvaWRfdG9faGV4KG5ldykpOwogCi0JaWYgKHJ1bl9jb21tYW5kKCZjcCkpCi0JCWZwcmludGYoZiwgIihkaWZmIGZhaWxlZClcbiIpOworCXByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KCZjcC5lbnZfYXJyYXkpOworCWlmIChzdGFydF9jb21tYW5kKCZjcCkpCisJCWRpZmZfZW1pdF9zdWJtb2R1bGVfZXJyb3IobywgIihkaWZmIGZhaWxlZClcbiIpOworCisJd2hpbGUgKHN0cmJ1Zl9nZXR3aG9sZWxpbmVfZmQoJnNiLCBjcC5vdXQsICdcbicpICE9IEVPRikKKwkJZGlmZl9lbWl0X3N1Ym1vZHVsZV9waXBldGhyb3VnaChvLCBzYi5idWYsIHNiLmxlbik7CisKKwlpZiAoZmluaXNoX2NvbW1hbmQoJmNwKSkKKwkJZGlmZl9lbWl0X3N1Ym1vZHVsZV9lcnJvcihvLCAiKGRpZmYgZmFpbGVkKVxuIik7CiAKIGRvbmU6Ci0Jc3RyYnVmX3JlbGVhc2UoJnN1Ym1vZHVsZV9kaXIpOworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJaWYgKG1lcmdlX2Jhc2VzKQogCQlmcmVlX2NvbW1pdF9saXN0KG1lcmdlX2Jhc2VzKTsKIAlpZiAobGVmdCkKQEAgLTU0MCw5ICs2NTcsMTA4IEBACiAJCWNsZWFyX2NvbW1pdF9tYXJrcyhyaWdodCwgfjApOwogfQogCi12b2lkIHNldF9jb25maWdfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzKGludCB2YWx1ZSkKK2ludCBzaG91bGRfdXBkYXRlX3N1Ym1vZHVsZXModm9pZCkKIHsKLQljb25maWdfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzID0gdmFsdWU7CisJcmV0dXJuIGNvbmZpZ191cGRhdGVfcmVjdXJzZV9zdWJtb2R1bGVzID09IFJFQ1VSU0VfU1VCTU9EVUxFU19PTjsKK30KKworY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlX2Zyb21fY2UoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSkKK3sKKwlpZiAoIVNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIXNob3VsZF91cGRhdGVfc3VibW9kdWxlcygpKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBzdWJtb2R1bGVfZnJvbV9wYXRoKCZudWxsX29pZCwgY2UtPm5hbWUpOworfQorCitzdGF0aWMgc3RydWN0IG9pZF9hcnJheSAqc3VibW9kdWxlX2NvbW1pdHMoc3RydWN0IHN0cmluZ19saXN0ICpzdWJtb2R1bGVzLAorCQkJCQkgICBjb25zdCBjaGFyICpwYXRoKQoreworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCisJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydChzdWJtb2R1bGVzLCBwYXRoKTsKKwlpZiAoaXRlbS0+dXRpbCkKKwkJcmV0dXJuIChzdHJ1Y3Qgb2lkX2FycmF5ICopIGl0ZW0tPnV0aWw7CisKKwkvKiBORUVEU1dPUks6IHNob3VsZCB3ZSBoYXZlIG9pZF9hcnJheV9pbml0KCk/ICovCisJaXRlbS0+dXRpbCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBvaWRfYXJyYXkpKTsKKwlyZXR1cm4gKHN0cnVjdCBvaWRfYXJyYXkgKikgaXRlbS0+dXRpbDsKK30KKworc3RhdGljIHZvaWQgY29sbGVjdF9jaGFuZ2VkX3N1Ym1vZHVsZXNfY2Ioc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxLAorCQkJCQkgIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCisJCQkJCSAgdm9pZCAqZGF0YSkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmNoYW5nZWQgPSBkYXRhOworCisJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKKwkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBxLT5xdWV1ZVtpXTsKKwkJc3RydWN0IG9pZF9hcnJheSAqY29tbWl0czsKKwkJaWYgKCFTX0lTR0lUTElOSyhwLT50d28tPm1vZGUpKQorCQkJY29udGludWU7CisKKwkJaWYgKFNfSVNHSVRMSU5LKHAtPm9uZS0+bW9kZSkpIHsKKwkJCS8qCisJCQkgKiBORUVEU1dPUks6IFdlIHNob3VsZCBob25vciB0aGUgbmFtZSBjb25maWd1cmVkIGluCisJCQkgKiB0aGUgLmdpdG1vZHVsZXMgZmlsZSBvZiB0aGUgY29tbWl0IHdlIGFyZSBleGFtaW5pbmcKKwkJCSAqIGhlcmUgdG8gYmUgYWJsZSB0byBjb3JyZWN0bHkgZm9sbG93IHN1Ym1vZHVsZXMKKwkJCSAqIGJlaW5nIG1vdmVkIGFyb3VuZC4KKwkJCSAqLworCQkJY29tbWl0cyA9IHN1Ym1vZHVsZV9jb21taXRzKGNoYW5nZWQsIHAtPnR3by0+cGF0aCk7CisJCQlvaWRfYXJyYXlfYXBwZW5kKGNvbW1pdHMsICZwLT50d28tPm9pZCk7CisJCX0gZWxzZSB7CisJCQkvKiBTdWJtb2R1bGUgaXMgbmV3IG9yIHdhcyBtb3ZlZCBoZXJlICovCisJCQkvKgorCQkJICogTkVFRFNXT1JLOiBXaGVuIHRoZSAuZ2l0IGRpcmVjdG9yaWVzIG9mIHN1Ym1vZHVsZXMKKwkJCSAqIGxpdmUgaW5zaWRlIHRoZSBzdXBlcnByb2plY3RzIC5naXQgZGlyZWN0b3J5IHNvbWUKKwkJCSAqIGRheSB3ZSBzaG91bGQgZmV0Y2ggbmV3IHN1Ym1vZHVsZXMgZGlyZWN0bHkgaW50bworCQkJICogdGhhdCBsb2NhdGlvbiB0b28gd2hlbiBjb25maWcgb3Igb3B0aW9ucyByZXF1ZXN0CisJCQkgKiB0aGF0IHNvIHRoZXkgY2FuIGJlIGNoZWNrZWQgb3V0IGZyb20gdGhlcmUuCisJCQkgKi8KKwkJCWNvbnRpbnVlOworCQl9CisJfQorfQorCisvKgorICogQ29sbGVjdCB0aGUgcGF0aHMgb2Ygc3VibW9kdWxlcyBpbiAnY2hhbmdlZCcgd2hpY2ggaGF2ZSBjaGFuZ2VkIGJhc2VkIG9uCisgKiB0aGUgcmV2aXNpb25zIGFzIHNwZWNpZmllZCBpbiAnYXJndicuICBFYWNoIGVudHJ5IGluICdjaGFuZ2VkJyB3aWxsIGFsc28KKyAqIGhhdmUgYSBjb3JyZXNwb25kaW5nICdzdHJ1Y3Qgb2lkX2FycmF5JyAoaW4gdGhlICd1dGlsJyBmaWVsZCkgd2hpY2ggbGlzdHMKKyAqIHdoYXQgdGhlIHN1Ym1vZHVsZSBwb2ludGVycyB3ZXJlIHVwZGF0ZWQgdG8gZHVyaW5nIHRoZSBjaGFuZ2UuCisgKi8KK3N0YXRpYyB2b2lkIGNvbGxlY3RfY2hhbmdlZF9zdWJtb2R1bGVzKHN0cnVjdCBzdHJpbmdfbGlzdCAqY2hhbmdlZCwKKwkJCQkgICAgICAgc3RydWN0IGFyZ3ZfYXJyYXkgKmFyZ3YpCit7CisJc3RydWN0IHJldl9pbmZvIHJldjsKKwljb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisKKwlpbml0X3JldmlzaW9ucygmcmV2LCBOVUxMKTsKKwlzZXR1cF9yZXZpc2lvbnMoYXJndi0+YXJnYywgYXJndi0+YXJndiwgJnJldiwgTlVMTCk7CisJaWYgKHByZXBhcmVfcmV2aXNpb25fd2FsaygmcmV2KSkKKwkJZGllKCJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIpOworCisJd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24oJnJldikpKSB7CisJCXN0cnVjdCByZXZfaW5mbyBkaWZmX3JldjsKKworCQlpbml0X3JldmlzaW9ucygmZGlmZl9yZXYsIE5VTEwpOworCQlkaWZmX3Jldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgfD0gRElGRl9GT1JNQVRfQ0FMTEJBQ0s7CisJCWRpZmZfcmV2LmRpZmZvcHQuZm9ybWF0X2NhbGxiYWNrID0gY29sbGVjdF9jaGFuZ2VkX3N1Ym1vZHVsZXNfY2I7CisJCWRpZmZfcmV2LmRpZmZvcHQuZm9ybWF0X2NhbGxiYWNrX2RhdGEgPSBjaGFuZ2VkOworCQlkaWZmX3RyZWVfY29tYmluZWRfbWVyZ2UoY29tbWl0LCAxLCAmZGlmZl9yZXYpOworCX0KKworCXJlc2V0X3JldmlzaW9uX3dhbGsoKTsKK30KKworc3RhdGljIHZvaWQgZnJlZV9zdWJtb2R1bGVzX29pZHMoc3RydWN0IHN0cmluZ19saXN0ICpzdWJtb2R1bGVzKQoreworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgc3VibW9kdWxlcykKKwkJb2lkX2FycmF5X2NsZWFyKChzdHJ1Y3Qgb2lkX2FycmF5ICopIGl0ZW0tPnV0aWwpOworCXN0cmluZ19saXN0X2NsZWFyKHN1Ym1vZHVsZXMsIDEpOwogfQogCiBzdGF0aWMgaW50IGhhc19yZW1vdGUoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLApAQCAtNTUxLDM1ICs3NjcsODYgQEAKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIGludCBhcHBlbmRfc2hhMV90b19hcmd2KGNvbnN0IHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGFwcGVuZF9vaWRfdG9fYXJndihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgKmFyZ3YgPSBkYXRhOwotCWFyZ3ZfYXJyYXlfcHVzaChhcmd2LCBzaGExX3RvX2hleChzaGExKSk7CisJYXJndl9hcnJheV9wdXNoKGFyZ3YsIG9pZF90b19oZXgob2lkKSk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgY2hlY2tfaGFzX2NvbW1pdChjb25zdCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLCB2b2lkICpkYXRhKQorc3RydWN0IGhhc19jb21taXRfZGF0YSB7CisJaW50IHJlc3VsdDsKKwljb25zdCBjaGFyICpwYXRoOworfTsKKworc3RhdGljIGludCBjaGVja19oYXNfY29tbWl0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqZGF0YSkKIHsKLQlpbnQgKmhhc19jb21taXQgPSBkYXRhOworCXN0cnVjdCBoYXNfY29tbWl0X2RhdGEgKmNiID0gZGF0YTsKIAotCWlmICghbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSkpCi0JCSpoYXNfY29tbWl0ID0gMDsKKwllbnVtIG9iamVjdF90eXBlIHR5cGUgPSBzaGExX29iamVjdF9pbmZvKG9pZC0+aGFzaCwgTlVMTCk7CiAKLQlyZXR1cm4gMDsKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIE9CSl9DT01NSVQ6CisJCXJldHVybiAwOworCWNhc2UgT0JKX0JBRDoKKwkJLyoKKwkJICogT2JqZWN0IGlzIG1pc3Npbmcgb3IgaW52YWxpZC4gSWYgaW52YWxpZCwgYW4gZXJyb3IgbWVzc2FnZQorCQkgKiBoYXMgYWxyZWFkeSBiZWVuIHByaW50ZWQuCisJCSAqLworCQljYi0+cmVzdWx0ID0gMDsKKwkJcmV0dXJuIDA7CisJZGVmYXVsdDoKKwkJZGllKF8oInN1Ym1vZHVsZSBlbnRyeSAnJXMnICglcykgaXMgYSAlcywgbm90IGEgY29tbWl0IiksCisJCSAgICBjYi0+cGF0aCwgb2lkX3RvX2hleChvaWQpLCB0eXBlbmFtZSh0eXBlKSk7CisJfQogfQogCi1zdGF0aWMgaW50IHN1Ym1vZHVsZV9oYXNfY29tbWl0cyhjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc2hhMV9hcnJheSAqY29tbWl0cykKK3N0YXRpYyBpbnQgc3VibW9kdWxlX2hhc19jb21taXRzKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBvaWRfYXJyYXkgKmNvbW1pdHMpCiB7Ci0JaW50IGhhc19jb21taXQgPSAxOworCXN0cnVjdCBoYXNfY29tbWl0X2RhdGEgaGFzX2NvbW1pdCA9IHsgMSwgcGF0aCB9OwogCisJLyoKKwkgKiBQZXJmb3JtIGEgY2hlYXAsIGJ1dCBpbmNvcnJlY3QgY2hlY2sgZm9yIHRoZSBleGlzdGVuY2Ugb2YgJ2NvbW1pdHMnLgorCSAqIFRoaXMgaXMgZG9uZSBieSBhZGRpbmcgdGhlIHN1Ym1vZHVsZSdzIG9iamVjdCBzdG9yZSB0byB0aGUgaW4tY29yZQorCSAqIG9iamVjdCBzdG9yZSwgYW5kIHRoZW4gcXVlcnlpbmcgZm9yIGVhY2ggY29tbWl0J3MgZXhpc3RlbmNlLiAgSWYgd2UKKwkgKiBkbyBub3QgaGF2ZSB0aGUgY29tbWl0IG9iamVjdCBhbnl3aGVyZSwgdGhlcmUgaXMgbm8gY2hhbmNlIHdlIGhhdmUKKwkgKiBpdCBpbiB0aGUgb2JqZWN0IHN0b3JlIG9mIHRoZSBjb3JyZWN0IHN1Ym1vZHVsZSBhbmQgaGF2ZSBpdAorCSAqIHJlYWNoYWJsZSBmcm9tIGEgcmVmLCBzbyB3ZSBjYW4gZmFpbCBlYXJseSB3aXRob3V0IHNwYXduaW5nIHJldi1saXN0CisJICogd2hpY2ggaXMgZXhwZW5zaXZlLgorCSAqLwogCWlmIChhZGRfc3VibW9kdWxlX29kYihwYXRoKSkKIAkJcmV0dXJuIDA7CiAKLQlzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZShjb21taXRzLCBjaGVja19oYXNfY29tbWl0LCAmaGFzX2NvbW1pdCk7Ci0JcmV0dXJuIGhhc19jb21taXQ7CisJb2lkX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZShjb21taXRzLCBjaGVja19oYXNfY29tbWl0LCAmaGFzX2NvbW1pdCk7CisKKwlpZiAoaGFzX2NvbW1pdC5yZXN1bHQpIHsKKwkJLyoKKwkJICogRXZlbiBpZiB0aGUgc3VibW9kdWxlIGlzIGNoZWNrZWQgb3V0IGFuZCB0aGUgY29tbWl0IGlzCisJCSAqIHByZXNlbnQsIG1ha2Ugc3VyZSBpdCBleGlzdHMgaW4gdGhlIHN1Ym1vZHVsZSdzIG9iamVjdCBzdG9yZQorCQkgKiBhbmQgdGhhdCBpdCBpcyByZWFjaGFibGUgZnJvbSBhIHJlZi4KKwkJICovCisJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCQlzdHJ1Y3Qgc3RyYnVmIG91dCA9IFNUUkJVRl9JTklUOworCisJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJyZXYtbGlzdCIsICItbiIsICIxIiwgTlVMTCk7CisJCW9pZF9hcnJheV9mb3JfZWFjaF91bmlxdWUoY29tbWl0cywgYXBwZW5kX29pZF90b19hcmd2LCAmY3AuYXJncyk7CisJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICItLW5vdCIsICItLWFsbCIsIE5VTEwpOworCisJCXByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KCZjcC5lbnZfYXJyYXkpOworCQljcC5naXRfY21kID0gMTsKKwkJY3Aubm9fc3RkaW4gPSAxOworCQljcC5kaXIgPSBwYXRoOworCisJCWlmIChjYXB0dXJlX2NvbW1hbmQoJmNwLCAmb3V0LCBHSVRfTUFYX0hFWFNaICsgMSkgfHwgb3V0LmxlbikKKwkJCWhhc19jb21taXQucmVzdWx0ID0gMDsKKworCQlzdHJidWZfcmVsZWFzZSgmb3V0KTsKKwl9CisKKwlyZXR1cm4gaGFzX2NvbW1pdC5yZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbnQgc3VibW9kdWxlX25lZWRzX3B1c2hpbmcoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHNoYTFfYXJyYXkgKmNvbW1pdHMpCitzdGF0aWMgaW50IHN1Ym1vZHVsZV9uZWVkc19wdXNoaW5nKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBvaWRfYXJyYXkgKmNvbW1pdHMpCiB7CiAJaWYgKCFzdWJtb2R1bGVfaGFzX2NvbW1pdHMocGF0aCwgY29tbWl0cykpCiAJCS8qCkBAIC02MDEsNyArODY4LDcgQEAKIAkJaW50IG5lZWRzX3B1c2hpbmcgPSAwOwogCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgInJldi1saXN0Iik7Ci0JCXNoYTFfYXJyYXlfZm9yX2VhY2hfdW5pcXVlKGNvbW1pdHMsIGFwcGVuZF9zaGExX3RvX2FyZ3YsICZjcC5hcmdzKTsKKwkJb2lkX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZShjb21taXRzLCBhcHBlbmRfb2lkX3RvX2FyZ3YsICZjcC5hcmdzKTsKIAkJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgIi0tbm90IiwgIi0tcmVtb3RlcyIsICItbiIsICIxIiAsIE5VTEwpOwogCiAJCXByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KCZjcC5lbnZfYXJyYXkpOwpAQCAtNjIzLDk2ICs4OTAsNDAgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBzaGExX2FycmF5ICpzdWJtb2R1bGVfY29tbWl0cyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnN1Ym1vZHVsZXMsCi0JCQkJCSAgICBjb25zdCBjaGFyICpwYXRoKQotewotCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOwotCi0JaXRlbSA9IHN0cmluZ19saXN0X2luc2VydChzdWJtb2R1bGVzLCBwYXRoKTsKLQlpZiAoaXRlbS0+dXRpbCkKLQkJcmV0dXJuIChzdHJ1Y3Qgc2hhMV9hcnJheSAqKSBpdGVtLT51dGlsOwotCi0JLyogTkVFRFNXT1JLOiBzaG91bGQgd2UgaGF2ZSBzaGExX2FycmF5X2luaXQoKT8gKi8KLQlpdGVtLT51dGlsID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHNoYTFfYXJyYXkpKTsKLQlyZXR1cm4gKHN0cnVjdCBzaGExX2FycmF5ICopIGl0ZW0tPnV0aWw7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbGxlY3Rfc3VibW9kdWxlc19mcm9tX2RpZmYoc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxLAotCQkJCQkgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywKLQkJCQkJIHZvaWQgKmRhdGEpCi17Ci0JaW50IGk7Ci0Jc3RydWN0IHN0cmluZ19saXN0ICpzdWJtb2R1bGVzID0gZGF0YTsKLQotCWZvciAoaSA9IDA7IGkgPCBxLT5ucjsgaSsrKSB7Ci0JCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gcS0+cXVldWVbaV07Ci0JCXN0cnVjdCBzaGExX2FycmF5ICpjb21taXRzOwotCQlpZiAoIVNfSVNHSVRMSU5LKHAtPnR3by0+bW9kZSkpCi0JCQljb250aW51ZTsKLQkJY29tbWl0cyA9IHN1Ym1vZHVsZV9jb21taXRzKHN1Ym1vZHVsZXMsIHAtPnR3by0+cGF0aCk7Ci0JCXNoYTFfYXJyYXlfYXBwZW5kKGNvbW1pdHMsIHAtPnR3by0+b2lkLmhhc2gpOwotCX0KLX0KLQotc3RhdGljIHZvaWQgZmluZF91bnB1c2hlZF9zdWJtb2R1bGVfY29tbWl0cyhzdHJ1Y3QgY29tbWl0ICpjb21taXQsCi0JCXN0cnVjdCBzdHJpbmdfbGlzdCAqbmVlZHNfcHVzaGluZykKLXsKLQlzdHJ1Y3QgcmV2X2luZm8gcmV2OwotCi0JaW5pdF9yZXZpc2lvbnMoJnJldiwgTlVMTCk7Ci0JcmV2LmRpZmZvcHQub3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9DQUxMQkFDSzsKLQlyZXYuZGlmZm9wdC5mb3JtYXRfY2FsbGJhY2sgPSBjb2xsZWN0X3N1Ym1vZHVsZXNfZnJvbV9kaWZmOwotCXJldi5kaWZmb3B0LmZvcm1hdF9jYWxsYmFja19kYXRhID0gbmVlZHNfcHVzaGluZzsKLQlkaWZmX3RyZWVfY29tYmluZWRfbWVyZ2UoY29tbWl0LCAxLCAmcmV2KTsKLX0KLQotc3RhdGljIHZvaWQgZnJlZV9zdWJtb2R1bGVzX3NoYTFzKHN0cnVjdCBzdHJpbmdfbGlzdCAqc3VibW9kdWxlcykKLXsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKLQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIHN1Ym1vZHVsZXMpCi0JCXNoYTFfYXJyYXlfY2xlYXIoKHN0cnVjdCBzaGExX2FycmF5ICopIGl0ZW0tPnV0aWwpOwotCXN0cmluZ19saXN0X2NsZWFyKHN1Ym1vZHVsZXMsIDEpOwotfQotCi1pbnQgZmluZF91bnB1c2hlZF9zdWJtb2R1bGVzKHN0cnVjdCBzaGExX2FycmF5ICpjb21taXRzLAoraW50IGZpbmRfdW5wdXNoZWRfc3VibW9kdWxlcyhzdHJ1Y3Qgb2lkX2FycmF5ICpjb21taXRzLAogCQljb25zdCBjaGFyICpyZW1vdGVzX25hbWUsIHN0cnVjdCBzdHJpbmdfbGlzdCAqbmVlZHNfcHVzaGluZykKIHsKLQlzdHJ1Y3QgcmV2X2luZm8gcmV2OwotCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3Qgc3VibW9kdWxlcyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpzdWJtb2R1bGU7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgYXJndiA9IEFSR1ZfQVJSQVlfSU5JVDsKIAotCWluaXRfcmV2aXNpb25zKCZyZXYsIE5VTEwpOwotCiAJLyogYXJndi5hcmd2WzBdIHdpbGwgYmUgaWdub3JlZCBieSBzZXR1cF9yZXZpc2lvbnMgKi8KIAlhcmd2X2FycmF5X3B1c2goJmFyZ3YsICJmaW5kX3VucHVzaGVkX3N1Ym1vZHVsZXMiKTsKLQlzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZShjb21taXRzLCBhcHBlbmRfc2hhMV90b19hcmd2LCAmYXJndik7CisJb2lkX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZShjb21taXRzLCBhcHBlbmRfb2lkX3RvX2FyZ3YsICZhcmd2KTsKIAlhcmd2X2FycmF5X3B1c2goJmFyZ3YsICItLW5vdCIpOwogCWFyZ3ZfYXJyYXlfcHVzaGYoJmFyZ3YsICItLXJlbW90ZXM9JXMiLCByZW1vdGVzX25hbWUpOwogCi0Jc2V0dXBfcmV2aXNpb25zKGFyZ3YuYXJnYywgYXJndi5hcmd2LCAmcmV2LCBOVUxMKTsKLQlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKCZyZXYpKQotCQlkaWUoInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIik7Ci0KLQl3aGlsZSAoKGNvbW1pdCA9IGdldF9yZXZpc2lvbigmcmV2KSkgIT0gTlVMTCkKLQkJZmluZF91bnB1c2hlZF9zdWJtb2R1bGVfY29tbWl0cyhjb21taXQsICZzdWJtb2R1bGVzKTsKLQotCXJlc2V0X3JldmlzaW9uX3dhbGsoKTsKLQlhcmd2X2FycmF5X2NsZWFyKCZhcmd2KTsKKwljb2xsZWN0X2NoYW5nZWRfc3VibW9kdWxlcygmc3VibW9kdWxlcywgJmFyZ3YpOwogCiAJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShzdWJtb2R1bGUsICZzdWJtb2R1bGVzKSB7Ci0JCXN0cnVjdCBzaGExX2FycmF5ICpjb21taXRzID0gKHN0cnVjdCBzaGExX2FycmF5ICopIHN1Ym1vZHVsZS0+dXRpbDsKKwkJc3RydWN0IG9pZF9hcnJheSAqY29tbWl0cyA9IHN1Ym1vZHVsZS0+dXRpbDsKKwkJY29uc3QgY2hhciAqcGF0aCA9IHN1Ym1vZHVsZS0+c3RyaW5nOwogCi0JCWlmIChzdWJtb2R1bGVfbmVlZHNfcHVzaGluZyhzdWJtb2R1bGUtPnN0cmluZywgY29tbWl0cykpCi0JCQlzdHJpbmdfbGlzdF9pbnNlcnQobmVlZHNfcHVzaGluZywgc3VibW9kdWxlLT5zdHJpbmcpOworCQlpZiAoc3VibW9kdWxlX25lZWRzX3B1c2hpbmcocGF0aCwgY29tbWl0cykpCisJCQlzdHJpbmdfbGlzdF9pbnNlcnQobmVlZHNfcHVzaGluZywgcGF0aCk7CiAJfQotCWZyZWVfc3VibW9kdWxlc19zaGExcygmc3VibW9kdWxlcyk7CisKKwlmcmVlX3N1Ym1vZHVsZXNfb2lkcygmc3VibW9kdWxlcyk7CisJYXJndl9hcnJheV9jbGVhcigmYXJndik7CiAKIAlyZXR1cm4gbmVlZHNfcHVzaGluZy0+bnI7CiB9CiAKLXN0YXRpYyBpbnQgcHVzaF9zdWJtb2R1bGUoY29uc3QgY2hhciAqcGF0aCwgaW50IGRyeV9ydW4pCitzdGF0aWMgaW50IHB1c2hfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnBhdGgsCisJCQkgIGNvbnN0IHN0cnVjdCByZW1vdGUgKnJlbW90ZSwKKwkJCSAgY29uc3QgY2hhciAqKnJlZnNwZWMsIGludCByZWZzcGVjX25yLAorCQkJICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnB1c2hfb3B0aW9ucywKKwkJCSAgaW50IGRyeV9ydW4pCiB7CiAJaWYgKGFkZF9zdWJtb2R1bGVfb2RiKHBhdGgpKQogCQlyZXR1cm4gMTsKQEAgLTcyMyw2ICs5MzQsMjAgQEAKIAkJaWYgKGRyeV9ydW4pCiAJCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItLWRyeS1ydW4iKTsKIAorCQlpZiAocHVzaF9vcHRpb25zICYmIHB1c2hfb3B0aW9ucy0+bnIpIHsKKwkJCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCQkJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCBwdXNoX29wdGlvbnMpCisJCQkJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIi0tcHVzaC1vcHRpb249JXMiLAorCQkJCQkJIGl0ZW0tPnN0cmluZyk7CisJCX0KKworCQlpZiAocmVtb3RlLT5vcmlnaW4gIT0gUkVNT1RFX1VOQ09ORklHVVJFRCkgeworCQkJaW50IGk7CisJCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsIHJlbW90ZS0+bmFtZSk7CisJCQlmb3IgKGkgPSAwOyBpIDwgcmVmc3BlY19ucjsgaSsrKQorCQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgcmVmc3BlY1tpXSk7CisJCX0KKwogCQlwcmVwYXJlX3N1Ym1vZHVsZV9yZXBvX2VudigmY3AuZW52X2FycmF5KTsKIAkJY3AuZ2l0X2NtZCA9IDE7CiAJCWNwLm5vX3N0ZGluID0gMTsKQEAgLTczNSwyMCArOTYwLDc5IEBACiAJcmV0dXJuIDE7CiB9CiAKLWludCBwdXNoX3VucHVzaGVkX3N1Ym1vZHVsZXMoc3RydWN0IHNoYTFfYXJyYXkgKmNvbW1pdHMsCi0JCQkgICAgIGNvbnN0IGNoYXIgKnJlbW90ZXNfbmFtZSwKKy8qCisgKiBQZXJmb3JtIGEgY2hlY2sgaW4gdGhlIHN1Ym1vZHVsZSB0byBzZWUgaWYgdGhlIHJlbW90ZSBhbmQgcmVmc3BlYyB3b3JrLgorICogRGllIGlmIHRoZSBzdWJtb2R1bGUgY2FuJ3QgYmUgcHVzaGVkLgorICovCitzdGF0aWMgdm9pZCBzdWJtb2R1bGVfcHVzaF9jaGVjayhjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpoZWFkLAorCQkJCSBjb25zdCBzdHJ1Y3QgcmVtb3RlICpyZW1vdGUsCisJCQkJIGNvbnN0IGNoYXIgKipyZWZzcGVjLCBpbnQgcmVmc3BlY19ucikKK3sKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlpbnQgaTsKKworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgInN1Ym1vZHVsZS0taGVscGVyIik7CisJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAicHVzaC1jaGVjayIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgaGVhZCk7CisJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCByZW1vdGUtPm5hbWUpOworCisJZm9yIChpID0gMDsgaSA8IHJlZnNwZWNfbnI7IGkrKykKKwkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCByZWZzcGVjW2ldKTsKKworCXByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KCZjcC5lbnZfYXJyYXkpOworCWNwLmdpdF9jbWQgPSAxOworCWNwLm5vX3N0ZGluID0gMTsKKwljcC5ub19zdGRvdXQgPSAxOworCWNwLmRpciA9IHBhdGg7CisKKwkvKgorCSAqIFNpbXBseSBpbmRpY2F0ZSBpZiAnc3VibW9kdWxlLS1oZWxwZXIgcHVzaC1jaGVjaycgZmFpbGVkLgorCSAqIE1vcmUgZGV0YWlsZWQgZXJyb3IgaW5mb3JtYXRpb24gd2lsbCBiZSBwcm92aWRlZCBieSB0aGUKKwkgKiBjaGlsZCBwcm9jZXNzLgorCSAqLworCWlmIChydW5fY29tbWFuZCgmY3ApKQorCQlkaWUoInByb2Nlc3MgZm9yIHN1Ym1vZHVsZSAnJXMnIGZhaWxlZCIsIHBhdGgpOworfQorCitpbnQgcHVzaF91bnB1c2hlZF9zdWJtb2R1bGVzKHN0cnVjdCBvaWRfYXJyYXkgKmNvbW1pdHMsCisJCQkgICAgIGNvbnN0IHN0cnVjdCByZW1vdGUgKnJlbW90ZSwKKwkJCSAgICAgY29uc3QgY2hhciAqKnJlZnNwZWMsIGludCByZWZzcGVjX25yLAorCQkJICAgICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnB1c2hfb3B0aW9ucywKIAkJCSAgICAgaW50IGRyeV9ydW4pCiB7CiAJaW50IGksIHJldCA9IDE7CiAJc3RydWN0IHN0cmluZ19saXN0IG5lZWRzX3B1c2hpbmcgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAotCWlmICghZmluZF91bnB1c2hlZF9zdWJtb2R1bGVzKGNvbW1pdHMsIHJlbW90ZXNfbmFtZSwgJm5lZWRzX3B1c2hpbmcpKQorCWlmICghZmluZF91bnB1c2hlZF9zdWJtb2R1bGVzKGNvbW1pdHMsIHJlbW90ZS0+bmFtZSwgJm5lZWRzX3B1c2hpbmcpKQogCQlyZXR1cm4gMTsKIAorCS8qCisJICogVmVyaWZ5IHRoYXQgdGhlIHJlbW90ZSBhbmQgcmVmc3BlYyBjYW4gYmUgcHJvcGFnYXRlZCB0byBhbGwKKwkgKiBzdWJtb2R1bGVzLiAgVGhpcyBjaGVjayBjYW4gYmUgc2tpcHBlZCBpZiB0aGUgcmVtb3RlIGFuZCByZWZzcGVjCisJICogd29uJ3QgYmUgcHJvcGFnYXRlZCBkdWUgdG8gdGhlIHJlbW90ZSBiZWluZyB1bmNvbmZpZ3VyZWQgKGUuZy4gYSBVUkwKKwkgKiBpbnN0ZWFkIG9mIGEgcmVtb3RlIG5hbWUpLgorCSAqLworCWlmIChyZW1vdGUtPm9yaWdpbiAhPSBSRU1PVEVfVU5DT05GSUdVUkVEKSB7CisJCWNoYXIgKmhlYWQ7CisJCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CisKKwkJaGVhZCA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgaGVhZF9vaWQuaGFzaCwgTlVMTCk7CisJCWlmICghaGVhZCkKKwkJCWRpZShfKCJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIpKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbmVlZHNfcHVzaGluZy5ucjsgaSsrKQorCQkJc3VibW9kdWxlX3B1c2hfY2hlY2sobmVlZHNfcHVzaGluZy5pdGVtc1tpXS5zdHJpbmcsCisJCQkJCSAgICAgaGVhZCwgcmVtb3RlLAorCQkJCQkgICAgIHJlZnNwZWMsIHJlZnNwZWNfbnIpOworCQlmcmVlKGhlYWQpOworCX0KKworCS8qIEFjdHVhbGx5IHB1c2ggdGhlIHN1Ym1vZHVsZXMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgbmVlZHNfcHVzaGluZy5ucjsgaSsrKSB7CiAJCWNvbnN0IGNoYXIgKnBhdGggPSBuZWVkc19wdXNoaW5nLml0ZW1zW2ldLnN0cmluZzsKIAkJZnByaW50ZihzdGRlcnIsICJQdXNoaW5nIHN1Ym1vZHVsZSAnJXMnXG4iLCBwYXRoKTsKLQkJaWYgKCFwdXNoX3N1Ym1vZHVsZShwYXRoLCBkcnlfcnVuKSkgeworCQlpZiAoIXB1c2hfc3VibW9kdWxlKHBhdGgsIHJlbW90ZSwgcmVmc3BlYywgcmVmc3BlY19uciwKKwkJCQkgICAgcHVzaF9vcHRpb25zLCBkcnlfcnVuKSkgewogCQkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gcHVzaCBzdWJtb2R1bGUgJyVzJ1xuIiwgcGF0aCk7CiAJCQlyZXQgPSAwOwogCQl9CkBAIC03NTksMTQxICsxMDQzLDk4IEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBpc19zdWJtb2R1bGVfY29tbWl0X3ByZXNlbnQoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgY2hhciBzaGExWzIwXSkKK3N0YXRpYyBpbnQgYXBwZW5kX29pZF90b19hcnJheShjb25zdCBjaGFyICpyZWYsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgICAgICBpbnQgZmxhZ3MsIHZvaWQgKmRhdGEpCiB7Ci0JaW50IGlzX3ByZXNlbnQgPSAwOwotCWlmICghYWRkX3N1Ym1vZHVsZV9vZGIocGF0aCkgJiYgbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSkpIHsKLQkJLyogRXZlbiBpZiB0aGUgc3VibW9kdWxlIGlzIGNoZWNrZWQgb3V0IGFuZCB0aGUgY29tbWl0IGlzCi0JCSAqIHByZXNlbnQsIG1ha2Ugc3VyZSBpdCBpcyByZWFjaGFibGUgZnJvbSBhIHJlZi4gKi8KLQkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7Ci0JCWNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHsicmV2LWxpc3QiLCAiLW4iLCAiMSIsIE5VTEwsICItLW5vdCIsICItLWFsbCIsIE5VTEx9OwotCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCi0JCWFyZ3ZbM10gPSBzaGExX3RvX2hleChzaGExKTsKLQkJY3AuYXJndiA9IGFyZ3Y7Ci0JCXByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KCZjcC5lbnZfYXJyYXkpOwotCQljcC5naXRfY21kID0gMTsKLQkJY3Aubm9fc3RkaW4gPSAxOwotCQljcC5kaXIgPSBwYXRoOwotCQlpZiAoIWNhcHR1cmVfY29tbWFuZCgmY3AsICZidWYsIDEwMjQpICYmICFidWYubGVuKQotCQkJaXNfcHJlc2VudCA9IDE7Ci0KLQkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Ci0JfQotCXJldHVybiBpc19wcmVzZW50OwotfQotCi1zdGF0aWMgdm9pZCBzdWJtb2R1bGVfY29sbGVjdF9jaGFuZ2VkX2NiKHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSwKLQkJCQkJIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCi0JCQkJCSB2b2lkICpkYXRhKQotewotCWludCBpOwotCWZvciAoaSA9IDA7IGkgPCBxLT5ucjsgaSsrKSB7Ci0JCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gcS0+cXVldWVbaV07Ci0JCWlmICghU19JU0dJVExJTksocC0+dHdvLT5tb2RlKSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChTX0lTR0lUTElOSyhwLT5vbmUtPm1vZGUpKSB7Ci0JCQkvKiBORUVEU1dPUks6IFdlIHNob3VsZCBob25vciB0aGUgbmFtZSBjb25maWd1cmVkIGluCi0JCQkgKiB0aGUgLmdpdG1vZHVsZXMgZmlsZSBvZiB0aGUgY29tbWl0IHdlIGFyZSBleGFtaW5pbmcKLQkJCSAqIGhlcmUgdG8gYmUgYWJsZSB0byBjb3JyZWN0bHkgZm9sbG93IHN1Ym1vZHVsZXMKLQkJCSAqIGJlaW5nIG1vdmVkIGFyb3VuZC4gKi8KLQkJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpwYXRoOwotCQkJcGF0aCA9IHVuc29ydGVkX3N0cmluZ19saXN0X2xvb2t1cCgmY2hhbmdlZF9zdWJtb2R1bGVfcGF0aHMsIHAtPnR3by0+cGF0aCk7Ci0JCQlpZiAoIXBhdGggJiYgIWlzX3N1Ym1vZHVsZV9jb21taXRfcHJlc2VudChwLT50d28tPnBhdGgsIHAtPnR3by0+b2lkLmhhc2gpKQotCQkJCXN0cmluZ19saXN0X2FwcGVuZCgmY2hhbmdlZF9zdWJtb2R1bGVfcGF0aHMsIHhzdHJkdXAocC0+dHdvLT5wYXRoKSk7Ci0JCX0gZWxzZSB7Ci0JCQkvKiBTdWJtb2R1bGUgaXMgbmV3IG9yIHdhcyBtb3ZlZCBoZXJlICovCi0JCQkvKiBORUVEU1dPUks6IFdoZW4gdGhlIC5naXQgZGlyZWN0b3JpZXMgb2Ygc3VibW9kdWxlcwotCQkJICogbGl2ZSBpbnNpZGUgdGhlIHN1cGVycHJvamVjdHMgLmdpdCBkaXJlY3Rvcnkgc29tZQotCQkJICogZGF5IHdlIHNob3VsZCBmZXRjaCBuZXcgc3VibW9kdWxlcyBkaXJlY3RseSBpbnRvCi0JCQkgKiB0aGF0IGxvY2F0aW9uIHRvbyB3aGVuIGNvbmZpZyBvciBvcHRpb25zIHJlcXVlc3QKLQkJCSAqIHRoYXQgc28gdGhleSBjYW4gYmUgY2hlY2tlZCBvdXQgZnJvbSB0aGVyZS4gKi8KLQkJCWNvbnRpbnVlOwotCQl9Ci0JfQotfQotCi1zdGF0aWMgaW50IGFkZF9zaGExX3RvX2FycmF5KGNvbnN0IGNoYXIgKnJlZiwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAotCQkJICAgICBpbnQgZmxhZ3MsIHZvaWQgKmRhdGEpCi17Ci0Jc2hhMV9hcnJheV9hcHBlbmQoZGF0YSwgb2lkLT5oYXNoKTsKKwlzdHJ1Y3Qgb2lkX2FycmF5ICphcnJheSA9IGRhdGE7CisJb2lkX2FycmF5X2FwcGVuZChhcnJheSwgb2lkKTsKIAlyZXR1cm4gMDsKIH0KIAotdm9pZCBjaGVja19mb3JfbmV3X3N1Ym1vZHVsZV9jb21taXRzKHVuc2lnbmVkIGNoYXIgbmV3X3NoYTFbMjBdKQordm9pZCBjaGVja19mb3JfbmV3X3N1Ym1vZHVsZV9jb21taXRzKHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlpZiAoIWluaXRpYWxpemVkX2ZldGNoX3JlZl90aXBzKSB7Ci0JCWZvcl9lYWNoX3JlZihhZGRfc2hhMV90b19hcnJheSwgJnJlZl90aXBzX2JlZm9yZV9mZXRjaCk7CisJCWZvcl9lYWNoX3JlZihhcHBlbmRfb2lkX3RvX2FycmF5LCAmcmVmX3RpcHNfYmVmb3JlX2ZldGNoKTsKIAkJaW5pdGlhbGl6ZWRfZmV0Y2hfcmVmX3RpcHMgPSAxOwogCX0KIAotCXNoYTFfYXJyYXlfYXBwZW5kKCZyZWZfdGlwc19hZnRlcl9mZXRjaCwgbmV3X3NoYTEpOwotfQotCi1zdGF0aWMgaW50IGFkZF9zaGExX3RvX2FyZ3YoY29uc3QgdW5zaWduZWQgY2hhciBzaGExWzIwXSwgdm9pZCAqZGF0YSkKLXsKLQlhcmd2X2FycmF5X3B1c2goZGF0YSwgc2hhMV90b19oZXgoc2hhMSkpOwotCXJldHVybiAwOworCW9pZF9hcnJheV9hcHBlbmQoJnJlZl90aXBzX2FmdGVyX2ZldGNoLCBvaWQpOwogfQogCiBzdGF0aWMgdm9pZCBjYWxjdWxhdGVfY2hhbmdlZF9zdWJtb2R1bGVfcGF0aHModm9pZCkKIHsKLQlzdHJ1Y3QgcmV2X2luZm8gcmV2OwotCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAlzdHJ1Y3QgYXJndl9hcnJheSBhcmd2ID0gQVJHVl9BUlJBWV9JTklUOworCXN0cnVjdCBzdHJpbmdfbGlzdCBjaGFuZ2VkX3N1Ym1vZHVsZXMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKwljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAogCS8qIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgYXJlIG5vIHN1Ym1vZHVsZXMgY29uZmlndXJlZCAqLwogCWlmICghc3VibW9kdWxlX2Zyb21fcGF0aChOVUxMLCBOVUxMKSkKIAkJcmV0dXJuOwogCi0JaW5pdF9yZXZpc2lvbnMoJnJldiwgTlVMTCk7CiAJYXJndl9hcnJheV9wdXNoKCZhcmd2LCAiLS0iKTsgLyogYXJndlswXSBwcm9ncmFtIG5hbWUgKi8KLQlzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZSgmcmVmX3RpcHNfYWZ0ZXJfZmV0Y2gsCi0JCQkJICAgYWRkX3NoYTFfdG9fYXJndiwgJmFyZ3YpOworCW9pZF9hcnJheV9mb3JfZWFjaF91bmlxdWUoJnJlZl90aXBzX2FmdGVyX2ZldGNoLAorCQkJCSAgIGFwcGVuZF9vaWRfdG9fYXJndiwgJmFyZ3YpOwogCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndiwgIi0tbm90Iik7Ci0Jc2hhMV9hcnJheV9mb3JfZWFjaF91bmlxdWUoJnJlZl90aXBzX2JlZm9yZV9mZXRjaCwKLQkJCQkgICBhZGRfc2hhMV90b19hcmd2LCAmYXJndik7Ci0Jc2V0dXBfcmV2aXNpb25zKGFyZ3YuYXJnYywgYXJndi5hcmd2LCAmcmV2LCBOVUxMKTsKLQlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKCZyZXYpKQotCQlkaWUoInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIik7CisJb2lkX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZSgmcmVmX3RpcHNfYmVmb3JlX2ZldGNoLAorCQkJCSAgIGFwcGVuZF9vaWRfdG9fYXJndiwgJmFyZ3YpOwogCiAJLyoKIAkgKiBDb2xsZWN0IGFsbCBzdWJtb2R1bGVzICh3aGV0aGVyIGNoZWNrZWQgb3V0IG9yIG5vdCkgZm9yIHdoaWNoIG5ldwogCSAqIGNvbW1pdHMgaGF2ZSBiZWVuIHJlY29yZGVkIHVwc3RyZWFtIGluICJjaGFuZ2VkX3N1Ym1vZHVsZV9wYXRocyIuCiAJICovCi0Jd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24oJnJldikpKSB7Ci0JCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50ID0gY29tbWl0LT5wYXJlbnRzOwotCQl3aGlsZSAocGFyZW50KSB7Ci0JCQlzdHJ1Y3QgZGlmZl9vcHRpb25zIGRpZmZfb3B0czsKLQkJCWRpZmZfc2V0dXAoJmRpZmZfb3B0cyk7Ci0JCQlESUZGX09QVF9TRVQoJmRpZmZfb3B0cywgUkVDVVJTSVZFKTsKLQkJCWRpZmZfb3B0cy5vdXRwdXRfZm9ybWF0IHw9IERJRkZfRk9STUFUX0NBTExCQUNLOwotCQkJZGlmZl9vcHRzLmZvcm1hdF9jYWxsYmFjayA9IHN1Ym1vZHVsZV9jb2xsZWN0X2NoYW5nZWRfY2I7Ci0JCQlkaWZmX3NldHVwX2RvbmUoJmRpZmZfb3B0cyk7Ci0JCQlkaWZmX3RyZWVfc2hhMShwYXJlbnQtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwgY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsICIiLCAmZGlmZl9vcHRzKTsKLQkJCWRpZmZjb3JlX3N0ZCgmZGlmZl9vcHRzKTsKLQkJCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7Ci0JCQlwYXJlbnQgPSBwYXJlbnQtPm5leHQ7Ci0JCX0KKwljb2xsZWN0X2NoYW5nZWRfc3VibW9kdWxlcygmY2hhbmdlZF9zdWJtb2R1bGVzLCAmYXJndik7CisKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZjaGFuZ2VkX3N1Ym1vZHVsZXMpIHsKKwkJc3RydWN0IG9pZF9hcnJheSAqY29tbWl0cyA9IGl0ZW0tPnV0aWw7CisJCWNvbnN0IGNoYXIgKnBhdGggPSBpdGVtLT5zdHJpbmc7CisKKwkJaWYgKCFzdWJtb2R1bGVfaGFzX2NvbW1pdHMocGF0aCwgY29tbWl0cykpCisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmNoYW5nZWRfc3VibW9kdWxlX3BhdGhzLCBwYXRoKTsKIAl9CiAKKwlmcmVlX3N1Ym1vZHVsZXNfb2lkcygmY2hhbmdlZF9zdWJtb2R1bGVzKTsKIAlhcmd2X2FycmF5X2NsZWFyKCZhcmd2KTsKLQlzaGExX2FycmF5X2NsZWFyKCZyZWZfdGlwc19iZWZvcmVfZmV0Y2gpOwotCXNoYTFfYXJyYXlfY2xlYXIoJnJlZl90aXBzX2FmdGVyX2ZldGNoKTsKKwlvaWRfYXJyYXlfY2xlYXIoJnJlZl90aXBzX2JlZm9yZV9mZXRjaCk7CisJb2lkX2FycmF5X2NsZWFyKCZyZWZfdGlwc19hZnRlcl9mZXRjaCk7CiAJaW5pdGlhbGl6ZWRfZmV0Y2hfcmVmX3RpcHMgPSAwOwogfQogCitpbnQgc3VibW9kdWxlX3RvdWNoZXNfaW5fcmFuZ2Uoc3RydWN0IG9iamVjdF9pZCAqZXhjbF9vaWQsCisJCQkgICAgICAgc3RydWN0IG9iamVjdF9pZCAqaW5jbF9vaWQpCit7CisJc3RydWN0IHN0cmluZ19saXN0IHN1YnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKwlzdHJ1Y3QgYXJndl9hcnJheSBhcmdzID0gQVJHVl9BUlJBWV9JTklUOworCWludCByZXQ7CisKKwkvKiBObyBuZWVkIHRvIGNoZWNrIGlmIHRoZXJlIGFyZSBubyBzdWJtb2R1bGVzIGNvbmZpZ3VyZWQgKi8KKwlpZiAoIXN1Ym1vZHVsZV9mcm9tX3BhdGgoTlVMTCwgTlVMTCkpCisJCXJldHVybiAwOworCisJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS0iKTsgLyogYXJnc1swXSBwcm9ncmFtIG5hbWUgKi8KKwlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIG9pZF90b19oZXgoaW5jbF9vaWQpKTsKKwlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLW5vdCIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgb2lkX3RvX2hleChleGNsX29pZCkpOworCisJY29sbGVjdF9jaGFuZ2VkX3N1Ym1vZHVsZXMoJnN1YnMsICZhcmdzKTsKKwlyZXQgPSBzdWJzLm5yOworCisJYXJndl9hcnJheV9jbGVhcigmYXJncyk7CisKKwlmcmVlX3N1Ym1vZHVsZXNfb2lkcygmc3Vicyk7CisJcmV0dXJuIHJldDsKK30KKwogc3RydWN0IHN1Ym1vZHVsZV9wYXJhbGxlbF9mZXRjaCB7CiAJaW50IGNvdW50OwogCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3M7CiAJY29uc3QgY2hhciAqd29ya190cmVlOwogCWNvbnN0IGNoYXIgKnByZWZpeDsKIAlpbnQgY29tbWFuZF9saW5lX29wdGlvbjsKKwlpbnQgZGVmYXVsdF9vcHRpb247CiAJaW50IHF1aWV0OwogCWludCByZXN1bHQ7CiB9OwotI2RlZmluZSBTUEZfSU5JVCB7MCwgQVJHVl9BUlJBWV9JTklULCBOVUxMLCBOVUxMLCAwLCAwLCAwfQorI2RlZmluZSBTUEZfSU5JVCB7MCwgQVJHVl9BUlJBWV9JTklULCBOVUxMLCBOVUxMLCAwLCAwLCAwLCAwfQogCiBzdGF0aWMgaW50IGdldF9uZXh0X3N1Ym1vZHVsZShzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY3AsCiAJCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIsIHZvaWQgKmRhdGEsIHZvaWQgKip0YXNrX2NiKQpAQCAtOTEyLDI5ICsxMTUzLDM2IEBACiAJCWlmICghU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQogCQkJY29udGludWU7CiAKLQkJc3VibW9kdWxlID0gc3VibW9kdWxlX2Zyb21fcGF0aChudWxsX3NoYTEsIGNlLT5uYW1lKTsKLQkJaWYgKCFzdWJtb2R1bGUpCi0JCQlzdWJtb2R1bGUgPSBzdWJtb2R1bGVfZnJvbV9uYW1lKG51bGxfc2hhMSwgY2UtPm5hbWUpOworCQlzdWJtb2R1bGUgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKCZudWxsX29pZCwgY2UtPm5hbWUpOwogCiAJCWRlZmF1bHRfYXJndiA9ICJ5ZXMiOwogCQlpZiAoc3BmLT5jb21tYW5kX2xpbmVfb3B0aW9uID09IFJFQ1VSU0VfU1VCTU9EVUxFU19ERUZBVUxUKSB7Ci0JCQlpZiAoc3VibW9kdWxlICYmCi0JCQkgICAgc3VibW9kdWxlLT5mZXRjaF9yZWN1cnNlICE9Ci0JCQkJCQlSRUNVUlNFX1NVQk1PRFVMRVNfTk9ORSkgewotCQkJCWlmIChzdWJtb2R1bGUtPmZldGNoX3JlY3Vyc2UgPT0KLQkJCQkJCVJFQ1VSU0VfU1VCTU9EVUxFU19PRkYpCisJCQlpbnQgZmV0Y2hfcmVjdXJzZSA9IFJFQ1VSU0VfU1VCTU9EVUxFU19OT05FOworCisJCQlpZiAoc3VibW9kdWxlKSB7CisJCQkJY2hhciAqa2V5OworCQkJCWNvbnN0IGNoYXIgKnZhbHVlOworCisJCQkJZmV0Y2hfcmVjdXJzZSA9IHN1Ym1vZHVsZS0+ZmV0Y2hfcmVjdXJzZTsKKwkJCQlrZXkgPSB4c3RyZm10KCJzdWJtb2R1bGUuJXMuZmV0Y2hSZWN1cnNlU3VibW9kdWxlcyIsIHN1Ym1vZHVsZS0+bmFtZSk7CisJCQkJaWYgKCFyZXBvX2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KHRoZV9yZXBvc2l0b3J5LCBrZXksICZ2YWx1ZSkpIHsKKwkJCQkJZmV0Y2hfcmVjdXJzZSA9IHBhcnNlX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoa2V5LCB2YWx1ZSk7CisJCQkJfQorCQkJCWZyZWUoa2V5KTsKKwkJCX0KKworCQkJaWYgKGZldGNoX3JlY3Vyc2UgIT0gUkVDVVJTRV9TVUJNT0RVTEVTX05PTkUpIHsKKwkJCQlpZiAoZmV0Y2hfcmVjdXJzZSA9PSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGKQogCQkJCQljb250aW51ZTsKLQkJCQlpZiAoc3VibW9kdWxlLT5mZXRjaF9yZWN1cnNlID09Ci0JCQkJCQlSRUNVUlNFX1NVQk1PRFVMRVNfT05fREVNQU5EKSB7CisJCQkJaWYgKGZldGNoX3JlY3Vyc2UgPT0gUkVDVVJTRV9TVUJNT0RVTEVTX09OX0RFTUFORCkgewogCQkJCQlpZiAoIXVuc29ydGVkX3N0cmluZ19saXN0X2xvb2t1cCgmY2hhbmdlZF9zdWJtb2R1bGVfcGF0aHMsIGNlLT5uYW1lKSkKIAkJCQkJCWNvbnRpbnVlOwogCQkJCQlkZWZhdWx0X2FyZ3YgPSAib24tZGVtYW5kIjsKIAkJCQl9CiAJCQl9IGVsc2UgewotCQkJCWlmICgoY29uZmlnX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlcyA9PSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGKSB8fAotCQkJCSAgICBnaXRtb2R1bGVzX2lzX3VubWVyZ2VkKQorCQkJCWlmIChzcGYtPmRlZmF1bHRfb3B0aW9uID09IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkYpCiAJCQkJCWNvbnRpbnVlOwotCQkJCWlmIChjb25maWdfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzID09IFJFQ1VSU0VfU1VCTU9EVUxFU19PTl9ERU1BTkQpIHsKKwkJCQlpZiAoc3BmLT5kZWZhdWx0X29wdGlvbiA9PSBSRUNVUlNFX1NVQk1PRFVMRVNfT05fREVNQU5EKSB7CiAJCQkJCWlmICghdW5zb3J0ZWRfc3RyaW5nX2xpc3RfbG9va3VwKCZjaGFuZ2VkX3N1Ym1vZHVsZV9wYXRocywgY2UtPm5hbWUpKQogCQkJCQkJY29udGludWU7CiAJCQkJCWRlZmF1bHRfYXJndiA9ICJvbi1kZW1hbmQiOwpAQCAtMTAwMSw2ICsxMjQ5LDcgQEAKIAogaW50IGZldGNoX3BvcHVsYXRlZF9zdWJtb2R1bGVzKGNvbnN0IHN0cnVjdCBhcmd2X2FycmF5ICpvcHRpb25zLAogCQkJICAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IGNvbW1hbmRfbGluZV9vcHRpb24sCisJCQkgICAgICAgaW50IGRlZmF1bHRfb3B0aW9uLAogCQkJICAgICAgIGludCBxdWlldCwgaW50IG1heF9wYXJhbGxlbF9qb2JzKQogewogCWludCBpOwpAQCAtMTAwOCw2ICsxMjU3LDcgQEAKIAogCXNwZi53b3JrX3RyZWUgPSBnZXRfZ2l0X3dvcmtfdHJlZSgpOwogCXNwZi5jb21tYW5kX2xpbmVfb3B0aW9uID0gY29tbWFuZF9saW5lX29wdGlvbjsKKwlzcGYuZGVmYXVsdF9vcHRpb24gPSBkZWZhdWx0X29wdGlvbjsKIAlzcGYucXVpZXQgPSBxdWlldDsKIAlzcGYucHJlZml4ID0gcHJlZml4OwogCkBAIC0xMDIzLDkgKzEyNzMsNiBAQAogCWFyZ3ZfYXJyYXlfcHVzaCgmc3BmLmFyZ3MsICItLXJlY3Vyc2Utc3VibW9kdWxlcy1kZWZhdWx0Iik7CiAJLyogZGVmYXVsdCB2YWx1ZSwgIi0tc3VibW9kdWxlLXByZWZpeCIgYW5kIGl0cyB2YWx1ZSBhcmUgYWRkZWQgbGF0ZXIgKi8KIAotCWlmIChtYXhfcGFyYWxsZWxfam9icyA8IDApCi0JCW1heF9wYXJhbGxlbF9qb2JzID0gcGFyYWxsZWxfam9iczsKLQogCWNhbGN1bGF0ZV9jaGFuZ2VkX3N1Ym1vZHVsZV9wYXRocygpOwogCXJ1bl9wcm9jZXNzZXNfcGFyYWxsZWwobWF4X3BhcmFsbGVsX2pvYnMsCiAJCQkgICAgICAgZ2V0X25leHRfc3VibW9kdWxlLApAQCAtMTA0MSw2NyArMTI4OCw3OCBAQAogCiB1bnNpZ25lZCBpc19zdWJtb2R1bGVfbW9kaWZpZWQoY29uc3QgY2hhciAqcGF0aCwgaW50IGlnbm9yZV91bnRyYWNrZWQpCiB7Ci0Jc3NpemVfdCBsZW47CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7Ci0JY29uc3QgY2hhciAqYXJndltdID0gewotCQkic3RhdHVzIiwKLQkJIi0tcG9yY2VsYWluIiwKLQkJTlVMTCwKLQkJTlVMTCwKLQl9OwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJRklMRSAqZnA7CiAJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlID0gMDsKLQljb25zdCBjaGFyICpsaW5lLCAqbmV4dF9saW5lOwogCWNvbnN0IGNoYXIgKmdpdF9kaXI7CisJaW50IGlnbm9yZV9jcF9leGl0X2NvZGUgPSAwOwogCiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzLy5naXQiLCBwYXRoKTsKIAlnaXRfZGlyID0gcmVhZF9naXRmaWxlKGJ1Zi5idWYpOwogCWlmICghZ2l0X2RpcikKIAkJZ2l0X2RpciA9IGJ1Zi5idWY7Ci0JaWYgKCFpc19kaXJlY3RvcnkoZ2l0X2RpcikpIHsKKwlpZiAoIWlzX2dpdF9kaXJlY3RvcnkoZ2l0X2RpcikpIHsKKwkJaWYgKGlzX2RpcmVjdG9yeShnaXRfZGlyKSkKKwkJCWRpZShfKCInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiKSwgZ2l0X2Rpcik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQkvKiBUaGUgc3VibW9kdWxlIGlzIG5vdCBjaGVja2VkIG91dCwgc28gaXQgaXMgbm90IG1vZGlmaWVkICovCiAJCXJldHVybiAwOwotCiAJfQogCXN0cmJ1Zl9yZXNldCgmYnVmKTsKIAorCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJzdGF0dXMiLCAiLS1wb3JjZWxhaW49MiIsIE5VTEwpOwogCWlmIChpZ25vcmVfdW50cmFja2VkKQotCQlhcmd2WzJdID0gIi11bm8iOworCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItdW5vIik7CiAKLQljcC5hcmd2ID0gYXJndjsKIAlwcmVwYXJlX3N1Ym1vZHVsZV9yZXBvX2VudigmY3AuZW52X2FycmF5KTsKIAljcC5naXRfY21kID0gMTsKIAljcC5ub19zdGRpbiA9IDE7CiAJY3Aub3V0ID0gLTE7CiAJY3AuZGlyID0gcGF0aDsKIAlpZiAoc3RhcnRfY29tbWFuZCgmY3ApKQotCQlkaWUoIkNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW4nIGluIHN1Ym1vZHVsZSAlcyIsIHBhdGgpOworCQlkaWUoIkNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW49MicgaW4gc3VibW9kdWxlICVzIiwgcGF0aCk7CiAKLQlsZW4gPSBzdHJidWZfcmVhZCgmYnVmLCBjcC5vdXQsIDEwMjQpOwotCWxpbmUgPSBidWYuYnVmOwotCXdoaWxlIChsZW4gPiAyKSB7Ci0JCWlmICgobGluZVswXSA9PSAnPycpICYmIChsaW5lWzFdID09ICc/JykpIHsKKwlmcCA9IHhmZG9wZW4oY3Aub3V0LCAiciIpOworCXdoaWxlIChzdHJidWZfZ2V0d2hvbGVsaW5lKCZidWYsIGZwLCAnXG4nKSAhPSBFT0YpIHsKKwkJLyogcmVndWxhciB1bnRyYWNrZWQgZmlsZXMgKi8KKwkJaWYgKGJ1Zi5idWZbMF0gPT0gJz8nKQogCQkJZGlydHlfc3VibW9kdWxlIHw9IERJUlRZX1NVQk1PRFVMRV9VTlRSQUNLRUQ7Ci0JCQlpZiAoZGlydHlfc3VibW9kdWxlICYgRElSVFlfU1VCTU9EVUxFX01PRElGSUVEKQotCQkJCWJyZWFrOwotCQl9IGVsc2UgewotCQkJZGlydHlfc3VibW9kdWxlIHw9IERJUlRZX1NVQk1PRFVMRV9NT0RJRklFRDsKLQkJCWlmIChpZ25vcmVfdW50cmFja2VkIHx8Ci0JCQkgICAgKGRpcnR5X3N1Ym1vZHVsZSAmIERJUlRZX1NVQk1PRFVMRV9VTlRSQUNLRUQpKQotCQkJCWJyZWFrOwotCQl9Ci0JCW5leHRfbGluZSA9IHN0cmNocihsaW5lLCAnXG4nKTsKLQkJaWYgKCFuZXh0X2xpbmUpCi0JCQlicmVhazsKLQkJbmV4dF9saW5lKys7Ci0JCWxlbiAtPSAobmV4dF9saW5lIC0gbGluZSk7Ci0JCWxpbmUgPSBuZXh0X2xpbmU7Ci0JfQotCWNsb3NlKGNwLm91dCk7CiAKLQlpZiAoZmluaXNoX2NvbW1hbmQoJmNwKSkKLQkJZGllKCInZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbicgZmFpbGVkIGluIHN1Ym1vZHVsZSAlcyIsIHBhdGgpOworCQlpZiAoYnVmLmJ1ZlswXSA9PSAndScgfHwKKwkJICAgIGJ1Zi5idWZbMF0gPT0gJzEnIHx8CisJCSAgICBidWYuYnVmWzBdID09ICcyJykgeworCQkJLyogVCA9IGxpbmUgdHlwZSwgWFkgPSBzdGF0dXMsIFNTU1MgPSBzdWJtb2R1bGUgc3RhdGUgKi8KKwkJCWlmIChidWYubGVuIDwgc3RybGVuKCJUIFhZIFNTU1MiKSkKKwkJCQlkaWUoIkJVRzogaW52YWxpZCBzdGF0dXMgLS1wb3JjZWxhaW49MiBsaW5lICVzIiwKKwkJCQkgICAgYnVmLmJ1Zik7CisKKwkJCWlmIChidWYuYnVmWzVdID09ICdTJyAmJiBidWYuYnVmWzhdID09ICdVJykKKwkJCQkvKiBuZXN0ZWQgdW50cmFja2VkIGZpbGUgKi8KKwkJCQlkaXJ0eV9zdWJtb2R1bGUgfD0gRElSVFlfU1VCTU9EVUxFX1VOVFJBQ0tFRDsKKworCQkJaWYgKGJ1Zi5idWZbMF0gPT0gJ3UnIHx8CisJCQkgICAgYnVmLmJ1ZlswXSA9PSAnMicgfHwKKwkJCSAgICBtZW1jbXAoYnVmLmJ1ZiArIDUsICJTLi5VIiwgNCkpCisJCQkJLyogb3RoZXIgY2hhbmdlICovCisJCQkJZGlydHlfc3VibW9kdWxlIHw9IERJUlRZX1NVQk1PRFVMRV9NT0RJRklFRDsKKwkJfQorCisJCWlmICgoZGlydHlfc3VibW9kdWxlICYgRElSVFlfU1VCTU9EVUxFX01PRElGSUVEKSAmJgorCQkgICAgKChkaXJ0eV9zdWJtb2R1bGUgJiBESVJUWV9TVUJNT0RVTEVfVU5UUkFDS0VEKSB8fAorCQkgICAgIGlnbm9yZV91bnRyYWNrZWQpKSB7CisJCQkvKgorCQkJICogV2UncmUgbm90IGludGVyZXN0ZWQgaW4gYW55IGZ1cnRoZXIgaW5mb3JtYXRpb24gZnJvbQorCQkJICogdGhlIGNoaWxkIGFueSBtb3JlLCBuZWl0aGVyIG91dHB1dCBub3IgaXRzIGV4aXQgY29kZS4KKwkJCSAqLworCQkJaWdub3JlX2NwX2V4aXRfY29kZSA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KKwlmY2xvc2UoZnApOworCisJaWYgKGZpbmlzaF9jb21tYW5kKCZjcCkgJiYgIWlnbm9yZV9jcF9leGl0X2NvZGUpCisJCWRpZSgiJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW49MicgZmFpbGVkIGluIHN1Ym1vZHVsZSAlcyIsIHBhdGgpOwogCiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJcmV0dXJuIGRpcnR5X3N1Ym1vZHVsZTsKQEAgLTExODEsNyArMTQzOSw3IEBACiAJY3AuZGlyID0gcGF0aDsKIAlpZiAoc3RhcnRfY29tbWFuZCgmY3ApKSB7CiAJCWlmIChmbGFncyAmIFNVQk1PRFVMRV9SRU1PVkFMX0RJRV9PTl9FUlJPUikKLQkJCWRpZShfKCJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMgaW4gc3VibW9kdWxlICclcyciKSwKKwkJCWRpZShfKCJjb3VsZCBub3Qgc3RhcnQgJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIiksCiAJCQkJcGF0aCk7CiAJCXJldCA9IC0xOwogCQlnb3RvIG91dDsKQEAgLTExOTQsNyArMTQ1Miw3IEBACiAKIAlpZiAoZmluaXNoX2NvbW1hbmQoJmNwKSkgewogCQlpZiAoZmxhZ3MgJiBTVUJNT0RVTEVfUkVNT1ZBTF9ESUVfT05fRVJST1IpCi0JCQlkaWUoXygiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cyBpbiBzdWJtb2R1bGUgJyVzJyIpLAorCQkJZGllKF8oImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIiksCiAJCQkJcGF0aCk7CiAJCXJldCA9IC0xOwogCX0KQEAgLTEyMDMsNiArMTQ2MSwxNzQgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3N1cGVyX3ByZWZpeF9vcl9lbXB0eSh2b2lkKQoreworCWNvbnN0IGNoYXIgKnMgPSBnZXRfc3VwZXJfcHJlZml4KCk7CisJaWYgKCFzKQorCQlzID0gIiI7CisJcmV0dXJuIHM7Cit9CisKK3N0YXRpYyBpbnQgc3VibW9kdWxlX2hhc19kaXJ0eV9pbmRleChjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWIpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisKKwlwcmVwYXJlX3N1Ym1vZHVsZV9yZXBvX2VudigmY3AuZW52X2FycmF5KTsKKworCWNwLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJkaWZmLWluZGV4IiwgIi0tcXVpZXQiLAorCQkJCSAgICItLWNhY2hlZCIsICJIRUFEIiwgTlVMTCk7CisJY3Aubm9fc3RkaW4gPSAxOworCWNwLm5vX3N0ZG91dCA9IDE7CisJY3AuZGlyID0gc3ViLT5wYXRoOworCWlmIChzdGFydF9jb21tYW5kKCZjcCkpCisJCWRpZSgiY291bGQgbm90IHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIsIHN1Yi0+cGF0aCk7CisKKwlyZXR1cm4gZmluaXNoX2NvbW1hbmQoJmNwKTsKK30KKworc3RhdGljIHZvaWQgc3VibW9kdWxlX3Jlc2V0X2luZGV4KGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJcHJlcGFyZV9zdWJtb2R1bGVfcmVwb19lbnYoJmNwLmVudl9hcnJheSk7CisKKwljcC5naXRfY21kID0gMTsKKwljcC5ub19zdGRpbiA9IDE7CisJY3AuZGlyID0gcGF0aDsKKworCWFyZ3ZfYXJyYXlfcHVzaGYoJmNwLmFyZ3MsICItLXN1cGVyLXByZWZpeD0lcyVzLyIsCisJCQkJICAgZ2V0X3N1cGVyX3ByZWZpeF9vcl9lbXB0eSgpLCBwYXRoKTsKKwlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAicmVhZC10cmVlIiwgIi11IiwgIi0tcmVzZXQiLCBOVUxMKTsKKworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgRU1QVFlfVFJFRV9TSEExX0hFWCk7CisKKwlpZiAocnVuX2NvbW1hbmQoJmNwKSkKKwkJZGllKCJjb3VsZCBub3QgcmVzZXQgc3VibW9kdWxlIGluZGV4Iik7Cit9CisKKy8qKgorICogTW92ZXMgYSBzdWJtb2R1bGUgYXQgYSBnaXZlbiBwYXRoIGZyb20gYSBnaXZlbiBoZWFkIHRvIGFub3RoZXIgbmV3IGhlYWQuCisgKiBGb3IgZWRnZSBjYXNlcyAoYSBzdWJtb2R1bGUgY29taW5nIGludG8gZXhpc3RlbmNlIG9yIHJlbW92aW5nIGEgc3VibW9kdWxlKQorICogcGFzcyBOVUxMIGZvciBvbGQgb3IgbmV3IHJlc3BlY3RpdmVseS4KKyAqLworaW50IHN1Ym1vZHVsZV9tb3ZlX2hlYWQoY29uc3QgY2hhciAqcGF0aCwKKwkJCSBjb25zdCBjaGFyICpvbGQsCisJCQkgY29uc3QgY2hhciAqbmV3LAorCQkJIHVuc2lnbmVkIGZsYWdzKQoreworCWludCByZXQgPSAwOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1YjsKKwlpbnQgKmVycm9yX2NvZGVfcHRyLCBlcnJvcl9jb2RlOworCisJaWYgKCFpc19zdWJtb2R1bGVfYWN0aXZlKHRoZV9yZXBvc2l0b3J5LCBwYXRoKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoZmxhZ3MgJiBTVUJNT0RVTEVfTU9WRV9IRUFEX0ZPUkNFKQorCQkvKgorCQkgKiBQYXNzIG5vbiBOVUxMIHBvaW50ZXIgdG8gaXNfc3VibW9kdWxlX3BvcHVsYXRlZF9nZW50bHkKKwkJICogdG8gcHJldmVudCBkaWUoKS1pbmcuIFdlJ2xsIHVzZSBjb25uZWN0X3dvcmtfdHJlZV9hbmRfZ2l0X2RpcgorCQkgKiB0byBmaXh1cCB0aGUgc3VibW9kdWxlIGluIHRoZSBmb3JjZSBjYXNlIGxhdGVyLgorCQkgKi8KKwkJZXJyb3JfY29kZV9wdHIgPSAmZXJyb3JfY29kZTsKKwllbHNlCisJCWVycm9yX2NvZGVfcHRyID0gTlVMTDsKKworCWlmIChvbGQgJiYgIWlzX3N1Ym1vZHVsZV9wb3B1bGF0ZWRfZ2VudGx5KHBhdGgsIGVycm9yX2NvZGVfcHRyKSkKKwkJcmV0dXJuIDA7CisKKwlzdWIgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKCZudWxsX29pZCwgcGF0aCk7CisKKwlpZiAoIXN1YikKKwkJZGllKCJCVUc6IGNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGluZm9ybWF0aW9uIGZvciAnJXMnIiwgcGF0aCk7CisKKwlpZiAob2xkICYmICEoZmxhZ3MgJiBTVUJNT0RVTEVfTU9WRV9IRUFEX0ZPUkNFKSkgeworCQkvKiBDaGVjayBpZiB0aGUgc3VibW9kdWxlIGhhcyBhIGRpcnR5IGluZGV4LiAqLworCQlpZiAoc3VibW9kdWxlX2hhc19kaXJ0eV9pbmRleChzdWIpKQorCQkJcmV0dXJuIGVycm9yKF8oInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIpLCBwYXRoKTsKKwl9CisKKwlpZiAoIShmbGFncyAmIFNVQk1PRFVMRV9NT1ZFX0hFQURfRFJZX1JVTikpIHsKKwkJaWYgKG9sZCkgeworCQkJaWYgKCFzdWJtb2R1bGVfdXNlc19naXRmaWxlKHBhdGgpKQorCQkJCWFic29yYl9naXRfZGlyX2ludG9fc3VwZXJwcm9qZWN0KCIiLCBwYXRoLAorCQkJCQlBQlNPUkJfR0lURElSX1JFQ1VSU0VfU1VCTU9EVUxFUyk7CisJCX0gZWxzZSB7CisJCQljaGFyICpnaXRkaXIgPSB4c3RyZm10KCIlcy9tb2R1bGVzLyVzIiwKKwkJCQkgICAgZ2V0X2dpdF9jb21tb25fZGlyKCksIHN1Yi0+bmFtZSk7CisJCQljb25uZWN0X3dvcmtfdHJlZV9hbmRfZ2l0X2RpcihwYXRoLCBnaXRkaXIpOworCQkJZnJlZShnaXRkaXIpOworCisJCQkvKiBtYWtlIHN1cmUgdGhlIGluZGV4IGlzIGNsZWFuIGFzIHdlbGwgKi8KKwkJCXN1Ym1vZHVsZV9yZXNldF9pbmRleChwYXRoKTsKKwkJfQorCisJCWlmIChvbGQgJiYgKGZsYWdzICYgU1VCTU9EVUxFX01PVkVfSEVBRF9GT1JDRSkpIHsKKwkJCWNoYXIgKmdpdGRpciA9IHhzdHJmbXQoIiVzL21vZHVsZXMvJXMiLAorCQkJCSAgICBnZXRfZ2l0X2NvbW1vbl9kaXIoKSwgc3ViLT5uYW1lKTsKKwkJCWNvbm5lY3Rfd29ya190cmVlX2FuZF9naXRfZGlyKHBhdGgsIGdpdGRpcik7CisJCQlmcmVlKGdpdGRpcik7CisJCX0KKwl9CisKKwlwcmVwYXJlX3N1Ym1vZHVsZV9yZXBvX2VudigmY3AuZW52X2FycmF5KTsKKworCWNwLmdpdF9jbWQgPSAxOworCWNwLm5vX3N0ZGluID0gMTsKKwljcC5kaXIgPSBwYXRoOworCisJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIi0tc3VwZXItcHJlZml4PSVzJXMvIiwKKwkJCWdldF9zdXBlcl9wcmVmaXhfb3JfZW1wdHkoKSwgcGF0aCk7CisJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgInJlYWQtdHJlZSIsICItLXJlY3Vyc2Utc3VibW9kdWxlcyIsIE5VTEwpOworCisJaWYgKGZsYWdzICYgU1VCTU9EVUxFX01PVkVfSEVBRF9EUllfUlVOKQorCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItbiIpOworCWVsc2UKKwkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLXUiKTsKKworCWlmIChmbGFncyAmIFNVQk1PRFVMRV9NT1ZFX0hFQURfRk9SQ0UpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi0tcmVzZXQiKTsKKwllbHNlCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi1tIik7CisKKwlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsIG9sZCA/IG9sZCA6IEVNUFRZX1RSRUVfU0hBMV9IRVgpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgbmV3ID8gbmV3IDogRU1QVFlfVFJFRV9TSEExX0hFWCk7CisKKwlpZiAocnVuX2NvbW1hbmQoJmNwKSkgeworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKCEoZmxhZ3MgJiBTVUJNT0RVTEVfTU9WRV9IRUFEX0RSWV9SVU4pKSB7CisJCWlmIChuZXcpIHsKKwkJCWNoaWxkX3Byb2Nlc3NfaW5pdCgmY3ApOworCQkJLyogYWxzbyBzZXQgdGhlIEhFQUQgYWNjb3JkaW5nbHkgKi8KKwkJCWNwLmdpdF9jbWQgPSAxOworCQkJY3Aubm9fc3RkaW4gPSAxOworCQkJY3AuZGlyID0gcGF0aDsKKworCQkJcHJlcGFyZV9zdWJtb2R1bGVfcmVwb19lbnYoJmNwLmVudl9hcnJheSk7CisJCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAidXBkYXRlLXJlZiIsICJIRUFEIiwgbmV3LCBOVUxMKTsKKworCQkJaWYgKHJ1bl9jb21tYW5kKCZjcCkpIHsKKwkJCQlyZXQgPSAtMTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKworCQkJc3RyYnVmX2FkZGYoJnNiLCAiJXMvLmdpdCIsIHBhdGgpOworCQkJdW5saW5rX29yX3dhcm4oc2IuYnVmKTsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisKKwkJCWlmIChpc19lbXB0eV9kaXIocGF0aCkpCisJCQkJcm1kaXJfb3Jfd2FybihwYXRoKTsKKwkJfQorCX0KK291dDoKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW50IGZpbmRfZmlyc3RfbWVyZ2VzKHN0cnVjdCBvYmplY3RfYXJyYXkgKnJlc3VsdCwgY29uc3QgY2hhciAqcGF0aCwKIAkJc3RydWN0IGNvbW1pdCAqYSwgc3RydWN0IGNvbW1pdCAqYikKIHsKQEAgLTEyMjEsMTAgKzE2NDcsMTIgQEAKIAltZW1zZXQoJnJldl9vcHRzLCAwLCBzaXplb2YocmV2X29wdHMpKTsKIAogCS8qIGdldCBhbGwgcmV2aXNpb25zIHRoYXQgbWVyZ2UgY29tbWl0IGEgKi8KLQlzbnByaW50ZihtZXJnZWRfcmV2aXNpb24sIHNpemVvZihtZXJnZWRfcmV2aXNpb24pLCAiXiVzIiwKKwl4c25wcmludGYobWVyZ2VkX3JldmlzaW9uLCBzaXplb2YobWVyZ2VkX3JldmlzaW9uKSwgIl4lcyIsCiAJCQlvaWRfdG9faGV4KCZhLT5vYmplY3Qub2lkKSk7CiAJaW5pdF9yZXZpc2lvbnMoJnJldnMsIE5VTEwpOwogCXJldl9vcHRzLnN1Ym1vZHVsZSA9IHBhdGg7CisJLyogRklYTUU6IGNhbid0IGhhbmRsZSBsaW5rZWQgd29ya3RyZWVzIGluIHN1Ym1vZHVsZXMgeWV0ICovCisJcmV2cy5zaW5nbGVfd29ya3RyZWUgPSBwYXRoICE9IE5VTEw7CiAJc2V0dXBfcmV2aXNpb25zKEFSUkFZX1NJWkUocmV2X2FyZ3MpLTEsIHJldl9hcmdzLCAmcmV2cywgJnJldl9vcHRzKTsKIAogCS8qIHNhdmUgYWxsIHJldmlzaW9ucyBmcm9tIHRoZSBhYm92ZSBsaXN0IHRoYXQgY29udGFpbiBiICovCkBAIC0xMjU3LDcgKzE2ODUsNyBAQAogCQkJYWRkX29iamVjdF9hcnJheShtZXJnZXMub2JqZWN0c1tpXS5pdGVtLCBOVUxMLCByZXN1bHQpOwogCX0KIAotCWZyZWUobWVyZ2VzLm9iamVjdHMpOworCW9iamVjdF9hcnJheV9jbGVhcigmbWVyZ2VzKTsKIAlyZXR1cm4gcmVzdWx0LT5ucjsKIH0KIApAQCAtMTI3NCw5ICsxNzAyLDkgQEAKICNkZWZpbmUgTUVSR0VfV0FSTklORyhwYXRoLCBtc2cpIFwKIAl3YXJuaW5nKCJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzICglcykiLCBwYXRoLCBtc2cpOwogCi1pbnQgbWVyZ2Vfc3VibW9kdWxlKHVuc2lnbmVkIGNoYXIgcmVzdWx0WzIwXSwgY29uc3QgY2hhciAqcGF0aCwKLQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgYmFzZVsyMF0sIGNvbnN0IHVuc2lnbmVkIGNoYXIgYVsyMF0sCi0JCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyIGJbMjBdLCBpbnQgc2VhcmNoKQoraW50IG1lcmdlX3N1Ym1vZHVsZShzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHQsIGNvbnN0IGNoYXIgKnBhdGgsCisJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiYXNlLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICphLAorCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYiwgaW50IHNlYXJjaCkKIHsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXRfYmFzZSwgKmNvbW1pdF9hLCAqY29tbWl0X2I7CiAJaW50IHBhcmVudF9jb3VudDsKQEAgLTEyODUsMTQgKzE3MTMsMTQgQEAKIAlpbnQgaTsKIAogCS8qIHN0b3JlIGEgaW4gcmVzdWx0IGluIGNhc2Ugd2UgZmFpbCAqLwotCWhhc2hjcHkocmVzdWx0LCBhKTsKKwlvaWRjcHkocmVzdWx0LCBhKTsKIAogCS8qIHdlIGNhbiBub3QgaGFuZGxlIGRlbGV0aW9uIGNvbmZsaWN0cyAqLwotCWlmIChpc19udWxsX3NoYTEoYmFzZSkpCisJaWYgKGlzX251bGxfb2lkKGJhc2UpKQogCQlyZXR1cm4gMDsKLQlpZiAoaXNfbnVsbF9zaGExKGEpKQorCWlmIChpc19udWxsX29pZChhKSkKIAkJcmV0dXJuIDA7Ci0JaWYgKGlzX251bGxfc2hhMShiKSkKKwlpZiAoaXNfbnVsbF9vaWQoYikpCiAJCXJldHVybiAwOwogCiAJaWYgKGFkZF9zdWJtb2R1bGVfb2RiKHBhdGgpKSB7CkBAIC0xMzE2LDExICsxNzQ0LDExIEBACiAKIAkvKiBDYXNlICMxOiBhIGlzIGNvbnRhaW5lZCBpbiBiIG9yIHZpY2UgdmVyc2EgKi8KIAlpZiAoaW5fbWVyZ2VfYmFzZXMoY29tbWl0X2EsIGNvbW1pdF9iKSkgewotCQloYXNoY3B5KHJlc3VsdCwgYik7CisJCW9pZGNweShyZXN1bHQsIGIpOwogCQlyZXR1cm4gMTsKIAl9CiAJaWYgKGluX21lcmdlX2Jhc2VzKGNvbW1pdF9iLCBjb21taXRfYSkpIHsKLQkJaGFzaGNweShyZXN1bHQsIGEpOworCQlvaWRjcHkocmVzdWx0LCBhKTsKIAkJcmV0dXJuIDE7CiAJfQogCkBAIC0xMzYyLDI3ICsxNzkwLDEwIEBACiAJCQlwcmludF9jb21taXQoKHN0cnVjdCBjb21taXQgKikgbWVyZ2VzLm9iamVjdHNbaV0uaXRlbSk7CiAJfQogCi0JZnJlZShtZXJnZXMub2JqZWN0cyk7CisJb2JqZWN0X2FycmF5X2NsZWFyKCZtZXJnZXMpOwogCXJldHVybiAwOwogfQogCi1pbnQgcGFyYWxsZWxfc3VibW9kdWxlcyh2b2lkKQotewotCXJldHVybiBwYXJhbGxlbF9qb2JzOwotfQotCi12b2lkIHByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KHN0cnVjdCBhcmd2X2FycmF5ICpvdXQpCi17Ci0JY29uc3QgY2hhciAqIGNvbnN0ICp2YXI7Ci0KLQlmb3IgKHZhciA9IGxvY2FsX3JlcG9fZW52OyAqdmFyOyB2YXIrKykgewotCQlpZiAoc3RyY21wKCp2YXIsIENPTkZJR19EQVRBX0VOVklST05NRU5UKSkKLQkJCWFyZ3ZfYXJyYXlfcHVzaChvdXQsICp2YXIpOwotCX0KLQlhcmd2X2FycmF5X3B1c2hmKG91dCwgIiVzPSVzIiwgR0lUX0RJUl9FTlZJUk9OTUVOVCwKLQkJCSBERUZBVUxUX0dJVF9ESVJfRU5WSVJPTk1FTlQpOwotfQotCiAvKgogICogRW1iZWRzIGEgc2luZ2xlIHN1Ym1vZHVsZXMgZ2l0IGRpcmVjdG9yeSBpbnRvIHRoZSBzdXBlcnByb2plY3RzIGdpdCBkaXIsCiAgKiBub24gcmVjdXJzaXZlbHkuCkBAIC0xNDA1LDcgKzE4MTYsNyBAQAogCiAJcmVhbF9vbGRfZ2l0X2RpciA9IHJlYWxfcGF0aGR1cChvbGRfZ2l0X2RpciwgMSk7CiAKLQlzdWIgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKG51bGxfc2hhMSwgcGF0aCk7CisJc3ViID0gc3VibW9kdWxlX2Zyb21fcGF0aCgmbnVsbF9vaWQsIHBhdGgpOwogCWlmICghc3ViKQogCQlkaWUoXygiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIpLCBwYXRoKTsKIApAQCAtMTQxNCwxMSArMTgyNSw4IEBACiAJCWRpZShfKCJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIiksIG5ld19naXRfZGlyKTsKIAlyZWFsX25ld19naXRfZGlyID0gcmVhbF9wYXRoZHVwKG5ld19naXRfZGlyLCAxKTsKIAotCWlmICghcHJlZml4KQotCQlwcmVmaXggPSBnZXRfc3VwZXJfcHJlZml4KCk7Ci0KIAlmcHJpbnRmKHN0ZGVyciwgXygiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiclcycgdG9cbiclcydcbiIpLAotCQlwcmVmaXggPyBwcmVmaXggOiAiIiwgcGF0aCwKKwkJZ2V0X3N1cGVyX3ByZWZpeF9vcl9lbXB0eSgpLCBwYXRoLAogCQlyZWFsX29sZF9naXRfZGlyLCByZWFsX25ld19naXRfZGlyKTsKIAogCXJlbG9jYXRlX2dpdGRpcihwYXRoLCByZWFsX29sZF9naXRfZGlyLCByZWFsX25ld19naXRfZGlyKTsKQEAgLTE0NDUsOCArMTg1Myw2IEBACiAKIAkvKiBOb3QgcG9wdWxhdGVkPyAqLwogCWlmICghc3ViX2dpdF9kaXIpIHsKLQkJY2hhciAqcmVhbF9uZXdfZ2l0X2RpcjsKLQkJY29uc3QgY2hhciAqbmV3X2dpdF9kaXI7CiAJCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1YjsKIAogCQlpZiAoZXJyX2NvZGUgPT0gUkVBRF9HSVRGSUxFX0VSUl9TVEFUX0ZBSUxFRCkgewpAQCAtMTQ2NiwxNiArMTg3MiwxMSBAQAogCQkqIHN1cGVycHJvamVjdCBkaWQgbm90IHJld3JpdGUgdGhlIGdpdCBmaWxlIGxpbmtzIHlldCwKIAkJKiBmaXggaXQgbm93LgogCQkqLwotCQlzdWIgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKG51bGxfc2hhMSwgcGF0aCk7CisJCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgoJm51bGxfb2lkLCBwYXRoKTsKIAkJaWYgKCFzdWIpCiAJCQlkaWUoXygiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIpLCBwYXRoKTsKLQkJbmV3X2dpdF9kaXIgPSBnaXRfcGF0aCgibW9kdWxlcy8lcyIsIHN1Yi0+bmFtZSk7Ci0JCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KG5ld19naXRfZGlyKSA8IDApCi0JCQlkaWUoXygiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIpLCBuZXdfZ2l0X2Rpcik7Ci0JCXJlYWxfbmV3X2dpdF9kaXIgPSByZWFsX3BhdGhkdXAobmV3X2dpdF9kaXIsIDEpOwotCQljb25uZWN0X3dvcmtfdHJlZV9hbmRfZ2l0X2RpcihwYXRoLCByZWFsX25ld19naXRfZGlyKTsKLQotCQlmcmVlKHJlYWxfbmV3X2dpdF9kaXIpOworCQljb25uZWN0X3dvcmtfdHJlZV9hbmRfZ2l0X2RpcihwYXRoLAorCQkJZ2l0X3BhdGgoIm1vZHVsZXMvJXMiLCBzdWItPm5hbWUpKTsKIAl9IGVsc2UgewogCQkvKiBJcyBpdCBhbHJlYWR5IGFic29yYmVkIGludG8gdGhlIHN1cGVycHJvamVjdHMgZ2l0IGRpcj8gKi8KIAkJY2hhciAqcmVhbF9zdWJfZ2l0X2RpciA9IHJlYWxfcGF0aGR1cChzdWJfZ2l0X2RpciwgMSk7CkBAIC0xNDk2LDggKzE4OTcsNyBAQAogCQlpZiAoZmxhZ3MgJiB+QUJTT1JCX0dJVERJUl9SRUNVUlNFX1NVQk1PRFVMRVMpCiAJCQlkaWUoIkJVRzogd2UgZG9uJ3Qga25vdyBob3cgdG8gcGFzcyB0aGUgZmxhZ3MgZG93bj8iKTsKIAotCQlpZiAoZ2V0X3N1cGVyX3ByZWZpeCgpKQotCQkJc3RyYnVmX2FkZHN0cigmc2IsIGdldF9zdXBlcl9wcmVmaXgoKSk7CisJCXN0cmJ1Zl9hZGRzdHIoJnNiLCBnZXRfc3VwZXJfcHJlZml4X29yX2VtcHR5KCkpOwogCQlzdHJidWZfYWRkc3RyKCZzYiwgcGF0aCk7CiAJCXN0cmJ1Zl9hZGRjaCgmc2IsICcvJyk7CiAKQEAgLTE1MTQsMyArMTkxNCwxMTkgQEAKIAkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAl9CiB9CisKK2NvbnN0IGNoYXIgKmdldF9zdXBlcnByb2plY3Rfd29ya2luZ190cmVlKHZvaWQpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCWNvbnN0IGNoYXIgKm9uZV91cCA9IHJlYWxfcGF0aF9pZl92YWxpZCgiLi4vIik7CisJY29uc3QgY2hhciAqY3dkID0geGdldGN3ZCgpOworCWNvbnN0IGNoYXIgKnJldCA9IE5VTEw7CisJY29uc3QgY2hhciAqc3VicGF0aDsKKwlpbnQgY29kZTsKKwlzc2l6ZV90IGxlbjsKKworCWlmICghaXNfaW5zaWRlX3dvcmtfdHJlZSgpKQorCQkvKgorCQkgKiBGSVhNRToKKwkJICogV2UgbWlnaHQgaGF2ZSBhIHN1cGVycHJvamVjdCwgYnV0IGl0IGlzIGhhcmRlcgorCQkgKiB0byBkZXRlcm1pbmUuCisJCSAqLworCQlyZXR1cm4gTlVMTDsKKworCWlmICghb25lX3VwKQorCQlyZXR1cm4gTlVMTDsKKworCXN1YnBhdGggPSByZWxhdGl2ZV9wYXRoKGN3ZCwgb25lX3VwLCAmc2IpOworCisJcHJlcGFyZV9zdWJtb2R1bGVfcmVwb19lbnYoJmNwLmVudl9hcnJheSk7CisJYXJndl9hcnJheV9wb3AoJmNwLmVudl9hcnJheSk7CisKKwlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAiLS1saXRlcmFsLXBhdGhzcGVjcyIsICItQyIsICIuLiIsCisJCQkibHMtZmlsZXMiLCAiLXoiLCAiLS1zdGFnZSIsICItLWZ1bGwtbmFtZSIsICItLSIsCisJCQlzdWJwYXRoLCBOVUxMKTsKKwlzdHJidWZfcmVzZXQoJnNiKTsKKworCWNwLm5vX3N0ZGluID0gMTsKKwljcC5ub19zdGRlcnIgPSAxOworCWNwLm91dCA9IC0xOworCWNwLmdpdF9jbWQgPSAxOworCisJaWYgKHN0YXJ0X2NvbW1hbmQoJmNwKSkKKwkJZGllKF8oImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIpKTsKKworCWxlbiA9IHN0cmJ1Zl9yZWFkKCZzYiwgY3Aub3V0LCBQQVRIX01BWCk7CisJY2xvc2UoY3Aub3V0KTsKKworCWlmIChzdGFydHNfd2l0aChzYi5idWYsICIxNjAwMDAiKSkgeworCQlpbnQgc3VwZXJfc3ViX2xlbjsKKwkJaW50IGN3ZF9sZW4gPSBzdHJsZW4oY3dkKTsKKwkJY2hhciAqc3VwZXJfc3ViLCAqc3VwZXJfd3Q7CisKKwkJLyoKKwkJICogVGhlcmUgaXMgYSBzdXBlcnByb2plY3QgaGF2aW5nIHRoaXMgcmVwbyBhcyBhIHN1Ym1vZHVsZS4KKwkJICogVGhlIGZvcm1hdCBpcyA8bW9kZT4gU1AgPGhhc2g+IFNQIDxzdGFnZT4gVEFCIDxmdWxsIG5hbWU+IFwwLAorCQkgKiBXZSdyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIG5hbWUgYWZ0ZXIgdGhlIHRhYi4KKwkJICovCisJCXN1cGVyX3N1YiA9IHN0cmNocihzYi5idWYsICdcdCcpICsgMTsKKwkJc3VwZXJfc3ViX2xlbiA9IHNiLmJ1ZiArIHNiLmxlbiAtIHN1cGVyX3N1YiAtIDE7CisKKwkJaWYgKHN1cGVyX3N1Yl9sZW4gPiBjd2RfbGVuIHx8CisJCSAgICBzdHJjbXAoJmN3ZFtjd2RfbGVuIC0gc3VwZXJfc3ViX2xlbl0sIHN1cGVyX3N1YikpCisJCQlkaWUgKF8oIkJVRzogcmV0dXJuZWQgcGF0aCBzdHJpbmcgZG9lc24ndCBtYXRjaCBjd2Q/IikpOworCisJCXN1cGVyX3d0ID0geHN0cmR1cChjd2QpOworCQlzdXBlcl93dFtjd2RfbGVuIC0gc3VwZXJfc3ViX2xlbl0gPSAnXDAnOworCisJCXJldCA9IHJlYWxfcGF0aChzdXBlcl93dCk7CisJCWZyZWUoc3VwZXJfd3QpOworCX0KKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCisJY29kZSA9IGZpbmlzaF9jb21tYW5kKCZjcCk7CisKKwlpZiAoY29kZSA9PSAxMjgpCisJCS8qICcuLi8nIGlzIG5vdCBhIGdpdCByZXBvc2l0b3J5ICovCisJCXJldHVybiBOVUxMOworCWlmIChjb2RlID09IDAgJiYgbGVuID09IDApCisJCS8qIFRoZXJlIGlzIGFuIHVucmVsYXRlZCBnaXQgcmVwb3NpdG9yeSBhdCAnLi4vJyAqLworCQlyZXR1cm4gTlVMTDsKKwlpZiAoY29kZSkKKwkJZGllKF8oImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIpLCBjb2RlKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBQdXQgdGhlIGdpdGRpciBmb3IgYSBzdWJtb2R1bGUgKGdpdmVuIHJlbGF0aXZlIHRvIHRoZSBtYWluCisgKiByZXBvc2l0b3J5IHdvcmt0cmVlKSBpbnRvIGBidWZgLCBvciByZXR1cm4gLTEgb24gZXJyb3IuCisgKi8KK2ludCBzdWJtb2R1bGVfdG9fZ2l0ZGlyKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqc3VibW9kdWxlKQoreworCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1YjsKKwljb25zdCBjaGFyICpnaXRfZGlyOworCWludCByZXQgPSAwOworCisJc3RyYnVmX3Jlc2V0KGJ1Zik7CisJc3RyYnVmX2FkZHN0cihidWYsIHN1Ym1vZHVsZSk7CisJc3RyYnVmX2NvbXBsZXRlKGJ1ZiwgJy8nKTsKKwlzdHJidWZfYWRkc3RyKGJ1ZiwgIi5naXQiKTsKKworCWdpdF9kaXIgPSByZWFkX2dpdGZpbGUoYnVmLT5idWYpOworCWlmIChnaXRfZGlyKSB7CisJCXN0cmJ1Zl9yZXNldChidWYpOworCQlzdHJidWZfYWRkc3RyKGJ1ZiwgZ2l0X2Rpcik7CisJfQorCWlmICghaXNfZ2l0X2RpcmVjdG9yeShidWYtPmJ1ZikpIHsKKwkJc3ViID0gc3VibW9kdWxlX2Zyb21fcGF0aCgmbnVsbF9vaWQsIHN1Ym1vZHVsZSk7CisJCWlmICghc3ViKSB7CisJCQlyZXQgPSAtMTsKKwkJCWdvdG8gY2xlYW51cDsKKwkJfQorCQlzdHJidWZfcmVzZXQoYnVmKTsKKwkJc3RyYnVmX2dpdF9wYXRoKGJ1ZiwgIiVzLyVzIiwgIm1vZHVsZXMiLCBzdWItPm5hbWUpOworCX0KKworY2xlYW51cDoKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvc3VibW9kdWxlLmggYi9zdWJtb2R1bGUuaAppbmRleCAwNWFiNjc0Li5mMGRhMDI3IDEwMDY0NAotLS0gYS9zdWJtb2R1bGUuaAorKysgYi9zdWJtb2R1bGUuaApAQCAtMSw5ICsxLDExIEBACiAjaWZuZGVmIFNVQk1PRFVMRV9ICiAjZGVmaW5lIFNVQk1PRFVMRV9ICiAKK3N0cnVjdCByZXBvc2l0b3J5Owogc3RydWN0IGRpZmZfb3B0aW9uczsKIHN0cnVjdCBhcmd2X2FycmF5Owotc3RydWN0IHNoYTFfYXJyYXk7CitzdHJ1Y3Qgb2lkX2FycmF5Oworc3RydWN0IHJlbW90ZTsKIAogZW51bSB7CiAJUkVDVVJTRV9TVUJNT0RVTEVTX09OTFkgPSAtNSwKQEAgLTMxLDM2ICszMyw1MiBAQAogfTsKICNkZWZpbmUgU1VCTU9EVUxFX1VQREFURV9TVFJBVEVHWV9JTklUIHtTTV9VUERBVEVfVU5TUEVDSUZJRUQsIE5VTEx9CiAKLWV4dGVybiBpbnQgaXNfc3RhZ2luZ19naXRtb2R1bGVzX29rKHZvaWQpOworZXh0ZXJuIGludCBpc19naXRtb2R1bGVzX3VubWVyZ2VkKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKK2V4dGVybiBpbnQgaXNfc3RhZ2luZ19naXRtb2R1bGVzX29rKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKIGV4dGVybiBpbnQgdXBkYXRlX3BhdGhfaW5fZ2l0bW9kdWxlcyhjb25zdCBjaGFyICpvbGRwYXRoLCBjb25zdCBjaGFyICpuZXdwYXRoKTsKIGV4dGVybiBpbnQgcmVtb3ZlX3BhdGhfZnJvbV9naXRtb2R1bGVzKGNvbnN0IGNoYXIgKnBhdGgpOwogZXh0ZXJuIHZvaWQgc3RhZ2VfdXBkYXRlZF9naXRtb2R1bGVzKHZvaWQpOwogZXh0ZXJuIHZvaWQgc2V0X2RpZmZvcHRfZmxhZ3NfZnJvbV9zdWJtb2R1bGVfY29uZmlnKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwKIAkJY29uc3QgY2hhciAqcGF0aCk7Ci1leHRlcm4gaW50IHN1Ym1vZHVsZV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOwotZXh0ZXJuIHZvaWQgZ2l0bW9kdWxlc19jb25maWcodm9pZCk7Ci1leHRlcm4gdm9pZCBnaXRtb2R1bGVzX2NvbmZpZ19zaGExKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbW1pdF9zaGExKTsKLWV4dGVybiBpbnQgaXNfc3VibW9kdWxlX2luaXRpYWxpemVkKGNvbnN0IGNoYXIgKnBhdGgpOwotZXh0ZXJuIGludCBpc19zdWJtb2R1bGVfcG9wdWxhdGVkKGNvbnN0IGNoYXIgKnBhdGgpOworZXh0ZXJuIGludCBnaXRfZGVmYXVsdF9zdWJtb2R1bGVfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKKworc3RydWN0IG9wdGlvbjsKK2ludCBvcHRpb25fcGFyc2VfcmVjdXJzZV9zdWJtb2R1bGVzX3dvcmt0cmVlX3VwZGF0ZXIoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCQkJICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCk7CitleHRlcm4gaW50IGlzX3N1Ym1vZHVsZV9hY3RpdmUoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKnBhdGgpOworLyoKKyAqIERldGVybWluZSBpZiBhIHN1Ym1vZHVsZSBoYXMgYmVlbiBwb3B1bGF0ZWQgYXQgYSBnaXZlbiAncGF0aCcgYnkgY2hlY2tpbmcgaWYKKyAqIHRoZSA8cGF0aD4vLmdpdCByZXNvbHZlcyB0byBhIHZhbGlkIGdpdCByZXBvc2l0b3J5LgorICogSWYgcmV0dXJuX2Vycm9yX2NvZGUgaXMgTlVMTCwgZGllIG9uIGVycm9yLgorICogT3RoZXJ3aXNlIHRoZSByZXR1cm4gZXJyb3IgY29kZSBpcyB0aGUgc2FtZSBhcyBvZiByZXNvbHZlX2dpdGRpcl9nZW50bHkuCisgKi8KK2V4dGVybiBpbnQgaXNfc3VibW9kdWxlX3BvcHVsYXRlZF9nZW50bHkoY29uc3QgY2hhciAqcGF0aCwgaW50ICpyZXR1cm5fZXJyb3JfY29kZSk7CitleHRlcm4gdm9pZCBkaWVfaW5fdW5wb3B1bGF0ZWRfc3VibW9kdWxlKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJCQkgY29uc3QgY2hhciAqcHJlZml4KTsKK2V4dGVybiB2b2lkIGRpZV9wYXRoX2luc2lkZV9zdWJtb2R1bGUoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkJICAgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcyk7CitleHRlcm4gZW51bSBzdWJtb2R1bGVfdXBkYXRlX3R5cGUgcGFyc2Vfc3VibW9kdWxlX3VwZGF0ZV90eXBlKGNvbnN0IGNoYXIgKnZhbHVlKTsKIGV4dGVybiBpbnQgcGFyc2Vfc3VibW9kdWxlX3VwZGF0ZV9zdHJhdGVneShjb25zdCBjaGFyICp2YWx1ZSwKIAkJc3RydWN0IHN1Ym1vZHVsZV91cGRhdGVfc3RyYXRlZ3kgKmRzdCk7CiBleHRlcm4gY29uc3QgY2hhciAqc3VibW9kdWxlX3N0cmF0ZWd5X3RvX3N0cmluZyhjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlX3VwZGF0ZV9zdHJhdGVneSAqcyk7CiBleHRlcm4gdm9pZCBoYW5kbGVfaWdub3JlX3N1Ym1vZHVsZXNfYXJnKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiB2b2lkIHNob3dfc3VibW9kdWxlX3N1bW1hcnkoRklMRSAqZiwgY29uc3QgY2hhciAqcGF0aCwKLQkJY29uc3QgY2hhciAqbGluZV9wcmVmaXgsCitleHRlcm4gdm9pZCBzaG93X3N1Ym1vZHVsZV9zdW1tYXJ5KHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKnBhdGgsCiAJCXN0cnVjdCBvYmplY3RfaWQgKm9uZSwgc3RydWN0IG9iamVjdF9pZCAqdHdvLAotCQl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUsIGNvbnN0IGNoYXIgKm1ldGEsCi0JCWNvbnN0IGNoYXIgKmRlbCwgY29uc3QgY2hhciAqYWRkLCBjb25zdCBjaGFyICpyZXNldCk7Ci1leHRlcm4gdm9pZCBzaG93X3N1Ym1vZHVsZV9pbmxpbmVfZGlmZihGSUxFICpmLCBjb25zdCBjaGFyICpwYXRoLAotCQljb25zdCBjaGFyICpsaW5lX3ByZWZpeCwKKwkJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlKTsKK2V4dGVybiB2b2lkIHNob3dfc3VibW9kdWxlX2lubGluZV9kaWZmKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKnBhdGgsCiAJCXN0cnVjdCBvYmplY3RfaWQgKm9uZSwgc3RydWN0IG9iamVjdF9pZCAqdHdvLAotCQl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUsIGNvbnN0IGNoYXIgKm1ldGEsCi0JCWNvbnN0IGNoYXIgKmRlbCwgY29uc3QgY2hhciAqYWRkLCBjb25zdCBjaGFyICpyZXNldCwKLQkJY29uc3Qgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KTsKLWV4dGVybiB2b2lkIHNldF9jb25maWdfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzKGludCB2YWx1ZSk7Ci1leHRlcm4gdm9pZCBjaGVja19mb3JfbmV3X3N1Ym1vZHVsZV9jb21taXRzKHVuc2lnbmVkIGNoYXIgbmV3X3NoYTFbMjBdKTsKKwkJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlKTsKKy8qIENoZWNrIGlmIHdlIHdhbnQgdG8gdXBkYXRlIGFueSBzdWJtb2R1bGUuKi8KK2V4dGVybiBpbnQgc2hvdWxkX3VwZGF0ZV9zdWJtb2R1bGVzKHZvaWQpOworLyoKKyAqIFJldHVybnMgdGhlIHN1Ym1vZHVsZSBzdHJ1Y3QgaWYgdGhlIGdpdmVuIGNlIGVudHJ5IGlzIGEgc3VibW9kdWxlCisgKiBhbmQgaXQgc2hvdWxkIGJlIHVwZGF0ZWQuIFJldHVybnMgTlVMTCBvdGhlcndpc2UuCisgKi8KK2V4dGVybiBjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGVfZnJvbV9jZShjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKTsKK2V4dGVybiB2b2lkIGNoZWNrX2Zvcl9uZXdfc3VibW9kdWxlX2NvbW1pdHMoc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIGV4dGVybiBpbnQgZmV0Y2hfcG9wdWxhdGVkX3N1Ym1vZHVsZXMoY29uc3Qgc3RydWN0IGFyZ3ZfYXJyYXkgKm9wdGlvbnMsCiAJCQkgICAgICAgY29uc3QgY2hhciAqcHJlZml4LCBpbnQgY29tbWFuZF9saW5lX29wdGlvbiwKKwkJCSAgICAgICBpbnQgZGVmYXVsdF9vcHRpb24sCiAJCQkgICAgICAgaW50IHF1aWV0LCBpbnQgbWF4X3BhcmFsbGVsX2pvYnMpOwogZXh0ZXJuIHVuc2lnbmVkIGlzX3N1Ym1vZHVsZV9tb2RpZmllZChjb25zdCBjaGFyICpwYXRoLCBpbnQgaWdub3JlX3VudHJhY2tlZCk7CiBleHRlcm4gaW50IHN1Ym1vZHVsZV91c2VzX2dpdGZpbGUoY29uc3QgY2hhciAqcGF0aCk7CkBAIC02OSwyMiArODcsNDAgQEAKICNkZWZpbmUgU1VCTU9EVUxFX1JFTU9WQUxfSUdOT1JFX1VOVFJBQ0tFRCAoMTw8MSkKICNkZWZpbmUgU1VCTU9EVUxFX1JFTU9WQUxfSUdOT1JFX0lHTk9SRURfVU5UUkFDS0VEICgxPDwyKQogZXh0ZXJuIGludCBiYWRfdG9fcmVtb3ZlX3N1Ym1vZHVsZShjb25zdCBjaGFyICpwYXRoLCB1bnNpZ25lZCBmbGFncyk7Ci1leHRlcm4gaW50IG1lcmdlX3N1Ym1vZHVsZSh1bnNpZ25lZCBjaGFyIHJlc3VsdFsyMF0sIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkgICBjb25zdCB1bnNpZ25lZCBjaGFyIGJhc2VbMjBdLAotCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciBhWzIwXSwKLQkJCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgYlsyMF0sIGludCBzZWFyY2gpOwotZXh0ZXJuIGludCBmaW5kX3VucHVzaGVkX3N1Ym1vZHVsZXMoc3RydWN0IHNoYTFfYXJyYXkgKmNvbW1pdHMsCitleHRlcm4gaW50IG1lcmdlX3N1Ym1vZHVsZShzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHQsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiYXNlLAorCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYSwKKwkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmIsIGludCBzZWFyY2gpOworCisvKiBDaGVja3MgaWYgdGhlcmUgYXJlIHN1Ym1vZHVsZSBjaGFuZ2VzIGluIGEuLmIuICovCitleHRlcm4gaW50IHN1Ym1vZHVsZV90b3VjaGVzX2luX3JhbmdlKHN0cnVjdCBvYmplY3RfaWQgKmEsCisJCQkJICAgICAgc3RydWN0IG9iamVjdF9pZCAqYik7CitleHRlcm4gaW50IGZpbmRfdW5wdXNoZWRfc3VibW9kdWxlcyhzdHJ1Y3Qgb2lkX2FycmF5ICpjb21taXRzLAogCQkJCSAgICBjb25zdCBjaGFyICpyZW1vdGVzX25hbWUsCiAJCQkJICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqbmVlZHNfcHVzaGluZyk7Ci1leHRlcm4gaW50IHB1c2hfdW5wdXNoZWRfc3VibW9kdWxlcyhzdHJ1Y3Qgc2hhMV9hcnJheSAqY29tbWl0cywKLQkJCQkgICAgY29uc3QgY2hhciAqcmVtb3Rlc19uYW1lLAorZXh0ZXJuIGludCBwdXNoX3VucHVzaGVkX3N1Ym1vZHVsZXMoc3RydWN0IG9pZF9hcnJheSAqY29tbWl0cywKKwkJCQkgICAgY29uc3Qgc3RydWN0IHJlbW90ZSAqcmVtb3RlLAorCQkJCSAgICBjb25zdCBjaGFyICoqcmVmc3BlYywgaW50IHJlZnNwZWNfbnIsCisJCQkJICAgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqcHVzaF9vcHRpb25zLAogCQkJCSAgICBpbnQgZHJ5X3J1bik7CiBleHRlcm4gdm9pZCBjb25uZWN0X3dvcmtfdHJlZV9hbmRfZ2l0X2Rpcihjb25zdCBjaGFyICp3b3JrX3RyZWUsIGNvbnN0IGNoYXIgKmdpdF9kaXIpOwotZXh0ZXJuIGludCBwYXJhbGxlbF9zdWJtb2R1bGVzKHZvaWQpOworLyoKKyAqIEdpdmVuIGEgc3VibW9kdWxlIHBhdGggKGFzIGluIHRoZSBpbmRleCksIHJldHVybiB0aGUgcmVwb3NpdG9yeQorICogcGF0aCBvZiB0aGF0IHN1Ym1vZHVsZSBpbiAnYnVmJy4gUmV0dXJuIC0xIG9uIGVycm9yIG9yIHdoZW4gdGhlCisgKiBzdWJtb2R1bGUgaXMgbm90IGluaXRpYWxpemVkLgorICovCitpbnQgc3VibW9kdWxlX3RvX2dpdGRpcihzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSk7CisKKyNkZWZpbmUgU1VCTU9EVUxFX01PVkVfSEVBRF9EUllfUlVOICgxPDwwKQorI2RlZmluZSBTVUJNT0RVTEVfTU9WRV9IRUFEX0ZPUkNFICAgKDE8PDEpCitleHRlcm4gaW50IHN1Ym1vZHVsZV9tb3ZlX2hlYWQoY29uc3QgY2hhciAqcGF0aCwKKwkJCSAgICAgICBjb25zdCBjaGFyICpvbGQsCisJCQkgICAgICAgY29uc3QgY2hhciAqbmV3LAorCQkJICAgICAgIHVuc2lnbmVkIGZsYWdzKTsKIAogLyoKICAqIFByZXBhcmUgdGhlICJlbnZfYXJyYXkiIHBhcmFtZXRlciBvZiBhICJzdHJ1Y3QgY2hpbGRfcHJvY2VzcyIgZm9yIGV4ZWN1dGluZwotICogYSBzdWJtb2R1bGUgYnkgY2xlYXJpbmcgYW55IHJlcG8tc3BlY2lmaWMgZW52aXJpb25tZW50IHZhcmlhYmxlcywgYnV0CisgKiBhIHN1Ym1vZHVsZSBieSBjbGVhcmluZyBhbnkgcmVwby1zcGVjaWZpYyBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGJ1dAogICogcmV0YWluaW5nIGFueSBjb25maWcgaW4gdGhlIGVudmlyb25tZW50LgogICovCiBleHRlcm4gdm9pZCBwcmVwYXJlX3N1Ym1vZHVsZV9yZXBvX2VudihzdHJ1Y3QgYXJndl9hcnJheSAqb3V0KTsKQEAgLTkzLDQgKzEyOSwxMiBAQAogZXh0ZXJuIHZvaWQgYWJzb3JiX2dpdF9kaXJfaW50b19zdXBlcnByb2plY3QoY29uc3QgY2hhciAqcHJlZml4LAogCQkJCQkgICAgIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkJCSAgICAgdW5zaWduZWQgZmxhZ3MpOworCisvKgorICogUmV0dXJuIHRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSB3b3JraW5nIHRyZWUgb2YgdGhlIHN1cGVycHJvamVjdCwgd2hpY2ggdGhpcworICogcHJvamVjdCBpcyBhIHN1Ym1vZHVsZSBvZi4gSWYgdGhpcyByZXBvc2l0b3J5IGlzIG5vdCBhIHN1Ym1vZHVsZSBvZgorICogYW5vdGhlciByZXBvc2l0b3J5LCByZXR1cm4gTlVMTC4KKyAqLworZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9zdXBlcnByb2plY3Rfd29ya2luZ190cmVlKHZvaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3QvLmdpdGF0dHJpYnV0ZXMgYi90Ly5naXRhdHRyaWJ1dGVzCmluZGV4IDJkNDQwODguLjNiZDk1OWEgMTAwNjQ0Ci0tLSBhL3QvLmdpdGF0dHJpYnV0ZXMKKysrIGIvdC8uZ2l0YXR0cmlidXRlcwpAQCAtMSwyICsxLDIyIEBACiB0WzAtOV1bMC05XVswLTldWzAtOV0vKiAtd2hpdGVzcGFjZQotdDAxMTAvdXJsLSogYmluYXJ5CisvZGlmZi1saWIvKiBlb2w9bGYKKy90MDExMC91cmwtKiBiaW5hcnkKKy90MzkwMC8qLnR4dCBlb2w9bGYKKy90MzkwMS8qLnR4dCBlb2w9bGYKKy90NDAzNC8qLyogZW9sPWxmCisvdDQwMTMvKiBlb2w9bGYKKy90NDAxOC8qIGVvbD1sZgorL3Q0MDUxLyogZW9sPWxmCisvdDQxMDAvKiBlb2w9bGYKKy90NDEwMS8qIGVvbD1sZgorL3Q0MTA5LyogZW9sPWxmCisvdDQxMTAvKiBlb2w9bGYKKy90NDEzNS8qIGVvbD1sZgorL3Q0MjExLyogZW9sPWxmCisvdDQyNTIvKiBlb2w9bGYKKy90NTEwMC8qIGVvbD1sZgorL3Q1NTE1LyogZW9sPWxmCisvdDU1NnhfY29tbW9uIGVvbD1sZgorL3Q3NTAwLyogZW9sPWxmCisvdDgwMDUvKi50eHQgZW9sPWxmCisvdDkqLyouZHVtcCBlb2w9bGYKZGlmZiAtLWdpdCBhL3QvUkVBRE1FIGIvdC9SRUFETUUKaW5kZXggNDk4MmQxYy4uNGIwNzllNCAxMDA2NDQKLS0tIGEvdC9SRUFETUUKKysrIGIvdC9SRUFETUUKQEAgLTI2NSwxMiArMjY1LDEyIEBACiAKICAgICAkIHNoIC4vdDkyMDAtZ2l0LWN2c2V4cG9ydC1jb21taXQuc2ggLS1ydW49Jy0zIDIxJwogCi1BcyBub3RlZCBhYm92ZSwgdGhlIHRlc3Qgc2V0IGlzIGJ1aWx0IGdvaW5nIHRob3VnaCBpdGVtcyBsZWZ0IHRvCi1yaWdodCwgc28gdGhpczoKK0FzIG5vdGVkIGFib3ZlLCB0aGUgdGVzdCBzZXQgaXMgYnVpbHQgYnkgZ29pbmcgdGhyb3VnaCB0aGUgaXRlbXMKK2Zyb20gbGVmdCB0byByaWdodCwgc28gdGhpczoKIAogICAgICQgc2ggLi90OTIwMC1naXQtY3ZzZXhwb3J0LWNvbW1pdC5zaCAtLXJ1bj0nMS00ICEzJwogCi13aWxsIHJ1biB0ZXN0cyAxLCAyLCBhbmQgNC4gIEl0ZW1zIHRoYXQgY29tZXMgbGF0ZXIgaGF2ZSBoaWdoZXIKK3dpbGwgcnVuIHRlc3RzIDEsIDIsIGFuZCA0LiAgSXRlbXMgdGhhdCBjb21lIGxhdGVyIGhhdmUgaGlnaGVyCiBwcmVjZWRlbmNlLiAgSXQgbWVhbnMgdGhhdCB0aGlzOgogCiAgICAgJCBzaCAuL3Q5MjAwLWdpdC1jdnNleHBvcnQtY29tbWl0LnNoIC0tcnVuPSchMyAxLTQnCkBAIC00NzEsMTMgKzQ3MSwxMyBAQAogICAgdGhlaXIgb3V0cHV0LgogCiAgICBZb3UgY2FuIGdsZWFuIHNvbWUgZnVydGhlciBwb3NzaWJsZSBpc3N1ZXMgZnJvbSB0aGUgVEFQIGdyYW1tYXIKLSAgIChzZWUgaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9wZXJsZG9jP1RBUDo6UGFyc2VyOjpHcmFtbWFyI1RBUF9HcmFtbWFyKQorICAgKHNlZSBodHRwczovL21ldGFjcGFuLm9yZy9wb2QvVEFQOjpQYXJzZXI6OkdyYW1tYXIjVEFQLUdSQU1NQVIpCiAgICBidXQgdGhlIGJlc3QgaW5kaWNhdGlvbiBpcyB0byBqdXN0IHJ1biB0aGUgdGVzdHMgd2l0aCBwcm92ZSgxKSwKICAgIGl0J2xsIGNvbXBsYWluIGlmIGFueXRoaW5nIGlzIGFtaXNzLgogCiBLZWVwIGluIG1pbmQ6CiAKLSAtIEluc2lkZSA8c2NyaXB0PiBwYXJ0LCB0aGUgc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvcgorIC0gSW5zaWRlIHRoZSA8c2NyaXB0PiBwYXJ0LCB0aGUgc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvcgogICAgc3RyZWFtcyBhcmUgZGlzY2FyZGVkLCBhbmQgdGhlIHRlc3QgaGFybmVzcyBvbmx5IHJlcG9ydHMgIm9rIiBvcgogICAgIm5vdCBvayIgdG8gdGhlIGVuZCB1c2VyIHJ1bm5pbmcgdGhlIHRlc3RzLiBVbmRlciAtLXZlcmJvc2UsIHRoZXkKICAgIGFyZSBzaG93biB0byBoZWxwIGRlYnVnZ2luZyB0aGUgdGVzdHMuCkBAIC02MTEsOSArNjExLDExIEBACiAKICAtIHRlc3RfaGF2ZV9wcmVyZXEgPHByZXJlcT4KIAotICAgQ2hlY2sgaWYgd2UgaGF2ZSBhIHByZXJlcXVpc2l0ZSBwcmV2aW91c2x5IHNldCB3aXRoCi0gICB0ZXN0X3NldF9wcmVyZXEuIFRoZSBtb3N0IGNvbW1vbiB1c2Ugb2YgdGhpcyBkaXJlY3RseSBpcyB0byBza2lwCi0gICBhbGwgdGhlIHRlc3RzIGlmIHdlIGRvbid0IGhhdmUgc29tZSBlc3NlbnRpYWwgcHJlcmVxdWlzaXRlOgorICAgQ2hlY2sgaWYgd2UgaGF2ZSBhIHByZXJlcXVpc2l0ZSBwcmV2aW91c2x5IHNldCB3aXRoIHRlc3Rfc2V0X3ByZXJlcS4KKyAgIFRoZSBtb3N0IGNvbW1vbiB3YXkgdG8gdXNlIHRoaXMgZXhwbGljaXRseSAoYXMgb3Bwb3NlZCB0byB0aGUKKyAgIGltcGxpY2l0IHVzZSB3aGVuIGFuIGFyZ3VtZW50IGlzIHBhc3NlZCB0byB0ZXN0X2V4cGVjdF8qKSBpcyB0byBza2lwCisgICBhbGwgdGhlIHRlc3RzIGF0IHRoZSBzdGFydCBvZiB0aGUgdGVzdCBzY3JpcHQgaWYgd2UgZG9uJ3QgaGF2ZSBzb21lCisgICBlc3NlbnRpYWwgcHJlcmVxdWlzaXRlOgogCiAJaWYgISB0ZXN0X2hhdmVfcHJlcmVxIFBFUkwKIAl0aGVuCkBAIC04MDEsOSArODAzLDkgQEAKICAgIFRlc3QgaXMgbm90IHJ1biBieSByb290IHVzZXIsIGFuZCBhbiBhdHRlbXB0IHRvIHdyaXRlIHRvIGFuCiAgICB1bndyaXRhYmxlIGZpbGUgaXMgZXhwZWN0ZWQgdG8gZmFpbCBjb3JyZWN0bHkuCiAKLSAtIExJQlBDUkUKKyAtIFBDUkUKIAotICAgR2l0IHdhcyBjb21waWxlZCB3aXRoIFVTRV9MSUJQQ1JFPVllc1BsZWFzZS4gV3JhcCBhbnkgdGVzdHMKKyAgIEdpdCB3YXMgY29tcGlsZWQgd2l0aCBzdXBwb3J0IGZvciBQQ1JFLiBXcmFwIGFueSB0ZXN0cwogICAgdGhhdCB1c2UgZ2l0LWdyZXAgLS1wZXJsLXJlZ2V4cCBvciBnaXQtZ3JlcCAtUCBpbiB0aGVzZS4KIAogIC0gQ0FTRV9JTlNFTlNJVElWRV9GUwpAQCAtODE1LDYgKzgxNywxMCBAQAogICAgVGVzdCBpcyBydW4gb24gYSBmaWxlc3lzdGVtIHdoaWNoIGNvbnZlcnRzIGRlY29tcG9zZWQgdXRmLTggKG5mZCkKICAgIHRvIHByZWNvbXBvc2VkIHV0Zi04IChuZmMpLgogCisgLSBQVEhSRUFEUworCisgICBHaXQgd2Fzbid0IGNvbXBpbGVkIHdpdGggTk9fUFRIUkVBRFM9WWVzUGxlYXNlLgorCiBUaXBzIGZvciBXcml0aW5nIFRlc3RzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL3QvY2hlY2stbm9uLXBvcnRhYmxlLXNoZWxsLnBsIGIvdC9jaGVjay1ub24tcG9ydGFibGUtc2hlbGwucGwKaW5kZXggYjE3MGNiYy4uMDNkYzlkMiAxMDA3NTUKLS0tIGEvdC9jaGVjay1ub24tcG9ydGFibGUtc2hlbGwucGwKKysrIGIvdC9jaGVjay1ub24tcG9ydGFibGUtc2hlbGwucGwKQEAgLTE3LDcgKzE3LDcgQEAKIHdoaWxlICg8PikgewogCWNob21wOwogCS9cYnNlZFxzKy1pLyBhbmQgZXJyICdzZWQgLWkgaXMgbm90IHBvcnRhYmxlJzsKLQkvXGJlY2hvXHMrLW4vIGFuZCBlcnIgJ2VjaG8gLW4gaXMgbm90IHBvcnRhYmxlIChwbGVhc2UgdXNlIHByaW50ZiknOworCS9cYmVjaG9ccystW25lRV0vIGFuZCBlcnIgJ2VjaG8gd2l0aCBvcHRpb24gaXMgbm90IHBvcnRhYmxlIChwbGVhc2UgdXNlIHByaW50ZiknOwogCS9eXHMqZGVjbGFyZVxzKy8gYW5kIGVyciAnYXJyYXlzL2RlY2xhcmUgbm90IHBvcnRhYmxlJzsKIAkvXlxzKlteI11ccyp3aGljaFxzLyBhbmQgZXJyICd3aGljaCBpcyBub3QgcG9ydGFibGUgKHBsZWFzZSB1c2UgdHlwZSknOwogCS9cYnRlc3RccytbXj1dKj09LyBhbmQgZXJyICcidGVzdCBhID09IGIiIGlzIG5vdCBwb3J0YWJsZSAocGxlYXNlIHVzZSA9KSc7CmRpZmYgLS1naXQgYS90L2hlbHBlci8uZ2l0aWdub3JlIGIvdC9oZWxwZXIvLmdpdGlnbm9yZQppbmRleCBkNmU4YjM2Li43YzlkMjhhIDEwMDY0NAotLS0gYS90L2hlbHBlci8uZ2l0aWdub3JlCisrKyBiL3QvaGVscGVyLy5naXRpZ25vcmUKQEAgLTExLDIzICsxMSwyOCBAQAogL3Rlc3QtZ2VucmFuZG9tCiAvdGVzdC1oYXNobWFwCiAvdGVzdC1pbmRleC12ZXJzaW9uCisvdGVzdC1sYXp5LWluaXQtbmFtZS1oYXNoCiAvdGVzdC1saW5lLWJ1ZmZlcgogL3Rlc3QtbWF0Y2gtdHJlZXMKIC90ZXN0LW1lcmdlc29ydAogL3Rlc3QtbWt0ZW1wCisvdGVzdC1vbmxpbmUtY3B1cwogL3Rlc3QtcGFyc2Utb3B0aW9ucwogL3Rlc3QtcGF0aC11dGlscwogL3Rlc3QtcHJpby1xdWV1ZQogL3Rlc3QtcmVhZC1jYWNoZQorL3Rlc3QtcmVmLXN0b3JlCiAvdGVzdC1yZWdleAogL3Rlc3QtcmV2aXNpb24td2Fsa2luZwogL3Rlc3QtcnVuLWNvbW1hbmQKIC90ZXN0LXNoYTEKIC90ZXN0LXNoYTEtYXJyYXkKIC90ZXN0LXNpZ2NoYWluCisvdGVzdC1zdHJjbXAtb2Zmc2V0CiAvdGVzdC1zdHJpbmctbGlzdAogL3Rlc3Qtc3VibW9kdWxlLWNvbmZpZwogL3Rlc3Qtc3VicHJvY2VzcwogL3Rlc3Qtc3ZuLWZlCiAvdGVzdC11cmxtYXRjaC1ub3JtYWxpemF0aW9uCiAvdGVzdC13aWxkbWF0Y2gKKy90ZXN0LXdyaXRlLWNhY2hlCmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWNvbmZpZy5jIGIvdC9oZWxwZXIvdGVzdC1jb25maWcuYwppbmRleCA4M2E0ZjJhLi4xYTdiOGJkIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LWNvbmZpZy5jCisrKyBiL3QvaGVscGVyL3Rlc3QtY29uZmlnLmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogCiAvKgpAQCAtNjYsNiArNjcsMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBlYXJseV9jb25maWdfY2IoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqdmRhdGEpCit7CisJY29uc3QgY2hhciAqa2V5ID0gdmRhdGE7CisKKwlpZiAoIXN0cmNtcChrZXksIHZhcikpCisJCXByaW50ZigiJXNcbiIsIHZhbHVlKTsKKworCXJldHVybiAwOworfQorCiBpbnQgY21kX21haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewogCWludCBpLCB2YWw7CkBAIC03Myw2ICs4NCwxMSBAQAogCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc3RycHRyOwogCXN0cnVjdCBjb25maWdfc2V0IGNzOwogCisJaWYgKGFyZ2MgPT0gMyAmJiAhc3RyY21wKGFyZ3ZbMV0sICJyZWFkX2Vhcmx5X2NvbmZpZyIpKSB7CisJCXJlYWRfZWFybHlfY29uZmlnKGVhcmx5X2NvbmZpZ19jYiwgKHZvaWQgKilhcmd2WzJdKTsKKwkJcmV0dXJuIDA7CisJfQorCiAJc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOwogCiAJZ2l0X2NvbmZpZ3NldF9pbml0KCZjcyk7CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWRhdGUuYyBiL3QvaGVscGVyL3Rlc3QtZGF0ZS5jCmluZGV4IDUwNjA1NGIuLmY0MTRhM2EgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtZGF0ZS5jCisrKyBiL3QvaGVscGVyL3Rlc3QtZGF0ZS5jCkBAIC00LDcgKzQsOSBAQAogIiAgdGVzdC1kYXRlIHJlbGF0aXZlIFt0aW1lX3RdLi4uXG4iCiAiICB0ZXN0LWRhdGUgc2hvdzo8Zm9ybWF0PiBbdGltZV90XS4uLlxuIgogIiAgdGVzdC1kYXRlIHBhcnNlIFtkYXRlXS4uLlxuIgotIiAgdGVzdC1kYXRlIGFwcHJveGlkYXRlIFtkYXRlXS4uLlxuIjsKKyIgIHRlc3QtZGF0ZSBhcHByb3hpZGF0ZSBbZGF0ZV0uLi5cbiIKKyIgIHRlc3QtZGF0ZSBpczY0Yml0XG4iCisiICB0ZXN0LWRhdGUgdGltZV90LWlzNjRiaXRcbiI7CiAKIHN0YXRpYyB2b2lkIHNob3dfcmVsYXRpdmVfZGF0ZXMoY29uc3QgY2hhciAqKmFyZ3YsIHN0cnVjdCB0aW1ldmFsICpub3cpCiB7CkBAIC0yNSwxNCArMjcsMTQgQEAKIAlwYXJzZV9kYXRlX2Zvcm1hdChmb3JtYXQsICZtb2RlKTsKIAlmb3IgKDsgKmFyZ3Y7IGFyZ3YrKykgewogCQljaGFyICphcmc7Ci0JCXRpbWVfdCB0OworCQl0aW1lc3RhbXBfdCB0OwogCQlpbnQgdHo7CiAKIAkJLyoKIAkJICogRG8gbm90IHVzZSBvdXIgbm9ybWFsIHRpbWVzdGFtcCBwYXJzaW5nIGhlcmUsIGFzIHRoZSBwb2ludAogCQkgKiBpcyB0byB0ZXN0IHRoZSBmb3JtYXR0aW5nIGNvZGUgaW4gaXNvbGF0aW9uLgogCQkgKi8KLQkJdCA9IHN0cnRvbCgqYXJndiwgJmFyZywgMTApOworCQl0ID0gcGFyc2VfdGltZXN0YW1wKCphcmd2LCAmYXJnLCAxMCk7CiAJCXdoaWxlICgqYXJnID09ICcgJykKIAkJCWFyZysrOwogCQl0eiA9IGF0b2koYXJnKTsKQEAgLTQ2LDEyICs0OCwxMiBAQAogCXN0cnVjdCBzdHJidWYgcmVzdWx0ID0gU1RSQlVGX0lOSVQ7CiAKIAlmb3IgKDsgKmFyZ3Y7IGFyZ3YrKykgewotCQl1bnNpZ25lZCBsb25nIHQ7CisJCXRpbWVzdGFtcF90IHQ7CiAJCWludCB0ejsKIAogCQlzdHJidWZfcmVzZXQoJnJlc3VsdCk7CiAJCXBhcnNlX2RhdGUoKmFyZ3YsICZyZXN1bHQpOwotCQlpZiAoc3NjYW5mKHJlc3VsdC5idWYsICIlbHUgJWQiLCAmdCwgJnR6KSA9PSAyKQorCQlpZiAoc3NjYW5mKHJlc3VsdC5idWYsICIlIlBSSXRpbWUiICVkIiwgJnQsICZ0eikgPT0gMikKIAkJCXByaW50ZigiJXMgLT4gJXNcbiIsCiAJCQkgICAgICAgKmFyZ3YsIHNob3dfZGF0ZSh0LCB0eiwgREFURV9NT0RFKElTTzg2MDEpKSk7CiAJCWVsc2UKQEAgLTYzLDcgKzY1LDcgQEAKIHN0YXRpYyB2b2lkIHBhcnNlX2FwcHJveGlkYXRlKGNvbnN0IGNoYXIgKiphcmd2LCBzdHJ1Y3QgdGltZXZhbCAqbm93KQogewogCWZvciAoOyAqYXJndjsgYXJndisrKSB7Ci0JCXRpbWVfdCB0OworCQl0aW1lc3RhbXBfdCB0OwogCQl0ID0gYXBwcm94aWRhdGVfcmVsYXRpdmUoKmFyZ3YsIG5vdyk7CiAJCXByaW50ZigiJXMgLT4gJXNcbiIsICphcmd2LCBzaG93X2RhdGUodCwgMCwgREFURV9NT0RFKElTTzg2MDEpKSk7CiAJfQpAQCAtOTMsNiArOTUsMTAgQEAKIAkJcGFyc2VfZGF0ZXMoYXJndisxLCAmbm93KTsKIAllbHNlIGlmICghc3RyY21wKCphcmd2LCAiYXBwcm94aWRhdGUiKSkKIAkJcGFyc2VfYXBwcm94aWRhdGUoYXJndisxLCAmbm93KTsKKwllbHNlIGlmICghc3RyY21wKCphcmd2LCAiaXM2NGJpdCIpKQorCQlyZXR1cm4gc2l6ZW9mKHRpbWVzdGFtcF90KSA9PSA4ID8gMCA6IDE7CisJZWxzZSBpZiAoIXN0cmNtcCgqYXJndiwgInRpbWVfdC1pczY0Yml0IikpCisJCXJldHVybiBzaXplb2YodGltZV90KSA9PSA4ID8gMCA6IDE7CiAJZWxzZQogCQl1c2FnZSh1c2FnZV9tc2cpOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1kZWx0YS5jIGIvdC9oZWxwZXIvdGVzdC1kZWx0YS5jCmluZGV4IDU5OTM3ZGMuLjU5MTczMGEgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtZGVsdGEuYworKysgYi90L2hlbHBlci90ZXN0LWRlbHRhLmMKQEAgLTY5LDcgKzY5LDcgQEAKIAl9CiAKIAlmZCA9IG9wZW4gKGFyZ3ZbNF0sIE9fV1JPTkxZfE9fQ1JFQVR8T19UUlVOQywgMDY2Nik7Ci0JaWYgKGZkIDwgMCB8fCB3cml0ZV9pbl9mdWxsKGZkLCBvdXRfYnVmLCBvdXRfc2l6ZSkgIT0gb3V0X3NpemUpIHsKKwlpZiAoZmQgPCAwIHx8IHdyaXRlX2luX2Z1bGwoZmQsIG91dF9idWYsIG91dF9zaXplKSA8IDApIHsKIAkJcGVycm9yKGFyZ3ZbNF0pOwogCQlyZXR1cm4gMTsKIAl9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWR1bXAtY2FjaGUtdHJlZS5jIGIvdC9oZWxwZXIvdGVzdC1kdW1wLWNhY2hlLXRyZWUuYwppbmRleCA3YWYxMTZkLi5lYmYzYWFiIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LWR1bXAtY2FjaGUtdHJlZS5jCisrKyBiL3QvaGVscGVyL3Rlc3QtZHVtcC1jYWNoZS10cmVlLmMKQEAgLTEwLDcgKzEwLDcgQEAKIAkJICAgICAgICJpbnZhbGlkIiwgeCwgcGZ4LCBpdC0+c3VidHJlZV9ucik7CiAJZWxzZQogCQlwcmludGYoIiVzICVzJXMgKCVkIGVudHJpZXMsICVkIHN1YnRyZWVzKVxuIiwKLQkJICAgICAgIHNoYTFfdG9faGV4KGl0LT5zaGExKSwgeCwgcGZ4LAorCQkgICAgICAgb2lkX3RvX2hleCgmaXQtPm9pZCksIHgsIHBmeCwKIAkJICAgICAgIGl0LT5lbnRyeV9jb3VudCwgaXQtPnN1YnRyZWVfbnIpOwogfQogCkBAIC0zMiw3ICszMiw3IEBACiAJfQogCWVsc2UgewogCQlkdW1wX29uZShpdCwgcGZ4LCAiIik7Ci0JCWlmIChoYXNoY21wKGl0LT5zaGExLCByZWYtPnNoYTEpIHx8CisJCWlmIChvaWRjbXAoJml0LT5vaWQsICZyZWYtPm9pZCkgfHwKIAkJICAgIHJlZi0+ZW50cnlfY291bnQgIT0gaXQtPmVudHJ5X2NvdW50IHx8CiAJCSAgICByZWYtPnN1YnRyZWVfbnIgIT0gaXQtPnN1YnRyZWVfbnIpIHsKIAkJCS8qIGNsYWltcyB0byBiZSB2YWxpZCBidXQgaXMgbHlpbmcgKi8KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtaGFzaG1hcC5jIGIvdC9oZWxwZXIvdGVzdC1oYXNobWFwLmMKaW5kZXggN2FhOTQ0MC4uMTE0NWQ1MSAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1oYXNobWFwLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1oYXNobWFwLmMKQEAgLTEzLDE2ICsxMywyMCBAQAogCXJldHVybiBlLT5rZXkgKyBzdHJsZW4oZS0+a2V5KSArIDE7CiB9CiAKLXN0YXRpYyBpbnQgdGVzdF9lbnRyeV9jbXAoY29uc3Qgc3RydWN0IHRlc3RfZW50cnkgKmUxLAotCQljb25zdCBzdHJ1Y3QgdGVzdF9lbnRyeSAqZTIsIGNvbnN0IGNoYXIqIGtleSkKK3N0YXRpYyBpbnQgdGVzdF9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqY21wX2RhdGEsCisJCQkgIGNvbnN0IHZvaWQgKmVudHJ5LAorCQkJICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgIGNvbnN0IHZvaWQgKmtleWRhdGEpCiB7Ci0JcmV0dXJuIHN0cmNtcChlMS0+a2V5LCBrZXkgPyBrZXkgOiBlMi0+a2V5KTsKLX0KKwljb25zdCBpbnQgaWdub3JlX2Nhc2UgPSBjbXBfZGF0YSA/ICooKGludCAqKWNtcF9kYXRhKSA6IDA7CisJY29uc3Qgc3RydWN0IHRlc3RfZW50cnkgKmUxID0gZW50cnk7CisJY29uc3Qgc3RydWN0IHRlc3RfZW50cnkgKmUyID0gZW50cnlfb3Jfa2V5OworCWNvbnN0IGNoYXIgKmtleSA9IGtleWRhdGE7CiAKLXN0YXRpYyBpbnQgdGVzdF9lbnRyeV9jbXBfaWNhc2UoY29uc3Qgc3RydWN0IHRlc3RfZW50cnkgKmUxLAotCQljb25zdCBzdHJ1Y3QgdGVzdF9lbnRyeSAqZTIsIGNvbnN0IGNoYXIqIGtleSkKLXsKLQlyZXR1cm4gc3RyY2FzZWNtcChlMS0+a2V5LCBrZXkgPyBrZXkgOiBlMi0+a2V5KTsKKwlpZiAoaWdub3JlX2Nhc2UpCisJCXJldHVybiBzdHJjYXNlY21wKGUxLT5rZXksIGtleSA/IGtleSA6IGUyLT5rZXkpOworCWVsc2UKKwkJcmV0dXJuIHN0cmNtcChlMS0+a2V5LCBrZXkgPyBrZXkgOiBlMi0+a2V5KTsKIH0KIAogc3RhdGljIHN0cnVjdCB0ZXN0X2VudHJ5ICphbGxvY190ZXN0X2VudHJ5KGludCBoYXNoLCBjaGFyICprZXksIGludCBrbGVuLApAQCAtOTIsNyArOTYsNyBAQAogCWlmIChtZXRob2QgJiBURVNUX0FERCkgewogCQkvKiB0ZXN0IGFkZGluZyB0byB0aGUgbWFwICovCiAJCWZvciAoaiA9IDA7IGogPCByb3VuZHM7IGorKykgewotCQkJaGFzaG1hcF9pbml0KCZtYXAsIChoYXNobWFwX2NtcF9mbikgdGVzdF9lbnRyeV9jbXAsIDApOworCQkJaGFzaG1hcF9pbml0KCZtYXAsIHRlc3RfZW50cnlfY21wLCBOVUxMLCAwKTsKIAogCQkJLyogYWRkIGVudHJpZXMgKi8KIAkJCWZvciAoaSA9IDA7IGkgPCBURVNUX1NJWkU7IGkrKykgewpAQCAtMTA0LDcgKzEwOCw3IEBACiAJCX0KIAl9IGVsc2UgewogCQkvKiB0ZXN0IG1hcCBsb29rdXBzICovCi0JCWhhc2htYXBfaW5pdCgmbWFwLCAoaGFzaG1hcF9jbXBfZm4pIHRlc3RfZW50cnlfY21wLCAwKTsKKwkJaGFzaG1hcF9pbml0KCZtYXAsIHRlc3RfZW50cnlfY21wLCBOVUxMLCAwKTsKIAogCQkvKiBmaWxsIHRoZSBtYXAgKHNwYXJzZWx5IGlmIHNwZWNpZmllZCkgKi8KIAkJaiA9IChtZXRob2QgJiBURVNUX1NQQVJTRSkgPyBURVNUX1NJWkUgLyAxMCA6IFRFU1RfU0laRTsKQEAgLTE0Niw4ICsxNTAsNyBAQAogCiAJLyogaW5pdCBoYXNoIG1hcCAqLwogCWljYXNlID0gYXJnYyA+IDEgJiYgIXN0cmNtcCgiaWdub3JlY2FzZSIsIGFyZ3ZbMV0pOwotCWhhc2htYXBfaW5pdCgmbWFwLCAoaGFzaG1hcF9jbXBfZm4pIChpY2FzZSA/IHRlc3RfZW50cnlfY21wX2ljYXNlCi0JCQk6IHRlc3RfZW50cnlfY21wKSwgMCk7CisJaGFzaG1hcF9pbml0KCZtYXAsIHRlc3RfZW50cnlfY21wLCAmaWNhc2UsIDApOwogCiAJLyogcHJvY2VzcyBjb21tYW5kcyBmcm9tIHN0ZGluICovCiAJd2hpbGUgKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgc3RkaW4pKSB7CkBAIC0yMzIsNyArMjM1LDggQEAKIAkJfSBlbHNlIGlmICghc3RyY21wKCJzaXplIiwgY21kKSkgewogCiAJCQkvKiBwcmludCB0YWJsZSBzaXplcyAqLwotCQkJcHJpbnRmKCIldSAldVxuIiwgbWFwLnRhYmxlc2l6ZSwgbWFwLnNpemUpOworCQkJcHJpbnRmKCIldSAldVxuIiwgbWFwLnRhYmxlc2l6ZSwKKwkJCSAgICAgICBoYXNobWFwX2dldF9zaXplKCZtYXApKTsKIAogCQl9IGVsc2UgaWYgKCFzdHJjbXAoImludGVybiIsIGNtZCkgJiYgbDEpIHsKIApkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1sYXp5LWluaXQtbmFtZS1oYXNoLmMgYi90L2hlbHBlci90ZXN0LWxhenktaW5pdC1uYW1lLWhhc2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzY4YTg5Ci0tLSAvZGV2L251bGwKKysrIGIvdC9oZWxwZXIvdGVzdC1sYXp5LWluaXQtbmFtZS1oYXNoLmMKQEAgLTAsMCArMSwyNjQgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKworc3RhdGljIGludCBzaW5nbGU7CitzdGF0aWMgaW50IG11bHRpOworc3RhdGljIGludCBjb3VudCA9IDE7CitzdGF0aWMgaW50IGR1bXA7CitzdGF0aWMgaW50IHBlcmY7CitzdGF0aWMgaW50IGFuYWx5emU7CitzdGF0aWMgaW50IGFuYWx5emVfc3RlcDsKKworLyoKKyAqIER1bXAgdGhlIGNvbnRlbnRzIG9mIHRoZSAiZGlyIiBhbmQgIm5hbWUiIGhhc2ggdGFibGVzIHRvIHN0ZG91dC4KKyAqIElmIHlvdSBzb3J0IHRoZSByZXN1bHQsIHlvdSBjYW4gY29tcGFyZSBpdCB3aXRoIHRoZSBvdGhlciB0eXBlCisgKiBtb2RlIGFuZCB2ZXJpZnkgdGhhdCBib3RoIHNpbmdsZSBhbmQgbXVsdGkgcHJvZHVjZSB0aGUgc2FtZSBzZXQuCisgKi8KK3N0YXRpYyB2b2lkIGR1bXBfcnVuKHZvaWQpCit7CisJc3RydWN0IGhhc2htYXBfaXRlciBpdGVyX2RpcjsKKwlzdHJ1Y3QgaGFzaG1hcF9pdGVyIGl0ZXJfY2FjaGU7CisKKwkvKiBTdG9sZW4gZnJvbSBuYW1lLWhhc2guYyAqLworCXN0cnVjdCBkaXJfZW50cnkgeworCQlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnQ7CisJCXN0cnVjdCBkaXJfZW50cnkgKnBhcmVudDsKKwkJaW50IG5yOworCQl1bnNpZ25lZCBpbnQgbmFtZWxlbjsKKwkJY2hhciBuYW1lW0ZMRVhfQVJSQVldOworCX07CisKKwlzdHJ1Y3QgZGlyX2VudHJ5ICpkaXI7CisJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKKworCXJlYWRfY2FjaGUoKTsKKwlpZiAoc2luZ2xlKSB7CisJCXRlc3RfbGF6eV9pbml0X25hbWVfaGFzaCgmdGhlX2luZGV4LCAwKTsKKwl9IGVsc2UgeworCQlpbnQgbnJfdGhyZWFkc191c2VkID0gdGVzdF9sYXp5X2luaXRfbmFtZV9oYXNoKCZ0aGVfaW5kZXgsIDEpOworCQlpZiAoIW5yX3RocmVhZHNfdXNlZCkKKwkJCWRpZSgibm9uLXRocmVhZGVkIGNvZGUgcGF0aCB1c2VkIik7CisJfQorCisJZGlyID0gaGFzaG1hcF9pdGVyX2ZpcnN0KCZ0aGVfaW5kZXguZGlyX2hhc2gsICZpdGVyX2Rpcik7CisJd2hpbGUgKGRpcikgeworCQlwcmludGYoImRpciAlMDh4ICU3ZCAlc1xuIiwgZGlyLT5lbnQuaGFzaCwgZGlyLT5uciwgZGlyLT5uYW1lKTsKKwkJZGlyID0gaGFzaG1hcF9pdGVyX25leHQoJml0ZXJfZGlyKTsKKwl9CisKKwljZSA9IGhhc2htYXBfaXRlcl9maXJzdCgmdGhlX2luZGV4Lm5hbWVfaGFzaCwgJml0ZXJfY2FjaGUpOworCXdoaWxlIChjZSkgeworCQlwcmludGYoIm5hbWUgJTA4eCAlc1xuIiwgY2UtPmVudC5oYXNoLCBjZS0+bmFtZSk7CisJCWNlID0gaGFzaG1hcF9pdGVyX25leHQoJml0ZXJfY2FjaGUpOworCX0KKworCWRpc2NhcmRfY2FjaGUoKTsKK30KKworLyoKKyAqIFJ1biB0aGUgc2luZ2xlIG9yIG11bHRpIHRocmVhZGVkIHZlcnNpb24gImNvdW50IiB0aW1lcyBhbmQKKyAqIHJlcG9ydCBvbiB0aGUgdGltZSB0YWtlbi4KKyAqLworc3RhdGljIHVpbnQ2NF90IHRpbWVfcnVucyhpbnQgdHJ5X3RocmVhZGVkKQoreworCXVpbnQ2NF90IHQwLCB0MSwgdDI7CisJdWludDY0X3Qgc3VtID0gMDsKKwl1aW50NjRfdCBhdmc7CisJaW50IG5yX3RocmVhZHNfdXNlZDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCXQwID0gZ2V0bmFub3RpbWUoKTsKKwkJcmVhZF9jYWNoZSgpOworCQl0MSA9IGdldG5hbm90aW1lKCk7CisJCW5yX3RocmVhZHNfdXNlZCA9IHRlc3RfbGF6eV9pbml0X25hbWVfaGFzaCgmdGhlX2luZGV4LCB0cnlfdGhyZWFkZWQpOworCQl0MiA9IGdldG5hbm90aW1lKCk7CisKKwkJc3VtICs9ICh0MiAtIHQxKTsKKworCQlpZiAodHJ5X3RocmVhZGVkICYmICFucl90aHJlYWRzX3VzZWQpCisJCQlkaWUoIm5vbi10aHJlYWRlZCBjb2RlIHBhdGggdXNlZCIpOworCisJCWlmIChucl90aHJlYWRzX3VzZWQpCisJCQlwcmludGYoIiVmICVmICVkIG11bHRpICVkXG4iLAorCQkJCSAgICgoZG91YmxlKSh0MSAtIHQwKSkvMTAwMDAwMDAwMCwKKwkJCQkgICAoKGRvdWJsZSkodDIgLSB0MSkpLzEwMDAwMDAwMDAsCisJCQkJICAgdGhlX2luZGV4LmNhY2hlX25yLAorCQkJCSAgIG5yX3RocmVhZHNfdXNlZCk7CisJCWVsc2UKKwkJCXByaW50ZigiJWYgJWYgJWQgc2luZ2xlXG4iLAorCQkJCSAgICgoZG91YmxlKSh0MSAtIHQwKSkvMTAwMDAwMDAwMCwKKwkJCQkgICAoKGRvdWJsZSkodDIgLSB0MSkpLzEwMDAwMDAwMDAsCisJCQkJICAgdGhlX2luZGV4LmNhY2hlX25yKTsKKwkJZmZsdXNoKHN0ZG91dCk7CisKKwkJZGlzY2FyZF9jYWNoZSgpOworCX0KKworCWF2ZyA9IHN1bSAvIGNvdW50OworCWlmIChjb3VudCA+IDEpCisJCXByaW50ZigiYXZnICVmICVzXG4iLAorCQkJICAgKGRvdWJsZSlhdmcvMTAwMDAwMDAwMCwKKwkJCSAgICh0cnlfdGhyZWFkZWQpID8gIm11bHRpIiA6ICJzaW5nbGUiKTsKKworCXJldHVybiBhdmc7Cit9CisKKy8qCisgKiBUcnkgYSBzZXJpZXMgb2YgcnVucyB2YXJ5aW5nIHRoZSAiaXN0YXRlLT5jYWNoZV9uciIgYW5kCisgKiB0cnkgdG8gZmluZCBhIGdvb2QgdmFsdWUgZm9yIHRoZSBtdWx0aS10aHJlYWRlZCBjcml0ZXJpYS4KKyAqLworc3RhdGljIHZvaWQgYW5hbHl6ZV9ydW4odm9pZCkKK3sKKwl1aW50NjRfdCB0MXMsIHQxbSwgdDJzLCB0Mm07CisJaW50IGNhY2hlX25yX2xpbWl0OworCWludCBucl90aHJlYWRzX3VzZWQ7CisJaW50IGk7CisJaW50IG5yOworCisJcmVhZF9jYWNoZSgpOworCWNhY2hlX25yX2xpbWl0ID0gdGhlX2luZGV4LmNhY2hlX25yOworCWRpc2NhcmRfY2FjaGUoKTsKKworCW5yID0gYW5hbHl6ZTsKKwl3aGlsZSAoMSkgeworCQl1aW50NjRfdCBzdW1fc2luZ2xlID0gMDsKKwkJdWludDY0X3Qgc3VtX211bHRpID0gMDsKKwkJdWludDY0X3QgYXZnX3NpbmdsZTsKKwkJdWludDY0X3QgYXZnX211bHRpOworCisJCWlmIChuciA+IGNhY2hlX25yX2xpbWl0KQorCQkJbnIgPSBjYWNoZV9ucl9saW1pdDsKKworCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQkJcmVhZF9jYWNoZSgpOworCQkJdGhlX2luZGV4LmNhY2hlX25yID0gbnI7IC8qIGNoZWFwIHRydW5jYXRlIG9mIGluZGV4ICovCisJCQl0MXMgPSBnZXRuYW5vdGltZSgpOworCQkJdGVzdF9sYXp5X2luaXRfbmFtZV9oYXNoKCZ0aGVfaW5kZXgsIDApOworCQkJdDJzID0gZ2V0bmFub3RpbWUoKTsKKwkJCXN1bV9zaW5nbGUgKz0gKHQycyAtIHQxcyk7CisJCQl0aGVfaW5kZXguY2FjaGVfbnIgPSBjYWNoZV9ucl9saW1pdDsKKwkJCWRpc2NhcmRfY2FjaGUoKTsKKworCQkJcmVhZF9jYWNoZSgpOworCQkJdGhlX2luZGV4LmNhY2hlX25yID0gbnI7IC8qIGNoZWFwIHRydW5jYXRlIG9mIGluZGV4ICovCisJCQl0MW0gPSBnZXRuYW5vdGltZSgpOworCQkJbnJfdGhyZWFkc191c2VkID0gdGVzdF9sYXp5X2luaXRfbmFtZV9oYXNoKCZ0aGVfaW5kZXgsIDEpOworCQkJdDJtID0gZ2V0bmFub3RpbWUoKTsKKwkJCXN1bV9tdWx0aSArPSAodDJtIC0gdDFtKTsKKwkJCXRoZV9pbmRleC5jYWNoZV9uciA9IGNhY2hlX25yX2xpbWl0OworCQkJZGlzY2FyZF9jYWNoZSgpOworCisJCQlpZiAoIW5yX3RocmVhZHNfdXNlZCkKKwkJCQlwcmludGYoIiAgICBbc2l6ZSAlOGRdIFtzaW5nbGUgJWZdICAgbm9uLXRocmVhZGVkIGNvZGUgcGF0aCB1c2VkXG4iLAorCQkJCQkgICBuciwgKChkb3VibGUpKHQycyAtIHQxcykpLzEwMDAwMDAwMDApOworCQkJZWxzZQorCQkJCXByaW50ZigiICAgIFtzaXplICU4ZF0gW3NpbmdsZSAlZl0gJWMgW211bHRpICVmICVkXVxuIiwKKwkJCQkJICAgbnIsCisJCQkJCSAgICgoZG91YmxlKSh0MnMgLSB0MXMpKS8xMDAwMDAwMDAwLAorCQkJCQkgICAoKCh0MnMgLSB0MXMpIDwgKHQybSAtIHQxbSkpID8gJzwnIDogJz4nKSwKKwkJCQkJICAgKChkb3VibGUpKHQybSAtIHQxbSkpLzEwMDAwMDAwMDAsCisJCQkJCSAgIG5yX3RocmVhZHNfdXNlZCk7CisJCQlmZmx1c2goc3Rkb3V0KTsKKwkJfQorCQlpZiAoY291bnQgPiAxKSB7CisJCQlhdmdfc2luZ2xlID0gc3VtX3NpbmdsZSAvIGNvdW50OworCQkJYXZnX211bHRpID0gc3VtX211bHRpIC8gY291bnQ7CisJCQlpZiAoIW5yX3RocmVhZHNfdXNlZCkKKwkJCQlwcmludGYoImF2ZyBbc2l6ZSAlOGRdIFtzaW5nbGUgJWZdXG4iLAorCQkJCQkgICBuciwKKwkJCQkJICAgKGRvdWJsZSlhdmdfc2luZ2xlLzEwMDAwMDAwMDApOworCQkJZWxzZQorCQkJCXByaW50ZigiYXZnIFtzaXplICU4ZF0gW3NpbmdsZSAlZl0gJWMgW211bHRpICVmICVkXVxuIiwKKwkJCQkJICAgbnIsCisJCQkJCSAgIChkb3VibGUpYXZnX3NpbmdsZS8xMDAwMDAwMDAwLAorCQkJCQkgICAoYXZnX3NpbmdsZSA8IGF2Z19tdWx0aSA/ICc8JyA6ICc+JyksCisJCQkJCSAgIChkb3VibGUpYXZnX211bHRpLzEwMDAwMDAwMDAsCisJCQkJCSAgIG5yX3RocmVhZHNfdXNlZCk7CisJCQlmZmx1c2goc3Rkb3V0KTsKKwkJfQorCisJCWlmIChuciA+PSBjYWNoZV9ucl9saW1pdCkKKwkJCXJldHVybjsKKwkJbnIgKz0gYW5hbHl6ZV9zdGVwOworCX0KK30KKworaW50IGNtZF9tYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwljb25zdCBjaGFyICp1c2FnZVtdID0geworCQkidGVzdC1sYXp5LWluaXQtbmFtZS1oYXNoIC1kICgtcyB8IC1tKSIsCisJCSJ0ZXN0LWxhenktaW5pdC1uYW1lLWhhc2ggLXAgWy1jIGNdIiwKKwkJInRlc3QtbGF6eS1pbml0LW5hbWUtaGFzaCAtYSBhIFstLXN0ZXAgc10gWy1jIGNdIiwKKwkJInRlc3QtbGF6eS1pbml0LW5hbWUtaGFzaCAoLXMgfCAtbSkgWy1jIGNdIiwKKwkJInRlc3QtbGF6eS1pbml0LW5hbWUtaGFzaCAtcyAtbSBbLWMgY10iLAorCQlOVUxMCisJfTsKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX0JPT0woJ3MnLCAic2luZ2xlIiwgJnNpbmdsZSwgInJ1biBzaW5nbGUtdGhyZWFkZWQgY29kZSIpLAorCQlPUFRfQk9PTCgnbScsICJtdWx0aSIsICZtdWx0aSwgInJ1biBtdWx0aS10aHJlYWRlZCBjb2RlIiksCisJCU9QVF9JTlRFR0VSKCdjJywgImNvdW50IiwgJmNvdW50LCAibnVtYmVyIG9mIHBhc3NlcyIpLAorCQlPUFRfQk9PTCgnZCcsICJkdW1wIiwgJmR1bXAsICJkdW1wIGhhc2ggdGFibGVzIiksCisJCU9QVF9CT09MKCdwJywgInBlcmYiLCAmcGVyZiwgImNvbXBhcmUgc2luZ2xlIHZzIG11bHRpIiksCisJCU9QVF9JTlRFR0VSKCdhJywgImFuYWx5emUiLCAmYW5hbHl6ZSwgImFuYWx5emUgZGlmZmVyZW50IG11bHRpIHNpemVzIiksCisJCU9QVF9JTlRFR0VSKDAsICJzdGVwIiwgJmFuYWx5emVfc3RlcCwgImFuYWx5emUgc3RlcCBmYWN0b3IiKSwKKwkJT1BUX0VORCgpLAorCX07CisJY29uc3QgY2hhciAqcHJlZml4OworCXVpbnQ2NF90IGF2Z19zaW5nbGUsIGF2Z19tdWx0aTsKKworCXByZWZpeCA9IHNldHVwX2dpdF9kaXJlY3RvcnkoKTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywgdXNhZ2UsIDApOworCisJLyoKKwkgKiBpc3RhdGUtPmRpcl9oYXNoIGlzIG9ubHkgY3JlYXRlZCB3aGVuIGlnbm9yZV9jYXNlIGlzIHNldC4KKwkgKi8KKwlpZ25vcmVfY2FzZSA9IDE7CisKKwlpZiAoZHVtcCkgeworCQlpZiAocGVyZiB8fCBhbmFseXplID4gMCkKKwkJCWRpZSgiY2Fubm90IGNvbWJpbmUgZHVtcCwgcGVyZiwgb3IgYW5hbHl6ZSIpOworCQlpZiAoY291bnQgPiAxKQorCQkJZGllKCJjb3VudCBub3QgdmFsaWQgd2l0aCBkdW1wIik7CisJCWlmIChzaW5nbGUgJiYgbXVsdGkpCisJCQlkaWUoImNhbm5vdCB1c2UgYm90aCBzaW5nbGUgYW5kIG11bHRpIHdpdGggZHVtcCIpOworCQlpZiAoIXNpbmdsZSAmJiAhbXVsdGkpCisJCQlkaWUoImR1bXAgcmVxdWlyZXMgZWl0aGVyIHNpbmdsZSBvciBtdWx0aSIpOworCQlkdW1wX3J1bigpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAocGVyZikgeworCQlpZiAoYW5hbHl6ZSA+IDApCisJCQlkaWUoImNhbm5vdCBjb21iaW5lIGR1bXAsIHBlcmYsIG9yIGFuYWx5emUiKTsKKwkJaWYgKHNpbmdsZSB8fCBtdWx0aSkKKwkJCWRpZSgiY2Fubm90IHVzZSBzaW5nbGUgb3IgbXVsdGkgd2l0aCBwZXJmIik7CisJCWF2Z19zaW5nbGUgPSB0aW1lX3J1bnMoMCk7CisJCWF2Z19tdWx0aSA9IHRpbWVfcnVucygxKTsKKwkJaWYgKGF2Z19tdWx0aSA+IGF2Z19zaW5nbGUpCisJCQlkaWUoIm11bHRpIGlzIHNsb3dlciIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoYW5hbHl6ZSkgeworCQlpZiAoYW5hbHl6ZSA8IDUwMCkKKwkJCWRpZSgiYW5hbHl6ZSBtdXN0IGJlIGF0IGxlYXN0IDUwMCIpOworCQlpZiAoIWFuYWx5emVfc3RlcCkKKwkJCWFuYWx5emVfc3RlcCA9IGFuYWx5emU7CisJCWlmIChzaW5nbGUgfHwgbXVsdGkpCisJCQlkaWUoImNhbm5vdCB1c2Ugc2luZ2xlIG9yIG11bHRpIHdpdGggYW5hbHl6ZSIpOworCQlhbmFseXplX3J1bigpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIXNpbmdsZSAmJiAhbXVsdGkpCisJCWRpZSgicmVxdWlyZSBlaXRoZXIgLXMgb3IgLW0gb3IgYm90aCIpOworCisJaWYgKHNpbmdsZSkKKwkJdGltZV9ydW5zKDApOworCWlmIChtdWx0aSkKKwkJdGltZV9ydW5zKDEpOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWxpbmUtYnVmZmVyLmMgYi90L2hlbHBlci90ZXN0LWxpbmUtYnVmZmVyLmMKaW5kZXggODE1NzVmZS4uMDc4ZGQ3ZSAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1saW5lLWJ1ZmZlci5jCisrKyBiL3QvaGVscGVyL3Rlc3QtbGluZS1idWZmZXIuYwpAQCAtMTcsMjcgKzE3LDE3IEBACiAKIHN0YXRpYyB2b2lkIGhhbmRsZV9jb21tYW5kKGNvbnN0IGNoYXIgKmNvbW1hbmQsIGNvbnN0IGNoYXIgKmFyZywgc3RydWN0IGxpbmVfYnVmZmVyICpidWYpCiB7Ci0Jc3dpdGNoICgqY29tbWFuZCkgewotCWNhc2UgJ2InOgotCQlpZiAoc3RhcnRzX3dpdGgoY29tbWFuZCwgImJpbmFyeSAiKSkgewotCQkJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwotCQkJc3RyYnVmX2FkZGNoKCZzYiwgJz4nKTsKLQkJCWJ1ZmZlcl9yZWFkX2JpbmFyeShidWYsICZzYiwgc3RydG91aW50MzIoYXJnKSk7Ci0JCQlmd3JpdGUoc2IuYnVmLCAxLCBzYi5sZW4sIHN0ZG91dCk7Ci0JCQlzdHJidWZfcmVsZWFzZSgmc2IpOwotCQkJcmV0dXJuOwotCQl9Ci0JY2FzZSAnYyc6Ci0JCWlmIChzdGFydHNfd2l0aChjb21tYW5kLCAiY29weSAiKSkgewotCQkJYnVmZmVyX2NvcHlfYnl0ZXMoYnVmLCBzdHJ0b3VpbnQzMihhcmcpKTsKLQkJCXJldHVybjsKLQkJfQotCWNhc2UgJ3MnOgotCQlpZiAoc3RhcnRzX3dpdGgoY29tbWFuZCwgInNraXAgIikpIHsKLQkJCWJ1ZmZlcl9za2lwX2J5dGVzKGJ1Ziwgc3RydG91aW50MzIoYXJnKSk7Ci0JCQlyZXR1cm47Ci0JCX0KLQlkZWZhdWx0OgorCWlmIChzdGFydHNfd2l0aChjb21tYW5kLCAiYmluYXJ5ICIpKSB7CisJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwkJc3RyYnVmX2FkZGNoKCZzYiwgJz4nKTsKKwkJYnVmZmVyX3JlYWRfYmluYXJ5KGJ1ZiwgJnNiLCBzdHJ0b3VpbnQzMihhcmcpKTsKKwkJZndyaXRlKHNiLmJ1ZiwgMSwgc2IubGVuLCBzdGRvdXQpOworCQlzdHJidWZfcmVsZWFzZSgmc2IpOworCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgoY29tbWFuZCwgImNvcHkgIikpIHsKKwkJYnVmZmVyX2NvcHlfYnl0ZXMoYnVmLCBzdHJ0b3VpbnQzMihhcmcpKTsKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGNvbW1hbmQsICJza2lwICIpKSB7CisJCWJ1ZmZlcl9za2lwX2J5dGVzKGJ1Ziwgc3RydG91aW50MzIoYXJnKSk7CisJfSBlbHNlIHsKIAkJZGllKCJ1bnJlY29nbml6ZWQgY29tbWFuZDogJXMiLCBjb21tYW5kKTsKIAl9CiB9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LW1hdGNoLXRyZWVzLmMgYi90L2hlbHBlci90ZXN0LW1hdGNoLXRyZWVzLmMKaW5kZXggZTkzOTUwMi4uMzU2ZDhlZCAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1tYXRjaC10cmVlcy5jCisrKyBiL3QvaGVscGVyL3Rlc3QtbWF0Y2gtdHJlZXMuYwpAQCAtMTIsMTAgKzEyLDEwIEBACiAJCWRpZSgiY2Fubm90IHBhcnNlICVzIGFzIGFuIG9iamVjdCBuYW1lIiwgYXZbMV0pOwogCWlmIChnZXRfb2lkKGF2WzJdLCAmaGFzaDIpKQogCQlkaWUoImNhbm5vdCBwYXJzZSAlcyBhcyBhbiBvYmplY3QgbmFtZSIsIGF2WzJdKTsKLQlvbmUgPSBwYXJzZV90cmVlX2luZGlyZWN0KGhhc2gxLmhhc2gpOworCW9uZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoJmhhc2gxKTsKIAlpZiAoIW9uZSkKIAkJZGllKCJub3QgYSB0cmVlLWlzaCAlcyIsIGF2WzFdKTsKLQl0d28gPSBwYXJzZV90cmVlX2luZGlyZWN0KGhhc2gyLmhhc2gpOworCXR3byA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoJmhhc2gyKTsKIAlpZiAoIXR3bykKIAkJZGllKCJub3QgYSB0cmVlLWlzaCAlcyIsIGF2WzJdKTsKIApkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1vbmxpbmUtY3B1cy5jIGIvdC9oZWxwZXIvdGVzdC1vbmxpbmUtY3B1cy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2YzA5YzYKLS0tIC9kZXYvbnVsbAorKysgYi90L2hlbHBlci90ZXN0LW9ubGluZS1jcHVzLmMKQEAgLTAsMCArMSw4IEBACisjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCisjaW5jbHVkZSAidGhyZWFkLXV0aWxzLmgiCisKK2ludCBjbWRfbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJcHJpbnRmKCIlZFxuIiwgb25saW5lX2NwdXMoKSk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LXBhcnNlLW9wdGlvbnMuYyBiL3QvaGVscGVyL3Rlc3QtcGFyc2Utb3B0aW9ucy5jCmluZGV4IGEwMTQzMGMuLjYzMGM3NmQgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtcGFyc2Utb3B0aW9ucy5jCisrKyBiL3QvaGVscGVyL3Rlc3QtcGFyc2Utb3B0aW9ucy5jCkBAIC01LDcgKzUsNyBAQAogc3RhdGljIGludCBib29sZWFuID0gMDsKIHN0YXRpYyBpbnQgaW50ZWdlciA9IDA7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBtYWduaXR1ZGUgPSAwOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wOworc3RhdGljIHRpbWVzdGFtcF90IHRpbWVzdGFtcDsKIHN0YXRpYyBpbnQgYWJicmV2ID0gNzsKIHN0YXRpYyBpbnQgdmVyYm9zZSA9IC0xOyAvKiB1bnNwZWNpZmllZCAqLwogc3RhdGljIGludCBkcnlfcnVuID0gMCwgcXVpZXQgPSAwOwpAQCAtOTksNiArOTksOCBAQAogCWNvbnN0IGNoYXIgKnByZWZpeCA9ICJwcmVmaXgvIjsKIAljb25zdCBjaGFyICp1c2FnZVtdID0gewogCQkidGVzdC1wYXJzZS1vcHRpb25zIDxvcHRpb25zPiIsCisJCSIiLAorCQkiQSBoZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBwYXJzZS1vcHRpb25zIEFQSS4iLAogCQlOVUxMCiAJfTsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgZXhwZWN0ID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKQEAgLTE2MSw3ICsxNjMsNyBAQAogCXNob3coJmV4cGVjdCwgJnJldCwgImJvb2xlYW46ICVkIiwgYm9vbGVhbik7CiAJc2hvdygmZXhwZWN0LCAmcmV0LCAiaW50ZWdlcjogJWQiLCBpbnRlZ2VyKTsKIAlzaG93KCZleHBlY3QsICZyZXQsICJtYWduaXR1ZGU6ICVsdSIsIG1hZ25pdHVkZSk7Ci0Jc2hvdygmZXhwZWN0LCAmcmV0LCAidGltZXN0YW1wOiAlbHUiLCB0aW1lc3RhbXApOworCXNob3coJmV4cGVjdCwgJnJldCwgInRpbWVzdGFtcDogJSJQUkl0aW1lLCB0aW1lc3RhbXApOwogCXNob3coJmV4cGVjdCwgJnJldCwgInN0cmluZzogJXMiLCBzdHJpbmcgPyBzdHJpbmcgOiAiKG5vdCBzZXQpIik7CiAJc2hvdygmZXhwZWN0LCAmcmV0LCAiYWJicmV2OiAlZCIsIGFiYnJldik7CiAJc2hvdygmZXhwZWN0LCAmcmV0LCAidmVyYm9zZTogJWQiLCB2ZXJib3NlKTsKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtcGF0aC11dGlscy5jIGIvdC9oZWxwZXIvdGVzdC1wYXRoLXV0aWxzLmMKaW5kZXggMWViZTBmNy4uMmIzYzUwOSAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1wYXRoLXV0aWxzLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1wYXRoLXV0aWxzLmMKQEAgLTM4LDYgKzM4LDIwIEBACiAJY29uc3QgY2hhciAqYWx0ZXJuYXRpdmU7IC8qIG91dHB1dDogLi4uIG9yIHRoaXMuICAgICAgKi8KIH07CiAKKy8qCisgKiBDb21wYXRpYmlsaXR5IHdyYXBwZXJzIGZvciBPcGVuQlNELCB3aG9zZSBiYXNlbmFtZSgzKSBhbmQgZGlybmFtZSgzKQorICogaGF2ZSBjb25zdCBwYXJhbWV0ZXJzLgorICovCitzdGF0aWMgY2hhciAqcG9zaXhfYmFzZW5hbWUoY2hhciAqcGF0aCkKK3sKKwlyZXR1cm4gYmFzZW5hbWUocGF0aCk7Cit9CisKK3N0YXRpYyBjaGFyICpwb3NpeF9kaXJuYW1lKGNoYXIgKnBhdGgpCit7CisJcmV0dXJuIGRpcm5hbWUocGF0aCk7Cit9CisKIHN0YXRpYyBpbnQgdGVzdF9mdW5jdGlvbihzdHJ1Y3QgdGVzdF9kYXRhICpkYXRhLCBjaGFyICooKmZ1bmMpKGNoYXIgKmlucHV0KSwKIAljb25zdCBjaGFyICpmdW5jbmFtZSkKIHsKQEAgLTI1MSwxMCArMjY1LDEwIEBACiAJfQogCiAJaWYgKGFyZ2MgPT0gMiAmJiAhc3RyY21wKGFyZ3ZbMV0sICJiYXNlbmFtZSIpKQotCQlyZXR1cm4gdGVzdF9mdW5jdGlvbihiYXNlbmFtZV9kYXRhLCBiYXNlbmFtZSwgYXJndlsxXSk7CisJCXJldHVybiB0ZXN0X2Z1bmN0aW9uKGJhc2VuYW1lX2RhdGEsIHBvc2l4X2Jhc2VuYW1lLCBhcmd2WzFdKTsKIAogCWlmIChhcmdjID09IDIgJiYgIXN0cmNtcChhcmd2WzFdLCAiZGlybmFtZSIpKQotCQlyZXR1cm4gdGVzdF9mdW5jdGlvbihkaXJuYW1lX2RhdGEsIGRpcm5hbWUsIGFyZ3ZbMV0pOworCQlyZXR1cm4gdGVzdF9mdW5jdGlvbihkaXJuYW1lX2RhdGEsIHBvc2l4X2Rpcm5hbWUsIGFyZ3ZbMV0pOwogCiAJZnByaW50ZihzdGRlcnIsICIlczogdW5rbm93biBmdW5jdGlvbiBuYW1lOiAlc1xuIiwgYXJndlswXSwKIAkJYXJndlsxXSA/IGFyZ3ZbMV0gOiAiKHRoZXJlIHdhcyBub25lKSIpOwpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1yZWFkLWNhY2hlLmMgYi90L2hlbHBlci90ZXN0LXJlYWQtY2FjaGUuYwppbmRleCAyYTc5OTBlLi40ODI1NWVlIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXJlYWQtY2FjaGUuYworKysgYi90L2hlbHBlci90ZXN0LXJlYWQtY2FjaGUuYwpAQCAtNSw2ICs1LDcgQEAKIAlpbnQgaSwgY250ID0gMTsKIAlpZiAoYXJnYyA9PSAyKQogCQljbnQgPSBzdHJ0b2woYXJndlsxXSwgTlVMTCwgMCk7CisJc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOwogCWZvciAoaSA9IDA7IGkgPCBjbnQ7IGkrKykgewogCQlyZWFkX2NhY2hlKCk7CiAJCWRpc2NhcmRfY2FjaGUoKTsKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtcmVmLXN0b3JlLmMgYi90L2hlbHBlci90ZXN0LXJlZi1zdG9yZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1ZDhjNGQKLS0tIC9kZXYvbnVsbAorKysgYi90L2hlbHBlci90ZXN0LXJlZi1zdG9yZS5jCkBAIC0wLDAgKzEsMjk2IEBACisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJyZWZzLmgiCisjaW5jbHVkZSAid29ya3RyZWUuaCIKKworc3RhdGljIGNvbnN0IGNoYXIgKm5vdG51bGwoY29uc3QgY2hhciAqYXJnLCBjb25zdCBjaGFyICpuYW1lKQoreworCWlmICghYXJnKQorCQlkaWUoIiVzIHJlcXVpcmVkIiwgbmFtZSk7CisJcmV0dXJuIGFyZzsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBhcmdfZmxhZ3MoY29uc3QgY2hhciAqYXJnLCBjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiBhdG9pKG5vdG51bGwoYXJnLCBuYW1lKSk7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICoqZ2V0X3N0b3JlKGNvbnN0IGNoYXIgKiphcmd2LCBzdHJ1Y3QgcmVmX3N0b3JlICoqcmVmcykKK3sKKwljb25zdCBjaGFyICpnaXRkaXI7CisKKwlpZiAoIWFyZ3ZbMF0pIHsKKwkJZGllKCJyZWYgc3RvcmUgcmVxdWlyZWQiKTsKKwl9IGVsc2UgaWYgKCFzdHJjbXAoYXJndlswXSwgIm1haW4iKSkgeworCQkqcmVmcyA9IGdldF9tYWluX3JlZl9zdG9yZSgpOworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJndlswXSwgInN1Ym1vZHVsZToiLCAmZ2l0ZGlyKSkgeworCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJCWludCByZXQ7CisKKwkJcmV0ID0gc3RyYnVmX2dpdF9wYXRoX3N1Ym1vZHVsZSgmc2IsIGdpdGRpciwgIm9iamVjdHMvIik7CisJCWlmIChyZXQpCisJCQlkaWUoInN0cmJ1Zl9naXRfcGF0aF9zdWJtb2R1bGUgZmFpbGVkOiAlZCIsIHJldCk7CisJCWFkZF90b19hbHRlcm5hdGVzX21lbW9yeShzYi5idWYpOworCQlzdHJidWZfcmVsZWFzZSgmc2IpOworCisJCSpyZWZzID0gZ2V0X3N1Ym1vZHVsZV9yZWZfc3RvcmUoZ2l0ZGlyKTsKKwl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZ3ZbMF0sICJ3b3JrdHJlZToiLCAmZ2l0ZGlyKSkgeworCQlzdHJ1Y3Qgd29ya3RyZWUgKipwLCAqKndvcmt0cmVlcyA9IGdldF93b3JrdHJlZXMoMCk7CisKKwkJZm9yIChwID0gd29ya3RyZWVzOyAqcDsgcCsrKSB7CisJCQlzdHJ1Y3Qgd29ya3RyZWUgKnd0ID0gKnA7CisKKwkJCWlmICghd3QtPmlkKSB7CisJCQkJLyogc3BlY2lhbCBjYXNlIGZvciBtYWluIHdvcmt0cmVlICovCisJCQkJaWYgKCFzdHJjbXAoZ2l0ZGlyLCAibWFpbiIpKQorCQkJCQlicmVhazsKKwkJCX0gZWxzZSBpZiAoIXN0cmNtcChnaXRkaXIsIHd0LT5pZCkpCisJCQkJYnJlYWs7CisJCX0KKwkJaWYgKCEqcCkKKwkJCWRpZSgibm8gc3VjaCB3b3JrdHJlZTogJXMiLCBnaXRkaXIpOworCisJCSpyZWZzID0gZ2V0X3dvcmt0cmVlX3JlZl9zdG9yZSgqcCk7CisJfSBlbHNlCisJCWRpZSgidW5rbm93biBiYWNrZW5kICVzIiwgYXJndlswXSk7CisKKwlpZiAoISpyZWZzKQorCQlkaWUoIm5vIHJlZiBzdG9yZSIpOworCisJLyogY29uc3VtZSBzdG9yZS1zcGVjaWZpYyBvcHRpb25hbCBhcmd1bWVudHMgaWYgbmVlZGVkICovCisKKwlyZXR1cm4gYXJndiArIDE7Cit9CisKKworc3RhdGljIGludCBjbWRfcGFja19yZWZzKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCXVuc2lnbmVkIGludCBmbGFncyA9IGFyZ19mbGFncygqYXJndisrLCAiZmxhZ3MiKTsKKworCXJldHVybiByZWZzX3BhY2tfcmVmcyhyZWZzLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbnQgY21kX3BlZWxfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSBub3RudWxsKCphcmd2KyssICJyZWZuYW1lIik7CisJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlpbnQgcmV0OworCisJcmV0ID0gcmVmc19wZWVsX3JlZihyZWZzLCByZWZuYW1lLCBzaGExKTsKKwlpZiAoIXJldCkKKwkJcHV0cyhzaGExX3RvX2hleChzaGExKSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjbWRfY3JlYXRlX3N5bXJlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwljb25zdCBjaGFyICpyZWZuYW1lID0gbm90bnVsbCgqYXJndisrLCAicmVmbmFtZSIpOworCWNvbnN0IGNoYXIgKnRhcmdldCA9IG5vdG51bGwoKmFyZ3YrKywgInRhcmdldCIpOworCWNvbnN0IGNoYXIgKmxvZ21zZyA9ICphcmd2Kys7CisKKwlyZXR1cm4gcmVmc19jcmVhdGVfc3ltcmVmKHJlZnMsIHJlZm5hbWUsIHRhcmdldCwgbG9nbXNnKTsKK30KKworc3RhdGljIGludCBjbWRfZGVsZXRlX3JlZnMoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJdW5zaWduZWQgaW50IGZsYWdzID0gYXJnX2ZsYWdzKCphcmd2KyssICJmbGFncyIpOworCWNvbnN0IGNoYXIgKm1zZyA9ICphcmd2Kys7CisJc3RydWN0IHN0cmluZ19saXN0IHJlZm5hbWVzID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKKworCXdoaWxlICgqYXJndikKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKCZyZWZuYW1lcywgKmFyZ3YrKyk7CisKKwlyZXR1cm4gcmVmc19kZWxldGVfcmVmcyhyZWZzLCBtc2csICZyZWZuYW1lcywgZmxhZ3MpOworfQorCitzdGF0aWMgaW50IGNtZF9yZW5hbWVfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKm9sZHJlZiA9IG5vdG51bGwoKmFyZ3YrKywgIm9sZHJlZiIpOworCWNvbnN0IGNoYXIgKm5ld3JlZiA9IG5vdG51bGwoKmFyZ3YrKywgIm5ld3JlZiIpOworCWNvbnN0IGNoYXIgKmxvZ21zZyA9ICphcmd2Kys7CisKKwlyZXR1cm4gcmVmc19yZW5hbWVfcmVmKHJlZnMsIG9sZHJlZiwgbmV3cmVmLCBsb2dtc2cpOworfQorCitzdGF0aWMgaW50IGVhY2hfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJICAgIGludCBmbGFncywgdm9pZCAqY2JfZGF0YSkKK3sKKwlwcmludGYoIiVzICVzIDB4JXhcbiIsIG9pZF90b19oZXgob2lkKSwgcmVmbmFtZSwgZmxhZ3MpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNtZF9mb3JfZWFjaF9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqcHJlZml4ID0gbm90bnVsbCgqYXJndisrLCAicHJlZml4Iik7CisKKwlyZXR1cm4gcmVmc19mb3JfZWFjaF9yZWZfaW4ocmVmcywgcHJlZml4LCBlYWNoX3JlZiwgTlVMTCk7Cit9CisKK3N0YXRpYyBpbnQgY21kX3Jlc29sdmVfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJY29uc3QgY2hhciAqcmVmbmFtZSA9IG5vdG51bGwoKmFyZ3YrKywgInJlZm5hbWUiKTsKKwlpbnQgcmVzb2x2ZV9mbGFncyA9IGFyZ19mbGFncygqYXJndisrLCAicmVzb2x2ZS1mbGFncyIpOworCWludCBmbGFnczsKKwljb25zdCBjaGFyICpyZWY7CisKKwlyZWYgPSByZWZzX3Jlc29sdmVfcmVmX3Vuc2FmZShyZWZzLCByZWZuYW1lLCByZXNvbHZlX2ZsYWdzLAorCQkJCSAgICAgIHNoYTEsICZmbGFncyk7CisJcHJpbnRmKCIlcyAlcyAweCV4XG4iLCBzaGExX3RvX2hleChzaGExKSwgcmVmLCBmbGFncyk7CisJcmV0dXJuIHJlZiA/IDAgOiAxOworfQorCitzdGF0aWMgaW50IGNtZF92ZXJpZnlfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSBub3RudWxsKCphcmd2KyssICJyZWZuYW1lIik7CisJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKKwlpbnQgcmV0OworCisJcmV0ID0gcmVmc192ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUocmVmcywgcmVmbmFtZSwgTlVMTCwgTlVMTCwgJmVycik7CisJaWYgKGVyci5sZW4pCisJCXB1dHMoZXJyLmJ1Zik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjbWRfZm9yX2VhY2hfcmVmbG9nKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCXJldHVybiByZWZzX2Zvcl9lYWNoX3JlZmxvZyhyZWZzLCBlYWNoX3JlZiwgTlVMTCk7Cit9CisKK3N0YXRpYyBpbnQgZWFjaF9yZWZsb2coc3RydWN0IG9iamVjdF9pZCAqb2xkX29pZCwgc3RydWN0IG9iamVjdF9pZCAqbmV3X29pZCwKKwkJICAgICAgIGNvbnN0IGNoYXIgKmNvbW1pdHRlciwgdGltZXN0YW1wX3QgdGltZXN0YW1wLAorCQkgICAgICAgaW50IHR6LCBjb25zdCBjaGFyICptc2csIHZvaWQgKmNiX2RhdGEpCit7CisJcHJpbnRmKCIlcyAlcyAlcyAlIlBSSXRpbWUiICVkICVzXG4iLAorCSAgICAgICBvaWRfdG9faGV4KG9sZF9vaWQpLCBvaWRfdG9faGV4KG5ld19vaWQpLAorCSAgICAgICBjb21taXR0ZXIsIHRpbWVzdGFtcCwgdHosIG1zZyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY21kX2Zvcl9lYWNoX3JlZmxvZ19lbnQoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqcmVmbmFtZSA9IG5vdG51bGwoKmFyZ3YrKywgInJlZm5hbWUiKTsKKworCXJldHVybiByZWZzX2Zvcl9lYWNoX3JlZmxvZ19lbnQocmVmcywgcmVmbmFtZSwgZWFjaF9yZWZsb2csIHJlZnMpOworfQorCitzdGF0aWMgaW50IGNtZF9mb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2Uoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqcmVmbmFtZSA9IG5vdG51bGwoKmFyZ3YrKywgInJlZm5hbWUiKTsKKworCXJldHVybiByZWZzX2Zvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZShyZWZzLCByZWZuYW1lLCBlYWNoX3JlZmxvZywgcmVmcyk7Cit9CisKK3N0YXRpYyBpbnQgY21kX3JlZmxvZ19leGlzdHMoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqcmVmbmFtZSA9IG5vdG51bGwoKmFyZ3YrKywgInJlZm5hbWUiKTsKKworCXJldHVybiAhcmVmc19yZWZsb2dfZXhpc3RzKHJlZnMsIHJlZm5hbWUpOworfQorCitzdGF0aWMgaW50IGNtZF9jcmVhdGVfcmVmbG9nKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSBub3RudWxsKCphcmd2KyssICJyZWZuYW1lIik7CisJaW50IGZvcmNlX2NyZWF0ZSA9IGFyZ19mbGFncygqYXJndisrLCAiZm9yY2UtY3JlYXRlIik7CisJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKKwlpbnQgcmV0OworCisJcmV0ID0gcmVmc19jcmVhdGVfcmVmbG9nKHJlZnMsIHJlZm5hbWUsIGZvcmNlX2NyZWF0ZSwgJmVycik7CisJaWYgKGVyci5sZW4pCisJCXB1dHMoZXJyLmJ1Zik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjbWRfZGVsZXRlX3JlZmxvZyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwljb25zdCBjaGFyICpyZWZuYW1lID0gbm90bnVsbCgqYXJndisrLCAicmVmbmFtZSIpOworCisJcmV0dXJuIHJlZnNfZGVsZXRlX3JlZmxvZyhyZWZzLCByZWZuYW1lKTsKK30KKworc3RhdGljIGludCBjbWRfcmVmbG9nX2V4cGlyZShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlkaWUoIm5vdCBzdXBwb3J0ZWQgeWV0Iik7Cit9CisKK3N0YXRpYyBpbnQgY21kX2RlbGV0ZV9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqbXNnID0gbm90bnVsbCgqYXJndisrLCAibXNnIik7CisJY29uc3QgY2hhciAqcmVmbmFtZSA9IG5vdG51bGwoKmFyZ3YrKywgInJlZm5hbWUiKTsKKwljb25zdCBjaGFyICpzaGExX2J1ZiA9IG5vdG51bGwoKmFyZ3YrKywgIm9sZC1zaGExIik7CisJdW5zaWduZWQgaW50IGZsYWdzID0gYXJnX2ZsYWdzKCphcmd2KyssICJmbGFncyIpOworCXVuc2lnbmVkIGNoYXIgb2xkX3NoYTFbMjBdOworCisJaWYgKGdldF9zaGExX2hleChzaGExX2J1Ziwgb2xkX3NoYTEpKQorCQlkaWUoIm5vdCBzaGEtMSIpOworCisJcmV0dXJuIHJlZnNfZGVsZXRlX3JlZihyZWZzLCBtc2csIHJlZm5hbWUsIG9sZF9zaGExLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbnQgY21kX3VwZGF0ZV9yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqbXNnID0gbm90bnVsbCgqYXJndisrLCAibXNnIik7CisJY29uc3QgY2hhciAqcmVmbmFtZSA9IG5vdG51bGwoKmFyZ3YrKywgInJlZm5hbWUiKTsKKwljb25zdCBjaGFyICpuZXdfc2hhMV9idWYgPSBub3RudWxsKCphcmd2KyssICJvbGQtc2hhMSIpOworCWNvbnN0IGNoYXIgKm9sZF9zaGExX2J1ZiA9IG5vdG51bGwoKmFyZ3YrKywgIm9sZC1zaGExIik7CisJdW5zaWduZWQgaW50IGZsYWdzID0gYXJnX2ZsYWdzKCphcmd2KyssICJmbGFncyIpOworCXVuc2lnbmVkIGNoYXIgb2xkX3NoYTFbMjBdOworCXVuc2lnbmVkIGNoYXIgbmV3X3NoYTFbMjBdOworCisJaWYgKGdldF9zaGExX2hleChvbGRfc2hhMV9idWYsIG9sZF9zaGExKSB8fAorCSAgICBnZXRfc2hhMV9oZXgobmV3X3NoYTFfYnVmLCBuZXdfc2hhMSkpCisJCWRpZSgibm90IHNoYS0xIik7CisKKwlyZXR1cm4gcmVmc191cGRhdGVfcmVmKHJlZnMsIG1zZywgcmVmbmFtZSwKKwkJCSAgICAgICBuZXdfc2hhMSwgb2xkX3NoYTEsCisJCQkgICAgICAgZmxhZ3MsIFVQREFURV9SRUZTX0RJRV9PTl9FUlIpOworfQorCitzdHJ1Y3QgY29tbWFuZCB7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgKCpmdW5jKShzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICoqYXJndik7Cit9OworCitzdGF0aWMgc3RydWN0IGNvbW1hbmQgY29tbWFuZHNbXSA9IHsKKwl7ICJwYWNrLXJlZnMiLCBjbWRfcGFja19yZWZzIH0sCisJeyAicGVlbC1yZWYiLCBjbWRfcGVlbF9yZWYgfSwKKwl7ICJjcmVhdGUtc3ltcmVmIiwgY21kX2NyZWF0ZV9zeW1yZWYgfSwKKwl7ICJkZWxldGUtcmVmcyIsIGNtZF9kZWxldGVfcmVmcyB9LAorCXsgInJlbmFtZS1yZWYiLCBjbWRfcmVuYW1lX3JlZiB9LAorCXsgImZvci1lYWNoLXJlZiIsIGNtZF9mb3JfZWFjaF9yZWYgfSwKKwl7ICJyZXNvbHZlLXJlZiIsIGNtZF9yZXNvbHZlX3JlZiB9LAorCXsgInZlcmlmeS1yZWYiLCBjbWRfdmVyaWZ5X3JlZiB9LAorCXsgImZvci1lYWNoLXJlZmxvZyIsIGNtZF9mb3JfZWFjaF9yZWZsb2cgfSwKKwl7ICJmb3ItZWFjaC1yZWZsb2ctZW50IiwgY21kX2Zvcl9lYWNoX3JlZmxvZ19lbnQgfSwKKwl7ICJmb3ItZWFjaC1yZWZsb2ctZW50LXJldmVyc2UiLCBjbWRfZm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlIH0sCisJeyAicmVmbG9nLWV4aXN0cyIsIGNtZF9yZWZsb2dfZXhpc3RzIH0sCisJeyAiY3JlYXRlLXJlZmxvZyIsIGNtZF9jcmVhdGVfcmVmbG9nIH0sCisJeyAiZGVsZXRlLXJlZmxvZyIsIGNtZF9kZWxldGVfcmVmbG9nIH0sCisJeyAicmVmbG9nLWV4cGlyZSIsIGNtZF9yZWZsb2dfZXhwaXJlIH0sCisJLyoKKwkgKiBiYWNrZW5kIHRyYW5zYWN0aW9uIGZ1bmN0aW9ucyBjYW4ndCBiZSB0ZXN0ZWQgc2VwYXJhdGVseQorCSAqLworCXsgImRlbGV0ZS1yZWYiLCBjbWRfZGVsZXRlX3JlZiB9LAorCXsgInVwZGF0ZS1yZWYiLCBjbWRfdXBkYXRlX3JlZiB9LAorCXsgTlVMTCwgTlVMTCB9Cit9OworCitpbnQgY21kX21haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnM7CisJY29uc3QgY2hhciAqZnVuYzsKKwlzdHJ1Y3QgY29tbWFuZCAqY21kOworCisJc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOworCisJYXJndiA9IGdldF9zdG9yZShhcmd2ICsgMSwgJnJlZnMpOworCisJZnVuYyA9ICphcmd2Kys7CisJaWYgKCFmdW5jKQorCQlkaWUoInJlZiBmdW5jdGlvbiByZXF1aXJlZCIpOworCWZvciAoY21kID0gY29tbWFuZHM7IGNtZC0+bmFtZTsgY21kKyspIHsKKwkJaWYgKCFzdHJjbXAoZnVuYywgY21kLT5uYW1lKSkKKwkJCXJldHVybiBjbWQtPmZ1bmMocmVmcywgYXJndik7CisJfQorCWRpZSgidW5rbm93biBmdW5jdGlvbiAlcyIsIGZ1bmMpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1zaGExLWFycmF5LmMgYi90L2hlbHBlci90ZXN0LXNoYTEtYXJyYXkuYwppbmRleCBmN2E1M2M0Li5lZGZkNTJkIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXNoYTEtYXJyYXkuYworKysgYi90L2hlbHBlci90ZXN0LXNoYTEtYXJyYXkuYwpAQCAtMSwzMyArMSwzMyBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogCi1zdGF0aWMgaW50IHByaW50X3NoYTEoY29uc3QgdW5zaWduZWQgY2hhciBzaGExWzIwXSwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgcHJpbnRfb2lkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqZGF0YSkKIHsKLQlwdXRzKHNoYTFfdG9faGV4KHNoYTEpKTsKKwlwdXRzKG9pZF90b19oZXgob2lkKSk7CiAJcmV0dXJuIDA7CiB9CiAKIGludCBjbWRfbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgYXJyYXkgPSBTSEExX0FSUkFZX0lOSVQ7CisJc3RydWN0IG9pZF9hcnJheSBhcnJheSA9IE9JRF9BUlJBWV9JTklUOwogCXN0cnVjdCBzdHJidWYgbGluZSA9IFNUUkJVRl9JTklUOwogCiAJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lKCZsaW5lLCBzdGRpbikgIT0gRU9GKSB7CiAJCWNvbnN0IGNoYXIgKmFyZzsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKIAkJaWYgKHNraXBfcHJlZml4KGxpbmUuYnVmLCAiYXBwZW5kICIsICZhcmcpKSB7Ci0JCQlpZiAoZ2V0X3NoYTFfaGV4KGFyZywgc2hhMSkpCisJCQlpZiAoZ2V0X29pZF9oZXgoYXJnLCAmb2lkKSkKIAkJCQlkaWUoIm5vdCBhIGhleGFkZWNpbWFsIFNIQTE6ICVzIiwgYXJnKTsKLQkJCXNoYTFfYXJyYXlfYXBwZW5kKCZhcnJheSwgc2hhMSk7CisJCQlvaWRfYXJyYXlfYXBwZW5kKCZhcnJheSwgJm9pZCk7CiAJCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgobGluZS5idWYsICJsb29rdXAgIiwgJmFyZykpIHsKLQkJCWlmIChnZXRfc2hhMV9oZXgoYXJnLCBzaGExKSkKKwkJCWlmIChnZXRfb2lkX2hleChhcmcsICZvaWQpKQogCQkJCWRpZSgibm90IGEgaGV4YWRlY2ltYWwgU0hBMTogJXMiLCBhcmcpOwotCQkJcHJpbnRmKCIlZFxuIiwgc2hhMV9hcnJheV9sb29rdXAoJmFycmF5LCBzaGExKSk7CisJCQlwcmludGYoIiVkXG4iLCBvaWRfYXJyYXlfbG9va3VwKCZhcnJheSwgJm9pZCkpOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAobGluZS5idWYsICJjbGVhciIpKQotCQkJc2hhMV9hcnJheV9jbGVhcigmYXJyYXkpOworCQkJb2lkX2FycmF5X2NsZWFyKCZhcnJheSk7CiAJCWVsc2UgaWYgKCFzdHJjbXAobGluZS5idWYsICJmb3JfZWFjaF91bmlxdWUiKSkKLQkJCXNoYTFfYXJyYXlfZm9yX2VhY2hfdW5pcXVlKCZhcnJheSwgcHJpbnRfc2hhMSwgTlVMTCk7CisJCQlvaWRfYXJyYXlfZm9yX2VhY2hfdW5pcXVlKCZhcnJheSwgcHJpbnRfb2lkLCBOVUxMKTsKIAkJZWxzZQogCQkJZGllKCJ1bmtub3duIGNvbW1hbmQ6ICVzIiwgbGluZS5idWYpOwogCX0KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtc3RyY21wLW9mZnNldC5jIGIvdC9oZWxwZXIvdGVzdC1zdHJjbXAtb2Zmc2V0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE1OWM5YQotLS0gL2Rldi9udWxsCisrKyBiL3QvaGVscGVyL3Rlc3Qtc3RyY21wLW9mZnNldC5jCkBAIC0wLDAgKzEsMjIgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorCitpbnQgY21kX21haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWludCByZXN1bHQ7CisJc2l6ZV90IG9mZnNldDsKKworCWlmICghYXJndlsxXSB8fCAhYXJndlsyXSkKKwkJZGllKCJ1c2FnZTogJXMgPHN0cmluZzE+IDxzdHJpbmcyPiIsIGFyZ3ZbMF0pOworCisJcmVzdWx0ID0gc3RyY21wX29mZnNldChhcmd2WzFdLCBhcmd2WzJdLCAmb2Zmc2V0KTsKKworCS8qCisJICogQmVjYXVzZSBkaWZmZXJlbnQgQ1JUcyBiZWhhdmUgZGlmZmVyZW50bHksIG9ubHkgcmVseSBvbiBzaWducworCSAqIG9mIHRoZSByZXN1bHQgdmFsdWVzLgorCSAqLworCXJlc3VsdCA9IChyZXN1bHQgPCAwID8gLTEgOgorCQkJICByZXN1bHQgPiAwID8gMSA6CisJCQkgIDApOworCXByaW50ZigiJWQgJSJQUkl1TUFYIlxuIiwgcmVzdWx0LCAodWludG1heF90KW9mZnNldCk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LXN1Ym1vZHVsZS1jb25maWcuYyBiL3QvaGVscGVyL3Rlc3Qtc3VibW9kdWxlLWNvbmZpZy5jCmluZGV4IDJmMTQ0ZDUuLmYyM2RiM2IgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3Qtc3VibW9kdWxlLWNvbmZpZy5jCisrKyBiL3QvaGVscGVyL3Rlc3Qtc3VibW9kdWxlLWNvbmZpZy5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAic3VibW9kdWxlLWNvbmZpZy5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgogCkBAIC05LDExICsxMCw2IEBACiAJZXhpdCgxKTsKIH0KIAotc3RhdGljIGludCBnaXRfdGVzdF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCi17Ci0JcmV0dXJuIHBhcnNlX3N1Ym1vZHVsZV9jb25maWdfb3B0aW9uKHZhciwgdmFsdWUpOwotfQotCiBpbnQgY21kX21haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewogCWNvbnN0IGNoYXIgKiphcmcgPSBhcmd2OwpAQCAtMzYsMTEgKzMyLDkgQEAKIAkJZGllX3VzYWdlKGFyZ2MsIGFyZ3YsICJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzLiIpOwogCiAJc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOwotCWdpdG1vZHVsZXNfY29uZmlnKCk7Ci0JZ2l0X2NvbmZpZyhnaXRfdGVzdF9jb25maWcsIE5VTEwpOwogCiAJd2hpbGUgKCphcmcpIHsKLQkJdW5zaWduZWQgY2hhciBjb21taXRfc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgY29tbWl0X29pZDsKIAkJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlOwogCQljb25zdCBjaGFyICpjb21taXQ7CiAJCWNvbnN0IGNoYXIgKnBhdGhfb3JfbmFtZTsKQEAgLTQ5LDE0ICs0MywxNCBAQAogCQlwYXRoX29yX25hbWUgPSBhcmdbMV07CiAKIAkJaWYgKGNvbW1pdFswXSA9PSAnXDAnKQotCQkJaGFzaGNscihjb21taXRfc2hhMSk7Ci0JCWVsc2UgaWYgKGdldF9zaGExKGNvbW1pdCwgY29tbWl0X3NoYTEpIDwgMCkKKwkJCW9pZGNscigmY29tbWl0X29pZCk7CisJCWVsc2UgaWYgKGdldF9vaWQoY29tbWl0LCAmY29tbWl0X29pZCkgPCAwKQogCQkJZGllX3VzYWdlKGFyZ2MsIGFyZ3YsICJDb21taXQgbm90IGZvdW5kLiIpOwogCiAJCWlmIChsb29rdXBfbmFtZSkgewotCQkJc3VibW9kdWxlID0gc3VibW9kdWxlX2Zyb21fbmFtZShjb21taXRfc2hhMSwgcGF0aF9vcl9uYW1lKTsKKwkJCXN1Ym1vZHVsZSA9IHN1Ym1vZHVsZV9mcm9tX25hbWUoJmNvbW1pdF9vaWQsIHBhdGhfb3JfbmFtZSk7CiAJCX0gZWxzZQotCQkJc3VibW9kdWxlID0gc3VibW9kdWxlX2Zyb21fcGF0aChjb21taXRfc2hhMSwgcGF0aF9vcl9uYW1lKTsKKwkJCXN1Ym1vZHVsZSA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgoJmNvbW1pdF9vaWQsIHBhdGhfb3JfbmFtZSk7CiAJCWlmICghc3VibW9kdWxlKQogCQkJZGllX3VzYWdlKGFyZ2MsIGFyZ3YsICJTdWJtb2R1bGUgbm90IGZvdW5kLiIpOwogCmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LXdpbGRtYXRjaC5jIGIvdC9oZWxwZXIvdGVzdC13aWxkbWF0Y2guYwppbmRleCA1MmJlODc2Li45MjFkN2IzIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXdpbGRtYXRjaC5jCisrKyBiL3QvaGVscGVyL3Rlc3Qtd2lsZG1hdGNoLmMKQEAgLTExLDExICsxMSwxMSBAQAogCQkJYXJndltpXSArPSAzOwogCX0KIAlpZiAoIXN0cmNtcChhcmd2WzFdLCAid2lsZG1hdGNoIikpCi0JCXJldHVybiAhIXdpbGRtYXRjaChhcmd2WzNdLCBhcmd2WzJdLCBXTV9QQVRITkFNRSwgTlVMTCk7CisJCXJldHVybiAhIXdpbGRtYXRjaChhcmd2WzNdLCBhcmd2WzJdLCBXTV9QQVRITkFNRSk7CiAJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAiaXdpbGRtYXRjaCIpKQotCQlyZXR1cm4gISF3aWxkbWF0Y2goYXJndlszXSwgYXJndlsyXSwgV01fUEFUSE5BTUUgfCBXTV9DQVNFRk9MRCwgTlVMTCk7CisJCXJldHVybiAhIXdpbGRtYXRjaChhcmd2WzNdLCBhcmd2WzJdLCBXTV9QQVRITkFNRSB8IFdNX0NBU0VGT0xEKTsKIAllbHNlIGlmICghc3RyY21wKGFyZ3ZbMV0sICJwYXRobWF0Y2giKSkKLQkJcmV0dXJuICEhd2lsZG1hdGNoKGFyZ3ZbM10sIGFyZ3ZbMl0sIDAsIE5VTEwpOworCQlyZXR1cm4gISF3aWxkbWF0Y2goYXJndlszXSwgYXJndlsyXSwgMCk7CiAJZWxzZQogCQlyZXR1cm4gMTsKIH0KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtd3JpdGUtY2FjaGUuYyBiL3QvaGVscGVyL3Rlc3Qtd3JpdGUtY2FjaGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iN2VlMDM5Ci0tLSAvZGV2L251bGwKKysrIGIvdC9oZWxwZXIvdGVzdC13cml0ZS1jYWNoZS5jCkBAIC0wLDAgKzEsMjMgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImxvY2tmaWxlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGluZGV4X2xvY2s7CisKK2ludCBjbWRfbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJaW50IGksIGNudCA9IDEsIGxvY2tmZDsKKwlpZiAoYXJnYyA9PSAyKQorCQljbnQgPSBzdHJ0b2woYXJndlsxXSwgTlVMTCwgMCk7CisJc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOworCXJlYWRfY2FjaGUoKTsKKwlmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKwkJbG9ja2ZkID0gaG9sZF9sb2NrZWRfaW5kZXgoJmluZGV4X2xvY2ssIExPQ0tfRElFX09OX0VSUk9SKTsKKwkJaWYgKDAgPD0gbG9ja2ZkKSB7CisJCQl3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmluZGV4X2xvY2ssIENPTU1JVF9MT0NLKTsKKwkJfSBlbHNlIHsKKwkJCXJvbGxiYWNrX2xvY2tfZmlsZSgmaW5kZXhfbG9jayk7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3QvbGliLWdwZy5zaCBiL3QvbGliLWdwZy5zaAppbmRleCBlYzJhYThmLi40MzY3OWE0IDEwMDc1NQotLS0gYS90L2xpYi1ncGcuc2gKKysrIGIvdC9saWItZ3BnLnNoCkBAIC0zMSw2ICszMSw3IEBACiAJCWNobW9kIDA3MDAgLi9ncGdob21lICYmCiAJCUdOVVBHSE9NRT0iJChwd2QpL2dwZ2hvbWUiICYmCiAJCWV4cG9ydCBHTlVQR0hPTUUgJiYKKwkJKGdwZ2NvbmYgLS1raWxsIGdwZy1hZ2VudCAyPiYxID4vZGV2L251bGwgfHwgOiApICYmCiAJCWdwZyAtLWhvbWVkaXIgIiR7R05VUEdIT01FfSIgMj4vZGV2L251bGwgLS1pbXBvcnQgXAogCQkJIiRURVNUX0RJUkVDVE9SWSIvbGliLWdwZy9rZXlyaW5nLmdwZyAmJgogCQlncGcgLS1ob21lZGlyICIke0dOVVBHSE9NRX0iIDI+L2Rldi9udWxsIC0taW1wb3J0LW93bmVydHJ1c3QgXApkaWZmIC0tZ2l0IGEvdC9saWItc3VibW9kdWxlLXVwZGF0ZS5zaCBiL3QvbGliLXN1Ym1vZHVsZS11cGRhdGUuc2gKaW5kZXggOTE1ZWI0YS4uMmQyNmY4NiAxMDA3NTUKLS0tIGEvdC9saWItc3VibW9kdWxlLXVwZGF0ZS5zaAorKysgYi90L2xpYi1zdWJtb2R1bGUtdXBkYXRlLnNoCkBAIC00LDYgKzQsNyBAQAogIyAtIE5ldyBzdWJtb2R1bGUgKG5vX3N1Ym1vZHVsZSA9PiBhZGRfc3ViMSkKICMgLSBSZW1vdmVkIHN1Ym1vZHVsZSAoYWRkX3N1YjEgPT4gcmVtb3ZlX3N1YjEpCiAjIC0gVXBkYXRlZCBzdWJtb2R1bGUgKGFkZF9zdWIxID0+IG1vZGlmeV9zdWIxKQorIyAtIFVwZGF0ZWQgc3VibW9kdWxlIHJlY3Vyc2l2ZWx5IChhZGRfbmVzdGVkX3N1YiA9PiBtb2RpZnlfc3ViMV9yZWN1cnNpdmVseSkKICMgLSBTdWJtb2R1bGUgdXBkYXRlZCB0byBpbnZhbGlkIGNvbW1pdCAoYWRkX3N1YjEgPT4gaW52YWxpZF9zdWIxKQogIyAtIFN1Ym1vZHVsZSB1cGRhdGVkIGZyb20gaW52YWxpZCBjb21taXQgKGludmFsaWRfc3ViMSA9PiB2YWxpZF9zdWIxKQogIyAtIFN1Ym1vZHVsZSByZXBsYWNlZCBieSB0cmFja2VkIGZpbGVzIGluIGRpcmVjdG9yeSAoYWRkX3N1YjEgPT4KQEAgLTE1LDIzICsxNiw1MCBAQAogIyAtIFRyYWNrZWQgZmlsZSByZXBsYWNlZCBieSBzdWJtb2R1bGUgKHJlcGxhY2Vfc3ViMV93aXRoX2ZpbGUgPT4KICMgICByZXBsYWNlX2ZpbGVfd2l0aF9zdWIxKQogIwotIyAgICAgICAgICAgICAgICAgICAtLU8tLS0tLU8KLSMgICAgICAgICAgICAgICAgICAvICBeICAgICByZXBsYWNlX2RpcmVjdG9yeV93aXRoX3N1YjEKLSMgICAgICAgICAgICAgICAgIC8gICByZXBsYWNlX3N1YjFfd2l0aF9kaXJlY3RvcnkKLSMgICAgICAgICAgICAgICAgLy0tLS1PCi0jICAgICAgICAgICAgICAgLyAgICAgXgotIyAgICAgICAgICAgICAgLyAgICAgIG1vZGlmeV9zdWIxCi0jICAgICAgTy0tLS0tLU8tLS0tLS0tTwotIyAgICAgIF4gICAgICBeXCAgICAgIF4KLSMgICAgICB8ICAgICAgfCBcICAgICByZW1vdmVfc3ViMQotIyAgICAgIHwgICAgICB8ICAtLS0tLU8tLS0tLU8KLSMgICAgICB8ICAgICAgfCAgIFwgICBeICAgICByZXBsYWNlX2ZpbGVfd2l0aF9zdWIxCi0jICAgICAgfCAgICAgIHwgICAgXCAgcmVwbGFjZV9zdWIxX3dpdGhfZmlsZQotIyAgICAgIHwgICBhZGRfc3ViMSAtLU8tLS0tLU8KLSMgbm9fc3VibW9kdWxlICAgICAgICBeICAgICB2YWxpZF9zdWIxCi0jICAgICAgICAgICAgICAgICAgICAgaW52YWxpZF9zdWIxCisjICAgICAgICAgICAgICAgICAgICAgLS0tLU8KKyMgICAgICAgICAgICAgICAgICAgIC8gICAgXgorIyAgICAgICAgICAgICAgICAgICAvICAgICByZW1vdmVfc3ViMQorIyAgICAgICAgICAgICAgICAgIC8KKyMgICAgICAgYWRkX3N1YjEgIC8tLS0tLS0tTy0tLS0tLS0tLU8tLS0tLS0tLU8gIG1vZGlmeV9zdWIxX3JlY3Vyc2l2ZWx5CisjICAgICAgICAgICAgIHwgIC8gICAgICAgIF4gICAgICAgICBhZGRfbmVzdGVkX3N1YgorIyAgICAgICAgICAgICB8IC8gICAgICAgICBtb2RpZnlfc3ViMQorIyAgICAgICAgICAgICB2LworIyAgICAgIE8tLS0tLS1PLS0tLS0tLS0tLS1PLS0tLS0tLS0tTworIyAgICAgIF4gICAgICAgXCAgICAgICAgICBeICAgICAgICAgcmVwbGFjZV9kaXJlY3Rvcnlfd2l0aF9zdWIxCisjICAgICAgfCAgICAgICAgXCAgICAgICAgIHJlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeQorIyBub19zdWJtb2R1bGUgICBcCisjICAgICAgICAgICAgICAgICAtLS0tLS0tLU8tLS0tLS0tLS1PCisjICAgICAgICAgICAgICAgICAgXCAgICAgIF4gICAgICAgICByZXBsYWNlX2ZpbGVfd2l0aF9zdWIxCisjICAgICAgICAgICAgICAgICAgIFwgICAgIHJlcGxhY2Vfc3ViMV93aXRoX2ZpbGUKKyMgICAgICAgICAgICAgICAgICAgIFwKKyMgICAgICAgICAgICAgICAgICAgICAtLS0tTy0tLS0tLS0tLU8KKyMgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgIHZhbGlkX3N1YjEKKyMgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZF9zdWIxCiAjCisKIGNyZWF0ZV9saWJfc3VibW9kdWxlX3JlcG8gKCkgeworCWdpdCBpbml0IHN1Ym1vZHVsZV91cGRhdGVfc3ViMSAmJgorCSgKKwkJY2Qgc3VibW9kdWxlX3VwZGF0ZV9zdWIxICYmCisJCWVjaG8gImV4cGVjdCIgPj4uZ2l0aWdub3JlICYmCisJCWVjaG8gImFjdHVhbCIgPj4uZ2l0aWdub3JlICYmCisJCWVjaG8gIngiID5maWxlMSAmJgorCQllY2hvICJ5IiA+ZmlsZTIgJiYKKwkJZ2l0IGFkZCAuZ2l0aWdub3JlIGZpbGUxIGZpbGUyICYmCisJCWdpdCBjb21taXQgLW0gIkJhc2UgaW5zaWRlIGZpcnN0IHN1Ym1vZHVsZSIgJiYKKwkJZ2l0IGJyYW5jaCAibm9fc3VibW9kdWxlIgorCSkgJiYKKwlnaXQgaW5pdCBzdWJtb2R1bGVfdXBkYXRlX3N1YjIgJiYKKwkoCisJCWNkIHN1Ym1vZHVsZV91cGRhdGVfc3ViMgorCQllY2hvICJleHBlY3QiID4+LmdpdGlnbm9yZSAmJgorCQllY2hvICJhY3R1YWwiID4+LmdpdGlnbm9yZSAmJgorCQllY2hvICJ4IiA+ZmlsZTEgJiYKKwkJZWNobyAieSIgPmZpbGUyICYmCisJCWdpdCBhZGQgLmdpdGlnbm9yZSBmaWxlMSBmaWxlMiAmJgorCQlnaXQgY29tbWl0IC1tICJuZXN0ZWQgc3VibW9kdWxlIGJhc2UiICYmCisJCWdpdCBicmFuY2ggIm5vX3N1Ym1vZHVsZSIKKwkpICYmCiAJZ2l0IGluaXQgc3VibW9kdWxlX3VwZGF0ZV9yZXBvICYmCiAJKAogCQljZCBzdWJtb2R1bGVfdXBkYXRlX3JlcG8gJiYKQEAgLTQ0LDE1ICs3MiwxNyBAQAogCQlnaXQgYnJhbmNoICJub19zdWJtb2R1bGUiICYmCiAKIAkJZ2l0IGNoZWNrb3V0IC1iICJhZGRfc3ViMSIgJiYKLQkJZ2l0IHN1Ym1vZHVsZSBhZGQgLi8uIHN1YjEgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBhZGQgLi4vc3VibW9kdWxlX3VwZGF0ZV9zdWIxIHN1YjEgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBhZGQgLi4vc3VibW9kdWxlX3VwZGF0ZV9zdWIxIHVuaW5pdGlhbGl6ZWRfc3ViICYmCiAJCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1YjEuaWdub3JlIGFsbCAmJgogCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5zdWIxLmlnbm9yZSBhbGwgJiYKIAkJZ2l0IGFkZCAuZ2l0bW9kdWxlcyAmJgogCQlnaXQgY29tbWl0IC1tICJBZGQgc3ViMSIgJiYKLQkJZ2l0IGNoZWNrb3V0IC1iIHJlbW92ZV9zdWIxICYmCisKKwkJZ2l0IGNoZWNrb3V0IC1iIHJlbW92ZV9zdWIxIGFkZF9zdWIxICYmCiAJCWdpdCByZXZlcnQgSEVBRCAmJgogCi0JCWdpdCBjaGVja291dCAtYiAibW9kaWZ5X3N1YjEiICJhZGRfc3ViMSIgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIG1vZGlmeV9zdWIxIGFkZF9zdWIxICYmCiAJCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCiAJCSgKIAkJCWNkIHN1YjEgJiYKQEAgLTY3LDcgKzk3LDI3IEBACiAJCWdpdCBhZGQgc3ViMSAmJgogCQlnaXQgY29tbWl0IC1tICJNb2RpZnkgc3ViMSIgJiYKIAotCQlnaXQgY2hlY2tvdXQgLWIgInJlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeSIgImFkZF9zdWIxIiAmJgorCQlnaXQgY2hlY2tvdXQgLWIgYWRkX25lc3RlZF9zdWIgbW9kaWZ5X3N1YjEgJiYKKwkJZ2l0IC1DIHN1YjEgY2hlY2tvdXQgLWIgImFkZF9uZXN0ZWRfc3ViIiAmJgorCQlnaXQgLUMgc3ViMSBzdWJtb2R1bGUgYWRkIC0tYnJhbmNoIG5vX3N1Ym1vZHVsZSAuLi9zdWJtb2R1bGVfdXBkYXRlX3N1YjIgc3ViMiAmJgorCQlnaXQgLUMgc3ViMSBjb21taXQgLWEgLW0gImFkZCBhIG5lc3RlZCBzdWJtb2R1bGUiICYmCisJCWdpdCBhZGQgc3ViMSAmJgorCQlnaXQgY29tbWl0IC1hIC1tICJ1cGRhdGUgc3VibW9kdWxlLCB0aGF0IHVwZGF0ZXMgYSBuZXN0ZWQgc3VibW9kdWxlIiAmJgorCQlnaXQgY2hlY2tvdXQgLWIgbW9kaWZ5X3N1YjFfcmVjdXJzaXZlbHkgJiYKKwkJZ2l0IC1DIHN1YjEgY2hlY2tvdXQgLWIgbW9kaWZ5X3N1YjFfcmVjdXJzaXZlbHkgJiYKKwkJZ2l0IC1DIHN1YjEvc3ViMiBjaGVja291dCAtYiBtb2RpZnlfc3ViMV9yZWN1cnNpdmVseSAmJgorCQllY2hvIGNoYW5nZSA+c3ViMS9zdWIyL2ZpbGUzICYmCisJCWdpdCAtQyBzdWIxL3N1YjIgYWRkIGZpbGUzICYmCisJCWdpdCAtQyBzdWIxL3N1YjIgY29tbWl0IC1tICJtYWtlIGEgY2hhbmdlIGluIG5lc3RlZCBzdWIiICYmCisJCWdpdCAtQyBzdWIxIGFkZCBzdWIyICYmCisJCWdpdCAtQyBzdWIxIGNvbW1pdCAtbSAidXBkYXRlIG5lc3RlZCBzdWIiICYmCisJCWdpdCBhZGQgc3ViMSAmJgorCQlnaXQgY29tbWl0IC1tICJ1cGRhdGUgc3ViMSwgdGhhdCB1cGRhdGVzIG5lc3RlZCBzdWIiICYmCisJCWdpdCAtQyBzdWIxIHB1c2ggb3JpZ2luIG1vZGlmeV9zdWIxX3JlY3Vyc2l2ZWx5ICYmCisJCWdpdCAtQyBzdWIxL3N1YjIgcHVzaCBvcmlnaW4gbW9kaWZ5X3N1YjFfcmVjdXJzaXZlbHkgJiYKKwkJZ2l0IC1DIHN1YjEgc3VibW9kdWxlIGRlaW5pdCAtZiAtLWFsbCAmJgorCisJCWdpdCBjaGVja291dCAtYiByZXBsYWNlX3N1YjFfd2l0aF9kaXJlY3RvcnkgYWRkX3N1YjEgJiYKIAkJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKIAkJZ2l0IC1DIHN1YjEgY2hlY2tvdXQgbW9kaWZpY2F0aW9ucyAmJgogCQlnaXQgcm0gLS1jYWNoZWQgc3ViMSAmJgpAQCAtNzUsMjIgKzEyNSwyNSBAQAogCQlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIC0tcmVtb3ZlLXNlY3Rpb24gInN1Ym1vZHVsZS5zdWIxIiAmJgogCQlnaXQgYWRkIC5naXRtb2R1bGVzIHN1YjEvKiAmJgogCQlnaXQgY29tbWl0IC1tICJSZXBsYWNlIHN1YjEgd2l0aCBkaXJlY3RvcnkiICYmCisKIAkJZ2l0IGNoZWNrb3V0IC1iIHJlcGxhY2VfZGlyZWN0b3J5X3dpdGhfc3ViMSAmJgogCQlnaXQgcmV2ZXJ0IEhFQUQgJiYKIAotCQlnaXQgY2hlY2tvdXQgLWIgInJlcGxhY2Vfc3ViMV93aXRoX2ZpbGUiICJhZGRfc3ViMSIgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIHJlcGxhY2Vfc3ViMV93aXRoX2ZpbGUgYWRkX3N1YjEgJiYKIAkJZ2l0IHJtIHN1YjEgJiYKIAkJZWNobyAiY29udGVudCIgPnN1YjEgJiYKIAkJZ2l0IGFkZCBzdWIxICYmCiAJCWdpdCBjb21taXQgLW0gIlJlcGxhY2Ugc3ViMSB3aXRoIGZpbGUiICYmCisKIAkJZ2l0IGNoZWNrb3V0IC1iIHJlcGxhY2VfZmlsZV93aXRoX3N1YjEgJiYKIAkJZ2l0IHJldmVydCBIRUFEICYmCiAKLQkJZ2l0IGNoZWNrb3V0IC1iICJpbnZhbGlkX3N1YjEiICJhZGRfc3ViMSIgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIGludmFsaWRfc3ViMSBhZGRfc3ViMSAmJgogCQlnaXQgdXBkYXRlLWluZGV4IC0tY2FjaGVpbmZvIDE2MDAwMCAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5IHN1YjEgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiSW52YWxpZCBzdWIxIGNvbW1pdCIgJiYKIAkJZ2l0IGNoZWNrb3V0IC1iIHZhbGlkX3N1YjEgJiYKIAkJZ2l0IHJldmVydCBIRUFEICYmCisKIAkJZ2l0IGNoZWNrb3V0IG1hc3RlcgogCSkKIH0KQEAgLTEzMCw2ICsxODMsMTUgQEAKIAkpCiB9CiAKK3Rlc3RfZ2l0X2RpcmVjdG9yeV9leGlzdHMoKSB7CisJdGVzdCAtZSAiLmdpdC9tb2R1bGVzLyQxIiAmJgorCWlmIHRlc3QgLWYgc3ViMS8uZ2l0CisJdGhlbgorCQkjIGRvZXMgY29yZS53b3JrdHJlZSBwb2ludCBhdCB0aGUgcmlnaHQgcGxhY2U/CisJCXRlc3QgIiQoZ2l0IC1DIC5naXQvbW9kdWxlcy8kMSBjb25maWcgY29yZS53b3JrdHJlZSkiID0gIi4uLy4uLy4uLyQxIgorCWZpCit9CisKICMgSGVscGVyIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIGF0IHRoZSBzdGFydCBvZiBldmVyeSB0ZXN0IGJlbG93LCBpdCBzZXRzIHVwCiAjIHRoZSBzdWJtb2R1bGUgcmVwbyBpZiBpdCBkb2Vzbid0IGV4aXN0IGFuZCBjb25maWd1cmVzIHRoZSBtb3N0IHByb2JsZW1hdGljCiAjIHNldHRpbmdzIGZvciBkaWZmLmlnbm9yZVN1Ym1vZHVsZXMuCkBAIC0xNTEsMTUgKzIxMywzNiBAQAogCQlnaXQgY2hlY2tvdXQgLWYgIiQxIiAmJgogCQlnaXQgc3RhdHVzIC11IC1zID5hY3R1YWwgJiYKIAkJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbCAmJgotCQlzaGExPSQoZ2l0IHJldi1wYXJzZSAtLXJldnMtb25seSBIRUFEOnN1YjEpICYmCi0JCWlmIHRlc3QgLW4gIiRzaGExIiAmJgotCQkgICB0ZXN0ICQoY2QgInN1YjEiICYmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIiRzaGExXntjb21taXR9IikKKwkJaGFzaD0kKGdpdCByZXYtcGFyc2UgLS1yZXZzLW9ubHkgSEVBRDpzdWIxKSAmJgorCQlpZiB0ZXN0IC1uICIkaGFzaCIgJiYKKwkJICAgdGVzdCAkKGNkICIuLi9zdWJtb2R1bGVfdXBkYXRlX3N1YjEiICYmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIiRoYXNoXntjb21taXR9IikKIAkJdGhlbgogCQkJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tcmVjdXJzaXZlICJzdWIxIgogCQlmaQogCSkKIH0KIAorcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgKCkgeworCXJlc2V0X3dvcmtfdHJlZV90byAkMSAmJgorCSMgbWFrZSB0aGUgc3VibW9kdWxlIGdpdCBkaXJzIGF2YWlsYWJsZQorCWlmICEgdGVzdCAtZCBzdWJtb2R1bGVfdXBkYXRlLy5naXQvbW9kdWxlcy9zdWIxCisJdGhlbgorCQlta2RpciAtcCBzdWJtb2R1bGVfdXBkYXRlLy5naXQvbW9kdWxlcyAmJgorCQljcCAtciBzdWJtb2R1bGVfdXBkYXRlX3JlcG8vLmdpdC9tb2R1bGVzL3N1YjEgc3VibW9kdWxlX3VwZGF0ZS8uZ2l0L21vZHVsZXMvc3ViMQorCQlHSVRfV09SS19UUkVFPS4gZ2l0IC1DIHN1Ym1vZHVsZV91cGRhdGUvLmdpdC9tb2R1bGVzL3N1YjEgY29uZmlnIC0tdW5zZXQgY29yZS53b3JrdHJlZQorCWZpICYmCisJaWYgISB0ZXN0IC1kIHN1Ym1vZHVsZV91cGRhdGUvLmdpdC9tb2R1bGVzL3N1YjEvbW9kdWxlcy9zdWIyCisJdGhlbgorCQlta2RpciAtcCBzdWJtb2R1bGVfdXBkYXRlLy5naXQvbW9kdWxlcy9zdWIxL21vZHVsZXMgJiYKKwkJY3AgLXIgc3VibW9kdWxlX3VwZGF0ZV9yZXBvLy5naXQvbW9kdWxlcy9zdWIxL21vZHVsZXMvc3ViMiBzdWJtb2R1bGVfdXBkYXRlLy5naXQvbW9kdWxlcy9zdWIxL21vZHVsZXMvc3ViMgorCQlHSVRfV09SS19UUkVFPS4gZ2l0IC1DIHN1Ym1vZHVsZV91cGRhdGUvLmdpdC9tb2R1bGVzL3N1YjEvbW9kdWxlcy9zdWIyIGNvbmZpZyAtLXVuc2V0IGNvcmUud29ya3RyZWUKKwlmaSAmJgorCSMgaW5kaWNhdGUgd2UgYXJlIGludGVyZXN0ZWQgaW4gdGhlIHN1Ym1vZHVsZToKKwlnaXQgLUMgc3VibW9kdWxlX3VwZGF0ZSBjb25maWcgc3VibW9kdWxlLnN1YjEudXJsICJib2d1cyIgJiYKKwkjIHN1YjEgbWlnaHQgbm90IGJlIGNoZWNrZWQgb3V0LCBzbyB1c2UgdGhlIGdpdCBkaXIKKwlnaXQgLUMgc3VibW9kdWxlX3VwZGF0ZS8uZ2l0L21vZHVsZXMvc3ViMSBjb25maWcgc3VibW9kdWxlLnN1YjIudXJsICJib2d1cyIKK30KKwogIyBUZXN0IHRoYXQgdGhlIHN1cGVycHJvamVjdCBjb250YWlucyB0aGUgY29udGVudCBhY2NvcmRpbmcgdG8gY29tbWl0ICIkMSIKICMgKHRoZSB3b3JrIHRyZWUgbXVzdCBtYXRjaCB0aGUgaW5kZXggZm9yIGV2ZXJ5dGhpbmcgYnV0IHN1Ym1vZHVsZXMgYnV0IHRoZQogIyBpbmRleCBtdXN0IGV4YWN0bHkgbWF0Y2ggdGhlIGdpdmVuIGNvbW1pdCBpbmNsdWRpbmcgYW55IHN1Ym1vZHVsZSBTSEEtMXMpLgpAQCAtMTczLDYgKzI1NiwxMSBAQAogIyBUZXN0IHRoYXQgdGhlIGdpdmVuIHN1Ym1vZHVsZSBhdCBwYXRoICIkMSIgY29udGFpbnMgdGhlIGNvbnRlbnQgYWNjb3JkaW5nCiAjIHRvIHRoZSBzdWJtb2R1bGUgY29tbWl0IHJlY29yZGVkIGluIHRoZSBzdXBlcnByb2plY3QncyBjb21taXQgIiQyIgogdGVzdF9zdWJtb2R1bGVfY29udGVudCAoKSB7CisJaWYgdGVzdCB4IiQxIiA9ICJ4LUMiCisJdGhlbgorCQljZCAiJDIiCisJCXNoaWZ0OyBzaGlmdDsKKwlmaQogCWlmIHRlc3QgJCMgIT0gMgogCXRoZW4KIAkJZWNobyAidGVzdF9zdWJtb2R1bGVfY29udGVudCBuZWVkcyB0d28gYXJndW1lbnRzIgpAQCAtNjc1LDMgKzc2Myw0OTAgQEAKIAkJKQogCScKIH0KKworIyBUZXN0IHRoYXQgc3VibW9kdWxlIGNvbnRlbnRzIGFyZSBjb3JyZWN0bHkgdXBkYXRlZCB3aGVuIHN3aXRjaGluZworIyBiZXR3ZWVuIGNvbW1pdHMgdGhhdCBjaGFuZ2UgYSBzdWJtb2R1bGUuCisjIFRlc3QgdGhhdCB0aGUgZm9sbG93aW5nIHRyYW5zaXRpb25zIGFyZSBjb3JyZWN0bHkgaGFuZGxlZDoKKyMgKFRoZXNlIHRlc3RzIGFyZSBhbHNvIGFib3ZlIGluIHRoZSBjYXNlIHdoZXJlIHdlIGV4cGVjdCBubyBjaGFuZ2UKKyMgIGluIHRoZSBzdWJtb2R1bGUpCisjIC0gVXBkYXRlZCBzdWJtb2R1bGUKKyMgLSBOZXcgc3VibW9kdWxlCisjIC0gUmVtb3ZlZCBzdWJtb2R1bGUKKyMgLSBEaXJlY3RvcnkgY29udGFpbmluZyB0cmFja2VkIGZpbGVzIHJlcGxhY2VkIGJ5IHN1Ym1vZHVsZQorIyAtIFN1Ym1vZHVsZSByZXBsYWNlZCBieSB0cmFja2VkIGZpbGVzIGluIGRpcmVjdG9yeQorIyAtIFN1Ym1vZHVsZSByZXBsYWNlZCBieSB0cmFja2VkIGZpbGUgd2l0aCB0aGUgc2FtZSBuYW1lCisjIC0gdHJhY2tlZCBmaWxlIHJlcGxhY2VkIGJ5IHN1Ym1vZHVsZQorIworIyBOZXcgdGVzdCBjYXNlcworIyAtIFJlbW92aW5nIGEgc3VibW9kdWxlIHdpdGggYSBnaXQgZGlyZWN0b3J5IGFic29yYnMgdGhlIHN1Ym1vZHVsZXMKKyMgICBnaXQgZGlyZWN0b3J5IGZpcnN0IGludG8gdGhlIHN1cGVycHJvamVjdC4KKwordGVzdF9zdWJtb2R1bGVfc3dpdGNoX3JlY3Vyc2luZ193aXRoX2FyZ3MgKCkgeworCWNtZF9hcmdzPSIkMSIKKwljb21tYW5kPSJnaXQgJGNtZF9hcmdzIC0tcmVjdXJzZS1zdWJtb2R1bGVzIgorCVJFU1VMVERTPXN1Y2Nlc3MKKwlpZiB0ZXN0ICIkS05PV05fRkFJTFVSRV9ESVJFQ1RPUllfU1VCTU9EVUxFX0NPTkZMSUNUUyIgPSAxCisJdGhlbgorCQlSRVNVTFREUz1mYWlsdXJlCisJZmkKKwlSRVNVTFRPST1zdWNjZXNzCisJaWYgdGVzdCAiJEtOT1dOX0ZBSUxVUkVfU1VCTU9EVUxFX09WRVJXUklURV9JR05PUkVEX1VOVFJBQ0tFRCIgPSAxCisJdGhlbgorCQlSRVNVTFRPST1mYWlsdXJlCisJZmkKKwkjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEFwcGVhcmluZyBzdWJtb2R1bGUgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCSMgU3dpdGNoaW5nIHRvIGEgY29tbWl0IGxldHRpbmcgYSBzdWJtb2R1bGUgYXBwZWFyIGNoZWNrcyBpdCBvdXQgLi4uCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IGFkZGVkIHN1Ym1vZHVsZSBpcyBjaGVja2VkIG91dCIgJworCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgbm9fc3VibW9kdWxlICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgYWRkX3N1YjEgb3JpZ2luL2FkZF9zdWIxICYmCisJCQkkY29tbWFuZCBhZGRfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vYWRkX3N1YjEgJiYKKwkJCXRlc3Rfc3VibW9kdWxlX2NvbnRlbnQgc3ViMSBvcmlnaW4vYWRkX3N1YjEKKwkJKQorCScKKwkjIC4uLiBpZ25vcmluZyBhbiBlbXB0eSBleGlzdGluZyBkaXJlY3RvcnkgLi4uCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IGFkZGVkIHN1Ym1vZHVsZSBpcyBjaGVja2VkIG91dCBpbiBlbXB0eSBkaXIiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIG5vX3N1Ym1vZHVsZSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlta2RpciBzdWIxICYmCisJCQlnaXQgYnJhbmNoIC10IGFkZF9zdWIxIG9yaWdpbi9hZGRfc3ViMSAmJgorCQkJJGNvbW1hbmQgYWRkX3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL2FkZF9zdWIxICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL2FkZF9zdWIxCisJCSkKKwknCisJIyAuLi4gdW5sZXNzIHRoZXJlIGlzIGFuIHVudHJhY2tlZCBmaWxlIGluIGl0cyBwbGFjZS4KKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogYWRkZWQgc3VibW9kdWxlIGRvZXNuJ3QgcmVtb3ZlIHVudHJhY2tlZCBmaWxlIHdpdGggc2FtZSBuYW1lIiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCBub19zdWJtb2R1bGUgJiYKKwkJKAorCQkJY2Qgc3VibW9kdWxlX3VwZGF0ZSAmJgorCQkJZ2l0IGJyYW5jaCAtdCBhZGRfc3ViMSBvcmlnaW4vYWRkX3N1YjEgJiYKKwkJCTogPnN1YjEgJiYKKwkJCXRlc3RfbXVzdF9mYWlsICRjb21tYW5kIGFkZF9zdWIxICYmCisJCQl0ZXN0X3N1cGVycHJvamVjdF9jb250ZW50IG9yaWdpbi9ub19zdWJtb2R1bGUgJiYKKwkJCXRlc3RfbXVzdF9iZV9lbXB0eSBzdWIxCisJCSkKKwknCisJIyAuLi4gYnV0IGFuIGlnbm9yZWQgZmlsZSBpcyBmaW5lLgorCXRlc3RfZXhwZWN0XyRSRVNVTFRPSSAiJGNvbW1hbmQ6IGFkZGVkIHN1Ym1vZHVsZSByZW1vdmVzIGFuIHVudHJhY2tlZCBpZ25vcmVkIGZpbGUiICcKKwkJdGVzdF93aGVuX2ZpbmlzaGVkICJybSBzdWJtb2R1bGVfdXBkYXRlLy5naXQvaW5mby9leGNsdWRlIiAmJgorCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgbm9fc3VibW9kdWxlICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgYWRkX3N1YjEgb3JpZ2luL2FkZF9zdWIxICYmCisJCQk6ID5zdWIxICYmCisJCQllY2hvIHN1YjEgPi5naXQvaW5mby9leGNsdWRlCisJCQkkY29tbWFuZCBhZGRfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vYWRkX3N1YjEgJiYKKwkJCXRlc3Rfc3VibW9kdWxlX2NvbnRlbnQgc3ViMSBvcmlnaW4vYWRkX3N1YjEKKwkJKQorCScKKwkjIFJlcGxhY2luZyBhIHRyYWNrZWQgZmlsZSB3aXRoIGEgc3VibW9kdWxlIHByb2R1Y2VzIGEgY2hlY2tlZCBvdXQgc3VibW9kdWxlCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IHJlcGxhY2UgdHJhY2tlZCBmaWxlIHdpdGggc3VibW9kdWxlIGNoZWNrcyBvdXQgc3VibW9kdWxlIiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCByZXBsYWNlX3N1YjFfd2l0aF9maWxlICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgcmVwbGFjZV9maWxlX3dpdGhfc3ViMSBvcmlnaW4vcmVwbGFjZV9maWxlX3dpdGhfc3ViMSAmJgorCQkJJGNvbW1hbmQgcmVwbGFjZV9maWxlX3dpdGhfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vcmVwbGFjZV9maWxlX3dpdGhfc3ViMSAmJgorCQkJdGVzdF9zdWJtb2R1bGVfY29udGVudCBzdWIxIG9yaWdpbi9yZXBsYWNlX2ZpbGVfd2l0aF9zdWIxCisJCSkKKwknCisJIyAuLi4gYXMgZG9lcyByZW1vdmluZyBhIGRpcmVjdG9yeSB3aXRoIHRyYWNrZWQgZmlsZXMgd2l0aCBhIHN1Ym1vZHVsZS4KKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogcmVwbGFjZSBkaXJlY3Rvcnkgd2l0aCBzdWJtb2R1bGUiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIHJlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IHJlcGxhY2VfZGlyZWN0b3J5X3dpdGhfc3ViMSBvcmlnaW4vcmVwbGFjZV9kaXJlY3Rvcnlfd2l0aF9zdWIxICYmCisJCQkkY29tbWFuZCByZXBsYWNlX2RpcmVjdG9yeV93aXRoX3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL3JlcGxhY2VfZGlyZWN0b3J5X3dpdGhfc3ViMSAmJgorCQkJdGVzdF9zdWJtb2R1bGVfY29udGVudCBzdWIxIG9yaWdpbi9yZXBsYWNlX2RpcmVjdG9yeV93aXRoX3N1YjEKKwkJKQorCScKKworCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBEaXNhcHBlYXJpbmcgc3VibW9kdWxlICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisJIyBSZW1vdmluZyBhIHN1Ym1vZHVsZSByZW1vdmVzIGl0cyB3b3JrIHRyZWUgLi4uCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IHJlbW92ZWQgc3VibW9kdWxlIHJlbW92ZXMgc3VibW9kdWxlcyB3b3JraW5nIHRyZWUiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgcmVtb3ZlX3N1YjEgb3JpZ2luL3JlbW92ZV9zdWIxICYmCisJCQkkY29tbWFuZCByZW1vdmVfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vcmVtb3ZlX3N1YjEgJiYKKwkJCSEgdGVzdCAtZSBzdWIxCisJCSkKKwknCisJIyAuLi4gYWJzb3JiaW5nIGEgLmdpdCBkaXJlY3RvcnkgYWxvbmcgdGhlIHdheS4KKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogcmVtb3ZlZCBzdWJtb2R1bGUgYWJzb3JicyBzdWJtb2R1bGVzIC5naXQgZGlyZWN0b3J5IiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCBhZGRfc3ViMSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IHJlbW92ZV9zdWIxIG9yaWdpbi9yZW1vdmVfc3ViMSAmJgorCQkJcmVwbGFjZV9naXRmaWxlX3dpdGhfZ2l0X2RpciBzdWIxICYmCisJCQlybSAtcmYgLmdpdC9tb2R1bGVzICYmCisJCQkkY29tbWFuZCByZW1vdmVfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vcmVtb3ZlX3N1YjEgJiYKKwkJCSEgdGVzdCAtZSBzdWIxICYmCisJCQl0ZXN0X2dpdF9kaXJlY3RvcnlfZXhpc3RzIHN1YjEKKwkJKQorCScKKwkjIFJlcGxhY2luZyBhIHN1Ym1vZHVsZSB3aXRoIGZpbGVzIGluIGEgZGlyZWN0b3J5IG11c3Qgc3VjY2VlZHMKKwkjIHdoZW4gdGhlIHN1Ym1vZHVsZSBpcyBjbGVhbgorCXRlc3RfZXhwZWN0XyRSRVNVTFREUyAiJGNvbW1hbmQ6IHJlcGxhY2Ugc3VibW9kdWxlIHdpdGggYSBkaXJlY3RvcnkiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgcmVwbGFjZV9zdWIxX3dpdGhfZGlyZWN0b3J5IG9yaWdpbi9yZXBsYWNlX3N1YjFfd2l0aF9kaXJlY3RvcnkgJiYKKwkJCSRjb21tYW5kIHJlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZGlyZWN0b3J5ICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL3JlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeQorCQkpCisJJworCSMgLi4uIGFic29yYmluZyBhIC5naXQgZGlyZWN0b3J5LgorCXRlc3RfZXhwZWN0XyRSRVNVTFREUyAiJGNvbW1hbmQ6IHJlcGxhY2Ugc3VibW9kdWxlIGNvbnRhaW5pbmcgYSAuZ2l0IGRpcmVjdG9yeSB3aXRoIGEgZGlyZWN0b3J5IG11c3QgYWJzb3JiIHRoZSBnaXQgZGlyIiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCBhZGRfc3ViMSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IHJlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeSBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZGlyZWN0b3J5ICYmCisJCQlyZXBsYWNlX2dpdGZpbGVfd2l0aF9naXRfZGlyIHN1YjEgJiYKKwkJCXJtIC1yZiAuZ2l0L21vZHVsZXMgJiYKKwkJCSRjb21tYW5kIHJlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZGlyZWN0b3J5ICYmCisJCQl0ZXN0X2dpdF9kaXJlY3RvcnlfZXhpc3RzIHN1YjEKKwkJKQorCScKKworCSMgUmVwbGFjaW5nIGl0IHdpdGggYSBmaWxlIC4uLgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiByZXBsYWNlIHN1Ym1vZHVsZSB3aXRoIGEgZmlsZSIgJworCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgYWRkX3N1YjEgJiYKKwkJKAorCQkJY2Qgc3VibW9kdWxlX3VwZGF0ZSAmJgorCQkJZ2l0IGJyYW5jaCAtdCByZXBsYWNlX3N1YjFfd2l0aF9maWxlIG9yaWdpbi9yZXBsYWNlX3N1YjFfd2l0aF9maWxlICYmCisJCQkkY29tbWFuZCByZXBsYWNlX3N1YjFfd2l0aF9maWxlICYmCisJCQl0ZXN0X3N1cGVycHJvamVjdF9jb250ZW50IG9yaWdpbi9yZXBsYWNlX3N1YjFfd2l0aF9maWxlICYmCisJCQl0ZXN0IC1mIHN1YjEKKwkJKQorCScKKworCSMgLi4uIG11c3QgY2hlY2sgaXRzIGxvY2FsIHdvcmsgdHJlZSBmb3IgdW50cmFja2VkIGZpbGVzCisJdGVzdF9leHBlY3RfJFJFU1VMVERTICIkY29tbWFuZDogcmVwbGFjZSBzdWJtb2R1bGUgd2l0aCBhIGZpbGUgbXVzdCBmYWlsIHdpdGggdW50cmFja2VkIGZpbGVzIiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCBhZGRfc3ViMSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IHJlcGxhY2Vfc3ViMV93aXRoX2ZpbGUgb3JpZ2luL3JlcGxhY2Vfc3ViMV93aXRoX2ZpbGUgJiYKKwkJCTogPnN1YjEvdW50cmFja2VkZmlsZSAmJgorCQkJdGVzdF9tdXN0X2ZhaWwgJGNvbW1hbmQgcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vYWRkX3N1YjEgJiYKKwkJCXRlc3Rfc3VibW9kdWxlX2NvbnRlbnQgc3ViMSBvcmlnaW4vYWRkX3N1YjEKKwkJKQorCScKKworCSMgLi4uIGFuZCBpZ25vcmVkIGZpbGVzIGFyZSBpZ25vcmVkCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IHJlcGxhY2Ugc3VibW9kdWxlIHdpdGggYSBmaWxlIHdvcmtzIGlnbm9yZXMgaWdub3JlZCBmaWxlcyBpbiBzdWJtb2R1bGUiICcKKwkJdGVzdF93aGVuX2ZpbmlzaGVkICJybSBzdWJtb2R1bGVfdXBkYXRlLy5naXQvbW9kdWxlcy9zdWIxL2luZm8vZXhjbHVkZSIgJiYKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSAmJgorCQkJOiA+c3ViMS9pZ25vcmVkICYmCisJCQkkY29tbWFuZCByZXBsYWNlX3N1YjFfd2l0aF9maWxlICYmCisJCQl0ZXN0X3N1cGVycHJvamVjdF9jb250ZW50IG9yaWdpbi9yZXBsYWNlX3N1YjFfd2l0aF9maWxlICYmCisJCQl0ZXN0IC1mIHN1YjEKKwkJKQorCScKKworCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIE1vZGlmaWVkIHN1Ym1vZHVsZSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisJIyBVcGRhdGluZyBhIHN1Ym1vZHVsZSBzaGExIHVwZGF0ZXMgdGhlIHN1Ym1vZHVsZSdzIHdvcmsgdHJlZQorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiBtb2RpZmllZCBzdWJtb2R1bGUgdXBkYXRlcyBzdWJtb2R1bGUgd29yayB0cmVlIiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCBhZGRfc3ViMSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IG1vZGlmeV9zdWIxIG9yaWdpbi9tb2RpZnlfc3ViMSAmJgorCQkJJGNvbW1hbmQgbW9kaWZ5X3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL21vZGlmeV9zdWIxICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL21vZGlmeV9zdWIxCisJCSkKKwknCisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJnaXQgLWMgc3VibW9kdWxlLnJlY3Vyc2U9dHJ1ZSAkY21kX2FyZ3M6IG1vZGlmaWVkIHN1Ym1vZHVsZSB1cGRhdGVzIHN1Ym1vZHVsZSB3b3JrIHRyZWUiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgbW9kaWZ5X3N1YjEgb3JpZ2luL21vZGlmeV9zdWIxICYmCisJCQlnaXQgLWMgc3VibW9kdWxlLnJlY3Vyc2U9dHJ1ZSAkY21kX2FyZ3MgbW9kaWZ5X3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL21vZGlmeV9zdWIxICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL21vZGlmeV9zdWIxCisJCSkKKwknCisKKwkjIFVwZGF0aW5nIGEgc3VibW9kdWxlIHRvIGFuIGludmFsaWQgc2hhMSBkb2Vzbid0IHVwZGF0ZSB0aGUKKwkjIHN1cGVycHJvamVjdCBub3IgdGhlIHN1Ym1vZHVsZSdzIHdvcmsgdHJlZS4KKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogdXBkYXRpbmcgdG8gYSBtaXNzaW5nIHN1Ym1vZHVsZSBjb21taXQgZmFpbHMiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgaW52YWxpZF9zdWIxIG9yaWdpbi9pbnZhbGlkX3N1YjEgJiYKKwkJCXRlc3RfbXVzdF9mYWlsICRjb21tYW5kIGludmFsaWRfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vYWRkX3N1YjEgJiYKKwkJCXRlc3Rfc3VibW9kdWxlX2NvbnRlbnQgc3ViMSBvcmlnaW4vYWRkX3N1YjEKKwkJKQorCScKKworCSMgcmVjdXJzaW5nIGRlZXBlciB0aGFuIG9uZSBsZXZlbCBkb2Vzbid0IHdvcmsgeWV0LgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiBtb2RpZmllZCBzdWJtb2R1bGUgdXBkYXRlcyBzdWJtb2R1bGUgcmVjdXJzaXZlbHkiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9uZXN0ZWRfc3ViICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgbW9kaWZ5X3N1YjFfcmVjdXJzaXZlbHkgb3JpZ2luL21vZGlmeV9zdWIxX3JlY3Vyc2l2ZWx5ICYmCisJCQkkY29tbWFuZCBtb2RpZnlfc3ViMV9yZWN1cnNpdmVseSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vbW9kaWZ5X3N1YjFfcmVjdXJzaXZlbHkgJiYKKwkJCXRlc3Rfc3VibW9kdWxlX2NvbnRlbnQgc3ViMSBvcmlnaW4vbW9kaWZ5X3N1YjFfcmVjdXJzaXZlbHkgJiYKKwkJCXRlc3Rfc3VibW9kdWxlX2NvbnRlbnQgLUMgc3ViMSBzdWIyIG9yaWdpbi9tb2RpZnlfc3ViMV9yZWN1cnNpdmVseQorCQkpCisJJworfQorCisjIFRlc3QgdGhhdCBzdWJtb2R1bGUgY29udGVudHMgYXJlIHVwZGF0ZWQgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBjb21taXRzCisjIHRoYXQgY2hhbmdlIGEgc3VibW9kdWxlLCBidXQgdGhyb3dpbmcgYXdheSBsb2NhbCBjaGFuZ2VzIGluCisjIHRoZSBzdXBlcnByb2plY3QgYXMgd2VsbCBhcyB0aGUgc3VibW9kdWxlIGlzIGFsbG93ZWQuCit0ZXN0X3N1Ym1vZHVsZV9mb3JjZWRfc3dpdGNoX3JlY3Vyc2luZ193aXRoX2FyZ3MgKCkgeworCWNtZF9hcmdzPSIkMSIKKwljb21tYW5kPSJnaXQgJGNtZF9hcmdzIC0tcmVjdXJzZS1zdWJtb2R1bGVzIgorCVJFU1VMVD1zdWNjZXNzCisJaWYgdGVzdCAiJEtOT1dOX0ZBSUxVUkVfRElSRUNUT1JZX1NVQk1PRFVMRV9DT05GTElDVFMiID0gMQorCXRoZW4KKwkJUkVTVUxUPWZhaWx1cmUKKwlmaQorCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgQXBwZWFyaW5nIHN1Ym1vZHVsZSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisJIyBTd2l0Y2hpbmcgdG8gYSBjb21taXQgbGV0dGluZyBhIHN1Ym1vZHVsZSBhcHBlYXIgY3JlYXRlcyBlbXB0eSBkaXIgLi4uCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IGFkZGVkIHN1Ym1vZHVsZSBpcyBjaGVja2VkIG91dCIgJworCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgbm9fc3VibW9kdWxlICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgYWRkX3N1YjEgb3JpZ2luL2FkZF9zdWIxICYmCisJCQkkY29tbWFuZCBhZGRfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vYWRkX3N1YjEgJiYKKwkJCXRlc3Rfc3VibW9kdWxlX2NvbnRlbnQgc3ViMSBvcmlnaW4vYWRkX3N1YjEKKwkJKQorCScKKwkjIC4uLiBhbmQgZG9lc24ndCBjYXJlIGlmIGl0IGFscmVhZHkgZXhpc3RzIC4uLgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiBhZGRlZCBzdWJtb2R1bGUgaWdub3JlcyBlbXB0eSBkaXJlY3RvcnkiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIG5vX3N1Ym1vZHVsZSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IGFkZF9zdWIxIG9yaWdpbi9hZGRfc3ViMSAmJgorCQkJbWtkaXIgc3ViMSAmJgorCQkJJGNvbW1hbmQgYWRkX3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL2FkZF9zdWIxICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL2FkZF9zdWIxCisJCSkKKwknCisJIyAuLi4gbm90IGNhcmluZyBhYm91dCBhbiB1bnRyYWNrZWQgZmlsZSBlaXRoZXIKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogYWRkZWQgc3VibW9kdWxlIGRvZXMgcmVtb3ZlIHVudHJhY2tlZCB1bmlnbm9yZWQgZmlsZSB3aXRoIHNhbWUgbmFtZSB3aGVuIGZvcmNlZCIgJworCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgbm9fc3VibW9kdWxlICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgYWRkX3N1YjEgb3JpZ2luL2FkZF9zdWIxICYmCisJCQk+c3ViMSAmJgorCQkJJGNvbW1hbmQgYWRkX3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL2FkZF9zdWIxICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL2FkZF9zdWIxCisJCSkKKwknCisJIyBSZXBsYWNpbmcgYSB0cmFja2VkIGZpbGUgd2l0aCBhIHN1Ym1vZHVsZSBjaGVja3Mgb3V0IHRoZSBzdWJtb2R1bGUKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogcmVwbGFjZSB0cmFja2VkIGZpbGUgd2l0aCBzdWJtb2R1bGUgcG9wdWxhdGVzIHRoZSBzdWJtb2R1bGUiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIHJlcGxhY2Vfc3ViMV93aXRoX2ZpbGUgJiYKKwkJKAorCQkJY2Qgc3VibW9kdWxlX3VwZGF0ZSAmJgorCQkJZ2l0IGJyYW5jaCAtdCByZXBsYWNlX2ZpbGVfd2l0aF9zdWIxIG9yaWdpbi9yZXBsYWNlX2ZpbGVfd2l0aF9zdWIxICYmCisJCQkkY29tbWFuZCByZXBsYWNlX2ZpbGVfd2l0aF9zdWIxICYmCisJCQl0ZXN0X3N1cGVycHJvamVjdF9jb250ZW50IG9yaWdpbi9yZXBsYWNlX2ZpbGVfd2l0aF9zdWIxICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL3JlcGxhY2VfZmlsZV93aXRoX3N1YjEKKwkJKQorCScKKwkjIC4uLiBhcyBkb2VzIHJlbW92aW5nIGEgZGlyZWN0b3J5IHdpdGggdHJhY2tlZCBmaWxlcyB3aXRoIGEKKwkjIHN1Ym1vZHVsZS4KKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogcmVwbGFjZSBkaXJlY3Rvcnkgd2l0aCBzdWJtb2R1bGUiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIHJlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IHJlcGxhY2VfZGlyZWN0b3J5X3dpdGhfc3ViMSBvcmlnaW4vcmVwbGFjZV9kaXJlY3Rvcnlfd2l0aF9zdWIxICYmCisJCQkkY29tbWFuZCByZXBsYWNlX2RpcmVjdG9yeV93aXRoX3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL3JlcGxhY2VfZGlyZWN0b3J5X3dpdGhfc3ViMSAmJgorCQkJdGVzdF9zdWJtb2R1bGVfY29udGVudCBzdWIxIG9yaWdpbi9yZXBsYWNlX2RpcmVjdG9yeV93aXRoX3N1YjEKKwkJKQorCScKKworCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBEaXNhcHBlYXJpbmcgc3VibW9kdWxlICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisJIyBSZW1vdmluZyBhIHN1Ym1vZHVsZSBkb2Vzbid0IHJlbW92ZSBpdHMgd29yayB0cmVlIC4uLgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiByZW1vdmVkIHN1Ym1vZHVsZSBsZWF2ZXMgc3VibW9kdWxlIGRpcmVjdG9yeSBhbmQgaXRzIGNvbnRlbnRzIGluIHBsYWNlIiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCBhZGRfc3ViMSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IHJlbW92ZV9zdWIxIG9yaWdpbi9yZW1vdmVfc3ViMSAmJgorCQkJJGNvbW1hbmQgcmVtb3ZlX3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL3JlbW92ZV9zdWIxICYmCisJCQkhIHRlc3QgLWUgc3ViMQorCQkpCisJJworCSMgLi4uIGVzcGVjaWFsbHkgd2hlbiBpdCBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5LgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiByZW1vdmVkIHN1Ym1vZHVsZSBsZWF2ZXMgc3VibW9kdWxlIGNvbnRhaW5pbmcgYSAuZ2l0IGRpcmVjdG9yeSBhbG9uZSIgJworCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgYWRkX3N1YjEgJiYKKwkJKAorCQkJY2Qgc3VibW9kdWxlX3VwZGF0ZSAmJgorCQkJZ2l0IGJyYW5jaCAtdCByZW1vdmVfc3ViMSBvcmlnaW4vcmVtb3ZlX3N1YjEgJiYKKwkJCXJlcGxhY2VfZ2l0ZmlsZV93aXRoX2dpdF9kaXIgc3ViMSAmJgorCQkJcm0gLXJmIC5naXQvbW9kdWxlcy9zdWIxICYmCisJCQkkY29tbWFuZCByZW1vdmVfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vcmVtb3ZlX3N1YjEgJiYKKwkJCXRlc3RfZ2l0X2RpcmVjdG9yeV9leGlzdHMgc3ViMSAmJgorCQkJISB0ZXN0IC1lIHN1YjEKKwkJKQorCScKKwkjIFJlcGxhY2luZyBhIHN1Ym1vZHVsZSB3aXRoIGZpbGVzIGluIGEgZGlyZWN0b3J5IC4uLgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiByZXBsYWNlIHN1Ym1vZHVsZSB3aXRoIGEgZGlyZWN0b3J5IiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCBhZGRfc3ViMSAmJgorCQkoCisJCQljZCBzdWJtb2R1bGVfdXBkYXRlICYmCisJCQlnaXQgYnJhbmNoIC10IHJlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeSBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZGlyZWN0b3J5ICYmCisJCQkkY29tbWFuZCByZXBsYWNlX3N1YjFfd2l0aF9kaXJlY3RvcnkgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL3JlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeQorCQkpCisJJworCSMgLi4uIGFic29yYmluZyBhIC5naXQgZGlyZWN0b3J5LgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiByZXBsYWNlIHN1Ym1vZHVsZSBjb250YWluaW5nIGEgLmdpdCBkaXJlY3Rvcnkgd2l0aCBhIGRpcmVjdG9yeSBtdXN0IGZhaWwiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgcmVwbGFjZV9zdWIxX3dpdGhfZGlyZWN0b3J5IG9yaWdpbi9yZXBsYWNlX3N1YjFfd2l0aF9kaXJlY3RvcnkgJiYKKwkJCXJlcGxhY2VfZ2l0ZmlsZV93aXRoX2dpdF9kaXIgc3ViMSAmJgorCQkJcm0gLXJmIC5naXQvbW9kdWxlcy9zdWIxICYmCisJCQkkY29tbWFuZCByZXBsYWNlX3N1YjFfd2l0aF9kaXJlY3RvcnkgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL3JlcGxhY2Vfc3ViMV93aXRoX2RpcmVjdG9yeSAmJgorCQkJdGVzdF9zdWJtb2R1bGVfY29udGVudCBzdWIxIG9yaWdpbi9tb2RpZnlfc3ViMQorCQkJdGVzdF9naXRfZGlyZWN0b3J5X2V4aXN0cyBzdWIxCisJCSkKKwknCisJIyBSZXBsYWNpbmcgaXQgd2l0aCBhIGZpbGUKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogcmVwbGFjZSBzdWJtb2R1bGUgd2l0aCBhIGZpbGUiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSAmJgorCQkJJGNvbW1hbmQgcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZmlsZQorCQkpCisJJworCisJIyAuLi4gZXZlbiBpZiB0aGUgc3VibW9kdWxlIGNvbnRhaW5zIGlnbm9yZWQgZmlsZXMKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICIkY29tbWFuZDogcmVwbGFjZSBzdWJtb2R1bGUgd2l0aCBhIGZpbGUgaWdub3JpbmcgaWdub3JlZCBmaWxlcyIgJworCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgYWRkX3N1YjEgJiYKKwkJKAorCQkJY2Qgc3VibW9kdWxlX3VwZGF0ZSAmJgorCQkJZ2l0IGJyYW5jaCAtdCByZXBsYWNlX3N1YjFfd2l0aF9maWxlIG9yaWdpbi9yZXBsYWNlX3N1YjFfd2l0aF9maWxlICYmCisJCQk6ID5zdWIxL2V4cGVjdCAmJgorCQkJJGNvbW1hbmQgcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZmlsZQorCQkpCisJJworCisJIyAuLi4gYnV0IHN0b3BzIGZvciB1bnRyYWNrZWQgZmlsZXMgdGhhdCB3b3VsZCBiZSBsb3N0CisJdGVzdF9leHBlY3RfJFJFU1VMVCAiJGNvbW1hbmQ6IHJlcGxhY2Ugc3VibW9kdWxlIHdpdGggYSBmaWxlIHN0b3BzIGZvciB1bnRyYWNrZWQgZmlsZXMiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSBvcmlnaW4vcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSAmJgorCQkJOiA+c3ViMS91bnRyYWNrZWRfZmlsZSAmJgorCQkJdGVzdF9tdXN0X2ZhaWwgJGNvbW1hbmQgcmVwbGFjZV9zdWIxX3dpdGhfZmlsZSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vYWRkX3N1YjEgJiYKKwkJCXRlc3QgLWYgc3ViMS91bnRyYWNrZWRfZmlsZQorCQkpCisJJworCisJIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgTW9kaWZpZWQgc3VibW9kdWxlICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwkjIFVwZGF0aW5nIGEgc3VibW9kdWxlIHNoYTEgdXBkYXRlcyB0aGUgc3VibW9kdWxlJ3Mgd29yayB0cmVlCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IG1vZGlmaWVkIHN1Ym1vZHVsZSB1cGRhdGVzIHN1Ym1vZHVsZSB3b3JrIHRyZWUiICcKKwkJcHJvbG9nICYmCisJCXJlc2V0X3dvcmtfdHJlZV90b19pbnRlcmVzdGVkIGFkZF9zdWIxICYmCisJCSgKKwkJCWNkIHN1Ym1vZHVsZV91cGRhdGUgJiYKKwkJCWdpdCBicmFuY2ggLXQgbW9kaWZ5X3N1YjEgb3JpZ2luL21vZGlmeV9zdWIxICYmCisJCQkkY29tbWFuZCBtb2RpZnlfc3ViMSAmJgorCQkJdGVzdF9zdXBlcnByb2plY3RfY29udGVudCBvcmlnaW4vbW9kaWZ5X3N1YjEgJiYKKwkJCXRlc3Rfc3VibW9kdWxlX2NvbnRlbnQgc3ViMSBvcmlnaW4vbW9kaWZ5X3N1YjEKKwkJKQorCScKKwkjIFVwZGF0aW5nIGEgc3VibW9kdWxlIHRvIGFuIGludmFsaWQgc2hhMSBkb2Vzbid0IHVwZGF0ZSB0aGUKKwkjIHN1Ym1vZHVsZSdzIHdvcmsgdHJlZSwgc3Vic2VxdWVudCB1cGRhdGUgd2lsbCBmYWlsCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IG1vZGlmaWVkIHN1Ym1vZHVsZSBkb2VzIG5vdCB1cGRhdGUgc3VibW9kdWxlIHdvcmsgdHJlZSB0byBpbnZhbGlkIGNvbW1pdCIgJworCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgYWRkX3N1YjEgJiYKKwkJKAorCQkJY2Qgc3VibW9kdWxlX3VwZGF0ZSAmJgorCQkJZ2l0IGJyYW5jaCAtdCBpbnZhbGlkX3N1YjEgb3JpZ2luL2ludmFsaWRfc3ViMSAmJgorCQkJdGVzdF9tdXN0X2ZhaWwgJGNvbW1hbmQgaW52YWxpZF9zdWIxICYmCisJCQl0ZXN0X3N1cGVycHJvamVjdF9jb250ZW50IG9yaWdpbi9hZGRfc3ViMSAmJgorCQkJdGVzdF9zdWJtb2R1bGVfY29udGVudCBzdWIxIG9yaWdpbi9hZGRfc3ViMQorCQkpCisJJworCSMgVXBkYXRpbmcgYSBzdWJtb2R1bGUgZnJvbSBhbiBpbnZhbGlkIHNoYTEgdXBkYXRlcworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjb21tYW5kOiBtb2RpZmllZCBzdWJtb2R1bGUgZG9lcyB1cGRhdGUgc3VibW9kdWxlIHdvcmsgdHJlZSBmcm9tIGludmFsaWQgY29tbWl0IiAnCisJCXByb2xvZyAmJgorCQlyZXNldF93b3JrX3RyZWVfdG9faW50ZXJlc3RlZCBpbnZhbGlkX3N1YjEgJiYKKwkJKAorCQkJY2Qgc3VibW9kdWxlX3VwZGF0ZSAmJgorCQkJZ2l0IGJyYW5jaCAtdCB2YWxpZF9zdWIxIG9yaWdpbi92YWxpZF9zdWIxICYmCisJCQkkY29tbWFuZCB2YWxpZF9zdWIxICYmCisJCQl0ZXN0X3N1cGVycHJvamVjdF9jb250ZW50IG9yaWdpbi92YWxpZF9zdWIxICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL3ZhbGlkX3N1YjEKKwkJKQorCScKKworCSMgT2xkIHZlcnNpb25zIG9mIEdpdCB3ZXJlIGJ1Z2d5IHdyaXRpbmcgdGhlIC5naXQgbGluayBmaWxlCisJIyAoZS5nLiBiZWZvcmUgZjhlYWEwYmE5OGIgYW5kIHRoZW4gbW92aW5nIHRoZSBzdXBlcnByb2plY3QgcmVwbworCSMgd2hvc2Ugc3VibW9kdWxlcyBjb250YWluZWQgYWJzb2x1dGUgcGF0aHMpCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGNvbW1hbmQ6IHVwZGF0aW5nIHN1Ym1vZHVsZXMgZml4ZXMgLmdpdCBsaW5rcyIgJworCQlwcm9sb2cgJiYKKwkJcmVzZXRfd29ya190cmVlX3RvX2ludGVyZXN0ZWQgYWRkX3N1YjEgJiYKKwkJKAorCQkJY2Qgc3VibW9kdWxlX3VwZGF0ZSAmJgorCQkJZ2l0IGJyYW5jaCAtdCBtb2RpZnlfc3ViMSBvcmlnaW4vbW9kaWZ5X3N1YjEgJiYKKwkJCWVjaG8gImdpdGRpcjogYm9ndXMvcGF0aCIgPnN1YjEvLmdpdCAmJgorCQkJJGNvbW1hbmQgbW9kaWZ5X3N1YjEgJiYKKwkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL21vZGlmeV9zdWIxICYmCisJCQl0ZXN0X3N1Ym1vZHVsZV9jb250ZW50IHN1YjEgb3JpZ2luL21vZGlmeV9zdWIxCisJCSkKKwknCit9CmRpZmYgLS1naXQgYS90L3BlcmYvUkVBRE1FIGIvdC9wZXJmL1JFQURNRQppbmRleCA0OWVhNDM0Li4yMTMyMWEwIDEwMDY0NAotLS0gYS90L3BlcmYvUkVBRE1FCisrKyBiL3QvcGVyZi9SRUFETUUKQEAgLTYwLDcgKzYwLDIyIEBACiAKICAgICBHSVRfUEVSRl9NQUtFX09QVFMKIAlPcHRpb25zIHRvIHVzZSB3aGVuIGF1dG9tYXRpY2FsbHkgYnVpbGRpbmcgYSBnaXQgdHJlZSBmb3IKLQlwZXJmb3JtYW5jZSB0ZXN0aW5nLiAgRS5nLiwgLWo2IHdvdWxkIGJlIHVzZWZ1bC4KKwlwZXJmb3JtYW5jZSB0ZXN0aW5nLiBFLmcuLCAtajYgd291bGQgYmUgdXNlZnVsLiBQYXNzZWQKKwlkaXJlY3RseSB0byBtYWtlIGFzICJtYWtlICRHSVRfUEVSRl9NQUtFX09QVFMiLgorCisgICAgR0lUX1BFUkZfTUFLRV9DT01NQU5ECisJQW4gYXJiaXRyYXJ5IGNvbW1hbmQgdGhhdCdsbCBiZSBydW4gaW4gcGxhY2Ugb2YgdGhlIG1ha2UKKwljb21tYW5kLCBpZiBzZXQgdGhlIEdJVF9QRVJGX01BS0VfT1BUUyB2YXJpYWJsZSBpcworCWlnbm9yZWQuIFVzZWZ1bCBpbiBjYXNlcyB3aGVyZSBzb3VyY2UgdHJlZSBjaGFuZ2VzIG1pZ2h0CisJcmVxdWlyZSBpc3N1aW5nIGEgZGlmZmVyZW50IG1ha2UgY29tbWFuZCB0byBkaWZmZXJlbnQKKwlyZXZpc2lvbnMuCisKKwlUaGlzIGNhbiBiZSAoYWIpdXNlZCB0byBtb25rZXlwYXRjaCBvciBvdGhlcndpc2UgY2hhbmdlIHRoZQorCXRyZWUgYWJvdXQgdG8gYmUgYnVpbHQuIE5vdGUgdGhhdCB0aGUgYnVpbGQgZGlyZWN0b3J5IGNhbiBiZQorCXJlLXVzZWQgZm9yIHN1YnNlcXVlbnQgcnVucyBzbyB0aGUgbWFrZSBjb21tYW5kIG1pZ2h0IGdldAorCWV4ZWN1dGVkIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIHRyZWUsIGJ1dCBkb24ndCBjb3VudCBvbgorCWFueSBvZiB0aGF0LCB0aGF0J3MgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIHRoYXQgbWlnaHQgY2hhbmdlCisJaW4gdGhlIGZ1dHVyZS4KIAogICAgIEdJVF9QRVJGX1JFUE8KICAgICBHSVRfUEVSRl9MQVJHRV9SRVBPCkBAIC0xMDYsNiArMTIxLDcgQEAKIAogQWZ0ZXIgdGhhdCB5b3Ugd2lsbCB3YW50IHRvIHVzZSBzb21lIG9mIHRoZSBmb2xsb3dpbmc6CiAKKwl0ZXN0X3BlcmZfZnJlc2hfcmVwbyAgICAjIHNldHMgdXAgYW4gZW1wdHkgcmVwb3NpdG9yeQogCXRlc3RfcGVyZl9kZWZhdWx0X3JlcG8gICMgc2V0cyB1cCBhICJub3JtYWwiIHJlcG9zaXRvcnkKIAl0ZXN0X3BlcmZfbGFyZ2VfcmVwbyAgICAjIHNldHMgdXAgYSAibGFyZ2UiIHJlcG9zaXRvcnkKIApkaWZmIC0tZ2l0IGEvdC9wZXJmL2FnZ3JlZ2F0ZS5wZXJsIGIvdC9wZXJmL2FnZ3JlZ2F0ZS5wZXJsCmluZGV4IDkyNGIxOWQuLjFkYmM4NWIgMTAwNzU1Ci0tLSBhL3QvcGVyZi9hZ2dyZWdhdGUucGVybAorKysgYi90L3BlcmYvYWdncmVnYXRlLnBlcmwKQEAgLTg4LDYgKzg4LDcgQEAKIHN1YiByZWFkX2Rlc2NyIHsKIAlteSAkbmFtZSA9IHNoaWZ0OwogCW9wZW4gbXkgJGZoLCAiPCIsICRuYW1lIG9yIHJldHVybiAiPGVycm9yIHJlYWRpbmcgZGVzY3JpcHRpb24+IjsKKwliaW5tb2RlICRmaCwgIjp1dGY4IiBvciBkaWUgIlBBTklDIG9uIGJpbm1vZGU6ICQhIjsKIAlteSAkbGluZSA9IDwkZmg+OwogCWNsb3NlICRmaCBvciBkaWUgImNhbm5vdCBjbG9zZSAkbmFtZSI7CiAJY2hvbXAgJGxpbmU7CkBAIC0xNDcsNiArMTQ4LDggQEAKIG15ICR0b3RhbHdpZHRoID0gMypAZGlycyskZGVzY3JsZW47CiAkdG90YWx3aWR0aCArPSAkXyBmb3IgKEBjb2x3aWR0aCk7CiAKK2Jpbm1vZGUgU1RET1VULCAiOnV0ZjgiIG9yIGRpZSAiUEFOSUMgb24gYmlubW9kZTogJCEiOworCiBwcmludGYgIiUtJHtkZXNjcmxlbn1zIiwgIlRlc3QiOwogZm9yIG15ICRpICgwLi4kI2RpcnMpIHsKIAlteSAkZCA9ICRkaXJzWyRpXTsKZGlmZiAtLWdpdCBhL3QvcGVyZi9wMDAwMC1wZXJmLWxpYi1zYW5pdHkuc2ggYi90L3BlcmYvcDAwMDAtcGVyZi1saWItc2FuaXR5LnNoCmluZGV4IGNmOGUxZWYuLjAwMmMyMWUgMTAwNzU1Ci0tLSBhL3QvcGVyZi9wMDAwMC1wZXJmLWxpYi1zYW5pdHkuc2gKKysrIGIvdC9wZXJmL3AwMDAwLXBlcmYtbGliLXNhbml0eS5zaApAQCAtMzMsNiArMzMsOCBAQAogCXRlc3RfZXhwb3J0IGJhcgogJwogCit0ZXN0X3BlcmYgJ8Op4bi/w63hupcgxYTDtsWELcOBxZrEhsONw40gxIfhuKfDocWVw6HEh+G6l8OpxZXFmycgJ3RydWUnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3RfZXhwb3J0IHdvcmtzIHdpdGggd2VpcmQgdmFycycgJwogCWVjaG8gIiRiYXIiICYmCiAJdGVzdCAiJGJhciIgPSAid2VpcmQgIyB2YXJpYWJsZSIKZGlmZiAtLWdpdCBhL3QvcGVyZi9wMDAwNC1sYXp5LWluaXQtbmFtZS1oYXNoLnNoIGIvdC9wZXJmL3AwMDA0LWxhenktaW5pdC1uYW1lLWhhc2guc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGRlNWE5OAotLS0gL2Rldi9udWxsCisrKyBiL3QvcGVyZi9wMDAwNC1sYXp5LWluaXQtbmFtZS1oYXNoLnNoCkBAIC0wLDAgKzEsNTYgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0cyBtdWx0aS10aHJlYWRlZCBsYXp5X2luaXRfbmFtZV9oYXNoJworLiAuL3BlcmYtbGliLnNoCisKK3Rlc3RfcGVyZl9sYXJnZV9yZXBvCit0ZXN0X2NoZWNrb3V0X3dvcmt0cmVlCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSBib3RoIG1ldGhvZHMgYnVpbGQgdGhlIHNhbWUgaGFzaG1hcHMnICcKKwl0ZXN0LWxhenktaW5pdC1uYW1lLWhhc2ggLS1kdW1wIC0tc2luZ2xlID5vdXQuc2luZ2xlICYmCisJaWYgdGVzdC1sYXp5LWluaXQtbmFtZS1oYXNoIC0tZHVtcCAtLW11bHRpID5vdXQubXVsdGkKKwl0aGVuCisJCXRlc3Rfc2V0X3ByZXJlcSBSRVBPX0JJR19FTk9VR0hfRk9SX01VTFRJICYmCisJCXNvcnQgPG91dC5zaW5nbGUgPnNvcnRlZC5zaW5nbGUgJiYKKwkJc29ydCA8b3V0Lm11bHRpID5zb3J0ZWQubXVsdGkgJiYKKwkJdGVzdF9jbXAgc29ydGVkLnNpbmdsZSBzb3J0ZWQubXVsdGkKKwlmaQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjYWxpYnJhdGUnICcKKwllbnRyaWVzPSQod2MgLWwgPG91dC5zaW5nbGUpICYmCisKKwljYXNlICRlbnRyaWVzIGluCisJPykgY291bnQ9MTAwMDAwMCA7OworCT8/KSBjb3VudD0xMDAwMDAgOzsKKwk/Pz8pIGNvdW50PTEwMDAwIDs7CisJPz8/PykgY291bnQ9MTAwMCA7OworCT8/Pz8/KSBjb3VudD0xMDAgOzsKKwk/Pz8/Pz8pIGNvdW50PTEwIDs7CisJKikgY291bnQ9MSA7OworCWVzYWMgJiYKKwlleHBvcnQgY291bnQgJiYKKworCWNhc2UgJGVudHJpZXMgaW4KKwkxKSBlbnRyaWVzX2Rlc2M9IjEgZW50cnkiIDs7CisJKikgZW50cmllc19kZXNjPSIkZW50cmllcyBlbnRyaWVzIiA7OworCWVzYWMgJiYKKworCWNhc2UgJGNvdW50IGluCisJMSkgY291bnRfZGVzYz0iMSByb3VuZCIgOzsKKwkqKSBjb3VudF9kZXNjPSIkY291bnQgcm91bmRzIiA7OworCWVzYWMgJiYKKworCWRlc2M9IiRlbnRyaWVzX2Rlc2MsICRjb3VudF9kZXNjIiAmJgorCWV4cG9ydCBkZXNjCisnCisKK3Rlc3RfcGVyZiAic2luZ2xlLXRocmVhZGVkLCAkZGVzYyIgIgorCXRlc3QtbGF6eS1pbml0LW5hbWUtaGFzaCAtLXNpbmdsZSAtLWNvdW50PSRjb3VudAorIgorCit0ZXN0X3BlcmYgUkVQT19CSUdfRU5PVUdIX0ZPUl9NVUxUSSAibXVsdGktdGhyZWFkZWQsICRkZXNjIiAiCisJdGVzdC1sYXp5LWluaXQtbmFtZS1oYXNoIC0tbXVsdGkgLS1jb3VudD0kY291bnQKKyIKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDAwMDUtc3RhdHVzLnNoIGIvdC9wZXJmL3AwMDA1LXN0YXR1cy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wYjBhYTk4Ci0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3AwMDA1LXN0YXR1cy5zaApAQCAtMCwwICsxLDQ5IEBACisjIS9iaW4vc2gKKyMKKyMgVGhpcyB0ZXN0IG1lYXN1cmVzIHRoZSBwZXJmb3JtYW5jZSBvZiB2YXJpb3VzIHJlYWQtdHJlZQorIyBhbmQgc3RhdHVzIG9wZXJhdGlvbnMuICBJdCBpcyBwcmltYXJpbHkgaW50ZXJlc3RlZCBpbgorIyB0aGUgYWxnb3JpdGhtaWMgY29zdHMgb2YgaW5kZXggb3BlcmF0aW9ucyBhbmQgcmVjdXJzaXZlCisjIHRyZWUgdHJhdmVyc2FsIC0tIGFuZCBOT1QgZGlzayBJL08gb24gdGhvdXNhbmRzIG9mIGZpbGVzLgorCit0ZXN0X2Rlc2NyaXB0aW9uPSJUZXN0cyBwZXJmb3JtYW5jZSBvZiByZWFkLXRyZWUiCisKKy4gLi9wZXJmLWxpYi5zaAorCit0ZXN0X3BlcmZfZGVmYXVsdF9yZXBvCisKKyMgSWYgdGhlIHRlc3QgcmVwbyB3YXMgZ2VuZXJhdGVkIGJ5IC4vcmVwb3MvbWFueS1maWxlcy5zaAorIyB0aGVuIHdlIGtub3cgc29tZXRoaW5nIGFib3V0IHRoZSBkYXRhIHNoYXBlIGFuZCBicmFuY2hlcywKKyMgc28gd2UgY2FuIGlzb2xhdGUgdGVzdGluZyB0byB0aGUgYmFsbGFzdC1yZWxhdGVkIGNvbW1pdHMKKyMgYW5kIHNldHVwIHNwYXJzZS1jaGVja291dCBzbyB3ZSBkb24ndCBoYXZlIHRvIHBvcHVsYXRlCisjIHRoZSBiYWxsYXN0IGZpbGVzIGFuZCBkaXJlY3Rvcmllcy4KKyMKKyMgT3RoZXJ3aXNlLCB3ZSBtYWtlIHNvbWUgZ2VuZXJhbCBhc3N1bXB0aW9ucyBhYm91dCB0aGUKKyMgcmVwbyBhbmQgY29uc2lkZXIgdGhlIGVudGlyZSBoaXN0b3J5IG9mIHRoZSBjdXJyZW50CisjIGJyYW5jaCB0byBiZSB0aGUgYmFsbGFzdC4KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAic2V0dXAgcmVwbyIgJworCWlmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgcmVmcy9oZWFkcy9wMDAwNi1iYWxsYXN0Xntjb21taXR9CisJdGhlbgorCQllY2hvIEFzc3VtaW5nIHN5bnRoZXRpYyByZXBvIGZyb20gbWFueS1maWxlcy5zaAorCQlnaXQgYnJhbmNoIGJyX2Jhc2UgICAgICAgICAgICBtYXN0ZXIKKwkJZ2l0IGJyYW5jaCBicl9iYWxsYXN0ICAgICAgICAgcDAwMDYtYmFsbGFzdAorCQlnaXQgY29uZmlnIC0tbG9jYWwgY29yZS5zcGFyc2VjaGVja291dCAxCisJCWNhdCA+LmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCA8PC1FT0YKKwkJLyoKKwkJIWJhbGxhc3QvKgorCQlFT0YKKwllbHNlCisJCWVjaG8gQXNzdW1pbmcgbm9uLXN5bnRoZXRpYyByZXBvLi4uCisJCWdpdCBicmFuY2ggYnJfYmFzZSAgICAgICAgICAgICQoZ2l0IHJldi1saXN0IEhFQUQgfCB0YWlsIC1uIDEpCisJCWdpdCBicmFuY2ggYnJfYmFsbGFzdCAgICAgICAgIEhFQUQKKwlmaSAmJgorCWdpdCBjaGVja291dCAtcSBicl9iYWxsYXN0ICYmCisJbnJfZmlsZXM9JChnaXQgbHMtZmlsZXMgfCB3YyAtbCkKKycKKwordGVzdF9wZXJmICJyZWFkLXRyZWUgc3RhdHVzIGJyX2JhbGxhc3QgKCRucl9maWxlcykiICcKKwlnaXQgcmVhZC10cmVlIEhFQUQgJiYKKwlnaXQgc3RhdHVzCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3AwMDA2LXJlYWQtdHJlZS1jaGVja291dC5zaCBiL3QvcGVyZi9wMDAwNi1yZWFkLXRyZWUtY2hlY2tvdXQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzhjYzIzZgotLS0gL2Rldi9udWxsCisrKyBiL3QvcGVyZi9wMDAwNi1yZWFkLXRyZWUtY2hlY2tvdXQuc2gKQEAgLTAsMCArMSw2NyBAQAorIyEvYmluL3NoCisjCisjIFRoaXMgdGVzdCBtZWFzdXJlcyB0aGUgcGVyZm9ybWFuY2Ugb2YgdmFyaW91cyByZWFkLXRyZWUKKyMgYW5kIGNoZWNrb3V0IG9wZXJhdGlvbnMuICBJdCBpcyBwcmltYXJpbHkgaW50ZXJlc3RlZCBpbgorIyB0aGUgYWxnb3JpdGhtaWMgY29zdHMgb2YgaW5kZXggb3BlcmF0aW9ucyBhbmQgcmVjdXJzaXZlCisjIHRyZWUgdHJhdmVyc2FsIC0tIGFuZCBOT1QgZGlzayBJL08gb24gdGhvdXNhbmRzIG9mIGZpbGVzLgorCit0ZXN0X2Rlc2NyaXB0aW9uPSJUZXN0cyBwZXJmb3JtYW5jZSBvZiByZWFkLXRyZWUiCisKKy4gLi9wZXJmLWxpYi5zaAorCit0ZXN0X3BlcmZfZGVmYXVsdF9yZXBvCisKKyMgSWYgdGhlIHRlc3QgcmVwbyB3YXMgZ2VuZXJhdGVkIGJ5IC4vcmVwb3MvbWFueS1maWxlcy5zaAorIyB0aGVuIHdlIGtub3cgc29tZXRoaW5nIGFib3V0IHRoZSBkYXRhIHNoYXBlIGFuZCBicmFuY2hlcywKKyMgc28gd2UgY2FuIGlzb2xhdGUgdGVzdGluZyB0byB0aGUgYmFsbGFzdC1yZWxhdGVkIGNvbW1pdHMKKyMgYW5kIHNldHVwIHNwYXJzZS1jaGVja291dCBzbyB3ZSBkb24ndCBoYXZlIHRvIHBvcHVsYXRlCisjIHRoZSBiYWxsYXN0IGZpbGVzIGFuZCBkaXJlY3Rvcmllcy4KKyMKKyMgT3RoZXJ3aXNlLCB3ZSBtYWtlIHNvbWUgZ2VuZXJhbCBhc3N1bXB0aW9ucyBhYm91dCB0aGUKKyMgcmVwbyBhbmQgY29uc2lkZXIgdGhlIGVudGlyZSBoaXN0b3J5IG9mIHRoZSBjdXJyZW50CisjIGJyYW5jaCB0byBiZSB0aGUgYmFsbGFzdC4KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAic2V0dXAgcmVwbyIgJworCWlmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgcmVmcy9oZWFkcy9wMDAwNi1iYWxsYXN0Xntjb21taXR9CisJdGhlbgorCQllY2hvIEFzc3VtaW5nIHN5bnRoZXRpYyByZXBvIGZyb20gbWFueS1maWxlcy5zaAorCQlnaXQgYnJhbmNoIGJyX2Jhc2UgICAgICAgICAgICBtYXN0ZXIKKwkJZ2l0IGJyYW5jaCBicl9iYWxsYXN0ICAgICAgICAgcDAwMDYtYmFsbGFzdF4KKwkJZ2l0IGJyYW5jaCBicl9iYWxsYXN0X2FsaWFzICAgcDAwMDYtYmFsbGFzdF4KKwkJZ2l0IGJyYW5jaCBicl9iYWxsYXN0X3BsdXNfMSAgcDAwMDYtYmFsbGFzdAorCQlnaXQgY29uZmlnIC0tbG9jYWwgY29yZS5zcGFyc2VjaGVja291dCAxCisJCWNhdCA+LmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCA8PC1FT0YKKwkJLyoKKwkJIWJhbGxhc3QvKgorCQlFT0YKKwllbHNlCisJCWVjaG8gQXNzdW1pbmcgbm9uLXN5bnRoZXRpYyByZXBvLi4uCisJCWdpdCBicmFuY2ggYnJfYmFzZSAgICAgICAgICAgICQoZ2l0IHJldi1saXN0IEhFQUQgfCB0YWlsIC1uIDEpCisJCWdpdCBicmFuY2ggYnJfYmFsbGFzdCAgICAgICAgIEhFQUReIHx8IGVycm9yICJubyBhbmNlc3RvciBjb21taXQgZnJvbSBjdXJyZW50IGhlYWQiCisJCWdpdCBicmFuY2ggYnJfYmFsbGFzdF9hbGlhcyAgIEhFQUReCisJCWdpdCBicmFuY2ggYnJfYmFsbGFzdF9wbHVzXzEgIEhFQUQKKwlmaSAmJgorCWdpdCBjaGVja291dCAtcSBicl9iYWxsYXN0ICYmCisJbnJfZmlsZXM9JChnaXQgbHMtZmlsZXMgfCB3YyAtbCkKKycKKwordGVzdF9wZXJmICJyZWFkLXRyZWUgYnJfYmFzZSBicl9iYWxsYXN0ICgkbnJfZmlsZXMpIiAnCisJZ2l0IHJlYWQtdHJlZSAtbSBicl9iYXNlIGJyX2JhbGxhc3QgLW4KKycKKwordGVzdF9wZXJmICJzd2l0Y2ggYmV0d2VlbiBicl9iYXNlIGJyX2JhbGxhc3QgKCRucl9maWxlcykiICcKKwlnaXQgY2hlY2tvdXQgLXEgYnJfYmFzZSAmJgorCWdpdCBjaGVja291dCAtcSBicl9iYWxsYXN0CisnCisKK3Rlc3RfcGVyZiAic3dpdGNoIGJldHdlZW4gYnJfYmFsbGFzdCBicl9iYWxsYXN0X3BsdXNfMSAoJG5yX2ZpbGVzKSIgJworCWdpdCBjaGVja291dCAtcSBicl9iYWxsYXN0X3BsdXNfMSAmJgorCWdpdCBjaGVja291dCAtcSBicl9iYWxsYXN0CisnCisKK3Rlc3RfcGVyZiAic3dpdGNoIGJldHdlZW4gYWxpYXNlcyAoJG5yX2ZpbGVzKSIgJworCWdpdCBjaGVja291dCAtcSBicl9iYWxsYXN0X2FsaWFzICYmCisJZ2l0IGNoZWNrb3V0IC1xIGJyX2JhbGxhc3QKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDAwMDctd3JpdGUtY2FjaGUuc2ggYi90L3BlcmYvcDAwMDctd3JpdGUtY2FjaGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjYxZmU5MgotLS0gL2Rldi9udWxsCisrKyBiL3QvcGVyZi9wMDAwNy13cml0ZS1jYWNoZS5zaApAQCAtMCwwICsxLDI5IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0iVGVzdHMgcGVyZm9ybWFuY2Ugb2Ygd3JpdGluZyB0aGUgaW5kZXgiCisKKy4gLi9wZXJmLWxpYi5zaAorCit0ZXN0X3BlcmZfZGVmYXVsdF9yZXBvCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgInNldHVwIHJlcG8iICcKKwlpZiBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHJlZnMvaGVhZHMvcDAwMDYtYmFsbGFzdF57Y29tbWl0fQorCXRoZW4KKwkJZWNobyBBc3N1bWluZyBzeW50aGV0aWMgcmVwbyBmcm9tIG1hbnktZmlsZXMuc2gKKwkJZ2l0IGNvbmZpZyAtLWxvY2FsIGNvcmUuc3BhcnNlY2hlY2tvdXQgMQorCQljYXQgPi5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgPDwtRU9GCisJCS8qCisJCSFiYWxsYXN0LyoKKwkJRU9GCisJZWxzZQorCQllY2hvIEFzc3VtaW5nIG5vbi1zeW50aGV0aWMgcmVwby4uLgorCWZpICYmCisJbnJfZmlsZXM9JChnaXQgbHMtZmlsZXMgfCB3YyAtbCkKKycKKworY291bnQ9MwordGVzdF9wZXJmICJ3cml0ZV9sb2NrZWRfaW5kZXggJGNvdW50IHRpbWVzICgkbnJfZmlsZXMgZmlsZXMpIiAiCisJdGVzdC13cml0ZS1jYWNoZSAkY291bnQKKyIKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDAxMDAtZ2xvYmJpbmcuc2ggYi90L3BlcmYvcDAxMDAtZ2xvYmJpbmcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGQxOGE5YwotLS0gL2Rldi9udWxsCisrKyBiL3QvcGVyZi9wMDEwMC1nbG9iYmluZy5zaApAQCAtMCwwICsxLDQzIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0iVGVzdHMgcGF0aG9sb2dpY2FsIGdsb2JiaW5nIHBlcmZvcm1hbmNlCisKK1Nob3dzIGhvdyBHaXQncyBnbG9iYmluZyBwZXJmb3JtYW5jZSBwZXJmb3JtcyB3aGVuIGdpdmVuIHRoZSBzb3J0IG9mCitwYXRob2xvZ2ljYWwgcGF0dGVybnMgZGVzY3JpYmVkIGluIGF0IGh0dHBzOi8vcmVzZWFyY2guc3d0Y2guY29tL2dsb2IKKyIKKworLiAuL3BlcmYtbGliLnNoCisKK3Rlc3RfZ2xvYnNfYmlnPScxMCAyNSA1MCA3NSAxMDAnCit0ZXN0X2dsb2JzX3NtYWxsPScxIDIgMyA0IDUgNicKKwordGVzdF9wZXJmX2ZyZXNoX3JlcG8KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTAwKQorCWRvCisJCXByaW50ZiAiYSIgPj5yZWZuYW1lICYmCisJCWZvciBqIGluICQodGVzdF9zZXEgMSAkaSkKKwkJZG8KKwkJCXByaW50ZiAiYSoiID4+cmVmZ2xvYi4kaQorCQlkb25lICYmCisJCWVjaG8gYiA+PnJlZmdsb2IuJGkKKwlkb25lICYmCisJdGVzdF9jb21taXQgdGVzdCAkKGNhdCByZWZuYW1lKS50ICIiICQoY2F0IHJlZm5hbWUpLnQKKycKKworZm9yIGkgaW4gJHRlc3RfZ2xvYnNfc21hbGwKK2RvCisJdGVzdF9wZXJmICJyZWZnbG9iKChhKilebmIpIGFnYWluc3QgdGFnIChhXjEwMCkudDsgbiA9ICRpIiAnCisJCWdpdCBmb3ItZWFjaC1yZWYgInJlZnMvdGFncy8kKGNhdCByZWZnbG9iLickaScpYiIKKwknCitkb25lCisKK2ZvciBpIGluICR0ZXN0X2dsb2JzX3NtYWxsCitkbworCXRlc3RfcGVyZiAiZmlsZWdsb2IoKGEqKV5uYikgYWdhaW5zdCBmaWxlIChhXjEwMCkudDsgbiA9ICRpIiAnCisJCWdpdCBscy1maWxlcyAiJChjYXQgcmVmZ2xvYi4nJGknKWIiCisJJworZG9uZQorCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvcGVyZi9wMzQwMC1yZWJhc2Uuc2ggYi90L3BlcmYvcDM0MDAtcmViYXNlLnNoCmluZGV4IGIzZTdkNTIuLmNlMjcxY2EgMTAwNzU1Ci0tLSBhL3QvcGVyZi9wMzQwMC1yZWJhc2Uuc2gKKysrIGIvdC9wZXJmL3AzNDAwLXJlYmFzZS5zaApAQCAtNSw3ICs1LDcgQEAKIAogdGVzdF9wZXJmX2RlZmF1bHRfcmVwbwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcmViYXNpbmcgb24gdG9wIG9mIGEgbG90IG9mIGNoYW5nZXMnICcKIAlnaXQgY2hlY2tvdXQgLWYgLWIgYmFzZSAmJgogCWdpdCBjaGVja291dCAtYiB0by1yZWJhc2UgJiYKIAlnaXQgY2hlY2tvdXQgLWIgdXBzdHJlYW0gJiYKQEAgLTMzLDQgKzMzLDI0IEBACiAJZ2l0IHJlYmFzZSAtLW9udG8gYmFzZSBIRUFEXgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZWJhc2luZyBtYW55IGNoYW5nZXMgd2l0aG91dCBzcGxpdC1pbmRleCcgJworCWdpdCBjb25maWcgY29yZS5zcGxpdEluZGV4IGZhbHNlICYmCisJZ2l0IGNoZWNrb3V0IC1iIHVwc3RyZWFtMiB0by1yZWJhc2UgJiYKKwlnaXQgY2hlY2tvdXQgLWIgdG8tcmViYXNlMiB1cHN0cmVhbQorJworCit0ZXN0X3BlcmYgJ3JlYmFzZSBhIGxvdCBvZiB1bnJlbGF0ZWQgY2hhbmdlcyB3aXRob3V0IHNwbGl0LWluZGV4JyAnCisJZ2l0IHJlYmFzZSAtLW9udG8gdXBzdHJlYW0yIGJhc2UgJiYKKwlnaXQgcmViYXNlIC0tb250byBiYXNlIHVwc3RyZWFtMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZWJhc2luZyBtYW55IGNoYW5nZXMgd2l0aCBzcGxpdC1pbmRleCcgJworCWdpdCBjb25maWcgY29yZS5zcGxpdEluZGV4IHRydWUKKycKKwordGVzdF9wZXJmICdyZWJhc2UgYSBsb3Qgb2YgdW5yZWxhdGVkIGNoYW5nZXMgd2l0aCBzcGxpdC1pbmRleCcgJworCWdpdCByZWJhc2UgLS1vbnRvIHVwc3RyZWFtMiBiYXNlICYmCisJZ2l0IHJlYmFzZSAtLW9udG8gYmFzZSB1cHN0cmVhbTIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoIGIvdC9wZXJmL3A0MjA1LWxvZy1wcmV0dHktZm9ybWF0cy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YzI2ZjRmCi0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3A0MjA1LWxvZy1wcmV0dHktZm9ybWF0cy5zaApAQCAtMCwwICsxLDE2IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nVGVzdHMgdGhlIHBlcmZvcm1hbmNlIG9mIHZhcmlvdXMgcHJldHR5IGZvcm1hdCBwbGFjZWhvbGRlcnMnCisKKy4gLi9wZXJmLWxpYi5zaAorCit0ZXN0X3BlcmZfZGVmYXVsdF9yZXBvCisKK2ZvciBmb3JtYXQgaW4gJUggJWggJVQgJXQgJVAgJXAgJWgtJWgtJWgKK2RvCisJdGVzdF9wZXJmICJsb2cgd2l0aCAkZm9ybWF0IiAiCisJCWdpdCBsb2cgLS1mb3JtYXQ9XCIkZm9ybWF0XCIgPi9kZXYvbnVsbAorCSIKK2RvbmUKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDQyMjAtbG9nLWdyZXAtZW5naW5lcy5zaCBiL3QvcGVyZi9wNDIyMC1sb2ctZ3JlcC1lbmdpbmVzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiYzQ3ZGUKLS0tIC9kZXYvbnVsbAorKysgYi90L3BlcmYvcDQyMjAtbG9nLWdyZXAtZW5naW5lcy5zaApAQCAtMCwwICsxLDUzIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0iQ29tcGFyaXNvbiBvZiBnaXQtbG9nJ3MgLS1ncmVwIHJlZ2V4IGVuZ2luZXMKKworU2V0IEdJVF9QRVJGXzQyMjBfTE9HX09QVFMgaW4gdGhlIGVudmlyb25tZW50IHRvIHBhc3Mgb3B0aW9ucyB0bworZ2l0LWdyZXAuIE1ha2Ugc3VyZSB0byBpbmNsdWRlIGEgbGVhZGluZyBzcGFjZSwKK2UuZy4gR0lUX1BFUkZfNDIyMF9MT0dfT1BUUz0nIC1pJy4gU29tZSBvcHRpb25zIHRvIHRyeToKKworCS1pCisJLS1pbnZlcnQtZ3JlcAorCS1pIC0taW52ZXJ0LWdyZXAKKyIKKworLiAuL3BlcmYtbGliLnNoCisKK3Rlc3RfcGVyZl9sYXJnZV9yZXBvCit0ZXN0X2NoZWNrb3V0X3dvcmt0cmVlCisKK2ZvciBwYXR0ZXJuIGluIFwKKwknaG93LnRvJyBcCisJJ15ob3cgdG8nIFwKKwknW2hvd10gdG8nIFwKKwknXChlLnRbXiBdKlx8di5yeVwpIHJhcmUnIFwKKwknbVwow7pcfHVcKWx0LmJcKMOmXHx5XCl0ZScKK2RvCisJZm9yIGVuZ2luZSBpbiBiYXNpYyBleHRlbmRlZCBwZXJsCisJZG8KKwkJaWYgdGVzdCAkZW5naW5lICE9ICJiYXNpYyIKKwkJdGhlbgorCQkJIyBQb29yIG1hbidzIGJhc2ljIC0+IGV4dGVuZGVkIGNvbnZlcnRlci4KKwkJCXBhdHRlcm49JChlY2hvICRwYXR0ZXJuIHwgc2VkICdzL1xcLy9nJykKKwkJZmkKKwkJaWYgdGVzdCAkZW5naW5lID0gInBlcmwiICYmICEgdGVzdF9oYXZlX3ByZXJlcSBQQ1JFCisJCXRoZW4KKwkJCXByZXJlcT0iUENSRSIKKwkJZWxzZQorCQkJcHJlcmVxPSIiCisJCWZpCisJCXRlc3RfcGVyZiAkcHJlcmVxICIkZW5naW5lIGxvZyRHSVRfUEVSRl80MjIwX0xPR19PUFRTIC0tZ3JlcD0nJHBhdHRlcm4nIiAiCisJCQlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT0kZW5naW5lIGxvZyAtLXByZXR0eT1mb3JtYXQ6JWgkR0lUX1BFUkZfNDIyMF9MT0dfT1BUUyAtLWdyZXA9JyRwYXR0ZXJuJyA+J291dC4kZW5naW5lJyB8fCA6CisJCSIKKwlkb25lCisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJhc3NlcnQgdGhhdCBhbGwgZW5naW5lcyBmb3VuZCB0aGUgc2FtZSBmb3IkR0lUX1BFUkZfNDIyMF9MT0dfT1BUUyAnJHBhdHRlcm4nIiAnCisJCXRlc3RfY21wIG91dC5iYXNpYyBvdXQuZXh0ZW5kZWQgJiYKKwkJaWYgdGVzdF9oYXZlX3ByZXJlcSBQQ1JFCisJCXRoZW4KKwkJCXRlc3RfY21wIG91dC5iYXNpYyBvdXQucGVybAorCQlmaQorCScKK2RvbmUKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDQyMjEtbG9nLWdyZXAtZW5naW5lcy1maXhlZC5zaCBiL3QvcGVyZi9wNDIyMS1sb2ctZ3JlcC1lbmdpbmVzLWZpeGVkLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2MDk3MTIKLS0tIC9kZXYvbnVsbAorKysgYi90L3BlcmYvcDQyMjEtbG9nLWdyZXAtZW5naW5lcy1maXhlZC5zaApAQCAtMCwwICsxLDQ0IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0iQ29tcGFyaXNvbiBvZiBnaXQtbG9nJ3MgLS1ncmVwIHJlZ2V4IGVuZ2luZXMgd2l0aCAtRgorCitTZXQgR0lUX1BFUkZfNDIyMV9MT0dfT1BUUyBpbiB0aGUgZW52aXJvbm1lbnQgdG8gcGFzcyBvcHRpb25zIHRvCitnaXQtZ3JlcC4gTWFrZSBzdXJlIHRvIGluY2x1ZGUgYSBsZWFkaW5nIHNwYWNlLAorZS5nLiBHSVRfUEVSRl80MjIxX0xPR19PUFRTPScgLWknLiBTb21lIG9wdGlvbnMgdG8gdHJ5OgorCisJLWkKKwktLWludmVydC1ncmVwCisJLWkgLS1pbnZlcnQtZ3JlcAorIgorCisuIC4vcGVyZi1saWIuc2gKKwordGVzdF9wZXJmX2xhcmdlX3JlcG8KK3Rlc3RfY2hlY2tvdXRfd29ya3RyZWUKKworZm9yIHBhdHRlcm4gaW4gJ2ludCcgJ3VuY29tbW9uJyAnw6YnCitkbworCWZvciBlbmdpbmUgaW4gZml4ZWQgYmFzaWMgZXh0ZW5kZWQgcGVybAorCWRvCisJCWlmIHRlc3QgJGVuZ2luZSA9ICJwZXJsIiAmJiAhIHRlc3RfaGF2ZV9wcmVyZXEgUENSRQorCQl0aGVuCisJCQlwcmVyZXE9IlBDUkUiCisJCWVsc2UKKwkJCXByZXJlcT0iIgorCQlmaQorCQl0ZXN0X3BlcmYgJHByZXJlcSAiJGVuZ2luZSBsb2ckR0lUX1BFUkZfNDIyMV9MT0dfT1BUUyAtLWdyZXA9JyRwYXR0ZXJuJyIgIgorCQkJZ2l0IC1jIGdyZXAucGF0dGVyblR5cGU9JGVuZ2luZSBsb2cgLS1wcmV0dHk9Zm9ybWF0OiVoJEdJVF9QRVJGXzQyMjFfTE9HX09QVFMgLS1ncmVwPSckcGF0dGVybicgPidvdXQuJGVuZ2luZScgfHwgOgorCQkiCisJZG9uZQorCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiYXNzZXJ0IHRoYXQgYWxsIGVuZ2luZXMgZm91bmQgdGhlIHNhbWUgZm9yJEdJVF9QRVJGXzQyMjFfTE9HX09QVFMgJyRwYXR0ZXJuJyIgJworCQl0ZXN0X2NtcCBvdXQuZml4ZWQgb3V0LmJhc2ljICYmCisJCXRlc3RfY21wIG91dC5maXhlZCBvdXQuZXh0ZW5kZWQgJiYKKwkJaWYgdGVzdF9oYXZlX3ByZXJlcSBQQ1JFCisJCXRoZW4KKwkJCXRlc3RfY21wIG91dC5maXhlZCBvdXQucGVybAorCQlmaQorCScKK2RvbmUKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDc4MjAtZ3JlcC1lbmdpbmVzLnNoIGIvdC9wZXJmL3A3ODIwLWdyZXAtZW5naW5lcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MmFiYTE5Ci0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3A3ODIwLWdyZXAtZW5naW5lcy5zaApAQCAtMCwwICsxLDU2IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0iQ29tcGFyaXNvbiBvZiBnaXQtZ3JlcCdzIHJlZ2V4IGVuZ2luZXMKKworU2V0IEdJVF9QRVJGXzc4MjBfR1JFUF9PUFRTIGluIHRoZSBlbnZpcm9ubWVudCB0byBwYXNzIG9wdGlvbnMgdG8KK2dpdC1ncmVwLiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBhIGxlYWRpbmcgc3BhY2UsCitlLmcuIEdJVF9QRVJGXzc4MjBfR1JFUF9PUFRTPScgLWknLiBTb21lIG9wdGlvbnMgdG8gdHJ5OgorCisJLWkKKwktdworCS12CisJLXZpCisJLXZ3CisJLXZpdworIgorCisuIC4vcGVyZi1saWIuc2gKKwordGVzdF9wZXJmX2xhcmdlX3JlcG8KK3Rlc3RfY2hlY2tvdXRfd29ya3RyZWUKKworZm9yIHBhdHRlcm4gaW4gXAorCSdob3cudG8nIFwKKwknXmhvdyB0bycgXAorCSdbaG93XSB0bycgXAorCSdcKGUudFteIF0qXHx2LnJ5XCkgcmFyZScgXAorCSdtXCjDulx8dVwpbHQuYlwow6ZcfHlcKXRlJworZG8KKwlmb3IgZW5naW5lIGluIGJhc2ljIGV4dGVuZGVkIHBlcmwKKwlkbworCQlpZiB0ZXN0ICRlbmdpbmUgIT0gImJhc2ljIgorCQl0aGVuCisJCQkjIFBvb3IgbWFuJ3MgYmFzaWMgLT4gZXh0ZW5kZWQgY29udmVydGVyLgorCQkJcGF0dGVybj0kKGVjaG8gIiRwYXR0ZXJuIiB8IHNlZCAncy9cXC8vZycpCisJCWZpCisJCWlmIHRlc3QgJGVuZ2luZSA9ICJwZXJsIiAmJiAhIHRlc3RfaGF2ZV9wcmVyZXEgUENSRQorCQl0aGVuCisJCQlwcmVyZXE9IlBDUkUiCisJCWVsc2UKKwkJCXByZXJlcT0iIgorCQlmaQorCQl0ZXN0X3BlcmYgJHByZXJlcSAiJGVuZ2luZSBncmVwJEdJVF9QRVJGXzc4MjBfR1JFUF9PUFRTICckcGF0dGVybiciICIKKwkJCWdpdCAtYyBncmVwLnBhdHRlcm5UeXBlPSRlbmdpbmUgZ3JlcCRHSVRfUEVSRl83ODIwX0dSRVBfT1BUUyAtLSAnJHBhdHRlcm4nID4nb3V0LiRlbmdpbmUnIHx8IDoKKwkJIgorCWRvbmUKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImFzc2VydCB0aGF0IGFsbCBlbmdpbmVzIGZvdW5kIHRoZSBzYW1lIGZvciRHSVRfUEVSRl83ODIwX0dSRVBfT1BUUyAnJHBhdHRlcm4nIiAnCisJCXRlc3RfY21wIG91dC5iYXNpYyBvdXQuZXh0ZW5kZWQgJiYKKwkJaWYgdGVzdF9oYXZlX3ByZXJlcSBQQ1JFCisJCXRoZW4KKwkJCXRlc3RfY21wIG91dC5iYXNpYyBvdXQucGVybAorCQlmaQorCScKK2RvbmUKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDc4MjEtZ3JlcC1lbmdpbmVzLWZpeGVkLnNoIGIvdC9wZXJmL3A3ODIxLWdyZXAtZW5naW5lcy1maXhlZC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jN2VmMWUxCi0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3A3ODIxLWdyZXAtZW5naW5lcy1maXhlZC5zaApAQCAtMCwwICsxLDQxIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0iQ29tcGFyaXNvbiBvZiBnaXQtZ3JlcCdzIHJlZ2V4IGVuZ2luZXMgd2l0aCAtRgorCitTZXQgR0lUX1BFUkZfNzgyMV9HUkVQX09QVFMgaW4gdGhlIGVudmlyb25tZW50IHRvIHBhc3Mgb3B0aW9ucyB0bworZ2l0LWdyZXAuIE1ha2Ugc3VyZSB0byBpbmNsdWRlIGEgbGVhZGluZyBzcGFjZSwKK2UuZy4gR0lUX1BFUkZfNzgyMV9HUkVQX09QVFM9JyAtdycuIFNlZSBwNzgyMC1ncmVwLWVuZ2luZXMuc2ggZm9yIG1vcmUKK29wdGlvbnMgdG8gdHJ5LgorIgorCisuIC4vcGVyZi1saWIuc2gKKwordGVzdF9wZXJmX2xhcmdlX3JlcG8KK3Rlc3RfY2hlY2tvdXRfd29ya3RyZWUKKworZm9yIHBhdHRlcm4gaW4gJ2ludCcgJ3VuY29tbW9uJyAnw6YnCitkbworCWZvciBlbmdpbmUgaW4gZml4ZWQgYmFzaWMgZXh0ZW5kZWQgcGVybAorCWRvCisJCWlmIHRlc3QgJGVuZ2luZSA9ICJwZXJsIiAmJiAhIHRlc3RfaGF2ZV9wcmVyZXEgUENSRQorCQl0aGVuCisJCQlwcmVyZXE9IlBDUkUiCisJCWVsc2UKKwkJCXByZXJlcT0iIgorCQlmaQorCQl0ZXN0X3BlcmYgJHByZXJlcSAiJGVuZ2luZSBncmVwJEdJVF9QRVJGXzc4MjFfR1JFUF9PUFRTICRwYXR0ZXJuIiAiCisJCQlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT0kZW5naW5lIGdyZXAkR0lUX1BFUkZfNzgyMV9HUkVQX09QVFMgJHBhdHRlcm4gPidvdXQuJGVuZ2luZScgfHwgOgorCQkiCisJZG9uZQorCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiYXNzZXJ0IHRoYXQgYWxsIGVuZ2luZXMgZm91bmQgdGhlIHNhbWUgZm9yJEdJVF9QRVJGXzc4MjFfR1JFUF9PUFRTICRwYXR0ZXJuIiAnCisJCXRlc3RfY21wIG91dC5maXhlZCBvdXQuYmFzaWMgJiYKKwkJdGVzdF9jbXAgb3V0LmZpeGVkIG91dC5leHRlbmRlZCAmJgorCQlpZiB0ZXN0X2hhdmVfcHJlcmVxIFBDUkUKKwkJdGhlbgorCQkJdGVzdF9jbXAgb3V0LmZpeGVkIG91dC5wZXJsCisJCWZpCisJJworZG9uZQorCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvcGVyZi9wZXJmLWxpYi5zaCBiL3QvcGVyZi9wZXJmLWxpYi5zaAppbmRleCBhYjRiOGIwLi5iNTAyMTFiIDEwMDY0NAotLS0gYS90L3BlcmYvcGVyZi1saWIuc2gKKysrIGIvdC9wZXJmL3BlcmYtbGliLnNoCkBAIC03OCw2ICs3OCwxMCBAQAogCUdJVF9QRVJGX0xBUkdFX1JFUE89JFRFU1RfRElSRUNUT1JZLy4uCiBmaQogCit0ZXN0X3BlcmZfZG9fcmVwb19zeW1saW5rX2NvbmZpZ18gKCkgeworCXRlc3RfaGF2ZV9wcmVyZXEgU1lNTElOS1MgfHwgZ2l0IGNvbmZpZyBjb3JlLnN5bWxpbmtzIGZhbHNlCit9CisKIHRlc3RfcGVyZl9jcmVhdGVfcmVwb19mcm9tICgpIHsKIAl0ZXN0ICIkIyIgPSAyIHx8CiAJZXJyb3IgImJ1ZyBpbiB0aGUgdGVzdCBzY3JpcHQ6IG5vdCAyIHBhcmFtZXRlcnMgdG8gdGVzdC1jcmVhdGUtcmVwbyIKQEAgLTEwMiwxNSArMTA2LDI5IEBACiAJKSAmJgogCSgKIAkJY2QgIiRyZXBvIiAmJgotCQkiJE1PREVSTl9HSVQiIGluaXQgLXEgJiYgewotCQkJdGVzdF9oYXZlX3ByZXJlcSBTWU1MSU5LUyB8fAotCQkJZ2l0IGNvbmZpZyBjb3JlLnN5bWxpbmtzIGZhbHNlCi0JCX0gJiYKLQkJbXYgLmdpdC9ob29rcyAuZ2l0L2hvb2tzLWRpc2FibGVkIDI+L2Rldi9udWxsCisJCSIkTU9ERVJOX0dJVCIgaW5pdCAtcSAmJgorCQl0ZXN0X3BlcmZfZG9fcmVwb19zeW1saW5rX2NvbmZpZ18gJiYKKwkJbXYgLmdpdC9ob29rcyAuZ2l0L2hvb2tzLWRpc2FibGVkIDI+L2Rldi9udWxsICYmCisJCWlmIHRlc3QgLWYgLmdpdC9pbmRleC5sb2NrCisJCXRoZW4KKwkJCSMgV2UgbWF5IGJlIGNvcHlpbmcgYSByZXBvIHRoYXQgY2FuJ3QgcnVuICJnaXQKKwkJCSMgc3RhdHVzIiBkdWUgdG8gYSBsb2NrZWQgaW5kZXguIFNpbmNlIHdlIGhhdmUKKwkJCSMgYSBjb3B5IGl0J3MgZmluZSB0byByZW1vdmUgdGhlIGxvY2suCisJCQlybSAuZ2l0L2luZGV4LmxvY2sKKwkJZmkKIAkpIHx8IGVycm9yICJmYWlsZWQgdG8gY29weSByZXBvc2l0b3J5ICckc291cmNlJyB0byAnJHJlcG8nIgogfQogCiAjIGNhbGwgYXQgbGVhc3Qgb25lIG9mIHRoZXNlIHRvIGVzdGFibGlzaCBhbiBhcHByb3ByaWF0ZWx5LXNpemVkIHJlcG9zaXRvcnkKK3Rlc3RfcGVyZl9mcmVzaF9yZXBvICgpIHsKKwlyZXBvPSIkezE6LSRUUkFTSF9ESVJFQ1RPUll9IgorCSIkTU9ERVJOX0dJVCIgaW5pdCAtcSAiJHJlcG8iICYmCisJKAorCQljZCAiJHJlcG8iICYmCisJCXRlc3RfcGVyZl9kb19yZXBvX3N5bWxpbmtfY29uZmlnXworCSkKK30KKwogdGVzdF9wZXJmX2RlZmF1bHRfcmVwbyAoKSB7CiAJdGVzdF9wZXJmX2NyZWF0ZV9yZXBvX2Zyb20gIiR7MTotJFRSQVNIX0RJUkVDVE9SWX0iICIkR0lUX1BFUkZfUkVQTyIKIH0KZGlmZiAtLWdpdCBhL3QvcGVyZi9yZXBvcy8uZ2l0aWdub3JlIGIvdC9wZXJmL3JlcG9zLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJlM2RjMwotLS0gL2Rldi9udWxsCisrKyBiL3QvcGVyZi9yZXBvcy8uZ2l0aWdub3JlCkBAIC0wLDAgKzEgQEAKK2dlbi0qLwpkaWZmIC0tZ2l0IGEvdC9wZXJmL3JlcG9zL2luZmxhdGUtcmVwby5zaCBiL3QvcGVyZi9yZXBvcy9pbmZsYXRlLXJlcG8uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmNmYzk5MgotLS0gL2Rldi9udWxsCisrKyBiL3QvcGVyZi9yZXBvcy9pbmZsYXRlLXJlcG8uc2gKQEAgLTAsMCArMSw4NSBAQAorIyEvYmluL3NoCisjIEluZmxhdGUgdGhlIHNpemUgb2YgYW4gRVhJU1RJTkcgcmVwby4KKyMKKyMgVGhpcyBzY3JpcHQgc2hvdWxkIGJlIHJ1biBpbnNpZGUgdGhlIHdvcmt0cmVlIG9mIGEgVEVTVCByZXBvLgorIyBJdCB3aWxsIHVzZSB0aGUgY29udGVudHMgb2YgdGhlIGN1cnJlbnQgSEVBRCB0byBnZW5lcmF0ZSBhCisjIGNvbW1pdCBjb250YWluaW5nIGNvcGllcyBvZiB0aGUgY3VycmVudCB3b3JrdHJlZSBzdWNoIHRoYXQgdGhlCisjIHRvdGFsIHNpemUgb2YgdGhlIGNvbW1pdCBoYXMgYXQgbGVhc3QgPHRhcmdldF9zaXplPiBmaWxlcy4KKyMKKyMgVXNhZ2U6IFstdCB0YXJnZXRfc2l6ZV0gWy1iIGJyYW5jaF9uYW1lXQorCitzZXQgLWUKKwordGFyZ2V0X3NpemU9MTAwMDAKK2JyYW5jaF9uYW1lPXAwMDA2LWJhbGxhc3QKK2JhbGxhc3Q9YmFsbGFzdAorCit3aGlsZSB0ZXN0ICIkIyIgLW5lIDAKK2RvCisgICAgY2FzZSAiJDEiIGluCisJLWIpCisJICAgIHNoaWZ0OworCSAgICB0ZXN0ICIkIyIgLW5lIDAgfHwgeyBlY2hvICdlcnJvcjogLWIgcmVxdWlyZXMgYW4gYXJndW1lbnQnID4mMjsgZXhpdCAxOyB9CisJICAgIGJyYW5jaF9uYW1lPSQxOworCSAgICBzaGlmdCA7OworCS10KQorCSAgICBzaGlmdDsKKwkgICAgdGVzdCAiJCMiIC1uZSAwIHx8IHsgZWNobyAnZXJyb3I6IC10IHJlcXVpcmVzIGFuIGFyZ3VtZW50JyA+JjI7IGV4aXQgMTsgfQorCSAgICB0YXJnZXRfc2l6ZT0kMTsKKwkgICAgc2hpZnQgOzsKKwkqKQorCSAgICBlY2hvICJlcnJvcjogdW5rbm93biBvcHRpb24gJyQxJyIgPiYyOyBleGl0IDEgOzsKKyAgICBlc2FjCitkb25lCisKK2dpdCBscy10cmVlIC1yIEhFQUQgPkdFTl9zcmNfbGlzdAorbnJfc3JjX2ZpbGVzPSQoY2F0IEdFTl9zcmNfbGlzdCB8IHdjIC1sKQorCitzcmNfYnJhbmNoPSQoZ2l0IHN5bWJvbGljLXJlZiAtLXNob3J0IEhFQUQpCisKK2VjaG8gIkJyYW5jaCAkc3JjX2JyYW5jaCBpbml0aWFsbHkgaGFzICRucl9zcmNfZmlsZXMgZmlsZXMuIgorCitpZiB0ZXN0ICR0YXJnZXRfc2l6ZSAtbGUgJG5yX3NyY19maWxlcwordGhlbgorICAgIGVjaG8gIlJlcG9zaXRvcnkgYWxyZWFkeSBleGNlZWRzIHRhcmdldCBzaXplICR0YXJnZXRfc2l6ZS4iCisgICAgcm0gR0VOX3NyY19saXN0CisgICAgZXhpdCAxCitmaQorCisjIENyZWF0ZSB3ZWxsLWtub3duIGJyYW5jaCBhbmQgYWRkIDEgZmlsZSBjaGFuZ2UgdG8gc3RhcnQKKyMgaWYgb2ZmIGJlZm9yZSB0aGUgYmFsbGFzdC4KK2dpdCBjaGVja291dCAtYiAkYnJhbmNoX25hbWUgSEVBRAorZWNobyAiJHRhcmdldF9zaXplIiA+IGluZmxhdGUtcmVwby5wYXJhbXMKK2dpdCBhZGQgaW5mbGF0ZS1yZXBvLnBhcmFtcworZ2l0IGNvbW1pdCAtcSAtbSBwYXJhbXMKKworIyBDcmVhdGUgYmFsbGFzdCBmb3IgaW4gb3VyIGJyYW5jaC4KK2NvcHk9MQorbnJfZmlsZXM9JG5yX3NyY19maWxlcword2hpbGUgdGVzdCAkbnJfZmlsZXMgLWx0ICR0YXJnZXRfc2l6ZQorZG8KKyAgICBzZWQgLWUgInN8CXwJJGJhbGxhc3QvJGNvcHkvfCIgPEdFTl9zcmNfbGlzdCB8CisJZ2l0IHVwZGF0ZS1pbmRleCAtLWluZGV4LWluZm8KKworICAgIG5yX2ZpbGVzPSQoZXhwciAkbnJfZmlsZXMgKyAkbnJfc3JjX2ZpbGVzKQorICAgIGNvcHk9JChleHByICRjb3B5ICsgMSkKK2RvbmUKK3JtIEdFTl9zcmNfbGlzdAorZ2l0IGNvbW1pdCAtcSAtbSAiYmFsbGFzdCIKKworIyBNb2RpZnkgMSBmaWxlIGFuZCBjb21taXQuCitlY2hvICIkdGFyZ2V0X3NpemUiID4+IGluZmxhdGUtcmVwby5wYXJhbXMKK2dpdCBhZGQgaW5mbGF0ZS1yZXBvLnBhcmFtcworZ2l0IGNvbW1pdCAtcSAtbSAiYmFsbGFzdCBwbHVzIDEiCisKK25yX2ZpbGVzPSQoZ2l0IGxzLWZpbGVzIHwgd2MgLWwpCisKKyMgQ2hlY2tvdXQgbWFzdGVyIHRvIHB1dCByZXBvIGluIGNhbm9uaWNhbCBzdGF0ZSAoYmVjYXVzZQorIyB0aGUgcGVyZiB0ZXN0IG1heSBuZWVkIHRvIGNsb25lIGFuZCBlbmFibGUgc3BhcnNlLWNoZWNrb3V0CisjIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGNoZWNrb3V0IGEgY29tbWl0IHdpdGggdGhlIGJhbGxhc3QKKyMgKGJlY2F1c2UgaXQgbWF5IGNvbnRhaW4gMTAwSyBkaXJlY3RvcmllcyBhbmQgMU0gZmlsZXMpKS4KK2dpdCBjaGVja291dCAkc3JjX2JyYW5jaAorCitlY2hvICJSZXBvc2l0b3J5IGluZmxhdGVkLiBCcmFuY2ggJGJyYW5jaF9uYW1lIGhhcyAkbnJfZmlsZXMgZmlsZXMuIgorCitleGl0IDAKZGlmZiAtLWdpdCBhL3QvcGVyZi9yZXBvcy9tYW55LWZpbGVzLnNoIGIvdC9wZXJmL3JlcG9zL21hbnktZmlsZXMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjg3MjBlNAotLS0gL2Rldi9udWxsCisrKyBiL3QvcGVyZi9yZXBvcy9tYW55LWZpbGVzLnNoCkBAIC0wLDAgKzEsMTEwIEBACisjIS9iaW4vc2gKKyMgR2VuZXJhdGUgdGVzdCBkYXRhIHJlcG9zaXRvcnkgdXNpbmcgdGhlIGdpdmVuIHBhcmFtZXRlcnMuCisjIFdoZW4gb21pdHRlZCwgd2UgY3JlYXRlICJnZW4tbWFueS1maWxlcy1kLXctZi5naXQiLgorIworIyBVc2FnZTogWy1yIHJlcG9dIFstZCBkZXB0aF0gWy13IHdpZHRoXSBbLWYgZmlsZXNdCisjCisjIC1yIHJlcG86IHBhdGggdG8gdGhlIG5ldyByZXBvIHRvIGJlIGdlbmVyYXRlZAorIyAtZCBkZXB0aDogdGhlIGRlcHRoIG9mIHN1Yi1kaXJlY3RvcmllcworIyAtdyB3aWR0aDogdGhlIG51bWJlciBvZiBzdWItZGlyZWN0b3JpZXMgYXQgZWFjaCBsZXZlbAorIyAtZiBmaWxlczogdGhlIG51bWJlciBvZiBmaWxlcyBjcmVhdGVkIGluIGVhY2ggZGlyZWN0b3J5CisjCisjIE5vdGUgdGhhdCBhbGwgZmlsZXMgd2lsbCBoYXZlIHRoZSBzYW1lIFNIQS0xIGFuZCBlYWNoCisjIGRpcmVjdG9yeSBhdCBhIGxldmVsIHdpbGwgaGF2ZSB0aGUgc2FtZSBTSEEtMSwgc28gd2UKKyMgd2lsbCBwb3RlbnRpYWxseSBoYXZlIGEgbGFyZ2UgaW5kZXgsIGJ1dCBub3QgYSBsYXJnZQorIyBPREIuCisjCisjIEJhbGxhc3Qgd2lsbCBiZSBjcmVhdGVkIHVuZGVyICJiYWxsYXN0LyIuCisKK0VNUFRZX0JMT0I9ZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQorCitzZXQgLWUKKworIyAoNSwgMTAsIDkpIHdpbGwgY3JlYXRlIDk5OSw5OTkgYmFsbGFzdCBmaWxlcy4KKyMgKDQsIDEwLCA5KSB3aWxsIGNyZWF0ZSAgOTksOTk5IGJhbGxhc3QgZmlsZXMuCitkZXB0aD01Cit3aWR0aD0xMAorZmlsZXM9OQorCit3aGlsZSB0ZXN0ICIkIyIgLW5lIDAKK2RvCisgICAgY2FzZSAiJDEiIGluCisJLXIpCisJICAgIHNoaWZ0OworCSAgICB0ZXN0ICIkIyIgLW5lIDAgfHwgeyBlY2hvICdlcnJvcjogLXIgcmVxdWlyZXMgYW4gYXJndW1lbnQnID4mMjsgZXhpdCAxOyB9CisJICAgIHJlcG89JDE7CisJICAgIHNoaWZ0IDs7CisJLWQpCisJICAgIHNoaWZ0OworCSAgICB0ZXN0ICIkIyIgLW5lIDAgfHwgeyBlY2hvICdlcnJvcjogLWQgcmVxdWlyZXMgYW4gYXJndW1lbnQnID4mMjsgZXhpdCAxOyB9CisJICAgIGRlcHRoPSQxOworCSAgICBzaGlmdCA7OworCS13KQorCSAgICBzaGlmdDsKKwkgICAgdGVzdCAiJCMiIC1uZSAwIHx8IHsgZWNobyAnZXJyb3I6IC13IHJlcXVpcmVzIGFuIGFyZ3VtZW50JyA+JjI7IGV4aXQgMTsgfQorCSAgICB3aWR0aD0kMTsKKwkgICAgc2hpZnQgOzsKKwktZikKKwkgICAgc2hpZnQ7CisJICAgIHRlc3QgIiQjIiAtbmUgMCB8fCB7IGVjaG8gJ2Vycm9yOiAtZiByZXF1aXJlcyBhbiBhcmd1bWVudCcgPiYyOyBleGl0IDE7IH0KKwkgICAgZmlsZXM9JDE7CisJICAgIHNoaWZ0IDs7CisJKikKKwkgICAgZWNobyAiZXJyb3I6IHVua25vd24gb3B0aW9uICckMSciID4mMjsgZXhpdCAxIDs7CisJZXNhYworZG9uZQorCisjIEluZmxhdGUgdGhlIGluZGV4IHdpdGggdGhvdXNhbmRzIG9mIGVtcHR5IGZpbGVzLgorIyB1c2FnZTogZGlyIGRlcHRoIHdpZHRoIGZpbGVzCitmaWxsX2luZGV4KCkgeworCWF3ayAtdiBhcmdfZGlyPSQxIC12IGFyZ19kZXB0aD0kMiAtdiBhcmdfd2lkdGg9JDMgLXYgYXJnX2ZpbGVzPSQ0ICcKKwkJZnVuY3Rpb24gbWFrZV9wYXRocyhkaXIsIGRlcHRoLCB3aWR0aCwgZmlsZXMsIGYsIHcpIHsKKwkJCWZvciAoZiA9IDE7IGYgPD0gZmlsZXM7IGYrKykgeworCQkJCXByaW50IGRpciAiL2ZpbGUiIGYKKwkJCX0KKwkJCWlmIChkZXB0aCA+IDApIHsKKwkJCQlmb3IgKHcgPSAxOyB3IDw9IHdpZHRoOyB3KyspIHsKKwkJCQkJbWFrZV9wYXRocyhkaXIgIi9kaXIiIHcsIGRlcHRoIC0gMSwgd2lkdGgsIGZpbGVzKQorCQkJCX0KKwkJCX0KKwkJfQorCQlFTkQgeyBtYWtlX3BhdGhzKGFyZ19kaXIsIGFyZ19kZXB0aCwgYXJnX3dpZHRoLCBhcmdfZmlsZXMpIH0KKwkJJyA8L2Rldi9udWxsIHwKKwlzZWQgInMvXi8xMDA2NDQgJEVNUFRZX0JMT0IJLyIgfAorCWdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvCisJcmV0dXJuIDAKK30KKworWyAteiAiJHJlcG8iIF0gJiYgcmVwbz1nZW4tbWFueS1maWxlcy0kZGVwdGguJHdpZHRoLiRmaWxlcy5naXQKKworbWtkaXIgJHJlcG8KK2NkICRyZXBvCitnaXQgaW5pdCAuCisKKyMgQ3JlYXRlIGFuIGluaXRpYWwgY29tbWl0IGp1c3QgdG8gZGVmaW5lIG1hc3Rlci4KK3RvdWNoIG1hbnktZmlsZXMuZW1wdHkKK2VjaG8gIiRkZXB0aCAkd2lkdGggJGZpbGVzIiA+bWFueS1maWxlcy5wYXJhbXMKK2dpdCBhZGQgbWFueS1maWxlcy4qCitnaXQgY29tbWl0IC1xIC1tIHBhcmFtcworCisjIENyZWF0ZSBiYWxsYXN0IGZvciBwMDAwNiBiYXNlZCB1cG9uIHRoZSBnaXZlbiBwYXJhbXMgYW5kCisjIGluZmxhdGUgdGhlIGluZGV4IHdpdGggdGhvdXNhbmRzIG9mIGVtcHR5IGZpbGVzIGFuZCBjb21taXQuCitnaXQgY2hlY2tvdXQgLWIgcDAwMDYtYmFsbGFzdAorZmlsbF9pbmRleCAiYmFsbGFzdCIgJGRlcHRoICR3aWR0aCAkZmlsZXMKK2dpdCBjb21taXQgLXEgLW0gImJhbGxhc3QiCisKK25yX2ZpbGVzPSQoZ2l0IGxzLWZpbGVzIHwgd2MgLWwpCisKKyMgTW9kaWZ5IDEgZmlsZSBhbmQgY29tbWl0LgorZWNobyAiJGRlcHRoICR3aWR0aCAkZmlsZXMiID4+bWFueS1maWxlcy5wYXJhbXMKK2dpdCBhZGQgbWFueS1maWxlcy5wYXJhbXMKK2dpdCBjb21taXQgLXEgLW0gImJhbGxhc3QgcGx1cyAxIgorCisjIENoZWNrb3V0IG1hc3RlciB0byBwdXQgcmVwbyBpbiBjYW5vbmljYWwgc3RhdGUgKGJlY2F1c2UKKyMgdGhlIHBlcmYgdGVzdCBtYXkgbmVlZCB0byBjbG9uZSBhbmQgZW5hYmxlIHNwYXJzZS1jaGVja291dAorIyBiZWZvcmUgYXR0ZW1wdGluZyB0byBjaGVja291dCBhIGNvbW1pdCB3aXRoIHRoZSBiYWxsYXN0CisjIChiZWNhdXNlIGl0IG1heSBjb250YWluIDEwMEsgZGlyZWN0b3JpZXMgYW5kIDFNIGZpbGVzKSkuCitnaXQgY2hlY2tvdXQgbWFzdGVyCisKK2VjaG8gIlJlcG9zaXRvcnkgIiRyZXBvIiAoJGRlcHRoLCAkd2lkdGgsICRmaWxlcykgY3JlYXRlZC4gIEJhbGxhc3QgJG5yX2ZpbGVzLiIKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdC9wZXJmL3J1biBiL3QvcGVyZi9ydW4KaW5kZXggYzc4OGQ3MS4uYmViNGFjYyAxMDA3NTUKLS0tIGEvdC9wZXJmL3J1bgorKysgYi90L3BlcmYvcnVuCkBAIC0yNCw2ICsyNCw3IEBACiAKIHVucGFja19naXRfcmV2ICgpIHsKIAlyZXY9JDEKKwllY2hvICI9PT0gVW5wYWNraW5nICRyZXYgaW4gYnVpbGQvJHJldiA9PT0iCiAJbWtkaXIgLXAgYnVpbGQvJHJldgogCShjZCAiJChnaXQgcmV2LXBhcnNlIC0tc2hvdy1jZHVwKSIgJiYgZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGFyICRyZXYpIHwKIAkoY2QgYnVpbGQvJHJldiAmJiB0YXIgeCkKQEAgLTM3LDggKzM4LDE2IEBACiAJCQljcCAiLi4vLi4vJGNvbmZpZyIgImJ1aWxkLyRyZXYvIgogCQlmaQogCWRvbmUKLQkoY2QgYnVpbGQvJHJldiAmJiBtYWtlICRHSVRfUEVSRl9NQUtFX09QVFMpIHx8Ci0JZGllICJmYWlsZWQgdG8gYnVpbGQgcmV2aXNpb24gJyRteWRpciciCisJZWNobyAiPT09IEJ1aWxkaW5nICRyZXYgPT09IgorCSgKKwkJY2QgYnVpbGQvJHJldiAmJgorCQlpZiB0ZXN0IC1uICIkR0lUX1BFUkZfTUFLRV9DT01NQU5EIgorCQl0aGVuCisJCQlzaCAtYyAiJEdJVF9QRVJGX01BS0VfQ09NTUFORCIKKwkJZWxzZQorCQkJbWFrZSAkR0lUX1BFUkZfTUFLRV9PUFRTCisJCWZpCisJKSB8fCBkaWUgImZhaWxlZCB0byBidWlsZCByZXZpc2lvbiAnJG15ZGlyJyIKIH0KIAogcnVuX2RpcnNfaGVscGVyICgpIHsKZGlmZiAtLWdpdCBhL3QvdDAwMDEtaW5pdC5zaCBiL3QvdDAwMDEtaW5pdC5zaAppbmRleCBlNDI0ZGU1Li44NmMxYTUxIDEwMDc1NQotLS0gYS90L3QwMDAxLWluaXQuc2gKKysrIGIvdC90MDAwMS1pbml0LnNoCkBAIC0zMTUsNiArMzE1LDQ2IEBACiAJdGVzdF9wYXRoX2lzX2RpciByZWFsZ2l0ZGlyL3JlZnMKICcKIAordGVzdF9sYXp5X3ByZXJlcSBHRVRDV0RfSUdOT1JFU19QRVJNUyAnCisJYmFzZT1HRVRDV0RfVEVTVF9CQVNFX0RJUiAmJgorCW1rZGlyIC1wICRiYXNlL2RpciAmJgorCWNobW9kIDEwMCAkYmFzZSB8fAorCWVycm9yICJidWcgaW4gdGVzdCBzY3JpcHQ6IGNhbm5vdCBwcmVwYXJlICRiYXNlIgorCisJKGNkICRiYXNlL2RpciAmJiAvYmluL3B3ZCAtUCkKKwlzdGF0dXM9JD8KKworCWNobW9kIDcwMCAkYmFzZSAmJgorCXJtIC1yZiAkYmFzZSB8fAorCWVycm9yICJidWcgaW4gdGVzdCBzY3JpcHQ6IGNhbm5vdCBjbGVhbiAkYmFzZSIKKwlyZXR1cm4gJHN0YXR1cworJworCitjaGVja19sb25nX2Jhc2VfcGF0aCAoKSB7CisJIyBleGNlZWQgaW5pdGlhbCBidWZmZXIgc2l6ZSBvZiBzdHJidWZfZ2V0Y3dkKCkKKwljb21wb25lbnQ9MTIzNDU2Nzg5YWJjZGVmICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJjaG1vZCAwNzAwICRjb21wb25lbnQ7IHJtIC1yZiAkY29tcG9uZW50IiAmJgorCXAzMT0kY29tcG9uZW50LyRjb21wb25lbnQgJiYKKwlwMTI3PSRwMzEvJHAzMS8kcDMxLyRwMzEgJiYKKwlta2RpciAtcCAkcDEyNyAmJgorCWlmIHRlc3QgJCMgPSAxCisJdGhlbgorCQljaG1vZCAkMSAkY29tcG9uZW50CisJZmkgJiYKKwkoCisJCWNkICRwMTI3ICYmCisJCWdpdCBpbml0IG5ld2RpcgorCSkKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5pdCBpbiBsb25nIGJhc2UgcGF0aCcgJworCWNoZWNrX2xvbmdfYmFzZV9wYXRoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUQ1dEX0lHTk9SRVNfUEVSTVMgJ2luaXQgaW4gbG9uZyByZXN0cmljdGVkIGJhc2UgcGF0aCcgJworCWNoZWNrX2xvbmdfYmFzZV9wYXRoIDAxMTEKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmUtaW5pdCBvbiAuZ2l0IGZpbGUnICcKIAkoIGNkIG5ld2RpciAmJiBnaXQgaW5pdCApCiAnCmRpZmYgLS1naXQgYS90L3QwMDAzLWF0dHJpYnV0ZXMuc2ggYi90L3QwMDAzLWF0dHJpYnV0ZXMuc2gKaW5kZXggZjBmYmI0Mi4uZjE5YWU0ZiAxMDA3NTUKLS0tIGEvdC90MDAwMy1hdHRyaWJ1dGVzLnNoCisrKyBiL3QvdDAwMDMtYXR0cmlidXRlcy5zaApAQCAtMTMsMTAgKzEzLDMxIEBACiAJdGVzdF9saW5lX2NvdW50ID0gMCBlcnIKIH0KIAorYXR0cl9jaGVja19xdW90ZSAoKSB7CisKKwlwYXRoPSIkMSIKKwlxdW90ZWRfcGF0aD0iJDIiCisJZXhwZWN0PSIkMyIKKworCWdpdCBjaGVjay1hdHRyIHRlc3QgLS0gIiRwYXRoIiA+YWN0dWFsICYmCisJZWNobyAiXCIkcXVvdGVkX3BhdGhcIjogdGVzdDogJGV4cGVjdCIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKworfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvcGVuLXF1b3RlZCBwYXRobmFtZScgJworCWVjaG8gIlwiYSB0ZXN0PWEiID4uZ2l0YXR0cmlidXRlcyAmJgorCXRlc3RfbXVzdF9mYWlsIGF0dHJfY2hlY2sgYSBhCisnCisKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKIAlta2RpciAtcCBhL2IvZCBhL2MgYiAmJgogCSgKIAkJZWNobyAiW2F0dHJdbm90ZXN0ICF0ZXN0IgorCQllY2hvICJcIiBkIFwiCXRlc3Q9ZCIKKwkJZWNobyAiIGUJdGVzdD1lIgorCQllY2hvICIgZVwiCXRlc3Q9ZSIKIAkJZWNobyAiZgl0ZXN0PWYiCiAJCWVjaG8gImEvaSB0ZXN0PWEvaSIKIAkJZWNobyAib25vZmYgdGVzdCAtdGVzdCIKQEAgLTY5LDYgKzkwLDExIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2F0dHJpYnV0ZSB0ZXN0JyAnCisKKwlhdHRyX2NoZWNrICIgZCAiIGQgJiYKKwlhdHRyX2NoZWNrIGUgZSAmJgorCWF0dHJfY2hlY2tfcXVvdGUgZVwiIGVcXFwiIGUgJiYKKwogCWF0dHJfY2hlY2sgZiBmICYmCiAJYXR0cl9jaGVjayBhL2YgZiAmJgogCWF0dHJfY2hlY2sgYS9jL2YgZiAmJgpkaWZmIC0tZ2l0IGEvdC90MDAwNi1kYXRlLnNoIGIvdC90MDAwNi1kYXRlLnNoCmluZGV4IGMwYzkxMDguLjdhYzk0NjYgMTAwNzU1Ci0tLSBhL3QvdDAwMDYtZGF0ZS5zaAorKysgYi90L3QwMDA2LWRhdGUuc2gKQEAgLTMxLDkgKzMxLDExIEBACiAJZm9ybWF0PSQxCiAJdGltZT0kMgogCWV4cGVjdD0kMwotCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJDQgInNob3cgZGF0ZSAoJGZvcm1hdDokdGltZSkiICcKKwlwcmVyZXFzPSQ0CisJem9uZT0kNQorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJHByZXJlcXMgInNob3cgZGF0ZSAoJGZvcm1hdDokdGltZSkiICcKIAkJZWNobyAiJHRpbWUgLT4gJGV4cGVjdCIgPmV4cGVjdCAmJgotCQl0ZXN0LWRhdGUgc2hvdzokZm9ybWF0ICIkdGltZSIgPmFjdHVhbCAmJgorCQlUWj0ke3pvbmU6LSRUWn0gdGVzdC1kYXRlIHNob3c6IiRmb3JtYXQiICIkdGltZSIgPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAJJwogfQpAQCAtNTEsMTAgKzUzLDIwIEBACiBjaGVja19zaG93IHJhdy1sb2NhbCAiJFRJTUUiICcxNDY2MDAwMDAwICswMDAwJwogY2hlY2tfc2hvdyB1bml4LWxvY2FsICIkVElNRSIgJzE0NjYwMDAwMDAnCiAKK2NoZWNrX3Nob3cgJ2Zvcm1hdDoleicgIiRUSU1FIiAnKzAyMDAnCitjaGVja19zaG93ICdmb3JtYXQtbG9jYWw6JXonICIkVElNRSIgJyswMDAwJworY2hlY2tfc2hvdyAnZm9ybWF0OiVaJyAiJFRJTUUiICcnCitjaGVja19zaG93ICdmb3JtYXQtbG9jYWw6JVonICIkVElNRSIgJ1VUQycKK2NoZWNrX3Nob3cgJ2Zvcm1hdDolJXonICIkVElNRSIgJyV6JworY2hlY2tfc2hvdyAnZm9ybWF0LWxvY2FsOiUleicgIiRUSU1FIiAnJXonCisKK2NoZWNrX3Nob3cgJ2Zvcm1hdDolWS0lbS0lZCAlSDolTTolUycgIiRUSU1FIiAnMjAxNi0wNi0xNSAxNjoxMzoyMCcKK2NoZWNrX3Nob3cgJ2Zvcm1hdC1sb2NhbDolWS0lbS0lZCAlSDolTTolUycgIiRUSU1FIiAnMjAxNi0wNi0xNSAwOToxMzoyMCcgJycgRVNUNQorCiAjIGFyYml0cmFyeSB0aW1lIGFic3VyZGx5IGZhciBpbiB0aGUgZnV0dXJlCiBGVVRVUkU9IjU3NTgxMjIyOTYgLTA0MDAiCi1jaGVja19zaG93IGlzbyAgICAgICAiJEZVVFVSRSIgIjIxNTItMDYtMTkgMTg6MjQ6NTYgLTA0MDAiIExPTkdfSVNfNjRCSVQKLWNoZWNrX3Nob3cgaXNvLWxvY2FsICIkRlVUVVJFIiAiMjE1Mi0wNi0xOSAyMjoyNDo1NiArMDAwMCIgTE9OR19JU182NEJJVAorY2hlY2tfc2hvdyBpc28gICAgICAgIiRGVVRVUkUiICIyMTUyLTA2LTE5IDE4OjI0OjU2IC0wNDAwIiBUSU1FX0lTXzY0QklULFRJTUVfVF9JU182NEJJVAorY2hlY2tfc2hvdyBpc28tbG9jYWwgIiRGVVRVUkUiICIyMTUyLTA2LTE5IDIyOjI0OjU2ICswMDAwIiBUSU1FX0lTXzY0QklULFRJTUVfVF9JU182NEJJVAogCiBjaGVja19wYXJzZSgpIHsKIAllY2hvICIkMSAtPiAkMiIgPmV4cGVjdApkaWZmIC0tZ2l0IGEvdC90MDAxMi1oZWxwLnNoIGIvdC90MDAxMi1oZWxwLnNoCmluZGV4IDhmYWJhMmUuLjQ4N2I5MmEgMTAwNzU1Ci0tLSBhL3QvdDAwMTItaGVscC5zaAorKysgYi90L3QwMDEyLWhlbHAuc2gKQEAgLTQ5LDQgKzQ5LDE2IEBACiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKICIKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2VuZXJhdGUgYnVpbHRpbiBsaXN0JyAnCisJZ2l0IC0tbGlzdC1idWlsdGlucyA+YnVpbHRpbnMKKycKKword2hpbGUgcmVhZCBidWlsdGluCitkbworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRidWlsdGluIGNhbiBoYW5kbGUgLWgiICcKKwkJdGVzdF9leHBlY3RfY29kZSAxMjkgZ2l0ICRidWlsdGluIC1oID5vdXRwdXQgMj4mMSAmJgorCQl0ZXN0X2kxOG5ncmVwIHVzYWdlIG91dHB1dAorCScKK2RvbmUgPGJ1aWx0aW5zCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDAxMy1zaGExZGMuc2ggYi90L3QwMDEzLXNoYTFkYy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZDY1NWNiCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDAxMy1zaGExZGMuc2gKQEAgLTAsMCArMSwxOSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3Qgc2hhMSBjb2xsaXNpb24gZGV0ZWN0aW9uJworLiAuL3Rlc3QtbGliLnNoCitURVNUX0RBVEE9IiRURVNUX0RJUkVDVE9SWS90MDAxMyIKKworaWYgdGVzdCAteiAiJERDX1NIQTEiCit0aGVuCisJc2tpcF9hbGw9J3NraXBwaW5nIHNoYTEgY29sbGlzaW9uIHRlc3RzLCBEQ19TSEExIG5vdCBzZXQnCisJdGVzdF9kb25lCitmaQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0LXNoYTEgZGV0ZWN0cyBzaGF0dGVyZWQgcGRmJyAnCisJdGVzdF9tdXN0X2ZhaWwgdGVzdC1zaGExIDwiJFRFU1RfREFUQS9zaGF0dGVyZWQtMS5wZGYiIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCBjb2xsaXNpb24gZXJyICYmCisJZ3JlcCAzODc2MmNmN2Y1NTkzNGIzNGQxNzlhZTZhNGM4MGNhZGNjYmI3ZjBhIGVycgorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwMTMvc2hhdHRlcmVkLTEucGRmIGIvdC90MDAxMy9zaGF0dGVyZWQtMS5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE5YWFhMQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAwMTMvc2hhdHRlcmVkLTEucGRmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDAwMjEtY29udmVyc2lvbi5zaCBiL3QvdDAwMjEtY29udmVyc2lvbi5zaAppbmRleCAxNjFmNTYwLi40NmY4ZTU4IDEwMDc1NQotLS0gYS90L3QwMDIxLWNvbnZlcnNpb24uc2gKKysrIGIvdC90MDAyMS1jb252ZXJzaW9uLnNoCkBAIC0yOCw3ICsyOCw3IEBACiB9CiAKIGZpbHRlcl9naXQgKCkgewotCXJtIC1mIHJvdDEzLWZpbHRlci5sb2cgJiYKKwlybSAtZiAqLmxvZyAmJgogCWdpdCAiJEAiCiB9CiAKQEAgLTQyLDEwICs0MiwxMCBAQAogCWZvciBGSUxFIGluICIkZXhwZWN0IiAiJGFjdHVhbCIKIAlkbwogCQlzb3J0ICIkRklMRSIgfCB1bmlxIC1jIHwKLQkJc2VkIC1lICJzL14gKlswLTldWzAtOV0qWyAJXSpJTjogL3ggSU46IC8iID4iJEZJTEUudG1wIiAmJgotCQltdiAiJEZJTEUudG1wIiAiJEZJTEUiIHx8IHJldHVybgorCQlzZWQgLWUgInMvXiAqWzAtOV1bMC05XSpbIAldKklOOiAveCBJTjogLyIgPiIkRklMRS50bXAiCiAJZG9uZSAmJgotCXRlc3RfY21wICIkZXhwZWN0IiAiJGFjdHVhbCIKKwl0ZXN0X2NtcCAiJGV4cGVjdC50bXAiICIkYWN0dWFsLnRtcCIgJiYKKwlybSAiJGV4cGVjdC50bXAiICIkYWN0dWFsLnRtcCIKIH0KIAogIyBDb21wYXJlIHR3byBmaWxlcyBidXQgZXhjbHVkZSBhbGwgYGNsZWFuYCBpbnZvY2F0aW9ucyBiZWNhdXNlIEdpdCBjYW4KQEAgLTU2LDEwICs1NiwxMCBAQAogCWFjdHVhbD0kMgogCWZvciBGSUxFIGluICIkZXhwZWN0IiAiJGFjdHVhbCIKIAlkbwotCQlncmVwIC12ICJJTjogY2xlYW4iICIkRklMRSIgPiIkRklMRS50bXAiICYmCi0JCW12ICIkRklMRS50bXAiICIkRklMRSIKKwkJZ3JlcCAtdiAiSU46IGNsZWFuIiAiJEZJTEUiID4iJEZJTEUudG1wIgogCWRvbmUgJiYKLQl0ZXN0X2NtcCAiJGV4cGVjdCIgIiRhY3R1YWwiCisJdGVzdF9jbXAgIiRleHBlY3QudG1wIiAiJGFjdHVhbC50bXAiICYmCisJcm0gIiRleHBlY3QudG1wIiAiJGFjdHVhbC50bXAiCiB9CiAKICMgQ2hlY2sgdGhhdCB0aGUgY29udGVudHMgb2YgdHdvIGZpbGVzIGFyZSBlcXVhbCBhbmQgdGhhdCB0aGVpciByb3QxMyB2ZXJzaW9uCkBAIC0zNDIsNyArMzQyLDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdyZXF1aXJlZCBwcm9jZXNzIGZpbHRlciBzaG91bGQgZmlsdGVyIGRhdGEnICcKLQl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5wcm9jZXNzICJyb3QxMy1maWx0ZXIucGwgZGVidWcubG9nIGNsZWFuIHNtdWRnZSIgJiYKIAl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnJlcXVpcmVkIHRydWUgJiYKIAlybSAtcmYgcmVwbyAmJgogCW1rZGlyIHJlcG8gJiYKQEAgLTM3NSw3ICszNzUsNyBAQAogCQkJSU46IGNsZWFuIHRlc3RzdWJkaXIvdGVzdDMgJ1wnJ3NxJ1wnJyxcJHg9LnIgJFMzIFtPS10gLS0gT1VUOiAkUzMgLiBbT0tdCiAJCQlTVE9QCiAJCUVPRgotCQl0ZXN0X2NtcF9jb3VudCBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCQl0ZXN0X2NtcF9jb3VudCBleHBlY3RlZC5sb2cgZGVidWcubG9nICYmCiAKIAkJZ2l0IGNvbW1pdCAtbSAidGVzdCBjb21taXQgMiIgJiYKIAkJcm0gLWYgdGVzdDIuciAidGVzdHN1YmRpci90ZXN0MyAnXCcnc3EnXCcnLFwkeD0uciIgJiYKQEAgLTM4OCw3ICszODgsNyBAQAogCQkJSU46IHNtdWRnZSB0ZXN0c3ViZGlyL3Rlc3QzICdcJydzcSdcJycsXCR4PS5yICRTMyBbT0tdIC0tIE9VVDogJFMzIC4gW09LXQogCQkJU1RPUAogCQlFT0YKLQkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCQl0ZXN0X2NtcF9leGNsdWRlX2NsZWFuIGV4cGVjdGVkLmxvZyBkZWJ1Zy5sb2cgJiYKIAogCQlmaWx0ZXJfZ2l0IGNoZWNrb3V0IC0tcXVpZXQgLS1uby1wcm9ncmVzcyBlbXB0eS1icmFuY2ggJiYKIAkJY2F0ID5leHBlY3RlZC5sb2cgPDwtRU9GICYmCkBAIC0zOTcsNyArMzk3LDcgQEAKIAkJCUlOOiBjbGVhbiB0ZXN0LnIgJFMgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQogCQkJU1RPUAogCQlFT0YKLQkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCQl0ZXN0X2NtcF9leGNsdWRlX2NsZWFuIGV4cGVjdGVkLmxvZyBkZWJ1Zy5sb2cgJiYKIAogCQlmaWx0ZXJfZ2l0IGNoZWNrb3V0IC0tcXVpZXQgLS1uby1wcm9ncmVzcyBtYXN0ZXIgJiYKIAkJY2F0ID5leHBlY3RlZC5sb2cgPDwtRU9GICYmCkBAIC00MDksNyArNDA5LDcgQEAKIAkJCUlOOiBzbXVkZ2UgdGVzdHN1YmRpci90ZXN0MyAnXCcnc3EnXCcnLFwkeD0uciAkUzMgW09LXSAtLSBPVVQ6ICRTMyAuIFtPS10KIAkJCVNUT1AKIAkJRU9GCi0JCXRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKwkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgZGVidWcubG9nICYmCiAKIAkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09UL3Rlc3QubyIgdGVzdC5yICYmCiAJCXRlc3RfY21wX2NvbW1pdHRlZF9yb3QxMyAiJFRFU1RfUk9PVC90ZXN0Mi5vIiB0ZXN0Mi5yICYmCkBAIC00MTksNyArNDE5LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdyZXF1aXJlZCBwcm9jZXNzIGZpbHRlciB0YWtlcyBwcmVjZWRlbmNlJyAnCiAJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5jbGVhbiBmYWxzZSAmJgotCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGNsZWFuIiAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGRlYnVnLmxvZyBjbGVhbiIgJiYKIAl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnJlcXVpcmVkIHRydWUgJiYKIAlybSAtcmYgcmVwbyAmJgogCW1rZGlyIHJlcG8gJiYKQEAgLTQzOSwxMiArNDM5LDEyIEBACiAJCQlJTjogY2xlYW4gdGVzdC5yICRTIFtPS10gLS0gT1VUOiAkUyAuIFtPS10KIAkJCVNUT1AKIAkJRU9GCi0JCXRlc3RfY21wX2NvdW50IGV4cGVjdGVkLmxvZyByb3QxMy1maWx0ZXIubG9nCisJCXRlc3RfY21wX2NvdW50IGV4cGVjdGVkLmxvZyBkZWJ1Zy5sb2cKIAkpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmVxdWlyZWQgcHJvY2VzcyBmaWx0ZXIgc2hvdWxkIGJlIHVzZWQgb25seSBmb3IgImNsZWFuIiBvcGVyYXRpb24gb25seScgJwotCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGNsZWFuIiAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGRlYnVnLmxvZyBjbGVhbiIgJiYKIAlybSAtcmYgcmVwbyAmJgogCW1rZGlyIHJlcG8gJiYKIAkoCkBAIC00NjIsNyArNDYyLDcgQEAKIAkJCUlOOiBjbGVhbiB0ZXN0LnIgJFMgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQogCQkJU1RPUAogCQlFT0YKLQkJdGVzdF9jbXBfY291bnQgZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKwkJdGVzdF9jbXBfY291bnQgZXhwZWN0ZWQubG9nIGRlYnVnLmxvZyAmJgogCiAJCXJtIHRlc3QuciAmJgogCkBAIC00NzQsMTIgKzQ3NCwxMiBAQAogCQkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKIAkJCVNUT1AKIAkJRU9GCi0JCXRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cKKwkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgZGVidWcubG9nCiAJKQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3JlcXVpcmVkIHByb2Nlc3MgZmlsdGVyIHNob3VsZCBwcm9jZXNzIG11bHRpcGxlIHBhY2tldHMnICcKLQl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5wcm9jZXNzICJyb3QxMy1maWx0ZXIucGwgZGVidWcubG9nIGNsZWFuIHNtdWRnZSIgJiYKIAl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnJlcXVpcmVkIHRydWUgJiYKIAogCXJtIC1yZiByZXBvICYmCkBAIC01MTQsNyArNTE0LDcgQEAKIAkJCUlOOiBjbGVhbiAzcGt0XzIrMS5maWxlICQoKCRTKjIrMSkpIFtPS10gLS0gT1VUOiAkKCgkUyoyKzEpKSAuLi4gW09LXQogCQkJU1RPUAogCQlFT0YKLQkJdGVzdF9jbXBfY291bnQgZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKwkJdGVzdF9jbXBfY291bnQgZXhwZWN0ZWQubG9nIGRlYnVnLmxvZyAmJgogCiAJCXJtIC1mICouZmlsZSAmJgogCkBAIC01MjksNyArNTI5LDcgQEAKIAkJCUlOOiBzbXVkZ2UgM3BrdF8yKzEuZmlsZSAkKCgkUyoyKzEpKSBbT0tdIC0tIE9VVDogJCgoJFMqMisxKSkgLi4uIFtPS10KIAkJCVNUT1AKIAkJRU9GCi0JCXRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKwkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgZGVidWcubG9nICYmCiAKIAkJZm9yIEZJTEUgaW4gKi5maWxlCiAJCWRvCkBAIC01MzksNyArNTM5LDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdyZXF1aXJlZCBwcm9jZXNzIGZpbHRlciB3aXRoIGNsZWFuIGVycm9yIHNob3VsZCBmYWlsJyAnCi0JdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5wcm9jZXNzICJyb3QxMy1maWx0ZXIucGwgY2xlYW4gc211ZGdlIiAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGRlYnVnLmxvZyBjbGVhbiBzbXVkZ2UiICYmCiAJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5yZXF1aXJlZCB0cnVlICYmCiAJcm0gLXJmIHJlcG8gJiYKIAlta2RpciByZXBvICYmCkBAIC01NTgsNyArNTU4LDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdwcm9jZXNzIGZpbHRlciBzaG91bGQgcmVzdGFydCBhZnRlciB1bmV4cGVjdGVkIHdyaXRlIGZhaWx1cmUnICcKLQl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5wcm9jZXNzICJyb3QxMy1maWx0ZXIucGwgZGVidWcubG9nIGNsZWFuIHNtdWRnZSIgJiYKIAlybSAtcmYgcmVwbyAmJgogCW1rZGlyIHJlcG8gJiYKIAkoCkBAIC01NzksNyArNTc5LDcgQEAKIAkJZ2l0IGFkZCAuICYmCiAJCXJtIC1mICouciAmJgogCi0JCXJtIC1mIHJvdDEzLWZpbHRlci5sb2cgJiYKKwkJcm0gLWYgZGVidWcubG9nICYmCiAJCWdpdCBjaGVja291dCAtLXF1aWV0IC0tbm8tcHJvZ3Jlc3MgLiAyPmdpdC1zdGRlcnIubG9nICYmCiAKIAkJZ3JlcCAic211ZGdlIHdyaXRlIGVycm9yIGF0IiBnaXQtc3RkZXJyLmxvZyAmJgpAQCAtNTg4LDE0ICs1ODgsMTQgQEAKIAkJY2F0ID5leHBlY3RlZC5sb2cgPDwtRU9GICYmCiAJCQlTVEFSVAogCQkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKLQkJCUlOOiBzbXVkZ2Ugc211ZGdlLXdyaXRlLWZhaWwuciAkU0YgW09LXSAtLSBPVVQ6ICRTRiBbV1JJVEUgRkFJTF0KKwkJCUlOOiBzbXVkZ2Ugc211ZGdlLXdyaXRlLWZhaWwuciAkU0YgW09LXSAtLSBbV1JJVEUgRkFJTF0KIAkJCVNUQVJUCiAJCQlpbml0IGhhbmRzaGFrZSBjb21wbGV0ZQogCQkJSU46IHNtdWRnZSB0ZXN0LnIgJFMgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQogCQkJSU46IHNtdWRnZSB0ZXN0Mi5yICRTMiBbT0tdIC0tIE9VVDogJFMyIC4gW09LXQogCQkJU1RPUAogCQlFT0YKLQkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCQl0ZXN0X2NtcF9leGNsdWRlX2NsZWFuIGV4cGVjdGVkLmxvZyBkZWJ1Zy5sb2cgJiYKIAogCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKIAkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09UL3Rlc3QyLm8iIHRlc3QyLnIgJiYKQEAgLTYwOSw3ICs2MDksNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3Byb2Nlc3MgZmlsdGVyIHNob3VsZCBub3QgYmUgcmVzdGFydGVkIGlmIGl0IHNpZ25hbHMgYW4gZXJyb3InICcKLQl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5wcm9jZXNzICJyb3QxMy1maWx0ZXIucGwgZGVidWcubG9nIGNsZWFuIHNtdWRnZSIgJiYKIAlybSAtcmYgcmVwbyAmJgogCW1rZGlyIHJlcG8gJiYKIAkoCkBAIC02MzQsMTIgKzYzNCwxMiBAQAogCQljYXQgPmV4cGVjdGVkLmxvZyA8PC1FT0YgJiYKIAkJCVNUQVJUCiAJCQlpbml0IGhhbmRzaGFrZSBjb21wbGV0ZQotCQkJSU46IHNtdWRnZSBlcnJvci5yICRTRSBbT0tdIC0tIE9VVDogMCBbRVJST1JdCisJCQlJTjogc211ZGdlIGVycm9yLnIgJFNFIFtPS10gLS0gW0VSUk9SXQogCQkJSU46IHNtdWRnZSB0ZXN0LnIgJFMgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQogCQkJSU46IHNtdWRnZSB0ZXN0Mi5yICRTMiBbT0tdIC0tIE9VVDogJFMyIC4gW09LXQogCQkJU1RPUAogCQlFT0YKLQkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCQl0ZXN0X2NtcF9leGNsdWRlX2NsZWFuIGV4cGVjdGVkLmxvZyBkZWJ1Zy5sb2cgJiYKIAogCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKIAkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09UL3Rlc3QyLm8iIHRlc3QyLnIgJiYKQEAgLTY0OCw3ICs2NDgsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3Byb2Nlc3MgZmlsdGVyIGFib3J0IHN0b3BzIHByb2Nlc3Npbmcgb2YgYWxsIGZ1cnRoZXIgZmlsZXMnICcKLQl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5wcm9jZXNzICJyb3QxMy1maWx0ZXIucGwgZGVidWcubG9nIGNsZWFuIHNtdWRnZSIgJiYKIAlybSAtcmYgcmVwbyAmJgogCW1rZGlyIHJlcG8gJiYKIAkoCkBAIC02NzMsMTAgKzY3MywxMCBAQAogCQljYXQgPmV4cGVjdGVkLmxvZyA8PC1FT0YgJiYKIAkJCVNUQVJUCiAJCQlpbml0IGhhbmRzaGFrZSBjb21wbGV0ZQotCQkJSU46IHNtdWRnZSBhYm9ydC5yICRTQSBbT0tdIC0tIE9VVDogMCBbQUJPUlRdCisJCQlJTjogc211ZGdlIGFib3J0LnIgJFNBIFtPS10gLS0gW0FCT1JUXQogCQkJU1RPUAogCQlFT0YKLQkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCQl0ZXN0X2NtcF9leGNsdWRlX2NsZWFuIGV4cGVjdGVkLmxvZyBkZWJ1Zy5sb2cgJiYKIAogCQl0ZXN0X2NtcCAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QuciAmJgogCQl0ZXN0X2NtcCAiJFRFU1RfUk9PVC90ZXN0Mi5vIiB0ZXN0Mi5yICYmCkBAIC02OTcsOCArNjk3LDEyNCBAQAogCiAJCWNwICIkVEVTVF9ST09UL3Rlc3QubyIgdGVzdC5yICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBhZGQgLiAyPmdpdC1zdGRlcnIubG9nICYmCi0JCWdyZXAgImRvZXMgbm90IHN1cHBvcnQgZmlsdGVyIHByb3RvY29sIHZlcnNpb24iIGdpdC1zdGRlcnIubG9nCisJCWdyZXAgImV4cGVjdGVkIGdpdC1maWx0ZXItc2VydmVyIiBnaXQtc3RkZXJyLmxvZwogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdkZWxheWVkIGNoZWNrb3V0IGluIHByb2Nlc3MgZmlsdGVyJyAnCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5hLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBhLmxvZyBjbGVhbiBzbXVkZ2UgZGVsYXkiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5hLnJlcXVpcmVkIHRydWUgJiYKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLmIucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGIubG9nIGNsZWFuIHNtdWRnZSBkZWxheSIgJiYKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLmIucmVxdWlyZWQgdHJ1ZSAmJgorCisJcm0gLXJmIHJlcG8gJiYKKwlta2RpciByZXBvICYmCisJKAorCQljZCByZXBvICYmCisJCWdpdCBpbml0ICYmCisJCWVjaG8gIiouYSBmaWx0ZXI9YSIgPi5naXRhdHRyaWJ1dGVzICYmCisJCWVjaG8gIiouYiBmaWx0ZXI9YiIgPj4uZ2l0YXR0cmlidXRlcyAmJgorCQljcCAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QuYSAmJgorCQljcCAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QtZGVsYXkxMC5hICYmCisJCWNwICIkVEVTVF9ST09UL3Rlc3QubyIgdGVzdC1kZWxheTExLmEgJiYKKwkJY3AgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LWRlbGF5MjAuYSAmJgorCQljcCAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QtZGVsYXkxMC5iICYmCisJCWdpdCBhZGQgLiAmJgorCQlnaXQgY29tbWl0IC1tICJ0ZXN0IGNvbW1pdCIKKwkpICYmCisKKwlTPSQoZmlsZV9zaXplICIkVEVTVF9ST09UL3Rlc3QubyIpICYmCisJY2F0ID5hLmV4cCA8PC1FT0YgJiYKKwkJU1RBUlQKKwkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKKwkJSU46IHNtdWRnZSB0ZXN0LmEgJFMgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQorCQlJTjogc211ZGdlIHRlc3QtZGVsYXkxMC5hICRTIFtPS10gLS0gW0RFTEFZRURdCisJCUlOOiBzbXVkZ2UgdGVzdC1kZWxheTExLmEgJFMgW09LXSAtLSBbREVMQVlFRF0KKwkJSU46IHNtdWRnZSB0ZXN0LWRlbGF5MjAuYSAkUyBbT0tdIC0tIFtERUxBWUVEXQorCQlJTjogbGlzdF9hdmFpbGFibGVfYmxvYnMgdGVzdC1kZWxheTEwLmEgdGVzdC1kZWxheTExLmEgW09LXQorCQlJTjogc211ZGdlIHRlc3QtZGVsYXkxMC5hIDAgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQorCQlJTjogc211ZGdlIHRlc3QtZGVsYXkxMS5hIDAgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQorCQlJTjogbGlzdF9hdmFpbGFibGVfYmxvYnMgdGVzdC1kZWxheTIwLmEgW09LXQorCQlJTjogc211ZGdlIHRlc3QtZGVsYXkyMC5hIDAgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQorCQlJTjogbGlzdF9hdmFpbGFibGVfYmxvYnMgW09LXQorCQlTVE9QCisJRU9GCisJY2F0ID5iLmV4cCA8PC1FT0YgJiYKKwkJU1RBUlQKKwkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKKwkJSU46IHNtdWRnZSB0ZXN0LWRlbGF5MTAuYiAkUyBbT0tdIC0tIFtERUxBWUVEXQorCQlJTjogbGlzdF9hdmFpbGFibGVfYmxvYnMgdGVzdC1kZWxheTEwLmIgW09LXQorCQlJTjogc211ZGdlIHRlc3QtZGVsYXkxMC5iIDAgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQorCQlJTjogbGlzdF9hdmFpbGFibGVfYmxvYnMgW09LXQorCQlTVE9QCisJRU9GCisKKwlybSAtcmYgcmVwby1jbG9uZWQgJiYKKwlmaWx0ZXJfZ2l0IGNsb25lIHJlcG8gcmVwby1jbG9uZWQgJiYKKwl0ZXN0X2NtcF9jb3VudCBhLmV4cCByZXBvLWNsb25lZC9hLmxvZyAmJgorCXRlc3RfY21wX2NvdW50IGIuZXhwIHJlcG8tY2xvbmVkL2IubG9nICYmCisKKwkoCisJCWNkIHJlcG8tY2xvbmVkICYmCisJCXRlc3RfY21wX2NvbW1pdHRlZF9yb3QxMyAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QuYSAmJgorCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LWRlbGF5MTAuYSAmJgorCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LWRlbGF5MTEuYSAmJgorCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LWRlbGF5MjAuYSAmJgorCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LWRlbGF5MTAuYiAmJgorCisJCXJtICouYSAqLmIgJiYKKwkJZmlsdGVyX2dpdCBjaGVja291dCAuICYmCisJCXRlc3RfY21wX2NvdW50IC4uL2EuZXhwIGEubG9nICYmCisJCXRlc3RfY21wX2NvdW50IC4uL2IuZXhwIGIubG9nICYmCisKKwkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09UL3Rlc3QubyIgdGVzdC5hICYmCisJCXRlc3RfY21wX2NvbW1pdHRlZF9yb3QxMyAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QtZGVsYXkxMC5hICYmCisJCXRlc3RfY21wX2NvbW1pdHRlZF9yb3QxMyAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QtZGVsYXkxMS5hICYmCisJCXRlc3RfY21wX2NvbW1pdHRlZF9yb3QxMyAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QtZGVsYXkyMC5hICYmCisJCXRlc3RfY21wX2NvbW1pdHRlZF9yb3QxMyAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QtZGVsYXkxMC5iCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ21pc3NpbmcgZmlsZSBpbiBkZWxheWVkIGNoZWNrb3V0JyAnCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5idWcucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGJ1Zy5sb2cgY2xlYW4gc211ZGdlIGRlbGF5IiAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIuYnVnLnJlcXVpcmVkIHRydWUgJiYKKworCXJtIC1yZiByZXBvICYmCisJbWtkaXIgcmVwbyAmJgorCSgKKwkJY2QgcmVwbyAmJgorCQlnaXQgaW5pdCAmJgorCQllY2hvICIqLmEgZmlsdGVyPWJ1ZyIgPi5naXRhdHRyaWJ1dGVzICYmCisJCWNwICIkVEVTVF9ST09UL3Rlc3QubyIgbWlzc2luZy1kZWxheS5hCisJCWdpdCBhZGQgLiAmJgorCQlnaXQgY29tbWl0IC1tICJ0ZXN0IGNvbW1pdCIKKwkpICYmCisKKwlybSAtcmYgcmVwby1jbG9uZWQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2xvbmUgcmVwbyByZXBvLWNsb25lZCAyPmdpdC1zdGRlcnIubG9nICYmCisJY2F0IGdpdC1zdGRlcnIubG9nICYmCisJZ3JlcCAiZXJyb3I6IC5taXNzaW5nLWRlbGF5XC5hLiB3YXMgbm90IGZpbHRlcmVkIHByb3Blcmx5IiBnaXQtc3RkZXJyLmxvZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2ludmFsaWQgZmlsZSBpbiBkZWxheWVkIGNoZWNrb3V0JyAnCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5idWcucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGJ1Zy5sb2cgY2xlYW4gc211ZGdlIGRlbGF5IiAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIuYnVnLnJlcXVpcmVkIHRydWUgJiYKKworCXJtIC1yZiByZXBvICYmCisJbWtkaXIgcmVwbyAmJgorCSgKKwkJY2QgcmVwbyAmJgorCQlnaXQgaW5pdCAmJgorCQllY2hvICIqLmEgZmlsdGVyPWJ1ZyIgPi5naXRhdHRyaWJ1dGVzICYmCisJCWNwICIkVEVTVF9ST09UL3Rlc3QubyIgaW52YWxpZC1kZWxheS5hICYmCisJCWNwICIkVEVTVF9ST09UL3Rlc3QubyIgdW5maWx0ZXJlZAorCQlnaXQgYWRkIC4gJiYKKwkJZ2l0IGNvbW1pdCAtbSAidGVzdCBjb21taXQiCisJKSAmJgorCisJcm0gLXJmIHJlcG8tY2xvbmVkICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNsb25lIHJlcG8gcmVwby1jbG9uZWQgMj5naXQtc3RkZXJyLmxvZyAmJgorCWdyZXAgImVycm9yOiBleHRlcm5hbCBmaWx0ZXIgLiogc2lnbmFsZWQgdGhhdCAudW5maWx0ZXJlZC4gaXMgbm93IGF2YWlsYWJsZSBhbHRob3VnaCBpdCBoYXMgbm90IGJlZW4gZGVsYXllZCBlYXJsaWVyIiBnaXQtc3RkZXJyLmxvZworJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwMjEvcm90MTMtZmlsdGVyLnBsIGIvdC90MDAyMS9yb3QxMy1maWx0ZXIucGwKaW5kZXggNjE3ZjU4MS4uYWQ2ODVkOSAxMDA2NDQKLS0tIGEvdC90MDAyMS9yb3QxMy1maWx0ZXIucGwKKysrIGIvdC90MDAyMS9yb3QxMy1maWx0ZXIucGwKQEAgLTIsOCArMiw5IEBACiAjIEV4YW1wbGUgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBHaXQgZmlsdGVyIHByb3RvY29sIHZlcnNpb24gMgogIyBTZWUgRG9jdW1lbnRhdGlvbi9naXRhdHRyaWJ1dGVzLnR4dCwgc2VjdGlvbiAiRmlsdGVyIFByb3RvY29sIgogIwotIyBUaGUgc2NyaXB0IHRha2VzIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBwcm90b2NvbCBjYXBhYmlsaXRpZXMgYXMKLSMgYXJndW1lbnRzICgiY2xlYW4iLCAic211ZGdlIiwgZXRjKS4KKyMgVGhlIGZpcnN0IGFyZ3VtZW50IGRlZmluZXMgYSBkZWJ1ZyBsb2cgZmlsZSB0aGF0IHRoZSBzY3JpcHQgd3JpdGUgdG8uCisjIEFsbCByZW1haW5pbmcgYXJndW1lbnRzIGRlZmluZSBhIGxpc3Qgb2Ygc3VwcG9ydGVkIHByb3RvY29sCisjIGNhcGFiaWxpdGllcyAoImNsZWFuIiwgInNtdWRnZSIsIGV0YykuCiAjCiAjIFRoaXMgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgc3BlY2lhbCB0ZXN0IGNhc2VzOgogIyAoMSkgSWYgZGF0YSB3aXRoIHRoZSBwYXRobmFtZSAiY2xlYW4td3JpdGUtZmFpbC5yIiBpcyBwcm9jZXNzZWQgd2l0aApAQCAtMTcsNiArMTgsMTYgQEAKICMgICAgIG9wZXJhdGlvbiB0aGVuIHRoZSBmaWx0ZXIgc2lnbmFscyB0aGF0IGl0IGNhbm5vdCBvciBkb2VzIG5vdCB3YW50CiAjICAgICB0byBwcm9jZXNzIHRoZSBmaWxlIGFuZCBhbnkgZmlsZSBhZnRlciB0aGF0IGlzIHByb2Nlc3NlZCB3aXRoIHRoZQogIyAgICAgc2FtZSBjb21tYW5kLgorIyAoNSkgSWYgZGF0YSB3aXRoIGEgcGF0aG5hbWUgdGhhdCBpcyBhIGtleSBpbiB0aGUgREVMQVkgaGFzaCBpcworIyAgICAgcmVxdWVzdGVkIChlLmcuICJ0ZXN0LWRlbGF5MTAuYSIpIHRoZW4gdGhlIGZpbHRlciByZXNwb25kcyB3aXRoCisjICAgICBhICJkZWxheSIgc3RhdHVzIGFuZCBzZXRzIHRoZSAicmVxdWVzdGVkIiBmaWVsZCBpbiB0aGUgREVMQVkgaGFzaC4KKyMgICAgIFRoZSBmaWx0ZXIgd2lsbCBzaWduYWwgdGhlIGF2YWlsYWJpbGl0eSBvZiB0aGlzIG9iamVjdCBhZnRlcgorIyAgICAgImNvdW50IiAoZmllbGQgaW4gREVMQVkgaGFzaCkgImxpc3RfYXZhaWxhYmxlX2Jsb2JzIiBjb21tYW5kcy4KKyMgKDYpIElmIGRhdGEgd2l0aCB0aGUgcGF0aG5hbWUgIm1pc3NpbmctZGVsYXkuYSIgaXMgcHJvY2Vzc2VkIHRoYXQgdGhlCisjICAgICBmaWx0ZXIgd2lsbCBkcm9wIHRoZSBwYXRoIGZyb20gdGhlICJsaXN0X2F2YWlsYWJsZV9ibG9icyIgcmVzcG9uc2UuCisjICg3KSBJZiBkYXRhIHdpdGggdGhlIHBhdGhuYW1lICJpbnZhbGlkLWRlbGF5LmEiIGlzIHByb2Nlc3NlZCB0aGF0IHRoZQorIyAgICAgZmlsdGVyIHdpbGwgYWRkIHRoZSBwYXRoICJ1bmZpbHRlcmVkIiB3aGljaCB3YXMgbm90IGRlbGF5ZWQgYmVmb3JlCisjICAgICB0byB0aGUgImxpc3RfYXZhaWxhYmxlX2Jsb2JzIiByZXNwb25zZS4KICMKIAogdXNlIHN0cmljdDsKQEAgLTI0LDkgKzM1LDE5IEBACiB1c2UgSU86OkZpbGU7CiAKIG15ICRNQVhfUEFDS0VUX0NPTlRFTlRfU0laRSA9IDY1NTE2OworbXkgJGxvZ19maWxlICAgICAgICAgICAgICAgID0gc2hpZnQgQEFSR1Y7CiBteSBAY2FwYWJpbGl0aWVzICAgICAgICAgICAgPSBAQVJHVjsKIAotb3BlbiBteSAkZGVidWcsICI+PiIsICJyb3QxMy1maWx0ZXIubG9nIiBvciBkaWUgImNhbm5vdCBvcGVuIGxvZyBmaWxlOiAkISI7CitvcGVuIG15ICRkZWJ1ZywgIj4+IiwgJGxvZ19maWxlIG9yIGRpZSAiY2Fubm90IG9wZW4gbG9nIGZpbGU6ICQhIjsKKworbXkgJURFTEFZID0gKAorCSd0ZXN0LWRlbGF5MTAuYScgPT4geyAicmVxdWVzdGVkIiA9PiAwLCAiY291bnQiID0+IDEgfSwKKwkndGVzdC1kZWxheTExLmEnID0+IHsgInJlcXVlc3RlZCIgPT4gMCwgImNvdW50IiA9PiAxIH0sCisJJ3Rlc3QtZGVsYXkyMC5hJyA9PiB7ICJyZXF1ZXN0ZWQiID0+IDAsICJjb3VudCIgPT4gMiB9LAorCSd0ZXN0LWRlbGF5MTAuYicgPT4geyAicmVxdWVzdGVkIiA9PiAwLCAiY291bnQiID0+IDEgfSwKKwknbWlzc2luZy1kZWxheS5hJyA9PiB7ICJyZXF1ZXN0ZWQiID0+IDAsICJjb3VudCIgPT4gMSB9LAorCSdpbnZhbGlkLWRlbGF5LmEnID0+IHsgInJlcXVlc3RlZCIgPT4gMCwgImNvdW50IiA9PiAxIH0sCispOwogCiBzdWIgcm90MTMgewogCW15ICRzdHIgPSBzaGlmdDsKQEAgLTY0LDcgKzg1LDcgQEAKIAogc3ViIHBhY2tldF90eHRfcmVhZCB7CiAJbXkgKCAkcmVzLCAkYnVmICkgPSBwYWNrZXRfYmluX3JlYWQoKTsKLQl1bmxlc3MgKCAkYnVmID1+IHMvXG4kLy8gKSB7CisJdW5sZXNzICggJGJ1ZiBlcSAnJyBvciAkYnVmID1+IHMvXG4kLy8gKSB7CiAJCWRpZSAiQSBub24tYmluYXJ5IGxpbmUgTVVTVCBiZSB0ZXJtaW5hdGVkIGJ5IGFuIExGLiI7CiAJfQogCXJldHVybiAoICRyZXMsICRidWYgKTsKQEAgLTk5LDYgKzEyMCw3IEBACiAKICggcGFja2V0X3R4dF9yZWFkKCkgZXEgKCAwLCAiY2FwYWJpbGl0eT1jbGVhbiIgKSApICB8fCBkaWUgImJhZCBjYXBhYmlsaXR5IjsKICggcGFja2V0X3R4dF9yZWFkKCkgZXEgKCAwLCAiY2FwYWJpbGl0eT1zbXVkZ2UiICkgKSB8fCBkaWUgImJhZCBjYXBhYmlsaXR5IjsKKyggcGFja2V0X3R4dF9yZWFkKCkgZXEgKCAwLCAiY2FwYWJpbGl0eT1kZWxheSIgKSApICB8fCBkaWUgImJhZCBjYXBhYmlsaXR5IjsKICggcGFja2V0X2Jpbl9yZWFkKCkgZXEgKCAxLCAiIiApICkgICAgICAgICAgICAgICAgICB8fCBkaWUgImJhZCBjYXBhYmlsaXR5IGVuZCI7CiAKIGZvcmVhY2ggKEBjYXBhYmlsaXRpZXMpIHsKQEAgLTEwOSw4OCArMTMxLDE0MiBAQAogJGRlYnVnLT5mbHVzaCgpOwogCiB3aGlsZSAoMSkgewotCW15ICgkY29tbWFuZCkgPSBwYWNrZXRfdHh0X3JlYWQoKSA9fiAvXmNvbW1hbmQ9KC4rKSQvOworCW15ICggJGNvbW1hbmQgKSA9IHBhY2tldF90eHRfcmVhZCgpID1+IC9eY29tbWFuZD0oLispJC87CiAJcHJpbnQgJGRlYnVnICJJTjogJGNvbW1hbmQiOwogCSRkZWJ1Zy0+Zmx1c2goKTsKIAotCW15ICgkcGF0aG5hbWUpID0gcGFja2V0X3R4dF9yZWFkKCkgPX4gL15wYXRobmFtZT0oLispJC87Ci0JcHJpbnQgJGRlYnVnICIgJHBhdGhuYW1lIjsKLQkkZGVidWctPmZsdXNoKCk7CisJaWYgKCAkY29tbWFuZCBlcSAibGlzdF9hdmFpbGFibGVfYmxvYnMiICkgeworCQkjIEZsdXNoCisJCXBhY2tldF9iaW5fcmVhZCgpOwogCi0JaWYgKCAkcGF0aG5hbWUgZXEgIiIgKSB7Ci0JCWRpZSAiYmFkIHBhdGhuYW1lICckcGF0aG5hbWUnIjsKLQl9Ci0KLQkjIEZsdXNoCi0JcGFja2V0X2Jpbl9yZWFkKCk7Ci0KLQlteSAkaW5wdXQgPSAiIjsKLQl7Ci0JCWJpbm1vZGUoU1RESU4pOwotCQlteSAkYnVmZmVyOwotCQlteSAkZG9uZSA9IDA7Ci0JCXdoaWxlICggISRkb25lICkgewotCQkJKCAkZG9uZSwgJGJ1ZmZlciApID0gcGFja2V0X2Jpbl9yZWFkKCk7Ci0JCQkkaW5wdXQgLj0gJGJ1ZmZlcjsKLQkJfQotCQlwcmludCAkZGVidWcgIiAiIC4gbGVuZ3RoKCRpbnB1dCkgLiAiIFtPS10gLS0gIjsKLQkJJGRlYnVnLT5mbHVzaCgpOwotCX0KLQotCW15ICRvdXRwdXQ7Ci0JaWYgKCAkcGF0aG5hbWUgZXEgImVycm9yLnIiIG9yICRwYXRobmFtZSBlcSAiYWJvcnQuciIgKSB7Ci0JCSRvdXRwdXQgPSAiIjsKLQl9Ci0JZWxzaWYgKCAkY29tbWFuZCBlcSAiY2xlYW4iIGFuZCBncmVwKCAvXmNsZWFuJC8sIEBjYXBhYmlsaXRpZXMgKSApIHsKLQkJJG91dHB1dCA9IHJvdDEzKCRpbnB1dCk7Ci0JfQotCWVsc2lmICggJGNvbW1hbmQgZXEgInNtdWRnZSIgYW5kIGdyZXAoIC9ec211ZGdlJC8sIEBjYXBhYmlsaXRpZXMgKSApIHsKLQkJJG91dHB1dCA9IHJvdDEzKCRpbnB1dCk7Ci0JfQotCWVsc2UgewotCQlkaWUgImJhZCBjb21tYW5kICckY29tbWFuZCciOwotCX0KLQotCXByaW50ICRkZWJ1ZyAiT1VUOiAiIC4gbGVuZ3RoKCRvdXRwdXQpIC4gIiAiOwotCSRkZWJ1Zy0+Zmx1c2goKTsKLQotCWlmICggJHBhdGhuYW1lIGVxICJlcnJvci5yIiApIHsKLQkJcHJpbnQgJGRlYnVnICJbRVJST1JdXG4iOwotCQkkZGVidWctPmZsdXNoKCk7Ci0JCXBhY2tldF90eHRfd3JpdGUoInN0YXR1cz1lcnJvciIpOwotCQlwYWNrZXRfZmx1c2goKTsKLQl9Ci0JZWxzaWYgKCAkcGF0aG5hbWUgZXEgImFib3J0LnIiICkgewotCQlwcmludCAkZGVidWcgIltBQk9SVF1cbiI7Ci0JCSRkZWJ1Zy0+Zmx1c2goKTsKLQkJcGFja2V0X3R4dF93cml0ZSgic3RhdHVzPWFib3J0Iik7Ci0JCXBhY2tldF9mbHVzaCgpOwotCX0KLQllbHNlIHsKLQkJcGFja2V0X3R4dF93cml0ZSgic3RhdHVzPXN1Y2Nlc3MiKTsKLQkJcGFja2V0X2ZsdXNoKCk7Ci0KLQkJaWYgKCAkcGF0aG5hbWUgZXEgIiR7Y29tbWFuZH0td3JpdGUtZmFpbC5yIiApIHsKLQkJCXByaW50ICRkZWJ1ZyAiW1dSSVRFIEZBSUxdXG4iOwotCQkJJGRlYnVnLT5mbHVzaCgpOwotCQkJZGllICIke2NvbW1hbmR9IHdyaXRlIGVycm9yIjsKLQkJfQotCi0JCXdoaWxlICggbGVuZ3RoKCRvdXRwdXQpID4gMCApIHsKLQkJCW15ICRwYWNrZXQgPSBzdWJzdHIoICRvdXRwdXQsIDAsICRNQVhfUEFDS0VUX0NPTlRFTlRfU0laRSApOwotCQkJcGFja2V0X2Jpbl93cml0ZSgkcGFja2V0KTsKLQkJCSMgZG90cyByZXByZXNlbnQgdGhlIG51bWJlciBvZiBwYWNrZXRzCi0JCQlwcmludCAkZGVidWcgIi4iOwotCQkJaWYgKCBsZW5ndGgoJG91dHB1dCkgPiAkTUFYX1BBQ0tFVF9DT05URU5UX1NJWkUgKSB7Ci0JCQkJJG91dHB1dCA9IHN1YnN0ciggJG91dHB1dCwgJE1BWF9QQUNLRVRfQ09OVEVOVF9TSVpFICk7Ci0JCQl9Ci0JCQllbHNlIHsKLQkJCQkkb3V0cHV0ID0gIiI7CisJCWZvcmVhY2ggbXkgJHBhdGhuYW1lICggc29ydCBrZXlzICVERUxBWSApIHsKKwkJCWlmICggJERFTEFZeyRwYXRobmFtZX17InJlcXVlc3RlZCJ9ID49IDEgKSB7CisJCQkJJERFTEFZeyRwYXRobmFtZX17ImNvdW50In0gPSAkREVMQVl7JHBhdGhuYW1lfXsiY291bnQifSAtIDE7CisJCQkJaWYgKCAkcGF0aG5hbWUgZXEgImludmFsaWQtZGVsYXkuYSIgKSB7CisJCQkJCSMgU2VuZCBHaXQgYSBwYXRobmFtZSB0aGF0IHdhcyBub3QgZGVsYXllZCBlYXJsaWVyCisJCQkJCXBhY2tldF90eHRfd3JpdGUoInBhdGhuYW1lPXVuZmlsdGVyZWQiKTsKKwkJCQl9CisJCQkJaWYgKCAkcGF0aG5hbWUgZXEgIm1pc3NpbmctZGVsYXkuYSIgKSB7CisJCQkJCSMgRG8gbm90IHNpZ25hbCBHaXQgdGhhdCB0aGlzIGZpbGUgaXMgYXZhaWxhYmxlCisJCQkJfSBlbHNpZiAoICRERUxBWXskcGF0aG5hbWV9eyJjb3VudCJ9ID09IDAgKSB7CisJCQkJCXByaW50ICRkZWJ1ZyAiICRwYXRobmFtZSI7CisJCQkJCXBhY2tldF90eHRfd3JpdGUoInBhdGhuYW1lPSRwYXRobmFtZSIpOworCQkJCX0KIAkJCX0KIAkJfQorCiAJCXBhY2tldF9mbHVzaCgpOworCiAJCXByaW50ICRkZWJ1ZyAiIFtPS11cbiI7CiAJCSRkZWJ1Zy0+Zmx1c2goKTsKKwkJcGFja2V0X3R4dF93cml0ZSgic3RhdHVzPXN1Y2Nlc3MiKTsKIAkJcGFja2V0X2ZsdXNoKCk7CiAJfQorCWVsc2UgeworCQlteSAoICRwYXRobmFtZSApID0gcGFja2V0X3R4dF9yZWFkKCkgPX4gL15wYXRobmFtZT0oLispJC87CisJCXByaW50ICRkZWJ1ZyAiICRwYXRobmFtZSI7CisJCSRkZWJ1Zy0+Zmx1c2goKTsKKworCQlpZiAoICRwYXRobmFtZSBlcSAiIiApIHsKKwkJCWRpZSAiYmFkIHBhdGhuYW1lICckcGF0aG5hbWUnIjsKKwkJfQorCisJCSMgUmVhZCB1bnRpbCBmbHVzaAorCQlteSAoICRkb25lLCAkYnVmZmVyICkgPSBwYWNrZXRfdHh0X3JlYWQoKTsKKwkJd2hpbGUgKCAkYnVmZmVyIG5lICcnICkgeworCQkJaWYgKCAkYnVmZmVyIGVxICJjYW4tZGVsYXk9MSIgKSB7CisJCQkJaWYgKCBleGlzdHMgJERFTEFZeyRwYXRobmFtZX0gYW5kICRERUxBWXskcGF0aG5hbWV9eyJyZXF1ZXN0ZWQifSA9PSAwICkgeworCQkJCQkkREVMQVl7JHBhdGhuYW1lfXsicmVxdWVzdGVkIn0gPSAxOworCQkJCX0KKwkJCX0gZWxzZSB7CisJCQkJZGllICJVbmtub3duIG1lc3NhZ2UgJyRidWZmZXInIjsKKwkJCX0KKworCQkJKCAkZG9uZSwgJGJ1ZmZlciApID0gcGFja2V0X3R4dF9yZWFkKCk7CisJCX0KKworCQlteSAkaW5wdXQgPSAiIjsKKwkJeworCQkJYmlubW9kZShTVERJTik7CisJCQlteSAkYnVmZmVyOworCQkJbXkgJGRvbmUgPSAwOworCQkJd2hpbGUgKCAhJGRvbmUgKSB7CisJCQkJKCAkZG9uZSwgJGJ1ZmZlciApID0gcGFja2V0X2Jpbl9yZWFkKCk7CisJCQkJJGlucHV0IC49ICRidWZmZXI7CisJCQl9CisJCQlwcmludCAkZGVidWcgIiAiIC4gbGVuZ3RoKCRpbnB1dCkgLiAiIFtPS10gLS0gIjsKKwkJCSRkZWJ1Zy0+Zmx1c2goKTsKKwkJfQorCisJCW15ICRvdXRwdXQ7CisJCWlmICggZXhpc3RzICRERUxBWXskcGF0aG5hbWV9IGFuZCBleGlzdHMgJERFTEFZeyRwYXRobmFtZX17Im91dHB1dCJ9ICkgeworCQkJJG91dHB1dCA9ICRERUxBWXskcGF0aG5hbWV9eyJvdXRwdXQifQorCQl9CisJCWVsc2lmICggJHBhdGhuYW1lIGVxICJlcnJvci5yIiBvciAkcGF0aG5hbWUgZXEgImFib3J0LnIiICkgeworCQkJJG91dHB1dCA9ICIiOworCQl9CisJCWVsc2lmICggJGNvbW1hbmQgZXEgImNsZWFuIiBhbmQgZ3JlcCggL15jbGVhbiQvLCBAY2FwYWJpbGl0aWVzICkgKSB7CisJCQkkb3V0cHV0ID0gcm90MTMoJGlucHV0KTsKKwkJfQorCQllbHNpZiAoICRjb21tYW5kIGVxICJzbXVkZ2UiIGFuZCBncmVwKCAvXnNtdWRnZSQvLCBAY2FwYWJpbGl0aWVzICkgKSB7CisJCQkkb3V0cHV0ID0gcm90MTMoJGlucHV0KTsKKwkJfQorCQllbHNlIHsKKwkJCWRpZSAiYmFkIGNvbW1hbmQgJyRjb21tYW5kJyI7CisJCX0KKworCQlpZiAoICRwYXRobmFtZSBlcSAiZXJyb3IuciIgKSB7CisJCQlwcmludCAkZGVidWcgIltFUlJPUl1cbiI7CisJCQkkZGVidWctPmZsdXNoKCk7CisJCQlwYWNrZXRfdHh0X3dyaXRlKCJzdGF0dXM9ZXJyb3IiKTsKKwkJCXBhY2tldF9mbHVzaCgpOworCQl9CisJCWVsc2lmICggJHBhdGhuYW1lIGVxICJhYm9ydC5yIiApIHsKKwkJCXByaW50ICRkZWJ1ZyAiW0FCT1JUXVxuIjsKKwkJCSRkZWJ1Zy0+Zmx1c2goKTsKKwkJCXBhY2tldF90eHRfd3JpdGUoInN0YXR1cz1hYm9ydCIpOworCQkJcGFja2V0X2ZsdXNoKCk7CisJCX0KKwkJZWxzaWYgKCAkY29tbWFuZCBlcSAic211ZGdlIiBhbmQKKwkJCWV4aXN0cyAkREVMQVl7JHBhdGhuYW1lfSBhbmQKKwkJCSRERUxBWXskcGF0aG5hbWV9eyJyZXF1ZXN0ZWQifSA9PSAxCisJCSkgeworCQkJcHJpbnQgJGRlYnVnICJbREVMQVlFRF1cbiI7CisJCQkkZGVidWctPmZsdXNoKCk7CisJCQlwYWNrZXRfdHh0X3dyaXRlKCJzdGF0dXM9ZGVsYXllZCIpOworCQkJcGFja2V0X2ZsdXNoKCk7CisJCQkkREVMQVl7JHBhdGhuYW1lfXsicmVxdWVzdGVkIn0gPSAyOworCQkJJERFTEFZeyRwYXRobmFtZX17Im91dHB1dCJ9ID0gJG91dHB1dDsKKwkJfQorCQllbHNlIHsKKwkJCXBhY2tldF90eHRfd3JpdGUoInN0YXR1cz1zdWNjZXNzIik7CisJCQlwYWNrZXRfZmx1c2goKTsKKworCQkJaWYgKCAkcGF0aG5hbWUgZXEgIiR7Y29tbWFuZH0td3JpdGUtZmFpbC5yIiApIHsKKwkJCQlwcmludCAkZGVidWcgIltXUklURSBGQUlMXVxuIjsKKwkJCQkkZGVidWctPmZsdXNoKCk7CisJCQkJZGllICIke2NvbW1hbmR9IHdyaXRlIGVycm9yIjsKKwkJCX0KKworCQkJcHJpbnQgJGRlYnVnICJPVVQ6ICIgLiBsZW5ndGgoJG91dHB1dCkgLiAiICI7CisJCQkkZGVidWctPmZsdXNoKCk7CisKKwkJCXdoaWxlICggbGVuZ3RoKCRvdXRwdXQpID4gMCApIHsKKwkJCQlteSAkcGFja2V0ID0gc3Vic3RyKCAkb3V0cHV0LCAwLCAkTUFYX1BBQ0tFVF9DT05URU5UX1NJWkUgKTsKKwkJCQlwYWNrZXRfYmluX3dyaXRlKCRwYWNrZXQpOworCQkJCSMgZG90cyByZXByZXNlbnQgdGhlIG51bWJlciBvZiBwYWNrZXRzCisJCQkJcHJpbnQgJGRlYnVnICIuIjsKKwkJCQlpZiAoIGxlbmd0aCgkb3V0cHV0KSA+ICRNQVhfUEFDS0VUX0NPTlRFTlRfU0laRSApIHsKKwkJCQkJJG91dHB1dCA9IHN1YnN0ciggJG91dHB1dCwgJE1BWF9QQUNLRVRfQ09OVEVOVF9TSVpFICk7CisJCQkJfQorCQkJCWVsc2UgeworCQkJCQkkb3V0cHV0ID0gIiI7CisJCQkJfQorCQkJfQorCQkJcGFja2V0X2ZsdXNoKCk7CisJCQlwcmludCAkZGVidWcgIiBbT0tdXG4iOworCQkJJGRlYnVnLT5mbHVzaCgpOworCQkJcGFja2V0X2ZsdXNoKCk7CisJCX0KKwl9CiB9CmRpZmYgLS1naXQgYS90L3QwMDI1LWNybGYtYXV0by5zaCBiL3QvdDAwMjUtY3JsZi1hdXRvLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBkMGJlZTA4Li4wMDAwMDAwCi0tLSBhL3QvdDAwMjUtY3JsZi1hdXRvLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMTU1ICswLDAgQEAKLSMhL2Jpbi9zaAotCi10ZXN0X2Rlc2NyaXB0aW9uPSdDUkxGIGNvbnZlcnNpb24nCi0KLS4gLi90ZXN0LWxpYi5zaAotCi1oYXNfY3IoKSB7Ci0JdHIgJ1wwMTUnIFEgPCIkMSIgfCBncmVwIFEgPi9kZXYvbnVsbAotfQotCi10ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKLQotCWdpdCBjb25maWcgY29yZS5hdXRvY3JsZiBmYWxzZSAmJgotCi0JZm9yIHcgaW4gSGVsbG8gd29ybGQgaG93IGFyZSB5b3U7IGRvIGVjaG8gJHc7IGRvbmUgPkxGb25seSAmJgotCWZvciB3IGluIEkgYW0gdmVyeSB2ZXJ5IGZpbmUgdGhhbmsgeW91OyBkbyBlY2hvICR7d31ROyBkb25lIHwgcV90b19jciA+Q1JMRm9ubHkgJiYKLQlmb3IgdyBpbiBPaCBoZXJlIGlzIGEgUU5VTCBieXRlIGhvdyBhbGFybWluZzsgZG8gZWNobyAke3d9OyBkb25lIHwgcV90b19udWwgPkxGd2l0aE5VTCAmJgotCWdpdCBhZGQgLiAmJgotCi0JZ2l0IGNvbW1pdCAtbSBpbml0aWFsICYmCi0KLQlMRm9ubHk9JChnaXQgcmV2LXBhcnNlIEhFQUQ6TEZvbmx5KSAmJgotCUNSTEZvbmx5PSQoZ2l0IHJldi1wYXJzZSBIRUFEOkNSTEZvbmx5KSAmJgotCUxGd2l0aE5VTD0kKGdpdCByZXYtcGFyc2UgSEVBRDpMRndpdGhOVUwpICYmCi0KLQllY2hvIGhhcHB5LgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWZhdWx0IHNldHRpbmdzIGNhdXNlIG5vIGNoYW5nZXMnICcKLQotCXJtIC1mIC5naXRhdHRyaWJ1dGVzIHRtcCBMRm9ubHkgQ1JMRm9ubHkgTEZ3aXRoTlVMICYmCi0JZ2l0IHJlYWQtdHJlZSAtLXJlc2V0IC11IEhFQUQgJiYKLQotCSEgaGFzX2NyIExGb25seSAmJgotCWhhc19jciBDUkxGb25seSAmJgotCUxGb25seWRpZmY9JChnaXQgZGlmZiBMRm9ubHkpICYmCi0JQ1JMRm9ubHlkaWZmPSQoZ2l0IGRpZmYgQ1JMRm9ubHkpICYmCi0JTEZ3aXRoTlVMZGlmZj0kKGdpdCBkaWZmIExGd2l0aE5VTCkgJiYKLQl0ZXN0IC16ICIkTEZvbmx5ZGlmZiIgLWEgLXogIiRDUkxGb25seWRpZmYiIC1hIC16ICIkTEZ3aXRoTlVMZGlmZiIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JsZj10cnVlIGNhdXNlcyBhIENSTEYgZmlsZSB0byBiZSBub3JtYWxpemVkJyAnCi0KLQkjIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGNoZWNrCi0Jcm0gLWYgLmdpdGF0dHJpYnV0ZXMgdG1wIExGb25seSBDUkxGb25seSBMRndpdGhOVUwgJiYKLQllY2hvICJDUkxGb25seSBjcmxmIiA+IC5naXRhdHRyaWJ1dGVzICYmCi0JZ2l0IHJlYWQtdHJlZSAtLXJlc2V0IC11IEhFQUQgJiYKLQotCSMgTm90ZSwgIm5vcm1hbGl6ZWQiIG1lYW5zIHRoYXQgZ2l0IHdpbGwgbm9ybWFsaXplIGl0IGlmIGFkZGVkCi0JaGFzX2NyIENSTEZvbmx5ICYmCi0JQ1JMRm9ubHlkaWZmPSQoZ2l0IGRpZmYgQ1JMRm9ubHkpICYmCi0JdGVzdCAtbiAiJENSTEZvbmx5ZGlmZiIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAndGV4dD10cnVlIGNhdXNlcyBhIENSTEYgZmlsZSB0byBiZSBub3JtYWxpemVkJyAnCi0KLQlybSAtZiAuZ2l0YXR0cmlidXRlcyB0bXAgTEZvbmx5IENSTEZvbmx5IExGd2l0aE5VTCAmJgotCWVjaG8gIkNSTEZvbmx5IHRleHQiID4gLmdpdGF0dHJpYnV0ZXMgJiYKLQlnaXQgcmVhZC10cmVlIC0tcmVzZXQgLXUgSEVBRCAmJgotCi0JIyBOb3RlLCAibm9ybWFsaXplZCIgbWVhbnMgdGhhdCBnaXQgd2lsbCBub3JtYWxpemUgaXQgaWYgYWRkZWQKLQloYXNfY3IgQ1JMRm9ubHkgJiYKLQlDUkxGb25seWRpZmY9JChnaXQgZGlmZiBDUkxGb25seSkgJiYKLQl0ZXN0IC1uICIkQ1JMRm9ubHlkaWZmIgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdlb2w9Y3JsZiBnaXZlcyBhIG5vcm1hbGl6ZWQgZmlsZSBDUkxGcyB3aXRoIGF1dG9jcmxmPWZhbHNlJyAnCi0KLQlybSAtZiAuZ2l0YXR0cmlidXRlcyB0bXAgTEZvbmx5IENSTEZvbmx5IExGd2l0aE5VTCAmJgotCWdpdCBjb25maWcgY29yZS5hdXRvY3JsZiBmYWxzZSAmJgotCWVjaG8gIkxGb25seSBlb2w9Y3JsZiIgPiAuZ2l0YXR0cmlidXRlcyAmJgotCWdpdCByZWFkLXRyZWUgLS1yZXNldCAtdSBIRUFEICYmCi0KLQloYXNfY3IgTEZvbmx5ICYmCi0JTEZvbmx5ZGlmZj0kKGdpdCBkaWZmIExGb25seSkgJiYKLQl0ZXN0IC16ICIkTEZvbmx5ZGlmZiIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZW9sPWNybGYgZ2l2ZXMgYSBub3JtYWxpemVkIGZpbGUgQ1JMRnMgd2l0aCBhdXRvY3JsZj1pbnB1dCcgJwotCi0Jcm0gLWYgLmdpdGF0dHJpYnV0ZXMgdG1wIExGb25seSBDUkxGb25seSBMRndpdGhOVUwgJiYKLQlnaXQgY29uZmlnIGNvcmUuYXV0b2NybGYgaW5wdXQgJiYKLQllY2hvICJMRm9ubHkgZW9sPWNybGYiID4gLmdpdGF0dHJpYnV0ZXMgJiYKLQlnaXQgcmVhZC10cmVlIC0tcmVzZXQgLXUgSEVBRCAmJgotCi0JaGFzX2NyIExGb25seSAmJgotCUxGb25seWRpZmY9JChnaXQgZGlmZiBMRm9ubHkpICYmCi0JdGVzdCAteiAiJExGb25seWRpZmYiCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VvbD1sZiBnaXZlcyBhIG5vcm1hbGl6ZWQgZmlsZSBMRnMgd2l0aCBhdXRvY3JsZj10cnVlJyAnCi0KLQlybSAtZiAuZ2l0YXR0cmlidXRlcyB0bXAgTEZvbmx5IENSTEZvbmx5IExGd2l0aE5VTCAmJgotCWdpdCBjb25maWcgY29yZS5hdXRvY3JsZiB0cnVlICYmCi0JZWNobyAiTEZvbmx5IGVvbD1sZiIgPiAuZ2l0YXR0cmlidXRlcyAmJgotCWdpdCByZWFkLXRyZWUgLS1yZXNldCAtdSBIRUFEICYmCi0KLQkhIGhhc19jciBMRm9ubHkgJiYKLQlMRm9ubHlkaWZmPSQoZ2l0IGRpZmYgTEZvbmx5KSAmJgotCXRlc3QgLXogIiRMRm9ubHlkaWZmIgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRvY3JsZj10cnVlIGRvZXMgbm90IG5vcm1hbGl6ZSBDUkxGIGZpbGVzJyAnCi0KLQlybSAtZiAuZ2l0YXR0cmlidXRlcyB0bXAgTEZvbmx5IENSTEZvbmx5IExGd2l0aE5VTCAmJgotCWdpdCBjb25maWcgY29yZS5hdXRvY3JsZiB0cnVlICYmCi0JZ2l0IHJlYWQtdHJlZSAtLXJlc2V0IC11IEhFQUQgJiYKLQotCWhhc19jciBMRm9ubHkgJiYKLQloYXNfY3IgQ1JMRm9ubHkgJiYKLQlMRm9ubHlkaWZmPSQoZ2l0IGRpZmYgTEZvbmx5KSAmJgotCUNSTEZvbmx5ZGlmZj0kKGdpdCBkaWZmIENSTEZvbmx5KSAmJgotCUxGd2l0aE5VTGRpZmY9JChnaXQgZGlmZiBMRndpdGhOVUwpICYmCi0JdGVzdCAteiAiJExGb25seWRpZmYiIC1hIC16ICIkQ1JMRm9ubHlkaWZmIiAtYSAteiAiJExGd2l0aE5VTGRpZmYiCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RleHQ9YXV0bywgYXV0b2NybGY9dHJ1ZSBkb2VzIG5vdCBub3JtYWxpemUgQ1JMRiBmaWxlcycgJwotCi0Jcm0gLWYgLmdpdGF0dHJpYnV0ZXMgdG1wIExGb25seSBDUkxGb25seSBMRndpdGhOVUwgJiYKLQlnaXQgY29uZmlnIGNvcmUuYXV0b2NybGYgdHJ1ZSAmJgotCWVjaG8gIiogdGV4dD1hdXRvIiA+IC5naXRhdHRyaWJ1dGVzICYmCi0JZ2l0IHJlYWQtdHJlZSAtLXJlc2V0IC11IEhFQUQgJiYKLQotCWhhc19jciBMRm9ubHkgJiYKLQloYXNfY3IgQ1JMRm9ubHkgJiYKLQlMRm9ubHlkaWZmPSQoZ2l0IGRpZmYgTEZvbmx5KSAmJgotCUNSTEZvbmx5ZGlmZj0kKGdpdCBkaWZmIENSTEZvbmx5KSAmJgotCUxGd2l0aE5VTGRpZmY9JChnaXQgZGlmZiBMRndpdGhOVUwpICYmCi0JdGVzdCAteiAiJExGb25seWRpZmYiIC1hIC16ICIkQ1JMRm9ubHlkaWZmIiAtYSAteiAiJExGd2l0aE5VTGRpZmYiCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RleHQ9YXV0bywgYXV0b2NybGY9dHJ1ZSBkb2VzIG5vdCBub3JtYWxpemUgYmluYXJ5IGZpbGVzJyAnCi0KLQlybSAtZiAuZ2l0YXR0cmlidXRlcyB0bXAgTEZvbmx5IENSTEZvbmx5IExGd2l0aE5VTCAmJgotCWdpdCBjb25maWcgY29yZS5hdXRvY3JsZiB0cnVlICYmCi0JZWNobyAiKiB0ZXh0PWF1dG8iID4gLmdpdGF0dHJpYnV0ZXMgJiYKLQlnaXQgcmVhZC10cmVlIC0tcmVzZXQgLXUgSEVBRCAmJgotCi0JISBoYXNfY3IgTEZ3aXRoTlVMICYmCi0JTEZ3aXRoTlVMZGlmZj0kKGdpdCBkaWZmIExGd2l0aE5VTCkgJiYKLQl0ZXN0IC16ICIkTEZ3aXRoTlVMZGlmZiIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZW9sPWNybGYgX2RvZXNfIG5vcm1hbGl6ZSBiaW5hcnkgZmlsZXMnICcKLQotCXJtIC1mIC5naXRhdHRyaWJ1dGVzIHRtcCBMRm9ubHkgQ1JMRm9ubHkgTEZ3aXRoTlVMICYmCi0JZWNobyAiTEZ3aXRoTlVMIGVvbD1jcmxmIiA+IC5naXRhdHRyaWJ1dGVzICYmCi0JZ2l0IHJlYWQtdHJlZSAtLXJlc2V0IC11IEhFQUQgJiYKLQotCWhhc19jciBMRndpdGhOVUwgJiYKLQlMRndpdGhOVUxkaWZmPSQoZ2l0IGRpZmYgTEZ3aXRoTlVMKSAmJgotCXRlc3QgLXogIiRMRndpdGhOVUxkaWZmIgotJwotCi10ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwMjctYXV0by1jcmxmLnNoIGIvdC90MDAyNy1hdXRvLWNybGYuc2gKaW5kZXggOTBkYjU0Yy4uZGViM2FlNyAxMDA3NTUKLS0tIGEvdC90MDAyNy1hdXRvLWNybGYuc2gKKysrIGIvdC90MDAyNy1hdXRvLWNybGYuc2gKQEAgLTQsMTIgKzQsNiBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotaWYgISB0ZXN0X2hhdmVfcHJlcmVxIEVYUEVOU0lWRQotdGhlbgotCXNraXBfYWxsPSJFWFBFTlNJVkUgbm90IHNldCIKLQl0ZXN0X2RvbmUKLWZpCi0KIGNvbXBhcmVfZmlsZXMgKCkgewogCXRyICdcMDE1XDAwMCcgUU4gPCIkMSIgPiIkMSIuZXhwZWN0ICYmCiAJdHIgJ1wwMTVcMDAwJyBRTiA8IiQyIiB8IHRyIC1kICdaJyA+IiQyIi5hY3R1YWwgJiYKQEAgLTc1LDcgKzY5LDcgQEAKIAkqKSBlY2hvID4mMiAiSWxsZWdhbCAxIjogIiQxIiA7IHJldHVybiBmYWxzZSA7OwogCWVzYWMKIAlncmVwICJ3aWxsIGJlIHJlcGxhY2VkIGJ5IiAiJDIiIHwgc2VkIC1lICJzL1woLipcKSBpbiBbXiBdKiQvXDEvIiB8IHVuaXEgID4iJDIiLmFjdHVhbAotCXRlc3RfY21wICIkMiIuZXhwZWN0ICIkMiIuYWN0dWFsCisJdGVzdF9pMThuY21wICIkMiIuZXhwZWN0ICIkMiIuYWN0dWFsCiB9CiAKIGNvbW1pdF9jaGVja193YXJuICgpIHsKZGlmZiAtLWdpdCBhL3QvdDAwNDAtcGFyc2Utb3B0aW9ucy5zaCBiL3QvdDAwNDAtcGFyc2Utb3B0aW9ucy5zaAppbmRleCA3NGQyY2Q3Li4wYzJmYzgxIDEwMDc1NQotLS0gYS90L3QwMDQwLXBhcnNlLW9wdGlvbnMuc2gKKysrIGIvdC90MDA0MC1wYXJzZS1vcHRpb25zLnNoCkBAIC0xMCw2ICsxMCw4IEBACiBjYXQgPmV4cGVjdCA8PFxFT0YKIHVzYWdlOiB0ZXN0LXBhcnNlLW9wdGlvbnMgPG9wdGlvbnM+CiAKKyAgICBBIGhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIHBhcnNlLW9wdGlvbnMgQVBJLgorCiAgICAgLS15ZXMgICAgICAgICAgICAgICAgIGdldCBhIGJvb2xlYW4KICAgICAtRCwgLS1uby1kb3VidCAgICAgICAgYmVnaW5zIHdpdGggJ25vLScKICAgICAtQiwgLS1uby1mZWFyICAgICAgICAgYmUgYnJhdmUKZGlmZiAtLWdpdCBhL3QvdDAwNjAtcGF0aC11dGlscy5zaCBiL3QvdDAwNjAtcGF0aC11dGlscy5zaAppbmRleCA0NDRiNWE0Li43ZWEyYmI1IDEwMDc1NQotLS0gYS90L3QwMDYwLXBhdGgtdXRpbHMuc2gKKysrIGIvdC90MDA2MC1wYXRoLXV0aWxzLnNoCkBAIC03MCw2ICs3MCw4IEBACiBjYXNlICQodW5hbWUgLXMpIGluCiAqTUlOR1cqKQogCTs7CisqQ1lHV0lOKikKKwk7OwogKikKIAl0ZXN0X3NldF9wcmVyZXEgUE9TSVgKIAk7OwpkaWZmIC0tZ2l0IGEvdC90MDA2MS1ydW4tY29tbWFuZC5zaCBiL3QvdDAwNjEtcnVuLWNvbW1hbmQuc2gKaW5kZXggMTIyMjhiNC4uZTQ3MzkxNyAxMDA3NTUKLS0tIGEvdC90MDA2MS1ydW4tY29tbWFuZC5zaAorKysgYi90L3QwMDYxLXJ1bi1jb21tYW5kLnNoCkBAIC0yNiw2ICsyNiw0NyBAQAogCXRlc3RfY21wIGVtcHR5IGVycgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVyAncnVuX2NvbW1hbmQgY2FuIHJ1biBhIHNjcmlwdCB3aXRob3V0IGEgIyEgbGluZScgJworCWNhdCA+aGVsbG8gPDwtXEVPRiAmJgorCWNhdCBoZWxsby1zY3JpcHQKKwlFT0YKKwljaG1vZCAreCBoZWxsbyAmJgorCXRlc3QtcnVuLWNvbW1hbmQgcnVuLWNvbW1hbmQgLi9oZWxsbyA+YWN0dWFsIDI+ZXJyICYmCisKKwl0ZXN0X2NtcCBoZWxsby1zY3JpcHQgYWN0dWFsICYmCisJdGVzdF9jbXAgZW1wdHkgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3J1bl9jb21tYW5kIGRvZXMgbm90IHRyeSB0byBleGVjdXRlIGEgZGlyZWN0b3J5JyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgYmluMSBiaW4yIiAmJgorCW1rZGlyIC1wIGJpbjEvZ3JlZXQgYmluMiAmJgorCXdyaXRlX3NjcmlwdCBiaW4yL2dyZWV0IDw8LVxFT0YgJiYKKwljYXQgYmluMi9ncmVldAorCUVPRgorCisJUEFUSD0kUFdEL2JpbjE6JFBXRC9iaW4yOiRQQVRIIFwKKwkJdGVzdC1ydW4tY29tbWFuZCBydW4tY29tbWFuZCBncmVldCA+YWN0dWFsIDI+ZXJyICYmCisJdGVzdF9jbXAgYmluMi9ncmVldCBhY3R1YWwgJiYKKwl0ZXN0X2NtcCBlbXB0eSBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0gJ3J1bl9jb21tYW5kIHBhc3NlcyBvdmVyIG5vbi1leGVjdXRhYmxlIGZpbGUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBiaW4xIGJpbjIiICYmCisJbWtkaXIgLXAgYmluMSBiaW4yICYmCisJd3JpdGVfc2NyaXB0IGJpbjEvZ3JlZXQgPDwtXEVPRiAmJgorCWNhdCBiaW4xL2dyZWV0CisJRU9GCisJY2htb2QgLXggYmluMS9ncmVldCAmJgorCXdyaXRlX3NjcmlwdCBiaW4yL2dyZWV0IDw8LVxFT0YgJiYKKwljYXQgYmluMi9ncmVldAorCUVPRgorCisJUEFUSD0kUFdEL2JpbjE6JFBXRC9iaW4yOiRQQVRIIFwKKwkJdGVzdC1ydW4tY29tbWFuZCBydW4tY29tbWFuZCBncmVldCA+YWN0dWFsIDI+ZXJyICYmCisJdGVzdF9jbXAgYmluMi9ncmVldCBhY3R1YWwgJiYKKwl0ZXN0X2NtcCBlbXB0eSBlcnIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0gJ3J1bl9jb21tYW5kIHJlcG9ydHMgRUFDQ0VTJyAnCiAJY2F0IGhlbGxvLXNjcmlwdCA+aGVsbG8uc2ggJiYKIAljaG1vZCAteCBoZWxsby5zaCAmJgpkaWZmIC0tZ2l0IGEvdC90MDA2NS1zdHJjbXAtb2Zmc2V0LnNoIGIvdC90MDA2NS1zdHJjbXAtb2Zmc2V0LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkNmQyMTQKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMDY1LXN0cmNtcC1vZmZzZXQuc2gKQEAgLTAsMCArMSwyMSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J1Rlc3Qgc3RyY21wX29mZnNldCBmdW5jdGlvbmFsaXR5JworCisuIC4vdGVzdC1saWIuc2gKKword2hpbGUgcmVhZCBzMSBzMiBleHBlY3QKK2RvCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAic3RyY21wX29mZnNldCgkczEsICRzMikiICcKKwkJZWNobyAiJGV4cGVjdCIgPmV4cGVjdCAmJgorCQl0ZXN0LXN0cmNtcC1vZmZzZXQgIiRzMSIgIiRzMiIgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJJworZG9uZSA8PC1FT0YKK2FiYyBhYmMgMCAzCithYmMgZGVmIC0xIDAKK2FiYyBhYnogLTEgMgorYWJjIGFiY2RlZiAtMSAzCitFT0YKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMjAzLWdldHRleHQtc2V0bG9jYWxlLXNhbml0eS5zaCBiL3QvdDAyMDMtZ2V0dGV4dC1zZXRsb2NhbGUtc2FuaXR5LnNoCmluZGV4IGEyMTI0NjAuLjcxYjBkNzQgMTAwNzU1Ci0tLSBhL3QvdDAyMDMtZ2V0dGV4dC1zZXRsb2NhbGUtc2FuaXR5LnNoCisrKyBiL3QvdDAyMDMtZ2V0dGV4dC1zZXRsb2NhbGUtc2FuaXR5LnNoCkBAIC04LDcgKzgsNyBAQAogLiAuL2xpYi1nZXR0ZXh0LnNoCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBzaG93IGEgSVNPLTg4NTktMSBjb21taXQgdW5kZXIgQyBsb2NhbGUnICcKLQkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLTg4NTktMS50eHQgJiYKKwkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLzg4NTktMS50eHQgJiYKIAl0ZXN0X2NvbW1pdCAiaXNvLWMtY29tbWl0IiBpc28tdW5kZXItYyAmJgogCWdpdCBzaG93ID5vdXQgMj5lcnIgJiYKIAkhIHRlc3QgLXMgZXJyICYmCkBAIC0xNiw3ICsxNiw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUVEVYVF9MT0NBTEUgJ2dpdCBzaG93IGEgSVNPLTg4NTktMSBjb21taXQgdW5kZXIgYSBVVEYtOCBsb2NhbGUnICcKLQkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLTg4NTktMS50eHQgJiYKKwkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLzg4NTktMS50eHQgJiYKIAl0ZXN0X2NvbW1pdCAiaXNvLXV0ZjgtY29tbWl0IiBpc28tdW5kZXItdXRmOCAmJgogCUxBTkdVQUdFPWlzIExDX0FMTD0iJGlzX0lTX2xvY2FsZSIgZ2l0IHNob3cgPm91dCAyPmVyciAmJgogCSEgdGVzdCAtcyBlcnIgJiYKZGlmZiAtLWdpdCBhL3QvdDAzMDEtY3JlZGVudGlhbC1jYWNoZS5zaCBiL3QvdDAzMDEtY3JlZGVudGlhbC1jYWNoZS5zaAppbmRleCA4MmM4NDExLi5mZDkyNTMzIDEwMDc1NQotLS0gYS90L3QwMzAxLWNyZWRlbnRpYWwtY2FjaGUuc2gKKysrIGIvdC90MDMwMS1jcmVkZW50aWFsLWNhY2hlLnNoCkBAIC0xMiw3ICsxMiwxMDAgQEAKICMgZG9uJ3QgbGVhdmUgYSBzdGFsZSBkYWVtb24gcnVubmluZwogdHJhcCAnY29kZT0kPzsgZ2l0IGNyZWRlbnRpYWwtY2FjaGUgZXhpdDsgKGV4aXQgJGNvZGUpOyBkaWUnIEVYSVQKIAorIyB0ZXN0IHRoYXQgdGhlIGRhZW1vbiB3b3JrcyB3aXRoIG5vIHNwZWNpYWwgc2V0dXAKIGhlbHBlcl90ZXN0IGNhY2hlCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NvY2tldCBkZWZhdWx0cyB0byB+Ly5jYWNoZS9naXQvY3JlZGVudGlhbC9zb2NrZXQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgIgorCQlnaXQgY3JlZGVudGlhbC1jYWNoZSBleGl0ICYmCisJCXJtZGlyIC1wIC5jYWNoZS9naXQvY3JlZGVudGlhbC8KKwkiICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgIiRIT01FLy5naXQtY3JlZGVudGlhbC1jYWNoZSIgJiYKKwl0ZXN0IC1TICIkSE9NRS8uY2FjaGUvZ2l0L2NyZWRlbnRpYWwvc29ja2V0IgorJworCitYREdfQ0FDSEVfSE9NRT0iJEhPTUUveGRnIgorZXhwb3J0IFhER19DQUNIRV9IT01FCisjIHRlc3QgYmVoYXZpb3Igd2hlbiBYREdfQ0FDSEVfSE9NRSBpcyBzZXQKK2hlbHBlcl90ZXN0IGNhY2hlCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgInVzZSBjdXN0b20gWERHX0NBQ0hFX0hPTUUgaWYgc2V0IGFuZCBkZWZhdWx0IHNvY2tldHMgYXJlIG5vdCBjcmVhdGVkIiAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY3JlZGVudGlhbC1jYWNoZSBleGl0IiAmJgorCXRlc3QgLVMgIiRYREdfQ0FDSEVfSE9NRS9naXQvY3JlZGVudGlhbC9zb2NrZXQiICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgIiRIT01FLy5naXQtY3JlZGVudGlhbC1jYWNoZS9zb2NrZXQiICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgIiRIT01FLy5jYWNoZS9naXQvY3JlZGVudGlhbC9zb2NrZXQiCisnCit1bnNldCBYREdfQ0FDSEVfSE9NRQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVkZW50aWFsLWNhY2hlIC0tc29ja2V0IG9wdGlvbiBvdmVycmlkZXMgZGVmYXVsdCBsb2NhdGlvbicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiCisJCWdpdCBjcmVkZW50aWFsLWNhY2hlIGV4aXQgLS1zb2NrZXQgXCJcJEhPTUUvZGlyL3NvY2tldFwiICYmCisJCXJtZGlyIFwiXCRIT01FL2RpclwiCisJIiAmJgorCWNoZWNrIGFwcHJvdmUgImNhY2hlIC0tc29ja2V0IFwiXCRIT01FL2Rpci9zb2NrZXRcIiIgPDwtXEVPRiAmJgorCXByb3RvY29sPWh0dHBzCisJaG9zdD1leGFtcGxlLmNvbQorCXVzZXJuYW1lPXN0b3JlLXVzZXIKKwlwYXNzd29yZD1zdG9yZS1wYXNzCisJRU9GCisJdGVzdCAtUyAiJEhPTUUvZGlyL3NvY2tldCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAidXNlIGN1c3RvbSBYREdfQ0FDSEVfSE9NRSBldmVuIGlmIHhkZyBzb2NrZXQgZXhpc3RzIiAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICIKKwkJZ2l0IGNyZWRlbnRpYWwtY2FjaGUgZXhpdCAmJgorCQlzYW5lX3Vuc2V0IFhER19DQUNIRV9IT01FCisJIiAmJgorCWNoZWNrIGFwcHJvdmUgY2FjaGUgPDwtXEVPRiAmJgorCXByb3RvY29sPWh0dHBzCisJaG9zdD1leGFtcGxlLmNvbQorCXVzZXJuYW1lPXN0b3JlLXVzZXIKKwlwYXNzd29yZD1zdG9yZS1wYXNzCisJRU9GCisJdGVzdCAtUyAiJEhPTUUvLmNhY2hlL2dpdC9jcmVkZW50aWFsL3NvY2tldCIgJiYKKwlYREdfQ0FDSEVfSE9NRT0iJEhPTUUveGRnIiAmJgorCWV4cG9ydCBYREdfQ0FDSEVfSE9NRSAmJgorCWNoZWNrIGFwcHJvdmUgY2FjaGUgPDwtXEVPRiAmJgorCXByb3RvY29sPWh0dHBzCisJaG9zdD1leGFtcGxlLmNvbQorCXVzZXJuYW1lPXN0b3JlLXVzZXIKKwlwYXNzd29yZD1zdG9yZS1wYXNzCisJRU9GCisJdGVzdCAtUyAiJFhER19DQUNIRV9IT01FL2dpdC9jcmVkZW50aWFsL3NvY2tldCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXNlIHVzZXIgc29ja2V0IGlmIHVzZXIgZGlyZWN0b3J5IGV4aXN0cycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiCisJCWdpdCBjcmVkZW50aWFsLWNhY2hlIGV4aXQgJiYKKwkJcm1kaXIgXCJcJEhPTUUvLmdpdC1jcmVkZW50aWFsLWNhY2hlL1wiCisJIiAmJgorCW1rZGlyIC1wIC1tIDcwMCAiJEhPTUUvLmdpdC1jcmVkZW50aWFsLWNhY2hlLyIgJiYKKwljaGVjayBhcHByb3ZlIGNhY2hlIDw8LVxFT0YgJiYKKwlwcm90b2NvbD1odHRwcworCWhvc3Q9ZXhhbXBsZS5jb20KKwl1c2VybmFtZT1zdG9yZS11c2VyCisJcGFzc3dvcmQ9c3RvcmUtcGFzcworCUVPRgorCXRlc3QgLVMgIiRIT01FLy5naXQtY3JlZGVudGlhbC1jYWNoZS9zb2NrZXQiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ3VzZSB1c2VyIHNvY2tldCBpZiB1c2VyIGRpcmVjdG9yeSBpcyBhIHN5bWxpbmsgdG8gYSBkaXJlY3RvcnknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgIgorCQlnaXQgY3JlZGVudGlhbC1jYWNoZSBleGl0ICYmCisJCXJtZGlyIFwiXCRIT01FL2Rpci9cIiAmJgorCQlybSBcIlwkSE9NRS8uZ2l0LWNyZWRlbnRpYWwtY2FjaGVcIgorCSIgJiYKKwlta2RpciAtcCAtbSA3MDAgIiRIT01FL2Rpci8iICYmCisJbG4gLXMgIiRIT01FL2RpciIgIiRIT01FLy5naXQtY3JlZGVudGlhbC1jYWNoZSIgJiYKKwljaGVjayBhcHByb3ZlIGNhY2hlIDw8LVxFT0YgJiYKKwlwcm90b2NvbD1odHRwcworCWhvc3Q9ZXhhbXBsZS5jb20KKwl1c2VybmFtZT1zdG9yZS11c2VyCisJcGFzc3dvcmQ9c3RvcmUtcGFzcworCUVPRgorCXRlc3QgLVMgIiRIT01FLy5naXQtY3JlZGVudGlhbC1jYWNoZS9zb2NrZXQiCisnCisKIGhlbHBlcl90ZXN0X3RpbWVvdXQgY2FjaGUgLS10aW1lb3V0PTEKIAogIyB3ZSBjYW4ndCByZWx5IG9uIG91ciAidHJhcCIgYWJvdmUgd29ya2luZyBhZnRlciB0ZXN0X2RvbmUsCmRpZmYgLS1naXQgYS90L3QxMDAyLXJlYWQtdHJlZS1tLXUtMndheS5zaCBiL3QvdDEwMDItcmVhZC10cmVlLW0tdS0yd2F5LnNoCmluZGV4IGUzYmY4MjEuLjdjYTJlNjUgMTAwNzU1Ci0tLSBhL3QvdDEwMDItcmVhZC10cmVlLW0tdS0yd2F5LnNoCisrKyBiL3QvdDEwMDItcmVhZC10cmVlLW0tdS0yd2F5LnNoCkBAIC01MSw3ICs1MSw5IEBACiAgICAgIHRyZWVNPSQoZ2l0IHdyaXRlLXRyZWUpICYmCiAgICAgIGVjaG8gdHJlZU0gJHRyZWVNICYmCiAgICAgIGdpdCBscy10cmVlICR0cmVlTSAmJgotICAgICBzdW0gYm96YmFyIGZyb3R6IG5pdGZvbCA+TS5zdW0gJiYKKyAgICAgY3AgYm96YmFyIGJvemJhci5NICYmCisgICAgIGNwIGZyb3R6IGZyb3R6Lk0gJiYKKyAgICAgY3Agbml0Zm9sIG5pdGZvbC5NICYmCiAgICAgIGdpdCBkaWZmLXRyZWUgJHRyZWVIICR0cmVlTScKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCkBAIC02MSw4ICs2Myw5IEBACiAgICAgIHJlYWRfdHJlZV91X211c3Rfc3VjY2VlZCAtbSAtdSAkdHJlZUggJHRyZWVNICYmCiAgICAgIGdpdCBscy1maWxlcyAtLXN0YWdlID4xLTMub3V0ICYmCiAgICAgIGNtcCBNLm91dCAxLTMub3V0ICYmCi0gICAgIHN1bSBib3piYXIgZnJvdHogbml0Zm9sID5hY3R1YWwzLnN1bSAmJgotICAgICBjbXAgTS5zdW0gYWN0dWFsMy5zdW0gJiYKKyAgICAgdGVzdF9jbXAgYm96YmFyLk0gYm96YmFyICYmCisgICAgIHRlc3RfY21wIGZyb3R6Lk0gZnJvdHogJiYKKyAgICAgdGVzdF9jbXAgbml0Zm9sLk0gbml0Zm9sICYmCiAgICAgIGNoZWNrX2NhY2hlX2F0IGJvemJhciBjbGVhbiAmJgogICAgICBjaGVja19jYWNoZV9hdCBmcm90eiBjbGVhbiAmJgogICAgICBjaGVja19jYWNoZV9hdCBuaXRmb2wgY2xlYW4nCkBAIC03OSw4ICs4Miw5IEBACiAgICAgIHRlc3RfbWlnaHRfZmFpbCBnaXQgZGlmZiAtVTAgLS1uby1pbmRleCBNLm91dCA0Lm91dCA+NGRpZmYub3V0ICYmCiAgICAgIGNvbXBhcmVfY2hhbmdlIDRkaWZmLm91dCBleHBlY3RlZCAmJgogICAgICBjaGVja19jYWNoZV9hdCB5b21pbiBjbGVhbiAmJgotICAgICBzdW0gYm96YmFyIGZyb3R6IG5pdGZvbCA+YWN0dWFsNC5zdW0gJiYKLSAgICAgY21wIE0uc3VtIGFjdHVhbDQuc3VtICYmCisgICAgIHRlc3RfY21wIGJvemJhci5NIGJvemJhciAmJgorICAgICB0ZXN0X2NtcCBmcm90ei5NIGZyb3R6ICYmCisgICAgIHRlc3RfY21wIG5pdGZvbC5NIG5pdGZvbCAmJgogICAgICBlY2hvIHlvbWluID55b21pbjEgJiYKICAgICAgZGlmZiB5b21pbiB5b21pbjEgJiYKICAgICAgcm0gLWYgeW9taW4xJwpAQCAtOTgsOCArMTAyLDkgQEAKICAgICAgdGVzdF9taWdodF9mYWlsIGdpdCBkaWZmIC1VMCAtLW5vLWluZGV4IE0ub3V0IDUub3V0ID41ZGlmZi5vdXQgJiYKICAgICAgY29tcGFyZV9jaGFuZ2UgNWRpZmYub3V0IGV4cGVjdGVkICYmCiAgICAgIGNoZWNrX2NhY2hlX2F0IHlvbWluIGRpcnR5ICYmCi0gICAgIHN1bSBib3piYXIgZnJvdHogbml0Zm9sID5hY3R1YWw1LnN1bSAmJgotICAgICBjbXAgTS5zdW0gYWN0dWFsNS5zdW0gJiYKKyAgICAgdGVzdF9jbXAgYm96YmFyLk0gYm96YmFyICYmCisgICAgIHRlc3RfY21wIGZyb3R6Lk0gZnJvdHogJiYKKyAgICAgdGVzdF9jbXAgbml0Zm9sLk0gbml0Zm9sICYmCiAgICAgIDogZGlydHkgaW5kZXggc2hvdWxkIGhhdmUgcHJldmVudGVkIC11IGZyb20gY2hlY2tpbmcgaXQgb3V0LiAmJgogICAgICBlY2hvIHlvbWluIHlvbWluID55b21pbjEgJiYKICAgICAgZGlmZiB5b21pbiB5b21pbjEgJiYKQEAgLTExNSw4ICsxMjAsOSBAQAogICAgICBnaXQgbHMtZmlsZXMgLS1zdGFnZSA+Ni5vdXQgJiYKICAgICAgdGVzdF9jbXAgTS5vdXQgNi5vdXQgJiYKICAgICAgY2hlY2tfY2FjaGVfYXQgZnJvdHogY2xlYW4gJiYKLSAgICAgc3VtIGJvemJhciBmcm90eiBuaXRmb2wgPmFjdHVhbDMuc3VtICYmCi0gICAgIGNtcCBNLnN1bSBhY3R1YWwzLnN1bSAmJgorICAgICB0ZXN0X2NtcCBib3piYXIuTSBib3piYXIgJiYKKyAgICAgdGVzdF9jbXAgZnJvdHouTSBmcm90eiAmJgorICAgICB0ZXN0X2NtcCBuaXRmb2wuTSBuaXRmb2wgJiYKICAgICAgZWNobyBmcm90eiA+ZnJvdHoxICYmCiAgICAgIGRpZmYgZnJvdHogZnJvdHoxICYmCiAgICAgIHJtIC1mIGZyb3R6MScKQEAgLTEzMiw4ICsxMzgsOCBAQAogICAgICBnaXQgbHMtZmlsZXMgLS1zdGFnZSA+Ny5vdXQgJiYKICAgICAgdGVzdF9jbXAgTS5vdXQgNy5vdXQgJiYKICAgICAgY2hlY2tfY2FjaGVfYXQgZnJvdHogZGlydHkgJiYKLSAgICAgc3VtIGJvemJhciBmcm90eiBuaXRmb2wgPmFjdHVhbDcuc3VtICYmCi0gICAgIGlmIGNtcCBNLnN1bSBhY3R1YWw3LnN1bTsgdGhlbiBmYWxzZTsgZWxzZSA6OyBmaSAmJgorICAgICB0ZXN0X2NtcCBib3piYXIuTSBib3piYXIgJiYKKyAgICAgdGVzdF9jbXAgbml0Zm9sLk0gbml0Zm9sICYmCiAgICAgIDogZGlydHkgaW5kZXggc2hvdWxkIGhhdmUgcHJldmVudGVkIC11IGZyb20gY2hlY2tpbmcgaXQgb3V0LiAmJgogICAgICBlY2hvIGZyb3R6IGZyb3R6ID5mcm90ejEgJiYKICAgICAgZGlmZiBmcm90eiBmcm90ejEgJiYKQEAgLTE2NSw4ICsxNzEsMTAgQEAKICAgICAgcmVhZF90cmVlX3VfbXVzdF9zdWNjZWVkIC1tIC11ICR0cmVlSCAkdHJlZU0gJiYKICAgICAgZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPjEwLm91dCAmJgogICAgICBjbXAgTS5vdXQgMTAub3V0ICYmCi0gICAgIHN1bSBib3piYXIgZnJvdHogbml0Zm9sID5hY3R1YWwxMC5zdW0gJiYKLSAgICAgY21wIE0uc3VtIGFjdHVhbDEwLnN1bScKKyAgICAgdGVzdF9jbXAgYm96YmFyLk0gYm96YmFyICYmCisgICAgIHRlc3RfY21wIGZyb3R6Lk0gZnJvdHogJiYKKyAgICAgdGVzdF9jbXAgbml0Zm9sLk0gbml0Zm9sCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICcxMSAtIGRpcnR5IHBhdGggcmVtb3ZlZC4nIFwKQEAgLTIwOSwxMSArMjE3LDggQEAKICAgICAgZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPjE0Lm91dCAmJgogICAgICB0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtVTAgLS1uby1pbmRleCBNLm91dCAxNC5vdXQgPjE0ZGlmZi5vdXQgJiYKICAgICAgY29tcGFyZV9jaGFuZ2UgMTRkaWZmLm91dCBleHBlY3RlZCAmJgotICAgICBzdW0gYm96YmFyIGZyb3R6ID5hY3R1YWwxNC5zdW0gJiYKLSAgICAgZ3JlcCAtdiBuaXRmb2wgTS5zdW0gPiBleHBlY3RlZDE0LnN1bSAmJgotICAgICBjbXAgZXhwZWN0ZWQxNC5zdW0gYWN0dWFsMTQuc3VtICYmCi0gICAgIHN1bSBib3piYXIgZnJvdHogbml0Zm9sID5hY3R1YWwxNGEuc3VtICYmCi0gICAgIGlmIGNtcCBNLnN1bSBhY3R1YWwxNGEuc3VtOyB0aGVuIGZhbHNlOyBlbHNlIDo7IGZpICYmCisgICAgIHRlc3RfY21wIGJvemJhci5NIGJvemJhciAmJgorICAgICB0ZXN0X2NtcCBmcm90ei5NIGZyb3R6ICYmCiAgICAgIGNoZWNrX2NhY2hlX2F0IG5pdGZvbCBjbGVhbiAmJgogICAgICBlY2hvIG5pdGZvbCBuaXRmb2wgPm5pdGZvbDEgJiYKICAgICAgZGlmZiBuaXRmb2wgbml0Zm9sMSAmJgpAQCAtMjMxLDExICsyMzYsOCBAQAogICAgICB0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtVTAgLS1uby1pbmRleCBNLm91dCAxNS5vdXQgPjE1ZGlmZi5vdXQgJiYKICAgICAgY29tcGFyZV9jaGFuZ2UgMTVkaWZmLm91dCBleHBlY3RlZCAmJgogICAgICBjaGVja19jYWNoZV9hdCBuaXRmb2wgZGlydHkgJiYKLSAgICAgc3VtIGJvemJhciBmcm90eiA+YWN0dWFsMTUuc3VtICYmCi0gICAgIGdyZXAgLXYgbml0Zm9sIE0uc3VtID4gZXhwZWN0ZWQxNS5zdW0gJiYKLSAgICAgY21wIGV4cGVjdGVkMTUuc3VtIGFjdHVhbDE1LnN1bSAmJgotICAgICBzdW0gYm96YmFyIGZyb3R6IG5pdGZvbCA+YWN0dWFsMTVhLnN1bSAmJgotICAgICBpZiBjbXAgTS5zdW0gYWN0dWFsMTVhLnN1bTsgdGhlbiBmYWxzZTsgZWxzZSA6OyBmaSAmJgorICAgICB0ZXN0X2NtcCBib3piYXIuTSBib3piYXIgJiYKKyAgICAgdGVzdF9jbXAgZnJvdHouTSBmcm90eiAmJgogICAgICBlY2hvIG5pdGZvbCBuaXRmb2wgbml0Zm9sID5uaXRmb2wxICYmCiAgICAgIGRpZmYgbml0Zm9sIG5pdGZvbDEgJiYKICAgICAgcm0gLWYgbml0Zm9sMScKQEAgLTI2Nyw4ICsyNjksMTAgQEAKICAgICAgZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPjE4Lm91dCAmJgogICAgICB0ZXN0X2NtcCBNLm91dCAxOC5vdXQgJiYKICAgICAgY2hlY2tfY2FjaGVfYXQgYm96YmFyIGNsZWFuICYmCi0gICAgIHN1bSBib3piYXIgZnJvdHogbml0Zm9sID5hY3R1YWwxOC5zdW0gJiYKLSAgICAgY21wIE0uc3VtIGFjdHVhbDE4LnN1bScKKyAgICAgdGVzdF9jbXAgYm96YmFyLk0gYm96YmFyICYmCisgICAgIHRlc3RfY21wIGZyb3R6Lk0gZnJvdHogJiYKKyAgICAgdGVzdF9jbXAgbml0Zm9sLk0gbml0Zm9sCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICcxOSAtIGxvY2FsIGNoYW5nZSBhbHJlYWR5IGhhdmluZyBhIGdvb2QgcmVzdWx0LCBmdXJ0aGVyIG1vZGlmaWVkLicgXApAQCAtMjgxLDExICsyODUsOCBAQAogICAgICBnaXQgbHMtZmlsZXMgLS1zdGFnZSA+MTkub3V0ICYmCiAgICAgIHRlc3RfY21wIE0ub3V0IDE5Lm91dCAmJgogICAgICBjaGVja19jYWNoZV9hdCBib3piYXIgZGlydHkgJiYKLSAgICAgc3VtIGZyb3R6IG5pdGZvbCA+YWN0dWFsMTkuc3VtICYmCi0gICAgIGdyZXAgLXYgYm96YmFyICBNLnN1bSA+IGV4cGVjdGVkMTkuc3VtICYmCi0gICAgIGNtcCBleHBlY3RlZDE5LnN1bSBhY3R1YWwxOS5zdW0gJiYKLSAgICAgc3VtIGJvemJhciBmcm90eiBuaXRmb2wgPmFjdHVhbDE5YS5zdW0gJiYKLSAgICAgaWYgY21wIE0uc3VtIGFjdHVhbDE5YS5zdW07IHRoZW4gZmFsc2U7IGVsc2UgOjsgZmkgJiYKKyAgICAgdGVzdF9jbXAgZnJvdHouTSBmcm90eiAmJgorICAgICB0ZXN0X2NtcCBuaXRmb2wuTSBuaXRmb2wgJiYKICAgICAgZWNobyBnbnVzdG8gZ251c3RvID5ib3piYXIxICYmCiAgICAgIGRpZmYgYm96YmFyIGJvemJhcjEgJiYKICAgICAgcm0gLWYgYm96YmFyMScKQEAgLTMwMCw4ICszMDEsMTAgQEAKICAgICAgZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPjIwLm91dCAmJgogICAgICB0ZXN0X2NtcCBNLm91dCAyMC5vdXQgJiYKICAgICAgY2hlY2tfY2FjaGVfYXQgYm96YmFyIGNsZWFuICYmCi0gICAgIHN1bSBib3piYXIgZnJvdHogbml0Zm9sID5hY3R1YWwyMC5zdW0gJiYKLSAgICAgY21wIE0uc3VtIGFjdHVhbDIwLnN1bScKKyAgICAgdGVzdF9jbXAgYm96YmFyLk0gYm96YmFyICYmCisgICAgIHRlc3RfY21wIGZyb3R6Lk0gZnJvdHogJiYKKyAgICAgdGVzdF9jbXAgbml0Zm9sLk0gbml0Zm9sCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICcyMSAtIG5vIGxvY2FsIGNoYW5nZSwgZGlydHkgY2FjaGUuJyBcCmRpZmYgLS1naXQgYS90L3QxMDA3LWhhc2gtb2JqZWN0LnNoIGIvdC90MTAwNy1oYXNoLW9iamVjdC5zaAppbmRleCBjNTI0NWM1Li41MzI2ODJmIDEwMDc1NQotLS0gYS90L3QxMDA3LWhhc2gtb2JqZWN0LnNoCisrKyBiL3QvdDEwMDctaGFzaC1vYmplY3Quc2gKQEAgLTEzNCw2ICsxMzQsMTYgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcGF0aCB3b3JrcyBpbiBhIHN1YmRpcmVjdG9yeScgJworCSgKKwkJY2Qgc3ViZGlyICYmCisJCXBhdGgxX3NoYT0kKGdpdCBoYXNoLW9iamVjdCAtLXBhdGg9Li4vZmlsZTEgLi4vZmlsZTApICYmCisJCXBhdGgwX3NoYT0kKGdpdCBoYXNoLW9iamVjdCAtLXBhdGg9Li4vZmlsZTAgLi4vZmlsZTEpICYmCisJCXRlc3QgIiRmaWxlMF9zaGEiID0gIiRwYXRoMF9zaGEiICYmCisJCXRlc3QgIiRmaWxlMV9zaGEiID0gIiRwYXRoMV9zaGEiCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayB0aGF0IC0tbm8tZmlsdGVycyBvcHRpb24gd29ya3MnICcKIAlub2ZpbHRlcnNfZmlsZTE9JChnaXQgaGFzaC1vYmplY3QgLS1uby1maWx0ZXJzIGZpbGUxKSAmJgogCXRlc3QgIiRmaWxlMF9zaGEiID0gIiRub2ZpbHRlcnNfZmlsZTEiICYmCmRpZmYgLS1naXQgYS90L3QxMDEzLXJlYWQtdHJlZS1zdWJtb2R1bGUuc2ggYi90L3QxMDEzLXJlYWQtdHJlZS1zdWJtb2R1bGUuc2gKaW5kZXggMjA1MjZhZS4uOTFhNmZhZiAxMDA3NTUKLS0tIGEvdC90MTAxMy1yZWFkLXRyZWUtc3VibW9kdWxlLnNoCisrKyBiL3QvdDEwMTMtcmVhZC10cmVlLXN1Ym1vZHVsZS5zaApAQCAtNSw2ICs1LDEzIEBACiAuIC4vdGVzdC1saWIuc2gKIC4gIiRURVNUX0RJUkVDVE9SWSIvbGliLXN1Ym1vZHVsZS11cGRhdGUuc2gKIAorS05PV05fRkFJTFVSRV9ESVJFQ1RPUllfU1VCTU9EVUxFX0NPTkZMSUNUUz0xCitLTk9XTl9GQUlMVVJFX1NVQk1PRFVMRV9PVkVSV1JJVEVfSUdOT1JFRF9VTlRSQUNLRUQ9MQorCit0ZXN0X3N1Ym1vZHVsZV9zd2l0Y2hfcmVjdXJzaW5nX3dpdGhfYXJncyAicmVhZC10cmVlIC11IC1tIgorCit0ZXN0X3N1Ym1vZHVsZV9mb3JjZWRfc3dpdGNoX3JlY3Vyc2luZ193aXRoX2FyZ3MgInJlYWQtdHJlZSAtdSAtLXJlc2V0IgorCiB0ZXN0X3N1Ym1vZHVsZV9zd2l0Y2ggImdpdCByZWFkLXRyZWUgLXUgLW0iCiAKIHRlc3Rfc3VibW9kdWxlX2ZvcmNlZF9zd2l0Y2ggImdpdCByZWFkLXRyZWUgLXUgLS1yZXNldCIKZGlmZiAtLWdpdCBhL3QvdDEwNjAtb2JqZWN0LWNvcnJ1cHRpb24uc2ggYi90L3QxMDYwLW9iamVjdC1jb3JydXB0aW9uLnNoCmluZGV4IDNmODcwNTEuLmFjMWYxODkgMTAwNzU1Ci0tLSBhL3QvdDEwNjAtb2JqZWN0LWNvcnJ1cHRpb24uc2gKKysrIGIvdC90MTA2MC1vYmplY3QtY29ycnVwdGlvbi5zaApAQCAtMjEsNiArMjEsMTQgQEAKIAkJY2QgYml0LWVycm9yICYmCiAJCXRlc3RfY29tbWl0IGNvbnRlbnQgJiYKIAkJY29ycnVwdF9ieXRlIEhFQUQ6Y29udGVudC50IDEwCisJKSAmJgorCWdpdCBpbml0IG5vLWJpdC1lcnJvciAmJgorCSgKKwkJIyBkaXN0aW5jdCBjb21taXQgZnJvbSBiaXQtZXJyb3IsIGJ1dCBjb250YWluaW5nIGEKKwkJIyBub24tY29ycnVwdGVkIHZlcnNpb24gb2YgdGhlIHNhbWUgYmxvYgorCQljZCBuby1iaXQtZXJyb3IgJiYKKwkJdGVzdF90aWNrICYmCisJCXRlc3RfY29tbWl0IGNvbnRlbnQKIAkpCiAnCiAKQEAgLTUzLDYgKzYxLDEzIEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnZXR0aW5nIHR5cGUgb2YgYSBjb3JydXB0IGJsb2IgZmFpbHMnICcKKwkoCisJCWNkIGJpdC1lcnJvciAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgLXMgSEVBRDpjb250ZW50LnQKKwkpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYWQtdHJlZSAtdSBkZXRlY3RzIGJpdC1lcnJvcnMgaW4gYmxvYnMnICcKIAkoCiAJCWNkIGJpdC1lcnJvciAmJgpAQCAtMTAxLDQgKzExNiwxMyBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBjbG9uZSAtLWxvY2FsIG1pc25hbWVkIG1pc25hbWVkLWNoZWNrb3V0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIGludG8gY29ycnVwdGVkIHJlcG8gd2l0aCBpbmRleC1wYWNrJyAnCisJKAorCQljZCBiaXQtZXJyb3IgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIHRyYW5zZmVyLnVucGFja0xpbWl0PTEgXAorCQkJZmV0Y2ggLi4vbm8tYml0LWVycm9yIDI+c3RkZXJyICYmCisJCXRlc3RfaTE4bmdyZXAgISAtaSBjb2xsaXNpb24gc3RkZXJyCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDEyMDAtdHV0b3JpYWwuc2ggYi90L3QxMjAwLXR1dG9yaWFsLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAzOTdjY2I2Li4wMDAwMDAwCi0tLSBhL3QvdDEyMDAtdHV0b3JpYWwuc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNjggKzAsMCBAQAotIyEvYmluL3NoCi0jCi0jIENvcHlyaWdodCAoYykgMjAwNSBKb2hhbm5lcyBTY2hpbmRlbGluCi0jCi0KLXRlc3RfZGVzY3JpcHRpb249J0Egc2ltcGxlIHR1cmlhbCBpbiB0aGUgZm9ybSBvZiBhIHRlc3QgY2FzZScKLQotLiAuL3Rlc3QtbGliLnNoCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jsb2InICAnCi0JZWNobyAiSGVsbG8gV29ybGQiID4gaGVsbG8gJiYKLQllY2hvICJTaWxseSBleGFtcGxlIiA+IGV4YW1wbGUgJiYKLQotCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgaGVsbG8gZXhhbXBsZSAmJgotCi0JdGVzdCBibG9iID0gIiQoZ2l0IGNhdC1maWxlIC10IDU1N2RiMDMpIgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdibG9iIDU1N2RiMDMnICcKLQl0ZXN0ICJIZWxsbyBXb3JsZCIgPSAiJChnaXQgY2F0LWZpbGUgYmxvYiA1NTdkYjAzKSIKLScKLQotZWNobyAiSXQncyBhIG5ldyBkYXkgZm9yIGdpdCIgPj5oZWxsbwotY2F0ID4gZGlmZi5leHBlY3QgPDwgRU9GCi1kaWZmIC0tZ2l0IGEvaGVsbG8gYi9oZWxsbwotaW5kZXggNTU3ZGIwMy4uMjYzNDE0ZiAxMDA2NDQKLS0tLSBhL2hlbGxvCi0rKysgYi9oZWxsbwotQEAgLTEgKzEsMiBAQAotIEhlbGxvIFdvcmxkCi0rSXQncyBhIG5ldyBkYXkgZm9yIGdpdAotRU9GCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkaWZmLWZpbGVzIC1wJyAnCi0JZ2l0IGRpZmYtZmlsZXMgLXAgPiBkaWZmLm91dHB1dCAmJgotCXRlc3RfY21wIGRpZmYuZXhwZWN0IGRpZmYub3V0cHV0Ci0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkaWZmJyAnCi0JZ2l0IGRpZmYgPiBkaWZmLm91dHB1dCAmJgotCXRlc3RfY21wIGRpZmYuZXhwZWN0IGRpZmYub3V0cHV0Ci0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWUnICcKLQl0cmVlPSQoZ2l0IHdyaXRlLXRyZWUgMj4vZGV2L251bGwpICYmCi0JdGVzdCA4OTg4ZGExNWQwNzdkNDgyOWZjNTFkODU0NGMwOTdkZWY2NjQ0ZGJiID0gJHRyZWUKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGRpZmYtaW5kZXggLXAgSEVBRCcgJwotCXRlc3RfdGljayAmJgotCXRyZWU9JChnaXQgd3JpdGUtdHJlZSkgJiYKLQljb21taXQ9JChlY2hvICJJbml0aWFsIGNvbW1pdCIgfCBnaXQgY29tbWl0LXRyZWUgJHRyZWUpICYmCi0JZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkY29tbWl0ICYmCi0JZ2l0IGRpZmYtaW5kZXggLXAgSEVBRCA+IGRpZmYub3V0cHV0ICYmCi0JdGVzdF9jbXAgZGlmZi5leHBlY3QgZGlmZi5vdXRwdXQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGRpZmYgSEVBRCcgJwotCWdpdCBkaWZmIEhFQUQgPiBkaWZmLm91dHB1dCAmJgotCXRlc3RfY21wIGRpZmYuZXhwZWN0IGRpZmYub3V0cHV0Ci0nCi0KLWNhdCA+IHdoYXRjaGFuZ2VkLmV4cGVjdCA8PCBFT0YKLWNvbW1pdCBWQVJJQUJMRQotQXV0aG9yOiBWQVJJQUJMRQotRGF0ZTogICBWQVJJQUJMRQotCi0gICAgSW5pdGlhbCBjb21taXQKLQotZGlmZiAtLWdpdCBhL2V4YW1wbGUgYi9leGFtcGxlCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZjI0Yzc0YQotLS0tIC9kZXYvbnVsbAotKysrIGIvZXhhbXBsZQotQEAgLTAsMCArMSBAQAotK1NpbGx5IGV4YW1wbGUKLWRpZmYgLS1naXQgYS9oZWxsbyBiL2hlbGxvCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNTU3ZGIwMwotLS0tIC9kZXYvbnVsbAotKysrIGIvaGVsbG8KLUBAIC0wLDAgKzEgQEAKLStIZWxsbyBXb3JsZAotRU9GCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCB3aGF0Y2hhbmdlZCAtcCAtLXJvb3QnICcKLQlnaXQgd2hhdGNoYW5nZWQgLXAgLS1yb290IHwKLQkJc2VkIC1lICIxcy9eXCguXHs3XH1cKS5cezQwXH0vXDFWQVJJQUJMRS8iIFwKLQkJLWUgIjIsM3MvXlwoLlx7OFx9XCkuKiQvXDFWQVJJQUJMRS8iIFwKLQk+IHdoYXRjaGFuZ2VkLm91dHB1dCAmJgotCXRlc3RfY21wIHdoYXRjaGFuZ2VkLmV4cGVjdCB3aGF0Y2hhbmdlZC5vdXRwdXQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHRhZyBteS1maXJzdC10YWcnICcKLQlnaXQgdGFnIG15LWZpcnN0LXRhZyAmJgotCXRlc3RfY21wIC5naXQvcmVmcy9oZWFkcy9tYXN0ZXIgLmdpdC9yZWZzL3RhZ3MvbXktZmlyc3QtdGFnCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBjaGVja291dCAtYiBteWJyYW5jaCcgJwotCWdpdCBjaGVja291dCAtYiBteWJyYW5jaCAmJgotCXRlc3RfY21wIC5naXQvcmVmcy9oZWFkcy9tYXN0ZXIgLmdpdC9yZWZzL2hlYWRzL215YnJhbmNoCi0nCi0KLWNhdCA+IGJyYW5jaC5leHBlY3QgPDxFT0YKLSAgbWFzdGVyCi0qIG15YnJhbmNoCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCcgJwotCWdpdCBicmFuY2ggPiBicmFuY2gub3V0cHV0ICYmCi0JdGVzdF9jbXAgYnJhbmNoLmV4cGVjdCBicmFuY2gub3V0cHV0Ci0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCByZXNvbHZlIG5vdyBmYWlscycgJwotCWdpdCBjaGVja291dCBteWJyYW5jaCAmJgotCWVjaG8gIldvcmssIHdvcmssIHdvcmsiID4+aGVsbG8gJiYKLQl0ZXN0X3RpY2sgJiYKLQlnaXQgY29tbWl0IC1tICJTb21lIHdvcmsuIiAtaSBoZWxsbyAmJgotCi0JZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgotCi0JZWNobyAiUGxheSwgcGxheSwgcGxheSIgPj5oZWxsbyAmJgotCWVjaG8gIkxvdHMgb2YgZnVuIiA+PmV4YW1wbGUgJiYKLQl0ZXN0X3RpY2sgJiYKLQlnaXQgY29tbWl0IC1tICJTb21lIGZ1bi4iIC1pIGhlbGxvIGV4YW1wbGUgJiYKLQotCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtbSAiTWVyZ2Ugd29yayBpbiBteWJyYW5jaCIgbXlicmFuY2gKLScKLQotY2F0ID4gaGVsbG8gPDwgRU9GCi1IZWxsbyBXb3JsZAotSXQncyBhIG5ldyBkYXkgZm9yIGdpdAotUGxheSwgcGxheSwgcGxheQotV29yaywgd29yaywgd29yawotRU9GCi0KLWNhdCA+IHNob3ctYnJhbmNoLmV4cGVjdCA8PCBFT0YKLSogW21hc3Rlcl0gTWVyZ2Ugd29yayBpbiBteWJyYW5jaAotICEgW215YnJhbmNoXSBTb21lIHdvcmsuCi0tLQotLSAgW21hc3Rlcl0gTWVyZ2Ugd29yayBpbiBteWJyYW5jaAotKisgW215YnJhbmNoXSBTb21lIHdvcmsuCi0qICBbbWFzdGVyXl0gU29tZSBmdW4uCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHNob3ctYnJhbmNoJyAnCi0JdGVzdF90aWNrICYmCi0JZ2l0IGNvbW1pdCAtbSAiTWVyZ2Ugd29yayBpbiBteWJyYW5jaCIgLWkgaGVsbG8gJiYKLQlnaXQgc2hvdy1icmFuY2ggLS10b3BvLW9yZGVyIC0tbW9yZT0xIG1hc3RlciBteWJyYW5jaCBcCi0JCT4gc2hvdy1icmFuY2gub3V0cHV0ICYmCi0JdGVzdF9jbXAgc2hvdy1icmFuY2guZXhwZWN0IHNob3ctYnJhbmNoLm91dHB1dAotJwotCi1jYXQgPiByZXNvbHZlLmV4cGVjdCA8PCBFT0YKLVVwZGF0aW5nIFZBUklBQkxFLi5WQVJJQUJMRQotRkFTVEZPUldBUkQgKG5vIGNvbW1pdCBjcmVhdGVkOyAtbSBvcHRpb24gaWdub3JlZCkKLSBleGFtcGxlIHwgMSArCi0gaGVsbG8gICB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHJlc29sdmUnICcKLQlnaXQgY2hlY2tvdXQgbXlicmFuY2ggJiYKLQlnaXQgbWVyZ2UgLW0gIk1lcmdlIHVwc3RyZWFtIGNoYW5nZXMuIiBtYXN0ZXIgfAotCQlzZWQgLWUgIjFzL1swLTlhLWZdXHs3XH0vVkFSSUFCTEUvZyIgXAotCQktZSAicy9eRmFzdFstIF1mb3J3YXJkIC9GQVNURk9SV0FSRCAvIiA+cmVzb2x2ZS5vdXRwdXQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHJlc29sdmUgb3V0cHV0JyAnCi0JdGVzdF9pMThuY21wIHJlc29sdmUuZXhwZWN0IHJlc29sdmUub3V0cHV0Ci0nCi0KLWNhdCA+IHNob3ctYnJhbmNoMi5leHBlY3QgPDwgRU9GCi0hIFttYXN0ZXJdIE1lcmdlIHdvcmsgaW4gbXlicmFuY2gKLSAqIFtteWJyYW5jaF0gTWVyZ2Ugd29yayBpbiBteWJyYW5jaAotLS0KLS0tIFttYXN0ZXJdIE1lcmdlIHdvcmsgaW4gbXlicmFuY2gKLUVPRgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgc2hvdy1icmFuY2ggKHBhcnQgMiknICcKLQlnaXQgc2hvdy1icmFuY2ggLS10b3BvLW9yZGVyIG1hc3RlciBteWJyYW5jaCA+IHNob3ctYnJhbmNoMi5vdXRwdXQgJiYKLQl0ZXN0X2NtcCBzaG93LWJyYW5jaDIuZXhwZWN0IHNob3ctYnJhbmNoMi5vdXRwdXQKLScKLQotY2F0ID4gc2hvdy1icmFuY2gzLmV4cGVjdCA8PCBFT0YKLSEgW21hc3Rlcl0gTWVyZ2Ugd29yayBpbiBteWJyYW5jaAotICogW215YnJhbmNoXSBNZXJnZSB3b3JrIGluIG15YnJhbmNoCi0tLQotLS0gW21hc3Rlcl0gTWVyZ2Ugd29yayBpbiBteWJyYW5jaAotKyogW21hc3Rlcl4yXSBTb21lIHdvcmsuCi0rKiBbbWFzdGVyXl0gU29tZSBmdW4uCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHNob3ctYnJhbmNoIChwYXJ0IDMpJyAnCi0JZ2l0IHNob3ctYnJhbmNoIC0tdG9wby1vcmRlciAtLW1vcmU9MiBtYXN0ZXIgbXlicmFuY2ggXAotCQk+IHNob3ctYnJhbmNoMy5vdXRwdXQgJiYKLQl0ZXN0X2NtcCBzaG93LWJyYW5jaDMuZXhwZWN0IHNob3ctYnJhbmNoMy5vdXRwdXQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmV3aW5kIHRvICJTb21lIGZ1bi4iIGFuZCAiU29tZSB3b3JrLiInICcKLQlnaXQgY2hlY2tvdXQgbXlicmFuY2ggJiYKLQlnaXQgcmVzZXQgLS1oYXJkIG1hc3Rlcl4yICYmCi0JZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgotCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyXgotJwotCi1jYXQgPiBzaG93LWJyYW5jaDQuZXhwZWN0IDw8IEVPRgotKiBbbWFzdGVyXSBTb21lIGZ1bi4KLSAhIFtteWJyYW5jaF0gU29tZSB3b3JrLgotLS0KLSogIFttYXN0ZXJdIFNvbWUgZnVuLgotICsgW215YnJhbmNoXSBTb21lIHdvcmsuCi0qKyBbbWFzdGVyXl0gSW5pdGlhbCBjb21taXQKLUVPRgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgc2hvdy1icmFuY2ggKHBhcnQgNCknICcKLQlnaXQgc2hvdy1icmFuY2ggLS10b3BvLW9yZGVyID4gc2hvdy1icmFuY2g0Lm91dHB1dCAmJgotCXRlc3RfY21wIHNob3ctYnJhbmNoNC5leHBlY3Qgc2hvdy1icmFuY2g0Lm91dHB1dAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdtYW51YWwgbWVyZ2UnICcKLQltYj0kKGdpdCBtZXJnZS1iYXNlIEhFQUQgbXlicmFuY2gpICYmCi0JZ2l0IG5hbWUtcmV2IC0tbmFtZS1vbmx5IC0tdGFncyAkbWIgPiBuYW1lLXJldi5vdXRwdXQgJiYKLQl0ZXN0ICJteS1maXJzdC10YWciID0gJChjYXQgbmFtZS1yZXYub3V0cHV0KSAmJgotCi0JZ2l0IHJlYWQtdHJlZSAtbSAtdSAkbWIgSEVBRCBteWJyYW5jaAotJwotCi1jYXQgPiBscy1maWxlcy5leHBlY3QgPDwgRU9GCi0xMDA2NDQgN2Y4YjE0MWI2NWZkY2VlNDczMjFlMzk5YTI1OThhMjM1YTAzMjQyMiAwCWV4YW1wbGUKLTEwMDY0NCA1NTdkYjAzZGU5OTdjODZhNGEwMjhlMWViZDNhMWNlYjIyNWJlMjM4IDEJaGVsbG8KLTEwMDY0NCBiYTQyYTJhOTZlMzAyN2YzMzMzZTEzZWRlNGNjZjQ0OThjM2FlOTQyIDIJaGVsbG8KLTEwMDY0NCBjYzQ0YzczZWI3ODM1NjVkYTU4MzFiNGQ4MjBjOTYyOTU0MDE5YjY5IDMJaGVsbG8KLUVPRgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbHMtZmlsZXMgLS1zdGFnZScgJwotCWdpdCBscy1maWxlcyAtLXN0YWdlID4gbHMtZmlsZXMub3V0cHV0ICYmCi0JdGVzdF9jbXAgbHMtZmlsZXMuZXhwZWN0IGxzLWZpbGVzLm91dHB1dAotJwotCi1jYXQgPiBscy1maWxlcy11bm1lcmdlZC5leHBlY3QgPDwgRU9GCi0xMDA2NDQgNTU3ZGIwM2RlOTk3Yzg2YTRhMDI4ZTFlYmQzYTFjZWIyMjViZTIzOCAxCWhlbGxvCi0xMDA2NDQgYmE0MmEyYTk2ZTMwMjdmMzMzM2UxM2VkZTRjY2Y0NDk4YzNhZTk0MiAyCWhlbGxvCi0xMDA2NDQgY2M0NGM3M2ViNzgzNTY1ZGE1ODMxYjRkODIwYzk2Mjk1NDAxOWI2OSAzCWhlbGxvCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGxzLWZpbGVzIC0tdW5tZXJnZWQnICcKLQlnaXQgbHMtZmlsZXMgLS11bm1lcmdlZCA+IGxzLWZpbGVzLXVubWVyZ2VkLm91dHB1dCAmJgotCXRlc3RfY21wIGxzLWZpbGVzLXVubWVyZ2VkLmV4cGVjdCBscy1maWxlcy11bm1lcmdlZC5vdXRwdXQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0LW1lcmdlLWluZGV4JyAnCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWluZGV4IGdpdC1tZXJnZS1vbmUtZmlsZSBoZWxsbwotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbHMtZmlsZXMgLS1zdGFnZSAocGFydCAyKScgJwotCWdpdCBscy1maWxlcyAtLXN0YWdlID4gbHMtZmlsZXMub3V0cHV0MiAmJgotCXRlc3RfY21wIGxzLWZpbGVzLmV4cGVjdCBscy1maWxlcy5vdXRwdXQyCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCByZXBhY2snICdnaXQgcmVwYWNrJwotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHBydW5lLXBhY2tlZCcgJ2dpdCBwcnVuZS1wYWNrZWQnCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctPiBvbmx5IHBhY2tlZCBvYmplY3RzJyAnCi0JZ2l0IHBydW5lICYmICMgUmVtb3ZlIGNvbmZsaWN0IG1hcmtlZCBibG9icwotCXRlc3QgJChmaW5kIC5naXQvb2JqZWN0cy9bMC05YS1mXVswLTlhLWZdIC10eXBlIGYgLXByaW50IDI+L2Rldi9udWxsIHwgd2MgLWwpID0gMAotJwotCi10ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDEzMDAtcmVwby1jb25maWcuc2ggYi90L3QxMzAwLXJlcG8tY29uZmlnLnNoCmluZGV4IGVhMzcxMDIuLjM2NGE1MzcgMTAwNzU1Ci0tLSBhL3QvdDEzMDAtcmVwby1jb25maWcuc2gKKysrIGIvdC90MTMwMC1yZXBvLWNvbmZpZy5zaApAQCAtNzAzLDYgKzcwMywxMiBAQAogCXRlc3RfaTE4bmdyZXAgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAuMWF1dG8uIGZvciAuYW5pbnZhbGlkLnVuaXQuIGluIGZpbGUgLmdpdC9jb25maWc6IGludmFsaWQgdW5pdCIgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xpbmUgbnVtYmVyIGlzIHJlcG9ydGVkIGNvcnJlY3RseScgJworCXByaW50ZiAiW2Jvb2xdXG5cdHZhclxuIiA+aW52YWxpZCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgaW52YWxpZCAtLXBhdGggYm9vbC52YXIgMj5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJsaW5lIDIiIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbnZhbGlkIHN0ZGluIGNvbmZpZycgJwogCWVjaG8gIlticm9rZW4iIHwgdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtLWxpc3QgLS1maWxlIC0gPm91dHB1dCAyPiYxICYmCiAJdGVzdF9pMThuZ3JlcCAiYmFkIGNvbmZpZyBsaW5lIDEgaW4gc3RhbmRhcmQgaW5wdXQiIG91dHB1dApAQCAtMTA2OSw2ICsxMDc1LDEzIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbGlhc2VzIGNhbiBiZSBDYW1lbENhc2VkJyAnCisJdGVzdF9jb25maWcgYWxpYXMuQ2FtZWxDYXNlZCAicmV2LXBhcnNlIEhFQUQiICYmCisJZ2l0IENhbWVsQ2FzZWQgPm91dCAmJgorCWdpdCByZXYtcGFyc2UgSEVBRCA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IG91dAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgLWMgZG9lcyBub3Qgc3BsaXQgdmFsdWVzIG9uIGVxdWFscycgJwogCWVjaG8gInZhbHVlIHdpdGggPSBpbiBpdCIgPmV4cGVjdCAmJgogCWdpdCAtYyBjb3JlLmZvbz0idmFsdWUgd2l0aCA9IGluIGl0IiBjb25maWcgY29yZS5mb28gPmFjdHVhbCAmJgpAQCAtMTIzOSw2ICsxMjUyLDExMSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAndXJsbWF0Y2ggZmF2b3JzIG1vcmUgc3BlY2lmaWMgVVJMcycgJworCWNhdCA+LmdpdC9jb25maWcgPDwtXEVPRiAmJgorCVtodHRwICJodHRwczovL2V4YW1wbGUuY29tLyJdCisJCWNvb2tpZUZpbGUgPSAvdG1wL3Jvb3QudHh0CisJW2h0dHAgImh0dHBzOi8vZXhhbXBsZS5jb20vc3ViZGlyZWN0b3J5Il0KKwkJY29va2llRmlsZSA9IC90bXAvc3ViZGlyZWN0b3J5LnR4dAorCVtodHRwICJodHRwczovL3VzZXJAZXhhbXBsZS5jb20vIl0KKwkJY29va2llRmlsZSA9IC90bXAvdXNlci50eHQKKwlbaHR0cCAiaHR0cHM6Ly9hdmVyeWxvbmd1c2VyQGV4YW1wbGUuY29tLyJdCisJCWNvb2tpZUZpbGUgPSAvdG1wL2F2ZXJ5bG9uZ3VzZXIudHh0CisJW2h0dHAgImh0dHBzOi8vcHJlY2VkaW5nLmV4YW1wbGUuY29tIl0KKwkJY29va2llRmlsZSA9IC90bXAvcHJlY2VkaW5nLnR4dAorCVtodHRwICJodHRwczovLyouZXhhbXBsZS5jb20iXQorCQljb29raWVGaWxlID0gL3RtcC93aWxkY2FyZC50eHQKKwlbaHR0cCAiaHR0cHM6Ly8qLmV4YW1wbGUuY29tL3dpbGRjYXJkd2l0aHN1YmRvbWFpbiJdCisJCWNvb2tpZUZpbGUgPSAvdG1wL3dpbGRjYXJkd2l0aHN1YmRvbWFpbi50eHQKKwlbaHR0cCAiaHR0cHM6Ly90cmFpbGluZy5leGFtcGxlLmNvbSJdCisJCWNvb2tpZUZpbGUgPSAvdG1wL3RyYWlsaW5nLnR4dAorCVtodHRwICJodHRwczovL3VzZXJAKi5leGFtcGxlLmNvbS8iXQorCQljb29raWVGaWxlID0gL3RtcC93aWxkY2FyZHdpdGh1c2VyLnR4dAorCVtodHRwICJodHRwczovL3N1Yi5leGFtcGxlLmNvbS8iXQorCQljb29raWVGaWxlID0gL3RtcC9zdWIudHh0CisJRU9GCisKKwllY2hvIGh0dHAuY29va2llZmlsZSAvdG1wL3Jvb3QudHh0ID5leHBlY3QgJiYKKwlnaXQgY29uZmlnIC0tZ2V0LXVybG1hdGNoIEhUVFAgaHR0cHM6Ly9leGFtcGxlLmNvbSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZWNobyBodHRwLmNvb2tpZWZpbGUgL3RtcC9zdWJkaXJlY3RvcnkudHh0ID5leHBlY3QgJiYKKwlnaXQgY29uZmlnIC0tZ2V0LXVybG1hdGNoIEhUVFAgaHR0cHM6Ly9leGFtcGxlLmNvbS9zdWJkaXJlY3RvcnkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gaHR0cC5jb29raWVmaWxlIC90bXAvc3ViZGlyZWN0b3J5LnR4dCA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vZXhhbXBsZS5jb20vc3ViZGlyZWN0b3J5L25lc3RlZCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZWNobyBodHRwLmNvb2tpZWZpbGUgL3RtcC91c2VyLnR4dCA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vdXNlckBleGFtcGxlLmNvbS8gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gaHR0cC5jb29raWVmaWxlIC90bXAvc3ViZGlyZWN0b3J5LnR4dCA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vYXZlcnlsb25ndXNlckBleGFtcGxlLmNvbS9zdWJkaXJlY3RvcnkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gaHR0cC5jb29raWVmaWxlIC90bXAvcHJlY2VkaW5nLnR4dCA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vcHJlY2VkaW5nLmV4YW1wbGUuY29tID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwllY2hvIGh0dHAuY29va2llZmlsZSAvdG1wL3dpbGRjYXJkLnR4dCA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vd2lsZGNhcmQuZXhhbXBsZS5jb20gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gaHR0cC5jb29raWVmaWxlIC90bXAvc3ViLnR4dCA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vc3ViLmV4YW1wbGUuY29tL3dpbGRjYXJkd2l0aHN1YmRvbWFpbiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZWNobyBodHRwLmNvb2tpZWZpbGUgL3RtcC90cmFpbGluZy50eHQgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1nZXQtdXJsbWF0Y2ggSFRUUCBodHRwczovL3RyYWlsaW5nLmV4YW1wbGUuY29tID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwllY2hvIGh0dHAuY29va2llZmlsZSAvdG1wL3N1Yi50eHQgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1nZXQtdXJsbWF0Y2ggSFRUUCBodHRwczovL3VzZXJAc3ViLmV4YW1wbGUuY29tID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VybG1hdGNoIHdpdGggd2lsZGNhcmQnICcKKwljYXQgPi5naXQvY29uZmlnIDw8LVxFT0YgJiYKKwlbaHR0cF0KKwkJc3NsVmVyaWZ5CisJW2h0dHAgImh0dHBzOi8vKi5leGFtcGxlLmNvbSJdCisJCXNzbFZlcmlmeSA9IGZhbHNlCisJCWNvb2tpZUZpbGUgPSAvdG1wL2Nvb2tpZS50eHQKKwlFT0YKKworCXRlc3RfZXhwZWN0X2NvZGUgMSBnaXQgY29uZmlnIC0tYm9vbCAtLWdldC11cmxtYXRjaCBkb2VzbnQuZXhpc3QgaHR0cHM6Ly9nb29kLmV4YW1wbGUuY29tID5hY3R1YWwgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsICYmCisKKwllY2hvIHRydWUgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1ib29sIC0tZ2V0LXVybG1hdGNoIGh0dHAuU1NMdmVyaWZ5IGh0dHBzOi8vZXhhbXBsZS5jb20gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gdHJ1ZSA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyAtLWJvb2wgLS1nZXQtdXJsbWF0Y2ggaHR0cC5TU0x2ZXJpZnkgaHR0cHM6Ly9nb29kLWV4YW1wbGUuY29tID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwllY2hvIHRydWUgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1ib29sIC0tZ2V0LXVybG1hdGNoIGh0dHAuc3NsdmVyaWZ5IGh0dHBzOi8vZGVlcC5uZXN0ZWQuZXhhbXBsZS5jb20gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gZmFsc2UgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1ib29sIC0tZ2V0LXVybG1hdGNoIGh0dHAuc3NsdmVyaWZ5IGh0dHBzOi8vZ29vZC5leGFtcGxlLmNvbSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJeworCQllY2hvIGh0dHAuY29va2llZmlsZSAvdG1wL2Nvb2tpZS50eHQgJiYKKwkJZWNobyBodHRwLnNzbHZlcmlmeSBmYWxzZQorCX0gPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1nZXQtdXJsbWF0Y2ggSFRUUCBodHRwczovL2dvb2QuZXhhbXBsZS5jb20gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gaHR0cC5zc2x2ZXJpZnkgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1nZXQtdXJsbWF0Y2ggSFRUUCBodHRwczovL21vcmUuZXhhbXBsZS5jb20uYXUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogIyBnb29kIHNlY3Rpb24gaHlnaWVuZQogdGVzdF9leHBlY3RfZmFpbHVyZSAndW5zZXR0aW5nIHRoZSBsYXN0IGtleSBpbiBhIHNlY3Rpb24gcmVtb3ZlcyBoZWFkZXInICcKIAljYXQgPi5naXQvY29uZmlnIDw8LVxFT0YgJiYKQEAgLTE0MzQsNCArMTU1MiwxMCBAQAogCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1sb2NhbCByZXF1aXJlcyBhIHJlcG8nICcKKwkjIHdlIGV4cGVjdCAxMjggdG8gZW5zdXJlIHRoYXQgd2UgZG8gbm90IHNpbXBseQorCSMgZmFpbCB0byBmaW5kIGFueXRoaW5nIGFuZCByZXR1cm4gY29kZSAiMSIKKwl0ZXN0X2V4cGVjdF9jb2RlIDEyOCBub25naXQgZ2l0IGNvbmZpZyAtLWxvY2FsIGZvby5iYXIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxMzAxLXNoYXJlZC1yZXBvLnNoIGIvdC90MTMwMS1zaGFyZWQtcmVwby5zaAppbmRleCAxMzEyMDA0Li5kZmVjZTc1IDEwMDc1NQotLS0gYS90L3QxMzAxLXNoYXJlZC1yZXBvLnNoCisrKyBiL3QvdDEzMDEtc2hhcmVkLXJlcG8uc2gKQEAgLTE5LDEwICsxOSw2IEBACiAJKQogJwogCi1tb2RlYml0cyAoKSB7Ci0JbHMgLWwgIiQxIiB8IHNlZCAtZSAnc3xeXCguLi4uLi4uLi4uXCkuKnxcMXwnCi19Ci0KIGZvciB1IGluIDAwMiAwMjIKIGRvCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0gInNoYXJlZD0xIGRvZXMgbm90IGNsZWFyIGJpdHMgcHJlc2V0IGJ5IHVtYXNrICR1IiAnCkBAIC04OCw3ICs4NCw3IEBACiAKIAkJcm0gLWYgLmdpdC9pbmZvL3JlZnMgJiYKIAkJZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyAmJgotCQlhY3R1YWw9IiQobW9kZWJpdHMgLmdpdC9pbmZvL3JlZnMpIiAmJgorCQlhY3R1YWw9IiQodGVzdF9tb2RlYml0cyAuZ2l0L2luZm8vcmVmcykiICYmCiAJCXZlcmJvc2UgdGVzdCAieCRhY3R1YWwiID0gIngtJHkiCiAKIAknCkBAIC05OCw3ICs5NCw3IEBACiAKIAkJcm0gLWYgLmdpdC9pbmZvL3JlZnMgJiYKIAkJZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyAmJgotCQlhY3R1YWw9IiQobW9kZWJpdHMgLmdpdC9pbmZvL3JlZnMpIiAmJgorCQlhY3R1YWw9IiQodGVzdF9tb2RlYml0cyAuZ2l0L2luZm8vcmVmcykiICYmCiAJCXZlcmJvc2UgdGVzdCAieCRhY3R1YWwiID0gIngtJHgiCiAKIAknCkBAIC0xMTEsNyArMTA3LDcgQEAKIAl1bWFzayAwMDIgJiYKIAlnaXQgdXBkYXRlLXNlcnZlci1pbmZvICYmCiAJZWNobyAiLXJ3LXJ3LXItLSIgPmV4cGVjdCAmJgotCW1vZGViaXRzIC5naXQvaW5mby9yZWZzID5hY3R1YWwgJiYKKwl0ZXN0X21vZGViaXRzIC5naXQvaW5mby9yZWZzID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKQEAgLTE3Nyw3ICsxNzMsNyBAQAogCXVtYXNrIDAwMjIgJiYKIAlnaXQgaW5pdCAtLWJhcmUgY2hpbGQuZ2l0ICYmCiAJZWNobyAiLXJ3LXItLXItLSIgPmV4cGVjdCAmJgotCW1vZGViaXRzIGNoaWxkLmdpdC9jb25maWcgPmFjdHVhbCAmJgorCXRlc3RfbW9kZWJpdHMgY2hpbGQuZ2l0L2NvbmZpZyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC0xODcsNyArMTgzLDcgQEAKIAllY2hvIHdoYXRldmVyID50ZW1wbGF0ZXMvZm9vICYmCiAJZ2l0IGluaXQgLS10ZW1wbGF0ZT10ZW1wbGF0ZXMgJiYKIAllY2hvICItcnctcnctcnctIiA+ZXhwZWN0ICYmCi0JbW9kZWJpdHMgLmdpdC9mb28gPmFjdHVhbCAmJgorCXRlc3RfbW9kZWJpdHMgLmdpdC9mb28gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMTk4LDcgKzE5NCw3IEBACiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgY2hpbGQuZ2l0L2ZvbyAmJgogCWdpdCBpbml0IC0tYmFyZSAtLXRlbXBsYXRlPS4uL3RlbXBsYXRlcyBjaGlsZC5naXQgJiYKIAllY2hvICItcnctcnctcnctIiA+ZXhwZWN0ICYmCi0JbW9kZWJpdHMgY2hpbGQuZ2l0L2ZvbyA+YWN0dWFsICYmCisJdGVzdF9tb2RlYml0cyBjaGlsZC5naXQvZm9vID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKQEAgLTIwOSw3ICsyMDUsNyBAQAogCWNwIC5naXQvY29uZmlnIHRlbXBsYXRlcy9jb25maWcgJiYKIAlnaXQgaW5pdCAtLWJhcmUgLS10ZW1wbGF0ZT0uLi90ZW1wbGF0ZXMgY2hpbGQuZ2l0ICYmCiAJZWNobyAiLXJ3LXJ3LXJ3LSIgPmV4cGVjdCAmJgotCW1vZGViaXRzIGNoaWxkLmdpdC9IRUFEID5hY3R1YWwgJiYKKwl0ZXN0X21vZGViaXRzIGNoaWxkLmdpdC9IRUFEID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDEzMDUtY29uZmlnLWluY2x1ZGUuc2ggYi90L3QxMzA1LWNvbmZpZy1pbmNsdWRlLnNoCmluZGV4IDliYTJiYTEuLmQ5ZDJmNTQgMTAwNzU1Ci0tLSBhL3QvdDEzMDUtY29uZmlnLWluY2x1ZGUuc2gKKysrIGIvdC90MTMwNS1jb25maWctaW5jbHVkZS5zaApAQCAtMyw2ICszLDE2IEBACiB0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGNvbmZpZyBmaWxlIGluY2x1ZGUgZGlyZWN0aXZlcycKIC4gLi90ZXN0LWxpYi5zaAogCisjIEZvcmNlIHNldHVwX2V4cGxpY2l0X2dpdF9kaXIoKSB0byBydW4gdW50aWwgdGhlIGVuZC4gVGhpcyBpcyBuZWVkZWQKKyMgYnkgc29tZSB0ZXN0cyB0byBtYWtlIHN1cmUgcmVhbF9wYXRoKCkgaXMgY2FsbGVkIG9uICRHSVRfRElSLiBUaGUKKyMgY2FsbGVyIG5lZWRzIHRvIG1ha2Ugc3VyZSBnaXQgY29tbWFuZHMgYXJlIHJ1biBmcm9tIGEgc3ViZGlyZWN0b3J5CisjIHRob3VnaCBvciByZWFsX3BhdGgoKSB3aWxsIG5vdCBiZSBjYWxsZWQuCitmb3JjZV9zZXR1cF9leHBsaWNpdF9naXRfZGlyKCkgeworICAgIEdJVF9ESVI9IiQocHdkKS8uZ2l0IgorICAgIEdJVF9XT1JLX1RSRUU9IiQocHdkKSIKKyAgICBleHBvcnQgR0lUX0RJUiBHSVRfV09SS19UUkVFCit9CisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luY2x1ZGUgZmlsZSBieSBhYnNvbHV0ZSBwYXRoJyAnCiAJZWNobyAiW3Rlc3Rdb25lID0gMSIgPm9uZSAmJgogCWVjaG8gIltpbmNsdWRlXXBhdGggPSBcIiQocHdkKS9vbmVcIiIgPi5naXRjb25maWcgJiYKQEAgLTEwMiw3ICsxMTIsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtaXNzaW5nIGluY2x1ZGUgZmlsZXMgYXJlIGlnbm9yZWQnICcKIAljYXQgPi5naXRjb25maWcgPDwtXEVPRiAmJgotCVtpbmNsdWRlXXBhdGggPSBmb28KKwlbaW5jbHVkZV1wYXRoID0gbm9uLWV4aXN0ZW50CiAJW3Rlc3RddmFsdWUgPSB5ZXMKIAlFT0YKIAllY2hvIHllcyA+ZXhwZWN0ICYmCkBAIC0xNTIsNiArMTYyLDE0MCBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLS1maWxlIC0gdGVzdC5vbmUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZGl0aW9uYWwgaW5jbHVkZSwgYm90aCB1bmFuY2hvcmVkJyAnCisJZ2l0IGluaXQgZm9vICYmCisJKAorCQljZCBmb28gJiYKKwkJZWNobyAiW2luY2x1ZGVJZiBcImdpdGRpcjpmb28vXCJdcGF0aD1iYXIiID4+LmdpdC9jb25maWcgJiYKKwkJZWNobyAiW3Rlc3Rdb25lPTEiID4uZ2l0L2JhciAmJgorCQllY2hvIDEgPmV4cGVjdCAmJgorCQlnaXQgY29uZmlnIHRlc3Qub25lID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZGl0aW9uYWwgaW5jbHVkZSwgJEhPTUUgZXhwYW5zaW9uJyAnCisJKAorCQljZCBmb28gJiYKKwkJZWNobyAiW2luY2x1ZGVJZiBcImdpdGRpcjp+L2Zvby9cIl1wYXRoPWJhcjIiID4+LmdpdC9jb25maWcgJiYKKwkJZWNobyAiW3Rlc3RddHdvPTIiID4uZ2l0L2JhcjIgJiYKKwkJZWNobyAyID5leHBlY3QgJiYKKwkJZ2l0IGNvbmZpZyB0ZXN0LnR3byA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmRpdGlvbmFsIGluY2x1ZGUsIGZ1bGwgcGF0dGVybicgJworCSgKKwkJY2QgZm9vICYmCisJCWVjaG8gIltpbmNsdWRlSWYgXCJnaXRkaXI6KiovZm9vLyoqXCJdcGF0aD1iYXIzIiA+Pi5naXQvY29uZmlnICYmCisJCWVjaG8gIlt0ZXN0XXRocmVlPTMiID4uZ2l0L2JhcjMgJiYKKwkJZWNobyAzID5leHBlY3QgJiYKKwkJZ2l0IGNvbmZpZyB0ZXN0LnRocmVlID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZGl0aW9uYWwgaW5jbHVkZSwgcmVsYXRpdmUgcGF0aCcgJworCWVjaG8gIltpbmNsdWRlSWYgXCJnaXRkaXI6Li9mb28vLmdpdFwiXXBhdGg9YmFyNCIgPj4uZ2l0Y29uZmlnICYmCisJZWNobyAiW3Rlc3RdZm91cj00IiA+YmFyNCAmJgorCSgKKwkJY2QgZm9vICYmCisJCWVjaG8gNCA+ZXhwZWN0ICYmCisJCWdpdCBjb25maWcgdGVzdC5mb3VyID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZGl0aW9uYWwgaW5jbHVkZSwgYm90aCB1bmFuY2hvcmVkLCBpY2FzZScgJworCSgKKwkJY2QgZm9vICYmCisJCWVjaG8gIltpbmNsdWRlSWYgXCJnaXRkaXIvaTpGT08vXCJdcGF0aD1iYXI1IiA+Pi5naXQvY29uZmlnICYmCisJCWVjaG8gIlt0ZXN0XWZpdmU9NSIgPi5naXQvYmFyNSAmJgorCQllY2hvIDUgPmV4cGVjdCAmJgorCQlnaXQgY29uZmlnIHRlc3QuZml2ZSA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmRpdGlvbmFsIGluY2x1ZGUsIGVhcmx5IGNvbmZpZyByZWFkaW5nJyAnCisJKAorCQljZCBmb28gJiYKKwkJZWNobyAiW2luY2x1ZGVJZiBcImdpdGRpcjpmb28vXCJdcGF0aD1iYXI2IiA+Pi5naXQvY29uZmlnICYmCisJCWVjaG8gIlt0ZXN0XXNpeD02IiA+LmdpdC9iYXI2ICYmCisJCWVjaG8gNiA+ZXhwZWN0ICYmCisJCXRlc3QtY29uZmlnIHJlYWRfZWFybHlfY29uZmlnIHRlc3Quc2l4ID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnY29uZGl0aW9uYWwgaW5jbHVkZSwgc2V0IHVwIHN5bWxpbmtlZCAkSE9NRScgJworCW1rZGlyIHJlYWwtaG9tZSAmJgorCWxuIC1zIHJlYWwtaG9tZSBob21lICYmCisJKAorCQlIT01FPSIkVFJBU0hfRElSRUNUT1JZL2hvbWUiICYmCisJCWV4cG9ydCBIT01FICYmCisJCWNkICIkSE9NRSIgJiYKKworCQlnaXQgaW5pdCBmb28gJiYKKwkJY2QgZm9vICYmCisJCW1rZGlyIHN1YgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnY29uZGl0aW9uYWwgaW5jbHVkZSwgJEhPTUUgZXhwYW5zaW9uIHdpdGggc3ltbGlua3MnICcKKwkoCisJCUhPTUU9IiRUUkFTSF9ESVJFQ1RPUlkvaG9tZSIgJiYKKwkJZXhwb3J0IEhPTUUgJiYKKwkJY2QgIiRIT01FIi9mb28gJiYKKworCQllY2hvICJbaW5jbHVkZUlmIFwiZ2l0ZGlyOn4vZm9vL1wiXXBhdGg9YmFyMiIgPj4uZ2l0L2NvbmZpZyAmJgorCQllY2hvICJbdGVzdF10d289MiIgPi5naXQvYmFyMiAmJgorCQllY2hvIDIgPmV4cGVjdCAmJgorCQlmb3JjZV9zZXR1cF9leHBsaWNpdF9naXRfZGlyICYmCisJCWdpdCAtQyBzdWIgY29uZmlnIHRlc3QudHdvID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnY29uZGl0aW9uYWwgaW5jbHVkZSwgcmVsYXRpdmUgcGF0aCB3aXRoIHN5bWxpbmtzJyAnCisJZWNobyAiW2luY2x1ZGVJZiBcImdpdGRpcjouL2Zvby8uZ2l0XCJdcGF0aD1iYXI0IiA+aG9tZS8uZ2l0Y29uZmlnICYmCisJZWNobyAiW3Rlc3RdZm91cj00IiA+aG9tZS9iYXI0ICYmCisJKAorCQlIT01FPSIkVFJBU0hfRElSRUNUT1JZL2hvbWUiICYmCisJCWV4cG9ydCBIT01FICYmCisJCWNkICIkSE9NRSIvZm9vICYmCisKKwkJZWNobyA0ID5leHBlY3QgJiYKKwkJZm9yY2Vfc2V0dXBfZXhwbGljaXRfZ2l0X2RpciAmJgorCQlnaXQgLUMgc3ViIGNvbmZpZyB0ZXN0LmZvdXIgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdjb25kaXRpb25hbCBpbmNsdWRlLCBnaXRkaXIgbWF0Y2hpbmcgc3ltbGluaycgJworCWxuIC1zIGZvbyBiYXIgJiYKKwkoCisJCWNkIGJhciAmJgorCQllY2hvICJbaW5jbHVkZUlmIFwiZ2l0ZGlyOmJhci9cIl1wYXRoPWJhcjciID4+LmdpdC9jb25maWcgJiYKKwkJZWNobyAiW3Rlc3Rdc2V2ZW49NyIgPi5naXQvYmFyNyAmJgorCQllY2hvIDcgPmV4cGVjdCAmJgorCQlnaXQgY29uZmlnIHRlc3Quc2V2ZW4gPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdjb25kaXRpb25hbCBpbmNsdWRlLCBnaXRkaXIgbWF0Y2hpbmcgc3ltbGluaywgaWNhc2UnICcKKwkoCisJCWNkIGJhciAmJgorCQllY2hvICJbaW5jbHVkZUlmIFwiZ2l0ZGlyL2k6QkFSL1wiXXBhdGg9YmFyOCIgPj4uZ2l0L2NvbmZpZyAmJgorCQllY2hvICJbdGVzdF1laWdodD04IiA+LmdpdC9iYXI4ICYmCisJCWVjaG8gOCA+ZXhwZWN0ICYmCisJCWdpdCBjb25maWcgdGVzdC5laWdodCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luY2x1ZGUgY3ljbGVzIGFyZSBkZXRlY3RlZCcgJwogCWNhdCA+LmdpdGNvbmZpZyA8PC1cRU9GICYmCiAJW3Rlc3RddmFsdWUgPSBnaXRjb25maWcKZGlmZiAtLWdpdCBhL3QvdDEzMDgtY29uZmlnLXNldC5zaCBiL3QvdDEzMDgtY29uZmlnLXNldC5zaAppbmRleCBmZjUwOTYwLi5iYWZlZDVjIDEwMDc1NQotLS0gYS90L3QxMzA4LWNvbmZpZy1zZXQuc2gKKysrIGIvdC90MTMwOC1jb25maWctc2V0LnNoCkBAIC0xODMsMTEgKzE4MywyMiBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJvcGVyIGVycm9yIG9uIGRpcmVjdG9yeSAiZmlsZXMiJyAnCisJZWNobyAiRXJyb3IgKC0xKSByZWFkaW5nIGNvbmZpZ3VyYXRpb24gZmlsZSBhLWRpcmVjdG9yeS4iID5leHBlY3QgJiYKKwlta2RpciBhLWRpcmVjdG9yeSAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMiB0ZXN0LWNvbmZpZyBjb25maWdzZXRfZ2V0X3ZhbHVlIGZvby5iYXIgYS1kaXJlY3RvcnkgMj5vdXRwdXQgJiYKKwlncmVwICJed2FybmluZzoiIG91dHB1dCAmJgorCWdyZXAgIl5FcnJvciIgb3V0cHV0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUE9TSVhQRVJNLFNBTklUWSAncHJvcGVyIGVycm9yIG9uIG5vbi1hY2Nlc3NpYmxlIGZpbGVzJyAnCiAJY2htb2QgLXIgLmdpdC9jb25maWcgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImNobW9kICtyIC5naXQvY29uZmlnIiAmJgogCWVjaG8gIkVycm9yICgtMSkgcmVhZGluZyBjb25maWd1cmF0aW9uIGZpbGUgLmdpdC9jb25maWcuIiA+ZXhwZWN0ICYmCi0JdGVzdF9leHBlY3RfY29kZSAyIHRlc3QtY29uZmlnIGNvbmZpZ3NldF9nZXRfdmFsdWUgZm9vLmJhciAuZ2l0L2NvbmZpZyAyPmFjdHVhbCAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMiB0ZXN0LWNvbmZpZyBjb25maWdzZXRfZ2V0X3ZhbHVlIGZvby5iYXIgLmdpdC9jb25maWcgMj5vdXRwdXQgJiYKKwlncmVwICJed2FybmluZzoiIG91dHB1dCAmJgorCWdyZXAgIl5FcnJvciIgb3V0cHV0ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKQEAgLTIxNSw3ICsyMjYsOSBAQAogCQlicgogCUVPRgogCXRlc3RfZXhwZWN0X2NvZGUgMTI4IGdpdCBiciAyPnJlc3VsdCAmJgotCXRlc3RfaTE4bmdyZXAgImZhdGFsOiAuKmFsaWFzXC5ici4qXC5naXQvY29uZmlnLipsaW5lIDIiIHJlc3VsdAorCXRlc3RfaTE4bmdyZXAgIm1pc3NpbmcgdmFsdWUgZm9yIC5hbGlhc1wuYnIiIHJlc3VsdCAmJgorCXRlc3RfaTE4bmdyZXAgImZhdGFsOiAuKlwuZ2l0L2NvbmZpZyIgcmVzdWx0ICYmCisJdGVzdF9pMThuZ3JlcCAiZmF0YWw6IC4qbGluZSAyIiByZXN1bHQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZXJyb3Igb24gbW9kaWZ5aW5nIHJlcG8gY29uZmlnIHdpdGhvdXQgcmVwbycgJwpkaWZmIC0tZ2l0IGEvdC90MTMwOS1lYXJseS1jb25maWcuc2ggYi90L3QxMzA5LWVhcmx5LWNvbmZpZy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZGRhMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MTMwOS1lYXJseS1jb25maWcuc2gKQEAgLTAsMCArMSw5MiBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J1Rlc3QgcmVhZF9lYXJseV9jb25maWcoKScKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYWQgZWFybHkgY29uZmlnJyAnCisJdGVzdF9jb25maWcgZWFybHkuY29uZmlnIGNvcnJlY3QgJiYKKwl0ZXN0LWNvbmZpZyByZWFkX2Vhcmx5X2NvbmZpZyBlYXJseS5jb25maWcgPm91dHB1dCAmJgorCXRlc3QgY29ycmVjdCA9ICIkKGNhdCBvdXRwdXQpIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbiBhIHN1Yi1kaXJlY3RvcnknICcKKwl0ZXN0X2NvbmZpZyBlYXJseS5jb25maWcgc3ViICYmCisJbWtkaXIgLXAgc3ViICYmCisJKAorCQljZCBzdWIgJiYKKwkJdGVzdC1jb25maWcgcmVhZF9lYXJseV9jb25maWcgZWFybHkuY29uZmlnCisJKSA+b3V0cHV0ICYmCisJdGVzdCBzdWIgPSAiJChjYXQgb3V0cHV0KSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2VpbGluZycgJworCXRlc3RfY29uZmlnIGVhcmx5LmNvbmZpZyBjZWlsaW5nICYmCisJbWtkaXIgLXAgc3ViICYmCisJKAorCQlHSVRfQ0VJTElOR19ESVJFQ1RPUklFUz0iJFBXRCIgJiYKKwkJZXhwb3J0IEdJVF9DRUlMSU5HX0RJUkVDVE9SSUVTICYmCisJCWNkIHN1YiAmJgorCQl0ZXN0LWNvbmZpZyByZWFkX2Vhcmx5X2NvbmZpZyBlYXJseS5jb25maWcKKwkpID5vdXRwdXQgJiYKKwl0ZXN0IC16ICIkKGNhdCBvdXRwdXQpIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjZWlsaW5nICMyJyAnCisJbWtkaXIgLXAgeGRnL2dpdCAmJgorCWdpdCBjb25maWcgLWYgeGRnL2dpdC9jb25maWcgZWFybHkuY29uZmlnIHhkZyAmJgorCXRlc3RfY29uZmlnIGVhcmx5LmNvbmZpZyBjZWlsaW5nICYmCisJbWtkaXIgLXAgc3ViICYmCisJKAorCQlYREdfQ09ORklHX0hPTUU9IiRQV0QiL3hkZyAmJgorCQlHSVRfQ0VJTElOR19ESVJFQ1RPUklFUz0iJFBXRCIgJiYKKwkJZXhwb3J0IEdJVF9DRUlMSU5HX0RJUkVDVE9SSUVTIFhER19DT05GSUdfSE9NRSAmJgorCQljZCBzdWIgJiYKKwkJdGVzdC1jb25maWcgcmVhZF9lYXJseV9jb25maWcgZWFybHkuY29uZmlnCisJKSA+b3V0cHV0ICYmCisJdGVzdCB4ZGcgPSAiJChjYXQgb3V0cHV0KSIKKycKKworY21kbGluZV9jb25maWc9Iid0ZXN0LnNvdXJjZT1jbWRsaW5lJyIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYWQgY29uZmlnIGZpbGUgaW4gcmlnaHQgb3JkZXInICcKKwllY2hvICJbdGVzdF1zb3VyY2UgPSBob21lIiA+Pi5naXRjb25maWcgJiYKKwlnaXQgaW5pdCBmb28gJiYKKwkoCisJCWNkIGZvbyAmJgorCQllY2hvICJbdGVzdF1zb3VyY2UgPSByZXBvIiA+Pi5naXQvY29uZmlnICYmCisJCUdJVF9DT05GSUdfUEFSQU1FVEVSUz0kY21kbGluZV9jb25maWcgdGVzdC1jb25maWcgXAorCQkJcmVhZF9lYXJseV9jb25maWcgdGVzdC5zb3VyY2UgPmFjdHVhbCAmJgorCQljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwkJaG9tZQorCQlyZXBvCisJCWNtZGxpbmUKKwkJRU9GCisJCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCSkKKycKKwordGVzdF93aXRoX2NvbmZpZyAoKSB7CisJcm0gLXJmIHRocm93YXdheSAmJgorCWdpdCBpbml0IHRocm93YXdheSAmJgorCSgKKwkJY2QgdGhyb3dhd2F5ICYmCisJCWVjaG8gIiQqIiA+LmdpdC9jb25maWcgJiYKKwkJdGVzdC1jb25maWcgcmVhZF9lYXJseV9jb25maWcgZWFybHkuY29uZmlnCisJKQorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpZ25vcmUgLmdpdC8gd2l0aCBpbmNvbXBhdGlibGUgcmVwb3NpdG9yeSB2ZXJzaW9uJyAnCisJdGVzdF93aXRoX2NvbmZpZyAiW2NvcmVdcmVwb3NpdG9yeWZvcm1hdHZlcnNpb24gPSA5OTk5OTkiIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAid2FybmluZzouKiBFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9IFsxLTldIiBlcnIKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnaWdub3JlIC5naXQvIHdpdGggaW52YWxpZCByZXBvc2l0b3J5IHZlcnNpb24nICcKKwl0ZXN0X3dpdGhfY29uZmlnICJbY29yZV1yZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IGludmFsaWQiCisnCisKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnaWdub3JlIC5naXQvIHdpdGggaW52YWxpZCBjb25maWcnICcKKwl0ZXN0X3dpdGhfY29uZmlnICJbIgorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE0MDAtdXBkYXRlLXJlZi5zaCBiL3QvdDE0MDAtdXBkYXRlLXJlZi5zaAppbmRleCBiMGZmYzBiLi42NjRhM2E0IDEwMDc1NQotLS0gYS90L3QxNDAwLXVwZGF0ZS1yZWYuc2gKKysrIGIvdC90MTQwMC11cGRhdGUtcmVmLnNoCkBAIC0zNSw1NSArMzUsNzMgQEAKIAljZCAtCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSJjcmVhdGUgJG0iIFwKLQkiZ2l0IHVwZGF0ZS1yZWYgJG0gJEEgJiYKLQkgdGVzdCAkQSInID0gJChjYXQgLmdpdC8nIiRtIicpJwotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JImNyZWF0ZSAkbSIgXAotCSJnaXQgdXBkYXRlLXJlZiAkbSAkQiAkQSAmJgotCSB0ZXN0ICRCIicgPSAkKGNhdCAuZ2l0LyciJG0iJyknCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJjcmVhdGUgJG0iICcKKwlnaXQgdXBkYXRlLXJlZiAkbSAkQSAmJgorCXRlc3QgJEEgPSAkKGNhdCAuZ2l0LyRtKQorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAiY3JlYXRlICRtIHdpdGggb2xkdmFsdWUgdmVyaWZpY2F0aW9uIiAnCisJZ2l0IHVwZGF0ZS1yZWYgJG0gJEIgJEEgJiYKKwl0ZXN0ICRCID0gJChjYXQgLmdpdC8kbSkKKycKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZhaWwgdG8gZGVsZXRlICRtIHdpdGggc3RhbGUgcmVmIiAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLWQgJG0gJEEgJiYKIAl0ZXN0ICRCID0gIiQoY2F0IC5naXQvJG0pIgogJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAiZGVsZXRlICRtIiAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0LyRtIiAmJgogCWdpdCB1cGRhdGUtcmVmIC1kICRtICRCICYmCi0JISB0ZXN0IC1mIC5naXQvJG0KKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0LyRtCiAnCi1ybSAtZiAuZ2l0LyRtCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImRlbGV0ZSAkbSB3aXRob3V0IG9sZHZhbHVlIHZlcmlmaWNhdGlvbiIgIgordGVzdF9leHBlY3Rfc3VjY2VzcyAiZGVsZXRlICRtIHdpdGhvdXQgb2xkdmFsdWUgdmVyaWZpY2F0aW9uIiAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0LyRtIiAmJgogCWdpdCB1cGRhdGUtcmVmICRtICRBICYmCi0JdGVzdCAkQSA9IFwkKGNhdCAuZ2l0LyRtKSAmJgorCXRlc3QgJEEgPSAkKGNhdCAuZ2l0LyRtKSAmJgogCWdpdCB1cGRhdGUtcmVmIC1kICRtICYmCi0JISB0ZXN0IC1mIC5naXQvJG0KLSIKLXJtIC1mIC5naXQvJG0KKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0LyRtCisnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSJmYWlsIHRvIGNyZWF0ZSAkbiIgXAotCSJ0b3VjaCAuZ2l0LyRuX2RpciAmJgotCSB0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAkbiAkQSA+b3V0IDI+ZXJyIgotcm0gLWYgLmdpdC8kbl9kaXIgb3V0IGVycgordGVzdF9leHBlY3Rfc3VjY2VzcyAiZmFpbCB0byBjcmVhdGUgJG4iICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvJG5fZGlyIiAmJgorCXRvdWNoIC5naXQvJG5fZGlyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgJG4gJEEKKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JImNyZWF0ZSAkbSAoYnkgSEVBRCkiIFwKLQkiZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQSAmJgotCSB0ZXN0ICRBIicgPSAkKGNhdCAuZ2l0LyciJG0iJyknCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLQkiY3JlYXRlICRtIChieSBIRUFEKSIgXAotCSJnaXQgdXBkYXRlLXJlZiBIRUFEICRCICRBICYmCi0JIHRlc3QgJEIiJyA9ICQoY2F0IC5naXQvJyIkbSInKScKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgImNyZWF0ZSAkbSAoYnkgSEVBRCkiICcKKwlnaXQgdXBkYXRlLXJlZiBIRUFEICRBICYmCisJdGVzdCAkQSA9ICQoY2F0IC5naXQvJG0pCisnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJjcmVhdGUgJG0gKGJ5IEhFQUQpIHdpdGggb2xkdmFsdWUgdmVyaWZpY2F0aW9uIiAnCisJZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQiAkQSAmJgorCXRlc3QgJEIgPSAkKGNhdCAuZ2l0LyRtKQorJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAiZmFpbCB0byBkZWxldGUgJG0gKGJ5IEhFQUQpIHdpdGggc3RhbGUgcmVmIiAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLWQgSEVBRCAkQSAmJgogCXRlc3QgJEIgPSAkKGNhdCAuZ2l0LyRtKQogJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAiZGVsZXRlICRtIChieSBIRUFEKSIgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC8kbSIgJiYKIAlnaXQgdXBkYXRlLXJlZiAtZCBIRUFEICRCICYmCi0JISB0ZXN0IC1mIC5naXQvJG0KKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0LyRtCiAnCi1ybSAtZiAuZ2l0LyRtCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgImRlbGV0aW5nIGN1cnJlbnQgYnJhbmNoIGFkZHMgbWVzc2FnZSB0byBIRUFEJ3MgbG9nIiAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0LyRtIiAmJgorCWdpdCB1cGRhdGUtcmVmICRtICRBICYmCisJZ2l0IHN5bWJvbGljLXJlZiBIRUFEICRtICYmCisJZ2l0IHVwZGF0ZS1yZWYgLW0gZGVsZXRlLSRtIC1kICRtICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC8kbSAmJgorCWdyZXAgImRlbGV0ZS0kbSQiIC5naXQvbG9ncy9IRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgImRlbGV0aW5nIGJ5IEhFQUQgYWRkcyBtZXNzYWdlIHRvIEhFQUQncyBsb2ciICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvJG0iICYmCisJZ2l0IHVwZGF0ZS1yZWYgJG0gJEEgJiYKKwlnaXQgc3ltYm9saWMtcmVmIEhFQUQgJG0gJiYKKwlnaXQgdXBkYXRlLXJlZiAtbSBkZWxldGUtYnktaGVhZCAtZCBIRUFEICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC8kbSAmJgorCWdyZXAgImRlbGV0ZS1ieS1oZWFkJCIgLmdpdC9sb2dzL0hFQUQKKycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXBkYXRlLXJlZiBkb2VzIG5vdCBjcmVhdGUgcmVmbG9ncyBieSBkZWZhdWx0JyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdXBkYXRlLXJlZiAtZCAkb3V0c2lkZSIgJiYKQEAgLTE1OCw0MCArMTc2LDQxIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlZmxvZyBleGlzdHMgJG91dHNpZGUKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JImNyZWF0ZSAkbSAoYnkgSEVBRCkiIFwKLQkiZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQSAmJgotCSB0ZXN0ICRBIicgPSAkKGNhdCAuZ2l0LyciJG0iJyknCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLQkicGFjayByZWZzIiBcCi0JImdpdCBwYWNrLXJlZnMgLS1hbGwiCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLQkibW92ZSAkbSAoYnkgSEVBRCkiIFwKLQkiZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQiAkQSAmJgotCSB0ZXN0ICRCIicgPSAkKGNhdCAuZ2l0LyciJG0iJyknCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJjcmVhdGUgJG0gKGJ5IEhFQUQpIiAnCisJZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQSAmJgorCXRlc3QgJEEgPSAkKGNhdCAuZ2l0LyRtKQorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjayByZWZzJyAnCisJZ2l0IHBhY2stcmVmcyAtLWFsbAorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAibW92ZSAkbSAoYnkgSEVBRCkiICcKKwlnaXQgdXBkYXRlLXJlZiBIRUFEICRCICRBICYmCisJdGVzdCAkQiA9ICQoY2F0IC5naXQvJG0pCisnCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJkZWxldGUgJG0gKGJ5IEhFQUQpIHNob3VsZCByZW1vdmUgYm90aCBwYWNrZWQgYW5kIGxvb3NlICRtIiAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0LyRtIiAmJgogCWdpdCB1cGRhdGUtcmVmIC1kIEhFQUQgJEIgJiYKIAkhIGdyZXAgIiRtIiAuZ2l0L3BhY2tlZC1yZWZzICYmCi0JISB0ZXN0IC1mIC5naXQvJG0KKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0LyRtCiAnCi1ybSAtZiAuZ2l0LyRtCiAKIGNwIC1mIC5naXQvSEVBRCAuZ2l0L0hFQUQub3JpZwotdGVzdF9leHBlY3Rfc3VjY2VzcyAiZGVsZXRlIHN5bXJlZiB3aXRob3V0IGRlcmVmZXJlbmNlIiAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGUgc3ltcmVmIHdpdGhvdXQgZGVyZWZlcmVuY2UnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImNwIC1mIC5naXQvSEVBRC5vcmlnIC5naXQvSEVBRCIgJiYKIAlnaXQgdXBkYXRlLXJlZiAtLW5vLWRlcmVmIC1kIEhFQUQgJiYKLQkhIHRlc3QgLWYgLmdpdC9IRUFECisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9IRUFECiAnCi1jcCAtZiAuZ2l0L0hFQUQub3JpZyAuZ2l0L0hFQUQKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAiZGVsZXRlIHN5bXJlZiB3aXRob3V0IGRlcmVmZXJlbmNlIHdoZW4gdGhlIHJlZmVycmVkIHJlZiBpcyBwYWNrZWQiICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlbGV0ZSBzeW1yZWYgd2l0aG91dCBkZXJlZmVyZW5jZSB3aGVuIHRoZSByZWZlcnJlZCByZWYgaXMgcGFja2VkJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJjcCAtZiAuZ2l0L0hFQUQub3JpZyAuZ2l0L0hFQUQiICYmCiAJZWNobyBmb28gPmZvby5jICYmCiAJZ2l0IGFkZCBmb28uYyAmJgogCWdpdCBjb21taXQgLW0gZm9vICYmCiAJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgogCWdpdCB1cGRhdGUtcmVmIC0tbm8tZGVyZWYgLWQgSEVBRCAmJgotCSEgdGVzdCAtZiAuZ2l0L0hFQUQKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L0hFQUQKICcKLWNwIC1mIC5naXQvSEVBRC5vcmlnIC5naXQvSEVBRAorCiBnaXQgdXBkYXRlLXJlZiAtZCAkbQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cGRhdGUtcmVmIC1kIGlzIG5vdCBjb25mdXNlZCBieSBzZWxmLXJlZmVyZW5jZScgJwpAQCAtMjIwLDgyICsyMzksMTEwIEBACiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9yZWZzL2hlYWRzL3JlZi10by1iYWQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnKG5vdCkgY3JlYXRlIEhFQUQgd2l0aCBvbGQgc2hhMScgIgordGVzdF9leHBlY3Rfc3VjY2VzcyAnKG5vdCkgY3JlYXRlIEhFQUQgd2l0aCBvbGQgc2hhMScgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIEhFQUQgJEEgJEIKLSIKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIihub3QpIHByaW9yIGNyZWF0ZWQgLmdpdC8kbSIgIgotCSEgdGVzdCAtZiAuZ2l0LyRtCi0iCi1ybSAtZiAuZ2l0LyRtCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSJjcmVhdGUgSEVBRCIgXAotCSJnaXQgdXBkYXRlLXJlZiBIRUFEICRBIgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnKG5vdCkgY2hhbmdlIEhFQUQgd2l0aCB3cm9uZyBTSEExJyAiCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQiAkWgotIgotdGVzdF9leHBlY3Rfc3VjY2VzcyAiKG5vdCkgY2hhbmdlZCAuZ2l0LyRtIiAiCi0JISB0ZXN0ICRCIicgPSAkKGNhdCAuZ2l0LyciJG0iJykKICcKLXJtIC1mIC5naXQvJG0KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIihub3QpIHByaW9yIGNyZWF0ZWQgLmdpdC8kbSIgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC8kbSIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0LyRtCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBIRUFEJyAnCisJZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQQorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnKG5vdCkgY2hhbmdlIEhFQUQgd2l0aCB3cm9uZyBTSEExJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQiAkWgorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAiKG5vdCkgY2hhbmdlZCAuZ2l0LyRtIiAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0LyRtIiAmJgorCSEgdGVzdCAkQiA9ICQoY2F0IC5naXQvJG0pCisnCiAKIHJtIC1mIC5naXQvbG9ncy9yZWZzL2hlYWRzL21hc3RlcgotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JImNyZWF0ZSAkbSAobG9nZ2VkIGJ5IHRvdWNoKSIgXAotCSdHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDUtMDUtMjYgMjM6MzAiIFwKLQkgZ2l0IHVwZGF0ZS1yZWYgLS1jcmVhdGUtcmVmbG9nIEhFQUQgJyIkQSInIC1tICJJbml0aWFsIENyZWF0aW9uIiAmJgotCSB0ZXN0ICciJEEiJyA9ICQoY2F0IC5naXQvJyIkbSInKScKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSJ1cGRhdGUgJG0gKGxvZ2dlZCBieSB0b3VjaCkiIFwKLQknR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjMxIiBcCi0JIGdpdCB1cGRhdGUtcmVmIEhFQUQnIiAkQiAkQSAiJy1tICJTd2l0Y2giICYmCi0JIHRlc3QgJyIkQiInID0gJChjYXQgLmdpdC8nIiRtIicpJwotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JInNldCAkbSAobG9nZ2VkIGJ5IHRvdWNoKSIgXAotCSdHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDUtMDUtMjYgMjM6NDEiIFwKLQkgZ2l0IHVwZGF0ZS1yZWYgSEVBRCciICRBICYmCi0JIHRlc3QgJEEiJyA9ICQoY2F0IC5naXQvJyIkbSInKScKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgImNyZWF0ZSAkbSAobG9nZ2VkIGJ5IHRvdWNoKSIgJworCXRlc3RfY29uZmlnIGNvcmUubG9nQWxsUmVmVXBkYXRlcyBmYWxzZSAmJgorCUdJVF9DT01NSVRURVJfREFURT0iMjAwNS0wNS0yNiAyMzozMCIgXAorCWdpdCB1cGRhdGUtcmVmIC0tY3JlYXRlLXJlZmxvZyBIRUFEICRBIC1tICJJbml0aWFsIENyZWF0aW9uIiAmJgorCXRlc3QgJEEgPSAkKGNhdCAuZ2l0LyRtKQorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAidXBkYXRlICRtIChsb2dnZWQgYnkgdG91Y2gpIiAnCisJdGVzdF9jb25maWcgY29yZS5sb2dBbGxSZWZVcGRhdGVzIGZhbHNlICYmCisJR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjMxIiBcCisJZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQiAkQSAtbSAiU3dpdGNoIiAmJgorCXRlc3QgJEIgPSAkKGNhdCAuZ2l0LyRtKQorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAic2V0ICRtIChsb2dnZWQgYnkgdG91Y2gpIiAnCisJdGVzdF9jb25maWcgY29yZS5sb2dBbGxSZWZVcGRhdGVzIGZhbHNlICYmCisJR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjQxIiBcCisJZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQSAmJgorCXRlc3QgJEEgPSAkKGNhdCAuZ2l0LyRtKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbXB0eSBkaXJlY3RvcnkgcmVtb3ZhbCcgJworCWdpdCBicmFuY2ggZDEvZDIvcjEgSEVBRCAmJgorCWdpdCBicmFuY2ggZDEvcjIgSEVBRCAmJgorCXRlc3RfcGF0aF9pc19maWxlIC5naXQvcmVmcy9oZWFkcy9kMS9kMi9yMSAmJgorCXRlc3RfcGF0aF9pc19maWxlIC5naXQvbG9ncy9yZWZzL2hlYWRzL2QxL2QyL3IxICYmCisJZ2l0IGJyYW5jaCAtZCBkMS9kMi9yMSAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcmVmcy9oZWFkcy9kMS9kMiAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvbG9ncy9yZWZzL2hlYWRzL2QxL2QyICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9yZWZzL2hlYWRzL2QxL3IyICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9sb2dzL3JlZnMvaGVhZHMvZDEvcjIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3ltcmVmIGVtcHR5IGRpcmVjdG9yeSByZW1vdmFsJyAnCisJZ2l0IGJyYW5jaCBlMS9lMi9yMSBIRUFEICYmCisJZ2l0IGJyYW5jaCBlMS9yMiBIRUFEICYmCisJZ2l0IGNoZWNrb3V0IGUxL2UyL3IxICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgorCXRlc3RfcGF0aF9pc19maWxlIC5naXQvcmVmcy9oZWFkcy9lMS9lMi9yMSAmJgorCXRlc3RfcGF0aF9pc19maWxlIC5naXQvbG9ncy9yZWZzL2hlYWRzL2UxL2UyL3IxICYmCisJZ2l0IHVwZGF0ZS1yZWYgLWQgSEVBRCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcmVmcy9oZWFkcy9lMS9lMiAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvbG9ncy9yZWZzL2hlYWRzL2UxL2UyICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9yZWZzL2hlYWRzL2UxL3IyICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9sb2dzL3JlZnMvaGVhZHMvZTEvcjIgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSAuZ2l0L2xvZ3MvSEVBRAorJwogCiBjYXQgPmV4cGVjdCA8PEVPRgogJFogJEEgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IDExMTcxNTAyMDAgKzAwMDAJSW5pdGlhbCBDcmVhdGlvbgogJEEgJEIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IDExMTcxNTAyNjAgKzAwMDAJU3dpdGNoCiAkQiAkQSAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gMTExNzE1MDg2MCArMDAwMAogRU9GCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLQkidmVyaWZ5aW5nICRtJ3MgbG9nIiBcCi0JInRlc3RfY21wIGV4cGVjdCAuZ2l0L2xvZ3MvJG0iCi1ybSAtcmYgLmdpdC8kbSAuZ2l0L2xvZ3MgZXhwZWN0Cit0ZXN0X2V4cGVjdF9zdWNjZXNzICJ2ZXJpZnlpbmcgJG0ncyBsb2cgKGxvZ2dlZCBieSB0b3VjaCkiICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiAuZ2l0LyRtIC5naXQvbG9ncyBleHBlY3QiICYmCisJdGVzdF9jbXAgZXhwZWN0IC5naXQvbG9ncy8kbQorJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLQknZW5hYmxlIGNvcmUubG9nQWxsUmVmVXBkYXRlcycgXAotCSdnaXQgY29uZmlnIGNvcmUubG9nQWxsUmVmVXBkYXRlcyB0cnVlICYmCi0JIHRlc3QgdHJ1ZSA9ICQoZ2l0IGNvbmZpZyAtLWJvb2wgLS1nZXQgY29yZS5sb2dBbGxSZWZVcGRhdGVzKScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JImNyZWF0ZSAkbSAobG9nZ2VkIGJ5IGNvbmZpZykiIFwKLQknR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjMyIiBcCi0JIGdpdCB1cGRhdGUtcmVmIEhFQUQnIiAkQSAiJy1tICJJbml0aWFsIENyZWF0aW9uIiAmJgotCSB0ZXN0ICciJEEiJyA9ICQoY2F0IC5naXQvJyIkbSInKScKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSJ1cGRhdGUgJG0gKGxvZ2dlZCBieSBjb25maWcpIiBcCi0JJ0dJVF9DT01NSVRURVJfREFURT0iMjAwNS0wNS0yNiAyMzozMyIgXAotCSBnaXQgdXBkYXRlLXJlZiBIRUFEJyIgJEIgJEEgIictbSAiU3dpdGNoIiAmJgotCSB0ZXN0ICciJEIiJyA9ICQoY2F0IC5naXQvJyIkbSInKScKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSJzZXQgJG0gKGxvZ2dlZCBieSBjb25maWcpIiBcCi0JJ0dJVF9DT01NSVRURVJfREFURT0iMjAwNS0wNS0yNiAyMzo0MyIgXAotCSBnaXQgdXBkYXRlLXJlZiBIRUFEICciJEEgJiYKLQkgdGVzdCAkQSInID0gJChjYXQgLmdpdC8nIiRtIicpJwordGVzdF9leHBlY3Rfc3VjY2VzcyAiY3JlYXRlICRtIChsb2dnZWQgYnkgY29uZmlnKSIgJworCXRlc3RfY29uZmlnIGNvcmUubG9nQWxsUmVmVXBkYXRlcyB0cnVlICYmCisJR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjMyIiBcCisJZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkQSAtbSAiSW5pdGlhbCBDcmVhdGlvbiIgJiYKKwl0ZXN0ICRBID0gJChjYXQgLmdpdC8kbSkKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgInVwZGF0ZSAkbSAobG9nZ2VkIGJ5IGNvbmZpZykiICcKKwl0ZXN0X2NvbmZpZyBjb3JlLmxvZ0FsbFJlZlVwZGF0ZXMgdHJ1ZSAmJgorCUdJVF9DT01NSVRURVJfREFURT0iMjAwNS0wNS0yNiAyMzozMyIgXAorCWdpdCB1cGRhdGUtcmVmIEhFQUQnIiAkQiAkQSAiJy1tICJTd2l0Y2giICYmCisJdGVzdCAkQiA9ICQoY2F0IC5naXQvJG0pCisnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJzZXQgJG0gKGxvZ2dlZCBieSBjb25maWcpIiAnCisJdGVzdF9jb25maWcgY29yZS5sb2dBbGxSZWZVcGRhdGVzIHRydWUgJiYKKwlHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDUtMDUtMjYgMjM6NDMiIFwKKwlnaXQgdXBkYXRlLXJlZiBIRUFEICRBICYmCisJdGVzdCAkQSA9ICQoY2F0IC5naXQvJG0pCisnCiAKIGNhdCA+ZXhwZWN0IDw8RU9GCiAkWiAkQSAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gMTExNzE1MDMyMCArMDAwMAlJbml0aWFsIENyZWF0aW9uCiAkQSAkQiAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gMTExNzE1MDM4MCArMDAwMAlTd2l0Y2gKICRCICRBICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAxMTE3MTUwOTgwICswMDAwCiBFT0YKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSJ2ZXJpZnlpbmcgJG0ncyBsb2ciIFwKLQkndGVzdF9jbXAgZXhwZWN0IC5naXQvbG9ncy8kbScKLXJtIC1mIC5naXQvJG0gLmdpdC9sb2dzLyRtIGV4cGVjdAordGVzdF9leHBlY3Rfc3VjY2VzcyAidmVyaWZ5aW5nICRtJ3MgbG9nIChsb2dnZWQgYnkgY29uZmlnKSIgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC8kbSAuZ2l0L2xvZ3MvJG0gZXhwZWN0IiAmJgorCXRlc3RfY21wIGV4cGVjdCAuZ2l0L2xvZ3MvJG0KKycKIAogZ2l0IHVwZGF0ZS1yZWYgJG0gJEQKIGNhdCA+LmdpdC9sb2dzLyRtIDw8RU9GCkBAIC0zMDksODYgKzM1Niw4NSBAQAogZWQ9IlRodSwgMjYgTWF5IDIwMDUgMTg6MzI6MDAgLTA1MDAiCiBnZD0iVGh1LCAyNiBNYXkgMjAwNSAxODozMzowMCAtMDUwMCIKIGxkPSJUaHUsIDI2IE1heSAyMDA1IDE4OjQzOjAwIC0wNTAwIgotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JJ1F1ZXJ5ICJtYXN0ZXJAe01heSAyNSAyMDA1fSIgKGJlZm9yZSBoaXN0b3J5KScgXAotCSdybSAtZiBvIGUgJiYKLQkgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHtNYXkgMjUgMjAwNX0iID5vIDI+ZSAmJgotCSB0ZXN0ICciJEMiJyA9ICQoY2F0IG8pICYmCi0JIHRlc3QgIndhcm5pbmc6IExvZyBmb3IgJ1wnbWFzdGVyXCcnIG9ubHkgZ29lcyBiYWNrIHRvICRlZC4iID0gIiQoY2F0IGUpIicKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSJRdWVyeSBtYXN0ZXJAezIwMDUtMDUtMjV9IChiZWZvcmUgaGlzdG9yeSkiIFwKLQkncm0gLWYgbyBlICYmCi0JIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgbWFzdGVyQHsyMDA1LTA1LTI1fSA+byAyPmUgJiYKLQkgdGVzdCAnIiRDIicgPSAkKGNhdCBvKSAmJgotCSBlY2hvIHRlc3QgIndhcm5pbmc6IExvZyBmb3IgJ1wnbWFzdGVyXCcnIG9ubHkgZ29lcyBiYWNrIHRvICRlZC4iID0gIiQoY2F0IGUpIicKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSdRdWVyeSAibWFzdGVyQHtNYXkgMjYgMjAwNSAyMzozMTo1OX0iICgxIHNlY29uZCBiZWZvcmUgaGlzdG9yeSknIFwKLQkncm0gLWYgbyBlICYmCi0JIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzE6NTl9IiA+byAyPmUgJiYKLQkgdGVzdCAnIiRDIicgPSAkKGNhdCBvKSAmJgotCSB0ZXN0ICJ3YXJuaW5nOiBMb2cgZm9yICdcJydtYXN0ZXInXCcnIG9ubHkgZ29lcyBiYWNrIHRvICRlZC4iID0gIiQoY2F0IGUpIicKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSdRdWVyeSAibWFzdGVyQHtNYXkgMjYgMjAwNSAyMzozMjowMH0iIChleGFjdGx5IGhpc3Rvcnkgc3RhcnQpJyBcCi0JJ3JtIC1mIG8gZSAmJgotCSBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICJtYXN0ZXJAe01heSAyNiAyMDA1IDIzOjMyOjAwfSIgPm8gMj5lICYmCi0JIHRlc3QgJyIkQyInID0gJChjYXQgbykgJiYKLQkgdGVzdCAiIiA9ICIkKGNhdCBlKSInCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLQknUXVlcnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzI6MzB9IiAoZmlyc3Qgbm9uLWNyZWF0aW9uIGNoYW5nZSknIFwKLQkncm0gLWYgbyBlICYmCi0JIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzI6MzB9IiA+byAyPmUgJiYKLQkgdGVzdCAnIiRBIicgPSAkKGNhdCBvKSAmJgotCSB0ZXN0ICIiID0gIiQoY2F0IGUpIicKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSdRdWVyeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjMzOjAxfSIgKG1pZGRsZSBvZiBoaXN0b3J5IHdpdGggZ2FwKScgXAotCSdybSAtZiBvIGUgJiYKLQkgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjMzOjAxfSIgPm8gMj5lICYmCi0JIHRlc3QgJyIkQiInID0gJChjYXQgbykgJiYKLQkgdGVzdCAid2FybmluZzogTG9nIGZvciByZWYgJyIkbSBoYXMgZ2FwIGFmdGVyICRnZCInLiIgPSAiJChjYXQgZSkiJwotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JJ1F1ZXJ5ICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6Mzg6MDB9IiAobWlkZGxlIG9mIGhpc3RvcnkpJyBcCi0JJ3JtIC1mIG8gZSAmJgotCSBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6Mzg6MDB9IiA+byAyPmUgJiYKLQkgdGVzdCAnIiRaIicgPSAkKGNhdCBvKSAmJgotCSB0ZXN0ICIiID0gIiQoY2F0IGUpIicKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSdRdWVyeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjQzOjAwfSIgKGV4YWN0IGVuZCBvZiBoaXN0b3J5KScgXAotCSdybSAtZiBvIGUgJiYKLQkgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjQzOjAwfSIgPm8gMj5lICYmCi0JIHRlc3QgJyIkRSInID0gJChjYXQgbykgJiYKLQkgdGVzdCAiIiA9ICIkKGNhdCBlKSInCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLQknUXVlcnkgIm1hc3RlckB7MjAwNS0wNS0yOH0iIChwYXN0IGVuZCBvZiBoaXN0b3J5KScgXAotCSdybSAtZiBvIGUgJiYKLQkgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHsyMDA1LTA1LTI4fSIgPm8gMj5lICYmCi0JIHRlc3QgJyIkRCInID0gJChjYXQgbykgJiYKLQkgdGVzdCAid2FybmluZzogTG9nIGZvciByZWYgJyIkbSB1bmV4cGVjdGVkbHkgZW5kZWQgb24gJGxkIicuIiA9ICIkKGNhdCBlKSInCi0KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAe01heSAyNSAyMDA1fSIgKGJlZm9yZSBoaXN0b3J5KScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbyBlIiAmJgorCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIm1hc3RlckB7TWF5IDI1IDIwMDV9IiA+byAyPmUgJiYKKwl0ZXN0ICRDID0gJChjYXQgbykgJiYKKwl0ZXN0ICJ3YXJuaW5nOiBMb2cgZm9yICdcJydtYXN0ZXInXCcnIG9ubHkgZ29lcyBiYWNrIHRvICRlZC4iID0gIiQoY2F0IGUpIgorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnUXVlcnkgbWFzdGVyQHsyMDA1LTA1LTI1fSAoYmVmb3JlIGhpc3RvcnkpJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBvIGUiICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBtYXN0ZXJAezIwMDUtMDUtMjV9ID5vIDI+ZSAmJgorCXRlc3QgJEMgPSAkKGNhdCBvKSAmJgorCWVjaG8gdGVzdCAid2FybmluZzogTG9nIGZvciAnXCcnbWFzdGVyJ1wnJyBvbmx5IGdvZXMgYmFjayB0byAkZWQuIiA9ICIkKGNhdCBlKSIKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAe01heSAyNiAyMDA1IDIzOjMxOjU5fSIgKDEgc2Vjb25kIGJlZm9yZSBoaXN0b3J5KScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbyBlIiAmJgorCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzE6NTl9IiA+byAyPmUgJiYKKwl0ZXN0ICRDID0gJChjYXQgbykgJiYKKwl0ZXN0ICJ3YXJuaW5nOiBMb2cgZm9yICdcJydtYXN0ZXInXCcnIG9ubHkgZ29lcyBiYWNrIHRvICRlZC4iID0gIiQoY2F0IGUpIgorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnUXVlcnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzI6MDB9IiAoZXhhY3RseSBoaXN0b3J5IHN0YXJ0KScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbyBlIiAmJgorCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzI6MDB9IiA+byAyPmUgJiYKKwl0ZXN0ICRDID0gJChjYXQgbykgJiYKKwl0ZXN0ICIiID0gIiQoY2F0IGUpIgorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnUXVlcnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzI6MzB9IiAoZmlyc3Qgbm9uLWNyZWF0aW9uIGNoYW5nZSknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIG8gZSIgJiYKKwlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICJtYXN0ZXJAe01heSAyNiAyMDA1IDIzOjMyOjMwfSIgPm8gMj5lICYmCisJdGVzdCAkQSA9ICQoY2F0IG8pICYmCisJdGVzdCAiIiA9ICIkKGNhdCBlKSIKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6MzM6MDF9IiAobWlkZGxlIG9mIGhpc3Rvcnkgd2l0aCBnYXApJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBvIGUiICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjMzOjAxfSIgPm8gMj5lICYmCisJdGVzdCAkQiA9ICQoY2F0IG8pICYmCisJdGVzdCAid2FybmluZzogTG9nIGZvciByZWYgJG0gaGFzIGdhcCBhZnRlciAkZ2QuIiA9ICIkKGNhdCBlKSIKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6Mzg6MDB9IiAobWlkZGxlIG9mIGhpc3RvcnkpJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBvIGUiICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjM4OjAwfSIgPm8gMj5lICYmCisJdGVzdCAkWiA9ICQoY2F0IG8pICYmCisJdGVzdCAiIiA9ICIkKGNhdCBlKSIKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6NDM6MDB9IiAoZXhhY3QgZW5kIG9mIGhpc3RvcnkpJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBvIGUiICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjQzOjAwfSIgPm8gMj5lICYmCisJdGVzdCAkRSA9ICQoY2F0IG8pICYmCisJdGVzdCAiIiA9ICIkKGNhdCBlKSIKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAezIwMDUtMDUtMjh9IiAocGFzdCBlbmQgb2YgaGlzdG9yeSknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIG8gZSIgJiYKKwlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICJtYXN0ZXJAezIwMDUtMDUtMjh9IiA+byAyPmUgJiYKKwl0ZXN0ICREID0gJChjYXQgbykgJiYKKwl0ZXN0ICJ3YXJuaW5nOiBMb2cgZm9yIHJlZiAkbSB1bmV4cGVjdGVkbHkgZW5kZWQgb24gJGxkLiIgPSAiJChjYXQgZSkiCisnCiAKIHJtIC1mIC5naXQvJG0gLmdpdC9sb2dzLyRtIGV4cGVjdAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSAgICAnY3JlYXRpbmcgaW5pdGlhbCBmaWxlcycgXAotICAgICdlY2hvIFRFU1QgPkYgJiYKLSAgICAgZ2l0IGFkZCBGICYmCi0JIEdJVF9BVVRIT1JfREFURT0iMjAwNS0wNS0yNiAyMzozMCIgXAotCSBHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDUtMDUtMjYgMjM6MzAiIGdpdCBjb21taXQgLW0gYWRkIC1hICYmCi0JIGhfVEVTVD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkgJiYKLQkgZWNobyBUaGUgb3RoZXIgZGF5IHRoaXMgZGlkIG5vdCB3b3JrLiA+TSAmJgotCSBlY2hvIEFuZCB0aGVuIEJvYiB0b2xkIG1lIGhvdyB0byBmaXggaXQuID4+TSAmJgotCSBlY2hvIE9USEVSID5GICYmCi0JIEdJVF9BVVRIT1JfREFURT0iMjAwNS0wNS0yNiAyMzo0MSIgXAotCSBHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDUtMDUtMjYgMjM6NDEiIGdpdCBjb21taXQgLUYgTSAtYSAmJgotCSBoX09USEVSPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgotCSBHSVRfQVVUSE9SX0RBVEU9IjIwMDUtMDUtMjYgMjM6NDQiIFwKLQkgR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjQ0IiBnaXQgY29tbWl0IC0tYW1lbmQgJiYKLQkgaF9GSVhFRD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkgJiYKLQkgZWNobyBNZXJnZWQgaW5pdGlhbCBjb21taXQgYW5kIGEgbGF0ZXIgY29tbWl0LiA+TSAmJgotCSBlY2hvICRoX1RFU1QgPi5naXQvTUVSR0VfSEVBRCAmJgotCSBHSVRfQVVUSE9SX0RBVEU9IjIwMDUtMDUtMjYgMjM6NDUiIFwKLQkgR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjQ1IiBnaXQgY29tbWl0IC1GIE0gJiYKLQkgaF9NRVJHRUQ9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpICYmCi0JIHJtIC1mIE0nCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGluZyBpbml0aWFsIGZpbGVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkIHJtIC1mIE0gJiYKKwllY2hvIFRFU1QgPkYgJiYKKwlnaXQgYWRkIEYgJiYKKwlHSVRfQVVUSE9SX0RBVEU9IjIwMDUtMDUtMjYgMjM6MzAiIFwKKwlHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDUtMDUtMjYgMjM6MzAiIGdpdCBjb21taXQgLW0gYWRkIC1hICYmCisJaF9URVNUPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgorCWVjaG8gVGhlIG90aGVyIGRheSB0aGlzIGRpZCBub3Qgd29yay4gPk0gJiYKKwllY2hvIEFuZCB0aGVuIEJvYiB0b2xkIG1lIGhvdyB0byBmaXggaXQuID4+TSAmJgorCWVjaG8gT1RIRVIgPkYgJiYKKwlHSVRfQVVUSE9SX0RBVEU9IjIwMDUtMDUtMjYgMjM6NDEiIFwKKwlHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDUtMDUtMjYgMjM6NDEiIGdpdCBjb21taXQgLUYgTSAtYSAmJgorCWhfT1RIRVI9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpICYmCisJR0lUX0FVVEhPUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjQ0IiBcCisJR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA1LTA1LTI2IDIzOjQ0IiBnaXQgY29tbWl0IC0tYW1lbmQgJiYKKwloX0ZJWEVEPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgorCWVjaG8gTWVyZ2VkIGluaXRpYWwgY29tbWl0IGFuZCBhIGxhdGVyIGNvbW1pdC4gPk0gJiYKKwllY2hvICRoX1RFU1QgPi5naXQvTUVSR0VfSEVBRCAmJgorCUdJVF9BVVRIT1JfREFURT0iMjAwNS0wNS0yNiAyMzo0NSIgXAorCUdJVF9DT01NSVRURVJfREFURT0iMjAwNS0wNS0yNiAyMzo0NSIgZ2l0IGNvbW1pdCAtRiBNICYmCisJaF9NRVJHRUQ9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpCisnCiAKIGNhdCA+ZXhwZWN0IDw8RU9GCiAkWiAkaF9URVNUICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAxMTE3MTUwMjAwICswMDAwCWNvbW1pdCAoaW5pdGlhbCk6IGFkZApAQCAtMzk2LDIwICs0NDIsMjAgQEAKICRoX09USEVSICRoX0ZJWEVEICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAxMTE3MTUxMDQwICswMDAwCWNvbW1pdCAoYW1lbmQpOiBUaGUgb3RoZXIgZGF5IHRoaXMgZGlkIG5vdCB3b3JrLgogJGhfRklYRUQgJGhfTUVSR0VEICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAxMTE3MTUxMTAwICswMDAwCWNvbW1pdCAobWVyZ2UpOiBNZXJnZWQgaW5pdGlhbCBjb21taXQgYW5kIGEgbGF0ZXIgY29tbWl0LgogRU9GCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLQknZ2l0IGNvbW1pdCBsb2dnZWQgdXBkYXRlcycgXAotCSJ0ZXN0X2NtcCBleHBlY3QgLmdpdC9sb2dzLyRtIgordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGNvbW1pdCBsb2dnZWQgdXBkYXRlcycgJworCXRlc3RfY21wIGV4cGVjdCAuZ2l0L2xvZ3MvJG0KKycKIHVuc2V0IGhfVEVTVCBoX09USEVSIGhfRklYRUQgaF9NRVJHRUQKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JJ2dpdCBjYXQtZmlsZSBibG9iIG1hc3RlcjpGIChleHBlY3QgT1RIRVIpJyBcCi0JJ3Rlc3QgT1RIRVIgPSAkKGdpdCBjYXQtZmlsZSBibG9iIG1hc3RlcjpGKScKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSdnaXQgY2F0LWZpbGUgYmxvYiBtYXN0ZXJAezIwMDUtMDUtMjYgMjM6MzB9OkYgKGV4cGVjdCBURVNUKScgXAotCSd0ZXN0IFRFU1QgPSAkKGdpdCBjYXQtZmlsZSBibG9iICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6MzB9OkYiKScKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotCSdnaXQgY2F0LWZpbGUgYmxvYiBtYXN0ZXJAezIwMDUtMDUtMjYgMjM6NDJ9OkYgKGV4cGVjdCBPVEhFUiknIFwKLQkndGVzdCBPVEhFUiA9ICQoZ2l0IGNhdC1maWxlIGJsb2IgIm1hc3RlckB7MjAwNS0wNS0yNiAyMzo0Mn06RiIpJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGNhdC1maWxlIGJsb2IgbWFzdGVyOkYgKGV4cGVjdCBPVEhFUiknICcKKwl0ZXN0IE9USEVSID0gJChnaXQgY2F0LWZpbGUgYmxvYiBtYXN0ZXI6RikKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBjYXQtZmlsZSBibG9iIG1hc3RlckB7MjAwNS0wNS0yNiAyMzozMH06RiAoZXhwZWN0IFRFU1QpJyAnCisJdGVzdCBURVNUID0gJChnaXQgY2F0LWZpbGUgYmxvYiAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjMwfTpGIikKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBjYXQtZmlsZSBibG9iIG1hc3RlckB7MjAwNS0wNS0yNiAyMzo0Mn06RiAoZXhwZWN0IE9USEVSKScgJworCXRlc3QgT1RIRVIgPSAkKGdpdCBjYXQtZmlsZSBibG9iICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6NDJ9OkYiKQorJwogCiBhPXJlZnMvaGVhZHMvYQogYj1yZWZzL2hlYWRzL2IKQEAgLTEyMDcsNyArMTI1MywxMCBAQAogCSh1bGltaXQgLW4gMzIgJiYgIiRAIikKIH0KIAotdGVzdF9sYXp5X3ByZXJlcSBVTElNSVRfRklMRV9ERVNDUklQVE9SUyAncnVuX3dpdGhfbGltaXRlZF9vcGVuX2ZpbGVzIHRydWUnCit0ZXN0X2xhenlfcHJlcmVxIFVMSU1JVF9GSUxFX0RFU0NSSVBUT1JTICcKKwl0ZXN0X2hhdmVfcHJlcmVxICFNSU5HVywhQ1lHV0lOICYmCisJcnVuX3dpdGhfbGltaXRlZF9vcGVuX2ZpbGVzIHRydWUKKycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBVTElNSVRfRklMRV9ERVNDUklQVE9SUyAnbGFyZ2UgdHJhbnNhY3Rpb24gY3JlYXRpbmcgYnJhbmNoZXMgZG9lcyBub3QgYnVyc3Qgb3BlbiBmaWxlIGxpbWl0JyAnCiAoCmRpZmYgLS1naXQgYS90L3QxNDA0LXVwZGF0ZS1yZWYtZXJyb3JzLnNoIGIvdC90MTQwNC11cGRhdGUtcmVmLWVycm9ycy5zaAppbmRleCBjMzRlY2U0Li4xMDBkNTBlIDEwMDc1NQotLS0gYS90L3QxNDA0LXVwZGF0ZS1yZWYtZXJyb3JzLnNoCisrKyBiL3QvdDE0MDQtdXBkYXRlLXJlZi1lcnJvcnMuc2gKQEAgLTQwNCw0ICs0MDQsNzcgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIGJvZ3VzIGludGVybWVkaWF0ZSB2YWx1ZXMgZHVyaW5nIGRlbGV0ZScgJworCXByZWZpeD1yZWZzL3Nsb3ctdHJhbnNhY3Rpb24gJiYKKwkjIFNldCB1cCBhIHJlZmVyZW5jZSB3aXRoIGRpZmZlcmluZyBsb29zZSBhbmQgcGFja2VkIHZlcnNpb25zOgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICREICYmCisJZ2l0IGZvci1lYWNoLXJlZiAkcHJlZml4ID51bmNoYW5nZWQgJiYKKwkjIE5vdyB0cnkgdG8gdXBkYXRlIHRoZSByZWZlcmVuY2UsIGJ1dCBob2xkIHRoZSBgcGFja2VkLXJlZnNgIGxvY2sKKwkjIGZvciBhIHdoaWxlIHRvIHNlZSB3aGF0IGhhcHBlbnMgd2hpbGUgdGhlIHByb2Nlc3MgaXMgYmxvY2tlZDoKKwk6ID4uZ2l0L3BhY2tlZC1yZWZzLmxvY2sgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvcGFja2VkLXJlZnMubG9jayIgJiYKKwl7CisJCSMgTm90ZTogdGhlIGZvbGxvd2luZyBjb21tYW5kIGlzIGludGVudGlvbmFsbHkgcnVuIGluIHRoZQorCQkjIGJhY2tncm91bmQuIFdlIGluY3JlYXNlIHRoZSB0aW1lb3V0IHNvIHRoYXQgYHVwZGF0ZS1yZWZgCisJCSMgYXR0ZW1wdHMgdG8gYWNxdWlyZSB0aGUgYHBhY2tlZC1yZWZzYCBsb2NrIGZvciBsb25nZXIgdGhhbgorCQkjIGl0IHRha2VzIGZvciB1cyB0byBkbyB0aGUgY2hlY2sgdGhlbiBkZWxldGUgaXQ6CisJCWdpdCAtYyBjb3JlLnBhY2tlZHJlZnN0aW1lb3V0PTMwMDAgdXBkYXRlLXJlZiAtZCAkcHJlZml4L2ZvbyAmCisJfSAmJgorCXBpZDI9JCEgJiYKKwkjIEdpdmUgdXBkYXRlLXJlZiBwbGVudHkgb2YgdGltZSB0byBnZXQgdG8gdGhlIHBvaW50IHdoZXJlIGl0IHRyaWVzCisJIyB0byBsb2NrIHBhY2tlZC1yZWZzOgorCXNsZWVwIDEgJiYKKwkjIE1ha2Ugc3VyZSB0aGF0IHVwZGF0ZS1yZWYgZGlkIG5vdCBjb21wbGV0ZSBkZXNwaXRlIHRoZSBsb2NrOgorCWtpbGwgLTAgJHBpZDIgJiYKKwkjIFZlcmlmeSB0aGF0IHRoZSByZWZlcmVuY2Ugc3RpbGwgaGFzIGl0cyBvbGQgdmFsdWU6CisJc2hhMT0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLS1xdWlldCAkcHJlZml4L2ZvbyB8fCBlY2hvIHVuZGVmaW5lZCkgJiYKKwljYXNlICIkc2hhMSIgaW4KKwkkRCkKKwkJIyBUaGlzIGlzIHdoYXQgd2UgaG9wZSBmb3I7IGl0IG1lYW5zIHRoYXQgbm90aGluZworCQkjIHVzZXItdmlzaWJsZSBoYXMgY2hhbmdlZCB5ZXQuCisJCTogOzsKKwl1bmRlZmluZWQpCisJCSMgVGhpcyBpcyBub3QgY29ycmVjdDsgaXQgbWVhbnMgdGhlIGRlbGV0aW9uIGhhcyBoYXBwZW5lZAorCQkjIGFscmVhZHkgZXZlbiB0aG91Z2ggdXBkYXRlLXJlZiBzaG91bGQgbm90IGhhdmUgYmVlbgorCQkjIGFibGUgdG8gYWNxdWlyZSB0aGUgbG9jayB5ZXQuCisJCWVjaG8gIiRwcmVmaXgvZm9vIGRlbGV0ZWQgcHJlbWF0dXJlbHkiICYmCisJCWJyZWFrCisJCTs7CisJJEMpCisJCSMgVGhpcyB2YWx1ZSBzaG91bGQgbmV2ZXIgYmUgc2Vlbi4gUHJvYmFibHkgdGhlIGxvb3NlCisJCSMgcmVmZXJlbmNlIGhhcyBiZWVuIGRlbGV0ZWQgYnV0IHRoZSBwYWNrZWQgcmVmZXJlbmNlCisJCSMgaXMgc3RpbGwgdGhlcmU6CisJCWVjaG8gIiRwcmVmaXgvZm9vIGluY29ycmVjdGx5IG9ic2VydmVkIHRvIGJlIEMiICYmCisJCWJyZWFrCisJCTs7CisJKikKKwkJIyBXVEY/CisJCWVjaG8gInVuZXhwZWN0ZWQgdmFsdWUgb2JzZXJ2ZWQgZm9yICRwcmVmaXgvZm9vOiAkc2hhMSIgJiYKKwkJYnJlYWsKKwkJOzsKKwllc2FjID5vdXQgJiYKKwlybSAtZiAuZ2l0L3BhY2tlZC1yZWZzLmxvY2sgJiYKKwl3YWl0ICRwaWQyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IG91dCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgLS1xdWlldCAkcHJlZml4L2ZvbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGUgZmFpbHMgY2xlYW5seSBpZiBwYWNrZWQtcmVmcyBmaWxlIGlzIGxvY2tlZCcgJworCXByZWZpeD1yZWZzL2xvY2tlZC1wYWNrZWQtcmVmcyAmJgorCSMgU2V0IHVwIGEgcmVmZXJlbmNlIHdpdGggZGlmZmVyaW5nIGxvb3NlIGFuZCBwYWNrZWQgdmVyc2lvbnM6CisJZ2l0IHVwZGF0ZS1yZWYgJHByZWZpeC9mb28gJEMgJiYKKwlnaXQgcGFjay1yZWZzIC0tYWxsICYmCisJZ2l0IHVwZGF0ZS1yZWYgJHByZWZpeC9mb28gJEQgJiYKKwlnaXQgZm9yLWVhY2gtcmVmICRwcmVmaXggPnVuY2hhbmdlZCAmJgorCSMgTm93IHRyeSB0byBkZWxldGUgaXQgd2hpbGUgdGhlIGBwYWNrZWQtcmVmc2AgbG9jayBpcyBoZWxkOgorCTogPi5naXQvcGFja2VkLXJlZnMubG9jayAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC9wYWNrZWQtcmVmcy5sb2NrIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC1kICRwcmVmaXgvZm9vID5vdXQgMj5lcnIgJiYKKwlnaXQgZm9yLWVhY2gtcmVmICRwcmVmaXggPmFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgIlVuYWJsZSB0byBjcmVhdGUgJFEuKnBhY2tlZC1yZWZzLmxvY2skUTogRmlsZSBleGlzdHMiIGVyciAmJgorCXRlc3RfY21wIHVuY2hhbmdlZCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNDA1LW1haW4tcmVmLXN0b3JlLnNoIGIvdC90MTQwNS1tYWluLXJlZi1zdG9yZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lODExNWRmCi0tLSAvZGV2L251bGwKKysrIGIvdC90MTQwNS1tYWluLXJlZi1zdG9yZS5zaApAQCAtMCwwICsxLDEyOSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3QgbWFpbiByZWYgc3RvcmUgYXBpJworCisuIC4vdGVzdC1saWIuc2gKKworUlVOPSJ0ZXN0LXJlZi1zdG9yZSBtYWluIgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYWNrX3JlZnMoUEFDS19SRUZTX0FMTCB8IFBBQ0tfUkVGU19QUlVORSknICcKKwl0ZXN0X2NvbW1pdCBvbmUgJiYKKwlOPWBmaW5kIC5naXQvcmVmcyAtdHlwZSBmIHwgd2MgLWxgICYmCisJdGVzdCAiJE4iICE9IDAgJiYKKwkkUlVOIHBhY2stcmVmcyAzICYmCisJTj1gZmluZCAuZ2l0L3JlZnMgLXR5cGUgZiB8IHdjIC1sYAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwZWVsX3JlZihuZXctdGFnKScgJworCWdpdCByZXYtcGFyc2UgSEVBRCA+ZXhwZWN0ZWQgJiYKKwlnaXQgdGFnIC1hIC1tIG5ldy10YWcgbmV3LXRhZyBIRUFEICYmCisJJFJVTiBwZWVsLXJlZiByZWZzL3RhZ3MvbmV3LXRhZyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZV9zeW1yZWYoRk9PLCByZWZzL2hlYWRzL21hc3RlciknICcKKwkkUlVOIGNyZWF0ZS1zeW1yZWYgRk9PIHJlZnMvaGVhZHMvbWFzdGVyIG5vdGhpbmcgJiYKKwllY2hvIHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3RlZCAmJgorCWdpdCBzeW1ib2xpYy1yZWYgRk9PID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVsZXRlX3JlZnMoRk9PLCByZWZzL3RhZ3MvbmV3LXRhZyknICcKKwlnaXQgcmV2LXBhcnNlIEZPTyAtLSAmJgorCWdpdCByZXYtcGFyc2UgcmVmcy90YWdzL25ldy10YWcgLS0gJiYKKwkkUlVOIGRlbGV0ZS1yZWZzIDAgbm90aGluZyBGT08gcmVmcy90YWdzL25ldy10YWcgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEZPTyAtLSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgcmVmcy90YWdzL25ldy10YWcgLS0KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVuYW1lX3JlZnMobWFzdGVyLCBuZXctbWFzdGVyKScgJworCWdpdCByZXYtcGFyc2UgbWFzdGVyID5leHBlY3RlZCAmJgorCSRSVU4gcmVuYW1lLXJlZiByZWZzL2hlYWRzL21hc3RlciByZWZzL2hlYWRzL25ldy1tYXN0ZXIgJiYKKwlnaXQgcmV2LXBhcnNlIG5ldy1tYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCXRlc3RfY29tbWl0IHJlY3JlYXRlLW1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JfZWFjaF9yZWYocmVmcy9oZWFkcy8pJyAnCisJJFJVTiBmb3ItZWFjaC1yZWYgcmVmcy9oZWFkcy8gfCBjdXQgLWMgNDItID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwltYXN0ZXIgMHgwCisJbmV3LW1hc3RlciAweDAKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9yX2VhY2hfcmVmKCkgaXMgc29ydGVkJyAnCisJJFJVTiBmb3ItZWFjaC1yZWYgcmVmcy9oZWFkcy8gfCBjdXQgLWMgNDItID5hY3R1YWwgJiYKKwlzb3J0IGFjdHVhbCA+IGV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc29sdmVfcmVmKG5ldy1tYXN0ZXIpJyAnCisJU0hBMT1gZ2l0IHJldi1wYXJzZSBuZXctbWFzdGVyYCAmJgorCWVjaG8gIiRTSEExIHJlZnMvaGVhZHMvbmV3LW1hc3RlciAweDAiID5leHBlY3RlZCAmJgorCSRSVU4gcmVzb2x2ZS1yZWYgcmVmcy9oZWFkcy9uZXctbWFzdGVyIDAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnlfcmVmKG5ldy1tYXN0ZXIpJyAnCisJJFJVTiB2ZXJpZnktcmVmIHJlZnMvaGVhZHMvbmV3LW1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JfZWFjaF9yZWZsb2coKScgJworCSRSVU4gZm9yLWVhY2gtcmVmbG9nIHwgc29ydCB8IGN1dCAtYyA0Mi0gPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCUhFQUQgMHgxCisJcmVmcy9oZWFkcy9tYXN0ZXIgMHgwCisJcmVmcy9oZWFkcy9uZXctbWFzdGVyIDB4MAorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JfZWFjaF9yZWZsb2dfZW50KCknICcKKwkkUlVOIGZvci1lYWNoLXJlZmxvZy1lbnQgSEVBRCA+YWN0dWFsICYmCisJaGVhZCAtbjEgYWN0dWFsIHwgZ3JlcCBvbmUgJiYKKwl0YWlsIC1uMiBhY3R1YWwgfCBoZWFkIC1uMSB8IGdyZXAgcmVjcmVhdGUtbWFzdGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZSgpJyAnCisJJFJVTiBmb3ItZWFjaC1yZWZsb2ctZW50LXJldmVyc2UgSEVBRCA+YWN0dWFsICYmCisJaGVhZCAtbjEgYWN0dWFsIHwgZ3JlcCByZWNyZWF0ZS1tYXN0ZXIgJiYKKwl0YWlsIC1uMiBhY3R1YWwgfCBoZWFkIC1uMSB8IGdyZXAgb25lCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZmxvZ19leGlzdHMoSEVBRCknICcKKwkkUlVOIHJlZmxvZy1leGlzdHMgSEVBRAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGVfcmVmbG9nKEhFQUQpJyAnCisJJFJVTiBkZWxldGUtcmVmbG9nIEhFQUQgJiYKKwkhIHRlc3QgLWYgLmdpdC9sb2dzL0hFQUQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlLXJlZmxvZyhIRUFEKScgJworCSRSVU4gY3JlYXRlLXJlZmxvZyBIRUFEIDEgJiYKKwl0ZXN0IC1mIC5naXQvbG9ncy9IRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlbGV0ZV9yZWYocmVmcy9oZWFkcy9mb28pJyAnCisJZ2l0IGNoZWNrb3V0IC1iIGZvbyAmJgorCUZPT19TSEExPWBnaXQgcmV2LXBhcnNlIGZvb2AgJiYKKwlnaXQgY2hlY2tvdXQgLS1kZXRhY2ggJiYKKwl0ZXN0X2NvbW1pdCBiYXItY29tbWl0ICYmCisJZ2l0IGNoZWNrb3V0IC1iIGJhciAmJgorCUJBUl9TSEExPWBnaXQgcmV2LXBhcnNlIGJhcmAgJiYKKwkkUlVOIHVwZGF0ZS1yZWYgdXBkYXRpbmcgcmVmcy9oZWFkcy9mb28gJEJBUl9TSEExICRGT09fU0hBMSAwICYmCisJZWNobyAkQkFSX1NIQTEgPmV4cGVjdGVkICYmCisJZ2l0IHJldi1wYXJzZSByZWZzL2hlYWRzL2ZvbyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlbGV0ZV9yZWYocmVmcy9oZWFkcy9mb28pJyAnCisJU0hBMT1gZ2l0IHJldi1wYXJzZSBmb29gICYmCisJZ2l0IGNoZWNrb3V0IC0tZGV0YWNoICYmCisJJFJVTiBkZWxldGUtcmVmIG1zZyByZWZzL2hlYWRzL2ZvbyAkU0hBMSAwICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSByZWZzL2hlYWRzL2ZvbyAtLQorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE0MDYtc3VibW9kdWxlLXJlZi1zdG9yZS5zaCBiL3QvdDE0MDYtc3VibW9kdWxlLXJlZi1zdG9yZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzJkNGNjCi0tLSAvZGV2L251bGwKKysrIGIvdC90MTQwNi1zdWJtb2R1bGUtcmVmLXN0b3JlLnNoCkBAIC0wLDAgKzEsMTAxIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBzdWJtb2R1bGUgcmVmIHN0b3JlIGFwaScKKworLiAuL3Rlc3QtbGliLnNoCisKK1JVTj0idGVzdC1yZWYtc3RvcmUgc3VibW9kdWxlOnN1YiIKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwlnaXQgaW5pdCBzdWIgJiYKKwkoCisJCWNkIHN1YiAmJgorCQl0ZXN0X2NvbW1pdCBmaXJzdCAmJgorCQlnaXQgY2hlY2tvdXQgLWIgbmV3LW1hc3RlcgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFja19yZWZzKCkgbm90IGFsbG93ZWQnICcKKwl0ZXN0X211c3RfZmFpbCAkUlVOIHBhY2stcmVmcyAzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BlZWxfcmVmKG5ldy10YWcpJyAnCisJZ2l0IC1DIHN1YiByZXYtcGFyc2UgSEVBRCA+ZXhwZWN0ZWQgJiYKKwlnaXQgLUMgc3ViIHRhZyAtYSAtbSBuZXctdGFnIG5ldy10YWcgSEVBRCAmJgorCSRSVU4gcGVlbC1yZWYgcmVmcy90YWdzL25ldy10YWcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGVfc3ltcmVmKCkgbm90IGFsbG93ZWQnICcKKwl0ZXN0X211c3RfZmFpbCAkUlVOIGNyZWF0ZS1zeW1yZWYgRk9PIHJlZnMvaGVhZHMvbWFzdGVyIG5vdGhpbmcKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVsZXRlX3JlZnMoKSBub3QgYWxsb3dlZCcgJworCXRlc3RfbXVzdF9mYWlsICRSVU4gZGVsZXRlLXJlZnMgMCBub3RoaW5nIEZPTyByZWZzL3RhZ3MvbmV3LXRhZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW5hbWVfcmVmcygpIG5vdCBhbGxvd2VkJyAnCisJdGVzdF9tdXN0X2ZhaWwgJFJVTiByZW5hbWUtcmVmIHJlZnMvaGVhZHMvbWFzdGVyIHJlZnMvaGVhZHMvbmV3LW1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JfZWFjaF9yZWYocmVmcy9oZWFkcy8pJyAnCisJJFJVTiBmb3ItZWFjaC1yZWYgcmVmcy9oZWFkcy8gfCBjdXQgLWMgNDItID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwltYXN0ZXIgMHgwCisJbmV3LW1hc3RlciAweDAKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9yX2VhY2hfcmVmKCkgaXMgc29ydGVkJyAnCisJJFJVTiBmb3ItZWFjaC1yZWYgcmVmcy9oZWFkcy8gfCBjdXQgLWMgNDItID5hY3R1YWwgJiYKKwlzb3J0IGFjdHVhbCA+IGV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc29sdmVfcmVmKG1hc3RlciknICcKKwlTSEExPWBnaXQgLUMgc3ViIHJldi1wYXJzZSBtYXN0ZXJgICYmCisJZWNobyAiJFNIQTEgcmVmcy9oZWFkcy9tYXN0ZXIgMHgwIiA+ZXhwZWN0ZWQgJiYKKwkkUlVOIHJlc29sdmUtcmVmIHJlZnMvaGVhZHMvbWFzdGVyIDAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnlfcmVmKG5ldy1tYXN0ZXIpJyAnCisJJFJVTiB2ZXJpZnktcmVmIHJlZnMvaGVhZHMvbmV3LW1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JfZWFjaF9yZWZsb2coKScgJworCSRSVU4gZm9yLWVhY2gtcmVmbG9nIHwgc29ydCB8IGN1dCAtYyA0Mi0gPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCUhFQUQgMHgxCisJcmVmcy9oZWFkcy9tYXN0ZXIgMHgwCisJcmVmcy9oZWFkcy9uZXctbWFzdGVyIDB4MAorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JfZWFjaF9yZWZsb2dfZW50KCknICcKKwkkUlVOIGZvci1lYWNoLXJlZmxvZy1lbnQgSEVBRCA+YWN0dWFsICYmIGNhdCBhY3R1YWwgJiYKKwloZWFkIC1uMSBhY3R1YWwgfCBncmVwIGZpcnN0ICYmCisJdGFpbCAtbjIgYWN0dWFsIHwgaGVhZCAtbjEgfCBncmVwIG1hc3Rlci50by5uZXcKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlKCknICcKKwkkUlVOIGZvci1lYWNoLXJlZmxvZy1lbnQtcmV2ZXJzZSBIRUFEID5hY3R1YWwgJiYKKwloZWFkIC1uMSBhY3R1YWwgfCBncmVwIG1hc3Rlci50by5uZXcgJiYKKwl0YWlsIC1uMiBhY3R1YWwgfCBoZWFkIC1uMSB8IGdyZXAgZmlyc3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmbG9nX2V4aXN0cyhIRUFEKScgJworCSRSVU4gcmVmbG9nLWV4aXN0cyBIRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlbGV0ZV9yZWZsb2coKSBub3QgYWxsb3dlZCcgJworCXRlc3RfbXVzdF9mYWlsICRSVU4gZGVsZXRlLXJlZmxvZyBIRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZS1yZWZsb2coKSBub3QgYWxsb3dlZCcgJworCXRlc3RfbXVzdF9mYWlsICRSVU4gY3JlYXRlLXJlZmxvZyBIRUFEIDEKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNDA3LXdvcmt0cmVlLXJlZi1zdG9yZS5zaCBiL3QvdDE0MDctd29ya3RyZWUtcmVmLXN0b3JlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg4NDJkMDMKLS0tIC9kZXYvbnVsbAorKysgYi90L3QxNDA3LXdvcmt0cmVlLXJlZi1zdG9yZS5zaApAQCAtMCwwICsxLDgyIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCB3b3JrdHJlZSByZWYgc3RvcmUgYXBpJworCisuIC4vdGVzdC1saWIuc2gKKworUldUPSJ0ZXN0LXJlZi1zdG9yZSB3b3JrdHJlZTp3dCIKK1JNQUlOPSJ0ZXN0LXJlZi1zdG9yZSB3b3JrdHJlZTptYWluIgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCXRlc3RfY29tbWl0IGZpcnN0ICYmCisJZ2l0IHdvcmt0cmVlIGFkZCAtYiB3dC1tYXN0ZXIgd3QgJiYKKwkoCisJCWNkIHd0ICYmCisJCXRlc3RfY29tbWl0IHNlY29uZAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzb2x2ZV9yZWYoPHNoYXJlZC1yZWY+KScgJworCVNIQTE9YGdpdCByZXYtcGFyc2UgbWFzdGVyYCAmJgorCWVjaG8gIiRTSEExIHJlZnMvaGVhZHMvbWFzdGVyIDB4MCIgPmV4cGVjdGVkICYmCisJJFJXVCByZXNvbHZlLXJlZiByZWZzL2hlYWRzL21hc3RlciAwID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwkkUk1BSU4gcmVzb2x2ZS1yZWYgcmVmcy9oZWFkcy9tYXN0ZXIgMCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc29sdmVfcmVmKDxwZXItd29ya3RyZWUtcmVmPiknICcKKwlTSEExPWBnaXQgLUMgd3QgcmV2LXBhcnNlIEhFQURgICYmCisJZWNobyAiJFNIQTEgcmVmcy9oZWFkcy93dC1tYXN0ZXIgMHgxIiA+ZXhwZWN0ZWQgJiYKKwkkUldUIHJlc29sdmUtcmVmIEhFQUQgMCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisKKwlTSEExPWBnaXQgcmV2LXBhcnNlIEhFQURgICYmCisJZWNobyAiJFNIQTEgcmVmcy9oZWFkcy9tYXN0ZXIgMHgxIiA+ZXhwZWN0ZWQgJiYKKwkkUk1BSU4gcmVzb2x2ZS1yZWYgSEVBRCAwID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlX3N5bXJlZihGT08sIHJlZnMvaGVhZHMvbWFzdGVyKScgJworCSRSV1QgY3JlYXRlLXN5bXJlZiBGT08gcmVmcy9oZWFkcy9tYXN0ZXIgbm90aGluZyAmJgorCWVjaG8gcmVmcy9oZWFkcy9tYXN0ZXIgPmV4cGVjdGVkICYmCisJZ2l0IC1DIHd0IHN5bWJvbGljLXJlZiBGT08gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCisJJFJNQUlOIGNyZWF0ZS1zeW1yZWYgRk9PIHJlZnMvaGVhZHMvd3QtbWFzdGVyIG5vdGhpbmcgJiYKKwllY2hvIHJlZnMvaGVhZHMvd3QtbWFzdGVyID5leHBlY3RlZCAmJgorCWdpdCBzeW1ib2xpYy1yZWYgRk9PID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9yX2VhY2hfcmVmbG9nKCknICcKKwllY2hvICRfejQwID4gLmdpdC9sb2dzL1BTRVVETy1NQUlOICYmCisJbWtkaXIgLXAgICAgIC5naXQvbG9ncy9yZWZzL2Jpc2VjdCAmJgorCWVjaG8gJF96NDAgPiAuZ2l0L2xvZ3MvcmVmcy9iaXNlY3QvcmFuZG9tICYmCisKKwllY2hvICRfejQwID4gLmdpdC93b3JrdHJlZXMvd3QvbG9ncy9QU0VVRE8tV1QgJiYKKwlta2RpciAtcCAgICAgLmdpdC93b3JrdHJlZXMvd3QvbG9ncy9yZWZzL2Jpc2VjdCAmJgorCWVjaG8gJF96NDAgPiAuZ2l0L3dvcmt0cmVlcy93dC9sb2dzL3JlZnMvYmlzZWN0L3d0LXJhbmRvbSAmJgorCisJJFJXVCBmb3ItZWFjaC1yZWZsb2cgfCBjdXQgLWMgNDItIHwgc29ydCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJSEVBRCAweDEKKwlQU0VVRE8tV1QgMHgwCisJcmVmcy9iaXNlY3Qvd3QtcmFuZG9tIDB4MAorCXJlZnMvaGVhZHMvbWFzdGVyIDB4MAorCXJlZnMvaGVhZHMvd3QtbWFzdGVyIDB4MAorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCisJJFJNQUlOIGZvci1lYWNoLXJlZmxvZyB8IGN1dCAtYyA0Mi0gfCBzb3J0ID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwlIRUFEIDB4MQorCVBTRVVETy1NQUlOIDB4MAorCXJlZnMvYmlzZWN0L3JhbmRvbSAweDAKKwlyZWZzL2hlYWRzL21hc3RlciAweDAKKwlyZWZzL2hlYWRzL3d0LW1hc3RlciAweDAKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNDA4LXBhY2tlZC1yZWZzLnNoIGIvdC90MTQwOC1wYWNrZWQtcmVmcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZTQ0YTE3Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MTQwOC1wYWNrZWQtcmVmcy5zaApAQCAtMCwwICsxLDQyIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ncGFja2VkLXJlZnMgZW50cmllcyBhcmUgY292ZXJlZCBieSBsb29zZSByZWZzJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIG9uZSAmJgorCW9uZT0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwlnaXQgZm9yLWVhY2gtcmVmID5hY3R1YWwgJiYKKwllY2hvICIkb25lIGNvbW1pdAlyZWZzL2hlYWRzL21hc3RlciIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWdpdCBwYWNrLXJlZnMgLS1hbGwgJiYKKwlnaXQgZm9yLWVhY2gtcmVmID5hY3R1YWwgJiYKKwllY2hvICIkb25lIGNvbW1pdAlyZWZzL2hlYWRzL21hc3RlciIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWdpdCBjaGVja291dCAtLW9ycGhhbiBhbm90aGVyICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIHR3byAmJgorCXR3bz0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwlnaXQgY2hlY2tvdXQgLUIgbWFzdGVyICYmCisJZ2l0IGJyYW5jaCAtRCBhbm90aGVyICYmCisKKwlnaXQgZm9yLWVhY2gtcmVmID5hY3R1YWwgJiYKKwllY2hvICIkdHdvIGNvbW1pdAlyZWZzL2hlYWRzL21hc3RlciIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWdpdCByZWZsb2cgZXhwaXJlIC0tZXhwaXJlPW5vdyAtLWFsbCAmJgorCWdpdCBwcnVuZSAmJgorCWdpdCB0YWcgLW0gdjEuMCB2MS4wIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBlcnJvciBmcm9tIHN0YWxlIGVudHJ5IGluIHBhY2tlZC1yZWZzJyAnCisJZ2l0IGRlc2NyaWJlIG1hc3RlciA+YWN0dWFsIDI+JjEgJiYKKwllY2hvICJ2MS4wIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE0MTQtcmVmbG9nLXdhbGsuc2ggYi90L3QxNDE0LXJlZmxvZy13YWxrLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlYjFlZmQKLS0tIC9kZXYvbnVsbAorKysgYi90L3QxNDE0LXJlZmxvZy13YWxrLnNoCkBAIC0wLDAgKzEsMTM1IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndmFyaW91cyB0ZXN0cyBvZiByZWZsb2cgd2FsayAobG9nIC1nKSBiZWhhdmlvcicKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgc29tZSByZWZsb2cgZW50cmllcycgJworCXRlc3RfY29tbWl0IG9uZSAmJgorCXRlc3RfY29tbWl0IHR3byAmJgorCWdpdCBjaGVja291dCAtYiBzaWRlIEhFQUReICYmCisJdGVzdF9jb21taXQgdGhyZWUgJiYKKwlnaXQgbWVyZ2UgLS1uby1jb21taXQgbWFzdGVyICYmCisJZWNobyBldmlsLW1lcmdlLWNvbnRlbnQgPj5vbmUudCAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLS1uby1lZGl0IC1hCisnCisKK2RvX3dhbGsgKCkgeworCWdpdCBsb2cgLWcgLS1mb3JtYXQ9IiVnZCAlZ3MiICIkQCIKK30KKworc3E9IiciCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgZXhwZWN0ZWQgcmVmbG9nJyAnCisJY2F0ID5leHBlY3QuYWxsIDw8LUVPRgorCUhFQURAezB9IGNvbW1pdCAobWVyZ2UpOiBNZXJnZSBicmFuY2ggJHtzcX1tYXN0ZXIke3NxfSBpbnRvIHNpZGUKKwlIRUFEQHsxfSBjb21taXQ6IHRocmVlCisJSEVBREB7Mn0gY2hlY2tvdXQ6IG1vdmluZyBmcm9tIG1hc3RlciB0byBzaWRlCisJSEVBREB7M30gY29tbWl0OiB0d28KKwlIRUFEQHs0fSBjb21taXQgKGluaXRpYWwpOiBvbmUKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmbG9nIHdhbGsgc2hvd3MgZXhwZWN0ZWQgbG9ncycgJworCWRvX3dhbGsgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdC5hbGwgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZmxvZyBjYW4gbGltaXQgd2l0aCAtLW5vLW1lcmdlcycgJworCWdyZXAgLXYgbWVyZ2UgZXhwZWN0LmFsbCA+ZXhwZWN0ICYmCisJZG9fd2FsayAtLW5vLW1lcmdlcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWZsb2cgY2FuIGxpbWl0IHdpdGggcGF0aHNwZWNzJyAnCisJZ3JlcCB0d28gZXhwZWN0LmFsbCA+ZXhwZWN0ICYmCisJZG9fd2FsayAtLSB0d28udCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXRoc3BlYyBsaW1pdGluZyBoYW5kbGVzIG1lcmdlcycgJworCSMgd2UgcGljayB1cDoKKwkjICAgLSB0aGUgaW5pdGlhbCBjb21taXQgb2Ygb25lCisJIyAgIC0gdGhlIGNoZWNrb3V0IGJhY2sgdG8gY29tbWl0IG9uZQorCSMgICAtIHRoZSBldmlsIG1lcmdlIHdoaWNoIHRvdWNoZWQgb25lCisJc2VkIC1uICIxcDszcDs1cCIgZXhwZWN0LmFsbCA+ZXhwZWN0ICYmCisJZG9fd2FsayAtLSBvbmUudCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXBhcmVudHMgc2hvd3MgdHJ1ZSBwYXJlbnRzJyAnCisJIyBjb252ZXJ0IG5ld2xpbmVzIHRvIHNwYWNlcworCWVjaG8gJChnaXQgcmV2LXBhcnNlIEhFQUQgSEVBRF4xIEhFQUReMikgPmV4cGVjdCAmJgorCWdpdCByZXYtbGlzdCAtZyAtLXBhcmVudHMgLTEgSEVBRCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3YWxraW5nIG11bHRpcGxlIHJlZmxvZ3Mgc2hvd3MgYWxsJyAnCisJIyBXZSBleHBlY3QgdG8gc2VlIGFsbCBlbnRyaWVzIGZvciBhbGwgcmVmbG9ncywgYnV0IGludGVybGVhdmVkIGJ5CisJIyBkYXRlLCB3aXRoIG9yZGVyIG9uIHRoZSBjb21tYW5kIGxpbmUgYnJlYWtpbmcgdGllcy4gV2UKKwkjIGNhbiB1c2UgInNvcnQiIG9uIHRoZSBzZXBhcmF0ZSBsaXN0cyB0byBnZW5lcmF0ZSB0aGlzLAorCSMgYnV0IG5vdGUgdHdvIHRyaWNrczoKKwkjCisJIyAgIDEuIFdlIHVzZSAieyIgYXMgdGhlIGRlbGltaXRlciwgd2hpY2ggbGV0cyB1cyBza2lwIHRvIHRoZSByZWZsb2cKKwkjICAgICAgZGF0ZSBzcGVjaWZpZXIgYXMgb3VyIHNlY29uZCBmaWVsZCwgYW5kIHRoZW4gb3VyICItbiIgbnVtZXJpYworCSMgICAgICBzb3J0IGlnbm9yZXMgdGhlIGJpdHMgYWZ0ZXIgdGhlIHRpbWVzdGFtcC4KKwkjCisJIyAgIDIuIFBPU0lYIGxlYXZlcyB1bmRlZmluZWQgd2hldGhlciB0aGlzIGlzIGEgc3RhYmxlIHNvcnQgb3Igbm90LiBTbworCSMgICAgICB3ZSB1c2UgIi1rIDEiIHRvIGVuc3VyZSB0aGF0IHdlIHNlZSBIRUFEIGJlZm9yZSBtYXN0ZXIgYmVmb3JlCisJIyAgICAgIHNpZGUgd2hlbiBicmVha2luZyB0aWVzLgorCXsKKwkJZG9fd2FsayAtLWRhdGU9dW5peCBIRUFEICYmCisJCWRvX3dhbGsgLS1kYXRlPXVuaXggc2lkZSAmJgorCQlkb193YWxrIC0tZGF0ZT11bml4IG1hc3RlcgorCX0gPmV4cGVjdC5yYXcgJiYKKwlzb3J0IC10ICJ7IiAtayAybnIgLWsgMSA8ZXhwZWN0LnJhdyA+ZXhwZWN0ICYmCisJZG9fd2FsayAtLWRhdGU9dW5peCBIRUFEIG1hc3RlciBzaWRlID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RhdGUtbGltaXRpbmcgZG9lcyBub3QgaW50ZXJmZXJlIHdpdGggb3RoZXIgbG9ncycgJworCWRvX3dhbGsgSEVBREB7MTk3OS0wMS0wMX0gSEVBRCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0LmFsbCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWluL21heCBhZ2UgdXNlcyBlbnRyeSBkYXRlIHRvIGxpbWl0JyAnCisJIyBGbGlwIGJldHdlZW4gY29tbWl0cyBvbmUgYW5kIHR3byBzbyBlYWNoIHJlZiB1cGRhdGUgYWN0dWFsbHkKKwkjIGRvZXMgc29tZXRoaW5nIChhbmQgZG9lcyBub3QgZ2V0IG9wdGltaXplZCBvdXQpLiBXZSBrbm93CisJIyB0aGF0IHRoZSB0aW1lc3RhbXBzIG9mIHRob3NlIGNvbW1pdHMgd2lsbCBiZSBiZWZvcmUgb3VyICJtaW4iLgorCisJZ2l0IHVwZGF0ZS1yZWYgLW0gYmVmb3JlIHJlZnMvaGVhZHMvbWlubWF4IG9uZSAmJgorCisJdGVzdF90aWNrICYmCisJbWluPSR0ZXN0X3RpY2sgJiYKKwlnaXQgdXBkYXRlLXJlZiAtbSBtaW4gcmVmcy9oZWFkcy9taW5tYXggdHdvICYmCisKKwl0ZXN0X3RpY2sgJiYKKwltYXg9JHRlc3RfdGljayAmJgorCWdpdCB1cGRhdGUtcmVmIC1tIG1heCByZWZzL2hlYWRzL21pbm1heCBvbmUgJiYKKworCXRlc3RfdGljayAmJgorCWdpdCB1cGRhdGUtcmVmIC1tIGFmdGVyIHJlZnMvaGVhZHMvbWlubWF4IHR3byAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCW1heAorCW1pbgorCUVPRgorCWdpdCBsb2cgLWcgLS1zaW5jZT0kbWluIC0tdW50aWw9JG1heCAtLWZvcm1hdD0lZ3MgbWlubWF4ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dhbGsgcHJlZmVycyByZWZsb2cgdG8gcmVmIHRpcCcgJworCWhlYWQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJb25lPSQoZ2l0IHJldi1wYXJzZSBvbmUpICYmCisJaWRlbnQ9IiRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFIiAmJgorCWVjaG8gIiRoZWFkICRvbmUgJGlkZW50CWJyb2tlbiByZWZsb2cgZW50cnkiID4+LmdpdC9sb2dzL0hFQUQgJiYKKworCWVjaG8gJG9uZSA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtZyAtLWZvcm1hdD0lSCAtMSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCAtZyBjb21wbGFpbnMgd2hlbiB0aGVyZSBhcmUgbm8gcmVmbG9ncycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtbGlzdCAtZworJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE0MzAtYmFkLXJlZi1uYW1lLnNoIGIvdC90MTQzMC1iYWQtcmVmLW5hbWUuc2gKaW5kZXggODkzN2UyNS4uZTg4MzQ5YyAxMDA3NTUKLS0tIGEvdC90MTQzMC1iYWQtcmVmLW5hbWUuc2gKKysrIGIvdC90MTQzMC1iYWQtcmVmLW5hbWUuc2gKQEAgLTEyMiw3ICsxMjIsNyBAQAogCSEgZ3JlcCAtZSAiYnJva2VuXC5cLlwucmVmIiBvdXRwdXQKICcKIAotdGVzdF9leHBlY3RfZmFpbHVyZSAncHVzaCAtLW1pcnJvciBjYW4gZGVsZXRlIGJhZGx5IG5hbWVkIHJlZicgJwordGVzdF9leHBlY3RfZmFpbHVyZSBDX0xPQ0FMRV9PVVRQVVQgJ3B1c2ggLS1taXJyb3IgY2FuIGRlbGV0ZSBiYWRseSBuYW1lZCByZWYnICcKIAl0b3A9JChwd2QpICYmCiAJZ2l0IGluaXQgc3JjICYmCiAJZ2l0IGluaXQgZGVzdCAmJgpkaWZmIC0tZ2l0IGEvdC90MTQ1MC1mc2NrLnNoIGIvdC90MTQ1MC1mc2NrLnNoCmluZGV4IDMzYTUxYzkuLjQwODcxNTAgMTAwNzU1Ci0tLSBhL3QvdDE0NTAtZnNjay5zaAorKysgYi90L3QxNDUwLWZzY2suc2gKQEAgLTU3Myw3ICs1NzMsNyBAQAogCQlyZW1vdmVfb2JqZWN0ICQoZ2l0IHJldi1wYXJzZSBqdWxpdXM6Y2Flc2FyLnQpICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIC0tbmFtZS1vYmplY3RzID5vdXQgJiYKIAkJdHJlZT0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkganVsaXVzOikgJiYKLQkJZ3JlcCAiJHRyZWUgKFwocmVmcy9oZWFkcy9tYXN0ZXJcfEhFQURcKUB7WzAtOV0qfToiIG91dAorCQllZ3JlcCAiJHRyZWUgXCgocmVmcy9oZWFkcy9tYXN0ZXJ8SEVBRClAXHtbMC05XSpcfToiIG91dAogCSkKICcKIApAQCAtNjA4LDYgKzYwOCwyMiBAQAogCSEgZ3JlcCBjb3JydXB0IG91dAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmc2NrIGZhaWxzIG9uIGNvcnJ1cHQgcGFja2ZpbGUnICcKKwloc2g9JChnaXQgY29tbWl0LXRyZWUgLW0gbXljb21taXQgSEVBRF57dHJlZX0pICYmCisJcGFjaz0kKGVjaG8gJGhzaCB8IGdpdCBwYWNrLW9iamVjdHMgLmdpdC9vYmplY3RzL3BhY2svcGFjaykgJiYKKworCSMgQ29ycnVwdCB0aGUgZmlyc3QgYnl0ZSBvZiB0aGUgZmlyc3Qgb2JqZWN0LiAoSXQgY29udGFpbnMgMyB0eXBlIGJpdHMsCisJIyBhdCBsZWFzdCBvbmUgb2Ygd2hpY2ggaXMgbm90IHplcm8sIHNvIHNldHRpbmcgdGhlIGZpcnN0IGJ5dGUgdG8gMCBpcworCSMgc3VmZmljaWVudC4pCisJY2htb2QgYSt3IC5naXQvb2JqZWN0cy9wYWNrL3BhY2stJHBhY2sucGFjayAmJgorCXByaW50ZiAnXDAnIHwgZGQgb2Y9LmdpdC9vYmplY3RzL3BhY2svcGFjay0kcGFjay5wYWNrIGJzPTEgY29udj1ub3RydW5jIHNlZWs9MTIgJiYKKworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC9vYmplY3RzL3BhY2svcGFjay0kcGFjay4qIiAmJgorCXJlbW92ZV9vYmplY3QgJGhzaCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIDI+b3V0ICYmCisJdGVzdF9pMThuZ3JlcCAiY2hlY2tzdW0gbWlzbWF0Y2giIG91dAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmc2NrIGZpbmRzIHByb2JsZW1zIGluIGR1cGxpY2F0ZSBsb29zZSBvYmplY3RzJyAnCiAJcm0gLXJmIGJyb2tlbi1kdXBsaWNhdGUgJiYKIAlnaXQgaW5pdCBicm9rZW4tZHVwbGljYXRlICYmCkBAIC02ODksNCArNzA1LDM1IEBACiAJISBncmVwICRibG9iIG91dAogJwogCisjIENvcnJ1cHQgdGhlIGNoZWNrc3VtIG9uIHRoZSBpbmRleC4KKyMgQWRkIDEgdG8gdGhlIGxhc3QgYnl0ZSBpbiB0aGUgU0hBLgorY29ycnVwdF9pbmRleF9jaGVja3N1bSAoKSB7CisgICAgcGVybCAtdyAtZSAnCisJdXNlIEZjbnRsICI6c2VlayI7CisJb3BlbiBteSAkZmgsICIrPCIsICIuZ2l0L2luZGV4IiBvciBkaWUgIm9wZW46ICQhIjsKKwliaW5tb2RlICRmaDsKKwlzZWVrICRmaCwgLTEsIFNFRUtfRU5EIG9yIGRpZSAic2VlazogJCEiOworCXJlYWQgJGZoLCBteSAkaW5fYnl0ZSwgMSBvciBkaWUgInJlYWQ6ICQhIjsKKworCSRpbl92YWx1ZSA9IHVucGFjaygiQyIsICRpbl9ieXRlKTsKKwkkb3V0X3ZhbHVlID0gKCRpbl92YWx1ZSArIDEpICYgMjU1OworCisJJG91dF9ieXRlID0gcGFjaygiQyIsICRvdXRfdmFsdWUpOworCisJc2VlayAkZmgsIC0xLCBTRUVLX0VORCBvciBkaWUgInNlZWs6ICQhIjsKKwlwcmludCAkZmggJG91dF9ieXRlOworCWNsb3NlICRmaCBvciBkaWUgImNsb3NlOiAkISI7CisgICAgJworfQorCisjIENvcnJ1cHQgdGhlIGNoZWNrc3VtIG9uIHRoZSBpbmRleCBhbmQgdGhlbgorIyB2ZXJpZnkgdGhhdCBvbmx5IGZzY2sgbm90aWNlcy4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RldGVjdCBjb3JydXB0IGluZGV4IGZpbGUgaW4gZnNjaycgJworCWNwIC5naXQvaW5kZXggLmdpdC9pbmRleC5iYWNrdXAgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgIm12IC5naXQvaW5kZXguYmFja3VwIC5naXQvaW5kZXgiICYmCisJY29ycnVwdF9pbmRleF9jaGVja3N1bSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIC0tY2FjaGUgMj5lcnJvcnMgJiYKKwlncmVwICJiYWQgaW5kZXggZmlsZSIgZXJyb3JzCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MTUwMC1yZXYtcGFyc2Uuc2ggYi90L3QxNTAwLXJldi1wYXJzZS5zaAppbmRleCAwMzhlMjRjLi41YzcxNWZlIDEwMDc1NQotLS0gYS90L3QxNTAwLXJldi1wYXJzZS5zaAorKysgYi90L3QxNTAwLXJldi1wYXJzZS5zaApAQCAtMyw3ICszLDcgQEAKIHRlc3RfZGVzY3JpcHRpb249J3Rlc3QgZ2l0IHJldi1wYXJzZScKIC4gLi90ZXN0LWxpYi5zaAogCi0jIHVzYWdlOiBbb3B0aW9uc10gbGFiZWwgaXMtYmFyZSBpcy1pbnNpZGUtZ2l0IGlzLWluc2lkZS13b3JrIHByZWZpeCBnaXQtZGlyCisjIHVzYWdlOiBbb3B0aW9uc10gbGFiZWwgaXMtYmFyZSBpcy1pbnNpZGUtZ2l0IGlzLWluc2lkZS13b3JrIHByZWZpeCBnaXQtZGlyIGFic29sdXRlLWdpdC1kaXIKIHRlc3RfcmV2X3BhcnNlICgpIHsKIAlkPQogCWJhcmU9CkBAIC0yOSw3ICsyOSw4IEBACiAJCSAtLWlzLWluc2lkZS1naXQtZGlyIFwKIAkJIC0taXMtaW5zaWRlLXdvcmstdHJlZSBcCiAJCSAtLXNob3ctcHJlZml4IFwKLQkJIC0tZ2l0LWRpcgorCQkgLS1naXQtZGlyIFwKKwkJIC0tYWJzb2x1dGUtZ2l0LWRpcgogCWRvCiAJCXRlc3QgJCMgLWVxIDAgJiYgYnJlYWsKIAkJZXhwZWN0PSIkMSIKQEAgLTYyLDI5ICs2Myw4NiBAQAogCWNwIC1SIC5naXQgcmVwby5naXQKICcKIAotdGVzdF9yZXZfcGFyc2UgdG9wbGV2ZWwgZmFsc2UgZmFsc2UgdHJ1ZSAnJyAuZ2l0Cit0ZXN0X3Jldl9wYXJzZSB0b3BsZXZlbCBmYWxzZSBmYWxzZSB0cnVlICcnIC5naXQgIiRST09ULy5naXQiCiAKLXRlc3RfcmV2X3BhcnNlIC1DIC5naXQgLmdpdC8gZmFsc2UgdHJ1ZSBmYWxzZSAnJyAuCi10ZXN0X3Jldl9wYXJzZSAtQyAuZ2l0L29iamVjdHMgLmdpdC9vYmplY3RzLyBmYWxzZSB0cnVlIGZhbHNlICcnICIkUk9PVC8uZ2l0IgordGVzdF9yZXZfcGFyc2UgLUMgLmdpdCAuZ2l0LyBmYWxzZSB0cnVlIGZhbHNlICcnIC4gIiRST09ULy5naXQiCit0ZXN0X3Jldl9wYXJzZSAtQyAuZ2l0L29iamVjdHMgLmdpdC9vYmplY3RzLyBmYWxzZSB0cnVlIGZhbHNlICcnICIkUk9PVC8uZ2l0IiAiJFJPT1QvLmdpdCIKIAotdGVzdF9yZXZfcGFyc2UgLUMgc3ViL2RpciBzdWJkaXJlY3RvcnkgZmFsc2UgZmFsc2UgdHJ1ZSBzdWIvZGlyLyAiJFJPT1QvLmdpdCIKK3Rlc3RfcmV2X3BhcnNlIC1DIHN1Yi9kaXIgc3ViZGlyZWN0b3J5IGZhbHNlIGZhbHNlIHRydWUgc3ViL2Rpci8gIiRST09ULy5naXQiICIkUk9PVC8uZ2l0IgogCiB0ZXN0X3Jldl9wYXJzZSAtYiB0ICdjb3JlLmJhcmUgPSB0cnVlJyB0cnVlIGZhbHNlIGZhbHNlCiAKIHRlc3RfcmV2X3BhcnNlIC1iIHUgJ2NvcmUuYmFyZSB1bmRlZmluZWQnIGZhbHNlIGZhbHNlIHRydWUKIAogCi10ZXN0X3Jldl9wYXJzZSAtQyB3b3JrIC1nIC4uLy5naXQgLWIgZiAnR0lUX0RJUj0uLi8uZ2l0LCBjb3JlLmJhcmUgPSBmYWxzZScgZmFsc2UgZmFsc2UgdHJ1ZSAnJwordGVzdF9yZXZfcGFyc2UgLUMgd29yayAtZyAuLi8uZ2l0IC1iIGYgJ0dJVF9ESVI9Li4vLmdpdCwgY29yZS5iYXJlID0gZmFsc2UnIGZhbHNlIGZhbHNlIHRydWUgJycgIi4uLy5naXQiICIkUk9PVC8uZ2l0IgogCiB0ZXN0X3Jldl9wYXJzZSAtQyB3b3JrIC1nIC4uLy5naXQgLWIgdCAnR0lUX0RJUj0uLi8uZ2l0LCBjb3JlLmJhcmUgPSB0cnVlJyB0cnVlIGZhbHNlIGZhbHNlICcnCiAKIHRlc3RfcmV2X3BhcnNlIC1DIHdvcmsgLWcgLi4vLmdpdCAtYiB1ICdHSVRfRElSPS4uLy5naXQsIGNvcmUuYmFyZSB1bmRlZmluZWQnIGZhbHNlIGZhbHNlIHRydWUgJycKIAogCi10ZXN0X3Jldl9wYXJzZSAtQyB3b3JrIC1nIC4uL3JlcG8uZ2l0IC1iIGYgJ0dJVF9ESVI9Li4vcmVwby5naXQsIGNvcmUuYmFyZSA9IGZhbHNlJyBmYWxzZSBmYWxzZSB0cnVlICcnCit0ZXN0X3Jldl9wYXJzZSAtQyB3b3JrIC1nIC4uL3JlcG8uZ2l0IC1iIGYgJ0dJVF9ESVI9Li4vcmVwby5naXQsIGNvcmUuYmFyZSA9IGZhbHNlJyBmYWxzZSBmYWxzZSB0cnVlICcnICIuLi9yZXBvLmdpdCIgIiRST09UL3JlcG8uZ2l0IgogCiB0ZXN0X3Jldl9wYXJzZSAtQyB3b3JrIC1nIC4uL3JlcG8uZ2l0IC1iIHQgJ0dJVF9ESVI9Li4vcmVwby5naXQsIGNvcmUuYmFyZSA9IHRydWUnIHRydWUgZmFsc2UgZmFsc2UgJycKIAogdGVzdF9yZXZfcGFyc2UgLUMgd29yayAtZyAuLi9yZXBvLmdpdCAtYiB1ICdHSVRfRElSPS4uL3JlcG8uZ2l0LCBjb3JlLmJhcmUgdW5kZWZpbmVkJyBmYWxzZSBmYWxzZSB0cnVlICcnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdC1jb21tb24tZGlyIGZyb20gd29ya3RyZWUgcm9vdCcgJworCWVjaG8gLmdpdCA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSAtLWdpdC1jb21tb24tZGlyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdC1jb21tb24tZGlyIGluc2lkZSBzdWItZGlyJyAnCisJbWtkaXIgLXAgcGF0aC90by9jaGlsZCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHBhdGgiICYmCisJZWNobyAiJChnaXQgLUMgcGF0aC90by9jaGlsZCByZXYtcGFyc2UgLS1zaG93LWNkdXApLmdpdCIgPmV4cGVjdCAmJgorCWdpdCAtQyBwYXRoL3RvL2NoaWxkIHJldi1wYXJzZSAtLWdpdC1jb21tb24tZGlyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdC1wYXRoIGZyb20gd29ya3RyZWUgcm9vdCcgJworCWVjaG8gLmdpdC9vYmplY3RzID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlIC0tZ2l0LXBhdGggb2JqZWN0cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQtcGF0aCBpbnNpZGUgc3ViLWRpcicgJworCW1rZGlyIC1wIHBhdGgvdG8vY2hpbGQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBwYXRoIiAmJgorCWVjaG8gIiQoZ2l0IC1DIHBhdGgvdG8vY2hpbGQgcmV2LXBhcnNlIC0tc2hvdy1jZHVwKS5naXQvb2JqZWN0cyIgPmV4cGVjdCAmJgorCWdpdCAtQyBwYXRoL3RvL2NoaWxkIHJldi1wYXJzZSAtLWdpdC1wYXRoIG9iamVjdHMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LXBhcnNlIC0taXMtc2hhbGxvdy1yZXBvc2l0b3J5IGluIHNoYWxsb3cgcmVwbycgJworCXRlc3RfY29tbWl0IHRlc3RfY29tbWl0ICYmCisJZWNobyB0cnVlID5leHBlY3QgJiYKKwlnaXQgY2xvbmUgLS1kZXB0aCAxIC0tbm8tbG9jYWwgLiBzaGFsbG93ICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc2hhbGxvdyIgJiYKKwlnaXQgLUMgc2hhbGxvdyByZXYtcGFyc2UgLS1pcy1zaGFsbG93LXJlcG9zaXRvcnkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LXBhcnNlIC0taXMtc2hhbGxvdy1yZXBvc2l0b3J5IGluIG5vbi1zaGFsbG93IHJlcG8nICcKKwllY2hvIGZhbHNlID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlIC0taXMtc2hhbGxvdy1yZXBvc2l0b3J5ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3dpbmcgdGhlIHN1cGVycHJvamVjdCBjb3JyZWN0bHknICcKKwlnaXQgcmV2LXBhcnNlIC0tc2hvdy1zdXBlcnByb2plY3Qtd29ya2luZy10cmVlID5vdXQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgb3V0ICYmCisKKwl0ZXN0X2NyZWF0ZV9yZXBvIHN1cGVyICYmCisJdGVzdF9jb21taXQgLUMgc3VwZXIgdGVzdF9jb21taXQgJiYKKwl0ZXN0X2NyZWF0ZV9yZXBvIHN1YiAmJgorCXRlc3RfY29tbWl0IC1DIHN1YiB0ZXN0X2NvbW1pdCAmJgorCWdpdCAtQyBzdXBlciBzdWJtb2R1bGUgYWRkIC4uL3N1YiBkaXIvc3ViICYmCisJZWNobyAkKHB3ZCkvc3VwZXIgPmV4cGVjdCAgJiYKKwlnaXQgLUMgc3VwZXIvZGlyL3N1YiByZXYtcGFyc2UgLS1zaG93LXN1cGVycHJvamVjdC13b3JraW5nLXRyZWUgPm91dCAmJgorCXRlc3RfY21wIGV4cGVjdCBvdXQKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNTAyLXJldi1wYXJzZS1wYXJzZW9wdC5zaCBiL3QvdDE1MDItcmV2LXBhcnNlLXBhcnNlb3B0LnNoCmluZGV4IDMxMGY5M2YuLmE4NTlhYmUgMTAwNzU1Ci0tLSBhL3QvdDE1MDItcmV2LXBhcnNlLXBhcnNlb3B0LnNoCisrKyBiL3QvdDE1MDItcmV2LXBhcnNlLXBhcnNlb3B0LnNoCkBAIC0yOCw2ICsyOCw5IEBACiB8ZyxmbHVmP3BhdGggICAgIHNob3J0IGFuZCBsb25nIG9wdGlvbiBvcHRpb25hbCBhcmd1bWVudAogfGxvbmdlc3Q9dmVyeS1sb25nLWFyZ3VtZW50LWhpbnQgIGEgdmVyeSBsb25nIGFyZ3VtZW50IGhpbnQKIHxwYWlyPWtleT12YWx1ZSAgd2l0aCBhbiBlcXVhbHMgc2lnbiBpbiB0aGUgaGludAorfGFzd2l0Y2ggaGVscCB0ZT10IGNvbnRhaW5zPyBmbCpnIGNoYXJhY3RlcnMhYAorfGJzd2l0Y2g9aGludAkgaGludCBoYXMgdHJhaWxpbmcgdGFiIGNoYXJhY3RlcgorfGNzd2l0Y2gJIHN3aXRjaCBoYXMgdHJhaWxpbmcgdGFiIGNoYXJhY3RlcgogfHNob3J0LWhpbnQ9YSAgICB3aXRoIGEgb25lIHN5bWJvbCBoaW50CiB8CiB8RXh0cmFzCkBAIC0zNSw2ICszOCwyNSBAQAogRU9GCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIG9wdGlvbnNwZWMtbm8tc3dpdGNoZXMnICcKKwlzZWQgLWUgInMvXnwvLyIgPm9wdGlvbnNwZWNfbm9fc3dpdGNoZXMgPDxcRU9GCit8c29tZS1jb21tYW5kIFtvcHRpb25zXSA8YXJncz4uLi4KK3wKK3xzb21lLWNvbW1hbmQgZG9lcyBmb28gYW5kIGJhciEKK3wtLQorRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIG9wdGlvbnNwZWMtb25seS1oaWRkZW4tc3dpdGNoZXMnICcKKwlzZWQgLWUgInMvXnwvLyIgPm9wdGlvbnNwZWNfb25seV9oaWRkZW5fc3dpdGNoZXMgPDxcRU9GCit8c29tZS1jb21tYW5kIFtvcHRpb25zXSA8YXJncz4uLi4KK3wKK3xzb21lLWNvbW1hbmQgZG9lcyBmb28gYW5kIGJhciEKK3wtLQorfGhpZGRlbjEqIEEgaGlkZGVuIHN3aXRjaAorRU9GCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3QgLS1wYXJzZW9wdCBoZWxwIG91dHB1dCcgJwogCXNlZCAtZSAicy9efC8vIiA+ZXhwZWN0IDw8XEVORF9FWFBFQ1QgJiYKIHxjYXQgPDxcRU9GCkBAIC02Miw2ICs4NCw5IEBACiB8ICAgIC0tbG9uZ2VzdCA8dmVyeS1sb25nLWFyZ3VtZW50LWhpbnQ+CiB8ICAgICAgICAgICAgICAgICAgICAgICAgICBhIHZlcnkgbG9uZyBhcmd1bWVudCBoaW50CiB8ICAgIC0tcGFpciA8a2V5PXZhbHVlPiAgICB3aXRoIGFuIGVxdWFscyBzaWduIGluIHRoZSBoaW50Cit8ICAgIC0tYXN3aXRjaCAgICAgICAgICAgICBoZWxwIHRlPXQgY29udGFpbnM/IGZsKmcgY2hhcmFjdGVycyFgCit8ICAgIC0tYnN3aXRjaCA8aGludD4gICAgICBoaW50IGhhcyB0cmFpbGluZyB0YWIgY2hhcmFjdGVyCit8ICAgIC0tY3N3aXRjaCAgICAgICAgICAgICBzd2l0Y2ggaGFzIHRyYWlsaW5nIHRhYiBjaGFyYWN0ZXIKIHwgICAgLS1zaG9ydC1oaW50IDxhPiAgICAgIHdpdGggYSBvbmUgc3ltYm9sIGhpbnQKIHwKIHxFeHRyYXMKQEAgLTczLDE5ICs5OCwxMDAgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0tcGFyc2VvcHQgaGVscCBvdXRwdXQgbm8gc3dpdGNoZXMnICcKKwlzZWQgLWUgInMvXnwvLyIgPmV4cGVjdCA8PFxFTkRfRVhQRUNUICYmCit8Y2F0IDw8XEVPRgorfHVzYWdlOiBzb21lLWNvbW1hbmQgW29wdGlvbnNdIDxhcmdzPi4uLgorfAorfCAgICBzb21lLWNvbW1hbmQgZG9lcyBmb28gYW5kIGJhciEKK3wKK3xFT0YKK0VORF9FWFBFQ1QKKwl0ZXN0X2V4cGVjdF9jb2RlIDEyOSBnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLS0gLWggPiBvdXRwdXQgPCBvcHRpb25zcGVjX25vX3N3aXRjaGVzICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXBhcnNlb3B0IGhlbHAgb3V0cHV0IGhpZGRlbiBzd2l0Y2hlcycgJworCXNlZCAtZSAicy9efC8vIiA+ZXhwZWN0IDw8XEVORF9FWFBFQ1QgJiYKK3xjYXQgPDxcRU9GCit8dXNhZ2U6IHNvbWUtY29tbWFuZCBbb3B0aW9uc10gPGFyZ3M+Li4uCit8Cit8ICAgIHNvbWUtY29tbWFuZCBkb2VzIGZvbyBhbmQgYmFyIQorfAorfEVPRgorRU5EX0VYUEVDVAorCXRlc3RfZXhwZWN0X2NvZGUgMTI5IGdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtLSAtaCA+IG91dHB1dCA8IG9wdGlvbnNwZWNfb25seV9oaWRkZW5fc3dpdGNoZXMgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0tcGFyc2VvcHQgaGVscC1hbGwgb3V0cHV0IGhpZGRlbiBzd2l0Y2hlcycgJworCXNlZCAtZSAicy9efC8vIiA+ZXhwZWN0IDw8XEVORF9FWFBFQ1QgJiYKK3xjYXQgPDxcRU9GCit8dXNhZ2U6IHNvbWUtY29tbWFuZCBbb3B0aW9uc10gPGFyZ3M+Li4uCit8Cit8ICAgIHNvbWUtY29tbWFuZCBkb2VzIGZvbyBhbmQgYmFyIQorfAorfCAgICAtLWhpZGRlbjEgICAgICAgICAgICAgQSBoaWRkZW4gc3dpdGNoCit8Cit8RU9GCitFTkRfRVhQRUNUCisJdGVzdF9leHBlY3RfY29kZSAxMjkgZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC0tIC0taGVscC1hbGwgPiBvdXRwdXQgPCBvcHRpb25zcGVjX29ubHlfaGlkZGVuX3N3aXRjaGVzICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXBhcnNlb3B0IGludmFsaWQgc3dpdGNoIGhlbHAgb3V0cHV0JyAnCisJc2VkIC1lICJzL158Ly8iID5leHBlY3QgPDxcRU5EX0VYUEVDVCAmJgorfGVycm9yOiB1bmtub3duIG9wdGlvbiBgZG9lcy1ub3QtZXhpc3QnXCcnCit8dXNhZ2U6IHNvbWUtY29tbWFuZCBbb3B0aW9uc10gPGFyZ3M+Li4uCit8Cit8ICAgIHNvbWUtY29tbWFuZCBkb2VzIGZvbyBhbmQgYmFyIQorfAorfCAgICAtaCwgLS1oZWxwICAgICAgICAgICAgc2hvdyB0aGUgaGVscAorfCAgICAtLWZvbyAgICAgICAgICAgICAgICAgc29tZSBuaWZ0eSBvcHRpb24gLS1mb28KK3wgICAgLS1iYXIgLi4uICAgICAgICAgICAgIHNvbWUgY29vbCBvcHRpb24gLS1iYXIgd2l0aCBhbiBhcmd1bWVudAorfCAgICAtYiwgLS1iYXogICAgICAgICAgICAgYSBzaG9ydCBhbmQgbG9uZyBvcHRpb24KK3wKK3xBbiBvcHRpb24gZ3JvdXAgSGVhZGVyCit8ICAgIC1DWy4uLl0gICAgICAgICAgICAgICBvcHRpb24gQyB3aXRoIGFuIG9wdGlvbmFsIGFyZ3VtZW50Cit8ICAgIC1kLCAtLWRhdGFbPS4uLl0gICAgICBzaG9ydCBhbmQgbG9uZyBvcHRpb24gd2l0aCBhbiBvcHRpb25hbCBhcmd1bWVudAorfAorfEFyZ3VtZW50IGhpbnRzCit8ICAgIC1CIDxhcmc+ICAgICAgICAgICAgICBzaG9ydCBvcHRpb24gcmVxdWlyZWQgYXJndW1lbnQKK3wgICAgLS1iYXIyIDxhcmc+ICAgICAgICAgIGxvbmcgb3B0aW9uIHJlcXVpcmVkIGFyZ3VtZW50Cit8ICAgIC1lLCAtLWZ1eiA8d2l0aC1zcGFjZT4KK3wgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3J0IGFuZCBsb25nIG9wdGlvbiByZXF1aXJlZCBhcmd1bWVudAorfCAgICAtc1s8c29tZT5dICAgICAgICAgICAgc2hvcnQgb3B0aW9uIG9wdGlvbmFsIGFyZ3VtZW50Cit8ICAgIC0tbG9uZ1s9PGRhdGE+XSAgICAgICBsb25nIG9wdGlvbiBvcHRpb25hbCBhcmd1bWVudAorfCAgICAtZywgLS1mbHVmWz08cGF0aD5dICAgc2hvcnQgYW5kIGxvbmcgb3B0aW9uIG9wdGlvbmFsIGFyZ3VtZW50Cit8ICAgIC0tbG9uZ2VzdCA8dmVyeS1sb25nLWFyZ3VtZW50LWhpbnQ+Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICBhIHZlcnkgbG9uZyBhcmd1bWVudCBoaW50Cit8ICAgIC0tcGFpciA8a2V5PXZhbHVlPiAgICB3aXRoIGFuIGVxdWFscyBzaWduIGluIHRoZSBoaW50Cit8ICAgIC0tYXN3aXRjaCAgICAgICAgICAgICBoZWxwIHRlPXQgY29udGFpbnM/IGZsKmcgY2hhcmFjdGVycyFgCit8ICAgIC0tYnN3aXRjaCA8aGludD4gICAgICBoaW50IGhhcyB0cmFpbGluZyB0YWIgY2hhcmFjdGVyCit8ICAgIC0tY3N3aXRjaCAgICAgICAgICAgICBzd2l0Y2ggaGFzIHRyYWlsaW5nIHRhYiBjaGFyYWN0ZXIKK3wgICAgLS1zaG9ydC1oaW50IDxhPiAgICAgIHdpdGggYSBvbmUgc3ltYm9sIGhpbnQKK3wKK3xFeHRyYXMKK3wgICAgLS1leHRyYTEgICAgICAgICAgICAgIGxpbmUgYWJvdmUgdXNlZCB0byBjYXVzZSBhIHNlZ2ZhdWx0IGJ1dCBubyBsb25nZXIgZG9lcworfAorRU5EX0VYUEVDVAorCXRlc3RfZXhwZWN0X2NvZGUgMTI5IGdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtLSAtLWRvZXMtbm90LWV4aXN0IDE+L2Rldi9udWxsIDI+b3V0cHV0IDwgb3B0aW9uc3BlYyAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGV4cGVjdC4xJyAiCiAJY2F0ID4gZXhwZWN0IDw8RU9GCi1zZXQgLS0gLS1mb28gLS1iYXIgJ2hhbScgLWIgLS0gJ2FyZycKK3NldCAtLSAtLWZvbyAtLWJhciAnaGFtJyAtYiAtLWFzd2l0Y2ggLS0gJ2FyZycKIEVPRgogIgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0tcGFyc2VvcHQnICcKLQlnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLS0gLS1mb28gLS1iYXI9aGFtIC0tYmF6IGFyZyA8IG9wdGlvbnNwZWMgPiBvdXRwdXQgJiYKKwlnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLS0gLS1mb28gLS1iYXI9aGFtIC0tYmF6IC0tYXN3aXRjaCBhcmcgPCBvcHRpb25zcGVjID4gb3V0cHV0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0tcGFyc2VvcHQgd2l0aCBtaXhlZCBvcHRpb25zIGFuZCBhcmd1bWVudHMnICcKLQlnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLS0gLS1mb28gYXJnIC0tYmFyPWhhbSAtLWJheiA8IG9wdGlvbnNwZWMgPiBvdXRwdXQgJiYKKwlnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLS0gLS1mb28gYXJnIC0tYmFyPWhhbSAtLWJheiAtLWFzd2l0Y2ggPCBvcHRpb25zcGVjID4gb3V0cHV0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCmRpZmYgLS1naXQgYS90L3QxNTA3LXJldi1wYXJzZS11cHN0cmVhbS5zaCBiL3QvdDE1MDctcmV2LXBhcnNlLXVwc3RyZWFtLnNoCmluZGV4IDQ2ZWYxZjIuLmIyM2M0ZTMgMTAwNzU1Ci0tLSBhL3QvdDE1MDctcmV2LXBhcnNlLXVwc3RyZWFtLnNoCisrKyBiL3QvdDE1MDctcmV2LXBhcnNlLXVwc3RyZWFtLnNoCkBAIC00NiwxMSArNDYsMTQgQEAKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnQHt1cHN0cmVhbX0gcmVzb2x2ZXMgdG8gY29ycmVjdCBmdWxsIG5hbWUnICcKLQl0ZXN0IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyID0gIiQoZnVsbF9uYW1lIEB7dXBzdHJlYW19KSIKKwl0ZXN0IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyID0gIiQoZnVsbF9uYW1lIEB7dXBzdHJlYW19KSIgJiYKKwl0ZXN0IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyID0gIiQoZnVsbF9uYW1lIEB7VVBTVFJFQU19KSIgJiYKKwl0ZXN0IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyID0gIiQoZnVsbF9uYW1lIEB7VXBTVFJlYW19KSIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnQHt1fSByZXNvbHZlcyB0byBjb3JyZWN0IGZ1bGwgbmFtZScgJwotCXRlc3QgcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIgPSAiJChmdWxsX25hbWUgQHt1fSkiCisJdGVzdCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA9ICIkKGZ1bGxfbmFtZSBAe3V9KSIgJiYKKwl0ZXN0IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyID0gIiQoZnVsbF9uYW1lIEB7VX0pIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdteS1zaWRlQHt1cHN0cmVhbX0gcmVzb2x2ZXMgdG8gY29ycmVjdCBmdWxsIG5hbWUnICcKQEAgLTYwLDYgKzYzLDggQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Vwc3RyZWFtIG9mIGJyYW5jaCB3aXRoIEAgaW4gbWlkZGxlJyAnCiAJZnVsbF9uYW1lIGZ1bkBueUB7dX0gPmFjdHVhbCAmJgogCWVjaG8gcmVmcy9yZW1vdGVzL29yaWdpbi9zaWRlID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZnVsbF9uYW1lIGZ1bkBueUB7VX0gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtOTYsMTIgKzEwMSwxNCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnPGJyYW5jaD5Ae3V9QHsxfSByZXNvbHZlcyBjb3JyZWN0bHknICcKIAl0ZXN0X2NvbW1pdCA2ICYmCiAJKGNkIGNsb25lICYmIGdpdCBmZXRjaCkgJiYKLQl0ZXN0IDUgPSAkKGNvbW1pdF9zdWJqZWN0IG15LXNpZGVAe3V9QHsxfSkKKwl0ZXN0IDUgPSAkKGNvbW1pdF9zdWJqZWN0IG15LXNpZGVAe3V9QHsxfSkgJiYKKwl0ZXN0IDUgPSAkKGNvbW1pdF9zdWJqZWN0IG15LXNpZGVAe1V9QHsxfSkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnQHt1fSB3aXRob3V0IHNwZWNpZnlpbmcgYnJhbmNoIGZhaWxzIG9uIGEgZGV0YWNoZWQgSEVBRCcgJwogCWdpdCBjaGVja291dCBIRUFEXjAgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEB7dX0KKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEB7dX0gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEB7VX0KICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLWIgbmV3IG15LXNpZGVAe3V9IGZvcmtzIGZyb20gdGhlIHNhbWUnICcKZGlmZiAtLWdpdCBhL3QvdDE1MTQtcmV2LXBhcnNlLXB1c2guc2ggYi90L3QxNTE0LXJldi1wYXJzZS1wdXNoLnNoCmluZGV4IDYyM2EzMmEuLjc4OGNjOTEgMTAwNzU1Ci0tLSBhL3QvdDE1MTQtcmV2LXBhcnNlLXB1c2guc2gKKysrIGIvdC90MTUxNC1yZXYtcGFyc2UtcHVzaC5zaApAQCAtMjQsMTIgKzI0LDE2IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0B7cHVzaH0gd2l0aCBkZWZhdWx0PW5vdGhpbmcnICcKIAl0ZXN0X2NvbmZpZyBwdXNoLmRlZmF1bHQgbm90aGluZyAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgbWFzdGVyQHtwdXNofQorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgbWFzdGVyQHtwdXNofSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgbWFzdGVyQHtQVVNIfSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgbWFzdGVyQHtQdVNIfQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdAe3B1c2h9IHdpdGggZGVmYXVsdD1zaW1wbGUnICcKIAl0ZXN0X2NvbmZpZyBwdXNoLmRlZmF1bHQgc2ltcGxlICYmCi0JcmVzb2x2ZSBtYXN0ZXJAe3B1c2h9IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyCisJcmVzb2x2ZSBtYXN0ZXJAe3B1c2h9IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyICYmCisJcmVzb2x2ZSBtYXN0ZXJAe1BVU0h9IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyICYmCisJcmVzb2x2ZSBtYXN0ZXJAe3BVU2h9IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyaWFuZ3VsYXIgQHtwdXNofSBmYWlscyB3aXRoIGRlZmF1bHQ9c2ltcGxlJyAnCmRpZmYgLS1naXQgYS90L3QxNjAxLWluZGV4LWJvZ3VzLnNoIGIvdC90MTYwMS1pbmRleC1ib2d1cy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43M2NjOTMyCi0tLSAvZGV2L251bGwKKysrIGIvdC90MTYwMS1pbmRleC1ib2d1cy5zaApAQCAtMCwwICsxLDIyIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBoYW5kbGluZyBvZiBib2d1cyBpbmRleCBlbnRyaWVzJworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSB0cmVlIHdpdGggbnVsbCBzaGExJyAnCisJdHJlZT0kKHByaW50ZiAiMTYwMDAwIGNvbW1pdCAkX3o0MFxcdGJyb2tlblxcbiIgfCBnaXQgbWt0cmVlKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWFkLXRyZWUgcmVmdXNlcyB0byByZWFkIG51bGwgc2hhMScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZWFkLXRyZWUgJHRyZWUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnR0lUX0FMTE9XX05VTExfU0hBMSBvdmVycmlkZXMgcmVmdXNhbCcgJworCUdJVF9BTExPV19OVUxMX1NIQTE9MSBnaXQgcmVhZC10cmVlICR0cmVlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCB3cml0ZS10cmVlIHJlZnVzZXMgdG8gd3JpdGUgbnVsbCBzaGExJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHdyaXRlLXRyZWUKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNzAwLXNwbGl0LWluZGV4LnNoIGIvdC90MTcwMC1zcGxpdC1pbmRleC5zaAppbmRleCAyOTJhMDcyLi4yMmY2OWE0IDEwMDc1NQotLS0gYS90L3QxNzAwLXNwbGl0LWluZGV4LnNoCisrKyBiL3QvdDE3MDAtc3BsaXQtaW5kZXguc2gKQEAgLTgsNiArOCw3IEBACiBzYW5lX3Vuc2V0IEdJVF9URVNUX1NQTElUX0lOREVYCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VuYWJsZSBzcGxpdCBpbmRleCcgJworCWdpdCBjb25maWcgc3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIDEwMCAmJgogCWdpdCB1cGRhdGUtaW5kZXggLS1zcGxpdC1pbmRleCAmJgogCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4ID5hY3R1YWwgJiYKIAlpbmRleHZlcnNpb249JCh0ZXN0LWluZGV4LXZlcnNpb24gPC5naXQvaW5kZXgpICYmCkBAIC0xOSwxMiArMjAsMTIgQEAKIAkJb3duPTgyOTliMGJjZDFhYzM2NGU1ZjFkNzc2OGVmYjYyZmEyZGE3OWEzMzkKIAkJYmFzZT0zOWQ4OTAxMzllZTUzNTZjN2VmNTcyMjE2Y2ViY2QyN2FhNDFmOWRmCiAJZmkgJiYKLQljYXQgPmV4cGVjdCA8PEVPRiAmJgotb3duICRvd24KLWJhc2UgJGJhc2UKLXJlcGxhY2VtZW50czoKLWRlbGV0aW9uczoKLUVPRgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCW93biAkb3duCisJYmFzZSAkYmFzZQorCXJlcGxhY2VtZW50czoKKwlkZWxldGlvbnM6CisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC0zMiw1MSArMzMsNTEgQEAKIAk6ID5vbmUgJiYKIAlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIG9uZSAmJgogCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKLQljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PEVPRiAmJgotMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCi1FT0YKKwljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKKwlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAKIAl0ZXN0LWR1bXAtc3BsaXQtaW5kZXggLmdpdC9pbmRleCB8IHNlZCAiL15vd24vZCIgPmFjdHVhbCAmJgotCWNhdCA+ZXhwZWN0IDw8RU9GICYmCi1iYXNlICRiYXNlCi0xMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKLXJlcGxhY2VtZW50czoKLWRlbGV0aW9uczoKLUVPRgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCWJhc2UgJGJhc2UKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKKwlyZXBsYWNlbWVudHM6CisJZGVsZXRpb25zOgorCUVPRgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlzYWJsZSBzcGxpdCBpbmRleCcgJwogCWdpdCB1cGRhdGUtaW5kZXggLS1uby1zcGxpdC1pbmRleCAmJgogCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKLQljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PEVPRiAmJgotMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCi1FT0YKKwljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKKwlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAKIAlCQVNFPSQodGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBncmVwICJeb3duIiB8IHNlZCAicy9vd24vYmFzZS8iKSAmJgogCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3QgPDxFT0YgJiYKLW5vdCBhIHNwbGl0IGluZGV4Ci1FT0YKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwlub3QgYSBzcGxpdCBpbmRleAorCUVPRgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZW5hYmxlIHNwbGl0IGluZGV4IGFnYWluLCAib25lIiBub3cgYmVsb25ncyB0byBiYXNlIGluZGV4IicgJwogCWdpdCB1cGRhdGUtaW5kZXggLS1zcGxpdC1pbmRleCAmJgogCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKLQljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PEVPRiAmJgotMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCi1FT0YKKwljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKKwlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAKIAl0ZXN0LWR1bXAtc3BsaXQtaW5kZXggLmdpdC9pbmRleCB8IHNlZCAiL15vd24vZCIgPmFjdHVhbCAmJgotCWNhdCA+ZXhwZWN0IDw8RU9GICYmCi0kQkFTRQotcmVwbGFjZW1lbnRzOgotZGVsZXRpb25zOgotRU9GCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJEJBU0UKKwlyZXBsYWNlbWVudHM6CisJZGVsZXRpb25zOgorCUVPRgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtODQsMTggKzg1LDE4IEBACiAJZWNobyBtb2RpZmllZCA+b25lICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCBvbmUgJiYKIAlnaXQgbHMtZmlsZXMgLS1zdGFnZSA+bHMtZmlsZXMuYWN0dWFsICYmCi0JY2F0ID5scy1maWxlcy5leHBlY3QgPDxFT0YgJiYKLTEwMDY0NCAyZTA5OTYwMDBiN2U5MDE5ZWFiY2FkMjkzOTFiZjBmNWM3NzAyZjBiIDAJb25lCi1FT0YKKwljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgMmUwOTk2MDAwYjdlOTAxOWVhYmNhZDI5MzkxYmYwZjVjNzcwMmYwYiAwCW9uZQorCUVPRgogCXRlc3RfY21wIGxzLWZpbGVzLmV4cGVjdCBscy1maWxlcy5hY3R1YWwgJiYKIAogCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCi0JcV90b190YWIgPmV4cGVjdCA8PEVPRiAmJgotJEJBU0UKLTEwMDY0NCAyZTA5OTYwMDBiN2U5MDE5ZWFiY2FkMjkzOTFiZjBmNWM3NzAyZjBiIDBRCi1yZXBsYWNlbWVudHM6IDAKLWRlbGV0aW9uczoKLUVPRgorCXFfdG9fdGFiID5leHBlY3QgPDwtRU9GICYmCisJJEJBU0UKKwkxMDA2NDQgMmUwOTk2MDAwYjdlOTAxOWVhYmNhZDI5MzkxYmYwZjVjNzcwMmYwYiAwUQorCXJlcGxhY2VtZW50czogMAorCWRlbGV0aW9uczoKKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKQEAgLTEwMyw1NCArMTA0LDU0IEBACiAJOiA+dHdvICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCB0d28gJiYKIAlnaXQgbHMtZmlsZXMgLS1zdGFnZSA+bHMtZmlsZXMuYWN0dWFsICYmCi0JY2F0ID5scy1maWxlcy5leHBlY3QgPDxFT0YgJiYKLTEwMDY0NCAyZTA5OTYwMDBiN2U5MDE5ZWFiY2FkMjkzOTFiZjBmNWM3NzAyZjBiIDAJb25lCi0xMDA2NDQgJEVNUFRZX0JMT0IgMAl0d28KLUVPRgorCWNhdCA+bHMtZmlsZXMuZXhwZWN0IDw8LUVPRiAmJgorCTEwMDY0NCAyZTA5OTYwMDBiN2U5MDE5ZWFiY2FkMjkzOTFiZjBmNWM3NzAyZjBiIDAJb25lCisJMTAwNjQ0ICRFTVBUWV9CTE9CIDAJdHdvCisJRU9GCiAJdGVzdF9jbXAgbHMtZmlsZXMuZXhwZWN0IGxzLWZpbGVzLmFjdHVhbCAmJgogCiAJdGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBzZWQgIi9eb3duL2QiID5hY3R1YWwgJiYKLQlxX3RvX3RhYiA+ZXhwZWN0IDw8RU9GICYmCi0kQkFTRQotMTAwNjQ0IDJlMDk5NjAwMGI3ZTkwMTllYWJjYWQyOTM5MWJmMGY1Yzc3MDJmMGIgMFEKLTEwMDY0NCAkRU1QVFlfQkxPQiAwCXR3bwotcmVwbGFjZW1lbnRzOiAwCi1kZWxldGlvbnM6Ci1FT0YKKwlxX3RvX3RhYiA+ZXhwZWN0IDw8LUVPRiAmJgorCSRCQVNFCisJMTAwNjQ0IDJlMDk5NjAwMGI3ZTkwMTllYWJjYWQyOTM5MWJmMGY1Yzc3MDJmMGIgMFEKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAl0d28KKwlyZXBsYWNlbWVudHM6IDAKKwlkZWxldGlvbnM6CisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW1vdmUgZmlsZSBub3QgaW4gYmFzZSBpbmRleCcgJwogCWdpdCB1cGRhdGUtaW5kZXggLS1mb3JjZS1yZW1vdmUgdHdvICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPmxzLWZpbGVzLmFjdHVhbCAmJgotCWNhdCA+bHMtZmlsZXMuZXhwZWN0IDw8RU9GICYmCi0xMDA2NDQgMmUwOTk2MDAwYjdlOTAxOWVhYmNhZDI5MzkxYmYwZjVjNzcwMmYwYiAwCW9uZQotRU9GCisJY2F0ID5scy1maWxlcy5leHBlY3QgPDwtRU9GICYmCisJMTAwNjQ0IDJlMDk5NjAwMGI3ZTkwMTllYWJjYWQyOTM5MWJmMGY1Yzc3MDJmMGIgMAlvbmUKKwlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAKIAl0ZXN0LWR1bXAtc3BsaXQtaW5kZXggLmdpdC9pbmRleCB8IHNlZCAiL15vd24vZCIgPmFjdHVhbCAmJgotCXFfdG9fdGFiID5leHBlY3QgPDxFT0YgJiYKLSRCQVNFCi0xMDA2NDQgMmUwOTk2MDAwYjdlOTAxOWVhYmNhZDI5MzkxYmYwZjVjNzcwMmYwYiAwUQotcmVwbGFjZW1lbnRzOiAwCi1kZWxldGlvbnM6Ci1FT0YKKwlxX3RvX3RhYiA+ZXhwZWN0IDw8LUVPRiAmJgorCSRCQVNFCisJMTAwNjQ0IDJlMDk5NjAwMGI3ZTkwMTllYWJjYWQyOTM5MWJmMGY1Yzc3MDJmMGIgMFEKKwlyZXBsYWNlbWVudHM6IDAKKwlkZWxldGlvbnM6CisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW1vdmUgZmlsZSBpbiBiYXNlIGluZGV4JyAnCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWZvcmNlLXJlbW92ZSBvbmUgJiYKIAlnaXQgbHMtZmlsZXMgLS1zdGFnZSA+bHMtZmlsZXMuYWN0dWFsICYmCi0JY2F0ID5scy1maWxlcy5leHBlY3QgPDxFT0YgJiYKLUVPRgorCWNhdCA+bHMtZmlsZXMuZXhwZWN0IDw8LUVPRiAmJgorCUVPRgogCXRlc3RfY21wIGxzLWZpbGVzLmV4cGVjdCBscy1maWxlcy5hY3R1YWwgJiYKIAogCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3QgPDxFT0YgJiYKLSRCQVNFCi1yZXBsYWNlbWVudHM6Ci1kZWxldGlvbnM6IDAKLUVPRgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCSRCQVNFCisJcmVwbGFjZW1lbnRzOgorCWRlbGV0aW9uczogMAorCUVPRgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMTU4LDE4ICsxNTksMTggQEAKIAk6ID5vbmUgJiYKIAlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIG9uZSAmJgogCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKLQljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PEVPRiAmJgotMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCi1FT0YKKwljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKKwlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAKIAl0ZXN0LWR1bXAtc3BsaXQtaW5kZXggLmdpdC9pbmRleCB8IHNlZCAiL15vd24vZCIgPmFjdHVhbCAmJgotCWNhdCA+ZXhwZWN0IDw8RU9GICYmCi0kQkFTRQotMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCi1yZXBsYWNlbWVudHM6Ci1kZWxldGlvbnM6IDAKLUVPRgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCSRCQVNFCisJMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCisJcmVwbGFjZW1lbnRzOgorCWRlbGV0aW9uczogMAorCUVPRgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMTc3LDI3ICsxNzgsMjI2IEBACiAJOiA+dHdvICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCB0d28gJiYKIAlnaXQgbHMtZmlsZXMgLS1zdGFnZSA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3QgPDxFT0YgJiYKLTEwMDY0NCAkRU1QVFlfQkxPQiAwCW9uZQotMTAwNjQ0ICRFTVBUWV9CTE9CIDAJdHdvCi1FT0YKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAl0d28KKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VuaWZ5IGluZGV4LCB0d28gZmlsZXMgcmVtYWluJyAnCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLW5vLXNwbGl0LWluZGV4ICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPmxzLWZpbGVzLmFjdHVhbCAmJgotCWNhdCA+bHMtZmlsZXMuZXhwZWN0IDw8RU9GICYmCi0xMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKLTEwMDY0NCAkRU1QVFlfQkxPQiAwCXR3bwotRU9GCisJY2F0ID5scy1maWxlcy5leHBlY3QgPDwtRU9GICYmCisJMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCisJMTAwNjQ0ICRFTVBUWV9CTE9CIDAJdHdvCisJRU9GCiAJdGVzdF9jbXAgbHMtZmlsZXMuZXhwZWN0IGxzLWZpbGVzLmFjdHVhbCAmJgogCiAJdGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBzZWQgIi9eb3duL2QiID5hY3R1YWwgJiYKLQljYXQgPmV4cGVjdCA8PEVPRiAmJgotbm90IGEgc3BsaXQgaW5kZXgKLUVPRgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCW5vdCBhIHNwbGl0IGluZGV4CisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgLS1zaGFyZWQtaW5kZXgtcGF0aCcgJworCXRlc3RfY3JlYXRlX3JlcG8gc3BsaXQtaW5kZXggJiYKKwkoCisJCWNkIHNwbGl0LWluZGV4ICYmCisJCWdpdCB1cGRhdGUtaW5kZXggLS1zcGxpdC1pbmRleCAmJgorCQllY2hvIC5naXQvc2hhcmVkaW5kZXgqID5leHBlY3QgJiYKKwkJZ2l0IHJldi1wYXJzZSAtLXNoYXJlZC1pbmRleC1wYXRoID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQlta2RpciBzdWJkaXJlY3RvcnkgJiYKKwkJY2Qgc3ViZGlyZWN0b3J5ICYmCisJCWVjaG8gLi4vLmdpdC9zaGFyZWRpbmRleCogPmV4cGVjdCAmJgorCQlnaXQgcmV2LXBhcnNlIC0tc2hhcmVkLWluZGV4LXBhdGggPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgY29yZS5zcGxpdEluZGV4IGNvbmZpZyB2YXJpYWJsZSB0byB0cnVlJyAnCisJZ2l0IGNvbmZpZyBjb3JlLnNwbGl0SW5kZXggdHJ1ZSAmJgorCTogPnRocmVlICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCB0aHJlZSAmJgorCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKKwljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCW9uZQorCTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJdGhyZWUKKwkxMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCXR3bworCUVPRgorCXRlc3RfY21wIGxzLWZpbGVzLmV4cGVjdCBscy1maWxlcy5hY3R1YWwgJiYKKwlCQVNFPSQodGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBncmVwICJeYmFzZSIpICYmCisJdGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBzZWQgIi9eb3duL2QiID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkkQkFTRQorCXJlcGxhY2VtZW50czoKKwlkZWxldGlvbnM6CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgY29yZS5zcGxpdEluZGV4IGNvbmZpZyB2YXJpYWJsZSB0byBmYWxzZScgJworCWdpdCBjb25maWcgY29yZS5zcGxpdEluZGV4IGZhbHNlICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWZvcmNlLXJlbW92ZSB0aHJlZSAmJgorCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKKwljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCW9uZQorCTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJdHdvCisJRU9GCisJdGVzdF9jbXAgbHMtZmlsZXMuZXhwZWN0IGxzLWZpbGVzLmFjdHVhbCAmJgorCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJbm90IGEgc3BsaXQgaW5kZXgKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCBjb3JlLnNwbGl0SW5kZXggY29uZmlnIHZhcmlhYmxlIHRvIHRydWUnICcKKwlnaXQgY29uZmlnIGNvcmUuc3BsaXRJbmRleCB0cnVlICYmCisJOiA+dGhyZWUgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIHRocmVlICYmCisJQkFTRT0kKHRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgZ3JlcCAiXmJhc2UiKSAmJgorCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJEJBU0UKKwlyZXBsYWNlbWVudHM6CisJZGVsZXRpb25zOgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwk6ID5mb3VyICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBmb3VyICYmCisJdGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBzZWQgIi9eb3duL2QiID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkkQkFTRQorCTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJZm91cgorCXJlcGxhY2VtZW50czoKKwlkZWxldGlvbnM6CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBiZWhhdmlvciB3aXRoIHNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB1bnNldCcgJworCWdpdCBjb25maWcgLS11bnNldCBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgJiYKKwk6ID5maXZlICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBmaXZlICYmCisJQkFTRT0kKHRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgZ3JlcCAiXmJhc2UiKSAmJgorCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJEJBU0UKKwlyZXBsYWNlbWVudHM6CisJZGVsZXRpb25zOgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwk6ID5zaXggJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIHNpeCAmJgorCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJEJBU0UKKwkxMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCXNpeAorCXJlcGxhY2VtZW50czoKKwlkZWxldGlvbnM6CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2Ugc2V0IHRvIDAnICcKKwlnaXQgY29uZmlnIHNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSAwICYmCisJOiA+c2V2ZW4gJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIHNldmVuICYmCisJQkFTRT0kKHRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgZ3JlcCAiXmJhc2UiKSAmJgorCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJEJBU0UKKwlyZXBsYWNlbWVudHM6CisJZGVsZXRpb25zOgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwk6ID5laWdodCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgZWlnaHQgJiYKKwlCQVNFPSQodGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBncmVwICJeYmFzZSIpICYmCisJdGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBzZWQgIi9eb3duL2QiID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkkQkFTRQorCXJlcGxhY2VtZW50czoKKwlkZWxldGlvbnM6CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaGFyZWQgaW5kZXggZmlsZXMgZXhwaXJlIGFmdGVyIDIgd2Vla3MgYnkgZGVmYXVsdCcgJworCTogPnRlbiAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgdGVuICYmCisJdGVzdCAkKGxzIC5naXQvc2hhcmVkaW5kZXguKiB8IHdjIC1sKSAtZ3QgMiAmJgorCWp1c3RfdW5kZXJfMl93ZWVrc19hZ289JCgoNS0xNCo4NjQwMCkpICYmCisJdGVzdC1jaG10aW1lID0kanVzdF91bmRlcl8yX3dlZWtzX2FnbyAuZ2l0L3NoYXJlZGluZGV4LiogJiYKKwk6ID5lbGV2ZW4gJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIGVsZXZlbiAmJgorCXRlc3QgJChscyAuZ2l0L3NoYXJlZGluZGV4LiogfCB3YyAtbCkgLWd0IDIgJiYKKwlqdXN0X292ZXJfMl93ZWVrc19hZ289JCgoLTEtMTQqODY0MDApKSAmJgorCXRlc3QtY2htdGltZSA9JGp1c3Rfb3Zlcl8yX3dlZWtzX2FnbyAuZ2l0L3NoYXJlZGluZGV4LiogJiYKKwk6ID50d2VsdmUgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIHR3ZWx2ZSAmJgorCXRlc3QgJChscyAuZ2l0L3NoYXJlZGluZGV4LiogfCB3YyAtbCkgLWxlIDIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgc3BsaXRJbmRleC5zaGFyZWRJbmRleEV4cGlyZSBzZXQgdG8gMTYgZGF5cycgJworCWdpdCBjb25maWcgc3BsaXRJbmRleC5zaGFyZWRJbmRleEV4cGlyZSAiMTYuZGF5cy5hZ28iICYmCisJdGVzdC1jaG10aW1lID0kanVzdF9vdmVyXzJfd2Vla3NfYWdvIC5naXQvc2hhcmVkaW5kZXguKiAmJgorCTogPnRoaXJ0ZWVuICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCB0aGlydGVlbiAmJgorCXRlc3QgJChscyAuZ2l0L3NoYXJlZGluZGV4LiogfCB3YyAtbCkgLWd0IDIgJiYKKwlqdXN0X292ZXJfMTZfZGF5c19hZ289JCgoLTEtMTYqODY0MDApKSAmJgorCXRlc3QtY2htdGltZSA9JGp1c3Rfb3Zlcl8xNl9kYXlzX2FnbyAuZ2l0L3NoYXJlZGluZGV4LiogJiYKKwk6ID5mb3VydGVlbiAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgZm91cnRlZW4gJiYKKwl0ZXN0ICQobHMgLmdpdC9zaGFyZWRpbmRleC4qIHwgd2MgLWwpIC1sZSAyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHNwbGl0SW5kZXguc2hhcmVkSW5kZXhFeHBpcmUgc2V0IHRvICJuZXZlciIgYW5kICJub3ciJyAnCisJZ2l0IGNvbmZpZyBzcGxpdEluZGV4LnNoYXJlZEluZGV4RXhwaXJlIG5ldmVyICYmCisJanVzdF8xMF95ZWFyc19hZ289JCgoLTM2NSoxMCo4NjQwMCkpICYmCisJdGVzdC1jaG10aW1lID0kanVzdF8xMF95ZWFyc19hZ28gLmdpdC9zaGFyZWRpbmRleC4qICYmCisJOiA+ZmlmdGVlbiAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgZmlmdGVlbiAmJgorCXRlc3QgJChscyAuZ2l0L3NoYXJlZGluZGV4LiogfCB3YyAtbCkgLWd0IDIgJiYKKwlnaXQgY29uZmlnIHNwbGl0SW5kZXguc2hhcmVkSW5kZXhFeHBpcmUgbm93ICYmCisJanVzdF8xX3NlY29uZF9hZ289LTEgJiYKKwl0ZXN0LWNobXRpbWUgPSRqdXN0XzFfc2Vjb25kX2FnbyAuZ2l0L3NoYXJlZGluZGV4LiogJiYKKwk6ID5zaXh0ZWVuICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBzaXh0ZWVuICYmCisJdGVzdCAkKGxzIC5naXQvc2hhcmVkaW5kZXguKiB8IHdjIC1sKSAtbGUgMgorJworCit3aGlsZSByZWFkIC1yIG1vZGUgbW9kZWJpdHMKK2RvCisJdGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0gInNwbGl0IGluZGV4IHJlc3BlY3RzIGNvcmUuc2hhcmVkcmVwb3NpdG9yeSAkbW9kZSIgJworCQkjIFJlbW92ZSBleGlzdGluZyBzaGFyZWQgaW5kZXggZmlsZXMKKwkJZ2l0IGNvbmZpZyBjb3JlLnNwbGl0SW5kZXggZmFsc2UgJiYKKwkJZ2l0IHVwZGF0ZS1pbmRleCAtLWZvcmNlLXJlbW92ZSBvbmUgJiYKKwkJcm0gLWYgLmdpdC9zaGFyZWRpbmRleC4qICYmCisJCSMgQ3JlYXRlIG9uZSBuZXcgc2hhcmVkIGluZGV4IGZpbGUKKwkJZ2l0IGNvbmZpZyBjb3JlLnNoYXJlZHJlcG9zaXRvcnkgIiRtb2RlIiAmJgorCQlnaXQgY29uZmlnIGNvcmUuc3BsaXRJbmRleCB0cnVlICYmCisJCTogPm9uZSAmJgorCQlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIG9uZSAmJgorCQllY2hvICIkbW9kZWJpdHMiID5leHBlY3QgJiYKKwkJdGVzdF9tb2RlYml0cyAuZ2l0L2luZGV4ID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQlzaGFyZWQ9JChscyAuZ2l0L3NoYXJlZGluZGV4LiopICYmCisJCWNhc2UgIiRzaGFyZWQiIGluCisJCSoiICIqKQorCQkJIyB3ZSBoYXZlIG1vcmUgdGhhbiBvbmU/Pz8KKwkJCWZhbHNlIDs7CisJCSopCisJCQl0ZXN0X21vZGViaXRzICIkc2hhcmVkIiA+YWN0dWFsICYmCisJCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsIDs7CisJCWVzYWMKKwknCitkb25lIDw8XEVPRgorMDY2NiAtcnctcnctcnctCiswNjQyIC1ydy1yLS0tdy0KK0VPRgorCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDIwMTMtY2hlY2tvdXQtc3VibW9kdWxlLnNoIGIvdC90MjAxMy1jaGVja291dC1zdWJtb2R1bGUuc2gKaW5kZXggNjg0N2Y3NS4uNmVmMTU3MyAxMDA3NTUKLS0tIGEvdC90MjAxMy1jaGVja291dC1zdWJtb2R1bGUuc2gKKysrIGIvdC90MjAxMy1jaGVja291dC1zdWJtb2R1bGUuc2gKQEAgLTYzLDYgKzYzLDExIEBACiAJISB0ZXN0IC1zIGFjdHVhbAogJwogCitLTk9XTl9GQUlMVVJFX0RJUkVDVE9SWV9TVUJNT0RVTEVfQ09ORkxJQ1RTPTEKK3Rlc3Rfc3VibW9kdWxlX3N3aXRjaF9yZWN1cnNpbmdfd2l0aF9hcmdzICJjaGVja291dCIKKwordGVzdF9zdWJtb2R1bGVfZm9yY2VkX3N3aXRjaF9yZWN1cnNpbmdfd2l0aF9hcmdzICJjaGVja291dCAtZiIKKwogdGVzdF9zdWJtb2R1bGVfc3dpdGNoICJnaXQgY2hlY2tvdXQiCiAKIHRlc3Rfc3VibW9kdWxlX2ZvcmNlZF9zd2l0Y2ggImdpdCBjaGVja291dCAtZiIKZGlmZiAtLWdpdCBhL3QvdDIwMjUtd29ya3RyZWUtYWRkLnNoIGIvdC90MjAyNS13b3JrdHJlZS1hZGQuc2gKaW5kZXggYjYxOGQ2Yi4uYjVjNDdhYyAxMDA3NTUKLS0tIGEvdC90MjAyNS13b3JrdHJlZS1hZGQuc2gKKysrIGIvdC90MjAyNS13b3JrdHJlZS1hZGQuc2gKQEAgLTYzLDYgKzYzLDEyIEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICciYWRkIiB3b3JrdHJlZSB3aXRoIGxvY2snICcKKwlnaXQgcmV2LXBhcnNlIEhFQUQgPmV4cGVjdCAmJgorCWdpdCB3b3JrdHJlZSBhZGQgLS1kZXRhY2ggLS1sb2NrIGhlcmUtd2l0aC1sb2NrIG1hc3RlciAmJgorCXRlc3QgLWYgLmdpdC93b3JrdHJlZXMvaGVyZS13aXRoLWxvY2svbG9ja2VkCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJhZGQiIHdvcmt0cmVlIGZyb20gYSBzdWJkaXInICcKIAkoCiAJCW1rZGlyIHN1YiAmJgpkaWZmIC0tZ2l0IGEvdC90MjAyNy13b3JrdHJlZS1saXN0LnNoIGIvdC90MjAyNy13b3JrdHJlZS1saXN0LnNoCmluZGV4IDQ2NWVlZWEuLjcyMDA2M2IgMTAwNzU1Ci0tLSBhL3QvdDIwMjctd29ya3RyZWUtbGlzdC5zaAorKysgYi90L3QyMDI3LXdvcmt0cmVlLWxpc3Quc2gKQEAgLTE0LDI1ICsxNCwzNSBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgogCW1rZGlyIHN1YiAmJgogCWdpdCAtQyBzdWIgcmV2LXBhcnNlIC0tZ2l0LWNvbW1vbi1kaXIgPmFjdHVhbDIgJiYKLQllY2hvIHN1Yi8uZ2l0ID5leHBlY3RlZDIgJiYKKwllY2hvIC4uLy5naXQgPmV4cGVjdGVkMiAmJgogCXRlc3RfY21wIGV4cGVjdGVkMiBhY3R1YWwyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1wYXJzZSAtLWdpdC1wYXRoIG9iamVjdHMgbGlua2VkIHdvcmt0cmVlJyAnCisJZWNobyAiJChnaXQgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCkvLmdpdC9vYmplY3RzIiA+ZXhwZWN0ICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgbGlua2VkLXRyZWUgYWN0dWFsIGV4cGVjdCAmJiBnaXQgd29ya3RyZWUgcHJ1bmUiICYmCisJZ2l0IHdvcmt0cmVlIGFkZCAtLWRldGFjaCBsaW5rZWQtdHJlZSBtYXN0ZXIgJiYKKwlnaXQgLUMgbGlua2VkLXRyZWUgcmV2LXBhcnNlIC0tZ2l0LXBhdGggb2JqZWN0cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICcibGlzdCIgYWxsIHdvcmt0cmVlcyBmcm9tIG1haW4nICcKIAllY2hvICIkKGdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsKSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSBbJChnaXQgc3ltYm9saWMtcmVmIC0tc2hvcnQgSEVBRCldIiA+ZXhwZWN0ICYmCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgaGVyZSAmJiBnaXQgd29ya3RyZWUgcHJ1bmUiICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgaGVyZSBvdXQgYWN0dWFsIGV4cGVjdCAmJiBnaXQgd29ya3RyZWUgcHJ1bmUiICYmCiAJZ2l0IHdvcmt0cmVlIGFkZCAtLWRldGFjaCBoZXJlIG1hc3RlciAmJgogCWVjaG8gIiQoZ2l0IC1DIGhlcmUgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCkgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgKGRldGFjaGVkIEhFQUQpIiA+PmV4cGVjdCAmJgotCWdpdCB3b3JrdHJlZSBsaXN0IHwgc2VkICJzLyAgKi8gL2ciID5hY3R1YWwgJiYKKwlnaXQgd29ya3RyZWUgbGlzdCA+b3V0ICYmCisJc2VkICJzLyAgKi8gL2ciIDxvdXQgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnImxpc3QiIGFsbCB3b3JrdHJlZXMgZnJvbSBsaW5rZWQnICcKIAllY2hvICIkKGdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsKSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSBbJChnaXQgc3ltYm9saWMtcmVmIC0tc2hvcnQgSEVBRCldIiA+ZXhwZWN0ICYmCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgaGVyZSAmJiBnaXQgd29ya3RyZWUgcHJ1bmUiICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgaGVyZSBvdXQgYWN0dWFsIGV4cGVjdCAmJiBnaXQgd29ya3RyZWUgcHJ1bmUiICYmCiAJZ2l0IHdvcmt0cmVlIGFkZCAtLWRldGFjaCBoZXJlIG1hc3RlciAmJgogCWVjaG8gIiQoZ2l0IC1DIGhlcmUgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCkgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgKGRldGFjaGVkIEhFQUQpIiA+PmV4cGVjdCAmJgotCWdpdCAtQyBoZXJlIHdvcmt0cmVlIGxpc3QgfCBzZWQgInMvICAqLyAvZyIgPmFjdHVhbCAmJgorCWdpdCAtQyBoZXJlIHdvcmt0cmVlIGxpc3QgPm91dCAmJgorCXNlZCAicy8gICovIC9nIiA8b3V0ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKQEAgLTQxLDcgKzUxLDcgQEAKIAllY2hvICJIRUFEICQoZ2l0IHJldi1wYXJzZSBIRUFEKSIgPj5leHBlY3QgJiYKIAllY2hvICJicmFuY2ggJChnaXQgc3ltYm9saWMtcmVmIEhFQUQpIiA+PmV4cGVjdCAmJgogCWVjaG8gPj5leHBlY3QgJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBoZXJlICYmIGdpdCB3b3JrdHJlZSBwcnVuZSIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBoZXJlIGFjdHVhbCBleHBlY3QgJiYgZ2l0IHdvcmt0cmVlIHBydW5lIiAmJgogCWdpdCB3b3JrdHJlZSBhZGQgLS1kZXRhY2ggaGVyZSBtYXN0ZXIgJiYKIAllY2hvICJ3b3JrdHJlZSAkKGdpdCAtQyBoZXJlIHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwpIiA+PmV4cGVjdCAmJgogCWVjaG8gIkhFQUQgJChnaXQgcmV2LXBhcnNlIEhFQUQpIiA+PmV4cGVjdCAmJgpAQCAtNjEsMTYgKzcxLDE3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJsaXN0IiBhbGwgd29ya3RyZWVzIGZyb20gYmFyZSBtYWluJyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgdGhlcmUgJiYgZ2l0IC1DIGJhcmUxIHdvcmt0cmVlIHBydW5lIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHRoZXJlIG91dCBhY3R1YWwgZXhwZWN0ICYmIGdpdCAtQyBiYXJlMSB3b3JrdHJlZSBwcnVuZSIgJiYKIAlnaXQgLUMgYmFyZTEgd29ya3RyZWUgYWRkIC0tZGV0YWNoIC4uL3RoZXJlIG1hc3RlciAmJgogCWVjaG8gIiQocHdkKS9iYXJlMSAoYmFyZSkiID5leHBlY3QgJiYKIAllY2hvICIkKGdpdCAtQyB0aGVyZSByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsKSAkKGdpdCAtQyB0aGVyZSByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAoZGV0YWNoZWQgSEVBRCkiID4+ZXhwZWN0ICYmCi0JZ2l0IC1DIGJhcmUxIHdvcmt0cmVlIGxpc3QgfCBzZWQgInMvICAqLyAvZyIgPmFjdHVhbCAmJgorCWdpdCAtQyBiYXJlMSB3b3JrdHJlZSBsaXN0ID5vdXQgJiYKKwlzZWQgInMvICAqLyAvZyIgPG91dCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICcibGlzdCIgYWxsIHdvcmt0cmVlcyAtLXBvcmNlbGFpbiBmcm9tIGJhcmUgbWFpbicgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHRoZXJlICYmIGdpdCAtQyBiYXJlMSB3b3JrdHJlZSBwcnVuZSIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiB0aGVyZSBhY3R1YWwgZXhwZWN0ICYmIGdpdCAtQyBiYXJlMSB3b3JrdHJlZSBwcnVuZSIgJiYKIAlnaXQgLUMgYmFyZTEgd29ya3RyZWUgYWRkIC0tZGV0YWNoIC4uL3RoZXJlIG1hc3RlciAmJgogCWVjaG8gIndvcmt0cmVlICQocHdkKS9iYXJlMSIgPmV4cGVjdCAmJgogCWVjaG8gImJhcmUiID4+ZXhwZWN0ICYmCkBAIC04NCwxMSArOTUsMTIgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnImxpc3QiIGFsbCB3b3JrdHJlZXMgZnJvbSBsaW5rZWQgd2l0aCBhIGJhcmUgbWFpbicgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHRoZXJlICYmIGdpdCAtQyBiYXJlMSB3b3JrdHJlZSBwcnVuZSIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiB0aGVyZSBvdXQgYWN0dWFsIGV4cGVjdCAmJiBnaXQgLUMgYmFyZTEgd29ya3RyZWUgcHJ1bmUiICYmCiAJZ2l0IC1DIGJhcmUxIHdvcmt0cmVlIGFkZCAtLWRldGFjaCAuLi90aGVyZSBtYXN0ZXIgJiYKIAllY2hvICIkKHB3ZCkvYmFyZTEgKGJhcmUpIiA+ZXhwZWN0ICYmCiAJZWNobyAiJChnaXQgLUMgdGhlcmUgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCkgJChnaXQgLUMgdGhlcmUgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgKGRldGFjaGVkIEhFQUQpIiA+PmV4cGVjdCAmJgotCWdpdCAtQyB0aGVyZSB3b3JrdHJlZSBsaXN0IHwgc2VkICJzLyAgKi8gL2ciID5hY3R1YWwgJiYKKwlnaXQgLUMgdGhlcmUgd29ya3RyZWUgbGlzdCA+b3V0ICYmCisJc2VkICJzLyAgKi8gL2ciIDxvdXQgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMTEwLDkgKzEyMiwxMSBAQAogCQljZCBsaW5rZWQgJiYKIAkJZWNobyAid29ya3RyZWUgJChwd2QpIiA+ZXhwZWN0ZWQgJiYKIAkJZWNobyAicmVmOiAuYnJva2VuIiA+Li4vLmdpdC9IRUFEICYmCi0JCWdpdCB3b3JrdHJlZSBsaXN0IC0tcG9yY2VsYWluIHwgaGVhZCAtbiAzID5hY3R1YWwgJiYKKwkJZ2l0IHdvcmt0cmVlIGxpc3QgLS1wb3JjZWxhaW4gPm91dCAmJgorCQloZWFkIC1uIDMgb3V0ID5hY3R1YWwgJiYKIAkJdGVzdF9jbXAgLi4vZXhwZWN0ZWQgYWN0dWFsICYmCi0JCWdpdCB3b3JrdHJlZSBsaXN0IHwgaGVhZCAtbiAxID5hY3R1YWwuMiAmJgorCQlnaXQgd29ya3RyZWUgbGlzdCA+b3V0ICYmCisJCWhlYWQgLW4gMSBvdXQgPmFjdHVhbC4yICYmCiAJCWdyZXAgLUYgIihlcnJvcikiIGFjdHVhbC4yCiAJKQogJwpAQCAtMTI2LDcgKzE0MCw4IEBACiAJCXRlc3RfY29tbWl0IG5ldyAmJgogCQlnaXQgd29ya3RyZWUgYWRkIC4uL2ZpcnN0ICYmCiAJCWdpdCB3b3JrdHJlZSBhZGQgLi4vc2Vjb25kICYmCi0JCWdpdCB3b3JrdHJlZSBsaXN0IC0tcG9yY2VsYWluIHwgZ3JlcCBed29ya3RyZWUgPmFjdHVhbAorCQlnaXQgd29ya3RyZWUgbGlzdCAtLXBvcmNlbGFpbiA+b3V0ICYmCisJCWdyZXAgXndvcmt0cmVlIG91dCA+YWN0dWFsCiAJKSAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCiAJd29ya3RyZWUgJChwd2QpL3NvcnRlZC9tYWluCmRpZmYgLS1naXQgYS90L3QyMjAzLWFkZC1pbnRlbnQuc2ggYi90L3QyMjAzLWFkZC1pbnRlbnQuc2gKaW5kZXggODRhOTAyOC4uMWJkZjM4ZSAxMDA3NTUKLS0tIGEvdC90MjIwMy1hZGQtaW50ZW50LnNoCisrKyBiL3QvdDIyMDMtYWRkLWludGVudC5zaApAQCAtMTI5LDEwICsxMjksMTAgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdDogaXRhIGVudHJpZXMgaWdub3JlZCBpbiBlbXB0eSBpbnRpYWwgY29tbWl0IGNoZWNrJyAnCi0JZ2l0IGluaXQgZW1wdHktaW50aWFsLWNvbW1pdCAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWl0OiBpdGEgZW50cmllcyBpZ25vcmVkIGluIGVtcHR5IGluaXRpYWwgY29tbWl0IGNoZWNrJyAnCisJZ2l0IGluaXQgZW1wdHktaW5pdGlhbC1jb21taXQgJiYKIAkoCi0JCWNkIGVtcHR5LWludGlhbC1jb21taXQgJiYKKwkJY2QgZW1wdHktaW5pdGlhbC1jb21taXQgJiYKIAkJOiA+b25lICYmCiAJCWdpdCBhZGQgLU4gb25lICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLW0gbm90aGluZy1uZXctaGVyZQpkaWZmIC0tZ2l0IGEvdC90MzAwNy1scy1maWxlcy1yZWN1cnNlLXN1Ym1vZHVsZXMuc2ggYi90L3QzMDA3LWxzLWZpbGVzLXJlY3Vyc2Utc3VibW9kdWxlcy5zaAppbmRleCBhNTQyNjE3Li4zMThiNWJjIDEwMDc1NQotLS0gYS90L3QzMDA3LWxzLWZpbGVzLXJlY3Vyc2Utc3VibW9kdWxlcy5zaAorKysgYi90L3QzMDA3LWxzLWZpbGVzLXJlY3Vyc2Utc3VibW9kdWxlcy5zaApAQCAtNzcsMTAgKzc3LDIyIEBACiAJZ2l0IC1DIHN1Ym1vZHVsZS9zdWJzdWIgY29tbWl0IC1tICJhZGQgZCIgJiYKIAlnaXQgLUMgc3VibW9kdWxlIHN1Ym1vZHVsZSBhZGQgLi9zdWJzdWIgJiYKIAlnaXQgLUMgc3VibW9kdWxlIGNvbW1pdCAtbSAiYWRkZWQgc3Vic3ViIiAmJgorCWdpdCBzdWJtb2R1bGUgYWJzb3JiZ2l0ZGlycyAmJgogCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdscy1maWxlcyB3b3JrcyB3aXRoIEdJVF9ESVInICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJLmdpdG1vZHVsZXMKKwljCisJc3Vic3ViL2QKKwlFT0YKKworCWdpdCAtLWdpdC1kaXI9c3VibW9kdWxlLy5naXQgbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWN1cnNlLXN1Ym1vZHVsZXMgYW5kIHBhdGhzcGVjcyBzZXR1cCcgJwogCWVjaG8gZSA+c3VibW9kdWxlL3N1YnN1Yi9lLnR4dCAmJgogCWdpdCAtQyBzdWJtb2R1bGUvc3Vic3ViIGFkZCBlLnR4dCAmJgpAQCAtMTIzLDYgKzEzNSw0NSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5hY3RpdmUgc3VibW9kdWxlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY29uZmlnIC0tYm9vbCBzdWJtb2R1bGUuc3VibW9kdWxlLmFjdGl2ZSB0cnVlIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIHN1Ym1vZHVsZSBjb25maWcgLS1ib29sIHN1Ym1vZHVsZS5zdWJzdWIuYWN0aXZlIHRydWUiICYmCisJZ2l0IGNvbmZpZyAtLWJvb2wgc3VibW9kdWxlLnN1Ym1vZHVsZS5hY3RpdmUgImZhbHNlIiAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS5naXRtb2R1bGVzCisJYQorCWIvYgorCWgudHh0CisJc2liL2ZpbGUKKwlzdWIvZmlsZQorCXN1Ym1vZHVsZQorCUVPRgorCisJZ2l0IGxzLWZpbGVzIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlnaXQgY29uZmlnIC0tYm9vbCBzdWJtb2R1bGUuc3VibW9kdWxlLmFjdGl2ZSAidHJ1ZSIgJiYKKwlnaXQgLUMgc3VibW9kdWxlIGNvbmZpZyAtLWJvb2wgc3VibW9kdWxlLnN1YnN1Yi5hY3RpdmUgImZhbHNlIiAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS5naXRtb2R1bGVzCisJYQorCWIvYgorCWgudHh0CisJc2liL2ZpbGUKKwlzdWIvZmlsZQorCXN1Ym1vZHVsZS8uZ2l0bW9kdWxlcworCXN1Ym1vZHVsZS9jCisJc3VibW9kdWxlL2YuVFhUCisJc3VibW9kdWxlL2cudHh0CisJc3VibW9kdWxlL3N1YnN1YgorCUVPRgorCisJZ2l0IGxzLWZpbGVzIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmVjdXJzZS1zdWJtb2R1bGVzIGFuZCBwYXRoc3BlY3MnICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCiAJaC50eHQKQEAgLTE4OCw2ICsyMzksNDUgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmVjdXJzZS1zdWJtb2R1bGVzIGFuZCByZWxhdGl2ZSBwYXRocycgJworCSMgRnJvbSBzdWJkaXIKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJYgorCUVPRgorCWdpdCAtQyBiIGxzLWZpbGVzIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIFJlbGF0aXZlIHBhdGggdG8gdG9wCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS4uLy5naXRtb2R1bGVzCisJLi4vYQorCWIKKwkuLi9oLnR4dAorCS4uL3NpYi9maWxlCisJLi4vc3ViL2ZpbGUKKwkuLi9zdWJtb2R1bGUvLmdpdG1vZHVsZXMKKwkuLi9zdWJtb2R1bGUvYworCS4uL3N1Ym1vZHVsZS9mLlRYVAorCS4uL3N1Ym1vZHVsZS9nLnR4dAorCS4uL3N1Ym1vZHVsZS9zdWJzdWIvZAorCS4uL3N1Ym1vZHVsZS9zdWJzdWIvZS50eHQKKwlFT0YKKwlnaXQgLUMgYiBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtLSAuLiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJIyBSZWxhdGl2ZSBwYXRoIHRvIHN1Ym1vZHVsZQorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkuLi9zdWJtb2R1bGUvLmdpdG1vZHVsZXMKKwkuLi9zdWJtb2R1bGUvYworCS4uL3N1Ym1vZHVsZS9mLlRYVAorCS4uL3N1Ym1vZHVsZS9nLnR4dAorCS4uL3N1Ym1vZHVsZS9zdWJzdWIvZAorCS4uL3N1Ym1vZHVsZS9zdWJzdWIvZS50eHQKKwlFT0YKKwlnaXQgLUMgYiBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtLSAuLi9zdWJtb2R1bGUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWN1cnNlLXN1Ym1vZHVsZXMgZG9lcyBub3Qgc3VwcG9ydCAtLWVycm9yLXVubWF0Y2gnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1lcnJvci11bm1hdGNoIDI+YWN0dWFsICYmCiAJdGVzdF9pMThuZ3JlcCAiZG9lcyBub3Qgc3VwcG9ydCAtLWVycm9yLXVubWF0Y2giIGFjdHVhbApkaWZmIC0tZ2l0IGEvdC90MzAwOC1scy1maWxlcy1sYXp5LWluaXQtbmFtZS1oYXNoLnNoIGIvdC90MzAwOC1scy1maWxlcy1sYXp5LWluaXQtbmFtZS1oYXNoLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJkZjUxOTgKLS0tIC9kZXYvbnVsbAorKysgYi90L3QzMDA4LWxzLWZpbGVzLWxhenktaW5pdC1uYW1lLWhhc2guc2gKQEAgLTAsMCArMSwyNyBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J1Rlc3QgdGhlIGxhenkgaW5pdCBuYW1lIGhhc2ggd2l0aCB2YXJpb3VzIGZvbGRlciBzdHJ1Y3R1cmVzJworCisuIC4vdGVzdC1saWIuc2gKKworaWYgdGVzdCAxIC1lcSAkKCRHSVRfQlVJTERfRElSL3QvaGVscGVyL3Rlc3Qtb25saW5lLWNwdXMpCit0aGVuCisJc2tpcF9hbGw9J3NraXBwaW5nIGxhenktaW5pdCB0ZXN0cywgc2luZ2xlIGNwdScKKwl0ZXN0X2RvbmUKK2ZpCisKK0xBWllfVEhSRUFEX0NPU1Q9MjAwMAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBidWZmZXIgb3ZlcmZsb3cgaW4gbGF6eV9pbml0X25hbWVfaGFzaCcgJworCSgKKwkgICAgdGVzdF9zZXEgJExBWllfVEhSRUFEX0NPU1QgfCBzZWQgInMvXi9hXy8iCisJICAgIGVjaG8gYi9iL2IKKwkgICAgdGVzdF9zZXEgJExBWllfVEhSRUFEX0NPU1QgfCBzZWQgInMvXi9jXy8iCisJICAgIHRlc3Rfc2VxIDUwIHwgc2VkICJzL14vZF8vIiB8IHRyICJcbiIgIi8iOyBlY2hvIGQKKwkpIHwKKwlzZWQgInMvXi8xMDA2NDQgJEVNUFRZX0JMT0IJLyIgfAorCWdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvICYmCisJdGVzdC1sYXp5LWluaXQtbmFtZS1oYXNoIC1tCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzA3MC13aWxkbWF0Y2guc2ggYi90L3QzMDcwLXdpbGRtYXRjaC5zaAppbmRleCBlZjUwOWRmLi4xNjNhMTRhIDEwMDc1NQotLS0gYS90L3QzMDcwLXdpbGRtYXRjaC5zaAorKysgYi90L3QzMDcwLXdpbGRtYXRjaC5zaApAQCAtODIsNiArODIsNyBAQAogbWF0Y2ggMSAwICdmb28vYmFyJyAnZm9vLyoqLyoqL2JhcicKIG1hdGNoIDAgMCAnZm9vL2JhcicgJ2Zvbz9iYXInCiBtYXRjaCAwIDAgJ2Zvby9iYXInICdmb29bL11iYXInCittYXRjaCAwIDAgJ2Zvby9iYXInICdmb29bXmEtel1iYXInCiBtYXRjaCAwIDAgJ2Zvby9iYXInICdmW15laXVdW15laXVdW15laXVdW15laXVdW15laXVdcicKIG1hdGNoIDEgMSAnZm9vLWJhcicgJ2ZbXmVpdV1bXmVpdV1bXmVpdV1bXmVpdV1bXmVpdV1yJwogbWF0Y2ggMSAwICdmb28nICcqKi9mb28nCkBAIC0xMzUsNyArMTM2LDYgQEAKIG1hdGNoIDEgeCAnZicgJ1tbOnhkaWdpdDpdXScKIG1hdGNoIDEgeCAnRCcgJ1tbOnhkaWdpdDpdXScKIG1hdGNoIDEgeCAnXycgJ1tbOmFsbnVtOl1bOmFscGhhOl1bOmJsYW5rOl1bOmNudHJsOl1bOmRpZ2l0Ol1bOmdyYXBoOl1bOmxvd2VyOl1bOnByaW50Ol1bOnB1bmN0Ol1bOnNwYWNlOl1bOnVwcGVyOl1bOnhkaWdpdDpdXScKLW1hdGNoIDEgeCAnXycgJ1tbOmFsbnVtOl1bOmFscGhhOl1bOmJsYW5rOl1bOmNudHJsOl1bOmRpZ2l0Ol1bOmdyYXBoOl1bOmxvd2VyOl1bOnByaW50Ol1bOnB1bmN0Ol1bOnNwYWNlOl1bOnVwcGVyOl1bOnhkaWdpdDpdXScKIG1hdGNoIDEgeCAnLicgJ1teWzphbG51bTpdWzphbHBoYTpdWzpibGFuazpdWzpjbnRybDpdWzpkaWdpdDpdWzpsb3dlcjpdWzpzcGFjZTpdWzp1cHBlcjpdWzp4ZGlnaXQ6XV0nCiBtYXRjaCAxIHggJzUnICdbYS1jWzpkaWdpdDpdeC16XScKIG1hdGNoIDEgeCAnYicgJ1thLWNbOmRpZ2l0Ol14LXpdJwpAQCAtMjI2LDYgKzIyNiw3IEBACiBwYXRobWF0Y2ggMCBmb28vYmJhL2FyciAnZm9vLyoqeicKIHBhdGhtYXRjaCAxIGZvby9iYXIgJ2Zvbz9iYXInCiBwYXRobWF0Y2ggMSBmb28vYmFyICdmb29bL11iYXInCitwYXRobWF0Y2ggMSBmb28vYmFyICdmb29bXmEtel1iYXInCiBwYXRobWF0Y2ggMCBmb28gJyovKi8qJwogcGF0aG1hdGNoIDAgZm9vL2JhciAnKi8qLyonCiBwYXRobWF0Y2ggMSBmb28vYmJhL2FyciAnKi8qLyonCkBAIC0yMzQsNyArMjM1LDcgQEAKIHBhdGhtYXRjaCAxIGFiL2NYZC9lZlhnL2hpICcqLypYKi8qLyppJwogcGF0aG1hdGNoIDEgYWIvY1hkL2VmWGcvaGkgJypYZyppJwogCi0jIENhc2Utc2Vuc2l0aXZ5IGZlYXR1cmVzCisjIENhc2Utc2Vuc2l0aXZpdHkgZmVhdHVyZXMKIG1hdGNoIDAgeCAnYScgJ1tBLVpdJwogbWF0Y2ggMSB4ICdBJyAnW0EtWl0nCiBtYXRjaCAwIHggJ0EnICdbYS16XScKZGlmZiAtLWdpdCBhL3QvdDMyMDAtYnJhbmNoLnNoIGIvdC90MzIwMC1icmFuY2guc2gKaW5kZXggOGE4MzNmMy4uM2FjN2ViZiAxMDA3NTUKLS0tIGEvdC90MzIwMC1icmFuY2guc2gKKysrIGIvdC90MzIwMC1icmFuY2guc2gKQEAgLTEwMCw2ICsxMDAsMjMgQEAKIAlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL24KICcKIAorIyBUaGUgdG9wbW9zdCBlbnRyeSBpbiByZWZsb2cgZm9yIGJyYW5jaCBiYmIgaXMgYWJvdXQgYnJhbmNoIGNyZWF0aW9uLgorIyBIZW5jZSwgd2UgY29tcGFyZSBiYmJAezF9IChpbnN0ZWFkIG9mIGJiYkB7MH0pIHdpdGggYWFhQHswfS4KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtbSBiYmIgc2hvdWxkIHJlbmFtZSBjaGVja2VkIG91dCBicmFuY2gnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IGJyYW5jaCAtRCBiYmIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCBjaGVja291dCAtYiBhYWEgJiYKKwlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gImEgbmV3IGNvbW1pdCIgJiYKKwlnaXQgcmV2LXBhcnNlIGFhYUB7MH0gPmV4cGVjdCAmJgorCWdpdCBicmFuY2ggLW0gYmJiICYmCisJZ2l0IHJldi1wYXJzZSBiYmJAezF9ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHN5bWJvbGljLXJlZiBIRUFEID5hY3R1YWwgJiYKKwllY2hvIHJlZnMvaGVhZHMvYmJiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLW0gby9vIG8gc2hvdWxkIGZhaWwgd2hlbiBvL3AgZXhpc3RzJyAnCiAJZ2l0IGJyYW5jaCBvL28gJiYKIAlnaXQgYnJhbmNoIG8vcCAmJgpAQCAtMTM5LDYgKzE1NiwzNSBAQAogCXRlc3QgJChnaXQgcmV2LXBhcnNlIC0tYWJicmV2LXJlZiBIRUFEKSA9IGJhbQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC1NIGJheiBiYW0gc2hvdWxkIGFkZCBlbnRyaWVzIHRvIC5naXQvbG9ncy9IRUFEJyAnCisJbXNnPSJCcmFuY2g6IHJlbmFtZWQgcmVmcy9oZWFkcy9iYXogdG8gcmVmcy9oZWFkcy9iYW0iICYmCisJZ3JlcCAiIDBcezQwXH0uKiRtc2ckIiAuZ2l0L2xvZ3MvSEVBRCAmJgorCWdyZXAgIl4wXHs0MFx9LiokbXNnJCIgLmdpdC9sb2dzL0hFQUQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtTSBzaG91bGQgbGVhdmUgb3JwaGFuZWQgSEVBRCBhbG9uZScgJworCWdpdCBpbml0IG9ycGhhbiAmJgorCSgKKwkJY2Qgb3JwaGFuICYmCisJCXRlc3RfY29tbWl0IGluaXRpYWwgJiYKKwkJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIGxvbmVseSAmJgorCQlncmVwIGxvbmVseSAuZ2l0L0hFQUQgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9yZWZzL2hlYWQvbG9uZWx5ICYmCisJCWdpdCBicmFuY2ggLU0gbWFzdGVyIG1pc3RyZXNzICYmCisJCWdyZXAgbG9uZWx5IC5naXQvSEVBRAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzdWx0aW5nIHJlZmxvZyBjYW4gYmUgc2hvd24gYnkgbG9nIC1nJyAnCisJb2lkPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCUhFQURAezB9ICRvaWQgJG1zZworCUhFQURAezJ9ICRvaWQgY2hlY2tvdXQ6IG1vdmluZyBmcm9tIGZvbyB0byBiYXoKKwlFT0YKKwlnaXQgbG9nIC1nIC0tZm9ybWF0PSIlZ2QgJUggJWdzIiAtMiBIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLU0gYmF6IGJhbSBzaG91bGQgc3VjY2VlZCB3aGVuIGJheiBpcyBjaGVja2VkIG91dCBhcyBsaW5rZWQgd29ya2luZyB0cmVlJyAnCiAJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgogCWdpdCB3b3JrdHJlZSBhZGQgLWIgYmF6IGJhemRpciAmJgpAQCAtMjA3LDYgKzI1MywzMSBAQAogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcmVmcy9oZWFkcy90CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLS1saXN0IC12IHdpdGggLS1hYmJyZXYnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBicmFuY2ggLUQgdCIgJiYKKwlnaXQgYnJhbmNoIHQgJiYKKwlnaXQgYnJhbmNoIC12IC0tbGlzdCB0ID5hY3R1YWwuZGVmYXVsdCAmJgorCWdpdCBicmFuY2ggLXYgLS1saXN0IC0tYWJicmV2IHQgPmFjdHVhbC5hYmJyZXYgJiYKKwl0ZXN0X2NtcCBhY3R1YWwuZGVmYXVsdCBhY3R1YWwuYWJicmV2ICYmCisKKwlnaXQgYnJhbmNoIC12IC0tbGlzdCAtLW5vLWFiYnJldiB0ID5hY3R1YWwubm9hYmJyZXYgJiYKKwlnaXQgYnJhbmNoIC12IC0tbGlzdCAtLWFiYnJldj0wIHQgPmFjdHVhbC4wYWJicmV2ICYmCisJdGVzdF9jbXAgYWN0dWFsLm5vYWJicmV2IGFjdHVhbC4wYWJicmV2ICYmCisKKwlnaXQgYnJhbmNoIC12IC0tbGlzdCAtLWFiYnJldj0zNiB0ID5hY3R1YWwuMzZhYmJyZXYgJiYKKwkjIGhvdyBtYW55IGhleGRpZ2l0cyBhcmUgdXNlZD8KKwlyZWFkIG5hbWUgb2JqZGVmYXVsdCByZXN0IDxhY3R1YWwuYWJicmV2ICYmCisJcmVhZCBuYW1lIG9iajM2IHJlc3QgPGFjdHVhbC4zNmFiYnJldiAmJgorCW9iamZ1bGw9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHQpICYmCisKKwkjIGFyZSB3ZSByZWFsbHkgZ2V0dGluZyBhYmJyZXZpYXRpb25zPworCXRlc3QgIiRvYmozNiIgIT0gIiRvYmpkZWZhdWx0IiAmJgorCWV4cHIgIiRvYmozNiIgOiAiJG9iamRlZmF1bHQiID4vZGV2L251bGwgJiYKKwl0ZXN0ICIkb2JqZnVsbCIgIT0gIiRvYmozNiIgJiYKKwlleHByICIkb2JqZnVsbCIgOiAiJG9iajM2IiA+L2Rldi9udWxsCisKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtLWNvbHVtbicgJwogCUNPTFVNTlM9ODEgZ2l0IGJyYW5jaCAtLWNvbHVtbj1jb2x1bW4gPmFjdHVhbCAmJgogCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCkBAIC0zMDcsNyArMzc4LDI2MyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25maWcgaW5mb3JtYXRpb24gd2FzIHJlbmFtZWQsIHRvbycgJwogCXRlc3QgJChnaXQgY29uZmlnIGJyYW5jaC5zLmR1bW15KSA9IEhlbGxvICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyBicmFuY2gucy9zL2R1bW15CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyBicmFuY2gucy9zLmR1bW15CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLW0gY29ycmVjdGx5IHJlbmFtZXMgbXVsdGlwbGUgY29uZmlnIHNlY3Rpb25zJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgorCWdpdCBjaGVja291dCAtYiBzb3VyY2UgbWFzdGVyICYmCisKKwkjIEFzc2VydCB0aGF0IGEgY29uZmlnIGZpbGUgd2l0aCBtdWx0aXBsZSBjb25maWcgc2VjdGlvbnMgaGFzCisJIyB0aG9zZSBzZWN0aW9ucyBwcmVzZXJ2ZWQuLi4KKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJYnJhbmNoLmRlc3Qua2V5MT12YWx1ZTEKKwlzb21lLmdhci5iPWFnZQorCWJyYW5jaC5kZXN0LmtleTI9dmFsdWUyCisJRU9GCisJY2F0ID5jb25maWcuYnJhbmNoIDw8XEVPRiAmJgorOzsgTm90ZSB0aGUgbGFjayBvZiAtXEVPRiBhYm92ZSAmIG1peGVkIGluZGVudGluZyBoZXJlLiBUaGlzIGlzCis7OyBpbnRlbnRpb25hbCwgd2UgYXJlIGFsc28gdGVzdGluZyB0aGF0IHRoZSBmb3JtYXR0aW5nIG9mIGNvcGllZAorOzsgc2VjdGlvbnMgaXMgcHJlc2VydmVkLgorCis7OyBDb21tZW50IGZvciBzb3VyY2UuIFRhYnMKK1ticmFuY2ggInNvdXJjZSJdCisJOzsgQ29tbWVudCBmb3IgdGhlIHNvdXJjZSB2YWx1ZQorCWtleTEgPSB2YWx1ZTEKKzs7IENvbW1lbnQgZm9yIHNvbWUuZ2FyLiBTcGFjZXMKK1tzb21lICJnYXIiXQorICAgIDs7IENvbW1lbnQgZm9yIHRoZSBzb21lLmdhciB2YWx1ZQorICAgIGIgPSBhZ2UKKzs7IENvbW1lbnQgZm9yIHNvdXJjZSwgYWdhaW4uIE1peGVkIHRhYnMvc3BhY2VzLgorW2JyYW5jaCAic291cmNlIl0KKyAgICA7OyBDb21tZW50IGZvciB0aGUgc291cmNlIHZhbHVlLCBhZ2FpbgorCWtleTIgPSB2YWx1ZTIKK0VPRgorCWNhdCBjb25maWcuYnJhbmNoID4+LmdpdC9jb25maWcgJiYKKwlnaXQgYnJhbmNoIC1tIHNvdXJjZSBkZXN0ICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0L2NvbmZpZyAtbCB8IGdyZXAgLUYgLWUgc291cmNlIC1lIGRlc3QgLWUgc29tZS5nYXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCSMgLi4uYW5kIHRoYXQgdGhlIGNvbW1lbnRzIGZvciB0aG9zZSBzZWN0aW9ucyBhcmUgYWxzbworCSMgcHJlc2VydmVkLgorCWNhdCBjb25maWcuYnJhbmNoIHwgc2VkICJzL1wic291cmNlXCIvXCJkZXN0XCIvIiA+ZXhwZWN0ICYmCisJc2VkIC1uIC1lICIvTm90ZSB0aGUgbGFjay8sXCRwIiAuZ2l0L2NvbmZpZyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC1jIGR1bXBzIHVzYWdlJyAnCisJdGVzdF9leHBlY3RfY29kZSAxMjggZ2l0IGJyYW5jaCAtYyAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgImJyYW5jaCBuYW1lIHJlcXVpcmVkIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtLWNvcHkgZHVtcHMgdXNhZ2UnICcKKwl0ZXN0X2V4cGVjdF9jb2RlIDEyOCBnaXQgYnJhbmNoIC0tY29weSAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgImJyYW5jaCBuYW1lIHJlcXVpcmVkIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtYyBkIGUgc2hvdWxkIHdvcmsnICcKKwlnaXQgYnJhbmNoIC1sIGQgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2QgJiYKKwlnaXQgY29uZmlnIGJyYW5jaC5kLmR1bW15IEhlbGxvICYmCisJZ2l0IGJyYW5jaCAtYyBkIGUgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2QgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2UgJiYKKwllY2hvIEhlbGxvID5leHBlY3QgJiYKKwlnaXQgY29uZmlnIGJyYW5jaC5lLmR1bW15ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZWNobyBIZWxsbyA+ZXhwZWN0ICYmCisJZ2l0IGNvbmZpZyBicmFuY2guZC5kdW1teSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC0tY29weSBpcyBhIHN5bm9ueW0gZm9yIC1jJyAnCisJZ2l0IGJyYW5jaCAtbCBjb3B5ICYmCisJZ2l0IHJlZmxvZyBleGlzdHMgcmVmcy9oZWFkcy9jb3B5ICYmCisJZ2l0IGNvbmZpZyBicmFuY2guY29weS5kdW1teSBIZWxsbyAmJgorCWdpdCBicmFuY2ggLS1jb3B5IGNvcHkgY29weS10byAmJgorCWdpdCByZWZsb2cgZXhpc3RzIHJlZnMvaGVhZHMvY29weSAmJgorCWdpdCByZWZsb2cgZXhpc3RzIHJlZnMvaGVhZHMvY29weS10byAmJgorCWVjaG8gSGVsbG8gPmV4cGVjdCAmJgorCWdpdCBjb25maWcgYnJhbmNoLmNvcHkuZHVtbXkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwllY2hvIEhlbGxvID5leHBlY3QgJiYKKwlnaXQgY29uZmlnIGJyYW5jaC5jb3B5LXRvLmR1bW15ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLWMgZWUgZWYgc2hvdWxkIGNvcHkgZWUgdG8gY3JlYXRlIGJyYW5jaCBlZicgJworCWdpdCBjaGVja291dCAtYiBlZSAmJgorCWdpdCByZWZsb2cgZXhpc3RzIHJlZnMvaGVhZHMvZWUgJiYKKwlnaXQgY29uZmlnIGJyYW5jaC5lZS5kdW1teSBIZWxsbyAmJgorCWdpdCBicmFuY2ggLWMgZWUgZWYgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2VlICYmCisJZ2l0IHJlZmxvZyBleGlzdHMgcmVmcy9oZWFkcy9lZiAmJgorCXRlc3QgJChnaXQgY29uZmlnIGJyYW5jaC5lZS5kdW1teSkgPSBIZWxsbyAmJgorCXRlc3QgJChnaXQgY29uZmlnIGJyYW5jaC5lZi5kdW1teSkgPSBIZWxsbyAmJgorCXRlc3QgJChnaXQgcmV2LXBhcnNlIC0tYWJicmV2LXJlZiBIRUFEKSA9IGVlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLWMgZi9mIGcvZyBzaG91bGQgd29yaycgJworCWdpdCBicmFuY2ggLWwgZi9mICYmCisJZ2l0IHJlZmxvZyBleGlzdHMgcmVmcy9oZWFkcy9mL2YgJiYKKwlnaXQgY29uZmlnIGJyYW5jaC5mL2YuZHVtbXkgSGVsbG8gJiYKKwlnaXQgYnJhbmNoIC1jIGYvZiBnL2cgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2YvZiAmJgorCWdpdCByZWZsb2cgZXhpc3RzIHJlZnMvaGVhZHMvZy9nICYmCisJdGVzdCAkKGdpdCBjb25maWcgYnJhbmNoLmYvZi5kdW1teSkgPSBIZWxsbyAmJgorCXRlc3QgJChnaXQgY29uZmlnIGJyYW5jaC5nL2cuZHVtbXkpID0gSGVsbG8KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtYyBtMiBtMiBzaG91bGQgd29yaycgJworCWdpdCBicmFuY2ggLWwgbTIgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL20yICYmCisJZ2l0IGNvbmZpZyBicmFuY2gubTIuZHVtbXkgSGVsbG8gJiYKKwlnaXQgYnJhbmNoIC1jIG0yIG0yICYmCisJZ2l0IHJlZmxvZyBleGlzdHMgcmVmcy9oZWFkcy9tMiAmJgorCXRlc3QgJChnaXQgY29uZmlnIGJyYW5jaC5tMi5kdW1teSkgPSBIZWxsbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC1jIHp6IHp6L3p6IHNob3VsZCBmYWlsJyAnCisJZ2l0IGJyYW5jaCAtbCB6eiAmJgorCWdpdCByZWZsb2cgZXhpc3RzIHJlZnMvaGVhZHMvenogJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgYnJhbmNoIC1jIHp6IHp6L3p6CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLWMgYi9iIGIgc2hvdWxkIGZhaWwnICcKKwlnaXQgYnJhbmNoIC1sIGIvYiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBicmFuY2ggLWMgYi9iIGIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtQyBvL3Egby9wIHNob3VsZCB3b3JrIHdoZW4gby9wIGV4aXN0cycgJworCWdpdCBicmFuY2ggLWwgby9xICYmCisJZ2l0IHJlZmxvZyBleGlzdHMgcmVmcy9oZWFkcy9vL3EgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL28vcCAmJgorCWdpdCBicmFuY2ggLUMgby9xIG8vcAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC1jIC1mIG8vcSBvL3Agc2hvdWxkIHdvcmsgd2hlbiBvL3AgZXhpc3RzJyAnCisJZ2l0IHJlZmxvZyBleGlzdHMgcmVmcy9oZWFkcy9vL3EgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL28vcCAmJgorCWdpdCBicmFuY2ggLWMgLWYgby9xIG8vcAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC1jIHFxIHJyL3FxIHNob3VsZCBmYWlsIHdoZW4gciBleGlzdHMnICcKKwlnaXQgYnJhbmNoIHFxICYmCisJZ2l0IGJyYW5jaCByciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBicmFuY2ggLWMgcXEgcnIvcXEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtQyBiMSBiMiBzaG91bGQgZmFpbCB3aGVuIGIyIGlzIGNoZWNrZWQgb3V0JyAnCisJZ2l0IGJyYW5jaCBiMSAmJgorCWdpdCBjaGVja291dCAtYiBiMiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBicmFuY2ggLUMgYjEgYjIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtQyBjMSBjMiBzaG91bGQgc3VjY2VlZCB3aGVuIGMxIGlzIGNoZWNrZWQgb3V0JyAnCisJZ2l0IGNoZWNrb3V0IC1iIGMxICYmCisJZ2l0IGJyYW5jaCBjMiAmJgorCWdpdCBicmFuY2ggLUMgYzEgYzIgJiYKKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSAtLWFiYnJldi1yZWYgSEVBRCkgPSBjMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC1DIGMxIGMyIHNob3VsZCBuZXZlciB0b3VjaCBIRUFEJyAnCisJbXNnPSJCcmFuY2g6IGNvcGllZCByZWZzL2hlYWRzL2MxIHRvIHJlZnMvaGVhZHMvYzIiICYmCisJISBncmVwICIkbXNnJCIgLmdpdC9sb2dzL0hFQUQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtQyBtYXN0ZXIgc2hvdWxkIHdvcmsgd2hlbiBtYXN0ZXIgaXMgY2hlY2tlZCBvdXQnICcKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJZ2l0IGJyYW5jaCAtQyBtYXN0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtQyBtYXN0ZXIgbWFzdGVyIHNob3VsZCB3b3JrIHdoZW4gbWFzdGVyIGlzIGNoZWNrZWQgb3V0JyAnCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCBicmFuY2ggLUMgbWFzdGVyIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC1DIG1hc3RlcjUgbWFzdGVyNSBzaG91bGQgd29yayB3aGVuIG1hc3RlciBpcyBjaGVja2VkIG91dCcgJworCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgYnJhbmNoIG1hc3RlcjUgJiYKKwlnaXQgYnJhbmNoIC1DIG1hc3RlcjUgbWFzdGVyNQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC1DIGFiIGNkIHNob3VsZCBvdmVyd3JpdGUgZXhpc3RpbmcgY29uZmlnIGZvciBjZCcgJworCWdpdCBicmFuY2ggLWwgY2QgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2NkICYmCisJZ2l0IGNvbmZpZyBicmFuY2guY2QuZHVtbXkgQ0QgJiYKKwlnaXQgYnJhbmNoIC1sIGFiICYmCisJZ2l0IHJlZmxvZyBleGlzdHMgcmVmcy9oZWFkcy9hYiAmJgorCWdpdCBjb25maWcgYnJhbmNoLmFiLmR1bW15IEFCICYmCisJZ2l0IGJyYW5jaCAtQyBhYiBjZCAmJgorCWdpdCByZWZsb2cgZXhpc3RzIHJlZnMvaGVhZHMvYWIgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2NkICYmCisJdGVzdCAkKGdpdCBjb25maWcgYnJhbmNoLmFiLmR1bW15KSA9IEFCICYmCisJdGVzdCAkKGdpdCBjb25maWcgYnJhbmNoLmNkLmR1bW15KSA9IEFCCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLWMgY29ycmVjdGx5IGNvcGllcyBtdWx0aXBsZSBjb25maWcgc2VjdGlvbnMnICcKKwlGT089MSAmJgorCWV4cG9ydCBGT08gJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVja291dCBtYXN0ZXIiICYmCisJZ2l0IGNoZWNrb3V0IC1iIHNvdXJjZTIgbWFzdGVyICYmCisKKwkjIEFzc2VydCB0aGF0IGEgY29uZmlnIGZpbGUgd2l0aCBtdWx0aXBsZSBjb25maWcgc2VjdGlvbnMgaGFzCisJIyB0aG9zZSBzZWN0aW9ucyBwcmVzZXJ2ZWQuLi4KKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJYnJhbmNoLnNvdXJjZTIua2V5MT12YWx1ZTEKKwlicmFuY2guZGVzdDIua2V5MT12YWx1ZTEKKwltb3JlLmdhci5iPWFnZQorCWJyYW5jaC5zb3VyY2UyLmtleTI9dmFsdWUyCisJYnJhbmNoLmRlc3QyLmtleTI9dmFsdWUyCisJRU9GCisJY2F0ID5jb25maWcuYnJhbmNoIDw8XEVPRiAmJgorOzsgTm90ZSB0aGUgbGFjayBvZiAtXEVPRiBhYm92ZSAmIG1peGVkIGluZGVudGluZyBoZXJlLiBUaGlzIGlzCis7OyBpbnRlbnRpb25hbCwgd2UgYXJlIGFsc28gdGVzdGluZyB0aGF0IHRoZSBmb3JtYXR0aW5nIG9mIGNvcGllZAorOzsgc2VjdGlvbnMgaXMgcHJlc2VydmVkLgorCis7OyBDb21tZW50IGZvciBzb3VyY2UyLiBUYWJzCitbYnJhbmNoICJzb3VyY2UyIl0KKwk7OyBDb21tZW50IGZvciB0aGUgc291cmNlMiB2YWx1ZQorCWtleTEgPSB2YWx1ZTEKKzs7IENvbW1lbnQgZm9yIG1vcmUuZ2FyLiBTcGFjZXMKK1ttb3JlICJnYXIiXQorICAgIDs7IENvbW1lbnQgZm9yIHRoZSBtb3JlLmdhciB2YWx1ZQorICAgIGIgPSBhZ2UKKzs7IENvbW1lbnQgZm9yIHNvdXJjZTIsIGFnYWluLiBNaXhlZCB0YWJzL3NwYWNlcy4KK1ticmFuY2ggInNvdXJjZTIiXQorICAgIDs7IENvbW1lbnQgZm9yIHRoZSBzb3VyY2UyIHZhbHVlLCBhZ2FpbgorCWtleTIgPSB2YWx1ZTIKK0VPRgorCWNhdCBjb25maWcuYnJhbmNoID4+LmdpdC9jb25maWcgJiYKKwlnaXQgYnJhbmNoIC1jIHNvdXJjZTIgZGVzdDIgJiYKKwlnaXQgY29uZmlnIC1mIC5naXQvY29uZmlnIC1sIHwgZ3JlcCAtRiAtZSBzb3VyY2UyIC1lIGRlc3QyIC1lIG1vcmUuZ2FyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIC4uLmFuZCB0aGF0IHRoZSBjb21tZW50cyBhbmQgZm9ybWF0dGluZyBmb3IgdGhvc2Ugc2VjdGlvbnMKKwkjIGlzIGFsc28gcHJlc2VydmVkLgorCWNhdCA+ZXhwZWN0IDw8XEVPRiAmJgorOzsgQ29tbWVudCBmb3Igc291cmNlMi4gVGFicworW2JyYW5jaCAic291cmNlMiJdCisJOzsgQ29tbWVudCBmb3IgdGhlIHNvdXJjZTIgdmFsdWUKKwlrZXkxID0gdmFsdWUxCis7OyBDb21tZW50IGZvciBtb3JlLmdhci4gU3BhY2VzCitbYnJhbmNoICJkZXN0MiJdCisJOzsgQ29tbWVudCBmb3IgdGhlIHNvdXJjZTIgdmFsdWUKKwlrZXkxID0gdmFsdWUxCis7OyBDb21tZW50IGZvciBtb3JlLmdhci4gU3BhY2VzCitbbW9yZSAiZ2FyIl0KKyAgICA7OyBDb21tZW50IGZvciB0aGUgbW9yZS5nYXIgdmFsdWUKKyAgICBiID0gYWdlCis7OyBDb21tZW50IGZvciBzb3VyY2UyLCBhZ2Fpbi4gTWl4ZWQgdGFicy9zcGFjZXMuCitbYnJhbmNoICJzb3VyY2UyIl0KKyAgICA7OyBDb21tZW50IGZvciB0aGUgc291cmNlMiB2YWx1ZSwgYWdhaW4KKwlrZXkyID0gdmFsdWUyCitbYnJhbmNoICJkZXN0MiJdCisgICAgOzsgQ29tbWVudCBmb3IgdGhlIHNvdXJjZTIgdmFsdWUsIGFnYWluCisJa2V5MiA9IHZhbHVlMgorRU9GCisJc2VkIC1uIC1lICIvQ29tbWVudCBmb3Igc291cmNlMi8sXCRwIiAuZ2l0L2NvbmZpZyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGluZyBhIHN5bXJlZicgJwpAQCAtNTAxLDYgKzgyOCw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2UgLS1zZXQtdXBzdHJlYW0tdG8gbW9kaWZ5IGEgcGFydGljdWxhciBicmFuY2gnICcKIAlnaXQgYnJhbmNoIG15MTMgJiYKIAlnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIG1hc3RlciBteTEzICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW0gbXkxMyIgJiYKIAl0ZXN0ICIkKGdpdCBjb25maWcgYnJhbmNoLm15MTMucmVtb3RlKSIgPSAiLiIgJiYKIAl0ZXN0ICIkKGdpdCBjb25maWcgYnJhbmNoLm15MTMubWVyZ2UpIiA9ICJyZWZzL2hlYWRzL21hc3RlciIKICcKQEAgLTU0NiwzOCArODc0LDggQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIGJyYW5jaC5teTE0Lm1lcmdlCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2V0LXVwc3RyZWFtIHNob3dzIG1lc3NhZ2Ugd2hlbiBjcmVhdGluZyBhIG5ldyBicmFuY2ggdGhhdCBleGlzdHMgYXMgcmVtb3RlLXRyYWNraW5nJyAnCi0JZ2l0IHVwZGF0ZS1yZWYgcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIgSEVBRCAmJgotCWdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0gb3JpZ2luL21hc3RlciAyPmFjdHVhbCAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgdXBkYXRlLXJlZiAtZCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgYnJhbmNoIC1kIG9yaWdpbi9tYXN0ZXIgJiYKLQljYXQgPmV4cGVjdGVkIDw8RU9GICYmCi1UaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tdHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG8KLQotSWYgeW91IHdhbnRlZCB0byBtYWtlICciJ21hc3RlciciJyB0cmFjayAnIidvcmlnaW4vbWFzdGVyJyInLCBkbyB0aGlzOgotCi0gICAgZ2l0IGJyYW5jaCAtZCBvcmlnaW4vbWFzdGVyCi0gICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBvcmlnaW4vbWFzdGVyCi1FT0YKLQl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2V0LXVwc3RyZWFtIHdpdGggdHdvIGFyZ3Mgb25seSBzaG93cyB0aGUgZGVwcmVjYXRpb24gbWVzc2FnZScgJwotCWdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0gbWFzdGVyIG15MTMgMj5hY3R1YWwgJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtIG1hc3RlciAmJgotCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKLVRoZSAtLXNldC11cHN0cmVhbSBmbGFnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gQ29uc2lkZXIgdXNpbmcgLS10cmFjayBvciAtLXNldC11cHN0cmVhbS10bwotRU9GCi0JdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNldC11cHN0cmVhbSB3aXRoIG9uZSBhcmcgb25seSBzaG93cyB0aGUgZGVwcmVjYXRpb24gbWVzc2FnZSBpZiB0aGUgYnJhbmNoIGV4aXN0ZWQnICcKLQlnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtIG15MTMgMj5hY3R1YWwgJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtIG15MTMgJiYKLQljYXQgPmV4cGVjdGVkIDw8RU9GICYmCi1UaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tdHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG8KLUVPRgotCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2V0LXVwc3RyZWFtIGZhaWxzJyAnCisgICAgdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbSBvcmlnaW4vbWFzdGVyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2V0LXVwc3RyZWFtLXRvIG5vdGljZXMgYW4gZXJyb3IgdG8gc2V0IGJyYW5jaCBhcyBvd24gdXBzdHJlYW0nICcKQEAgLTkwMiwxOSArMTIwMCw2IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtZCBteTEwCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VzZSBzZXQtdXBzdHJlYW0gb24gdGhlIGN1cnJlbnQgYnJhbmNoJyAnCi0JZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgotCWdpdCAtLWJhcmUgaW5pdCBteXVwc3RyZWFtLmdpdCAmJgotCWdpdCBwdXNoIG15dXBzdHJlYW0uZ2l0IG1hc3RlcjpyZWZzL2hlYWRzL2Zyb3R6ICYmCi0JZ2l0IHJlbW90ZSBhZGQgb3JpZ2luIG15dXBzdHJlYW0uZ2l0ICYmCi0JZ2l0IGZldGNoICYmCi0JZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbSBtYXN0ZXIgb3JpZ2luL2Zyb3R6ICYmCi0KLQl0ZXN0ICJ6JChnaXQgY29uZmlnIGJyYW5jaC5tYXN0ZXIucmVtb3RlKSIgPSAiem9yaWdpbiIgJiYKLQl0ZXN0ICJ6JChnaXQgY29uZmlnIGJyYW5jaC5tYXN0ZXIubWVyZ2UpIiA9ICJ6cmVmcy9oZWFkcy9mcm90eiIKLQotJwotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2UgLS1lZGl0LWRlc2NyaXB0aW9uJyAnCiAJd3JpdGVfc2NyaXB0IGVkaXRvciA8PC1cRU9GICYmCiAJCWVjaG8gIk5ldyBjb250ZW50cyIgPiIkMSIKQEAgLTk0Nyw2ICsxMjMyLDEwIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtLW1lcmdlZCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbWVyZ2VkIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtLW1lcmdlZCBIRUFEIC0tbm8tbWVyZ2VkIEhFQUQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAndHJhY2tpbmcgd2l0aCB1bmV4cGVjdGVkIC5mZXRjaCByZWZzcGVjJyAnCiAJcm0gLXJmIGEgYiBjIGQgJiYKIAlnaXQgaW5pdCBhICYmCmRpZmYgLS1naXQgYS90L3QzMjAxLWJyYW5jaC1jb250YWlucy5zaCBiL3QvdDMyMDEtYnJhbmNoLWNvbnRhaW5zLnNoCmluZGV4IDdmM2VjNDcuLjBlZjFiNmYgMTAwNzU1Ci0tLSBhL3QvdDMyMDEtYnJhbmNoLWNvbnRhaW5zLnNoCisrKyBiL3QvdDMyMDEtYnJhbmNoLWNvbnRhaW5zLnNoCkBAIC0xLDYgKzEsNiBAQAogIyEvYmluL3NoCiAKLXRlc3RfZGVzY3JpcHRpb249J2JyYW5jaCAtLWNvbnRhaW5zIDxjb21taXQ+LCAtLW1lcmdlZCwgYW5kIC0tbm8tbWVyZ2VkJwordGVzdF9kZXNjcmlwdGlvbj0nYnJhbmNoIC0tY29udGFpbnMgPGNvbW1pdD4sIC0tbm8tY29udGFpbnMgPGNvbW1pdD4gLS1tZXJnZWQsIGFuZCAtLW5vLW1lcmdlZCcKIAogLiAuL3Rlc3QtbGliLnNoCiAKQEAgLTQ1LDYgKzQ1LDIyIEBACiAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoIC0tbm8tY29udGFpbnM9bWFzdGVyJyAnCisKKwlnaXQgYnJhbmNoIC0tbm8tY29udGFpbnM9bWFzdGVyID5hY3R1YWwgJiYKKwk+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYW5jaCAtLW5vLWNvbnRhaW5zIG1hc3RlcicgJworCisJZ2l0IGJyYW5jaCAtLW5vLWNvbnRhaW5zIG1hc3RlciA+YWN0dWFsICYmCisJPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKworJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdicmFuY2ggLS1jb250YWlucz1zaWRlJyAnCiAKIAlnaXQgYnJhbmNoIC0tY29udGFpbnM9c2lkZSA+YWN0dWFsICYmCkBAIC01NSw2ICs3MSwxNiBAQAogCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYW5jaCAtLW5vLWNvbnRhaW5zPXNpZGUnICcKKworCWdpdCBicmFuY2ggLS1uby1jb250YWlucz1zaWRlID5hY3R1YWwgJiYKKwl7CisJCWVjaG8gIiAgbWFzdGVyIgorCX0gPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKworJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdicmFuY2ggLS1jb250YWlucyB3aXRoIHBhdHRlcm4gaW1wbGllcyAtLWxpc3QnICcKIAogCWdpdCBicmFuY2ggLS1jb250YWlucz1tYXN0ZXIgbWFzdGVyID5hY3R1YWwgJiYKQEAgLTY1LDYgKzkxLDE0IEBACiAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoIC0tbm8tY29udGFpbnMgd2l0aCBwYXR0ZXJuIGltcGxpZXMgLS1saXN0JyAnCisKKwlnaXQgYnJhbmNoIC0tbm8tY29udGFpbnM9bWFzdGVyIG1hc3RlciA+YWN0dWFsICYmCisJPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKworJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaWRlOiBicmFuY2ggLS1tZXJnZWQnICcKIAogCWdpdCBicmFuY2ggLS1tZXJnZWQgPmFjdHVhbCAmJgpAQCAtMTI2LDEwICsxNjAsMjIgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ltcGxpY2l0IC0tbGlzdCBjb25mbGljdHMgd2l0aCBtb2RpZmljYXRpb24gb3B0aW9ucycgJwogCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtLWNvbnRhaW5zPW1hc3RlciAtZCAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBicmFuY2ggLS1jb250YWlucz1tYXN0ZXIgLW0gZm9vCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtLWNvbnRhaW5zPW1hc3RlciAtbSBmb28gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgYnJhbmNoIC0tbm8tY29udGFpbnM9bWFzdGVyIC1kICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtLW5vLWNvbnRhaW5zPW1hc3RlciAtbSBmb28KIAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdBc3NlcnQgdGhhdCAtLWNvbnRhaW5zIG9ubHkgd29ya3Mgb24gY29tbWl0cywgbm90IHRyZWVzICYgYmxvYnMnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgYnJhbmNoIC0tY29udGFpbnMgbWFzdGVyXnt0cmVlfSAmJgorCWJsb2I9JChnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbiA8PC1cRU9GCisJU29tZSBibG9iCisJRU9GCisJKSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBicmFuY2ggLS1jb250YWlucyAkYmxvYiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBicmFuY2ggLS1uby1jb250YWlucyAkYmxvYgorJworCiAjIFdlIHdhbnQgdG8gc2V0IHVwIGEgY2FzZSB3aGVyZSB0aGUgd2FsayBmb3IgdGhlIHRyYWNraW5nIGluZm8KICMgb2Ygb25lIGJyYW5jaCBjcm9zc2VzIHRoZSB0aXAgb2YgYW5vdGhlciBicmFuY2ggKGFuZCBtYWtlIHN1cmUKICMgdGhhdCB0aGUgbGF0dGVyIHdhbGsgZG9lcyBub3QgbWVzcyB1cCBvdXIgZmxhZyB0byBzZWUgaWYgaXQgd2FzCkBAIC0xNTksNCArMjA1LDE1IEBACiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoIC0tY29udGFpbnMgY29tYmluZWQgd2l0aCAtLW5vLWNvbnRhaW5zJyAnCisJZ2l0IGJyYW5jaCAtLWNvbnRhaW5zIHp6eiAtLW5vLWNvbnRhaW5zIHRvcGljID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJICBtYXN0ZXIKKwkgIHNpZGUKKwkgIHp6egorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKworJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDMyMDMtYnJhbmNoLW91dHB1dC5zaCBiL3QvdDMyMDMtYnJhbmNoLW91dHB1dC5zaAppbmRleCA1MjI4M2RmLi5kMmFlYzBmIDEwMDc1NQotLS0gYS90L3QzMjAzLWJyYW5jaC1vdXRwdXQuc2gKKysrIGIvdC90MzIwMy1icmFuY2gtb3V0cHV0LnNoCkBAIC0yLDYgKzIsNyBAQAogCiB0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgYnJhbmNoIGRpc3BsYXkgdGVzdHMnCiAuIC4vdGVzdC1saWIuc2gKKy4gIiRURVNUX0RJUkVDVE9SWSIvbGliLXRlcm1pbmFsLnNoCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21ha2UgY29tbWl0cycgJwogCWVjaG8gY29udGVudCA+ZmlsZSAmJgpAQCAtMTk0LDcgKzE5NSw3IEBACiAJZ2l0IHN5bWJvbGljLXJlZiByZWZzL2hlYWRzL3JlZi10by1yZW1vdGUgcmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gtb25lICYmCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCSAgcmVmLXRvLWJyYW5jaCAtPiBicmFuY2gtb25lCi0JICByZWYtdG8tcmVtb3RlIC0+IHJlZnMvcmVtb3Rlcy9vcmlnaW4vYnJhbmNoLW9uZQorCSAgcmVmLXRvLXJlbW90ZSAtPiBvcmlnaW4vYnJhbmNoLW9uZQogCUVPRgogCWdpdCBicmFuY2ggPmFjdHVhbC5yYXcgJiYKIAlncmVwIHJlZi10byA8YWN0dWFsLnJhdyA+YWN0dWFsICYmCkBAIC0yMjUsNCArMjI2LDQ4IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC0tZm9ybWF0IG9wdGlvbicgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlSZWZuYW1lIGlzIChIRUFEIGRldGFjaGVkIGZyb20gZnJvbXRhZykKKwlSZWZuYW1lIGlzIHJlZnMvaGVhZHMvYW1iaWd1b3VzCisJUmVmbmFtZSBpcyByZWZzL2hlYWRzL2JyYW5jaC1vbmUKKwlSZWZuYW1lIGlzIHJlZnMvaGVhZHMvYnJhbmNoLXR3bworCVJlZm5hbWUgaXMgcmVmcy9oZWFkcy9tYXN0ZXIKKwlSZWZuYW1lIGlzIHJlZnMvaGVhZHMvcmVmLXRvLWJyYW5jaAorCVJlZm5hbWUgaXMgcmVmcy9oZWFkcy9yZWYtdG8tcmVtb3RlCisJRU9GCisJZ2l0IGJyYW5jaCAtLWZvcm1hdD0iUmVmbmFtZSBpcyAlKHJlZm5hbWUpIiA+YWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAic2V0IHVwIGNvbG9yIHRlc3RzIiAnCisJZWNobyAiPFJFRD5tYXN0ZXI8UkVTRVQ+IiA+ZXhwZWN0LmNvbG9yICYmCisJZWNobyAibWFzdGVyIiA+ZXhwZWN0LmJhcmUgJiYKKwljb2xvcl9hcmdzPSItLWZvcm1hdD0lKGNvbG9yOnJlZCklKHJlZm5hbWU6c2hvcnQpIC0tbGlzdCBtYXN0ZXIiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyUoY29sb3IpIG9taXR0ZWQgd2l0aG91dCB0dHknICcKKwlURVJNPXZ0MTAwIGdpdCBicmFuY2ggJGNvbG9yX2FyZ3MgPmFjdHVhbC5yYXcgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8YWN0dWFsLnJhdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0LmJhcmUgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICclKGNvbG9yKSBwcmVzZW50IHdpdGggdHR5JyAnCisJdGVzdF90ZXJtaW5hbCBlbnYgVEVSTT12dDEwMCBnaXQgYnJhbmNoICRjb2xvcl9hcmdzID5hY3R1YWwucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdC5jb2xvciBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29sb3IuYnJhbmNoPWFsd2F5cyBvdmVycmlkZXMgYXV0by1jb2xvcicgJworCWdpdCAtYyBjb2xvci5icmFuY2g9YWx3YXlzIGJyYW5jaCAkY29sb3JfYXJncyA+YWN0dWFsLnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QuY29sb3IgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tY29sb3Igb3ZlcnJpZGVzIGF1dG8tY29sb3InICcKKwlnaXQgYnJhbmNoIC0tY29sb3IgJGNvbG9yX2FyZ3MgPmFjdHVhbC5yYXcgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8YWN0dWFsLnJhdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0LmNvbG9yIGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDMyMDUtYnJhbmNoLWNvbG9yLnNoIGIvdC90MzIwNS1icmFuY2gtY29sb3Iuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTM0MzU1MAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDMyMDUtYnJhbmNoLWNvbG9yLnNoCkBAIC0wLDAgKzEsNDQgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdiYXNpYyBicmFuY2ggb3V0cHV0IGNvbG9yaW5nJworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCB1cCBzb21lIHNhbXBsZSBicmFuY2hlcycgJworCXRlc3RfY29tbWl0IGZvbyAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyIEhFQUQgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL290aGVyIEhFQUQKKycKKworIyBjaG9vc2Ugbm9uLWRlZmF1bHQgY29sb3JzIHRvIG1ha2Ugc3VyZSBjb25maWcKKyMgaXMgdGFraW5nIGVmZmVjdAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIHNvbWUgY29sb3IgY29uZmlnJyAnCisJZ2l0IGNvbmZpZyBjb2xvci5icmFuY2ggYWx3YXlzICYmCisJZ2l0IGNvbmZpZyBjb2xvci5icmFuY2gubG9jYWwgYmx1ZSAmJgorCWdpdCBjb25maWcgY29sb3IuYnJhbmNoLnJlbW90ZSB5ZWxsb3cgJiYKKwlnaXQgY29uZmlnIGNvbG9yLmJyYW5jaC5jdXJyZW50IGN5YW4KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVndWxhciBvdXRwdXQgc2hvd3MgY29sb3JzJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSogPENZQU4+bWFzdGVyPFJFU0VUPgorCSAgPEJMVUU+b3RoZXI8UkVTRVQ+CisJICA8WUVMTE9XPnJlbW90ZXMvb3JpZ2luL21hc3RlcjxSRVNFVD4KKwlFT0YKKwlnaXQgYnJhbmNoIC1hID5hY3R1YWwucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyYm9zZSBvdXRwdXQgc2hvd3MgY29sb3JzJyAnCisJb2lkPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQpICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJKiA8Q1lBTj5tYXN0ZXIgICAgICAgICAgICAgICA8UkVTRVQ+ICRvaWQgZm9vCisJICA8QkxVRT5vdGhlciAgICAgICAgICAgICAgICA8UkVTRVQ+ICRvaWQgZm9vCisJICA8WUVMTE9XPnJlbW90ZXMvb3JpZ2luL21hc3RlcjxSRVNFVD4gJG9pZCBmb28KKwlFT0YKKwlnaXQgYnJhbmNoIC12IC1hID5hY3R1YWwucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzMjEwLXBhY2stcmVmcy5zaCBiL3QvdDMyMTAtcGFjay1yZWZzLnNoCmluZGV4IDliMTgyYTAuLmFmYTI3ZmYgMTAwNzU1Ci0tLSBhL3QvdDMyMTAtcGFjay1yZWZzLnNoCisrKyBiL3QvdDMyMTAtcGFjay1yZWZzLnNoCkBAIC0xOTQsNiArMTk0LDMzIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCBmb28vYmFyL2Jhei9sb3RzL29mL2V4dHJhL2NvbXBvbmVudHMKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVqZWN0IHBhY2tlZC1yZWZzIHdpdGggdW50ZXJtaW5hdGVkIGxpbmUnICcKKwljcCAuZ2l0L3BhY2tlZC1yZWZzIC5naXQvcGFja2VkLXJlZnMuYmFrICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJtdiAuZ2l0L3BhY2tlZC1yZWZzLmJhayAuZ2l0L3BhY2tlZC1yZWZzIiAmJgorCXByaW50ZiAiJXMiICIkSEVBRCByZWZzL3p6enp6IiA+Pi5naXQvcGFja2VkLXJlZnMgJiYKKwllY2hvICJmYXRhbDogdW50ZXJtaW5hdGVkIGxpbmUgaW4gLmdpdC9wYWNrZWQtcmVmczogJEhFQUQgcmVmcy96enp6eiIgPmV4cGVjdGVkX2VyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgPm91dCAyPmVyciAmJgorCXRlc3RfY21wIGV4cGVjdGVkX2VyciBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVqZWN0IHBhY2tlZC1yZWZzIGNvbnRhaW5pbmcganVuaycgJworCWNwIC5naXQvcGFja2VkLXJlZnMgLmdpdC9wYWNrZWQtcmVmcy5iYWsgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgIm12IC5naXQvcGFja2VkLXJlZnMuYmFrIC5naXQvcGFja2VkLXJlZnMiICYmCisJcHJpbnRmICIlc1xuIiAiYm9ndXMgY29udGVudCIgPj4uZ2l0L3BhY2tlZC1yZWZzICYmCisJZWNobyAiZmF0YWw6IHVuZXhwZWN0ZWQgbGluZSBpbiAuZ2l0L3BhY2tlZC1yZWZzOiBib2d1cyBjb250ZW50IiA+ZXhwZWN0ZWRfZXJyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiA+b3V0IDI+ZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWRfZXJyIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWplY3QgcGFja2VkLXJlZnMgd2l0aCBhIHNob3J0IFNIQS0xJyAnCisJY3AgLmdpdC9wYWNrZWQtcmVmcyAuZ2l0L3BhY2tlZC1yZWZzLmJhayAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAibXYgLmdpdC9wYWNrZWQtcmVmcy5iYWsgLmdpdC9wYWNrZWQtcmVmcyIgJiYKKwlwcmludGYgIiUuN3MgJXNcbiIgJEhFQUQgcmVmcy96enp6eiA+Pi5naXQvcGFja2VkLXJlZnMgJiYKKwlwcmludGYgImZhdGFsOiB1bmV4cGVjdGVkIGxpbmUgaW4gLmdpdC9wYWNrZWQtcmVmczogJS43cyAlc1xuIiAkSEVBRCByZWZzL3p6enp6ID5leHBlY3RlZF9lcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmID5vdXQgMj5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZF9lcnIgZXJyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RpbWVvdXQgaWYgcGFja2VkLXJlZnMubG9jayBleGlzdHMnICcKIAlMT0NLPS5naXQvcGFja2VkLXJlZnMubG9jayAmJgogCT4iJExPQ0siICYmCkBAIC0yMTEsNCArMjM4LDE5IEBACiAJZ2l0IC1jIGNvcmUucGFja2VkcmVmc3RpbWVvdXQ9MzAwMCBwYWNrLXJlZnMgLS1hbGwgLS1wcnVuZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdwYWNrIHN5bWxpbmtlZCBwYWNrZWQtcmVmcycgJworCSMgRmlyc3QgbWFrZSBzdXJlIHRoYXQgc3ltbGlua2luZyB3b3JrcyB3aGVuIHJlYWRpbmc6CisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9sb29zeSByZWZzL2hlYWRzL21hc3RlciAmJgorCWdpdCBmb3ItZWFjaC1yZWYgPmFsbC1yZWZzLWJlZm9yZSAmJgorCW12IC5naXQvcGFja2VkLXJlZnMgLmdpdC9teS1kZXZpYW50LXBhY2tlZC1yZWZzICYmCisJbG4gLXMgbXktZGV2aWFudC1wYWNrZWQtcmVmcyAuZ2l0L3BhY2tlZC1yZWZzICYmCisJZ2l0IGZvci1lYWNoLXJlZiA+YWxsLXJlZnMtbGlua2VkICYmCisJdGVzdF9jbXAgYWxsLXJlZnMtYmVmb3JlIGFsbC1yZWZzLWxpbmtlZCAmJgorCWdpdCBwYWNrLXJlZnMgLS1hbGwgLS1wcnVuZSAmJgorCWdpdCBmb3ItZWFjaC1yZWYgPmFsbC1yZWZzLXBhY2tlZCAmJgorCXRlc3RfY21wIGFsbC1yZWZzLWJlZm9yZSBhbGwtcmVmcy1wYWNrZWQgJiYKKwl0ZXN0IC1oIC5naXQvcGFja2VkLXJlZnMgJiYKKwl0ZXN0ICIkKHJlYWRsaW5rIC5naXQvcGFja2VkLXJlZnMpIiA9ICJteS1kZXZpYW50LXBhY2tlZC1yZWZzIgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MDQtcmViYXNlLWludGVyYWN0aXZlLnNoIGIvdC90MzQwNC1yZWJhc2UtaW50ZXJhY3RpdmUuc2gKaW5kZXggZTJmMThkMS4uMzcwNGRiYiAxMDA3NTUKLS0tIGEvdC90MzQwNC1yZWJhc2UtaW50ZXJhY3RpdmUuc2gKKysrIGIvdC90MzQwNC1yZWJhc2UtaW50ZXJhY3RpdmUuc2gKQEAgLTE2OSw2ICsxNjksMTMgQEAKIAl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBicmFuY2gxQHsxfSkgPSAkKGdpdCByZXYtcGFyc2Ugb3JpZ2luYWwtYnJhbmNoMSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmbG9nIGZvciB0aGUgYnJhbmNoIHNob3dzIGNvcnJlY3QgZmluaXNoIG1lc3NhZ2UnICcKKwlwcmludGYgInJlYmFzZSAtaSAoZmluaXNoKTogcmVmcy9oZWFkcy9icmFuY2gxIG9udG8gJXNcbiIgXAorCQkiJChnaXQgcmV2LXBhcnNlIGJyYW5jaDIpIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgbG9nIC1nIC0tcHJldHR5PSVncyAtMSByZWZzL2hlYWRzL2JyYW5jaDEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdleGNoYW5nZSB0d28gY29tbWl0cycgJwogCXNldF9mYWtlX2VkaXRvciAmJgogCUZBS0VfTElORVM9IjIgMSIgZ2l0IHJlYmFzZSAtaSBIRUFEfjIgJiYKQEAgLTM2Niw3ICszNzMsNyBAQAogCWdyZXAgIl4gZmlsZTEgfCAyICstJCIgb3V0cHV0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ211bHRpLXNxdWFzaCBvbmx5IGZpcmVzIHVwIGVkaXRvciBvbmNlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIENfTE9DQUxFX09VVFBVVCAnbXVsdGktc3F1YXNoIG9ubHkgZmlyZXMgdXAgZWRpdG9yIG9uY2UnICcKIAliYXNlPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjQpICYmCiAJc2V0X2Zha2VfZWRpdG9yICYmCiAJRkFLRV9DT01NSVRfQU1FTkQ9Ik9OQ0UiIEZBS0VfTElORVM9IjEgc3F1YXNoIDIgc3F1YXNoIDMgc3F1YXNoIDQiIFwKQEAgLTM3Niw3ICszODMsNyBAQAogCXRlc3QgMSA9ICQoZ2l0IHNob3cgfCBncmVwIE9OQ0UgfCB3YyAtbCkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnbXVsdGktZml4dXAgZG9lcyBub3QgZmlyZSB1cCBlZGl0b3InICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdtdWx0aS1maXh1cCBkb2VzIG5vdCBmaXJlIHVwIGVkaXRvcicgJwogCWdpdCBjaGVja291dCAtYiBtdWx0aS1maXh1cCBFICYmCiAJYmFzZT0kKGdpdCByZXYtcGFyc2UgSEVBRH40KSAmJgogCXNldF9mYWtlX2VkaXRvciAmJgpAQCAtNDI2LDcgKzQzMyw3IEBACiBPTkNFCiBFT0YKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3F1YXNoIGFuZCBmaXh1cCBnZW5lcmF0ZSBjb3JyZWN0IGxvZyBtZXNzYWdlcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ3NxdWFzaCBhbmQgZml4dXAgZ2VuZXJhdGUgY29ycmVjdCBsb2cgbWVzc2FnZXMnICcKIAlnaXQgY2hlY2tvdXQgLWIgc3F1YXNoLWZpeHVwIEUgJiYKIAliYXNlPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjQpICYmCiAJc2V0X2Zha2VfZWRpdG9yICYmCkBAIC00MzksNyArNDQ2LDcgQEAKIAlnaXQgYnJhbmNoIC1EIHNxdWFzaC1maXh1cAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzcXVhc2ggaWdub3JlcyBjb21tZW50cycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ3NxdWFzaCBpZ25vcmVzIGNvbW1lbnRzJyAnCiAJZ2l0IGNoZWNrb3V0IC1iIHNraXAtY29tbWVudHMgRSAmJgogCWJhc2U9JChnaXQgcmV2LXBhcnNlIEhFQUR+NCkgJiYKIAlzZXRfZmFrZV9lZGl0b3IgJiYKQEAgLTQ1Miw3ICs0NTksNyBAQAogCWdpdCBicmFuY2ggLUQgc2tpcC1jb21tZW50cwogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzcXVhc2ggaWdub3JlcyBibGFuayBsaW5lcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ3NxdWFzaCBpZ25vcmVzIGJsYW5rIGxpbmVzJyAnCiAJZ2l0IGNoZWNrb3V0IC1iIHNraXAtYmxhbmstbGluZXMgRSAmJgogCWJhc2U9JChnaXQgcmV2LXBhcnNlIEhFQUR+NCkgJiYKIAlzZXRfZmFrZV9lZGl0b3IgJiYKQEAgLTU1Niw3ICs1NjMsNyBAQAogCWVjaG8gImVkaXRlZCBhZ2FpbiIgPiBmaWxlNyAmJgogCWdpdCBhZGQgZmlsZTcgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tY29udGludWUgMj5lcnJvciAmJgotCXRlc3RfaTE4bmdyZXAgIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiIgZXJyb3IKKwl0ZXN0X2kxOG5ncmVwICJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZSIgZXJyb3IKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIGEgZGV0YWNoZWQgSEVBRCcgJwpAQCAtODYwLDcgKzg2Nyw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaXggd2l0aCAtLWF1dG9zcXVhc2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdyZWJhc2UgLWl4IHdpdGggLS1hdXRvc3F1YXNoJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCBleGVjdXRlICYmCiAJZ2l0IGNoZWNrb3V0IC1iIGF1dG9zcXVhc2ggJiYKIAllY2hvIHNlY29uZCA+c2Vjb25kLnR4dCAmJgpAQCAtOTQzLDcgKzk1MCw3IEBACiAJdGVzdCAwID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwIC1jIF5wYXJlbnRcICkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tZWRpdC10b2RvIGRvZXMgbm90IHdvcmtzIG9uIG5vbi1pbnRlcmFjdGl2ZSByZWJhc2UnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdyZWJhc2UgLS1lZGl0LXRvZG8gZG9lcyBub3Qgd29yayBvbiBub24taW50ZXJhY3RpdmUgcmViYXNlJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBjaGVja291dCBjb25mbGljdC1icmFuY2ggJiYKIAlzZXRfZmFrZV9lZGl0b3IgJiYKQEAgLTEyNDIsMjAgKzEyNDksMTMgQEAKIAl0ZXN0IEIgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gfCBzZWQgLW5lIFwkcCkKICcKIAotY2F0ID5leHBlY3QgPDxFT0YKLVdhcm5pbmc6IHRoZSBjb21tYW5kIGlzbid0IHJlY29nbml6ZWQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOgotIC0gYmFkY21kICQoZ2l0IHJldi1saXN0IC0tb25lbGluZSAtMSBtYXN0ZXJ+MSkKLQotWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScuCi1PciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4KLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0aWMgY2hlY2sgb2YgYmFkIGNvbW1hbmQnICcKIAlyZWJhc2Vfc2V0dXBfYW5kX2NsZWFuIGJhZC1jbWQgJiYKIAlzZXRfZmFrZV9lZGl0b3IgJiYKIAl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMSAyIDMgYmFkIDQgNSIgXAogCQlnaXQgcmViYXNlIC1pIC0tcm9vdCAyPmFjdHVhbCAmJgotCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAiYmFkY21kICQoZ2l0IHJldi1saXN0IC0tb25lbGluZSAtMSBtYXN0ZXJ+MSkiIGFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgIllvdSBjYW4gZml4IHRoaXMgd2l0aCAuZ2l0IHJlYmFzZSAtLWVkaXQtdG9kby4uIiBhY3R1YWwgJiYKIAlGQUtFX0xJTkVTPSIxIDIgMyBkcm9wIDQgNSIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbyAmJgogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgogCXRlc3QgRSA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1uZSBcJHApICYmCkBAIC0xMjc3LDIwICsxMjc3LDEzIEBACiAJdGVzdCBFID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLW5lIFwkcCkKICcKIAotY2F0ID5leHBlY3QgPDxFT0YKLVdhcm5pbmc6IHRoZSBTSEEtMSBpcyBtaXNzaW5nIG9yIGlzbid0IGEgY29tbWl0IGluIHRoZSBmb2xsb3dpbmcgbGluZToKLSAtIGVkaXQgWFhYWFhYWCBGYWxzZSBjb21taXQKLQotWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScuCi1PciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4KLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0aWMgY2hlY2sgb2YgYmFkIFNIQS0xJyAnCiAJcmViYXNlX3NldHVwX2FuZF9jbGVhbiBiYWQtc2hhICYmCiAJc2V0X2Zha2VfZWRpdG9yICYmCiAJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjEgMiBlZGl0IGZha2VzaGEgMyA0IDUgIyIgXAogCQlnaXQgcmViYXNlIC1pIC0tcm9vdCAyPmFjdHVhbCAmJgotCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAiZWRpdCBYWFhYWFhYIEZhbHNlIGNvbW1pdCIgYWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAiWW91IGNhbiBmaXggdGhpcyB3aXRoIC5naXQgcmViYXNlIC0tZWRpdC10b2RvLi4iIGFjdHVhbCAmJgogCUZBS0VfTElORVM9IjEgMiA0IDUgNiIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbyAmJgogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgogCXRlc3QgRSA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1uZSBcJHApCmRpZmYgLS1naXQgYS90L3QzNDE1LXJlYmFzZS1hdXRvc3F1YXNoLnNoIGIvdC90MzQxNS1yZWJhc2UtYXV0b3NxdWFzaC5zaAppbmRleCA0ODM0NmYxLi5lMzY0YzEyIDEwMDc1NQotLS0gYS90L3QzNDE1LXJlYmFzZS1hdXRvc3F1YXNoLnNoCisrKyBiL3QvdDM0MTUtcmViYXNlLWF1dG9zcXVhc2guc2gKQEAgLTIzNCwyMyArMjM0LDIzIEBACiAJZmkKIH0KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZml4dXAhIGZpeHVwIScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ2ZpeHVwISBmaXh1cCEnICcKIAl0ZXN0X2F1dG9fZml4dXBfZml4dXAgZml4dXAgZml4dXAKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZml4dXAhIHNxdWFzaCEnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdmaXh1cCEgc3F1YXNoIScgJwogCXRlc3RfYXV0b19maXh1cF9maXh1cCBmaXh1cCBzcXVhc2gKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3F1YXNoISBzcXVhc2ghJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIENfTE9DQUxFX09VVFBVVCAnc3F1YXNoISBzcXVhc2ghJyAnCiAJdGVzdF9hdXRvX2ZpeHVwX2ZpeHVwIHNxdWFzaCBzcXVhc2gKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3F1YXNoISBmaXh1cCEnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdzcXVhc2ghIGZpeHVwIScgJwogCXRlc3RfYXV0b19maXh1cF9maXh1cCBzcXVhc2ggZml4dXAKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXV0b3NxdWFzaCB3aXRoIGN1c3RvbSBpbnN0IGZvcm1hdCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ2F1dG9zcXVhc2ggd2l0aCBjdXN0b20gaW5zdCBmb3JtYXQnICcKIAlnaXQgcmVzZXQgLS1oYXJkIGJhc2UgJiYKIAlnaXQgY29uZmlnIC0tYWRkIHJlYmFzZS5pbnN0cnVjdGlvbkZvcm1hdCAiWyVhbiBAICVhcl0gJXMiICAmJgogCWVjaG8gMiA+ZmlsZTEgJiYKQEAgLTI3MSw2ICsyNzEsMTggQEAKIAl0ZXN0IDIgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gfCBncmVwIHNxdWFzaCB8IHdjIC1sKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRvc3F1YXNoIHdpdGggZW1wdHkgY3VzdG9tIGluc3RydWN0aW9uRm9ybWF0JyAnCisJZ2l0IHJlc2V0IC0taGFyZCBiYXNlICYmCisJdGVzdF9jb21taXQgZW1wdHktaW5zdHJ1Y3Rpb25Gb3JtYXQtdGVzdCAmJgorCSgKKwkJc2V0X2NhdF90b2RvX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgcmViYXNlLmluc3RydWN0aW9uRm9ybWF0PSBcCisJCQlyZWJhc2UgLS1hdXRvc3F1YXNoICAtLWZvcmNlIC1pIEhFQUReID5hY3R1YWwgJiYKKwkJZ2l0IGxvZyAtMSAtLWZvcm1hdD0icGljayAlaCAlcyIgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCiBzZXRfYmFja3VwX2VkaXRvciAoKSB7CiAJd3JpdGVfc2NyaXB0IGJhY2t1cC1lZGl0b3Iuc2ggPDwtXEVPRgogCWNwICIkMSIgLmdpdC9iYWNrdXAtIiQoYmFzZW5hbWUgIiQxIikiCkBAIC0yNzgsNyArMjkwLDcgQEAKIAl0ZXN0X3NldF9lZGl0b3IgIiRQV0QvYmFja3VwLWVkaXRvci5zaCIKIH0KIAotdGVzdF9leHBlY3RfZmFpbHVyZSAnYXV0b3NxdWFzaCB3aXRoIG11bHRpcGxlIGVtcHR5IHBhdGNoZXMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2F1dG9zcXVhc2ggd2l0aCBtdWx0aXBsZSBlbXB0eSBwYXRjaGVzJyAnCiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJlbXB0eSIgJiYKIAl0ZXN0X3RpY2sgJiYKQEAgLTMwNCw0ICszMTYsMTggQEAKIAl0ZXN0ICRiYXNlID0gJHBhcmVudAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3cmFwcGVkIG9yaWdpbmFsIHN1YmplY3QnICcKKwlpZiB0ZXN0IC1kIC5naXQvcmViYXNlLW1lcmdlOyB0aGVuIGdpdCByZWJhc2UgLS1hYm9ydDsgZmkgJiYKKwliYXNlPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWVjaG8gIndyYXBwZWQgc3ViamVjdCIgPndyYXBwZWQgJiYKKwlnaXQgYWRkIHdyYXBwZWQgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gIiQocHJpbnRmICJUb1xuZml4dXAiKSIgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gImZpeHVwISBUbyBmaXh1cCIgJiYKKwlnaXQgcmViYXNlIC1pIC0tYXV0b3NxdWFzaCAtLWtlZXAtZW1wdHkgSEVBRH4yICYmCisJcGFyZW50PSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKKwl0ZXN0ICRiYXNlID0gJHBhcmVudAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MTgtcmViYXNlLWNvbnRpbnVlLnNoIGIvdC90MzQxOC1yZWJhc2UtY29udGludWUuc2gKaW5kZXggNDQyOGI5MC4uZmNmZGQxOSAxMDA3NTUKLS0tIGEvdC90MzQxOC1yZWJhc2UtY29udGludWUuc2gKKysrIGIvdC90MzQxOC1yZWJhc2UtY29udGludWUuc2gKQEAgLTQwLDI1ICs0MCw2IEBACiAJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vbi1pbnRlcmFjdGl2ZSByZWJhc2UgLS1jb250aW51ZSB3aXRoIHJlcmVyZSBlbmFibGVkJyAnCi0JdGVzdF9jb25maWcgcmVyZXJlLmVuYWJsZWQgdHJ1ZSAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAidGVzdF9taWdodF9mYWlsIGdpdCByZWJhc2UgLS1hYm9ydCIgJiYKLQlnaXQgcmVzZXQgLS1oYXJkIGNvbW1pdC1uZXctZmlsZS1GMi1vbi10b3BpYy1icmFuY2ggJiYKLQlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCi0Jcm0gLWZyIC5naXQvcmViYXNlLSogJiYKLQotCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1vbnRvIG1hc3RlciBtYXN0ZXIgdG9waWMgJiYKLQllY2hvICJSZXNvbHZlZCIgPkYyICYmCi0JZ2l0IGFkZCBGMiAmJgotCWNwIEYyIEYyLmV4cGVjdGVkICYmCi0JZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCi0KLQlnaXQgcmVzZXQgLS1oYXJkIGNvbW1pdC1uZXctZmlsZS1GMi1vbi10b3BpYy1icmFuY2ggJiYKLQlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLW9udG8gbWFzdGVyIG1hc3RlciB0b3BpYyAmJgotCXRlc3RfY21wIEYyLmV4cGVjdGVkIEYyCi0nCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtLWNvbnRpbnVlIGNhbiBub3QgYmUgdXNlZCB3aXRoIG90aGVyIG9wdGlvbnMnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC12IC0tY29udGludWUgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tY29udGludWUgLXYKQEAgLTkzLDI1ICs3NCw3NSBAQAogCXRlc3QgLWYgZnVubnkud2FzLnJ1bgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1jb250aW51ZSByZW1lbWJlcnMgLS1yZXJlcmUtYXV0b3VwZGF0ZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcmVyZXJlIGRhdGFiYXNlJyAnCiAJcm0gLWZyIC5naXQvcmViYXNlLSogJiYKIAlnaXQgcmVzZXQgLS1oYXJkIGNvbW1pdC1uZXctZmlsZS1GMy1vbi10b3BpYy1icmFuY2ggJiYKIAlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCiAJdGVzdF9jb21taXQgImNvbW1pdC1uZXctZmlsZS1GMyIgRjMgMyAmJgotCWdpdCBjb25maWcgcmVyZXJlLmVuYWJsZWQgdHJ1ZSAmJgorCXRlc3RfY29uZmlnIHJlcmVyZS5lbmFibGVkIHRydWUgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1tIG1hc3RlciB0b3BpYyAmJgogCWVjaG8gIlJlc29sdmVkIiA+RjIgJiYKKwljcCBGMiBleHBlY3RlZC1GMiAmJgogCWdpdCBhZGQgRjIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tY29udGludWUgJiYKIAllY2hvICJSZXNvbHZlZCIgPkYzICYmCisJY3AgRjMgZXhwZWN0ZWQtRjMgJiYKIAlnaXQgYWRkIEYzICYmCiAJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCi0JZ2l0IHJlc2V0IC0taGFyZCB0b3BpY0B7MX0gJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1tIC0tcmVyZXJlLWF1dG91cGRhdGUgbWFzdGVyICYmCi0JdGVzdCAiJChjYXQgRjIpIiA9ICJSZXNvbHZlZCIgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tY29udGludWUgJiYKLQl0ZXN0ICIkKGNhdCBGMykiID0gIlJlc29sdmVkIiAmJgotCWdpdCByZWJhc2UgLS1jb250aW51ZQorCWdpdCByZXNldCAtLWhhcmQgdG9waWNAezF9CiAnCiAKK3ByZXBhcmUgKCkgeworCXJtIC1mciAuZ2l0L3JlYmFzZS0qICYmCisJZ2l0IHJlc2V0IC0taGFyZCBjb21taXQtbmV3LWZpbGUtRjMtb24tdG9waWMtYnJhbmNoICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCXRlc3RfY29uZmlnIHJlcmVyZS5lbmFibGVkIHRydWUKK30KKwordGVzdF9yZXJlcmVfYXV0b3VwZGF0ZSAoKSB7CisJYWN0aW9uPSQxICYmCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAicmViYXNlICRhY3Rpb24gLS1jb250aW51ZSByZW1lbWJlcnMgLS1yZXJlcmUtYXV0b3VwZGF0ZSIgJworCQlwcmVwYXJlICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgJGFjdGlvbiAtLXJlcmVyZS1hdXRvdXBkYXRlIG1hc3RlciB0b3BpYyAmJgorCQl0ZXN0X2NtcCBleHBlY3RlZC1GMiBGMiAmJgorCQlnaXQgZGlmZi1maWxlcyAtLXF1aWV0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1jb250aW51ZSAmJgorCQl0ZXN0X2NtcCBleHBlY3RlZC1GMyBGMyAmJgorCQlnaXQgZGlmZi1maWxlcyAtLXF1aWV0ICYmCisJCWdpdCByZWJhc2UgLS1jb250aW51ZQorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInJlYmFzZSAkYWN0aW9uIC0tY29udGludWUgaG9ub3JzIHJlcmVyZS5hdXRvVXBkYXRlIiAnCisJCXByZXBhcmUgJiYKKwkJdGVzdF9jb25maWcgcmVyZXJlLmF1dG91cGRhdGUgdHJ1ZSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlICRhY3Rpb24gbWFzdGVyIHRvcGljICYmCisJCXRlc3RfY21wIGV4cGVjdGVkLUYyIEYyICYmCisJCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCisJCXRlc3RfY21wIGV4cGVjdGVkLUYzIEYzICYmCisJCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKKwkJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJJworCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAicmViYXNlICRhY3Rpb24gLS1jb250aW51ZSByZW1lbWJlcnMgLS1uby1yZXJlcmUtYXV0b3VwZGF0ZSIgJworCQlwcmVwYXJlICYmCisJCXRlc3RfY29uZmlnIHJlcmVyZS5hdXRvdXBkYXRlIHRydWUgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAkYWN0aW9uIC0tbm8tcmVyZXJlLWF1dG91cGRhdGUgbWFzdGVyIHRvcGljICYmCisJCXRlc3RfY21wIGV4cGVjdGVkLUYyIEYyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKKwkJZ2l0IGFkZCBGMiAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tY29udGludWUgJiYKKwkJdGVzdF9jbXAgZXhwZWN0ZWQtRjMgRjMgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAmJgorCQlnaXQgYWRkIEYzICYmCisJCWdpdCByZWJhc2UgLS1jb250aW51ZQorCScKK30KKwordGVzdF9yZXJlcmVfYXV0b3VwZGF0ZQordGVzdF9yZXJlcmVfYXV0b3VwZGF0ZSAtbQorR0lUX1NFUVVFTkNFX0VESVRPUj06ICYmIGV4cG9ydCBHSVRfU0VRVUVOQ0VfRURJVE9SCit0ZXN0X3JlcmVyZV9hdXRvdXBkYXRlIC1pCit0ZXN0X3JlcmVyZV9hdXRvdXBkYXRlIC0tcHJlc2VydmUtbWVyZ2VzCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzQyMC1yZWJhc2UtYXV0b3N0YXNoLnNoIGIvdC90MzQyMC1yZWJhc2UtYXV0b3N0YXNoLnNoCmluZGV4IGFiOGE2M2UuLmUyNDM3MDAgMTAwNzU1Ci0tLSBhL3QvdDM0MjAtcmViYXNlLWF1dG9zdGFzaC5zaAorKysgYi90L3QzNDIwLXJlYmFzZS1hdXRvc3Rhc2guc2gKQEAgLTMzLDcgKzMzLDEyMyBAQAogCWdpdCBjb21taXQgLW0gInJlbGF0ZWQgY29tbWl0IgogJwogCi10ZXN0cmViYXNlKCkgeworY3JlYXRlX2V4cGVjdGVkX3N1Y2Nlc3NfYW0gKCkgeworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GCisJJChncmVwICJeQ3JlYXRlZCBhdXRvc3Rhc2g6IFswLTlhLWZdWzAtOWEtZl0qXCQiIGFjdHVhbCkKKwlIRUFEIGlzIG5vdyBhdCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaCkgdGhpcmQgY29tbWl0CisJRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uCisJQXBwbHlpbmc6IHNlY29uZCBjb21taXQKKwlBcHBseWluZzogdGhpcmQgY29tbWl0CisJQXBwbGllZCBhdXRvc3Rhc2guCisJRU9GCit9CisKK2NyZWF0ZV9leHBlY3RlZF9zdWNjZXNzX2ludGVyYWN0aXZlICgpIHsKKwlxX3RvX2NyID5leHBlY3RlZCA8PC1FT0YKKwkkKGdyZXAgIl5DcmVhdGVkIGF1dG9zdGFzaDogWzAtOWEtZl1bMC05YS1mXSpcJCIgYWN0dWFsKQorCUhFQUQgaXMgbm93IGF0ICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IGZlYXR1cmUtYnJhbmNoKSB0aGlyZCBjb21taXQKKwlSZWJhc2luZyAoMS8yKVFSZWJhc2luZyAoMi8yKVFBcHBsaWVkIGF1dG9zdGFzaC4KKwlTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCByZWZzL2hlYWRzL3JlYmFzZWQtZmVhdHVyZS1icmFuY2guCisJRU9GCit9CisKK2NyZWF0ZV9leHBlY3RlZF9zdWNjZXNzX21lcmdlICgpIHsKKwljYXQgPmV4cGVjdGVkIDw8LUVPRgorCSQoZ3JlcCAiXkNyZWF0ZWQgYXV0b3N0YXNoOiBbMC05YS1mXVswLTlhLWZdKlwkIiBhY3R1YWwpCisJSEVBRCBpcyBub3cgYXQgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgZmVhdHVyZS1icmFuY2gpIHRoaXJkIGNvbW1pdAorCUZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLgorCU1lcmdpbmcgdW5yZWxhdGVkLW9udG8tYnJhbmNoIHdpdGggSEVBRH4xCisJTWVyZ2luZzoKKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCB1bnJlbGF0ZWQtb250by1icmFuY2gpIHVucmVsYXRlZCBjb21taXQKKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaF4pIHNlY29uZCBjb21taXQKKwlmb3VuZCAxIGNvbW1vbiBhbmNlc3RvcjoKKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaH4yKSBpbml0aWFsIGNvbW1pdAorCVtkZXRhY2hlZCBIRUFEICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlYmFzZWQtZmVhdHVyZS1icmFuY2h+MSldIHNlY29uZCBjb21taXQKKwkgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorCSBEYXRlOiBUaHUgQXByIDcgMTU6MTQ6MTMgMjAwNSAtMDcwMAorCSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCSBjcmVhdGUgbW9kZSAxMDA2NDQgZmlsZTEKKwkgY3JlYXRlIG1vZGUgMTAwNjQ0IGZpbGUyCisJQ29tbWl0dGVkOiAwMDAxIHNlY29uZCBjb21taXQKKwlNZXJnaW5nIHVucmVsYXRlZC1vbnRvLWJyYW5jaCB3aXRoIEhFQUR+MAorCU1lcmdpbmc6CisJJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmViYXNlZC1mZWF0dXJlLWJyYW5jaH4xKSBzZWNvbmQgY29tbWl0CisJJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgZmVhdHVyZS1icmFuY2gpIHRoaXJkIGNvbW1pdAorCWZvdW5kIDEgY29tbW9uIGFuY2VzdG9yOgorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IGZlYXR1cmUtYnJhbmNofjEpIHNlY29uZCBjb21taXQKKwlbZGV0YWNoZWQgSEVBRCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWJhc2VkLWZlYXR1cmUtYnJhbmNoKV0gdGhpcmQgY29tbWl0CisJIEF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKwkgRGF0ZTogVGh1IEFwciA3IDE1OjE1OjEzIDIwMDUgLTA3MDAKKwkgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisJIGNyZWF0ZSBtb2RlIDEwMDY0NCBmaWxlMworCUNvbW1pdHRlZDogMDAwMiB0aGlyZCBjb21taXQKKwlBbGwgZG9uZS4KKwlBcHBsaWVkIGF1dG9zdGFzaC4KKwlFT0YKK30KKworY3JlYXRlX2V4cGVjdGVkX2ZhaWx1cmVfYW0gKCkgeworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GCisJJChncmVwICJeQ3JlYXRlZCBhdXRvc3Rhc2g6IFswLTlhLWZdWzAtOWEtZl0qXCQiIGFjdHVhbCkKKwlIRUFEIGlzIG5vdyBhdCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaCkgdGhpcmQgY29tbWl0CisJRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uCisJQXBwbHlpbmc6IHNlY29uZCBjb21taXQKKwlBcHBseWluZzogdGhpcmQgY29tbWl0CisJQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy4KKwlZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLgorCVlvdSBjYW4gcnVuICJnaXQgc3Rhc2ggcG9wIiBvciAiZ2l0IHN0YXNoIGRyb3AiIGF0IGFueSB0aW1lLgorCUVPRgorfQorCitjcmVhdGVfZXhwZWN0ZWRfZmFpbHVyZV9pbnRlcmFjdGl2ZSAoKSB7CisJcV90b19jciA+ZXhwZWN0ZWQgPDwtRU9GCisJJChncmVwICJeQ3JlYXRlZCBhdXRvc3Rhc2g6IFswLTlhLWZdWzAtOWEtZl0qXCQiIGFjdHVhbCkKKwlIRUFEIGlzIG5vdyBhdCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaCkgdGhpcmQgY29tbWl0CisJUmViYXNpbmcgKDEvMilRUmViYXNpbmcgKDIvMilRQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy4KKwlZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLgorCVlvdSBjYW4gcnVuICJnaXQgc3Rhc2ggcG9wIiBvciAiZ2l0IHN0YXNoIGRyb3AiIGF0IGFueSB0aW1lLgorCVN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkIHJlZnMvaGVhZHMvcmViYXNlZC1mZWF0dXJlLWJyYW5jaC4KKwlFT0YKK30KKworY3JlYXRlX2V4cGVjdGVkX2ZhaWx1cmVfbWVyZ2UgKCkgeworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GCisJJChncmVwICJeQ3JlYXRlZCBhdXRvc3Rhc2g6IFswLTlhLWZdWzAtOWEtZl0qXCQiIGFjdHVhbCkKKwlIRUFEIGlzIG5vdyBhdCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaCkgdGhpcmQgY29tbWl0CisJRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uCisJTWVyZ2luZyB1bnJlbGF0ZWQtb250by1icmFuY2ggd2l0aCBIRUFEfjEKKwlNZXJnaW5nOgorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHVucmVsYXRlZC1vbnRvLWJyYW5jaCkgdW5yZWxhdGVkIGNvbW1pdAorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IGZlYXR1cmUtYnJhbmNoXikgc2Vjb25kIGNvbW1pdAorCWZvdW5kIDEgY29tbW9uIGFuY2VzdG9yOgorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IGZlYXR1cmUtYnJhbmNofjIpIGluaXRpYWwgY29tbWl0CisJW2RldGFjaGVkIEhFQUQgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmViYXNlZC1mZWF0dXJlLWJyYW5jaH4xKV0gc2Vjb25kIGNvbW1pdAorCSBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisJIERhdGU6IFRodSBBcHIgNyAxNToxNDoxMyAyMDA1IC0wNzAwCisJIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisJIGNyZWF0ZSBtb2RlIDEwMDY0NCBmaWxlMQorCSBjcmVhdGUgbW9kZSAxMDA2NDQgZmlsZTIKKwlDb21taXR0ZWQ6IDAwMDEgc2Vjb25kIGNvbW1pdAorCU1lcmdpbmcgdW5yZWxhdGVkLW9udG8tYnJhbmNoIHdpdGggSEVBRH4wCisJTWVyZ2luZzoKKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWJhc2VkLWZlYXR1cmUtYnJhbmNofjEpIHNlY29uZCBjb21taXQKKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaCkgdGhpcmQgY29tbWl0CisJZm91bmQgMSBjb21tb24gYW5jZXN0b3I6CisJJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgZmVhdHVyZS1icmFuY2h+MSkgc2Vjb25kIGNvbW1pdAorCVtkZXRhY2hlZCBIRUFEICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlYmFzZWQtZmVhdHVyZS1icmFuY2gpXSB0aGlyZCBjb21taXQKKwkgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorCSBEYXRlOiBUaHUgQXByIDcgMTU6MTU6MTMgMjAwNSAtMDcwMAorCSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKwkgY3JlYXRlIG1vZGUgMTAwNjQ0IGZpbGUzCisJQ29tbWl0dGVkOiAwMDAyIHRoaXJkIGNvbW1pdAorCUFsbCBkb25lLgorCUFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuCisJWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC4KKwlZb3UgY2FuIHJ1biAiZ2l0IHN0YXNoIHBvcCIgb3IgImdpdCBzdGFzaCBkcm9wIiBhdCBhbnkgdGltZS4KKwlFT0YKK30KKwordGVzdHJlYmFzZSAoKSB7CiAJdHlwZT0kMQogCWRvdGVzdD0kMgogCkBAIC01MSwxNCArMTY3LDIwIEBACiAJCXRlc3RfY29uZmlnIHJlYmFzZS5hdXRvc3Rhc2ggdHJ1ZSAmJgogCQlnaXQgcmVzZXQgLS1oYXJkICYmCiAJCWdpdCBjaGVja291dCAtYiByZWJhc2VkLWZlYXR1cmUtYnJhbmNoIGZlYXR1cmUtYnJhbmNoICYmCi0JCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgYnJhbmNoIC1EIHJlYmFzZWQtZmVhdHVyZS1icmFuY2ggJiYKIAkJZWNobyBkaXJ0eSA+PmZpbGUzICYmCi0JCWdpdCByZWJhc2UkdHlwZSB1bnJlbGF0ZWQtb250by1icmFuY2ggJiYKKwkJZ2l0IHJlYmFzZSR0eXBlIHVucmVsYXRlZC1vbnRvLWJyYW5jaCA+YWN0dWFsIDI+JjEgJiYKIAkJZ3JlcCB1bnJlbGF0ZWQgZmlsZTQgJiYKIAkJZ3JlcCBkaXJ0eSBmaWxlMyAmJgogCQlnaXQgY2hlY2tvdXQgZmVhdHVyZS1icmFuY2gKIAknCiAKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJyZWJhc2UkdHlwZSAtLWF1dG9zdGFzaDogY2hlY2sgb3V0cHV0IiAnCisJCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgYnJhbmNoIC1EIHJlYmFzZWQtZmVhdHVyZS1icmFuY2ggJiYKKwkJc3VmZml4PSR7dHlwZSNcIC0tfSAmJiBzdWZmaXg9JHtzdWZmaXg6LWFtfSAmJgorCQljcmVhdGVfZXhwZWN0ZWRfc3VjY2Vzc18kc3VmZml4ICYmCisJCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKKwknCisKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICJyZWJhc2UkdHlwZTogZGlydHkgaW5kZXgsIG5vbi1jb25mbGljdGluZyByZWJhc2UiICcKIAkJdGVzdF9jb25maWcgcmViYXNlLmF1dG9zdGFzaCB0cnVlICYmCiAJCWdpdCByZXNldCAtLWhhcmQgJiYKQEAgLTEzNywxMCArMjU5LDkgQEAKIAkJdGVzdF9jb25maWcgcmViYXNlLmF1dG9zdGFzaCB0cnVlICYmCiAJCWdpdCByZXNldCAtLWhhcmQgJiYKIAkJZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZWQtZmVhdHVyZS1icmFuY2ggZmVhdHVyZS1icmFuY2ggJiYKLQkJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCBicmFuY2ggLUQgcmViYXNlZC1mZWF0dXJlLWJyYW5jaCAmJgogCQllY2hvIGRpcnR5ID5maWxlNCAmJgogCQlnaXQgYWRkIGZpbGU0ICYmCi0JCWdpdCByZWJhc2UkdHlwZSB1bnJlbGF0ZWQtb250by1icmFuY2ggJiYKKwkJZ2l0IHJlYmFzZSR0eXBlIHVucmVsYXRlZC1vbnRvLWJyYW5jaCA+YWN0dWFsIDI+JjEgJiYKIAkJdGVzdF9wYXRoX2lzX21pc3NpbmcgJGRvdGVzdCAmJgogCQlnaXQgcmVzZXQgLS1oYXJkICYmCiAJCWdyZXAgdW5yZWxhdGVkIGZpbGU0ICYmCkBAIC0xNDksNiArMjcwLDEzIEBACiAJCWdpdCBzdGFzaCBwb3AgJiYKIAkJZ3JlcCBkaXJ0eSBmaWxlNAogCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInJlYmFzZSR0eXBlOiBjaGVjayBvdXRwdXQgd2l0aCBjb25mbGljdGluZyBzdGFzaCIgJworCQl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IGJyYW5jaCAtRCByZWJhc2VkLWZlYXR1cmUtYnJhbmNoICYmCisJCXN1ZmZpeD0ke3R5cGUjXCAtLX0gJiYgc3VmZml4PSR7c3VmZml4Oi1hbX0gJiYKKwkJY3JlYXRlX2V4cGVjdGVkX2ZhaWx1cmVfJHN1ZmZpeCAmJgorCQl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCisJJwogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJyZWJhc2U6IGZhc3QtZm9yd2FyZCByZWJhc2UiICcKZGlmZiAtLWdpdCBhL3QvdDM0MjgtcmViYXNlLXNpZ25vZmYuc2ggYi90L3QzNDI4LXJlYmFzZS1zaWdub2ZmLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJhZmI1NjQKLS0tIC9kZXYvbnVsbAorKysgYi90L3QzNDI4LXJlYmFzZS1zaWdub2ZmLnNoCkBAIC0wLDAgKzEsNDYgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgcmViYXNlIC0tc2lnbm9mZgorCitUaGlzIHRlc3QgcnVucyBnaXQgcmViYXNlIC0tc2lnbm9mZiBhbmQgbWFrZSBzdXJlIHRoYXQgaXQgd29ya3MuCisnCisKKy4gLi90ZXN0LWxpYi5zaAorCisjIEEgc2ltcGxlIGZpbGUgdG8gY29tbWl0CitjYXQgPmZpbGUgPDxFT0YKK2EKK0VPRgorCisjIEV4cGVjdGVkIGNvbW1pdCBtZXNzYWdlIGFmdGVyIHJlYmFzZSAtLXNpZ25vZmYKK2NhdCA+ZXhwZWN0ZWQtc2lnbmVkIDw8RU9GCitmaXJzdAorCitTaWduZWQtb2ZmLWJ5OiAkKGdpdCB2YXIgR0lUX0NPTU1JVFRFUl9JREVOVCB8IHNlZCAtZSAicy8+LiovPi8iKQorRU9GCisKKyMgRXhwZWN0ZWQgY29tbWl0IG1lc3NhZ2UgYWZ0ZXIgcmViYXNlIHdpdGhvdXQgLS1zaWdub2ZmIChvciB3aXRoIC0tbm8tc2lnbm9mZikKK2NhdCA+ZXhwZWN0ZWQtdW5zaWduZWQgPDxFT0YKK2ZpcnN0CitFT0YKKworCisjIFdlIGNvbmZpZ3VyZSBhbiBhbGlhcyB0byBkbyB0aGUgcmViYXNlIC0tc2lnbm9mZiBzbyB0aGF0CisjIG9uIHRoZSBuZXh0IHN1YnRlc3Qgd2UgY2FuIHNob3cgdGhhdCAtLW5vLXNpZ25vZmYgb3ZlcnJpZGVzIHRoZSBhbGlhcwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tc2lnbm9mZiBhZGRzIGEgc2lnbi1vZmYgbGluZScgJworCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAiSW5pdGlhbCBlbXB0eSBjb21taXQiICYmCisJZ2l0IGFkZCBmaWxlICYmIGdpdCBjb21taXQgLW0gZmlyc3QgJiYKKwlnaXQgY29uZmlnIGFsaWFzLnJicyAicmViYXNlIC0tc2lnbm9mZiIgJiYKKwlnaXQgcmJzIEhFQUReICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1lICIxLC9eXCQvZCIgPiBhY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC1zaWduZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtLW5vLXNpZ25vZmYgZG9lcyBub3QgYWRkIGEgc2lnbi1vZmYgbGluZScgJworCWdpdCBjb21taXQgLS1hbWVuZCAtbSAiZmlyc3QiICYmCisJZ2l0IHJicyAtLW5vLXNpZ25vZmYgSEVBRF4gJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLWUgIjEsL15cJC9kIiA+IGFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkLXVuc2lnbmVkIGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MjktcmViYXNlLWVkaXQtdG9kby5zaCBiL3QvdDM0MjktcmViYXNlLWVkaXQtdG9kby5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iOTI5MmRmCi0tLSAvZGV2L251bGwKKysrIGIvdC90MzQyOS1yZWJhc2UtZWRpdC10b2RvLnNoCkBAIC0wLDAgKzEsMTQgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdyZWJhc2Ugc2hvdWxkIHJlcmVhZCB0aGUgdG9kbyBmaWxlIGlmIGFuIGV4ZWMgbW9kaWZpZXMgaXQnCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgZXhlYyBtb2RpZmllcyByZWJhc2UtdG9kbycgJworCXRlc3RfY29tbWl0IGluaXRpYWwgJiYKKwl0b2RvPS5naXQvcmViYXNlLW1lcmdlL2dpdC1yZWJhc2UtdG9kbyAmJgorCWdpdCByZWJhc2UgSEVBRCAteCAiZWNobyBleGVjIHRvdWNoIEYgPj4kdG9kbyIgJiYKKwl0ZXN0IC1lIEYKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNTAyLWNoZXJyeS1waWNrLW1lcmdlLnNoIGIvdC90MzUwMi1jaGVycnktcGljay1tZXJnZS5zaAppbmRleCBlMzc1NDdmLi5iMTYwMjcxIDEwMDc1NQotLS0gYS90L3QzNTAyLWNoZXJyeS1waWNrLW1lcmdlLnNoCisrKyBiL3QvdDM1MDItY2hlcnJ5LXBpY2stbWVyZ2Uuc2gKQEAgLTMxLDYgKzMxLDE1IEBACiAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgLW0gY29tcGxhaW5zIG9mIGJvZ3VzIG51bWJlcnMnICcKKwkjIGV4cGVjdCAxMjkgaGVyZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGNhc2VzIHdoZXJlCisJIyB0aGVyZSB3YXMgbm90aGluZyB0byBjaGVycnktcGljaworCXRlc3RfZXhwZWN0X2NvZGUgMTI5IGdpdCBjaGVycnktcGljayAtbSAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMTI5IGdpdCBjaGVycnktcGljayAtbSBmb28gYiAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMTI5IGdpdCBjaGVycnktcGljayAtbSAtMSBiICYmCisJdGVzdF9leHBlY3RfY29kZSAxMjkgZ2l0IGNoZXJyeS1waWNrIC1tIDAgYgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayBhIG5vbi1tZXJnZSB3aXRoIC1tIHNob3VsZCBmYWlsJyAnCiAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCmRpZmYgLS1naXQgYS90L3QzNTA0LWNoZXJyeS1waWNrLXJlcmVyZS5zaCBiL3QvdDM1MDQtY2hlcnJ5LXBpY2stcmVyZXJlLnNoCmluZGV4IGU2YTY0ODEuLmEyNjdiMmQgMTAwNzU1Ci0tLSBhL3QvdDM1MDQtY2hlcnJ5LXBpY2stcmVyZXJlLnNoCisrKyBiL3QvdDM1MDQtY2hlcnJ5LXBpY2stcmVyZXJlLnNoCkBAIC01LDE0ICs1LDEzIEBACiAuIC4vdGVzdC1saWIuc2gKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCi0JZWNobyBmb28gPmZvbyAmJgotCWdpdCBhZGQgZm9vICYmIHRlc3RfdGljayAmJiBnaXQgY29tbWl0IC1xIC1tIDEgJiYKLQllY2hvIGZvby1tYXN0ZXIgPmZvbyAmJgotCWdpdCBhZGQgZm9vICYmIHRlc3RfdGljayAmJiBnaXQgY29tbWl0IC1xIC1tIDIgJiYKKwl0ZXN0X2NvbW1pdCBmb28gJiYKKwl0ZXN0X2NvbW1pdCBmb28tbWFzdGVyIGZvbyAmJgorCXRlc3RfY29tbWl0IGJhci1tYXN0ZXIgYmFyICYmCiAKLQlnaXQgY2hlY2tvdXQgLWIgZGV2IEhFQUReICYmCi0JZWNobyBmb28tZGV2ID5mb28gJiYKLQlnaXQgYWRkIGZvbyAmJiB0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtcSAtbSAzICYmCisJZ2l0IGNoZWNrb3V0IC1iIGRldiBmb28gJiYKKwl0ZXN0X2NvbW1pdCBmb28tZGV2IGZvbyAmJgorCXRlc3RfY29tbWl0IGJhci1kZXYgYmFyICYmCiAJZ2l0IGNvbmZpZyByZXJlcmUuZW5hYmxlZCB0cnVlCiAnCiAKQEAgLTIxLDIzICsyMCw4MCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaXh1cCcgJwotCWVjaG8gZm9vLWRldiA+Zm9vICYmCi0JZ2l0IGFkZCBmb28gJiYgdGVzdF90aWNrICYmIGdpdCBjb21taXQgLXEgLW0gNCAmJgotCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKLQllY2hvIGZvby1kZXYgPmV4cGVjdAorCWVjaG8gZm9vLXJlc29sdmVkID5mb28gJiYKKwllY2hvIGJhci1yZXNvbHZlZCA+YmFyICYmCisJZ2l0IGNvbW1pdCAtYW0gcmVzb2x2ZWQgJiYKKwljcCBmb28gZm9vLWV4cGVjdCAmJgorCWNwIGJhciBiYXItZXhwZWN0ICYmCisJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayBjb25mbGljdCcgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayBtYXN0ZXIgJiYKLQl0ZXN0X2NtcCBleHBlY3QgZm9vCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayBjb25mbGljdCB3aXRoIC0tcmVyZXJlLWF1dG91cGRhdGUnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgLS1yZXJlcmUtYXV0b3VwZGF0ZSBmb28uLmJhci1tYXN0ZXIgJiYKKwl0ZXN0X2NtcCBmb28tZXhwZWN0IGZvbyAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSAmJgorCXRlc3RfY21wIGJhci1leHBlY3QgYmFyICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAmJgorCWdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlICYmCisJZ2l0IHJlc2V0IC0taGFyZCBiYXItZGV2CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlY29uZmlndXJlJyAnCi0JZ2l0IGNvbmZpZyByZXJlcmUuZW5hYmxlZCBmYWxzZSAmJgotCWdpdCByZXNldCAtLWhhcmQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIGNvbmZsaWN0IHJlcHNlY3RzIHJlcmVyZS5hdXRvVXBkYXRlJyAnCisJdGVzdF9jb25maWcgcmVyZXJlLmF1dG9VcGRhdGUgdHJ1ZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayBmb28uLmJhci1tYXN0ZXIgJiYKKwl0ZXN0X2NtcCBmb28tZXhwZWN0IGZvbyAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSAmJgorCXRlc3RfY21wIGJhci1leHBlY3QgYmFyICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAmJgorCWdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlICYmCisJZ2l0IHJlc2V0IC0taGFyZCBiYXItZGV2CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIGNvbmZsaWN0IHdpdGggLS1uby1yZXJlcmUtYXV0b3VwZGF0ZScgJworCXRlc3RfY29uZmlnIHJlcmVyZS5hdXRvVXBkYXRlIHRydWUgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgLS1uby1yZXJlcmUtYXV0b3VwZGF0ZSBmb28uLmJhci1tYXN0ZXIgJiYKKwl0ZXN0X2NtcCBmb28tZXhwZWN0IGZvbyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKKwlnaXQgYWRkIGZvbyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlICYmCisJdGVzdF9jbXAgYmFyLWV4cGVjdCBiYXIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZi1maWxlcyAtLXF1aWV0ICYmCisJZ2l0IGFkZCBiYXIgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSAmJgorCWdpdCByZXNldCAtLWhhcmQgYmFyLWRldgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayAtLWNvbnRpbnVlIHJlamVjdHMgLS1yZXJlcmUtYXV0b3VwZGF0ZScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtLXJlcmVyZS1hdXRvdXBkYXRlIGZvby4uYmFyLW1hc3RlciAmJgorCXRlc3RfY21wIGZvby1leHBlY3QgZm9vICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlIC0tcmVyZXJlLWF1dG91cGRhdGUgPmFjdHVhbCAyPiYxICYmCisJZWNobyAiZmF0YWw6IGNoZXJyeS1waWNrOiAtLXJlcmVyZS1hdXRvdXBkYXRlIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1jb250aW51ZSIgPmV4cGVjdCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUgLS1uby1yZXJlcmUtYXV0b3VwZGF0ZSA+YWN0dWFsIDI+JjEgJiYKKwllY2hvICJmYXRhbDogY2hlcnJ5LXBpY2s6IC0tbm8tcmVyZXJlLWF1dG91cGRhdGUgY2Fubm90IGJlIHVzZWQgd2l0aCAtLWNvbnRpbnVlIiA+ZXhwZWN0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayAtLXJlcmVyZS1hdXRvdXBkYXRlIG1vcmUgdGhhbiBvbmNlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIC0tcmVyZXJlLWF1dG91cGRhdGUgLS1yZXJlcmUtYXV0b3VwZGF0ZSBmb28uLmJhci1tYXN0ZXIgJiYKKwl0ZXN0X2NtcCBmb28tZXhwZWN0IGZvbyAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtLXJlcmVyZS1hdXRvdXBkYXRlIC0tbm8tcmVyZXJlLWF1dG91cGRhdGUgLS1yZXJlcmUtYXV0b3VwZGF0ZSBmb28uLmJhci1tYXN0ZXIgJiYKKwl0ZXN0X2NtcCBmb28tZXhwZWN0IGZvbyAmJgorCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtLXJlcmVyZS1hdXRvdXBkYXRlIC0tbm8tcmVyZXJlLWF1dG91cGRhdGUgZm9vLi5iYXItbWFzdGVyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAmJgorCWdpdCBjaGVycnktcGljayAtLWFib3J0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIGNvbmZsaWN0IHdpdGhvdXQgcmVyZXJlJyAnCisJdGVzdF9jb25maWcgcmVyZXJlLmVuYWJsZWQgZmFsc2UgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgbWFzdGVyICYmCiAJdGVzdF9tdXN0X2ZhaWwgdGVzdF9jbXAgZXhwZWN0IGZvbwogJwpkaWZmIC0tZ2l0IGEvdC90MzUxMS1jaGVycnktcGljay14LnNoIGIvdC90MzUxMS1jaGVycnktcGljay14LnNoCmluZGV4IGJmMGE1YzkuLjk4ODhiZjMgMTAwNzU1Ci0tLSBhL3QvdDM1MTEtY2hlcnJ5LXBpY2steC5zaAorKysgYi90L3QzNTExLWNoZXJyeS1waWNrLXguc2gKQEAgLTIwOCw2ICsyMDgsNTAgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIC14IGhhbmRsZXMgY29tbWl0cyB3aXRoIG5vIE5MIGF0IGVuZCBvZiBtZXNzYWdlJyAnCisJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKKwlwcmludGYgInRpdGxlXG5cblNpZ25lZC1vZmYtYnk6IEEgPGFAZXhhbXBsZS5jb20+IiA+bXNnICYmCisJc2hhMT0kKGdpdCBjb21taXQtdHJlZSAtcCBpbml0aWFsIG1lc2ctd2l0aC1mb290ZXJee3RyZWV9IDxtc2cpICYmCisJZ2l0IGNoZXJyeS1waWNrIC14ICRzaGExICYmCisJZ2l0IGxvZyAtMSAtLXByZXR0eT1mb3JtYXQ6JUIgPmFjdHVhbCAmJgorCisJcHJpbnRmICJcbihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0ICVzKVxuIiAkc2hhMSA+Pm1zZyAmJgorCXRlc3RfY21wIG1zZyBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgLXggaGFuZGxlcyBjb21taXRzIHdpdGggbm8gZm9vdGVyIGFuZCBubyBOTCBhdCBlbmQgb2YgbWVzc2FnZScgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJcHJpbnRmICJ0aXRsZVxuXG5ub3QgYSBmb290ZXIiID5tc2cgJiYKKwlzaGExPSQoZ2l0IGNvbW1pdC10cmVlIC1wIGluaXRpYWwgbWVzZy13aXRoLWZvb3Rlcl57dHJlZX0gPG1zZykgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLXggJHNoYTEgJiYKKwlnaXQgbG9nIC0xIC0tcHJldHR5PWZvcm1hdDolQiA+YWN0dWFsICYmCisKKwlwcmludGYgIlxuXG4oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAlcylcbiIgJHNoYTEgPj5tc2cgJiYKKwl0ZXN0X2NtcCBtc2cgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIC1zIGhhbmRsZXMgY29tbWl0cyB3aXRoIG5vIE5MIGF0IGVuZCBvZiBtZXNzYWdlJyAnCisJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKKwlwcmludGYgInRpdGxlXG5cblNpZ25lZC1vZmYtYnk6IEEgPGFAZXhhbXBsZS5jb20+IiA+bXNnICYmCisJc2hhMT0kKGdpdCBjb21taXQtdHJlZSAtcCBpbml0aWFsIG1lc2ctd2l0aC1mb290ZXJee3RyZWV9IDxtc2cpICYmCisJZ2l0IGNoZXJyeS1waWNrIC1zICRzaGExICYmCisJZ2l0IGxvZyAtMSAtLXByZXR0eT1mb3JtYXQ6JUIgPmFjdHVhbCAmJgorCisJcHJpbnRmICJcblNpZ25lZC1vZmYtYnk6ICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPlxuIiA+Pm1zZyAmJgorCXRlc3RfY21wIG1zZyBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgLXMgaGFuZGxlcyBjb21taXRzIHdpdGggbm8gZm9vdGVyIGFuZCBubyBOTCBhdCBlbmQgb2YgbWVzc2FnZScgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJcHJpbnRmICJ0aXRsZVxuXG5ub3QgYSBmb290ZXIiID5tc2cgJiYKKwlzaGExPSQoZ2l0IGNvbW1pdC10cmVlIC1wIGluaXRpYWwgbWVzZy13aXRoLWZvb3Rlcl57dHJlZX0gPG1zZykgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLXMgJHNoYTEgJiYKKwlnaXQgbG9nIC0xIC0tcHJldHR5PWZvcm1hdDolQiA+YWN0dWFsICYmCisKKwlwcmludGYgIlxuXG5TaWduZWQtb2ZmLWJ5OiAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD5cbiIgPj5tc2cgJiYKKwl0ZXN0X2NtcCBtc2cgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIC14IHRyZWF0cyAiKGNoZXJyeSBwaWNrZWQgZnJvbS4uLiIgbGluZSBhcyBwYXJ0IG9mIGZvb3RlcicgJwogCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCiAJc2hhMT0kKGdpdCByZXYtcGFyc2UgbWVzZy13aXRoLWNoZXJyeS1mb290ZXJeMCkgJiYKZGlmZiAtLWdpdCBhL3QvdDM2MDAtcm0uc2ggYi90L3QzNjAwLXJtLnNoCmluZGV4IDNjNjM0NTUuLmY4NTY4ZjggMTAwNzU1Ci0tLSBhL3QvdDM2MDAtcm0uc2gKKysrIGIvdC90MzYwMC1ybS5zaApAQCAtOTcsOSArOTcsOSBAQAogZW1iZWRkZWQnIgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFNBTklUWSAnVGVzdCB0aGF0ICJnaXQgcm0gLWYiIGZhaWxzIGlmIGl0cyBybSBmYWlscycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiY2htb2QgNzc1IC4iICYmCiAJY2htb2QgYS13IC4gJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcm0gLWYgYmF6ICYmCi0JY2htb2QgNzc1IC4KKwl0ZXN0X211c3RfZmFpbCBnaXQgcm0gLWYgYmF6CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXApAQCAtMjY4LDYgKzI2OCwxNCBAQAogIE0gc3VibW9kCiBFT0YKIAorY2F0ID5leHBlY3QubW9kaWZpZWRfaW5zaWRlIDw8RU9GCisgbSBzdWJtb2QKK0VPRgorCitjYXQgPmV4cGVjdC5tb2RpZmllZF91bnRyYWNrZWQgPDxFT0YKKyA/IHN1Ym1vZAorRU9GCisKIGNhdCA+ZXhwZWN0LmNhY2hlZCA8PEVPRgogRCAgc3VibW9kCiBFT0YKQEAgLTQyMSw3ICs0MjksNyBAQAogCXRlc3QgLWQgc3VibW9kICYmCiAJdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdC5tb2RpZmllZCBhY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QubW9kaWZpZWRfaW5zaWRlIGFjdHVhbCAmJgogCWdpdCBybSAtZiBzdWJtb2QgJiYKIAl0ZXN0ICEgLWQgc3VibW9kICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vIC0taWdub3JlLXN1Ym1vZHVsZXM9bm9uZSA+YWN0dWFsICYmCkBAIC00MzYsNyArNDQ0LDcgQEAKIAl0ZXN0IC1kIHN1Ym1vZCAmJgogCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QubW9kaWZpZWQgYWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0Lm1vZGlmaWVkX3VudHJhY2tlZCBhY3R1YWwgJiYKIAlnaXQgcm0gLWYgc3VibW9kICYmCiAJdGVzdCAhIC1kIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgpAQCAtNjIxLDcgKzYyOSw3IEBACiAJdGVzdCAtZCBzdWJtb2QgJiYKIAl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vIC0taWdub3JlLXN1Ym1vZHVsZXM9bm9uZSA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0Lm1vZGlmaWVkIGFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdC5tb2RpZmllZF9pbnNpZGUgYWN0dWFsICYmCiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgogCXRlc3QgISAtZCBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKQEAgLTYzNiw3ICs2NDQsNyBAQAogCXRlc3QgLWQgc3VibW9kICYmCiAJdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdC5tb2RpZmllZCBhY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QubW9kaWZpZWRfaW5zaWRlIGFjdHVhbCAmJgogCWdpdCBybSAtZiBzdWJtb2QgJiYKIAl0ZXN0ICEgLWQgc3VibW9kICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vIC0taWdub3JlLXN1Ym1vZHVsZXM9bm9uZSA+YWN0dWFsICYmCkBAIC02NTEsNyArNjU5LDcgQEAKIAl0ZXN0IC1kIHN1Ym1vZCAmJgogCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QubW9kaWZpZWQgYWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0Lm1vZGlmaWVkX3VudHJhY2tlZCBhY3R1YWwgJiYKIAlnaXQgcm0gLWYgc3VibW9kICYmCiAJdGVzdCAhIC1kIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgpkaWZmIC0tZ2l0IGEvdC90MzcwMC1hZGQuc2ggYi90L3QzNzAwLWFkZC5zaAppbmRleCBmM2E0YjRhLi4wYWFlMjFkIDEwMDc1NQotLS0gYS90L3QzNzAwLWFkZC5zaAorKysgYi90L3QzNzAwLWFkZC5zaApAQCAtMzU2LDYgKzM1Niw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBhZGQgLS1jaG1vZD1bKy1deCBjaGFuZ2VzIGluZGV4IHdpdGggYWxyZWFkeSBhZGRlZCBmaWxlJyAnCiAJcm0gLWYgZm9vMyB4Zm9vMyAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKIAllY2hvIGZvbyA+Zm9vMyAmJgogCWdpdCBhZGQgZm9vMyAmJgogCWdpdCBhZGQgLS1jaG1vZD0reCBmb28zICYmCmRpZmYgLS1naXQgYS90L3QzNzAxLWFkZC1pbnRlcmFjdGl2ZS5zaCBiL3QvdDM3MDEtYWRkLWludGVyYWN0aXZlLnNoCmluZGV4IGFhYTI1OGQuLjJmM2U3Y2UgMTAwNzU1Ci0tLSBhL3QvdDM3MDEtYWRkLWludGVyYWN0aXZlLnNoCisrKyBiL3QvdDM3MDEtYWRkLWludGVyYWN0aXZlLnNoCkBAIC00MTIsNCArNDEyLDc3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgLXAgaGFuZGxlcyBnbG9icycgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKworCW1rZGlyIC1wIHN1YmRpciAmJgorCWVjaG8gYmFzZSA+b25lLmMgJiYKKwllY2hvIGJhc2UgPnN1YmRpci90d28uYyAmJgorCWdpdCBhZGQgIiouYyIgJiYKKwlnaXQgY29tbWl0IC1tIGJhc2UgJiYKKworCWVjaG8gY2hhbmdlID5vbmUuYyAmJgorCWVjaG8gY2hhbmdlID5zdWJkaXIvdHdvLmMgJiYKKwlnaXQgYWRkIC1wICIqLmMiIDw8LVxFT0YgJiYKKwl5CisJeQorCUVPRgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCW9uZS5jCisJc3ViZGlyL3R3by5jCisJRU9GCisJZ2l0IGRpZmYgLS1jYWNoZWQgLS1uYW1lLW9ubHkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIC1wIGhhbmRsZXMgcmVsYXRpdmUgcGF0aHMnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisKKwllY2hvIGJhc2UgPnJlbHBhdGguYyAmJgorCWdpdCBhZGQgIiouYyIgJiYKKwlnaXQgY29tbWl0IC1tIHJlbHBhdGggJiYKKworCWVjaG8gY2hhbmdlID5yZWxwYXRoLmMgJiYKKwlta2RpciAtcCBzdWJkaXIgJiYKKwlnaXQgLUMgc3ViZGlyIGFkZCAtcCAuLiAyPmVycm9yIDw8LVxFT0YgJiYKKwl5CisJRU9GCisKKwl0ZXN0X211c3RfYmVfZW1wdHkgZXJyb3IgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlyZWxwYXRoLmMKKwlFT0YKKwlnaXQgZGlmZiAtLWNhY2hlZCAtLW5hbWUtb25seSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgLXAgZG9lcyBub3QgZXhwYW5kIGFyZ3VtZW50IGxpc3RzJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCisJZWNobyBjb250ZW50ID5ub3QtY2hhbmdlZCAmJgorCWdpdCBhZGQgbm90LWNoYW5nZWQgJiYKKwlnaXQgY29tbWl0IC1tICJhZGQgbm90LWNoYW5nZWQgZmlsZSIgJiYKKworCWVjaG8gY2hhbmdlID5maWxlICYmCisJR0lUX1RSQUNFPSQocHdkKS90cmFjZS5vdXQgZ2l0IGFkZCAtcCAuIDw8LVxFT0YgJiYKKwl5CisJRU9GCisKKwkjIHdlIGtub3cgdGhhdCAiZmlsZSIgbXVzdCBiZSBtZW50aW9uZWQgc2luY2Ugd2UgYWN0dWFsbHkKKwkjIHVwZGF0ZSBpdCwgYnV0IHdlIHdhbnQgdG8gYmUgc3VyZSB0aGF0IG91ciAiLiIgcGF0aHNwZWMKKwkjIHdhcyBub3QgZXhwYW5kZWQgaW50byB0aGUgYXJndW1lbnQgbGlzdCBvZiBhbnkgY29tbWFuZC4KKwkjIFNvIGxvb2sgb25seSBmb3IgIm5vdC1jaGFuZ2VkIi4KKwkhIGdyZXAgbm90LWNoYW5nZWQgdHJhY2Uub3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2h1bmstZWRpdGluZyBoYW5kbGVzIGN1c3RvbSBjb21tZW50IGNoYXInICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZWNobyBjaGFuZ2UgPj5maWxlICYmCisJdGVzdF9jb25maWcgY29yZS5jb21tZW50Q2hhciAiXCQiICYmCisJZWNobyBlIHwgR0lUX0VESVRPUj10cnVlIGdpdCBhZGQgLXAgJiYKKwlnaXQgZGlmZiAtLWV4aXQtY29kZQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM5MDEtaTE4bi1wYXRjaC5zaCBiL3QvdDM5MDEtaTE4bi1wYXRjaC5zaAppbmRleCBmNjYzZDU2Li45MjNlYjAxIDEwMDc1NQotLS0gYS90L3QzOTAxLWkxOG4tcGF0Y2guc2gKKysrIGIvdC90MzkwMS1pMThuLXBhdGNoLnNoCkBAIC0zMSw3ICszMSw3IEBACiAKIAkjIHVzZSBVVEYtOCBpbiBhdXRob3IgYW5kIGNvbW1pdHRlciBuYW1lIHRvIG1hdGNoIHRoZQogCSMgaTE4bi5jb21taXRlbmNvZGluZyBzZXR0aW5ncwotCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEtdXRmOC50eHQgJiYKKwkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxL3V0ZjgudHh0ICYmCiAKIAl0ZXN0X3RpY2sgJiYKIAllY2hvICIkR0lUX0FVVEhPUl9OQU1FIiA+bWluZSAmJgpAQCAtNTUsNyArNTUsNyBAQAogCQkjIHRoZSBzZWNvbmQgb25lIG9uIHRoZSBzaWRlIGJyYW5jaCBpcyBJU08tODg1OS0xCiAJCWdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyBJU084ODU5LTEgJiYKIAkJIyB1c2UgYXV0aG9yIGFuZCBjb21taXR0ZXIgbmFtZSBpbiBJU08tODg1OS0xIHRvIG1hdGNoIGl0LgotCQkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLTg4NTktMS50eHQKKwkJLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS84ODU5LTEudHh0CiAJZmkgJiYKIAl0ZXN0X3RpY2sgJiYKIAllY2hvIFlldCBhbm90aGVyID50aGVpcnMgJiYKQEAgLTEwMCw3ICsxMDAsNyBAQAogCiAJIyBUaGUgcmVzdWx0IHdpbGwgYmUgY29tbWl0dGVkIGJ5IEdJVF9DT01NSVRURVJfTkFNRSAtLQogCSMgd2Ugd2FudCBVVEYtOCBlbmNvZGVkIG5hbWUuCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS11dGY4LnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvdXRmOC50eHQgJiYKIAlnaXQgY2hlY2tvdXQgLWIgdGVzdCAmJgogCWdpdCByZWJhc2UgbWFzdGVyICYmCiAKQEAgLTExMCw3ICsxMTAsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIChVL0wpJyAnCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIFVURi04ICYmCiAJZ2l0IGNvbmZpZyBpMThuLmxvZ291dHB1dGVuY29kaW5nIElTTzg4NTktMSAmJgotCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEtdXRmOC50eHQgJiYKKwkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxL3V0ZjgudHh0ICYmCiAKIAlnaXQgcmVzZXQgLS1oYXJkIHNpZGUgJiYKIAlnaXQgcmViYXNlIG1hc3RlciAmJgpAQCAtMTIyLDcgKzEyMiw3IEBACiAJIyBJbiB0aGlzIHRlc3Qgd2Ugd2FudCBJU08tODg1OS0xIGVuY29kZWQgY29tbWl0cyBhcyB0aGUgcmVzdWx0CiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIElTTzg4NTktMSAmJgogCWdpdCBjb25maWcgaTE4bi5sb2dvdXRwdXRlbmNvZGluZyBJU084ODU5LTEgJiYKLQkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLTg4NTktMS50eHQgJiYKKwkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLzg4NTktMS50eHQgJiYKIAogCWdpdCByZXNldCAtLWhhcmQgc2lkZSAmJgogCWdpdCByZWJhc2UgbWFzdGVyICYmCkBAIC0xMzUsNyArMTM1LDcgQEAKIAkjIHRvIGdldCBJU08tODg1OS0xIHJlc3VsdHMuCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIElTTzg4NTktMSAmJgogCWdpdCBjb25maWcgaTE4bi5sb2dvdXRwdXRlbmNvZGluZyBVVEYtOCAmJgotCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEtODg1OS0xLnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvODg1OS0xLnR4dCAmJgogCiAJZ2l0IHJlc2V0IC0taGFyZCBzaWRlICYmCiAJZ2l0IHJlYmFzZSBtYXN0ZXIgJiYKQEAgLTE0OCw3ICsxNDgsNyBAQAogCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIFVURi04ICYmCiAJZ2l0IGNvbmZpZyBpMThuLmxvZ291dHB1dGVuY29kaW5nIFVURi04ICYmCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS11dGY4LnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvdXRmOC50eHQgJiYKIAogCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyICYmCiAJZ2l0IGNoZXJyeS1waWNrIHNpZGVeICYmCkBAIC0xNjMsNyArMTYzLDcgQEAKIAogCWdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyBJU084ODU5LTEgJiYKIAlnaXQgY29uZmlnIGkxOG4ubG9nb3V0cHV0ZW5jb2RpbmcgSVNPODg1OS0xICYmCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS04ODU5LTEudHh0ICYmCisJLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS84ODU5LTEudHh0ICYmCiAKIAlnaXQgcmVzZXQgLS1oYXJkIG1hc3RlciAmJgogCWdpdCBjaGVycnktcGljayBzaWRlXiAmJgpAQCAtMTc4LDcgKzE3OCw3IEBACiAKIAlnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgVVRGLTggJiYKIAlnaXQgY29uZmlnIGkxOG4ubG9nb3V0cHV0ZW5jb2RpbmcgSVNPODg1OS0xICYmCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS11dGY4LnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvdXRmOC50eHQgJiYKIAogCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyICYmCiAJZ2l0IGNoZXJyeS1waWNrIHNpZGVeICYmCkBAIC0xOTQsNyArMTk0LDcgQEAKIAogCWdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyBJU084ODU5LTEgJiYKIAlnaXQgY29uZmlnIGkxOG4ubG9nb3V0cHV0ZW5jb2RpbmcgVVRGLTggJiYKLQkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLTg4NTktMS50eHQgJiYKKwkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLzg4NTktMS50eHQgJiYKIAogCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyICYmCiAJZ2l0IGNoZXJyeS1waWNrIHNpZGVeICYmCkBAIC0yMDcsNyArMjA3LDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtLW1lcmdlIChVL1UpJyAnCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIFVURi04ICYmCiAJZ2l0IGNvbmZpZyBpMThuLmxvZ291dHB1dGVuY29kaW5nIFVURi04ICYmCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS11dGY4LnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvdXRmOC50eHQgJiYKIAogCWdpdCByZXNldCAtLWhhcmQgc2lkZSAmJgogCWdpdCByZWJhc2UgLS1tZXJnZSBtYXN0ZXIgJiYKQEAgLTIxOCw3ICsyMTgsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tbWVyZ2UgKFUvTCknICcKIAlnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgVVRGLTggJiYKIAlnaXQgY29uZmlnIGkxOG4ubG9nb3V0cHV0ZW5jb2RpbmcgSVNPODg1OS0xICYmCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS11dGY4LnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvdXRmOC50eHQgJiYKIAogCWdpdCByZXNldCAtLWhhcmQgc2lkZSAmJgogCWdpdCByZWJhc2UgLS1tZXJnZSBtYXN0ZXIgJiYKQEAgLTIzMCw3ICsyMzAsNyBAQAogCSMgSW4gdGhpcyB0ZXN0IHdlIHdhbnQgSVNPLTg4NTktMSBlbmNvZGVkIGNvbW1pdHMgYXMgdGhlIHJlc3VsdAogCWdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyBJU084ODU5LTEgJiYKIAlnaXQgY29uZmlnIGkxOG4ubG9nb3V0cHV0ZW5jb2RpbmcgSVNPODg1OS0xICYmCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS04ODU5LTEudHh0ICYmCisJLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS84ODU5LTEudHh0ICYmCiAKIAlnaXQgcmVzZXQgLS1oYXJkIHNpZGUgJiYKIAlnaXQgcmViYXNlIC0tbWVyZ2UgbWFzdGVyICYmCkBAIC0yNDMsNyArMjQzLDcgQEAKIAkjIHRvIGdldCBJU08tODg1OS0xIHJlc3VsdHMuCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIElTTzg4NTktMSAmJgogCWdpdCBjb25maWcgaTE4bi5sb2dvdXRwdXRlbmNvZGluZyBVVEYtOCAmJgotCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEtODg1OS0xLnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvODg1OS0xLnR4dCAmJgogCiAJZ2l0IHJlc2V0IC0taGFyZCBzaWRlICYmCiAJZ2l0IHJlYmFzZSAtLW1lcmdlIG1hc3RlciAmJgpAQCAtMjU0LDcgKzI1NCw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbSAoVS9VKScgJwogCSMgQXBwbHkgVVRGLTggcGF0Y2hlcyB3aXRoIFVURi04IGNvbW1pdGVuY29kaW5nCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIFVURi04ICYmCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS11dGY4LnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvdXRmOC50eHQgJiYKIAogCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyICYmCiAJZ2l0IGFtIG91dC11MSBvdXQtdTIgJiYKQEAgLTI2NSw3ICsyNjUsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1cgJ2FtIChML0wpJyAnCiAJIyBBcHBseSBJU08tODg1OS0xIHBhdGNoZXMgd2l0aCBJU08tODg1OS0xIGNvbW1pdGVuY29kaW5nCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIElTTzg4NTktMSAmJgotCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEtODg1OS0xLnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvODg1OS0xLnR4dCAmJgogCiAJZ2l0IHJlc2V0IC0taGFyZCBtYXN0ZXIgJiYKIAlnaXQgYW0gb3V0LWwxIG91dC1sMiAmJgpAQCAtMjc2LDcgKzI3Niw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbSAoVS9MKScgJwogCSMgQXBwbHkgSVNPLTg4NTktMSBwYXRjaGVzIHdpdGggVVRGLTggY29tbWl0ZW5jb2RpbmcKIAlnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgVVRGLTggJiYKLQkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLXV0ZjgudHh0ICYmCisJLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS91dGY4LnR4dCAmJgogCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyICYmCiAKIAkjIGFtIHNwZWNpZmllcyAtLXV0ZjggYnkgZGVmYXVsdC4KQEAgLTI4OCw3ICsyODgsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYW0gLS1uby11dGY4IChVL0wpJyAnCiAJIyBBcHBseSBJU08tODg1OS0xIHBhdGNoZXMgd2l0aCBVVEYtOCBjb21taXRlbmNvZGluZwogCWdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyBVVEYtOCAmJgotCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEtdXRmOC50eHQgJiYKKwkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxL3V0ZjgudHh0ICYmCiAKIAlnaXQgcmVzZXQgLS1oYXJkIG1hc3RlciAmJgogCWdpdCBhbSAtLW5vLXV0Zjggb3V0LWwxIG91dC1sMiAyPmVyciAmJgpAQCAtMzAzLDcgKzMwMyw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVyAnYW0gKEwvVSknICcKIAkjIEFwcGx5IFVURi04IHBhdGNoZXMgd2l0aCBJU08tODg1OS0xIGNvbW1pdGVuY29kaW5nCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIElTTzg4NTktMSAmJgotCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEtODg1OS0xLnR4dCAmJgorCS4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvODg1OS0xLnR4dCAmJgogCiAJZ2l0IHJlc2V0IC0taGFyZCBtYXN0ZXIgJiYKIAkjIG1haWxpbmZvIHdpbGwgcmUtY29kZSB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gdGhlIGNoYXJzZXQgc3BlY2lmaWVkIGJ5CmRpZmYgLS1naXQgYS90L3QzOTAxLTg4NTktMS50eHQgYi90L3QzOTAxLzg4NTktMS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHQvdDM5MDEtODg1OS0xLnR4dApyZW5hbWUgdG8gdC90MzkwMS84ODU5LTEudHh0CmRpZmYgLS1naXQgYS90L3QzOTAxLXV0ZjgudHh0IGIvdC90MzkwMS91dGY4LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90MzkwMS11dGY4LnR4dApyZW5hbWUgdG8gdC90MzkwMS91dGY4LnR4dApkaWZmIC0tZ2l0IGEvdC90MzkwMy1zdGFzaC5zaCBiL3QvdDM5MDMtc3Rhc2guc2gKaW5kZXggMmRlM2UxOC4uM2IxYWMxOSAxMDA3NTUKLS0tIGEvdC90MzkwMy1zdGFzaC5zaAorKysgYi90L3QzOTAzLXN0YXNoLnNoCkBAIC0yNzQsOSArMjc0LDcgQEAKIAlnaXQgYWRkIGZpbGUyICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN0YXNoIC0taW52YWxpZC1vcHRpb24gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggc2F2ZSAtLWludmFsaWQtb3B0aW9uICYmCi0JdGVzdCBiYXI1LGJhcjYgPSAkKGNhdCBmaWxlKSwkKGNhdCBmaWxlMikgJiYKLQlnaXQgc3Rhc2ggLS0gLW1lc3NhZ2Utc3RhcnRpbmctd2l0aC1kYXNoICYmCi0JdGVzdCBiYXIsYmFyMiA9ICQoY2F0IGZpbGUpLCQoY2F0IGZpbGUyKQorCXRlc3QgYmFyNSxiYXI2ID0gJChjYXQgZmlsZSksJChjYXQgZmlsZTIpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIGFuIGFkZGVkIGZpbGUnICcKQEAgLTQ0Niw2ICs0NDQsMTQgQEAKIAl0ZXN0IGZvbyA9ICIkKGNhdCBmaWxlL2ZpbGUpIgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBjcmVhdGUgLSBubyBjaGFuZ2VzJyAnCisJZ2l0IHN0YXNoIGNsZWFyICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUQiICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdGFzaCBjcmVhdGUgPmFjdHVhbCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggYnJhbmNoIC0gbm8gc3Rhc2hlcyBvbiBzdGFjaywgc3Rhc2gtbGlrZSBhcmd1bWVudCcgJwogCWdpdCBzdGFzaCBjbGVhciAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCBIRUFEIiAmJgpAQCAtNjUwLDYgKzY1NiwyMCBAQAogCWdpdCByZXYtcGFyc2Ugc3Rhc2hAezB9IC0tCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIGJyYW5jaCBzaG91bGQgbm90IGRyb3AgdGhlIHN0YXNoIGlmIHRoZSBhcHBseSBmYWlscycgJworCWdpdCBzdGFzaCBjbGVhciAmJgorCWdpdCByZXNldCBIRUFEfjEgLS1oYXJkICYmCisJZWNobyBmb28gPmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKKwllY2hvIGJhciA+ZmlsZSAmJgorCWdpdCBzdGFzaCAmJgorCWVjaG8gYmF6ID5maWxlICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBicmFuY2ggbmV3X2JyYW5jaCBzdGFzaEB7MH0gJiYKKwlnaXQgcmV2LXBhcnNlIHN0YXNoQHswfSAtLQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBhcHBseSBzaG93cyBzdGF0dXMgc2FtZSBhcyBnaXQgc3RhdHVzIChyZWxhdGl2ZSB0byBjdXJyZW50IGRpcmVjdG9yeSknICcKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKIAllY2hvIDEgPnN1YmRpci9zdWJmaWxlMSAmJgpAQCAtNjY1LDcgKzY4NSw3IEBACiAJCXNhbmVfdW5zZXQgR0lUX01FUkdFX1ZFUkJPU0lUWSAmJgogCQlnaXQgc3Rhc2ggYXBwbHkKIAkpIHwKLQlzZWQgLWUgMSwyZCA+YWN0dWFsICYmICMgZHJvcCAiU2F2ZWQuLi4iIGFuZCAiSEVBRCBpcyBub3cuLi4iCisJc2VkIC1lIDFkID5hY3R1YWwgJiYgIyBkcm9wICJTYXZlZC4uLiIKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC03NzUsNCArNzk1LDE4MCBAQAogCXRlc3RfcGF0aF9pc19taXNzaW5nIGZpbGUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCAtbSBzaG93cyByaWdodCBtZXNzYWdlJyAnCisJPmZvbyAmJgorCWdpdCBhZGQgZm9vICYmCisJZ2l0IHN0YXNoIHB1c2ggLW0gInRlc3QgbWVzc2FnZSIgJiYKKwllY2hvICJzdGFzaEB7MH06IE9uIG1hc3RlcjogdGVzdCBtZXNzYWdlIiA+ZXhwZWN0ICYmCisJZ2l0IHN0YXNoIGxpc3QgLTEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIHN0b3JlcyBjb3JyZWN0IG1lc3NhZ2UnICcKKwk+Zm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlTVEFTSF9JRD0kKGdpdCBzdGFzaCBjcmVhdGUgImNyZWF0ZSB0ZXN0IG1lc3NhZ2UiKSAmJgorCWVjaG8gIk9uIG1hc3RlcjogY3JlYXRlIHRlc3QgbWVzc2FnZSIgPmV4cGVjdCAmJgorCWdpdCBzaG93IC0tcHJldHR5PSVzIC1zICR7U1RBU0hfSUR9ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSB3aXRoIG11bHRpcGxlIGFyZ3VtZW50cyBmb3IgdGhlIG1lc3NhZ2UnICcKKwk+Zm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlTVEFTSF9JRD0kKGdpdCBzdGFzaCBjcmVhdGUgdGVzdCB1bnRyYWNrZWQpICYmCisJZWNobyAiT24gbWFzdGVyOiB0ZXN0IHVudHJhY2tlZCIgPmV4cGVjdCAmJgorCWdpdCBzaG93IC0tcHJldHR5PSVzIC1zICR7U1RBU0hfSUR9ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBpbiBhIGRldGFjaGVkIHN0YXRlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgorCWdpdCBjaGVja291dCBIRUFEfjEgJiYKKwk+Zm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlTVEFTSF9JRD0kKGdpdCBzdGFzaCBjcmVhdGUpICYmCisJSEVBRF9JRD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgorCWVjaG8gIldJUCBvbiAobm8gYnJhbmNoKTogJHtIRUFEX0lEfSBpbml0aWFsIiA+ZXhwZWN0ICYmCisJZ2l0IHNob3cgLS1wcmV0dHk9JXMgLXMgJHtTVEFTSF9JRH0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggLS0gPHBhdGhzcGVjPiBzdGFzaGVzIGFuZCByZXN0b3JlcyB0aGUgZmlsZScgJworCT5mb28gJiYKKwk+YmFyICYmCisJZ2l0IGFkZCBmb28gYmFyICYmCisJZ2l0IHN0YXNoIHB1c2ggLS0gZm9vICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgYmFyICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZm9vICYmCisJZ2l0IHN0YXNoIHBvcCAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGJhcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCAtLSA8cGF0aHNwZWM+IHN0YXNoZXMgaW4gc3ViZGlyZWN0b3J5JyAnCisJbWtkaXIgc3ViICYmCisJPmZvbyAmJgorCT5iYXIgJiYKKwlnaXQgYWRkIGZvbyBiYXIgJiYKKwkoCisJCWNkIHN1YiAmJgorCQlnaXQgc3Rhc2ggcHVzaCAtLSAuLi9mb28KKwkpICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgYmFyICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZm9vICYmCisJZ2l0IHN0YXNoIHBvcCAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGJhcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCB3aXRoIG11bHRpcGxlIHBhdGhzcGVjIGFyZ3VtZW50cycgJworCT5mb28gJiYKKwk+YmFyICYmCisJPmV4dHJhICYmCisJZ2l0IGFkZCBmb28gYmFyIGV4dHJhICYmCisJZ2l0IHN0YXNoIHB1c2ggLS0gZm9vIGJhciAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGJhciAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGV4dHJhICYmCisJZ2l0IHN0YXNoIHBvcCAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGJhciAmJgorCXRlc3RfcGF0aF9pc19maWxlIGV4dHJhCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHdpdGggZmlsZSBpbmNsdWRpbmcgJElGUyBjaGFyYWN0ZXInICcKKwk+ImZvbyBiYXIiICYmCisJPmZvbyAmJgorCT5iYXIgJiYKKwlnaXQgYWRkIGZvbyogJiYKKwlnaXQgc3Rhc2ggcHVzaCAtLSAiZm9vIGIqIiAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nICJmb28gYmFyIiAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGJhciAmJgorCWdpdCBzdGFzaCBwb3AgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSAiZm9vIGJhciIgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmb28gJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBiYXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggd2l0aCBwYXRoc3BlYyBtYXRjaGluZyBtdWx0aXBsZSBwYXRocycgJworICAgICAgIGVjaG8gb3JpZ2luYWwgPmZpbGUgJiYKKyAgICAgICBlY2hvIG9yaWdpbmFsID5vdGhlci1maWxlICYmCisgICAgICAgZ2l0IGNvbW1pdCAtbSAidHdvIiBmaWxlIG90aGVyLWZpbGUgJiYKKyAgICAgICBlY2hvIG1vZGlmaWVkID5maWxlICYmCisgICAgICAgZWNobyBtb2RpZmllZCA+b3RoZXItZmlsZSAmJgorICAgICAgIGdpdCBzdGFzaCBwdXNoIC0tICIqZmlsZSIgJiYKKyAgICAgICBlY2hvIG9yaWdpbmFsID5leHBlY3QgJiYKKyAgICAgICB0ZXN0X2NtcCBleHBlY3QgZmlsZSAmJgorICAgICAgIHRlc3RfY21wIGV4cGVjdCBvdGhlci1maWxlICYmCisgICAgICAgZ2l0IHN0YXNoIHBvcCAmJgorICAgICAgIGVjaG8gbW9kaWZpZWQgPmV4cGVjdCAmJgorICAgICAgIHRlc3RfY21wIGV4cGVjdCBmaWxlICYmCisgICAgICAgdGVzdF9jbXAgZXhwZWN0IG90aGVyLWZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggcHVzaCAtcCB3aXRoIHBhdGhzcGVjIHNob3dzIG5vIGNoYW5nZXMgb25seSBvbmNlJyAnCisJPmZvbyAmJgorCWdpdCBhZGQgZm9vICYmCisJZ2l0IGNvbW1pdCAtbSAidG1wIiAmJgorCWdpdCBzdGFzaCBwdXNoIC1wIGZvbyA+YWN0dWFsICYmCisJZWNobyAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIiA+ZXhwZWN0ICYmCisJZ2l0IHJlc2V0IC0taGFyZCBIRUFEfiAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHB1c2ggd2l0aCBwYXRoc3BlYyBzaG93cyBubyBjaGFuZ2VzIHdoZW4gdGhlcmUgYXJlIG5vbmUnICcKKwk+Zm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlnaXQgY29tbWl0IC1tICJ0bXAiICYmCisJZ2l0IHN0YXNoIHB1c2ggZm9vID5hY3R1YWwgJiYKKwllY2hvICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiID5leHBlY3QgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEhFQUR+ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggcHVzaCB3aXRoIHBhdGhzcGVjIG5vdCBpbiB0aGUgcmVwb3NpdG9yeSBlcnJvcnMgb3V0JyAnCisJPnVudHJhY2tlZCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBwdXNoIHVudHJhY2tlZCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHVudHJhY2tlZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1bnRyYWNrZWQgZmlsZXMgYXJlIGxlZnQgaW4gcGxhY2Ugd2hlbiAtdSBpcyBub3QgZ2l2ZW4nICcKKwk+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCT51bnRyYWNrZWQgJiYKKwlnaXQgc3Rhc2ggcHVzaCBmaWxlICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgdW50cmFja2VkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHdpdGhvdXQgdmVyYiB3aXRoIHBhdGhzcGVjJyAnCisJPiJmb28gYmFyIiAmJgorCT5mb28gJiYKKwk+YmFyICYmCisJZ2l0IGFkZCBmb28qICYmCisJZ2l0IHN0YXNoIC0tICJmb28gYioiICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgImZvbyBiYXIiICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZm9vICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgYmFyICYmCisJZ2l0IHN0YXNoIHBvcCAmJgorCXRlc3RfcGF0aF9pc19maWxlICJmb28gYmFyIiAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGJhcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCAtayAtLSA8cGF0aHNwZWM+IGxlYXZlcyB1bnN0YWdlZCBmaWxlcyBpbnRhY3QnICcKKwlnaXQgcmVzZXQgJiYKKwk+Zm9vICYmCisJPmJhciAmJgorCWdpdCBhZGQgZm9vIGJhciAmJgorCWdpdCBjb21taXQgLW0gInRlc3QiICYmCisJZWNobyAiZm9vIiA+Zm9vICYmCisJZWNobyAiYmFyIiA+YmFyICYmCisJZ2l0IHN0YXNoIC1rIC0tIGZvbyAmJgorCXRlc3QgIiIsYmFyID0gJChjYXQgZm9vKSwkKGNhdCBiYXIpICYmCisJZ2l0IHN0YXNoIHBvcCAmJgorCXRlc3QgZm9vLGJhciA9ICQoY2F0IGZvbyksJChjYXQgYmFyKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM5MDQtc3Rhc2gtcGF0Y2guc2ggYi90L3QzOTA0LXN0YXNoLXBhdGNoLnNoCmluZGV4IDM4ZTczMDAuLjgzNzQ0ZjggMTAwNzU1Ci0tLSBhL3QvdDM5MDQtc3Rhc2gtcGF0Y2guc2gKKysrIGIvdC90MzkwNC1zdGFzaC1wYXRjaC5zaApAQCAtNzcsNiArNzcsMTQgQEAKIAl2ZXJpZnlfc3RhdGUgZGlyL2ZvbyB3b3JrIGluZGV4CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIC1wIC0tbm8ta2VlcC1pbmRleCAtLSA8cGF0aHNwZWM+IGRvZXMgbm90IHVuc3RhZ2Ugb3RoZXIgZmlsZXMnICcKKwlzZXRfc3RhdGUgSEVBRCBIRUFEZmlsZV93b3JrIEhFQURmaWxlX2luZGV4ICYmCisJc2V0X3N0YXRlIGRpci9mb28gd29yayBpbmRleCAmJgorCWVjaG8geSB8IGdpdCBzdGFzaCBwdXNoIC1wIC0tbm8ta2VlcC1pbmRleCAtLSBIRUFEICYmCisJdmVyaWZ5X3N0YXRlIEhFQUQgY29tbWl0dGVkIGNvbW1pdHRlZCAmJgorCXZlcmlmeV9zdGF0ZSBkaXIvZm9vIHdvcmsgaW5kZXgKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uZSBvZiB0aGlzIG1vdmVkIEhFQUQnICcKIAl2ZXJpZnlfc2F2ZWRfaGVhZAogJwpkaWZmIC0tZ2l0IGEvdC90MzkwNS1zdGFzaC1pbmNsdWRlLXVudHJhY2tlZC5zaCBiL3QvdDM5MDUtc3Rhc2gtaW5jbHVkZS11bnRyYWNrZWQuc2gKaW5kZXggZjM3MmZjOC4uYmZkZTQwNSAxMDA3NTUKLS0tIGEvdC90MzkwNS1zdGFzaC1pbmNsdWRlLXVudHJhY2tlZC5zaAorKysgYi90L3QzOTA1LXN0YXNoLWluY2x1ZGUtdW50cmFja2VkLnNoCkBAIC0xODUsNCArMTg1LDQ3IEBACiAJdGVzdCAtcyAuZ2l0aWdub3JlCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHB1c2ggLS1pbmNsdWRlLXVudHJhY2tlZCB3aXRoIHBhdGhzcGVjJyAnCisJPmZvbyAmJgorCT5iYXIgJiYKKwlnaXQgc3Rhc2ggcHVzaCAtLWluY2x1ZGUtdW50cmFja2VkIC0tIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGJhciAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGZvbyAmJgorCWdpdCBzdGFzaCBwb3AgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBiYXIgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmb28KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggcHVzaCB3aXRoICRJRlMgY2hhcmFjdGVyJyAnCisJPiJmb28gYmFyIiAmJgorCT5mb28gJiYKKwk+YmFyICYmCisJZ2l0IGFkZCBmb28qICYmCisJZ2l0IHN0YXNoIHB1c2ggLS1pbmNsdWRlLXVudHJhY2tlZCAtLSAiZm9vIGIqIiAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nICJmb28gYmFyIiAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGJhciAmJgorCWdpdCBzdGFzaCBwb3AgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSAiZm9vIGJhciIgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmb28gJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBiYXIKKycKKworY2F0ID4gLmdpdGlnbm9yZSA8PEVPRgoraWdub3JlZAoraWdub3JlZC5kLyoKK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBwcmV2aW91c2x5IGlnbm9yZWQgZmlsZScgJworCWdpdCByZXNldCBIRUFEICYmCisJZ2l0IGFkZCAuZ2l0aWdub3JlICYmCisJZ2l0IGNvbW1pdCAtbSAiQWRkIC5naXRpZ25vcmUiICYmCisJPmlnbm9yZWQuZC9mb28gJiYKKwllY2hvICIhaWdub3JlZC5kL2ZvbyIgPj4gLmdpdGlnbm9yZSAmJgorCWdpdCBzdGFzaCBzYXZlIC0taW5jbHVkZS11bnRyYWNrZWQgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBpZ25vcmVkLmQvZm9vICYmCisJZ2l0IHN0YXNoIHBvcCAmJgorCXRlc3RfcGF0aF9pc19maWxlIGlnbm9yZWQuZC9mb28KKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MDA1LWRpZmYtcmVuYW1lLTIuc2ggYi90L3Q0MDA1LWRpZmYtcmVuYW1lLTIuc2gKaW5kZXggMTM1YWRkYi4uZjU0MmQyOSAxMDA3NTUKLS0tIGEvdC90NDAwNS1kaWZmLXJlbmFtZS0yLnNoCisrKyBiL3QvdDQwMDUtZGlmZi1yZW5hbWUtMi5zaApAQCAtMyw4NCArMyw3NSBAQAogIyBDb3B5cmlnaHQgKGMpIDIwMDUgSnVuaW8gQyBIYW1hbm8KICMKIAotdGVzdF9kZXNjcmlwdGlvbj0nU2FtZSByZW5hbWUgZGV0ZWN0aW9uIGFzIHQ0MDAzIGJ1dCB0ZXN0aW5nIGRpZmYtcmF3LgordGVzdF9kZXNjcmlwdGlvbj0nU2FtZSByZW5hbWUgZGV0ZWN0aW9uIGFzIHQ0MDAzIGJ1dCB0ZXN0aW5nIGRpZmYtcmF3LicKIAotJwogLiAuL3Rlc3QtbGliLnNoCiAuICIkVEVTVF9ESVJFQ1RPUlkiL2RpZmYtbGliLnNoIDsjIHRlc3QtbGliIGNoZGlyJ3MgaW50byB0cmFzaAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSAgICAncHJlcGFyZSByZWZlcmVuY2UgdHJlZScgXAotICAgICdjYXQgIiRURVNUX0RJUkVDVE9SWSIvZGlmZi1saWIvQ09QWUlORyA+Q09QWUlORyAmJgotICAgICBlY2hvIGZyb3R6ID5yZXpyb3YgJiYKLSAgICBnaXQgdXBkYXRlLWluZGV4IC0tYWRkIENPUFlJTkcgcmV6cm92ICYmCi0gICAgdHJlZT0kKGdpdCB3cml0ZS10cmVlKSAmJgotICAgIGVjaG8gJHRyZWUnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZWZlcmVuY2UgdHJlZScgJworCWNhdCAiJFRFU1RfRElSRUNUT1JZIi9kaWZmLWxpYi9DT1BZSU5HID5DT1BZSU5HICYmCisJZWNobyBmcm90eiA+cmV6cm92ICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBDT1BZSU5HIHJlenJvdiAmJgorCXRyZWU9JChnaXQgd3JpdGUtdHJlZSkgJiYKKwllY2hvICR0cmVlICYmCisJc2VkIC1lICdzL0hPV0VWRVIvSG93ZXZlci8nIDxDT1BZSU5HID5DT1BZSU5HLjEgJiYKKwlzZWQgLWUgJ3MvR1BML0cuUC5ML2cnIDxDT1BZSU5HID5DT1BZSU5HLjIgJiYKKwlvcmlnb2lkPSQoZ2l0IGhhc2gtb2JqZWN0IENPUFlJTkcpICYmCisJb2lkMT0kKGdpdCBoYXNoLW9iamVjdCBDT1BZSU5HLjEpICYmCisJb2lkMj0kKGdpdCBoYXNoLW9iamVjdCBDT1BZSU5HLjIpCisnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICdwcmVwYXJlIHdvcmsgdHJlZScgXAotICAgICdzZWQgLWUgJ3MvSE9XRVZFUi9Ib3dldmVyLycgPENPUFlJTkcgPkNPUFlJTkcuMSAmJgotICAgIHNlZCAtZSAncy9HUEwvRy5QLkwvZycgPENPUFlJTkcgPkNPUFlJTkcuMiAmJgotICAgIHJtIC1mIENPUFlJTkcgJiYKLSAgICBnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIENPUFlJTkcgQ09QWUlORy4/JwotCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIHRyZWUgaGFzIENPUFlJTkcgYW5kIHJlenJvdi4gIHdvcmsgdHJlZSBoYXMgQ09QWUlORy4xIGFuZCBDT1BZSU5HLjIsCiAjIGJvdGggYXJlIHNsaWdodGx5IGVkaXRlZCwgYW5kIHVuY2hhbmdlZCByZXpyb3YuICBXZSBzYXkgQ09QWUlORy4xCiAjIGFuZCBDT1BZSU5HLjIgYXJlIGJhc2VkIG9uIENPUFlJTkcsIGFuZCBkbyBub3Qgc2F5IGFueXRoaW5nIGFib3V0CiAjIHJlenJvdi4KIAotZ2l0IGRpZmYtaW5kZXggLUMgJHRyZWUgPmN1cnJlbnQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZhbGlkYXRlIG91dHB1dCBmcm9tIHJlbmFtZS9jb3B5IGRldGVjdGlvbiAoIzEpJyAnCisJcm0gLWYgQ09QWUlORyAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1yZW1vdmUgQ09QWUlORyBDT1BZSU5HLj8gJiYKIAotY2F0ID5leHBlY3RlZCA8PFxFT0YKLToxMDA2NDQgMTAwNjQ0IDZmZjg3YzQ2NjQ5ODFlNDM5NzYyNTc5MWM4ZWEzYmJiNWYyMjc5YTMgMDYwM2IzMjM4YTA3NmRjNmM4MDIyYWVkYzY2NDhmYTUyM2ExNzE3OCBDMTIzNAlDT1BZSU5HCUNPUFlJTkcuMQotOjEwMDY0NCAxMDA2NDQgNmZmODdjNDY2NDk4MWU0Mzk3NjI1NzkxYzhlYTNiYmI1ZjIyNzlhMyAwNmM2Nzk2MWJiYWVkMzRhMTI3Zjc2ZDI2MWY0YzBiZjczZWRhNDcxIFIxMjM0CUNPUFlJTkcJQ09QWUlORy4yCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ3ZhbGlkYXRlIG91dHB1dCBmcm9tIHJlbmFtZS9jb3B5IGRldGVjdGlvbiAoIzEpJyBcCi0gICAgJ2NvbXBhcmVfZGlmZl9yYXcgY3VycmVudCBleHBlY3RlZCcKKwljYXQgPDwtRU9GID5leHBlY3RlZCAmJgorCToxMDA2NDQgMTAwNjQ0ICRvcmlnb2lkICRvaWQxIEMxMjM0CUNPUFlJTkcJQ09QWUlORy4xCisJOjEwMDY0NCAxMDA2NDQgJG9yaWdvaWQgJG9pZDIgUjEyMzQJQ09QWUlORwlDT1BZSU5HLjIKKwlFT0YKKwlnaXQgZGlmZi1pbmRleCAtQyAkdHJlZSA+Y3VycmVudCAmJgorCWNvbXBhcmVfZGlmZl9yYXcgZXhwZWN0ZWQgY3VycmVudAorJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICdwcmVwYXJlIHdvcmsgdHJlZSBhZ2FpbicgXAotICAgICdtdiBDT1BZSU5HLjIgQ09QWUlORyAmJgotICAgICBnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIENPUFlJTkcgQ09QWUlORy4xIENPUFlJTkcuMicKLQogIyB0cmVlIGhhcyBDT1BZSU5HIGFuZCByZXpyb3YuICB3b3JrIHRyZWUgaGFzIENPUFlJTkcgYW5kIENPUFlJTkcuMSwKICMgYm90aCBhcmUgc2xpZ2h0bHkgZWRpdGVkLCBhbmQgdW5jaGFuZ2VkIHJlenJvdi4gIFdlIHNheSBDT1BZSU5HLjEKICMgaXMgYmFzZWQgb24gQ09QWUlORyBhbmQgQ09QWUlORyBpcyBzdGlsbCB0aGVyZSwgYW5kIGRvIG5vdCBzYXkgYW55dGhpbmcKICMgYWJvdXQgcmV6cm92LgogCi1naXQgZGlmZi1pbmRleCAtQyAkdHJlZSA+Y3VycmVudAotY2F0ID5leHBlY3RlZCA8PFxFT0YKLToxMDA2NDQgMTAwNjQ0IDZmZjg3YzQ2NjQ5ODFlNDM5NzYyNTc5MWM4ZWEzYmJiNWYyMjc5YTMgMDZjNjc5NjFiYmFlZDM0YTEyN2Y3NmQyNjFmNGMwYmY3M2VkYTQ3MSBNCUNPUFlJTkcKLToxMDA2NDQgMTAwNjQ0IDZmZjg3YzQ2NjQ5ODFlNDM5NzYyNTc5MWM4ZWEzYmJiNWYyMjc5YTMgMDYwM2IzMjM4YTA3NmRjNmM4MDIyYWVkYzY2NDhmYTUyM2ExNzE3OCBDMTIzNAlDT1BZSU5HCUNPUFlJTkcuMQotRU9GCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2YWxpZGF0ZSBvdXRwdXQgZnJvbSByZW5hbWUvY29weSBkZXRlY3Rpb24gKCMyKScgJworCW12IENPUFlJTkcuMiBDT1BZSU5HICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLXJlbW92ZSBDT1BZSU5HIENPUFlJTkcuMSBDT1BZSU5HLjIgJiYKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ3ZhbGlkYXRlIG91dHB1dCBmcm9tIHJlbmFtZS9jb3B5IGRldGVjdGlvbiAoIzIpJyBcCi0gICAgJ2NvbXBhcmVfZGlmZl9yYXcgY3VycmVudCBleHBlY3RlZCcKKwljYXQgPDwtRU9GID5leHBlY3RlZCAmJgorCToxMDA2NDQgMTAwNjQ0ICRvcmlnb2lkICRvaWQyIE0JQ09QWUlORworCToxMDA2NDQgMTAwNjQ0ICRvcmlnb2lkICRvaWQxIEMxMjM0CUNPUFlJTkcJQ09QWUlORy4xCisJRU9GCisJZ2l0IGRpZmYtaW5kZXggLUMgJHRyZWUgPmN1cnJlbnQgJiYKKwljb21wYXJlX2RpZmZfcmF3IGN1cnJlbnQgZXhwZWN0ZWQKKycKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCiAjIHRyZWUgaGFzIENPUFlJTkcgYW5kIHJlenJvdi4gIHdvcmsgdHJlZSBoYXMgdGhlIHNhbWUgQ09QWUlORyBhbmQKICMgY29weS1lZGl0ZWQgQ09QWUlORy4xLCBhbmQgdW5jaGFuZ2VkIHJlenJvdi4gIFdlIHNob3VsZCBub3Qgc2F5CiAjIGFueXRoaW5nIGFib3V0IHJlenJvdiBvciBDT1BZSU5HLCBzaW5jZSB0aGUgcmV2aXNlZCBhZ2FpbiBkaWZmLXJhdwogIyBub3dzIGhvdyB0byBzYXkgQ29weS4KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ3ByZXBhcmUgd29yayB0cmVlIG9uY2UgYWdhaW4nIFwKLSAgICAnY2F0ICIkVEVTVF9ESVJFQ1RPUlkiL2RpZmYtbGliL0NPUFlJTkcgPkNPUFlJTkcgJiYKLSAgICAgZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLXJlbW92ZSBDT1BZSU5HIENPUFlJTkcuMScKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZhbGlkYXRlIG91dHB1dCBmcm9tIHJlbmFtZS9jb3B5IGRldGVjdGlvbiAoIzMpJyAnCisJY2F0ICIkVEVTVF9ESVJFQ1RPUlkiL2RpZmYtbGliL0NPUFlJTkcgPkNPUFlJTkcgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIENPUFlJTkcgQ09QWUlORy4xICYmCiAKLWdpdCBkaWZmLWluZGV4IC1DIC0tZmluZC1jb3BpZXMtaGFyZGVyICR0cmVlID5jdXJyZW50Ci1jYXQgPmV4cGVjdGVkIDw8XEVPRgotOjEwMDY0NCAxMDA2NDQgNmZmODdjNDY2NDk4MWU0Mzk3NjI1NzkxYzhlYTNiYmI1ZjIyNzlhMyAwNjAzYjMyMzhhMDc2ZGM2YzgwMjJhZWRjNjY0OGZhNTIzYTE3MTc4IEMxMjM0CUNPUFlJTkcJQ09QWUlORy4xCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ3ZhbGlkYXRlIG91dHB1dCBmcm9tIHJlbmFtZS9jb3B5IGRldGVjdGlvbiAoIzMpJyBcCi0gICAgJ2NvbXBhcmVfZGlmZl9yYXcgY3VycmVudCBleHBlY3RlZCcKKwljYXQgPDwtRU9GID5leHBlY3RlZCAmJgorCToxMDA2NDQgMTAwNjQ0ICRvcmlnb2lkICRvaWQxIEMxMjM0CUNPUFlJTkcJQ09QWUlORy4xCisJRU9GCisJZ2l0IGRpZmYtaW5kZXggLUMgLS1maW5kLWNvcGllcy1oYXJkZXIgJHRyZWUgPmN1cnJlbnQgJiYKKwljb21wYXJlX2RpZmZfcmF3IGN1cnJlbnQgZXhwZWN0ZWQKKycKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MDEzLWRpZmYtdmFyaW91cy5zaCBiL3QvdDQwMTMtZGlmZi12YXJpb3VzLnNoCmluZGV4IGQwOWFjZmUuLmM1MTVlM2UgMTAwNzU1Ci0tLSBhL3QvdDQwMTMtZGlmZi12YXJpb3VzLnNoCisrKyBiL3QvdDQwMTMtZGlmZi12YXJpb3VzLnNoCkBAIC05MCw2ICs5MCwxNCBAQAogCWdpdCBjb21taXQgLW0gIlJlYXJyYW5nZWQgbGluZXMgaW4gZGlyL3N1YiIgJiYKIAlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCiAKKwlHSVRfQVVUSE9SX0RBVEU9IjIwMDYtMDYtMjYgMDA6MDY6MDAgKzAwMDAiICYmCisJR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDA2LTA2LTI2IDAwOjA2OjAwICswMDAwIiAmJgorCWV4cG9ydCBHSVRfQVVUSE9SX0RBVEUgR0lUX0NPTU1JVFRFUl9EQVRFICYmCisJZ2l0IGNoZWNrb3V0IC1iIG1vZGUgaW5pdGlhbCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1jaG1vZD0reCBmaWxlMCAmJgorCWdpdCBjb21taXQgLW0gInVwZGF0ZSBtb2RlIiAmJgorCWdpdCBjaGVja291dCAtZiBtYXN0ZXIgJiYKKwogCWdpdCBjb25maWcgZGlmZi5yZW5hbWVzIGZhbHNlICYmCiAKIAlnaXQgc2hvdy1icmFuY2gKQEAgLTE5Miw2ICsyMDAsMTAgQEAKIGRpZmYtdHJlZSAtLXByZXR0eSAtcCBzaWRlCiBkaWZmLXRyZWUgLS1wcmV0dHkgLS1wYXRjaC13aXRoLXN0YXQgc2lkZQogCitkaWZmLXRyZWUgaW5pdGlhbCBtb2RlCitkaWZmLXRyZWUgLS1zdGF0IGluaXRpYWwgbW9kZQorZGlmZi10cmVlIC0tc3VtbWFyeSBpbml0aWFsIG1vZGUKKwogZGlmZi10cmVlIG1hc3RlcgogZGlmZi10cmVlIC1wIG1hc3RlcgogZGlmZi10cmVlIC1wIC1tIG1hc3RlcgpkaWZmIC0tZ2l0IGEvdC90NDAxMy9kaWZmLmRpZmYtdHJlZV8tLXN0YXRfaW5pdGlhbF9tb2RlIGIvdC90NDAxMy9kaWZmLmRpZmYtdHJlZV8tLXN0YXRfaW5pdGlhbF9tb2RlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNTk0M2MKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDEzL2RpZmYuZGlmZi10cmVlXy0tc3RhdF9pbml0aWFsX21vZGUKQEAgLTAsMCArMSw0IEBACiskIGdpdCBkaWZmLXRyZWUgLS1zdGF0IGluaXRpYWwgbW9kZQorIGZpbGUwIHwgMAorIDEgZmlsZSBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCiskCmRpZmYgLS1naXQgYS90L3Q0MDEzL2RpZmYuZGlmZi10cmVlXy0tc3VtbWFyeV9pbml0aWFsX21vZGUgYi90L3Q0MDEzL2RpZmYuZGlmZi10cmVlXy0tc3VtbWFyeV9pbml0aWFsX21vZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU4NDZiNmEKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDEzL2RpZmYuZGlmZi10cmVlXy0tc3VtbWFyeV9pbml0aWFsX21vZGUKQEAgLTAsMCArMSwzIEBACiskIGdpdCBkaWZmLXRyZWUgLS1zdW1tYXJ5IGluaXRpYWwgbW9kZQorIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgZmlsZTAKKyQKZGlmZiAtLWdpdCBhL3QvdDQwMTMvZGlmZi5kaWZmLXRyZWVfaW5pdGlhbF9tb2RlIGIvdC90NDAxMy9kaWZmLmRpZmYtdHJlZV9pbml0aWFsX21vZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ3YzA5NAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTMvZGlmZi5kaWZmLXRyZWVfaW5pdGlhbF9tb2RlCkBAIC0wLDAgKzEsMyBAQAorJCBnaXQgZGlmZi10cmVlIGluaXRpYWwgbW9kZQorOjEwMDY0NCAxMDA3NTUgMDFlNzljMzJhOGM5OWM1NTdmMDc1N2RhN2NiNmQ2NWIzNDE0NDY2ZCAwMWU3OWMzMmE4Yzk5YzU1N2YwNzU3ZGE3Y2I2ZDY1YjM0MTQ0NjZkIE0JZmlsZTAKKyQKZGlmZiAtLWdpdCBhL3QvdDQwMTMvZGlmZi5sb2dfLS1kZWNvcmF0ZT1mdWxsXy0tYWxsIGIvdC90NDAxMy9kaWZmLmxvZ18tLWRlY29yYXRlPWZ1bGxfLS1hbGwKaW5kZXggYjM0NWIyZS4uMmFmZTkxZiAxMDA2NDQKLS0tIGEvdC90NDAxMy9kaWZmLmxvZ18tLWRlY29yYXRlPWZ1bGxfLS1hbGwKKysrIGIvdC90NDAxMy9kaWZmLmxvZ18tLWRlY29yYXRlPWZ1bGxfLS1hbGwKQEAgLTEsNCArMSwxMCBAQAogJCBnaXQgbG9nIC0tZGVjb3JhdGU9ZnVsbCAtLWFsbAorY29tbWl0IGI3ZTBiYzY5MzAzYjQ4OGI0N2RlY2E3OTlhN2Q3MjM5NzFkZmE2Y2QgKHJlZnMvaGVhZHMvbW9kZSkKK0F1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KK0RhdGU6ICAgTW9uIEp1biAyNiAwMDowNjowMCAyMDA2ICswMDAwCisKKyAgICB1cGRhdGUgbW9kZQorCiBjb21taXQgY2Q0ZTcyZmQ5NmZhZWQzZjBiYTk0OWRjNDI5Njc0MzAzNzRlMjI5MCAocmVmcy9oZWFkcy9yZWFycmFuZ2UpCiBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiBEYXRlOiAgIE1vbiBKdW4gMjYgMDA6MDY6MDAgMjAwNiArMDAwMApkaWZmIC0tZ2l0IGEvdC90NDAxMy9kaWZmLmxvZ18tLWRlY29yYXRlXy0tYWxsIGIvdC90NDAxMy9kaWZmLmxvZ18tLWRlY29yYXRlXy0tYWxsCmluZGV4IDNhYTE2YTkuLmQwZjMwOGEgMTAwNjQ0Ci0tLSBhL3QvdDQwMTMvZGlmZi5sb2dfLS1kZWNvcmF0ZV8tLWFsbAorKysgYi90L3Q0MDEzL2RpZmYubG9nXy0tZGVjb3JhdGVfLS1hbGwKQEAgLTEsNCArMSwxMCBAQAogJCBnaXQgbG9nIC0tZGVjb3JhdGUgLS1hbGwKK2NvbW1pdCBiN2UwYmM2OTMwM2I0ODhiNDdkZWNhNzk5YTdkNzIzOTcxZGZhNmNkIChtb2RlKQorQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorRGF0ZTogICBNb24gSnVuIDI2IDAwOjA2OjAwIDIwMDYgKzAwMDAKKworICAgIHVwZGF0ZSBtb2RlCisKIGNvbW1pdCBjZDRlNzJmZDk2ZmFlZDNmMGJhOTQ5ZGM0Mjk2NzQzMDM3NGUyMjkwIChyZWFycmFuZ2UpCiBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiBEYXRlOiAgIE1vbiBKdW4gMjYgMDA6MDY6MDAgMjAwNiArMDAwMApkaWZmIC0tZ2l0IGEvdC90NDAxNS1kaWZmLXdoaXRlc3BhY2Uuc2ggYi90L3Q0MDE1LWRpZmYtd2hpdGVzcGFjZS5zaAppbmRleCAyODk4MDZkLi4xMmQxODJkIDEwMDc1NQotLS0gYS90L3Q0MDE1LWRpZmYtd2hpdGVzcGFjZS5zaAorKysgYi90L3Q0MDE1LWRpZmYtd2hpdGVzcGFjZS5zaApAQCAtOTcyLDQgKzk3Miw1NjMgQEAKIAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXRlY3QgbW92ZWQgY29kZSwgY29tcGxldGUgZmlsZScgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwljYXQgPDwtXEVPRiA+dGVzdC5jICYmCisJI2luY2x1ZGU8c3RkaW8uaD4KKwltYWluKCkKKwl7CisJcHJpbnRmKCJIZWxsbyBXb3JsZCIpOworCX0KKwlFT0YKKwlnaXQgYWRkIHRlc3QuYyAmJgorCWdpdCBjb21taXQgLW0gImFkZCBtYWluIGZ1bmN0aW9uIiAmJgorCWdpdCBtdiB0ZXN0LmMgbWFpbi5jICYmCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5vbGRNb3ZlZCAibm9ybWFsIHJlZCIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm5ld01vdmVkICJub3JtYWwgZ3JlZW4iICYmCisJZ2l0IGRpZmYgSEVBRCAtLWNvbG9yLW1vdmVkPXplYnJhIC0tbm8tcmVuYW1lcyB8IHRlc3RfZGVjb2RlX2NvbG9yID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwk8Qk9MRD5kaWZmIC0tZ2l0IGEvbWFpbi5jIGIvbWFpbi5jPFJFU0VUPgorCTxCT0xEPm5ldyBmaWxlIG1vZGUgMTAwNjQ0PFJFU0VUPgorCTxCT0xEPmluZGV4IDAwMDAwMDAuLmE5ODZjNTc8UkVTRVQ+CisJPEJPTEQ+LS0tIC9kZXYvbnVsbDxSRVNFVD4KKwk8Qk9MRD4rKysgYi9tYWluLmM8UkVTRVQ+CisJPENZQU4+QEAgLTAsMCArMSw1IEBAPFJFU0VUPgorCTxCR1JFRU4+KzxSRVNFVD48QkdSRUVOPiNpbmNsdWRlPHN0ZGlvLmg+PFJFU0VUPgorCTxCR1JFRU4+KzxSRVNFVD48QkdSRUVOPm1haW4oKTxSRVNFVD4KKwk8QkdSRUVOPis8UkVTRVQ+PEJHUkVFTj57PFJFU0VUPgorCTxCR1JFRU4+KzxSRVNFVD48QkdSRUVOPnByaW50ZigiSGVsbG8gV29ybGQiKTs8UkVTRVQ+CisJPEJHUkVFTj4rPFJFU0VUPjxCR1JFRU4+fTxSRVNFVD4KKwk8Qk9MRD5kaWZmIC0tZ2l0IGEvdGVzdC5jIGIvdGVzdC5jPFJFU0VUPgorCTxCT0xEPmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NDxSRVNFVD4KKwk8Qk9MRD5pbmRleCBhOTg2YzU3Li4wMDAwMDAwPFJFU0VUPgorCTxCT0xEPi0tLSBhL3Rlc3QuYzxSRVNFVD4KKwk8Qk9MRD4rKysgL2Rldi9udWxsPFJFU0VUPgorCTxDWUFOPkBAIC0xLDUgKzAsMCBAQDxSRVNFVD4KKwk8QlJFRD4tI2luY2x1ZGU8c3RkaW8uaD48UkVTRVQ+CisJPEJSRUQ+LW1haW4oKTxSRVNFVD4KKwk8QlJFRD4tezxSRVNFVD4KKwk8QlJFRD4tcHJpbnRmKCJIZWxsbyBXb3JsZCIpOzxSRVNFVD4KKwk8QlJFRD4tfTxSRVNFVD4KKwlFT0YKKworCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXRlY3QgbWFsaWNpb3VzIG1vdmVkIGNvZGUsIGluc2lkZSBmaWxlJyAnCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5vbGRNb3ZlZCAibm9ybWFsIHJlZCIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm5ld01vdmVkICJub3JtYWwgZ3JlZW4iICYmCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5vbGRNb3ZlZEFsdGVybmF0aXZlICJibHVlIiAmJgorCXRlc3RfY29uZmlnIGNvbG9yLmRpZmYubmV3TW92ZWRBbHRlcm5hdGl2ZSAieWVsbG93IiAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwljYXQgPDwtXEVPRiA+bWFpbi5jICYmCisJCSNpbmNsdWRlPHN0ZGlvLmg+CisJCWludCBzdHVmZigpCisJCXsKKwkJCXByaW50ZigiSGVsbG8gIik7CisJCQlwcmludGYoIldvcmxkXG4iKTsKKwkJfQorCisJCWludCBzZWN1cmVfZm9vKHN0cnVjdCB1c2VyICp1KQorCQl7CisJCQlpZiAoIXUtPmlzX2FsbG93ZWRfZm9vKQorCQkJCXJldHVybjsKKwkJCWZvbyh1KTsKKwkJfQorCisJCWludCBtYWluKCkKKwkJeworCQkJZm9vKCk7CisJCX0KKwlFT0YKKwljYXQgPDwtXEVPRiA+dGVzdC5jICYmCisJCSNpbmNsdWRlPHN0ZGlvLmg+CisJCWludCBiYXIoKQorCQl7CisJCQlwcmludGYoIkhlbGxvIFdvcmxkLCBidXQgZGlmZmVyZW50XG4iKTsKKwkJfQorCisJCWludCBhbm90aGVyX2Z1bmN0aW9uKCkKKwkJeworCQkJYmFyKCk7CisJCX0KKwlFT0YKKwlnaXQgYWRkIG1haW4uYyB0ZXN0LmMgJiYKKwlnaXQgY29tbWl0IC1tICJhZGQgbWFpbiBhbmQgdGVzdCBmaWxlIiAmJgorCWNhdCA8PC1cRU9GID5tYWluLmMgJiYKKwkJI2luY2x1ZGU8c3RkaW8uaD4KKwkJaW50IHN0dWZmKCkKKwkJeworCQkJcHJpbnRmKCJIZWxsbyAiKTsKKwkJCXByaW50ZigiV29ybGRcbiIpOworCQl9CisKKwkJaW50IG1haW4oKQorCQl7CisJCQlmb28oKTsKKwkJfQorCUVPRgorCWNhdCA8PC1cRU9GID50ZXN0LmMgJiYKKwkJI2luY2x1ZGU8c3RkaW8uaD4KKwkJaW50IGJhcigpCisJCXsKKwkJCXByaW50ZigiSGVsbG8gV29ybGQsIGJ1dCBkaWZmZXJlbnRcbiIpOworCQl9CisKKwkJaW50IHNlY3VyZV9mb28oc3RydWN0IHVzZXIgKnUpCisJCXsKKwkJCWZvbyh1KTsKKwkJCWlmICghdS0+aXNfYWxsb3dlZF9mb28pCisJCQkJcmV0dXJuOworCQl9CisKKwkJaW50IGFub3RoZXJfZnVuY3Rpb24oKQorCQl7CisJCQliYXIoKTsKKwkJfQorCUVPRgorCWdpdCBkaWZmIEhFQUQgLS1uby1yZW5hbWVzIC0tY29sb3ItbW92ZWQ9emVicmF8IHRlc3RfZGVjb2RlX2NvbG9yID5hY3R1YWwgJiYKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ZWQgJiYKKwk8Qk9MRD5kaWZmIC0tZ2l0IGEvbWFpbi5jIGIvbWFpbi5jPFJFU0VUPgorCTxCT0xEPmluZGV4IDI3YTYxOWMuLjdjZjkzMzYgMTAwNjQ0PFJFU0VUPgorCTxCT0xEPi0tLSBhL21haW4uYzxSRVNFVD4KKwk8Qk9MRD4rKysgYi9tYWluLmM8UkVTRVQ+CisJPENZQU4+QEAgLTUsMTMgKzUsNiBAQDxSRVNFVD4gPFJFU0VUPnByaW50ZigiSGVsbG8gIik7PFJFU0VUPgorCSBwcmludGYoIldvcmxkXG4iKTs8UkVTRVQ+CisJIH08UkVTRVQ+CisJIDxSRVNFVD4KKwk8QlJFRD4taW50IHNlY3VyZV9mb28oc3RydWN0IHVzZXIgKnUpPFJFU0VUPgorCTxCUkVEPi17PFJFU0VUPgorCTxCTFVFPi1pZiAoIXUtPmlzX2FsbG93ZWRfZm9vKTxSRVNFVD4KKwk8QkxVRT4tcmV0dXJuOzxSRVNFVD4KKwk8UkVEPi1mb28odSk7PFJFU0VUPgorCTxSRUQ+LX08UkVTRVQ+CisJPFJFRD4tPFJFU0VUPgorCSBpbnQgbWFpbigpPFJFU0VUPgorCSB7PFJFU0VUPgorCSBmb28oKTs8UkVTRVQ+CisJPEJPTEQ+ZGlmZiAtLWdpdCBhL3Rlc3QuYyBiL3Rlc3QuYzxSRVNFVD4KKwk8Qk9MRD5pbmRleCAxZGMxZDg1Li4yYmVkZWM5IDEwMDY0NDxSRVNFVD4KKwk8Qk9MRD4tLS0gYS90ZXN0LmM8UkVTRVQ+CisJPEJPTEQ+KysrIGIvdGVzdC5jPFJFU0VUPgorCTxDWUFOPkBAIC00LDYgKzQsMTMgQEA8UkVTRVQ+IDxSRVNFVD5pbnQgYmFyKCk8UkVTRVQ+CisJIHByaW50ZigiSGVsbG8gV29ybGQsIGJ1dCBkaWZmZXJlbnRcbiIpOzxSRVNFVD4KKwkgfTxSRVNFVD4KKwkgPFJFU0VUPgorCTxCR1JFRU4+KzxSRVNFVD48QkdSRUVOPmludCBzZWN1cmVfZm9vKHN0cnVjdCB1c2VyICp1KTxSRVNFVD4KKwk8QkdSRUVOPis8UkVTRVQ+PEJHUkVFTj57PFJFU0VUPgorCTxHUkVFTj4rPFJFU0VUPjxHUkVFTj5mb28odSk7PFJFU0VUPgorCTxCR1JFRU4+KzxSRVNFVD48QkdSRUVOPmlmICghdS0+aXNfYWxsb3dlZF9mb28pPFJFU0VUPgorCTxCR1JFRU4+KzxSRVNFVD48QkdSRUVOPnJldHVybjs8UkVTRVQ+CisJPEdSRUVOPis8UkVTRVQ+PEdSRUVOPn08UkVTRVQ+CisJPEdSRUVOPis8UkVTRVQ+CisJIGludCBhbm90aGVyX2Z1bmN0aW9uKCk8UkVTRVQ+CisJIHs8UkVTRVQ+CisJIGJhcigpOzxSRVNFVD4KKwlFT0YKKworCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwbGFpbiBtb3ZlZCBjb2RlLCBpbnNpZGUgZmlsZScgJworCXRlc3RfY29uZmlnIGNvbG9yLmRpZmYub2xkTW92ZWQgIm5vcm1hbCByZWQiICYmCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5uZXdNb3ZlZCAibm9ybWFsIGdyZWVuIiAmJgorCXRlc3RfY29uZmlnIGNvbG9yLmRpZmYub2xkTW92ZWRBbHRlcm5hdGl2ZSAiYmx1ZSIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm5ld01vdmVkQWx0ZXJuYXRpdmUgInllbGxvdyIgJiYKKwkjIG5lZWRzIHByZXZpb3VzIHRlc3QgYXMgc2V0dXAKKwlnaXQgZGlmZiBIRUFEIC0tbm8tcmVuYW1lcyAtLWNvbG9yLW1vdmVkPXBsYWlufCB0ZXN0X2RlY29kZV9jb2xvciA+YWN0dWFsICYmCisJY2F0IDw8LVxFT0YgPmV4cGVjdGVkICYmCisJPEJPTEQ+ZGlmZiAtLWdpdCBhL21haW4uYyBiL21haW4uYzxSRVNFVD4KKwk8Qk9MRD5pbmRleCAyN2E2MTljLi43Y2Y5MzM2IDEwMDY0NDxSRVNFVD4KKwk8Qk9MRD4tLS0gYS9tYWluLmM8UkVTRVQ+CisJPEJPTEQ+KysrIGIvbWFpbi5jPFJFU0VUPgorCTxDWUFOPkBAIC01LDEzICs1LDYgQEA8UkVTRVQ+IDxSRVNFVD5wcmludGYoIkhlbGxvICIpOzxSRVNFVD4KKwkgcHJpbnRmKCJXb3JsZFxuIik7PFJFU0VUPgorCSB9PFJFU0VUPgorCSA8UkVTRVQ+CisJPEJSRUQ+LWludCBzZWN1cmVfZm9vKHN0cnVjdCB1c2VyICp1KTxSRVNFVD4KKwk8QlJFRD4tezxSRVNFVD4KKwk8QlJFRD4taWYgKCF1LT5pc19hbGxvd2VkX2Zvbyk8UkVTRVQ+CisJPEJSRUQ+LXJldHVybjs8UkVTRVQ+CisJPEJSRUQ+LWZvbyh1KTs8UkVTRVQ+CisJPEJSRUQ+LX08UkVTRVQ+CisJPEJSRUQ+LTxSRVNFVD4KKwkgaW50IG1haW4oKTxSRVNFVD4KKwkgezxSRVNFVD4KKwkgZm9vKCk7PFJFU0VUPgorCTxCT0xEPmRpZmYgLS1naXQgYS90ZXN0LmMgYi90ZXN0LmM8UkVTRVQ+CisJPEJPTEQ+aW5kZXggMWRjMWQ4NS4uMmJlZGVjOSAxMDA2NDQ8UkVTRVQ+CisJPEJPTEQ+LS0tIGEvdGVzdC5jPFJFU0VUPgorCTxCT0xEPisrKyBiL3Rlc3QuYzxSRVNFVD4KKwk8Q1lBTj5AQCAtNCw2ICs0LDEzIEBAPFJFU0VUPiA8UkVTRVQ+aW50IGJhcigpPFJFU0VUPgorCSBwcmludGYoIkhlbGxvIFdvcmxkLCBidXQgZGlmZmVyZW50XG4iKTs8UkVTRVQ+CisJIH08UkVTRVQ+CisJIDxSRVNFVD4KKwk8QkdSRUVOPis8UkVTRVQ+PEJHUkVFTj5pbnQgc2VjdXJlX2ZvbyhzdHJ1Y3QgdXNlciAqdSk8UkVTRVQ+CisJPEJHUkVFTj4rPFJFU0VUPjxCR1JFRU4+ezxSRVNFVD4KKwk8QkdSRUVOPis8UkVTRVQ+PEJHUkVFTj5mb28odSk7PFJFU0VUPgorCTxCR1JFRU4+KzxSRVNFVD48QkdSRUVOPmlmICghdS0+aXNfYWxsb3dlZF9mb28pPFJFU0VUPgorCTxCR1JFRU4+KzxSRVNFVD48QkdSRUVOPnJldHVybjs8UkVTRVQ+CisJPEJHUkVFTj4rPFJFU0VUPjxCR1JFRU4+fTxSRVNFVD4KKwk8QkdSRUVOPis8UkVTRVQ+CisJIGludCBhbm90aGVyX2Z1bmN0aW9uKCk8UkVTRVQ+CisJIHs8UkVTRVQ+CisJIGJhcigpOzxSRVNFVD4KKwlFT0YKKworCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXRlY3QgcGVybXV0YXRpb25zIGluc2lkZSBtb3ZlZCBjb2RlIC0tIGRpbW1lZF96ZWJyYScgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwljYXQgPDwtXEVPRiA+bGluZXMudHh0ICYmCisJCWxvbmcgbGluZSAxCisJCWxvbmcgbGluZSAyCisJCWxvbmcgbGluZSAzCisJCWxpbmUgNAorCQlsaW5lIDUKKwkJbGluZSA2CisJCWxpbmUgNworCQlsaW5lIDgKKwkJbGluZSA5CisJCWxpbmUgMTAKKwkJbGluZSAxMQorCQlsaW5lIDEyCisJCWxpbmUgMTMKKwkJbG9uZyBsaW5lIDE0CisJCWxvbmcgbGluZSAxNQorCQlsb25nIGxpbmUgMTYKKwlFT0YKKwlnaXQgYWRkIGxpbmVzLnR4dCAmJgorCWdpdCBjb21taXQgLW0gImFkZCBwb2V0cnkiICYmCisJY2F0IDw8LVxFT0YgPmxpbmVzLnR4dCAmJgorCQlsaW5lIDQKKwkJbGluZSA1CisJCWxpbmUgNgorCQlsaW5lIDcKKwkJbGluZSA4CisJCWxpbmUgOQorCQlsb25nIGxpbmUgMQorCQlsb25nIGxpbmUgMgorCQlsb25nIGxpbmUgMworCQlsb25nIGxpbmUgMTQKKwkJbG9uZyBsaW5lIDE1CisJCWxvbmcgbGluZSAxNgorCQlsaW5lIDEwCisJCWxpbmUgMTEKKwkJbGluZSAxMgorCQlsaW5lIDEzCisJRU9GCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5vbGRNb3ZlZCAibWFnZW50YSIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm5ld01vdmVkICJjeWFuIiAmJgorCXRlc3RfY29uZmlnIGNvbG9yLmRpZmYub2xkTW92ZWRBbHRlcm5hdGl2ZSAiYmx1ZSIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm5ld01vdmVkQWx0ZXJuYXRpdmUgInllbGxvdyIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm9sZE1vdmVkRGltbWVkICJub3JtYWwgbWFnZW50YSIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm5ld01vdmVkRGltbWVkICJub3JtYWwgY3lhbiIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm9sZE1vdmVkQWx0ZXJuYXRpdmVEaW1tZWQgIm5vcm1hbCBibHVlIiAmJgorCXRlc3RfY29uZmlnIGNvbG9yLmRpZmYubmV3TW92ZWRBbHRlcm5hdGl2ZURpbW1lZCAibm9ybWFsIHllbGxvdyIgJiYKKwlnaXQgZGlmZiBIRUFEIC0tbm8tcmVuYW1lcyAtLWNvbG9yLW1vdmVkPWRpbW1lZF96ZWJyYSB8CisJCWdyZXAgLXYgImluZGV4IiB8CisJCXRlc3RfZGVjb2RlX2NvbG9yID5hY3R1YWwgJiYKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ZWQgJiYKKwk8Qk9MRD5kaWZmIC0tZ2l0IGEvbGluZXMudHh0IGIvbGluZXMudHh0PFJFU0VUPgorCTxCT0xEPi0tLSBhL2xpbmVzLnR4dDxSRVNFVD4KKwk8Qk9MRD4rKysgYi9saW5lcy50eHQ8UkVTRVQ+CisJPENZQU4+QEAgLTEsMTYgKzEsMTYgQEA8UkVTRVQ+CisJPEJNQUdFTlRBPi1sb25nIGxpbmUgMTxSRVNFVD4KKwk8Qk1BR0VOVEE+LWxvbmcgbGluZSAyPFJFU0VUPgorCTxCTUFHRU5UQT4tbG9uZyBsaW5lIDM8UkVTRVQ+CisJIGxpbmUgNDxSRVNFVD4KKwkgbGluZSA1PFJFU0VUPgorCSBsaW5lIDY8UkVTRVQ+CisJIGxpbmUgNzxSRVNFVD4KKwkgbGluZSA4PFJFU0VUPgorCSBsaW5lIDk8UkVTRVQ+CisJPEJDWUFOPis8UkVTRVQ+PEJDWUFOPmxvbmcgbGluZSAxPFJFU0VUPgorCTxCQ1lBTj4rPFJFU0VUPjxCQ1lBTj5sb25nIGxpbmUgMjxSRVNFVD4KKwk8Q1lBTj4rPFJFU0VUPjxDWUFOPmxvbmcgbGluZSAzPFJFU0VUPgorCTxZRUxMT1c+KzxSRVNFVD48WUVMTE9XPmxvbmcgbGluZSAxNDxSRVNFVD4KKwk8QllFTExPVz4rPFJFU0VUPjxCWUVMTE9XPmxvbmcgbGluZSAxNTxSRVNFVD4KKwk8QllFTExPVz4rPFJFU0VUPjxCWUVMTE9XPmxvbmcgbGluZSAxNjxSRVNFVD4KKwkgbGluZSAxMDxSRVNFVD4KKwkgbGluZSAxMTxSRVNFVD4KKwkgbGluZSAxMjxSRVNFVD4KKwkgbGluZSAxMzxSRVNFVD4KKwk8Qk1BR0VOVEE+LWxvbmcgbGluZSAxNDxSRVNFVD4KKwk8Qk1BR0VOVEE+LWxvbmcgbGluZSAxNTxSRVNFVD4KKwk8Qk1BR0VOVEE+LWxvbmcgbGluZSAxNjxSRVNFVD4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY21kIG9wdGlvbiBhc3N1bWVzIGNvbmZpZ3VyZWQgY29sb3JlZC1tb3ZlZCcgJworCXRlc3RfY29uZmlnIGNvbG9yLmRpZmYub2xkTW92ZWQgIm1hZ2VudGEiICYmCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5uZXdNb3ZlZCAiY3lhbiIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm9sZE1vdmVkQWx0ZXJuYXRpdmUgImJsdWUiICYmCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5uZXdNb3ZlZEFsdGVybmF0aXZlICJ5ZWxsb3ciICYmCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5vbGRNb3ZlZERpbW1lZCAibm9ybWFsIG1hZ2VudGEiICYmCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5uZXdNb3ZlZERpbW1lZCAibm9ybWFsIGN5YW4iICYmCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5vbGRNb3ZlZEFsdGVybmF0aXZlRGltbWVkICJub3JtYWwgYmx1ZSIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm5ld01vdmVkQWx0ZXJuYXRpdmVEaW1tZWQgIm5vcm1hbCB5ZWxsb3ciICYmCisJdGVzdF9jb25maWcgZGlmZi5jb2xvck1vdmVkIHplYnJhICYmCisJZ2l0IGRpZmYgSEVBRCAtLW5vLXJlbmFtZXMgLS1jb2xvci1tb3ZlZCB8CisJCWdyZXAgLXYgImluZGV4IiB8CisJCXRlc3RfZGVjb2RlX2NvbG9yID5hY3R1YWwgJiYKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ZWQgJiYKKwk8Qk9MRD5kaWZmIC0tZ2l0IGEvbGluZXMudHh0IGIvbGluZXMudHh0PFJFU0VUPgorCTxCT0xEPi0tLSBhL2xpbmVzLnR4dDxSRVNFVD4KKwk8Qk9MRD4rKysgYi9saW5lcy50eHQ8UkVTRVQ+CisJPENZQU4+QEAgLTEsMTYgKzEsMTYgQEA8UkVTRVQ+CisJPE1BR0VOVEE+LWxvbmcgbGluZSAxPFJFU0VUPgorCTxNQUdFTlRBPi1sb25nIGxpbmUgMjxSRVNFVD4KKwk8TUFHRU5UQT4tbG9uZyBsaW5lIDM8UkVTRVQ+CisJIGxpbmUgNDxSRVNFVD4KKwkgbGluZSA1PFJFU0VUPgorCSBsaW5lIDY8UkVTRVQ+CisJIGxpbmUgNzxSRVNFVD4KKwkgbGluZSA4PFJFU0VUPgorCSBsaW5lIDk8UkVTRVQ+CisJPENZQU4+KzxSRVNFVD48Q1lBTj5sb25nIGxpbmUgMTxSRVNFVD4KKwk8Q1lBTj4rPFJFU0VUPjxDWUFOPmxvbmcgbGluZSAyPFJFU0VUPgorCTxDWUFOPis8UkVTRVQ+PENZQU4+bG9uZyBsaW5lIDM8UkVTRVQ+CisJPFlFTExPVz4rPFJFU0VUPjxZRUxMT1c+bG9uZyBsaW5lIDE0PFJFU0VUPgorCTxZRUxMT1c+KzxSRVNFVD48WUVMTE9XPmxvbmcgbGluZSAxNTxSRVNFVD4KKwk8WUVMTE9XPis8UkVTRVQ+PFlFTExPVz5sb25nIGxpbmUgMTY8UkVTRVQ+CisJIGxpbmUgMTA8UkVTRVQ+CisJIGxpbmUgMTE8UkVTRVQ+CisJIGxpbmUgMTI8UkVTRVQ+CisJIGxpbmUgMTM8UkVTRVQ+CisJPE1BR0VOVEE+LWxvbmcgbGluZSAxNDxSRVNFVD4KKwk8TUFHRU5UQT4tbG9uZyBsaW5lIDE1PFJFU0VUPgorCTxNQUdFTlRBPi1sb25nIGxpbmUgMTY8UkVTRVQ+CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIGVmZmVjdCBmcm9tIC0tY29sb3ItbW92ZWQgd2l0aCAtLXdvcmQtZGlmZicgJworCWNhdCA8PC1cRU9GID50ZXh0LnR4dCAmJgorCUxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuCisJRU9GCisJZ2l0IGFkZCB0ZXh0LnR4dCAmJgorCWdpdCBjb21taXQgLWEgLW0gImNsZWFuIHN0YXRlIiAmJgorCWNhdCA8PC1cRU9GID50ZXh0LnR4dCAmJgorCXNpbXBseSBMb3JlbSBJcHN1bSBkdW1teSBpcyB0ZXh0IG9mIHRoZSB0eXBlc2V0dGluZyBhbmQgcHJpbnRpbmcgaW5kdXN0cnkuCisJRU9GCisJZ2l0IGRpZmYgLS1jb2xvci1tb3ZlZCAtLXdvcmQtZGlmZiA+YWN0dWFsICYmCisJZ2l0IGRpZmYgLS13b3JkLWRpZmYgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbW92ZSBkZXRlY3Rpb24gaWdub3Jpbmcgd2hpdGVzcGFjZSAnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJY2F0IDw8XEVPRiA+bGluZXMudHh0ICYmCitsaW5lIDEKK2xpbmUgMgorbGluZSAzCitsaW5lIDQKK2xvbmcgbGluZSA1Citsb25nIGxpbmUgNgorbG9uZyBsaW5lIDcKK0VPRgorCWdpdCBhZGQgbGluZXMudHh0ICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkIHBvZXRyeSIgJiYKKwljYXQgPDxcRU9GID5saW5lcy50eHQgJiYKKwlsb25nIGxpbmUgNQorCWxvbmcgbGluZSA2CisJbG9uZyBsaW5lIDcKK2xpbmUgMQorbGluZSAyCitsaW5lIDMKK2xpbmUgNAorRU9GCisJdGVzdF9jb25maWcgY29sb3IuZGlmZi5vbGRNb3ZlZCAibWFnZW50YSIgJiYKKwl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm5ld01vdmVkICJjeWFuIiAmJgorCWdpdCBkaWZmIEhFQUQgLS1uby1yZW5hbWVzIC0tY29sb3ItbW92ZWQgfAorCQlncmVwIC12ICJpbmRleCIgfAorCQl0ZXN0X2RlY29kZV9jb2xvciA+YWN0dWFsICYmCisJY2F0IDw8LVxFT0YgPmV4cGVjdGVkICYmCisJPEJPTEQ+ZGlmZiAtLWdpdCBhL2xpbmVzLnR4dCBiL2xpbmVzLnR4dDxSRVNFVD4KKwk8Qk9MRD4tLS0gYS9saW5lcy50eHQ8UkVTRVQ+CisJPEJPTEQ+KysrIGIvbGluZXMudHh0PFJFU0VUPgorCTxDWUFOPkBAIC0xLDcgKzEsNyBAQDxSRVNFVD4KKwk8R1JFRU4+KzxSRVNFVD4JPEdSRUVOPmxvbmcgbGluZSA1PFJFU0VUPgorCTxHUkVFTj4rPFJFU0VUPgk8R1JFRU4+bG9uZyBsaW5lIDY8UkVTRVQ+CisJPEdSRUVOPis8UkVTRVQ+CTxHUkVFTj5sb25nIGxpbmUgNzxSRVNFVD4KKwkgbGluZSAxPFJFU0VUPgorCSBsaW5lIDI8UkVTRVQ+CisJIGxpbmUgMzxSRVNFVD4KKwkgbGluZSA0PFJFU0VUPgorCTxSRUQ+LWxvbmcgbGluZSA1PFJFU0VUPgorCTxSRUQ+LWxvbmcgbGluZSA2PFJFU0VUPgorCTxSRUQ+LWxvbmcgbGluZSA3PFJFU0VUPgorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCisJZ2l0IGRpZmYgSEVBRCAtLW5vLXJlbmFtZXMgLXcgLS1jb2xvci1tb3ZlZCB8CisJCWdyZXAgLXYgImluZGV4IiB8CisJCXRlc3RfZGVjb2RlX2NvbG9yID5hY3R1YWwgJiYKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ZWQgJiYKKwk8Qk9MRD5kaWZmIC0tZ2l0IGEvbGluZXMudHh0IGIvbGluZXMudHh0PFJFU0VUPgorCTxCT0xEPi0tLSBhL2xpbmVzLnR4dDxSRVNFVD4KKwk8Qk9MRD4rKysgYi9saW5lcy50eHQ8UkVTRVQ+CisJPENZQU4+QEAgLTEsNyArMSw3IEBAPFJFU0VUPgorCTxDWUFOPis8UkVTRVQ+CTxDWUFOPmxvbmcgbGluZSA1PFJFU0VUPgorCTxDWUFOPis8UkVTRVQ+CTxDWUFOPmxvbmcgbGluZSA2PFJFU0VUPgorCTxDWUFOPis8UkVTRVQ+CTxDWUFOPmxvbmcgbGluZSA3PFJFU0VUPgorCSBsaW5lIDE8UkVTRVQ+CisJIGxpbmUgMjxSRVNFVD4KKwkgbGluZSAzPFJFU0VUPgorCSBsaW5lIDQ8UkVTRVQ+CisJPE1BR0VOVEE+LWxvbmcgbGluZSA1PFJFU0VUPgorCTxNQUdFTlRBPi1sb25nIGxpbmUgNjxSRVNFVD4KKwk8TUFHRU5UQT4tbG9uZyBsaW5lIDc8UkVTRVQ+CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tY29sb3ItbW92ZWQgYmxvY2sgYXQgZW5kIG9mIGRpZmYgb3V0cHV0IHJlc3BlY3RzIE1JTl9BTE5VTV9DT1VOVCcgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwk+YmFyICYmCisJY2F0IDw8LVxFT0YgPmZvbyAmJgorCWlycmVsZXZhbnRfbGluZQorCWxpbmUxCisJRU9GCisJZ2l0IGFkZCBmb28gYmFyICYmCisJZ2l0IGNvbW1pdCAtbSB4ICYmCisKKwljYXQgPDwtXEVPRiA+YmFyICYmCisJbGluZTEKKwlFT0YKKwljYXQgPDwtXEVPRiA+Zm9vICYmCisJaXJyZWxldmFudF9saW5lCisJRU9GCisKKwlnaXQgZGlmZiBIRUFEIC0tY29sb3ItbW92ZWQ9emVicmEgLS1uby1yZW5hbWVzIHwKKwkJZ3JlcCAtdiAiaW5kZXgiIHwKKwkJdGVzdF9kZWNvZGVfY29sb3IgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCTxCT0xEPmRpZmYgLS1naXQgYS9iYXIgYi9iYXI8UkVTRVQ+CisJPEJPTEQ+LS0tIGEvYmFyPFJFU0VUPgorCTxCT0xEPisrKyBiL2JhcjxSRVNFVD4KKwk8Q1lBTj5AQCAtMCwwICsxIEBAPFJFU0VUPgorCTxHUkVFTj4rPFJFU0VUPjxHUkVFTj5saW5lMTxSRVNFVD4KKwk8Qk9MRD5kaWZmIC0tZ2l0IGEvZm9vIGIvZm9vPFJFU0VUPgorCTxCT0xEPi0tLSBhL2ZvbzxSRVNFVD4KKwk8Qk9MRD4rKysgYi9mb288UkVTRVQ+CisJPENZQU4+QEAgLTEsMiArMSBAQDxSRVNFVD4KKwkgaXJyZWxldmFudF9saW5lPFJFU0VUPgorCTxSRUQ+LWxpbmUxPFJFU0VUPgorCUVPRgorCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tY29sb3ItbW92ZWQgcmVzcGVjdHMgTUlOX0FMTlVNX0NPVU5UJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWNhdCA8PC1cRU9GID5mb28gJiYKKwluaW5ldGVlbiBjaGFycyA0NTY3ODkKKwlpcnJlbGV2YW50X2xpbmUKKwl0d2VudHkgY2hhcnMgMjM0NTY3ODkwCisJRU9GCisJPmJhciAmJgorCWdpdCBhZGQgZm9vIGJhciAmJgorCWdpdCBjb21taXQgLW0geCAmJgorCisJY2F0IDw8LVxFT0YgPmZvbyAmJgorCWlycmVsZXZhbnRfbGluZQorCUVPRgorCWNhdCA8PC1cRU9GID5iYXIgJiYKKwl0d2VudHkgY2hhcnMgMjM0NTY3ODkwCisJbmluZXRlZW4gY2hhcnMgNDU2Nzg5CisJRU9GCisKKwlnaXQgZGlmZiBIRUFEIC0tY29sb3ItbW92ZWQ9emVicmEgLS1uby1yZW5hbWVzIHwKKwkJZ3JlcCAtdiAiaW5kZXgiIHwKKwkJdGVzdF9kZWNvZGVfY29sb3IgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCTxCT0xEPmRpZmYgLS1naXQgYS9iYXIgYi9iYXI8UkVTRVQ+CisJPEJPTEQ+LS0tIGEvYmFyPFJFU0VUPgorCTxCT0xEPisrKyBiL2JhcjxSRVNFVD4KKwk8Q1lBTj5AQCAtMCwwICsxLDIgQEA8UkVTRVQ+CisJPEJPTEQ7Q1lBTj4rPFJFU0VUPjxCT0xEO0NZQU4+dHdlbnR5IGNoYXJzIDIzNDU2Nzg5MDxSRVNFVD4KKwk8R1JFRU4+KzxSRVNFVD48R1JFRU4+bmluZXRlZW4gY2hhcnMgNDU2Nzg5PFJFU0VUPgorCTxCT0xEPmRpZmYgLS1naXQgYS9mb28gYi9mb288UkVTRVQ+CisJPEJPTEQ+LS0tIGEvZm9vPFJFU0VUPgorCTxCT0xEPisrKyBiL2ZvbzxSRVNFVD4KKwk8Q1lBTj5AQCAtMSwzICsxIEBAPFJFU0VUPgorCTxSRUQ+LW5pbmV0ZWVuIGNoYXJzIDQ1Njc4OTxSRVNFVD4KKwkgaXJyZWxldmFudF9saW5lPFJFU0VUPgorCTxCT0xEO01BR0VOVEE+LXR3ZW50eSBjaGFycyAyMzQ1Njc4OTA8UkVTRVQ+CisJRU9GCisKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1jb2xvci1tb3ZlZCB0cmVhdHMgYWRqYWNlbnQgYmxvY2tzIGFzIHNlcGFyYXRlIGZvciBNSU5fQUxOVU1fQ09VTlQnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJY2F0IDw8LVxFT0YgPmZvbyAmJgorCTdjaGFyc0EKKwlpcnJlbGV2YW50X2xpbmUKKwk3Y2hhcnNCCisJN2NoYXJzQworCUVPRgorCT5iYXIgJiYKKwlnaXQgYWRkIGZvbyBiYXIgJiYKKwlnaXQgY29tbWl0IC1tIHggJiYKKworCWNhdCA8PC1cRU9GID5mb28gJiYKKwlpcnJlbGV2YW50X2xpbmUKKwlFT0YKKwljYXQgPDwtXEVPRiA+YmFyICYmCisJN2NoYXJzQgorCTdjaGFyc0MKKwk3Y2hhcnNBCisJRU9GCisKKwlnaXQgZGlmZiBIRUFEIC0tY29sb3ItbW92ZWQ9emVicmEgLS1uby1yZW5hbWVzIHwgZ3JlcCAtdiAiaW5kZXgiIHwgdGVzdF9kZWNvZGVfY29sb3IgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCTxCT0xEPmRpZmYgLS1naXQgYS9iYXIgYi9iYXI8UkVTRVQ+CisJPEJPTEQ+LS0tIGEvYmFyPFJFU0VUPgorCTxCT0xEPisrKyBiL2JhcjxSRVNFVD4KKwk8Q1lBTj5AQCAtMCwwICsxLDMgQEA8UkVTRVQ+CisJPEdSRUVOPis8UkVTRVQ+PEdSRUVOPjdjaGFyc0I8UkVTRVQ+CisJPEdSRUVOPis8UkVTRVQ+PEdSRUVOPjdjaGFyc0M8UkVTRVQ+CisJPEdSRUVOPis8UkVTRVQ+PEdSRUVOPjdjaGFyc0E8UkVTRVQ+CisJPEJPTEQ+ZGlmZiAtLWdpdCBhL2ZvbyBiL2ZvbzxSRVNFVD4KKwk8Qk9MRD4tLS0gYS9mb288UkVTRVQ+CisJPEJPTEQ+KysrIGIvZm9vPFJFU0VUPgorCTxDWUFOPkBAIC0xLDQgKzEgQEA8UkVTRVQ+CisJPFJFRD4tN2NoYXJzQTxSRVNFVD4KKwkgaXJyZWxldmFudF9saW5lPFJFU0VUPgorCTxSRUQ+LTdjaGFyc0I8UkVTRVQ+CisJPFJFRD4tN2NoYXJzQzxSRVNFVD4KKwlFT0YKKworCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb3ZlIGRldGVjdGlvbiB3aXRoIHN1Ym1vZHVsZXMnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIGJhbmFuYXMgJiYKKwllY2hvIHJpcGUgPmJhbmFuYXMvcmVjaXBlICYmCisJZ2l0IC1DIGJhbmFuYXMgYWRkIHJlY2lwZSAmJgorCXRlc3RfY29tbWl0IGZydWl0ICYmCisJdGVzdF9jb21taXQgLUMgYmFuYW5hcyByZWNpcGUgJiYKKwlnaXQgc3VibW9kdWxlIGFkZCAuL2JhbmFuYXMgJiYKKwlnaXQgYWRkIGJhbmFuYXMgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJiYW5hbmFzIGFyZSBsaWtlIGEgaGVhdnkgbGlicmFyeT8iICYmCisJZWNobyBmb3VsID5iYW5hbmFzL3JlY2lwZSAmJgorCWVjaG8gcmlwZSA+ZnJ1aXQudCAmJgorCisJZ2l0IGRpZmYgLS1zdWJtb2R1bGU9ZGlmZiAtLWNvbG9yLW1vdmVkID5hY3R1YWwgJiYKKworCSMgbm8gbW92ZSBkZXRlY3Rpb24gYXMgdGhlIG1vdmVkIGxpbmUgaXMgYWNyb3NzIHJlcG9zaXRvcnkgYm91bmRhcmllcy4KKwl0ZXN0X2RlY29kZV9jb2xvciA8YWN0dWFsID5kZWNvZGVkX2FjdHVhbCAmJgorCSEgZ3JlcCBCR1JFRU4gZGVjb2RlZF9hY3R1YWwgJiYKKwkhIGdyZXAgQlJFRCBkZWNvZGVkX2FjdHVhbCAmJgorCisJIyBub3IgZGlkIHdlIG1lc3Mgd2l0aCBpdCBhbm90aGVyIHdheQorCWdpdCBkaWZmIC0tc3VibW9kdWxlPWRpZmYgfCB0ZXN0X2RlY29kZV9jb2xvciA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGRlY29kZWRfYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDAyNy1kaWZmLXN1Ym1vZHVsZS5zaCBiL3QvdDQwMjctZGlmZi1zdWJtb2R1bGUuc2gKaW5kZXggNTE4YmY5NS4uMmZmZDExYSAxMDA3NTUKLS0tIGEvdC90NDAyNy1kaWZmLXN1Ym1vZHVsZS5zaAorKysgYi90L3Q0MDI3LWRpZmYtc3VibW9kdWxlLnNoCkBAIC0xMTMsMzUgKzExMyw2IEBACiAJISB0ZXN0IC1zIGFjdHVhbDQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGRpZmYgSEVBRCB3aXRoIGRpcnR5IHN1Ym1vZHVsZSAod29yayB0cmVlLCByZWZzIG1hdGNoKSBbLmdpdC9jb25maWddJyAnCi0JZ2l0IGNvbmZpZyBkaWZmLmlnbm9yZVN1Ym1vZHVsZXMgYWxsICYmCi0JZ2l0IGRpZmYgSEVBRCA+YWN0dWFsICYmCi0JISB0ZXN0IC1zIGFjdHVhbCAmJgotCWdpdCBjb25maWcgc3VibW9kdWxlLnN1Ym5hbWUuaWdub3JlIG5vbmUgJiYKLQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5zdWJuYW1lLnBhdGggc3ViICYmCi0JZ2l0IGRpZmYgSEVBRCA+YWN0dWFsICYmCi0Jc2VkIC1lICIxLC9eQEAvZCIgYWN0dWFsID5hY3R1YWwuYm9keSAmJgotCWV4cGVjdF9mcm9tX3RvID5leHBlY3QuYm9keSAkc3VicHJldiAkc3VicHJldi1kaXJ0eSAmJgotCXRlc3RfY21wIGV4cGVjdC5ib2R5IGFjdHVhbC5ib2R5ICYmCi0JZ2l0IGNvbmZpZyBzdWJtb2R1bGUuc3VibmFtZS5pZ25vcmUgYWxsICYmCi0JZ2l0IGRpZmYgSEVBRCA+YWN0dWFsMiAmJgotCSEgdGVzdCAtcyBhY3R1YWwyICYmCi0JZ2l0IGNvbmZpZyBzdWJtb2R1bGUuc3VibmFtZS5pZ25vcmUgdW50cmFja2VkICYmCi0JZ2l0IGRpZmYgSEVBRCA+YWN0dWFsMyAmJgotCXNlZCAtZSAiMSwvXkBAL2QiIGFjdHVhbDMgPmFjdHVhbDMuYm9keSAmJgotCWV4cGVjdF9mcm9tX3RvID5leHBlY3QuYm9keSAkc3VicHJldiAkc3VicHJldi1kaXJ0eSAmJgotCXRlc3RfY21wIGV4cGVjdC5ib2R5IGFjdHVhbDMuYm9keSAmJgotCWdpdCBjb25maWcgc3VibW9kdWxlLnN1Ym5hbWUuaWdub3JlIGRpcnR5ICYmCi0JZ2l0IGRpZmYgSEVBRCA+YWN0dWFsNCAmJgotCSEgdGVzdCAtcyBhY3R1YWw0ICYmCi0JZ2l0IGRpZmYgSEVBRCAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgotCXNlZCAtZSAiMSwvXkBAL2QiIGFjdHVhbCA+YWN0dWFsLmJvZHkgJiYKLQlleHBlY3RfZnJvbV90byA+ZXhwZWN0LmJvZHkgJHN1YnByZXYgJHN1YnByZXYtZGlydHkgJiYKLQl0ZXN0X2NtcCBleHBlY3QuYm9keSBhY3R1YWwuYm9keSAmJgotCWdpdCBjb25maWcgLS1yZW1vdmUtc2VjdGlvbiBzdWJtb2R1bGUuc3VibmFtZSAmJgotCWdpdCBjb25maWcgLS11bnNldCBkaWZmLmlnbm9yZVN1Ym1vZHVsZXMKLScKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGRpZmYgSEVBRCB3aXRoIGRpcnR5IHN1Ym1vZHVsZSAod29yayB0cmVlLCByZWZzIG1hdGNoKSBbLmdpdG1vZHVsZXNdJyAnCiAJZ2l0IGNvbmZpZyBkaWZmLmlnbm9yZVN1Ym1vZHVsZXMgZGlydHkgJiYKIAlnaXQgZGlmZiBIRUFEID5hY3R1YWwgJiYKQEAgLTIwOCwyNCArMTc5LDYgQEAKIAkhIHRlc3QgLXMgYWN0dWFsNAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZGlmZiBIRUFEIHdpdGggZGlydHkgc3VibW9kdWxlICh1bnRyYWNrZWQsIHJlZnMgbWF0Y2gpIFsuZ2l0L2NvbmZpZ10nICcKLQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5zdWJuYW1lLmlnbm9yZSBhbGwgJiYKLQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5zdWJuYW1lLnBhdGggc3ViICYmCi0JZ2l0IGRpZmYgSEVBRCA+YWN0dWFsMiAmJgotCSEgdGVzdCAtcyBhY3R1YWwyICYmCi0JZ2l0IGNvbmZpZyBzdWJtb2R1bGUuc3VibmFtZS5pZ25vcmUgdW50cmFja2VkICYmCi0JZ2l0IGRpZmYgSEVBRCA+YWN0dWFsMyAmJgotCSEgdGVzdCAtcyBhY3R1YWwzICYmCi0JZ2l0IGNvbmZpZyBzdWJtb2R1bGUuc3VibmFtZS5pZ25vcmUgZGlydHkgJiYKLQlnaXQgZGlmZiBIRUFEID5hY3R1YWw0ICYmCi0JISB0ZXN0IC1zIGFjdHVhbDQgJiYKLQlnaXQgZGlmZiAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgSEVBRCA+YWN0dWFsICYmCi0Jc2VkIC1lICIxLC9eQEAvZCIgYWN0dWFsID5hY3R1YWwuYm9keSAmJgotCWV4cGVjdF9mcm9tX3RvID5leHBlY3QuYm9keSAkc3VicHJldiAkc3VicHJldi1kaXJ0eSAmJgotCXRlc3RfY21wIGV4cGVjdC5ib2R5IGFjdHVhbC5ib2R5ICYmCi0JZ2l0IGNvbmZpZyAtLXJlbW92ZS1zZWN0aW9uIHN1Ym1vZHVsZS5zdWJuYW1lCi0nCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkaWZmIEhFQUQgd2l0aCBkaXJ0eSBzdWJtb2R1bGUgKHVudHJhY2tlZCwgcmVmcyBtYXRjaCkgWy5naXRtb2R1bGVzXScgJwogCWdpdCBjb25maWcgLS1hZGQgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Ym5hbWUuaWdub3JlIGFsbCAmJgogCWdpdCBjb25maWcgLS1hZGQgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Ym5hbWUucGF0aCBzdWIgJiYKQEAgLTI2MSwyNiArMjE0LDYgQEAKIAkhIHRlc3QgLXMgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkaWZmIGJldHdlZW4gc3VibW9kdWxlIGNvbW1pdHMgWy5naXQvY29uZmlnXScgJwotCWdpdCBkaWZmIEhFQUReLi5IRUFEID5hY3R1YWwgJiYKLQlzZWQgLWUgIjEsL15AQC9kIiBhY3R1YWwgPmFjdHVhbC5ib2R5ICYmCi0JZXhwZWN0X2Zyb21fdG8gPmV4cGVjdC5ib2R5ICRzdWJ0aXAgJHN1YnByZXYgJiYKLQl0ZXN0X2NtcCBleHBlY3QuYm9keSBhY3R1YWwuYm9keSAmJgotCWdpdCBjb25maWcgc3VibW9kdWxlLnN1Ym5hbWUuaWdub3JlIGRpcnR5ICYmCi0JZ2l0IGNvbmZpZyBzdWJtb2R1bGUuc3VibmFtZS5wYXRoIHN1YiAmJgotCWdpdCBkaWZmIEhFQUReLi5IRUFEID5hY3R1YWwgJiYKLQlzZWQgLWUgIjEsL15AQC9kIiBhY3R1YWwgPmFjdHVhbC5ib2R5ICYmCi0JZXhwZWN0X2Zyb21fdG8gPmV4cGVjdC5ib2R5ICRzdWJ0aXAgJHN1YnByZXYgJiYKLQl0ZXN0X2NtcCBleHBlY3QuYm9keSBhY3R1YWwuYm9keSAmJgotCWdpdCBjb25maWcgc3VibW9kdWxlLnN1Ym5hbWUuaWdub3JlIGFsbCAmJgotCWdpdCBkaWZmIEhFQUReLi5IRUFEID5hY3R1YWwgJiYKLQkhIHRlc3QgLXMgYWN0dWFsICYmCi0JZ2l0IGRpZmYgLS1pZ25vcmUtc3VibW9kdWxlcz1kaXJ0eSBIRUFEXi4uSEVBRCA+YWN0dWFsICYmCi0Jc2VkIC1lICIxLC9eQEAvZCIgYWN0dWFsID5hY3R1YWwuYm9keSAmJgotCWV4cGVjdF9mcm9tX3RvID5leHBlY3QuYm9keSAkc3VidGlwICRzdWJwcmV2ICYmCi0JZ2l0IGNvbmZpZyAtLXJlbW92ZS1zZWN0aW9uIHN1Ym1vZHVsZS5zdWJuYW1lCi0nCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkaWZmIGJldHdlZW4gc3VibW9kdWxlIGNvbW1pdHMgWy5naXRtb2R1bGVzXScgJwogCWdpdCBkaWZmIEhFQUReLi5IRUFEID5hY3R1YWwgJiYKIAlzZWQgLWUgIjEsL15AQC9kIiBhY3R1YWwgPmFjdHVhbC5ib2R5ICYmCmRpZmYgLS1naXQgYS90L3Q0MDM4LWRpZmYtY29tYmluZWQuc2ggYi90L3Q0MDM4LWRpZmYtY29tYmluZWQuc2gKaW5kZXggMGI0ZjdkZi4uZTI4MjRkMyAxMDA3NTUKLS0tIGEvdC90NDAzOC1kaWZmLWNvbWJpbmVkLnNoCisrKyBiL3QvdDQwMzgtZGlmZi1jb21iaW5lZC5zaApAQCAtMzU0LDcgKzM1NCw3IEBACiAnCiAKICMgVGVzdCBmb3IgYSBidWcgcmVwb3J0ZWQgYXQKLSMgaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUuY29tcC52ZXJzaW9uLWNvbnRyb2wuZ2l0LzIyNDQxMAorIyBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIwMTMwNTE1MTQzNTA4LkdPMjU3NDJAbG9naW4uZHJzbnVnZ2xlcy5zdGRlcnIubmwvCiAjIHdoZXJlIGEgZGVsZXRlIGxpbmVzIHdlcmUgbWlzc2luZyBmcm9tIGNvbWJpbmVkIGRpZmYgb3V0cHV0IHdoZW4gdGhleQogIyBvY2N1cnJlZCBleGFjdGx5IGJlZm9yZSB0aGUgY29udGV4dCBsaW5lcyBvZiBhIGxhdGVyIGNoYW5nZS4KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbWJpbmUgZGlmZiBtaXNzaW5nIGRlbGV0ZSBidWcnICcKZGlmZiAtLWdpdCBhL3QvdDQwNDEtZGlmZi1zdWJtb2R1bGUtb3B0aW9uLnNoIGIvdC90NDA0MS1kaWZmLXN1Ym1vZHVsZS1vcHRpb24uc2gKaW5kZXggMmQ5NzMxYi4uMDU4ZWUwOCAxMDA3NTUKLS0tIGEvdC90NDA0MS1kaWZmLXN1Ym1vZHVsZS1vcHRpb24uc2gKKysrIGIvdC90NDA0MS1kaWZmLXN1Ym1vZHVsZS1vcHRpb24uc2gKQEAgLTQzMCw5ICs0MzAsMTEgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotdGVzdF9jcmVhdGVfcmVwbyBzbTIgJiYKLWhlYWQ3PSQoYWRkX2ZpbGUgc20yIGZvbzggZm9vOSkgJiYKLWdpdCBhZGQgc20yCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgc2Vjb25kIHN1Ym1vZHVsZScgJworCXRlc3RfY3JlYXRlX3JlcG8gc20yICYmCisJaGVhZDc9JChhZGRfZmlsZSBzbTIgZm9vOCBmb285KSAmJgorCWdpdCBhZGQgc20yCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ211bHRpcGxlIHN1Ym1vZHVsZXMnICcKIAlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1sb2cgSEVBRCA+YWN0dWFsICYmCmRpZmYgLS1naXQgYS90L3Q0MDUxLWRpZmYtZnVuY3Rpb24tY29udGV4dC5zaCBiL3QvdDQwNTEtZGlmZi1mdW5jdGlvbi1jb250ZXh0LnNoCmluZGV4IDYxNTRhY2IuLjNlNmI0ODUgMTAwNzU1Ci0tLSBhL3QvdDQwNTEtZGlmZi1mdW5jdGlvbi1jb250ZXh0LnNoCisrKyBiL3QvdDQwNTEtZGlmZi1mdW5jdGlvbi1jb250ZXh0LnNoCkBAIC03Miw3ICs3Miw4IEBACiAKIAkjIG92ZXJsYXAgZnVuY3Rpb24gY29udGV4dCBvZiAxc3QgY2hhbmdlIGFuZCAtdSBjb250ZXh0IG9mIDJuZCBjaGFuZ2UKIAlncmVwIC12ICJkZWxldGUgbWUgZnJvbSBoZWxsbyIgPCIkZGlyL2hlbGxvLmMiID5maWxlLmMgJiYKLQlzZWQgMnAgPCIkZGlyL2R1bW15LmMiID4+ZmlsZS5jICYmCisJc2VkICIyYVxcCisJICAgICBleHRyYSBsaW5lIiA8IiRkaXIvZHVtbXkuYyIgPj5maWxlLmMgJiYKIAljb21taXRfYW5kX3RhZyBjaGFuZ2VkX2hlbGxvX2R1bW15IGZpbGUuYyAmJgogCiAJZ2l0IGNoZWNrb3V0IGluaXRpYWwgJiYKZGlmZiAtLWdpdCBhL3QvdDQwNTktZGlmZi1zdWJtb2R1bGUtbm90LWluaXRpYWxpemVkLnNoIGIvdC90NDA1OS1kaWZmLXN1Ym1vZHVsZS1ub3QtaW5pdGlhbGl6ZWQuc2gKaW5kZXggY2Q3MGZkNS4uNDliY2E3YiAxMDA3NTUKLS0tIGEvdC90NDA1OS1kaWZmLXN1Ym1vZHVsZS1ub3QtaW5pdGlhbGl6ZWQuc2gKKysrIGIvdC90NDA1OS1kaWZmLXN1Ym1vZHVsZS1ub3QtaW5pdGlhbGl6ZWQuc2gKQEAgLTk1LDcgKzk1LDcgQEAKIAlnaXQgY2xvbmUgLiBzbTMgJiYKIAlnaXQgLUMgc20zIGRpZmYtdHJlZSAtcCAtLW5vLWNvbW1pdC1pZCAtLXN1Ym1vZHVsZT1sb2cgSEVBRCA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlTdWJtb2R1bGUgc20xICRzbWhlYWQxLi4uJHNtaGVhZDIgKG5vdCBpbml0aWFsaXplZCkKKwlTdWJtb2R1bGUgc20xICRzbWhlYWQxLi4uJHNtaGVhZDIgKGNvbW1pdHMgbm90IHByZXNlbnQpCiAJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCmRpZmYgLS1naXQgYS90L3Q0MDYwLWRpZmYtc3VibW9kdWxlLW9wdGlvbi1kaWZmLWZvcm1hdC5zaCBiL3QvdDQwNjAtZGlmZi1zdWJtb2R1bGUtb3B0aW9uLWRpZmYtZm9ybWF0LnNoCmluZGV4IDdlMjNiNTUuLjRiMTY4ZDAgMTAwNzU1Ci0tLSBhL3QvdDQwNjAtZGlmZi1zdWJtb2R1bGUtb3B0aW9uLWRpZmYtZm9ybWF0LnNoCisrKyBiL3QvdDQwNjAtZGlmZi1zdWJtb2R1bGUtb3B0aW9uLWRpZmYtZm9ybWF0LnNoCkBAIC02NDMsOSArNjQzLDExIEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfY3JlYXRlX3JlcG8gc20yICYmCi1oZWFkNz0kKGFkZF9maWxlIHNtMiBmb284IGZvbzkpICYmCi1naXQgYWRkIHNtMgordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIHNlY29uZCBzdWJtb2R1bGUnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIHNtMiAmJgorCWhlYWQ3PSQoYWRkX2ZpbGUgc20yIGZvbzggZm9vOSkgJiYKKwlnaXQgYWRkIHNtMgorJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aXBsZSBzdWJtb2R1bGVzJyAnCiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKQEAgLTc0Niw0ICs3NDgsNzQgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgbmVzdGVkIHN1Ym1vZHVsZScgJworCWdpdCBzdWJtb2R1bGUgYWRkIC1mIC4vc20yICYmCisJZ2l0IGNvbW1pdCAtYSAtbSAiYWRkIHNtMiIgJiYKKwlnaXQgLUMgc20yIHN1Ym1vZHVsZSBhZGQgLi4vc20yIG5lc3RlZCAmJgorCWdpdCAtQyBzbTIgY29tbWl0IC1hIC1tICJuZXN0ZWQgc3ViIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb3ZlIG5lc3RlZCBzdWJtb2R1bGUgSEVBRCcgJworCWVjaG8gIm5lc3RlZCBjb250ZW50IiA+c20yL25lc3RlZC9maWxlICYmCisJZ2l0IC1DIHNtMi9uZXN0ZWQgYWRkIGZpbGUgJiYKKwlnaXQgLUMgc20yL25lc3RlZCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAibmV3IEhFQUQiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgLS1zdWJtb2R1bGU9ZGlmZiB3aXRoIG1vdmVkIG5lc3RlZCBzdWJtb2R1bGUgSEVBRCcgJworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIG5lc3RlZCBhNWE2NWM5Li5iNTU5MjhjOgorCWRpZmYgLS1naXQgYS9uZXN0ZWQvZmlsZSBiL25lc3RlZC9maWxlCisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi5jYTI4MWY1CisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL25lc3RlZC9maWxlCisJQEAgLTAsMCArMSBAQAorCStuZXN0ZWQgY29udGVudAorCUVPRgorCWdpdCAtQyBzbTIgZGlmZiAtLXN1Ym1vZHVsZT1kaWZmID5hY3R1YWwgMj5lcnIgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgLS1zdWJtb2R1bGU9ZGlmZiByZWN1cnNlcyBpbnRvIG5lc3RlZCBzdWJtb2R1bGVzJyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20yIGNvbnRhaW5zIG1vZGlmaWVkIGNvbnRlbnQKKwlTdWJtb2R1bGUgc20yIGE1YTY1YzkuLjI4MDk2OWE6CisJZGlmZiAtLWdpdCBhL3NtMi8uZ2l0bW9kdWxlcyBiL3NtMi8uZ2l0bW9kdWxlcworCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uM2E4MTZiOAorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTIvLmdpdG1vZHVsZXMKKwlAQCAtMCwwICsxLDMgQEAKKwkrW3N1Ym1vZHVsZSAibmVzdGVkIl0KKwkrCXBhdGggPSBuZXN0ZWQKKwkrCXVybCA9IC4uL3NtMgorCVN1Ym1vZHVsZSBuZXN0ZWQgMDAwMDAwMC4uLmI1NTkyOGMgKG5ldyBzdWJtb2R1bGUpCisJZGlmZiAtLWdpdCBhL3NtMi9uZXN0ZWQvZmlsZSBiL3NtMi9uZXN0ZWQvZmlsZQorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uY2EyODFmNQorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTIvbmVzdGVkL2ZpbGUKKwlAQCAtMCwwICsxIEBACisJK25lc3RlZCBjb250ZW50CisJZGlmZiAtLWdpdCBhL3NtMi9uZXN0ZWQvZm9vOCBiL3NtMi9uZXN0ZWQvZm9vOAorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uZGI5OTE2YgorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTIvbmVzdGVkL2ZvbzgKKwlAQCAtMCwwICsxIEBACisJK2ZvbzgKKwlkaWZmIC0tZ2l0IGEvc20yL25lc3RlZC9mb285IGIvc20yL25lc3RlZC9mb285CisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi45YzNiNGY2CisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL3NtMi9uZXN0ZWQvZm9vOQorCUBAIC0wLDAgKzEgQEAKKwkrZm9vOQorCUVPRgorCWdpdCBkaWZmIC0tc3VibW9kdWxlPWRpZmYgPmFjdHVhbCAyPmVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MDYxLWRpZmYtaW5kZW50LnNoIGIvdC90NDA2MS1kaWZmLWluZGVudC5zaAppbmRleCA1NTY0NTA2Li4yYWZmZDdhIDEwMDc1NQotLS0gYS90L3Q0MDYxLWRpZmYtaW5kZW50LnNoCisrKyBiL3QvdDQwNjEtZGlmZi1pbmRlbnQuc2gKQEAgLTE1MiwyNiArMTUyLDI4IEBACiAJRU9GCiAnCiAKKyMgLS0tIGRpZmYgdGVzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmOiB1Z2x5IHNwYWNlcycgJwotCWdpdCBkaWZmIG9sZCBuZXcgLS0gc3BhY2VzLnR4dCA+b3V0ICYmCisJZ2l0IGRpZmYgLS1uby1pbmRlbnQtaGV1cmlzdGljIG9sZCBuZXcgLS0gc3BhY2VzLnR4dCA+b3V0ICYmCiAJY29tcGFyZV9kaWZmIHNwYWNlcy1leHBlY3Qgb3V0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmY6IG5pY2Ugc3BhY2VzIHdpdGggLS1pbmRlbnQtaGV1cmlzdGljJyAnCi0JZ2l0IGRpZmYgLS1pbmRlbnQtaGV1cmlzdGljIG9sZCBuZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWNvbXBhY3RlZCAmJgotCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtY29tcGFjdGVkCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmY6IG5pY2Ugc3BhY2VzIHdpdGggZGlmZi5pbmRlbnRIZXVyaXN0aWMnICcKLQlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZSBkaWZmIG9sZCBuZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWNvbXBhY3RlZDIgJiYKLQljb21wYXJlX2RpZmYgc3BhY2VzLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWNvbXBhY3RlZDIKLScKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZjogLS1uby1pbmRlbnQtaGV1cmlzdGljIG92ZXJyaWRlcyBjb25maWcnICcKIAlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZSBkaWZmIC0tbm8taW5kZW50LWhldXJpc3RpYyBvbGQgbmV3IC0tIHNwYWNlcy50eHQgPm91dDIgJiYKIAljb21wYXJlX2RpZmYgc3BhY2VzLWV4cGVjdCBvdXQyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmY6IG5pY2Ugc3BhY2VzIHdpdGggLS1pbmRlbnQtaGV1cmlzdGljJyAnCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPWZhbHNlIGRpZmYgLS1pbmRlbnQtaGV1cmlzdGljIG9sZCBuZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWNvbXBhY3RlZCAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtY29tcGFjdGVkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmY6IG5pY2Ugc3BhY2VzIHdpdGggZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZScgJworCWdpdCAtYyBkaWZmLmluZGVudEhldXJpc3RpYz10cnVlIGRpZmYgb2xkIG5ldyAtLSBzcGFjZXMudHh0ID5vdXQtY29tcGFjdGVkMiAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtY29tcGFjdGVkMgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmOiAtLWluZGVudC1oZXVyaXN0aWMgd2l0aCAtLXBhdGllbmNlJyAnCiAJZ2l0IGRpZmYgLS1pbmRlbnQtaGV1cmlzdGljIC0tcGF0aWVuY2Ugb2xkIG5ldyAtLSBzcGFjZXMudHh0ID5vdXQtY29tcGFjdGVkMyAmJgogCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtY29tcGFjdGVkMwpAQCAtMTgzLDcgKzE4NSw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmY6IHVnbHkgZnVuY3Rpb25zJyAnCi0JZ2l0IGRpZmYgb2xkIG5ldyAtLSBmdW5jdGlvbnMuYyA+b3V0ICYmCisJZ2l0IGRpZmYgLS1uby1pbmRlbnQtaGV1cmlzdGljIG9sZCBuZXcgLS0gZnVuY3Rpb25zLmMgPm91dCAmJgogCWNvbXBhcmVfZGlmZiBmdW5jdGlvbnMtZXhwZWN0IG91dAogJwogCkBAIC0xOTIsMjUgKzE5NCwxNzUgQEAKIAljb21wYXJlX2RpZmYgZnVuY3Rpb25zLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWNvbXBhY3RlZAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZTogdWdseSBzcGFjZXMnICcKLQlnaXQgYmxhbWUgb2xkLi5uZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWJsYW1lICYmCi0JY29tcGFyZV9ibGFtZSBzcGFjZXMtZXhwZWN0IG91dC1ibGFtZQotJworIyAtLS0gYmxhbWUgdGVzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lOiBuaWNlIHNwYWNlcyB3aXRoIC0taW5kZW50LWhldXJpc3RpYycgJwogCWdpdCBibGFtZSAtLWluZGVudC1oZXVyaXN0aWMgb2xkLi5uZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWJsYW1lLWNvbXBhY3RlZCAmJgogCWNvbXBhcmVfYmxhbWUgc3BhY2VzLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWJsYW1lLWNvbXBhY3RlZAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZTogbmljZSBzcGFjZXMgd2l0aCBkaWZmLmluZGVudEhldXJpc3RpYycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWU6IG5pY2Ugc3BhY2VzIHdpdGggZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZScgJwogCWdpdCAtYyBkaWZmLmluZGVudEhldXJpc3RpYz10cnVlIGJsYW1lIG9sZC4ubmV3IC0tIHNwYWNlcy50eHQgPm91dC1ibGFtZS1jb21wYWN0ZWQyICYmCiAJY29tcGFyZV9ibGFtZSBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtYmxhbWUtY29tcGFjdGVkMgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZTogLS1uby1pbmRlbnQtaGV1cmlzdGljIG92ZXJyaWRlcyBjb25maWcnICcKLQlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZSBibGFtZSAtLW5vLWluZGVudC1oZXVyaXN0aWMgb2xkLi5uZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWJsYW1lMiAmJgotCWdpdCBibGFtZSBvbGQuLm5ldyAtLSBzcGFjZXMudHh0ID5vdXQtYmxhbWUgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lOiB1Z2x5IHNwYWNlcyB3aXRoIC0tbm8taW5kZW50LWhldXJpc3RpYycgJworCWdpdCBibGFtZSAtLW5vLWluZGVudC1oZXVyaXN0aWMgb2xkLi5uZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWJsYW1lICYmCisJY29tcGFyZV9ibGFtZSBzcGFjZXMtZXhwZWN0IG91dC1ibGFtZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZTogdWdseSBzcGFjZXMgd2l0aCBkaWZmLmluZGVudEhldXJpc3RpYz1mYWxzZScgJworCWdpdCAtYyBkaWZmLmluZGVudEhldXJpc3RpYz1mYWxzZSBibGFtZSBvbGQuLm5ldyAtLSBzcGFjZXMudHh0ID5vdXQtYmxhbWUyICYmCiAJY29tcGFyZV9ibGFtZSBzcGFjZXMtZXhwZWN0IG91dC1ibGFtZTIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWU6IC0tbm8taW5kZW50LWhldXJpc3RpYyBvdmVycmlkZXMgY29uZmlnJyAnCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPXRydWUgYmxhbWUgLS1uby1pbmRlbnQtaGV1cmlzdGljIG9sZC4ubmV3IC0tIHNwYWNlcy50eHQgPm91dC1ibGFtZTMgJiYKKwlnaXQgYmxhbWUgb2xkLi5uZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWJsYW1lICYmCisJY29tcGFyZV9ibGFtZSBzcGFjZXMtZXhwZWN0IG91dC1ibGFtZTMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWU6IC0taW5kZW50LWhldXJpc3RpYyBvdmVycmlkZXMgY29uZmlnJyAnCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPWZhbHNlIGJsYW1lIC0taW5kZW50LWhldXJpc3RpYyBvbGQuLm5ldyAtLSBzcGFjZXMudHh0ID5vdXQtYmxhbWUtY29tcGFjdGVkMyAmJgorCWNvbXBhcmVfYmxhbWUgc3BhY2VzLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWJsYW1lLWNvbXBhY3RlZDIKKycKKworIyAtLS0gZGlmZi10cmVlIHRlc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtdHJlZTogbmljZSBzcGFjZXMgd2l0aCAtLWluZGVudC1oZXVyaXN0aWMnICcKKwlnaXQgZGlmZi10cmVlIC0taW5kZW50LWhldXJpc3RpYyAtcCBvbGQgbmV3IC0tIHNwYWNlcy50eHQgPm91dC1kaWZmLXRyZWUtY29tcGFjdGVkICYmCisJY29tcGFyZV9kaWZmIHNwYWNlcy1jb21wYWN0ZWQtZXhwZWN0IG91dC1kaWZmLXRyZWUtY29tcGFjdGVkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtdHJlZTogbmljZSBzcGFjZXMgd2l0aCBkaWZmLmluZGVudEhldXJpc3RpYz10cnVlJyAnCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPXRydWUgZGlmZi10cmVlIC1wIG9sZCBuZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWRpZmYtdHJlZS1jb21wYWN0ZWQyICYmCisJY29tcGFyZV9kaWZmIHNwYWNlcy1jb21wYWN0ZWQtZXhwZWN0IG91dC1kaWZmLXRyZWUtY29tcGFjdGVkMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLXRyZWU6IHVnbHkgc3BhY2VzIHdpdGggLS1uby1pbmRlbnQtaGV1cmlzdGljJyAnCisJZ2l0IGRpZmYtdHJlZSAtLW5vLWluZGVudC1oZXVyaXN0aWMgLXAgb2xkIG5ldyAtLSBzcGFjZXMudHh0ID5vdXQtZGlmZi10cmVlICYmCisJY29tcGFyZV9kaWZmIHNwYWNlcy1leHBlY3Qgb3V0LWRpZmYtdHJlZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLXRyZWU6IHVnbHkgc3BhY2VzIHdpdGggZGlmZi5pbmRlbnRIZXVyaXN0aWM9ZmFsc2UnICcKKwlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9ZmFsc2UgZGlmZi10cmVlIC1wIG9sZCBuZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWRpZmYtdHJlZTIgJiYKKwljb21wYXJlX2RpZmYgc3BhY2VzLWV4cGVjdCBvdXQtZGlmZi10cmVlMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLXRyZWU6IC0taW5kZW50LWhldXJpc3RpYyBvdmVycmlkZXMgY29uZmlnJyAnCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPWZhbHNlIGRpZmYtdHJlZSAtLWluZGVudC1oZXVyaXN0aWMgLXAgb2xkIG5ldyAtLSBzcGFjZXMudHh0ID5vdXQtZGlmZi10cmVlLWNvbXBhY3RlZDMgJiYKKwljb21wYXJlX2RpZmYgc3BhY2VzLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWRpZmYtdHJlZS1jb21wYWN0ZWQzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtdHJlZTogLS1uby1pbmRlbnQtaGV1cmlzdGljIG92ZXJyaWRlcyBjb25maWcnICcKKwlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZSBkaWZmLXRyZWUgLS1uby1pbmRlbnQtaGV1cmlzdGljIC1wIG9sZCBuZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWRpZmYtdHJlZTMgJiYKKwljb21wYXJlX2RpZmYgc3BhY2VzLWV4cGVjdCBvdXQtZGlmZi10cmVlMworJworCisjIC0tLSBkaWZmLWluZGV4IHRlc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi1pbmRleDogbmljZSBzcGFjZXMgd2l0aCAtLWluZGVudC1oZXVyaXN0aWMnICcKKwlnaXQgY2hlY2tvdXQgLUIgZGlmZi1pbmRleCAmJgorCWdpdCByZXNldCAtLXNvZnQgSEVBRH4gJiYKKwlnaXQgZGlmZi1pbmRleCAtLWluZGVudC1oZXVyaXN0aWMgLXAgb2xkIC0tIHNwYWNlcy50eHQgPm91dC1kaWZmLWluZGV4LWNvbXBhY3RlZCAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtZGlmZi1pbmRleC1jb21wYWN0ZWQgJiYKKwlnaXQgY2hlY2tvdXQgLWYgbWFzdGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtaW5kZXg6IG5pY2Ugc3BhY2VzIHdpdGggZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZScgJworCWdpdCBjaGVja291dCAtQiBkaWZmLWluZGV4ICYmCisJZ2l0IHJlc2V0IC0tc29mdCBIRUFEfiAmJgorCWdpdCAtYyBkaWZmLmluZGVudEhldXJpc3RpYz10cnVlIGRpZmYtaW5kZXggLXAgb2xkIC0tIHNwYWNlcy50eHQgPm91dC1kaWZmLWluZGV4LWNvbXBhY3RlZDIgJiYKKwljb21wYXJlX2RpZmYgc3BhY2VzLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWRpZmYtaW5kZXgtY29tcGFjdGVkMiAmJgorCWdpdCBjaGVja291dCAtZiBtYXN0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi1pbmRleDogdWdseSBzcGFjZXMgd2l0aCAtLW5vLWluZGVudC1oZXVyaXN0aWMnICcKKwlnaXQgY2hlY2tvdXQgLUIgZGlmZi1pbmRleCAmJgorCWdpdCByZXNldCAtLXNvZnQgSEVBRH4gJiYKKwlnaXQgZGlmZi1pbmRleCAtLW5vLWluZGVudC1oZXVyaXN0aWMgLXAgb2xkIC0tIHNwYWNlcy50eHQgPm91dC1kaWZmLWluZGV4ICYmCisJY29tcGFyZV9kaWZmIHNwYWNlcy1leHBlY3Qgb3V0LWRpZmYtaW5kZXggJiYKKwlnaXQgY2hlY2tvdXQgLWYgbWFzdGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtaW5kZXg6IHVnbHkgc3BhY2VzIHdpdGggZGlmZi5pbmRlbnRIZXVyaXN0aWM9ZmFsc2UnICcKKwlnaXQgY2hlY2tvdXQgLUIgZGlmZi1pbmRleCAmJgorCWdpdCByZXNldCAtLXNvZnQgSEVBRH4gJiYKKwlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9ZmFsc2UgZGlmZi1pbmRleCAtcCBvbGQgLS0gc3BhY2VzLnR4dCA+b3V0LWRpZmYtaW5kZXgyICYmCisJY29tcGFyZV9kaWZmIHNwYWNlcy1leHBlY3Qgb3V0LWRpZmYtaW5kZXgyICYmCisJZ2l0IGNoZWNrb3V0IC1mIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLWluZGV4OiAtLWluZGVudC1oZXVyaXN0aWMgb3ZlcnJpZGVzIGNvbmZpZycgJworCWdpdCBjaGVja291dCAtQiBkaWZmLWluZGV4ICYmCisJZ2l0IHJlc2V0IC0tc29mdCBIRUFEfiAmJgorCWdpdCAtYyBkaWZmLmluZGVudEhldXJpc3RpYz1mYWxzZSBkaWZmLWluZGV4IC0taW5kZW50LWhldXJpc3RpYyAtcCBvbGQgLS0gc3BhY2VzLnR4dCA+b3V0LWRpZmYtaW5kZXgtY29tcGFjdGVkMyAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtZGlmZi1pbmRleC1jb21wYWN0ZWQzICYmCisJZ2l0IGNoZWNrb3V0IC1mIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLWluZGV4OiAtLW5vLWluZGVudC1oZXVyaXN0aWMgb3ZlcnJpZGVzIGNvbmZpZycgJworCWdpdCBjaGVja291dCAtQiBkaWZmLWluZGV4ICYmCisJZ2l0IHJlc2V0IC0tc29mdCBIRUFEfiAmJgorCWdpdCAtYyBkaWZmLmluZGVudEhldXJpc3RpYz10cnVlIGRpZmYtaW5kZXggLS1uby1pbmRlbnQtaGV1cmlzdGljIC1wIG9sZCAtLSBzcGFjZXMudHh0ID5vdXQtZGlmZi1pbmRleDMgJiYKKwljb21wYXJlX2RpZmYgc3BhY2VzLWV4cGVjdCBvdXQtZGlmZi1pbmRleDMgJiYKKwlnaXQgY2hlY2tvdXQgLWYgbWFzdGVyCisnCisKKyMgLS0tIGRpZmYtZmlsZXMgdGVzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLWZpbGVzOiBuaWNlIHNwYWNlcyB3aXRoIC0taW5kZW50LWhldXJpc3RpYycgJworCWdpdCBjaGVja291dCAtQiBkaWZmLWZpbGVzICYmCisJZ2l0IHJlc2V0IEhFQUR+ICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1pbmRlbnQtaGV1cmlzdGljIC1wIHNwYWNlcy50eHQgPm91dC1kaWZmLWZpbGVzLXJhdyAmJgorCWdyZXAgLXYgaW5kZXggb3V0LWRpZmYtZmlsZXMtcmF3ID5vdXQtZGlmZi1maWxlcy1jb21wYWN0ZWQgJiYKKwljb21wYXJlX2RpZmYgc3BhY2VzLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWRpZmYtZmlsZXMtY29tcGFjdGVkICYmCisJZ2l0IGNoZWNrb3V0IC1mIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLWZpbGVzOiBuaWNlIHNwYWNlcyB3aXRoIGRpZmYuaW5kZW50SGV1cmlzdGljPXRydWUnICcKKwlnaXQgY2hlY2tvdXQgLUIgZGlmZi1maWxlcyAmJgorCWdpdCByZXNldCBIRUFEfiAmJgorCWdpdCAtYyBkaWZmLmluZGVudEhldXJpc3RpYz10cnVlIGRpZmYtZmlsZXMgLXAgc3BhY2VzLnR4dCA+b3V0LWRpZmYtZmlsZXMtcmF3MiAmJgorCWdyZXAgLXYgaW5kZXggb3V0LWRpZmYtZmlsZXMtcmF3MiA+b3V0LWRpZmYtZmlsZXMtY29tcGFjdGVkMiAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtZGlmZi1maWxlcy1jb21wYWN0ZWQyICYmCisJZ2l0IGNoZWNrb3V0IC1mIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLWZpbGVzOiB1Z2x5IHNwYWNlcyB3aXRoIC0tbm8taW5kZW50LWhldXJpc3RpYycgJworCWdpdCBjaGVja291dCAtQiBkaWZmLWZpbGVzICYmCisJZ2l0IHJlc2V0IEhFQUR+ICYmCisJZ2l0IGRpZmYtZmlsZXMgLS1uby1pbmRlbnQtaGV1cmlzdGljIC1wIHNwYWNlcy50eHQgPm91dC1kaWZmLWZpbGVzLXJhdyAmJgorCWdyZXAgLXYgaW5kZXggb3V0LWRpZmYtZmlsZXMtcmF3ID5vdXQtZGlmZi1maWxlcyAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtZXhwZWN0IG91dC1kaWZmLWZpbGVzICYmCisJZ2l0IGNoZWNrb3V0IC1mIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLWZpbGVzOiB1Z2x5IHNwYWNlcyB3aXRoIGRpZmYuaW5kZW50SGV1cmlzdGljPWZhbHNlJyAnCisJZ2l0IGNoZWNrb3V0IC1CIGRpZmYtZmlsZXMgJiYKKwlnaXQgcmVzZXQgSEVBRH4gJiYKKwlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9ZmFsc2UgZGlmZi1maWxlcyAtcCBzcGFjZXMudHh0ID5vdXQtZGlmZi1maWxlcy1yYXcyICYmCisJZ3JlcCAtdiBpbmRleCBvdXQtZGlmZi1maWxlcy1yYXcyID5vdXQtZGlmZi1maWxlcyAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtZXhwZWN0IG91dC1kaWZmLWZpbGVzICYmCisJZ2l0IGNoZWNrb3V0IC1mIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLWZpbGVzOiAtLWluZGVudC1oZXVyaXN0aWMgb3ZlcnJpZGVzIGNvbmZpZycgJworCWdpdCBjaGVja291dCAtQiBkaWZmLWZpbGVzICYmCisJZ2l0IHJlc2V0IEhFQUR+ICYmCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPWZhbHNlIGRpZmYtZmlsZXMgLS1pbmRlbnQtaGV1cmlzdGljIC1wIHNwYWNlcy50eHQgPm91dC1kaWZmLWZpbGVzLXJhdzMgJiYKKwlncmVwIC12IGluZGV4IG91dC1kaWZmLWZpbGVzLXJhdzMgPm91dC1kaWZmLWZpbGVzLWNvbXBhY3RlZCAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtZGlmZi1maWxlcy1jb21wYWN0ZWQgJiYKKwlnaXQgY2hlY2tvdXQgLWYgbWFzdGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtZmlsZXM6IC0tbm8taW5kZW50LWhldXJpc3RpYyBvdmVycmlkZXMgY29uZmlnJyAnCisJZ2l0IGNoZWNrb3V0IC1CIGRpZmYtZmlsZXMgJiYKKwlnaXQgcmVzZXQgSEVBRH4gJiYKKwlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZSBkaWZmLWZpbGVzIC0tbm8taW5kZW50LWhldXJpc3RpYyAtcCBzcGFjZXMudHh0ID5vdXQtZGlmZi1maWxlcy1yYXc0ICYmCisJZ3JlcCAtdiBpbmRleCBvdXQtZGlmZi1maWxlcy1yYXc0ID5vdXQtZGlmZi1maWxlcyAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtZXhwZWN0IG91dC1kaWZmLWZpbGVzICYmCisJZ2l0IGNoZWNrb3V0IC1mIG1hc3RlcgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQwNjItZGlmZi1waWNrYXhlLnNoIGIvdC90NDA2Mi1kaWZmLXBpY2theGUuc2gKaW5kZXggN2M0OTAzZi4uMTEzMGM4MCAxMDA3NTUKLS0tIGEvdC90NDA2Mi1kaWZmLXBpY2theGUuc2gKKysrIGIvdC90NDA2Mi1kaWZmLXBpY2theGUuc2gKQEAgLTE0LDggKzE0LDEwIEBACiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtbSAiQSA0ayBmaWxlIgogJworCisjIE9wZW5CU0Qgb25seSBzdXBwb3J0cyB1cCB0byAyNTUgcmVwZXRpdGlvbnMsIHNvIHJlcGVhdCB0d2ljZSBmb3IgNjQqNjQ9NDA5Ni4KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1HIG1hdGNoZXMnICcKLQlnaXQgZGlmZiAtLW5hbWUtb25seSAtRyAiXjB7NDA5Nn0kIiBIRUFEXiA+b3V0ICYmCisJZ2l0IGRpZmYgLS1uYW1lLW9ubHkgLUcgIl4oMHs2NH0pezY0fSQiIEhFQUReID5vdXQgJiYKIAl0ZXN0IDQwOTYtemVyb2VzLnR4dCA9ICIkKGNhdCBvdXQpIgogJwogCmRpZmYgLS1naXQgYS90L3Q0MDYzLWRpZmYtYmxvYnMuc2ggYi90L3Q0MDYzLWRpZmYtYmxvYnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmM2OWUyNgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwNjMtZGlmZi1ibG9icy5zaApAQCAtMCwwICsxLDk2IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBkaXJlY3QgY29tcGFyaXNvbiBvZiBibG9icyB2aWEgZ2l0LWRpZmYnCisuIC4vdGVzdC1saWIuc2gKKworcnVuX2RpZmYgKCkgeworCSMgdXNlIGZ1bGwtaW5kZXggdG8gbWFrZSBpdCBlYXN5IHRvIG1hdGNoIHRoZSBpbmRleCBsaW5lCisJZ2l0IGRpZmYgLS1mdWxsLWluZGV4ICIkQCIgPmRpZmYKK30KKworY2hlY2tfaW5kZXggKCkgeworCWdyZXAgIl5pbmRleCAkMVxcLlxcLiQyIiBkaWZmCit9CisKK2NoZWNrX21vZGUgKCkgeworCWdyZXAgIl5vbGQgbW9kZSAkMSIgZGlmZiAmJgorCWdyZXAgIl5uZXcgbW9kZSAkMiIgZGlmZgorfQorCitjaGVja19wYXRocyAoKSB7CisJZ3JlcCAiXmRpZmYgLS1naXQgYS8kMSBiLyQyIiBkaWZmCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBzb21lIGJsb2JzJyAnCisJZWNobyBvbmUgPm9uZSAmJgorCWVjaG8gdHdvID50d28gJiYKKwljaG1vZCAreCB0d28gJiYKKwlnaXQgYWRkIC4gJiYKKworCSMgY292ZXIgc3lzdGVtcyB3aGVyZSBtb2RlcyBhcmUgaWdub3JlZAorCWdpdCB1cGRhdGUtaW5kZXggLS1jaG1vZD0reCB0d28gJiYKKworCWdpdCBjb21taXQgLW0gYmFzZSAmJgorCisJc2hhMV9vbmU9JChnaXQgcmV2LXBhcnNlIEhFQUQ6b25lKSAmJgorCXNoYTFfdHdvPSQoZ2l0IHJldi1wYXJzZSBIRUFEOnR3bykKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiBieSBzaGExJyAnCisJcnVuX2RpZmYgJHNoYTFfb25lICRzaGExX3R3bworJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXggb2Ygc2hhMSBkaWZmJyAnCisJY2hlY2tfaW5kZXggJHNoYTFfb25lICRzaGExX3R3bworJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hhMSBkaWZmIHVzZXMgYXJndW1lbnRzIGFzIHBhdGhzJyAnCisJY2hlY2tfcGF0aHMgJHNoYTFfb25lICRzaGExX3R3bworJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hhMSBkaWZmIGhhcyBubyBtb2RlIGNoYW5nZScgJworCSEgZ3JlcCBtb2RlIGRpZmYKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiBieSB0cmVlOnBhdGggKHJ1biknICcKKwlydW5fZGlmZiBIRUFEOm9uZSBIRUFEOnR3bworJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXggb2YgdHJlZTpwYXRoIGRpZmYnICcKKwljaGVja19pbmRleCAkc2hhMV9vbmUgJHNoYTFfdHdvCisnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmVlOnBhdGggZGlmZiB1c2VzIGZpbGVuYW1lcyBhcyBwYXRocycgJworCWNoZWNrX3BhdGhzIG9uZSB0d28KKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWU6cGF0aCBkaWZmIHNob3dzIG1vZGUgY2hhbmdlJyAnCisJY2hlY2tfbW9kZSAxMDA2NDQgMTAwNzU1CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgYnkgcmFuZ2VkIHRyZWU6cGF0aCcgJworCXJ1bl9kaWZmIEhFQUQ6b25lLi5IRUFEOnR3bworJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXggb2YgcmFuZ2VkIHRyZWU6cGF0aCBkaWZmJyAnCisJY2hlY2tfaW5kZXggJHNoYTFfb25lICRzaGExX3R3bworJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmFuZ2VkIHRyZWU6cGF0aCBkaWZmIHVzZXMgZmlsZW5hbWVzIGFzIHBhdGhzJyAnCisJY2hlY2tfcGF0aHMgb25lIHR3bworJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmFuZ2VkIHRyZWU6cGF0aCBkaWZmIHNob3dzIG1vZGUgY2hhbmdlJyAnCisJY2hlY2tfbW9kZSAxMDA2NDQgMTAwNzU1CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgYmxvYiBhZ2FpbnN0IGZpbGUnICcKKwlydW5fZGlmZiBIRUFEOm9uZSB0d28KKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luZGV4IG9mIGJsb2ItZmlsZSBkaWZmJyAnCisJY2hlY2tfaW5kZXggJHNoYTFfb25lICRzaGExX3R3bworJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxvYi1maWxlIGRpZmYgdXNlcyBmaWxlbmFtZSBhcyBwYXRocycgJworCWNoZWNrX3BhdGhzIG9uZSB0d28KKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgRklMRU1PREUgJ2Jsb2ItZmlsZSBkaWZmIHNob3dzIG1vZGUgY2hhbmdlJyAnCisJY2hlY2tfbW9kZSAxMDA2NDQgMTAwNzU1CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jsb2ItZmlsZSBkaWZmIHByZWZlcnMgZmlsZW5hbWUgdG8gc2hhMScgJworCXJ1bl9kaWZmICRzaGExX29uZSB0d28gJiYKKwljaGVja19wYXRocyB0d28gdHdvCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDEyNC1hcHBseS13cy1ydWxlLnNoIGIvdC90NDEyNC1hcHBseS13cy1ydWxlLnNoCmluZGV4IGQzNTAwNjUuLjRmYzI3YzUgMTAwNzU1Ci0tLSBhL3QvdDQxMjQtYXBwbHktd3MtcnVsZS5zaAorKysgYi90L3Q0MTI0LWFwcGx5LXdzLXJ1bGUuc2gKQEAgLTQ2NywyMSArNDY3LDQyIEBACiAJdGVzdF9jbXAgb25lIGV4cGVjdAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzYW1lLCBidXQgd2l0aCBDUi1MRiBsaW5lIGVuZGluZ3MgJiYgY3ItYXQtZW9sIHVuc2V0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdDUi1MRiBsaW5lIGVuZGluZ3MgJiYgYWRkIGxpbmUgJiYgdGV4dD1hdXRvJyAnCiAJZ2l0IGNvbmZpZyAtLXVuc2V0IGNvcmUud2hpdGVzcGFjZSAmJgogCXByaW50ZiAiYVxyXG4iID5vbmUgJiYKLQlwcmludGYgImJcclxuIiA+Pm9uZSAmJgotCXByaW50ZiAiY1xyXG4iID4+b25lICYmCiAJY3Agb25lIHNhdmUtb25lICYmCi0JcHJpbnRmICIgICAgICAgICAgICAgICAgIFxyXG4iID4+b25lICYmCiAJZ2l0IGFkZCBvbmUgJiYKKwlwcmludGYgImJcclxuIiA+Pm9uZSAmJgogCWNwIG9uZSBleHBlY3QgJiYKLQlwcmludGYgImRcclxuIiA+Pm9uZSAmJgogCWdpdCBkaWZmIC0tIG9uZSA+cGF0Y2ggJiYKIAltdiBzYXZlLW9uZSBvbmUgJiYKLQllY2hvIGQgPj5leHBlY3QgJiYKKwllY2hvICJvbmUgdGV4dD1hdXRvIiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwlnaXQgYXBwbHkgcGF0Y2ggJiYKKwl0ZXN0X2NtcCBvbmUgZXhwZWN0CisnCiAKLQlnaXQgYXBwbHkgLS1pZ25vcmUtc3BhY2UtY2hhbmdlIC0td2hpdGVzcGFjZT1maXggcGF0Y2ggJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0NSLUxGIGxpbmUgZW5kaW5ncyAmJiBjaGFuZ2UgbGluZSAmJiB0ZXh0PWF1dG8nICcKKwlwcmludGYgImFcclxuIiA+b25lICYmCisJY3Agb25lIHNhdmUtb25lICYmCisJZ2l0IGFkZCBvbmUgJiYKKwlwcmludGYgImJcclxuIiA+b25lICYmCisJY3Agb25lIGV4cGVjdCAmJgorCWdpdCBkaWZmIC0tIG9uZSA+cGF0Y2ggJiYKKwltdiBzYXZlLW9uZSBvbmUgJiYKKwllY2hvICJvbmUgdGV4dD1hdXRvIiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwlnaXQgYXBwbHkgcGF0Y2ggJiYKKwl0ZXN0X2NtcCBvbmUgZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0xGIGluIHJlcG8sIENSTEYgaW4gd29ya3RyZWUgJiYgY2hhbmdlIGxpbmUgJiYgdGV4dD1hdXRvJyAnCisJcHJpbnRmICJhXG4iID5vbmUgJiYKKwlnaXQgYWRkIG9uZSAmJgorCXByaW50ZiAiYlxyXG4iID5vbmUgJiYKKwlnaXQgZGlmZiAtLSBvbmUgPnBhdGNoICYmCisJcHJpbnRmICJhXHJcbiIgPm9uZSAmJgorCWVjaG8gIm9uZSB0ZXh0PWF1dG8iID4uZ2l0YXR0cmlidXRlcyAmJgorCWdpdCAtYyBjb3JlLmVvbD1DUkxGIGFwcGx5IHBhdGNoICYmCisJcHJpbnRmICJiXHJcbiIgPmV4cGVjdCAmJgogCXRlc3RfY21wIG9uZSBleHBlY3QKICcKIApkaWZmIC0tZ2l0IGEvdC90NDEyOS1hcHBseS1zYW1lbW9kZS5zaCBiL3QvdDQxMjktYXBwbHktc2FtZW1vZGUuc2gKaW5kZXggYzI2ODI5OC4uNWNkZDc2ZCAxMDA3NTUKLS0tIGEvdC90NDEyOS1hcHBseS1zYW1lbW9kZS5zaAorKysgYi90L3Q0MTI5LWFwcGx5LXNhbWVtb2RlLnNoCkBAIC0xMyw3ICsxMyw5IEBACiAJZWNobyBtb2RpZmllZCA+ZmlsZSAmJgogCWdpdCBkaWZmIC0tc3RhdCAtcCA+cGF0Y2gtMC50eHQgJiYKIAljaG1vZCAreCBmaWxlICYmCi0JZ2l0IGRpZmYgLS1zdGF0IC1wID5wYXRjaC0xLnR4dAorCWdpdCBkaWZmIC0tc3RhdCAtcCA+cGF0Y2gtMS50eHQgJiYKKwlzZWQgInMvXlwobmV3IG1vZGUgXCkuKi9cMS8iIDxwYXRjaC0xLnR4dCA+cGF0Y2gtZW1wdHktbW9kZS50eHQgJiYKKwlzZWQgInMvXlwobmV3IG1vZGUgXCkuKi9cMWdhcmJhZ2UvIiA8cGF0Y2gtMS50eHQgPnBhdGNoLWJvZ3VzLW1vZGUudHh0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgRklMRU1PREUgJ3NhbWUgbW9kZSAobm8gaW5kZXgpJyAnCkBAIC01OSw0ICs2MSwxNiBAQAogCWdpdCBscy1maWxlcyAtcyBmaWxlIHwgZ3JlcCAiXjEwMDc1NSIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBGSUxFTU9ERSAnZW1wdHkgbW9kZSBpcyByZWplY3RlZCcgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgYXBwbHkgcGF0Y2gtZW1wdHktbW9kZS50eHQgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJpbnZhbGlkIG1vZGUiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEZJTEVNT0RFICdib2d1cyBtb2RlIGlzIHJlamVjdGVkJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBhcHBseSBwYXRjaC1ib2d1cy1tb2RlLnR4dCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgImludmFsaWQgbW9kZSIgZXJyCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDEzMy1hcHBseS1maWxlbmFtZXMuc2ggYi90L3Q0MTMzLWFwcGx5LWZpbGVuYW1lcy5zaAppbmRleCAyZWNiNDIxLi5jNWVkM2IxIDEwMDc1NQotLS0gYS90L3Q0MTMzLWFwcGx5LWZpbGVuYW1lcy5zaAorKysgYi90L3Q0MTMzLWFwcGx5LWZpbGVuYW1lcy5zaApAQCAtMzUsNCArMzUsMjggQEAKIAl0ZXN0X2kxOG5ncmVwICJpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIiBlcnIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXBwbHkgZGlmZiB3aXRoIG5ldyBmaWxlbmFtZSBtaXNzaW5nIGZyb20gaGVhZGVycycgJworCWNhdCA+bWlzc2luZ19uZXdfZmlsZW5hbWUuZGlmZiA8PC1cRU9GICYmCisJZGlmZiAtLWdpdCBhL2YgYi9mCisJaW5kZXggMDAwMDAwMC4uZDAwNDkxZgorCS0tLSBhL2YKKwlAQCAtMCwwICsxIEBACisJKzEKKwlFT0YKKwl0ZXN0X211c3RfZmFpbCBnaXQgYXBwbHkgbWlzc2luZ19uZXdfZmlsZW5hbWUuZGlmZiAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgImxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXBwbHkgZGlmZiB3aXRoIG9sZCBmaWxlbmFtZSBtaXNzaW5nIGZyb20gaGVhZGVycycgJworCWNhdCA+bWlzc2luZ19vbGRfZmlsZW5hbWUuZGlmZiA8PC1cRU9GICYmCisJZGlmZiAtLWdpdCBhL2YgYi9mCisJaW5kZXggZDAwNDkxZi4uMDAwMDAwMAorCSsrKyBiL2YKKwlAQCAtMSArMCwwIEBACisJLTEKKwlFT0YKKwl0ZXN0X211c3RfZmFpbCBnaXQgYXBwbHkgbWlzc2luZ19vbGRfZmlsZW5hbWUuZGlmZiAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgImxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIiBlcnIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MTM2LWFwcGx5LWNoZWNrLnNoIGIvdC90NDEzNi1hcHBseS1jaGVjay5zaAppbmRleCA0YjBhMzc0Li42ZDkyODcyIDEwMDc1NQotLS0gYS90L3Q0MTM2LWFwcGx5LWNoZWNrLnNoCisrKyBiL3QvdDQxMzYtYXBwbHktY2hlY2suc2gKQEAgLTI5LDQgKzI5LDIyIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGFwcGx5IC0tY2hlY2sgaW5wdXQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW52YWxpZCBjb21iaW5hdGlvbjogY3JlYXRlIGFuZCBjb3B5JyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGFwcGx5IC0tY2hlY2sgLSA8PC1cRU9GCisJZGlmZiAtLWdpdCBhLzEgYi8yCisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwljb3B5IGZyb20gMQorCWNvcHkgdG8gMgorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbnZhbGlkIGNvbWJpbmF0aW9uOiBjcmVhdGUgYW5kIHJlbmFtZScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBhcHBseSAtLWNoZWNrIC0gPDwtXEVPRgorCWRpZmYgLS1naXQgYS8xIGIvMgorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJcmVuYW1lIGZyb20gMQorCXJlbmFtZSB0byAyCisJRU9GCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDE1MC1hbS5zaCBiL3QvdDQxNTAtYW0uc2gKaW5kZXggODlhNWJhYy4uNzNiNjdiNCAxMDA3NTUKLS0tIGEvdC90NDE1MC1hbS5zaAorKysgYi90L3Q0MTUwLWFtLnNoCkBAIC00MCw2ICs0MCw4IEBACiAJZG9sb3JlIGV1IGZldWdpYXQgbnVsbGEgZmFjaWxpc2lzIGF0IHZlcm8gZXJvcyBldCBhY2N1bXNhbiBldCBpdXN0byBvZGlvCiAJZGlnbmlzc2ltIHF1aSBibGFuZGl0IHByYWVzZW50IGx1cHRhdHVtIHp6cmlsIGRlbGVuaXQgYXVndWUgZHVpcyBkb2xvcmUgdGUKIAlmZXVnYWl0IG51bGxhIGZhY2lsaXNpLgorCisJUmVwb3J0ZWQtYnk6IEEgTiBPdGhlciA8YS5uLm90aGVyQGV4YW1wbGUuY29tPgogCUVPRgogCiAJY2F0ID5mYWlsbWFpbCA8PC1cRU9GICYmCkBAIC05Myw3ICs5NSw3IEBACiAJZWNobyB3b3JsZCA+PmZpbGUgJiYKIAlnaXQgYWRkIGZpbGUgJiYKIAl0ZXN0X3RpY2sgJiYKLQlnaXQgY29tbWl0IC1zIC1GIG1zZyAmJgorCWdpdCBjb21taXQgLUYgbXNnICYmCiAJZ2l0IHRhZyBzZWNvbmQgJiYKIAogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgZmlyc3QgPnBhdGNoMSAmJgpAQCAtMTI0LDggKzEyNiw2IEBACiAJCWVjaG8gIkRhdGU6ICRHSVRfQVVUSE9SX0RBVEUiICYmCiAJCWVjaG8gJiYKIAkJc2VkIC1lICIxLDJkIiBtc2cgJiYKLQkJZWNobyAmJgotCQllY2hvICJTaWduZWQtb2ZmLWJ5OiAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4iICYmCiAJCWVjaG8gIi0tLSIgJiYKIAkJZ2l0IGRpZmYtdHJlZSAtLW5vLWNvbW1pdC1pZCAtLXN0YXQgLXAgc2Vjb25kCiAJfSA+cGF0Y2gxLXN0Z2l0LmVtbCAmJgpAQCAtMTQ0LDggKzE0NCw2IEBACiAJCWVjaG8gIiMgUGFyZW50ICAkX3o0MCIgJiYKIAkJY2F0IG1zZyAmJgogCQllY2hvICYmCi0JCWVjaG8gIlNpZ25lZC1vZmYtYnk6ICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiIgJiYKLQkJZWNobyAmJgogCQlnaXQgZGlmZi10cmVlIC0tbm8tY29tbWl0LWlkIC1wIHNlY29uZAogCX0gPnBhdGNoMS1oZy5lbWwgJiYKIApAQCAtNDcwLDEzICs0NjgsMTUgQEAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IGNoZWNrb3V0IC1iIG1hc3RlcjIgZmlyc3QgJiYKIAlnaXQgYW0gLS1zaWdub2ZmIDxwYXRjaDIgJiYKLQlwcmludGYgIiVzXG4iICIkc2lnbm9mZiIgPmV4cGVjdGVkICYmCi0JZWNobyAiU2lnbmVkLW9mZi1ieTogJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IiA+PmV4cGVjdGVkICYmCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IGdyZXAgIlNpZ25lZC1vZmYtYnk6IiA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCi0JZWNobyAiU2lnbmVkLW9mZi1ieTogJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IiA+ZXhwZWN0ZWQgJiYKLQlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwICJTaWduZWQtb2ZmLWJ5OiIgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXsKKwkJcHJpbnRmICJ0aGlyZFxuXG5TaWduZWQtb2ZmLWJ5OiAlcyA8JXM+XG5cbiIgXAorCQkJIiRHSVRfQ09NTUlUVEVSX05BTUUiICIkR0lUX0NPTU1JVFRFUl9FTUFJTCIgJiYKKwkJY2F0IG1zZyAmJgorCQlwcmludGYgIlNpZ25lZC1vZmYtYnk6ICVzIDwlcz5cblxuIiBcCisJCQkiJEdJVF9DT01NSVRURVJfTkFNRSIgIiRHSVRfQ09NTUlUVEVSX0VNQUlMIgorCX0gPmV4cGVjdGVkLWxvZyAmJgorCWdpdCBsb2cgLS1wcmV0dHk9JUIgLTIgSEVBRCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtbG9nIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbSBzdGF5cyBpbiBicmFuY2gnICcKQEAgLTQ4NiwxNyArNDg2LDYwIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FtIC0tc2lnbm9mZiBkb2VzIG5vdCBhZGQgU2lnbmVkLW9mZi1ieTogbGluZSBpZiBhbHJlYWR5IHRoZXJlJyAnCi0JZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBIRUFEXiA+cGF0Y2gzICYmCi0Jc2VkIC1lICIvXlN1YmplY3QvIHMsXFtQQVRDSCxSZTogUmU6IFJlOiAmIDEvNSB2Ml0gW2ZvbywiIHBhdGNoMyA+cGF0Y2g0ICYmCi0Jcm0gLWZyIC5naXQvcmViYXNlLWFwcGx5ICYmCi0JZ2l0IHJlc2V0IC0taGFyZCAmJgotCWdpdCBjaGVja291dCBIRUFEXiAmJgotCWdpdCBhbSAtLXNpZ25vZmYgcGF0Y2g0ICYmCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5hY3R1YWwgJiYKLQl0ZXN0ICQoZ3JlcCAtYyAiXlNpZ25lZC1vZmYtYnk6IiBhY3R1YWwpIC1lcSAxCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBmaXJzdCA+cGF0Y2gzICYmCisJZ2l0IHJlc2V0IC0taGFyZCBmaXJzdCAmJgorCWdpdCBhbSAtLXNpZ25vZmYgPHBhdGNoMyAmJgorCWdpdCBsb2cgLS1wcmV0dHk9JUIgLTIgSEVBRCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtbG9nIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbSAtLXNpZ25vZmYgYWRkcyBTaWduZWQtb2ZmLWJ5OiBpZiBhbm90aGVyIGF1dGhvciBpcyBwcmVzZXQnICcKKwlOQU1FPSJBIE4gT3RoZXIiICYmCisJRU1BSUw9ImEubi5vdGhlckBleGFtcGxlLmNvbSIgJiYKKwl7CisJCXByaW50ZiAidGhpcmRcblxuU2lnbmVkLW9mZi1ieTogJXMgPCVzPlxuU2lnbmVkLW9mZi1ieTogJXMgPCVzPlxuXG4iIFwKKwkJCSIkR0lUX0NPTU1JVFRFUl9OQU1FIiAiJEdJVF9DT01NSVRURVJfRU1BSUwiIFwKKwkJCSIkTkFNRSIgIiRFTUFJTCIgJiYKKwkJY2F0IG1zZyAmJgorCQlwcmludGYgIlNpZ25lZC1vZmYtYnk6ICVzIDwlcz5cblNpZ25lZC1vZmYtYnk6ICVzIDwlcz5cblxuIiBcCisJCQkiJEdJVF9DT01NSVRURVJfTkFNRSIgIiRHSVRfQ09NTUlUVEVSX0VNQUlMIiBcCisJCQkiJE5BTUUiICIkRU1BSUwiCisJfSA+ZXhwZWN0ZWQtbG9nICYmCisJZ2l0IHJlc2V0IC0taGFyZCBmaXJzdCAmJgorCUdJVF9DT01NSVRURVJfTkFNRT0iJE5BTUUiIEdJVF9DT01NSVRURVJfRU1BSUw9IiRFTUFJTCIgXAorCQlnaXQgYW0gLS1zaWdub2ZmIDxwYXRjaDMgJiYKKwlnaXQgbG9nIC0tcHJldHR5PSVCIC0yIEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkLWxvZyBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYW0gLS1zaWdub2ZmIGR1cGxpY2F0ZXMgU2lnbmVkLW9mZi1ieTogaWYgaXQgaXMgbm90IHRoZSBsYXN0IG9uZScgJworCU5BTUU9IkEgTiBPdGhlciIgJiYKKwlFTUFJTD0iYS5uLm90aGVyQGV4YW1wbGUuY29tIiAmJgorCXsKKwkJcHJpbnRmICJ0aGlyZFxuXG5TaWduZWQtb2ZmLWJ5OiAlcyA8JXM+XG5cCitTaWduZWQtb2ZmLWJ5OiAlcyA8JXM+XG5TaWduZWQtb2ZmLWJ5OiAlcyA8JXM+XG5cbiIgXAorCQkJIiRHSVRfQ09NTUlUVEVSX05BTUUiICIkR0lUX0NPTU1JVFRFUl9FTUFJTCIgXAorCQkJIiROQU1FIiAiJEVNQUlMIiBcCisJCQkiJEdJVF9DT01NSVRURVJfTkFNRSIgIiRHSVRfQ09NTUlUVEVSX0VNQUlMIiAmJgorCQljYXQgbXNnICYmCisJCXByaW50ZiAiU2lnbmVkLW9mZi1ieTogJXMgPCVzPlxuU2lnbmVkLW9mZi1ieTogJXMgPCVzPlxuXAorU2lnbmVkLW9mZi1ieTogJXMgPCVzPlxuXG4iIFwKKwkJCSIkR0lUX0NPTU1JVFRFUl9OQU1FIiAiJEdJVF9DT01NSVRURVJfRU1BSUwiIFwKKwkJCSIkTkFNRSIgIiRFTUFJTCIgXAorCQkJIiRHSVRfQ09NTUlUVEVSX05BTUUiICIkR0lUX0NPTU1JVFRFUl9FTUFJTCIKKwl9ID5leHBlY3RlZC1sb2cgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IGZpcnN0ID5wYXRjaDMgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIGZpcnN0ICYmCisJZ2l0IGFtIC0tc2lnbm9mZiA8cGF0Y2gzICYmCisJZ2l0IGxvZyAtLXByZXR0eT0lQiAtMiBIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC1sb2cgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FtIHdpdGhvdXQgLS1rZWVwIHJlbW92ZXMgUmU6IGFuZCBbUEFUQ0hdIHN0dWZmJyAnCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBIRUFEXiA+dG1wICYmCisJc2VkIC1lICIvXlN1YmplY3QvIHMsXFtQQVRDSCxSZTogUmU6IFJlOiAmIDEvNSB2Ml0gW2ZvbywiIHRtcCA+cGF0Y2g0ICYmCisJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgorCWdpdCBhbSA8cGF0Y2g0ICYmCiAJZ2l0IHJldi1wYXJzZSBIRUFEID5leHBlY3RlZCAmJgogCWdpdCByZXYtcGFyc2UgbWFzdGVyMiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCkBAIC05ODMsNyArMTAyNiw5IEBACiAJcm0gLWZyIC5naXQvcmViYXNlLWFwcGx5ICYmCiAJZ2l0IGNoZWNrb3V0IC1mIGZpcnN0ICYmCiAJZWNobyBvbmUgPj4gZmlsZSAmJgotCWdpdCBjb21taXQgLWFtICIkTE9ORyIgLS1hdXRob3I9IiRMT05HIDxsb25nQGV4YW1wbGUuY29tPiIgJiYKKwlnaXQgY29tbWl0IC1hbSAiJExPTkcKKworICAgIEJvZHkgdGVzdCIgLS1hdXRob3I9IiRMT05HIDxsb25nQGV4YW1wbGUuY29tPiIgJiYKIAlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0xID5wYXRjaCAmJgogCSMgYnVtcCBmcm9tLCBkYXRlLCBhbmQgc3ViamVjdCBkb3duIHRvIGluLWJvZHkgaGVhZGVyCiAJcGVybCAtbHBlICIKQEAgLTk5Nyw3ICsxMDQyLDcgQEAKIAlnaXQgYW0gbXNnICYmCiAJIyBFbnN1cmUgdGhhdCB0aGUgYXV0aG9yIGFuZCBmdWxsIG1lc3NhZ2UgYXJlIHByZXNlbnQKIAlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwICJeYXV0aG9yLipsb25nQGV4YW1wbGUuY29tIiAmJgotCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IGdyZXAgIl4kTE9ORyIKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwICJeJExPTkckIgogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQyMDAtcmVyZXJlLnNoIGIvdC90NDIwMC1yZXJlcmUuc2gKaW5kZXggMWEwODBlNy4uZDk3ZDJiZSAxMDA3NTUKLS0tIGEvdC90NDIwMC1yZXJlcmUuc2gKKysrIGIvdC90NDIwMC1yZXJlcmUuc2gKQEAgLTIzOSw2ICsyMzksNDMgQEAKIAkhIHRlc3QgLWYgJHJyMi9wcmVpbWFnZQogJwogCityZXJlcmVfZ2NfY3VzdG9tX2V4cGlyeV90ZXN0ICgpIHsKKwlmaXZlX2RheXM9IiQxIiByaWdodF9ub3c9IiQyIgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInJlcmVyZSBnYyB3aXRoIGN1c3RvbSBleHBpcnkgKCRmaXZlX2RheXMsICRyaWdodF9ub3cpIiAnCisJCXJtIC1mciAuZ2l0L3JyLWNhY2hlICYmCisJCXJyPS5naXQvcnItY2FjaGUvJF96NDAgJiYKKwkJbWtkaXIgLXAgIiRyciIgJiYKKwkJPiIkcnIvcHJlaW1hZ2UiICYmCisJCT4iJHJyL3Bvc3RpbWFnZSIgJiYKKworCQl0d29fZGF5c19hZ289JCgoLTIqODY0MDApKSAmJgorCQl0ZXN0LWNobXRpbWUgPSR0d29fZGF5c19hZ28gIiRyci9wcmVpbWFnZSIgJiYKKwkJdGVzdC1jaG10aW1lID0kdHdvX2RheXNfYWdvICIkcnIvcG9zdGltYWdlIiAmJgorCisJCWZpbmQgLmdpdC9yci1jYWNoZSAtdHlwZSBmIHwgc29ydCA+b3JpZ2luYWwgJiYKKworCQlnaXQgLWMgImdjLnJlcmVyZXJlc29sdmVkPSRmaXZlX2RheXMiIFwKKwkJICAgIC1jICJnYy5yZXJlcmV1bnJlc29sdmVkPSRmaXZlX2RheXMiIHJlcmVyZSBnYyAmJgorCQlmaW5kIC5naXQvcnItY2FjaGUgLXR5cGUgZiB8IHNvcnQgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBvcmlnaW5hbCBhY3R1YWwgJiYKKworCQlnaXQgLWMgImdjLnJlcmVyZXJlc29sdmVkPSRmaXZlX2RheXMiIFwKKwkJICAgIC1jICJnYy5yZXJlcmV1bnJlc29sdmVkPSRyaWdodF9ub3ciIHJlcmVyZSBnYyAmJgorCQlmaW5kIC5naXQvcnItY2FjaGUgLXR5cGUgZiB8IHNvcnQgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBvcmlnaW5hbCBhY3R1YWwgJiYKKworCQlnaXQgLWMgImdjLnJlcmVyZXJlc29sdmVkPSRyaWdodF9ub3ciIFwKKwkJICAgIC1jICJnYy5yZXJlcmV1bnJlc29sdmVkPSRyaWdodF9ub3ciIHJlcmVyZSBnYyAmJgorCQlmaW5kIC5naXQvcnItY2FjaGUgLXR5cGUgZiB8IHNvcnQgPmFjdHVhbCAmJgorCQk+ZXhwZWN0ICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwknCit9CisKK3JlcmVyZV9nY19jdXN0b21fZXhwaXJ5X3Rlc3QgNSAwCisKK3JlcmVyZV9nY19jdXN0b21fZXhwaXJ5X3Rlc3QgNS5kYXlzLmFnbyBub3cKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXA6IGZpbGUyIGFkZGVkIGRpZmZlcmVudGx5IGluIHR3byBicmFuY2hlcycgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIApAQCAtNDE5LDI0ICs0NTYsNiBAQAogCXRlc3RfbGluZV9jb3VudCA9ICIkMiIgYWN0dWFsCiB9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcmVyZSBnYycgJwotCWZpbmQgLmdpdC9yci1jYWNoZSAtdHlwZSBmID5vcmlnaW5hbCAmJgotCXhhcmdzIHRlc3QtY2htdGltZSAtMTcyODAwIDxvcmlnaW5hbCAmJgotCi0JZ2l0IC1jIGdjLnJlcmVyZXJlc29sdmVkPTUgLWMgZ2MucmVyZXJldW5yZXNvbHZlZD01IHJlcmVyZSBnYyAmJgotCWZpbmQgLmdpdC9yci1jYWNoZSAtdHlwZSBmID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBvcmlnaW5hbCBhY3R1YWwgJiYKLQotCWdpdCAtYyBnYy5yZXJlcmVyZXNvbHZlZD01IC1jIGdjLnJlcmVyZXVucmVzb2x2ZWQ9MCByZXJlcmUgZ2MgJiYKLQlmaW5kIC5naXQvcnItY2FjaGUgLXR5cGUgZiA+YWN0dWFsICYmCi0JdGVzdF9jbXAgb3JpZ2luYWwgYWN0dWFsICYmCi0KLQlnaXQgLWMgZ2MucmVyZXJlcmVzb2x2ZWQ9MCAtYyBnYy5yZXJlcmV1bnJlc29sdmVkPTAgcmVyZXJlIGdjICYmCi0JZmluZCAuZ2l0L3JyLWNhY2hlIC10eXBlIGYgPmFjdHVhbCAmJgotCT5leHBlY3QgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCi0nCi0KIG1lcmdlX2NvbmZsaWN0X3Jlc29sdmUgKCkgewogCWdpdCByZXNldCAtLWhhcmQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2Ugc2l4LjEgJiYKQEAgLTQ0Niw2ICs0NjUsOCBAQAogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aXBsZSBpZGVudGljYWwgY29uZmxpY3RzJyAnCisJcm0gLWZyIC5naXQvcnItY2FjaGUgJiYKKwlta2RpciAuZ2l0L3JyLWNhY2hlICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCiAJdGVzdF9zZXEgMSA2ID5lYXJseSAmJgpkaWZmIC0tZ2l0IGEvdC90NDIwMi1sb2cuc2ggYi90L3Q0MjAyLWxvZy5zaAppbmRleCA0OGI1NWJmLi4zNmQxMjBjIDEwMDc1NQotLS0gYS90L3Q0MjAyLWxvZy5zaAorKysgYi90L3Q0MjAyLWxvZy5zaApAQCAtNCw2ICs0LDcgQEAKIAogLiAuL3Rlc3QtbGliLnNoCiAuICIkVEVTVF9ESVJFQ1RPUlkvbGliLWdwZy5zaCIKKy4gIiRURVNUX0RJUkVDVE9SWS9saWItdGVybWluYWwuc2giCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJwogCkBAIC0yMzAsMTQgKzIzMSw0NyBAQAogaW5pdGlhbAogRU9GCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1pbnZlcnQtZ3JlcCAtLWdyZXAnICcKLQlnaXQgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiVzIiAtLWludmVydC1ncmVwIC0tZ3JlcD10aCAtLWdyZXA9U2VjID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJIyBGaXhlZAorCWdpdCAtYyBncmVwLnBhdHRlcm5UeXBlPWZpeGVkIGxvZyAtLXByZXR0eT0idGZvcm1hdDolcyIgLS1pbnZlcnQtZ3JlcCAtLWdyZXA9dGggLS1ncmVwPVNlYyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJIyBQT1NJWCBiYXNpYworCWdpdCAtYyBncmVwLnBhdHRlcm5UeXBlPWJhc2ljIGxvZyAtLXByZXR0eT0idGZvcm1hdDolcyIgLS1pbnZlcnQtZ3JlcCAtLWdyZXA9dFtoXSAtLWdyZXA9U1tlXWMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCSMgUE9TSVggZXh0ZW5kZWQKKwlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1iYXNpYyBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JXMiIC0taW52ZXJ0LWdyZXAgLS1ncmVwPXRbaF0gLS1ncmVwPVNbZV1jID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIFBDUkUKKwlpZiB0ZXN0X2hhdmVfcHJlcmVxIFBDUkUKKwl0aGVuCisJCWdpdCAtYyBncmVwLnBhdHRlcm5UeXBlPXBlcmwgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiVzIiAtLWludmVydC1ncmVwIC0tZ3JlcD10W2hdIC0tZ3JlcD1TW2VdYyA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwlmaQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1pbnZlcnQtZ3JlcCAtLWdyZXAgLWknICcKIAllY2hvIGluaXRpYWwgPmV4cGVjdCAmJgotCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JXMiIC0taW52ZXJ0LWdyZXAgLWkgLS1ncmVwPXRoIC0tZ3JlcD1TZWMgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKworCSMgRml4ZWQKKwlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1maXhlZCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JXMiIC0taW52ZXJ0LWdyZXAgLWkgLS1ncmVwPXRoIC0tZ3JlcD1TZWMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCSMgUE9TSVggYmFzaWMKKwlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1iYXNpYyBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JXMiIC0taW52ZXJ0LWdyZXAgLWkgLS1ncmVwPXRbaF0gLS1ncmVwPVNbZV1jID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIFBPU0lYIGV4dGVuZGVkCisJZ2l0IC1jIGdyZXAucGF0dGVyblR5cGU9ZXh0ZW5kZWQgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiVzIiAtLWludmVydC1ncmVwIC1pIC0tZ3JlcD10W2hdIC0tZ3JlcD1TW2VdYyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJIyBQQ1JFCisJaWYgdGVzdF9oYXZlX3ByZXJlcSBQQ1JFCisJdGhlbgorCQlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1wZXJsIGxvZyAtLXByZXR0eT0idGZvcm1hdDolcyIgLS1pbnZlcnQtZ3JlcCAtaSAtLWdyZXA9dFtoXSAtLWdyZXA9U1tlXWMgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJZmkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZ3JlcCBvcHRpb24gcGFyc2luZycgJwpAQCAtMjU1LDEzICsyODksNTMgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZ3JlcCAtaScgJwogCWVjaG8gU2Vjb25kID5leHBlY3QgJiYKKworCSMgRml4ZWQKIAlnaXQgbG9nIC0xIC0tcHJldHR5PSJ0Zm9ybWF0OiVzIiAtLWdyZXA9c2VjIC1pID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJIyBQT1NJWCBiYXNpYworCWdpdCAtYyBncmVwLnBhdHRlcm5UeXBlPWJhc2ljIGxvZyAtMSAtLXByZXR0eT0idGZvcm1hdDolcyIgLS1ncmVwPXNbZV1jIC1pID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIFBPU0lYIGV4dGVuZGVkCisJZ2l0IC1jIGdyZXAucGF0dGVyblR5cGU9ZXh0ZW5kZWQgbG9nIC0xIC0tcHJldHR5PSJ0Zm9ybWF0OiVzIiAtLWdyZXA9c1tlXWMgLWkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCSMgUENSRQorCWlmIHRlc3RfaGF2ZV9wcmVyZXEgUENSRQorCXRoZW4KKwkJZ2l0IC1jIGdyZXAucGF0dGVyblR5cGU9cGVybCBsb2cgLTEgLS1wcmV0dHk9InRmb3JtYXQ6JXMiIC0tZ3JlcD1zW2VdYyAtaSA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwlmaQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLUYgLUUgLS1ncmVwPTxlcmU+IHVzZXMgZXJlJyAnCiAJZWNobyBzZWNvbmQgPmV4cGVjdCAmJgotCWdpdCBsb2cgLTEgLS1wcmV0dHk9InRmb3JtYXQ6JXMiIC1GIC1FIC0tZ3JlcD1zLmMubmQgPmFjdHVhbCAmJgorCSMgYmFzaWMgd291bGQgbmVlZCBcKHNcKSB0byBkbyB0aGUgc2FtZQorCWdpdCBsb2cgLTEgLS1wcmV0dHk9InRmb3JtYXQ6JXMiIC1GIC1FIC0tZ3JlcD0iKHMpLmMubmQiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUENSRSAnbG9nIC1GIC1FIC0tcGVybC1yZWdleHAgLS1ncmVwPTxwY3JlPiB1c2VzIFBDUkUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBudW1fY29tbWl0cyIgJiYKKwlnaXQgaW5pdCBudW1fY29tbWl0cyAmJgorCSgKKwkJY2QgbnVtX2NvbW1pdHMgJiYKKwkJdGVzdF9jb21taXQgMWQgJiYKKwkJdGVzdF9jb21taXQgMmUKKwkpICYmCisKKwkjIEluIFBDUkUgXGQgaW4gW1xkXSBpcyBsaWtlIHNheWluZyAiMC05IiwgYW5kIG1hdGNoZXMgdGhlIDIKKwkjIGluIDJlLi4uCisJZWNobyAyZSA+ZXhwZWN0ICYmCisJZ2l0IC1DIG51bV9jb21taXRzIGxvZyAtMSAtLXByZXR0eT0idGZvcm1hdDolcyIgLUYgLUUgLS1wZXJsLXJlZ2V4cCAtLWdyZXA9IltcZF0iID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIC4uLmluIFBPU0lYIGJhc2ljIGFuZCBleHRlbmRlZCBpdCBpcyB0aGUgc2FtZSBhcyBbZF0sCisJIyBpLmUuICJkIiwgd2hpY2ggbWF0Y2hlcyAxZCwgYnV0IGRvZXMgbm90IG1hdGNoIDJlLgorCWVjaG8gMWQgPmV4cGVjdCAmJgorCWdpdCAtQyBudW1fY29tbWl0cyBsb2cgLTEgLS1wcmV0dHk9InRmb3JtYXQ6JXMiIC1GIC1FIC0tZ3JlcD0iW1xkXSIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMjc5LDYgKzM1Myw5MyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIHdpdGggdmFyaW91cyBncmVwLnBhdHRlcm5UeXBlIGNvbmZpZ3VyYXRpb25zICYgY29tbWFuZC1saW5lcycgJworCWdpdCBpbml0IHBhdHRlcm4tdHlwZSAmJgorCSgKKwkJY2QgcGF0dGVybi10eXBlICYmCisJCXRlc3RfY29tbWl0IDEgZmlsZSBBICYmCisKKwkJIyBUaGUgdGFnbmFtZSBpcyBvdmVycmlkZGVuIGhlcmUgYmVjYXVzZSBjcmVhdGluZyBhCisJCSMgdGFnIGNhbGxlZCAiKDF8MikiIGFzIHRlc3RfY29tbWl0IHdvdWxkIG90aGVyd2lzZQorCQkjIGltcGxpY2l0bHkgZG8gd291bGQgZmFpbCBvbiBlLmcuIE1JTkdXLgorCQl0ZXN0X2NvbW1pdCAiKDF8MikiIGZpbGUgQiAyICYmCisKKwkJZWNobyAiKDF8MikiID5leHBlY3QuZml4ZWQgJiYKKwkJY3AgZXhwZWN0LmZpeGVkIGV4cGVjdC5iYXNpYyAmJgorCQljcCBleHBlY3QuZml4ZWQgZXhwZWN0LmV4dGVuZGVkICYmCisJCWNwIGV4cGVjdC5maXhlZCBleHBlY3QucGVybCAmJgorCisJCSMgQSBzdHJjbXAtbGlrZSBtYXRjaCB3aXRoIGZpeGVkLgorCQlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1maXhlZCBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBcCisJCQktLWdyZXA9IigxfDIpIiA+YWN0dWFsLmZpeGVkICYmCisKKwkJIyBQT1NJWCBiYXNpYyBtYXRjaGVzICgsIHwgYW5kICkgbGl0ZXJhbGx5LgorCQlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1iYXNpYyBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBcCisJCQktLWdyZXA9IigufC4pIiA+YWN0dWFsLmJhc2ljICYmCisKKwkJIyBQT1NJWCBleHRlbmRlZCBuZWVkcyB0byBoYXZlIHwgZXNjYXBlZCB0byBtYXRjaCBpdAorCQkjIGxpdGVyYWxseSwgd2hlcmVhcyB1bmRlciBiYXNpYyB0aGlzIGlzIHRoZSBzYW1lIGFzCisJCSMgKHwyKSwgaS5lLiBpdCB3b3VsZCBhbHNvIG1hdGNoICIxIi4gVGhpcyB0ZXN0IGNoZWNrcworCQkjIGZvciBleHRlbmRlZCBieSBhc3NlcnRpbmcgdGhhdCBpdCBpcyBub3QgbWF0Y2hpbmcKKwkJIyB3aGF0IGJhc2ljIHdvdWxkIG1hdGNoLgorCQlnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1leHRlbmRlZCBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBcCisJCQktLWdyZXA9Ilx8MiIgPmFjdHVhbC5leHRlbmRlZCAmJgorCQlpZiB0ZXN0X2hhdmVfcHJlcmVxIFBDUkUKKwkJdGhlbgorCQkJIyBPbmx5IFBDUkUgd291bGQgbWF0Y2ggW1xkXVx8IHdpdGggb25seQorCQkJIyAiKDF8MikiIGR1ZSB0byBbXGRdLiBQT1NJWCBiYXNpYyB3b3VsZCBtYXRjaAorCQkJIyBib3RoIGl0IGFuZCAiMSIgc2luY2Ugc2ltaWxhcmx5IHRvIHRoZQorCQkJIyBleHRlbmRlZCBtYXRjaCBhYm92ZSBpdCBpcyB0aGUgc2FtZSBhcworCQkJIyBcKFtcZF1cfFwpLiBQT1NJWCBleHRlbmRlZCB3b3VsZAorCQkJIyBtYXRjaCBuZWl0aGVyLgorCQkJZ2l0IC1jIGdyZXAucGF0dGVyblR5cGU9cGVybCBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBcCisJCQkJLS1ncmVwPSJbXGRdXHwiID5hY3R1YWwucGVybCAmJgorCQkJdGVzdF9jbXAgZXhwZWN0LnBlcmwgYWN0dWFsLnBlcmwKKwkJZmkgJiYKKwkJdGVzdF9jbXAgZXhwZWN0LmZpeGVkIGFjdHVhbC5maXhlZCAmJgorCQl0ZXN0X2NtcCBleHBlY3QuYmFzaWMgYWN0dWFsLmJhc2ljICYmCisJCXRlc3RfY21wIGV4cGVjdC5leHRlbmRlZCBhY3R1YWwuZXh0ZW5kZWQgJiYKKworCQlnaXQgbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgLUYgXAorCQkJLS1ncmVwPSIoMXwyKSIgPmFjdHVhbC5maXhlZC5zaG9ydC1hcmcgJiYKKwkJZ2l0IGxvZyAtLXByZXR0eT10Zm9ybWF0OiVzIC1FIFwKKwkJCS0tZ3JlcD0iXHwyIiA+YWN0dWFsLmV4dGVuZGVkLnNob3J0LWFyZyAmJgorCQlpZiB0ZXN0X2hhdmVfcHJlcmVxIFBDUkUKKwkJdGhlbgorCQkJZ2l0IGxvZyAtLXByZXR0eT10Zm9ybWF0OiVzIC1QIFwKKwkJCQktLWdyZXA9IltcZF1cfCIgPmFjdHVhbC5wZXJsLnNob3J0LWFyZworCQllbHNlCisJCQl0ZXN0X211c3RfZmFpbCBnaXQgbG9nIC1QIFwKKwkJCQktLWdyZXA9IltcZF1cfCIKKwkJZmkgJiYKKwkJdGVzdF9jbXAgZXhwZWN0LmZpeGVkIGFjdHVhbC5maXhlZC5zaG9ydC1hcmcgJiYKKwkJdGVzdF9jbXAgZXhwZWN0LmV4dGVuZGVkIGFjdHVhbC5leHRlbmRlZC5zaG9ydC1hcmcgJiYKKwkJaWYgdGVzdF9oYXZlX3ByZXJlcSBQQ1JFCisJCXRoZW4KKwkJCXRlc3RfY21wIGV4cGVjdC5wZXJsIGFjdHVhbC5wZXJsLnNob3J0LWFyZworCQlmaSAmJgorCisJCWdpdCBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyAtLWZpeGVkLXN0cmluZ3MgXAorCQkJLS1ncmVwPSIoMXwyKSIgPmFjdHVhbC5maXhlZC5sb25nLWFyZyAmJgorCQlnaXQgbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgLS1iYXNpYy1yZWdleHAgXAorCQkJLS1ncmVwPSIoLnwuKSIgPmFjdHVhbC5iYXNpYy5sb25nLWFyZyAmJgorCQlnaXQgbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgLS1leHRlbmRlZC1yZWdleHAgXAorCQkJLS1ncmVwPSJcfDIiID5hY3R1YWwuZXh0ZW5kZWQubG9uZy1hcmcgJiYKKwkJaWYgdGVzdF9oYXZlX3ByZXJlcSBQQ1JFCisJCXRoZW4KKwkJCWdpdCBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyAtLXBlcmwtcmVnZXhwIFwKKwkJCQktLWdyZXA9IltcZF1cfCIgPmFjdHVhbC5wZXJsLmxvbmctYXJnICYmCisJCQl0ZXN0X2NtcCBleHBlY3QucGVybCBhY3R1YWwucGVybC5sb25nLWFyZworCQllbHNlCisJCQl0ZXN0X211c3RfZmFpbCBnaXQgbG9nIC0tcGVybC1yZWdleHAgXAorCQkJCS0tZ3JlcD0iW1xkXVx8IgorCQlmaSAmJgorCQl0ZXN0X2NtcCBleHBlY3QuZml4ZWQgYWN0dWFsLmZpeGVkLmxvbmctYXJnICYmCisJCXRlc3RfY21wIGV4cGVjdC5iYXNpYyBhY3R1YWwuYmFzaWMubG9uZy1hcmcgJiYKKwkJdGVzdF9jbXAgZXhwZWN0LmV4dGVuZGVkIGFjdHVhbC5leHRlbmRlZC5sb25nLWFyZworCSkKKycKKwogY2F0ID4gZXhwZWN0IDw8RU9GCiAqIFNlY29uZAogKiBzaXh0aApAQCAtMzk4LDcgKzU1OSw3IEBACiB8IHwKIHwgfCAgICAgTWVyZ2UgYnJhbmNoICdzaWRlJwogfCB8Ci18ICogY29tbWl0IHNpZGUKK3wgKiBjb21taXQgdGFncy9zaWRlLTIKIHwgfCBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiB8IHwKIHwgfCAgICAgc2lkZS0yCkBAIC01MjAsNyArNjgxLDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nLmRlY29yYXRlIGNvbmZpZ3VyYXRpb24nICcKLQlnaXQgbG9nIC0tb25lbGluZSA+ZXhwZWN0Lm5vbmUgJiYKKwlnaXQgbG9nIC0tb25lbGluZSAtLW5vLWRlY29yYXRlID5leHBlY3Qubm9uZSAmJgogCWdpdCBsb2cgLS1vbmVsaW5lIC0tZGVjb3JhdGUgPmV4cGVjdC5zaG9ydCAmJgogCWdpdCBsb2cgLS1vbmVsaW5lIC0tZGVjb3JhdGU9ZnVsbCA+ZXhwZWN0LmZ1bGwgJiYKIApAQCAtNTc2LDYgKzczNywyNSBAQAogCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZy5kZWNvcmF0ZSBjb25maWcgcGFyc2luZycgJworCWdpdCBsb2cgLS1vbmVsaW5lIC0tZGVjb3JhdGU9ZnVsbCA+ZXhwZWN0LmZ1bGwgJiYKKwlnaXQgbG9nIC0tb25lbGluZSAtLWRlY29yYXRlPXNob3J0ID5leHBlY3Quc2hvcnQgJiYKKworCXRlc3RfY29uZmlnIGxvZy5kZWNvcmF0ZSBmdWxsICYmCisJdGVzdF9jb25maWcgbG9nLm1haWxtYXAgdHJ1ZSAmJgorCWdpdCBsb2cgLS1vbmVsaW5lID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QuZnVsbCBhY3R1YWwgJiYKKwlnaXQgbG9nIC0tb25lbGluZSAtLWRlY29yYXRlPXNob3J0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3Quc2hvcnQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdsb2cgb3V0cHV0IG9uIGEgVFRZJyAnCisJZ2l0IGxvZyAtLW9uZWxpbmUgLS1kZWNvcmF0ZSA+ZXhwZWN0LnNob3J0ICYmCisKKwl0ZXN0X3Rlcm1pbmFsIGdpdCBsb2cgLS1vbmVsaW5lID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3Quc2hvcnQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZmxvZyBpcyBleHBlY3RlZCBmb3JtYXQnICcKIAlnaXQgbG9nIC1nIC0tYWJicmV2LWNvbW1pdCAtLXByZXR0eT1vbmVsaW5lID5leHBlY3QgJiYKIAlnaXQgcmVmbG9nID5hY3R1YWwgJiYKQEAgLTEzNDMsNiArMTUyMywxMiBAQAogCXRlc3RfaTE4bmdyZXAgYnJva2VuIHN0ZGVycgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgZG9lcyBub3QgZGVmYXVsdCB0byBIRUFEIHdoZW4gcmV2IGlucHV0IGlzIGdpdmVuJyAnCisJPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1icmFuY2hlcz1kb2VzLW5vdC1leGlzdCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgLS1zb3VyY2UgdGVzdHMnICcKIAlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gc291cmNlLWEgJiYKIAl0ZXN0X2NvbW1pdCBvbmUgJiYKQEAgLTEzNzIsNCArMTU1OCwxMyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tc291cmNlIHBhaW50cyBzeW1tZXRyaWMgcmFuZ2VzJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTA5ZTEyYTkJc291cmNlLWIgdGhyZWUKKwk4ZTM5M2UxCXNvdXJjZS1hIHR3bworCUVPRgorCWdpdCBsb2cgLS1vbmVsaW5lIC0tc291cmNlIHNvdXJjZS1hLi4uc291cmNlLWIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MjA1LWxvZy1wcmV0dHktZm9ybWF0cy5zaCBiL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCmluZGV4IDIxZWI4YzguLmVjNWY1MzAgMTAwNzU1Ci0tLSBhL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCisrKyBiL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCkBAIC0xMjYsMTIgKzEyNiwxMiBAQAogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3RfZmFpbHVyZSAnTlVMIHRlcm1pbmF0aW9uIHdpdGggLS1zdGF0JyAnCit0ZXN0X2V4cGVjdF9mYWlsdXJlIENfTE9DQUxFX09VVFBVVCAnTlVMIHRlcm1pbmF0aW9uIHdpdGggLS1zdGF0JyAnCiAJc3RhdDBfcGFydD0kKGdpdCBkaWZmIC0tc3RhdCBIRUFEXiBIRUFEKSAmJgogCXN0YXQxX3BhcnQ9JChnaXQgZGlmZi10cmVlIC0tbm8tY29tbWl0LWlkIC0tc3RhdCAtLXJvb3QgSEVBRF4pICYmCiAJcHJpbnRmICJhZGQgYmFyXG4kc3RhdDBfcGFydFxuXDAkKGNvbW1pdF9tc2cpXG4kc3RhdDFfcGFydFxuMCIgPmV4cGVjdGVkICYmCiAJZ2l0IGxvZyAteiAtLXN0YXQgLS1wcmV0dHk9InRmb3JtYXQ6JXMiID5hY3R1YWwgJiYKLQl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIG1vcmUgY29tbWl0cycgJwpAQCAtNTM5LDI1ICs1MzksNjIgQEAKIFNpZ25lZC1vZmYtYnk6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiBBY2tlZC1ieTogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIFsgdjIgdXBkYXRlZCBwYXRjaCBkZXNjcmlwdGlvbiBdCi1TaWduZWQtb2ZmLWJ5OiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorU2lnbmVkLW9mZi1ieTogQSBVIFRob3IKKyAgPGF1dGhvckBleGFtcGxlLmNvbT4KIEVPRgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmV0dHkgZm9ybWF0ICUodHJhaWxlcnMpIHNob3dzIHRyYWlsZXJzJyAnCit1bmZvbGQgKCkgeworCXBlcmwgLTBwZSAncy9cblxzKy8gLycKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIHRyYWlsZXIgdGVzdHMnICcKIAllY2hvICJTb21lIGNvbnRlbnRzIiA+dHJhaWxlcmZpbGUgJiYKIAlnaXQgYWRkIHRyYWlsZXJmaWxlICYmCi0JZ2l0IGNvbW1pdCAtRiAtIDw8LUVPRiAmJgorCWdpdCBjb21taXQgLUYgLSA8PC1FT0YKIAl0cmFpbGVyczogdGhpcyBjb21taXQgbWVzc2FnZSBoYXMgdHJhaWxlcnMKIAogCVRoaXMgY29tbWl0IGlzIGEgdGVzdCBjb21taXQgd2l0aCB0cmFpbGVycyBhdCB0aGUgZW5kLiBXZSBwYXJzZSB0aGlzCi0JbWVzc2FnZSBhbmQgZGlzcGxheSB0aGUgdHJhaWxlcnMgdXNpbmcgJWJUCisJbWVzc2FnZSBhbmQgZGlzcGxheSB0aGUgdHJhaWxlcnMgdXNpbmcgJSh0cmFpbGVycykuCiAKIAkkKGNhdCB0cmFpbGVycykKIAlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJldHR5IGZvcm1hdCAlKHRyYWlsZXJzKSBzaG93cyB0cmFpbGVycycgJwogCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PSIlKHRyYWlsZXJzKSIgPmFjdHVhbCAmJgotCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCSQoY2F0IHRyYWlsZXJzKQorCXsKKwkJY2F0IHRyYWlsZXJzICYmCisJCWVjaG8KKwl9ID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCiAKLQlFT0YKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyUodHJhaWxlcnM6b25seSkgc2hvd3Mgb25seSAia2V5OiB2YWx1ZSIgdHJhaWxlcnMnICcKKwlnaXQgbG9nIC0tbm8td2FsayAtLXByZXR0eT0iJSh0cmFpbGVyczpvbmx5KSIgPmFjdHVhbCAmJgorCXsKKwkJZ3JlcCAtdiBwYXRjaC5kZXNjcmlwdGlvbiA8dHJhaWxlcnMgJiYKKwkJZWNobworCX0gPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJSh0cmFpbGVyczp1bmZvbGQpIHVuZm9sZHMgdHJhaWxlcnMnICcKKwlnaXQgbG9nIC0tbm8td2FsayAtLXByZXR0eT0iJSh0cmFpbGVyczp1bmZvbGQpIiA+YWN0dWFsICYmCisJeworCQl1bmZvbGQgPHRyYWlsZXJzICYmCisJCWVjaG8KKwl9ID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzpvbmx5IGFuZCA6dW5mb2xkIHdvcmsgdG9nZXRoZXInICcKKwlnaXQgbG9nIC0tbm8td2FsayAtLXByZXR0eT0iJSh0cmFpbGVyczpvbmx5OnVuZm9sZCkiID5hY3R1YWwgJiYKKwlnaXQgbG9nIC0tbm8td2FsayAtLXByZXR0eT0iJSh0cmFpbGVyczp1bmZvbGQ6b25seSkiID5yZXZlcnNlICYmCisJdGVzdF9jbXAgYWN0dWFsIHJldmVyc2UgJiYKKwl7CisJCWdyZXAgLXYgcGF0Y2guZGVzY3JpcHRpb24gPHRyYWlsZXJzIHwgdW5mb2xkICYmCisJCWVjaG8KKwl9ID5leHBlY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDQyMDctbG9nLWRlY29yYXRpb24tY29sb3JzLnNoIGIvdC90NDIwNy1sb2ctZGVjb3JhdGlvbi1jb2xvcnMuc2gKaW5kZXggYjk3MjI5Ni4uNjBmMDQwYyAxMDA3NTUKLS0tIGEvdC90NDIwNy1sb2ctZGVjb3JhdGlvbi1jb2xvcnMuc2gKKysrIGIvdC90NDIwNy1sb2ctZGVjb3JhdGlvbi1jb2xvcnMuc2gKQEAgLTcsMTEgKzcsNiBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotZ2V0X2NvbG9yICgpCi17Ci0JZ2l0IGNvbmZpZyAtLWdldC1jb2xvciBuby5zdWNoLnNsb3QgIiQxIgotfQotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKIAlnaXQgY29uZmlnIGRpZmYuY29sb3IuY29tbWl0IHllbGxvdyAmJgogCWdpdCBjb25maWcgY29sb3IuZGVjb3JhdGUuYnJhbmNoIGdyZWVuICYmCkBAIC0yMCwxNCArMTUsMTQgQEAKIAlnaXQgY29uZmlnIGNvbG9yLmRlY29yYXRlLnN0YXNoIG1hZ2VudGEgJiYKIAlnaXQgY29uZmlnIGNvbG9yLmRlY29yYXRlLkhFQUQgY3lhbiAmJgogCi0JY19yZXNldD0kKGdldF9jb2xvciByZXNldCkgJiYKKwljX3Jlc2V0PSI8UkVTRVQ+IiAmJgogCi0JY19jb21taXQ9JChnZXRfY29sb3IgeWVsbG93KSAmJgotCWNfYnJhbmNoPSQoZ2V0X2NvbG9yIGdyZWVuKSAmJgotCWNfcmVtb3RlQnJhbmNoPSQoZ2V0X2NvbG9yIHJlZCkgJiYKLQljX3RhZz0kKGdldF9jb2xvciAicmV2ZXJzZSBib2xkIHllbGxvdyIpICYmCi0JY19zdGFzaD0kKGdldF9jb2xvciBtYWdlbnRhKSAmJgotCWNfSEVBRD0kKGdldF9jb2xvciBjeWFuKSAmJgorCWNfY29tbWl0PSI8WUVMTE9XPiIgJiYKKwljX2JyYW5jaD0iPEdSRUVOPiIgJiYKKwljX3JlbW90ZUJyYW5jaD0iPFJFRD4iICYmCisJY190YWc9IjxCT0xEO1JFVkVSU0U7WUVMTE9XPiIgJiYKKwljX3N0YXNoPSI8TUFHRU5UQT4iICYmCisJY19IRUFEPSI8Q1lBTj4iICYmCiAKIAl0ZXN0X2NvbW1pdCBBICYmCiAJZ2l0IGNsb25lIC4gb3RoZXIgJiYKQEAgLTU5LDcgKzU0LDggQEAKICMgdG8gdGhpcyB0ZXN0IHNpbmNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYW55IGRlY29yYXRpb24sIGhlbmNlIC0tZmlyc3QtcGFyZW50CiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdDb21taXQgRGVjb3JhdGlvbnMgQ29sb3JlZCBDb3JyZWN0bHknICcKIAlnaXQgbG9nIC0tZmlyc3QtcGFyZW50IC0tYWJicmV2PTEwIC0tYWxsIC0tZGVjb3JhdGUgLS1vbmVsaW5lIC0tY29sb3I9YWx3YXlzIHwKLQlzZWQgInMvWzAtOWEtZl1cezEwLDEwXH0vQ09NTUlUX0lELyIgPm91dCAmJgorCXNlZCAicy9bMC05YS1mXVx7MTAsMTBcfS9DT01NSVRfSUQvIiB8CisJdGVzdF9kZWNvZGVfY29sb3IgPm91dCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIG91dAogJwogCmRpZmYgLS1naXQgYS90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaCBiL3QvdDQyMDgtbG9nLW1hZ2ljLXBhdGhzcGVjLnNoCmluZGV4IDAwMTM0M2UuLjkzNWRmNmE2IDEwMDc1NQotLS0gYS90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaAorKysgYi90L3Q0MjA4LWxvZy1tYWdpYy1wYXRoc3BlYy5zaApAQCAtMjksNiArMjksMTIgQEAKIAlnaXQgbG9nIC0tIDovYQogJwogCisjIFRoaXMgZGlmZmVycyBmcm9tIHRoZSAiOi9hIiBjaGVjayBhYm92ZSBpbiB0aGF0IDovaW4gbG9va3MgbGlrZSBhIHBhdGhzcGVjLAorIyBidXQgZG9lc24ndCBtYXRjaCBhbiBhY3R1YWwgZmlsZS4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgbG9nIDovaW4iIHNob3VsZCBub3QgYmUgYW1iaWd1b3VzJyAnCisJZ2l0IGxvZyA6L2luCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgbG9nIDoiIHNob3VsZCBiZSBhbWJpZ3VvdXMnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgbG9nIDogMj5lcnJvciAmJgogCXRlc3RfaTE4bmdyZXAgYW1iaWd1b3VzIGVycm9yCkBAIC00Niw2ICs1MiwzMiBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICciZ2l0IGxvZyA6XnN1YiIgaXMgbm90IGFtYmlndW91cycgJworCWdpdCBsb2cgOl5zdWIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnImdpdCBsb2cgOl5kb2VzLW5vdC1leGlzdCIgZG9lcyBub3QgbWF0Y2ggYW55dGhpbmcnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgbG9nIDpeZG9lcy1ub3QtZXhpc3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAgJyJnaXQgbG9nIDohIiBiZWhhdmVzIHRoZSBzYW1lIGFzIDpeJyAnCisJZ2l0IGxvZyA6IXN1YiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgOiFkb2VzLW5vdC1leGlzdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICciZ2l0IGxvZyA6KGV4Y2x1ZGUpc3ViIiBpcyBub3QgYW1iaWd1b3VzJyAnCisJZ2l0IGxvZyAiOihleGNsdWRlKXN1YiIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnImdpdCBsb2cgOihleGNsdWRlKXN1YiAtLSIgbXVzdCByZXNvbHZlIGFzIGFuIG9iamVjdCcgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgIjooZXhjbHVkZSlzdWIiIC0tCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgbG9nIDoodW5rbm93bi1tYWdpYykgY29tcGxhaW5zIG9mIGJvZ3VzIG1hZ2ljJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxvZyAiOih1bmtub3duLW1hZ2ljKSIgMj5lcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgcGF0aHNwZWMubWFnaWMgZXJyb3IKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWFuZCBsaW5lIHBhdGhzcGVjIHBhcnNpbmcgZm9yICJnaXQgbG9nIicgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAk+YSAmJgpkaWZmIC0tZ2l0IGEvdC90NDIxMy1sb2ctdGFiZXhwYW5kLnNoIGIvdC90NDIxMy1sb2ctdGFiZXhwYW5kLnNoCmluZGV4IGUwMWE4ZjYuLjdmOTBmNTggMTAwNzU1Ci0tLSBhL3QvdDQyMTMtbG9nLXRhYmV4cGFuZC5zaAorKysgYi90L3Q0MjEzLWxvZy10YWJleHBhbmQuc2gKQEAgLTM3LDcgKzM3LDcgQEAKIAogCSMgUHJlZml4IHRoZSBvdXRwdXQgd2l0aCB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cywgYW5kCiAJIyByZXBsYWNlIFNQIHdpdGggYSBkb3QgYm90aCBpbiB0aGUgZXhwZWN0ZSBhbmQgYWN0dWFsIG91dHB1dAotCSMgc28gdGhhdCB0ZXN0X2NtcCB3b3VsZCBzaG93IHRoZSBkaWZmZXJlbmUgdG9nZXRoZXIgd2l0aCB0aGUKKwkjIHNvIHRoYXQgdGVzdF9jbXAgd291bGQgc2hvdyB0aGUgZGlmZmVyZW5jZSB0b2dldGhlciB3aXRoIHRoZQogCSMgYnJlYWthZ2UgaW4gYSB3YXkgZWFzaWVyIHRvIGNvbnN1bWUgYnkgdGhlIGRlYnVnZ2luZyB1c2VyLgogCXsKIAkJZWNobyAiZ2l0IHNob3cgLXMgJCoiCmRpZmYgLS1naXQgYS90L3Q1MDAwLXRhci10cmVlLnNoIGIvdC90NTAwMC10YXItdHJlZS5zaAppbmRleCA4ODZiNjk1Li5mZTJkNGYxIDEwMDc1NQotLS0gYS90L3Q1MDAwLXRhci10cmVlLnNoCisrKyBiL3QvdDUwMDAtdGFyLXRyZWUuc2gKQEAgLTM5MCw3ICszOTAsNyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBMT05HX0lTXzY0QklUICdzZXQgdXAgcmVwb3NpdG9yeSB3aXRoIGZhci1mdXR1cmUgY29tbWl0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRJTUVfSVNfNjRCSVQgJ3NldCB1cCByZXBvc2l0b3J5IHdpdGggZmFyLWZ1dHVyZSBjb21taXQnICcKIAlybSAtZiAuZ2l0L2luZGV4ICYmCiAJZWNobyBjb250ZW50ID5maWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCkBAIC0zOTgsMTEgKzM5OCwxMSBAQAogCQlnaXQgY29tbWl0IC1tICJ0ZW1wb3JpIHBhcmVuZHVtIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIExPTkdfSVNfNjRCSVQgJ2dlbmVyYXRlIHRhciB3aXRoIGZ1dHVyZSBtdGltZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBUSU1FX0lTXzY0QklUICdnZW5lcmF0ZSB0YXIgd2l0aCBmdXR1cmUgbXRpbWUnICcKIAlnaXQgYXJjaGl2ZSBIRUFEID5mdXR1cmUudGFyCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgVEFSX0hVR0UsTE9OR19JU182NEJJVCAnc3lzdGVtIHRhciBjYW4gcmVhZCBvdXIgZnV0dXJlIG10aW1lJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRBUl9IVUdFLFRJTUVfSVNfNjRCSVQsVElNRV9UX0lTXzY0QklUICdzeXN0ZW0gdGFyIGNhbiByZWFkIG91ciBmdXR1cmUgbXRpbWUnICcKIAllY2hvIDQxNDcgPmV4cGVjdCAmJgogCXRhcl9pbmZvIGZ1dHVyZS50YXIgfCBjdXQgLWQiICIgLWYyID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCmRpZmYgLS1naXQgYS90L3Q1MDAxLWFyY2hpdmUtYXR0ci5zaCBiL3QvdDUwMDEtYXJjaGl2ZS1hdHRyLnNoCmluZGV4IGIwNGQ5NTUuLmU5YWE5NzEgMTAwNzU1Ci0tLSBhL3QvdDUwMDEtYXJjaGl2ZS1hdHRyLnNoCisrKyBiL3QvdDUwMDEtYXJjaGl2ZS1hdHRyLnNoCkBAIC03LDExICs3LDE1IEBACiBTVUJTVEZPUk1BVD0nJUggKCVoKSVuJwogCiB0ZXN0X2V4cGVjdF9leGlzdHMoKSB7Ci0JdGVzdF9leHBlY3Rfc3VjY2VzcyAiICQxIGV4aXN0cyIgInRlc3QgLWUgJDEiCisJdGVzdF9leHBlY3RfJHsyOi1zdWNjZXNzfSAiICQxIGV4aXN0cyIgInRlc3QgLWUgJDEiCiB9CiAKIHRlc3RfZXhwZWN0X21pc3NpbmcoKSB7Ci0JdGVzdF9leHBlY3Rfc3VjY2VzcyAiICQxIGRvZXMgbm90IGV4aXN0IiAidGVzdCAhIC1lICQxIgorCXRlc3RfZXhwZWN0XyR7Mjotc3VjY2Vzc30gIiAkMSBkb2VzIG5vdCBleGlzdCIgInRlc3QgISAtZSAkMSIKK30KKworZXh0cmFjdF90YXJfdG9fZGlyICgpIHsKKwkobWtkaXIgIiQxIiAmJiBjZCAiJDEiICYmICIkVEFSIiB4ZiAtKSA8IiQxLnRhciIKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKQEAgLTIxLDEyICsyNSwxOSBAQAogCiAJZWNobyBpZ25vcmVkIGJ5IHRyZWUgPmlnbm9yZWQtYnktdHJlZSAmJgogCWVjaG8gaWdub3JlZC1ieS10cmVlIGV4cG9ydC1pZ25vcmUgPi5naXRhdHRyaWJ1dGVzICYmCi0JZ2l0IGFkZCBpZ25vcmVkLWJ5LXRyZWUgLmdpdGF0dHJpYnV0ZXMgJiYKKwlta2RpciBpZ25vcmVkLWJ5LXRyZWUuZCAmJgorCT5pZ25vcmVkLWJ5LXRyZWUuZC9maWxlICYmCisJZWNobyBpZ25vcmVkLWJ5LXRyZWUuZCBleHBvcnQtaWdub3JlID4+LmdpdGF0dHJpYnV0ZXMgJiYKKwlnaXQgYWRkIGlnbm9yZWQtYnktdHJlZSBpZ25vcmVkLWJ5LXRyZWUuZCAuZ2l0YXR0cmlidXRlcyAmJgogCiAJZWNobyBpZ25vcmVkIGJ5IHdvcmt0cmVlID5pZ25vcmVkLWJ5LXdvcmt0cmVlICYmCiAJZWNobyBpZ25vcmVkLWJ5LXdvcmt0cmVlIGV4cG9ydC1pZ25vcmUgPi5naXRhdHRyaWJ1dGVzICYmCiAJZ2l0IGFkZCBpZ25vcmVkLWJ5LXdvcmt0cmVlICYmCiAKKwlta2RpciBleGNsdWRlZC1ieS1wYXRoc3BlYy5kICYmCisJPmV4Y2x1ZGVkLWJ5LXBhdGhzcGVjLmQvZmlsZSAmJgorCWdpdCBhZGQgZXhjbHVkZWQtYnktcGF0aHNwZWMuZCAmJgorCiAJcHJpbnRmICJBXCRGb3JtYXQ6JXNcJE8iICIkU1VCU1RGT1JNQVQiID5ub3N1YnN0ZmlsZSAmJgogCXByaW50ZiAiQVwkRm9ybWF0OiVzXCRPIiAiJFNVQlNURk9STUFUIiA+c3Vic3RmaWxlMSAmJgogCXByaW50ZiAiQSBub3Qgc3Vic3RpdHV0ZWQgTyIgPnN1YnN0ZmlsZTIgJiYKQEAgLTQ2LDcgKzU3LDM3IEBACiAKIHRlc3RfZXhwZWN0X21pc3NpbmcJYXJjaGl2ZS9pZ25vcmVkCiB0ZXN0X2V4cGVjdF9taXNzaW5nCWFyY2hpdmUvaWdub3JlZC1ieS10cmVlCit0ZXN0X2V4cGVjdF9taXNzaW5nCWFyY2hpdmUvaWdub3JlZC1ieS10cmVlLmQKK3Rlc3RfZXhwZWN0X21pc3NpbmcJYXJjaGl2ZS9pZ25vcmVkLWJ5LXRyZWUuZC9maWxlCiB0ZXN0X2V4cGVjdF9leGlzdHMJYXJjaGl2ZS9pZ25vcmVkLWJ5LXdvcmt0cmVlCit0ZXN0X2V4cGVjdF9leGlzdHMJYXJjaGl2ZS9leGNsdWRlZC1ieS1wYXRoc3BlYy5kCit0ZXN0X2V4cGVjdF9leGlzdHMJYXJjaGl2ZS9leGNsdWRlZC1ieS1wYXRoc3BlYy5kL2ZpbGUKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGFyY2hpdmUgd2l0aCBwYXRoc3BlYycgJworCWdpdCBhcmNoaXZlIEhFQUQgIjohZXhjbHVkZWQtYnktcGF0aHNwZWMuZCIgPmFyY2hpdmUtcGF0aHNwZWMudGFyICYmCisJZXh0cmFjdF90YXJfdG9fZGlyIGFyY2hpdmUtcGF0aHNwZWMKKycKKwordGVzdF9leHBlY3RfbWlzc2luZwlhcmNoaXZlLXBhdGhzcGVjL2lnbm9yZWQKK3Rlc3RfZXhwZWN0X21pc3NpbmcJYXJjaGl2ZS1wYXRoc3BlYy9pZ25vcmVkLWJ5LXRyZWUKK3Rlc3RfZXhwZWN0X21pc3NpbmcJYXJjaGl2ZS1wYXRoc3BlYy9pZ25vcmVkLWJ5LXRyZWUuZAordGVzdF9leHBlY3RfbWlzc2luZwlhcmNoaXZlLXBhdGhzcGVjL2lnbm9yZWQtYnktdHJlZS5kL2ZpbGUKK3Rlc3RfZXhwZWN0X2V4aXN0cwlhcmNoaXZlLXBhdGhzcGVjL2lnbm9yZWQtYnktd29ya3RyZWUKK3Rlc3RfZXhwZWN0X21pc3NpbmcJYXJjaGl2ZS1wYXRoc3BlYy9leGNsdWRlZC1ieS1wYXRoc3BlYy5kCit0ZXN0X2V4cGVjdF9taXNzaW5nCWFyY2hpdmUtcGF0aHNwZWMvZXhjbHVkZWQtYnktcGF0aHNwZWMuZC9maWxlCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBhcmNoaXZlIHdpdGggd2lsZGNhcmQgcGF0aHNwZWMnICcKKwlnaXQgYXJjaGl2ZSBIRUFEICI6IWV4Y2x1ZGVkLWJ5LXAqIiA+YXJjaGl2ZS1wYXRoc3BlYy13aWxkY2FyZC50YXIgJiYKKwlleHRyYWN0X3Rhcl90b19kaXIgYXJjaGl2ZS1wYXRoc3BlYy13aWxkY2FyZAorJworCit0ZXN0X2V4cGVjdF9taXNzaW5nCWFyY2hpdmUtcGF0aHNwZWMtd2lsZGNhcmQvaWdub3JlZAordGVzdF9leHBlY3RfbWlzc2luZwlhcmNoaXZlLXBhdGhzcGVjLXdpbGRjYXJkL2lnbm9yZWQtYnktdHJlZQordGVzdF9leHBlY3RfbWlzc2luZwlhcmNoaXZlLXBhdGhzcGVjLXdpbGRjYXJkL2lnbm9yZWQtYnktdHJlZS5kCit0ZXN0X2V4cGVjdF9taXNzaW5nCWFyY2hpdmUtcGF0aHNwZWMtd2lsZGNhcmQvaWdub3JlZC1ieS10cmVlLmQvZmlsZQordGVzdF9leHBlY3RfZXhpc3RzCWFyY2hpdmUtcGF0aHNwZWMtd2lsZGNhcmQvaWdub3JlZC1ieS13b3JrdHJlZQordGVzdF9leHBlY3RfbWlzc2luZwlhcmNoaXZlLXBhdGhzcGVjLXdpbGRjYXJkL2V4Y2x1ZGVkLWJ5LXBhdGhzcGVjLmQKK3Rlc3RfZXhwZWN0X21pc3NpbmcJYXJjaGl2ZS1wYXRoc3BlYy13aWxkY2FyZC9leGNsdWRlZC1ieS1wYXRoc3BlYy5kL2ZpbGUKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGFyY2hpdmUgd2l0aCB3b3JrdHJlZSBhdHRyaWJ1dGVzJyAnCiAJZ2l0IGFyY2hpdmUgLS13b3JrdHJlZS1hdHRyaWJ1dGVzIEhFQUQgPndvcmt0cmVlLnRhciAmJgpkaWZmIC0tZ2l0IGEvdC90NTAwMi1hcmNoaXZlLWF0dHItcGF0dGVybi5zaCBiL3QvdDUwMDItYXJjaGl2ZS1hdHRyLXBhdHRlcm4uc2gKaW5kZXggNjY2N2QxNS4uYmRhNmQ3ZCAxMDA3NTUKLS0tIGEvdC90NTAwMi1hcmNoaXZlLWF0dHItcGF0dGVybi5zaAorKysgYi90L3Q1MDAyLWFyY2hpdmUtYXR0ci1wYXR0ZXJuLnNoCkBAIC03Niw3ICs3Niw3IEBACiB0ZXN0X2V4cGVjdF9taXNzaW5nCWFyY2hpdmUvZGVlcC9hbmQvc2xhc2hsZXNzL2ZvbyAmJgogdGVzdF9leHBlY3RfbWlzc2luZwlhcmNoaXZlL2RlZXAvd2l0aC93aWxkY2FyZC8gJiYKIHRlc3RfZXhwZWN0X21pc3NpbmcJYXJjaGl2ZS9kZWVwL3dpdGgvd2lsZGNhcmQvZm9vICYmCi10ZXN0X2V4cGVjdF9leGlzdHMJYXJjaGl2ZS9vbmUtbGV2ZWwtbG93ZXIvCit0ZXN0X2V4cGVjdF9taXNzaW5nCWFyY2hpdmUvb25lLWxldmVsLWxvd2VyLwogdGVzdF9leHBlY3RfbWlzc2luZwlhcmNoaXZlL29uZS1sZXZlbC1sb3dlci90d28tbGV2ZWxzLWxvd2VyL2lnbm9yZWQtb25seS1pZi1kaXIvCiB0ZXN0X2V4cGVjdF9taXNzaW5nCWFyY2hpdmUvb25lLWxldmVsLWxvd2VyL3R3by1sZXZlbHMtbG93ZXIvaWdub3JlZC1vbnktaWYtZGlyL2lnbm9yZWQtYnktaWdub3JlZC1kaXIKIApkaWZmIC0tZ2l0IGEvdC90NTAwNC1hcmNoaXZlLWNvcm5lci1jYXNlcy5zaCBiL3QvdDUwMDQtYXJjaGl2ZS1jb3JuZXItY2FzZXMuc2gKaW5kZXggY2NhMjMzOC4uY2VkNDQzNSAxMDA3NTUKLS0tIGEvdC90NTAwNC1hcmNoaXZlLWNvcm5lci1jYXNlcy5zaAorKysgYi90L3Q1MDA0LWFyY2hpdmUtY29ybmVyLWNhc2VzLnNoCkBAIC0yNyw2ICsyNyw5IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogfQogCit0ZXN0X2xhenlfcHJlcmVxIFVOWklQX1pJUDY0X1NVUFBPUlQgJworCSIkR0lUX1VOWklQIiAtdiB8IGdyZXAgWklQNjRfU1VQUE9SVAorJwogCiAjIGJzZHRhci9saWJhcmNoaXZlIHZlcnNpb25zIGJlZm9yZSAzLjEuMyBjb25zaWRlciBhIHRhciBmaWxlIHdpdGggYQogIyBnbG9iYWwgcGF4IGhlYWRlciB0aGF0IGlzIG5vdCBmb2xsb3dlZCBieSBhIGZpbGUgcmVjb3JkIGFzIGNvcnJ1cHQuCkBAIC0xMDUsMTQgKzEwOCwxNCBAQAogCWdpdCBhcmNoaXZlIC0tZm9ybWF0PXRhciAkcm9vdF90cmVlID5zdWJ0cmVlLWFsbC50YXIgJiYKIAltYWtlX2RpciBleHRyYWN0ICYmCiAJIiRUQVIiIHhmIHN1YnRyZWUtYWxsLnRhciAtQyBleHRyYWN0ICYmCi0JY2hlY2tfZGlyIGV4dHJhY3Qgc3ViCisJY2hlY2tfZGlyIGV4dHJhY3QKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXJjaGl2ZSBlbXB0eSBzdWJ0cmVlIGJ5IGRpcmVjdCBwYXRoc3BlYycgJwogCWdpdCBhcmNoaXZlIC0tZm9ybWF0PXRhciAkcm9vdF90cmVlIC0tIHN1YiA+c3VidHJlZS1wYXRoLnRhciAmJgogCW1ha2VfZGlyIGV4dHJhY3QgJiYKIAkiJFRBUiIgeGYgc3VidHJlZS1wYXRoLnRhciAtQyBleHRyYWN0ICYmCi0JY2hlY2tfZGlyIGV4dHJhY3Qgc3ViCisJY2hlY2tfZGlyIGV4dHJhY3QKICcKIAogWklQSU5GTz16aXBpbmZvCkBAIC0xNTUsNCArMTU4LDUxIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEVYUEVOU0lWRSxVTlpJUCxVTlpJUF9aSVA2NF9TVVBQT1JUIFwKKwknemlwIGFyY2hpdmUgYmlnZ2VyIHRoYW4gNEdCJyAnCisJIyBidWlsZCBzdHJpbmcgY29udGFpbmluZyA2NTUzNiBjaGFyYWN0ZXJzCisJcz0wMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmICYmCisJcz0kcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzICYmCisJcz0kcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzJHMkcyRzICYmCisKKwkjIGNyZWF0ZSBibG9iIHdpdGggYSBsZW5ndGggb2YgNjU1MzYgKyAxIGJ5dGVzCisJYmxvYj0kKGVjaG8gJHMgfCBnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbikgJiYKKworCSMgY3JlYXRlIHRyZWUgY29udGFpbmluZyA2NTUwMCBlbnRyaWVzIG9mIHRoYXQgYmxvYgorCWZvciBpIGluICQodGVzdF9zZXEgMSA2NTUwMCkKKwlkbworCQllY2hvICIxMDA2NDQgYmxvYiAkYmxvYgkkaSIKKwlkb25lID50cmVlICYmCisJdHJlZT0kKGdpdCBta3RyZWUgPHRyZWUpICYmCisKKwkjIHppcCBpdCwgY3JlYXRpbmcgYW4gYXJjaGl2ZSBhIGJpdCBiaWdnZXIgdGhhbiA0R0IKKwlnaXQgYXJjaGl2ZSAtMCAtbyBtYW55LWJpZy56aXAgJHRyZWUgJiYKKworCSIkR0lUX1VOWklQIiAtdCBtYW55LWJpZy56aXAgOTk5OSA2NTUwMCAmJgorCSIkR0lUX1VOWklQIiAtdCBtYW55LWJpZy56aXAKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBFWFBFTlNJVkUsTE9OR19JU182NEJJVCxVTlpJUCxVTlpJUF9aSVA2NF9TVVBQT1JULFpJUElORk8gXAorCSd6aXAgYXJjaGl2ZSB3aXRoIGZpbGVzIGJpZ2dlciB0aGFuIDRHQicgJworCSMgUGFjayBjcmVhdGVkIHdpdGg6CisJIyAgIGRkIGlmPS9kZXYvemVybyBvZj1maWxlIGJzPTFNIGNvdW50PTQxMDAgJiYgZ2l0IGhhc2gtb2JqZWN0IC13IGZpbGUKKwlta2RpciAtcCAuZ2l0L29iamVjdHMvcGFjayAmJgorCSgKKwkJY2QgLmdpdC9vYmplY3RzL3BhY2sgJiYKKwkJIiRHSVRfVU5aSVAiICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MDA0L2JpZy1wYWNrLnppcAorCSkgJiYKKwlibG9iPTc1NGE5M2Q2ZmFkYTRjNjg3MzM2MGU2Y2I0YjIwOTEzMjI3MWFiMGUgJiYKKwlzaXplPSQoZXhwciA0MTAwICIqIiAxMDI0ICIqIiAxMDI0KSAmJgorCisJIyBjcmVhdGUgYSB0cmVlIGNvbnRhaW5pbmcgdGhlIGZpbGUKKwl0cmVlPSQoZWNobyAiMTAwNjQ0IGJsb2IgJGJsb2IJYmlnLWZpbGUiIHwgZ2l0IG1rdHJlZSkgJiYKKworCSMgemlwIGl0LCBjcmVhdGluZyBhbiBhcmNoaXZlIHdpdGggYSBmaWxlIGJpZ2dlciB0aGFuIDRHQgorCWdpdCBhcmNoaXZlIC1vIGJpZy56aXAgJHRyZWUgJiYKKworCSIkR0lUX1VOWklQIiAtdCBiaWcuemlwICYmCisJIiRaSVBJTkZPIiBiaWcuemlwID5iaWcubHN0ICYmCisJZ3JlcCAkc2l6ZSBiaWcubHN0CisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTAwNC9iaWctcGFjay56aXAgYi90L3Q1MDA0L2JpZy1wYWNrLnppcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWFmNjE0Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NTAwNC9iaWctcGFjay56aXAKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdC90NTEwMC1tYWlsaW5mby5zaCBiL3QvdDUxMDAtbWFpbGluZm8uc2gKaW5kZXggNzE3MWY2Ny4uOTY5MGRjYSAxMDA3NTUKLS0tIGEvdC90NTEwMC1tYWlsaW5mby5zaAorKysgYi90L3Q1MTAwLW1haWxpbmZvLnNoCkBAIC0xNzEsNCArMTcxLDQ2IEBACiAnCiAKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFpbGluZm8gbm8gb3B0aW9ucycgJworCXN1Ymo9IiQoZWNobyAiU3ViamVjdDogW1BBVENIXSBbb3RoZXJdIFtQQVRDSF0gbWVzc2FnZSIgfAorCQlnaXQgbWFpbGluZm8gL2Rldi9udWxsIC9kZXYvbnVsbCkiICYmCisJdGVzdCB6IiRzdWJqIiA9IHoiU3ViamVjdDogbWVzc2FnZSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFpbGluZm8gLWsnICcKKwlzdWJqPSIkKGVjaG8gIlN1YmplY3Q6IFtQQVRDSF0gW290aGVyXSBbUEFUQ0hdIG1lc3NhZ2UiIHwKKwkJZ2l0IG1haWxpbmZvIC1rIC9kZXYvbnVsbCAvZGV2L251bGwpIiAmJgorCXRlc3QgeiIkc3ViaiIgPSB6IlN1YmplY3Q6IFtQQVRDSF0gW290aGVyXSBbUEFUQ0hdIG1lc3NhZ2UiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21haWxpbmZvIC1iIG5vIFtQQVRDSF0nICcKKwlzdWJqPSIkKGVjaG8gIlN1YmplY3Q6IFtvdGhlcl0gbWVzc2FnZSIgfAorCQlnaXQgbWFpbGluZm8gLWIgL2Rldi9udWxsIC9kZXYvbnVsbCkiICYmCisJdGVzdCB6IiRzdWJqIiA9IHoiU3ViamVjdDogW290aGVyXSBtZXNzYWdlIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYWlsaW5mbyAtYiBsZWFkaW5nIFtQQVRDSF0nICcKKwlzdWJqPSIkKGVjaG8gIlN1YmplY3Q6IFtQQVRDSF0gW290aGVyXSBtZXNzYWdlIiB8CisJCWdpdCBtYWlsaW5mbyAtYiAvZGV2L251bGwgL2Rldi9udWxsKSIgJiYKKwl0ZXN0IHoiJHN1YmoiID0geiJTdWJqZWN0OiBbb3RoZXJdIG1lc3NhZ2UiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21haWxpbmZvIC1iIGRvdWJsZSBbUEFUQ0hdJyAnCisJc3Viaj0iJChlY2hvICJTdWJqZWN0OiBbUEFUQ0hdIFtQQVRDSF0gbWVzc2FnZSIgfAorCQlnaXQgbWFpbGluZm8gLWIgL2Rldi9udWxsIC9kZXYvbnVsbCkiICYmCisJdGVzdCB6IiRzdWJqIiA9IHoiU3ViamVjdDogbWVzc2FnZSIKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnbWFpbGluZm8gLWIgdHJhaWxpbmcgW1BBVENIXScgJworCXN1Ymo9IiQoZWNobyAiU3ViamVjdDogW290aGVyXSBbUEFUQ0hdIG1lc3NhZ2UiIHwKKwkJZ2l0IG1haWxpbmZvIC1iIC9kZXYvbnVsbCAvZGV2L251bGwpIiAmJgorCXRlc3QgeiIkc3ViaiIgPSB6IlN1YmplY3Q6IFtvdGhlcl0gbWVzc2FnZSIKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnbWFpbGluZm8gLWIgc2VwYXJhdGVkIGRvdWJsZSBbUEFUQ0hdJyAnCisJc3Viaj0iJChlY2hvICJTdWJqZWN0OiBbUEFUQ0hdIFtvdGhlcl0gW1BBVENIXSBtZXNzYWdlIiB8CisJCWdpdCBtYWlsaW5mbyAtYiAvZGV2L251bGwgL2Rldi9udWxsKSIgJiYKKwl0ZXN0IHoiJHN1YmoiID0geiJTdWJqZWN0OiBbb3RoZXJdIG1lc3NhZ2UiCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMwMC1wYWNrLW9iamVjdC5zaCBiL3QvdDUzMDAtcGFjay1vYmplY3Quc2gKaW5kZXggNDNhNjcyYy4uOWM2OGI5OSAxMDA3NTUKLS0tIGEvdC90NTMwMC1wYWNrLW9iamVjdC5zaAorKysgYi90L3Q1MzAwLXBhY2stb2JqZWN0LnNoCkBAIC00MjEsNiArNDIxLDQyIEBACiAJdGVzdF9wYXRoX2lzX2ZpbGUgZm9vLmlkeAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFQVEhSRUFEUyxDX0xPQ0FMRV9PVVRQVVQgJ2luZGV4LXBhY2sgLS10aHJlYWRzPU4gb3IgcGFjay50aHJlYWRzPU4gd2FybnMgd2hlbiBubyBwdGhyZWFkcycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBpbmRleC1wYWNrIC0tdGhyZWFkcz0yIDI+ZXJyICYmCisJZ3JlcCBed2FybmluZzogZXJyID53YXJuaW5ncyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgd2FybmluZ3MgJiYKKwlncmVwIC1GICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcz0yIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBwYWNrLnRocmVhZHM9MiBpbmRleC1wYWNrIDI+ZXJyICYmCisJZ3JlcCBed2FybmluZzogZXJyID53YXJuaW5ncyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgd2FybmluZ3MgJiYKKwlncmVwIC1GICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIHBhY2sudGhyZWFkcyIgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgLWMgcGFjay50aHJlYWRzPTIgaW5kZXgtcGFjayAtLXRocmVhZHM9NCAyPmVyciAmJgorCWdyZXAgXndhcm5pbmc6IGVyciA+d2FybmluZ3MgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAyIHdhcm5pbmdzICYmCisJZ3JlcCAtRiAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAtLXRocmVhZHM9NCIgZXJyICYmCisJZ3JlcCAtRiAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyBwYWNrLnRocmVhZHMiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFQVEhSRUFEUyxDX0xPQ0FMRV9PVVRQVVQgJ3BhY2stb2JqZWN0cyAtLXRocmVhZHM9TiBvciBwYWNrLnRocmVhZHM9TiB3YXJucyB3aGVuIG5vIHB0aHJlYWRzJyAnCisJZ2l0IHBhY2stb2JqZWN0cyAtLXRocmVhZHM9MiAtLXN0ZG91dCAtLWFsbCA8L2Rldi9udWxsID4vZGV2L251bGwgMj5lcnIgJiYKKwlncmVwIF53YXJuaW5nOiBlcnIgPndhcm5pbmdzICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSB3YXJuaW5ncyAmJgorCWdyZXAgLUYgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIiBlcnIgJiYKKworCWdpdCAtYyBwYWNrLnRocmVhZHM9MiBwYWNrLW9iamVjdHMgLS1zdGRvdXQgLS1hbGwgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+ZXJyICYmCisJZ3JlcCBed2FybmluZzogZXJyID53YXJuaW5ncyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgd2FybmluZ3MgJiYKKwlncmVwIC1GICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIHBhY2sudGhyZWFkcyIgZXJyICYmCisKKwlnaXQgLWMgcGFjay50aHJlYWRzPTIgcGFjay1vYmplY3RzIC0tdGhyZWFkcz00IC0tc3Rkb3V0IC0tYWxsIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPmVyciAmJgorCWdyZXAgXndhcm5pbmc6IGVyciA+d2FybmluZ3MgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAyIHdhcm5pbmdzICYmCisJZ3JlcCAtRiAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAtLXRocmVhZHMiIGVyciAmJgorCWdyZXAgLUYgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgcGFjay50aHJlYWRzIiBlcnIKKycKKwogIwogIyBXQVJOSU5HIQogIwpkaWZmIC0tZ2l0IGEvdC90NTMwNC1wcnVuZS5zaCBiL3QvdDUzMDQtcHJ1bmUuc2gKaW5kZXggMTMzYjU4NC4uNjY5NGMxOSAxMDA3NTUKLS0tIGEvdC90NTMwNC1wcnVuZS5zaAorKysgYi90L3Q1MzA0LXBydW5lLnNoCkBAIC0yODMsNCArMjgzLDQxIEBACiAJZ2l0IC1DIEIgcHJ1bmUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJ1bmU6IGhhbmRsZSBpbmRleCBpbiBtdWx0aXBsZSB3b3JrdHJlZXMnICcKKwlnaXQgd29ya3RyZWUgYWRkIHNlY29uZC13b3JrdHJlZSAmJgorCWVjaG8gIm5ldyBibG9iIGZvciBzZWNvbmQtd29ya3RyZWUiID5zZWNvbmQtd29ya3RyZWUvYmxvYiAmJgorCWdpdCAtQyBzZWNvbmQtd29ya3RyZWUgYWRkIGJsb2IgJiYKKwlnaXQgcHJ1bmUgLS1leHBpcmU9bm93ICYmCisJZ2l0IC1DIHNlY29uZC13b3JrdHJlZSBzaG93IDpibG9iID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBzZWNvbmQtd29ya3RyZWUvYmxvYiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJ1bmU6IGhhbmRsZSBIRUFEIGluIG11bHRpcGxlIHdvcmt0cmVlcycgJworCWdpdCB3b3JrdHJlZSBhZGQgLS1kZXRhY2ggdGhpcmQtd29ya3RyZWUgJiYKKwllY2hvICJuZXcgYmxvYiBmb3IgdGhpcmQtd29ya3RyZWUiID50aGlyZC13b3JrdHJlZS9ibG9iICYmCisJZ2l0IC1DIHRoaXJkLXdvcmt0cmVlIGFkZCBibG9iICYmCisJZ2l0IC1DIHRoaXJkLXdvcmt0cmVlIGNvbW1pdCAtbSAidGhpcmQiICYmCisJcm0gLmdpdC93b3JrdHJlZXMvdGhpcmQtd29ya3RyZWUvaW5kZXggJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgdGhpcmQtd29ya3RyZWUgc2hvdyA6YmxvYiAmJgorCWdpdCBwcnVuZSAtLWV4cGlyZT1ub3cgJiYKKwlnaXQgLUMgdGhpcmQtd29ya3RyZWUgc2hvdyBIRUFEOmJsb2IgPmFjdHVhbCAmJgorCXRlc3RfY21wIHRoaXJkLXdvcmt0cmVlL2Jsb2IgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BydW5lOiBoYW5kbGUgSEVBRCByZWZsb2cgaW4gbXVsdGlwbGUgd29ya3RyZWVzJyAnCisJZ2l0IGNvbmZpZyBjb3JlLmxvZ0FsbFJlZlVwZGF0ZXMgdHJ1ZSAmJgorCWVjaG8gImxvc3QgYmxvYiBmb3IgdGhpcmQtd29ya3RyZWUiID5leHBlY3RlZCAmJgorCSgKKwkJY2QgdGhpcmQtd29ya3RyZWUgJiYKKwkJY2F0IC4uL2V4cGVjdGVkID5ibG9iICYmCisJCWdpdCBhZGQgYmxvYiAmJgorCQlnaXQgY29tbWl0IC1tICJzZWNvbmQgY29tbWl0IGluIHRoaXJkIiAmJgorCQlnaXQgcmVzZXQgLS1oYXJkIEhFQUReCisJKSAmJgorCWdpdCBwcnVuZSAtLWV4cGlyZT1ub3cgJiYKKwlTSEExPWBnaXQgaGFzaC1vYmplY3QgZXhwZWN0ZWRgICYmCisJZ2l0IC1DIHRoaXJkLXdvcmt0cmVlIHNob3cgIiRTSEExIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMwOC1wYWNrLWRldGVjdC1kdXBsaWNhdGVzLnNoIGIvdC90NTMwOC1wYWNrLWRldGVjdC1kdXBsaWNhdGVzLnNoCmluZGV4IDljNWE4NzYuLjE1NmFlOWUgMTAwNzU1Ci0tLSBhL3QvdDUzMDgtcGFjay1kZXRlY3QtZHVwbGljYXRlcy5zaAorKysgYi90L3Q1MzA4LXBhY2stZGV0ZWN0LWR1cGxpY2F0ZXMuc2gKQEAgLTU2LDIwICs1NiwxMSBAQAogCUVPRgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdsb29rdXAgaW4gZHVwbGljYXRlZCBwYWNrIChiaW5hcnkgc2VhcmNoKScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9va3VwIGluIGR1cGxpY2F0ZWQgcGFjaycgJwogCWdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrIDxpbnB1dCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdsb29rdXAgaW4gZHVwbGljYXRlZCBwYWNrIChHSVRfVVNFX0xPT0tVUCknICcKLQkoCi0JCUdJVF9VU0VfTE9PS1VQPTEgJiYKLQkJZXhwb3J0IEdJVF9VU0VfTE9PS1VQICYmCi0JCWdpdCBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrIDxpbnB1dCA+YWN0dWFsCi0JKSAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKLScKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXgtcGFjayBjYW4gcmVqZWN0IHBhY2tzIHdpdGggZHVwbGljYXRlcycgJwogCWNsZWFyX3BhY2tzICYmCiAJY3JlYXRlX3BhY2sgZHVwcy5wYWNrIDIgJiYKZGlmZiAtLWdpdCBhL3QvdDUzMTAtcGFjay1iaXRtYXBzLnNoIGIvdC90NTMxMC1wYWNrLWJpdG1hcHMuc2gKaW5kZXggNDI0YmVjNy4uMjBlMjQ3MyAxMDA3NTUKLS0tIGEvdC90NTMxMC1wYWNrLWJpdG1hcHMuc2gKKysrIGIvdC90NTMxMC1wYWNrLWJpdG1hcHMuc2gKQEAgLTIwLDExICsyMCwxMyBAQAogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXBvIHdpdGggbW9kZXJhdGUtc2l6ZWQgaGlzdG9yeScgJwotCWZvciBpIGluICQodGVzdF9zZXEgMSAxMCk7IGRvCisJZm9yIGkgaW4gJCh0ZXN0X3NlcSAxIDEwKQorCWRvCiAJCXRlc3RfY29tbWl0ICRpCiAJZG9uZSAmJgogCWdpdCBjaGVja291dCAtYiBvdGhlciBIRUFEfjUgJiYKLQlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTApOyBkbworCWZvciBpIGluICQodGVzdF9zZXEgMSAxMCkKKwlkbwogCQl0ZXN0X2NvbW1pdCBzaWRlLSRpCiAJZG9uZSAmJgogCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKQEAgLTEwNCw3ICsxMDYsOCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBmdXJ0aGVyIG5vbi1iaXRtYXBwZWQgY29tbWl0cycgJwotCWZvciBpIGluICQodGVzdF9zZXEgMSAxMCk7IGRvCisJZm9yIGkgaW4gJCh0ZXN0X3NlcSAxIDEwKQorCWRvCiAJCXRlc3RfY29tbWl0IGZ1cnRoZXItJGkKIAlkb25lCiAnCkBAIC0yODksNCArMjkyLDQzIEBACiAJZ2l0IC1DIG5vLWJpdG1hcHMuZ2l0IGZldGNoIC4uIEhFQUQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIHJldXNhYmxlIHBhY2snICcKKwlybSAtZiAuZ2l0L29iamVjdHMvcGFjay8qLmtlZXAgJiYKKwlnaXQgcmVwYWNrIC1hZGIgJiYKKwlyZXVzYWJsZV9wYWNrICgpIHsKKwkJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShvYmplY3RuYW1lKSIgfAorCQlnaXQgcGFjay1vYmplY3RzIC0tZGVsdGEtYmFzZS1vZmZzZXQgLS1yZXZzIC0tc3Rkb3V0ICIkQCIKKwl9CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhY2sgcmV1c2UgcmVzcGVjdHMgLS1ob25vci1wYWNrLWtlZXAnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvb2JqZWN0cy9wYWNrLyoua2VlcCIgJiYKKwlmb3IgaSBpbiAuZ2l0L29iamVjdHMvcGFjay8qLnBhY2sKKwlkbworCQk+JHtpJS5wYWNrfS5rZWVwCisJZG9uZSAmJgorCXJldXNhYmxlX3BhY2sgLS1ob25vci1wYWNrLWtlZXAgPmVtcHR5LnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayBlbXB0eS5wYWNrICYmCisJPmV4cGVjdCAmJgorCWdpdCBzaG93LWluZGV4IDxlbXB0eS5pZHggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjayByZXVzZSByZXNwZWN0cyAtLWxvY2FsJyAnCisJbXYgLmdpdC9vYmplY3RzL3BhY2svKiBhbHQuZ2l0L29iamVjdHMvcGFjay8gJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgIm12IGFsdC5naXQvb2JqZWN0cy9wYWNrLyogLmdpdC9vYmplY3RzL3BhY2svIiAmJgorCXJldXNhYmxlX3BhY2sgLS1sb2NhbCA+ZW1wdHkucGFjayAmJgorCWdpdCBpbmRleC1wYWNrIGVtcHR5LnBhY2sgJiYKKwk+ZXhwZWN0ICYmCisJZ2l0IHNob3ctaW5kZXggPGVtcHR5LmlkeCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYWNrIHJldXNlIHJlc3BlY3RzIC0taW5jcmVtZW50YWwnICcKKwlyZXVzYWJsZV9wYWNrIC0taW5jcmVtZW50YWwgPmVtcHR5LnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayBlbXB0eS5wYWNrICYmCisJPmV4cGVjdCAmJgorCWdpdCBzaG93LWluZGV4IDxlbXB0eS5pZHggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMxMy1wYWNrLWJvdW5kcy1jaGVja3Muc2ggYi90L3Q1MzEzLXBhY2stYm91bmRzLWNoZWNrcy5zaAppbmRleCBhOGE1ODdhLi45MzcyNTA4IDEwMDc1NQotLS0gYS90L3Q1MzEzLXBhY2stYm91bmRzLWNoZWNrcy5zaAorKysgYi90L3Q1MzEzLXBhY2stYm91bmRzLWNoZWNrcy5zaApAQCAtMTM5LDcgKzEzOSwxMyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYm9ndXMgb2Zmc2V0IGluc2lkZSB2MiBleHRlbmRlZCB0YWJsZScgJwogCSMgV2UgbmVlZCB0d28gb2JqZWN0cyBoZXJlLCBzbyB3ZSBjYW4gcGxhdXNpYmx5IHJlcXVpcmUKIAkjIGFuIGV4dGVuZGVkIHRhYmxlIChpZiB0aGUgZmlyc3Qgb2JqZWN0IHdlcmUgbGFyZ2VyIHRoYW4gMl4zMSkuCi0JZG9fcGFjayAiJG9iamVjdCAkKGdpdCByZXYtcGFyc2UgSEVBRCkiIC0taW5kZXgtdmVyc2lvbj0yICYmCisJIworCSMgTm90ZSB0aGF0IHRoZSB2YWx1ZSBpcyBpbXBvcnRhbnQgaGVyZS4gV2Ugd2FudCAkb2JqZWN0IGFzCisJIyB0aGUgc2Vjb25kIGVudHJ5IGluIHNvcnRlZC1zaGExIG9yZGVyLiBUaGUgc2hhMSBvZiAxNDg1IHN0YXJ0cworCSMgd2l0aCAiMDAwIiwgd2hpY2ggc29ydHMgYmVmb3JlIHRoYXQgb2YgJG9iamVjdCAod2hpY2ggc3RhcnRzCisJIyB3aXRoICJmZmYiKS4KKwlzZWNvbmQ9JChlY2hvIDE0ODUgfCBnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbikgJiYKKwlkb19wYWNrICIkb2JqZWN0ICRzZWNvbmQiIC0taW5kZXgtdmVyc2lvbj0yICYmCiAKIAkjIFdlIGhhdmUgdG8gbWFrZSBleHRyYSByb29tIGZvciB0aGUgdGFibGUsIHNvIHdlIGNhbm5vdAogCSMganVzdCBtdW5nZSBpbiBwbGFjZSBhcyB1c3VhbC4KZGlmZiAtLWdpdCBhL3QvdDUzMTYtcGFjay1kZWx0YS1kZXB0aC5zaCBiL3QvdDUzMTYtcGFjay1kZWx0YS1kZXB0aC5zaAppbmRleCAzNzE0M2VhLi4yZWQ0NzliIDEwMDc1NQotLS0gYS90L3Q1MzE2LXBhY2stZGVsdGEtZGVwdGguc2gKKysrIGIvdC90NTMxNi1wYWNrLWRlbHRhLWRlcHRoLnNoCkBAIC04MiwxMiArODIsMTYgQEAKIAkjIFVzZSAtLXdpbmRvdz0wIHRvIG1ha2Ugc3VyZSB3ZSBhcmUgc2VlaW5nIHJldXNlZCBkZWx0YXMsCiAJIyBub3QgY29tcHV0aW5nIGEgbmV3IGxvbmcgY2hhaW4uCiAJcGFjaz0kKGdpdCBwYWNrLW9iamVjdHMgLS1hbGwgLS13aW5kb3c9MCA8L2Rldi9udWxsIHBhY2spICYmCi0JdGVzdCA5ID0gIiQobWF4X2NoYWluIHBhY2stJHBhY2sucGFjaykiCisJZWNobyA5ID5leHBlY3QgJiYKKwltYXhfY2hhaW4gcGFjay0kcGFjay5wYWNrID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWRlcHRoIGxpbWl0cyBkZXB0aCcgJwogCXBhY2s9JChnaXQgcGFjay1vYmplY3RzIC0tYWxsIC0tZGVwdGg9NSA8L2Rldi9udWxsIHBhY2spICYmCi0JdGVzdCA1ID0gIiQobWF4X2NoYWluIHBhY2stJHBhY2sucGFjaykiCisJZWNobyA1ID5leHBlY3QgJiYKKwltYXhfY2hhaW4gcGFjay0kcGFjay5wYWNrID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU0MDAtc2VuZC1wYWNrLnNoIGIvdC90NTQwMC1zZW5kLXBhY2suc2gKaW5kZXggMzA1Y2E3YS4uZDM3NWQ3MSAxMDA3NTUKLS0tIGEvdC90NTQwMC1zZW5kLXBhY2suc2gKKysrIGIvdC90NTQwMC1zZW5kLXBhY2suc2gKQEAgLTI1NSw0ICsyNTUsNDUgQEAKIAkpCiAnCiAKK2V4dHJhY3RfcmVmX2FkdmVydGlzZW1lbnQgKCkgeworCXBlcmwgLWxuZSAnCisJCSMgXFwgaXMgdGhlcmUgdG8gc2tpcCBjYXBhYmlsaXRpZXMgYWZ0ZXIgXDAKKwkJL3B1c2g8IChbXlxcXSspLyBvciBuZXh0OworCQlleGl0IDAgaWYgJDEgZXEgIjAwMDAiOworCQlwcmludCAkMTsKKwknCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlY2VpdmUtcGFjayBkZS1kdXBlcyAuaGF2ZSBsaW5lcycgJworCWdpdCBpbml0IHNoYXJlZCAmJgorCWdpdCAtQyBzaGFyZWQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gYm90aCAmJgorCWdpdCBjbG9uZSAtcyBzaGFyZWQgZm9yayAmJgorCSgKKwkJY2Qgc2hhcmVkICYmCisJCWdpdCBjaGVja291dCAtYiBvbmx5LXNoYXJlZCAmJgorCQlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gb25seS1zaGFyZWQgJiYKKwkJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9mb28gSEVBRAorCSkgJiYKKworCSMgTm90YWJsZSB0aGluZ3MgaW4gdGhpcyBleHBlY3RhdGlvbjoKKwkjICAtIGxvY2FsIHJlZnMgYXJlIG5vdCBkZS1kdXBlZAorCSMgIC0gLmhhdmUgZG9lcyBub3QgZHVwbGljYXRlIGxvY2FscworCSMgIC0gLmhhdmUgZG9lcyBub3QgZHVwbGljYXRlIGl0c2VsZgorCWxvY2FsPSQoZ2l0IC1DIGZvcmsgcmV2LXBhcnNlIEhFQUQpICYmCisJc2hhcmVkPSQoZ2l0IC1DIHNoYXJlZCByZXYtcGFyc2Ugb25seS1zaGFyZWQpICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJGxvY2FsIHJlZnMvaGVhZHMvbWFzdGVyCisJJGxvY2FsIHJlZnMvcmVtb3Rlcy9vcmlnaW4vSEVBRAorCSRsb2NhbCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlcgorCSRzaGFyZWQgLmhhdmUKKwlFT0YKKworCUdJVF9UUkFDRV9QQUNLRVQ9JChwd2QpL3RyYWNlIFwKKwkgICAgZ2l0IHB1c2ggXAorCQktLXJlY2VpdmUtcGFjaz0idW5zZXQgR0lUX1RSQUNFX1BBQ0tFVDsgZ2l0LXJlY2VpdmUtcGFjayIgXAorCQlmb3JrIEhFQUQ6Zm9vICYmCisJZXh0cmFjdF9yZWZfYWR2ZXJ0aXNlbWVudCA8dHJhY2UgPnJlZnMgJiYKKwl0ZXN0X2NtcCBleHBlY3QgcmVmcworJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MDAtZmV0Y2gtcGFjay5zaCBiL3QvdDU1MDAtZmV0Y2gtcGFjay5zaAppbmRleCBiNTg2NWIzLi44MGExYTMyIDEwMDc1NQotLS0gYS90L3Q1NTAwLWZldGNoLXBhY2suc2gKKysrIGIvdC90NTUwMC1mZXRjaC1wYWNrLnNoCkBAIC01NDcsNiArNTQ3LDQxIEBACiAJZ2l0IGZldGNoLXBhY2sgaGlkZGVuICQoZ2l0IC1DIGhpZGRlbiByZXYtcGFyc2UgcmVmcy9oaWRkZW4vb25lKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaC1wYWNrIGNhbiBmZXRjaCBhIHJhdyBzaGExIHRoYXQgaXMgYWR2ZXJ0aXNlZCBhcyBhIHJlZicgJworCXJtIC1yZiBzZXJ2ZXIgY2xpZW50ICYmCisJZ2l0IGluaXQgc2VydmVyICYmCisJdGVzdF9jb21taXQgLUMgc2VydmVyIDEgJiYKKworCWdpdCBpbml0IGNsaWVudCAmJgorCWdpdCAtQyBjbGllbnQgZmV0Y2gtcGFjayAuLi9zZXJ2ZXIgXAorCQkkKGdpdCAtQyBzZXJ2ZXIgcmV2LXBhcnNlIHJlZnMvaGVhZHMvbWFzdGVyKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaC1wYWNrIGNhbiBmZXRjaCBhIHJhdyBzaGExIG92ZXJsYXBwaW5nIGEgbmFtZWQgcmVmJyAnCisJcm0gLXJmIHNlcnZlciBjbGllbnQgJiYKKwlnaXQgaW5pdCBzZXJ2ZXIgJiYKKwl0ZXN0X2NvbW1pdCAtQyBzZXJ2ZXIgMSAmJgorCXRlc3RfY29tbWl0IC1DIHNlcnZlciAyICYmCisKKwlnaXQgaW5pdCBjbGllbnQgJiYKKwlnaXQgLUMgY2xpZW50IGZldGNoLXBhY2sgLi4vc2VydmVyIFwKKwkJJChnaXQgLUMgc2VydmVyIHJldi1wYXJzZSByZWZzL3RhZ3MvMSkgcmVmcy90YWdzLzEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2gtcGFjayBjYW5ub3QgZmV0Y2ggYSByYXcgc2hhMSB0aGF0IGlzIG5vdCBhZHZlcnRpc2VkIGFzIGEgcmVmJyAnCisJcm0gLXJmIHNlcnZlciAmJgorCisJZ2l0IGluaXQgc2VydmVyICYmCisJdGVzdF9jb21taXQgLUMgc2VydmVyIDUgJiYKKwlnaXQgLUMgc2VydmVyIHRhZyAtZCA1ICYmCisJdGVzdF9jb21taXQgLUMgc2VydmVyIDYgJiYKKworCWdpdCBpbml0IGNsaWVudCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBjbGllbnQgZmV0Y2gtcGFjayAuLi9zZXJ2ZXIgXAorCQkkKGdpdCAtQyBzZXJ2ZXIgcmV2LXBhcnNlIHJlZnMvaGVhZHMvbWFzdGVyXikgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCIgZXJyCisnCisKIGNoZWNrX3Byb3RfcGF0aCAoKSB7CiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKIAlEaWFnOiB1cmw9JDEKZGlmZiAtLWdpdCBhL3QvdDU1MDUtcmVtb3RlLnNoIGIvdC90NTUwNS1yZW1vdGUuc2gKaW5kZXggM2VhMjcxMC4uYTZjMDE3OCAxMDA3NTUKLS0tIGEvdC90NTUwNS1yZW1vdGUuc2gKKysrIGIvdC90NTUwNS1yZW1vdGUuc2gKQEAgLTc0NCw3ICs3NDQsNyBAQAogCSgKIAkJY2QgZm91ciAmJgogCQlnaXQgcmVtb3RlIHJlbmFtZSBvcmlnaW4gdXBzdHJlYW0gJiYKLQkJcm1kaXIgLmdpdC9yZWZzL3JlbW90ZXMvb3JpZ2luICYmCisJCXRlc3QgLXogIiQoZ2l0IGZvci1lYWNoLXJlZiByZWZzL3JlbW90ZXMvb3JpZ2luKSIgJiYKIAkJdGVzdCAiJChnaXQgc3ltYm9saWMtcmVmIHJlZnMvcmVtb3Rlcy91cHN0cmVhbS9IRUFEKSIgPSAicmVmcy9yZW1vdGVzL3Vwc3RyZWFtL21hc3RlciIgJiYKIAkJdGVzdCAiJChnaXQgcmV2LXBhcnNlIHVwc3RyZWFtL21hc3RlcikiID0gIiQoZ2l0IHJldi1wYXJzZSBtYXN0ZXIpIiAmJgogCQl0ZXN0ICIkKGdpdCBjb25maWcgcmVtb3RlLnVwc3RyZWFtLmZldGNoKSIgPSAiK3JlZnMvaGVhZHMvKjpyZWZzL3JlbW90ZXMvdXBzdHJlYW0vKiIgJiYKZGlmZiAtLWdpdCBhL3QvdDU1MTItbHMtcmVtb3RlLnNoIGIvdC90NTUxMi1scy1yZW1vdGUuc2gKaW5kZXggOTRmYzliZS4uMDIxMDZjOSAxMDA3NTUKLS0tIGEvdC90NTUxMi1scy1yZW1vdGUuc2gKKysrIGIvdC90NTUxMi1scy1yZW1vdGUuc2gKQEAgLTg1LDggKzg1LDE1IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmZ1c2VzIHBhdHRlcm4gYXMgcmVtb3RlIHdoZW4gbm8gcmVtb3RlIHNwZWNpZmllZCcgJwotCWNhdCA+ZXhwIDw8LVxFT0YgJiYKLQlmYXRhbDogJ1wnJ3JlZnMqbWFzdGVyJ1wnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSBnaXQgcmVwb3NpdG9yeQorCWlmIHRlc3RfaGF2ZV9wcmVyZXEgTUlOR1cKKwl0aGVuCisJCSMgV2luZG93cyBkb2VzIG5vdCBsaWtlIGFzdGVyaXNrcyBpbiBwYXRobmFtZQorCQlkb2VzX25vdF9leGlzdD1tYXN0ZXIKKwllbHNlCisJCWRvZXNfbm90X2V4aXN0PSJyZWZzKm1hc3RlciIKKwlmaSAmJgorCWNhdCA+ZXhwIDw8LUVPRiAmJgorCWZhdGFsOiAnXCcnJGRvZXNfbm90X2V4aXN0J1wnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSBnaXQgcmVwb3NpdG9yeQogCWZhdGFsOiBDb3VsZCBub3QgcmVhZCBmcm9tIHJlbW90ZSByZXBvc2l0b3J5LgogCiAJUGxlYXNlIG1ha2Ugc3VyZSB5b3UgaGF2ZSB0aGUgY29ycmVjdCBhY2Nlc3MgcmlnaHRzCkBAIC05OCw3ICsxMDUsNyBAQAogCSMgZmV0Y2ggPGJyYW5jaD4uCiAJIyBXZSBjb3VsZCBqdXN0IGFzIGVhc2lseSBoYXZlIHVzZWQgIm1hc3RlciI7IHRoZSAiKiIgZW1waGFzaXplcyBpdHMKIAkjIHJvbGUgYXMgYSBwYXR0ZXJuLgotCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1yZW1vdGUgcmVmcyptYXN0ZXIgPmFjdHVhbCAyPiYxICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxzLXJlbW90ZSAiJGRvZXNfbm90X2V4aXN0IiA+YWN0dWFsIDI+JjEgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwIGFjdHVhbAogJwogCmRpZmYgLS1naXQgYS90L3Q1NTIwLXB1bGwuc2ggYi90L3Q1NTIwLXB1bGwuc2gKaW5kZXggMTdmNGQwZi4uNTljNGI3NyAxMDA3NTUKLS0tIGEvdC90NTUyMC1wdWxsLnNoCisrKyBiL3QvdDU1MjAtcHVsbC5zaApAQCAtMjcyLDYgKzI3MiwyNCBAQAogCXRlc3RfY21wIHJlZmxvZy5leHBlY3RlZCByZWZsb2cuZnV6enkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2UgLS1hdXRvc3Rhc2ggZmFzdCBmb3J3YXJkJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICIKKwkJZ2l0IHJlc2V0IC0taGFyZAorCQlnaXQgY2hlY2tvdXQgdG8tcmViYXNlCisJCWdpdCBicmFuY2ggLUQgdG8tcmViYXNlLWZmCisJCWdpdCBicmFuY2ggLUQgYmVoaW5kIiAmJgorCWdpdCBicmFuY2ggYmVoaW5kICYmCisJZ2l0IGNoZWNrb3V0IC1iIHRvLXJlYmFzZS1mZiAmJgorCWVjaG8gYW5vdGhlciBtb2RpZmljYXRpb24gPj5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJZ2l0IGNvbW1pdCAtbSBtb2QgJiYKKworCWdpdCBjaGVja291dCBiZWhpbmQgJiYKKwllY2hvIGRpcnR5ID5maWxlICYmCisJZ2l0IHB1bGwgLS1yZWJhc2UgLS1hdXRvc3Rhc2ggLiB0by1yZWJhc2UtZmYgJiYKKwl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRCkiID0gIiQoZ2l0IHJldi1wYXJzZSB0by1yZWJhc2UtZmYpIgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZSB3aXRoIGNvbmZsaWN0cyBzaG93cyBhZHZpY2UnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydDsgZ2l0IGNoZWNrb3V0IC1mIHRvLXJlYmFzZSIgJiYKIAlnaXQgY2hlY2tvdXQgLWIgc2VxICYmCkBAIC0yODcsNyArMzA1LDcgQEAKIAl0ZXN0X3RpY2sgJiYKIAlnaXQgY29tbWl0IC1tICJDcmVhdGUgY29uZmxpY3QiIHNlcS50eHQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLXJlYmFzZSAuIHNlcSAyPmVyciA+b3V0ICYmCi0JdGVzdF9pMThuZ3JlcCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0iIG91dAorCXRlc3RfaTE4bmdyZXAgIlJlc29sdmUgYWxsIGNvbmZsaWN0cyBtYW51YWxseSIgb3V0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWxlZCAtLXJlYmFzZSBzaG93cyBhZHZpY2UnICcKQEAgLTMwMSw3ICszMTksNyBAQAogCWdpdCBjaGVja291dCAtZiAtYiBmYWlscy10by1yZWJhc2UgSEVBRF4gJiYKIAl0ZXN0X2NvbW1pdCB2Mi13aXRob3V0LWNyIGZpbGUgIjIiIGZpbGUyLWxmICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgLS1yZWJhc2UgLiBkaXZlcmdpbmcgMj5lcnIgPm91dCAmJgotCXRlc3RfaTE4bmdyZXAgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtIiBvdXQKKwl0ZXN0X2kxOG5ncmVwICJSZXNvbHZlIGFsbCBjb25mbGljdHMgbWFudWFsbHkiIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZSBmYWlscyB3aXRoIG11bHRpcGxlIGJyYW5jaGVzJyAnCmRpZmYgLS1naXQgYS90L3Q1NTI2LWZldGNoLXN1Ym1vZHVsZXMuc2ggYi90L3Q1NTI2LWZldGNoLXN1Ym1vZHVsZXMuc2gKaW5kZXggZjNiMGE4ZC4uNDIyNTFmNyAxMDA3NTUKLS0tIGEvdC90NTUyNi1mZXRjaC1zdWJtb2R1bGVzLnNoCisrKyBiL3QvdDU1MjYtZmV0Y2gtc3VibW9kdWxlcy5zaApAQCAtNzEsNiArNzEsMTYgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0LmVyciBhY3R1YWwuZXJyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgInN1Ym1vZHVsZS5yZWN1cnNlIG9wdGlvbiB0cmlnZ2VycyByZWN1cnNpdmUgZmV0Y2giICcKKwlhZGRfdXBzdHJlYW1fY29tbWl0ICYmCisJKAorCQljZCBkb3duc3RyZWFtICYmCisJCWdpdCAtYyBzdWJtb2R1bGUucmVjdXJzZSBmZXRjaCA+Li4vYWN0dWFsLm91dCAyPi4uL2FjdHVhbC5lcnIKKwkpICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbC5vdXQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0LmVyciBhY3R1YWwuZXJyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZldGNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC1qMiBoYXMgdGhlIHNhbWUgb3V0cHV0IGJlaGF2aW91ciIgJwogCWFkZF91cHN0cmVhbV9jb21taXQgJiYKIAkoCkBAIC0xODMsNyArMTkzLDcgQEAKIAlhZGRfdXBzdHJlYW1fY29tbWl0ICYmCiAJKAogCQljZCBkb3duc3RyZWFtICYmCi0JCWdpdCBjb25maWcgZmV0Y2gucmVjdXJzZVN1Ym1vZHVsZXMgdHJ1ZQorCQlnaXQgY29uZmlnIGZldGNoLnJlY3Vyc2VTdWJtb2R1bGVzIHRydWUgJiYKIAkJZ2l0IGZldGNoID4uLi9hY3R1YWwub3V0IDI+Li4vYWN0dWFsLmVycgogCSkgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLm91dCAmJgpAQCAtMjA4LDcgKzIxOCw3IEBACiAJYWRkX3Vwc3RyZWFtX2NvbW1pdCAmJgogCSgKIAkJY2QgZG93bnN0cmVhbSAmJgotCQlnaXQgY29uZmlnIGZldGNoLnJlY3Vyc2VTdWJtb2R1bGVzIHRydWUKKwkJZ2l0IGNvbmZpZyBmZXRjaC5yZWN1cnNlU3VibW9kdWxlcyB0cnVlICYmCiAJCWdpdCBmZXRjaCAtLW5vLXJlY3Vyc2Utc3VibW9kdWxlcyA+Li4vYWN0dWFsLm91dCAyPi4uL2FjdHVhbC5lcnIKIAkpICYmCiAJISB0ZXN0IC1zIGFjdHVhbC5vdXQgJiYKQEAgLTIyMiw3ICsyMzIsNyBAQAogCQkJY2Qgc3VibW9kdWxlICYmCiAJCQlnaXQgY29uZmlnIC0tdW5zZXQgZmV0Y2gucmVjdXJzZVN1Ym1vZHVsZXMKIAkJKSAmJgotCQlnaXQgY29uZmlnIC0tdW5zZXQgZmV0Y2gucmVjdXJzZVN1Ym1vZHVsZXMKKwkJZ2l0IGNvbmZpZyAtLXVuc2V0IGZldGNoLnJlY3Vyc2VTdWJtb2R1bGVzICYmCiAJCWdpdCBmZXRjaCA+Li4vYWN0dWFsLm91dCAyPi4uL2FjdHVhbC5lcnIKIAkpICYmCiAJISB0ZXN0IC1zIGFjdHVhbC5vdXQgJiYKQEAgLTMwMiw3ICszMTIsNyBAQAogCQkpICYmCiAJCWhlYWQxPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUReKSAmJgogCQlnaXQgYWRkIHN1YmRpci9kZWVwc3VibW9kdWxlICYmCi0JCWdpdCBjb21taXQgLW0gIm5ldyBkZWVwc3VibW9kdWxlIgorCQlnaXQgY29tbWl0IC1tICJuZXcgZGVlcHN1Ym1vZHVsZSIgJiYKIAkJaGVhZDI9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgJiYKIAkJZWNobyAiRmV0Y2hpbmcgc3VibW9kdWxlIHN1Ym1vZHVsZSIgPiAuLi9leHBlY3QuZXJyLnN1YiAmJgogCQllY2hvICJGcm9tICRwd2Qvc3VibW9kdWxlIiA+PiAuLi9leHBlY3QuZXJyLnN1YiAmJgpkaWZmIC0tZ2l0IGEvdC90NTUzMS1kZWVwLXN1Ym1vZHVsZS1wdXNoLnNoIGIvdC90NTUzMS1kZWVwLXN1Ym1vZHVsZS1wdXNoLnNoCmluZGV4IGY1NTEzN2YuLjM5Y2IyYzEgMTAwNzU1Ci0tLSBhL3QvdDU1MzEtZGVlcC1zdWJtb2R1bGUtcHVzaC5zaAorKysgYi90L3Q1NTMxLWRlZXAtc3VibW9kdWxlLXB1c2guc2gKQEAgLTEsNiArMSw2IEBACiAjIS9iaW4vc2gKIAotdGVzdF9kZXNjcmlwdGlvbj0ndW5wYWNrLW9iamVjdHMnCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IHB1c2ggd2l0aCBzdWJtb2R1bGVzJwogCiAuIC4vdGVzdC1saWIuc2gKIApAQCAtMjcsNyArMjcsNyBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBwdXNoICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggd29ya3Mgd2l0aCByZWNvcmRlZCBnaXRsaW5rJyAnCiAJKAogCQljZCB3b3JrICYmCiAJCWdpdCBwdXNoIC4uL3B1Yi5naXQgbWFzdGVyCkBAIC0xMjYsNiArMTI2LDI3IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHN1Y2NlZWRzIGlmIHN1Ym1vZHVsZSBjb21taXQgbm90IG9uIHJlbW90ZSBidXQgdXNpbmcgYXV0by1vbi1kZW1hbmQgdmlhIHN1Ym1vZHVsZS5yZWN1cnNlIGNvbmZpZycgJworCSgKKwkJY2Qgd29yay9nYXIvYmFnZSAmJgorCQk+cmVjdXJzZS1vbi1kZW1hbmQtZnJvbS1zdWJtb2R1bGUtcmVjdXJzZS1jb25maWcgJiYKKwkJZ2l0IGFkZCByZWN1cnNlLW9uLWRlbWFuZC1mcm9tLXN1Ym1vZHVsZS1yZWN1cnNlLWNvbmZpZyAmJgorCQlnaXQgY29tbWl0IC1tICJSZWN1cnNlIHN1Ym1vZHVsZS5yZWN1cnNlIGZyb20gY29uZmlnIGp1bmsiCisJKSAmJgorCSgKKwkJY2Qgd29yayAmJgorCQlnaXQgYWRkIGdhci9iYWdlICYmCisJCWdpdCBjb21taXQgLW0gIlJlY3Vyc2Ugc3VibW9kdWxlLnJlY3Vyc2UgZnJvbSBjb25maWcgZm9yIGdhci9iYWdlIiAmJgorCQlnaXQgLWMgc3VibW9kdWxlLnJlY3Vyc2UgcHVzaCAuLi9wdWIuZ2l0IG1hc3RlciAmJgorCQkjIENoZWNrIHRoYXQgdGhlIHN1cGVybW9kdWxlIGNvbW1pdCBnb3QgdGhlcmUKKwkJZ2l0IGZldGNoIC4uL3B1Yi5naXQgJiYKKwkJZ2l0IGRpZmYgLS1xdWlldCBGRVRDSF9IRUFEIG1hc3RlciAmJgorCQkjIENoZWNrIHRoYXQgdGhlIHN1Ym1vZHVsZSBjb21taXQgZ290IHRoZXJlIHRvbworCQljZCBnYXIvYmFnZSAmJgorCQlnaXQgZGlmZiAtLXF1aWV0IG9yaWdpbi9tYXN0ZXIgbWFzdGVyCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIHJlY3Vyc2Utc3VibW9kdWxlcyBvbiBjb21tYW5kIGxpbmUgb3ZlcnJpZGVzIGNvbmZpZycgJwogCSgKIAkJY2Qgd29yay9nYXIvYmFnZSAmJgpAQCAtMjc3LDYgKzI5OCwxNiBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGVudHJ5IHBvaW50aW5nIGF0IGEgdGFnIGlzIGVycm9yJyAnCisJZ2l0IC1DIHdvcmsvZ2FyL2JhZ2UgdGFnIC1hIHRlc3QxIC1tICJ0YWciICYmCisJdGFnPSQoZ2l0IC1DIHdvcmsvZ2FyL2JhZ2UgcmV2LXBhcnNlIHRlc3QxXnt0YWd9KSAmJgorCWdpdCAtQyB3b3JrIHVwZGF0ZS1pbmRleCAtLWNhY2hlaW5mbyAxNjAwMDAgIiR0YWciIGdhci9iYWdlICYmCisJZ2l0IC1DIHdvcmsgY29tbWl0IC1tICJiYWQgY29tbWl0IiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIHdvcmsgcmVzZXQgLS1oYXJkIEhFQUReIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyB3b3JrIHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kIC4uL3B1Yi5naXQgbWFzdGVyIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiaXMgYSB0YWcsIG5vdCBhIGNvbW1pdCIgZXJyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggZmFpbHMgaWYgcmVjdXJzZSBzdWJtb2R1bGVzIG9wdGlvbiBwYXNzZWQgYXMgeWVzJyAnCiAJKAogCQljZCB3b3JrL2dhci9iYWdlICYmCkBAIC00NzUsNCArNTA2LDc5IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWRfcHViIGFjdHVhbF9wdWIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCBwcm9wYWdhdGluZyB0aGUgcmVtb3RlcyBuYW1lIHRvIGEgc3VibW9kdWxlJyAnCisJZ2l0IC1DIHdvcmsgcmVtb3RlIGFkZCBvcmlnaW4gLi4vcHViLmdpdCAmJgorCWdpdCAtQyB3b3JrIHJlbW90ZSBhZGQgcHViIC4uL3B1Yi5naXQgJiYKKworCT4gd29yay9nYXIvYmFnZS9qdW5rMTAgJiYKKwlnaXQgLUMgd29yay9nYXIvYmFnZSBhZGQganVuazEwICYmCisJZ2l0IC1DIHdvcmsvZ2FyL2JhZ2UgY29tbWl0IC1tICJUZW50aCBqdW5rIiAmJgorCWdpdCAtQyB3b3JrIGFkZCBnYXIvYmFnZSAmJgorCWdpdCAtQyB3b3JrIGNvbW1pdCAtbSAiVGVudGgganVuayBhZGRlZCB0byBnYXIvYmFnZSIgJiYKKworCSMgRmFpbHMgd2hlbiBzdWJtb2R1bGUgZG9lcyBub3QgaGF2ZSBhIG1hdGNoaW5nIHJlbW90ZQorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyB3b3JrIHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kIHB1YiBtYXN0ZXIgJiYKKwkjIFN1Y2NlZWRzIHdoZW4gc3VibW9kdWxlcyBoYXMgbWF0Y2hpbmcgcmVtb3RlIGFuZCByZWZzcGVjCisJZ2l0IC1DIHdvcmsgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmQgb3JpZ2luIG1hc3RlciAmJgorCisJZ2l0IC1DIHN1Ym1vZHVsZS5naXQgcmV2LXBhcnNlIG1hc3RlciA+YWN0dWFsX3N1Ym1vZHVsZSAmJgorCWdpdCAtQyBwdWIuZ2l0IHJldi1wYXJzZSBtYXN0ZXIgPmFjdHVhbF9wdWIgJiYKKwlnaXQgLUMgd29yay9nYXIvYmFnZSByZXYtcGFyc2UgbWFzdGVyID5leHBlY3RlZF9zdWJtb2R1bGUgJiYKKwlnaXQgLUMgd29yayByZXYtcGFyc2UgbWFzdGVyID5leHBlY3RlZF9wdWIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZF9zdWJtb2R1bGUgYWN0dWFsX3N1Ym1vZHVsZSAmJgorCXRlc3RfY21wIGV4cGVjdGVkX3B1YiBhY3R1YWxfcHViCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggcHJvcGFnYXRpbmcgcmVmc3BlYyB0byBhIHN1Ym1vZHVsZScgJworCT4gd29yay9nYXIvYmFnZS9qdW5rMTEgJiYKKwlnaXQgLUMgd29yay9nYXIvYmFnZSBhZGQganVuazExICYmCisJZ2l0IC1DIHdvcmsvZ2FyL2JhZ2UgY29tbWl0IC1tICJFbGV2ZW50aCBqdW5rIiAmJgorCisJZ2l0IC1DIHdvcmsgY2hlY2tvdXQgYnJhbmNoMiAmJgorCWdpdCAtQyB3b3JrIGFkZCBnYXIvYmFnZSAmJgorCWdpdCAtQyB3b3JrIGNvbW1pdCAtbSAidXBkYXRpbmcgZ2FyL2JhZ2UgaW4gYnJhbmNoMiIgJiYKKworCSMgRmFpbHMgd2hlbiBzdWJtb2R1bGUgZG9lcyBub3QgaGF2ZSBhIG1hdGNoaW5nIGJyYW5jaAorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyB3b3JrIHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kIG9yaWdpbiBicmFuY2gyICYmCisJIyBGYWlscyB3aGVuIHJlZnNwZWMgaW5jbHVkZXMgYW4gb2JqZWN0IGlkCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHdvcmsgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmQgb3JpZ2luIFwKKwkJIiQoZ2l0IC1DIHdvcmsgcmV2LXBhcnNlIGJyYW5jaDIpOnJlZnMvaGVhZHMvYnJhbmNoMiIgJiYKKwkjIEZhaWxzIHdoZW4gcmVmc3BlYyBpbmNsdWRlcyBIRUFEIGFuZCBwYXJlbnQgYW5kIHN1Ym1vZHVsZSBkbyBub3QKKwkjIGhhdmUgdGhlIHNhbWUgbmFtZWQgYnJhbmNoIGNoZWNrZWQgb3V0CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHdvcmsgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmQgb3JpZ2luIFwKKwkJSEVBRDpyZWZzL2hlYWRzL2JyYW5jaDIgJiYKKworCWdpdCAtQyB3b3JrL2dhci9iYWdlIGJyYW5jaCBicmFuY2gyIG1hc3RlciAmJgorCWdpdCAtQyB3b3JrIHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kIG9yaWdpbiBicmFuY2gyICYmCisKKwlnaXQgLUMgc3VibW9kdWxlLmdpdCByZXYtcGFyc2UgYnJhbmNoMiA+YWN0dWFsX3N1Ym1vZHVsZSAmJgorCWdpdCAtQyBwdWIuZ2l0IHJldi1wYXJzZSBicmFuY2gyID5hY3R1YWxfcHViICYmCisJZ2l0IC1DIHdvcmsvZ2FyL2JhZ2UgcmV2LXBhcnNlIGJyYW5jaDIgPmV4cGVjdGVkX3N1Ym1vZHVsZSAmJgorCWdpdCAtQyB3b3JrIHJldi1wYXJzZSBicmFuY2gyID5leHBlY3RlZF9wdWIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZF9zdWJtb2R1bGUgYWN0dWFsX3N1Ym1vZHVsZSAmJgorCXRlc3RfY21wIGV4cGVjdGVkX3B1YiBhY3R1YWxfcHViCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggcHJvcGFnYXRpbmcgSEVBRCByZWZzcGVjIHRvIGEgc3VibW9kdWxlJyAnCisJZ2l0IC1DIHdvcmsvZ2FyL2JhZ2UgY2hlY2tvdXQgYnJhbmNoMiAmJgorCT4gd29yay9nYXIvYmFnZS9qdW5rMTIgJiYKKwlnaXQgLUMgd29yay9nYXIvYmFnZSBhZGQganVuazEyICYmCisJZ2l0IC1DIHdvcmsvZ2FyL2JhZ2UgY29tbWl0IC1tICJUd2VsZnRoIGp1bmsiICYmCisKKwlnaXQgLUMgd29yayBjaGVja291dCBicmFuY2gyICYmCisJZ2l0IC1DIHdvcmsgYWRkIGdhci9iYWdlICYmCisJZ2l0IC1DIHdvcmsgY29tbWl0IC1tICJ1cGRhdGluZyBnYXIvYmFnZSBpbiBicmFuY2gyIiAmJgorCisJIyBQYXNzZXMgc2luY2UgdGhlIHN1cGVycHJvamVjdCBhbmQgc3VibW9kdWxlcyBIRUFEIGFyZSBib3RoIG9uIGJyYW5jaDIKKwlnaXQgLUMgd29yayBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZCBvcmlnaW4gXAorCQlIRUFEOnJlZnMvaGVhZHMvYnJhbmNoMiAmJgorCisJZ2l0IC1DIHN1Ym1vZHVsZS5naXQgcmV2LXBhcnNlIGJyYW5jaDIgPmFjdHVhbF9zdWJtb2R1bGUgJiYKKwlnaXQgLUMgcHViLmdpdCByZXYtcGFyc2UgYnJhbmNoMiA+YWN0dWFsX3B1YiAmJgorCWdpdCAtQyB3b3JrL2dhci9iYWdlIHJldi1wYXJzZSBicmFuY2gyID5leHBlY3RlZF9zdWJtb2R1bGUgJiYKKwlnaXQgLUMgd29yayByZXYtcGFyc2UgYnJhbmNoMiA+ZXhwZWN0ZWRfcHViICYmCisJdGVzdF9jbXAgZXhwZWN0ZWRfc3VibW9kdWxlIGFjdHVhbF9zdWJtb2R1bGUgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZF9wdWIgYWN0dWFsX3B1YgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MzMtcHVzaC1jYXMuc2ggYi90L3Q1NTMzLXB1c2gtY2FzLnNoCmluZGV4IGEyYzllNzQuLmQzOGVjZWUgMTAwNzU1Ci0tLSBhL3QvdDU1MzMtcHVzaC1jYXMuc2gKKysrIGIvdC90NTUzMy1wdXNoLWNhcy5zaApAQCAtMjI5LDQgKzIyOSwzMyBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmFja2dyb3VuZCB1cGRhdGVzIG9mIFJFTU9URSBjYW4gYmUgbWl0aWdhdGVkIHdpdGggYSBub24tdXBkYXRlZCBSRU1PVEUtcHVzaCcgJworCXJtIC1yZiBzcmMgZHN0ICYmCisJZ2l0IGluaXQgLS1iYXJlIHNyYy5iYXJlICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3JjLmJhcmUiICYmCisJZ2l0IGNsb25lIC0tbm8tbG9jYWwgc3JjLmJhcmUgZHN0ICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgZHN0IiAmJgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfY29tbWl0IEcgJiYKKwkJZ2l0IHJlbW90ZSBhZGQgb3JpZ2luLXB1c2ggLi4vc3JjLmJhcmUgJiYKKwkJZ2l0IHB1c2ggb3JpZ2luLXB1c2ggbWFzdGVyOm1hc3RlcgorCSkgJiYKKwlnaXQgY2xvbmUgLS1uby1sb2NhbCBzcmMuYmFyZSBkc3QyICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgZHN0MiIgJiYKKwkoCisJCWNkIGRzdDIgJiYKKwkJdGVzdF9jb21taXQgSCAmJgorCQlnaXQgcHVzaAorCSkgJiYKKwkoCisJCWNkIGRzdCAmJgorCQl0ZXN0X2NvbW1pdCBJICYmCisJCWdpdCBmZXRjaCBvcmlnaW4gJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1mb3JjZS13aXRoLWxlYXNlIG9yaWdpbi1wdXNoICYmCisJCWdpdCBmZXRjaCBvcmlnaW4tcHVzaCAmJgorCQlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2Ugb3JpZ2luLXB1c2gKKwkpCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTUzNC1wdXNoLXNpZ25lZC5zaCBiL3QvdDU1MzQtcHVzaC1zaWduZWQuc2gKaW5kZXggZWNiOGQ0NC4uMWNlYTc1OCAxMDA3NTUKLS0tIGEvdC90NTUzNC1wdXNoLXNpZ25lZC5zaAorKysgYi90L3Q1NTM0LXB1c2gtc2lnbmVkLnNoCkBAIC03MSw2ICs3MSwxMyBAQAogCXRlc3RfaTE4bmdyZXAgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQiIGVycgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIC0tc2lnbmVkPTEgaXMgYWNjZXB0ZWQnICcKKwlwcmVwYXJlX2RzdCAmJgorCW1rZGlyIC1wIGRzdC8uZ2l0L2hvb2tzICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1zaWduZWQ9MSBkc3Qgbm9vcCBmZiArbm9mZiAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQiIGVycgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnbm8gY2VydGlmaWNhdGUgZm9yIGEgc2lnbmVkIHB1c2ggd2l0aCBubyB1cGRhdGUnICcKIAlwcmVwYXJlX2RzdCAmJgogCW1rZGlyIC1wIGRzdC8uZ2l0L2hvb2tzICYmCkBAIC0xMTksMTEgKzEyNiw1MSBAQAogCQlzZWQgLW4gLWUgInMvXm5vbmNlIC9OT05DRT0vcCIgLWUgIi9eJC9xIiBkc3QvcHVzaC1jZXJ0CiAJKSA+ZXhwZWN0ICYmCiAKLQlncmVwICIkKGdpdCByZXYtcGFyc2Ugbm9vcCBmZikgcmVmcy9oZWFkcy9mZiIgZHN0L3B1c2gtY2VydCAmJgotCWdyZXAgIiQoZ2l0IHJldi1wYXJzZSBub29wIG5vZmYpIHJlZnMvaGVhZHMvbm9mZiIgZHN0L3B1c2gtY2VydCAmJgorCW5vb3A9JChnaXQgcmV2LXBhcnNlIG5vb3ApICYmCisJZmY9JChnaXQgcmV2LXBhcnNlIGZmKSAmJgorCW5vZmY9JChnaXQgcmV2LXBhcnNlIG5vZmYpICYmCisJZ3JlcCAiJG5vb3AgJGZmIHJlZnMvaGVhZHMvZmYiIGRzdC9wdXNoLWNlcnQgJiYKKwlncmVwICIkbm9vcCAkbm9mZiByZWZzL2hlYWRzL25vZmYiIGRzdC9wdXNoLWNlcnQgJiYKIAl0ZXN0X2NtcCBleHBlY3QgZHN0L3B1c2gtY2VydC1zdGF0dXMKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ2luY29uc2lzdGVudCBwdXNoIG9wdGlvbnMgaW4gc2lnbmVkIHB1c2ggbm90IGFsbG93ZWQnICcKKwkjIEZpcnN0LCBpbnZva2UgcmVjZWl2ZS1wYWNrIHdpdGggZHVtbXkgaW5wdXQgdG8gb2J0YWluIGl0cyBwcmVhbWJsZS4KKwlwcmVwYXJlX2RzdCAmJgorCWdpdCAtQyBkc3QgY29uZmlnIHJlY2VpdmUuY2VydG5vbmNlc2VlZCBzZWtyaXQgJiYKKwlnaXQgLUMgZHN0IGNvbmZpZyByZWNlaXZlLmFkdmVydGlzZXB1c2hvcHRpb25zIDEgJiYKKwlwcmludGYgeHh4eCB8IHRlc3RfbWlnaHRfZmFpbCBnaXQgcmVjZWl2ZS1wYWNrIGRzdCA+cHJlYW1ibGUgJiYKKworCSMgVGhlbiwgaW52b2tlIHB1c2guIFNpbXVsYXRlIGEgcmVjZWl2ZS1wYWNrIHRoYXQgc2VuZHMgdGhlIHByZWFtYmxlIHdlCisJIyBvYnRhaW5lZCwgZm9sbG93ZWQgYnkgYSBkdW1teSBwYWNrZXQuCisJd3JpdGVfc2NyaXB0IG15c2NyaXB0IDw8LVxFT0YgJiYKKwkJY2F0IHByZWFtYmxlICYmCisJCXByaW50ZiB4eHh4ICYmCisJCWNhdCA+cHVzaAorCUVPRgorCXRlc3RfbWlnaHRfZmFpbCBnaXQgcHVzaCAtLXB1c2gtb3B0aW9uPSJmb28iIC0tcHVzaC1vcHRpb249ImJhciIgXAorCQktLXJlY2VpdmUtcGFjaz0iXCIkKHB3ZCkvbXlzY3JpcHRcIiIgLS1zaWduZWQgZHN0IC0tZGVsZXRlIGZmICYmCisKKwkjIFJlcGxheSB0aGUgcHVzaCBvdXRwdXQgb24gYSBmcmVzaCBkc3QsIGNoZWNraW5nIHRoYXQgZmYgaXMgdHJ1bHkKKwkjIGRlbGV0ZWQuCisJcHJlcGFyZV9kc3QgJiYKKwlnaXQgLUMgZHN0IGNvbmZpZyByZWNlaXZlLmNlcnRub25jZXNlZWQgc2Vrcml0ICYmCisJZ2l0IC1DIGRzdCBjb25maWcgcmVjZWl2ZS5hZHZlcnRpc2VwdXNob3B0aW9ucyAxICYmCisJZ2l0IHJlY2VpdmUtcGFjayBkc3QgPHB1c2ggJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgZHN0IHJldi1wYXJzZSBmZiAmJgorCisJIyBUd2VhayB0aGUgcHVzaCBvdXRwdXQgdG8gbWFrZSB0aGUgcHVzaCBvcHRpb24gb3V0c2lkZSB0aGUgY2VydAorCSMgZGlmZmVyZW50LCB0aGVuIHJlcGxheSBpdCBvbiBhIGZyZXNoIGRzdCwgY2hlY2tpbmcgdGhhdCBmZiBpcyBub3QKKwkjIGRlbGV0ZWQuCisJcGVybCAtcGUgInMvKFteIF0pYmFyL1wkMWJhei8iIHB1c2ggPnB1c2gudHdlYWsgJiYKKwlwcmVwYXJlX2RzdCAmJgorCWdpdCAtQyBkc3QgY29uZmlnIHJlY2VpdmUuY2VydG5vbmNlc2VlZCBzZWtyaXQgJiYKKwlnaXQgLUMgZHN0IGNvbmZpZyByZWNlaXZlLmFkdmVydGlzZXB1c2hvcHRpb25zIDEgJiYKKwlnaXQgcmVjZWl2ZS1wYWNrIGRzdCA8cHVzaC50d2VhayA+b3V0ICYmCisJZ2l0IC1DIGRzdCByZXYtcGFyc2UgZmYgJiYKKwlncmVwICJpbmNvbnNpc3RlbnQgcHVzaCBvcHRpb25zIiBvdXQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ2ZhaWwgd2l0aG91dCBrZXkgYW5kIGhlZWQgdXNlci5zaWduaW5na2V5JyAnCiAJcHJlcGFyZV9kc3QgJiYKIAlta2RpciAtcCBkc3QvLmdpdC9ob29rcyAmJgpAQCAtMTYzLDggKzIxMCwxMSBAQAogCQlzZWQgLW4gLWUgInMvXm5vbmNlIC9OT05DRT0vcCIgLWUgIi9eJC9xIiBkc3QvcHVzaC1jZXJ0CiAJKSA+ZXhwZWN0ICYmCiAKLQlncmVwICIkKGdpdCByZXYtcGFyc2Ugbm9vcCBmZikgcmVmcy9oZWFkcy9mZiIgZHN0L3B1c2gtY2VydCAmJgotCWdyZXAgIiQoZ2l0IHJldi1wYXJzZSBub29wIG5vZmYpIHJlZnMvaGVhZHMvbm9mZiIgZHN0L3B1c2gtY2VydCAmJgorCW5vb3A9JChnaXQgcmV2LXBhcnNlIG5vb3ApICYmCisJZmY9JChnaXQgcmV2LXBhcnNlIGZmKSAmJgorCW5vZmY9JChnaXQgcmV2LXBhcnNlIG5vZmYpICYmCisJZ3JlcCAiJG5vb3AgJGZmIHJlZnMvaGVhZHMvZmYiIGRzdC9wdXNoLWNlcnQgJiYKKwlncmVwICIkbm9vcCAkbm9mZiByZWZzL2hlYWRzL25vZmYiIGRzdC9wdXNoLWNlcnQgJiYKIAl0ZXN0X2NtcCBleHBlY3QgZHN0L3B1c2gtY2VydC1zdGF0dXMKICcKIApkaWZmIC0tZ2l0IGEvdC90NTU0NS1wdXNoLW9wdGlvbnMuc2ggYi90L3Q1NTQ1LXB1c2gtb3B0aW9ucy5zaAppbmRleCA5YTU3YTdkLi45MGE0YjBkIDEwMDc1NQotLS0gYS90L3Q1NTQ1LXB1c2gtb3B0aW9ucy5zaAorKysgYi90L3Q1NTQ1LXB1c2gtb3B0aW9ucy5zaApAQCAtMyw4ICszLDYgQEAKIHRlc3RfZGVzY3JpcHRpb249J3B1c2hpbmcgdG8gYSByZXBvc2l0b3J5IHVzaW5nIHB1c2ggb3B0aW9ucycKIAogLiAuL3Rlc3QtbGliLnNoCi0uICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1odHRwZC5zaAotc3RhcnRfaHR0cGQKIAogbWtfcmVwb19wYWlyICgpIHsKIAlybSAtcmYgd29ya2JlbmNoIHVwc3RyZWFtICYmCkBAIC0xMDIsMTcgKzEwMCw4OSBAQAogCXRlc3RfY21wIGV4cGVjdCB1cHN0cmVhbS8uZ2l0L2hvb2tzL3Bvc3QtcmVjZWl2ZS5wdXNoX29wdGlvbnMKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCBvcHRpb24gZGVuaWVkIHByb3Blcmx5IGJ5IGh0dHAgcmVtb3RlIGhlbHBlcicgJ1wKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggb3B0aW9ucyBhbmQgc3VibW9kdWxlcycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHBhcmVudCIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBwYXJlbnRfdXBzdHJlYW0iICYmCisJbWtfcmVwb19wYWlyICYmCisJZ2l0IC1DIHVwc3RyZWFtIGNvbmZpZyByZWNlaXZlLmFkdmVydGlzZVB1c2hPcHRpb25zIHRydWUgJiYKKwljcCAtciB1cHN0cmVhbSBwYXJlbnRfdXBzdHJlYW0gJiYKKwl0ZXN0X2NvbW1pdCAtQyB1cHN0cmVhbSBvbmUgJiYKKworCXRlc3RfY3JlYXRlX3JlcG8gcGFyZW50ICYmCisJZ2l0IC1DIHBhcmVudCByZW1vdGUgYWRkIHVwIC4uL3BhcmVudF91cHN0cmVhbSAmJgorCXRlc3RfY29tbWl0IC1DIHBhcmVudCBvbmUgJiYKKwlnaXQgLUMgcGFyZW50IHB1c2ggLS1taXJyb3IgdXAgJiYKKworCWdpdCAtQyBwYXJlbnQgc3VibW9kdWxlIGFkZCAuLi91cHN0cmVhbSB3b3JrYmVuY2ggJiYKKwlnaXQgLUMgcGFyZW50L3dvcmtiZW5jaCByZW1vdGUgYWRkIHVwIC4uLy4uL3Vwc3RyZWFtICYmCisJZ2l0IC1DIHBhcmVudCBjb21taXQgLW0gImFkZCBzdWJtb3VsZSIgJiYKKworCXRlc3RfY29tbWl0IC1DIHBhcmVudC93b3JrYmVuY2ggdHdvICYmCisJZ2l0IC1DIHBhcmVudCBhZGQgd29ya2JlbmNoICYmCisJZ2l0IC1DIHBhcmVudCBjb21taXQgLW0gInVwZGF0ZSB3b3JrYmVuY2giICYmCisKKwlnaXQgLUMgcGFyZW50IHB1c2ggXAorCQktLXB1c2gtb3B0aW9uPWFzZGYgLS1wdXNoLW9wdGlvbj0ibW9yZSBzdHJ1Y3R1cmVkIHRleHQiIFwKKwkJLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kIHVwIG1hc3RlciAmJgorCisJZ2l0IC1DIHVwc3RyZWFtIHJldi1wYXJzZSAtLXZlcmlmeSBtYXN0ZXIgPmV4cGVjdCAmJgorCWdpdCAtQyBwYXJlbnQvd29ya2JlbmNoIHJldi1wYXJzZSAtLXZlcmlmeSBtYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWdpdCAtQyBwYXJlbnRfdXBzdHJlYW0gcmV2LXBhcnNlIC0tdmVyaWZ5IG1hc3RlciA+ZXhwZWN0ICYmCisJZ2l0IC1DIHBhcmVudCByZXYtcGFyc2UgLS12ZXJpZnkgbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlwcmludGYgImFzZGZcbm1vcmUgc3RydWN0dXJlZCB0ZXh0XG4iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgdXBzdHJlYW0vLmdpdC9ob29rcy9wcmUtcmVjZWl2ZS5wdXNoX29wdGlvbnMgJiYKKwl0ZXN0X2NtcCBleHBlY3QgdXBzdHJlYW0vLmdpdC9ob29rcy9wb3N0LXJlY2VpdmUucHVzaF9vcHRpb25zICYmCisJdGVzdF9jbXAgZXhwZWN0IHBhcmVudF91cHN0cmVhbS8uZ2l0L2hvb2tzL3ByZS1yZWNlaXZlLnB1c2hfb3B0aW9ucyAmJgorCXRlc3RfY21wIGV4cGVjdCBwYXJlbnRfdXBzdHJlYW0vLmdpdC9ob29rcy9wb3N0LXJlY2VpdmUucHVzaF9vcHRpb25zCisnCisKKy4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWh0dHBkLnNoCitzdGFydF9odHRwZAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIG9wdGlvbiBkZW5pZWQgcHJvcGVybHkgYnkgaHR0cCBzZXJ2ZXInICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiB0ZXN0X2h0dHBfY2xvbmUiICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgXCIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIXCIvdXBzdHJlYW0uZ2l0IiAmJgogCW1rX3JlcG9fcGFpciAmJgogCWdpdCAtQyB1cHN0cmVhbSBjb25maWcgcmVjZWl2ZS5hZHZlcnRpc2VQdXNoT3B0aW9ucyBmYWxzZSAmJgogCWdpdCAtQyB1cHN0cmVhbSBjb25maWcgaHR0cC5yZWNlaXZlcGFjayB0cnVlICYmCiAJY3AgLVIgdXBzdHJlYW0vLmdpdCAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSCIvdXBzdHJlYW0uZ2l0ICYmCiAJZ2l0IGNsb25lICIkSFRUUERfVVJMIi9zbWFydC91cHN0cmVhbSB0ZXN0X2h0dHBfY2xvbmUgJiYKIAl0ZXN0X2NvbW1pdCAtQyB0ZXN0X2h0dHBfY2xvbmUgb25lICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHRlc3RfaHR0cF9jbG9uZSBwdXNoIC0tcHVzaC1vcHRpb249YXNkZiBvcmlnaW4gbWFzdGVyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHRlc3RfaHR0cF9jbG9uZSBwdXNoIC0tcHVzaC1vcHRpb249YXNkZiBvcmlnaW4gbWFzdGVyIDI+YWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiIGFjdHVhbCAmJgogCWdpdCAtQyB0ZXN0X2h0dHBfY2xvbmUgcHVzaCBvcmlnaW4gbWFzdGVyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggb3B0aW9ucyB3b3JrIHByb3Blcmx5IGFjcm9zcyBodHRwJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgdGVzdF9odHRwX2Nsb25lIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIFwiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSFwiL3Vwc3RyZWFtLmdpdCIgJiYKKwlta19yZXBvX3BhaXIgJiYKKwlnaXQgLUMgdXBzdHJlYW0gY29uZmlnIHJlY2VpdmUuYWR2ZXJ0aXNlUHVzaE9wdGlvbnMgdHJ1ZSAmJgorCWdpdCAtQyB1cHN0cmVhbSBjb25maWcgaHR0cC5yZWNlaXZlcGFjayB0cnVlICYmCisJY3AgLVIgdXBzdHJlYW0vLmdpdCAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSCIvdXBzdHJlYW0uZ2l0ICYmCisJZ2l0IGNsb25lICIkSFRUUERfVVJMIi9zbWFydC91cHN0cmVhbSB0ZXN0X2h0dHBfY2xvbmUgJiYKKworCXRlc3RfY29tbWl0IC1DIHRlc3RfaHR0cF9jbG9uZSBvbmUgJiYKKwlnaXQgLUMgdGVzdF9odHRwX2Nsb25lIHB1c2ggb3JpZ2luIG1hc3RlciAmJgorCWdpdCAtQyAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSCIvdXBzdHJlYW0uZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBtYXN0ZXIgPmV4cGVjdCAmJgorCWdpdCAtQyB0ZXN0X2h0dHBfY2xvbmUgcmV2LXBhcnNlIC0tdmVyaWZ5IG1hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJdGVzdF9jb21taXQgLUMgdGVzdF9odHRwX2Nsb25lIHR3byAmJgorCWdpdCAtQyB0ZXN0X2h0dHBfY2xvbmUgcHVzaCAtLXB1c2gtb3B0aW9uPWFzZGYgLS1wdXNoLW9wdGlvbj0ibW9yZSBzdHJ1Y3R1cmVkIHRleHQiIG9yaWdpbiBtYXN0ZXIgJiYKKwlwcmludGYgImFzZGZcbm1vcmUgc3RydWN0dXJlZCB0ZXh0XG4iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgiL3Vwc3RyZWFtLmdpdC9ob29rcy9wcmUtcmVjZWl2ZS5wdXNoX29wdGlvbnMgJiYKKwl0ZXN0X2NtcCBleHBlY3QgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgiL3Vwc3RyZWFtLmdpdC9ob29rcy9wb3N0LXJlY2VpdmUucHVzaF9vcHRpb25zICYmCisKKwlnaXQgLUMgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgiL3Vwc3RyZWFtLmdpdCByZXYtcGFyc2UgLS12ZXJpZnkgbWFzdGVyID5leHBlY3QgJiYKKwlnaXQgLUMgdGVzdF9odHRwX2Nsb25lIHJldi1wYXJzZSAtLXZlcmlmeSBtYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogc3RvcF9odHRwZAogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1NDctcHVzaC1xdWFyYW50aW5lLnNoIGIvdC90NTU0Ny1wdXNoLXF1YXJhbnRpbmUuc2gKaW5kZXggYWY5ZmNkOC4uMTEzYzg3MCAxMDA3NTUKLS0tIGEvdC90NTU0Ny1wdXNoLXF1YXJhbnRpbmUuc2gKKysrIGIvdC90NTU0Ny1wdXNoLXF1YXJhbnRpbmUuc2gKQEAgLTU4LDQgKzU4LDE1IEBACiAJZ2l0IHB1c2ggIiQocHdkKS94eHgke3BhdGhzZXB9eXl5LmdpdCIgSEVBRAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cGRhdGluZyBhIHJlZiBmcm9tIHF1YXJhbnRpbmUgaXMgZm9yYmlkZGVuJyAnCisJZ2l0IGluaXQgLS1iYXJlIHVwZGF0ZS5naXQgJiYKKwl3cml0ZV9zY3JpcHQgdXBkYXRlLmdpdC9ob29rcy9wcmUtcmVjZWl2ZSA8PC1cRU9GICYmCisJcmVhZCBvbGQgbmV3IHJlZm5hbWUKKwlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL3VucmVsYXRlZCAkbmV3CisJZXhpdCAxCisJRU9GCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggdXBkYXRlLmdpdCBIRUFEICYmCisJZ2l0IC1DIHVwZGF0ZS5naXQgZnNjaworJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1NTAtaHR0cC1mZXRjaC1kdW1iLnNoIGIvdC90NTU1MC1odHRwLWZldGNoLWR1bWIuc2gKaW5kZXggODczMDhjZC4uODU1MjE4NCAxMDA3NTUKLS0tIGEvdC90NTU1MC1odHRwLWZldGNoLWR1bWIuc2gKKysrIGIvdC90NTU1MC1odHRwLWZldGNoLWR1bWIuc2gKQEAgLTIwLDggKzIwLDkgQEAKIAkoY2QgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvcmVwby5naXQiICYmCiAJIGdpdCBjb25maWcgY29yZS5iYXJlIHRydWUgJiYKIAkgbWtkaXIgLXAgaG9va3MgJiYKLQkgZWNobyAiZXhlYyBnaXQgdXBkYXRlLXNlcnZlci1pbmZvIiA+aG9va3MvcG9zdC11cGRhdGUgJiYKLQkgY2htb2QgK3ggaG9va3MvcG9zdC11cGRhdGUgJiYKKwkgd3JpdGVfc2NyaXB0ICJob29rcy9wb3N0LXVwZGF0ZSIgPDwtXEVPRiAmJgorCSBleGVjIGdpdCB1cGRhdGUtc2VydmVyLWluZm8KKwlFT0YKIAkgaG9va3MvcG9zdC11cGRhdGUKIAkpICYmCiAJZ2l0IHJlbW90ZSBhZGQgcHVibGljICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL3JlcG8uZ2l0IiAmJgpkaWZmIC0tZ2l0IGEvdC90NTU3Mi1wdWxsLXN1Ym1vZHVsZS5zaCBiL3QvdDU1NzItcHVsbC1zdWJtb2R1bGUuc2gKaW5kZXggYWNjZmE1Yy4uMzIxYmQzNyAxMDA3NTUKLS0tIGEvdC90NTU3Mi1wdWxsLXN1Ym1vZHVsZS5zaAorKysgYi90L3Q1NTcyLXB1bGwtc3VibW9kdWxlLnNoCkBAIC00Miw0ICs0Miw5NCBAQAogS05PV05fRkFJTFVSRV9OT0ZGX01FUkdFX0FUVEVNUFRTX1RPX01FUkdFX1JFTU9WRURfU1VCTU9EVUxFX0ZJTEVTPTEKIHRlc3Rfc3VibW9kdWxlX3N3aXRjaCAiZ2l0X3B1bGxfbm9mZiIKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbCAtLXJlY3Vyc2Utc3VibW9kdWxlIHNldHVwJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBjaGlsZCAmJgorCXRlc3RfY29tbWl0IC1DIGNoaWxkIGJhciAmJgorCisJdGVzdF9jcmVhdGVfcmVwbyBwYXJlbnQgJiYKKwl0ZXN0X2NvbW1pdCAtQyBjaGlsZCBmb28gJiYKKworCWdpdCAtQyBwYXJlbnQgc3VibW9kdWxlIGFkZCAuLi9jaGlsZCBzdWIgJiYKKwlnaXQgLUMgcGFyZW50IGNvbW1pdCAtbSAiYWRkIHN1Ym1vZHVsZSIgJiYKKworCWdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyBwYXJlbnQgc3VwZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVjdXJzaXZlIHB1bGwgdXBkYXRlcyB3b3JraW5nIHRyZWUnICcKKwl0ZXN0X2NvbW1pdCAtQyBjaGlsZCBtZXJnZV9zdHJhdGVneSAmJgorCWdpdCAtQyBwYXJlbnQgc3VibW9kdWxlIHVwZGF0ZSAtLXJlbW90ZSAmJgorCWdpdCAtQyBwYXJlbnQgYWRkIHN1YiAmJgorCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJ1cGRhdGUgc3VibW9kdWxlIiAmJgorCisJZ2l0IC1DIHN1cGVyIHB1bGwgLS1uby1yZWJhc2UgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBzdXBlci9zdWIvbWVyZ2Vfc3RyYXRlZ3kudAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJzdWJtb2R1bGUucmVjdXJzZSBvcHRpb24gdHJpZ2dlcnMgcmVjdXJzaXZlIHB1bGwiICcKKwl0ZXN0X2NvbW1pdCAtQyBjaGlsZCBtZXJnZV9zdHJhdGVneV8yICYmCisJZ2l0IC1DIHBhcmVudCBzdWJtb2R1bGUgdXBkYXRlIC0tcmVtb3RlICYmCisJZ2l0IC1DIHBhcmVudCBhZGQgc3ViICYmCisJZ2l0IC1DIHBhcmVudCBjb21taXQgLW0gInVwZGF0ZSBzdWJtb2R1bGUiICYmCisKKwlnaXQgLUMgc3VwZXIgLWMgc3VibW9kdWxlLnJlY3Vyc2UgcHVsbCAtLW5vLXJlYmFzZSAmJgorCXRlc3RfcGF0aF9pc19maWxlIHN1cGVyL3N1Yi9tZXJnZV9zdHJhdGVneV8yLnQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAiIC0tW25vLV1yZWN1cnNlLXN1Ym1vZHVsZSBhbmQgc3VibW9kdWxlLnJlY3Vyc2UiICcKKwl0ZXN0X2NvbW1pdCAtQyBjaGlsZCBtZXJnZV9zdHJhdGVneV8zICYmCisJZ2l0IC1DIHBhcmVudCBzdWJtb2R1bGUgdXBkYXRlIC0tcmVtb3RlICYmCisJZ2l0IC1DIHBhcmVudCBhZGQgc3ViICYmCisJZ2l0IC1DIHBhcmVudCBjb21taXQgLW0gInVwZGF0ZSBzdWJtb2R1bGUiICYmCisKKwlnaXQgLUMgc3VwZXIgLWMgc3VibW9kdWxlLnJlY3Vyc2UgcHVsbCAtLW5vLXJlY3Vyc2Utc3VibW9kdWxlcyAtLW5vLXJlYmFzZSAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1cGVyL3N1Yi9tZXJnZV9zdHJhdGVneV8zLnQgJiYKKwlnaXQgLUMgc3VwZXIgLWMgc3VibW9kdWxlLnJlY3Vyc2U9ZmFsc2UgcHVsbCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtLW5vLXJlYmFzZSAmJgorCXRlc3RfcGF0aF9pc19maWxlIHN1cGVyL3N1Yi9tZXJnZV9zdHJhdGVneV8zLnQgJiYKKworCXRlc3RfY29tbWl0IC1DIGNoaWxkIG1lcmdlX3N0cmF0ZWd5XzQgJiYKKwlnaXQgLUMgcGFyZW50IHN1Ym1vZHVsZSB1cGRhdGUgLS1yZW1vdGUgJiYKKwlnaXQgLUMgcGFyZW50IGFkZCBzdWIgJiYKKwlnaXQgLUMgcGFyZW50IGNvbW1pdCAtbSAidXBkYXRlIHN1Ym1vZHVsZSIgJiYKKworCWdpdCAtQyBzdXBlciAtYyBzdWJtb2R1bGUucmVjdXJzZT1mYWxzZSBwdWxsIC0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzIC0tbm8tcmViYXNlICYmCisJdGVzdF9wYXRoX2lzX21pc3Npbmcgc3VwZXIvc3ViL21lcmdlX3N0cmF0ZWd5XzQudCAmJgorCWdpdCAtQyBzdXBlciAtYyBzdWJtb2R1bGUucmVjdXJzZT10cnVlIHB1bGwgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1uby1yZWJhc2UgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBzdXBlci9zdWIvbWVyZ2Vfc3RyYXRlZ3lfNC50CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlY3Vyc2l2ZSByZWJhc2luZyBwdWxsJyAnCisJIyBjaGFuZ2UgdXBzdHJlYW0KKwl0ZXN0X2NvbW1pdCAtQyBjaGlsZCByZWJhc2Vfc3RyYXRlZ3kgJiYKKwlnaXQgLUMgcGFyZW50IHN1Ym1vZHVsZSB1cGRhdGUgLS1yZW1vdGUgJiYKKwlnaXQgLUMgcGFyZW50IGFkZCBzdWIgJiYKKwlnaXQgLUMgcGFyZW50IGNvbW1pdCAtbSAidXBkYXRlIHN1Ym1vZHVsZSIgJiYKKworCSMgYWxzbyBoYXZlIGxvY2FsIGNvbW1pdHMKKwl0ZXN0X2NvbW1pdCAtQyBzdXBlci9zdWIgbG9jYWxfc3R1ZmYgJiYKKworCWdpdCAtQyBzdXBlciBwdWxsIC0tcmViYXNlIC0tcmVjdXJzZS1zdWJtb2R1bGVzICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3VwZXIvc3ViL3JlYmFzZV9zdHJhdGVneS50ICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3VwZXIvc3ViL2xvY2FsX3N0dWZmLnQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbCByZWJhc2UgcmVjdXJzaW5nIGZhaWxzIHdpdGggY29uZmxpY3RzJyAnCisKKwkjIGxvY2FsIGNoYW5nZXMgaW4gc3VibW9kdWxlIHJlY29yZGVkIGluIHN1cGVycHJvamVjdDoKKwl0ZXN0X2NvbW1pdCAtQyBzdXBlci9zdWIgbG9jYWxfc3R1ZmZfMiAmJgorCWdpdCAtQyBzdXBlciBhZGQgc3ViICYmCisJZ2l0IC1DIHN1cGVyIGNvbW1pdCAtbSAibG9jYWwgdXBkYXRlIHN1Ym1vZHVsZSIgJiYKKworCSMgYW5kIGluIHRoZSByZW1vdGUgYXMgd2VsbDoKKwl0ZXN0X2NvbW1pdCAtQyBjaGlsZCBpbXBvcnRhbnRfdXBzdHJlYW1fd29yayAmJgorCWdpdCAtQyBwYXJlbnQgc3VibW9kdWxlIHVwZGF0ZSAtLXJlbW90ZSAmJgorCWdpdCAtQyBwYXJlbnQgYWRkIHN1YiAmJgorCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJyZW1vdGUgdXBkYXRlIHN1Ym1vZHVsZSIgJiYKKworCSMgVW5mb3J0dW5hdGVseSB3ZSBmYWlsIGhlcmUsIGRlc3BpdGUgbm8gY29uZmxpY3QgaW4gdGhlCisJIyBzdWJtb2R1bGUgaXRzZWxmLCBidXQgdGhlIG1lcmdlIHN0cmF0ZWd5IGluIHN1Ym1vZHVsZXMKKwkjIGRvZXMgbm90IHN1cHBvcnQgcmViYXNlOgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBzdXBlciBwdWxsIC0tcmViYXNlIC0tcmVjdXJzZS1zdWJtb2R1bGVzIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAibG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIgZXJyCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTU4MC1jbG9uZS1wdXNoLXVuYy5zaCBiL3QvdDU1ODAtY2xvbmUtcHVzaC11bmMuc2gKaW5kZXggYjE5NWY3MS4uYjMyMmMyZiAxMDA3NTUKLS0tIGEvdC90NTU4MC1jbG9uZS1wdXNoLXVuYy5zaAorKysgYi90L3Q1NTgwLWNsb25lLXB1c2gtdW5jLnNoCkBAIC0xLDEwICsxLDEwIEBACiAjIS9iaW4vc2gKIAotdGVzdF9kZXNjcmlwdGlvbj0ndmFyaW91cyBVTkMgcGF0aCB0ZXN0cyAoV2luZG93cy1vbmx5KScKK3Rlc3RfZGVzY3JpcHRpb249J3ZhcmlvdXMgV2luZG93cy1vbmx5IHBhdGggdGVzdHMnCiAuIC4vdGVzdC1saWIuc2gKIAogaWYgISB0ZXN0X2hhdmVfcHJlcmVxIE1JTkdXOyB0aGVuCi0Jc2tpcF9hbGw9J3NraXBwaW5nIFVOQyBwYXRoIHRlc3RzLCByZXF1aXJlcyBXaW5kb3dzJworCXNraXBfYWxsPSdza2lwcGluZyBXaW5kb3dzLW9ubHkgcGF0aCB0ZXN0cycKIAl0ZXN0X2RvbmUKIGZpCiAKQEAgLTQ1LDQgKzQ1LDEwIEBACiAJdGVzdCAiJHJldiIgPSAiJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHJlZnMvaGVhZHMvdG8tcHVzaCkiCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW90ZSBuaWNrIGNhbm5vdCBjb250YWluIGJhY2tzbGFzaGVzJyAnCisJQkFDS1NMQVNIRUQ9IiQocHdkIHwgdHIgLyBcXFxcKSIgJiYKKwlnaXQgbHMtcmVtb3RlICIkQkFDS1NMQVNIRUQiID5vdXQgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICEgInVuYWJsZSB0byBhY2Nlc3MiIGVycgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU2MDEtY2xvbmUuc2ggYi90L3Q1NjAxLWNsb25lLnNoCmluZGV4IDQyNDFlYTUuLjljNTZmNzcgMTAwNzU1Ci0tLSBhL3QvdDU2MDEtY2xvbmUuc2gKKysrIGIvdC90NTYwMS1jbG9uZS5zaApAQCAtMzg2LDYgKzM4Niw1MyBAQAogCWV4cGVjdF9zc2ggIi1iYXRjaCAtUCAxMjMiIG15aG9zdCBzcmMKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZG91YmxlIHF1b3RlZCBwbGluay5leGUgaW4gR0lUX1NTSF9DT01NQU5EJyAnCisJY29weV9zc2hfd3JhcHBlcl9hcyAiJFRSQVNIX0RJUkVDVE9SWS9wbGluay5leGUiICYmCisJR0lUX1NTSF9DT01NQU5EPSJcIiRUUkFTSF9ESVJFQ1RPUlkvcGxpbmsuZXhlXCIgLXYiIFwKKwkJZ2l0IGNsb25lICJbbXlob3N0OjEyM106c3JjIiBzc2gtYnJhY2tldC1jbG9uZS1wbGluay0zICYmCisJZXhwZWN0X3NzaCAiLXYgLVAgMTIzIiBteWhvc3Qgc3JjCisnCisKK1NRPSInIgordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2luZ2xlIHF1b3RlZCBwbGluay5leGUgaW4gR0lUX1NTSF9DT01NQU5EJyAnCisJY29weV9zc2hfd3JhcHBlcl9hcyAiJFRSQVNIX0RJUkVDVE9SWS9wbGluay5leGUiICYmCisJR0lUX1NTSF9DT01NQU5EPSIkU1EkVFJBU0hfRElSRUNUT1JZL3BsaW5rLmV4ZSRTUSAtdiIgXAorCQlnaXQgY2xvbmUgIltteWhvc3Q6MTIzXTpzcmMiIHNzaC1icmFja2V0LWNsb25lLXBsaW5rLTQgJiYKKwlleHBlY3Rfc3NoICItdiAtUCAxMjMiIG15aG9zdCBzcmMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnR0lUX1NTSF9WQVJJQU5UIG92ZXJyaWRlcyBwbGluayBkZXRlY3Rpb24nICcKKwljb3B5X3NzaF93cmFwcGVyX2FzICIkVFJBU0hfRElSRUNUT1JZL3BsaW5rIiAmJgorCUdJVF9TU0hfVkFSSUFOVD1zc2ggXAorCWdpdCBjbG9uZSAiW215aG9zdDoxMjNdOnNyYyIgc3NoLWJyYWNrZXQtY2xvbmUtdmFyaWFudC0xICYmCisJZXhwZWN0X3NzaCAiLXAgMTIzIiBteWhvc3Qgc3JjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NzaC52YXJpYW50IG92ZXJyaWRlcyBwbGluayBkZXRlY3Rpb24nICcKKwljb3B5X3NzaF93cmFwcGVyX2FzICIkVFJBU0hfRElSRUNUT1JZL3BsaW5rIiAmJgorCWdpdCAtYyBzc2gudmFyaWFudD1zc2ggXAorCQljbG9uZSAiW215aG9zdDoxMjNdOnNyYyIgc3NoLWJyYWNrZXQtY2xvbmUtdmFyaWFudC0yICYmCisJZXhwZWN0X3NzaCAiLXAgMTIzIiBteWhvc3Qgc3JjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0dJVF9TU0hfVkFSSUFOVCBvdmVycmlkZXMgcGxpbmsgZGV0ZWN0aW9uIHRvIHBsaW5rJyAnCisJR0lUX1NTSF9WQVJJQU5UPXBsaW5rIFwKKwlnaXQgY2xvbmUgIltteWhvc3Q6MTIzXTpzcmMiIHNzaC1icmFja2V0LWNsb25lLXZhcmlhbnQtMyAmJgorCWV4cGVjdF9zc2ggIi1QIDEyMyIgbXlob3N0IHNyYworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdHSVRfU1NIX1ZBUklBTlQgb3ZlcnJpZGVzIHBsaW5rIHRvIHRvcnRvaXNlcGxpbmsnICcKKwlHSVRfU1NIX1ZBUklBTlQ9dG9ydG9pc2VwbGluayBcCisJZ2l0IGNsb25lICJbbXlob3N0OjEyM106c3JjIiBzc2gtYnJhY2tldC1jbG9uZS12YXJpYW50LTQgJiYKKwlleHBlY3Rfc3NoICItYmF0Y2ggLVAgMTIzIiBteWhvc3Qgc3JjCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NsZWFuIGZhaWx1cmUgb24gYnJva2VuIHF1b3RpbmcnICcKKwl0ZXN0X211c3RfZmFpbCBcCisJCWVudiBHSVRfU1NIX0NPTU1BTkQ9IiR7U1F9cGxpbmsuZXhlIC12IiBcCisJCWdpdCBjbG9uZSAiW215aG9zdDoxMjNdOnNyYyIgc3EtZmFpbHVyZQorJworCiAjIFJlc2V0IHRoZSBHSVRfU1NIIGVudmlyb25tZW50IHZhcmlhYmxlIGZvciBjbG9uZSB0ZXN0cy4KIHNldHVwX3NzaF93cmFwcGVyCiAKZGlmZiAtLWdpdCBhL3QvdDU2MTEtY2xvbmUtY29uZmlnLnNoIGIvdC90NTYxMS1jbG9uZS1jb25maWcuc2gKaW5kZXggZTQ4NTBiNy4uMzkzMjllYiAxMDA3NTUKLS0tIGEvdC90NTYxMS1jbG9uZS1jb25maWcuc2gKKysrIGIvdC90NTYxMS1jbG9uZS1jb25maWcuc2gKQEAgLTE5LDYgKzE5LDE0IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSAtYyBjYW4gc2V0IG11bHRpLWtleXMsIGluY2x1ZGluZyBzb21lIGVtcHR5JyAnCisJcm0gLXJmIGNoaWxkICYmCisJZ2l0IGNsb25lIC1jIGNyZWRlbnRpYWwuaGVscGVyPSAtYyBjcmVkZW50aWFsLmhlbHBlcj1oaSAuIGNoaWxkICYmCisJcHJpbnRmICIlc1xuIiAiIiBoaSA+ZXhwZWN0ICYmCisJZ2l0IC0tZ2l0LWRpcj1jaGlsZC8uZ2l0IGNvbmZpZyAtLWdldC1hbGwgY3JlZGVudGlhbC5oZWxwZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgLWMgd2l0aG91dCBhIHZhbHVlIGlzIGJvb2xlYW4gdHJ1ZScgJwogCXJtIC1yZiBjaGlsZCAmJgogCWdpdCBjbG9uZSAtYyBjb3JlLmZvbyAuIGNoaWxkICYmCmRpZmYgLS1naXQgYS90L3Q1NjEyLWNsb25lLXJlZnNwZWMuc2ggYi90L3Q1NjEyLWNsb25lLXJlZnNwZWMuc2gKaW5kZXggN2FjZTI1My4uZmFjNWE3MyAxMDA3NTUKLS0tIGEvdC90NTYxMi1jbG9uZS1yZWZzcGVjLnNoCisrKyBiL3QvdDU2MTItY2xvbmUtcmVmc3BlYy5zaApAQCAtMTcsMTMgKzE3LDIwIEBACiAJZWNobyBmb3VyID5maWxlICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSBmb3VyICYmCiAJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCB0YWcgZml2ZSAmJgogCiAJIyBkZWZhdWx0IGNsb25lCiAJZ2l0IGNsb25lIC4gZGlyX2FsbCAmJgogCisJIyBkZWZhdWx0IGNsb25lIC0tbm8tdGFncworCWdpdCBjbG9uZSAtLW5vLXRhZ3MgLiBkaXJfYWxsX25vX3RhZ3MgJiYKKwogCSMgZGVmYXVsdCAtLXNpbmdsZSB0aGF0IGZvbGxvd3MgSEVBRD1tYXN0ZXIKIAlnaXQgY2xvbmUgLS1zaW5nbGUtYnJhbmNoIC4gZGlyX21hc3RlciAmJgogCisJIyBkZWZhdWx0IC0tc2luZ2xlIHRoYXQgZm9sbG93cyBIRUFEPW1hc3RlciB3aXRoIG5vIHRhZ3MKKwlnaXQgY2xvbmUgLS1zaW5nbGUtYnJhbmNoIC0tbm8tdGFncyAuIGRpcl9tYXN0ZXJfbm9fdGFncyAmJgorCiAJIyBkZWZhdWx0IC0tc2luZ2xlIHRoYXQgZm9sbG93cyBIRUFEPXNpZGUKIAlnaXQgY2hlY2tvdXQgc2lkZSAmJgogCWdpdCBjbG9uZSAtLXNpbmdsZS1icmFuY2ggLiBkaXJfc2lkZSAmJgpAQCAtNDUsNiArNTIsOSBAQAogCSMgZXhwbGljaXQgLS1zaW5nbGUgd2l0aCB0YWcKIAlnaXQgY2xvbmUgLS1zaW5nbGUtYnJhbmNoIC0tYnJhbmNoIHR3byAuIGRpcl90YWcgJiYKIAorCSMgZXhwbGljaXQgLS1zaW5nbGUgd2l0aCB0YWcgYW5kIC0tbm8tdGFncworCWdpdCBjbG9uZSAtLXNpbmdsZS1icmFuY2ggLS1uby10YWdzIC0tYnJhbmNoIHR3byAuIGRpcl90YWdfbm9fdGFncyAmJgorCiAJIyBhZHZhbmNlIGJvdGggIm1hc3RlciIgYW5kICJzaWRlIiBicmFuY2hlcwogCWdpdCBjaGVja291dCBzaWRlICYmCiAJZWNobyBmaXZlID5maWxlICYmCkBAIC01OSw3ICs2OSw4IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2J5IGRlZmF1bHQgYWxsIGJyYW5jaGVzIHdpbGwgYmUga2VwdCB1cGRhdGVkJyAnCiAJKAotCQljZCBkaXJfYWxsICYmIGdpdCBmZXRjaCAmJgorCQljZCBkaXJfYWxsICYmCisJCWdpdCBmZXRjaCAmJgogCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4gfAogCQlzZWQgLWUgIi9IRUFEJC9kIiBcCiAJCSAgICAtZSAic3wvcmVtb3Rlcy9vcmlnaW4vfC9oZWFkcy98IiA+Li4vYWN0dWFsCkBAIC03MSwyOCArODIsODIgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnkgZGVmYXVsdCBubyB0YWdzIHdpbGwgYmUga2VwdCB1cGRhdGVkJyAnCiAJKAotCQljZCBkaXJfYWxsICYmIGdpdCBmZXRjaCAmJgorCQljZCBkaXJfYWxsICYmCisJCWdpdCBmZXRjaCAmJgogCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvdGFncyA+Li4vYWN0dWFsCiAJKSAmJgogCWdpdCBmb3ItZWFjaC1yZWYgcmVmcy90YWdzID5leHBlY3QgJiYKLQl0ZXN0X211c3RfZmFpbCB0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9tdXN0X2ZhaWwgdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIHdpdGggLS1uby10YWdzJyAnCisJKAorCQljZCBkaXJfYWxsX25vX3RhZ3MgJiYKKwkJZ2l0IGZldGNoICYmCisJCWdpdCBmb3ItZWFjaC1yZWYgcmVmcy90YWdzID4uLi9hY3R1YWwKKwkpICYmCisJPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaW5nbGUtYnJhbmNoIHdoaWxlIEhFQUQgcG9pbnRpbmcgYXQgbWFzdGVyJyAnCiAJKAotCQljZCBkaXJfbWFzdGVyICYmIGdpdCBmZXRjaCAmJgorCQljZCBkaXJfbWFzdGVyICYmCisJCWdpdCBmZXRjaCAmJgogCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4gfAogCQlzZWQgLWUgIi9IRUFEJC9kIiBcCiAJCSAgICAtZSAic3wvcmVtb3Rlcy9vcmlnaW4vfC9oZWFkcy98IiA+Li4vYWN0dWFsCiAJKSAmJgogCSMgb25seSBmb2xsb3cgbWFzdGVyCiAJZ2l0IGZvci1lYWNoLXJlZiByZWZzL2hlYWRzL21hc3RlciA+ZXhwZWN0ICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSMgZ2V0ICYgY2hlY2sgbGF0ZXN0IHRhZ3MKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJKAorCQljZCBkaXJfbWFzdGVyICYmCisJCWdpdCBmZXRjaCAtLXRhZ3MgJiYKKwkJZ2l0IGZvci1lYWNoLXJlZiByZWZzL3RhZ3MgPi4uL2FjdHVhbAorCSkgJiYKKwlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvdGFncyA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2luZ2xlLWJyYW5jaCB3aGlsZSBIRUFEIHBvaW50aW5nIGF0IG1hc3RlciBhbmQgLS1uby10YWdzJyAnCisJKAorCQljZCBkaXJfbWFzdGVyX25vX3RhZ3MgJiYKKwkJZ2l0IGZldGNoICYmCisJCWdpdCBmb3ItZWFjaC1yZWYgcmVmcy9yZW1vdGVzL29yaWdpbiB8CisJCXNlZCAtZSAiL0hFQUQkL2QiIFwKKwkJICAgIC1lICJzfC9yZW1vdGVzL29yaWdpbi98L2hlYWRzL3wiID4uLi9hY3R1YWwKKwkpICYmCisJIyBvbmx5IGZvbGxvdyBtYXN0ZXIKKwlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJIyBnZXQgdGFncyAobm9vcCkKKwkoCisJCWNkIGRpcl9tYXN0ZXJfbm9fdGFncyAmJgorCQlnaXQgZmV0Y2ggJiYKKwkJZ2l0IGZvci1lYWNoLXJlZiByZWZzL3RhZ3MgPi4uL2FjdHVhbAorCSkgJiYKKwk+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDAgYWN0dWFsICYmCisJIyBnZXQgdGFncyB3aXRoIC0tdGFncyBvdmVycmlkZXMgdGFnT3B0CisJKAorCQljZCBkaXJfbWFzdGVyX25vX3RhZ3MgJiYKKwkJZ2l0IGZldGNoIC0tdGFncyAmJgorCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvdGFncyA+Li4vYWN0dWFsCisJKSAmJgorCWdpdCBmb3ItZWFjaC1yZWYgcmVmcy90YWdzID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9saW5lX2NvdW50ID0gMiBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaW5nbGUtYnJhbmNoIHdoaWxlIEhFQUQgcG9pbnRpbmcgYXQgc2lkZScgJwogCSgKLQkJY2QgZGlyX3NpZGUgJiYgZ2l0IGZldGNoICYmCisJCWNkIGRpcl9zaWRlICYmCisJCWdpdCBmZXRjaCAmJgogCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4gfAogCQlzZWQgLWUgIi9IRUFEJC9kIiBcCiAJCSAgICAtZSAic3wvcmVtb3Rlcy9vcmlnaW4vfC9oZWFkcy98IiA+Li4vYWN0dWFsCkBAIC0xMDQsNyArMTY5LDggQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaW5nbGUtYnJhbmNoIHdpdGggZXhwbGljaXQgLS1icmFuY2ggc2lkZScgJwogCSgKLQkJY2QgZGlyX3NpZGUyICYmIGdpdCBmZXRjaCAmJgorCQljZCBkaXJfc2lkZTIgJiYKKwkJZ2l0IGZldGNoICYmCiAJCWdpdCBmb3ItZWFjaC1yZWYgcmVmcy9yZW1vdGVzL29yaWdpbiB8CiAJCXNlZCAtZSAiL0hFQUQkL2QiIFwKIAkJICAgIC1lICJzfC9yZW1vdGVzL29yaWdpbi98L2hlYWRzL3wiID4uLi9hY3R1YWwKQEAgLTExNiwxNiArMTgyLDI5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2luZ2xlLWJyYW5jaCB3aXRoIGV4cGxpY2l0IC0tYnJhbmNoIHdpdGggdGFnIGZldGNoZXMgdXBkYXRlZCB0YWcnICcKIAkoCi0JCWNkIGRpcl90YWcgJiYgZ2l0IGZldGNoICYmCisJCWNkIGRpcl90YWcgJiYKKwkJZ2l0IGZldGNoICYmCiAJCWdpdCBmb3ItZWFjaC1yZWYgcmVmcy90YWdzID4uLi9hY3R1YWwKIAkpICYmCiAJZ2l0IGZvci1lYWNoLXJlZiByZWZzL3RhZ3MgPmV4cGVjdCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaW5nbGUtYnJhbmNoIHdpdGggZXhwbGljaXQgLS1icmFuY2ggd2l0aCB0YWcgZmV0Y2hlcyB1cGRhdGVkIHRhZyBkZXNwaXRlIC0tbm8tdGFncycgJworCSgKKwkJY2QgZGlyX3RhZ19ub190YWdzICYmCisJCWdpdCBmZXRjaCAmJgorCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvdGFncyA+Li4vYWN0dWFsCisJKSAmJgorCWdpdCBmb3ItZWFjaC1yZWYgcmVmcy90YWdzL3R3byA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2luZ2xlLWJyYW5jaCB3aXRoIC0tbWlycm9yJyAnCiAJKAotCQljZCBkaXJfbWlycm9yICYmIGdpdCBmZXRjaCAmJgorCQljZCBkaXJfbWlycm9yICYmCisJCWdpdCBmZXRjaCAmJgogCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMgPiAuLi9hY3R1YWwKIAkpICYmCiAJZ2l0IGZvci1lYWNoLXJlZiByZWZzID5leHBlY3QgJiYKQEAgLTEzNCw3ICsyMTMsOCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNpbmdsZS1icmFuY2ggd2l0aCBleHBsaWNpdCAtLWJyYW5jaCBhbmQgLS1taXJyb3InICcKIAkoCi0JCWNkIGRpcl9taXJyb3Jfc2lkZSAmJiBnaXQgZmV0Y2ggJiYKKwkJY2QgZGlyX21pcnJvcl9zaWRlICYmCisJCWdpdCBmZXRjaCAmJgogCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMgPiAuLi9hY3R1YWwKIAkpICYmCiAJZ2l0IGZvci1lYWNoLXJlZiByZWZzID5leHBlY3QgJiYKQEAgLTE0Myw3ICsyMjMsOCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNpbmdsZS1icmFuY2ggd2l0aCBkZXRhY2hlZCcgJwogCSgKLQkJY2QgZGlyX2RldGFjaGVkICYmIGdpdCBmZXRjaCAmJgorCQljZCBkaXJfZGV0YWNoZWQgJiYKKwkJZ2l0IGZldGNoICYmCiAJCWdpdCBmb3ItZWFjaC1yZWYgcmVmcy9yZW1vdGVzL29yaWdpbiB8CiAJCXNlZCAtZSAiL0hFQUQkL2QiIFwKIAkJICAgIC1lICJzfC9yZW1vdGVzL29yaWdpbi98L2hlYWRzL3wiID4uLi9hY3R1YWwKZGlmZiAtLWdpdCBhL3QvdDU2MTQtY2xvbmUtc3VibW9kdWxlcy5zaCBiL3QvdDU2MTQtY2xvbmUtc3VibW9kdWxlcy1zaGFsbG93LnNoCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIHQvdDU2MTQtY2xvbmUtc3VibW9kdWxlcy5zaApyZW5hbWUgdG8gdC90NTYxNC1jbG9uZS1zdWJtb2R1bGVzLXNoYWxsb3cuc2gKaW5kZXggYTg3ZDMyOS4uZTRlNmVhNCAxMDA3NTUKLS0tIGEvdC90NTYxNC1jbG9uZS1zdWJtb2R1bGVzLnNoCisrKyBiL3QvdDU2MTQtY2xvbmUtc3VibW9kdWxlcy1zaGFsbG93LnNoCkBAIC03MSw3ICs3MSw3IEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXJfY2xvbmUiICYmCiAJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnNoYWxsb3cgdHJ1ZSAmJgogCWdpdCBhZGQgLmdpdG1vZHVsZXMgJiYKLQlnaXQgY29tbWl0IC1tICJyZWNvbW1lZCBzaGFsbG93IGZvciBzdWIiICYmCisJZ2l0IGNvbW1pdCAtbSAicmVjb21tZW5kIHNoYWxsb3cgZm9yIHN1YiIgJiYKIAlnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1uby1sb2NhbCAiZmlsZTovLyRwd2QvLiIgc3VwZXJfY2xvbmUgJiYKIAkoCiAJCWNkIHN1cGVyX2Nsb25lICYmCkBAIC0xMDUsNyArMTA1LDcgQEAKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlcl9jbG9uZSIgJiYKIAlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIuc2hhbGxvdyBmYWxzZSAmJgogCWdpdCBhZGQgLmdpdG1vZHVsZXMgJiYKLQlnaXQgY29tbWl0IC1tICJyZWNvbW1lZCBub24gc2hhbGxvdyBmb3Igc3ViIiAmJgorCWdpdCBjb21taXQgLW0gInJlY29tbWVuZCBub24gc2hhbGxvdyBmb3Igc3ViIiAmJgogCWdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtLW5vLWxvY2FsICJmaWxlOi8vJHB3ZC8uIiBzdXBlcl9jbG9uZSAmJgogCSgKIAkJY2Qgc3VwZXJfY2xvbmUgJiYKZGlmZiAtLWdpdCBhL3QvdDYwMDItcmV2LWxpc3QtYmlzZWN0LnNoIGIvdC90NjAwMi1yZXYtbGlzdC1iaXNlY3Quc2gKaW5kZXggM2JmMjc1OS4uYTY2MTQwOCAxMDA3NTUKLS0tIGEvdC90NjAwMi1yZXYtbGlzdC1iaXNlY3Quc2gKKysrIGIvdC90NjAwMi1yZXYtbGlzdC1iaXNlY3Quc2gKQEAgLTIzNSw0ICsyMzUsMzIgQEAKIAogIwogIworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgZmFrZSAtLWJpc2VjdCByZWZzJyAnCisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9iaXNlY3QvYmFkIGMzICYmCisJZ29vZD0kKGdpdCByZXYtcGFyc2UgYjEpICYmCisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9iaXNlY3QvZ29vZC0kZ29vZCAkZ29vZCAmJgorCWdvb2Q9JChnaXQgcmV2LXBhcnNlIGMxKSAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvYmlzZWN0L2dvb2QtJGdvb2QgJGdvb2QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgLS1iaXNlY3QgY2FuIGRlZmF1bHQgdG8gZ29vZC9iYWQgcmVmcycgJworCSMgdGhlIG9ubHkgdGhpbmcgYmV0d2VlbiBjMyBhbmQgYzEgaXMgYzIKKwlnaXQgcmV2LXBhcnNlIGMyID5leHBlY3QgJiYKKwlnaXQgcmV2LWxpc3QgLS1iaXNlY3QgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LXBhcnNlIC0tYmlzZWN0IGNhbiBkZWZhdWx0IHRvIGdvb2QvYmFkIHJlZnMnICcKKwlnaXQgcmV2LXBhcnNlIGMzIF5iMSBeYzEgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgLS1iaXNlY3QgPmFjdHVhbCAmJgorCisJIyBvdXRwdXQgb3JkZXIgZGVwZW5kcyBvbiB0aGUgcmVmbmFtZXMsIHdoaWNoIGluIHR1cm4gZGVwZW5kcyBvbgorCSMgdGhlIGV4YWN0IHNoYTFzLiBXZSBqdXN0IHdhbnQgdG8gbWFrZSBzdXJlIHdlIGhhdmUgdGhlIHNhbWUgc2V0CisJIyBvZiBsaW5lcyBpbiBhbnkgb3JkZXIuCisJc29ydCA8ZXhwZWN0ID5leHBlY3Quc29ydGVkICYmCisJc29ydCA8YWN0dWFsID5hY3R1YWwuc29ydGVkICYmCisJdGVzdF9jbXAgZXhwZWN0LnNvcnRlZCBhY3R1YWwuc29ydGVkCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjAwNi1yZXYtbGlzdC1mb3JtYXQuc2ggYi90L3Q2MDA2LXJldi1saXN0LWZvcm1hdC5zaAppbmRleCBhMWRjZGI4Li5iMzI2ZDU1IDEwMDc1NQotLS0gYS90L3Q2MDA2LXJldi1saXN0LWZvcm1hdC5zaAorKysgYi90L3Q2MDA2LXJldi1saXN0LWZvcm1hdC5zaApAQCAtNTksMTAgKzU5LDE0IEBACiB9CiAKICMgRmVlZCB0byAtLWZvcm1hdCB0byBwcm92aWRlIHByZWRpY3RhYmxlIGNvbG9yZWQgc2VxdWVuY2VzLgorQkFTSUNfQ09MT1I9JyVDcmVkZm9vJUNyZXNldCcKK0NPTE9SPSclQyhyZWQpZm9vJUMocmVzZXQpJwogQVVUT19DT0xPUj0nJUMoYXV0byxyZWQpZm9vJUMoYXV0byxyZXNldCknCitBTFdBWVNfQ09MT1I9JyVDKGFsd2F5cyxyZWQpZm9vJUMoYWx3YXlzLHJlc2V0KScKIGhhc19jb2xvciAoKSB7Ci0JcHJpbnRmICdcMDMzWzMxbWZvb1wwMzNbbVxuJyA+ZXhwZWN0ICYmCi0JdGVzdF9jbXAgZXhwZWN0ICIkMSIKKwl0ZXN0X2RlY29kZV9jb2xvciA8IiQxIiA+ZGVjb2RlZCAmJgorCWVjaG8gIjxSRUQ+Zm9vPFJFU0VUPiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBkZWNvZGVkCiB9CiAKIGhhc19ub19jb2xvciAoKSB7CkBAIC0xNzAsNjIgKzE3NCw4NCBAQAogCiBFT0YKIAotdGVzdF9mb3JtYXQgY29sb3JzICVDcmVkZm9vJUNncmVlbmJhciVDYmx1ZWJheiVDcmVzZXR4eXp6eSA8PEVPRgotY29tbWl0ICRoZWFkMgotG1szMW1mb28bWzMybWJhchtbMzRtYmF6G1tteHl6enkKLWNvbW1pdCAkaGVhZDEKLRtbMzFtZm9vG1szMm1iYXIbWzM0bWJhehtbbXh5enp5Ci1FT0YKLQotdGVzdF9mb3JtYXQgYWR2YW5jZWQtY29sb3JzICclQyhyZWQgeWVsbG93IGJvbGQpZm9vJUMocmVzZXQpJyA8PEVPRgotY29tbWl0ICRoZWFkMgotG1sxOzMxOzQzbWZvbxtbbQotY29tbWl0ICRoZWFkMQotG1sxOzMxOzQzbWZvbxtbbQotRU9GCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8sLi4uKSBkb2VzIG5vdCBlbmFibGUgY29sb3IgYnkgZGVmYXVsdCcgJwotCWdpdCBsb2cgLS1mb3JtYXQ9JEFVVE9fQ09MT1IgLTEgPmFjdHVhbCAmJgotCWhhc19ub19jb2xvciBhY3R1YWwKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jhc2ljIGNvbG9ycycgJworCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCWNvbW1pdCAkaGVhZDIKKwk8UkVEPmZvbzxHUkVFTj5iYXI8QkxVRT5iYXo8UkVTRVQ+eHl6enkKKwlFT0YKKwlmb3JtYXQ9IiVDcmVkZm9vJUNncmVlbmJhciVDYmx1ZWJheiVDcmVzZXR4eXp6eSIgJiYKKwlnaXQgcmV2LWxpc3QgLS1jb2xvciAtLWZvcm1hdD0iJGZvcm1hdCIgLTEgbWFzdGVyID5hY3R1YWwucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnJUMoYXV0bywuLi4pIGVuYWJsZXMgY29sb3JzIGZvciBjb2xvci5kaWZmJyAnCi0JZ2l0IC1jIGNvbG9yLmRpZmY9YWx3YXlzIGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSA+YWN0dWFsICYmCi0JaGFzX2NvbG9yIGFjdHVhbAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWR2YW5jZWQgY29sb3JzJyAnCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJY29tbWl0ICRoZWFkMgorCTxCT0xEO1JFRDtCWUVMTE9XPmZvbzxSRVNFVD4KKwlFT0YKKwlmb3JtYXQ9IiVDKHJlZCB5ZWxsb3cgYm9sZClmb28lQyhyZXNldCkiICYmCisJZ2l0IHJldi1saXN0IC0tY29sb3IgLS1mb3JtYXQ9IiRmb3JtYXQiIC0xIG1hc3RlciA+YWN0dWFsLnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8sLi4uKSBlbmFibGVzIGNvbG9ycyBmb3IgY29sb3IudWknICcKLQlnaXQgLWMgY29sb3IudWk9YWx3YXlzIGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSA+YWN0dWFsICYmCi0JaGFzX2NvbG9yIGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvLC4uLikgcmVzcGVjdHMgLS1jb2xvcicgJwotCWdpdCBsb2cgLS1mb3JtYXQ9JEFVVE9fQ09MT1IgLTEgLS1jb2xvciA+YWN0dWFsICYmCi0JaGFzX2NvbG9yIGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvLC4uLikgcmVzcGVjdHMgLS1uby1jb2xvcicgJwotCWdpdCAtYyBjb2xvci51aT1hbHdheXMgbG9nIC0tZm9ybWF0PSRBVVRPX0NPTE9SIC0xIC0tbm8tY29sb3IgPmFjdHVhbCAmJgotCWhhc19ub19jb2xvciBhY3R1YWwKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJyVDKGF1dG8sLi4uKSByZXNwZWN0cyAtLWNvbG9yPWF1dG8gKHN0ZG91dCBpcyB0dHkpJyAnCi0JdGVzdF90ZXJtaW5hbCBlbnYgVEVSTT12dDEwMCBcCi0JCWdpdCBsb2cgLS1mb3JtYXQ9JEFVVE9fQ09MT1IgLTEgLS1jb2xvcj1hdXRvID5hY3R1YWwgJiYKLQloYXNfY29sb3IgYWN0dWFsCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8sLi4uKSByZXNwZWN0cyAtLWNvbG9yPWF1dG8gKHN0ZG91dCBub3QgdHR5KScgJwotCSgKLQkJVEVSTT12dDEwMCAmJiBleHBvcnQgVEVSTSAmJgotCQlnaXQgbG9nIC0tZm9ybWF0PSRBVVRPX0NPTE9SIC0xIC0tY29sb3I9YXV0byA+YWN0dWFsICYmCitmb3Igc3BlYyBpbiBcCisJIiVDcmVkOiRCQVNJQ19DT0xPUiIgXAorCSIlQyguLi4pOiRDT0xPUiIgXAorCSIlQyhhdXRvLC4uLik6JEFVVE9fQ09MT1IiCitkbworCWRlc2M9JHtzcGVjJSU6Kn0KKwljb2xvcj0ke3NwZWMjKjp9CisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGRlc2MgZG9lcyBub3QgZW5hYmxlIGNvbG9yIGJ5IGRlZmF1bHQiICcKKwkJZ2l0IGxvZyAtLWZvcm1hdD0kY29sb3IgLTEgPmFjdHVhbCAmJgogCQloYXNfbm9fY29sb3IgYWN0dWFsCi0JKQorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRkZXNjIGVuYWJsZXMgY29sb3JzIGZvciBjb2xvci5kaWZmIiAnCisJCWdpdCAtYyBjb2xvci5kaWZmPWFsd2F5cyBsb2cgLS1mb3JtYXQ9JGNvbG9yIC0xID5hY3R1YWwgJiYKKwkJaGFzX2NvbG9yIGFjdHVhbAorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRkZXNjIGVuYWJsZXMgY29sb3JzIGZvciBjb2xvci51aSIgJworCQlnaXQgLWMgY29sb3IudWk9YWx3YXlzIGxvZyAtLWZvcm1hdD0kY29sb3IgLTEgPmFjdHVhbCAmJgorCQloYXNfY29sb3IgYWN0dWFsCisJJworCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGRlc2MgcmVzcGVjdHMgLS1jb2xvciIgJworCQlnaXQgbG9nIC0tZm9ybWF0PSRjb2xvciAtMSAtLWNvbG9yID5hY3R1YWwgJiYKKwkJaGFzX2NvbG9yIGFjdHVhbAorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRkZXNjIHJlc3BlY3RzIC0tbm8tY29sb3IiICcKKwkJZ2l0IC1jIGNvbG9yLnVpPWFsd2F5cyBsb2cgLS1mb3JtYXQ9JGNvbG9yIC0xIC0tbm8tY29sb3IgPmFjdHVhbCAmJgorCQloYXNfbm9fY29sb3IgYWN0dWFsCisJJworCisJdGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgIiRkZXNjIHJlc3BlY3RzIC0tY29sb3I9YXV0byAoc3Rkb3V0IGlzIHR0eSkiICcKKwkJdGVzdF90ZXJtaW5hbCBlbnYgVEVSTT12dDEwMCBcCisJCQlnaXQgbG9nIC0tZm9ybWF0PSRjb2xvciAtMSAtLWNvbG9yPWF1dG8gPmFjdHVhbCAmJgorCQloYXNfY29sb3IgYWN0dWFsCisJJworCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiJGRlc2MgcmVzcGVjdHMgLS1jb2xvcj1hdXRvIChzdGRvdXQgbm90IHR0eSkiICcKKwkJKAorCQkJVEVSTT12dDEwMCAmJiBleHBvcnQgVEVSTSAmJgorCQkJZ2l0IGxvZyAtLWZvcm1hdD0kY29sb3IgLTEgLS1jb2xvcj1hdXRvID5hY3R1YWwgJiYKKwkJCWhhc19ub19jb2xvciBhY3R1YWwKKwkJKQorCScKK2RvbmUKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJUMoYWx3YXlzLC4uLikgZW5hYmxlcyBjb2xvciBldmVuIHdpdGhvdXQgdHR5JyAnCisJZ2l0IGxvZyAtLWZvcm1hdD0kQUxXQVlTX0NPTE9SIC0xID5hY3R1YWwgJiYKKwloYXNfY29sb3IgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8pIHJlc3BlY3RzIC0tY29sb3InICcKLQlnaXQgbG9nIC0tY29sb3IgLS1mb3JtYXQ9IiVDKGF1dG8pJUgiIC0xID5hY3R1YWwgJiYKLQlwcmludGYgIlxcMDMzWzMzbSVzXFwwMzNbbVxcbiIgJChnaXQgcmV2LXBhcnNlIEhFQUQpID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tY29sb3IgLS1mb3JtYXQ9IiVDKGF1dG8pJUgiIC0xID5hY3R1YWwucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCWVjaG8gIjxZRUxMT1c+JChnaXQgcmV2LXBhcnNlIEhFQUQpPFJFU0VUPiIgPmV4cGVjdCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMjM1LDYgKzI2MSwxNyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgJUMoYXV0bywuLi4pIHJlc3BlY3RzIC0tY29sb3InICcKKwlnaXQgcmV2LWxpc3QgLS1jb2xvciAtLWZvcm1hdD0iJUMoYXV0byxncmVlbilmb28lQyhhdXRvLHJlc2V0KSIgXAorCQktMSBIRUFEID5hY3R1YWwucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCWNvbW1pdCAkKGdpdCByZXYtcGFyc2UgSEVBRCkKKwk8R1JFRU4+Zm9vPFJFU0VUPgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogaWNvbnYgLWYgdXRmLTggLXQgJHRlc3RfZW5jb2RpbmcgPiBjb21taXQtbXNnIDw8RU9GCiBUZXN0IHByaW50aW5nIG9mIGNvbXBsZXggYm9kaWVzCiAKZGlmZiAtLWdpdCBhL3QvdDYwMDctcmV2LWxpc3QtY2hlcnJ5LXBpY2stZmlsZS5zaCBiL3QvdDYwMDctcmV2LWxpc3QtY2hlcnJ5LXBpY2stZmlsZS5zaAppbmRleCAxNDA4YjYwLi4yOTU5NzQ1IDEwMDc1NQotLS0gYS90L3Q2MDA3LXJldi1saXN0LWNoZXJyeS1waWNrLWZpbGUuc2gKKysrIGIvdC90NjAwNy1yZXYtbGlzdC1jaGVycnktcGljay1maWxlLnNoCkBAIC05OSw2ICs5OSw0NCBAQAogCXRlc3RfY21wIGFjdHVhbC5uYW1lZCBleHBlY3QKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbmFtZS1yZXYgbXVsdGlwbGUgLS1yZWZzIGNvbWJpbmUgaW5jbHVzaXZlJyAnCisJZ2l0IHJldi1saXN0IC0tbGVmdC1yaWdodCAtLWNoZXJyeS1waWNrIEYuLi5FIC0tIGJhciA+YWN0dWFsICYmCisJZ2l0IG5hbWUtcmV2IC0tc3RkaW4gLS1uYW1lLW9ubHkgLS1yZWZzPSIqdGFncy9GIiAtLXJlZnM9Iip0YWdzL0UiIFwKKwkJPGFjdHVhbCA+YWN0dWFsLm5hbWVkICYmCisJdGVzdF9jbXAgYWN0dWFsLm5hbWVkIGV4cGVjdAorJworCitjYXQgPmV4cGVjdCA8PEVPRgorPHRhZ3MvRgorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25hbWUtcmV2IC0tcmVmcyBleGNsdWRlcyBub24tbWF0Y2hlZCBwYXR0ZXJucycgJworCWdpdCByZXYtbGlzdCAtLWxlZnQtcmlnaHQgLS1yaWdodC1vbmx5IC0tY2hlcnJ5LXBpY2sgRi4uLkUgLS0gYmFyID4+ZXhwZWN0ICYmCisJZ2l0IHJldi1saXN0IC0tbGVmdC1yaWdodCAtLWNoZXJyeS1waWNrIEYuLi5FIC0tIGJhciA+YWN0dWFsICYmCisJZ2l0IG5hbWUtcmV2IC0tc3RkaW4gLS1uYW1lLW9ubHkgLS1yZWZzPSIqdGFncy9GIiBcCisJCTxhY3R1YWwgPmFjdHVhbC5uYW1lZCAmJgorCXRlc3RfY21wIGFjdHVhbC5uYW1lZCBleHBlY3QKKycKKworY2F0ID5leHBlY3QgPDxFT0YKKzx0YWdzL0YKK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICduYW1lLXJldiAtLWV4Y2x1ZGUgZXhjbHVkZXMgbWF0Y2hlZCBwYXR0ZXJucycgJworCWdpdCByZXYtbGlzdCAtLWxlZnQtcmlnaHQgLS1yaWdodC1vbmx5IC0tY2hlcnJ5LXBpY2sgRi4uLkUgLS0gYmFyID4+ZXhwZWN0ICYmCisJZ2l0IHJldi1saXN0IC0tbGVmdC1yaWdodCAtLWNoZXJyeS1waWNrIEYuLi5FIC0tIGJhciA+YWN0dWFsICYmCisJZ2l0IG5hbWUtcmV2IC0tc3RkaW4gLS1uYW1lLW9ubHkgLS1yZWZzPSIqdGFncy8qIiAtLWV4Y2x1ZGU9IipFIiBcCisJCTxhY3R1YWwgPmFjdHVhbC5uYW1lZCAmJgorCXRlc3RfY21wIGFjdHVhbC5uYW1lZCBleHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbmFtZS1yZXYgLS1uby1yZWZzIGNsZWFycyB0aGUgcmVmcyBsaXN0JyAnCisJZ2l0IHJldi1saXN0IC0tbGVmdC1yaWdodCAtLWNoZXJyeS1waWNrIEYuLi5FIC0tIGJhciA+ZXhwZWN0ICYmCisJZ2l0IG5hbWUtcmV2IC0tc3RkaW4gLS1uYW1lLW9ubHkgLS1yZWZzPSIqdGFncy9GIiAtLXJlZnM9Iip0YWdzL0UiIC0tbm8tcmVmcyAtLXJlZnM9Iip0YWdzL0ciIFwKKwkJPGV4cGVjdCA+YWN0dWFsICYmCisJdGVzdF9jbXAgYWN0dWFsIGV4cGVjdAorJworCiBjYXQgPmV4cGVjdCA8PEVPRgogK3RhZ3MvRgogPXRhZ3MvRApkaWZmIC0tZ2l0IGEvdC90NjAxOC1yZXYtbGlzdC1nbG9iLnNoIGIvdC90NjAxOC1yZXYtbGlzdC1nbG9iLnNoCmluZGV4IDM4MWYzNWUuLmQzNDUzYzUgMTAwNzU1Ci0tLSBhL3QvdDYwMTgtcmV2LWxpc3QtZ2xvYi5zaAorKysgYi90L3Q2MDE4LXJldi1saXN0LWdsb2Iuc2gKQEAgLTI1NSwyNyArMjU1LDE5IEBACiAJY29tcGFyZSByZXYtbGlzdCAiLS1leGNsdWRlPXJlZnMvcmVtb3Rlcy8qIC0tZXhjbHVkZT1yZWZzL3RhZ3MvKiAtLWFsbCIgLS1icmFuY2hlcwogJwogCi0KLSMgImdpdCByZXYtbGlzdDxFTlRFUj4iIGlzIGxpa2VseSB0byBiZSBhIGJ1ZyBpbiB0aGUgY2FsbGluZyBzY3JpcHQgYW5kIG1heQotIyBkZXNlcnZlIGFuIGVycm9yIG1lc3NhZ2UsIGJ1dCBkbyBjYXNlcyB3aGVyZSBzZXQgb2YgcmVmcyBwcm9ncmFtbWF0aWNhbGx5Ci0jIGdpdmVuIHVzaW5nIGdsb2JiaW5nIGFuZC9vciAtLXN0ZGluIG5lZWQgdG8gZmFpbCB3aXRoIHRoZSBzYW1lIGVycm9yLCBvcgotIyBhcmUgd2UgYmV0dGVyIG9mZiByZXBvcnRpbmcgYSBzdWNjZXNzIHdpdGggbm8gb3V0cHV0PyAgVGhlIGZvbGxvd2luZyBmZXcKLSMgdGVzdHMgZG9jdW1lbnQgdGhlIGN1cnJlbnQgYmVoYXZpb3VyIHRvIHJlbWluZCB1cyB0aGF0IHdlIG1pZ2h0IHdhbnQgdG8KLSMgdGhpbmsgYWJvdXQgdGhpcyBpc3N1ZS4KLQotdGVzdF9leHBlY3RfZmFpbHVyZSAncmV2LWxpc3QgbWF5IHdhbnQgdG8gc3VjY2VlZCB3aXRoIGVtcHR5IG91dHB1dCBvbiBubyBpbnB1dCAoMSknICcKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ3Jldi1saXN0IHNob3VsZCBzdWNjZWVkIHdpdGggZW1wdHkgb3V0cHV0IG9uIGVtcHR5IHN0ZGluJyAnCiAJPmV4cGVjdCAmJgogCWdpdCByZXYtbGlzdCAtLXN0ZGluIDxleHBlY3QgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3RfZmFpbHVyZSAncmV2LWxpc3QgbWF5IHdhbnQgdG8gc3VjY2VlZCB3aXRoIGVtcHR5IG91dHB1dCBvbiBubyBpbnB1dCAoMiknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1saXN0IHNob3VsZCBzdWNjZWVkIHdpdGggZW1wdHkgb3V0cHV0IHdpdGggYWxsIHJlZnMgZXhjbHVkZWQnICcKIAk+ZXhwZWN0ICYmCiAJZ2l0IHJldi1saXN0IC0tZXhjbHVkZT0qIC0tYWxsID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ3Jldi1saXN0IG1heSB3YW50IHRvIHN1Y2NlZWQgd2l0aCBlbXB0eSBvdXRwdXQgb24gbm8gaW5wdXQgKDMpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCBzaG91bGQgc3VjY2VlZCB3aXRoIGVtcHR5IG91dHB1dCB3aXRoIGVtcHR5IC0tYWxsJyAnCiAJKAogCQl0ZXN0X2NyZWF0ZV9yZXBvIGVtcHR5ICYmCiAJCWNkIGVtcHR5ICYmCkBAIC0yODUsNiArMjc3LDEyIEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCBzaG91bGQgc3VjY2VlZCB3aXRoIGVtcHR5IG91dHB1dCB3aXRoIGVtcHR5IGdsb2InICcKKwk+ZXhwZWN0ICYmCisJZ2l0IHJldi1saXN0IC0tZ2xvYj1kb2VzLW5vdC1tYXRjaC1hbnl0aGluZyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG9ydGxvZyBhY2NlcHRzIC0tZ2xvYi8tLXRhZ3MvLS1yZW1vdGVzJyAnCiAKIAljb21wYXJlIHNob3J0bG9nICJzdWJzcGFjZS9vbmUgc3Vic3BhY2UvdHdvIiAtLWJyYW5jaGVzPXN1YnNwYWNlICYmCmRpZmYgLS1naXQgYS90L3Q2MDQwLXRyYWNraW5nLWluZm8uc2ggYi90L3Q2MDQwLXRyYWNraW5nLWluZm8uc2gKaW5kZXggM2Q1YzIzOC4uOGYxN2ZkOSAxMDA3NTUKLS0tIGEvdC90NjA0MC10cmFja2luZy1pbmZvLnNoCisrKyBiL3QvdDYwNDAtdHJhY2tpbmctaW5mby5zaApAQCAtNDQsNyArNDQsNyBAQAogYjIgW2FoZWFkIDEsIGJlaGluZCAxXSBkCiBiMyBbYmVoaW5kIDFdIGIKIGI0IFthaGVhZCAyXSBmCi1iNSBnCitiNSBbZ29uZV0gZwogYjYgYwogRU9GCiAKQEAgLTEwMCw3ICsxMDAsNyBAQAogCSgKIAkJY2QgdGVzdCAmJiBnaXQgY2hlY2tvdXQgYjYKIAkpID5hY3R1YWwgJiYKLQl0ZXN0X2kxOG5ncmVwICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggLm9yaWdpbi9tYXN0ZXIiIGFjdHVhbAorCXRlc3RfaTE4bmdyZXAgIllvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAub3JpZ2luL21hc3RlciIgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAoZGl2ZXJnZWQgZnJvbSB1cHN0cmVhbSknICcKQEAgLTEzMCw3ICsxMzAsNyBAQAogCQkjIHJlcG9ydHMgbm90aGluZyB0byBjb21taXQKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLWRyeS1ydW4KIAkpID5hY3R1YWwgJiYKLQl0ZXN0X2kxOG5ncmVwICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggLm9yaWdpbi9tYXN0ZXIiIGFjdHVhbAorCXRlc3RfaTE4bmdyZXAgIllvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAub3JpZ2luL21hc3RlciIgYWN0dWFsCiAnCiAKIGNhdCA+ZXhwZWN0IDw8XEVPRgpAQCAtMTg4LDM1ICsxODgsMjkgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgY2hlY2tvdXQgaGVhdnl0cmFjawogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB0cmFja2luZyB3aXRoIGJyYW5jaCAtLXNldC11cHN0cmVhbSBvbiBleGlzdGluZyBicmFuY2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2V0LXVwc3RyZWFtLXRvIGRvZXMgbm90IGNoYW5nZSBicmFuY2gnICcKIAlnaXQgYnJhbmNoIGZyb20tbWFzdGVyIG1hc3RlciAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgYnJhbmNoLmZyb20tbWFzdGVyLm1lcmdlID4gYWN0dWFsICYmCi0JZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbSBmcm9tLW1hc3RlciBtYXN0ZXIgJiYKLQlnaXQgY29uZmlnIGJyYW5jaC5mcm9tLW1hc3Rlci5tZXJnZSA+IGFjdHVhbCAmJgotCWdyZXAgLXEgIl5yZWZzL2hlYWRzL21hc3RlciQiIGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNldC11cHN0cmVhbSBkb2VzIG5vdCBjaGFuZ2UgYnJhbmNoJyAnCisJZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBtYXN0ZXIgZnJvbS1tYXN0ZXIgJiYKIAlnaXQgYnJhbmNoIGZyb20tbWFzdGVyMiBtYXN0ZXIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIGJyYW5jaC5mcm9tLW1hc3RlcjIubWVyZ2UgPiBhY3R1YWwgJiYKIAlnaXQgcmV2LWxpc3QgZnJvbS1tYXN0ZXIyICYmCiAJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9mcm9tLW1hc3RlcjIgZnJvbS1tYXN0ZXIyXiAmJgogCWdpdCByZXYtcGFyc2UgZnJvbS1tYXN0ZXIyID5leHBlY3QyICYmCi0JZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbSBmcm9tLW1hc3RlcjIgbWFzdGVyICYmCisJZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBtYXN0ZXIgZnJvbS1tYXN0ZXIyICYmCiAJZ2l0IGNvbmZpZyBicmFuY2guZnJvbS1tYXN0ZXIubWVyZ2UgPiBhY3R1YWwgJiYKIAlnaXQgcmV2LXBhcnNlIGZyb20tbWFzdGVyMiA+YWN0dWFsMiAmJgogCWdyZXAgLXEgIl5yZWZzL2hlYWRzL21hc3RlciQiIGFjdHVhbCAmJgogCWNtcCBleHBlY3QyIGFjdHVhbDIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zZXQtdXBzdHJlYW0gQHstMX0nICcKLQlnaXQgY2hlY2tvdXQgZnJvbS1tYXN0ZXIgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2V0LXVwc3RyZWFtLXRvIEB7LTF9JyAnCisJZ2l0IGNoZWNrb3V0IGZvbGxvd2VyICYmCiAJZ2l0IGNoZWNrb3V0IGZyb20tbWFzdGVyMiAmJgogCWdpdCBjb25maWcgYnJhbmNoLmZyb20tbWFzdGVyMi5tZXJnZSA+IGV4cGVjdDIgJiYKLQlnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtIEB7LTF9IGZvbGxvd2VyICYmCisJZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBAey0xfSBmcm9tLW1hc3RlciAmJgogCWdpdCBjb25maWcgYnJhbmNoLmZyb20tbWFzdGVyLm1lcmdlID4gYWN0dWFsICYmCiAJZ2l0IGNvbmZpZyBicmFuY2guZnJvbS1tYXN0ZXIyLm1lcmdlID4gYWN0dWFsMiAmJgotCWdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0gZnJvbS1tYXN0ZXIgZm9sbG93ZXIgJiYKKwlnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIGZvbGxvd2VyIGZyb20tbWFzdGVyICYmCiAJZ2l0IGNvbmZpZyBicmFuY2guZnJvbS1tYXN0ZXIubWVyZ2UgPiBleHBlY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3QyIGFjdHVhbDIgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCmRpZmYgLS1naXQgYS90L3Q2MDQ1LW1lcmdlLXJlbmFtZS1kZWxldGUuc2ggYi90L3Q2MDQ1LW1lcmdlLXJlbmFtZS1kZWxldGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWQzMzU3NwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDYwNDUtbWVyZ2UtcmVuYW1lLWRlbGV0ZS5zaApAQCAtMCwwICsxLDIzIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nTWVyZ2UtcmVjdXJzaXZlIHJlbmFtZS9kZWxldGUgY29uZmxpY3QgbWVzc2FnZScKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW5hbWUvZGVsZXRlJyAnCisJZWNobyBmb28gPkEgJiYKKwlnaXQgYWRkIEEgJiYKKwlnaXQgY29tbWl0IC1tICJpbml0aWFsIiAmJgorCisJZ2l0IGNoZWNrb3V0IC1iIHJlbmFtZSAmJgorCWdpdCBtdiBBIEIgJiYKKwlnaXQgY29tbWl0IC1tICJyZW5hbWUiICYmCisKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJZ2l0IHJtIEEgJiYKKwlnaXQgY29tbWl0IC1tICJkZWxldGUiICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLS1zdHJhdGVneT1yZWN1cnNpdmUgcmVuYW1lID5vdXRwdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICJDT05GTElDVCAocmVuYW1lL2RlbGV0ZSk6IEEgZGVsZXRlZCBpbiBIRUFEIGFuZCByZW5hbWVkIHRvIEIgaW4gcmVuYW1lLiBWZXJzaW9uIHJlbmFtZSBvZiBCIGxlZnQgaW4gdHJlZS4iIG91dHB1dAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMjAtZGVzY3JpYmUuc2ggYi90L3Q2MTIwLWRlc2NyaWJlLnNoCmluZGV4IDg1ZjI2OTQuLjFjMGU4NjUgMTAwNzU1Ci0tLSBhL3QvdDYxMjAtZGVzY3JpYmUuc2gKKysrIGIvdC90NjEyMC1kZXNjcmliZS5zaApAQCAtMTgyLDYgKzE4Miw0MSBAQAogCiBjaGVja19kZXNjcmliZSAidGVzdDItbGlnaHR3ZWlnaHQtKiIgLS1sb25nIC0tdGFncyAtLW1hdGNoPSJ0ZXN0Mi0qIiBIRUFEXgogCitjaGVja19kZXNjcmliZSAidGVzdDItbGlnaHR3ZWlnaHQtKiIgLS1sb25nIC0tdGFncyAtLW1hdGNoPSJ0ZXN0MS0qIiAtLW1hdGNoPSJ0ZXN0Mi0qIiBIRUFEXgorCitjaGVja19kZXNjcmliZSAidGVzdDItbGlnaHR3ZWlnaHQtKiIgLS1sb25nIC0tdGFncyAtLW1hdGNoPSJ0ZXN0MS0qIiAtLW5vLW1hdGNoIC0tbWF0Y2g9InRlc3QyLSoiIEhFQUReCisKK2NoZWNrX2Rlc2NyaWJlICJ0ZXN0MS1saWdodHdlaWdodC0qIiAtLWxvbmcgLS10YWdzIC0tbWF0Y2g9InRlc3QxLSoiIC0tbWF0Y2g9InRlc3QzLSoiIEhFQUQKKworY2hlY2tfZGVzY3JpYmUgInRlc3QxLWxpZ2h0d2VpZ2h0LSoiIC0tbG9uZyAtLXRhZ3MgLS1tYXRjaD0idGVzdDMtKiIgLS1tYXRjaD0idGVzdDEtKiIgSEVBRAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQtdXAgYnJhbmNoZXMnICcKKwlnaXQgYnJhbmNoIGJyYW5jaF9BIEEgJiYKKwlnaXQgYnJhbmNoIGJyYW5jaF9DIGMgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvb3JpZ2luL3JlbW90ZV9icmFuY2hfQSAiQV57Y29tbWl0fSIgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvb3JpZ2luL3JlbW90ZV9icmFuY2hfQyAiY157Y29tbWl0fSIgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL29yaWdpbmFsL29yaWdpbmFsX2JyYW5jaF9BIHRlc3QtYW5ub3RhdGVkfjIKKycKKworY2hlY2tfZGVzY3JpYmUgImhlYWRzL2JyYW5jaF9BKiIgLS1hbGwgLS1tYXRjaD0iYnJhbmNoXyoiIC0tZXhjbHVkZT0iYnJhbmNoX0MiIEhFQUQKKworY2hlY2tfZGVzY3JpYmUgInJlbW90ZXMvb3JpZ2luL3JlbW90ZV9icmFuY2hfQSoiIC0tYWxsIC0tbWF0Y2g9Im9yaWdpbi9yZW1vdGVfYnJhbmNoXyoiIC0tZXhjbHVkZT0ib3JpZ2luL3JlbW90ZV9icmFuY2hfQyIgSEVBRAorCitjaGVja19kZXNjcmliZSAib3JpZ2luYWwvb3JpZ2luYWxfYnJhbmNoX0EqIiAtLWFsbCB0ZXN0LWFubm90YXRlZH4xCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbWF0Y2ggZG9lcyBub3Qgd29yayBmb3Igb3RoZXIgdHlwZXMnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGVzY3JpYmUgLS1hbGwgLS1tYXRjaD0iKm9yaWdpbmFsX2JyYW5jaF8qIiB0ZXN0LWFubm90YXRlZH4xCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tZXhjbHVkZSBkb2VzIG5vdCB3b3JrIGZvciBvdGhlciB0eXBlcycgJworCVI9JChnaXQgZGVzY3JpYmUgLS1hbGwgLS1leGNsdWRlPSJhbnlfcGF0dGVybl9ldmVuX25vdF9tYXRjaGluZyIgdGVzdC1hbm5vdGF0ZWR+MSkgJiYKKwljYXNlICIkUiIgaW4KKwkqb3JpZ2luYWxfYnJhbmNoX0EqKSBlY2hvICJmYWlsOiBGb3VuZCB1bmtub3duIHJlZmVyZW5jZSAkUiB3aXRoIC0tZXhjbHVkZSIKKwkJZmFsc2U7OworCSopIGVjaG8gb2s6IEZvdW5kIHNvbWUga25vd24gdHlwZTs7CisJZXNhYworJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICduYW1lLXJldiB3aXRoIGV4YWN0IHRhZ3MnICcKIAllY2hvIEEgPmV4cGVjdCAmJgogCXRhZ19vYmplY3Q9JChnaXQgcmV2LXBhcnNlIHJlZnMvdGFncy9BKSAmJgpAQCAtMTk0LDYgKzIyOSwzMSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbmFtZS1yZXYgLS1hbGwnICcKKwk+ZXhwZWN0LnVuc29ydGVkICYmCisJZm9yIHJldiBpbiAkKGdpdCByZXYtbGlzdCAtLWFsbCkKKwlkbworCQlnaXQgbmFtZS1yZXYgJHJldiA+PmV4cGVjdC51bnNvcnRlZAorCWRvbmUgJiYKKwlzb3J0IDxleHBlY3QudW5zb3J0ZWQgPmV4cGVjdCAmJgorCWdpdCBuYW1lLXJldiAtLWFsbCA+YWN0dWFsLnVuc29ydGVkICYmCisJc29ydCA8YWN0dWFsLnVuc29ydGVkID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25hbWUtcmV2IC0tc3RkaW4nICcKKwk+ZXhwZWN0LnVuc29ydGVkICYmCisJZm9yIHJldiBpbiAkKGdpdCByZXYtbGlzdCAtLWFsbCkKKwlkbworCQluYW1lPSQoZ2l0IG5hbWUtcmV2IC0tbmFtZS1vbmx5ICRyZXYpICYmCisJCWVjaG8gIiRyZXYgKCRuYW1lKSIgPj5leHBlY3QudW5zb3J0ZWQKKwlkb25lICYmCisJc29ydCA8ZXhwZWN0LnVuc29ydGVkID5leHBlY3QgJiYKKwlnaXQgcmV2LWxpc3QgLS1hbGwgfCBnaXQgbmFtZS1yZXYgLS1zdGRpbiA+YWN0dWFsLnVuc29ydGVkICYmCisJc29ydCA8YWN0dWFsLnVuc29ydGVkID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rlc2NyaWJlIC0tY29udGFpbnMgd2l0aCB0aGUgZXhhY3QgdGFncycgJwogCWVjaG8gIkFeMCIgPmV4cGVjdCAmJgogCXRhZ19vYmplY3Q9JChnaXQgcmV2LXBhcnNlIHJlZnMvdGFncy9BKSAmJgpAQCAtMjA2LDQgKzI2Niw3OCBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVzY3JpYmUgLS1jb250YWlucyBhbmQgLS1tYXRjaCcgJworCWVjaG8gIkFeMCIgPmV4cGVjdCAmJgorCXRhZ2dlZF9jb21taXQ9JChnaXQgcmV2LXBhcnNlICJyZWZzL3RhZ3MvQV4wIikgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGVzY3JpYmUgLS1jb250YWlucyAtLW1hdGNoPSJCIiAkdGFnZ2VkX2NvbW1pdCAmJgorCWdpdCBkZXNjcmliZSAtLWNvbnRhaW5zIC0tbWF0Y2g9IkIiIC0tbWF0Y2g9IkEiICR0YWdnZWRfY29tbWl0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rlc2NyaWJlIC0tZXhjbHVkZScgJworCWVjaG8gImN+MSIgPmV4cGVjdCAmJgorCXRhZ2dlZF9jb21taXQ9JChnaXQgcmV2LXBhcnNlICJyZWZzL3RhZ3MvQV4wIikgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGVzY3JpYmUgLS1jb250YWlucyAtLW1hdGNoPSJCIiAkdGFnZ2VkX2NvbW1pdCAmJgorCWdpdCBkZXNjcmliZSAtLWNvbnRhaW5zIC0tbWF0Y2g9Ij8iIC0tZXhjbHVkZT0iQSIgJHRhZ2dlZF9jb21taXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVzY3JpYmUgLS1jb250YWlucyBhbmQgLS1uby1tYXRjaCcgJworCWVjaG8gIkFeMCIgPmV4cGVjdCAmJgorCXRhZ2dlZF9jb21taXQ9JChnaXQgcmV2LXBhcnNlICJyZWZzL3RhZ3MvQV4wIikgJiYKKwlnaXQgZGVzY3JpYmUgLS1jb250YWlucyAtLW1hdGNoPSJCIiAtLW5vLW1hdGNoICR0YWdnZWRfY29tbWl0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGFuZCBhYnNvcmIgYSBzdWJtb2R1bGUnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIHN1YjEgJiYKKwl0ZXN0X2NvbW1pdCAtQyBzdWIxIGluaXRpYWwgJiYKKwlnaXQgc3VibW9kdWxlIGFkZCAuL3N1YjEgJiYKKwlnaXQgc3VibW9kdWxlIGFic29yYmdpdGRpcnMgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJhZGQgc3VibW9kdWxlIiAmJgorCWdpdCBkZXNjcmliZSAtLWRpcnR5ID5leHBlY3QgJiYKKwlnaXQgZGVzY3JpYmUgLS1icm9rZW4gPm91dCAmJgorCXRlc3RfY21wIGV4cGVjdCBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVzY3JpYmUgY2hva2VzIG9uIHNldmVyZWx5IGJyb2tlbiBzdWJtb2R1bGVzJyAnCisJbXYgLmdpdC9tb2R1bGVzL3N1YjEvIC5naXQvbW9kdWxlcy9zdWJfbW92ZWQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGVzY3JpYmUgLS1kaXJ0eQorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVzY3JpYmUgaWdub3JpbmcgYSBib3JrZW4gc3VibW9kdWxlJyAnCisJZ2l0IGRlc2NyaWJlIC0tYnJva2VuID5vdXQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgIm12IC5naXQvbW9kdWxlcy9zdWJfbW92ZWQgLmdpdC9tb2R1bGVzL3N1YjEiICYmCisJZ3JlcCBicm9rZW4gb3V0CisnCisKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgVUxJTUlUX1NUQUNLX1NJWkUgJ25hbWUtcmV2IHdvcmtzIGluIGEgZGVlcCByZXBvJyAnCisJaT0xICYmCisJd2hpbGUgdGVzdCAkaSAtbHQgODAwMAorCWRvCisJCWVjaG8gImNvbW1pdCByZWZzL2hlYWRzL21hc3RlcgorY29tbWl0dGVyIEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+ICQoKDEwMDAwMDAwMDAgKyAkaSAqIDEwMCkpICswMjAwCitkYXRhIDw8RU9GCitjb21taXQgIyRpCitFT0YiCisJCXRlc3QgJGkgPSAxICYmIGVjaG8gImZyb20gcmVmcy9oZWFkcy9tYXN0ZXJeMCIKKwkJaT0kKCgkaSArIDEpKQorCWRvbmUgfCBnaXQgZmFzdC1pbXBvcnQgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJZ2l0IHRhZyBmYXItZmFyLWF3YXkgSEVBRF4gJiYKKwllY2hvICJIRUFEfjQwMDAgdGFncy9mYXItZmFyLWF3YXl+Mzk5OSIgPmV4cGVjdCAmJgorCWdpdCBuYW1lLXJldiBIRUFEfjQwMDAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlydW5fd2l0aF9saW1pdGVkX3N0YWNrIGdpdCBuYW1lLXJldiBIRUFEfjQwMDAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBVTElNSVRfU1RBQ0tfU0laRSAnZGVzY3JpYmUgd29ya3MgaW4gYSBkZWVwIHJlcG8nICcKKwlnaXQgdGFnIC1mIGZhci1mYXItYXdheSBIRUFEfjc5OTkgJiYKKwllY2hvICJmYXItZmFyLWF3YXkiID5leHBlY3QgJiYKKwlnaXQgZGVzY3JpYmUgLS10YWdzIC0tYWJicmV2PTAgSEVBRH40MDAwID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJcnVuX3dpdGhfbGltaXRlZF9zdGFjayBnaXQgZGVzY3JpYmUgLS10YWdzIC0tYWJicmV2PTAgSEVBRH40MDAwID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjEzMi1wYXRoc3BlYy1leGNsdWRlLnNoIGIvdC90NjEzMi1wYXRoc3BlYy1leGNsdWRlLnNoCmluZGV4IGQ1MTU5NWMuLmViODI5ZmMgMTAwNzU1Ci0tLSBhL3QvdDYxMzItcGF0aHNwZWMtZXhjbHVkZS5zaAorKysgYi90L3Q2MTMyLXBhdGhzcGVjLWV4Y2x1ZGUuc2gKQEAgLTI1LDggKzI1LDEwIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdleGNsdWRlIG9ubHkgc2hvdWxkIGVycm9yIG91dCcgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgLS1vbmVsaW5lIC0tZm9ybWF0PSVzIC0tICI6KGV4Y2x1ZGUpc3ViIgordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXhjbHVkZSBvbmx5IHBhdGhzcGVjIHVzZXMgZGVmYXVsdCBpbXBsaWNpdCBwYXRoc3BlYycgJworCWdpdCBsb2cgLS1vbmVsaW5lIC0tZm9ybWF0PSVzIC0tIC4gIjooZXhjbHVkZSlzdWIiID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tb25lbGluZSAtLWZvcm1hdD0lcyAtLSAiOihleGNsdWRlKXN1YiIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndF9lX2koKSBleGNsdWRlIHN1YicgJwpAQCAtMTgxLDQgKzE4MywxNSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbXVsdGlwbGUgZXhjbHVzaW9ucycgJworCWdpdCBscy1maWxlcyAtLSAiOl4qL2ZpbGUyIiAiOl5zdWIyIiA+YWN0dWFsICYmCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCWZpbGUKKwlzdWIvZmlsZQorCXN1Yi9zdWIvZmlsZQorCXN1Yi9zdWIvc3ViL2ZpbGUKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjEzNC1wYXRoc3BlYy1pbi1zdWJtb2R1bGUuc2ggYi90L3Q2MTM0LXBhdGhzcGVjLWluLXN1Ym1vZHVsZS5zaAppbmRleCBmZDQwMWNhLi5jNjcwNjY4IDEwMDc1NQotLS0gYS90L3Q2MTM0LXBhdGhzcGVjLWluLXN1Ym1vZHVsZS5zaAorKysgYi90L3Q2MTM0LXBhdGhzcGVjLWluLXN1Ym1vZHVsZS5zaApAQCAtMjEsMTYgKzIxLDEyIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdlcnJvciBtZXNzYWdlIGZvciBwYXRoIGluc2lkZSBzdWJtb2R1bGUnICcKIAllY2hvIGEgPnN1Yi9hICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGFkZCBzdWIvYSAyPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPDxFT0YgPmV4cGVjdAotZmF0YWw6IFBhdGhzcGVjICcuJyBpcyBpbiBzdWJtb2R1bGUgJ3N1YicKLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdlcnJvciBtZXNzYWdlIGZvciBwYXRoIGluc2lkZSBzdWJtb2R1bGUgZnJvbSB3aXRoaW4gc3VibW9kdWxlJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHN1YiBhZGQgLiAyPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2kxOG5ncmVwICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUiIGFjdHVhbAogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMzUtcGF0aHNwZWMtd2l0aC1hdHRycy5zaCBiL3QvdDYxMzUtcGF0aHNwZWMtd2l0aC1hdHRycy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43N2I4Y2VmCi0tLSAvZGV2L251bGwKKysrIGIvdC90NjEzNS1wYXRoc3BlYy13aXRoLWF0dHJzLnNoCkBAIC0wLDAgKzEsMjAwIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBsYWJlbHMgaW4gcGF0aHNwZWNzJworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGEgdHJlZScgJworCWNhdCA8PC1cRU9GID5leHBlY3QgJiYKKwlmaWxlQQorCWZpbGVBQgorCWZpbGVBQworCWZpbGVCCisJZmlsZUJDCisJZmlsZUMKKwlmaWxlTm9MYWJlbAorCWZpbGVTZXRMYWJlbAorCWZpbGVVbnNldExhYmVsCisJZmlsZVZhbHVlCisJZmlsZVdyb25nTGFiZWwKKwlzdWIvZmlsZUEKKwlzdWIvZmlsZUFCCisJc3ViL2ZpbGVBQworCXN1Yi9maWxlQgorCXN1Yi9maWxlQkMKKwlzdWIvZmlsZUMKKwlzdWIvZmlsZU5vTGFiZWwKKwlzdWIvZmlsZVNldExhYmVsCisJc3ViL2ZpbGVVbnNldExhYmVsCisJc3ViL2ZpbGVWYWx1ZQorCXN1Yi9maWxlV3JvbmdMYWJlbAorCUVPRgorCW1rZGlyIHN1YiAmJgorCXdoaWxlIHJlYWQgcGF0aAorCWRvCisJCTogPiRwYXRoICYmCisJCWdpdCBhZGQgJHBhdGggfHwgcmV0dXJuIDEKKwlkb25lIDxleHBlY3QgJiYKKwlnaXQgY29tbWl0IC1tICJpbml0aWFsIGNvbW1pdCIgJiYKKwlnaXQgbHMtZmlsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGF0aHNwZWMgd2l0aCBubyBhdHRyJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxzLWZpbGVzICI6KGF0dHI6KSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGF0aHNwZWMgd2l0aCBsYWJlbHMgYW5kIG5vbiBleGlzdGVudCAuZ2l0YXR0cmlidXRlcycgJworCWdpdCBscy1maWxlcyAiOihhdHRyOmxhYmVsKSIgPmFjdHVhbCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgLmdpdGF0dHJpYnV0ZXMnICcKKwljYXQgPDwtXEVPRiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwlmaWxlQSBsYWJlbEEKKwlmaWxlQiBsYWJlbEIKKwlmaWxlQyBsYWJlbEMKKwlmaWxlQUIgbGFiZWxBIGxhYmVsQgorCWZpbGVBQyBsYWJlbEEgbGFiZWxDCisJZmlsZUJDIGxhYmVsQiBsYWJlbEMKKwlmaWxlVW5zZXRMYWJlbCAtbGFiZWwKKwlmaWxlU2V0TGFiZWwgbGFiZWwKKwlmaWxlVmFsdWUgbGFiZWw9Zm9vCisJZmlsZVdyb25nTGFiZWwgbGFiZWzimLoKKwlFT0YKKwlnaXQgYWRkIC5naXRhdHRyaWJ1dGVzICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkIGF0dHJpYnV0ZXMiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHNwZWNpZmljIHNldCBhdHRyJyAnCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCWZpbGVTZXRMYWJlbAorCXN1Yi9maWxlU2V0TGFiZWwKKwlFT0YKKwlnaXQgbHMtZmlsZXMgIjooYXR0cjpsYWJlbCkiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHNwZWNpZmljIHVuc2V0IGF0dHInICcKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCisJZmlsZVVuc2V0TGFiZWwKKwlzdWIvZmlsZVVuc2V0TGFiZWwKKwlFT0YKKwlnaXQgbHMtZmlsZXMgIjooYXR0cjotbGFiZWwpIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBzcGVjaWZpYyB2YWx1ZSBhdHRyJyAnCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCWZpbGVWYWx1ZQorCXN1Yi9maWxlVmFsdWUKKwlFT0YKKwlnaXQgbHMtZmlsZXMgIjooYXR0cjpsYWJlbD1mb28pIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCBscy1maWxlcyAiOihhdHRyOmxhYmVsPWJhcikiID5hY3R1YWwgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHVuc3BlY2lmaWVkIGF0dHInICcKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCisJLmdpdGF0dHJpYnV0ZXMKKwlmaWxlQQorCWZpbGVBQgorCWZpbGVBQworCWZpbGVCCisJZmlsZUJDCisJZmlsZUMKKwlmaWxlTm9MYWJlbAorCWZpbGVXcm9uZ0xhYmVsCisJc3ViL2ZpbGVBCisJc3ViL2ZpbGVBQgorCXN1Yi9maWxlQUMKKwlzdWIvZmlsZUIKKwlzdWIvZmlsZUJDCisJc3ViL2ZpbGVDCisJc3ViL2ZpbGVOb0xhYmVsCisJc3ViL2ZpbGVXcm9uZ0xhYmVsCisJRU9GCisJZ2l0IGxzLWZpbGVzICI6KGF0dHI6IWxhYmVsKSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgbXVsdGlwbGUgdW5zcGVjaWZpZWQgYXR0cicgJworCWNhdCA8PC1cRU9GID5leHBlY3QgJiYKKwkuZ2l0YXR0cmlidXRlcworCWZpbGVDCisJZmlsZU5vTGFiZWwKKwlmaWxlV3JvbmdMYWJlbAorCXN1Yi9maWxlQworCXN1Yi9maWxlTm9MYWJlbAorCXN1Yi9maWxlV3JvbmdMYWJlbAorCUVPRgorCWdpdCBscy1maWxlcyAiOihhdHRyOiFsYWJlbEIgIWxhYmVsQSAhbGFiZWwpIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBsYWJlbCB3aXRoIG1vcmUgbGFiZWxzIGJ1dCBleGNsdWRlZCBwYXRoJyAnCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCWZpbGVBQgorCWZpbGVCCisJZmlsZUJDCisJRU9GCisJZ2l0IGxzLWZpbGVzICI6KGF0dHI6bGFiZWxCKSIgIjooZXhjbHVkZSlzdWIvIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBsYWJlbCBleGNsdWRpbmcgb3RoZXIgbGFiZWxzJyAnCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCWZpbGVBQgorCWZpbGVCCisJZmlsZUJDCisJc3ViL2ZpbGVBQgorCXN1Yi9maWxlQgorCUVPRgorCWdpdCBscy1maWxlcyAiOihhdHRyOmxhYmVsQikiICI6KGV4Y2x1ZGUsYXR0cjpsYWJlbEMpc3ViLyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbCBvbiBtdWx0aXBsZSBhdHRyIHNwZWNpZmllcnMgaW4gb25lIHBhdGhzcGVjIGl0ZW0nICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgbHMtZmlsZXMgLiAiOihhdHRyOmxhYmVsQixhdHRyOmxhYmVsQykiIDI+YWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAiT25seSBvbmUiIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYWlsIGlmIGF0dHIgbWFnaWMgaXMgdXNlZCBwbGFjZXMgbm90IGltcGxlbWVudGVkJyAnCisJIyBUaGUgbWFpbiBwdXJwb3NlIG9mIHRoaXMgdGVzdCBpcyB0byBjaGVjayB0aGF0IHdlIGFjdHVhbGx5IGZhaWwKKwkjIHdoZW4geW91IGF0dGVtcHQgdG8gdXNlIGF0dHIgbWFnaWMgaW4gY29tbWFuZHMgdGhhdCBkbyBub3QgaW1wbGVtZW50CisJIyBhdHRyIG1hZ2ljLiBUaGlzIHRlc3QgZG9lcyBub3QgYWR2b2NhdGUgZ2l0LWFkZCB0byBzdGF5IHRoYXQgd2F5LAorCSMgdGhvdWdoLCBidXQgZ2l0LWFkZCBpcyBjb252ZW5pZW50IGFzIGl0IGhhcyBpdHMgb3duIGludGVybmFsIHBhdGhzcGVjCisJIyBwYXJzaW5nLgorCXRlc3RfbXVzdF9mYWlsIGdpdCBhZGQgIjooYXR0cjpsYWJlbEIpIiAyPmFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgInVuc3VwcG9ydGVkIG1hZ2ljIiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWJvcnQgb24gZ2l2aW5nIGludmFsaWQgbGFiZWwgb24gdGhlIGNvbW1hbmQgbGluZScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAuICI6KGF0dHI64pi6KSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWJvcnQgb24gYXNraW5nIGZvciB3cm9uZyBtYWdpYycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAuICI6KGF0dHI6LWxhYmVsPWZvbykiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxzLWZpbGVzIC4gIjooYXR0cjohbGFiZWw9Zm9vKSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgYXR0cmlidXRlIGxpc3QnICcKKwljYXQgPDwtRU9GID4+LmdpdGF0dHJpYnV0ZXMgJiYKKwkqIHdoaXRlc3BhY2U9aW5kZW50LHRyYWlsLHNwYWNlCisJRU9GCisJZ2l0IGxzLWZpbGVzICI6KGF0dHI6d2hpdGVzcGFjZT1pbmRlbnRcLHRyYWlsXCxzcGFjZSkiID5hY3R1YWwgJiYKKwlnaXQgbHMtZmlsZXMgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmFja3NsYXNoIGNhbm5vdCBiZSB0aGUgbGFzdCBjaGFyYWN0ZXInICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgbHMtZmlsZXMgIjooYXR0cjpsYWJlbD1mb29cXCBsYWJlbEE9YmFyKSIgMj5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJub3QgYWxsb3dlZCBhcyBsYXN0IGNoYXJhY3RlciBpbiBhdHRyIHZhbHVlIiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmFja3NsYXNoIGNhbm5vdCBiZSB1c2VkIGFzIGEgdmFsdWUnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgbHMtZmlsZXMgIjooYXR0cjpsYWJlbD1mXFxcb28pIiAyPmFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgImZvciB2YWx1ZSBtYXRjaGluZyIgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2ggYi90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaAppbmRleCBhNDY4MDQxLi4yMjc0YTRiIDEwMDc1NQotLS0gYS90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaAorKysgYi90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaApAQCAtNyw2ICs3LDcgQEAKIAogLiAuL3Rlc3QtbGliLnNoCiAuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1ncGcuc2gKKy4gIiRURVNUX0RJUkVDVE9SWSIvbGliLXRlcm1pbmFsLnNoCiAKICMgTW9uIEp1bCAzIDIzOjE4OjQzIDIwMDYgKzAwMDAKIGRhdGVzdGFtcD0xMTUxOTY4NzIzCkBAIC0zOCw2ICszOSw3IEBACiAJY2FzZSAiJDEiIGluCiAJCWhlYWQpIHJlZj1yZWZzL2hlYWRzL21hc3RlciA7OwogCQkgdGFnKSByZWY9cmVmcy90YWdzL3Rlc3R0YWcgOzsKKwkJIHN5bSkgcmVmPXJlZnMvaGVhZHMvc3ltIDs7CiAJCSAgICopIHJlZj0kMSA7OwogCWVzYWMKIAlwcmludGYgJyVzXG4nICIkMyIgPmV4cGVjdGVkCkBAIC01MCwxNiArNTIsNDAgQEAKIAogdGVzdF9hdG9tIGhlYWQgcmVmbmFtZSByZWZzL2hlYWRzL21hc3RlcgogdGVzdF9hdG9tIGhlYWQgcmVmbmFtZTpzaG9ydCBtYXN0ZXIKK3Rlc3RfYXRvbSBoZWFkIHJlZm5hbWU6bHN0cmlwPTEgaGVhZHMvbWFzdGVyCit0ZXN0X2F0b20gaGVhZCByZWZuYW1lOmxzdHJpcD0yIG1hc3RlcgordGVzdF9hdG9tIGhlYWQgcmVmbmFtZTpsc3RyaXA9LTEgbWFzdGVyCit0ZXN0X2F0b20gaGVhZCByZWZuYW1lOmxzdHJpcD0tMiBoZWFkcy9tYXN0ZXIKK3Rlc3RfYXRvbSBoZWFkIHJlZm5hbWU6cnN0cmlwPTEgcmVmcy9oZWFkcwordGVzdF9hdG9tIGhlYWQgcmVmbmFtZTpyc3RyaXA9MiByZWZzCit0ZXN0X2F0b20gaGVhZCByZWZuYW1lOnJzdHJpcD0tMSByZWZzCit0ZXN0X2F0b20gaGVhZCByZWZuYW1lOnJzdHJpcD0tMiByZWZzL2hlYWRzCiB0ZXN0X2F0b20gaGVhZCByZWZuYW1lOnN0cmlwPTEgaGVhZHMvbWFzdGVyCiB0ZXN0X2F0b20gaGVhZCByZWZuYW1lOnN0cmlwPTIgbWFzdGVyCit0ZXN0X2F0b20gaGVhZCByZWZuYW1lOnN0cmlwPS0xIG1hc3RlcgordGVzdF9hdG9tIGhlYWQgcmVmbmFtZTpzdHJpcD0tMiBoZWFkcy9tYXN0ZXIKIHRlc3RfYXRvbSBoZWFkIHVwc3RyZWFtIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyCiB0ZXN0X2F0b20gaGVhZCB1cHN0cmVhbTpzaG9ydCBvcmlnaW4vbWFzdGVyCit0ZXN0X2F0b20gaGVhZCB1cHN0cmVhbTpsc3RyaXA9MiBvcmlnaW4vbWFzdGVyCit0ZXN0X2F0b20gaGVhZCB1cHN0cmVhbTpsc3RyaXA9LTIgb3JpZ2luL21hc3RlcgordGVzdF9hdG9tIGhlYWQgdXBzdHJlYW06cnN0cmlwPTIgcmVmcy9yZW1vdGVzCit0ZXN0X2F0b20gaGVhZCB1cHN0cmVhbTpyc3RyaXA9LTIgcmVmcy9yZW1vdGVzCit0ZXN0X2F0b20gaGVhZCB1cHN0cmVhbTpzdHJpcD0yIG9yaWdpbi9tYXN0ZXIKK3Rlc3RfYXRvbSBoZWFkIHVwc3RyZWFtOnN0cmlwPS0yIG9yaWdpbi9tYXN0ZXIKIHRlc3RfYXRvbSBoZWFkIHB1c2ggcmVmcy9yZW1vdGVzL215Zm9yay9tYXN0ZXIKIHRlc3RfYXRvbSBoZWFkIHB1c2g6c2hvcnQgbXlmb3JrL21hc3RlcgordGVzdF9hdG9tIGhlYWQgcHVzaDpsc3RyaXA9MSByZW1vdGVzL215Zm9yay9tYXN0ZXIKK3Rlc3RfYXRvbSBoZWFkIHB1c2g6bHN0cmlwPS0xIG1hc3RlcgordGVzdF9hdG9tIGhlYWQgcHVzaDpyc3RyaXA9MSByZWZzL3JlbW90ZXMvbXlmb3JrCit0ZXN0X2F0b20gaGVhZCBwdXNoOnJzdHJpcD0tMSByZWZzCit0ZXN0X2F0b20gaGVhZCBwdXNoOnN0cmlwPTEgcmVtb3Rlcy9teWZvcmsvbWFzdGVyCit0ZXN0X2F0b20gaGVhZCBwdXNoOnN0cmlwPS0xIG1hc3RlcgogdGVzdF9hdG9tIGhlYWQgb2JqZWN0dHlwZSBjb21taXQKIHRlc3RfYXRvbSBoZWFkIG9iamVjdHNpemUgMTcxCiB0ZXN0X2F0b20gaGVhZCBvYmplY3RuYW1lICQoZ2l0IHJldi1wYXJzZSByZWZzL2hlYWRzL21hc3RlcikKIHRlc3RfYXRvbSBoZWFkIG9iamVjdG5hbWU6c2hvcnQgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmVmcy9oZWFkcy9tYXN0ZXIpCit0ZXN0X2F0b20gaGVhZCBvYmplY3RuYW1lOnNob3J0PTEgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQ9MSByZWZzL2hlYWRzL21hc3RlcikKK3Rlc3RfYXRvbSBoZWFkIG9iamVjdG5hbWU6c2hvcnQ9MTAgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQ9MTAgcmVmcy9oZWFkcy9tYXN0ZXIpCiB0ZXN0X2F0b20gaGVhZCB0cmVlICQoZ2l0IHJldi1wYXJzZSByZWZzL2hlYWRzL21hc3Rlcl57dHJlZX0pCiB0ZXN0X2F0b20gaGVhZCBwYXJlbnQgJycKIHRlc3RfYXRvbSBoZWFkIG51bXBhcmVudCAwCkBAIC05OSw2ICsxMjUsOCBAQAogdGVzdF9hdG9tIHRhZyBvYmplY3RzaXplIDE1NAogdGVzdF9hdG9tIHRhZyBvYmplY3RuYW1lICQoZ2l0IHJldi1wYXJzZSByZWZzL3RhZ3MvdGVzdHRhZykKIHRlc3RfYXRvbSB0YWcgb2JqZWN0bmFtZTpzaG9ydCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL3RhZ3MvdGVzdHRhZykKK3Rlc3RfYXRvbSBoZWFkIG9iamVjdG5hbWU6c2hvcnQ9MSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydD0xIHJlZnMvaGVhZHMvbWFzdGVyKQordGVzdF9hdG9tIGhlYWQgb2JqZWN0bmFtZTpzaG9ydD0xMCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydD0xMCByZWZzL2hlYWRzL21hc3RlcikKIHRlc3RfYXRvbSB0YWcgdHJlZSAnJwogdGVzdF9hdG9tIHRhZyBwYXJlbnQgJycKIHRlc3RfYXRvbSB0YWcgbnVtcGFyZW50ICcnCkBAIC0xMzQsMTYgKzE2Miw2IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShJTlZBTElEKSIgcmVmcy9oZWFkcwogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdhcmd1bWVudHMgdG8gOnN0cmlwIG11c3QgYmUgcG9zaXRpdmUgaW50ZWdlcnMnICcKLQl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWU6c3RyaXA9MCkiICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShyZWZuYW1lOnN0cmlwPS0xKSIgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWU6c3RyaXA9Zm9vKSIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RyaXBwaW5nIHJlZm5hbWVzIHRvbyBmYXIgZ2l2ZXMgYW4gZXJyb3InICcKLQl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWU6c3RyaXA9MykiCi0nCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0NoZWNrIGZvcm1hdCBzcGVjaWZpZXJzIGFyZSBpZ25vcmVkIGluIG5hbWluZyBkYXRlIGF0b21zJyAnCiAJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShhdXRob3JkYXRlKSIgcmVmcy9oZWFkcyAmJgogCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUoYXV0aG9yZGF0ZTpkZWZhdWx0KSAlKGF1dGhvcmRhdGUpIiByZWZzL2hlYWRzICYmCkBAIC0xNjQsNiArMTgyLDEyIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShhdXRob3JkYXRlOklOVkFMSUQpIiByZWZzL2hlYWRzCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FyZ3VtZW50cyB0byAlKG9iamVjdG5hbWU6c2hvcnQ9KSBtdXN0IGJlIHBvc2l0aXZlIGludGVnZXJzJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShvYmplY3RuYW1lOnNob3J0PTApIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUob2JqZWN0bmFtZTpzaG9ydD0tMSkiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShvYmplY3RuYW1lOnNob3J0PWZvbykiCisnCisKIHRlc3RfZGF0ZSAoKSB7CiAJZj0kMSAmJgogCWNvbW1pdHRlcl9kYXRlPSQyICYmCkBAIC0zNjIsNiArMzg2LDggQEAKIAogdGVzdF9hdG9tIGhlYWQgdXBzdHJlYW06dHJhY2sgJ1thaGVhZCAxXScKIHRlc3RfYXRvbSBoZWFkIHVwc3RyZWFtOnRyYWNrc2hvcnQgJz4nCit0ZXN0X2F0b20gaGVhZCB1cHN0cmVhbTp0cmFjayxub2JyYWNrZXQgJ2FoZWFkIDEnCit0ZXN0X2F0b20gaGVhZCB1cHN0cmVhbTpub2JyYWNrZXQsdHJhY2sgJ2FoZWFkIDEnCiB0ZXN0X2F0b20gaGVhZCBwdXNoOnRyYWNrICdbYWhlYWQgMV0nCiB0ZXN0X2F0b20gaGVhZCBwdXNoOnRyYWNrc2hvcnQgJz4nCiAKQEAgLTM3Miw3ICszOTgsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdDaGVjayB0aGF0IDp0cmFja1tzaG9ydF0gd29ya3Mgd2hlbiB1cHN0cmVhbSBpcyBpbnZhbGlkJyAnCiAJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCi0KKwlbZ29uZV0KIAogCUVPRgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNvbmZpZyBicmFuY2gubWFzdGVyLm1lcmdlIHJlZnMvaGVhZHMvbWFzdGVyIiAmJgpAQCAtMzg3LDIxICs0MTMsMzMgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWU6SU5WQUxJRCkiCiAnCiAKLWdldF9jb2xvciAoKQotewotCWdpdCBjb25maWcgLS1nZXQtY29sb3Igbm8uc3VjaC5zbG90ICIkMSIKLX0KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCB1cCBjb2xvciB0ZXN0cycgJworCWNhdCA+ZXhwZWN0ZWQuY29sb3IgPDwtRU9GICYmCisJJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmVmcy9oZWFkcy9tYXN0ZXIpIDxHUkVFTj5tYXN0ZXI8UkVTRVQ+CisJJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIpIDxHUkVFTj5vcmlnaW4vbWFzdGVyPFJFU0VUPgorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlZnMvdGFncy90ZXN0dGFnKSA8R1JFRU4+dGVzdHRhZzxSRVNFVD4KKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL3RhZ3MvdHdvKSA8R1JFRU4+dHdvPFJFU0VUPgorCUVPRgorCXNlZCAicy88W14+XSo+Ly9nIiA8ZXhwZWN0ZWQuY29sb3IgPmV4cGVjdGVkLmJhcmUgJiYKKwljb2xvcl9mb3JtYXQ9IiUob2JqZWN0bmFtZTpzaG9ydCkgJShjb2xvcjpncmVlbiklKHJlZm5hbWU6c2hvcnQpIgorJwogCi1jYXQgPmV4cGVjdGVkIDw8RU9GCi0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL2hlYWRzL21hc3RlcikgJChnZXRfY29sb3IgZ3JlZW4pbWFzdGVyJChnZXRfY29sb3IgcmVzZXQpCi0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlcikgJChnZXRfY29sb3IgZ3JlZW4pb3JpZ2luL21hc3RlciQoZ2V0X2NvbG9yIHJlc2V0KQotJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmVmcy90YWdzL3Rlc3R0YWcpICQoZ2V0X2NvbG9yIGdyZWVuKXRlc3R0YWckKGdldF9jb2xvciByZXNldCkKLSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlZnMvdGFncy90d28pICQoZ2V0X2NvbG9yIGdyZWVuKXR3byQoZ2V0X2NvbG9yIHJlc2V0KQotRU9GCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnJShjb2xvcikgc2hvd3MgY29sb3Igd2l0aCBhIHR0eScgJworCXRlc3RfdGVybWluYWwgZW52IFRFUk09dnQxMDAgXAorCQlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIkY29sb3JfZm9ybWF0IiA+YWN0dWFsLnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC5jb2xvciBhY3R1YWwKKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnQ2hlY2sgJShjb2xvcjouLi4pICcgJwotCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUob2JqZWN0bmFtZTpzaG9ydCkgJShjb2xvcjpncmVlbiklKHJlZm5hbWU6c2hvcnQpIiA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclKGNvbG9yKSBkb2VzIG5vdCBzaG93IGNvbG9yIHdpdGhvdXQgdHR5JyAnCisJVEVSTT12dDEwMCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIkY29sb3JfZm9ybWF0IiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQuYmFyZSBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29sb3IudWk9YWx3YXlzIGNhbiBvdmVycmlkZSB0dHkgY2hlY2snICcKKwlnaXQgLWMgY29sb3IudWk9YWx3YXlzIGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJGNvbG9yX2Zvcm1hdCIgPmFjdHVhbC5yYXcgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8YWN0dWFsLnJhdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQuY29sb3IgYWN0dWFsCiAnCiAKIGNhdCA+ZXhwZWN0ZWQgPDxcRU9GCkBAIC01NTQsNiArNTkyLDcgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkbyBub3QgZGVyZWZlcmVuY2UgTlVMTCB1cG9uICUoSEVBRCkgb24gdW5ib3JuIGJyYW5jaCcgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IG1hc3RlciIgJiYKIAlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKEhFQUQpICUocmVmbmFtZTpzaG9ydCkiIHJlZnMvaGVhZHMvID5hY3R1YWwgJiYKQEAgLTU4OCw0ICs2MjcsNTIgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsLmNsZWFuCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0FkZCBzeW1ib2xpYyByZWYgZm9yIHRoZSBmb2xsb3dpbmcgdGVzdHMnICcKKwlnaXQgc3ltYm9saWMtcmVmIHJlZnMvaGVhZHMvc3ltIHJlZnMvaGVhZHMvbWFzdGVyCisnCisKK2NhdCA+ZXhwZWN0ZWQgPDxFT0YKK3JlZnMvaGVhZHMvbWFzdGVyCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnVmVyaWZ5IHVzYWdlIG9mICUoc3ltcmVmKSBhdG9tJyAnCisJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShzeW1yZWYpIiByZWZzL2hlYWRzL3N5bSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK2NhdCA+ZXhwZWN0ZWQgPDxFT0YKK2hlYWRzL21hc3RlcgorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1ZlcmlmeSB1c2FnZSBvZiAlKHN5bXJlZjpzaG9ydCkgYXRvbScgJworCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUoc3ltcmVmOnNob3J0KSIgcmVmcy9oZWFkcy9zeW0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCitjYXQgPmV4cGVjdGVkIDw8RU9GCittYXN0ZXIKK2hlYWRzL21hc3RlcgorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1ZlcmlmeSB1c2FnZSBvZiAlKHN5bXJlZjpsc3RyaXApIGF0b20nICcKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHN5bXJlZjpsc3RyaXA9MikiIHJlZnMvaGVhZHMvc3ltID4gYWN0dWFsICYmCisJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShzeW1yZWY6bHN0cmlwPS0yKSIgcmVmcy9oZWFkcy9zeW0gPj4gYWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHN5bXJlZjpzdHJpcD0yKSIgcmVmcy9oZWFkcy9zeW0gPiBhY3R1YWwgJiYKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHN5bXJlZjpzdHJpcD0tMikiIHJlZnMvaGVhZHMvc3ltID4+IGFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCitjYXQgPmV4cGVjdGVkIDw8RU9GCityZWZzCityZWZzL2hlYWRzCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnVmVyaWZ5IHVzYWdlIG9mICUoc3ltcmVmOnJzdHJpcCkgYXRvbScgJworCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUoc3ltcmVmOnJzdHJpcD0yKSIgcmVmcy9oZWFkcy9zeW0gPiBhY3R1YWwgJiYKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHN5bXJlZjpyc3RyaXA9LTIpIiByZWZzL2hlYWRzL3N5bSA+PiBhY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MzAyLWZvci1lYWNoLXJlZi1maWx0ZXIuc2ggYi90L3Q2MzAyLWZvci1lYWNoLXJlZi1maWx0ZXIuc2gKaW5kZXggZDBhYjA5Zi4uZmMwNjdlZCAxMDA3NTUKLS0tIGEvdC90NjMwMi1mb3ItZWFjaC1yZWYtZmlsdGVyLnNoCisrKyBiL3QvdDYzMDItZm9yLWVhY2gtcmVmLWZpbHRlci5zaApAQCAtOTMsNiArOTMsMjIgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbHRlcmluZyB3aXRoIC0tbm8tY29udGFpbnMnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJcmVmcy90YWdzL29uZQorCUVPRgorCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZSkiIC0tbm8tY29udGFpbnM9dHdvID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbHRlcmluZyB3aXRoIC0tY29udGFpbnMgYW5kIC0tbm8tY29udGFpbnMnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJcmVmcy90YWdzL3R3bworCUVPRgorCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZSkiIC0tY29udGFpbnM9dHdvIC0tbm8tY29udGFpbnM9dGhyZWUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnJShjb2xvcikgbXVzdCBmYWlsJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShjb2xvciklKHJlZm5hbWUpIgogJwpAQCAtMzI3LDQgKzM0MywxMDIgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ltcHJvcGVyIHVzYWdlIG9mICUoaWYpLCAlKHRoZW4pLCAlKGVsc2UpIGFuZCAlKGVuZCkgYXRvbXMnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKGlmKSIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHRoZW4pICUoZW5kKSIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKGVsc2UpICUoZW5kKSIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKGlmKSAlKGVsc2UpICUoZW5kKSIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKGlmKSAlKHRoZW4pICUodGhlbikgJShlbmQpIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUodGhlbikgJShlbHNlKSAlKGVuZCkiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShpZikgJShlbHNlKSAlKGVuZCkiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShpZikgJSh0aGVuKSAlKGVsc2UpIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUoaWYpICUoZWxzZSkgJSh0aGVuKSAlKGVuZCkiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShpZikgJSh0aGVuKSAlKGVsc2UpICUoZWxzZSkgJShlbmQpIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUoaWYpICUoZW5kKSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgJShpZikuLi4lKHRoZW4pLi4uJShlbmQpIGF0b21zJyAnCisJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShyZWZuYW1lKSUoaWYpJShhdXRob3JuYW1lKSUodGhlbikgQXV0aG9yOiAlKGF1dGhvcm5hbWUpJShlbmQpIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCXJlZnMvaGVhZHMvbWFzdGVyIEF1dGhvcjogQSBVIFRob3IKKwlyZWZzL2hlYWRzL3NpZGUgQXV0aG9yOiBBIFUgVGhvcgorCXJlZnMvb2RkL3Nwb3QgQXV0aG9yOiBBIFUgVGhvcgorCXJlZnMvdGFncy9hbm5vdGF0ZWQtdGFnCisJcmVmcy90YWdzL2RvdWJseS1hbm5vdGF0ZWQtdGFnCisJcmVmcy90YWdzL2RvdWJseS1zaWduZWQtdGFnCisJcmVmcy90YWdzL2ZvbzEuMTAgQXV0aG9yOiBBIFUgVGhvcgorCXJlZnMvdGFncy9mb28xLjMgQXV0aG9yOiBBIFUgVGhvcgorCXJlZnMvdGFncy9mb28xLjYgQXV0aG9yOiBBIFUgVGhvcgorCXJlZnMvdGFncy9mb3VyIEF1dGhvcjogQSBVIFRob3IKKwlyZWZzL3RhZ3Mvb25lIEF1dGhvcjogQSBVIFRob3IKKwlyZWZzL3RhZ3Mvc2lnbmVkLXRhZworCXJlZnMvdGFncy90aHJlZSBBdXRob3I6IEEgVSBUaG9yCisJcmVmcy90YWdzL3R3byBBdXRob3I6IEEgVSBUaG9yCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayAlKGlmKS4uLiUodGhlbikuLi4lKGVsc2UpLi4uJShlbmQpIGF0b21zJyAnCisJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShpZiklKGF1dGhvcm5hbWUpJSh0aGVuKSUoYXV0aG9ybmFtZSklKGVsc2UpTm8gYXV0aG9yJShlbmQpOiAlKHJlZm5hbWUpIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUEgVSBUaG9yOiByZWZzL2hlYWRzL21hc3RlcgorCUEgVSBUaG9yOiByZWZzL2hlYWRzL3NpZGUKKwlBIFUgVGhvcjogcmVmcy9vZGQvc3BvdAorCU5vIGF1dGhvcjogcmVmcy90YWdzL2Fubm90YXRlZC10YWcKKwlObyBhdXRob3I6IHJlZnMvdGFncy9kb3VibHktYW5ub3RhdGVkLXRhZworCU5vIGF1dGhvcjogcmVmcy90YWdzL2RvdWJseS1zaWduZWQtdGFnCisJQSBVIFRob3I6IHJlZnMvdGFncy9mb28xLjEwCisJQSBVIFRob3I6IHJlZnMvdGFncy9mb28xLjMKKwlBIFUgVGhvcjogcmVmcy90YWdzL2ZvbzEuNgorCUEgVSBUaG9yOiByZWZzL3RhZ3MvZm91cgorCUEgVSBUaG9yOiByZWZzL3RhZ3Mvb25lCisJTm8gYXV0aG9yOiByZWZzL3RhZ3Mvc2lnbmVkLXRhZworCUEgVSBUaG9yOiByZWZzL3RhZ3MvdGhyZWUKKwlBIFUgVGhvcjogcmVmcy90YWdzL3R3bworCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2lnbm9yZSBzcGFjZXMgaW4gJShpZikgYXRvbSB1c2FnZScgJworCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZTpzaG9ydCk6ICUoaWYpJShIRUFEKSUodGhlbilIZWFkIHJlZiUoZWxzZSlOb3QgSGVhZCByZWYlKGVuZCkiID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJbWFzdGVyOiBIZWFkIHJlZgorCXNpZGU6IE5vdCBIZWFkIHJlZgorCW9kZC9zcG90OiBOb3QgSGVhZCByZWYKKwlhbm5vdGF0ZWQtdGFnOiBOb3QgSGVhZCByZWYKKwlkb3VibHktYW5ub3RhdGVkLXRhZzogTm90IEhlYWQgcmVmCisJZG91Ymx5LXNpZ25lZC10YWc6IE5vdCBIZWFkIHJlZgorCWZvbzEuMTA6IE5vdCBIZWFkIHJlZgorCWZvbzEuMzogTm90IEhlYWQgcmVmCisJZm9vMS42OiBOb3QgSGVhZCByZWYKKwlmb3VyOiBOb3QgSGVhZCByZWYKKwlvbmU6IE5vdCBIZWFkIHJlZgorCXNpZ25lZC10YWc6IE5vdCBIZWFkIHJlZgorCXRocmVlOiBOb3QgSGVhZCByZWYKKwl0d286IE5vdCBIZWFkIHJlZgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgJShpZjplcXVhbHM9PHN0cmluZz4pJyAnCisJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShpZjplcXVhbHM9bWFzdGVyKSUocmVmbmFtZTpzaG9ydCklKHRoZW4pRm91bmQgbWFzdGVyJShlbHNlKU5vdCBtYXN0ZXIlKGVuZCkiIHJlZnMvaGVhZHMvID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJRm91bmQgbWFzdGVyCisJTm90IG1hc3RlcgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgJShpZjpub3RlcXVhbHM9PHN0cmluZz4pJyAnCisJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShpZjpub3RlcXVhbHM9bWFzdGVyKSUocmVmbmFtZTpzaG9ydCklKHRoZW4pTm90IG1hc3RlciUoZWxzZSlGb3VuZCBtYXN0ZXIlKGVuZCkiIHJlZnMvaGVhZHMvID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJRm91bmQgbWFzdGVyCisJTm90IG1hc3RlcgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1tZXJnZWQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1uby1tZXJnZWQnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9yLWVhY2gtcmVmIC0tbWVyZ2VkIEhFQUQgLS1uby1tZXJnZWQgSEVBRAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDY1MDAtZ2Muc2ggYi90L3Q2NTAwLWdjLnNoCmluZGV4IDA4ZGUyZTguLjQxYjBiZTUgMTAwNzU1Ci0tLSBhL3QvdDY1MDAtZ2Muc2gKKysrIGIvdC90NjUwMC1nYy5zaApAQCAtNjcsNiArNjcsMTYgQEAKIAl0ZXN0X2xpbmVfY291bnQgPSAyIG5ldyAjIFRoZXJlIGlzIG9uZSBuZXcgcGFjayBhbmQgaXRzIC5pZHgKICcKIAorcnVuX2FuZF93YWl0X2Zvcl9hdXRvX2djICgpIHsKKwkjIFdlIHJlYWQgc3Rkb3V0IGZyb20gZ2MgZm9yIHRoZSBzaWRlIGVmZmVjdCBvZiB3YWl0aW5nIHVudGlsIHRoZQorCSMgYmFja2dyb3VuZCBnYyBwcm9jZXNzIGV4aXRzLCBjbG9zaW5nIGl0cyBmZCA5LiAgRnVydGhlcm1vcmUsIHRoZQorCSMgdmFyaWFibGUgYXNzaWdubWVudCBmcm9tIGEgY29tbWFuZCBzdWJzdGl0dXRpb24gcHJlc2VydmVzIHRoZQorCSMgZXhpdCBzdGF0dXMgb2YgdGhlIG1haW4gZ2MgcHJvY2Vzcy4KKwkjIE5vdGU6IHRoaXMgZmQgdHJpY2tlcnkgZG9lc24ndCB3b3JrIG9uIFdpbmRvd3MsIGJ1dCB0aGVyZSBpcyBubworCSMgbmVlZCB0bywgYmVjYXVzZSBvbiBXaW4gdGhlIGF1dG8gZ2MgYWx3YXlzIHJ1bnMgaW4gdGhlIGZvcmVncm91bmQuCisJZG9lc250X21hdHRlcj0kKGdpdCBnYyAtLWF1dG8gOT4mMSkKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmFja2dyb3VuZCBhdXRvIGdjIGRvZXMgbm90IHJ1biBpZiBnYy5sb2cgaXMgcHJlc2VudCBhbmQgcmVjZW50IGJ1dCBkb2VzIGlmIGl0IGlzIG9sZCcgJwogCXRlc3RfY29tbWl0IGZvbyAmJgogCXRlc3RfY29tbWl0IGJhciAmJgpAQCAtODAsNyArOTAsMzQgQEAKIAl0ZXN0LWNobXRpbWUgPS0zNDU2MDAgLmdpdC9nYy5sb2cgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZ2MgLS1hdXRvICYmCiAJdGVzdF9jb25maWcgZ2MubG9nZXhwaXJ5IDIuZGF5cyAmJgotCWdpdCBnYyAtLWF1dG8KKwlydW5fYW5kX3dhaXRfZm9yX2F1dG9fZ2MgJiYKKwlscyAuZ2l0L29iamVjdHMvcGFjay9wYWNrLSoucGFjayA+cGFja3MgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIHBhY2tzCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JhY2tncm91bmQgYXV0byBnYyByZXNwZWN0cyBsb2NrIGZvciBhbGwgb3BlcmF0aW9ucycgJworCSMgbWFrZSBzdXJlIHdlIHJ1biBhIGJhY2tncm91bmQgYXV0by1nYworCXRlc3RfY29tbWl0IG1ha2UtcGFjayAmJgorCWdpdCByZXBhY2sgJiYKKwl0ZXN0X2NvbmZpZyBnYy5hdXRvcGFja2xpbWl0IDEgJiYKKwl0ZXN0X2NvbmZpZyBnYy5hdXRvZGV0YWNoIHRydWUgJiYKKworCSMgY3JlYXRlIGEgcmVmIHdob3NlIGxvb3NlIHByZXNlbmNlIHdlIGNhbiB1c2UgdG8gZGV0ZWN0IGEgcGFjay1yZWZzIHJ1bgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvc2hvdWxkLWJlLWxvb3NlIEhFQUQgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSAuZ2l0L3JlZnMvaGVhZHMvc2hvdWxkLWJlLWxvb3NlICYmCisKKwkjIG5vdyBmYWtlIGEgY29uY3VycmVudCBnYyB0aGF0IGhvbGRzIHRoZSBsb2NrOyB3ZSBjYW4gdXNlIG91cgorCSMgc2hlbGwgcGlkIHNvIHRoYXQgaXQgbG9va3MgdmFsaWQuCisJaG9zdG5hbWU9JChob3N0bmFtZSB8fCBlY2hvIHVua25vd24pICYmCisJcHJpbnRmICIkJCAlcyIgIiRob3N0bmFtZSIgPi5naXQvZ2MucGlkICYmCisKKwkjIG91ciBnYyBzaG91bGQgZXhpdCB6ZXJvIHdpdGhvdXQgZG9pbmcgYW55dGhpbmcKKwlydW5fYW5kX3dhaXRfZm9yX2F1dG9fZ2MgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSAuZ2l0L3JlZnMvaGVhZHMvc2hvdWxkLWJlLWxvb3NlCisnCisKKyMgRE8gTk9UIGxlYXZlIGEgZGV0YWNoZWQgYXV0byBnYyBwcm9jZXNzIHJ1bm5pbmcgbmVhciB0aGUgZW5kIG9mIHRoZQorIyB0ZXN0IHNjcmlwdDogaXQgY2FuIHJ1biBsb25nIGVub3VnaCBpbiB0aGUgYmFja2dyb3VuZCB0byByYWNpbHkKKyMgaW50ZXJmZXJlIHdpdGggdGhlIGNsZWFudXAgaW4gJ3Rlc3RfZG9uZScuCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjUwMS1mcmVzaGVuLW9iamVjdHMuc2ggYi90L3Q2NTAxLWZyZXNoZW4tb2JqZWN0cy5zaAppbmRleCBjZjA3NmRjLi4zOTRiMTY5IDEwMDc1NQotLS0gYS90L3Q2NTAxLWZyZXNoZW4tb2JqZWN0cy5zaAorKysgYi90L3Q2NTAxLWZyZXNoZW4tb2JqZWN0cy5zaApAQCAtMTI5LDcgKzEyOSw3IEBACiAJJwogZG9uZQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdkbyBub3QgY29tcGxhaW4gYWJvdXQgZXhpc3RpbmcgYnJva2VuIGxpbmtzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkbyBub3QgY29tcGxhaW4gYWJvdXQgZXhpc3RpbmcgYnJva2VuIGxpbmtzIChjb21taXQpJyAnCiAJY2F0ID5icm9rZW4tY29tbWl0IDw8LVxFT0YgJiYKIAl0cmVlIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKIAlwYXJlbnQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgpAQCAtMTQ0LDQgKzE0NCwyOSBAQAogCXRlc3RfbXVzdF9iZV9lbXB0eSBzdGRlcnIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZG8gbm90IGNvbXBsYWluIGFib3V0IGV4aXN0aW5nIGJyb2tlbiBsaW5rcyAodHJlZSknICcKKwljYXQgPmJyb2tlbi10cmVlIDw8LVxFT0YgJiYKKwkxMDA2NDQgYmxvYiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCWZvbworCUVPRgorCXRyZWU9JChnaXQgbWt0cmVlIC0tbWlzc2luZyA8YnJva2VuLXRyZWUpICYmCisJZ2l0IGdjIDI+c3RkZXJyICYmCisJZ2l0IGNhdC1maWxlIC1lICR0cmVlICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IHN0ZGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkbyBub3QgY29tcGxhaW4gYWJvdXQgZXhpc3RpbmcgYnJva2VuIGxpbmtzICh0YWcpJyAnCisJY2F0ID5icm9rZW4tdGFnIDw8LVxFT0YgJiYKKwlvYmplY3QgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorCXR5cGUgY29tbWl0CisJdGFnIGJyb2tlbgorCXRhZ2dlciB3aGF0ZXZlciA8d2hhdGV2ZXJAZXhhbXBsZS5jb20+IDEyMzQgLTAwMDAKKworCXRoaXMgaXMgYSBicm9rZW4gdGFnCisJRU9GCisJdGFnPSQoZ2l0IGhhc2gtb2JqZWN0IC10IHRhZyAtdyBicm9rZW4tdGFnKSAmJgorCWdpdCBnYyAyPnN0ZGVyciAmJgorCWdpdCBjYXQtZmlsZSAtZSAkdGFnICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IHN0ZGVycgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDcwMDEtbXYuc2ggYi90L3Q3MDAxLW12LnNoCmluZGV4IGUzNjVkMWYuLmNiYzVmYjMgMTAwNzU1Ci0tLSBhL3QvdDcwMDEtbXYuc2gKKysrIGIvdC90NzAwMS1tdi5zaApAQCAtNDkxLDQgKzQ5MSwyOSBAQAogCXRlc3RfY21wIGFjdHVhbCBleHBlY3QKICcKIAordGVzdF9leHBlY3RfZmFpbHVyZSAnbW92aW5nIG5lc3RlZCBzdWJtb2R1bGVzJyAnCisJZ2l0IGNvbW1pdCAtYW0gImNsZWFudXAgY29tbWl0IiAmJgorCW1rZGlyIHN1Yl9uZXN0ZWRfbmVzdGVkICYmCisJKGNkIHN1Yl9uZXN0ZWRfbmVzdGVkICYmCisJCXRvdWNoIG5lc3RlZF9sZXZlbDIgJiYKKwkJZ2l0IGluaXQgJiYKKwkJZ2l0IGFkZCAuICYmCisJCWdpdCBjb21taXQgLW0gIm5lc3RlZCBsZXZlbCAyIgorCSkgJiYKKwlta2RpciBzdWJfbmVzdGVkICYmCisJKGNkIHN1Yl9uZXN0ZWQgJiYKKwkJdG91Y2ggbmVzdGVkX2xldmVsMSAmJgorCQlnaXQgaW5pdCAmJgorCQlnaXQgYWRkIC4gJiYKKwkJZ2l0IGNvbW1pdCAtbSAibmVzdGVkIGxldmVsIDEiCisJCWdpdCBzdWJtb2R1bGUgYWRkIC4uL3N1Yl9uZXN0ZWRfbmVzdGVkICYmCisJCWdpdCBjb21taXQgLW0gImFkZCBuZXN0ZWQgbGV2ZWwgMiIKKwkpICYmCisJZ2l0IHN1Ym1vZHVsZSBhZGQgLi9zdWJfbmVzdGVkIG5lc3RlZF9tb3ZlICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkIG5lc3RlZF9tb3ZlIiAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCAtLXJlY3Vyc2l2ZSAmJgorCWdpdCBtdiBuZXN0ZWRfbW92ZSBzdWJfbmVzdGVkX21vdmVkICYmCisJZ2l0IHN0YXR1cworJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDcwMDQtdGFnLnNoIGIvdC90NzAwNC10YWcuc2gKaW5kZXggYjhhZDA3Ni4uYjU0NWMzMyAxMDA3NTUKLS0tIGEvdC90NzAwNC10YWcuc2gKKysrIGIvdC90NzAwNC10YWcuc2gKQEAgLTksNiArOSw3IEBACiAKIC4gLi90ZXN0LWxpYi5zaAogLiAiJFRFU1RfRElSRUNUT1JZIi9saWItZ3BnLnNoCisuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi10ZXJtaW5hbC5zaAogCiAjIGNyZWF0aW5nIGFuZCBsaXN0aW5nIGxpZ2h0d2VpZ2h0IHRhZ3M6CiAKQEAgLTE2LDcgKzE3LDYgQEAKIAlnaXQgc2hvdy1yZWYgLS1xdWlldCAtLXZlcmlmeSByZWZzL3RhZ3MvIiQxIgogfQogCi0jIHRvZG86IGdpdCB0YWcgLWwgbm93IHJldHVybnMgYWx3YXlzIHplcm8sIHdoZW4gZml4ZWQsIGNoYW5nZSB0aGlzIHRlc3QKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xpc3RpbmcgYWxsIHRhZ3MgaW4gYW4gZW1wdHkgdHJlZSBzaG91bGQgc3VjY2VlZCcgJwogCWdpdCB0YWcgLWwgJiYKIAlnaXQgdGFnCkBAIC04MSw5ICs4MSwyNSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGluZyBhIHRhZyB3aXRoIC0tY3JlYXRlLXJlZmxvZyBzaG91bGQgY3JlYXRlIHJlZmxvZycgJworCWdpdCBsb2cgLTEgXAorCQktLWZvcm1hdD0iZm9ybWF0OnRhZzogdGFnZ2luZyAlaCAoJXMsICVjZCklbiIgXAorCQktLWRhdGU9Zm9ybWF0OiVZLSVtLSVkID5leHBlY3RlZCAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHRhZyAtZCB0YWdfd2l0aF9yZWZsb2ciICYmCiAJZ2l0IHRhZyAtLWNyZWF0ZS1yZWZsb2cgdGFnX3dpdGhfcmVmbG9nICYmCi0JZ2l0IHJlZmxvZyBleGlzdHMgcmVmcy90YWdzL3RhZ193aXRoX3JlZmxvZworCWdpdCByZWZsb2cgZXhpc3RzIHJlZnMvdGFncy90YWdfd2l0aF9yZWZsb2cgJiYKKwlzZWQgLWUgInMvXi4qCS8vIiAuZ2l0L2xvZ3MvcmVmcy90YWdzL3RhZ193aXRoX3JlZmxvZyA+YWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbm5vdGF0ZWQgdGFnIHdpdGggLS1jcmVhdGUtcmVmbG9nIGhhcyBjb3JyZWN0IG1lc3NhZ2UnICcKKwlnaXQgbG9nIC0xIFwKKwkJLS1mb3JtYXQ9ImZvcm1hdDp0YWc6IHRhZ2dpbmcgJWggKCVzLCAlY2QpJW4iIFwKKwkJLS1kYXRlPWZvcm1hdDolWS0lbS0lZCA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB0YWcgLWQgdGFnX3dpdGhfcmVmbG9nIiAmJgorCWdpdCB0YWcgLW0gImFubm90YXRlZCB0YWciIC0tY3JlYXRlLXJlZmxvZyB0YWdfd2l0aF9yZWZsb2cgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL3RhZ3MvdGFnX3dpdGhfcmVmbG9nICYmCisJc2VkIC1lICJzL14uKgkvLyIgLmdpdC9sb2dzL3JlZnMvdGFncy90YWdfd2l0aF9yZWZsb2cgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1jcmVhdGUtcmVmbG9nIGRvZXMgbm90IGNyZWF0ZSByZWZsb2cgb24gZmFpbHVyZScgJwpAQCAtMTAzLDYgKzExOSwxOCBAQAogCWdpdCB0YWcKICcKIAorY2F0ID5leHBlY3QgPDxFT0YKK215dGFnCitFT0YKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ011bHRpcGxlIC1sIG9yIC0tbGlzdCBvcHRpb25zIGFyZSBlcXVpdmFsZW50IHRvIG9uZSAtbCBvcHRpb24nICcKKwlnaXQgdGFnIC1sIC1sID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHRhZyAtLWxpc3QgLS1saXN0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHRhZyAtLWxpc3QgLWwgLS1saXN0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xpc3RpbmcgYWxsIHRhZ3MgaWYgb25lIGV4aXN0cyBzaG91bGQgb3V0cHV0IHRoYXQgdGFnJyAnCiAJdGVzdCAkKGdpdCB0YWcgLWwpID0gbXl0YWcgJiYKIAl0ZXN0ICQoZ2l0IHRhZykgPSBteXRhZwpAQCAtMTIwLDkgKzE0OCw4IEBACiAJJ2xpc3RpbmcgYSB0YWcgdXNpbmcgYSBtYXRjaGluZyBwYXR0ZXJuIHNob3VsZCBvdXRwdXQgdGhhdCB0YWcnIFwKIAkndGVzdCAkKGdpdCB0YWcgLWwgbXl0YWcpID0gbXl0YWcnCiAKLSMgdG9kbzogZ2l0IHRhZyAtbCBub3cgcmV0dXJucyBhbHdheXMgemVybywgd2hlbiBmaXhlZCwgY2hhbmdlIHRoaXMgdGVzdAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JJ2xpc3RpbmcgdGFncyB1c2luZyBhIG5vbi1tYXRjaGluZyBwYXR0ZXJuIHNob3VsZCBzdWNlZWQnIFwKKwknbGlzdGluZyB0YWdzIHVzaW5nIGEgbm9uLW1hdGNoaW5nIHBhdHRlcm4gc2hvdWxkIHN1Y2NlZWQnIFwKIAknZ2l0IHRhZyAtbCB4eHgnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXApAQCAtMzIyLDYgKzM0OSwxOSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAorIyBCZXR3ZWVuIHYxLjcuNyAmIHYyLjEzLjAgYSBmYWlyIHJlYWRpbmcgb2YgdGhlIGdpdC10YWcgZG9jdW1lbnRhdGlvbgorIyBjb3VsZCBsZWF2ZSB5b3Ugd2l0aCB0aGUgaW1wcmVzc2lvbiB0aGF0ICItbCA8cGF0dGVybj4gLWwgPHBhdHRlcm4+IgorIyB3YXMgaG93IHdlIHdhbnRlZCB0byBhY2NlcHQgbXVsdGlwbGUgcGF0dGVybnMuCisjCisjIFRoaXMgdGVzdCBzaG91bGQgbm90IGltcGx5IHRoYXQgdGhpcyBpcyBhIHNhbmUgdGhpbmcgdG8gc3VwcG9ydC4gYnV0CisjIHNpbmNlIHRoZSBkb2N1bWVudGF0aW9uIHdhcyB3b3JkZWQgbGlrZSBpdCB3YXMgbGV0J3MgYXQgbGVhc3QgZmluZAorIyBvdXQgaWYgd2UncmUgZ29pbmcgdG8gYnJlYWsgdGhpcyBsb25nLWRvY3VtZW50ZWQgZm9ybSBvZiB0YWtpbmcKKyMgbXVsdGlwbGUgcGF0dGVybnMuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0YWcgLWwgPHBhdHRlcm4+IC1sIDxwYXR0ZXJuPiB3b3JrcywgYXMgb3VyIGJ1Z2d5IGRvY3VtZW50YXRpb24gcHJldmlvdXNseSBzdWdnZXN0ZWQnICcKKwlnaXQgdGFnIC1sICJ2MSoiIC1sICJ2MCoiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xpc3RpbmcgdGFncyBpbiBjb2x1bW4nICcKIAlDT0xVTU5TPTQwIGdpdCB0YWcgLWwgLS1jb2x1bW49cm93ID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgpAQCAtNjA0LDYgKzY0NCwxMSBAQAogCWdpdCB0YWcgLW4wIC1sIHRhZy1vbmUtbGluZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCisJZ2l0IHRhZyAtbjAgfCBncmVwICJedGFnLW9uZS1saW5lIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCB0YWcgLW4wIHRhZy1vbmUtbGluZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCiAJZWNobyAidGFnLW9uZS1saW5lICAgIEEgbXNnIiA+ZXhwZWN0ICYmCiAJZ2l0IHRhZyAtbjEgLWwgfCBncmVwICJedGFnLW9uZS1saW5lIiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgpAQCAtNjE3LDYgKzY2MiwxNyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnVGhlIC1uIDEwMCBpbnZvY2F0aW9uIG1lYW5zIC1uIC0tbGlzdCAxMDAsIG5vdCAtbjEwMCcgJworCT5leHBlY3QgJiYKKwlnaXQgdGFnIC1uIDEwMCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZ2l0IHRhZyAtbSAiQSBtc2ciIDEwMCAmJgorCWVjaG8gIjEwMCAgICAgICAgICAgICBBIG1zZyIgPmV4cGVjdCAmJgorCWdpdCB0YWcgLW4gMTAwID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogCSdsaXN0aW5nIHRoZSB6ZXJvLWxpbmVzIG1lc3NhZ2Ugb2YgYSBub24tc2lnbmVkIHRhZyBzaG91bGQgc3VjY2VlZCcgJwogCWdpdCB0YWcgLW0gIiIgdGFnLXplcm8tbGluZXMgJiYKQEAgLTEzNjcsNiArMTQyMywyMyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogIgogCisjIEFsbCB0aGUgLS1jb250YWlucyB0ZXN0cyBhYm92ZSwgYnV0IHdpdGggLS1uby1jb250YWlucwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tpbmcgdGhhdCBmaXJzdCBjb21taXQgaXMgbm90IGxpc3RlZCBpbiBhbnkgdGFnIHdpdGggLS1uby1jb250YWlucyAgKGhhc2gpJyAiCisJPmV4cGVjdGVkICYmCisJZ2l0IHRhZyAtbCAtLW5vLWNvbnRhaW5zICRoYXNoMSB2KiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisiCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNraW5nIHRoYXQgZmlyc3QgY29tbWl0IGlzIGluIGFsbCB0YWdzICh0YWcpJyAiCisJZ2l0IHRhZyAtbCAtLW5vLWNvbnRhaW5zIHYxLjAgdiogPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorIgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja2luZyB0aGF0IGZpcnN0IGNvbW1pdCBpcyBpbiBhbGwgdGFncyAocmVsYXRpdmUpJyAiCisJZ2l0IHRhZyAtbCAtLW5vLWNvbnRhaW5zIEhFQUR+MiB2KiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisiCisKIGNhdCA+IGV4cGVjdGVkIDw8RU9GCiB2Mi4wCiBFT0YKQEAgLTEzNzYsNiArMTQ0OSwxNyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogIgogCitjYXQgPiBleHBlY3RlZCA8PEVPRgordjAuMi4xCit2MS4wCit2MS4wLjEKK3YxLjEuMworRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ludmVyc2Ugb2YgdGhlIGxhc3QgdGVzdCwgd2l0aCAtLW5vLWNvbnRhaW5zJyAiCisJZ2l0IHRhZyAtbCAtLW5vLWNvbnRhaW5zICRoYXNoMiB2KiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisiCiAKIGNhdCA+IGV4cGVjdGVkIDw8RU9GCiBFT0YKQEAgLTEzODUsNiArMTQ2OSwxOSBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogIgogCitjYXQgPiBleHBlY3RlZCA8PEVPRgordjAuMi4xCit2MS4wCit2MS4wLjEKK3YxLjEuMwordjIuMAorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbnZlcnNlbHkgLS1uby1jb250YWlucyBvbiB0aGUgdGhpcmQgY29tbWl0IGxpc3RzIGFsbCB0YWdzJyAiCisJZ2l0IHRhZyAtbCAtLW5vLWNvbnRhaW5zICRoYXNoMyB2KiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisiCisKICMgaG93IGFib3V0IGEgc2ltcGxlIG1lcmdlPwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGluZyBzaW1wbGUgYnJhbmNoJyAnCkBAIC0xNDA2LDYgKzE1MDMsMTkgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICIKIAorY2F0ID4gZXhwZWN0ZWQgPDxFT0YKK3YwLjIuMQordjEuMAordjEuMC4xCit2MS4xLjMKK3YyLjAKK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja2luZyB0aGF0IGJyYW5jaCBoZWFkIHdpdGggLS1uby1jb250YWlucyBsaXN0cyBhbGwgYnV0IG9uZSB0YWcnICIKKwlnaXQgdGFnIC1sIC0tbm8tY29udGFpbnMgJGhhc2g0IHYqID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKyIKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2luZyBvcmlnaW5hbCBicmFuY2ggaW50byB0aGlzIGJyYW5jaCcgJwogCWdpdCBtZXJnZSAtLXN0cmF0ZWd5PW91cnMgbWFzdGVyICYmCiAgICAgICAgIGdpdCB0YWcgdjQuMApAQCAtMTQyNyw2ICsxNTM3LDIwIEBACiB2MS4xLjMKIHYyLjAKIHYzLjAKK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja2luZyB0aGF0IG9yaWdpbmFsIGJyYW5jaCBoZWFkIHdpdGggLS1uby1jb250YWlucyBsaXN0cyBhbGwgYnV0IG9uZSB0YWcgbm93JyAiCisJZ2l0IHRhZyAtbCAtLW5vLWNvbnRhaW5zICRoYXNoMyB2KiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisiCisKK2NhdCA+IGV4cGVjdGVkIDw8RU9GCit2MC4yLjEKK3YxLjAKK3YxLjAuMQordjEuMS4zCit2Mi4wCit2My4wCiB2NC4wCiBFT0YKIApAQCAtMTQzNSwyMSArMTU1OSw3NiBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogIgogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja2luZyB0aGF0IC0tY29udGFpbnMgY2FuIGJlIHVzZWQgaW4gbm9uLWxpc3QgbW9kZScgJworCWdpdCB0YWcgLS1jb250YWlucyAkaGFzaDEgdiogPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja2luZyB0aGF0IGluaXRpYWwgY29tbWl0IGlzIGluIGFsbCB0YWdzIHdpdGggLS1uby1jb250YWlucycgIgorCT5leHBlY3RlZCAmJgorCWdpdCB0YWcgLWwgLS1uby1jb250YWlucyAkaGFzaDEgdiogPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorIgorCiAjIG1peGluZyBtb2RlcyBhbmQgb3B0aW9uczoKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWl4aW5nIGluY29tcGF0aWJsZXMgbW9kZXMgYW5kIG9wdGlvbnMgaXMgZm9yYmlkZGVuJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtYSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLWEgLWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC1zICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtcyAtbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLW0gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC1tIC1sICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtbSAiaGxhZ2giICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtbSAiaGxhZ2giIC1sICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtRiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLUYgLWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC1mICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtZiAtbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLWEgLXMgLW0gLUYgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC1hIC1zIC1tIC1GIC1sICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtbCAtdiAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLW4gMTAwICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtbCAtZCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLWwgLXYgLWQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC1uIDEwMCAtdiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLWwgLW0gbXNnICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtbCAtRiBzb21lIGZpbGUgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC12IC1zCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtdiAtcyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLS1jb250YWlucyB0YWctdHJlZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLS1jb250YWlucyB0YWctYmxvYiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLS1uby1jb250YWlucyB0YWctdHJlZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLS1uby1jb250YWlucyB0YWctYmxvYiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLS1jb250YWlucyAtLW5vLWNvbnRhaW5zICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtLW5vLXdpdGggSEVBRCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLS1uby13aXRob3V0IEhFQUQKICcKIAorZm9yIG9wdGlvbiBpbiAtLWNvbnRhaW5zIC0td2l0aCAtLW5vLWNvbnRhaW5zIC0td2l0aG91dCAtLW1lcmdlZCAtLW5vLW1lcmdlZCAtLXBvaW50cy1hdAorZG8KKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJtaXhpbmcgaW5jb21wYXRpYmxlIG1vZGVzIHdpdGggJG9wdGlvbiBpcyBmb3JiaWRkZW4iICIKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtZCAkb3B0aW9uIEhFQUQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtZCAkb3B0aW9uIEhFQUQgc29tZS10YWcgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHRhZyAtdiAkb3B0aW9uIEhFQUQKKwkiCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiRG9pbmcgJ2dpdCB0YWcgLS1saXN0LWxpa2UgJG9wdGlvbiA8Y29tbWl0PiA8cGF0dGVybj4gaXMgcGVybWl0dGVkIiAiCisJCWdpdCB0YWcgLW4gJG9wdGlvbiBIRUFEIEhFQUQgJiYKKwkJZ2l0IHRhZyAkb3B0aW9uIEhFQUQgSEVBRCAmJgorCQlnaXQgdGFnICRvcHRpb24KKwkiCitkb25lCisKICMgY2hlY2sgcG9pbnRzLWF0CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcG9pbnRzLWF0IGNhbm5vdCBiZSB1c2VkIGluIG5vbi1saXN0IG1vZGUnICcKLQl0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC0tcG9pbnRzLWF0PXY0LjAgZm9vCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXBvaW50cy1hdCBjYW4gYmUgdXNlZCBpbiBub24tbGlzdCBtb2RlJyAnCisJZWNobyB2NC4wID5leHBlY3QgJiYKKwlnaXQgdGFnIC0tcG9pbnRzLWF0PXY0LjAgInYqIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXBvaW50cy1hdCBpcyBhIHN5bm9ueW0gZm9yIC0tcG9pbnRzLWF0IEhFQUQnICcKKwllY2hvIHY0LjAgPmV4cGVjdCAmJgorCWdpdCB0YWcgLS1wb2ludHMtYXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1wb2ludHMtYXQgZmluZHMgbGlnaHR3ZWlnaHQgdGFncycgJwpAQCAtMTY4NCwxNCArMTg2Myw3IEBACiAJZ2l0IHRhZyAtbCAtLXNvcnQ9dmVyc2lvbjpyZWZuYW1lCiAnCiAKLXJ1bl93aXRoX2xpbWl0ZWRfc3RhY2sgKCkgewotCSh1bGltaXQgLXMgMTI4ICYmICIkQCIpCi19Ci0KLXRlc3RfbGF6eV9wcmVyZXEgVUxJTUlUX1NUQUNLX1NJWkUgJ3J1bl93aXRoX2xpbWl0ZWRfc3RhY2sgdHJ1ZScKLQotIyB3ZSByZXF1aXJlIHVsaW1pdCwgdGhpcyBleGNsdWRlcyBXaW5kb3dzCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFVMSU1JVF9TVEFDS19TSVpFICctLWNvbnRhaW5zIHdvcmtzIGluIGEgZGVlcCByZXBvJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFVMSU1JVF9TVEFDS19TSVpFICctLWNvbnRhaW5zIGFuZCAtLW5vLWNvbnRhaW5zIHdvcmsgaW4gYSBkZWVwIHJlcG8nICcKIAk+ZXhwZWN0ICYmCiAJaT0xICYmCiAJd2hpbGUgdGVzdCAkaSAtbHQgODAwMApAQCAtMTcwNyw3ICsxODc5LDkgQEAKIAlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCiAJZ2l0IHRhZyBmYXItZmFyLWF3YXkgSEVBRF4gJiYKIAlydW5fd2l0aF9saW1pdGVkX3N0YWNrIGdpdCB0YWcgLS1jb250YWlucyBIRUFEID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXJ1bl93aXRoX2xpbWl0ZWRfc3RhY2sgZ2l0IHRhZyAtLW5vLWNvbnRhaW5zIEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCAiLWd0IiAxMCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1mb3JtYXQgc2hvdWxkIGxpc3QgdGFncyBhcyBwZXIgZm9ybWF0IGdpdmVuJyAnCkBAIC0xNzIwLDE0ICsxODk0LDQ3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJzZXQgdXAgY29sb3IgdGVzdHMiICcKKwllY2hvICI8UkVEPnYxLjA8UkVTRVQ+IiA+ZXhwZWN0LmNvbG9yICYmCisJZWNobyAidjEuMCIgPmV4cGVjdC5iYXJlICYmCisJY29sb3JfYXJncz0iLS1mb3JtYXQ9JShjb2xvcjpyZWQpJShyZWZuYW1lOnNob3J0KSAtLWxpc3QgdjEuMCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJShjb2xvcikgb21pdHRlZCB3aXRob3V0IHR0eScgJworCVRFUk09dnQxMDAgZ2l0IHRhZyAkY29sb3JfYXJncyA+YWN0dWFsLnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QuYmFyZSBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJyUoY29sb3IpIHByZXNlbnQgd2l0aCB0dHknICcKKwl0ZXN0X3Rlcm1pbmFsIGVudiBURVJNPXZ0MTAwIGdpdCB0YWcgJGNvbG9yX2FyZ3MgPmFjdHVhbC5yYXcgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8YWN0dWFsLnJhdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0LmNvbG9yIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb2xvci51aT1hbHdheXMgb3ZlcnJpZGVzIGF1dG8tY29sb3InICcKKwlnaXQgLWMgY29sb3IudWk9YWx3YXlzIHRhZyAkY29sb3JfYXJncyA+YWN0dWFsLnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QuY29sb3IgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIC0tbWVyZ2VkIHRlc3QgdGFncycgJwogCWdpdCB0YWcgbWVyZ2V0ZXN0LTEgSEVBRH4yICYmCiAJZ2l0IHRhZyBtZXJnZXRlc3QtMiBIRUFEfjEgJiYKIAlnaXQgdGFnIG1lcmdldGVzdC0zIEhFQUQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1tZXJnZWQgY2Fubm90IGJlIHVzZWQgaW4gbm9uLWxpc3QgbW9kZScgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLS1tZXJnZWQ9bWVyZ2V0ZXN0LTIgZm9vCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW1lcmdlZCBjYW4gYmUgdXNlZCBpbiBub24tbGlzdCBtb2RlJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCW1lcmdldGVzdC0xCisJbWVyZ2V0ZXN0LTIKKwlFT0YKKwlnaXQgdGFnIC0tbWVyZ2VkPW1lcmdldGVzdC0yICJtZXJnZXRlc3QqIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW1lcmdlZCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLW1lcmdlZCcgJworCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLS1tZXJnZWQgSEVBRCAtLW5vLW1lcmdlZCBIRUFECiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbWVyZ2VkIHNob3dzIG1lcmdlZCB0YWdzJyAnCkBAIC0xNzQ3LDYgKzE5NTQsMTEgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tbWVyZ2VkIGNhbiBiZSB1c2VkIGluIG5vbi1saXN0IG1vZGUnICcKKwlnaXQgdGFnIC0tbm8tbWVyZ2VkPW1lcmdldGVzdC0yIG1lcmdldGVzdC0qID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FtYmlndW91cyBicmFuY2gvdGFncyBub3QgbWFya2VkJyAnCiAJZ2l0IHRhZyBhbWJpZ3VvdXMgJiYKIAlnaXQgYnJhbmNoIGFtYmlndW91cyAmJgpAQCAtMTc1NSw0ICsxOTY3LDQ3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWNvbnRhaW5zIGNvbWJpbmVkIHdpdGggLS1uby1jb250YWlucycgJworCSgKKwkJZ2l0IGluaXQgbm8tY29udGFpbnMgJiYKKwkJY2Qgbm8tY29udGFpbnMgJiYKKwkJdGVzdF9jb21taXQgdjAuMSAmJgorCQl0ZXN0X2NvbW1pdCB2MC4yICYmCisJCXRlc3RfY29tbWl0IHYwLjMgJiYKKwkJdGVzdF9jb21taXQgdjAuNCAmJgorCQl0ZXN0X2NvbW1pdCB2MC41ICYmCisJCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCQl2MC4yCisJCXYwLjMKKwkJdjAuNAorCQlFT0YKKwkJZ2l0IHRhZyAtLWNvbnRhaW5zIHYwLjIgLS1uby1jb250YWlucyB2MC41ID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJKQorJworCisjIEFzIHRoZSBkb2NzIHNheSwgbGlzdCB0YWdzIHdoaWNoIGNvbnRhaW4gYSBzcGVjaWZpZWQgKmNvbW1pdCouIFdlCisjIGRvbid0IHJlY3Vyc2UgZG93biB0byB0YWdzIGZvciB0cmVlcyBvciBibG9icyBwb2ludGVkIHRvIGJ5ICp0aG9zZSoKKyMgY29tbWl0cy4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0RvZXMgLS1bbm8tXWNvbnRhaW5zIHN0b3AgYXQgY29tbWl0cz8gWWVzIScgJworCWNkIG5vLWNvbnRhaW5zICYmCisJYmxvYj0kKGdpdCByZXYtcGFyc2UgdjAuMzp2MC4zLnQpICYmCisJdHJlZT0kKGdpdCByZXYtcGFyc2UgdjAuM157dHJlZX0pICYmCisJZ2l0IHRhZyB0YWctYmxvYiAkYmxvYiAmJgorCWdpdCB0YWcgdGFnLXRyZWUgJHRyZWUgJiYKKwlnaXQgdGFnIC0tY29udGFpbnMgdjAuMyA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJdjAuMworCXYwLjQKKwl2MC41CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJZ2l0IHRhZyAtLW5vLWNvbnRhaW5zIHYwLjMgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCXYwLjEKKwl2MC4yCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzAwNi1wYWdlci5zaCBiL3QvdDcwMDYtcGFnZXIuc2gKaW5kZXggYzhkYzY2NS4uOTEyOGVjNSAxMDA3NTUKLS0tIGEvdC90NzAwNi1wYWdlci5zaAorKysgYi90L3Q3MDA2LXBhZ2VyLnNoCkBAIC0xMzQsNiArMTM0LDg2IEBACiAJfQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnZ2l0IHRhZyAtbCBkZWZhdWx0cyB0byBwYWdpbmcnICcKKwlybSAtZiBwYWdpbmF0ZWQub3V0ICYmCisJdGVzdF90ZXJtaW5hbCBnaXQgdGFnIC1sICYmCisJdGVzdCAtZSBwYWdpbmF0ZWQub3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdnaXQgdGFnIC1sIHJlc3BlY3RzIHBhZ2VyLnRhZycgJworCXJtIC1mIHBhZ2luYXRlZC5vdXQgJiYKKwl0ZXN0X3Rlcm1pbmFsIGdpdCAtYyBwYWdlci50YWc9ZmFsc2UgdGFnIC1sICYmCisJISB0ZXN0IC1lIHBhZ2luYXRlZC5vdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJ2dpdCB0YWcgLWwgcmVzcGVjdHMgLS1uby1wYWdlcicgJworCXJtIC1mIHBhZ2luYXRlZC5vdXQgJiYKKwl0ZXN0X3Rlcm1pbmFsIGdpdCAtYyBwYWdlci50YWcgLS1uby1wYWdlciB0YWcgLWwgJiYKKwkhIHRlc3QgLWUgcGFnaW5hdGVkLm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnZ2l0IHRhZyB3aXRoIG5vIGFyZ3MgZGVmYXVsdHMgdG8gcGFnaW5nJyAnCisJIyBubyBhcmdzIGltcGxpZXMgLWwgc28gdGhpcyBzaG91bGQgcGFnZSBsaWtlIC1sCisJcm0gLWYgcGFnaW5hdGVkLm91dCAmJgorCXRlc3RfdGVybWluYWwgZ2l0IHRhZyAmJgorCXRlc3QgLWUgcGFnaW5hdGVkLm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnZ2l0IHRhZyB3aXRoIG5vIGFyZ3MgcmVzcGVjdHMgcGFnZXIudGFnJyAnCisJIyBubyBhcmdzIGltcGxpZXMgLWwgc28gdGhpcyBzaG91bGQgcGFnZSBsaWtlIC1sCisJcm0gLWYgcGFnaW5hdGVkLm91dCAmJgorCXRlc3RfdGVybWluYWwgZ2l0IC1jIHBhZ2VyLnRhZz1mYWxzZSB0YWcgJiYKKwkhIHRlc3QgLWUgcGFnaW5hdGVkLm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnZ2l0IHRhZyAtLWNvbnRhaW5zIGRlZmF1bHRzIHRvIHBhZ2luZycgJworCSMgLS1jb250YWlucyBpbXBsaWVzIC1sIHNvIHRoaXMgc2hvdWxkIHBhZ2UgbGlrZSAtbAorCXJtIC1mIHBhZ2luYXRlZC5vdXQgJiYKKwl0ZXN0X3Rlcm1pbmFsIGdpdCB0YWcgLS1jb250YWlucyAmJgorCXRlc3QgLWUgcGFnaW5hdGVkLm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnZ2l0IHRhZyAtLWNvbnRhaW5zIHJlc3BlY3RzIHBhZ2VyLnRhZycgJworCSMgLS1jb250YWlucyBpbXBsaWVzIC1sIHNvIHRoaXMgc2hvdWxkIHBhZ2UgbGlrZSAtbAorCXJtIC1mIHBhZ2luYXRlZC5vdXQgJiYKKwl0ZXN0X3Rlcm1pbmFsIGdpdCAtYyBwYWdlci50YWc9ZmFsc2UgdGFnIC0tY29udGFpbnMgJiYKKwkhIHRlc3QgLWUgcGFnaW5hdGVkLm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnZ2l0IHRhZyAtYSBkZWZhdWx0cyB0byBub3QgcGFnaW5nJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdGFnIC1kIG5ld3RhZyIgJiYKKwlybSAtZiBwYWdpbmF0ZWQub3V0ICYmCisJdGVzdF90ZXJtaW5hbCBnaXQgdGFnIC1hbSBtZXNzYWdlIG5ld3RhZyAmJgorCSEgdGVzdCAtZSBwYWdpbmF0ZWQub3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdnaXQgdGFnIC1hIGlnbm9yZXMgcGFnZXIudGFnJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdGFnIC1kIG5ld3RhZyIgJiYKKwlybSAtZiBwYWdpbmF0ZWQub3V0ICYmCisJdGVzdF90ZXJtaW5hbCBnaXQgLWMgcGFnZXIudGFnIHRhZyAtYW0gbWVzc2FnZSBuZXd0YWcgJiYKKwkhIHRlc3QgLWUgcGFnaW5hdGVkLm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnZ2l0IHRhZyAtYSByZXNwZWN0cyAtLXBhZ2luYXRlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdGFnIC1kIG5ld3RhZyIgJiYKKwlybSAtZiBwYWdpbmF0ZWQub3V0ICYmCisJdGVzdF90ZXJtaW5hbCBnaXQgLS1wYWdpbmF0ZSB0YWcgLWFtIG1lc3NhZ2UgbmV3dGFnICYmCisJdGVzdCAtZSBwYWdpbmF0ZWQub3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdnaXQgdGFnIGFzIGFsaWFzIGlnbm9yZXMgcGFnZXIudGFnIHdpdGggLWEnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB0YWcgLWQgbmV3dGFnIiAmJgorCXJtIC1mIHBhZ2luYXRlZC5vdXQgJiYKKwl0ZXN0X3Rlcm1pbmFsIGdpdCAtYyBwYWdlci50YWcgLWMgYWxpYXMudD10YWcgdCAtYW0gbWVzc2FnZSBuZXd0YWcgJiYKKwkhIHRlc3QgLWUgcGFnaW5hdGVkLm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnZ2l0IHRhZyBhcyBhbGlhcyByZXNwZWN0cyBwYWdlci50YWcgd2l0aCAtbCcgJworCXJtIC1mIHBhZ2luYXRlZC5vdXQgJiYKKwl0ZXN0X3Rlcm1pbmFsIGdpdCAtYyBwYWdlci50YWc9ZmFsc2UgLWMgYWxpYXMudD10YWcgdCAtbCAmJgorCSEgdGVzdCAtZSBwYWdpbmF0ZWQub3V0CisnCisKICMgQSBjb2xvcmVkIGNvbW1pdCBsb2cgd2lsbCBiZWdpbiB3aXRoIGFuIGFwcHJvcHJpYXRlIEFOU0kgZXNjYXBlCiAjIGZvciB0aGUgZmlyc3QgY29sb3I7IHRoZSB0ZXh0ICJjb21taXQiIGNvbWVzIGxhdGVyLgogY29sb3JmdWwoKSB7CkBAIC0zNjAsMjcgKzQ0MCw0OCBAQAogdGVzdF9kZWZhdWx0X3BhZ2VyICAgICAgICBleHBlY3Rfc3VjY2VzcyAnZ2l0IC1wIGFsaWFzZWRsb2cnCiB0ZXN0X1BBR0VSX292ZXJyaWRlcyAgICAgIGV4cGVjdF9zdWNjZXNzICdnaXQgLXAgYWxpYXNlZGxvZycKIHRlc3RfY29yZV9wYWdlcl9vdmVycmlkZXMgZXhwZWN0X3N1Y2Nlc3MgJ2dpdCAtcCBhbGlhc2VkbG9nJwotdGVzdF9jb3JlX3BhZ2VyX3N1YmRpciAgICBleHBlY3RfZmFpbHVyZSAnZ2l0IC1wIGFsaWFzZWRsb2cnCit0ZXN0X2NvcmVfcGFnZXJfc3ViZGlyICAgIGV4cGVjdF9zdWNjZXNzICdnaXQgLXAgYWxpYXNlZGxvZycKIHRlc3RfR0lUX1BBR0VSX292ZXJyaWRlcyAgZXhwZWN0X3N1Y2Nlc3MgJ2dpdCAtcCBhbGlhc2VkbG9nJwogCiB0ZXN0X2RlZmF1bHRfcGFnZXIgICAgICAgIGV4cGVjdF9zdWNjZXNzICdnaXQgLXAgdHJ1ZScKIHRlc3RfUEFHRVJfb3ZlcnJpZGVzICAgICAgZXhwZWN0X3N1Y2Nlc3MgJ2dpdCAtcCB0cnVlJwogdGVzdF9jb3JlX3BhZ2VyX292ZXJyaWRlcyBleHBlY3Rfc3VjY2VzcyAnZ2l0IC1wIHRydWUnCi10ZXN0X2NvcmVfcGFnZXJfc3ViZGlyICAgIGV4cGVjdF9mYWlsdXJlICdnaXQgLXAgdHJ1ZScKK3Rlc3RfY29yZV9wYWdlcl9zdWJkaXIgICAgZXhwZWN0X3N1Y2Nlc3MgJ2dpdCAtcCB0cnVlJwogdGVzdF9HSVRfUEFHRVJfb3ZlcnJpZGVzICBleHBlY3Rfc3VjY2VzcyAnZ2l0IC1wIHRydWUnCiAKIHRlc3RfZGVmYXVsdF9wYWdlciAgICAgICAgZXhwZWN0X3N1Y2Nlc3MgdGVzdF9tdXN0X2ZhaWwgJ2dpdCAtcCByZXF1ZXN0LXB1bGwnCiB0ZXN0X1BBR0VSX292ZXJyaWRlcyAgICAgIGV4cGVjdF9zdWNjZXNzIHRlc3RfbXVzdF9mYWlsICdnaXQgLXAgcmVxdWVzdC1wdWxsJwogdGVzdF9jb3JlX3BhZ2VyX292ZXJyaWRlcyBleHBlY3Rfc3VjY2VzcyB0ZXN0X211c3RfZmFpbCAnZ2l0IC1wIHJlcXVlc3QtcHVsbCcKLXRlc3RfY29yZV9wYWdlcl9zdWJkaXIgICAgZXhwZWN0X2ZhaWx1cmUgdGVzdF9tdXN0X2ZhaWwgJ2dpdCAtcCByZXF1ZXN0LXB1bGwnCit0ZXN0X2NvcmVfcGFnZXJfc3ViZGlyICAgIGV4cGVjdF9zdWNjZXNzIHRlc3RfbXVzdF9mYWlsICdnaXQgLXAgcmVxdWVzdC1wdWxsJwogdGVzdF9HSVRfUEFHRVJfb3ZlcnJpZGVzICBleHBlY3Rfc3VjY2VzcyB0ZXN0X211c3RfZmFpbCAnZ2l0IC1wIHJlcXVlc3QtcHVsbCcKIAogdGVzdF9kZWZhdWx0X3BhZ2VyICAgICAgICBleHBlY3Rfc3VjY2VzcyB0ZXN0X211c3RfZmFpbCAnZ2l0IC1wJwogdGVzdF9QQUdFUl9vdmVycmlkZXMgICAgICBleHBlY3Rfc3VjY2VzcyB0ZXN0X211c3RfZmFpbCAnZ2l0IC1wJwogdGVzdF9sb2NhbF9jb25maWdfaWdub3JlZCBleHBlY3RfZmFpbHVyZSB0ZXN0X211c3RfZmFpbCAnZ2l0IC1wJwotdGVzdF9ub19sb2NhbF9jb25maWdfc3ViZGlyIGV4cGVjdF9zdWNjZXNzIHRlc3RfbXVzdF9mYWlsICdnaXQgLXAnCiB0ZXN0X0dJVF9QQUdFUl9vdmVycmlkZXMgIGV4cGVjdF9zdWNjZXNzIHRlc3RfbXVzdF9mYWlsICdnaXQgLXAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdjb3JlLnBhZ2VyIGluIHJlcG8gY29uZmlnIHdvcmtzIGFuZCByZXRhaW5zIGN3ZCcgJworCXNhbmVfdW5zZXQgR0lUX1BBR0VSICYmCisJdGVzdF9jb25maWcgY29yZS5wYWdlciAiY2F0ID5jd2QtcmV0YWluZWQiICYmCisJKAorCQljZCBzdWIgJiYKKwkJcm0gLWYgY3dkLXJldGFpbmVkICYmCisJCXRlc3RfdGVybWluYWwgZ2l0IC1wIHJldi1wYXJzZSBIRUFEICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGN3ZC1yZXRhaW5lZAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJ2NvcmUucGFnZXIgaXMgZm91bmQgdmlhIGFsaWFzIGluIHN1YmRpcmVjdG9yeScgJworCXNhbmVfdW5zZXQgR0lUX1BBR0VSICYmCisJdGVzdF9jb25maWcgY29yZS5wYWdlciAiY2F0ID52aWEtYWxpYXMiICYmCisJKAorCQljZCBzdWIgJiYKKwkJcm0gLWYgdmlhLWFsaWFzICYmCisJCXRlc3RfdGVybWluYWwgZ2l0IC1jIGFsaWFzLnI9Ii1wIHJldi1wYXJzZSIgciBIRUFEICYmCisJCXRlc3RfcGF0aF9pc19maWxlIHZpYS1hbGlhcworCSkKKycKKwogdGVzdF9kb2VzbnRfcGFnaW5hdGUgICAgICBleHBlY3RfZmFpbHVyZSB0ZXN0X211c3RfZmFpbCAnZ2l0IC1wIG5vbnNlbnNlJwogCiB0ZXN0X3BhZ2VyX2Nob2ljZXMgICAgICAgICAgICAgICAgICAgICAgICdnaXQgc2hvcnRsb2cnCmRpZmYgLS1naXQgYS90L3Q3MDA4LWdyZXAtYmluYXJ5LnNoIGIvdC90NzAwOC1ncmVwLWJpbmFyeS5zaAppbmRleCA5YzljMzc4Li42MTVlN2UwIDEwMDc1NQotLS0gYS90L3Q3MDA4LWdyZXAtYmluYXJ5LnNoCisrKyBiL3QvdDcwMDgtZ3JlcC1iaW5hcnkuc2gKQEAgLTQsOCArNCw0MyBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAorbnVsX21hdGNoICgpIHsKKwltYXRjaGVzPSQxCisJZmxhZ3M9JDIKKwlwYXR0ZXJuPSQzCisJcGF0dGVybl9odW1hbj0kKGVjaG8gIiRwYXR0ZXJuIiB8IHNlZCAncy9RLzxOVUw+L2cnKQorCisJaWYgdGVzdCAiJG1hdGNoZXMiID0gMQorCXRoZW4KKwkJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZ2l0IGdyZXAgLWYgZiAkZmxhZ3MgJyRwYXR0ZXJuX2h1bWFuJyBhIiAiCisJCQlwcmludGYgJyRwYXR0ZXJuJyB8IHFfdG9fbnVsID5mICYmCisJCQlnaXQgZ3JlcCAtZiBmICRmbGFncyBhCisJCSIKKwllbGlmIHRlc3QgIiRtYXRjaGVzIiA9IDAKKwl0aGVuCisJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImdpdCBncmVwIC1mIGYgJGZsYWdzICckcGF0dGVybl9odW1hbicgYSIgIgorCQkJcHJpbnRmICckcGF0dGVybicgfCBxX3RvX251bCA+ZiAmJgorCQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLWYgZiAkZmxhZ3MgYQorCQkiCisJZWxpZiB0ZXN0ICIkbWF0Y2hlcyIgPSBUMQorCXRoZW4KKwkJdGVzdF9leHBlY3RfZmFpbHVyZSAiZ2l0IGdyZXAgLWYgZiAkZmxhZ3MgJyRwYXR0ZXJuX2h1bWFuJyBhIiAiCisJCQlwcmludGYgJyRwYXR0ZXJuJyB8IHFfdG9fbnVsID5mICYmCisJCQlnaXQgZ3JlcCAtZiBmICRmbGFncyBhCisJCSIKKwllbGlmIHRlc3QgIiRtYXRjaGVzIiA9IFQwCisJdGhlbgorCQl0ZXN0X2V4cGVjdF9mYWlsdXJlICJnaXQgZ3JlcCAtZiBmICRmbGFncyAnJHBhdHRlcm5faHVtYW4nIGEiICIKKwkJCXByaW50ZiAnJHBhdHRlcm4nIHwgcV90b19udWwgPmYgJiYKKwkJCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC1mIGYgJGZsYWdzIGEKKwkJIgorCWVsc2UKKwkJdGVzdF9leHBlY3Rfc3VjY2VzcyAiUEFOSUM6IFRlc3QgZnJhbWV3b3JrIGVycm9yLiBVbmtub3duIG1hdGNoZXMgdmFsdWUgJG1hdGNoZXMiICdmYWxzZScKKwlmaQorfQorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgIgotCWVjaG8gJ2JpbmFyeVFmaWxlJyB8IHFfdG9fbnVsID5hICYmCisJZWNobyAnYmluYXJ5UWZpbGVRbVsqXWNRKsOmUcOwJyB8IHFfdG9fbnVsID5hICYmCiAJZ2l0IGFkZCBhICYmCiAJZ2l0IGNvbW1pdCAtbS4KICIKQEAgLTY5LDM1ICsxMDQsNzEgQEAKIAlnaXQgZ3JlcCAuZmkgYQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZ3JlcCAtRiB5PE5VTD5mIGEnICIKLQlwcmludGYgJ3lRZicgfCBxX3RvX251bCA+ZiAmJgotCWdpdCBncmVwIC1mIGYgLUYgYQotIgorbnVsX21hdGNoIDEgJy1GJyAneVFmJworbnVsX21hdGNoIDAgJy1GJyAneVF4JworbnVsX21hdGNoIDEgJy1GaScgJ1lRZicKK251bF9tYXRjaCAwICctRmknICdZUXgnCitudWxfbWF0Y2ggMSAnJyAneVFmJworbnVsX21hdGNoIDAgJycgJ3lReCcKK251bF9tYXRjaCAxICcnICfDplHDsCcKK251bF9tYXRjaCAxICctRicgJ2VRbVsqXWMnCitudWxfbWF0Y2ggMSAnLUZpJyAnRVFNWypdQycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGdyZXAgLUYgeTxOVUw+eCBhJyAiCi0JcHJpbnRmICd5UXgnIHwgcV90b19udWwgPmYgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCAtZiBmIC1GIGEKLSIKKyMgUmVnZXggcGF0dGVybnMgdGhhdCB3b3VsZCBtYXRjaCBidXQgc2hvdWxkbid0IHdpdGggLUYKK251bF9tYXRjaCAwICctRicgJ3lRW2ZdJworbnVsX21hdGNoIDAgJy1GJyAnW3ldUWYnCitudWxfbWF0Y2ggMCAnLUZpJyAnWVFbRl0nCitudWxfbWF0Y2ggMCAnLUZpJyAnW1ldUUYnCitudWxfbWF0Y2ggMCAnLUYnICfDplFbw7BdJworbnVsX21hdGNoIDAgJy1GJyAnW8OmXVHDsCcKK251bF9tYXRjaCAwICctRmknICfDhlFbw5BdJworbnVsX21hdGNoIDAgJy1GaScgJ1vDhl1Rw5AnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIC1GaSBZPE5VTD5mIGEnICIKLQlwcmludGYgJ1lRZicgfCBxX3RvX251bCA+ZiAmJgotCWdpdCBncmVwIC1mIGYgLUZpIGEKLSIKKyMga3dzZXQgaXMgZGlzYWJsZWQgb24gLWkgJiBub24tQVNDSUkuIE5vIHdheSB0byBtYXRjaCBub24tQVNDSUkgXDAKKyMgcGF0dGVybnMgY2FzZS1pbnNlbnNpdGl2ZWx5LgorbnVsX21hdGNoIFQxICctaScgJ8OGUcOQJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZ3JlcCAtRmkgWTxOVUw+eCBhJyAiCi0JcHJpbnRmICdZUXgnIHwgcV90b19udWwgPmYgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCAtZiBmIC1GaSBhCi0iCisjIFwwIGltcGxpY2l0bHkgZGlzYWJsZXMgcmVnZXhlcy4gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQgaW50ZXJuYWwKKyMgbGltaXRhdGlvbi4KK251bF9tYXRjaCBUMSAnJyAneVFbZl0nCitudWxfbWF0Y2ggVDEgJycgJ1t5XVFmJworbnVsX21hdGNoIFQxICctaScgJ1lRW0ZdJworbnVsX21hdGNoIFQxICctaScgJ1tZXVFmJworbnVsX21hdGNoIFQxICcnICfDplFbw7BdJworbnVsX21hdGNoIFQxICcnICdbw6ZdUcOwJworbnVsX21hdGNoIFQxICctaScgJ8OGUVvDkF0nCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIHk8TlVMPmYgYScgIgotCXByaW50ZiAneVFmJyB8IHFfdG9fbnVsID5mICYmCi0JZ2l0IGdyZXAgLWYgZiBhCi0iCisjIC4uLiBiZWNhdXNlIG9mIFwwIGltcGxpY2l0bHkgZGlzYWJsaW5nIHJlZ2V4ZXMgcmVnZXhlcyB0aGF0CisjIHNob3VsZC9zaG91bGRuJ3QgbWF0Y2ggZG9uJ3QgZG8gdGhlIHJpZ2h0IHRoaW5nLgorbnVsX21hdGNoIFQxICcnICdlUW0uKmNRJworbnVsX21hdGNoIFQxICctaScgJ0VRTS4qY1EnCitudWxfbWF0Y2ggVDAgJycgJ2VRbVsqXWMnCitudWxfbWF0Y2ggVDAgJy1pJyAnRVFNWypdQycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGdyZXAgeTxOVUw+eCBhJyAiCi0JcHJpbnRmICd5UXgnIHwgcV90b19udWwgPmYgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCAtZiBmIGEKLSIKKyMgRHVlIHRvIHRoZSBSRUdfU1RBUlRFTkQgZXh0ZW5zaW9uIHdoZW4ga3dzZXQoKSBpcyBkaXNhYmxlZCBvbiAtaSAmCisjIG5vbi1BU0NJSSB0aGUgc3RyaW5nIHdpbGwgYmUgbWF0Y2hlZCBpbiBpdHMgZW50aXJldHksIGJ1dCB0aGUKKyMgcGF0dGVybiB3aWxsIGJlIGN1dCBvZmYgYXQgdGhlIGZpcnN0IFwwLgorbnVsX21hdGNoIDAgJy1pJyAnTk9NQVRDSFHDsCcKK251bF9tYXRjaCBUMCAnLWknICdbw4ZdUU5PTUFUQ0gnCitudWxfbWF0Y2ggVDAgJy1pJyAnW8OmXVFOT01BVENIJworIyBNYXRjaGVzLCBidXQgZm9yIHRoZSB3cm9uZyByZWFzb25zLCBqdXN0IHN0b3BzIGF0IFvDpl0KK251bF9tYXRjaCAxICctaScgJ1vDhl1Rw7AnCitudWxfbWF0Y2ggMSAnLWknICdbw6ZdUcOwJworCisjIEVuc3VyZSB0aGF0IHRoZSBtYXRjaGVyIGRvZXNuJ3QgcmVncmVzcyB0byBzb21ldGhpbmcgdGhhdCBzdG9wcyBhdAorIyBcMAorbnVsX21hdGNoIDAgJy1GJyAneVFbZl0nCitudWxfbWF0Y2ggMCAnLUZpJyAnWVFbRl0nCitudWxfbWF0Y2ggMCAnJyAneVFOT01BVENIJworbnVsX21hdGNoIDAgJycgJ1FOT01BVENIJworbnVsX21hdGNoIDAgJy1pJyAnWVFOT01BVENIJworbnVsX21hdGNoIDAgJy1pJyAnUU5PTUFUQ0gnCitudWxfbWF0Y2ggMCAnLUYnICfDplFbw7BdJworbnVsX21hdGNoIDAgJy1GaScgJ8OGUVvDkF0nCitudWxfbWF0Y2ggMCAnJyAneVFOw5NNQVRDSCcKK251bF9tYXRjaCAwICcnICdRTsOTTUFUQ0gnCitudWxfbWF0Y2ggMCAnLWknICdZUU7Dk01BVENIJworbnVsX21hdGNoIDAgJy1pJyAnUU7Dk01BVENIJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIHJlc3BlY3RzIGJpbmFyeSBkaWZmIGF0dHJpYnV0ZScgJwogCWVjaG8gdGV4dCA+dCAmJgpAQCAtMTYyLDcgKzIzMyw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgLS10ZXh0Y29udiBob25vcnMgdGV4dGNvbnYnICcKLQllY2hvICJhOmJpbmFyeVFmaWxlIiA+ZXhwZWN0ICYmCisJZWNobyAiYTpiaW5hcnlRZmlsZVFtWypdY1Eqw6ZRw7AiID5leHBlY3QgJiYKIAlnaXQgZ3JlcCAtLXRleHRjb252IFFmaWxlID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC0xNzIsNyArMjQzLDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLXRleHRjb252IGJsb2IgaG9ub3JzIHRleHRjb252JyAnCi0JZWNobyAiSEVBRDphOmJpbmFyeVFmaWxlIiA+ZXhwZWN0ICYmCisJZWNobyAiSEVBRDphOmJpbmFyeVFmaWxlUW1bKl1jUSrDplHDsCIgPmV4cGVjdCAmJgogCWdpdCBncmVwIC0tdGV4dGNvbnYgUWZpbGUgSEVBRDphID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCmRpZmYgLS1naXQgYS90L3Q3MDA5LWZpbHRlci1icmFuY2gtbnVsbC1zaGExLnNoIGIvdC90NzAwOS1maWx0ZXItYnJhbmNoLW51bGwtc2hhMS5zaAppbmRleCBjMjdmOTBmLi5hOGQ5ZWM0IDEwMDc1NQotLS0gYS90L3Q3MDA5LWZpbHRlci1icmFuY2gtbnVsbC1zaGExLnNoCisrKyBiL3QvdDcwMDktZmlsdGVyLWJyYW5jaC1udWxsLXNoYTEuc2gKQEAgLTMxLDYgKzMxLDEyIEBACiAJZ2l0IGNvbW1pdCAtYSAtbSAiYmFjayB0byBub3JtYWwiCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vb3AgZmlsdGVyLWJyYW5jaCBjb21wbGFpbnMnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZmlsdGVyLWJyYW5jaCBcCisJCS0tZm9yY2UgLS1wcnVuZS1lbXB0eSBcCisJCS0taW5kZXgtZmlsdGVyICJ0cnVlIgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaWx0ZXIgY29tbWFuZHMgYXJlIHN0aWxsIGNoZWNrZWQnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgZmlsdGVyLWJyYW5jaCBcCiAJCS0tZm9yY2UgLS1wcnVuZS1lbXB0eSBcCmRpZmYgLS1naXQgYS90L3Q3MDYxLXd0c3RhdHVzLWlnbm9yZS5zaCBiL3QvdDcwNjEtd3RzdGF0dXMtaWdub3JlLnNoCmluZGV4IGNkYzA3NDcuLmZjNjAxM2IgMTAwNzU1Ci0tLSBhL3QvdDcwNjEtd3RzdGF0dXMtaWdub3JlLnNoCisrKyBiL3QvdDcwNjEtd3RzdGF0dXMtaWdub3JlLnNoCkBAIC05LDYgKzksNyBAQAogPz8gYWN0dWFsCiA/PyBleHBlY3RlZAogPz8gdW50cmFja2VkLworISEgdW50cmFja2VkL2lnbm9yZWQKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgdW50cmFja2VkIGRpcmVjdG9yeSB3aXRoIC0taWdub3JlZCcgJwpkaWZmIC0tZ2l0IGEvdC90NzA2My1zdGF0dXMtdW50cmFja2VkLWNhY2hlLnNoIGIvdC90NzA2My1zdGF0dXMtdW50cmFja2VkLWNhY2hlLnNoCmluZGV4IDA2NjdiZDkuLmU1ZmI4OTIgMTAwNzU1Ci0tLSBhL3QvdDcwNjMtc3RhdHVzLXVudHJhY2tlZC1jYWNoZS5zaAorKysgYi90L3Q3MDYzLXN0YXR1cy11bnRyYWNrZWQtY2FjaGUuc2gKQEAgLTY2MSw0ICs2NjEsMjYgQEAKIAl0ZXN0X2kxOG5jbXAgLi4vZXhwZWN0IC4uL2VycgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1bnRyYWNrZWQgY2FjaGUgc3Vydml2ZXMgYSBjaGVja291dCcgJworCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBlbXB0eSAmJgorCXRlc3QtZHVtcC11bnRyYWNrZWQtY2FjaGUgPi4uL2JlZm9yZSAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAgImdpdCBjaGVja291dCBtYXN0ZXIiICYmCisJZ2l0IGNoZWNrb3V0IC1iIG90aGVyX2JyYW5jaCAmJgorCXRlc3QtZHVtcC11bnRyYWNrZWQtY2FjaGUgPi4uL2FmdGVyICYmCisJdGVzdF9jbXAgLi4vYmVmb3JlIC4uL2FmdGVyICYmCisJdGVzdF9jb21taXQgdGVzdCAmJgorCXRlc3QtZHVtcC11bnRyYWNrZWQtY2FjaGUgPi4uL2JlZm9yZSAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwl0ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlID4uLi9hZnRlciAmJgorCXRlc3RfY21wIC4uL2JlZm9yZSAuLi9hZnRlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1bnRyYWNrZWQgY2FjaGUgc3Vydml2ZXMgYSBjb21taXQnICcKKwl0ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlID4uLi9iZWZvcmUgJiYKKwlnaXQgYWRkIGRvbmUvdHdvICYmCisJZ2l0IGNvbW1pdCAtbSBjb21taXQgJiYKKwl0ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlID4uLi9hZnRlciAmJgorCXRlc3RfY21wIC4uL2JlZm9yZSAuLi9hZnRlcgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDcxMTItcmVzZXQtc3VibW9kdWxlLnNoIGIvdC90NzExMi1yZXNldC1zdWJtb2R1bGUuc2gKaW5kZXggMmVkYTZhZC4uYTFjYjlmZiAxMDA3NTUKLS0tIGEvdC90NzExMi1yZXNldC1zdWJtb2R1bGUuc2gKKysrIGIvdC90NzExMi1yZXNldC1zdWJtb2R1bGUuc2gKQEAgLTUsNiArNSwxNCBAQAogLiAuL3Rlc3QtbGliLnNoCiAuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1zdWJtb2R1bGUtdXBkYXRlLnNoCiAKK0tOT1dOX0ZBSUxVUkVfU1VCTU9EVUxFX1JFQ1VSU0lWRV9ORVNURUQ9MQorS05PV05fRkFJTFVSRV9ESVJFQ1RPUllfU1VCTU9EVUxFX0NPTkZMSUNUUz0xCitLTk9XTl9GQUlMVVJFX1NVQk1PRFVMRV9PVkVSV1JJVEVfSUdOT1JFRF9VTlRSQUNLRUQ9MQorCit0ZXN0X3N1Ym1vZHVsZV9zd2l0Y2hfcmVjdXJzaW5nX3dpdGhfYXJncyAicmVzZXQgLS1rZWVwIgorCit0ZXN0X3N1Ym1vZHVsZV9mb3JjZWRfc3dpdGNoX3JlY3Vyc2luZ193aXRoX2FyZ3MgInJlc2V0IC0taGFyZCIKKwogdGVzdF9zdWJtb2R1bGVfc3dpdGNoICJnaXQgcmVzZXQgLS1rZWVwIgogCiB0ZXN0X3N1Ym1vZHVsZV9zd2l0Y2ggImdpdCByZXNldCAtLW1lcmdlIgpkaWZmIC0tZ2l0IGEvdC90NzMwMC1jbGVhbi5zaCBiL3QvdDczMDAtY2xlYW4uc2gKaW5kZXggYjg5ZmQyYS4uN2IzNjk1NCAxMDA3NTUKLS0tIGEvdC90NzMwMC1jbGVhbi5zaAorKysgYi90L3Q3MzAwLWNsZWFuLnNoCkBAIC02NTMsNCArNjUzLDIwIEBACiAJdGVzdF9wYXRoX2lzX2RpciBmb29iYXIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGNsZWFuIC1kIHNraXBzIHVudHJhY2tlZCBkaXJzIGNvbnRhaW5pbmcgaWdub3JlZCBmaWxlcycgJworCWVjaG8gL2Zvby9iYXIgPi5naXRpZ25vcmUgJiYKKwllY2hvIGlnbm9yZW1lID4+LmdpdGlnbm9yZSAmJgorCXJtIC1yZiBmb28gJiYKKwlta2RpciAtcCBmb28vYS9hYS9hYWEgZm9vL2IvYmIvYmJiICYmCisJdG91Y2ggZm9vL2JhciBmb28vYmF6IGZvby9hL2FhL2lnbm9yZW1lIGZvby9iL2lnbm9yZW1lIGZvby9iL2JiLzEgZm9vL2IvYmIvMiAmJgorCWdpdCBjbGVhbiAtZGYgJiYKKwl0ZXN0X3BhdGhfaXNfZGlyIGZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZvby9iYXIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmb28vYmF6ICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZm9vL2EvYWEvaWdub3JlbWUgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmb28vYS9hYS9hYWEgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmb28vYi9pZ25vcmVtZSAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGZvby9iL2JiCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzMwMS1jbGVhbi1pbnRlcmFjdGl2ZS5zaCBiL3QvdDczMDEtY2xlYW4taW50ZXJhY3RpdmUuc2gKaW5kZXggM2FlMzk0ZS4uNTU2ZTE4NSAxMDA3NTUKLS0tIGEvdC90NzMwMS1jbGVhbi1pbnRlcmFjdGl2ZS5zaAorKysgYi90L3Q3MzAxLWNsZWFuLWludGVyYWN0aXZlLnNoCkBAIC00NzIsNCArNDcyLDE0IEBACiAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGNsZWFuIC1pIHBhaW50cyB0aGUgaGVhZGVyIGluIEhFQURFUiBjb2xvcicgJworCT5hLm91dCAmJgorCWVjaG8gcSB8CisJZ2l0IC1jIGNvbG9yLnVpPWFsd2F5cyBjbGVhbiAtaSB8CisJdGVzdF9kZWNvZGVfY29sb3IgfAorCWhlYWQgLW4gMSA+aGVhZGVyICYmCisJIyBub3QgaTE4bmdyZXAKKwlncmVwICJePEJPTEQ+IiBoZWFkZXIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaCBiL3QvdDc0MDAtc3VibW9kdWxlLWJhc2ljLnNoCmluZGV4IGMwOWNlMGQuLjZmODMzN2YgMTAwNzU1Ci0tLSBhL3QvdDc0MDAtc3VibW9kdWxlLWJhc2ljLnNoCisrKyBiL3QvdDc0MDAtc3VibW9kdWxlLWJhc2ljLnNoCkBAIC0zOCwxNCArMzgsMTIgQEAKIAl0ZXN0X2kxOG5ncmVwICJTdWJtb2R1bGUgcGF0aCAuc3ViLiBub3QgaW5pdGlhbGl6ZWQiIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25maWd1cmF0aW9uIHBhcnNpbmcnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSB1cGRhdGUgYWJvcnRzIG9uIG1pc3NpbmcgZ2l0bW9kdWxlcyB1cmwnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB1cGRhdGUtaW5kZXggLS1yZW1vdmUgc3ViIiAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTYwMDAwLCQoZ2l0IHJldi1wYXJzZSBIRUFEKSxzdWIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXRtb2R1bGVzIiAmJgotCWNhdCA+LmdpdG1vZHVsZXMgPDwtXEVPRiAmJgotCVtzdWJtb2R1bGUgInMiXQotCQlwYXRoCi0JCWlnbm9yZQotCUVPRgotCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGF0dXMKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zLnBhdGggc3ViICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN1Ym1vZHVsZSBpbml0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIC0gcmVwb3NpdG9yeSBpbiBpbml0IHN1YmRpcmVjdG9yeScgJwpAQCAtMjczLDYgKzI3MSwyMCBAQAogCXRlc3RfY21wIGVtcHR5IHVudHJhY2tlZAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFDWUdXSU4gJ3N1Ym1vZHVsZSBhZGQgd2l0aCBcXCBpbiBwYXRoJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgcGFyZW50IHN1Ylxcd2l0aFxcYmFja3NsYXNoIiAmJgorCisJIyBJbml0aWFsaXplIGEgcmVwbyB3aXRoIGEgYmFja3NsYXNoIGluIGl0cyBuYW1lCisJZ2l0IGluaXQgc3ViXFx3aXRoXFxiYWNrc2xhc2ggJiYKKwl0b3VjaCBzdWJcXHdpdGhcXGJhY2tzbGFzaC9lbXB0eS5maWxlICYmCisJZ2l0IC1DIHN1Ylxcd2l0aFxcYmFja3NsYXNoIGFkZCBlbXB0eS5maWxlICYmCisJZ2l0IC1DIHN1Ylxcd2l0aFxcYmFja3NsYXNoIGNvbW1pdCAtbSAiQWRkZWQgZW1wdHkuZmlsZSIgJiYKKworCSMgQWRkIHRoYXQgcmVwb3NpdG9yeSBhcyBhIHN1Ym1vZHVsZQorCWdpdCBpbml0IHBhcmVudCAmJgorCWdpdCAtQyBwYXJlbnQgc3VibW9kdWxlIGFkZCAuLi9zdWJcXHdpdGhcXGJhY2tzbGFzaAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgYWRkIGluIHN1YmRpcmVjdG9yeScgJwogCWVjaG8gInJlZnMvaGVhZHMvbWFzdGVyIiA+ZXhwZWN0ICYmCiAJPmVtcHR5ICYmCkBAIC0xMTMwLDUgKzExNDIsMTQ3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBzdXBlcnByb2plY3Qgd2l0aCBzdWJtb2R1bGVzJyAnCisJZ2l0IGluaXQgc3ViMSAmJgorCXRlc3RfY29tbWl0IC1DIHN1YjEgdGVzdCAmJgorCXRlc3RfY29tbWl0IC1DIHN1YjEgdGVzdDIgJiYKKwlnaXQgaW5pdCBtdWx0aXN1cGVyICYmCisJZ2l0IC1DIG11bHRpc3VwZXIgc3VibW9kdWxlIGFkZCAuLi9zdWIxIHN1YjAgJiYKKwlnaXQgLUMgbXVsdGlzdXBlciBzdWJtb2R1bGUgYWRkIC4uL3N1YjEgc3ViMSAmJgorCWdpdCAtQyBtdWx0aXN1cGVyIHN1Ym1vZHVsZSBhZGQgLi4vc3ViMSBzdWIyICYmCisJZ2l0IC1DIG11bHRpc3VwZXIgc3VibW9kdWxlIGFkZCAuLi9zdWIxIHN1YjMgJiYKKwlnaXQgLUMgbXVsdGlzdXBlciBjb21taXQgLW0gImFkZCBzb21lIHN1Ym1vZHVsZXMiCisnCisKK2NhdCA+ZXhwZWN0IDw8LUVPRgorLXN1YjAKKyBzdWIxICh0ZXN0MikKKyBzdWIyICh0ZXN0MikKKyBzdWIzICh0ZXN0MikKK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCB3aXRoIGEgc3BlY2lmaWNhdGlvbicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIG11bHRpc3VwZXJfY2xvbmUiICYmCisJcHdkPSQocHdkKSAmJgorCWdpdCBjbG9uZSBmaWxlOi8vIiRwd2QiL211bHRpc3VwZXIgbXVsdGlzdXBlcl9jbG9uZSAmJgorCWdpdCAtQyBtdWx0aXN1cGVyX2Nsb25lIHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC4gIjooZXhjbHVkZSlzdWIwIiAmJgorCWdpdCAtQyBtdWx0aXN1cGVyX2Nsb25lIHN1Ym1vZHVsZSBzdGF0dXMgfGN1dCAtYyAxLDQzLSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCB3aXRoIHN1Ym1vZHVsZS5hY3RpdmUgc2V0JyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgbXVsdGlzdXBlcl9jbG9uZSIgJiYKKwlwd2Q9JChwd2QpICYmCisJZ2l0IGNsb25lIGZpbGU6Ly8iJHB3ZCIvbXVsdGlzdXBlciBtdWx0aXN1cGVyX2Nsb25lICYmCisJZ2l0IC1DIG11bHRpc3VwZXJfY2xvbmUgY29uZmlnIHN1Ym1vZHVsZS5hY3RpdmUgIi4iICYmCisJZ2l0IC1DIG11bHRpc3VwZXJfY2xvbmUgY29uZmlnIC0tYWRkIHN1Ym1vZHVsZS5hY3RpdmUgIjooZXhjbHVkZSlzdWIwIiAmJgorCWdpdCAtQyBtdWx0aXN1cGVyX2Nsb25lIHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0ICYmCisJZ2l0IC1DIG11bHRpc3VwZXJfY2xvbmUgc3VibW9kdWxlIHN0YXR1cyB8Y3V0IC1jIDEsNDMtID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSB1cGRhdGUgYW5kIHNldHRpbmcgc3VibW9kdWxlLjxuYW1lPi5hY3RpdmUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBtdWx0aXN1cGVyX2Nsb25lIiAmJgorCXB3ZD0kKHB3ZCkgJiYKKwlnaXQgY2xvbmUgZmlsZTovLyIkcHdkIi9tdWx0aXN1cGVyIG11bHRpc3VwZXJfY2xvbmUgJiYKKwlnaXQgLUMgbXVsdGlzdXBlcl9jbG9uZSBjb25maWcgLS1ib29sIHN1Ym1vZHVsZS5zdWIwLmFjdGl2ZSAidHJ1ZSIgJiYKKwlnaXQgLUMgbXVsdGlzdXBlcl9jbG9uZSBjb25maWcgLS1ib29sIHN1Ym1vZHVsZS5zdWIxLmFjdGl2ZSAiZmFsc2UiICYmCisJZ2l0IC1DIG11bHRpc3VwZXJfY2xvbmUgY29uZmlnIC0tYm9vbCBzdWJtb2R1bGUuc3ViMi5hY3RpdmUgInRydWUiICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJIHN1YjAgKHRlc3QyKQorCS1zdWIxCisJIHN1YjIgKHRlc3QyKQorCS1zdWIzCisJRU9GCisJZ2l0IC1DIG11bHRpc3VwZXJfY2xvbmUgc3VibW9kdWxlIHVwZGF0ZSAmJgorCWdpdCAtQyBtdWx0aXN1cGVyX2Nsb25lIHN1Ym1vZHVsZSBzdGF0dXMgfGN1dCAtYyAxLDQzLSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyB3aXRoIGEgcGF0aHNwZWMgd29ya3MnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBtdWx0aXN1cGVyX2Nsb25lIiAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCSBzdWIwICh0ZXN0MikKKwktc3ViMQorCS1zdWIyCisJLXN1YjMKKwlFT0YKKworCWdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcz0ic3ViMCIgbXVsdGlzdXBlciBtdWx0aXN1cGVyX2Nsb25lICYmCisJZ2l0IC1DIG11bHRpc3VwZXJfY2xvbmUgc3VibW9kdWxlIHN0YXR1cyB8Y3V0IC1jMSw0My0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGFjdHVhbCBleHBlY3RlZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSB3aXRoIG11bHRpcGxlIC0tcmVjdXJzZS1zdWJtb2R1bGVzIG9wdGlvbnMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBtdWx0aXN1cGVyX2Nsb25lIiAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwktc3ViMAorCSBzdWIxICh0ZXN0MikKKwktc3ViMgorCSBzdWIzICh0ZXN0MikKKwlFT0YKKworCWdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcz0iLiIgXAorCQkgIC0tcmVjdXJzZS1zdWJtb2R1bGVzPSI6KGV4Y2x1ZGUpc3ViMCIgXAorCQkgIC0tcmVjdXJzZS1zdWJtb2R1bGVzPSI6KGV4Y2x1ZGUpc3ViMiIgXAorCQkgIG11bHRpc3VwZXIgbXVsdGlzdXBlcl9jbG9uZSAmJgorCWdpdCAtQyBtdWx0aXN1cGVyX2Nsb25lIHN1Ym1vZHVsZSBzdGF0dXMgfGN1dCAtYzEsNDMtID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIGFuZCBzdWJzZXF1ZW50IHVwZGF0ZXMgY29ycmVjdGx5IGF1dG8taW5pdGlhbGl6ZSBzdWJtb2R1bGVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgbXVsdGlzdXBlcl9jbG9uZSIgJiYKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCisJLXN1YjAKKwkgc3ViMSAodGVzdDIpCisJLXN1YjIKKwkgc3ViMyAodGVzdDIpCisJRU9GCisKKwljYXQgPDwtXEVPRiA+ZXhwZWN0MiAmJgorCS1zdWIwCisJIHN1YjEgKHRlc3QyKQorCS1zdWIyCisJIHN1YjMgKHRlc3QyKQorCS1zdWI0CisJIHN1YjUgKHRlc3QyKQorCUVPRgorCisJZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzPSIuIiBcCisJCSAgLS1yZWN1cnNlLXN1Ym1vZHVsZXM9IjooZXhjbHVkZSlzdWIwIiBcCisJCSAgLS1yZWN1cnNlLXN1Ym1vZHVsZXM9IjooZXhjbHVkZSlzdWIyIiBcCisJCSAgLS1yZWN1cnNlLXN1Ym1vZHVsZXM9IjooZXhjbHVkZSlzdWI0IiBcCisJCSAgbXVsdGlzdXBlciBtdWx0aXN1cGVyX2Nsb25lICYmCisKKwlnaXQgLUMgbXVsdGlzdXBlcl9jbG9uZSBzdWJtb2R1bGUgc3RhdHVzIHxjdXQgLWMxLDQzLSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZ2l0IC1DIG11bHRpc3VwZXIgc3VibW9kdWxlIGFkZCAuLi9zdWIxIHN1YjQgJiYKKwlnaXQgLUMgbXVsdGlzdXBlciBzdWJtb2R1bGUgYWRkIC4uL3N1YjEgc3ViNSAmJgorCWdpdCAtQyBtdWx0aXN1cGVyIGNvbW1pdCAtbSAiYWRkIG1vcmUgc3VibW9kdWxlcyIgJiYKKwkjIG9idGFpbiB0aGUgbmV3IHN1cGVycHJvamVjdAorCWdpdCAtQyBtdWx0aXN1cGVyX2Nsb25lIHB1bGwgJiYKKwlnaXQgLUMgbXVsdGlzdXBlcl9jbG9uZSBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCAmJgorCWdpdCAtQyBtdWx0aXN1cGVyX2Nsb25lIHN1Ym1vZHVsZSBzdGF0dXMgfGN1dCAtYzEsNDMtID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QyIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbml0IHByb3Blcmx5IHNldHMgdGhlIGNvbmZpZycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIG11bHRpc3VwZXJfY2xvbmUiICYmCisJZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzPSIuIiBcCisJCSAgLS1yZWN1cnNlLXN1Ym1vZHVsZXM9IjooZXhjbHVkZSlzdWIwIiBcCisJCSAgbXVsdGlzdXBlciBtdWx0aXN1cGVyX2Nsb25lICYmCisKKwlnaXQgLUMgbXVsdGlzdXBlcl9jbG9uZSBzdWJtb2R1bGUgaW5pdCAtLSBzdWIwIHN1YjEgJiYKKwlnaXQgLUMgbXVsdGlzdXBlcl9jbG9uZSBjb25maWcgLS1nZXQgc3VibW9kdWxlLnN1YjAuYWN0aXZlICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIG11bHRpc3VwZXJfY2xvbmUgY29uZmlnIC0tZ2V0IHN1Ym1vZHVsZS5zdWIxLmFjdGl2ZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWN1cnNpdmUgY2xvbmUgcmVzcGVjdHMgLXEnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBtdWx0aXN1cGVyX2Nsb25lIiAmJgorCWdpdCBjbG9uZSAtcSAtLXJlY3Vyc2Utc3VibW9kdWxlcyBtdWx0aXN1cGVyIG11bHRpc3VwZXJfY2xvbmUgPmFjdHVhbCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKKycKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NDAxLXN1Ym1vZHVsZS1zdW1tYXJ5LnNoIGIvdC90NzQwMS1zdWJtb2R1bGUtc3VtbWFyeS5zaAppbmRleCAzNjY3NDZmLi40ZTRjNDU1IDEwMDc1NQotLS0gYS90L3Q3NDAxLXN1Ym1vZHVsZS1zdW1tYXJ5LnNoCisrKyBiL3QvdDc0MDEtc3VibW9kdWxlLXN1bW1hcnkuc2gKQEAgLTI0MSw5ICsyNDEsMTEgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICIKIAotdGVzdF9jcmVhdGVfcmVwbyBzbTIgJiYKLWhlYWQ3PSQoYWRkX2ZpbGUgc20yIGZvbzggZm9vOSkgJiYKLWdpdCBhZGQgc20yCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgc2Vjb25kIHN1Ym1vZHVsZScgJworCXRlc3RfY3JlYXRlX3JlcG8gc20yICYmCisJaGVhZDc9JChhZGRfZmlsZSBzbTIgZm9vOCBmb285KSAmJgorCWdpdCBhZGQgc20yCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ211bHRpcGxlIHN1Ym1vZHVsZXMnICIKIAlnaXQgc3VibW9kdWxlIHN1bW1hcnkgPmFjdHVhbCAmJgpkaWZmIC0tZ2l0IGEvdC90NzQwNi1zdWJtb2R1bGUtdXBkYXRlLnNoIGIvdC90NzQwNi1zdWJtb2R1bGUtdXBkYXRlLnNoCmluZGV4IDRhYzM4NmQuLjZmMDgzYzQgMTAwNzU1Ci0tLSBhL3QvdDc0MDYtc3VibW9kdWxlLXVwZGF0ZS5zaAorKysgYi90L3Q3NDA2LXN1Ym1vZHVsZS11cGRhdGUuc2gKQEAgLTQwNiw2ICs0MDYsMTQgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSB1cGRhdGUgLSBjb21tYW5kIGluIC5naXRtb2R1bGVzIGlzIGlnbm9yZWQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyBzdXBlciByZXNldCAtLWhhcmQgSEVBRF4iICYmCisJZ2l0IC1DIHN1cGVyIGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3VibW9kdWxlLnVwZGF0ZSAiIWZhbHNlIiAmJgorCWdpdCAtQyBzdXBlciBjb21taXQgLWEgLW0gImFkZCBjb21tYW5kIHRvIC5naXRtb2R1bGVzIGZpbGUiICYmCisJZ2l0IC1DIHN1cGVyL3N1Ym1vZHVsZSByZXNldCAtLWhhcmQgJHN1Ym1vZHVsZXNoYTFeICYmCisJZ2l0IC1DIHN1cGVyIHN1Ym1vZHVsZSB1cGRhdGUgc3VibW9kdWxlCisnCisKIGNhdCA8PCBFT0YgPmV4cGVjdAogRXhlY3V0aW9uIG9mICdmYWxzZSAkc3VibW9kdWxlc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSBwYXRoICdzdWJtb2R1bGUnCiBFT0YKQEAgLTQ0Nyw3ICs0NTUsNyBAQAogCUVPRgogCXJtIC1yZiBzdXBlci9zdWJtb2R1bGUgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgLUMgc3VwZXIgc3VibW9kdWxlIHVwZGF0ZSAyPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbCAmJgogCWdpdCAtQyBzdXBlciBzdWJtb2R1bGUgdXBkYXRlIC0tY2hlY2tvdXQKICcKIApkaWZmIC0tZ2l0IGEvdC90NzQxMS1zdWJtb2R1bGUtY29uZmlnLnNoIGIvdC90NzQxMS1zdWJtb2R1bGUtY29uZmlnLnNoCmluZGV4IGVlYTM2ZjEuLjQ2YzA5YzcgMTAwNzU1Ci0tLSBhL3QvdDc0MTEtc3VibW9kdWxlLWNvbmZpZy5zaAorKysgYi90L3Q3NDExLXN1Ym1vZHVsZS1jb25maWcuc2gKQEAgLTMxLDYgKzMxLDIxIEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25maWd1cmF0aW9uIHBhcnNpbmcgd2l0aCBlcnJvcicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHJlcG8iICYmCisJdGVzdF9jcmVhdGVfcmVwbyByZXBvICYmCisJY2F0ID5yZXBvLy5naXRtb2R1bGVzIDw8LVxFT0YgJiYKKwlbc3VibW9kdWxlICJzIl0KKwkJcGF0aAorCQlpZ25vcmUKKwlFT0YKKwkoCisJCWNkIHJlcG8gJiYKKwkJdGVzdF9tdXN0X2ZhaWwgdGVzdC1zdWJtb2R1bGUtY29uZmlnICIiIHMgMj5hY3R1YWwgJiYKKwkJdGVzdF9pMThuZ3JlcCAiYmFkIGNvbmZpZyIgYWN0dWFsCisJKQorJworCiBjYXQgPnN1cGVyL2V4cGVjdCA8PEVPRgogU3VibW9kdWxlIG5hbWU6ICdhJyBmb3IgcGF0aCAnYScKIFN1Ym1vZHVsZSBuYW1lOiAnYScgZm9yIHBhdGggJ2InCkBAIC0xMDcsNzggKzEyMiw2IEBACiAJKQogJwogCi1jYXQgPnN1cGVyL2V4cGVjdF91cmwgPDxFT0YKLVN1Ym1vZHVsZSB1cmw6ICdnaXRAc29tZXdoZXJlLmVsc2UubmV0OmEuZ2l0JyBmb3IgcGF0aCAnYicKLVN1Ym1vZHVsZSB1cmw6ICdnaXRAc29tZXdoZXJlLmVsc2UubmV0OnN1Ym1vZHVsZS5naXQnIGZvciBwYXRoICdzdWJtb2R1bGUnCi1FT0YKLQotY2F0ID5zdXBlci9leHBlY3RfbG9jYWxfcGF0aCA8PEVPRgotU3VibW9kdWxlIG5hbWU6ICdhJyBmb3IgcGF0aCAnYycKLVN1Ym1vZHVsZSBuYW1lOiAnc3VibW9kdWxlJyBmb3IgcGF0aCAnc3VibW9kdWxlJwotRU9GCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYWRpbmcgb2YgbG9jYWwgY29uZmlndXJhdGlvbicgJwotCShjZCBzdXBlciAmJgotCQlvbGRfYT0kKGdpdCBjb25maWcgc3VibW9kdWxlLmEudXJsKSAmJgotCQlvbGRfc3VibW9kdWxlPSQoZ2l0IGNvbmZpZyBzdWJtb2R1bGUuc3VibW9kdWxlLnVybCkgJiYKLQkJZ2l0IGNvbmZpZyBzdWJtb2R1bGUuYS51cmwgZ2l0QHNvbWV3aGVyZS5lbHNlLm5ldDphLmdpdCAmJgotCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5zdWJtb2R1bGUudXJsIGdpdEBzb21ld2hlcmUuZWxzZS5uZXQ6c3VibW9kdWxlLmdpdCAmJgotCQl0ZXN0LXN1Ym1vZHVsZS1jb25maWcgLS11cmwgXAotCQkJIiIgYiBcCi0JCQkiIiBzdWJtb2R1bGUgXAotCQkJCT5hY3R1YWwgJiYKLQkJdGVzdF9jbXAgZXhwZWN0X3VybCBhY3R1YWwgJiYKLQkJZ2l0IGNvbmZpZyBzdWJtb2R1bGUuYS5wYXRoIGMgJiYKLQkJdGVzdC1zdWJtb2R1bGUtY29uZmlnIFwKLQkJCSIiIGMgXAotCQkJIiIgc3VibW9kdWxlIFwKLQkJCQk+YWN0dWFsICYmCi0JCXRlc3RfY21wIGV4cGVjdF9sb2NhbF9wYXRoIGFjdHVhbCAmJgotCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5hLnVybCAiJG9sZF9hIiAmJgotCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5zdWJtb2R1bGUudXJsICIkb2xkX3N1Ym1vZHVsZSIgJiYKLQkJZ2l0IGNvbmZpZyAtLXVuc2V0IHN1Ym1vZHVsZS5hLnBhdGggYwotCSkKLScKLQotY2F0ID5zdXBlci9leHBlY3RfdXJsIDw8RU9GCi1TdWJtb2R1bGUgdXJsOiAnLi4vc3VibW9kdWxlJyBmb3IgcGF0aCAnYicKLVN1Ym1vZHVsZSB1cmw6ICdnaXRAc29tZXdoZXJlLmVsc2UubmV0OnN1Ym1vZHVsZS5naXQnIGZvciBwYXRoICdzdWJtb2R1bGUnCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVhZGluZyBvZiBsb2NhbCBjb25maWd1cmF0aW9uIGZvciB1bmluaXRpYWxpemVkIHN1Ym1vZHVsZXMnICcKLQkoCi0JCWNkIHN1cGVyICYmCi0JCWdpdCBzdWJtb2R1bGUgZGVpbml0IC1mIGIgJiYKLQkJb2xkX3N1Ym1vZHVsZT0kKGdpdCBjb25maWcgc3VibW9kdWxlLnN1Ym1vZHVsZS51cmwpICYmCi0JCWdpdCBjb25maWcgc3VibW9kdWxlLnN1Ym1vZHVsZS51cmwgZ2l0QHNvbWV3aGVyZS5lbHNlLm5ldDpzdWJtb2R1bGUuZ2l0ICYmCi0JCXRlc3Qtc3VibW9kdWxlLWNvbmZpZyAtLXVybCBcCi0JCQkiIiBiIFwKLQkJCSIiIHN1Ym1vZHVsZSBcCi0JCQkJPmFjdHVhbCAmJgotCQl0ZXN0X2NtcCBleHBlY3RfdXJsIGFjdHVhbCAmJgotCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5zdWJtb2R1bGUudXJsICIkb2xkX3N1Ym1vZHVsZSIgJiYKLQkJZ2l0IHN1Ym1vZHVsZSBpbml0IGIKLQkpCi0nCi0KLWNhdCA+c3VwZXIvZXhwZWN0X2ZldGNocmVjdXJzZV9kaWUuZXJyIDw8RU9GCi1mYXRhbDogYmFkIHN1Ym1vZHVsZS5zdWJtb2R1bGUuZmV0Y2hyZWN1cnNlc3VibW9kdWxlcyBhcmd1bWVudDogYmxhYmxhCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9jYWwgZXJyb3IgaW4gZmV0Y2hyZWN1cnNlc3VibW9kdWxlIGRpZXMgZWFybHknICcKLQkoY2Qgc3VwZXIgJiYKLQkJZ2l0IGNvbmZpZyBzdWJtb2R1bGUuc3VibW9kdWxlLmZldGNocmVjdXJzZXN1Ym1vZHVsZXMgYmxhYmxhICYmCi0JCXRlc3RfbXVzdF9mYWlsIHRlc3Qtc3VibW9kdWxlLWNvbmZpZyBcCi0JCQkiIiBiIFwKLQkJCSIiIHN1Ym1vZHVsZSBcCi0JCQkJPmFjdHVhbC5vdXQgMj5hY3R1YWwuZXJyICYmCi0JCXRvdWNoIGV4cGVjdF9mZXRjaHJlY3Vyc2VfZGllLm91dCAmJgotCQl0ZXN0X2NtcCBleHBlY3RfZmV0Y2hyZWN1cnNlX2RpZS5vdXQgYWN0dWFsLm91dCAgJiYKLQkJdGVzdF9jbXAgZXhwZWN0X2ZldGNocmVjdXJzZV9kaWUuZXJyIGFjdHVhbC5lcnIgICYmCi0JCWdpdCBjb25maWcgLS11bnNldCBzdWJtb2R1bGUuc3VibW9kdWxlLmZldGNocmVjdXJzZXN1Ym1vZHVsZXMKLQkpCi0nCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Vycm9yIGluIGhpc3RvcnkgaW4gZmV0Y2hyZWN1cnNlc3VibW9kdWxlIGxldHMgY29udGludWUnICcKIAkoY2Qgc3VwZXIgJiYKIAkJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBcCmRpZmYgLS1naXQgYS90L3Q3NDEyLXN1Ym1vZHVsZS1hYnNvcmJnaXRkaXJzLnNoIGIvdC90NzQxMi1zdWJtb2R1bGUtYWJzb3JiZ2l0ZGlycy5zaAppbmRleCBlMmJiYjQ0Li5jZTc0YzEyIDEwMDc1NQotLS0gYS90L3Q3NDEyLXN1Ym1vZHVsZS1hYnNvcmJnaXRkaXJzLnNoCisrKyBiL3QvdDc0MTItc3VibW9kdWxlLWFic29yYmdpdGRpcnMuc2gKQEAgLTMzLDcgKzMzLDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QuMiBhY3R1YWwuMgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdhYnNvcmJpbmcgZG9lcyBub3QgZmFpbCBmb3IgZGVpbml0YWxpemVkIHN1Ym1vZHVsZXMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Fic29yYmluZyBkb2VzIG5vdCBmYWlsIGZvciBkZWluaXRpYWxpemVkIHN1Ym1vZHVsZXMnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCIgJiYKIAlnaXQgc3VibW9kdWxlIGRlaW5pdCAtLWFsbCAmJgogCWdpdCBzdWJtb2R1bGUgYWJzb3JiZ2l0ZGlycyAmJgpkaWZmIC0tZ2l0IGEvdC90NzQxMy1zdWJtb2R1bGUtaXMtYWN0aXZlLnNoIGIvdC90NzQxMy1zdWJtb2R1bGUtaXMtYWN0aXZlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM4ZTdlOTgKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3NDEzLXN1Ym1vZHVsZS1pcy1hY3RpdmUuc2gKQEAgLTAsMCArMSwxMDcgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IHN1Ym1vZHVsZS0taGVscGVyIGlzLWFjdGl2ZQorCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBgZ2l0IHN1Ym1vZHVlLS1oZWxwZXIgaXMtYWN0aXZlYCBjb3JyZWN0bHkgaWRlbnRpZmllcworc3VibW9kdWxlcyB3aGljaCBhcmUgImFjdGl2ZSIgYW5kIGludGVyZXN0aW5nIHRvIHRoZSB1c2VyLgorJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwlnaXQgaW5pdCBzdWIgJiYKKwl0ZXN0X2NvbW1pdCAtQyBzdWIgaW5pdGlhbCAmJgorCWdpdCBpbml0IHN1cGVyICYmCisJdGVzdF9jb21taXQgLUMgc3VwZXIgaW5pdGlhbCAmJgorCWdpdCAtQyBzdXBlciBzdWJtb2R1bGUgYWRkIC4uL3N1YiBzdWIxICYmCisJZ2l0IC1DIHN1cGVyIHN1Ym1vZHVsZSBhZGQgLi4vc3ViIHN1YjIgJiYKKworCSMgUmVtb3ZlIHN1Ym1vZHVsZS48bmFtZT4uYWN0aXZlIGVudHJpZXMgaW4gb3JkZXIgdG8gdGVzdCBpbiBhbgorCSMgZW52aXJvbm1lbnQgd2hlcmUgb25seSBVUkxzIGFyZSBwcmVzZW50IGluIHRoZSBjb25pZmcKKwlnaXQgLUMgc3VwZXIgY29uZmlnIC0tdW5zZXQgc3VibW9kdWxlLnN1YjEuYWN0aXZlICYmCisJZ2l0IC1DIHN1cGVyIGNvbmZpZyAtLXVuc2V0IHN1Ym1vZHVsZS5zdWIyLmFjdGl2ZSAmJgorCisJZ2l0IC1DIHN1cGVyIGNvbW1pdCAtYSAtbSAiYWRkIDIgc3VibW9kdWxlcyBhdCBzdWJ7MSwyfSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaXMtYWN0aXZlIHdvcmtzIHdpdGggdXJscycgJworCWdpdCAtQyBzdXBlciBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgc3ViMSAmJgorCWdpdCAtQyBzdXBlciBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgc3ViMiAmJgorCisJZ2l0IC1DIHN1cGVyIGNvbmZpZyAtLXVuc2V0IHN1Ym1vZHVsZS5zdWIxLlVSTCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBzdXBlciBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgc3ViMSAmJgorCWdpdCAtQyBzdXBlciBjb25maWcgc3VibW9kdWxlLnN1YjEuVVJMIC4uL3N1YiAmJgorCWdpdCAtQyBzdXBlciBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgc3ViMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpcy1hY3RpdmUgd29ya3Mgd2l0aCBzdWJtb2R1bGUuPG5hbWU+LmFjdGl2ZSBjb25maWcnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyBzdXBlciBjb25maWcgLS11bnNldCBzdWJtb2R1bGUuc3ViMS5hY3RpdmUiICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgc3VwZXIgY29uZmlnIHN1Ym1vZHVsZS5zdWIxLlVSTCAuLi9zdWIiICYmCisKKwlnaXQgLUMgc3VwZXIgY29uZmlnIC0tYm9vbCBzdWJtb2R1bGUuc3ViMS5hY3RpdmUgImZhbHNlIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBzdXBlciBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgc3ViMSAmJgorCisJZ2l0IC1DIHN1cGVyIGNvbmZpZyAtLWJvb2wgc3VibW9kdWxlLnN1YjEuYWN0aXZlICJ0cnVlIiAmJgorCWdpdCAtQyBzdXBlciBjb25maWcgLS11bnNldCBzdWJtb2R1bGUuc3ViMS5VUkwgJiYKKwlnaXQgLUMgc3VwZXIgc3VibW9kdWxlLS1oZWxwZXIgaXMtYWN0aXZlIHN1YjEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaXMtYWN0aXZlIHdvcmtzIHdpdGggYmFzaWMgc3VibW9kdWxlLmFjdGl2ZSBjb25maWcnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyBzdXBlciBjb25maWcgc3VibW9kdWxlLnN1YjEuVVJMIC4uL3N1YiIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyBzdXBlciBjb25maWcgLS11bnNldC1hbGwgc3VibW9kdWxlLmFjdGl2ZSIgJiYKKworCWdpdCAtQyBzdXBlciBjb25maWcgLS1hZGQgc3VibW9kdWxlLmFjdGl2ZSAiLiIgJiYKKwlnaXQgLUMgc3VwZXIgY29uZmlnIC0tdW5zZXQgc3VibW9kdWxlLnN1YjEuVVJMICYmCisKKwlnaXQgLUMgc3VwZXIgc3VibW9kdWxlLS1oZWxwZXIgaXMtYWN0aXZlIHN1YjEgJiYKKwlnaXQgLUMgc3VwZXIgc3VibW9kdWxlLS1oZWxwZXIgaXMtYWN0aXZlIHN1YjIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaXMtYWN0aXZlIGNvcnJlY3RseSB3b3JrcyB3aXRoIHBhdGhzIHRoYXQgYXJlIG5vdCBzdWJtb2R1bGVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgc3VwZXIgY29uZmlnIC0tdW5zZXQtYWxsIHN1Ym1vZHVsZS5hY3RpdmUiICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgc3VwZXIgc3VibW9kdWxlLS1oZWxwZXIgaXMtYWN0aXZlIG5vdC1hLXN1Ym1vZHVsZSAmJgorCisJZ2l0IC1DIHN1cGVyIGNvbmZpZyAtLWFkZCBzdWJtb2R1bGUuYWN0aXZlICIuIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBzdXBlciBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgbm90LWEtc3VibW9kdWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2lzLWFjdGl2ZSB3b3JrcyB3aXRoIGV4Y2x1c2lvbnMgaW4gc3VibW9kdWxlLmFjdGl2ZSBjb25maWcnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyBzdXBlciBjb25maWcgLS11bnNldC1hbGwgc3VibW9kdWxlLmFjdGl2ZSIgJiYKKworCWdpdCAtQyBzdXBlciBjb25maWcgLS1hZGQgc3VibW9kdWxlLmFjdGl2ZSAiLiIgJiYKKwlnaXQgLUMgc3VwZXIgY29uZmlnIC0tYWRkIHN1Ym1vZHVsZS5hY3RpdmUgIjooZXhjbHVkZSlzdWIxIiAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHN1cGVyIHN1Ym1vZHVsZS0taGVscGVyIGlzLWFjdGl2ZSBzdWIxICYmCisJZ2l0IC1DIHN1cGVyIHN1Ym1vZHVsZS0taGVscGVyIGlzLWFjdGl2ZSBzdWIyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2lzLWFjdGl2ZSB3aXRoIHN1Ym1vZHVsZS5hY3RpdmUgYW5kIHN1Ym1vZHVsZS48bmFtZT4uYWN0aXZlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgc3VwZXIgY29uZmlnIC0tdW5zZXQtYWxsIHN1Ym1vZHVsZS5hY3RpdmUiICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgc3VwZXIgY29uZmlnIC0tdW5zZXQgc3VibW9kdWxlLnN1YjEuYWN0aXZlIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIHN1cGVyIGNvbmZpZyAtLXVuc2V0IHN1Ym1vZHVsZS5zdWIyLmFjdGl2ZSIgJiYKKworCWdpdCAtQyBzdXBlciBjb25maWcgLS1hZGQgc3VibW9kdWxlLmFjdGl2ZSAic3ViMSIgJiYKKwlnaXQgLUMgc3VwZXIgY29uZmlnIC0tYm9vbCBzdWJtb2R1bGUuc3ViMS5hY3RpdmUgImZhbHNlIiAmJgorCWdpdCAtQyBzdXBlciBjb25maWcgLS1ib29sIHN1Ym1vZHVsZS5zdWIyLmFjdGl2ZSAidHJ1ZSIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBzdXBlciBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgc3ViMSAmJgorCWdpdCAtQyBzdXBlciBzdWJtb2R1bGUtLWhlbHBlciBpcy1hY3RpdmUgc3ViMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpcy1hY3RpdmUsIHN1Ym1vZHVsZS5hY3RpdmUgYW5kIHN1Ym1vZHVsZSBhZGQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlcjIiICYmCisJZ2l0IGluaXQgc3VwZXIyICYmCisJdGVzdF9jb21taXQgLUMgc3VwZXIyIGluaXRpYWwgJiYKKwlnaXQgLUMgc3VwZXIyIGNvbmZpZyAtLWFkZCBzdWJtb2R1bGUuYWN0aXZlICJzdWIqIiAmJgorCisJIyBzdWJtb2R1bGUgYWRkIHNob3VsZCBvbmx5IGFkZCBzdWJtb2R1bGUuPG5hbWU+LmFjdGl2ZQorCSMgdG8gdGhlIGNvbmZpZyBpZiBub3QgbWF0Y2hlZCBieSB0aGUgcGF0aHNwZWMKKwlnaXQgLUMgc3VwZXIyIHN1Ym1vZHVsZSBhZGQgLi4vc3ViIHN1YjEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgc3VwZXIyIGNvbmZpZyAtLWdldCBzdWJtb2R1bGUuc3ViMS5hY3RpdmUgJiYKKworCWdpdCAtQyBzdXBlcjIgc3VibW9kdWxlIGFkZCAuLi9zdWIgbW9kICYmCisJZ2l0IC1DIHN1cGVyMiBjb25maWcgLS1nZXQgc3VibW9kdWxlLm1vZC5hY3RpdmUKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NDE0LXN1Ym1vZHVsZS1taXN0YWtlcy5zaCBiL3QvdDc0MTQtc3VibW9kdWxlLW1pc3Rha2VzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYyZTdkZjUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3NDE0LXN1Ym1vZHVsZS1taXN0YWtlcy5zaApAQCAtMCwwICsxLDM3IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0naGFuZGxpbmcgb2YgY29tbW9uIG1pc3Rha2VzIHBlb3BsZSBtYXkgbWFrZSB3aXRoIHN1Ym1vZHVsZXMnCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGVtYmVkZGVkIHJlcG9zaXRvcnknICcKKwlnaXQgaW5pdCBlbWJlZCAmJgorCXRlc3RfY29tbWl0IC1DIGVtYmVkIG9uZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQtYWRkIG9uIGVtYmVkZGVkIHJlcG9zaXRvcnkgd2FybnMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBybSAtLWNhY2hlZCAtZiBlbWJlZCIgJiYKKwlnaXQgYWRkIGVtYmVkIDI+c3RkZXJyICYmCisJdGVzdF9pMThuZ3JlcCB3YXJuaW5nIHN0ZGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLXdhcm4tZW1iZWRkZWQtcmVwbyBzdXBwcmVzc2VzIHdhcm5pbmcnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBybSAtLWNhY2hlZCAtZiBlbWJlZCIgJiYKKwlnaXQgYWRkIC0tbm8td2Fybi1lbWJlZGRlZC1yZXBvIGVtYmVkIDI+c3RkZXJyICYmCisJdGVzdF9pMThuZ3JlcCAhIHdhcm5pbmcgc3RkZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIHdhcm5pbmcgd2hlbiB1cGRhdGluZyBlbnRyeScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJtIC0tY2FjaGVkIC1mIGVtYmVkIiAmJgorCWdpdCBhZGQgZW1iZWQgJiYKKwlnaXQgLUMgZW1iZWQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gdHdvICYmCisJZ2l0IGFkZCBlbWJlZCAyPnN0ZGVyciAmJgorCXRlc3RfaTE4bmdyZXAgISB3YXJuaW5nIHN0ZGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgYWRkIGRvZXMgbm90IHdhcm4nICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBybSAtcmYgc3VibW9kdWxlIC5naXRtb2R1bGVzIiAmJgorCWdpdCBzdWJtb2R1bGUgYWRkIC4vZW1iZWQgc3VibW9kdWxlIDI+c3RkZXJyICYmCisJdGVzdF9pMThuZ3JlcCAhIHdhcm5pbmcgc3RkZXJyCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzUwMC1jb21taXQuc2ggYi90L3Q3NTAwLWNvbW1pdC5zaAppbmRleCAxMTY4ODVhLi41NzM5ZDNlIDEwMDc1NQotLS0gYS90L3Q3NTAwLWNvbW1pdC5zaAorKysgYi90L3Q3NTAwLWNvbW1pdC5zaApAQCAtMzI5LDQgKzMyOSwyNyBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLS1maXh1cCBIRUFEfjEgLUYgbG9nCiAnCiAKK2NhdCA+ZXhwZWN0ZWQtdGVtcGxhdGUgPDxFT0YKKworIyBQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nCisjIHdpdGggJyMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuCisjCisjIEF1dGhvcjogICAgQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKyMKKyMgT24gYnJhbmNoIGNvbW1pdC10ZW1wbGF0ZS1jaGVjaworIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKKyMJbmV3IGZpbGU6ICAgY29tbWl0LXRlbXBsYXRlLWNoZWNrCisjCisjIFVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbmV3IGxpbmUgZm91bmQgYmVmb3JlIHN0YXR1cyBtZXNzYWdlIGluIGNvbW1pdCB0ZW1wbGF0ZScgJworCWdpdCBjaGVja291dCAtYiBjb21taXQtdGVtcGxhdGUtY2hlY2sgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEhFQUQgJiYKKwl0b3VjaCBjb21taXQtdGVtcGxhdGUtY2hlY2sgJiYKKwlnaXQgYWRkIGNvbW1pdC10ZW1wbGF0ZS1jaGVjayAmJgorCUdJVF9FRElUT1I9ImNhdCA+ZWRpdG9yLWlucHV0IiBnaXQgY29tbWl0IC0tdW50cmFja2VkLWZpbGVzPW5vIC0tYWxsb3ctZW1wdHktbWVzc2FnZSAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3RlZC10ZW1wbGF0ZSBlZGl0b3ItaW5wdXQKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NTAxLWNvbW1pdC5zaCBiL3QvdDc1MDEtY29tbWl0LnNoCmluZGV4IDBiNmRhN2EuLmZhNjFiMWEgMTAwNzU1Ci0tLSBhL3QvdDc1MDEtY29tbWl0LnNoCisrKyBiL3QvdDc1MDEtY29tbWl0LnNoCkBAIC0xOCw3ICsxOCw3IEBACiAJZWNobyBib25nbyBib25nbyA+ZmlsZSAmJgogCWdpdCBhZGQgZmlsZSAmJgogCWdpdCBzdGF0dXMgPmFjdHVhbCAmJgotCXRlc3RfaTE4bmdyZXAgIkluaXRpYWwgY29tbWl0IiBhY3R1YWwKKwl0ZXN0X2kxOG5ncmVwICJObyBjb21taXRzIHlldCIgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWwgaW5pdGlhbCBhbWVuZCcgJwpkaWZmIC0tZ2l0IGEvdC90NzUwNC1jb21taXQtbXNnLWhvb2suc2ggYi90L3Q3NTA0LWNvbW1pdC1tc2ctaG9vay5zaAppbmRleCA4NzI4ZGI2Li4zMDJhM2EyIDEwMDc1NQotLS0gYS90L3Q3NTA0LWNvbW1pdC1tc2ctaG9vay5zaAorKysgYi90L3Q3NTA0LWNvbW1pdC1tc2ctaG9vay5zaApAQCAtMTAxLDYgKzEwMSwxMCBAQAogZXhpdCAxCiBFT0YKIAorY29tbWl0X21zZ19pcyAoKSB7CisJdGVzdCAiJChnaXQgbG9nIC0tcHJldHR5PWZvcm1hdDolcyViIC0xKSIgPSAiJDEiCit9CisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpdGggZmFpbGluZyBob29rJyAnCiAKIAllY2hvICJhbm90aGVyIiA+PiBmaWxlICYmCkBAIC0xMzUsNiArMTM5LDMyIEBACiAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgZmFpbHMgd2l0aCBmYWlsaW5nIGhvb2snICcKKworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGJyYW5jaCAtRCBuZXdicmFuY2giICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgLWYgbWFzdGVyIiAmJgorCWdpdCBjaGVja291dCAtLW9ycGhhbiBuZXdicmFuY2ggJiYKKwk6ID5maWxlMiAmJgorCWdpdCBhZGQgZmlsZTIgJiYKKwlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IGZpbGUyIC1tIGluLXNpZGUtYnJhbmNoICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC0tYWxsb3ctdW5yZWxhdGVkLWhpc3RvcmllcyBtYXN0ZXIgJiYKKwljb21taXRfbXNnX2lzICJpbi1zaWRlLWJyYW5jaCIgIyBIRUFEIGJlZm9yZSBtZXJnZQorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdlIGJ5cGFzc2VzIGZhaWxpbmcgaG9vayB3aXRoIC0tbm8tdmVyaWZ5JyAnCisKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBicmFuY2ggLUQgbmV3YnJhbmNoIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IC1mIG1hc3RlciIgJiYKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gbmV3YnJhbmNoICYmCisJOiA+ZmlsZTIgJiYKKwlnaXQgYWRkIGZpbGUyICYmCisJZ2l0IGNvbW1pdCAtLW5vLXZlcmlmeSBmaWxlMiAtbSBpbi1zaWRlLWJyYW5jaCAmJgorCWdpdCBtZXJnZSAtLW5vLXZlcmlmeSAtLWFsbG93LXVucmVsYXRlZC1oaXN0b3JpZXMgbWFzdGVyICYmCisJY29tbWl0X21zZ19pcyAiTWVyZ2UgYnJhbmNoICdcJydtYXN0ZXInXCcnIGludG8gbmV3YnJhbmNoIgorJworCisKIGNobW9kIC14ICIkSE9PSyIKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUE9TSVhQRVJNICd3aXRoIG5vbi1leGVjdXRhYmxlIGhvb2snICcKIApAQCAtMTc4LDEwICsyMDgsNiBAQAogRU9GCiBjaG1vZCAreCAiJEhPT0siCiAKLWNvbW1pdF9tc2dfaXMgKCkgewotCXRlc3QgIiQoZ2l0IGxvZyAtLXByZXR0eT1mb3JtYXQ6JXMlYiAtMSkiID0gIiQxIgotfQotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdob29rIGVkaXRzIGNvbW1pdCBtZXNzYWdlJyAnCiAKIAllY2hvICJhZGRpdGlvbmFsIiA+PiBmaWxlICYmCkBAIC0yMTcsNyArMjQzLDU0IEBACiAJZWNobyAibW9yZSBwbHVzIiA+IEZBS0VfTVNHICYmCiAJR0lUX0VESVRPUj0iXCJcJEZBS0VfRURJVE9SXCIiIGdpdCBjb21taXQgLS1uby12ZXJpZnkgJiYKIAljb21taXRfbXNnX2lzICJtb3JlIHBsdXMiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2hvb2sgY2FsbGVkIGluIGdpdC1tZXJnZSBwaWNrcyB1cCBjb21taXQgbWVzc2FnZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGJyYW5jaCAtRCBuZXdicmFuY2giICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgLWYgbWFzdGVyIiAmJgorCWdpdCBjaGVja291dCAtLW9ycGhhbiBuZXdicmFuY2ggJiYKKwk6ID5maWxlMiAmJgorCWdpdCBhZGQgZmlsZTIgJiYKKwlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IGZpbGUyIC1tIGluLXNpZGUtYnJhbmNoICYmCisJZ2l0IG1lcmdlIC0tYWxsb3ctdW5yZWxhdGVkLWhpc3RvcmllcyBtYXN0ZXIgJiYKKwljb21taXRfbXNnX2lzICJuZXcgbWVzc2FnZSIKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnbWVyZ2UgLS1jb250aW51ZSByZW1lbWJlcnMgLS1uby12ZXJpZnknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBicmFuY2ggLUQgbmV3YnJhbmNoIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IC1mIG1hc3RlciIgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJZWNobyBhID5maWxlMiAmJgorCWdpdCBhZGQgZmlsZTIgJiYKKwlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IC1tICJhZGQgZmlsZTIgdG8gbWFzdGVyIiAmJgorCWdpdCBjaGVja291dCAtYiBuZXdicmFuY2ggbWFzdGVyXiAmJgorCWVjaG8gYiA+ZmlsZTIgJiYKKwlnaXQgYWRkIGZpbGUyICYmCisJZ2l0IGNvbW1pdCAtLW5vLXZlcmlmeSBmaWxlMiAtbSBpbi1zaWRlLWJyYW5jaCAmJgorCWdpdCBtZXJnZSAtLW5vLXZlcmlmeSAtbSBub3QtcmV3cml0dGVuLWJ5LWhvb2sgbWFzdGVyICYmCisJIyByZXNvbHZlIGNvbmZsaWN0OgorCWVjaG8gYyA+ZmlsZTIgJiYKKwlnaXQgYWRkIGZpbGUyICYmCisJZ2l0IG1lcmdlIC0tY29udGludWUgJiYKKwljb21taXRfbXNnX2lzIG5vdC1yZXdyaXR0ZW4tYnktaG9vaworJworCisjIHNldCB1cCBmYWtlIGVkaXRvciB0byByZXBsYWNlIGBwaWNrYCBieSBgcmV3b3JkYAorY2F0ID4gcmV3b3JkLWVkaXRvciA8PCdFT0YnCisjIS9iaW4vc2gKK212ICIkMSIgIiQxIi5idXAgJiYKK3NlZCAncy9ecGljay9yZXdvcmQvJyA8IiQxIi5idXAgPiIkMSIKK0VPRgorY2htb2QgK3ggcmV3b3JkLWVkaXRvcgorUkVXT1JEX0VESVRPUj0iJChwd2QpL3Jld29yZC1lZGl0b3IiCitleHBvcnQgUkVXT1JEX0VESVRPUgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdob29rIGlzIGNhbGxlZCBmb3IgcmV3b3JkIGR1cmluZyBgcmViYXNlIC1pYCcgJworCisJR0lUX1NFUVVFTkNFX0VESVRPUj0iXCIkUkVXT1JEX0VESVRPUlwiIiBnaXQgcmViYXNlIC1pIEhFQUReICYmCisJY29tbWl0X21zZ19pcyAibmV3IG1lc3NhZ2UiCiAKICcKIAorCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc1MDYtc3RhdHVzLXN1Ym1vZHVsZS5zaCBiL3QvdDc1MDYtc3RhdHVzLXN1Ym1vZHVsZS5zaAppbmRleCBkMzFiMzRkLi4wNTVjOTA3IDEwMDc1NQotLS0gYS90L3Q3NTA2LXN0YXR1cy1zdWJtb2R1bGUuc2gKKysrIGIvdC90NzUwNi1zdGF0dXMtc3VibW9kdWxlLnNoCkBAIC0xNyw2ICsxNywxMiBAQAogCSkKIH0KIAorc2FuaXRpemVfb3V0cHV0ICgpIHsKKwlzZWQgLWUgInMvJF94NDAvSEFTSC8iIC1lICJzLyRfeDQwL0hBU0gvIiBvdXRwdXQgPm91dHB1dDIgJiYKKwltdiBvdXRwdXQyIG91dHB1dAorfQorCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCiAJdGVzdF9jcmVhdGVfcmVwb193aXRoX2NvbW1pdCBzdWIgJiYKIAllY2hvIG91dHB1dCA+IC5naXRpZ25vcmUgJiYKQEAgLTUwLDYgKzU2LDE1IEBACiAJRU9GCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aXRoIG1vZGlmaWVkIGZpbGUgaW4gc3VibW9kdWxlIChzaG9ydCknICcKKwkoY2Qgc3ViICYmIGdpdCByZXNldCAtLWhhcmQpICYmCisJZWNobyAiY2hhbmdlZCIgPnN1Yi9mb28gJiYKKwlnaXQgc3RhdHVzIC0tc2hvcnQgPm91dHB1dCAmJgorCWRpZmYgb3V0cHV0IC0gPDwtXEVPRgorCSBtIHN1YgorCUVPRgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2l0aCBhZGRlZCBmaWxlIGluIHN1Ym1vZHVsZScgJwogCShjZCBzdWIgJiYgZ2l0IHJlc2V0IC0taGFyZCAmJiBlY2hvID5mb28gJiYgZ2l0IGFkZCBmb28pICYmCiAJZ2l0IHN0YXR1cyA+b3V0cHV0ICYmCkBAIC02NCw2ICs3OSwxNCBAQAogCUVPRgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2l0aCBhZGRlZCBmaWxlIGluIHN1Ym1vZHVsZSAoc2hvcnQpJyAnCisJKGNkIHN1YiAmJiBnaXQgcmVzZXQgLS1oYXJkICYmIGVjaG8gPmZvbyAmJiBnaXQgYWRkIGZvbykgJiYKKwlnaXQgc3RhdHVzIC0tc2hvcnQgPm91dHB1dCAmJgorCWRpZmYgb3V0cHV0IC0gPDwtXEVPRgorCSBtIHN1YgorCUVPRgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2l0aCB1bnRyYWNrZWQgZmlsZSBpbiBzdWJtb2R1bGUnICcKIAkoY2Qgc3ViICYmIGdpdCByZXNldCAtLWhhcmQpICYmCiAJZWNobyAiY29udGVudCIgPnN1Yi9uZXctZmlsZSAmJgpAQCAtODMsNiArMTA2LDEzIEBACiAJRU9GCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aXRoIHVudHJhY2tlZCBmaWxlIGluIHN1Ym1vZHVsZSAoc2hvcnQpJyAnCisJZ2l0IHN0YXR1cyAtLXNob3J0ID5vdXRwdXQgJiYKKwlkaWZmIG91dHB1dCAtIDw8LVxFT0YKKwkgPyBzdWIKKwlFT0YKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdpdGggYWRkZWQgYW5kIHVudHJhY2tlZCBmaWxlIGluIHN1Ym1vZHVsZScgJwogCShjZCBzdWIgJiYgZ2l0IHJlc2V0IC0taGFyZCAmJiBlY2hvID5mb28gJiYgZ2l0IGFkZCBmb28pICYmCiAJZWNobyAiY29udGVudCIgPnN1Yi9uZXctZmlsZSAmJgpAQCAtMTc3LDggKzIwNywyNCBAQAogCXRlc3RfaTE4bmdyZXAgIm1vZGlmaWVkOiAgIHN1YiAobmV3IGNvbW1pdHMsIG1vZGlmaWVkIGNvbnRlbnQpIiBvdXRwdXQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdpdGggYSBsb3Qgb2YgdW50cmFja2VkIGZpbGVzIGluIHRoZSBzdWJtb2R1bGUnICcKKwkoCisJCWNkIHN1YgorCQlpPTAgJiYKKwkJd2hpbGUgdGVzdCAkaSAtbHQgMTAyNAorCQlkbworCQkJPnNvbWUtZmlsZS0kaQorCQkJaT0kKCggJGkgKyAxICkpCisJCWRvbmUKKwkpICYmCisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiBzdWIgMj5lcnIuYWN0dWFsICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVyci5hY3R1YWwgJiYKKwlybSBlcnIuYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIHN1Ym1vZHVsZSBjb250ZW50cycgJwotCXJtIC1yZiBzdWIvKiBzdWIvLmdpdAorCXJtIC1yZiBzdWIgJiYKKwlta2RpciBzdWIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIGNsZWFuIChlbXB0eSBzdWJtb2R1bGUgZGlyKScgJwpAQCAtMjcxLDQgKzMxNyw5MSBAQAogCXRlc3RfY21wIGRpZmZfc3VibW9kdWxlX2FjdHVhbCBkaWZmX3N1Ym1vZHVsZV9leHBlY3QKICcKIAorIyBXZSdsbCBzZXR1cCBkaWZmZXJlbnQgY2FzZXMgZm9yIGZ1cnRoZXIgdGVzdGluZzoKKyMgc3ViMSB3aWxsIGNvbnRhaW4gYSBuZXN0ZWQgc3VibW9kdWxlLAorIyBzdWIyIHdpbGwgaGF2ZSBhbiB1bnRyYWNrZWQgZmlsZQorIyBzdWIzIHdpbGwgaGF2ZSBhbiB1bnRyYWNrZWQgcmVwb3NpdG9yeQordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgc3VwZXJwcm9qZWN0IHdpdGggdW50cmFja2VkIGZpbGUgaW4gbmVzdGVkIHN1Ym1vZHVsZScgJworCSgKKwkJY2Qgc3VwZXIgJiYKKwkJZ2l0IGNsZWFuIC1kZnggJiYKKwkJcm0gLmdpdG1vZHVsZXMgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBhZGQgLWYgLi9zdWIxICYmCisJCWdpdCBzdWJtb2R1bGUgYWRkIC1mIC4vc3ViMiAmJgorCQlnaXQgc3VibW9kdWxlIGFkZCAtZiAuL3N1YjEgc3ViMyAmJgorCQlnaXQgY29tbWl0IC1hIC1tICJtZXNzeSBtZXJnZSBpbiBzdXBlcnByb2plY3QiICYmCisJCSgKKwkJCWNkIHN1YjEgJiYKKwkJCWdpdCBzdWJtb2R1bGUgYWRkIC4uL3N1YjIgJiYKKwkJCWdpdCBjb21taXQgLWEgLW0gImFkZCBzdWIyIHRvIHN1YjEiCisJCSkgJiYKKwkJZ2l0IGFkZCBzdWIxICYmCisJCWdpdCBjb21taXQgLWEgLW0gInVwZGF0ZSBzdWIxIHRvIGNvbnRhaW4gbmVzdGVkIHN1YiIKKwkpICYmCisJZWNobyBjb250ZW50ID5zdXBlci9zdWIxL3N1YjIvZmlsZSAmJgorCWVjaG8gY29udGVudCA+c3VwZXIvc3ViMi9maWxlICYmCisJZ2l0IC1DIHN1cGVyL3N1YjMgY2xvbmUgLi4vLi4vc3ViMiB1bnRyYWNrZWRfcmVwb3NpdG9yeQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2l0aCB1bnRyYWNrZWQgZmlsZSBpbiBuZXN0ZWQgc3VibW9kdWxlIChwb3JjZWxhaW4pJyAnCisJZ2l0IC1DIHN1cGVyIHN0YXR1cyAtLXBvcmNlbGFpbiA+b3V0cHV0ICYmCisJZGlmZiBvdXRwdXQgLSA8PC1cRU9GCisJIE0gc3ViMQorCSBNIHN1YjIKKwkgTSBzdWIzCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aXRoIHVudHJhY2tlZCBmaWxlIGluIG5lc3RlZCBzdWJtb2R1bGUgKHBvcmNlbGFpbj0yKScgJworCWdpdCAtQyBzdXBlciBzdGF0dXMgLS1wb3JjZWxhaW49MiA+b3V0cHV0ICYmCisJc2FuaXRpemVfb3V0cHV0IG91dHB1dCAmJgorCWRpZmYgb3V0cHV0IC0gPDwtXEVPRgorCTEgLk0gUy4uVSAxNjAwMDAgMTYwMDAwIDE2MDAwMCBIQVNIIEhBU0ggc3ViMQorCTEgLk0gUy4uVSAxNjAwMDAgMTYwMDAwIDE2MDAwMCBIQVNIIEhBU0ggc3ViMgorCTEgLk0gUy4uVSAxNjAwMDAgMTYwMDAwIDE2MDAwMCBIQVNIIEhBU0ggc3ViMworCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2l0aCB1bnRyYWNrZWQgZmlsZSBpbiBuZXN0ZWQgc3VibW9kdWxlIChzaG9ydCknICcKKwlnaXQgLUMgc3VwZXIgc3RhdHVzIC0tc2hvcnQgPm91dHB1dCAmJgorCWRpZmYgb3V0cHV0IC0gPDwtXEVPRgorCSA/IHN1YjEKKwkgPyBzdWIyCisJID8gc3ViMworCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBzdXBlcnByb2plY3Qgd2l0aCBtb2RpZmllZCBmaWxlIGluIG5lc3RlZCBzdWJtb2R1bGUnICcKKwlnaXQgLUMgc3VwZXIvc3ViMS9zdWIyIGFkZCBmaWxlICYmCisJZ2l0IC1DIHN1cGVyL3N1YjIgYWRkIGZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdpdGggYWRkZWQgZmlsZSBpbiBuZXN0ZWQgc3VibW9kdWxlIChwb3JjZWxhaW4pJyAnCisJZ2l0IC1DIHN1cGVyIHN0YXR1cyAtLXBvcmNlbGFpbiA+b3V0cHV0ICYmCisJZGlmZiBvdXRwdXQgLSA8PC1cRU9GCisJIE0gc3ViMQorCSBNIHN1YjIKKwkgTSBzdWIzCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aXRoIGFkZGVkIGZpbGUgaW4gbmVzdGVkIHN1Ym1vZHVsZSAocG9yY2VsYWluPTIpJyAnCisJZ2l0IC1DIHN1cGVyIHN0YXR1cyAtLXBvcmNlbGFpbj0yID5vdXRwdXQgJiYKKwlzYW5pdGl6ZV9vdXRwdXQgb3V0cHV0ICYmCisJZGlmZiBvdXRwdXQgLSA8PC1cRU9GCisJMSAuTSBTLk0uIDE2MDAwMCAxNjAwMDAgMTYwMDAwIEhBU0ggSEFTSCBzdWIxCisJMSAuTSBTLk0uIDE2MDAwMCAxNjAwMDAgMTYwMDAwIEhBU0ggSEFTSCBzdWIyCisJMSAuTSBTLi5VIDE2MDAwMCAxNjAwMDAgMTYwMDAwIEhBU0ggSEFTSCBzdWIzCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aXRoIGFkZGVkIGZpbGUgaW4gbmVzdGVkIHN1Ym1vZHVsZSAoc2hvcnQpJyAnCisJZ2l0IC1DIHN1cGVyIHN0YXR1cyAtLXNob3J0ID5vdXRwdXQgJiYKKwlkaWZmIG91dHB1dCAtIDw8LVxFT0YKKwkgbSBzdWIxCisJIG0gc3ViMgorCSA/IHN1YjMKKwlFT0YKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NTA4LXN0YXR1cy5zaCBiL3QvdDc1MDgtc3RhdHVzLnNoCmluZGV4IGZiMDBlNmQuLjkzZjE2MmEgMTAwNzU1Ci0tLSBhL3QvdDc1MDgtc3RhdHVzLnNoCisrKyBiL3QvdDc1MDgtc3RhdHVzLnNoCkBAIC0zMiw2ICszMiwxNyBAQAogCXRlc3RfaTE4bmdyZXAgIltVdV1zYWdlIiBicm9rZW4vdXNhZ2UKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIHVwc3RyZWFtIGJyYW5jaCcgJworCWdpdCBjaGVja291dCAtYiB1cHN0cmVhbSAmJgorCXRlc3RfY29tbWl0IHVwc3RyZWFtMSAmJgorCXRlc3RfY29tbWl0IHVwc3RyZWFtMiAmJgorCSMgbGVhdmUgdGhlIGZpcnN0IGNvbW1pdCBvbiBtYXN0ZXIgYXMgcm9vdCBiZWNhdXNlIHNldmVyYWwKKwkjIHRlc3RzIGRlcGVuZCBvbiB0aGlzIGNhc2U7IGZvciBvdXIgdXBzdHJlYW0gd2Ugb25seQorCSMgY2FyZSBhYm91dCBjb21taXQgY291bnRzIGFueXdheSwgc28gYSB0b3RhbGx5IGRpdmVyZ2VudAorCSMgaGlzdG9yeSBpcyBPSworCWdpdCBjaGVja291dCAtLW9ycGhhbiBtYXN0ZXIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKIAk6ID50cmFja2VkICYmCiAJOiA+bW9kaWZpZWQgJiYKQEAgLTUzLDcgKzY0LDkgQEAKIAllY2hvIDEgPmRpcjEvbW9kaWZpZWQgJiYKIAllY2hvIDIgPmRpcjIvbW9kaWZpZWQgJiYKIAllY2hvIDMgPmRpcjIvYWRkZWQgJiYKLQlnaXQgYWRkIGRpcjIvYWRkZWQKKwlnaXQgYWRkIGRpcjIvYWRkZWQgJiYKKworCWdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89dXBzdHJlYW0KICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzICgxKScgJwpAQCAtNzUsNiArODgsMTAgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtLWNvbHVtbicgJwogCWNhdCA+ZXhwZWN0IDw8XEVPRiAmJgogIyBPbiBicmFuY2ggbWFzdGVyCisjIFlvdXIgYnJhbmNoIGFuZCAnXCcndXBzdHJlYW0nXCcnIGhhdmUgZGl2ZXJnZWQsCisjIGFuZCBoYXZlIDEgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorIyAgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQorIwogIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKICMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAjCkBAIC0xMDUsNiArMTIyLDEwIEBACiAKIGNhdCA+ZXhwZWN0IDw8XEVPRgogIyBPbiBicmFuY2ggbWFzdGVyCisjIFlvdXIgYnJhbmNoIGFuZCAndXBzdHJlYW0nIGhhdmUgZGl2ZXJnZWQsCisjIGFuZCBoYXZlIDEgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorIyAgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQorIwogIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKICMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAjCkBAIC0xNzgsNiArMTk5LDkgQEAKIAogY2F0ID5leHBlY3QgPDxcRU9GCiBPbiBicmFuY2ggbWFzdGVyCitZb3VyIGJyYW5jaCBhbmQgJ3Vwc3RyZWFtJyBoYXZlIGRpdmVyZ2VkLAorYW5kIGhhdmUgMSBhbmQgMiBkaWZmZXJlbnQgY29tbWl0cyBlYWNoLCByZXNwZWN0aXZlbHkuCisKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgogCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKIApAQCAtMjQ4LDYgKzI3MiwxMCBAQAogCiAJY2F0ID5leHBlY3QgPDxcRU9GICYmCiBPbiBicmFuY2ggbWFzdGVyCitZb3VyIGJyYW5jaCBhbmQgJ1wnJ3Vwc3RyZWFtJ1wnJyBoYXZlIGRpdmVyZ2VkLAorYW5kIGhhdmUgMSBhbmQgMiBkaWZmZXJlbnQgY29tbWl0cyBlYWNoLCByZXNwZWN0aXZlbHkuCisgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQorCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCkBAIC0zMTMsNiArMzQxLDEwIEBACiAKIAljYXQgPmV4cGVjdCA8PFxFT0YgJiYKIE9uIGJyYW5jaCBtYXN0ZXIKK1lvdXIgYnJhbmNoIGFuZCAnXCcndXBzdHJlYW0nXCcnIGhhdmUgZGl2ZXJnZWQsCithbmQgaGF2ZSAxIGFuZCAyIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS4KKyAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCisKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgogICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAKQEAgLTM0OCw3ICszODAsNyBAQAogRU9GCiAKIGNhdCA+ZXhwZWN0IDw8XEVPRgotIyMgbWFzdGVyCisjIyBtYXN0ZXIuLi51cHN0cmVhbSBbYWhlYWQgMSwgYmVoaW5kIDJdCiAgTSBkaXIxL21vZGlmaWVkCiBBICBkaXIyL2FkZGVkCiA/PyBkaXIxL3VudHJhY2tlZApAQCAtMzYwLDcgKzM5Miw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgLXMgLWInICcKIAogCWdpdCBzdGF0dXMgLXMgLWIgPm91dHB1dCAmJgotCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogCiAnCiAKQEAgLTM3MCw3ICs0MDIsNyBAQAogCWdpdCBzdGF0dXMgLXMgLXogLWIgPm91dHB1dCAmJgogCW51bF90b19xIDxvdXRwdXQgPm91dHB1dC5xICYmCiAJbXYgb3V0cHV0LnEgb3V0cHV0ICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGRpcjMnICcKQEAgLTM4Miw2ICs0MTQsMTAgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtdW5vJyAnCiAJY2F0ID5leHBlY3QgPDxFT0YgJiYKIE9uIGJyYW5jaCBtYXN0ZXIKK1lvdXIgYnJhbmNoIGFuZCAnXCcndXBzdHJlYW0nXCcnIGhhdmUgZGl2ZXJnZWQsCithbmQgaGF2ZSAxIGFuZCAyIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS4KKyAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCisKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgogICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAKQEAgLTQwOCw2ICs0NDQsOSBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIC11bm8gKGFkdmljZS5zdGF0dXNIaW50cyBmYWxzZSknICcKIAljYXQgPmV4cGVjdCA8PEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDEgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKIAluZXcgZmlsZTogICBkaXIyL2FkZGVkCiAKQEAgLTQzOSw2ICs0NzgsMTAgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyAtdW5vcm1hbCcgJwogCWNhdCA+ZXhwZWN0IDw8RU9GICYmCiBPbiBicmFuY2ggbWFzdGVyCitZb3VyIGJyYW5jaCBhbmQgJ1wnJ3Vwc3RyZWFtJ1wnJyBoYXZlIGRpdmVyZ2VkLAorYW5kIGhhdmUgMSBhbmQgMiBkaWZmZXJlbnQgY29tbWl0cyBlYWNoLCByZXNwZWN0aXZlbHkuCisgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQorCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCkBAIC00OTMsNiArNTM2LDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgLXVhbGwnICcKIAljYXQgPmV4cGVjdCA8PEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDEgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIApAQCAtNTUyLDYgKzU5OSwxMCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdpdGggcmVsYXRpdmUgcGF0aHMnICcKIAljYXQgPmV4cGVjdCA8PFxFT0YgJiYKIE9uIGJyYW5jaCBtYXN0ZXIKK1lvdXIgYnJhbmNoIGFuZCAnXCcndXBzdHJlYW0nXCcnIGhhdmUgZGl2ZXJnZWQsCithbmQgaGF2ZSAxIGFuZCAyIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS4KKyAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCisKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgogICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAKQEAgLTYxMCwxMyArNjYxLDE5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB1bmlxdWUgY29sb3JzJyAnCiAKIAlnaXQgY29uZmlnIHN0YXR1cy5jb2xvci51bnRyYWNrZWQgYmx1ZSAmJgotCWdpdCBjb25maWcgc3RhdHVzLmNvbG9yLmJyYW5jaCBncmVlbgorCWdpdCBjb25maWcgc3RhdHVzLmNvbG9yLmJyYW5jaCBncmVlbiAmJgorCWdpdCBjb25maWcgc3RhdHVzLmNvbG9yLmxvY2FsQnJhbmNoIHllbGxvdyAmJgorCWdpdCBjb25maWcgc3RhdHVzLmNvbG9yLnJlbW90ZUJyYW5jaCBjeWFuCiAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdpdGggY29sb3IudWknICcKIAljYXQgPmV4cGVjdCA8PFxFT0YgJiYKIE9uIGJyYW5jaCA8R1JFRU4+bWFzdGVyPFJFU0VUPgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDEgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIApAQCAtNjc1LDcgKzczMiw3IEBACiAnCiAKIGNhdCA+ZXhwZWN0IDw8XEVPRgotIyMgPEdSRUVOPm1hc3RlcjxSRVNFVD4KKyMjIDxZRUxMT1c+bWFzdGVyPFJFU0VUPi4uLjxDWUFOPnVwc3RyZWFtPFJFU0VUPiBbYWhlYWQgPFlFTExPVz4xPFJFU0VUPiwgYmVoaW5kIDxDWUFOPjI8UkVTRVQ+XQogIDxSRUQ+TTxSRVNFVD4gZGlyMS9tb2RpZmllZAogPEdSRUVOPkE8UkVTRVQ+ICBkaXIyL2FkZGVkCiA8QkxVRT4/PzxSRVNFVD4gZGlyMS91bnRyYWNrZWQKQEAgLTY4Nyw3ICs3NDQsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIC1zIC1iIHdpdGggY29sb3Iuc3RhdHVzJyAnCiAKIAlnaXQgc3RhdHVzIC1zIC1iIHwgdGVzdF9kZWNvZGVfY29sb3IgPm91dHB1dCAmJgotCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dAogCiAnCiAKQEAgLTcyNiw3ICs3ODMsNyBAQAogCiAJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiAtYiA+b3V0cHV0ICYmCiAJewotCQllY2hvICIjIyBtYXN0ZXIiICYmCisJCWVjaG8gIiMjIG1hc3Rlci4uLnVwc3RyZWFtIFthaGVhZCAxLCBiZWhpbmQgMl0iICYmCiAJCWNhdCBleHBlY3QKIAl9ID50bXAgJiYKIAltdiB0bXAgZXhwZWN0ICYmCkBAIC03MzksNiArNzk2LDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2l0aG91dCByZWxhdGl2ZSBwYXRocycgJwogCWNhdCA+ZXhwZWN0IDw8XEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDEgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIApAQCAtNzg1LDYgKzg0NiwxMCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZHJ5LXJ1biBvZiBwYXJ0aWFsIGNvbW1pdCBleGNsdWRpbmcgbmV3IGZpbGUgaW4gaW5kZXgnICcKIAljYXQgPmV4cGVjdCA8PEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDEgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIApAQCAtODI1LDYgKzg5MCwxMCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHN1Ym1vZHVsZSBzdW1tYXJ5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQnICcKIAljYXQgPmV4cGVjdCA8PEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDEgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIApAQCAtODgxLDYgKzk1MCwxMCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHN1Ym1vZHVsZSBzdW1tYXJ5JyAnCiAJY2F0ID5leHBlY3QgPDxFT0YgJiYKIE9uIGJyYW5jaCBtYXN0ZXIKK1lvdXIgYnJhbmNoIGFuZCAnXCcndXBzdHJlYW0nXCcnIGhhdmUgZGl2ZXJnZWQsCithbmQgaGF2ZSAxIGFuZCAyIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS4KKyAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCisKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgogICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAKQEAgLTkzOSw2ICsxMDEyLDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgc3VibW9kdWxlIHN1bW1hcnkgKGNsZWFuIHN1Ym1vZHVsZSk6IGNvbW1pdCcgJwogCWNhdCA+ZXhwZWN0IDw8RU9GICYmCiBPbiBicmFuY2ggbWFzdGVyCitZb3VyIGJyYW5jaCBhbmQgJ1wnJ3Vwc3RyZWFtJ1wnJyBoYXZlIGRpdmVyZ2VkLAorYW5kIGhhdmUgMiBhbmQgMiBkaWZmZXJlbnQgY29tbWl0cyBlYWNoLCByZXNwZWN0aXZlbHkuCisgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQorCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQogICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCkBAIC05ODUsNiArMTA2MiwxMCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWl0IC0tZHJ5LXJ1biBzdWJtb2R1bGUgc3VtbWFyeSAoLS1hbWVuZCknICcKIAljYXQgPmV4cGVjdCA8PEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDIgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEXjEgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCkBAIC0xMDM4LDYgKzExMTksMTAgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0taWdub3JlLXN1Ym1vZHVsZXM9dW50cmFja2VkIHN1cHByZXNzZXMgc3VibW9kdWxlcyB3aXRoIHVudHJhY2tlZCBjb250ZW50JyAnCiAJY2F0ID4gZXhwZWN0IDw8IEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDIgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIApAQCAtMTE0Niw2ICsxMjMxLDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICItLWlnbm9yZS1zdWJtb2R1bGVzPXVudHJhY2tlZCBkb2Vzbid0IHN1cHByZXNzIHN1Ym1vZHVsZXMgd2l0aCBtb2RpZmllZCBjb250ZW50IiAnCiAJY2F0ID4gZXhwZWN0IDw8IEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDIgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIApAQCAtMTIwMiw2ICsxMjkxLDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICItLWlnbm9yZS1zdWJtb2R1bGVzPXVudHJhY2tlZCBkb2Vzbid0IHN1cHByZXNzIHN1Ym1vZHVsZSBzdW1tYXJ5IiAnCiAJY2F0ID4gZXhwZWN0IDw8IEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDIgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIApAQCAtMTI4Miw2ICsxMzc1LDEwIEBACiAKIGNhdCA+IGV4cGVjdCA8PCBFT0YKIDsgT24gYnJhbmNoIG1hc3RlcgorOyBZb3VyIGJyYW5jaCBhbmQgJ3Vwc3RyZWFtJyBoYXZlIGRpdmVyZ2VkLAorOyBhbmQgaGF2ZSAyIGFuZCAyIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS4KKzsgICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKzsKIDsgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CiA7ICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogOwpAQCAtMTMyOSw2ICsxNDI2LDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICItLWlnbm9yZS1zdWJtb2R1bGVzPWFsbCBzdXBwcmVzc2VzIHN1Ym1vZHVsZSBzdW1tYXJ5IiAnCiAJY2F0ID4gZXhwZWN0IDw8IEVPRiAmJgogT24gYnJhbmNoIG1hc3RlcgorWW91ciBicmFuY2ggYW5kICdcJyd1cHN0cmVhbSdcJycgaGF2ZSBkaXZlcmdlZCwKK2FuZCBoYXZlIDIgYW5kIDIgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LgorICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKKwogQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQpAQCAtMTM1Myw2ICsxNDU0LDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICcuZ2l0bW9kdWxlcyBpZ25vcmU9YWxsIHN1cHByZXNzZXMgdW5zdGFnZWQgc3VibW9kdWxlIHN1bW1hcnknICcKIAljYXQgPiBleHBlY3QgPDwgRU9GICYmCiBPbiBicmFuY2ggbWFzdGVyCitZb3VyIGJyYW5jaCBhbmQgJ1wnJ3Vwc3RyZWFtJ1wnJyBoYXZlIGRpdmVyZ2VkLAorYW5kIGhhdmUgMiBhbmQgMiBkaWZmZXJlbnQgY29tbWl0cyBlYWNoLCByZXNwZWN0aXZlbHkuCisgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQorCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCkBAIC0xNDcyLDYgKzE1NzcsMTAgQEAKIAlnaXQgYWRkIHNtICYmCiAJY2F0ID5leHBlY3QgPDwgRU9GICYmCiBPbiBicmFuY2ggbWFzdGVyCitZb3VyIGJyYW5jaCBhbmQgJ1wnJ3Vwc3RyZWFtJ1wnJyBoYXZlIGRpdmVyZ2VkLAorYW5kIGhhdmUgMiBhbmQgMiBkaWZmZXJlbnQgY29tbWl0cyBlYWNoLCByZXNwZWN0aXZlbHkuCisgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQorCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCkBAIC0xNDk0LDkgKzE2MDMsODEgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBjb21taXQgLW0gd2lsbCBjb21taXQgYSBzdGFnZWQgYnV0IGlnbm9yZWQgc3VibW9kdWxlJyAnCiAJZ2l0IGNvbW1pdCAtdW5vIC1tIG1lc3NhZ2UgJiYKIAlnaXQgc3RhdHVzIC1zIC0taWdub3JlLXN1Ym1vZHVsZXM9ZGlydHkgPm91dHB1dCAmJgotCSB0ZXN0X2kxOG5ncmVwICEgIl5NLiBzbSIgb3V0cHV0ICYmCisJdGVzdF9pMThuZ3JlcCAhICJeTS4gc20iIG91dHB1dCAmJgogCWdpdCBjb25maWcgLS1yZW1vdmUtc2VjdGlvbiBzdWJtb2R1bGUuc3VibmFtZSAmJgogCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgIC0tcmVtb3ZlLXNlY3Rpb24gc3VibW9kdWxlLnN1Ym5hbWUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvdyBzdGFzaCBpbmZvIHdpdGggIi0tc2hvdy1zdGFzaCInICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IHN0YXNoIGNsZWFyICYmCisJZWNobyAxID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJZ2l0IHN0YXNoICYmCisJZ2l0IHN0YXR1cyA+ZXhwZWN0ZWRfZGVmYXVsdCAmJgorCWdpdCBzdGF0dXMgLS1zaG93LXN0YXNoID5leHBlY3RlZF93aXRoX3N0YXNoICYmCisJdGVzdF9pMThuZ3JlcCAiXllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAxIGVudHJ5JCIgZXhwZWN0ZWRfd2l0aF9zdGFzaAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBzdGFzaCBpbmZvIHdpdGggIi0tc2hvdy1zdGFzaCAtLW5vLXNob3ctc3Rhc2giJyAnCisJZ2l0IHN0YXR1cyAtLXNob3ctc3Rhc2ggLS1uby1zaG93LXN0YXNoID5leHBlY3RlZF93aXRob3V0X3N0YXNoICYmCisJdGVzdF9jbXAgZXhwZWN0ZWRfZGVmYXVsdCBleHBlY3RlZF93aXRob3V0X3N0YXNoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJzdGF0dXMuc2hvd1N0YXNoPWZhbHNlIiB3ZWFrZXIgdGhhbiAiLS1zaG93LXN0YXNoIicgJworCWdpdCAtYyBzdGF0dXMuc2hvd1N0YXNoPWZhbHNlIHN0YXR1cyAtLXNob3ctc3Rhc2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkX3dpdGhfc3Rhc2ggYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJzdGF0dXMuc2hvd1N0YXNoPXRydWUiIHdlYWtlciB0aGFuICItLW5vLXNob3ctc3Rhc2giJyAnCisJZ2l0IC1jIHN0YXR1cy5zaG93U3Rhc2g9dHJ1ZSBzdGF0dXMgLS1uby1zaG93LXN0YXNoID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZF93aXRob3V0X3N0YXNoIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBhZGRpdGlvbm5hbCBpbmZvIGlmIG5vIHN0YXNoIGVudHJpZXMnICcKKwlnaXQgc3Rhc2ggY2xlYXIgJiYKKwlnaXQgLWMgc3RhdHVzLnNob3dTdGFzaD10cnVlIHN0YXR1cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWRfd2l0aG91dF9zdGFzaCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnIk5vIGNvbW1pdHMgeWV0IiBzaG91bGQgYmUgbm90ZWQgaW4gc3RhdHVzIG91dHB1dCcgJworCWdpdCBjaGVja291dCAtLW9ycGhhbiBlbXB0eS1icmFuY2gtMSAmJgorCWdpdCBzdGF0dXMgPm91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgIk5vIGNvbW1pdHMgeWV0IiBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnIk5vIGNvbW1pdHMgeWV0IiBzaG91bGQgbm90IGJlIG5vdGVkIGluIHN0YXR1cyBvdXRwdXQnICcKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gZW1wdHktYnJhbmNoLTIgJiYKKwl0ZXN0X2NvbW1pdCB0ZXN0LWNvbW1pdC0xICYmCisJZ2l0IHN0YXR1cyA+b3V0cHV0ICYmCisJdGVzdF9pMThuZ3JlcCAhICJObyBjb21taXRzIHlldCIgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJJbml0aWFsIGNvbW1pdCIgc2hvdWxkIGJlIG5vdGVkIGluIGNvbW1pdCB0ZW1wbGF0ZScgJworCWdpdCBjaGVja291dCAtLW9ycGhhbiBlbXB0eS1icmFuY2gtMyAmJgorCXRvdWNoIHRvX2JlX2NvbW1pdHRlZF8xICYmCisJZ2l0IGFkZCB0b19iZV9jb21taXR0ZWRfMSAmJgorCWdpdCBjb21taXQgLS1kcnktcnVuID5vdXRwdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICJJbml0aWFsIGNvbW1pdCIgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJJbml0aWFsIGNvbW1pdCIgc2hvdWxkIG5vdCBiZSBub3RlZCBpbiBjb21taXQgdGVtcGxhdGUnICcKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gZW1wdHktYnJhbmNoLTQgJiYKKwl0ZXN0X2NvbW1pdCB0ZXN0LWNvbW1pdC0yICYmCisJdG91Y2ggdG9fYmVfY29tbWl0dGVkXzIgJiYKKwlnaXQgYWRkIHRvX2JlX2NvbW1pdHRlZF8yICYmCisJZ2l0IGNvbW1pdCAtLWRyeS1ydW4gPm91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgISAiSW5pdGlhbCBjb21taXQiIG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLW9wdGlvbmFsLWxvY2tzIHByZXZlbnRzIGluZGV4IHVwZGF0ZScgJworCXRlc3QtY2htdGltZSA9MTIzNDU2Nzg5MCAuZ2l0L2luZGV4ICYmCisJZ2l0IC0tbm8tb3B0aW9uYWwtbG9ja3Mgc3RhdHVzICYmCisJdGVzdC1jaG10aW1lIC12ICswIC5naXQvaW5kZXggPm91dCAmJgorCWdyZXAgXjEyMzQ1Njc4OTAgb3V0ICYmCisJZ2l0IHN0YXR1cyAmJgorCXRlc3QtY2htdGltZSAtdiArMCAuZ2l0L2luZGV4ID5vdXQgJiYKKwkhIGdyZXAgXjEyMzQ1Njc4OTAgb3V0CisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzUwOS1jb21taXQuc2ggYi90L3Q3NTA5LWNvbW1pdC5zaAppbmRleCBkYjk3NzRlLi5kZGVmN2VhIDEwMDc1NQotLS0gYS90L3Q3NTA5LWNvbW1pdC5zaAorKysgYi90L3Q3NTA5LWNvbW1pdC5zaApAQCAtMTAxLDcgKzEwMSw3IEBACiAJZWNobyAiRW1wdHkgYXV0aG9yIHRlc3QiID4+Zm9vICYmCiAJdGVzdF90aWNrICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtYSAtbSAiZW1wdHkgYXV0aG9yIiAtLWFtZW5kIDI+ZXJyICYmCi0JZ3JlcCAiZW1wdHkgaWRlbnQiIGVycgorCXRlc3RfaTE4bmdyZXAgImVtcHR5IGlkZW50IiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1hbWVuZCBvcHRpb24gd2l0aCBtaXNzaW5nIGF1dGhvcicgJwpAQCAtMTE0LDcgKzExNCw3IEBACiAJZWNobyAiTWlzc2luZyBhdXRob3IgdGVzdCIgPj5mb28gJiYKIAl0ZXN0X3RpY2sgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC1hIC1tICJtYWxmb3JtZWQgYXV0aG9yIiAtLWFtZW5kIDI+ZXJyICYmCi0JZ3JlcCAiZW1wdHkgaWRlbnQiIGVycgorCXRlc3RfaTE4bmdyZXAgImVtcHR5IGlkZW50IiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZXNldC1hdXRob3IgbWFrZXMgdGhlIGNvbW1pdCBvdXJzIGV2ZW4gd2l0aCAtLWFtZW5kIG9wdGlvbicgJwpkaWZmIC0tZ2l0IGEvdC90NzUxMy1pbnRlcnByZXQtdHJhaWxlcnMuc2ggYi90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaAppbmRleCA0ZGQxZDdjLi4xNjQ3MTlkIDEwMDc1NQotLS0gYS90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaAorKysgYi90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaApAQCAtNjgxLDYgKzY4MSwzNiBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvdmVycmlkaW5nIGNvbmZpZ3VyYXRpb24gd2l0aCAiLS13aGVyZSBhZnRlciInICcKKwlnaXQgY29uZmlnIHRyYWlsZXIuYWNrLndoZXJlICJiZWZvcmUiICYmCisJY2F0IGNvbXBsZXhfbWVzc2FnZV9ib2R5ID5leHBlY3RlZCAmJgorCXNlZCAtZSAicy8gWlwkLyAvIiA+PmV4cGVjdGVkIDw8LVxFT0YgJiYKKwkJRml4ZXM6IFoKKwkJQWNrZWQtYnk9IFoKKwkJQWNrZWQtYnk9IFBlZmYKKwkJUmV2aWV3ZWQtYnk6IFoKKwkJU2lnbmVkLW9mZi1ieTogWgorCUVPRgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS13aGVyZSBhZnRlciAtLXRyYWlsZXIgImFjazogUGVmZiIgXAorCQljb21wbGV4X21lc3NhZ2UgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2luZyAid2hlcmUgPSBiZWZvcmUiIHdpdGggIi0tbm8td2hlcmUiJyAnCisJY2F0IGNvbXBsZXhfbWVzc2FnZV9ib2R5ID5leHBlY3RlZCAmJgorCXNlZCAtZSAicy8gWlwkLyAvIiA+PmV4cGVjdGVkIDw8LVxFT0YgJiYKKwkJQnVnICM0MgorCQlGaXhlczogWgorCQlBY2tlZC1ieT0gUGVmZgorCQlBY2tlZC1ieT0gWgorCQlSZXZpZXdlZC1ieTogWgorCQlTaWduZWQtb2ZmLWJ5OiBaCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLXdoZXJlIGFmdGVyIC0tbm8td2hlcmUgLS10cmFpbGVyICJhY2s6IFBlZmYiIFwKKwkJLS10cmFpbGVyICJidWc6IDQyIiBjb21wbGV4X21lc3NhZ2UgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2luZyAid2hlcmUgPSBhZnRlciInICcKIAlnaXQgY29uZmlnIHRyYWlsZXIuYWNrLndoZXJlICJhZnRlciIgJiYKIAljYXQgY29tcGxleF9tZXNzYWdlX2JvZHkgPmV4cGVjdGVkICYmCkBAIC05NDcsNiArOTc3LDIzIEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ292ZXJyaWRpbmcgY29uZmlndXJhdGlvbiB3aXRoICItLWlmLWV4aXN0cyByZXBsYWNlIicgJworCWdpdCBjb25maWcgdHJhaWxlci5maXgua2V5ICJGaXhlczogIiAmJgorCWdpdCBjb25maWcgdHJhaWxlci5maXguaWZFeGlzdHMgImFkZCIgJiYKKwljYXQgY29tcGxleF9tZXNzYWdlX2JvZHkgPmV4cGVjdGVkICYmCisJc2VkIC1lICJzLyBaXCQvIC8iID4+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCQlCdWcgIzQyCisJCUFja2VkLWJ5PSBaCisJCVJldmlld2VkLWJ5OgorCQlTaWduZWQtb2ZmLWJ5OiBaCisJCUZpeGVzOiAyMgorCUVPRgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS1pZi1leGlzdHMgcmVwbGFjZSAtLXRyYWlsZXIgInJldmlldzoiIFwKKwkJLS10cmFpbGVyICJmaXg9NTMiIC0tdHJhaWxlciAiZml4PTIyIiAtLXRyYWlsZXIgImJ1ZzogNDIiIFwKKwkJPGNvbXBsZXhfbWVzc2FnZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VzaW5nICJpZkV4aXN0cyA9IHJlcGxhY2UiJyAnCiAJZ2l0IGNvbmZpZyB0cmFpbGVyLmZpeC5rZXkgIkZpeGVzOiAiICYmCiAJZ2l0IGNvbmZpZyB0cmFpbGVyLmZpeC5pZkV4aXN0cyAicmVwbGFjZSIgJiYKQEAgLTEwMjYsNiArMTA3MywyNSBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvdmVycmlkaW5nIGNvbmZpZ3VyYXRpb24gd2l0aCAiLS1pZi1taXNzaW5nIGRvTm90aGluZyInICcKKwlnaXQgY29uZmlnIHRyYWlsZXIuaWZtaXNzaW5nICJhZGQiICYmCisJY2F0IGNvbXBsZXhfbWVzc2FnZV9ib2R5ID5leHBlY3RlZCAmJgorCXNlZCAtZSAicy8gWlwkLyAvIiA+PmV4cGVjdGVkIDw8LVxFT0YgJiYKKwkJRml4ZXM6IFoKKwkJQWNrZWQtYnk9IFoKKwkJQWNrZWQtYnk9IEp1bmlvCisJCUFja2VkLWJ5PSBQZWZmCisJCVJldmlld2VkLWJ5OgorCQlTaWduZWQtb2ZmLWJ5OiBaCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLWlmLW1pc3NpbmcgZG9Ob3RoaW5nIFwKKwkJLS10cmFpbGVyICJyZXZpZXc6IiAtLXRyYWlsZXIgImZpeD01MyIgXAorCQktLXRyYWlsZXIgImNjPUxpbnVzIiAtLXRyYWlsZXIgImFjazogSnVuaW8iIFwKKwkJLS10cmFpbGVyICJmaXg9MjIiIC0tdHJhaWxlciAiYnVnOiA0MiIgLS10cmFpbGVyICJhY2s6IFBlZmYiIFwKKwkJPGNvbXBsZXhfbWVzc2FnZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3doZW4gZGVmYXVsdCAiaWZNaXNzaW5nIiBpcyAiZG9Ob3RoaW5nIicgJwogCWdpdCBjb25maWcgdHJhaWxlci5pZm1pc3NpbmcgImRvTm90aGluZyIgJiYKIAljYXQgY29tcGxleF9tZXNzYWdlX2JvZHkgPmV4cGVjdGVkICYmCkBAIC0xMjU4LDQgKzEzMjQsOTcgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBjdXQgbGluZScgJworCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCQlteSBzdWJqZWN0CisKKwkJcmV2aWV3OiBCcmlhbgorCQlzaWduOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorCQkjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA+OCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwkJaWdub3JlIHRoaXMKKwlFT0YKKwlnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIC0tdHJhaWxlciByZXZpZXc6QnJpYW4gPmFjdHVhbCA8PC1cRU9GICYmCisJCW15IHN1YmplY3QKKwkJIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJCWlnbm9yZSB0aGlzCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29ubHkgdHJhaWxlcnMnICcKKwlnaXQgY29uZmlnIHRyYWlsZXIuc2lnbi5jb21tYW5kICJlY2hvIGNvbmZpZy12YWx1ZSIgJiYKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwkJZXhpc3Rpbmc6IGV4aXN0aW5nLXZhbHVlCisJCXNpZ246IGNvbmZpZy12YWx1ZQorCQlhZGRlZDogYWRkZWQtdmFsdWUKKwlFT0YKKwlnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFwKKwkJLS10cmFpbGVyIGFkZGVkOmFkZGVkLXZhbHVlIFwKKwkJLS1vbmx5LXRyYWlsZXJzID5hY3R1YWwgPDwtXEVPRiAmJgorCQlteSBzdWJqZWN0CisKKwkJbXkgYm9keQorCisJCWV4aXN0aW5nOiBleGlzdGluZy12YWx1ZQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmx5LXRyYWlsZXJzIG9taXRzIG5vbi10cmFpbGVyIGluIG1pZGRsZSBvZiBibG9jaycgJworCWdpdCBjb25maWcgdHJhaWxlci5zaWduLmNvbW1hbmQgImVjaG8gY29uZmlnLXZhbHVlIiAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCQlTaWduZWQtb2ZmLWJ5OiBub2JvZHkgPG5vYm9keUBub3doZXJlPgorCQlTaWduZWQtb2ZmLWJ5OiBzb21lYm9keSA8c29tZWJvZHlAc29tZXdoZXJlPgorCQlzaWduOiBjb25maWctdmFsdWUKKwlFT0YKKwlnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIC0tb25seS10cmFpbGVycyA+YWN0dWFsIDw8LVxFT0YgJiYKKwkJc3ViamVjdAorCisJCWl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSB0cmFpbGVycyBiZWxvdyBhcmUgc2lnbmVkLW9mZi1ieQorCQlzbyB0aGF0IHRoZXkgbWVldCB0aGUgIjI1JSB0cmFpbGVycyBHaXQga25vd3MgYWJvdXQiIGhldXJpc3RpYworCisJCVNpZ25lZC1vZmYtYnk6IG5vYm9keSA8bm9ib2R5QG5vd2hlcmU+CisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQlTaWduZWQtb2ZmLWJ5OiBzb21lYm9keSA8c29tZWJvZHlAc29tZXdoZXJlPgorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmx5IGlucHV0JyAnCisJZ2l0IGNvbmZpZyB0cmFpbGVyLnNpZ24uY29tbWFuZCAiZWNobyBjb25maWctdmFsdWUiICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJCWV4aXN0aW5nOiBleGlzdGluZy12YWx1ZQorCUVPRgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgXAorCQktLW9ubHktdHJhaWxlcnMgLS1vbmx5LWlucHV0ID5hY3R1YWwgPDwtXEVPRiAmJgorCQlteSBzdWJqZWN0CisKKwkJbXkgYm9keQorCisJCWV4aXN0aW5nOiBleGlzdGluZy12YWx1ZQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1bmZvbGQnICcKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwkJZm9vOiBjb250aW51ZWQgYWNyb3NzIHNldmVyYWwgbGluZXMKKwlFT0YKKwkjIHBhc3MgdGhyb3VnaCB0ciB0byBtYWtlIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UgbW9yZSBvYnZpb3VzCisJdHIgXyAiICIgPDwtXEVPRiB8CisJCW15IHN1YmplY3QKKworCQlteSBib2R5CisKKwkJZm9vOl8KKwkJX19jb250aW51ZWQKKwkJX19fYWNyb3NzCisJCV9fX19zZXZlcmFsCisJCV9fX19fbGluZXMKKwkJX19fCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLW9ubHktdHJhaWxlcnMgLS1vbmx5LWlucHV0IC0tdW5mb2xkID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NjAwLW1lcmdlLnNoIGIvdC90NzYwMC1tZXJnZS5zaAppbmRleCAyZWJkYTUwLi44MDE5NGI3IDEwMDc1NQotLS0gYS90L3Q3NjAwLW1lcmdlLnNoCisrKyBiL3QvdDc2MDAtbWVyZ2Uuc2gKQEAgLTc3NCw0ICs3NzQsMTkgQEAKIAl2ZXJpZnlfcGFyZW50cyAkYzAgJGMxCiAnCiAKK3dyaXRlX3NjcmlwdCAuZ2l0L0ZBS0VfRURJVE9SIDw8RU9GCisjIGtpbGwgLVRFUk0gY29tbWFuZCBhZGRlZCBiZWxvdy4KK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEVYRUNLRUVQU1BJRCAna2lsbGVkIG1lcmdlIGNhbiBiZSBjb21wbGV0ZWQgd2l0aCAtLWNvbnRpbnVlJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBjMCAmJgorCSEgIiRTSEVMTF9QQVRIIiAtYyAnXCcnCisJICBlY2hvIGtpbGwgLVRFUk0gJCQgPj4gLmdpdC9GQUtFX0VESVRPUgorCSAgR0lUX0VESVRPUj0uZ2l0L0ZBS0VfRURJVE9SCisJICBleHBvcnQgR0lUX0VESVRPUgorCSAgZXhlYyBnaXQgbWVyZ2UgLS1uby1mZiAtLWVkaXQgYzEnXCcnICYmCisJZ2l0IG1lcmdlIC0tY29udGludWUgJiYKKwl2ZXJpZnlfcGFyZW50cyAkYzAgJGMxCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzYxNC1tZXJnZS1zaWdub2ZmLnNoIGIvdC90NzYxNC1tZXJnZS1zaWdub2ZmLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMxYjg0NDYKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3NjE0LW1lcmdlLXNpZ25vZmYuc2gKQEAgLTAsMCArMSw2OSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J2dpdCBtZXJnZSAtLXNpZ25vZmYKKworVGhpcyB0ZXN0IHJ1bnMgZ2l0IG1lcmdlIC0tc2lnbm9mZiBhbmQgbWFrZXMgc3VyZSB0aGF0IGl0IHdvcmtzLgorJworCisuIC4vdGVzdC1saWIuc2gKKworIyBTZXR1cCB0ZXN0IGZpbGVzCit0ZXN0X3NldHVwKCkgeworCSMgRXhwZWN0ZWQgY29tbWl0IG1lc3NhZ2UgYWZ0ZXIgbWVyZ2UgLS1zaWdub2ZmCisJY2F0ID5leHBlY3RlZC1zaWduZWQgPDxFT0YgJiYKK01lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIG90aGVyLWJyYW5jaAorCitTaWduZWQtb2ZmLWJ5OiAkKGdpdCB2YXIgR0lUX0NPTU1JVFRFUl9JREVOVCB8IHNlZCAtZSAicy8+LiovPi8iKQorRU9GCisKKwkjIEV4cGVjdGVkIGNvbW1pdCBtZXNzYWdlIGFmdGVyIG1lcmdlIHdpdGhvdXQgLS1zaWdub2ZmIChvciB3aXRoIC0tbm8tc2lnbm9mZikKKwljYXQgPmV4cGVjdGVkLXVuc2lnbmVkIDw8RU9GICYmCitNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byBvdGhlci1icmFuY2gKK0VPRgorCisJIyBJbml0aWFsIGNvbW1pdCBhbmQgZmVhdHVyZSBicmFuY2ggdG8gbWVyZ2UgbWFzdGVyIGludG8gaXQuCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJJbml0aWFsIGVtcHR5IGNvbW1pdCIgJiYKKwlnaXQgY2hlY2tvdXQgLWIgb3RoZXItYnJhbmNoICYmCisJdGVzdF9jb21taXQgb3RoZXItYnJhbmNoIGZpbGUxIDEKK30KKworIyBTZXR1cCByZXBvc2l0b3J5LCBmaWxlcyAmIGZlYXR1cmUgYnJhbmNoCisjIFRoaXMgc3RlcCBtdXN0IGJlIHJ1biBpZiBZb3Ugd2FudCB0byB0ZXN0IDIsMyBvciA0CisjIE9yZGVyIG9mIDIsMyw0IGlzIG5vdCBpbXBvcnRhbnQsIGJ1dCAxIG11c3QgYmUgcnVuIGJlZm9yZQorIyBGb3IgZXhhbXBsZSBgLXIgMSw0YCBvciBgLXIgMSw0LDIgLXZgIGV0YworIyBCdXQgbm90IGAtciAyYCBvciBgLXIgNCwzLDIsMWAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9zZXR1cAorJworCisjIFRlc3Qgd2l0aCAtLXNpZ25vZmYgZmxhZwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG1lcmdlIC0tc2lnbm9mZiBhZGRzIGEgc2lnbi1vZmYgbGluZScgJworCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwl0ZXN0X2NvbW1pdCBtYXN0ZXItYnJhbmNoLTIgZmlsZTIgMiAmJgorCWdpdCBjaGVja291dCBvdGhlci1icmFuY2ggJiYKKwlnaXQgbWVyZ2UgbWFzdGVyIC0tc2lnbm9mZiAtLW5vLWVkaXQgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLWUgIjEsL15cJC9kIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtc2lnbmVkIGFjdHVhbAorJworCisjIFRlc3Qgd2l0aG91dCAtLXNpZ25vZmYgZmxhZwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG1lcmdlIGRvZXMgbm90IGFkZCBhIHNpZ24tb2ZmIGxpbmUnICcKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJdGVzdF9jb21taXQgbWFzdGVyLWJyYW5jaC0zIGZpbGUzIDMgJiYKKwlnaXQgY2hlY2tvdXQgb3RoZXItYnJhbmNoICYmCisJZ2l0IG1lcmdlIG1hc3RlciAtLW5vLWVkaXQgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLWUgIjEsL15cJC9kIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtdW5zaWduZWQgYWN0dWFsCisnCisKKyMgVGVzdCBmb3IgLS1uby1zaWdub2ZmIGZsYWcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBtZXJnZSAtLW5vLXNpZ25vZmYgZmxhZyBjYW5jZWxzIC0tc2lnbm9mZiBmbGFnJyAnCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCXRlc3RfY29tbWl0IG1hc3Rlci1icmFuY2gtNCBmaWxlNCA0ICYmCisJZ2l0IGNoZWNrb3V0IG90aGVyLWJyYW5jaCAmJgorCWdpdCBtZXJnZSBtYXN0ZXIgLS1uby1lZGl0IC0tc2lnbm9mZiAtLW5vLXNpZ25vZmYgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLWUgIjEsL15cJC9kIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtdW5zaWduZWQgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzgwMC1kaWZmdG9vbC5zaCBiL3QvdDc4MDAtZGlmZnRvb2wuc2gKaW5kZXggMjUyNDFmNC4uNjY4YmJlZSAxMDA3NTUKLS0tIGEvdC90NzgwMC1kaWZmdG9vbC5zaAorKysgYi90L3Q3ODAwLWRpZmZ0b29sLnNoCkBAIC0yNSwxNCArMjUsMTQgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmFzaWMgdXNhZ2UgcmVxdWlyZXMgbm8gcmVwbycgJwogCXRlc3RfZXhwZWN0X2NvZGUgMTI5IGdpdCBkaWZmdG9vbCAtaCA+b3V0cHV0ICYmCi0JZ3JlcCBedXNhZ2U6IG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgXnVzYWdlOiBvdXRwdXQgJiYKIAkjIGNyZWF0ZSBhIGNlaWxpbmcgZGlyZWN0b3J5IHRvIHByZXZlbnQgR2l0IGZyb20gZmluZGluZyBhIHJlcG8KIAlta2RpciAtcCBub3QvcmVwbyAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCBybSAtciBub3QgJiYKIAl0ZXN0X2V4cGVjdF9jb2RlIDEyOSBcCiAJZW52IEdJVF9DRUlMSU5HX0RJUkVDVE9SSUVTPSIkKHB3ZCkvbm90IiBcCiAJZ2l0IC1DIG5vdC9yZXBvIGRpZmZ0b29sIC1oID5vdXRwdXQgJiYKLQlncmVwIF51c2FnZTogb3V0cHV0CisJdGVzdF9pMThuZ3JlcCBedXNhZ2U6IG91dHB1dAogJwogCiAjIENyZWF0ZSBhIGZpbGUgb24gbWFzdGVyIGFuZCBjaGFuZ2UgaXQgb24gYnJhbmNoCkBAIC0zOTMsNiArMzkzLDI1IEBACiAJZ2l0IGNvbW1pdCAtbSAibW9kaWZpZWQgYm90aCIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZnRvb2wgLWQgd2l0aCBncm93aW5nIHBhdGhzJyAnCisJYT1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhICYmCisJZ2l0IGluaXQgZ3Jvd2luZyAmJgorCSgKKwkJY2QgZ3Jvd2luZyAmJgorCQllY2hvICJ0ZXN0IC1mIFwiXCQyL2JcIiIgfCB3cml0ZV9zY3JpcHQgLmdpdC90ZXN0LWZvci1iLnNoICYmCisJCW9uZT0kKHByaW50ZiAxIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCisJCXR3bz0kKHByaW50ZiAyIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCisJCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgXAorCQkJLS1jYWNoZWluZm8gMTAwNjQ0LCRvbmUsJGEgLS1jYWNoZWluZm8gMTAwNjQ0LCR0d28sYiAmJgorCQl0cmVlMT0kKGdpdCB3cml0ZS10cmVlKSAmJgorCQlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIFwKKwkJCS0tY2FjaGVpbmZvIDEwMDY0NCwkdHdvLCRhIC0tY2FjaGVpbmZvIDEwMDY0NCwkb25lLGIgJiYKKwkJdHJlZTI9JChnaXQgd3JpdGUtdHJlZSkgJiYKKwkJZ2l0IGNoZWNrb3V0IC0tICRhICYmCisJCWdpdCBkaWZmdG9vbCAtZCAtLWV4dGNtZCAuZ2l0L3Rlc3QtZm9yLWIuc2ggJHRyZWUxICR0cmVlMgorCSkKKycKKwogcnVuX2Rpcl9kaWZmX3Rlc3QgKCkgewogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiQxIC0tbm8tc3ltbGlua3MiICIKIAkJc3ltbGlua3M9LS1uby1zeW1saW5rcyAmJgpAQCAtNDI4LDcgKzQ0Nyw3IEBACiAJCWdpdCBkaWZmdG9vbCAtLWRpci1kaWZmICRzeW1saW5rcyAtLWV4dGNtZCBscyBicmFuY2ggPm91dHB1dCAmJgogCQkjICJzdWIiIG11c3Qgb25seSBleGlzdCBpbiAicmlnaHQiCiAJCSMgImZpbGUiIGFuZCAiZmlsZTIiIG11c3QgYmUgbGlzdGVkIGluIGJvdGggImxlZnQiIGFuZCAicmlnaHQiCi0JCWdyZXAgc3ViIG91dHB1dCA+IHN1Yi1vdXRwdXQgJiYKKwkJZ3JlcCBzdWIgb3V0cHV0ID5zdWItb3V0cHV0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDEgc3ViLW91dHB1dCAmJgogCQlncmVwIGZpbGUiJCIgb3V0cHV0ID5maWxlLW91dHB1dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAyIGZpbGUtb3V0cHV0ICYmCkBAIC01OTEsNiArNjEwLDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZnRvb2wgcHJvcGVybHkgaG9ub3JzIGdpdGxpbmsgYW5kIGNvcmUud29ya3RyZWUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgcm0gLXJmIHN1Ym1vZC91bGUgJiYKIAlnaXQgc3VibW9kdWxlIGFkZCAuLy4gc3VibW9kL3VsZSAmJgogCXRlc3RfY29uZmlnIC1DIHN1Ym1vZC91bGUgZGlmZi50b29sIGNoZWNrdHJlZXMgJiYKIAl0ZXN0X2NvbmZpZyAtQyBzdWJtb2QvdWxlIGRpZmZ0b29sLmNoZWNrdHJlZXMuY21kICdcJycKQEAgLTYwMCwxMSArNjIwLDEzIEBACiAJCWNkIHN1Ym1vZC91bGUgJiYKIAkJZWNobyBnb29kID5leHBlY3QgJiYKIAkJZ2l0IGRpZmZ0b29sIC0tdG9vbD1jaGVja3RyZWVzIC0tZGlyLWRpZmYgSEVBRH4gPmFjdHVhbCAmJgotCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwkJcm0gLWYgZXhwZWN0IGFjdHVhbAogCSkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnZGlmZnRvb2wgLS1kaXItZGlmZiBzeW1saW5rZWQgZGlyZWN0b3JpZXMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBpbml0IGRpcmxpbmtzICYmCiAJKAogCQljZCBkaXJsaW5rcyAmJgpAQCAtNjIzLDQgKzY0NSw2NCBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnZGlmZnRvb2wgLS1kaXItZGlmZiBoYW5kbGVzIG1vZGlmaWVkIHN5bWxpbmtzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCByZXNldCAtLWhhcmQgJiYKKwl0b3VjaCBiICYmCisJbG4gLXMgYiBjICYmCisJZ2l0IGFkZCBiIGMgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKKwl0b3VjaCBkICYmCisJcm0gYyAmJgorCWxuIC1zIGQgYyAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQliCisJCWMKKworCQljCisJRU9GCisJZ2l0IGRpZmZ0b29sIC0tc3ltbGlua3MgLS1kaXItZGlmZiAtLWV4dGNtZCBscyA+b3V0cHV0ICYmCisJZ3JlcCAtdiBeLyBvdXRwdXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWdpdCBkaWZmdG9vbCAtLW5vLXN5bWxpbmtzIC0tZGlyLWRpZmYgLS1leHRjbWQgbHMgPm91dHB1dCAmJgorCWdyZXAgLXYgXi8gb3V0cHV0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIFRoZSBsZWZ0IHNpZGUgY29udGFpbnMgc3ltbGluayAiYyIgdGhhdCBwb2ludHMgdG8gImIiCisJdGVzdF9jb25maWcgZGlmZnRvb2wuY2F0LmNtZCAiY2F0IFwkTE9DQUwvYyIgJiYKKwlwcmludGYgIiVzXG4iIGIgPmV4cGVjdCAmJgorCisJZ2l0IGRpZmZ0b29sIC0tc3ltbGlua3MgLS1kaXItZGlmZiAtLXRvb2wgY2F0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlnaXQgZGlmZnRvb2wgLS1zeW1saW5rcyAtLW5vLXN5bWxpbmtzIC0tZGlyLWRpZmYgLS10b29sIGNhdCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJIyBUaGUgcmlnaHQgc2lkZSBjb250YWlucyBzeW1saW5rICJjIiB0aGF0IHBvaW50cyB0byAiZCIKKwl0ZXN0X2NvbmZpZyBkaWZmdG9vbC5jYXQuY21kICJjYXQgXCRSRU1PVEUvYyIgJiYKKwlwcmludGYgIiVzXG4iIGQgPmV4cGVjdCAmJgorCisJZ2l0IGRpZmZ0b29sIC0tc3ltbGlua3MgLS1kaXItZGlmZiAtLXRvb2wgY2F0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlnaXQgZGlmZnRvb2wgLS1uby1zeW1saW5rcyAtLWRpci1kaWZmIC0tdG9vbCBjYXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCSMgRGVsZXRlZCBzeW1saW5rcworCXJtIC1mIGMgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJYgorCQljCisKKwlFT0YKKwlnaXQgZGlmZnRvb2wgLS1zeW1saW5rcyAtLWRpci1kaWZmIC0tZXh0Y21kIGxzID5vdXRwdXQgJiYKKwlncmVwIC12IF4vIG91dHB1dCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZ2l0IGRpZmZ0b29sIC0tbm8tc3ltbGlua3MgLS1kaXItZGlmZiAtLWV4dGNtZCBscyA+b3V0cHV0ICYmCisJZ3JlcCAtdiBeLyBvdXRwdXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3ODEwLWdyZXAuc2ggYi90L3Q3ODEwLWdyZXAuc2gKaW5kZXggY2VlNDIwOS4uMmE2Njc5YyAxMDA3NTUKLS0tIGEvdC90NzgxMC1ncmVwLnNoCisrKyBiL3QvdDc4MTAtZ3JlcC5zaApAQCAtMjc1LDEyICsyNzUsMTYgQEAKIAkJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAJJwogCi0JdGVzdF9leHBlY3Rfc3VjY2VzcyBMSUJQQ1JFICJncmVwICRMIHdpdGggZ3JlcC5wYXR0ZXJudHlwZT1wZXJsIiAnCisJdGVzdF9leHBlY3Rfc3VjY2VzcyBQQ1JFICJncmVwICRMIHdpdGggZ3JlcC5wYXR0ZXJudHlwZT1wZXJsIiAnCiAJCWVjaG8gIiR7SEN9YWI6YStiKmMiID5leHBlY3RlZCAmJgogCQlnaXQgLWMgZ3JlcC5wYXR0ZXJudHlwZT1wZXJsIGdyZXAgImFceHsyYn1iXHh7MmF9YyIgJEggYWIgPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAknCiAKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICFQQ1JFICJncmVwICRMIHdpdGggZ3JlcC5wYXR0ZXJudHlwZT1wZXJsIGVycm9ycyB3aXRob3V0IFBDUkUiICcKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIGdyZXAucGF0dGVybnR5cGU9cGVybCBncmVwICJmb28uKmJhciIKKwknCisKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICJncmVwICRMIHdpdGggZ3JlcC5wYXR0ZXJuVHlwZT1kZWZhdWx0IGFuZCBncmVwLmV4dGVuZGVkUmVnZXhwPXRydWUiICcKIAkJZWNobyAiJHtIQ31hYjphYmMiID5leHBlY3RlZCAmJgogCQlnaXQgXApAQCAtMzcwLDYgKzM3NCwxMSBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tZmlsZXMtd2l0aG91dC1tYXRjaCAtLXF1aWV0JyAnCisJZ2l0IGdyZXAgLS1maWxlcy13aXRob3V0LW1hdGNoIC0tcXVpZXQgbm9uZXhpc3RlbnRfc3RyaW5nID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCAvZGV2L251bGwgYWN0dWFsCisnCisKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKIGZpbGU6Zm9vIG1tYXAgYmFyX21tYXAKIEVPRgpAQCAtNzcxLDYgKzc4MCw0MCBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCitmb3IgdGhyZWFkcyBpbiAkKHRlc3Rfc2VxIDAgMTApCitkbworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImdyZXAgLS10aHJlYWRzPSR0aHJlYWRzICYgLWMgZ3JlcC50aHJlYWRzPSR0aHJlYWRzIiAiCisJCWdpdCBncmVwIC0tdGhyZWFkcz0kdGhyZWFkcyAuID5hY3R1YWwuJHRocmVhZHMgJiYKKwkJaWYgdGVzdCAkdGhyZWFkcyAtZ2UgMQorCQl0aGVuCisJCQl0ZXN0X2NtcCBhY3R1YWwuXCQoKCR0aHJlYWRzIC0gMSkpIGFjdHVhbC4kdGhyZWFkcworCQlmaSAmJgorCQlnaXQgLWMgZ3JlcC50aHJlYWRzPSR0aHJlYWRzIGdyZXAgLiA+YWN0dWFsLiR0aHJlYWRzICYmCisJCWlmIHRlc3QgJHRocmVhZHMgLWdlIDEKKwkJdGhlbgorCQkJdGVzdF9jbXAgYWN0dWFsLlwkKCgkdGhyZWFkcyAtIDEpKSBhY3R1YWwuJHRocmVhZHMKKwkJZmkKKwkiCitkb25lCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIVBUSFJFQURTLENfTE9DQUxFX09VVFBVVCAnZ3JlcCAtLXRocmVhZHM9TiBvciBwYWNrLnRocmVhZHM9TiB3YXJucyB3aGVuIG5vIHB0aHJlYWRzJyAnCisJZ2l0IGdyZXAgLS10aHJlYWRzPTIgSGVsbG8gaGVsbG9fd29ybGQgMj5lcnIgJiYKKwlncmVwIF53YXJuaW5nOiBlcnIgPndhcm5pbmdzICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSB3YXJuaW5ncyAmJgorCWdyZXAgLUYgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIiBlcnIgJiYKKwlnaXQgLWMgZ3JlcC50aHJlYWRzPTIgZ3JlcCBIZWxsbyBoZWxsb193b3JsZCAyPmVyciAmJgorCWdyZXAgXndhcm5pbmc6IGVyciA+d2FybmluZ3MgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIHdhcm5pbmdzICYmCisJZ3JlcCAtRiAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyBncmVwLnRocmVhZHMiIGVyciAmJgorCWdpdCAtYyBncmVwLnRocmVhZHM9MiBncmVwIC0tdGhyZWFkcz00IEhlbGxvIGhlbGxvX3dvcmxkIDI+ZXJyICYmCisJZ3JlcCBed2FybmluZzogZXJyID53YXJuaW5ncyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgd2FybmluZ3MgJiYKKwlncmVwIC1GICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIgZXJyICYmCisJZ3JlcCAtRiAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyBncmVwLnRocmVhZHMiIGVyciAmJgorCWdpdCAtYyBncmVwLnRocmVhZHM9MCBncmVwIC0tdGhyZWFkcz0wIEhlbGxvIGhlbGxvX3dvcmxkIDI+ZXJyICYmCisJdGVzdF9saW5lX2NvdW50ID0gMCBlcnIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCBmcm9tIGEgc3ViZGlyZWN0b3J5IHRvIHNlYXJjaCB3aWRlciBhcmVhICgxKScgJwogCW1rZGlyIC1wIHMgJiYKIAkoCkBAIC0xMDUzLDE2ICsxMDk2LDI0IEBACiBoZWxsby5jOglwcmludGYoIkhlbGxvIHdvcmxkLlxuIik7CiBFT0YKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBMSUJQQ1JFICdncmVwIC0tcGVybC1yZWdleHAgcGF0dGVybicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBQQ1JFICdncmVwIC0tcGVybC1yZWdleHAgcGF0dGVybicgJwogCWdpdCBncmVwIC0tcGVybC1yZWdleHAgIlxwe1BzfS4qP1xwe1BlfSIgaGVsbG8uYyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgTElCUENSRSAnZ3JlcCAtUCBwYXR0ZXJuJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFQQ1JFICdncmVwIC0tcGVybC1yZWdleHAgcGF0dGVybiBlcnJvcnMgd2l0aG91dCBQQ1JFJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1wZXJsLXJlZ2V4cCAiZm9vLipiYXIiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUENSRSAnZ3JlcCAtUCBwYXR0ZXJuJyAnCiAJZ2l0IGdyZXAgLVAgIlxwe1BzfS4qP1xwe1BlfSIgaGVsbG8uYyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIVBDUkUgJ2dyZXAgLVAgcGF0dGVybiBlcnJvcnMgd2l0aG91dCBQQ1JFJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLVAgImZvby4qYmFyIgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIHBhdHRlcm4gd2l0aCBncmVwLmV4dGVuZGVkUmVnZXhwPXRydWUnICcKIAk+ZW1wdHkgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgLWMgZ3JlcC5leHRlbmRlZHJlZ2V4cD10cnVlIFwKQEAgLTEwNzAsMTMgKzExMjEsMTMgQEAKIAl0ZXN0X2NtcCBlbXB0eSBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBMSUJQQ1JFICdncmVwIC1QIHBhdHRlcm4gd2l0aCBncmVwLmV4dGVuZGVkUmVnZXhwPXRydWUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUENSRSAnZ3JlcCAtUCBwYXR0ZXJuIHdpdGggZ3JlcC5leHRlbmRlZFJlZ2V4cD10cnVlJyAnCiAJZ2l0IC1jIGdyZXAuZXh0ZW5kZWRyZWdleHA9dHJ1ZSBcCiAJCWdyZXAgLVAgIlxwe1BzfS4qP1xwe1BlfSIgaGVsbG8uYyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgTElCUENSRSAnZ3JlcCAtUCAtdiBwYXR0ZXJuJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBDUkUgJ2dyZXAgLVAgLXYgcGF0dGVybicgJwogCXsKIAkJZWNobyAiYWI6YStiKmMiCiAJCWVjaG8gImFiOmErYmMiCkBAIC0xMDg1LDcgKzExMzYsNyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIExJQlBDUkUgJ2dyZXAgLVAgLWkgcGF0dGVybicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBQQ1JFICdncmVwIC1QIC1pIHBhdHRlcm4nICcKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgogCWhlbGxvLmM6CXByaW50ZigiSGVsbG8gd29ybGQuXG4iKTsKIAlFT0YKQEAgLTEwOTMsNyArMTE0NCw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgTElCUENSRSAnZ3JlcCAtUCAtdyBwYXR0ZXJuJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBDUkUgJ2dyZXAgLVAgLXcgcGF0dGVybicgJwogCXsKIAkJZWNobyAiaGVsbG9fd29ybGQ6SGVsbG8gd29ybGQiCiAJCWVjaG8gImhlbGxvX3dvcmxkOkhlTExvIHdvcmxkIgpAQCAtMTEwMiw2ICsxMTUzLDEzIEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUENSRSAnZ3JlcCAtUCBiYWNrcmVmZXJlbmNlcyB3b3JrICh0aGUgUENSRSBOT19BVVRPX0NBUFRVUkUgZmxhZyBpcyBub3Qgc2V0KScgJworCWdpdCBncmVwIC1QIC1oICIoP1A8b25lPi4pKD9QPW9uZSkiIGhlbGxvX3dvcmxkID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBoZWxsb193b3JsZCBhY3R1YWwgJiYKKwlnaXQgZ3JlcCAtUCAtaCAiKC4pXDEiIGhlbGxvX3dvcmxkID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBoZWxsb193b3JsZCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtRyBpbnZhbGlkcGF0dGVybiBwcm9wZXJseSBkaWVzICcgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC1HICJhWyIKICcKQEAgLTExMTgsMTEgKzExNzYsMTEgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgLWMgZ3JlcC5wYXR0ZXJudHlwZT1leHRlbmRlZCBncmVwICJhWyIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBMSUJQQ1JFICdncmVwIC1QIGludmFsaWRwYXR0ZXJuIHByb3Blcmx5IGRpZXMgJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBDUkUgJ2dyZXAgLVAgaW52YWxpZHBhdHRlcm4gcHJvcGVybHkgZGllcyAnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCAtUCAiYVsiCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgTElCUENSRSAnZ3JlcCBpbnZhbGlkcGF0dGVybiBwcm9wZXJseSBkaWVzIHdpdGggZ3JlcC5wYXR0ZXJuVHlwZT1wZXJsJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBDUkUgJ2dyZXAgaW52YWxpZHBhdHRlcm4gcHJvcGVybHkgZGllcyB3aXRoIGdyZXAucGF0dGVyblR5cGU9cGVybCcgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBncmVwLnBhdHRlcm50eXBlPXBlcmwgZ3JlcCAiYVsiCiAnCiAKQEAgLTExOTEsMTMgKzEyNDksMTMgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBMSUJQQ1JFICdncmVwIC1HIC1GIC1FIC1QIHBhdHRlcm4nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUENSRSAnZ3JlcCAtRyAtRiAtRSAtUCBwYXR0ZXJuJyAnCiAJZWNobyAiZDA6MCIgPmV4cGVjdGVkICYmCiAJZ2l0IGdyZXAgLUcgLUYgLUUgLVAgIltcZF0iIGQwID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBMSUJQQ1JFICdncmVwIHBhdHRlcm4gd2l0aCBncmVwLnBhdHRlcm5UeXBlPWZpeGVkLCA9YmFzaWMsID1leHRlbmRlZCwgPXBlcmwnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUENSRSAnZ3JlcCBwYXR0ZXJuIHdpdGggZ3JlcC5wYXR0ZXJuVHlwZT1maXhlZCwgPWJhc2ljLCA9ZXh0ZW5kZWQsID1wZXJsJyAnCiAJZWNobyAiZDA6MCIgPmV4cGVjdGVkICYmCiAJZ2l0IFwKIAkJLWMgZ3JlcC5wYXR0ZXJudHlwZT1maXhlZCBcCkBAIC0xMjA4LDcgKzEyNjYsNyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIExJQlBDUkUgJ2dyZXAgLVAgcGF0dGVybiB3aXRoIGdyZXAucGF0dGVyblR5cGU9Zml4ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUENSRSAnZ3JlcCAtUCBwYXR0ZXJuIHdpdGggZ3JlcC5wYXR0ZXJuVHlwZT1maXhlZCcgJwogCWVjaG8gImFiOmErYipjIiA+ZXhwZWN0ZWQgJiYKIAlnaXQgXAogCQktYyBncmVwLnBhdHRlcm50eXBlPWZpeGVkIFwKQEAgLTEzNDMsMTIgKzE0MDEsMTIgQEAKIHNwYWNlOiBsaW5lIHdpdGggbGVhZGluZyBzcGFjZTMKIEVPRgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIExJQlBDUkUgJ2dyZXAgLUUgIl4gIicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBQQ1JFICdncmVwIC1FICJeICInICcKIAlnaXQgZ3JlcCAtRSAiXiAiIHNwYWNlID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBMSUJQQ1JFICdncmVwIC1QICJeICInICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUENSRSAnZ3JlcCAtUCAiXiAiJyAnCiAJZ2l0IGdyZXAgLVAgIl4gIiBzcGFjZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCmRpZmYgLS1naXQgYS90L3Q3ODEyLWdyZXAtaWNhc2Utbm9uLWFzY2lpLnNoIGIvdC90NzgxMi1ncmVwLWljYXNlLW5vbi1hc2NpaS5zaAppbmRleCAxNjlmZDhkLi4wMDU5YTFmIDEwMDc1NQotLS0gYS90L3Q3ODEyLWdyZXAtaWNhc2Utbm9uLWFzY2lpLnNoCisrKyBiL3QvdDc4MTItZ3JlcC1pY2FzZS1ub24tYXNjaWkuc2gKQEAgLTIwLDEzICsyMCwxMyBAQAogCWdpdCBncmVwIC1pICJUSUxSQVVOOiBIQUxMw5MgSEVJTVVSISIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBHRVRURVhUX0xPQ0FMRSxMSUJQQ1JFICdncmVwIHBjcmUgdXRmLTggaWNhc2UnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUVEVYVF9MT0NBTEUsUENSRSAnZ3JlcCBwY3JlIHV0Zi04IGljYXNlJyAnCiAJZ2l0IGdyZXAgLS1wZXJsLXJlZ2V4cCAgICAiVElMUkFVTjogSC5sbMOzIEhlaW11ciEiICYmCiAJZ2l0IGdyZXAgLS1wZXJsLXJlZ2V4cCAtaSAiVElMUkFVTjogSC5sbMOzIEhlaW11ciEiICYmCiAJZ2l0IGdyZXAgLS1wZXJsLXJlZ2V4cCAtaSAiVElMUkFVTjogSC5MTMOTIEhFSU1VUiEiCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUVEVYVF9MT0NBTEUsTElCUENSRSAnZ3JlcCBwY3JlIHV0Zi04IHN0cmluZyB3aXRoICIrIicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBHRVRURVhUX0xPQ0FMRSxQQ1JFICdncmVwIHBjcmUgdXRmLTggc3RyaW5nIHdpdGggIisiJyAnCiAJdGVzdF93cml0ZV9saW5lcyAiVElMUkFVTjogSGFsbMOzw7MgSGVpbXVyISIgPmZpbGUyICYmCiAJZ2l0IGFkZCBmaWxlMiAmJgogCWdpdCBncmVwIC1sIC0tcGVybC1yZWdleHAgIlRJTFJBVU46IEgubGzDsysgSGVpbXVyISIgPmFjdHVhbCAmJgpAQCAtMzYsMjkgKzM2LDE0IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUkVHRVhfTE9DQUxFICdncmVwIGxpdGVyYWwgc3RyaW5nLCB3aXRoIC1GJyAnCi0JZ2l0IGdyZXAgLS1kZWJ1ZyAtaSAtRiAiVElMUkFVTjogSGFsbMOzIEhlaW11ciEiICAyPiYxID4vZGV2L251bGwgfAotCQkgZ3JlcCBmaXhlZCA+ZGVidWcxICYmCi0JdGVzdF93cml0ZV9saW5lcyAiZml4ZWQgVElMUkFVTjogSGFsbMOzIEhlaW11ciEiID5leHBlY3QxICYmCi0JdGVzdF9jbXAgZXhwZWN0MSBkZWJ1ZzEgJiYKLQotCWdpdCBncmVwIC0tZGVidWcgLWkgLUYgIlRJTFJBVU46IEhBTEzDkyBIRUlNVVIhIiAgMj4mMSA+L2Rldi9udWxsIHwKLQkJIGdyZXAgZml4ZWQgPmRlYnVnMiAmJgotCXRlc3Rfd3JpdGVfbGluZXMgImZpeGVkIFRJTFJBVU46IEhBTEzDkyBIRUlNVVIhIiA+ZXhwZWN0MiAmJgotCXRlc3RfY21wIGV4cGVjdDIgZGVidWcyCisJZ2l0IGdyZXAgLWkgLUYgIlRJTFJBVU46IEhhbGzDsyBIZWltdXIhIiAmJgorCWdpdCBncmVwIC1pIC1GICJUSUxSQVVOOiBIQUxMw5MgSEVJTVVSISIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBSRUdFWF9MT0NBTEUgJ2dyZXAgc3RyaW5nIHdpdGggcmVnZXgsIHdpdGggLUYnICcKLQl0ZXN0X3dyaXRlX2xpbmVzICJeKlRJTFJeQVVOOi4qIFxcSGFsbMOzIFwkSGVbXWltdXIhXCQiID5maWxlICYmCi0KLQlnaXQgZ3JlcCAtLWRlYnVnIC1pIC1GICJeKlRJTFJeQVVOOi4qIFxcSGFsbMOzIFwkSGVbXWltdXIhXCQiIDI+JjEgPi9kZXYvbnVsbCB8Ci0JCSBncmVwIGZpeGVkID5kZWJ1ZzEgJiYKLQl0ZXN0X3dyaXRlX2xpbmVzICJmaXhlZCBcXF4qVElMUl5BVU46XFwuXFwqIFxcXFxIYWxsw7MgXCRIZVxcW11pbXVyIVxcXCQiID5leHBlY3QxICYmCi0JdGVzdF9jbXAgZXhwZWN0MSBkZWJ1ZzEgJiYKLQotCWdpdCBncmVwIC0tZGVidWcgLWkgLUYgIl4qVElMUl5BVU46LiogXFxIQUxMw5MgXCRIRVtdSU1VUiFcJCIgIDI+JjEgPi9kZXYvbnVsbCB8Ci0JCSBncmVwIGZpeGVkID5kZWJ1ZzIgJiYKLQl0ZXN0X3dyaXRlX2xpbmVzICJmaXhlZCBcXF4qVElMUl5BVU46XFwuXFwqIFxcXFxIQUxMw5MgXCRIRVxcW11JTVVSIVxcXCQiID5leHBlY3QyICYmCi0JdGVzdF9jbXAgZXhwZWN0MiBkZWJ1ZzIKKwl0ZXN0X3dyaXRlX2xpbmVzICJUSUxSQVVOOiBIYWxsw7MgSGVpbXVyIFthYmNdISIgPmZpbGUzICYmCisJZ2l0IGFkZCBmaWxlMyAmJgorCWdpdCBncmVwIC1pIC1GICJUSUxSQVVOOiBIYWxsw7MgSGVpbXVyIFthYmNdISIgZmlsZTMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBSRUdFWF9MT0NBTEUgJ3BpY2theGUgLWkgb24gbm9uLWFzY2lpJyAnCmRpZmYgLS1naXQgYS90L3Q3ODEzLWdyZXAtaWNhc2UtaXNvLnNoIGIvdC90NzgxMy1ncmVwLWljYXNlLWlzby5zaAppbmRleCBlZmVmN2ZiLi43MDFlMDhhIDEwMDc1NQotLS0gYS90L3Q3ODEzLWdyZXAtaWNhc2UtaXNvLnNoCisrKyBiL3QvdDc4MTMtZ3JlcC1pY2FzZS1pc28uc2gKQEAgLTExLDcgKzExLDcgQEAKIAlleHBvcnQgTENfQUxMCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUVEVYVF9JU09fTE9DQUxFLExJQlBDUkUgJ2dyZXAgcGNyZSBzdHJpbmcnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUVEVYVF9JU09fTE9DQUxFLFBDUkUgJ2dyZXAgcGNyZSBzdHJpbmcnICcKIAlnaXQgZ3JlcCAtLXBlcmwtcmVnZXhwIC1pICJUSUxSQVVOOiBILmxs8yBIZWltdXIhIiAmJgogCWdpdCBncmVwIC0tcGVybC1yZWdleHAgLWkgIlRJTFJBVU46IEguTEzTIEhFSU1VUiEiCiAnCmRpZmYgLS1naXQgYS90L3Q3ODE0LWdyZXAtcmVjdXJzZS1zdWJtb2R1bGVzLnNoIGIvdC90NzgxNC1ncmVwLXJlY3Vyc2Utc3VibW9kdWxlcy5zaAppbmRleCA2NzI0N2EwLi43MTg0MTEzIDEwMDc1NQotLS0gYS90L3Q3ODE0LWdyZXAtcmVjdXJzZS1zdWJtb2R1bGVzLnNoCisrKyBiL3QvdDc4MTQtZ3JlcC1yZWN1cnNlLXN1Ym1vZHVsZXMuc2gKQEAgLTksMTMgKzksMTMgQEAKIC4gLi90ZXN0LWxpYi5zaAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBkaXJlY3Rvcnkgc3RydWN0dXJlIGFuZCBzdWJtb2R1bGUnICcKLQllY2hvICJmb29iYXIiID5hICYmCisJZWNobyAiKDF8MilkKDN8NCkiID5hICYmCiAJbWtkaXIgYiAmJgotCWVjaG8gImJhciIgPmIvYiAmJgorCWVjaG8gIigzfDQpIiA+Yi9iICYmCiAJZ2l0IGFkZCBhIGIgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgYSBhbmQgYiIgJiYKIAlnaXQgaW5pdCBzdWJtb2R1bGUgJiYKLQllY2hvICJmb29iYXIiID5zdWJtb2R1bGUvYSAmJgorCWVjaG8gIigxfDIpZCgzfDQpIiA+c3VibW9kdWxlL2EgJiYKIAlnaXQgLUMgc3VibW9kdWxlIGFkZCBhICYmCiAJZ2l0IC1DIHN1Ym1vZHVsZSBjb21taXQgLW0gImFkZCBhIiAmJgogCWdpdCBzdWJtb2R1bGUgYWRkIC4vc3VibW9kdWxlICYmCkBAIC0yNCwxOCArMjQsMzYgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCBjb3JyZWN0bHkgZmluZHMgcGF0dGVybnMgaW4gYSBzdWJtb2R1bGUnICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JYTpmb29iYXIKLQliL2I6YmFyCi0Jc3VibW9kdWxlL2E6Zm9vYmFyCisJYTooMXwyKWQoM3w0KQorCWIvYjooM3w0KQorCXN1Ym1vZHVsZS9hOigxfDIpZCgzfDQpCiAJRU9GCiAKLQlnaXQgZ3JlcCAtZSAiYmFyIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyA+YWN0dWFsICYmCisJZ2l0IGdyZXAgLWUgIigzfDQpIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIGZpbmRzIHBhdHRlcm5zIGluIGEgc3VibW9kdWxlIHZpYSBjb25maWcnICcKKwl0ZXN0X2NvbmZpZyBzdWJtb2R1bGUucmVjdXJzZSB0cnVlICYmCisJIyBleHBlY3QgZnJvbSBwcmV2aW91cyB0ZXN0CisJZ2l0IGdyZXAgLWUgIigzfDQpIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzIG92ZXJyaWRlcyBjb25maWcnICcKKwl0ZXN0X2NvbmZpZyBzdWJtb2R1bGUucmVjdXJzZSB0cnVlICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWE6KDF8MilkKDN8NCkKKwliL2I6KDN8NCkKKwlFT0YKKworCWdpdCBncmVwIC1lICIoM3w0KSIgLS1uby1yZWN1cnNlLXN1Ym1vZHVsZXMgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCBhbmQgYmFzaWMgcGF0aHNwZWNzJyAnCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCXN1Ym1vZHVsZS9hOmZvb2JhcgorCXN1Ym1vZHVsZS9hOigxfDIpZCgzfDQpCiAJRU9GCiAKIAlnaXQgZ3JlcCAtZS4gLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS0gc3VibW9kdWxlID5hY3R1YWwgJiYKQEAgLTQ0LDcgKzYyLDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCBhbmQgbmVzdGVkIHN1Ym1vZHVsZXMnICcKIAlnaXQgaW5pdCBzdWJtb2R1bGUvc3ViICYmCi0JZWNobyAiZm9vYmFyIiA+c3VibW9kdWxlL3N1Yi9hICYmCisJZWNobyAiKDF8MilkKDN8NCkiID5zdWJtb2R1bGUvc3ViL2EgJiYKIAlnaXQgLUMgc3VibW9kdWxlL3N1YiBhZGQgYSAmJgogCWdpdCAtQyBzdWJtb2R1bGUvc3ViIGNvbW1pdCAtbSAiYWRkIGEiICYmCiAJZ2l0IC1DIHN1Ym1vZHVsZSBzdWJtb2R1bGUgYWRkIC4vc3ViICYmCkBAIC01NCwxMTcgKzcyLDExNyBAQAogCWdpdCBjb21taXQgLW0gInVwZGF0ZWQgc3VibW9kdWxlIiAmJgogCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCWE6Zm9vYmFyCi0JYi9iOmJhcgotCXN1Ym1vZHVsZS9hOmZvb2JhcgotCXN1Ym1vZHVsZS9zdWIvYTpmb29iYXIKKwlhOigxfDIpZCgzfDQpCisJYi9iOigzfDQpCisJc3VibW9kdWxlL2E6KDF8MilkKDN8NCkKKwlzdWJtb2R1bGUvc3ViL2E6KDF8MilkKDN8NCkKIAlFT0YKIAotCWdpdCBncmVwIC1lICJiYXIiIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKKwlnaXQgZ3JlcCAtZSAiKDN8NCkiIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgYW5kIG11bHRpcGxlIHBhdHRlcm5zJyAnCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCWE6Zm9vYmFyCi0Jc3VibW9kdWxlL2E6Zm9vYmFyCi0Jc3VibW9kdWxlL3N1Yi9hOmZvb2JhcgorCWE6KDF8MilkKDN8NCkKKwlzdWJtb2R1bGUvYTooMXwyKWQoM3w0KQorCXN1Ym1vZHVsZS9zdWIvYTooMXwyKWQoM3w0KQogCUVPRgogCi0JZ2l0IGdyZXAgLWUgImJhciIgLS1hbmQgLWUgImZvbyIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgPmFjdHVhbCAmJgorCWdpdCBncmVwIC1lICIoM3w0KSIgLS1hbmQgLWUgIigxfDIpIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIGFuZCBtdWx0aXBsZSBwYXR0ZXJucycgJwogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQliL2I6YmFyCisJYi9iOigzfDQpCiAJRU9GCiAKLQlnaXQgZ3JlcCAtZSAiYmFyIiAtLWFuZCAtLW5vdCAtZSAiZm9vIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyA+YWN0dWFsICYmCisJZ2l0IGdyZXAgLWUgIigzfDQpIiAtLWFuZCAtLW5vdCAtZSAiKDF8MikiIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jhc2ljIGdyZXAgdHJlZScgJwogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQlIRUFEOmE6Zm9vYmFyCi0JSEVBRDpiL2I6YmFyCi0JSEVBRDpzdWJtb2R1bGUvYTpmb29iYXIKLQlIRUFEOnN1Ym1vZHVsZS9zdWIvYTpmb29iYXIKKwlIRUFEOmE6KDF8MilkKDN8NCkKKwlIRUFEOmIvYjooM3w0KQorCUhFQUQ6c3VibW9kdWxlL2E6KDF8MilkKDN8NCkKKwlIRUFEOnN1Ym1vZHVsZS9zdWIvYTooMXwyKWQoM3w0KQogCUVPRgogCi0JZ2l0IGdyZXAgLWUgImJhciIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgSEVBRCA+YWN0dWFsICYmCisJZ2l0IGdyZXAgLWUgIigzfDQpIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyBIRUFEID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgdHJlZSBIRUFEXicgJwogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQlIRUFEXjphOmZvb2JhcgotCUhFQUReOmIvYjpiYXIKLQlIRUFEXjpzdWJtb2R1bGUvYTpmb29iYXIKKwlIRUFEXjphOigxfDIpZCgzfDQpCisJSEVBRF46Yi9iOigzfDQpCisJSEVBRF46c3VibW9kdWxlL2E6KDF8MilkKDN8NCkKIAlFT0YKIAotCWdpdCBncmVwIC1lICJiYXIiIC0tcmVjdXJzZS1zdWJtb2R1bGVzIEhFQUReID5hY3R1YWwgJiYKKwlnaXQgZ3JlcCAtZSAiKDN8NCkiIC0tcmVjdXJzZS1zdWJtb2R1bGVzIEhFQUReID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgdHJlZSBIRUFEXl4nICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JSEVBRF5eOmE6Zm9vYmFyCi0JSEVBRF5eOmIvYjpiYXIKKwlIRUFEXl46YTooMXwyKWQoM3w0KQorCUhFQUReXjpiL2I6KDN8NCkKIAlFT0YKIAotCWdpdCBncmVwIC1lICJiYXIiIC0tcmVjdXJzZS1zdWJtb2R1bGVzIEhFQUReXiA+YWN0dWFsICYmCisJZ2l0IGdyZXAgLWUgIigzfDQpIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyBIRUFEXl4gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCB0cmVlIGFuZCBwYXRoc3BlY3MnICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JSEVBRDpzdWJtb2R1bGUvYTpmb29iYXIKLQlIRUFEOnN1Ym1vZHVsZS9zdWIvYTpmb29iYXIKKwlIRUFEOnN1Ym1vZHVsZS9hOigxfDIpZCgzfDQpCisJSEVBRDpzdWJtb2R1bGUvc3ViL2E6KDF8MilkKDN8NCkKIAlFT0YKIAotCWdpdCBncmVwIC1lICJiYXIiIC0tcmVjdXJzZS1zdWJtb2R1bGVzIEhFQUQgLS0gc3VibW9kdWxlID5hY3R1YWwgJiYKKwlnaXQgZ3JlcCAtZSAiKDN8NCkiIC0tcmVjdXJzZS1zdWJtb2R1bGVzIEhFQUQgLS0gc3VibW9kdWxlID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgdHJlZSBhbmQgcGF0aHNwZWNzJyAnCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCUhFQUQ6c3VibW9kdWxlL2E6Zm9vYmFyCi0JSEVBRDpzdWJtb2R1bGUvc3ViL2E6Zm9vYmFyCisJSEVBRDpzdWJtb2R1bGUvYTooMXwyKWQoM3w0KQorCUhFQUQ6c3VibW9kdWxlL3N1Yi9hOigxfDIpZCgzfDQpCiAJRU9GCiAKLQlnaXQgZ3JlcCAtZSAiYmFyIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyBIRUFEIC0tICJzdWJtb2R1bGUqYSIgPmFjdHVhbCAmJgorCWdpdCBncmVwIC1lICIoM3w0KSIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgSEVBRCAtLSAic3VibW9kdWxlKmEiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgdHJlZSBhbmQgbW9yZSBwYXRoc3BlY3MnICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JSEVBRDpzdWJtb2R1bGUvYTpmb29iYXIKKwlIRUFEOnN1Ym1vZHVsZS9hOigxfDIpZCgzfDQpCiAJRU9GCiAKLQlnaXQgZ3JlcCAtZSAiYmFyIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyBIRUFEIC0tICJzdWJtb2R1bD8vYSIgPmFjdHVhbCAmJgorCWdpdCBncmVwIC1lICIoM3w0KSIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgSEVBRCAtLSAic3VibW9kdWw/L2EiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgdHJlZSBhbmQgbW9yZSBwYXRoc3BlY3MnICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JSEVBRDpzdWJtb2R1bGUvc3ViL2E6Zm9vYmFyCisJSEVBRDpzdWJtb2R1bGUvc3ViL2E6KDF8MilkKDN8NCkKIAlFT0YKIAotCWdpdCBncmVwIC1lICJiYXIiIC0tcmVjdXJzZS1zdWJtb2R1bGVzIEhFQUQgLS0gInN1Ym1vZHVsKi9zdWIvYSIgPmFjdHVhbCAmJgorCWdpdCBncmVwIC1lICIoM3w0KSIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgSEVBRCAtLSAic3VibW9kdWwqL3N1Yi9hIiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVyAnZ3JlcCByZWN1cnNlIHN1Ym1vZHVsZSBjb2xvbiBpbiBuYW1lJyAnCiAJZ2l0IGluaXQgcGFyZW50ICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgcGFyZW50IiAmJgotCWVjaG8gImZvb2JhciIgPiJwYXJlbnQvZmk6bGUiICYmCisJZWNobyAiKDF8MilkKDN8NCkiID4icGFyZW50L2ZpOmxlIiAmJgogCWdpdCAtQyBwYXJlbnQgYWRkICJmaTpsZSIgJiYKIAlnaXQgLUMgcGFyZW50IGNvbW1pdCAtbSAiYWRkIGZpOmxlIiAmJgogCiAJZ2l0IGluaXQgInN1OmIiICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3U6YiIgJiYKLQllY2hvICJmb29iYXIiID4ic3U6Yi9maTpsZSIgJiYKKwllY2hvICIoMXwyKWQoM3w0KSIgPiJzdTpiL2ZpOmxlIiAmJgogCWdpdCAtQyAic3U6YiIgYWRkICJmaTpsZSIgJiYKIAlnaXQgLUMgInN1OmIiIGNvbW1pdCAtbSAiYWRkIGZpOmxlIiAmJgogCkBAIC0xNzIsMzAgKzE5MCwzMCBAQAogCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJhZGQgc3VibW9kdWxlIiAmJgogCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCWZpOmxlOmZvb2JhcgotCXN1OmIvZmk6bGU6Zm9vYmFyCisJZmk6bGU6KDF8MilkKDN8NCkKKwlzdTpiL2ZpOmxlOigxfDIpZCgzfDQpCiAJRU9GCi0JZ2l0IC1DIHBhcmVudCBncmVwIC1lICJmb29iYXIiIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKKwlnaXQgLUMgcGFyZW50IGdyZXAgLWUgIigxfDIpZCgzfDQpIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCUhFQUQ6Zmk6bGU6Zm9vYmFyCi0JSEVBRDpzdTpiL2ZpOmxlOmZvb2JhcgorCUhFQUQ6Zmk6bGU6KDF8MilkKDN8NCkKKwlIRUFEOnN1OmIvZmk6bGU6KDF8MilkKDN8NCkKIAlFT0YKLQlnaXQgLUMgcGFyZW50IGdyZXAgLWUgImZvb2JhciIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgSEVBRCA+YWN0dWFsICYmCisJZ2l0IC1DIHBhcmVudCBncmVwIC1lICIoMXwyKWQoM3w0KSIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgSEVBRCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIGhpc3Rvcnkgd2l0aCBtb3ZlZCBzdWJtb3VsZXMnICcKIAlnaXQgaW5pdCBwYXJlbnQgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBwYXJlbnQiICYmCi0JZWNobyAiZm9vYmFyIiA+cGFyZW50L2ZpbGUgJiYKKwllY2hvICIoMXwyKWQoM3w0KSIgPnBhcmVudC9maWxlICYmCiAJZ2l0IC1DIHBhcmVudCBhZGQgZmlsZSAmJgogCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJhZGQgZmlsZSIgJiYKIAogCWdpdCBpbml0IHN1YiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHN1YiIgJiYKLQllY2hvICJmb29iYXIiID5zdWIvZmlsZSAmJgorCWVjaG8gIigxfDIpZCgzfDQpIiA+c3ViL2ZpbGUgJiYKIAlnaXQgLUMgc3ViIGFkZCBmaWxlICYmCiAJZ2l0IC1DIHN1YiBjb21taXQgLW0gImFkZCBmaWxlIiAmJgogCkBAIC0yMDMsMjcgKzIyMSwxMDIgQEAKIAlnaXQgLUMgcGFyZW50IGNvbW1pdCAtbSAiYWRkIHN1Ym1vZHVsZSIgJiYKIAogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQlkaXIvc3ViL2ZpbGU6Zm9vYmFyCi0JZmlsZTpmb29iYXIKKwlkaXIvc3ViL2ZpbGU6KDF8MilkKDN8NCkKKwlmaWxlOigxfDIpZCgzfDQpCiAJRU9GCi0JZ2l0IC1DIHBhcmVudCBncmVwIC1lICJmb29iYXIiIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKKwlnaXQgLUMgcGFyZW50IGdyZXAgLWUgIigxfDIpZCgzfDQpIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCiAJZ2l0IC1DIHBhcmVudCBtdiBkaXIvc3ViIHN1Yi1tb3ZlZCAmJgogCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJtb3ZlZCBzdWJtb2R1bGUiICYmCiAKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JZmlsZTpmb29iYXIKLQlzdWItbW92ZWQvZmlsZTpmb29iYXIKKwlmaWxlOigxfDIpZCgzfDQpCisJc3ViLW1vdmVkL2ZpbGU6KDF8MilkKDN8NCkKIAlFT0YKLQlnaXQgLUMgcGFyZW50IGdyZXAgLWUgImZvb2JhciIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgPmFjdHVhbCAmJgorCWdpdCAtQyBwYXJlbnQgZ3JlcCAtZSAiKDF8MilkKDN8NCkiIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JSEVBRF46ZGlyL3N1Yi9maWxlOmZvb2JhcgotCUhFQUReOmZpbGU6Zm9vYmFyCisJSEVBRF46ZGlyL3N1Yi9maWxlOigxfDIpZCgzfDQpCisJSEVBRF46ZmlsZTooMXwyKWQoM3w0KQogCUVPRgotCWdpdCAtQyBwYXJlbnQgZ3JlcCAtZSAiZm9vYmFyIiAtLXJlY3Vyc2Utc3VibW9kdWxlcyBIRUFEXiA+YWN0dWFsICYmCisJZ2l0IC1DIHBhcmVudCBncmVwIC1lICIoMXwyKWQoM3w0KSIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgSEVBRF4gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCB1c2luZyByZWxhdGl2ZSBwYXRoJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgcGFyZW50IHN1YiIgJiYKKwlnaXQgaW5pdCBzdWIgJiYKKwllY2hvICIoMXwyKWQoM3w0KSIgPnN1Yi9maWxlICYmCisJZ2l0IC1DIHN1YiBhZGQgZmlsZSAmJgorCWdpdCAtQyBzdWIgY29tbWl0IC1tICJhZGQgZmlsZSIgJiYKKworCWdpdCBpbml0IHBhcmVudCAmJgorCWVjaG8gIigxfDIpZCgzfDQpIiA+cGFyZW50L2ZpbGUgJiYKKwlnaXQgLUMgcGFyZW50IGFkZCBmaWxlICYmCisJbWtkaXIgcGFyZW50L3NyYyAmJgorCWVjaG8gIigxfDIpZCgzfDQpIiA+cGFyZW50L3NyYy9maWxlMiAmJgorCWdpdCAtQyBwYXJlbnQgYWRkIHNyYy9maWxlMiAmJgorCWdpdCAtQyBwYXJlbnQgc3VibW9kdWxlIGFkZCAuLi9zdWIgJiYKKwlnaXQgLUMgcGFyZW50IGNvbW1pdCAtbSAiYWRkIGZpbGVzIGFuZCBzdWJtb2R1bGUiICYmCisKKwkjIEZyb20gdG9wIHdvcmtzCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWZpbGU6KDF8MilkKDN8NCkKKwlzcmMvZmlsZTI6KDF8MilkKDN8NCkKKwlzdWIvZmlsZTooMXwyKWQoM3w0KQorCUVPRgorCWdpdCAtQyBwYXJlbnQgZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKDF8MilkKDN8NCkiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIFJlbGF0aXZlIHBhdGggdG8gdG9wCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS4uL2ZpbGU6KDF8MilkKDN8NCkKKwlmaWxlMjooMXwyKWQoM3w0KQorCS4uL3N1Yi9maWxlOigxfDIpZCgzfDQpCisJRU9GCisJZ2l0IC1DIHBhcmVudC9zcmMgZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKDF8MilkKDN8NCkiIC0tIC4uID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIFJlbGF0aXZlIHBhdGggdG8gc3VibW9kdWxlCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS4uL3N1Yi9maWxlOigxfDIpZCgzfDQpCisJRU9GCisJZ2l0IC1DIHBhcmVudC9zcmMgZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKDF8MilkKDN8NCkiIC0tIC4uL3N1YiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIGZyb20gYSBzdWJkaXInICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBwYXJlbnQgc3ViIiAmJgorCWdpdCBpbml0IHN1YiAmJgorCWVjaG8gIigxfDIpZCgzfDQpIiA+c3ViL2ZpbGUgJiYKKwlnaXQgLUMgc3ViIGFkZCBmaWxlICYmCisJZ2l0IC1DIHN1YiBjb21taXQgLW0gImFkZCBmaWxlIiAmJgorCisJZ2l0IGluaXQgcGFyZW50ICYmCisJbWtkaXIgcGFyZW50L3NyYyAmJgorCWVjaG8gIigxfDIpZCgzfDQpIiA+cGFyZW50L3NyYy9maWxlICYmCisJZ2l0IC1DIHBhcmVudCBhZGQgc3JjL2ZpbGUgJiYKKwlnaXQgLUMgcGFyZW50IHN1Ym1vZHVsZSBhZGQgLi4vc3ViIHNyYy9zdWIgJiYKKwlnaXQgLUMgcGFyZW50IHN1Ym1vZHVsZSBhZGQgLi4vc3ViIHN1YiAmJgorCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJhZGQgZmlsZXMgYW5kIHN1Ym1vZHVsZXMiICYmCisKKwkjIFZlcmlmeSBncmVwIGZyb20gcm9vdCB3b3JrcworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlzcmMvZmlsZTooMXwyKWQoM3w0KQorCXNyYy9zdWIvZmlsZTooMXwyKWQoM3w0KQorCXN1Yi9maWxlOigxfDIpZCgzfDQpCisJRU9GCisJZ2l0IC1DIHBhcmVudCBncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC1lICIoMXwyKWQoM3w0KSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCSMgVmVyaWZ5IGdyZXAgZnJvbSBhIHN1YmRpciB3b3JrcworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlmaWxlOigxfDIpZCgzfDQpCisJc3ViL2ZpbGU6KDF8MilkKDN8NCkKKwlFT0YKKwlnaXQgLUMgcGFyZW50L3NyYyBncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC1lICIoMXwyKWQoM3w0KSIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMjM4LDQgKzMzMSw1MyBAQAogdGVzdF9pbmNvbXBhdGlibGVfd2l0aF9yZWN1cnNlX3N1Ym1vZHVsZXMgLS11bnRyYWNrZWQKIHRlc3RfaW5jb21wYXRpYmxlX3dpdGhfcmVjdXJzZV9zdWJtb2R1bGVzIC0tbm8taW5kZXgKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyBzaG91bGQgcGFzcyB0aGUgcGF0dGVybiB0eXBlIGFsb25nJyAnCisJIyBGaXhlZAorCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC1GIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC1lICIoLnwuKVtcZF0iICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIGdyZXAucGF0dGVyblR5cGU9Zml4ZWQgZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKC58LilbXGRdIiAmJgorCisJIyBCYXNpYworCWdpdCBncmVwIC1HIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC1lICIoLnwuKVtcZF0iID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJYTooMXwyKWQoM3w0KQorCXN1Ym1vZHVsZS9hOigxfDIpZCgzfDQpCisJc3VibW9kdWxlL3N1Yi9hOigxfDIpZCgzfDQpCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCAtYyBncmVwLnBhdHRlcm5UeXBlPWJhc2ljIGdyZXAgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLWUgIigufC4pW1xkXSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCSMgRXh0ZW5kZWQKKwlnaXQgZ3JlcCAtRSAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKC58LilbXGRdIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS5naXRtb2R1bGVzOltzdWJtb2R1bGUgInN1Ym1vZHVsZSJdCisJLmdpdG1vZHVsZXM6CXBhdGggPSBzdWJtb2R1bGUKKwkuZ2l0bW9kdWxlczoJdXJsID0gLi9zdWJtb2R1bGUKKwlhOigxfDIpZCgzfDQpCisJc3VibW9kdWxlLy5naXRtb2R1bGVzOltzdWJtb2R1bGUgInN1YiJdCisJc3VibW9kdWxlL2E6KDF8MilkKDN8NCkKKwlzdWJtb2R1bGUvc3ViL2E6KDF8MilkKDN8NCkKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IC1jIGdyZXAucGF0dGVyblR5cGU9ZXh0ZW5kZWQgZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKC58LilbXGRdIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCAtYyBncmVwLmV4dGVuZGVkUmVnZXhwPXRydWUgZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKC58LilbXGRdIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJIyBQZXJsCisJaWYgdGVzdF9oYXZlX3ByZXJlcSBQQ1JFCisJdGhlbgorCQlnaXQgZ3JlcCAtUCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKC58LilbXGRdIiA+YWN0dWFsICYmCisJCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkJYTooMXwyKWQoM3w0KQorCQliL2I6KDN8NCkKKwkJc3VibW9kdWxlL2E6KDF8MilkKDN8NCkKKwkJc3VibW9kdWxlL3N1Yi9hOigxfDIpZCgzfDQpCisJCUVPRgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJCWdpdCAtYyBncmVwLnBhdHRlcm5UeXBlPXBlcmwgZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtZSAiKC58LilbXGRdIiA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwlmaQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDgwMDgtYmxhbWUtZm9ybWF0cy5zaCBiL3QvdDgwMDgtYmxhbWUtZm9ybWF0cy5zaAppbmRleCA5MmM4ZTc5Li5hZTRiNTc5IDEwMDc1NQotLS0gYS90L3Q4MDA4LWJsYW1lLWZvcm1hdHMuc2gKKysrIGIvdC90ODAwOC1ibGFtZS1mb3JtYXRzLnNoCkBAIC0xMiwyMiArMTIsMjUgQEAKIAllY2hvIGMgPj5maWxlICYmCiAJZWNobyBkID4+ZmlsZSAmJgogCXRlc3RfdGljayAmJgotCWdpdCBjb21taXQgLWEgLW0gdHdvCisJZ2l0IGNvbW1pdCAtYSAtbSB0d28gJiYKKwlJRDE9JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgorCXNob3J0SUQxPSJeJChnaXQgcmV2LXBhcnNlIEhFQUReIHxjdXQgLWMgMS0xNykiICYmCisJSUQyPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCXNob3J0SUQyPSIkKGdpdCByZXYtcGFyc2UgSEVBRCB8Y3V0IC1jIDEtMTgpIgogJwogCi1jYXQgPmV4cGVjdCA8PCdFT0YnCi1eYmFmNWUwYiAoQSBVIFRob3IgMjAwNS0wNC0wNyAxNToxMzoxMyAtMDcwMCAxKSBhCi04ODI1Mzc5ZCAoQSBVIFRob3IgMjAwNS0wNC0wNyAxNToxNDoxMyAtMDcwMCAyKSBiCi04ODI1Mzc5ZCAoQSBVIFRob3IgMjAwNS0wNC0wNyAxNToxNDoxMyAtMDcwMCAzKSBjCi04ODI1Mzc5ZCAoQSBVIFRob3IgMjAwNS0wNC0wNyAxNToxNDoxMyAtMDcwMCA0KSBkCitjYXQgPmV4cGVjdCA8PEVPRgorJHNob3J0SUQxIChBIFUgVGhvciAyMDA1LTA0LTA3IDE1OjEzOjEzIC0wNzAwIDEpIGEKKyRzaG9ydElEMiAoQSBVIFRob3IgMjAwNS0wNC0wNyAxNToxNDoxMyAtMDcwMCAyKSBiCiskc2hvcnRJRDIgKEEgVSBUaG9yIDIwMDUtMDQtMDcgMTU6MTQ6MTMgLTA3MDAgMykgYworJHNob3J0SUQyIChBIFUgVGhvciAyMDA1LTA0LTA3IDE1OjE0OjEzIC0wNzAwIDQpIGQKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9ybWFsIGJsYW1lIG91dHB1dCcgJwotCWdpdCBibGFtZSBmaWxlID5hY3R1YWwgJiYKKwlnaXQgYmxhbWUgLS1hYmJyZXY9MTcgZmlsZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1JRDE9YmFmNWUwYjM4NjllMGIyYjJiZWIzOTVhMzcyMGM3YjUxZWFjOTRmYwotQ09NTUlUMT0nYXV0aG9yIEEgVSBUaG9yCitDT01NSVQxPSJhdXRob3IgQSBVIFRob3IKIGF1dGhvci1tYWlsIDxhdXRob3JAZXhhbXBsZS5jb20+CiBhdXRob3ItdGltZSAxMTEyOTExOTkzCiBhdXRob3ItdHogLTA3MDAKQEAgLTM3LDkgKzQwLDggQEAKIGNvbW1pdHRlci10eiAtMDcwMAogc3VtbWFyeSBvbmUKIGJvdW5kYXJ5Ci1maWxlbmFtZSBmaWxlJwotSUQyPTg4MjUzNzlkZmI4YTEyNjdiNThlOGU1YmNmNjllZWM4MzhmNjg1ZWMKLUNPTU1JVDI9J2F1dGhvciBBIFUgVGhvcgorZmlsZW5hbWUgZmlsZSIKK0NPTU1JVDI9ImF1dGhvciBBIFUgVGhvcgogYXV0aG9yLW1haWwgPGF1dGhvckBleGFtcGxlLmNvbT4KIGF1dGhvci10aW1lIDExMTI5MTIwNTMKIGF1dGhvci10eiAtMDcwMApAQCAtNDgsOCArNTAsOCBAQAogY29tbWl0dGVyLXRpbWUgMTExMjkxMjA1MwogY29tbWl0dGVyLXR6IC0wNzAwCiBzdW1tYXJ5IHR3bwotcHJldmlvdXMgYmFmNWUwYjM4NjllMGIyYjJiZWIzOTVhMzcyMGM3YjUxZWFjOTRmYyBmaWxlCi1maWxlbmFtZSBmaWxlJworcHJldmlvdXMgJElEMSBmaWxlCitmaWxlbmFtZSBmaWxlIgogCiBjYXQgPmV4cGVjdCA8PEVPRgogJElEMSAxIDEgMQpkaWZmIC0tZ2l0IGEvdC90ODAxMC1jYXQtZmlsZS1maWx0ZXJzLnNoIGIvdC90ODAxMC1jYXQtZmlsZS1maWx0ZXJzLnNoCmluZGV4IGQ4MjQyZTQuLjBmODZjMTkgMTAwNzU1Ci0tLSBhL3QvdDgwMTAtY2F0LWZpbGUtZmlsdGVycy5zaAorKysgYi90L3Q4MDEwLWNhdC1maWxlLWZpbHRlcnMuc2gKQEAgLTUxLDYgKzUxLDExIEBACiAJZ3JlcCAicGF0aC4qbmVlZHMuKmZpbHRlcnMiIGVycgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXRleHRjb252Ly0tZmlsdGVycyBjb21wbGFpbiB3aXRob3V0IHBhdGgnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgLS10ZXh0Y29udiBIRUFEICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNhdC1maWxlIC0tZmlsdGVycyBIRUFECisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NhdC1maWxlIC0tdGV4dGNvbnYgLS1iYXRjaCB3b3JrcycgJwogCXNoYTE9JChnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5IEhFQUQ6d29ybGQudHh0KSAmJgogCXRlc3RfY29uZmlnIGRpZmYudHh0LnRleHRjb252ICJ0ciBBLVphLXogTi1aQS1Nbi16YS1tIDwiICYmCmRpZmYgLS1naXQgYS90L3Q5MDAxLXNlbmQtZW1haWwuc2ggYi90L3Q5MDAxLXNlbmQtZW1haWwuc2gKaW5kZXggNjBhODBmNi4uZjMwOTgwOCAxMDA3NTUKLS0tIGEvdC90OTAwMS1zZW5kLWVtYWlsLnNoCisrKyBiL3QvdDkwMDEtc2VuZC1lbWFpbC5zaApAQCAtMTQ4LDYgKzE0OCw4IEBACiAhdHdvQGV4YW1wbGUuY29tIQogIXRocmVlQGV4YW1wbGUuY29tIQogIWZvdXJAZXhhbXBsZS5jb20hCishZml2ZUBleGFtcGxlLmNvbSEKKyFzaXhAZXhhbXBsZS5jb20hCiBFT0YKICIKIApAQCAtMTYxLDYgKzE2Myw4IEBACiAJQ2M6IDx0d29AZXhhbXBsZS5jb20+ICMgdHJhaWxpbmcgY29tbWVudHMgYXJlIGlnbm9yZWQKIAlDYzogPHRocmVlQGV4YW1wbGUuY29tPiwgPG5vdC5mb3VyQGV4YW1wbGUuY29tPiBvbmUgYWRkcmVzcyBwZXIgbGluZQogCUNjOiAiU29tZSAjIEJvZHkiIDxmb3VyQGV4YW1wbGUuY29tPiBbIDxhbHNvLmEuY29tbWVudD4gXQorCUNjOiBmaXZlQGV4YW1wbGUuY29tICMgbm90LnNpeEBleGFtcGxlLmNvbQorCUNjOiBzaXhAZXhhbXBsZS5jb20sIG5vdC5zZXZlbkBleGFtcGxlLmNvbQogCUVPRgogCWNsZWFuX2Zha2Vfc2VuZG1haWwgJiYKIAlnaXQgc2VuZC1lbWFpbCAtMSAtLXRvPXJlY2lwaWVudEBleGFtcGxlLmNvbSBcCkBAIC0xOTEzLDQgKzE5MTcsNTIgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZC1saXN0IGFjdHVhbC1saXN0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJFBSRVJFUSAnaW52b2tlIGhvb2snICcKKwlta2RpciAtcCAuZ2l0L2hvb2tzICYmCisKKwl3cml0ZV9zY3JpcHQgLmdpdC9ob29rcy9zZW5kZW1haWwtdmFsaWRhdGUgPDwtXEVPRiAmJgorCSMgdGVzdCB0aGF0IHdlIGhhdmUgdGhlIGNvcnJlY3QgZW52aXJvbm1lbnQgdmFyaWFibGUsIHB3ZCwgYW5kCisJIyBhcmd1bWVudAorCWNhc2UgIiRHSVRfRElSIiBpbgorCSouZ2l0KQorCQl0cnVlCisJCTs7CisJKikKKwkJZmFsc2UKKwkJOzsKKwllc2FjICYmCisJdGVzdCAtZiAwMDAxLWFkZC1tYXN0ZXIucGF0Y2ggJiYKKwlncmVwICJhZGQgbWFzdGVyIiAiJDEiCisJRU9GCisKKwlta2RpciBzdWJkaXIgJiYKKwkoCisJCSMgVGVzdCB0aGF0IGl0IHdvcmtzIGV2ZW4gaWYgd2UgYXJlIG5vdCBhdCB0aGUgcm9vdCBvZiB0aGUKKwkJIyB3b3JraW5nIHRyZWUKKwkJY2Qgc3ViZGlyICYmCisJCWdpdCBzZW5kLWVtYWlsIFwKKwkJCS0tZnJvbT0iRXhhbXBsZSA8bm9ib2R5QGV4YW1wbGUuY29tPiIgXAorCQkJLS10bz1ub2JvZHlAZXhhbXBsZS5jb20gXAorCQkJLS1zbXRwLXNlcnZlcj0iJChwd2QpLy4uL2Zha2Uuc2VuZG1haWwiIFwKKwkJCS4uLzAwMDEtYWRkLW1hc3Rlci5wYXRjaCAmJgorCisJCSMgVmVyaWZ5IGVycm9yIG1lc3NhZ2Ugd2hlbiBhIHBhdGNoIGlzIHJlamVjdGVkIGJ5IHRoZSBob29rCisJCXNlZCAtZSAicy9hZGQgbWFzdGVyL3gvIiAuLi8wMDAxLWFkZC1tYXN0ZXIucGF0Y2ggPi4uL2Fub3RoZXIucGF0Y2ggJiYKKwkJZ2l0IHNlbmQtZW1haWwgXAorCQkJLS1mcm9tPSJFeGFtcGxlIDxub2JvZHlAZXhhbXBsZS5jb20+IiBcCisJCQktLXRvPW5vYm9keUBleGFtcGxlLmNvbSBcCisJCQktLXNtdHAtc2VydmVyPSIkKHB3ZCkvLi4vZmFrZS5zZW5kbWFpbCIgXAorCQkJLi4vYW5vdGhlci5wYXRjaCAyPmVycgorCQl0ZXN0X2kxOG5ncmVwICJyZWplY3RlZCBieSBzZW5kZW1haWwtdmFsaWRhdGUgaG9vayIgZXJyCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICRQUkVSRVEgJ3Rlc3QgdGhhdCBzZW5kLWVtYWlsIHdvcmtzIG91dHNpZGUgYSByZXBvJyAnCisJbm9uZ2l0IGdpdCBzZW5kLWVtYWlsIFwKKwkJLS1mcm9tPSJFeGFtcGxlIDxub2JvZHlAZXhhbXBsZS5jb20+IiBcCisJCS0tdG89bm9ib2R5QGV4YW1wbGUuY29tIFwKKwkJLS1zbXRwLXNlcnZlcj0iJChwd2QpL2Zha2Uuc2VuZG1haWwiIFwKKwkJIiQocHdkKS8wMDAxLWFkZC1tYXN0ZXIucGF0Y2giCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTAxMC1zdm4tZmUuc2ggYi90L3Q5MDEwLXN2bi1mZS5zaAppbmRleCA2ZGFmZTdlLi44ZWFhY2E2IDEwMDc1NQotLS0gYS90L3Q5MDEwLXN2bi1mZS5zaAorKysgYi90L3Q5MDEwLXN2bi1mZS5zaApAQCAtNCwxMiArNCwxMyBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAoraWYgdGVzdF9oYXZlX3ByZXJlcSAhUElQRQordGhlbgorCXNraXBfYWxsPSJzdm4gZHVtcGZpbGUgaW1wb3J0ZXIgdGVzdGluZyByZXF1aXJlcyB0aGUgUElQRSBwcmVyZXF1aXNpdGUiCisJdGVzdF9kb25lCitmaQorCiByZWluaXRfZ2l0ICgpIHsKLQlpZiAhIHRlc3RfZGVjbGFyZWRfcHJlcmVxIFBJUEUKLQl0aGVuCi0JCWVjaG8gPiY0ICJyZWluaXRfZ2l0OiBuZWVkIHRvIGRlY2xhcmUgUElQRSBwcmVyZXF1aXNpdGUiCi0JCXJldHVybiAxMjcKLQlmaQogCXJtIC1mciAuZ2l0ICYmCiAJcm0gLWYgc3RyZWFtIGJhY2tmbG93ICYmCiAJZ2l0IGluaXQgJiYKQEAgLTU0LDE5ICs1NSwxOSBAQAogCiA+ZW1wdHkKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFICdlbXB0eSBkdW1wJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbXB0eSBkdW1wJyAnCiAJcmVpbml0X2dpdCAmJgogCWVjaG8gIlNWTi1mcy1kdW1wLWZvcm1hdC12ZXJzaW9uOiAyIiA+aW5wdXQgJiYKIAl0cnlfZHVtcCBpbnB1dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUgJ3Y0IGR1bXBzIG5vdCBzdXBwb3J0ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Y0IGR1bXBzIG5vdCBzdXBwb3J0ZWQnICcKIAlyZWluaXRfZ2l0ICYmCiAJZWNobyAiU1ZOLWZzLWR1bXAtZm9ybWF0LXZlcnNpb246IDQiID52NC5kdW1wICYmCiAJdHJ5X2R1bXAgdjQuZHVtcCBtdXN0X2ZhaWwKICcKIAotdGVzdF9leHBlY3RfZmFpbHVyZSBQSVBFICdlbXB0eSByZXZpc2lvbicgJwordGVzdF9leHBlY3RfZmFpbHVyZSAnZW1wdHkgcmV2aXNpb24nICcKIAlyZWluaXRfZ2l0ICYmCiAJcHJpbnRmICJyZXYgPG5vYm9keSwgbm9ib2R5QGxvY2FsPjogJXNcbiIgIiIgIiIgPmV4cGVjdCAmJgogCWNhdCA+ZW1wdHlyZXYuZHVtcCA8PC1cRU9GICYmCkBAIC04Niw3ICs4Nyw3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUgJ2VtcHR5IHByb3BlcnRpZXMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VtcHR5IHByb3BlcnRpZXMnICcKIAlyZWluaXRfZ2l0ICYmCiAJcHJpbnRmICJyZXYgPG5vYm9keSwgbm9ib2R5QGxvY2FsPjogJXNcbiIgIiIgIiIgPmV4cGVjdCAmJgogCWNhdCA+ZW1wdHlwcm9wLmR1bXAgPDwtXEVPRiAmJgpAQCAtMTA5LDcgKzExMCw3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUgJ2F1dGhvciBuYW1lIGFuZCBjb21taXQgbWVzc2FnZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXV0aG9yIG5hbWUgYW5kIGNvbW1pdCBtZXNzYWdlJyAnCiAJcmVpbml0X2dpdCAmJgogCWVjaG8gIjxhdXRob3JAZXhhbXBsZS5jb20sIGF1dGhvckBleGFtcGxlLmNvbUBsb2NhbD4iID5leHBlY3QuYXV0aG9yICYmCiAJY2F0ID5tZXNzYWdlIDw8LVxFT0YgJiYKQEAgLTE0Myw3ICsxNDQsNyBAQAogCXRlc3RfY21wIGV4cGVjdC5hdXRob3IgYWN0dWFsLmF1dGhvcgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUgJ3Vuc3VwcG9ydGVkIHByb3BlcnRpZXMgYXJlIGlnbm9yZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Vuc3VwcG9ydGVkIHByb3BlcnRpZXMgYXJlIGlnbm9yZWQnICcKIAlyZWluaXRfZ2l0ICYmCiAJZWNobyBhdXRob3IgPmV4cGVjdCAmJgogCWNhdCA+ZXh0cmFwcm9wLmR1bXAgPDwtXEVPRiAmJgpAQCAtMTY4LDcgKzE2OSw3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9mYWlsdXJlIFBJUEUgJ3RpbWVzdGFtcCBhbmQgZW1wdHkgZmlsZScgJwordGVzdF9leHBlY3RfZmFpbHVyZSAndGltZXN0YW1wIGFuZCBlbXB0eSBmaWxlJyAnCiAJZWNobyBhdXRob3JAZXhhbXBsZS5jb20gPmV4cGVjdC5hdXRob3IgJiYKIAllY2hvIDE5OTktMDEtMDEgPmV4cGVjdC5kYXRlICYmCiAJZWNobyBmaWxlID5leHBlY3QuZmlsZXMgJiYKQEAgLTIxMCw3ICsyMTEsNyBAQAogCXRlc3RfY21wIGVtcHR5IGZpbGUKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFICdkaXJlY3Rvcnkgd2l0aCBmaWxlcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlyZWN0b3J5IHdpdGggZmlsZXMnICcKIAlyZWluaXRfZ2l0ICYmCiAJcHJpbnRmICIlc1xuIiBkaXJlY3RvcnkvZmlsZTEgZGlyZWN0b3J5L2ZpbGUyID5leHBlY3QuZmlsZXMgJiYKIAllY2hvIGhpID5oaSAmJgpAQCAtMjYzLDcgKzI2NCw3IEBACiAJdGVzdF9jbXAgaGkgZGlyZWN0b3J5L2ZpbGUyCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUElQRSAnYnJhbmNoIG5hbWUgd2l0aCBiYWNrc2xhc2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYW5jaCBuYW1lIHdpdGggYmFja3NsYXNoJyAnCiAJcmVpbml0X2dpdCAmJgogCXNvcnQgPDwtXEVPRiA+ZXhwZWN0LmJyYW5jaC1maWxlcyAmJgogCXRydW5rL2ZpbGUxCkBAIC0zNjIsNyArMzYzLDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QuYnJhbmNoLWZpbGVzIGFjdHVhbC5icmFuY2gtZmlsZXMKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFICdub2RlIHdpdGhvdXQgYWN0aW9uJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdub2RlIHdpdGhvdXQgYWN0aW9uJyAnCiAJcmVpbml0X2dpdCAmJgogCWNhdCA+aW5hY3Rpb24uZHVtcCA8PC1cRU9GICYmCiAJU1ZOLWZzLWR1bXAtZm9ybWF0LXZlcnNpb246IDMKQEAgLTM4Myw3ICszODQsNyBAQAogCXRyeV9kdW1wIGluYWN0aW9uLmR1bXAgbXVzdF9mYWlsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUElQRSAnYWN0aW9uOiBhZGQgbm9kZSB3aXRob3V0IHRleHQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FjdGlvbjogYWRkIG5vZGUgd2l0aG91dCB0ZXh0JyAnCiAJcmVpbml0X2dpdCAmJgogCWNhdCA+dGV4dGxlc3MuZHVtcCA8PC1cRU9GICYmCiAJU1ZOLWZzLWR1bXAtZm9ybWF0LXZlcnNpb246IDMKQEAgLTQwNSw3ICs0MDYsNyBAQAogCXRyeV9kdW1wIHRleHRsZXNzLmR1bXAgbXVzdF9mYWlsCiAnCiAKLXRlc3RfZXhwZWN0X2ZhaWx1cmUgUElQRSAnY2hhbmdlIGZpbGUgbW9kZSBidXQga2VlcCBvbGQgY29udGVudCcgJwordGVzdF9leHBlY3RfZmFpbHVyZSAnY2hhbmdlIGZpbGUgbW9kZSBidXQga2VlcCBvbGQgY29udGVudCcgJwogCXJlaW5pdF9naXQgJiYKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCiAJT0JKSUQKQEAgLTQ4MSw3ICs0ODIsNyBAQAogCXRlc3RfY21wIGhlbGxvIGFjdHVhbC50YXJnZXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFICdOVUwgaW4gcHJvcGVydHkgdmFsdWUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ05VTCBpbiBwcm9wZXJ0eSB2YWx1ZScgJwogCXJlaW5pdF9naXQgJiYKIAllY2hvICJjb21taXQgbWVzc2FnZSIgPmV4cGVjdC5tZXNzYWdlICYmCiAJewpAQCAtNTA3LDcgKzUwOCw3IEBACiAJdGVzdF9jbXAgZXhwZWN0Lm1lc3NhZ2UgYWN0dWFsLm1lc3NhZ2UKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFICdOVUwgaW4gbG9nIG1lc3NhZ2UsIGZpbGUgY29udGVudCwgYW5kIHByb3BlcnR5IG5hbWUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ05VTCBpbiBsb2cgbWVzc2FnZSwgZmlsZSBjb250ZW50LCBhbmQgcHJvcGVydHkgbmFtZScgJwogCSMgQ2F2ZWF0OiBzdm5hZG1pbiAxLjYuMTYgKHIxMDczNTI5KSB0cnVuY2F0ZXMgYXQgXDAgaW4gdGhlCiAJIyBzdm46c3BlY2lhbFFub3RyZWFsbHkgZXhhbXBsZS4KIAlyZWluaXRfZ2l0ICYmCkBAIC01ODcsNyArNTg4LDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QuaGVsbG8yIGFjdHVhbC5oZWxsbzIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFICdjaGFuZ2UgZmlsZSBtb2RlIGFuZCByZWl0ZXJhdGUgY29udGVudCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hhbmdlIGZpbGUgbW9kZSBhbmQgcmVpdGVyYXRlIGNvbnRlbnQnICcKIAlyZWluaXRfZ2l0ICYmCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCU9CSklECkBAIC02NjcsNyArNjY4LDcgQEAKIAl0ZXN0X2NtcCBoZWxsbyBhY3R1YWwudGFyZ2V0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUElQRSAnZGVsdGFzIHN1cHBvcnRlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVsdGFzIHN1cHBvcnRlZCcgJwogCXJlaW5pdF9naXQgJiYKIAl7CiAJCSMgKG9sZCkgaCArIChpbmxpbmUpIGVsbG8gKyAob2xkKSBcbgpAQCAtNzMxLDcgKzczMiw3IEBACiAJdHJ5X2R1bXAgZGVsdGEuZHVtcAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUgJ3Byb3BlcnR5IGRlbHRhcyBzdXBwb3J0ZWQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Byb3BlcnR5IGRlbHRhcyBzdXBwb3J0ZWQnICcKIAlyZWluaXRfZ2l0ICYmCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCU9CSklECkBAIC03OTYsNyArNzk3LDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUElQRSAncHJvcGVydGllcyBvbiAvJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9wZXJ0aWVzIG9uIC8nICcKIAlyZWluaXRfZ2l0ICYmCiAJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgogCU9CSklECkBAIC04NTAsNyArODUxLDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUElQRSAnZGVsdGFzIGZvciB0eXBlY2hhbmdlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWx0YXMgZm9yIHR5cGVjaGFuZ2UnICcKIAlyZWluaXRfZ2l0ICYmCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCU9CSklECkBAIC05MzUsNyArOTM2LDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUElQRSAnZGVsdGFzIG5lZWQgbm90IGNvbnN1bWUgdGhlIHdob2xlIHByZWltYWdlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWx0YXMgbmVlZCBub3QgY29uc3VtZSB0aGUgd2hvbGUgcHJlaW1hZ2UnICcKIAlyZWluaXRfZ2l0ICYmCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCU9CSklECkBAIC0xMDQwLDcgKzEwNDEsNyBAQAogCXRlc3RfY21wIGV4cGVjdC4zIGFjdHVhbC4zCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgUElQRSAnbm8gaGFuZyBmb3IgZGVsdGEgdHJ5aW5nIHRvIHJlYWQgcGFzdCBlbmQgb2YgcHJlaW1hZ2UnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIGhhbmcgZm9yIGRlbHRhIHRyeWluZyB0byByZWFkIHBhc3QgZW5kIG9mIHByZWltYWdlJyAnCiAJcmVpbml0X2dpdCAmJgogCXsKIAkJIyBDT1BZIDEKQEAgLTEwODcsNyArMTA4OCw3IEBACiAJZmkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBTVk5SRVBPLFBJUEUgJ3Q5MTM1L3N2bi5kdW1wJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNWTlJFUE8gJ3Q5MTM1L3N2bi5kdW1wJyAnCiAJbWtkaXIgLXAgc2ltcGxlLWdpdCAmJgogCSgKIAkJY2Qgc2ltcGxlLWdpdCAmJgpkaWZmIC0tZ2l0IGEvdC90OTMwMC1mYXN0LWltcG9ydC5zaCBiL3QvdDkzMDAtZmFzdC1pbXBvcnQuc2gKaW5kZXggMmUwYmEzZS4uZDQ3NTYwYiAxMDA3NTUKLS0tIGEvdC90OTMwMC1mYXN0LWltcG9ydC5zaAorKysgYi90L3Q5MzAwLWZhc3QtaW1wb3J0LnNoCkBAIC0yODIyLDcgKzI4MjIsNyBAQAogIwogIyBub3RlbW9kaWZ5LCB0aHJlZSB3YXlzIHRvIHNheSBkYXRhcmVmCiAjCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdTOiBub3RlbW9kaWZ5IHdpdGggZ2FyYWJnZSBhZnRlciBtYXJrIGRhdGFyZWYgbXVzdCBmYWlsJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdTOiBub3RlbW9kaWZ5IHdpdGggZ2FyYmFnZSBhZnRlciBtYXJrIGRhdGFyZWYgbXVzdCBmYWlsJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZhc3QtaW1wb3J0IC0taW1wb3J0LW1hcmtzPW1hcmtzIDw8LUVPRiAyPmVyciAmJgogCWNvbW1pdCByZWZzL2hlYWRzL1MKIAljb21taXR0ZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+ICRHSVRfQ09NTUlUVEVSX0RBVEUKQEAgLTMxMjAsNCArMzEyMCwxNDYgQEAKIAljb21wYXJlX2RpZmZfcmF3IGV4cGVjdCBhY3R1YWwKICcKIAorIyMjCisjIyMgc2VyaWVzIFYgKGNoZWNrcG9pbnQpCisjIyMKKworIyBUaGUgY29tbWFuZHMgaW4gaW5wdXRfZmlsZSBzaG91bGQgbm90IHByb2R1Y2UgYW55IG91dHB1dCBvbiB0aGUgZmlsZQorIyBkZXNjcmlwdG9yIHNldCB3aXRoIC0tY2F0LWJsb2ItZmQgKG9yIHN0ZG91dCBpZiB1bnNwZWNpZmllZCkuCisjCisjIFRvIG1ha2Ugc3VyZSB5b3UncmUgb2JzZXJ2aW5nIHRoZSBzaWRlIGVmZmVjdHMgb2YgY2hlY2twb2ludCAqYmVmb3JlKgorIyBmYXN0LWltcG9ydCB0ZXJtaW5hdGVzIChhbmQgdGh1cyB3cml0ZXMgb3V0IGl0cyBzdGF0ZSksIGNoZWNrIHRoYXQgdGhlCisjIGZhc3QtaW1wb3J0IHByb2Nlc3MgaXMgc3RpbGwgcnVubmluZyB1c2luZyBiYWNrZ3JvdW5kX2ltcG9ydF9zdGlsbF9ydW5uaW5nCisjICphZnRlciogZXZhbHVhdGluZyB0aGUgdGVzdCBjb25kaXRpb25zLgorYmFja2dyb3VuZF9pbXBvcnRfdGhlbl9jaGVja3BvaW50ICgpIHsKKwlvcHRpb25zPSQxCisJaW5wdXRfZmlsZT0kMgorCisJbWtmaWZvIFYuaW5wdXQKKwlleGVjIDg8PlYuaW5wdXQKKwlybSBWLmlucHV0CisKKwlta2ZpZm8gVi5vdXRwdXQKKwlleGVjIDk8PlYub3V0cHV0CisJcm0gVi5vdXRwdXQKKworCWdpdCBmYXN0LWltcG9ydCAkb3B0aW9ucyA8JjggPiY5ICYKKwllY2hvICQhID5WLnBpZAorCSMgV2UgZG9uJ3QgbWluZCBpZiBmYXN0LWltcG9ydCBoYXMgYWxyZWFkeSBkaWVkIGJ5IHRoZSB0aW1lIHRoZSB0ZXN0CisJIyBlbmRzLgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZXhlYyA4PiYtOyBleGVjIDk+Ji07IGtpbGwgJChjYXQgVi5waWQpIHx8IHRydWUiCisKKwkjIFN0YXJ0IGluIHRoZSBiYWNrZ3JvdW5kIHRvIGVuc3VyZSB3ZSBhZGhlcmUgc3RyaWN0bHkgdG8gKGJsb2NraW5nKQorCSMgcGlwZXMgd3JpdGluZyBzZXF1ZW5jZS4gV2Ugd2FudCB0byBhc3N1bWUgdGhhdCB0aGUgd3JpdGUgYmVsb3cgY291bGQKKwkjIGJsb2NrLCBlLmcuIGlmIGZhc3QtaW1wb3J0IGJsb2NrcyB3cml0aW5nIGl0cyBvd24gb3V0cHV0IHRvICY5CisJIyBiZWNhdXNlIHRoZXJlIGlzIG5vIHJlYWRlciBvbiAmOSB5ZXQuCisJKAorCQljYXQgIiRpbnB1dF9maWxlIgorCQllY2hvICJjaGVja3BvaW50IgorCQllY2hvICJwcm9ncmVzcyBjaGVja3BvaW50IgorCSkgPiY4ICYKKworCWVycm9yPTEgOyMgYXNzdW1lIHRoZSB3b3JzdAorCXdoaWxlIHJlYWQgb3V0cHV0IDwmOQorCWRvCisJCWlmIHRlc3QgIiRvdXRwdXQiID0gInByb2dyZXNzIGNoZWNrcG9pbnQiCisJCXRoZW4KKwkJCWVycm9yPTAKKwkJCWJyZWFrCisJCWZpCisJCSMgb3RoZXJ3aXNlIGlnbm9yZSBjcnVmdAorCQllY2hvID4mMiAiY3J1ZnQ6ICRvdXRwdXQiCisJZG9uZQorCisJaWYgdGVzdCAkZXJyb3IgLWVxIDEKKwl0aGVuCisJCWZhbHNlCisJZmkKK30KKworYmFja2dyb3VuZF9pbXBvcnRfc3RpbGxfcnVubmluZyAoKSB7CisJaWYgISBraWxsIC0wICIkKGNhdCBWLnBpZCkiCisJdGhlbgorCQllY2hvID4mMiAiYmFja2dyb3VuZCBmYXN0LWltcG9ydCB0ZXJtaW5hdGVkIHRvbyBlYXJseSIKKwkJZmFsc2UKKwlmaQorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUgJ1Y6IGNoZWNrcG9pbnQgaGVscGVyIGRvZXMgbm90IGdldCBzdHVjayB3aXRoIGV4dHJhIG91dHB1dCcgJworCWNhdCA+aW5wdXQgPDwtSU5QVVRfRU5EICYmCisJcHJvZ3Jlc3MgZm9vCisJcHJvZ3Jlc3MgYmFyCisKKwlJTlBVVF9FTkQKKworCWJhY2tncm91bmRfaW1wb3J0X3RoZW5fY2hlY2twb2ludCAiIiBpbnB1dCAmJgorCWJhY2tncm91bmRfaW1wb3J0X3N0aWxsX3J1bm5pbmcKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFICdWOiBjaGVja3BvaW50IHVwZGF0ZXMgcmVmcyBhZnRlciByZXNldCcgJworCWNhdCA+aW5wdXQgPDwtXElOUFVUX0VORCAmJgorCXJlc2V0IHJlZnMvaGVhZHMvVgorCWZyb20gcmVmcy9oZWFkcy9VCisKKwlJTlBVVF9FTkQKKworCWJhY2tncm91bmRfaW1wb3J0X3RoZW5fY2hlY2twb2ludCAiIiBpbnB1dCAmJgorCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBWKSIgPSAiJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IFUpIiAmJgorCWJhY2tncm91bmRfaW1wb3J0X3N0aWxsX3J1bm5pbmcKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFICdWOiBjaGVja3BvaW50IHVwZGF0ZXMgcmVmcyBhbmQgbWFya3MgYWZ0ZXIgY29tbWl0JyAnCisJY2F0ID5pbnB1dCA8PC1JTlBVVF9FTkQgJiYKKwljb21taXQgcmVmcy9oZWFkcy9WCisJbWFyayA6MQorCWNvbW1pdHRlciAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gJEdJVF9DT01NSVRURVJfREFURQorCWRhdGEgMAorCWZyb20gcmVmcy9oZWFkcy9VCisKKwlJTlBVVF9FTkQKKworCWJhY2tncm91bmRfaW1wb3J0X3RoZW5fY2hlY2twb2ludCAiLS1leHBvcnQtbWFya3M9bWFya3MuYWN0dWFsIiBpbnB1dCAmJgorCisJZWNobyAiOjEgJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IFYpIiA+bWFya3MuZXhwZWN0ZWQgJiYKKworCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBWXikiID0gIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBVKSIgJiYKKwl0ZXN0X2NtcCBtYXJrcy5leHBlY3RlZCBtYXJrcy5hY3R1YWwgJiYKKwliYWNrZ3JvdW5kX2ltcG9ydF9zdGlsbF9ydW5uaW5nCisnCisKKyMgUmUtY3JlYXRlIHRoZSBleGFjdCBzYW1lIGNvbW1pdCwgYnV0IG9uIGEgZGlmZmVyZW50IGJyYW5jaDogbm8gbmV3IG9iamVjdCBpcworIyBjcmVhdGVkIGluIHRoZSBkYXRhYmFzZSwgYnV0IHRoZSByZWZzIGFuZCBtYXJrcyBzdGlsbCBuZWVkIHRvIGJlIHVwZGF0ZWQuCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUgJ1Y6IGNoZWNrcG9pbnQgdXBkYXRlcyByZWZzIGFuZCBtYXJrcyBhZnRlciBjb21taXQgKG5vIG5ldyBvYmplY3RzKScgJworCWNhdCA+aW5wdXQgPDwtSU5QVVRfRU5EICYmCisJY29tbWl0IHJlZnMvaGVhZHMvVjIKKwltYXJrIDoyCisJY29tbWl0dGVyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFCisJZGF0YSAwCisJZnJvbSByZWZzL2hlYWRzL1UKKworCUlOUFVUX0VORAorCisJYmFja2dyb3VuZF9pbXBvcnRfdGhlbl9jaGVja3BvaW50ICItLWV4cG9ydC1tYXJrcz1tYXJrcy5hY3R1YWwiIGlucHV0ICYmCisKKwllY2hvICI6MiAkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgVjIpIiA+bWFya3MuZXhwZWN0ZWQgJiYKKworCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBWMikiID0gIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBWKSIgJiYKKwl0ZXN0X2NtcCBtYXJrcy5leHBlY3RlZCBtYXJrcy5hY3R1YWwgJiYKKwliYWNrZ3JvdW5kX2ltcG9ydF9zdGlsbF9ydW5uaW5nCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUElQRSAnVjogY2hlY2twb2ludCB1cGRhdGVzIHRhZ3MgYWZ0ZXIgdGFnJyAnCisJY2F0ID5pbnB1dCA8PC1JTlBVVF9FTkQgJiYKKwl0YWcgVnRhZworCWZyb20gcmVmcy9oZWFkcy9WCisJdGFnZ2VyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFCisJZGF0YSAwCisKKwlJTlBVVF9FTkQKKworCWJhY2tncm91bmRfaW1wb3J0X3RoZW5fY2hlY2twb2ludCAiIiBpbnB1dCAmJgorCWdpdCBzaG93LXJlZiAtZCBWdGFnICYmCisJYmFja2dyb3VuZF9pbXBvcnRfc3RpbGxfcnVubmluZworJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDkzNTAtZmFzdC1leHBvcnQuc2ggYi90L3Q5MzUwLWZhc3QtZXhwb3J0LnNoCmluZGV4IGI1MTQ5ZmQuLjg2NmRkZjYgMTAwNzU1Ci0tLSBhL3QvdDkzNTAtZmFzdC1leHBvcnQuc2gKKysrIGIvdC90OTM1MC1mYXN0LWV4cG9ydC5zaApAQCAtNzAsNyArNzAsNyBAQAogCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIElTTzg4NTktMSAmJgogCSMgdXNlIGF1dGhvciBhbmQgY29tbWl0dGVyIG5hbWUgaW4gSVNPLTg4NTktMSB0byBtYXRjaCBpdC4KLQkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLTg4NTktMS50eHQgJiYKKwkuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLzg4NTktMS50eHQgJiYKIAl0ZXN0X3RpY2sgJiYKIAllY2hvIHJvc3RlbiA+ZmlsZSAmJgogCWdpdCBjb21taXQgLXMgLW0gZGVuIGZpbGUgJiYKQEAgLTIzNCw3ICsyMzQsNyBAQAogCW1rZGlyIG5ldyAmJgogCWdpdCAtLWdpdC1kaXI9bmV3Ly5naXQgaW5pdCAmJgogCWdpdCBmYXN0LWV4cG9ydCAtQyAtQyAtLXNpZ25lZC10YWdzPXN0cmlwIC0tYWxsID4gb3V0cHV0ICYmCi0JZ3JlcCAiXkMgZmlsZTYgZmlsZTdcJCIgb3V0cHV0ICYmCisJZ3JlcCAiXkMgZmlsZTIgZmlsZTRcJCIgb3V0cHV0ICYmCiAJY2F0IG91dHB1dCB8CiAJKGNkIG5ldyAmJgogCSBnaXQgZmFzdC1pbXBvcnQgJiYKQEAgLTUyMiw0ICs1MjIsMjIgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2hlbiB1c2luZyAtQywgZG8gbm90IGRlY2xhcmUgY29weSB3aGVuIHNvdXJjZSBvZiBjb3B5IGlzIGFsc28gbW9kaWZpZWQnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIHNyYyAmJgorCWVjaG8gYV9saW5lID5zcmMvZmlsZS50eHQgJiYKKwlnaXQgLUMgc3JjIGFkZCBmaWxlLnR4dCAmJgorCWdpdCAtQyBzcmMgY29tbWl0IC1tIDFzdF9jb21taXQgJiYKKworCWNwIHNyYy9maWxlLnR4dCBzcmMvZmlsZTIudHh0ICYmCisJZWNobyBhbm90aGVyX2xpbmUgPj5zcmMvZmlsZS50eHQgJiYKKwlnaXQgLUMgc3JjIGFkZCBmaWxlLnR4dCBmaWxlMi50eHQgJiYKKwlnaXQgLUMgc3JjIGNvbW1pdCAtbSAybmRfY29tbWl0ICYmCisKKwl0ZXN0X2NyZWF0ZV9yZXBvIGRzdCAmJgorCWdpdCAtQyBzcmMgZmFzdC1leHBvcnQgLS1hbGwgLUMgfCBnaXQgLUMgZHN0IGZhc3QtaW1wb3J0ICYmCisJZ2l0IC1DIHNyYyBzaG93ID5leHBlY3RlZCAmJgorCWdpdCAtQyBkc3Qgc2hvdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTUwMC1naXR3ZWItc3RhbmRhbG9uZS1uby1lcnJvcnMuc2ggYi90L3Q5NTAwLWdpdHdlYi1zdGFuZGFsb25lLW5vLWVycm9ycy5zaAppbmRleCA2ZDA2ZWQ5Li5jYzhkNDYzIDEwMDc1NQotLS0gYS90L3Q5NTAwLWdpdHdlYi1zdGFuZGFsb25lLW5vLWVycm9ycy5zaAorKysgYi90L3Q5NTAwLWdpdHdlYi1zdGFuZGFsb25lLW5vLWVycm9ycy5zaApAQCAtNTE5LDcgKzUxOSw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogCSdlbmNvZGUoY29tbWl0KTogdXRmOCcgXAotCScuICIkVEVTVF9ESVJFQ1RPUlkiL3QzOTAxLXV0ZjgudHh0ICYmCisJJy4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvdXRmOC50eHQgJiYKIAkgdGVzdF93aGVuX2ZpbmlzaGVkICJHSVRfQVVUSE9SX05BTUU9XCJBIFUgVGhvclwiIiAmJgogCSB0ZXN0X3doZW5fZmluaXNoZWQgIkdJVF9DT01NSVRURVJfTkFNRT1cIkMgTyBNaXR0ZXJcIiIgJiYKIAkgZWNobyAiVVRGLTgiID4+IGZpbGUgJiYKQEAgLTUyOSw3ICs1MjksNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKIAknZW5jb2RlKGNvbW1pdCk6IGlzby04ODU5LTEnIFwKLQknLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS04ODU5LTEudHh0ICYmCisJJy4gIiRURVNUX0RJUkVDVE9SWSIvdDM5MDEvODg1OS0xLnR4dCAmJgogCSB0ZXN0X3doZW5fZmluaXNoZWQgIkdJVF9BVVRIT1JfTkFNRT1cIkEgVSBUaG9yXCIiICYmCiAJIHRlc3Rfd2hlbl9maW5pc2hlZCAiR0lUX0NPTU1JVFRFUl9OQU1FPVwiQyBPIE1pdHRlclwiIiAmJgogCSBlY2hvICJJU08tODg1OS0xIiA+PiBmaWxlICYmCmRpZmYgLS1naXQgYS90L3Q5NzAwL3Rlc3QucGwgYi90L3Q5NzAwL3Rlc3QucGwKaW5kZXggMWI3NWM5MS4uMzRjZDAxMyAxMDA3NTUKLS0tIGEvdC90OTcwMC90ZXN0LnBsCisrKyBiL3QvdDk3MDAvdGVzdC5wbApAQCAtMTMzLDYgKzEzMywxMyBAQAogdW5saW5rICR0bXBmaWxlMzsKIGNoZGlyKCRhYnNfcmVwb19kaXIpOwogCisjIHVucXVvdGluZyBwYXRocworaXMoR2l0Ojp1bnF1b3RlX3BhdGgoJ2FiYycpLCAnYWJjJywgJ3VucXVvdGUgdW5xdW90ZWQgcGF0aCcpOworaXMoR2l0Ojp1bnF1b3RlX3BhdGgoJyJhYmMgZGVmIicpLCAnYWJjIGRlZicsICd1bnF1b3RlIHNpbXBsZSBxdW90ZWQgcGF0aCcpOworaXMoR2l0Ojp1bnF1b3RlX3BhdGgoJyJhYmNcIlxcXFwgXGFcYlx0XG5cdlxmXHJcMDAxXDA0MCInKSwKKwkJICAgICAiYWJjXCJcXCBceDA3XHgwOFx4MDlceDBhXHgwYlx4MGNceDBkXHgwMSAiLAorCQkgICAgICd1bnF1b3RlIGVzY2FwZSBzZXF1ZW5jZXMnKTsKKwogcHJpbnRmICIxLi4lZFxuIiwgVGVzdDo6TW9yZS0+YnVpbGRlci0+Y3VycmVudF90ZXN0OwogCiBteSAkaXNfcGFzc2luZyA9IGV2YWwgeyBUZXN0OjpNb3JlLT5pc19wYXNzaW5nIH07CmRpZmYgLS1naXQgYS90L3Q5ODA3LWdpdC1wNC1zdWJtaXQuc2ggYi90L3Q5ODA3LWdpdC1wNC1zdWJtaXQuc2gKaW5kZXggZTM3MjM5ZS4uMzQ1N2Q1ZCAxMDA3NTUKLS0tIGEvdC90OTgwNy1naXQtcDQtc3VibWl0LnNoCisrKyBiL3QvdDk4MDctZ2l0LXA0LXN1Ym1pdC5zaApAQCAtMTM5LDYgKzEzOSwyMiBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWxsb3cgc3VibWl0IGZyb20gYnJhbmNoIHdpdGggc2FtZSByZXZpc2lvbiBidXQgZGlmZmVyZW50IG5hbWUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKKwlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90ICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJdGVzdF9jb21taXQgImZpbGU4IiAmJgorCQlnaXQgY2hlY2tvdXQgLWIgYnJhbmNoMSAmJgorCQlnaXQgY2hlY2tvdXQgLWIgYnJhbmNoMiAmJgorCQlnaXQgY29uZmlnIGdpdC1wNC5za2lwU3VibWl0RWRpdCB0cnVlICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LmFsbG93U3VibWl0ICJicmFuY2gxIiAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcDQgc3VibWl0ICYmCisJCWdpdCBjaGVja291dCBicmFuY2gxICYmCisJCWdpdCBwNCBzdWJtaXQKKwkpCisnCisKICMKICMgQmFzaWMgc3VibWl0IHRlc3RzLCB0aGUgZml2ZSBoYW5kbGVkIGNhc2VzCiAjCmRpZmYgLS1naXQgYS90L3Q5ODMxLWdpdC1wNC10cmlnZ2Vycy5zaCBiL3QvdDk4MzEtZ2l0LXA0LXRyaWdnZXJzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJiY2YxNGMKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q5ODMxLWdpdC1wNC10cmlnZ2Vycy5zaApAQCAtMCwwICsxLDEwMyBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J2dpdCBwNCB3aXRoIHNlcnZlciB0cmlnZ2VycycKKworLiAuL2xpYi1naXQtcDQuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhcnQgcDRkJyAnCisJc3RhcnRfcDRkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luaXQgZGVwb3QnICcKKwkoCisJCWNkICIkY2xpIiAmJgorCQllY2hvIGZpbGUxID5maWxlMSAmJgorCQlwNCBhZGQgZmlsZTEgJiYKKwkJcDQgc3VibWl0IC1kICJjaGFuZ2UgMSIKKwkJZWNobyBmaWxlMiA+ZmlsZTIgJiYKKwkJcDQgYWRkIGZpbGUyICYmCisJCXA0IHN1Ym1pdCAtZCAiY2hhbmdlIDIiCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSB3aXRoIGV4dHJhIGluZm8gbGluZXMgZnJvbSB2ZXJib3NlIHA0IHRyaWdnZXInICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKKwkoCisJCXA0IHRyaWdnZXJzIC1pIDw8LUVPRgorCQlUcmlnZ2VyczogcDR0cmlnZ2VydGVzdC1jb21tYW5kIGNvbW1hbmQgcHJlLXVzZXItY2hhbmdlICJlY2hvIHZlcmJvc2UgdHJpZ2dlciIKKwkJRU9GCisJKSAmJgorCSgKKwkJcDQgY2hhbmdlIC1vIHwgIGdyZXAgLXMgInZlcmJvc2UgdHJpZ2dlciIKKwkpICYmCisJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdC9AYWxsICYmCisJKAorCQlwNCB0cmlnZ2VycyAtaSA8PC1FT0YKKwkJVHJpZ2dlcnM6CisJCUVPRgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW1wb3J0IHdpdGggZXh0cmEgaW5mbyBsaW5lcyBmcm9tIHZlcmJvc2UgcDQgdHJpZ2dlcicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgorCSgKKwkJY2QgIiRjbGkiICYmCisJCWVjaG8gZmlsZTMgPmZpbGUzICYmCisJCXA0IGFkZCBmaWxlMyAmJgorCQlwNCBzdWJtaXQgLWQgImNoYW5nZSAzIgorCSkgJiYKKwkoCisJCXA0IHRyaWdnZXJzIC1pIDw8LUVPRgorCQlUcmlnZ2VyczogcDR0cmlnZ2VydGVzdC1jb21tYW5kIGNvbW1hbmQgcHJlLXVzZXItZGVzY3JpYmUgImVjaG8gdmVyYm9zZSB0cmlnZ2VyIgorCQlFT0YKKwkpICYmCisJKAorCQlwNCBkZXNjcmliZSAxIHwgIGdyZXAgLXMgInZlcmJvc2UgdHJpZ2dlciIKKwkpICYmCisJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdC9AYWxsICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJZ2l0IHA0IHN5bmMKKwkpJiYKKwkoCisJCXA0IHRyaWdnZXJzIC1pIDw8LUVPRgorCQlUcmlnZ2VyczoKKwkJRU9GCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtaXQgZGVzY3JpcHRpb24gd2l0aCBleHRyYSBpbmZvIGxpbmVzIGZyb20gdmVyYm9zZSBwNCBjaGFuZ2UgdHJpZ2dlcicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgorCSgKKwkJcDQgdHJpZ2dlcnMgLWkgPDwtRU9GCisJCVRyaWdnZXJzOiBwNHRyaWdnZXJ0ZXN0LWNvbW1hbmQgY29tbWFuZCBwcmUtdXNlci1jaGFuZ2UgImVjaG8gdmVyYm9zZSB0cmlnZ2VyIgorCQlFT0YKKwkpICYmCisJKAorCQlwNCBjaGFuZ2UgLW8gfCAgZ3JlcCAtcyAidmVyYm9zZSB0cmlnZ2VyIgorCSkgJiYKKwlnaXQgcDQgY2xvbmUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90ICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJZ2l0IGNvbmZpZyBnaXQtcDQuc2tpcFN1Ym1pdEVkaXQgdHJ1ZSAmJgorCQllY2hvIGZpbGU0ID5maWxlNCAmJgorCQlnaXQgYWRkIGZpbGU0ICYmCisJCWdpdCBjb21taXQgLW0gZmlsZTQgJiYKKwkJZ2l0IHA0IHN1Ym1pdAorCSkgJiYKKwkoCisJCXA0IHRyaWdnZXJzIC1pIDw8LUVPRgorCQlUcmlnZ2VyczoKKwkJRU9GCisJKSAmJgorCSgKKwkJY2QgIiRjbGkiICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGZpbGU0CisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJworCWtpbGxfcDRkCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTkwMi1jb21wbGV0aW9uLnNoIGIvdC90OTkwMi1jb21wbGV0aW9uLnNoCmluZGV4IGEzNGU1NWYuLjJjYjk5OWUgMTAwNzU1Ci0tLSBhL3QvdDk5MDItY29tcGxldGlvbi5zaAorKysgYi90L3Q5OTAyLWNvbXBsZXRpb24uc2gKQEAgLTk4LDcgKzk4LDcgQEAKIHsKIAlsb2NhbCAtYSBDT01QUkVQTFkgJiYKIAlzZWQgLWUgJ3MvWiQvLycgPmV4cGVjdGVkICYmCi0JY3VyPSIkMSIgJiYKKwlsb2NhbCBjdXI9IiQxIiAmJgogCXNoaWZ0ICYmCiAJX19naXRjb21wICIkQCIgJiYKIAlwcmludF9jb21wICYmCkBAIC0xMTMsNyArMTEzLDcgQEAKIHsKIAlsb2NhbCAtYSBDT01QUkVQTFkgJiYKIAlzZWQgLWUgJ3MvWiQvLycgPmV4cGVjdGVkICYmCi0JY3VyPSIkMSIgJiYKKwlsb2NhbCBjdXI9IiQxIiAmJgogCXNoaWZ0ICYmCiAJX19naXRjb21wX25sICIkQCIgJiYKIAlwcmludF9jb21wICYmCkBAIC0xMjQsMTQwICsxMjQsMjk2IEBACiAKIGFjdHVhbD0iJFRSQVNIX0RJUkVDVE9SWS9hY3R1YWwiCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZvciBfX2dpdGRpciB0ZXN0cycgJworaWYgdGVzdF9oYXZlX3ByZXJlcSBNSU5HVwordGhlbgorCVJPT1Q9IiQocHdkIC1XKSIKK2Vsc2UKKwlST09UPSIkKHB3ZCkiCitmaQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBmb3IgX19naXRfZmluZF9yZXBvX3BhdGgvX19naXRkaXIgdGVzdHMnICcKIAlta2RpciAtcCBzdWJkaXIvc3Vic3ViZGlyICYmCisJbWtkaXIgLXAgbm9uLXJlcG8gJiYKIAlnaXQgaW5pdCBvdGhlcnJlcG8KICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRkaXIgLSBmcm9tIGNvbW1hbmQgbGluZSAodGhyb3VnaCAkX19naXRfZGlyKScgJwotCWVjaG8gIiRUUkFTSF9ESVJFQ1RPUlkvb3RoZXJyZXBvLy5naXQiID5leHBlY3RlZCAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfZmluZF9yZXBvX3BhdGggLSBmcm9tIGNvbW1hbmQgbGluZSAodGhyb3VnaCAkX19naXRfZGlyKScgJworCWVjaG8gIiRST09UL290aGVycmVwby8uZ2l0IiA+ZXhwZWN0ZWQgJiYKIAkoCi0JCV9fZ2l0X2Rpcj0iJFRSQVNIX0RJUkVDVE9SWS9vdGhlcnJlcG8vLmdpdCIgJiYKLQkJX19naXRkaXIgPiIkYWN0dWFsIgorCQlfX2dpdF9kaXI9IiRST09UL290aGVycmVwby8uZ2l0IiAmJgorCQlfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQllY2hvICIkX19naXRfcmVwb19wYXRoIiA+IiRhY3R1YWwiCiAJKSAmJgogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGRpciAtIHJlcG8gYXMgYXJndW1lbnQnICcKLQllY2hvICJvdGhlcnJlcG8vLmdpdCIgPmV4cGVjdGVkICYmCi0JX19naXRkaXIgIm90aGVycmVwbyIgPiIkYWN0dWFsIiAmJgotCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGRpciAtIHJlbW90ZSBhcyBhcmd1bWVudCcgJwotCWVjaG8gInJlbW90ZSIgPmV4cGVjdGVkICYmCi0JX19naXRkaXIgInJlbW90ZSIgPiIkYWN0dWFsIiAmJgotCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGRpciAtIC5naXQgZGlyZWN0b3J5IGluIGN3ZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfZmluZF9yZXBvX3BhdGggLSAuZ2l0IGRpcmVjdG9yeSBpbiBjd2QnICcKIAllY2hvICIuZ2l0IiA+ZXhwZWN0ZWQgJiYKLQlfX2dpdGRpciA+IiRhY3R1YWwiICYmCisJKAorCQlfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQllY2hvICIkX19naXRfcmVwb19wYXRoIiA+IiRhY3R1YWwiCisJKSAmJgogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGRpciAtIC5naXQgZGlyZWN0b3J5IGluIHBhcmVudCcgJwotCWVjaG8gIiQocHdkIC1QKS8uZ2l0IiA+ZXhwZWN0ZWQgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2ZpbmRfcmVwb19wYXRoIC0gLmdpdCBkaXJlY3RvcnkgaW4gcGFyZW50JyAnCisJZWNobyAiJFJPT1QvLmdpdCIgPmV4cGVjdGVkICYmCiAJKAogCQljZCBzdWJkaXIvc3Vic3ViZGlyICYmCi0JCV9fZ2l0ZGlyID4iJGFjdHVhbCIKKwkJX19naXRfZmluZF9yZXBvX3BhdGggJiYKKwkJZWNobyAiJF9fZ2l0X3JlcG9fcGF0aCIgPiIkYWN0dWFsIgogCSkgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRkaXIgLSBjd2QgaXMgYSAuZ2l0IGRpcmVjdG9yeScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfZmluZF9yZXBvX3BhdGggLSBjd2QgaXMgYSAuZ2l0IGRpcmVjdG9yeScgJwogCWVjaG8gIi4iID5leHBlY3RlZCAmJgogCSgKIAkJY2QgLmdpdCAmJgotCQlfX2dpdGRpciA+IiRhY3R1YWwiCisJCV9fZ2l0X2ZpbmRfcmVwb19wYXRoICYmCisJCWVjaG8gIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKIAkpICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0ZGlyIC0gcGFyZW50IGlzIGEgLmdpdCBkaXJlY3RvcnknICcKLQllY2hvICIkKHB3ZCAtUCkvLmdpdCIgPmV4cGVjdGVkICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX3JlcG9fcGF0aCAtIHBhcmVudCBpcyBhIC5naXQgZGlyZWN0b3J5JyAnCisJZWNobyAiJFJPT1QvLmdpdCIgPmV4cGVjdGVkICYmCiAJKAogCQljZCAuZ2l0L3JlZnMvaGVhZHMgJiYKLQkJX19naXRkaXIgPiIkYWN0dWFsIgorCQlfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQllY2hvICIkX19naXRfcmVwb19wYXRoIiA+IiRhY3R1YWwiCiAJKSAmJgogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGRpciAtICRHSVRfRElSIHNldCB3aGlsZSAuZ2l0IGRpcmVjdG9yeSBpbiBjd2QnICcKLQllY2hvICIkVFJBU0hfRElSRUNUT1JZL290aGVycmVwby8uZ2l0IiA+ZXhwZWN0ZWQgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2ZpbmRfcmVwb19wYXRoIC0gJEdJVF9ESVIgc2V0IHdoaWxlIC5naXQgZGlyZWN0b3J5IGluIGN3ZCcgJworCWVjaG8gIiRST09UL290aGVycmVwby8uZ2l0IiA+ZXhwZWN0ZWQgJiYKIAkoCi0JCUdJVF9ESVI9IiRUUkFTSF9ESVJFQ1RPUlkvb3RoZXJyZXBvLy5naXQiICYmCisJCUdJVF9ESVI9IiRST09UL290aGVycmVwby8uZ2l0IiAmJgogCQlleHBvcnQgR0lUX0RJUiAmJgotCQlfX2dpdGRpciA+IiRhY3R1YWwiCisJCV9fZ2l0X2ZpbmRfcmVwb19wYXRoICYmCisJCWVjaG8gIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKIAkpICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0ZGlyIC0gJEdJVF9ESVIgc2V0IHdoaWxlIC5naXQgZGlyZWN0b3J5IGluIHBhcmVudCcgJwotCWVjaG8gIiRUUkFTSF9ESVJFQ1RPUlkvb3RoZXJyZXBvLy5naXQiID5leHBlY3RlZCAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfZmluZF9yZXBvX3BhdGggLSAkR0lUX0RJUiBzZXQgd2hpbGUgLmdpdCBkaXJlY3RvcnkgaW4gcGFyZW50JyAnCisJZWNobyAiJFJPT1Qvb3RoZXJyZXBvLy5naXQiID5leHBlY3RlZCAmJgogCSgKLQkJR0lUX0RJUj0iJFRSQVNIX0RJUkVDVE9SWS9vdGhlcnJlcG8vLmdpdCIgJiYKKwkJR0lUX0RJUj0iJFJPT1Qvb3RoZXJyZXBvLy5naXQiICYmCiAJCWV4cG9ydCBHSVRfRElSICYmCiAJCWNkIHN1YmRpciAmJgotCQlfX2dpdGRpciA+IiRhY3R1YWwiCisJCV9fZ2l0X2ZpbmRfcmVwb19wYXRoICYmCisJCWVjaG8gIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKIAkpICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0ZGlyIC0gbm9uLWV4aXN0aW5nICRHSVRfRElSJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX3JlcG9fcGF0aCAtIGZyb20gY29tbWFuZCBsaW5lIHdoaWxlICJnaXQgLUMiJyAnCisJZWNobyAiJFJPT1QvLmdpdCIgPmV4cGVjdGVkICYmCiAJKAotCQlHSVRfRElSPSIkVFJBU0hfRElSRUNUT1JZL25vbi1leGlzdGluZyIgJiYKLQkJZXhwb3J0IEdJVF9ESVIgJiYKLQkJdGVzdF9tdXN0X2ZhaWwgX19naXRkaXIKLQkpCisJCV9fZ2l0X2Rpcj0iJFJPT1QvLmdpdCIgJiYKKwkJX19naXRfQ19hcmdzPSgtQyBvdGhlcnJlcG8pICYmCisJCV9fZ2l0X2ZpbmRfcmVwb19wYXRoICYmCisJCWVjaG8gIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCiAnCiAKLWZ1bmN0aW9uIHB3ZF9QX1cgKCkgewotCWlmIHRlc3RfaGF2ZV9wcmVyZXEgTUlOR1cKLQl0aGVuCi0JCXB3ZCAtVwotCWVsc2UKLQkJcHdkIC1QCi0JZmkKLX0KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2ZpbmRfcmVwb19wYXRoIC0gcmVsYXRpdmUgZGlyIGZyb20gY29tbWFuZCBsaW5lIGFuZCAiZ2l0IC1DIicgJworCWVjaG8gIiRST09UL290aGVycmVwby8uZ2l0IiA+ZXhwZWN0ZWQgJiYKKwkoCisJCWNkIHN1YmRpciAmJgorCQlfX2dpdF9kaXI9Im90aGVycmVwby8uZ2l0IiAmJgorCQlfX2dpdF9DX2FyZ3M9KC1DIC4uKSAmJgorCQlfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQllY2hvICIkX19naXRfcmVwb19wYXRoIiA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgorJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGRpciAtIGdpdGZpbGUgaW4gY3dkJyAnCi0JZWNobyAiJChwd2RfUF9XKS9vdGhlcnJlcG8vLmdpdCIgPmV4cGVjdGVkICYmCi0JZWNobyAiZ2l0ZGlyOiAkKHB3ZF9QX1cpL290aGVycmVwby8uZ2l0IiA+c3ViZGlyLy5naXQgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2ZpbmRfcmVwb19wYXRoIC0gJEdJVF9ESVIgc2V0IHdoaWxlICJnaXQgLUMiJyAnCisJZWNobyAiJFJPT1QvLmdpdCIgPmV4cGVjdGVkICYmCisJKAorCQlHSVRfRElSPSIkUk9PVC8uZ2l0IiAmJgorCQlleHBvcnQgR0lUX0RJUiAmJgorCQlfX2dpdF9DX2FyZ3M9KC1DIG90aGVycmVwbykgJiYKKwkJX19naXRfZmluZF9yZXBvX3BhdGggJiYKKwkJZWNobyAiJF9fZ2l0X3JlcG9fcGF0aCIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfZmluZF9yZXBvX3BhdGggLSByZWxhdGl2ZSBkaXIgaW4gJEdJVF9ESVIgYW5kICJnaXQgLUMiJyAnCisJZWNobyAiJFJPT1Qvb3RoZXJyZXBvLy5naXQiID5leHBlY3RlZCAmJgorCSgKKwkJY2Qgc3ViZGlyICYmCisJCUdJVF9ESVI9Im90aGVycmVwby8uZ2l0IiAmJgorCQlleHBvcnQgR0lUX0RJUiAmJgorCQlfX2dpdF9DX2FyZ3M9KC1DIC4uKSAmJgorCQlfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQllY2hvICIkX19naXRfcmVwb19wYXRoIiA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX3JlcG9fcGF0aCAtICJnaXQgLUMiIHdoaWxlIC5naXQgZGlyZWN0b3J5IGluIGN3ZCcgJworCWVjaG8gIiRST09UL290aGVycmVwby8uZ2l0IiA+ZXhwZWN0ZWQgJiYKKwkoCisJCV9fZ2l0X0NfYXJncz0oLUMgb3RoZXJyZXBvKSAmJgorCQlfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQllY2hvICIkX19naXRfcmVwb19wYXRoIiA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX3JlcG9fcGF0aCAtICJnaXQgLUMiIHdoaWxlIGN3ZCBpcyBhIC5naXQgZGlyZWN0b3J5JyAnCisJZWNobyAiJFJPT1Qvb3RoZXJyZXBvLy5naXQiID5leHBlY3RlZCAmJgorCSgKKwkJY2QgLmdpdCAmJgorCQlfX2dpdF9DX2FyZ3M9KC1DIC4uIC1DIG90aGVycmVwbykgJiYKKwkJX19naXRfZmluZF9yZXBvX3BhdGggJiYKKwkJZWNobyAiJF9fZ2l0X3JlcG9fcGF0aCIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfZmluZF9yZXBvX3BhdGggLSAiZ2l0IC1DIiB3aGlsZSAuZ2l0IGRpcmVjdG9yeSBpbiBwYXJlbnQnICcKKwllY2hvICIkUk9PVC9vdGhlcnJlcG8vLmdpdCIgPmV4cGVjdGVkICYmCisJKAorCQljZCBzdWJkaXIgJiYKKwkJX19naXRfQ19hcmdzPSgtQyAuLiAtQyBvdGhlcnJlcG8pICYmCisJCV9fZ2l0X2ZpbmRfcmVwb19wYXRoICYmCisJCWVjaG8gIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2ZpbmRfcmVwb19wYXRoIC0gbm9uLWV4aXN0aW5nIHBhdGggaW4gImdpdCAtQyInICcKKwkoCisJCV9fZ2l0X0NfYXJncz0oLUMgbm9uLWV4aXN0aW5nKSAmJgorCQl0ZXN0X211c3RfZmFpbCBfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQlwcmludGYgIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5ICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX3JlcG9fcGF0aCAtIG5vbi1leGlzdGluZyBwYXRoIGluICRfX2dpdF9kaXInICcKKwkoCisJCV9fZ2l0X2Rpcj0ibm9uLWV4aXN0aW5nIiAmJgorCQl0ZXN0X211c3RfZmFpbCBfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQlwcmludGYgIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5ICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX3JlcG9fcGF0aCAtIG5vbi1leGlzdGluZyAkR0lUX0RJUicgJworCSgKKwkJR0lUX0RJUj0iJFJPT1Qvbm9uLWV4aXN0aW5nIiAmJgorCQlleHBvcnQgR0lUX0RJUiAmJgorCQl0ZXN0X211c3RfZmFpbCBfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQlwcmludGYgIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5ICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX3JlcG9fcGF0aCAtIGdpdGZpbGUgaW4gY3dkJyAnCisJZWNobyAiJFJPT1Qvb3RoZXJyZXBvLy5naXQiID5leHBlY3RlZCAmJgorCWVjaG8gImdpdGRpcjogJFJPT1Qvb3RoZXJyZXBvLy5naXQiID5zdWJkaXIvLmdpdCAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgc3ViZGlyLy5naXQiICYmCiAJKAogCQljZCBzdWJkaXIgJiYKLQkJX19naXRkaXIgPiIkYWN0dWFsIgorCQlfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQllY2hvICIkX19naXRfcmVwb19wYXRoIiA+IiRhY3R1YWwiCiAJKSAmJgogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGRpciAtIGdpdGZpbGUgaW4gcGFyZW50JyAnCi0JZWNobyAiJChwd2RfUF9XKS9vdGhlcnJlcG8vLmdpdCIgPmV4cGVjdGVkICYmCi0JZWNobyAiZ2l0ZGlyOiAkKHB3ZF9QX1cpL290aGVycmVwby8uZ2l0IiA+c3ViZGlyLy5naXQgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2ZpbmRfcmVwb19wYXRoIC0gZ2l0ZmlsZSBpbiBwYXJlbnQnICcKKwllY2hvICIkUk9PVC9vdGhlcnJlcG8vLmdpdCIgPmV4cGVjdGVkICYmCisJZWNobyAiZ2l0ZGlyOiAkUk9PVC9vdGhlcnJlcG8vLmdpdCIgPnN1YmRpci8uZ2l0ICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBzdWJkaXIvLmdpdCIgJiYKIAkoCiAJCWNkIHN1YmRpci9zdWJzdWJkaXIgJiYKLQkJX19naXRkaXIgPiIkYWN0dWFsIgorCQlfX2dpdF9maW5kX3JlcG9fcGF0aCAmJgorCQllY2hvICIkX19naXRfcmVwb19wYXRoIiA+IiRhY3R1YWwiCiAJKSAmJgogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdfX2dpdGRpciAtIHJlc3VsdGluZyBwYXRoIGF2b2lkcyBzeW1saW5rcycgJwotCWVjaG8gIiQocHdkIC1QKS9vdGhlcnJlcG8vLmdpdCIgPmV4cGVjdGVkICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdfX2dpdF9maW5kX3JlcG9fcGF0aCAtIHJlc3VsdGluZyBwYXRoIGF2b2lkcyBzeW1saW5rcycgJworCWVjaG8gIiRST09UL290aGVycmVwby8uZ2l0IiA+ZXhwZWN0ZWQgJiYKIAlta2RpciBvdGhlcnJlcG8vZGlyICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgb3RoZXJyZXBvL2RpciIgJiYKIAlsbiAtcyBvdGhlcnJlcG8vZGlyIGxpbmsgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIGxpbmsiICYmCiAJKAogCQljZCBsaW5rICYmCisJCV9fZ2l0X2ZpbmRfcmVwb19wYXRoICYmCisJCWVjaG8gIiRfX2dpdF9yZXBvX3BhdGgiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2ZpbmRfcmVwb19wYXRoIC0gbm90IGEgZ2l0IHJlcG9zaXRvcnknICcKKwkoCisJCWNkIG5vbi1yZXBvICYmCisJCUdJVF9DRUlMSU5HX0RJUkVDVE9SSUVTPSIkUk9PVCIgJiYKKwkJZXhwb3J0IEdJVF9DRUlMSU5HX0RJUkVDVE9SSUVTICYmCisJCXRlc3RfbXVzdF9mYWlsIF9fZ2l0X2ZpbmRfcmVwb19wYXRoICYmCisJCXByaW50ZiAiJF9fZ2l0X3JlcG9fcGF0aCIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0ZGlyIC0gZmluZHMgcmVwbycgJworCWVjaG8gIiRST09ULy5naXQiID5leHBlY3RlZCAmJgorCSgKKwkJY2Qgc3ViZGlyL3N1YnN1YmRpciAmJgogCQlfX2dpdGRpciA+IiRhY3R1YWwiCiAJKSAmJgogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGRpciAtIG5vdCBhIGdpdCByZXBvc2l0b3J5JyAnCi0Jbm9uZ2l0IHRlc3RfbXVzdF9mYWlsIF9fZ2l0ZGlyCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0ZGlyIC0gcmV0dXJucyBlcnJvciB3aGVuIGNhbnQgZmluZCByZXBvJyAnCisJKAorCQlfX2dpdF9kaXI9Im5vbi1leGlzdGluZyIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgX19naXRkaXIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0ZGlyIC0gcmVwbyBhcyBhcmd1bWVudCcgJworCWVjaG8gIm90aGVycmVwby8uZ2l0IiA+ZXhwZWN0ZWQgJiYKKwkoCisJCV9fZ2l0ZGlyICJvdGhlcnJlcG8iID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0ZGlyIC0gcmVtb3RlIGFzIGFyZ3VtZW50JyAnCisJZWNobyAicmVtb3RlIiA+ZXhwZWN0ZWQgJiYKKwkoCisJCV9fZ2l0ZGlyICJyZW1vdGUiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0Y29tcF9kaXJlY3QgLSBwdXRzIGV2ZXJ5dGhpbmcgaW50byBDT01QUkVQTFkgYXMtaXMnICcKKwlzZWQgLWUgInMvWiQvL2ciID5leHBlY3RlZCA8PC1FT0YgJiYKKwl3aXRoLXRyYWlsaW5nLXNwYWNlIFoKKwl3aXRob3V0LXRyYWlsaW5nLXNwYWNlWgorCS0tb3B0aW9uIFoKKwktLW9wdGlvbj1aCisJJGludmFsaWRfdmFyaWFibGVfbmFtZSBaCisJRU9GCisJKAorCQljdXI9c2hvdWxkX2JlX2lnbm9yZWQgJiYKKwkJX19naXRjb21wX2RpcmVjdCAiJChjYXQgZXhwZWN0ZWQpIiAmJgorCQlwcmludF9jb21wCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdGNvbXAgLSB0cmFpbGluZyBzcGFjZSAtIG9wdGlvbnMnICcKQEAgLTM2MSwxMCArNTE3LDY1NyBAQAogCWdpdCByZW1vdGUgYWRkIHJlbW90ZV9pbl9jb25maWdfMSBnaXQ6Ly9yZW1vdGVfMSAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlbW90ZSByZW1vdmUgcmVtb3RlX2luX2NvbmZpZ18yIiAmJgogCWdpdCByZW1vdGUgYWRkIHJlbW90ZV9pbl9jb25maWdfMiBnaXQ6Ly9yZW1vdGVfMiAmJgotCV9fZ2l0X3JlbW90ZXMgPmFjdHVhbCAmJgorCSgKKwkJX19naXRfcmVtb3RlcyA+YWN0dWFsCisJKSAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfaXNfY29uZmlndXJlZF9yZW1vdGUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZW1vdGUgcmVtb3ZlIHJlbW90ZV8xIiAmJgorCWdpdCByZW1vdGUgYWRkIHJlbW90ZV8xIGdpdDovL3JlbW90ZV8xICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVtb3RlIHJlbW92ZSByZW1vdGVfMiIgJiYKKwlnaXQgcmVtb3RlIGFkZCByZW1vdGVfMiBnaXQ6Ly9yZW1vdGVfMiAmJgorCSgKKwkJdmVyYm9zZSBfX2dpdF9pc19jb25maWd1cmVkX3JlbW90ZSByZW1vdGVfMiAmJgorCQl0ZXN0X211c3RfZmFpbCBfX2dpdF9pc19jb25maWd1cmVkX3JlbW90ZSBub24tZXhpc3RlbnQKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZvciByZWYgY29tcGxldGlvbicgJworCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBpbml0aWFsICYmCisJZ2l0IGJyYW5jaCBtYXRjaGluZy1icmFuY2ggJiYKKwlnaXQgdGFnIG1hdGNoaW5nLXRhZyAmJgorCSgKKwkJY2Qgb3RoZXJyZXBvICYmCisJCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBpbml0aWFsICYmCisJCWdpdCBicmFuY2ggLW0gbWFzdGVyIG1hc3Rlci1pbi1vdGhlciAmJgorCQlnaXQgYnJhbmNoIGJyYW5jaC1pbi1vdGhlciAmJgorCQlnaXQgdGFnIHRhZy1pbi1vdGhlcgorCSkgJiYKKwlnaXQgcmVtb3RlIGFkZCBvdGhlciAiJFJPT1Qvb3RoZXJyZXBvLy5naXQiICYmCisJZ2l0IGZldGNoIC0tbm8tdGFncyBvdGhlciAmJgorCXJtIC1mIC5naXQvRkVUQ0hfSEVBRCAmJgorCWdpdCBpbml0IHRoaXJkcmVwbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9yZWZzIC0gc2ltcGxlJyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlIRUFECisJbWFzdGVyCisJbWF0Y2hpbmctYnJhbmNoCisJb3RoZXIvYnJhbmNoLWluLW90aGVyCisJb3RoZXIvbWFzdGVyLWluLW90aGVyCisJbWF0Y2hpbmctdGFnCisJRU9GCisJKAorCQljdXI9ICYmCisJCV9fZ2l0X3JlZnMgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIGZ1bGwgcmVmcycgJworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJcmVmcy9oZWFkcy9tYXN0ZXIKKwlyZWZzL2hlYWRzL21hdGNoaW5nLWJyYW5jaAorCXJlZnMvcmVtb3Rlcy9vdGhlci9icmFuY2gtaW4tb3RoZXIKKwlyZWZzL3JlbW90ZXMvb3RoZXIvbWFzdGVyLWluLW90aGVyCisJcmVmcy90YWdzL21hdGNoaW5nLXRhZworCUVPRgorCSgKKwkJY3VyPXJlZnMvaGVhZHMvICYmCisJCV9fZ2l0X3JlZnMgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIHJlcG8gZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZScgJworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJSEVBRAorCWJyYW5jaC1pbi1vdGhlcgorCW1hc3Rlci1pbi1vdGhlcgorCXRhZy1pbi1vdGhlcgorCUVPRgorCSgKKwkJX19naXRfZGlyPSIkUk9PVC9vdGhlcnJlcG8vLmdpdCIgJiYKKwkJY3VyPSAmJgorCQlfX2dpdF9yZWZzID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSByZW1vdGUgb24gbG9jYWwgZmlsZSBzeXN0ZW0nICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQKKwlicmFuY2gtaW4tb3RoZXIKKwltYXN0ZXItaW4tb3RoZXIKKwl0YWctaW4tb3RoZXIKKwlFT0YKKwkoCisJCWN1cj0gJiYKKwkJX19naXRfcmVmcyBvdGhlcnJlcG8gPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIHJlbW90ZSBvbiBsb2NhbCBmaWxlIHN5c3RlbSAtIGZ1bGwgcmVmcycgJworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJcmVmcy9oZWFkcy9icmFuY2gtaW4tb3RoZXIKKwlyZWZzL2hlYWRzL21hc3Rlci1pbi1vdGhlcgorCXJlZnMvdGFncy90YWctaW4tb3RoZXIKKwlFT0YKKwkoCisJCWN1cj1yZWZzLyAmJgorCQlfX2dpdF9yZWZzIG90aGVycmVwbyA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9yZWZzIC0gY29uZmlndXJlZCByZW1vdGUnICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQKKwlicmFuY2gtaW4tb3RoZXIKKwltYXN0ZXItaW4tb3RoZXIKKwlFT0YKKwkoCisJCWN1cj0gJiYKKwkJX19naXRfcmVmcyBvdGhlciA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9yZWZzIC0gY29uZmlndXJlZCByZW1vdGUgLSBmdWxsIHJlZnMnICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQKKwlyZWZzL2hlYWRzL2JyYW5jaC1pbi1vdGhlcgorCXJlZnMvaGVhZHMvbWFzdGVyLWluLW90aGVyCisJcmVmcy90YWdzL3RhZy1pbi1vdGhlcgorCUVPRgorCSgKKwkJY3VyPXJlZnMvICYmCisJCV9fZ2l0X3JlZnMgb3RoZXIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIGNvbmZpZ3VyZWQgcmVtb3RlIC0gcmVwbyBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lJyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlIRUFECisJYnJhbmNoLWluLW90aGVyCisJbWFzdGVyLWluLW90aGVyCisJRU9GCisJKAorCQljZCB0aGlyZHJlcG8gJiYKKwkJX19naXRfZGlyPSIkUk9PVC8uZ2l0IiAmJgorCQljdXI9ICYmCisJCV9fZ2l0X3JlZnMgb3RoZXIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIGNvbmZpZ3VyZWQgcmVtb3RlIC0gZnVsbCByZWZzIC0gcmVwbyBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lJyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlIRUFECisJcmVmcy9oZWFkcy9icmFuY2gtaW4tb3RoZXIKKwlyZWZzL2hlYWRzL21hc3Rlci1pbi1vdGhlcgorCXJlZnMvdGFncy90YWctaW4tb3RoZXIKKwlFT0YKKwkoCisJCWNkIHRoaXJkcmVwbyAmJgorCQlfX2dpdF9kaXI9IiRST09ULy5naXQiICYmCisJCWN1cj1yZWZzLyAmJgorCQlfX2dpdF9yZWZzIG90aGVyID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBjb25maWd1cmVkIHJlbW90ZSAtIHJlbW90ZSBuYW1lIG1hdGNoZXMgYSBkaXJlY3RvcnknICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQKKwlicmFuY2gtaW4tb3RoZXIKKwltYXN0ZXItaW4tb3RoZXIKKwlFT0YKKwlta2RpciBvdGhlciAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIG90aGVyIiAmJgorCSgKKwkJY3VyPSAmJgorCQlfX2dpdF9yZWZzIG90aGVyID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBVUkwgcmVtb3RlJyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlIRUFECisJYnJhbmNoLWluLW90aGVyCisJbWFzdGVyLWluLW90aGVyCisJdGFnLWluLW90aGVyCisJRU9GCisJKAorCQljdXI9ICYmCisJCV9fZ2l0X3JlZnMgImZpbGU6Ly8kUk9PVC9vdGhlcnJlcG8vLmdpdCIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIFVSTCByZW1vdGUgLSBmdWxsIHJlZnMnICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQKKwlyZWZzL2hlYWRzL2JyYW5jaC1pbi1vdGhlcgorCXJlZnMvaGVhZHMvbWFzdGVyLWluLW90aGVyCisJcmVmcy90YWdzL3RhZy1pbi1vdGhlcgorCUVPRgorCSgKKwkJY3VyPXJlZnMvICYmCisJCV9fZ2l0X3JlZnMgImZpbGU6Ly8kUk9PVC9vdGhlcnJlcG8vLmdpdCIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIG5vbi1leGlzdGluZyByZW1vdGUnICcKKwkoCisJCWN1cj0gJiYKKwkJX19naXRfcmVmcyBub24tZXhpc3RpbmcgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBub24tZXhpc3RpbmcgcmVtb3RlIC0gZnVsbCByZWZzJyAnCisJKAorCQljdXI9cmVmcy8gJiYKKwkJX19naXRfcmVmcyBub24tZXhpc3RpbmcgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBub24tZXhpc3RpbmcgVVJMIHJlbW90ZScgJworCSgKKwkJY3VyPSAmJgorCQlfX2dpdF9yZWZzICJmaWxlOi8vJFJPT1Qvbm9uLWV4aXN0aW5nIiA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIG5vbi1leGlzdGluZyBVUkwgcmVtb3RlIC0gZnVsbCByZWZzJyAnCisJKAorCQljdXI9cmVmcy8gJiYKKwkJX19naXRfcmVmcyAiZmlsZTovLyRST09UL25vbi1leGlzdGluZyIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBub3QgaW4gYSBnaXQgcmVwb3NpdG9yeScgJworCSgKKwkJR0lUX0NFSUxJTkdfRElSRUNUT1JJRVM9IiRST09UIiAmJgorCQlleHBvcnQgR0lUX0NFSUxJTkdfRElSRUNUT1JJRVMgJiYKKwkJY2Qgc3ViZGlyICYmCisJCWN1cj0gJiYKKwkJX19naXRfcmVmcyA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIHVuaXF1ZSByZW1vdGUgYnJhbmNoZXMgZm9yIGdpdCBjaGVja291dCBEV0lNZXJ5JyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlIRUFECisJbWFzdGVyCisJbWF0Y2hpbmctYnJhbmNoCisJb3RoZXIvYW1iaWd1b3VzCisJb3RoZXIvYnJhbmNoLWluLW90aGVyCisJb3RoZXIvbWFzdGVyLWluLW90aGVyCisJcmVtb3RlL2FtYmlndW91cworCXJlbW90ZS9icmFuY2gtaW4tcmVtb3RlCisJbWF0Y2hpbmctdGFnCisJYnJhbmNoLWluLW90aGVyCisJYnJhbmNoLWluLXJlbW90ZQorCW1hc3Rlci1pbi1vdGhlcgorCUVPRgorCWZvciByZW1vdGVfcmVmIGluIHJlZnMvcmVtb3Rlcy9vdGhlci9hbWJpZ3VvdXMgXAorCQlyZWZzL3JlbW90ZXMvcmVtb3RlL2FtYmlndW91cyBcCisJCXJlZnMvcmVtb3Rlcy9yZW1vdGUvYnJhbmNoLWluLXJlbW90ZQorCWRvCisJCWdpdCB1cGRhdGUtcmVmICRyZW1vdGVfcmVmIG1hc3RlciAmJgorCQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB1cGRhdGUtcmVmIC1kICRyZW1vdGVfcmVmIgorCWRvbmUgJiYKKwkoCisJCWN1cj0gJiYKKwkJX19naXRfcmVmcyAiIiAxID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBhZnRlciAtLW9wdD0nICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQKKwltYXN0ZXIKKwltYXRjaGluZy1icmFuY2gKKwlvdGhlci9icmFuY2gtaW4tb3RoZXIKKwlvdGhlci9tYXN0ZXItaW4tb3RoZXIKKwltYXRjaGluZy10YWcKKwlFT0YKKwkoCisJCWN1cj0iLS1vcHQ9IiAmJgorCQlfX2dpdF9yZWZzICIiICIiICIiICIiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBhZnRlciAtLW9wdD0gLSBmdWxsIHJlZnMnICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCXJlZnMvaGVhZHMvbWFzdGVyCisJcmVmcy9oZWFkcy9tYXRjaGluZy1icmFuY2gKKwlyZWZzL3JlbW90ZXMvb3RoZXIvYnJhbmNoLWluLW90aGVyCisJcmVmcy9yZW1vdGVzL290aGVyL21hc3Rlci1pbi1vdGhlcgorCXJlZnMvdGFncy9tYXRjaGluZy10YWcKKwlFT0YKKwkoCisJCWN1cj0iLS1vcHQ9cmVmcy8iICYmCisJCV9fZ2l0X3JlZnMgIiIgIiIgIiIgcmVmcy8gPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXQgcmVmcyAtIGV4bHVkaW5nIHJlZnMnICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCV5IRUFECisJXm1hc3RlcgorCV5tYXRjaGluZy1icmFuY2gKKwleb3RoZXIvYnJhbmNoLWluLW90aGVyCisJXm90aGVyL21hc3Rlci1pbi1vdGhlcgorCV5tYXRjaGluZy10YWcKKwlFT0YKKwkoCisJCWN1cj1eICYmCisJCV9fZ2l0X3JlZnMgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXQgcmVmcyAtIGV4bHVkaW5nIGZ1bGwgcmVmcycgJworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJXnJlZnMvaGVhZHMvbWFzdGVyCisJXnJlZnMvaGVhZHMvbWF0Y2hpbmctYnJhbmNoCisJXnJlZnMvcmVtb3Rlcy9vdGhlci9icmFuY2gtaW4tb3RoZXIKKwlecmVmcy9yZW1vdGVzL290aGVyL21hc3Rlci1pbi1vdGhlcgorCV5yZWZzL3RhZ3MvbWF0Y2hpbmctdGFnCisJRU9GCisJKAorCQljdXI9XnJlZnMvICYmCisJCV9fZ2l0X3JlZnMgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZm9yIGZpbHRlcmluZyBtYXRjaGluZyByZWZzJyAnCisJZ2l0IGJyYW5jaCBtYXRjaGluZy9icmFuY2ggJiYKKwlnaXQgdGFnIG1hdGNoaW5nL3RhZyAmJgorCWdpdCAtQyBvdGhlcnJlcG8gYnJhbmNoIG1hdGNoaW5nL2JyYW5jaC1pbi1vdGhlciAmJgorCWdpdCBmZXRjaCAtLW5vLXRhZ3Mgb3RoZXIgJiYKKwlybSAtZiAuZ2l0L0ZFVENIX0hFQUQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIGRvbnQgZmlsdGVyIHJlZnMgdW5sZXNzIHRvbGQgc28nICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQKKwltYXN0ZXIKKwltYXRjaGluZy1icmFuY2gKKwltYXRjaGluZy9icmFuY2gKKwlvdGhlci9icmFuY2gtaW4tb3RoZXIKKwlvdGhlci9tYXN0ZXItaW4tb3RoZXIKKwlvdGhlci9tYXRjaGluZy9icmFuY2gtaW4tb3RoZXIKKwltYXRjaGluZy10YWcKKwltYXRjaGluZy90YWcKKwlFT0YKKwkoCisJCWN1cj1tYXN0ZXIgJiYKKwkJX19naXRfcmVmcyA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9yZWZzIC0gb25seSBtYXRjaGluZyByZWZzJyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwltYXRjaGluZy1icmFuY2gKKwltYXRjaGluZy9icmFuY2gKKwltYXRjaGluZy10YWcKKwltYXRjaGluZy90YWcKKwlFT0YKKwkoCisJCWN1cj1tYXQgJiYKKwkJX19naXRfcmVmcyAiIiAiIiAiIiAiJGN1ciIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIG9ubHkgbWF0Y2hpbmcgcmVmcyAtIGZ1bGwgcmVmcycgJworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJcmVmcy9oZWFkcy9tYXRjaGluZy1icmFuY2gKKwlyZWZzL2hlYWRzL21hdGNoaW5nL2JyYW5jaAorCUVPRgorCSgKKwkJY3VyPXJlZnMvaGVhZHMvbWF0ICYmCisJCV9fZ2l0X3JlZnMgIiIgIiIgIiIgIiRjdXIiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBvbmx5IG1hdGNoaW5nIHJlZnMgLSByZW1vdGUgb24gbG9jYWwgZmlsZSBzeXN0ZW0nICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCW1hc3Rlci1pbi1vdGhlcgorCW1hdGNoaW5nL2JyYW5jaC1pbi1vdGhlcgorCUVPRgorCSgKKwkJY3VyPW1hICYmCisJCV9fZ2l0X3JlZnMgb3RoZXJyZXBvICIiICIiICIkY3VyIiA+IiRhY3R1YWwiCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9yZWZzIC0gb25seSBtYXRjaGluZyByZWZzIC0gY29uZmlndXJlZCByZW1vdGUnICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCW1hc3Rlci1pbi1vdGhlcgorCW1hdGNoaW5nL2JyYW5jaC1pbi1vdGhlcgorCUVPRgorCSgKKwkJY3VyPW1hICYmCisJCV9fZ2l0X3JlZnMgb3RoZXIgIiIgIiIgIiRjdXIiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBvbmx5IG1hdGNoaW5nIHJlZnMgLSByZW1vdGUgLSBmdWxsIHJlZnMnICcKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCXJlZnMvaGVhZHMvbWFzdGVyLWluLW90aGVyCisJcmVmcy9oZWFkcy9tYXRjaGluZy9icmFuY2gtaW4tb3RoZXIKKwlFT0YKKwkoCisJCWN1cj1yZWZzL2hlYWRzL21hICYmCisJCV9fZ2l0X3JlZnMgb3RoZXIgIiIgIiIgIiRjdXIiID4iJGFjdHVhbCIKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBvbmx5IG1hdGNoaW5nIHJlZnMgLSBjaGVja291dCBEV0lNZXJ5JyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwltYXRjaGluZy1icmFuY2gKKwltYXRjaGluZy9icmFuY2gKKwltYXRjaGluZy10YWcKKwltYXRjaGluZy90YWcKKwltYXRjaGluZy9icmFuY2gtaW4tb3RoZXIKKwlFT0YKKwlmb3IgcmVtb3RlX3JlZiBpbiByZWZzL3JlbW90ZXMvb3RoZXIvYW1iaWd1b3VzIFwKKwkJcmVmcy9yZW1vdGVzL3JlbW90ZS9hbWJpZ3VvdXMgXAorCQlyZWZzL3JlbW90ZXMvcmVtb3RlL2JyYW5jaC1pbi1yZW1vdGUKKwlkbworCQlnaXQgdXBkYXRlLXJlZiAkcmVtb3RlX3JlZiBtYXN0ZXIgJiYKKwkJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdXBkYXRlLXJlZiAtZCAkcmVtb3RlX3JlZiIKKwlkb25lICYmCisJKAorCQljdXI9bWF0ICYmCisJCV9fZ2l0X3JlZnMgIiIgMSAiIiAiJGN1ciIgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVhcmRvd24gYWZ0ZXIgZmlsdGVyaW5nIG1hdGNoaW5nIHJlZnMnICcKKwlnaXQgYnJhbmNoIC1kIG1hdGNoaW5nL2JyYW5jaCAmJgorCWdpdCB0YWcgLWQgbWF0Y2hpbmcvdGFnICYmCisJZ2l0IHVwZGF0ZS1yZWYgLWQgcmVmcy9yZW1vdGVzL290aGVyL21hdGNoaW5nL2JyYW5jaC1pbi1vdGhlciAmJgorCWdpdCAtQyBvdGhlcnJlcG8gYnJhbmNoIC1EIG1hdGNoaW5nL2JyYW5jaC1pbi1vdGhlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9yZWZzIC0gZm9yLWVhY2gtcmVmIGZvcm1hdCBzcGVjaWZpZXJzIGluIHByZWZpeCcgJworCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZXZpbC0lJS0lNDItJShyZWZuYW1lKS4ubWFzdGVyCisJRU9GCisJKAorCQljdXI9ImV2aWwtJSUtJTQyLSUocmVmbmFtZSkuLm1hcyIgJiYKKwkJX19naXRfcmVmcyAiIiAiIiAiZXZpbC0lJS0lNDItJShyZWZuYW1lKS4uIiBtYXMgPiIkYWN0dWFsIgorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfY29tcGxldGVfcmVmcyAtIHNpbXBsZScgJworCXNlZCAtZSAicy9aJC8vIiA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJSEVBRCBaCisJbWFzdGVyIFoKKwltYXRjaGluZy1icmFuY2ggWgorCW90aGVyL2JyYW5jaC1pbi1vdGhlciBaCisJb3RoZXIvbWFzdGVyLWluLW90aGVyIFoKKwltYXRjaGluZy10YWcgWgorCUVPRgorCSgKKwkJY3VyPSAmJgorCQlfX2dpdF9jb21wbGV0ZV9yZWZzICYmCisJCXByaW50X2NvbXAKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2NvbXBsZXRlX3JlZnMgLSBtYXRjaGluZycgJworCXNlZCAtZSAicy9aJC8vIiA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJbWF0Y2hpbmctYnJhbmNoIFoKKwltYXRjaGluZy10YWcgWgorCUVPRgorCSgKKwkJY3VyPW1hdCAmJgorCQlfX2dpdF9jb21wbGV0ZV9yZWZzICYmCisJCXByaW50X2NvbXAKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2NvbXBsZXRlX3JlZnMgLSByZW1vdGUnICcKKwlzZWQgLWUgInMvWiQvLyIgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQgWgorCWJyYW5jaC1pbi1vdGhlciBaCisJbWFzdGVyLWluLW90aGVyIFoKKwlFT0YKKwkoCisJCWN1cj0KKwkJX19naXRfY29tcGxldGVfcmVmcyAtLXJlbW90ZT1vdGhlciAmJgorCQlwcmludF9jb21wCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9jb21wbGV0ZV9yZWZzIC0gdHJhY2snICcKKwlzZWQgLWUgInMvWiQvLyIgPmV4cGVjdGVkIDw8LUVPRiAmJgorCUhFQUQgWgorCW1hc3RlciBaCisJbWF0Y2hpbmctYnJhbmNoIFoKKwlvdGhlci9icmFuY2gtaW4tb3RoZXIgWgorCW90aGVyL21hc3Rlci1pbi1vdGhlciBaCisJbWF0Y2hpbmctdGFnIFoKKwlicmFuY2gtaW4tb3RoZXIgWgorCW1hc3Rlci1pbi1vdGhlciBaCisJRU9GCisJKAorCQljdXI9CisJCV9fZ2l0X2NvbXBsZXRlX3JlZnMgLS10cmFjayAmJgorCQlwcmludF9jb21wCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9jb21wbGV0ZV9yZWZzIC0gY3VycmVudCB3b3JkJyAnCisJc2VkIC1lICJzL1okLy8iID5leHBlY3RlZCA8PC1FT0YgJiYKKwltYXRjaGluZy1icmFuY2ggWgorCW1hdGNoaW5nLXRhZyBaCisJRU9GCisJKAorCQljdXI9Ii0tb3B0aW9uPW1hdCIgJiYKKwkJX19naXRfY29tcGxldGVfcmVmcyAtLWN1cj0iJHtjdXIjKj19IiAmJgorCQlwcmludF9jb21wCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9jb21wbGV0ZV9yZWZzIC0gcHJlZml4JyAnCisJc2VkIC1lICJzL1okLy8iID5leHBlY3RlZCA8PC1FT0YgJiYKKwl2MS4wLi5tYXRjaGluZy1icmFuY2ggWgorCXYxLjAuLm1hdGNoaW5nLXRhZyBaCisJRU9GCisJKAorCQljdXI9djEuMC4ubWF0ICYmCisJCV9fZ2l0X2NvbXBsZXRlX3JlZnMgLS1wZng9djEuMC4uIC0tY3VyPW1hdCAmJgorCQlwcmludF9jb21wCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9jb21wbGV0ZV9yZWZzIC0gc3VmZml4JyAnCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlIRUFELgorCW1hc3Rlci4KKwltYXRjaGluZy1icmFuY2guCisJb3RoZXIvYnJhbmNoLWluLW90aGVyLgorCW90aGVyL21hc3Rlci1pbi1vdGhlci4KKwltYXRjaGluZy10YWcuCisJRU9GCisJKAorCQljdXI9ICYmCisJCV9fZ2l0X2NvbXBsZXRlX3JlZnMgLS1zZng9LiAmJgorCQlwcmludF9jb21wCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9jb21wbGV0ZV9mZXRjaF9yZWZzcGVjcyAtIHNpbXBsZScgJworCXNlZCAtZSAicy9aJC8vIiA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJSEVBRDpIRUFEIFoKKwlicmFuY2gtaW4tb3RoZXI6YnJhbmNoLWluLW90aGVyIFoKKwltYXN0ZXItaW4tb3RoZXI6bWFzdGVyLWluLW90aGVyIFoKKwlFT0YKKwkoCisJCWN1cj0gJiYKKwkJX19naXRfY29tcGxldGVfZmV0Y2hfcmVmc3BlY3Mgb3RoZXIgJiYKKwkJcHJpbnRfY29tcAorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfY29tcGxldGVfZmV0Y2hfcmVmc3BlY3MgLSBtYXRjaGluZycgJworCXNlZCAtZSAicy9aJC8vIiA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJYnJhbmNoLWluLW90aGVyOmJyYW5jaC1pbi1vdGhlciBaCisJRU9GCisJKAorCQljdXI9YnIgJiYKKwkJX19naXRfY29tcGxldGVfZmV0Y2hfcmVmc3BlY3Mgb3RoZXIgIiIgYnIgJiYKKwkJcHJpbnRfY29tcAorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfY29tcGxldGVfZmV0Y2hfcmVmc3BlY3MgLSBwcmVmaXgnICcKKwlzZWQgLWUgInMvWiQvLyIgPmV4cGVjdGVkIDw8LUVPRiAmJgorCStIRUFEOkhFQUQgWgorCSticmFuY2gtaW4tb3RoZXI6YnJhbmNoLWluLW90aGVyIFoKKwkrbWFzdGVyLWluLW90aGVyOm1hc3Rlci1pbi1vdGhlciBaCisJRU9GCisJKAorCQljdXI9IisiICYmCisJCV9fZ2l0X2NvbXBsZXRlX2ZldGNoX3JlZnNwZWNzIG90aGVyICIrIiAiIiAgJiYKKwkJcHJpbnRfY29tcAorCSkgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfY29tcGxldGVfZmV0Y2hfcmVmc3BlY3MgLSBmdWxseSBxdWFsaWZpZWQnICcKKwlzZWQgLWUgInMvWiQvLyIgPmV4cGVjdGVkIDw8LUVPRiAmJgorCXJlZnMvaGVhZHMvYnJhbmNoLWluLW90aGVyOnJlZnMvaGVhZHMvYnJhbmNoLWluLW90aGVyIFoKKwlyZWZzL2hlYWRzL21hc3Rlci1pbi1vdGhlcjpyZWZzL2hlYWRzL21hc3Rlci1pbi1vdGhlciBaCisJcmVmcy90YWdzL3RhZy1pbi1vdGhlcjpyZWZzL3RhZ3MvdGFnLWluLW90aGVyIFoKKwlFT0YKKwkoCisJCWN1cj1yZWZzLyAmJgorCQlfX2dpdF9jb21wbGV0ZV9mZXRjaF9yZWZzcGVjcyBvdGhlciAiIiByZWZzLyAmJgorCQlwcmludF9jb21wCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9jb21wbGV0ZV9mZXRjaF9yZWZzcGVjcyAtIGZ1bGx5IHF1YWxpZmllZCAmIHByZWZpeCcgJworCXNlZCAtZSAicy9aJC8vIiA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJK3JlZnMvaGVhZHMvYnJhbmNoLWluLW90aGVyOnJlZnMvaGVhZHMvYnJhbmNoLWluLW90aGVyIFoKKwkrcmVmcy9oZWFkcy9tYXN0ZXItaW4tb3RoZXI6cmVmcy9oZWFkcy9tYXN0ZXItaW4tb3RoZXIgWgorCStyZWZzL3RhZ3MvdGFnLWluLW90aGVyOnJlZnMvdGFncy90YWctaW4tb3RoZXIgWgorCUVPRgorCSgKKwkJY3VyPStyZWZzLyAmJgorCQlfX2dpdF9jb21wbGV0ZV9mZXRjaF9yZWZzcGVjcyBvdGhlciArIHJlZnMvICYmCisJCXByaW50X2NvbXAKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RlYXJkb3duIGFmdGVyIHJlZiBjb21wbGV0aW9uJyAnCisJZ2l0IGJyYW5jaCAtZCBtYXRjaGluZy1icmFuY2ggJiYKKwlnaXQgdGFnIC1kIG1hdGNoaW5nLXRhZyAmJgorCWdpdCByZW1vdGUgcmVtb3ZlIG90aGVyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2dldF9jb25maWdfdmFyaWFibGVzJyAnCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJbmFtZS0xCkBAIC00NzUsNyArMTI3OCwxMiBAQAogCXRlc3RfY29tcGxldGlvbiAiZ2l0IC0tbmFtZXNwYWNlPWZvbyBjaGVjayIgImNoZWNrb3V0ICIgJiYKIAl0ZXN0X2NvbXBsZXRpb24gImdpdCAtLXBhZ2luYXRlIGNoZWNrIiAiY2hlY2tvdXQgIiAmJgogCXRlc3RfY29tcGxldGlvbiAiZ2l0IC0taW5mby1wYXRoIGNoZWNrIiAiY2hlY2tvdXQgIiAmJgotCXRlc3RfY29tcGxldGlvbiAiZ2l0IC0tbm8tcmVwbGFjZS1vYmplY3RzIGNoZWNrIiAiY2hlY2tvdXQgIgorCXRlc3RfY29tcGxldGlvbiAiZ2l0IC0tbm8tcmVwbGFjZS1vYmplY3RzIGNoZWNrIiAiY2hlY2tvdXQgIiAmJgorCXRlc3RfY29tcGxldGlvbiAiZ2l0IC0tZ2l0LWRpciBzb21lL3BhdGggY2hlY2siICJjaGVja291dCAiICYmCisJdGVzdF9jb21wbGV0aW9uICJnaXQgLWMgY29uZi52YXI9dmFsdWUgY2hlY2siICJjaGVja291dCAiICYmCisJdGVzdF9jb21wbGV0aW9uICJnaXQgLUMgc29tZS9wYXRoIGNoZWNrIiAiY2hlY2tvdXQgIiAmJgorCXRlc3RfY29tcGxldGlvbiAiZ2l0IC0td29yay10cmVlIHNvbWUvcGF0aCBjaGVjayIgImNoZWNrb3V0ICIgJiYKKwl0ZXN0X2NvbXBsZXRpb24gImdpdCAtLW5hbWVzcGFjZSBuYW1lL3NwYWNlIGNoZWNrIiAiY2hlY2tvdXQgIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgLS1oZWxwIGNvbXBsZXRpb24nICcKQEAgLTQ4MywxMCArMTI5MSwxMCBAQAogCXRlc3RfY29tcGxldGlvbiAiZ2l0IC0taGVscCBjb3JlIiAiY29yZS10dXRvcmlhbCAiCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZvciByZWYgY29tcGxldGlvbicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZm9yIGludGVncmF0aW9uIHRlc3RzJyAnCiAJZWNobyBjb250ZW50ID5maWxlMSAmJgogCWVjaG8gbW9yZSA+ZmlsZTIgJiYKLQlnaXQgYWRkIC4gJiYKKwlnaXQgYWRkIGZpbGUxIGZpbGUyICYmCiAJZ2l0IGNvbW1pdCAtbSBvbmUgJiYKIAlnaXQgYnJhbmNoIG15YnJhbmNoICYmCiAJZ2l0IHRhZyBteXRhZwpAQCAtNTAwLDYgKzEzMDgsMTIgQEAKIAlFT0YKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IC1DIDxwYXRoPiBjaGVja291dCB1c2VzIHRoZSByaWdodCByZXBvJyAnCisJdGVzdF9jb21wbGV0aW9uICJnaXQgLUMgc3ViZGlyIC1DIHN1YnN1YmRpciAtQyAuLiAtQyAuLi9vdGhlcnJlcG8gY2hlY2tvdXQgYiIgPDwtXEVPRgorCWJyYW5jaC1pbi1vdGhlciBaCisJRU9GCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3cgY29tcGxldGVzIGFsbCByZWZzJyAnCiAJdGVzdF9jb21wbGV0aW9uICJnaXQgc2hvdyBtIiA8PC1cRU9GCiAJbWFzdGVyIFoKQEAgLTUxNyw3ICsxMzMxLDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tcGxldGUgdHJlZSBmaWxlbmFtZSB3aXRoIHNwYWNlcycgJwogCWVjaG8gY29udGVudCA+Im5hbWUgd2l0aCBzcGFjZXMiICYmCi0JZ2l0IGFkZCAuICYmCisJZ2l0IGFkZCAibmFtZSB3aXRoIHNwYWNlcyIgJiYKIAlnaXQgY29tbWl0IC1tIHNwYWNlcyAmJgogCXRlc3RfY29tcGxldGlvbiAiZ2l0IHNob3cgSEVBRDpuYW0iIDw8LVxFT0YKIAluYW1lIHdpdGggc3BhY2VzIFoKQEAgLTUyNiw3ICsxMzQwLDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tcGxldGUgdHJlZSBmaWxlbmFtZSB3aXRoIG1ldGFjaGFyYWN0ZXJzJyAnCiAJZWNobyBjb250ZW50ID4ibmFtZSB3aXRoIFwke21ldGF9IiAmJgotCWdpdCBhZGQgLiAmJgorCWdpdCBhZGQgIm5hbWUgd2l0aCBcJHttZXRhfSIgJiYKIAlnaXQgY29tbWl0IC1tIG1ldGEgJiYKIAl0ZXN0X2NvbXBsZXRpb24gImdpdCBzaG93IEhFQUQ6bmFtIiA8PC1cRU9GCiAJbmFtZSB3aXRoICR7bWV0YX0gWgpAQCAtNjQzLDQgKzE0NTcsMzggQEAKIAl0ZXN0X2NvbXBsZXRpb24gImdpdCBhZGQgfi90bXAvIiAifi90bXAvZmlsZSIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgb3RoZXIgcmVtb3RlIGZvciByZW1vdGUgcmVmZXJlbmNlIGNvbXBsZXRpb24nICcKKwlnaXQgcmVtb3RlIGFkZCBvdGhlciBvdGhlcnJlcG8gJiYKKwlnaXQgZmV0Y2ggb3RoZXIKKycKKworZm9yIGZsYWcgaW4gLWQgLS1kZWxldGUKK2RvCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiX19naXRfY29tcGxldGVfcmVtb3RlX29yX3JlZnNwZWMgLSBwdXNoICRmbGFnIG90aGVyIiAnCisJCXNlZCAtZSAicy9aJC8vIiA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJCW1hc3Rlci1pbi1vdGhlciBaCisJCUVPRgorCQkoCisJCQl3b3Jkcz0oZ2l0IHB1c2ggJyRmbGFnJyBvdGhlciBtYSkgJiYKKwkJCWN3b3JkPSR7I3dvcmRzW0BdfSBjdXI9JHt3b3Jkc1tjd29yZC0xXX0gJiYKKwkJCV9fZ2l0X2NvbXBsZXRlX3JlbW90ZV9vcl9yZWZzcGVjICYmCisJCQlwcmludF9jb21wCisJCSkgJiYKKwkJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0CisJJworCisJdGVzdF9leHBlY3RfZmFpbHVyZSAiX19naXRfY29tcGxldGVfcmVtb3RlX29yX3JlZnNwZWMgLSBwdXNoIG90aGVyICRmbGFnIiAnCisJCXNlZCAtZSAicy9aJC8vIiA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJCW1hc3Rlci1pbi1vdGhlciBaCisJCUVPRgorCQkoCisJCQl3b3Jkcz0oZ2l0IHB1c2ggb3RoZXIgJyRmbGFnJyBtYSkgJiYKKwkJCWN3b3JkPSR7I3dvcmRzW0BdfSBjdXI9JHt3b3Jkc1tjd29yZC0xXX0gJiYKKwkJCV9fZ2l0X2NvbXBsZXRlX3JlbW90ZV9vcl9yZWZzcGVjICYmCisJCQlwcmludF9jb21wCisJCSkgJiYKKwkJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0CisJJworZG9uZQorCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdGVzdC1saWItZnVuY3Rpb25zLnNoIGIvdC90ZXN0LWxpYi1mdW5jdGlvbnMuc2gKaW5kZXggNWVlMTI0My4uMTcwMWZlMiAxMDA2NDQKLS0tIGEvdC90ZXN0LWxpYi1mdW5jdGlvbnMuc2gKKysrIGIvdC90ZXN0LWxpYi1mdW5jdGlvbnMuc2gKQEAgLTQyLDYgKzQyLDcgQEAKIAkJZnVuY3Rpb24gbmFtZShuKSB7CiAJCQlpZiAobiA9PSAwKSByZXR1cm4gIlJFU0VUIjsKIAkJCWlmIChuID09IDEpIHJldHVybiAiQk9MRCI7CisJCQlpZiAobiA9PSA3KSByZXR1cm4gIlJFVkVSU0UiOwogCQkJaWYgKG4gPT0gMzApIHJldHVybiAiQkxBQ0siOwogCQkJaWYgKG4gPT0gMzEpIHJldHVybiAiUkVEIjsKIAkJCWlmIChuID09IDMyKSByZXR1cm4gIkdSRUVOIjsKQEAgLTIxNiw2ICsyMTcsMTEgQEAKIAlnaXQgdXBkYXRlLWluZGV4IC0tYWRkICItLWNobW9kPSRAIgogfQogCisjIEdldCB0aGUgbW9kZWJpdHMgZnJvbSBhIGZpbGUuCit0ZXN0X21vZGViaXRzICgpIHsKKwlscyAtbCAiJDEiIHwgc2VkIC1lICdzfF5cKC4uLi4uLi4uLi5cKS4qfFwxfCcKK30KKwogIyBVbnNldCBhIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUsIGJ1dCBkb24ndCBmYWlsIGlmIGl0IGRvZXNuJ3QgZXhpc3QuCiB0ZXN0X3VuY29uZmlnICgpIHsKIAljb25maWdfZGlyPQpAQCAtOTk0LDYgKzEwMDAsNyBAQAogCQkJbXkgJHM7CiAJCQlteSAkbnJlYWQgPSBzeXNyZWFkKFNURElOLCAkcywgJGxlbik7CiAJCQlkaWUgImNhbm5vdCByZWFkOiAkISIgdW5sZXNzIGRlZmluZWQoJG5yZWFkKTsKKwkJCWxhc3QgdW5sZXNzICRucmVhZDsKIAkJCXByaW50ICRzOwogCQkJJGxlbiAtPSAkbnJlYWQ7CiAJCX0KZGlmZiAtLWdpdCBhL3QvdGVzdC1saWIuc2ggYi90L3Rlc3QtbGliLnNoCmluZGV4IDIzYzI5YmMuLjliNjFmMTYgMTAwNjQ0Ci0tLSBhL3QvdGVzdC1saWIuc2gKKysrIGIvdC90ZXN0LWxpYi5zaApAQCAtMzYsNiArMzYsMTkgQEAKIGZpCiBHSVRfQlVJTERfRElSPSIkVEVTVF9ESVJFQ1RPUlkiLy4uCiAKKyMgSWYgd2Ugd2VyZSBidWlsdCB3aXRoIEFTQU4sIGl0IG1heSBjb21wbGFpbiBhYm91dCBsZWFrcworIyBvZiBwcm9ncmFtLWxpZmV0aW1lIHZhcmlhYmxlcy4gRGlzYWJsZSBpdCBieSBkZWZhdWx0IHRvIGxvd2VyCisjIHRoZSBub2lzZSBsZXZlbC4gVGhpcyBuZWVkcyB0byBoYXBwZW4gYXQgdGhlIHN0YXJ0IG9mIHRoZSBzY3JpcHQsCisjIGJlZm9yZSB3ZSBldmVuIGRvIG91ciAiZGlkIHdlIGJ1aWxkIGdpdCB5ZXQiIGNoZWNrIChzaW5jZSB3ZSBkb24ndAorIyB3YW50IHRoYXQgb25lIHRvIGNvbXBsYWluIHRvIHN0ZGVycikuCis6ICR7QVNBTl9PUFRJT05TPWRldGVjdF9sZWFrcz0wOmFib3J0X29uX2Vycm9yPTF9CitleHBvcnQgQVNBTl9PUFRJT05TCisKKyMgSWYgTFNBTiBpcyBpbiBlZmZlY3Qgd2UgX2RvXyB3YW50IGxlYWsgY2hlY2tpbmcsIGJ1dCB3ZSBzdGlsbAorIyB3YW50IHRvIGFib3J0IHNvIHRoYXQgd2Ugbm90aWNlIHRoZSBwcm9ibGVtcy4KKzogJHtMU0FOX09QVElPTlM9YWJvcnRfb25fZXJyb3I9MX0KK2V4cG9ydCBMU0FOX09QVElPTlMKKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBJdCBhcHBlYXJzIHRoYXQgcGVvcGxlIHRyeSB0byBydW4gdGVzdHMgd2l0aG91dCBidWlsZGluZy4uLgogIiRHSVRfQlVJTERfRElSL2dpdCIgPi9kZXYvbnVsbApAQCAtOTEsNyArMTA0LDYgQEAKIAlteSAkb2sgPSBqb2luKCJ8IiwgcXcoCiAJCVRSQUNFCiAJCURFQlVHCi0JCVVTRV9MT09LVVAKIAkJVEVTVAogCQkuKl9URVNUCiAJCVBST1ZFCkBAIC0xNDgsOSArMTYwLDYgQEAKIAl9CiBmaQogCi06ICR7QVNBTl9PUFRJT05TPWRldGVjdF9sZWFrcz0wfQotZXhwb3J0IEFTQU5fT1BUSU9OUwotCiAjIFByb3RlY3Qgb3Vyc2VsdmVzIGZyb20gY29tbW9uIG1pc2NvbmZpZ3VyYXRpb24gdG8gZXhwb3J0CiAjIENEUEFUSCBpbnRvIHRoZSBlbnZpcm9ubWVudAogdW5zZXQgQ0RQQVRICkBAIC0yNzAsNyArMjc5LDcgQEAKIAl0ZXN0IC16ICIkdmVyYm9zZSIgJiYgdmVyYm9zZV9vbmx5PSIkdmFsZ3JpbmRfb25seSIKIGVsaWYgdGVzdCAtbiAiJHZhbGdyaW5kIgogdGhlbgotCXZlcmJvc2U9dAorCXRlc3QgLXogIiR2ZXJib3NlX2xvZyIgJiYgdmVyYm9zZT10CiBmaQogCiBpZiB0ZXN0IC1uICIkY29sb3IiCkBAIC02MjUsOSArNjM0LDkgQEAKIAkJdHJhY2U9CiAJCSMgMTE3IGlzIG1hZ2ljIGJlY2F1c2UgaXQgaXMgdW5saWtlbHkgdG8gbWF0Y2ggdGhlIGV4aXQKIAkJIyBjb2RlIG9mIG90aGVyIHByb2dyYW1zCi0JCXRlc3RfZXZhbF8gIihleGl0IDExNykgJiYgJDEiCi0JCWlmIHRlc3QgIiQ/IiAhPSAxMTc7IHRoZW4KLQkJCWVycm9yICJidWcgaW4gdGhlIHRlc3Qgc2NyaXB0OiBicm9rZW4gJiYtY2hhaW46ICQxIgorCQlpZiB0ZXN0ICJPSy0xMTciICE9ICIkKHRlc3RfZXZhbF8gIihleGl0IDExNykgJiYgJDEke0xGfSR7TEZ9ZWNobyBPSy1cJD8iIDM+JjEpIgorCQl0aGVuCisJCQllcnJvciAiYnVnIGluIHRoZSB0ZXN0IHNjcmlwdDogYnJva2VuICYmLWNoYWluIG9yIHJ1bi1hd2F5IEhFUkUtRE9DOiAkMSIKIAkJZmkKIAkJdHJhY2U9JHRyYWNlX3RtcAogCWZpCkBAIC03NDUsMjYgKzc1NCwzNiBAQAogCWZpCiAJY2FzZSAiJHRlc3RfZmFpbHVyZSIgaW4KIAkwKQotCQkjIE1heWJlIHByaW50IFNLSVAgbWVzc2FnZQotCQlpZiB0ZXN0IC1uICIkc2tpcF9hbGwiICYmIHRlc3QgJHRlc3RfY291bnQgLWd0IDAKLQkJdGhlbgotCQkJZXJyb3IgIkNhbid0IHVzZSBza2lwX2FsbCBhZnRlciBydW5uaW5nIHNvbWUgdGVzdHMiCi0JCWZpCi0JCXRlc3QgLXogIiRza2lwX2FsbCIgfHwgc2tpcF9hbGw9IiAjIFNLSVAgJHNraXBfYWxsIgotCiAJCWlmIHRlc3QgJHRlc3RfZXh0ZXJuYWxfaGFzX3RhcCAtZXEgMAogCQl0aGVuCiAJCQlpZiB0ZXN0ICR0ZXN0X3JlbWFpbmluZyAtZ3QgMAogCQkJdGhlbgogCQkJCXNheV9jb2xvciBwYXNzICIjIHBhc3NlZCBhbGwgJG1zZyIKIAkJCWZpCi0JCQlzYXkgIjEuLiR0ZXN0X2NvdW50JHNraXBfYWxsIgorCisJCQkjIE1heWJlIHByaW50IFNLSVAgbWVzc2FnZQorCQkJdGVzdCAteiAiJHNraXBfYWxsIiB8fCBza2lwX2FsbD0iIyBTS0lQICRza2lwX2FsbCIKKwkJCWNhc2UgIiR0ZXN0X2NvdW50IiBpbgorCQkJMCkKKwkJCQlzYXkgIjEuLiR0ZXN0X2NvdW50JHtza2lwX2FsbDorICRza2lwX2FsbH0iCisJCQkJOzsKKwkJCSopCisJCQkJdGVzdCAteiAiJHNraXBfYWxsIiB8fAorCQkJCXNheV9jb2xvciB3YXJuICIkc2tpcF9hbGwiCisJCQkJc2F5ICIxLi4kdGVzdF9jb3VudCIKKwkJCQk7OworCQkJZXNhYwogCQlmaQogCi0JCXRlc3QgLWQgIiRyZW1vdmVfdHJhc2giICYmCi0JCWNkICIkKGRpcm5hbWUgIiRyZW1vdmVfdHJhc2giKSIgJiYKLQkJcm0gLXJmICIkKGJhc2VuYW1lICIkcmVtb3ZlX3RyYXNoIikiCisJCWlmIHRlc3QgLXogIiRkZWJ1ZyIKKwkJdGhlbgorCQkJdGVzdCAtZCAiJFRSQVNIX0RJUkVDVE9SWSIgfHwKKwkJCWVycm9yICJUZXN0cyBwYXNzZWQgYnV0IHRyYXNoIGRpcmVjdG9yeSBhbHJlYWR5IHJlbW92ZWQgYmVmb3JlIHRlc3QgY2xlYW51cDsgYWJvcnRpbmciCiAKKwkJCWNkICIkVFJBU0hfRElSRUNUT1JZLy4uIiAmJgorCQkJcm0gLWZyICIkVFJBU0hfRElSRUNUT1JZIiB8fAorCQkJZXJyb3IgIlRlc3RzIHBhc3NlZCBidXQgdGVzdCBjbGVhbnVwIGZhaWxlZDsgYWJvcnRpbmciCisJCWZpCiAJCXRlc3RfYXRfZW5kX2hvb2tfCiAKIAkJZXhpdCAwIDs7CkBAIC05MTksNyArOTM4LDYgQEAKIC8qKSA7OyAjIGFic29sdXRlIHBhdGggaXMgZ29vZAogICopIFRSQVNIX0RJUkVDVE9SWT0iJFRFU1RfT1VUUFVUX0RJUkVDVE9SWS8kVFJBU0hfRElSRUNUT1JZIiA7OwogZXNhYwotdGVzdCAhIC16ICIkZGVidWciIHx8IHJlbW92ZV90cmFzaD0kVFJBU0hfRElSRUNUT1JZCiBybSAtZnIgIiRUUkFTSF9ESVJFQ1RPUlkiIHx8IHsKIAlHSVRfRVhJVF9PSz10CiAJZWNobyA+JjUgIkZBVEFMOiBDYW5ub3QgcHJlcGFyZSB0ZXN0IGFyZWEiCkBAIC05NzcsOSArOTk1LDYgQEAKIAlmaW5kICgpIHsKIAkJL3Vzci9iaW4vZmluZCAiJEAiCiAJfQotCXN1bSAoKSB7Ci0JCW1kNXN1bSAiJEAiCi0JfQogCSMgZ2l0IHNlZXMgV2luZG93cy1zdHlsZSBwd2QKIAlwd2QgKCkgewogCQlidWlsdGluIHB3ZCAtVwpAQCAtMTAwOSw4ICsxMDI0LDkgQEAKIAogKCBDT0xVTU5TPTEgJiYgdGVzdCAkQ09MVU1OUyA9IDEgKSAmJiB0ZXN0X3NldF9wcmVyZXEgQ09MVU1OU19DQU5fQkVfMQogdGVzdCAteiAiJE5PX1BFUkwiICYmIHRlc3Rfc2V0X3ByZXJlcSBQRVJMCit0ZXN0IC16ICIkTk9fUFRIUkVBRFMiICYmIHRlc3Rfc2V0X3ByZXJlcSBQVEhSRUFEUwogdGVzdCAteiAiJE5PX1BZVEhPTiIgJiYgdGVzdF9zZXRfcHJlcmVxIFBZVEhPTgotdGVzdCAtbiAiJFVTRV9MSUJQQ1JFIiAmJiB0ZXN0X3NldF9wcmVyZXEgTElCUENSRQordGVzdCAtbiAiJFVTRV9MSUJQQ1JFMSRVU0VfTElCUENSRTIiICYmIHRlc3Rfc2V0X3ByZXJlcSBQQ1JFCiB0ZXN0IC16ICIkTk9fR0VUVEVYVCIgJiYgdGVzdF9zZXRfcHJlcmVxIEdFVFRFWFQKIAogIyBDYW4gd2UgcmVseSBvbiBnaXQncyBvdXRwdXQgaW4gdGhlIEMgbG9jYWxlPwpAQCAtMTA1MSwxNCArMTA2Nyw4IEBACiAKIHRlc3RfbGF6eV9wcmVyZXEgUElQRSAnCiAJIyB0ZXN0IHdoZXRoZXIgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgRklGT3MKLQljYXNlICQodW5hbWUgLXMpIGluCi0JQ1lHV0lOKnxNSU5HVyopCi0JCWZhbHNlCi0JCTs7Ci0JKikKLQkJcm0gLWYgdGVzdGZpZm8gJiYgbWtmaWZvIHRlc3RmaWZvCi0JCTs7Ci0JZXNhYworCXRlc3RfaGF2ZV9wcmVyZXEgIU1JTkdXLCFDWUdXSU4gJiYKKwlybSAtZiB0ZXN0ZmlmbyAmJiBta2ZpZm8gdGVzdGZpZm8KICcKIAogdGVzdF9sYXp5X3ByZXJlcSBTWU1MSU5LUyAnCkBAIC0xMTU0LDcgKzExNjQsMTkgQEAKIAkodWxpbWl0IC1zIDEyOCAmJiAiJEAiKQogfQogCi10ZXN0X2xhenlfcHJlcmVxIENNRExJTkVfTElNSVQgJ3J1bl93aXRoX2xpbWl0ZWRfY21kbGluZSB0cnVlJwordGVzdF9sYXp5X3ByZXJlcSBDTURMSU5FX0xJTUlUICcKKwl0ZXN0X2hhdmVfcHJlcmVxICFNSU5HVywhQ1lHV0lOICYmCisJcnVuX3dpdGhfbGltaXRlZF9jbWRsaW5lIHRydWUKKycKKworcnVuX3dpdGhfbGltaXRlZF9zdGFjayAoKSB7CisJKHVsaW1pdCAtcyAxMjggJiYgIiRAIikKK30KKwordGVzdF9sYXp5X3ByZXJlcSBVTElNSVRfU1RBQ0tfU0laRSAnCisJdGVzdF9oYXZlX3ByZXJlcSAhTUlOR1csIUNZR1dJTiAmJgorCXJ1bl93aXRoX2xpbWl0ZWRfc3RhY2sgdHJ1ZQorJwogCiBidWlsZF9vcHRpb24gKCkgewogCWdpdCB2ZXJzaW9uIC0tYnVpbGQtb3B0aW9ucyB8CkBAIC0xMTY0LDMgKzExODYsNiBAQAogdGVzdF9sYXp5X3ByZXJlcSBMT05HX0lTXzY0QklUICcKIAl0ZXN0IDggLWxlICIkKGJ1aWxkX29wdGlvbiBzaXplb2YtbG9uZykiCiAnCisKK3Rlc3RfbGF6eV9wcmVyZXEgVElNRV9JU182NEJJVCAndGVzdC1kYXRlIGlzNjRiaXQnCit0ZXN0X2xhenlfcHJlcmVxIFRJTUVfVF9JU182NEJJVCAndGVzdC1kYXRlIHRpbWVfdC1pczY0Yml0JwpkaWZmIC0tZ2l0IGEvdGFnLmMgYi90YWcuYwppbmRleCAyNDNkMWZkLi5mY2JlMDEyIDEwMDY0NAotLS0gYS90YWcuYworKysgYi90YWcuYwpAQCAtMzMsNyArMzMsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBncGdfdmVyaWZ5X3RhZyhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICpuYW1lX3RvX3JlcG9ydCwKK2ludCBncGdfdmVyaWZ5X3RhZyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKm5hbWVfdG9fcmVwb3J0LAogCQl1bnNpZ25lZCBmbGFncykKIHsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CkBAIC00MSwyMCArNDEsMjAgQEAKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJaW50IHJldDsKIAotCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKHNoYTEsIE5VTEwpOworCXR5cGUgPSBzaGExX29iamVjdF9pbmZvKG9pZC0+aGFzaCwgTlVMTCk7CiAJaWYgKHR5cGUgIT0gT0JKX1RBRykKIAkJcmV0dXJuIGVycm9yKCIlczogY2Fubm90IHZlcmlmeSBhIG5vbi10YWcgb2JqZWN0IG9mIHR5cGUgJXMuIiwKIAkJCQluYW1lX3RvX3JlcG9ydCA/CiAJCQkJbmFtZV90b19yZXBvcnQgOgotCQkJCWZpbmRfdW5pcXVlX2FiYnJldihzaGExLCBERUZBVUxUX0FCQlJFViksCisJCQkJZmluZF91bmlxdWVfYWJicmV2KG9pZC0+aGFzaCwgREVGQVVMVF9BQkJSRVYpLAogCQkJCXR5cGVuYW1lKHR5cGUpKTsKIAotCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJYnVmID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgJnNpemUpOwogCWlmICghYnVmKQogCQlyZXR1cm4gZXJyb3IoIiVzOiB1bmFibGUgdG8gcmVhZCBmaWxlLiIsCiAJCQkJbmFtZV90b19yZXBvcnQgPwogCQkJCW5hbWVfdG9fcmVwb3J0IDoKLQkJCQlmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgREVGQVVMVF9BQkJSRVYpKTsKKwkJCQlmaW5kX3VuaXF1ZV9hYmJyZXYob2lkLT5oYXNoLCBERUZBVUxUX0FCQlJFVikpOwogCiAJcmV0ID0gcnVuX2dwZ192ZXJpZnkoYnVmLCBzaXplLCBmbGFncyk7CiAKQEAgLTY2LDcgKzY2LDcgQEAKIHsKIAl3aGlsZSAobyAmJiBvLT50eXBlID09IE9CSl9UQUcpCiAJCWlmICgoKHN0cnVjdCB0YWcgKilvKS0+dGFnZ2VkKQotCQkJbyA9IHBhcnNlX29iamVjdCgoKHN0cnVjdCB0YWcgKilvKS0+dGFnZ2VkLT5vaWQuaGFzaCk7CisJCQlvID0gcGFyc2Vfb2JqZWN0KCYoKHN0cnVjdCB0YWcgKilvKS0+dGFnZ2VkLT5vaWQpOwogCQllbHNlCiAJCQlvID0gTlVMTDsKIAlpZiAoIW8gJiYgd2FybikgewpAQCAtODAsNyArODAsNyBAQAogc3RydWN0IG9iamVjdCAqZGVyZWZfdGFnX25vdmVyaWZ5KHN0cnVjdCBvYmplY3QgKm8pCiB7CiAJd2hpbGUgKG8gJiYgby0+dHlwZSA9PSBPQkpfVEFHKSB7Ci0JCW8gPSBwYXJzZV9vYmplY3Qoby0+b2lkLmhhc2gpOworCQlvID0gcGFyc2Vfb2JqZWN0KCZvLT5vaWQpOwogCQlpZiAobyAmJiBvLT50eXBlID09IE9CSl9UQUcgJiYgKChzdHJ1Y3QgdGFnICopbyktPnRhZ2dlZCkKIAkJCW8gPSAoKHN0cnVjdCB0YWcgKilvKS0+dGFnZ2VkOwogCQllbHNlCkBAIC04OSwxNSArODksMTUgQEAKIAlyZXR1cm4gbzsKIH0KIAotc3RydWN0IHRhZyAqbG9va3VwX3RhZyhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RydWN0IHRhZyAqbG9va3VwX3RhZyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChzaGExKTsKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfb2JqZWN0KG9pZC0+aGFzaCk7CiAJaWYgKCFvYmopCi0JCXJldHVybiBjcmVhdGVfb2JqZWN0KHNoYTEsIGFsbG9jX3RhZ19ub2RlKCkpOworCQlyZXR1cm4gY3JlYXRlX29iamVjdChvaWQtPmhhc2gsIGFsbG9jX3RhZ19ub2RlKCkpOwogCXJldHVybiBvYmplY3RfYXNfdHlwZShvYmosIE9CSl9UQUcsIDApOwogfQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBwYXJzZV90YWdfZGF0ZShjb25zdCBjaGFyICpidWYsIGNvbnN0IGNoYXIgKnRhaWwpCitzdGF0aWMgdGltZXN0YW1wX3QgcGFyc2VfdGFnX2RhdGUoY29uc3QgY2hhciAqYnVmLCBjb25zdCBjaGFyICp0YWlsKQogewogCWNvbnN0IGNoYXIgKmRhdGVwdHI7CiAKQEAgLTExMCwxMyArMTEwLDEzIEBACiAJCS8qIG5hZGEgKi87CiAJaWYgKGJ1ZiA+PSB0YWlsKQogCQlyZXR1cm4gMDsKLQkvKiBkYXRlcHRyIDwgYnVmICYmIGJ1ZlstMV0gPT0gJ1xuJywgc28gc3RydG91bCB3aWxsIHN0b3AgYXQgYnVmLTEgKi8KLQlyZXR1cm4gc3RydG91bChkYXRlcHRyLCBOVUxMLCAxMCk7CisJLyogZGF0ZXB0ciA8IGJ1ZiAmJiBidWZbLTFdID09ICdcbicsIHNvIHBhcnNpbmcgd2lsbCBzdG9wIGF0IGJ1Zi0xICovCisJcmV0dXJuIHBhcnNlX3RpbWVzdGFtcChkYXRlcHRyLCBOVUxMLCAxMCk7CiB9CiAKIGludCBwYXJzZV90YWdfYnVmZmVyKHN0cnVjdCB0YWcgKml0ZW0sIGNvbnN0IHZvaWQgKmRhdGEsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNoYXIgdHlwZVsyMF07CiAJY29uc3QgY2hhciAqYnVmcHRyID0gZGF0YTsKIAljb25zdCBjaGFyICp0YWlsID0gYnVmcHRyICsgc2l6ZTsKQEAgLTEyNiwxMSArMTI2LDEwIEBACiAJCXJldHVybiAwOwogCWl0ZW0tPm9iamVjdC5wYXJzZWQgPSAxOwogCi0JaWYgKHNpemUgPCA2NCkKKwlpZiAoc2l6ZSA8IEdJVF9TSEExX0hFWFNaICsgMjQpCiAJCXJldHVybiAtMTsKLQlpZiAobWVtY21wKCJvYmplY3QgIiwgYnVmcHRyLCA3KSB8fCBnZXRfc2hhMV9oZXgoYnVmcHRyICsgNywgc2hhMSkgfHwgYnVmcHRyWzQ3XSAhPSAnXG4nKQorCWlmIChtZW1jbXAoIm9iamVjdCAiLCBidWZwdHIsIDcpIHx8IHBhcnNlX29pZF9oZXgoYnVmcHRyICsgNywgJm9pZCwgJmJ1ZnB0cikgfHwgKmJ1ZnB0cisrICE9ICdcbicpCiAJCXJldHVybiAtMTsKLQlidWZwdHIgKz0gNDg7IC8qICJvYmplY3QgIiArIHNoYTEgKyAiXG4iICovCiAKIAlpZiAoIXN0YXJ0c193aXRoKGJ1ZnB0ciwgInR5cGUgIikpCiAJCXJldHVybiAtMTsKQEAgLTE0MywxMyArMTQyLDEzIEBACiAJYnVmcHRyID0gbmwgKyAxOwogCiAJaWYgKCFzdHJjbXAodHlwZSwgYmxvYl90eXBlKSkgewotCQlpdGVtLT50YWdnZWQgPSAmbG9va3VwX2Jsb2Ioc2hhMSktPm9iamVjdDsKKwkJaXRlbS0+dGFnZ2VkID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfYmxvYigmb2lkKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAodHlwZSwgdHJlZV90eXBlKSkgewotCQlpdGVtLT50YWdnZWQgPSAmbG9va3VwX3RyZWUoc2hhMSktPm9iamVjdDsKKwkJaXRlbS0+dGFnZ2VkID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfdHJlZSgmb2lkKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAodHlwZSwgY29tbWl0X3R5cGUpKSB7Ci0JCWl0ZW0tPnRhZ2dlZCA9ICZsb29rdXBfY29tbWl0KHNoYTEpLT5vYmplY3Q7CisJCWl0ZW0tPnRhZ2dlZCA9IChzdHJ1Y3Qgb2JqZWN0ICopbG9va3VwX2NvbW1pdCgmb2lkKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAodHlwZSwgdGFnX3R5cGUpKSB7Ci0JCWl0ZW0tPnRhZ2dlZCA9ICZsb29rdXBfdGFnKHNoYTEpLT5vYmplY3Q7CisJCWl0ZW0tPnRhZ2dlZCA9IChzdHJ1Y3Qgb2JqZWN0ICopbG9va3VwX3RhZygmb2lkKTsKIAl9IGVsc2UgewogCQllcnJvcigiVW5rbm93biB0eXBlICVzIiwgdHlwZSk7CiAJCWl0ZW0tPnRhZ2dlZCA9IE5VTEw7CmRpZmYgLS1naXQgYS90YWcuaCBiL3RhZy5oCmluZGV4IGE1NzIxYjYuLmQ0Njk1MzQgMTAwNjQ0Ci0tLSBhL3RhZy5oCisrKyBiL3RhZy5oCkBAIC05LDE1ICs5LDE1IEBACiAJc3RydWN0IG9iamVjdCBvYmplY3Q7CiAJc3RydWN0IG9iamVjdCAqdGFnZ2VkOwogCWNoYXIgKnRhZzsKLQl1bnNpZ25lZCBsb25nIGRhdGU7CisJdGltZXN0YW1wX3QgZGF0ZTsKIH07CiAKLWV4dGVybiBzdHJ1Y3QgdGFnICpsb29rdXBfdGFnKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworZXh0ZXJuIHN0cnVjdCB0YWcgKmxvb2t1cF90YWcoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIGV4dGVybiBpbnQgcGFyc2VfdGFnX2J1ZmZlcihzdHJ1Y3QgdGFnICppdGVtLCBjb25zdCB2b2lkICpkYXRhLCB1bnNpZ25lZCBsb25nIHNpemUpOwogZXh0ZXJuIGludCBwYXJzZV90YWcoc3RydWN0IHRhZyAqaXRlbSk7CiBleHRlcm4gc3RydWN0IG9iamVjdCAqZGVyZWZfdGFnKHN0cnVjdCBvYmplY3QgKiwgY29uc3QgY2hhciAqLCBpbnQpOwogZXh0ZXJuIHN0cnVjdCBvYmplY3QgKmRlcmVmX3RhZ19ub3ZlcmlmeShzdHJ1Y3Qgb2JqZWN0ICopOwotZXh0ZXJuIGludCBncGdfdmVyaWZ5X3RhZyhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorZXh0ZXJuIGludCBncGdfdmVyaWZ5X3RhZyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCWNvbnN0IGNoYXIgKm5hbWVfdG9fcmVwb3J0LCB1bnNpZ25lZCBmbGFncyk7CiAKICNlbmRpZiAvKiBUQUdfSCAqLwpkaWZmIC0tZ2l0IGEvdGVtcGZpbGUuYyBiL3RlbXBmaWxlLmMKaW5kZXggNjg0MzcxMC4uNWZkYWZkZCAxMDA2NDQKLS0tIGEvdGVtcGZpbGUuYworKysgYi90ZW1wZmlsZS5jCkBAIC0zMCwyMSArMzAsMTkgQEAKICAqICAgICBgZmRvcGVuX3RlbXBmaWxlKClgIGhhcyBiZWVuIGNhbGxlZCBvbiB0aGUgb2JqZWN0CiAgKiAgIC0gYG93bmVyYCBob2xkcyB0aGUgUElEIG9mIHRoZSBwcm9jZXNzIHRoYXQgY3JlYXRlZCB0aGUgZmlsZQogICoKLSAqIC0gQWN0aXZlLCBmaWxlIGNsb3NlZCAoYWZ0ZXIgc3VjY2Vzc2Z1bCBgY2xvc2VfdGVtcGZpbGUoKWApLiBTYW1lCisgKiAtIEFjdGl2ZSwgZmlsZSBjbG9zZWQgKGFmdGVyIGBjbG9zZV90ZW1wZmlsZV9nZW50bHkoKWApLiBTYW1lCiAgKiAgIGFzIHRoZSBwcmV2aW91cyBzdGF0ZSwgZXhjZXB0IHRoYXQgdGhlIHRlbXBvcmFyeSBmaWxlIGlzIGNsb3NlZCwKICAqICAgYGZkYCBpcyAtMSwgYW5kIGBmcGAgaXMgYE5VTExgLgogICoKLSAqIC0gSW5hY3RpdmUgKGFmdGVyIGBkZWxldGVfdGVtcGZpbGUoKWAsIGByZW5hbWVfdGVtcGZpbGUoKWAsIGEKLSAqICAgZmFpbGVkIGF0dGVtcHQgdG8gY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUsIG9yIGEgZmFpbGVkCi0gKiAgIGBjbG9zZV90ZW1wZmlsZSgpYCkuIEluIHRoaXMgc3RhdGU6CisgKiAtIEluYWN0aXZlIChhZnRlciBgZGVsZXRlX3RlbXBmaWxlKClgLCBgcmVuYW1lX3RlbXBmaWxlKClgLCBvciBhCisgKiAgIGZhaWxlZCBhdHRlbXB0IHRvIGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlKS4gSW4gdGhpcyBzdGF0ZToKICAqCiAgKiAgIC0gYGFjdGl2ZWAgaXMgdW5zZXQKICAqICAgLSBgZmlsZW5hbWVgIGlzIGVtcHR5ICh1c3VhbGx5LCB0aG91Z2ggdGhlcmUgYXJlIHRyYW5zaXRvcnkKICAqICAgICBzdGF0ZXMgaW4gd2hpY2ggdGhpcyBjb25kaXRpb24gZG9lc24ndCBob2xkKS4gQ2xpZW50IGNvZGUgc2hvdWxkCiAgKiAgICAgKm5vdCogcmVseSBvbiB0aGUgZmlsZW5hbWUgYmVpbmcgZW1wdHkgaW4gdGhpcyBzdGF0ZS4KICAqICAgLSBgZmRgIGlzIC0xIGFuZCBgZnBgIGlzIGBOVUxMYAotICogICAtIHRoZSBvYmplY3QgaXMgbGVmdCByZWdpc3RlcmVkIGluIHRoZSBgdGVtcGZpbGVfbGlzdGAsIGFuZAotICogICAgIGBvbl9saXN0YCBpcyBzZXQuCisgKiAgIC0gdGhlIG9iamVjdCBpcyByZW1vdmVkIGZyb20gYHRlbXBmaWxlX2xpc3RgIChidXQgY291bGQgYmUgdXNlZCBhZ2FpbikKICAqCiAgKiBBIHRlbXBvcmFyeSBmaWxlIGlzIG93bmVkIGJ5IHRoZSBwcm9jZXNzIHRoYXQgY3JlYXRlZCBpdC4gVGhlCiAgKiBgdGVtcGZpbGVgIGhhcyBhbiBgb3duZXJgIGZpZWxkIHRoYXQgcmVjb3JkcyB0aGUgb3duZXIncyBQSUQuIFRoaXMKQEAgLTU2LDIwICs1NCwyOCBAQAogI2luY2x1ZGUgInRlbXBmaWxlLmgiCiAjaW5jbHVkZSAic2lnY2hhaW4uaCIKIAotc3RhdGljIHN0cnVjdCB0ZW1wZmlsZSAqdm9sYXRpbGUgdGVtcGZpbGVfbGlzdDsKK3N0YXRpYyBWT0xBVElMRV9MSVNUX0hFQUQodGVtcGZpbGVfbGlzdCk7CiAKLXN0YXRpYyB2b2lkIHJlbW92ZV90ZW1wZmlsZXMoaW50IHNraXBfZmNsb3NlKQorc3RhdGljIHZvaWQgcmVtb3ZlX3RlbXBmaWxlcyhpbnQgaW5fc2lnbmFsX2hhbmRsZXIpCiB7CiAJcGlkX3QgbWUgPSBnZXRwaWQoKTsKKwl2b2xhdGlsZSBzdHJ1Y3Qgdm9sYXRpbGVfbGlzdF9oZWFkICpwb3M7CiAKLQl3aGlsZSAodGVtcGZpbGVfbGlzdCkgewotCQlpZiAodGVtcGZpbGVfbGlzdC0+b3duZXIgPT0gbWUpIHsKLQkJCS8qIGZjbG9zZSgpIGlzIG5vdCBzYWZlIHRvIGNhbGwgaW4gYSBzaWduYWwgaGFuZGxlciAqLwotCQkJaWYgKHNraXBfZmNsb3NlKQotCQkJCXRlbXBmaWxlX2xpc3QtPmZwID0gTlVMTDsKLQkJCWRlbGV0ZV90ZW1wZmlsZSh0ZW1wZmlsZV9saXN0KTsKLQkJfQotCQl0ZW1wZmlsZV9saXN0ID0gdGVtcGZpbGVfbGlzdC0+bmV4dDsKKwlsaXN0X2Zvcl9lYWNoKHBvcywgJnRlbXBmaWxlX2xpc3QpIHsKKwkJc3RydWN0IHRlbXBmaWxlICpwID0gbGlzdF9lbnRyeShwb3MsIHN0cnVjdCB0ZW1wZmlsZSwgbGlzdCk7CisKKwkJaWYgKCFpc190ZW1wZmlsZV9hY3RpdmUocCkgfHwgcC0+b3duZXIgIT0gbWUpCisJCQljb250aW51ZTsKKworCQlpZiAocC0+ZmQgPj0gMCkKKwkJCWNsb3NlKHAtPmZkKTsKKworCQlpZiAoaW5fc2lnbmFsX2hhbmRsZXIpCisJCQl1bmxpbmsocC0+ZmlsZW5hbWUuYnVmKTsKKwkJZWxzZQorCQkJdW5saW5rX29yX3dhcm4ocC0+ZmlsZW5hbWUuYnVmKTsKKworCQlwLT5hY3RpdmUgPSAwOwogCX0KIH0KIApAQCAtODUsMzkgKzkxLDQ4IEBACiAJcmFpc2Uoc2lnbm8pOwogfQogCi0vKgotICogSW5pdGlhbGl6ZSAqdGVtcGZpbGUgaWYgbmVjZXNzYXJ5IGFuZCBhZGQgaXQgdG8gdGVtcGZpbGVfbGlzdC4KLSAqLwotc3RhdGljIHZvaWQgcHJlcGFyZV90ZW1wZmlsZV9vYmplY3Qoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSkKK3N0YXRpYyBzdHJ1Y3QgdGVtcGZpbGUgKm5ld190ZW1wZmlsZSh2b2lkKQogewotCWlmICghdGVtcGZpbGVfbGlzdCkgewotCQkvKiBPbmUtdGltZSBpbml0aWFsaXphdGlvbiAqLworCXN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUgPSB4bWFsbG9jKHNpemVvZigqdGVtcGZpbGUpKTsKKwl0ZW1wZmlsZS0+ZmQgPSAtMTsKKwl0ZW1wZmlsZS0+ZnAgPSBOVUxMOworCXRlbXBmaWxlLT5hY3RpdmUgPSAwOworCXRlbXBmaWxlLT5vd25lciA9IDA7CisJSU5JVF9MSVNUX0hFQUQoJnRlbXBmaWxlLT5saXN0KTsKKwlzdHJidWZfaW5pdCgmdGVtcGZpbGUtPmZpbGVuYW1lLCAwKTsKKwlyZXR1cm4gdGVtcGZpbGU7Cit9CisKK3N0YXRpYyB2b2lkIGFjdGl2YXRlX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpCit7CisJc3RhdGljIGludCBpbml0aWFsaXplZDsKKworCWlmIChpc190ZW1wZmlsZV9hY3RpdmUodGVtcGZpbGUpKQorCQlCVUcoImFjdGl2YXRlX3RlbXBmaWxlIGNhbGxlZCBmb3IgYWN0aXZlIG9iamVjdCIpOworCisJaWYgKCFpbml0aWFsaXplZCkgewogCQlzaWdjaGFpbl9wdXNoX2NvbW1vbihyZW1vdmVfdGVtcGZpbGVzX29uX3NpZ25hbCk7CiAJCWF0ZXhpdChyZW1vdmVfdGVtcGZpbGVzX29uX2V4aXQpOworCQlpbml0aWFsaXplZCA9IDE7CiAJfQogCi0JaWYgKHRlbXBmaWxlLT5hY3RpdmUpCi0JCWRpZSgiQlVHOiBwcmVwYXJlX3RlbXBmaWxlX29iamVjdCBjYWxsZWQgZm9yIGFjdGl2ZSBvYmplY3QiKTsKLQlpZiAoIXRlbXBmaWxlLT5vbl9saXN0KSB7Ci0JCS8qIEluaXRpYWxpemUgKnRlbXBmaWxlIGFuZCBhZGQgaXQgdG8gdGVtcGZpbGVfbGlzdDogKi8KLQkJdGVtcGZpbGUtPmZkID0gLTE7Ci0JCXRlbXBmaWxlLT5mcCA9IE5VTEw7Ci0JCXRlbXBmaWxlLT5hY3RpdmUgPSAwOwotCQl0ZW1wZmlsZS0+b3duZXIgPSAwOwotCQlzdHJidWZfaW5pdCgmdGVtcGZpbGUtPmZpbGVuYW1lLCAwKTsKLQkJdGVtcGZpbGUtPm5leHQgPSB0ZW1wZmlsZV9saXN0OwotCQl0ZW1wZmlsZV9saXN0ID0gdGVtcGZpbGU7Ci0JCXRlbXBmaWxlLT5vbl9saXN0ID0gMTsKLQl9IGVsc2UgaWYgKHRlbXBmaWxlLT5maWxlbmFtZS5sZW4pIHsKLQkJLyogVGhpcyBzaG91bGRuJ3QgaGFwcGVuLCBidXQgYmV0dGVyIHNhZmUgdGhhbiBzb3JyeS4gKi8KLQkJZGllKCJCVUc6IHByZXBhcmVfdGVtcGZpbGVfb2JqZWN0IGNhbGxlZCBmb3IgaW1wcm9wZXJseS1yZXNldCBvYmplY3QiKTsKLQl9CisJdm9sYXRpbGVfbGlzdF9hZGQoJnRlbXBmaWxlLT5saXN0LCAmdGVtcGZpbGVfbGlzdCk7CisJdGVtcGZpbGUtPm93bmVyID0gZ2V0cGlkKCk7CisJdGVtcGZpbGUtPmFjdGl2ZSA9IDE7Cit9CisKK3N0YXRpYyB2b2lkIGRlYWN0aXZhdGVfdGVtcGZpbGUoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSkKK3sKKwl0ZW1wZmlsZS0+YWN0aXZlID0gMDsKKwlzdHJidWZfcmVsZWFzZSgmdGVtcGZpbGUtPmZpbGVuYW1lKTsKKwl2b2xhdGlsZV9saXN0X2RlbCgmdGVtcGZpbGUtPmxpc3QpOworCWZyZWUodGVtcGZpbGUpOwogfQogCiAvKiBNYWtlIHN1cmUgZXJybm8gY29udGFpbnMgYSBtZWFuaW5nZnVsIHZhbHVlIG9uIGVycm9yICovCi1pbnQgY3JlYXRlX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUsIGNvbnN0IGNoYXIgKnBhdGgpCitzdHJ1Y3QgdGVtcGZpbGUgKmNyZWF0ZV90ZW1wZmlsZShjb25zdCBjaGFyICpwYXRoKQogewotCXByZXBhcmVfdGVtcGZpbGVfb2JqZWN0KHRlbXBmaWxlKTsKKwlzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlID0gbmV3X3RlbXBmaWxlKCk7CiAKIAlzdHJidWZfYWRkX2Fic29sdXRlX3BhdGgoJnRlbXBmaWxlLT5maWxlbmFtZSwgcGF0aCk7CiAJdGVtcGZpbGUtPmZkID0gb3Blbih0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmLApAQCAtMTI3LDUyICsxNDIsNDggQEAKIAkJdGVtcGZpbGUtPmZkID0gb3Blbih0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmLAogCQkJCSAgICBPX1JEV1IgfCBPX0NSRUFUIHwgT19FWENMLCAwNjY2KTsKIAlpZiAodGVtcGZpbGUtPmZkIDwgMCkgewotCQlzdHJidWZfcmVzZXQoJnRlbXBmaWxlLT5maWxlbmFtZSk7Ci0JCXJldHVybiAtMTsKKwkJZGVhY3RpdmF0ZV90ZW1wZmlsZSh0ZW1wZmlsZSk7CisJCXJldHVybiBOVUxMOwogCX0KLQl0ZW1wZmlsZS0+b3duZXIgPSBnZXRwaWQoKTsKLQl0ZW1wZmlsZS0+YWN0aXZlID0gMTsKKwlhY3RpdmF0ZV90ZW1wZmlsZSh0ZW1wZmlsZSk7CiAJaWYgKGFkanVzdF9zaGFyZWRfcGVybSh0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmKSkgewogCQlpbnQgc2F2ZV9lcnJubyA9IGVycm5vOwogCQllcnJvcigiY2Fubm90IGZpeCBwZXJtaXNzaW9uIGJpdHMgb24gJXMiLCB0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmKTsKLQkJZGVsZXRlX3RlbXBmaWxlKHRlbXBmaWxlKTsKKwkJZGVsZXRlX3RlbXBmaWxlKCZ0ZW1wZmlsZSk7CiAJCWVycm5vID0gc2F2ZV9lcnJubzsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gTlVMTDsKIAl9Ci0JcmV0dXJuIHRlbXBmaWxlLT5mZDsKKworCXJldHVybiB0ZW1wZmlsZTsKIH0KIAotdm9pZCByZWdpc3Rlcl90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLCBjb25zdCBjaGFyICpwYXRoKQorc3RydWN0IHRlbXBmaWxlICpyZWdpc3Rlcl90ZW1wZmlsZShjb25zdCBjaGFyICpwYXRoKQogewotCXByZXBhcmVfdGVtcGZpbGVfb2JqZWN0KHRlbXBmaWxlKTsKKwlzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlID0gbmV3X3RlbXBmaWxlKCk7CiAJc3RyYnVmX2FkZF9hYnNvbHV0ZV9wYXRoKCZ0ZW1wZmlsZS0+ZmlsZW5hbWUsIHBhdGgpOwotCXRlbXBmaWxlLT5vd25lciA9IGdldHBpZCgpOwotCXRlbXBmaWxlLT5hY3RpdmUgPSAxOworCWFjdGl2YXRlX3RlbXBmaWxlKHRlbXBmaWxlKTsKKwlyZXR1cm4gdGVtcGZpbGU7CiB9CiAKLWludCBta3NfdGVtcGZpbGVfc20oc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSwKLQkJICAgIGNvbnN0IGNoYXIgKnRlbXBsYXRlLCBpbnQgc3VmZml4bGVuLCBpbnQgbW9kZSkKK3N0cnVjdCB0ZW1wZmlsZSAqbWtzX3RlbXBmaWxlX3NtKGNvbnN0IGNoYXIgKnRlbXBsYXRlLCBpbnQgc3VmZml4bGVuLCBpbnQgbW9kZSkKIHsKLQlwcmVwYXJlX3RlbXBmaWxlX29iamVjdCh0ZW1wZmlsZSk7CisJc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSA9IG5ld190ZW1wZmlsZSgpOwogCiAJc3RyYnVmX2FkZF9hYnNvbHV0ZV9wYXRoKCZ0ZW1wZmlsZS0+ZmlsZW5hbWUsIHRlbXBsYXRlKTsKIAl0ZW1wZmlsZS0+ZmQgPSBnaXRfbWtzdGVtcHNfbW9kZSh0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmLCBzdWZmaXhsZW4sIG1vZGUpOwogCWlmICh0ZW1wZmlsZS0+ZmQgPCAwKSB7Ci0JCXN0cmJ1Zl9yZXNldCgmdGVtcGZpbGUtPmZpbGVuYW1lKTsKLQkJcmV0dXJuIC0xOworCQlkZWFjdGl2YXRlX3RlbXBmaWxlKHRlbXBmaWxlKTsKKwkJcmV0dXJuIE5VTEw7CiAJfQotCXRlbXBmaWxlLT5vd25lciA9IGdldHBpZCgpOwotCXRlbXBmaWxlLT5hY3RpdmUgPSAxOwotCXJldHVybiB0ZW1wZmlsZS0+ZmQ7CisJYWN0aXZhdGVfdGVtcGZpbGUodGVtcGZpbGUpOworCXJldHVybiB0ZW1wZmlsZTsKIH0KIAotaW50IG1rc190ZW1wZmlsZV90c20oc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSwKLQkJICAgICBjb25zdCBjaGFyICp0ZW1wbGF0ZSwgaW50IHN1ZmZpeGxlbiwgaW50IG1vZGUpCitzdHJ1Y3QgdGVtcGZpbGUgKm1rc190ZW1wZmlsZV90c20oY29uc3QgY2hhciAqdGVtcGxhdGUsIGludCBzdWZmaXhsZW4sIGludCBtb2RlKQogeworCXN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUgPSBuZXdfdGVtcGZpbGUoKTsKIAljb25zdCBjaGFyICp0bXBkaXI7CiAKLQlwcmVwYXJlX3RlbXBmaWxlX29iamVjdCh0ZW1wZmlsZSk7Ci0KIAl0bXBkaXIgPSBnZXRlbnYoIlRNUERJUiIpOwogCWlmICghdG1wZGlyKQogCQl0bXBkaXIgPSAiL3RtcCI7CkBAIC0xODAsMzUgKzE5MSwzNCBAQAogCXN0cmJ1Zl9hZGRmKCZ0ZW1wZmlsZS0+ZmlsZW5hbWUsICIlcy8lcyIsIHRtcGRpciwgdGVtcGxhdGUpOwogCXRlbXBmaWxlLT5mZCA9IGdpdF9ta3N0ZW1wc19tb2RlKHRlbXBmaWxlLT5maWxlbmFtZS5idWYsIHN1ZmZpeGxlbiwgbW9kZSk7CiAJaWYgKHRlbXBmaWxlLT5mZCA8IDApIHsKLQkJc3RyYnVmX3Jlc2V0KCZ0ZW1wZmlsZS0+ZmlsZW5hbWUpOwotCQlyZXR1cm4gLTE7CisJCWRlYWN0aXZhdGVfdGVtcGZpbGUodGVtcGZpbGUpOworCQlyZXR1cm4gTlVMTDsKIAl9Ci0JdGVtcGZpbGUtPm93bmVyID0gZ2V0cGlkKCk7Ci0JdGVtcGZpbGUtPmFjdGl2ZSA9IDE7Ci0JcmV0dXJuIHRlbXBmaWxlLT5mZDsKKwlhY3RpdmF0ZV90ZW1wZmlsZSh0ZW1wZmlsZSk7CisJcmV0dXJuIHRlbXBmaWxlOwogfQogCi1pbnQgeG1rc190ZW1wZmlsZV9tKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUsIGNvbnN0IGNoYXIgKnRlbXBsYXRlLCBpbnQgbW9kZSkKK3N0cnVjdCB0ZW1wZmlsZSAqeG1rc190ZW1wZmlsZV9tKGNvbnN0IGNoYXIgKnRlbXBsYXRlLCBpbnQgbW9kZSkKIHsKLQlpbnQgZmQ7CisJc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZTsKIAlzdHJ1Y3Qgc3RyYnVmIGZ1bGxfdGVtcGxhdGUgPSBTVFJCVUZfSU5JVDsKIAogCXN0cmJ1Zl9hZGRfYWJzb2x1dGVfcGF0aCgmZnVsbF90ZW1wbGF0ZSwgdGVtcGxhdGUpOwotCWZkID0gbWtzX3RlbXBmaWxlX20odGVtcGZpbGUsIGZ1bGxfdGVtcGxhdGUuYnVmLCBtb2RlKTsKLQlpZiAoZmQgPCAwKQorCXRlbXBmaWxlID0gbWtzX3RlbXBmaWxlX20oZnVsbF90ZW1wbGF0ZS5idWYsIG1vZGUpOworCWlmICghdGVtcGZpbGUpCiAJCWRpZV9lcnJubygiVW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSAnJXMnIiwKIAkJCSAgZnVsbF90ZW1wbGF0ZS5idWYpOwogCiAJc3RyYnVmX3JlbGVhc2UoJmZ1bGxfdGVtcGxhdGUpOwotCXJldHVybiBmZDsKKwlyZXR1cm4gdGVtcGZpbGU7CiB9CiAKIEZJTEUgKmZkb3Blbl90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLCBjb25zdCBjaGFyICptb2RlKQogewotCWlmICghdGVtcGZpbGUtPmFjdGl2ZSkKLQkJZGllKCJCVUc6IGZkb3Blbl90ZW1wZmlsZSgpIGNhbGxlZCBmb3IgaW5hY3RpdmUgb2JqZWN0Iik7CisJaWYgKCFpc190ZW1wZmlsZV9hY3RpdmUodGVtcGZpbGUpKQorCQlCVUcoImZkb3Blbl90ZW1wZmlsZSgpIGNhbGxlZCBmb3IgaW5hY3RpdmUgb2JqZWN0Iik7CiAJaWYgKHRlbXBmaWxlLT5mcCkKLQkJZGllKCJCVUc6IGZkb3Blbl90ZW1wZmlsZSgpIGNhbGxlZCBmb3Igb3BlbiBvYmplY3QiKTsKKwkJQlVHKCJmZG9wZW5fdGVtcGZpbGUoKSBjYWxsZWQgZm9yIG9wZW4gb2JqZWN0Iik7CiAKIAl0ZW1wZmlsZS0+ZnAgPSBmZG9wZW4odGVtcGZpbGUtPmZkLCBtb2RlKTsKIAlyZXR1cm4gdGVtcGZpbGUtPmZwOwpAQCAtMjE2LDM0ICsyMjYsMzYgQEAKIAogY29uc3QgY2hhciAqZ2V0X3RlbXBmaWxlX3BhdGgoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSkKIHsKLQlpZiAoIXRlbXBmaWxlLT5hY3RpdmUpCi0JCWRpZSgiQlVHOiBnZXRfdGVtcGZpbGVfcGF0aCgpIGNhbGxlZCBmb3IgaW5hY3RpdmUgb2JqZWN0Iik7CisJaWYgKCFpc190ZW1wZmlsZV9hY3RpdmUodGVtcGZpbGUpKQorCQlCVUcoImdldF90ZW1wZmlsZV9wYXRoKCkgY2FsbGVkIGZvciBpbmFjdGl2ZSBvYmplY3QiKTsKIAlyZXR1cm4gdGVtcGZpbGUtPmZpbGVuYW1lLmJ1ZjsKIH0KIAogaW50IGdldF90ZW1wZmlsZV9mZChzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlKQogewotCWlmICghdGVtcGZpbGUtPmFjdGl2ZSkKLQkJZGllKCJCVUc6IGdldF90ZW1wZmlsZV9mZCgpIGNhbGxlZCBmb3IgaW5hY3RpdmUgb2JqZWN0Iik7CisJaWYgKCFpc190ZW1wZmlsZV9hY3RpdmUodGVtcGZpbGUpKQorCQlCVUcoImdldF90ZW1wZmlsZV9mZCgpIGNhbGxlZCBmb3IgaW5hY3RpdmUgb2JqZWN0Iik7CiAJcmV0dXJuIHRlbXBmaWxlLT5mZDsKIH0KIAogRklMRSAqZ2V0X3RlbXBmaWxlX2ZwKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpCiB7Ci0JaWYgKCF0ZW1wZmlsZS0+YWN0aXZlKQotCQlkaWUoIkJVRzogZ2V0X3RlbXBmaWxlX2ZwKCkgY2FsbGVkIGZvciBpbmFjdGl2ZSBvYmplY3QiKTsKKwlpZiAoIWlzX3RlbXBmaWxlX2FjdGl2ZSh0ZW1wZmlsZSkpCisJCUJVRygiZ2V0X3RlbXBmaWxlX2ZwKCkgY2FsbGVkIGZvciBpbmFjdGl2ZSBvYmplY3QiKTsKIAlyZXR1cm4gdGVtcGZpbGUtPmZwOwogfQogCi1pbnQgY2xvc2VfdGVtcGZpbGUoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSkKK2ludCBjbG9zZV90ZW1wZmlsZV9nZW50bHkoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSkKIHsKLQlpbnQgZmQgPSB0ZW1wZmlsZS0+ZmQ7Ci0JRklMRSAqZnAgPSB0ZW1wZmlsZS0+ZnA7CisJaW50IGZkOworCUZJTEUgKmZwOwogCWludCBlcnI7CiAKLQlpZiAoZmQgPCAwKQorCWlmICghaXNfdGVtcGZpbGVfYWN0aXZlKHRlbXBmaWxlKSB8fCB0ZW1wZmlsZS0+ZmQgPCAwKQogCQlyZXR1cm4gMDsKIAorCWZkID0gdGVtcGZpbGUtPmZkOworCWZwID0gdGVtcGZpbGUtPmZwOwogCXRlbXBmaWxlLT5mZCA9IC0xOwogCWlmIChmcCkgewogCQl0ZW1wZmlsZS0+ZnAgPSBOVUxMOwpAQCAtMjU4LDU0ICsyNzAsNTIgQEAKIAkJZXJyID0gY2xvc2UoZmQpOwogCX0KIAotCWlmIChlcnIpIHsKLQkJaW50IHNhdmVfZXJybm8gPSBlcnJubzsKLQkJZGVsZXRlX3RlbXBmaWxlKHRlbXBmaWxlKTsKLQkJZXJybm8gPSBzYXZlX2Vycm5vOwotCQlyZXR1cm4gLTE7Ci0JfQotCi0JcmV0dXJuIDA7CisJcmV0dXJuIGVyciA/IC0xIDogMDsKIH0KIAogaW50IHJlb3Blbl90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlKQogeworCWlmICghaXNfdGVtcGZpbGVfYWN0aXZlKHRlbXBmaWxlKSkKKwkJQlVHKCJyZW9wZW5fdGVtcGZpbGUgY2FsbGVkIGZvciBhbiBpbmFjdGl2ZSBvYmplY3QiKTsKIAlpZiAoMCA8PSB0ZW1wZmlsZS0+ZmQpCi0JCWRpZSgiQlVHOiByZW9wZW5fdGVtcGZpbGUgY2FsbGVkIGZvciBhbiBvcGVuIG9iamVjdCIpOwotCWlmICghdGVtcGZpbGUtPmFjdGl2ZSkKLQkJZGllKCJCVUc6IHJlb3Blbl90ZW1wZmlsZSBjYWxsZWQgZm9yIGFuIGluYWN0aXZlIG9iamVjdCIpOworCQlCVUcoInJlb3Blbl90ZW1wZmlsZSBjYWxsZWQgZm9yIGFuIG9wZW4gb2JqZWN0Iik7CiAJdGVtcGZpbGUtPmZkID0gb3Blbih0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmLCBPX1dST05MWSk7CiAJcmV0dXJuIHRlbXBmaWxlLT5mZDsKIH0KIAotaW50IHJlbmFtZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLCBjb25zdCBjaGFyICpwYXRoKQoraW50IHJlbmFtZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKip0ZW1wZmlsZV9wLCBjb25zdCBjaGFyICpwYXRoKQogewotCWlmICghdGVtcGZpbGUtPmFjdGl2ZSkKLQkJZGllKCJCVUc6IHJlbmFtZV90ZW1wZmlsZSBjYWxsZWQgZm9yIGluYWN0aXZlIG9iamVjdCIpOworCXN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUgPSAqdGVtcGZpbGVfcDsKIAotCWlmIChjbG9zZV90ZW1wZmlsZSh0ZW1wZmlsZSkpCisJaWYgKCFpc190ZW1wZmlsZV9hY3RpdmUodGVtcGZpbGUpKQorCQlCVUcoInJlbmFtZV90ZW1wZmlsZSBjYWxsZWQgZm9yIGluYWN0aXZlIG9iamVjdCIpOworCisJaWYgKGNsb3NlX3RlbXBmaWxlX2dlbnRseSh0ZW1wZmlsZSkpIHsKKwkJZGVsZXRlX3RlbXBmaWxlKHRlbXBmaWxlX3ApOwogCQlyZXR1cm4gLTE7CisJfQogCiAJaWYgKHJlbmFtZSh0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmLCBwYXRoKSkgewogCQlpbnQgc2F2ZV9lcnJubyA9IGVycm5vOwotCQlkZWxldGVfdGVtcGZpbGUodGVtcGZpbGUpOworCQlkZWxldGVfdGVtcGZpbGUodGVtcGZpbGVfcCk7CiAJCWVycm5vID0gc2F2ZV9lcnJubzsKIAkJcmV0dXJuIC0xOwogCX0KIAotCXRlbXBmaWxlLT5hY3RpdmUgPSAwOwotCXN0cmJ1Zl9yZXNldCgmdGVtcGZpbGUtPmZpbGVuYW1lKTsKKwlkZWFjdGl2YXRlX3RlbXBmaWxlKHRlbXBmaWxlKTsKKwkqdGVtcGZpbGVfcCA9IE5VTEw7CiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgZGVsZXRlX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpCit2b2lkIGRlbGV0ZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKip0ZW1wZmlsZV9wKQogewotCWlmICghdGVtcGZpbGUtPmFjdGl2ZSkKKwlzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlID0gKnRlbXBmaWxlX3A7CisKKwlpZiAoIWlzX3RlbXBmaWxlX2FjdGl2ZSh0ZW1wZmlsZSkpCiAJCXJldHVybjsKIAotCWlmICghY2xvc2VfdGVtcGZpbGUodGVtcGZpbGUpKSB7Ci0JCXVubGlua19vcl93YXJuKHRlbXBmaWxlLT5maWxlbmFtZS5idWYpOwotCQl0ZW1wZmlsZS0+YWN0aXZlID0gMDsKLQkJc3RyYnVmX3Jlc2V0KCZ0ZW1wZmlsZS0+ZmlsZW5hbWUpOwotCX0KKwljbG9zZV90ZW1wZmlsZV9nZW50bHkodGVtcGZpbGUpOworCXVubGlua19vcl93YXJuKHRlbXBmaWxlLT5maWxlbmFtZS5idWYpOworCWRlYWN0aXZhdGVfdGVtcGZpbGUodGVtcGZpbGUpOworCSp0ZW1wZmlsZV9wID0gTlVMTDsKIH0KZGlmZiAtLWdpdCBhL3RlbXBmaWxlLmggYi90ZW1wZmlsZS5oCmluZGV4IDJmMDAzOGQuLmI4ZjRiNWUgMTAwNjQ0Ci0tLSBhL3RlbXBmaWxlLmgKKysrIGIvdGVtcGZpbGUuaApAQCAtMSw2ICsxLDggQEAKICNpZm5kZWYgVEVNUEZJTEVfSAogI2RlZmluZSBURU1QRklMRV9ICiAKKyNpbmNsdWRlICJsaXN0LmgiCisKIC8qCiAgKiBIYW5kbGUgdGVtcG9yYXJ5IGZpbGVzLgogICoKQEAgLTE1LDI1ICsxNywxOCBAQAogICoKICAqIFRoZSBjYWxsZXI6CiAgKgotICogKiBBbGxvY2F0ZXMgYSBgc3RydWN0IHRlbXBmaWxlYCBlaXRoZXIgYXMgYSBzdGF0aWMgdmFyaWFibGUgb3Igb24KLSAqICAgdGhlIGhlYXAsIGluaXRpYWxpemVkIHRvIHplcm9zLiBPbmNlIHlvdSB1c2UgdGhlIHN0cnVjdHVyZSB0bwotICogICBjYWxsIGBjcmVhdGVfdGVtcGZpbGUoKWAsIGl0IGJlbG9uZ3MgdG8gdGhlIHRlbXBmaWxlIHN1YnN5c3RlbQotICogICBhbmQgaXRzIHN0b3JhZ2UgbXVzdCByZW1haW4gdmFsaWQgdGhyb3VnaG91dCB0aGUgbGlmZSBvZiB0aGUKLSAqICAgcHJvZ3JhbSAoaS5lLiB5b3UgY2Fubm90IHVzZSBhbiBvbi1zdGFjayB2YXJpYWJsZSB0byBob2xkIHRoaXMKLSAqICAgc3RydWN0dXJlKS4KLSAqCiAgKiAqIEF0dGVtcHRzIHRvIGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlIGJ5IGNhbGxpbmcKLSAqICAgYGNyZWF0ZV90ZW1wZmlsZSgpYC4KKyAqICAgYGNyZWF0ZV90ZW1wZmlsZSgpYC4gVGhlIHJlc291cmNlcyB1c2VkIGZvciB0aGUgdGVtcG9yYXJ5IGZpbGUgYXJlCisgKiAgIG1hbmFnZWQgYnkgdGhlIHRlbXBmaWxlIEFQSS4KICAqCiAgKiAqIFdyaXRlcyBuZXcgY29udGVudCB0byB0aGUgZmlsZSBieSBlaXRoZXI6CiAgKgotICogICAqIHdyaXRpbmcgdG8gdGhlIGZpbGUgZGVzY3JpcHRvciByZXR1cm5lZCBieSBgY3JlYXRlX3RlbXBmaWxlKClgCi0gKiAgICAgKGFsc28gYXZhaWxhYmxlIHZpYSBgdGVtcGZpbGUtPmZkYCkuCisgKiAgICogd3JpdGluZyB0byB0aGUgYHRlbXBmaWxlLT5mZGAgZmlsZSBkZXNjcmlwdG9yCiAgKgogICogICAqIGNhbGxpbmcgYGZkb3Blbl90ZW1wZmlsZSgpYCB0byBnZXQgYSBgRklMRWAgcG9pbnRlciBmb3IgdGhlCiAgKiAgICAgb3BlbiBmaWxlIGFuZCB3cml0aW5nIHRvIHRoZSBmaWxlIHVzaW5nIHN0ZGlvLgogICoKLSAqICAgTm90ZSB0aGF0IHRoZSBmaWxlIGRlc2NyaXB0b3IgcmV0dXJuZWQgYnkgY3JlYXRlX3RlbXBmaWxlKCkKKyAqICAgTm90ZSB0aGF0IHRoZSBmaWxlIGRlc2NyaXB0b3IgY3JlYXRlZCBieSBjcmVhdGVfdGVtcGZpbGUoKQogICogICBpcyBtYXJrZWQgT19DTE9FWEVDLCBzbyB0aGUgbmV3IGNvbnRlbnRzIG11c3QgYmUgd3JpdHRlbiBieQogICogICB0aGUgY3VycmVudCBwcm9jZXNzLCBub3QgYW55IHNwYXduZWQgb25lLgogICoKQEAgLTQ3LDE5ICs0MiwxOCBAQAogICogICBjb250cm9sIG9mIHRoZSBmaWxlLgogICoKICAqICogQ2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciB3aXRob3V0IHJlbW92aW5nIG9yIHJlbmFtaW5nIHRoZQotICogICB0ZW1wb3JhcnkgZmlsZSBieSBjYWxsaW5nIGBjbG9zZV90ZW1wZmlsZSgpYCwgYW5kIGxhdGVyIGNhbGwKKyAqICAgdGVtcG9yYXJ5IGZpbGUgYnkgY2FsbGluZyBgY2xvc2VfdGVtcGZpbGVfZ2VudGx5KClgLCBhbmQgbGF0ZXIgY2FsbAogICogICBgZGVsZXRlX3RlbXBmaWxlKClgIG9yIGByZW5hbWVfdGVtcGZpbGUoKWAuCiAgKgotICogRXZlbiBhZnRlciB0aGUgdGVtcG9yYXJ5IGZpbGUgaXMgcmVuYW1lZCBvciBkZWxldGVkLCB0aGUgYHRlbXBmaWxlYAotICogb2JqZWN0IG11c3Qgbm90IGJlIGZyZWVkIG9yIGFsdGVyZWQgYnkgdGhlIGNhbGxlci4gSG93ZXZlciwgaXQgbWF5Ci0gKiBiZSByZXVzZWQ7IGp1c3QgcGFzcyBpdCB0byBhbm90aGVyIGNhbGwgb2YgYGNyZWF0ZV90ZW1wZmlsZSgpYC4KKyAqIEFmdGVyIHRoZSB0ZW1wb3JhcnkgZmlsZSBpcyByZW5hbWVkIG9yIGRlbGV0ZWQsIHRoZSBgdGVtcGZpbGVgCisgKiBvYmplY3QgaXMgbm8gbG9uZ2VyIHZhbGlkIGFuZCBzaG91bGQgbm90IGJlIHJldXNlZC4KICAqCiAgKiBJZiB0aGUgcHJvZ3JhbSBleGl0cyBiZWZvcmUgYHJlbmFtZV90ZW1wZmlsZSgpYCBvcgogICogYGRlbGV0ZV90ZW1wZmlsZSgpYCBpcyBjYWxsZWQsIGFuIGBhdGV4aXQoMylgIGhhbmRsZXIgd2lsbCBjbG9zZQogICogYW5kIHJlbW92ZSB0aGUgdGVtcG9yYXJ5IGZpbGUuCiAgKgogICogSWYgeW91IG5lZWQgdG8gY2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciB5b3Vyc2VsZiwgZG8gc28gYnkgY2FsbGluZwotICogYGNsb3NlX3RlbXBmaWxlKClgLiBZb3Ugc2hvdWxkIG5ldmVyIGNhbGwgYGNsb3NlKDIpYCBvciBgZmNsb3NlKDMpYAorICogYGNsb3NlX3RlbXBmaWxlX2dlbnRseSgpYC4gWW91IHNob3VsZCBuZXZlciBjYWxsIGBjbG9zZSgyKWAgb3IgYGZjbG9zZSgzKWAKICAqIHlvdXJzZWxmLCBvdGhlcndpc2UgdGhlIGBzdHJ1Y3QgdGVtcGZpbGVgIHN0cnVjdHVyZSB3b3VsZCBzdGlsbAogICogdGhpbmsgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIG5lZWRzIHRvIGJlIGNsb3NlZCwgYW5kIGEgbGF0ZXIKICAqIGNsZWFudXAgd291bGQgcmVzdWx0IGluIGR1cGxpY2F0ZSBjYWxscyB0byBgY2xvc2UoMilgLiBXb3JzZSB5ZXQsCkBAIC03MSwzMCArNjUsMzAgQEAKICAqIEVycm9yIGhhbmRsaW5nCiAgKiAtLS0tLS0tLS0tLS0tLQogICoKLSAqIGBjcmVhdGVfdGVtcGZpbGUoKWAgcmV0dXJucyBhIGZpbGUgZGVzY3JpcHRvciBvbiBzdWNjZXNzIG9yIC0xIG9uCi0gKiBmYWlsdXJlLiBPbiBlcnJvcnMsIGBlcnJub2AgZGVzY3JpYmVzIHRoZSByZWFzb24gZm9yIGZhaWx1cmUuCisgKiBgY3JlYXRlX3RlbXBmaWxlKClgIHJldHVybnMgYW4gYWxsb2NhdGVkIHRlbXBmaWxlIG9uIHN1Y2Nlc3Mgb3IgTlVMTAorICogb24gZmFpbHVyZS4gT24gZXJyb3JzLCBgZXJybm9gIGRlc2NyaWJlcyB0aGUgcmVhc29uIGZvciBmYWlsdXJlLgogICoKLSAqIGBkZWxldGVfdGVtcGZpbGUoKWAsIGByZW5hbWVfdGVtcGZpbGUoKWAsIGFuZCBgY2xvc2VfdGVtcGZpbGUoKWAKLSAqIHJldHVybiAwIG9uIHN1Y2Nlc3MuIE9uIGZhaWx1cmUgdGhleSBzZXQgYGVycm5vYCBhcHByb3ByaWF0ZWx5LCBkbwotICogdGhlaXIgYmVzdCB0byBkZWxldGUgdGhlIHRlbXBvcmFyeSBmaWxlLCBhbmQgcmV0dXJuIC0xLgorICogYGRlbGV0ZV90ZW1wZmlsZSgpYCwgYHJlbmFtZV90ZW1wZmlsZSgpYCwgYW5kIGBjbG9zZV90ZW1wZmlsZV9nZW50bHkoKWAKKyAqIHJldHVybiAwIG9uIHN1Y2Nlc3MuIE9uIGZhaWx1cmUgdGhleSBzZXQgYGVycm5vYCBhcHByb3ByaWF0ZWx5IGFuZCByZXR1cm4KKyAqIC0xLiBgZGVsZXRlYCBhbmQgYHJlbmFtZWAgKGJ1dCBub3QgYGNsb3NlYCkgZG8gdGhlaXIgYmVzdCB0byBkZWxldGUgdGhlCisgKiB0ZW1wb3JhcnkgZmlsZSBiZWZvcmUgcmV0dXJuaW5nLgogICovCiAKIHN0cnVjdCB0ZW1wZmlsZSB7Ci0Jc3RydWN0IHRlbXBmaWxlICp2b2xhdGlsZSBuZXh0OworCXZvbGF0aWxlIHN0cnVjdCB2b2xhdGlsZV9saXN0X2hlYWQgbGlzdDsKIAl2b2xhdGlsZSBzaWdfYXRvbWljX3QgYWN0aXZlOwogCXZvbGF0aWxlIGludCBmZDsKIAlGSUxFICp2b2xhdGlsZSBmcDsKIAl2b2xhdGlsZSBwaWRfdCBvd25lcjsKLQljaGFyIG9uX2xpc3Q7CiAJc3RydWN0IHN0cmJ1ZiBmaWxlbmFtZTsKIH07CiAKIC8qCiAgKiBBdHRlbXB0IHRvIGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlIGF0IHRoZSBzcGVjaWZpZWQgYHBhdGhgLiBSZXR1cm4KLSAqIGEgZmlsZSBkZXNjcmlwdG9yIGZvciB3cml0aW5nIHRvIGl0LCBvciAtMSBvbiBlcnJvci4gSXQgaXMgYW4gZXJyb3IKLSAqIGlmIGEgZmlsZSBhbHJlYWR5IGV4aXN0cyBhdCB0aGF0IHBhdGguCisgKiBhIHRlbXBmaWxlICh3aG9zZSAiZmQiIG1lbWJlciBjYW4gYmUgdXNlZCBmb3Igd3JpdGluZyB0byBpdCksIG9yCisgKiBOVUxMIG9uIGVycm9yLiBJdCBpcyBhbiBlcnJvciBpZiBhIGZpbGUgYWxyZWFkeSBleGlzdHMgYXQgdGhhdCBwYXRoLgogICovCi1leHRlcm4gaW50IGNyZWF0ZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLCBjb25zdCBjaGFyICpwYXRoKTsKK2V4dGVybiBzdHJ1Y3QgdGVtcGZpbGUgKmNyZWF0ZV90ZW1wZmlsZShjb25zdCBjaGFyICpwYXRoKTsKIAogLyoKICAqIFJlZ2lzdGVyIGFuIGV4aXN0aW5nIGZpbGUgYXMgYSB0ZW1wZmlsZSwgbWVhbmluZyB0aGF0IGl0IHdpbGwgYmUKQEAgLTEwMiw3ICs5Niw3IEBACiAgKiBidXQgaXQgY2FuIGJlIHdvcmtlZCB3aXRoIGxpa2UgYW55IG90aGVyIGNsb3NlZCB0ZW1wZmlsZSAoZm9yCiAgKiBleGFtcGxlLCBpdCBjYW4gYmUgb3BlbmVkIHVzaW5nIHJlb3Blbl90ZW1wZmlsZSgpKS4KICAqLwotZXh0ZXJuIHZvaWQgcmVnaXN0ZXJfdGVtcGZpbGUoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSwgY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gc3RydWN0IHRlbXBmaWxlICpyZWdpc3Rlcl90ZW1wZmlsZShjb25zdCBjaGFyICpwYXRoKTsKIAogCiAvKgpAQCAtMTM0LDgzICsxMjgsNzggQEAKICAqIGtub3cgdGhlIChhYnNvbHV0ZSkgcGF0aCBvZiB0aGUgZmlsZSB0aGF0IHdhcyBjcmVhdGVkLCBpdCBjYW4gYmUKICAqIHJlYWQgZnJvbSB0ZW1wZmlsZS0+ZmlsZW5hbWUuCiAgKgotICogT24gc3VjY2VzcywgdGhlIGZ1bmN0aW9ucyByZXR1cm4gYSBmaWxlIGRlc2NyaXB0b3IgdGhhdCBpcyBvcGVuIGZvcgotICogd3JpdGluZyB0aGUgdGVtcG9yYXJ5IGZpbGUuIE9uIGVycm9ycywgdGhleSByZXR1cm4gLTEgYW5kIHNldCBlcnJubwotICogYXBwcm9wcmlhdGVseSAoZXhjZXB0IGZvciB0aGUgIngiIHZhcmlhbnRzLCB3aGljaCBkaWUoKSBvbiBlcnJvcnMpLgorICogT24gc3VjY2VzcywgdGhlIGZ1bmN0aW9ucyByZXR1cm4gYSB0ZW1wZmlsZSB3aG9zZSAiZmQiIG1lbWJlciBpcyBvcGVuCisgKiBmb3Igd3JpdGluZyB0aGUgdGVtcG9yYXJ5IGZpbGUuIE9uIGVycm9ycywgdGhleSByZXR1cm4gTlVMTCBhbmQgc2V0CisgKiBlcnJubyBhcHByb3ByaWF0ZWx5IChleGNlcHQgZm9yIHRoZSAieCIgdmFyaWFudHMsIHdoaWNoIGRpZSgpIG9uCisgKiBlcnJvcnMpLgogICovCiAKIC8qIFNlZSAibWtzX3RlbXBmaWxlIGZ1bmN0aW9ucyIgYWJvdmUuICovCi1leHRlcm4gaW50IG1rc190ZW1wZmlsZV9zbShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLAotCQkJICAgY29uc3QgY2hhciAqdGVtcGxhdGUsIGludCBzdWZmaXhsZW4sIGludCBtb2RlKTsKK2V4dGVybiBzdHJ1Y3QgdGVtcGZpbGUgKm1rc190ZW1wZmlsZV9zbShjb25zdCBjaGFyICp0ZW1wbGF0ZSwKKwkJCQkJaW50IHN1ZmZpeGxlbiwgaW50IG1vZGUpOwogCiAvKiBTZWUgIm1rc190ZW1wZmlsZSBmdW5jdGlvbnMiIGFib3ZlLiAqLwotc3RhdGljIGlubGluZSBpbnQgbWtzX3RlbXBmaWxlX3Moc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSwKLQkJCQkgY29uc3QgY2hhciAqdGVtcGxhdGUsIGludCBzdWZmaXhsZW4pCitzdGF0aWMgaW5saW5lIHN0cnVjdCB0ZW1wZmlsZSAqbWtzX3RlbXBmaWxlX3MoY29uc3QgY2hhciAqdGVtcGxhdGUsCisJCQkJCSAgICAgIGludCBzdWZmaXhsZW4pCiB7Ci0JcmV0dXJuIG1rc190ZW1wZmlsZV9zbSh0ZW1wZmlsZSwgdGVtcGxhdGUsIHN1ZmZpeGxlbiwgMDYwMCk7CisJcmV0dXJuIG1rc190ZW1wZmlsZV9zbSh0ZW1wbGF0ZSwgc3VmZml4bGVuLCAwNjAwKTsKIH0KIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KLXN0YXRpYyBpbmxpbmUgaW50IG1rc190ZW1wZmlsZV9tKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUsCi0JCQkJIGNvbnN0IGNoYXIgKnRlbXBsYXRlLCBpbnQgbW9kZSkKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRlbXBmaWxlICpta3NfdGVtcGZpbGVfbShjb25zdCBjaGFyICp0ZW1wbGF0ZSwgaW50IG1vZGUpCiB7Ci0JcmV0dXJuIG1rc190ZW1wZmlsZV9zbSh0ZW1wZmlsZSwgdGVtcGxhdGUsIDAsIG1vZGUpOworCXJldHVybiBta3NfdGVtcGZpbGVfc20odGVtcGxhdGUsIDAsIG1vZGUpOwogfQogCiAvKiBTZWUgIm1rc190ZW1wZmlsZSBmdW5jdGlvbnMiIGFib3ZlLiAqLwotc3RhdGljIGlubGluZSBpbnQgbWtzX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUsCi0JCQkgICAgICAgY29uc3QgY2hhciAqdGVtcGxhdGUpCitzdGF0aWMgaW5saW5lIHN0cnVjdCB0ZW1wZmlsZSAqbWtzX3RlbXBmaWxlKGNvbnN0IGNoYXIgKnRlbXBsYXRlKQogewotCXJldHVybiBta3NfdGVtcGZpbGVfc20odGVtcGZpbGUsIHRlbXBsYXRlLCAwLCAwNjAwKTsKKwlyZXR1cm4gbWtzX3RlbXBmaWxlX3NtKHRlbXBsYXRlLCAwLCAwNjAwKTsKIH0KIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KLWV4dGVybiBpbnQgbWtzX3RlbXBmaWxlX3RzbShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLAotCQkJICAgIGNvbnN0IGNoYXIgKnRlbXBsYXRlLCBpbnQgc3VmZml4bGVuLCBpbnQgbW9kZSk7CitleHRlcm4gc3RydWN0IHRlbXBmaWxlICpta3NfdGVtcGZpbGVfdHNtKGNvbnN0IGNoYXIgKnRlbXBsYXRlLAorCQkJCQkgaW50IHN1ZmZpeGxlbiwgaW50IG1vZGUpOwogCiAvKiBTZWUgIm1rc190ZW1wZmlsZSBmdW5jdGlvbnMiIGFib3ZlLiAqLwotc3RhdGljIGlubGluZSBpbnQgbWtzX3RlbXBmaWxlX3RzKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUsCi0JCQkJICBjb25zdCBjaGFyICp0ZW1wbGF0ZSwgaW50IHN1ZmZpeGxlbikKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRlbXBmaWxlICpta3NfdGVtcGZpbGVfdHMoY29uc3QgY2hhciAqdGVtcGxhdGUsCisJCQkJCSAgICAgICBpbnQgc3VmZml4bGVuKQogewotCXJldHVybiBta3NfdGVtcGZpbGVfdHNtKHRlbXBmaWxlLCB0ZW1wbGF0ZSwgc3VmZml4bGVuLCAwNjAwKTsKKwlyZXR1cm4gbWtzX3RlbXBmaWxlX3RzbSh0ZW1wbGF0ZSwgc3VmZml4bGVuLCAwNjAwKTsKIH0KIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KLXN0YXRpYyBpbmxpbmUgaW50IG1rc190ZW1wZmlsZV90bShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLAotCQkJCSAgY29uc3QgY2hhciAqdGVtcGxhdGUsIGludCBtb2RlKQorc3RhdGljIGlubGluZSBzdHJ1Y3QgdGVtcGZpbGUgKm1rc190ZW1wZmlsZV90bShjb25zdCBjaGFyICp0ZW1wbGF0ZSwgaW50IG1vZGUpCiB7Ci0JcmV0dXJuIG1rc190ZW1wZmlsZV90c20odGVtcGZpbGUsIHRlbXBsYXRlLCAwLCBtb2RlKTsKKwlyZXR1cm4gbWtzX3RlbXBmaWxlX3RzbSh0ZW1wbGF0ZSwgMCwgbW9kZSk7CiB9CiAKIC8qIFNlZSAibWtzX3RlbXBmaWxlIGZ1bmN0aW9ucyIgYWJvdmUuICovCi1zdGF0aWMgaW5saW5lIGludCBta3NfdGVtcGZpbGVfdChzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLAotCQkJCSBjb25zdCBjaGFyICp0ZW1wbGF0ZSkKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRlbXBmaWxlICpta3NfdGVtcGZpbGVfdChjb25zdCBjaGFyICp0ZW1wbGF0ZSkKIHsKLQlyZXR1cm4gbWtzX3RlbXBmaWxlX3RzbSh0ZW1wZmlsZSwgdGVtcGxhdGUsIDAsIDA2MDApOworCXJldHVybiBta3NfdGVtcGZpbGVfdHNtKHRlbXBsYXRlLCAwLCAwNjAwKTsKIH0KIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KLWV4dGVybiBpbnQgeG1rc190ZW1wZmlsZV9tKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUsCi0JCQkgICBjb25zdCBjaGFyICp0ZW1wbGF0ZSwgaW50IG1vZGUpOworZXh0ZXJuIHN0cnVjdCB0ZW1wZmlsZSAqeG1rc190ZW1wZmlsZV9tKGNvbnN0IGNoYXIgKnRlbXBsYXRlLCBpbnQgbW9kZSk7CiAKIC8qIFNlZSAibWtzX3RlbXBmaWxlIGZ1bmN0aW9ucyIgYWJvdmUuICovCi1zdGF0aWMgaW5saW5lIGludCB4bWtzX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUsCi0JCQkJY29uc3QgY2hhciAqdGVtcGxhdGUpCitzdGF0aWMgaW5saW5lIHN0cnVjdCB0ZW1wZmlsZSAqeG1rc190ZW1wZmlsZShjb25zdCBjaGFyICp0ZW1wbGF0ZSkKIHsKLQlyZXR1cm4geG1rc190ZW1wZmlsZV9tKHRlbXBmaWxlLCB0ZW1wbGF0ZSwgMDYwMCk7CisJcmV0dXJuIHhta3NfdGVtcGZpbGVfbSh0ZW1wbGF0ZSwgMDYwMCk7CiB9CiAKIC8qCiAgKiBBc3NvY2lhdGUgYSBzdGRpbyBzdHJlYW0gd2l0aCB0aGUgdGVtcG9yYXJ5IGZpbGUgKHdoaWNoIG11c3Qgc3RpbGwKICAqIGJlIG9wZW4pLiBSZXR1cm4gYE5VTExgICgqd2l0aG91dCogZGVsZXRpbmcgdGhlIGZpbGUpIG9uIGVycm9yLiBUaGUKLSAqIHN0cmVhbSBpcyBjbG9zZWQgYXV0b21hdGljYWxseSB3aGVuIGBjbG9zZV90ZW1wZmlsZSgpYCBpcyBjYWxsZWQgb3IKKyAqIHN0cmVhbSBpcyBjbG9zZWQgYXV0b21hdGljYWxseSB3aGVuIGBjbG9zZV90ZW1wZmlsZV9nZW50bHkoKWAgaXMgY2FsbGVkIG9yCiAgKiB3aGVuIHRoZSBmaWxlIGlzIGRlbGV0ZWQgb3IgcmVuYW1lZC4KICAqLwogZXh0ZXJuIEZJTEUgKmZkb3Blbl90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLCBjb25zdCBjaGFyICptb2RlKTsKIAogc3RhdGljIGlubGluZSBpbnQgaXNfdGVtcGZpbGVfYWN0aXZlKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpCiB7Ci0JcmV0dXJuIHRlbXBmaWxlLT5hY3RpdmU7CisJcmV0dXJuIHRlbXBmaWxlICYmIHRlbXBmaWxlLT5hY3RpdmU7CiB9CiAKIC8qCkBAIC0yMjYsMjAgKzIxNSwyMCBAQAogICogSWYgdGhlIHRlbXBvcmFyeSBmaWxlIGlzIHN0aWxsIG9wZW4sIGNsb3NlIGl0IChhbmQgdGhlIGZpbGUgcG9pbnRlcgogICogdG9vLCBpZiBpdCBoYXMgYmVlbiBvcGVuZWQgdXNpbmcgYGZkb3Blbl90ZW1wZmlsZSgpYCkgd2l0aG91dAogICogZGVsZXRpbmcgdGhlIGZpbGUuIFJldHVybiAwIHVwb24gc3VjY2Vzcy4gT24gZmFpbHVyZSB0byBgY2xvc2UoMilgLAotICogcmV0dXJuIGEgbmVnYXRpdmUgdmFsdWUgYW5kIGRlbGV0ZSB0aGUgZmlsZS4gVXN1YWxseQotICogYGRlbGV0ZV90ZW1wZmlsZSgpYCBvciBgcmVuYW1lX3RlbXBmaWxlKClgIHNob3VsZCBldmVudHVhbGx5IGJlCi0gKiBjYWxsZWQgaWYgYGNsb3NlX3RlbXBmaWxlKClgIHN1Y2NlZWRzLgorICogcmV0dXJuIGEgbmVnYXRpdmUgdmFsdWUuIFVzdWFsbHkgYGRlbGV0ZV90ZW1wZmlsZSgpYCBvciBgcmVuYW1lX3RlbXBmaWxlKClgCisgKiBzaG91bGQgZXZlbnR1YWxseSBiZSBjYWxsZWQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGBjbG9zZV90ZW1wZmlsZV9nZW50bHkoKWAKKyAqIHN1Y2NlZWRzLgogICovCi1leHRlcm4gaW50IGNsb3NlX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpOworZXh0ZXJuIGludCBjbG9zZV90ZW1wZmlsZV9nZW50bHkoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSk7CiAKIC8qCiAgKiBSZS1vcGVuIGEgdGVtcG9yYXJ5IGZpbGUgdGhhdCBoYXMgYmVlbiBjbG9zZWQgdXNpbmcKLSAqIGBjbG9zZV90ZW1wZmlsZSgpYCBidXQgbm90IHlldCBkZWxldGVkIG9yIHJlbmFtZWQuIFRoaXMgY2FuIGJlIHVzZWQKKyAqIGBjbG9zZV90ZW1wZmlsZV9nZW50bHkoKWAgYnV0IG5vdCB5ZXQgZGVsZXRlZCBvciByZW5hbWVkLiBUaGlzIGNhbiBiZSB1c2VkCiAgKiB0byBpbXBsZW1lbnQgYSBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zIGxpa2UgdGhlIGZvbGxvd2luZzoKICAqCiAgKiAqIENyZWF0ZSB0ZW1wb3JhcnkgZmlsZS4KICAqCi0gKiAqIFdyaXRlIG5ldyBjb250ZW50cyB0byBmaWxlLCB0aGVuIGBjbG9zZV90ZW1wZmlsZSgpYCB0byBjYXVzZSB0aGUKKyAqICogV3JpdGUgbmV3IGNvbnRlbnRzIHRvIGZpbGUsIHRoZW4gYGNsb3NlX3RlbXBmaWxlX2dlbnRseSgpYCB0byBjYXVzZSB0aGUKICAqICAgY29udGVudHMgdG8gYmUgd3JpdHRlbiB0byBkaXNrLgogICoKICAqICogUGFzcyB0aGUgbmFtZSBvZiB0aGUgdGVtcG9yYXJ5IGZpbGUgdG8gYW5vdGhlciBwcm9ncmFtIHRvIGFsbG93CkBAIC0yNTksNyArMjQ4LDcgQEAKICAqIGBkZWxldGVfdGVtcGZpbGUoKWAgZm9yIGEgYHRlbXBmaWxlYCBvYmplY3QgdGhhdCBoYXMgYWxyZWFkeSBiZWVuCiAgKiBkZWxldGVkIG9yIHJlbmFtZWQuCiAgKi8KLWV4dGVybiB2b2lkIGRlbGV0ZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlKTsKK2V4dGVybiB2b2lkIGRlbGV0ZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKip0ZW1wZmlsZV9wKTsKIAogLyoKICAqIENsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3IgYW5kL29yIGZpbGUgcG9pbnRlciBpZiB0aGV5IGFyZSBzdGlsbApAQCAtMjcwLDYgKzI1OSw2IEBACiAgKiBgcmVuYW1lKDIpYC4gSXQgaXMgYSBidWcgdG8gY2FsbCBgcmVuYW1lX3RlbXBmaWxlKClgIGZvciBhCiAgKiBgdGVtcGZpbGVgIG9iamVjdCB0aGF0IGlzIG5vdCBjdXJyZW50bHkgYWN0aXZlLgogICovCi1leHRlcm4gaW50IHJlbmFtZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlLCBjb25zdCBjaGFyICpwYXRoKTsKK2V4dGVybiBpbnQgcmVuYW1lX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqKnRlbXBmaWxlX3AsIGNvbnN0IGNoYXIgKnBhdGgpOwogCiAjZW5kaWYgLyogVEVNUEZJTEVfSCAqLwpkaWZmIC0tZ2l0IGEvdGVtcGxhdGVzL2hvb2tzLS1wcmUtcmViYXNlLnNhbXBsZSBiL3RlbXBsYXRlcy9ob29rcy0tcHJlLXJlYmFzZS5zYW1wbGUKaW5kZXggMDUzZjExMS4uZGI1ZmVhYiAxMDA3NTUKLS0tIGEvdGVtcGxhdGVzL2hvb2tzLS1wcmUtcmViYXNlLnNhbXBsZQorKysgYi90ZW1wbGF0ZXMvaG9va3MtLXByZS1yZWJhc2Uuc2FtcGxlCkBAIC01OCw3ICs1OCw3IEBACiAJbm90X2luX3RvcGljPWBnaXQgcmV2LWxpc3QgIl4kdG9waWMiIG1hc3RlcmAKIAlpZiB0ZXN0IC16ICIkbm90X2luX3RvcGljIgogCXRoZW4KLQkJZWNobyA+JjIgIiR0b3BpYyBpcyBhbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCBtYXN0ZXIiCisJCWVjaG8gPiYyICIkdG9waWMgaXMgYWxyZWFkeSB1cCB0byBkYXRlIHdpdGggbWFzdGVyIgogCQlleGl0IDEgOyMgd2UgY291bGQgYWxsb3cgaXQsIGJ1dCB0aGVyZSBpcyBubyBwb2ludC4KIAllbHNlCiAJCWV4aXQgMApAQCAtODgsOSArODgsNyBAQAogCWV4aXQgMQogZmkKIAotZXhpdCAwCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKzw8XERPQ19FTkQKIAogVGhpcyBzYW1wbGUgaG9vayBzYWZlZ3VhcmRzIHRvcGljIGJyYW5jaGVzIHRoYXQgaGF2ZSBiZWVuCiBwdWJsaXNoZWQgZnJvbSBiZWluZyByZXdvdW5kLgpAQCAtMTY3LDMgKzE2NSw1IEBACiAJZ2l0IHJldi1saXN0IG1hc3Rlci4udG9waWMKIAogCWlmIHRoaXMgaXMgZW1wdHksIGl0IGlzIGZ1bGx5IG1lcmdlZCB0byAibWFzdGVyIi4KKworRE9DX0VORApkaWZmIC0tZ2l0IGEvdGVtcGxhdGVzL2hvb2tzLS1wcmVwYXJlLWNvbW1pdC1tc2cuc2FtcGxlIGIvdGVtcGxhdGVzL2hvb2tzLS1wcmVwYXJlLWNvbW1pdC1tc2cuc2FtcGxlCmluZGV4IDg2YjhmMjIuLjMxOGFmZTMgMTAwNzU1Ci0tLSBhL3RlbXBsYXRlcy9ob29rcy0tcHJlcGFyZS1jb21taXQtbXNnLnNhbXBsZQorKysgYi90ZW1wbGF0ZXMvaG9va3MtLXByZXBhcmUtY29tbWl0LW1zZy5zYW1wbGUKQEAgLTksOCArOSw4IEBACiAjCiAjIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gInByZXBhcmUtY29tbWl0LW1zZyIuCiAKLSMgVGhpcyBob29rIGluY2x1ZGVzIHRocmVlIGV4YW1wbGVzLiAgVGhlIGZpcnN0IGNvbW1lbnRzIG91dCB0aGUKLSMgIkNvbmZsaWN0czoiIHBhcnQgb2YgYSBtZXJnZSBjb21taXQuCisjIFRoaXMgaG9vayBpbmNsdWRlcyB0aHJlZSBleGFtcGxlcy4gVGhlIGZpcnN0IG9uZSByZW1vdmVzIHRoZQorIyAiIyBQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlLi4uIiBoZWxwIG1lc3NhZ2UuCiAjCiAjIFRoZSBzZWNvbmQgaW5jbHVkZXMgdGhlIG91dHB1dCBvZiAiZ2l0IGRpZmYgLS1uYW1lLXN0YXR1cyAtciIKICMgaW50byB0aGUgbWVzc2FnZSwganVzdCBiZWZvcmUgdGhlICJnaXQgc3RhdHVzIiBvdXRwdXQuICBJdCBpcwpAQCAtMjAsMTcgKzIwLDIzIEBACiAjIFRoZSB0aGlyZCBleGFtcGxlIGFkZHMgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIG1lc3NhZ2UsIHRoYXQgY2FuCiAjIHN0aWxsIGJlIGVkaXRlZC4gIFRoaXMgaXMgcmFyZWx5IGEgZ29vZCBpZGVhLgogCi1jYXNlICIkMiwkMyIgaW4KLSAgbWVyZ2UsKQotICAgIEBQRVJMX1BBVEhAIC1pLmJhayAtbmUgJ3MvXi8jIC8sIHMvXiMgIy8jLyBpZiAvXkNvbmZsaWN0cy8gLi4gLyMvOyBwcmludCcgIiQxIiA7OworQ09NTUlUX01TR19GSUxFPSQxCitDT01NSVRfU09VUkNFPSQyCitTSEExPSQzCiAKLSMgLHx0ZW1wbGF0ZSwpCi0jICAgQFBFUkxfUEFUSEAgLWkuYmFrIC1wZSAnCi0jICAgICAgcHJpbnQgIlxuIiAuIGBnaXQgZGlmZiAtLWNhY2hlZCAtLW5hbWUtc3RhdHVzIC1yYAotIwkgaWYgL14jLyAmJiAkZmlyc3QrKyA9PSAwJyAiJDEiIDs7CitAUEVSTF9QQVRIQCAtaS5iYWsgLW5lICdwcmludCB1bmxlc3MobS9eLiBQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlLy4ubS9eIyQvKScgIiRDT01NSVRfTVNHX0ZJTEUiCiAKLSAgKikgOzsKLWVzYWMKKyMgY2FzZSAiJENPTU1JVF9TT1VSQ0UsJFNIQTEiIGluCisjICAsfHRlbXBsYXRlLCkKKyMgICAgQFBFUkxfUEFUSEAgLWkuYmFrIC1wZSAnCisjICAgICAgIHByaW50ICJcbiIgLiBgZ2l0IGRpZmYgLS1jYWNoZWQgLS1uYW1lLXN0YXR1cyAtcmAKKyMgCSBpZiAvXiMvICYmICRmaXJzdCsrID09IDAnICIkQ09NTUlUX01TR19GSUxFIiA7OworIyAgKikgOzsKKyMgZXNhYwogCi0jIFNPQj0kKGdpdCB2YXIgR0lUX0FVVEhPUl9JREVOVCB8IHNlZCAtbiAncy9eXCguKj5cKS4qJC9TaWduZWQtb2ZmLWJ5OiBcMS9wJykKLSMgZ3JlcCAtcXMgIl4kU09CIiAiJDEiIHx8IGVjaG8gIiRTT0IiID4+ICIkMSIKKyMgU09CPSQoZ2l0IHZhciBHSVRfQ09NTUlUVEVSX0lERU5UIHwgc2VkIC1uICdzL15cKC4qPlwpLiokL1NpZ25lZC1vZmYtYnk6IFwxL3AnKQorIyBnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIC0taW4tcGxhY2UgLS10cmFpbGVyICIkU09CIiAiJENPTU1JVF9NU0dfRklMRSIKKyMgaWYgdGVzdCAteiAiJENPTU1JVF9TT1VSQ0UiCisjIHRoZW4KKyMgICBAUEVSTF9QQVRIQCAtaS5iYWsgLXBlICdwcmludCAiXG4iIGlmICEkZmlyc3RfbGluZSsrJyAiJENPTU1JVF9NU0dfRklMRSIKKyMgZmkKZGlmZiAtLWdpdCBhL3RyYWlsZXIuYyBiL3RyYWlsZXIuYwppbmRleCAxMWYwYjlmLi4zYmExNTdlIDEwMDY0NAotLS0gYS90cmFpbGVyLmMKKysrIGIvdHJhaWxlci5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgpAQCAtOSwxOCArMTAsMTMgQEAKICAqIENvcHlyaWdodCAoYykgMjAxMywgMjAxNCBDaHJpc3RpYW4gQ291ZGVyIDxjaHJpc2Nvb2xAdHV4ZmFtaWx5Lm9yZz4KICAqLwogCi1lbnVtIGFjdGlvbl93aGVyZSB7IFdIRVJFX0VORCwgV0hFUkVfQUZURVIsIFdIRVJFX0JFRk9SRSwgV0hFUkVfU1RBUlQgfTsKLWVudW0gYWN0aW9uX2lmX2V4aXN0cyB7IEVYSVNUU19BRERfSUZfRElGRkVSRU5UX05FSUdIQk9SLCBFWElTVFNfQUREX0lGX0RJRkZFUkVOVCwKLQkJCUVYSVNUU19BREQsIEVYSVNUU19SRVBMQUNFLCBFWElTVFNfRE9fTk9USElORyB9OwotZW51bSBhY3Rpb25faWZfbWlzc2luZyB7IE1JU1NJTkdfQURELCBNSVNTSU5HX0RPX05PVEhJTkcgfTsKLQogc3RydWN0IGNvbmZfaW5mbyB7CiAJY2hhciAqbmFtZTsKIAljaGFyICprZXk7CiAJY2hhciAqY29tbWFuZDsKLQllbnVtIGFjdGlvbl93aGVyZSB3aGVyZTsKLQllbnVtIGFjdGlvbl9pZl9leGlzdHMgaWZfZXhpc3RzOwotCWVudW0gYWN0aW9uX2lmX21pc3NpbmcgaWZfbWlzc2luZzsKKwllbnVtIHRyYWlsZXJfd2hlcmUgd2hlcmU7CisJZW51bSB0cmFpbGVyX2lmX2V4aXN0cyBpZl9leGlzdHM7CisJZW51bSB0cmFpbGVyX2lmX21pc3NpbmcgaWZfbWlzc2luZzsKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY29uZl9pbmZvIGRlZmF1bHRfY29uZl9pbmZvOwpAQCAtNjIsNyArNTgsNyBAQAogCQlwb3MgIT0gKGhlYWQpOyBcCiAJCXBvcyA9IGlzX3JldmVyc2UgPyBwb3MtPnByZXYgOiBwb3MtPm5leHQpCiAKLXN0YXRpYyBpbnQgYWZ0ZXJfb3JfZW5kKGVudW0gYWN0aW9uX3doZXJlIHdoZXJlKQorc3RhdGljIGludCBhZnRlcl9vcl9lbmQoZW51bSB0cmFpbGVyX3doZXJlIHdoZXJlKQogewogCXJldHVybiAod2hlcmUgPT0gV0hFUkVfQUZURVIpIHx8ICh3aGVyZSA9PSBXSEVSRV9FTkQpOwogfQpAQCAtMTYzLDEzICsxNTksMTUgQEAKIAkJZnByaW50ZihvdXRmaWxlLCAiJXMlYyAlc1xuIiwgdG9rLCBzZXBhcmF0b3JzWzBdLCB2YWwpOwogfQogCi1zdGF0aWMgdm9pZCBwcmludF9hbGwoRklMRSAqb3V0ZmlsZSwgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgaW50IHRyaW1fZW1wdHkpCitzdGF0aWMgdm9pZCBwcmludF9hbGwoRklMRSAqb3V0ZmlsZSwgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwKKwkJICAgICAgY29uc3Qgc3RydWN0IHByb2Nlc3NfdHJhaWxlcl9vcHRpb25zICpvcHRzKQogewogCXN0cnVjdCBsaXN0X2hlYWQgKnBvczsKIAlzdHJ1Y3QgdHJhaWxlcl9pdGVtICppdGVtOwogCWxpc3RfZm9yX2VhY2gocG9zLCBoZWFkKSB7CiAJCWl0ZW0gPSBsaXN0X2VudHJ5KHBvcywgc3RydWN0IHRyYWlsZXJfaXRlbSwgbGlzdCk7Ci0JCWlmICghdHJpbV9lbXB0eSB8fCBzdHJsZW4oaXRlbS0+dmFsdWUpID4gMCkKKwkJaWYgKCghb3B0cy0+dHJpbV9lbXB0eSB8fCBzdHJsZW4oaXRlbS0+dmFsdWUpID4gMCkgJiYKKwkJICAgICghb3B0cy0+b25seV90cmFpbGVycyB8fCBpdGVtLT50b2tlbikpCiAJCQlwcmludF90b2tfdmFsKG91dGZpbGUsIGl0ZW0tPnRva2VuLCBpdGVtLT52YWx1ZSk7CiAJfQogfQpAQCAtMjAwLDcgKzE5OCw3IEBACiAJCQkgICAgICBpbnQgY2hlY2tfYWxsLAogCQkJICAgICAgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKIHsKLQllbnVtIGFjdGlvbl93aGVyZSB3aGVyZSA9IGFyZ190b2stPmNvbmYud2hlcmU7CisJZW51bSB0cmFpbGVyX3doZXJlIHdoZXJlID0gYXJnX3Rvay0+Y29uZi53aGVyZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkICpuZXh0X2hlYWQ7CiAJZG8gewogCQlpZiAoc2FtZV90cmFpbGVyKGluX3RvaywgYXJnX3RvaykpCkBAIC0yOTksMTMgKzI5NywxNiBAQAogCQllbHNlCiAJCQlmcmVlX2FyZ19pdGVtKGFyZ190b2spOwogCQlicmVhazsKKwlkZWZhdWx0OgorCQlkaWUoIkJVRzogdHJhaWxlci5jOiB1bmhhbmRsZWQgdmFsdWUgJWQiLAorCQkgICAgYXJnX3Rvay0+Y29uZi5pZl9leGlzdHMpOwogCX0KIH0KIAogc3RhdGljIHZvaWQgYXBwbHlfYXJnX2lmX21pc3Npbmcoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwKIAkJCQkgc3RydWN0IGFyZ19pdGVtICphcmdfdG9rKQogewotCWVudW0gYWN0aW9uX3doZXJlIHdoZXJlOworCWVudW0gdHJhaWxlcl93aGVyZSB3aGVyZTsKIAlzdHJ1Y3QgdHJhaWxlcl9pdGVtICp0b19hZGQ7CiAKIAlzd2l0Y2ggKGFyZ190b2stPmNvbmYuaWZfbWlzc2luZykgewpAQCAtMzIwLDYgKzMyMSwxMCBAQAogCQkJbGlzdF9hZGRfdGFpbCgmdG9fYWRkLT5saXN0LCBoZWFkKTsKIAkJZWxzZQogCQkJbGlzdF9hZGQoJnRvX2FkZC0+bGlzdCwgaGVhZCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRpZSgiQlVHOiB0cmFpbGVyLmM6IHVuaGFuZGxlZCB2YWx1ZSAlZCIsCisJCSAgICBhcmdfdG9rLT5jb25mLmlmX21pc3NpbmcpOwogCX0KIH0KIApAQCAtMzMwLDcgKzMzNSw3IEBACiAJc3RydWN0IHRyYWlsZXJfaXRlbSAqaW5fdG9rOwogCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKm9uX3RvazsKIAotCWVudW0gYWN0aW9uX3doZXJlIHdoZXJlID0gYXJnX3Rvay0+Y29uZi53aGVyZTsKKwllbnVtIHRyYWlsZXJfd2hlcmUgd2hlcmUgPSBhcmdfdG9rLT5jb25mLndoZXJlOwogCWludCBtaWRkbGUgPSAod2hlcmUgPT0gV0hFUkVfQUZURVIpIHx8ICh3aGVyZSA9PSBXSEVSRV9CRUZPUkUpOwogCWludCBiYWNrd2FyZHMgPSBhZnRlcl9vcl9lbmQod2hlcmUpOwogCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKnN0YXJ0X3RvazsKQEAgLTM3Miw0NCArMzc3LDUwIEBACiAJfQogfQogCi1zdGF0aWMgaW50IHNldF93aGVyZShzdHJ1Y3QgY29uZl9pbmZvICppdGVtLCBjb25zdCBjaGFyICp2YWx1ZSkKK2ludCB0cmFpbGVyX3NldF93aGVyZShlbnVtIHRyYWlsZXJfd2hlcmUgKml0ZW0sIGNvbnN0IGNoYXIgKnZhbHVlKQogewotCWlmICghc3RyY2FzZWNtcCgiYWZ0ZXIiLCB2YWx1ZSkpCi0JCWl0ZW0tPndoZXJlID0gV0hFUkVfQUZURVI7CisJaWYgKCF2YWx1ZSkKKwkJKml0ZW0gPSBXSEVSRV9ERUZBVUxUOworCWVsc2UgaWYgKCFzdHJjYXNlY21wKCJhZnRlciIsIHZhbHVlKSkKKwkJKml0ZW0gPSBXSEVSRV9BRlRFUjsKIAllbHNlIGlmICghc3RyY2FzZWNtcCgiYmVmb3JlIiwgdmFsdWUpKQotCQlpdGVtLT53aGVyZSA9IFdIRVJFX0JFRk9SRTsKKwkJKml0ZW0gPSBXSEVSRV9CRUZPUkU7CiAJZWxzZSBpZiAoIXN0cmNhc2VjbXAoImVuZCIsIHZhbHVlKSkKLQkJaXRlbS0+d2hlcmUgPSBXSEVSRV9FTkQ7CisJCSppdGVtID0gV0hFUkVfRU5EOwogCWVsc2UgaWYgKCFzdHJjYXNlY21wKCJzdGFydCIsIHZhbHVlKSkKLQkJaXRlbS0+d2hlcmUgPSBXSEVSRV9TVEFSVDsKKwkJKml0ZW0gPSBXSEVSRV9TVEFSVDsKIAllbHNlCiAJCXJldHVybiAtMTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzZXRfaWZfZXhpc3RzKHN0cnVjdCBjb25mX2luZm8gKml0ZW0sIGNvbnN0IGNoYXIgKnZhbHVlKQoraW50IHRyYWlsZXJfc2V0X2lmX2V4aXN0cyhlbnVtIHRyYWlsZXJfaWZfZXhpc3RzICppdGVtLCBjb25zdCBjaGFyICp2YWx1ZSkKIHsKLQlpZiAoIXN0cmNhc2VjbXAoImFkZElmRGlmZmVyZW50IiwgdmFsdWUpKQotCQlpdGVtLT5pZl9leGlzdHMgPSBFWElTVFNfQUREX0lGX0RJRkZFUkVOVDsKKwlpZiAoIXZhbHVlKQorCQkqaXRlbSA9IEVYSVNUU19ERUZBVUxUOworCWVsc2UgaWYgKCFzdHJjYXNlY21wKCJhZGRJZkRpZmZlcmVudCIsIHZhbHVlKSkKKwkJKml0ZW0gPSBFWElTVFNfQUREX0lGX0RJRkZFUkVOVDsKIAllbHNlIGlmICghc3RyY2FzZWNtcCgiYWRkSWZEaWZmZXJlbnROZWlnaGJvciIsIHZhbHVlKSkKLQkJaXRlbS0+aWZfZXhpc3RzID0gRVhJU1RTX0FERF9JRl9ESUZGRVJFTlRfTkVJR0hCT1I7CisJCSppdGVtID0gRVhJU1RTX0FERF9JRl9ESUZGRVJFTlRfTkVJR0hCT1I7CiAJZWxzZSBpZiAoIXN0cmNhc2VjbXAoImFkZCIsIHZhbHVlKSkKLQkJaXRlbS0+aWZfZXhpc3RzID0gRVhJU1RTX0FERDsKKwkJKml0ZW0gPSBFWElTVFNfQUREOwogCWVsc2UgaWYgKCFzdHJjYXNlY21wKCJyZXBsYWNlIiwgdmFsdWUpKQotCQlpdGVtLT5pZl9leGlzdHMgPSBFWElTVFNfUkVQTEFDRTsKKwkJKml0ZW0gPSBFWElTVFNfUkVQTEFDRTsKIAllbHNlIGlmICghc3RyY2FzZWNtcCgiZG9Ob3RoaW5nIiwgdmFsdWUpKQotCQlpdGVtLT5pZl9leGlzdHMgPSBFWElTVFNfRE9fTk9USElORzsKKwkJKml0ZW0gPSBFWElTVFNfRE9fTk9USElORzsKIAllbHNlCiAJCXJldHVybiAtMTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzZXRfaWZfbWlzc2luZyhzdHJ1Y3QgY29uZl9pbmZvICppdGVtLCBjb25zdCBjaGFyICp2YWx1ZSkKK2ludCB0cmFpbGVyX3NldF9pZl9taXNzaW5nKGVudW0gdHJhaWxlcl9pZl9taXNzaW5nICppdGVtLCBjb25zdCBjaGFyICp2YWx1ZSkKIHsKLQlpZiAoIXN0cmNhc2VjbXAoImRvTm90aGluZyIsIHZhbHVlKSkKLQkJaXRlbS0+aWZfbWlzc2luZyA9IE1JU1NJTkdfRE9fTk9USElORzsKKwlpZiAoIXZhbHVlKQorCQkqaXRlbSA9IE1JU1NJTkdfREVGQVVMVDsKKwllbHNlIGlmICghc3RyY2FzZWNtcCgiZG9Ob3RoaW5nIiwgdmFsdWUpKQorCQkqaXRlbSA9IE1JU1NJTkdfRE9fTk9USElORzsKIAllbHNlIGlmICghc3RyY2FzZWNtcCgiYWRkIiwgdmFsdWUpKQotCQlpdGVtLT5pZl9taXNzaW5nID0gTUlTU0lOR19BREQ7CisJCSppdGVtID0gTUlTU0lOR19BREQ7CiAJZWxzZQogCQlyZXR1cm4gLTE7CiAJcmV0dXJuIDA7CkBAIC00NjksMTUgKzQ4MCwxOCBAQAogCXZhcmlhYmxlX25hbWUgPSBzdHJyY2hyKHRyYWlsZXJfaXRlbSwgJy4nKTsKIAlpZiAoIXZhcmlhYmxlX25hbWUpIHsKIAkJaWYgKCFzdHJjbXAodHJhaWxlcl9pdGVtLCAid2hlcmUiKSkgewotCQkJaWYgKHNldF93aGVyZSgmZGVmYXVsdF9jb25mX2luZm8sIHZhbHVlKSA8IDApCisJCQlpZiAodHJhaWxlcl9zZXRfd2hlcmUoJmRlZmF1bHRfY29uZl9pbmZvLndoZXJlLAorCQkJCQkgICAgICB2YWx1ZSkgPCAwKQogCQkJCXdhcm5pbmcoXygidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIpLAogCQkJCQl2YWx1ZSwgY29uZl9rZXkpOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAodHJhaWxlcl9pdGVtLCAiaWZleGlzdHMiKSkgewotCQkJaWYgKHNldF9pZl9leGlzdHMoJmRlZmF1bHRfY29uZl9pbmZvLCB2YWx1ZSkgPCAwKQorCQkJaWYgKHRyYWlsZXJfc2V0X2lmX2V4aXN0cygmZGVmYXVsdF9jb25mX2luZm8uaWZfZXhpc3RzLAorCQkJCQkJICB2YWx1ZSkgPCAwKQogCQkJCXdhcm5pbmcoXygidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIpLAogCQkJCQl2YWx1ZSwgY29uZl9rZXkpOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAodHJhaWxlcl9pdGVtLCAiaWZtaXNzaW5nIikpIHsKLQkJCWlmIChzZXRfaWZfbWlzc2luZygmZGVmYXVsdF9jb25mX2luZm8sIHZhbHVlKSA8IDApCisJCQlpZiAodHJhaWxlcl9zZXRfaWZfbWlzc2luZygmZGVmYXVsdF9jb25mX2luZm8uaWZfbWlzc2luZywKKwkJCQkJCSAgIHZhbHVlKSA8IDApCiAJCQkJd2FybmluZyhfKCJ1bmtub3duIHZhbHVlICclcycgZm9yIGtleSAnJXMnIiksCiAJCQkJCXZhbHVlLCBjb25mX2tleSk7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcCh0cmFpbGVyX2l0ZW0sICJzZXBhcmF0b3JzIikpIHsKQEAgLTUzMSwxNSArNTQ1LDE1IEBACiAJCWNvbmYtPmNvbW1hbmQgPSB4c3RyZHVwKHZhbHVlKTsKIAkJYnJlYWs7CiAJY2FzZSBUUkFJTEVSX1dIRVJFOgotCQlpZiAoc2V0X3doZXJlKGNvbmYsIHZhbHVlKSkKKwkJaWYgKHRyYWlsZXJfc2V0X3doZXJlKCZjb25mLT53aGVyZSwgdmFsdWUpKQogCQkJd2FybmluZyhfKCJ1bmtub3duIHZhbHVlICclcycgZm9yIGtleSAnJXMnIiksIHZhbHVlLCBjb25mX2tleSk7CiAJCWJyZWFrOwogCWNhc2UgVFJBSUxFUl9JRl9FWElTVFM6Ci0JCWlmIChzZXRfaWZfZXhpc3RzKGNvbmYsIHZhbHVlKSkKKwkJaWYgKHRyYWlsZXJfc2V0X2lmX2V4aXN0cygmY29uZi0+aWZfZXhpc3RzLCB2YWx1ZSkpCiAJCQl3YXJuaW5nKF8oInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciKSwgdmFsdWUsIGNvbmZfa2V5KTsKIAkJYnJlYWs7CiAJY2FzZSBUUkFJTEVSX0lGX01JU1NJTkc6Ci0JCWlmIChzZXRfaWZfbWlzc2luZyhjb25mLCB2YWx1ZSkpCisJCWlmICh0cmFpbGVyX3NldF9pZl9taXNzaW5nKCZjb25mLT5pZl9taXNzaW5nLCB2YWx1ZSkpCiAJCQl3YXJuaW5nKF8oInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciKSwgdmFsdWUsIGNvbmZfa2V5KTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKQEAgLTU1NCw2ICs1NjgsOSBAQAogCQlyZXR1cm47CiAKIAkvKiBEZWZhdWx0IGNvbmZpZyBtdXN0IGJlIHNldHVwIGZpcnN0ICovCisJZGVmYXVsdF9jb25mX2luZm8ud2hlcmUgPSBXSEVSRV9FTkQ7CisJZGVmYXVsdF9jb25mX2luZm8uaWZfZXhpc3RzID0gRVhJU1RTX0FERF9JRl9ESUZGRVJFTlRfTkVJR0hCT1I7CisJZGVmYXVsdF9jb25mX2luZm8uaWZfbWlzc2luZyA9IE1JU1NJTkdfQUREOwogCWdpdF9jb25maWcoZ2l0X3RyYWlsZXJfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCWdpdF9jb25maWcoZ2l0X3RyYWlsZXJfY29uZmlnLCBOVUxMKTsKIAljb25maWd1cmVkID0gMTsKQEAgLTY1NywxOSArNjc0LDI3IEBACiB9CiAKIHN0YXRpYyB2b2lkIGFkZF9hcmdfaXRlbShzdHJ1Y3QgbGlzdF9oZWFkICphcmdfaGVhZCwgY2hhciAqdG9rLCBjaGFyICp2YWwsCi0JCQkgY29uc3Qgc3RydWN0IGNvbmZfaW5mbyAqY29uZikKKwkJCSBjb25zdCBzdHJ1Y3QgY29uZl9pbmZvICpjb25mLAorCQkJIGNvbnN0IHN0cnVjdCBuZXdfdHJhaWxlcl9pdGVtICpuZXdfdHJhaWxlcl9pdGVtKQogewogCXN0cnVjdCBhcmdfaXRlbSAqbmV3ID0geGNhbGxvYyhzaXplb2YoKm5ldyksIDEpOwogCW5ldy0+dG9rZW4gPSB0b2s7CiAJbmV3LT52YWx1ZSA9IHZhbDsKIAlkdXBsaWNhdGVfY29uZigmbmV3LT5jb25mLCBjb25mKTsKKwlpZiAobmV3X3RyYWlsZXJfaXRlbSkgeworCQlpZiAobmV3X3RyYWlsZXJfaXRlbS0+d2hlcmUgIT0gV0hFUkVfREVGQVVMVCkKKwkJCW5ldy0+Y29uZi53aGVyZSA9IG5ld190cmFpbGVyX2l0ZW0tPndoZXJlOworCQlpZiAobmV3X3RyYWlsZXJfaXRlbS0+aWZfZXhpc3RzICE9IEVYSVNUU19ERUZBVUxUKQorCQkJbmV3LT5jb25mLmlmX2V4aXN0cyA9IG5ld190cmFpbGVyX2l0ZW0tPmlmX2V4aXN0czsKKwkJaWYgKG5ld190cmFpbGVyX2l0ZW0tPmlmX21pc3NpbmcgIT0gTUlTU0lOR19ERUZBVUxUKQorCQkJbmV3LT5jb25mLmlmX21pc3NpbmcgPSBuZXdfdHJhaWxlcl9pdGVtLT5pZl9taXNzaW5nOworCX0KIAlsaXN0X2FkZF90YWlsKCZuZXctPmxpc3QsIGFyZ19oZWFkKTsKIH0KIAogc3RhdGljIHZvaWQgcHJvY2Vzc19jb21tYW5kX2xpbmVfYXJncyhzdHJ1Y3QgbGlzdF9oZWFkICphcmdfaGVhZCwKLQkJCQkgICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnRyYWlsZXJzKQorCQkJCSAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKm5ld190cmFpbGVyX2hlYWQpCiB7Ci0Jc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnRyOwogCXN0cnVjdCBhcmdfaXRlbSAqaXRlbTsKIAlzdHJ1Y3Qgc3RyYnVmIHRvayA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgdmFsID0gU1RSQlVGX0lOSVQ7CkBAIC02ODksMjYgKzcxNCwyOSBAQAogCQkJYWRkX2FyZ19pdGVtKGFyZ19oZWFkLAogCQkJCSAgICAgeHN0cmR1cCh0b2tlbl9mcm9tX2l0ZW0oaXRlbSwgTlVMTCkpLAogCQkJCSAgICAgeHN0cmR1cCgiIiksCi0JCQkJICAgICAmaXRlbS0+Y29uZik7CisJCQkJICAgICAmaXRlbS0+Y29uZiwgTlVMTCk7CiAJfQogCiAJLyogQWRkIGFuIGFyZyBpdGVtIGZvciBlYWNoIHRyYWlsZXIgb24gdGhlIGNvbW1hbmQgbGluZSAqLwotCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0odHIsIHRyYWlsZXJzKSB7Ci0JCWludCBzZXBhcmF0b3JfcG9zID0gZmluZF9zZXBhcmF0b3IodHItPnN0cmluZywgY2xfc2VwYXJhdG9ycyk7CisJbGlzdF9mb3JfZWFjaChwb3MsIG5ld190cmFpbGVyX2hlYWQpIHsKKwkJc3RydWN0IG5ld190cmFpbGVyX2l0ZW0gKnRyID0KKwkJCWxpc3RfZW50cnkocG9zLCBzdHJ1Y3QgbmV3X3RyYWlsZXJfaXRlbSwgbGlzdCk7CisJCWludCBzZXBhcmF0b3JfcG9zID0gZmluZF9zZXBhcmF0b3IodHItPnRleHQsIGNsX3NlcGFyYXRvcnMpOworCiAJCWlmIChzZXBhcmF0b3JfcG9zID09IDApIHsKIAkJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQkJCXN0cmJ1Zl9hZGRzdHIoJnNiLCB0ci0+c3RyaW5nKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoJnNiLCB0ci0+dGV4dCk7CiAJCQlzdHJidWZfdHJpbSgmc2IpOwogCQkJZXJyb3IoXygiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIpLAogCQkJICAgICAgKGludCkgc2IubGVuLCBzYi5idWYpOwogCQkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAkJfSBlbHNlIHsKLQkJCXBhcnNlX3RyYWlsZXIoJnRvaywgJnZhbCwgJmNvbmYsIHRyLT5zdHJpbmcsCisJCQlwYXJzZV90cmFpbGVyKCZ0b2ssICZ2YWwsICZjb25mLCB0ci0+dGV4dCwKIAkJCQkgICAgICBzZXBhcmF0b3JfcG9zKTsKIAkJCWFkZF9hcmdfaXRlbShhcmdfaGVhZCwKIAkJCQkgICAgIHN0cmJ1Zl9kZXRhY2goJnRvaywgTlVMTCksCiAJCQkJICAgICBzdHJidWZfZGV0YWNoKCZ2YWwsIE5VTEwpLAotCQkJCSAgICAgY29uZik7CisJCQkJICAgICBjb25mLCB0cik7CiAJCX0KIAl9CiAKQEAgLTg4NCw5ICs5MTIsMzcgQEAKIAlyZXR1cm4gaXNfYmxhbmtfbGluZShidWYgKyBsbCk7CiB9CiAKK3N0YXRpYyB2b2lkIHVuZm9sZF92YWx1ZShzdHJ1Y3Qgc3RyYnVmICp2YWwpCit7CisJc3RydWN0IHN0cmJ1ZiBvdXQgPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgaTsKKworCXN0cmJ1Zl9ncm93KCZvdXQsIHZhbC0+bGVuKTsKKwlpID0gMDsKKwl3aGlsZSAoaSA8IHZhbC0+bGVuKSB7CisJCWNoYXIgYyA9IHZhbC0+YnVmW2krK107CisJCWlmIChjID09ICdcbicpIHsKKwkJCS8qIENvbGxhcHNlIGNvbnRpbnVhdGlvbiBkb3duIHRvIGEgc2luZ2xlIHNwYWNlLiAqLworCQkJd2hpbGUgKGkgPCB2YWwtPmxlbiAmJiBpc3NwYWNlKHZhbC0+YnVmW2ldKSkKKwkJCQlpKys7CisJCQlzdHJidWZfYWRkY2goJm91dCwgJyAnKTsKKwkJfSBlbHNlIHsKKwkJCXN0cmJ1Zl9hZGRjaCgmb3V0LCBjKTsKKwkJfQorCX0KKworCS8qIEVtcHR5IGxpbmVzIG1heSBoYXZlIGxlZnQgdXMgd2l0aCB3aGl0ZXNwYWNlIGNydWZ0IGF0IHRoZSBlZGdlcyAqLworCXN0cmJ1Zl90cmltKCZvdXQpOworCisJLyogb3V0cHV0IGdvZXMgYmFjayB0byB2YWwgYXMgaWYgd2UgbW9kaWZpZWQgaXQgaW4tcGxhY2UgKi8KKwlzdHJidWZfc3dhcCgmb3V0LCB2YWwpOworCXN0cmJ1Zl9yZWxlYXNlKCZvdXQpOworfQorCiBzdGF0aWMgaW50IHByb2Nlc3NfaW5wdXRfZmlsZShGSUxFICpvdXRmaWxlLAogCQkJICAgICAgY29uc3QgY2hhciAqc3RyLAotCQkJICAgICAgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKKwkJCSAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgcHJvY2Vzc190cmFpbGVyX29wdGlvbnMgKm9wdHMpCiB7CiAJc3RydWN0IHRyYWlsZXJfaW5mbyBpbmZvOwogCXN0cnVjdCBzdHJidWYgdG9rID0gU1RSQlVGX0lOSVQ7CkBAIC04OTYsOSArOTUyLDEwIEBACiAJdHJhaWxlcl9pbmZvX2dldCgmaW5mbywgc3RyKTsKIAogCS8qIFByaW50IGxpbmVzIGJlZm9yZSB0aGUgdHJhaWxlcnMgYXMgaXMgKi8KLQlmd3JpdGUoc3RyLCAxLCBpbmZvLnRyYWlsZXJfc3RhcnQgLSBzdHIsIG91dGZpbGUpOworCWlmICghb3B0cy0+b25seV90cmFpbGVycykKKwkJZndyaXRlKHN0ciwgMSwgaW5mby50cmFpbGVyX3N0YXJ0IC0gc3RyLCBvdXRmaWxlKTsKIAotCWlmICghaW5mby5ibGFua19saW5lX2JlZm9yZV90cmFpbGVyKQorCWlmICghb3B0cy0+b25seV90cmFpbGVycyAmJiAhaW5mby5ibGFua19saW5lX2JlZm9yZV90cmFpbGVyKQogCQlmcHJpbnRmKG91dGZpbGUsICJcbiIpOwogCiAJZm9yIChpID0gMDsgaSA8IGluZm8udHJhaWxlcl9ucjsgaSsrKSB7CkBAIC05MTAsMTAgKzk2NywxMiBAQAogCQlpZiAoc2VwYXJhdG9yX3BvcyA+PSAxKSB7CiAJCQlwYXJzZV90cmFpbGVyKCZ0b2ssICZ2YWwsIE5VTEwsIHRyYWlsZXIsCiAJCQkJICAgICAgc2VwYXJhdG9yX3Bvcyk7CisJCQlpZiAob3B0cy0+dW5mb2xkKQorCQkJCXVuZm9sZF92YWx1ZSgmdmFsKTsKIAkJCWFkZF90cmFpbGVyX2l0ZW0oaGVhZCwKIAkJCQkJIHN0cmJ1Zl9kZXRhY2goJnRvaywgTlVMTCksCiAJCQkJCSBzdHJidWZfZGV0YWNoKCZ2YWwsIE5VTEwpKTsKLQkJfSBlbHNlIHsKKwkJfSBlbHNlIGlmICghb3B0cy0+b25seV90cmFpbGVycykgewogCQkJc3RyYnVmX2FkZHN0cigmdmFsLCB0cmFpbGVyKTsKIAkJCXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJnZhbCwgIlxuIik7CiAJCQlhZGRfdHJhaWxlcl9pdGVtKGhlYWQsCkBAIC05MzYsNyArOTk1LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgdGVtcGZpbGUgdHJhaWxlcnNfdGVtcGZpbGU7CitzdGF0aWMgc3RydWN0IHRlbXBmaWxlICp0cmFpbGVyc190ZW1wZmlsZTsKIAogc3RhdGljIEZJTEUgKmNyZWF0ZV9pbl9wbGFjZV90ZW1wZmlsZShjb25zdCBjaGFyICpmaWxlKQogewpAQCAtOTU4LDE5ICsxMDE3LDIwIEBACiAJCXN0cmJ1Zl9hZGQoJnRlbXBsYXRlLCBmaWxlLCB0YWlsIC0gZmlsZSArIDEpOwogCXN0cmJ1Zl9hZGRzdHIoJnRlbXBsYXRlLCAiZ2l0LWludGVycHJldC10cmFpbGVycy1YWFhYWFgiKTsKIAotCXhta3NfdGVtcGZpbGVfbSgmdHJhaWxlcnNfdGVtcGZpbGUsIHRlbXBsYXRlLmJ1Ziwgc3Quc3RfbW9kZSk7CisJdHJhaWxlcnNfdGVtcGZpbGUgPSB4bWtzX3RlbXBmaWxlX20odGVtcGxhdGUuYnVmLCBzdC5zdF9tb2RlKTsKIAlzdHJidWZfcmVsZWFzZSgmdGVtcGxhdGUpOwotCW91dGZpbGUgPSBmZG9wZW5fdGVtcGZpbGUoJnRyYWlsZXJzX3RlbXBmaWxlLCAidyIpOworCW91dGZpbGUgPSBmZG9wZW5fdGVtcGZpbGUodHJhaWxlcnNfdGVtcGZpbGUsICJ3Iik7CiAJaWYgKCFvdXRmaWxlKQogCQlkaWVfZXJybm8oXygiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiKSk7CiAKIAlyZXR1cm4gb3V0ZmlsZTsKIH0KIAotdm9pZCBwcm9jZXNzX3RyYWlsZXJzKGNvbnN0IGNoYXIgKmZpbGUsIGludCBpbl9wbGFjZSwgaW50IHRyaW1fZW1wdHksIHN0cnVjdCBzdHJpbmdfbGlzdCAqdHJhaWxlcnMpCit2b2lkIHByb2Nlc3NfdHJhaWxlcnMoY29uc3QgY2hhciAqZmlsZSwKKwkJICAgICAgY29uc3Qgc3RydWN0IHByb2Nlc3NfdHJhaWxlcl9vcHRpb25zICpvcHRzLAorCQkgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpuZXdfdHJhaWxlcl9oZWFkKQogewogCUxJU1RfSEVBRChoZWFkKTsKLQlMSVNUX0hFQUQoYXJnX2hlYWQpOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAlpbnQgdHJhaWxlcl9lbmQ7CiAJRklMRSAqb3V0ZmlsZSA9IHN0ZG91dDsKQEAgLTk3OSwyNCArMTAzOSwyNyBAQAogCiAJcmVhZF9pbnB1dF9maWxlKCZzYiwgZmlsZSk7CiAKLQlpZiAoaW5fcGxhY2UpCisJaWYgKG9wdHMtPmluX3BsYWNlKQogCQlvdXRmaWxlID0gY3JlYXRlX2luX3BsYWNlX3RlbXBmaWxlKGZpbGUpOwogCiAJLyogUHJpbnQgdGhlIGxpbmVzIGJlZm9yZSB0aGUgdHJhaWxlcnMgKi8KLQl0cmFpbGVyX2VuZCA9IHByb2Nlc3NfaW5wdXRfZmlsZShvdXRmaWxlLCBzYi5idWYsICZoZWFkKTsKKwl0cmFpbGVyX2VuZCA9IHByb2Nlc3NfaW5wdXRfZmlsZShvdXRmaWxlLCBzYi5idWYsICZoZWFkLCBvcHRzKTsKIAotCXByb2Nlc3NfY29tbWFuZF9saW5lX2FyZ3MoJmFyZ19oZWFkLCB0cmFpbGVycyk7CisJaWYgKCFvcHRzLT5vbmx5X2lucHV0KSB7CisJCUxJU1RfSEVBRChhcmdfaGVhZCk7CisJCXByb2Nlc3NfY29tbWFuZF9saW5lX2FyZ3MoJmFyZ19oZWFkLCBuZXdfdHJhaWxlcl9oZWFkKTsKKwkJcHJvY2Vzc190cmFpbGVyc19saXN0cygmaGVhZCwgJmFyZ19oZWFkKTsKKwl9CiAKLQlwcm9jZXNzX3RyYWlsZXJzX2xpc3RzKCZoZWFkLCAmYXJnX2hlYWQpOwotCi0JcHJpbnRfYWxsKG91dGZpbGUsICZoZWFkLCB0cmltX2VtcHR5KTsKKwlwcmludF9hbGwob3V0ZmlsZSwgJmhlYWQsIG9wdHMpOwogCiAJZnJlZV9hbGwoJmhlYWQpOwogCiAJLyogUHJpbnQgdGhlIGxpbmVzIGFmdGVyIHRoZSB0cmFpbGVycyBhcyBpcyAqLwotCWZ3cml0ZShzYi5idWYgKyB0cmFpbGVyX2VuZCwgMSwgc2IubGVuIC0gdHJhaWxlcl9lbmQsIG91dGZpbGUpOworCWlmICghb3B0cy0+b25seV90cmFpbGVycykKKwkJZndyaXRlKHNiLmJ1ZiArIHRyYWlsZXJfZW5kLCAxLCBzYi5sZW4gLSB0cmFpbGVyX2VuZCwgb3V0ZmlsZSk7CiAKLQlpZiAoaW5fcGxhY2UpCisJaWYgKG9wdHMtPmluX3BsYWNlKQogCQlpZiAocmVuYW1lX3RlbXBmaWxlKCZ0cmFpbGVyc190ZW1wZmlsZSwgZmlsZSkpCiAJCQlkaWVfZXJybm8oXygiY291bGQgbm90IHJlbmFtZSB0ZW1wb3JhcnkgZmlsZSB0byAlcyIpLCBmaWxlKTsKIApAQCAtMTA1MywzICsxMTE2LDQ5IEBACiAJCWZyZWUoaW5mby0+dHJhaWxlcnNbaV0pOwogCWZyZWUoaW5mby0+dHJhaWxlcnMpOwogfQorCitzdGF0aWMgdm9pZCBmb3JtYXRfdHJhaWxlcl9pbmZvKHN0cnVjdCBzdHJidWYgKm91dCwKKwkJCQljb25zdCBzdHJ1Y3QgdHJhaWxlcl9pbmZvICppbmZvLAorCQkJCWNvbnN0IHN0cnVjdCBwcm9jZXNzX3RyYWlsZXJfb3B0aW9ucyAqb3B0cykKK3sKKwlpbnQgaTsKKworCS8qIElmIHdlIHdhbnQgdGhlIHdob2xlIGJsb2NrIHVudG91Y2hlZCwgd2UgY2FuIHRha2UgdGhlIGZhc3QgcGF0aC4gKi8KKwlpZiAoIW9wdHMtPm9ubHlfdHJhaWxlcnMgJiYgIW9wdHMtPnVuZm9sZCkgeworCQlzdHJidWZfYWRkKG91dCwgaW5mby0+dHJhaWxlcl9zdGFydCwKKwkJCSAgIGluZm8tPnRyYWlsZXJfZW5kIC0gaW5mby0+dHJhaWxlcl9zdGFydCk7CisJCXJldHVybjsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgaW5mby0+dHJhaWxlcl9ucjsgaSsrKSB7CisJCWNoYXIgKnRyYWlsZXIgPSBpbmZvLT50cmFpbGVyc1tpXTsKKwkJaW50IHNlcGFyYXRvcl9wb3MgPSBmaW5kX3NlcGFyYXRvcih0cmFpbGVyLCBzZXBhcmF0b3JzKTsKKworCQlpZiAoc2VwYXJhdG9yX3BvcyA+PSAxKSB7CisJCQlzdHJ1Y3Qgc3RyYnVmIHRvayA9IFNUUkJVRl9JTklUOworCQkJc3RydWN0IHN0cmJ1ZiB2YWwgPSBTVFJCVUZfSU5JVDsKKworCQkJcGFyc2VfdHJhaWxlcigmdG9rLCAmdmFsLCBOVUxMLCB0cmFpbGVyLCBzZXBhcmF0b3JfcG9zKTsKKwkJCWlmIChvcHRzLT51bmZvbGQpCisJCQkJdW5mb2xkX3ZhbHVlKCZ2YWwpOworCisJCQlzdHJidWZfYWRkZihvdXQsICIlczogJXNcbiIsIHRvay5idWYsIHZhbC5idWYpOworCQkJc3RyYnVmX3JlbGVhc2UoJnRvayk7CisJCQlzdHJidWZfcmVsZWFzZSgmdmFsKTsKKworCQl9IGVsc2UgaWYgKCFvcHRzLT5vbmx5X3RyYWlsZXJzKSB7CisJCQlzdHJidWZfYWRkc3RyKG91dCwgdHJhaWxlcik7CisJCX0KKwl9CisKK30KKwordm9pZCBmb3JtYXRfdHJhaWxlcnNfZnJvbV9jb21taXQoc3RydWN0IHN0cmJ1ZiAqb3V0LCBjb25zdCBjaGFyICptc2csCisJCQkJIGNvbnN0IHN0cnVjdCBwcm9jZXNzX3RyYWlsZXJfb3B0aW9ucyAqb3B0cykKK3sKKwlzdHJ1Y3QgdHJhaWxlcl9pbmZvIGluZm87CisKKwl0cmFpbGVyX2luZm9fZ2V0KCZpbmZvLCBtc2cpOworCWZvcm1hdF90cmFpbGVyX2luZm8ob3V0LCAmaW5mbywgb3B0cyk7CisJdHJhaWxlcl9pbmZvX3JlbGVhc2UoJmluZm8pOworfQpkaWZmIC0tZ2l0IGEvdHJhaWxlci5oIGIvdHJhaWxlci5oCmluZGV4IDY1Y2M1ZDcuLjZkN2Y4YzIgMTAwNjQ0Ci0tLSBhL3RyYWlsZXIuaAorKysgYi90cmFpbGVyLmgKQEAgLTEsNiArMSwzMyBAQAogI2lmbmRlZiBUUkFJTEVSX0gKICNkZWZpbmUgVFJBSUxFUl9ICiAKKyNpbmNsdWRlICJsaXN0LmgiCisKK2VudW0gdHJhaWxlcl93aGVyZSB7CisJV0hFUkVfREVGQVVMVCwKKwlXSEVSRV9FTkQsCisJV0hFUkVfQUZURVIsCisJV0hFUkVfQkVGT1JFLAorCVdIRVJFX1NUQVJUCit9OworZW51bSB0cmFpbGVyX2lmX2V4aXN0cyB7CisJRVhJU1RTX0RFRkFVTFQsCisJRVhJU1RTX0FERF9JRl9ESUZGRVJFTlRfTkVJR0hCT1IsCisJRVhJU1RTX0FERF9JRl9ESUZGRVJFTlQsCisJRVhJU1RTX0FERCwKKwlFWElTVFNfUkVQTEFDRSwKKwlFWElTVFNfRE9fTk9USElORworfTsKK2VudW0gdHJhaWxlcl9pZl9taXNzaW5nIHsKKwlNSVNTSU5HX0RFRkFVTFQsCisJTUlTU0lOR19BREQsCisJTUlTU0lOR19ET19OT1RISU5HCit9OworCitpbnQgdHJhaWxlcl9zZXRfd2hlcmUoZW51bSB0cmFpbGVyX3doZXJlICppdGVtLCBjb25zdCBjaGFyICp2YWx1ZSk7CitpbnQgdHJhaWxlcl9zZXRfaWZfZXhpc3RzKGVudW0gdHJhaWxlcl9pZl9leGlzdHMgKml0ZW0sIGNvbnN0IGNoYXIgKnZhbHVlKTsKK2ludCB0cmFpbGVyX3NldF9pZl9taXNzaW5nKGVudW0gdHJhaWxlcl9pZl9taXNzaW5nICppdGVtLCBjb25zdCBjaGFyICp2YWx1ZSk7CisKIHN0cnVjdCB0cmFpbGVyX2luZm8gewogCS8qCiAJICogVHJ1ZSBpZiB0aGVyZSBpcyBhIGJsYW5rIGxpbmUgYmVmb3JlIHRoZSBsb2NhdGlvbiBwb2ludGVkIHRvIGJ5CkBAIC0yMiwxMSArNDksNTAgQEAKIAlzaXplX3QgdHJhaWxlcl9ucjsKIH07CiAKLXZvaWQgcHJvY2Vzc190cmFpbGVycyhjb25zdCBjaGFyICpmaWxlLCBpbnQgaW5fcGxhY2UsIGludCB0cmltX2VtcHR5LAotCQkgICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnRyYWlsZXJzKTsKKy8qCisgKiBBIGxpc3QgdGhhdCByZXByZXNlbnRzIG5ld2x5LWFkZGVkIHRyYWlsZXJzLCBzdWNoIGFzIHRob3NlIHByb3ZpZGVkCisgKiB3aXRoIHRoZSAtLXRyYWlsZXIgY29tbWFuZCBsaW5lIG9wdGlvbiBvZiBnaXQtaW50ZXJwcmV0LXRyYWlsZXJzLgorICovCitzdHJ1Y3QgbmV3X3RyYWlsZXJfaXRlbSB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCisJY29uc3QgY2hhciAqdGV4dDsKKworCWVudW0gdHJhaWxlcl93aGVyZSB3aGVyZTsKKwllbnVtIHRyYWlsZXJfaWZfZXhpc3RzIGlmX2V4aXN0czsKKwllbnVtIHRyYWlsZXJfaWZfbWlzc2luZyBpZl9taXNzaW5nOworfTsKKworc3RydWN0IHByb2Nlc3NfdHJhaWxlcl9vcHRpb25zIHsKKwlpbnQgaW5fcGxhY2U7CisJaW50IHRyaW1fZW1wdHk7CisJaW50IG9ubHlfdHJhaWxlcnM7CisJaW50IG9ubHlfaW5wdXQ7CisJaW50IHVuZm9sZDsKK307CisKKyNkZWZpbmUgUFJPQ0VTU19UUkFJTEVSX09QVElPTlNfSU5JVCB7MH0KKwordm9pZCBwcm9jZXNzX3RyYWlsZXJzKGNvbnN0IGNoYXIgKmZpbGUsCisJCSAgICAgIGNvbnN0IHN0cnVjdCBwcm9jZXNzX3RyYWlsZXJfb3B0aW9ucyAqb3B0cywKKwkJICAgICAgc3RydWN0IGxpc3RfaGVhZCAqbmV3X3RyYWlsZXJfaGVhZCk7CiAKIHZvaWQgdHJhaWxlcl9pbmZvX2dldChzdHJ1Y3QgdHJhaWxlcl9pbmZvICppbmZvLCBjb25zdCBjaGFyICpzdHIpOwogCiB2b2lkIHRyYWlsZXJfaW5mb19yZWxlYXNlKHN0cnVjdCB0cmFpbGVyX2luZm8gKmluZm8pOwogCisvKgorICogRm9ybWF0IHRoZSB0cmFpbGVycyBmcm9tIHRoZSBjb21taXQgbXNnICJtc2ciIGludG8gdGhlIHN0cmJ1ZiAib3V0Ii4KKyAqIE5vdGUgdHdvIGNhdmVhdHMgYWJvdXQgIm9wdHMiOgorICoKKyAqICAgLSB0aGlzIGlzIHByaW1hcmlseSBhIGhlbHBlciBmb3IgcHJldHR5LmMsIGFuZCBub3QKKyAqICAgICBhbGwgb2YgdGhlIGZsYWdzIGFyZSBzdXBwb3J0ZWQuCisgKgorICogICAtIHRoaXMgZGlmZmVycyBmcm9tIHByb2Nlc3NfdHJhaWxlcnMgc2xpZ2h0bHkgaW4gdGhhdCB3ZSBhbHdheXMgZm9ybWF0CisgKiAgICAgb25seSB0aGUgdHJhaWxlciBibG9jayBpdHNlbGYsIGV2ZW4gaWYgdGhlICJvbmx5X3RyYWlsZXJzIiBvcHRpb24gaXMgbm90CisgKiAgICAgc2V0LgorICovCit2b2lkIGZvcm1hdF90cmFpbGVyc19mcm9tX2NvbW1pdChzdHJ1Y3Qgc3RyYnVmICpvdXQsIGNvbnN0IGNoYXIgKm1zZywKKwkJCQkgY29uc3Qgc3RydWN0IHByb2Nlc3NfdHJhaWxlcl9vcHRpb25zICpvcHRzKTsKKwogI2VuZGlmIC8qIFRSQUlMRVJfSCAqLwpkaWZmIC0tZ2l0IGEvdHJhbnNwb3J0LWhlbHBlci5jIGIvdHJhbnNwb3J0LWhlbHBlci5jCmluZGV4IGRjOTBhMWYuLmM5NDhkNTIgMTAwNjQ0Ci0tLSBhL3RyYW5zcG9ydC1oZWxwZXIuYworKysgYi90cmFuc3BvcnQtaGVscGVyLmMKQEAgLTQ0LDggKzQ0LDcgQEAKIHsKIAlpZiAoZGVidWcpCiAJCWZwcmludGYoc3RkZXJyLCAiRGVidWc6IFJlbW90ZSBoZWxwZXI6IC0+ICVzIiwgYnVmZmVyLT5idWYpOwotCWlmICh3cml0ZV9pbl9mdWxsKGhlbHBlci0+aGVscGVyLT5pbiwgYnVmZmVyLT5idWYsIGJ1ZmZlci0+bGVuKQotCQkhPSBidWZmZXItPmxlbikKKwlpZiAod3JpdGVfaW5fZnVsbChoZWxwZXItPmhlbHBlci0+aW4sIGJ1ZmZlci0+YnVmLCBidWZmZXItPmxlbikgPCAwKQogCQlkaWVfZXJybm8oIkZ1bGwgd3JpdGUgdG8gcmVtb3RlIGhlbHBlciBmYWlsZWQiKTsKIH0KIApAQCAtNzQsNyArNzMsNyBAQAogewogCWlmIChkZWJ1ZykKIAkJZnByaW50ZihzdGRlcnIsICJEZWJ1ZzogUmVtb3RlIGhlbHBlcjogLT4gJXMiLCBzdHIpOwotCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBzdHIsIHN0cmxlbihzdHIpKSAhPSBzdHJsZW4oc3RyKSkKKwlpZiAod3JpdGVfaW5fZnVsbChmZCwgc3RyLCBzdHJsZW4oc3RyKSkgPCAwKQogCQlkaWVfZXJybm8oIkZ1bGwgd3JpdGUgdG8gcmVtb3RlIGhlbHBlciBmYWlsZWQiKTsKIH0KIApAQCAtMjQyLDggKzI0MSw3IEBACiAJCWNsb3NlKGRhdGEtPmhlbHBlci0+b3V0KTsKIAkJZmNsb3NlKGRhdGEtPm91dCk7CiAJCXJlcyA9IGZpbmlzaF9jb21tYW5kKGRhdGEtPmhlbHBlcik7Ci0JCWZyZWUoZGF0YS0+aGVscGVyKTsKLQkJZGF0YS0+aGVscGVyID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTChkYXRhLT5oZWxwZXIpOwogCX0KIAlyZXR1cm4gcmVzOwogfQpAQCAtMzQ3LDE0ICszNDUsMTEgQEAKIHN0YXRpYyB2b2lkIHN0YW5kYXJkX29wdGlvbnMoc3RydWN0IHRyYW5zcG9ydCAqdCkKIHsKIAljaGFyIGJ1ZlsxNl07Ci0JaW50IG47CiAJaW50IHYgPSB0LT52ZXJib3NlOwogCiAJc2V0X2hlbHBlcl9vcHRpb24odCwgInByb2dyZXNzIiwgdC0+cHJvZ3Jlc3MgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKIAotCW4gPSBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWQiLCB2ICsgMSk7Ci0JaWYgKG4gPj0gc2l6ZW9mKGJ1ZikpCi0JCWRpZSgiaW1wb3NzaWJseSBsYXJnZSB2ZXJib3NpdHkgdmFsdWUiKTsKKwl4c25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVkIiwgdiArIDEpOwogCXNldF9oZWxwZXJfb3B0aW9uKHQsICJ2ZXJib3NpdHkiLCBidWYpOwogCiAJc3dpdGNoICh0LT5mYW1pbHkpIHsKQEAgLTYwOCw2ICs2MDMsNyBAQAogCQkJY21kYnVmLmJ1Zik7CiAKIGV4aXQ6CisJc3RyYnVmX3JlbGVhc2UoJmNtZGJ1Zik7CiAJZmNsb3NlKGlucHV0KTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtNzE0LDQzICs3MTAsMzUgQEAKIAogCQlpZiAoIXN0cmNtcChtc2csICJubyBtYXRjaCIpKSB7CiAJCQlzdGF0dXMgPSBSRUZfU1RBVFVTX05PTkU7Ci0JCQlmcmVlKG1zZyk7Ci0JCQltc2cgPSBOVUxMOworCQkJRlJFRV9BTkRfTlVMTChtc2cpOwogCQl9CiAJCWVsc2UgaWYgKCFzdHJjbXAobXNnLCAidXAgdG8gZGF0ZSIpKSB7CiAJCQlzdGF0dXMgPSBSRUZfU1RBVFVTX1VQVE9EQVRFOwotCQkJZnJlZShtc2cpOwotCQkJbXNnID0gTlVMTDsKKwkJCUZSRUVfQU5EX05VTEwobXNnKTsKIAkJfQogCQllbHNlIGlmICghc3RyY21wKG1zZywgIm5vbi1mYXN0IGZvcndhcmQiKSkgewogCQkJc3RhdHVzID0gUkVGX1NUQVRVU19SRUpFQ1RfTk9ORkFTVEZPUldBUkQ7Ci0JCQlmcmVlKG1zZyk7Ci0JCQltc2cgPSBOVUxMOworCQkJRlJFRV9BTkRfTlVMTChtc2cpOwogCQl9CiAJCWVsc2UgaWYgKCFzdHJjbXAobXNnLCAiYWxyZWFkeSBleGlzdHMiKSkgewogCQkJc3RhdHVzID0gUkVGX1NUQVRVU19SRUpFQ1RfQUxSRUFEWV9FWElTVFM7Ci0JCQlmcmVlKG1zZyk7Ci0JCQltc2cgPSBOVUxMOworCQkJRlJFRV9BTkRfTlVMTChtc2cpOwogCQl9CiAJCWVsc2UgaWYgKCFzdHJjbXAobXNnLCAiZmV0Y2ggZmlyc3QiKSkgewogCQkJc3RhdHVzID0gUkVGX1NUQVRVU19SRUpFQ1RfRkVUQ0hfRklSU1Q7Ci0JCQlmcmVlKG1zZyk7Ci0JCQltc2cgPSBOVUxMOworCQkJRlJFRV9BTkRfTlVMTChtc2cpOwogCQl9CiAJCWVsc2UgaWYgKCFzdHJjbXAobXNnLCAibmVlZHMgZm9yY2UiKSkgewogCQkJc3RhdHVzID0gUkVGX1NUQVRVU19SRUpFQ1RfTkVFRFNfRk9SQ0U7Ci0JCQlmcmVlKG1zZyk7Ci0JCQltc2cgPSBOVUxMOworCQkJRlJFRV9BTkRfTlVMTChtc2cpOwogCQl9CiAJCWVsc2UgaWYgKCFzdHJjbXAobXNnLCAic3RhbGUgaW5mbyIpKSB7CiAJCQlzdGF0dXMgPSBSRUZfU1RBVFVTX1JFSkVDVF9TVEFMRTsKLQkJCWZyZWUobXNnKTsKLQkJCW1zZyA9IE5VTEw7CisJCQlGUkVFX0FORF9OVUxMKG1zZyk7CiAJCX0KIAkJZWxzZSBpZiAoIXN0cmNtcChtc2csICJmb3JjZWQgdXBkYXRlIikpIHsKIAkJCWZvcmNlZCA9IDE7Ci0JCQlmcmVlKG1zZyk7Ci0JCQltc2cgPSBOVUxMOworCQkJRlJFRV9BTkRfTlVMTChtc2cpOwogCQl9CiAJfQogCkBAIC05MzksNyArOTI3LDcgQEAKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKIAkJcHJpdmF0ZSA9IGFwcGx5X3JlZnNwZWNzKGRhdGEtPnJlZnNwZWNzLCBkYXRhLT5yZWZzcGVjX25yLCByZWYtPm5hbWUpOwotCQlpZiAocHJpdmF0ZSAmJiAhZ2V0X3NoYTEocHJpdmF0ZSwgb2lkLmhhc2gpKSB7CisJCWlmIChwcml2YXRlICYmICFnZXRfb2lkKHByaXZhdGUsICZvaWQpKSB7CiAJCQlzdHJidWZfYWRkZigmYnVmLCAiXiVzIiwgcHJpdmF0ZSk7CiAJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJldmxpc3RfYXJncywgc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKSk7CiAJCQlvaWRjcHkoJnJlZi0+b2xkX29pZCwgJm9pZCk7CkBAIC0xMTI5LDYgKzExMTcsMTMgQEAKIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpCiBzdGF0aWMgdm9pZCB0cmFuc2Zlcl9kZWJ1Zyhjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKKwkvKgorCSAqIE5FRURTV09SSzogVGhpcyBmdW5jdGlvbiBpcyBzb21ldGltZXMgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMsIGFuZAorCSAqIHdlIGVuZCB1cCB1c2luZyBkZWJ1Z19lbmFibGVkIHJhY2lseS4gVGhhdCAic2hvdWxkIG5vdCBtYXR0ZXIiIHNpbmNlCisJICogd2UgYWx3YXlzIHdyaXRlIHRoZSBzYW1lIHZhbHVlLCBidXQgaXQncyBzdGlsbCB3cm9uZy4gVGhpcyBmdW5jdGlvbgorCSAqIGlzIGxpc3RlZCBpbiAudHNhbi1zdXBwcmVzc2lvbnMgZm9yIHRoZSB0aW1lIGJlaW5nLgorCSAqLworCiAJdmFfbGlzdCBhcmdzOwogCWNoYXIgbXNnYnVmW1BCVUZGRVJTSVpFXTsKIAlzdGF0aWMgaW50IGRlYnVnX2VuYWJsZWQgPSAtMTsKZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC5jIGIvdHJhbnNwb3J0LmMKaW5kZXggYjU4ZjVjOC4uZjFlMmY2MSAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LmMKKysrIGIvdHJhbnNwb3J0LmMKQEAgLTEsNCArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJ0cmFuc3BvcnQuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgInBrdC1saW5lLmgiCkBAIC0yNSw3ICsyNiw2IEBACiAJCWNvbnN0IGNoYXIgKmxvY2FsbmFtZTsKIAkJY29uc3QgY2hhciAqdG1wOwogCQljb25zdCBjaGFyICpyZW1vdGVuYW1lOwotCQl1bnNpZ25lZCBjaGFyIHNoYVsyMF07CiAJCWludCBmbGFnID0gMDsKIAkJLyoKIAkJICogQ2hlY2sgc3VpdGFiaWxpdHkgZm9yIHRyYWNraW5nLiBNdXN0IGJlIHN1Y2Nlc3NmdWwgLwpAQCAtNDMsNyArNDMsNyBAQAogCQlsb2NhbG5hbWUgPSByZWYtPnBlZXJfcmVmLT5uYW1lOwogCQlyZW1vdGVuYW1lID0gcmVmLT5uYW1lOwogCQl0bXAgPSByZXNvbHZlX3JlZl91bnNhZmUobG9jYWxuYW1lLCBSRVNPTFZFX1JFRl9SRUFESU5HLAotCQkJCQkgc2hhLCAmZmxhZyk7CisJCQkJCSBOVUxMLCAmZmxhZyk7CiAJCWlmICh0bXAgJiYgZmxhZyAmIFJFRl9JU1NZTVJFRiAmJgogCQkJc3RhcnRzX3dpdGgodG1wLCAicmVmcy9oZWFkcy8iKSkKIAkJCWxvY2FsbmFtZSA9IHRtcDsKQEAgLTg3LDcgKzg3LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgZGF0YS0+aGVhZGVyLnJlZmVyZW5jZXMubnI7IGkrKykgewogCQlzdHJ1Y3QgcmVmX2xpc3RfZW50cnkgKmUgPSBkYXRhLT5oZWFkZXIucmVmZXJlbmNlcy5saXN0ICsgaTsKIAkJc3RydWN0IHJlZiAqcmVmID0gYWxsb2NfcmVmKGUtPm5hbWUpOwotCQloYXNoY3B5KHJlZi0+b2xkX29pZC5oYXNoLCBlLT5zaGExKTsKKwkJb2lkY3B5KCZyZWYtPm9sZF9vaWQsICZlLT5vaWQpOwogCQlyZWYtPm5leHQgPSByZXN1bHQ7CiAJCXJlc3VsdCA9IHJlZjsKIAl9CkBAIC0xMTYsOCArMTE2LDggQEAKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY29ubjsKIAlpbnQgZmRbMl07CiAJdW5zaWduZWQgZ290X3JlbW90ZV9oZWFkcyA6IDE7Ci0Jc3RydWN0IHNoYTFfYXJyYXkgZXh0cmFfaGF2ZTsKLQlzdHJ1Y3Qgc2hhMV9hcnJheSBzaGFsbG93OworCXN0cnVjdCBvaWRfYXJyYXkgZXh0cmFfaGF2ZTsKKwlzdHJ1Y3Qgb2lkX2FycmF5IHNoYWxsb3c7CiB9OwogCiBzdGF0aWMgaW50IHNldF9naXRfb3B0aW9uKHN0cnVjdCBnaXRfdHJhbnNwb3J0X29wdGlvbnMgKm9wdHMsCkBAIC0zMDMsNyArMzAzLDcgQEAKIAkJaWYgKHZlcmJvc2UpCiAJCQlmcHJpbnRmKHN0ZGVyciwgInVwZGF0aW5nIGxvY2FsIHRyYWNraW5nIHJlZiAnJXMnXG4iLCBycy5kc3QpOwogCQlpZiAocmVmLT5kZWxldGlvbikgewotCQkJZGVsZXRlX3JlZihycy5kc3QsIE5VTEwsIDApOworCQkJZGVsZXRlX3JlZihOVUxMLCBycy5kc3QsIE5VTEwsIDApOwogCQl9IGVsc2UKIAkJCXVwZGF0ZV9yZWYoInVwZGF0ZSBieSBwdXNoIiwgcnMuZHN0LAogCQkJCQlyZWYtPm5ld19vaWQuaGFzaCwgTlVMTCwgMCwgMCk7CkBAIC00NDcsNyArNDQ3LDcgQEAKIAogc3RhdGljIGludCBtZWFzdXJlX2FiYnJldihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBzb2ZhcikKIHsKLQljaGFyIGhleFtHSVRfU0hBMV9IRVhTWiArIDFdOworCWNoYXIgaGV4W0dJVF9NQVhfSEVYU1ogKyAxXTsKIAlpbnQgdyA9IGZpbmRfdW5pcXVlX2FiYnJldl9yKGhleCwgb2lkLT5oYXNoLCBERUZBVUxUX0FCQlJFVik7CiAKIAlyZXR1cm4gKHcgPCBzb2ZhcikgPyBzb2ZhciA6IHc7CkBAIC00NzEsMTEgKzQ3MSwxMCBAQAogewogCXN0cnVjdCByZWYgKnJlZjsKIAlpbnQgbiA9IDA7Ci0JdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOwogCWNoYXIgKmhlYWQ7CiAJaW50IHN1bW1hcnlfd2lkdGggPSB0cmFuc3BvcnRfc3VtbWFyeV93aWR0aChyZWZzKTsKIAotCWhlYWQgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsIGhlYWRfc2hhMSwgTlVMTCk7CisJaGVhZCA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywgTlVMTCwgTlVMTCk7CiAKIAlpZiAodmVyYm9zZSkgewogCQlmb3IgKHJlZiA9IHJlZnM7IHJlZjsgcmVmID0gcmVmLT5uZXh0KQpAQCAtMTAyMywxOSArMTAyMiwyMiBAQAogCQkJICAgICAgVFJBTlNQT1JUX1JFQ1VSU0VfU1VCTU9EVUxFU19PTkxZKSkgJiYKIAkJICAgICFpc19iYXJlX3JlcG9zaXRvcnkoKSkgewogCQkJc3RydWN0IHJlZiAqcmVmID0gcmVtb3RlX3JlZnM7Ci0JCQlzdHJ1Y3Qgc2hhMV9hcnJheSBjb21taXRzID0gU0hBMV9BUlJBWV9JTklUOworCQkJc3RydWN0IG9pZF9hcnJheSBjb21taXRzID0gT0lEX0FSUkFZX0lOSVQ7CiAKIAkJCWZvciAoOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkKIAkJCQlpZiAoIWlzX251bGxfb2lkKCZyZWYtPm5ld19vaWQpKQotCQkJCQlzaGExX2FycmF5X2FwcGVuZCgmY29tbWl0cywgcmVmLT5uZXdfb2lkLmhhc2gpOworCQkJCQlvaWRfYXJyYXlfYXBwZW5kKCZjb21taXRzLAorCQkJCQkJCSAgJnJlZi0+bmV3X29pZCk7CiAKIAkJCWlmICghcHVzaF91bnB1c2hlZF9zdWJtb2R1bGVzKCZjb21taXRzLAotCQkJCQkJICAgICAgdHJhbnNwb3J0LT5yZW1vdGUtPm5hbWUsCisJCQkJCQkgICAgICB0cmFuc3BvcnQtPnJlbW90ZSwKKwkJCQkJCSAgICAgIHJlZnNwZWMsIHJlZnNwZWNfbnIsCisJCQkJCQkgICAgICB0cmFuc3BvcnQtPnB1c2hfb3B0aW9ucywKIAkJCQkJCSAgICAgIHByZXRlbmQpKSB7Ci0JCQkJc2hhMV9hcnJheV9jbGVhcigmY29tbWl0cyk7CisJCQkJb2lkX2FycmF5X2NsZWFyKCZjb21taXRzKTsKIAkJCQlkaWUoIkZhaWxlZCB0byBwdXNoIGFsbCBuZWVkZWQgc3VibW9kdWxlcyEiKTsKIAkJCX0KLQkJCXNoYTFfYXJyYXlfY2xlYXIoJmNvbW1pdHMpOworCQkJb2lkX2FycmF5X2NsZWFyKCZjb21taXRzKTsKIAkJfQogCiAJCWlmICgoKGZsYWdzICYgVFJBTlNQT1JUX1JFQ1VSU0VfU1VCTU9EVUxFU19DSEVDSykgfHwKQEAgLTEwNDQsMTkgKzEwNDYsMjAgQEAKIAkJICAgICAgIXByZXRlbmQpKSAmJiAhaXNfYmFyZV9yZXBvc2l0b3J5KCkpIHsKIAkJCXN0cnVjdCByZWYgKnJlZiA9IHJlbW90ZV9yZWZzOwogCQkJc3RydWN0IHN0cmluZ19saXN0IG5lZWRzX3B1c2hpbmcgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKLQkJCXN0cnVjdCBzaGExX2FycmF5IGNvbW1pdHMgPSBTSEExX0FSUkFZX0lOSVQ7CisJCQlzdHJ1Y3Qgb2lkX2FycmF5IGNvbW1pdHMgPSBPSURfQVJSQVlfSU5JVDsKIAogCQkJZm9yICg7IHJlZjsgcmVmID0gcmVmLT5uZXh0KQogCQkJCWlmICghaXNfbnVsbF9vaWQoJnJlZi0+bmV3X29pZCkpCi0JCQkJCXNoYTFfYXJyYXlfYXBwZW5kKCZjb21taXRzLCByZWYtPm5ld19vaWQuaGFzaCk7CisJCQkJCW9pZF9hcnJheV9hcHBlbmQoJmNvbW1pdHMsCisJCQkJCQkJICAmcmVmLT5uZXdfb2lkKTsKIAogCQkJaWYgKGZpbmRfdW5wdXNoZWRfc3VibW9kdWxlcygmY29tbWl0cywgdHJhbnNwb3J0LT5yZW1vdGUtPm5hbWUsCiAJCQkJCQkmbmVlZHNfcHVzaGluZykpIHsKLQkJCQlzaGExX2FycmF5X2NsZWFyKCZjb21taXRzKTsKKwkJCQlvaWRfYXJyYXlfY2xlYXIoJmNvbW1pdHMpOwogCQkJCWRpZV93aXRoX3VucHVzaGVkX3N1Ym1vZHVsZXMoJm5lZWRzX3B1c2hpbmcpOwogCQkJfQogCQkJc3RyaW5nX2xpc3RfY2xlYXIoJm5lZWRzX3B1c2hpbmcsIDApOwotCQkJc2hhMV9hcnJheV9jbGVhcigmY29tbWl0cyk7CisJCQlvaWRfYXJyYXlfY2xlYXIoJmNvbW1pdHMpOwogCQl9CiAKIAkJaWYgKCEoZmxhZ3MgJiBUUkFOU1BPUlRfUkVDVVJTRV9TVUJNT0RVTEVTX09OTFkpKQpAQCAtMTE0MSw4ICsxMTQ0LDcgQEAKIHsKIAlpZiAodHJhbnNwb3J0LT5wYWNrX2xvY2tmaWxlKSB7CiAJCXVubGlua19vcl93YXJuKHRyYW5zcG9ydC0+cGFja19sb2NrZmlsZSk7Ci0JCWZyZWUodHJhbnNwb3J0LT5wYWNrX2xvY2tmaWxlKTsKLQkJdHJhbnNwb3J0LT5wYWNrX2xvY2tmaWxlID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTCh0cmFuc3BvcnQtPnBhY2tfbG9ja2ZpbGUpOwogCX0KIH0KIApAQCAtMTIxMCw2ICsxMjEyLDQyIEBACiAJcmV0dXJuIHhzdHJkdXAodXJsKTsKIH0KIAorc3RhdGljIHZvaWQgcmVhZF9hbHRlcm5hdGVfcmVmcyhjb25zdCBjaGFyICpwYXRoLAorCQkJCWFsdGVybmF0ZV9yZWZfZm4gKmNiLAorCQkJCXZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY21kID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBzdHJidWYgbGluZSA9IFNUUkJVRl9JTklUOworCUZJTEUgKmZoOworCisJY21kLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGYoJmNtZC5hcmdzLCAiLS1naXQtZGlyPSVzIiwgcGF0aCk7CisJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgImZvci1lYWNoLXJlZiIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICItLWZvcm1hdD0lKG9iamVjdG5hbWUpICUocmVmbmFtZSkiKTsKKwljbWQuZW52ID0gbG9jYWxfcmVwb19lbnY7CisJY21kLm91dCA9IC0xOworCisJaWYgKHN0YXJ0X2NvbW1hbmQoJmNtZCkpCisJCXJldHVybjsKKworCWZoID0geGZkb3BlbihjbWQub3V0LCAiciIpOworCXdoaWxlIChzdHJidWZfZ2V0bGluZV9sZigmbGluZSwgZmgpICE9IEVPRikgeworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKworCQlpZiAoZ2V0X29pZF9oZXgobGluZS5idWYsICZvaWQpIHx8CisJCSAgICBsaW5lLmJ1ZltHSVRfU0hBMV9IRVhTWl0gIT0gJyAnKSB7CisJCQl3YXJuaW5nKCJpbnZhbGlkIGxpbmUgd2hpbGUgcGFyc2luZyBhbHRlcm5hdGUgcmVmczogJXMiLAorCQkJCWxpbmUuYnVmKTsKKwkJCWJyZWFrOworCQl9CisKKwkJY2IobGluZS5idWYgKyBHSVRfU0hBMV9IRVhTWiArIDEsICZvaWQsIGRhdGEpOworCX0KKworCWZjbG9zZShmaCk7CisJZmluaXNoX2NvbW1hbmQoJmNtZCk7Cit9CisKIHN0cnVjdCBhbHRlcm5hdGVfcmVmc19kYXRhIHsKIAlhbHRlcm5hdGVfcmVmX2ZuICpmbjsKIAl2b2lkICpkYXRhOwpAQCAtMTIxOCwzNCArMTI1NiwyNiBAQAogc3RhdGljIGludCByZWZzX2Zyb21fYWx0ZXJuYXRlX2NiKHN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICplLAogCQkJCSAgdm9pZCAqZGF0YSkKIHsKLQljaGFyICpvdGhlcjsKLQlzaXplX3QgbGVuOwotCXN0cnVjdCByZW1vdGUgKnJlbW90ZTsKLQlzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQ7Ci0JY29uc3Qgc3RydWN0IHJlZiAqZXh0cmE7CisJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CisJc2l6ZV90IGJhc2VfbGVuOwogCXN0cnVjdCBhbHRlcm5hdGVfcmVmc19kYXRhICpjYiA9IGRhdGE7CiAKLQlvdGhlciA9IHJlYWxfcGF0aGR1cChlLT5wYXRoLCAxKTsKLQlsZW4gPSBzdHJsZW4ob3RoZXIpOworCWlmICghc3RyYnVmX3JlYWxwYXRoKCZwYXRoLCBlLT5wYXRoLCAwKSkKKwkJZ290byBvdXQ7CisJaWYgKCFzdHJidWZfc3RyaXBfc3VmZml4KCZwYXRoLCAiL29iamVjdHMiKSkKKwkJZ290byBvdXQ7CisJYmFzZV9sZW4gPSBwYXRoLmxlbjsKIAotCXdoaWxlIChvdGhlcltsZW4tMV0gPT0gJy8nKQotCQlvdGhlclstLWxlbl0gPSAnXDAnOwotCWlmIChsZW4gPCA4IHx8IG1lbWNtcChvdGhlciArIGxlbiAtIDgsICIvb2JqZWN0cyIsIDgpKQotCQlnb3RvIG91dDsKIAkvKiBJcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnkgd2l0aCByZWZzPyAqLwotCW1lbWNweShvdGhlciArIGxlbiAtIDgsICIvcmVmcyIsIDYpOwotCWlmICghaXNfZGlyZWN0b3J5KG90aGVyKSkKKwlzdHJidWZfYWRkc3RyKCZwYXRoLCAiL3JlZnMiKTsKKwlpZiAoIWlzX2RpcmVjdG9yeShwYXRoLmJ1ZikpCiAJCWdvdG8gb3V0OwotCW90aGVyW2xlbiAtIDhdID0gJ1wwJzsKLQlyZW1vdGUgPSByZW1vdGVfZ2V0KG90aGVyKTsKLQl0cmFuc3BvcnQgPSB0cmFuc3BvcnRfZ2V0KHJlbW90ZSwgb3RoZXIpOwotCWZvciAoZXh0cmEgPSB0cmFuc3BvcnRfZ2V0X3JlbW90ZV9yZWZzKHRyYW5zcG9ydCk7Ci0JICAgICBleHRyYTsKLQkgICAgIGV4dHJhID0gZXh0cmEtPm5leHQpCi0JCWNiLT5mbihleHRyYSwgY2ItPmRhdGEpOwotCXRyYW5zcG9ydF9kaXNjb25uZWN0KHRyYW5zcG9ydCk7CisJc3RyYnVmX3NldGxlbigmcGF0aCwgYmFzZV9sZW4pOworCisJcmVhZF9hbHRlcm5hdGVfcmVmcyhwYXRoLmJ1ZiwgY2ItPmZuLCBjYi0+ZGF0YSk7CisKIG91dDoKLQlmcmVlKG90aGVyKTsKKwlzdHJidWZfcmVsZWFzZSgmcGF0aCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC5oIGIvdHJhbnNwb3J0LmgKaW5kZXggZTU5N2IzMS4uYmM1NTcxNSAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LmgKKysrIGIvdHJhbnNwb3J0LmgKQEAgLTI1NSw2ICsyNTUsNiBAQAogdm9pZCB0cmFuc3BvcnRfcHJpbnRfcHVzaF9zdGF0dXMoY29uc3QgY2hhciAqZGVzdCwgc3RydWN0IHJlZiAqcmVmcywKIAkJICBpbnQgdmVyYm9zZSwgaW50IHBvcmNlbGFpbiwgdW5zaWduZWQgaW50ICpyZWplY3RfcmVhc29ucyk7CiAKLXR5cGVkZWYgdm9pZCBhbHRlcm5hdGVfcmVmX2ZuKGNvbnN0IHN0cnVjdCByZWYgKiwgdm9pZCAqKTsKK3R5cGVkZWYgdm9pZCBhbHRlcm5hdGVfcmVmX2ZuKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqKTsKIGV4dGVybiB2b2lkIGZvcl9lYWNoX2FsdGVybmF0ZV9yZWYoYWx0ZXJuYXRlX3JlZl9mbiwgdm9pZCAqKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvdHJlZS1kaWZmLmMgYi90cmVlLWRpZmYuYwppbmRleCBlMTY0ZTUzLi40YmI5MzE1IDEwMDY0NAotLS0gYS90cmVlLWRpZmYuYworKysgYi90cmVlLWRpZmYuYwpAQCAtMjYsMTEgKzI2LDEyIEBACiB9IHdoaWxlKDApCiAKIHN0YXRpYyBzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKmxsX2RpZmZfdHJlZV9wYXRocygKLQlzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKnAsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JY29uc3QgdW5zaWduZWQgY2hhciAqKnBhcmVudHNfc2hhMSwgaW50IG5wYXJlbnQsCisJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpwLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKnBhcmVudHNfb2lkLCBpbnQgbnBhcmVudCwKIAlzdHJ1Y3Qgc3RyYnVmICpiYXNlLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpOwotc3RhdGljIGludCBsbF9kaWZmX3RyZWVfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpvbGQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ldywKLQkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqYmFzZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KTsKK3N0YXRpYyBpbnQgbGxfZGlmZl90cmVlX29pZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkLAorCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5ld19vaWQsCisJCQkgICAgc3RydWN0IHN0cmJ1ZiAqYmFzZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KTsKIAogLyoKICAqIENvbXBhcmUgdHdvIHRyZWUgZW50cmllcywgdGFraW5nIGludG8gYWNjb3VudCBvbmx5IHBhdGgvU19JU0RJUihtb2RlKSwKQEAgLTc0LDI1ICs3NSwyNSBAQAogewogCXN0cnVjdCBjb21iaW5lX2RpZmZfcGFyZW50ICpwMCA9ICZwLT5wYXJlbnRbMF07CiAJaWYgKHAtPm1vZGUgJiYgcDAtPm1vZGUpIHsKLQkJb3B0LT5jaGFuZ2Uob3B0LCBwMC0+bW9kZSwgcC0+bW9kZSwgcDAtPm9pZC5oYXNoLCBwLT5vaWQuaGFzaCwKKwkJb3B0LT5jaGFuZ2Uob3B0LCBwMC0+bW9kZSwgcC0+bW9kZSwgJnAwLT5vaWQsICZwLT5vaWQsCiAJCQkxLCAxLCBwLT5wYXRoLCAwLCAwKTsKIAl9CiAJZWxzZSB7Ci0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTE7CisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZDsKIAkJdW5zaWduZWQgaW50IG1vZGU7CiAJCWludCBhZGRyZW1vdmU7CiAKIAkJaWYgKHAtPm1vZGUpIHsKIAkJCWFkZHJlbW92ZSA9ICcrJzsKLQkJCXNoYTEgPSBwLT5vaWQuaGFzaDsKKwkJCW9pZCA9ICZwLT5vaWQ7CiAJCQltb2RlID0gcC0+bW9kZTsKIAkJfSBlbHNlIHsKIAkJCWFkZHJlbW92ZSA9ICctJzsKLQkJCXNoYTEgPSBwMC0+b2lkLmhhc2g7CisJCQlvaWQgPSAmcDAtPm9pZDsKIAkJCW1vZGUgPSBwMC0+bW9kZTsKIAkJfQogCi0JCW9wdC0+YWRkX3JlbW92ZShvcHQsIGFkZHJlbW92ZSwgbW9kZSwgc2hhMSwgMSwgcC0+cGF0aCwgMCk7CisJCW9wdC0+YWRkX3JlbW92ZShvcHQsIGFkZHJlbW92ZSwgbW9kZSwgb2lkLCAxLCBwLT5wYXRoLCAwKTsKIAl9CiAKIAlyZXR1cm4gMDsJLyogd2UgYXJlIGRvbmUgd2l0aCBwICovCkBAIC0xMzEsNyArMTMyLDcgQEAKICAqLwogc3RhdGljIHN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqcGF0aF9hcHBlbmRuZXcoc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpsYXN0LAogCWludCBucGFyZW50LCBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpiYXNlLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgcGF0aGxlbiwKLQl1bnNpZ25lZCBtb2RlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorCXVuc2lnbmVkIG1vZGUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKnA7CiAJc2l6ZV90IGxlbiA9IHN0X2FkZChiYXNlLT5sZW4sIHBhdGhsZW4pOwpAQCAtMTQwLDggKzE0MSw3IEBACiAJLyogaWYgbGFzdC0+bmV4dCBpcyAhTlVMTCAtIGl0IGlzIGEgcHJlLWFsbG9jYXRlZCBtZW1vcnksIHdlIGNhbiByZXVzZSAqLwogCXAgPSBsYXN0LT5uZXh0OwogCWlmIChwICYmIChhbGxvY2xlbiA+IChpbnRwdHJfdClwLT5uZXh0KSkgewotCQlmcmVlKHApOwotCQlwID0gTlVMTDsKKwkJRlJFRV9BTkRfTlVMTChwKTsKIAl9CiAKIAlpZiAoIXApIHsKQEAgLTE2MSw3ICsxNjEsNyBAQAogCW1lbWNweShwLT5wYXRoICsgYmFzZS0+bGVuLCBwYXRoLCBwYXRobGVuKTsKIAlwLT5wYXRoW2xlbl0gPSAwOwogCXAtPm1vZGUgPSBtb2RlOwotCWhhc2hjcHkocC0+b2lkLmhhc2gsIHNoYTEgPyBzaGExIDogbnVsbF9zaGExKTsKKwlvaWRjcHkoJnAtPm9pZCwgb2lkID8gb2lkIDogJm51bGxfb2lkKTsKIAogCXJldHVybiBwOwogfQpAQCAtMTgzLDcgKzE4Myw3IEBACiB7CiAJdW5zaWduZWQgbW9kZTsKIAljb25zdCBjaGFyICpwYXRoOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTE7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkOwogCWludCBwYXRobGVuOwogCWludCBvbGRfYmFzZWxlbiA9IGJhc2UtPmxlbjsKIAlpbnQgaSwgaXNkaXIsIHJlY3Vyc2UgPSAwLCBlbWl0dGhpcyA9IDE7CkBAIC0xOTMsNyArMTkzLDcgQEAKIAogCWlmICh0KSB7CiAJCS8qIHBhdGggcHJlc2VudCBpbiByZXN1bHRpbmcgdHJlZSAqLwotCQlzaGExID0gdHJlZV9lbnRyeV9leHRyYWN0KHQsICZwYXRoLCAmbW9kZSktPmhhc2g7CisJCW9pZCA9IHRyZWVfZW50cnlfZXh0cmFjdCh0LCAmcGF0aCwgJm1vZGUpOwogCQlwYXRobGVuID0gdHJlZV9lbnRyeV9sZW4oJnQtPmVudHJ5KTsKIAkJaXNkaXIgPSBTX0lTRElSKG1vZGUpOwogCX0gZWxzZSB7CkBAIC0yMDgsNyArMjA4LDcgQEAKIAkJcGF0aGxlbiA9IHRyZWVfZW50cnlfbGVuKCZ0cFtpbWluXS5lbnRyeSk7CiAKIAkJaXNkaXIgPSBTX0lTRElSKG1vZGUpOwotCQlzaGExID0gTlVMTDsKKwkJb2lkID0gTlVMTDsKIAkJbW9kZSA9IDA7CiAJfQogCkBAIC0yMjAsNyArMjIwLDcgQEAKIAlpZiAoZW1pdHRoaXMpIHsKIAkJaW50IGtlZXA7CiAJCXN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqcHByZXYgPSBwOwotCQlwID0gcGF0aF9hcHBlbmRuZXcocCwgbnBhcmVudCwgYmFzZSwgcGF0aCwgcGF0aGxlbiwgbW9kZSwgc2hhMSk7CisJCXAgPSBwYXRoX2FwcGVuZG5ldyhwLCBucGFyZW50LCBiYXNlLCBwYXRoLCBwYXRobGVuLCBtb2RlLCBvaWQpOwogCiAJCWZvciAoaSA9IDA7IGkgPCBucGFyZW50OyArK2kpIHsKIAkJCS8qCkBAIC0yMjksNyArMjI5LDcgQEAKIAkJCSAqLwogCQkJaW50IHRwaV92YWxpZCA9IHRwICYmICEodHBbaV0uZW50cnkubW9kZSAmIFNfSUZYTUlOX05FUSk7CiAKLQkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTFfaTsKKwkJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZF9pOwogCQkJdW5zaWduZWQgbW9kZV9pOwogCiAJCQlwLT5wYXJlbnRbaV0uc3RhdHVzID0KQEAgLTIzOSwxNiArMjM5LDE2IEBACiAJCQkJCQlESUZGX1NUQVRVU19BRERFRDsKIAogCQkJaWYgKHRwaV92YWxpZCkgewotCQkJCXNoYTFfaSA9IHRwW2ldLmVudHJ5Lm9pZC0+aGFzaDsKKwkJCQlvaWRfaSA9IHRwW2ldLmVudHJ5Lm9pZDsKIAkJCQltb2RlX2kgPSB0cFtpXS5lbnRyeS5tb2RlOwogCQkJfQogCQkJZWxzZSB7Ci0JCQkJc2hhMV9pID0gTlVMTDsKKwkJCQlvaWRfaSA9ICZudWxsX29pZDsKIAkJCQltb2RlX2kgPSAwOwogCQkJfQogCiAJCQlwLT5wYXJlbnRbaV0ubW9kZSA9IG1vZGVfaTsKLQkJCWhhc2hjcHkocC0+cGFyZW50W2ldLm9pZC5oYXNoLCBzaGExX2kgPyBzaGExX2kgOiBudWxsX3NoYTEpOworCQkJb2lkY3B5KCZwLT5wYXJlbnRbaV0ub2lkLCBvaWRfaSk7CiAJCX0KIAogCQlrZWVwID0gMTsKQEAgLTI3MywyMSArMjczLDIwIEBACiAJfQogCiAJaWYgKHJlY3Vyc2UpIHsKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqKnBhcmVudHNfc2hhMTsKKwkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKnBhcmVudHNfb2lkOwogCi0JCUZBU1RfQVJSQVlfQUxMT0MocGFyZW50c19zaGExLCBucGFyZW50KTsKKwkJRkFTVF9BUlJBWV9BTExPQyhwYXJlbnRzX29pZCwgbnBhcmVudCk7CiAJCWZvciAoaSA9IDA7IGkgPCBucGFyZW50OyArK2kpIHsKIAkJCS8qIHNhbWUgcnVsZSBhcyBpbiBlbWl0dGhpcyAqLwogCQkJaW50IHRwaV92YWxpZCA9IHRwICYmICEodHBbaV0uZW50cnkubW9kZSAmIFNfSUZYTUlOX05FUSk7CiAKLQkJCXBhcmVudHNfc2hhMVtpXSA9IHRwaV92YWxpZCA/IHRwW2ldLmVudHJ5Lm9pZC0+aGFzaAotCQkJCQkJICAgIDogTlVMTDsKKwkJCXBhcmVudHNfb2lkW2ldID0gdHBpX3ZhbGlkID8gdHBbaV0uZW50cnkub2lkIDogTlVMTDsKIAkJfQogCiAJCXN0cmJ1Zl9hZGQoYmFzZSwgcGF0aCwgcGF0aGxlbik7CiAJCXN0cmJ1Zl9hZGRjaChiYXNlLCAnLycpOwotCQlwID0gbGxfZGlmZl90cmVlX3BhdGhzKHAsIHNoYTEsIHBhcmVudHNfc2hhMSwgbnBhcmVudCwgYmFzZSwgb3B0KTsKLQkJRkFTVF9BUlJBWV9GUkVFKHBhcmVudHNfc2hhMSwgbnBhcmVudCk7CisJCXAgPSBsbF9kaWZmX3RyZWVfcGF0aHMocCwgb2lkLCBwYXJlbnRzX29pZCwgbnBhcmVudCwgYmFzZSwgb3B0KTsKKwkJRkFTVF9BUlJBWV9GUkVFKHBhcmVudHNfb2lkLCBucGFyZW50KTsKIAl9CiAKIAlzdHJidWZfc2V0bGVuKGJhc2UsIG9sZF9iYXNlbGVuKTsKQEAgLTMxMiw3ICszMTEsNyBAQAogCiAKIC8qCi0gKiBnZW5lcmF0ZSBwYXRocyBmb3IgY29tYmluZWQgZGlmZiBEKHNoYTEscGFyZW50c19zaGExW10pCisgKiBnZW5lcmF0ZSBwYXRocyBmb3IgY29tYmluZWQgZGlmZiBEKHNoYTEscGFyZW50c19vaWRbXSkKICAqCiAgKiBSZXN1bHRpbmcgcGF0aHMgYXJlIGFwcGVuZGVkIHRvIGNvbWJpbmVfZGlmZl9wYXRoIGxpbmtlZCBsaXN0LCBhbmQgYWxzbywgYXJlCiAgKiBlbWl0dGVkIG9uIHRoZSBnbyB2aWEgb3B0LT5wYXRoY2hhbmdlKCkgY2FsbGJhY2ssIHNvIGl0IGlzIHBvc3NpYmxlIHRvCkBAIC00MDQsOCArNDAzLDggQEAKIH0KIAogc3RhdGljIHN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqbGxfZGlmZl90cmVlX3BhdGhzKAotCXN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQljb25zdCB1bnNpZ25lZCBjaGFyICoqcGFyZW50c19zaGExLCBpbnQgbnBhcmVudCwKKwlzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKnAsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICoqcGFyZW50c19vaWQsIGludCBucGFyZW50LAogCXN0cnVjdCBzdHJidWYgKmJhc2UsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKIHsKIAlzdHJ1Y3QgdHJlZV9kZXNjIHQsICp0cDsKQEAgLTQxOSwxMSArNDE4LDExIEBACiAJICogbG9hZCBwYXJlbnRzIGZpcnN0LCBhcyB0aGV5IGFyZSBwcm9iYWJseSBhbHJlYWR5IGNhY2hlZC4KIAkgKgogCSAqICggbG9nX3RyZWVfZGlmZigpIHBhcnNlcyBjb21taXQtPnBhcmVudCBiZWZvcmUgY2FsbGluZyBoZXJlIHZpYQotCSAqICAgZGlmZl90cmVlX3NoYTEocGFyZW50LCBjb21taXQpICkKKwkgKiAgIGRpZmZfdHJlZV9vaWQocGFyZW50LCBjb21taXQpICkKIAkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgbnBhcmVudDsgKytpKQotCQl0cHRyZWVbaV0gPSBmaWxsX3RyZWVfZGVzY3JpcHRvcigmdHBbaV0sIHBhcmVudHNfc2hhMVtpXSk7Ci0JdHRyZWUgPSBmaWxsX3RyZWVfZGVzY3JpcHRvcigmdCwgc2hhMSk7CisJCXRwdHJlZVtpXSA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKCZ0cFtpXSwgcGFyZW50c19vaWRbaV0pOworCXR0cmVlID0gZmlsbF90cmVlX2Rlc2NyaXB0b3IoJnQsIG9pZCk7CiAKIAkvKiBFbmFibGUgcmVjdXJzaW9uIGluZGVmaW5pdGVseSAqLwogCW9wdC0+cGF0aHNwZWMucmVjdXJzaXZlID0gRElGRl9PUFRfVFNUKG9wdCwgUkVDVVJTSVZFKTsKQEAgLTU0OCwxOSArNTQ3LDE4IEBACiB9CiAKIHN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqZGlmZl90cmVlX3BhdGhzKAotCXN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQljb25zdCB1bnNpZ25lZCBjaGFyICoqcGFyZW50c19zaGExLCBpbnQgbnBhcmVudCwKKwlzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKnAsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICoqcGFyZW50c19vaWQsIGludCBucGFyZW50LAogCXN0cnVjdCBzdHJidWYgKmJhc2UsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKIHsKLQlwID0gbGxfZGlmZl90cmVlX3BhdGhzKHAsIHNoYTEsIHBhcmVudHNfc2hhMSwgbnBhcmVudCwgYmFzZSwgb3B0KTsKKwlwID0gbGxfZGlmZl90cmVlX3BhdGhzKHAsIG9pZCwgcGFyZW50c19vaWQsIG5wYXJlbnQsIGJhc2UsIG9wdCk7CiAKIAkvKgogCSAqIGZyZWUgcHJlLWFsbG9jYXRlZCBsYXN0IGVsZW1lbnQsIGlmIGFueQogCSAqIChzZWUgcGF0aF9hcHBlbmRuZXcoKSBmb3IgZGV0YWlscyBhYm91dCB3aHkpCiAJICovCiAJaWYgKHAtPm5leHQpIHsKLQkJZnJlZShwLT5uZXh0KTsKLQkJcC0+bmV4dCA9IE5VTEw7CisJCUZSRUVfQU5EX05VTEwocC0+bmV4dCk7CiAJfQogCiAJcmV0dXJuIHA7CkBAIC01NzcsNyArNTc1LDkgQEAKIAkJIURJRkZfRklMRV9WQUxJRChkaWZmX3F1ZXVlZF9kaWZmLnF1ZXVlWzBdLT5vbmUpOwogfQogCi1zdGF0aWMgdm9pZCB0cnlfdG9fZm9sbG93X3JlbmFtZXMoY29uc3QgdW5zaWduZWQgY2hhciAqb2xkLCBjb25zdCB1bnNpZ25lZCBjaGFyICpuZXcsIHN0cnVjdCBzdHJidWYgKmJhc2UsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKK3N0YXRpYyB2b2lkIHRyeV90b19mb2xsb3dfcmVuYW1lcyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkLAorCQkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbmV3X29pZCwKKwkJCQkgIHN0cnVjdCBzdHJidWYgKmJhc2UsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKIHsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zIGRpZmZfb3B0czsKIAlzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnEgPSAmZGlmZl9xdWV1ZWRfZGlmZjsKQEAgLTYxNSw3ICs2MTUsNyBAQAogCWRpZmZfb3B0cy5icmVha19vcHQgPSBvcHQtPmJyZWFrX29wdDsKIAlkaWZmX29wdHMucmVuYW1lX3Njb3JlID0gb3B0LT5yZW5hbWVfc2NvcmU7CiAJZGlmZl9zZXR1cF9kb25lKCZkaWZmX29wdHMpOwotCWxsX2RpZmZfdHJlZV9zaGExKG9sZCwgbmV3LCBiYXNlLCAmZGlmZl9vcHRzKTsKKwlsbF9kaWZmX3RyZWVfb2lkKG9sZF9vaWQsIG5ld19vaWQsIGJhc2UsICZkaWZmX29wdHMpOwogCWRpZmZjb3JlX3N0ZCgmZGlmZl9vcHRzKTsKIAljbGVhcl9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKIApAQCAtNjc0LDE1ICs2NzQsMTYgQEAKIAlxLT5uciA9IDE7CiB9CiAKLXN0YXRpYyBpbnQgbGxfZGlmZl90cmVlX3NoYTEoY29uc3QgdW5zaWduZWQgY2hhciAqb2xkLCBjb25zdCB1bnNpZ25lZCBjaGFyICpuZXcsCi0JCQkgICAgIHN0cnVjdCBzdHJidWYgKmJhc2UsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKK3N0YXRpYyBpbnQgbGxfZGlmZl90cmVlX29pZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkLAorCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5ld19vaWQsCisJCQkgICAgc3RydWN0IHN0cmJ1ZiAqYmFzZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQogewogCXN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCBwaGVhZCwgKnA7CiAJcGF0aGNoYW5nZV9mbl90IHBhdGhjaGFuZ2Vfb2xkID0gb3B0LT5wYXRoY2hhbmdlOwogCiAJcGhlYWQubmV4dCA9IE5VTEw7CiAJb3B0LT5wYXRoY2hhbmdlID0gZW1pdF9kaWZmX2ZpcnN0X3BhcmVudF9vbmx5OwotCWRpZmZfdHJlZV9wYXRocygmcGhlYWQsIG5ldywgJm9sZCwgMSwgYmFzZSwgb3B0KTsKKwlkaWZmX3RyZWVfcGF0aHMoJnBoZWFkLCBuZXdfb2lkLCAmb2xkX29pZCwgMSwgYmFzZSwgb3B0KTsKIAogCWZvciAocCA9IHBoZWFkLm5leHQ7IHA7KSB7CiAJCXN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqcHByZXYgPSBwOwpAQCAtNjk0LDcgKzY5NSw5IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBkaWZmX3RyZWVfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpvbGQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ldywgY29uc3QgY2hhciAqYmFzZV9zdHIsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKK2ludCBkaWZmX3RyZWVfb2lkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9sZF9vaWQsCisJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbmV3X29pZCwKKwkJICBjb25zdCBjaGFyICpiYXNlX3N0ciwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQogewogCXN0cnVjdCBzdHJidWYgYmFzZTsKIAlpbnQgcmV0dmFsOwpAQCAtNzAyLDE2ICs3MDUsMTYgQEAKIAlzdHJidWZfaW5pdCgmYmFzZSwgUEFUSF9NQVgpOwogCXN0cmJ1Zl9hZGRzdHIoJmJhc2UsIGJhc2Vfc3RyKTsKIAotCXJldHZhbCA9IGxsX2RpZmZfdHJlZV9zaGExKG9sZCwgbmV3LCAmYmFzZSwgb3B0KTsKKwlyZXR2YWwgPSBsbF9kaWZmX3RyZWVfb2lkKG9sZF9vaWQsIG5ld19vaWQsICZiYXNlLCBvcHQpOwogCWlmICghKmJhc2Vfc3RyICYmIERJRkZfT1BUX1RTVChvcHQsIEZPTExPV19SRU5BTUVTKSAmJiBkaWZmX21pZ2h0X2JlX3JlbmFtZSgpKQotCQl0cnlfdG9fZm9sbG93X3JlbmFtZXMob2xkLCBuZXcsICZiYXNlLCBvcHQpOworCQl0cnlfdG9fZm9sbG93X3JlbmFtZXMob2xkX29pZCwgbmV3X29pZCwgJmJhc2UsIG9wdCk7CiAKIAlzdHJidWZfcmVsZWFzZSgmYmFzZSk7CiAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1pbnQgZGlmZl9yb290X3RyZWVfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpuZXcsIGNvbnN0IGNoYXIgKmJhc2UsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKK2ludCBkaWZmX3Jvb3RfdHJlZV9vaWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbmV3X29pZCwgY29uc3QgY2hhciAqYmFzZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQogewotCXJldHVybiBkaWZmX3RyZWVfc2hhMShOVUxMLCBuZXcsIGJhc2UsIG9wdCk7CisJcmV0dXJuIGRpZmZfdHJlZV9vaWQoTlVMTCwgbmV3X29pZCwgYmFzZSwgb3B0KTsKIH0KZGlmZiAtLWdpdCBhL3RyZWUtd2Fsay5jIGIvdHJlZS13YWxrLmMKaW5kZXggZmY3NzYwNS4uNjg0ZjBlMyAxMDA2NDQKLS0tIGEvdHJlZS13YWxrLmMKKysrIGIvdHJlZS13YWxrLmMKQEAgLTc4LDE1ICs3OCwxNiBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQgKmZpbGxfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCit2b2lkICpmaWxsX3RyZWVfZGVzY3JpcHRvcihzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBzaXplID0gMDsKIAl2b2lkICpidWYgPSBOVUxMOwogCi0JaWYgKHNoYTEpIHsKLQkJYnVmID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2Uoc2hhMSwgdHJlZV90eXBlLCAmc2l6ZSwgTlVMTCk7CisJaWYgKG9pZCkgeworCQlidWYgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShvaWQtPmhhc2gsIHRyZWVfdHlwZSwgJnNpemUsCisJCQkJCQkgTlVMTCk7CiAJCWlmICghYnVmKQotCQkJZGllKCJ1bmFibGUgdG8gcmVhZCB0cmVlICVzIiwgc2hhMV90b19oZXgoc2hhMSkpOworCQkJZGllKCJ1bmFibGUgdG8gcmVhZCB0cmVlICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAl9CiAJaW5pdF90cmVlX2Rlc2MoZGVzYywgYnVmLCBzaXplKTsKIAlyZXR1cm4gYnVmOwpAQCAtNTgxLDE1ICs1ODIsMTMgQEAKIAlpbnQgcmV0dmFsID0gTUlTU0lOR19PQkpFQ1Q7CiAJc3RydWN0IGRpcl9zdGF0ZSAqcGFyZW50cyA9IE5VTEw7CiAJc2l6ZV90IHBhcmVudHNfYWxsb2MgPSAwOwotCXNzaXplX3QgcGFyZW50c19uciA9IDA7CisJc2l6ZV90IGksIHBhcmVudHNfbnIgPSAwOwogCXVuc2lnbmVkIGNoYXIgY3VycmVudF90cmVlX3NoYTFbMjBdOwogCXN0cnVjdCBzdHJidWYgbmFtZWJ1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCB0cmVlX2Rlc2MgdDsKIAlpbnQgZm9sbG93c19yZW1haW5pbmcgPSBHRVRfVFJFRV9FTlRSWV9GT0xMT1dfU1lNTElOS1NfTUFYX0xJTktTOwotCWludCBpOwogCiAJaW5pdF90cmVlX2Rlc2MoJnQsIE5VTEwsIDBVTCk7Ci0Jc3RyYnVmX2luaXQocmVzdWx0X3BhdGgsIDApOwogCXN0cmJ1Zl9hZGRzdHIoJm5hbWVidWYsIG5hbWUpOwogCWhhc2hjcHkoY3VycmVudF90cmVlX3NoYTEsIHRyZWVfc2hhMSk7CiAKQEAgLTEwNzUsNyArMTA3NCw3IEBACiAJCSAqIGxhdGVyIG9uLgogCQkgKiBtYXhfZGVwdGggaXMgaWdub3JlZCBidXQgd2UgbWF5IGNvbnNpZGVyIHN1cHBvcnQgaXQKIAkJICogaW4gZnV0dXJlLCBzZWUKLQkJICogaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUuY29tcC52ZXJzaW9uLWNvbnRyb2wuZ2l0LzE2Mzc1Ny9mb2N1cz0xNjM4NDAKKwkJICogaHR0cHM6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC83dm14bzVsMmc0LmZzZkBhbHRlci5zaWFtZXNlLmR5bmRucy5vcmcvCiAJCSAqLwogCQlpZiAocHMtPnJlY3Vyc2l2ZSAmJiBTX0lTRElSKGVudHJ5LT5tb2RlKSkKIAkJCXJldHVybiBlbnRyeV9pbnRlcmVzdGluZzsKZGlmZiAtLWdpdCBhL3RyZWUtd2Fsay5oIGIvdHJlZS13YWxrLmgKaW5kZXggNjhiYjc4Yi4uYjZiZDFiNCAxMDA2NDQKLS0tIGEvdHJlZS13YWxrLmgKKysrIGIvdHJlZS13YWxrLmgKQEAgLTQyLDcgKzQyLDcgQEAKIGludCB0cmVlX2VudHJ5KHN0cnVjdCB0cmVlX2Rlc2MgKiwgc3RydWN0IG5hbWVfZW50cnkgKik7CiBpbnQgdHJlZV9lbnRyeV9nZW50bHkoc3RydWN0IHRyZWVfZGVzYyAqLCBzdHJ1Y3QgbmFtZV9lbnRyeSAqKTsKIAotdm9pZCAqZmlsbF90cmVlX2Rlc2NyaXB0b3Ioc3RydWN0IHRyZWVfZGVzYyAqZGVzYywgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7Cit2b2lkICpmaWxsX3RyZWVfZGVzY3JpcHRvcihzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCiBzdHJ1Y3QgdHJhdmVyc2VfaW5mbzsKIHR5cGVkZWYgaW50ICgqdHJhdmVyc2VfY2FsbGJhY2tfdCkoaW50IG4sIHVuc2lnbmVkIGxvbmcgbWFzaywgdW5zaWduZWQgbG9uZyBkaXJtYXNrLCBzdHJ1Y3QgbmFtZV9lbnRyeSAqZW50cnksIHN0cnVjdCB0cmF2ZXJzZV9pbmZvICopOwpkaWZmIC0tZ2l0IGEvdHJlZS5jIGIvdHJlZS5jCmluZGV4IGNlMzQ1YzUuLmIyMjQxMTUgMTAwNjQ0Ci0tLSBhL3RyZWUuYworKysgYi90cmVlLmMKQEAgLTEsMyArMSw0IEBACisjZGVmaW5lIE5PX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgogI2luY2x1ZGUgInRyZWUuaCIKQEAgLTgsNyArOSwxMSBAQAogCiBjb25zdCBjaGFyICp0cmVlX3R5cGUgPSAidHJlZSI7CiAKLXN0YXRpYyBpbnQgcmVhZF9vbmVfZW50cnlfb3B0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmJhc2UsIGludCBiYXNlbGVuLCBjb25zdCBjaGFyICpwYXRobmFtZSwgdW5zaWduZWQgbW9kZSwgaW50IHN0YWdlLCBpbnQgb3B0KQorc3RhdGljIGludCByZWFkX29uZV9lbnRyeV9vcHQoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJICAgICAgY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCisJCQkgICAgICBjb25zdCBjaGFyICpwYXRobmFtZSwKKwkJCSAgICAgIHVuc2lnbmVkIG1vZGUsIGludCBzdGFnZSwgaW50IG9wdCkKIHsKIAlpbnQgbGVuOwogCXVuc2lnbmVkIGludCBzaXplOwpAQCAtMjcsMTQgKzMyLDE1IEBACiAJbWVtY3B5KGNlLT5uYW1lLCBiYXNlLCBiYXNlbGVuKTsKIAltZW1jcHkoY2UtPm5hbWUgKyBiYXNlbGVuLCBwYXRobmFtZSwgbGVuKzEpOwogCWhhc2hjcHkoY2UtPm9pZC5oYXNoLCBzaGExKTsKLQlyZXR1cm4gYWRkX2NhY2hlX2VudHJ5KGNlLCBvcHQpOworCXJldHVybiBhZGRfaW5kZXhfZW50cnkoaXN0YXRlLCBjZSwgb3B0KTsKIH0KIAogc3RhdGljIGludCByZWFkX29uZV9lbnRyeShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3Qgc3RyYnVmICpiYXNlLAogCQkJICBjb25zdCBjaGFyICpwYXRobmFtZSwgdW5zaWduZWQgbW9kZSwgaW50IHN0YWdlLAogCQkJICB2b2lkICpjb250ZXh0KQogewotCXJldHVybiByZWFkX29uZV9lbnRyeV9vcHQoc2hhMSwgYmFzZS0+YnVmLCBiYXNlLT5sZW4sIHBhdGhuYW1lLAorCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlID0gY29udGV4dDsKKwlyZXR1cm4gcmVhZF9vbmVfZW50cnlfb3B0KGlzdGF0ZSwgc2hhMSwgYmFzZS0+YnVmLCBiYXNlLT5sZW4sIHBhdGhuYW1lLAogCQkJCSAgbW9kZSwgc3RhZ2UsCiAJCQkJICBBRERfQ0FDSEVfT0tfVE9fQUREfEFERF9DQUNIRV9TS0lQX0RGQ0hFQ0spOwogfQpAQCAtNDcsNyArNTMsOCBAQAogCQkJCWNvbnN0IGNoYXIgKnBhdGhuYW1lLCB1bnNpZ25lZCBtb2RlLCBpbnQgc3RhZ2UsCiAJCQkJdm9pZCAqY29udGV4dCkKIHsKLQlyZXR1cm4gcmVhZF9vbmVfZW50cnlfb3B0KHNoYTEsIGJhc2UtPmJ1ZiwgYmFzZS0+bGVuLCBwYXRobmFtZSwKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSA9IGNvbnRleHQ7CisJcmV0dXJuIHJlYWRfb25lX2VudHJ5X29wdChpc3RhdGUsIHNoYTEsIGJhc2UtPmJ1ZiwgYmFzZS0+bGVuLCBwYXRobmFtZSwKIAkJCQkgIG1vZGUsIHN0YWdlLAogCQkJCSAgQUREX0NBQ0hFX0pVU1RfQVBQRU5EKTsKIH0KQEAgLTU4LDcgKzY1LDcgQEAKIHsKIAlzdHJ1Y3QgdHJlZV9kZXNjIGRlc2M7CiAJc3RydWN0IG5hbWVfZW50cnkgZW50cnk7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlpbnQgbGVuLCBvbGRsZW4gPSBiYXNlLT5sZW47CiAJZW51bSBpbnRlcmVzdGluZyByZXR2YWwgPSBlbnRyeV9ub3RfaW50ZXJlc3Rpbmc7CiAKQEAgLTg3LDExICs5NCwxMSBAQAogCQl9CiAKIAkJaWYgKFNfSVNESVIoZW50cnkubW9kZSkpCi0JCQloYXNoY3B5KHNoYTEsIGVudHJ5Lm9pZC0+aGFzaCk7CisJCQlvaWRjcHkoJm9pZCwgZW50cnkub2lkKTsKIAkJZWxzZSBpZiAoU19JU0dJVExJTksoZW50cnkubW9kZSkpIHsKIAkJCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAotCQkJY29tbWl0ID0gbG9va3VwX2NvbW1pdChlbnRyeS5vaWQtPmhhc2gpOworCQkJY29tbWl0ID0gbG9va3VwX2NvbW1pdChlbnRyeS5vaWQpOwogCQkJaWYgKCFjb21taXQpCiAJCQkJZGllKCJDb21taXQgJXMgaW4gc3VibW9kdWxlIHBhdGggJXMlcyBub3QgZm91bmQiLAogCQkJCSAgICBvaWRfdG9faGV4KGVudHJ5Lm9pZCksCkBAIC0xMDIsNyArMTA5LDcgQEAKIAkJCQkgICAgb2lkX3RvX2hleChlbnRyeS5vaWQpLAogCQkJCSAgICBiYXNlLT5idWYsIGVudHJ5LnBhdGgpOwogCi0JCQloYXNoY3B5KHNoYTEsIGNvbW1pdC0+dHJlZS0+b2JqZWN0Lm9pZC5oYXNoKTsKKwkJCW9pZGNweSgmb2lkLCAmY29tbWl0LT50cmVlLT5vYmplY3Qub2lkKTsKIAkJfQogCQllbHNlCiAJCQljb250aW51ZTsKQEAgLTExMCw3ICsxMTcsNyBAQAogCQlsZW4gPSB0cmVlX2VudHJ5X2xlbigmZW50cnkpOwogCQlzdHJidWZfYWRkKGJhc2UsIGVudHJ5LnBhdGgsIGxlbik7CiAJCXN0cmJ1Zl9hZGRjaChiYXNlLCAnLycpOwotCQlyZXR2YWwgPSByZWFkX3RyZWVfMShsb29rdXBfdHJlZShzaGExKSwKKwkJcmV0dmFsID0gcmVhZF90cmVlXzEobG9va3VwX3RyZWUoJm9pZCksCiAJCQkJICAgICBiYXNlLCBzdGFnZSwgcGF0aHNwZWMsCiAJCQkJICAgICBmbiwgY29udGV4dCk7CiAJCXN0cmJ1Zl9zZXRsZW4oYmFzZSwgb2xkbGVuKTsKQEAgLTE0NCw3ICsxNTEsOCBAQAogCQkJCSAgY2UyLT5uYW1lLCBjZTItPmNlX25hbWVsZW4sIGNlX3N0YWdlKGNlMikpOwogfQogCi1pbnQgcmVhZF90cmVlKHN0cnVjdCB0cmVlICp0cmVlLCBpbnQgc3RhZ2UsIHN0cnVjdCBwYXRoc3BlYyAqbWF0Y2gpCitpbnQgcmVhZF90cmVlKHN0cnVjdCB0cmVlICp0cmVlLCBpbnQgc3RhZ2UsIHN0cnVjdCBwYXRoc3BlYyAqbWF0Y2gsCisJICAgICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7CiAJcmVhZF90cmVlX2ZuX3QgZm4gPSBOVUxMOwogCWludCBpLCBlcnI7CkBAIC0xNjQsMzEgKzE3MiwzMSBAQAogCSAqIGRvIGl0IHRoZSBvcmlnaW5hbCBzbG93IHdheSwgb3RoZXJ3aXNlLCBhcHBlbmQgYW5kIHRoZW4KIAkgKiBzb3J0IGF0IHRoZSBlbmQuCiAJICovCi0JZm9yIChpID0gMDsgIWZuICYmIGkgPCBhY3RpdmVfbnI7IGkrKykgewotCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOworCWZvciAoaSA9IDA7ICFmbiAmJiBpIDwgaXN0YXRlLT5jYWNoZV9ucjsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpc3RhdGUtPmNhY2hlW2ldOwogCQlpZiAoY2Vfc3RhZ2UoY2UpID09IHN0YWdlKQogCQkJZm4gPSByZWFkX29uZV9lbnRyeTsKIAl9CiAKIAlpZiAoIWZuKQogCQlmbiA9IHJlYWRfb25lX2VudHJ5X3F1aWNrOwotCWVyciA9IHJlYWRfdHJlZV9yZWN1cnNpdmUodHJlZSwgIiIsIDAsIHN0YWdlLCBtYXRjaCwgZm4sIE5VTEwpOworCWVyciA9IHJlYWRfdHJlZV9yZWN1cnNpdmUodHJlZSwgIiIsIDAsIHN0YWdlLCBtYXRjaCwgZm4sIGlzdGF0ZSk7CiAJaWYgKGZuID09IHJlYWRfb25lX2VudHJ5IHx8IGVycikKIAkJcmV0dXJuIGVycjsKIAogCS8qCiAJICogU29ydCB0aGUgY2FjaGUgZW50cnkgLS0gd2UgbmVlZCB0byBudWtlIHRoZSBjYWNoZSB0cmVlLCB0aG91Z2guCiAJICovCi0JY2FjaGVfdHJlZV9mcmVlKCZhY3RpdmVfY2FjaGVfdHJlZSk7Ci0JUVNPUlQoYWN0aXZlX2NhY2hlLCBhY3RpdmVfbnIsIGNtcF9jYWNoZV9uYW1lX2NvbXBhcmUpOworCWNhY2hlX3RyZWVfZnJlZSgmaXN0YXRlLT5jYWNoZV90cmVlKTsKKwlRU09SVChpc3RhdGUtPmNhY2hlLCBpc3RhdGUtPmNhY2hlX25yLCBjbXBfY2FjaGVfbmFtZV9jb21wYXJlKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RydWN0IHRyZWUgKmxvb2t1cF90cmVlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdHJ1Y3QgdHJlZSAqbG9va3VwX3RyZWUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXN0cnVjdCBvYmplY3QgKm9iaiA9IGxvb2t1cF9vYmplY3Qoc2hhMSk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChvaWQtPmhhc2gpOwogCWlmICghb2JqKQotCQlyZXR1cm4gY3JlYXRlX29iamVjdChzaGExLCBhbGxvY190cmVlX25vZGUoKSk7CisJCXJldHVybiBjcmVhdGVfb2JqZWN0KG9pZC0+aGFzaCwgYWxsb2NfdHJlZV9ub2RlKCkpOwogCXJldHVybiBvYmplY3RfYXNfdHlwZShvYmosIE9CSl9UUkVFLCAwKTsKIH0KIApAQCAtMjI2LDE1ICsyMzQsMTQgQEAKIAogdm9pZCBmcmVlX3RyZWVfYnVmZmVyKHN0cnVjdCB0cmVlICp0cmVlKQogewotCWZyZWUodHJlZS0+YnVmZmVyKTsKLQl0cmVlLT5idWZmZXIgPSBOVUxMOworCUZSRUVfQU5EX05VTEwodHJlZS0+YnVmZmVyKTsKIAl0cmVlLT5zaXplID0gMDsKIAl0cmVlLT5vYmplY3QucGFyc2VkID0gMDsKIH0KIAotc3RydWN0IHRyZWUgKnBhcnNlX3RyZWVfaW5kaXJlY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0cnVjdCB0cmVlICpwYXJzZV90cmVlX2luZGlyZWN0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBwYXJzZV9vYmplY3Qoc2hhMSk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gcGFyc2Vfb2JqZWN0KG9pZCk7CiAJZG8gewogCQlpZiAoIW9iaikKIAkJCXJldHVybiBOVUxMOwpAQCAtMjQ3LDYgKzI1NCw2IEBACiAJCWVsc2UKIAkJCXJldHVybiBOVUxMOwogCQlpZiAoIW9iai0+cGFyc2VkKQotCQkJcGFyc2Vfb2JqZWN0KG9iai0+b2lkLmhhc2gpOworCQkJcGFyc2Vfb2JqZWN0KCZvYmotPm9pZCk7CiAJfSB3aGlsZSAoMSk7CiB9CmRpZmYgLS1naXQgYS90cmVlLmggYi90cmVlLmgKaW5kZXggZDI0Nzg2Yy4uNzQ0ZTZkYyAxMDA2NDQKLS0tIGEvdHJlZS5oCisrKyBiL3RyZWUuaApAQCAtMTIsNyArMTIsNyBAQAogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIH07CiAKLXN0cnVjdCB0cmVlICpsb29rdXBfdHJlZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKK3N0cnVjdCB0cmVlICpsb29rdXBfdHJlZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCiBpbnQgcGFyc2VfdHJlZV9idWZmZXIoc3RydWN0IHRyZWUgKml0ZW0sIHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBzaXplKTsKIApAQCAtMjQsNyArMjQsNyBAQAogdm9pZCBmcmVlX3RyZWVfYnVmZmVyKHN0cnVjdCB0cmVlICp0cmVlKTsKIAogLyogUGFyc2VzIGFuZCByZXR1cm5zIHRoZSB0cmVlIGluIHRoZSBnaXZlbiBlbnQsIGNoYXNpbmcgdGFncyBhbmQgY29tbWl0cy4gKi8KLXN0cnVjdCB0cmVlICpwYXJzZV90cmVlX2luZGlyZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworc3RydWN0IHRyZWUgKnBhcnNlX3RyZWVfaW5kaXJlY3QoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAogI2RlZmluZSBSRUFEX1RSRUVfUkVDVVJTSVZFIDEKIHR5cGVkZWYgaW50ICgqcmVhZF90cmVlX2ZuX3QpKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiwgc3RydWN0IHN0cmJ1ZiAqLCBjb25zdCBjaGFyICosIHVuc2lnbmVkIGludCwgaW50LCB2b2lkICopOwpAQCAtMzQsNiArMzQsNyBAQAogCQkJICAgICAgIGludCBzdGFnZSwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKIAkJCSAgICAgICByZWFkX3RyZWVfZm5fdCBmbiwgdm9pZCAqY29udGV4dCk7CiAKLWV4dGVybiBpbnQgcmVhZF90cmVlKHN0cnVjdCB0cmVlICp0cmVlLCBpbnQgc3RhZ2UsIHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOworZXh0ZXJuIGludCByZWFkX3RyZWUoc3RydWN0IHRyZWUgKnRyZWUsIGludCBzdGFnZSwgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CiAKICNlbmRpZiAvKiBUUkVFX0ggKi8KZGlmZiAtLWdpdCBhL3VuaWNvZGVfd2lkdGguaCBiL3VuaWNvZGVfd2lkdGguaAppbmRleCAwMjIwN2JlLi42ZGVlMmM3IDEwMDY0NAotLS0gYS91bmljb2RlX3dpZHRoLmgKKysrIGIvdW5pY29kZV93aWR0aC5oCkBAIC01MSw2ICs1MSw3IEBACiB7IDB4MEFDNywgMHgwQUM4IH0sCiB7IDB4MEFDRCwgMHgwQUNEIH0sCiB7IDB4MEFFMiwgMHgwQUUzIH0sCit7IDB4MEFGQSwgMHgwQUZGIH0sCiB7IDB4MEIwMSwgMHgwQjAxIH0sCiB7IDB4MEIzQywgMHgwQjNDIH0sCiB7IDB4MEIzRiwgMHgwQjNGIH0sCkBAIC03Myw3ICs3NCw4IEBACiB7IDB4MENDNiwgMHgwQ0M2IH0sCiB7IDB4MENDQywgMHgwQ0NEIH0sCiB7IDB4MENFMiwgMHgwQ0UzIH0sCi17IDB4MEQwMSwgMHgwRDAxIH0sCit7IDB4MEQwMCwgMHgwRDAxIH0sCit7IDB4MEQzQiwgMHgwRDNDIH0sCiB7IDB4MEQ0MSwgMHgwRDQ0IH0sCiB7IDB4MEQ0RCwgMHgwRDREIH0sCiB7IDB4MEQ2MiwgMHgwRDYzIH0sCkBAIC0xNTgsNyArMTYwLDcgQEAKIHsgMHgxQ0VELCAweDFDRUQgfSwKIHsgMHgxQ0Y0LCAweDFDRjQgfSwKIHsgMHgxQ0Y4LCAweDFDRjkgfSwKLXsgMHgxREMwLCAweDFERjUgfSwKK3sgMHgxREMwLCAweDFERjkgfSwKIHsgMHgxREZCLCAweDFERkYgfSwKIHsgMHgyMDBCLCAweDIwMEYgfSwKIHsgMHgyMDJBLCAweDIwMkUgfSwKQEAgLTI2Miw2ICsyNjQsMTUgQEAKIHsgMHgxMTcxRCwgMHgxMTcxRiB9LAogeyAweDExNzIyLCAweDExNzI1IH0sCiB7IDB4MTE3MjcsIDB4MTE3MkIgfSwKK3sgMHgxMUEwMSwgMHgxMUEwNiB9LAoreyAweDExQTA5LCAweDExQTBBIH0sCit7IDB4MTFBMzMsIDB4MTFBMzggfSwKK3sgMHgxMUEzQiwgMHgxMUEzRSB9LAoreyAweDExQTQ3LCAweDExQTQ3IH0sCit7IDB4MTFBNTEsIDB4MTFBNTYgfSwKK3sgMHgxMUE1OSwgMHgxMUE1QiB9LAoreyAweDExQThBLCAweDExQTk2IH0sCit7IDB4MTFBOTgsIDB4MTFBOTkgfSwKIHsgMHgxMUMzMCwgMHgxMUMzNiB9LAogeyAweDExQzM4LCAweDExQzNEIH0sCiB7IDB4MTFDM0YsIDB4MTFDM0YgfSwKQEAgLTI2OSw2ICsyODAsMTEgQEAKIHsgMHgxMUNBQSwgMHgxMUNCMCB9LAogeyAweDExQ0IyLCAweDExQ0IzIH0sCiB7IDB4MTFDQjUsIDB4MTFDQjYgfSwKK3sgMHgxMUQzMSwgMHgxMUQzNiB9LAoreyAweDExRDNBLCAweDExRDNBIH0sCit7IDB4MTFEM0MsIDB4MTFEM0QgfSwKK3sgMHgxMUQzRiwgMHgxMUQ0NSB9LAoreyAweDExRDQ3LCAweDExRDQ3IH0sCiB7IDB4MTZBRjAsIDB4MTZBRjQgfSwKIHsgMHgxNkIzMCwgMHgxNkIzNiB9LAogeyAweDE2RjhGLCAweDE2RjkyIH0sCkBAIC0zMzksNyArMzU1LDcgQEAKIHsgMHgzMDAwLCAweDMwM0UgfSwKIHsgMHgzMDQxLCAweDMwOTYgfSwKIHsgMHgzMDk5LCAweDMwRkYgfSwKLXsgMHgzMTA1LCAweDMxMkQgfSwKK3sgMHgzMTA1LCAweDMxMkUgfSwKIHsgMHgzMTMxLCAweDMxOEUgfSwKIHsgMHgzMTkwLCAweDMxQkEgfSwKIHsgMHgzMUMwLCAweDMxRTMgfSwKQEAgLTM1OCwxMCArMzc0LDExIEBACiB7IDB4RkU2OCwgMHhGRTZCIH0sCiB7IDB4RkYwMSwgMHhGRjYwIH0sCiB7IDB4RkZFMCwgMHhGRkU2IH0sCi17IDB4MTZGRTAsIDB4MTZGRTAgfSwKK3sgMHgxNkZFMCwgMHgxNkZFMSB9LAogeyAweDE3MDAwLCAweDE4N0VDIH0sCiB7IDB4MTg4MDAsIDB4MThBRjIgfSwKLXsgMHgxQjAwMCwgMHgxQjAwMSB9LAoreyAweDFCMDAwLCAweDFCMTFFIH0sCit7IDB4MUIxNzAsIDB4MUIyRkIgfSwKIHsgMHgxRjAwNCwgMHgxRjAwNCB9LAogeyAweDFGMENGLCAweDFGMENGIH0sCiB7IDB4MUYxOEUsIDB4MUYxOEUgfSwKQEAgLTM3MCw2ICszODcsNyBAQAogeyAweDFGMjEwLCAweDFGMjNCIH0sCiB7IDB4MUYyNDAsIDB4MUYyNDggfSwKIHsgMHgxRjI1MCwgMHgxRjI1MSB9LAoreyAweDFGMjYwLCAweDFGMjY1IH0sCiB7IDB4MUYzMDAsIDB4MUYzMjAgfSwKIHsgMHgxRjMyRCwgMHgxRjMzNSB9LAogeyAweDFGMzM3LCAweDFGMzdDIH0sCkBAIC0zOTIsMTUgKzQxMCwxMyBAQAogeyAweDFGNkNDLCAweDFGNkNDIH0sCiB7IDB4MUY2RDAsIDB4MUY2RDIgfSwKIHsgMHgxRjZFQiwgMHgxRjZFQyB9LAoteyAweDFGNkY0LCAweDFGNkY2IH0sCi17IDB4MUY5MTAsIDB4MUY5MUUgfSwKLXsgMHgxRjkyMCwgMHgxRjkyNyB9LAoteyAweDFGOTMwLCAweDFGOTMwIH0sCi17IDB4MUY5MzMsIDB4MUY5M0UgfSwKLXsgMHgxRjk0MCwgMHgxRjk0QiB9LAoteyAweDFGOTUwLCAweDFGOTVFIH0sCi17IDB4MUY5ODAsIDB4MUY5OTEgfSwKK3sgMHgxRjZGNCwgMHgxRjZGOCB9LAoreyAweDFGOTEwLCAweDFGOTNFIH0sCit7IDB4MUY5NDAsIDB4MUY5NEMgfSwKK3sgMHgxRjk1MCwgMHgxRjk2QiB9LAoreyAweDFGOTgwLCAweDFGOTk3IH0sCiB7IDB4MUY5QzAsIDB4MUY5QzAgfSwKK3sgMHgxRjlEMCwgMHgxRjlFNiB9LAogeyAweDIwMDAwLCAweDJGRkZEIH0sCiB7IDB4MzAwMDAsIDB4M0ZGRkQgfQogfTsKZGlmZiAtLWdpdCBhL3VucGFjay10cmVlcy5jIGIvdW5wYWNrLXRyZWVzLmMKaW5kZXggM2E4ZWUxOS4uNzFiNzBjYyAxMDA2NDQKLS0tIGEvdW5wYWNrLXRyZWVzLmMKKysrIGIvdW5wYWNrLXRyZWVzLmMKQEAgLTEsNSArMSw3IEBACiAjZGVmaW5lIE5PX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInRyZWUuaCIKICNpbmNsdWRlICJ0cmVlLXdhbGsuaCIKQEAgLTEwLDYgKzEyLDggQEAKICNpbmNsdWRlICJhdHRyLmgiCiAjaW5jbHVkZSAic3BsaXQtaW5kZXguaCIKICNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJzdWJtb2R1bGUuaCIKKyNpbmNsdWRlICJzdWJtb2R1bGUtY29uZmlnLmgiCiAKIC8qCiAgKiBFcnJvciBtZXNzYWdlcyBleHBlY3RlZCBieSBzY3JpcHRzIG91dCBvZiBwbHVtYmluZyBjb21tYW5kcyBzdWNoIGFzCkBAIC00NSw2ICs0OSw5IEBACiAKIAkvKiBFUlJPUl9XT1VMRF9MT1NFX09SUEhBTkVEX1JFTU9WRUQgKi8KIAkiV29ya2luZyB0cmVlIGZpbGUgJyVzJyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCB1cGRhdGUuIiwKKworCS8qIEVSUk9SX1dPVUxEX0xPU0VfU1VCTU9EVUxFICovCisJIlN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBjaGVja291dCBuZXcgSEVBRC4iLAogfTsKIAogI2RlZmluZSBFUlJPUk1TRyhvLHR5cGUpIFwKQEAgLTE1NiwxMSArMTYzLDEzIEBACiAJbXNnc1tFUlJPUl9CSU5EX09WRVJMQVBdID0gXygiRW50cnkgJyVzJyBvdmVybGFwcyB3aXRoICclcycuICBDYW5ub3QgYmluZC4iKTsKIAogCW1zZ3NbRVJST1JfU1BBUlNFX05PVF9VUFRPREFURV9GSUxFXSA9Ci0JCV8oIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cC10by1kYXRlOlxuJXMiKTsKKwkJXygiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwIHRvIGRhdGU6XG4lcyIpOwogCW1zZ3NbRVJST1JfV09VTERfTE9TRV9PUlBIQU5FRF9PVkVSV1JJVFRFTl0gPQogCQlfKCJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgdXBkYXRlOlxuJXMiKTsKIAltc2dzW0VSUk9SX1dPVUxEX0xPU0VfT1JQSEFORURfUkVNT1ZFRF0gPQogCQlfKCJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCB1cGRhdGU6XG4lcyIpOworCW1zZ3NbRVJST1JfV09VTERfTE9TRV9TVUJNT0RVTEVdID0KKwkJXygiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4lcyIpOwogCiAJb3B0cy0+c2hvd19hbGxfZXJyb3JzID0gMTsKIAkvKiByZWplY3RlZCBwYXRocyBtYXkgbm90IGhhdmUgYSBzdGF0aWMgYnVmZmVyICovCkBAIC0yNDAsMTIgKzI0OSw2NCBAQAogCQlmcHJpbnRmKHN0ZGVyciwgXygiQWJvcnRpbmdcbiIpKTsKIH0KIAorc3RhdGljIGludCBjaGVja19zdWJtb2R1bGVfbW92ZV9oZWFkKGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCisJCQkJICAgICBjb25zdCBjaGFyICpvbGRfaWQsCisJCQkJICAgICBjb25zdCBjaGFyICpuZXdfaWQsCisJCQkJICAgICBzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgKm8pCit7CisJdW5zaWduZWQgZmxhZ3MgPSBTVUJNT0RVTEVfTU9WRV9IRUFEX0RSWV9SVU47CisJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViID0gc3VibW9kdWxlX2Zyb21fY2UoY2UpOworCisJaWYgKCFzdWIpCisJCXJldHVybiAwOworCisJaWYgKG8tPnJlc2V0KQorCQlmbGFncyB8PSBTVUJNT0RVTEVfTU9WRV9IRUFEX0ZPUkNFOworCisJaWYgKHN1Ym1vZHVsZV9tb3ZlX2hlYWQoY2UtPm5hbWUsIG9sZF9pZCwgbmV3X2lkLCBmbGFncykpCisJCXJldHVybiBvLT5nZW50bHkgPyAtMSA6CisJCQkJICAgYWRkX3JlamVjdGVkX3BhdGgobywgRVJST1JfV09VTERfTE9TRV9TVUJNT0RVTEUsIGNlLT5uYW1lKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFByZWZvcm0gdGhlIGxvYWRpbmcgb2YgdGhlIHJlcG9zaXRvcnkncyBnaXRtb2R1bGVzIGZpbGUuICBUaGlzIGZ1bmN0aW9uIGlzCisgKiB1c2VkIGJ5ICdjaGVja191cGRhdGUoKScgdG8gcGVyZm9ybSBsb2FkaW5nIG9mIHRoZSBnaXRtb2R1bGVzIGZpbGUgaW4gdHdvCisgKiBkaWZmZXJudCBzaXR1YXRpb25zOgorICogKDEpIGJlZm9yZSByZW1vdmluZyBlbnRyaWVzIGZyb20gdGhlIHdvcmtpbmcgdHJlZSBpZiB0aGUgZ2l0bW9kdWxlcyBmaWxlIGhhcworICogICAgIGJlZW4gbWFya2VkIGZvciByZW1vdmFsLiAgVGhpcyBzaXR1YXRpb24gaXMgc3BlY2lmaWVkIGJ5ICdzdGF0ZScgPT0gTlVMTC4KKyAqICgyKSBiZWZvcmUgY2hlY2tpbmcgb3V0IGVudHJpZXMgdG8gdGhlIHdvcmtpbmcgdHJlZSBpZiB0aGUgZ2l0bW9kdWxlcyBmaWxlCisgKiAgICAgaGFzIGJlZW4gbWFya2VkIGZvciB1cGRhdGUuICBUaGlzIHNpdHVhdGlvbiBpcyBzcGVjaWZpZWQgYnkgJ3N0YXRlJyAhPSBOVUxMLgorICovCitzdGF0aWMgdm9pZCBsb2FkX2dpdG1vZHVsZXNfZmlsZShzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4LAorCQkJCSBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlKQoreworCWludCBwb3MgPSBpbmRleF9uYW1lX3BvcyhpbmRleCwgR0lUTU9EVUxFU19GSUxFLCBzdHJsZW4oR0lUTU9EVUxFU19GSUxFKSk7CisKKwlpZiAocG9zID49IDApIHsKKwkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGluZGV4LT5jYWNoZVtwb3NdOworCQlpZiAoIXN0YXRlICYmIGNlLT5jZV9mbGFncyAmIENFX1dUX1JFTU9WRSkgeworCQkJcmVwb19yZWFkX2dpdG1vZHVsZXModGhlX3JlcG9zaXRvcnkpOworCQl9IGVsc2UgaWYgKHN0YXRlICYmIChjZS0+Y2VfZmxhZ3MgJiBDRV9VUERBVEUpKSB7CisJCQlzdWJtb2R1bGVfZnJlZSgpOworCQkJY2hlY2tvdXRfZW50cnkoY2UsIHN0YXRlLCBOVUxMKTsKKwkJCXJlcG9fcmVhZF9naXRtb2R1bGVzKHRoZV9yZXBvc2l0b3J5KTsKKwkJfQorCX0KK30KKwogLyoKICAqIFVubGluayB0aGUgbGFzdCBjb21wb25lbnQgYW5kIHNjaGVkdWxlIHRoZSBsZWFkaW5nIGRpcmVjdG9yaWVzIGZvcgogICogcmVtb3ZhbCwgc3VjaCB0aGF0IGVtcHR5IGRpcmVjdG9yaWVzIGdldCByZW1vdmVkLgogICovCiBzdGF0aWMgdm9pZCB1bmxpbmtfZW50cnkoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSkKIHsKKwljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWIgPSBzdWJtb2R1bGVfZnJvbV9jZShjZSk7CisJaWYgKHN1YikgeworCQkvKiBzdGF0ZS5mb3JjZSBpcyBzZXQgYXQgdGhlIGNhbGxlci4gKi8KKwkJc3VibW9kdWxlX21vdmVfaGVhZChjZS0+bmFtZSwgIkhFQUQiLCBOVUxMLAorCQkJCSAgICBTVUJNT0RVTEVfTU9WRV9IRUFEX0ZPUkNFKTsKKwl9CiAJaWYgKCFjaGVja19sZWFkaW5nX3BhdGgoY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpKSkKIAkJcmV0dXJuOwogCWlmIChyZW1vdmVfb3Jfd2FybihjZS0+Y2VfbW9kZSwgY2UtPm5hbWUpKQpAQCAtMjY3LDggKzMyOCw3IEBACiAJCQl0b3RhbCsrOwogCX0KIAotCXJldHVybiBzdGFydF9wcm9ncmVzc19kZWxheShfKCJDaGVja2luZyBvdXQgZmlsZXMiKSwKLQkJCQkgICAgdG90YWwsIDUwLCAxKTsKKwlyZXR1cm4gc3RhcnRfZGVsYXllZF9wcm9ncmVzcyhfKCJDaGVja2luZyBvdXQgZmlsZXMiKSwgdG90YWwpOwogfQogCiBzdGF0aWMgaW50IGNoZWNrX3VwZGF0ZXMoc3RydWN0IHVucGFja190cmVlc19vcHRpb25zICpvKQpAQCAtMjg5LDYgKzM0OSwxMCBAQAogCiAJaWYgKG8tPnVwZGF0ZSkKIAkJZ2l0X2F0dHJfc2V0X2RpcmVjdGlvbihHSVRfQVRUUl9DSEVDS09VVCwgaW5kZXgpOworCisJaWYgKHNob3VsZF91cGRhdGVfc3VibW9kdWxlcygpICYmIG8tPnVwZGF0ZSAmJiAhby0+ZHJ5X3J1bikKKwkJbG9hZF9naXRtb2R1bGVzX2ZpbGUoaW5kZXgsIE5VTEwpOworCiAJZm9yIChpID0gMDsgaSA8IGluZGV4LT5jYWNoZV9ucjsgaSsrKSB7CiAJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpbmRleC0+Y2FjaGVbaV07CiAKQEAgLTMwMSw2ICszNjUsMTAgQEAKIAlyZW1vdmVfbWFya2VkX2NhY2hlX2VudHJpZXMoaW5kZXgpOwogCXJlbW92ZV9zY2hlZHVsZWRfZGlycygpOwogCisJaWYgKHNob3VsZF91cGRhdGVfc3VibW9kdWxlcygpICYmIG8tPnVwZGF0ZSAmJiAhby0+ZHJ5X3J1bikKKwkJbG9hZF9naXRtb2R1bGVzX2ZpbGUoaW5kZXgsICZzdGF0ZSk7CisKKwllbmFibGVfZGVsYXllZF9jaGVja291dCgmc3RhdGUpOwogCWZvciAoaSA9IDA7IGkgPCBpbmRleC0+Y2FjaGVfbnI7IGkrKykgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gaW5kZXgtPmNhY2hlW2ldOwogCkBAIC0zMTYsNiArMzg0LDcgQEAKIAkJfQogCX0KIAlzdG9wX3Byb2dyZXNzKCZwcm9ncmVzcyk7CisJZXJycyB8PSBmaW5pc2hfZGVsYXllZF9jaGVja291dCgmc3RhdGUpOwogCWlmIChvLT51cGRhdGUpCiAJCWdpdF9hdHRyX3NldF9kaXJlY3Rpb24oR0lUX0FUVFJfQ0hFQ0tJTiwgTlVMTCk7CiAJcmV0dXJuIGVycnMgIT0gMDsKQEAgLTUzMSwxMiArNjAwLDE4IEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgYXJlX3NhbWVfb2lkKHN0cnVjdCBuYW1lX2VudHJ5ICpuYW1lX2osIHN0cnVjdCBuYW1lX2VudHJ5ICpuYW1lX2spCit7CisJcmV0dXJuIG5hbWVfai0+b2lkICYmIG5hbWVfay0+b2lkICYmICFvaWRjbXAobmFtZV9qLT5vaWQsIG5hbWVfay0+b2lkKTsKK30KKwogc3RhdGljIGludCB0cmF2ZXJzZV90cmVlc19yZWN1cnNpdmUoaW50IG4sIHVuc2lnbmVkIGxvbmcgZGlybWFzaywKIAkJCQkgICAgdW5zaWduZWQgbG9uZyBkZl9jb25mbGljdHMsCiAJCQkJICAgIHN0cnVjdCBuYW1lX2VudHJ5ICpuYW1lcywKIAkJCQkgICAgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8pCiB7CiAJaW50IGksIHJldCwgYm90dG9tOworCWludCBucl9idWYgPSAwOwogCXN0cnVjdCB0cmVlX2Rlc2MgdFtNQVhfVU5QQUNLX1RSRUVTXTsKIAl2b2lkICpidWZbTUFYX1VOUEFDS19UUkVFU107CiAJc3RydWN0IHRyYXZlcnNlX2luZm8gbmV3aW5mbzsKQEAgLTU1MywxOCArNjI4LDQwIEBACiAJbmV3aW5mby5wYXRobGVuICs9IHRyZWVfZW50cnlfbGVuKHApICsgMTsKIAluZXdpbmZvLmRmX2NvbmZsaWN0cyB8PSBkZl9jb25mbGljdHM7CiAKKwkvKgorCSAqIEZldGNoIHRoZSB0cmVlIGZyb20gdGhlIE9EQiBmb3IgZWFjaCBwZWVyIGRpcmVjdG9yeSBpbiB0aGUKKwkgKiBuIGNvbW1pdHMuCisJICoKKwkgKiBGb3IgMi0gYW5kIDMtd2F5IHRyYXZlcnNhbHMsIHdlIHRyeSB0byBhdm9pZCBoaXR0aW5nIHRoZQorCSAqIE9EQiB0d2ljZSBmb3IgdGhlIHNhbWUgT0lELiAgVGhpcyBzaG91bGQgeWllbGQgYSBuaWNlIHNwZWVkCisJICogdXAgaW4gY2hlY2tvdXRzIGFuZCBtZXJnZXMgd2hlbiB0aGUgY29tbWl0cyBhcmUgc2ltaWxhci4KKwkgKgorCSAqIFdlIGRvbid0IGJvdGhlciBkb2luZyB0aGUgZnVsbCBPKG5eMikgc2VhcmNoIGZvciBsYXJnZXIgbiwKKwkgKiBiZWNhdXNlIHdpZGVyIHRyYXZlcnNhbHMgZG9uJ3QgaGFwcGVuIHRoYXQgb2Z0ZW4gYW5kIHdlCisJICogYXZvaWQgdGhlIHNlYXJjaCBzZXR1cC4KKwkgKgorCSAqIFdoZW4gMiBwZWVyIE9JRHMgYXJlIHRoZSBzYW1lLCB3ZSBqdXN0IGNvcHkgdGhlIHRyZWUKKwkgKiBkZXNjcmlwdG9yIGRhdGEuICBUaGlzIGltcGxpY2l0bHkgYm9ycm93cyB0aGUgYnVmZmVyCisJICogZGF0YSBmcm9tIHRoZSBlYXJsaWVyIGNlbGwuCisJICovCiAJZm9yIChpID0gMDsgaSA8IG47IGkrKywgZGlybWFzayA+Pj0gMSkgewotCQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0gTlVMTDsKLQkJaWYgKGRpcm1hc2sgJiAxKQotCQkJc2hhMSA9IG5hbWVzW2ldLm9pZC0+aGFzaDsKLQkJYnVmW2ldID0gZmlsbF90cmVlX2Rlc2NyaXB0b3IodCtpLCBzaGExKTsKKwkJaWYgKGkgPiAwICYmIGFyZV9zYW1lX29pZCgmbmFtZXNbaV0sICZuYW1lc1tpIC0gMV0pKQorCQkJdFtpXSA9IHRbaSAtIDFdOworCQllbHNlIGlmIChpID4gMSAmJiBhcmVfc2FtZV9vaWQoJm5hbWVzW2ldLCAmbmFtZXNbaSAtIDJdKSkKKwkJCXRbaV0gPSB0W2kgLSAyXTsKKwkJZWxzZSB7CisJCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQgPSBOVUxMOworCQkJaWYgKGRpcm1hc2sgJiAxKQorCQkJCW9pZCA9IG5hbWVzW2ldLm9pZDsKKwkJCWJ1Zltucl9idWYrK10gPSBmaWxsX3RyZWVfZGVzY3JpcHRvcih0ICsgaSwgb2lkKTsKKwkJfQogCX0KIAogCWJvdHRvbSA9IHN3aXRjaF9jYWNoZV9ib3R0b20oJm5ld2luZm8pOwogCXJldCA9IHRyYXZlcnNlX3RyZWVzKG4sIHQsICZuZXdpbmZvKTsKIAlyZXN0b3JlX2NhY2hlX2JvdHRvbSgmbmV3aW5mbywgYm90dG9tKTsKIAotCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJZm9yIChpID0gMDsgaSA8IG5yX2J1ZjsgaSsrKQogCQlmcmVlKGJ1ZltpXSk7CiAKIAlyZXR1cm4gcmV0OwpAQCAtOTY3LDcgKzEwNjQsNyBAQAogCXN0cnVjdCBjYWNoZV9lbnRyeSAqKmNhY2hlX2VuZDsKIAlpbnQgZHR5cGUgPSBEVF9ESVI7CiAJaW50IHJldCA9IGlzX2V4Y2x1ZGVkX2Zyb21fbGlzdChwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4sCi0JCQkJCWJhc2VuYW1lLCAmZHR5cGUsIGVsKTsKKwkJCQkJYmFzZW5hbWUsICZkdHlwZSwgZWwsICZ0aGVfaW5kZXgpOwogCWludCByYzsKIAogCXN0cmJ1Zl9hZGRjaChwcmVmaXgsICcvJyk7CkBAIC0xMDcwLDcgKzExNjcsNyBAQAogCQkvKiBOb24tZGlyZWN0b3J5ICovCiAJCWR0eXBlID0gY2VfdG9fZHR5cGUoY2UpOwogCQlyZXQgPSBpc19leGNsdWRlZF9mcm9tX2xpc3QoY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLAotCQkJCQkgICAgbmFtZSwgJmR0eXBlLCBlbCk7CisJCQkJCSAgICBuYW1lLCAmZHR5cGUsIGVsLCAmdGhlX2luZGV4KTsKIAkJaWYgKHJldCA8IDApCiAJCQlyZXQgPSBkZWZ2YWw7CiAJCWlmIChyZXQgPiAwKQpAQCAtMTE1MCw3ICsxMjQ3LDcgQEAKIAkJby0+c2tpcF9zcGFyc2VfY2hlY2tvdXQgPSAxOwogCWlmICghby0+c2tpcF9zcGFyc2VfY2hlY2tvdXQpIHsKIAkJY2hhciAqc3BhcnNlID0gZ2l0X3BhdGhkdXAoImluZm8vc3BhcnNlLWNoZWNrb3V0Iik7Ci0JCWlmIChhZGRfZXhjbHVkZXNfZnJvbV9maWxlX3RvX2xpc3Qoc3BhcnNlLCAiIiwgMCwgJmVsLCAwKSA8IDApCisJCWlmIChhZGRfZXhjbHVkZXNfZnJvbV9maWxlX3RvX2xpc3Qoc3BhcnNlLCAiIiwgMCwgJmVsLCBOVUxMKSA8IDApCiAJCQlvLT5za2lwX3NwYXJzZV9jaGVja291dCA9IDE7CiAJCWVsc2UKIAkJCW8tPmVsID0gJmVsOwpAQCAtMTI5MCw2ICsxMzg3LDcgQEAKIAkJCQkJCSAgV1JJVEVfVFJFRV9TSUxFTlQgfAogCQkJCQkJICBXUklURV9UUkVFX1JFUEFJUik7CiAJCX0KKwkJbW92ZV9pbmRleF9leHRlbnNpb25zKCZvLT5yZXN1bHQsIG8tPmRzdF9pbmRleCk7CiAJCWRpc2NhcmRfaW5kZXgoby0+ZHN0X2luZGV4KTsKIAkJKm8tPmRzdF9pbmRleCA9IG8tPnJlc3VsdDsKIAl9IGVsc2UgewpAQCAtMTM1OCwxNyArMTQ1NiwyNiBAQAogCWlmICghbHN0YXQoY2UtPm5hbWUsICZzdCkpIHsKIAkJaW50IGZsYWdzID0gQ0VfTUFUQ0hfSUdOT1JFX1ZBTElEfENFX01BVENIX0lHTk9SRV9TS0lQX1dPUktUUkVFOwogCQl1bnNpZ25lZCBjaGFuZ2VkID0gaWVfbWF0Y2hfc3RhdChvLT5zcmNfaW5kZXgsIGNlLCAmc3QsIGZsYWdzKTsKKworCQlpZiAoc3VibW9kdWxlX2Zyb21fY2UoY2UpKSB7CisJCQlpbnQgciA9IGNoZWNrX3N1Ym1vZHVsZV9tb3ZlX2hlYWQoY2UsCisJCQkJIkhFQUQiLCBvaWRfdG9faGV4KCZjZS0+b2lkKSwgbyk7CisJCQlpZiAocikKKwkJCQlyZXR1cm4gby0+Z2VudGx5ID8gLTEgOgorCQkJCQlhZGRfcmVqZWN0ZWRfcGF0aChvLCBlcnJvcl90eXBlLCBjZS0+bmFtZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCiAJCWlmICghY2hhbmdlZCkKIAkJCXJldHVybiAwOwogCQkvKgotCQkgKiBORUVEU1dPUks6IHRoZSBjdXJyZW50IGRlZmF1bHQgcG9saWN5IGlzIHRvIGFsbG93Ci0JCSAqIHN1Ym1vZHVsZSB0byBiZSBvdXQgb2Ygc3luYyB3cnQgdGhlIHN1cGVycHJvamVjdAotCQkgKiBpbmRleC4gIFRoaXMgbmVlZHMgdG8gYmUgdGlnaHRlbmVkIGxhdGVyIGZvcgotCQkgKiBzdWJtb2R1bGVzIHRoYXQgYXJlIG1hcmtlZCB0byBiZSBhdXRvbWF0aWNhbGx5Ci0JCSAqIGNoZWNrZWQgb3V0LgorCQkgKiBIaXN0b3JpYyBkZWZhdWx0IHBvbGljeSB3YXMgdG8gYWxsb3cgc3VibW9kdWxlIHRvIGJlIG91dAorCQkgKiBvZiBzeW5jIHdydCB0aGUgc3VwZXJwcm9qZWN0IGluZGV4LiBJZiB0aGUgc3VibW9kdWxlIHdhcworCQkgKiBub3QgY29uc2lkZXJlZCBpbnRlcmVzdGluZyBhYm92ZSwgd2UgZG9uJ3QgY2FyZSBoZXJlLgogCQkgKi8KIAkJaWYgKFNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkKIAkJCXJldHVybiAwOworCiAJCWVycm5vID0gMDsKIAl9CiAJaWYgKGVycm5vID09IEVOT0VOVCkKQEAgLTE0MDcsMTEgKzE1MTQsMTYgQEAKICAqIEN1cnJlbnRseSwgZ2l0IGRvZXMgbm90IGNoZWNrb3V0IHN1YnByb2plY3RzIGR1cmluZyBhIHN1cGVycHJvamVjdAogICogY2hlY2tvdXQsIHNvIGl0IGlzIG5vdCBnb2luZyB0byBvdmVyd3JpdGUgYW55dGhpbmcuCiAgKi8KLXN0YXRpYyBpbnQgdmVyaWZ5X2NsZWFuX3N1Ym1vZHVsZShjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAorc3RhdGljIGludCB2ZXJpZnlfY2xlYW5fc3VibW9kdWxlKGNvbnN0IGNoYXIgKm9sZF9zaGExLAorCQkJCSAgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwKIAkJCQkgIGVudW0gdW5wYWNrX3RyZWVzX2Vycm9yX3R5cGVzIGVycm9yX3R5cGUsCiAJCQkJICBzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgKm8pCiB7Ci0JcmV0dXJuIDA7CisJaWYgKCFzdWJtb2R1bGVfZnJvbV9jZShjZSkpCisJCXJldHVybiAwOworCisJcmV0dXJuIGNoZWNrX3N1Ym1vZHVsZV9tb3ZlX2hlYWQoY2UsIG9sZF9zaGExLAorCQkJCQkgb2lkX3RvX2hleCgmY2UtPm9pZCksIG8pOwogfQogCiBzdGF0aWMgaW50IHZlcmlmeV9jbGVhbl9zdWJkaXJlY3RvcnkoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwKQEAgLTE0MjcsMTYgKzE1MzksMTggQEAKIAlzdHJ1Y3QgZGlyX3N0cnVjdCBkOwogCWNoYXIgKnBhdGhidWY7CiAJaW50IGNudCA9IDA7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAotCWlmIChTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkgJiYKLQkgICAgcmVzb2x2ZV9naXRsaW5rX3JlZihjZS0+bmFtZSwgIkhFQUQiLCBzaGExKSA9PSAwKSB7Ci0JCS8qIElmIHdlIGFyZSBub3QgZ29pbmcgdG8gdXBkYXRlIHRoZSBzdWJtb2R1bGUsIHRoZW4KKwlpZiAoU19JU0dJVExJTksoY2UtPmNlX21vZGUpKSB7CisJCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCWludCBzdWJfaGVhZCA9IHJlc29sdmVfZ2l0bGlua19yZWYoY2UtPm5hbWUsICJIRUFEIiwgc2hhMSk7CisJCS8qCisJCSAqIElmIHdlIGFyZSBub3QgZ29pbmcgdG8gdXBkYXRlIHRoZSBzdWJtb2R1bGUsIHRoZW4KIAkJICogd2UgZG9uJ3QgY2FyZS4KIAkJICovCi0JCWlmICghaGFzaGNtcChzaGExLCBjZS0+b2lkLmhhc2gpKQorCQlpZiAoIXN1Yl9oZWFkICYmICFoYXNoY21wKHNoYTEsIGNlLT5vaWQuaGFzaCkpCiAJCQlyZXR1cm4gMDsKLQkJcmV0dXJuIHZlcmlmeV9jbGVhbl9zdWJtb2R1bGUoY2UsIGVycm9yX3R5cGUsIG8pOworCQlyZXR1cm4gdmVyaWZ5X2NsZWFuX3N1Ym1vZHVsZShzdWJfaGVhZCA/IE5VTEwgOiBzaGExX3RvX2hleChzaGExKSwKKwkJCQkJICAgICAgY2UsIGVycm9yX3R5cGUsIG8pOwogCX0KIAogCS8qCkBAIC0xNDc1LDcgKzE1ODksNyBAQAogCW1lbXNldCgmZCwgMCwgc2l6ZW9mKGQpKTsKIAlpZiAoby0+ZGlyKQogCQlkLmV4Y2x1ZGVfcGVyX2RpciA9IG8tPmRpci0+ZXhjbHVkZV9wZXJfZGlyOwotCWkgPSByZWFkX2RpcmVjdG9yeSgmZCwgcGF0aGJ1ZiwgbmFtZWxlbisxLCBOVUxMKTsKKwlpID0gcmVhZF9kaXJlY3RvcnkoJmQsICZ0aGVfaW5kZXgsIHBhdGhidWYsIG5hbWVsZW4rMSwgTlVMTCk7CiAJaWYgKGkpCiAJCXJldHVybiBvLT5nZW50bHkgPyAtMSA6CiAJCQlhZGRfcmVqZWN0ZWRfcGF0aChvLCBFUlJPUl9OT1RfVVBUT0RBVEVfRElSLCBjZS0+bmFtZSk7CkBAIC0xNTE3LDcgKzE2MzEsNyBAQAogCQlyZXR1cm4gMDsKIAogCWlmIChvLT5kaXIgJiYKLQkgICAgaXNfZXhjbHVkZWQoby0+ZGlyLCBuYW1lLCAmZHR5cGUpKQorCSAgICBpc19leGNsdWRlZChvLT5kaXIsICZ0aGVfaW5kZXgsIG5hbWUsICZkdHlwZSkpCiAJCS8qCiAJCSAqIGNlLT5uYW1lIGlzIGV4cGxpY2l0bHkgZXhjbHVkZWQsIHNvIGl0IGlzIE9rIHRvCiAJCSAqIG92ZXJ3cml0ZSBpdC4KQEAgLTE1NzUsOSArMTY4OSwxNSBAQAogCQlwYXRoID0geG1lbWR1cHooY2UtPm5hbWUsIGxlbik7CiAJCWlmIChsc3RhdChwYXRoLCAmc3QpKQogCQkJcmV0ID0gZXJyb3JfZXJybm8oImNhbm5vdCBzdGF0ICclcyciLCBwYXRoKTsKLQkJZWxzZQotCQkJcmV0ID0gY2hlY2tfb2tfdG9fcmVtb3ZlKHBhdGgsIGxlbiwgRFRfVU5LTk9XTiwgTlVMTCwKLQkJCQkJCSAmc3QsIGVycm9yX3R5cGUsIG8pOworCQllbHNlIHsKKwkJCWlmIChzdWJtb2R1bGVfZnJvbV9jZShjZSkpCisJCQkJcmV0ID0gY2hlY2tfc3VibW9kdWxlX21vdmVfaGVhZChjZSwKKwkJCQkJCQkJb2lkX3RvX2hleCgmY2UtPm9pZCksCisJCQkJCQkJCU5VTEwsIG8pOworCQkJZWxzZQorCQkJCXJldCA9IGNoZWNrX29rX3RvX3JlbW92ZShwYXRoLCBsZW4sIERUX1VOS05PV04sIE5VTEwsCisJCQkJCQkJICZzdCwgZXJyb3JfdHlwZSwgbyk7CisJCX0KIAkJZnJlZShwYXRoKTsKIAkJcmV0dXJuIHJldDsKIAl9IGVsc2UgaWYgKGxzdGF0KGNlLT5uYW1lLCAmc3QpKSB7CkBAIC0xNTg1LDYgKzE3MDUsMTAgQEAKIAkJCXJldHVybiBlcnJvcl9lcnJubygiY2Fubm90IHN0YXQgJyVzJyIsIGNlLT5uYW1lKTsKIAkJcmV0dXJuIDA7CiAJfSBlbHNlIHsKKwkJaWYgKHN1Ym1vZHVsZV9mcm9tX2NlKGNlKSkKKwkJCXJldHVybiBjaGVja19zdWJtb2R1bGVfbW92ZV9oZWFkKGNlLCBvaWRfdG9faGV4KCZjZS0+b2lkKSwKKwkJCQkJCQkgTlVMTCwgbyk7CisKIAkJcmV0dXJuIGNoZWNrX29rX3RvX3JlbW92ZShjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksCiAJCQkJCSAgY2VfdG9fZHR5cGUoY2UpLCBjZSwgJnN0LAogCQkJCQkgIGVycm9yX3R5cGUsIG8pOwpAQCAtMTY0MCw2ICsxNzY0LDE1IEBACiAJCQlyZXR1cm4gLTE7CiAJCX0KIAkJaW52YWxpZGF0ZV9jZV9wYXRoKG1lcmdlLCBvKTsKKworCQlpZiAoc3VibW9kdWxlX2Zyb21fY2UoY2UpKSB7CisJCQlpbnQgcmV0ID0gY2hlY2tfc3VibW9kdWxlX21vdmVfaGVhZChjZSwgTlVMTCwKKwkJCQkJCQkgICAgb2lkX3RvX2hleCgmY2UtPm9pZCksCisJCQkJCQkJICAgIG8pOworCQkJaWYgKHJldCkKKwkJCQlyZXR1cm4gcmV0OworCQl9CisKIAl9IGVsc2UgaWYgKCEob2xkLT5jZV9mbGFncyAmIENFX0NPTkZMSUNURUQpKSB7CiAJCS8qCiAJCSAqIFNlZSBpZiB3ZSBjYW4gcmUtdXNlIHRoZSBvbGQgQ0UgZGlyZWN0bHk/CkBAIC0xNjYwLDYgKzE3OTMsMTQgQEAKIAkJCXVwZGF0ZSB8PSBvbGQtPmNlX2ZsYWdzICYgKENFX1NLSVBfV09SS1RSRUUgfCBDRV9ORVdfU0tJUF9XT1JLVFJFRSk7CiAJCQlpbnZhbGlkYXRlX2NlX3BhdGgob2xkLCBvKTsKIAkJfQorCisJCWlmIChzdWJtb2R1bGVfZnJvbV9jZShjZSkpIHsKKwkJCWludCByZXQgPSBjaGVja19zdWJtb2R1bGVfbW92ZV9oZWFkKGNlLCBvaWRfdG9faGV4KCZvbGQtPm9pZCksCisJCQkJCQkJICAgIG9pZF90b19oZXgoJmNlLT5vaWQpLAorCQkJCQkJCSAgICBvKTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKwkJfQogCX0gZWxzZSB7CiAJCS8qCiAJCSAqIFByZXZpb3VzbHkgdW5tZXJnZWQgZW50cnkgbGVmdCBhcyBhbiBleGlzdGVuY2UKZGlmZiAtLWdpdCBhL3VucGFjay10cmVlcy5oIGIvdW5wYWNrLXRyZWVzLmgKaW5kZXggMzZhNzNhNi4uNmM0ODExN2IgMTAwNjQ0Ci0tLSBhL3VucGFjay10cmVlcy5oCisrKyBiL3VucGFjay10cmVlcy5oCkBAIC0yMSw2ICsyMSw3IEBACiAJRVJST1JfU1BBUlNFX05PVF9VUFRPREFURV9GSUxFLAogCUVSUk9SX1dPVUxEX0xPU0VfT1JQSEFORURfT1ZFUldSSVRURU4sCiAJRVJST1JfV09VTERfTE9TRV9PUlBIQU5FRF9SRU1PVkVELAorCUVSUk9SX1dPVUxEX0xPU0VfU1VCTU9EVUxFLAogCU5CX1VOUEFDS19UUkVFU19FUlJPUl9UWVBFUwogfTsKIApkaWZmIC0tZ2l0IGEvdXBsb2FkLXBhY2suYyBiL3VwbG9hZC1wYWNrLmMKaW5kZXggZmZiMDI4ZC4uZTI1ZjcyNSAxMDA2NDQKLS0tIGEvdXBsb2FkLXBhY2suYworKysgYi91cGxvYWQtcGFjay5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgInBrdC1saW5lLmgiCiAjaW5jbHVkZSAic2lkZWJhbmQuaCIKQEAgLTM1LDcgKzM2LDcgQEAKICNkZWZpbmUgQ0xJRU5UX1NIQUxMT1cJKDF1IDw8IDE4KQogI2RlZmluZSBISURERU5fUkVGCSgxdSA8PCAxOSkKIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgb2xkZXN0X2hhdmU7CitzdGF0aWMgdGltZXN0YW1wX3Qgb2xkZXN0X2hhdmU7CiAKIHN0YXRpYyBpbnQgZGVlcGVuX3JlbGF0aXZlOwogc3RhdGljIGludCBtdWx0aV9hY2s7CkBAIC0yODYsMTkgKzI4NywxOSBAQAogCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiAlcyIsIGFib3J0X21zZyk7CiB9CiAKLXN0YXRpYyBpbnQgZ290X3NoYTEoY29uc3QgY2hhciAqaGV4LCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCBnb3Rfb2lkKGNvbnN0IGNoYXIgKmhleCwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBvYmplY3QgKm87CiAJaW50IHdlX2tuZXdfdGhleV9oYXZlID0gMDsKIAotCWlmIChnZXRfc2hhMV9oZXgoaGV4LCBzaGExKSkKKwlpZiAoZ2V0X29pZF9oZXgoaGV4LCBvaWQpKQogCQlkaWUoImdpdCB1cGxvYWQtcGFjazogZXhwZWN0ZWQgU0hBMSBvYmplY3QsIGdvdCAnJXMnIiwgaGV4KTsKLQlpZiAoIWhhc19zaGExX2ZpbGUoc2hhMSkpCisJaWYgKCFoYXNfb2JqZWN0X2ZpbGUob2lkKSkKIAkJcmV0dXJuIC0xOwogCi0JbyA9IHBhcnNlX29iamVjdChzaGExKTsKKwlvID0gcGFyc2Vfb2JqZWN0KG9pZCk7CiAJaWYgKCFvKQotCQlkaWUoIm9vcHMgKCVzKSIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZGllKCJvb3BzICglcykiLCBvaWRfdG9faGV4KG9pZCkpOwogCWlmIChvLT50eXBlID09IE9CSl9DT01NSVQpIHsKIAkJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOwogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKW87CkBAIC0zMzQsNyArMzM1LDcgQEAKIAkJCWJyZWFrOwogCQl9CiAJCWlmICghY29tbWl0LT5vYmplY3QucGFyc2VkKQotCQkJcGFyc2Vfb2JqZWN0KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwkJCXBhcnNlX29iamVjdCgmY29tbWl0LT5vYmplY3Qub2lkKTsKIAkJaWYgKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgUkVBQ0hBQkxFKQogCQkJY29udGludWU7CiAJCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IFJFQUNIQUJMRTsKQEAgLTM4Miw4ICszODMsOCBAQAogCiBzdGF0aWMgaW50IGdldF9jb21tb25fY29tbWl0cyh2b2lkKQogewotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0JY2hhciBsYXN0X2hleFs0MV07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJY2hhciBsYXN0X2hleFtHSVRfTUFYX0hFWFNaICsgMV07CiAJaW50IGdvdF9jb21tb24gPSAwOwogCWludCBnb3Rfb3RoZXIgPSAwOwogCWludCBzZW50X3JlYWR5ID0gMDsKQEAgLTQxNiwxMSArNDE3LDExIEBACiAJCQljb250aW51ZTsKIAkJfQogCQlpZiAoc2tpcF9wcmVmaXgobGluZSwgImhhdmUgIiwgJmFyZykpIHsKLQkJCXN3aXRjaCAoZ290X3NoYTEoYXJnLCBzaGExKSkgeworCQkJc3dpdGNoIChnb3Rfb2lkKGFyZywgJm9pZCkpIHsKIAkJCWNhc2UgLTE6IC8qIHRoZXkgaGF2ZSB3aGF0IHdlIGRvIG5vdCAqLwogCQkJCWdvdF9vdGhlciA9IDE7CiAJCQkJaWYgKG11bHRpX2FjayAmJiBva190b19naXZlX3VwKCkpIHsKLQkJCQkJY29uc3QgY2hhciAqaGV4ID0gc2hhMV90b19oZXgoc2hhMSk7CisJCQkJCWNvbnN0IGNoYXIgKmhleCA9IG9pZF90b19oZXgoJm9pZCk7CiAJCQkJCWlmIChtdWx0aV9hY2sgPT0gMikgewogCQkJCQkJc2VudF9yZWFkeSA9IDE7CiAJCQkJCQlwYWNrZXRfd3JpdGVfZm10KDEsICJBQ0sgJXMgcmVhZHlcbiIsIGhleCk7CkBAIC00MzAsNyArNDMxLDcgQEAKIAkJCQlicmVhazsKIAkJCWRlZmF1bHQ6CiAJCQkJZ290X2NvbW1vbiA9IDE7Ci0JCQkJbWVtY3B5KGxhc3RfaGV4LCBzaGExX3RvX2hleChzaGExKSwgNDEpOworCQkJCW1lbWNweShsYXN0X2hleCwgb2lkX3RvX2hleCgmb2lkKSwgNDEpOwogCQkJCWlmIChtdWx0aV9hY2sgPT0gMikKIAkJCQkJcGFja2V0X3dyaXRlX2ZtdCgxLCAiQUNLICVzIGNvbW1vblxuIiwgbGFzdF9oZXgpOwogCQkJCWVsc2UgaWYgKG11bHRpX2FjaykKQEAgLTQ5Miw3ICs0OTMsNyBAQAogCQlnb3RvIGVycm9yOwogCiAJbmFtZWJ1ZlswXSA9ICdeJzsKLQluYW1lYnVmWzQxXSA9ICdcbic7CisJbmFtZWJ1ZltHSVRfU0hBMV9IRVhTWiArIDFdID0gJ1xuJzsKIAlmb3IgKGkgPSBnZXRfbWF4X29iamVjdF9pbmRleCgpOyAwIDwgaTsgKSB7CiAJCW8gPSBnZXRfaW5kZXhlZF9vYmplY3QoLS1pKTsKIAkJaWYgKCFvKQpAQCAtNTAyLDEwICs1MDMsMTAgQEAKIAkJaWYgKCFpc19vdXJfcmVmKG8pKQogCQkJY29udGludWU7CiAJCW1lbWNweShuYW1lYnVmICsgMSwgb2lkX3RvX2hleCgmby0+b2lkKSwgR0lUX1NIQTFfSEVYU1opOwotCQlpZiAod3JpdGVfaW5fZnVsbChjbWQtPmluLCBuYW1lYnVmLCA0MikgPCAwKQorCQlpZiAod3JpdGVfaW5fZnVsbChjbWQtPmluLCBuYW1lYnVmLCBHSVRfU0hBMV9IRVhTWiArIDIpIDwgMCkKIAkJCWdvdG8gZXJyb3I7CiAJfQotCW5hbWVidWZbNDBdID0gJ1xuJzsKKwluYW1lYnVmW0dJVF9TSEExX0hFWFNaXSA9ICdcbic7CiAJZm9yIChpID0gMDsgaSA8IHNyYy0+bnI7IGkrKykgewogCQlvID0gc3JjLT5vYmplY3RzW2ldLml0ZW07CiAJCWlmIChpc19vdXJfcmVmKG8pKSB7CkBAIC01MTYsNyArNTE3LDcgQEAKIAkJaWYgKHJlYWNoYWJsZSAmJiBvLT50eXBlID09IE9CSl9DT01NSVQpCiAJCQlvLT5mbGFncyB8PSBUTVBfTUFSSzsKIAkJbWVtY3B5KG5hbWVidWYsIG9pZF90b19oZXgoJm8tPm9pZCksIEdJVF9TSEExX0hFWFNaKTsKLQkJaWYgKHdyaXRlX2luX2Z1bGwoY21kLT5pbiwgbmFtZWJ1ZiwgNDEpIDwgMCkKKwkJaWYgKHdyaXRlX2luX2Z1bGwoY21kLT5pbiwgbmFtZWJ1ZiwgR0lUX1NIQTFfSEVYU1ogKyAxKSA8IDApCiAJCQlnb3RvIGVycm9yOwogCX0KIAljbG9zZShjbWQtPmluKTsKQEAgLTY0Miw3ICs2NDMsNyBAQAogCQlpZiAoIShvYmplY3QtPmZsYWdzICYgKENMSUVOVF9TSEFMTE9XfE5PVF9TSEFMTE9XKSkpIHsKIAkJCXBhY2tldF93cml0ZV9mbXQoMSwgInNoYWxsb3cgJXMiLAogCQkJCQkgb2lkX3RvX2hleCgmb2JqZWN0LT5vaWQpKTsKLQkJCXJlZ2lzdGVyX3NoYWxsb3cob2JqZWN0LT5vaWQuaGFzaCk7CisJCQlyZWdpc3Rlcl9zaGFsbG93KCZvYmplY3QtPm9pZCk7CiAJCQlzaGFsbG93X25yKys7CiAJCX0KIAkJcmVzdWx0ID0gcmVzdWx0LT5uZXh0OwpAQCAtNjY3LDcgKzY2OCw3IEBACiAJCQkgKiBwYXJzZSBhbmQgYWRkIHRoZSBwYXJlbnRzIHRvIHRoZSB3YW50IGxpc3QsIHRoZW4KIAkJCSAqIHJlLXJlZ2lzdGVyIGl0LgogCQkJICovCi0JCQl1bnJlZ2lzdGVyX3NoYWxsb3cob2JqZWN0LT5vaWQuaGFzaCk7CisJCQl1bnJlZ2lzdGVyX3NoYWxsb3coJm9iamVjdC0+b2lkKTsKIAkJCW9iamVjdC0+cGFyc2VkID0gMDsKIAkJCXBhcnNlX2NvbW1pdF9vcl9kaWUoKHN0cnVjdCBjb21taXQgKilvYmplY3QpOwogCQkJcGFyZW50cyA9ICgoc3RydWN0IGNvbW1pdCAqKW9iamVjdCktPnBhcmVudHM7CkBAIC02NzksNyArNjgwLDcgQEAKIAkJCWFkZF9vYmplY3RfYXJyYXkob2JqZWN0LCBOVUxMLCAmZXh0cmFfZWRnZV9vYmopOwogCQl9CiAJCS8qIG1ha2Ugc3VyZSBjb21taXQgdHJhdmVyc2FsIGNvbmZvcm1zIHRvIGNsaWVudCAqLwotCQlyZWdpc3Rlcl9zaGFsbG93KG9iamVjdC0+b2lkLmhhc2gpOworCQlyZWdpc3Rlcl9zaGFsbG93KCZvYmplY3QtPm9pZCk7CiAJfQogfQogCkBAIC03MzUsMTQgKzczNiwxNCBAQAogCXN0cnVjdCBzdHJpbmdfbGlzdCBkZWVwZW5fbm90ID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CiAJaW50IGRlcHRoID0gMDsKIAlpbnQgaGFzX25vbl90aXAgPSAwOwotCXVuc2lnbmVkIGxvbmcgZGVlcGVuX3NpbmNlID0gMDsKKwl0aW1lc3RhbXBfdCBkZWVwZW5fc2luY2UgPSAwOwogCWludCBkZWVwZW5fcmV2X2xpc3QgPSAwOwogCiAJc2hhbGxvd19uciA9IDA7CiAJZm9yICg7OykgewogCQlzdHJ1Y3Qgb2JqZWN0ICpvOwogCQljb25zdCBjaGFyICpmZWF0dXJlczsKLQkJdW5zaWduZWQgY2hhciBzaGExX2J1ZlsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkX2J1ZjsKIAkJY2hhciAqbGluZSA9IHBhY2tldF9yZWFkX2xpbmUoMCwgTlVMTCk7CiAJCWNvbnN0IGNoYXIgKmFyZzsKIApAQCAtNzUxLDE1ICs3NTIsMTUgQEAKIAkJCWJyZWFrOwogCiAJCWlmIChza2lwX3ByZWZpeChsaW5lLCAic2hhbGxvdyAiLCAmYXJnKSkgewotCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQkJc3RydWN0IG9iamVjdCAqb2JqZWN0OwotCQkJaWYgKGdldF9zaGExX2hleChhcmcsIHNoYTEpKQorCQkJaWYgKGdldF9vaWRfaGV4KGFyZywgJm9pZCkpCiAJCQkJZGllKCJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiLCBsaW5lKTsKLQkJCW9iamVjdCA9IHBhcnNlX29iamVjdChzaGExKTsKKwkJCW9iamVjdCA9IHBhcnNlX29iamVjdCgmb2lkKTsKIAkJCWlmICghb2JqZWN0KQogCQkJCWNvbnRpbnVlOwogCQkJaWYgKG9iamVjdC0+dHlwZSAhPSBPQkpfQ09NTUlUKQotCQkJCWRpZSgiaW52YWxpZCBzaGFsbG93IG9iamVjdCAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCQlkaWUoImludmFsaWQgc2hhbGxvdyBvYmplY3QgJXMiLCBvaWRfdG9faGV4KCZvaWQpKTsKIAkJCWlmICghKG9iamVjdC0+ZmxhZ3MgJiBDTElFTlRfU0hBTExPVykpIHsKIAkJCQlvYmplY3QtPmZsYWdzIHw9IENMSUVOVF9TSEFMTE9XOwogCQkJCWFkZF9vYmplY3RfYXJyYXkob2JqZWN0LCBOVUxMLCAmc2hhbGxvd3MpOwpAQCAtNzc1LDcgKzc3Niw3IEBACiAJCX0KIAkJaWYgKHNraXBfcHJlZml4KGxpbmUsICJkZWVwZW4tc2luY2UgIiwgJmFyZykpIHsKIAkJCWNoYXIgKmVuZCA9IE5VTEw7Ci0JCQlkZWVwZW5fc2luY2UgPSBzdHJ0b3VsKGFyZywgJmVuZCwgMCk7CisJCQlkZWVwZW5fc2luY2UgPSBwYXJzZV90aW1lc3RhbXAoYXJnLCAmZW5kLCAwKTsKIAkJCWlmICghZW5kIHx8ICplbmQgfHwgIWRlZXBlbl9zaW5jZSB8fAogCQkJICAgIC8qIHJldmlzaW9ucy5jJ3MgbWF4X2FnZSAtMSBpcyBzcGVjaWFsICovCiAJCQkgICAgZGVlcGVuX3NpbmNlID09IC0xKQpAQCAtNzg1LDggKzc4Niw4IEBACiAJCX0KIAkJaWYgKHNraXBfcHJlZml4KGxpbmUsICJkZWVwZW4tbm90ICIsICZhcmcpKSB7CiAJCQljaGFyICpyZWYgPSBOVUxMOwotCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQkJCWlmIChleHBhbmRfcmVmKGFyZywgc3RybGVuKGFyZyksIHNoYTEsICZyZWYpICE9IDEpCisJCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJCWlmIChleHBhbmRfcmVmKGFyZywgc3RybGVuKGFyZyksIG9pZC5oYXNoLCAmcmVmKSAhPSAxKQogCQkJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBhbWJpZ3VvdXMgZGVlcGVuLW5vdDogJXMiLCBsaW5lKTsKIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmZGVlcGVuX25vdCwgcmVmKTsKIAkJCWZyZWUocmVmKTsKQEAgLTc5NCw3ICs3OTUsNyBAQAogCQkJY29udGludWU7CiAJCX0KIAkJaWYgKCFza2lwX3ByZWZpeChsaW5lLCAid2FudCAiLCAmYXJnKSB8fAotCQkgICAgZ2V0X3NoYTFfaGV4KGFyZywgc2hhMV9idWYpKQorCQkgICAgZ2V0X29pZF9oZXgoYXJnLCAmb2lkX2J1ZikpCiAJCQlkaWUoImdpdCB1cGxvYWQtcGFjazogcHJvdG9jb2wgZXJyb3IsICIKIAkJCSAgICAiZXhwZWN0ZWQgdG8gZ2V0IHNoYSwgbm90ICclcyciLCBsaW5lKTsKIApAQCAtODIxLDEzICs4MjIsMTMgQEAKIAkJaWYgKHBhcnNlX2ZlYXR1cmVfcmVxdWVzdChmZWF0dXJlcywgImluY2x1ZGUtdGFnIikpCiAJCQl1c2VfaW5jbHVkZV90YWcgPSAxOwogCi0JCW8gPSBwYXJzZV9vYmplY3Qoc2hhMV9idWYpOworCQlvID0gcGFyc2Vfb2JqZWN0KCZvaWRfYnVmKTsKIAkJaWYgKCFvKSB7CiAJCQlwYWNrZXRfd3JpdGVfZm10KDEsCiAJCQkJCSAiRVJSIHVwbG9hZC1wYWNrOiBub3Qgb3VyIHJlZiAlcyIsCi0JCQkJCSBzaGExX3RvX2hleChzaGExX2J1ZikpOworCQkJCQkgb2lkX3RvX2hleCgmb2lkX2J1ZikpOwogCQkJZGllKCJnaXQgdXBsb2FkLXBhY2s6IG5vdCBvdXIgcmVmICVzIiwKLQkJCSAgICBzaGExX3RvX2hleChzaGExX2J1ZikpOworCQkJICAgIG9pZF90b19oZXgoJm9pZF9idWYpKTsKIAkJfQogCQlpZiAoIShvLT5mbGFncyAmIFdBTlRFRCkpIHsKIAkJCW8tPmZsYWdzIHw9IFdBTlRFRDsKQEAgLTg2Myw3ICs4NjQsNyBAQAogCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXYsICJyZXYtbGlzdCIpOwogCQlpZiAoZGVlcGVuX3NpbmNlKQotCQkJYXJndl9hcnJheV9wdXNoZigmYXYsICItLW1heC1hZ2U9JWx1IiwgZGVlcGVuX3NpbmNlKTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaGYoJmF2LCAiLS1tYXgtYWdlPSUiUFJJdGltZSwgZGVlcGVuX3NpbmNlKTsKIAkJaWYgKGRlZXBlbl9ub3QubnIpIHsKIAkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXYsICItLW5vdCIpOwogCQkJZm9yIChpID0gMDsgaSA8IGRlZXBlbl9ub3QubnI7IGkrKykgewpAQCAtODgzLDExICs4ODQsMTEgQEAKIAkJaWYgKHNoYWxsb3dzLm5yID4gMCkgewogCQkJaW50IGk7CiAJCQlmb3IgKGkgPSAwOyBpIDwgc2hhbGxvd3MubnI7IGkrKykKLQkJCQlyZWdpc3Rlcl9zaGFsbG93KHNoYWxsb3dzLm9iamVjdHNbaV0uaXRlbS0+b2lkLmhhc2gpOworCQkJCXJlZ2lzdGVyX3NoYWxsb3coJnNoYWxsb3dzLm9iamVjdHNbaV0uaXRlbS0+b2lkKTsKIAkJfQogCiAJc2hhbGxvd19uciArPSBzaGFsbG93cy5ucjsKLQlmcmVlKHNoYWxsb3dzLm9iamVjdHMpOworCW9iamVjdF9hcnJheV9jbGVhcigmc2hhbGxvd3MpOwogfQogCiAvKiByZXR1cm4gbm9uLXplcm8gaWYgdGhlIHJlZiBpcyBoaWRkZW4sIG90aGVyd2lzZSAwICovCkBAIC05NjQsMTEgKzk2NSwxMCBAQAogewogCWNvbnN0IGNoYXIgKnN5bXJlZl90YXJnZXQ7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07Ci0Jc3RydWN0IG9iamVjdF9pZCB1bnVzZWQ7CiAKIAlpZiAoKGZsYWcgJiBSRUZfSVNTWU1SRUYpID09IDApCiAJCXJldHVybiAwOwotCXN5bXJlZl90YXJnZXQgPSByZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgMCwgdW51c2VkLmhhc2gsICZmbGFnKTsKKwlzeW1yZWZfdGFyZ2V0ID0gcmVzb2x2ZV9yZWZfdW5zYWZlKHJlZm5hbWUsIDAsIE5VTEwsICZmbGFnKTsKIAlpZiAoIXN5bXJlZl90YXJnZXQgfHwgKGZsYWcgJiBSRUZfSVNTWU1SRUYpID09IDApCiAJCWRpZSgiJyVzJyBpcyBhIHN5bXJlZiBidXQgaXQgaXMgbm90PyIsIHJlZm5hbWUpOwogCWl0ZW0gPSBzdHJpbmdfbGlzdF9hcHBlbmQoY2JfZGF0YSwgcmVmbmFtZSk7CmRpZmYgLS1naXQgYS91cmxtYXRjaC5jIGIvdXJsbWF0Y2guYwppbmRleCAxMzJkMzQyLi4zZTQyYmQ3IDEwMDY0NAotLS0gYS91cmxtYXRjaC5jCisrKyBiL3VybG1hdGNoLmMKQEAgLTQyLDEyICs0MiwxMiBAQAogCiAJCWZyb21fbGVuLS07CiAJCWlmIChjaCA9PSAnJScpIHsKLQkJCWlmIChmcm9tX2xlbiA8IDIgfHwKLQkJCSAgICAhaXN4ZGlnaXQoZnJvbVswXSkgfHwKLQkJCSAgICAhaXN4ZGlnaXQoZnJvbVsxXSkpCisJCQlpZiAoZnJvbV9sZW4gPCAyKQogCQkJCXJldHVybiAwOwotCQkJY2ggPSBoZXh2YWwoKmZyb20rKykgPDwgNDsKLQkJCWNoIHw9IGhleHZhbCgqZnJvbSsrKTsKKwkJCWNoID0gaGV4MmNocihmcm9tKTsKKwkJCWlmIChjaCA8IDApCisJCQkJcmV0dXJuIDA7CisJCQlmcm9tICs9IDI7CiAJCQlmcm9tX2xlbiAtPSAyOwogCQkJd2FzX2VzYyA9IDE7CiAJCX0KQEAgLTYzLDcgKzYzLDUwIEBACiAJcmV0dXJuIDE7CiB9CiAKLWNoYXIgKnVybF9ub3JtYWxpemUoY29uc3QgY2hhciAqdXJsLCBzdHJ1Y3QgdXJsX2luZm8gKm91dF9pbmZvKQorc3RhdGljIGNvbnN0IGNoYXIgKmVuZF9vZl90b2tlbihjb25zdCBjaGFyICpzLCBpbnQgYywgc2l6ZV90IG4pCit7CisJY29uc3QgY2hhciAqbmV4dCA9IG1lbWNocihzLCBjLCBuKTsKKwlpZiAoIW5leHQpCisJCW5leHQgPSBzICsgbjsKKwlyZXR1cm4gbmV4dDsKK30KKworc3RhdGljIGludCBtYXRjaF9ob3N0KGNvbnN0IHN0cnVjdCB1cmxfaW5mbyAqdXJsX2luZm8sCisJCSAgICAgIGNvbnN0IHN0cnVjdCB1cmxfaW5mbyAqcGF0dGVybl9pbmZvKQoreworCWNvbnN0IGNoYXIgKnVybCA9IHVybF9pbmZvLT51cmwgKyB1cmxfaW5mby0+aG9zdF9vZmY7CisJY29uc3QgY2hhciAqcGF0ID0gcGF0dGVybl9pbmZvLT51cmwgKyBwYXR0ZXJuX2luZm8tPmhvc3Rfb2ZmOworCWludCB1cmxfbGVuID0gdXJsX2luZm8tPmhvc3RfbGVuOworCWludCBwYXRfbGVuID0gcGF0dGVybl9pbmZvLT5ob3N0X2xlbjsKKworCXdoaWxlICh1cmxfbGVuICYmIHBhdF9sZW4pIHsKKwkJY29uc3QgY2hhciAqdXJsX25leHQgPSBlbmRfb2ZfdG9rZW4odXJsLCAnLicsIHVybF9sZW4pOworCQljb25zdCBjaGFyICpwYXRfbmV4dCA9IGVuZF9vZl90b2tlbihwYXQsICcuJywgcGF0X2xlbik7CisKKwkJaWYgKHBhdF9uZXh0ID09IHBhdCArIDEgJiYgcGF0WzBdID09ICcqJykKKwkJCS8qIHdpbGRjYXJkIG1hdGNoZXMgYW55dGhpbmcgKi8KKwkJCTsKKwkJZWxzZSBpZiAoKHBhdF9uZXh0IC0gcGF0KSA9PSAodXJsX25leHQgLSB1cmwpICYmCisJCQkgIW1lbWNtcCh1cmwsIHBhdCwgdXJsX25leHQgLSB1cmwpKQorCQkJLyogdGhlIGNvbXBvbmVudHMgYXJlIHRoZSBzYW1lICovCisJCQk7CisJCWVsc2UKKwkJCXJldHVybiAwOyAvKiBmb3VuZCBhbiB1bm1hdGNoICovCisKKwkJaWYgKHVybF9uZXh0IDwgdXJsICsgdXJsX2xlbikKKwkJCXVybF9uZXh0Kys7CisJCXVybF9sZW4gLT0gdXJsX25leHQgLSB1cmw7CisJCXVybCA9IHVybF9uZXh0OworCQlpZiAocGF0X25leHQgPCBwYXQgKyBwYXRfbGVuKQorCQkJcGF0X25leHQrKzsKKwkJcGF0X2xlbiAtPSBwYXRfbmV4dCAtIHBhdDsKKwkJcGF0ID0gcGF0X25leHQ7CisJfQorCisJcmV0dXJuICghdXJsX2xlbiAmJiAhcGF0X2xlbik7Cit9CisKK3N0YXRpYyBjaGFyICp1cmxfbm9ybWFsaXplXzEoY29uc3QgY2hhciAqdXJsLCBzdHJ1Y3QgdXJsX2luZm8gKm91dF9pbmZvLCBjaGFyIGFsbG93X2dsb2JzKQogewogCS8qCiAJICogTm9ybWFsaXplIE5VTC10ZXJtaW5hdGVkIHVybCB1c2luZyB0aGUgZm9sbG93aW5nIHJ1bGVzOgpAQCAtMTA0LDcgKzE0Nyw3IEBACiAJc3RydWN0IHN0cmJ1ZiBub3JtOwogCXNpemVfdCBzcGFubmVkOwogCXNpemVfdCBzY2hlbWVfbGVuLCB1c2VyX29mZj0wLCB1c2VyX2xlbj0wLCBwYXNzd2Rfb2ZmPTAsIHBhc3N3ZF9sZW49MDsKLQlzaXplX3QgaG9zdF9vZmY9MCwgaG9zdF9sZW49MCwgcG9ydF9sZW49MCwgcGF0aF9vZmYsIHBhdGhfbGVuLCByZXN1bHRfbGVuOworCXNpemVfdCBob3N0X29mZj0wLCBob3N0X2xlbj0wLCBwb3J0X29mZj0wLCBwb3J0X2xlbj0wLCBwYXRoX29mZiwgcGF0aF9sZW4sIHJlc3VsdF9sZW47CiAJY29uc3QgY2hhciAqc2xhc2hfcHRyLCAqYXRfcHRyLCAqY29sb25fcHRyLCAqcGF0aF9zdGFydDsKIAljaGFyICpyZXN1bHQ7CiAKQEAgLTE5MSw3ICsyMzQsMTIgQEAKIAkJc3RyYnVmX3JlbGVhc2UoJm5vcm0pOwogCQlyZXR1cm4gTlVMTDsKIAl9Ci0Jc3Bhbm5lZCA9IHN0cnNwbih1cmwsIFVSTF9IT1NUX0NIQVJTKTsKKworCWlmIChhbGxvd19nbG9icykKKwkJc3Bhbm5lZCA9IHN0cnNwbih1cmwsIFVSTF9IT1NUX0NIQVJTICIqIik7CisJZWxzZQorCQlzcGFubmVkID0gc3Ryc3BuKHVybCwgVVJMX0hPU1RfQ0hBUlMpOworCiAJaWYgKHNwYW5uZWQgPCBjb2xvbl9wdHIgLSB1cmwpIHsKIAkJLyogSG9zdCBuYW1lIGhhcyBpbnZhbGlkIGNoYXJhY3RlcnMgKi8KIAkJaWYgKG91dF9pbmZvKSB7CkBAIC0yNTgsNiArMzA2LDcgQEAKIAkJCQlyZXR1cm4gTlVMTDsKIAkJCX0KIAkJCXN0cmJ1Zl9hZGRjaCgmbm9ybSwgJzonKTsKKwkJCXBvcnRfb2ZmID0gbm9ybS5sZW47CiAJCQlzdHJidWZfYWRkKCZub3JtLCB1cmwsIHNsYXNoX3B0ciAtIHVybCk7CiAJCQlwb3J0X2xlbiA9IHNsYXNoX3B0ciAtIHVybDsKIAkJfQpAQCAtMjY1LDcgKzMxNCw3IEBACiAJCXVybCA9IHNsYXNoX3B0cjsKIAl9CiAJaWYgKGhvc3Rfb2ZmKQotCQlob3N0X2xlbiA9IG5vcm0ubGVuIC0gaG9zdF9vZmY7CisJCWhvc3RfbGVuID0gbm9ybS5sZW4gLSBob3N0X29mZiAtIChwb3J0X2xlbiA/IHBvcnRfbGVuICsgMSA6IDApOwogCiAKIAkvKgpAQCAtMzczLDYgKzQyMiw3IEBACiAJCW91dF9pbmZvLT5wYXNzd2RfbGVuID0gcGFzc3dkX2xlbjsKIAkJb3V0X2luZm8tPmhvc3Rfb2ZmID0gaG9zdF9vZmY7CiAJCW91dF9pbmZvLT5ob3N0X2xlbiA9IGhvc3RfbGVuOworCQlvdXRfaW5mby0+cG9ydF9vZmYgPSBwb3J0X29mZjsKIAkJb3V0X2luZm8tPnBvcnRfbGVuID0gcG9ydF9sZW47CiAJCW91dF9pbmZvLT5wYXRoX29mZiA9IHBhdGhfb2ZmOwogCQlvdXRfaW5mby0+cGF0aF9sZW4gPSBwYXRoX2xlbjsKQEAgLTM4MCw2ICs0MzAsMTEgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCitjaGFyICp1cmxfbm9ybWFsaXplKGNvbnN0IGNoYXIgKnVybCwgc3RydWN0IHVybF9pbmZvICpvdXRfaW5mbykKK3sKKwlyZXR1cm4gdXJsX25vcm1hbGl6ZV8xKHVybCwgb3V0X2luZm8sIDApOworfQorCiBzdGF0aWMgc2l6ZV90IHVybF9tYXRjaF9wcmVmaXgoY29uc3QgY2hhciAqdXJsLAogCQkJICAgICAgIGNvbnN0IGNoYXIgKnVybF9wcmVmaXgsCiAJCQkgICAgICAgc2l6ZV90IHVybF9wcmVmaXhfbGVuKQpAQCAtNDE0LDcgKzQ2OSw3IEBACiAKIHN0YXRpYyBpbnQgbWF0Y2hfdXJscyhjb25zdCBzdHJ1Y3QgdXJsX2luZm8gKnVybCwKIAkJICAgICAgY29uc3Qgc3RydWN0IHVybF9pbmZvICp1cmxfcHJlZml4LAotCQkgICAgICBpbnQgKmV4YWN0dXNlcm1hdGNoKQorCQkgICAgICBzdHJ1Y3QgdXJsbWF0Y2hfaXRlbSAqbWF0Y2gpCiB7CiAJLyoKIAkgKiB1cmxfcHJlZml4IG1hdGNoZXMgdXJsIGlmIHRoZSBzY2hlbWUsIGhvc3QgYW5kIHBvcnQgb2YgdXJsX3ByZWZpeApAQCAtNDMzLDggKzQ4OCw4IEBACiAJICogY29udGFpbmVkIGEgdXNlciBuYW1lIG9yIGZhbHNlIGlmIHVybF9wcmVmaXggZGlkIG5vdCBoYXZlIGEKIAkgKiB1c2VyIG5hbWUuICBJZiB0aGVyZSBpcyBubyBtYXRjaCAqZXhhY3R1c2VybWF0Y2ggaXMgbGVmdCB1bnRvdWNoZWQuCiAJICovCi0JaW50IHVzZXJtYXRjaGVkID0gMDsKLQlpbnQgcGF0aG1hdGNobGVuOworCWNoYXIgdXNlcm1hdGNoZWQgPSAwOworCXNpemVfdCBwYXRobWF0Y2hsZW47CiAKIAlpZiAoIXVybCB8fCAhdXJsX3ByZWZpeCB8fCAhdXJsLT51cmwgfHwgIXVybF9wcmVmaXgtPnVybCkKIAkJcmV0dXJuIDA7CkBAIC00NTQsMzMgKzUwOSw1MyBAQAogCQl1c2VybWF0Y2hlZCA9IDE7CiAJfQogCi0JLyogY2hlY2sgdGhlIGhvc3QgYW5kIHBvcnQgKi8KLQlpZiAodXJsX3ByZWZpeC0+aG9zdF9sZW4gIT0gdXJsLT5ob3N0X2xlbiB8fAotCSAgICBzdHJuY21wKHVybC0+dXJsICsgdXJsLT5ob3N0X29mZiwKLQkJICAgIHVybF9wcmVmaXgtPnVybCArIHVybF9wcmVmaXgtPmhvc3Rfb2ZmLCB1cmwtPmhvc3RfbGVuKSkKLQkJcmV0dXJuIDA7IC8qIGhvc3QgbmFtZXMgYW5kL29yIHBvcnRzIGRvIG5vdCBtYXRjaCAqLworCS8qIGNoZWNrIHRoZSBob3N0ICovCisJaWYgKCFtYXRjaF9ob3N0KHVybCwgdXJsX3ByZWZpeCkpCisJCXJldHVybiAwOyAvKiBob3N0IG5hbWVzIGRvIG5vdCBtYXRjaCAqLworCisJLyogY2hlY2sgdGhlIHBvcnQgKi8KKwlpZiAodXJsX3ByZWZpeC0+cG9ydF9sZW4gIT0gdXJsLT5wb3J0X2xlbiB8fAorCSAgICBzdHJuY21wKHVybC0+dXJsICsgdXJsLT5wb3J0X29mZiwKKwkJICAgIHVybF9wcmVmaXgtPnVybCArIHVybF9wcmVmaXgtPnBvcnRfb2ZmLCB1cmwtPnBvcnRfbGVuKSkKKwkJcmV0dXJuIDA7IC8qIHBvcnRzIGRvIG5vdCBtYXRjaCAqLwogCiAJLyogY2hlY2sgdGhlIHBhdGggKi8KIAlwYXRobWF0Y2hsZW4gPSB1cmxfbWF0Y2hfcHJlZml4KAogCQl1cmwtPnVybCArIHVybC0+cGF0aF9vZmYsCiAJCXVybF9wcmVmaXgtPnVybCArIHVybF9wcmVmaXgtPnBhdGhfb2ZmLAogCQl1cmxfcHJlZml4LT51cmxfbGVuIC0gdXJsX3ByZWZpeC0+cGF0aF9vZmYpOworCWlmICghcGF0aG1hdGNobGVuKQorCQlyZXR1cm4gMDsgLyogcGF0aHMgZG8gbm90IG1hdGNoICovCiAKLQlpZiAocGF0aG1hdGNobGVuICYmIGV4YWN0dXNlcm1hdGNoKQotCQkqZXhhY3R1c2VybWF0Y2ggPSB1c2VybWF0Y2hlZDsKLQlyZXR1cm4gcGF0aG1hdGNobGVuOworCWlmIChtYXRjaCkgeworCQltYXRjaC0+aG9zdG1hdGNoX2xlbiA9IHVybF9wcmVmaXgtPmhvc3RfbGVuOworCQltYXRjaC0+cGF0aG1hdGNoX2xlbiA9IHBhdGhtYXRjaGxlbjsKKwkJbWF0Y2gtPnVzZXJfbWF0Y2hlZCA9IHVzZXJtYXRjaGVkOworCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGNtcF9tYXRjaGVzKGNvbnN0IHN0cnVjdCB1cmxtYXRjaF9pdGVtICphLAorCQkgICAgICAgY29uc3Qgc3RydWN0IHVybG1hdGNoX2l0ZW0gKmIpCit7CisJaWYgKGEtPmhvc3RtYXRjaF9sZW4gIT0gYi0+aG9zdG1hdGNoX2xlbikKKwkJcmV0dXJuIGEtPmhvc3RtYXRjaF9sZW4gPCBiLT5ob3N0bWF0Y2hfbGVuID8gLTEgOiAxOworCWlmIChhLT5wYXRobWF0Y2hfbGVuICE9IGItPnBhdGhtYXRjaF9sZW4pCisJCXJldHVybiBhLT5wYXRobWF0Y2hfbGVuIDwgYi0+cGF0aG1hdGNoX2xlbiA/IC0xIDogMTsKKwlpZiAoYS0+dXNlcl9tYXRjaGVkICE9IGItPnVzZXJfbWF0Y2hlZCkKKwkJcmV0dXJuIGItPnVzZXJfbWF0Y2hlZCA/IC0xIDogMTsKKwlyZXR1cm4gMDsKIH0KIAogaW50IHVybG1hdGNoX2NvbmZpZ19lbnRyeShjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAlzdHJ1Y3QgdXJsbWF0Y2hfY29uZmlnICpjb2xsZWN0ID0gY2I7Ci0Jc3RydWN0IHVybG1hdGNoX2l0ZW0gKm1hdGNoZWQ7CisJc3RydWN0IHVybG1hdGNoX2l0ZW0gbWF0Y2hlZCA9IHswfTsKIAlzdHJ1Y3QgdXJsX2luZm8gKnVybCA9ICZjb2xsZWN0LT51cmw7CiAJY29uc3QgY2hhciAqa2V5LCAqZG90OwogCXN0cnVjdCBzdHJidWYgc3ludGhrZXkgPSBTVFJCVUZfSU5JVDsKLQlzaXplX3QgbWF0Y2hlZF9sZW4gPSAwOwotCWludCB1c2VyX21hdGNoZWQgPSAwOwogCWludCByZXR2YWw7CiAKIAlpZiAoIXNraXBfcHJlZml4KHZhciwgY29sbGVjdC0+c2VjdGlvbiwgJmtleSkgfHwgKihrZXkrKykgIT0gJy4nKSB7CkBAIC00OTQsMTMgKzU2OSwxMyBAQAogCQlzdHJ1Y3QgdXJsX2luZm8gbm9ybV9pbmZvOwogCiAJCWNvbmZpZ191cmwgPSB4bWVtZHVweihrZXksIGRvdCAtIGtleSk7Ci0JCW5vcm1fdXJsID0gdXJsX25vcm1hbGl6ZShjb25maWdfdXJsLCAmbm9ybV9pbmZvKTsKKwkJbm9ybV91cmwgPSB1cmxfbm9ybWFsaXplXzEoY29uZmlnX3VybCwgJm5vcm1faW5mbywgMSk7CiAJCWZyZWUoY29uZmlnX3VybCk7CiAJCWlmICghbm9ybV91cmwpCiAJCQlyZXR1cm4gMDsKLQkJbWF0Y2hlZF9sZW4gPSBtYXRjaF91cmxzKHVybCwgJm5vcm1faW5mbywgJnVzZXJfbWF0Y2hlZCk7CisJCXJldHZhbCA9IG1hdGNoX3VybHModXJsLCAmbm9ybV9pbmZvLCAmbWF0Y2hlZCk7CiAJCWZyZWUobm9ybV91cmwpOwotCQlpZiAoIW1hdGNoZWRfbGVuKQorCQlpZiAoIXJldHZhbCkKIAkJCXJldHVybiAwOwogCQlrZXkgPSBkb3QgKyAxOwogCX0KQEAgLTUxMCwyNCArNTg1LDE4IEBACiAKIAlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KCZjb2xsZWN0LT52YXJzLCBrZXkpOwogCWlmICghaXRlbS0+dXRpbCkgewotCQltYXRjaGVkID0geGNhbGxvYygxLCBzaXplb2YoKm1hdGNoZWQpKTsKLQkJaXRlbS0+dXRpbCA9IG1hdGNoZWQ7CisJCWl0ZW0tPnV0aWwgPSB4Y2FsbG9jKDEsIHNpemVvZihtYXRjaGVkKSk7CiAJfSBlbHNlIHsKLQkJbWF0Y2hlZCA9IGl0ZW0tPnV0aWw7Ci0JCS8qCi0JCSAqIElzIG91ciBtYXRjaCBzaG9ydGVyPyAgSXMgb3VyIG1hdGNoIHRoZSBzYW1lCi0JCSAqIGxlbmd0aCwgYW5kIHdpdGhvdXQgdXNlciB3aGlsZSB0aGUgY3VycmVudAotCQkgKiBjYW5kaWRhdGUgaXMgd2l0aCB1c2VyPyAgVGhlbiB3ZSBjYW5ub3QgdXNlIGl0LgotCQkgKi8KLQkJaWYgKG1hdGNoZWRfbGVuIDwgbWF0Y2hlZC0+bWF0Y2hlZF9sZW4gfHwKLQkJICAgICgobWF0Y2hlZF9sZW4gPT0gbWF0Y2hlZC0+bWF0Y2hlZF9sZW4pICYmCi0JCSAgICAgKCF1c2VyX21hdGNoZWQgJiYgbWF0Y2hlZC0+dXNlcl9tYXRjaGVkKSkpCisJCWlmIChjbXBfbWF0Y2hlcygmbWF0Y2hlZCwgaXRlbS0+dXRpbCkgPCAwKQorCQkJIC8qCisJCQkgICogT3VyIG1hdGNoIGlzIHdvcnNlIHRoYW4gdGhlIG9sZCBvbmUsCisJCQkgICogd2UgY2Fubm90IHVzZSBpdC4KKwkJCSAgKi8KIAkJCXJldHVybiAwOwogCQkvKiBPdGhlcndpc2UsIHJlcGxhY2UgaXQgd2l0aCB0aGlzIG9uZS4gKi8KIAl9CiAKLQltYXRjaGVkLT5tYXRjaGVkX2xlbiA9IG1hdGNoZWRfbGVuOwotCW1hdGNoZWQtPnVzZXJfbWF0Y2hlZCA9IHVzZXJfbWF0Y2hlZDsKKwltZW1jcHkoaXRlbS0+dXRpbCwgJm1hdGNoZWQsIHNpemVvZihtYXRjaGVkKSk7CiAJc3RyYnVmX2FkZHN0cigmc3ludGhrZXksIGNvbGxlY3QtPnNlY3Rpb24pOwogCXN0cmJ1Zl9hZGRjaCgmc3ludGhrZXksICcuJyk7CiAJc3RyYnVmX2FkZHN0cigmc3ludGhrZXksIGtleSk7CmRpZmYgLS1naXQgYS91cmxtYXRjaC5oIGIvdXJsbWF0Y2guaAppbmRleCA1Mjg4NjJhLi4zN2VlNWRhIDEwMDY0NAotLS0gYS91cmxtYXRjaC5oCisrKyBiL3VybG1hdGNoLmgKQEAgLTE4LDExICsxOCwxMiBAQAogCXNpemVfdCBwYXNzd2RfbGVuOwkvKiBsZW5ndGggb2YgcGFzc3dkOyBpZiBwYXNzd2Rfb2ZmICE9IDAgYnV0CiAJCQkJICAgcGFzc3dkX2xlbiA9PSAwLCBhbiBlbXB0eSBwYXNzd2Qgd2FzIGdpdmVuICovCiAJc2l6ZV90IGhvc3Rfb2ZmOwkvKiBvZmZzZXQgaW50byB1cmwgdG8gc3RhcnQgb2YgaG9zdCBuYW1lICgwID0+IG5vbmUpICovCi0Jc2l6ZV90IGhvc3RfbGVuOwkvKiBsZW5ndGggb2YgaG9zdCBuYW1lOyB0aGlzIElOQ0xVREVTIGFueSAnOnBvcnRudW0nOworCXNpemVfdCBob3N0X2xlbjsJLyogbGVuZ3RoIG9mIGhvc3QgbmFtZTsKIAkJCQkgKiBmaWxlIHVybHMgbWF5IGhhdmUgaG9zdF9sZW4gPT0gMCAqLwotCXNpemVfdCBwb3J0X2xlbjsJLyogaWYgYSBwb3J0bnVtIGlzIHByZXNlbnQgKHBvcnRfbGVuICE9IDApLCBpdCBoYXMKLQkJCQkgKiB0aGlzIGxlbmd0aCAoZXhjbHVkaW5nIHRoZSBsZWFkaW5nICc6JykgYXQgdGhlCi0JCQkJICogZW5kIG9mIHRoZSBob3N0IG5hbWUgKGFsd2F5cyAwIGZvciBmaWxlIHVybHMpICovCisJc2l6ZV90IHBvcnRfb2ZmOwkvKiBvZmZzZXQgaW50byB1cmwgdG8gc3RhcnQgb2YgcG9ydCBudW1iZXIgKDAgPT4gbm9uZSkgKi8KKwlzaXplX3QgcG9ydF9sZW47CS8qIGlmIGEgcG9ydG51bSBpcyBwcmVzZW50IChwb3J0X29mZiAhPSAwKSwgaXQgaGFzCisJCQkJICogdGhpcyBsZW5ndGggKGV4Y2x1ZGluZyB0aGUgbGVhZGluZyAnOicpIHN0YXJ0aW5nCisJCQkJICogZnJvbSBwb3J0X29mZiAoYWx3YXlzIDAgZm9yIGZpbGUgdXJscykgKi8KIAlzaXplX3QgcGF0aF9vZmY7CS8qIG9mZnNldCBpbnRvIHVybCB0byB0aGUgc3RhcnQgb2YgdGhlIHVybCBwYXRoOwogCQkJCSAqIHRoaXMgd2lsbCBhbHdheXMgcG9pbnQgdG8gYSAnLycgY2hhcmFjdGVyCiAJCQkJICogYWZ0ZXIgdGhlIHVybCBoYXMgYmVlbiBub3JtYWxpemVkICovCkBAIC0zMyw3ICszNCw4IEBACiBleHRlcm4gY2hhciAqdXJsX25vcm1hbGl6ZShjb25zdCBjaGFyICosIHN0cnVjdCB1cmxfaW5mbyAqKTsKIAogc3RydWN0IHVybG1hdGNoX2l0ZW0gewotCXNpemVfdCBtYXRjaGVkX2xlbjsKKwlzaXplX3QgaG9zdG1hdGNoX2xlbjsKKwlzaXplX3QgcGF0aG1hdGNoX2xlbjsKIAljaGFyIHVzZXJfbWF0Y2hlZDsKIH07CiAKZGlmZiAtLWdpdCBhL3VzYWdlLmMgYi91c2FnZS5jCmluZGV4IGFkNmQyOTEuLmNkZDUzNGMgMTAwNjQ0Ci0tLSBhL3VzYWdlLmMKKysrIGIvdXNhZ2UuYwpAQCAtNiwxMiArNiw5IEBACiAjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKIAotc3RhdGljIEZJTEUgKmVycm9yX2hhbmRsZTsKLQogdm9pZCB2cmVwb3J0Zihjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKmVyciwgdmFfbGlzdCBwYXJhbXMpCiB7CiAJY2hhciBtc2dbNDA5Nl07Ci0JRklMRSAqZmggPSBlcnJvcl9oYW5kbGUgPyBlcnJvcl9oYW5kbGUgOiBzdGRlcnI7CiAJY2hhciAqcDsKIAogCXZzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCBlcnIsIHBhcmFtcyk7CkBAIC0xOSw3ICsxNiw3IEBACiAJCWlmIChpc2NudHJsKCpwKSAmJiAqcCAhPSAnXHQnICYmICpwICE9ICdcbicpCiAJCQkqcCA9ICc/JzsKIAl9Ci0JZnByaW50ZihmaCwgIiVzJXNcbiIsIHByZWZpeCwgbXNnKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiVzJXNcbiIsIHByZWZpeCwgbXNnKTsKIH0KIAogc3RhdGljIE5PUkVUVVJOIHZvaWQgdXNhZ2VfYnVpbHRpbihjb25zdCBjaGFyICplcnIsIHZhX2xpc3QgcGFyYW1zKQpAQCAtNDcsNyArNDQsMjMgQEAKIHN0YXRpYyBpbnQgZGllX2lzX3JlY3Vyc2luZ19idWlsdGluKHZvaWQpCiB7CiAJc3RhdGljIGludCBkeWluZzsKLQlyZXR1cm4gZHlpbmcrKzsKKwkvKgorCSAqIEp1c3QgYW4gYXJiaXRyYXJ5IG51bWJlciBYIHdoZXJlICJhIDwgeCA8IGIiIHdoZXJlICJhIiBpcworCSAqICJtYXhpbXVtIG51bWJlciBvZiBwdGhyZWFkcyB3ZSdsbCBldmVyIHBsYXVzaWJseSBzcGF3biIgYW5kCisJICogImIiIGlzICJzb21ldGhpbmcgbGVzcyB0aGFuIEluZiIsIHNpbmNlIHRoZSBwb2ludCBpcyB0bworCSAqIHByZXZlbnQgaW5maW5pdGUgcmVjdXJzaW9uLgorCSAqLworCXN0YXRpYyBjb25zdCBpbnQgcmVjdXJzaW9uX2xpbWl0ID0gMTAyNDsKKworCWR5aW5nKys7CisJaWYgKGR5aW5nID4gcmVjdXJzaW9uX2xpbWl0KSB7CisJCXJldHVybiAxOworCX0gZWxzZSBpZiAoZHlpbmcgPT0gMikgeworCQl3YXJuaW5nKCJkaWUoKSBjYWxsZWQgbWFueSB0aW1lcy4gUmVjdXJzaW9uIGVycm9yIG9yIHJhY3kgdGhyZWFkZWQgZGVhdGghIik7CisJCXJldHVybiAwOworCX0gZWxzZSB7CisJCXJldHVybiAwOworCX0KIH0KIAogLyogSWYgd2UgYXJlIGluIGEgZGxvcGVuKCllZCAuc28gd3JpdGUgdG8gYSBnbG9iYWwgdmFyaWFibGUgd291bGQgc2VnZmF1bHQKQEAgLTg4LDExICsxMDEsNiBAQAogCWRpZV9pc19yZWN1cnNpbmcgPSByb3V0aW5lOwogfQogCi12b2lkIHNldF9lcnJvcl9oYW5kbGUoRklMRSAqZmgpCi17Ci0JZXJyb3JfaGFuZGxlID0gZmg7Ci19Ci0KIHZvaWQgTk9SRVRVUk4gdXNhZ2VmKGNvbnN0IGNoYXIgKmVyciwgLi4uKQogewogCXZhX2xpc3QgcGFyYW1zOwpAQCAtMjAxLDMgKzIwOSw1MCBAQAogCXdhcm5fcm91dGluZSh3YXJuLCBwYXJhbXMpOwogCXZhX2VuZChwYXJhbXMpOwogfQorCitzdGF0aWMgTk9SRVRVUk4gdm9pZCBCVUdfdmZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgcGFyYW1zKQoreworCWNoYXIgcHJlZml4WzI1Nl07CisKKwkvKiB0cnVuY2F0aW9uIHZpYSBzbnByaW50ZiBpcyBPSyBoZXJlICovCisJaWYgKGZpbGUpCisJCXNucHJpbnRmKHByZWZpeCwgc2l6ZW9mKHByZWZpeCksICJCVUc6ICVzOiVkOiAiLCBmaWxlLCBsaW5lKTsKKwllbHNlCisJCXNucHJpbnRmKHByZWZpeCwgc2l6ZW9mKHByZWZpeCksICJCVUc6ICIpOworCisJdnJlcG9ydGYocHJlZml4LCBmbXQsIHBhcmFtcyk7CisJYWJvcnQoKTsKK30KKworI2lmZGVmIEhBVkVfVkFSSUFESUNfTUFDUk9TCitOT1JFVFVSTiB2b2lkIEJVR19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlCVUdfdmZsKGZpbGUsIGxpbmUsIGZtdCwgYXApOworCXZhX2VuZChhcCk7Cit9CisjZWxzZQorTk9SRVRVUk4gdm9pZCBCVUcoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlCVUdfdmZsKE5VTEwsIDAsIGZtdCwgYXApOworCXZhX2VuZChhcCk7Cit9CisjZW5kaWYKKworI2lmZGVmIFNVUFBSRVNTX0FOTk9UQVRFRF9MRUFLUwordm9pZCB1bmxlYWtfbWVtb3J5KGNvbnN0IHZvaWQgKnB0ciwgc2l6ZV90IGxlbikKK3sKKwlzdGF0aWMgc3RydWN0IHN1cHByZXNzZWRfbGVha19yb290IHsKKwkJc3RydWN0IHN1cHByZXNzZWRfbGVha19yb290ICpuZXh0OworCQljaGFyIGRhdGFbRkxFWF9BUlJBWV07CisJfSAqc3VwcHJlc3NlZF9sZWFrczsKKwlzdHJ1Y3Qgc3VwcHJlc3NlZF9sZWFrX3Jvb3QgKnJvb3Q7CisKKwlGTEVYX0FMTE9DX01FTShyb290LCBkYXRhLCBwdHIsIGxlbik7CisJcm9vdC0+bmV4dCA9IHN1cHByZXNzZWRfbGVha3M7CisJc3VwcHJlc3NlZF9sZWFrcyA9IHJvb3Q7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL3VzZXJkaWZmLmMgYi91c2VyZGlmZi5jCmluZGV4IDIxMjVkNmQuLmRiZmI0ZTEgMTAwNjQ0Ci0tLSBhL3VzZXJkaWZmLmMKKysrIGIvdXNlcmRpZmYuYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInVzZXJkaWZmLmgiCiAjaW5jbHVkZSAiYXR0ci5oIgogCkBAIC0zNyw3ICszOCw3IEBACiAJICJ8Ly98XFwqXFwqfDo6fFsvPD49XT0iKSwKIElQQVRURVJOKCJmb3VudGFpbiIsICJeKChcXC5bXi5dfChpbnR8ZXh0fGVzdHxpbnRcXC4/L2V4dHxpL2UpWy4gXSkuKikkIiwKIAkgIlteIFx0LV0rIiksCi1QQVRURVJOUygiaHRtbCIsICJeWyBcdF0qKDxbSGhdWzEtNl1bIFx0XS4qPi4qKSQiLAorUEFUVEVSTlMoImh0bWwiLCAiXlsgXHRdKig8W0hoXVsxLTZdKFsgXHRdLiopPz4uKikkIiwKIAkgIltePD49IFx0XSsiKSwKIFBBVFRFUk5TKCJqYXZhIiwKIAkgIiFeWyBcdF0qKGNhdGNofGRvfGZvcnxpZnxpbnN0YW5jZW9mfG5ld3xyZXR1cm58c3dpdGNofHRocm93fHdoaWxlKVxuIgpAQCAtMjYyLDI1ICsyNjMsMjIgQEAKIAogc3RydWN0IHVzZXJkaWZmX2RyaXZlciAqdXNlcmRpZmZfZmluZF9ieV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0Jc3RhdGljIHN0cnVjdCBnaXRfYXR0ciAqYXR0cjsKLQlzdHJ1Y3QgZ2l0X2F0dHJfY2hlY2sgY2hlY2s7CisJc3RhdGljIHN0cnVjdCBhdHRyX2NoZWNrICpjaGVjazsKIAotCWlmICghYXR0cikKLQkJYXR0ciA9IGdpdF9hdHRyKCJkaWZmIik7Ci0JY2hlY2suYXR0ciA9IGF0dHI7Ci0KKwlpZiAoIWNoZWNrKQorCQljaGVjayA9IGF0dHJfY2hlY2tfaW5pdGwoImRpZmYiLCBOVUxMKTsKIAlpZiAoIXBhdGgpCiAJCXJldHVybiBOVUxMOwotCWlmIChnaXRfY2hlY2tfYXR0cihwYXRoLCAxLCAmY2hlY2spKQorCWlmIChnaXRfY2hlY2tfYXR0cihwYXRoLCBjaGVjaykpCiAJCXJldHVybiBOVUxMOwogCi0JaWYgKEFUVFJfVFJVRShjaGVjay52YWx1ZSkpCisJaWYgKEFUVFJfVFJVRShjaGVjay0+aXRlbXNbMF0udmFsdWUpKQogCQlyZXR1cm4gJmRyaXZlcl90cnVlOwotCWlmIChBVFRSX0ZBTFNFKGNoZWNrLnZhbHVlKSkKKwlpZiAoQVRUUl9GQUxTRShjaGVjay0+aXRlbXNbMF0udmFsdWUpKQogCQlyZXR1cm4gJmRyaXZlcl9mYWxzZTsKLQlpZiAoQVRUUl9VTlNFVChjaGVjay52YWx1ZSkpCisJaWYgKEFUVFJfVU5TRVQoY2hlY2stPml0ZW1zWzBdLnZhbHVlKSkKIAkJcmV0dXJuIE5VTEw7Ci0JcmV0dXJuIHVzZXJkaWZmX2ZpbmRfYnlfbmFtZShjaGVjay52YWx1ZSk7CisJcmV0dXJuIHVzZXJkaWZmX2ZpbmRfYnlfbmFtZShjaGVjay0+aXRlbXNbMF0udmFsdWUpOwogfQogCiBzdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyICp1c2VyZGlmZl9nZXRfdGV4dGNvbnYoc3RydWN0IHVzZXJkaWZmX2RyaXZlciAqZHJpdmVyKQpAQCAtMjk1LDYgKzI5Myw3IEBACiAJCXN0cmJ1Zl9hZGRmKCZuYW1lLCAidGV4dGNvbnYvJXMiLCBkcml2ZXItPm5hbWUpOwogCQlub3Rlc19jYWNoZV9pbml0KGMsIG5hbWUuYnVmLCBkcml2ZXItPnRleHRjb252KTsKIAkJZHJpdmVyLT50ZXh0Y29udl9jYWNoZSA9IGM7CisJCXN0cmJ1Zl9yZWxlYXNlKCZuYW1lKTsKIAl9CiAKIAlyZXR1cm4gZHJpdmVyOwpkaWZmIC0tZ2l0IGEvdXRmOC5jIGIvdXRmOC5jCmluZGV4IDBjOGUwMTEuLjQ3YTQyMDQgMTAwNjQ0Ci0tLSBhL3V0ZjguYworKysgYi91dGY4LmMKQEAgLTM4MSw3ICszODEsNyBAQAogCQlvbGQgPSBzcmM7CiAJCW4gPSB1dGY4X3dpZHRoKChjb25zdCBjaGFyKiopJnNyYywgTlVMTCk7CiAJCWlmICghc3JjKSAJLyogYnJva2VuIHV0Zi04LCBkbyBub3RoaW5nICovCi0JCQlyZXR1cm47CisJCQlnb3RvIG91dDsKIAkJaWYgKG4gJiYgdyA+PSBwb3MgJiYgdyA8IHBvcyArIHdpZHRoKSB7CiAJCQlpZiAoc3Vic3QpIHsKIAkJCQltZW1jcHkoZHN0LCBzdWJzdCwgc3Vic3RfbGVuKTsKQEAgLTM5Nyw2ICszOTcsNyBAQAogCX0KIAlzdHJidWZfc2V0bGVuKCZzYl9kc3QsIGRzdCAtIHNiX2RzdC5idWYpOwogCXN0cmJ1Zl9zd2FwKHNiX3NyYywgJnNiX2RzdCk7CitvdXQ6CiAJc3RyYnVmX3JlbGVhc2UoJnNiX2RzdCk7CiB9CiAKZGlmZiAtLWdpdCBhL3Zjcy1zdm4vZmFzdF9leHBvcnQuYyBiL3Zjcy1zdm4vZmFzdF9leHBvcnQuYwppbmRleCA5N2NiYTM5Li4zZmQwNDdhIDEwMDY0NAotLS0gYS92Y3Mtc3ZuL2Zhc3RfZXhwb3J0LmMKKysrIGIvdmNzLXN2bi9mYXN0X2V4cG9ydC5jCkBAIC02LDcgKzYsNiBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJmYXN0X2V4cG9ydC5oIgotI2luY2x1ZGUgInJlcG9fdHJlZS5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgogI2luY2x1ZGUgInN2bmRpZmYuaCIKICNpbmNsdWRlICJzbGlkaW5nX3dpbmRvdy5oIgpAQCAtNjgsMTIgKzY3LDEyIEBACiB9CiAKIHZvaWQgZmFzdF9leHBvcnRfYmVnaW5fbm90ZSh1aW50MzJfdCByZXZpc2lvbiwgY29uc3QgY2hhciAqYXV0aG9yLAotCQljb25zdCBjaGFyICpsb2csIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wLCBjb25zdCBjaGFyICpub3RlX3JlZikKKwkJY29uc3QgY2hhciAqbG9nLCB0aW1lc3RhbXBfdCB0aW1lc3RhbXAsIGNvbnN0IGNoYXIgKm5vdGVfcmVmKQogewogCXN0YXRpYyBpbnQgZmlyc3Rub3RlID0gMTsKIAlzaXplX3QgbG9nbGVuID0gc3RybGVuKGxvZyk7CiAJcHJpbnRmKCJjb21taXQgJXNcbiIsIG5vdGVfcmVmKTsKLQlwcmludGYoImNvbW1pdHRlciAlcyA8JXNAJXM+ICVsdSArMDAwMFxuIiwgYXV0aG9yLCBhdXRob3IsICJsb2NhbCIsIHRpbWVzdGFtcCk7CisJcHJpbnRmKCJjb21taXR0ZXIgJXMgPCVzQCVzPiAlIlBSSXRpbWUiICswMDAwXG4iLCBhdXRob3IsIGF1dGhvciwgImxvY2FsIiwgdGltZXN0YW1wKTsKIAlwcmludGYoImRhdGEgJSJQUkl1TUFYIlxuIiwgKHVpbnRtYXhfdClsb2dsZW4pOwogCWZ3cml0ZShsb2csIGxvZ2xlbiwgMSwgc3Rkb3V0KTsKIAlpZiAoZmlyc3Rub3RlKSB7CkBAIC05Myw3ICs5Miw3IEBACiB2b2lkIGZhc3RfZXhwb3J0X2JlZ2luX2NvbW1pdCh1aW50MzJfdCByZXZpc2lvbiwgY29uc3QgY2hhciAqYXV0aG9yLAogCQkJY29uc3Qgc3RydWN0IHN0cmJ1ZiAqbG9nLAogCQkJY29uc3QgY2hhciAqdXVpZCwgY29uc3QgY2hhciAqdXJsLAotCQkJdW5zaWduZWQgbG9uZyB0aW1lc3RhbXAsIGNvbnN0IGNoYXIgKmxvY2FsX3JlZikKKwkJCXRpbWVzdGFtcF90IHRpbWVzdGFtcCwgY29uc3QgY2hhciAqbG9jYWxfcmVmKQogewogCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3RyYnVmIGVtcHR5ID0gU1RSQlVGX0lOSVQ7CiAJaWYgKCFsb2cpCkBAIC0xMDcsNyArMTA2LDcgQEAKIAl9CiAJcHJpbnRmKCJjb21taXQgJXNcbiIsIGxvY2FsX3JlZik7CiAJcHJpbnRmKCJtYXJrIDolIlBSSXUzMiJcbiIsIHJldmlzaW9uKTsKLQlwcmludGYoImNvbW1pdHRlciAlcyA8JXNAJXM+ICVsdSArMDAwMFxuIiwKKwlwcmludGYoImNvbW1pdHRlciAlcyA8JXNAJXM+ICUiUFJJdGltZSIgKzAwMDBcbiIsCiAJCSAgICphdXRob3IgPyBhdXRob3IgOiAibm9ib2R5IiwKIAkJICAgKmF1dGhvciA/IGF1dGhvciA6ICJub2JvZHkiLAogCQkgICAqdXVpZCA/IHV1aWQgOiAibG9jYWwiLCB0aW1lc3RhbXApOwpAQCAtMjEwLDcgKzIwOSw3IEBACiAJCQlkaWUoImludmFsaWQgY2F0LWJsb2IgcmVzcG9uc2U6ICVzIiwgcmVzcG9uc2UpOwogCQljaGVja19wcmVpbWFnZV9vdmVyZmxvdyhwcmVpbWFnZS5tYXhfb2ZmLCAxKTsKIAl9Ci0JaWYgKG9sZF9tb2RlID09IFJFUE9fTU9ERV9MTkspIHsKKwlpZiAob2xkX21vZGUgPT0gU19JRkxOSykgewogCQlzdHJidWZfYWRkc3RyKCZwcmVpbWFnZS5idWYsICJsaW5rICIpOwogCQljaGVja19wcmVpbWFnZV9vdmVyZmxvdyhwcmVpbWFnZS5tYXhfb2ZmLCBzdHJsZW4oImxpbmsgIikpOwogCQlwcmVpbWFnZS5tYXhfb2ZmICs9IHN0cmxlbigibGluayAiKTsKQEAgLTI0NCw3ICsyNDMsNyBAQAogdm9pZCBmYXN0X2V4cG9ydF9kYXRhKHVpbnQzMl90IG1vZGUsIG9mZl90IGxlbiwgc3RydWN0IGxpbmVfYnVmZmVyICppbnB1dCkKIHsKIAlhc3NlcnQobGVuID49IDApOwotCWlmIChtb2RlID09IFJFUE9fTU9ERV9MTkspIHsKKwlpZiAobW9kZSA9PSBTX0lGTE5LKSB7CiAJCS8qIHN2biBzeW1saW5rIGJsb2JzIHN0YXJ0IHdpdGggImxpbmsgIiAqLwogCQlpZiAobGVuIDwgNSkKIAkJCWRpZSgiaW52YWxpZCBkdW1wOiBzeW1saW5rIHRvbyBzaG9ydCBmb3IgXCJsaW5rXCIgcHJlZml4Iik7CkBAIC0zMTIsNiArMzExLDQwIEBACiAJcmV0dXJuIHBhcnNlX2xzX3Jlc3BvbnNlKGdldF9yZXNwb25zZV9saW5lKCksIG1vZGUsIGRhdGFyZWYpOwogfQogCitjb25zdCBjaGFyICpmYXN0X2V4cG9ydF9yZWFkX3BhdGgoY29uc3QgY2hhciAqcGF0aCwgdWludDMyX3QgKm1vZGVfb3V0KQoreworCWludCBlcnI7CisJc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfcmVzZXQoJmJ1Zik7CisJZXJyID0gZmFzdF9leHBvcnRfbHMocGF0aCwgbW9kZV9vdXQsICZidWYpOworCWlmIChlcnIpIHsKKwkJaWYgKGVycm5vICE9IEVOT0VOVCkKKwkJCWRpZV9lcnJubygiQlVHOiB1bmV4cGVjdGVkIGZhc3RfZXhwb3J0X2xzIGVycm9yIik7CisJCS8qIFRyZWF0IG1pc3NpbmcgcGF0aHMgYXMgZGlyZWN0b3JpZXMuICovCisJCSptb2RlX291dCA9IFNfSUZESVI7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gYnVmLmJ1ZjsKK30KKwordm9pZCBmYXN0X2V4cG9ydF9jb3B5KHVpbnQzMl90IHJldmlzaW9uLCBjb25zdCBjaGFyICpzcmMsIGNvbnN0IGNoYXIgKmRzdCkKK3sKKwlpbnQgZXJyOworCXVpbnQzMl90IG1vZGU7CisJc3RhdGljIHN0cnVjdCBzdHJidWYgZGF0YSA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX3Jlc2V0KCZkYXRhKTsKKwllcnIgPSBmYXN0X2V4cG9ydF9sc19yZXYocmV2aXNpb24sIHNyYywgJm1vZGUsICZkYXRhKTsKKwlpZiAoZXJyKSB7CisJCWlmIChlcnJubyAhPSBFTk9FTlQpCisJCQlkaWVfZXJybm8oIkJVRzogdW5leHBlY3RlZCBmYXN0X2V4cG9ydF9sc19yZXYgZXJyb3IiKTsKKwkJZmFzdF9leHBvcnRfZGVsZXRlKGRzdCk7CisJCXJldHVybjsKKwl9CisJZmFzdF9leHBvcnRfbW9kaWZ5KGRzdCwgbW9kZSwgZGF0YS5idWYpOworfQorCiB2b2lkIGZhc3RfZXhwb3J0X2Jsb2JfZGVsdGEodWludDMyX3QgbW9kZSwKIAkJCQl1aW50MzJfdCBvbGRfbW9kZSwgY29uc3QgY2hhciAqb2xkX2RhdGEsCiAJCQkJb2ZmX3QgbGVuLCBzdHJ1Y3QgbGluZV9idWZmZXIgKmlucHV0KQpAQCAtMzIwLDcgKzM1Myw3IEBACiAKIAlhc3NlcnQobGVuID49IDApOwogCXBvc3RpbWFnZV9sZW4gPSBhcHBseV9kZWx0YShsZW4sIGlucHV0LCBvbGRfZGF0YSwgb2xkX21vZGUpOwotCWlmIChtb2RlID09IFJFUE9fTU9ERV9MTkspIHsKKwlpZiAobW9kZSA9PSBTX0lGTE5LKSB7CiAJCWJ1ZmZlcl9za2lwX2J5dGVzKCZwb3N0aW1hZ2UsIHN0cmxlbigibGluayAiKSk7CiAJCXBvc3RpbWFnZV9sZW4gLT0gc3RybGVuKCJsaW5rICIpOwogCX0KZGlmZiAtLWdpdCBhL3Zjcy1zdm4vZmFzdF9leHBvcnQuaCBiL3Zjcy1zdm4vZmFzdF9leHBvcnQuaAppbmRleCBjOGI1YWRiLi42MGI3OWMzIDEwMDY0NAotLS0gYS92Y3Mtc3ZuL2Zhc3RfZXhwb3J0LmgKKysrIGIvdmNzLXN2bi9mYXN0X2V4cG9ydC5oCkBAIC0xMSwxMCArMTEsMTAgQEAKIHZvaWQgZmFzdF9leHBvcnRfbW9kaWZ5KGNvbnN0IGNoYXIgKnBhdGgsIHVpbnQzMl90IG1vZGUsIGNvbnN0IGNoYXIgKmRhdGFyZWYpOwogdm9pZCBmYXN0X2V4cG9ydF9ub3RlKGNvbnN0IGNoYXIgKmNvbW1pdHRpc2gsIGNvbnN0IGNoYXIgKmRhdGFyZWYpOwogdm9pZCBmYXN0X2V4cG9ydF9iZWdpbl9ub3RlKHVpbnQzMl90IHJldmlzaW9uLCBjb25zdCBjaGFyICphdXRob3IsCi0JCWNvbnN0IGNoYXIgKmxvZywgdW5zaWduZWQgbG9uZyB0aW1lc3RhbXAsIGNvbnN0IGNoYXIgKm5vdGVfcmVmKTsKKwkJY29uc3QgY2hhciAqbG9nLCB0aW1lc3RhbXBfdCB0aW1lc3RhbXAsIGNvbnN0IGNoYXIgKm5vdGVfcmVmKTsKIHZvaWQgZmFzdF9leHBvcnRfYmVnaW5fY29tbWl0KHVpbnQzMl90IHJldmlzaW9uLCBjb25zdCBjaGFyICphdXRob3IsCiAJCQljb25zdCBzdHJ1Y3Qgc3RyYnVmICpsb2csIGNvbnN0IGNoYXIgKnV1aWQsY29uc3QgY2hhciAqdXJsLAotCQkJdW5zaWduZWQgbG9uZyB0aW1lc3RhbXAsIGNvbnN0IGNoYXIgKmxvY2FsX3JlZik7CisJCQl0aW1lc3RhbXBfdCB0aW1lc3RhbXAsIGNvbnN0IGNoYXIgKmxvY2FsX3JlZik7CiB2b2lkIGZhc3RfZXhwb3J0X2VuZF9jb21taXQodWludDMyX3QgcmV2aXNpb24pOwogdm9pZCBmYXN0X2V4cG9ydF9kYXRhKHVpbnQzMl90IG1vZGUsIG9mZl90IGxlbiwgc3RydWN0IGxpbmVfYnVmZmVyICppbnB1dCk7CiB2b2lkIGZhc3RfZXhwb3J0X2J1Zl90b19kYXRhKGNvbnN0IHN0cnVjdCBzdHJidWYgKmRhdGEpOwpAQCAtMjgsNCArMjgsNyBAQAogaW50IGZhc3RfZXhwb3J0X2xzKGNvbnN0IGNoYXIgKnBhdGgsCiAJCQl1aW50MzJfdCAqbW9kZV9vdXQsIHN0cnVjdCBzdHJidWYgKmRhdGFyZWZfb3V0KTsKIAordm9pZCBmYXN0X2V4cG9ydF9jb3B5KHVpbnQzMl90IHJldmlzaW9uLCBjb25zdCBjaGFyICpzcmMsIGNvbnN0IGNoYXIgKmRzdCk7Citjb25zdCBjaGFyICpmYXN0X2V4cG9ydF9yZWFkX3BhdGgoY29uc3QgY2hhciAqcGF0aCwgdWludDMyX3QgKm1vZGVfb3V0KTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS92Y3Mtc3ZuL3JlcG9fdHJlZS5jIGIvdmNzLXN2bi9yZXBvX3RyZWUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjdkMjdmMC4uMDAwMDAwMAotLS0gYS92Y3Mtc3ZuL3JlcG9fdHJlZS5jCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAqIExpY2Vuc2VkIHVuZGVyIGEgdHdvLWNsYXVzZSBCU0Qtc3R5bGUgbGljZW5zZS4KLSAqIFNlZSBMSUNFTlNFIGZvciBkZXRhaWxzLgotICovCi0KLSNpbmNsdWRlICJnaXQtY29tcGF0LXV0aWwuaCIKLSNpbmNsdWRlICJzdHJidWYuaCIKLSNpbmNsdWRlICJyZXBvX3RyZWUuaCIKLSNpbmNsdWRlICJmYXN0X2V4cG9ydC5oIgotCi1jb25zdCBjaGFyICpyZXBvX3JlYWRfcGF0aChjb25zdCBjaGFyICpwYXRoLCB1aW50MzJfdCAqbW9kZV9vdXQpCi17Ci0JaW50IGVycjsKLQlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQotCXN0cmJ1Zl9yZXNldCgmYnVmKTsKLQllcnIgPSBmYXN0X2V4cG9ydF9scyhwYXRoLCBtb2RlX291dCwgJmJ1Zik7Ci0JaWYgKGVycikgewotCQlpZiAoZXJybm8gIT0gRU5PRU5UKQotCQkJZGllX2Vycm5vKCJCVUc6IHVuZXhwZWN0ZWQgZmFzdF9leHBvcnRfbHMgZXJyb3IiKTsKLQkJLyogVHJlYXQgbWlzc2luZyBwYXRocyBhcyBkaXJlY3Rvcmllcy4gKi8KLQkJKm1vZGVfb3V0ID0gUkVQT19NT0RFX0RJUjsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCXJldHVybiBidWYuYnVmOwotfQotCi12b2lkIHJlcG9fY29weSh1aW50MzJfdCByZXZpc2lvbiwgY29uc3QgY2hhciAqc3JjLCBjb25zdCBjaGFyICpkc3QpCi17Ci0JaW50IGVycjsKLQl1aW50MzJfdCBtb2RlOwotCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGRhdGEgPSBTVFJCVUZfSU5JVDsKLQotCXN0cmJ1Zl9yZXNldCgmZGF0YSk7Ci0JZXJyID0gZmFzdF9leHBvcnRfbHNfcmV2KHJldmlzaW9uLCBzcmMsICZtb2RlLCAmZGF0YSk7Ci0JaWYgKGVycikgewotCQlpZiAoZXJybm8gIT0gRU5PRU5UKQotCQkJZGllX2Vycm5vKCJCVUc6IHVuZXhwZWN0ZWQgZmFzdF9leHBvcnRfbHNfcmV2IGVycm9yIik7Ci0JCWZhc3RfZXhwb3J0X2RlbGV0ZShkc3QpOwotCQlyZXR1cm47Ci0JfQotCWZhc3RfZXhwb3J0X21vZGlmeShkc3QsIG1vZGUsIGRhdGEuYnVmKTsKLX0KLQotdm9pZCByZXBvX2RlbGV0ZShjb25zdCBjaGFyICpwYXRoKQotewotCWZhc3RfZXhwb3J0X2RlbGV0ZShwYXRoKTsKLX0KZGlmZiAtLWdpdCBhL3Zjcy1zdm4vcmVwb190cmVlLmggYi92Y3Mtc3ZuL3JlcG9fdHJlZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODljNmEzLi4wMDAwMDAwCi0tLSBhL3Zjcy1zdm4vcmVwb190cmVlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0jaWZuZGVmIFJFUE9fVFJFRV9IXwotI2RlZmluZSBSRVBPX1RSRUVfSF8KLQotc3RydWN0IHN0cmJ1ZjsKLQotI2RlZmluZSBSRVBPX01PREVfRElSIDAwNDAwMDAKLSNkZWZpbmUgUkVQT19NT0RFX0JMQiAwMTAwNjQ0Ci0jZGVmaW5lIFJFUE9fTU9ERV9FWEUgMDEwMDc1NQotI2RlZmluZSBSRVBPX01PREVfTE5LIDAxMjAwMDAKLQotdWludDMyX3QgbmV4dF9ibG9iX21hcmsodm9pZCk7Ci12b2lkIHJlcG9fY29weSh1aW50MzJfdCByZXZpc2lvbiwgY29uc3QgY2hhciAqc3JjLCBjb25zdCBjaGFyICpkc3QpOwotdm9pZCByZXBvX2FkZChjb25zdCBjaGFyICpwYXRoLCB1aW50MzJfdCBtb2RlLCB1aW50MzJfdCBibG9iX21hcmspOwotY29uc3QgY2hhciAqcmVwb19yZWFkX3BhdGgoY29uc3QgY2hhciAqcGF0aCwgdWludDMyX3QgKm1vZGVfb3V0KTsKLXZvaWQgcmVwb19kZWxldGUoY29uc3QgY2hhciAqcGF0aCk7Ci12b2lkIHJlcG9fY29tbWl0KHVpbnQzMl90IHJldmlzaW9uLCBjb25zdCBjaGFyICphdXRob3IsCi0JCWNvbnN0IHN0cnVjdCBzdHJidWYgKmxvZywgY29uc3QgY2hhciAqdXVpZCwgY29uc3QgY2hhciAqdXJsLAotCQlsb25nIHVuc2lnbmVkIHRpbWVzdGFtcCk7Ci12b2lkIHJlcG9fZGlmZih1aW50MzJfdCByMSwgdWludDMyX3QgcjIpOwotdm9pZCByZXBvX2luaXQodm9pZCk7Ci12b2lkIHJlcG9fcmVzZXQodm9pZCk7Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvdmNzLXN2bi9zdm5kdW1wLmMgYi92Y3Mtc3ZuL3N2bmR1bXAuYwppbmRleCBlNGIzOTU5Li4wOGQxMzZiIDEwMDY0NAotLS0gYS92Y3Mtc3ZuL3N2bmR1bXAuYworKysgYi92Y3Mtc3ZuL3N2bmR1bXAuYwpAQCAtOCw3ICs4LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY2FjaGUuaCIKLSNpbmNsdWRlICJyZXBvX3RyZWUuaCIKICNpbmNsdWRlICJmYXN0X2V4cG9ydC5oIgogI2luY2x1ZGUgImxpbmVfYnVmZmVyLmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCkBAIC00Nyw3ICs0Niw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgewogCXVpbnQzMl90IHJldmlzaW9uOwotCXVuc2lnbmVkIGxvbmcgdGltZXN0YW1wOworCXRpbWVzdGFtcF90IHRpbWVzdGFtcDsKIAlzdHJ1Y3Qgc3RyYnVmIGxvZywgYXV0aG9yLCBub3RlOwogfSByZXZfY3R4OwogCkBAIC0xMzQsMTMgKzEzMywxMyBAQAogCQkJZGllKCJpbnZhbGlkIGR1bXA6IHNldHMgdHlwZSB0d2ljZSIpOwogCQl9CiAJCWlmICghdmFsKSB7Ci0JCQlub2RlX2N0eC50eXBlID0gUkVQT19NT0RFX0JMQjsKKwkJCW5vZGVfY3R4LnR5cGUgPSBTX0lGUkVHIHwgMDY0NDsKIAkJCXJldHVybjsKIAkJfQogCQkqdHlwZV9zZXQgPSAxOwogCQlub2RlX2N0eC50eXBlID0ga2V5bGVuID09IHN0cmxlbigic3ZuOmV4ZWN1dGFibGUiKSA/Ci0JCQkJUkVQT19NT0RFX0VYRSA6Ci0JCQkJUkVQT19NT0RFX0xOSzsKKwkJCQkoU19JRlJFRyB8IDA3NTUpIDoKKwkJCQlTX0lGTE5LOwogCX0KIH0KIApAQCAtMjE5LDQ1ICsyMTgsNDUgQEAKIAkgKi8KIAlzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgZW1wdHlfYmxvYiA9ICI6OmVtcHR5OjoiOwogCWNvbnN0IGNoYXIgKm9sZF9kYXRhID0gTlVMTDsKLQl1aW50MzJfdCBvbGRfbW9kZSA9IFJFUE9fTU9ERV9CTEI7CisJdWludDMyX3Qgb2xkX21vZGUgPSBTX0lGUkVHIHwgMDY0NDsKIAogCWlmIChub2RlX2N0eC5hY3Rpb24gPT0gTk9ERUFDVF9ERUxFVEUpIHsKIAkJaWYgKGhhdmVfdGV4dCB8fCBoYXZlX3Byb3BzIHx8IG5vZGVfY3R4LnNyY1JldikKIAkJCWRpZSgiaW52YWxpZCBkdW1wOiBkZWxldGlvbiBub2RlIGhhcyAiCiAJCQkJImNvcHlmcm9tIGluZm8sIHRleHQsIG9yIHByb3BlcnRpZXMiKTsKLQkJcmVwb19kZWxldGUobm9kZV9jdHguZHN0LmJ1Zik7CisJCWZhc3RfZXhwb3J0X2RlbGV0ZShub2RlX2N0eC5kc3QuYnVmKTsKIAkJcmV0dXJuOwogCX0KIAlpZiAobm9kZV9jdHguYWN0aW9uID09IE5PREVBQ1RfUkVQTEFDRSkgewotCQlyZXBvX2RlbGV0ZShub2RlX2N0eC5kc3QuYnVmKTsKKwkJZmFzdF9leHBvcnRfZGVsZXRlKG5vZGVfY3R4LmRzdC5idWYpOwogCQlub2RlX2N0eC5hY3Rpb24gPSBOT0RFQUNUX0FERDsKIAl9CiAJaWYgKG5vZGVfY3R4LnNyY1JldikgewotCQlyZXBvX2NvcHkobm9kZV9jdHguc3JjUmV2LCBub2RlX2N0eC5zcmMuYnVmLCBub2RlX2N0eC5kc3QuYnVmKTsKKwkJZmFzdF9leHBvcnRfY29weShub2RlX2N0eC5zcmNSZXYsIG5vZGVfY3R4LnNyYy5idWYsIG5vZGVfY3R4LmRzdC5idWYpOwogCQlpZiAobm9kZV9jdHguYWN0aW9uID09IE5PREVBQ1RfQUREKQogCQkJbm9kZV9jdHguYWN0aW9uID0gTk9ERUFDVF9DSEFOR0U7CiAJfQotCWlmIChoYXZlX3RleHQgJiYgdHlwZSA9PSBSRVBPX01PREVfRElSKQorCWlmIChoYXZlX3RleHQgJiYgdHlwZSA9PSBTX0lGRElSKQogCQlkaWUoImludmFsaWQgZHVtcDogZGlyZWN0b3JpZXMgY2Fubm90IGhhdmUgdGV4dCBhdHRhY2hlZCIpOwogCiAJLyoKIAkgKiBGaW5kIG9sZCBjb250ZW50IChvbGRfZGF0YSkgYW5kIGRlY2lkZSBvbiB0aGUgbmV3IG1vZGUuCiAJICovCiAJaWYgKG5vZGVfY3R4LmFjdGlvbiA9PSBOT0RFQUNUX0NIQU5HRSAmJiAhKm5vZGVfY3R4LmRzdC5idWYpIHsKLQkJaWYgKHR5cGUgIT0gUkVQT19NT0RFX0RJUikKKwkJaWYgKHR5cGUgIT0gU19JRkRJUikKIAkJCWRpZSgiaW52YWxpZCBkdW1wOiByb290IG9mIHRyZWUgaXMgbm90IGEgcmVndWxhciBmaWxlIik7CiAJCW9sZF9kYXRhID0gTlVMTDsKIAl9IGVsc2UgaWYgKG5vZGVfY3R4LmFjdGlvbiA9PSBOT0RFQUNUX0NIQU5HRSkgewogCQl1aW50MzJfdCBtb2RlOwotCQlvbGRfZGF0YSA9IHJlcG9fcmVhZF9wYXRoKG5vZGVfY3R4LmRzdC5idWYsICZtb2RlKTsKLQkJaWYgKG1vZGUgPT0gUkVQT19NT0RFX0RJUiAmJiB0eXBlICE9IFJFUE9fTU9ERV9ESVIpCisJCW9sZF9kYXRhID0gZmFzdF9leHBvcnRfcmVhZF9wYXRoKG5vZGVfY3R4LmRzdC5idWYsICZtb2RlKTsKKwkJaWYgKG1vZGUgPT0gU19JRkRJUiAmJiB0eXBlICE9IFNfSUZESVIpCiAJCQlkaWUoImludmFsaWQgZHVtcDogY2Fubm90IG1vZGlmeSBhIGRpcmVjdG9yeSBpbnRvIGEgZmlsZSIpOwotCQlpZiAobW9kZSAhPSBSRVBPX01PREVfRElSICYmIHR5cGUgPT0gUkVQT19NT0RFX0RJUikKKwkJaWYgKG1vZGUgIT0gU19JRkRJUiAmJiB0eXBlID09IFNfSUZESVIpCiAJCQlkaWUoImludmFsaWQgZHVtcDogY2Fubm90IG1vZGlmeSBhIGZpbGUgaW50byBhIGRpcmVjdG9yeSIpOwogCQlub2RlX2N0eC50eXBlID0gbW9kZTsKIAkJb2xkX21vZGUgPSBtb2RlOwogCX0gZWxzZSBpZiAobm9kZV9jdHguYWN0aW9uID09IE5PREVBQ1RfQUREKSB7Ci0JCWlmICh0eXBlID09IFJFUE9fTU9ERV9ESVIpCisJCWlmICh0eXBlID09IFNfSUZESVIpCiAJCQlvbGRfZGF0YSA9IE5VTEw7CiAJCWVsc2UgaWYgKGhhdmVfdGV4dCkKIAkJCW9sZF9kYXRhID0gZW1wdHlfYmxvYjsKQEAgLTI4MCw3ICsyNzksNyBAQAogCS8qCiAJICogU2F2ZSB0aGUgcmVzdWx0LgogCSAqLwotCWlmICh0eXBlID09IFJFUE9fTU9ERV9ESVIpCS8qIGRpcmVjdG9yaWVzIGFyZSBub3QgdHJhY2tlZC4gKi8KKwlpZiAodHlwZSA9PSBTX0lGRElSKQkvKiBkaXJlY3RvcmllcyBhcmUgbm90IHRyYWNrZWQuICovCiAJCXJldHVybjsKIAlhc3NlcnQob2xkX2RhdGEpOwogCWlmIChvbGRfZGF0YSA9PSBlbXB0eV9ibG9iKQpAQCAtMzE5LDYgKzMxOCw3IEBACiAJCXN0cmJ1Zl9hZGRmKCZtYXJrLCAiOiUiUFJJdTMyLCByZXZfY3R4LnJldmlzaW9uKTsKIAkJZmFzdF9leHBvcnRfbm90ZShtYXJrLmJ1ZiwgImlubGluZSIpOwogCQlmYXN0X2V4cG9ydF9idWZfdG9fZGF0YSgmcmV2X2N0eC5ub3RlKTsKKwkJc3RyYnVmX3JlbGVhc2UoJm1hcmspOwogCX0KIH0KIApAQCAtMzg1LDkgKzM4NSw5IEBACiAJCQkJY29udGludWU7CiAJCQlzdHJidWZfYWRkZigmcmV2X2N0eC5ub3RlLCAiJXNcbiIsIHQpOwogCQkJaWYgKCFzdHJjbXAodmFsLCAiZGlyIikpCi0JCQkJbm9kZV9jdHgudHlwZSA9IFJFUE9fTU9ERV9ESVI7CisJCQkJbm9kZV9jdHgudHlwZSA9IFNfSUZESVI7CiAJCQllbHNlIGlmICghc3RyY21wKHZhbCwgImZpbGUiKSkKLQkJCQlub2RlX2N0eC50eXBlID0gUkVQT19NT0RFX0JMQjsKKwkJCQlub2RlX2N0eC50eXBlID0gU19JRlJFRyB8IDA2NDQ7CiAJCQllbHNlCiAJCQkJZnByaW50ZihzdGRlcnIsICJVbmtub3duIG5vZGUta2luZDogJXNcbiIsIHZhbCk7CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3ZlcnNpb25jbXAuYyBiL3ZlcnNpb25jbXAuYwppbmRleCA5ZjgxZGMxLi4wNjllZTk0IDEwMDY0NAotLS0gYS92ZXJzaW9uY21wLmMKKysrIGIvdmVyc2lvbmNtcC5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKIAogLyoKZGlmZiAtLWdpdCBhL3dhbGtlci5jIGIvd2Fsa2VyLmMKaW5kZXggMmM4NmU0MC4uMjc0ZjFhNCAxMDA2NDQKLS0tIGEvd2Fsa2VyLmMKKysrIGIvd2Fsa2VyLmMKQEAgLTQ3LDEyICs0NywxMiBAQAogCQlpZiAoU19JU0dJVExJTksoZW50cnkubW9kZSkpCiAJCQljb250aW51ZTsKIAkJaWYgKFNfSVNESVIoZW50cnkubW9kZSkpIHsKLQkJCXN0cnVjdCB0cmVlICp0cmVlID0gbG9va3VwX3RyZWUoZW50cnkub2lkLT5oYXNoKTsKKwkJCXN0cnVjdCB0cmVlICp0cmVlID0gbG9va3VwX3RyZWUoZW50cnkub2lkKTsKIAkJCWlmICh0cmVlKQogCQkJCW9iaiA9ICZ0cmVlLT5vYmplY3Q7CiAJCX0KIAkJZWxzZSB7Ci0JCQlzdHJ1Y3QgYmxvYiAqYmxvYiA9IGxvb2t1cF9ibG9iKGVudHJ5Lm9pZC0+aGFzaCk7CisJCQlzdHJ1Y3QgYmxvYiAqYmxvYiA9IGxvb2t1cF9ibG9iKGVudHJ5Lm9pZCk7CiAJCQlpZiAoYmxvYikKIAkJCQlvYmogPSAmYmxvYi0+b2JqZWN0OwogCQl9CkBAIC0xODAsNyArMTgwLDcgQEAKIAkJCX0KIAkJfQogCQlpZiAoIW9iai0+dHlwZSkKLQkJCXBhcnNlX29iamVjdChvYmotPm9pZC5oYXNoKTsKKwkJCXBhcnNlX29iamVjdCgmb2JqLT5vaWQpOwogCQlpZiAocHJvY2Vzc19vYmplY3Qod2Fsa2VyLCBvYmopKQogCQkJcmV0dXJuIC0xOwogCX0KQEAgLTIwNiw3ICsyMDYsNyBAQAogc3RhdGljIGludCBtYXJrX2NvbXBsZXRlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSBpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSkKIHsKLQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2lkLT5oYXNoLCAxKTsKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkob2lkLCAxKTsKIAogCWlmIChjb21taXQpIHsKIAkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gQ09NUExFVEU7CmRpZmYgLS1naXQgYS93aWxkbWF0Y2guYyBiL3dpbGRtYXRjaC5jCmluZGV4IDU3Yzg3NjUuLmQwNzRjMWIgMTAwNjQ0Ci0tLSBhL3dpbGRtYXRjaC5jCisrKyBiL3dpbGRtYXRjaC5jCkBAIC0yNzIsOCArMjcyLDcgQEAKIH0KIAogLyogTWF0Y2ggdGhlICJwYXR0ZXJuIiBhZ2FpbnN0IHRoZSAidGV4dCIgc3RyaW5nLiAqLwotaW50IHdpbGRtYXRjaChjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICp0ZXh0LAotCSAgICAgIHVuc2lnbmVkIGludCBmbGFncywgc3RydWN0IHdpbGRvcHRzICp3bykKK2ludCB3aWxkbWF0Y2goY29uc3QgY2hhciAqcGF0dGVybiwgY29uc3QgY2hhciAqdGV4dCwgdW5zaWduZWQgaW50IGZsYWdzKQogewogCXJldHVybiBkb3dpbGQoKGNvbnN0IHVjaGFyKilwYXR0ZXJuLCAoY29uc3QgdWNoYXIqKXRleHQsIGZsYWdzKTsKIH0KZGlmZiAtLWdpdCBhL3dpbGRtYXRjaC5oIGIvd2lsZG1hdGNoLmgKaW5kZXggNDA5MGM4Zi4uYjhjODI2YSAxMDA2NDQKLS0tIGEvd2lsZG1hdGNoLmgKKysrIGIvd2lsZG1hdGNoLmgKQEAgLTEwLDkgKzEwLDUgQEAKICNkZWZpbmUgV01fQUJPUlRfQUxMIC0xCiAjZGVmaW5lIFdNX0FCT1JUX1RPX1NUQVJTVEFSIC0yCiAKLXN0cnVjdCB3aWxkb3B0czsKLQotaW50IHdpbGRtYXRjaChjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICp0ZXh0LAotCSAgICAgIHVuc2lnbmVkIGludCBmbGFncywKLQkgICAgICBzdHJ1Y3Qgd2lsZG9wdHMgKndvKTsKK2ludCB3aWxkbWF0Y2goY29uc3QgY2hhciAqcGF0dGVybiwgY29uc3QgY2hhciAqdGV4dCwgdW5zaWduZWQgaW50IGZsYWdzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvd29ya3RyZWUuYyBiL3dvcmt0cmVlLmMKaW5kZXggZmE3YmM2Ny4uNzAwMTU2MiAxMDA2NDQKLS0tIGEvd29ya3RyZWUuYworKysgYi93b3JrdHJlZS5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJzdHJidWYuaCIKICNpbmNsdWRlICJ3b3JrdHJlZS5oIgpAQCAtMTksNTQgKzIwLDI1IEBACiAJZnJlZSAod29ya3RyZWVzKTsKIH0KIAotLyoKLSAqIHJlYWQgJ3BhdGhfdG9fcmVmJyBpbnRvICdyZWYnLiAgQWxzbyBpZiBpc19kZXRhY2hlZCBpcyBub3QgTlVMTCwKLSAqIHNldCBpc19kZXRhY2hlZCB0byAxICgwKSBpZiB0aGUgcmVmIGlzIGRldGFjaGVkIChpcyBub3QgZGV0YWNoZWQpLgotICoKLSAqICRHSVRfQ09NTU9OX0RJUi8kc3ltcmVmIChlLmcuIEhFQUQpIGlzIHByYWN0aWNhbGx5IG91dHNpZGUgJEdJVF9ESVIgc28KLSAqIGZvciBsaW5rZWQgd29ya3RyZWVzLCBgcmVzb2x2ZV9yZWZfdW5zYWZlKClgIHdvbid0IHdvcmsgKGl0IHVzZXMKLSAqIGdpdF9wYXRoKS4gUGFyc2UgdGhlIHJlZiBvdXJzZWx2ZXMuCi0gKgotICogcmV0dXJuIC0xIGlmIHRoZSByZWYgaXMgbm90IGEgcHJvcGVyIHJlZiwgMCBvdGhlcndpc2UgKHN1Y2Nlc3MpCi0gKi8KLXN0YXRpYyBpbnQgcGFyc2VfcmVmKGNoYXIgKnBhdGhfdG9fcmVmLCBzdHJ1Y3Qgc3RyYnVmICpyZWYsIGludCAqaXNfZGV0YWNoZWQpCi17Ci0JaWYgKGlzX2RldGFjaGVkKQotCQkqaXNfZGV0YWNoZWQgPSAwOwotCWlmICghc3RyYnVmX3JlYWRsaW5rKHJlZiwgcGF0aF90b19yZWYsIDApKSB7Ci0JCS8qIEhFQUQgaXMgc3ltYm9saWMgbGluayAqLwotCQlpZiAoIXN0YXJ0c193aXRoKHJlZi0+YnVmLCAicmVmcy8iKSB8fAotCQkJCWNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZi0+YnVmLCAwKSkKLQkJCXJldHVybiAtMTsKLQl9IGVsc2UgaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUocmVmLCBwYXRoX3RvX3JlZiwgMCkgPj0gMCkgewotCQkvKiB0ZXh0dWFsIHN5bXJlZiBvciBkZXRhY2hlZCAqLwotCQlpZiAoIXN0YXJ0c193aXRoKHJlZi0+YnVmLCAicmVmOiIpKSB7Ci0JCQlpZiAoaXNfZGV0YWNoZWQpCi0JCQkJKmlzX2RldGFjaGVkID0gMTsKLQkJfSBlbHNlIHsKLQkJCXN0cmJ1Zl9yZW1vdmUocmVmLCAwLCBzdHJsZW4oInJlZjoiKSk7Ci0JCQlzdHJidWZfdHJpbShyZWYpOwotCQkJaWYgKGNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZi0+YnVmLCAwKSkKLQkJCQlyZXR1cm4gLTE7Ci0JCX0KLQl9IGVsc2UKLQkJcmV0dXJuIC0xOwotCXJldHVybiAwOwotfQotCiAvKioKLSAqIEFkZCB0aGUgaGVhZF9zaGExIGFuZCBoZWFkX3JlZiAoaWYgbm90IGRldGFjaGVkKSB0byB0aGUgZ2l2ZW4gd29ya3RyZWUKKyAqIFVwZGF0ZSBoZWFkX3NoYTEsIGhlYWRfcmVmIGFuZCBpc19kZXRhY2hlZCBvZiB0aGUgZ2l2ZW4gd29ya3RyZWUKICAqLwotc3RhdGljIHZvaWQgYWRkX2hlYWRfaW5mbyhzdHJ1Y3Qgc3RyYnVmICpoZWFkX3JlZiwgc3RydWN0IHdvcmt0cmVlICp3b3JrdHJlZSkKK3N0YXRpYyB2b2lkIGFkZF9oZWFkX2luZm8oc3RydWN0IHdvcmt0cmVlICp3dCkKIHsKLQlpZiAoaGVhZF9yZWYtPmxlbikgewotCQlpZiAod29ya3RyZWUtPmlzX2RldGFjaGVkKSB7Ci0JCQlnZXRfc2hhMV9oZXgoaGVhZF9yZWYtPmJ1Ziwgd29ya3RyZWUtPmhlYWRfc2hhMSk7Ci0JCX0gZWxzZSB7Ci0JCQlyZXNvbHZlX3JlZl91bnNhZmUoaGVhZF9yZWYtPmJ1ZiwgMCwgd29ya3RyZWUtPmhlYWRfc2hhMSwgTlVMTCk7Ci0JCQl3b3JrdHJlZS0+aGVhZF9yZWYgPSBzdHJidWZfZGV0YWNoKGhlYWRfcmVmLCBOVUxMKTsKLQkJfQotCX0KKwlpbnQgZmxhZ3M7CisJY29uc3QgY2hhciAqdGFyZ2V0OworCisJdGFyZ2V0ID0gcmVmc19yZXNvbHZlX3JlZl91bnNhZmUoZ2V0X3dvcmt0cmVlX3JlZl9zdG9yZSh3dCksCisJCQkJCSAiSEVBRCIsCisJCQkJCSAwLAorCQkJCQkgd3QtPmhlYWRfc2hhMSwgJmZsYWdzKTsKKwlpZiAoIXRhcmdldCkKKwkJcmV0dXJuOworCisJaWYgKGZsYWdzICYgUkVGX0lTU1lNUkVGKQorCQl3dC0+aGVhZF9yZWYgPSB4c3RyZHVwKHRhcmdldCk7CisJZWxzZQorCQl3dC0+aXNfZGV0YWNoZWQgPSAxOwogfQogCiAvKioKQEAgLTc3LDkgKzQ5LDcgQEAKIAlzdHJ1Y3Qgd29ya3RyZWUgKndvcmt0cmVlID0gTlVMTDsKIAlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHdvcmt0cmVlX3BhdGggPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3Qgc3RyYnVmIGhlYWRfcmVmID0gU1RSQlVGX0lOSVQ7CiAJaW50IGlzX2JhcmUgPSAwOwotCWludCBpc19kZXRhY2hlZCA9IDA7CiAKIAlzdHJidWZfYWRkX2Fic29sdXRlX3BhdGgoJndvcmt0cmVlX3BhdGgsIGdldF9naXRfY29tbW9uX2RpcigpKTsKIAlpc19iYXJlID0gIXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJndvcmt0cmVlX3BhdGgsICIvLmdpdCIpOwpAQCAtOTEsMTMgKzYxLDEwIEBACiAJd29ya3RyZWUgPSB4Y2FsbG9jKDEsIHNpemVvZigqd29ya3RyZWUpKTsKIAl3b3JrdHJlZS0+cGF0aCA9IHN0cmJ1Zl9kZXRhY2goJndvcmt0cmVlX3BhdGgsIE5VTEwpOwogCXdvcmt0cmVlLT5pc19iYXJlID0gaXNfYmFyZTsKLQl3b3JrdHJlZS0+aXNfZGV0YWNoZWQgPSBpc19kZXRhY2hlZDsKLQlpZiAoIXBhcnNlX3JlZihwYXRoLmJ1ZiwgJmhlYWRfcmVmLCAmaXNfZGV0YWNoZWQpKQotCQlhZGRfaGVhZF9pbmZvKCZoZWFkX3JlZiwgd29ya3RyZWUpOworCWFkZF9oZWFkX2luZm8od29ya3RyZWUpOwogCiAJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwogCXN0cmJ1Zl9yZWxlYXNlKCZ3b3JrdHJlZV9wYXRoKTsKLQlzdHJidWZfcmVsZWFzZSgmaGVhZF9yZWYpOwogCXJldHVybiB3b3JrdHJlZTsKIH0KIApAQCAtMTA2LDEzICs3MywxMSBAQAogCXN0cnVjdCB3b3JrdHJlZSAqd29ya3RyZWUgPSBOVUxMOwogCXN0cnVjdCBzdHJidWYgcGF0aCA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgd29ya3RyZWVfcGF0aCA9IFNUUkJVRl9JTklUOwotCXN0cnVjdCBzdHJidWYgaGVhZF9yZWYgPSBTVFJCVUZfSU5JVDsKLQlpbnQgaXNfZGV0YWNoZWQgPSAwOwogCiAJaWYgKCFpZCkKIAkJZGllKCJNaXNzaW5nIGxpbmtlZCB3b3JrdHJlZSBuYW1lIik7CiAKLQlzdHJidWZfZ2l0X2NvbW1vbl9wYXRoKCZwYXRoLCAid29ya3RyZWVzLyVzL2dpdGRpciIsIGlkKTsKKwlzdHJidWZfZ2l0X2NvbW1vbl9wYXRoKCZwYXRoLCB0aGVfcmVwb3NpdG9yeSwgIndvcmt0cmVlcy8lcy9naXRkaXIiLCBpZCk7CiAJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJndvcmt0cmVlX3BhdGgsIHBhdGguYnVmLCAwKSA8PSAwKQogCQkvKiBpbnZhbGlkIGdpdGRpciBmaWxlICovCiAJCWdvdG8gZG9uZTsKQEAgLTEyNywxOSArOTIsMTQgQEAKIAlzdHJidWZfcmVzZXQoJnBhdGgpOwogCXN0cmJ1Zl9hZGRmKCZwYXRoLCAiJXMvd29ya3RyZWVzLyVzL0hFQUQiLCBnZXRfZ2l0X2NvbW1vbl9kaXIoKSwgaWQpOwogCi0JaWYgKHBhcnNlX3JlZihwYXRoLmJ1ZiwgJmhlYWRfcmVmLCAmaXNfZGV0YWNoZWQpIDwgMCkKLQkJZ290byBkb25lOwotCiAJd29ya3RyZWUgPSB4Y2FsbG9jKDEsIHNpemVvZigqd29ya3RyZWUpKTsKIAl3b3JrdHJlZS0+cGF0aCA9IHN0cmJ1Zl9kZXRhY2goJndvcmt0cmVlX3BhdGgsIE5VTEwpOwogCXdvcmt0cmVlLT5pZCA9IHhzdHJkdXAoaWQpOwotCXdvcmt0cmVlLT5pc19kZXRhY2hlZCA9IGlzX2RldGFjaGVkOwotCWFkZF9oZWFkX2luZm8oJmhlYWRfcmVmLCB3b3JrdHJlZSk7CisJYWRkX2hlYWRfaW5mbyh3b3JrdHJlZSk7CiAKIGRvbmU6CiAJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwogCXN0cmJ1Zl9yZWxlYXNlKCZ3b3JrdHJlZV9wYXRoKTsKLQlzdHJidWZfcmVsZWFzZSgmaGVhZF9yZWYpOwogCXJldHVybiB3b3JrdHJlZTsKIH0KIApAQCAtMjUwLDE2ICsyMTAsMTkgQEAKIHsKIAlzdHJ1Y3Qgd29ya3RyZWUgKnd0OwogCWNoYXIgKnBhdGg7CisJY2hhciAqdG9fZnJlZSA9IE5VTEw7CiAKIAlpZiAoKHd0ID0gZmluZF93b3JrdHJlZV9ieV9zdWZmaXgobGlzdCwgYXJnKSkpCiAJCXJldHVybiB3dDsKIAotCWFyZyA9IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHN0cmxlbihwcmVmaXgpLCBhcmcpOworCWlmIChwcmVmaXgpCisJCWFyZyA9IHRvX2ZyZWUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBhcmcpOwogCXBhdGggPSByZWFsX3BhdGhkdXAoYXJnLCAxKTsKIAlmb3IgKDsgKmxpc3Q7IGxpc3QrKykKIAkJaWYgKCFmc3BhdGhjbXAocGF0aCwgcmVhbF9wYXRoKCgqbGlzdCktPnBhdGgpKSkKIAkJCWJyZWFrOwogCWZyZWUocGF0aCk7CisJZnJlZSh0b19mcmVlKTsKIAlyZXR1cm4gKmxpc3Q7CiB9CiAKQEAgLTMzNCw4ICsyOTcsNiBAQAogCQkJCQkgIGNvbnN0IGNoYXIgKnRhcmdldCkKIHsKIAljb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKmV4aXN0aW5nID0gTlVMTDsKLQlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJc3RhdGljIHN0cnVjdCB3b3JrdHJlZSAqKndvcmt0cmVlczsKIAlpbnQgaSA9IDA7CiAKQEAgLTM0NSw2ICszMDYsMTAgQEAKIAogCWZvciAoaSA9IDA7IHdvcmt0cmVlc1tpXTsgaSsrKSB7CiAJCXN0cnVjdCB3b3JrdHJlZSAqd3QgPSB3b3JrdHJlZXNbaV07CisJCWNvbnN0IGNoYXIgKnN5bXJlZl90YXJnZXQ7CisJCXN0cnVjdCByZWZfc3RvcmUgKnJlZnM7CisJCWludCBmbGFnczsKKwogCQlpZiAod3QtPmlzX2JhcmUpCiAJCQljb250aW51ZTsKIApAQCAtMzU5LDI1ICszMjQsMTUgQEAKIAkJCX0KIAkJfQogCi0JCXN0cmJ1Zl9yZXNldCgmcGF0aCk7Ci0JCXN0cmJ1Zl9yZXNldCgmc2IpOwotCQlzdHJidWZfYWRkZigmcGF0aCwgIiVzLyVzIiwKLQkJCSAgICBnZXRfd29ya3RyZWVfZ2l0X2Rpcih3dCksCi0JCQkgICAgc3ltcmVmKTsKLQotCQlpZiAocGFyc2VfcmVmKHBhdGguYnVmLCAmc2IsIE5VTEwpKSB7Ci0JCQljb250aW51ZTsKLQkJfQotCi0JCWlmICghc3RyY21wKHNiLmJ1ZiwgdGFyZ2V0KSkgeworCQlyZWZzID0gZ2V0X3dvcmt0cmVlX3JlZl9zdG9yZSh3dCk7CisJCXN5bXJlZl90YXJnZXQgPSByZWZzX3Jlc29sdmVfcmVmX3Vuc2FmZShyZWZzLCBzeW1yZWYsIDAsCisJCQkJCQkJTlVMTCwgJmZsYWdzKTsKKwkJaWYgKChmbGFncyAmIFJFRl9JU1NZTVJFRikgJiYgIXN0cmNtcChzeW1yZWZfdGFyZ2V0LCB0YXJnZXQpKSB7CiAJCQlleGlzdGluZyA9IHd0OwogCQkJYnJlYWs7CiAJCX0KIAl9CiAKLQlzdHJidWZfcmVsZWFzZSgmcGF0aCk7Ci0Jc3RyYnVmX3JlbGVhc2UoJnNiKTsKLQogCXJldHVybiBleGlzdGluZzsKIH0KIApAQCAtMzk2LDYgKzM1MSw3IEBACiAKIAkvKiBUaGUgZW52IHdvdWxkIGJlIHNldCBmb3IgdGhlIHN1cGVycHJvamVjdC4gKi8KIAlnZXRfY29tbW9uX2Rpcl9ub2Vudigmc2IsIHN1Ym1vZHVsZV9naXRkaXIpOworCWZyZWUoc3VibW9kdWxlX2dpdGRpcik7CiAKIAkvKgogCSAqIFRoZSBjaGVjayBiZWxvdyBpcyBvbmx5IGtub3duIHRvIGJlIGdvb2QgZm9yIHJlcG9zaXRvcnkgZm9ybWF0CkBAIC00MTUsNyArMzcxLDYgQEAKIAkvKiBTZWUgaWYgdGhlcmUgaXMgYW55IGZpbGUgaW5zaWRlIHRoZSB3b3JrdHJlZXMgZGlyZWN0b3J5LiAqLwogCWRpciA9IG9wZW5kaXIoc2IuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwotCWZyZWUoc3VibW9kdWxlX2dpdGRpcik7CiAKIAlpZiAoIWRpcikKIAkJcmV0dXJuIDA7CkBAIC00MzAsMyArMzg1LDI1IEBACiAJY2xvc2VkaXIoZGlyKTsKIAlyZXR1cm4gcmV0OwogfQorCitpbnQgb3RoZXJfaGVhZF9yZWZzKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQoreworCXN0cnVjdCB3b3JrdHJlZSAqKndvcmt0cmVlcywgKipwOworCWludCByZXQgPSAwOworCisJd29ya3RyZWVzID0gZ2V0X3dvcmt0cmVlcygwKTsKKwlmb3IgKHAgPSB3b3JrdHJlZXM7ICpwOyBwKyspIHsKKwkJc3RydWN0IHdvcmt0cmVlICp3dCA9ICpwOworCQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzOworCisJCWlmICh3dC0+aXNfY3VycmVudCkKKwkJCWNvbnRpbnVlOworCisJCXJlZnMgPSBnZXRfd29ya3RyZWVfcmVmX3N0b3JlKHd0KTsKKwkJcmV0ID0gcmVmc19oZWFkX3JlZihyZWZzLCBmbiwgY2JfZGF0YSk7CisJCWlmIChyZXQpCisJCQlicmVhazsKKwl9CisJZnJlZV93b3JrdHJlZXMod29ya3RyZWVzKTsKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvd29ya3RyZWUuaCBiL3dvcmt0cmVlLmgKaW5kZXggNmJmYjk4NS4uOTI3NmM4MSAxMDA2NDQKLS0tIGEvd29ya3RyZWUuaAorKysgYi93b3JrdHJlZS5oCkBAIC0xLDEwICsxLDEyIEBACiAjaWZuZGVmIFdPUktUUkVFX0gKICNkZWZpbmUgV09SS1RSRUVfSAogCisjaW5jbHVkZSAicmVmcy5oIgorCiBzdHJ1Y3Qgd29ya3RyZWUgewogCWNoYXIgKnBhdGg7CiAJY2hhciAqaWQ7Ci0JY2hhciAqaGVhZF9yZWY7CisJY2hhciAqaGVhZF9yZWY7CQkvKiBOVUxMIGlmIEhFQUQgaXMgYnJva2VuIG9yIGRldGFjaGVkICovCiAJY2hhciAqbG9ja19yZWFzb247CS8qIGludGVybmFsIHVzZSAqLwogCXVuc2lnbmVkIGNoYXIgaGVhZF9zaGExWzIwXTsKIAlpbnQgaXNfZGV0YWNoZWQ7CkBAIC03MCw2ICs3MiwxMiBAQAogZXh0ZXJuIGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqZmluZF9zaGFyZWRfc3ltcmVmKGNvbnN0IGNoYXIgKnN5bXJlZiwKIAkJCQkJCSBjb25zdCBjaGFyICp0YXJnZXQpOwogCisvKgorICogU2ltaWxhciB0byBoZWFkX3JlZigpIGZvciBhbGwgSEVBRHMgX2V4Y2VwdF8gb25lIGZyb20gdGhlIGN1cnJlbnQKKyAqIHdvcmt0cmVlLCB3aGljaCBpcyBjb3ZlcmVkIGJ5IGhlYWRfcmVmKCkuCisgKi8KK2ludCBvdGhlcl9oZWFkX3JlZnMoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworCiBpbnQgaXNfd29ya3RyZWVfYmVpbmdfcmViYXNlZChjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0LCBjb25zdCBjaGFyICp0YXJnZXQpOwogaW50IGlzX3dvcmt0cmVlX2JlaW5nX2Jpc2VjdGVkKGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3QsIGNvbnN0IGNoYXIgKnRhcmdldCk7CiAKZGlmZiAtLWdpdCBhL3dyYXBwZXIuYyBiL3dyYXBwZXIuYwppbmRleCAwNTQyZmM3Li42MWFiYTBiIDEwMDY0NAotLS0gYS93cmFwcGVyLmMKKysrIGIvd3JhcHBlci5jCkBAIC0yLDYgKzIsNyBAQAogICogVmFyaW91cyB0cml2aWFsIGhlbHBlciB3cmFwcGVycyBhcm91bmQgc3RhbmRhcmQgZnVuY3Rpb25zCiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogCiBzdGF0aWMgdm9pZCBkb19ub3RoaW5nKHNpemVfdCBzaXplKQogewpAQCAtNDE4LDYgKzQxOSwzMiBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB2b2lkIHdhcm5fb25faW5hY2Nlc3NpYmxlKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJd2FybmluZ19lcnJubyhfKCJ1bmFibGUgdG8gYWNjZXNzICclcyciKSwgcGF0aCk7Cit9CisKK2ludCB3YXJuX29uX2ZvcGVuX2Vycm9ycyhjb25zdCBjaGFyICpwYXRoKQoreworCWlmIChlcnJubyAhPSBFTk9FTlQgJiYgZXJybm8gIT0gRU5PVERJUikgeworCQl3YXJuX29uX2luYWNjZXNzaWJsZShwYXRoKTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiAwOworfQorCitGSUxFICpmb3Blbl9vcl93YXJuKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpCit7CisJRklMRSAqZnAgPSBmb3BlbihwYXRoLCBtb2RlKTsKKworCWlmIChmcCkKKwkJcmV0dXJuIGZwOworCisJd2Fybl9vbl9mb3Blbl9lcnJvcnMocGF0aCk7CisJcmV0dXJuIE5VTEw7Cit9CisKIGludCB4bWtzdGVtcChjaGFyICp0ZW1wbGF0ZSkKIHsKIAlpbnQgZmQ7CkBAIC01NzYsMTUgKzYwMywxMCBAQAogCXJldHVybiBTX0lTR0lUTElOSyhtb2RlKSA/IHJtZGlyX29yX3dhcm4oZmlsZSkgOiB1bmxpbmtfb3Jfd2FybihmaWxlKTsKIH0KIAotdm9pZCB3YXJuX29uX2luYWNjZXNzaWJsZShjb25zdCBjaGFyICpwYXRoKQotewotCXdhcm5pbmdfZXJybm8oXygidW5hYmxlIHRvIGFjY2VzcyAnJXMnIiksIHBhdGgpOwotfQotCiBzdGF0aWMgaW50IGFjY2Vzc19lcnJvcl9pc19vayhpbnQgZXJyLCB1bnNpZ25lZCBmbGFnKQogewotCXJldHVybiBlcnIgPT0gRU5PRU5UIHx8IGVyciA9PSBFTk9URElSIHx8Ci0JCSgoZmxhZyAmIEFDQ0VTU19FQUNDRVNfT0spICYmIGVyciA9PSBFQUNDRVMpOworCXJldHVybiAoaXNfbWlzc2luZ19maWxlX2Vycm9yKGVycikgfHwKKwkJKChmbGFnICYgQUNDRVNTX0VBQ0NFU19PSykgJiYgZXJyID09IEVBQ0NFUykpOwogfQogCiBpbnQgYWNjZXNzX29yX3dhcm4oY29uc3QgY2hhciAqcGF0aCwgaW50IG1vZGUsIHVuc2lnbmVkIGZsYWcpCkBAIC02MzAsNyArNjUyLDcgQEAKIHZvaWQgd3JpdGVfZmlsZV9idWYoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQogewogCWludCBmZCA9IHhvcGVuKHBhdGgsIE9fV1JPTkxZIHwgT19DUkVBVCB8IE9fVFJVTkMsIDA2NjYpOwotCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYsIGxlbikgIT0gbGVuKQorCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYsIGxlbikgPCAwKQogCQlkaWVfZXJybm8oXygiY291bGQgbm90IHdyaXRlIHRvICVzIiksIHBhdGgpOwogCWlmIChjbG9zZShmZCkpCiAJCWRpZV9lcnJubyhfKCJjb3VsZCBub3QgY2xvc2UgJXMiKSwgcGF0aCk7CkBAIC02NTUsMyArNjc3LDE2IEBACiB7CiAJcG9sbChOVUxMLCAwLCBtaWxsaXNlYyk7CiB9CisKK2ludCB4Z2V0aG9zdG5hbWUoY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCS8qCisJICogSWYgdGhlIGZ1bGwgaG9zdG5hbWUgZG9lc24ndCBmaXQgaW4gYnVmLCBQT1NJWCBkb2VzIG5vdAorCSAqIHNwZWNpZnkgd2hldGhlciB0aGUgYnVmZmVyIHdpbGwgYmUgbnVsbC10ZXJtaW5hdGVkLCBzbyB0bworCSAqIGJlIHNhZmUsIGRvIGl0IG91cnNlbHZlcy4KKwkgKi8KKwlpbnQgcmV0ID0gZ2V0aG9zdG5hbWUoYnVmLCBsZW4pOworCWlmICghcmV0KQorCQlidWZbbGVuIC0gMV0gPSAwOworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS93cy5jIGIvd3MuYwppbmRleCBlYTRiMmIxLi5hMDdjYWVkIDEwMDY0NAotLS0gYS93cy5jCisrKyBiL3dzLmMKQEAgLTcxLDI0ICs3MSwxNyBAQAogCXJldHVybiBydWxlOwogfQogCi1zdGF0aWMgdm9pZCBzZXR1cF93aGl0ZXNwYWNlX2F0dHJfY2hlY2soc3RydWN0IGdpdF9hdHRyX2NoZWNrICpjaGVjaykKLXsKLQlzdGF0aWMgc3RydWN0IGdpdF9hdHRyICphdHRyX3doaXRlc3BhY2U7Ci0KLQlpZiAoIWF0dHJfd2hpdGVzcGFjZSkKLQkJYXR0cl93aGl0ZXNwYWNlID0gZ2l0X2F0dHIoIndoaXRlc3BhY2UiKTsKLQljaGVja1swXS5hdHRyID0gYXR0cl93aGl0ZXNwYWNlOwotfQotCiB1bnNpZ25lZCB3aGl0ZXNwYWNlX3J1bGUoY29uc3QgY2hhciAqcGF0aG5hbWUpCiB7Ci0Jc3RydWN0IGdpdF9hdHRyX2NoZWNrIGF0dHJfd2hpdGVzcGFjZV9ydWxlOworCXN0YXRpYyBzdHJ1Y3QgYXR0cl9jaGVjayAqYXR0cl93aGl0ZXNwYWNlX3J1bGU7CiAKLQlzZXR1cF93aGl0ZXNwYWNlX2F0dHJfY2hlY2soJmF0dHJfd2hpdGVzcGFjZV9ydWxlKTsKLQlpZiAoIWdpdF9jaGVja19hdHRyKHBhdGhuYW1lLCAxLCAmYXR0cl93aGl0ZXNwYWNlX3J1bGUpKSB7CisJaWYgKCFhdHRyX3doaXRlc3BhY2VfcnVsZSkKKwkJYXR0cl93aGl0ZXNwYWNlX3J1bGUgPSBhdHRyX2NoZWNrX2luaXRsKCJ3aGl0ZXNwYWNlIiwgTlVMTCk7CisKKwlpZiAoIWdpdF9jaGVja19hdHRyKHBhdGhuYW1lLCBhdHRyX3doaXRlc3BhY2VfcnVsZSkpIHsKIAkJY29uc3QgY2hhciAqdmFsdWU7CiAKLQkJdmFsdWUgPSBhdHRyX3doaXRlc3BhY2VfcnVsZS52YWx1ZTsKKwkJdmFsdWUgPSBhdHRyX3doaXRlc3BhY2VfcnVsZS0+aXRlbXNbMF0udmFsdWU7CiAJCWlmIChBVFRSX1RSVUUodmFsdWUpKSB7CiAJCQkvKiB0cnVlICh3aGl0ZXNwYWNlKSAqLwogCQkJdW5zaWduZWQgYWxsX3J1bGUgPSB3c190YWJfd2lkdGgod2hpdGVzcGFjZV9ydWxlX2NmZyk7CmRpZmYgLS1naXQgYS93dC1zdGF0dXMuYyBiL3d0LXN0YXR1cy5jCmluZGV4IDRiYjQ2NzguLjI5YmM2NGMgMTAwNjQ0Ci0tLSBhL3d0LXN0YXR1cy5jCisrKyBiL3d0LXN0YXR1cy5jCkBAIC0xMjEsMTUgKzEyMSwxMyBAQAogCiB2b2lkIHd0X3N0YXR1c19wcmVwYXJlKHN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQogCW1lbXNldChzLCAwLCBzaXplb2YoKnMpKTsKIAltZW1jcHkocy0+Y29sb3JfcGFsZXR0ZSwgZGVmYXVsdF93dF9zdGF0dXNfY29sb3JzLAogCSAgICAgICBzaXplb2YoZGVmYXVsdF93dF9zdGF0dXNfY29sb3JzKSk7CiAJcy0+c2hvd191bnRyYWNrZWRfZmlsZXMgPSBTSE9XX05PUk1BTF9VTlRSQUNLRURfRklMRVM7CiAJcy0+dXNlX2NvbG9yID0gLTE7CiAJcy0+cmVsYXRpdmVfcGF0aHMgPSAxOwotCXMtPmJyYW5jaCA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgc2hhMSwgTlVMTCk7CisJcy0+YnJhbmNoID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCAwLCBOVUxMLCBOVUxMKTsKIAlzLT5yZWZlcmVuY2UgPSAiSEVBRCI7CiAJcy0+ZnAgPSBzdGRvdXQ7CiAJcy0+aW5kZXhfZmlsZSA9IGdldF9pbmRleF9maWxlKCk7CkBAIC0xMzcsNiArMTM1LDcgQEAKIAlzLT51bnRyYWNrZWQuc3RyZHVwX3N0cmluZ3MgPSAxOwogCXMtPmlnbm9yZWQuc3RyZHVwX3N0cmluZ3MgPSAxOwogCXMtPnNob3dfYnJhbmNoID0gLTE7ICAvKiB1bnNwZWNpZmllZCAqLworCXMtPnNob3dfc3Rhc2ggPSAwOwogCXMtPmRpc3BsYXlfY29tbWVudF9wcmVmaXggPSAwOwogfQogCkBAIC00MDcsNiArNDA2LDE2IEBACiAJc3RyYnVmX3JlbGVhc2UoJnR3b2J1Zik7CiB9CiAKK3N0YXRpYyBjaGFyIHNob3J0X3N1Ym1vZHVsZV9zdGF0dXMoc3RydWN0IHd0X3N0YXR1c19jaGFuZ2VfZGF0YSAqZCkgeworCWlmIChkLT5uZXdfc3VibW9kdWxlX2NvbW1pdHMpCisJCXJldHVybiAnTSc7CisJaWYgKGQtPmRpcnR5X3N1Ym1vZHVsZSAmIERJUlRZX1NVQk1PRFVMRV9NT0RJRklFRCkKKwkJcmV0dXJuICdtJzsKKwlpZiAoZC0+ZGlydHlfc3VibW9kdWxlICYgRElSVFlfU1VCTU9EVUxFX1VOVFJBQ0tFRCkKKwkJcmV0dXJuICc/JzsKKwlyZXR1cm4gZC0+d29ya3RyZWVfc3RhdHVzOworfQorCiBzdGF0aWMgdm9pZCB3dF9zdGF0dXNfY29sbGVjdF9jaGFuZ2VkX2NiKHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSwKIAkJCQkJIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCiAJCQkJCSB2b2lkICpkYXRhKQpAQCAtNDMxLDEwICs0NDAsMTMgQEAKIAkJfQogCQlpZiAoIWQtPndvcmt0cmVlX3N0YXR1cykKIAkJCWQtPndvcmt0cmVlX3N0YXR1cyA9IHAtPnN0YXR1czsKLQkJZC0+ZGlydHlfc3VibW9kdWxlID0gcC0+dHdvLT5kaXJ0eV9zdWJtb2R1bGU7Ci0JCWlmIChTX0lTR0lUTElOSyhwLT50d28tPm1vZGUpKQorCQlpZiAoU19JU0dJVExJTksocC0+dHdvLT5tb2RlKSkgeworCQkJZC0+ZGlydHlfc3VibW9kdWxlID0gcC0+dHdvLT5kaXJ0eV9zdWJtb2R1bGU7CiAJCQlkLT5uZXdfc3VibW9kdWxlX2NvbW1pdHMgPSAhIW9pZGNtcCgmcC0+b25lLT5vaWQsCiAJCQkJCQkJICAgICZwLT50d28tPm9pZCk7CisJCQlpZiAocy0+c3RhdHVzX2Zvcm1hdCA9PSBTVEFUVVNfRk9STUFUX1NIT1JUKQorCQkJCWQtPndvcmt0cmVlX3N0YXR1cyA9IHNob3J0X3N1Ym1vZHVsZV9zdGF0dXMoZCk7CisJCX0KIAogCQlzd2l0Y2ggKHAtPnN0YXR1cykgewogCQljYXNlIERJRkZfU1RBVFVTX0FEREVEOgpAQCAtNjUyLDcgKzY2NCw3IEBACiAJCWRpci51bnRyYWNrZWQgPSB0aGVfaW5kZXgudW50cmFja2VkOwogCXNldHVwX3N0YW5kYXJkX2V4Y2x1ZGVzKCZkaXIpOwogCi0JZmlsbF9kaXJlY3RvcnkoJmRpciwgJnMtPnBhdGhzcGVjKTsKKwlmaWxsX2RpcmVjdG9yeSgmZGlyLCAmdGhlX2luZGV4LCAmcy0+cGF0aHNwZWMpOwogCiAJZm9yIChpID0gMDsgaSA8IGRpci5ucjsgaSsrKSB7CiAJCXN0cnVjdCBkaXJfZW50cnkgKmVudCA9IGRpci5lbnRyaWVzW2ldOwpAQCAtNzg4LDYgKzgwMCwyNyBAQAogCXd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKIH0KIAorc3RhdGljIGludCBzdGFzaF9jb3VudF9yZWZzKHN0cnVjdCBvYmplY3RfaWQgKm9vaWQsIHN0cnVjdCBvYmplY3RfaWQgKm5vaWQsCisJCQkgICAgY29uc3QgY2hhciAqZW1haWwsIHRpbWVzdGFtcF90IHRpbWVzdGFtcCwgaW50IHR6LAorCQkJICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsIHZvaWQgKmNiX2RhdGEpCit7CisJaW50ICpjID0gY2JfZGF0YTsKKwkoKmMpKys7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfc3Rhc2hfc3VtbWFyeShzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQoreworCWludCBzdGFzaF9jb3VudCA9IDA7CisKKwlmb3JfZWFjaF9yZWZsb2dfZW50KCJyZWZzL3N0YXNoIiwgc3Rhc2hfY291bnRfcmVmcywgJnN0YXNoX2NvdW50KTsKKwlpZiAoc3Rhc2hfY291bnQgPiAwKQorCQlzdGF0dXNfcHJpbnRmX2xuKHMsIEdJVF9DT0xPUl9OT1JNQUwsCisJCQkJIFFfKCJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cnkiLAorCQkJCSAgICAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJpZXMiLCBzdGFzaF9jb3VudCksCisJCQkJIHN0YXNoX2NvdW50KTsKK30KKwogc3RhdGljIHZvaWQgd3RfbG9uZ3N0YXR1c19wcmludF9zdWJtb2R1bGVfc3VtbWFyeShzdHJ1Y3Qgd3Rfc3RhdHVzICpzLCBpbnQgdW5jb21taXR0ZWQpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3Mgc21fc3VtbWFyeSA9IENISUxEX1BST0NFU1NfSU5JVDsKQEAgLTg4MywyMiArOTE2LDIzIEBACiAJc3RhdHVzX3ByaW50Zl9sbihzLCBHSVRfQ09MT1JfTk9STUFMLCAiJXMiLCAiIik7CiB9CiAKLXZvaWQgd3Rfc3RhdHVzX3RydW5jYXRlX21lc3NhZ2VfYXRfY3V0X2xpbmUoc3RydWN0IHN0cmJ1ZiAqYnVmKQorc2l6ZV90IHd0X3N0YXR1c19sb2NhdGVfZW5kKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4pCiB7CiAJY29uc3QgY2hhciAqcDsKIAlzdHJ1Y3Qgc3RyYnVmIHBhdHRlcm4gPSBTVFJCVUZfSU5JVDsKIAogCXN0cmJ1Zl9hZGRmKCZwYXR0ZXJuLCAiXG4lYyAlcyIsIGNvbW1lbnRfbGluZV9jaGFyLCBjdXRfbGluZSk7Ci0JaWYgKHN0YXJ0c193aXRoKGJ1Zi0+YnVmLCBwYXR0ZXJuLmJ1ZiArIDEpKQotCQlzdHJidWZfc2V0bGVuKGJ1ZiwgMCk7Ci0JZWxzZSBpZiAoKHAgPSBzdHJzdHIoYnVmLT5idWYsIHBhdHRlcm4uYnVmKSkpCi0JCXN0cmJ1Zl9zZXRsZW4oYnVmLCBwIC0gYnVmLT5idWYgKyAxKTsKKwlpZiAoc3RhcnRzX3dpdGgocywgcGF0dGVybi5idWYgKyAxKSkKKwkJbGVuID0gMDsKKwllbHNlIGlmICgocCA9IHN0cnN0cihzLCBwYXR0ZXJuLmJ1ZikpKQorCQlsZW4gPSBwIC0gcyArIDE7CiAJc3RyYnVmX3JlbGVhc2UoJnBhdHRlcm4pOworCXJldHVybiBsZW47CiB9CiAKIHZvaWQgd3Rfc3RhdHVzX2FkZF9jdXRfbGluZShGSUxFICpmcCkKIHsKLQljb25zdCBjaGFyICpleHBsYW5hdGlvbiA9IF8oIkRvIG5vdCB0b3VjaCB0aGUgbGluZSBhYm92ZS5cbkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIpOworCWNvbnN0IGNoYXIgKmV4cGxhbmF0aW9uID0gXygiRG8gbm90IG1vZGlmeSBvciByZW1vdmUgdGhlIGxpbmUgYWJvdmUuXG5FdmVyeXRoaW5nIGJlbG93IGl0IHdpbGwgYmUgaWdub3JlZC4iKTsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJZnByaW50ZihmcCwgIiVjICVzIiwgY29tbWVudF9saW5lX2NoYXIsIGN1dF9saW5lKTsKQEAgLTk4OSw3ICsxMDIzLDggQEAKIAkJY29sb3JfZnByaW50Zl9sbihzLT5mcCwgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksICIlYyIsCiAJCQkJIGNvbW1lbnRfbGluZV9jaGFyKTsKIAllbHNlCi0JCWZwdXRzKCIiLCBzLT5mcCk7CisJCWZwdXRzKCJcbiIsIHMtPmZwKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOwogfQogCiBzdGF0aWMgaW50IGhhc191bm1lcmdlZChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQpAQCAtMTA1Miw3ICsxMDg3LDggQEAKIHN0YXRpYyBjaGFyICpyZWFkX2xpbmVfZnJvbV9naXRfcGF0aChjb25zdCBjaGFyICpmaWxlbmFtZSkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCUZJTEUgKmZwID0gZm9wZW4oZ2l0X3BhdGgoIiVzIiwgZmlsZW5hbWUpLCAiciIpOworCUZJTEUgKmZwID0gZm9wZW5fb3Jfd2FybihnaXRfcGF0aCgiJXMiLCBmaWxlbmFtZSksICJyIik7CisKIAlpZiAoIWZwKSB7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQlyZXR1cm4gTlVMTDsKQEAgLTEwNjksMjkgKzExMDUsMjkgQEAKIHN0YXRpYyBpbnQgc3BsaXRfY29tbWl0X2luX3Byb2dyZXNzKHN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7CiAJaW50IHNwbGl0X2luX3Byb2dyZXNzID0gMDsKLQljaGFyICpoZWFkID0gcmVhZF9saW5lX2Zyb21fZ2l0X3BhdGgoIkhFQUQiKTsKLQljaGFyICpvcmlnX2hlYWQgPSByZWFkX2xpbmVfZnJvbV9naXRfcGF0aCgiT1JJR19IRUFEIik7Ci0JY2hhciAqcmViYXNlX2FtZW5kID0gcmVhZF9saW5lX2Zyb21fZ2l0X3BhdGgoInJlYmFzZS1tZXJnZS9hbWVuZCIpOwotCWNoYXIgKnJlYmFzZV9vcmlnX2hlYWQgPSByZWFkX2xpbmVfZnJvbV9naXRfcGF0aCgicmViYXNlLW1lcmdlL29yaWctaGVhZCIpOworCWNoYXIgKmhlYWQsICpvcmlnX2hlYWQsICpyZWJhc2VfYW1lbmQsICpyZWJhc2Vfb3JpZ19oZWFkOwogCi0JaWYgKCFoZWFkIHx8ICFvcmlnX2hlYWQgfHwgIXJlYmFzZV9hbWVuZCB8fCAhcmViYXNlX29yaWdfaGVhZCB8fAorCWlmICgoIXMtPmFtZW5kICYmICFzLT5ub3dhcm4gJiYgIXMtPndvcmtkaXJfZGlydHkpIHx8CiAJICAgICFzLT5icmFuY2ggfHwgc3RyY21wKHMtPmJyYW5jaCwgIkhFQUQiKSkKLQkJcmV0dXJuIHNwbGl0X2luX3Byb2dyZXNzOworCQlyZXR1cm4gMDsKIAotCWlmICghc3RyY21wKHJlYmFzZV9hbWVuZCwgcmViYXNlX29yaWdfaGVhZCkpIHsKLQkJaWYgKHN0cmNtcChoZWFkLCByZWJhc2VfYW1lbmQpKQotCQkJc3BsaXRfaW5fcHJvZ3Jlc3MgPSAxOwotCX0gZWxzZSBpZiAoc3RyY21wKG9yaWdfaGVhZCwgcmViYXNlX29yaWdfaGVhZCkpIHsKKwloZWFkID0gcmVhZF9saW5lX2Zyb21fZ2l0X3BhdGgoIkhFQUQiKTsKKwlvcmlnX2hlYWQgPSByZWFkX2xpbmVfZnJvbV9naXRfcGF0aCgiT1JJR19IRUFEIik7CisJcmViYXNlX2FtZW5kID0gcmVhZF9saW5lX2Zyb21fZ2l0X3BhdGgoInJlYmFzZS1tZXJnZS9hbWVuZCIpOworCXJlYmFzZV9vcmlnX2hlYWQgPSByZWFkX2xpbmVfZnJvbV9naXRfcGF0aCgicmViYXNlLW1lcmdlL29yaWctaGVhZCIpOworCisJaWYgKCFoZWFkIHx8ICFvcmlnX2hlYWQgfHwgIXJlYmFzZV9hbWVuZCB8fCAhcmViYXNlX29yaWdfaGVhZCkKKwkJOyAvKiBmYWxsIHRocm91Z2gsIG5vIHNwbGl0IGluIHByb2dyZXNzICovCisJZWxzZSBpZiAoIXN0cmNtcChyZWJhc2VfYW1lbmQsIHJlYmFzZV9vcmlnX2hlYWQpKQorCQlzcGxpdF9pbl9wcm9ncmVzcyA9ICEhc3RyY21wKGhlYWQsIHJlYmFzZV9hbWVuZCk7CisJZWxzZSBpZiAoc3RyY21wKG9yaWdfaGVhZCwgcmViYXNlX29yaWdfaGVhZCkpCiAJCXNwbGl0X2luX3Byb2dyZXNzID0gMTsKLQl9Ci0KLQlpZiAoIXMtPmFtZW5kICYmICFzLT5ub3dhcm4gJiYgIXMtPndvcmtkaXJfZGlydHkpCi0JCXNwbGl0X2luX3Byb2dyZXNzID0gMDsKIAogCWZyZWUoaGVhZCk7CiAJZnJlZShvcmlnX2hlYWQpOwogCWZyZWUocmViYXNlX2FtZW5kKTsKIAlmcmVlKHJlYmFzZV9vcmlnX2hlYWQpOworCiAJcmV0dXJuIHNwbGl0X2luX3Byb2dyZXNzOwogfQogCkBAIC0xMTE1LDE2ICsxMTUxLDE2IEBACiAKIAlzcGxpdCA9IHN0cmJ1Zl9zcGxpdF9tYXgobGluZSwgJyAnLCAzKTsKIAlpZiAoc3BsaXRbMF0gJiYgc3BsaXRbMV0pIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKIAkJLyoKIAkJICogc3RyYnVmX3NwbGl0X21heCBsZWZ0IGEgc3BhY2UuIFRyaW0gaXQgYW5kIHJlLWFkZAogCQkgKiBpdCBhZnRlciBhYmJyZXZpYXRpb24uCiAJCSAqLwogCQlzdHJidWZfdHJpbShzcGxpdFsxXSk7Ci0JCWlmICghZ2V0X3NoYTEoc3BsaXRbMV0tPmJ1Ziwgc2hhMSkpIHsKKwkJaWYgKCFnZXRfb2lkKHNwbGl0WzFdLT5idWYsICZvaWQpKSB7CiAJCQlzdHJidWZfcmVzZXQoc3BsaXRbMV0pOwotCQkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KHNwbGl0WzFdLCBzaGExLAorCQkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KHNwbGl0WzFdLCBvaWQuaGFzaCwKIAkJCQkJCSBERUZBVUxUX0FCQlJFVik7CiAJCQlzdHJidWZfYWRkY2goc3BsaXRbMV0sICcgJyk7CiAJCQlzdHJidWZfcmVzZXQobGluZSk7CkBAIC0xMTU1LDYgKzExOTEsOCBAQAogCQlhYmJyZXZfc2hhMV9pbl9saW5lKCZsaW5lKTsKIAkJc3RyaW5nX2xpc3RfYXBwZW5kKGxpbmVzLCBsaW5lLmJ1Zik7CiAJfQorCWZjbG9zZShmKTsKKwlzdHJidWZfcmVsZWFzZSgmbGluZSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEzNDAsNyArMTM3OCw3IEBACiBzdGF0aWMgY2hhciAqZ2V0X2JyYW5jaChjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0LCBjb25zdCBjaGFyICpwYXRoKQogewogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNvbnN0IGNoYXIgKmJyYW5jaF9uYW1lOwogCiAJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJnNiLCB3b3JrdHJlZV9naXRfcGF0aCh3dCwgIiVzIiwgcGF0aCksIDApIDw9IDApCkBAIC0xMzU0LDkgKzEzOTIsOSBAQAogCQlzdHJidWZfcmVtb3ZlKCZzYiwgMCwgYnJhbmNoX25hbWUgLSBzYi5idWYpOwogCWVsc2UgaWYgKHN0YXJ0c193aXRoKHNiLmJ1ZiwgInJlZnMvIikpCiAJCTsKLQllbHNlIGlmICghZ2V0X3NoYTFfaGV4KHNiLmJ1Ziwgc2hhMSkpIHsKKwllbHNlIGlmICghZ2V0X29pZF9oZXgoc2IuYnVmLCAmb2lkKSkgewogCQlzdHJidWZfcmVzZXQoJnNiKTsKLQkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KCZzYiwgc2hhMSwgREVGQVVMVF9BQkJSRVYpOworCQlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoJnNiLCBvaWQuaGFzaCwgREVGQVVMVF9BQkJSRVYpOwogCX0gZWxzZSBpZiAoIXN0cmNtcChzYi5idWYsICJkZXRhY2hlZCBIRUFEIikpIC8qIHJlYmFzZSAqLwogCQlnb3RvIGdvdF9ub3RoaW5nOwogCWVsc2UJCQkvKiBiaXNlY3QgKi8KQEAgLTEzNzAsMTEgKzE0MDgsMTEgQEAKIAogc3RydWN0IGdyYWJfMXN0X3N3aXRjaF9jYmRhdGEgewogCXN0cnVjdCBzdHJidWYgYnVmOwotCXVuc2lnbmVkIGNoYXIgbnNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgbm9pZDsKIH07CiAKLXN0YXRpYyBpbnQgZ3JhYl8xc3Rfc3dpdGNoKHVuc2lnbmVkIGNoYXIgKm9zaGExLCB1bnNpZ25lZCBjaGFyICpuc2hhMSwKLQkJCSAgIGNvbnN0IGNoYXIgKmVtYWlsLCB1bnNpZ25lZCBsb25nIHRpbWVzdGFtcCwgaW50IHR6LAorc3RhdGljIGludCBncmFiXzFzdF9zd2l0Y2goc3RydWN0IG9iamVjdF9pZCAqb29pZCwgc3RydWN0IG9iamVjdF9pZCAqbm9pZCwKKwkJCSAgIGNvbnN0IGNoYXIgKmVtYWlsLCB0aW1lc3RhbXBfdCB0aW1lc3RhbXAsIGludCB0eiwKIAkJCSAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsIHZvaWQgKmNiX2RhdGEpCiB7CiAJc3RydWN0IGdyYWJfMXN0X3N3aXRjaF9jYmRhdGEgKmNiID0gY2JfZGF0YTsKQEAgLTEzODcsMTMgKzE0MjUsMTMgQEAKIAkJcmV0dXJuIDA7CiAJdGFyZ2V0ICs9IHN0cmxlbigiIHRvICIpOwogCXN0cmJ1Zl9yZXNldCgmY2ItPmJ1Zik7Ci0JaGFzaGNweShjYi0+bnNoYTEsIG5zaGExKTsKKwlvaWRjcHkoJmNiLT5ub2lkLCBub2lkKTsKIAllbmQgPSBzdHJjaHJudWwodGFyZ2V0LCAnXG4nKTsKIAlzdHJidWZfYWRkKCZjYi0+YnVmLCB0YXJnZXQsIGVuZCAtIHRhcmdldCk7CiAJaWYgKCFzdHJjbXAoY2ItPmJ1Zi5idWYsICJIRUFEIikpIHsKIAkJLyogSEVBRCBpcyByZWxhdGl2ZS4gUmVzb2x2ZSBpdCB0byB0aGUgcmlnaHQgcmVmbG9nIGVudHJ5LiAqLwogCQlzdHJidWZfcmVzZXQoJmNiLT5idWYpOwotCQlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoJmNiLT5idWYsIG5zaGExLCBERUZBVUxUX0FCQlJFVik7CisJCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldigmY2ItPmJ1Ziwgbm9pZC0+aGFzaCwgREVGQVVMVF9BQkJSRVYpOwogCX0KIAlyZXR1cm4gMTsKIH0KQEAgLTE0MDIsNyArMTQ0MCw3IEBACiB7CiAJc3RydWN0IGdyYWJfMXN0X3N3aXRjaF9jYmRhdGEgY2I7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJY2hhciAqcmVmID0gTlVMTDsKIAogCXN0cmJ1Zl9pbml0KCZjYi5idWYsIDApOwpAQCAtMTQxMSwyMiArMTQ0OSwyMiBAQAogCQlyZXR1cm47CiAJfQogCi0JaWYgKGR3aW1fcmVmKGNiLmJ1Zi5idWYsIGNiLmJ1Zi5sZW4sIHNoYTEsICZyZWYpID09IDEgJiYKKwlpZiAoZHdpbV9yZWYoY2IuYnVmLmJ1ZiwgY2IuYnVmLmxlbiwgb2lkLmhhc2gsICZyZWYpID09IDEgJiYKIAkgICAgLyogc2hhMSBpcyBhIGNvbW1pdD8gbWF0Y2ggd2l0aG91dCBmdXJ0aGVyIGxvb2t1cCAqLwotCSAgICAoIWhhc2hjbXAoY2IubnNoYTEsIHNoYTEpIHx8CisJICAgICghb2lkY21wKCZjYi5ub2lkLCAmb2lkKSB8fAogCSAgICAgLyogcGVyaGFwcyBzaGExIGlzIGEgdGFnLCB0cnkgdG8gZGVyZWZlcmVuY2UgdG8gYSBjb21taXQgKi8KLQkgICAgICgoY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHNoYTEsIDEpKSAhPSBOVUxMICYmCi0JICAgICAgIWhhc2hjbXAoY2IubnNoYTEsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKSkpKSB7CisJICAgICAoKGNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSgmb2lkLCAxKSkgIT0gTlVMTCAmJgorCSAgICAgICFvaWRjbXAoJmNiLm5vaWQsICZjb21taXQtPm9iamVjdC5vaWQpKSkpIHsKIAkJY29uc3QgY2hhciAqZnJvbSA9IHJlZjsKIAkJaWYgKCFza2lwX3ByZWZpeChmcm9tLCAicmVmcy90YWdzLyIsICZmcm9tKSkKIAkJCXNraXBfcHJlZml4KGZyb20sICJyZWZzL3JlbW90ZXMvIiwgJmZyb20pOwogCQlzdGF0ZS0+ZGV0YWNoZWRfZnJvbSA9IHhzdHJkdXAoZnJvbSk7CiAJfSBlbHNlCiAJCXN0YXRlLT5kZXRhY2hlZF9mcm9tID0KLQkJCXhzdHJkdXAoZmluZF91bmlxdWVfYWJicmV2KGNiLm5zaGExLCBERUZBVUxUX0FCQlJFVikpOwotCWhhc2hjcHkoc3RhdGUtPmRldGFjaGVkX3NoYTEsIGNiLm5zaGExKTsKLQlzdGF0ZS0+ZGV0YWNoZWRfYXQgPSAhZ2V0X3NoYTEoIkhFQUQiLCBzaGExKSAmJgotCQkJICAgICAhaGFzaGNtcChzaGExLCBzdGF0ZS0+ZGV0YWNoZWRfc2hhMSk7CisJCQl4c3RyZHVwKGZpbmRfdW5pcXVlX2FiYnJldihjYi5ub2lkLmhhc2gsIERFRkFVTFRfQUJCUkVWKSk7CisJaGFzaGNweShzdGF0ZS0+ZGV0YWNoZWRfc2hhMSwgY2Iubm9pZC5oYXNoKTsKKwlzdGF0ZS0+ZGV0YWNoZWRfYXQgPSAhZ2V0X29pZCgiSEVBRCIsICZvaWQpICYmCisJCQkgICAgICFoYXNoY21wKG9pZC5oYXNoLCBzdGF0ZS0+ZGV0YWNoZWRfc2hhMSk7CiAKIAlmcmVlKHJlZik7CiAJc3RyYnVmX3JlbGVhc2UoJmNiLmJ1Zik7CkBAIC0xNDc2LDIyICsxNTE0LDIyIEBACiAJCQkgaW50IGdldF9kZXRhY2hlZF9mcm9tKQogewogCXN0cnVjdCBzdGF0IHN0OwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKIAlpZiAoIXN0YXQoZ2l0X3BhdGhfbWVyZ2VfaGVhZCgpLCAmc3QpKSB7CiAJCXN0YXRlLT5tZXJnZV9pbl9wcm9ncmVzcyA9IDE7CiAJfSBlbHNlIGlmICh3dF9zdGF0dXNfY2hlY2tfcmViYXNlKE5VTEwsIHN0YXRlKSkgewogCQk7CQkvKiBhbGwgc2V0ICovCiAJfSBlbHNlIGlmICghc3RhdChnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKCksICZzdCkgJiYKLQkJCSFnZXRfc2hhMSgiQ0hFUlJZX1BJQ0tfSEVBRCIsIHNoYTEpKSB7CisJCQkhZ2V0X29pZCgiQ0hFUlJZX1BJQ0tfSEVBRCIsICZvaWQpKSB7CiAJCXN0YXRlLT5jaGVycnlfcGlja19pbl9wcm9ncmVzcyA9IDE7Ci0JCWhhc2hjcHkoc3RhdGUtPmNoZXJyeV9waWNrX2hlYWRfc2hhMSwgc2hhMSk7CisJCWhhc2hjcHkoc3RhdGUtPmNoZXJyeV9waWNrX2hlYWRfc2hhMSwgb2lkLmhhc2gpOwogCX0KIAl3dF9zdGF0dXNfY2hlY2tfYmlzZWN0KE5VTEwsIHN0YXRlKTsKIAlpZiAoIXN0YXQoZ2l0X3BhdGhfcmV2ZXJ0X2hlYWQoKSwgJnN0KSAmJgotCSAgICAhZ2V0X3NoYTEoIlJFVkVSVF9IRUFEIiwgc2hhMSkpIHsKKwkgICAgIWdldF9vaWQoIlJFVkVSVF9IRUFEIiwgJm9pZCkpIHsKIAkJc3RhdGUtPnJldmVydF9pbl9wcm9ncmVzcyA9IDE7Ci0JCWhhc2hjcHkoc3RhdGUtPnJldmVydF9oZWFkX3NoYTEsIHNoYTEpOworCQloYXNoY3B5KHN0YXRlLT5yZXZlcnRfaGVhZF9zaGExLCBvaWQuaGFzaCk7CiAJfQogCiAJaWYgKGdldF9kZXRhY2hlZF9mcm9tKQpAQCAtMTU2Myw3ICsxNjAxLDEwIEBACiAKIAlpZiAocy0+aXNfaW5pdGlhbCkgewogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yKFdUX1NUQVRVU19IRUFERVIsIHMpLCAiJXMiLCAiIik7Ci0JCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksIF8oIkluaXRpYWwgY29tbWl0IikpOworCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yKFdUX1NUQVRVU19IRUFERVIsIHMpLAorCQkJCSBzLT5jb21taXRfdGVtcGxhdGUKKwkJCQkgPyBfKCJJbml0aWFsIGNvbW1pdCIpCisJCQkJIDogXygiTm8gY29tbWl0cyB5ZXQiKSk7CiAJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksICIlcyIsICIiKTsKIAl9CiAKQEAgLTE2MjYsNiArMTY2Nyw4IEBACiAJCX0gZWxzZQogCQkJcHJpbnRmKF8oIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIpKTsKIAl9CisJaWYocy0+c2hvd19zdGFzaCkKKwkJd3RfbG9uZ3N0YXR1c19wcmludF9zdGFzaF9zdW1tYXJ5KHMpOwogfQogCiBzdGF0aWMgdm9pZCB3dF9zaG9ydHN0YXR1c191bm1lcmdlZChzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQsCkBAIC0xNzIwLDYgKzE3NjMsNyBAQAogCWNvbnN0IGNoYXIgKmJyYW5jaF9jb2xvcl9yZW1vdGUgPSBjb2xvcihXVF9TVEFUVVNfUkVNT1RFX0JSQU5DSCwgcyk7CiAKIAljb25zdCBjaGFyICpiYXNlOworCWNoYXIgKnNob3J0X2Jhc2U7CiAJY29uc3QgY2hhciAqYnJhbmNoX25hbWU7CiAJaW50IG51bV9vdXJzLCBudW1fdGhlaXJzOwogCWludCB1cHN0cmVhbV9pc19nb25lID0gMDsKQEAgLTE3MzMsNyArMTc3Nyw3IEBACiAjZGVmaW5lIExBQkVMKHN0cmluZykgKHMtPm5vX2dldHRleHQgPyAoc3RyaW5nKSA6IF8oc3RyaW5nKSkKIAogCWlmIChzLT5pc19pbml0aWFsKQotCQljb2xvcl9mcHJpbnRmKHMtPmZwLCBoZWFkZXJfY29sb3IsIExBQkVMKE5fKCJJbml0aWFsIGNvbW1pdCBvbiAiKSkpOworCQljb2xvcl9mcHJpbnRmKHMtPmZwLCBoZWFkZXJfY29sb3IsIExBQkVMKE5fKCJObyBjb21taXRzIHlldCBvbiAiKSkpOwogCiAJaWYgKCFzdHJjbXAocy0+YnJhbmNoLCAiSEVBRCIpKSB7CiAJCWNvbG9yX2ZwcmludGYocy0+ZnAsIGNvbG9yKFdUX1NUQVRVU19OT0JSQU5DSCwgcyksICIlcyIsCkBAIC0xNzU0LDEwICsxNzk4LDEwIEBACiAJCXVwc3RyZWFtX2lzX2dvbmUgPSAxOwogCX0KIAotCWJhc2UgPSBzaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihiYXNlLCAwKTsKKwlzaG9ydF9iYXNlID0gc2hvcnRlbl91bmFtYmlndW91c19yZWYoYmFzZSwgMCk7CiAJY29sb3JfZnByaW50ZihzLT5mcCwgaGVhZGVyX2NvbG9yLCAiLi4uIik7Ci0JY29sb3JfZnByaW50ZihzLT5mcCwgYnJhbmNoX2NvbG9yX3JlbW90ZSwgIiVzIiwgYmFzZSk7Ci0JZnJlZSgoY2hhciAqKWJhc2UpOworCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9yZW1vdGUsICIlcyIsIHNob3J0X2Jhc2UpOworCWZyZWUoc2hvcnRfYmFzZSk7CiAKIAlpZiAoIXVwc3RyZWFtX2lzX2dvbmUgJiYgIW51bV9vdXJzICYmICFudW1fdGhlaXJzKQogCQlnb3RvIGNvbmNsdWRlOwpkaWZmIC0tZ2l0IGEvd3Qtc3RhdHVzLmggYi93dC1zdGF0dXMuaAppbmRleCA1NGZlYzc3Li42NGY0ZDMzIDEwMDY0NAotLS0gYS93dC1zdGF0dXMuaAorKysgYi93dC1zdGF0dXMuaApAQCAtNzYsMTEgKzc2LDEzIEBACiAJY2hhciBjb2xvcl9wYWxldHRlW1dUX1NUQVRVU19NQVhTTE9UXVtDT0xPUl9NQVhMRU5dOwogCXVuc2lnbmVkIGNvbG9wdHM7CiAJaW50IG51bGxfdGVybWluYXRpb247CisJaW50IGNvbW1pdF90ZW1wbGF0ZTsKIAlpbnQgc2hvd19icmFuY2g7CisJaW50IHNob3dfc3Rhc2g7CiAJaW50IGhpbnRzOwogCiAJZW51bSB3dF9zdGF0dXNfZm9ybWF0IHN0YXR1c19mb3JtYXQ7Ci0JdW5zaWduZWQgY2hhciBzaGExX2NvbW1pdFtHSVRfU0hBMV9SQVdTWl07IC8qIHdoZW4gbm90IEluaXRpYWwgKi8KKwl1bnNpZ25lZCBjaGFyIHNoYTFfY29tbWl0W0dJVF9NQVhfUkFXU1pdOyAvKiB3aGVuIG5vdCBJbml0aWFsICovCiAKIAkvKiBUaGVzZSBhcmUgY29tcHV0ZWQgZHVyaW5nIHByb2Nlc3Npbmcgb2YgdGhlIGluZGl2aWR1YWwgc2VjdGlvbnMgKi8KIAlpbnQgY29tbWl0YWJsZTsKQEAgLTExMiw3ICsxMTQsNyBAQAogCXVuc2lnbmVkIGNoYXIgY2hlcnJ5X3BpY2tfaGVhZF9zaGExWzIwXTsKIH07CiAKLXZvaWQgd3Rfc3RhdHVzX3RydW5jYXRlX21lc3NhZ2VfYXRfY3V0X2xpbmUoc3RydWN0IHN0cmJ1ZiAqKTsKK3NpemVfdCB3dF9zdGF0dXNfbG9jYXRlX2VuZChjb25zdCBjaGFyICpzLCBzaXplX3QgbGVuKTsKIHZvaWQgd3Rfc3RhdHVzX2FkZF9jdXRfbGluZShGSUxFICpmcCk7CiB2b2lkIHd0X3N0YXR1c19wcmVwYXJlKHN0cnVjdCB3dF9zdGF0dXMgKnMpOwogdm9pZCB3dF9zdGF0dXNfcHJpbnQoc3RydWN0IHd0X3N0YXR1cyAqcyk7CmRpZmYgLS1naXQgYS94ZGlmZi1pbnRlcmZhY2UuYyBiL3hkaWZmLWludGVyZmFjZS5jCmluZGV4IDA2MDAzOGMuLjAxOGUwMzMgMTAwNjQ0Ci0tLSBhL3hkaWZmLWludGVyZmFjZS5jCisrKyBiL3hkaWZmLWludGVyZmFjZS5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAieGRpZmYtaW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAieGRpZmYveHR5cGVzLmgiCiAjaW5jbHVkZSAieGRpZmYveGRpZmZpLmgiCkBAIC0xNjQsOSArMTY1LDkgQEAKIAlzaXplX3Qgc3o7CiAKIAlpZiAoc3RhdChmaWxlbmFtZSwgJnN0KSkKLQkJcmV0dXJuIGVycm9yKCJDb3VsZCBub3Qgc3RhdCAlcyIsIGZpbGVuYW1lKTsKKwkJcmV0dXJuIGVycm9yX2Vycm5vKCJDb3VsZCBub3Qgc3RhdCAlcyIsIGZpbGVuYW1lKTsKIAlpZiAoKGYgPSBmb3BlbihmaWxlbmFtZSwgInJiIikpID09IE5VTEwpCi0JCXJldHVybiBlcnJvcigiQ291bGQgbm90IG9wZW4gJXMiLCBmaWxlbmFtZSk7CisJCXJldHVybiBlcnJvcl9lcnJubygiQ291bGQgbm90IG9wZW4gJXMiLCBmaWxlbmFtZSk7CiAJc3ogPSB4c2l6ZV90KHN0LnN0X3NpemUpOwogCXB0ci0+cHRyID0geG1hbGxvYyhzeiA/IHN6IDogMSk7CiAJaWYgKHN6ICYmIGZyZWFkKHB0ci0+cHRyLCBzeiwgMSwgZikgIT0gMSkgewpkaWZmIC0tZ2l0IGEveGRpZmYveGVtaXQuYyBiL3hkaWZmL3hlbWl0LmMKaW5kZXggNzM4OWNlNC4uOGM4OGRiZCAxMDA2NDQKLS0tIGEveGRpZmYveGVtaXQuYworKysgYi94ZGlmZi94ZW1pdC5jCkBAIC0xODMsMTYgKzE4MywxNCBAQAogCiAJCQkJLyoKIAkJCQkgKiBXZSBkb24ndCBuZWVkIGFkZGl0aW9uYWwgY29udGV4dCBpZgotCQkJCSAqIGEgd2hvbGUgZnVuY3Rpb24gd2FzIGFkZGVkLCBwb3NzaWJseQotCQkJCSAqIHN0YXJ0aW5nIHdpdGggZW1wdHkgbGluZXMuCisJCQkJICogYSB3aG9sZSBmdW5jdGlvbiB3YXMgYWRkZWQuCiAJCQkJICovCi0JCQkJd2hpbGUgKGkyIDwgeGUtPnhkZjIubnJlYyAmJgotCQkJCSAgICAgICBpc19lbXB0eV9yZWMoJnhlLT54ZGYyLCBpMikpCisJCQkJd2hpbGUgKGkyIDwgeGUtPnhkZjIubnJlYykgeworCQkJCQlpZiAobWF0Y2hfZnVuY19yZWMoJnhlLT54ZGYyLCB4ZWNmZywgaTIsCisJCQkJCQlkdW1teSwgc2l6ZW9mKGR1bW15KSkgPj0gMCkKKwkJCQkJCWdvdG8gcG9zdF9jb250ZXh0X2NhbGN1bGF0aW9uOwogCQkJCQlpMisrOwotCQkJCWlmIChpMiA8IHhlLT54ZGYyLm5yZWMgJiYKLQkJCQkgICAgbWF0Y2hfZnVuY19yZWMoJnhlLT54ZGYyLCB4ZWNmZywgaTIsCi0JCQkJCQkgICBkdW1teSwgc2l6ZW9mKGR1bW15KSkgPj0gMCkKLQkJCQkJZ290byBwb3N0X2NvbnRleHRfY2FsY3VsYXRpb247CisJCQkJfQogCiAJCQkJLyoKIAkJCQkgKiBPdGhlcndpc2UgZ2V0IG1vcmUgY29udGV4dCBmcm9tIHRoZQo=